summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2022-07-30 15:19:18 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2022-07-31 13:29:20 -0700
commitf52f6e99dbf1131886a80112b8c79dfc414afb7c (patch)
tree05cb7d64b2395922f2f24683da49f472075be12c
parent549ba1ed32372c67fc57271cde3797d58b7dec6e (diff)
downloadspack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.gz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.bz2
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.xz
spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.zip
black: reformat entire repository with black
-rw-r--r--bin/haspywin.py8
-rwxr-xr-xbin/spack10
-rw-r--r--lib/spack/docs/conf.py237
-rw-r--r--lib/spack/llnl/util/argparsewriter.py86
-rw-r--r--lib/spack/llnl/util/compat.py28
-rw-r--r--lib/spack/llnl/util/filesystem.py444
-rw-r--r--lib/spack/llnl/util/lang.py198
-rw-r--r--lib/spack/llnl/util/link_tree.py136
-rw-r--r--lib/spack/llnl/util/lock.py164
-rw-r--r--lib/spack/llnl/util/multiproc.py4
-rw-r--r--lib/spack/llnl/util/symlink.py16
-rw-r--r--lib/spack/llnl/util/tty/__init__.py126
-rw-r--r--lib/spack/llnl/util/tty/colify.py74
-rw-r--r--lib/spack/llnl/util/tty/color.py90
-rw-r--r--lib/spack/llnl/util/tty/log.py145
-rw-r--r--lib/spack/llnl/util/tty/pty.py54
-rw-r--r--lib/spack/spack/__init__.py6
-rw-r--r--lib/spack/spack/abi.py45
-rw-r--r--lib/spack/spack/audit.py204
-rw-r--r--lib/spack/spack/binary_distribution.py941
-rw-r--r--lib/spack/spack/bootstrap.py404
-rw-r--r--lib/spack/spack/build_environment.py575
-rw-r--r--lib/spack/spack/build_systems/aspell_dict.py29
-rw-r--r--lib/spack/spack/build_systems/autotools.py262
-rw-r--r--lib/spack/spack/build_systems/cached_cmake.py119
-rw-r--r--lib/spack/spack/build_systems/cmake.py158
-rw-r--r--lib/spack/spack/build_systems/cuda.py226
-rw-r--r--lib/spack/spack/build_systems/gnu.py10
-rw-r--r--lib/spack/spack/build_systems/intel.py837
-rw-r--r--lib/spack/spack/build_systems/lua.py50
-rw-r--r--lib/spack/spack/build_systems/makefile.py29
-rw-r--r--lib/spack/spack/build_systems/maven.py19
-rw-r--r--lib/spack/spack/build_systems/meson.py83
-rw-r--r--lib/spack/spack/build_systems/octave.py28
-rw-r--r--lib/spack/spack/build_systems/oneapi.py65
-rw-r--r--lib/spack/spack/build_systems/perl.py48
-rw-r--r--lib/spack/spack/build_systems/python.py135
-rw-r--r--lib/spack/spack/build_systems/qmake.py20
-rw-r--r--lib/spack/spack/build_systems/r.py44
-rw-r--r--lib/spack/spack/build_systems/racket.py40
-rw-r--r--lib/spack/spack/build_systems/rocm.py46
-rw-r--r--lib/spack/spack/build_systems/ruby.py24
-rw-r--r--lib/spack/spack/build_systems/scons.py15
-rw-r--r--lib/spack/spack/build_systems/sip.py93
-rw-r--r--lib/spack/spack/build_systems/sourceforge.py21
-rw-r--r--lib/spack/spack/build_systems/sourceware.py15
-rw-r--r--lib/spack/spack/build_systems/waf.py27
-rw-r--r--lib/spack/spack/build_systems/xorg.py19
-rw-r--r--lib/spack/spack/caches.py8
-rw-r--r--lib/spack/spack/ci.py1299
-rw-r--r--lib/spack/spack/ci_needs_workaround.py25
-rw-r--r--lib/spack/spack/ci_optimization.py148
-rw-r--r--lib/spack/spack/cmd/__init__.py177
-rw-r--r--lib/spack/spack/cmd/activate.py15
-rw-r--r--lib/spack/spack/cmd/add.py21
-rw-r--r--lib/spack/spack/cmd/arch.py52
-rw-r--r--lib/spack/spack/cmd/audit.py48
-rw-r--r--lib/spack/spack/cmd/blame.py116
-rw-r--r--lib/spack/spack/cmd/bootstrap.py333
-rw-r--r--lib/spack/spack/cmd/build_env.py7
-rw-r--r--lib/spack/spack/cmd/buildcache.py593
-rw-r--r--lib/spack/spack/cmd/cd.py7
-rw-r--r--lib/spack/spack/cmd/checksum.py57
-rw-r--r--lib/spack/spack/cmd/ci.py476
-rw-r--r--lib/spack/spack/cmd/clean.py88
-rw-r--r--lib/spack/spack/cmd/clone.py74
-rw-r--r--lib/spack/spack/cmd/commands.py145
-rw-r--r--lib/spack/spack/cmd/common/__init__.py9
-rw-r--r--lib/spack/spack/cmd/common/arguments.py275
-rw-r--r--lib/spack/spack/cmd/common/env_utility.py34
-rw-r--r--lib/spack/spack/cmd/compiler.py100
-rw-r--r--lib/spack/spack/cmd/compilers.py7
-rw-r--r--lib/spack/spack/cmd/concretize.py24
-rw-r--r--lib/spack/spack/cmd/config.py285
-rw-r--r--lib/spack/spack/cmd/containerize.py25
-rw-r--r--lib/spack/spack/cmd/create.py356
-rw-r--r--lib/spack/spack/cmd/deactivate.py46
-rw-r--r--lib/spack/spack/cmd/debug.py61
-rw-r--r--lib/spack/spack/cmd/dependencies.py39
-rw-r--r--lib/spack/spack/cmd/dependents.py31
-rw-r--r--lib/spack/spack/cmd/deprecate.py103
-rw-r--r--lib/spack/spack/cmd/dev_build.py98
-rw-r--r--lib/spack/spack/cmd/develop.py36
-rw-r--r--lib/spack/spack/cmd/diff.py60
-rw-r--r--lib/spack/spack/cmd/docs.py8
-rw-r--r--lib/spack/spack/cmd/edit.py75
-rw-r--r--lib/spack/spack/cmd/env.py425
-rw-r--r--lib/spack/spack/cmd/extensions.py43
-rw-r--r--lib/spack/spack/cmd/external.py141
-rw-r--r--lib/spack/spack/cmd/fetch.py7
-rw-r--r--lib/spack/spack/cmd/find.py199
-rw-r--r--lib/spack/spack/cmd/gc.py5
-rw-r--r--lib/spack/spack/cmd/gpg.py182
-rw-r--r--lib/spack/spack/cmd/graph.py26
-rw-r--r--lib/spack/spack/cmd/help.py27
-rw-r--r--lib/spack/spack/cmd/info.py218
-rw-r--r--lib/spack/spack/cmd/install.py338
-rw-r--r--lib/spack/spack/cmd/license.py133
-rw-r--r--lib/spack/spack/cmd/list.py200
-rw-r--r--lib/spack/spack/cmd/load.py78
-rw-r--r--lib/spack/spack/cmd/location.py78
-rw-r--r--lib/spack/spack/cmd/log_parse.py63
-rw-r--r--lib/spack/spack/cmd/maintainers.py41
-rw-r--r--lib/spack/spack/cmd/make_installer.py74
-rw-r--r--lib/spack/spack/cmd/mark.py52
-rw-r--r--lib/spack/spack/cmd/mirror.py250
-rw-r--r--lib/spack/spack/cmd/module.py2
-rw-r--r--lib/spack/spack/cmd/modules/__init__.py234
-rw-r--r--lib/spack/spack/cmd/modules/lmod.py30
-rw-r--r--lib/spack/spack/cmd/modules/tcl.py30
-rw-r--r--lib/spack/spack/cmd/patch.py7
-rw-r--r--lib/spack/spack/cmd/pkg.py97
-rw-r--r--lib/spack/spack/cmd/providers.py21
-rw-r--r--lib/spack/spack/cmd/pydoc.py2
-rw-r--r--lib/spack/spack/cmd/python.py77
-rw-r--r--lib/spack/spack/cmd/remove.py26
-rw-r--r--lib/spack/spack/cmd/repo.py85
-rw-r--r--lib/spack/spack/cmd/resource.py34
-rw-r--r--lib/spack/spack/cmd/restage.py2
-rw-r--r--lib/spack/spack/cmd/solve.py133
-rw-r--r--lib/spack/spack/cmd/spec.py77
-rw-r--r--lib/spack/spack/cmd/stage.py14
-rw-r--r--lib/spack/spack/cmd/tags.py24
-rw-r--r--lib/spack/spack/cmd/test.py243
-rw-r--r--lib/spack/spack/cmd/test_env.py7
-rw-r--r--lib/spack/spack/cmd/tutorial.py39
-rw-r--r--lib/spack/spack/cmd/undevelop.py13
-rw-r--r--lib/spack/spack/cmd/uninstall.py116
-rw-r--r--lib/spack/spack/cmd/unit_test.py111
-rw-r--r--lib/spack/spack/cmd/unload.py59
-rw-r--r--lib/spack/spack/cmd/url.py261
-rw-r--r--lib/spack/spack/cmd/verify.py48
-rw-r--r--lib/spack/spack/cmd/versions.py62
-rw-r--r--lib/spack/spack/cmd/view.py146
-rw-r--r--lib/spack/spack/compiler.py273
-rw-r--r--lib/spack/spack/compilers/__init__.py385
-rw-r--r--lib/spack/spack/compilers/aocc.py62
-rw-r--r--lib/spack/spack/compilers/apple_clang.py92
-rw-r--r--lib/spack/spack/compilers/arm.py31
-rw-r--r--lib/spack/spack/compilers/cce.py67
-rw-r--r--lib/spack/spack/compilers/clang.py108
-rw-r--r--lib/spack/spack/compilers/dpcpp.py13
-rw-r--r--lib/spack/spack/compilers/fj.py26
-rw-r--r--lib/spack/spack/compilers/gcc.py87
-rw-r--r--lib/spack/spack/compilers/intel.py80
-rw-r--r--lib/spack/spack/compilers/msvc.py75
-rw-r--r--lib/spack/spack/compilers/nag.py31
-rw-r--r--lib/spack/spack/compilers/nvhpc.py44
-rw-r--r--lib/spack/spack/compilers/oneapi.py49
-rw-r--r--lib/spack/spack/compilers/pgi.py52
-rw-r--r--lib/spack/spack/compilers/rocmcc.py33
-rw-r--r--lib/spack/spack/compilers/xl.py59
-rw-r--r--lib/spack/spack/compilers/xl_r.py18
-rw-r--r--lib/spack/spack/concretize.py375
-rw-r--r--lib/spack/spack/config.py281
-rw-r--r--lib/spack/spack/container/__init__.py52
-rw-r--r--lib/spack/spack/container/images.py29
-rw-r--r--lib/spack/spack/container/writers/__init__.py147
-rw-r--r--lib/spack/spack/container/writers/docker.py11
-rw-r--r--lib/spack/spack/container/writers/singularity.py15
-rw-r--r--lib/spack/spack/cray_manifest.py119
-rw-r--r--lib/spack/spack/database.py457
-rw-r--r--lib/spack/spack/dependency.py23
-rw-r--r--lib/spack/spack/detection/__init__.py12
-rw-r--r--lib/spack/spack/detection/common.py83
-rw-r--r--lib/spack/spack/detection/path.py102
-rw-r--r--lib/spack/spack/directives.py221
-rw-r--r--lib/spack/spack/directory_layout.py279
-rw-r--r--lib/spack/spack/environment/__init__.py52
-rw-r--r--lib/spack/spack/environment/environment.py685
-rw-r--r--lib/spack/spack/environment/shell.py106
-rw-r--r--lib/spack/spack/error.py21
-rw-r--r--lib/spack/spack/extensions.py40
-rw-r--r--lib/spack/spack/fetch_strategy.py674
-rw-r--r--lib/spack/spack/filesystem_view.py339
-rw-r--r--lib/spack/spack/gcs_handler.py6
-rw-r--r--lib/spack/spack/graph.py138
-rw-r--r--lib/spack/spack/hash_types.py19
-rw-r--r--lib/spack/spack/hooks/__init__.py34
-rw-r--r--lib/spack/spack/hooks/licensing.py56
-rw-r--r--lib/spack/spack/hooks/module_file_generation.py25
-rw-r--r--lib/spack/spack/hooks/sbang.py65
-rw-r--r--lib/spack/spack/install_test.py101
-rw-r--r--lib/spack/spack/installer.py723
-rw-r--r--lib/spack/spack/main.py442
-rw-r--r--lib/spack/spack/mirror.py166
-rw-r--r--lib/spack/spack/mixins.py54
-rw-r--r--lib/spack/spack/modules/__init__.py11
-rw-r--r--lib/spack/spack/modules/common.py295
-rw-r--r--lib/spack/spack/modules/lmod.py126
-rw-r--r--lib/spack/spack/modules/tcl.py36
-rw-r--r--lib/spack/spack/multimethod.py67
-rw-r--r--lib/spack/spack/operating_systems/__init__.py9
-rw-r--r--lib/spack/spack/operating_systems/_operating_system.py10
-rw-r--r--lib/spack/spack/operating_systems/cray_backend.py41
-rw-r--r--lib/spack/spack/operating_systems/cray_frontend.py37
-rw-r--r--lib/spack/spack/operating_systems/linux_distro.py47
-rw-r--r--lib/spack/spack/operating_systems/mac_os.py71
-rwxr-xr-xlib/spack/spack/operating_systems/windows_os.py51
-rw-r--r--lib/spack/spack/package_base.py824
-rw-r--r--lib/spack/spack/package_prefs.py130
-rw-r--r--lib/spack/spack/package_test.py22
-rw-r--r--lib/spack/spack/parse.py27
-rw-r--r--lib/spack/spack/patch.py147
-rw-r--r--lib/spack/spack/paths.py61
-rw-r--r--lib/spack/spack/platforms/__init__.py23
-rw-r--r--lib/spack/spack/platforms/_functions.py2
-rw-r--r--lib/spack/spack/platforms/_platform.py34
-rw-r--r--lib/spack/spack/platforms/cray.py96
-rw-r--r--lib/spack/spack/platforms/darwin.py16
-rw-r--r--lib/spack/spack/platforms/linux.py6
-rw-r--r--lib/spack/spack/platforms/test.py26
-rwxr-xr-xlib/spack/spack/platforms/windows.py10
-rw-r--r--lib/spack/spack/projections.py3
-rw-r--r--lib/spack/spack/provider_index.py40
-rw-r--r--lib/spack/spack/relocate.py341
-rw-r--r--lib/spack/spack/repo.py318
-rw-r--r--lib/spack/spack/report.py160
-rw-r--r--lib/spack/spack/reporter.py2
-rw-r--r--lib/spack/spack/reporters/cdash.py293
-rw-r--r--lib/spack/spack/reporters/junit.py6
-rw-r--r--lib/spack/spack/rewiring.py88
-rw-r--r--lib/spack/spack/s3_handler.py17
-rw-r--r--lib/spack/spack/schema/__init__.py19
-rw-r--r--lib/spack/spack/schema/bootstrap.py45
-rw-r--r--lib/spack/spack/schema/buildcache_spec.py44
-rw-r--r--lib/spack/spack/schema/cdash.py28
-rw-r--r--lib/spack/spack/schema/compilers.py129
-rw-r--r--lib/spack/spack/schema/concretizer.py46
-rw-r--r--lib/spack/spack/schema/config.py159
-rw-r--r--lib/spack/spack/schema/container.py137
-rw-r--r--lib/spack/spack/schema/cray_manifest.py58
-rw-r--r--lib/spack/spack/schema/database_index.py64
-rw-r--r--lib/spack/spack/schema/env.py254
-rw-r--r--lib/spack/spack/schema/environment.py29
-rw-r--r--lib/spack/spack/schema/gitlab_ci.py160
-rw-r--r--lib/spack/spack/schema/merged.py12
-rw-r--r--lib/spack/spack/schema/mirrors.py40
-rw-r--r--lib/spack/spack/schema/modules.py294
-rw-r--r--lib/spack/spack/schema/packages.py143
-rw-r--r--lib/spack/spack/schema/projections.py20
-rw-r--r--lib/spack/spack/schema/repos.py18
-rw-r--r--lib/spack/spack/schema/spec.py262
-rw-r--r--lib/spack/spack/schema/upstreams.py45
-rw-r--r--lib/spack/spack/solver/asp.py628
-rw-r--r--lib/spack/spack/spec.py1815
-rw-r--r--lib/spack/spack/spec_list.py58
-rw-r--r--lib/spack/spack/stage.py332
-rw-r--r--lib/spack/spack/store.py82
-rw-r--r--lib/spack/spack/subprocess_context.py17
-rw-r--r--lib/spack/spack/tag.py15
-rw-r--r--lib/spack/spack/target.py44
-rw-r--r--lib/spack/spack/tengine.py22
-rw-r--r--lib/spack/spack/test/abi.py86
-rw-r--r--lib/spack/spack/test/architecture.py195
-rw-r--r--lib/spack/spack/test/audit.py140
-rw-r--r--lib/spack/spack/test/bindist.py430
-rw-r--r--lib/spack/spack/test/bootstrap.py103
-rw-r--r--lib/spack/spack/test/build_distribution.py31
-rw-r--r--lib/spack/spack/test/build_environment.py479
-rw-r--r--lib/spack/spack/test/build_system_guess.py57
-rw-r--r--lib/spack/spack/test/build_systems.py318
-rw-r--r--lib/spack/spack/test/buildrequest.py19
-rw-r--r--lib/spack/spack/test/buildtask.py25
-rw-r--r--lib/spack/spack/test/cache_fetch.py24
-rw-r--r--lib/spack/spack/test/cc.py902
-rw-r--r--lib/spack/spack/test/ci.py328
-rw-r--r--lib/spack/spack/test/cmd/activate.py69
-rw-r--r--lib/spack/spack/test/cmd/arch.py36
-rw-r--r--lib/spack/spack/test/cmd/audit.py43
-rw-r--r--lib/spack/spack/test/cmd/blame.py47
-rw-r--r--lib/spack/spack/test/cmd/bootstrap.py169
-rw-r--r--lib/spack/spack/test/cmd/build_env.py54
-rw-r--r--lib/spack/spack/test/cmd/buildcache.py229
-rw-r--r--lib/spack/spack/test/cmd/cd.py2
-rw-r--r--lib/spack/spack/test/cmd/checksum.py56
-rw-r--r--lib/spack/spack/test/cmd/ci.py1678
-rw-r--r--lib/spack/spack/test/cmd/clean.py64
-rw-r--r--lib/spack/spack/test/cmd/commands.py200
-rw-r--r--lib/spack/spack/test/cmd/common/arguments.py76
-rw-r--r--lib/spack/spack/test/cmd/compiler.py256
-rw-r--r--lib/spack/spack/test/cmd/concretize.py49
-rw-r--r--lib/spack/spack/test/cmd/config.py466
-rw-r--r--lib/spack/spack/test/cmd/create.py207
-rw-r--r--lib/spack/spack/test/cmd/debug.py29
-rw-r--r--lib/spack/spack/test/cmd/dependencies.py72
-rw-r--r--lib/spack/spack/test/cmd/dependents.py81
-rw-r--r--lib/spack/spack/test/cmd/deprecate.py137
-rw-r--r--lib/spack/spack/test/cmd/dev_build.py255
-rw-r--r--lib/spack/spack/test/cmd/develop.py93
-rw-r--r--lib/spack/spack/test/cmd/diff.py78
-rw-r--r--lib/spack/spack/test/cmd/env.py2223
-rw-r--r--lib/spack/spack/test/cmd/extensions.py21
-rw-r--r--lib/spack/spack/test/cmd/external.py368
-rw-r--r--lib/spack/spack/test/cmd/fetch.py16
-rw-r--r--lib/spack/spack/test/cmd/find.py220
-rw-r--r--lib/spack/spack/test/cmd/gc.py31
-rw-r--r--lib/spack/spack/test/cmd/gpg.py167
-rw-r--r--lib/spack/spack/test/cmd/graph.py27
-rw-r--r--lib/spack/spack/test/cmd/help.py24
-rw-r--r--lib/spack/spack/test/cmd/info.py78
-rw-r--r--lib/spack/spack/test/cmd/install.py825
-rw-r--r--lib/spack/spack/test/cmd/is_git_repo.py7
-rw-r--r--lib/spack/spack/test/cmd/license.py70
-rw-r--r--lib/spack/spack/test/cmd/list.py69
-rw-r--r--lib/spack/spack/test/cmd/load.py146
-rw-r--r--lib/spack/spack/test/cmd/location.py82
-rw-r--r--lib/spack/spack/test/cmd/maintainers.py85
-rw-r--r--lib/spack/spack/test/cmd/mark.py39
-rw-r--r--lib/spack/spack/test/cmd/mirror.py276
-rw-r--r--lib/spack/spack/test/cmd/module.py126
-rw-r--r--lib/spack/spack/test/cmd/pkg.py208
-rw-r--r--lib/spack/spack/test/cmd/print_shell_vars.py8
-rw-r--r--lib/spack/spack/test/cmd/providers.py62
-rw-r--r--lib/spack/spack/test/cmd/python.py12
-rw-r--r--lib/spack/spack/test/cmd/reindex.py34
-rw-r--r--lib/spack/spack/test/cmd/repo.py20
-rw-r--r--lib/spack/spack/test/cmd/resource.py96
-rw-r--r--lib/spack/spack/test/cmd/spec.py116
-rw-r--r--lib/spack/spack/test/cmd/stage.py62
-rw-r--r--lib/spack/spack/test/cmd/tags.py36
-rw-r--r--lib/spack/spack/test/cmd/test.py256
-rw-r--r--lib/spack/spack/test/cmd/undevelop.py51
-rw-r--r--lib/spack/spack/test/cmd/uninstall.py76
-rw-r--r--lib/spack/spack/test/cmd/unit_test.py32
-rw-r--r--lib/spack/spack/test/cmd/url.py156
-rw-r--r--lib/spack/spack/test/cmd/verify.py57
-rw-r--r--lib/spack/spack/test/cmd/versions.py46
-rw-r--r--lib/spack/spack/test/cmd/view.py375
-rw-r--r--lib/spack/spack/test/cmd_extensions.py161
-rw-r--r--lib/spack/spack/test/compilers/basics.py720
-rw-r--r--lib/spack/spack/test/compilers/detection.py672
-rw-r--r--lib/spack/spack/test/concretize.py1681
-rw-r--r--lib/spack/spack/test/concretize_preferences.py324
-rw-r--r--lib/spack/spack/test/config.py1146
-rw-r--r--lib/spack/spack/test/config_values.py31
-rw-r--r--lib/spack/spack/test/conftest.py779
-rw-r--r--lib/spack/spack/test/container/cli.py21
-rw-r--r--lib/spack/spack/test/container/conftest.py23
-rw-r--r--lib/spack/spack/test/container/docker.py72
-rw-r--r--lib/spack/spack/test/container/images.py42
-rw-r--r--lib/spack/spack/test/container/singularity.py30
-rw-r--r--lib/spack/spack/test/cray_manifest.py242
-rw-r--r--lib/spack/spack/test/cvs_fetch.py26
-rw-r--r--lib/spack/spack/test/database.py523
-rw-r--r--lib/spack/spack/test/directives.py30
-rw-r--r--lib/spack/spack/test/directory_layout.py56
-rw-r--r--lib/spack/spack/test/env.py13
-rw-r--r--lib/spack/spack/test/environment_modifications.py498
-rw-r--r--lib/spack/spack/test/fetch_strategy.py3
-rw-r--r--lib/spack/spack/test/flag_handlers.py94
-rw-r--r--lib/spack/spack/test/gcs_fetch.py19
-rw-r--r--lib/spack/spack/test/git_fetch.py235
-rw-r--r--lib/spack/spack/test/graph.py73
-rw-r--r--lib/spack/spack/test/hg_fetch.py29
-rw-r--r--lib/spack/spack/test/install.py273
-rw-r--r--lib/spack/spack/test/installer.py542
-rw-r--r--lib/spack/spack/test/link_paths.py55
-rw-r--r--lib/spack/spack/test/llnl/util/argparsewriter.py10
-rw-r--r--lib/spack/spack/test/llnl/util/file_list.py265
-rw-r--r--lib/spack/spack/test/llnl/util/filesystem.py667
-rw-r--r--lib/spack/spack/test/llnl/util/lang.py128
-rw-r--r--lib/spack/spack/test/llnl/util/link_tree.py284
-rw-r--r--lib/spack/spack/test/llnl/util/lock.py457
-rw-r--r--lib/spack/spack/test/llnl/util/tty/log.py219
-rw-r--r--lib/spack/spack/test/llnl/util/tty/tty.py74
-rw-r--r--lib/spack/spack/test/main.py32
-rw-r--r--lib/spack/spack/test/make_executable.py112
-rw-r--r--lib/spack/spack/test/mirror.py196
-rw-r--r--lib/spack/spack/test/module_parsing.py109
-rw-r--r--lib/spack/spack/test/modules/common.py175
-rw-r--r--lib/spack/spack/test/modules/conftest.py24
-rw-r--r--lib/spack/spack/test/modules/lmod.py218
-rw-r--r--lib/spack/spack/test/modules/tcl.py314
-rw-r--r--lib/spack/spack/test/multimethod.py121
-rw-r--r--lib/spack/spack/test/namespace_trie.py94
-rw-r--r--lib/spack/spack/test/operating_system.py58
-rw-r--r--lib/spack/spack/test/optional_deps.py106
-rw-r--r--lib/spack/spack/test/package_class.py146
-rw-r--r--lib/spack/spack/test/package_sanity.py106
-rw-r--r--lib/spack/spack/test/packages.py274
-rw-r--r--lib/spack/spack/test/packaging.py631
-rw-r--r--lib/spack/spack/test/patch.py345
-rw-r--r--lib/spack/spack/test/pattern.py19
-rw-r--r--lib/spack/spack/test/permissions.py11
-rw-r--r--lib/spack/spack/test/provider_index.py28
-rw-r--r--lib/spack/spack/test/relocate.py291
-rw-r--r--lib/spack/spack/test/repo.py69
-rw-r--r--lib/spack/spack/test/rewiring.py78
-rw-r--r--lib/spack/spack/test/s3_fetch.py19
-rw-r--r--lib/spack/spack/test/sbang.py239
-rw-r--r--lib/spack/spack/test/schema.py113
-rw-r--r--lib/spack/spack/test/spack_yaml.py71
-rw-r--r--lib/spack/spack/test/spec_dag.py824
-rw-r--r--lib/spack/spack/test/spec_list.py222
-rw-r--r--lib/spack/spack/test/spec_semantics.py1009
-rw-r--r--lib/spack/spack/test/spec_syntax.py620
-rw-r--r--lib/spack/spack/test/spec_yaml.py249
-rw-r--r--lib/spack/spack/test/stage.py270
-rw-r--r--lib/spack/spack/test/svn_fetch.py32
-rw-r--r--lib/spack/spack/test/tag.py42
-rw-r--r--lib/spack/spack/test/tengine.py34
-rw-r--r--lib/spack/spack/test/test_activations.py289
-rw-r--r--lib/spack/spack/test/test_suite.py81
-rw-r--r--lib/spack/spack/test/url_fetch.py225
-rw-r--r--lib/spack/spack/test/url_parse.py1260
-rw-r--r--lib/spack/spack/test/url_substitution.py89
-rw-r--r--lib/spack/spack/test/util/compression.py48
-rw-r--r--lib/spack/spack/test/util/editor.py109
-rw-r--r--lib/spack/spack/test/util/environment.py162
-rw-r--r--lib/spack/spack/test/util/executable.py48
-rw-r--r--lib/spack/spack/test/util/file_cache.py35
-rw-r--r--lib/spack/spack/test/util/log_parser.py14
-rw-r--r--lib/spack/spack/test/util/mock_package.py37
-rw-r--r--lib/spack/spack/test/util/package_hash.py69
-rw-r--r--lib/spack/spack/test/util/path.py23
-rw-r--r--lib/spack/spack/test/util/prefix.py60
-rw-r--r--lib/spack/spack/test/util/spack_lock_wrapper.py8
-rw-r--r--lib/spack/spack/test/util/spack_yaml.py42
-rw-r--r--lib/spack/spack/test/util/unparse/unparse.py43
-rw-r--r--lib/spack/spack/test/util/util_gpg.py23
-rw-r--r--lib/spack/spack/test/util/util_string.py10
-rw-r--r--lib/spack/spack/test/util/util_url.py457
-rw-r--r--lib/spack/spack/test/variant.py410
-rw-r--r--lib/spack/spack/test/verification.py132
-rw-r--r--lib/spack/spack/test/versions.py705
-rw-r--r--lib/spack/spack/test/views.py28
-rw-r--r--lib/spack/spack/test/web.py280
-rw-r--r--lib/spack/spack/url.py463
-rw-r--r--lib/spack/spack/user_environment.py38
-rw-r--r--lib/spack/spack/util/classes.py10
-rw-r--r--lib/spack/spack/util/compression.py99
-rw-r--r--lib/spack/spack/util/crypto.py79
-rw-r--r--lib/spack/spack/util/debug.py8
-rw-r--r--lib/spack/spack/util/editor.py21
-rw-r--r--lib/spack/spack/util/environment.py370
-rw-r--r--lib/spack/spack/util/executable.py95
-rw-r--r--lib/spack/spack/util/file_cache.py23
-rw-r--r--lib/spack/spack/util/file_permissions.py9
-rw-r--r--lib/spack/spack/util/gcs.py70
-rw-r--r--lib/spack/spack/util/gpg.py119
-rw-r--r--lib/spack/spack/util/hash.py7
-rw-r--r--lib/spack/spack/util/lock.py17
-rw-r--r--lib/spack/spack/util/log_parse.py23
-rw-r--r--lib/spack/spack/util/mock_package.py38
-rw-r--r--lib/spack/spack/util/module_cmd.py83
-rw-r--r--lib/spack/spack/util/naming.py105
-rw-r--r--lib/spack/spack/util/package_hash.py44
-rw-r--r--lib/spack/spack/util/parallel.py16
-rw-r--r--lib/spack/spack/util/path.py78
-rw-r--r--lib/spack/spack/util/pattern.py27
-rw-r--r--lib/spack/spack/util/prefix.py1
-rw-r--r--lib/spack/spack/util/s3.py18
-rw-r--r--lib/spack/spack/util/spack_json.py17
-rw-r--r--lib/spack/spack/util/spack_yaml.py96
-rw-r--r--lib/spack/spack/util/string.py18
-rw-r--r--lib/spack/spack/util/timer.py4
-rw-r--r--lib/spack/spack/util/unparse/__init__.py2
-rw-r--r--lib/spack/spack/util/unparse/unparser.py119
-rw-r--r--lib/spack/spack/util/url.py133
-rw-r--r--lib/spack/spack/util/web.py231
-rw-r--r--lib/spack/spack/variant.py226
-rw-r--r--lib/spack/spack/verify.py110
-rw-r--r--lib/spack/spack/version.py273
-rw-r--r--var/spack/repos/builtin.mock/packages/a/package.py31
-rw-r--r--var/spack/repos/builtin.mock/packages/archive-files/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/attributes-foo-app/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/attributes-foo/package.py42
-rw-r--r--var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/autotools-config-replacement/package.py40
-rw-r--r--var/spack/repos/builtin.mock/packages/b/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/boost/package.py86
-rw-r--r--var/spack/repos/builtin.mock/packages/both-link-and-build-dep-a/package.py18
-rw-r--r--var/spack/repos/builtin.mock/packages/both-link-and-build-dep-b/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/both-link-and-build-dep-c/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/bowtie/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/brillig/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/build-error/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/build-warnings/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/c/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/callpath/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/canfail/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake-client/package.py89
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake/package.py34
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-constrained-dependencies/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-provider/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py33
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-variant-pkg/package.py35
-rw-r--r--var/spack/repos/builtin.mock/packages/conditional-virtual-dependency/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/conditionally-patch-dependency/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/configure-warning/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/conflict-parent/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/conflict/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/conflicting-dependent/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/corge/package.py199
-rw-r--r--var/spack/repos/builtin.mock/packages/cumulative-vrange-bottom/package.py13
-rw-r--r--var/spack/repos/builtin.mock/packages/cumulative-vrange-middle/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/cumulative-vrange-root/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/cvs-test/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid1/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid2/package.py15
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-diamond-patch-top/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop-root/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/dep-with-variants/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/depb/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/dependency-install/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/dependent-install/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/dependent-of-dev-build/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/depends-on-openmpi/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/depends-on-run-env/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/deprecated-versions/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dev-build-test-dependent/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/dev-build-test-install-phases/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dev-build-test-install/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/develop-test/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/develop-test2/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/direct-mpich/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/dt-diamond/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/dtbuild1/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/dtbuild2/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtbuild3/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtlink1/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dtlink2/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtlink3/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/dtlink4/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtlink5/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtrun1/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/dtrun2/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/dtrun3/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dttop/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/dtuse/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/dyninst/package.py23
-rw-r--r--var/spack/repos/builtin.mock/packages/e/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/ecp-viz-sdk/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/extendee/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/extends-spec/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/extension1/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/extension2/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/external-common-gdbm/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/external-common-openssl/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/external-common-perl/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/external-common-python/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/external-non-default-variant/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/externalmodule/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/externalprereq/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/externaltest/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/externaltool/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/externalvirtual/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/failing-build/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/failing-empty-install/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/fake/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/fetch-options/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/fftw/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/find-externals1/package.py21
-rw-r--r--var/spack/repos/builtin.mock/packages/flatten-deps/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/garply/package.py156
-rw-r--r--var/spack/repos/builtin.mock/packages/gcc/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/git-svn-top-level/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/git-test-commit/package.py13
-rw-r--r--var/spack/repos/builtin.mock/packages/git-test/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/git-top-level/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/git-url-svn-top-level/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/git-url-top-level/package.py56
-rw-r--r--var/spack/repos/builtin.mock/packages/gmt/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/gnuconfig/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/hash-test1/package.py31
-rw-r--r--var/spack/repos/builtin.mock/packages/hash-test2/package.py17
-rw-r--r--var/spack/repos/builtin.mock/packages/hash-test3/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/hash-test4/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/hdf5/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/hg-test/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/hg-top-level/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/hpcviewer/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/hwloc/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/hypre/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/impossible-concretization/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/indirect-mpich/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/installed-deps-a/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/installed-deps-b/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/installed-deps-c/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/installed-deps-d/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/installed-deps-e/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/invalid-github-patch-url/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/libdwarf/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/libelf/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/libtool-deletion/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/low-priority-provider/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/maintainers-1/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/maintainers-2/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/many-virtual-consumer/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-gnu-broken/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-gnu/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-sourceforge-broken/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-sourceforge/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/mirror-gnu-broken/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-sourceware/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-xorg-broken/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mirror-xorg/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/missing-dependency/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mixedversions/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/modifies-run-env/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/module-path-separator/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich/package.py27
-rw-r--r--var/spack/repos/builtin.mock/packages/mpich2/package.py26
-rw-r--r--var/spack/repos/builtin.mock/packages/mpileaks/package.py20
-rw-r--r--var/spack/repos/builtin.mock/packages/multi-provider-mpi/package.py33
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod-base/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod-diamond-parent/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod-diamond/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/multimethod/package.py78
-rw-r--r--var/spack/repos/builtin.mock/packages/multimodule-inheritance/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/multivalue-variant/package.py40
-rw-r--r--var/spack/repos/builtin.mock/packages/mvapich2/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/mvdefaults/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/needs-relocation/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-blas/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/netlib-lapack/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/ninja/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/non-existing-conditional-dep/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/nosource-bundle/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/nosource-install/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/nosource/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/noversion-bundle/package.py2
-rw-r--r--var/spack/repos/builtin.mock/packages/noversion/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/old-external/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/old-sbang/package.py20
-rw-r--r--var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/openblas/package.py13
-rw-r--r--var/spack/repos/builtin.mock/packages/openmpi/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/optional-dep-test/package.py30
-rw-r--r--var/spack/repos/builtin.mock/packages/othervirtual/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/override-context-templates/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/override-module-templates/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/patch-a-dependency/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/patch-several-dependencies/package.py48
-rw-r--r--var/spack/repos/builtin.mock/packages/patch/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/patchelf/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/perl-extension/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/perl/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/preferred-test/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/printing-package/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/py-extension1/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/py-extension2/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/py-extension3/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/py-pip/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/py-wheel/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/python/package.py15
-rw-r--r--var/spack/repos/builtin.mock/packages/quantum-espresso/package.py17
-rw-r--r--var/spack/repos/builtin.mock/packages/quux/package.py177
-rw-r--r--var/spack/repos/builtin.mock/packages/raiser/package.py26
-rw-r--r--var/spack/repos/builtin.mock/packages/requires-virtual/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/root/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/simple-inheritance/package.py20
-rw-r--r--var/spack/repos/builtin.mock/packages/simple-standalone-test/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent-type/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/singlevalue-variant/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py13
-rw-r--r--var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/splice-a/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/splice-h/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/splice-t/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/splice-vh/package.py22
-rw-r--r--var/spack/repos/builtin.mock/packages/splice-z/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/sticky-variant/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/svn-test/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/svn-top-level/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/symly/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/test-build-callbacks/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/test-dependency/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/test-error/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/test-fail/package.py6
-rw-r--r--var/spack/repos/builtin.mock/packages/test-install-callbacks/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/transitive-conditional-virtual-dependency/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/trigger-external-non-default-variant/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/trivial-install-test-package/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/trivial-pkg-with-valid-hash/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/trivial-smoke-test/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/unconstrainable-conflict/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/unsat-provider/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/unsat-virtual-dependency/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/url-list-test/package.py21
-rw-r--r--var/spack/repos/builtin.mock/packages/url-only-override-with-gaps/package.py31
-rw-r--r--var/spack/repos/builtin.mock/packages/url-only-override/package.py20
-rw-r--r--var/spack/repos/builtin.mock/packages/url-test/package.py3
-rw-r--r--var/spack/repos/builtin.mock/packages/url_override/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/v1-provider/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-a/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-b/package.py7
-rw-r--r--var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-root/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/vdefault-or-external-root/package.py8
-rw-r--r--var/spack/repos/builtin.mock/packages/vdefault-or-external/package.py10
-rw-r--r--var/spack/repos/builtin.mock/packages/version-test-dependency-preferred/package.py12
-rw-r--r--var/spack/repos/builtin.mock/packages/version-test-pkg/package.py16
-rw-r--r--var/spack/repos/builtin.mock/packages/version-test-root/package.py5
-rw-r--r--var/spack/repos/builtin.mock/packages/view-dir-dir/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/view-dir-file/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/view-dir-symlinked-dir/package.py13
-rw-r--r--var/spack/repos/builtin.mock/packages/virtual-with-versions/package.py21
-rw-r--r--var/spack/repos/builtin.mock/packages/when-directives-false/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/when-directives-true/package.py24
-rw-r--r--var/spack/repos/builtin.mock/packages/with-constraint-met/package.py14
-rw-r--r--var/spack/repos/builtin.mock/packages/wrong-variant-in-conflicts/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py4
-rw-r--r--var/spack/repos/builtin.mock/packages/zlib/package.py41
-rw-r--r--var/spack/repos/builtin.mock/packages/zmpi/package.py11
-rw-r--r--var/spack/repos/builtin/packages/3dtk/package.py119
-rw-r--r--var/spack/repos/builtin/packages/3proxy/package.py23
-rw-r--r--var/spack/repos/builtin/packages/7zip/package.py75
-rw-r--r--var/spack/repos/builtin/packages/abacus/package.py25
-rw-r--r--var/spack/repos/builtin/packages/abduco/package.py10
-rw-r--r--var/spack/repos/builtin/packages/abi-compliance-checker/package.py18
-rw-r--r--var/spack/repos/builtin/packages/abi-dumper/package.py20
-rw-r--r--var/spack/repos/builtin/packages/abinit/package.py377
-rw-r--r--var/spack/repos/builtin/packages/abseil-cpp/package.py75
-rw-r--r--var/spack/repos/builtin/packages/abyss/package.py74
-rw-r--r--var/spack/repos/builtin/packages/accfft/package.py32
-rw-r--r--var/spack/repos/builtin/packages/acct/package.py12
-rw-r--r--var/spack/repos/builtin/packages/accumulo/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ace/package.py43
-rw-r--r--var/spack/repos/builtin/packages/ack/package.py44
-rw-r--r--var/spack/repos/builtin/packages/acl/package.py36
-rw-r--r--var/spack/repos/builtin/packages/acpica-tools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/acpid/package.py20
-rw-r--r--var/spack/repos/builtin/packages/activeharmony/package.py22
-rw-r--r--var/spack/repos/builtin/packages/activemq/package.py6
-rw-r--r--var/spack/repos/builtin/packages/acts-dd4hep/package.py8
-rw-r--r--var/spack/repos/builtin/packages/acts/package.py373
-rw-r--r--var/spack/repos/builtin/packages/addrwatch/package.py10
-rw-r--r--var/spack/repos/builtin/packages/adept-utils/package.py12
-rw-r--r--var/spack/repos/builtin/packages/adf/package.py21
-rw-r--r--var/spack/repos/builtin/packages/adiak/package.py48
-rw-r--r--var/spack/repos/builtin/packages/adios/package.py185
-rw-r--r--var/spack/repos/builtin/packages/adios2/package.py278
-rw-r--r--var/spack/repos/builtin/packages/adlbx/package.py48
-rw-r--r--var/spack/repos/builtin/packages/admixtools/package.py44
-rw-r--r--var/spack/repos/builtin/packages/adms/package.py26
-rw-r--r--var/spack/repos/builtin/packages/adol-c/package.py175
-rw-r--r--var/spack/repos/builtin/packages/advancecomp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/adwaita-icon-theme/package.py8
-rw-r--r--var/spack/repos/builtin/packages/aegean/package.py20
-rw-r--r--var/spack/repos/builtin/packages/aeskeyfind/package.py6
-rw-r--r--var/spack/repos/builtin/packages/aespipe/package.py16
-rw-r--r--var/spack/repos/builtin/packages/agile/package.py28
-rw-r--r--var/spack/repos/builtin/packages/agrep/package.py6
-rw-r--r--var/spack/repos/builtin/packages/aida/package.py10
-rw-r--r--var/spack/repos/builtin/packages/akantu/package.py112
-rw-r--r--var/spack/repos/builtin/packages/alan/package.py6
-rw-r--r--var/spack/repos/builtin/packages/albany/package.py116
-rw-r--r--var/spack/repos/builtin/packages/albert/package.py10
-rw-r--r--var/spack/repos/builtin/packages/alembic/package.py28
-rw-r--r--var/spack/repos/builtin/packages/alglib/package.py23
-rw-r--r--var/spack/repos/builtin/packages/allpaths-lg/package.py24
-rw-r--r--var/spack/repos/builtin/packages/alluxio/package.py12
-rw-r--r--var/spack/repos/builtin/packages/alpaka/package.py96
-rw-r--r--var/spack/repos/builtin/packages/alpgen/package.py73
-rw-r--r--var/spack/repos/builtin/packages/alps/package.py67
-rw-r--r--var/spack/repos/builtin/packages/alquimia/package.py83
-rw-r--r--var/spack/repos/builtin/packages/alsa-lib/package.py30
-rw-r--r--var/spack/repos/builtin/packages/aluminum/package.py201
-rw-r--r--var/spack/repos/builtin/packages/ambari/package.py18
-rw-r--r--var/spack/repos/builtin/packages/amber/package.py319
-rw-r--r--var/spack/repos/builtin/packages/amd-aocl/package.py52
-rw-r--r--var/spack/repos/builtin/packages/amdblis/package.py28
-rw-r--r--var/spack/repos/builtin/packages/amdfftw/package.py344
-rw-r--r--var/spack/repos/builtin/packages/amdlibflame/package.py51
-rw-r--r--var/spack/repos/builtin/packages/amdlibm/package.py28
-rw-r--r--var/spack/repos/builtin/packages/amdscalapack/package.py61
-rw-r--r--var/spack/repos/builtin/packages/amg/package.py53
-rw-r--r--var/spack/repos/builtin/packages/amg2013/package.py54
-rw-r--r--var/spack/repos/builtin/packages/amgx/package.py51
-rw-r--r--var/spack/repos/builtin/packages/aml/package.py66
-rw-r--r--var/spack/repos/builtin/packages/amp/package.py149
-rw-r--r--var/spack/repos/builtin/packages/ampl/package.py48
-rw-r--r--var/spack/repos/builtin/packages/ampliconnoise/package.py60
-rw-r--r--var/spack/repos/builtin/packages/ampt/package.py45
-rw-r--r--var/spack/repos/builtin/packages/amr-wind/package.py136
-rw-r--r--var/spack/repos/builtin/packages/amrex/package.py467
-rw-r--r--var/spack/repos/builtin/packages/amrfinder/package.py28
-rw-r--r--var/spack/repos/builtin/packages/amrvis/package.py209
-rw-r--r--var/spack/repos/builtin/packages/anaconda2/package.py146
-rw-r--r--var/spack/repos/builtin/packages/anaconda3/package.py203
-rw-r--r--var/spack/repos/builtin/packages/andi/package.py22
-rw-r--r--var/spack/repos/builtin/packages/angsd/package.py36
-rw-r--r--var/spack/repos/builtin/packages/ant/package.py36
-rw-r--r--var/spack/repos/builtin/packages/antimony/package.py58
-rw-r--r--var/spack/repos/builtin/packages/antlr/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ants/package.py37
-rw-r--r--var/spack/repos/builtin/packages/aocc/package.py90
-rw-r--r--var/spack/repos/builtin/packages/aocl-sparse/package.py80
-rw-r--r--var/spack/repos/builtin/packages/aoflagger/package.py16
-rw-r--r--var/spack/repos/builtin/packages/aom/package.py9
-rw-r--r--var/spack/repos/builtin/packages/aomp/package.py640
-rw-r--r--var/spack/repos/builtin/packages/apachetop/package.py20
-rw-r--r--var/spack/repos/builtin/packages/apcomp/package.py65
-rw-r--r--var/spack/repos/builtin/packages/ape/package.py32
-rw-r--r--var/spack/repos/builtin/packages/aperture-photometry/package.py25
-rw-r--r--var/spack/repos/builtin/packages/apex/package.py208
-rw-r--r--var/spack/repos/builtin/packages/apfel/package.py30
-rw-r--r--var/spack/repos/builtin/packages/apktool/package.py35
-rw-r--r--var/spack/repos/builtin/packages/apple-libunwind/package.py16
-rw-r--r--var/spack/repos/builtin/packages/apple-libuuid/package.py12
-rw-r--r--var/spack/repos/builtin/packages/applewmproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/appres/package.py12
-rw-r--r--var/spack/repos/builtin/packages/apptainer/package.py30
-rw-r--r--var/spack/repos/builtin/packages/apr-util/package.py126
-rw-r--r--var/spack/repos/builtin/packages/apr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/aragorn/package.py17
-rw-r--r--var/spack/repos/builtin/packages/arborx/package.py128
-rw-r--r--var/spack/repos/builtin/packages/archer/package.py59
-rw-r--r--var/spack/repos/builtin/packages/argobots/package.py53
-rw-r--r--var/spack/repos/builtin/packages/argon2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/argp-standalone/package.py16
-rw-r--r--var/spack/repos/builtin/packages/args/package.py8
-rw-r--r--var/spack/repos/builtin/packages/argtable/package.py6
-rw-r--r--var/spack/repos/builtin/packages/aria2/package.py20
-rw-r--r--var/spack/repos/builtin/packages/arm-forge/package.py141
-rw-r--r--var/spack/repos/builtin/packages/arm/package.py114
-rw-r--r--var/spack/repos/builtin/packages/armadillo/package.py73
-rw-r--r--var/spack/repos/builtin/packages/armpl-gcc/package.py226
-rw-r--r--var/spack/repos/builtin/packages/arpack-ng/package.py174
-rw-r--r--var/spack/repos/builtin/packages/arrayfire/package.py116
-rw-r--r--var/spack/repos/builtin/packages/arrow/package.py107
-rw-r--r--var/spack/repos/builtin/packages/asagi/package.py81
-rw-r--r--var/spack/repos/builtin/packages/ascent/package.py227
-rw-r--r--var/spack/repos/builtin/packages/asciidoc-py3/package.py22
-rw-r--r--var/spack/repos/builtin/packages/asciidoc/package.py56
-rw-r--r--var/spack/repos/builtin/packages/asdcplib/package.py22
-rw-r--r--var/spack/repos/builtin/packages/asdf-cxx/package.py70
-rw-r--r--var/spack/repos/builtin/packages/asio/package.py22
-rw-r--r--var/spack/repos/builtin/packages/aspa/package.py46
-rw-r--r--var/spack/repos/builtin/packages/aspcud/package.py34
-rw-r--r--var/spack/repos/builtin/packages/aspect/package.py53
-rw-r--r--var/spack/repos/builtin/packages/aspell/package.py6
-rw-r--r--var/spack/repos/builtin/packages/aspell6-de/package.py5
-rw-r--r--var/spack/repos/builtin/packages/aspell6-en/package.py4
-rw-r--r--var/spack/repos/builtin/packages/aspell6-es/package.py2
-rw-r--r--var/spack/repos/builtin/packages/aspera-cli/package.py31
-rw-r--r--var/spack/repos/builtin/packages/assimp/package.py53
-rw-r--r--var/spack/repos/builtin/packages/astra/package.py109
-rw-r--r--var/spack/repos/builtin/packages/astral/package.py36
-rw-r--r--var/spack/repos/builtin/packages/astyle/package.py20
-rw-r--r--var/spack/repos/builtin/packages/at-spi2-atk/package.py22
-rw-r--r--var/spack/repos/builtin/packages/at-spi2-core/package.py63
-rw-r--r--var/spack/repos/builtin/packages/atf/package.py16
-rw-r--r--var/spack/repos/builtin/packages/athena/package.py430
-rw-r--r--var/spack/repos/builtin/packages/atk/package.py71
-rw-r--r--var/spack/repos/builtin/packages/atlas/package.py138
-rw-r--r--var/spack/repos/builtin/packages/atmi/package.py142
-rw-r--r--var/spack/repos/builtin/packages/atom-dft/package.py22
-rw-r--r--var/spack/repos/builtin/packages/atompaw/package.py25
-rw-r--r--var/spack/repos/builtin/packages/atop/package.py22
-rw-r--r--var/spack/repos/builtin/packages/attr/package.py22
-rw-r--r--var/spack/repos/builtin/packages/audacious/package.py38
-rw-r--r--var/spack/repos/builtin/packages/audacity/package.py10
-rw-r--r--var/spack/repos/builtin/packages/audit-userspace/package.py22
-rw-r--r--var/spack/repos/builtin/packages/augustus/package.py260
-rw-r--r--var/spack/repos/builtin/packages/authd/package.py8
-rw-r--r--var/spack/repos/builtin/packages/authselect/package.py18
-rw-r--r--var/spack/repos/builtin/packages/autoconf-archive/package.py12
-rw-r--r--var/spack/repos/builtin/packages/autoconf/package.py114
-rw-r--r--var/spack/repos/builtin/packages/autodiff/package.py33
-rw-r--r--var/spack/repos/builtin/packages/autodock-gpu/package.py31
-rw-r--r--var/spack/repos/builtin/packages/autodock-vina/package.py45
-rw-r--r--var/spack/repos/builtin/packages/autofact/package.py22
-rw-r--r--var/spack/repos/builtin/packages/autogen/package.py18
-rw-r--r--var/spack/repos/builtin/packages/automaded/package.py28
-rw-r--r--var/spack/repos/builtin/packages/automake/package.py58
-rw-r--r--var/spack/repos/builtin/packages/avizo/package.py94
-rw-r--r--var/spack/repos/builtin/packages/aws-parallelcluster/package.py137
-rw-r--r--var/spack/repos/builtin/packages/aws-sdk-cpp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/awscli/package.py32
-rw-r--r--var/spack/repos/builtin/packages/axel/package.py14
-rw-r--r--var/spack/repos/builtin/packages/axl/package.py139
-rw-r--r--var/spack/repos/builtin/packages/axom/package.py323
-rw-r--r--var/spack/repos/builtin/packages/babelflow/package.py24
-rw-r--r--var/spack/repos/builtin/packages/babeltrace/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bacio/package.py12
-rw-r--r--var/spack/repos/builtin/packages/backupninja/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bam-readcount/package.py4
-rw-r--r--var/spack/repos/builtin/packages/bamaddrg/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bamdst/package.py12
-rw-r--r--var/spack/repos/builtin/packages/bamtools/package.py22
-rw-r--r--var/spack/repos/builtin/packages/bamutil/package.py49
-rw-r--r--var/spack/repos/builtin/packages/banner/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bannergrab/package.py8
-rw-r--r--var/spack/repos/builtin/packages/barrnap/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bart/package.py100
-rw-r--r--var/spack/repos/builtin/packages/barvinok/package.py30
-rw-r--r--var/spack/repos/builtin/packages/bash-completion/package.py45
-rw-r--r--var/spack/repos/builtin/packages/bash/package.py251
-rw-r--r--var/spack/repos/builtin/packages/bashtop/package.py24
-rw-r--r--var/spack/repos/builtin/packages/bat/package.py16
-rw-r--r--var/spack/repos/builtin/packages/batchedblas/package.py36
-rw-r--r--var/spack/repos/builtin/packages/batctl/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bats/package.py6
-rw-r--r--var/spack/repos/builtin/packages/baurmc/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bazel/package.py374
-rw-r--r--var/spack/repos/builtin/packages/bbcp/package.py13
-rw-r--r--var/spack/repos/builtin/packages/bbmap/package.py12
-rw-r--r--var/spack/repos/builtin/packages/bc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/bcache/package.py35
-rw-r--r--var/spack/repos/builtin/packages/bcftools/package.py143
-rw-r--r--var/spack/repos/builtin/packages/bcl2fastq2/package.py59
-rw-r--r--var/spack/repos/builtin/packages/bdftopcf/package.py12
-rw-r--r--var/spack/repos/builtin/packages/bdii/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bdsim/package.py30
-rw-r--r--var/spack/repos/builtin/packages/bdw-gc/package.py30
-rw-r--r--var/spack/repos/builtin/packages/beagle/package.py51
-rw-r--r--var/spack/repos/builtin/packages/beakerlib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bear/package.py29
-rw-r--r--var/spack/repos/builtin/packages/beast-tracer/package.py18
-rw-r--r--var/spack/repos/builtin/packages/beast1/package.py30
-rw-r--r--var/spack/repos/builtin/packages/beast2/package.py34
-rw-r--r--var/spack/repos/builtin/packages/bedops/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bedtools2/package.py30
-rw-r--r--var/spack/repos/builtin/packages/beforelight/package.py12
-rw-r--r--var/spack/repos/builtin/packages/benchmark/package.py52
-rw-r--r--var/spack/repos/builtin/packages/berkeley-db/package.py98
-rw-r--r--var/spack/repos/builtin/packages/berkeleygw/package.py311
-rw-r--r--var/spack/repos/builtin/packages/bertini/package.py16
-rw-r--r--var/spack/repos/builtin/packages/bgpdump/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bib2xhtml/package.py23
-rw-r--r--var/spack/repos/builtin/packages/bigdft-atlab/package.py68
-rw-r--r--var/spack/repos/builtin/packages/bigdft-chess/package.py117
-rw-r--r--var/spack/repos/builtin/packages/bigdft-core/package.py157
-rw-r--r--var/spack/repos/builtin/packages/bigdft-futile/package.py97
-rw-r--r--var/spack/repos/builtin/packages/bigdft-libabinit/package.py82
-rw-r--r--var/spack/repos/builtin/packages/bigdft-psolver/package.py121
-rw-r--r--var/spack/repos/builtin/packages/bigdft-spred/package.py119
-rw-r--r--var/spack/repos/builtin/packages/bigdft-suite/package.py48
-rw-r--r--var/spack/repos/builtin/packages/bigreqsproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/bind9/package.py19
-rw-r--r--var/spack/repos/builtin/packages/binutils/package.py234
-rw-r--r--var/spack/repos/builtin/packages/bioawk/package.py14
-rw-r--r--var/spack/repos/builtin/packages/biobambam2/package.py41
-rw-r--r--var/spack/repos/builtin/packages/biobloom/package.py16
-rw-r--r--var/spack/repos/builtin/packages/biopieces/package.py89
-rw-r--r--var/spack/repos/builtin/packages/bird/package.py22
-rw-r--r--var/spack/repos/builtin/packages/bismark/package.py36
-rw-r--r--var/spack/repos/builtin/packages/bison/package.py87
-rw-r--r--var/spack/repos/builtin/packages/bitlbee/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bitmap/package.py20
-rw-r--r--var/spack/repos/builtin/packages/bitsery/package.py4
-rw-r--r--var/spack/repos/builtin/packages/blackhat/package.py23
-rw-r--r--var/spack/repos/builtin/packages/blaspp/package.py94
-rw-r--r--var/spack/repos/builtin/packages/blasr-libcpp/package.py49
-rw-r--r--var/spack/repos/builtin/packages/blasr/package.py83
-rw-r--r--var/spack/repos/builtin/packages/blast-legacy/package.py29
-rw-r--r--var/spack/repos/builtin/packages/blast-plus/package.py212
-rw-r--r--var/spack/repos/builtin/packages/blast2go/package.py39
-rw-r--r--var/spack/repos/builtin/packages/blat/package.py28
-rw-r--r--var/spack/repos/builtin/packages/blaze/package.py105
-rw-r--r--var/spack/repos/builtin/packages/blis/package.py87
-rw-r--r--var/spack/repos/builtin/packages/bliss/package.py14
-rw-r--r--var/spack/repos/builtin/packages/blitz/package.py17
-rw-r--r--var/spack/repos/builtin/packages/blktrace/package.py23
-rw-r--r--var/spack/repos/builtin/packages/bloaty/package.py5
-rw-r--r--var/spack/repos/builtin/packages/blogbench/package.py6
-rw-r--r--var/spack/repos/builtin/packages/blt/package.py38
-rw-r--r--var/spack/repos/builtin/packages/bmake/package.py21
-rw-r--r--var/spack/repos/builtin/packages/bmi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bml/package.py42
-rw-r--r--var/spack/repos/builtin/packages/bohrium/package.py126
-rw-r--r--var/spack/repos/builtin/packages/boinc-client/package.py50
-rw-r--r--var/spack/repos/builtin/packages/bolt/package.py60
-rw-r--r--var/spack/repos/builtin/packages/bonniepp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/bookleaf-cpp/package.py48
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py816
-rw-r--r--var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py8
-rw-r--r--var/spack/repos/builtin/packages/botan/package.py60
-rw-r--r--var/spack/repos/builtin/packages/bowtie/package.py56
-rw-r--r--var/spack/repos/builtin/packages/bowtie2/package.py87
-rw-r--r--var/spack/repos/builtin/packages/boxlib/package.py33
-rw-r--r--var/spack/repos/builtin/packages/bpp-core/package.py20
-rw-r--r--var/spack/repos/builtin/packages/bpp-phyl-omics/package.py22
-rw-r--r--var/spack/repos/builtin/packages/bpp-phyl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/bpp-popgen/package.py8
-rw-r--r--var/spack/repos/builtin/packages/bpp-seq-omics/package.py16
-rw-r--r--var/spack/repos/builtin/packages/bpp-seq/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bpp-suite/package.py28
-rw-r--r--var/spack/repos/builtin/packages/bracken/package.py46
-rw-r--r--var/spack/repos/builtin/packages/braker/package.py71
-rw-r--r--var/spack/repos/builtin/packages/branson/package.py41
-rw-r--r--var/spack/repos/builtin/packages/breakdancer/package.py43
-rw-r--r--var/spack/repos/builtin/packages/bref3/package.py37
-rw-r--r--var/spack/repos/builtin/packages/breseq/package.py30
-rw-r--r--var/spack/repos/builtin/packages/bricks/package.py82
-rw-r--r--var/spack/repos/builtin/packages/bridger/package.py25
-rw-r--r--var/spack/repos/builtin/packages/brigand/package.py20
-rw-r--r--var/spack/repos/builtin/packages/brltty/package.py26
-rw-r--r--var/spack/repos/builtin/packages/brotli/package.py8
-rw-r--r--var/spack/repos/builtin/packages/brpc/package.py22
-rw-r--r--var/spack/repos/builtin/packages/brunsli/package.py6
-rw-r--r--var/spack/repos/builtin/packages/brynet/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bsseeker2/package.py40
-rw-r--r--var/spack/repos/builtin/packages/bubblewrap/package.py30
-rw-r--r--var/spack/repos/builtin/packages/bucky/package.py42
-rw-r--r--var/spack/repos/builtin/packages/buddy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/bueno/package.py18
-rw-r--r--var/spack/repos/builtin/packages/bufr/package.py31
-rw-r--r--var/spack/repos/builtin/packages/bumpversion/package.py6
-rw-r--r--var/spack/repos/builtin/packages/busco/package.py46
-rw-r--r--var/spack/repos/builtin/packages/busybox/package.py16
-rw-r--r--var/spack/repos/builtin/packages/butter/package.py20
-rw-r--r--var/spack/repos/builtin/packages/butterflypack/package.py61
-rw-r--r--var/spack/repos/builtin/packages/bwa/package.py68
-rw-r--r--var/spack/repos/builtin/packages/bwtool/package.py6
-rw-r--r--var/spack/repos/builtin/packages/byacc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/byobu/package.py14
-rw-r--r--var/spack/repos/builtin/packages/byte-unixbench/package.py8
-rw-r--r--var/spack/repos/builtin/packages/byteman/package.py14
-rw-r--r--var/spack/repos/builtin/packages/bzip2/package.py118
-rw-r--r--var/spack/repos/builtin/packages/c-ares/package.py12
-rw-r--r--var/spack/repos/builtin/packages/c-blosc/package.py81
-rw-r--r--var/spack/repos/builtin/packages/c-blosc2/package.py93
-rw-r--r--var/spack/repos/builtin/packages/c-lime/package.py10
-rw-r--r--var/spack/repos/builtin/packages/c/package.py11
-rw-r--r--var/spack/repos/builtin/packages/c3d/package.py11
-rw-r--r--var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py117
-rw-r--r--var/spack/repos/builtin/packages/cabana/package.py88
-rw-r--r--var/spack/repos/builtin/packages/cachefilesd/package.py22
-rw-r--r--var/spack/repos/builtin/packages/caffe/package.py144
-rw-r--r--var/spack/repos/builtin/packages/cairo/package.py105
-rw-r--r--var/spack/repos/builtin/packages/cairomm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/caliper/package.py225
-rw-r--r--var/spack/repos/builtin/packages/callflow/package.py46
-rw-r--r--var/spack/repos/builtin/packages/callpath/package.py25
-rw-r--r--var/spack/repos/builtin/packages/camellia/package.py43
-rw-r--r--var/spack/repos/builtin/packages/camp/package.py69
-rw-r--r--var/spack/repos/builtin/packages/camx/package.py147
-rw-r--r--var/spack/repos/builtin/packages/canal/package.py8
-rw-r--r--var/spack/repos/builtin/packages/candle-benchmarks/package.py44
-rw-r--r--var/spack/repos/builtin/packages/cans/package.py30
-rw-r--r--var/spack/repos/builtin/packages/cantera/package.py250
-rw-r--r--var/spack/repos/builtin/packages/canu/package.py36
-rw-r--r--var/spack/repos/builtin/packages/cap3/package.py17
-rw-r--r--var/spack/repos/builtin/packages/capnproto/package.py10
-rw-r--r--var/spack/repos/builtin/packages/capstone/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cardioid/package.py47
-rw-r--r--var/spack/repos/builtin/packages/care/package.py165
-rw-r--r--var/spack/repos/builtin/packages/casacore/package.py112
-rw-r--r--var/spack/repos/builtin/packages/cask/package.py19
-rw-r--r--var/spack/repos/builtin/packages/casper/package.py22
-rw-r--r--var/spack/repos/builtin/packages/cassandra/package.py26
-rw-r--r--var/spack/repos/builtin/packages/catalyst/package.py247
-rw-r--r--var/spack/repos/builtin/packages/catch2/package.py163
-rw-r--r--var/spack/repos/builtin/packages/cbc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cbench/package.py52
-rw-r--r--var/spack/repos/builtin/packages/cbflib/package.py35
-rw-r--r--var/spack/repos/builtin/packages/cblas/package.py30
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py75
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis/package.py121
-rw-r--r--var/spack/repos/builtin/packages/cbtf-krell/package.py240
-rw-r--r--var/spack/repos/builtin/packages/cbtf-lanl/package.py66
-rw-r--r--var/spack/repos/builtin/packages/cbtf/package.py77
-rw-r--r--var/spack/repos/builtin/packages/cc65/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ccache/package.py100
-rw-r--r--var/spack/repos/builtin/packages/ccfits/package.py12
-rw-r--r--var/spack/repos/builtin/packages/ccls/package.py26
-rw-r--r--var/spack/repos/builtin/packages/ccs-qcd/package.py107
-rw-r--r--var/spack/repos/builtin/packages/cctools/package.py128
-rw-r--r--var/spack/repos/builtin/packages/cdbfasta/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cdd/package.py5
-rw-r--r--var/spack/repos/builtin/packages/cddlib/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cdecimal/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cdhit/package.py26
-rw-r--r--var/spack/repos/builtin/packages/cdo/package.py311
-rw-r--r--var/spack/repos/builtin/packages/ceed/package.py406
-rw-r--r--var/spack/repos/builtin/packages/cereal/package.py49
-rw-r--r--var/spack/repos/builtin/packages/ceres-solver/package.py47
-rw-r--r--var/spack/repos/builtin/packages/cfitsio/package.py44
-rw-r--r--var/spack/repos/builtin/packages/cgal/package.py114
-rw-r--r--var/spack/repos/builtin/packages/cgdb/package.py46
-rw-r--r--var/spack/repos/builtin/packages/cgdcbxd/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cget/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cgl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cgm/package.py47
-rw-r--r--var/spack/repos/builtin/packages/cgns/package.py152
-rw-r--r--var/spack/repos/builtin/packages/chaco/package.py19
-rw-r--r--var/spack/repos/builtin/packages/chai/package.py200
-rw-r--r--var/spack/repos/builtin/packages/chameleon/package.py104
-rw-r--r--var/spack/repos/builtin/packages/changa/package.py17
-rw-r--r--var/spack/repos/builtin/packages/channelflow/package.py75
-rw-r--r--var/spack/repos/builtin/packages/chaparral/package.py22
-rw-r--r--var/spack/repos/builtin/packages/chapel/package.py22
-rw-r--r--var/spack/repos/builtin/packages/chaplin/package.py8
-rw-r--r--var/spack/repos/builtin/packages/charliecloud/package.py85
-rw-r--r--var/spack/repos/builtin/packages/charmpp/package.py208
-rw-r--r--var/spack/repos/builtin/packages/chatterbug/package.py29
-rw-r--r--var/spack/repos/builtin/packages/check/package.py8
-rw-r--r--var/spack/repos/builtin/packages/chgcentre/package.py8
-rw-r--r--var/spack/repos/builtin/packages/chill/package.py116
-rw-r--r--var/spack/repos/builtin/packages/chlorop/package.py14
-rw-r--r--var/spack/repos/builtin/packages/chombo/package.py143
-rw-r--r--var/spack/repos/builtin/packages/chrony/package.py16
-rw-r--r--var/spack/repos/builtin/packages/chrpath/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cinch/package.py14
-rw-r--r--var/spack/repos/builtin/packages/circos/package.py49
-rw-r--r--var/spack/repos/builtin/packages/cistem/package.py16
-rw-r--r--var/spack/repos/builtin/packages/citcoms/package.py82
-rw-r--r--var/spack/repos/builtin/packages/cityhash/package.py8
-rw-r--r--var/spack/repos/builtin/packages/cjson/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ck/package.py14
-rw-r--r--var/spack/repos/builtin/packages/clamav/package.py32
-rw-r--r--var/spack/repos/builtin/packages/clamr/package.py58
-rw-r--r--var/spack/repos/builtin/packages/clapack/package.py31
-rw-r--r--var/spack/repos/builtin/packages/clara/package.py27
-rw-r--r--var/spack/repos/builtin/packages/claw/package.py89
-rw-r--r--var/spack/repos/builtin/packages/clblast/package.py50
-rw-r--r--var/spack/repos/builtin/packages/cleaveland4/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cleverleaf/package.py22
-rw-r--r--var/spack/repos/builtin/packages/clfft/package.py26
-rw-r--r--var/spack/repos/builtin/packages/clhep/package.py90
-rw-r--r--var/spack/repos/builtin/packages/cli11/package.py20
-rw-r--r--var/spack/repos/builtin/packages/clinfo/package.py20
-rw-r--r--var/spack/repos/builtin/packages/clingo-bootstrap/package.py73
-rw-r--r--var/spack/repos/builtin/packages/clingo/package.py98
-rw-r--r--var/spack/repos/builtin/packages/cln/package.py79
-rw-r--r--var/spack/repos/builtin/packages/cloc/package.py27
-rw-r--r--var/spack/repos/builtin/packages/cloog/package.py18
-rw-r--r--var/spack/repos/builtin/packages/cloverleaf/package.py164
-rw-r--r--var/spack/repos/builtin/packages/cloverleaf3d/package.py4
-rw-r--r--var/spack/repos/builtin/packages/clp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/clustal-omega/package.py6
-rw-r--r--var/spack/repos/builtin/packages/clustalw/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py514
-rw-r--r--var/spack/repos/builtin/packages/cmaq/package.py19
-rw-r--r--var/spack/repos/builtin/packages/cmark/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cminpack/package.py21
-rw-r--r--var/spack/repos/builtin/packages/cmocka/package.py9
-rw-r--r--var/spack/repos/builtin/packages/cmockery/package.py20
-rw-r--r--var/spack/repos/builtin/packages/cmor/package.py70
-rw-r--r--var/spack/repos/builtin/packages/cni-plugins/package.py20
-rw-r--r--var/spack/repos/builtin/packages/cnmem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cnpy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cntk/package.py149
-rw-r--r--var/spack/repos/builtin/packages/cntk1bitsgd/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cnvnator/package.py67
-rw-r--r--var/spack/repos/builtin/packages/codar-cheetah/package.py18
-rw-r--r--var/spack/repos/builtin/packages/code-server/package.py90
-rw-r--r--var/spack/repos/builtin/packages/codec2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/codes/package.py47
-rw-r--r--var/spack/repos/builtin/packages/coevp/package.py71
-rw-r--r--var/spack/repos/builtin/packages/cohmm/package.py35
-rw-r--r--var/spack/repos/builtin/packages/coin3d/package.py66
-rw-r--r--var/spack/repos/builtin/packages/coinhsl/package.py27
-rw-r--r--var/spack/repos/builtin/packages/coinutils/package.py6
-rw-r--r--var/spack/repos/builtin/packages/collectd/package.py10
-rw-r--r--var/spack/repos/builtin/packages/collier/package.py28
-rw-r--r--var/spack/repos/builtin/packages/colm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/colordiff/package.py17
-rw-r--r--var/spack/repos/builtin/packages/comd/package.py97
-rw-r--r--var/spack/repos/builtin/packages/comgr/package.py162
-rw-r--r--var/spack/repos/builtin/packages/commons-lang/package.py12
-rw-r--r--var/spack/repos/builtin/packages/commons-lang3/package.py10
-rw-r--r--var/spack/repos/builtin/packages/commons-logging/package.py14
-rw-r--r--var/spack/repos/builtin/packages/compadre/package.py61
-rw-r--r--var/spack/repos/builtin/packages/compiz/package.py32
-rw-r--r--var/spack/repos/builtin/packages/compose/package.py10
-rw-r--r--var/spack/repos/builtin/packages/compositeproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/conda4aarch64/package.py20
-rw-r--r--var/spack/repos/builtin/packages/conduit/package.py235
-rw-r--r--var/spack/repos/builtin/packages/conmon/package.py20
-rw-r--r--var/spack/repos/builtin/packages/connect-proxy/package.py6
-rw-r--r--var/spack/repos/builtin/packages/conserver/package.py16
-rw-r--r--var/spack/repos/builtin/packages/console-bridge/package.py14
-rw-r--r--var/spack/repos/builtin/packages/constype/package.py6
-rw-r--r--var/spack/repos/builtin/packages/consul/package.py18
-rw-r--r--var/spack/repos/builtin/packages/converge/package.py131
-rw-r--r--var/spack/repos/builtin/packages/cool/package.py76
-rw-r--r--var/spack/repos/builtin/packages/coral/package.py79
-rw-r--r--var/spack/repos/builtin/packages/corenlp/package.py48
-rw-r--r--var/spack/repos/builtin/packages/coreutils/package.py54
-rw-r--r--var/spack/repos/builtin/packages/corset/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cosbench/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cosign/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cosma/package.py108
-rw-r--r--var/spack/repos/builtin/packages/cosmoflow-benchmark/package.py32
-rw-r--r--var/spack/repos/builtin/packages/cosmomc/package.py225
-rw-r--r--var/spack/repos/builtin/packages/cosp2/package.py50
-rw-r--r--var/spack/repos/builtin/packages/costa/package.py52
-rw-r--r--var/spack/repos/builtin/packages/cotter/package.py12
-rw-r--r--var/spack/repos/builtin/packages/couchdb/package.py40
-rw-r--r--var/spack/repos/builtin/packages/cowsay/package.py8
-rw-r--r--var/spack/repos/builtin/packages/cp2k/package.py950
-rw-r--r--var/spack/repos/builtin/packages/cpio/package.py25
-rw-r--r--var/spack/repos/builtin/packages/cpmd/package.py124
-rw-r--r--var/spack/repos/builtin/packages/cpp-argparse/package.py7
-rw-r--r--var/spack/repos/builtin/packages/cpp-httplib/package.py28
-rw-r--r--var/spack/repos/builtin/packages/cpp-termcolor/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cppad/package.py13
-rw-r--r--var/spack/repos/builtin/packages/cppcheck/package.py47
-rw-r--r--var/spack/repos/builtin/packages/cppcodec/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cppcoro/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cppgsl/package.py32
-rw-r--r--var/spack/repos/builtin/packages/cpprestsdk/package.py31
-rw-r--r--var/spack/repos/builtin/packages/cppunit/package.py25
-rw-r--r--var/spack/repos/builtin/packages/cppzmq/package.py41
-rw-r--r--var/spack/repos/builtin/packages/cpu-features/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cpuinfo/package.py61
-rw-r--r--var/spack/repos/builtin/packages/cqrlib/package.py18
-rw-r--r--var/spack/repos/builtin/packages/cquery/package.py15
-rw-r--r--var/spack/repos/builtin/packages/cracklib/package.py28
-rw-r--r--var/spack/repos/builtin/packages/cradl/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cram/package.py13
-rw-r--r--var/spack/repos/builtin/packages/cray-fftw/package.py70
-rw-r--r--var/spack/repos/builtin/packages/cray-libsci/package.py31
-rw-r--r--var/spack/repos/builtin/packages/cray-mpich/package.py101
-rw-r--r--var/spack/repos/builtin/packages/cray-mvapich2/package.py53
-rw-r--r--var/spack/repos/builtin/packages/cray-pmi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/creduce/package.py30
-rw-r--r--var/spack/repos/builtin/packages/crmc/package.py61
-rw-r--r--var/spack/repos/builtin/packages/cromwell-womtool/package.py23
-rw-r--r--var/spack/repos/builtin/packages/cromwell/package.py23
-rw-r--r--var/spack/repos/builtin/packages/cronie/package.py10
-rw-r--r--var/spack/repos/builtin/packages/crtm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cryptopp/package.py44
-rw-r--r--var/spack/repos/builtin/packages/cryptsetup/package.py50
-rw-r--r--var/spack/repos/builtin/packages/csa-c/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cscope/package.py20
-rw-r--r--var/spack/repos/builtin/packages/csdp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ctffind/package.py58
-rw-r--r--var/spack/repos/builtin/packages/ctpl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/ctre/package.py28
-rw-r--r--var/spack/repos/builtin/packages/cub/package.py52
-rw-r--r--var/spack/repos/builtin/packages/cube-blade/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cube/package.py64
-rw-r--r--var/spack/repos/builtin/packages/cubelib/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cubew/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cubist/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cuda-memtest/package.py10
-rw-r--r--var/spack/repos/builtin/packages/cuda/package.py580
-rw-r--r--var/spack/repos/builtin/packages/cudnn/package.py422
-rw-r--r--var/spack/repos/builtin/packages/cufflinks/package.py22
-rw-r--r--var/spack/repos/builtin/packages/cunit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cupla/package.py28
-rw-r--r--var/spack/repos/builtin/packages/cups/package.py8
-rw-r--r--var/spack/repos/builtin/packages/curl/package.py295
-rw-r--r--var/spack/repos/builtin/packages/cusz/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cutensor/package.py30
-rw-r--r--var/spack/repos/builtin/packages/cutlang/package.py39
-rw-r--r--var/spack/repos/builtin/packages/cutlass/package.py24
-rw-r--r--var/spack/repos/builtin/packages/cvector/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cvs/package.py18
-rw-r--r--var/spack/repos/builtin/packages/cxx/package.py17
-rw-r--r--var/spack/repos/builtin/packages/cxxopts/package.py49
-rw-r--r--var/spack/repos/builtin/packages/cxxtest/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cyrus-sasl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/czmq/package.py31
-rw-r--r--var/spack/repos/builtin/packages/dakota/package.py45
-rw-r--r--var/spack/repos/builtin/packages/daligner/package.py14
-rw-r--r--var/spack/repos/builtin/packages/dalton/package.py113
-rw-r--r--var/spack/repos/builtin/packages/damageproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/damaris/package.py134
-rw-r--r--var/spack/repos/builtin/packages/damask-grid/package.py67
-rw-r--r--var/spack/repos/builtin/packages/damask-mesh/package.py59
-rw-r--r--var/spack/repos/builtin/packages/damask/package.py26
-rw-r--r--var/spack/repos/builtin/packages/damselfly/package.py9
-rw-r--r--var/spack/repos/builtin/packages/darshan-runtime/package.py250
-rw-r--r--var/spack/repos/builtin/packages/darshan-util/package.py160
-rw-r--r--var/spack/repos/builtin/packages/dash/package.py16
-rw-r--r--var/spack/repos/builtin/packages/datamash/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dataspaces/package.py75
-rw-r--r--var/spack/repos/builtin/packages/datatransferkit/package.py70
-rw-r--r--var/spack/repos/builtin/packages/date/package.py64
-rw-r--r--var/spack/repos/builtin/packages/dateutils/package.py10
-rw-r--r--var/spack/repos/builtin/packages/davix/package.py49
-rw-r--r--var/spack/repos/builtin/packages/dbcsr/package.py186
-rw-r--r--var/spack/repos/builtin/packages/dbow2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/dbus-glib/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dbus/package.py55
-rw-r--r--var/spack/repos/builtin/packages/dbxtool/package.py14
-rw-r--r--var/spack/repos/builtin/packages/dcap/package.py16
-rw-r--r--var/spack/repos/builtin/packages/dcm2niix/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dcmtk/package.py80
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/package.py288
-rw-r--r--var/spack/repos/builtin/packages/ddd/package.py74
-rw-r--r--var/spack/repos/builtin/packages/dealii-parameter-gui/package.py8
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py852
-rw-r--r--var/spack/repos/builtin/packages/debbuild/package.py6
-rw-r--r--var/spack/repos/builtin/packages/debugedit/package.py26
-rw-r--r--var/spack/repos/builtin/packages/decentralized-internet/package.py7
-rw-r--r--var/spack/repos/builtin/packages/deconseq-standalone/package.py36
-rw-r--r--var/spack/repos/builtin/packages/dejagnu/package.py8
-rw-r--r--var/spack/repos/builtin/packages/delly2/package.py67
-rw-r--r--var/spack/repos/builtin/packages/delphes/package.py76
-rw-r--r--var/spack/repos/builtin/packages/delta/package.py22
-rw-r--r--var/spack/repos/builtin/packages/denovogear/package.py24
-rw-r--r--var/spack/repos/builtin/packages/dftbplus/package.py194
-rw-r--r--var/spack/repos/builtin/packages/dftd3-lib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dftfe/package.py77
-rw-r--r--var/spack/repos/builtin/packages/dhpmm-f/package.py60
-rw-r--r--var/spack/repos/builtin/packages/dhtest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dia/package.py56
-rw-r--r--var/spack/repos/builtin/packages/dialign-tx/package.py24
-rw-r--r--var/spack/repos/builtin/packages/dialign/package.py12
-rw-r--r--var/spack/repos/builtin/packages/diamond/package.py46
-rw-r--r--var/spack/repos/builtin/packages/dicom3tools/package.py67
-rw-r--r--var/spack/repos/builtin/packages/diffmark/package.py16
-rw-r--r--var/spack/repos/builtin/packages/diffsplice/package.py14
-rw-r--r--var/spack/repos/builtin/packages/diffutils/package.py33
-rw-r--r--var/spack/repos/builtin/packages/dihydrogen/package.py326
-rw-r--r--var/spack/repos/builtin/packages/dimemas/package.py30
-rw-r--r--var/spack/repos/builtin/packages/ding-libs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/dire/package.py31
-rw-r--r--var/spack/repos/builtin/packages/direnv/package.py18
-rw-r--r--var/spack/repos/builtin/packages/discovar/package.py6
-rw-r--r--var/spack/repos/builtin/packages/discovardenovo/package.py18
-rw-r--r--var/spack/repos/builtin/packages/disktype/package.py8
-rw-r--r--var/spack/repos/builtin/packages/dislin/package.py50
-rw-r--r--var/spack/repos/builtin/packages/distcc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/diy/package.py18
-rw-r--r--var/spack/repos/builtin/packages/dlib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/dlpack/package.py18
-rw-r--r--var/spack/repos/builtin/packages/dmd/package.py105
-rw-r--r--var/spack/repos/builtin/packages/dmidecode/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dmlc-core/package.py27
-rw-r--r--var/spack/repos/builtin/packages/dmtcp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dmxproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dnsmap/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dnsmasq/package.py28
-rw-r--r--var/spack/repos/builtin/packages/dnstop/package.py14
-rw-r--r--var/spack/repos/builtin/packages/dnstracer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/docbook-xml/package.py487
-rw-r--r--var/spack/repos/builtin/packages/docbook-xsl/package.py68
-rw-r--r--var/spack/repos/builtin/packages/dock/package.py51
-rw-r--r--var/spack/repos/builtin/packages/dos2unix/package.py23
-rw-r--r--var/spack/repos/builtin/packages/dosfstools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/dotconf/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dotnet-core-sdk/package.py53
-rw-r--r--var/spack/repos/builtin/packages/double-conversion/package.py18
-rw-r--r--var/spack/repos/builtin/packages/doxygen/package.py92
-rw-r--r--var/spack/repos/builtin/packages/dpcpp/package.py210
-rw-r--r--var/spack/repos/builtin/packages/dpdk/package.py20
-rw-r--r--var/spack/repos/builtin/packages/draco/package.py151
-rw-r--r--var/spack/repos/builtin/packages/dracut/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dramsim2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/dramsim3/package.py22
-rw-r--r--var/spack/repos/builtin/packages/dray/package.py132
-rw-r--r--var/spack/repos/builtin/packages/dri2proto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/dri3proto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/drill/package.py16
-rw-r--r--var/spack/repos/builtin/packages/dropwatch/package.py24
-rw-r--r--var/spack/repos/builtin/packages/druid/package.py20
-rw-r--r--var/spack/repos/builtin/packages/ds/package.py58
-rw-r--r--var/spack/repos/builtin/packages/dsdp/package.py31
-rw-r--r--var/spack/repos/builtin/packages/dsfmt/package.py16
-rw-r--r--var/spack/repos/builtin/packages/dsqss/package.py62
-rw-r--r--var/spack/repos/builtin/packages/dsrc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dssp/package.py44
-rw-r--r--var/spack/repos/builtin/packages/dtc/package.py21
-rw-r--r--var/spack/repos/builtin/packages/dtcmp/package.py40
-rw-r--r--var/spack/repos/builtin/packages/dtf/package.py61
-rw-r--r--var/spack/repos/builtin/packages/duperemove/package.py12
-rw-r--r--var/spack/repos/builtin/packages/dust/package.py4
-rw-r--r--var/spack/repos/builtin/packages/dwz/package.py16
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py216
-rw-r--r--var/spack/repos/builtin/packages/dysco/package.py10
-rw-r--r--var/spack/repos/builtin/packages/e2fsprogs/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ea-utils/package.py45
-rw-r--r--var/spack/repos/builtin/packages/eagle/package.py35
-rw-r--r--var/spack/repos/builtin/packages/earlyoom/package.py8
-rw-r--r--var/spack/repos/builtin/packages/easi/package.py72
-rw-r--r--var/spack/repos/builtin/packages/easybuild/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ebms/package.py36
-rw-r--r--var/spack/repos/builtin/packages/ecbuild/package.py16
-rw-r--r--var/spack/repos/builtin/packages/eccodes/package.py496
-rw-r--r--var/spack/repos/builtin/packages/ecdsautils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ecflow/package.py37
-rw-r--r--var/spack/repos/builtin/packages/eckit/package.py183
-rw-r--r--var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py25
-rw-r--r--var/spack/repos/builtin/packages/ecos/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ecoslim/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py158
-rw-r--r--var/spack/repos/builtin/packages/ecp-proxy-apps/package.py98
-rw-r--r--var/spack/repos/builtin/packages/ed/package.py6
-rw-r--r--var/spack/repos/builtin/packages/editline/package.py14
-rw-r--r--var/spack/repos/builtin/packages/editres/package.py14
-rw-r--r--var/spack/repos/builtin/packages/edm4hep/package.py77
-rw-r--r--var/spack/repos/builtin/packages/eem/package.py39
-rw-r--r--var/spack/repos/builtin/packages/efivar/package.py10
-rw-r--r--var/spack/repos/builtin/packages/eigen/package.py71
-rw-r--r--var/spack/repos/builtin/packages/eigenexa/package.py22
-rw-r--r--var/spack/repos/builtin/packages/elasticsearch/package.py17
-rw-r--r--var/spack/repos/builtin/packages/elemental/package.py237
-rw-r--r--var/spack/repos/builtin/packages/elfio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/elfutils/package.py130
-rw-r--r--var/spack/repos/builtin/packages/elk/package.py261
-rw-r--r--var/spack/repos/builtin/packages/elmerfem/package.py192
-rw-r--r--var/spack/repos/builtin/packages/elpa/package.py266
-rw-r--r--var/spack/repos/builtin/packages/elsd/package.py16
-rw-r--r--var/spack/repos/builtin/packages/elsdc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/elsi/package.py93
-rw-r--r--var/spack/repos/builtin/packages/emacs/package.py132
-rw-r--r--var/spack/repos/builtin/packages/ember/package.py90
-rw-r--r--var/spack/repos/builtin/packages/emboss/package.py18
-rw-r--r--var/spack/repos/builtin/packages/embree/package.py70
-rw-r--r--var/spack/repos/builtin/packages/enca/package.py22
-rw-r--r--var/spack/repos/builtin/packages/enchant/package.py50
-rw-r--r--var/spack/repos/builtin/packages/energyplus/package.py38
-rw-r--r--var/spack/repos/builtin/packages/entrezdirect/package.py26
-rw-r--r--var/spack/repos/builtin/packages/entt/package.py18
-rw-r--r--var/spack/repos/builtin/packages/environment-modules/package.py193
-rw-r--r--var/spack/repos/builtin/packages/enzo/package.py91
-rw-r--r--var/spack/repos/builtin/packages/enzyme/package.py56
-rw-r--r--var/spack/repos/builtin/packages/eospac/package.py178
-rw-r--r--var/spack/repos/builtin/packages/epics-base/package.py39
-rw-r--r--var/spack/repos/builtin/packages/epics-ca-gateway/package.py22
-rw-r--r--var/spack/repos/builtin/packages/epics-pcas/package.py18
-rw-r--r--var/spack/repos/builtin/packages/epics-snmp/package.py28
-rw-r--r--var/spack/repos/builtin/packages/eq-r/package.py48
-rw-r--r--var/spack/repos/builtin/packages/er/package.py68
-rw-r--r--var/spack/repos/builtin/packages/erfa/package.py6
-rw-r--r--var/spack/repos/builtin/packages/erlang/package.py30
-rw-r--r--var/spack/repos/builtin/packages/ermod/package.py16
-rw-r--r--var/spack/repos/builtin/packages/erne/package.py27
-rw-r--r--var/spack/repos/builtin/packages/es-shell/package.py8
-rw-r--r--var/spack/repos/builtin/packages/esmf/package.py214
-rw-r--r--var/spack/repos/builtin/packages/espanso/package.py30
-rw-r--r--var/spack/repos/builtin/packages/essl/package.py60
-rw-r--r--var/spack/repos/builtin/packages/esys-particle/package.py28
-rw-r--r--var/spack/repos/builtin/packages/etcd/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ethminer/package.py27
-rw-r--r--var/spack/repos/builtin/packages/ethtool/package.py14
-rw-r--r--var/spack/repos/builtin/packages/etsf-io/package.py20
-rw-r--r--var/spack/repos/builtin/packages/eve/package.py12
-rw-r--r--var/spack/repos/builtin/packages/evemu/package.py22
-rw-r--r--var/spack/repos/builtin/packages/everytrace-example/package.py8
-rw-r--r--var/spack/repos/builtin/packages/everytrace/package.py26
-rw-r--r--var/spack/repos/builtin/packages/evieext/package.py6
-rw-r--r--var/spack/repos/builtin/packages/evtgen/package.py98
-rw-r--r--var/spack/repos/builtin/packages/exa/package.py12
-rw-r--r--var/spack/repos/builtin/packages/exabayes/package.py32
-rw-r--r--var/spack/repos/builtin/packages/exaca/package.py32
-rw-r--r--var/spack/repos/builtin/packages/exago/package.py143
-rw-r--r--var/spack/repos/builtin/packages/examinimd/package.py53
-rw-r--r--var/spack/repos/builtin/packages/examl/package.py36
-rw-r--r--var/spack/repos/builtin/packages/exampm/package.py21
-rw-r--r--var/spack/repos/builtin/packages/exasp2/package.py62
-rw-r--r--var/spack/repos/builtin/packages/exawind/package.py30
-rw-r--r--var/spack/repos/builtin/packages/exaworks/package.py28
-rw-r--r--var/spack/repos/builtin/packages/exciting/package.py248
-rw-r--r--var/spack/repos/builtin/packages/exempi/package.py26
-rw-r--r--var/spack/repos/builtin/packages/exiv2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/exmcutils/package.py28
-rw-r--r--var/spack/repos/builtin/packages/exodusii/package.py110
-rw-r--r--var/spack/repos/builtin/packages/exonerate-gff3/package.py10
-rw-r--r--var/spack/repos/builtin/packages/exonerate/package.py12
-rw-r--r--var/spack/repos/builtin/packages/expat/package.py106
-rw-r--r--var/spack/repos/builtin/packages/expect/package.py58
-rw-r--r--var/spack/repos/builtin/packages/express/package.py45
-rw-r--r--var/spack/repos/builtin/packages/extrae/package.py129
-rw-r--r--var/spack/repos/builtin/packages/exuberant-ctags/package.py5
-rw-r--r--var/spack/repos/builtin/packages/eztrace/package.py68
-rw-r--r--var/spack/repos/builtin/packages/f2c/package.py10
-rw-r--r--var/spack/repos/builtin/packages/f3d/package.py6
-rw-r--r--var/spack/repos/builtin/packages/f77-zmq/package.py34
-rw-r--r--var/spack/repos/builtin/packages/f90cache/package.py18
-rw-r--r--var/spack/repos/builtin/packages/fabtests/package.py27
-rw-r--r--var/spack/repos/builtin/packages/fairlogger/package.py108
-rw-r--r--var/spack/repos/builtin/packages/faiss/package.py123
-rw-r--r--var/spack/repos/builtin/packages/fakechroot/package.py8
-rw-r--r--var/spack/repos/builtin/packages/fakexrandr/package.py37
-rw-r--r--var/spack/repos/builtin/packages/falcon/package.py20
-rw-r--r--var/spack/repos/builtin/packages/fann/package.py4
-rw-r--r--var/spack/repos/builtin/packages/faodel/package.py111
-rw-r--r--var/spack/repos/builtin/packages/fasd/package.py8
-rw-r--r--var/spack/repos/builtin/packages/fast-global-file-status/package.py36
-rw-r--r--var/spack/repos/builtin/packages/fasta/package.py32
-rw-r--r--var/spack/repos/builtin/packages/fastani/package.py18
-rw-r--r--var/spack/repos/builtin/packages/fastdb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/fastdfs/package.py24
-rw-r--r--var/spack/repos/builtin/packages/fastjar/package.py6
-rw-r--r--var/spack/repos/builtin/packages/fastjet/package.py78
-rw-r--r--var/spack/repos/builtin/packages/fastjson/package.py8
-rw-r--r--var/spack/repos/builtin/packages/fastmath/package.py26
-rw-r--r--var/spack/repos/builtin/packages/fastme/package.py14
-rw-r--r--var/spack/repos/builtin/packages/fastp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/fastphase/package.py10
-rw-r--r--var/spack/repos/builtin/packages/fastq-screen/package.py22
-rw-r--r--var/spack/repos/builtin/packages/fastqc/package.py28
-rw-r--r--var/spack/repos/builtin/packages/fastqvalidator/package.py24
-rw-r--r--var/spack/repos/builtin/packages/fasttext/package.py10
-rw-r--r--var/spack/repos/builtin/packages/fasttransforms/package.py26
-rw-r--r--var/spack/repos/builtin/packages/fasttree/package.py24
-rw-r--r--var/spack/repos/builtin/packages/fastx-toolkit/package.py10
-rw-r--r--var/spack/repos/builtin/packages/faust/package.py10
-rw-r--r--var/spack/repos/builtin/packages/fbgemm/package.py85
-rw-r--r--var/spack/repos/builtin/packages/fca/package.py11
-rw-r--r--var/spack/repos/builtin/packages/fcgi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/fd-find/package.py10
-rw-r--r--var/spack/repos/builtin/packages/fd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/fdb/package.py62
-rw-r--r--var/spack/repos/builtin/packages/fdupes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/feh/package.py22
-rw-r--r--var/spack/repos/builtin/packages/fenics-dolfinx/package.py60
-rw-r--r--var/spack/repos/builtin/packages/fenics-ufcx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/fenics/package.py249
-rw-r--r--var/spack/repos/builtin/packages/feq-parse/package.py14
-rw-r--r--var/spack/repos/builtin/packages/fermi/package.py16
-rw-r--r--var/spack/repos/builtin/packages/fermikit/package.py13
-rw-r--r--var/spack/repos/builtin/packages/fermisciencetools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ferret/package.py260
-rw-r--r--var/spack/repos/builtin/packages/feynhiggs/package.py16
-rw-r--r--var/spack/repos/builtin/packages/ffb/package.py222
-rw-r--r--var/spack/repos/builtin/packages/ffmpeg/package.py249
-rw-r--r--var/spack/repos/builtin/packages/ffr/package.py161
-rw-r--r--var/spack/repos/builtin/packages/ffsb/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ffte/package.py124
-rw-r--r--var/spack/repos/builtin/packages/fftw/package.py224
-rw-r--r--var/spack/repos/builtin/packages/fftx/package.py77
-rw-r--r--var/spack/repos/builtin/packages/fgsl/package.py32
-rw-r--r--var/spack/repos/builtin/packages/fides/package.py29
-rw-r--r--var/spack/repos/builtin/packages/figlet/package.py16
-rw-r--r--var/spack/repos/builtin/packages/figtree/package.py29
-rw-r--r--var/spack/repos/builtin/packages/file/package.py32
-rw-r--r--var/spack/repos/builtin/packages/filebench/package.py18
-rw-r--r--var/spack/repos/builtin/packages/filo/package.py24
-rw-r--r--var/spack/repos/builtin/packages/filtlong/package.py14
-rw-r--r--var/spack/repos/builtin/packages/fimpute/package.py10
-rw-r--r--var/spack/repos/builtin/packages/find-circ/package.py26
-rw-r--r--var/spack/repos/builtin/packages/findbugs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/findutils/package.py66
-rw-r--r--var/spack/repos/builtin/packages/fio/package.py42
-rw-r--r--var/spack/repos/builtin/packages/fipscheck/package.py22
-rw-r--r--var/spack/repos/builtin/packages/fish/package.py68
-rw-r--r--var/spack/repos/builtin/packages/fixesproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/fj/package.py28
-rw-r--r--var/spack/repos/builtin/packages/fjcontrib/package.py115
-rw-r--r--var/spack/repos/builtin/packages/fl/package.py26
-rw-r--r--var/spack/repos/builtin/packages/flac/package.py14
-rw-r--r--var/spack/repos/builtin/packages/flamemaster/package.py370
-rw-r--r--var/spack/repos/builtin/packages/flann/package.py78
-rw-r--r--var/spack/repos/builtin/packages/flap/package.py14
-rw-r--r--var/spack/repos/builtin/packages/flash/package.py8
-rw-r--r--var/spack/repos/builtin/packages/flashdimmsim/package.py19
-rw-r--r--var/spack/repos/builtin/packages/flatbuffers/package.py74
-rw-r--r--var/spack/repos/builtin/packages/flatcc/package.py36
-rw-r--r--var/spack/repos/builtin/packages/flcl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/flecsale/package.py38
-rw-r--r--var/spack/repos/builtin/packages/flecsi/package.py312
-rw-r--r--var/spack/repos/builtin/packages/flecsph/package.py36
-rw-r--r--var/spack/repos/builtin/packages/fleur/package.py244
-rw-r--r--var/spack/repos/builtin/packages/flex/package.py92
-rw-r--r--var/spack/repos/builtin/packages/flexi/package.py172
-rw-r--r--var/spack/repos/builtin/packages/flexiblas/package.py13
-rw-r--r--var/spack/repos/builtin/packages/flibcpp/package.py98
-rw-r--r--var/spack/repos/builtin/packages/flink/package.py16
-rw-r--r--var/spack/repos/builtin/packages/flint/package.py24
-rw-r--r--var/spack/repos/builtin/packages/flit/package.py24
-rw-r--r--var/spack/repos/builtin/packages/fltk/package.py100
-rw-r--r--var/spack/repos/builtin/packages/flume/package.py16
-rw-r--r--var/spack/repos/builtin/packages/flux-core/package.py230
-rw-r--r--var/spack/repos/builtin/packages/flux-pmix/package.py46
-rw-r--r--var/spack/repos/builtin/packages/flux-sched/package.py160
-rw-r--r--var/spack/repos/builtin/packages/fluxbox/package.py20
-rw-r--r--var/spack/repos/builtin/packages/fms/package.py103
-rw-r--r--var/spack/repos/builtin/packages/fmt/package.py101
-rw-r--r--var/spack/repos/builtin/packages/foam-extend/package.py351
-rw-r--r--var/spack/repos/builtin/packages/folly/package.py52
-rw-r--r--var/spack/repos/builtin/packages/font-util/package.py285
-rw-r--r--var/spack/repos/builtin/packages/fontcacheproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/fontconfig/package.py59
-rw-r--r--var/spack/repos/builtin/packages/fontsproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/fonttosfnt/package.py12
-rw-r--r--var/spack/repos/builtin/packages/form/package.py45
-rw-r--r--var/spack/repos/builtin/packages/formetis/package.py79
-rw-r--r--var/spack/repos/builtin/packages/fortran/package.py11
-rw-r--r--var/spack/repos/builtin/packages/fortrilinos/package.py100
-rw-r--r--var/spack/repos/builtin/packages/fossil/package.py14
-rw-r--r--var/spack/repos/builtin/packages/foundationdb/package.py28
-rw-r--r--var/spack/repos/builtin/packages/fox/package.py54
-rw-r--r--var/spack/repos/builtin/packages/fp16/package.py66
-rw-r--r--var/spack/repos/builtin/packages/fpc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/fpchecker/package.py22
-rw-r--r--var/spack/repos/builtin/packages/fping/package.py16
-rw-r--r--var/spack/repos/builtin/packages/fplll/package.py33
-rw-r--r--var/spack/repos/builtin/packages/fpm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/fpocket/package.py15
-rw-r--r--var/spack/repos/builtin/packages/fqtrim/package.py8
-rw-r--r--var/spack/repos/builtin/packages/fr-hit/package.py37
-rw-r--r--var/spack/repos/builtin/packages/fraggenescan/package.py18
-rw-r--r--var/spack/repos/builtin/packages/freebayes/package.py76
-rw-r--r--var/spack/repos/builtin/packages/freefem/package.py69
-rw-r--r--var/spack/repos/builtin/packages/freeglut/package.py78
-rw-r--r--var/spack/repos/builtin/packages/freeimage/package.py8
-rw-r--r--var/spack/repos/builtin/packages/freeipmi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/freetype/package.py67
-rw-r--r--var/spack/repos/builtin/packages/freexl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/fribidi/package.py20
-rw-r--r--var/spack/repos/builtin/packages/frontier-client/package.py83
-rw-r--r--var/spack/repos/builtin/packages/frontistr/package.py59
-rw-r--r--var/spack/repos/builtin/packages/fseq/package.py14
-rw-r--r--var/spack/repos/builtin/packages/fsl/package.py270
-rw-r--r--var/spack/repos/builtin/packages/fslsfonts/package.py10
-rw-r--r--var/spack/repos/builtin/packages/fstobdf/package.py12
-rw-r--r--var/spack/repos/builtin/packages/fstrack/package.py42
-rw-r--r--var/spack/repos/builtin/packages/ftgl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/ftjam/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ftk/package.py46
-rw-r--r--var/spack/repos/builtin/packages/ftobjectlibrary/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ftxui/package.py4
-rw-r--r--var/spack/repos/builtin/packages/fujitsu-fftw/package.py106
-rw-r--r--var/spack/repos/builtin/packages/fujitsu-frontistr/package.py52
-rw-r--r--var/spack/repos/builtin/packages/fujitsu-mpi/package.py47
-rw-r--r--var/spack/repos/builtin/packages/fujitsu-ssl2/package.py18
-rw-r--r--var/spack/repos/builtin/packages/fullock/package.py26
-rw-r--r--var/spack/repos/builtin/packages/funhpc/package.py27
-rw-r--r--var/spack/repos/builtin/packages/fuse-overlayfs/package.py34
-rw-r--r--var/spack/repos/builtin/packages/fxdiv/package.py22
-rw-r--r--var/spack/repos/builtin/packages/fxt/package.py43
-rw-r--r--var/spack/repos/builtin/packages/fyba/package.py16
-rw-r--r--var/spack/repos/builtin/packages/fzf/package.py52
-rw-r--r--var/spack/repos/builtin/packages/g2/package.py21
-rw-r--r--var/spack/repos/builtin/packages/g2c/package.py26
-rw-r--r--var/spack/repos/builtin/packages/g2o/package.py42
-rw-r--r--var/spack/repos/builtin/packages/g2tmpl/package.py10
-rw-r--r--var/spack/repos/builtin/packages/g4abla/package.py21
-rw-r--r--var/spack/repos/builtin/packages/g4emlow/package.py31
-rw-r--r--var/spack/repos/builtin/packages/g4ensdfstate/package.py25
-rw-r--r--var/spack/repos/builtin/packages/g4incl/package.py19
-rw-r--r--var/spack/repos/builtin/packages/g4ndl/package.py23
-rw-r--r--var/spack/repos/builtin/packages/g4neutronxs/package.py23
-rw-r--r--var/spack/repos/builtin/packages/g4particlexs/package.py29
-rw-r--r--var/spack/repos/builtin/packages/g4photonevaporation/package.py34
-rw-r--r--var/spack/repos/builtin/packages/g4pii/package.py19
-rw-r--r--var/spack/repos/builtin/packages/g4radioactivedecay/package.py34
-rw-r--r--var/spack/repos/builtin/packages/g4realsurface/package.py30
-rw-r--r--var/spack/repos/builtin/packages/g4saiddata/package.py21
-rw-r--r--var/spack/repos/builtin/packages/g4tendl/package.py23
-rw-r--r--var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py32
-rw-r--r--var/spack/repos/builtin/packages/gams/package.py28
-rw-r--r--var/spack/repos/builtin/packages/ganglia/package.py28
-rw-r--r--var/spack/repos/builtin/packages/gapbs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/gapcloser/package.py8
-rw-r--r--var/spack/repos/builtin/packages/gapfiller/package.py37
-rw-r--r--var/spack/repos/builtin/packages/garfieldpp/package.py28
-rw-r--r--var/spack/repos/builtin/packages/gasnet/package.py210
-rw-r--r--var/spack/repos/builtin/packages/gatb-core/package.py10
-rw-r--r--var/spack/repos/builtin/packages/gate/package.py98
-rw-r--r--var/spack/repos/builtin/packages/gatepet2stir/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gatetools/package.py52
-rw-r--r--var/spack/repos/builtin/packages/gatk/package.py62
-rw-r--r--var/spack/repos/builtin/packages/gaudi/package.py165
-rw-r--r--var/spack/repos/builtin/packages/gaussian-src/package.py149
-rw-r--r--var/spack/repos/builtin/packages/gaussian-view/package.py105
-rw-r--r--var/spack/repos/builtin/packages/gaussian/package.py54
-rw-r--r--var/spack/repos/builtin/packages/gawk/package.py54
-rw-r--r--var/spack/repos/builtin/packages/gbl/package.py26
-rw-r--r--var/spack/repos/builtin/packages/gblocks/package.py10
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py889
-rw-r--r--var/spack/repos/builtin/packages/gccmakedep/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gccxml/package.py11
-rw-r--r--var/spack/repos/builtin/packages/gchp/package.py73
-rw-r--r--var/spack/repos/builtin/packages/gconf/package.py26
-rw-r--r--var/spack/repos/builtin/packages/gcta/package.py66
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py1072
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py137
-rw-r--r--var/spack/repos/builtin/packages/gdbm/package.py44
-rw-r--r--var/spack/repos/builtin/packages/gdk-pixbuf/package.py137
-rw-r--r--var/spack/repos/builtin/packages/gdl/package.py182
-rw-r--r--var/spack/repos/builtin/packages/gdrcopy/package.py30
-rw-r--r--var/spack/repos/builtin/packages/geant4-data/package.py65
-rw-r--r--var/spack/repos/builtin/packages/geant4-vmc/package.py50
-rw-r--r--var/spack/repos/builtin/packages/geant4/package.py289
-rw-r--r--var/spack/repos/builtin/packages/gearshifft/package.py62
-rw-r--r--var/spack/repos/builtin/packages/gemma/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gemmlowp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/genemark-et/package.py56
-rw-r--r--var/spack/repos/builtin/packages/genesis/package.py11
-rw-r--r--var/spack/repos/builtin/packages/genfit/package.py24
-rw-r--r--var/spack/repos/builtin/packages/gengeo/package.py30
-rw-r--r--var/spack/repos/builtin/packages/gengetopt/package.py32
-rw-r--r--var/spack/repos/builtin/packages/genie/package.py31
-rw-r--r--var/spack/repos/builtin/packages/genomefinisher/package.py19
-rw-r--r--var/spack/repos/builtin/packages/genometools/package.py24
-rw-r--r--var/spack/repos/builtin/packages/genomeworks/package.py50
-rw-r--r--var/spack/repos/builtin/packages/genrich/package.py6
-rw-r--r--var/spack/repos/builtin/packages/geode/package.py16
-rw-r--r--var/spack/repos/builtin/packages/geoip-api-c/package.py16
-rw-r--r--var/spack/repos/builtin/packages/geoip/package.py8
-rw-r--r--var/spack/repos/builtin/packages/geopm/package.py132
-rw-r--r--var/spack/repos/builtin/packages/geos/package.py80
-rw-r--r--var/spack/repos/builtin/packages/gettext/package.py107
-rw-r--r--var/spack/repos/builtin/packages/gflags/package.py10
-rw-r--r--var/spack/repos/builtin/packages/gfsio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/gh/package.py26
-rw-r--r--var/spack/repos/builtin/packages/ghost/package.py57
-rw-r--r--var/spack/repos/builtin/packages/ghostscript-fonts/package.py13
-rw-r--r--var/spack/repos/builtin/packages/ghostscript/package.py93
-rw-r--r--var/spack/repos/builtin/packages/giblib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/giflib/package.py60
-rw-r--r--var/spack/repos/builtin/packages/ginac/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/package.py220
-rw-r--r--var/spack/repos/builtin/packages/giraph/package.py25
-rw-r--r--var/spack/repos/builtin/packages/git-annex/package.py78
-rw-r--r--var/spack/repos/builtin/packages/git-fat-git/package.py14
-rw-r--r--var/spack/repos/builtin/packages/git-imerge/package.py36
-rw-r--r--var/spack/repos/builtin/packages/git-lfs/package.py56
-rw-r--r--var/spack/repos/builtin/packages/git/package.py582
-rw-r--r--var/spack/repos/builtin/packages/gitconddb/package.py52
-rw-r--r--var/spack/repos/builtin/packages/gl2ps/package.py49
-rw-r--r--var/spack/repos/builtin/packages/glew/package.py69
-rw-r--r--var/spack/repos/builtin/packages/glfmultiples/package.py27
-rw-r--r--var/spack/repos/builtin/packages/glfw/package.py46
-rw-r--r--var/spack/repos/builtin/packages/glib-networking/package.py18
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py368
-rw-r--r--var/spack/repos/builtin/packages/glibmm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/glimmer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/glm/package.py28
-rw-r--r--var/spack/repos/builtin/packages/global/package.py25
-rw-r--r--var/spack/repos/builtin/packages/globalarrays/package.py74
-rw-r--r--var/spack/repos/builtin/packages/glog/package.py40
-rw-r--r--var/spack/repos/builtin/packages/gloo/package.py40
-rw-r--r--var/spack/repos/builtin/packages/glpk/package.py16
-rw-r--r--var/spack/repos/builtin/packages/glproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/gluegen/package.py69
-rw-r--r--var/spack/repos/builtin/packages/glusterfs/package.py46
-rw-r--r--var/spack/repos/builtin/packages/glvis/package.py244
-rw-r--r--var/spack/repos/builtin/packages/glx/package.py21
-rw-r--r--var/spack/repos/builtin/packages/gmake/package.py56
-rw-r--r--var/spack/repos/builtin/packages/gmap-gsnap/package.py71
-rw-r--r--var/spack/repos/builtin/packages/gmime/package.py8
-rw-r--r--var/spack/repos/builtin/packages/gmodel/package.py15
-rw-r--r--var/spack/repos/builtin/packages/gmp/package.py49
-rw-r--r--var/spack/repos/builtin/packages/gmsh/package.py243
-rw-r--r--var/spack/repos/builtin/packages/gmt/package.py198
-rw-r--r--var/spack/repos/builtin/packages/gmtsar/package.py8
-rw-r--r--var/spack/repos/builtin/packages/gnat/package.py10
-rw-r--r--var/spack/repos/builtin/packages/gnds/package.py12
-rw-r--r--var/spack/repos/builtin/packages/gnome-common/package.py36
-rw-r--r--var/spack/repos/builtin/packages/gnuconfig/package.py16
-rw-r--r--var/spack/repos/builtin/packages/gnupg/package.py222
-rw-r--r--var/spack/repos/builtin/packages/gnuplot/package.py202
-rw-r--r--var/spack/repos/builtin/packages/gnuradio/package.py67
-rw-r--r--var/spack/repos/builtin/packages/gnutls/package.py96
-rw-r--r--var/spack/repos/builtin/packages/go-bootstrap/package.py63
-rw-r--r--var/spack/repos/builtin/packages/go-md2man/package.py42
-rw-r--r--var/spack/repos/builtin/packages/go/package.py261
-rw-r--r--var/spack/repos/builtin/packages/gobject-introspection/package.py80
-rw-r--r--var/spack/repos/builtin/packages/goblin-hmc-sim/package.py4
-rw-r--r--var/spack/repos/builtin/packages/goma/package.py115
-rw-r--r--var/spack/repos/builtin/packages/google-crc32c/package.py14
-rw-r--r--var/spack/repos/builtin/packages/googletest/package.py69
-rw-r--r--var/spack/repos/builtin/packages/gosam-contrib/package.py33
-rw-r--r--var/spack/repos/builtin/packages/goshimmer/package.py40
-rw-r--r--var/spack/repos/builtin/packages/gotcha/package.py27
-rw-r--r--var/spack/repos/builtin/packages/gource/package.py36
-rw-r--r--var/spack/repos/builtin/packages/gpdb/package.py55
-rw-r--r--var/spack/repos/builtin/packages/gperf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gperftools/package.py50
-rw-r--r--var/spack/repos/builtin/packages/gpgme/package.py34
-rw-r--r--var/spack/repos/builtin/packages/gpi-2/package.py172
-rw-r--r--var/spack/repos/builtin/packages/gpi-space/package.py72
-rw-r--r--var/spack/repos/builtin/packages/gplates/package.py66
-rw-r--r--var/spack/repos/builtin/packages/gprolog/package.py12
-rw-r--r--var/spack/repos/builtin/packages/gptl/package.py36
-rw-r--r--var/spack/repos/builtin/packages/gptune/package.py345
-rw-r--r--var/spack/repos/builtin/packages/gpu-burn/package.py52
-rw-r--r--var/spack/repos/builtin/packages/gqrx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gr-osmosdr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/grabix/package.py22
-rw-r--r--var/spack/repos/builtin/packages/grace/package.py65
-rw-r--r--var/spack/repos/builtin/packages/grackle/package.py65
-rw-r--r--var/spack/repos/builtin/packages/gradle/package.py184
-rw-r--r--var/spack/repos/builtin/packages/grads/package.py42
-rw-r--r--var/spack/repos/builtin/packages/grafana/package.py20
-rw-r--r--var/spack/repos/builtin/packages/grandr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/graph500/package.py26
-rw-r--r--var/spack/repos/builtin/packages/graphblast/package.py37
-rw-r--r--var/spack/repos/builtin/packages/graphicsmagick/package.py50
-rw-r--r--var/spack/repos/builtin/packages/graphite2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/graphlib/package.py11
-rw-r--r--var/spack/repos/builtin/packages/graphmap/package.py16
-rw-r--r--var/spack/repos/builtin/packages/graphviz/package.py258
-rw-r--r--var/spack/repos/builtin/packages/grass/package.py341
-rw-r--r--var/spack/repos/builtin/packages/graylog2-server/package.py16
-rw-r--r--var/spack/repos/builtin/packages/grep/package.py18
-rw-r--r--var/spack/repos/builtin/packages/grib-api/package.py229
-rw-r--r--var/spack/repos/builtin/packages/grib-util/package.py28
-rw-r--r--var/spack/repos/builtin/packages/grid/package.py187
-rw-r--r--var/spack/repos/builtin/packages/gridlab-d/package.py40
-rw-r--r--var/spack/repos/builtin/packages/grnboost/package.py39
-rw-r--r--var/spack/repos/builtin/packages/groff/package.py75
-rw-r--r--var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py34
-rw-r--r--var/spack/repos/builtin/packages/gromacs-swaxs/package.py191
-rw-r--r--var/spack/repos/builtin/packages/gromacs/package.py632
-rw-r--r--var/spack/repos/builtin/packages/grpc/package.py117
-rw-r--r--var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gsl/package.py52
-rw-r--r--var/spack/repos/builtin/packages/gslib/package.py78
-rw-r--r--var/spack/repos/builtin/packages/gtk-doc/package.py61
-rw-r--r--var/spack/repos/builtin/packages/gtkmm/package.py32
-rw-r--r--var/spack/repos/builtin/packages/gtkorvo-atl/package.py18
-rw-r--r--var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py8
-rw-r--r--var/spack/repos/builtin/packages/gtkorvo-dill/package.py20
-rw-r--r--var/spack/repos/builtin/packages/gtkorvo-enet/package.py4
-rw-r--r--var/spack/repos/builtin/packages/gtkplus/package.py159
-rw-r--r--var/spack/repos/builtin/packages/gtksourceview/package.py48
-rw-r--r--var/spack/repos/builtin/packages/gts/package.py4
-rw-r--r--var/spack/repos/builtin/packages/guacamole-client/package.py6
-rw-r--r--var/spack/repos/builtin/packages/guacamole-server/package.py20
-rw-r--r--var/spack/repos/builtin/packages/guidance/package.py43
-rw-r--r--var/spack/repos/builtin/packages/guile/package.py76
-rw-r--r--var/spack/repos/builtin/packages/gunrock/package.py194
-rw-r--r--var/spack/repos/builtin/packages/gurobi/package.py36
-rw-r--r--var/spack/repos/builtin/packages/gxsview/package.py33
-rw-r--r--var/spack/repos/builtin/packages/gzip/package.py10
-rw-r--r--var/spack/repos/builtin/packages/h2database/package.py24
-rw-r--r--var/spack/repos/builtin/packages/h5bench/package.py60
-rw-r--r--var/spack/repos/builtin/packages/h5cpp/package.py29
-rw-r--r--var/spack/repos/builtin/packages/h5hut/package.py51
-rw-r--r--var/spack/repos/builtin/packages/h5part/package.py20
-rw-r--r--var/spack/repos/builtin/packages/h5utils/package.py51
-rw-r--r--var/spack/repos/builtin/packages/h5z-zfp/package.py64
-rw-r--r--var/spack/repos/builtin/packages/hacckernels/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hackrf-host/package.py14
-rw-r--r--var/spack/repos/builtin/packages/hadoop-xrootd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/hadoop/package.py45
-rw-r--r--var/spack/repos/builtin/packages/hal/package.py95
-rw-r--r--var/spack/repos/builtin/packages/halc/package.py22
-rw-r--r--var/spack/repos/builtin/packages/half/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hama/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hapcut2/package.py60
-rw-r--r--var/spack/repos/builtin/packages/hapdip/package.py8
-rw-r--r--var/spack/repos/builtin/packages/haploview/package.py23
-rw-r--r--var/spack/repos/builtin/packages/haproxy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hardlink/package.py8
-rw-r--r--var/spack/repos/builtin/packages/harfbuzz/package.py132
-rw-r--r--var/spack/repos/builtin/packages/harminv/package.py18
-rw-r--r--var/spack/repos/builtin/packages/hashcat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/haveged/package.py4
-rw-r--r--var/spack/repos/builtin/packages/hazelcast/package.py18
-rw-r--r--var/spack/repos/builtin/packages/hbase/package.py18
-rw-r--r--var/spack/repos/builtin/packages/hbm-dramsim2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/hc/package.py18
-rw-r--r--var/spack/repos/builtin/packages/hcoll/package.py11
-rw-r--r--var/spack/repos/builtin/packages/hdf-eos2/package.py78
-rw-r--r--var/spack/repos/builtin/packages/hdf-eos5/package.py82
-rw-r--r--var/spack/repos/builtin/packages/hdf/package.py278
-rw-r--r--var/spack/repos/builtin/packages/hdf5-blosc/package.py67
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py22
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-async/package.py32
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-log/package.py26
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py635
-rw-r--r--var/spack/repos/builtin/packages/hdfview/package.py43
-rw-r--r--var/spack/repos/builtin/packages/healpix-cxx/package.py17
-rw-r--r--var/spack/repos/builtin/packages/heaptrack/package.py22
-rw-r--r--var/spack/repos/builtin/packages/heasoft/package.py151
-rw-r--r--var/spack/repos/builtin/packages/heffte/package.py159
-rw-r--r--var/spack/repos/builtin/packages/helib/package.py48
-rw-r--r--var/spack/repos/builtin/packages/helics/package.py165
-rw-r--r--var/spack/repos/builtin/packages/help2man/package.py10
-rw-r--r--var/spack/repos/builtin/packages/henson/package.py26
-rw-r--r--var/spack/repos/builtin/packages/hepmc/package.py39
-rw-r--r--var/spack/repos/builtin/packages/hepmc3/package.py72
-rw-r--r--var/spack/repos/builtin/packages/hepmcanalysis/package.py41
-rw-r--r--var/spack/repos/builtin/packages/heppdt/package.py21
-rw-r--r--var/spack/repos/builtin/packages/heputils/package.py42
-rw-r--r--var/spack/repos/builtin/packages/hercules/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hermes/package.py32
-rw-r--r--var/spack/repos/builtin/packages/herwig3/package.py108
-rw-r--r--var/spack/repos/builtin/packages/herwigpp/package.py55
-rw-r--r--var/spack/repos/builtin/packages/hevea/package.py22
-rw-r--r--var/spack/repos/builtin/packages/hibench/package.py20
-rw-r--r--var/spack/repos/builtin/packages/hic-pro/package.py69
-rw-r--r--var/spack/repos/builtin/packages/hicolor-icon-theme/package.py8
-rw-r--r--var/spack/repos/builtin/packages/hicops/package.py184
-rw-r--r--var/spack/repos/builtin/packages/highfive/package.py45
-rw-r--r--var/spack/repos/builtin/packages/highwayhash/package.py32
-rw-r--r--var/spack/repos/builtin/packages/hiop/package.py274
-rw-r--r--var/spack/repos/builtin/packages/hip-rocclr/package.py227
-rw-r--r--var/spack/repos/builtin/packages/hip/package.py481
-rw-r--r--var/spack/repos/builtin/packages/hipace/package.py94
-rw-r--r--var/spack/repos/builtin/packages/hipblas/package.py203
-rw-r--r--var/spack/repos/builtin/packages/hipcub/package.py142
-rw-r--r--var/spack/repos/builtin/packages/hipfft/package.py93
-rw-r--r--var/spack/repos/builtin/packages/hipfort/package.py120
-rw-r--r--var/spack/repos/builtin/packages/hipify-clang/package.py127
-rw-r--r--var/spack/repos/builtin/packages/hipsolver/package.py108
-rw-r--r--var/spack/repos/builtin/packages/hipsparse/package.py182
-rw-r--r--var/spack/repos/builtin/packages/hipsycl/package.py49
-rw-r--r--var/spack/repos/builtin/packages/hiredis/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hisat2/package.py53
-rw-r--r--var/spack/repos/builtin/packages/hisea/package.py17
-rw-r--r--var/spack/repos/builtin/packages/hive/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hivex/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hmmer/package.py48
-rw-r--r--var/spack/repos/builtin/packages/hohqmesh/package.py16
-rw-r--r--var/spack/repos/builtin/packages/homer/package.py40
-rw-r--r--var/spack/repos/builtin/packages/hoomd-blue/package.py62
-rw-r--r--var/spack/repos/builtin/packages/hoppet/package.py8
-rw-r--r--var/spack/repos/builtin/packages/hotspot/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hpcc/package.py173
-rw-r--r--var/spack/repos/builtin/packages/hpccg/package.py46
-rw-r--r--var/spack/repos/builtin/packages/hpcg/package.py96
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py404
-rw-r--r--var/spack/repos/builtin/packages/hpcviewer/package.py267
-rw-r--r--var/spack/repos/builtin/packages/hpcx-mpi/package.py27
-rw-r--r--var/spack/repos/builtin/packages/hpddm/package.py96
-rw-r--r--var/spack/repos/builtin/packages/hpgmg/package.py86
-rw-r--r--var/spack/repos/builtin/packages/hping/package.py30
-rw-r--r--var/spack/repos/builtin/packages/hpl/package.py160
-rw-r--r--var/spack/repos/builtin/packages/hpx-kokkos/package.py51
-rw-r--r--var/spack/repos/builtin/packages/hpx/package.py261
-rw-r--r--var/spack/repos/builtin/packages/hpx5/package.py125
-rw-r--r--var/spack/repos/builtin/packages/hsa-rocr-dev/package.py181
-rw-r--r--var/spack/repos/builtin/packages/hsakmt-roct/package.py123
-rw-r--r--var/spack/repos/builtin/packages/hsakmt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/hsf-cmaketools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hssp/package.py53
-rw-r--r--var/spack/repos/builtin/packages/hstr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hto4l/package.py39
-rw-r--r--var/spack/repos/builtin/packages/htop/package.py58
-rw-r--r--var/spack/repos/builtin/packages/htslib/package.py76
-rw-r--r--var/spack/repos/builtin/packages/http-get/package.py18
-rw-r--r--var/spack/repos/builtin/packages/http-load/package.py18
-rw-r--r--var/spack/repos/builtin/packages/http-parser/package.py12
-rw-r--r--var/spack/repos/builtin/packages/http-ping/package.py18
-rw-r--r--var/spack/repos/builtin/packages/http-post/package.py18
-rw-r--r--var/spack/repos/builtin/packages/httpd/package.py28
-rw-r--r--var/spack/repos/builtin/packages/httperf/package.py16
-rw-r--r--var/spack/repos/builtin/packages/httpie/package.py42
-rw-r--r--var/spack/repos/builtin/packages/httping/package.py16
-rw-r--r--var/spack/repos/builtin/packages/httpress/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hub/package.py21
-rw-r--r--var/spack/repos/builtin/packages/hudi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hugo/package.py30
-rw-r--r--var/spack/repos/builtin/packages/hunspell/package.py20
-rw-r--r--var/spack/repos/builtin/packages/hw-probe/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hwdata/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py230
-rw-r--r--var/spack/repos/builtin/packages/hybpiper/package.py36
-rw-r--r--var/spack/repos/builtin/packages/hybrid-lambda/package.py39
-rw-r--r--var/spack/repos/builtin/packages/hybridsim/package.py4
-rw-r--r--var/spack/repos/builtin/packages/hydra/package.py4
-rw-r--r--var/spack/repos/builtin/packages/hydrogen/package.py395
-rw-r--r--var/spack/repos/builtin/packages/hyperfine/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hyperscan/package.py20
-rw-r--r--var/spack/repos/builtin/packages/hyphen/package.py16
-rw-r--r--var/spack/repos/builtin/packages/hyphy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/hypre-cmake/package.py139
-rw-r--r--var/spack/repos/builtin/packages/hypre/package.py372
-rw-r--r--var/spack/repos/builtin/packages/hztool/package.py22
-rw-r--r--var/spack/repos/builtin/packages/i3/package.py34
-rw-r--r--var/spack/repos/builtin/packages/ibm-databroker/package.py38
-rw-r--r--var/spack/repos/builtin/packages/ibm-java/package.py78
-rw-r--r--var/spack/repos/builtin/packages/ibmisc/package.py80
-rw-r--r--var/spack/repos/builtin/packages/icarus/package.py37
-rw-r--r--var/spack/repos/builtin/packages/iceauth/package.py10
-rw-r--r--var/spack/repos/builtin/packages/icedtea/package.py282
-rw-r--r--var/spack/repos/builtin/packages/icet/package.py26
-rw-r--r--var/spack/repos/builtin/packages/ico/package.py10
-rw-r--r--var/spack/repos/builtin/packages/icu4c/package.py89
-rw-r--r--var/spack/repos/builtin/packages/id3lib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/idba/package.py14
-rw-r--r--var/spack/repos/builtin/packages/idl/package.py14
-rw-r--r--var/spack/repos/builtin/packages/iegenlib/package.py46
-rw-r--r--var/spack/repos/builtin/packages/ignite/package.py16
-rw-r--r--var/spack/repos/builtin/packages/igprof/package.py18
-rw-r--r--var/spack/repos/builtin/packages/igraph/package.py6
-rw-r--r--var/spack/repos/builtin/packages/igv/package.py29
-rw-r--r--var/spack/repos/builtin/packages/igvtools/package.py19
-rw-r--r--var/spack/repos/builtin/packages/ike-scan/package.py4
-rw-r--r--var/spack/repos/builtin/packages/ilmbase/package.py32
-rw-r--r--var/spack/repos/builtin/packages/ima-evm-utils/package.py20
-rw-r--r--var/spack/repos/builtin/packages/imagemagick/package.py42
-rw-r--r--var/spack/repos/builtin/packages/imake/package.py12
-rw-r--r--var/spack/repos/builtin/packages/imath/package.py6
-rw-r--r--var/spack/repos/builtin/packages/imgui/package.py6
-rw-r--r--var/spack/repos/builtin/packages/imlib2/package.py30
-rw-r--r--var/spack/repos/builtin/packages/imp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/impalajit-llvm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/improved-rdock/package.py94
-rw-r--r--var/spack/repos/builtin/packages/impute2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/infernal/package.py20
-rw-r--r--var/spack/repos/builtin/packages/influxdb/package.py36
-rw-r--r--var/spack/repos/builtin/packages/iniparser/package.py14
-rw-r--r--var/spack/repos/builtin/packages/inputproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/intel-daal/package.py148
-rw-r--r--var/spack/repos/builtin/packages/intel-gpu-tools/package.py34
-rw-r--r--var/spack/repos/builtin/packages/intel-gtpin/package.py68
-rw-r--r--var/spack/repos/builtin/packages/intel-ipp/package.py132
-rw-r--r--var/spack/repos/builtin/packages/intel-llvm/package.py47
-rw-r--r--var/spack/repos/builtin/packages/intel-mkl/package.py198
-rw-r--r--var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py113
-rw-r--r--var/spack/repos/builtin/packages/intel-mpi/package.py178
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py44
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py98
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py35
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py198
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dal/package.py100
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py105
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py24
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py66
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py52
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py102
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py102
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py154
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py205
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py94
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py64
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py52
-rw-r--r--var/spack/repos/builtin/packages/intel-parallel-studio/package.py707
-rw-r--r--var/spack/repos/builtin/packages/intel-pin/package.py48
-rw-r--r--var/spack/repos/builtin/packages/intel-tbb/package.py280
-rw-r--r--var/spack/repos/builtin/packages/intel-xed/package.py94
-rw-r--r--var/spack/repos/builtin/packages/intel/package.py230
-rw-r--r--var/spack/repos/builtin/packages/interproscan/package.py82
-rw-r--r--var/spack/repos/builtin/packages/intltool/package.py30
-rw-r--r--var/spack/repos/builtin/packages/ioapi/package.py58
-rw-r--r--var/spack/repos/builtin/packages/ior/package.py70
-rw-r--r--var/spack/repos/builtin/packages/iozone/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ip/package.py23
-rw-r--r--var/spack/repos/builtin/packages/ip2/package.py19
-rw-r--r--var/spack/repos/builtin/packages/ipcalc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/iperf2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/iperf3/package.py4
-rw-r--r--var/spack/repos/builtin/packages/ipopt/package.py203
-rw-r--r--var/spack/repos/builtin/packages/iproute2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/iptraf-ng/package.py12
-rw-r--r--var/spack/repos/builtin/packages/iq-tree/package.py36
-rw-r--r--var/spack/repos/builtin/packages/irep/package.py8
-rw-r--r--var/spack/repos/builtin/packages/isaac-server/package.py48
-rw-r--r--var/spack/repos/builtin/packages/isaac/package.py53
-rw-r--r--var/spack/repos/builtin/packages/isc-dhcp/package.py22
-rw-r--r--var/spack/repos/builtin/packages/isescan/package.py76
-rw-r--r--var/spack/repos/builtin/packages/isl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/iso-codes/package.py16
-rw-r--r--var/spack/repos/builtin/packages/ispc/package.py88
-rw-r--r--var/spack/repos/builtin/packages/istio/package.py44
-rw-r--r--var/spack/repos/builtin/packages/itensor/package.py173
-rw-r--r--var/spack/repos/builtin/packages/itk/package.py76
-rw-r--r--var/spack/repos/builtin/packages/itstool/package.py22
-rw-r--r--var/spack/repos/builtin/packages/itsx/package.py16
-rw-r--r--var/spack/repos/builtin/packages/iwyu/package.py59
-rw-r--r--var/spack/repos/builtin/packages/jackcess/package.py30
-rw-r--r--var/spack/repos/builtin/packages/jafka/package.py22
-rw-r--r--var/spack/repos/builtin/packages/jags/package.py20
-rw-r--r--var/spack/repos/builtin/packages/jali/package.py42
-rw-r--r--var/spack/repos/builtin/packages/jansi-native/package.py6
-rw-r--r--var/spack/repos/builtin/packages/jansi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/jansson/package.py27
-rw-r--r--var/spack/repos/builtin/packages/jasper/package.py111
-rw-r--r--var/spack/repos/builtin/packages/jbigkit/package.py22
-rw-r--r--var/spack/repos/builtin/packages/jblob/package.py26
-rw-r--r--var/spack/repos/builtin/packages/jchronoss/package.py24
-rw-r--r--var/spack/repos/builtin/packages/jdk/package.py157
-rw-r--r--var/spack/repos/builtin/packages/jellyfish/package.py19
-rw-r--r--var/spack/repos/builtin/packages/jemalloc/package.py79
-rw-r--r--var/spack/repos/builtin/packages/jetty-project/package.py16
-rw-r--r--var/spack/repos/builtin/packages/jhpcn-df/package.py16
-rw-r--r--var/spack/repos/builtin/packages/jimtcl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/jline3/package.py12
-rw-r--r--var/spack/repos/builtin/packages/jmol/package.py20
-rw-r--r--var/spack/repos/builtin/packages/jogl/package.py63
-rw-r--r--var/spack/repos/builtin/packages/jose/package.py16
-rw-r--r--var/spack/repos/builtin/packages/jpegoptim/package.py10
-rw-r--r--var/spack/repos/builtin/packages/jq/package.py22
-rw-r--r--var/spack/repos/builtin/packages/json-c/package.py50
-rw-r--r--var/spack/repos/builtin/packages/json-cwx/package.py27
-rw-r--r--var/spack/repos/builtin/packages/json-glib/package.py46
-rw-r--r--var/spack/repos/builtin/packages/jsoncpp/package.py80
-rw-r--r--var/spack/repos/builtin/packages/jstorm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/jube/package.py96
-rw-r--r--var/spack/repos/builtin/packages/judy/package.py5
-rw-r--r--var/spack/repos/builtin/packages/julea/package.py42
-rw-r--r--var/spack/repos/builtin/packages/julia/package.py366
-rw-r--r--var/spack/repos/builtin/packages/junit4/package.py10
-rw-r--r--var/spack/repos/builtin/packages/k8/package.py16
-rw-r--r--var/spack/repos/builtin/packages/kadath/package.py67
-rw-r--r--var/spack/repos/builtin/packages/kafka/package.py30
-rw-r--r--var/spack/repos/builtin/packages/kahip/package.py70
-rw-r--r--var/spack/repos/builtin/packages/kaiju/package.py16
-rw-r--r--var/spack/repos/builtin/packages/kakoune/package.py18
-rw-r--r--var/spack/repos/builtin/packages/kaks-calculator/package.py27
-rw-r--r--var/spack/repos/builtin/packages/kaldi/package.py142
-rw-r--r--var/spack/repos/builtin/packages/kallisto/package.py53
-rw-r--r--var/spack/repos/builtin/packages/karma/package.py24
-rw-r--r--var/spack/repos/builtin/packages/kassiopeia/package.py89
-rw-r--r--var/spack/repos/builtin/packages/kbd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/kbproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/kcov/package.py20
-rw-r--r--var/spack/repos/builtin/packages/kdiff3/package.py10
-rw-r--r--var/spack/repos/builtin/packages/kea/package.py14
-rw-r--r--var/spack/repos/builtin/packages/kealib/package.py56
-rw-r--r--var/spack/repos/builtin/packages/keepalived/package.py25
-rw-r--r--var/spack/repos/builtin/packages/keepassxc/package.py82
-rw-r--r--var/spack/repos/builtin/packages/kentutils/package.py28
-rw-r--r--var/spack/repos/builtin/packages/keyutils/package.py16
-rw-r--r--var/spack/repos/builtin/packages/kibana/package.py8
-rw-r--r--var/spack/repos/builtin/packages/kicad/package.py105
-rw-r--r--var/spack/repos/builtin/packages/kim-api/package.py60
-rw-r--r--var/spack/repos/builtin/packages/kinesis/package.py12
-rw-r--r--var/spack/repos/builtin/packages/kineto/package.py36
-rw-r--r--var/spack/repos/builtin/packages/kitty/package.py69
-rw-r--r--var/spack/repos/builtin/packages/kmergenie/package.py15
-rw-r--r--var/spack/repos/builtin/packages/kmod/package.py33
-rw-r--r--var/spack/repos/builtin/packages/knem/package.py60
-rw-r--r--var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py56
-rw-r--r--var/spack/repos/builtin/packages/kokkos-kernels/package.py90
-rw-r--r--var/spack/repos/builtin/packages/kokkos-legacy/package.py406
-rw-r--r--var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py31
-rw-r--r--var/spack/repos/builtin/packages/kokkos/package.py306
-rw-r--r--var/spack/repos/builtin/packages/kraken/package.py14
-rw-r--r--var/spack/repos/builtin/packages/kraken2/package.py38
-rw-r--r--var/spack/repos/builtin/packages/krb5/package.py78
-rw-r--r--var/spack/repos/builtin/packages/krims/package.py23
-rw-r--r--var/spack/repos/builtin/packages/kripke/package.py39
-rw-r--r--var/spack/repos/builtin/packages/kubernetes/package.py12
-rw-r--r--var/spack/repos/builtin/packages/kvasir-mpl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/kvtree/package.py63
-rw-r--r--var/spack/repos/builtin/packages/kylin/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ladot/package.py14
-rw-r--r--var/spack/repos/builtin/packages/laghos/package.py63
-rw-r--r--var/spack/repos/builtin/packages/lame/package.py8
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py1107
-rw-r--r--var/spack/repos/builtin/packages/landsfcutil/package.py24
-rw-r--r--var/spack/repos/builtin/packages/lanl-cmake-modules/package.py11
-rw-r--r--var/spack/repos/builtin/packages/lapackpp/package.py74
-rw-r--r--var/spack/repos/builtin/packages/last/package.py24
-rw-r--r--var/spack/repos/builtin/packages/lastz/package.py14
-rw-r--r--var/spack/repos/builtin/packages/laszip/package.py4
-rw-r--r--var/spack/repos/builtin/packages/latex2html/package.py109
-rw-r--r--var/spack/repos/builtin/packages/latte/package.py58
-rw-r--r--var/spack/repos/builtin/packages/launchmon/package.py40
-rw-r--r--var/spack/repos/builtin/packages/lazyten/package.py48
-rw-r--r--var/spack/repos/builtin/packages/lbann/package.py688
-rw-r--r--var/spack/repos/builtin/packages/lbxproxy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/lbzip2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/lcals/package.py108
-rw-r--r--var/spack/repos/builtin/packages/lcgenv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/lcio/package.py132
-rw-r--r--var/spack/repos/builtin/packages/lcms/package.py22
-rw-r--r--var/spack/repos/builtin/packages/lcov/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ldak/package.py42
-rw-r--r--var/spack/repos/builtin/packages/ldc-bootstrap/package.py20
-rw-r--r--var/spack/repos/builtin/packages/ldc/package.py47
-rw-r--r--var/spack/repos/builtin/packages/legion/package.py596
-rw-r--r--var/spack/repos/builtin/packages/lemon/package.py4
-rw-r--r--var/spack/repos/builtin/packages/leptonica/package.py26
-rw-r--r--var/spack/repos/builtin/packages/lerc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/less/package.py8
-rw-r--r--var/spack/repos/builtin/packages/lesstif/package.py34
-rw-r--r--var/spack/repos/builtin/packages/leveldb/package.py88
-rw-r--r--var/spack/repos/builtin/packages/lftp/package.py36
-rw-r--r--var/spack/repos/builtin/packages/lhapdf/package.py45
-rw-r--r--var/spack/repos/builtin/packages/lhapdf5/package.py51
-rw-r--r--var/spack/repos/builtin/packages/lhapdfsets/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libabigail/package.py41
-rw-r--r--var/spack/repos/builtin/packages/libaec/package.py52
-rw-r--r--var/spack/repos/builtin/packages/libaio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libao/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libapplewm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libapreq2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libarchive/package.py101
-rw-r--r--var/spack/repos/builtin/packages/libasr/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libassuan/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libatasmart/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libatomic-ops/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libbacktrace/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libbeagle/package.py80
-rw-r--r--var/spack/repos/builtin/packages/libbeato/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libbinio/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libblastrampoline/package.py42
-rw-r--r--var/spack/repos/builtin/packages/libbsd/package.py34
-rw-r--r--var/spack/repos/builtin/packages/libbson/package.py73
-rw-r--r--var/spack/repos/builtin/packages/libbytesize/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libc/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libcanberra/package.py44
-rw-r--r--var/spack/repos/builtin/packages/libcap-ng/package.py40
-rw-r--r--var/spack/repos/builtin/packages/libcap/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libcatalyst/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libceed/package.py194
-rw-r--r--var/spack/repos/builtin/packages/libcerf/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libcgroup/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libcint/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libcircle/package.py48
-rw-r--r--var/spack/repos/builtin/packages/libconfig/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libconfuse/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libcroco/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libctl/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libcudf/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libcuml/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libcumlprims/package.py34
-rw-r--r--var/spack/repos/builtin/packages/libcxxwrap-julia/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libcyaml/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libdaemon/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libdap4/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libdatrie/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libdc1394/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libdeflate/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libdivsufsort/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libdmx/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libdrm/package.py94
-rw-r--r--var/spack/repos/builtin/packages/libdwarf/package.py117
-rw-r--r--var/spack/repos/builtin/packages/libeatmydata/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libecpint/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libedit/package.py27
-rw-r--r--var/spack/repos/builtin/packages/libefence/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libelf/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libemos/package.py62
-rw-r--r--var/spack/repos/builtin/packages/libepoxy/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libestr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libev/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libevdev/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libevent/package.py73
-rw-r--r--var/spack/repos/builtin/packages/libevpath/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libexif/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libfabric/package.py169
-rw-r--r--var/spack/repos/builtin/packages/libfastcommon/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libfastjson/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libffi/package.py31
-rw-r--r--var/spack/repos/builtin/packages/libffs/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libfive/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libflame/package.py85
-rw-r--r--var/spack/repos/builtin/packages/libfms/package.py43
-rw-r--r--var/spack/repos/builtin/packages/libfontenc/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libfs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libfuse/package.py155
-rw-r--r--var/spack/repos/builtin/packages/libfyaml/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libgain/package.py17
-rw-r--r--var/spack/repos/builtin/packages/libgcrypt/package.py53
-rw-r--r--var/spack/repos/builtin/packages/libgd/package.py46
-rw-r--r--var/spack/repos/builtin/packages/libgeotiff/package.py73
-rw-r--r--var/spack/repos/builtin/packages/libgff/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libgit2/package.py145
-rw-r--r--var/spack/repos/builtin/packages/libgpg-error/package.py42
-rw-r--r--var/spack/repos/builtin/packages/libgpuarray/package.py26
-rw-r--r--var/spack/repos/builtin/packages/libgridxc/package.py71
-rw-r--r--var/spack/repos/builtin/packages/libgssglue/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libgtextutils/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libharu/package.py32
-rw-r--r--var/spack/repos/builtin/packages/libhbaapi/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libhio/package.py48
-rw-r--r--var/spack/repos/builtin/packages/libhugetlbfs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libiberty/package.py51
-rw-r--r--var/spack/repos/builtin/packages/libibumad/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libical/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libice/package.py13
-rw-r--r--var/spack/repos/builtin/packages/libiconv/package.py32
-rw-r--r--var/spack/repos/builtin/packages/libid3tag/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libidl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libidn2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libimagequant/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libimobiledevice/package.py32
-rw-r--r--var/spack/repos/builtin/packages/libinih/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libint/package.py261
-rw-r--r--var/spack/repos/builtin/packages/libisal/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libiscsi/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libjpeg-turbo/package.py80
-rw-r--r--var/spack/repos/builtin/packages/libjpeg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libjson/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libjwt/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libkcapi/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libkml/package.py55
-rw-r--r--var/spack/repos/builtin/packages/libksba/package.py22
-rw-r--r--var/spack/repos/builtin/packages/liblas/package.py46
-rw-r--r--var/spack/repos/builtin/packages/liblbfgs/package.py26
-rw-r--r--var/spack/repos/builtin/packages/liblbxutil/package.py12
-rw-r--r--var/spack/repos/builtin/packages/liblockfile/package.py8
-rw-r--r--var/spack/repos/builtin/packages/liblognorm/package.py24
-rw-r--r--var/spack/repos/builtin/packages/liblouis/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libluv/package.py22
-rw-r--r--var/spack/repos/builtin/packages/liblzf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libmacaroons/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libmad/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libmatheval/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libmaus2/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libmaxminddb/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libmbim/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libmcrypt/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libmd/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libmesh/package.py347
-rw-r--r--var/spack/repos/builtin/packages/libmetalink/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libmicrodns/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libmicrohttpd/package.py46
-rw-r--r--var/spack/repos/builtin/packages/libmmtf-cpp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libmng/package.py17
-rw-r--r--var/spack/repos/builtin/packages/libmnl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libmo-unpack/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libmodbus/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py55
-rw-r--r--var/spack/repos/builtin/packages/libmpdclient/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libnbc/package.py5
-rw-r--r--var/spack/repos/builtin/packages/libndp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libnet/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libnetfilter-queue/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libnetworkit/package.py54
-rw-r--r--var/spack/repos/builtin/packages/libnfnetlink/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libnfs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libnfsidmap/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libnftnl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libnids/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libnl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libnotify/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libnova/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libnrm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libnsl/package.py33
-rw-r--r--var/spack/repos/builtin/packages/libogg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/liboldx/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libopts/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libp11/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libpam/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libpaper/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libpcap/package.py13
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libpeas/package.py100
-rw-r--r--var/spack/repos/builtin/packages/libpfm4/package.py40
-rw-r--r--var/spack/repos/builtin/packages/libpipeline/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libplist/package.py50
-rw-r--r--var/spack/repos/builtin/packages/libpmemobj-cpp/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libpng/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libproxy/package.py34
-rw-r--r--var/spack/repos/builtin/packages/libpsl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libpsml/package.py26
-rw-r--r--var/spack/repos/builtin/packages/libpthread-stubs/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libpulsar/package.py23
-rw-r--r--var/spack/repos/builtin/packages/libqglviewer/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libqrencode/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libquo/package.py42
-rw-r--r--var/spack/repos/builtin/packages/librdkafka/package.py12
-rw-r--r--var/spack/repos/builtin/packages/librelp/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libristra/package.py50
-rw-r--r--var/spack/repos/builtin/packages/librmm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/librom/package.py54
-rw-r--r--var/spack/repos/builtin/packages/librsb/package.py96
-rw-r--r--var/spack/repos/builtin/packages/librsvg/package.py42
-rw-r--r--var/spack/repos/builtin/packages/librtlsdr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/librttopo/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libsakura/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libsamplerate/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libseccomp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libsecret/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libsharp/package.py34
-rw-r--r--var/spack/repos/builtin/packages/libshm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libsigcpp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libsignal-protocol-c/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libsigsegv/package.py56
-rw-r--r--var/spack/repos/builtin/packages/libslirp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libsm/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libsndfile/package.py32
-rw-r--r--var/spack/repos/builtin/packages/libsodium/package.py35
-rw-r--r--var/spack/repos/builtin/packages/libspatialindex/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libspatialite/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libspiro/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libsplash/package.py41
-rw-r--r--var/spack/repos/builtin/packages/libssh/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libssh2/package.py54
-rw-r--r--var/spack/repos/builtin/packages/libsvm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libszip/package.py29
-rw-r--r--var/spack/repos/builtin/packages/libtar/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libtasn1/package.py38
-rw-r--r--var/spack/repos/builtin/packages/libtermkey/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libthai/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libtheora/package.py44
-rw-r--r--var/spack/repos/builtin/packages/libtiff/package.py121
-rw-r--r--var/spack/repos/builtin/packages/libtirpc/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libtlx/package.py36
-rw-r--r--var/spack/repos/builtin/packages/libtomlc99/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libtommath/package.py9
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py106
-rw-r--r--var/spack/repos/builtin/packages/libtorrent/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libtree/package.py103
-rw-r--r--var/spack/repos/builtin/packages/libuecc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libunistring/package.py46
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py182
-rw-r--r--var/spack/repos/builtin/packages/libusb/package.py26
-rw-r--r--var/spack/repos/builtin/packages/libusbmuxd/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libuser/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libuuid/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libuv-julia/package.py13
-rw-r--r--var/spack/repos/builtin/packages/libuv/package.py48
-rw-r--r--var/spack/repos/builtin/packages/libvdwxc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libverto/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libvips/package.py39
-rw-r--r--var/spack/repos/builtin/packages/libvorbis/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libvori/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libvpx/package.py11
-rw-r--r--var/spack/repos/builtin/packages/libvterm/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libwebp/package.py68
-rw-r--r--var/spack/repos/builtin/packages/libwebsockets/package.py18
-rw-r--r--var/spack/repos/builtin/packages/libwhich/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libwindowswm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libx11/package.py47
-rw-r--r--var/spack/repos/builtin/packages/libxau/package.py8
-rw-r--r--var/spack/repos/builtin/packages/libxaw/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libxaw3d/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxc/package.py109
-rw-r--r--var/spack/repos/builtin/packages/libxcb/package.py47
-rw-r--r--var/spack/repos/builtin/packages/libxcomposite/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxcrypt/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxcursor/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxdamage/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxdmcp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libxevie/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxext/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libxfixes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxfont/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxfont2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxfontcache/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxft/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libxinerama/package.py17
-rw-r--r--var/spack/repos/builtin/packages/libxkbcommon/package.py64
-rw-r--r--var/spack/repos/builtin/packages/libxkbfile/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libxkbui/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py149
-rw-r--r--var/spack/repos/builtin/packages/libxmu/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxpm/package.py27
-rw-r--r--var/spack/repos/builtin/packages/libxpresent/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libxprintapputil/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxprintutil/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxrandr/package.py21
-rw-r--r--var/spack/repos/builtin/packages/libxrender/package.py15
-rw-r--r--var/spack/repos/builtin/packages/libxres/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxscrnsaver/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxshmfence/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libxslt/package.py58
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py189
-rw-r--r--var/spack/repos/builtin/packages/libxstream/package.py22
-rw-r--r--var/spack/repos/builtin/packages/libxt/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libxtrap/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxtst/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libxv/package.py14
-rw-r--r--var/spack/repos/builtin/packages/libxvmc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxxf86dga/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxxf86misc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libxxf86vm/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libyaml/package.py44
-rw-r--r--var/spack/repos/builtin/packages/libyogrt/package.py71
-rw-r--r--var/spack/repos/builtin/packages/libzip/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libzmq/package.py127
-rw-r--r--var/spack/repos/builtin/packages/liggghts/package.py107
-rw-r--r--var/spack/repos/builtin/packages/lighttpd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ligra/package.py36
-rw-r--r--var/spack/repos/builtin/packages/likwid/package.py268
-rw-r--r--var/spack/repos/builtin/packages/linkphase3/package.py8
-rw-r--r--var/spack/repos/builtin/packages/linktest/package.py35
-rw-r--r--var/spack/repos/builtin/packages/linsys-v/package.py21
-rw-r--r--var/spack/repos/builtin/packages/linux-headers/package.py8
-rw-r--r--var/spack/repos/builtin/packages/linux-pam/package.py24
-rw-r--r--var/spack/repos/builtin/packages/lis/package.py32
-rw-r--r--var/spack/repos/builtin/packages/listres/package.py14
-rw-r--r--var/spack/repos/builtin/packages/lizard/package.py19
-rw-r--r--var/spack/repos/builtin/packages/lksctp-tools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/llvm-amdgpu/package.py284
-rw-r--r--var/spack/repos/builtin/packages/llvm-doe/package.py322
-rw-r--r--var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py88
-rw-r--r--var/spack/repos/builtin/packages/llvm-openmp/package.py37
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py479
-rw-r--r--var/spack/repos/builtin/packages/lm-sensors/package.py44
-rw-r--r--var/spack/repos/builtin/packages/lmbench/package.py20
-rw-r--r--var/spack/repos/builtin/packages/lmdb/package.py46
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py114
-rw-r--r--var/spack/repos/builtin/packages/lndir/package.py6
-rw-r--r--var/spack/repos/builtin/packages/log4c/package.py6
-rw-r--r--var/spack/repos/builtin/packages/log4cplus/package.py8
-rw-r--r--var/spack/repos/builtin/packages/log4cpp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/log4cxx/package.py28
-rw-r--r--var/spack/repos/builtin/packages/logrotate/package.py24
-rw-r--r--var/spack/repos/builtin/packages/logstash/package.py6
-rw-r--r--var/spack/repos/builtin/packages/loki/package.py22
-rw-r--r--var/spack/repos/builtin/packages/looptools/package.py19
-rw-r--r--var/spack/repos/builtin/packages/lordec/package.py37
-rw-r--r--var/spack/repos/builtin/packages/lorene/package.py142
-rw-r--r--var/spack/repos/builtin/packages/lp-solve/package.py22
-rw-r--r--var/spack/repos/builtin/packages/lrslib/package.py26
-rw-r--r--var/spack/repos/builtin/packages/lrzip/package.py33
-rw-r--r--var/spack/repos/builtin/packages/lsf/package.py9
-rw-r--r--var/spack/repos/builtin/packages/lshw/package.py14
-rw-r--r--var/spack/repos/builtin/packages/lsof/package.py20
-rw-r--r--var/spack/repos/builtin/packages/lsscsi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ltp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ltr-retriever/package.py40
-rw-r--r--var/spack/repos/builtin/packages/ltrace/package.py8
-rw-r--r--var/spack/repos/builtin/packages/lua-bit32/package.py10
-rw-r--r--var/spack/repos/builtin/packages/lua-bitlib/package.py13
-rw-r--r--var/spack/repos/builtin/packages/lua-ffi/package.py10
-rw-r--r--var/spack/repos/builtin/packages/lua-lpeg/package.py14
-rw-r--r--var/spack/repos/builtin/packages/lua-luafilesystem/package.py10
-rw-r--r--var/spack/repos/builtin/packages/lua-luajit-openresty/package.py37
-rw-r--r--var/spack/repos/builtin/packages/lua-luajit/package.py45
-rw-r--r--var/spack/repos/builtin/packages/lua-luaposix/package.py16
-rw-r--r--var/spack/repos/builtin/packages/lua-sol2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/lua/package.py125
-rw-r--r--var/spack/repos/builtin/packages/lucene/package.py14
-rw-r--r--var/spack/repos/builtin/packages/luit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/lulesh/package.py65
-rw-r--r--var/spack/repos/builtin/packages/lumpy-sv/package.py12
-rw-r--r--var/spack/repos/builtin/packages/lustre/package.py19
-rw-r--r--var/spack/repos/builtin/packages/lvarray/package.py244
-rw-r--r--var/spack/repos/builtin/packages/lvm2/package.py32
-rw-r--r--var/spack/repos/builtin/packages/lwgrp/package.py22
-rw-r--r--var/spack/repos/builtin/packages/lwm2/package.py9
-rw-r--r--var/spack/repos/builtin/packages/lwtnn/package.py16
-rw-r--r--var/spack/repos/builtin/packages/lxc/package.py37
-rw-r--r--var/spack/repos/builtin/packages/lynx/package.py16
-rw-r--r--var/spack/repos/builtin/packages/lz4/package.py55
-rw-r--r--var/spack/repos/builtin/packages/lzma/package.py4
-rw-r--r--var/spack/repos/builtin/packages/lzo/package.py29
-rw-r--r--var/spack/repos/builtin/packages/lzop/package.py12
-rw-r--r--var/spack/repos/builtin/packages/m4/package.py117
-rw-r--r--var/spack/repos/builtin/packages/macfuse/package.py12
-rw-r--r--var/spack/repos/builtin/packages/macsio/package.py72
-rw-r--r--var/spack/repos/builtin/packages/mad-numdiff/package.py8
-rw-r--r--var/spack/repos/builtin/packages/madgraph5amc/package.py156
-rw-r--r--var/spack/repos/builtin/packages/madx/package.py34
-rw-r--r--var/spack/repos/builtin/packages/mafft/package.py30
-rw-r--r--var/spack/repos/builtin/packages/magics/package.py227
-rw-r--r--var/spack/repos/builtin/packages/magma/package.py256
-rw-r--r--var/spack/repos/builtin/packages/mahout/package.py14
-rw-r--r--var/spack/repos/builtin/packages/makedepend/package.py6
-rw-r--r--var/spack/repos/builtin/packages/maker/package.py93
-rw-r--r--var/spack/repos/builtin/packages/mallocmc/package.py28
-rw-r--r--var/spack/repos/builtin/packages/maloc/package.py26
-rw-r--r--var/spack/repos/builtin/packages/man-db/package.py42
-rw-r--r--var/spack/repos/builtin/packages/manta/package.py22
-rw-r--r--var/spack/repos/builtin/packages/mapnik/package.py60
-rw-r--r--var/spack/repos/builtin/packages/mapserver/package.py130
-rw-r--r--var/spack/repos/builtin/packages/mapsplice2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/maq/package.py22
-rw-r--r--var/spack/repos/builtin/packages/margo/package.py154
-rw-r--r--var/spack/repos/builtin/packages/mariadb-c-client/package.py85
-rw-r--r--var/spack/repos/builtin/packages/mariadb/package.py77
-rw-r--r--var/spack/repos/builtin/packages/mark/package.py13
-rw-r--r--var/spack/repos/builtin/packages/masa/package.py48
-rw-r--r--var/spack/repos/builtin/packages/mash/package.py20
-rw-r--r--var/spack/repos/builtin/packages/masurca/package.py45
-rw-r--r--var/spack/repos/builtin/packages/mathematica/package.py77
-rw-r--r--var/spack/repos/builtin/packages/matio/package.py72
-rw-r--r--var/spack/repos/builtin/packages/matlab/package.py65
-rw-r--r--var/spack/repos/builtin/packages/maven/package.py26
-rw-r--r--var/spack/repos/builtin/packages/maverick/package.py26
-rw-r--r--var/spack/repos/builtin/packages/mawk/package.py10
-rw-r--r--var/spack/repos/builtin/packages/mbdyn/package.py6
-rw-r--r--var/spack/repos/builtin/packages/mbedtls/package.py147
-rw-r--r--var/spack/repos/builtin/packages/mc/package.py38
-rw-r--r--var/spack/repos/builtin/packages/mcl/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mcpp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mctc-lib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mcutils/package.py46
-rw-r--r--var/spack/repos/builtin/packages/mdsplus/package.py46
-rw-r--r--var/spack/repos/builtin/packages/mdtest/package.py16
-rw-r--r--var/spack/repos/builtin/packages/med/package.py99
-rw-r--r--var/spack/repos/builtin/packages/meep/package.py156
-rw-r--r--var/spack/repos/builtin/packages/mefit/package.py16
-rw-r--r--var/spack/repos/builtin/packages/megadock/package.py61
-rw-r--r--var/spack/repos/builtin/packages/megahit/package.py18
-rw-r--r--var/spack/repos/builtin/packages/melissa/package.py46
-rw-r--r--var/spack/repos/builtin/packages/memaxes/package.py13
-rw-r--r--var/spack/repos/builtin/packages/memcached/package.py40
-rw-r--r--var/spack/repos/builtin/packages/meme/package.py50
-rw-r--r--var/spack/repos/builtin/packages/memkind/package.py50
-rw-r--r--var/spack/repos/builtin/packages/memsurfer/package.py45
-rw-r--r--var/spack/repos/builtin/packages/memtester/package.py15
-rw-r--r--var/spack/repos/builtin/packages/meraculous/package.py24
-rw-r--r--var/spack/repos/builtin/packages/mercurial/package.py100
-rw-r--r--var/spack/repos/builtin/packages/mercury/package.py186
-rw-r--r--var/spack/repos/builtin/packages/mesa-demos/package.py87
-rw-r--r--var/spack/repos/builtin/packages/mesa-glu/package.py53
-rw-r--r--var/spack/repos/builtin/packages/mesa/package.py331
-rw-r--r--var/spack/repos/builtin/packages/mesa18/package.py281
-rw-r--r--var/spack/repos/builtin/packages/meshkit/package.py58
-rw-r--r--var/spack/repos/builtin/packages/meshtool/package.py18
-rw-r--r--var/spack/repos/builtin/packages/meson/package.py106
-rw-r--r--var/spack/repos/builtin/packages/mesquite/package.py38
-rw-r--r--var/spack/repos/builtin/packages/metabat/package.py48
-rw-r--r--var/spack/repos/builtin/packages/metall/package.py57
-rw-r--r--var/spack/repos/builtin/packages/metaphysicl/package.py17
-rw-r--r--var/spack/repos/builtin/packages/metis/package.py235
-rw-r--r--var/spack/repos/builtin/packages/metkit/package.py47
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py1365
-rw-r--r--var/spack/repos/builtin/packages/mg/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mgis/package.py107
-rw-r--r--var/spack/repos/builtin/packages/microbiomeutil/package.py30
-rw-r--r--var/spack/repos/builtin/packages/migraphx/package.py185
-rw-r--r--var/spack/repos/builtin/packages/migrate/package.py64
-rw-r--r--var/spack/repos/builtin/packages/mii/package.py16
-rw-r--r--var/spack/repos/builtin/packages/millepede/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mimalloc/package.py22
-rw-r--r--var/spack/repos/builtin/packages/minc-toolkit/package.py51
-rw-r--r--var/spack/repos/builtin/packages/minced/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mindthegap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/miniaero/package.py25
-rw-r--r--var/spack/repos/builtin/packages/miniamr/package.py44
-rw-r--r--var/spack/repos/builtin/packages/miniapp-ascent/package.py9
-rw-r--r--var/spack/repos/builtin/packages/miniasm/package.py8
-rw-r--r--var/spack/repos/builtin/packages/miniconda2/package.py52
-rw-r--r--var/spack/repos/builtin/packages/miniconda3/package.py91
-rw-r--r--var/spack/repos/builtin/packages/minife/package.py34
-rw-r--r--var/spack/repos/builtin/packages/miniforge3/package.py62
-rw-r--r--var/spack/repos/builtin/packages/minigan/package.py20
-rw-r--r--var/spack/repos/builtin/packages/minighost/package.py67
-rw-r--r--var/spack/repos/builtin/packages/minigmg/package.py83
-rw-r--r--var/spack/repos/builtin/packages/minimap2/package.py31
-rw-r--r--var/spack/repos/builtin/packages/minimd/package.py40
-rw-r--r--var/spack/repos/builtin/packages/minio/package.py27
-rw-r--r--var/spack/repos/builtin/packages/miniqmc/package.py31
-rw-r--r--var/spack/repos/builtin/packages/minisign/package.py15
-rw-r--r--var/spack/repos/builtin/packages/minismac2d/package.py50
-rw-r--r--var/spack/repos/builtin/packages/minitri/package.py28
-rw-r--r--var/spack/repos/builtin/packages/minivite/package.py41
-rw-r--r--var/spack/repos/builtin/packages/minixyce/package.py44
-rw-r--r--var/spack/repos/builtin/packages/minizip/package.py30
-rw-r--r--var/spack/repos/builtin/packages/minuit/package.py50
-rw-r--r--var/spack/repos/builtin/packages/miopen-hip/package.py191
-rw-r--r--var/spack/repos/builtin/packages/miopen-opencl/package.py176
-rw-r--r--var/spack/repos/builtin/packages/miopen-tensile/package.py118
-rw-r--r--var/spack/repos/builtin/packages/miopengemm/package.py130
-rw-r--r--var/spack/repos/builtin/packages/mira/package.py30
-rw-r--r--var/spack/repos/builtin/packages/miranda/package.py9
-rw-r--r--var/spack/repos/builtin/packages/mirdeep2/package.py36
-rw-r--r--var/spack/repos/builtin/packages/mitofates/package.py38
-rw-r--r--var/spack/repos/builtin/packages/mitos/package.py16
-rw-r--r--var/spack/repos/builtin/packages/mivisionx/package.py215
-rw-r--r--var/spack/repos/builtin/packages/mixcr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/mkfontdir/package.py8
-rw-r--r--var/spack/repos/builtin/packages/mkfontscale/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mlhka/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mlirmiopen/package.py70
-rw-r--r--var/spack/repos/builtin/packages/mlocate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/mlperf-deepcam/package.py54
-rw-r--r--var/spack/repos/builtin/packages/mmg/package.py46
-rw-r--r--var/spack/repos/builtin/packages/mmv/package.py38
-rw-r--r--var/spack/repos/builtin/packages/moab/package.py259
-rw-r--r--var/spack/repos/builtin/packages/mochi-margo/package.py94
-rw-r--r--var/spack/repos/builtin/packages/mochi-thallium/package.py91
-rw-r--r--var/spack/repos/builtin/packages/model-traits/package.py96
-rw-r--r--var/spack/repos/builtin/packages/modeltest-ng/package.py21
-rw-r--r--var/spack/repos/builtin/packages/modern-wheel/package.py28
-rw-r--r--var/spack/repos/builtin/packages/modylas/package.py38
-rw-r--r--var/spack/repos/builtin/packages/mofem-cephas/package.py86
-rw-r--r--var/spack/repos/builtin/packages/mofem-fracture-module/package.py85
-rw-r--r--var/spack/repos/builtin/packages/mofem-minimal-surface-equation/package.py40
-rw-r--r--var/spack/repos/builtin/packages/mofem-users-modules/package.py66
-rw-r--r--var/spack/repos/builtin/packages/mokutil/package.py27
-rw-r--r--var/spack/repos/builtin/packages/molcas/package.py18
-rw-r--r--var/spack/repos/builtin/packages/molden/package.py62
-rw-r--r--var/spack/repos/builtin/packages/mongo-c-driver/package.py176
-rw-r--r--var/spack/repos/builtin/packages/mongo-cxx-driver/package.py6
-rw-r--r--var/spack/repos/builtin/packages/mongodb-async-driver/package.py6
-rw-r--r--var/spack/repos/builtin/packages/mono/package.py88
-rw-r--r--var/spack/repos/builtin/packages/montage/package.py16
-rw-r--r--var/spack/repos/builtin/packages/moosefs/package.py17
-rw-r--r--var/spack/repos/builtin/packages/moreutils/package.py24
-rw-r--r--var/spack/repos/builtin/packages/mosh/package.py22
-rw-r--r--var/spack/repos/builtin/packages/mosquitto/package.py48
-rw-r--r--var/spack/repos/builtin/packages/mothur/package.py49
-rw-r--r--var/spack/repos/builtin/packages/motif/package.py19
-rw-r--r--var/spack/repos/builtin/packages/motioncor2/package.py46
-rw-r--r--var/spack/repos/builtin/packages/mount-point-attributes/package.py24
-rw-r--r--var/spack/repos/builtin/packages/mozjs/package.py85
-rw-r--r--var/spack/repos/builtin/packages/mpark-variant/package.py46
-rw-r--r--var/spack/repos/builtin/packages/mpas-model/package.py210
-rw-r--r--var/spack/repos/builtin/packages/mpc/package.py37
-rw-r--r--var/spack/repos/builtin/packages/mpdecimal/package.py8
-rw-r--r--var/spack/repos/builtin/packages/mpe2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/mpest/package.py16
-rw-r--r--var/spack/repos/builtin/packages/mpfi/package.py31
-rw-r--r--var/spack/repos/builtin/packages/mpfr/package.py76
-rw-r--r--var/spack/repos/builtin/packages/mpi-bash/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mpi/package.py26
-rw-r--r--var/spack/repos/builtin/packages/mpibind/package.py58
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py684
-rw-r--r--var/spack/repos/builtin/packages/mpifileutils/package.py151
-rw-r--r--var/spack/repos/builtin/packages/mpilander/package.py22
-rw-r--r--var/spack/repos/builtin/packages/mpileaks/package.py34
-rw-r--r--var/spack/repos/builtin/packages/mpip/package.py144
-rw-r--r--var/spack/repos/builtin/packages/mpir/package.py28
-rw-r--r--var/spack/repos/builtin/packages/mpitrampoline/package.py135
-rw-r--r--var/spack/repos/builtin/packages/mpiwrapper/package.py38
-rw-r--r--var/spack/repos/builtin/packages/mpix-launch-swift/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mpl/package.py14
-rw-r--r--var/spack/repos/builtin/packages/mpt/package.py34
-rw-r--r--var/spack/repos/builtin/packages/mptensor/package.py76
-rw-r--r--var/spack/repos/builtin/packages/mrbayes/package.py48
-rw-r--r--var/spack/repos/builtin/packages/mrbench/package.py6
-rw-r--r--var/spack/repos/builtin/packages/mrchem/package.py20
-rw-r--r--var/spack/repos/builtin/packages/mrcpp/package.py39
-rw-r--r--var/spack/repos/builtin/packages/mrnet/package.py23
-rw-r--r--var/spack/repos/builtin/packages/mrtrix3/package.py50
-rw-r--r--var/spack/repos/builtin/packages/mscgen/package.py12
-rw-r--r--var/spack/repos/builtin/packages/msgpack-c/package.py15
-rw-r--r--var/spack/repos/builtin/packages/mshadow/package.py10
-rw-r--r--var/spack/repos/builtin/packages/msmc/package.py26
-rw-r--r--var/spack/repos/builtin/packages/msmc2/package.py34
-rw-r--r--var/spack/repos/builtin/packages/mstk/package.py130
-rw-r--r--var/spack/repos/builtin/packages/mt-metis/package.py18
-rw-r--r--var/spack/repos/builtin/packages/mujoco/package.py22
-rw-r--r--var/spack/repos/builtin/packages/multitail/package.py31
-rw-r--r--var/spack/repos/builtin/packages/multitime/package.py4
-rw-r--r--var/spack/repos/builtin/packages/multiverso/package.py18
-rw-r--r--var/spack/repos/builtin/packages/mumax/package.py69
-rw-r--r--var/spack/repos/builtin/packages/mummer/package.py58
-rw-r--r--var/spack/repos/builtin/packages/mummer4/package.py18
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py474
-rw-r--r--var/spack/repos/builtin/packages/munge/package.py48
-rw-r--r--var/spack/repos/builtin/packages/muparser/package.py40
-rw-r--r--var/spack/repos/builtin/packages/muparserx/package.py6
-rw-r--r--var/spack/repos/builtin/packages/muscle/package.py32
-rw-r--r--var/spack/repos/builtin/packages/muse/package.py8
-rw-r--r--var/spack/repos/builtin/packages/music/package.py6
-rw-r--r--var/spack/repos/builtin/packages/musl/package.py48
-rw-r--r--var/spack/repos/builtin/packages/muster/package.py21
-rw-r--r--var/spack/repos/builtin/packages/mutationpp/package.py36
-rw-r--r--var/spack/repos/builtin/packages/mvapich2-gdr/package.py239
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py468
-rw-r--r--var/spack/repos/builtin/packages/mvapich2x/package.py256
-rw-r--r--var/spack/repos/builtin/packages/mxm/package.py11
-rw-r--r--var/spack/repos/builtin/packages/mxml/package.py22
-rw-r--r--var/spack/repos/builtin/packages/mxnet/package.py248
-rw-r--r--var/spack/repos/builtin/packages/mysql/package.py240
-rw-r--r--var/spack/repos/builtin/packages/mysqlpp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/n2p2/package.py24
-rw-r--r--var/spack/repos/builtin/packages/nacos/package.py4
-rw-r--r--var/spack/repos/builtin/packages/nag/package.py49
-rw-r--r--var/spack/repos/builtin/packages/nalu-wind/package.py179
-rw-r--r--var/spack/repos/builtin/packages/nalu/package.py80
-rw-r--r--var/spack/repos/builtin/packages/namd/package.py281
-rw-r--r--var/spack/repos/builtin/packages/nano/package.py110
-rw-r--r--var/spack/repos/builtin/packages/nanoflann/package.py11
-rw-r--r--var/spack/repos/builtin/packages/nanomsg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/nanopb/package.py8
-rw-r--r--var/spack/repos/builtin/packages/nasm/package.py54
-rw-r--r--var/spack/repos/builtin/packages/nauty/package.py81
-rw-r--r--var/spack/repos/builtin/packages/nbdkit/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ncbi-magicblast/package.py16
-rw-r--r--var/spack/repos/builtin/packages/ncbi-rmblastn/package.py30
-rw-r--r--var/spack/repos/builtin/packages/ncbi-toolkit/package.py109
-rw-r--r--var/spack/repos/builtin/packages/nccl-tests/package.py30
-rw-r--r--var/spack/repos/builtin/packages/nccl/package.py91
-rw-r--r--var/spack/repos/builtin/packages/nccmp/package.py9
-rw-r--r--var/spack/repos/builtin/packages/ncdu/package.py31
-rw-r--r--var/spack/repos/builtin/packages/ncftp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ncio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/ncl/package.py349
-rw-r--r--var/spack/repos/builtin/packages/nco/package.py66
-rw-r--r--var/spack/repos/builtin/packages/ncompress/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ncurses/package.py164
-rw-r--r--var/spack/repos/builtin/packages/ncview/package.py19
-rw-r--r--var/spack/repos/builtin/packages/ndiff/package.py20
-rw-r--r--var/spack/repos/builtin/packages/neartree/package.py14
-rw-r--r--var/spack/repos/builtin/packages/nek5000/package.py152
-rw-r--r--var/spack/repos/builtin/packages/nekbone/package.py65
-rw-r--r--var/spack/repos/builtin/packages/nekcem/package.py134
-rw-r--r--var/spack/repos/builtin/packages/neko/package.py50
-rw-r--r--var/spack/repos/builtin/packages/nekrs/package.py95
-rw-r--r--var/spack/repos/builtin/packages/nektar/package.py68
-rw-r--r--var/spack/repos/builtin/packages/nektools/package.py207
-rw-r--r--var/spack/repos/builtin/packages/nemsio/package.py30
-rw-r--r--var/spack/repos/builtin/packages/nemsiogfs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/neo4j/package.py12
-rw-r--r--var/spack/repos/builtin/packages/neovim/package.py7
-rw-r--r--var/spack/repos/builtin/packages/nest/package.py137
-rw-r--r--var/spack/repos/builtin/packages/net-snmp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/netcdf-c/package.py229
-rw-r--r--var/spack/repos/builtin/packages/netcdf-cxx/package.py23
-rw-r--r--var/spack/repos/builtin/packages/netcdf-cxx4/package.py85
-rw-r--r--var/spack/repos/builtin/packages/netcdf-fortran/package.py124
-rw-r--r--var/spack/repos/builtin/packages/netdata/package.py38
-rw-r--r--var/spack/repos/builtin/packages/netgauge/package.py9
-rw-r--r--var/spack/repos/builtin/packages/netgen/package.py45
-rw-r--r--var/spack/repos/builtin/packages/netkit-ftp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/netlib-lapack/package.py253
-rw-r--r--var/spack/repos/builtin/packages/netlib-scalapack/package.py106
-rw-r--r--var/spack/repos/builtin/packages/netlib-xblas/package.py71
-rw-r--r--var/spack/repos/builtin/packages/netpbm/package.py229
-rw-r--r--var/spack/repos/builtin/packages/netperf/package.py8
-rw-r--r--var/spack/repos/builtin/packages/nettle/package.py18
-rw-r--r--var/spack/repos/builtin/packages/neuron/package.py104
-rw-r--r--var/spack/repos/builtin/packages/newt/package.py12
-rw-r--r--var/spack/repos/builtin/packages/nextflow/package.py147
-rw-r--r--var/spack/repos/builtin/packages/nfft/package.py64
-rw-r--r--var/spack/repos/builtin/packages/nfs-ganesha/package.py26
-rw-r--r--var/spack/repos/builtin/packages/nfs-utils/package.py36
-rw-r--r--var/spack/repos/builtin/packages/nghttp2/package.py40
-rw-r--r--var/spack/repos/builtin/packages/nginx/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ngmerge/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ngmlr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/ngspice/package.py172
-rw-r--r--var/spack/repos/builtin/packages/nicstat/package.py8
-rw-r--r--var/spack/repos/builtin/packages/nim/package.py49
-rw-r--r--var/spack/repos/builtin/packages/ninja-fortran/package.py68
-rw-r--r--var/spack/repos/builtin/packages/ninja/package.py56
-rw-r--r--var/spack/repos/builtin/packages/nix/package.py130
-rw-r--r--var/spack/repos/builtin/packages/njet/package.py20
-rw-r--r--var/spack/repos/builtin/packages/nlcglib/package.py74
-rw-r--r--var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py18
-rw-r--r--var/spack/repos/builtin/packages/nlohmann-json/package.py65
-rw-r--r--var/spack/repos/builtin/packages/nlopt/package.py62
-rw-r--r--var/spack/repos/builtin/packages/nmap/package.py46
-rw-r--r--var/spack/repos/builtin/packages/nn-c/package.py25
-rw-r--r--var/spack/repos/builtin/packages/nnpack/package.py156
-rw-r--r--var/spack/repos/builtin/packages/nnvm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/node-js/package.py180
-rw-r--r--var/spack/repos/builtin/packages/notmuch/package.py12
-rw-r--r--var/spack/repos/builtin/packages/npb/package.py221
-rw-r--r--var/spack/repos/builtin/packages/npm/package.py53
-rw-r--r--var/spack/repos/builtin/packages/npth/package.py10
-rw-r--r--var/spack/repos/builtin/packages/nrm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/ns-3-dev/package.py61
-rw-r--r--var/spack/repos/builtin/packages/nseg/package.py52
-rw-r--r--var/spack/repos/builtin/packages/nsimd/package.py130
-rw-r--r--var/spack/repos/builtin/packages/nspr/package.py24
-rw-r--r--var/spack/repos/builtin/packages/nss/package.py75
-rw-r--r--var/spack/repos/builtin/packages/ntirpc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/ntl/package.py30
-rw-r--r--var/spack/repos/builtin/packages/ntpoly/package.py14
-rw-r--r--var/spack/repos/builtin/packages/numactl/package.py51
-rw-r--r--var/spack/repos/builtin/packages/numamma/package.py18
-rw-r--r--var/spack/repos/builtin/packages/numap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/numdiff/package.py33
-rw-r--r--var/spack/repos/builtin/packages/nut/package.py38
-rw-r--r--var/spack/repos/builtin/packages/nvdimmsim/package.py4
-rw-r--r--var/spack/repos/builtin/packages/nvhpc/package.py471
-rw-r--r--var/spack/repos/builtin/packages/nvptx-tools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/nvshmem/package.py82
-rw-r--r--var/spack/repos/builtin/packages/nvtop/package.py33
-rw-r--r--var/spack/repos/builtin/packages/nwchem/package.py195
-rw-r--r--var/spack/repos/builtin/packages/nyancat/package.py26
-rw-r--r--var/spack/repos/builtin/packages/ocaml/package.py71
-rw-r--r--var/spack/repos/builtin/packages/ocamlbuild/package.py32
-rw-r--r--var/spack/repos/builtin/packages/occa/package.py112
-rw-r--r--var/spack/repos/builtin/packages/oce/package.py93
-rw-r--r--var/spack/repos/builtin/packages/oci-systemd-hook/package.py38
-rw-r--r--var/spack/repos/builtin/packages/ocl-icd/package.py87
-rw-r--r--var/spack/repos/builtin/packages/oclgrind/package.py10
-rw-r--r--var/spack/repos/builtin/packages/oclint/package.py56
-rw-r--r--var/spack/repos/builtin/packages/oclock/package.py16
-rw-r--r--var/spack/repos/builtin/packages/octa/package.py62
-rw-r--r--var/spack/repos/builtin/packages/octave-arduino/package.py8
-rw-r--r--var/spack/repos/builtin/packages/octave-control/package.py6
-rw-r--r--var/spack/repos/builtin/packages/octave-gsl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/octave-instrctl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/octave-io/package.py12
-rw-r--r--var/spack/repos/builtin/packages/octave-optim/package.py12
-rw-r--r--var/spack/repos/builtin/packages/octave-quaternion/package.py10
-rw-r--r--var/spack/repos/builtin/packages/octave-signal/package.py6
-rw-r--r--var/spack/repos/builtin/packages/octave-splines/package.py6
-rw-r--r--var/spack/repos/builtin/packages/octave-statistics/package.py6
-rw-r--r--var/spack/repos/builtin/packages/octave-struct/package.py6
-rw-r--r--var/spack/repos/builtin/packages/octave-symbolic/package.py4
-rw-r--r--var/spack/repos/builtin/packages/octave/package.py374
-rw-r--r--var/spack/repos/builtin/packages/octopus/package.py374
-rw-r--r--var/spack/repos/builtin/packages/odc/package.py21
-rw-r--r--var/spack/repos/builtin/packages/of-catalyst/package.py21
-rw-r--r--var/spack/repos/builtin/packages/of-precice/package.py49
-rw-r--r--var/spack/repos/builtin/packages/ome-common-cpp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ome-files-cpp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ome-model/package.py24
-rw-r--r--var/spack/repos/builtin/packages/omega-h/package.py182
-rw-r--r--var/spack/repos/builtin/packages/omnitrace/package.py179
-rw-r--r--var/spack/repos/builtin/packages/ompss/package.py62
-rw-r--r--var/spack/repos/builtin/packages/ompt-openmp/package.py19
-rw-r--r--var/spack/repos/builtin/packages/oneapi-igc/package.py17
-rw-r--r--var/spack/repos/builtin/packages/oneapi-level-zero/package.py24
-rw-r--r--var/spack/repos/builtin/packages/onednn/package.py190
-rw-r--r--var/spack/repos/builtin/packages/oniguruma/package.py29
-rw-r--r--var/spack/repos/builtin/packages/onnx/package.py72
-rw-r--r--var/spack/repos/builtin/packages/ont-albacore/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ont-guppy/package.py29
-rw-r--r--var/spack/repos/builtin/packages/oommf/package.py10
-rw-r--r--var/spack/repos/builtin/packages/op2-dsl/package.py54
-rw-r--r--var/spack/repos/builtin/packages/opa-psm2/package.py59
-rw-r--r--var/spack/repos/builtin/packages/opam/package.py48
-rw-r--r--var/spack/repos/builtin/packages/opari2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/open-iscsi/package.py32
-rw-r--r--var/spack/repos/builtin/packages/open-isns/package.py20
-rw-r--r--var/spack/repos/builtin/packages/open3d/package.py108
-rw-r--r--var/spack/repos/builtin/packages/openal-soft/package.py12
-rw-r--r--var/spack/repos/builtin/packages/openbabel/package.py82
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py376
-rw-r--r--var/spack/repos/builtin/packages/opencarp/package.py80
-rw-r--r--var/spack/repos/builtin/packages/opencascade/package.py125
-rw-r--r--var/spack/repos/builtin/packages/opencl-c-headers/package.py38
-rw-r--r--var/spack/repos/builtin/packages/opencl-clhpp/package.py30
-rw-r--r--var/spack/repos/builtin/packages/opencl-headers/package.py18
-rw-r--r--var/spack/repos/builtin/packages/opencoarrays/package.py40
-rw-r--r--var/spack/repos/builtin/packages/opencv/package.py44
-rw-r--r--var/spack/repos/builtin/packages/opendatadetector/package.py22
-rw-r--r--var/spack/repos/builtin/packages/opendx/package.py12
-rw-r--r--var/spack/repos/builtin/packages/openexr/package.py92
-rw-r--r--var/spack/repos/builtin/packages/openfast/package.py160
-rw-r--r--var/spack/repos/builtin/packages/openfdtd/package.py64
-rw-r--r--var/spack/repos/builtin/packages/openfoam-org/package.py289
-rw-r--r--var/spack/repos/builtin/packages/openfoam/package.py810
-rw-r--r--var/spack/repos/builtin/packages/openfst/package.py67
-rw-r--r--var/spack/repos/builtin/packages/opengl/package.py34
-rw-r--r--var/spack/repos/builtin/packages/openglu/package.py13
-rw-r--r--var/spack/repos/builtin/packages/openimageio/package.py53
-rw-r--r--var/spack/repos/builtin/packages/openipmi/package.py26
-rw-r--r--var/spack/repos/builtin/packages/openjdk/package.py314
-rw-r--r--var/spack/repos/builtin/packages/openjpeg/package.py54
-rw-r--r--var/spack/repos/builtin/packages/openkim-models/package.py71
-rw-r--r--var/spack/repos/builtin/packages/openldap/package.py142
-rw-r--r--var/spack/repos/builtin/packages/openlibm/package.py20
-rw-r--r--var/spack/repos/builtin/packages/openloops/get-process-list.py16
-rw-r--r--var/spack/repos/builtin/packages/openloops/package.py378
-rw-r--r--var/spack/repos/builtin/packages/openmc/package.py74
-rw-r--r--var/spack/repos/builtin/packages/openmm/package.py47
-rw-r--r--var/spack/repos/builtin/packages/openmolcas/package.py58
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py1389
-rw-r--r--var/spack/repos/builtin/packages/openmx/package.py118
-rw-r--r--var/spack/repos/builtin/packages/opennurbs/package.py34
-rw-r--r--var/spack/repos/builtin/packages/openpa/package.py14
-rw-r--r--var/spack/repos/builtin/packages/openpbs/package.py116
-rw-r--r--var/spack/repos/builtin/packages/openpmd-api/package.py198
-rw-r--r--var/spack/repos/builtin/packages/openrasmol/package.py76
-rw-r--r--var/spack/repos/builtin/packages/openresty/package.py12
-rw-r--r--var/spack/repos/builtin/packages/openscenegraph/package.py111
-rw-r--r--var/spack/repos/builtin/packages/openslide/package.py22
-rw-r--r--var/spack/repos/builtin/packages/openslp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop-utils/package.py339
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py388
-rwxr-xr-xvar/spack/repos/builtin/packages/openssh/package.py152
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py507
-rw-r--r--var/spack/repos/builtin/packages/openstf/package.py69
-rw-r--r--var/spack/repos/builtin/packages/opensubdiv/package.py95
-rw-r--r--var/spack/repos/builtin/packages/opentsdb/package.py26
-rw-r--r--var/spack/repos/builtin/packages/openturns/package.py62
-rw-r--r--var/spack/repos/builtin/packages/openvdb/package.py72
-rw-r--r--var/spack/repos/builtin/packages/openwsman/package.py76
-rw-r--r--var/spack/repos/builtin/packages/opium/package.py22
-rw-r--r--var/spack/repos/builtin/packages/optional-lite/package.py25
-rw-r--r--var/spack/repos/builtin/packages/optipng/package.py4
-rw-r--r--var/spack/repos/builtin/packages/opus/package.py46
-rw-r--r--var/spack/repos/builtin/packages/or-tools/package.py40
-rw-r--r--var/spack/repos/builtin/packages/oracle-instant-client/package.py135
-rw-r--r--var/spack/repos/builtin/packages/oras/package.py22
-rw-r--r--var/spack/repos/builtin/packages/orbit2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/orc/package.py43
-rw-r--r--var/spack/repos/builtin/packages/orca/package.py66
-rw-r--r--var/spack/repos/builtin/packages/orfm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/orientdb/package.py8
-rw-r--r--var/spack/repos/builtin/packages/orthofiller/package.py32
-rw-r--r--var/spack/repos/builtin/packages/orthofinder/package.py32
-rw-r--r--var/spack/repos/builtin/packages/orthomcl/package.py24
-rw-r--r--var/spack/repos/builtin/packages/osi/package.py8
-rw-r--r--var/spack/repos/builtin/packages/osmctools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/osmesa/package.py21
-rw-r--r--var/spack/repos/builtin/packages/osqp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ossp-uuid/package.py8
-rw-r--r--var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py64
-rw-r--r--var/spack/repos/builtin/packages/otf/package.py24
-rw-r--r--var/spack/repos/builtin/packages/otf2/package.py76
-rwxr-xr-xvar/spack/repos/builtin/packages/ovito/package.py16
-rw-r--r--var/spack/repos/builtin/packages/p11-kit/package.py22
-rw-r--r--var/spack/repos/builtin/packages/p3dfft3/package.py135
-rw-r--r--var/spack/repos/builtin/packages/p4est/package.py88
-rw-r--r--var/spack/repos/builtin/packages/p7zip/package.py38
-rw-r--r--var/spack/repos/builtin/packages/pacbio-daligner/package.py19
-rw-r--r--var/spack/repos/builtin/packages/pacbio-damasker/package.py17
-rw-r--r--var/spack/repos/builtin/packages/pacbio-dazz-db/package.py27
-rw-r--r--var/spack/repos/builtin/packages/pacbio-dextractor/package.py26
-rw-r--r--var/spack/repos/builtin/packages/pacifica-cli/package.py16
-rw-r--r--var/spack/repos/builtin/packages/packmol/package.py4
-rw-r--r--var/spack/repos/builtin/packages/pacparser/package.py50
-rw-r--r--var/spack/repos/builtin/packages/pacvim/package.py15
-rw-r--r--var/spack/repos/builtin/packages/pagit/package.py51
-rw-r--r--var/spack/repos/builtin/packages/pagmo/package.py108
-rw-r--r--var/spack/repos/builtin/packages/pagmo2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/pajeng/package.py78
-rw-r--r--var/spack/repos/builtin/packages/pal/package.py14
-rw-r--r--var/spack/repos/builtin/packages/palisade-development/package.py64
-rw-r--r--var/spack/repos/builtin/packages/paml/package.py48
-rw-r--r--var/spack/repos/builtin/packages/panda/package.py11
-rw-r--r--var/spack/repos/builtin/packages/pandaseq/package.py24
-rw-r--r--var/spack/repos/builtin/packages/pandoc/package.py39
-rw-r--r--var/spack/repos/builtin/packages/pango/package.py164
-rw-r--r--var/spack/repos/builtin/packages/pangolin/package.py14
-rw-r--r--var/spack/repos/builtin/packages/pangomm/package.py44
-rw-r--r--var/spack/repos/builtin/packages/papi/package.py188
-rw-r--r--var/spack/repos/builtin/packages/papyrus/package.py90
-rw-r--r--var/spack/repos/builtin/packages/paradiseo/package.py60
-rw-r--r--var/spack/repos/builtin/packages/parallel-netcdf/package.py211
-rw-r--r--var/spack/repos/builtin/packages/parallel/package.py47
-rw-r--r--var/spack/repos/builtin/packages/parallelio/package.py64
-rw-r--r--var/spack/repos/builtin/packages/parallelmergetree/package.py89
-rw-r--r--var/spack/repos/builtin/packages/paraver/package.py55
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py733
-rw-r--r--var/spack/repos/builtin/packages/parflow/package.py69
-rw-r--r--var/spack/repos/builtin/packages/parmetis/package.py80
-rw-r--r--var/spack/repos/builtin/packages/parmgridgen/package.py45
-rw-r--r--var/spack/repos/builtin/packages/parmmg/package.py25
-rw-r--r--var/spack/repos/builtin/packages/parquet-cpp/package.py40
-rw-r--r--var/spack/repos/builtin/packages/parquet-format/package.py10
-rw-r--r--var/spack/repos/builtin/packages/parsec/package.py119
-rw-r--r--var/spack/repos/builtin/packages/parsimonator/package.py34
-rw-r--r--var/spack/repos/builtin/packages/parsplice/package.py20
-rw-r--r--var/spack/repos/builtin/packages/partitionfinder/package.py32
-rw-r--r--var/spack/repos/builtin/packages/pasta/package.py28
-rw-r--r--var/spack/repos/builtin/packages/pastix/package.py80
-rw-r--r--var/spack/repos/builtin/packages/patch/package.py8
-rw-r--r--var/spack/repos/builtin/packages/patchelf/package.py88
-rw-r--r--var/spack/repos/builtin/packages/patchutils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pathfinder/package.py22
-rw-r--r--var/spack/repos/builtin/packages/pax-utils/package.py4
-rw-r--r--var/spack/repos/builtin/packages/pbbam/package.py28
-rw-r--r--var/spack/repos/builtin/packages/pbmpi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/pbsuite/package.py18
-rw-r--r--var/spack/repos/builtin/packages/pciutils/package.py20
-rw-r--r--var/spack/repos/builtin/packages/pcl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/pcma/package.py19
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py52
-rw-r--r--var/spack/repos/builtin/packages/pcre2/package.py38
-rw-r--r--var/spack/repos/builtin/packages/pdc/package.py40
-rw-r--r--var/spack/repos/builtin/packages/pdf2svg/package.py12
-rw-r--r--var/spack/repos/builtin/packages/pdftk/package.py69
-rw-r--r--var/spack/repos/builtin/packages/pdsh/package.py16
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py82
-rw-r--r--var/spack/repos/builtin/packages/pegtl/package.py40
-rw-r--r--var/spack/repos/builtin/packages/pennant/package.py89
-rw-r--r--var/spack/repos/builtin/packages/percept/package.py55
-rw-r--r--var/spack/repos/builtin/packages/percona-server/package.py28
-rw-r--r--var/spack/repos/builtin/packages/perfstubs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-acme-damn/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-algorithm-diff/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-alien-build/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-alien-libxml2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-alien-svn/package.py45
-rw-r--r--var/spack/repos/builtin/packages/perl-app-cmd/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-array-utils/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-bio-searchio-hmmer/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-bioperl/package.py95
-rw-r--r--var/spack/repos/builtin/packages/perl-bit-vector/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-cairo/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-capture-tiny/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-carp-clan/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-cgi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/perl-class-data-inheritable/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-class-inspector/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-class-load-xs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-class-load/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-clone-choose/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-clone/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-config-general/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-contextual-return/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-cpan-meta-check/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-data-dumper/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-data-optlist/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-data-stag/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-date-manip/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-db-file/package.py11
-rw-r--r--var/spack/repos/builtin/packages/perl-dbd-mysql/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-dbd-pg/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-dbi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-devel-cycle/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-devel-symdump/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-digest-md5/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-encode-locale/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-error/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-eval-closure/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-exception-class/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-exporter-lite/package.py5
-rw-r--r--var/spack/repos/builtin/packages/perl-exporter-tiny/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-config/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-depends/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-helpers/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-installpaths/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-makemaker/package.py7
-rw-r--r--var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-ffi-checklib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-file-chdir/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-file-copy-recursive/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-file-homedir/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-file-listing/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-file-pushd/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-file-sharedir-install/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-file-slurp-tiny/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-file-slurp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-file-slurper/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-file-which/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-font-ttf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-forks/package.py16
-rw-r--r--var/spack/repos/builtin/packages/perl-fth/package.py146
-rw-r--r--var/spack/repos/builtin/packages/perl-gd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-gdgraph-histogram/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-gdgraph/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-gdtextutil/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-getopt-tabular/package.py5
-rw-r--r--var/spack/repos/builtin/packages/perl-graph-readwrite/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-graph/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-hash-merge/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-html-parser/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-html-tagset/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-http-cookies/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-http-daemon/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-http-date/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-http-message/package.py16
-rw-r--r--var/spack/repos/builtin/packages/perl-http-negotiate/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-inline-c/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-inline/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-io-all/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-io-compress/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-io-html/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-io-prompt/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-io-sessiondata/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-io-socket-ssl/package.py19
-rw-r--r--var/spack/repos/builtin/packages/perl-io-string/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-io-stringy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-io-tty/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-ipc-run/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-json/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-libwww-perl/package.py32
-rw-r--r--var/spack/repos/builtin/packages/perl-libxml-perl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-list-moreutils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-log-log4perl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-logger-simple/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-lwp-protocol-https/package.py16
-rw-r--r--var/spack/repos/builtin/packages/perl-mailtools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-math-bezier/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-math-cdf/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-math-cephes/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-math-matrixreal/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-math-round/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-math-vecstat/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-mce/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-mni-perllib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-module-build-tiny/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-module-build/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-module-implementation/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-module-runtime-conflicts/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-module-runtime/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-moose/package.py32
-rw-r--r--var/spack/repos/builtin/packages/perl-mozilla-ca/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-mro-compat/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-namespace-clean/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-net-http/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-net-scp-expect/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-net-ssleay/package.py23
-rw-r--r--var/spack/repos/builtin/packages/perl-number-format/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-object-insideout/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-package-stash-xs/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-package-stash/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-padwalker/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-params-util/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-params-validate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-parse-recdescent/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-path-tiny/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-pdf-api2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-pegex/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py42
-rw-r--r--var/spack/repos/builtin/packages/perl-perl-version/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-perl4-corelibs/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-perl6-slurp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-perlio-gzip/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-perlio-utf8-strict/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-readonly/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-regexp-common/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-scalar-list-utils/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-scalar-util-numeric/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-set-intervaltree/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-set-intspan/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-set-scalar/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-soap-lite/package.py18
-rw-r--r--var/spack/repos/builtin/packages/perl-star-fusion/package.py24
-rw-r--r--var/spack/repos/builtin/packages/perl-statistics-basic/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-statistics-pca/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-exporter-progressive/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-exporter/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-identify/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-install/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-name/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-sub-uplevel/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-svg/package.py7
-rw-r--r--var/spack/repos/builtin/packages/perl-swissknife/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-sys-sigaction/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-task-weaken/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-term-readline-gnu/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-termreadkey/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py24
-rw-r--r--var/spack/repos/builtin/packages/perl-test-deep/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-differences/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-test-exception/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-test-fatal/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-test-memory-cycle/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-test-more/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-test-most/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-test-needs/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-output/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-test-requires/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-warn/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-test-warnings/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-text-csv/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-text-diff/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-text-format/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-text-simpletable/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-text-soundex/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-text-unidecode/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-thread-queue/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-threads/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-time-hires/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-time-piece/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-timedate/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-tk/package.py20
-rw-r--r--var/spack/repos/builtin/packages/perl-try-tiny/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-uri-encode/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-uri/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-want/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-www-robotrules/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-dom/package.py12
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-libxml/package.py14
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-libxslt/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-parser-lite/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-parser/package.py16
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-quote/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-regexp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-sax-base/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py10
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-sax/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-simple/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-twig/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-writer/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/perl-yaml/package.py8
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py343
-rw-r--r--var/spack/repos/builtin/packages/pestpp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/petaca/package.py39
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py1006
-rw-r--r--var/spack/repos/builtin/packages/pexsi/package.py86
-rw-r--r--var/spack/repos/builtin/packages/pfapack/package.py71
-rw-r--r--var/spack/repos/builtin/packages/pfft/package.py82
-rw-r--r--var/spack/repos/builtin/packages/pflask/package.py6
-rw-r--r--var/spack/repos/builtin/packages/pflotran/package.py42
-rw-r--r--var/spack/repos/builtin/packages/pfunit/package.py142
-rw-r--r--var/spack/repos/builtin/packages/pgdspider/package.py27
-rw-r--r--var/spack/repos/builtin/packages/pgi/package.py122
-rw-r--r--var/spack/repos/builtin/packages/pgplot/package.py193
-rw-r--r--var/spack/repos/builtin/packages/phantompeakqualtools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/phast/package.py28
-rw-r--r--var/spack/repos/builtin/packages/phasta/package.py36
-rw-r--r--var/spack/repos/builtin/packages/phist/package.py345
-rw-r--r--var/spack/repos/builtin/packages/phoenix/package.py4
-rw-r--r--var/spack/repos/builtin/packages/photos-f/package.py24
-rw-r--r--var/spack/repos/builtin/packages/photos/package.py26
-rw-r--r--var/spack/repos/builtin/packages/php/package.py58
-rw-r--r--var/spack/repos/builtin/packages/phrap-crossmatch-swat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/phred/package.py8
-rw-r--r--var/spack/repos/builtin/packages/phylip/package.py20
-rw-r--r--var/spack/repos/builtin/packages/phylobayesmpi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/phyluce/package.py48
-rw-r--r--var/spack/repos/builtin/packages/picard/package.py177
-rw-r--r--var/spack/repos/builtin/packages/picsar/package.py94
-rw-r--r--var/spack/repos/builtin/packages/picsarlite/package.py89
-rw-r--r--var/spack/repos/builtin/packages/pidx/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pig/package.py6
-rw-r--r--var/spack/repos/builtin/packages/pigz/package.py20
-rw-r--r--var/spack/repos/builtin/packages/pika/package.py142
-rw-r--r--var/spack/repos/builtin/packages/pilon/package.py27
-rw-r--r--var/spack/repos/builtin/packages/pindel/package.py36
-rw-r--r--var/spack/repos/builtin/packages/pinentry/package.py86
-rw-r--r--var/spack/repos/builtin/packages/pinfo/package.py22
-rw-r--r--var/spack/repos/builtin/packages/pipework/package.py6
-rw-r--r--var/spack/repos/builtin/packages/piranha/package.py33
-rw-r--r--var/spack/repos/builtin/packages/pism/package.py123
-rw-r--r--var/spack/repos/builtin/packages/pixman/package.py40
-rw-r--r--var/spack/repos/builtin/packages/pixz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/pkg-config/package.py31
-rw-r--r--var/spack/repos/builtin/packages/pkgconf/package.py51
-rw-r--r--var/spack/repos/builtin/packages/pktools/package.py38
-rw-r--r--var/spack/repos/builtin/packages/planck-likelihood/package.py166
-rw-r--r--var/spack/repos/builtin/packages/plasma/package.py44
-rw-r--r--var/spack/repos/builtin/packages/platypus/package.py14
-rw-r--r--var/spack/repos/builtin/packages/plink-ng/package.py31
-rw-r--r--var/spack/repos/builtin/packages/plink/package.py53
-rw-r--r--var/spack/repos/builtin/packages/plplot/package.py148
-rw-r--r--var/spack/repos/builtin/packages/plumed/package.py323
-rw-r--r--var/spack/repos/builtin/packages/ply/package.py14
-rw-r--r--var/spack/repos/builtin/packages/pmdk/package.py66
-rw-r--r--var/spack/repos/builtin/packages/pmemkv/package.py104
-rw-r--r--var/spack/repos/builtin/packages/pmerge/package.py24
-rw-r--r--var/spack/repos/builtin/packages/pmgr-collective/package.py7
-rw-r--r--var/spack/repos/builtin/packages/pmix/package.py158
-rw-r--r--var/spack/repos/builtin/packages/pmlib/package.py98
-rw-r--r--var/spack/repos/builtin/packages/pnfft/package.py72
-rw-r--r--var/spack/repos/builtin/packages/pngquant/package.py6
-rw-r--r--var/spack/repos/builtin/packages/pngwriter/package.py26
-rw-r--r--var/spack/repos/builtin/packages/pnmpi/package.py45
-rw-r--r--var/spack/repos/builtin/packages/poamsa/package.py20
-rw-r--r--var/spack/repos/builtin/packages/pocl/package.py70
-rw-r--r--var/spack/repos/builtin/packages/podio/package.py79
-rw-r--r--var/spack/repos/builtin/packages/podman/package.py78
-rw-r--r--var/spack/repos/builtin/packages/poke/package.py19
-rw-r--r--var/spack/repos/builtin/packages/polymake/package.py31
-rw-r--r--var/spack/repos/builtin/packages/poplddecay/package.py14
-rw-r--r--var/spack/repos/builtin/packages/poppler-data/package.py6
-rw-r--r--var/spack/repos/builtin/packages/poppler/package.py241
-rw-r--r--var/spack/repos/builtin/packages/popt/package.py13
-rw-r--r--var/spack/repos/builtin/packages/porta/package.py5
-rw-r--r--var/spack/repos/builtin/packages/portage/package.py123
-rw-r--r--var/spack/repos/builtin/packages/portcullis/package.py47
-rw-r--r--var/spack/repos/builtin/packages/ports-of-call/package.py25
-rw-r--r--var/spack/repos/builtin/packages/postgis/package.py81
-rw-r--r--var/spack/repos/builtin/packages/postgresql/package.py205
-rw-r--r--var/spack/repos/builtin/packages/povray/package.py154
-rw-r--r--var/spack/repos/builtin/packages/powerapi/package.py54
-rw-r--r--var/spack/repos/builtin/packages/powertop/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ppl/package.py9
-rw-r--r--var/spack/repos/builtin/packages/pplacer/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py57
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py40
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-bem/package.py48
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py35
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py32
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py148
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-fem/package.py46
-rw-r--r--var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py47
-rw-r--r--var/spack/repos/builtin/packages/ppopen-at/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ppopen-math-mp/package.py28
-rw-r--r--var/spack/repos/builtin/packages/ppopen-math-vis/package.py34
-rw-r--r--var/spack/repos/builtin/packages/prank/package.py28
-rw-r--r--var/spack/repos/builtin/packages/precice/package.py195
-rw-r--r--var/spack/repos/builtin/packages/predixy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/premake-core/package.py18
-rw-r--r--var/spack/repos/builtin/packages/presentproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/preseq/package.py18
-rw-r--r--var/spack/repos/builtin/packages/presto/package.py22
-rw-r--r--var/spack/repos/builtin/packages/price/package.py10
-rw-r--r--var/spack/repos/builtin/packages/primer3/package.py22
-rw-r--r--var/spack/repos/builtin/packages/prinseq-lite/package.py32
-rw-r--r--var/spack/repos/builtin/packages/printproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/prism/package.py32
-rw-r--r--var/spack/repos/builtin/packages/prmon/package.py31
-rw-r--r--var/spack/repos/builtin/packages/prng/package.py16
-rw-r--r--var/spack/repos/builtin/packages/probconsrna/package.py16
-rw-r--r--var/spack/repos/builtin/packages/procenv/package.py12
-rw-r--r--var/spack/repos/builtin/packages/process-in-process/package.py266
-rw-r--r--var/spack/repos/builtin/packages/procps-ng/package.py6
-rw-r--r--var/spack/repos/builtin/packages/procps/package.py38
-rw-r--r--var/spack/repos/builtin/packages/prod-util/package.py8
-rw-r--r--var/spack/repos/builtin/packages/prodigal/package.py8
-rw-r--r--var/spack/repos/builtin/packages/professor/package.py37
-rw-r--r--var/spack/repos/builtin/packages/profugusmc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/proj/package.py133
-rw-r--r--var/spack/repos/builtin/packages/prokka/package.py30
-rw-r--r--var/spack/repos/builtin/packages/prometheus/package.py28
-rw-r--r--var/spack/repos/builtin/packages/prophecy4f/package.py20
-rw-r--r--var/spack/repos/builtin/packages/protobuf-c/package.py10
-rw-r--r--var/spack/repos/builtin/packages/protobuf/package.py198
-rw-r--r--var/spack/repos/builtin/packages/proxymngr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/prrte/package.py56
-rw-r--r--var/spack/repos/builtin/packages/pruners-ninja/package.py15
-rw-r--r--var/spack/repos/builtin/packages/ps-lite/package.py12
-rw-r--r--var/spack/repos/builtin/packages/pscmc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/psi4/package.py88
-rw-r--r--var/spack/repos/builtin/packages/psimd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/pslib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/psm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/psmc/package.py10
-rw-r--r--var/spack/repos/builtin/packages/pstreams/package.py6
-rw-r--r--var/spack/repos/builtin/packages/pthreadpool/package.py74
-rw-r--r--var/spack/repos/builtin/packages/pugixml/package.py22
-rw-r--r--var/spack/repos/builtin/packages/pulseaudio/package.py121
-rw-r--r--var/spack/repos/builtin/packages/pumi/package.py177
-rw-r--r--var/spack/repos/builtin/packages/pv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pvm/package.py46
-rw-r--r--var/spack/repos/builtin/packages/pxz/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-3to2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-4suite-xml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-abcpy/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-abipy/package.py70
-rw-r--r--var/spack/repos/builtin/packages/py-absl-py/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-accimage/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-acme-tiny/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-adal/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-adb-enhanced/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-addict/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-adios/package.py100
-rw-r--r--var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-aenum/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-affine/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-agate-dbf/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-agate-excel/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-agate-sql/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-agate/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-aiobotocore/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-aiocontextvars/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-aiodns/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-aiofiles/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp-cors/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-aioitertools/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-aioredis/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-aiosignal/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-aiosqlite/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-alabaster/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-alembic/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-altair/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-altgraph/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-amqp/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-angel/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-aniso8601/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-annexremote/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ansi2html/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ansible/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-anuga/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-anyio/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-anytree/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-apache-beam/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-apache-libcloud/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-apex/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-apipkg/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-appdirs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-applicationinsights/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-appnope/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-apptools/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-apscheduler/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-arcgis/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-archspec/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-argcomplete/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-argh/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-argon2-cffi/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-argparse/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-args/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-arrow/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-arviz/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-asciitree/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-asdf/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ase/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-asgiref/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-asn1crypto/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-aspy-yaml/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-asserts/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-asteval/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-astor/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-astpretty/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-astroid/package.py86
-rw-r--r--var/spack/repos/builtin/packages/py-astropy-healpix/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-astropy-helpers/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-astropy/package.py106
-rw-r--r--var/spack/repos/builtin/packages/py-asttokens/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-astunparse/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-async-generator/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-async-lru/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-async-timeout/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-asyncio/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-asynctest/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-atomicwrites/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-atpublic/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-atropos/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ats/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-attrs/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-audioread/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-autograd-gamma/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-autograd/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-automat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-autopep8/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-auxlib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-avro-json-serializer/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-avro-python3/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-avro/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-awesome-slugify/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-awkward/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-awkward0/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-awkward1/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-azote/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-batch/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-core/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli/package.py176
-rw-r--r--var/spack/repos/builtin/packages/py-azure-common/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azure-core/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cosmos/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-azure-datalake-store/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-azure-graphrbac/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-identity/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-azure-loganalytics/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-nspkg/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-blob/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-common/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-automl-core/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-core/package.py76
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py120
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py185
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataprep/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-sdk/package.py68
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-telemetry/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-core/package.py62
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-backcall/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-backports-abc/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-backports-entry-points-selectable/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-backports-lzma/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-backports-os/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-backports-tempfile/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-backports-weakref/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-bandit/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-basemap/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-bash-kernel/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-basis-set-exchange/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-batchspawner/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-bayesian-optimization/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-bcbio-gff/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-bcolz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-bcrypt/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-beancount/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-beautifulsoup4/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-beniget/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-bids-validator/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-bigdft/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-bigfloat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-billiard/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-binaryornot/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-bintrees/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-binwalk/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-biom-format/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-biomine/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-biopandas/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-biopython/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-bitarray/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-bitstring/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-black/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-bleach/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-blessed/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-blessings/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-blight/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-blinker/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-blis/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-blosc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-bmap-tools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-bokeh/package.py52
-rw-r--r--var/spack/repos/builtin/packages/py-boltons/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-boom-boot-manager/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-boost-histogram/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-boto/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-boto3/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-botocore/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-botorch/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-bottle/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-bottleneck/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-breakseq2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-breathe/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-brian/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-brian2/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-brotlipy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-bsddb3/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-build/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-bx-python/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-bz2file/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-cachecontrol/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-cached-property/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cachetools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-cachy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cairocffi/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cantoolz/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-carputils/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-cartopy/package.py147
-rw-r--r--var/spack/repos/builtin/packages/py-catalogue/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-catkin-pkg/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-cclib/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-cdat-lite/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cdo/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-cdsapi/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cekit/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-celery/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-cerberus/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-certifi/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-certipy/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cf-units/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-cffconvert/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-cffi/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-cfgrib/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-cfgv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cftime/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-cgen/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-chai/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-chainer/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-chainmap/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-chalice/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-chardet/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-charm4py/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-charset-normalizer/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-checkm-genome/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-cheetah/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-cheetah3/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cheroot/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-cherrypy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-chronyk/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ci-info/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ci-sdr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-cinema-lib/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-cinemasci/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-citeproc-py/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-clean-text/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-cleo/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-click-didyoumean/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-click-plugins/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-click-repl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-click/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-cligj/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-clikit/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-climate/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-clint/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-clipboard/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cloudpickle/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-clustershell/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cmake-format/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cmake/package.py41
-rw-r--r--var/spack/repos/builtin/packages/py-cmocean/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cmseq/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-cmsml/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-cnvkit/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-coapthon3/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-codecov/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-codepy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-cogent/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-coilmq/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-colorama/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-colorclass/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-colored-traceback/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-colored/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-coloredlogs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-colorful/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-colorio/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-colorlog/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-colormath/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-colorpy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-colorspacious/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-colossalai/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-commonmark/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-configargparse/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-configobj/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-configparser/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-configspace/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-connectionpool/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-constantly/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-contextily/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-contextlib2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-contexttimer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-contextvars/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-control/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-convertdate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-convokit/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-cookiecutter/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-cookies/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-copulas/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-correctionlib/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-counter/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cov-core/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-coveralls/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-cppheaderparser/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cppy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-crashtest/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-crcmod/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-crispresso/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-crossmap/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-cryolobm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-cryptography/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-cssselect/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-csvkit/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-ctgan/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-cudf/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-cuml/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-cupy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-current/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-cutadapt/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-cvxopt/package.py98
-rw-r--r--var/spack/repos/builtin/packages/py-cvxpy/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-cx-oracle/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-cycler/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-cymem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cyordereddict/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-cython-bbox/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-cyvcf2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-d2to1/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-dadi/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-damask/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-dask-glm/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-dask-ml/package.py84
-rw-r--r--var/spack/repos/builtin/packages/py-dask-sphinx-theme/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-dask/package.py282
-rw-r--r--var/spack/repos/builtin/packages/py-dataclasses/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-datacube/package.py73
-rw-r--r--var/spack/repos/builtin/packages/py-datalad-container/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-datalad-hirni/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-datalad-metalad/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-datalad-neuroimaging/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-datalad-webapp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-datalad/package.py160
-rw-r--r--var/spack/repos/builtin/packages/py-datasets/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-dateparser/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-datrie/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-dbf/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-dbfread/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-deap/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-debtcollector/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-debugpy/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-decorator/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-deepdiff/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-deepecho/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-deepsig/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-deeptools/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-defusedxml/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-dendropy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-deprecated/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-deprecation/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-descartes/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-devito/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-devlib/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-dgl/package.py161
-rw-r--r--var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py59
-rw-r--r--var/spack/repos/builtin/packages/py-dictdiffer/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-dill/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-dipy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-discover/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-diskcache/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-distance/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-distlib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-distributed/package.py90
-rw-r--r--var/spack/repos/builtin/packages/py-distro/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-django/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-dlcpar/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-dm-tree/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-dnaio/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-docker/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-dockerpy-creds/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-docopt/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-docutils-stubs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-docutils/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-dominate/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-dotnetcore2/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-downhill/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-doxypy/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-doxypypy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-dpath/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-drmaa/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-dryscrape/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-duecredit/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-dulwich/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-dvc/package.py104
-rw-r--r--var/spack/repos/builtin/packages/py-dxchange/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-dxfile/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-earthengine-api/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-easybuild-framework/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-eccodes/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-ecdsa/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ecos/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-edffile/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-editables/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-editdistance/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-edlib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-eg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-einops/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-elasticsearch/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-elephant/package.py95
-rw-r--r--var/spack/repos/builtin/packages/py-emcee/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-emoji/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-empy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-entrypoints/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-enum34/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-envisage/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ephem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-epydoc/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-espresso/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-espressopp/package.py71
-rw-r--r--var/spack/repos/builtin/packages/py-et-xmlfile/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-etelemetry/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-eventlet/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-execnet/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-executing/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-exifread/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-exodus-bundler/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-extension-helpers/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-extras/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-ez-setup/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-f90wrap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fabric/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-faker/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-falcon/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-fallocate/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-fastai/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-fastaindex/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fastavro/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-fastcache/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fastcluster/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fastcore/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-fastcov/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fastdownload/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-fastdtw/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-fasteners/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-fastjsonschema/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fastprogress/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fastrlock/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-faststructure/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-fava/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-basix/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-dijitso/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-ffc/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-ffcx/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-fiat/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-instant/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-ufl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-filelock/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-filemagic/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-filterpy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-findlibs/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fiona/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-fire/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-fiscalyear/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-fisher/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fits-tools/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-fixtures/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-flake8-import-order/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-flake8-polyfill/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-flake8/package.py86
-rw-r--r--var/spack/repos/builtin/packages/py-flameprof/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-flask-babel/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-flask-compress/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-flask-cors/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-flask-restful/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-flask-socketio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-flask/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-flatbuffers/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-flatten-dict/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-flawfinder/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-flexmock/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-flexx/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-flit-core/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-flit/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-flufl-lock/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-flye/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-fn-py/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fonttools/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-ford/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-formatizer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-formulaic/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-fortran-language-server/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-fortranformat/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-fparser/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-fprettify/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-fracridge/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-freezegun/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-frozenlist/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fs/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-fsspec/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-ftfy/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-funcsigs/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-functools32/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-funcy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fury/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-fusepy/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-future/package.py78
-rw-r--r--var/spack/repos/builtin/packages/py-futures/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-fuzzywuzzy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-fypp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-gast/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-gcovr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-gcs-oauth2-boto-plugin/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-gdbgui/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-gdc-client/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-gee-asset-manager/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-geeadd/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-geeup/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-gemini/package.py86
-rw-r--r--var/spack/repos/builtin/packages/py-genders/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-geneimpacts/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-genshi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-gensim/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-geoalchemy2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-geocube/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-geographiclib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-geopandas/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-geoplot/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-geopy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-getorganelle/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-gevent/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-gf256/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-gffutils/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-gimmik/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-gin-config/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-git-review/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-gitdb/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-gitpython/package.py72
-rw-r--r--var/spack/repos/builtin/packages/py-glmnet/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-glmsingle/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-glob2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-globus-sdk/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-gluoncv/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-gnuplot/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-goatools/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-gooey/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-google-api-core/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-google-api-python-client/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-google-apitools/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-google-auth/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-google-cloud-core/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-google-cloud-storage/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-google-crc32c/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-google-pasta/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-google-resumable-media/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-google/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-googledrivedownloader/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-gosam/package.py52
-rw-r--r--var/spack/repos/builtin/packages/py-gpaw/package.py135
-rw-r--r--var/spack/repos/builtin/packages/py-gpustat/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-gputil/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-gpy/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-gpyopt/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-gpytorch/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-gql/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-grandalf/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-graphql-core/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-graphviz/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-greenlet/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-grequests/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-griddataformats/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-grpcio-tools/package.py84
-rw-r--r--var/spack/repos/builtin/packages/py-grpcio/package.py116
-rw-r--r--var/spack/repos/builtin/packages/py-gsd/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-gsi/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-gsutil/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-gtdbtk/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-guidata/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-guiqwt/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-gym/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-h11/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-h2/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-h5glance/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-h5netcdf/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py100
-rw-r--r--var/spack/repos/builtin/packages/py-h5sh/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-hacking/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-haphpipe/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-hatchet/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-hatchling/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-hdbscan/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-hdfs/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-healpy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-heapdict/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-hep-ml/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-hepdata-converter/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-hepdata-lib/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-hepdata-validator/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-hepunits/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-hieroglyph/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-hiredis/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-hist/package.py29
-rw-r--r--var/spack/repos/builtin/packages/py-histbook/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-histogrammar/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-histoprint/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-holland-backup/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-horovod/package.py379
-rw-r--r--var/spack/repos/builtin/packages/py-hpack/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-hpbandster/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-hpcbench/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-hpccm/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-hstspreload/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-html2text/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-html5lib/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-htmlgen/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-htseq/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-httpbin/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-httpcore/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-httplib2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-httpretty/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-httpstan/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-httptools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-httpx/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-huggingface-hub/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-humanfriendly/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-humanize/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-hvac/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-hypercorn/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-hyperframe/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-hyperlink/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-hyperopt/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-hypothesis/package.py72
-rw-r--r--var/spack/repos/builtin/packages/py-ibm-cloud-sdk-core/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-ibm-watson/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-ics/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-identify/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-idna-ssl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-idna/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-illumina-utils/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-ilmbase/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-imageio-ffmpeg/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-imageio/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-imgaug/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-iminuit/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-immutables/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-metadata/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-resources/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-importlib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-incremental/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-inference-schema/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-inheritance/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-iniconfig/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-iniparse/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-installer/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-instrain/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-intbitset/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-intel-openmp/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-intensity-normalization/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-interface-meta/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-intervaltree/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-invoke/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-iocapture/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ipaddress/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ipdb/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-ipycanvas/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-ipyevents/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-ipykernel/package.py103
-rw-r--r--var/spack/repos/builtin/packages/py-ipympl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-ipyparallel/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-ipython-cluster-helper/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ipython-genutils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ipython/package.py95
-rw-r--r--var/spack/repos/builtin/packages/py-ipyvtk-simple/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-ipywidgets/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-irpf90/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-iso8601/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-isodate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-isort/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-itk/package.py183
-rw-r--r--var/spack/repos/builtin/packages/py-itsdangerous/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-jaconv/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jamo/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-jaraco-functools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-javaproperties/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-jdatetime/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-jdcal/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jedi/package.py73
-rw-r--r--var/spack/repos/builtin/packages/py-jeepney/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-jellyfish/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2-time/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-jmespath/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-joblib/package.py41
-rw-r--r--var/spack/repos/builtin/packages/py-jplephem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jprops/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-jpype1/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-jsmin/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-json-get/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-json5/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-jsondiff/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpatch/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpath-ng/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpickle/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpointer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jsonref/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-jsonschema/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-junit-xml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-client/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-console/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-core/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-packaging/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-packaging11/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-packaging7/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-server/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterhub/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-server/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-jupyterlab/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-jupytext/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-kaggle/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-kaldiio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-keras-applications/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-keras-preprocessing/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-keras/package.py154
-rw-r--r--var/spack/repos/builtin/packages/py-keras2onnx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-kerberos/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-keyboard/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-keyring/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-keyrings-alt/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-keystoneauth1/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-kitchen/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-kiwisolver/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-kmodes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-knack/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-kombu/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-kornia/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-kosh/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-kubernetes/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-labours/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-lap/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-lark-parser/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-lark/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-laspy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-latexcodec/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-law/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-lazy-property/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-lazy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-lazyarray/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-leather/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-lerc/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-lhsmdu/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-liac-arff/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-libclang/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-libconf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-libensemble/package.py115
-rw-r--r--var/spack/repos/builtin/packages/py-liblas/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-librosa/package.py52
-rw-r--r--var/spack/repos/builtin/packages/py-lifelines/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-lightgbm/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-ligo-segments/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-line-profiler/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-linecache2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-lineenhancer/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-lit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-lizard/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-llnl-sina/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-llvmlite/package.py78
-rw-r--r--var/spack/repos/builtin/packages/py-lmdb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-lmfit/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-lmodule/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-localcider/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-locket/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-lockfile/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-logilab-common/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-louie/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-lru-dict/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-lscsoft-glue/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-luigi/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-lws/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-lxml/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-lz4/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-lzstring/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-m2r/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-macholib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-machotools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-macs2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-maestrowf/package.py70
-rw-r--r--var/spack/repos/builtin/packages/py-magic/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-mailchecker/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-make/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-mako/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-mapclassify/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-markdown-include/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-markdown-it-py/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-markdown/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-markdown2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-markovify/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-marshmallow/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib-inline/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py307
-rw-r--r--var/spack/repos/builtin/packages/py-mayavi/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-mccabe/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-md-environ/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-mdanalysis/package.py114
-rw-r--r--var/spack/repos/builtin/packages/py-mdit-py-plugins/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-mechanize/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-meldmd/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-memory-profiler/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-memprof/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-memray/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-mercantile/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-merlin/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-meshio/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-metasv/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-methylcode/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-metpy/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-mffpy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-mg-rast-tools/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-mido/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-mikado/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-minio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-minrpc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-misopy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-mistune/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-mixedhtseq/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-mizani/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-ml-collections/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-mlperf-logging/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mlxtend/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-mmcv/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-mmtf-python/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mne/package.py92
-rw-r--r--var/spack/repos/builtin/packages/py-mo-pack/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-mock/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-modred/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-moltemplate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-monotonic/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-monty/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-more-itertools/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-motmetrics/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-motor/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-mouseinfo/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-moviepy/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-mpi4py/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-mpld3/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-mplhep-data/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-mplhep/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-mpmath/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-mrcfile/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-msal-extensions/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-msal/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-msgpack-numpy/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-msgpack/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-msrest/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-msrestazure/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-multi-key-dict/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-multidict/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-multipledispatch/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-multiprocess/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-multiqc/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-munch/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-murmurhash/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mutagen/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-mx/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-mxfold2/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-myhdl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mypy-extensions/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-mypy/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-mysql-connector-python/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-mysqlclient/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-mysqldb1/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-nanotime/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-nara-wpe/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-natsort/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-nbclassic/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-nbclient/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-nbconvert/package.py102
-rw-r--r--var/spack/repos/builtin/packages/py-nbdime/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-nbformat/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-nbmake/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-nbsphinx/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-nbval/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-nc-time-axis/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-neo/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-neobolt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-neotime/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-neovim-remote/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-nest-asyncio/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-nestle/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-netaddr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-netcdf4/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-netifaces/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-netket/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-networkit/package.py60
-rw-r--r--var/spack/repos/builtin/packages/py-networkx/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-neurokit2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-neurolab/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-neurora/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-nibabel/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-nibetaseries/package.py76
-rw-r--r--var/spack/repos/builtin/packages/py-nilearn/package.py102
-rw-r--r--var/spack/repos/builtin/packages/py-ninja/package.py29
-rw-r--r--var/spack/repos/builtin/packages/py-nipype/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-nistats/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-nitransforms/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-niworkflows/package.py90
-rw-r--r--var/spack/repos/builtin/packages/py-nltk/package.py1522
-rw-r--r--var/spack/repos/builtin/packages/py-nltk/resourcegen.py25
-rw-r--r--var/spack/repos/builtin/packages/py-nodeenv/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-nose-cov/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-nose2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-nosexcover/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-notebook/package.py116
-rw-r--r--var/spack/repos/builtin/packages/py-npx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ntlm-auth/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ntplib/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-num2words/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-numba/package.py76
-rw-r--r--var/spack/repos/builtin/packages/py-numcodecs/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-numexpr/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-numexpr3/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-numpy-quaternion/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py503
-rw-r--r--var/spack/repos/builtin/packages/py-numpydoc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-oauth2client/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-oauthlib/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-odc-geo/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-olefile/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-omegaconf/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-onnx-runtime/package.py159
-rw-r--r--var/spack/repos/builtin/packages/py-onnx/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-onnxconverter-common/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-onnxmltools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-ont-fast5-api/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-opcodes/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-opencensus-context/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-opencensus/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-openidc-client/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-openmc/package.py75
-rw-r--r--var/spack/repos/builtin/packages/py-openpmd-validator/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-openpmd-viewer/package.py79
-rw-r--r--var/spack/repos/builtin/packages/py-openpyxl/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-openslide-python/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-opentuner/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-opppy/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-opt-einsum/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-or-tools/package.py66
-rw-r--r--var/spack/repos/builtin/packages/py-ordered-set/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ordereddict/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-os-service-types/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-oset/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-oslo-config/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-oslo-i18n/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-oslo-serialization/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-oslo-utils/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-osqp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-overpy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-owslib/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pacifica-downloader/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pacifica-namespace/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pacifica-uploader/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-packaging/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-pager/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-palettable/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pamela/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-panaroo/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py159
-rw-r--r--var/spack/repos/builtin/packages/py-pandocfilters/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-param/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-parameterized/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-paramiko/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-paramz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-parmed/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-parse/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-parsedatetime/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-parsimonious/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-parsl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-parso/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-partd/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-particle/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-pastel/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-path-py/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pathos/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-pathspec/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pathtools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-patool/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-patsy/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-pauvre/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pbr/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pdoc3/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-peachpy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pem/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-pep517/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pep8-naming/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pep8/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-performance/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-periodictable/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-petastorm/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-petname/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-petsc4py/package.py124
-rw-r--r--var/spack/repos/builtin/packages/py-pexpect/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-phonenumbers/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-phonopy/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-phydms/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-phylophlan/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pickle5/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pickleshare/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-picmistandard/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-picrust/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-picrust2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pid/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-pika/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pil/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pillow-simd/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py151
-rw-r--r--var/spack/repos/builtin/packages/py-pint/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-pip/package.py96
-rw-r--r--var/spack/repos/builtin/packages/py-pipits/package.py89
-rw-r--r--var/spack/repos/builtin/packages/py-pispino/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pkgconfig/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pkginfo/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-plac/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-planar/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-planet/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-platformdirs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-plotly/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-plotnine/package.py60
-rw-r--r--var/spack/repos/builtin/packages/py-pluggy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-ply/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pmw-patched/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pmw/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pockets/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-poetry-core/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-poetry/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-pomegranate/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pooch/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-portalocker/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-portend/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-poster/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pot/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pox/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-poyo/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-ppft/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-pre-commit/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-preshed/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pretrainedmodels/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-prettytable/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-priority/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-profilehooks/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-proglog/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-progress/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-progressbar2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-projectq/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-prometheus-client/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-promise/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-prompt-toolkit/package.py61
-rw-r--r--var/spack/repos/builtin/packages/py-protobuf/package.py132
-rw-r--r--var/spack/repos/builtin/packages/py-prov/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-prwlock/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pspamm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-psutil/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-psyclone/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-psycopg2/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ptyprocess/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pudb/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pulp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pure-eval/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pure-sasl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-py-cpuinfo/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-py-spy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-py/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-py2bit/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-py2cairo/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-py2neo/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-py4j/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-py6s/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyaestro/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyamg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyaml/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pyani/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/package.py92
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1-modules/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyautogui/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pybedtools/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-pybids/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-pybigwig/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-pybind11-stubgen/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pybind11/package.py110
-rw-r--r--var/spack/repos/builtin/packages/py-pybobyqa/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pybrain/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex-docutils/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pybtex/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pycairo/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-pycares/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pycbc/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-pychecker/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pycifrw/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pycmd/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pycocotools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pycodestyle/package.py90
-rw-r--r--var/spack/repos/builtin/packages/py-pycompadre/package.py69
-rw-r--r--var/spack/repos/builtin/packages/py-pycortex/package.py60
-rw-r--r--var/spack/repos/builtin/packages/py-pycosat/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pycparser/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pycrypto/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pycuda/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-pycurl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pydantic/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pydap/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pydatalog/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pydeprecate/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pydeps/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pydicom/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pydispatcher/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pydmd/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-pydocstyle/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pydoe/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pydoe2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pydot/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pydot2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pydotplus/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pydv/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyeda/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyelftools/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pyem/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyepsg/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyface/package.py69
-rw-r--r--var/spack/repos/builtin/packages/py-pyfaidx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyfasta/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyfftw/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyfiglet/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pyfits/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyflakes/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-pyfr/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pygdal/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-pygdbmi/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pygelf/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pygeos/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pygetwindow/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pygit2/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-pygithub/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pyglet/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pygments-pytest/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pygobject/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-pygps/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pygpu/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-pygraphviz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pygresql/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pygtk/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-pygtrie/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyh5md/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyheadtail/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyjnius/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyjwt/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pyke/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pykml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pykokkos-base/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-pykwalify/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pylev/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyliblzma/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pylikwid/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pylint/package.py105
-rw-r--r--var/spack/repos/builtin/packages/py-pylops/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-pymatgen/package.py62
-rw-r--r--var/spack/repos/builtin/packages/py-pymc3/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pymeeus/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pyminifier/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pymol/package.py74
-rw-r--r--var/spack/repos/builtin/packages/py-pymongo/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pymoo/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pymorph/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pympler/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-pymsgbox/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pymumps/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pymysql/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pynacl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pynio/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-pynisher/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pynn/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-pynvim/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pynvml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyodbc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyomo/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pyopencl/package.py41
-rw-r--r--var/spack/repos/builtin/packages/py-pyopenssl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pypar/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-pypdf2/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pypeflow/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pypeg2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyperclip/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyperf/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pypinyin/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pyprecice/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pyprof2html/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyproj/package.py70
-rw-r--r--var/spack/repos/builtin/packages/py-pypulse/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyqi/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt-builder/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt4/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt5-sip/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt5/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-pyquaternion/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyrad/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pyrect/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyrevolve/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyrfr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyro-api/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pyro-ppl/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pyro4/package.py138
-rw-r--r--var/spack/repos/builtin/packages/py-pyrosar/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pyrr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyrsistent/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pysam/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-pyscaf/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyscf/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-pyscipopt/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyscreeze/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyserial/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pyshp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyside/package.py68
-rw-r--r--var/spack/repos/builtin/packages/py-pyside2/package.py65
-rw-r--r--var/spack/repos/builtin/packages/py-pysimdjson/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pysmartdl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pysocks/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pysolar/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-pyspark/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pyspellchecker/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pysqlite/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pysqlite3/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-pystac/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pystan/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-pysurfer/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pytailf/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pytaridx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-arraydiff/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-asyncio/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-benchmark/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cache/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-check-links/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cov/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cpp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-doctestplus/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-flake8/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-flakes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-forked/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-html/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-httpbin/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-isort/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-metadata/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-mock/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-mypy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-openfiles/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-parallel/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-pep8/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-qt/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-random-order/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-runner/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-timeout/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-xdist/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-pytest/package.py122
-rw-r--r--var/spack/repos/builtin/packages/py-python-benedict/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-python-box/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-python-certifi-win32/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-python-constraint/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-python-crfsuite/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-daemon/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-python-dateutil/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-python-docs-theme/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-python-dotenv/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-python-editor/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-python-engineio/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-fmask/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-python-fsutil/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-python-gitlab/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-python-igraph/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-python-jenkins/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-python-json-logger/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-keystoneclient/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-python-ldap/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-python-levenshtein/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-python-logstash/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-python-louvain/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-python-lzo/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-python-magic/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-python-mapnik/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-python-markdown-math/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-python-meep/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-python-memcached/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-python-oauth2/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-python-picard/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-python-rapidjson/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-python-slugify/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-socketio/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-python-subunit/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-swiftclient/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-python-utils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-python-xlib/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-python-xmp-toolkit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-python3-xlib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pythonqwt/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pythonsollya/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-pythran/package.py79
-rw-r--r--var/spack/repos/builtin/packages/py-pytimeparse/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pytoml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pytools/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pytorch-gradual-warmup-lr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pytorch-lightning/package.py92
-rw-r--r--var/spack/repos/builtin/packages/py-pytorch-sphinx-theme/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyts/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pytweening/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pyudev/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pyugrid/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyupgrade/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyusb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyutilib/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-pyvcf/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pyvista/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pyvistaqt/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyvolve/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pywavelets/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-pywcs/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pyworld/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-pyyaml/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-pyzmq/package.py85
-rw-r--r--var/spack/repos/builtin/packages/py-qiskit-aer/package.py67
-rw-r--r--var/spack/repos/builtin/packages/py-qiskit-terra/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-qmtest/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-qpth/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-qrcode/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-qsymm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-qtawesome/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-qtconsole/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-qtpy/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-quantities/package.py55
-rw-r--r--var/spack/repos/builtin/packages/py-quart/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-quast/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-quaternionic/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-queryablelist/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-questionary/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-radiant-mlhub/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-radical-entk/package.py52
-rw-r--r--var/spack/repos/builtin/packages/py-radical-gtod/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-radical-pilot/package.py66
-rw-r--r--var/spack/repos/builtin/packages/py-radical-saga/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-radical-utils/package.py72
-rw-r--r--var/spack/repos/builtin/packages/py-ranger-fm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-rapidfuzz/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-rarfile/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-rasterio/package.py66
-rw-r--r--var/spack/repos/builtin/packages/py-ratelim/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-ratelimiter/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-raven/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ray/package.py80
-rw-r--r--var/spack/repos/builtin/packages/py-rbtools/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-rdflib/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-rdt/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-readme-renderer/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-recommonmark/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-redis/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-regex/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-reindent/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-reportlab/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-repoze-lru/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-reproject/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-requests-ftp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-requests-futures/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-requests-mock/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-requests-ntlm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-requests-oauthlib/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-requests-toolbelt/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-requests-unixsocket/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-requests/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-resampy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-responses/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-restview/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-resultsfile/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-retry-decorator/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-retry/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-retrying/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-retworkx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-rfc3986/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rich/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-rios/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-rioxarray/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-rise/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-rmm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-rnacocktail/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-rnc2rng/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-robotframework/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-rope/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rosdep/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rosdistro/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rosinstall-generator/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rosinstall/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-rospkg/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rply/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-rpy2/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-rq/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-rsa/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-rsatoolbox/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-rseqc/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-rst2pdf/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-rtree/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-yaml/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-rx/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-s3cmd/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-s3fs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-s3transfer/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-sacremoses/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-saga-python/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-salib/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-sanic/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-scandir/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-schema/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-scientificpython/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-build/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-fmm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-image/package.py98
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn/package.py164
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-optimize/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-scinum/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py175
-rw-r--r--var/spack/repos/builtin/packages/py-scooby/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-scoop/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-scp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-scs/package.py51
-rw-r--r--var/spack/repos/builtin/packages/py-sdmetrics/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-sdv/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-seaborn/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-secretstorage/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-segmentation-models-pytorch/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-selectors34/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-selenium/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-semantic-version/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-semver/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-send2trash/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-sentencepiece/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-sentry-sdk/package.py90
-rw-r--r--var/spack/repos/builtin/packages/py-seqeval/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-seriate/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-serpent/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-setproctitle/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-setupmeta/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-cpp/package.py62
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-git/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-rust/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-scm/package.py50
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py194
-rw-r--r--var/spack/repos/builtin/packages/py-sfepy/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-sgp4/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-sh/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-shapely/package.py76
-rw-r--r--var/spack/repos/builtin/packages/py-shellingham/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-shiboken/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-shiboken2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-shortuuid/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-shroud/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-shtab/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sierrapy/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-simplegeneric/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-simplejson/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-simplekml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-singledispatch/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-sip/package.py89
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-skl2onnx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-slepc4py/package.py100
-rw-r--r--var/spack/repos/builtin/packages/py-slurm-pipeline/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-smac/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-smart-open/package.py64
-rw-r--r--var/spack/repos/builtin/packages/py-smartypants/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-smmap/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-snappy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sncosmo/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-sniffio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-snowballstemmer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-snuggs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sobol-seq/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sonlib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sortedcollections/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-sortedcontainers/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-soundfile/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-soupsieve/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-spacy-models-en-core-web-sm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-spacy-models-en-vectors-web-lg/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-spacy/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-sparse/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-spatialist/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-spatialite/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-spdlog/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-spectra/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-spectral/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-speech-recognition/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-spefile/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-spgl1/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-spglib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-spherical/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-argparse/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-autodoc-typehints/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-gallery/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-tabs/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py140
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-napoleon/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sphobjinv/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-spyder/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-spykeutils/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy-stubs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-sqlalchemy/package.py77
-rw-r--r--var/spack/repos/builtin/packages/py-sqlparse/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-srsly/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-sshtunnel/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-stack-data/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-statsmodels/package.py76
-rw-r--r--var/spack/repos/builtin/packages/py-stdlib-list/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-stestr/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-stevedore/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-stomp-py/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-stopit/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-storm/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-stratify/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-stsci-distutils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-submitit/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-subprocess32/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-subrosa/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-svgpathtools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-svgutils/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-svgwrite/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-symengine/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-symfit/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-sympy/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-syned/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-systemd-python/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-tables/package.py62
-rw-r--r--var/spack/repos/builtin/packages/py-tabulate/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-tap-py/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-tatsu/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-tblib/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-templateflow/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-tempora/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-tenacity/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py60
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboard/package.py104
-rw-r--r--var/spack/repos/builtin/packages/py-tensorboardx/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py99
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow-hub/package.py89
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow-probability/package.py86
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow/package.py1146
-rw-r--r--var/spack/repos/builtin/packages/py-termcolor/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-terminado/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-terminaltables/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-tern/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-testfixtures/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-testinfra/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-testpath/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-testrepository/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-testresources/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-testscenarios/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-testtools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-tetoolkit/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-text-unidecode/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-textblob/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-texttable/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-tfdlpack/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-theano/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-thinc/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-thirdorder/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-threadpoolctl/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-tifffile/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-timm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-tinyarray/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-tinycss2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-tokenize-rt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-tokenizers/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-toml/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-tomli-w/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-tomli/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-tomlkit/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-tomopy/package.py66
-rw-r--r--var/spack/repos/builtin/packages/py-toolz/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-toposort/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-torch-cluster/package.py35
-rw-r--r--var/spack/repos/builtin/packages/py-torch-geometric/package.py75
-rw-r--r--var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-torch-scatter/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-torch-sparse/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-torch-spline-conv/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-torch/package.py676
-rw-r--r--var/spack/repos/builtin/packages/py-torchaudio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-torchdata/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-torchfile/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-torchgeo/package.py154
-rw-r--r--var/spack/repos/builtin/packages/py-torchmeta/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-torchmetrics/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-torchsummary/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-torchtext/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-torchvision/package.py189
-rw-r--r--var/spack/repos/builtin/packages/py-tornado/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-tox/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-tpot/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-tqdm/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-traceback2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-traitlets/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-traits/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-traitsui/package.py77
-rw-r--r--var/spack/repos/builtin/packages/py-transformers/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-transforms3d/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-treehash/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-triangle/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-tuiview/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-tweedledum/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-twine/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-twisted/package.py143
-rw-r--r--var/spack/repos/builtin/packages/py-typed-ast/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-typeguard/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-typesentry/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-typing-extensions/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-typing/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-tzlocal/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-ucsf-pyem/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-ucx-py/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-uhi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-ujson/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-umalqurra/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-umi-tools/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-uncertainties/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-unicycler/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-unidecode/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-unittest2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-unittest2py3k/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-unshare/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-update-checker/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-uproot/package.py55
-rw-r--r--var/spack/repos/builtin/packages/py-uproot3-methods/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-uproot3/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-uproot4/package.py83
-rw-r--r--var/spack/repos/builtin/packages/py-uritemplate/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-urllib3/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-urwid/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-us/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-usgs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-utils/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-uvloop/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-uvw/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-uwsgi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-vcf-kit/package.py54
-rw-r--r--var/spack/repos/builtin/packages/py-vcrpy/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-vcstool/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-vcstools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-vcversioner/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-vector/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-vermin/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-versioneer/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-vine/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv-clone/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv/package.py48
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-visdom/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-voluptuous/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-vsc-base/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-vsc-install/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-vsts/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-walinuxagent/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-wand/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-wandb/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-warlock/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-warpx/package.py100
-rw-r--r--var/spack/repos/builtin/packages/py-wasabi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-watchdog/package.py77
-rw-r--r--var/spack/repos/builtin/packages/py-wcsaxes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-wcwidth/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-weave/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-webargs/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-webencodings/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-webkit-server/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-weblogo/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-webob/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-websocket-client/package.py35
-rw-r--r--var/spack/repos/builtin/packages/py-websockets/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-werkzeug/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-wget/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-whatshap/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py88
-rw-r--r--var/spack/repos/builtin/packages/py-whichcraft/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-whoosh/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-widgetsnbextension/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-wincertstore/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-word2number/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-wordcloud/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-workload-automation/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-wradlib/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-wrapt/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-wsproto/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-wstool/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-wub/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-wurlitzer/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-ww/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-wxmplot/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-wxpython/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-x21/package.py100
-rw-r--r--var/spack/repos/builtin/packages/py-xarray/package.py106
-rw-r--r--var/spack/repos/builtin/packages/py-xattr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-xdot/package.py89
-rw-r--r--var/spack/repos/builtin/packages/py-xenv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-xgboost/package.py72
-rw-r--r--var/spack/repos/builtin/packages/py-xlrd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-xlsxwriter/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-xlwt/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-xmlrunner/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-xmltodict/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-xonsh/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-xopen/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-xpyb/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-xrootdpyfs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-xvfbwrapper/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-xxhash/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-yacs/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-yahmm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-yajl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-yamlreader/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-yapf/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-yarl/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-yaspin/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-yolk3k/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-youtube-dl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-yq/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-yt/package.py79
-rw-r--r--var/spack/repos/builtin/packages/py-ytopt-autotune/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-ytopt/package.py55
-rw-r--r--var/spack/repos/builtin/packages/py-zarr/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-zc-buildout/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-zc-lockfile/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-zict/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-zipp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-zope-event/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-zope-interface/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-zxcvbn/package.py16
-rw-r--r--var/spack/repos/builtin/packages/pygmo/package.py28
-rw-r--r--var/spack/repos/builtin/packages/pythia6/package.py165
-rw-r--r--var/spack/repos/builtin/packages/pythia8/package.py222
-rw-r--r--var/spack/repos/builtin/packages/python/package.py1116
-rw-r--r--var/spack/repos/builtin/packages/q-e-sirius/package.py80
-rw-r--r--var/spack/repos/builtin/packages/qbank/package.py35
-rw-r--r--var/spack/repos/builtin/packages/qbox/package.py133
-rw-r--r--var/spack/repos/builtin/packages/qca/package.py36
-rw-r--r--var/spack/repos/builtin/packages/qcachegrind/package.py12
-rw-r--r--var/spack/repos/builtin/packages/qd/package.py24
-rw-r--r--var/spack/repos/builtin/packages/qemu/package.py180
-rw-r--r--var/spack/repos/builtin/packages/qgis/package.py395
-rw-r--r--var/spack/repos/builtin/packages/qgraf/package.py12
-rw-r--r--var/spack/repos/builtin/packages/qhull/package.py42
-rw-r--r--var/spack/repos/builtin/packages/qjson/package.py12
-rw-r--r--var/spack/repos/builtin/packages/qmcpack/package.py400
-rw-r--r--var/spack/repos/builtin/packages/qmd-progress/package.py48
-rw-r--r--var/spack/repos/builtin/packages/qnnpack/package.py112
-rw-r--r--var/spack/repos/builtin/packages/qorts/package.py30
-rw-r--r--var/spack/repos/builtin/packages/qperf/package.py18
-rw-r--r--var/spack/repos/builtin/packages/qrupdate/package.py45
-rw-r--r--var/spack/repos/builtin/packages/qscintilla/package.py187
-rw-r--r--var/spack/repos/builtin/packages/qt-creator/package.py21
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py878
-rw-r--r--var/spack/repos/builtin/packages/qtgraph/package.py29
-rw-r--r--var/spack/repos/builtin/packages/qthreads/package.py110
-rw-r--r--var/spack/repos/builtin/packages/qtkeychain/package.py12
-rw-r--r--var/spack/repos/builtin/packages/qualimap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/quantum-espresso/package.py614
-rw-r--r--var/spack/repos/builtin/packages/quartz/package.py8
-rw-r--r--var/spack/repos/builtin/packages/qucs/package.py52
-rw-r--r--var/spack/repos/builtin/packages/quicksilver/package.py56
-rw-r--r--var/spack/repos/builtin/packages/quinoa/package.py14
-rw-r--r--var/spack/repos/builtin/packages/quota/package.py8
-rw-r--r--var/spack/repos/builtin/packages/qwt/package.py25
-rw-r--r--var/spack/repos/builtin/packages/qwtpolar/package.py15
-rw-r--r--var/spack/repos/builtin/packages/r-a4/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-a4base/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-a4classif/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-a4core/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-a4preproc/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-a4reporting/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-abadata/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-abaenrichment/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-abind/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-absseq/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-acde/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-acepack/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-acgh/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-acme/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-ada/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-adabag/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-ade4/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-adegenet/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-adegraphics/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-adephylo/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-adespatial/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-adgoftest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-adsplit/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-aer/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-afex/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-affxparser/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-affy/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-affycomp/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-affycompatible/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-affycontam/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-affycoretools/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-affydata/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-affyexpress/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-affyilm/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-affyio/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-affypdnn/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-affyplm/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-affyqcreport/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-affyrnadegradation/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-agdex/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-agilp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-agimicrorna/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-aims/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-aldex2/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-allelicimbalance/package.py82
-rw-r--r--var/spack/repos/builtin/packages/r-alpine/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-als/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-alsace/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-altcdfenvs/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-amap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-amelia/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ampliqueso/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-analysispageserver/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-anaquin/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-aneufinder/package.py70
-rw-r--r--var/spack/repos/builtin/packages/r-aneufinderdata/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-animation/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-annaffy/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-annotate/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-annotationdbi/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-annotationfilter/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-annotationforge/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-annotationhub/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-anytime/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-aod/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-ape/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-aplot/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-argparse/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-aroma-light/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-ash/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-askpass/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-base/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-code/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-data-uk/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-data-us/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-data/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-datetimes/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-files/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-matrices/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-models/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-numbers/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-properties/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-reflection/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-sets/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-strings/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-assertive-types/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-assertive/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-assertthat/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-backports/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-bamsignals/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-base64/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-base64enc/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-bayesm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-bayesplot/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-bbmisc/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-beachmat/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-beanplot/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-beeswarm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-bfast/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-bfastspatial/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-bglr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-bh/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-biasedurn/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-bibtex/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-bigalgebra/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-bigmemory-sri/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-bigmemory/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-bindr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-bindrcpp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-bio3d/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-biobase/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-biocfilecache/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-biocgenerics/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-biocinstaller/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-biocio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-biocmanager/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-biocneighbors/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-biocparallel/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-biocsingular/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-biocstyle/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-biocversion/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-biom-utils/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-biomart/package.py68
-rw-r--r--var/spack/repos/builtin/packages/r-biomartr/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-biomformat/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-biostrings/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-biovizbase/package.py68
-rw-r--r--var/spack/repos/builtin/packages/r-bit/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-bit64/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-bitops/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-blavaan/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-blob/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-blockmodeling/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-bmp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-bookdown/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-boot/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-boruta/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-brew/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-bridgesampling/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-brio/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-brms/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-brobdingnag/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-broom/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-bsgenome-hsapiens-ucsc-hg19/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-bsgenome/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-bslib/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-bsseq/package.py86
-rw-r--r--var/spack/repos/builtin/packages/r-bumphunter/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-bwstest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-c50/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-ca/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-cachem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-cairo/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-callr/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-car/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-caracas/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-cardata/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-caret/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-caretensemble/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-caroline/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-category/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-catools/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-cca/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ccp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-cdcfluview/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-cellranger/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-champ/package.py86
-rw-r--r--var/spack/repos/builtin/packages/r-champdata/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-checkmate/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-checkpoint/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-chemometrics/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-chipseq/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-chron/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-circlize/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-circstats/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-class/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-classint/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-cli/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-clipr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-clisymbols/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-clue/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-cluster/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-clustergeneration/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-clusterprofiler/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-cner/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-coda/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-codetools/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-codex/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-coin/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-colorspace/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-colourpicker/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-combinat/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-commonmark/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-complexheatmap/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-compositions/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-compquadform/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-condop/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-conquer/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-construct/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-convevol/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-copula/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-corhmm/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-corpcor/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-corrplot/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-countrycode/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-covr/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-cowplot/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-cpp11/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-crayon/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-credentials/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-crosstalk/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-crul/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-ctc/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-cubature/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-cubist/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-curl/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-dada2/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-data-table/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-dbi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-dbplyr/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-debugme/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-decipher/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-delayedarray/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-delayedmatrixstats/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-deldir/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-dendextend/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-deoptim/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-deoptimr/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-deriv/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-desc/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-deseq/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-deseq2/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-desolve/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-devtools/package.py154
-rw-r--r--var/spack/repos/builtin/packages/r-dexseq/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-diagrammer/package.py110
-rw-r--r--var/spack/repos/builtin/packages/r-dicekriging/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-dichromat/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-diffobj/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-diffusionmap/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-digest/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-diptest/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-dismo/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-distributional/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-diversitree/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-dmrcate/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-dnacopy/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-do-db/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-domc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-doparallel/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-dorng/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-dose/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-dosnow/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-dotcall64/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-downloader/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-dplyr/package.py94
-rw-r--r--var/spack/repos/builtin/packages/r-dqrng/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-dss/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-dt/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-dtplyr/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-dtw/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-dygraphs/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-dynamictreecut/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-e1071/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-earth/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-ecp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-edger/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-effects/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-elemstatlearn/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-ellipse/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ellipsis/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-emmeans/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-emmli/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-energy/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-enrichplot/package.py78
-rw-r--r--var/spack/repos/builtin/packages/r-ensembldb/package.py96
-rw-r--r--var/spack/repos/builtin/packages/r-envstats/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-ergm/package.py82
-rw-r--r--var/spack/repos/builtin/packages/r-estimability/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-europepmc/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-evaluate/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-evd/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-exactextractr/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-exomecopy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-exomedepth/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-experimenthub/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-expint/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-expm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-factoextra/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-factominer/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-fansi/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-farver/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-fastcluster/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-fastdigest/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-fastica/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-fastmap/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-fastmatch/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-fastmatrix/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-fda/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg18/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg19/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-fds/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ff/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-fftwtools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-fgsea/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-fields/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-filehash/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-filelock/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-findpython/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-fit-models/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-fitdistrplus/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-flashclust/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-flexclust/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-flexmix/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-fnn/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-fontawesome/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-forcats/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-foreach/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-forecast/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-foreign/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-formatr/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-formula/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-fpc/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-fpcompare/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-fracdiff/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-fs/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-futile-logger/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-futile-options/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-future-apply/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-future/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-gamlss-data/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gamlss-dist/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-gamlss/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-gamm4/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-gargle/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-gbm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-gbrd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-gcrma/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-gdalutilities/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gdalutils/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-gdata/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gdsfmt/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-geiger/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-genefilter/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-genelendatabase/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-genemeta/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-geneplotter/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-generics/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-genetics/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-genie3/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-genomeinfodb/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-genomeinfodbdata/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-genomicalignments/package.py80
-rw-r--r--var/spack/repos/builtin/packages/r-genomicfeatures/package.py96
-rw-r--r--var/spack/repos/builtin/packages/r-genomicranges/package.py78
-rw-r--r--var/spack/repos/builtin/packages/r-gensa/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-geojsonsf/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-geometries/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-geometry/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-geomorph/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-geonames/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-geoquery/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-geor/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-geosphere/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gert/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-getopt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-getoptlong/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-ggally/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-ggbeeswarm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ggbio/package.py98
-rw-r--r--var/spack/repos/builtin/packages/r-ggdendro/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ggforce/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-ggfun/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ggjoy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-ggmap/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-ggplot2/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-ggplotify/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-ggpubr/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-ggraph/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-ggrepel/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-ggridges/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-ggsci/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ggsignif/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-ggthemes/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-ggtree/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-ggvis/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-gh/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-gistr/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-git2r/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-gitcreds/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-glimma/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-glmnet/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-globaloptions/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-globals/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-globaltest/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-glue/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-gmodels/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gmp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-go-db/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-goftest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gofuncr/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-googledrive/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-googlesheets4/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-googlevis/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-goplot/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gosemsim/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-goseq/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-gostats/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-gower/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gparotation/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gplots/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-graph/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-graphlayouts/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-grbase/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-gridbase/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-gridextra/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gridgraphics/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-gsa/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-gsalib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-gseabase/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-gsl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-gsodr/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-gss/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gstat/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-gsubfn/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gtable/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-gtools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-gtrellis/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-gviz/package.py80
-rw-r--r--var/spack/repos/builtin/packages/r-gwmodel/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-hardhat/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-haven/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-hdf5array/package.py74
-rw-r--r--var/spack/repos/builtin/packages/r-hdf5r/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-hdrcde/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-here/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-hexbin/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-hh/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-highr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-hmisc/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-hms/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-hoardr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-htmltable/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-htmltools/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-htmlwidgets/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-httpcode/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-httpuv/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-httr/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-hwriter/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-hypergraph/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-ica/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-ids/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-igraph/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-illumina450probevariants-db/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-illuminahumanmethylation450kanno-ilmn12-hg19/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-illuminahumanmethylation450kmanifest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-illuminahumanmethylationepicanno-ilm10b4-hg19/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-illuminahumanmethylationepicmanifest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-illuminaio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-imager/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-impute/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-influencer/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-ini/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-inline/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-insight/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-interactivedisplaybase/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-intervals/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-inum/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-ipred/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-iranges/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-irdisplay/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-irkernel/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-irlba/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-isdparser/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-islr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-iso/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-isoband/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-isva/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-iterators/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-jade/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-janitor/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-jaspar2018/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-jomo/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-jpeg/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-jquerylib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-jsonify/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-jsonlite/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-kegg-db/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-kegggraph/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-keggrest/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-kernlab/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-kernsmooth/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-kknn/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-klar/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-knitr/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-kpmt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-ks/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-ksamples/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-labeling/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-labelled/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-lambda-r/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-laplacesdemon/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-lars/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-later/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-lattice/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-latticeextra/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-lava/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-lavaan/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-lazyeval/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-ldheatmap/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-leafem/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-leaflet-providers/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-leaflet/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-leafpop/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-leaps/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-learnbayes/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-leiden/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-lfe/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-lhs/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-libcoin/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-lifecycle/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-limma/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-limsolve/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-linprog/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-listenv/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-lme4/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-lmertest/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-lmtest/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-lobstr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-locfit/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-log4r/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-loo/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-lpsolve/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-lpsolveapi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-lsei/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-lubridate/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-lumi/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-lwgeom/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-magic/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-magick/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-magrittr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-makecdfenv/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-maldiquant/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-manipulatewidget/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-mapplots/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mapproj/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-maps/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-maptools/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-mapview/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-markdown/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-marray/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-mass/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-mathjaxr/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-matlab/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-matr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-matrix/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-matrixgenerics/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-matrixmodels/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-matrixstats/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-mclust/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-mcmc/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mcmcglmm/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-mcmcpack/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-mco/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-mda/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-memoise/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-memuse/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-mergemaid/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-metap/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-methylumi/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-mgcv/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-mgraster/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mice/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-microbenchmark/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mime/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-minfi/package.py92
-rw-r--r--var/spack/repos/builtin/packages/r-miniui/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-minqa/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-misc3d/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-missmethyl/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-mitml/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-mitools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mixtools/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-mlbench/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-mlinterfaces/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-mlr/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-mlrmbo/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-mmwrweek/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-mnormt/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-mockery/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-modelmetrics/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-modelr/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-modeltools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-mpm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-mscoreutils/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-msnbase/package.py96
-rw-r--r--var/spack/repos/builtin/packages/r-multcomp/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-multcompview/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-multicool/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-multitaper/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-multtest/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-munsell/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-mutoss/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-mvtnorm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-mzid/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-mzr/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-nada/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-nanotime/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-ncbit/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-ncdf4/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-network/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-networkd3/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-neuralnet/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-nfactors/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-nimble/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-nleqslv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-nlme/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-nloptr/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-nmf/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-nmof/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-nnet/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-nnls/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-nonnest2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-nor1mix/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-nortest/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-np/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-npsurv/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-numderiv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-oligoclasses/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-openssl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-openxlsx/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-optimx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-optparse/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-ordinal/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-org-hs-eg-db/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-organismdbi/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-packrat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-pacman/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-paleotree/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-pamr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-pan/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-parallelly/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-parallelmap/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-paramhelpers/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-party/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-partykit/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-patchwork/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-pathview/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-pbapply/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-pbdzmq/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-pbivnorm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-pbkrtest/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-pcamethods/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-pcapp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-pegas/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-permute/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-pfam-db/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-phangorn/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-pheatmap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-philentropy/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-phylobase/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-phyloseq/package.py68
-rw-r--r--var/spack/repos/builtin/packages/r-phylostratr/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-phytools/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-picante/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-pillar/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-pinfsc50/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-pixmap/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-pkgbuild/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-pkgcache/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-pkgconfig/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-pkgdepends/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-pkgload/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-pkgmaker/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-plogr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-plot3d/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-plotly/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-plotmo/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-plotrix/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-pls/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-plyr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-pmcmr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-pmcmrplus/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-png/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-polspline/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-polyclip/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-polynom/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-pool/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-poorman/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-popgenome/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-popvar/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-posterior/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-powerlaw/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-prabclus/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-pracma/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-praise/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-preprocesscore/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-prettydoc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-prettyunits/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-proc/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-processx/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-prodlim/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-progress/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-progressr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-proj/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-proj4/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-projpred/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-promises/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-protgenerics/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-proto/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-proxy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-pryr/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-ps/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-pscbs/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-pspline/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-psych/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-ptw/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-purrr/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-pvclust/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-qqconf/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-qs/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-qtl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-quadprog/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-quantmod/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-quantreg/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-quantro/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-questionr/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-quickplot/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-qvalue/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-r-cache/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-r-methodss3/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-r-oo/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-r-utils/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-r6/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rainbow/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-randomfields/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-randomfieldsutils/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-randomforest/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-randomglm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-ranger/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-rann/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rapidjsonr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rapiserialize/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rappdirs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-raster/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-rbgl/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-rbibutils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rbokeh/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-rcmdcheck/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rcolorbrewer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rcpp/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-rcppannoy/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rcpparmadillo/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rcppblaze/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rcppcctz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rcppcnpy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rcppdate/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rcppde/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rcppeigen/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-rcppgsl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rcpphnsw/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rcppml/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rcppparallel/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rcppprogress/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-rcpproll/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rcpptoml/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rcppziggurat/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rcurl/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-rda/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rdpack/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-readbitmap/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-readr/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-readxl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-reams/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-recipes/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-registry/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rematch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rematch2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-remotes/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-renv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-reordercluster/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-reportingtools/package.py78
-rw-r--r--var/spack/repos/builtin/packages/r-repr/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-reprex/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-reproducible/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-require/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-reshape/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-reshape2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-restfulr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-reticulate/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-rex/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rfast/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rferns/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rgdal/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-rgenoud/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rgeos/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-rgexf/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rgl/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-rgooglemaps/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-rgraphviz/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-rhdf5/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-rhdf5filters/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rhdf5lib/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-rhmmer/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rhtslib/package.py58
-rw-r--r--var/spack/repos/builtin/packages/r-rinside/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rio/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-rjags/package.py25
-rw-r--r--var/spack/repos/builtin/packages/r-rjava/package.py29
-rw-r--r--var/spack/repos/builtin/packages/r-rjson/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rjsonio/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rlang/package.py38
-rw-r--r--var/spack/repos/builtin/packages/r-rle/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rmariadb/package.py39
-rw-r--r--var/spack/repos/builtin/packages/r-rmarkdown/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-rminer/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rmpfr/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-rmpi/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rms/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-rmutil/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rmysql/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rnaseqmap/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rncl/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-rnexml/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-rngtools/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-rnoaa/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-robust/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-robustbase/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-roc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rocr/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rodbc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rook/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rots/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-roxygen2/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-rpart-plot/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-rpart/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rpmm/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rpostgres/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-rpostgresql/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rprojroot/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rpsychi/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rrblup/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rrcov/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-rrpp/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-rsamtools/package.py72
-rw-r--r--var/spack/repos/builtin/packages/r-rsconnect/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-rsnns/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-rsolnp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rspectra/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rsqlite/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-rstan/package.py64
-rw-r--r--var/spack/repos/builtin/packages/r-rstantools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-rstatix/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-rstudioapi/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rsvd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-rtracklayer/package.py84
-rw-r--r--var/spack/repos/builtin/packages/r-rtsne/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-runit/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-runjags/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-ruv/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rvcheck/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-rversions/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-rvest/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-rviennacl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rzmq/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-s2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-s4vectors/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-samr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-sandwich/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-sass/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-satellite/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-scaledmatrix/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-scales/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-scater/package.py106
-rw-r--r--var/spack/repos/builtin/packages/r-scattermore/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-scatterpie/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-scatterplot3d/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-scrime/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-sctransform/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-scuttle/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-sdmtools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-segmented/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-selectr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-seqinr/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-seqlogo/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-servr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-sessioninfo/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-seurat/package.py192
-rw-r--r--var/spack/repos/builtin/packages/r-seuratobject/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-sf/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-sfheaders/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-sfsmisc/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-shadowtext/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-shape/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-shiny/package.py74
-rw-r--r--var/spack/repos/builtin/packages/r-shinydashboard/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-shinyfiles/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-shinyjs/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-shinystan/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-shinythemes/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-shortread/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-siggenes/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-signac/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-simpleaffy/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-singlecellexperiment/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-sitmo/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-sm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-smoof/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-sn/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-snakecase/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-snow/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-snowfall/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-snprelate/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-snpstats/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-som/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-somaticsignatures/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-sourcetools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-sp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-spacetime/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-spades-addins/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-spades-core/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-spades-tools/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-spades/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-spam/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-sparsem/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-sparsematrixstats/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-spatial/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-spatialeco/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-spatialpack/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-spatialreg/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-core/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-data/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-geom/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-linnet/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-random/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-sparse/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat-utils/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-spatstat/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-spdata/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-spdep/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-speedglm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-spem/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-splancs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-splitstackshape/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-sqldf/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-squarem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-squash/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-sseq/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-stabledist/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-stanheaders/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-stargazer/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-statmod/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-statnet-common/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-stringfish/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-stringi/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-stringr/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-strucchange/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-strucchangercpp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-styler/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-subplex/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-summarizedexperiment/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-suppdists/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-survey/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-survival/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-sva/package.py66
-rw-r--r--var/spack/repos/builtin/packages/r-svglite/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-sys/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-systemfonts/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-tarifx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-taxizedb/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-tclust/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-teachingdemos/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tensor/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-tensora/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-terra/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-tester/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-testit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-testthat/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-tfbstools/package.py70
-rw-r--r--var/spack/repos/builtin/packages/r-tfisher/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-tfmpvalue/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-th-data/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-threejs/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-tibble/package.py76
-rw-r--r--var/spack/repos/builtin/packages/r-tictoc/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-tidycensus/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-tidygraph/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-tidyr/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-tidyselect/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-tidytree/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-tidyverse/package.py164
-rw-r--r--var/spack/repos/builtin/packages/r-tiff/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-tigris/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-timedate/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-tinytex/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-tmixclust/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-tmvnsim/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-topgo/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-treeio/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-triebeard/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-trimcluster/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-truncdist/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-truncnorm/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-trust/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tseries/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-tsne/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-ttr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-tweenr/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg18-knowngene/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg19-knowngene/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tximport/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-tximportdata/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tzdb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ucminf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-udunits2/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-units/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-upsetr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-urca/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-urltools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-usethis/package.py84
-rw-r--r--var/spack/repos/builtin/packages/r-utf8/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-uuid/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-uwot/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-v8/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-variantannotation/package.py102
-rw-r--r--var/spack/repos/builtin/packages/r-varselrf/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-vcd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-vcfr/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-vctrs/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-vegan/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-vfs/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-vgam/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-vioplot/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-vipor/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-viridis/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-viridislite/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-visnetwork/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-vroom/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-vsn/package.py62
-rw-r--r--var/spack/repos/builtin/packages/r-waldo/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-watermelon/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-webshot/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-wgcna/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-whisker/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-withr/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-wk/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-xde/package.py40
-rw-r--r--var/spack/repos/builtin/packages/r-xfun/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-xgboost/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnect/package.py34
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnectjars/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-xlsx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-xlsxjars/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-xmapbridge/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-xml/package.py22
-rw-r--r--var/spack/repos/builtin/packages/r-xml2/package.py18
-rw-r--r--var/spack/repos/builtin/packages/r-xnomial/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-xopen/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-xtable/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-xts/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-xvector/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-yaimpute/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-yaml/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-yapsa/package.py86
-rw-r--r--var/spack/repos/builtin/packages/r-yaqcaffy/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r-yarn/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-yulab-utils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-zcompositions/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-zeallot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-zip/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-zlibbioc/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-zoo/package.py20
-rw-r--r--var/spack/repos/builtin/packages/r/package.py293
-rw-r--r--var/spack/repos/builtin/packages/r3d/package.py69
-rw-r--r--var/spack/repos/builtin/packages/rabbitmq/package.py6
-rw-r--r--var/spack/repos/builtin/packages/racket/package.py48
-rw-r--r--var/spack/repos/builtin/packages/racon/package.py34
-rw-r--r--var/spack/repos/builtin/packages/raft/package.py22
-rw-r--r--var/spack/repos/builtin/packages/ragel/package.py9
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py218
-rw-r--r--var/spack/repos/builtin/packages/ramulator/package.py10
-rw-r--r--var/spack/repos/builtin/packages/randfold/package.py8
-rw-r--r--var/spack/repos/builtin/packages/random123/package.py41
-rw-r--r--var/spack/repos/builtin/packages/randrproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/range-v3/package.py188
-rw-r--r--var/spack/repos/builtin/packages/rankstr/package.py32
-rw-r--r--var/spack/repos/builtin/packages/rapidjson/package.py12
-rw-r--r--var/spack/repos/builtin/packages/raptor2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/rasdaemon/package.py18
-rw-r--r--var/spack/repos/builtin/packages/rasqal/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ratel/package.py48
-rw-r--r--var/spack/repos/builtin/packages/ravel/package.py20
-rw-r--r--var/spack/repos/builtin/packages/raxml-ng/package.py18
-rw-r--r--var/spack/repos/builtin/packages/raxml/package.py128
-rw-r--r--var/spack/repos/builtin/packages/ray/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rccl/package.py191
-rw-r--r--var/spack/repos/builtin/packages/rclone/package.py50
-rw-r--r--var/spack/repos/builtin/packages/rdc/package.py155
-rw-r--r--var/spack/repos/builtin/packages/rdkit/package.py69
-rw-r--r--var/spack/repos/builtin/packages/rdma-core/package.py78
-rw-r--r--var/spack/repos/builtin/packages/rdp-classifier/package.py16
-rw-r--r--var/spack/repos/builtin/packages/rdptools/package.py12
-rw-r--r--var/spack/repos/builtin/packages/re2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/re2c/package.py34
-rw-r--r--var/spack/repos/builtin/packages/readfq/package.py6
-rw-r--r--var/spack/repos/builtin/packages/readline/package.py24
-rw-r--r--var/spack/repos/builtin/packages/recola-sm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/recola/package.py34
-rw-r--r--var/spack/repos/builtin/packages/recon/package.py32
-rw-r--r--var/spack/repos/builtin/packages/recorder/package.py54
-rw-r--r--var/spack/repos/builtin/packages/recordproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/redis/package.py40
-rw-r--r--var/spack/repos/builtin/packages/reditools/package.py95
-rw-r--r--var/spack/repos/builtin/packages/redland-bindings/package.py28
-rw-r--r--var/spack/repos/builtin/packages/redland/package.py12
-rw-r--r--var/spack/repos/builtin/packages/redset/package.py60
-rw-r--r--var/spack/repos/builtin/packages/redundans/package.py53
-rw-r--r--var/spack/repos/builtin/packages/reframe/package.py167
-rw-r--r--var/spack/repos/builtin/packages/regcm/package.py148
-rw-r--r--var/spack/repos/builtin/packages/relax/package.py28
-rw-r--r--var/spack/repos/builtin/packages/relion/package.py163
-rw-r--r--var/spack/repos/builtin/packages/remhos/package.py39
-rw-r--r--var/spack/repos/builtin/packages/rempi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/rename/package.py16
-rw-r--r--var/spack/repos/builtin/packages/rendercheck/package.py12
-rw-r--r--var/spack/repos/builtin/packages/renderproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/repeatmasker/package.py84
-rw-r--r--var/spack/repos/builtin/packages/repeatmodeler/package.py60
-rw-r--r--var/spack/repos/builtin/packages/repeatscout/package.py14
-rw-r--r--var/spack/repos/builtin/packages/reprimand/package.py43
-rw-r--r--var/spack/repos/builtin/packages/resourceproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/restic/package.py14
-rw-r--r--var/spack/repos/builtin/packages/revbayes/package.py84
-rw-r--r--var/spack/repos/builtin/packages/revocap-coupler/package.py18
-rw-r--r--var/spack/repos/builtin/packages/revocap-refiner/package.py61
-rw-r--r--var/spack/repos/builtin/packages/rgb/package.py6
-rw-r--r--var/spack/repos/builtin/packages/rhash/package.py86
-rw-r--r--var/spack/repos/builtin/packages/rinetd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/ripgrep/package.py12
-rw-r--r--var/spack/repos/builtin/packages/rivet/package.py457
-rw-r--r--var/spack/repos/builtin/packages/rkt-base/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rkt-cext-lib/package.py16
-rw-r--r--var/spack/repos/builtin/packages/rkt-compiler-lib/package.py16
-rw-r--r--var/spack/repos/builtin/packages/rkt-dynext-lib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py12
-rw-r--r--var/spack/repos/builtin/packages/rkt-scheme-lib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rkt-zo-lib/package.py10
-rw-r--r--var/spack/repos/builtin/packages/rlwrap/package.py6
-rw-r--r--var/spack/repos/builtin/packages/rmats/package.py19
-rw-r--r--var/spack/repos/builtin/packages/rmgdft/package.py106
-rw-r--r--var/spack/repos/builtin/packages/rmlab/package.py23
-rw-r--r--var/spack/repos/builtin/packages/rna-seqc/package.py49
-rw-r--r--var/spack/repos/builtin/packages/rnaquast/package.py24
-rw-r--r--var/spack/repos/builtin/packages/rnaz/package.py16
-rw-r--r--var/spack/repos/builtin/packages/rng-tools/package.py28
-rw-r--r--var/spack/repos/builtin/packages/rngstreams/package.py4
-rw-r--r--var/spack/repos/builtin/packages/rnpletal/package.py66
-rw-r--r--var/spack/repos/builtin/packages/rocalution/package.py225
-rw-r--r--var/spack/repos/builtin/packages/rocblas/package.py332
-rw-r--r--var/spack/repos/builtin/packages/rocfft/package.py204
-rw-r--r--var/spack/repos/builtin/packages/rocketmq/package.py18
-rw-r--r--var/spack/repos/builtin/packages/rocksdb/package.py172
-rw-r--r--var/spack/repos/builtin/packages/rockstar/package.py28
-rw-r--r--var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py133
-rw-r--r--var/spack/repos/builtin/packages/rocm-clang-ocl/package.py133
-rw-r--r--var/spack/repos/builtin/packages/rocm-cmake/package.py105
-rw-r--r--var/spack/repos/builtin/packages/rocm-dbgapi/package.py141
-rw-r--r--var/spack/repos/builtin/packages/rocm-debug-agent/package.py184
-rw-r--r--var/spack/repos/builtin/packages/rocm-device-libs/package.py141
-rw-r--r--var/spack/repos/builtin/packages/rocm-gdb/package.py164
-rw-r--r--var/spack/repos/builtin/packages/rocm-opencl/package.py237
-rw-r--r--var/spack/repos/builtin/packages/rocm-openmp-extras/package.py574
-rw-r--r--var/spack/repos/builtin/packages/rocm-smi-lib/package.py123
-rw-r--r--var/spack/repos/builtin/packages/rocm-smi/package.py67
-rw-r--r--var/spack/repos/builtin/packages/rocm-tensile/package.py236
-rw-r--r--var/spack/repos/builtin/packages/rocm-validation-suite/package.py185
-rw-r--r--var/spack/repos/builtin/packages/rocminfo/package.py131
-rw-r--r--var/spack/repos/builtin/packages/rocprim/package.py148
-rw-r--r--var/spack/repos/builtin/packages/rocprofiler-dev/package.py148
-rw-r--r--var/spack/repos/builtin/packages/rocrand/package.py231
-rw-r--r--var/spack/repos/builtin/packages/rocsolver/package.py246
-rw-r--r--var/spack/repos/builtin/packages/rocsparse/package.py157
-rw-r--r--var/spack/repos/builtin/packages/rocthrust/package.py138
-rw-r--r--var/spack/repos/builtin/packages/roctracer-dev-api/package.py94
-rw-r--r--var/spack/repos/builtin/packages/roctracer-dev/package.py184
-rw-r--r--var/spack/repos/builtin/packages/rodinia/package.py81
-rw-r--r--var/spack/repos/builtin/packages/roms/package.py97
-rw-r--r--var/spack/repos/builtin/packages/root/package.py861
-rw-r--r--var/spack/repos/builtin/packages/rose/package.py83
-rw-r--r--var/spack/repos/builtin/packages/ross/package.py28
-rw-r--r--var/spack/repos/builtin/packages/routino/package.py12
-rw-r--r--var/spack/repos/builtin/packages/rpcsvc-proto/package.py24
-rw-r--r--var/spack/repos/builtin/packages/rpm/package.py154
-rw-r--r--var/spack/repos/builtin/packages/rr/package.py34
-rw-r--r--var/spack/repos/builtin/packages/rrdtool/package.py23
-rw-r--r--var/spack/repos/builtin/packages/rsbench/package.py42
-rw-r--r--var/spack/repos/builtin/packages/rsem/package.py22
-rw-r--r--var/spack/repos/builtin/packages/rstart/package.py8
-rw-r--r--var/spack/repos/builtin/packages/rstudio/package.py167
-rw-r--r--var/spack/repos/builtin/packages/rsync/package.py37
-rw-r--r--var/spack/repos/builtin/packages/rsyslog/package.py41
-rw-r--r--var/spack/repos/builtin/packages/rt-tests/package.py6
-rw-r--r--var/spack/repos/builtin/packages/rtags/package.py21
-rw-r--r--var/spack/repos/builtin/packages/rtax/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ruby-asciidoctor/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-erubis/package.py12
-rw-r--r--var/spack/repos/builtin/packages/ruby-gnuplot/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ruby-hpricot/package.py4
-rw-r--r--var/spack/repos/builtin/packages/ruby-mustache/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-narray/package.py14
-rw-r--r--var/spack/repos/builtin/packages/ruby-rake/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-rdiscount/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-ronn/package.py12
-rw-r--r--var/spack/repos/builtin/packages/ruby-rubyinline/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ruby-svn2git/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ruby-terminal-table/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-thor/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-tmuxinator/package.py12
-rw-r--r--var/spack/repos/builtin/packages/ruby-unicode-display-width/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ruby-xdg/package.py11
-rw-r--r--var/spack/repos/builtin/packages/ruby-zentest/package.py10
-rw-r--r--var/spack/repos/builtin/packages/ruby/package.py156
-rw-r--r--var/spack/repos/builtin/packages/runc/package.py18
-rw-r--r--var/spack/repos/builtin/packages/rust-bindgen/package.py7
-rw-r--r--var/spack/repos/builtin/packages/rust/package.py1007
-rw-r--r--var/spack/repos/builtin/packages/sabre/package.py20
-rw-r--r--var/spack/repos/builtin/packages/saga-gis/package.py131
-rw-r--r--var/spack/repos/builtin/packages/sailfish/package.py8
-rw-r--r--var/spack/repos/builtin/packages/salmon-tddft/package.py116
-rw-r--r--var/spack/repos/builtin/packages/salmon/package.py137
-rw-r--r--var/spack/repos/builtin/packages/salome-configuration/package.py22
-rw-r--r--var/spack/repos/builtin/packages/salome-med/package.py83
-rw-r--r--var/spack/repos/builtin/packages/salome-medcoupling/package.py199
-rw-r--r--var/spack/repos/builtin/packages/sambamba/package.py20
-rw-r--r--var/spack/repos/builtin/packages/samblaster/package.py8
-rw-r--r--var/spack/repos/builtin/packages/samrai/package.py151
-rw-r--r--var/spack/repos/builtin/packages/samtools/package.py106
-rw-r--r--var/spack/repos/builtin/packages/sandbox/package.py6
-rw-r--r--var/spack/repos/builtin/packages/satsuma2/package.py21
-rw-r--r--var/spack/repos/builtin/packages/savanna/package.py20
-rw-r--r--var/spack/repos/builtin/packages/saws/package.py16
-rw-r--r--var/spack/repos/builtin/packages/sblim-sfcc/package.py18
-rw-r--r--var/spack/repos/builtin/packages/sbml/package.py145
-rw-r--r--var/spack/repos/builtin/packages/sbp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/sbt/package.py18
-rw-r--r--var/spack/repos/builtin/packages/scala/package.py25
-rw-r--r--var/spack/repos/builtin/packages/scalasca/package.py48
-rw-r--r--var/spack/repos/builtin/packages/scale/package.py92
-rw-r--r--var/spack/repos/builtin/packages/scallop/package.py18
-rw-r--r--var/spack/repos/builtin/packages/scalpel/package.py71
-rw-r--r--var/spack/repos/builtin/packages/scan-for-matches/package.py10
-rw-r--r--var/spack/repos/builtin/packages/scipoptsuite/package.py12
-rw-r--r--var/spack/repos/builtin/packages/scitokens-cpp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py58
-rw-r--r--var/spack/repos/builtin/packages/scorec-core/package.py22
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py171
-rw-r--r--var/spack/repos/builtin/packages/scorpio/package.py21
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py362
-rw-r--r--var/spack/repos/builtin/packages/scr/package.py396
-rw-r--r--var/spack/repos/builtin/packages/screen/package.py46
-rw-r--r--var/spack/repos/builtin/packages/scripts/package.py8
-rw-r--r--var/spack/repos/builtin/packages/scrnsaverproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/scrot/package.py16
-rw-r--r--var/spack/repos/builtin/packages/scs/package.py28
-rw-r--r--var/spack/repos/builtin/packages/sctk/package.py46
-rw-r--r--var/spack/repos/builtin/packages/sdl2-image/package.py8
-rw-r--r--var/spack/repos/builtin/packages/sdl2/package.py16
-rw-r--r--var/spack/repos/builtin/packages/sdsl-lite/package.py35
-rw-r--r--var/spack/repos/builtin/packages/seacas/package.py497
-rw-r--r--var/spack/repos/builtin/packages/seal/package.py24
-rw-r--r--var/spack/repos/builtin/packages/sed/package.py13
-rw-r--r--var/spack/repos/builtin/packages/sensei/package.py113
-rw-r--r--var/spack/repos/builtin/packages/sentencepiece/package.py12
-rw-r--r--var/spack/repos/builtin/packages/sentieon-genomics/package.py28
-rw-r--r--var/spack/repos/builtin/packages/seqan/package.py24
-rw-r--r--var/spack/repos/builtin/packages/seqkit/package.py8
-rw-r--r--var/spack/repos/builtin/packages/seqprep/package.py10
-rw-r--r--var/spack/repos/builtin/packages/seqtk/package.py14
-rw-r--r--var/spack/repos/builtin/packages/serf/package.py59
-rw-r--r--var/spack/repos/builtin/packages/serialbox/package.py207
-rw-r--r--var/spack/repos/builtin/packages/sessreg/package.py13
-rw-r--r--var/spack/repos/builtin/packages/setserial/package.py8
-rw-r--r--var/spack/repos/builtin/packages/setxkbmap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/sfcgal/package.py24
-rw-r--r--var/spack/repos/builtin/packages/sfcio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/sga/package.py52
-rw-r--r--var/spack/repos/builtin/packages/sgpp/package.py230
-rw-r--r--var/spack/repos/builtin/packages/shadow/package.py12
-rw-r--r--var/spack/repos/builtin/packages/shapeit/package.py12
-rw-r--r--var/spack/repos/builtin/packages/shapeit4/package.py55
-rw-r--r--var/spack/repos/builtin/packages/shapelib/package.py4
-rw-r--r--var/spack/repos/builtin/packages/shared-mime-info/package.py20
-rw-r--r--var/spack/repos/builtin/packages/shark/package.py13
-rw-r--r--var/spack/repos/builtin/packages/shc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/shengbte/package.py33
-rw-r--r--var/spack/repos/builtin/packages/sherpa/package.py338
-rw-r--r--var/spack/repos/builtin/packages/shiny-server/package.py37
-rw-r--r--var/spack/repos/builtin/packages/shiro/package.py10
-rw-r--r--var/spack/repos/builtin/packages/shocklibs/package.py6
-rw-r--r--var/spack/repos/builtin/packages/shoremap/package.py28
-rw-r--r--var/spack/repos/builtin/packages/shortbred/package.py24
-rw-r--r--var/spack/repos/builtin/packages/shortstack/package.py18
-rw-r--r--var/spack/repos/builtin/packages/showfont/package.py8
-rw-r--r--var/spack/repos/builtin/packages/shtools/package.py41
-rw-r--r--var/spack/repos/builtin/packages/shuffile/package.py42
-rw-r--r--var/spack/repos/builtin/packages/sickle/package.py14
-rw-r--r--var/spack/repos/builtin/packages/sicm/package.py8
-rw-r--r--var/spack/repos/builtin/packages/siesta/package.py107
-rw-r--r--var/spack/repos/builtin/packages/sigcpp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/sigio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/signalp/package.py39
-rw-r--r--var/spack/repos/builtin/packages/signify/package.py8
-rw-r--r--var/spack/repos/builtin/packages/silo/package.py215
-rw-r--r--var/spack/repos/builtin/packages/simde/package.py23
-rw-r--r--var/spack/repos/builtin/packages/simgrid/package.py188
-rw-r--r--var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py722
-rw-r--r--var/spack/repos/builtin/packages/simple-dftd3/package.py6
-rw-r--r--var/spack/repos/builtin/packages/simplemoc/package.py34
-rw-r--r--var/spack/repos/builtin/packages/simsipm/package.py25
-rw-r--r--var/spack/repos/builtin/packages/simul/package.py22
-rw-r--r--var/spack/repos/builtin/packages/simulationio/package.py65
-rw-r--r--var/spack/repos/builtin/packages/sina/package.py80
-rw-r--r--var/spack/repos/builtin/packages/singularity-eos/package.py96
-rw-r--r--var/spack/repos/builtin/packages/singularity-legacy/package.py42
-rw-r--r--var/spack/repos/builtin/packages/singularity/package.py73
-rw-r--r--var/spack/repos/builtin/packages/singularityce/package.py150
-rw-r--r--var/spack/repos/builtin/packages/sio/package.py50
-rw-r--r--var/spack/repos/builtin/packages/sionlib/package.py26
-rw-r--r--var/spack/repos/builtin/packages/sirius/package.py481
-rw-r--r--var/spack/repos/builtin/packages/skilion-onedrive/package.py26
-rw-r--r--var/spack/repos/builtin/packages/skopeo/package.py44
-rw-r--r--var/spack/repos/builtin/packages/sl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/slang/package.py6
-rw-r--r--var/spack/repos/builtin/packages/slate/package.py145
-rw-r--r--var/spack/repos/builtin/packages/sleef/package.py63
-rw-r--r--var/spack/repos/builtin/packages/slepc/package.py285
-rw-r--r--var/spack/repos/builtin/packages/slf4j/package.py14
-rw-r--r--var/spack/repos/builtin/packages/slider/package.py31
-rw-r--r--var/spack/repos/builtin/packages/slirp4netns/package.py24
-rw-r--r--var/spack/repos/builtin/packages/sloccount/package.py19
-rw-r--r--var/spack/repos/builtin/packages/slurm-drmaa/package.py33
-rw-r--r--var/spack/repos/builtin/packages/slurm/package.py233
-rw-r--r--var/spack/repos/builtin/packages/smalt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/smartdenovo/package.py31
-rw-r--r--var/spack/repos/builtin/packages/smartmontools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/smof/package.py11
-rw-r--r--var/spack/repos/builtin/packages/smproxy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/snakemake/package.py96
-rw-r--r--var/spack/repos/builtin/packages/snap-berkeley/package.py52
-rw-r--r--var/spack/repos/builtin/packages/snap-korf/package.py53
-rw-r--r--var/spack/repos/builtin/packages/snap/package.py38
-rw-r--r--var/spack/repos/builtin/packages/snappy/package.py54
-rw-r--r--var/spack/repos/builtin/packages/snbone/package.py35
-rw-r--r--var/spack/repos/builtin/packages/sniffles/package.py18
-rw-r--r--var/spack/repos/builtin/packages/snpeff/package.py22
-rw-r--r--var/spack/repos/builtin/packages/snphylo/package.py38
-rw-r--r--var/spack/repos/builtin/packages/snptest/package.py6
-rw-r--r--var/spack/repos/builtin/packages/soapdenovo-trans/package.py34
-rw-r--r--var/spack/repos/builtin/packages/soapdenovo2/package.py28
-rw-r--r--var/spack/repos/builtin/packages/soci/package.py65
-rw-r--r--var/spack/repos/builtin/packages/sofa-c/package.py16
-rw-r--r--var/spack/repos/builtin/packages/sollve/package.py549
-rw-r--r--var/spack/repos/builtin/packages/sollya/package.py27
-rw-r--r--var/spack/repos/builtin/packages/solr/package.py18
-rw-r--r--var/spack/repos/builtin/packages/somatic-sniper/package.py6
-rw-r--r--var/spack/repos/builtin/packages/sombrero/package.py51
-rw-r--r--var/spack/repos/builtin/packages/sonlib/package.py24
-rw-r--r--var/spack/repos/builtin/packages/sortmerna/package.py20
-rw-r--r--var/spack/repos/builtin/packages/sos/package.py50
-rw-r--r--var/spack/repos/builtin/packages/sosflow/package.py30
-rw-r--r--var/spack/repos/builtin/packages/source-highlight/package.py32
-rw-r--r--var/spack/repos/builtin/packages/sowing/package.py10
-rw-r--r--var/spack/repos/builtin/packages/sox/package.py22
-rw-r--r--var/spack/repos/builtin/packages/sp/package.py15
-rw-r--r--var/spack/repos/builtin/packages/spack/package.py108
-rw-r--r--var/spack/repos/builtin/packages/spades/package.py28
-rw-r--r--var/spack/repos/builtin/packages/span-lite/package.py19
-rw-r--r--var/spack/repos/builtin/packages/spark/package.py62
-rw-r--r--var/spack/repos/builtin/packages/sparse/package.py35
-rw-r--r--var/spack/repos/builtin/packages/sparsehash/package.py7
-rw-r--r--var/spack/repos/builtin/packages/sparskit/package.py65
-rw-r--r--var/spack/repos/builtin/packages/sparta/package.py20
-rw-r--r--var/spack/repos/builtin/packages/spath/package.py40
-rw-r--r--var/spack/repos/builtin/packages/spdlog/package.py92
-rw-r--r--var/spack/repos/builtin/packages/specfem3d-globe/package.py50
-rw-r--r--var/spack/repos/builtin/packages/spectra/package.py14
-rw-r--r--var/spack/repos/builtin/packages/spectre/package.py349
-rw-r--r--var/spack/repos/builtin/packages/spectrum-mpi/package.py126
-rw-r--r--var/spack/repos/builtin/packages/speex/package.py4
-rw-r--r--var/spack/repos/builtin/packages/speexdsp/package.py49
-rw-r--r--var/spack/repos/builtin/packages/spfft/package.py140
-rw-r--r--var/spack/repos/builtin/packages/spglib/package.py49
-rw-r--r--var/spack/repos/builtin/packages/sph2pipe/package.py6
-rw-r--r--var/spack/repos/builtin/packages/spherepack/package.py4
-rw-r--r--var/spack/repos/builtin/packages/spindle/package.py17
-rw-r--r--var/spack/repos/builtin/packages/spiner/package.py35
-rw-r--r--var/spack/repos/builtin/packages/spiral-package-fftx/package.py22
-rw-r--r--var/spack/repos/builtin/packages/spiral-package-hcol/package.py16
-rw-r--r--var/spack/repos/builtin/packages/spiral-package-mpi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/spiral-package-simt/package.py20
-rw-r--r--var/spack/repos/builtin/packages/spiral-software/package.py57
-rw-r--r--var/spack/repos/builtin/packages/spla/package.py94
-rw-r--r--var/spack/repos/builtin/packages/spm/package.py29
-rw-r--r--var/spack/repos/builtin/packages/spot/package.py23
-rw-r--r--var/spack/repos/builtin/packages/sprng/package.py104
-rw-r--r--var/spack/repos/builtin/packages/sqlcipher/package.py39
-rw-r--r--var/spack/repos/builtin/packages/sqlite-jdbc/package.py8
-rw-r--r--var/spack/repos/builtin/packages/sqlite/package.py248
-rw-r--r--var/spack/repos/builtin/packages/sqlitebrowser/package.py22
-rw-r--r--var/spack/repos/builtin/packages/sqoop/package.py6
-rw-r--r--var/spack/repos/builtin/packages/squashfs-mount/package.py14
-rw-r--r--var/spack/repos/builtin/packages/squashfs/package.py130
-rw-r--r--var/spack/repos/builtin/packages/squashfuse/package.py76
-rw-r--r--var/spack/repos/builtin/packages/squid/package.py4
-rw-r--r--var/spack/repos/builtin/packages/sratoolkit/package.py26
-rw-r--r--var/spack/repos/builtin/packages/srilm/package.py101
-rw-r--r--var/spack/repos/builtin/packages/sse2neon/package.py6
-rw-r--r--var/spack/repos/builtin/packages/sshfs/package.py14
-rw-r--r--var/spack/repos/builtin/packages/sshpass/package.py24
-rw-r--r--var/spack/repos/builtin/packages/ssht/package.py32
-rw-r--r--var/spack/repos/builtin/packages/ssmtp/package.py37
-rw-r--r--var/spack/repos/builtin/packages/sspace-longread/package.py23
-rw-r--r--var/spack/repos/builtin/packages/sspace-standard/package.py50
-rw-r--r--var/spack/repos/builtin/packages/sst-core/package.py65
-rw-r--r--var/spack/repos/builtin/packages/sst-dumpi/package.py20
-rw-r--r--var/spack/repos/builtin/packages/sst-elements/package.py138
-rw-r--r--var/spack/repos/builtin/packages/sst-macro/package.py124
-rw-r--r--var/spack/repos/builtin/packages/sst-transports/package.py6
-rw-r--r--var/spack/repos/builtin/packages/stacks/package.py26
-rw-r--r--var/spack/repos/builtin/packages/staden-io-lib/package.py18
-rw-r--r--var/spack/repos/builtin/packages/star-ccm-plus/package.py52
-rw-r--r--var/spack/repos/builtin/packages/star/package.py44
-rw-r--r--var/spack/repos/builtin/packages/starlight/package.py37
-rw-r--r--var/spack/repos/builtin/packages/starpu/package.py198
-rw-r--r--var/spack/repos/builtin/packages/startup-notification/package.py10
-rw-r--r--var/spack/repos/builtin/packages/stat/package.py154
-rw-r--r--var/spack/repos/builtin/packages/stata/package.py58
-rw-r--r--var/spack/repos/builtin/packages/static-analysis-suite/package.py18
-rw-r--r--var/spack/repos/builtin/packages/stc/package.py46
-rw-r--r--var/spack/repos/builtin/packages/steps/package.py8
-rw-r--r--var/spack/repos/builtin/packages/stinger/package.py12
-rw-r--r--var/spack/repos/builtin/packages/storm/package.py18
-rw-r--r--var/spack/repos/builtin/packages/stow/package.py24
-rw-r--r--var/spack/repos/builtin/packages/strace/package.py40
-rw-r--r--var/spack/repos/builtin/packages/stream/package.py30
-rw-r--r--var/spack/repos/builtin/packages/strelka/package.py46
-rw-r--r--var/spack/repos/builtin/packages/stress-ng/package.py45
-rw-r--r--var/spack/repos/builtin/packages/stress/package.py4
-rw-r--r--var/spack/repos/builtin/packages/string-view-lite/package.py19
-rw-r--r--var/spack/repos/builtin/packages/stringtie/package.py14
-rw-r--r--var/spack/repos/builtin/packages/stripack/package.py71
-rw-r--r--var/spack/repos/builtin/packages/structure/package.py16
-rw-r--r--var/spack/repos/builtin/packages/strumpack/package.py319
-rw-r--r--var/spack/repos/builtin/packages/su2/package.py38
-rw-r--r--var/spack/repos/builtin/packages/sublime-text/package.py56
-rw-r--r--var/spack/repos/builtin/packages/subread/package.py61
-rw-r--r--var/spack/repos/builtin/packages/subversion/package.py202
-rw-r--r--var/spack/repos/builtin/packages/suite-sparse/package.py302
-rw-r--r--var/spack/repos/builtin/packages/sumaclust/package.py13
-rw-r--r--var/spack/repos/builtin/packages/sumo/package.py62
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py918
-rw-r--r--var/spack/repos/builtin/packages/suntans/package.py40
-rw-r--r--var/spack/repos/builtin/packages/superchic/package.py38
-rw-r--r--var/spack/repos/builtin/packages/superlu-dist/package.py220
-rw-r--r--var/spack/repos/builtin/packages/superlu-mt/package.py159
-rw-r--r--var/spack/repos/builtin/packages/superlu/package.py264
-rw-r--r--var/spack/repos/builtin/packages/supernova/package.py18
-rw-r--r--var/spack/repos/builtin/packages/survey/package.py138
-rw-r--r--var/spack/repos/builtin/packages/sw4lite/package.py110
-rw-r--r--var/spack/repos/builtin/packages/swan/package.py24
-rw-r--r--var/spack/repos/builtin/packages/swap-assembler/package.py14
-rw-r--r--var/spack/repos/builtin/packages/swarm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/swfft/package.py30
-rw-r--r--var/spack/repos/builtin/packages/swftools/package.py34
-rw-r--r--var/spack/repos/builtin/packages/swiftsim/package.py43
-rw-r--r--var/spack/repos/builtin/packages/swig/package.py127
-rw-r--r--var/spack/repos/builtin/packages/swipl/package.py72
-rw-r--r--var/spack/repos/builtin/packages/symengine/package.py160
-rw-r--r--var/spack/repos/builtin/packages/symlinks/package.py10
-rw-r--r--var/spack/repos/builtin/packages/sympol/package.py7
-rw-r--r--var/spack/repos/builtin/packages/sys-sage/package.py16
-rw-r--r--var/spack/repos/builtin/packages/sysbench/package.py18
-rw-r--r--var/spack/repos/builtin/packages/syscalc/package.py31
-rw-r--r--var/spack/repos/builtin/packages/sysfsutils/package.py12
-rw-r--r--var/spack/repos/builtin/packages/sysget/package.py32
-rw-r--r--var/spack/repos/builtin/packages/sysstat/package.py22
-rw-r--r--var/spack/repos/builtin/packages/systemc/package.py20
-rw-r--r--var/spack/repos/builtin/packages/systemtap/package.py20
-rw-r--r--var/spack/repos/builtin/packages/sz/package.py195
-rw-r--r--var/spack/repos/builtin/packages/tabix/package.py28
-rw-r--r--var/spack/repos/builtin/packages/tajo/package.py18
-rw-r--r--var/spack/repos/builtin/packages/talass/package.py57
-rw-r--r--var/spack/repos/builtin/packages/talloc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tamaas/package.py33
-rw-r--r--var/spack/repos/builtin/packages/tangram/package.py88
-rw-r--r--var/spack/repos/builtin/packages/tantan/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tar/package.py81
-rw-r--r--var/spack/repos/builtin/packages/targetp/package.py50
-rw-r--r--var/spack/repos/builtin/packages/task/package.py15
-rw-r--r--var/spack/repos/builtin/packages/taskd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/taskflow/package.py16
-rw-r--r--var/spack/repos/builtin/packages/tasmanian/package.py237
-rw-r--r--var/spack/repos/builtin/packages/tassel/package.py14
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py434
-rw-r--r--var/spack/repos/builtin/packages/tauola/package.py58
-rw-r--r--var/spack/repos/builtin/packages/tbl2asn/package.py20
-rw-r--r--var/spack/repos/builtin/packages/tcl-itcl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tcl-tcllib/package.py20
-rw-r--r--var/spack/repos/builtin/packages/tcl-tclxml/package.py32
-rw-r--r--var/spack/repos/builtin/packages/tcl/package.py79
-rw-r--r--var/spack/repos/builtin/packages/tclap/package.py4
-rw-r--r--var/spack/repos/builtin/packages/tcoffee/package.py32
-rw-r--r--var/spack/repos/builtin/packages/tcpdump/package.py14
-rw-r--r--var/spack/repos/builtin/packages/tcptrace/package.py28
-rw-r--r--var/spack/repos/builtin/packages/tcsh/package.py105
-rw-r--r--var/spack/repos/builtin/packages/tdengine/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tealeaf/package.py48
-rw-r--r--var/spack/repos/builtin/packages/teckit/package.py10
-rw-r--r--var/spack/repos/builtin/packages/tecplot/package.py10
-rw-r--r--var/spack/repos/builtin/packages/telegraf/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tempestremap/package.py38
-rw-r--r--var/spack/repos/builtin/packages/templight-tools/package.py8
-rw-r--r--var/spack/repos/builtin/packages/templight/package.py208
-rw-r--r--var/spack/repos/builtin/packages/tengine/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tensorflow-serving-client/package.py18
-rw-r--r--var/spack/repos/builtin/packages/tensorpipe/package.py32
-rw-r--r--var/spack/repos/builtin/packages/termcap/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tesseract/package.py76
-rw-r--r--var/spack/repos/builtin/packages/testdfsio/package.py6
-rw-r--r--var/spack/repos/builtin/packages/testu01/package.py11
-rw-r--r--var/spack/repos/builtin/packages/tetgen/package.py91
-rw-r--r--var/spack/repos/builtin/packages/tethex/package.py21
-rw-r--r--var/spack/repos/builtin/packages/texinfo/package.py32
-rw-r--r--var/spack/repos/builtin/packages/texlive/package.py278
-rw-r--r--var/spack/repos/builtin/packages/texstudio/package.py42
-rw-r--r--var/spack/repos/builtin/packages/textparser/package.py52
-rw-r--r--var/spack/repos/builtin/packages/tfel/package.py227
-rw-r--r--var/spack/repos/builtin/packages/the-platinum-searcher/package.py12
-rw-r--r--var/spack/repos/builtin/packages/the-silver-searcher/package.py18
-rw-r--r--var/spack/repos/builtin/packages/thepeg/package.py99
-rw-r--r--var/spack/repos/builtin/packages/thornado-mini/package.py96
-rw-r--r--var/spack/repos/builtin/packages/thrift/package.py116
-rw-r--r--var/spack/repos/builtin/packages/thrust/package.py64
-rw-r--r--var/spack/repos/builtin/packages/tidy-html5/package.py8
-rw-r--r--var/spack/repos/builtin/packages/tig/package.py6
-rw-r--r--var/spack/repos/builtin/packages/time/package.py6
-rw-r--r--var/spack/repos/builtin/packages/timedatex/package.py12
-rw-r--r--var/spack/repos/builtin/packages/timemory/package.py498
-rw-r--r--var/spack/repos/builtin/packages/tini/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tinker/package.py14
-rw-r--r--var/spack/repos/builtin/packages/tinygltf/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tinyobjloader/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tinyxml/package.py9
-rw-r--r--var/spack/repos/builtin/packages/tinyxml2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/tioga/package.py59
-rw-r--r--var/spack/repos/builtin/packages/tippecanoe/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tiptop/package.py12
-rw-r--r--var/spack/repos/builtin/packages/tix/package.py96
-rw-r--r--var/spack/repos/builtin/packages/tixi/package.py26
-rw-r--r--var/spack/repos/builtin/packages/tk/package.py99
-rw-r--r--var/spack/repos/builtin/packages/tkrzw/package.py136
-rw-r--r--var/spack/repos/builtin/packages/tldd/package.py15
-rw-r--r--var/spack/repos/builtin/packages/tmalign/package.py10
-rw-r--r--var/spack/repos/builtin/packages/tmhmm/package.py32
-rw-r--r--var/spack/repos/builtin/packages/tmux/package.py74
-rw-r--r--var/spack/repos/builtin/packages/tomcat/package.py14
-rw-r--r--var/spack/repos/builtin/packages/toml11/package.py26
-rw-r--r--var/spack/repos/builtin/packages/tophat/package.py22
-rw-r--r--var/spack/repos/builtin/packages/torque/package.py15
-rw-r--r--var/spack/repos/builtin/packages/totalview/package.py106
-rw-r--r--var/spack/repos/builtin/packages/tower-agent/package.py18
-rw-r--r--var/spack/repos/builtin/packages/tower-cli/package.py30
-rw-r--r--var/spack/repos/builtin/packages/tpm2-tss/package.py49
-rw-r--r--var/spack/repos/builtin/packages/tppred/package.py26
-rw-r--r--var/spack/repos/builtin/packages/tracer/package.py24
-rw-r--r--var/spack/repos/builtin/packages/tracy-client/package.py5
-rw-r--r--var/spack/repos/builtin/packages/tramonto/package.py9
-rw-r--r--var/spack/repos/builtin/packages/transabyss/package.py20
-rw-r--r--var/spack/repos/builtin/packages/transdecoder/package.py33
-rw-r--r--var/spack/repos/builtin/packages/transposome/package.py8
-rw-r--r--var/spack/repos/builtin/packages/transrate/package.py20
-rw-r--r--var/spack/repos/builtin/packages/transset/package.py10
-rw-r--r--var/spack/repos/builtin/packages/trapproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/tree-sitter/package.py16
-rw-r--r--var/spack/repos/builtin/packages/tree/package.py44
-rw-r--r--var/spack/repos/builtin/packages/treelite/package.py41
-rw-r--r--var/spack/repos/builtin/packages/treesub/package.py34
-rw-r--r--var/spack/repos/builtin/packages/trexio/package.py36
-rw-r--r--var/spack/repos/builtin/packages/trf/package.py46
-rw-r--r--var/spack/repos/builtin/packages/triangle/package.py18
-rw-r--r--var/spack/repos/builtin/packages/trident/package.py16
-rw-r--r--var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py41
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py1269
-rw-r--r--var/spack/repos/builtin/packages/trimal/package.py10
-rw-r--r--var/spack/repos/builtin/packages/trimgalore/package.py32
-rw-r--r--var/spack/repos/builtin/packages/trimmomatic/package.py27
-rw-r--r--var/spack/repos/builtin/packages/trinity/package.py70
-rw-r--r--var/spack/repos/builtin/packages/trinotate/package.py65
-rw-r--r--var/spack/repos/builtin/packages/trnascan-se/package.py15
-rw-r--r--var/spack/repos/builtin/packages/truchas/package.py65
-rw-r--r--var/spack/repos/builtin/packages/tskit/package.py16
-rw-r--r--var/spack/repos/builtin/packages/tulip/package.py28
-rw-r--r--var/spack/repos/builtin/packages/turbine/package.py100
-rw-r--r--var/spack/repos/builtin/packages/turbomole/package.py160
-rw-r--r--var/spack/repos/builtin/packages/turnserver/package.py6
-rw-r--r--var/spack/repos/builtin/packages/tut/package.py14
-rw-r--r--var/spack/repos/builtin/packages/twm/package.py24
-rw-r--r--var/spack/repos/builtin/packages/tycho2/package.py14
-rw-r--r--var/spack/repos/builtin/packages/typhon/package.py18
-rw-r--r--var/spack/repos/builtin/packages/typhonio/package.py34
-rw-r--r--var/spack/repos/builtin/packages/uchardet/package.py26
-rw-r--r--var/spack/repos/builtin/packages/ucx/package.py316
-rw-r--r--var/spack/repos/builtin/packages/udunits/package.py12
-rw-r--r--var/spack/repos/builtin/packages/ufo-core/package.py8
-rw-r--r--var/spack/repos/builtin/packages/ufo-filters/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ufs-utils/package.py52
-rw-r--r--var/spack/repos/builtin/packages/ufs-weather-model/package.py118
-rw-r--r--var/spack/repos/builtin/packages/uftrace/package.py81
-rw-r--r--var/spack/repos/builtin/packages/umap/package.py30
-rw-r--r--var/spack/repos/builtin/packages/umesimd/package.py20
-rw-r--r--var/spack/repos/builtin/packages/umoci/package.py33
-rw-r--r--var/spack/repos/builtin/packages/umpire/package.py307
-rw-r--r--var/spack/repos/builtin/packages/unblur/package.py56
-rw-r--r--var/spack/repos/builtin/packages/uncrustify/package.py74
-rw-r--r--var/spack/repos/builtin/packages/unibilium/package.py9
-rw-r--r--var/spack/repos/builtin/packages/unifdef/package.py10
-rw-r--r--var/spack/repos/builtin/packages/unifyfs/package.py118
-rw-r--r--var/spack/repos/builtin/packages/unigen/package.py16
-rw-r--r--var/spack/repos/builtin/packages/unison/package.py28
-rw-r--r--var/spack/repos/builtin/packages/units/package.py4
-rw-r--r--var/spack/repos/builtin/packages/unittest-cpp/package.py6
-rw-r--r--var/spack/repos/builtin/packages/universal-ctags/package.py28
-rw-r--r--var/spack/repos/builtin/packages/unixodbc/package.py10
-rw-r--r--var/spack/repos/builtin/packages/unqlite/package.py8
-rw-r--r--var/spack/repos/builtin/packages/unrar/package.py12
-rw-r--r--var/spack/repos/builtin/packages/unuran/package.py35
-rw-r--r--var/spack/repos/builtin/packages/unzip/package.py19
-rw-r--r--var/spack/repos/builtin/packages/upcxx/package.py251
-rw-r--r--var/spack/repos/builtin/packages/upp/package.py58
-rw-r--r--var/spack/repos/builtin/packages/uqtk/package.py65
-rw-r--r--var/spack/repos/builtin/packages/uriparser/package.py42
-rw-r--r--var/spack/repos/builtin/packages/usbutils/package.py18
-rw-r--r--var/spack/repos/builtin/packages/usearch/package.py21
-rw-r--r--var/spack/repos/builtin/packages/userspace-rcu/package.py50
-rw-r--r--var/spack/repos/builtin/packages/utf8cpp/package.py10
-rw-r--r--var/spack/repos/builtin/packages/utf8proc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/util-linux-uuid/package.py36
-rw-r--r--var/spack/repos/builtin/packages/util-linux/package.py66
-rw-r--r--var/spack/repos/builtin/packages/util-macros/package.py12
-rw-r--r--var/spack/repos/builtin/packages/uvw/package.py24
-rw-r--r--var/spack/repos/builtin/packages/vacuumms/package.py38
-rw-r--r--var/spack/repos/builtin/packages/valgrind/package.py99
-rw-r--r--var/spack/repos/builtin/packages/vampirtrace/package.py52
-rw-r--r--var/spack/repos/builtin/packages/vapor/package.py75
-rw-r--r--var/spack/repos/builtin/packages/vardictjava/package.py12
-rw-r--r--var/spack/repos/builtin/packages/variorum/package.py39
-rw-r--r--var/spack/repos/builtin/packages/varnish-cache/package.py30
-rw-r--r--var/spack/repos/builtin/packages/varscan/package.py27
-rw-r--r--var/spack/repos/builtin/packages/vasp/package.py338
-rw-r--r--var/spack/repos/builtin/packages/vbfnlo/package.py71
-rw-r--r--var/spack/repos/builtin/packages/vc/package.py36
-rw-r--r--var/spack/repos/builtin/packages/vcftools/package.py67
-rw-r--r--var/spack/repos/builtin/packages/vcsh/package.py27
-rw-r--r--var/spack/repos/builtin/packages/vdt/package.py44
-rw-r--r--var/spack/repos/builtin/packages/veccore/package.py24
-rw-r--r--var/spack/repos/builtin/packages/vecgeom/package.py182
-rw-r--r--var/spack/repos/builtin/packages/veclibfort/package.py41
-rw-r--r--var/spack/repos/builtin/packages/vecmem/package.py54
-rw-r--r--var/spack/repos/builtin/packages/vectorclass-version2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/vegas2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/veloc/package.py46
-rw-r--r--var/spack/repos/builtin/packages/velvet/package.py18
-rw-r--r--var/spack/repos/builtin/packages/velvetoptimiser/package.py12
-rw-r--r--var/spack/repos/builtin/packages/verilator/package.py40
-rw-r--r--var/spack/repos/builtin/packages/verrou/package.py107
-rw-r--r--var/spack/repos/builtin/packages/vesta/package.py20
-rw-r--r--var/spack/repos/builtin/packages/vgm/package.py60
-rw-r--r--var/spack/repos/builtin/packages/videoproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/viennarna/package.py40
-rw-r--r--var/spack/repos/builtin/packages/viewres/package.py12
-rw-r--r--var/spack/repos/builtin/packages/vifi/package.py24
-rw-r--r--var/spack/repos/builtin/packages/vigra/package.py146
-rw-r--r--var/spack/repos/builtin/packages/vim/package.py138
-rw-r--r--var/spack/repos/builtin/packages/virtest/package.py22
-rw-r--r--var/spack/repos/builtin/packages/virtualgl/package.py10
-rw-r--r--var/spack/repos/builtin/packages/virtuoso/package.py77
-rw-r--r--var/spack/repos/builtin/packages/visit-cgns/package.py88
-rw-r--r--var/spack/repos/builtin/packages/visit-ffp/package.py65
-rw-r--r--var/spack/repos/builtin/packages/visit-mfem/package.py84
-rw-r--r--var/spack/repos/builtin/packages/visit-silo/package.py94
-rw-r--r--var/spack/repos/builtin/packages/visit-unv/package.py72
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py313
-rw-r--r--var/spack/repos/builtin/packages/vite/package.py20
-rw-r--r--var/spack/repos/builtin/packages/vizglow/package.py88
-rw-r--r--var/spack/repos/builtin/packages/vmatch/package.py6
-rw-r--r--var/spack/repos/builtin/packages/vmc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/vmd/package.py46
-rw-r--r--var/spack/repos/builtin/packages/volk/package.py10
-rw-r--r--var/spack/repos/builtin/packages/voropp/package.py23
-rw-r--r--var/spack/repos/builtin/packages/votca-csg-tutorials/package.py112
-rw-r--r--var/spack/repos/builtin/packages/votca-csg/package.py114
-rw-r--r--var/spack/repos/builtin/packages/votca-csgapps/package.py78
-rw-r--r--var/spack/repos/builtin/packages/votca-ctp/package.py31
-rw-r--r--var/spack/repos/builtin/packages/votca-tools/package.py119
-rw-r--r--var/spack/repos/builtin/packages/votca-xtp/package.py114
-rw-r--r--var/spack/repos/builtin/packages/votca/package.py59
-rw-r--r--var/spack/repos/builtin/packages/vpfft/package.py33
-rw-r--r--var/spack/repos/builtin/packages/vpic/package.py23
-rw-r--r--var/spack/repos/builtin/packages/vsearch/package.py16
-rw-r--r--var/spack/repos/builtin/packages/vsftpd/package.py18
-rw-r--r--var/spack/repos/builtin/packages/vt/package.py10
-rw-r--r--var/spack/repos/builtin/packages/vtable-dumper/package.py12
-rw-r--r--var/spack/repos/builtin/packages/vtk-h/package.py98
-rw-r--r--var/spack/repos/builtin/packages/vtk-m/package.py191
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py530
-rw-r--r--var/spack/repos/builtin/packages/vvtest/package.py20
-rw-r--r--var/spack/repos/builtin/packages/w3emc/package.py31
-rw-r--r--var/spack/repos/builtin/packages/w3m/package.py74
-rw-r--r--var/spack/repos/builtin/packages/w3nco/package.py6
-rw-r--r--var/spack/repos/builtin/packages/wannier90/package.py211
-rw-r--r--var/spack/repos/builtin/packages/warpx/package.py335
-rw-r--r--var/spack/repos/builtin/packages/watch/package.py34
-rw-r--r--var/spack/repos/builtin/packages/wayland-protocols/package.py22
-rw-r--r--var/spack/repos/builtin/packages/wayland/package.py32
-rw-r--r--var/spack/repos/builtin/packages/wcs/package.py22
-rw-r--r--var/spack/repos/builtin/packages/wcslib/package.py50
-rw-r--r--var/spack/repos/builtin/packages/webbench/package.py15
-rw-r--r--var/spack/repos/builtin/packages/weechat/package.py70
-rw-r--r--var/spack/repos/builtin/packages/weighttp/package.py18
-rw-r--r--var/spack/repos/builtin/packages/wget/package.py99
-rw-r--r--var/spack/repos/builtin/packages/wgrib2/package.py22
-rw-r--r--var/spack/repos/builtin/packages/wgsim/package.py8
-rw-r--r--var/spack/repos/builtin/packages/which/package.py10
-rw-r--r--var/spack/repos/builtin/packages/whizard/package.py154
-rw-r--r--var/spack/repos/builtin/packages/wi4mpi/package.py59
-rw-r--r--var/spack/repos/builtin/packages/windowswmproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/wiredtiger/package.py40
-rw-r--r--var/spack/repos/builtin/packages/wireshark/package.py156
-rw-r--r--var/spack/repos/builtin/packages/wonton/package.py144
-rw-r--r--var/spack/repos/builtin/packages/wordnet/package.py22
-rw-r--r--var/spack/repos/builtin/packages/workrave/package.py94
-rw-r--r--var/spack/repos/builtin/packages/wps/package.py117
-rw-r--r--var/spack/repos/builtin/packages/wrf-io/package.py14
-rw-r--r--var/spack/repos/builtin/packages/wrf/package.py119
-rw-r--r--var/spack/repos/builtin/packages/wrk/package.py14
-rw-r--r--var/spack/repos/builtin/packages/wsmancli/package.py22
-rw-r--r--var/spack/repos/builtin/packages/wt/package.py82
-rw-r--r--var/spack/repos/builtin/packages/wtdbg2/package.py18
-rw-r--r--var/spack/repos/builtin/packages/wxparaver/package.py47
-rw-r--r--var/spack/repos/builtin/packages/wxpropgrid/package.py16
-rw-r--r--var/spack/repos/builtin/packages/wxwidgets/package.py46
-rw-r--r--var/spack/repos/builtin/packages/x11perf/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xabclib/package.py58
-rw-r--r--var/spack/repos/builtin/packages/xalan-c/package.py25
-rw-r--r--var/spack/repos/builtin/packages/xapian-core/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xauth/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xbacklight/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xbiff/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xbitmaps/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xbraid/package.py61
-rw-r--r--var/spack/repos/builtin/packages/xcalc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xcb-demo/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xcb-proto/package.py20
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-cursor/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-errors/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-image/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-keysyms/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-renderutil/package.py8
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-wm/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xcb-util-xrm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xcb-util/package.py8
-rw-r--r--var/spack/repos/builtin/packages/xcfun/package.py36
-rw-r--r--var/spack/repos/builtin/packages/xclip/package.py26
-rw-r--r--var/spack/repos/builtin/packages/xclipboard/package.py18
-rw-r--r--var/spack/repos/builtin/packages/xclock/package.py22
-rw-r--r--var/spack/repos/builtin/packages/xcmiscproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xcmsdb/package.py8
-rw-r--r--var/spack/repos/builtin/packages/xcompmgr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xconsole/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xcursor-themes/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xcursorgen/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xdbedizzy/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xdelta/package.py31
-rw-r--r--var/spack/repos/builtin/packages/xditview/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xdm/package.py26
-rw-r--r--var/spack/repos/builtin/packages/xdmf3/package.py30
-rw-r--r--var/spack/repos/builtin/packages/xdotool/package.py47
-rw-r--r--var/spack/repos/builtin/packages/xdpyinfo/package.py26
-rw-r--r--var/spack/repos/builtin/packages/xdriinfo/package.py24
-rw-r--r--var/spack/repos/builtin/packages/xedit/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xerces-c/package.py106
-rw-r--r--var/spack/repos/builtin/packages/xeus/package.py62
-rw-r--r--var/spack/repos/builtin/packages/xev/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xextproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xeyes/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xf86bigfontproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xf86dga/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xf86dgaproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xf86driproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xf86miscproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xf86rushproto/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xf86vidmodeproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xfd/package.py32
-rw-r--r--var/spack/repos/builtin/packages/xfindproxy/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xfontsel/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xforms/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xfs/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xfsdump/package.py50
-rw-r--r--var/spack/repos/builtin/packages/xfsinfo/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xfsprogs/package.py42
-rw-r--r--var/spack/repos/builtin/packages/xfwp/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xgamma/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xgboost/package.py85
-rw-r--r--var/spack/repos/builtin/packages/xgc/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xhmm/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xhost/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xineramaproto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xinit/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xinput/package.py24
-rw-r--r--var/spack/repos/builtin/packages/xios/package.py176
-rw-r--r--var/spack/repos/builtin/packages/xkbcomp/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xkbdata/package.py4
-rw-r--r--var/spack/repos/builtin/packages/xkbevd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xkbprint/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xkbutils/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xkeyboard-config/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xkill/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xlc/package.py32
-rw-r--r--var/spack/repos/builtin/packages/xlf/package.py26
-rw-r--r--var/spack/repos/builtin/packages/xload/package.py20
-rw-r--r--var/spack/repos/builtin/packages/xlogo/package.py24
-rw-r--r--var/spack/repos/builtin/packages/xlsatoms/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xlsclients/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xlsfonts/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xmag/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xman/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xmessage/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xmh/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xmlf90/package.py33
-rw-r--r--var/spack/repos/builtin/packages/xmlrpc-c/package.py8
-rw-r--r--var/spack/repos/builtin/packages/xmlto/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xmodmap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xmore/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xnnpack/package.py139
-rw-r--r--var/spack/repos/builtin/packages/xorg-cf-files/package.py4
-rw-r--r--var/spack/repos/builtin/packages/xorg-docs/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xorg-gtest/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xorg-server/package.py90
-rw-r--r--var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xphelloworld/package.py18
-rw-r--r--var/spack/repos/builtin/packages/xplor-nih/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xplsprinters/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xpmem/package.py93
-rw-r--r--var/spack/repos/builtin/packages/xpr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xprehashprinterlist/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xprop/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xproperty/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xproto/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xqilla/package.py37
-rw-r--r--var/spack/repos/builtin/packages/xrandr/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xrdb/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xrefresh/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xrootd/package.py190
-rw-r--r--var/spack/repos/builtin/packages/xrx/package.py22
-rw-r--r--var/spack/repos/builtin/packages/xsbench/package.py54
-rw-r--r--var/spack/repos/builtin/packages/xscope/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xsd/package.py20
-rw-r--r--var/spack/repos/builtin/packages/xsdk-examples/package.py127
-rw-r--r--var/spack/repos/builtin/packages/xsdk/package.py643
-rw-r--r--var/spack/repos/builtin/packages/xset/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xsetmode/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xsetpointer/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xsetroot/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xsimd/package.py32
-rw-r--r--var/spack/repos/builtin/packages/xsm/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xstdcmap/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xtensor-python/package.py38
-rw-r--r--var/spack/repos/builtin/packages/xtensor/package.py74
-rw-r--r--var/spack/repos/builtin/packages/xterm/package.py48
-rw-r--r--var/spack/repos/builtin/packages/xtl/package.py24
-rw-r--r--var/spack/repos/builtin/packages/xtrans/package.py6
-rw-r--r--var/spack/repos/builtin/packages/xtrap/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xts/package.py40
-rw-r--r--var/spack/repos/builtin/packages/xvidtune/package.py16
-rw-r--r--var/spack/repos/builtin/packages/xvinfo/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xwd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xwidgets/package.py18
-rw-r--r--var/spack/repos/builtin/packages/xwininfo/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xwud/package.py10
-rw-r--r--var/spack/repos/builtin/packages/xxd-standalone/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xxhash/package.py38
-rw-r--r--var/spack/repos/builtin/packages/xyce/package.py135
-rw-r--r--var/spack/repos/builtin/packages/xz/package.py34
-rw-r--r--var/spack/repos/builtin/packages/yajl/package.py8
-rw-r--r--var/spack/repos/builtin/packages/yaksa/package.py44
-rw-r--r--var/spack/repos/builtin/packages/yambo/package.py134
-rw-r--r--var/spack/repos/builtin/packages/yaml-cpp/package.py86
-rw-r--r--var/spack/repos/builtin/packages/yara/package.py12
-rw-r--r--var/spack/repos/builtin/packages/yarn/package.py18
-rw-r--r--var/spack/repos/builtin/packages/yasm/package.py22
-rw-r--r--var/spack/repos/builtin/packages/ycsb/package.py40
-rw-r--r--var/spack/repos/builtin/packages/yoda/package.py151
-rw-r--r--var/spack/repos/builtin/packages/yorick/package.py46
-rw-r--r--var/spack/repos/builtin/packages/z-checker/package.py21
-rw-r--r--var/spack/repos/builtin/packages/z3/package.py60
-rw-r--r--var/spack/repos/builtin/packages/zabbix/package.py43
-rw-r--r--var/spack/repos/builtin/packages/zfp/package.py154
-rw-r--r--var/spack/repos/builtin/packages/zfs/package.py18
-rw-r--r--var/spack/repos/builtin/packages/zig/package.py12
-rw-r--r--var/spack/repos/builtin/packages/zip/package.py42
-rw-r--r--var/spack/repos/builtin/packages/zipkin/package.py10
-rw-r--r--var/spack/repos/builtin/packages/zlib-ng/package.py14
-rw-r--r--var/spack/repos/builtin/packages/zlib/package.py68
-rw-r--r--var/spack/repos/builtin/packages/zoltan/package.py203
-rw-r--r--var/spack/repos/builtin/packages/zookeeper-benchmark/package.py12
-rw-r--r--var/spack/repos/builtin/packages/zookeeper/package.py6
-rw-r--r--var/spack/repos/builtin/packages/zpares/package.py54
-rw-r--r--var/spack/repos/builtin/packages/zsh/package.py41
-rw-r--r--var/spack/repos/builtin/packages/zstd/package.py96
-rw-r--r--var/spack/repos/builtin/packages/zstr/package.py23
-rw-r--r--var/spack/repos/builtin/packages/zziplib/package.py53
-rw-r--r--var/spack/repos/tutorial/packages/armadillo/package.py40
-rw-r--r--var/spack/repos/tutorial/packages/elpa/package.py57
-rw-r--r--var/spack/repos/tutorial/packages/hdf5/package.py504
-rw-r--r--var/spack/repos/tutorial/packages/mpich/package.py146
-rw-r--r--var/spack/repos/tutorial/packages/netlib-lapack/package.py179
7220 files changed, 186733 insertions, 170462 deletions
diff --git a/bin/haspywin.py b/bin/haspywin.py
index ad28fe0863..e19d902e28 100644
--- a/bin/haspywin.py
+++ b/bin/haspywin.py
@@ -10,11 +10,9 @@ def getpywin():
try:
import win32con # noqa: F401
except ImportError:
- subprocess.check_call(
- [sys.executable, "-m", "pip", "-q", "install", "--upgrade", "pip"])
- subprocess.check_call(
- [sys.executable, "-m", "pip", "-q", "install", "pywin32"])
+ subprocess.check_call([sys.executable, "-m", "pip", "-q", "install", "--upgrade", "pip"])
+ subprocess.check_call([sys.executable, "-m", "pip", "-q", "install", "pywin32"])
-if __name__ == '__main__':
+if __name__ == "__main__":
getpywin()
diff --git a/bin/spack b/bin/spack
index 537a6a150e..864fb34a77 100755
--- a/bin/spack
+++ b/bin/spack
@@ -77,16 +77,18 @@ if "ruamel" in sys.modules:
try:
import argparse
except ImportError:
- argparse_pyc = os.path.join(spack_external_libs, 'argparse.pyc')
+ 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: F401
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.')
+ 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)
diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py
index 48746d149e..c29951154f 100644
--- a/lib/spack/docs/conf.py
+++ b/lib/spack/docs/conf.py
@@ -32,37 +32,39 @@ from sphinx.parsers import RSTParser
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external'))
-sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external/pytest-fallback'))
+sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external"))
+sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/pytest-fallback"))
if sys.version_info[0] < 3:
- sys.path.insert(
- 0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib'))
+ sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib"))
else:
- sys.path.insert(
- 0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib3'))
+ sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib3"))
-sys.path.append(os.path.abspath('_spack_root/lib/spack/'))
+sys.path.append(os.path.abspath("_spack_root/lib/spack/"))
# Add the Spack bin directory to the path so that we can use its output in docs.
-os.environ['SPACK_ROOT'] = os.path.abspath('_spack_root')
-os.environ['PATH'] += "%s%s" % (os.pathsep, os.path.abspath('_spack_root/bin'))
+os.environ["SPACK_ROOT"] = os.path.abspath("_spack_root")
+os.environ["PATH"] += "%s%s" % (os.pathsep, os.path.abspath("_spack_root/bin"))
# Set an environment variable so that colify will print output like it would to
# a terminal.
-os.environ['COLIFY_SIZE'] = '25x120'
-os.environ['COLUMNS'] = '120'
+os.environ["COLIFY_SIZE"] = "25x120"
+os.environ["COLUMNS"] = "120"
# Generate full package list if needed
-subprocess.call([
- 'spack', 'list', '--format=html', '--update=package_list.html'])
+subprocess.call(["spack", "list", "--format=html", "--update=package_list.html"])
# Generate a command index if an update is needed
-subprocess.call([
- 'spack', 'commands',
- '--format=rst',
- '--header=command_index.in',
- '--update=command_index.rst'] + glob('*rst'))
+subprocess.call(
+ [
+ "spack",
+ "commands",
+ "--format=rst",
+ "--header=command_index.in",
+ "--update=command_index.rst",
+ ]
+ + glob("*rst")
+)
#
# Run sphinx-apidoc
@@ -72,12 +74,12 @@ subprocess.call([
# Without this, the API Docs will never actually update
#
apidoc_args = [
- '--force', # Overwrite existing files
- '--no-toc', # Don't create a table of contents file
- '--output-dir=.', # Directory to place all output
+ "--force", # Overwrite existing files
+ "--no-toc", # Don't create a table of contents file
+ "--output-dir=.", # Directory to place all output
]
-sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/spack'])
-sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/llnl'])
+sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/spack"])
+sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/llnl"])
# Enable todo items
todo_include_todos = True
@@ -87,10 +89,12 @@ todo_include_todos = True
#
class PatchedPythonDomain(PythonDomain):
def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
- if 'refspecific' in node:
- del node['refspecific']
+ if "refspecific" in node:
+ del node["refspecific"]
return super(PatchedPythonDomain, self).resolve_xref(
- env, fromdocname, builder, typ, target, node, contnode)
+ env, fromdocname, builder, typ, target, node, contnode
+ )
+
#
# Disable tabs to space expansion in code blocks
@@ -103,51 +107,57 @@ class NoTabExpansionRSTParser(RSTParser):
inputstring = StringList(lines, document.current_source)
super().parse(inputstring, document)
+
def setup(sphinx):
sphinx.add_domain(PatchedPythonDomain, override=True)
sphinx.add_source_parser(NoTabExpansionRSTParser, override=True)
+
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
-needs_sphinx = '3.4'
+needs_sphinx = "3.4"
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
- 'sphinx.ext.autodoc',
- 'sphinx.ext.graphviz',
- 'sphinx.ext.intersphinx',
- 'sphinx.ext.napoleon',
- 'sphinx.ext.todo',
- 'sphinx.ext.viewcode',
- 'sphinxcontrib.programoutput',
+ "sphinx.ext.autodoc",
+ "sphinx.ext.graphviz",
+ "sphinx.ext.intersphinx",
+ "sphinx.ext.napoleon",
+ "sphinx.ext.todo",
+ "sphinx.ext.viewcode",
+ "sphinxcontrib.programoutput",
]
# Set default graphviz options
graphviz_dot_args = [
- '-Grankdir=LR', '-Gbgcolor=transparent',
- '-Nshape=box', '-Nfontname=monaco', '-Nfontsize=10']
+ "-Grankdir=LR",
+ "-Gbgcolor=transparent",
+ "-Nshape=box",
+ "-Nfontname=monaco",
+ "-Nfontsize=10",
+]
# Get nice vector graphics
graphviz_output_format = "svg"
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
# The suffix of source filenames.
-source_suffix = '.rst'
+source_suffix = ".rst"
# The encoding of source files.
-source_encoding = 'utf-8-sig'
+source_encoding = "utf-8-sig"
# The master toctree document.
-master_doc = 'index'
+master_doc = "index"
# General information about the project.
-project = u'Spack'
-copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
+project = u"Spack"
+copyright = u"2013-2021, Lawrence Livermore National Laboratory."
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -156,16 +166,16 @@ copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
# The short X.Y version.
import spack
-version = '.'.join(str(s) for s in spack.spack_version_info[:2])
+version = ".".join(str(s) for s in spack.spack_version_info[:2])
# The full version, including alpha/beta/rc tags.
release = spack.spack_version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
-#language = None
+# language = None
# Places to look for .po/.mo files for doc translations
-#locale_dirs = []
+# locale_dirs = []
# Sphinx gettext settings
gettext_compact = True
@@ -173,41 +183,41 @@ gettext_uuid = False
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
-#today = ''
+# today = ''
# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
-exclude_patterns = ['_build', '_spack_root', '.spack-env']
+exclude_patterns = ["_build", "_spack_root", ".spack-env"]
nitpicky = True
nitpick_ignore = [
# Python classes that intersphinx is unable to resolve
- ('py:class', 'argparse.HelpFormatter'),
- ('py:class', 'contextlib.contextmanager'),
- ('py:class', 'module'),
- ('py:class', '_io.BufferedReader'),
- ('py:class', 'unittest.case.TestCase'),
- ('py:class', '_frozen_importlib_external.SourceFileLoader'),
+ ("py:class", "argparse.HelpFormatter"),
+ ("py:class", "contextlib.contextmanager"),
+ ("py:class", "module"),
+ ("py:class", "_io.BufferedReader"),
+ ("py:class", "unittest.case.TestCase"),
+ ("py:class", "_frozen_importlib_external.SourceFileLoader"),
# Spack classes that are private and we don't want to expose
- ('py:class', 'spack.provider_index._IndexBase'),
- ('py:class', 'spack.repo._PrependFileLoader'),
+ ("py:class", "spack.provider_index._IndexBase"),
+ ("py:class", "spack.repo._PrependFileLoader"),
]
# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
+# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
+# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
-#add_module_names = True
+# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
-#show_authors = False
+# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
# We use our own extension of the default style with a few modifications
@@ -218,156 +228,151 @@ from pygments.token import Comment, Generic, Text
class SpackStyle(DefaultStyle):
styles = DefaultStyle.styles.copy()
- background_color = "#f4f4f8"
+ background_color = "#f4f4f8"
styles[Generic.Output] = "#355"
styles[Generic.Prompt] = "bold #346ec9"
+
import pkg_resources
dist = pkg_resources.Distribution(__file__)
-sys.path.append('.') # make 'conf' module findable
-ep = pkg_resources.EntryPoint.parse('spack = conf:SpackStyle', dist=dist)
-dist._ep_map = {'pygments.styles': {'plugin1': ep}}
+sys.path.append(".") # make 'conf' module findable
+ep = pkg_resources.EntryPoint.parse("spack = conf:SpackStyle", dist=dist)
+dist._ep_map = {"pygments.styles": {"plugin1": ep}}
pkg_resources.working_set.add(dist)
-pygments_style = 'spack'
+pygments_style = "spack"
# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
+# modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'sphinx_rtd_theme'
+html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
-html_theme_options = { 'logo_only' : True }
+html_theme_options = {"logo_only": True}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = ["_themes"]
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
-#html_title = None
+# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
+# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
-html_logo = '_spack_root/share/spack/logo/spack-logo-white-text.svg'
+html_logo = "_spack_root/share/spack/logo/spack-logo-white-text.svg"
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
-html_favicon = '_spack_root/share/spack/logo/favicon.ico'
+html_favicon = "_spack_root/share/spack/logo/favicon.ico"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ["_static"]
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
-html_last_updated_fmt = '%b %d, %Y'
+html_last_updated_fmt = "%b %d, %Y"
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
-#html_use_smartypants = True
+# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
+# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
-#html_additional_pages = {}
+# html_additional_pages = {}
# If false, no module index is generated.
-#html_domain_indices = True
+# html_domain_indices = True
# If false, no index is generated.
-#html_use_index = True
+# html_use_index = True
# If true, the index is split into individual pages for each letter.
-#html_split_index = False
+# html_split_index = False
# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
+# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = False
+# html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
+# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
+# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
+# html_file_suffix = None
# Output file base name for HTML help builder.
-htmlhelp_basename = 'Spackdoc'
+htmlhelp_basename = "Spackdoc"
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
+ # The paper size ('letterpaper' or 'a4paper').
+ #'papersize': 'letterpaper',
+ # The font size ('10pt', '11pt' or '12pt').
+ #'pointsize': '10pt',
+ # Additional stuff for the LaTeX preamble.
+ #'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'Spack.tex', u'Spack Documentation',
- u'Todd Gamblin', 'manual'),
+ ("index", "Spack.tex", u"Spack Documentation", u"Todd Gamblin", "manual"),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
-#latex_logo = None
+# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
-#latex_use_parts = False
+# latex_use_parts = False
# If true, show page references after internal links.
-#latex_show_pagerefs = False
+# latex_show_pagerefs = False
# If true, show URL addresses after external links.
-#latex_show_urls = False
+# latex_show_urls = False
# Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# latex_appendices = []
# If false, no module index is generated.
-#latex_domain_indices = True
+# latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'spack', u'Spack Documentation',
- [u'Todd Gamblin'], 1)
-]
+man_pages = [("index", "spack", u"Spack Documentation", [u"Todd Gamblin"], 1)]
# If true, show URL addresses after external links.
-#man_show_urls = False
+# man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
@@ -376,19 +381,25 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- ('index', 'Spack', u'Spack Documentation',
- u'Todd Gamblin', 'Spack', 'One line description of project.',
- 'Miscellaneous'),
+ (
+ "index",
+ "Spack",
+ u"Spack Documentation",
+ u"Todd Gamblin",
+ "Spack",
+ "One line description of project.",
+ "Miscellaneous",
+ ),
]
# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
+# texinfo_appendices = []
# If false, no module index is generated.
-#texinfo_domain_indices = True
+# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
+# texinfo_show_urls = 'footnote'
# -- Extension configuration -------------------------------------------------
diff --git a/lib/spack/llnl/util/argparsewriter.py b/lib/spack/llnl/util/argparsewriter.py
index eb35d26aa8..a8db508c2f 100644
--- a/lib/spack/llnl/util/argparsewriter.py
+++ b/lib/spack/llnl/util/argparsewriter.py
@@ -29,8 +29,8 @@ class Command(object):
- optionals: list of optional arguments (list)
- subcommands: list of subcommand parsers (list)
"""
- def __init__(self, prog, description, usage,
- positionals, optionals, subcommands):
+
+ def __init__(self, prog, description, usage, positionals, optionals, subcommands):
self.prog = prog
self.description = description
self.usage = usage
@@ -71,15 +71,15 @@ class ArgparseWriter(argparse.HelpFormatter):
"""
self.parser = parser
- split_prog = parser.prog.split(' ')
+ split_prog = parser.prog.split(" ")
split_prog[-1] = prog
- prog = ' '.join(split_prog)
+ prog = " ".join(split_prog)
description = parser.description
fmt = parser._get_formatter()
actions = parser._actions
groups = parser._mutually_exclusive_groups
- usage = fmt._format_usage(None, actions, groups, '').strip()
+ usage = fmt._format_usage(None, actions, groups, "").strip()
# Go through actions and split them into optionals, positionals,
# and subcommands
@@ -90,8 +90,8 @@ class ArgparseWriter(argparse.HelpFormatter):
if action.option_strings:
flags = action.option_strings
dest_flags = fmt._format_action_invocation(action)
- help = self._expand_help(action) if action.help else ''
- help = help.replace('\n', ' ')
+ help = self._expand_help(action) if action.help else ""
+ help = help.replace("\n", " ")
optionals.append((flags, dest_flags, help))
elif isinstance(action, argparse._SubParsersAction):
for subaction in action._choices_actions:
@@ -100,20 +100,19 @@ class ArgparseWriter(argparse.HelpFormatter):
# Look for aliases of the form 'name (alias, ...)'
if self.aliases:
- match = re.match(r'(.*) \((.*)\)', subaction.metavar)
+ match = re.match(r"(.*) \((.*)\)", subaction.metavar)
if match:
- aliases = match.group(2).split(', ')
+ aliases = match.group(2).split(", ")
for alias in aliases:
subparser = action._name_parser_map[alias]
subcommands.append((subparser, alias))
else:
args = fmt._format_action_invocation(action)
- help = self._expand_help(action) if action.help else ''
- help = help.replace('\n', ' ')
+ help = self._expand_help(action) if action.help else ""
+ help = help.replace("\n", " ")
positionals.append((args, help))
- return Command(
- prog, description, usage, positionals, optionals, subcommands)
+ return Command(prog, description, usage, positionals, optionals, subcommands)
def format(self, cmd):
"""Returns the string representation of a single node in the
@@ -161,14 +160,13 @@ class ArgparseWriter(argparse.HelpFormatter):
raise
-_rst_levels = ['=', '-', '^', '~', ':', '`']
+_rst_levels = ["=", "-", "^", "~", ":", "`"]
class ArgparseRstWriter(ArgparseWriter):
"""Write argparse output as rst sections."""
- def __init__(self, prog, out=None, aliases=False,
- rst_levels=_rst_levels):
+ def __init__(self, prog, out=None, aliases=False, rst_levels=_rst_levels):
"""Create a new ArgparseRstWriter.
Parameters:
@@ -217,11 +215,12 @@ class ArgparseRstWriter(ArgparseWriter):
{1}
{2}
-""".format(prog.replace(' ', '-'), prog,
- self.rst_levels[self.level] * len(prog))
+""".format(
+ prog.replace(" ", "-"), prog, self.rst_levels[self.level] * len(prog)
+ )
def description(self, description):
- return description + '\n\n'
+ return description + "\n\n"
def usage(self, usage):
return """\
@@ -229,33 +228,39 @@ class ArgparseRstWriter(ArgparseWriter):
{0}
-""".format(usage)
+""".format(
+ usage
+ )
def begin_positionals(self):
- return '\n**Positional arguments**\n\n'
+ return "\n**Positional arguments**\n\n"
def positional(self, name, help):
return """\
{0}
{1}
-""".format(name, help)
+""".format(
+ name, help
+ )
def end_positionals(self):
- return ''
+ return ""
def begin_optionals(self):
- return '\n**Optional arguments**\n\n'
+ return "\n**Optional arguments**\n\n"
def optional(self, opts, help):
return """\
``{0}``
{1}
-""".format(opts, help)
+""".format(
+ opts, help
+ )
def end_optionals(self):
- return ''
+ return ""
def begin_subcommands(self, subcommands):
string = """
@@ -267,11 +272,10 @@ class ArgparseRstWriter(ArgparseWriter):
"""
for cmd, _ in subcommands:
- prog = re.sub(r'^[^ ]* ', '', cmd.prog)
- string += ' * :ref:`{0} <{1}>`\n'.format(
- prog, cmd.prog.replace(' ', '-'))
+ prog = re.sub(r"^[^ ]* ", "", cmd.prog)
+ string += " * :ref:`{0} <{1}>`\n".format(prog, cmd.prog.replace(" ", "-"))
- return string + '\n'
+ return string + "\n"
class ArgparseCompletionWriter(ArgparseWriter):
@@ -306,9 +310,11 @@ class ArgparseCompletionWriter(ArgparseWriter):
# Flatten lists of lists
optionals = [x for xx in optionals for x in xx]
- return (self.start_function(cmd.prog) +
- self.body(positionals, optionals, subcommands) +
- self.end_function(cmd.prog))
+ return (
+ self.start_function(cmd.prog)
+ + self.body(positionals, optionals, subcommands)
+ + self.end_function(cmd.prog)
+ )
def start_function(self, prog):
"""Returns the syntax needed to begin a function definition.
@@ -319,8 +325,8 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the function definition beginning
"""
- name = prog.replace('-', '_').replace(' ', '_')
- return '\n_{0}() {{'.format(name)
+ name = prog.replace("-", "_").replace(" ", "_")
+ return "\n_{0}() {{".format(name)
def end_function(self, prog=None):
"""Returns the syntax needed to end a function definition.
@@ -331,7 +337,7 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the function definition ending
"""
- return '}\n'
+ return "}\n"
def body(self, positionals, optionals, subcommands):
"""Returns the body of the function.
@@ -344,7 +350,7 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the function body
"""
- return ''
+ return ""
def positionals(self, positionals):
"""Returns the syntax for reporting positional arguments.
@@ -355,7 +361,7 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the syntax for positional arguments
"""
- return ''
+ return ""
def optionals(self, optionals):
"""Returns the syntax for reporting optional flags.
@@ -366,7 +372,7 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the syntax for optional flags
"""
- return ''
+ return ""
def subcommands(self, subcommands):
"""Returns the syntax for reporting subcommands.
@@ -377,4 +383,4 @@ class ArgparseCompletionWriter(ArgparseWriter):
Returns:
str: the syntax for subcommand parsers
"""
- return ''
+ return ""
diff --git a/lib/spack/llnl/util/compat.py b/lib/spack/llnl/util/compat.py
index ca914d0fb6..ebe509f3a7 100644
--- a/lib/spack/llnl/util/compat.py
+++ b/lib/spack/llnl/util/compat.py
@@ -18,22 +18,22 @@ else:
map = map
zip = zip
from itertools import zip_longest as zip_longest # novm # noqa: F401
- from urllib.parse import urlencode as urlencode # novm # noqa: F401
- from urllib.request import urlopen as urlopen # novm # noqa: F401
+ from urllib.parse import urlencode as urlencode # novm # noqa: F401
+ from urllib.request import urlopen as urlopen # novm # noqa: F401
if sys.version_info >= (3, 3):
- from collections.abc import Hashable as Hashable # novm
- from collections.abc import Iterable as Iterable # novm
- from collections.abc import Mapping as Mapping # novm
- from collections.abc import MutableMapping as MutableMapping # novm
+ from collections.abc import Hashable as Hashable # novm
+ from collections.abc import Iterable as Iterable # novm
+ from collections.abc import Mapping as Mapping # novm
+ from collections.abc import MutableMapping as MutableMapping # novm
from collections.abc import MutableSequence as MutableSequence # novm
- from collections.abc import MutableSet as MutableSet # novm
- from collections.abc import Sequence as Sequence # novm
+ from collections.abc import MutableSet as MutableSet # novm
+ from collections.abc import Sequence as Sequence # novm
else:
- from collections import Hashable as Hashable # noqa: F401
- from collections import Iterable as Iterable # noqa: F401
- from collections import Mapping as Mapping # noqa: F401
- from collections import MutableMapping as MutableMapping # noqa: F401
+ from collections import Hashable as Hashable # noqa: F401
+ from collections import Iterable as Iterable # noqa: F401
+ from collections import Mapping as Mapping # noqa: F401
+ from collections import MutableMapping as MutableMapping # noqa: F401
from collections import MutableSequence as MutableSequence # noqa: F401
- from collections import MutableSet as MutableSet # noqa: F401
- from collections import Sequence as Sequence # noqa: F401
+ from collections import MutableSet as MutableSet # noqa: F401
+ from collections import Sequence as Sequence # noqa: F401
diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py
index 185f45d131..1740fb71c0 100644
--- a/lib/spack/llnl/util/filesystem.py
+++ b/lib/spack/llnl/util/filesystem.py
@@ -27,7 +27,7 @@ from llnl.util.symlink import symlink
from spack.util.executable import Executable
from spack.util.path import path_to_os_path, system_path_filter
-is_windows = _platform == 'win32'
+is_windows = _platform == "win32"
if not is_windows:
import grp
@@ -37,56 +37,57 @@ else:
__all__ = [
- 'FileFilter',
- 'FileList',
- 'HeaderList',
- 'LibraryList',
- 'ancestor',
- 'can_access',
- 'change_sed_delimiter',
- 'copy_mode',
- 'filter_file',
- 'find',
- 'find_headers',
- 'find_all_headers',
- 'find_libraries',
- 'find_system_libraries',
- 'fix_darwin_install_name',
- 'force_remove',
- 'force_symlink',
- 'getuid',
- 'chgrp',
- 'chmod_x',
- 'copy',
- 'install',
- 'copy_tree',
- 'install_tree',
- 'is_exe',
- 'join_path',
- 'last_modification_time_recursive',
- 'library_extensions',
- 'mkdirp',
- 'partition_path',
- 'prefixes',
- 'remove_dead_links',
- 'remove_directory_contents',
- 'remove_if_dead_link',
- 'remove_linked_tree',
- 'rename',
- 'set_executable',
- 'set_install_permissions',
- 'touch',
- 'touchp',
- 'traverse_tree',
- 'unset_executable_mode',
- 'working_dir',
- 'keep_modification_time'
+ "FileFilter",
+ "FileList",
+ "HeaderList",
+ "LibraryList",
+ "ancestor",
+ "can_access",
+ "change_sed_delimiter",
+ "copy_mode",
+ "filter_file",
+ "find",
+ "find_headers",
+ "find_all_headers",
+ "find_libraries",
+ "find_system_libraries",
+ "fix_darwin_install_name",
+ "force_remove",
+ "force_symlink",
+ "getuid",
+ "chgrp",
+ "chmod_x",
+ "copy",
+ "install",
+ "copy_tree",
+ "install_tree",
+ "is_exe",
+ "join_path",
+ "last_modification_time_recursive",
+ "library_extensions",
+ "mkdirp",
+ "partition_path",
+ "prefixes",
+ "remove_dead_links",
+ "remove_directory_contents",
+ "remove_if_dead_link",
+ "remove_linked_tree",
+ "rename",
+ "set_executable",
+ "set_install_permissions",
+ "touch",
+ "touchp",
+ "traverse_tree",
+ "unset_executable_mode",
+ "working_dir",
+ "keep_modification_time",
]
def getuid():
if is_windows:
import ctypes
+
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
return 1
return 0
@@ -111,7 +112,7 @@ def path_contains_subdirectory(path, root):
#: This generates the library filenames that may appear on any OS.
-library_extensions = ['a', 'la', 'so', 'tbd', 'dylib']
+library_extensions = ["a", "la", "so", "tbd", "dylib"]
def possible_library_filenames(library_names):
@@ -120,8 +121,9 @@ def possible_library_filenames(library_names):
"""
lib_extensions = library_extensions
return set(
- '.'.join((lib, extension)) for lib, extension in
- itertools.product(library_names, lib_extensions))
+ ".".join((lib, extension))
+ for lib, extension in itertools.product(library_names, lib_extensions)
+ )
def paths_containing_libs(paths, library_names):
@@ -174,19 +176,21 @@ def filter_file(regex, repl, *filenames, **kwargs):
file is copied verbatim. Default is to filter until the end of the
file.
"""
- string = kwargs.get('string', False)
- backup = kwargs.get('backup', False)
- ignore_absent = kwargs.get('ignore_absent', False)
- stop_at = kwargs.get('stop_at', None)
+ string = kwargs.get("string", False)
+ backup = kwargs.get("backup", False)
+ ignore_absent = kwargs.get("ignore_absent", False)
+ stop_at = kwargs.get("stop_at", None)
# Allow strings to use \1, \2, etc. for replacement, like sed
if not callable(repl):
- unescaped = repl.replace(r'\\', '\\')
+ unescaped = repl.replace(r"\\", "\\")
def replace_groups_with_groupid(m):
def groupid_to_group(x):
return m.group(int(x.group(1)))
- return re.sub(r'\\([1-9])', groupid_to_group, unescaped)
+
+ return re.sub(r"\\([1-9])", groupid_to_group, unescaped)
+
repl = replace_groups_with_groupid
if string:
@@ -217,16 +221,16 @@ def filter_file(regex, repl, *filenames, **kwargs):
try:
extra_kwargs = {}
if sys.version_info > (3, 0):
- extra_kwargs = {'errors': 'surrogateescape'}
+ extra_kwargs = {"errors": "surrogateescape"}
# Open as a text file and filter until the end of the file is
# reached or we found a marker in the line if it was specified
- with open(tmp_filename, mode='r', **extra_kwargs) as input_file:
- with open(filename, mode='w', **extra_kwargs) as output_file:
+ with open(tmp_filename, mode="r", **extra_kwargs) as input_file:
+ with open(filename, mode="w", **extra_kwargs) as output_file:
# Using iter and readline is a workaround needed not to
# disable input_file.tell(), which will happen if we call
# input_file.next() implicitly via the for loop
- for line in iter(input_file.readline, ''):
+ for line in iter(input_file.readline, ""):
if stop_at is not None:
current_position = input_file.tell()
if stop_at == line.strip():
@@ -240,9 +244,9 @@ def filter_file(regex, repl, *filenames, **kwargs):
# If we stopped filtering at some point, reopen the file in
# binary mode and copy verbatim the remaining part
if current_position and stop_at:
- with open(tmp_filename, mode='rb') as input_file:
+ with open(tmp_filename, mode="rb") as input_file:
input_file.seek(current_position)
- with open(filename, mode='ab') as output_file:
+ with open(filename, mode="ab") as output_file:
output_file.writelines(input_file.readlines())
except BaseException:
@@ -281,26 +285,26 @@ def change_sed_delimiter(old_delim, new_delim, *filenames):
new_delim (str): The delimiter to replace with
*filenames: One or more files to search and replace
"""
- assert(len(old_delim) == 1)
- assert(len(new_delim) == 1)
+ assert len(old_delim) == 1
+ assert len(new_delim) == 1
# TODO: handle these cases one day?
- assert(old_delim != '"')
- assert(old_delim != "'")
- assert(new_delim != '"')
- assert(new_delim != "'")
+ assert old_delim != '"'
+ assert old_delim != "'"
+ assert new_delim != '"'
+ assert new_delim != "'"
whole_lines = "^s@([^@]*)@(.*)@[gIp]$"
- whole_lines = whole_lines.replace('@', old_delim)
+ whole_lines = whole_lines.replace("@", old_delim)
single_quoted = r"'s@((?:\\'|[^@'])*)@((?:\\'|[^'])*)@[gIp]?'"
- single_quoted = single_quoted.replace('@', old_delim)
+ single_quoted = single_quoted.replace("@", old_delim)
double_quoted = r'"s@((?:\\"|[^@"])*)@((?:\\"|[^"])*)@[gIp]?"'
- double_quoted = double_quoted.replace('@', old_delim)
+ double_quoted = double_quoted.replace("@", old_delim)
- repl = r's@\1@\2@g'
- repl = repl.replace('@', new_delim)
+ repl = r"s@\1@\2@g"
+ repl = repl.replace("@", new_delim)
filenames = path_to_os_path(*filenames)
for f in filenames:
filter_file(whole_lines, repl, f)
@@ -324,8 +328,7 @@ def exploding_archive_catch(stage):
# Expand all tarballs in their own directory to contain
# exploding tarballs.
- tarball_container = os.path.join(stage.path,
- "spack-expanded-archive")
+ tarball_container = os.path.join(stage.path, "spack-expanded-archive")
mkdirp(tarball_container)
orig_dir = os.getcwd()
os.chdir(tarball_container)
@@ -349,7 +352,7 @@ def exploding_archive_handler(tarball_container, stage):
where archive is being expanded
"""
files = os.listdir(tarball_container)
- non_hidden = [f for f in files if not f.startswith('.')]
+ non_hidden = [f for f in files if not f.startswith(".")]
if len(non_hidden) == 1:
src = os.path.join(tarball_container, non_hidden[0])
if os.path.isdir(src):
@@ -377,11 +380,13 @@ def get_owner_uid(path, err_msg=None):
p_stat = os.stat(path)
if p_stat.st_mode & stat.S_IRWXU != stat.S_IRWXU:
- tty.error("Expected {0} to support mode {1}, but it is {2}"
- .format(path, stat.S_IRWXU, p_stat.st_mode))
+ tty.error(
+ "Expected {0} to support mode {1}, but it is {2}".format(
+ path, stat.S_IRWXU, p_stat.st_mode
+ )
+ )
- raise OSError(errno.EACCES,
- err_msg.format(path, path) if err_msg else "")
+ raise OSError(errno.EACCES, err_msg.format(path, path) if err_msg else "")
else:
p_stat = os.stat(path)
@@ -389,8 +394,8 @@ def get_owner_uid(path, err_msg=None):
owner_uid = p_stat.st_uid
else:
sid = win32security.GetFileSecurity(
- path, win32security.OWNER_SECURITY_INFORMATION) \
- .GetSecurityDescriptorOwner()
+ path, win32security.OWNER_SECURITY_INFORMATION
+ ).GetSecurityDescriptorOwner()
owner_uid = win32security.LookupAccountSid(None, sid)[0]
return owner_uid
@@ -460,8 +465,7 @@ def chmod_x(entry, perms):
@system_path_filter
def copy_mode(src, dest):
- """Set the mode of dest to that of src unless it is a link.
- """
+ """Set the mode of dest to that of src unless it is a link."""
if os.path.islink(dest):
return
src_mode = os.stat(src).st_mode
@@ -504,17 +508,17 @@ def copy(src, dest, _permissions=False):
not a directory
"""
if _permissions:
- tty.debug('Installing {0} to {1}'.format(src, dest))
+ tty.debug("Installing {0} to {1}".format(src, dest))
else:
- tty.debug('Copying {0} to {1}'.format(src, dest))
+ tty.debug("Copying {0} to {1}".format(src, dest))
files = glob.glob(src)
if not files:
raise IOError("No such file or directory: '{0}'".format(src))
if len(files) > 1 and not os.path.isdir(dest):
raise ValueError(
- "'{0}' matches multiple files but '{1}' is not a directory".format(
- src, dest))
+ "'{0}' matches multiple files but '{1}' is not a directory".format(src, dest)
+ )
for src in files:
# Expand dest to its eventual full path if it is a directory.
@@ -592,9 +596,9 @@ def copy_tree(src, dest, symlinks=True, ignore=None, _permissions=False):
ValueError: if *src* is a parent directory of *dest*
"""
if _permissions:
- tty.debug('Installing {0} to {1}'.format(src, dest))
+ tty.debug("Installing {0} to {1}".format(src, dest))
else:
- tty.debug('Copying {0} to {1}'.format(src, dest))
+ tty.debug("Copying {0} to {1}".format(src, dest))
abs_dest = os.path.abspath(dest)
if not abs_dest.endswith(os.path.sep):
@@ -612,15 +616,20 @@ def copy_tree(src, dest, symlinks=True, ignore=None, _permissions=False):
# Stop early to avoid unnecessary recursion if being asked to copy
# from a parent directory.
if abs_dest.startswith(abs_src):
- raise ValueError('Cannot copy ancestor directory {0} into {1}'.
- format(abs_src, abs_dest))
+ raise ValueError(
+ "Cannot copy ancestor directory {0} into {1}".format(abs_src, abs_dest)
+ )
mkdirp(abs_dest)
- for s, d in traverse_tree(abs_src, abs_dest, order='pre',
- follow_symlinks=not symlinks,
- ignore=ignore,
- follow_nonexisting=True):
+ for s, d in traverse_tree(
+ abs_src,
+ abs_dest,
+ order="pre",
+ follow_symlinks=not symlinks,
+ ignore=ignore,
+ follow_nonexisting=True,
+ ):
if os.path.islink(s):
link_target = resolve_link_target_relative_to_the_link(s)
if symlinks:
@@ -628,8 +637,7 @@ def copy_tree(src, dest, symlinks=True, ignore=None, _permissions=False):
if os.path.isabs(target):
new_target = re.sub(abs_src, abs_dest, target)
if new_target != target:
- tty.debug("Redirecting link {0} to {1}"
- .format(target, new_target))
+ tty.debug("Redirecting link {0} to {1}".format(target, new_target))
target = new_target
symlink(target, d)
@@ -679,10 +687,9 @@ def get_filetype(path_name):
"""
Return the output of file path_name as a string to identify file type.
"""
- file = Executable('file')
- file.add_default_env('LC_ALL', 'C')
- output = file('-b', '-h', '%s' % path_name,
- output=str, error=str)
+ file = Executable("file")
+ file.add_default_env("LC_ALL", "C")
+ output = file("-b", "-h", "%s" % path_name, output=str, error=str)
return output.strip()
@@ -703,8 +710,8 @@ def is_nonsymlink_exe_with_shebang(path):
return False
# Should start with a shebang
- with open(path, 'rb') as f:
- return f.read(2) == b'#!'
+ with open(path, "rb") as f:
+ return f.read(2) == b"#!"
except (IOError, OSError):
return False
@@ -736,16 +743,16 @@ def mkdirp(*paths, **kwargs):
intermediate get the same permissions specified in the arguments to
mkdirp -- default value is 'args'
"""
- mode = kwargs.get('mode', None)
- group = kwargs.get('group', None)
- default_perms = kwargs.get('default_perms', 'args')
+ mode = kwargs.get("mode", None)
+ group = kwargs.get("group", None)
+ default_perms = kwargs.get("default_perms", "args")
paths = path_to_os_path(*paths)
for path in paths:
if not os.path.exists(path):
try:
# detect missing intermediate folders
intermediate_folders = []
- last_parent = ''
+ last_parent = ""
intermediate_path = os.path.dirname(path)
@@ -772,10 +779,10 @@ def mkdirp(*paths, **kwargs):
# ones and if mode_intermediate has been specified, otherwise
# intermediate folders list is not populated at all and default
# OS mode will be used
- if default_perms == 'args':
+ if default_perms == "args":
intermediate_mode = mode
intermediate_group = group
- elif default_perms == 'parents':
+ elif default_perms == "parents":
stat_info = os.stat(last_parent)
intermediate_mode = stat_info.st_mode
intermediate_group = stat_info.st_gid
@@ -788,10 +795,8 @@ def mkdirp(*paths, **kwargs):
if intermediate_mode is not None:
os.chmod(intermediate_path, intermediate_mode)
if intermediate_group is not None:
- chgrp_if_not_world_writable(intermediate_path,
- intermediate_group)
- os.chmod(intermediate_path,
- intermediate_mode) # reset sticky bit after
+ chgrp_if_not_world_writable(intermediate_path, intermediate_group)
+ os.chmod(intermediate_path, intermediate_mode) # reset sticky bit after
except OSError as e:
if e.errno != errno.EEXIST or not os.path.isdir(path):
@@ -803,7 +808,7 @@ def mkdirp(*paths, **kwargs):
@system_path_filter
def force_remove(*paths):
"""Remove files without printing errors. Like ``rm -f``, does NOT
- remove directories."""
+ remove directories."""
for path in paths:
try:
os.remove(path)
@@ -814,7 +819,7 @@ def force_remove(*paths):
@contextmanager
@system_path_filter
def working_dir(dirname, **kwargs):
- if kwargs.get('create', False):
+ if kwargs.get("create", False):
mkdirp(dirname)
orig_dir = os.getcwd()
@@ -847,19 +852,17 @@ def replace_directory_transaction(directory_name):
# Check the input is indeed a directory with absolute path.
# Raise before anything is done to avoid moving the wrong directory
directory_name = os.path.abspath(directory_name)
- assert os.path.isdir(directory_name), 'Not a directory: ' + directory_name
+ assert os.path.isdir(directory_name), "Not a directory: " + directory_name
# Note: directory_name is normalized here, meaning the trailing slash is dropped,
# so dirname is the directory's parent not the directory itself.
- tmpdir = tempfile.mkdtemp(
- dir=os.path.dirname(directory_name),
- prefix='.backup')
+ tmpdir = tempfile.mkdtemp(dir=os.path.dirname(directory_name), prefix=".backup")
# We have to jump through hoops to support Windows, since
# os.rename(directory_name, tmpdir) errors there.
- backup_dir = os.path.join(tmpdir, 'backup')
+ backup_dir = os.path.join(tmpdir, "backup")
os.rename(directory_name, backup_dir)
- tty.debug('Directory moved [src={0}, dest={1}]'.format(directory_name, backup_dir))
+ tty.debug("Directory moved [src={0}, dest={1}]".format(directory_name, backup_dir))
try:
yield backup_dir
@@ -874,12 +877,12 @@ def replace_directory_transaction(directory_name):
except Exception as outer_exception:
raise CouldNotRestoreDirectoryBackup(inner_exception, outer_exception)
- tty.debug('Directory recovered [{0}]'.format(directory_name))
+ tty.debug("Directory recovered [{0}]".format(directory_name))
raise
else:
# Otherwise delete the temporary directory
shutil.rmtree(tmpdir, ignore_errors=True)
- tty.debug('Temporary directory deleted [{0}]'.format(tmpdir))
+ tty.debug("Temporary directory deleted [{0}]".format(tmpdir))
@system_path_filter
@@ -904,7 +907,7 @@ def hash_directory(directory, ignore=[]):
# TODO: if caching big files becomes an issue, convert this to
# TODO: read in chunks. Currently it's used only for testing
# TODO: purposes.
- with open(filename, 'rb') as f:
+ with open(filename, "rb") as f:
md5_hash.update(f.read())
return md5_hash.hexdigest()
@@ -916,15 +919,15 @@ def write_tmp_and_move(filename):
"""Write to a temporary file, then move into place."""
dirname = os.path.dirname(filename)
basename = os.path.basename(filename)
- tmp = os.path.join(dirname, '.%s.tmp' % basename)
- with open(tmp, 'w') as f:
+ tmp = os.path.join(dirname, ".%s.tmp" % basename)
+ with open(tmp, "w") as f:
yield f
shutil.move(tmp, filename)
@contextmanager
@system_path_filter
-def open_if_filename(str_or_file, mode='r'):
+def open_if_filename(str_or_file, mode="r"):
"""Takes either a path or a file object, and opens it if it is a path.
If it's a file object, just yields the file object.
@@ -940,9 +943,9 @@ def open_if_filename(str_or_file, mode='r'):
def touch(path):
"""Creates an empty file at the specified path."""
if is_windows:
- perms = (os.O_WRONLY | os.O_CREAT)
+ perms = os.O_WRONLY | os.O_CREAT
else:
- perms = (os.O_WRONLY | os.O_CREAT | os.O_NONBLOCK | os.O_NOCTTY)
+ perms = os.O_WRONLY | os.O_CREAT | os.O_NONBLOCK | os.O_NOCTTY
fd = None
try:
fd = os.open(path, perms)
@@ -954,8 +957,7 @@ def touch(path):
@system_path_filter
def touchp(path):
- """Like ``touch``, but creates any parent directories needed for the file.
- """
+ """Like ``touch``, but creates any parent directories needed for the file."""
mkdirp(os.path.dirname(path))
touch(path)
@@ -990,8 +992,7 @@ def ancestor(dir, n=1):
def get_single_file(directory):
fnames = os.listdir(directory)
if len(fnames) != 1:
- raise ValueError("Expected exactly 1 file, got {0}"
- .format(str(len(fnames))))
+ raise ValueError("Expected exactly 1 file, got {0}".format(str(len(fnames))))
return fnames[0]
@@ -1025,7 +1026,7 @@ def can_access(file_name):
@system_path_filter
-def traverse_tree(source_root, dest_root, rel_path='', **kwargs):
+def traverse_tree(source_root, dest_root, rel_path="", **kwargs):
"""Traverse two filesystem trees simultaneously.
Walks the LinkTree directory in pre or post order. Yields each
@@ -1057,16 +1058,16 @@ def traverse_tree(source_root, dest_root, rel_path='', **kwargs):
``src`` that do not exit in ``dest``. Default is True
follow_links (bool): Whether to descend into symlinks in ``src``
"""
- follow_nonexisting = kwargs.get('follow_nonexisting', True)
- follow_links = kwargs.get('follow_link', False)
+ follow_nonexisting = kwargs.get("follow_nonexisting", True)
+ follow_links = kwargs.get("follow_link", False)
# Yield in pre or post order?
- order = kwargs.get('order', 'pre')
- if order not in ('pre', 'post'):
+ order = kwargs.get("order", "pre")
+ if order not in ("pre", "post"):
raise ValueError("Order must be 'pre' or 'post'.")
# List of relative paths to ignore under the src root.
- ignore = kwargs.get('ignore', None) or (lambda filename: False)
+ ignore = kwargs.get("ignore", None) or (lambda filename: False)
# Don't descend into ignored directories
if ignore(rel_path):
@@ -1076,7 +1077,7 @@ def traverse_tree(source_root, dest_root, rel_path='', **kwargs):
dest_path = os.path.join(dest_root, rel_path)
# preorder yields directories before children
- if order == 'pre':
+ if order == "pre":
yield (source_path, dest_path)
for f in os.listdir(source_path):
@@ -1088,14 +1089,12 @@ def traverse_tree(source_root, dest_root, rel_path='', **kwargs):
# TODO: for symlinks, os.path.isdir looks for the link target. If the
# target is relative to the link, then that may not resolve properly
# relative to our cwd - see resolve_link_target_relative_to_the_link
- if os.path.isdir(source_child) and (
- follow_links or not os.path.islink(source_child)):
+ if os.path.isdir(source_child) and (follow_links or not os.path.islink(source_child)):
# When follow_nonexisting isn't set, don't descend into dirs
# in source that do not exist in dest
if follow_nonexisting or os.path.exists(dest_child):
- tuples = traverse_tree(
- source_root, dest_root, rel_child, **kwargs)
+ tuples = traverse_tree(source_root, dest_root, rel_child, **kwargs)
for t in tuples:
yield t
@@ -1103,7 +1102,7 @@ def traverse_tree(source_root, dest_root, rel_path='', **kwargs):
elif not ignore(os.path.join(rel_path, f)):
yield (source_child, dest_child)
- if order == 'post':
+ if order == "post":
yield (source_path, dest_path)
@@ -1134,7 +1133,7 @@ def lexists_islink_isdir(path):
return True, is_link, is_dir
-def visit_directory_tree(root, visitor, rel_path='', depth=0):
+def visit_directory_tree(root, visitor, rel_path="", depth=0):
"""
Recurses the directory root depth-first through a visitor pattern
@@ -1172,8 +1171,7 @@ def visit_directory_tree(root, visitor, rel_path='', depth=0):
try:
isdir = f.is_dir()
except OSError as e:
- if is_windows and hasattr(e, 'winerror')\
- and e.winerror == 5 and islink:
+ if is_windows and hasattr(e, "winerror") and e.winerror == 5 and islink:
# if path is a symlink, determine destination and
# evaluate file vs directory
link_target = resolve_link_target_relative_to_the_link(f)
@@ -1221,9 +1219,11 @@ def set_executable(path):
def last_modification_time_recursive(path):
path = os.path.abspath(path)
times = [os.stat(path).st_mtime]
- times.extend(os.stat(os.path.join(root, name)).st_mtime
- for root, dirs, files in os.walk(path)
- for name in dirs + files)
+ times.extend(
+ os.stat(os.path.join(root, name)).st_mtime
+ for root, dirs, files in os.walk(path)
+ for name in dirs + files
+ )
return max(times)
@@ -1282,18 +1282,23 @@ def readonly_file_handler(ignore_errors=False):
and will raise a separate error if it is ever invoked (by accident)
on a non-Windows system.
"""
+
def error_remove_readonly(func, path, exc):
if not is_windows:
raise RuntimeError("This method should only be invoked on Windows")
excvalue = exc[1]
- if is_windows and func in (os.rmdir, os.remove, os.unlink) and\
- excvalue.errno == errno.EACCES:
+ if (
+ is_windows
+ and func in (os.rmdir, os.remove, os.unlink)
+ and excvalue.errno == errno.EACCES
+ ):
# change the file to be readable,writable,executable: 0777
os.chmod(path, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
# retry
func(path)
elif not ignore_errors:
raise
+
return error_remove_readonly
@@ -1309,13 +1314,13 @@ def remove_linked_tree(path):
Parameters:
path (str): Directory to be removed
"""
- kwargs = {'ignore_errors': True}
+ kwargs = {"ignore_errors": True}
# Windows readonly files cannot be removed by Python
# directly.
if is_windows:
- kwargs['ignore_errors'] = False
- kwargs['onerror'] = readonly_file_handler(ignore_errors=True)
+ kwargs["ignore_errors"] = False
+ kwargs["onerror"] = readonly_file_handler(ignore_errors=True)
if os.path.exists(path):
if os.path.islink(path):
@@ -1344,9 +1349,7 @@ def safe_remove(*files_or_dirs):
# Sort them so that shorter paths like "/foo/bar" come before
# nested paths like "/foo/bar/baz.yaml". This simplifies the
# handling of temporary copies below
- sorted_matches = sorted([
- os.path.abspath(x) for x in itertools.chain(*glob_matches)
- ], key=len)
+ sorted_matches = sorted([os.path.abspath(x) for x in itertools.chain(*glob_matches)], key=len)
# Copy files and directories in a temporary location
removed, dst_root = {}, tempfile.mkdtemp()
@@ -1361,7 +1364,7 @@ def safe_remove(*files_or_dirs):
continue
# The monotonic ID is a simple way to make the filename
# or directory name unique in the temporary folder
- basename = os.path.basename(file_or_dir) + '-{0}'.format(id)
+ basename = os.path.basename(file_or_dir) + "-{0}".format(id)
temporary_path = os.path.join(dst_root, basename)
shutil.move(file_or_dir, temporary_path)
removed[file_or_dir] = temporary_path
@@ -1390,11 +1393,11 @@ def fix_darwin_install_name(path):
libs = glob.glob(join_path(path, "*.dylib"))
for lib in libs:
# fix install name first:
- install_name_tool = Executable('install_name_tool')
- install_name_tool('-id', lib, lib)
- otool = Executable('otool')
- long_deps = otool('-L', lib, output=str).split('\n')
- deps = [dep.partition(' ')[0][1::] for dep in long_deps[2:-1]]
+ install_name_tool = Executable("install_name_tool")
+ install_name_tool("-id", lib, lib)
+ otool = Executable("otool")
+ long_deps = otool("-L", lib, output=str).split("\n")
+ deps = [dep.partition(" ")[0][1::] for dep in long_deps[2:-1]]
# fix all dependencies:
for dep in deps:
for loc in libs:
@@ -1404,7 +1407,7 @@ def fix_darwin_install_name(path):
# but we don't know builddir (nor how symbolic links look
# in builddir). We thus only compare the basenames.
if os.path.basename(dep) == os.path.basename(loc):
- install_name_tool('-change', dep, loc, lib)
+ install_name_tool("-change", dep, loc, lib)
break
@@ -1534,9 +1537,7 @@ class FileList(Sequence):
Returns:
list: A list of directories
"""
- return list(dedupe(
- os.path.dirname(x) for x in self.files if os.path.dirname(x)
- ))
+ return list(dedupe(os.path.dirname(x) for x in self.files if os.path.dirname(x)))
@property
def basenames(self):
@@ -1572,11 +1573,11 @@ class FileList(Sequence):
def __len__(self):
return len(self.files)
- def joined(self, separator=' '):
+ def joined(self, separator=" "):
return separator.join(self.files)
def __repr__(self):
- return self.__class__.__name__ + '(' + repr(self.files) + ')'
+ return self.__class__.__name__ + "(" + repr(self.files) + ")"
def __str__(self):
return self.joined()
@@ -1593,7 +1594,7 @@ class HeaderList(FileList):
# as "xinclude" will cause false matches.
# Avoid matching paths such as <prefix>/include/something/detail/include,
# e.g. in the CUDA Toolkit which ships internal libc++ headers.
- include_regex = re.compile(r'(.*?)(\binclude\b)(.*)')
+ include_regex = re.compile(r"(.*?)(\binclude\b)(.*)")
def __init__(self, files):
super(HeaderList, self).__init__(files)
@@ -1658,7 +1659,7 @@ class HeaderList(FileList):
name = x
# Valid extensions include: ['.cuh', '.hpp', '.hh', '.h']
- for ext in ['.cuh', '.hpp', '.hh', '.h']:
+ for ext in [".cuh", ".hpp", ".hh", ".h"]:
i = name.rfind(ext)
if i != -1:
names.append(name[:i])
@@ -1680,7 +1681,7 @@ class HeaderList(FileList):
Returns:
str: A joined list of include flags
"""
- return ' '.join(['-I' + x for x in self.directories])
+ return " ".join(["-I" + x for x in self.directories])
@property
def macro_definitions(self):
@@ -1695,7 +1696,7 @@ class HeaderList(FileList):
Returns:
str: A joined list of macro definitions
"""
- return ' '.join(self._macro_definitions)
+ return " ".join(self._macro_definitions)
@property
def cpp_flags(self):
@@ -1713,7 +1714,7 @@ class HeaderList(FileList):
"""
cpp_flags = self.include_flags
if self.macro_definitions:
- cpp_flags += ' ' + self.macro_definitions
+ cpp_flags += " " + self.macro_definitions
return cpp_flags
def add_macro(self, macro):
@@ -1752,24 +1753,30 @@ def find_headers(headers, root, recursive=False):
if isinstance(headers, six.string_types):
headers = [headers]
elif not isinstance(headers, Sequence):
- message = '{0} expects a string or sequence of strings as the '
- message += 'first argument [got {1} instead]'
+ message = "{0} expects a string or sequence of strings as the "
+ message += "first argument [got {1} instead]"
message = message.format(find_headers.__name__, type(headers))
raise TypeError(message)
# Construct the right suffix for the headers
suffixes = [
# C
- 'h',
+ "h",
# C++
- 'hpp', 'hxx', 'hh', 'H', 'txx', 'tcc', 'icc',
+ "hpp",
+ "hxx",
+ "hh",
+ "H",
+ "txx",
+ "tcc",
+ "icc",
# Fortran
- 'mod', 'inc',
+ "mod",
+ "inc",
]
# List of headers we are searching with suffixes
- headers = ['{0}.{1}'.format(header, suffix) for header in headers
- for suffix in suffixes]
+ headers = ["{0}.{1}".format(header, suffix) for header in headers for suffix in suffixes]
return HeaderList(find(root, headers, recursive))
@@ -1785,7 +1792,7 @@ def find_all_headers(root):
Returns:
List of all headers found in ``root`` and subdirectories.
"""
- return find_headers('*', root=root, recursive=True)
+ return find_headers("*", root=root, recursive=True)
class LibraryList(FileList):
@@ -1819,11 +1826,11 @@ class LibraryList(FileList):
for x in self.basenames:
name = x
- if x.startswith('lib'):
+ if x.startswith("lib"):
name = x[3:]
# Valid extensions include: ['.dylib', '.so', '.a']
- for ext in ['.dylib', '.so', '.a']:
+ for ext in [".dylib", ".so", ".a"]:
i = name.rfind(ext)
if i != -1:
names.append(name[:i])
@@ -1845,7 +1852,7 @@ class LibraryList(FileList):
Returns:
str: A joined list of search flags
"""
- return ' '.join(['-L' + x for x in self.directories])
+ return " ".join(["-L" + x for x in self.directories])
@property
def link_flags(self):
@@ -1858,7 +1865,7 @@ class LibraryList(FileList):
Returns:
str: A joined list of link flags
"""
- return ' '.join(['-l' + name for name in self.names])
+ return " ".join(["-l" + name for name in self.names])
@property
def ld_flags(self):
@@ -1871,7 +1878,7 @@ class LibraryList(FileList):
Returns:
str: A joined list of search flags and link flags
"""
- return self.search_flags + ' ' + self.link_flags
+ return self.search_flags + " " + self.link_flags
def find_system_libraries(libraries, shared=True):
@@ -1908,20 +1915,19 @@ def find_system_libraries(libraries, shared=True):
if isinstance(libraries, six.string_types):
libraries = [libraries]
elif not isinstance(libraries, Sequence):
- message = '{0} expects a string or sequence of strings as the '
- message += 'first argument [got {1} instead]'
- message = message.format(find_system_libraries.__name__,
- type(libraries))
+ message = "{0} expects a string or sequence of strings as the "
+ message += "first argument [got {1} instead]"
+ message = message.format(find_system_libraries.__name__, type(libraries))
raise TypeError(message)
libraries_found = []
search_locations = [
- '/lib64',
- '/lib',
- '/usr/lib64',
- '/usr/lib',
- '/usr/local/lib64',
- '/usr/local/lib',
+ "/lib64",
+ "/lib",
+ "/usr/lib64",
+ "/usr/lib",
+ "/usr/local/lib64",
+ "/usr/local/lib",
]
for library in libraries:
@@ -1962,24 +1968,23 @@ def find_libraries(libraries, root, shared=True, recursive=False):
if isinstance(libraries, six.string_types):
libraries = [libraries]
elif not isinstance(libraries, Sequence):
- message = '{0} expects a string or sequence of strings as the '
- message += 'first argument [got {1} instead]'
+ message = "{0} expects a string or sequence of strings as the "
+ message += "first argument [got {1} instead]"
message = message.format(find_libraries.__name__, type(libraries))
raise TypeError(message)
# Construct the right suffix for the library
if shared:
# Used on both Linux and macOS
- suffixes = ['so']
- if sys.platform == 'darwin':
+ suffixes = ["so"]
+ if sys.platform == "darwin":
# Only used on macOS
- suffixes.append('dylib')
+ suffixes.append("dylib")
else:
- suffixes = ['a']
+ suffixes = ["a"]
# List of libraries we are searching with suffixes
- libraries = ['{0}.{1}'.format(lib, suffix) for lib in libraries
- for suffix in suffixes]
+ libraries = ["{0}.{1}".format(lib, suffix) for lib in libraries for suffix in suffixes]
if not recursive:
# If not recursive, look for the libraries directly in root
@@ -1989,7 +1994,7 @@ def find_libraries(libraries, root, shared=True, recursive=False):
# perform first non-recursive search in root/lib then in root/lib64 and
# finally search all of root recursively. The search stops when the first
# match is found.
- for subdir in ('lib', 'lib64'):
+ for subdir in ("lib", "lib64"):
dirname = join_path(root, subdir)
if not os.path.isdir(dirname):
continue
@@ -2045,10 +2050,11 @@ def files_in(*search_paths):
"""
files = []
for d in filter(can_access_dir, search_paths):
- files.extend(filter(
- lambda x: os.path.isfile(x[1]),
- [(f, os.path.join(d, f)) for f in os.listdir(d)]
- ))
+ files.extend(
+ filter(
+ lambda x: os.path.isfile(x[1]), [(f, os.path.join(d, f)) for f in os.listdir(d)]
+ )
+ )
return files
@@ -2078,7 +2084,7 @@ def search_paths_for_executables(*path_hints):
path = os.path.abspath(path)
executable_paths.append(path)
- bin_dir = os.path.join(path, 'bin')
+ bin_dir = os.path.join(path, "bin")
if os.path.isdir(bin_dir):
executable_paths.append(bin_dir)
@@ -2106,11 +2112,11 @@ def search_paths_for_libraries(*path_hints):
path = os.path.abspath(path)
library_paths.append(path)
- lib_dir = os.path.join(path, 'lib')
+ lib_dir = os.path.join(path, "lib")
if os.path.isdir(lib_dir):
library_paths.append(lib_dir)
- lib64_dir = os.path.join(path, 'lib64')
+ lib64_dir = os.path.join(path, "lib64")
if os.path.isdir(lib64_dir):
library_paths.append(lib64_dir)
@@ -2140,13 +2146,13 @@ def partition_path(path, entry=None):
# Handle drive letters e.g. C:/ on Windows
entries[0] = entries[0] + sep
i = entries.index(entry)
- if '' in entries:
+ if "" in entries:
i -= 1
- return paths[:i], paths[i], paths[i + 1:]
+ return paths[:i], paths[i], paths[i + 1 :]
except ValueError:
pass
- return paths, '', []
+ return paths, "", []
@system_path_filter
@@ -2181,7 +2187,7 @@ def prefixes(path):
elif parts[0].endswith(":"):
# Handle drive letters e.g. C:/ on Windows
parts[0] = parts[0] + sep
- paths = [os.path.join(*parts[:i + 1]) for i in range(len(parts))]
+ paths = [os.path.join(*parts[: i + 1]) for i in range(len(parts))]
try:
paths.remove(sep)
@@ -2189,7 +2195,7 @@ def prefixes(path):
pass
try:
- paths.remove('.')
+ paths.remove(".")
except ValueError:
pass
diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py
index 463310b7a2..314566e97a 100644
--- a/lib/spack/llnl/util/lang.py
+++ b/lib/spack/llnl/util/lang.py
@@ -21,7 +21,7 @@ from six import string_types
from llnl.util.compat import MutableMapping, MutableSequence, zip_longest
# Ignore emacs backups when listing modules
-ignore_modules = [r'^\.#', '~$']
+ignore_modules = [r"^\.#", "~$"]
def index_by(objects, *funcs):
@@ -91,9 +91,9 @@ def index_by(objects, *funcs):
def caller_locals():
"""This will return the locals of the *parent* of the caller.
- This allows a function to insert variables into its caller's
- scope. Yes, this is some black magic, and yes it's useful
- for implementing things like depends_on and provides.
+ This allows a function to insert variables into its caller's
+ scope. Yes, this is some black magic, and yes it's useful
+ for implementing things like depends_on and provides.
"""
# Passing zero here skips line context for speed.
stack = inspect.stack(0)
@@ -105,7 +105,7 @@ def caller_locals():
def get_calling_module_name():
"""Make sure that the caller is a class definition, and return the
- enclosing module's name.
+ enclosing module's name.
"""
# Passing zero here skips line context for speed.
stack = inspect.stack(0)
@@ -115,12 +115,13 @@ def get_calling_module_name():
finally:
del stack
- if '__module__' not in caller_locals:
- raise RuntimeError("Must invoke get_calling_module_name() "
- "from inside a class definition!")
+ if "__module__" not in caller_locals:
+ raise RuntimeError(
+ "Must invoke get_calling_module_name() " "from inside a class definition!"
+ )
- module_name = caller_locals['__module__']
- base_name = module_name.split('.')[-1]
+ module_name = caller_locals["__module__"]
+ base_name = module_name.split(".")[-1]
return base_name
@@ -128,8 +129,8 @@ def attr_required(obj, attr_name):
"""Ensure that a class has a required attribute."""
if not hasattr(obj, attr_name):
raise RequiredAttributeError(
- "No required attribute '%s' in class '%s'"
- % (attr_name, obj.__class__.__name__))
+ "No required attribute '%s' in class '%s'" % (attr_name, obj.__class__.__name__)
+ )
def attr_setdefault(obj, name, value):
@@ -201,33 +202,35 @@ def memoized(func):
# TypeError is raised when indexing into a dict if the key is unhashable.
raise six.raise_from(
UnhashableArguments(
- "args + kwargs '{}' was not hashable for function '{}'"
- .format(key, func.__name__),
+ "args + kwargs '{}' was not hashable for function '{}'".format(
+ key, func.__name__
+ ),
),
- e)
+ e,
+ )
return _memoized_function
def list_modules(directory, **kwargs):
"""Lists all of the modules, excluding ``__init__.py``, in a
- particular directory. Listed packages have no particular
- order."""
- list_directories = kwargs.setdefault('directories', True)
+ particular directory. Listed packages have no particular
+ order."""
+ list_directories = kwargs.setdefault("directories", True)
for name in os.listdir(directory):
- if name == '__init__.py':
+ if name == "__init__.py":
continue
path = os.path.join(directory, name)
if list_directories and os.path.isdir(path):
- init_py = os.path.join(path, '__init__.py')
+ init_py = os.path.join(path, "__init__.py")
if os.path.isfile(init_py):
yield name
- elif name.endswith('.py'):
+ elif name.endswith(".py"):
if not any(re.search(pattern, name) for pattern in ignore_modules):
- yield re.sub('.py$', '', name)
+ yield re.sub(".py$", "", name)
def decorator_with_or_without_args(decorator):
@@ -257,41 +260,34 @@ def decorator_with_or_without_args(decorator):
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.
+ 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.
+ 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
+ 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'):
+ 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("__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("__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()))
+ setter("__hash__", lambda self: hash(self._cmp_key()))
return cls
@@ -458,8 +454,7 @@ def lazy_lexicographic_ordering(cls, set_hash=True):
def le(self, other):
if self is other:
return True
- return (other is not None) and not lazy_lt(other._cmp_iter,
- self._cmp_iter)
+ return (other is not None) and not lazy_lt(other._cmp_iter, self._cmp_iter)
def ge(self, other):
if self is other:
@@ -489,7 +484,7 @@ def lazy_lexicographic_ordering(cls, set_hash=True):
@lazy_lexicographic_ordering
class HashableMap(MutableMapping):
"""This is a hashable, comparable dictionary. Hash is performed on
- a tuple of the values in the dictionary."""
+ a tuple of the values in the dictionary."""
def __init__(self):
self.dict = {}
@@ -527,7 +522,7 @@ class HashableMap(MutableMapping):
def in_function(function_name):
"""True if the caller was called from some function with
- the supplied Name, False otherwise."""
+ the supplied Name, False otherwise."""
stack = inspect.stack()
try:
for elt in stack[2:]:
@@ -540,24 +535,25 @@ def in_function(function_name):
def check_kwargs(kwargs, fun):
"""Helper for making functions with kwargs. Checks whether the kwargs
- are empty after all of them have been popped off. If they're
- not, raises an error describing which kwargs are invalid.
+ are empty after all of them have been popped off. If they're
+ not, raises an error describing which kwargs are invalid.
- Example::
+ Example::
- def foo(self, **kwargs):
- x = kwargs.pop('x', None)
- y = kwargs.pop('y', None)
- z = kwargs.pop('z', None)
- check_kwargs(kwargs, self.foo)
+ def foo(self, **kwargs):
+ x = kwargs.pop('x', None)
+ y = kwargs.pop('y', None)
+ z = kwargs.pop('z', None)
+ check_kwargs(kwargs, self.foo)
- # This raises a TypeError:
- foo(w='bad kwarg')
+ # This raises a TypeError:
+ foo(w='bad kwarg')
"""
if kwargs:
raise TypeError(
"'%s' is an invalid keyword argument for function %s()."
- % (next(iter(kwargs)), fun.__name__))
+ % (next(iter(kwargs)), fun.__name__)
+ )
def match_predicate(*args):
@@ -573,6 +569,7 @@ def match_predicate(*args):
* any regex in a list or tuple of regexes matches.
* any predicate in args matches.
"""
+
def match(string):
for arg in args:
if isinstance(arg, string_types):
@@ -585,9 +582,11 @@ def match_predicate(*args):
if arg(string):
return True
else:
- raise ValueError("args to match_predicate must be regex, "
- "list of regexes, or callable.")
+ raise ValueError(
+ "args to match_predicate must be regex, " "list of regexes, or callable."
+ )
return False
+
return match
@@ -647,7 +646,7 @@ def pretty_date(time, now=None):
day_diff = diff.days
if day_diff < 0:
- return ''
+ return ""
if day_diff == 0:
if second_diff < 10:
@@ -705,43 +704,40 @@ def pretty_string_to_date(date_str, now=None):
now = now or datetime.now()
# datetime formats
- pattern[re.compile(r'^\d{4}$')] = lambda x: datetime.strptime(x, '%Y')
- pattern[re.compile(r'^\d{4}-\d{2}$')] = lambda x: datetime.strptime(
- x, '%Y-%m'
+ pattern[re.compile(r"^\d{4}$")] = lambda x: datetime.strptime(x, "%Y")
+ pattern[re.compile(r"^\d{4}-\d{2}$")] = lambda x: datetime.strptime(x, "%Y-%m")
+ pattern[re.compile(r"^\d{4}-\d{2}-\d{2}$")] = lambda x: datetime.strptime(x, "%Y-%m-%d")
+ pattern[re.compile(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$")] = lambda x: datetime.strptime(
+ x, "%Y-%m-%d %H:%M"
)
- pattern[re.compile(r'^\d{4}-\d{2}-\d{2}$')] = lambda x: datetime.strptime(
- x, '%Y-%m-%d'
+ pattern[re.compile(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$")] = lambda x: datetime.strptime(
+ x, "%Y-%m-%d %H:%M:%S"
)
- pattern[re.compile(r'^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$')] = \
- lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')
- pattern[re.compile(r'^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$')] = \
- lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
- pretty_regex = re.compile(
- r'(a|\d+)\s*(year|month|week|day|hour|minute|second)s?\s*ago')
+ pretty_regex = re.compile(r"(a|\d+)\s*(year|month|week|day|hour|minute|second)s?\s*ago")
def _n_xxx_ago(x):
how_many, time_period = pretty_regex.search(x).groups()
- how_many = 1 if how_many == 'a' else int(how_many)
+ how_many = 1 if how_many == "a" else int(how_many)
# timedelta natively supports time periods up to 'weeks'.
# To apply month or year we convert to 30 and 365 days
- if time_period == 'month':
+ if time_period == "month":
how_many *= 30
- time_period = 'day'
- elif time_period == 'year':
+ time_period = "day"
+ elif time_period == "year":
how_many *= 365
- time_period = 'day'
+ time_period = "day"
- kwargs = {(time_period + 's'): how_many}
+ kwargs = {(time_period + "s"): how_many}
return now - timedelta(**kwargs)
pattern[pretty_regex] = _n_xxx_ago
# yesterday
callback = lambda x: now - timedelta(days=1)
- pattern[re.compile('^yesterday$')] = callback
+ pattern[re.compile("^yesterday$")] = callback
for regexp, parser in pattern.items():
if bool(regexp.match(date_str)):
@@ -752,7 +748,6 @@ def pretty_string_to_date(date_str, now=None):
class RequiredAttributeError(ValueError):
-
def __init__(self, message):
super(RequiredAttributeError, self).__init__(message)
@@ -764,6 +759,7 @@ class ObjectWrapper(object):
This class is modeled after the stackoverflow answer:
* http://stackoverflow.com/a/1445289/771663
"""
+
def __init__(self, wrapped_object):
wrapped_cls = type(wrapped_object)
wrapped_name = wrapped_cls.__name__
@@ -807,7 +803,7 @@ class Singleton(object):
# requested but not yet set. The final 'getattr' line here requires
# 'instance'/'_instance' to be defined or it will enter an infinite
# loop, so protect against that here.
- if name in ['_instance', 'instance']:
+ if name in ["_instance", "instance"]:
raise AttributeError()
return getattr(self.instance, name)
@@ -837,7 +833,7 @@ class LazyReference(object):
self.ref_function = ref_function
def __getattr__(self, name):
- if name == 'ref_function':
+ if name == "ref_function":
raise AttributeError()
return getattr(self.ref_function(), name)
@@ -875,8 +871,8 @@ def load_module_from_file(module_name, module_path):
# This recipe is adapted from https://stackoverflow.com/a/67692/771663
if sys.version_info[0] == 3 and sys.version_info[1] >= 5:
import importlib.util
- spec = importlib.util.spec_from_file_location( # novm
- module_name, module_path)
+
+ spec = importlib.util.spec_from_file_location(module_name, module_path) # novm
module = importlib.util.module_from_spec(spec) # novm
# The module object needs to exist in sys.modules before the
# loader executes the module code.
@@ -893,6 +889,7 @@ def load_module_from_file(module_name, module_path):
raise
elif sys.version_info[0] == 2:
import imp
+
module = imp.load_source(module_name, module_path)
return module
@@ -924,8 +921,10 @@ def uniq(sequence):
def star(func):
"""Unpacks arguments for use with Multiprocessing mapping functions"""
+
def _wrapper(args):
return func(*args)
+
return _wrapper
@@ -934,22 +933,23 @@ class Devnull(object):
See https://stackoverflow.com/a/2929954.
"""
+
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::
+ replacing intervening elements with '...'. For example::
- elide_list([1,2,3,4,5,6], 4)
+ elide_list([1,2,3,4,5,6], 4)
- gives::
+ gives::
- [1, 2, 3, '...', 6]
+ [1, 2, 3, '...', 6]
"""
if len(line_list) > max_num:
- return line_list[:max_num - 1] + ['...'] + line_list[-1:]
+ return line_list[: max_num - 1] + ["..."] + line_list[-1:]
else:
return line_list
@@ -972,7 +972,7 @@ def enum(**kwargs):
Args:
**kwargs: explicit dictionary of enums
"""
- return type('Enum', (object,), kwargs)
+ return type("Enum", (object,), kwargs)
class TypedMutableSequence(MutableSequence):
@@ -988,6 +988,7 @@ class TypedMutableSequence(MutableSequence):
if isinstance(l, Foo):
# do something
"""
+
def __init__(self, iterable):
self.data = list(iterable)
@@ -1017,7 +1018,7 @@ class GroupedExceptionHandler(object):
"""A generic mechanism to coalesce multiple exceptions and preserve tracebacks."""
def __init__(self):
- self.exceptions = [] # type: List[Tuple[str, Exception, List[str]]]
+ self.exceptions = [] # type: List[Tuple[str, Exception, List[str]]]
def __bool__(self):
"""Whether any exceptions were handled."""
@@ -1036,17 +1037,15 @@ class GroupedExceptionHandler(object):
# type: (bool) -> str
"""Print out an error message coalescing all the forwarded errors."""
each_exception_message = [
- '{0} raised {1}: {2}{3}'.format(
+ "{0} raised {1}: {2}{3}".format(
context,
exc.__class__.__name__,
exc,
- '\n{0}'.format(''.join(tb)) if with_tracebacks else '',
+ "\n{0}".format("".join(tb)) if with_tracebacks else "",
)
for context, exc, tb in self.exceptions
]
- return 'due to the following failures:\n{0}'.format(
- '\n'.join(each_exception_message)
- )
+ return "due to the following failures:\n{0}".format("\n".join(each_exception_message))
class GroupedExceptionForwarder(object):
@@ -1079,6 +1078,7 @@ class classproperty(object):
the evaluation is injected at creation time and take an instance (could be None) and
an owner (i.e. the class that originated the instance)
"""
+
def __init__(self, callback):
self.callback = callback
diff --git a/lib/spack/llnl/util/link_tree.py b/lib/spack/llnl/util/link_tree.py
index 34cce1247c..947ca9c541 100644
--- a/lib/spack/llnl/util/link_tree.py
+++ b/lib/spack/llnl/util/link_tree.py
@@ -16,9 +16,9 @@ import llnl.util.tty as tty
from llnl.util.filesystem import mkdirp, touch, traverse_tree
from llnl.util.symlink import islink, symlink
-__all__ = ['LinkTree']
+__all__ = ["LinkTree"]
-empty_file_name = '.spack-empty'
+empty_file_name = ".spack-empty"
def remove_link(src, dest):
@@ -38,6 +38,7 @@ class MergeConflict:
project(src_a) == project(src_b) == dst
"""
+
def __init__(self, dst, src_a=None, src_b=None):
self.dst = dst
self.src_a = src_a
@@ -51,13 +52,14 @@ class SourceMergeVisitor(object):
- A list of files to link in dst
- A list of merge conflicts in dst/
"""
+
def __init__(self, ignore=None):
self.ignore = ignore if ignore is not None else lambda f: False
# When mapping <src root> to <dst root>/<projection>, we need
# to prepend the <projection> bit to the relative path in the
# destination dir.
- self.projection = ''
+ self.projection = ""
# When a file blocks another file, the conflict can sometimes
# be resolved / ignored (e.g. <prefix>/LICENSE or
@@ -88,10 +90,13 @@ class SourceMergeVisitor(object):
elif proj_rel_path in self.files:
# Can't create a dir where a file is.
src_a_root, src_a_relpath = self.files[proj_rel_path]
- self.fatal_conflicts.append(MergeConflict(
- dst=proj_rel_path,
- src_a=os.path.join(src_a_root, src_a_relpath),
- src_b=os.path.join(root, rel_path)))
+ self.fatal_conflicts.append(
+ MergeConflict(
+ dst=proj_rel_path,
+ src_a=os.path.join(src_a_root, src_a_relpath),
+ src_b=os.path.join(root, rel_path),
+ )
+ )
return False
elif proj_rel_path in self.directories:
# No new directory, carry on.
@@ -147,17 +152,23 @@ class SourceMergeVisitor(object):
elif proj_rel_path in self.directories:
# Can't create a file where a dir is; fatal error
src_a_root, src_a_relpath = self.directories[proj_rel_path]
- self.fatal_conflicts.append(MergeConflict(
- dst=proj_rel_path,
- src_a=os.path.join(src_a_root, src_a_relpath),
- src_b=os.path.join(root, rel_path)))
+ self.fatal_conflicts.append(
+ MergeConflict(
+ dst=proj_rel_path,
+ src_a=os.path.join(src_a_root, src_a_relpath),
+ src_b=os.path.join(root, rel_path),
+ )
+ )
elif proj_rel_path in self.files:
# In some cases we can resolve file-file conflicts
src_a_root, src_a_relpath = self.files[proj_rel_path]
- self.file_conflicts.append(MergeConflict(
- dst=proj_rel_path,
- src_a=os.path.join(src_a_root, src_a_relpath),
- src_b=os.path.join(root, rel_path)))
+ self.file_conflicts.append(
+ MergeConflict(
+ dst=proj_rel_path,
+ src_a=os.path.join(src_a_root, src_a_relpath),
+ src_b=os.path.join(root, rel_path),
+ )
+ )
else:
# Otherwise register this file to be linked.
self.files[proj_rel_path] = (root, rel_path)
@@ -166,24 +177,27 @@ class SourceMergeVisitor(object):
self.projection = os.path.normpath(projection)
# Todo, is this how to check in general for empty projection?
- if self.projection == '.':
- self.projection = ''
+ if self.projection == ".":
+ self.projection = ""
return
# If there is a projection, we'll also create the directories
# it consists of, and check whether that's causing conflicts.
- path = ''
+ path = ""
for part in self.projection.split(os.sep):
path = os.path.join(path, part)
if path not in self.files:
- self.directories[path] = ('<projection>', path)
+ self.directories[path] = ("<projection>", path)
else:
# Can't create a dir where a file is.
src_a_root, src_a_relpath = self.files[path]
- self.fatal_conflicts.append(MergeConflict(
- dst=path,
- src_a=os.path.join(src_a_root, src_a_relpath),
- src_b=os.path.join('<projection>', path)))
+ self.fatal_conflicts.append(
+ MergeConflict(
+ dst=path,
+ src_a=os.path.join(src_a_root, src_a_relpath),
+ src_b=os.path.join("<projection>", path),
+ )
+ )
class DestinationMergeVisitor(object):
@@ -200,6 +214,7 @@ class DestinationMergeVisitor(object):
in the target prefix will never be merged with
directories in the sources directories.
"""
+
def __init__(self, source_merge_visitor):
self.src = source_merge_visitor
@@ -208,10 +223,11 @@ class DestinationMergeVisitor(object):
# and don't traverse deeper
if rel_path in self.src.files:
src_a_root, src_a_relpath = self.src.files[rel_path]
- self.src.fatal_conflicts.append(MergeConflict(
- rel_path,
- os.path.join(src_a_root, src_a_relpath),
- os.path.join(root, rel_path)))
+ self.src.fatal_conflicts.append(
+ MergeConflict(
+ rel_path, os.path.join(src_a_root, src_a_relpath), os.path.join(root, rel_path)
+ )
+ )
return False
# If destination dir was also a src dir, remove the mkdir
@@ -236,17 +252,19 @@ class DestinationMergeVisitor(object):
# Always conflict
if rel_path in self.src.directories:
src_a_root, src_a_relpath = self.src.directories[rel_path]
- self.src.fatal_conflicts.append(MergeConflict(
- rel_path,
- os.path.join(src_a_root, src_a_relpath),
- os.path.join(root, rel_path)))
+ self.src.fatal_conflicts.append(
+ MergeConflict(
+ rel_path, os.path.join(src_a_root, src_a_relpath), os.path.join(root, rel_path)
+ )
+ )
if rel_path in self.src.files:
src_a_root, src_a_relpath = self.src.files[rel_path]
- self.src.fatal_conflicts.append(MergeConflict(
- rel_path,
- os.path.join(src_a_root, src_a_relpath),
- os.path.join(root, rel_path)))
+ self.src.fatal_conflicts.append(
+ MergeConflict(
+ rel_path, os.path.join(src_a_root, src_a_relpath), os.path.join(root, rel_path)
+ )
+ )
# Never descend into symlinked target dirs.
return False
@@ -258,17 +276,19 @@ class DestinationMergeVisitor(object):
# Can't merge a file if target already exists
if rel_path in self.src.directories:
src_a_root, src_a_relpath = self.src.directories[rel_path]
- self.src.fatal_conflicts.append(MergeConflict(
- rel_path,
- os.path.join(src_a_root, src_a_relpath),
- os.path.join(root, rel_path)))
+ self.src.fatal_conflicts.append(
+ MergeConflict(
+ rel_path, os.path.join(src_a_root, src_a_relpath), os.path.join(root, rel_path)
+ )
+ )
elif rel_path in self.src.files:
src_a_root, src_a_relpath = self.src.files[rel_path]
- self.src.fatal_conflicts.append(MergeConflict(
- rel_path,
- os.path.join(src_a_root, src_a_relpath),
- os.path.join(root, rel_path)))
+ self.src.fatal_conflicts.append(
+ MergeConflict(
+ rel_path, os.path.join(src_a_root, src_a_relpath), os.path.join(root, rel_path)
+ )
+ )
class LinkTree(object):
@@ -281,30 +301,31 @@ class LinkTree(object):
symlinked to, to prevent the source directory from ever being
modified.
"""
+
def __init__(self, source_root):
if not os.path.exists(source_root):
raise IOError("No such file or directory: '%s'", source_root)
self._root = source_root
- def find_conflict(self, dest_root, ignore=None,
- ignore_file_conflicts=False):
+ def find_conflict(self, dest_root, ignore=None, ignore_file_conflicts=False):
"""Returns the first file in dest that conflicts with src"""
ignore = ignore or (lambda x: False)
conflicts = self.find_dir_conflicts(dest_root, ignore)
if not ignore_file_conflicts:
conflicts.extend(
- dst for src, dst
- in self.get_file_map(dest_root, ignore).items()
- if os.path.exists(dst))
+ dst
+ for src, dst in self.get_file_map(dest_root, ignore).items()
+ if os.path.exists(dst)
+ )
if conflicts:
return conflicts[0]
def find_dir_conflicts(self, dest_root, ignore):
conflicts = []
- kwargs = {'follow_nonexisting': False, 'ignore': ignore}
+ kwargs = {"follow_nonexisting": False, "ignore": ignore}
for src, dest in traverse_tree(self._root, dest_root, **kwargs):
if os.path.isdir(src):
if os.path.exists(dest) and not os.path.isdir(dest):
@@ -315,7 +336,7 @@ class LinkTree(object):
def get_file_map(self, dest_root, ignore):
merge_map = {}
- kwargs = {'follow_nonexisting': True, 'ignore': ignore}
+ kwargs = {"follow_nonexisting": True, "ignore": ignore}
for src, dest in traverse_tree(self._root, dest_root, **kwargs):
if not os.path.isdir(src):
merge_map[src] = dest
@@ -337,8 +358,7 @@ class LinkTree(object):
touch(marker)
def unmerge_directories(self, dest_root, ignore):
- for src, dest in traverse_tree(
- self._root, dest_root, ignore=ignore, order='post'):
+ for src, dest in traverse_tree(self._root, dest_root, ignore=ignore, order="post"):
if os.path.isdir(src):
if not os.path.exists(dest):
continue
@@ -354,8 +374,7 @@ class LinkTree(object):
if os.path.exists(marker):
os.remove(marker)
- def merge(self, dest_root, ignore_conflicts=False, ignore=None,
- link=symlink, relative=False):
+ def merge(self, dest_root, ignore_conflicts=False, ignore=None, link=symlink, relative=False):
"""Link all files in src into dest, creating directories
if necessary.
@@ -377,7 +396,8 @@ class LinkTree(object):
ignore = lambda x: False
conflict = self.find_conflict(
- dest_root, ignore=ignore, ignore_file_conflicts=ignore_conflicts)
+ dest_root, ignore=ignore, ignore_file_conflicts=ignore_conflicts
+ )
if conflict:
raise SingleMergeConflictError(conflict)
@@ -416,8 +436,7 @@ class MergeConflictError(Exception):
class SingleMergeConflictError(MergeConflictError):
def __init__(self, path):
- super(MergeConflictError, self).__init__(
- "Package merge blocked by file: %s" % path)
+ super(MergeConflictError, self).__init__("Package merge blocked by file: %s" % path)
class MergeConflictSummary(MergeConflictError):
@@ -430,5 +449,6 @@ class MergeConflictSummary(MergeConflictError):
# show the first 3 merge conflicts.
for conflict in conflicts[:3]:
msg += "\n `{0}` and `{1}` both project to `{2}`".format(
- conflict.src_a, conflict.src_b, conflict.dst)
+ conflict.src_a, conflict.src_b, conflict.dst
+ )
super(MergeConflictSummary, self).__init__(msg)
diff --git a/lib/spack/llnl/util/lock.py b/lib/spack/llnl/util/lock.py
index 1ff7ceec64..0682ce059a 100644
--- a/lib/spack/llnl/util/lock.py
+++ b/lib/spack/llnl/util/lock.py
@@ -15,22 +15,22 @@ import llnl.util.tty as tty
import spack.util.string
-if sys.platform != 'win32':
+if sys.platform != "win32":
import fcntl
__all__ = [
- 'Lock',
- 'LockDowngradeError',
- 'LockUpgradeError',
- 'LockTransaction',
- 'WriteTransaction',
- 'ReadTransaction',
- 'LockError',
- 'LockTimeoutError',
- 'LockPermissionError',
- 'LockROFileError',
- 'CantCreateLockError'
+ "Lock",
+ "LockDowngradeError",
+ "LockUpgradeError",
+ "LockTransaction",
+ "WriteTransaction",
+ "ReadTransaction",
+ "LockError",
+ "LockTimeoutError",
+ "LockPermissionError",
+ "LockROFileError",
+ "CantCreateLockError",
]
@@ -47,6 +47,7 @@ class OpenFile(object):
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
@@ -92,11 +93,11 @@ class OpenFileTracker(object):
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+'
+ 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
+ stat = None # stat result for the lockfile, if it exists
try:
# see whether we've seen this inode/pid before
@@ -109,7 +110,7 @@ class OpenFileTracker(object):
raise
# path does not exist -- fail if we won't be able to create it
- parent = os.path.dirname(path) or '.'
+ parent = os.path.dirname(path) or "."
if not os.access(parent, os.W_OK):
raise CantCreateLockError(path)
@@ -119,7 +120,7 @@ class OpenFileTracker(object):
# 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'
+ os_mode, fh_mode = os.O_RDONLY, "r"
fd = os.open(path, os_mode)
fh = os.fdopen(fd, fh_mode)
@@ -162,10 +163,10 @@ file_tracker = OpenFileTracker()
def _attempts_str(wait_time, nattempts):
# Don't print anything if we succeeded on the first try
if nattempts <= 1:
- return ''
+ return ""
- attempts = spack.util.string.plural(nattempts, 'attempt')
- return ' after {0:0.2f}s and {1}'.format(wait_time, attempts)
+ attempts = spack.util.string.plural(nattempts, "attempt")
+ return " after {0:0.2f}s and {1}".format(wait_time, attempts)
class LockType(object):
@@ -188,8 +189,7 @@ class LockType(object):
@staticmethod
def is_valid(op):
- return op == LockType.READ \
- or op == LockType.WRITE
+ return op == LockType.READ or op == LockType.WRITE
class Lock(object):
@@ -207,8 +207,7 @@ class Lock(object):
overlapping byte ranges in the same file).
"""
- def __init__(self, path, start=0, length=0, default_timeout=None,
- debug=False, desc=''):
+ def __init__(self, path, start=0, length=0, default_timeout=None, debug=False, desc=""):
"""Construct a new lock on the file at ``path``.
By default, the lock applies to the whole file. Optionally,
@@ -243,7 +242,7 @@ class Lock(object):
self.debug = debug
# optional debug description
- self.desc = ' ({0})'.format(desc) if desc else ''
+ self.desc = " ({0})".format(desc) if desc else ""
# If the user doesn't set a default timeout, or if they choose
# None, 0, etc. then lock attempts will not time out (unless the
@@ -280,17 +279,17 @@ class Lock(object):
def __repr__(self):
"""Formal representation of the lock."""
- rep = '{0}('.format(self.__class__.__name__)
+ rep = "{0}(".format(self.__class__.__name__)
for attr, value in self.__dict__.items():
- rep += '{0}={1}, '.format(attr, value.__repr__())
- return '{0})'.format(rep.strip(', '))
+ rep += "{0}={1}, ".format(attr, value.__repr__())
+ return "{0})".format(rep.strip(", "))
def __str__(self):
"""Readable string (with key fields) of the lock."""
- location = '{0}[{1}:{2}]'.format(self.path, self._start, self._length)
- timeout = 'timeout={0}'.format(self.default_timeout)
- activity = '#reads={0}, #writes={1}'.format(self._reads, self._writes)
- return '({0}, {1}, {2})'.format(location, timeout, activity)
+ location = "{0}[{1}:{2}]".format(self.path, self._start, self._length)
+ timeout = "timeout={0}".format(self.default_timeout)
+ activity = "#reads={0}, #writes={1}".format(self._reads, self._writes)
+ return "({0}, {1}, {2})".format(location, timeout, activity)
def _lock(self, op, timeout=None):
"""This takes a lock using POSIX locks (``fcntl.lockf``).
@@ -305,7 +304,7 @@ class Lock(object):
assert LockType.is_valid(op)
op_str = LockType.to_str(op)
- self._log_acquiring('{0} LOCK'.format(op_str))
+ self._log_acquiring("{0} LOCK".format(op_str))
timeout = timeout or self.default_timeout
# Create file and parent directories if they don't exist.
@@ -313,14 +312,16 @@ class Lock(object):
self._ensure_parent_directory()
self._file = file_tracker.get_fh(self.path)
- if LockType.to_module(op) == fcntl.LOCK_EX and self._file.mode == 'r':
+ if LockType.to_module(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)
- self._log_debug("{0} locking [{1}:{2}]: timeout {3} sec"
- .format(op_str.lower(), self._start, self._length,
- timeout))
+ self._log_debug(
+ "{0} locking [{1}:{2}]: timeout {3} sec".format(
+ op_str.lower(), self._start, self._length, timeout
+ )
+ )
poll_intervals = iter(Lock._poll_interval_generator())
start_time = time.time()
@@ -339,8 +340,7 @@ class Lock(object):
total_wait_time = time.time() - start_time
return total_wait_time, num_attempts
- raise LockTimeoutError("Timed out waiting for a {0} lock."
- .format(op_str.lower()))
+ raise LockTimeoutError("Timed out waiting for a {0} lock.".format(op_str.lower()))
def _poll_lock(self, op):
"""Attempt to acquire the lock in a non-blocking manner. Return whether
@@ -349,16 +349,19 @@ class Lock(object):
module_op = LockType.to_module(op)
try:
# Try to get the lock (will raise if not available.)
- fcntl.lockf(self._file, module_op | fcntl.LOCK_NB,
- self._length, self._start, os.SEEK_SET)
+ fcntl.lockf(
+ self._file, module_op | fcntl.LOCK_NB, self._length, self._start, os.SEEK_SET
+ )
# help for debugging distributed locking
if self.debug:
# All locks read the owner PID and host
self._read_log_debug_data()
- self._log_debug('{0} locked {1} [{2}:{3}] (owner={4})'
- .format(LockType.to_str(op), self.path,
- self._start, self._length, self.pid))
+ self._log_debug(
+ "{0} locked {1} [{2}:{3}] (owner={4})".format(
+ LockType.to_str(op), self.path, self._start, self._length, self.pid
+ )
+ )
# Exclusive locks write their PID/host
if module_op == fcntl.LOCK_EX:
@@ -378,14 +381,13 @@ class Lock(object):
# relative paths to lockfiles in the current directory have no parent
if not parent:
- return '.'
+ return "."
try:
os.makedirs(parent)
except OSError as e:
# makedirs can fail when diretory already exists.
- if not (e.errno == errno.EEXIST and os.path.isdir(parent) or
- e.errno == errno.EISDIR):
+ if not (e.errno == errno.EEXIST and os.path.isdir(parent) or e.errno == errno.EISDIR):
raise
return parent
@@ -396,9 +398,9 @@ class Lock(object):
line = self._file.read()
if line:
- pid, host = line.strip().split(',')
- _, _, self.pid = pid.rpartition('=')
- _, _, self.host = host.rpartition('=')
+ pid, host = line.strip().split(",")
+ _, _, self.pid = pid.rpartition("=")
+ _, _, self.host = host.rpartition("=")
self.pid = int(self.pid)
def _write_log_debug_data(self):
@@ -423,8 +425,7 @@ class Lock(object):
be masquerading as write locks, but this removes either.
"""
- fcntl.lockf(self._file, fcntl.LOCK_UN,
- self._length, self._start, os.SEEK_SET)
+ fcntl.lockf(self._file, fcntl.LOCK_UN, self._length, self._start, os.SEEK_SET)
file_tracker.release_fh(self.path)
self._file = None
@@ -449,7 +450,7 @@ class Lock(object):
wait_time, nattempts = self._lock(LockType.READ, timeout=timeout)
self._reads += 1
# Log if acquired, which includes counts when verbose
- self._log_acquired('READ LOCK', wait_time, nattempts)
+ self._log_acquired("READ LOCK", wait_time, nattempts)
return True
else:
# Increment the read count for nested lock tracking
@@ -474,7 +475,7 @@ class Lock(object):
wait_time, nattempts = self._lock(LockType.WRITE, timeout=timeout)
self._writes += 1
# Log if acquired, which includes counts when verbose
- self._log_acquired('WRITE LOCK', wait_time, nattempts)
+ self._log_acquired("WRITE LOCK", wait_time, nattempts)
# return True only if we weren't nested in a read lock.
# TODO: we may need to return two values: whether we got
@@ -561,7 +562,7 @@ class Lock(object):
"""
assert self._reads > 0
- locktype = 'READ LOCK'
+ locktype = "READ LOCK"
if self._reads == 1 and self._writes == 0:
self._log_releasing(locktype)
@@ -569,7 +570,7 @@ class Lock(object):
release_fn = release_fn or true_fn
result = release_fn()
- self._unlock() # can raise LockError.
+ self._unlock() # can raise LockError.
self._reads = 0
self._log_released(locktype)
return result
@@ -597,14 +598,14 @@ class Lock(object):
assert self._writes > 0
release_fn = release_fn or true_fn
- locktype = 'WRITE LOCK'
+ locktype = "WRITE LOCK"
if self._writes == 1 and self._reads == 0:
self._log_releasing(locktype)
# we need to call release_fn before releasing the lock
result = release_fn()
- self._unlock() # can raise LockError.
+ self._unlock() # can raise LockError.
self._writes = 0
self._log_released(locktype)
return result
@@ -625,56 +626,55 @@ class Lock(object):
raise LockError("Attempting to cleanup active lock.")
def _get_counts_desc(self):
- return '(reads {0}, writes {1})'.format(self._reads, self._writes) \
- if tty.is_verbose() else ''
+ return (
+ "(reads {0}, writes {1})".format(self._reads, self._writes) if tty.is_verbose() else ""
+ )
def _log_acquired(self, locktype, wait_time, nattempts):
attempts_part = _attempts_str(wait_time, nattempts)
now = datetime.now()
- desc = 'Acquired at %s' % now.strftime("%H:%M:%S.%f")
- self._log_debug(self._status_msg(locktype, '{0}{1}'
- .format(desc, attempts_part)))
+ desc = "Acquired at %s" % now.strftime("%H:%M:%S.%f")
+ self._log_debug(self._status_msg(locktype, "{0}{1}".format(desc, attempts_part)))
def _log_acquiring(self, locktype):
- self._log_debug(self._status_msg(locktype, 'Acquiring'), level=3)
+ self._log_debug(self._status_msg(locktype, "Acquiring"), level=3)
def _log_debug(self, *args, **kwargs):
"""Output lock debug messages."""
- kwargs['level'] = kwargs.get('level', 2)
+ kwargs["level"] = kwargs.get("level", 2)
tty.debug(*args, **kwargs)
def _log_downgraded(self, wait_time, nattempts):
attempts_part = _attempts_str(wait_time, nattempts)
now = datetime.now()
- desc = 'Downgraded at %s' % now.strftime("%H:%M:%S.%f")
- self._log_debug(self._status_msg('READ LOCK', '{0}{1}'
- .format(desc, attempts_part)))
+ desc = "Downgraded at %s" % now.strftime("%H:%M:%S.%f")
+ self._log_debug(self._status_msg("READ LOCK", "{0}{1}".format(desc, attempts_part)))
def _log_downgrading(self):
- self._log_debug(self._status_msg('WRITE LOCK', 'Downgrading'), level=3)
+ self._log_debug(self._status_msg("WRITE LOCK", "Downgrading"), level=3)
def _log_released(self, locktype):
now = datetime.now()
- desc = 'Released at %s' % now.strftime("%H:%M:%S.%f")
+ desc = "Released at %s" % now.strftime("%H:%M:%S.%f")
self._log_debug(self._status_msg(locktype, desc))
def _log_releasing(self, locktype):
- self._log_debug(self._status_msg(locktype, 'Releasing'), level=3)
+ self._log_debug(self._status_msg(locktype, "Releasing"), level=3)
def _log_upgraded(self, wait_time, nattempts):
attempts_part = _attempts_str(wait_time, nattempts)
now = datetime.now()
- desc = 'Upgraded at %s' % now.strftime("%H:%M:%S.%f")
- self._log_debug(self._status_msg('WRITE LOCK', '{0}{1}'.
- format(desc, attempts_part)))
+ desc = "Upgraded at %s" % now.strftime("%H:%M:%S.%f")
+ self._log_debug(self._status_msg("WRITE LOCK", "{0}{1}".format(desc, attempts_part)))
def _log_upgrading(self):
- self._log_debug(self._status_msg('READ LOCK', 'Upgrading'), level=3)
+ self._log_debug(self._status_msg("READ LOCK", "Upgrading"), level=3)
def _status_msg(self, locktype, status):
- status_desc = '[{0}] {1}'.format(status, self._get_counts_desc())
- return '{0}{1.desc}: {1.path}[{1._start}:{1._length}] {2}'.format(
- locktype, self, status_desc)
+ status_desc = "[{0}] {1}".format(status, self._get_counts_desc())
+ return "{0}{1.desc}: {1.path}[{1._start}:{1._length}] {2}".format(
+ locktype, self, status_desc
+ )
class LockTransaction(object):
@@ -715,7 +715,7 @@ class LockTransaction(object):
def __enter__(self):
if self._enter() and self._acquire_fn:
self._as = self._acquire_fn()
- if hasattr(self._as, '__enter__'):
+ if hasattr(self._as, "__enter__"):
return self._as.__enter__()
else:
return self._as
@@ -727,7 +727,7 @@ class LockTransaction(object):
if self._release_fn is not None:
return self._release_fn(type, value, traceback)
- if self._as and hasattr(self._as, '__exit__'):
+ if self._as and hasattr(self._as, "__exit__"):
if self._as.__exit__(type, value, traceback):
suppress = True
@@ -739,6 +739,7 @@ class LockTransaction(object):
class ReadTransaction(LockTransaction):
"""LockTransaction context manager that does a read and releases it."""
+
def _enter(self):
return self._lock.acquire_read(self._timeout)
@@ -748,6 +749,7 @@ class ReadTransaction(LockTransaction):
class WriteTransaction(LockTransaction):
"""LockTransaction context manager that does a write and releases it."""
+
def _enter(self):
return self._lock.acquire_write(self._timeout)
@@ -761,6 +763,7 @@ class LockError(Exception):
class LockDowngradeError(LockError):
"""Raised when unable to downgrade from a write to a read lock."""
+
def __init__(self, path):
msg = "Cannot downgrade lock from write to read on file: %s" % path
super(LockDowngradeError, self).__init__(msg)
@@ -776,6 +779,7 @@ class LockTimeoutError(LockError):
class LockUpgradeError(LockError):
"""Raised when unable to upgrade from a read to a write lock."""
+
def __init__(self, path):
msg = "Cannot upgrade lock from read to write on file: %s" % path
super(LockUpgradeError, self).__init__(msg)
@@ -787,6 +791,7 @@ class LockPermissionError(LockError):
class LockROFileError(LockPermissionError):
"""Tried to take an exclusive lock on a read-only file."""
+
def __init__(self, path):
msg = "Can't take write lock on read-only file: %s" % path
super(LockROFileError, self).__init__(msg)
@@ -794,6 +799,7 @@ class LockROFileError(LockPermissionError):
class CantCreateLockError(LockPermissionError):
"""Attempt to create a lock in an unwritable location."""
+
def __init__(self, path):
msg = "cannot create lock '%s': " % path
msg += "file does not exist and location is not writable"
diff --git a/lib/spack/llnl/util/multiproc.py b/lib/spack/llnl/util/multiproc.py
index 86b9e81bcc..e6a0091191 100644
--- a/lib/spack/llnl/util/multiproc.py
+++ b/lib/spack/llnl/util/multiproc.py
@@ -10,7 +10,7 @@ to pickle functions if they're passed indirectly as parameters.
"""
from multiprocessing import Semaphore, Value
-__all__ = ['Barrier']
+__all__ = ["Barrier"]
class Barrier:
@@ -24,7 +24,7 @@ class Barrier:
def __init__(self, n, timeout=None):
self.n = n
self.to = timeout
- self.count = Value('i', 0)
+ self.count = Value("i", 0)
self.mutex = Semaphore(1)
self.turnstile1 = Semaphore(0)
self.turnstile2 = Semaphore(1)
diff --git a/lib/spack/llnl/util/symlink.py b/lib/spack/llnl/util/symlink.py
index 6c55d74f66..103c5b4c38 100644
--- a/lib/spack/llnl/util/symlink.py
+++ b/lib/spack/llnl/util/symlink.py
@@ -11,7 +11,7 @@ from sys import platform as _platform
from llnl.util import lang
-is_windows = _platform == 'win32'
+is_windows = _platform == "win32"
if is_windows:
from win32file import CreateHardLink
@@ -47,7 +47,7 @@ def _win32_junction(path, link):
# os.symlink will fail if link exists, emulate the behavior here
if exists(link):
- raise OSError(errno.EEXIST, 'File exists: %s -> %s' % (link, path))
+ raise OSError(errno.EEXIST, "File exists: %s -> %s" % (link, path))
if not os.path.isabs(path):
parent = os.path.join(link, os.pardir)
@@ -61,13 +61,14 @@ def _win32_junction(path, link):
def _win32_can_symlink():
tempdir = tempfile.mkdtemp()
- dpath = join(tempdir, 'dpath')
- fpath = join(tempdir, 'fpath.txt')
+ dpath = join(tempdir, "dpath")
+ fpath = join(tempdir, "fpath.txt")
- dlink = join(tempdir, 'dlink')
- flink = join(tempdir, 'flink.txt')
+ dlink = join(tempdir, "dlink")
+ flink = join(tempdir, "flink.txt")
import llnl.util.filesystem as fs
+
fs.touchp(fpath)
try:
@@ -106,7 +107,6 @@ def _win32_is_junction(path):
FILE_ATTRIBUTE_REPARSE_POINT = 0x400
res = GetFileAttributes(path)
- return res != INVALID_FILE_ATTRIBUTES and \
- bool(res & FILE_ATTRIBUTE_REPARSE_POINT)
+ return res != INVALID_FILE_ATTRIBUTES and bool(res & FILE_ATTRIBUTE_REPARSE_POINT)
return False
diff --git a/lib/spack/llnl/util/tty/__init__.py b/lib/spack/llnl/util/tty/__init__.py
index de49f3f77f..ed847298ef 100644
--- a/lib/spack/llnl/util/tty/__init__.py
+++ b/lib/spack/llnl/util/tty/__init__.py
@@ -54,7 +54,7 @@ def is_stacktrace():
def set_debug(level=0):
global _debug
- assert level >= 0, 'Debug level must be a positive value'
+ assert level >= 0, "Debug level must be a positive value"
_debug = level
@@ -110,10 +110,7 @@ def output_filter(filter_fn):
class SuppressOutput:
"""Class for disabling output in a scope using 'with' keyword"""
- def __init__(self,
- msg_enabled=True,
- warn_enabled=True,
- error_enabled=True):
+ def __init__(self, msg_enabled=True, warn_enabled=True, error_enabled=True):
self._msg_enabled_initial = _msg_enabled
self._warn_enabled_initial = _warn_enabled
@@ -164,11 +161,10 @@ def get_timestamp(force=False):
"""Get a string timestamp"""
if _debug or _timestamp or force:
# Note inclusion of the PID is useful for parallel builds.
- pid = ', {0}'.format(os.getpid()) if show_pid() else ''
- return '[{0}{1}] '.format(
- datetime.now().strftime("%Y-%m-%d-%H:%M:%S.%f"), pid)
+ pid = ", {0}".format(os.getpid()) if show_pid() else ""
+ return "[{0}{1}] ".format(datetime.now().strftime("%Y-%m-%d-%H:%M:%S.%f"), pid)
else:
- return ''
+ return ""
def msg(message, *args, **kwargs):
@@ -178,26 +174,14 @@ def msg(message, *args, **kwargs):
if isinstance(message, Exception):
message = "%s: %s" % (message.__class__.__name__, str(message))
- newline = kwargs.get('newline', True)
+ newline = kwargs.get("newline", True)
st_text = ""
if _stacktrace:
st_text = process_stacktrace(2)
if newline:
- cprint(
- "@*b{%s==>} %s%s" % (
- st_text,
- get_timestamp(),
- cescape(_output_filter(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(_output_filter(message))
- )
- )
+ cwrite("@*b{%s==>} %s%s" % (st_text, get_timestamp(), cescape(_output_filter(message))))
for arg in args:
print(indent + _output_filter(six.text_type(arg)))
@@ -206,23 +190,19 @@ def info(message, *args, **kwargs):
if isinstance(message, Exception):
message = "%s: %s" % (message.__class__.__name__, str(message))
- format = kwargs.get('format', '*b')
- stream = kwargs.get('stream', sys.stdout)
- wrap = kwargs.get('wrap', False)
- break_long_words = kwargs.get('break_long_words', False)
- st_countback = kwargs.get('countback', 3)
+ format = kwargs.get("format", "*b")
+ stream = kwargs.get("stream", sys.stdout)
+ wrap = kwargs.get("wrap", False)
+ break_long_words = kwargs.get("break_long_words", False)
+ st_countback = kwargs.get("countback", 3)
st_text = ""
if _stacktrace:
st_text = process_stacktrace(st_countback)
cprint(
- "@%s{%s==>} %s%s" % (
- format,
- st_text,
- get_timestamp(),
- cescape(_output_filter(six.text_type(message)))
- ),
- stream=stream
+ "@%s{%s==>} %s%s"
+ % (format, st_text, get_timestamp(), cescape(_output_filter(six.text_type(message)))),
+ stream=stream,
)
for arg in args:
if wrap:
@@ -230,27 +210,25 @@ def info(message, *args, **kwargs):
_output_filter(six.text_type(arg)),
initial_indent=indent,
subsequent_indent=indent,
- break_long_words=break_long_words
+ break_long_words=break_long_words,
)
for line in lines:
- stream.write(line + '\n')
+ stream.write(line + "\n")
else:
- stream.write(
- indent + _output_filter(six.text_type(arg)) + '\n'
- )
+ stream.write(indent + _output_filter(six.text_type(arg)) + "\n")
def verbose(message, *args, **kwargs):
if _verbose:
- kwargs.setdefault('format', 'c')
+ kwargs.setdefault("format", "c")
info(message, *args, **kwargs)
def debug(message, *args, **kwargs):
- level = kwargs.get('level', 1)
+ level = kwargs.get("level", 1)
if is_debug(level):
- kwargs.setdefault('format', 'g')
- kwargs.setdefault('stream', sys.stderr)
+ kwargs.setdefault("format", "g")
+ kwargs.setdefault("stream", sys.stderr)
info(message, *args, **kwargs)
@@ -258,8 +236,8 @@ def error(message, *args, **kwargs):
if not error_enabled():
return
- kwargs.setdefault('format', '*r')
- kwargs.setdefault('stream', sys.stderr)
+ kwargs.setdefault("format", "*r")
+ kwargs.setdefault("stream", sys.stderr)
info("Error: " + six.text_type(message), *args, **kwargs)
@@ -267,27 +245,27 @@ def warn(message, *args, **kwargs):
if not warn_enabled():
return
- kwargs.setdefault('format', '*Y')
- kwargs.setdefault('stream', sys.stderr)
+ kwargs.setdefault("format", "*Y")
+ kwargs.setdefault("stream", sys.stderr)
info("Warning: " + six.text_type(message), *args, **kwargs)
def die(message, *args, **kwargs):
- kwargs.setdefault('countback', 4)
+ kwargs.setdefault("countback", 4)
error(message, *args, **kwargs)
sys.exit(1)
def get_number(prompt, **kwargs):
- default = kwargs.get('default', None)
- abort = kwargs.get('abort', None)
+ default = kwargs.get("default", None)
+ abort = kwargs.get("abort", None)
if default is not None and abort is not None:
- prompt += ' (default is %s, %s to abort) ' % (default, abort)
+ prompt += " (default is %s, %s to abort) " % (default, abort)
elif default is not None:
- prompt += ' (default is %s) ' % default
+ prompt += " (default is %s) " % default
elif abort is not None:
- prompt += ' (%s to abort) ' % abort
+ prompt += " (%s to abort) " % abort
number = None
while number is None:
@@ -310,17 +288,16 @@ def get_number(prompt, **kwargs):
def get_yes_or_no(prompt, **kwargs):
- default_value = kwargs.get('default', None)
+ default_value = kwargs.get("default", None)
if default_value is None:
- prompt += ' [y/n] '
+ prompt += " [y/n] "
elif default_value is True:
- prompt += ' [Y/n] '
+ prompt += " [Y/n] "
elif default_value is False:
- prompt += ' [y/N] '
+ prompt += " [y/N] "
else:
- raise ValueError(
- "default for get_yes_no() must be True, False, or None.")
+ raise ValueError("default for get_yes_no() must be True, False, or None.")
result = None
while result is None:
@@ -331,9 +308,9 @@ def get_yes_or_no(prompt, **kwargs):
if result is None:
print("Please enter yes or no.")
else:
- if ans == 'y' or ans == 'yes':
+ if ans == "y" or ans == "yes":
result = True
- elif ans == 'n' or ans == 'no':
+ elif ans == "n" or ans == "no":
result = False
return result
@@ -345,12 +322,12 @@ def hline(label=None, **kwargs):
char (str): Char to draw the line with. Default '-'
max_width (int): Maximum width of the line. Default is 64 chars.
"""
- char = kwargs.pop('char', '-')
- max_width = kwargs.pop('max_width', 64)
+ char = kwargs.pop("char", "-")
+ max_width = kwargs.pop("max_width", 64)
if kwargs:
raise TypeError(
- "'%s' is an invalid keyword argument for this function."
- % next(kwargs.iterkeys()))
+ "'%s' is an invalid keyword argument for this function." % next(kwargs.iterkeys())
+ )
rows, cols = terminal_size()
if not cols:
@@ -374,13 +351,14 @@ def hline(label=None, **kwargs):
def terminal_size():
"""Gets the dimensions of the console: (rows, cols)."""
if _platform != "win32":
+
def ioctl_gwinsz(fd):
try:
- rc = struct.unpack('hh', fcntl.ioctl(
- fd, termios.TIOCGWINSZ, '1234'))
+ rc = struct.unpack("hh", fcntl.ioctl(fd, termios.TIOCGWINSZ, "1234"))
except BaseException:
return
return rc
+
rc = ioctl_gwinsz(0) or ioctl_gwinsz(1) or ioctl_gwinsz(2)
if not rc:
try:
@@ -390,12 +368,14 @@ def terminal_size():
except BaseException:
pass
if not rc:
- rc = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80))
+ rc = (os.environ.get("LINES", 25), os.environ.get("COLUMNS", 80))
return int(rc[0]), int(rc[1])
else:
if sys.version_info[0] < 3:
- raise RuntimeError("Terminal size not obtainable on Windows with a\
-Python version older than 3")
- rc = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80))
+ raise RuntimeError(
+ "Terminal size not obtainable on Windows with a\
+Python version older than 3"
+ )
+ rc = (os.environ.get("LINES", 25), os.environ.get("COLUMNS", 80))
return int(rc[0]), int(rc[1])
diff --git a/lib/spack/llnl/util/tty/colify.py b/lib/spack/llnl/util/tty/colify.py
index 65e56b5473..73c1daf0d5 100644
--- a/lib/spack/llnl/util/tty/colify.py
+++ b/lib/spack/llnl/util/tty/colify.py
@@ -18,29 +18,27 @@ from llnl.util.tty.color import cextra, clen
class ColumnConfig:
-
def __init__(self, cols):
self.cols = cols
self.line_length = 0
self.valid = True
- self.widths = [0] * cols # does not include ansi colors
+ self.widths = [0] * cols # does not include ansi colors
def __repr__(self):
- attrs = [(a, getattr(self, a))
- for a in dir(self) if not a.startswith("__")]
+ attrs = [(a, getattr(self, a)) for a in dir(self) if not a.startswith("__")]
return "<Config: %s>" % ", ".join("%s: %r" % a for a in attrs)
def config_variable_cols(elts, console_width, padding, cols=0):
"""Variable-width column fitting algorithm.
- This function determines the most columns that can fit in the
- screen width. Unlike uniform fitting, where all columns take
- the width of the longest element in the list, each column takes
- the width of its own longest element. This packs elements more
- efficiently on screen.
+ This function determines the most columns that can fit in the
+ screen width. Unlike uniform fitting, where all columns take
+ the width of the longest element in the list, each column takes
+ the width of its own longest element. This packs elements more
+ efficiently on screen.
- If cols is nonzero, force
+ If cols is nonzero, force
"""
if cols < 0:
raise ValueError("cols must be non-negative.")
@@ -64,8 +62,8 @@ def config_variable_cols(elts, console_width, padding, cols=0):
if conf.widths[col] < (length + p):
conf.line_length += length + p - conf.widths[col]
- conf.widths[col] = length + p
- conf.valid = (conf.line_length < console_width)
+ conf.widths[col] = length + p
+ conf.valid = conf.line_length < console_width
try:
config = next(conf for conf in reversed(configs) if conf.valid)
@@ -81,9 +79,9 @@ def config_variable_cols(elts, console_width, padding, cols=0):
def config_uniform_cols(elts, console_width, padding, cols=0):
"""Uniform-width column fitting algorithm.
- Determines the longest element in the list, and determines how
- many columns of that width will fit on screen. Returns a
- corresponding column config.
+ Determines the longest element in the list, and determines how
+ many columns of that width will fit on screen. Returns a
+ corresponding column config.
"""
if cols < 0:
raise ValueError("cols must be non-negative.")
@@ -122,18 +120,18 @@ def colify(elts, **options):
and fit less data on the screen
"""
# Get keyword arguments or set defaults
- cols = options.pop("cols", 0)
- output = options.pop("output", sys.stdout)
- indent = options.pop("indent", 0)
- padding = options.pop("padding", 2)
- tty = options.pop('tty', None)
- method = options.pop("method", "variable")
+ cols = options.pop("cols", 0)
+ output = options.pop("output", sys.stdout)
+ indent = options.pop("indent", 0)
+ padding = options.pop("padding", 2)
+ tty = options.pop("tty", None)
+ method = options.pop("method", "variable")
console_cols = options.pop("width", None)
if options:
raise TypeError(
- "'%s' is an invalid keyword argument for this function."
- % next(options.iterkeys()))
+ "'%s' is an invalid keyword argument for this function." % next(options.iterkeys())
+ )
# elts needs to be an array of strings so we can count the elements
elts = [text_type(elt) for elt in elts]
@@ -141,10 +139,10 @@ def colify(elts, **options):
return (0, ())
# environment size is of the form "<rows>x<cols>"
- env_size = os.environ.get('COLIFY_SIZE')
+ env_size = os.environ.get("COLIFY_SIZE")
if env_size:
try:
- r, c = env_size.split('x')
+ r, c = env_size.split("x")
console_rows, console_cols = int(r), int(c)
tty = True
except BaseException:
@@ -180,7 +178,7 @@ def colify(elts, **options):
elt = col * rows + row
width = config.widths[col] + cextra(elts[elt])
if col < cols - 1:
- fmt = '%%-%ds' % width
+ fmt = "%%-%ds" % width
output.write(fmt % elts[elt])
else:
# Don't pad the rightmost column (sapces can wrap on
@@ -198,15 +196,15 @@ def colify(elts, **options):
def colify_table(table, **options):
"""Version of ``colify()`` for data expressed in rows, (list of lists).
- Same as regular colify but:
+ Same as regular colify but:
- 1. This takes a list of lists, where each sub-list must be the
- same length, and each is interpreted as a row in a table.
- Regular colify displays a sequential list of values in columns.
+ 1. This takes a list of lists, where each sub-list must be the
+ same length, and each is interpreted as a row in a table.
+ Regular colify displays a sequential list of values in columns.
- 2. Regular colify will always print with 1 column when the output
- is not a tty. This will always print with same dimensions of
- the table argument.
+ 2. Regular colify will always print with 1 column when the output
+ is not a tty. This will always print with same dimensions of
+ the table argument.
"""
if table is None:
@@ -221,20 +219,20 @@ def colify_table(table, **options):
for row in table:
yield row[i]
- if 'cols' in options:
+ if "cols" in options:
raise ValueError("Cannot override columsn in colify_table.")
- options['cols'] = columns
+ options["cols"] = columns
# don't reduce to 1 column for non-tty
- options['tty'] = True
+ options["tty"] = True
colify(transpose(), **options)
def colified(elts, **options):
"""Invokes the ``colify()`` function but returns the result as a string
- instead of writing it to an output string."""
+ instead of writing it to an output string."""
sio = StringIO()
- options['output'] = sio
+ options["output"] = sio
colify(elts, **options)
return sio.getvalue()
diff --git a/lib/spack/llnl/util/tty/color.py b/lib/spack/llnl/util/tty/color.py
index 99c0a5c7ac..1bc80331d4 100644
--- a/lib/spack/llnl/util/tty/color.py
+++ b/lib/spack/llnl/util/tty/color.py
@@ -76,29 +76,33 @@ class ColorParseError(Exception):
# Text styles for ansi codes
-styles = {'*': '1', # bold
- '_': '4', # underline
- None: '0'} # plain
+styles = {"*": "1", "_": "4", None: "0"} # bold # underline # plain
# Dim and bright ansi colors
-colors = {'k': 30, 'K': 90, # black
- 'r': 31, 'R': 91, # red
- 'g': 32, 'G': 92, # green
- 'y': 33, 'Y': 93, # yellow
- 'b': 34, 'B': 94, # blue
- 'm': 35, 'M': 95, # magenta
- 'c': 36, 'C': 96, # cyan
- 'w': 37, 'W': 97} # white
+colors = {
+ "k": 30,
+ "K": 90, # black
+ "r": 31,
+ "R": 91, # red
+ "g": 32,
+ "G": 92, # green
+ "y": 33,
+ "Y": 93, # yellow
+ "b": 34,
+ "B": 94, # blue
+ "m": 35,
+ "M": 95, # magenta
+ "c": 36,
+ "C": 96, # cyan
+ "w": 37,
+ "W": 97,
+} # white
# Regex to be used for color formatting
-color_re = r'@(?:@|\.|([*_])?([a-zA-Z])?(?:{((?:[^}]|}})*)})?)'
+color_re = r"@(?:@|\.|([*_])?([a-zA-Z])?(?:{((?:[^}]|}})*)})?)"
# Mapping from color arguments to values for tty.set_color
-color_when_values = {
- 'always': True,
- 'auto': None,
- 'never': False
-}
+color_when_values = {"always": True, "auto": None, "never": False}
# Force color; None: Only color if stdout is a tty
# True: Always colorize output, False: Never colorize output
@@ -114,7 +118,7 @@ def _color_when_value(when):
if when in color_when_values:
return color_when_values[when]
elif when not in color_when_values.values():
- raise ValueError('Invalid color setting: %s' % when)
+ raise ValueError("Invalid color setting: %s" % when)
return when
@@ -146,7 +150,6 @@ def color_when(value):
class match_to_ansi(object):
-
def __init__(self, color=True):
self.color = _color_when_value(color)
@@ -155,7 +158,7 @@ class match_to_ansi(object):
if self.color:
return "\033[%sm" % s
else:
- return ''
+ return ""
def __call__(self, match):
"""Convert a match object generated by ``color_re`` into an ansi
@@ -164,22 +167,22 @@ class match_to_ansi(object):
style, color, text = match.groups()
m = match.group(0)
- if m == '@@':
- return '@'
- elif m == '@.':
+ if m == "@@":
+ return "@"
+ elif m == "@.":
return self.escape(0)
- elif m == '@':
- raise ColorParseError("Incomplete color format: '%s' in %s"
- % (m, match.string))
+ elif m == "@":
+ raise ColorParseError("Incomplete color format: '%s' in %s" % (m, match.string))
string = styles[style]
if color:
if color not in colors:
- raise ColorParseError("Invalid color specifier: '%s' in '%s'"
- % (color, match.string))
- string += ';' + str(colors[color])
+ raise ColorParseError(
+ "Invalid color specifier: '%s' in '%s'" % (color, match.string)
+ )
+ string += ";" + str(colors[color])
- colored_text = ''
+ colored_text = ""
if text:
colored_text = text + self.escape(0)
@@ -199,28 +202,28 @@ def colorize(string, **kwargs):
color (bool): If False, output will be plain text without control
codes, for output to non-console devices.
"""
- color = _color_when_value(kwargs.get('color', get_color_when()))
+ color = _color_when_value(kwargs.get("color", get_color_when()))
string = re.sub(color_re, match_to_ansi(color), string)
- string = string.replace('}}', '}')
+ string = string.replace("}}", "}")
return string
def clen(string):
"""Return the length of a string, excluding ansi color sequences."""
- return len(re.sub(r'\033[^m]*m', '', string))
+ return len(re.sub(r"\033[^m]*m", "", string))
def cextra(string):
"""Length of extra color characters in a string"""
- return len(''.join(re.findall(r'\033[^m]*m', string)))
+ return len("".join(re.findall(r"\033[^m]*m", string)))
def cwrite(string, stream=None, color=None):
"""Replace all color expressions in string with ANSI control
- codes and write the result to the stream. If color is
- False, this will write plain text with no color. If True,
- then it will always write colored output. If not supplied,
- then it will be set based on stream.isatty().
+ codes and write the result to the stream. If color is
+ False, this will write plain text with no color. If True,
+ then it will always write colored output. If not supplied,
+ then it will be set based on stream.isatty().
"""
stream = sys.stdout if stream is None else stream
if color is None:
@@ -251,20 +254,19 @@ def cescape(string):
(str): the string with color codes escaped
"""
string = six.text_type(string)
- string = string.replace('@', '@@')
- string = string.replace('}', '}}')
+ string = string.replace("@", "@@")
+ string = string.replace("}", "}}")
return string
class ColorStream(object):
-
def __init__(self, stream, color=None):
self._stream = stream
self._color = color
def write(self, string, **kwargs):
- raw = kwargs.get('raw', False)
- raw_write = getattr(self._stream, 'write')
+ raw = kwargs.get("raw", False)
+ raw_write = getattr(self._stream, "write")
color = self._color
if self._color is None:
@@ -275,6 +277,6 @@ class ColorStream(object):
raw_write(colorize(string, color=color))
def writelines(self, sequence, **kwargs):
- raw = kwargs.get('raw', False)
+ raw = kwargs.get("raw", False)
for string in sequence:
self.write(string, self.color, raw=raw)
diff --git a/lib/spack/llnl/util/tty/log.py b/lib/spack/llnl/util/tty/log.py
index 51b9caa332..e155fa1d26 100644
--- a/lib/spack/llnl/util/tty/log.py
+++ b/lib/spack/llnl/util/tty/log.py
@@ -31,21 +31,22 @@ import llnl.util.tty as tty
termios = None # type: Optional[ModuleType]
try:
import termios as term_mod
+
termios = term_mod
except ImportError:
pass
# Use this to strip escape sequences
-_escape = re.compile(r'\x1b[^m]*m|\x1b\[?1034h|\x1b\][0-9]+;[^\x07]*\x07')
+_escape = re.compile(r"\x1b[^m]*m|\x1b\[?1034h|\x1b\][0-9]+;[^\x07]*\x07")
# control characters for enabling/disabling echo
#
# We use control characters to ensure that echo enable/disable are inline
# with the other output. We always follow these with a newline to ensure
# one per line the following newline is ignored in output.
-xon, xoff = '\x11\n', '\x13\n'
-control = re.compile('(\x11\n|\x13\n)')
+xon, xoff = "\x11\n", "\x13\n"
+control = re.compile("(\x11\n|\x13\n)")
@contextmanager
@@ -59,17 +60,13 @@ def ignore_signal(signum):
def _is_background_tty(stream):
- """True if the stream is a tty and calling process is in the background.
- """
- return (
- stream.isatty() and
- os.getpgrp() != os.tcgetpgrp(stream.fileno())
- )
+ """True if the stream is a tty and calling process is in the background."""
+ return stream.isatty() and os.getpgrp() != os.tcgetpgrp(stream.fileno())
def _strip(line):
"""Strip color and control characters from a line."""
- return _escape.sub('', line)
+ return _escape.sub("", line)
class keyboard_input(object):
@@ -147,6 +144,7 @@ class keyboard_input(object):
a TTY, ``keyboard_input`` has no effect.
"""
+
def __init__(self, stream):
"""Create a context manager that will enable keyboard input on stream.
@@ -204,7 +202,7 @@ class keyboard_input(object):
bg = self._is_background()
# restore sanity if flags are amiss -- see diagram in class docs
- if not bg and any(flags): # fg, but input not enabled
+ if not bg and any(flags): # fg, but input not enabled
self._enable_keyboard_input()
elif bg and not all(flags): # bg, but input enabled
self._restore_default_terminal_settings()
@@ -228,8 +226,7 @@ class keyboard_input(object):
# Install a signal handler to disable/enable keyboard input
# when the process moves between foreground and background.
- self.old_handlers[signal.SIGTSTP] = signal.signal(
- signal.SIGTSTP, self._tstp_handler)
+ self.old_handlers[signal.SIGTSTP] = signal.signal(signal.SIGTSTP, self._tstp_handler)
# add an atexit handler to ensure the terminal is restored
atexit.register(self._restore_default_terminal_settings)
@@ -258,6 +255,7 @@ class Unbuffered(object):
This is implemented by forcing a flush after each write.
"""
+
def __init__(self, stream):
self.stream = stream
@@ -302,6 +300,7 @@ class FileWrapper(object):
yet), or neither. When unwrapped, it returns an open file (or file-like)
object.
"""
+
def __init__(self, file_like):
# This records whether the file-like object returned by "unwrap" is
# purely in-memory. In that case a subprocess will need to explicitly
@@ -325,9 +324,9 @@ class FileWrapper(object):
if self.open:
if self.file_like:
if sys.version_info < (3,):
- self.file = open(self.file_like, 'w')
+ self.file = open(self.file_like, "w")
else:
- self.file = open(self.file_like, 'w', encoding='utf-8') # novm
+ self.file = open(self.file_like, "w", encoding="utf-8") # novm
else:
self.file = StringIO()
return self.file
@@ -343,8 +342,9 @@ class FileWrapper(object):
class MultiProcessFd(object):
"""Return an object which stores a file descriptor and can be passed as an
- argument to a function run with ``multiprocessing.Process``, such that
- the file descriptor is available in the subprocess."""
+ argument to a function run with ``multiprocessing.Process``, such that
+ the file descriptor is available in the subprocess."""
+
def __init__(self, fd):
self._connection = None
self._fd = None
@@ -434,7 +434,7 @@ def log_output(*args, **kwargs):
This method is actually a factory serving a per platform
(unix vs windows) log_output class
"""
- if sys.platform == 'win32':
+ if sys.platform == "win32":
return winlog(*args, **kwargs)
else:
return nixlog(*args, **kwargs)
@@ -454,8 +454,9 @@ class nixlog(object):
work within test frameworks like nose and pytest.
"""
- def __init__(self, file_like=None, echo=False, debug=0, buffer=False,
- env=None, filter_fn=None):
+ def __init__(
+ self, file_like=None, echo=False, debug=0, buffer=False, env=None, filter_fn=None
+ ):
"""Create a new output log context manager.
Args:
@@ -524,8 +525,7 @@ class nixlog(object):
raise RuntimeError("Can't re-enter the same log_output!")
if self.file_like is None:
- raise RuntimeError(
- "file argument must be set by either __init__ or __call__")
+ raise RuntimeError("file argument must be set by either __init__ or __call__")
# set up a stream for the daemon to write to
self.log_file = FileWrapper(self.file_like)
@@ -555,9 +555,7 @@ class nixlog(object):
input_multiprocess_fd = None
try:
if sys.stdin.isatty():
- input_multiprocess_fd = MultiProcessFd(
- os.dup(sys.stdin.fileno())
- )
+ input_multiprocess_fd = MultiProcessFd(os.dup(sys.stdin.fileno()))
except BaseException:
# just don't forward input if this fails
pass
@@ -566,9 +564,14 @@ class nixlog(object):
self.process = multiprocessing.Process(
target=_writer_daemon,
args=(
- input_multiprocess_fd, read_multiprocess_fd, write_fd,
- self.echo, self.log_file, child_pipe, self.filter_fn
- )
+ input_multiprocess_fd,
+ read_multiprocess_fd,
+ write_fd,
+ self.echo,
+ self.log_file,
+ child_pipe,
+ self.filter_fn,
+ ),
)
self.process.daemon = True # must set before start()
self.process.start()
@@ -609,7 +612,7 @@ class nixlog(object):
self._saved_stderr = sys.stderr
# create a file object for the pipe; redirect to it.
- pipe_fd_out = os.fdopen(write_fd, 'w')
+ pipe_fd_out = os.fdopen(write_fd, "w")
sys.stdout = pipe_fd_out
sys.stderr = pipe_fd_out
@@ -674,8 +677,7 @@ class nixlog(object):
def force_echo(self):
"""Context manager to force local echo, even if echo is off."""
if not self._active:
- raise RuntimeError(
- "Can't call force_echo() outside log_output region!")
+ raise RuntimeError("Can't call force_echo() outside log_output region!")
# This uses the xon/xoff to highlight regions to be echoed in the
# output. We us these control characters rather than, say, a
@@ -691,25 +693,26 @@ class nixlog(object):
class StreamWrapper:
- """ Wrapper class to handle redirection of io streams """
+ """Wrapper class to handle redirection of io streams"""
+
def __init__(self, sys_attr):
self.sys_attr = sys_attr
self.saved_stream = None
- if sys.platform.startswith('win32'):
+ if sys.platform.startswith("win32"):
if sys.version_info < (3, 5):
- libc = ctypes.CDLL(ctypes.util.find_library('c'))
+ libc = ctypes.CDLL(ctypes.util.find_library("c"))
else:
- if hasattr(sys, 'gettotalrefcount'): # debug build
- libc = ctypes.CDLL('ucrtbased')
+ if hasattr(sys, "gettotalrefcount"): # debug build
+ libc = ctypes.CDLL("ucrtbased")
else:
- libc = ctypes.CDLL('api-ms-win-crt-stdio-l1-1-0')
+ libc = ctypes.CDLL("api-ms-win-crt-stdio-l1-1-0")
- kernel32 = ctypes.WinDLL('kernel32')
+ kernel32 = ctypes.WinDLL("kernel32")
# https://docs.microsoft.com/en-us/windows/console/getstdhandle
- if self.sys_attr == 'stdout':
+ if self.sys_attr == "stdout":
STD_HANDLE = -11
- elif self.sys_attr == 'stderr':
+ elif self.sys_attr == "stderr":
STD_HANDLE = -12
else:
raise KeyError(self.sys_attr)
@@ -728,7 +731,7 @@ class StreamWrapper:
def redirect_stream(self, to_fd):
"""Redirect stdout to the given file descriptor."""
# Flush the C-level buffer stream
- if sys.platform.startswith('win32'):
+ if sys.platform.startswith("win32"):
self.libc.fflush(None)
else:
self.libc.fflush(self.c_stream)
@@ -739,13 +742,13 @@ class StreamWrapper:
# Make orig_stream_fd point to the same file as to_fd
os.dup2(to_fd, self.orig_stream_fd)
# Set sys_stream to a new stream that points to the redirected fd
- new_buffer = open(self.orig_stream_fd, 'wb')
+ new_buffer = open(self.orig_stream_fd, "wb")
new_stream = io.TextIOWrapper(new_buffer)
setattr(sys, self.sys_attr, new_stream)
self.sys_stream = getattr(sys, self.sys_attr)
def flush(self):
- if sys.platform.startswith('win32'):
+ if sys.platform.startswith("win32"):
self.libc.fflush(None)
else:
self.libc.fflush(self.c_stream)
@@ -768,14 +771,16 @@ class winlog(object):
Does not support the use of 'v' toggling as nixlog does.
"""
- def __init__(self, file_like=None, echo=False, debug=0, buffer=False,
- env=None, filter_fn=None):
+
+ def __init__(
+ self, file_like=None, echo=False, debug=0, buffer=False, env=None, filter_fn=None
+ ):
self.env = env
self.debug = debug
self.echo = echo
self.logfile = file_like
- self.stdout = StreamWrapper('stdout')
- self.stderr = StreamWrapper('stderr')
+ self.stdout = StreamWrapper("stdout")
+ self.stderr = StreamWrapper("stderr")
self._active = False
self._ioflag = False
self.old_stdout = sys.stdout
@@ -786,8 +791,7 @@ class winlog(object):
raise RuntimeError("Can't re-enter the same log_output!")
if self.logfile is None:
- raise RuntimeError(
- "file argument must be set by __init__ ")
+ raise RuntimeError("file argument must be set by __init__ ")
# Open both write and reading on logfile
if type(self.logfile) == StringIO:
@@ -796,8 +800,8 @@ class winlog(object):
sys.stdout = self.logfile
sys.stderr = self.logfile
else:
- self.writer = open(self.logfile, mode='wb+')
- self.reader = open(self.logfile, mode='rb+')
+ self.writer = open(self.logfile, mode="wb+")
+ self.reader = open(self.logfile, mode="rb+")
# Dup stdout so we can still write to it after redirection
self.echo_writer = open(os.dup(sys.stdout.fileno()), "w")
@@ -811,7 +815,7 @@ class winlog(object):
# if echo: write line to user
try:
while True:
- is_killed = _kill.wait(.1)
+ is_killed = _kill.wait(0.1)
# Flush buffered build output to file
# stdout/err fds refer to log file
self.stderr.flush()
@@ -819,7 +823,7 @@ class winlog(object):
line = reader.readline()
if self.echo and line:
- echo_writer.write('{0}'.format(line.decode()))
+ echo_writer.write("{0}".format(line.decode()))
echo_writer.flush()
if is_killed:
@@ -829,8 +833,9 @@ class winlog(object):
self._active = True
with replace_environment(self.env):
- self._thread = Thread(target=background_reader,
- args=(self.reader, self.echo_writer, self._kill))
+ self._thread = Thread(
+ target=background_reader, args=(self.reader, self.echo_writer, self._kill)
+ )
self._thread.start()
return self
@@ -854,13 +859,19 @@ class winlog(object):
def force_echo(self):
"""Context manager to force local echo, even if echo is off."""
if not self._active:
- raise RuntimeError(
- "Can't call force_echo() outside log_output region!")
+ raise RuntimeError("Can't call force_echo() outside log_output region!")
yield
-def _writer_daemon(stdin_multiprocess_fd, read_multiprocess_fd, write_fd, echo,
- log_file_wrapper, control_pipe, filter_fn):
+def _writer_daemon(
+ stdin_multiprocess_fd,
+ read_multiprocess_fd,
+ write_fd,
+ echo,
+ log_file_wrapper,
+ control_pipe,
+ filter_fn,
+):
"""Daemon used by ``log_output`` to write to a log file and to ``stdout``.
The daemon receives output from the parent process and writes it both
@@ -913,16 +924,16 @@ def _writer_daemon(stdin_multiprocess_fd, read_multiprocess_fd, write_fd, echo,
# write_fd to terminate the reading loop, so we close the file descriptor
# here. Forking is the process spawning method everywhere except Mac OS
# for Python >= 3.8 and on Windows
- if sys.version_info < (3, 8) or sys.platform != 'darwin':
+ if sys.version_info < (3, 8) or sys.platform != "darwin":
os.close(write_fd)
# Use line buffering (3rd param = 1) since Python 3 has a bug
# that prevents unbuffered text I/O.
if sys.version_info < (3,):
- in_pipe = os.fdopen(read_multiprocess_fd.fd, 'r', 1)
+ in_pipe = os.fdopen(read_multiprocess_fd.fd, "r", 1)
else:
# Python 3.x before 3.7 does not open with UTF-8 encoding by default
- in_pipe = os.fdopen(read_multiprocess_fd.fd, 'r', 1, encoding='utf-8')
+ in_pipe = os.fdopen(read_multiprocess_fd.fd, "r", 1, encoding="utf-8")
if stdin_multiprocess_fd:
stdin = os.fdopen(stdin_multiprocess_fd.fd)
@@ -931,7 +942,7 @@ def _writer_daemon(stdin_multiprocess_fd, read_multiprocess_fd, write_fd, echo,
# list of streams to select from
istreams = [in_pipe, stdin] if stdin else [in_pipe]
- force_echo = False # parent can force echo for certain output
+ force_echo = False # parent can force echo for certain output
log_file = log_file_wrapper.unwrap()
@@ -954,7 +965,7 @@ def _writer_daemon(stdin_multiprocess_fd, read_multiprocess_fd, write_fd, echo,
# check and the read, so we ignore SIGTTIN here.
with ignore_signal(signal.SIGTTIN):
try:
- if stdin.read(1) == 'v':
+ if stdin.read(1) == "v":
echo = not echo
except IOError as e:
# If SIGTTIN is ignored, the system gives EIO
@@ -972,14 +983,14 @@ def _writer_daemon(stdin_multiprocess_fd, read_multiprocess_fd, write_fd, echo,
line = _retry(in_pipe.readline)()
except UnicodeDecodeError:
# installs like --test=root gpgme produce non-UTF8 logs
- line = '<line lost: output was not encoded as UTF-8>\n'
+ line = "<line lost: output was not encoded as UTF-8>\n"
if not line:
return
line_count += 1
# find control characters and strip them.
- clean_line, num_controls = control.subn('', line)
+ clean_line, num_controls = control.subn("", line)
# Echo to stdout if requested or forced.
if echo or force_echo:
@@ -1043,6 +1054,7 @@ def _retry(function):
relevant for this file.
"""
+
def wrapped(*args, **kwargs):
while True:
try:
@@ -1055,6 +1067,7 @@ def _retry(function):
if e.args[0] == errno.EINTR:
continue
raise
+
return wrapped
diff --git a/lib/spack/llnl/util/tty/pty.py b/lib/spack/llnl/util/tty/pty.py
index 1a5731a5c7..8d7213a533 100644
--- a/lib/spack/llnl/util/tty/pty.py
+++ b/lib/spack/llnl/util/tty/pty.py
@@ -30,6 +30,7 @@ from spack.util.executable import which
termios = None
try:
import termios as term_mod
+
termios = term_mod
except ImportError:
pass
@@ -42,8 +43,8 @@ class ProcessController(object):
minion) similar to the way a shell would, by sending signals and I/O.
"""
- def __init__(self, pid, controller_fd,
- timeout=1, sleep_time=1e-1, debug=False):
+
+ def __init__(self, pid, controller_fd, timeout=1, sleep_time=1e-1, debug=False):
"""Create a controller to manipulate the process with id ``pid``
Args:
@@ -84,18 +85,19 @@ class ProcessController(object):
def horizontal_line(self, name):
"""Labled horizontal line for debugging."""
if self.debug:
- sys.stderr.write(
- "------------------------------------------- %s\n" % name
- )
+ sys.stderr.write("------------------------------------------- %s\n" % name)
def status(self):
"""Print debug message with status info for the minion."""
if self.debug:
canon, echo = self.get_canon_echo_attrs()
- sys.stderr.write("canon: %s, echo: %s\n" % (
- "on" if canon else "off",
- "on" if echo else "off",
- ))
+ sys.stderr.write(
+ "canon: %s, echo: %s\n"
+ % (
+ "on" if canon else "off",
+ "on" if echo else "off",
+ )
+ )
sys.stderr.write("input: %s\n" % self.input_on())
sys.stderr.write("bg: %s\n" % self.background())
sys.stderr.write("\n")
@@ -137,7 +139,7 @@ class ProcessController(object):
def wait(self, condition):
start = time.time()
- while (((time.time() - start) < self.timeout) and not condition()):
+ while ((time.time() - start) < self.timeout) and not condition():
time.sleep(1e-2)
assert condition()
@@ -219,6 +221,7 @@ class PseudoShell(object):
|_________________________________________________________|
"""
+
def __init__(self, controller_function, minion_function):
self.proc = None
self.controller_function = controller_function
@@ -242,8 +245,12 @@ class PseudoShell(object):
"""
self.proc = multiprocessing.Process(
target=PseudoShell._set_up_and_run_controller_function,
- args=(self.controller_function, self.minion_function,
- self.controller_timeout, self.sleep_time),
+ args=(
+ self.controller_function,
+ self.minion_function,
+ self.controller_timeout,
+ self.sleep_time,
+ ),
kwargs=kwargs,
)
self.proc.start()
@@ -255,7 +262,8 @@ class PseudoShell(object):
@staticmethod
def _set_up_and_run_minion_function(
- tty_name, stdout_fd, stderr_fd, ready, minion_function, **kwargs):
+ tty_name, stdout_fd, stderr_fd, ready, minion_function, **kwargs
+ ):
"""Minion process wrapper for PseudoShell.
Handles the mechanics of setting up a PTY, then calls
@@ -273,8 +281,7 @@ class PseudoShell(object):
os.close(stdin_fd)
if kwargs.get("debug"):
- sys.stderr.write(
- "minion: stdin.isatty(): %s\n" % sys.stdin.isatty())
+ sys.stderr.write("minion: stdin.isatty(): %s\n" % sys.stdin.isatty())
# tell the parent that we're really running
if kwargs.get("debug"):
@@ -288,15 +295,15 @@ class PseudoShell(object):
@staticmethod
def _set_up_and_run_controller_function(
- controller_function, minion_function, controller_timeout,
- sleep_time, **kwargs):
+ controller_function, minion_function, controller_timeout, sleep_time, **kwargs
+ ):
"""Set up a pty, spawn a minion process, execute controller_function.
Handles the mechanics of setting up a PTY, then calls
``controller_function``.
"""
- os.setsid() # new session; this process is the controller
+ os.setsid() # new session; this process is the controller
controller_fd, minion_fd = os.openpty()
pty_name = os.ttyname(minion_fd)
@@ -305,11 +312,10 @@ class PseudoShell(object):
pty_fd = os.open(pty_name, os.O_RDWR)
os.close(pty_fd)
- ready = multiprocessing.Value('i', False)
+ ready = multiprocessing.Value("i", False)
minion_process = multiprocessing.Process(
target=PseudoShell._set_up_and_run_minion_function,
- args=(pty_name, sys.stdout.fileno(), sys.stderr.fileno(),
- ready, minion_function),
+ args=(pty_name, sys.stdout.fileno(), sys.stderr.fileno(), ready, minion_function),
kwargs=kwargs,
)
minion_process.start()
@@ -329,8 +335,7 @@ class PseudoShell(object):
minion_pgid = os.getpgid(minion_process.pid)
sys.stderr.write("minion pid: %d\n" % minion_process.pid)
sys.stderr.write("minion pgid: %d\n" % minion_pgid)
- sys.stderr.write(
- "minion sid: %d\n" % os.getsid(minion_process.pid))
+ sys.stderr.write("minion sid: %d\n" % os.getsid(minion_process.pid))
sys.stderr.write("\n")
sys.stderr.flush()
# set up controller to ignore SIGTSTP, like a shell
@@ -339,7 +344,8 @@ class PseudoShell(object):
# call the controller function once the minion is ready
try:
controller = ProcessController(
- minion_process.pid, controller_fd, debug=kwargs.get("debug"))
+ minion_process.pid, controller_fd, debug=kwargs.get("debug")
+ )
controller.timeout = controller_timeout
controller.sleep_time = sleep_time
error = controller_function(minion_process, controller, **kwargs)
diff --git a/lib/spack/spack/__init__.py b/lib/spack/spack/__init__.py
index e64c21f32d..e368639553 100644
--- a/lib/spack/spack/__init__.py
+++ b/lib/spack/spack/__init__.py
@@ -4,10 +4,10 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#: (major, minor, micro, dev release) tuple
-spack_version_info = (0, 19, 0, 'dev0')
+spack_version_info = (0, 19, 0, "dev0")
#: PEP440 canonical <major>.<minor>.<micro>.<devN> string
-spack_version = '.'.join(str(s) for s in spack_version_info)
+spack_version = ".".join(str(s) for s in spack_version_info)
-__all__ = ['spack_version_info', 'spack_version']
+__all__ = ["spack_version_info", "spack_version"]
__version__ = spack_version
diff --git a/lib/spack/spack/abi.py b/lib/spack/spack/abi.py
index fdf9a49695..d49be8bc0d 100644
--- a/lib/spack/spack/abi.py
+++ b/lib/spack/spack/abi.py
@@ -15,21 +15,25 @@ from spack.util.executable import Executable, ProcessError
class ABI(object):
"""This class provides methods to test ABI compatibility between specs.
- The current implementation is rather rough and could be improved."""
+ The current implementation is rather rough and could be improved."""
def architecture_compatible(self, target, constraint):
"""Return true if architecture of target spec is ABI compatible
- to the architecture of constraint spec. If either the target
- or constraint specs have no architecture, target is also defined
- as architecture ABI compatible to constraint."""
- return not target.architecture or not constraint.architecture or \
- target.architecture.satisfies(constraint.architecture)
+ to the architecture of constraint spec. If either the target
+ or constraint specs have no architecture, target is also defined
+ as architecture ABI compatible to constraint."""
+ return (
+ not target.architecture
+ or not constraint.architecture
+ or target.architecture.satisfies(constraint.architecture)
+ )
@memoized
def _gcc_get_libstdcxx_version(self, version):
"""Returns gcc ABI compatibility info by getting the library version of
- a compiler's libstdc++ or libgcc_s"""
+ a compiler's libstdc++ or libgcc_s"""
from spack.build_environment import dso_suffix
+
spec = CompilerSpec("gcc", version)
compilers = spack.compilers.compilers_for_spec(spec)
if not compilers:
@@ -50,7 +54,7 @@ class ABI(object):
# Some gcc's are actually clang and don't respond properly to
# --print-file-name (they just print the filename, not the
# full path). Ignore these and expect them to be handled as clang.
- if Clang.default_version(rungcc.exe[0]) != 'unknown':
+ if Clang.default_version(rungcc.exe[0]) != "unknown":
return None
output = rungcc("--print-file-name=%s" % libname, output=str)
@@ -66,7 +70,7 @@ class ABI(object):
@memoized
def _gcc_compiler_compare(self, pversion, cversion):
"""Returns true iff the gcc version pversion and cversion
- are ABI compatible."""
+ are ABI compatible."""
plib = self._gcc_get_libstdcxx_version(pversion)
clib = self._gcc_get_libstdcxx_version(cversion)
if not plib or not clib:
@@ -75,10 +79,10 @@ class ABI(object):
def _intel_compiler_compare(self, pversion, cversion):
"""Returns true iff the intel version pversion and cversion
- are ABI compatible"""
+ are ABI compatible"""
# Test major and minor versions. Ignore build version.
- if (len(pversion.version) < 2 or len(cversion.version) < 2):
+ if len(pversion.version) < 2 or len(cversion.version) < 2:
return False
return pversion.version[:2] == cversion.version[:2]
@@ -91,7 +95,7 @@ class ABI(object):
# Different compiler families are assumed ABI incompatible
return False
- if kwargs.get('loose', False):
+ if kwargs.get("loose", False):
return True
# TODO: Can we move the specialized ABI matching stuff
@@ -102,16 +106,19 @@ class ABI(object):
# Otherwise match on version match.
if pversion.satisfies(cversion):
return True
- elif (parent.compiler.name == "gcc" and
- self._gcc_compiler_compare(pversion, cversion)):
+ elif parent.compiler.name == "gcc" and self._gcc_compiler_compare(
+ pversion, cversion
+ ):
return True
- elif (parent.compiler.name == "intel" and
- self._intel_compiler_compare(pversion, cversion)):
+ elif parent.compiler.name == "intel" and self._intel_compiler_compare(
+ pversion, cversion
+ ):
return True
return False
def compatible(self, target, constraint, **kwargs):
"""Returns true if target spec is ABI compatible to constraint spec"""
- loosematch = kwargs.get('loose', False)
- return self.architecture_compatible(target, constraint) and \
- self.compiler_compatible(target, constraint, loose=loosematch)
+ loosematch = kwargs.get("loose", False)
+ return self.architecture_compatible(target, constraint) and self.compiler_compatible(
+ target, constraint, loose=loosematch
+ )
diff --git a/lib/spack/spack/audit.py b/lib/spack/spack/audit.py
index 713ccc6055..acc8519a7f 100644
--- a/lib/spack/spack/audit.py
+++ b/lib/spack/spack/audit.py
@@ -59,14 +59,13 @@ GROUPS = collections.defaultdict(list)
class Error(object):
"""Information on an error reported in a test."""
+
def __init__(self, summary, details):
self.summary = summary
self.details = tuple(details)
def __str__(self):
- return self.summary + '\n' + '\n'.join([
- ' ' + detail for detail in self.details
- ])
+ return self.summary + "\n" + "\n".join([" " + detail for detail in self.details])
def __eq__(self, other):
if self.summary != other.summary or self.details != other.details:
@@ -118,11 +117,11 @@ class AuditClass(Sequence):
def run(self, **kwargs):
msg = 'please pass "{0}" as keyword arguments'
- msg = msg.format(', '.join(self.kwargs))
+ msg = msg.format(", ".join(self.kwargs))
assert set(self.kwargs) == set(kwargs), msg
errors = []
- kwargs['error_cls'] = Error
+ kwargs["error_cls"] = Error
for fn in self.callbacks:
errors.extend(fn(**kwargs))
@@ -164,19 +163,16 @@ def run_check(tag, **kwargs):
# TODO: https://github.com/spack/spack/pull/23053/files#r630265011
#: Generic checks relying on global state
generic = AuditClass(
- group='generic',
- tag='GENERIC',
- description='Generic checks relying on global variables',
- kwargs=()
+ group="generic",
+ tag="GENERIC",
+ description="Generic checks relying on global variables",
+ kwargs=(),
)
#: Sanity checks on compilers.yaml
config_compiler = AuditClass(
- group='configs',
- tag='CFG-COMPILER',
- description='Sanity checks on compilers.yaml',
- kwargs=()
+ group="configs", tag="CFG-COMPILER", description="Sanity checks on compilers.yaml", kwargs=()
)
@@ -185,34 +181,25 @@ def _search_duplicate_compilers(error_cls):
"""Report compilers with the same spec and two different definitions"""
errors = []
- compilers = list(sorted(
- spack.config.get('compilers'), key=lambda x: x['compiler']['spec']
- ))
- for spec, group in itertools.groupby(
- compilers, key=lambda x: x['compiler']['spec']
- ):
+ compilers = list(sorted(spack.config.get("compilers"), key=lambda x: x["compiler"]["spec"]))
+ for spec, group in itertools.groupby(compilers, key=lambda x: x["compiler"]["spec"]):
group = list(group)
if len(group) == 1:
continue
- error_msg = 'Compiler defined multiple times: {0}'
+ error_msg = "Compiler defined multiple times: {0}"
try:
details = [str(x._start_mark).strip() for x in group]
except Exception:
details = []
- errors.append(error_cls(
- summary=error_msg.format(spec), details=details
- ))
+ errors.append(error_cls(summary=error_msg.format(spec), details=details))
return errors
#: Sanity checks on packages.yaml
config_packages = AuditClass(
- group='configs',
- tag='CFG-PACKAGES',
- description='Sanity checks on packages.yaml',
- kwargs=()
+ group="configs", tag="CFG-PACKAGES", description="Sanity checks on packages.yaml", kwargs=()
)
@@ -220,19 +207,19 @@ config_packages = AuditClass(
def _search_duplicate_specs_in_externals(error_cls):
"""Search for duplicate specs declared as externals"""
errors, externals = [], collections.defaultdict(list)
- packages_yaml = spack.config.get('packages')
+ packages_yaml = spack.config.get("packages")
for name, pkg_config in packages_yaml.items():
# No externals can be declared under all
- if name == 'all' or 'externals' not in pkg_config:
+ if name == "all" or "externals" not in pkg_config:
continue
- current_externals = pkg_config['externals']
+ current_externals = pkg_config["externals"]
for entry in current_externals:
# Ask for the string representation of the spec to normalize
# aspects of the spec that may be represented in multiple ways
# e.g. +foo or foo=true
- key = str(spack.spec.Spec(entry['spec']))
+ key = str(spack.spec.Spec(entry["spec"]))
externals[key].append(entry)
for spec, entries in sorted(externals.items()):
@@ -241,14 +228,14 @@ def _search_duplicate_specs_in_externals(error_cls):
continue
# Otherwise wwe need to report an error
- error_msg = 'Multiple externals share the same spec: {0}'.format(spec)
+ error_msg = "Multiple externals share the same spec: {0}".format(spec)
try:
lines = [str(x._start_mark).strip() for x in entries]
- details = [
- 'Please remove all but one of the following entries:'
- ] + lines + [
- 'as they might result in non-deterministic hashes'
- ]
+ details = (
+ ["Please remove all but one of the following entries:"]
+ + lines
+ + ["as they might result in non-deterministic hashes"]
+ )
except TypeError:
details = []
@@ -259,20 +246,20 @@ def _search_duplicate_specs_in_externals(error_cls):
#: Sanity checks on package directives
package_directives = AuditClass(
- group='packages',
- tag='PKG-DIRECTIVES',
- description='Sanity checks on specs used in directives',
- kwargs=('pkgs',)
+ group="packages",
+ tag="PKG-DIRECTIVES",
+ description="Sanity checks on specs used in directives",
+ 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',)
+ group="packages-https",
+ tag="PKG-HTTPS-DIRECTIVES",
+ description="Sanity checks on https checks of package urls, etc.",
+ kwargs=("pkgs",),
)
@@ -284,11 +271,9 @@ def _check_build_test_callbacks(pkgs, error_cls):
pkg_cls = spack.repo.path.get_pkg_class(pkg_name)
test_callbacks = pkg_cls.build_time_test_callbacks
- if test_callbacks and 'test' in test_callbacks:
- msg = ('{0} package contains "test" method in '
- 'build_time_test_callbacks')
- instr = ('Remove "test" from: [{0}]'
- .format(', '.join(test_callbacks)))
+ if test_callbacks and "test" in test_callbacks:
+ msg = '{0} package contains "test" method in ' "build_time_test_callbacks"
+ instr = 'Remove "test" from: [{0}]'.format(", ".join(test_callbacks))
errors.append(error_cls(msg.format(pkg_name), [instr]))
return errors
@@ -315,26 +300,28 @@ def _check_patch_urls(pkgs, error_cls):
full_index_arg = "?full_index=1"
if not patch.url.endswith(full_index_arg):
- errors.append(error_cls(
- "patch URL in package {0} must end with {1}".format(
- pkg_cls.name, full_index_arg,
- ),
- [patch.url],
- ))
+ errors.append(
+ error_cls(
+ "patch URL in package {0} must end with {1}".format(
+ pkg_cls.name,
+ full_index_arg,
+ ),
+ [patch.url],
+ )
+ )
return errors
@package_https_directives
def _linting_package_file(pkgs, error_cls):
- """Check for correctness of links
- """
+ """Check for correctness of links"""
errors = []
for pkg_name in pkgs:
pkg_cls = spack.repo.path.get_pkg_class(pkg_name)
# Does the homepage have http, and if so, does https work?
- if pkg_cls.homepage.startswith('http://'):
+ if pkg_cls.homepage.startswith("http://"):
https = re.sub("http", "https", pkg_cls.homepage, 1)
try:
response = urlopen(https)
@@ -370,36 +357,48 @@ def _unknown_variants_in_directives(pkgs, error_cls):
# conflict and trigger separately in that case.
# When os and target constraints can be created independently of
# the platform, TODO change this back to add an error.
- errors.extend(_analyze_variants_in_directive(
- pkg_cls, spack.spec.Spec(trigger),
- directive='conflicts', error_cls=error_cls
- ))
- errors.extend(_analyze_variants_in_directive(
- pkg_cls, vrn, directive='conflicts', error_cls=error_cls
- ))
+ errors.extend(
+ _analyze_variants_in_directive(
+ pkg_cls,
+ spack.spec.Spec(trigger),
+ directive="conflicts",
+ error_cls=error_cls,
+ )
+ )
+ errors.extend(
+ _analyze_variants_in_directive(
+ pkg_cls, vrn, directive="conflicts", error_cls=error_cls
+ )
+ )
# Check "depends_on" directive
for _, triggers in pkg_cls.dependencies.items():
triggers = list(triggers)
for trigger in list(triggers):
vrn = spack.spec.Spec(trigger)
- errors.extend(_analyze_variants_in_directive(
- pkg_cls, vrn, directive='depends_on', error_cls=error_cls
- ))
+ errors.extend(
+ _analyze_variants_in_directive(
+ pkg_cls, vrn, directive="depends_on", error_cls=error_cls
+ )
+ )
# Check "patch" directive
for _, triggers in pkg_cls.provided.items():
triggers = [spack.spec.Spec(x) for x in triggers]
for vrn in triggers:
- errors.extend(_analyze_variants_in_directive(
- pkg_cls, vrn, directive='patch', error_cls=error_cls
- ))
+ errors.extend(
+ _analyze_variants_in_directive(
+ pkg_cls, vrn, directive="patch", error_cls=error_cls
+ )
+ )
# Check "resource" directive
for vrn in pkg_cls.resources:
- errors.extend(_analyze_variants_in_directive(
- pkg_cls, vrn, directive='resource', error_cls=error_cls
- ))
+ errors.extend(
+ _analyze_variants_in_directive(
+ pkg_cls, vrn, directive="resource", error_cls=error_cls
+ )
+ )
return llnl.util.lang.dedupe(errors)
@@ -421,11 +420,10 @@ def _unknown_variants_in_dependencies(pkgs, error_cls):
except spack.repo.UnknownPackageError:
# This dependency is completely missing, so report
# and continue the analysis
- summary = (pkg_name + ": unknown package '{0}' in "
- "'depends_on' directive".format(dependency_name))
- details = [
- " in " + filename
- ]
+ summary = pkg_name + ": unknown package '{0}' in " "'depends_on' directive".format(
+ dependency_name
+ )
+ details = [" in " + filename]
errors.append(error_cls(summary=summary, details=details))
continue
@@ -436,17 +434,18 @@ def _unknown_variants_in_dependencies(pkgs, error_cls):
v, _ = dependency_pkg_cls.variants[name]
v.validate_or_raise(value, pkg_cls=dependency_pkg_cls)
except Exception as e:
- summary = (pkg_name + ": wrong variant used for a "
- "dependency in a 'depends_on' directive")
+ summary = (
+ pkg_name + ": wrong variant used for a "
+ "dependency in a 'depends_on' directive"
+ )
error_msg = str(e).strip()
if isinstance(e, KeyError):
- error_msg = ('the variant {0} does not '
- 'exist'.format(error_msg))
+ error_msg = "the variant {0} does not " "exist".format(error_msg)
error_msg += " in package '" + dependency_name + "'"
- errors.append(error_cls(
- summary=summary, details=[error_msg, 'in ' + filename]
- ))
+ errors.append(
+ error_cls(summary=summary, details=[error_msg, "in " + filename])
+ )
return errors
@@ -465,25 +464,24 @@ def _version_constraints_are_satisfiable_by_some_version_in_repo(pkgs, error_cls
if spack.repo.path.is_virtual(dependency_name):
continue
- dependencies_to_check.extend(
- [edge.spec for edge in dependency_data.values()]
- )
+ dependencies_to_check.extend([edge.spec for edge in dependency_data.values()])
for s in dependencies_to_check:
dependency_pkg_cls = None
try:
dependency_pkg_cls = spack.repo.path.get_pkg_class(s.name)
- assert any(
- v.satisfies(s.versions) for v in list(dependency_pkg_cls.versions)
- )
+ assert any(v.satisfies(s.versions) for v in list(dependency_pkg_cls.versions))
except Exception:
- summary = ("{0}: dependency on {1} cannot be satisfied "
- "by known versions of {1.name}").format(pkg_name, s)
- details = ['happening in ' + filename]
+ summary = (
+ "{0}: dependency on {1} cannot be satisfied " "by known versions of {1.name}"
+ ).format(pkg_name, s)
+ details = ["happening in " + filename]
if dependency_pkg_cls is not None:
- details.append('known versions of {0.name} are {1}'.format(
- s, ', '.join([str(x) for x in dependency_pkg_cls.versions])
- ))
+ details.append(
+ "known versions of {0.name} are {1}".format(
+ s, ", ".join([str(x) for x in dependency_pkg_cls.versions])
+ )
+ )
errors.append(error_cls(summary=summary, details=details))
return errors
@@ -494,7 +492,7 @@ def _analyze_variants_in_directive(pkg, constraint, directive, error_cls):
spack.variant.InconsistentValidationError,
spack.variant.MultipleValuesInExclusiveVariantError,
spack.variant.InvalidVariantValueError,
- KeyError
+ KeyError,
)
errors = []
for name, v in constraint.variants.items():
@@ -508,11 +506,9 @@ def _analyze_variants_in_directive(pkg, constraint, directive, error_cls):
error_msg = str(e).strip()
if isinstance(e, KeyError):
- error_msg = 'the variant {0} does not exist'.format(error_msg)
+ error_msg = "the variant {0} does not exist".format(error_msg)
- err = error_cls(summary=summary, details=[
- error_msg, 'in ' + filename
- ])
+ err = error_cls(summary=summary, details=[error_msg, "in " + filename])
errors.append(err)
diff --git a/lib/spack/spack/binary_distribution.py b/lib/spack/spack/binary_distribution.py
index f9aa2df403..c100794e67 100644
--- a/lib/spack/spack/binary_distribution.py
+++ b/lib/spack/spack/binary_distribution.py
@@ -44,12 +44,13 @@ from spack.caches import misc_cache_location
from spack.spec import Spec
from spack.stage import Stage
-_build_cache_relative_path = 'build_cache'
-_build_cache_keys_relative_path = '_pgp'
+_build_cache_relative_path = "build_cache"
+_build_cache_keys_relative_path = "_pgp"
class FetchCacheError(Exception):
"""Error thrown when fetching the cache failed, usually a composite error list."""
+
def __init__(self, errors):
if not isinstance(errors, list):
raise TypeError("Expected a list of errors")
@@ -57,10 +58,12 @@ class FetchCacheError(Exception):
if len(errors) > 1:
msg = " Error {0}: {1}: {2}"
self.message = "Multiple errors during fetching:\n"
- self.message += "\n".join((
- msg.format(i + 1, err.__class__.__name__, str(err))
- for (i, err) in enumerate(errors)
- ))
+ self.message += "\n".join(
+ (
+ msg.format(i + 1, err.__class__.__name__, str(err))
+ for (i, err) in enumerate(errors)
+ )
+ )
else:
err = errors[0]
self.message = "{0}: {1}".format(err.__class__.__name__, str(err))
@@ -90,7 +93,7 @@ class BinaryCacheIndex(object):
self._index_cache_root = cache_root
# the key associated with the serialized _local_index_cache
- self._index_contents_key = 'contents.json'
+ self._index_contents_key = "contents.json"
# a FileCache instance storing copies of remote binary cache indices
self._index_file_cache = None
@@ -114,8 +117,7 @@ class BinaryCacheIndex(object):
def _init_local_index_cache(self):
if not self._index_file_cache:
- self._index_file_cache = file_cache.FileCache(
- self._index_cache_root)
+ self._index_file_cache = file_cache.FileCache(self._index_cache_root)
cache_key = self._index_contents_key
self._index_file_cache.init_entry(cache_key)
@@ -124,13 +126,12 @@ class BinaryCacheIndex(object):
self._local_index_cache = {}
if os.path.isfile(cache_path):
- with self._index_file_cache.read_transaction(
- cache_key) as cache_file:
+ with self._index_file_cache.read_transaction(cache_key) as cache_file:
self._local_index_cache = json.load(cache_file)
def clear(self):
- """ For testing purposes we need to be able to empty the cache and
- clear associated data structures. """
+ """For testing purposes we need to be able to empty the cache and
+ clear associated data structures."""
if self._index_file_cache:
self._index_file_cache.destroy()
self._index_file_cache = None
@@ -145,10 +146,10 @@ class BinaryCacheIndex(object):
json.dump(self._local_index_cache, new)
def regenerate_spec_cache(self, clear_existing=False):
- """ Populate the local cache of concrete specs (``_mirrors_for_spec``)
+ """Populate the local cache of concrete specs (``_mirrors_for_spec``)
from the locally cached buildcache index files. This is essentially a
no-op if it has already been done, as we keep track of the index
- hashes for which we have already associated the built specs. """
+ hashes for which we have already associated the built specs."""
self._init_local_index_cache()
if clear_existing:
@@ -157,20 +158,18 @@ class BinaryCacheIndex(object):
for mirror_url in self._local_index_cache:
cache_entry = self._local_index_cache[mirror_url]
- cached_index_path = cache_entry['index_path']
- cached_index_hash = cache_entry['index_hash']
+ cached_index_path = cache_entry["index_path"]
+ cached_index_hash = cache_entry["index_hash"]
if cached_index_hash not in self._specs_already_associated:
- self._associate_built_specs_with_mirror(cached_index_path,
- mirror_url)
+ self._associate_built_specs_with_mirror(cached_index_path, mirror_url)
self._specs_already_associated.add(cached_index_hash)
def _associate_built_specs_with_mirror(self, cache_key, mirror_url):
tmpdir = tempfile.mkdtemp()
try:
- db_root_dir = os.path.join(tmpdir, 'db_root')
- db = spack_db.Database(None, db_dir=db_root_dir,
- enable_transaction_locking=False)
+ db_root_dir = os.path.join(tmpdir, "db_root")
+ db = spack_db.Database(None, db_dir=db_root_dir, enable_transaction_locking=False)
self._index_file_cache.init_entry(cache_key)
cache_path = self._index_file_cache.cache_path(cache_key)
@@ -189,13 +188,15 @@ class BinaryCacheIndex(object):
# A binary mirror can only have one spec per DAG hash, so
# if we already have an entry under this DAG hash for this
# mirror url, we're done.
- if entry['mirror_url'] == mirror_url:
+ if entry["mirror_url"] == mirror_url:
break
else:
- self._mirrors_for_spec[dag_hash].append({
- "mirror_url": mirror_url,
- "spec": indexed_spec,
- })
+ self._mirrors_for_spec[dag_hash].append(
+ {
+ "mirror_url": mirror_url,
+ "spec": indexed_spec,
+ }
+ )
finally:
shutil.rmtree(tmpdir)
@@ -206,7 +207,7 @@ class BinaryCacheIndex(object):
# with the same DAG hash are equivalent, so we can just
# return the first one in the list.
if len(self._mirrors_for_spec[dag_hash]) > 0:
- spec_list.append(self._mirrors_for_spec[dag_hash][0]['spec'])
+ spec_list.append(self._mirrors_for_spec[dag_hash][0]["spec"])
return spec_list
@@ -258,7 +259,7 @@ class BinaryCacheIndex(object):
if not mirrors_to_check:
return results
mirror_urls = mirrors_to_check.values()
- return [r for r in results if r['mirror_url'] in mirror_urls]
+ return [r for r in results if r["mirror_url"] in mirror_urls]
def update_spec(self, spec, found_list):
"""
@@ -273,24 +274,24 @@ class BinaryCacheIndex(object):
current_list = self._mirrors_for_spec[spec_dag_hash]
for new_entry in found_list:
for cur_entry in current_list:
- if new_entry['mirror_url'] == cur_entry['mirror_url']:
- cur_entry['spec'] = new_entry['spec']
+ if new_entry["mirror_url"] == cur_entry["mirror_url"]:
+ cur_entry["spec"] = new_entry["spec"]
break
else:
current_list.append = {
- 'mirror_url': new_entry['mirror_url'],
- 'spec': new_entry['spec'],
+ "mirror_url": new_entry["mirror_url"],
+ "spec": new_entry["spec"],
}
def update(self):
- """ Make sure local cache of buildcache index files is up to date.
+ """Make sure local cache of buildcache index files is up to date.
If the same mirrors are configured as the last time this was called
and none of the remote buildcache indices have changed, calling this
method will only result in fetching the index hash from each mirror
to confirm it is the same as what is stored locally. Otherwise, the
buildcache ``index.json`` and ``index.json.hash`` files are retrieved
from each configured mirror and stored locally (both in memory and
- on disk under ``_index_cache_root``). """
+ on disk under ``_index_cache_root``)."""
self._init_local_index_cache()
mirrors = spack.mirror.MirrorCollection()
@@ -327,13 +328,14 @@ class BinaryCacheIndex(object):
for cached_mirror_url in self._local_index_cache:
cache_entry = self._local_index_cache[cached_mirror_url]
- cached_index_hash = cache_entry['index_hash']
- cached_index_path = cache_entry['index_path']
+ cached_index_hash = cache_entry["index_hash"]
+ cached_index_path = cache_entry["index_path"]
if cached_mirror_url in configured_mirror_urls:
# May need to fetch the index and update the local caches
try:
needs_regen = self._fetch_and_cache_index(
- cached_mirror_url, expect_hash=cached_index_hash)
+ cached_mirror_url, expect_hash=cached_index_hash
+ )
all_methods_failed = False
except FetchCacheError as fetch_error:
needs_regen = False
@@ -343,18 +345,19 @@ class BinaryCacheIndex(object):
spec_cache_regenerate_needed |= needs_regen
else:
# No longer have this mirror, cached index should be removed
- items_to_remove.append({
- 'url': cached_mirror_url,
- 'cache_key': os.path.join(self._index_cache_root,
- cached_index_path)
- })
+ items_to_remove.append(
+ {
+ "url": cached_mirror_url,
+ "cache_key": os.path.join(self._index_cache_root, cached_index_path),
+ }
+ )
spec_cache_clear_needed = True
spec_cache_regenerate_needed = True
# Clean up items to be removed, identified above
for item in items_to_remove:
- url = item['url']
- cache_key = item['cache_key']
+ url = item["url"]
+ cache_key = item["cache_key"]
self._index_file_cache.remove(cache_key)
del self._local_index_cache[url]
@@ -383,7 +386,7 @@ class BinaryCacheIndex(object):
self.regenerate_spec_cache(clear_existing=spec_cache_clear_needed)
def _fetch_and_cache_index(self, mirror_url, expect_hash=None):
- """ Fetch a buildcache index file from a remote mirror and cache it.
+ """Fetch a buildcache index file from a remote mirror and cache it.
If we already have a cached index from this mirror, then we first
check if the hash has changed, and we avoid fetching it if not.
@@ -401,10 +404,8 @@ class BinaryCacheIndex(object):
Throws:
FetchCacheError: a composite exception.
"""
- index_fetch_url = url_util.join(
- mirror_url, _build_cache_relative_path, 'index.json')
- hash_fetch_url = url_util.join(
- mirror_url, _build_cache_relative_path, 'index.json.hash')
+ index_fetch_url = url_util.join(mirror_url, _build_cache_relative_path, "index.json")
+ hash_fetch_url = url_util.join(mirror_url, _build_cache_relative_path, "index.json.hash")
if not web_util.url_exists(index_fetch_url):
# A binary mirror is not required to have an index, so avoid
@@ -420,12 +421,14 @@ class BinaryCacheIndex(object):
# the index itself.
try:
_, _, fs = web_util.read_from_url(hash_fetch_url)
- fetched_hash = codecs.getreader('utf-8')(fs).read()
+ fetched_hash = codecs.getreader("utf-8")(fs).read()
except (URLError, web_util.SpackWebError) as url_err:
errors.append(
- RuntimeError("Unable to read index hash {0} due to {1}: {2}".format(
- hash_fetch_url, url_err.__class__.__name__, str(url_err)
- ))
+ RuntimeError(
+ "Unable to read index hash {0} due to {1}: {2}".format(
+ hash_fetch_url, url_err.__class__.__name__, str(url_err)
+ )
+ )
)
# The only case where we'll skip attempting to fetch the buildcache
@@ -434,8 +437,7 @@ class BinaryCacheIndex(object):
# the two hashes are the same.
if expect_hash and fetched_hash:
if fetched_hash == expect_hash:
- tty.debug('Cached index for {0} already up to date'.format(
- mirror_url))
+ tty.debug("Cached index for {0} already up to date".format(mirror_url))
return False
else:
# We expected a hash, we fetched a hash, and they were not the
@@ -444,28 +446,31 @@ class BinaryCacheIndex(object):
# existing cache file
if mirror_url in self._local_index_cache:
existing_entry = self._local_index_cache[mirror_url]
- old_cache_key = existing_entry['index_path']
+ old_cache_key = existing_entry["index_path"]
- tty.debug('Fetching index from {0}'.format(index_fetch_url))
+ tty.debug("Fetching index from {0}".format(index_fetch_url))
# Fetch index itself
try:
_, _, fs = web_util.read_from_url(index_fetch_url)
- index_object_str = codecs.getreader('utf-8')(fs).read()
+ index_object_str = codecs.getreader("utf-8")(fs).read()
except (URLError, web_util.SpackWebError) as url_err:
errors.append(
- RuntimeError("Unable to read index {0} due to {1}: {2}".format(
- index_fetch_url, url_err.__class__.__name__, str(url_err)
- ))
+ RuntimeError(
+ "Unable to read index {0} due to {1}: {2}".format(
+ index_fetch_url, url_err.__class__.__name__, str(url_err)
+ )
+ )
)
raise FetchCacheError(errors)
locally_computed_hash = compute_hash(index_object_str)
if fetched_hash is not None and locally_computed_hash != fetched_hash:
- msg = ('Computed hash ({0}) did not match remote ({1}), '
- 'indicating error in index transmission').format(
- locally_computed_hash, expect_hash)
+ msg = (
+ "Computed hash ({0}) did not match remote ({1}), "
+ "indicating error in index transmission"
+ ).format(locally_computed_hash, expect_hash)
errors.append(RuntimeError(msg))
# We somehow got an index that doesn't match the remote one, maybe
# the next time we try we'll be successful.
@@ -473,15 +478,14 @@ class BinaryCacheIndex(object):
url_hash = compute_hash(mirror_url)
- cache_key = '{0}_{1}.json'.format(
- url_hash[:10], locally_computed_hash[:10])
+ cache_key = "{0}_{1}.json".format(url_hash[:10], locally_computed_hash[:10])
self._index_file_cache.init_entry(cache_key)
with self._index_file_cache.write_transaction(cache_key) as (old, new):
new.write(index_object_str)
self._local_index_cache[mirror_url] = {
- 'index_hash': locally_computed_hash,
- 'index_path': cache_key,
+ "index_hash": locally_computed_hash,
+ "index_path": cache_key,
}
# clean up the old cache_key if necessary
@@ -495,7 +499,7 @@ class BinaryCacheIndex(object):
def binary_index_location():
"""Set up a BinaryCacheIndex for remote buildcache dbs in the user's homedir."""
- cache_root = os.path.join(misc_cache_location(), 'indices')
+ cache_root = os.path.join(misc_cache_location(), "indices")
return spack.util.path.canonicalize_path(cache_root)
@@ -552,6 +556,7 @@ class NoVerifyException(spack.error.SpackError):
"""
Raised if file fails signature verification.
"""
+
pass
@@ -559,6 +564,7 @@ class NoChecksumException(spack.error.SpackError):
"""
Raised if file fails checksum verification.
"""
+
pass
@@ -579,7 +585,7 @@ class UnsignedPackageException(spack.error.SpackError):
def compute_hash(data):
- return hashlib.sha256(data.encode('utf-8')).hexdigest()
+ return hashlib.sha256(data.encode("utf-8")).hexdigest()
def build_cache_relative_path():
@@ -607,7 +613,7 @@ def read_buildinfo_file(prefix):
Read buildinfo file
"""
filename = buildinfo_file_name(prefix)
- with open(filename, 'r') as inputfile:
+ with open(filename, "r") as inputfile:
content = inputfile.read()
buildinfo = yaml.load(content)
return buildinfo
@@ -622,9 +628,13 @@ def get_buildfile_manifest(spec):
metadata (.spack). This can be used to find a particular kind of file
in spack, or to generate the build metadata.
"""
- data = {"text_to_relocate": [], "binary_to_relocate": [],
- "link_to_relocate": [], "other": [],
- "binary_to_relocate_fullpath": []}
+ data = {
+ "text_to_relocate": [],
+ "binary_to_relocate": [],
+ "link_to_relocate": [],
+ "other": [],
+ "binary_to_relocate_fullpath": [],
+ }
exclude_list = (".spack", "man")
@@ -640,7 +650,7 @@ def get_buildfile_manifest(spec):
if os.path.islink(dir_path_name):
link = os.readlink(dir_path_name)
if os.path.isabs(link) and link.startswith(spack.store.layout.root):
- data['link_to_relocate'].append(rel_path_name)
+ data["link_to_relocate"].append(rel_path_name)
for filename in files:
path_name = os.path.join(root, filename)
@@ -653,25 +663,28 @@ def get_buildfile_manifest(spec):
if os.path.isabs(link):
# Relocate absolute links into the spack tree
if link.startswith(spack.store.layout.root):
- data['link_to_relocate'].append(rel_path_name)
+ data["link_to_relocate"].append(rel_path_name)
added = True
if relocate.needs_binary_relocation(m_type, m_subtype):
- if ((m_subtype in ('x-executable', 'x-sharedlib', 'x-pie-executable')
- and sys.platform != 'darwin') or
- (m_subtype in ('x-mach-binary')
- and sys.platform == 'darwin') or
- (not filename.endswith('.o'))):
- data['binary_to_relocate'].append(rel_path_name)
- data['binary_to_relocate_fullpath'].append(path_name)
+ if (
+ (
+ m_subtype in ("x-executable", "x-sharedlib", "x-pie-executable")
+ and sys.platform != "darwin"
+ )
+ or (m_subtype in ("x-mach-binary") and sys.platform == "darwin")
+ or (not filename.endswith(".o"))
+ ):
+ data["binary_to_relocate"].append(rel_path_name)
+ data["binary_to_relocate_fullpath"].append(path_name)
added = True
if relocate.needs_text_relocation(m_type, m_subtype):
- data['text_to_relocate'].append(rel_path_name)
+ data["text_to_relocate"].append(rel_path_name)
added = True
if not added:
- data['other'].append(path_name)
+ data["other"].append(path_name)
return data
@@ -690,18 +703,17 @@ def write_buildinfo_file(spec, workdir, rel=False):
# Create buildinfo data and write it to disk
buildinfo = {}
- 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
- buildinfo['relative_prefix'] = os.path.relpath(
- spec.prefix, spack.store.layout.root)
- buildinfo['relocate_textfiles'] = manifest['text_to_relocate']
- buildinfo['relocate_binaries'] = manifest['binary_to_relocate']
- buildinfo['relocate_links'] = manifest['link_to_relocate']
- buildinfo['prefix_to_hash'] = prefix_to_hash
+ 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
+ buildinfo["relative_prefix"] = os.path.relpath(spec.prefix, spack.store.layout.root)
+ buildinfo["relocate_textfiles"] = manifest["text_to_relocate"]
+ buildinfo["relocate_binaries"] = manifest["binary_to_relocate"]
+ buildinfo["relocate_links"] = manifest["link_to_relocate"]
+ buildinfo["prefix_to_hash"] = prefix_to_hash
filename = buildinfo_file_name(workdir)
- with open(filename, 'w') as outfile:
+ with open(filename, "w") as outfile:
outfile.write(syaml.dump(buildinfo, default_flow_style=True))
@@ -710,9 +722,12 @@ def tarball_directory_name(spec):
Return name of the tarball directory according to the convention
<os>-<architecture>/<compiler>/<package>-<version>/
"""
- return "%s/%s/%s-%s" % (spec.architecture,
- str(spec.compiler).replace("@", "-"),
- spec.name, spec.version)
+ return "%s/%s/%s-%s" % (
+ spec.architecture,
+ str(spec.compiler).replace("@", "-"),
+ spec.name,
+ spec.version,
+ )
def tarball_name(spec, ext):
@@ -720,12 +735,14 @@ def tarball_name(spec, ext):
Return the name of the tarfile according to the convention
<os>-<architecture>-<package>-<dag_hash><ext>
"""
- return "%s-%s-%s-%s-%s%s" % (spec.architecture,
- str(spec.compiler).replace("@", "-"),
- spec.name,
- spec.version,
- spec.dag_hash(),
- ext)
+ return "%s-%s-%s-%s-%s%s" % (
+ spec.architecture,
+ str(spec.compiler).replace("@", "-"),
+ spec.name,
+ spec.version,
+ spec.dag_hash(),
+ ext,
+ )
def tarball_path_name(spec, ext):
@@ -733,15 +750,14 @@ def tarball_path_name(spec, ext):
Return the full path+name for a given spec according to the convention
<tarball_directory_name>/<tarball_name>
"""
- return os.path.join(tarball_directory_name(spec),
- tarball_name(spec, ext))
+ return os.path.join(tarball_directory_name(spec), tarball_name(spec, ext))
def checksum_tarball(file):
# calculate sha256 hash of tar file
block_size = 65536
hasher = hashlib.sha256()
- with open(file, 'rb') as tfile:
+ with open(file, "rb") as tfile:
buf = tfile.read(block_size)
while len(buf) > 0:
hasher.update(buf)
@@ -762,12 +778,13 @@ def select_signing_key(key=None):
raise NoKeyException(
"No default key available for signing.\n"
"Use spack gpg init and spack gpg create"
- " to create a default key.")
+ " to create a default key."
+ )
return key
def sign_specfile(key, force, specfile_path):
- signed_specfile_path = '%s.sig' % specfile_path
+ signed_specfile_path = "%s.sig" % specfile_path
if os.path.exists(signed_specfile_path):
if force:
os.remove(signed_specfile_path)
@@ -780,16 +797,16 @@ def sign_specfile(key, force, specfile_path):
def _fetch_spec_from_mirror(spec_url):
s = None
- tty.debug('fetching {0}'.format(spec_url))
+ tty.debug("fetching {0}".format(spec_url))
_, _, spec_file = web_util.read_from_url(spec_url)
- spec_file_contents = codecs.getreader('utf-8')(spec_file).read()
+ spec_file_contents = codecs.getreader("utf-8")(spec_file).read()
# Need full spec.json name or this gets confused with index.json.
- if spec_url.endswith('.json.sig'):
+ if spec_url.endswith(".json.sig"):
specfile_json = Spec.extract_json_from_clearsig(spec_file_contents)
s = Spec.from_dict(specfile_json)
- elif spec_url.endswith('.json'):
+ elif spec_url.endswith(".json"):
s = Spec.from_json(spec_file_contents)
- elif spec_url.endswith('.yaml'):
+ elif spec_url.endswith(".yaml"):
s = Spec.from_yaml(spec_file_contents)
return s
@@ -799,17 +816,17 @@ def _read_specs_and_push_index(file_list, cache_prefix, db, db_root_dir):
try:
s = _fetch_spec_from_mirror(url_util.join(cache_prefix, file_path))
except (URLError, web_util.SpackWebError) as url_err:
- tty.error('Error reading specfile: {0}'.format(file_path))
+ tty.error("Error reading specfile: {0}".format(file_path))
tty.error(url_err)
if s:
db.add(s, None)
- db.mark(s, 'in_buildcache', True)
+ db.mark(s, "in_buildcache", True)
# Now generate the index, compute its hash, and push the two files to
# the mirror.
- index_json_path = os.path.join(db_root_dir, 'index.json')
- with open(index_json_path, 'w') as f:
+ index_json_path = os.path.join(db_root_dir, "index.json")
+ with open(index_json_path, "w") as f:
db._write_to_file(f)
# Read the index back in and compute its hash
@@ -818,23 +835,25 @@ def _read_specs_and_push_index(file_list, cache_prefix, db, db_root_dir):
index_hash = compute_hash(index_string)
# Write the hash out to a local file
- index_hash_path = os.path.join(db_root_dir, 'index.json.hash')
- with open(index_hash_path, 'w') as f:
+ index_hash_path = os.path.join(db_root_dir, "index.json.hash")
+ with open(index_hash_path, "w") as f:
f.write(index_hash)
# Push the index itself
web_util.push_to_url(
index_json_path,
- url_util.join(cache_prefix, 'index.json'),
+ url_util.join(cache_prefix, "index.json"),
keep_original=False,
- extra_args={'ContentType': 'application/json'})
+ extra_args={"ContentType": "application/json"},
+ )
# Push the hash
web_util.push_to_url(
index_hash_path,
- url_util.join(cache_prefix, 'index.json.hash'),
+ url_util.join(cache_prefix, "index.json.hash"),
keep_original=False,
- extra_args={'ContentType': 'text/plain'})
+ extra_args={"ContentType": "text/plain"},
+ )
def generate_package_index(cache_prefix):
@@ -848,38 +867,39 @@ def generate_package_index(cache_prefix):
file_list = (
entry
for entry in web_util.list_url(cache_prefix)
- if entry.endswith('.yaml') or
- entry.endswith('spec.json') or
- entry.endswith('spec.json.sig'))
+ if entry.endswith(".yaml")
+ or entry.endswith("spec.json")
+ or entry.endswith("spec.json.sig")
+ )
except KeyError as inst:
- msg = 'No packages at {0}: {1}'.format(cache_prefix, inst)
+ msg = "No packages at {0}: {1}".format(cache_prefix, inst)
tty.warn(msg)
return
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 = 'Encountered problem listing packages at {0}: {1}'.format(
- cache_prefix, err)
+ msg = "Encountered problem listing packages at {0}: {1}".format(cache_prefix, err)
tty.warn(msg)
return
- tty.debug('Retrieving spec descriptor files from {0} to build index'.format(
- cache_prefix))
+ tty.debug("Retrieving spec descriptor files from {0} to build index".format(cache_prefix))
tmpdir = tempfile.mkdtemp()
- db_root_dir = os.path.join(tmpdir, 'db_root')
- db = spack_db.Database(None, db_dir=db_root_dir,
- enable_transaction_locking=False,
- record_fields=['spec', 'ref_count', 'in_buildcache'])
+ db_root_dir = os.path.join(tmpdir, "db_root")
+ db = spack_db.Database(
+ None,
+ db_dir=db_root_dir,
+ enable_transaction_locking=False,
+ record_fields=["spec", "ref_count", "in_buildcache"],
+ )
try:
_read_specs_and_push_index(file_list, cache_prefix, db, db_root_dir)
except Exception as err:
- msg = 'Encountered problem pushing package index to {0}: {1}'.format(
- cache_prefix, err)
+ msg = "Encountered problem pushing package index to {0}: {1}".format(cache_prefix, err)
tty.warn(msg)
- tty.debug('\n' + traceback.format_exc())
+ tty.debug("\n" + traceback.format_exc())
finally:
shutil.rmtree(tmpdir)
@@ -892,25 +912,27 @@ def generate_key_index(key_prefix, tmpdir=None):
key_prefix.
"""
- tty.debug(' '.join(('Retrieving key.pub files from',
- url_util.format(key_prefix),
- 'to build key index')))
+ tty.debug(
+ " ".join(
+ ("Retrieving key.pub files from", url_util.format(key_prefix), "to build key index")
+ )
+ )
try:
fingerprints = (
entry[:-4]
for entry in web_util.list_url(key_prefix, recursive=False)
- if entry.endswith('.pub'))
+ if entry.endswith(".pub")
+ )
except KeyError as inst:
- msg = 'No keys at {0}: {1}'.format(key_prefix, inst)
+ msg = "No keys at {0}: {1}".format(key_prefix, inst)
tty.warn(msg)
return
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 = 'Encountered problem listing keys at {0}: {1}'.format(
- key_prefix, err)
+ msg = "Encountered problem listing keys at {0}: {1}".format(key_prefix, err)
tty.warn(msg)
return
@@ -918,31 +940,27 @@ def generate_key_index(key_prefix, tmpdir=None):
keys_local = url_util.local_file_path(key_prefix)
if keys_local:
- target = os.path.join(keys_local, 'index.json')
+ target = os.path.join(keys_local, "index.json")
else:
if not tmpdir:
tmpdir = tempfile.mkdtemp()
remove_tmpdir = True
- target = os.path.join(tmpdir, 'index.json')
+ target = os.path.join(tmpdir, "index.json")
- index = {
- 'keys': dict(
- (fingerprint, {}) for fingerprint
- in sorted(set(fingerprints)))
- }
- with open(target, 'w') as f:
+ index = {"keys": dict((fingerprint, {}) for fingerprint in sorted(set(fingerprints)))}
+ with open(target, "w") as f:
sjson.dump(index, f)
if not keys_local:
try:
web_util.push_to_url(
target,
- url_util.join(key_prefix, 'index.json'),
+ url_util.join(key_prefix, "index.json"),
keep_original=False,
- extra_args={'ContentType': 'application/json'})
+ extra_args={"ContentType": "application/json"},
+ )
except Exception as err:
- msg = 'Encountered problem pushing key index to {0}: {1}'.format(
- key_prefix, err)
+ msg = "Encountered problem pushing key index to {0}: {1}".format(key_prefix, err)
tty.warn(msg)
finally:
if remove_tmpdir:
@@ -950,29 +968,32 @@ def generate_key_index(key_prefix, tmpdir=None):
def _build_tarball(
- spec, outdir,
- force=False, relative=False, unsigned=False,
- allow_root=False, key=None, regenerate_index=False
+ spec,
+ outdir,
+ force=False,
+ relative=False,
+ unsigned=False,
+ allow_root=False,
+ key=None,
+ regenerate_index=False,
):
"""
Build a tarball from given spec and put it into the directory structure
used at the mirror (following <tarball_directory_name>).
"""
if not spec.concrete:
- raise ValueError('spec must be concrete to build tarball')
+ raise ValueError("spec must be concrete to build tarball")
# set up some paths
tmpdir = tempfile.mkdtemp()
cache_prefix = build_cache_prefix(tmpdir)
- tarfile_name = tarball_name(spec, '.spack')
+ tarfile_name = tarball_name(spec, ".spack")
tarfile_dir = os.path.join(cache_prefix, tarball_directory_name(spec))
tarfile_path = os.path.join(tarfile_dir, tarfile_name)
- spackfile_path = os.path.join(
- cache_prefix, tarball_path_name(spec, '.spack'))
+ spackfile_path = os.path.join(cache_prefix, tarball_path_name(spec, ".spack"))
- remote_spackfile_path = url_util.join(
- outdir, os.path.relpath(spackfile_path, tmpdir))
+ remote_spackfile_path = url_util.join(outdir, os.path.relpath(spackfile_path, tmpdir))
mkdirp(tarfile_dir)
if web_util.url_exists(remote_spackfile_path):
@@ -986,17 +1007,18 @@ def _build_tarball(
# and preferences
spec_file = spack.store.layout.spec_file_path(spec)
- specfile_name = tarball_name(spec, '.spec.json')
+ specfile_name = tarball_name(spec, ".spec.json")
specfile_path = os.path.realpath(os.path.join(cache_prefix, specfile_name))
- signed_specfile_path = '{0}.sig'.format(specfile_path)
- deprecated_specfile_path = specfile_path.replace('.spec.json', '.spec.yaml')
+ signed_specfile_path = "{0}.sig".format(specfile_path)
+ deprecated_specfile_path = specfile_path.replace(".spec.json", ".spec.yaml")
remote_specfile_path = url_util.join(
- outdir, os.path.relpath(specfile_path, os.path.realpath(tmpdir)))
- remote_signed_specfile_path = '{0}.sig'.format(remote_specfile_path)
+ outdir, os.path.relpath(specfile_path, os.path.realpath(tmpdir))
+ )
+ remote_signed_specfile_path = "{0}.sig".format(remote_specfile_path)
remote_specfile_path_deprecated = url_util.join(
- outdir, os.path.relpath(deprecated_specfile_path,
- os.path.realpath(tmpdir)))
+ outdir, os.path.relpath(deprecated_specfile_path, os.path.realpath(tmpdir))
+ )
# If force and exists, overwrite. Otherwise raise exception on collision.
if force:
@@ -1006,9 +1028,11 @@ def _build_tarball(
web_util.remove_url(remote_signed_specfile_path)
if web_util.url_exists(remote_specfile_path_deprecated):
web_util.remove_url(remote_specfile_path_deprecated)
- elif (web_util.url_exists(remote_specfile_path) or
- web_util.url_exists(remote_signed_specfile_path) or
- web_util.url_exists(remote_specfile_path_deprecated)):
+ elif (
+ web_util.url_exists(remote_specfile_path)
+ or web_util.url_exists(remote_signed_specfile_path)
+ or web_util.url_exists(remote_specfile_path_deprecated)
+ ):
raise NoOverwriteException(url_util.format(remote_specfile_path))
# make a copy of the install directory to work with
@@ -1016,12 +1040,11 @@ def _build_tarball(
# install_tree copies hardlinks
# create a temporary tarfile from prefix and exract it to workdir
# tarfile preserves hardlinks
- temp_tarfile_name = tarball_name(spec, '.tar')
+ temp_tarfile_name = tarball_name(spec, ".tar")
temp_tarfile_path = os.path.join(tarfile_dir, temp_tarfile_name)
- with closing(tarfile.open(temp_tarfile_path, 'w')) as tar:
- tar.add(name='%s' % spec.prefix,
- arcname='.')
- with closing(tarfile.open(temp_tarfile_path, 'r')) as tar:
+ with closing(tarfile.open(temp_tarfile_path, "w")) as tar:
+ tar.add(name="%s" % spec.prefix, arcname=".")
+ with closing(tarfile.open(temp_tarfile_path, "r")) as tar:
tar.extractall(workdir)
os.remove(temp_tarfile_path)
@@ -1048,9 +1071,8 @@ def _build_tarball(
tty.die(e)
# create gzip compressed tarball of the install prefix
- with closing(tarfile.open(tarfile_path, 'w:gz')) as tar:
- tar.add(name='%s' % workdir,
- arcname='%s' % os.path.basename(spec.prefix))
+ with closing(tarfile.open(tarfile_path, "w:gz")) as tar:
+ tar.add(name="%s" % workdir, arcname="%s" % os.path.basename(spec.prefix))
# remove copy of install directory
shutil.rmtree(workdir)
@@ -1059,30 +1081,27 @@ def _build_tarball(
# add sha256 checksum to spec.json
- with open(spec_file, 'r') as inputfile:
+ with open(spec_file, "r") as inputfile:
content = inputfile.read()
- if spec_file.endswith('.yaml'):
+ if spec_file.endswith(".yaml"):
spec_dict = yaml.load(content)
- elif spec_file.endswith('.json'):
+ elif spec_file.endswith(".json"):
spec_dict = sjson.load(content)
else:
- raise ValueError(
- '{0} not a valid spec file type (json or yaml)'.format(
- spec_file))
- spec_dict['buildcache_layout_version'] = 1
+ raise ValueError("{0} not a valid spec file type (json or yaml)".format(spec_file))
+ spec_dict["buildcache_layout_version"] = 1
bchecksum = {}
- bchecksum['hash_algorithm'] = 'sha256'
- bchecksum['hash'] = checksum
- spec_dict['binary_cache_checksum'] = bchecksum
+ bchecksum["hash_algorithm"] = "sha256"
+ bchecksum["hash"] = checksum
+ spec_dict["binary_cache_checksum"] = bchecksum
# Add original install prefix relative to layout root to spec.json.
# This will be used to determine is the directory layout has changed.
buildinfo = {}
- buildinfo['relative_prefix'] = os.path.relpath(
- spec.prefix, spack.store.layout.root)
- buildinfo['relative_rpaths'] = relative
- spec_dict['buildinfo'] = buildinfo
+ buildinfo["relative_prefix"] = os.path.relpath(spec.prefix, spack.store.layout.root)
+ buildinfo["relative_rpaths"] = relative
+ spec_dict["buildinfo"] = buildinfo
- with open(specfile_path, 'w') as outfile:
+ with open(specfile_path, "w") as outfile:
outfile.write(sjson.dump(spec_dict))
# sign the tarball and spec file with gpg
@@ -1091,30 +1110,25 @@ def _build_tarball(
sign_specfile(key, force, specfile_path)
# push tarball and signed spec json to remote mirror
- web_util.push_to_url(
- spackfile_path, remote_spackfile_path, keep_original=False)
+ web_util.push_to_url(spackfile_path, remote_spackfile_path, keep_original=False)
web_util.push_to_url(
signed_specfile_path if not unsigned else specfile_path,
remote_signed_specfile_path if not unsigned else remote_specfile_path,
- keep_original=False)
+ keep_original=False,
+ )
- tty.debug('Buildcache for "{0}" written to \n {1}'
- .format(spec, remote_spackfile_path))
+ tty.debug('Buildcache for "{0}" written to \n {1}'.format(spec, remote_spackfile_path))
try:
# push the key to the build cache's _pgp directory so it can be
# imported
if not unsigned:
- push_keys(outdir,
- keys=[key],
- regenerate_index=regenerate_index,
- tmpdir=tmpdir)
+ push_keys(outdir, keys=[key], regenerate_index=regenerate_index, tmpdir=tmpdir)
# create an index.json for the build_cache directory so specs can be
# found
if regenerate_index:
- generate_package_index(url_util.join(
- outdir, os.path.relpath(cache_prefix, tmpdir)))
+ generate_package_index(url_util.join(outdir, os.path.relpath(cache_prefix, tmpdir)))
finally:
shutil.rmtree(tmpdir)
@@ -1143,9 +1157,12 @@ def nodes_to_be_packaged(specs, include_root=True, include_dependencies=True):
if not include_dependencies:
nodes = [current_spec]
else:
- nodes = [n for n in current_spec.traverse(
- order='post', root=include_root, deptype=('link', 'run')
- )]
+ nodes = [
+ n
+ for n in current_spec.traverse(
+ order="post", root=include_root, deptype=("link", "run")
+ )
+ ]
for node in nodes:
if not skip_node(node):
@@ -1167,7 +1184,7 @@ def push(specs, push_url, specs_kwargs=None, **kwargs):
**kwargs: TODO
"""
- specs_kwargs = specs_kwargs or {'include_root': True, 'include_dependencies': True}
+ specs_kwargs = specs_kwargs or {"include_root": True, "include_dependencies": True}
nodes = nodes_to_be_packaged(specs, **specs_kwargs)
# TODO: This seems to be an easy target for task
@@ -1189,7 +1206,7 @@ def try_verify(specfile_path):
Returns:
``True`` if the signature could be verified, ``False`` otherwise.
"""
- suppress = config.get('config:suppress_gpg_warnings', False)
+ suppress = config.get("config:suppress_gpg_warnings", False)
try:
spack.util.gpg.verify(specfile_path, suppress_warnings=suppress)
@@ -1223,8 +1240,8 @@ def try_fetch(url_to_fetch):
def _delete_staged_downloads(download_result):
"""Clean up stages used to download tarball and specfile"""
- download_result['tarball_stage'].destroy()
- download_result['specfile_stage'].destroy()
+ download_result["tarball_stage"].destroy()
+ download_result["specfile_stage"].destroy()
def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
@@ -1256,11 +1273,10 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
}
"""
if not spack.mirror.MirrorCollection():
- tty.die("Please add a spack mirror to allow " +
- "download of pre-compiled packages.")
+ tty.die("Please add a spack mirror to allow " + "download of pre-compiled packages.")
- tarball = tarball_path_name(spec, '.spack')
- specfile_prefix = tarball_name(spec, '.spec')
+ tarball = tarball_path_name(spec, ".spack")
+ specfile_prefix = tarball_name(spec, ".spec")
mirrors_to_try = []
@@ -1273,35 +1289,36 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
# look in all configured mirrors if needed, as maybe the spec
# we need was in an un-indexed mirror. No need to check any
# mirror for the spec twice though.
- try_first = [i['mirror_url'] for i in mirrors_for_spec] if mirrors_for_spec else []
+ try_first = [i["mirror_url"] for i in mirrors_for_spec] if mirrors_for_spec else []
try_next = [
- i.fetch_url for i in spack.mirror.MirrorCollection().values()
+ i.fetch_url
+ for i in spack.mirror.MirrorCollection().values()
if i.fetch_url not in try_first
]
for url in try_first + try_next:
- mirrors_to_try.append({
- 'specfile': url_util.join(url,
- _build_cache_relative_path, specfile_prefix),
- 'spackfile': url_util.join(url,
- _build_cache_relative_path, tarball)
- })
+ mirrors_to_try.append(
+ {
+ "specfile": url_util.join(url, _build_cache_relative_path, specfile_prefix),
+ "spackfile": url_util.join(url, _build_cache_relative_path, tarball),
+ }
+ )
tried_to_verify_sigs = []
# Assumes we care more about finding a spec file by preferred ext
# than by mirrory priority. This can be made less complicated as
# we remove support for deprecated spec formats and buildcache layouts.
- for ext in ['json.sig', 'json', 'yaml']:
+ for ext in ["json.sig", "json", "yaml"]:
for mirror_to_try in mirrors_to_try:
- specfile_url = '{0}.{1}'.format(mirror_to_try['specfile'], ext)
- spackfile_url = mirror_to_try['spackfile']
+ specfile_url = "{0}.{1}".format(mirror_to_try["specfile"], ext)
+ spackfile_url = mirror_to_try["spackfile"]
local_specfile_stage = try_fetch(specfile_url)
if local_specfile_stage:
local_specfile_path = local_specfile_stage.save_filename
signature_verified = False
- if ext.endswith('.sig') and not unsigned:
+ if ext.endswith(".sig") and not unsigned:
# If we found a signed specfile at the root, try to verify
# the signature immediately. We will not download the
# tarball if we could not verify the signature.
@@ -1310,7 +1327,7 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
if not signature_verified:
tty.warn("Failed to verify: {0}".format(specfile_url))
- if unsigned or signature_verified or not ext.endswith('.sig'):
+ if unsigned or signature_verified or not ext.endswith(".sig"):
# We will download the tarball in one of three cases:
# 1. user asked for --no-check-signature
# 2. user didn't ask for --no-check-signature, but we
@@ -1330,9 +1347,9 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
tarball_stage = try_fetch(spackfile_url)
if tarball_stage:
return {
- 'tarball_stage': tarball_stage,
- 'specfile_stage': local_specfile_stage,
- 'signature_verified': signature_verified,
+ "tarball_stage": tarball_stage,
+ "specfile_stage": local_specfile_stage,
+ "signature_verified": signature_verified,
}
local_specfile_stage.destroy()
@@ -1342,14 +1359,20 @@ def download_tarball(spec, unsigned=False, mirrors_for_spec=None):
# an acceptable one for which we could download a tarball.
if tried_to_verify_sigs:
- raise NoVerifyException(("Spack found new style signed binary packages, "
- "but was unable to verify any of them. Please "
- "obtain and trust the correct public key. If "
- "these are public spack binaries, please see the "
- "spack docs for locations where keys can be found."))
-
- tty.warn("download_tarball() was unable to download " +
- "{0} from any configured mirrors".format(spec))
+ raise NoVerifyException(
+ (
+ "Spack found new style signed binary packages, "
+ "but was unable to verify any of them. Please "
+ "obtain and trust the correct public key. If "
+ "these are public spack binaries, please see the "
+ "spack docs for locations where keys can be found."
+ )
+ )
+
+ tty.warn(
+ "download_tarball() was unable to download "
+ + "{0} from any configured mirrors".format(spec)
+ )
return None
@@ -1360,26 +1383,24 @@ def make_package_relative(workdir, spec, allow_root):
"""
prefix = spec.prefix
buildinfo = read_buildinfo_file(workdir)
- old_layout_root = buildinfo['buildpath']
+ old_layout_root = buildinfo["buildpath"]
orig_path_names = list()
cur_path_names = list()
- for filename in buildinfo['relocate_binaries']:
+ for filename in buildinfo["relocate_binaries"]:
orig_path_names.append(os.path.join(prefix, filename))
cur_path_names.append(os.path.join(workdir, filename))
platform = spack.platforms.by_name(spec.platform)
- if 'macho' in platform.binary_formats:
- relocate.make_macho_binaries_relative(
- cur_path_names, orig_path_names, old_layout_root)
+ if "macho" in platform.binary_formats:
+ relocate.make_macho_binaries_relative(cur_path_names, orig_path_names, old_layout_root)
- if 'elf' in platform.binary_formats:
- relocate.make_elf_binaries_relative(
- cur_path_names, orig_path_names, old_layout_root)
+ if "elf" in platform.binary_formats:
+ relocate.make_elf_binaries_relative(cur_path_names, orig_path_names, old_layout_root)
relocate.raise_if_not_relocatable(cur_path_names, allow_root)
orig_path_names = list()
cur_path_names = list()
- for linkname in buildinfo.get('relocate_links', []):
+ for linkname in buildinfo.get("relocate_links", []):
orig_path_names.append(os.path.join(prefix, linkname))
cur_path_names.append(os.path.join(workdir, linkname))
relocate.make_link_relative(cur_path_names, orig_path_names)
@@ -1392,7 +1413,7 @@ def check_package_relocatable(workdir, spec, allow_root):
"""
buildinfo = read_buildinfo_file(workdir)
cur_path_names = list()
- for filename in buildinfo['relocate_binaries']:
+ for filename in buildinfo["relocate_binaries"]:
cur_path_names.append(os.path.join(workdir, filename))
relocate.raise_if_not_relocatable(cur_path_names, allow_root)
@@ -1409,15 +1430,15 @@ def relocate_package(spec, allow_root):
new_spack_prefix = str(spack.paths.prefix)
old_sbang_install_path = None
- if 'sbang_install_path' in buildinfo:
- old_sbang_install_path = str(buildinfo['sbang_install_path'])
- old_layout_root = str(buildinfo['buildpath'])
- old_spack_prefix = str(buildinfo.get('spackprefix'))
- old_rel_prefix = buildinfo.get('relative_prefix')
+ if "sbang_install_path" in buildinfo:
+ old_sbang_install_path = str(buildinfo["sbang_install_path"])
+ old_layout_root = str(buildinfo["buildpath"])
+ old_spack_prefix = str(buildinfo.get("spackprefix"))
+ old_rel_prefix = buildinfo.get("relative_prefix")
old_prefix = os.path.join(old_layout_root, old_rel_prefix)
- rel = buildinfo.get('relative_rpaths')
- prefix_to_hash = buildinfo.get('prefix_to_hash', None)
- if (old_rel_prefix != new_rel_prefix and not prefix_to_hash):
+ rel = buildinfo.get("relative_rpaths")
+ prefix_to_hash = buildinfo.get("prefix_to_hash", None)
+ if old_rel_prefix != new_rel_prefix and not prefix_to_hash:
msg = "Package tarball was created from an install "
msg += "prefix with a different directory layout and an older "
msg += "buildcache create implementation. It cannot be relocated."
@@ -1428,10 +1449,10 @@ def relocate_package(spec, allow_root):
if not prefix_to_hash:
prefix_to_hash = dict()
hash_to_prefix = dict()
- hash_to_prefix[spec.format('{hash}')] = str(spec.package.prefix)
+ hash_to_prefix[spec.format("{hash}")] = str(spec.package.prefix)
new_deps = spack.build_environment.get_rpath_deps(spec.package)
for d in new_deps:
- hash_to_prefix[d.format('{hash}')] = str(d.prefix)
+ hash_to_prefix[d.format("{hash}")] = str(d.prefix)
# Spurious replacements (e.g. sbang) will cause issues with binaries
# For example, the new sbang can be longer than the old one.
# Hence 2 dictionaries are maintained here.
@@ -1453,19 +1474,18 @@ def relocate_package(spec, allow_root):
# sbang was a bash script, and it lived in the spack prefix. It is
# 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)
+ orig_sbang = "#!/bin/bash {0}/bin/sbang".format(old_spack_prefix)
new_sbang = spack.hooks.sbang.sbang_shebang_line()
prefix_to_prefix_text[orig_sbang] = new_sbang
- tty.debug("Relocating package from",
- "%s to %s." % (old_layout_root, new_layout_root))
+ tty.debug("Relocating package from", "%s to %s." % (old_layout_root, new_layout_root))
def is_backup_file(file):
- return file.endswith('~')
+ return file.endswith("~")
# Text files containing the prefix text
text_names = list()
- for filename in buildinfo['relocate_textfiles']:
+ for filename in buildinfo["relocate_textfiles"]:
text_name = os.path.join(workdir, filename)
# Don't add backup files generated by filter_file during install step.
if not is_backup_file(text_name):
@@ -1473,31 +1493,35 @@ def relocate_package(spec, allow_root):
# If we are not installing back to the same install tree do the relocation
if old_prefix != new_prefix:
- files_to_relocate = [os.path.join(workdir, filename)
- for filename in buildinfo.get('relocate_binaries')
- ]
+ files_to_relocate = [
+ os.path.join(workdir, filename) for filename in buildinfo.get("relocate_binaries")
+ ]
# If the buildcache was not created with relativized rpaths
# do the relocation of path in binaries
platform = spack.platforms.by_name(spec.platform)
- if 'macho' in platform.binary_formats:
- relocate.relocate_macho_binaries(files_to_relocate,
- old_layout_root,
- new_layout_root,
- prefix_to_prefix_bin, rel,
- old_prefix,
- new_prefix)
- if 'elf' in platform.binary_formats:
- relocate.relocate_elf_binaries(files_to_relocate,
- old_layout_root,
- new_layout_root,
- prefix_to_prefix_bin, rel,
- old_prefix,
- new_prefix)
- # Relocate links to the new install prefix
- links = [link for link in buildinfo.get('relocate_links', [])]
- relocate.relocate_links(
- links, old_layout_root, old_prefix, new_prefix
+ if "macho" in platform.binary_formats:
+ relocate.relocate_macho_binaries(
+ files_to_relocate,
+ old_layout_root,
+ new_layout_root,
+ prefix_to_prefix_bin,
+ rel,
+ old_prefix,
+ new_prefix,
)
+ if "elf" in platform.binary_formats:
+ relocate.relocate_elf_binaries(
+ files_to_relocate,
+ old_layout_root,
+ new_layout_root,
+ prefix_to_prefix_bin,
+ rel,
+ old_prefix,
+ new_prefix,
+ )
+ # Relocate links to the new install prefix
+ links = [link for link in buildinfo.get("relocate_links", [])]
+ relocate.relocate_links(links, old_layout_root, old_prefix, new_prefix)
# For all buildcaches
# relocate the install prefixes in text files including dependencies
@@ -1505,11 +1529,17 @@ def relocate_package(spec, allow_root):
paths_to_relocate = [old_prefix, old_layout_root]
paths_to_relocate.extend(prefix_to_hash.keys())
- files_to_relocate = list(filter(
- lambda pathname: not relocate.file_is_relocatable(
- pathname, paths_to_relocate=paths_to_relocate),
- map(lambda filename: os.path.join(workdir, filename),
- buildinfo['relocate_binaries'])))
+ files_to_relocate = list(
+ filter(
+ lambda pathname: not relocate.file_is_relocatable(
+ pathname, paths_to_relocate=paths_to_relocate
+ ),
+ map(
+ lambda filename: os.path.join(workdir, filename),
+ buildinfo["relocate_binaries"],
+ ),
+ )
+ )
# relocate the install prefixes in binary files including dependencies
relocate.relocate_text_bin(files_to_relocate, prefix_to_prefix_bin)
@@ -1522,19 +1552,19 @@ def relocate_package(spec, allow_root):
def _extract_inner_tarball(spec, filename, extract_to, unsigned, remote_checksum):
stagepath = os.path.dirname(filename)
- spackfile_name = tarball_name(spec, '.spack')
+ spackfile_name = tarball_name(spec, ".spack")
spackfile_path = os.path.join(stagepath, spackfile_name)
- tarfile_name = tarball_name(spec, '.tar.gz')
+ tarfile_name = tarball_name(spec, ".tar.gz")
tarfile_path = os.path.join(extract_to, tarfile_name)
- deprecated_yaml_name = tarball_name(spec, '.spec.yaml')
+ deprecated_yaml_name = tarball_name(spec, ".spec.yaml")
deprecated_yaml_path = os.path.join(extract_to, deprecated_yaml_name)
- json_name = tarball_name(spec, '.spec.json')
+ json_name = tarball_name(spec, ".spec.json")
json_path = os.path.join(extract_to, json_name)
- with closing(tarfile.open(spackfile_path, 'r')) as tar:
+ with closing(tarfile.open(spackfile_path, "r")) as tar:
tar.extractall(extract_to)
# some buildcache tarfiles use bzip2 compression
if not os.path.exists(tarfile_path):
- tarfile_name = tarball_name(spec, '.tar.bz2')
+ tarfile_name = tarball_name(spec, ".tar.bz2")
tarfile_path = os.path.join(extract_to, tarfile_name)
if os.path.exists(json_path):
@@ -1542,34 +1572,36 @@ def _extract_inner_tarball(spec, filename, extract_to, unsigned, remote_checksum
elif os.path.exists(deprecated_yaml_path):
specfile_path = deprecated_yaml_path
else:
- raise ValueError('Cannot find spec file for {0}.'.format(extract_to))
+ raise ValueError("Cannot find spec file for {0}.".format(extract_to))
if not unsigned:
- if os.path.exists('%s.asc' % specfile_path):
- suppress = config.get('config:suppress_gpg_warnings', False)
+ if os.path.exists("%s.asc" % specfile_path):
+ suppress = config.get("config:suppress_gpg_warnings", False)
try:
- spack.util.gpg.verify('%s.asc' % specfile_path, specfile_path, suppress)
+ spack.util.gpg.verify("%s.asc" % specfile_path, specfile_path, suppress)
except Exception:
- raise NoVerifyException("Spack was unable to verify package "
- "signature, please obtain and trust the "
- "correct public key.")
+ raise NoVerifyException(
+ "Spack was unable to verify package "
+ "signature, please obtain and trust the "
+ "correct public key."
+ )
else:
raise UnsignedPackageException(
- "To install unsigned packages, use the --no-check-signature option.")
+ "To install unsigned packages, use the --no-check-signature option."
+ )
# get the sha256 checksum of the tarball
local_checksum = checksum_tarball(tarfile_path)
# if the checksums don't match don't install
- if local_checksum != remote_checksum['hash']:
+ if local_checksum != remote_checksum["hash"]:
raise NoChecksumException(
- "Package tarball failed checksum verification.\n"
- "It cannot be installed.")
+ "Package tarball failed checksum verification.\n" "It cannot be installed."
+ )
return tarfile_path
-def extract_tarball(spec, download_result, allow_root=False, unsigned=False,
- force=False):
+def extract_tarball(spec, download_result, allow_root=False, unsigned=False, force=False):
"""
extract binary tarball for given package into install area
"""
@@ -1579,31 +1611,32 @@ def extract_tarball(spec, download_result, allow_root=False, unsigned=False,
else:
raise NoOverwriteException(str(spec.prefix))
- specfile_path = download_result['specfile_stage'].save_filename
+ specfile_path = download_result["specfile_stage"].save_filename
- with open(specfile_path, 'r') as inputfile:
+ with open(specfile_path, "r") as inputfile:
content = inputfile.read()
- if specfile_path.endswith('.json.sig'):
+ if specfile_path.endswith(".json.sig"):
spec_dict = Spec.extract_json_from_clearsig(content)
- elif specfile_path.endswith('.json'):
+ elif specfile_path.endswith(".json"):
spec_dict = sjson.load(content)
else:
spec_dict = syaml.load(content)
- bchecksum = spec_dict['binary_cache_checksum']
- filename = download_result['tarball_stage'].save_filename
- signature_verified = download_result['signature_verified']
+ bchecksum = spec_dict["binary_cache_checksum"]
+ filename = download_result["tarball_stage"].save_filename
+ signature_verified = download_result["signature_verified"]
tmpdir = None
- if ('buildcache_layout_version' not in spec_dict or
- int(spec_dict['buildcache_layout_version']) < 1):
+ if (
+ "buildcache_layout_version" not in spec_dict
+ or int(spec_dict["buildcache_layout_version"]) < 1
+ ):
# Handle the older buildcache layout where the .spack file
# contains a spec json/yaml, maybe an .asc file (signature),
# and another tarball containing the actual install tree.
tmpdir = tempfile.mkdtemp()
try:
- tarfile_path = _extract_inner_tarball(
- spec, filename, tmpdir, unsigned, bchecksum)
+ tarfile_path = _extract_inner_tarball(spec, filename, tmpdir, unsigned, bchecksum)
except Exception as e:
_delete_staged_downloads(download_result)
shutil.rmtree(tmpdir)
@@ -1618,38 +1651,36 @@ def extract_tarball(spec, download_result, allow_root=False, unsigned=False,
if not unsigned and not signature_verified:
raise UnsignedPackageException(
- "To install unsigned packages, use the --no-check-signature option.")
+ "To install unsigned packages, use the --no-check-signature option."
+ )
# compute the sha256 checksum of the tarball
local_checksum = checksum_tarball(tarfile_path)
# if the checksums don't match don't install
- if local_checksum != bchecksum['hash']:
+ if local_checksum != bchecksum["hash"]:
_delete_staged_downloads(download_result)
raise NoChecksumException(
- "Package tarball failed checksum verification.\n"
- "It cannot be installed.")
+ "Package tarball failed checksum verification.\n" "It cannot be installed."
+ )
- new_relative_prefix = str(os.path.relpath(spec.prefix,
- spack.store.layout.root))
+ new_relative_prefix = str(os.path.relpath(spec.prefix, spack.store.layout.root))
# if the original relative prefix is in the spec file use it
- buildinfo = spec_dict.get('buildinfo', {})
- old_relative_prefix = buildinfo.get('relative_prefix', new_relative_prefix)
- rel = buildinfo.get('relative_rpaths')
- info = 'old relative prefix %s\nnew relative prefix %s\nrelative rpaths %s'
- tty.debug(info %
- (old_relative_prefix, new_relative_prefix, rel))
+ buildinfo = spec_dict.get("buildinfo", {})
+ old_relative_prefix = buildinfo.get("relative_prefix", new_relative_prefix)
+ rel = buildinfo.get("relative_rpaths")
+ info = "old relative prefix %s\nnew relative prefix %s\nrelative rpaths %s"
+ tty.debug(info % (old_relative_prefix, new_relative_prefix, rel))
# Extract the tarball into the store root, presumably on the same filesystem.
# The directory created is the base directory name of the old prefix.
# Moving the old prefix name to the new prefix location should preserve
# hard links and symbolic links.
- extract_tmp = os.path.join(spack.store.layout.root, '.tmp')
+ extract_tmp = os.path.join(spack.store.layout.root, ".tmp")
mkdirp(extract_tmp)
- extracted_dir = os.path.join(extract_tmp,
- old_relative_prefix.split(os.path.sep)[-1])
+ extracted_dir = os.path.join(extract_tmp, old_relative_prefix.split(os.path.sep)[-1])
- with closing(tarfile.open(tarfile_path, 'r')) as tar:
+ with closing(tarfile.open(tarfile_path, "r")) as tar:
try:
tar.extractall(path=extract_tmp)
except Exception as e:
@@ -1671,12 +1702,12 @@ def extract_tarball(spec, download_result, allow_root=False, unsigned=False,
shutil.rmtree(spec.prefix)
raise e
else:
- manifest_file = os.path.join(spec.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(
+ spec.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
if not os.path.exists(manifest_file):
- spec_id = spec.format('{name}/{hash:7}')
- tty.warn('No manifest file in tarball for spec %s' % spec_id)
+ spec_id = spec.format("{name}/{hash:7}")
+ tty.warn("No manifest file in tarball for spec %s" % spec_id)
finally:
if tmpdir:
shutil.rmtree(tmpdir)
@@ -1718,12 +1749,12 @@ def install_root_node(spec, allow_root, unsigned=False, force=False, sha256=None
if sha256:
checker = spack.util.crypto.Checker(sha256)
msg = 'cannot verify checksum for "{0}" [expected={1}]'
- tarball_path = download_result['tarball_stage'].save_filename
+ tarball_path = download_result["tarball_stage"].save_filename
msg = msg.format(tarball_path, sha256)
if not checker.check(tarball_path):
_delete_staged_downloads(download_result)
raise spack.binary_distribution.NoChecksumException(msg)
- tty.debug('Verified SHA256 checksum of the build cache')
+ tty.debug("Verified SHA256 checksum of the build cache")
tty.msg('Installing "{0}" from a buildcache'.format(spec.format()))
extract_tarball(spec, download_result, allow_root, unsigned, force)
@@ -1742,7 +1773,7 @@ def install_single_spec(spec, allow_root=False, unsigned=False, force=False):
force (bool): force installation if the spec is already present in the
local store
"""
- for node in spec.traverse(root=True, order='post', deptype=('link', 'run')):
+ for node in spec.traverse(root=True, order="post", deptype=("link", "run")):
install_root_node(node, allow_root=allow_root, unsigned=unsigned, force=force)
@@ -1750,20 +1781,23 @@ def try_direct_fetch(spec, mirrors=None):
"""
Try to find the spec directly on the configured mirrors
"""
- deprecated_specfile_name = tarball_name(spec, '.spec.yaml')
- specfile_name = tarball_name(spec, '.spec.json')
- signed_specfile_name = tarball_name(spec, '.spec.json.sig')
+ deprecated_specfile_name = tarball_name(spec, ".spec.yaml")
+ specfile_name = tarball_name(spec, ".spec.json")
+ signed_specfile_name = tarball_name(spec, ".spec.json.sig")
specfile_is_signed = False
specfile_is_json = True
found_specs = []
for mirror in spack.mirror.MirrorCollection(mirrors=mirrors).values():
buildcache_fetch_url_yaml = url_util.join(
- mirror.fetch_url, _build_cache_relative_path, deprecated_specfile_name)
+ mirror.fetch_url, _build_cache_relative_path, deprecated_specfile_name
+ )
buildcache_fetch_url_json = url_util.join(
- mirror.fetch_url, _build_cache_relative_path, specfile_name)
+ mirror.fetch_url, _build_cache_relative_path, specfile_name
+ )
buildcache_fetch_url_signed_json = url_util.join(
- mirror.fetch_url, _build_cache_relative_path, signed_specfile_name)
+ mirror.fetch_url, _build_cache_relative_path, signed_specfile_name
+ )
try:
_, _, fs = web_util.read_from_url(buildcache_fetch_url_signed_json)
specfile_is_signed = True
@@ -1775,14 +1809,22 @@ def try_direct_fetch(spec, mirrors=None):
_, _, fs = web_util.read_from_url(buildcache_fetch_url_yaml)
specfile_is_json = False
except (URLError, web_util.SpackWebError, HTTPError) as url_err_y:
- tty.debug('Did not find {0} on {1}'.format(
- specfile_name, buildcache_fetch_url_signed_json), url_err)
- tty.debug('Did not find {0} on {1}'.format(
- specfile_name, buildcache_fetch_url_json), url_err_x)
- tty.debug('Did not find {0} on {1}'.format(
- specfile_name, buildcache_fetch_url_yaml), url_err_y)
+ tty.debug(
+ "Did not find {0} on {1}".format(
+ specfile_name, buildcache_fetch_url_signed_json
+ ),
+ url_err,
+ )
+ tty.debug(
+ "Did not find {0} on {1}".format(specfile_name, buildcache_fetch_url_json),
+ url_err_x,
+ )
+ tty.debug(
+ "Did not find {0} on {1}".format(specfile_name, buildcache_fetch_url_yaml),
+ url_err_y,
+ )
continue
- specfile_contents = codecs.getreader('utf-8')(fs).read()
+ specfile_contents = codecs.getreader("utf-8")(fs).read()
# read the spec from the build cache file. All specs in build caches
# are concrete (as they are built) so we need to mark this spec
@@ -1796,10 +1838,12 @@ def try_direct_fetch(spec, mirrors=None):
fetched_spec = Spec.from_yaml(specfile_contents)
fetched_spec._mark_concrete()
- found_specs.append({
- 'mirror_url': mirror.fetch_url,
- 'spec': fetched_spec,
- })
+ found_specs.append(
+ {
+ "mirror_url": mirror.fetch_url,
+ "spec": fetched_spec,
+ }
+ )
return found_specs
@@ -1861,44 +1905,43 @@ def clear_spec_cache():
def get_keys(install=False, trust=False, force=False, mirrors=None):
- """Get pgp public keys available on mirror with suffix .pub
- """
- mirror_collection = (mirrors or spack.mirror.MirrorCollection())
+ """Get pgp public keys available on mirror with suffix .pub"""
+ mirror_collection = mirrors or spack.mirror.MirrorCollection()
if not mirror_collection:
- tty.die("Please add a spack mirror to allow " +
- "download of build caches.")
+ tty.die("Please add a spack mirror to allow " + "download of build caches.")
for mirror in mirror_collection.values():
fetch_url = mirror.fetch_url
- keys_url = url_util.join(fetch_url,
- _build_cache_relative_path,
- _build_cache_keys_relative_path)
- keys_index = url_util.join(keys_url, 'index.json')
+ keys_url = url_util.join(
+ fetch_url, _build_cache_relative_path, _build_cache_keys_relative_path
+ )
+ keys_index = url_util.join(keys_url, "index.json")
- tty.debug('Finding public keys in {0}'.format(
- url_util.format(fetch_url)))
+ tty.debug("Finding public keys in {0}".format(url_util.format(fetch_url)))
try:
_, _, json_file = web_util.read_from_url(keys_index)
- json_index = sjson.load(codecs.getreader('utf-8')(json_file))
+ json_index = sjson.load(codecs.getreader("utf-8")(json_file))
except (URLError, web_util.SpackWebError) as url_err:
if web_util.url_exists(keys_index):
err_msg = [
- 'Unable to find public keys in {0},',
- ' caught exception attempting to read from {1}.',
+ "Unable to find public keys in {0},",
+ " caught exception attempting to read from {1}.",
]
- tty.error(''.join(err_msg).format(
- url_util.format(fetch_url),
- url_util.format(keys_index)))
+ tty.error(
+ "".join(err_msg).format(
+ url_util.format(fetch_url), url_util.format(keys_index)
+ )
+ )
tty.debug(url_err)
continue
- for fingerprint, key_attributes in json_index['keys'].items():
- link = os.path.join(keys_url, fingerprint + '.pub')
+ for fingerprint, key_attributes in json_index["keys"].items():
+ link = os.path.join(keys_url, fingerprint + ".pub")
with Stage(link, name="build_cache", keep=True) as stage:
if os.path.exists(stage.save_filename) and force:
@@ -1909,38 +1952,39 @@ def get_keys(install=False, trust=False, force=False, mirrors=None):
except fs.FetchError:
continue
- tty.debug('Found key {0}'.format(fingerprint))
+ tty.debug("Found key {0}".format(fingerprint))
if install:
if trust:
spack.util.gpg.trust(stage.save_filename)
- tty.debug('Added this key to trusted keys.')
+ tty.debug("Added this key to trusted keys.")
else:
- tty.debug('Will not add this key to trusted keys.'
- 'Use -t to install all downloaded keys')
+ tty.debug(
+ "Will not add this key to trusted keys."
+ "Use -t to install all downloaded keys"
+ )
def push_keys(*mirrors, **kwargs):
"""
Upload pgp public keys to the given mirrors
"""
- keys = kwargs.get('keys')
- regenerate_index = kwargs.get('regenerate_index', False)
- tmpdir = kwargs.get('tmpdir')
+ keys = kwargs.get("keys")
+ regenerate_index = kwargs.get("regenerate_index", False)
+ tmpdir = kwargs.get("tmpdir")
remove_tmpdir = False
keys = spack.util.gpg.public_keys(*(keys or []))
try:
for mirror in mirrors:
- push_url = getattr(mirror, 'push_url', mirror)
- keys_url = url_util.join(push_url,
- _build_cache_relative_path,
- _build_cache_keys_relative_path)
+ push_url = getattr(mirror, "push_url", mirror)
+ keys_url = url_util.join(
+ push_url, _build_cache_relative_path, _build_cache_keys_relative_path
+ )
keys_local = url_util.local_file_path(keys_url)
- verb = 'Writing' if keys_local else 'Uploading'
- tty.debug('{0} public keys to {1}'.format(
- verb, url_util.format(push_url)))
+ verb = "Writing" if keys_local else "Uploading"
+ tty.debug("{0} public keys to {1}".format(verb, url_util.format(push_url)))
if keys_local: # mirror is local, don't bother with the tmpdir
prefix = keys_local
@@ -1955,8 +1999,8 @@ def push_keys(*mirrors, **kwargs):
prefix = tmpdir
for fingerprint in keys:
- tty.debug(' ' + fingerprint)
- filename = fingerprint + '.pub'
+ tty.debug(" " + fingerprint)
+ filename = fingerprint + ".pub"
export_target = os.path.join(prefix, filename)
@@ -1970,9 +2014,8 @@ def push_keys(*mirrors, **kwargs):
# uploaded to the mirror.
if not keys_local:
spack.util.web.push_to_url(
- export_target,
- url_util.join(keys_url, filename),
- keep_original=False)
+ export_target, url_util.join(keys_url, filename), keep_original=False
+ )
if regenerate_index:
if keys_local:
@@ -1986,21 +2029,20 @@ def push_keys(*mirrors, **kwargs):
def needs_rebuild(spec, mirror_url):
if not spec.concrete:
- raise ValueError('spec must be concrete to check against mirror')
+ raise ValueError("spec must be concrete to check against mirror")
pkg_name = spec.name
pkg_version = spec.version
pkg_hash = spec.dag_hash()
- tty.debug('Checking {0}-{1}, dag_hash = {2}'.format(
- pkg_name, pkg_version, pkg_hash))
+ tty.debug("Checking {0}-{1}, dag_hash = {2}".format(pkg_name, pkg_version, pkg_hash))
tty.debug(spec.tree())
# Try to retrieve the specfile directly, based on the known
# format of the name, in order to determine if the package
# needs to be rebuilt.
cache_prefix = build_cache_prefix(mirror_url)
- specfile_name = tarball_name(spec, '.spec.json')
+ specfile_name = tarball_name(spec, ".spec.json")
specfile_path = os.path.join(cache_prefix, specfile_name)
# Only check for the presence of the json version of the spec. If the
@@ -2026,26 +2068,23 @@ def check_specs_against_mirrors(mirrors, specs, output_file=None):
"""
rebuilds = {}
for mirror in spack.mirror.MirrorCollection(mirrors).values():
- tty.debug('Checking for built specs at {0}'.format(mirror.fetch_url))
+ tty.debug("Checking for built specs at {0}".format(mirror.fetch_url))
rebuild_list = []
for spec in specs:
if needs_rebuild(spec, mirror.fetch_url):
- rebuild_list.append({
- 'short_spec': spec.short_spec,
- 'hash': spec.dag_hash()
- })
+ rebuild_list.append({"short_spec": spec.short_spec, "hash": spec.dag_hash()})
if rebuild_list:
rebuilds[mirror.fetch_url] = {
- 'mirrorName': mirror.name,
- 'mirrorUrl': mirror.fetch_url,
- 'rebuildSpecs': rebuild_list
+ "mirrorName": mirror.name,
+ "mirrorUrl": mirror.fetch_url,
+ "rebuildSpecs": rebuild_list,
}
if output_file:
- with open(output_file, 'w') as outf:
+ with open(output_file, "w") as outf:
outf.write(json.dumps(rebuilds))
return 1 if rebuilds else 0
@@ -2053,13 +2092,12 @@ def check_specs_against_mirrors(mirrors, specs, output_file=None):
def _download_buildcache_entry(mirror_root, descriptions):
for description in descriptions:
- path = description['path']
+ path = description["path"]
mkdirp(path)
- fail_if_missing = description['required']
- for url in description['url']:
+ fail_if_missing = description["required"]
+ for url in description["url"]:
description_url = os.path.join(mirror_root, url)
- stage = Stage(
- description_url, name="build_cache", path=path, keep=True)
+ stage = Stage(description_url, name="build_cache", path=path, keep=True)
try:
stage.fetch()
break
@@ -2067,26 +2105,23 @@ def _download_buildcache_entry(mirror_root, descriptions):
tty.debug(e)
else:
if fail_if_missing:
- tty.error('Failed to download required url {0}'.format(
- description_url))
+ tty.error("Failed to download required url {0}".format(description_url))
return False
return True
def download_buildcache_entry(file_descriptions, mirror_url=None):
if not mirror_url and not spack.mirror.MirrorCollection():
- tty.die("Please provide or add a spack mirror to allow " +
- "download of buildcache entries.")
+ tty.die(
+ "Please provide or add a spack mirror to allow " + "download of buildcache entries."
+ )
if mirror_url:
- mirror_root = os.path.join(
- mirror_url, _build_cache_relative_path)
+ mirror_root = os.path.join(mirror_url, _build_cache_relative_path)
return _download_buildcache_entry(mirror_root, file_descriptions)
for mirror in spack.mirror.MirrorCollection().values():
- mirror_root = os.path.join(
- mirror.fetch_url,
- _build_cache_relative_path)
+ mirror_root = os.path.join(mirror.fetch_url, _build_cache_relative_path)
if _download_buildcache_entry(mirror_root, file_descriptions):
return True
@@ -2096,9 +2131,7 @@ def download_buildcache_entry(file_descriptions, mirror_url=None):
return False
-def download_single_spec(
- concrete_spec, destination, mirror_url=None
-):
+def download_single_spec(concrete_spec, destination, mirror_url=None):
"""Download the buildcache files for a single concrete spec.
Args:
@@ -2106,22 +2139,25 @@ def download_single_spec(
destination (str): path where to put the downloaded buildcache
mirror_url (str): url of the mirror from which to download
"""
- tarfile_name = tarball_name(concrete_spec, '.spack')
+ tarfile_name = tarball_name(concrete_spec, ".spack")
tarball_dir_name = tarball_directory_name(concrete_spec)
tarball_path_name = os.path.join(tarball_dir_name, tarfile_name)
local_tarball_path = os.path.join(destination, tarball_dir_name)
files_to_fetch = [
{
- 'url': [tarball_path_name],
- 'path': local_tarball_path,
- 'required': True,
- }, {
- 'url': [tarball_name(concrete_spec, '.spec.json.sig'),
- tarball_name(concrete_spec, '.spec.json'),
- tarball_name(concrete_spec, '.spec.yaml')],
- 'path': destination,
- 'required': True,
+ "url": [tarball_path_name],
+ "path": local_tarball_path,
+ "required": True,
+ },
+ {
+ "url": [
+ tarball_name(concrete_spec, ".spec.json.sig"),
+ tarball_name(concrete_spec, ".spec.json"),
+ tarball_name(concrete_spec, ".spec.yaml"),
+ ],
+ "path": destination,
+ "required": True,
},
]
@@ -2130,6 +2166,7 @@ def download_single_spec(
class BinaryCacheQuery(object):
"""Callable object to query if a spec is in a binary cache"""
+
def __init__(self, all_architectures):
"""
Args:
@@ -2148,15 +2185,13 @@ class BinaryCacheQuery(object):
def __call__(self, spec, **kwargs):
matches = []
- if spec.startswith('/'):
+ if spec.startswith("/"):
# Matching a DAG hash
- query_hash = spec.replace('/', '')
+ query_hash = spec.replace("/", "")
for candidate_spec in self.possible_specs:
if candidate_spec.dag_hash().startswith(query_hash):
matches.append(candidate_spec)
else:
# Matching a spec constraint
- matches = [
- s for s in self.possible_specs if s.satisfies(spec)
- ]
+ matches = [s for s in self.possible_specs if s.satisfies(spec)]
return matches
diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py
index 8cd820f6c0..fa6a0e29c2 100644
--- a/lib/spack/spack/bootstrap.py
+++ b/lib/spack/spack/bootstrap.py
@@ -42,7 +42,7 @@ import spack.util.spack_yaml
import spack.util.url
#: Name of the file containing metadata about the bootstrapping source
-METADATA_YAML_FILENAME = 'metadata.yaml'
+METADATA_YAML_FILENAME = "metadata.yaml"
#: Map a bootstrapper type to the corresponding class
_bootstrap_methods = {}
@@ -55,9 +55,11 @@ def _bootstrapper(type):
Args:
type (str): string identifying the class
"""
+
def _register(cls):
_bootstrap_methods[type] = cls
return cls
+
return _register
@@ -74,12 +76,12 @@ def _try_import_from_store(module, query_spec, query_info=None):
# If it is a string assume it's one of the root specs by this module
if isinstance(query_spec, six.string_types):
# We have to run as part of this python interpreter
- query_spec += ' ^' + spec_for_current_python()
+ query_spec += " ^" + spec_for_current_python()
installed_specs = spack.store.db.query(query_spec, installed=True)
for candidate_spec in installed_specs:
- pkg = candidate_spec['python'].package
+ pkg = candidate_spec["python"].package
module_paths = [
os.path.join(candidate_spec.prefix, pkg.purelib),
os.path.join(candidate_spec.prefix, pkg.platlib),
@@ -98,17 +100,19 @@ def _try_import_from_store(module, query_spec, query_info=None):
try:
_fix_ext_suffix(candidate_spec)
if _python_import(module):
- msg = ('[BOOTSTRAP MODULE {0}] The installed spec "{1}/{2}" '
- 'provides the "{0}" Python module').format(
- module, query_spec, candidate_spec.dag_hash()
- )
+ msg = (
+ '[BOOTSTRAP MODULE {0}] The installed spec "{1}/{2}" '
+ 'provides the "{0}" Python module'
+ ).format(module, query_spec, candidate_spec.dag_hash())
tty.debug(msg)
if query_info is not None:
- query_info['spec'] = candidate_spec
+ query_info["spec"] = candidate_spec
return True
except Exception as e:
- msg = ('unexpected error while trying to import module '
- '"{0}" from spec "{1}" [error="{2}"]')
+ 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}"
@@ -134,10 +138,10 @@ def _fix_ext_suffix(candidate_spec):
# [RHEL + ppc64le]: https://github.com/spack/spack/issues/25734
#
_suffix_to_be_checked = {
- 'ppc64le': {
- 'glob': '*.cpython-*-powerpc64le-linux-gnu.so',
- 're': r'.cpython-[\w]*-powerpc64le-linux-gnu.so',
- 'fmt': r'{module}.cpython-{major}{minor}m-powerpc64le-linux-gnu.so'
+ "ppc64le": {
+ "glob": "*.cpython-*-powerpc64le-linux-gnu.so",
+ "re": r".cpython-[\w]*-powerpc64le-linux-gnu.so",
+ "fmt": r"{module}.cpython-{major}{minor}m-powerpc64le-linux-gnu.so",
}
}
@@ -148,12 +152,12 @@ def _fix_ext_suffix(candidate_spec):
# If there's no EXT_SUFFIX (Python < 3.5) or the suffix matches
# the expectations, return since the package is surely good
- ext_suffix = sysconfig.get_config_var('EXT_SUFFIX')
+ ext_suffix = sysconfig.get_config_var("EXT_SUFFIX")
if ext_suffix is None:
return
expected = _suffix_to_be_checked[str(generic_target)]
- if fnmatch.fnmatch(ext_suffix, expected['glob']):
+ if fnmatch.fnmatch(ext_suffix, expected["glob"]):
return
# If we are here it means the current interpreter expects different names
@@ -163,8 +167,8 @@ def _fix_ext_suffix(candidate_spec):
# Check if standard names are installed and if we have to create
# link for this interpreter
- standard_extensions = fs.find(candidate_spec.prefix, expected['glob'])
- link_names = [re.sub(expected['re'], ext_suffix, s) for s in standard_extensions]
+ standard_extensions = fs.find(candidate_spec.prefix, expected["glob"])
+ link_names = [re.sub(expected["re"], ext_suffix, s) for s in standard_extensions]
for file_name, link_name in zip(standard_extensions, link_names):
if os.path.exists(link_name):
continue
@@ -172,12 +176,15 @@ def _fix_ext_suffix(candidate_spec):
# Check if this interpreter installed something and we have to create
# links for a standard CPython interpreter
- non_standard_extensions = fs.find(candidate_spec.prefix, '*' + ext_suffix)
+ non_standard_extensions = fs.find(candidate_spec.prefix, "*" + ext_suffix)
for abs_path in non_standard_extensions:
directory, filename = os.path.split(abs_path)
- module = filename.split('.')[0]
- link_name = os.path.join(directory, expected['fmt'].format(
- module=module, major=sys.version_info[0], minor=sys.version_info[1])
+ module = filename.split(".")[0]
+ link_name = os.path.join(
+ directory,
+ expected["fmt"].format(
+ module=module, major=sys.version_info[0], minor=sys.version_info[1]
+ ),
)
if os.path.exists(link_name):
continue
@@ -198,7 +205,7 @@ def _executables_in_store(executables, query_spec, query_info=None):
query_info (dict or None): if a dict is passed it is populated with the
command found and the concrete spec providing it
"""
- executables_str = ', '.join(executables)
+ executables_str = ", ".join(executables)
msg = "[BOOTSTRAP EXECUTABLES {0}] Try installed specs with query '{1}'"
tty.debug(msg.format(executables_str, query_spec))
installed_specs = spack.store.db.query(query_spec, installed=True)
@@ -207,25 +214,27 @@ def _executables_in_store(executables, query_spec, query_info=None):
bin_dir = concrete_spec.prefix.bin
# IF we have a "bin" directory and it contains
# the executables we are looking for
- if (os.path.exists(bin_dir) and os.path.isdir(bin_dir) and
- spack.util.executable.which_string(*executables, path=bin_dir)):
- spack.util.environment.path_put_first('PATH', [bin_dir])
+ if (
+ os.path.exists(bin_dir)
+ and os.path.isdir(bin_dir)
+ and spack.util.executable.which_string(*executables, path=bin_dir)
+ ):
+ spack.util.environment.path_put_first("PATH", [bin_dir])
if query_info is not None:
- query_info['command'] = spack.util.executable.which(
- *executables, path=bin_dir
- )
- query_info['spec'] = concrete_spec
+ query_info["command"] = spack.util.executable.which(*executables, path=bin_dir)
+ query_info["spec"] = concrete_spec
return True
return False
class _BootstrapperBase(object):
"""Base class to derive types that can bootstrap software for Spack"""
- config_scope_name = ''
+
+ config_scope_name = ""
def __init__(self, conf):
- self.name = conf['name']
- self.url = conf['info']['url']
+ self.name = conf["name"]
+ self.url = conf["info"]["url"]
@property
def mirror_url(self):
@@ -234,7 +243,7 @@ class _BootstrapperBase(object):
return spack.util.url.format(self.url)
# Check for :// and assume it's an url if we find it
- if '://' in self.url:
+ if "://" in self.url:
return self.url
# Otherwise, it's a relative path
@@ -243,19 +252,19 @@ class _BootstrapperBase(object):
@property
def mirror_scope(self):
return spack.config.InternalConfigScope(
- self.config_scope_name, {'mirrors:': {self.name: self.mirror_url}}
+ self.config_scope_name, {"mirrors:": {self.name: self.mirror_url}}
)
-@_bootstrapper(type='buildcache')
+@_bootstrapper(type="buildcache")
class _BuildcacheBootstrapper(_BootstrapperBase):
"""Install the software needed during bootstrapping from a buildcache."""
- config_scope_name = 'bootstrap_buildcache'
+ config_scope_name = "bootstrap_buildcache"
def __init__(self, conf):
super(_BuildcacheBootstrapper, self).__init__(conf)
- self.metadata_dir = spack.util.path.canonicalize_path(conf['metadata'])
+ self.metadata_dir = spack.util.path.canonicalize_path(conf["metadata"])
self.last_search = None
@staticmethod
@@ -277,7 +286,7 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
def _read_metadata(self, package_name):
"""Return metadata about the given package."""
- json_filename = '{0}.json'.format(package_name)
+ json_filename = "{0}.json".format(package_name)
json_dir = self.metadata_dir
json_path = os.path.join(json_dir, json_filename)
with open(json_path) as f:
@@ -294,32 +303,22 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
"cc": "/dev/null",
"cxx": "/dev/null",
"f77": "/dev/null",
- "fc": "/dev/null"
+ "fc": "/dev/null",
},
"spec": str(index_spec.compiler),
- "target": str(index_spec.target.family)
+ "target": str(index_spec.target.family),
}
with spack.platforms.use_platform(bincache_platform):
- with spack.config.override(
- 'compilers', [{'compiler': compiler_entry}]
- ):
- spec_str = '/' + pkg_hash
- query = spack.binary_distribution.BinaryCacheQuery(
- all_architectures=True
- )
+ with spack.config.override("compilers", [{"compiler": compiler_entry}]):
+ spec_str = "/" + pkg_hash
+ query = spack.binary_distribution.BinaryCacheQuery(all_architectures=True)
matches = spack.store.find([spec_str], multiple=False, query_fn=query)
for match in matches:
spack.binary_distribution.install_root_node(
- match,
- allow_root=True,
- unsigned=True,
- force=True,
- sha256=pkg_sha256
+ match, allow_root=True, unsigned=True, force=True, sha256=pkg_sha256
)
- def _install_and_test(
- self, abstract_spec, bincache_platform, bincache_data, test_fn
- ):
+ def _install_and_test(self, abstract_spec, bincache_platform, bincache_data, test_fn):
# Ensure we see only the buildcache being used to bootstrap
with spack.config.override(self.mirror_scope):
# This index is currently needed to get the compiler used to build some
@@ -330,10 +329,10 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
if not index:
raise RuntimeError("The binary index is empty")
- for item in bincache_data['verified']:
- candidate_spec = item['spec']
+ for item in bincache_data["verified"]:
+ candidate_spec = item["spec"]
# This will be None for things that don't depend on python
- python_spec = item.get('python', None)
+ python_spec = item.get("python", None)
# Skip specs which are not compatible
if not abstract_spec.satisfies(candidate_spec):
continue
@@ -341,11 +340,9 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
if python_spec is not None and python_spec not in abstract_spec:
continue
- for pkg_name, pkg_hash, pkg_sha256 in item['binaries']:
+ for pkg_name, pkg_hash, pkg_sha256 in item["binaries"]:
# TODO: undo installations that didn't complete?
- self._install_by_hash(
- pkg_hash, pkg_sha256, index, bincache_platform
- )
+ self._install_by_hash(pkg_hash, pkg_sha256, index, bincache_platform)
info = {}
if test_fn(query_spec=abstract_spec, query_info=info):
@@ -360,12 +357,10 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
tty.info("Bootstrapping {0} from pre-built binaries".format(module))
abstract_spec, bincache_platform = self._spec_and_platform(
- abstract_spec_str + ' ^' + spec_for_current_python()
+ abstract_spec_str + " ^" + spec_for_current_python()
)
data = self._read_metadata(module)
- return self._install_and_test(
- abstract_spec, bincache_platform, data, test_fn
- )
+ return self._install_and_test(abstract_spec, bincache_platform, data, test_fn)
def try_search_path(self, executables, abstract_spec_str):
test_fn, info = functools.partial(_executables_in_store, executables), {}
@@ -376,19 +371,18 @@ class _BuildcacheBootstrapper(_BootstrapperBase):
abstract_spec, bincache_platform = self._spec_and_platform(abstract_spec_str)
tty.info("Bootstrapping {0} from pre-built binaries".format(abstract_spec.name))
data = self._read_metadata(abstract_spec.name)
- return self._install_and_test(
- abstract_spec, bincache_platform, data, test_fn
- )
+ return self._install_and_test(abstract_spec, bincache_platform, data, test_fn)
-@_bootstrapper(type='install')
+@_bootstrapper(type="install")
class _SourceBootstrapper(_BootstrapperBase):
"""Install the software needed during bootstrapping from sources."""
- config_scope_name = 'bootstrap_source'
+
+ config_scope_name = "bootstrap_source"
def __init__(self, conf):
super(_SourceBootstrapper, self).__init__(conf)
- self.metadata_dir = spack.util.path.canonicalize_path(conf['metadata'])
+ self.metadata_dir = spack.util.path.canonicalize_path(conf["metadata"])
self.conf = conf
self.last_search = None
@@ -407,11 +401,9 @@ class _SourceBootstrapper(_BootstrapperBase):
# Try to build and install from sources
with spack_python_interpreter():
# Add hint to use frontend operating system on Cray
- concrete_spec = spack.spec.Spec(
- abstract_spec_str + ' ^' + spec_for_current_python()
- )
+ concrete_spec = spack.spec.Spec(abstract_spec_str + " ^" + spec_for_current_python())
- if module == 'clingo':
+ if module == "clingo":
# TODO: remove when the old concretizer is deprecated
concrete_spec._old_concretize(deprecation_warning=False)
else:
@@ -442,7 +434,7 @@ class _SourceBootstrapper(_BootstrapperBase):
_add_externals_if_missing()
concrete_spec = spack.spec.Spec(abstract_spec_str)
- if concrete_spec.name == 'patchelf':
+ if concrete_spec.name == "patchelf":
concrete_spec._old_concretize(deprecation_warning=False)
else:
concrete_spec.concretize()
@@ -461,15 +453,15 @@ def _make_bootstrapper(conf):
"""Return a bootstrap object built according to the
configuration argument
"""
- btype = conf['type']
+ btype = conf["type"]
return _bootstrap_methods[btype](conf)
def source_is_enabled_or_raise(conf):
"""Raise ValueError if the source is not enabled for bootstrapping"""
- trusted, name = spack.config.get('bootstrap:trusted'), conf['name']
+ trusted, name = spack.config.get("bootstrap:trusted"), conf["name"]
if not trusted.get(name, False):
- raise ValueError('source is not trusted')
+ raise ValueError("source is not trusted")
def spec_for_current_python():
@@ -481,13 +473,13 @@ def spec_for_current_python():
https://www.python.org/dev/peps/pep-0513/
https://stackoverflow.com/a/35801395/771663
"""
- version_str = '.'.join(str(x) for x in sys.version_info[:2])
- variant_str = ''
+ version_str = ".".join(str(x) for x in sys.version_info[:2])
+ variant_str = ""
if sys.version_info[0] == 2 and sys.version_info[1] == 7:
- unicode_size = sysconfig.get_config_var('Py_UNICODE_SIZE')
- variant_str = '+ucs4' if unicode_size == 4 else '~ucs4'
+ unicode_size = sysconfig.get_config_var("Py_UNICODE_SIZE")
+ variant_str = "+ucs4" if unicode_size == 4 else "~ucs4"
- spec_fmt = 'python@{0} {1}'
+ spec_fmt = "python@{0} {1}"
return spec_fmt.format(version_str, variant_str)
@@ -501,13 +493,11 @@ def spack_python_interpreter():
external_python = spec_for_current_python()
entry = {
- 'buildable': False,
- 'externals': [
- {'prefix': python_prefix, 'spec': str(external_python)}
- ]
+ "buildable": False,
+ "externals": [{"prefix": python_prefix, "spec": str(external_python)}],
}
- with spack.config.override('packages:python::', entry):
+ with spack.config.override("packages:python::", entry):
yield
@@ -538,7 +528,7 @@ def ensure_module_importable_or_raise(module, abstract_spec=None):
h = GroupedExceptionHandler()
for current_config in bootstrapping_sources():
- with h.forward(current_config['name']):
+ with h.forward(current_config["name"]):
source_is_enabled_or_raise(current_config)
b = _make_bootstrapper(current_config)
@@ -556,7 +546,7 @@ def ensure_module_importable_or_raise(module, abstract_spec=None):
msg += h.grouped_message(with_tracebacks=True)
else:
msg += h.grouped_message(with_tracebacks=False)
- msg += '\nRun `spack --debug ...` for more detailed errors'
+ msg += "\nRun `spack --debug ...` for more detailed errors"
raise ImportError(msg)
@@ -578,21 +568,21 @@ def ensure_executables_in_path_or_raise(executables, abstract_spec):
if cmd:
return cmd
- executables_str = ', '.join(executables)
+ executables_str = ", ".join(executables)
h = GroupedExceptionHandler()
for current_config in bootstrapping_sources():
- with h.forward(current_config['name']):
+ with h.forward(current_config["name"]):
source_is_enabled_or_raise(current_config)
b = _make_bootstrapper(current_config)
if b.try_search_path(executables, abstract_spec):
# Additional environment variables needed
- concrete_spec, cmd = b.last_search['spec'], b.last_search['command']
+ concrete_spec, cmd = b.last_search["spec"], b.last_search["command"]
env_mods = spack.util.environment.EnvironmentModifications()
for dep in concrete_spec.traverse(
- root=True, order='post', deptype=('link', 'run')
+ root=True, order="post", deptype=("link", "run")
):
env_mods.extend(
spack.user_environment.environment_modifications_for_spec(
@@ -606,14 +596,14 @@ def ensure_executables_in_path_or_raise(executables, abstract_spec):
"expected at least one exception to have been raised at this point: "
"while bootstrapping {0}".format(executables_str)
)
- msg = 'cannot bootstrap any of the {0} executables '.format(executables_str)
+ msg = "cannot bootstrap any of the {0} executables ".format(executables_str)
if abstract_spec:
msg += 'from spec "{0}" '.format(abstract_spec)
if tty.is_debug():
msg += h.grouped_message(with_tracebacks=True)
else:
msg += h.grouped_message(with_tracebacks=False)
- msg += '\nRun `spack --debug ...` for more detailed errors'
+ msg += "\nRun `spack --debug ...` for more detailed errors"
raise RuntimeError(msg)
@@ -626,22 +616,17 @@ def _python_import(module):
def _bootstrap_config_scopes():
- tty.debug('[BOOTSTRAP CONFIG SCOPE] name=_builtin')
- config_scopes = [
- spack.config.InternalConfigScope('_builtin', spack.config.config_defaults)
- ]
- configuration_paths = (
- spack.config.configuration_defaults_path,
- ('bootstrap', _config_path())
- )
+ tty.debug("[BOOTSTRAP CONFIG SCOPE] name=_builtin")
+ config_scopes = [spack.config.InternalConfigScope("_builtin", spack.config.config_defaults)]
+ configuration_paths = (spack.config.configuration_defaults_path, ("bootstrap", _config_path()))
for name, path in configuration_paths:
platform = spack.platforms.host().name
platform_scope = spack.config.ConfigScope(
- '/'.join([name, platform]), os.path.join(path, platform)
+ "/".join([name, platform]), os.path.join(path, platform)
)
generic_scope = spack.config.ConfigScope(name, path)
config_scopes.extend([generic_scope, platform_scope])
- msg = '[BOOTSTRAP CONFIG SCOPE] name={0}, path={1}'
+ msg = "[BOOTSTRAP CONFIG SCOPE] name={0}, path={1}"
tty.debug(msg.format(generic_scope.name, generic_scope.path))
tty.debug(msg.format(platform_scope.name, platform_scope.path))
return config_scopes
@@ -658,13 +643,13 @@ def _add_compilers_if_missing():
def _add_externals_if_missing():
search_list = [
# clingo
- spack.repo.path.get_pkg_class('cmake'),
- spack.repo.path.get_pkg_class('bison'),
+ spack.repo.path.get_pkg_class("cmake"),
+ spack.repo.path.get_pkg_class("bison"),
# GnuPG
- spack.repo.path.get_pkg_class('gawk')
+ spack.repo.path.get_pkg_class("gawk"),
]
detected_packages = spack.detection.by_executable(search_list)
- spack.detection.update_configuration(detected_packages, scope='bootstrap')
+ spack.detection.update_configuration(detected_packages, scope="bootstrap")
#: Reference counter for the bootstrapping configuration context manager
@@ -705,12 +690,8 @@ def _ensure_bootstrap_configuration():
# We may need to compile code from sources, so ensure we
# have compilers for the current platform
_add_compilers_if_missing()
- spack.config.set(
- 'bootstrap', user_configuration['bootstrap']
- )
- spack.config.set(
- 'config', user_configuration['config']
- )
+ spack.config.set("bootstrap", user_configuration["bootstrap"])
+ spack.config.set("config", user_configuration["config"])
with spack.modules.disable_modules():
with spack_python_interpreter():
yield
@@ -723,21 +704,17 @@ def _read_and_sanitize_configuration():
# Read the "config" section but pop the install tree (the entry will not be
# considered due to the use_store context manager, so it will be confusing
# to have it in the configuration).
- config_yaml = spack.config.get('config')
- config_yaml.pop('install_tree', None)
- user_configuration = {
- 'bootstrap': spack.config.get('bootstrap'),
- 'config': config_yaml
- }
+ config_yaml = spack.config.get("config")
+ config_yaml.pop("install_tree", None)
+ user_configuration = {"bootstrap": spack.config.get("bootstrap"), "config": config_yaml}
return user_configuration
def store_path():
"""Path to the store used for bootstrapped software"""
- enabled = spack.config.get('bootstrap:enable', True)
+ enabled = spack.config.get("bootstrap:enable", True)
if not enabled:
- msg = ('bootstrapping is currently disabled. '
- 'Use "spack bootstrap enable" to enable it')
+ msg = "bootstrapping is currently disabled. " 'Use "spack bootstrap enable" to enable it'
raise RuntimeError(msg)
return _store_path()
@@ -745,23 +722,17 @@ def store_path():
def _root_path():
"""Root of all the bootstrap related folders"""
- return spack.config.get(
- 'bootstrap:root', spack.paths.default_user_bootstrap_path
- )
+ return spack.config.get("bootstrap:root", spack.paths.default_user_bootstrap_path)
def _store_path():
bootstrap_root_path = _root_path()
- return spack.util.path.canonicalize_path(
- os.path.join(bootstrap_root_path, 'store')
- )
+ return spack.util.path.canonicalize_path(os.path.join(bootstrap_root_path, "store"))
def _config_path():
bootstrap_root_path = _root_path()
- return spack.util.path.canonicalize_path(
- os.path.join(bootstrap_root_path, 'config')
- )
+ return spack.util.path.canonicalize_path(os.path.join(bootstrap_root_path, "config"))
def _root_spec(spec_str):
@@ -772,41 +743,39 @@ def _root_spec(spec_str):
"""
# Add a proper compiler hint to the root spec. We use GCC for
# everything but MacOS and Windows.
- if str(spack.platforms.host()) == 'darwin':
- spec_str += ' %apple-clang'
- elif str(spack.platforms.host()) == 'windows':
- spec_str += ' %msvc'
+ if str(spack.platforms.host()) == "darwin":
+ spec_str += " %apple-clang"
+ elif str(spack.platforms.host()) == "windows":
+ spec_str += " %msvc"
else:
- spec_str += ' %gcc'
+ spec_str += " %gcc"
target = archspec.cpu.host().family
- spec_str += ' target={0}'.format(target)
+ spec_str += " target={0}".format(target)
- tty.debug('[BOOTSTRAP ROOT SPEC] {0}'.format(spec_str))
+ tty.debug("[BOOTSTRAP ROOT SPEC] {0}".format(spec_str))
return spec_str
def clingo_root_spec():
"""Return the root spec used to bootstrap clingo"""
- return _root_spec('clingo-bootstrap@spack+python')
+ return _root_spec("clingo-bootstrap@spack+python")
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()
- )
+ ensure_module_importable_or_raise(module="clingo", abstract_spec=clingo_root_spec())
def gnupg_root_spec():
"""Return the root spec used to bootstrap GnuPG"""
- return _root_spec('gnupg@2.3:')
+ return _root_spec("gnupg@2.3:")
def ensure_gpg_in_path_or_raise():
"""Ensure gpg or gpg2 are in the PATH or raise."""
return ensure_executables_in_path_or_raise(
- executables=['gpg2', 'gpg'], abstract_spec=gnupg_root_spec()
+ executables=["gpg2", "gpg"], abstract_spec=gnupg_root_spec()
)
@@ -815,13 +784,13 @@ def patchelf_root_spec():
# TODO: patchelf is restricted to v0.13 since earlier versions have
# TODO: bugs that we don't to deal with, while v0.14 requires a C++17
# TODO: which may not be available on all platforms.
- return _root_spec('patchelf@0.13.1:0.13.99')
+ return _root_spec("patchelf@0.13.1:0.13.99")
def ensure_patchelf_in_path_or_raise():
"""Ensure patchelf is in the PATH or raise."""
return ensure_executables_in_path_or_raise(
- executables=['patchelf'], abstract_spec=patchelf_root_spec()
+ executables=["patchelf"], abstract_spec=patchelf_root_spec()
)
@@ -831,44 +800,44 @@ def ensure_patchelf_in_path_or_raise():
def isort_root_spec():
- return _root_spec('py-isort@4.3.5:')
+ return _root_spec("py-isort@4.3.5:")
def ensure_isort_in_path_or_raise():
"""Ensure that isort is in the PATH or raise."""
- executable, root_spec = 'isort', isort_root_spec()
+ executable, root_spec = "isort", isort_root_spec()
return ensure_executables_in_path_or_raise([executable], abstract_spec=root_spec)
def mypy_root_spec():
- return _root_spec('py-mypy@0.900:')
+ return _root_spec("py-mypy@0.900:")
def ensure_mypy_in_path_or_raise():
"""Ensure that mypy is in the PATH or raise."""
- executable, root_spec = 'mypy', mypy_root_spec()
+ executable, root_spec = "mypy", mypy_root_spec()
return ensure_executables_in_path_or_raise([executable], abstract_spec=root_spec)
def black_root_spec():
# black v21 is the last version to support Python 2.7.
# Upgrade when we no longer support Python 2.7
- return _root_spec('py-black@:21')
+ return _root_spec("py-black@:21")
def ensure_black_in_path_or_raise():
"""Ensure that black is in the PATH or raise."""
- executable, root_spec = 'black', black_root_spec()
+ executable, root_spec = "black", black_root_spec()
return ensure_executables_in_path_or_raise([executable], abstract_spec=root_spec)
def flake8_root_spec():
- return _root_spec('py-flake8')
+ return _root_spec("py-flake8")
def ensure_flake8_in_path_or_raise():
"""Ensure that flake8 is in the PATH or raise."""
- executable, root_spec = 'flake8', flake8_root_spec()
+ executable, root_spec = "flake8", flake8_root_spec()
return ensure_executables_in_path_or_raise([executable], abstract_spec=root_spec)
@@ -880,8 +849,7 @@ def all_root_specs(development=False):
"""
specs = [clingo_root_spec(), gnupg_root_spec(), patchelf_root_spec()]
if development:
- specs += [isort_root_spec(), mypy_root_spec(),
- black_root_spec(), flake8_root_spec()]
+ specs += [isort_root_spec(), mypy_root_spec(), black_root_spec(), flake8_root_spec()]
return specs
@@ -889,8 +857,8 @@ def _missing(name, purpose, system_only=True):
"""Message to be printed if an executable is not found"""
msg = '[{2}] MISSING "{0}": {1}'
if not system_only:
- return msg.format(name, purpose, '@*y{{B}}')
- return msg.format(name, purpose, '@*y{{-}}')
+ return msg.format(name, purpose, "@*y{{B}}")
+ return msg.format(name, purpose, "@*y{{-}}")
def _required_system_executable(exes, msg):
@@ -915,82 +883,84 @@ def _required_executable(exes, query_spec, msg):
"""Search for an executable in the system path or in the bootstrap store."""
if isinstance(exes, six.string_types):
exes = (exes,)
- if (spack.util.executable.which_string(*exes) or
- _executables_in_store(exes, query_spec)):
+ if spack.util.executable.which_string(*exes) or _executables_in_store(exes, query_spec):
return True, None
return False, msg
def _core_requirements():
_core_system_exes = {
- 'make': _missing('make', 'required to build software from sources'),
- 'patch': _missing('patch', 'required to patch source code before building'),
- 'bash': _missing('bash', 'required for Spack compiler wrapper'),
- 'tar': _missing('tar', 'required to manage code archives'),
- 'gzip': _missing('gzip', 'required to compress/decompress code archives'),
- 'unzip': _missing('unzip', 'required to compress/decompress code archives'),
- 'bzip2': _missing('bzip2', 'required to compress/decompress code archives'),
- 'git': _missing('git', 'required to fetch/manage git repositories')
+ "make": _missing("make", "required to build software from sources"),
+ "patch": _missing("patch", "required to patch source code before building"),
+ "bash": _missing("bash", "required for Spack compiler wrapper"),
+ "tar": _missing("tar", "required to manage code archives"),
+ "gzip": _missing("gzip", "required to compress/decompress code archives"),
+ "unzip": _missing("unzip", "required to compress/decompress code archives"),
+ "bzip2": _missing("bzip2", "required to compress/decompress code archives"),
+ "git": _missing("git", "required to fetch/manage git repositories"),
}
- if platform.system().lower() == 'linux':
- _core_system_exes['xz'] = _missing(
- 'xz', 'required to compress/decompress code archives'
- )
+ if platform.system().lower() == "linux":
+ _core_system_exes["xz"] = _missing("xz", "required to compress/decompress code archives")
# Executables that are not bootstrapped yet
- result = [_required_system_executable(exe, msg)
- for exe, msg in _core_system_exes.items()]
+ result = [_required_system_executable(exe, msg) for exe, msg in _core_system_exes.items()]
# Python modules
- result.append(_required_python_module(
- 'clingo', clingo_root_spec(),
- _missing('clingo', 'required to concretize specs', False)
- ))
+ result.append(
+ _required_python_module(
+ "clingo", clingo_root_spec(), _missing("clingo", "required to concretize specs", False)
+ )
+ )
return result
def _buildcache_requirements():
_buildcache_exes = {
- 'file': _missing('file', 'required to analyze files for buildcaches'),
- ('gpg2', 'gpg'): _missing('gpg2', 'required to sign/verify buildcaches', False)
+ "file": _missing("file", "required to analyze files for buildcaches"),
+ ("gpg2", "gpg"): _missing("gpg2", "required to sign/verify buildcaches", False),
}
- if platform.system().lower() == 'darwin':
- _buildcache_exes['otool'] = _missing('otool', 'required to relocate binaries')
+ if platform.system().lower() == "darwin":
+ _buildcache_exes["otool"] = _missing("otool", "required to relocate binaries")
# Executables that are not bootstrapped yet
- result = [_required_system_executable(exe, msg)
- for exe, msg in _buildcache_exes.items()]
-
- if platform.system().lower() == 'linux':
- result.append(_required_executable(
- 'patchelf', patchelf_root_spec(),
- _missing('patchelf', 'required to relocate binaries', False)
- ))
+ result = [_required_system_executable(exe, msg) for exe, msg in _buildcache_exes.items()]
+
+ if platform.system().lower() == "linux":
+ result.append(
+ _required_executable(
+ "patchelf",
+ patchelf_root_spec(),
+ _missing("patchelf", "required to relocate binaries", False),
+ )
+ )
return result
def _optional_requirements():
_optional_exes = {
- 'zstd': _missing('zstd', 'required to compress/decompress code archives'),
- 'svn': _missing('svn', 'required to manage subversion repositories'),
- 'hg': _missing('hg', 'required to manage mercurial repositories')
+ "zstd": _missing("zstd", "required to compress/decompress code archives"),
+ "svn": _missing("svn", "required to manage subversion repositories"),
+ "hg": _missing("hg", "required to manage mercurial repositories"),
}
# Executables that are not bootstrapped yet
- result = [_required_system_executable(exe, msg)
- for exe, msg in _optional_exes.items()]
+ result = [_required_system_executable(exe, msg) for exe, msg in _optional_exes.items()]
return result
def _development_requirements():
return [
- _required_executable('isort', isort_root_spec(),
- _missing('isort', 'required for style checks', False)),
- _required_executable('mypy', mypy_root_spec(),
- _missing('mypy', 'required for style checks', False)),
- _required_executable('flake8', flake8_root_spec(),
- _missing('flake8', 'required for style checks', False)),
- _required_executable('black', black_root_spec(),
- _missing('black', 'required for code formatting', False))
+ _required_executable(
+ "isort", isort_root_spec(), _missing("isort", "required for style checks", False)
+ ),
+ _required_executable(
+ "mypy", mypy_root_spec(), _missing("mypy", "required for style checks", False)
+ ),
+ _required_executable(
+ "flake8", flake8_root_spec(), _missing("flake8", "required for style checks", False)
+ ),
+ _required_executable(
+ "black", black_root_spec(), _missing("black", "required for code formatting", False)
+ ),
]
@@ -1002,14 +972,14 @@ def status_message(section):
Args:
section (str): either 'core' or 'buildcache' or 'optional' or 'develop'
"""
- pass_token, fail_token = '@*g{[PASS]}', '@*r{[FAIL]}'
+ pass_token, fail_token = "@*g{[PASS]}", "@*r{[FAIL]}"
# Contain the header of the section and a list of requirements
spack_sections = {
- 'core': ("{0} @*{{Core Functionalities}}", _core_requirements),
- 'buildcache': ("{0} @*{{Binary packages}}", _buildcache_requirements),
- 'optional': ("{0} @*{{Optional Features}}", _optional_requirements),
- 'develop': ("{0} @*{{Development Dependencies}}", _development_requirements)
+ "core": ("{0} @*{{Core Functionalities}}", _core_requirements),
+ "buildcache": ("{0} @*{{Binary packages}}", _buildcache_requirements),
+ "optional": ("{0} @*{{Optional Features}}", _optional_requirements),
+ "develop": ("{0} @*{{Development Dependencies}}", _development_requirements),
}
msg, required_software = spack_sections[section]
@@ -1019,7 +989,7 @@ def status_message(section):
if not found:
missing_software = True
msg += "\n " + err_msg
- msg += '\n'
+ msg += "\n"
msg = msg.format(pass_token if not missing_software else fail_token)
return msg, missing_software
@@ -1031,12 +1001,12 @@ def bootstrapping_sources(scope=None):
scope (str or None): if a valid configuration scope is given, return the
list only from that scope
"""
- source_configs = spack.config.get('bootstrap:sources', default=None, scope=scope)
+ source_configs = spack.config.get("bootstrap:sources", default=None, scope=scope)
source_configs = source_configs or []
list_of_sources = []
for entry in source_configs:
current = copy.copy(entry)
- metadata_dir = spack.util.path.canonicalize_path(entry['metadata'])
+ metadata_dir = spack.util.path.canonicalize_path(entry["metadata"])
metadata_yaml = os.path.join(metadata_dir, METADATA_YAML_FILENAME)
with open(metadata_yaml) as f:
current.update(spack.util.spack_yaml.load(f))
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py
index ae961a695b..2d0fd2b5e6 100644
--- a/lib/spack/spack/build_environment.py
+++ b/lib/spack/spack/build_environment.py
@@ -84,31 +84,31 @@ from spack.util.string import plural
#
# This can be set by the user to globally disable parallel builds.
#
-SPACK_NO_PARALLEL_MAKE = 'SPACK_NO_PARALLEL_MAKE'
+SPACK_NO_PARALLEL_MAKE = "SPACK_NO_PARALLEL_MAKE"
#
# These environment variables are set by
# set_wrapper_variables and used to pass parameters to
# Spack's compiler wrappers.
#
-SPACK_ENV_PATH = 'SPACK_ENV_PATH'
-SPACK_INCLUDE_DIRS = 'SPACK_INCLUDE_DIRS'
-SPACK_LINK_DIRS = 'SPACK_LINK_DIRS'
-SPACK_RPATH_DIRS = 'SPACK_RPATH_DIRS'
-SPACK_RPATH_DEPS = 'SPACK_RPATH_DEPS'
-SPACK_LINK_DEPS = 'SPACK_LINK_DEPS'
-SPACK_PREFIX = 'SPACK_PREFIX'
-SPACK_INSTALL = 'SPACK_INSTALL'
-SPACK_DEBUG = 'SPACK_DEBUG'
-SPACK_SHORT_SPEC = 'SPACK_SHORT_SPEC'
-SPACK_DEBUG_LOG_ID = 'SPACK_DEBUG_LOG_ID'
-SPACK_DEBUG_LOG_DIR = 'SPACK_DEBUG_LOG_DIR'
-SPACK_CCACHE_BINARY = 'SPACK_CCACHE_BINARY'
-SPACK_SYSTEM_DIRS = 'SPACK_SYSTEM_DIRS'
+SPACK_ENV_PATH = "SPACK_ENV_PATH"
+SPACK_INCLUDE_DIRS = "SPACK_INCLUDE_DIRS"
+SPACK_LINK_DIRS = "SPACK_LINK_DIRS"
+SPACK_RPATH_DIRS = "SPACK_RPATH_DIRS"
+SPACK_RPATH_DEPS = "SPACK_RPATH_DEPS"
+SPACK_LINK_DEPS = "SPACK_LINK_DEPS"
+SPACK_PREFIX = "SPACK_PREFIX"
+SPACK_INSTALL = "SPACK_INSTALL"
+SPACK_DEBUG = "SPACK_DEBUG"
+SPACK_SHORT_SPEC = "SPACK_SHORT_SPEC"
+SPACK_DEBUG_LOG_ID = "SPACK_DEBUG_LOG_ID"
+SPACK_DEBUG_LOG_DIR = "SPACK_DEBUG_LOG_DIR"
+SPACK_CCACHE_BINARY = "SPACK_CCACHE_BINARY"
+SPACK_SYSTEM_DIRS = "SPACK_SYSTEM_DIRS"
# Platform-specific library suffix.
-dso_suffix = 'dylib' if sys.platform == 'darwin' else 'so'
+dso_suffix = "dylib" if sys.platform == "darwin" else "so"
def should_set_parallel_jobs(jobserver_support=False):
@@ -117,9 +117,9 @@ def should_set_parallel_jobs(jobserver_support=False):
- jobserver_support is enabled, and a jobserver was found.
"""
if (
- jobserver_support and
- 'MAKEFLAGS' in os.environ and
- '--jobserver' in os.environ['MAKEFLAGS']
+ jobserver_support
+ and "MAKEFLAGS" in os.environ
+ and "--jobserver" in os.environ["MAKEFLAGS"]
):
return False
return not env_flag(SPACK_NO_PARALLEL_MAKE)
@@ -127,13 +127,13 @@ def should_set_parallel_jobs(jobserver_support=False):
class MakeExecutable(Executable):
"""Special callable executable object for make so the user can specify
- parallelism options on a per-invocation basis. Specifying
- 'parallel' to the call will override whatever the package's
- global setting is, so you can either default to true or false and
- override particular calls. Specifying 'jobs_env' to a particular
- call will name an environment variable which will be set to the
- parallelism level (without affecting the normal invocation with
- -j).
+ parallelism options on a per-invocation basis. Specifying
+ 'parallel' to the call will override whatever the package's
+ global setting is, so you can either default to true or false and
+ override particular calls. Specifying 'jobs_env' to a particular
+ call will name an environment variable which will be set to the
+ parallelism level (without affecting the normal invocation with
+ -j).
"""
def __init__(self, name, jobs):
@@ -144,25 +144,26 @@ class MakeExecutable(Executable):
"""parallel, and jobs_env from kwargs are swallowed and used here;
remaining arguments are passed through to the superclass.
"""
- parallel = should_set_parallel_jobs(jobserver_support=True) and \
- kwargs.pop('parallel', self.jobs > 1)
+ parallel = should_set_parallel_jobs(jobserver_support=True) and kwargs.pop(
+ "parallel", self.jobs > 1
+ )
if parallel:
- args = ('-j{0}'.format(self.jobs),) + args
- jobs_env = kwargs.pop('jobs_env', None)
+ args = ("-j{0}".format(self.jobs),) + args
+ jobs_env = kwargs.pop("jobs_env", None)
if jobs_env:
# Caller wants us to set an environment variable to
# control the parallelism.
- kwargs['extra_env'] = {jobs_env: str(self.jobs)}
+ kwargs["extra_env"] = {jobs_env: str(self.jobs)}
return super(MakeExecutable, self).__call__(*args, **kwargs)
def _on_cray():
host_platform = spack.platforms.host()
- host_os = host_platform.operating_system('default_os')
- on_cray = str(host_platform) == 'cray'
- using_cnl = re.match(r'cnl\d+', str(host_os))
+ host_os = host_platform.operating_system("default_os")
+ on_cray = str(host_platform) == "cray"
+ using_cnl = re.match(r"cnl\d+", str(host_os))
return on_cray, using_cnl
@@ -175,33 +176,33 @@ def clean_environment():
# Remove these vars from the environment during build because they
# can affect how some packages find libraries. We want to make
# sure that builds never pull in unintended external dependencies.
- env.unset('LD_LIBRARY_PATH')
- env.unset('LD_RUN_PATH')
- env.unset('DYLD_LIBRARY_PATH')
- env.unset('DYLD_FALLBACK_LIBRARY_PATH')
+ env.unset("LD_LIBRARY_PATH")
+ env.unset("LD_RUN_PATH")
+ env.unset("DYLD_LIBRARY_PATH")
+ env.unset("DYLD_FALLBACK_LIBRARY_PATH")
# These vars affect how the compiler finds libraries and include dirs.
- env.unset('LIBRARY_PATH')
- env.unset('CPATH')
- env.unset('C_INCLUDE_PATH')
- env.unset('CPLUS_INCLUDE_PATH')
- env.unset('OBJC_INCLUDE_PATH')
+ env.unset("LIBRARY_PATH")
+ env.unset("CPATH")
+ env.unset("C_INCLUDE_PATH")
+ env.unset("CPLUS_INCLUDE_PATH")
+ env.unset("OBJC_INCLUDE_PATH")
- env.unset('CMAKE_PREFIX_PATH')
- env.unset('PYTHONPATH')
+ env.unset("CMAKE_PREFIX_PATH")
+ env.unset("PYTHONPATH")
# Affects GNU make, can e.g. indirectly inhibit enabling parallel build
# env.unset('MAKEFLAGS')
# Avoid that libraries of build dependencies get hijacked.
- env.unset('LD_PRELOAD')
- env.unset('DYLD_INSERT_LIBRARIES')
+ env.unset("LD_PRELOAD")
+ env.unset("DYLD_INSERT_LIBRARIES")
# Avoid <packagename>_ROOT user variables overriding spack dependencies
# https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html
# Spack needs SPACK_ROOT though, so we need to exclude that
for varname in os.environ.keys():
- if varname.endswith('_ROOT') and varname != 'SPACK_ROOT':
+ if varname.endswith("_ROOT") and varname != "SPACK_ROOT":
env.unset(varname)
# On Cray "cluster" systems, unset CRAY_LD_LIBRARY_PATH to avoid
@@ -210,46 +211,55 @@ def clean_environment():
# depending on the CNL version).
on_cray, using_cnl = _on_cray()
if on_cray and not using_cnl:
- env.unset('CRAY_LD_LIBRARY_PATH')
+ env.unset("CRAY_LD_LIBRARY_PATH")
for varname in os.environ.keys():
- if 'PKGCONF' in varname:
+ if "PKGCONF" in varname:
env.unset(varname)
# Unset the following variables because they can affect installation of
# Autotools and CMake packages.
build_system_vars = [
- 'CC', 'CFLAGS', 'CPP', 'CPPFLAGS', # C variables
- 'CXX', 'CCC', 'CXXFLAGS', 'CXXCPP', # C++ variables
- 'F77', 'FFLAGS', 'FLIBS', # Fortran77 variables
- 'FC', 'FCFLAGS', 'FCLIBS', # Fortran variables
- 'LDFLAGS', 'LIBS' # linker variables
+ "CC",
+ "CFLAGS",
+ "CPP",
+ "CPPFLAGS", # C variables
+ "CXX",
+ "CCC",
+ "CXXFLAGS",
+ "CXXCPP", # C++ variables
+ "F77",
+ "FFLAGS",
+ "FLIBS", # Fortran77 variables
+ "FC",
+ "FCFLAGS",
+ "FCLIBS", # Fortran variables
+ "LDFLAGS",
+ "LIBS", # linker variables
]
for v in build_system_vars:
env.unset(v)
# Unset mpi environment vars. These flags should only be set by
# mpi providers for packages with mpi dependencies
- mpi_vars = [
- 'MPICC', 'MPICXX', 'MPIFC', 'MPIF77', 'MPIF90'
- ]
+ mpi_vars = ["MPICC", "MPICXX", "MPIFC", "MPIF77", "MPIF90"]
for v in mpi_vars:
env.unset(v)
- build_lang = spack.config.get('config:build_language')
+ build_lang = spack.config.get("config:build_language")
if build_lang:
# Override language-related variables. This can be used to force
# English compiler messages etc., which allows parse_log_events to
# show useful matches.
- env.set('LC_ALL', build_lang)
+ env.set("LC_ALL", build_lang)
# Remove any macports installs from the PATH. The macports ld can
# cause conflicts with the built-in linker on el capitan. Solves
# assembler issues, e.g.:
# suffix or operands invalid for `movq'"
- path = get_path('PATH')
+ path = get_path("PATH")
for p in path:
- if '/macports/' in p:
- env.remove_path('PATH', p)
+ if "/macports/" in p:
+ env.remove_path("PATH", p)
return env
@@ -263,8 +273,7 @@ def set_compiler_environment_variables(pkg, env):
compiler.verify_executables()
# Set compiler variables used by CMake and autotools
- assert all(key in compiler.link_paths for key in (
- 'cc', 'cxx', 'f77', 'fc'))
+ assert all(key in compiler.link_paths for key in ("cc", "cxx", "f77", "fc"))
# Populate an object with the list of environment modifications
# and return it
@@ -274,36 +283,36 @@ def set_compiler_environment_variables(pkg, env):
# Set SPACK compiler variables so that our wrapper knows what to call
if compiler.cc:
- env.set('SPACK_CC', compiler.cc)
- env.set('CC', os.path.join(link_dir, compiler.link_paths['cc']))
+ env.set("SPACK_CC", compiler.cc)
+ env.set("CC", os.path.join(link_dir, compiler.link_paths["cc"]))
if compiler.cxx:
- env.set('SPACK_CXX', compiler.cxx)
- env.set('CXX', os.path.join(link_dir, compiler.link_paths['cxx']))
+ env.set("SPACK_CXX", compiler.cxx)
+ env.set("CXX", os.path.join(link_dir, compiler.link_paths["cxx"]))
if compiler.f77:
- env.set('SPACK_F77', compiler.f77)
- env.set('F77', os.path.join(link_dir, compiler.link_paths['f77']))
+ env.set("SPACK_F77", compiler.f77)
+ env.set("F77", os.path.join(link_dir, compiler.link_paths["f77"]))
if compiler.fc:
- env.set('SPACK_FC', compiler.fc)
- env.set('FC', os.path.join(link_dir, compiler.link_paths['fc']))
+ env.set("SPACK_FC", compiler.fc)
+ env.set("FC", os.path.join(link_dir, compiler.link_paths["fc"]))
# Set SPACK compiler rpath flags so that our wrapper knows what to use
- env.set('SPACK_CC_RPATH_ARG', compiler.cc_rpath_arg)
- env.set('SPACK_CXX_RPATH_ARG', compiler.cxx_rpath_arg)
- env.set('SPACK_F77_RPATH_ARG', compiler.f77_rpath_arg)
- env.set('SPACK_FC_RPATH_ARG', compiler.fc_rpath_arg)
- env.set('SPACK_LINKER_ARG', compiler.linker_arg)
+ env.set("SPACK_CC_RPATH_ARG", compiler.cc_rpath_arg)
+ env.set("SPACK_CXX_RPATH_ARG", compiler.cxx_rpath_arg)
+ env.set("SPACK_F77_RPATH_ARG", compiler.f77_rpath_arg)
+ env.set("SPACK_FC_RPATH_ARG", compiler.fc_rpath_arg)
+ env.set("SPACK_LINKER_ARG", compiler.linker_arg)
# Check whether we want to force RPATH or RUNPATH
- if spack.config.get('config:shared_linking') == 'rpath':
- env.set('SPACK_DTAGS_TO_STRIP', compiler.enable_new_dtags)
- env.set('SPACK_DTAGS_TO_ADD', compiler.disable_new_dtags)
+ if spack.config.get("config:shared_linking") == "rpath":
+ env.set("SPACK_DTAGS_TO_STRIP", compiler.enable_new_dtags)
+ env.set("SPACK_DTAGS_TO_ADD", compiler.disable_new_dtags)
else:
- env.set('SPACK_DTAGS_TO_STRIP', compiler.disable_new_dtags)
- env.set('SPACK_DTAGS_TO_ADD', compiler.enable_new_dtags)
+ env.set("SPACK_DTAGS_TO_STRIP", compiler.disable_new_dtags)
+ env.set("SPACK_DTAGS_TO_ADD", compiler.enable_new_dtags)
# Set the target parameters that the compiler will add
isa_arg = spec.architecture.target.optimization_flags(compiler)
- env.set('SPACK_TARGET_ARGS', isa_arg)
+ env.set("SPACK_TARGET_ARGS", isa_arg)
# Trap spack-tracked compiler flags as appropriate.
# env_flags are easy to accidentally override.
@@ -333,16 +342,16 @@ def set_compiler_environment_variables(pkg, env):
# Concreteness guarantees key safety here
if inject_flags[flag]:
# variables SPACK_<FLAG> inject flags through wrapper
- var_name = 'SPACK_{0}'.format(flag.upper())
- env.set(var_name, ' '.join(f for f in inject_flags[flag]))
+ var_name = "SPACK_{0}".format(flag.upper())
+ env.set(var_name, " ".join(f for f in inject_flags[flag]))
if env_flags[flag]:
# implicit variables
- env.set(flag.upper(), ' '.join(f for f in env_flags[flag]))
+ env.set(flag.upper(), " ".join(f for f in env_flags[flag]))
pkg.flags_to_build_system_args(build_system_flags)
- env.set('SPACK_COMPILER_SPEC', str(spec.compiler))
+ env.set("SPACK_COMPILER_SPEC", str(spec.compiler))
- env.set('SPACK_SYSTEM_DIRS', ':'.join(system_dirs))
+ env.set("SPACK_SYSTEM_DIRS", ":".join(system_dirs))
compiler.setup_custom_environment(pkg, env)
@@ -351,17 +360,17 @@ def set_compiler_environment_variables(pkg, env):
def set_wrapper_variables(pkg, env):
"""Set environment variables used by the Spack compiler wrapper
- (which have the prefix `SPACK_`) and also add the compiler wrappers
- to PATH.
-
- This determines the injected -L/-I/-rpath options; each
- of these specifies a search order and this function computes these
- options in a manner that is intended to match the DAG traversal order
- in `modifications_from_dependencies`: that method uses a post-order
- traversal so that `PrependPath` actions from dependencies take lower
- precedence; we use a post-order traversal here to match the visitation
- order of `modifications_from_dependencies` (so we are visiting the
- lowest priority packages first).
+ (which have the prefix `SPACK_`) and also add the compiler wrappers
+ to PATH.
+
+ This determines the injected -L/-I/-rpath options; each
+ of these specifies a search order and this function computes these
+ options in a manner that is intended to match the DAG traversal order
+ in `modifications_from_dependencies`: that method uses a post-order
+ traversal so that `PrependPath` actions from dependencies take lower
+ precedence; we use a post-order traversal here to match the visitation
+ order of `modifications_from_dependencies` (so we are visiting the
+ lowest priority packages first).
"""
# Set environment variables if specified for
# the given compiler
@@ -369,8 +378,8 @@ def set_wrapper_variables(pkg, env):
env.extend(spack.schema.environment.parse(compiler.environment))
if compiler.extra_rpaths:
- extra_rpaths = ':'.join(compiler.extra_rpaths)
- env.set('SPACK_COMPILER_EXTRA_RPATHS', extra_rpaths)
+ extra_rpaths = ":".join(compiler.extra_rpaths)
+ env.set("SPACK_COMPILER_EXTRA_RPATHS", extra_rpaths)
# Add spack build environment path with compiler wrappers first in
# the path. We add the compiler wrapper path, which includes default
@@ -384,35 +393,35 @@ def set_wrapper_variables(pkg, env):
# directory. Add that to the path too.
env_paths = []
compiler_specific = os.path.join(
- spack.paths.build_env_path,
- os.path.dirname(pkg.compiler.link_paths['cc']))
+ spack.paths.build_env_path, os.path.dirname(pkg.compiler.link_paths["cc"])
+ )
for item in [spack.paths.build_env_path, compiler_specific]:
env_paths.append(item)
- ci = os.path.join(item, 'case-insensitive')
+ ci = os.path.join(item, "case-insensitive")
if os.path.isdir(ci):
env_paths.append(ci)
tty.debug("Adding compiler bin/ paths: " + " ".join(env_paths))
for item in env_paths:
- env.prepend_path('PATH', item)
+ env.prepend_path("PATH", item)
env.set_path(SPACK_ENV_PATH, env_paths)
# Working directory for the spack command itself, for debug logs.
- if spack.config.get('config:debug'):
- env.set(SPACK_DEBUG, 'TRUE')
+ if spack.config.get("config:debug"):
+ env.set(SPACK_DEBUG, "TRUE")
env.set(SPACK_SHORT_SPEC, pkg.spec.short_spec)
- env.set(SPACK_DEBUG_LOG_ID, pkg.spec.format('{name}-{hash:7}'))
+ env.set(SPACK_DEBUG_LOG_ID, pkg.spec.format("{name}-{hash:7}"))
env.set(SPACK_DEBUG_LOG_DIR, spack.main.spack_working_dir)
# Find ccache binary and hand it to build environment
- if spack.config.get('config:ccache'):
- ccache = Executable('ccache')
+ if spack.config.get("config:ccache"):
+ ccache = Executable("ccache")
if not ccache:
raise RuntimeError("No ccache binary found in PATH")
env.set(SPACK_CCACHE_BINARY, ccache)
# Gather information about various types of dependencies
- link_deps = set(pkg.spec.traverse(root=False, deptype=('link')))
+ link_deps = set(pkg.spec.traverse(root=False, deptype=("link")))
rpath_deps = get_rpath_deps(pkg)
link_dirs = []
@@ -434,9 +443,8 @@ def set_wrapper_variables(pkg, env):
except NoLibrariesError:
tty.debug("No libraries found for {0}".format(dep.name))
- for default_lib_dir in ['lib', 'lib64']:
- default_lib_prefix = os.path.join(
- dep.prefix, default_lib_dir)
+ for default_lib_dir in ["lib", "lib64"]:
+ default_lib_prefix = os.path.join(dep.prefix, default_lib_dir)
if os.path.isdir(default_lib_prefix):
dep_link_dirs.append(default_lib_prefix)
@@ -449,21 +457,21 @@ def set_wrapper_variables(pkg, env):
except NoHeadersError:
tty.debug("No headers found for {0}".format(dep.name))
- for dspec in pkg.spec.traverse(root=False, order='post'):
+ for dspec in pkg.spec.traverse(root=False, order="post"):
if dspec.external:
update_compiler_args_for_dep(dspec)
# Just above, we prepended entries for -L/-rpath for externals. We
# now do this for non-external packages so that Spack-built packages
# are searched first for libraries etc.
- for dspec in pkg.spec.traverse(root=False, order='post'):
+ for dspec in pkg.spec.traverse(root=False, order="post"):
if not dspec.external:
update_compiler_args_for_dep(dspec)
# The top-level package is always RPATHed. It hasn't been installed yet
# so the RPATHs are added unconditionally (e.g. even though lib64/ may
# not be created for the install).
- for libdir in ['lib64', 'lib']:
+ for libdir in ["lib64", "lib"]:
lib_path = os.path.join(pkg.prefix, libdir)
rpath_dirs.insert(0, lib_path)
@@ -471,13 +479,14 @@ def set_wrapper_variables(pkg, env):
include_dirs = list(dedupe(filter_system_paths(include_dirs)))
rpath_dirs = list(dedupe(filter_system_paths(rpath_dirs)))
- env.set(SPACK_LINK_DIRS, ':'.join(link_dirs))
- env.set(SPACK_INCLUDE_DIRS, ':'.join(include_dirs))
- env.set(SPACK_RPATH_DIRS, ':'.join(rpath_dirs))
+ env.set(SPACK_LINK_DIRS, ":".join(link_dirs))
+ env.set(SPACK_INCLUDE_DIRS, ":".join(include_dirs))
+ env.set(SPACK_RPATH_DIRS, ":".join(rpath_dirs))
def determine_number_of_jobs(
- parallel=False, command_line=None, config_default=None, max_cpus=None):
+ parallel=False, command_line=None, config_default=None, max_cpus=None
+):
"""
Packages that require sequential builds need 1 job. Otherwise we use the
number of jobs set on the command line. If not set, then we use the config
@@ -494,8 +503,8 @@ def determine_number_of_jobs(
if not parallel:
return 1
- if command_line is None and 'command_line' in spack.config.scopes():
- command_line = spack.config.get('config:build_jobs', scope='command_line')
+ if command_line is None and "command_line" in spack.config.scopes():
+ command_line = spack.config.get("config:build_jobs", scope="command_line")
if command_line is not None:
return command_line
@@ -503,7 +512,7 @@ def determine_number_of_jobs(
max_cpus = max_cpus or cpus_available()
# in some rare cases _builtin config may not be set, so default to max 16
- config_default = config_default or spack.config.get('config:build_jobs', 16)
+ config_default = config_default or spack.config.get("config:build_jobs", 16)
return min(max_cpus, config_default)
@@ -512,7 +521,7 @@ def _set_variables_for_single_module(pkg, module):
"""Helper function to set module variables for single module."""
# Put a marker on this module so that it won't execute the body of this
# function again, since it is not needed
- marker = '_set_run_already_called'
+ marker = "_set_run_already_called"
if getattr(module, marker, False):
return
@@ -522,24 +531,24 @@ def _set_variables_for_single_module(pkg, module):
m.make_jobs = jobs
# TODO: make these build deps that can be installed if not found.
- m.make = MakeExecutable('make', jobs)
- m.gmake = MakeExecutable('gmake', jobs)
- m.scons = MakeExecutable('scons', jobs)
- m.ninja = MakeExecutable('ninja', jobs)
+ m.make = MakeExecutable("make", jobs)
+ m.gmake = MakeExecutable("gmake", jobs)
+ m.scons = MakeExecutable("scons", jobs)
+ m.ninja = MakeExecutable("ninja", jobs)
# easy shortcut to os.environ
m.env = os.environ
# Find the configure script in the archive path
# Don't use which for this; we want to find it in the current dir.
- m.configure = Executable('./configure')
+ m.configure = Executable("./configure")
- m.meson = Executable('meson')
- m.cmake = Executable('cmake')
- m.ctest = MakeExecutable('ctest', jobs)
+ m.meson = Executable("meson")
+ m.cmake = Executable("cmake")
+ m.ctest = MakeExecutable("ctest", jobs)
- if sys.platform == 'win32':
- m.nmake = Executable('nmake')
+ if sys.platform == "win32":
+ m.nmake = Executable("nmake")
# Standard CMake arguments
m.std_cmake_args = spack.build_systems.cmake.CMakePackage._std_args(pkg)
m.std_meson_args = spack.build_systems.meson.MesonPackage._std_args(pkg)
@@ -547,10 +556,10 @@ def _set_variables_for_single_module(pkg, module):
# Put spack compiler paths in module scope.
link_dir = spack.paths.build_env_path
- m.spack_cc = os.path.join(link_dir, pkg.compiler.link_paths['cc'])
- m.spack_cxx = os.path.join(link_dir, pkg.compiler.link_paths['cxx'])
- m.spack_f77 = os.path.join(link_dir, pkg.compiler.link_paths['f77'])
- m.spack_fc = os.path.join(link_dir, pkg.compiler.link_paths['fc'])
+ m.spack_cc = os.path.join(link_dir, pkg.compiler.link_paths["cc"])
+ m.spack_cxx = os.path.join(link_dir, pkg.compiler.link_paths["cxx"])
+ m.spack_f77 = os.path.join(link_dir, pkg.compiler.link_paths["f77"])
+ m.spack_fc = os.path.join(link_dir, pkg.compiler.link_paths["fc"])
# Emulate some shell commands for convenience
m.pwd = os.getcwd
@@ -575,11 +584,12 @@ def _set_variables_for_single_module(pkg, module):
m.dso_suffix = dso_suffix
def static_to_shared_library(static_lib, shared_lib=None, **kwargs):
- compiler_path = kwargs.get('compiler', m.spack_cc)
+ compiler_path = kwargs.get("compiler", m.spack_cc)
compiler = Executable(compiler_path)
- return _static_to_shared_library(pkg.spec.architecture, compiler,
- static_lib, shared_lib, **kwargs)
+ return _static_to_shared_library(
+ pkg.spec.architecture, compiler, static_lib, shared_lib, **kwargs
+ )
m.static_to_shared_library = static_to_shared_library
@@ -590,7 +600,7 @@ def _set_variables_for_single_module(pkg, module):
def set_module_variables_for_package(pkg):
"""Populate the module scope of install() with some useful functions.
- This makes things easier for package writers.
+ This makes things easier for package writers.
"""
# If a user makes their own package repo, e.g.
# spack.pkg.mystuff.libelf.Libelf, and they inherit from an existing class
@@ -602,8 +612,7 @@ def set_module_variables_for_package(pkg):
_set_variables_for_single_module(pkg, mod)
-def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None,
- **kwargs):
+def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None, **kwargs):
"""
Converts a static library to a shared library. The static library has to
be built with PIC for the conversion to work.
@@ -621,50 +630,49 @@ def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None,
compat_version (str): Library compatibility version. Default is
version.
"""
- compiler_output = kwargs.get('compiler_output', None)
- arguments = kwargs.get('arguments', [])
- version = kwargs.get('version', None)
- compat_version = kwargs.get('compat_version', version)
+ compiler_output = kwargs.get("compiler_output", None)
+ arguments = kwargs.get("arguments", [])
+ version = kwargs.get("version", None)
+ compat_version = kwargs.get("compat_version", version)
if not shared_lib:
- shared_lib = '{0}.{1}'.format(os.path.splitext(static_lib)[0],
- dso_suffix)
+ shared_lib = "{0}.{1}".format(os.path.splitext(static_lib)[0], dso_suffix)
compiler_args = []
# TODO: Compiler arguments should not be hardcoded but provided by
# the different compiler classes.
- if 'linux' in arch or 'cray' in arch:
+ if "linux" in arch or "cray" in arch:
soname = os.path.basename(shared_lib)
if compat_version:
- soname += '.{0}'.format(compat_version)
+ soname += ".{0}".format(compat_version)
compiler_args = [
- '-shared',
- '-Wl,-soname,{0}'.format(soname),
- '-Wl,--whole-archive',
+ "-shared",
+ "-Wl,-soname,{0}".format(soname),
+ "-Wl,--whole-archive",
static_lib,
- '-Wl,--no-whole-archive'
+ "-Wl,--no-whole-archive",
]
- elif 'darwin' in arch:
+ elif "darwin" in arch:
install_name = shared_lib
if compat_version:
- install_name += '.{0}'.format(compat_version)
+ install_name += ".{0}".format(compat_version)
compiler_args = [
- '-dynamiclib',
- '-install_name', '{0}'.format(install_name),
- '-Wl,-force_load,{0}'.format(static_lib)
+ "-dynamiclib",
+ "-install_name",
+ "{0}".format(install_name),
+ "-Wl,-force_load,{0}".format(static_lib),
]
if compat_version:
- compiler_args.extend(['-compatibility_version', '{0}'.format(
- compat_version)])
+ compiler_args.extend(["-compatibility_version", "{0}".format(compat_version)])
if version:
- compiler_args.extend(['-current_version', '{0}'.format(version)])
+ compiler_args.extend(["-current_version", "{0}".format(version)])
if len(arguments) > 0:
compiler_args.extend(arguments)
@@ -672,11 +680,11 @@ def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None,
shared_lib_base = shared_lib
if version:
- shared_lib += '.{0}'.format(version)
+ shared_lib += ".{0}".format(version)
elif compat_version:
- shared_lib += '.{0}'.format(compat_version)
+ shared_lib += ".{0}".format(compat_version)
- compiler_args.extend(['-o', shared_lib])
+ compiler_args.extend(["-o", shared_lib])
# Create symlinks for version and compat_version
shared_lib_link = os.path.basename(shared_lib)
@@ -685,8 +693,7 @@ def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None,
symlink(shared_lib_link, shared_lib_base)
if compat_version and compat_version != version:
- symlink(shared_lib_link, '{0}.{1}'.format(shared_lib_base,
- compat_version))
+ symlink(shared_lib_link, "{0}.{1}".format(shared_lib_base, compat_version))
return compiler(*compiler_args, output=compiler_output)
@@ -694,19 +701,17 @@ def _static_to_shared_library(arch, compiler, static_lib, shared_lib=None,
def get_rpath_deps(pkg):
"""Return immediate or transitive RPATHs depending on the package."""
if pkg.transitive_rpaths:
- return [d for d in pkg.spec.traverse(root=False, deptype=('link'))]
+ return [d for d in pkg.spec.traverse(root=False, deptype=("link"))]
else:
- return pkg.spec.dependencies(deptype='link')
+ return pkg.spec.dependencies(deptype="link")
def get_rpaths(pkg):
"""Get a list of all the rpaths for a package."""
rpaths = [pkg.prefix.lib, pkg.prefix.lib64]
deps = get_rpath_deps(pkg)
- rpaths.extend(d.prefix.lib for d in deps
- if os.path.isdir(d.prefix.lib))
- rpaths.extend(d.prefix.lib64 for d in deps
- if os.path.isdir(d.prefix.lib64))
+ rpaths.extend(d.prefix.lib for d in deps if os.path.isdir(d.prefix.lib))
+ rpaths.extend(d.prefix.lib64 for d in deps if os.path.isdir(d.prefix.lib64))
# Second module is our compiler mod name. We use that to get rpaths from
# module show output.
if pkg.compiler.modules and len(pkg.compiler.modules) > 1:
@@ -752,8 +757,9 @@ def parent_class_modules(cls):
Includes cls.__module__
"""
- if (not issubclass(cls, spack.package_base.PackageBase) or
- issubclass(spack.package_base.PackageBase, cls)):
+ if not issubclass(cls, spack.package_base.PackageBase) or issubclass(
+ spack.package_base.PackageBase, cls
+ ):
return []
result = []
module = sys.modules.get(cls.__module__)
@@ -779,12 +785,10 @@ def load_external_modules(pkg):
load_module(external_module)
-def setup_package(pkg, dirty, context='build'):
+def setup_package(pkg, dirty, context="build"):
"""Execute all environment setup routines."""
- if context not in ['build', 'test']:
- raise ValueError(
- "'context' must be one of ['build', 'test'] - got: {0}"
- .format(context))
+ if context not in ["build", "test"]:
+ raise ValueError("'context' must be one of ['build', 'test'] - got: {0}".format(context))
set_module_variables_for_package(pkg)
@@ -794,37 +798,37 @@ def setup_package(pkg, dirty, context='build'):
env_mods = EnvironmentModifications()
# setup compilers for build contexts
- need_compiler = context == 'build' or (context == 'test' and
- pkg.test_requires_compiler)
+ need_compiler = context == "build" or (context == "test" and pkg.test_requires_compiler)
if need_compiler:
set_compiler_environment_variables(pkg, env_mods)
set_wrapper_variables(pkg, env_mods)
- env_mods.extend(modifications_from_dependencies(
- pkg.spec, context, custom_mods_only=False))
+ env_mods.extend(modifications_from_dependencies(pkg.spec, context, custom_mods_only=False))
# architecture specific setup
platform = spack.platforms.by_name(pkg.spec.architecture.platform)
target = platform.target(pkg.spec.architecture.target)
platform.setup_platform_environment(pkg, env_mods)
- if context == 'build':
+ if context == "build":
pkg.setup_build_environment(env_mods)
- if (not dirty) and (not env_mods.is_unset('CPATH')):
- tty.debug("A dependency has updated CPATH, this may lead pkg-"
- "config to assume that the package is part of the system"
- " includes and omit it when invoked with '--cflags'.")
- elif context == 'test':
+ if (not dirty) and (not env_mods.is_unset("CPATH")):
+ tty.debug(
+ "A dependency has updated CPATH, this may lead pkg-"
+ "config to assume that the package is part of the system"
+ " includes and omit it when invoked with '--cflags'."
+ )
+ elif context == "test":
env_mods.extend(
inspect_path(
pkg.spec.prefix,
spack.user_environment.prefix_inspections(pkg.spec.platform),
- exclude=is_system_path
+ exclude=is_system_path,
)
)
pkg.setup_run_environment(env_mods)
- env_mods.prepend_path('PATH', '.')
+ env_mods.prepend_path("PATH", ".")
# First apply the clean environment changes
env_base.apply_modifications()
@@ -840,8 +844,8 @@ def setup_package(pkg, dirty, context='build'):
# unnecessary
on_cray, _ = _on_cray()
if on_cray and not dirty:
- for mod in ['cray-mpich', 'cray-libsci']:
- module('unload', mod)
+ for mod in ["cray-mpich", "cray-libsci"]:
+ module("unload", mod)
if target.module_name:
load_module(target.module_name)
@@ -850,8 +854,7 @@ def setup_package(pkg, dirty, context='build'):
implicit_rpaths = pkg.compiler.implicit_rpaths()
if implicit_rpaths:
- env_mods.set('SPACK_COMPILER_IMPLICIT_RPATHS',
- ':'.join(implicit_rpaths))
+ env_mods.set("SPACK_COMPILER_IMPLICIT_RPATHS", ":".join(implicit_rpaths))
# Make sure nothing's strange about the Spack environment.
validate(env_mods, tty.warn)
@@ -867,14 +870,14 @@ def _make_runnable(pkg, env):
# environment variable
prefix = pkg.prefix
- for dirname in ['bin', 'bin64']:
+ for dirname in ["bin", "bin64"]:
bin_dir = os.path.join(prefix, dirname)
if os.path.isdir(bin_dir):
- env.prepend_path('PATH', bin_dir)
+ env.prepend_path("PATH", bin_dir)
def modifications_from_dependencies(
- spec, context, custom_mods_only=True, set_package_py_globals=True
+ spec, context, custom_mods_only=True, set_package_py_globals=True
):
"""Returns the environment modifications that are required by
the dependencies of a spec and also applies modifications
@@ -914,60 +917,57 @@ def modifications_from_dependencies(
package.py files (this may be problematic when using buildcaches that have
been built on a different but compatible OS)
"""
- if context not in ['build', 'run', 'test']:
+ if context not in ["build", "run", "test"]:
raise ValueError(
- "Expecting context to be one of ['build', 'run', 'test'], "
- "got: {0}".format(context))
+ "Expecting context to be one of ['build', 'run', 'test'], " "got: {0}".format(context)
+ )
env = EnvironmentModifications()
# Note: see computation of 'custom_mod_deps' and 'exe_deps' later in this
# function; these sets form the building blocks of those collections.
- build_deps = set(spec.dependencies(deptype=('build', 'test')))
- link_deps = set(spec.traverse(root=False, deptype='link'))
+ build_deps = set(spec.dependencies(deptype=("build", "test")))
+ link_deps = set(spec.traverse(root=False, deptype="link"))
build_link_deps = build_deps | link_deps
build_and_supporting_deps = set()
for build_dep in build_deps:
- build_and_supporting_deps.update(build_dep.traverse(deptype='run'))
- run_and_supporting_deps = set(
- spec.traverse(root=False, deptype=('run', 'link')))
+ build_and_supporting_deps.update(build_dep.traverse(deptype="run"))
+ run_and_supporting_deps = set(spec.traverse(root=False, deptype=("run", "link")))
test_and_supporting_deps = set()
- for test_dep in set(spec.dependencies(deptype='test')):
- test_and_supporting_deps.update(test_dep.traverse(deptype='run'))
+ for test_dep in set(spec.dependencies(deptype="test")):
+ test_and_supporting_deps.update(test_dep.traverse(deptype="run"))
# All dependencies that might have environment modifications to apply
custom_mod_deps = set()
- if context == 'build':
+ if context == "build":
custom_mod_deps.update(build_and_supporting_deps)
# Tests may be performed after build
custom_mod_deps.update(test_and_supporting_deps)
else:
# test/run context
custom_mod_deps.update(run_and_supporting_deps)
- if context == 'test':
+ if context == "test":
custom_mod_deps.update(test_and_supporting_deps)
custom_mod_deps.update(link_deps)
# Determine 'exe_deps': the set of packages with binaries we want to use
- if context == 'build':
+ if context == "build":
exe_deps = build_and_supporting_deps | test_and_supporting_deps
- elif context == 'run':
- exe_deps = set(spec.traverse(deptype='run'))
- elif context == 'test':
+ elif context == "run":
+ exe_deps = set(spec.traverse(deptype="run"))
+ elif context == "test":
exe_deps = test_and_supporting_deps
def default_modifications_for_dep(dep):
- if (dep in build_link_deps and
- not is_system_path(dep.prefix) and
- context == 'build'):
+ if dep in build_link_deps and not is_system_path(dep.prefix) and context == "build":
prefix = dep.prefix
- env.prepend_path('CMAKE_PREFIX_PATH', prefix)
+ env.prepend_path("CMAKE_PREFIX_PATH", prefix)
- for directory in ('lib', 'lib64', 'share'):
- pcdir = os.path.join(prefix, directory, 'pkgconfig')
+ for directory in ("lib", "lib64", "share"):
+ pcdir = os.path.join(prefix, directory, "pkgconfig")
if os.path.isdir(pcdir):
- env.prepend_path('PKG_CONFIG_PATH', pcdir)
+ env.prepend_path("PKG_CONFIG_PATH", pcdir)
if dep in exe_deps and not is_system_path(dep.prefix):
_make_runnable(dep, env)
@@ -990,7 +990,7 @@ def modifications_from_dependencies(
set_module_variables_for_package(dpkg)
# Allow dependencies to modify the module
dpkg.setup_dependent_package(spec.package.module, spec)
- if context == 'build':
+ if context == "build":
dpkg.setup_dependent_build_environment(env, spec)
else:
dpkg.setup_dependent_run_environment(env, spec)
@@ -999,11 +999,11 @@ def modifications_from_dependencies(
# The Spec.traverse method provides this: i.e. in addition to
# the post-order semantics, it also guarantees a fixed traversal order
# among dependencies which are not constrained by post-order semantics.
- for dspec in spec.traverse(root=False, order='post'):
+ for dspec in spec.traverse(root=False, order="post"):
if dspec.external:
add_modifications_for_dep(dspec)
- for dspec in spec.traverse(root=False, order='post'):
+ for dspec in spec.traverse(root=False, order="post"):
# Default env modifications for non-external packages can override
# custom modifications of external packages (this can only occur
# for modifications to PATH, CMAKE_PREFIX_PATH, and PKG_CONFIG_PATH)
@@ -1017,14 +1017,14 @@ def get_cmake_prefix_path(pkg):
# Note that unlike modifications_from_dependencies, this does not include
# any edits to CMAKE_PREFIX_PATH defined in custom
# setup_dependent_build_environment implementations of dependency packages
- build_deps = set(pkg.spec.dependencies(deptype=('build', 'test')))
- link_deps = set(pkg.spec.traverse(root=False, deptype=('link')))
+ build_deps = set(pkg.spec.dependencies(deptype=("build", "test")))
+ link_deps = set(pkg.spec.traverse(root=False, deptype=("link")))
build_link_deps = build_deps | link_deps
spack_built = []
externals = []
# modifications_from_dependencies updates CMAKE_PREFIX_PATH by first
# prepending all externals and then all non-externals
- for dspec in pkg.spec.traverse(root=False, order='post'):
+ for dspec in pkg.spec.traverse(root=False, order="post"):
if dspec in build_link_deps:
if dspec.external:
externals.insert(0, dspec)
@@ -1032,15 +1032,15 @@ def get_cmake_prefix_path(pkg):
spack_built.insert(0, dspec)
ordered_build_link_deps = spack_built + externals
- build_link_prefixes = filter_system_paths(
- x.prefix for x in ordered_build_link_deps)
+ build_link_prefixes = filter_system_paths(x.prefix for x in ordered_build_link_deps)
return build_link_prefixes
-def _setup_pkg_and_run(serialized_pkg, function, kwargs, child_pipe,
- input_multiprocess_fd, jsfd1, jsfd2):
+def _setup_pkg_and_run(
+ serialized_pkg, function, kwargs, child_pipe, input_multiprocess_fd, jsfd1, jsfd2
+):
- context = kwargs.get('context', 'build')
+ context = kwargs.get("context", "build")
try:
# We are in the child process. Python sets sys.stdin to
@@ -1053,10 +1053,11 @@ def _setup_pkg_and_run(serialized_pkg, function, kwargs, child_pipe,
pkg = serialized_pkg.restore()
- if not kwargs.get('fake', False):
- kwargs['unmodified_env'] = os.environ.copy()
- kwargs['env_modifications'] = setup_package(
- pkg, dirty=kwargs.get('dirty', False), context=context)
+ if not kwargs.get("fake", False):
+ kwargs["unmodified_env"] = os.environ.copy()
+ kwargs["env_modifications"] = setup_package(
+ pkg, dirty=kwargs.get("dirty", False), context=context
+ )
return_value = function(pkg, kwargs)
child_pipe.send(return_value)
@@ -1077,25 +1078,30 @@ def _setup_pkg_and_run(serialized_pkg, function, kwargs, child_pipe,
package_context = get_package_context(tb)
logfile = None
- if context == 'build':
+ if context == "build":
try:
- if hasattr(pkg, 'log_path'):
+ if hasattr(pkg, "log_path"):
logfile = pkg.log_path
except NameError:
# 'pkg' is not defined yet
pass
- elif context == 'test':
+ elif context == "test":
logfile = os.path.join(
- pkg.test_suite.stage,
- spack.install_test.TestSuite.test_log_name(pkg.spec))
+ pkg.test_suite.stage, spack.install_test.TestSuite.test_log_name(pkg.spec)
+ )
# make a pickleable exception to send to parent.
msg = "%s: %s" % (exc_type.__name__, str(exc))
- ce = ChildError(msg,
- exc_type.__module__,
- exc_type.__name__,
- tb_string, logfile, context, package_context)
+ ce = ChildError(
+ msg,
+ exc_type.__module__,
+ exc_type.__name__,
+ tb_string,
+ logfile,
+ context,
+ package_context,
+ )
child_pipe.send(ce)
finally:
@@ -1152,21 +1158,28 @@ def start_build_process(pkg, function, kwargs):
try:
# Forward sys.stdin when appropriate, to allow toggling verbosity
- if sys.platform != "win32" and sys.stdin.isatty() and hasattr(sys.stdin,
- 'fileno'):
+ if sys.platform != "win32" and sys.stdin.isatty() and hasattr(sys.stdin, "fileno"):
input_fd = os.dup(sys.stdin.fileno())
input_multiprocess_fd = MultiProcessFd(input_fd)
- mflags = os.environ.get('MAKEFLAGS', False)
+ mflags = os.environ.get("MAKEFLAGS", False)
if mflags:
- m = re.search(r'--jobserver-[^=]*=(\d),(\d)', mflags)
+ m = re.search(r"--jobserver-[^=]*=(\d),(\d)", mflags)
if m:
jobserver_fd1 = MultiProcessFd(int(m.group(1)))
jobserver_fd2 = MultiProcessFd(int(m.group(2)))
p = multiprocessing.Process(
target=_setup_pkg_and_run,
- args=(serialized_pkg, function, kwargs, child_pipe,
- input_multiprocess_fd, jobserver_fd1, jobserver_fd2))
+ args=(
+ serialized_pkg,
+ function,
+ kwargs,
+ child_pipe,
+ input_multiprocess_fd,
+ jobserver_fd1,
+ jobserver_fd2,
+ ),
+ )
p.start()
@@ -1217,6 +1230,7 @@ def get_package_context(traceback, context=3):
from there.
"""
+
def make_stack(tb, stack=None):
"""Tracebacks come out of the system in caller -> callee order. Return
an array in callee -> caller order so we can traverse it."""
@@ -1231,19 +1245,19 @@ def get_package_context(traceback, context=3):
for tb in stack:
frame = tb.tb_frame
- if 'self' in frame.f_locals:
+ if "self" in frame.f_locals:
# Find the first proper subclass of PackageBase.
- obj = frame.f_locals['self']
+ obj = frame.f_locals["self"]
if isinstance(obj, spack.package_base.PackageBase):
break
# We found obj, the Package implementation we care about.
# Point out the location in the install method where we failed.
lines = [
- '{0}:{1:d}, in {2}:'.format(
+ "{0}:{1:d}, in {2}:".format(
inspect.getfile(frame.f_code),
frame.f_lineno - 1, # subtract 1 because f_lineno is 0-indexed
- frame.f_code.co_name
+ frame.f_code.co_name,
)
]
@@ -1254,16 +1268,15 @@ def get_package_context(traceback, context=3):
# Subtract 1 because f_lineno is 0-indexed.
fun_lineno = frame.f_lineno - start - 1
start_ctx = max(0, fun_lineno - context)
- sourcelines = sourcelines[start_ctx:fun_lineno + context + 1]
+ sourcelines = sourcelines[start_ctx : fun_lineno + context + 1]
for i, line in enumerate(sourcelines):
is_error = start_ctx + i == fun_lineno
- mark = '>> ' if is_error else ' '
+ mark = ">> " if is_error else " "
# Add start to get lineno relative to start of file, not function.
- marked = ' {0}{1:-6d}{2}'.format(
- mark, start + start_ctx + i, line.rstrip())
+ marked = " {0}{1:-6d}{2}".format(mark, start + start_ctx + i, line.rstrip())
if is_error:
- marked = colorize('@R{%s}' % cescape(marked))
+ marked = colorize("@R{%s}" % cescape(marked))
lines.append(marked)
return lines
@@ -1311,12 +1324,12 @@ class ChildError(InstallError):
mode with spack -d.
"""
+
# List of errors considered "build errors", for which we'll show log
# context instead of Python context.
- build_errors = [('spack.util.executable', 'ProcessError')]
+ build_errors = [("spack.util.executable", "ProcessError")]
- def __init__(self, msg, module, classname, traceback_string, log_name,
- log_type, context):
+ def __init__(self, msg, module, classname, traceback_string, log_name, log_type, context):
super(ChildError, self).__init__(msg)
self.module = module
self.name = classname
@@ -1328,7 +1341,7 @@ class ChildError(InstallError):
@property
def long_message(self):
out = StringIO()
- out.write(self._long_message if self._long_message else '')
+ out.write(self._long_message if self._long_message else "")
have_log = self.log_name and os.path.exists(self.log_name)
@@ -1342,16 +1355,16 @@ class ChildError(InstallError):
# The error happened in the Python code, so try to show
# some context from the Package itself.
if self.context:
- out.write('\n')
- out.write('\n'.join(self.context))
- out.write('\n')
+ out.write("\n")
+ out.write("\n".join(self.context))
+ out.write("\n")
if out.getvalue():
- out.write('\n')
+ out.write("\n")
if have_log:
- out.write('See {0} log for details:\n'.format(self.log_type))
- out.write(' {0}\n'.format(self.log_name))
+ out.write("See {0} log for details:\n".format(self.log_type))
+ out.write(" {0}\n".format(self.log_name))
return out.getvalue()
@@ -1371,7 +1384,8 @@ class ChildError(InstallError):
self.traceback,
self.log_name,
self.log_type,
- self.context)
+ self.context,
+ )
def _make_child_error(msg, module, name, traceback, log, log_type, context):
@@ -1381,6 +1395,7 @@ def _make_child_error(msg, module, name, traceback, log, log_type, context):
class StopPhase(spack.error.SpackError):
"""Pickle-able exception to control stopped builds."""
+
def __reduce__(self):
return _make_stop_phase, (self.message, self.long_message)
@@ -1400,9 +1415,7 @@ def write_log_summary(out, log_type, log, last=None):
nerr = last
# If errors are found, only display errors
- out.write(
- "\n%s found in %s log:\n" %
- (plural(nerr, 'error'), log_type))
+ out.write("\n%s found in %s log:\n" % (plural(nerr, "error"), log_type))
out.write(make_log_context(errors))
elif nwar > 0:
if last and nwar > last:
@@ -1410,7 +1423,5 @@ def write_log_summary(out, log_type, log, last=None):
nwar = last
# If no errors are found but warnings are, display warnings
- out.write(
- "\n%s found in %s log:\n" %
- (plural(nwar, 'warning'), log_type))
+ out.write("\n%s found in %s log:\n" % (plural(nwar, "warning"), log_type))
out.write(make_log_context(warnings))
diff --git a/lib/spack/spack/build_systems/aspell_dict.py b/lib/spack/spack/build_systems/aspell_dict.py
index 5927973906..f1e41cc3df 100644
--- a/lib/spack/spack/build_systems/aspell_dict.py
+++ b/lib/spack/spack/build_systems/aspell_dict.py
@@ -23,29 +23,32 @@ from spack.util.executable import which
class AspellDictPackage(AutotoolsPackage):
"""Specialized class for building aspell dictionairies."""
- extends('aspell')
+ extends("aspell")
def view_destination(self, view):
- aspell_spec = self.spec['aspell']
+ aspell_spec = self.spec["aspell"]
if view.get_projection_for_spec(aspell_spec) != aspell_spec.prefix:
- raise ExtensionError(
- 'aspell does not support non-global extensions')
+ raise ExtensionError("aspell does not support non-global extensions")
aspell = aspell_spec.command
- return aspell('dump', 'config', 'dict-dir', output=str).strip()
+ return aspell("dump", "config", "dict-dir", output=str).strip()
def view_source(self):
return self.prefix.lib
def patch(self):
- filter_file(r'^dictdir=.*$', 'dictdir=/lib', 'configure')
- filter_file(r'^datadir=.*$', 'datadir=/lib', 'configure')
+ filter_file(r"^dictdir=.*$", "dictdir=/lib", "configure")
+ filter_file(r"^datadir=.*$", "datadir=/lib", "configure")
def configure(self, spec, prefix):
- aspell = spec['aspell'].prefix.bin.aspell
- prezip = spec['aspell'].prefix.bin.prezip
+ aspell = spec["aspell"].prefix.bin.aspell
+ prezip = spec["aspell"].prefix.bin.prezip
destdir = prefix
- sh = which('sh')
- sh('./configure', '--vars', "ASPELL={0}".format(aspell),
- "PREZIP={0}".format(prezip),
- "DESTDIR={0}".format(destdir))
+ sh = which("sh")
+ sh(
+ "./configure",
+ "--vars",
+ "ASPELL={0}".format(aspell),
+ "PREZIP={0}".format(prezip),
+ "DESTDIR={0}".format(destdir),
+ )
diff --git a/lib/spack/spack/build_systems/autotools.py b/lib/spack/spack/build_systems/autotools.py
index 6e2b820c90..0a9946a1c0 100644
--- a/lib/spack/spack/build_systems/autotools.py
+++ b/lib/spack/spack/build_systems/autotools.py
@@ -52,11 +52,12 @@ class AutotoolsPackage(PackageBase):
+-----------------------------------------------+--------------------+
"""
+
#: Phases of a GNU Autotools package
- phases = ['autoreconf', 'configure', 'build', 'install']
+ phases = ["autoreconf", "configure", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'AutotoolsPackage'
+ build_system_class = "AutotoolsPackage"
@property
def patch_config_files(self):
@@ -71,9 +72,11 @@ class AutotoolsPackage(PackageBase):
the directory containing the system ``config.guess`` and ``config.sub``
files.
"""
- return (self.spec.satisfies('target=ppc64le:')
- or self.spec.satisfies('target=aarch64:')
- or self.spec.satisfies('target=riscv64:'))
+ return (
+ self.spec.satisfies("target=ppc64le:")
+ or self.spec.satisfies("target=aarch64:")
+ or self.spec.satisfies("target=riscv64:")
+ )
#: Whether or not to update ``libtool``
#: (currently only for Arm/Clang/Fujitsu/NVHPC compilers)
@@ -84,13 +87,13 @@ class AutotoolsPackage(PackageBase):
build_targets = [] # type: List[str]
#: Targets for ``make`` during the :py:meth:`~.AutotoolsPackage.install`
#: phase
- install_targets = ['install']
+ install_targets = ["install"]
#: Callback names for build-time test
- build_time_test_callbacks = ['check']
+ build_time_test_callbacks = ["check"]
#: Callback names for install-time test
- install_time_test_callbacks = ['installcheck']
+ install_time_test_callbacks = ["installcheck"]
#: Set to true to force the autoreconf step even if configure is present
force_autoreconf = False
@@ -101,10 +104,10 @@ class AutotoolsPackage(PackageBase):
#: after the installation. If True instead it installs them.
install_libtool_archives = False
- depends_on('gnuconfig', type='build', when='target=ppc64le:')
- depends_on('gnuconfig', type='build', when='target=aarch64:')
- depends_on('gnuconfig', type='build', when='target=riscv64:')
- conflicts('platform=windows')
+ depends_on("gnuconfig", type="build", when="target=ppc64le:")
+ depends_on("gnuconfig", type="build", when="target=aarch64:")
+ depends_on("gnuconfig", type="build", when="target=riscv64:")
+ conflicts("platform=windows")
@property
def _removed_la_files_log(self):
@@ -112,17 +115,17 @@ class AutotoolsPackage(PackageBase):
build_dir = self.build_directory
if not os.path.isabs(self.build_directory):
build_dir = os.path.join(self.stage.path, build_dir)
- return os.path.join(build_dir, 'removed_la_files.txt')
+ return os.path.join(build_dir, "removed_la_files.txt")
@property
def archive_files(self):
"""Files to archive for packages based on autotools"""
- files = [os.path.join(self.build_directory, 'config.log')]
+ files = [os.path.join(self.build_directory, "config.log")]
if not self.install_libtool_archives:
files.append(self._removed_la_files_log)
return files
- @run_after('autoreconf')
+ @run_after("autoreconf")
def _do_patch_config_files(self):
"""Some packages ship with older config.guess/config.sub files and
need to have these updated when installed on a newer architecture.
@@ -136,20 +139,18 @@ class AutotoolsPackage(PackageBase):
# TODO: Expand this to select the 'config.sub'-compatible architecture
# for each platform (e.g. 'config.sub' doesn't accept 'power9le', but
# does accept 'ppc64le').
- if self.spec.satisfies('target=ppc64le:'):
- config_arch = 'ppc64le'
- elif self.spec.satisfies('target=aarch64:'):
- config_arch = 'aarch64'
- elif self.spec.satisfies('target=riscv64:'):
- config_arch = 'riscv64'
+ if self.spec.satisfies("target=ppc64le:"):
+ config_arch = "ppc64le"
+ elif self.spec.satisfies("target=aarch64:"):
+ config_arch = "aarch64"
+ elif self.spec.satisfies("target=riscv64:"):
+ config_arch = "riscv64"
else:
- config_arch = 'local'
+ config_arch = "local"
def runs_ok(script_abs_path):
# Construct the list of arguments for the call
- additional_args = {
- 'config.sub': [config_arch]
- }
+ additional_args = {"config.sub": [config_arch]}
script_name = os.path.basename(script_abs_path)
args = [script_abs_path] + additional_args.get(script_name, [])
@@ -162,7 +163,7 @@ class AutotoolsPackage(PackageBase):
return True
# Get the list of files that needs to be patched
- to_be_patched = fs.find(self.stage.path, files=['config.sub', 'config.guess'])
+ to_be_patched = fs.find(self.stage.path, files=["config.sub", "config.guess"])
to_be_patched = [f for f in to_be_patched if not runs_ok(f)]
# If there are no files to be patched, return early
@@ -171,33 +172,37 @@ class AutotoolsPackage(PackageBase):
# Otherwise, require `gnuconfig` to be a build dependency
self._require_build_deps(
- pkgs=['gnuconfig'],
- spec=self.spec,
- err="Cannot patch config files")
+ pkgs=["gnuconfig"], spec=self.spec, err="Cannot patch config files"
+ )
# Get the config files we need to patch (config.sub / config.guess).
to_be_found = list(set(os.path.basename(f) for f in to_be_patched))
- gnuconfig = self.spec['gnuconfig']
+ gnuconfig = self.spec["gnuconfig"]
gnuconfig_dir = gnuconfig.prefix
# An external gnuconfig may not not have a prefix.
if gnuconfig_dir is None:
- raise InstallError("Spack could not find substitutes for GNU config "
- "files because no prefix is available for the "
- "`gnuconfig` package. Make sure you set a prefix "
- "path instead of modules for external `gnuconfig`.")
+ raise InstallError(
+ "Spack could not find substitutes for GNU config "
+ "files because no prefix is available for the "
+ "`gnuconfig` package. Make sure you set a prefix "
+ "path instead of modules for external `gnuconfig`."
+ )
candidates = fs.find(gnuconfig_dir, files=to_be_found, recursive=False)
# For external packages the user may have specified an incorrect prefix.
# otherwise the installation is just corrupt.
if not candidates:
- msg = ("Spack could not find `config.guess` and `config.sub` "
- "files in the `gnuconfig` prefix `{0}`. This means the "
- "`gnuconfig` package is broken").format(gnuconfig_dir)
+ msg = (
+ "Spack could not find `config.guess` and `config.sub` "
+ "files in the `gnuconfig` prefix `{0}`. This means the "
+ "`gnuconfig` package is broken"
+ ).format(gnuconfig_dir)
if gnuconfig.external:
- msg += (" or the `gnuconfig` package prefix is misconfigured as"
- " an external package")
+ msg += (
+ " or the `gnuconfig` package prefix is misconfigured as" " an external package"
+ )
raise InstallError(msg)
# Filter working substitutes
@@ -223,7 +228,7 @@ To resolve this problem, please try the following:
and set the prefix to the directory containing the `config.guess` and
`config.sub` files.
"""
- raise InstallError(msg.format(', '.join(to_be_found), self.name))
+ raise InstallError(msg.format(", ".join(to_be_found), self.name))
# Copy the good files over the bad ones
for abs_path in to_be_patched:
@@ -233,7 +238,7 @@ To resolve this problem, please try the following:
fs.copy(substitutes[name], abs_path)
os.chmod(abs_path, mode)
- @run_before('configure')
+ @run_before("configure")
def _set_autotools_environment_variables(self):
"""Many autotools builds use a version of mknod.m4 that fails when
running as root unless FORCE_UNSAFE_CONFIGURE is set to 1.
@@ -248,7 +253,7 @@ To resolve this problem, please try the following:
"""
os.environ["FORCE_UNSAFE_CONFIGURE"] = "1"
- @run_after('configure')
+ @run_after("configure")
def _do_patch_libtool(self):
"""If configure generates a "libtool" script that does not correctly
detect the compiler (and patch_libtool is set), patch in the correct
@@ -258,29 +263,34 @@ To resolve this problem, please try the following:
if not self.patch_libtool:
return
- for libtool_path in fs.find(
- self.build_directory, 'libtool', recursive=True):
+ for libtool_path in fs.find(self.build_directory, "libtool", recursive=True):
self._patch_libtool(libtool_path)
def _patch_libtool(self, libtool_path):
if (
- self.spec.satisfies('%arm') or
- self.spec.satisfies('%clang') or
- self.spec.satisfies('%fj') or
- self.spec.satisfies('%nvhpc')
+ self.spec.satisfies("%arm")
+ or self.spec.satisfies("%clang")
+ or self.spec.satisfies("%fj")
+ or self.spec.satisfies("%nvhpc")
):
fs.filter_file('wl=""\n', 'wl="-Wl,"\n', libtool_path)
- fs.filter_file('pic_flag=""\n',
- 'pic_flag="{0}"\n'
- .format(self.compiler.cc_pic_flag),
- libtool_path)
- if self.spec.satisfies('%fj'):
- fs.filter_file('-nostdlib', '', libtool_path)
- rehead = r'/\S*/'
- objfile = ['fjhpctag.o', 'fjcrt0.o', 'fjlang08.o', 'fjomp.o',
- 'crti.o', 'crtbeginS.o', 'crtendS.o']
+ fs.filter_file(
+ 'pic_flag=""\n', 'pic_flag="{0}"\n'.format(self.compiler.cc_pic_flag), libtool_path
+ )
+ if self.spec.satisfies("%fj"):
+ fs.filter_file("-nostdlib", "", libtool_path)
+ rehead = r"/\S*/"
+ objfile = [
+ "fjhpctag.o",
+ "fjcrt0.o",
+ "fjlang08.o",
+ "fjomp.o",
+ "crti.o",
+ "crtbeginS.o",
+ "crtendS.o",
+ ]
for o in objfile:
- fs.filter_file(rehead + o, '', libtool_path)
+ fs.filter_file(rehead + o, "", libtool_path)
@property
def configure_directory(self):
@@ -293,9 +303,7 @@ To resolve this problem, please try the following:
@property
def configure_abs_path(self):
# Absolute path to configure
- configure_abs_path = os.path.join(
- os.path.abspath(self.configure_directory), 'configure'
- )
+ configure_abs_path = os.path.join(os.path.abspath(self.configure_directory), "configure")
return configure_abs_path
@property
@@ -303,7 +311,7 @@ To resolve this problem, please try the following:
"""Override to provide another place to build the package"""
return self.configure_directory
- @run_before('autoreconf')
+ @run_before("autoreconf")
def delete_configure_to_force_update(self):
if self.force_autoreconf:
force_remove(self.configure_abs_path)
@@ -312,20 +320,20 @@ To resolve this problem, please try the following:
"""Require `pkgs` to be direct build dependencies of `spec`. Raises a
RuntimeError with a helpful error messages when any dep is missing."""
- build_deps = [d.name for d in spec.dependencies(deptype='build')]
+ build_deps = [d.name for d in spec.dependencies(deptype="build")]
missing_deps = [x for x in pkgs if x not in build_deps]
if not missing_deps:
return
# Raise an exception on missing deps.
- msg = ("{0}: missing dependencies: {1}.\n\nPlease add "
- "the following lines to the package:\n\n"
- .format(err, ", ".join(missing_deps)))
+ msg = (
+ "{0}: missing dependencies: {1}.\n\nPlease add "
+ "the following lines to the package:\n\n".format(err, ", ".join(missing_deps))
+ )
for dep in missing_deps:
- msg += (" depends_on('{0}', type='build', when='@{1}')\n"
- .format(dep, spec.version))
+ msg += " depends_on('{0}', type='build', when='@{1}')\n".format(dep, spec.version)
msg += "\nUpdate the version (when='@{0}') as needed.".format(spec.version)
raise RuntimeError(msg)
@@ -339,20 +347,19 @@ To resolve this problem, please try the following:
# Else try to regenerate it, which reuquires a few build dependencies
self._require_build_deps(
- pkgs=['autoconf', 'automake', 'libtool'],
- spec=spec,
- err="Cannot generate configure")
-
- tty.msg('Configure script not found: trying to generate it')
- tty.warn('*********************************************************')
- tty.warn('* If the default procedure fails, consider implementing *')
- tty.warn('* a custom AUTORECONF phase in the package *')
- tty.warn('*********************************************************')
+ pkgs=["autoconf", "automake", "libtool"], spec=spec, err="Cannot generate configure"
+ )
+
+ tty.msg("Configure script not found: trying to generate it")
+ tty.warn("*********************************************************")
+ tty.warn("* If the default procedure fails, consider implementing *")
+ tty.warn("* a custom AUTORECONF phase in the package *")
+ tty.warn("*********************************************************")
with working_dir(self.configure_directory):
m = inspect.getmodule(self)
# This line is what is needed most of the time
# --install, --verbose, --force
- autoreconf_args = ['-ivf']
+ autoreconf_args = ["-ivf"]
autoreconf_args += self.autoreconf_search_path_args
autoreconf_args += self.autoreconf_extra_args
m.autoreconf(*autoreconf_args)
@@ -365,7 +372,7 @@ To resolve this problem, please try the following:
spack dependencies."""
return _autoreconf_search_path_args(self.spec)
- @run_after('autoreconf')
+ @run_after("autoreconf")
def set_configure_or_die(self):
"""Checks the presence of a ``configure`` file after the
autoreconf phase. If it is found sets a module attribute
@@ -376,13 +383,11 @@ To resolve this problem, please try the following:
"""
# Check if a configure script is there. If not raise a RuntimeError.
if not os.path.exists(self.configure_abs_path):
- msg = 'configure script not found in {0}'
+ msg = "configure script not found in {0}"
raise RuntimeError(msg.format(self.configure_directory))
# Monkey-patch the configure script in the corresponding module
- inspect.getmodule(self).configure = Executable(
- self.configure_abs_path
- )
+ inspect.getmodule(self).configure = Executable(self.configure_abs_path)
def configure_args(self):
"""Produces a list containing all the arguments that must be passed to
@@ -396,16 +401,16 @@ To resolve this problem, please try the following:
"""Produces a list of all command line arguments to pass specified
compiler flags to configure."""
# Has to be dynamic attribute due to caching.
- setattr(self, 'configure_flag_args', [])
+ setattr(self, "configure_flag_args", [])
for flag, values in flags.items():
if values:
- values_str = '{0}={1}'.format(flag.upper(), ' '.join(values))
+ values_str = "{0}={1}".format(flag.upper(), " ".join(values))
self.configure_flag_args.append(values_str)
# Spack's fflags are meant for both F77 and FC, therefore we
# additionaly set FCFLAGS if required.
- values = flags.get('fflags', None)
+ values = flags.get("fflags", None)
if values:
- values_str = 'FCFLAGS={0}'.format(' '.join(values))
+ values_str = "FCFLAGS={0}".format(" ".join(values))
self.configure_flag_args.append(values_str)
def configure(self, spec, prefix):
@@ -413,26 +418,25 @@ To resolve this problem, please try the following:
:meth:`~spack.build_systems.autotools.AutotoolsPackage.configure_args`
and an appropriately set prefix.
"""
- options = getattr(self, 'configure_flag_args', [])
- options += ['--prefix={0}'.format(prefix)]
+ options = getattr(self, "configure_flag_args", [])
+ options += ["--prefix={0}".format(prefix)]
options += self.configure_args()
with working_dir(self.build_directory, create=True):
inspect.getmodule(self).configure(*options)
def setup_build_environment(self, env):
- if (self.spec.platform == 'darwin'
- and macos_version() >= Version('11')):
+ if self.spec.platform == "darwin" and macos_version() >= Version("11"):
# Many configure files rely on matching '10.*' for macOS version
# detection and fail to add flags if it shows as version 11.
- env.set('MACOSX_DEPLOYMENT_TARGET', '10.16')
+ env.set("MACOSX_DEPLOYMENT_TARGET", "10.16")
def build(self, spec, prefix):
"""Makes the build targets specified by
:py:attr:``~.AutotoolsPackage.build_targets``
"""
# See https://autotools.io/automake/silent.html
- params = ['V=1']
+ params = ["V=1"]
params += self.build_targets
with working_dir(self.build_directory):
inspect.getmodule(self).make(*params)
@@ -444,23 +448,18 @@ To resolve this problem, please try the following:
with working_dir(self.build_directory):
inspect.getmodule(self).make(*self.install_targets)
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def check(self):
"""Searches the Makefile for targets ``test`` and ``check``
and runs them if found.
"""
with working_dir(self.build_directory):
- self._if_make_target_execute('test')
- self._if_make_target_execute('check')
+ self._if_make_target_execute("test")
+ self._if_make_target_execute("check")
def _activate_or_not(
- self,
- name,
- activation_word,
- deactivation_word,
- activation_value=None,
- variant=None
+ self, name, activation_word, deactivation_word, activation_value=None, variant=None
):
"""This function contains the current implementation details of
:meth:`~spack.build_systems.autotools.AutotoolsPackage.with_or_without` and
@@ -523,7 +522,7 @@ To resolve this problem, please try the following:
spec = self.spec
args = []
- if activation_value == 'prefix':
+ if activation_value == "prefix":
activation_value = lambda x: spec[x].prefix
variant = variant or name
@@ -544,45 +543,41 @@ To resolve this problem, please try the following:
# BoolValuedVariant carry information about a single option.
# Nonetheless, for uniformity of treatment we'll package them
# in an iterable of one element.
- condition = '+{name}'.format(name=variant)
+ condition = "+{name}".format(name=variant)
options = [(name, condition in spec)]
else:
- condition = '{variant}={value}'
+ condition = "{variant}={value}"
# "feature_values" is used to track values which correspond to
# features which can be enabled or disabled as understood by the
# package's build system. It excludes values which have special
# meanings and do not correspond to features (e.g. "none")
- feature_values = getattr(
- variant_desc.values, 'feature_values', None
- ) or variant_desc.values
+ feature_values = (
+ getattr(variant_desc.values, "feature_values", None) or variant_desc.values
+ )
options = [
- (value,
- condition.format(variant=variant,
- value=value) in spec)
+ (value, condition.format(variant=variant, value=value) in spec)
for value in feature_values
]
# For each allowed value in the list of values
for option_value, activated in options:
# Search for an override in the package for this value
- override_name = '{0}_or_{1}_{2}'.format(
+ override_name = "{0}_or_{1}_{2}".format(
activation_word, deactivation_word, option_value
)
line_generator = getattr(self, override_name, None)
# If not available use a sensible default
if line_generator is None:
+
def _default_generator(is_activated):
if is_activated:
- line = '--{0}-{1}'.format(
- activation_word, option_value
- )
+ line = "--{0}-{1}".format(activation_word, option_value)
if activation_value is not None and activation_value(option_value):
- line += '={0}'.format(
- activation_value(option_value)
- )
+ line += "={0}".format(activation_value(option_value))
return line
- return '--{0}-{1}'.format(deactivation_word, option_value)
+ return "--{0}-{1}".format(deactivation_word, option_value)
+
line_generator = _default_generator
args.append(line_generator(activated))
return args
@@ -613,8 +608,7 @@ To resolve this problem, please try the following:
Returns:
list of arguments to configure
"""
- return self._activate_or_not(name, 'with', 'without', activation_value,
- variant)
+ return self._activate_or_not(name, "with", "without", activation_value, variant)
def enable_or_disable(self, name, activation_value=None, variant=None):
"""Same as
@@ -633,23 +627,21 @@ To resolve this problem, please try the following:
Returns:
list of arguments to configure
"""
- return self._activate_or_not(
- name, 'enable', 'disable', activation_value, variant
- )
+ return self._activate_or_not(name, "enable", "disable", activation_value, variant)
- run_after('install')(PackageBase._run_default_install_time_test_callbacks)
+ run_after("install")(PackageBase._run_default_install_time_test_callbacks)
def installcheck(self):
"""Searches the Makefile for an ``installcheck`` target
and runs it if found.
"""
with working_dir(self.build_directory):
- self._if_make_target_execute('installcheck')
+ self._if_make_target_execute("installcheck")
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
- @run_after('install')
+ @run_after("install")
def remove_libtool_archives(self):
"""Remove all .la files in prefix sub-folders if the package sets
``install_libtool_archives`` to be False.
@@ -659,14 +651,14 @@ To resolve this problem, please try the following:
return
# Remove the files and create a log of what was removed
- libtool_files = fs.find(str(self.prefix), '*.la', recursive=True)
+ libtool_files = fs.find(str(self.prefix), "*.la", recursive=True)
with fs.safe_remove(*libtool_files):
fs.mkdirp(os.path.dirname(self._removed_la_files_log))
- with open(self._removed_la_files_log, mode='w') as f:
- f.write('\n'.join(libtool_files))
+ with open(self._removed_la_files_log, mode="w") as f:
+ f.write("\n".join(libtool_files))
# On macOS, force rpaths for shared library IDs and remove duplicate rpaths
- run_after('install')(PackageBase.apply_macos_rpath_fixups)
+ run_after("install")(PackageBase.apply_macos_rpath_fixups)
def _autoreconf_search_path_args(spec):
@@ -674,7 +666,7 @@ def _autoreconf_search_path_args(spec):
flags_spack, flags_external = [], []
# We don't want to add an include flag for automake's default search path.
- for automake in spec.dependencies(name='automake', deptype='build'):
+ for automake in spec.dependencies(name="automake", deptype="build"):
try:
s = os.stat(automake.prefix.share.aclocal)
if stat.S_ISDIR(s.st_mode):
@@ -682,7 +674,7 @@ def _autoreconf_search_path_args(spec):
except OSError:
pass
- for dep in spec.dependencies(deptype='build'):
+ for dep in spec.dependencies(deptype="build"):
path = dep.prefix.share.aclocal
# Skip non-existing aclocal paths
try:
@@ -694,5 +686,5 @@ def _autoreconf_search_path_args(spec):
continue
dirs_seen.add((s.st_ino, s.st_dev))
flags = flags_external if dep.external else flags_spack
- flags.extend(['-I', path])
+ flags.extend(["-I", path])
return flags_spack + flags_external
diff --git a/lib/spack/spack/build_systems/cached_cmake.py b/lib/spack/spack/build_systems/cached_cmake.py
index 47b95f6f89..52e3d82411 100644
--- a/lib/spack/spack/build_systems/cached_cmake.py
+++ b/lib/spack/spack/build_systems/cached_cmake.py
@@ -36,7 +36,7 @@ class CachedCMakePackage(CMakePackage):
sidestep certain parsing bugs in extremely long ``cmake`` commands, and to
avoid system limits on the length of the command line."""
- phases = ['initconfig', 'cmake', 'build', 'install']
+ phases = ["initconfig", "cmake", "build", "install"]
@property
def cache_name(self):
@@ -52,7 +52,7 @@ class CachedCMakePackage(CMakePackage):
return os.path.join(self.stage.source_path, self.cache_name)
def flag_handler(self, name, flags):
- if name in ('cflags', 'cxxflags', 'cppflags', 'fflags'):
+ if name in ("cflags", "cxxflags", "cppflags", "fflags"):
return (None, None, None) # handled in the cmake cache
return (flags, None, None)
@@ -64,10 +64,8 @@ class CachedCMakePackage(CMakePackage):
# Fortran compiler is optional
if "FC" in os.environ:
- spack_fc_entry = cmake_cache_path(
- "CMAKE_Fortran_COMPILER", os.environ['FC'])
- system_fc_entry = cmake_cache_path(
- "CMAKE_Fortran_COMPILER", self.compiler.fc)
+ spack_fc_entry = cmake_cache_path("CMAKE_Fortran_COMPILER", os.environ["FC"])
+ system_fc_entry = cmake_cache_path("CMAKE_Fortran_COMPILER", self.compiler.fc)
else:
spack_fc_entry = "# No Fortran compiler defined in spec"
system_fc_entry = "# No Fortran compiler defined in spec"
@@ -78,33 +76,29 @@ class CachedCMakePackage(CMakePackage):
"#------------------{0}".format("-" * 60),
"# Compiler Spec: {0}".format(spec.compiler),
"#------------------{0}".format("-" * 60),
- 'if(DEFINED ENV{SPACK_CC})\n',
- ' ' + cmake_cache_path(
- "CMAKE_C_COMPILER", os.environ['CC']),
- ' ' + cmake_cache_path(
- "CMAKE_CXX_COMPILER", os.environ['CXX']),
- ' ' + spack_fc_entry,
- 'else()\n',
- ' ' + cmake_cache_path(
- "CMAKE_C_COMPILER", self.compiler.cc),
- ' ' + cmake_cache_path(
- "CMAKE_CXX_COMPILER", self.compiler.cxx),
- ' ' + system_fc_entry,
- 'endif()\n'
+ "if(DEFINED ENV{SPACK_CC})\n",
+ " " + cmake_cache_path("CMAKE_C_COMPILER", os.environ["CC"]),
+ " " + cmake_cache_path("CMAKE_CXX_COMPILER", os.environ["CXX"]),
+ " " + spack_fc_entry,
+ "else()\n",
+ " " + cmake_cache_path("CMAKE_C_COMPILER", self.compiler.cc),
+ " " + cmake_cache_path("CMAKE_CXX_COMPILER", self.compiler.cxx),
+ " " + system_fc_entry,
+ "endif()\n",
]
# use global spack compiler flags
- cppflags = ' '.join(spec.compiler_flags['cppflags'])
+ cppflags = " ".join(spec.compiler_flags["cppflags"])
if cppflags:
# avoid always ending up with ' ' with no flags defined
- cppflags += ' '
- cflags = cppflags + ' '.join(spec.compiler_flags['cflags'])
+ cppflags += " "
+ cflags = cppflags + " ".join(spec.compiler_flags["cflags"])
if cflags:
entries.append(cmake_cache_string("CMAKE_C_FLAGS", cflags))
- cxxflags = cppflags + ' '.join(spec.compiler_flags['cxxflags'])
+ cxxflags = cppflags + " ".join(spec.compiler_flags["cxxflags"])
if cxxflags:
entries.append(cmake_cache_string("CMAKE_CXX_FLAGS", cxxflags))
- fflags = ' '.join(spec.compiler_flags['fflags'])
+ fflags = " ".join(spec.compiler_flags["fflags"])
if fflags:
entries.append(cmake_cache_string("CMAKE_Fortran_FLAGS", fflags))
@@ -113,7 +107,7 @@ class CachedCMakePackage(CMakePackage):
def initconfig_mpi_entries(self):
spec = self.spec
- if not spec.satisfies('^mpi'):
+ if not spec.satisfies("^mpi"):
return []
entries = [
@@ -122,32 +116,27 @@ class CachedCMakePackage(CMakePackage):
"#------------------{0}\n".format("-" * 60),
]
- entries.append(cmake_cache_path("MPI_C_COMPILER",
- spec['mpi'].mpicc))
- entries.append(cmake_cache_path("MPI_CXX_COMPILER",
- spec['mpi'].mpicxx))
- entries.append(cmake_cache_path("MPI_Fortran_COMPILER",
- spec['mpi'].mpifc))
+ entries.append(cmake_cache_path("MPI_C_COMPILER", spec["mpi"].mpicc))
+ entries.append(cmake_cache_path("MPI_CXX_COMPILER", spec["mpi"].mpicxx))
+ entries.append(cmake_cache_path("MPI_Fortran_COMPILER", spec["mpi"].mpifc))
# Check for slurm
using_slurm = False
- slurm_checks = ['+slurm',
- 'schedulers=slurm',
- 'process_managers=slurm']
- if any(spec['mpi'].satisfies(variant) for variant in slurm_checks):
+ slurm_checks = ["+slurm", "schedulers=slurm", "process_managers=slurm"]
+ if any(spec["mpi"].satisfies(variant) for variant in slurm_checks):
using_slurm = True
# Determine MPIEXEC
if using_slurm:
- if spec['mpi'].external:
+ if spec["mpi"].external:
# Heuristic until we have dependents on externals
- mpiexec = '/usr/bin/srun'
+ mpiexec = "/usr/bin/srun"
else:
- mpiexec = os.path.join(spec['slurm'].prefix.bin, 'srun')
+ mpiexec = os.path.join(spec["slurm"].prefix.bin, "srun")
else:
- mpiexec = os.path.join(spec['mpi'].prefix.bin, 'mpirun')
+ mpiexec = os.path.join(spec["mpi"].prefix.bin, "mpirun")
if not os.path.exists(mpiexec):
- mpiexec = os.path.join(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexec = os.path.join(spec["mpi"].prefix.bin, "mpiexec")
if not os.path.exists(mpiexec):
msg = "Unable to determine MPIEXEC, %s tests may fail" % self.name
@@ -156,9 +145,8 @@ class CachedCMakePackage(CMakePackage):
else:
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- entries.append(cmake_cache_path("MPIEXEC_EXECUTABLE",
- mpiexec))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ entries.append(cmake_cache_path("MPIEXEC_EXECUTABLE", mpiexec))
else:
entries.append(cmake_cache_path("MPIEXEC", mpiexec))
@@ -179,24 +167,22 @@ class CachedCMakePackage(CMakePackage):
"#------------------{0}\n".format("-" * 60),
]
- if spec.satisfies('^cuda'):
+ if spec.satisfies("^cuda"):
entries.append("#------------------{0}".format("-" * 30))
entries.append("# Cuda")
entries.append("#------------------{0}\n".format("-" * 30))
- cudatoolkitdir = spec['cuda'].prefix
- entries.append(cmake_cache_path("CUDA_TOOLKIT_ROOT_DIR",
- cudatoolkitdir))
+ cudatoolkitdir = spec["cuda"].prefix
+ entries.append(cmake_cache_path("CUDA_TOOLKIT_ROOT_DIR", cudatoolkitdir))
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
- entries.append(cmake_cache_path("CMAKE_CUDA_COMPILER",
- cudacompiler))
+ entries.append(cmake_cache_path("CMAKE_CUDA_COMPILER", cudacompiler))
- if spec.satisfies('^mpi'):
- entries.append(cmake_cache_path("CMAKE_CUDA_HOST_COMPILER",
- "${MPI_CXX_COMPILER}"))
+ if spec.satisfies("^mpi"):
+ entries.append(cmake_cache_path("CMAKE_CUDA_HOST_COMPILER", "${MPI_CXX_COMPILER}"))
else:
- entries.append(cmake_cache_path("CMAKE_CUDA_HOST_COMPILER",
- "${CMAKE_CXX_COMPILER}"))
+ entries.append(
+ cmake_cache_path("CMAKE_CUDA_HOST_COMPILER", "${CMAKE_CXX_COMPILER}")
+ )
return entries
@@ -205,8 +191,7 @@ class CachedCMakePackage(CMakePackage):
"#------------------{0}".format("-" * 60),
"# !!!! This is a generated file, edit at own risk !!!!",
"#------------------{0}".format("-" * 60),
- "# CMake executable path: {0}".format(
- self.spec['cmake'].command.path),
+ "# CMake executable path: {0}".format(self.spec["cmake"].command.path),
"#------------------{0}\n".format("-" * 60),
]
@@ -215,24 +200,26 @@ class CachedCMakePackage(CMakePackage):
return []
def initconfig(self, spec, prefix):
- cache_entries = (self.std_initconfig_entries() +
- self.initconfig_compiler_entries() +
- self.initconfig_mpi_entries() +
- self.initconfig_hardware_entries() +
- self.initconfig_package_entries())
+ cache_entries = (
+ self.std_initconfig_entries()
+ + self.initconfig_compiler_entries()
+ + self.initconfig_mpi_entries()
+ + self.initconfig_hardware_entries()
+ + self.initconfig_package_entries()
+ )
- with open(self.cache_name, 'w') as f:
+ with open(self.cache_name, "w") as f:
for entry in cache_entries:
- f.write('%s\n' % entry)
- f.write('\n')
+ f.write("%s\n" % entry)
+ f.write("\n")
@property
def std_cmake_args(self):
args = super(CachedCMakePackage, self).std_cmake_args
- args.extend(['-C', self.cache_path])
+ args.extend(["-C", self.cache_path])
return args
- @run_after('install')
+ @run_after("install")
def install_cmake_cache(self):
mkdirp(self.spec.prefix.share.cmake)
install(self.cache_path, self.spec.prefix.share.cmake)
diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py
index 265341344a..de54bcd0e3 100644
--- a/lib/spack/spack/build_systems/cmake.py
+++ b/lib/spack/spack/build_systems/cmake.py
@@ -23,7 +23,7 @@ from spack.util.path import convert_to_posix_path
# Regex to extract the primary generator from the CMake generator
# string.
-_primary_generator_extractor = re.compile(r'(?:.* - )?(.*)')
+_primary_generator_extractor = re.compile(r"(?:.* - )?(.*)")
def _extract_primary_generator(generator):
@@ -74,16 +74,17 @@ class CMakePackage(PackageBase):
if the generator string does not follow the prescribed format, or if
the primary generator is not supported.
"""
+
#: Phases of a CMake package
- phases = ['cmake', 'build', 'install']
+ phases = ["cmake", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'CMakePackage'
+ build_system_class = "CMakePackage"
build_targets = [] # type: List[str]
- install_targets = ['install']
+ install_targets = ["install"]
- build_time_test_callbacks = ['check']
+ build_time_test_callbacks = ["check"]
#: The build system generator to use.
#:
@@ -96,28 +97,29 @@ class CMakePackage(PackageBase):
generator = "Unix Makefiles"
- if sys.platform == 'win32':
+ if sys.platform == "win32":
generator = "Ninja"
- depends_on('ninja')
+ depends_on("ninja")
# https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
- variant('build_type', default='RelWithDebInfo',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
# https://cmake.org/cmake/help/latest/variable/CMAKE_INTERPROCEDURAL_OPTIMIZATION.html
- variant('ipo', default=False,
- description='CMake interprocedural optimization')
+ variant("ipo", default=False, description="CMake interprocedural optimization")
# CMAKE_INTERPROCEDURAL_OPTIMIZATION only exists for CMake >= 3.9
- conflicts('+ipo', when='^cmake@:3.8',
- msg='+ipo is not supported by CMake < 3.9')
+ conflicts("+ipo", when="^cmake@:3.8", msg="+ipo is not supported by CMake < 3.9")
- depends_on('cmake', type='build')
+ depends_on("cmake", type="build")
@property
def archive_files(self):
"""Files to archive for packages based on CMake"""
- return [os.path.join(self.build_directory, 'CMakeCache.txt')]
+ return [os.path.join(self.build_directory, "CMakeCache.txt")]
@property
def root_cmakelists_dir(self):
@@ -139,7 +141,7 @@ class CMakePackage(PackageBase):
"""
# standard CMake arguments
std_cmake_args = CMakePackage._std_args(self)
- std_cmake_args += getattr(self, 'cmake_flag_args', [])
+ std_cmake_args += getattr(self, "cmake_flag_args", [])
return std_cmake_args
@staticmethod
@@ -152,54 +154,56 @@ class CMakePackage(PackageBase):
generator = CMakePackage.generator
# Make sure a valid generator was chosen
- valid_primary_generators = ['Unix Makefiles', 'Ninja']
+ valid_primary_generators = ["Unix Makefiles", "Ninja"]
primary_generator = _extract_primary_generator(generator)
if primary_generator not in valid_primary_generators:
- msg = "Invalid CMake generator: '{0}'\n".format(generator)
+ msg = "Invalid CMake generator: '{0}'\n".format(generator)
msg += "CMakePackage currently supports the following "
- msg += "primary generators: '{0}'".\
- format("', '".join(valid_primary_generators))
+ msg += "primary generators: '{0}'".format("', '".join(valid_primary_generators))
raise InstallError(msg)
try:
- build_type = pkg.spec.variants['build_type'].value
+ build_type = pkg.spec.variants["build_type"].value
except KeyError:
- build_type = 'RelWithDebInfo'
+ build_type = "RelWithDebInfo"
try:
- ipo = pkg.spec.variants['ipo'].value
+ ipo = pkg.spec.variants["ipo"].value
except KeyError:
ipo = False
define = CMakePackage.define
args = [
- '-G', generator,
- define('CMAKE_INSTALL_PREFIX', convert_to_posix_path(pkg.prefix)),
- define('CMAKE_BUILD_TYPE', build_type),
- define('BUILD_TESTING', pkg.run_tests),
+ "-G",
+ generator,
+ define("CMAKE_INSTALL_PREFIX", convert_to_posix_path(pkg.prefix)),
+ define("CMAKE_BUILD_TYPE", build_type),
+ define("BUILD_TESTING", pkg.run_tests),
]
# CMAKE_INTERPROCEDURAL_OPTIMIZATION only exists for CMake >= 3.9
- if pkg.spec.satisfies('^cmake@3.9:'):
- args.append(define('CMAKE_INTERPROCEDURAL_OPTIMIZATION', ipo))
+ if pkg.spec.satisfies("^cmake@3.9:"):
+ args.append(define("CMAKE_INTERPROCEDURAL_OPTIMIZATION", ipo))
- if primary_generator == 'Unix Makefiles':
- args.append(define('CMAKE_VERBOSE_MAKEFILE', True))
+ if primary_generator == "Unix Makefiles":
+ args.append(define("CMAKE_VERBOSE_MAKEFILE", True))
if platform.mac_ver()[0]:
- args.extend([
- define('CMAKE_FIND_FRAMEWORK', "LAST"),
- define('CMAKE_FIND_APPBUNDLE', "LAST"),
- ])
+ args.extend(
+ [
+ define("CMAKE_FIND_FRAMEWORK", "LAST"),
+ define("CMAKE_FIND_APPBUNDLE", "LAST"),
+ ]
+ )
# Set up CMake rpath
- args.extend([
- define('CMAKE_INSTALL_RPATH_USE_LINK_PATH', True),
- define('CMAKE_INSTALL_RPATH',
- spack.build_environment.get_rpaths(pkg)),
- define('CMAKE_PREFIX_PATH',
- spack.build_environment.get_cmake_prefix_path(pkg))
- ])
+ args.extend(
+ [
+ define("CMAKE_INSTALL_RPATH_USE_LINK_PATH", True),
+ define("CMAKE_INSTALL_RPATH", spack.build_environment.get_rpaths(pkg)),
+ define("CMAKE_PREFIX_PATH", spack.build_environment.get_cmake_prefix_path(pkg)),
+ ]
+ )
return args
@staticmethod
@@ -230,10 +234,10 @@ class CMakePackage(PackageBase):
# Create a list of pairs. Each pair includes a configuration
# option and whether or not that option is activated
if isinstance(value, bool):
- kind = 'BOOL'
+ kind = "BOOL"
value = "ON" if value else "OFF"
else:
- kind = 'STRING'
+ kind = "STRING"
if isinstance(value, Sequence) and not isinstance(value, six.string_types):
value = ";".join(str(v) for v in value)
else:
@@ -289,11 +293,10 @@ class CMakePackage(PackageBase):
variant = cmake_var.lower()
if variant not in self.variants:
- raise KeyError(
- '"{0}" is not a variant of "{1}"'.format(variant, self.name))
+ raise KeyError('"{0}" is not a variant of "{1}"'.format(variant, self.name))
if variant not in self.spec.variants:
- return ''
+ return ""
value = self.spec.variants[variant].value
if isinstance(value, (tuple, list)):
@@ -308,37 +311,34 @@ class CMakePackage(PackageBase):
so cppflags will be added to cflags, cxxflags, and fflags to mimic the
behavior in other tools."""
# Has to be dynamic attribute due to caching
- setattr(self, 'cmake_flag_args', [])
+ setattr(self, "cmake_flag_args", [])
- flag_string = '-DCMAKE_{0}_FLAGS={1}'
- langs = {'C': 'c', 'CXX': 'cxx', 'Fortran': 'f'}
+ flag_string = "-DCMAKE_{0}_FLAGS={1}"
+ langs = {"C": "c", "CXX": "cxx", "Fortran": "f"}
# Handle language compiler flags
for lang, pre in langs.items():
- flag = pre + 'flags'
+ flag = pre + "flags"
# cmake has no explicit cppflags support -> add it to all langs
- lang_flags = ' '.join(flags.get(flag, []) + flags.get('cppflags',
- []))
+ lang_flags = " ".join(flags.get(flag, []) + flags.get("cppflags", []))
if lang_flags:
- self.cmake_flag_args.append(flag_string.format(lang,
- lang_flags))
+ self.cmake_flag_args.append(flag_string.format(lang, lang_flags))
# Cmake has different linker arguments for different build types.
# We specify for each of them.
- if flags['ldflags']:
- ldflags = ' '.join(flags['ldflags'])
- ld_string = '-DCMAKE_{0}_LINKER_FLAGS={1}'
+ if flags["ldflags"]:
+ ldflags = " ".join(flags["ldflags"])
+ ld_string = "-DCMAKE_{0}_LINKER_FLAGS={1}"
# cmake has separate linker arguments for types of builds.
- for type in ['EXE', 'MODULE', 'SHARED', 'STATIC']:
+ for type in ["EXE", "MODULE", "SHARED", "STATIC"]:
self.cmake_flag_args.append(ld_string.format(type, ldflags))
# CMake has libs options separated by language. Apply ours to each.
- if flags['ldlibs']:
- libs_flags = ' '.join(flags['ldlibs'])
- libs_string = '-DCMAKE_{0}_STANDARD_LIBRARIES={1}'
+ if flags["ldlibs"]:
+ libs_flags = " ".join(flags["ldlibs"])
+ libs_string = "-DCMAKE_{0}_STANDARD_LIBRARIES={1}"
for lang in langs:
- self.cmake_flag_args.append(libs_string.format(lang,
- libs_flags))
+ self.cmake_flag_args.append(libs_string.format(lang, libs_flags))
@property
def build_dirname(self):
@@ -346,7 +346,7 @@ class CMakePackage(PackageBase):
:return: name of the subdirectory for building the package
"""
- return 'spack-build-%s' % self.spec.dag_hash(7)
+ return "spack-build-%s" % self.spec.dag_hash(7)
@property
def build_directory(self):
@@ -381,35 +381,33 @@ class CMakePackage(PackageBase):
def build(self, spec, prefix):
"""Make the build targets"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
+ if self.generator == "Unix Makefiles":
inspect.getmodule(self).make(*self.build_targets)
- elif self.generator == 'Ninja':
+ elif self.generator == "Ninja":
self.build_targets.append("-v")
inspect.getmodule(self).ninja(*self.build_targets)
def install(self, spec, prefix):
"""Make the install targets"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
+ if self.generator == "Unix Makefiles":
inspect.getmodule(self).make(*self.install_targets)
- elif self.generator == 'Ninja':
+ elif self.generator == "Ninja":
inspect.getmodule(self).ninja(*self.install_targets)
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def check(self):
"""Searches the CMake-generated Makefile for the target ``test``
and runs it if found.
"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
- self._if_make_target_execute('test',
- jobs_env='CTEST_PARALLEL_LEVEL')
- self._if_make_target_execute('check')
- elif self.generator == 'Ninja':
- self._if_ninja_target_execute('test',
- jobs_env='CTEST_PARALLEL_LEVEL')
- self._if_ninja_target_execute('check')
+ if self.generator == "Unix Makefiles":
+ self._if_make_target_execute("test", jobs_env="CTEST_PARALLEL_LEVEL")
+ self._if_make_target_execute("check")
+ elif self.generator == "Ninja":
+ self._if_ninja_target_execute("test", jobs_env="CTEST_PARALLEL_LEVEL")
+ self._if_ninja_target_execute("check")
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/cuda.py b/lib/spack/spack/build_systems/cuda.py
index 81994f0106..ff4c525266 100644
--- a/lib/spack/spack/build_systems/cuda.py
+++ b/lib/spack/spack/build_systems/cuda.py
@@ -20,66 +20,85 @@ class CudaPackage(PackageBase):
# https://developer.nvidia.com/cuda-gpus
# https://en.wikipedia.org/wiki/CUDA#GPUs_supported
cuda_arch_values = (
- '10', '11', '12', '13',
- '20', '21',
- '30', '32', '35', '37',
- '50', '52', '53',
- '60', '61', '62',
- '70', '72', '75',
- '80', '86'
+ "10",
+ "11",
+ "12",
+ "13",
+ "20",
+ "21",
+ "30",
+ "32",
+ "35",
+ "37",
+ "50",
+ "52",
+ "53",
+ "60",
+ "61",
+ "62",
+ "70",
+ "72",
+ "75",
+ "80",
+ "86",
)
# FIXME: keep cuda and cuda_arch separate to make usage easier until
# Spack has depends_on(cuda, when='cuda_arch!=None') or alike
- variant('cuda', default=False,
- description='Build with CUDA')
-
- variant('cuda_arch',
- description='CUDA architecture',
- values=spack.variant.any_combination_of(*cuda_arch_values),
- sticky=True,
- when='+cuda')
+ variant("cuda", default=False, description="Build with CUDA")
+
+ variant(
+ "cuda_arch",
+ description="CUDA architecture",
+ values=spack.variant.any_combination_of(*cuda_arch_values),
+ sticky=True,
+ when="+cuda",
+ )
# https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#nvcc-examples
# https://llvm.org/docs/CompileCudaWithLLVM.html#compiling-cuda-code
@staticmethod
def cuda_flags(arch_list):
- return [('--generate-code arch=compute_{0},code=sm_{0} '
- '--generate-code arch=compute_{0},code=compute_{0}').format(s)
- for s in arch_list]
+ return [
+ (
+ "--generate-code arch=compute_{0},code=sm_{0} "
+ "--generate-code arch=compute_{0},code=compute_{0}"
+ ).format(s)
+ for s in arch_list
+ ]
- depends_on('cuda', when='+cuda')
+ depends_on("cuda", when="+cuda")
# CUDA version vs Architecture
# https://en.wikipedia.org/wiki/CUDA#GPUs_supported
# https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#deprecated-features
- depends_on('cuda@:6.0', when='cuda_arch=10')
- depends_on('cuda@:6.5', when='cuda_arch=11')
- depends_on('cuda@2.1:6.5', when='cuda_arch=12')
- depends_on('cuda@2.1:6.5', when='cuda_arch=13')
+ depends_on("cuda@:6.0", when="cuda_arch=10")
+ depends_on("cuda@:6.5", when="cuda_arch=11")
+ depends_on("cuda@2.1:6.5", when="cuda_arch=12")
+ depends_on("cuda@2.1:6.5", when="cuda_arch=13")
- depends_on('cuda@3.0:8.0', when='cuda_arch=20')
- depends_on('cuda@3.2:8.0', when='cuda_arch=21')
+ depends_on("cuda@3.0:8.0", when="cuda_arch=20")
+ depends_on("cuda@3.2:8.0", when="cuda_arch=21")
- depends_on('cuda@5.0:10.2', when='cuda_arch=30')
- depends_on('cuda@5.0:10.2', when='cuda_arch=32')
- depends_on('cuda@5.0:', when='cuda_arch=35')
- depends_on('cuda@6.5:', when='cuda_arch=37')
+ depends_on("cuda@5.0:10.2", when="cuda_arch=30")
+ depends_on("cuda@5.0:10.2", when="cuda_arch=32")
+ depends_on("cuda@5.0:", when="cuda_arch=35")
+ depends_on("cuda@6.5:", when="cuda_arch=37")
- depends_on('cuda@6.0:', when='cuda_arch=50')
- depends_on('cuda@6.5:', when='cuda_arch=52')
- depends_on('cuda@6.5:', when='cuda_arch=53')
+ depends_on("cuda@6.0:", when="cuda_arch=50")
+ depends_on("cuda@6.5:", when="cuda_arch=52")
+ depends_on("cuda@6.5:", when="cuda_arch=53")
- depends_on('cuda@8.0:', when='cuda_arch=60')
- depends_on('cuda@8.0:', when='cuda_arch=61')
- depends_on('cuda@8.0:', when='cuda_arch=62')
+ depends_on("cuda@8.0:", when="cuda_arch=60")
+ depends_on("cuda@8.0:", when="cuda_arch=61")
+ depends_on("cuda@8.0:", when="cuda_arch=62")
- depends_on('cuda@9.0:', when='cuda_arch=70')
- depends_on('cuda@9.0:', when='cuda_arch=72')
- depends_on('cuda@10.0:', when='cuda_arch=75')
+ depends_on("cuda@9.0:", when="cuda_arch=70")
+ depends_on("cuda@9.0:", when="cuda_arch=72")
+ depends_on("cuda@10.0:", when="cuda_arch=75")
- depends_on('cuda@11.0:', when='cuda_arch=80')
- depends_on('cuda@11.1:', when='cuda_arch=86')
+ depends_on("cuda@11.0:", when="cuda_arch=80")
+ depends_on("cuda@11.1:", when="cuda_arch=86")
# From the NVIDIA install guide we know of conflicts for particular
# platforms (linux, darwin), architectures (x86, powerpc) and compilers
@@ -90,15 +109,15 @@ class CudaPackage(PackageBase):
# Linux x86_64 compiler conflicts from here:
# https://gist.github.com/ax3l/9489132
- with when('^cuda~allow-unsupported-compilers'):
+ with when("^cuda~allow-unsupported-compilers"):
# GCC
# According to
# https://github.com/spack/spack/pull/25054#issuecomment-886531664
# these conflicts are valid independently from the architecture
# minimum supported versions
- conflicts('%gcc@:4', when='+cuda ^cuda@11.0:')
- conflicts('%gcc@:5', when='+cuda ^cuda@11.4:')
+ conflicts("%gcc@:4", when="+cuda ^cuda@11.0:")
+ conflicts("%gcc@:5", when="+cuda ^cuda@11.4:")
# maximum supported version
# NOTE:
@@ -106,39 +125,38 @@ class CudaPackage(PackageBase):
# it has been decided to use an upper bound for the latest version.
# This implies that the last one in the list has to be updated at
# each release of a new cuda minor version.
- conflicts('%gcc@10:', when='+cuda ^cuda@:11.0')
- conflicts('%gcc@11:', when='+cuda ^cuda@:11.4.0')
- conflicts('%gcc@12:', when='+cuda ^cuda@:11.7')
- conflicts('%clang@12:', when='+cuda ^cuda@:11.4.0')
- conflicts('%clang@13:', when='+cuda ^cuda@:11.5')
- conflicts('%clang@14:', when='+cuda ^cuda@:11.7')
+ conflicts("%gcc@10:", when="+cuda ^cuda@:11.0")
+ conflicts("%gcc@11:", when="+cuda ^cuda@:11.4.0")
+ conflicts("%gcc@12:", when="+cuda ^cuda@:11.7")
+ conflicts("%clang@12:", when="+cuda ^cuda@:11.4.0")
+ conflicts("%clang@13:", when="+cuda ^cuda@:11.5")
+ conflicts("%clang@14:", when="+cuda ^cuda@:11.7")
# https://gist.github.com/ax3l/9489132#gistcomment-3860114
- conflicts('%gcc@10', when='+cuda ^cuda@:11.4.0')
- 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('%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:')
+ conflicts("%gcc@10", when="+cuda ^cuda@:11.4.0")
+ 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("%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:
@@ -149,43 +167,43 @@ class CudaPackage(PackageBase):
# 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:')
+ 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('%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:')
+ 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:')
+ 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')
+ 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')
+ 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: ')
+ conflicts("platform=darwin", when="+cuda ^cuda@11.0.2: ")
diff --git a/lib/spack/spack/build_systems/gnu.py b/lib/spack/spack/build_systems/gnu.py
index 2bca018872..336991c721 100644
--- a/lib/spack/spack/build_systems/gnu.py
+++ b/lib/spack/spack/build_systems/gnu.py
@@ -11,16 +11,17 @@ import spack.util.url
class GNUMirrorPackage(spack.package_base.PackageBase):
"""Mixin that takes care of setting url and mirrors for GNU packages."""
+
#: Path of the package in a GNU mirror
gnu_mirror_path = None # type: Optional[str]
#: List of GNU mirrors used by Spack
base_mirrors = [
- 'https://ftpmirror.gnu.org/',
- 'https://ftp.gnu.org/gnu/',
+ "https://ftpmirror.gnu.org/",
+ "https://ftp.gnu.org/gnu/",
# Fall back to http if https didn't work (for instance because
# Spack is bootstrapping curl)
- 'http://ftpmirror.gnu.org/'
+ "http://ftpmirror.gnu.org/",
]
@property
@@ -34,6 +35,5 @@ class GNUMirrorPackage(spack.package_base.PackageBase):
def _ensure_gnu_mirror_path_is_set_or_raise(self):
if self.gnu_mirror_path is None:
cls_name = type(self).__name__
- msg = ('{0} must define a `gnu_mirror_path` attribute'
- ' [none defined]')
+ msg = "{0} must define a `gnu_mirror_path` attribute" " [none defined]"
raise AttributeError(msg.format(cls_name))
diff --git a/lib/spack/spack/build_systems/intel.py b/lib/spack/spack/build_systems/intel.py
index a249afff90..133b5030de 100644
--- a/lib/spack/spack/build_systems/intel.py
+++ b/lib/spack/spack/build_systems/intel.py
@@ -38,25 +38,24 @@ from spack.version import Version, ver
def debug_print(msg, *args):
- '''Prints a message (usu. a variable) and the callers' names for a couple
+ """Prints a message (usu. a variable) and the callers' names for a couple
of stack frames.
- '''
+ """
# https://docs.python.org/2/library/inspect.html#the-interpreter-stack
stack = inspect.stack()
_func_name = 3
- tty.debug("%s.%s:\t%s" % (stack[2][_func_name], stack[1][_func_name], msg),
- *args)
+ tty.debug("%s.%s:\t%s" % (stack[2][_func_name], stack[1][_func_name], msg), *args)
def raise_lib_error(*args):
- '''Bails out with an error message. Shows args after the first as one per
+ """Bails out with an error message. Shows args after the first as one per
line, tab-indented, useful for long paths to line up and stand out.
- '''
+ """
raise InstallError("\n\t".join(str(i) for i in args))
def _expand_fields(s):
- '''[Experimental] Expand arch-related fields in a string, typically a
+ """[Experimental] Expand arch-related fields in a string, typically a
filename.
Supported fields and their typical expansions are::
@@ -66,24 +65,24 @@ def _expand_fields(s):
{libarch} intel64, empty on Mac
{bits} 64
- '''
+ """
# Python-native string formatting requires arg list counts to match the
# replacement field count; optional fields are far easier with regexes.
- _bits = '64'
- _arch = 'intel64' # TBD: ia32
+ _bits = "64"
+ _arch = "intel64" # TBD: ia32
- if 'linux' in sys.platform: # NB: linux2 vs. linux
- s = re.sub('{platform}', 'linux', s)
- s = re.sub('{libarch}', _arch, s)
- elif 'darwin' in sys.platform:
- s = re.sub('{platform}', 'mac', s)
- s = re.sub('{libarch}', '', s) # no arch dirs are used (as of 2018)
+ if "linux" in sys.platform: # NB: linux2 vs. linux
+ s = re.sub("{platform}", "linux", s)
+ s = re.sub("{libarch}", _arch, s)
+ elif "darwin" in sys.platform:
+ s = re.sub("{platform}", "mac", s)
+ s = re.sub("{libarch}", "", s) # no arch dirs are used (as of 2018)
# elif 'win' in sys.platform: # TBD
# s = re.sub('{platform}', 'windows', s)
- s = re.sub('{arch}', _arch, s)
- s = re.sub('{bits}', _bits, s)
+ s = re.sub("{arch}", _arch, s)
+ s = re.sub("{bits}", _bits, s)
return s
@@ -99,12 +98,13 @@ class IntelPackage(PackageBase):
only thing necessary will be to override setup_run_environment
to set the appropriate environment variables.
"""
+
#: Phases of an Intel package
- phases = ['configure', 'install']
+ phases = ["configure", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'IntelPackage'
+ build_system_class = "IntelPackage"
#: A dict that maps Spack version specs to release years, needed to infer
#: the installation directory layout for pre-2016 versions in the family of
@@ -117,54 +117,65 @@ class IntelPackage(PackageBase):
# that satisfies self.spec will be used.
version_years = {
# intel-daal is versioned 2016 and later, no divining is needed
- 'intel-ipp@9.0:9': 2016,
- 'intel-mkl@11.3.0:11.3': 2016,
- 'intel-mpi@5.1:5': 2016,
+ "intel-ipp@9.0:9": 2016,
+ "intel-mkl@11.3.0:11.3": 2016,
+ "intel-mpi@5.1:5": 2016,
}
# Below is the list of possible values for setting auto dispatch functions
# for the Intel compilers. Using these allows for the building of fat
# binaries that will detect the CPU SIMD capabilities at run time and
# activate the appropriate extensions.
- auto_dispatch_options = ('COMMON-AVX512', 'MIC-AVX512', 'CORE-AVX512',
- 'CORE-AVX2', 'CORE-AVX-I', 'AVX', 'SSE4.2',
- 'SSE4.1', 'SSSE3', 'SSE3', 'SSE2')
+ auto_dispatch_options = (
+ "COMMON-AVX512",
+ "MIC-AVX512",
+ "CORE-AVX512",
+ "CORE-AVX2",
+ "CORE-AVX-I",
+ "AVX",
+ "SSE4.2",
+ "SSE4.1",
+ "SSSE3",
+ "SSE3",
+ "SSE2",
+ )
@property
def license_required(self):
# The Intel libraries are provided without requiring a license as of
# version 2017.2. Trying to specify one anyway will fail. See:
# https://software.intel.com/en-us/articles/free-ipsxe-tools-and-libraries
- return self._has_compilers or self.version < ver('2017.2')
+ return self._has_compilers or self.version < ver("2017.2")
#: Comment symbol used in the license.lic file
- license_comment = '#'
+ license_comment = "#"
#: Environment variables that Intel searches for a license file
- license_vars = ['INTEL_LICENSE_FILE']
+ license_vars = ["INTEL_LICENSE_FILE"]
#: URL providing information on how to acquire a license key
- license_url = 'https://software.intel.com/en-us/articles/intel-license-manager-faq'
+ license_url = "https://software.intel.com/en-us/articles/intel-license-manager-faq"
#: Location where Intel searches for a license file
@property
def license_files(self):
- dirs = ['Licenses']
+ dirs = ["Licenses"]
if self._has_compilers:
- dirs.append(self.component_bin_dir('compiler'))
+ dirs.append(self.component_bin_dir("compiler"))
for variant, component_suite_dir in {
- '+advisor': 'advisor',
- '+inspector': 'inspector',
- '+itac': 'itac',
- '+vtune': 'vtune_profiler',
+ "+advisor": "advisor",
+ "+inspector": "inspector",
+ "+itac": "itac",
+ "+vtune": "vtune_profiler",
}.items():
if variant in self.spec:
- dirs.append(self.normalize_path(
- 'licenses', component_suite_dir, relative=True))
+ dirs.append(
+ self.normalize_path("licenses", component_suite_dir, relative=True)
+ )
- files = [os.path.join(d, 'license.lic') for d in dirs]
+ files = [os.path.join(d, "license.lic") for d in dirs]
return files
#: Components to install (list of name patterns from pset/mediaconfig.xml)
@@ -173,7 +184,7 @@ class IntelPackage(PackageBase):
def pset_components(self):
# Do not detail single-purpose client packages.
if not self._has_compilers:
- return ['ALL']
+ return ["ALL"]
# tty.warn('DEBUG: installing ALL components')
# return ['ALL']
@@ -183,34 +194,35 @@ class IntelPackage(PackageBase):
# Later releases have overlapping minor parts that differ by "edition".
# NB: The spack package 'intel' is a subset of
# 'intel-parallel-studio@composer' without the lib variants.
- c = ' intel-icc intel-ifort' \
- ' intel-ccomp intel-fcomp intel-comp-' \
- ' intel-compilerproc intel-compilerprof intel-compilerpro-' \
- ' intel-psxe intel-openmp'
+ c = (
+ " intel-icc intel-ifort"
+ " intel-ccomp intel-fcomp intel-comp-"
+ " intel-compilerproc intel-compilerprof intel-compilerpro-"
+ " intel-psxe intel-openmp"
+ )
additions_for = {
- 'cluster': ' intel-icsxe',
- 'professional': ' intel-ips-',
- 'composer': ' intel-compxe',
+ "cluster": " intel-icsxe",
+ "professional": " intel-ips-",
+ "composer": " intel-compxe",
}
if self._edition in additions_for:
c += additions_for[self._edition]
for variant, components_to_add in {
- '+daal': ' intel-daal', # Data Analytics Acceleration Lib
- '+gdb': ' intel-gdb', # Integrated Performance Primitives
- '+ipp': ' intel-ipp intel-crypto-ipp',
- '+mkl': ' intel-mkl', # Math Kernel Library
- '+mpi': ' intel-mpi intel-imb', # MPI runtime, SDK, benchm.
- '+tbb': ' intel-tbb', # Threading Building Blocks
- '+advisor': ' intel-advisor',
- '+clck': ' intel_clck', # Cluster Checker
- '+inspector': ' intel-inspector',
- '+itac': ' intel-itac intel-ta intel-tc'
- ' intel-trace-analyzer intel-trace-collector',
- # Trace Analyzer and Collector
- '+vtune': ' intel-vtune'
- # VTune, ..-profiler since 2020, ..-amplifier before
+ "+daal": " intel-daal", # Data Analytics Acceleration Lib
+ "+gdb": " intel-gdb", # Integrated Performance Primitives
+ "+ipp": " intel-ipp intel-crypto-ipp",
+ "+mkl": " intel-mkl", # Math Kernel Library
+ "+mpi": " intel-mpi intel-imb", # MPI runtime, SDK, benchm.
+ "+tbb": " intel-tbb", # Threading Building Blocks
+ "+advisor": " intel-advisor",
+ "+clck": " intel_clck", # Cluster Checker
+ "+inspector": " intel-inspector",
+ "+itac": " intel-itac intel-ta intel-tc" " intel-trace-analyzer intel-trace-collector",
+ # Trace Analyzer and Collector
+ "+vtune": " intel-vtune"
+ # VTune, ..-profiler since 2020, ..-amplifier before
}.items():
if variant in self.spec:
c += components_to_add
@@ -223,11 +235,11 @@ class IntelPackage(PackageBase):
# ---------------------------------------------------------------------
@property
def _filtered_components(self):
- '''Expands the list of desired component patterns to the exact names
+ """Expands the list of desired component patterns to the exact names
present in the given download.
- '''
+ """
c = self.pset_components
- if 'ALL' in c or 'DEFAULTS' in c: # No filter needed
+ if "ALL" in c or "DEFAULTS" in c: # No filter needed
return c
# mediaconfig.xml is known to contain duplicate components.
@@ -243,8 +255,8 @@ class IntelPackage(PackageBase):
#
# https://software.intel.com/en-us/articles/configuration-file-format
#
- xmltree = ElementTree.parse('pset/mediaconfig.xml')
- for entry in xmltree.getroot().findall('.//Abbr'): # XPath expression
+ xmltree = ElementTree.parse("pset/mediaconfig.xml")
+ for entry in xmltree.getroot().findall(".//Abbr"): # XPath expression
name_present = entry.text
for name_requested in requested:
if name_present.startswith(name_requested):
@@ -254,36 +266,36 @@ class IntelPackage(PackageBase):
@property
def intel64_int_suffix(self):
- '''Provide the suffix for Intel library names to match a client
+ """Provide the suffix for Intel library names to match a client
application's desired int size, conveyed by the active spec variant.
The possible suffixes and their meanings are:
``ilp64`` all of int, long, and pointer are 64 bit,
`` lp64`` only long and pointer are 64 bit; int will be 32bit.
- '''
- if '+ilp64' in self.spec:
- return 'ilp64'
+ """
+ if "+ilp64" in self.spec:
+ return "ilp64"
else:
- return 'lp64'
+ return "lp64"
@property
def _has_compilers(self):
- return self.name in ['intel', 'intel-parallel-studio']
+ return self.name in ["intel", "intel-parallel-studio"]
@property
def _edition(self):
- if self.name == 'intel-parallel-studio':
- return self.version[0] # clearer than .up_to(1), I think.
- elif self.name == 'intel':
- return 'composer'
+ if self.name == "intel-parallel-studio":
+ return self.version[0] # clearer than .up_to(1), I think.
+ elif self.name == "intel":
+ return "composer"
else:
- return ''
+ return ""
@property
def version_yearlike(self):
- '''Return the version in a unified style, suitable for Version class
+ """Return the version in a unified style, suitable for Version class
conditionals.
- '''
+ """
# Input data for this routine: self.version
# Returns: YYYY.Nupdate[.Buildseq]
#
@@ -309,18 +321,18 @@ class IntelPackage(PackageBase):
# (*) YYYY is taken from @property "version_years" (a dict of specs)
#
try:
- if self.name == 'intel':
+ if self.name == "intel":
# Has a "Minor" version element, but it is always set as 0. To
# be useful for comparisons, drop it and get YYYY.Nupdate.
- v_tail = self.version[2:] # coerced just fine via __getitem__
+ v_tail = self.version[2:] # coerced just fine via __getitem__
else:
v_tail = self.version[1:]
except IndexError:
# Hmm - this happens on "spack install intel-mkl@11".
# I thought concretization picks an actual version??
- return self.version # give up
+ return self.version # give up
- if self.name == 'intel-parallel-studio':
+ if self.name == "intel-parallel-studio":
return v_tail
v_year = self.version[0]
@@ -332,7 +344,7 @@ class IntelPackage(PackageBase):
v_year = year
break
- return ver('%s.%s' % (v_year, v_tail))
+ return ver("%s.%s" % (v_year, v_tail))
# ---------------------------------------------------------------------
# Directory handling common to all Intel components
@@ -345,8 +357,8 @@ class IntelPackage(PackageBase):
# Not using class IntelPackage:
# intel-gpu-tools/ intel-mkl-dnn/ intel-tbb/
#
- def normalize_suite_dir(self, suite_dir_name, version_globs=['*.*.*']):
- '''Returns the version-specific and absolute path to the directory of
+ def normalize_suite_dir(self, suite_dir_name, version_globs=["*.*.*"]):
+ """Returns the version-specific and absolute path to the directory of
an Intel product or a suite of product components.
Parameters:
@@ -373,7 +385,7 @@ class IntelPackage(PackageBase):
first) expected to qualify suite_dir_name to its fully
version-specific install directory (as opposed to a
compatibility directory or symlink).
- '''
+ """
# See ./README-intel.rst for background and analysis of dir layouts.
d = self.prefix
@@ -381,7 +393,7 @@ class IntelPackage(PackageBase):
# Distinguish between product installations that were done external to
# Spack (integrated via packages.yaml) and Spack-internal ones. The
# resulting prefixes may differ in directory depth and specificity.
- unversioned_dirname = ''
+ unversioned_dirname = ""
if suite_dir_name and suite_dir_name in d:
# If e.g. MKL was installed outside of Spack, it is likely just one
# product or product component among possibly many other Intel
@@ -391,8 +403,7 @@ class IntelPackage(PackageBase):
# version-specific directory. This is what we want and need, and
# nothing more specific than that, i.e., if needed, convert, e.g.:
# .../compilers_and_libraries*/* -> .../compilers_and_libraries*
- d = re.sub('(%s%s.*?)%s.*' %
- (os.sep, re.escape(suite_dir_name), os.sep), r'\1', d)
+ d = re.sub("(%s%s.*?)%s.*" % (os.sep, re.escape(suite_dir_name), os.sep), r"\1", d)
# The Intel installer scripts try hard to place compatibility links
# named like this in the install dir to convey upgrade benefits to
@@ -448,15 +459,14 @@ class IntelPackage(PackageBase):
if unversioned_dirname:
for g in version_globs:
try_glob = unversioned_dirname + g
- debug_print('trying %s' % try_glob)
+ debug_print("trying %s" % try_glob)
matching_dirs = sorted(glob.glob(try_glob))
# NB: Python glob() returns results in arbitrary order - ugh!
# NB2: sorted() is a shortcut that is NOT number-aware.
if matching_dirs:
- debug_print('found %d:' % len(matching_dirs),
- matching_dirs)
+ debug_print("found %d:" % len(matching_dirs), matching_dirs)
# Take the highest and thus presumably newest match, which
# better be the sole one anyway.
d = matching_dirs[-1]
@@ -469,9 +479,8 @@ class IntelPackage(PackageBase):
debug_print(d)
return Prefix(d)
- def normalize_path(self, component_path, component_suite_dir=None,
- relative=False):
- '''Returns the absolute or relative path to a component or file under a
+ def normalize_path(self, component_path, component_suite_dir=None, relative=False):
+ """Returns the absolute or relative path to a component or file under a
component suite directory.
Intel's product names, scope, and directory layout changed over the
@@ -498,7 +507,7 @@ class IntelPackage(PackageBase):
relative (bool): When True, return path relative to self.prefix,
otherwise, return an absolute path (the default).
- '''
+ """
# Design note: Choosing the default for `component_suite_dir` was a bit
# tricky since there better be a sensible means to specify direct
# parentage under self.prefix (even though you normally shouldn't need
@@ -518,60 +527,59 @@ class IntelPackage(PackageBase):
# are not natively versioned by year.
cs = component_suite_dir
- if cs is None and component_path.startswith('ism'):
- cs = 'parallel_studio_xe'
+ if cs is None and component_path.startswith("ism"):
+ cs = "parallel_studio_xe"
v = self.version_yearlike
# Glob variants to complete component_suite_dir.
# Helper var for older MPI versions - those are reparented, with each
# version in their own version-named dir.
- standalone_glob = '[1-9]*.*.*'
+ standalone_glob = "[1-9]*.*.*"
# Most other components; try most specific glob first.
# flake8 is far too opinionated about lists - ugh.
normalize_kwargs = {
- 'version_globs': [
- '_%s' % self.version,
- '_%s.*' % v.up_to(2), # should be: YYYY.Nupdate
- '_*.*.*', # last resort
+ "version_globs": [
+ "_%s" % self.version,
+ "_%s.*" % v.up_to(2), # should be: YYYY.Nupdate
+ "_*.*.*", # last resort
]
}
for rename_rule in [
# cs given as arg, in years, dir actually used, [version_globs]
- [None, ':2015', 'composer_xe'],
- [None, '2016:', 'compilers_and_libraries'],
- ['advisor', ':2016', 'advisor_xe'],
- ['inspector', ':2016', 'inspector_xe'],
- ['vtune_profiler', ':2017', 'vtune_amplifier_xe'],
- ['vtune', ':2017', 'vtune_amplifier_xe'], # alt.
- ['vtune_profiler', ':2019', 'vtune_amplifier'],
- ['itac', ':', 'itac', [os.sep + standalone_glob]],
+ [None, ":2015", "composer_xe"],
+ [None, "2016:", "compilers_and_libraries"],
+ ["advisor", ":2016", "advisor_xe"],
+ ["inspector", ":2016", "inspector_xe"],
+ ["vtune_profiler", ":2017", "vtune_amplifier_xe"],
+ ["vtune", ":2017", "vtune_amplifier_xe"], # alt.
+ ["vtune_profiler", ":2019", "vtune_amplifier"],
+ ["itac", ":", "itac", [os.sep + standalone_glob]],
]:
if cs == rename_rule[0] and v.satisfies(ver(rename_rule[1])):
cs = rename_rule[2]
if len(rename_rule) > 3:
- normalize_kwargs = {'version_globs': rename_rule[3]}
+ normalize_kwargs = {"version_globs": rename_rule[3]}
break
d = self.normalize_suite_dir(cs, **normalize_kwargs)
# Help find components not located directly under d.
# NB: ancestor() not well suited if version_globs may contain os.sep .
- parent_dir = re.sub(os.sep + re.escape(cs) + '.*', '', d)
+ parent_dir = re.sub(os.sep + re.escape(cs) + ".*", "", d)
reparent_as = {}
- if cs == 'compilers_and_libraries': # must qualify further
- d = os.path.join(d, _expand_fields('{platform}'))
- elif cs == 'composer_xe':
- reparent_as = {'mpi': 'impi'}
+ if cs == "compilers_and_libraries": # must qualify further
+ d = os.path.join(d, _expand_fields("{platform}"))
+ elif cs == "composer_xe":
+ reparent_as = {"mpi": "impi"}
# ignore 'imb' (MPI Benchmarks)
for nominal_p, actual_p in reparent_as.items():
if component_path.startswith(nominal_p):
- dirs = glob.glob(
- os.path.join(parent_dir, actual_p, standalone_glob))
- debug_print('reparent dirs: %s' % dirs)
+ dirs = glob.glob(os.path.join(parent_dir, actual_p, standalone_glob))
+ debug_print("reparent dirs: %s" % dirs)
# Brazenly assume last match is the most recent version;
# convert back to relative of parent_dir, and re-assemble.
rel_dir = dirs[-1].split(parent_dir + os.sep, 1)[-1]
@@ -589,31 +597,31 @@ class IntelPackage(PackageBase):
def component_bin_dir(self, component, **kwargs):
d = self.normalize_path(component, **kwargs)
- if component == 'compiler': # bin dir is always under PARENT
- d = os.path.join(ancestor(d), 'bin', _expand_fields('{libarch}'))
- d = d.rstrip(os.sep) # cosmetics, when {libarch} is empty
+ if component == "compiler": # bin dir is always under PARENT
+ d = os.path.join(ancestor(d), "bin", _expand_fields("{libarch}"))
+ d = d.rstrip(os.sep) # cosmetics, when {libarch} is empty
# NB: Works fine even with relative=True, e.g.:
# composer_xe/compiler -> composer_xe/bin/intel64
- elif component == 'mpi':
- d = os.path.join(d, _expand_fields('{libarch}'), 'bin')
+ elif component == "mpi":
+ d = os.path.join(d, _expand_fields("{libarch}"), "bin")
else:
- d = os.path.join(d, 'bin')
+ d = os.path.join(d, "bin")
debug_print(d)
return d
def component_lib_dir(self, component, **kwargs):
- '''Provide directory suitable for find_libraries() and
+ """Provide directory suitable for find_libraries() and
SPACK_COMPILER_EXTRA_RPATHS.
- '''
+ """
d = self.normalize_path(component, **kwargs)
- if component == 'mpi':
- d = os.path.join(d, _expand_fields('{libarch}'), 'lib')
+ if component == "mpi":
+ d = os.path.join(d, _expand_fields("{libarch}"), "lib")
else:
- d = os.path.join(d, 'lib', _expand_fields('{libarch}'))
- d = d.rstrip(os.sep) # cosmetics, when {libarch} is empty
+ d = os.path.join(d, "lib", _expand_fields("{libarch}"))
+ d = d.rstrip(os.sep) # cosmetics, when {libarch} is empty
- if component == 'tbb': # must qualify further for abi
+ if component == "tbb": # must qualify further for abi
d = os.path.join(d, self._tbb_abi)
debug_print(d)
@@ -622,42 +630,42 @@ class IntelPackage(PackageBase):
def component_include_dir(self, component, **kwargs):
d = self.normalize_path(component, **kwargs)
- if component == 'mpi':
- d = os.path.join(d, _expand_fields('{libarch}'), 'include')
+ if component == "mpi":
+ d = os.path.join(d, _expand_fields("{libarch}"), "include")
else:
- d = os.path.join(d, 'include')
+ d = os.path.join(d, "include")
debug_print(d)
return d
@property
def file_to_source(self):
- '''Full path of file to source for initializing an Intel package.
+ """Full path of file to source for initializing an Intel package.
A client package could override as follows:
` @property`
` def file_to_source(self):`
` return self.normalize_path("apsvars.sh", "vtune_amplifier")`
- '''
+ """
vars_file_info_for = {
# key (usu. spack package name) -> [rel_path, component_suite_dir]
# Extension note: handle additions by Spack name or ad-hoc keys.
- '@early_compiler': ['bin/compilervars', None],
- 'intel-parallel-studio': ['bin/psxevars', 'parallel_studio_xe'],
- 'intel': ['bin/compilervars', None],
- 'intel-daal': ['daal/bin/daalvars', None],
- 'intel-ipp': ['ipp/bin/ippvars', None],
- 'intel-mkl': ['mkl/bin/mklvars', None],
- 'intel-mpi': ['mpi/{libarch}/bin/mpivars', None],
+ "@early_compiler": ["bin/compilervars", None],
+ "intel-parallel-studio": ["bin/psxevars", "parallel_studio_xe"],
+ "intel": ["bin/compilervars", None],
+ "intel-daal": ["daal/bin/daalvars", None],
+ "intel-ipp": ["ipp/bin/ippvars", None],
+ "intel-mkl": ["mkl/bin/mklvars", None],
+ "intel-mpi": ["mpi/{libarch}/bin/mpivars", None],
}
key = self.name
- if self.version_yearlike.satisfies(ver(':2015')):
+ if self.version_yearlike.satisfies(ver(":2015")):
# Same file as 'intel' but 'None' for component_suite_dir will
# resolve differently. Listed as a separate entry to serve as
# example and to avoid pitfalls upon possible refactoring.
- key = '@early_compiler'
+ key = "@early_compiler"
f, component_suite_dir = vars_file_info_for[key]
- f = _expand_fields(f) + '.sh'
+ f = _expand_fields(f) + ".sh"
# TODO?? win32 would have to handle os.sep, '.bat' (unless POSIX??)
f = self.normalize_path(f, component_suite_dir)
@@ -668,50 +676,53 @@ class IntelPackage(PackageBase):
# ---------------------------------------------------------------------
@property
def openmp_libs(self):
- '''Supply LibraryList for linking OpenMP'''
+ """Supply LibraryList for linking OpenMP"""
- if '%intel' in self.spec:
+ if "%intel" in self.spec:
# NB: Hunting down explicit library files may be the Spack way of
# doing things, but be aware that "{icc|ifort} --help openmp"
# steers us towards options instead: -qopenmp-link={dynamic,static}
- omp_libnames = ['libiomp5']
+ omp_libnames = ["libiomp5"]
omp_libs = find_libraries(
omp_libnames,
- root=self.component_lib_dir('compiler'),
- shared=('+shared' in self.spec))
+ root=self.component_lib_dir("compiler"),
+ shared=("+shared" in self.spec),
+ )
# Note about search root here: For MKL, the directory
# "$MKLROOT/../compiler" will be present even for an MKL-only
# product installation (as opposed to one being ghosted via
# packages.yaml), specificially to provide the 'iomp5' libs.
- elif '%gcc' in self.spec:
+ elif "%gcc" in self.spec:
with self.compiler.compiler_environment():
omp_lib_path = Executable(self.compiler.cc)(
- '--print-file-name', 'libgomp.%s' % dso_suffix, output=str)
+ "--print-file-name", "libgomp.%s" % dso_suffix, output=str
+ )
omp_libs = LibraryList(omp_lib_path.strip())
- elif '%clang' in self.spec:
+ elif "%clang" in self.spec:
with self.compiler.compiler_environment():
omp_lib_path = Executable(self.compiler.cc)(
- '--print-file-name', 'libomp.%s' % dso_suffix, output=str)
+ "--print-file-name", "libomp.%s" % dso_suffix, output=str
+ )
omp_libs = LibraryList(omp_lib_path.strip())
if len(omp_libs) < 1:
- raise_lib_error('Cannot locate OpenMP libraries:', omp_libnames)
+ raise_lib_error("Cannot locate OpenMP libraries:", omp_libnames)
debug_print(omp_libs)
return omp_libs
@property
def _gcc_executable(self):
- '''Return GCC executable'''
+ """Return GCC executable"""
# Match the available gcc, as it's done in tbbvars.sh.
- gcc_name = 'gcc'
+ gcc_name = "gcc"
# but first check if -gcc-name is specified in cflags
- for flag in self.spec.compiler_flags['cflags']:
- if flag.startswith('-gcc-name='):
- gcc_name = flag.split('-gcc-name=')[1]
+ for flag in self.spec.compiler_flags["cflags"]:
+ if flag.startswith("-gcc-name="):
+ gcc_name = flag.split("-gcc-name=")[1]
break
debug_print(gcc_name)
return Executable(gcc_name)
@@ -720,24 +731,21 @@ class IntelPackage(PackageBase):
def tbb_headers(self):
# Note: TBB is included as
# #include <tbb/task_scheduler_init.h>
- return HeaderList([
- self.component_include_dir('tbb') + '/dummy.h'])
+ return HeaderList([self.component_include_dir("tbb") + "/dummy.h"])
@property
def tbb_libs(self):
- '''Supply LibraryList for linking TBB'''
+ """Supply LibraryList for linking TBB"""
# TODO: When is 'libtbbmalloc' needed?
- tbb_lib = find_libraries(
- ['libtbb'], root=self.component_lib_dir('tbb'))
+ tbb_lib = find_libraries(["libtbb"], root=self.component_lib_dir("tbb"))
# NB: Like icc with -qopenmp, so does icpc steer us towards using an
# option: "icpc -tbb"
# TODO: clang(?)
- gcc = self._gcc_executable # must be gcc, not self.compiler.cc
+ gcc = self._gcc_executable # must be gcc, not self.compiler.cc
with self.compiler.compiler_environment():
- cxx_lib_path = gcc(
- '--print-file-name', 'libstdc++.%s' % dso_suffix, output=str)
+ cxx_lib_path = gcc("--print-file-name", "libstdc++.%s" % dso_suffix, output=str)
libs = tbb_lib + LibraryList(cxx_lib_path.rstrip())
debug_print(libs)
@@ -745,23 +753,26 @@ class IntelPackage(PackageBase):
@property
def _tbb_abi(self):
- '''Select the ABI needed for linking TBB'''
+ """Select the ABI needed for linking TBB"""
gcc = self._gcc_executable
with self.compiler.compiler_environment():
- matches = re.search(r'(gcc|LLVM).* ([0-9]+\.[0-9]+\.[0-9]+).*',
- gcc('--version', output=str), re.I | re.M)
- abi = ''
- if sys.platform == 'darwin':
+ matches = re.search(
+ r"(gcc|LLVM).* ([0-9]+\.[0-9]+\.[0-9]+).*",
+ gcc("--version", output=str),
+ re.I | re.M,
+ )
+ abi = ""
+ if sys.platform == "darwin":
pass
elif matches:
# TODO: Confirm that this covers clang (needed on Linux only)
gcc_version = Version(matches.groups()[1])
- if gcc_version >= ver('4.7'):
- abi = 'gcc4.7'
- elif gcc_version >= ver('4.4'):
- abi = 'gcc4.4'
+ if gcc_version >= ver("4.7"):
+ abi = "gcc4.7"
+ elif gcc_version >= ver("4.4"):
+ abi = "gcc4.4"
else:
- abi = 'gcc4.1' # unlikely, one hopes.
+ abi = "gcc4.1" # unlikely, one hopes.
# Alrighty then ...
debug_print(abi)
@@ -776,38 +787,41 @@ class IntelPackage(PackageBase):
# For reference, see The Intel Math Kernel Library Link Line Advisor:
# https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
- mkl_integer = 'libmkl_intel_' + self.intel64_int_suffix
+ mkl_integer = "libmkl_intel_" + self.intel64_int_suffix
- if self.spec.satisfies('threads=openmp'):
- if '%intel' in self.spec:
- mkl_threading = 'libmkl_intel_thread'
- elif '%gcc' in self.spec or '%clang' in self.spec:
- mkl_threading = 'libmkl_gnu_thread'
+ if self.spec.satisfies("threads=openmp"):
+ if "%intel" in self.spec:
+ mkl_threading = "libmkl_intel_thread"
+ elif "%gcc" in self.spec or "%clang" in self.spec:
+ mkl_threading = "libmkl_gnu_thread"
threading_engine_libs = self.openmp_libs
- elif self.spec.satisfies('threads=tbb'):
- mkl_threading = 'libmkl_tbb_thread'
+ elif self.spec.satisfies("threads=tbb"):
+ mkl_threading = "libmkl_tbb_thread"
threading_engine_libs = self.tbb_libs
- elif self.spec.satisfies('threads=none'):
- mkl_threading = 'libmkl_sequential'
+ elif self.spec.satisfies("threads=none"):
+ mkl_threading = "libmkl_sequential"
threading_engine_libs = LibraryList([])
else:
- raise_lib_error('Cannot determine MKL threading libraries.')
+ raise_lib_error("Cannot determine MKL threading libraries.")
- mkl_libnames = [mkl_integer, mkl_threading, 'libmkl_core']
+ mkl_libnames = [mkl_integer, mkl_threading, "libmkl_core"]
mkl_libs = find_libraries(
- mkl_libnames,
- root=self.component_lib_dir('mkl'),
- shared=('+shared' in self.spec))
+ mkl_libnames, root=self.component_lib_dir("mkl"), shared=("+shared" in self.spec)
+ )
debug_print(mkl_libs)
if len(mkl_libs) < 3:
- raise_lib_error('Cannot locate core MKL libraries:', mkl_libnames,
- 'in:', self.component_lib_dir('mkl'))
+ raise_lib_error(
+ "Cannot locate core MKL libraries:",
+ mkl_libnames,
+ "in:",
+ self.component_lib_dir("mkl"),
+ )
# The Intel MKL link line advisor recommends these system libraries
system_libs = find_system_libraries(
- 'libpthread libm libdl'.split(),
- shared=('+shared' in self.spec))
+ "libpthread libm libdl".split(), shared=("+shared" in self.spec)
+ )
debug_print(system_libs)
return mkl_libs + threading_engine_libs + system_libs
@@ -823,40 +837,40 @@ class IntelPackage(PackageBase):
# we must supply a personality matching the MPI implementation that
# is active for the root package that asked for ScaLapack.
spec_root = self.spec.root
- if sys.platform == 'darwin' and '^mpich' in spec_root:
+ if sys.platform == "darwin" and "^mpich" in spec_root:
# The only supported choice for MKL 2018 on Mac.
- blacs_lib = 'libmkl_blacs_mpich'
- elif '^openmpi' in spec_root:
- blacs_lib = 'libmkl_blacs_openmpi'
- elif '^mpich@1' in spec_root:
+ blacs_lib = "libmkl_blacs_mpich"
+ elif "^openmpi" in spec_root:
+ blacs_lib = "libmkl_blacs_openmpi"
+ elif "^mpich@1" in spec_root:
# Was supported only up to 2015.
- blacs_lib = 'libmkl_blacs'
- elif ('^mpich@2:' in spec_root or
- '^cray-mpich' in spec_root or
- '^mvapich2' in spec_root or
- '^intel-mpi' in spec_root or
- '^intel-oneapi-mpi' in spec_root or
- '^intel-parallel-studio' in spec_root):
- blacs_lib = 'libmkl_blacs_intelmpi'
- elif '^mpt' in spec_root:
- blacs_lib = 'libmkl_blacs_sgimpt'
+ blacs_lib = "libmkl_blacs"
+ elif (
+ "^mpich@2:" in spec_root
+ or "^cray-mpich" in spec_root
+ or "^mvapich2" in spec_root
+ or "^intel-mpi" in spec_root
+ or "^intel-oneapi-mpi" in spec_root
+ or "^intel-parallel-studio" in spec_root
+ ):
+ blacs_lib = "libmkl_blacs_intelmpi"
+ elif "^mpt" in spec_root:
+ blacs_lib = "libmkl_blacs_sgimpt"
else:
- raise_lib_error('Cannot find a BLACS library for the given MPI.')
+ raise_lib_error("Cannot find a BLACS library for the given MPI.")
- int_suff = '_' + self.intel64_int_suffix
+ int_suff = "_" + self.intel64_int_suffix
scalapack_libnames = [
- 'libmkl_scalapack' + int_suff,
+ "libmkl_scalapack" + int_suff,
blacs_lib + int_suff,
]
sca_libs = find_libraries(
- scalapack_libnames,
- root=self.component_lib_dir('mkl'),
- shared=('+shared' in self.spec))
+ scalapack_libnames, root=self.component_lib_dir("mkl"), shared=("+shared" in self.spec)
+ )
debug_print(sca_libs)
if len(sca_libs) < 2:
- raise_lib_error(
- 'Cannot locate ScaLapack/BLACS libraries:', scalapack_libnames)
+ raise_lib_error("Cannot locate ScaLapack/BLACS libraries:", scalapack_libnames)
# NB: ScaLapack is installed as "cluster" components within MKL or
# MKL-encompassing products. But those were *optional* for the ca.
# 2015/2016 product releases, which was easy to overlook, and I have
@@ -871,8 +885,7 @@ class IntelPackage(PackageBase):
# ---------------------------------------------------------------------
@property
def mpi_compiler_wrappers(self):
- '''Return paths to compiler wrappers as a dict of env-like names
- '''
+ """Return paths to compiler wrappers as a dict of env-like names"""
# Intel comes with 2 different flavors of MPI wrappers:
#
# * mpiicc, mpiicpc, and mpiifort are hardcoded to wrap around
@@ -885,30 +898,29 @@ class IntelPackage(PackageBase):
# and friends are set to point to the Intel compilers, but in
# practice, mpicc fails to compile some applications while
# mpiicc works.
- bindir = self.component_bin_dir('mpi')
- if self.compiler.name == 'intel':
+ bindir = self.component_bin_dir("mpi")
+ if self.compiler.name == "intel":
wrapper_vars = {
# eschew Prefix objects -- emphasize the command strings.
- 'MPICC': os.path.join(bindir, 'mpiicc'),
- 'MPICXX': os.path.join(bindir, 'mpiicpc'),
- 'MPIF77': os.path.join(bindir, 'mpiifort'),
- 'MPIF90': os.path.join(bindir, 'mpiifort'),
- 'MPIFC': os.path.join(bindir, 'mpiifort'),
+ "MPICC": os.path.join(bindir, "mpiicc"),
+ "MPICXX": os.path.join(bindir, "mpiicpc"),
+ "MPIF77": os.path.join(bindir, "mpiifort"),
+ "MPIF90": os.path.join(bindir, "mpiifort"),
+ "MPIFC": os.path.join(bindir, "mpiifort"),
}
else:
wrapper_vars = {
- 'MPICC': os.path.join(bindir, 'mpicc'),
- 'MPICXX': os.path.join(bindir, 'mpicxx'),
- 'MPIF77': os.path.join(bindir, 'mpif77'),
- 'MPIF90': os.path.join(bindir, 'mpif90'),
- 'MPIFC': os.path.join(bindir, 'mpif90'),
+ "MPICC": os.path.join(bindir, "mpicc"),
+ "MPICXX": os.path.join(bindir, "mpicxx"),
+ "MPIF77": os.path.join(bindir, "mpif77"),
+ "MPIF90": os.path.join(bindir, "mpif90"),
+ "MPIFC": os.path.join(bindir, "mpif90"),
}
# debug_print("wrapper_vars =", wrapper_vars)
return wrapper_vars
- def mpi_setup_dependent_build_environment(
- self, env, dependent_spec, compilers_of_client={}):
- '''Unified back-end for setup_dependent_build_environment() of
+ def mpi_setup_dependent_build_environment(self, env, dependent_spec, compilers_of_client={}):
+ """Unified back-end for setup_dependent_build_environment() of
Intel packages that provide 'mpi'.
Parameters:
@@ -918,16 +930,16 @@ class IntelPackage(PackageBase):
compilers_of_client (dict): Conveys spack_cc, spack_cxx, etc.,
from the scope of dependent packages; constructed in caller.
- '''
+ """
# See also: setup_dependent_package()
wrapper_vars = {
- 'I_MPI_CC': compilers_of_client['CC'],
- 'I_MPI_CXX': compilers_of_client['CXX'],
- 'I_MPI_F77': compilers_of_client['F77'],
- 'I_MPI_F90': compilers_of_client['F90'],
- 'I_MPI_FC': compilers_of_client['FC'],
+ "I_MPI_CC": compilers_of_client["CC"],
+ "I_MPI_CXX": compilers_of_client["CXX"],
+ "I_MPI_F77": compilers_of_client["F77"],
+ "I_MPI_F90": compilers_of_client["F90"],
+ "I_MPI_FC": compilers_of_client["FC"],
# NB: Normally set by the modulefile, but that is not active here:
- 'I_MPI_ROOT': self.normalize_path('mpi'),
+ "I_MPI_ROOT": self.normalize_path("mpi"),
}
# CAUTION - SIMILAR code in:
@@ -936,27 +948,31 @@ class IntelPackage(PackageBase):
# var/spack/repos/builtin/packages/mvapich2/package.py
#
# On Cray, the regular compiler wrappers *are* the MPI wrappers.
- if 'platform=cray' in self.spec:
+ if "platform=cray" in self.spec:
# TODO: Confirm
- wrapper_vars.update({
- 'MPICC': compilers_of_client['CC'],
- 'MPICXX': compilers_of_client['CXX'],
- 'MPIF77': compilers_of_client['F77'],
- 'MPIF90': compilers_of_client['F90'],
- })
+ wrapper_vars.update(
+ {
+ "MPICC": compilers_of_client["CC"],
+ "MPICXX": compilers_of_client["CXX"],
+ "MPIF77": compilers_of_client["F77"],
+ "MPIF90": compilers_of_client["F90"],
+ }
+ )
else:
compiler_wrapper_commands = self.mpi_compiler_wrappers
- wrapper_vars.update({
- 'MPICC': compiler_wrapper_commands['MPICC'],
- 'MPICXX': compiler_wrapper_commands['MPICXX'],
- 'MPIF77': compiler_wrapper_commands['MPIF77'],
- 'MPIF90': compiler_wrapper_commands['MPIF90'],
- })
+ wrapper_vars.update(
+ {
+ "MPICC": compiler_wrapper_commands["MPICC"],
+ "MPICXX": compiler_wrapper_commands["MPICXX"],
+ "MPIF77": compiler_wrapper_commands["MPIF77"],
+ "MPIF90": compiler_wrapper_commands["MPIF90"],
+ }
+ )
# Ensure that the directory containing the compiler wrappers is in the
# PATH. Spack packages add `prefix.bin` to their dependents' paths,
# but because of the intel directory hierarchy that is insufficient.
- env.prepend_path('PATH', os.path.dirname(wrapper_vars['MPICC']))
+ env.prepend_path("PATH", os.path.dirname(wrapper_vars["MPICC"]))
for key, value in wrapper_vars.items():
env.set(key, value)
@@ -969,17 +985,17 @@ class IntelPackage(PackageBase):
@property
def headers(self):
result = HeaderList([])
- if '+mpi' in self.spec or self.provides('mpi'):
+ if "+mpi" in self.spec or self.provides("mpi"):
result += find_headers(
- ['mpi'],
- root=self.component_include_dir('mpi'),
- recursive=False)
- if '+mkl' in self.spec or self.provides('mkl'):
+ ["mpi"], root=self.component_include_dir("mpi"), recursive=False
+ )
+ if "+mkl" in self.spec or self.provides("mkl"):
result += find_headers(
- ['mkl_cblas', 'mkl_lapacke'],
- root=self.component_include_dir('mkl'),
- recursive=False)
- if '+tbb' in self.spec or self.provides('tbb'):
+ ["mkl_cblas", "mkl_lapacke"],
+ root=self.component_include_dir("mkl"),
+ recursive=False,
+ )
+ if "+tbb" in self.spec or self.provides("tbb"):
result += self.tbb_headers
debug_print(result)
@@ -988,35 +1004,35 @@ class IntelPackage(PackageBase):
@property
def libs(self):
result = LibraryList([])
- if '+tbb' in self.spec or self.provides('tbb'):
+ if "+tbb" in self.spec or self.provides("tbb"):
result = self.tbb_libs + result
- if '+mkl' in self.spec or self.provides('blas'):
+ if "+mkl" in self.spec or self.provides("blas"):
result = self.blas_libs + result
- if '+mkl' in self.spec or self.provides('lapack'):
+ if "+mkl" in self.spec or self.provides("lapack"):
result = self.lapack_libs + result
- if '+mpi' in self.spec or self.provides('mpi'):
+ if "+mpi" in self.spec or self.provides("mpi"):
# If prefix is too general, recursive searches may get files from
# supported but inappropriate sub-architectures like 'mic'.
- libnames = ['libmpifort', 'libmpi']
- if 'cxx' in self.spec.last_query.extra_parameters:
- libnames = ['libmpicxx'] + libnames
- result = find_libraries(
- libnames,
- root=self.component_lib_dir('mpi'),
- shared=True, recursive=True) + result
+ libnames = ["libmpifort", "libmpi"]
+ if "cxx" in self.spec.last_query.extra_parameters:
+ libnames = ["libmpicxx"] + libnames
+ result = (
+ find_libraries(
+ libnames, root=self.component_lib_dir("mpi"), shared=True, recursive=True
+ )
+ + result
+ )
# Intel MPI since 2019 depends on libfabric which is not in the
# lib directory but in a directory of its own which should be
# included in the rpath
- if self.version_yearlike >= ver('2019'):
- d = ancestor(self.component_lib_dir('mpi'))
- if '+external-libfabric' in self.spec:
- result += self.spec['libfabric'].libs
+ if self.version_yearlike >= ver("2019"):
+ d = ancestor(self.component_lib_dir("mpi"))
+ if "+external-libfabric" in self.spec:
+ result += self.spec["libfabric"].libs
else:
- result += find_libraries(['libfabric'],
- os.path.join(d, 'libfabric', 'lib'))
+ result += find_libraries(["libfabric"], os.path.join(d, "libfabric", "lib"))
- if '^mpi' in self.spec.root and ('+mkl' in self.spec or
- self.provides('scalapack')):
+ if "^mpi" in self.spec.root and ("+mkl" in self.spec or self.provides("scalapack")):
result = self.scalapack_libs + result
debug_print(result)
@@ -1037,7 +1053,7 @@ class IntelPackage(PackageBase):
# All Intel packages expect at least the architecture as argument.
# Some accept more args, but those are not (yet?) handled here.
- args = (_expand_fields('{arch}'),)
+ args = (_expand_fields("{arch}"),)
# On Mac, the platform is *also required*, at least as of 2018.
# I am not sure about earlier versions.
@@ -1046,14 +1062,14 @@ class IntelPackage(PackageBase):
env.extend(EnvironmentModifications.from_sourcing_file(f, *args))
- if self.spec.name in ('intel', 'intel-parallel-studio'):
+ if self.spec.name in ("intel", "intel-parallel-studio"):
# this package provides compilers
# TODO: fix check above when compilers are dependencies
- env.set('CC', self.prefix.bin.icc)
- env.set('CXX', self.prefix.bin.icpc)
- env.set('FC', self.prefix.bin.ifort)
- env.set('F77', self.prefix.bin.ifort)
- env.set('F90', self.prefix.bin.ifort)
+ env.set("CC", self.prefix.bin.icc)
+ env.set("CXX", self.prefix.bin.icpc)
+ env.set("FC", self.prefix.bin.ifort)
+ env.set("F77", self.prefix.bin.ifort)
+ env.set("F90", self.prefix.bin.ifort)
def setup_dependent_build_environment(self, env, dependent_spec):
# NB: This function is overwritten by 'mpi' provider packages:
@@ -1067,13 +1083,12 @@ class IntelPackage(PackageBase):
# Handle everything in a callback version.
self._setup_dependent_env_callback(env, dependent_spec)
- def _setup_dependent_env_callback(
- self, env, dependent_spec, compilers_of_client={}):
+ def _setup_dependent_env_callback(self, env, dependent_spec, compilers_of_client={}):
# Expected to be called from a client's
# setup_dependent_build_environment(),
# with args extended to convey the client's compilers as needed.
- if '+mkl' in self.spec or self.provides('mkl'):
+ if "+mkl" in self.spec or self.provides("mkl"):
# Spack's env philosophy demands that we replicate some of the
# settings normally handled by file_to_source ...
#
@@ -1084,49 +1099,48 @@ class IntelPackage(PackageBase):
#
# Use a local dict to facilitate debug_print():
env_mods = {
- 'MKLROOT': self.normalize_path('mkl'),
- 'SPACK_COMPILER_EXTRA_RPATHS': self.component_lib_dir('mkl'),
- 'CMAKE_PREFIX_PATH': self.normalize_path('mkl'),
- 'CMAKE_LIBRARY_PATH': self.component_lib_dir('mkl'),
- 'CMAKE_INCLUDE_PATH': self.component_include_dir('mkl'),
+ "MKLROOT": self.normalize_path("mkl"),
+ "SPACK_COMPILER_EXTRA_RPATHS": self.component_lib_dir("mkl"),
+ "CMAKE_PREFIX_PATH": self.normalize_path("mkl"),
+ "CMAKE_LIBRARY_PATH": self.component_lib_dir("mkl"),
+ "CMAKE_INCLUDE_PATH": self.component_include_dir("mkl"),
}
- env.set('MKLROOT', env_mods['MKLROOT'])
- env.append_path('SPACK_COMPILER_EXTRA_RPATHS',
- env_mods['SPACK_COMPILER_EXTRA_RPATHS'])
- env.append_path('CMAKE_PREFIX_PATH', env_mods['CMAKE_PREFIX_PATH'])
- env.append_path('CMAKE_LIBRARY_PATH',
- env_mods['CMAKE_LIBRARY_PATH'])
- env.append_path('CMAKE_INCLUDE_PATH',
- env_mods['CMAKE_INCLUDE_PATH'])
+ env.set("MKLROOT", env_mods["MKLROOT"])
+ env.append_path("SPACK_COMPILER_EXTRA_RPATHS", env_mods["SPACK_COMPILER_EXTRA_RPATHS"])
+ env.append_path("CMAKE_PREFIX_PATH", env_mods["CMAKE_PREFIX_PATH"])
+ env.append_path("CMAKE_LIBRARY_PATH", env_mods["CMAKE_LIBRARY_PATH"])
+ env.append_path("CMAKE_INCLUDE_PATH", env_mods["CMAKE_INCLUDE_PATH"])
debug_print("adding/modifying build env:", env_mods)
- if '+mpi' in self.spec or self.provides('mpi'):
+ if "+mpi" in self.spec or self.provides("mpi"):
if compilers_of_client:
self.mpi_setup_dependent_build_environment(
- env, dependent_spec, compilers_of_client)
+ env, dependent_spec, compilers_of_client
+ )
# We could forego this nonce function and inline its code here,
# but (a) it sisters mpi_compiler_wrappers() [needed twice]
# which performs dizzyingly similar but necessarily different
# actions, and (b) function code leaves a bit more breathing
# room within the suffocating corset of flake8 line length.
else:
- raise InstallError('compilers_of_client arg required for MPI')
+ raise InstallError("compilers_of_client arg required for MPI")
def setup_dependent_package(self, module, dep_spec):
# https://spack.readthedocs.io/en/latest/spack.html#spack.package_base.PackageBase.setup_dependent_package
# Reminder: "module" refers to Python module.
# Called before the install() method of dependents.
- if '+mpi' in self.spec or self.provides('mpi'):
+ if "+mpi" in self.spec or self.provides("mpi"):
compiler_wrapper_commands = self.mpi_compiler_wrappers
- self.spec.mpicc = compiler_wrapper_commands['MPICC']
- self.spec.mpicxx = compiler_wrapper_commands['MPICXX']
- self.spec.mpif77 = compiler_wrapper_commands['MPIF77']
- self.spec.mpifc = compiler_wrapper_commands['MPIFC']
- debug_print(("spec '%s' received .mpi* properties:" % self.spec),
- compiler_wrapper_commands)
+ self.spec.mpicc = compiler_wrapper_commands["MPICC"]
+ self.spec.mpicxx = compiler_wrapper_commands["MPICXX"]
+ self.spec.mpif77 = compiler_wrapper_commands["MPIF77"]
+ self.spec.mpifc = compiler_wrapper_commands["MPIFC"]
+ debug_print(
+ ("spec '%s' received .mpi* properties:" % self.spec), compiler_wrapper_commands
+ )
# ---------------------------------------------------------------------
# Specifics for installation phase
@@ -1137,19 +1151,20 @@ class IntelPackage(PackageBase):
All Intel software shares the same license, so we store it in a
common 'intel' directory."""
- return os.path.join(self.global_license_dir, 'intel', 'license.lic')
+ return os.path.join(self.global_license_dir, "intel", "license.lic")
@property
def _determine_license_type(self):
- '''Provide appropriate license tokens for the installer (silent.cfg).
- '''
+ """Provide appropriate license tokens for the installer (silent.cfg)."""
# See:
# ./README-intel.rst, section "Details for licensing tokens".
# ./build_systems/README-intel.rst, section "Licenses"
#
# Ideally, we just tell the installer to look around on the system.
# Thankfully, we neither need to care nor emulate where it looks:
- license_type = {'ACTIVATION_TYPE': 'exist_lic', }
+ license_type = {
+ "ACTIVATION_TYPE": "exist_lic",
+ }
# However (and only), if the spack-internal Intel license file has been
# populated beyond its templated explanatory comments, proffer it to
@@ -1160,21 +1175,20 @@ class IntelPackage(PackageBase):
# self.license_files having been populated, so the "if" is usually
# true by the time the present function runs; ../hooks/licensing.py
with open(f) as fh:
- if re.search(r'^[ \t]*[^' + self.license_comment + '\n]',
- fh.read(), re.MULTILINE):
+ if re.search(r"^[ \t]*[^" + self.license_comment + "\n]", fh.read(), re.MULTILINE):
license_type = {
- 'ACTIVATION_TYPE': 'license_file',
- 'ACTIVATION_LICENSE_FILE': f,
+ "ACTIVATION_TYPE": "license_file",
+ "ACTIVATION_LICENSE_FILE": f,
}
debug_print(license_type)
return license_type
def configure(self, spec, prefix):
- '''Generates the silent.cfg file to pass to installer.sh.
+ """Generates the silent.cfg file to pass to installer.sh.
See https://software.intel.com/en-us/articles/configuration-file-format
- '''
+ """
# Both tokens AND values of the configuration file are validated during
# the run of the underlying binary installer. Any unknown token or
@@ -1191,136 +1205,130 @@ class IntelPackage(PackageBase):
# our configuration accordingly. We can do this because the tokens are
# quite long and specific.
- validator_code = open('pset/check.awk', 'r').read()
+ validator_code = open("pset/check.awk", "r").read()
# Let's go a little further and distill the tokens (plus some noise).
- tokenlike_words = set(re.findall(r'[A-Z_]{4,}', validator_code))
+ tokenlike_words = set(re.findall(r"[A-Z_]{4,}", validator_code))
# NB: .cfg files generated with the "--duplicate filename" option have
# the COMPONENTS string begin with a separator - do not worry about it.
- components_joined = ';'.join(self._filtered_components)
- nonrpm_db_dir = os.path.join(prefix, 'nonrpm-db')
+ components_joined = ";".join(self._filtered_components)
+ nonrpm_db_dir = os.path.join(prefix, "nonrpm-db")
config_draft = {
# Basics first - these should be accepted in all products.
- 'ACCEPT_EULA': 'accept',
- 'PSET_MODE': 'install',
- 'CONTINUE_WITH_OPTIONAL_ERROR': 'yes',
- 'CONTINUE_WITH_INSTALLDIR_OVERWRITE': 'yes',
- 'SIGNING_ENABLED': 'no',
-
+ "ACCEPT_EULA": "accept",
+ "PSET_MODE": "install",
+ "CONTINUE_WITH_OPTIONAL_ERROR": "yes",
+ "CONTINUE_WITH_INSTALLDIR_OVERWRITE": "yes",
+ "SIGNING_ENABLED": "no",
# Highly variable package specifics:
- 'PSET_INSTALL_DIR': prefix,
- 'NONRPM_DB_DIR': nonrpm_db_dir,
- 'COMPONENTS': components_joined,
-
+ "PSET_INSTALL_DIR": prefix,
+ "NONRPM_DB_DIR": nonrpm_db_dir,
+ "COMPONENTS": components_joined,
# Conditional tokens; the first is supported post-2015 only.
# Ignore ia32; most recent products don't even provide it.
- 'ARCH_SELECTED': 'INTEL64', # was: 'ALL'
-
+ "ARCH_SELECTED": "INTEL64", # was: 'ALL'
# 'ism' component -- see uninstall_ism(); also varies by release.
- 'PHONEHOME_SEND_USAGE_DATA': 'no',
+ "PHONEHOME_SEND_USAGE_DATA": "no",
# Ah, as of 2018.2, that somewhat loaded term got replaced by one
# in business-speak. We uphold our preference, both out of general
# principles and for technical reasons like overhead and non-routed
# compute nodes.
- 'INTEL_SW_IMPROVEMENT_PROGRAM_CONSENT': 'no',
+ "INTEL_SW_IMPROVEMENT_PROGRAM_CONSENT": "no",
}
# Deal with licensing only if truly needed.
# NB: Token was 'ACTIVATION' pre ~2013, so basically irrelevant here.
- if 'ACTIVATION_TYPE' in tokenlike_words:
+ if "ACTIVATION_TYPE" in tokenlike_words:
config_draft.update(self._determine_license_type)
# Write sorted *by token* so the file looks less like a hash dump.
- f = open('silent.cfg', 'w')
+ f = open("silent.cfg", "w")
for token, value in sorted(config_draft.items()):
if token in tokenlike_words:
- f.write('%s=%s\n' % (token, value))
+ f.write("%s=%s\n" % (token, value))
f.close()
def install(self, spec, prefix):
- '''Runs Intel's install.sh installation script. Afterwards, save the
+ """Runs Intel's install.sh installation script. Afterwards, save the
installer config and logs to <prefix>/.spack
- '''
+ """
# prepare
- tmpdir = tempfile.mkdtemp(prefix='spack-intel-')
+ tmpdir = tempfile.mkdtemp(prefix="spack-intel-")
- install_script = Executable('./install.sh')
- install_script.add_default_env('TMPDIR', tmpdir)
+ install_script = Executable("./install.sh")
+ install_script.add_default_env("TMPDIR", tmpdir)
# Need to set HOME to avoid using ~/intel
- install_script.add_default_env('HOME', prefix)
+ install_script.add_default_env("HOME", prefix)
# perform
- install_script('--silent', 'silent.cfg')
+ install_script("--silent", "silent.cfg")
# preserve config and logs
- dst = os.path.join(self.prefix, '.spack')
- install('silent.cfg', dst)
- for f in glob.glob('%s/intel*log' % tmpdir):
+ dst = os.path.join(self.prefix, ".spack")
+ install("silent.cfg", dst)
+ for f in glob.glob("%s/intel*log" % tmpdir):
install(f, dst)
- @run_after('install')
+ @run_after("install")
def validate_install(self):
# Sometimes the installer exits with an error but doesn't pass a
# non-zero exit code to spack. Check for the existence of a 'bin'
# directory to catch this error condition.
if not os.path.exists(self.prefix.bin):
- raise InstallError('The installer has failed to install anything.')
+ raise InstallError("The installer has failed to install anything.")
- @run_after('install')
+ @run_after("install")
def configure_rpath(self):
- if '+rpath' not in self.spec:
+ if "+rpath" not in self.spec:
return
# https://software.intel.com/en-us/cpp-compiler-18.0-developer-guide-and-reference-using-configuration-files
- compilers_bin_dir = self.component_bin_dir('compiler')
- compilers_lib_dir = self.component_lib_dir('compiler')
+ compilers_bin_dir = self.component_bin_dir("compiler")
+ compilers_lib_dir = self.component_lib_dir("compiler")
- for compiler_name in 'icc icpc ifort'.split():
+ for compiler_name in "icc icpc ifort".split():
f = os.path.join(compilers_bin_dir, compiler_name)
if not os.path.isfile(f):
- raise InstallError(
- 'Cannot find compiler command to configure rpath:\n\t' + f)
+ raise InstallError("Cannot find compiler command to configure rpath:\n\t" + f)
- compiler_cfg = os.path.abspath(f + '.cfg')
- with open(compiler_cfg, 'w') as fh:
- fh.write('-Xlinker -rpath={0}\n'.format(compilers_lib_dir))
+ compiler_cfg = os.path.abspath(f + ".cfg")
+ with open(compiler_cfg, "w") as fh:
+ fh.write("-Xlinker -rpath={0}\n".format(compilers_lib_dir))
- @run_after('install')
+ @run_after("install")
def configure_auto_dispatch(self):
if self._has_compilers:
- if ('auto_dispatch=none' in self.spec):
+ if "auto_dispatch=none" in self.spec:
return
- compilers_bin_dir = self.component_bin_dir('compiler')
+ compilers_bin_dir = self.component_bin_dir("compiler")
- for compiler_name in 'icc icpc ifort'.split():
+ for compiler_name in "icc icpc ifort".split():
f = os.path.join(compilers_bin_dir, compiler_name)
if not os.path.isfile(f):
raise InstallError(
- 'Cannot find compiler command to configure '
- 'auto_dispatch:\n\t' + f)
+ "Cannot find compiler command to configure " "auto_dispatch:\n\t" + f
+ )
ad = []
for x in IntelPackage.auto_dispatch_options:
- if 'auto_dispatch={0}'.format(x) in self.spec:
+ if "auto_dispatch={0}".format(x) in self.spec:
ad.append(x)
- compiler_cfg = os.path.abspath(f + '.cfg')
- with open(compiler_cfg, 'a') as fh:
- fh.write('-ax{0}\n'.format(','.join(ad)))
+ compiler_cfg = os.path.abspath(f + ".cfg")
+ with open(compiler_cfg, "a") as fh:
+ fh.write("-ax{0}\n".format(",".join(ad)))
- @run_after('install')
+ @run_after("install")
def filter_compiler_wrappers(self):
- if (('+mpi' in self.spec or self.provides('mpi')) and
- '~newdtags' in self.spec):
- bin_dir = self.component_bin_dir('mpi')
- for f in 'mpif77 mpif90 mpigcc mpigxx mpiicc mpiicpc ' \
- 'mpiifort'.split():
+ if ("+mpi" in self.spec or self.provides("mpi")) and "~newdtags" in self.spec:
+ bin_dir = self.component_bin_dir("mpi")
+ for f in "mpif77 mpif90 mpigcc mpigxx mpiicc mpiicpc " "mpiifort".split():
f = os.path.join(bin_dir, f)
- filter_file('-Xlinker --enable-new-dtags', ' ', f, string=True)
+ filter_file("-Xlinker --enable-new-dtags", " ", f, string=True)
- @run_after('install')
+ @run_after("install")
def uninstall_ism(self):
# The "Intel(R) Software Improvement Program" [ahem] gets installed,
# apparently regardless of PHONEHOME_SEND_USAGE_DATA.
@@ -1331,12 +1339,11 @@ class IntelPackage(PackageBase):
# "... you can also uninstall the Intel(R) Software Manager
# completely: <installdir>/intel/ism/uninstall.sh"
- f = os.path.join(self.normalize_path('ism'), 'uninstall.sh')
+ f = os.path.join(self.normalize_path("ism"), "uninstall.sh")
if os.path.isfile(f):
- tty.warn('Uninstalling "Intel Software Improvement Program"'
- 'component')
+ tty.warn('Uninstalling "Intel Software Improvement Program"' "component")
uninstall = Executable(f)
- uninstall('--silent')
+ uninstall("--silent")
# TODO? also try
# ~/intel/ism/uninstall --silent
@@ -1346,15 +1353,14 @@ class IntelPackage(PackageBase):
@property
def base_lib_dir(self):
- """Provide the library directory located in the base of Intel installation.
- """
- d = self.normalize_path('')
- d = os.path.join(d, 'lib')
+ """Provide the library directory located in the base of Intel installation."""
+ d = self.normalize_path("")
+ d = os.path.join(d, "lib")
debug_print(d)
return d
- @run_after('install')
+ @run_after("install")
def modify_LLVMgold_rpath(self):
"""Add libimf.so and other required libraries to the RUNPATH of LLVMgold.so.
@@ -1362,8 +1368,9 @@ class IntelPackage(PackageBase):
`ld -plugin LLVMgold.so` is called by the compiler.
"""
if self._has_compilers:
- LLVMgold_libs = find_libraries('LLVMgold', self.base_lib_dir,
- shared=True, recursive=True)
+ LLVMgold_libs = find_libraries(
+ "LLVMgold", self.base_lib_dir, shared=True, recursive=True
+ )
# Ignore ia32 entries as they mostly ignore throughout the rest
# of the file.
# The first entry in rpath preserves the original, the seconds entry
@@ -1371,15 +1378,19 @@ class IntelPackage(PackageBase):
# in compiler releases, then we need to search for libimf.so instead
# of this static path.
for lib in LLVMgold_libs:
- if not self.spec.satisfies('^patchelf'):
+ if not self.spec.satisfies("^patchelf"):
raise spack.error.SpackError(
- 'Attempting to patch RPATH in LLVMgold.so.'
- + '`patchelf` dependency should be set in package.py'
+ "Attempting to patch RPATH in LLVMgold.so."
+ + "`patchelf` dependency should be set in package.py"
)
- patchelf = Executable('patchelf')
- rpath = ':'.join([patchelf('--print-rpath', lib, output=str).strip(),
- '$ORIGIN/../compiler/lib/intel64_lin'])
- patchelf('--set-rpath', rpath, lib)
+ patchelf = Executable("patchelf")
+ rpath = ":".join(
+ [
+ patchelf("--print-rpath", lib, output=str).strip(),
+ "$ORIGIN/../compiler/lib/intel64_lin",
+ ]
+ )
+ patchelf("--set-rpath", rpath, lib)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/lua.py b/lib/spack/spack/build_systems/lua.py
index ed71aac9e9..c0d4321097 100644
--- a/lib/spack/spack/build_systems/lua.py
+++ b/lib/spack/spack/build_systems/lua.py
@@ -17,27 +17,27 @@ from spack.util.executable import Executable
class LuaPackage(PackageBase):
"""Specialized class for lua packages"""
- phases = ['unpack', 'generate_luarocks_config', 'preprocess', 'install']
+ phases = ["unpack", "generate_luarocks_config", "preprocess", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'LuaPackage'
+ build_system_class = "LuaPackage"
list_depth = 1 # LuaRocks requires at least one level of spidering to find versions
- depends_on('lua-lang')
- extends('lua', when='^lua')
- with when('^lua-luajit'):
- extends('lua-luajit')
- depends_on('luajit')
- depends_on('lua-luajit+lualinks')
- with when('^lua-luajit-openresty'):
- extends('lua-luajit-openresty')
- depends_on('luajit')
- depends_on('lua-luajit-openresty+lualinks')
+ depends_on("lua-lang")
+ extends("lua", when="^lua")
+ with when("^lua-luajit"):
+ extends("lua-luajit")
+ depends_on("luajit")
+ depends_on("lua-luajit+lualinks")
+ with when("^lua-luajit-openresty"):
+ extends("lua-luajit-openresty")
+ depends_on("luajit")
+ depends_on("lua-luajit-openresty+lualinks")
def unpack(self, spec, prefix):
- if os.path.splitext(self.stage.archive_file)[1] == '.rock':
- directory = self.luarocks('unpack', self.stage.archive_file, output=str)
- dirlines = directory.split('\n')
+ if os.path.splitext(self.stage.archive_file)[1] == ".rock":
+ directory = self.luarocks("unpack", self.stage.archive_file, output=str)
+ dirlines = directory.split("\n")
# TODO: figure out how to scope this better
os.chdir(dirlines[2])
@@ -48,19 +48,17 @@ class LuaPackage(PackageBase):
)
def _luarocks_config_path(self):
- return os.path.join(self.stage.source_path, 'spack_luarocks.lua')
+ return os.path.join(self.stage.source_path, "spack_luarocks.lua")
def generate_luarocks_config(self, spec, prefix):
spec = self.spec
table_entries = []
- for d in spec.traverse(
- deptypes=("build", "run"), deptype_query="run"
- ):
+ for d in spec.traverse(deptypes=("build", "run"), deptype_query="run"):
if d.package.extends(self.extendee_spec):
table_entries.append(self._generate_tree_line(d.name, d.prefix))
path = self._luarocks_config_path()
- with open(path, 'w') as config:
+ with open(path, "w") as config:
config.write(
"""
deps_mode="all"
@@ -74,7 +72,7 @@ class LuaPackage(PackageBase):
return path
def setup_build_environment(self, env):
- env.set('LUAROCKS_CONFIG', self._luarocks_config_path())
+ env.set("LUAROCKS_CONFIG", self._luarocks_config_path())
def preprocess(self, spec, prefix):
"""Override this to preprocess source before building with luarocks"""
@@ -82,21 +80,21 @@ class LuaPackage(PackageBase):
@property
def lua(self):
- return Executable(self.spec['lua-lang'].prefix.bin.lua)
+ return Executable(self.spec["lua-lang"].prefix.bin.lua)
@property
def luarocks(self):
- lr = Executable(self.spec['lua-lang'].prefix.bin.luarocks)
+ lr = Executable(self.spec["lua-lang"].prefix.bin.luarocks)
return lr
def luarocks_args(self):
return []
def install(self, spec, prefix):
- rock = '.'
- specs = find('.', '*.rockspec', recursive=False)
+ rock = "."
+ specs = find(".", "*.rockspec", recursive=False)
if specs:
rock = specs[0]
rocks_args = self.luarocks_args()
rocks_args.append(rock)
- self.luarocks('--tree=' + prefix, 'make', *rocks_args)
+ self.luarocks("--tree=" + prefix, "make", *rocks_args)
diff --git a/lib/spack/spack/build_systems/makefile.py b/lib/spack/spack/build_systems/makefile.py
index be5986da33..e2bb8c0c26 100644
--- a/lib/spack/spack/build_systems/makefile.py
+++ b/lib/spack/spack/build_systems/makefile.py
@@ -43,25 +43,26 @@ class MakefilePackage(PackageBase):
| | Makefile is located|
+-----------------------------------------------+--------------------+
"""
+
#: Phases of a package that is built with an hand-written Makefile
- phases = ['edit', 'build', 'install']
+ phases = ["edit", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'MakefilePackage'
+ build_system_class = "MakefilePackage"
#: Targets for ``make`` during the :py:meth:`~.MakefilePackage.build`
#: phase
build_targets = [] # type: List[str]
#: Targets for ``make`` during the :py:meth:`~.MakefilePackage.install`
#: phase
- install_targets = ['install']
+ install_targets = ["install"]
- conflicts('platform=windows')
+ conflicts("platform=windows")
#: Callback names for build-time test
- build_time_test_callbacks = ['check']
+ build_time_test_callbacks = ["check"]
#: Callback names for install-time test
- install_time_test_callbacks = ['installcheck']
+ install_time_test_callbacks = ["installcheck"]
@property
def build_directory(self):
@@ -75,7 +76,7 @@ class MakefilePackage(PackageBase):
"""Edits the Makefile before calling make. This phase cannot
be defaulted.
"""
- tty.msg('Using default implementation: skipping edit phase.')
+ tty.msg("Using default implementation: skipping edit phase.")
def build(self, spec, prefix):
"""Calls make, passing :py:attr:`~.MakefilePackage.build_targets`
@@ -91,27 +92,27 @@ class MakefilePackage(PackageBase):
with working_dir(self.build_directory):
inspect.getmodule(self).make(*self.install_targets)
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def check(self):
"""Searches the Makefile for targets ``test`` and ``check``
and runs them if found.
"""
with working_dir(self.build_directory):
- self._if_make_target_execute('test')
- self._if_make_target_execute('check')
+ self._if_make_target_execute("test")
+ self._if_make_target_execute("check")
- run_after('install')(PackageBase._run_default_install_time_test_callbacks)
+ run_after("install")(PackageBase._run_default_install_time_test_callbacks)
def installcheck(self):
"""Searches the Makefile for an ``installcheck`` target
and runs it if found.
"""
with working_dir(self.build_directory):
- self._if_make_target_execute('installcheck')
+ self._if_make_target_execute("installcheck")
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
# On macOS, force rpaths for shared library IDs and remove duplicate rpaths
- run_after('install')(PackageBase.apply_macos_rpath_fixups)
+ run_after("install")(PackageBase.apply_macos_rpath_fixups)
diff --git a/lib/spack/spack/build_systems/maven.py b/lib/spack/spack/build_systems/maven.py
index ffa67346ab..1ff1882e13 100644
--- a/lib/spack/spack/build_systems/maven.py
+++ b/lib/spack/spack/build_systems/maven.py
@@ -21,15 +21,16 @@ class MavenPackage(PackageBase):
* build
* install
"""
+
# Default phases
- phases = ['build', 'install']
+ phases = ["build", "install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'MavenPackage'
+ build_system_class = "MavenPackage"
- depends_on('java', type=('build', 'run'))
- depends_on('maven', type='build')
+ depends_on("java", type=("build", "run"))
+ depends_on("maven", type="build")
@property
def build_directory(self):
@@ -44,17 +45,17 @@ class MavenPackage(PackageBase):
"""Compile code and package into a JAR file."""
with working_dir(self.build_directory):
- mvn = which('mvn')
+ mvn = which("mvn")
if self.run_tests:
- mvn('verify', *self.build_args())
+ mvn("verify", *self.build_args())
else:
- mvn('package', '-DskipTests', *self.build_args())
+ mvn("package", "-DskipTests", *self.build_args())
def install(self, spec, prefix):
"""Copy to installation prefix."""
with working_dir(self.build_directory):
- install_tree('.', prefix)
+ install_tree(".", prefix)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/meson.py b/lib/spack/spack/build_systems/meson.py
index 9e3bbf20c8..886a7bee50 100644
--- a/lib/spack/spack/build_systems/meson.py
+++ b/lib/spack/spack/build_systems/meson.py
@@ -42,31 +42,40 @@ class MesonPackage(PackageBase):
"""
+
#: Phases of a Meson package
- phases = ['meson', 'build', 'install']
+ phases = ["meson", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'MesonPackage'
+ build_system_class = "MesonPackage"
build_targets = [] # type: List[str]
- install_targets = ['install']
-
- build_time_test_callbacks = ['check']
-
- variant('buildtype', default='debugoptimized',
- description='Meson build type',
- values=('plain', 'debug', 'debugoptimized', 'release', 'minsize'))
- variant('default_library', default='shared', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
- variant('strip', default=False, description='Strip targets on install')
-
- depends_on('meson', type='build')
- depends_on('ninja', type='build')
+ install_targets = ["install"]
+
+ build_time_test_callbacks = ["check"]
+
+ variant(
+ "buildtype",
+ default="debugoptimized",
+ description="Meson build type",
+ values=("plain", "debug", "debugoptimized", "release", "minsize"),
+ )
+ variant(
+ "default_library",
+ default="shared",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+ variant("strip", default=False, description="Strip targets on install")
+
+ depends_on("meson", type="build")
+ depends_on("ninja", type="build")
@property
def archive_files(self):
"""Files to archive for packages based on Meson"""
- return [os.path.join(self.build_directory, 'meson-logs/meson-log.txt')]
+ return [os.path.join(self.build_directory, "meson-logs/meson-log.txt")]
@property
def root_mesonlists_dir(self):
@@ -88,7 +97,7 @@ class MesonPackage(PackageBase):
"""
# standard Meson arguments
std_meson_args = MesonPackage._std_args(self)
- std_meson_args += getattr(self, 'meson_flag_args', [])
+ std_meson_args += getattr(self, "meson_flag_args", [])
return std_meson_args
@staticmethod
@@ -96,29 +105,29 @@ class MesonPackage(PackageBase):
"""Computes the standard meson arguments for a generic package"""
try:
- build_type = pkg.spec.variants['buildtype'].value
+ build_type = pkg.spec.variants["buildtype"].value
except KeyError:
- build_type = 'release'
+ build_type = "release"
- strip = 'true' if '+strip' in pkg.spec else 'false'
+ strip = "true" if "+strip" in pkg.spec else "false"
- if 'default_library=static,shared' in pkg.spec:
- default_library = 'both'
- elif 'default_library=static' in pkg.spec:
- default_library = 'static'
+ if "default_library=static,shared" in pkg.spec:
+ default_library = "both"
+ elif "default_library=static" in pkg.spec:
+ default_library = "static"
else:
- default_library = 'shared'
+ default_library = "shared"
args = [
- '--prefix={0}'.format(pkg.prefix),
+ "--prefix={0}".format(pkg.prefix),
# If we do not specify libdir explicitly, Meson chooses something
# like lib/x86_64-linux-gnu, which causes problems when trying to
# find libraries and pkg-config files.
# See https://github.com/mesonbuild/meson/issues/2197
- '--libdir={0}'.format(pkg.prefix.lib),
- '-Dbuildtype={0}'.format(build_type),
- '-Dstrip={0}'.format(strip),
- '-Ddefault_library={0}'.format(default_library)
+ "--libdir={0}".format(pkg.prefix.lib),
+ "-Dbuildtype={0}".format(build_type),
+ "-Dstrip={0}".format(strip),
+ "-Ddefault_library={0}".format(default_library),
]
return args
@@ -127,7 +136,7 @@ class MesonPackage(PackageBase):
"""Produces a list of all command line arguments to pass the specified
compiler flags to meson."""
# Has to be dynamic attribute due to caching
- setattr(self, 'meson_flag_args', [])
+ setattr(self, "meson_flag_args", [])
@property
def build_directory(self):
@@ -135,7 +144,7 @@ class MesonPackage(PackageBase):
:return: directory where to build the package
"""
- return os.path.join(self.stage.source_path, 'spack-build')
+ return os.path.join(self.stage.source_path, "spack-build")
def meson_args(self):
"""Produces a list containing all the arguments that must be passed to
@@ -163,7 +172,7 @@ class MesonPackage(PackageBase):
def build(self, spec, prefix):
"""Make the build targets"""
- options = ['-v']
+ options = ["-v"]
options += self.build_targets
with working_dir(self.build_directory):
inspect.getmodule(self).ninja(*options)
@@ -173,15 +182,15 @@ class MesonPackage(PackageBase):
with working_dir(self.build_directory):
inspect.getmodule(self).ninja(*self.install_targets)
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def check(self):
"""Searches the Meson-generated file for the target ``test``
and runs it if found.
"""
with working_dir(self.build_directory):
- self._if_ninja_target_execute('test')
- self._if_ninja_target_execute('check')
+ self._if_ninja_target_execute("test")
+ self._if_ninja_target_execute("check")
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/octave.py b/lib/spack/spack/build_systems/octave.py
index 13dd864e3b..9916c319b0 100644
--- a/lib/spack/spack/build_systems/octave.py
+++ b/lib/spack/spack/build_systems/octave.py
@@ -19,32 +19,34 @@ class OctavePackage(PackageBase):
1. :py:meth:`~.OctavePackage.install`
"""
+
# Default phases
- phases = ['install']
+ phases = ["install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'OctavePackage'
+ build_system_class = "OctavePackage"
- extends('octave')
+ extends("octave")
def setup_build_environment(self, env):
# octave does not like those environment variables to be set:
- env.unset('CC')
- env.unset('CXX')
- env.unset('FC')
+ env.unset("CC")
+ env.unset("CXX")
+ env.unset("FC")
def install(self, spec, prefix):
"""Install the package from the archive file"""
inspect.getmodule(self).octave(
- '--quiet',
- '--norc',
- '--built-in-docstrings-file=/dev/null',
- '--texi-macros-file=/dev/null',
- '--eval', 'pkg prefix %s; pkg install %s' %
- (prefix, self.stage.archive_file))
+ "--quiet",
+ "--norc",
+ "--built-in-docstrings-file=/dev/null",
+ "--texi-macros-file=/dev/null",
+ "--eval",
+ "pkg prefix %s; pkg install %s" % (prefix, self.stage.archive_file),
+ )
# Testing
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/oneapi.py b/lib/spack/spack/build_systems/oneapi.py
index c0da2fdb53..669c66fe8f 100644
--- a/lib/spack/spack/build_systems/oneapi.py
+++ b/lib/spack/spack/build_systems/oneapi.py
@@ -22,9 +22,9 @@ from spack.util.executable import Executable
class IntelOneApiPackage(Package):
"""Base class for Intel oneAPI packages."""
- homepage = 'https://software.intel.com/oneapi'
+ homepage = "https://software.intel.com/oneapi"
- phases = ['install']
+ phases = ["install"]
# oneAPI license does not allow mirroring outside of the
# organization (e.g. University/Company).
@@ -55,7 +55,7 @@ class IntelOneApiPackage(Package):
def install_component(self, installer_path):
"""Shared install method for all oneapi packages."""
- if platform.system() == 'Linux':
+ if platform.system() == "Linux":
# Intel installer assumes and enforces that all components
# are installed into a single prefix. Spack wants to
# install each component in a separate prefix. The
@@ -69,28 +69,35 @@ class IntelOneApiPackage(Package):
# with other install depends on the userid. For root, we
# delete the installercache before and after install. For
# non root we redefine the HOME environment variable.
- if getpass.getuser() == 'root':
- shutil.rmtree('/var/intel/installercache', ignore_errors=True)
+ if getpass.getuser() == "root":
+ shutil.rmtree("/var/intel/installercache", ignore_errors=True)
- bash = Executable('bash')
+ bash = Executable("bash")
# Installer writes files in ~/intel set HOME so it goes to prefix
- bash.add_default_env('HOME', self.prefix)
+ bash.add_default_env("HOME", self.prefix)
# Installer checks $XDG_RUNTIME_DIR/.bootstrapper_lock_file as well
- bash.add_default_env('XDG_RUNTIME_DIR',
- join_path(self.stage.path, 'runtime'))
-
- bash(installer_path,
- '-s', '-a', '-s', '--action', 'install',
- '--eula', 'accept',
- '--install-dir', self.prefix)
-
- if getpass.getuser() == 'root':
- shutil.rmtree('/var/intel/installercache', ignore_errors=True)
+ bash.add_default_env("XDG_RUNTIME_DIR", join_path(self.stage.path, "runtime"))
+
+ bash(
+ installer_path,
+ "-s",
+ "-a",
+ "-s",
+ "--action",
+ "install",
+ "--eula",
+ "accept",
+ "--install-dir",
+ self.prefix,
+ )
+
+ if getpass.getuser() == "root":
+ shutil.rmtree("/var/intel/installercache", ignore_errors=True)
# Some installers have a bug and do not return an error code when failing
if not isdir(join_path(self.prefix, self.component_dir)):
- raise RuntimeError('install failed')
+ raise RuntimeError("install failed")
def setup_run_environment(self, env):
"""Adds environment variables to the generated module file.
@@ -101,8 +108,11 @@ class IntelOneApiPackage(Package):
$ source {prefix}/{component}/{version}/env/vars.sh
"""
- env.extend(EnvironmentModifications.from_sourcing_file(
- join_path(self.component_prefix, 'env', 'vars.sh')))
+ env.extend(
+ EnvironmentModifications.from_sourcing_file(
+ join_path(self.component_prefix, "env", "vars.sh")
+ )
+ )
class IntelOneApiLibraryPackage(IntelOneApiPackage):
@@ -116,14 +126,14 @@ class IntelOneApiLibraryPackage(IntelOneApiPackage):
@property
def headers(self):
- include_path = join_path(self.component_prefix, 'include')
- return find_headers('*', include_path, recursive=True)
+ include_path = join_path(self.component_prefix, "include")
+ return find_headers("*", include_path, recursive=True)
@property
def libs(self):
- lib_path = join_path(self.component_prefix, 'lib', 'intel64')
+ lib_path = join_path(self.component_prefix, "lib", "intel64")
lib_path = lib_path if isdir(lib_path) else dirname(lib_path)
- return find_libraries('*', root=lib_path, shared=True, recursive=True)
+ return find_libraries("*", root=lib_path, shared=True, recursive=True)
class IntelOneApiStaticLibraryList(object):
@@ -151,9 +161,10 @@ class IntelOneApiStaticLibraryList(object):
@property
def link_flags(self):
- return '-Wl,--start-group {0} -Wl,--end-group {1}'.format(
- ' '.join(self.static_libs.libraries), self.dynamic_libs.link_flags)
+ return "-Wl,--start-group {0} -Wl,--end-group {1}".format(
+ " ".join(self.static_libs.libraries), self.dynamic_libs.link_flags
+ )
@property
def ld_flags(self):
- return '{0} {1}'.format(self.search_flags, self.link_flags)
+ return "{0} {1}".format(self.search_flags, self.link_flags)
diff --git a/lib/spack/spack/build_systems/perl.py b/lib/spack/spack/build_systems/perl.py
index 60530abd05..1f354beece 100644
--- a/lib/spack/spack/build_systems/perl.py
+++ b/lib/spack/spack/build_systems/perl.py
@@ -34,17 +34,18 @@ class PerlPackage(PackageBase):
:py:meth:`~.PerlPackage.configure`.
Arguments should not include the installation base directory.
"""
+
#: Phases of a Perl package
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'PerlPackage'
+ build_system_class = "PerlPackage"
#: Callback names for build-time test
- build_time_test_callbacks = ['check']
+ build_time_test_callbacks = ["check"]
- extends('perl')
+ extends("perl")
def configure_args(self):
"""Produces a list containing the arguments that must be passed to
@@ -62,20 +63,19 @@ class PerlPackage(PackageBase):
:raise RuntimeError: if neither Makefile.PL or Build.PL exist
"""
- if os.path.isfile('Makefile.PL'):
- self.build_method = 'Makefile.PL'
+ if os.path.isfile("Makefile.PL"):
+ self.build_method = "Makefile.PL"
self.build_executable = inspect.getmodule(self).make
- elif os.path.isfile('Build.PL'):
- self.build_method = 'Build.PL'
- self.build_executable = Executable(
- os.path.join(self.stage.source_path, 'Build'))
+ elif os.path.isfile("Build.PL"):
+ self.build_method = "Build.PL"
+ self.build_executable = Executable(os.path.join(self.stage.source_path, "Build"))
else:
- raise RuntimeError('Unknown build_method for perl package')
+ raise RuntimeError("Unknown build_method for perl package")
- if self.build_method == 'Makefile.PL':
- options = ['Makefile.PL', 'INSTALL_BASE={0}'.format(prefix)]
- elif self.build_method == 'Build.PL':
- options = ['Build.PL', '--install_base', prefix]
+ if self.build_method == "Makefile.PL":
+ options = ["Makefile.PL", "INSTALL_BASE={0}".format(prefix)]
+ elif self.build_method == "Build.PL":
+ options = ["Build.PL", "--install_base", prefix]
options += self.configure_args()
inspect.getmodule(self).perl(*options)
@@ -84,27 +84,27 @@ class PerlPackage(PackageBase):
# Build.PL may be too long causing the build to fail. Patching the shebang
# does not happen until after install so set '/usr/bin/env perl' here in
# the Build script.
- @run_after('configure')
+ @run_after("configure")
def fix_shebang(self):
- if self.build_method == 'Build.PL':
- pattern = '#!{0}'.format(self.spec['perl'].command.path)
- repl = '#!/usr/bin/env perl'
- filter_file(pattern, repl, 'Build', backup=False)
+ if self.build_method == "Build.PL":
+ pattern = "#!{0}".format(self.spec["perl"].command.path)
+ repl = "#!/usr/bin/env perl"
+ filter_file(pattern, repl, "Build", backup=False)
def build(self, spec, prefix):
"""Builds a Perl package."""
self.build_executable()
# Ensure that tests run after build (if requested):
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def check(self):
"""Runs built-in tests of a Perl package."""
- self.build_executable('test')
+ self.build_executable("test")
def install(self, spec, prefix):
"""Installs a Perl package."""
- self.build_executable('install')
+ self.build_executable("install")
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/python.py b/lib/spack/spack/build_systems/python.py
index 4e109b628d..1a69d79f40 100644
--- a/lib/spack/spack/build_systems/python.py
+++ b/lib/spack/spack/build_systems/python.py
@@ -28,27 +28,28 @@ from spack.package_base import PackageBase, run_after
class PythonPackage(PackageBase):
"""Specialized class for packages that are built using pip."""
+
#: Package name, version, and extension on PyPI
pypi = None # type: Optional[str]
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
# Default phases
- phases = ['install']
+ phases = ["install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'PythonPackage'
+ build_system_class = "PythonPackage"
#: Callback names for install-time test
- install_time_test_callbacks = ['test']
+ install_time_test_callbacks = ["test"]
- extends('python')
- depends_on('py-pip', type='build')
+ extends("python")
+ depends_on("py-pip", type="build")
# FIXME: technically wheel is only needed when building from source, not when
# installing a downloaded wheel, but I don't want to add wheel as a dep to every
# package manually
- depends_on('py-wheel', type='build')
+ depends_on("py-wheel", type="build")
py_namespace = None # type: Optional[str]
@@ -56,43 +57,43 @@ class PythonPackage(PackageBase):
def _std_args(cls):
return [
# Verbose
- '-vvv',
+ "-vvv",
# Disable prompting for input
- '--no-input',
+ "--no-input",
# Disable the cache
- '--no-cache-dir',
+ "--no-cache-dir",
# Don't check to see if pip is up-to-date
- '--disable-pip-version-check',
+ "--disable-pip-version-check",
# Install packages
- 'install',
+ "install",
# Don't install package dependencies
- '--no-deps',
+ "--no-deps",
# Overwrite existing packages
- '--ignore-installed',
+ "--ignore-installed",
# Use env vars like PYTHONPATH
- '--no-build-isolation',
+ "--no-build-isolation",
# Don't warn that prefix.bin is not in PATH
- '--no-warn-script-location',
+ "--no-warn-script-location",
# Ignore the PyPI package index
- '--no-index',
+ "--no-index",
]
@classproperty
def homepage(cls):
if cls.pypi:
- name = cls.pypi.split('/')[0]
- return 'https://pypi.org/project/' + name + '/'
+ name = cls.pypi.split("/")[0]
+ return "https://pypi.org/project/" + name + "/"
@classproperty
def url(cls):
if cls.pypi:
- return 'https://files.pythonhosted.org/packages/source/' + cls.pypi[0] + '/' + cls.pypi
+ return "https://files.pythonhosted.org/packages/source/" + cls.pypi[0] + "/" + cls.pypi
@classproperty
def list_url(cls):
if cls.pypi:
- name = cls.pypi.split('/')[0]
- return 'https://pypi.org/simple/' + name + '/'
+ name = cls.pypi.split("/")[0]
+ return "https://pypi.org/simple/" + name + "/"
@property
def import_modules(self):
@@ -113,7 +114,7 @@ class PythonPackage(PackageBase):
list: list of strings of module names
"""
modules = []
- pkg = self.spec['python'].package
+ pkg = self.spec["python"].package
# Packages may be installed in platform-specific or platform-independent
# site-packages directories
@@ -122,19 +123,23 @@ class PythonPackage(PackageBase):
# Some Python libraries are packages: collections of modules
# distributed in directories containing __init__.py files
- for path in find(root, '__init__.py', recursive=True):
- modules.append(path.replace(root + os.sep, '', 1).replace(
- os.sep + '__init__.py', '').replace('/', '.'))
+ for path in find(root, "__init__.py", recursive=True):
+ modules.append(
+ path.replace(root + os.sep, "", 1)
+ .replace(os.sep + "__init__.py", "")
+ .replace("/", ".")
+ )
# Some Python libraries are modules: individual *.py files
# found in the site-packages directory
- for path in find(root, '*.py', recursive=False):
- modules.append(path.replace(root + os.sep, '', 1).replace(
- '.py', '').replace('/', '.'))
+ for path in find(root, "*.py", recursive=False):
+ modules.append(
+ path.replace(root + os.sep, "", 1).replace(".py", "").replace("/", ".")
+ )
- modules = [mod for mod in modules if re.match('[a-zA-Z0-9._]+$', mod)]
+ modules = [mod for mod in modules if re.match("[a-zA-Z0-9._]+$", mod)]
- tty.debug('Detected the following modules: {0}'.format(modules))
+ tty.debug("Detected the following modules: {0}".format(modules))
return modules
@@ -162,17 +167,17 @@ class PythonPackage(PackageBase):
def install(self, spec, prefix):
"""Install everything from build directory."""
- args = PythonPackage._std_args(self) + ['--prefix=' + prefix]
+ args = PythonPackage._std_args(self) + ["--prefix=" + prefix]
for option in self.install_options(spec, prefix):
- args.append('--install-option=' + option)
+ args.append("--install-option=" + option)
for option in self.global_options(spec, prefix):
- args.append('--global-option=' + option)
+ args.append("--global-option=" + option)
- if self.stage.archive_file and self.stage.archive_file.endswith('.whl'):
+ if self.stage.archive_file and self.stage.archive_file.endswith(".whl"):
args.append(self.stage.archive_file)
else:
- args.append('.')
+ args.append(".")
pip = inspect.getmodule(self).pip
with working_dir(self.build_directory):
@@ -190,7 +195,7 @@ class PythonPackage(PackageBase):
if headers:
return headers
- msg = 'Unable to locate {} headers in {} or {}'
+ msg = "Unable to locate {} headers in {} or {}"
raise NoHeadersError(msg.format(self.spec.name, include, platlib))
@property
@@ -198,7 +203,7 @@ class PythonPackage(PackageBase):
"""Discover libraries in platlib."""
# Remove py- prefix in package name
- library = 'lib' + self.spec.name[3:].replace('-', '?')
+ library = "lib" + self.spec.name[3:].replace("-", "?")
root = inspect.getmodule(self).platlib
for shared in [True, False]:
@@ -206,7 +211,7 @@ class PythonPackage(PackageBase):
if libs:
return libs
- msg = 'Unable to recursively locate {} libraries in {}'
+ msg = "Unable to recursively locate {} libraries in {}"
raise NoLibrariesError(msg.format(self.spec.name, root))
# Testing
@@ -217,34 +222,32 @@ class PythonPackage(PackageBase):
# Make sure we are importing the installed modules,
# not the ones in the source directory
for module in self.import_modules:
- self.run_test(inspect.getmodule(self).python.path,
- ['-c', 'import {0}'.format(module)],
- purpose='checking import of {0}'.format(module),
- work_dir='spack-test')
+ self.run_test(
+ inspect.getmodule(self).python.path,
+ ["-c", "import {0}".format(module)],
+ purpose="checking import of {0}".format(module),
+ work_dir="spack-test",
+ )
- run_after('install')(PackageBase._run_default_install_time_test_callbacks)
+ run_after("install")(PackageBase._run_default_install_time_test_callbacks)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
def view_file_conflicts(self, view, merge_map):
"""Report all file conflicts, excepting special cases for python.
- Specifically, this does not report errors for duplicate
- __init__.py files for packages in the same namespace.
+ Specifically, this does not report errors for duplicate
+ __init__.py files for packages in the same namespace.
"""
- conflicts = list(dst for src, dst in merge_map.items()
- if os.path.exists(dst))
+ conflicts = list(dst for src, dst in merge_map.items() if os.path.exists(dst))
if conflicts and self.py_namespace:
ext_map = view.extensions_layout.extension_map(self.extendee_spec)
- namespaces = set(
- x.package.py_namespace for x in ext_map.values())
- namespace_re = (
- r'site-packages/{0}/__init__.py'.format(self.py_namespace))
+ namespaces = set(x.package.py_namespace for x in ext_map.values())
+ namespace_re = r"site-packages/{0}/__init__.py".format(self.py_namespace)
find_namespace = match_predicate(namespace_re)
if self.py_namespace in namespaces:
- conflicts = list(
- x for x in conflicts if not find_namespace(x))
+ conflicts = list(x for x in conflicts if not find_namespace(x))
return conflicts
@@ -252,9 +255,7 @@ class PythonPackage(PackageBase):
bin_dir = self.spec.prefix.bin
python_prefix = self.extendee_spec.prefix
python_is_external = self.extendee_spec.external
- global_view = same_path(python_prefix, view.get_projection_for_spec(
- self.spec
- ))
+ global_view = same_path(python_prefix, view.get_projection_for_spec(self.spec))
for src, dst in merge_map.items():
if os.path.exists(dst):
continue
@@ -265,8 +266,9 @@ class PythonPackage(PackageBase):
is_script = is_nonsymlink_exe_with_shebang(src)
if is_script and not python_is_external:
filter_file(
- python_prefix, os.path.abspath(
- view.get_projection_for_spec(self.spec)), dst
+ python_prefix,
+ os.path.abspath(view.get_projection_for_spec(self.spec)),
+ dst,
)
else:
orig_link_target = os.path.realpath(src)
@@ -278,19 +280,16 @@ class PythonPackage(PackageBase):
if self.py_namespace:
ext_map = view.extensions_layout.extension_map(self.extendee_spec)
remaining_namespaces = set(
- spec.package.py_namespace for name, spec in ext_map.items()
- if name != self.name)
+ spec.package.py_namespace for name, spec in ext_map.items() if name != self.name
+ )
if self.py_namespace in remaining_namespaces:
namespace_init = match_predicate(
- r'site-packages/{0}/__init__.py'.format(self.py_namespace))
+ r"site-packages/{0}/__init__.py".format(self.py_namespace)
+ )
ignore_namespace = True
bin_dir = self.spec.prefix.bin
- global_view = (
- self.extendee_spec.prefix == view.get_projection_for_spec(
- self.spec
- )
- )
+ global_view = self.extendee_spec.prefix == view.get_projection_for_spec(self.spec)
to_remove = []
for src, dst in merge_map.items():
diff --git a/lib/spack/spack/build_systems/qmake.py b/lib/spack/spack/build_systems/qmake.py
index b2330ce963..c2af684592 100644
--- a/lib/spack/spack/build_systems/qmake.py
+++ b/lib/spack/spack/build_systems/qmake.py
@@ -27,17 +27,18 @@ class QMakePackage(PackageBase):
They all have sensible defaults and for many packages the only thing
necessary will be to override :py:meth:`~.QMakePackage.qmake_args`.
"""
+
#: Phases of a qmake package
- phases = ['qmake', 'build', 'install']
+ phases = ["qmake", "build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'QMakePackage'
+ build_system_class = "QMakePackage"
#: Callback names for build-time test
- build_time_test_callbacks = ['check']
+ build_time_test_callbacks = ["check"]
- depends_on('qt', type='build')
+ depends_on("qt", type="build")
@property
def build_directory(self):
@@ -66,18 +67,17 @@ class QMakePackage(PackageBase):
"""Make the install targets"""
with working_dir(self.build_directory):
- inspect.getmodule(self).make('install')
+ inspect.getmodule(self).make("install")
# Tests
def check(self):
- """Searches the Makefile for a ``check:`` target and runs it if found.
- """
+ """Searches the Makefile for a ``check:`` target and runs it if found."""
with working_dir(self.build_directory):
- self._if_make_target_execute('check')
+ self._if_make_target_execute("check")
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/r.py b/lib/spack/spack/build_systems/r.py
index 9a94152b82..450cae733b 100644
--- a/lib/spack/spack/build_systems/r.py
+++ b/lib/spack/spack/build_systems/r.py
@@ -24,7 +24,8 @@ class RPackage(PackageBase):
It has sensible defaults, and for many packages the only thing
necessary will be to add dependencies
"""
- phases = ['install']
+
+ phases = ["install"]
# package attributes that can be expanded to set the homepage, url,
# list_url, and git values
@@ -34,41 +35,41 @@ class RPackage(PackageBase):
# For Bioconductor packages
bioc = None # type: Optional[str]
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'RPackage'
+ build_system_class = "RPackage"
- extends('r')
+ extends("r")
@lang.classproperty
def homepage(cls):
if cls.cran:
- return 'https://cloud.r-project.org/package=' + cls.cran
+ return "https://cloud.r-project.org/package=" + cls.cran
elif cls.bioc:
- return 'https://bioconductor.org/packages/' + cls.bioc
+ return "https://bioconductor.org/packages/" + cls.bioc
@lang.classproperty
def url(cls):
if cls.cran:
return (
- 'https://cloud.r-project.org/src/contrib/'
- + cls.cran + '_' + str(list(cls.versions)[0]) + '.tar.gz'
+ "https://cloud.r-project.org/src/contrib/"
+ + cls.cran
+ + "_"
+ + str(list(cls.versions)[0])
+ + ".tar.gz"
)
@lang.classproperty
def list_url(cls):
if cls.cran:
- return (
- 'https://cloud.r-project.org/src/contrib/Archive/'
- + cls.cran + '/'
- )
+ return "https://cloud.r-project.org/src/contrib/Archive/" + cls.cran + "/"
@property
def git(self):
if self.bioc:
- return 'https://git.bioconductor.org/packages/' + self.bioc
+ return "https://git.bioconductor.org/packages/" + self.bioc
def configure_args(self):
"""Arguments to pass to install via ``--configure-args``."""
@@ -84,24 +85,17 @@ class RPackage(PackageBase):
config_args = self.configure_args()
config_vars = self.configure_vars()
- args = [
- '--vanilla',
- 'CMD',
- 'INSTALL'
- ]
+ args = ["--vanilla", "CMD", "INSTALL"]
if config_args:
- args.append('--configure-args={0}'.format(' '.join(config_args)))
+ args.append("--configure-args={0}".format(" ".join(config_args)))
if config_vars:
- args.append('--configure-vars={0}'.format(' '.join(config_vars)))
+ args.append("--configure-vars={0}".format(" ".join(config_vars)))
- args.extend([
- '--library={0}'.format(self.module.r_lib_dir),
- self.stage.source_path
- ])
+ args.extend(["--library={0}".format(self.module.r_lib_dir), self.stage.source_path])
inspect.getmodule(self).R(*args)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/racket.py b/lib/spack/spack/build_systems/racket.py
index b2419f04e6..c6984f1d9a 100644
--- a/lib/spack/spack/build_systems/racket.py
+++ b/lib/spack/spack/build_systems/racket.py
@@ -25,17 +25,18 @@ class RacketPackage(PackageBase):
* install
* setup
"""
+
#: Package name, version, and extension on PyPI
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
# Default phases
- phases = ['install']
+ phases = ["install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'RacketPackage'
+ build_system_class = "RacketPackage"
- extends('racket')
+ extends("racket")
pkgs = False
subdirectory = None # type: Optional[str]
@@ -45,7 +46,7 @@ class RacketPackage(PackageBase):
@lang.classproperty
def homepage(cls):
if cls.pkgs:
- return 'https://pkgs.racket-lang.org/package/{0}'.format(cls.name)
+ return "https://pkgs.racket-lang.org/package/{0}".format(cls.name)
@property
def build_directory(self):
@@ -59,14 +60,31 @@ class RacketPackage(PackageBase):
raco = Executable("raco")
with working_dir(self.build_directory):
allow_parallel = self.parallel and (not env_flag(SPACK_NO_PARALLEL_MAKE))
- args = ['pkg', 'install', '-t', 'dir', '-n', self.name, '--deps', 'fail',
- '--ignore-implies', '--copy', '-i', '-j',
- str(determine_number_of_jobs(allow_parallel)),
- '--', os.getcwd()]
+ args = [
+ "pkg",
+ "install",
+ "-t",
+ "dir",
+ "-n",
+ self.name,
+ "--deps",
+ "fail",
+ "--ignore-implies",
+ "--copy",
+ "-i",
+ "-j",
+ str(determine_number_of_jobs(allow_parallel)),
+ "--",
+ os.getcwd(),
+ ]
try:
raco(*args)
except ProcessError:
args.insert(-2, "--skip-installed")
raco(*args)
- tty.warn(("Racket package {0} was already installed, uninstalling via "
- "Spack may make someone unhappy!").format(self.name))
+ tty.warn(
+ (
+ "Racket package {0} was already installed, uninstalling via "
+ "Spack may make someone unhappy!"
+ ).format(self.name)
+ )
diff --git a/lib/spack/spack/build_systems/rocm.py b/lib/spack/spack/build_systems/rocm.py
index 3f8f31cfc8..1ece110636 100644
--- a/lib/spack/spack/build_systems/rocm.py
+++ b/lib/spack/spack/build_systems/rocm.py
@@ -90,28 +90,44 @@ class ROCmPackage(PackageBase):
# https://llvm.org/docs/AMDGPUUsage.html
# Possible architectures
amdgpu_targets = (
- 'gfx701', 'gfx801', 'gfx802', 'gfx803', 'gfx900', 'gfx900:xnack-',
- 'gfx906', 'gfx908', 'gfx90a',
- 'gfx906:xnack-', 'gfx908:xnack-', 'gfx90a:xnack-', 'gfx90a:xnack+',
- 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030', 'gfx1031',
+ "gfx701",
+ "gfx801",
+ "gfx802",
+ "gfx803",
+ "gfx900",
+ "gfx900:xnack-",
+ "gfx906",
+ "gfx908",
+ "gfx90a",
+ "gfx906:xnack-",
+ "gfx908:xnack-",
+ "gfx90a:xnack-",
+ "gfx90a:xnack+",
+ "gfx1010",
+ "gfx1011",
+ "gfx1012",
+ "gfx1030",
+ "gfx1031",
)
- variant('rocm', default=False, description='Enable ROCm support')
+ variant("rocm", default=False, description="Enable ROCm support")
# possible amd gpu targets for rocm builds
- variant('amdgpu_target',
- description='AMD GPU architecture',
- values=spack.variant.any_combination_of(*amdgpu_targets),
- when='+rocm')
+ variant(
+ "amdgpu_target",
+ description="AMD GPU architecture",
+ values=spack.variant.any_combination_of(*amdgpu_targets),
+ when="+rocm",
+ )
- depends_on('llvm-amdgpu', when='+rocm')
- depends_on('hsa-rocr-dev', when='+rocm')
- depends_on('hip', when='+rocm')
+ depends_on("llvm-amdgpu", when="+rocm")
+ depends_on("hsa-rocr-dev", when="+rocm")
+ depends_on("hip", when="+rocm")
- conflicts('^blt@:0.3.6', when='+rocm')
+ conflicts("^blt@:0.3.6", when="+rocm")
# need amd gpu type for rocm builds
- conflicts('amdgpu_target=none', when='+rocm')
+ conflicts("amdgpu_target=none", when="+rocm")
# https://github.com/ROCm-Developer-Tools/HIP/blob/master/bin/hipcc
# It seems that hip-clang does not (yet?) accept this flag, in which case
@@ -120,7 +136,7 @@ class ROCmPackage(PackageBase):
@staticmethod
def hip_flags(amdgpu_target):
archs = ",".join(amdgpu_target)
- return '--amdgpu-target={0}'.format(archs)
+ return "--amdgpu-target={0}".format(archs)
# HIP version vs Architecture
diff --git a/lib/spack/spack/build_systems/ruby.py b/lib/spack/spack/build_systems/ruby.py
index cec1116477..fcc071f19e 100644
--- a/lib/spack/spack/build_systems/ruby.py
+++ b/lib/spack/spack/build_systems/ruby.py
@@ -19,29 +19,29 @@ class RubyPackage(PackageBase):
#. :py:meth:`~.RubyPackage.install`
"""
- maintainers = ['Kerilk']
+ maintainers = ["Kerilk"]
#: Phases of a Ruby package
- phases = ['build', 'install']
+ phases = ["build", "install"]
#: This attribute is used in UI queries that need to know the build
#: system base class
- build_system_class = 'RubyPackage'
+ build_system_class = "RubyPackage"
- extends('ruby')
+ extends("ruby")
def build(self, spec, prefix):
"""Build a Ruby gem."""
# ruby-rake provides both rake.gemspec and Rakefile, but only
# rake.gemspec can be built without an existing rake installation
- gemspecs = glob.glob('*.gemspec')
- rakefiles = glob.glob('Rakefile')
+ gemspecs = glob.glob("*.gemspec")
+ rakefiles = glob.glob("Rakefile")
if gemspecs:
- inspect.getmodule(self).gem('build', '--norc', gemspecs[0])
+ inspect.getmodule(self).gem("build", "--norc", gemspecs[0])
elif rakefiles:
jobs = inspect.getmodule(self).make_jobs
- inspect.getmodule(self).rake('package', '-j{0}'.format(jobs))
+ inspect.getmodule(self).rake("package", "-j{0}".format(jobs))
else:
# Some Ruby packages only ship `*.gem` files, so nothing to build
pass
@@ -51,14 +51,14 @@ class RubyPackage(PackageBase):
The ruby package sets ``GEM_HOME`` to tell gem where to install to."""
- gems = glob.glob('*.gem')
+ gems = glob.glob("*.gem")
if gems:
# if --install-dir is not used, GEM_PATH is deleted from the
# environement, and Gems required to build native extensions will
# not be found. Those extensions are built during `gem install`.
inspect.getmodule(self).gem(
- 'install', '--norc', '--ignore-dependencies',
- '--install-dir', prefix, gems[0])
+ "install", "--norc", "--ignore-dependencies", "--install-dir", prefix, gems[0]
+ )
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/scons.py b/lib/spack/spack/build_systems/scons.py
index 55ae072085..5470091121 100644
--- a/lib/spack/spack/build_systems/scons.py
+++ b/lib/spack/spack/build_systems/scons.py
@@ -25,17 +25,18 @@ class SConsPackage(PackageBase):
variables that control the build. You will likely need to override
:py:meth:`~.SConsPackage.build_args` to pass the appropriate variables.
"""
+
#: Phases of a SCons package
- phases = ['build', 'install']
+ phases = ["build", "install"]
#: To be used in UI queries that require to know which
#: build-system class we are using
- build_system_class = 'SConsPackage'
+ build_system_class = "SConsPackage"
#: Callback names for build-time test
- build_time_test_callbacks = ['build_test']
+ build_time_test_callbacks = ["build_test"]
- depends_on('scons', type='build')
+ depends_on("scons", type="build")
def build_args(self, spec, prefix):
"""Arguments to pass to build."""
@@ -55,7 +56,7 @@ class SConsPackage(PackageBase):
"""Install the package."""
args = self.install_args(spec, prefix)
- inspect.getmodule(self).scons('install', *args)
+ inspect.getmodule(self).scons("install", *args)
# Testing
@@ -67,7 +68,7 @@ class SConsPackage(PackageBase):
"""
pass
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/sip.py b/lib/spack/spack/build_systems/sip.py
index bb039b2600..4d16f6731e 100644
--- a/lib/spack/spack/build_systems/sip.py
+++ b/lib/spack/spack/build_systems/sip.py
@@ -28,23 +28,24 @@ class SIPPackage(PackageBase):
The configure phase already adds a set of default flags. To see more
options, run ``python configure.py --help``.
"""
+
# Default phases
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'SIPPackage'
+ build_system_class = "SIPPackage"
#: Name of private sip module to install alongside package
- sip_module = 'sip'
+ sip_module = "sip"
#: Callback names for install-time test
- install_time_test_callbacks = ['test']
+ install_time_test_callbacks = ["test"]
- extends('python')
+ extends("python")
- depends_on('qt')
- depends_on('py-sip')
+ depends_on("qt")
+ depends_on("py-sip")
@property
def import_modules(self):
@@ -67,24 +68,26 @@ class SIPPackage(PackageBase):
modules = []
root = os.path.join(
self.prefix,
- self.spec['python'].package.platlib,
+ self.spec["python"].package.platlib,
)
# Some Python libraries are packages: collections of modules
# distributed in directories containing __init__.py files
- for path in find(root, '__init__.py', recursive=True):
- modules.append(path.replace(root + os.sep, '', 1).replace(
- os.sep + '__init__.py', '').replace('/', '.'))
+ for path in find(root, "__init__.py", recursive=True):
+ modules.append(
+ path.replace(root + os.sep, "", 1)
+ .replace(os.sep + "__init__.py", "")
+ .replace("/", ".")
+ )
# Some Python libraries are modules: individual *.py files
# found in the site-packages directory
- for path in find(root, '*.py', recursive=False):
- modules.append(path.replace(root + os.sep, '', 1).replace(
- '.py', '').replace('/', '.'))
+ for path in find(root, "*.py", recursive=False):
+ modules.append(path.replace(root + os.sep, "", 1).replace(".py", "").replace("/", "."))
- modules = [mod for mod in modules if re.match('[a-zA-Z0-9._]+$', mod)]
+ modules = [mod for mod in modules if re.match("[a-zA-Z0-9._]+$", mod)]
- tty.debug('Detected the following modules: {0}'.format(modules))
+ tty.debug("Detected the following modules: {0}".format(modules))
return modules
@@ -94,7 +97,7 @@ class SIPPackage(PackageBase):
def configure_file(self):
"""Returns the name of the configure file to use."""
- return 'configure.py'
+ return "configure.py"
def configure(self, spec, prefix):
"""Configure the package."""
@@ -102,16 +105,22 @@ class SIPPackage(PackageBase):
args = self.configure_args()
- args.extend([
- '--verbose',
- '--confirm-license',
- '--qmake', spec['qt'].prefix.bin.qmake,
- '--sip', spec['py-sip'].prefix.bin.sip,
- '--sip-incdir', join_path(spec['py-sip'].prefix,
- spec['python'].package.include),
- '--bindir', prefix.bin,
- '--destdir', inspect.getmodule(self).python_platlib,
- ])
+ args.extend(
+ [
+ "--verbose",
+ "--confirm-license",
+ "--qmake",
+ spec["qt"].prefix.bin.qmake,
+ "--sip",
+ spec["py-sip"].prefix.bin.sip,
+ "--sip-incdir",
+ join_path(spec["py-sip"].prefix, spec["python"].package.include),
+ "--bindir",
+ prefix.bin,
+ "--destdir",
+ inspect.getmodule(self).python_platlib,
+ ]
+ )
self.python(configure, *args)
@@ -133,7 +142,7 @@ class SIPPackage(PackageBase):
"""Install the package."""
args = self.install_args()
- inspect.getmodule(self).make('install', parallel=False, *args)
+ inspect.getmodule(self).make("install", parallel=False, *args)
def install_args(self):
"""Arguments to pass to install."""
@@ -147,23 +156,25 @@ class SIPPackage(PackageBase):
# Make sure we are importing the installed modules,
# not the ones in the source directory
for module in self.import_modules:
- self.run_test(inspect.getmodule(self).python.path,
- ['-c', 'import {0}'.format(module)],
- purpose='checking import of {0}'.format(module),
- work_dir='spack-test')
+ self.run_test(
+ inspect.getmodule(self).python.path,
+ ["-c", "import {0}".format(module)],
+ purpose="checking import of {0}".format(module),
+ work_dir="spack-test",
+ )
- run_after('install')(PackageBase._run_default_install_time_test_callbacks)
+ run_after("install")(PackageBase._run_default_install_time_test_callbacks)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
- @run_after('install')
+ @run_after("install")
def extend_path_setup(self):
# See github issue #14121 and PR #15297
- module = self.spec['py-sip'].variants['module'].value
- if module != 'sip':
- module = module.split('.')[0]
+ module = self.spec["py-sip"].variants["module"].value
+ if module != "sip":
+ module = module.split(".")[0]
with working_dir(inspect.getmodule(self).python_platlib):
- with open(os.path.join(module, '__init__.py'), 'a') as f:
- f.write('from pkgutil import extend_path\n')
- f.write('__path__ = extend_path(__path__, __name__)\n')
+ with open(os.path.join(module, "__init__.py"), "a") as f:
+ f.write("from pkgutil import extend_path\n")
+ f.write("__path__ = extend_path(__path__, __name__)\n")
diff --git a/lib/spack/spack/build_systems/sourceforge.py b/lib/spack/spack/build_systems/sourceforge.py
index 38032f6b1b..d0107d6d2b 100644
--- a/lib/spack/spack/build_systems/sourceforge.py
+++ b/lib/spack/spack/build_systems/sourceforge.py
@@ -11,32 +11,31 @@ import spack.util.url
class SourceforgePackage(spack.package_base.PackageBase):
"""Mixin that takes care of setting url and mirrors for Sourceforge
- packages."""
+ packages."""
+
#: Path of the package in a Sourceforge mirror
sourceforge_mirror_path = None # type: Optional[str]
#: List of Sourceforge mirrors used by Spack
base_mirrors = [
- 'https://prdownloads.sourceforge.net/',
- 'https://freefr.dl.sourceforge.net/',
- 'https://netcologne.dl.sourceforge.net/',
- 'https://pilotfiber.dl.sourceforge.net/',
- 'https://downloads.sourceforge.net/',
- 'http://kent.dl.sourceforge.net/sourceforge/'
+ "https://prdownloads.sourceforge.net/",
+ "https://freefr.dl.sourceforge.net/",
+ "https://netcologne.dl.sourceforge.net/",
+ "https://pilotfiber.dl.sourceforge.net/",
+ "https://downloads.sourceforge.net/",
+ "http://kent.dl.sourceforge.net/sourceforge/",
]
@property
def urls(self):
self._ensure_sourceforge_mirror_path_is_set_or_raise()
return [
- spack.util.url.join(m, self.sourceforge_mirror_path,
- resolve_href=True)
+ spack.util.url.join(m, self.sourceforge_mirror_path, resolve_href=True)
for m in self.base_mirrors
]
def _ensure_sourceforge_mirror_path_is_set_or_raise(self):
if self.sourceforge_mirror_path is None:
cls_name = type(self).__name__
- msg = ('{0} must define a `sourceforge_mirror_path` attribute'
- ' [none defined]')
+ msg = "{0} must define a `sourceforge_mirror_path` attribute" " [none defined]"
raise AttributeError(msg.format(cls_name))
diff --git a/lib/spack/spack/build_systems/sourceware.py b/lib/spack/spack/build_systems/sourceware.py
index a26ea345ee..ed18675ace 100644
--- a/lib/spack/spack/build_systems/sourceware.py
+++ b/lib/spack/spack/build_systems/sourceware.py
@@ -10,29 +10,28 @@ import spack.util.url
class SourcewarePackage(spack.package_base.PackageBase):
"""Mixin that takes care of setting url and mirrors for Sourceware.org
- packages."""
+ packages."""
+
#: Path of the package in a Sourceware mirror
sourceware_mirror_path = None # type: Optional[str]
#: List of Sourceware mirrors used by Spack
base_mirrors = [
- 'https://sourceware.org/pub/',
- 'https://mirrors.kernel.org/sourceware/',
- 'https://ftp.gwdg.de/pub/linux/sources.redhat.com/'
+ "https://sourceware.org/pub/",
+ "https://mirrors.kernel.org/sourceware/",
+ "https://ftp.gwdg.de/pub/linux/sources.redhat.com/",
]
@property
def urls(self):
self._ensure_sourceware_mirror_path_is_set_or_raise()
return [
- spack.util.url.join(m, self.sourceware_mirror_path,
- resolve_href=True)
+ spack.util.url.join(m, self.sourceware_mirror_path, resolve_href=True)
for m in self.base_mirrors
]
def _ensure_sourceware_mirror_path_is_set_or_raise(self):
if self.sourceware_mirror_path is None:
cls_name = type(self).__name__
- msg = ('{0} must define a `sourceware_mirror_path` attribute'
- ' [none defined]')
+ msg = "{0} must define a `sourceware_mirror_path` attribute" " [none defined]"
raise AttributeError(msg.format(cls_name))
diff --git a/lib/spack/spack/build_systems/waf.py b/lib/spack/spack/build_systems/waf.py
index 8a65f48ec4..3571ffd525 100644
--- a/lib/spack/spack/build_systems/waf.py
+++ b/lib/spack/spack/build_systems/waf.py
@@ -39,23 +39,24 @@ class WafPackage(PackageBase):
All of these functions are empty except for the ``configure_args``
function, which passes ``--prefix=/path/to/installation/prefix``.
"""
+
# Default phases
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
# To be used in UI queries that require to know which
# build-system class we are using
- build_system_class = 'WafPackage'
+ build_system_class = "WafPackage"
# Callback names for build-time test
- build_time_test_callbacks = ['build_test']
+ build_time_test_callbacks = ["build_test"]
# Callback names for install-time test
- install_time_test_callbacks = ['install_test']
+ install_time_test_callbacks = ["install_test"]
# Much like AutotoolsPackage does not require automake and autoconf
# to build, WafPackage does not require waf to build. It only requires
# python to run the waf build script.
- depends_on('python@2.5:', type='build')
+ depends_on("python@2.5:", type="build")
@property
def build_directory(self):
@@ -71,14 +72,14 @@ class WafPackage(PackageBase):
jobs = inspect.getmodule(self).make_jobs
with working_dir(self.build_directory):
- self.python('waf', '-j{0}'.format(jobs), *args, **kwargs)
+ self.python("waf", "-j{0}".format(jobs), *args, **kwargs)
def configure(self, spec, prefix):
"""Configures the project."""
- args = ['--prefix={0}'.format(self.prefix)]
+ args = ["--prefix={0}".format(self.prefix)]
args += self.configure_args()
- self.waf('configure', *args)
+ self.waf("configure", *args)
def configure_args(self):
"""Arguments to pass to configure."""
@@ -88,7 +89,7 @@ class WafPackage(PackageBase):
"""Executes the build."""
args = self.build_args()
- self.waf('build', *args)
+ self.waf("build", *args)
def build_args(self):
"""Arguments to pass to build."""
@@ -98,7 +99,7 @@ class WafPackage(PackageBase):
"""Installs the targets on the system."""
args = self.install_args()
- self.waf('install', *args)
+ self.waf("install", *args)
def install_args(self):
"""Arguments to pass to install."""
@@ -114,7 +115,7 @@ class WafPackage(PackageBase):
"""
pass
- run_after('build')(PackageBase._run_default_build_time_test_callbacks)
+ run_after("build")(PackageBase._run_default_build_time_test_callbacks)
def install_test(self):
"""Run unit tests after install.
@@ -124,7 +125,7 @@ class WafPackage(PackageBase):
"""
pass
- run_after('install')(PackageBase._run_default_install_time_test_callbacks)
+ run_after("install")(PackageBase._run_default_install_time_test_callbacks)
# Check that self.prefix is there after installation
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
diff --git a/lib/spack/spack/build_systems/xorg.py b/lib/spack/spack/build_systems/xorg.py
index 246e830254..bfa87cc9d7 100644
--- a/lib/spack/spack/build_systems/xorg.py
+++ b/lib/spack/spack/build_systems/xorg.py
@@ -11,7 +11,8 @@ import spack.util.url
class XorgPackage(spack.package_base.PackageBase):
"""Mixin that takes care of setting url and mirrors for x.org
- packages."""
+ packages."""
+
#: Path of the package in a x.org mirror
xorg_mirror_path = None # type: Optional[str]
@@ -20,25 +21,23 @@ class XorgPackage(spack.package_base.PackageBase):
# A good package to test with is `util-macros`, which had a "recent"
# release.
base_mirrors = [
- 'https://www.x.org/archive/individual/',
- 'https://mirrors.ircam.fr/pub/x.org/individual/',
- 'https://mirror.transip.net/xorg/individual/',
- 'ftp://ftp.freedesktop.org/pub/xorg/individual/',
- 'http://xorg.mirrors.pair.com/individual/'
+ "https://www.x.org/archive/individual/",
+ "https://mirrors.ircam.fr/pub/x.org/individual/",
+ "https://mirror.transip.net/xorg/individual/",
+ "ftp://ftp.freedesktop.org/pub/xorg/individual/",
+ "http://xorg.mirrors.pair.com/individual/",
]
@property
def urls(self):
self._ensure_xorg_mirror_path_is_set_or_raise()
return [
- spack.util.url.join(m, self.xorg_mirror_path,
- resolve_href=True)
+ spack.util.url.join(m, self.xorg_mirror_path, resolve_href=True)
for m in self.base_mirrors
]
def _ensure_xorg_mirror_path_is_set_or_raise(self):
if self.xorg_mirror_path is None:
cls_name = type(self).__name__
- msg = ('{0} must define a `xorg_mirror_path` attribute'
- ' [none defined]')
+ msg = "{0} must define a `xorg_mirror_path` attribute" " [none defined]"
raise AttributeError(msg.format(cls_name))
diff --git a/lib/spack/spack/caches.py b/lib/spack/spack/caches.py
index 8112a97ea3..9ae578e550 100644
--- a/lib/spack/spack/caches.py
+++ b/lib/spack/spack/caches.py
@@ -24,7 +24,7 @@ def misc_cache_location():
Currently the ``misc_cache`` stores indexes for virtual dependency
providers and for which packages provide which tags.
"""
- path = spack.config.get('config:misc_cache', spack.paths.default_misc_cache_path)
+ path = spack.config.get("config:misc_cache", spack.paths.default_misc_cache_path)
return spack.util.path.canonicalize_path(path)
@@ -43,7 +43,7 @@ def fetch_cache_location():
This prevents Spack from repeatedly fetch the same files when
building the same package different ways or multiple times.
"""
- path = spack.config.get('config:source_cache')
+ path = spack.config.get("config:source_cache")
if not path:
path = spack.paths.default_fetch_cache_path
path = spack.util.path.canonicalize_path(path)
@@ -75,9 +75,7 @@ class MirrorCache(object):
cosmetic_path = os.path.join(self.root, mirror_ref.cosmetic_path)
storage_path = os.path.join(self.root, mirror_ref.storage_path)
- relative_dst = os.path.relpath(
- storage_path,
- start=os.path.dirname(cosmetic_path))
+ relative_dst = os.path.relpath(storage_path, start=os.path.dirname(cosmetic_path))
if not os.path.exists(cosmetic_path):
if os.path.lexists(cosmetic_path):
diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py
index 8467645fb5..06dc4741ba 100644
--- a/lib/spack/spack/ci.py
+++ b/lib/spack/spack/ci.py
@@ -38,14 +38,14 @@ from spack.error import SpackError
from spack.spec import Spec
JOB_RETRY_CONDITIONS = [
- 'always',
+ "always",
]
-TEMP_STORAGE_MIRROR_NAME = 'ci_temporary_mirror'
+TEMP_STORAGE_MIRROR_NAME = "ci_temporary_mirror"
SPACK_RESERVED_TAGS = ["public", "protected", "notary"]
-spack_gpg = spack.main.SpackCommand('gpg')
-spack_compiler = spack.main.SpackCommand('compiler')
+spack_gpg = spack.main.SpackCommand("gpg")
+spack_compiler = spack.main.SpackCommand("compiler")
class TemporaryDirectory(object):
@@ -61,13 +61,9 @@ class TemporaryDirectory(object):
def _create_buildgroup(opener, headers, url, project, group_name, group_type):
- data = {
- "newbuildgroup": group_name,
- "project": project,
- "type": group_type
- }
+ data = {"newbuildgroup": group_name, "project": project, "type": group_type}
- enc_data = json.dumps(data).encode('utf-8')
+ enc_data = json.dumps(data).encode("utf-8")
request = Request(url, data=enc_data, headers=headers)
@@ -75,71 +71,64 @@ def _create_buildgroup(opener, headers, url, project, group_name, group_type):
response_code = response.getcode()
if response_code != 200 and response_code != 201:
- msg = 'Creating buildgroup failed (response code = {0}'.format(
- response_code)
+ msg = "Creating buildgroup failed (response code = {0}".format(response_code)
tty.warn(msg)
return None
response_text = response.read()
response_json = json.loads(response_text)
- build_group_id = response_json['id']
+ build_group_id = response_json["id"]
return build_group_id
-def _populate_buildgroup(job_names, group_name, project, site,
- credentials, cdash_url):
+def _populate_buildgroup(job_names, group_name, project, site, credentials, cdash_url):
url = "{0}/api/v1/buildgroup.php".format(cdash_url)
headers = {
- 'Authorization': 'Bearer {0}'.format(credentials),
- 'Content-Type': 'application/json',
+ "Authorization": "Bearer {0}".format(credentials),
+ "Content-Type": "application/json",
}
opener = build_opener(HTTPHandler)
- parent_group_id = _create_buildgroup(
- opener, headers, url, project, group_name, 'Daily')
+ parent_group_id = _create_buildgroup(opener, headers, url, project, group_name, "Daily")
group_id = _create_buildgroup(
- opener, headers, url, project, 'Latest {0}'.format(group_name),
- 'Latest')
+ opener, headers, url, project, "Latest {0}".format(group_name), "Latest"
+ )
if not parent_group_id or not group_id:
- msg = 'Failed to create or retrieve buildgroups for {0}'.format(
- group_name)
+ msg = "Failed to create or retrieve buildgroups for {0}".format(group_name)
tty.warn(msg)
return
data = {
- 'project': project,
- 'buildgroupid': group_id,
- 'dynamiclist': [{
- 'match': name,
- 'parentgroupid': parent_group_id,
- 'site': site
- } for name in job_names]
+ "project": project,
+ "buildgroupid": group_id,
+ "dynamiclist": [
+ {"match": name, "parentgroupid": parent_group_id, "site": site} for name in job_names
+ ],
}
- enc_data = json.dumps(data).encode('utf-8')
+ enc_data = json.dumps(data).encode("utf-8")
request = Request(url, data=enc_data, headers=headers)
- request.get_method = lambda: 'PUT'
+ request.get_method = lambda: "PUT"
response = opener.open(request)
response_code = response.getcode()
if response_code != 200:
- msg = 'Error response code ({0}) in _populate_buildgroup'.format(
- response_code)
+ msg = "Error response code ({0}) in _populate_buildgroup".format(response_code)
tty.warn(msg)
def _is_main_phase(phase_name):
- return True if phase_name == 'specs' else False
+ return True if phase_name == "specs" else False
def get_job_name(phase, strip_compiler, spec, osarch, build_group):
- """ Given the necessary parts, format the gitlab job name
+ """Given the necessary parts, format the gitlab job name
Arguments:
phase (str): Either 'specs' for the main phase, or the name of a
@@ -154,37 +143,37 @@ def get_job_name(phase, strip_compiler, spec, osarch, build_group):
Returns: The job name
"""
item_idx = 0
- format_str = ''
+ format_str = ""
format_args = []
if phase:
- format_str += '({{{0}}})'.format(item_idx)
+ format_str += "({{{0}}})".format(item_idx)
format_args.append(phase)
item_idx += 1
- format_str += ' {{{0}}}'.format(item_idx)
+ format_str += " {{{0}}}".format(item_idx)
format_args.append(spec.name)
item_idx += 1
- format_str += '/{{{0}}}'.format(item_idx)
+ format_str += "/{{{0}}}".format(item_idx)
format_args.append(spec.dag_hash(7))
item_idx += 1
- format_str += ' {{{0}}}'.format(item_idx)
+ format_str += " {{{0}}}".format(item_idx)
format_args.append(spec.version)
item_idx += 1
if _is_main_phase(phase) is True or strip_compiler is False:
- format_str += ' {{{0}}}'.format(item_idx)
+ format_str += " {{{0}}}".format(item_idx)
format_args.append(spec.compiler)
item_idx += 1
- format_str += ' {{{0}}}'.format(item_idx)
+ format_str += " {{{0}}}".format(item_idx)
format_args.append(osarch)
item_idx += 1
if build_group:
- format_str += ' {{{0}}}'.format(item_idx)
+ format_str += " {{{0}}}".format(item_idx)
format_args.append(build_group)
item_idx += 1
@@ -192,8 +181,9 @@ def get_job_name(phase, strip_compiler, spec, osarch, build_group):
def _get_cdash_build_name(spec, build_group):
- return '{0}@{1}%{2} arch={3} ({4})'.format(
- spec.name, spec.version, spec.compiler, spec.architecture, build_group)
+ return "{0}@{1}%{2} arch={3} ({4})".format(
+ spec.name, spec.version, spec.compiler, spec.architecture, build_group
+ )
def _remove_reserved_tags(tags):
@@ -203,26 +193,25 @@ def _remove_reserved_tags(tags):
def _get_spec_string(spec):
format_elements = [
- '{name}{@version}',
- '{%compiler}',
+ "{name}{@version}",
+ "{%compiler}",
]
if spec.architecture:
- format_elements.append(' {arch=architecture}')
+ format_elements.append(" {arch=architecture}")
- return spec.format(''.join(format_elements))
+ return spec.format("".join(format_elements))
def _format_root_spec(spec, main_phase, strip_compiler):
if main_phase is False and strip_compiler is True:
- return '{0}@{1} arch={2}'.format(
- spec.name, spec.version, spec.architecture)
+ return "{0}@{1} arch={2}".format(spec.name, spec.version, spec.architecture)
else:
return spec.dag_hash()
def _spec_deps_key(s):
- return '{0}/{1}'.format(s.name, s.dag_hash(7))
+ return "{0}/{1}".format(s.name, s.dag_hash(7))
def _add_dependency(spec_label, dep_label, deps):
@@ -233,24 +222,26 @@ def _add_dependency(spec_label, dep_label, deps):
deps[spec_label].add(dep_label)
-def _get_spec_dependencies(specs, deps, spec_labels, check_index_only=False,
- mirrors_to_check=None):
- spec_deps_obj = _compute_spec_deps(specs, check_index_only=check_index_only,
- mirrors_to_check=mirrors_to_check)
+def _get_spec_dependencies(
+ specs, deps, spec_labels, check_index_only=False, mirrors_to_check=None
+):
+ spec_deps_obj = _compute_spec_deps(
+ specs, check_index_only=check_index_only, mirrors_to_check=mirrors_to_check
+ )
if spec_deps_obj:
- dependencies = spec_deps_obj['dependencies']
- specs = spec_deps_obj['specs']
+ dependencies = spec_deps_obj["dependencies"]
+ specs = spec_deps_obj["specs"]
for entry in specs:
- spec_labels[entry['label']] = {
- 'spec': Spec(entry['spec']),
- 'rootSpec': entry['root_spec'],
- 'needs_rebuild': entry['needs_rebuild'],
+ spec_labels[entry["label"]] = {
+ "spec": Spec(entry["spec"]),
+ "rootSpec": entry["root_spec"],
+ "needs_rebuild": entry["needs_rebuild"],
}
for entry in dependencies:
- _add_dependency(entry['spec'], entry['depends'], deps)
+ _add_dependency(entry["spec"], entry["depends"], deps)
def stage_spec_jobs(specs, check_index_only=False, mirrors_to_check=None):
@@ -303,8 +294,13 @@ def stage_spec_jobs(specs, check_index_only=False, mirrors_to_check=None):
deps = {}
spec_labels = {}
- _get_spec_dependencies(specs, deps, spec_labels, check_index_only=check_index_only,
- mirrors_to_check=mirrors_to_check)
+ _get_spec_dependencies(
+ specs,
+ deps,
+ spec_labels,
+ check_index_only=check_index_only,
+ mirrors_to_check=mirrors_to_check,
+ )
# Save the original deps, as we need to return them at the end of the
# function. In the while loop below, the "dependencies" variable is
@@ -334,16 +330,17 @@ def _print_staging_summary(spec_labels, dependencies, stages):
if not stages:
return
- tty.msg(' Staging summary ([x] means a job needs rebuilding):')
+ tty.msg(" Staging summary ([x] means a job needs rebuilding):")
for stage_index, stage in enumerate(stages):
- tty.msg(' stage {0} ({1} jobs):'.format(stage_index, len(stage)))
+ tty.msg(" stage {0} ({1} jobs):".format(stage_index, len(stage)))
for job in sorted(stage):
- s = spec_labels[job]['spec']
- tty.msg(' [{1}] {0} -> {2}'.format(
- job,
- 'x' if spec_labels[job]['needs_rebuild'] else ' ',
- _get_spec_string(s)))
+ s = spec_labels[job]["spec"]
+ tty.msg(
+ " [{1}] {0} -> {2}".format(
+ job, "x" if spec_labels[job]["needs_rebuild"] else " ", _get_spec_string(s)
+ )
+ )
def _compute_spec_deps(spec_list, check_index_only=False, mirrors_to_check=None):
@@ -405,48 +402,53 @@ def _compute_spec_deps(spec_list, check_index_only=False, mirrors_to_check=None)
dependencies = []
def append_dep(s, d):
- dependencies.append({
- 'spec': s,
- 'depends': d,
- })
+ dependencies.append(
+ {
+ "spec": s,
+ "depends": d,
+ }
+ )
for spec in spec_list:
root_spec = spec
for s in spec.traverse(deptype=all):
if s.external:
- tty.msg('Will not stage external pkg: {0}'.format(s))
+ tty.msg("Will not stage external pkg: {0}".format(s))
continue
up_to_date_mirrors = bindist.get_mirrors_for_spec(
- spec=s, mirrors_to_check=mirrors_to_check, index_only=check_index_only)
+ spec=s, mirrors_to_check=mirrors_to_check, index_only=check_index_only
+ )
skey = _spec_deps_key(s)
spec_labels[skey] = {
- 'spec': _get_spec_string(s),
- 'root': root_spec,
- 'needs_rebuild': not up_to_date_mirrors,
+ "spec": _get_spec_string(s),
+ "root": root_spec,
+ "needs_rebuild": not up_to_date_mirrors,
}
for d in s.dependencies(deptype=all):
dkey = _spec_deps_key(d)
if d.external:
- tty.msg('Will not stage external dep: {0}'.format(d))
+ tty.msg("Will not stage external dep: {0}".format(d))
continue
append_dep(skey, dkey)
for spec_label, spec_holder in spec_labels.items():
- specs.append({
- 'label': spec_label,
- 'spec': spec_holder['spec'],
- 'root_spec': spec_holder['root'],
- 'needs_rebuild': spec_holder['needs_rebuild'],
- })
+ specs.append(
+ {
+ "label": spec_label,
+ "spec": spec_holder["spec"],
+ "root_spec": spec_holder["root"],
+ "needs_rebuild": spec_holder["needs_rebuild"],
+ }
+ )
deps_json_obj = {
- 'specs': specs,
- 'dependencies': dependencies,
+ "specs": specs,
+ "dependencies": dependencies,
}
return deps_json_obj
@@ -459,20 +461,19 @@ def _spec_matches(spec, match_string):
def _copy_attributes(attrs_list, src_dict, dest_dict):
for runner_attr in attrs_list:
if runner_attr in src_dict:
- if runner_attr in dest_dict and runner_attr == 'tags':
+ if runner_attr in dest_dict and runner_attr == "tags":
# For 'tags', we combine the lists of tags, while
# avoiding duplicates
for tag in src_dict[runner_attr]:
if tag not in dest_dict[runner_attr]:
dest_dict[runner_attr].append(tag)
- elif runner_attr in dest_dict and runner_attr == 'variables':
+ elif runner_attr in dest_dict and runner_attr == "variables":
# For 'variables', we merge the dictionaries. Any conflicts
# (i.e. 'runner-attributes' has same variable key as the
# higher level) we resolve by keeping the more specific
# 'runner-attributes' version.
for src_key, src_val in src_dict[runner_attr].items():
- dest_dict[runner_attr][src_key] = copy.deepcopy(
- src_dict[runner_attr][src_key])
+ dest_dict[runner_attr][src_key] = copy.deepcopy(src_dict[runner_attr][src_key])
else:
dest_dict[runner_attr] = copy.deepcopy(src_dict[runner_attr])
@@ -480,24 +481,24 @@ def _copy_attributes(attrs_list, src_dict, dest_dict):
def _find_matching_config(spec, gitlab_ci):
runner_attributes = {}
overridable_attrs = [
- 'image',
- 'tags',
- 'variables',
- 'before_script',
- 'script',
- 'after_script',
+ "image",
+ "tags",
+ "variables",
+ "before_script",
+ "script",
+ "after_script",
]
_copy_attributes(overridable_attrs, gitlab_ci, runner_attributes)
- ci_mappings = gitlab_ci['mappings']
+ ci_mappings = gitlab_ci["mappings"]
for ci_mapping in ci_mappings:
- for match_string in ci_mapping['match']:
+ for match_string in ci_mapping["match"]:
if _spec_matches(spec, match_string):
- if 'runner-attributes' in ci_mapping:
- _copy_attributes(overridable_attrs,
- ci_mapping['runner-attributes'],
- runner_attributes)
+ if "runner-attributes" in ci_mapping:
+ _copy_attributes(
+ overridable_attrs, ci_mapping["runner-attributes"], runner_attributes
+ )
return runner_attributes
else:
return None
@@ -506,43 +507,50 @@ def _find_matching_config(spec, gitlab_ci):
def _pkg_name_from_spec_label(spec_label):
- return spec_label[:spec_label.index('/')]
-
-
-def _format_job_needs(phase_name, strip_compilers, dep_jobs,
- osname, build_group, prune_dag, stage_spec_dict,
- enable_artifacts_buildcache):
+ return spec_label[: spec_label.index("/")]
+
+
+def _format_job_needs(
+ phase_name,
+ strip_compilers,
+ dep_jobs,
+ osname,
+ build_group,
+ prune_dag,
+ stage_spec_dict,
+ enable_artifacts_buildcache,
+):
needs_list = []
for dep_job in dep_jobs:
dep_spec_key = _spec_deps_key(dep_job)
dep_spec_info = stage_spec_dict[dep_spec_key]
- if not prune_dag or dep_spec_info['needs_rebuild']:
- needs_list.append({
- 'job': get_job_name(phase_name,
- strip_compilers,
- dep_job,
- dep_job.architecture,
- build_group),
- 'artifacts': enable_artifacts_buildcache,
- })
+ if not prune_dag or dep_spec_info["needs_rebuild"]:
+ needs_list.append(
+ {
+ "job": get_job_name(
+ phase_name, strip_compilers, dep_job, dep_job.architecture, build_group
+ ),
+ "artifacts": enable_artifacts_buildcache,
+ }
+ )
return needs_list
def get_change_revisions():
"""If this is a git repo get the revisions to use when checking
for changed packages and spack core modules."""
- git_dir = os.path.join(spack.paths.prefix, '.git')
+ git_dir = os.path.join(spack.paths.prefix, ".git")
if os.path.exists(git_dir) and os.path.isdir(git_dir):
# TODO: This will only find changed packages from the last
# TODO: commit. While this may work for single merge commits
# TODO: when merging the topic branch into the base, it will
# TODO: require more thought outside of that narrow case.
- return 'HEAD^', 'HEAD'
+ return "HEAD^", "HEAD"
return None, None
-def get_stack_changed(env_path, rev1='HEAD^', rev2='HEAD'):
+def get_stack_changed(env_path, rev1="HEAD^", rev2="HEAD"):
"""Given an environment manifest path and two revisions to compare, return
whether or not the stack was changed. Returns True if the environment
manifest changed between the provided revisions (or additionally if the
@@ -550,24 +558,29 @@ def get_stack_changed(env_path, rev1='HEAD^', rev2='HEAD'):
git = exe.which("git")
if git:
with fs.working_dir(spack.paths.prefix):
- git_log = git("diff", "--name-only", rev1, rev2,
- output=str, error=os.devnull,
- fail_on_error=False).strip()
- lines = [] if not git_log else re.split(r'\s+', git_log)
+ git_log = git(
+ "diff",
+ "--name-only",
+ rev1,
+ rev2,
+ output=str,
+ error=os.devnull,
+ fail_on_error=False,
+ ).strip()
+ lines = [] if not git_log else re.split(r"\s+", git_log)
for path in lines:
- if '.gitlab-ci.yml' in path or path in env_path:
- tty.debug('env represented by {0} changed'.format(
- env_path))
- tty.debug('touched file: {0}'.format(path))
+ if ".gitlab-ci.yml" in path or path in env_path:
+ tty.debug("env represented by {0} changed".format(env_path))
+ tty.debug("touched file: {0}".format(path))
return True
return False
-def compute_affected_packages(rev1='HEAD^', rev2='HEAD'):
+def compute_affected_packages(rev1="HEAD^", rev2="HEAD"):
"""Determine which packages were added, removed or changed
between rev1 and rev2, and return the names as a set"""
- return spack.repo.get_all_package_diffs('ARC', rev1=rev1, rev2=rev2)
+ return spack.repo.get_all_package_diffs("ARC", rev1=rev1, rev2=rev2)
def get_spec_filter_list(env, affected_pkgs, dependencies=True, dependents=True):
@@ -591,25 +604,32 @@ def get_spec_filter_list(env, affected_pkgs, dependencies=True, dependents=True)
"""
affected_specs = set()
all_concrete_specs = env.all_specs()
- tty.debug('All concrete environment specs:')
+ tty.debug("All concrete environment specs:")
for s in all_concrete_specs:
- tty.debug(' {0}/{1}'.format(s.name, s.dag_hash()[:7]))
+ tty.debug(" {0}/{1}".format(s.name, s.dag_hash()[:7]))
for pkg in affected_pkgs:
env_matches = [s for s in all_concrete_specs if s.name == pkg]
for match in env_matches:
affected_specs.add(match)
if dependencies:
- affected_specs.update(match.traverse(direction='children', root=False))
+ affected_specs.update(match.traverse(direction="children", root=False))
if dependents:
- affected_specs.update(match.traverse(direction='parents', root=False))
+ affected_specs.update(match.traverse(direction="parents", root=False))
return affected_specs
-def generate_gitlab_ci_yaml(env, print_summary, output_file,
- prune_dag=False, check_index_only=False,
- run_optimizer=False, use_dependencies=False,
- artifacts_root=None, remote_mirror_override=None):
- """ Generate a gitlab yaml file to run a dynamic child pipeline from
+def generate_gitlab_ci_yaml(
+ env,
+ print_summary,
+ output_file,
+ prune_dag=False,
+ check_index_only=False,
+ run_optimizer=False,
+ use_dependencies=False,
+ artifacts_root=None,
+ remote_mirror_override=None,
+):
+ """Generate a gitlab yaml file to run a dynamic child pipeline from
the spec matrix in the active environment.
Arguments:
@@ -647,46 +667,46 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
yaml_root = ev.config_dict(env.yaml)
- if 'gitlab-ci' not in yaml_root:
+ if "gitlab-ci" not in yaml_root:
tty.die('Environment yaml does not have "gitlab-ci" section')
- gitlab_ci = yaml_root['gitlab-ci']
+ gitlab_ci = yaml_root["gitlab-ci"]
build_group = None
enable_cdash_reporting = False
cdash_auth_token = None
- if 'cdash' in yaml_root:
+ if "cdash" in yaml_root:
enable_cdash_reporting = True
- ci_cdash = yaml_root['cdash']
- build_group = ci_cdash['build-group']
- cdash_url = ci_cdash['url']
- cdash_project = ci_cdash['project']
- cdash_site = ci_cdash['site']
+ ci_cdash = yaml_root["cdash"]
+ build_group = ci_cdash["build-group"]
+ cdash_url = ci_cdash["url"]
+ cdash_project = ci_cdash["project"]
+ cdash_site = ci_cdash["site"]
- if 'SPACK_CDASH_AUTH_TOKEN' in os.environ:
+ if "SPACK_CDASH_AUTH_TOKEN" in os.environ:
tty.verbose("Using CDash auth token from environment")
- cdash_auth_token = os.environ.get('SPACK_CDASH_AUTH_TOKEN')
+ cdash_auth_token = os.environ.get("SPACK_CDASH_AUTH_TOKEN")
- prune_untouched_packages = os.environ.get('SPACK_PRUNE_UNTOUCHED', None)
+ prune_untouched_packages = os.environ.get("SPACK_PRUNE_UNTOUCHED", None)
if prune_untouched_packages:
# Requested to prune untouched packages, but assume we won't do that
# unless we're actually in a git repo.
prune_untouched_packages = False
rev1, rev2 = get_change_revisions()
- tty.debug('Got following revisions: rev1={0}, rev2={1}'.format(rev1, rev2))
+ tty.debug("Got following revisions: rev1={0}, rev2={1}".format(rev1, rev2))
if rev1 and rev2:
# If the stack file itself did not change, proceed with pruning
if not get_stack_changed(env.manifest_path, rev1, rev2):
prune_untouched_packages = True
affected_pkgs = compute_affected_packages(rev1, rev2)
- tty.debug('affected pkgs:')
+ tty.debug("affected pkgs:")
for p in affected_pkgs:
- tty.debug(' {0}'.format(p))
+ tty.debug(" {0}".format(p))
affected_specs = get_spec_filter_list(env, affected_pkgs)
- tty.debug('all affected specs:')
+ tty.debug("all affected specs:")
for s in affected_specs:
- tty.debug(' {0}'.format(s.name))
+ tty.debug(" {0}".format(s.name))
# Downstream jobs will "need" (depend on, for both scheduling and
# artifacts, which include spack.lock file) this pipeline generation
@@ -694,73 +714,79 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
# do not exist, then maybe this is just running in a shell, in which
# case, there is no expectation gitlab will ever run the generated
# pipeline and those environment variables do not matter.
- generate_job_name = os.environ.get('CI_JOB_NAME', 'job-does-not-exist')
- parent_pipeline_id = os.environ.get('CI_PIPELINE_ID', 'pipeline-does-not-exist')
+ generate_job_name = os.environ.get("CI_JOB_NAME", "job-does-not-exist")
+ parent_pipeline_id = os.environ.get("CI_PIPELINE_ID", "pipeline-does-not-exist")
# Values: "spack_pull_request", "spack_protected_branch", or not set
- spack_pipeline_type = os.environ.get('SPACK_PIPELINE_TYPE', None)
+ spack_pipeline_type = os.environ.get("SPACK_PIPELINE_TYPE", None)
- spack_buildcache_copy = os.environ.get('SPACK_COPY_BUILDCACHE', None)
+ spack_buildcache_copy = os.environ.get("SPACK_COPY_BUILDCACHE", None)
- if 'mirrors' not in yaml_root or len(yaml_root['mirrors'].values()) < 1:
- tty.die('spack ci generate requires an env containing a mirror')
+ if "mirrors" not in yaml_root or len(yaml_root["mirrors"].values()) < 1:
+ tty.die("spack ci generate requires an env containing a mirror")
- ci_mirrors = yaml_root['mirrors']
+ ci_mirrors = yaml_root["mirrors"]
mirror_urls = [url for url in ci_mirrors.values()]
remote_mirror_url = mirror_urls[0]
# Check for a list of "known broken" specs that we should not bother
# trying to build.
- broken_specs_url = ''
+ broken_specs_url = ""
known_broken_specs_encountered = []
- if 'broken-specs-url' in gitlab_ci:
- broken_specs_url = gitlab_ci['broken-specs-url']
+ if "broken-specs-url" in gitlab_ci:
+ broken_specs_url = gitlab_ci["broken-specs-url"]
enable_artifacts_buildcache = False
- if 'enable-artifacts-buildcache' in gitlab_ci:
- enable_artifacts_buildcache = gitlab_ci['enable-artifacts-buildcache']
+ if "enable-artifacts-buildcache" in gitlab_ci:
+ enable_artifacts_buildcache = gitlab_ci["enable-artifacts-buildcache"]
rebuild_index_enabled = True
- if 'rebuild-index' in gitlab_ci and gitlab_ci['rebuild-index'] is False:
+ if "rebuild-index" in gitlab_ci and gitlab_ci["rebuild-index"] is False:
rebuild_index_enabled = False
temp_storage_url_prefix = None
- if 'temporary-storage-url-prefix' in gitlab_ci:
- temp_storage_url_prefix = gitlab_ci['temporary-storage-url-prefix']
+ if "temporary-storage-url-prefix" in gitlab_ci:
+ temp_storage_url_prefix = gitlab_ci["temporary-storage-url-prefix"]
bootstrap_specs = []
phases = []
- if 'bootstrap' in gitlab_ci:
- for phase in gitlab_ci['bootstrap']:
+ if "bootstrap" in gitlab_ci:
+ for phase in gitlab_ci["bootstrap"]:
try:
- phase_name = phase.get('name')
- strip_compilers = phase.get('compiler-agnostic')
+ phase_name = phase.get("name")
+ strip_compilers = phase.get("compiler-agnostic")
except AttributeError:
phase_name = phase
strip_compilers = False
- phases.append({
- 'name': phase_name,
- 'strip-compilers': strip_compilers,
- })
+ phases.append(
+ {
+ "name": phase_name,
+ "strip-compilers": strip_compilers,
+ }
+ )
for bs in env.spec_lists[phase_name]:
- bootstrap_specs.append({
- 'spec': bs,
- 'phase-name': phase_name,
- 'strip-compilers': strip_compilers,
- })
-
- phases.append({
- 'name': 'specs',
- 'strip-compilers': False,
- })
+ bootstrap_specs.append(
+ {
+ "spec": bs,
+ "phase-name": phase_name,
+ "strip-compilers": strip_compilers,
+ }
+ )
+
+ phases.append(
+ {
+ "name": "specs",
+ "strip-compilers": False,
+ }
+ )
# If a remote mirror override (alternate buildcache destination) was
# specified, add it here in case it has already built hashes we might
# generate.
mirrors_to_check = None
if remote_mirror_override:
- if spack_pipeline_type == 'spack_protected_branch':
+ if spack_pipeline_type == "spack_protected_branch":
# Overriding the main mirror in this case might result
# in skipping jobs on a release pipeline because specs are
# up to date in develop. Eventually we want to notice and take
@@ -768,59 +794,47 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
# develop to the release, but until we have that, this makes
# sure we schedule a rebuild job if the spec isn't already in
# override mirror.
- mirrors_to_check = {
- 'override': remote_mirror_override
- }
+ mirrors_to_check = {"override": remote_mirror_override}
# If we have a remote override and we want generate pipeline using
# --check-index-only, then the override mirror needs to be added to
# the configured mirrors when bindist.update() is run, or else we
# won't fetch its index and include in our local cache.
- spack.mirror.add(
- 'ci_pr_mirror', remote_mirror_override, cfg.default_modify_scope())
+ spack.mirror.add("ci_pr_mirror", remote_mirror_override, cfg.default_modify_scope())
pipeline_artifacts_dir = artifacts_root
if not pipeline_artifacts_dir:
- proj_dir = os.environ.get('CI_PROJECT_DIR', os.getcwd())
- pipeline_artifacts_dir = os.path.join(proj_dir, 'jobs_scratch_dir')
+ proj_dir = os.environ.get("CI_PROJECT_DIR", os.getcwd())
+ pipeline_artifacts_dir = os.path.join(proj_dir, "jobs_scratch_dir")
pipeline_artifacts_dir = os.path.abspath(pipeline_artifacts_dir)
- concrete_env_dir = os.path.join(
- pipeline_artifacts_dir, 'concrete_environment')
+ concrete_env_dir = os.path.join(pipeline_artifacts_dir, "concrete_environment")
# Now that we've added the mirrors we know about, they should be properly
# reflected in the environment manifest file, so copy that into the
# concrete environment directory, along with the spack.lock file.
if not os.path.exists(concrete_env_dir):
os.makedirs(concrete_env_dir)
- shutil.copyfile(env.manifest_path,
- os.path.join(concrete_env_dir, 'spack.yaml'))
- shutil.copyfile(env.lock_path,
- os.path.join(concrete_env_dir, 'spack.lock'))
+ shutil.copyfile(env.manifest_path, os.path.join(concrete_env_dir, "spack.yaml"))
+ shutil.copyfile(env.lock_path, os.path.join(concrete_env_dir, "spack.lock"))
- job_log_dir = os.path.join(pipeline_artifacts_dir, 'logs')
- job_repro_dir = os.path.join(pipeline_artifacts_dir, 'reproduction')
- local_mirror_dir = os.path.join(pipeline_artifacts_dir, 'mirror')
- user_artifacts_dir = os.path.join(pipeline_artifacts_dir, 'user_data')
+ job_log_dir = os.path.join(pipeline_artifacts_dir, "logs")
+ job_repro_dir = os.path.join(pipeline_artifacts_dir, "reproduction")
+ local_mirror_dir = os.path.join(pipeline_artifacts_dir, "mirror")
+ user_artifacts_dir = os.path.join(pipeline_artifacts_dir, "user_data")
# We communicate relative paths to the downstream jobs to avoid issues in
# situations where the CI_PROJECT_DIR varies between the pipeline
# generation job and the rebuild jobs. This can happen when gitlab
# checks out the project into a runner-specific directory, for example,
# and different runners are picked for generate and rebuild jobs.
- ci_project_dir = os.environ.get('CI_PROJECT_DIR')
- rel_artifacts_root = os.path.relpath(
- pipeline_artifacts_dir, ci_project_dir)
- rel_concrete_env_dir = os.path.relpath(
- concrete_env_dir, ci_project_dir)
- rel_job_log_dir = os.path.relpath(
- job_log_dir, ci_project_dir)
- rel_job_repro_dir = os.path.relpath(
- job_repro_dir, ci_project_dir)
- rel_local_mirror_dir = os.path.relpath(
- local_mirror_dir, ci_project_dir)
- rel_user_artifacts_dir = os.path.relpath(
- user_artifacts_dir, ci_project_dir)
+ ci_project_dir = os.environ.get("CI_PROJECT_DIR")
+ rel_artifacts_root = os.path.relpath(pipeline_artifacts_dir, ci_project_dir)
+ rel_concrete_env_dir = os.path.relpath(concrete_env_dir, ci_project_dir)
+ rel_job_log_dir = os.path.relpath(job_log_dir, ci_project_dir)
+ rel_job_repro_dir = os.path.relpath(job_repro_dir, ci_project_dir)
+ rel_local_mirror_dir = os.path.relpath(local_mirror_dir, ci_project_dir)
+ rel_user_artifacts_dir = os.path.relpath(user_artifacts_dir, ci_project_dir)
# Speed up staging by first fetching binary indices from all mirrors
# (including the override mirror we may have just added above).
@@ -832,14 +846,15 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
staged_phases = {}
try:
for phase in phases:
- phase_name = phase['name']
- if phase_name == 'specs':
+ phase_name = phase["name"]
+ if phase_name == "specs":
# Anything in the "specs" of the environment are already
# concretized by the block at the top of this method, so we
# only need to find the concrete versions, and then avoid
# re-concretizing them needlessly later on.
concrete_phase_specs = [
- concrete for abstract, concrete in env.concretized_specs()
+ concrete
+ for abstract, concrete in env.concretized_specs()
if abstract in env.spec_lists[phase_name]
]
else:
@@ -853,11 +868,12 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
staged_phases[phase_name] = stage_spec_jobs(
concrete_phase_specs,
check_index_only=check_index_only,
- mirrors_to_check=mirrors_to_check)
+ mirrors_to_check=mirrors_to_check,
+ )
finally:
# Clean up remote mirror override if enabled
if remote_mirror_override:
- spack.mirror.remove('ci_pr_mirror', cfg.default_modify_scope())
+ spack.mirror.remove("ci_pr_mirror", cfg.default_modify_scope())
all_job_names = []
output_object = {}
@@ -867,117 +883,110 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
stage_names = []
max_length_needs = 0
- max_needs_job = ''
+ max_needs_job = ""
# If this is configured, spack will fail "spack ci generate" if it
# generates any hash which exists under the broken specs url.
broken_spec_urls = None
if broken_specs_url:
- if broken_specs_url.startswith('http'):
+ if broken_specs_url.startswith("http"):
# To make checking each spec against the list faster, we require
# a url protocol that allows us to iterate the url in advance.
- tty.msg('Cannot use an http(s) url for broken specs, ignoring')
+ tty.msg("Cannot use an http(s) url for broken specs, ignoring")
else:
broken_spec_urls = web_util.list_url(broken_specs_url)
before_script, after_script = None, None
for phase in phases:
- phase_name = phase['name']
- strip_compilers = phase['strip-compilers']
+ phase_name = phase["name"]
+ strip_compilers = phase["strip-compilers"]
main_phase = _is_main_phase(phase_name)
spec_labels, dependencies, stages = staged_phases[phase_name]
for stage_jobs in stages:
- stage_name = 'stage-{0}'.format(stage_id)
+ stage_name = "stage-{0}".format(stage_id)
stage_names.append(stage_name)
stage_id += 1
for spec_label in stage_jobs:
spec_record = spec_labels[spec_label]
- root_spec = spec_record['rootSpec']
+ root_spec = spec_record["rootSpec"]
pkg_name = _pkg_name_from_spec_label(spec_label)
release_spec = root_spec[pkg_name]
release_spec_dag_hash = release_spec.dag_hash()
if prune_untouched_packages:
if release_spec not in affected_specs:
- tty.debug('Pruning {0}, untouched by change.'.format(
- release_spec.name))
- spec_record['needs_rebuild'] = False
+ tty.debug("Pruning {0}, untouched by change.".format(release_spec.name))
+ spec_record["needs_rebuild"] = False
continue
- runner_attribs = _find_matching_config(
- release_spec, gitlab_ci)
+ runner_attribs = _find_matching_config(release_spec, gitlab_ci)
if not runner_attribs:
- tty.warn('No match found for {0}, skipping it'.format(
- release_spec))
+ tty.warn("No match found for {0}, skipping it".format(release_spec))
continue
- tags = [tag for tag in runner_attribs['tags']]
+ tags = [tag for tag in runner_attribs["tags"]]
if spack_pipeline_type is not None:
# For spack pipelines "public" and "protected" are reserved tags
tags = _remove_reserved_tags(tags)
- if spack_pipeline_type == 'spack_protected_branch':
- tags.extend(['aws', 'protected'])
- elif spack_pipeline_type == 'spack_pull_request':
- tags.extend(['public'])
+ if spack_pipeline_type == "spack_protected_branch":
+ tags.extend(["aws", "protected"])
+ elif spack_pipeline_type == "spack_pull_request":
+ tags.extend(["public"])
variables = {}
- if 'variables' in runner_attribs:
- variables.update(runner_attribs['variables'])
+ if "variables" in runner_attribs:
+ variables.update(runner_attribs["variables"])
image_name = None
image_entry = None
- if 'image' in runner_attribs:
- build_image = runner_attribs['image']
+ if "image" in runner_attribs:
+ build_image = runner_attribs["image"]
try:
- image_name = build_image.get('name')
- entrypoint = build_image.get('entrypoint')
+ image_name = build_image.get("name")
+ entrypoint = build_image.get("entrypoint")
image_entry = [p for p in entrypoint]
except AttributeError:
image_name = build_image
- job_script = ['spack env activate --without-view .']
+ job_script = ["spack env activate --without-view ."]
if artifacts_root:
- job_script.insert(0, 'cd {0}'.format(concrete_env_dir))
+ job_script.insert(0, "cd {0}".format(concrete_env_dir))
- job_script.extend([
- 'spack ci rebuild'
- ])
+ job_script.extend(["spack ci rebuild"])
- if 'script' in runner_attribs:
- job_script = [s for s in runner_attribs['script']]
+ if "script" in runner_attribs:
+ job_script = [s for s in runner_attribs["script"]]
before_script = None
- if 'before_script' in runner_attribs:
- before_script = [
- s for s in runner_attribs['before_script']
- ]
+ if "before_script" in runner_attribs:
+ before_script = [s for s in runner_attribs["before_script"]]
after_script = None
- if 'after_script' in runner_attribs:
- after_script = [s for s in runner_attribs['after_script']]
+ if "after_script" in runner_attribs:
+ after_script = [s for s in runner_attribs["after_script"]]
osname = str(release_spec.architecture)
- job_name = get_job_name(phase_name, strip_compilers,
- release_spec, osname, build_group)
+ job_name = get_job_name(
+ phase_name, strip_compilers, release_spec, osname, build_group
+ )
- compiler_action = 'NONE'
+ compiler_action = "NONE"
if len(phases) > 1:
- compiler_action = 'FIND_ANY'
+ compiler_action = "FIND_ANY"
if _is_main_phase(phase_name):
- compiler_action = 'INSTALL_MISSING'
+ compiler_action = "INSTALL_MISSING"
job_vars = {
- 'SPACK_ROOT_SPEC': _format_root_spec(
- root_spec, main_phase, strip_compilers),
- 'SPACK_JOB_SPEC_DAG_HASH': release_spec_dag_hash,
- 'SPACK_JOB_SPEC_PKG_NAME': release_spec.name,
- 'SPACK_COMPILER_ACTION': compiler_action
+ "SPACK_ROOT_SPEC": _format_root_spec(root_spec, main_phase, strip_compilers),
+ "SPACK_JOB_SPEC_DAG_HASH": release_spec_dag_hash,
+ "SPACK_JOB_SPEC_PKG_NAME": release_spec.name,
+ "SPACK_COMPILER_ACTION": compiler_action,
}
job_dependencies = []
@@ -985,26 +994,30 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
if enable_artifacts_buildcache:
# Get dependencies transitively, so they're all
# available in the artifacts buildcache.
- dep_jobs = [
- d for d in release_spec.traverse(deptype=all,
- root=False)
- ]
+ dep_jobs = [d for d in release_spec.traverse(deptype=all, root=False)]
else:
# In this case, "needs" is only used for scheduling
# purposes, so we only get the direct dependencies.
dep_jobs = []
for dep_label in dependencies[spec_label]:
dep_pkg = _pkg_name_from_spec_label(dep_label)
- dep_root = spec_labels[dep_label]['rootSpec']
+ dep_root = spec_labels[dep_label]["rootSpec"]
dep_jobs.append(dep_root[dep_pkg])
job_dependencies.extend(
- _format_job_needs(phase_name, strip_compilers,
- dep_jobs, osname, build_group,
- prune_dag, spec_labels,
- enable_artifacts_buildcache))
-
- rebuild_spec = spec_record['needs_rebuild']
+ _format_job_needs(
+ phase_name,
+ strip_compilers,
+ dep_jobs,
+ osname,
+ build_group,
+ prune_dag,
+ spec_labels,
+ enable_artifacts_buildcache,
+ )
+ )
+
+ rebuild_spec = spec_record["needs_rebuild"]
# This next section helps gitlab make sure the right
# bootstrapped compiler exists in the artifacts buildcache by
@@ -1014,20 +1027,16 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
# bootstrap spec lists, then we will add more dependencies to
# the job (that compiler and maybe it's dependencies as well).
if _is_main_phase(phase_name):
- spec_arch_family = (release_spec.architecture
- .target
- .microarchitecture
- .family)
- compiler_pkg_spec = compilers.pkg_spec_for_compiler(
- release_spec.compiler)
+ spec_arch_family = release_spec.architecture.target.microarchitecture.family
+ compiler_pkg_spec = compilers.pkg_spec_for_compiler(release_spec.compiler)
for bs in bootstrap_specs:
- c_spec = bs['spec']
+ c_spec = bs["spec"]
bs_arch = c_spec.architecture
- bs_arch_family = (bs_arch.target
- .microarchitecture
- .family)
- if (c_spec.satisfies(compiler_pkg_spec) and
- bs_arch_family == spec_arch_family):
+ bs_arch_family = bs_arch.target.microarchitecture.family
+ if (
+ c_spec.satisfies(compiler_pkg_spec)
+ and bs_arch_family == spec_arch_family
+ ):
# We found the bootstrap compiler this release spec
# should be built with, so for DAG scheduling
# purposes, we will at least add the compiler spec
@@ -1040,94 +1049,94 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
# dependencies, we artificially force the spec to
# be rebuilt if the compiler targeted to build it
# needs to be rebuilt.
- bs_specs, _, _ = staged_phases[bs['phase-name']]
+ bs_specs, _, _ = staged_phases[bs["phase-name"]]
c_spec_key = _spec_deps_key(c_spec)
- rbld_comp = bs_specs[c_spec_key]['needs_rebuild']
+ rbld_comp = bs_specs[c_spec_key]["needs_rebuild"]
rebuild_spec = rebuild_spec or rbld_comp
# Also update record so dependents do not fail to
# add this spec to their "needs"
- spec_record['needs_rebuild'] = rebuild_spec
+ spec_record["needs_rebuild"] = rebuild_spec
dep_jobs = [c_spec]
if enable_artifacts_buildcache:
- dep_jobs = [
- d for d in c_spec.traverse(deptype=all)
- ]
+ dep_jobs = [d for d in c_spec.traverse(deptype=all)]
job_dependencies.extend(
- _format_job_needs(bs['phase-name'],
- bs['strip-compilers'],
- dep_jobs,
- str(bs_arch),
- build_group,
- prune_dag,
- bs_specs,
- enable_artifacts_buildcache))
+ _format_job_needs(
+ bs["phase-name"],
+ bs["strip-compilers"],
+ dep_jobs,
+ str(bs_arch),
+ build_group,
+ prune_dag,
+ bs_specs,
+ enable_artifacts_buildcache,
+ )
+ )
else:
- debug_msg = ''.join([
- 'Considered compiler {0} for spec ',
- '{1}, but rejected it either because it was ',
- 'not the compiler required by the spec, or ',
- 'because the target arch families of the ',
- 'spec and the compiler did not match'
- ]).format(c_spec, release_spec)
+ debug_msg = "".join(
+ [
+ "Considered compiler {0} for spec ",
+ "{1}, but rejected it either because it was ",
+ "not the compiler required by the spec, or ",
+ "because the target arch families of the ",
+ "spec and the compiler did not match",
+ ]
+ ).format(c_spec, release_spec)
tty.debug(debug_msg)
if prune_dag and not rebuild_spec:
- tty.debug('Pruning {0}, does not need rebuild.'.format(
- release_spec.name))
+ tty.debug("Pruning {0}, does not need rebuild.".format(release_spec.name))
continue
- if (broken_spec_urls is not None and
- release_spec_dag_hash in broken_spec_urls):
- known_broken_specs_encountered.append('{0} ({1})'.format(
- release_spec, release_spec_dag_hash))
+ if broken_spec_urls is not None and release_spec_dag_hash in broken_spec_urls:
+ known_broken_specs_encountered.append(
+ "{0} ({1})".format(release_spec, release_spec_dag_hash)
+ )
if artifacts_root:
- job_dependencies.append({
- 'job': generate_job_name,
- 'pipeline': '{0}'.format(parent_pipeline_id)
- })
+ job_dependencies.append(
+ {"job": generate_job_name, "pipeline": "{0}".format(parent_pipeline_id)}
+ )
- job_vars['SPACK_SPEC_NEEDS_REBUILD'] = str(rebuild_spec)
+ job_vars["SPACK_SPEC_NEEDS_REBUILD"] = str(rebuild_spec)
if enable_cdash_reporting:
- cdash_build_name = _get_cdash_build_name(
- release_spec, build_group)
+ cdash_build_name = _get_cdash_build_name(release_spec, build_group)
all_job_names.append(cdash_build_name)
- job_vars['SPACK_CDASH_BUILD_NAME'] = cdash_build_name
+ job_vars["SPACK_CDASH_BUILD_NAME"] = cdash_build_name
variables.update(job_vars)
- artifact_paths = [
- rel_job_log_dir,
- rel_job_repro_dir,
- rel_user_artifacts_dir
- ]
+ artifact_paths = [rel_job_log_dir, rel_job_repro_dir, rel_user_artifacts_dir]
if enable_artifacts_buildcache:
- bc_root = os.path.join(
- local_mirror_dir, 'build_cache')
- artifact_paths.extend([os.path.join(bc_root, p) for p in [
- bindist.tarball_name(release_spec, '.spec.json'),
- bindist.tarball_directory_name(release_spec),
- ]])
+ bc_root = os.path.join(local_mirror_dir, "build_cache")
+ artifact_paths.extend(
+ [
+ os.path.join(bc_root, p)
+ for p in [
+ bindist.tarball_name(release_spec, ".spec.json"),
+ bindist.tarball_directory_name(release_spec),
+ ]
+ ]
+ )
job_object = {
- 'stage': stage_name,
- 'variables': variables,
- 'script': job_script,
- 'tags': tags,
- 'artifacts': {
- 'paths': artifact_paths,
- 'when': 'always',
+ "stage": stage_name,
+ "variables": variables,
+ "script": job_script,
+ "tags": tags,
+ "artifacts": {
+ "paths": artifact_paths,
+ "when": "always",
},
- 'needs': sorted(job_dependencies, key=lambda d: d['job']),
- 'retry': {
- 'max': 2,
- 'when': JOB_RETRY_CONDITIONS,
+ "needs": sorted(job_dependencies, key=lambda d: d["job"]),
+ "retry": {
+ "max": 2,
+ "when": JOB_RETRY_CONDITIONS,
},
- 'interruptible': True
+ "interruptible": True,
}
length_needs = len(job_dependencies)
@@ -1136,17 +1145,17 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
max_needs_job = job_name
if before_script:
- job_object['before_script'] = before_script
+ job_object["before_script"] = before_script
if after_script:
- job_object['after_script'] = after_script
+ job_object["after_script"] = after_script
if image_name:
- job_object['image'] = image_name
+ job_object["image"] = image_name
if image_entry is not None:
- job_object['image'] = {
- 'name': image_name,
- 'entrypoint': image_entry,
+ job_object["image"] = {
+ "name": image_name,
+ "entrypoint": image_entry,
}
output_object[job_name] = job_object
@@ -1154,115 +1163,106 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
if print_summary:
for phase in phases:
- phase_name = phase['name']
+ phase_name = phase["name"]
tty.msg('Stages for phase "{0}"'.format(phase_name))
phase_stages = staged_phases[phase_name]
_print_staging_summary(*phase_stages)
- tty.debug('{0} build jobs generated in {1} stages'.format(
- job_id, stage_id))
+ tty.debug("{0} build jobs generated in {1} stages".format(job_id, stage_id))
if job_id > 0:
- tty.debug('The max_needs_job is {0}, with {1} needs'.format(
- max_needs_job, max_length_needs))
+ tty.debug(
+ "The max_needs_job is {0}, with {1} needs".format(max_needs_job, max_length_needs)
+ )
# Use "all_job_names" to populate the build group for this set
if enable_cdash_reporting and cdash_auth_token:
try:
- _populate_buildgroup(all_job_names, build_group, cdash_project,
- cdash_site, cdash_auth_token, cdash_url)
+ _populate_buildgroup(
+ all_job_names, build_group, cdash_project, cdash_site, cdash_auth_token, cdash_url
+ )
except (SpackError, HTTPError, URLError) as err:
- tty.warn('Problem populating buildgroup: {0}'.format(err))
+ tty.warn("Problem populating buildgroup: {0}".format(err))
else:
- tty.warn('Unable to populate buildgroup without CDash credentials')
+ tty.warn("Unable to populate buildgroup without CDash credentials")
service_job_config = None
- if 'service-job-attributes' in gitlab_ci:
- service_job_config = gitlab_ci['service-job-attributes']
+ if "service-job-attributes" in gitlab_ci:
+ service_job_config = gitlab_ci["service-job-attributes"]
default_attrs = [
- 'image',
- 'tags',
- 'variables',
- 'before_script',
+ "image",
+ "tags",
+ "variables",
+ "before_script",
# 'script',
- 'after_script',
+ "after_script",
]
- service_job_retries = {
- 'max': 2,
- 'when': [
- 'runner_system_failure',
- 'stuck_or_timeout_failure'
- ]
- }
+ service_job_retries = {"max": 2, "when": ["runner_system_failure", "stuck_or_timeout_failure"]}
if job_id > 0:
if temp_storage_url_prefix:
# There were some rebuild jobs scheduled, so we will need to
# schedule a job to clean up the temporary storage location
# associated with this pipeline.
- stage_names.append('cleanup-temp-storage')
+ stage_names.append("cleanup-temp-storage")
cleanup_job = {}
if service_job_config:
- _copy_attributes(default_attrs,
- service_job_config,
- cleanup_job)
-
- if 'tags' in cleanup_job:
- service_tags = _remove_reserved_tags(cleanup_job['tags'])
- cleanup_job['tags'] = service_tags
-
- cleanup_job['stage'] = 'cleanup-temp-storage'
- cleanup_job['script'] = [
- 'spack -d mirror destroy --mirror-url {0}/$CI_PIPELINE_ID'.format(
- temp_storage_url_prefix)
+ _copy_attributes(default_attrs, service_job_config, cleanup_job)
+
+ if "tags" in cleanup_job:
+ service_tags = _remove_reserved_tags(cleanup_job["tags"])
+ cleanup_job["tags"] = service_tags
+
+ cleanup_job["stage"] = "cleanup-temp-storage"
+ cleanup_job["script"] = [
+ "spack -d mirror destroy --mirror-url {0}/$CI_PIPELINE_ID".format(
+ temp_storage_url_prefix
+ )
]
- cleanup_job['when'] = 'always'
- cleanup_job['retry'] = service_job_retries
- cleanup_job['interruptible'] = True
+ cleanup_job["when"] = "always"
+ cleanup_job["retry"] = service_job_retries
+ cleanup_job["interruptible"] = True
- output_object['cleanup'] = cleanup_job
+ output_object["cleanup"] = cleanup_job
- if ('signing-job-attributes' in gitlab_ci and
- spack_pipeline_type == 'spack_protected_branch'):
+ if (
+ "signing-job-attributes" in gitlab_ci
+ and spack_pipeline_type == "spack_protected_branch"
+ ):
# External signing: generate a job to check and sign binary pkgs
- stage_names.append('stage-sign-pkgs')
- signing_job_config = gitlab_ci['signing-job-attributes']
+ stage_names.append("stage-sign-pkgs")
+ signing_job_config = gitlab_ci["signing-job-attributes"]
signing_job = {}
signing_job_attrs_to_copy = [
- 'image',
- 'tags',
- 'variables',
- 'before_script',
- 'script',
- 'after_script',
+ "image",
+ "tags",
+ "variables",
+ "before_script",
+ "script",
+ "after_script",
]
- _copy_attributes(signing_job_attrs_to_copy,
- signing_job_config,
- signing_job)
+ _copy_attributes(signing_job_attrs_to_copy, signing_job_config, signing_job)
signing_job_tags = []
- if 'tags' in signing_job:
- signing_job_tags = _remove_reserved_tags(signing_job['tags'])
+ if "tags" in signing_job:
+ signing_job_tags = _remove_reserved_tags(signing_job["tags"])
- for tag in ['aws', 'protected', 'notary']:
+ for tag in ["aws", "protected", "notary"]:
if tag not in signing_job_tags:
signing_job_tags.append(tag)
- signing_job['tags'] = signing_job_tags
+ signing_job["tags"] = signing_job_tags
- signing_job['stage'] = 'stage-sign-pkgs'
- signing_job['when'] = 'always'
- signing_job['retry'] = {
- 'max': 2,
- 'when': ['always']
- }
- signing_job['interruptible'] = True
+ signing_job["stage"] = "stage-sign-pkgs"
+ signing_job["when"] = "always"
+ signing_job["retry"] = {"max": 2, "when": ["always"]}
+ signing_job["interruptible"] = True
- output_object['sign-pkgs'] = signing_job
+ output_object["sign-pkgs"] = signing_job
if spack_buildcache_copy:
# Generate a job to copy the contents from wherever the builds are getting
@@ -1271,54 +1271,52 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
src_url = remote_mirror_override or remote_mirror_url
dest_url = spack_buildcache_copy
- stage_names.append('stage-copy-buildcache')
+ stage_names.append("stage-copy-buildcache")
copy_job = {
- 'stage': 'stage-copy-buildcache',
- 'tags': ['spack', 'public', 'medium', 'aws', 'x86_64'],
- 'image': 'ghcr.io/spack/python-aws-bash:0.0.1',
- 'when': 'on_success',
- 'interruptible': True,
- 'retry': service_job_retries,
- 'script': [
- '. ./share/spack/setup-env.sh',
- 'spack --version',
- 'aws s3 sync --exclude *index.json* --exclude *pgp* {0} {1}'.format(
- src_url, dest_url)
- ]
+ "stage": "stage-copy-buildcache",
+ "tags": ["spack", "public", "medium", "aws", "x86_64"],
+ "image": "ghcr.io/spack/python-aws-bash:0.0.1",
+ "when": "on_success",
+ "interruptible": True,
+ "retry": service_job_retries,
+ "script": [
+ ". ./share/spack/setup-env.sh",
+ "spack --version",
+ "aws s3 sync --exclude *index.json* --exclude *pgp* {0} {1}".format(
+ src_url, dest_url
+ ),
+ ],
}
- output_object['copy-mirror'] = copy_job
+ output_object["copy-mirror"] = copy_job
if rebuild_index_enabled:
# Add a final job to regenerate the index
- stage_names.append('stage-rebuild-index')
+ stage_names.append("stage-rebuild-index")
final_job = {}
if service_job_config:
- _copy_attributes(default_attrs,
- service_job_config,
- final_job)
+ _copy_attributes(default_attrs, service_job_config, final_job)
- if 'tags' in final_job:
- service_tags = _remove_reserved_tags(final_job['tags'])
- final_job['tags'] = service_tags
+ if "tags" in final_job:
+ service_tags = _remove_reserved_tags(final_job["tags"])
+ final_job["tags"] = service_tags
index_target_mirror = mirror_urls[0]
if remote_mirror_override:
index_target_mirror = remote_mirror_override
- final_job['stage'] = 'stage-rebuild-index'
- final_job['script'] = [
- 'spack buildcache update-index --keys -d {0}'.format(
- index_target_mirror)
+ final_job["stage"] = "stage-rebuild-index"
+ final_job["script"] = [
+ "spack buildcache update-index --keys -d {0}".format(index_target_mirror)
]
- final_job['when'] = 'always'
- final_job['retry'] = service_job_retries
- final_job['interruptible'] = True
+ final_job["when"] = "always"
+ final_job["retry"] = service_job_retries
+ final_job["interruptible"] = True
- output_object['rebuild-index'] = final_job
+ output_object["rebuild-index"] = final_job
- output_object['stages'] = stage_names
+ output_object["stages"] = stage_names
# Capture the version of spack used to generate the pipeline, transform it
# into a value that can be passed to "git checkout", and save it in a
@@ -1327,7 +1325,7 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
version_to_clone = None
v_match = re.match(r"^\d+\.\d+\.\d+$", spack_version)
if v_match:
- version_to_clone = 'v{0}'.format(v_match.group(0))
+ version_to_clone = "v{0}".format(v_match.group(0))
else:
v_match = re.match(r"^[^-]+-[^-]+-([a-f\d]+)$", spack_version)
if v_match:
@@ -1335,25 +1333,24 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
else:
version_to_clone = spack_version
- output_object['variables'] = {
- 'SPACK_ARTIFACTS_ROOT': rel_artifacts_root,
- 'SPACK_CONCRETE_ENV_DIR': rel_concrete_env_dir,
- 'SPACK_VERSION': spack_version,
- 'SPACK_CHECKOUT_VERSION': version_to_clone,
- 'SPACK_REMOTE_MIRROR_URL': remote_mirror_url,
- 'SPACK_JOB_LOG_DIR': rel_job_log_dir,
- 'SPACK_JOB_REPRO_DIR': rel_job_repro_dir,
- 'SPACK_LOCAL_MIRROR_DIR': rel_local_mirror_dir,
- 'SPACK_PIPELINE_TYPE': str(spack_pipeline_type)
+ output_object["variables"] = {
+ "SPACK_ARTIFACTS_ROOT": rel_artifacts_root,
+ "SPACK_CONCRETE_ENV_DIR": rel_concrete_env_dir,
+ "SPACK_VERSION": spack_version,
+ "SPACK_CHECKOUT_VERSION": version_to_clone,
+ "SPACK_REMOTE_MIRROR_URL": remote_mirror_url,
+ "SPACK_JOB_LOG_DIR": rel_job_log_dir,
+ "SPACK_JOB_REPRO_DIR": rel_job_repro_dir,
+ "SPACK_LOCAL_MIRROR_DIR": rel_local_mirror_dir,
+ "SPACK_PIPELINE_TYPE": str(spack_pipeline_type),
}
if remote_mirror_override:
- (output_object['variables']
- ['SPACK_REMOTE_MIRROR_OVERRIDE']) = remote_mirror_override
+ (output_object["variables"]["SPACK_REMOTE_MIRROR_OVERRIDE"]) = remote_mirror_override
- spack_stack_name = os.environ.get('SPACK_CI_STACK_NAME', None)
+ spack_stack_name = os.environ.get("SPACK_CI_STACK_NAME", None)
if spack_stack_name:
- output_object['variables']['SPACK_CI_STACK_NAME'] = spack_stack_name
+ output_object["variables"]["SPACK_CI_STACK_NAME"] = spack_stack_name
sorted_output = {}
for output_key, output_value in sorted(output_object.items()):
@@ -1362,52 +1359,53 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
# TODO(opadron): remove this or refactor
if run_optimizer:
import spack.ci_optimization as ci_opt
+
sorted_output = ci_opt.optimizer(sorted_output)
# TODO(opadron): remove this or refactor
if use_dependencies:
import spack.ci_needs_workaround as cinw
+
sorted_output = cinw.needs_to_dependencies(sorted_output)
else:
# No jobs were generated
- tty.debug('No specs to rebuild, generating no-op job')
+ tty.debug("No specs to rebuild, generating no-op job")
noop_job = {}
if service_job_config:
- _copy_attributes(default_attrs,
- service_job_config,
- noop_job)
+ _copy_attributes(default_attrs, service_job_config, noop_job)
- if 'script' not in noop_job:
- noop_job['script'] = [
+ if "script" not in noop_job:
+ noop_job["script"] = [
'echo "All specs already up to date, nothing to rebuild."',
]
- noop_job['retry'] = service_job_retries
+ noop_job["retry"] = service_job_retries
- sorted_output = {'no-specs-to-rebuild': noop_job}
+ sorted_output = {"no-specs-to-rebuild": noop_job}
if known_broken_specs_encountered:
error_msg = (
- 'Pipeline generation failed due to the presence of the '
- 'following specs that are known to be broken in develop:\n')
+ "Pipeline generation failed due to the presence of the "
+ "following specs that are known to be broken in develop:\n"
+ )
for broken_spec in known_broken_specs_encountered:
- error_msg += '* {0}\n'.format(broken_spec)
+ error_msg += "* {0}\n".format(broken_spec)
tty.die(error_msg)
- with open(output_file, 'w') as outf:
+ with open(output_file, "w") as outf:
outf.write(syaml.dump_config(sorted_output, default_flow_style=True))
def _url_encode_string(input_string):
- encoded_keyval = urlencode({'donotcare': input_string})
- eq_idx = encoded_keyval.find('=') + 1
+ encoded_keyval = urlencode({"donotcare": input_string})
+ eq_idx = encoded_keyval.find("=") + 1
encoded_value = encoded_keyval[eq_idx:]
return encoded_value
def import_signing_key(base64_signing_key):
- """ Given Base64-encoded gpg key, decode and import it to use for
+ """Given Base64-encoded gpg key, decode and import it to use for
signing packages.
Arguments:
@@ -1419,56 +1417,56 @@ def import_signing_key(base64_signing_key):
https://github.com/spack/spack-infrastructure/blob/main/gitlab-docker/files/gen-key
"""
if not base64_signing_key:
- tty.warn('No key found for signing/verifying packages')
+ tty.warn("No key found for signing/verifying packages")
return
- tty.debug('ci.import_signing_key() will attempt to import a key')
+ tty.debug("ci.import_signing_key() will attempt to import a key")
# This command has the side-effect of creating the directory referred
# to as GNUPGHOME in setup_environment()
- list_output = spack_gpg('list', output=str)
+ list_output = spack_gpg("list", output=str)
- tty.debug('spack gpg list:')
+ tty.debug("spack gpg list:")
tty.debug(list_output)
decoded_key = base64.b64decode(base64_signing_key)
if isinstance(decoded_key, bytes):
- decoded_key = decoded_key.decode('utf8')
+ decoded_key = decoded_key.decode("utf8")
with TemporaryDirectory() as tmpdir:
- sign_key_path = os.path.join(tmpdir, 'signing_key')
- with open(sign_key_path, 'w') as fd:
+ sign_key_path = os.path.join(tmpdir, "signing_key")
+ with open(sign_key_path, "w") as fd:
fd.write(decoded_key)
- key_import_output = spack_gpg('trust', sign_key_path, output=str)
- tty.debug('spack gpg trust {0}'.format(sign_key_path))
+ key_import_output = spack_gpg("trust", sign_key_path, output=str)
+ tty.debug("spack gpg trust {0}".format(sign_key_path))
tty.debug(key_import_output)
# Now print the keys we have for verifying and signing
- trusted_keys_output = spack_gpg('list', '--trusted', output=str)
- signing_keys_output = spack_gpg('list', '--signing', output=str)
+ trusted_keys_output = spack_gpg("list", "--trusted", output=str)
+ signing_keys_output = spack_gpg("list", "--signing", output=str)
- tty.debug('spack gpg list --trusted')
+ tty.debug("spack gpg list --trusted")
tty.debug(trusted_keys_output)
- tty.debug('spack gpg list --signing')
+ tty.debug("spack gpg list --signing")
tty.debug(signing_keys_output)
def can_sign_binaries():
- """ Utility method to determine if this spack instance is capable of
- signing binary packages. This is currently only possible if the
- spack gpg keystore contains exactly one secret key."""
+ """Utility method to determine if this spack instance is capable of
+ signing binary packages. This is currently only possible if the
+ spack gpg keystore contains exactly one secret key."""
return len(gpg_util.signing_keys()) == 1
def can_verify_binaries():
- """ Utility method to determin if this spack instance is capable (at
- least in theory) of verifying signed binaries."""
+ """Utility method to determin if this spack instance is capable (at
+ least in theory) of verifying signed binaries."""
return len(gpg_util.public_keys()) >= 1
def configure_compilers(compiler_action, scope=None):
- """ Depending on the compiler_action parameter, either turn on the
+ """Depending on the compiler_action parameter, either turn on the
install_missing_compilers config option, or find spack compilers,
or do nothing. This is used from rebuild jobs in bootstrapping
pipelines, where in the bootsrapping phase we would pass
@@ -1483,30 +1481,30 @@ def configure_compilers(compiler_action, scope=None):
scope (spack.config.ConfigScope): Optional. The scope in which to look for
compilers, in case 'FIND_ANY' was provided.
"""
- if compiler_action == 'INSTALL_MISSING':
- tty.debug('Make sure bootstrapped compiler will be installed')
- config = cfg.get('config')
- config['install_missing_compilers'] = True
- cfg.set('config', config)
- elif compiler_action == 'FIND_ANY':
- tty.debug('Just find any available compiler')
- find_args = ['find']
+ if compiler_action == "INSTALL_MISSING":
+ tty.debug("Make sure bootstrapped compiler will be installed")
+ config = cfg.get("config")
+ config["install_missing_compilers"] = True
+ cfg.set("config", config)
+ elif compiler_action == "FIND_ANY":
+ tty.debug("Just find any available compiler")
+ find_args = ["find"]
if scope:
- find_args.extend(['--scope', scope])
+ find_args.extend(["--scope", scope])
output = spack_compiler(*find_args)
- tty.debug('spack compiler find')
+ tty.debug("spack compiler find")
tty.debug(output)
- output = spack_compiler('list')
- tty.debug('spack compiler list')
+ output = spack_compiler("list")
+ tty.debug("spack compiler list")
tty.debug(output)
else:
- tty.debug('No compiler action to be taken')
+ tty.debug("No compiler action to be taken")
return None
def get_concrete_specs(env, root_spec, job_name, compiler_action):
- """ Build a dictionary of concrete specs relevant to a particular
+ """Build a dictionary of concrete specs relevant to a particular
rebuild job. This includes the root spec and the spec to be
rebuilt (which could be the same).
@@ -1536,17 +1534,17 @@ def get_concrete_specs(env, root_spec, job_name, compiler_action):
"""
spec_map = {
- 'root': None,
+ "root": None,
}
- if compiler_action == 'FIND_ANY':
+ if compiler_action == "FIND_ANY":
# This corresponds to a bootstrapping phase where we need to
# rely on any available compiler to build the package (i.e. the
# compiler needed to be stripped from the spec when we generated
# the job), and thus we need to concretize the root spec again.
- tty.debug('About to concretize {0}'.format(root_spec))
+ tty.debug("About to concretize {0}".format(root_spec))
concrete_root = Spec(root_spec).concretized()
- tty.debug('Resulting concrete root: {0}'.format(concrete_root))
+ tty.debug("Resulting concrete root: {0}".format(concrete_root))
else:
# in this case, either we're relying on Spack to install missing
# compiler bootstrapped in a previous phase, or else we only had one
@@ -1557,7 +1555,7 @@ def get_concrete_specs(env, root_spec, job_name, compiler_action):
# going to ask spack to "install_missing_compilers".
concrete_root = env.specs_by_hash[root_spec]
- spec_map['root'] = concrete_root
+ spec_map["root"] = concrete_root
spec_map[job_name] = concrete_root[job_name]
return spec_map
@@ -1566,22 +1564,17 @@ def get_concrete_specs(env, root_spec, job_name, compiler_action):
def _push_mirror_contents(env, specfile_path, sign_binaries, mirror_url):
"""Unchecked version of the public API, for easier mocking"""
unsigned = not sign_binaries
- tty.debug('Creating buildcache ({0})'.format(
- 'unsigned' if unsigned else 'signed'))
+ tty.debug("Creating buildcache ({0})".format("unsigned" if unsigned else "signed"))
hashes = env.all_hashes() if env else None
matches = spack.store.specfile_matches(specfile_path, hashes=hashes)
push_url = spack.mirror.push_url_from_mirror_url(mirror_url)
- spec_kwargs = {'include_root': True, 'include_dependencies': False}
- kwargs = {
- 'force': True,
- 'allow_root': True,
- 'unsigned': unsigned
- }
+ spec_kwargs = {"include_root": True, "include_dependencies": False}
+ kwargs = {"force": True, "allow_root": True, "unsigned": unsigned}
bindist.push(matches, push_url, spec_kwargs, **kwargs)
def push_mirror_contents(env, specfile_path, mirror_url, sign_binaries):
- """ Push one or more binary packages to the mirror.
+ """Push one or more binary packages to the mirror.
Arguments:
@@ -1608,17 +1601,16 @@ def push_mirror_contents(env, specfile_path, mirror_url, sign_binaries):
# Exception
# BaseException
# object
- err_msg = 'Error msg: {0}'.format(inst)
- if any(x in err_msg for x in ['Access Denied', 'InvalidAccessKeyId']):
- tty.msg('Permission problem writing to {0}'.format(
- mirror_url))
+ err_msg = "Error msg: {0}".format(inst)
+ if any(x in err_msg for x in ["Access Denied", "InvalidAccessKeyId"]):
+ tty.msg("Permission problem writing to {0}".format(mirror_url))
tty.msg(err_msg)
else:
raise inst
def copy_stage_logs_to_artifacts(job_spec, job_log_dir):
- """ Looks for spack-build-out.txt in the stage directory of the given
+ """Looks for spack-build-out.txt in the stage directory of the given
job_spec, and attempts to copy the file into the directory given
by job_log_dir.
@@ -1630,23 +1622,24 @@ def copy_stage_logs_to_artifacts(job_spec, job_log_dir):
try:
pkg_cls = spack.repo.path.get_pkg_class(job_spec.name)
job_pkg = pkg_cls(job_spec)
- tty.debug('job package: {0.fullname}'.format(job_pkg))
+ tty.debug("job package: {0.fullname}".format(job_pkg))
stage_dir = job_pkg.stage.path
- tty.debug('stage dir: {0}'.format(stage_dir))
- build_out_src = os.path.join(stage_dir, 'spack-build-out.txt')
- build_out_dst = os.path.join(
- job_log_dir, 'spack-build-out.txt')
- tty.debug('Copying build log ({0}) to artifacts ({1})'.format(
- build_out_src, build_out_dst))
+ tty.debug("stage dir: {0}".format(stage_dir))
+ build_out_src = os.path.join(stage_dir, "spack-build-out.txt")
+ build_out_dst = os.path.join(job_log_dir, "spack-build-out.txt")
+ tty.debug(
+ "Copying build log ({0}) to artifacts ({1})".format(build_out_src, build_out_dst)
+ )
shutil.copyfile(build_out_src, build_out_dst)
except Exception as inst:
- msg = ('Unable to copy build logs from stage to artifacts '
- 'due to exception: {0}').format(inst)
+ msg = (
+ "Unable to copy build logs from stage to artifacts " "due to exception: {0}"
+ ).format(inst)
tty.error(msg)
def download_and_extract_artifacts(url, work_dir):
- """ Look for gitlab artifacts.zip at the given url, and attempt to download
+ """Look for gitlab artifacts.zip at the given url, and attempt to download
and extract the contents into the given work_dir
Arguments:
@@ -1654,35 +1647,34 @@ def download_and_extract_artifacts(url, work_dir):
url (str): Complete url to artifacts.zip file
work_dir (str): Path to destination where artifacts should be extracted
"""
- tty.msg('Fetching artifacts from: {0}\n'.format(url))
+ tty.msg("Fetching artifacts from: {0}\n".format(url))
headers = {
- 'Content-Type': 'application/zip',
+ "Content-Type": "application/zip",
}
- token = os.environ.get('GITLAB_PRIVATE_TOKEN', None)
+ token = os.environ.get("GITLAB_PRIVATE_TOKEN", None)
if token:
- headers['PRIVATE-TOKEN'] = token
+ headers["PRIVATE-TOKEN"] = token
opener = build_opener(HTTPHandler)
request = Request(url, headers=headers)
- request.get_method = lambda: 'GET'
+ request.get_method = lambda: "GET"
response = opener.open(request)
response_code = response.getcode()
if response_code != 200:
- msg = 'Error response code ({0}) in reproduce_ci_job'.format(
- response_code)
+ msg = "Error response code ({0}) in reproduce_ci_job".format(response_code)
raise SpackError(msg)
- artifacts_zip_path = os.path.join(work_dir, 'artifacts.zip')
+ artifacts_zip_path = os.path.join(work_dir, "artifacts.zip")
if not os.path.exists(work_dir):
os.makedirs(work_dir)
- with open(artifacts_zip_path, 'wb') as out_file:
+ with open(artifacts_zip_path, "wb") as out_file:
shutil.copyfileobj(response, out_file)
zip_file = zipfile.ZipFile(artifacts_zip_path)
@@ -1693,24 +1685,22 @@ def download_and_extract_artifacts(url, work_dir):
def get_spack_info():
- """ If spack is running from a git repo, return the most recent git log
- entry, otherwise, return a string containing the spack version. """
+ """If spack is running from a git repo, return the most recent git log
+ entry, otherwise, return a string containing the spack version."""
git_path = os.path.join(spack.paths.prefix, ".git")
if os.path.exists(git_path):
git = exe.which("git")
if git:
with fs.working_dir(spack.paths.prefix):
- git_log = git("log", "-1",
- output=str, error=os.devnull,
- fail_on_error=False)
+ git_log = git("log", "-1", output=str, error=os.devnull, fail_on_error=False)
return git_log
- return 'no git repo, use spack {0}'.format(spack.spack_version)
+ return "no git repo, use spack {0}".format(spack.spack_version)
def setup_spack_repro_version(repro_dir, checkout_commit, merge_commit=None):
- """ Look in the local spack clone to find the checkout_commit, and if
+ """Look in the local spack clone to find the checkout_commit, and if
provided, the merge_commit given as arguments. If those commits can
be found locally, then clone spack and attempt to recreate a merge
commit with the same parent commits as tested in gitlab. This looks
@@ -1729,12 +1719,12 @@ def setup_spack_repro_version(repro_dir, checkout_commit, merge_commit=None):
"""
# figure out the path to the spack git version being used for the
# reproduction
- print('checkout_commit: {0}'.format(checkout_commit))
- print('merge_commit: {0}'.format(merge_commit))
+ print("checkout_commit: {0}".format(checkout_commit))
+ print("merge_commit: {0}".format(merge_commit))
dot_git_path = os.path.join(spack.paths.prefix, ".git")
if not os.path.exists(dot_git_path):
- tty.error('Unable to find the path to your local spack clone')
+ tty.error("Unable to find the path to your local spack clone")
return False
spack_git_path = spack.paths.prefix
@@ -1746,54 +1736,59 @@ def setup_spack_repro_version(repro_dir, checkout_commit, merge_commit=None):
# Check if we can find the tested commits in your local spack repo
with fs.working_dir(spack_git_path):
- git("log", "-1", checkout_commit, output=str, error=os.devnull,
- fail_on_error=False)
+ git("log", "-1", checkout_commit, output=str, error=os.devnull, fail_on_error=False)
if git.returncode != 0:
- tty.error('Missing commit: {0}'.format(checkout_commit))
+ tty.error("Missing commit: {0}".format(checkout_commit))
return False
if merge_commit:
- git("log", "-1", merge_commit, output=str, error=os.devnull,
- fail_on_error=False)
+ git("log", "-1", merge_commit, output=str, error=os.devnull, fail_on_error=False)
if git.returncode != 0:
- tty.error('Missing commit: {0}'.format(merge_commit))
+ tty.error("Missing commit: {0}".format(merge_commit))
return False
# Next attempt to clone your local spack repo into the repro dir
with fs.working_dir(repro_dir):
- clone_out = git("clone", spack_git_path, "spack",
- output=str, error=os.devnull,
- fail_on_error=False)
+ clone_out = git(
+ "clone", spack_git_path, "spack", output=str, error=os.devnull, fail_on_error=False
+ )
if git.returncode != 0:
- tty.error('Unable to clone your local spack repo:')
+ tty.error("Unable to clone your local spack repo:")
tty.msg(clone_out)
return False
# Finally, attempt to put the cloned repo into the same state used during
# the pipeline build job
- repro_spack_path = os.path.join(repro_dir, 'spack')
+ repro_spack_path = os.path.join(repro_dir, "spack")
with fs.working_dir(repro_spack_path):
- co_out = git("checkout", checkout_commit,
- output=str, error=os.devnull,
- fail_on_error=False)
+ co_out = git(
+ "checkout", checkout_commit, output=str, error=os.devnull, fail_on_error=False
+ )
if git.returncode != 0:
- tty.error('Unable to checkout {0}'.format(checkout_commit))
+ tty.error("Unable to checkout {0}".format(checkout_commit))
tty.msg(co_out)
return False
if merge_commit:
- merge_out = git("-c", "user.name=cirepro", "-c",
- "user.email=user@email.org", "merge",
- "--no-edit", merge_commit,
- output=str, error=os.devnull,
- fail_on_error=False)
+ merge_out = git(
+ "-c",
+ "user.name=cirepro",
+ "-c",
+ "user.email=user@email.org",
+ "merge",
+ "--no-edit",
+ merge_commit,
+ output=str,
+ error=os.devnull,
+ fail_on_error=False,
+ )
if git.returncode != 0:
- tty.error('Unable to merge {0}'.format(merge_commit))
+ tty.error("Unable to merge {0}".format(merge_commit))
tty.msg(merge_out)
return False
@@ -1801,31 +1796,30 @@ def setup_spack_repro_version(repro_dir, checkout_commit, merge_commit=None):
def reproduce_ci_job(url, work_dir):
- """ Given a url to gitlab artifacts.zip from a failed 'spack ci rebuild' job,
- attempt to setup an environment in which the failure can be reproduced
- locally. This entails the following:
-
- First download and extract artifacts. Then look through those artifacts
- to glean some information needed for the reproduer (e.g. one of the
- artifacts contains information about the version of spack tested by
- gitlab, another is the generated pipeline yaml containing details
- of the job like the docker image used to run it). The output of this
- function is a set of printed instructions for running docker and then
- commands to run to reproduce the build once inside the container.
+ """Given a url to gitlab artifacts.zip from a failed 'spack ci rebuild' job,
+ attempt to setup an environment in which the failure can be reproduced
+ locally. This entails the following:
+
+ First download and extract artifacts. Then look through those artifacts
+ to glean some information needed for the reproduer (e.g. one of the
+ artifacts contains information about the version of spack tested by
+ gitlab, another is the generated pipeline yaml containing details
+ of the job like the docker image used to run it). The output of this
+ function is a set of printed instructions for running docker and then
+ commands to run to reproduce the build once inside the container.
"""
download_and_extract_artifacts(url, work_dir)
- lock_file = fs.find(work_dir, 'spack.lock')[0]
+ lock_file = fs.find(work_dir, "spack.lock")[0]
concrete_env_dir = os.path.dirname(lock_file)
- tty.debug('Concrete environment directory: {0}'.format(
- concrete_env_dir))
+ tty.debug("Concrete environment directory: {0}".format(concrete_env_dir))
- yaml_files = fs.find(work_dir, ['*.yaml', '*.yml'])
+ yaml_files = fs.find(work_dir, ["*.yaml", "*.yml"])
- tty.debug('yaml files:')
+ tty.debug("yaml files:")
for yaml_file in yaml_files:
- tty.debug(' {0}'.format(yaml_file))
+ tty.debug(" {0}".format(yaml_file))
pipeline_yaml = None
@@ -1836,14 +1830,14 @@ def reproduce_ci_job(url, work_dir):
for yf in yaml_files:
with open(yf) as y_fd:
yaml_obj = syaml.load(y_fd)
- if 'variables' in yaml_obj and 'stages' in yaml_obj:
+ if "variables" in yaml_obj and "stages" in yaml_obj:
pipeline_yaml = yaml_obj
if pipeline_yaml:
- tty.debug('\n{0} is likely your pipeline file'.format(yf))
+ tty.debug("\n{0} is likely your pipeline file".format(yf))
# Find the install script in the unzipped artifacts and make it executable
- install_script = fs.find(work_dir, 'install.sh')[0]
+ install_script = fs.find(work_dir, "install.sh")[0]
st = os.stat(install_script)
os.chmod(install_script, st.st_mode | stat.S_IEXEC)
@@ -1851,40 +1845,40 @@ def reproduce_ci_job(url, work_dir):
# during `spack ci rebuild` to make reproduction easier. E.g. the job
# name is written here so we can easily find the configuration of the
# job from the generated pipeline file.
- repro_file = fs.find(work_dir, 'repro.json')[0]
+ repro_file = fs.find(work_dir, "repro.json")[0]
repro_details = None
with open(repro_file) as fd:
repro_details = json.load(fd)
repro_dir = os.path.dirname(repro_file)
- rel_repro_dir = repro_dir.replace(work_dir, '').lstrip(os.path.sep)
+ rel_repro_dir = repro_dir.replace(work_dir, "").lstrip(os.path.sep)
# Find the spack info text file that should contain the git log
# of the HEAD commit used during the CI build
- spack_info_file = fs.find(work_dir, 'spack_info.txt')[0]
+ spack_info_file = fs.find(work_dir, "spack_info.txt")[0]
with open(spack_info_file) as fd:
spack_info = fd.read()
# Access the specific job configuration
- job_name = repro_details['job_name']
+ job_name = repro_details["job_name"]
job_yaml = None
if job_name in pipeline_yaml:
job_yaml = pipeline_yaml[job_name]
if job_yaml:
- tty.debug('Found job:')
+ tty.debug("Found job:")
tty.debug(job_yaml)
job_image = None
setup_result = False
- if 'image' in job_yaml:
- job_image_elt = job_yaml['image']
- if 'name' in job_image_elt:
- job_image = job_image_elt['name']
+ if "image" in job_yaml:
+ job_image_elt = job_yaml["image"]
+ if "name" in job_image_elt:
+ job_image = job_image_elt["name"]
else:
job_image = job_image_elt
- tty.msg('Job ran with the following image: {0}'.format(job_image))
+ tty.msg("Job ran with the following image: {0}".format(job_image))
# Because we found this job was run with a docker image, so we will try
# to print a "docker run" command that bind-mounts the directory where
@@ -1893,9 +1887,9 @@ def reproduce_ci_job(url, work_dir):
# Destination of bind-mounted reproduction directory. It makes for a
# more faithful reproducer if everything appears to run in the same
# absolute path used during the CI build.
- mount_as_dir = '/work'
+ mount_as_dir = "/work"
if repro_details:
- mount_as_dir = repro_details['ci_project_dir']
+ mount_as_dir = repro_details["ci_project_dir"]
mounted_repro_dir = os.path.join(mount_as_dir, rel_repro_dir)
# We will also try to clone spack from your local checkout and
@@ -1927,8 +1921,7 @@ def reproduce_ci_job(url, work_dir):
setup_result = False
if commit_1:
if commit_2:
- setup_result = setup_spack_repro_version(
- work_dir, commit_2, merge_commit=commit_1)
+ setup_result = setup_spack_repro_version(work_dir, commit_2, merge_commit=commit_1)
else:
setup_result = setup_spack_repro_version(work_dir, commit_1)
@@ -1943,8 +1936,10 @@ def reproduce_ci_job(url, work_dir):
Alternatively, you can also manually clone spack if you know the version
you want to test.
"""
- tty.error('Failed to automatically setup the tested version of spack '
- 'in your local reproduction directory.')
+ tty.error(
+ "Failed to automatically setup the tested version of spack "
+ "in your local reproduction directory."
+ )
print(setup_msg)
# In cases where CI build was run on a shell runner, it might be useful
@@ -1952,37 +1947,41 @@ def reproduce_ci_job(url, work_dir):
# runner was used. But in that case in general, we cannot do nearly as
# much to set up the reproducer.
job_tags = None
- if 'tags' in job_yaml:
- job_tags = job_yaml['tags']
- tty.msg('Job ran with the following tags: {0}'.format(job_tags))
+ if "tags" in job_yaml:
+ job_tags = job_yaml["tags"]
+ tty.msg("Job ran with the following tags: {0}".format(job_tags))
inst_list = []
# Finally, print out some instructions to reproduce the build
if job_image:
- inst_list.append('\nRun the following command:\n\n')
- inst_list.append(' $ docker run --rm -v {0}:{1} -ti {2}\n'.format(
- work_dir, mount_as_dir, job_image))
- inst_list.append('\nOnce inside the container:\n\n')
+ inst_list.append("\nRun the following command:\n\n")
+ inst_list.append(
+ " $ docker run --rm -v {0}:{1} -ti {2}\n".format(work_dir, mount_as_dir, job_image)
+ )
+ inst_list.append("\nOnce inside the container:\n\n")
else:
- inst_list.append('\nOnce on the tagged runner:\n\n')
+ inst_list.append("\nOnce on the tagged runner:\n\n")
if not setup_result:
- inst_list.append(' - Clone spack and acquire tested commit\n')
- inst_list.append('{0}'.format(spack_info))
- spack_root = '<spack-clone-path>'
+ inst_list.append(" - Clone spack and acquire tested commit\n")
+ inst_list.append("{0}".format(spack_info))
+ spack_root = "<spack-clone-path>"
else:
- spack_root = '{0}/spack'.format(mount_as_dir)
+ spack_root = "{0}/spack".format(mount_as_dir)
- inst_list.append(' - Activate the environment\n\n')
- inst_list.append(' $ source {0}/share/spack/setup-env.sh\n'.format(
- spack_root))
+ inst_list.append(" - Activate the environment\n\n")
+ inst_list.append(" $ source {0}/share/spack/setup-env.sh\n".format(spack_root))
+ inst_list.append(
+ " $ spack env activate --without-view {0}\n\n".format(
+ mounted_repro_dir if job_image else repro_dir
+ )
+ )
+ inst_list.append(" - Run the install script\n\n")
inst_list.append(
- ' $ spack env activate --without-view {0}\n\n'.format(
- mounted_repro_dir if job_image else repro_dir))
- inst_list.append(' - Run the install script\n\n')
- inst_list.append(' $ {0}\n'.format(
- os.path.join(mounted_repro_dir, 'install.sh')
- if job_image else install_script))
-
- print(''.join(inst_list))
+ " $ {0}\n".format(
+ os.path.join(mounted_repro_dir, "install.sh") if job_image else install_script
+ )
+ )
+
+ print("".join(inst_list))
diff --git a/lib/spack/spack/ci_needs_workaround.py b/lib/spack/spack/ci_needs_workaround.py
index ae4cf33cd3..16f18db0a0 100644
--- a/lib/spack/spack/ci_needs_workaround.py
+++ b/lib/spack/spack/ci_needs_workaround.py
@@ -6,32 +6,29 @@
from llnl.util.compat import Mapping
get_job_name = lambda needs_entry: (
- needs_entry.get('job') if (
- isinstance(needs_entry, Mapping) and
- needs_entry.get('artifacts', True))
-
- else
-
- needs_entry if isinstance(needs_entry, str)
-
- else None)
+ needs_entry.get("job")
+ if (isinstance(needs_entry, Mapping) and needs_entry.get("artifacts", True))
+ else needs_entry
+ if isinstance(needs_entry, str)
+ else None
+)
def convert_job(job_entry):
if not isinstance(job_entry, Mapping):
return job_entry
- needs = job_entry.get('needs')
+ needs = job_entry.get("needs")
if needs is None:
return job_entry
new_job = {}
new_job.update(job_entry)
- del new_job['needs']
+ del new_job["needs"]
- new_job['dependencies'] = list(filter(
- (lambda x: x is not None),
- (get_job_name(needs_entry) for needs_entry in needs)))
+ new_job["dependencies"] = list(
+ filter((lambda x: x is not None), (get_job_name(needs_entry) for needs_entry in needs))
+ )
return new_job
diff --git a/lib/spack/spack/ci_optimization.py b/lib/spack/spack/ci_optimization.py
index c50b2bfb1b..f4f05f0acb 100644
--- a/lib/spack/spack/ci_optimization.py
+++ b/lib/spack/spack/ci_optimization.py
@@ -15,9 +15,8 @@ import spack.util.spack_yaml as syaml
def sort_yaml_obj(obj):
if isinstance(obj, Mapping):
return syaml.syaml_dict(
- (k, sort_yaml_obj(v))
- for k, v in
- sorted(obj.items(), key=(lambda item: str(item[0]))))
+ (k, sort_yaml_obj(v)) for k, v in sorted(obj.items(), key=(lambda item: str(item[0])))
+ )
if isinstance(obj, Sequence) and not isinstance(obj, str):
return syaml.syaml_list(sort_yaml_obj(x) for x in obj)
@@ -43,25 +42,17 @@ def matches(obj, proto):
if not isinstance(proto, Mapping):
return False
- return all(
- (key in obj and matches(obj[key], val))
- for key, val in proto.items()
- )
+ return all((key in obj and matches(obj[key], val)) for key, val in proto.items())
- if (isinstance(obj, Sequence) and
- not isinstance(obj, str)):
+ if isinstance(obj, Sequence) and not isinstance(obj, str):
- if not (isinstance(proto, Sequence) and
- not isinstance(proto, str)):
+ if not (isinstance(proto, Sequence) and not isinstance(proto, str)):
return False
if len(obj) != len(proto):
return False
- return all(
- matches(obj[index], val)
- for index, val in enumerate(proto)
- )
+ return all(matches(obj[index], val) for index, val in enumerate(proto))
return obj == proto
@@ -85,8 +76,7 @@ def subkeys(obj, proto):
Otherwise, obj is returned.
"""
- if not (isinstance(obj, Mapping) and
- isinstance(proto, Mapping)):
+ if not (isinstance(obj, Mapping) and isinstance(proto, Mapping)):
return obj
new_obj = {}
@@ -95,8 +85,7 @@ def subkeys(obj, proto):
new_obj[key] = value
continue
- if (matches(value, proto[key]) and
- matches(proto[key], value)):
+ if matches(value, proto[key]) and matches(proto[key], value):
continue
if isinstance(value, Mapping):
@@ -124,19 +113,19 @@ def add_extends(yaml, key):
Otherwise, yaml is left unchanged.
"""
- has_key = ('extends' in yaml)
- extends = yaml.get('extends')
+ has_key = "extends" in yaml
+ extends = yaml.get("extends")
if has_key and not isinstance(extends, (str, Sequence)):
return
if extends is None:
- yaml['extends'] = key
+ yaml["extends"] = key
return
if isinstance(extends, str):
if extends != key:
- yaml['extends'] = [extends, key]
+ yaml["extends"] = [extends, key]
return
if key not in extends:
@@ -164,11 +153,11 @@ def common_subobject(yaml, sub):
if not match_list:
return yaml, None
- common_prefix = '.c'
+ common_prefix = ".c"
common_index = 0
while True:
- common_key = ''.join((common_prefix, str(common_index)))
+ common_key = "".join((common_prefix, str(common_index)))
if common_key not in yaml:
break
common_index += 1
@@ -195,22 +184,18 @@ def print_delta(name, old, new, applied=None):
reldelta = (reldelta // 10, reldelta % 10)
if applied is None:
- applied = (new <= old)
-
- print('\n'.join((
- '{0} {1}:',
- ' before: {2: 10d}',
- ' after : {3: 10d}',
- ' delta : {4:+10d} ({5:=+3d}.{6}%)',
- )).format(
- name,
- ('+' if applied else 'x'),
- old,
- new,
- delta,
- reldelta[0],
- reldelta[1]
- ))
+ applied = new <= old
+
+ print(
+ "\n".join(
+ (
+ "{0} {1}:",
+ " before: {2: 10d}",
+ " after : {3: 10d}",
+ " delta : {4:+10d} ({5:=+3d}.{6}%)",
+ )
+ ).format(name, ("+" if applied else "x"), old, new, delta, reldelta[0], reldelta[1])
+ )
def try_optimization_pass(name, yaml, optimization_pass, *args, **kwargs):
@@ -243,13 +228,11 @@ def try_optimization_pass(name, yaml, optimization_pass, *args, **kwargs):
# pass was not applied
return (yaml, new_yaml, False, other_results)
- pre_size = len(syaml.dump_config(
- sort_yaml_obj(yaml), default_flow_style=True))
- post_size = len(syaml.dump_config(
- sort_yaml_obj(new_yaml), default_flow_style=True))
+ pre_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True))
+ post_size = len(syaml.dump_config(sort_yaml_obj(new_yaml), default_flow_style=True))
# pass makes the size worse: not applying
- applied = (post_size <= pre_size)
+ applied = post_size <= pre_size
if applied:
yaml, new_yaml = new_yaml, yaml
@@ -297,69 +280,62 @@ def build_histogram(iterator, key):
buckets[value_hash] += 1
values[value_hash] = val
- return [(h, buckets[h], float(buckets[h]) / num_objects, values[h])
- for h in sorted(buckets.keys(), key=lambda k: -buckets[k])]
+ return [
+ (h, buckets[h], float(buckets[h]) / num_objects, values[h])
+ for h in sorted(buckets.keys(), key=lambda k: -buckets[k])
+ ]
def optimizer(yaml):
- original_size = len(syaml.dump_config(
- sort_yaml_obj(yaml), default_flow_style=True))
+ original_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True))
# try factoring out commonly repeated portions
common_job = {
- 'variables': {
- 'SPACK_COMPILER_ACTION': 'NONE'
- },
-
- 'after_script': ['rm -rf "./spack"'],
-
- 'artifacts': {
- 'paths': ['jobs_scratch_dir', 'cdash_report'],
- 'when': 'always'
- },
+ "variables": {"SPACK_COMPILER_ACTION": "NONE"},
+ "after_script": ['rm -rf "./spack"'],
+ "artifacts": {"paths": ["jobs_scratch_dir", "cdash_report"], "when": "always"},
}
# look for a list of tags that appear frequently
- _, count, proportion, tags = next(iter(
- build_histogram(yaml.values(), 'tags')),
- (None,) * 4)
+ _, count, proportion, tags = next(iter(build_histogram(yaml.values(), "tags")), (None,) * 4)
# If a list of tags is found, and there are more than one job that uses it,
# *and* the jobs that do use it represent at least 70% of all jobs, then
# add the list to the prototype object.
if tags and count > 1 and proportion >= 0.70:
- common_job['tags'] = tags
+ common_job["tags"] = tags
# apply common object factorization
yaml, other, applied, rest = try_optimization_pass(
- 'general common object factorization',
- yaml, common_subobject, common_job)
+ "general common object factorization", yaml, common_subobject, common_job
+ )
# look for a common script, and try factoring that out
- _, count, proportion, script = next(iter(
- build_histogram(yaml.values(), 'script')),
- (None,) * 4)
+ _, count, proportion, script = next(
+ iter(build_histogram(yaml.values(), "script")), (None,) * 4
+ )
if script and count > 1 and proportion >= 0.70:
yaml, other, applied, rest = try_optimization_pass(
- 'script factorization',
- yaml, common_subobject, {'script': script})
+ "script factorization", yaml, common_subobject, {"script": script}
+ )
# look for a common before_script, and try factoring that out
- _, count, proportion, script = next(iter(
- build_histogram(yaml.values(), 'before_script')),
- (None,) * 4)
+ _, count, proportion, script = next(
+ iter(build_histogram(yaml.values(), "before_script")), (None,) * 4
+ )
if script and count > 1 and proportion >= 0.70:
yaml, other, applied, rest = try_optimization_pass(
- 'before_script factorization',
- yaml, common_subobject, {'before_script': script})
+ "before_script factorization", yaml, common_subobject, {"before_script": script}
+ )
# Look specifically for the SPACK_ROOT_SPEC environment variables.
# Try to factor them out.
- h = build_histogram((
- getattr(val, 'get', lambda *args: {})('variables')
- for val in yaml.values()), 'SPACK_ROOT_SPEC')
+ h = build_histogram(
+ (getattr(val, "get", lambda *args: {})("variables") for val in yaml.values()),
+ "SPACK_ROOT_SPEC",
+ )
# In this case, we try to factor out *all* instances of the SPACK_ROOT_SPEC
# environment variable; not just the one that appears with the greatest
@@ -374,15 +350,15 @@ def optimizer(yaml):
counter += 1
yaml, other, applied, rest = try_optimization_pass(
- 'SPACK_ROOT_SPEC factorization ({count})'.format(count=counter),
+ "SPACK_ROOT_SPEC factorization ({count})".format(count=counter),
yaml,
common_subobject,
- {'variables': {'SPACK_ROOT_SPEC': spec}})
+ {"variables": {"SPACK_ROOT_SPEC": spec}},
+ )
- new_size = len(syaml.dump_config(
- sort_yaml_obj(yaml), default_flow_style=True))
+ new_size = len(syaml.dump_config(sort_yaml_obj(yaml), default_flow_style=True))
- print('\n')
- print_delta('overall summary', original_size, new_size)
- print('\n')
+ print("\n")
+ print_delta("overall summary", original_size, new_size)
+ print("\n")
return yaml
diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py
index 608db2776b..49e5c70019 100644
--- a/lib/spack/spack/cmd/__init__.py
+++ b/lib/spack/spack/cmd/__init__.py
@@ -38,7 +38,7 @@ import spack.util.string
python_list = list
# Patterns to ignore in the commands directory when looking for commands.
-ignore_files = r'^\.|^__init__.py$|^#'
+ignore_files = r"^\.|^__init__.py$|^#"
SETUP_PARSER = "setup_parser"
DESCRIPTION = "description"
@@ -59,7 +59,7 @@ def require_python_name(pname):
def cmd_name(python_name):
"""Convert module name (with ``_``) to command name (with ``-``)."""
- return python_name.replace('_', '-')
+ return python_name.replace("_", "-")
def require_cmd_name(cname):
@@ -90,7 +90,7 @@ def all_commands():
for path in command_paths:
for file in os.listdir(path):
if file.endswith(".py") and not re.search(ignore_files, file):
- cmd = re.sub(r'.py$', '', file)
+ cmd = re.sub(r".py$", "", file)
_all_commands.append(cmd_name(cmd))
_all_commands.sort()
@@ -102,7 +102,7 @@ def remove_options(parser, *options):
"""Remove some options from a parser."""
for option in options:
for action in parser._actions:
- if vars(action)['option_strings'][0] == option:
+ if vars(action)["option_strings"][0] == option:
parser._handle_conflict_resolve(None, [(option, action)])
break
@@ -120,10 +120,8 @@ def get_module(cmd_name):
try:
# Try to import the command from the built-in directory
module_name = "%s.%s" % (__name__, pname)
- module = __import__(module_name,
- fromlist=[pname, SETUP_PARSER, DESCRIPTION],
- level=0)
- tty.debug('Imported {0} from built-in commands'.format(pname))
+ module = __import__(module_name, fromlist=[pname, SETUP_PARSER, DESCRIPTION], level=0)
+ tty.debug("Imported {0} from built-in commands".format(pname))
except ImportError:
module = spack.extensions.get_module(cmd_name)
@@ -131,8 +129,10 @@ def get_module(cmd_name):
attr_setdefault(module, DESCRIPTION, "")
if not hasattr(module, pname):
- tty.die("Command module %s (%s) must define function '%s'." %
- (module.__name__, module.__file__, pname))
+ tty.die(
+ "Command module %s (%s) must define function '%s'."
+ % (module.__name__, module.__file__, pname)
+ )
return module
@@ -161,8 +161,9 @@ class _UnquotedFlags(object):
flags_arg_pattern = re.compile(
r'^({0})=([^\'"].*)$'.format(
- '|'.join(spack.spec.FlagMap.valid_compiler_flags()),
- ))
+ "|".join(spack.spec.FlagMap.valid_compiler_flags()),
+ )
+ )
def __init__(self, all_unquoted_flag_pairs):
# type: (List[Tuple[re.Match, str]]) -> None
@@ -186,33 +187,37 @@ class _UnquotedFlags(object):
def report(self):
# type: () -> str
single_errors = [
- '({0}) {1} {2} => {3}'.format(
- i + 1, match.group(0), next_arg,
+ "({0}) {1} {2} => {3}".format(
+ i + 1,
+ match.group(0),
+ next_arg,
'{0}="{1} {2}"'.format(match.group(1), match.group(2), next_arg),
)
for i, (match, next_arg) in enumerate(self._flag_pairs)
]
- return dedent("""\
+ return dedent(
+ """\
Some compiler or linker flags were provided without quoting their arguments,
which now causes spack to try to parse the *next* argument as a spec component
such as a variant instead of an additional compiler or linker flag. If the
intent was to set multiple flags, try quoting them together as described below.
Possible flag quotation errors (with the correctly-quoted version after the =>):
- {0}""").format('\n'.join(single_errors))
+ {0}"""
+ ).format("\n".join(single_errors))
def parse_specs(args, **kwargs):
"""Convenience function for parsing arguments from specs. Handles common
- exceptions and dies if there are errors.
+ exceptions and dies if there are errors.
"""
- concretize = kwargs.get('concretize', False)
- normalize = kwargs.get('normalize', False)
- tests = kwargs.get('tests', False)
+ concretize = kwargs.get("concretize", False)
+ normalize = kwargs.get("normalize", False)
+ tests = kwargs.get("tests", False)
sargs = args
if not isinstance(args, six.string_types):
- sargs = ' '.join(args)
+ sargs = " ".join(args)
unquoted_flags = _UnquotedFlags.extract(sargs)
try:
@@ -230,7 +235,7 @@ def parse_specs(args, **kwargs):
if e.long_message:
msg += e.long_message
if unquoted_flags:
- msg += '\n\n'
+ msg += "\n\n"
msg += unquoted_flags.report()
raise spack.error.SpackError(msg)
@@ -265,8 +270,7 @@ def disambiguate_spec(spec, env, local=False, installed=True, first=False):
return disambiguate_spec_from_hashes(spec, hashes, local, installed, first)
-def disambiguate_spec_from_hashes(spec, hashes, local=False,
- installed=True, first=False):
+def disambiguate_spec_from_hashes(spec, hashes, local=False, installed=True, first=False):
"""Given a spec and a list of hashes, get concrete spec the spec refers to.
Arguments:
@@ -278,11 +282,9 @@ def disambiguate_spec_from_hashes(spec, hashes, local=False,
See ``spack.database.Database._query`` for details.
"""
if local:
- matching_specs = spack.store.db.query_local(spec, hashes=hashes,
- installed=installed)
+ matching_specs = spack.store.db.query_local(spec, hashes=hashes, installed=installed)
else:
- matching_specs = spack.store.db.query(spec, hashes=hashes,
- installed=installed)
+ matching_specs = spack.store.db.query(spec, hashes=hashes, installed=installed)
if not matching_specs:
tty.die("Spec '%s' matches no installed packages." % spec)
@@ -290,11 +292,12 @@ def disambiguate_spec_from_hashes(spec, hashes, local=False,
return matching_specs[0]
elif len(matching_specs) > 1:
- format_string = '{name}{@version}{%compiler}{arch=architecture}'
- args = ["%s matches multiple packages." % spec,
- "Matching packages:"]
- args += [colorize(" @K{%s} " % s.dag_hash(7)) +
- s.cformat(format_string) for s in matching_specs]
+ format_string = "{name}{@version}{%compiler}{arch=architecture}"
+ args = ["%s matches multiple packages." % spec, "Matching packages:"]
+ args += [
+ colorize(" @K{%s} " % s.dag_hash(7)) + s.cformat(format_string)
+ for s in matching_specs
+ ]
args += ["Use a more specific spec."]
tty.die(*args)
@@ -305,8 +308,8 @@ def gray_hash(spec, length):
if not length:
# default to maximum hash length
length = 32
- h = spec.dag_hash(length) if spec.concrete else '-' * length
- return colorize('@K{%s}' % h)
+ h = spec.dag_hash(length) if spec.concrete else "-" * length
+ return colorize("@K{%s}" % h)
def display_specs_as_json(specs, deps=False):
@@ -334,8 +337,8 @@ def display_specs_as_json(specs, deps=False):
def iter_groups(specs, indent, all_headers):
"""Break a list of specs into groups indexed by arch/compiler."""
# Make a dict with specs keyed by architecture and compiler.
- index = index_by(specs, ('architecture', 'compiler'))
- ispace = indent * ' '
+ index = index_by(specs, ("architecture", "compiler"))
+ ispace = indent * " "
# Traverse the index and print out each package
for i, (architecture, compiler) in enumerate(sorted(index)):
@@ -344,16 +347,17 @@ def iter_groups(specs, indent, all_headers):
header = "%s{%s} / %s{%s}" % (
spack.spec.architecture_color,
- architecture if architecture else 'no arch',
+ architecture if architecture else "no arch",
spack.spec.compiler_color,
- compiler if compiler else 'no compiler')
+ compiler if compiler else "no compiler",
+ )
# Sometimes we want to display specs that are not yet concretized.
# If they don't have a compiler / architecture attached to them,
# then skip the header
if all_headers or (architecture is not None or compiler is not None):
sys.stdout.write(ispace)
- tty.hline(colorize(header), char='-')
+ tty.hline(colorize(header), char="-")
specs = index[(architecture, compiler)]
specs.sort()
@@ -394,6 +398,7 @@ def display_specs(specs, args=None, **kwargs):
output (typing.IO): A file object to write to. Default is ``sys.stdout``
"""
+
def get_arg(name, default=None):
"""Prefer kwargs, then args, then default."""
if name in kwargs:
@@ -403,47 +408,47 @@ def display_specs(specs, args=None, **kwargs):
else:
return default
- paths = get_arg('paths', False)
- deps = get_arg('deps', False)
- hashes = get_arg('long', False)
- namespace = get_arg('namespace', False)
- flags = get_arg('show_flags', False)
- full_compiler = get_arg('show_full_compiler', False)
- variants = get_arg('variants', False)
- groups = get_arg('groups', True)
- all_headers = get_arg('all_headers', False)
- output = get_arg('output', sys.stdout)
-
- decorator = get_arg('decorator', None)
+ paths = get_arg("paths", False)
+ deps = get_arg("deps", False)
+ hashes = get_arg("long", False)
+ namespace = get_arg("namespace", False)
+ flags = get_arg("show_flags", False)
+ full_compiler = get_arg("show_full_compiler", False)
+ variants = get_arg("variants", False)
+ groups = get_arg("groups", True)
+ all_headers = get_arg("all_headers", False)
+ output = get_arg("output", sys.stdout)
+
+ decorator = get_arg("decorator", None)
if decorator is None:
decorator = lambda s, f: f
- indent = get_arg('indent', 0)
+ indent = get_arg("indent", 0)
hlen = 7
- if get_arg('very_long', False):
+ if get_arg("very_long", False):
hashes = True
hlen = None
- format_string = get_arg('format', None)
+ format_string = get_arg("format", None)
if format_string is None:
- nfmt = '{fullname}' if namespace else '{name}'
- ffmt = ''
+ nfmt = "{fullname}" if namespace else "{name}"
+ ffmt = ""
if full_compiler or flags:
- ffmt += '{%compiler.name}'
+ ffmt += "{%compiler.name}"
if full_compiler:
- ffmt += '{@compiler.version}'
- ffmt += ' {compiler_flags}'
- vfmt = '{variants}' if variants else ''
- format_string = nfmt + '{@version}' + ffmt + vfmt
+ ffmt += "{@compiler.version}"
+ ffmt += " {compiler_flags}"
+ vfmt = "{variants}" if variants else ""
+ format_string = nfmt + "{@version}" + ffmt + vfmt
- transform = {'package': decorator, 'fullpackage': decorator}
+ transform = {"package": decorator, "fullpackage": decorator}
def fmt(s, depth=0):
"""Formatter function for all output specs"""
string = ""
if hashes:
- string += gray_hash(s, hlen) + ' '
+ string += gray_hash(s, hlen) + " "
string += depth * " "
string += s.cformat(format_string, transform=transform)
return string
@@ -457,35 +462,35 @@ def display_specs(specs, args=None, **kwargs):
if deps:
for depth, dep in spec.traverse(root=False, depth=True):
formatted.append((fmt(dep, depth), dep))
- formatted.append(('', None)) # mark newlines
+ formatted.append(("", None)) # mark newlines
# unless any of these are set, we can just colify and be done.
if not any((deps, paths)):
colify((f[0] for f in formatted), indent=indent, output=output)
- return ''
+ return ""
# otherwise, we'll print specs one by one
max_width = max(len(f[0]) for f in formatted)
path_fmt = "%%-%ds%%s" % (max_width + 2)
- out = ''
+ out = ""
# getting lots of prefixes requires DB lookups. Ensure
# all spec.prefix calls are in one transaction.
with spack.store.db.read_transaction():
for string, spec in formatted:
if not string:
# print newline from above
- out += '\n'
+ out += "\n"
continue
if paths:
- out += path_fmt % (string, spec.prefix) + '\n'
+ out += path_fmt % (string, spec.prefix) + "\n"
else:
- out += string + '\n'
+ out += string + "\n"
return out
- out = ''
+ out = ""
if groups:
for specs in iter_groups(specs, indent, all_headers):
output.write(format_list(specs))
@@ -499,7 +504,7 @@ def display_specs(specs, args=None, **kwargs):
def filter_loaded_specs(specs):
"""Filter a list of specs returning only those that are
currently loaded."""
- hashes = os.environ.get(uenv.spack_loaded_hashes_var, '').split(':')
+ hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(":")
return [x for x in specs if x.dag_hash() in hashes]
@@ -514,8 +519,7 @@ def print_how_many_pkgs(specs, pkg_type=""):
category, e.g. if pkg_type is "installed" then the message
would be "3 installed packages"
"""
- tty.msg("%s" % spack.util.string.plural(
- len(specs), pkg_type + " package"))
+ tty.msg("%s" % spack.util.string.plural(len(specs), pkg_type + " package"))
def spack_is_git_repo():
@@ -524,7 +528,7 @@ def spack_is_git_repo():
def is_git_repo(path):
- dotgit_path = join_path(path, '.git')
+ dotgit_path = join_path(path, ".git")
if os.path.isdir(dotgit_path):
# we are in a regular git repo
return True
@@ -541,18 +545,20 @@ def is_git_repo(path):
class PythonNameError(spack.error.SpackError):
"""Exception class thrown for impermissible python names"""
+
def __init__(self, name):
self.name = name
- super(PythonNameError, self).__init__(
- '{0} is not a permissible Python name.'.format(name))
+ super(PythonNameError, self).__init__("{0} is not a permissible Python name.".format(name))
class CommandNameError(spack.error.SpackError):
"""Exception class thrown for impermissible command names"""
+
def __init__(self, name):
self.name = name
super(CommandNameError, self).__init__(
- '{0} is not a permissible Spack command name.'.format(name))
+ "{0} is not a permissible Spack command name.".format(name)
+ )
########################################
@@ -563,7 +569,7 @@ def extant_file(f):
Argparse type for files that exist.
"""
if not os.path.isfile(f):
- raise argparse.ArgumentTypeError('%s does not exist' % f)
+ raise argparse.ArgumentTypeError("%s does not exist" % f)
return f
@@ -585,11 +591,12 @@ def require_active_env(cmd_name):
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)
+ "`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):
@@ -632,4 +639,4 @@ def find_environment(args):
if ev.is_env_dir(env):
return ev.Environment(env)
- raise ev.SpackEnvironmentError('no environment in %s' % 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 65c0d8d0be..bfb0de5528 100644
--- a/lib/spack/spack/cmd/activate.py
+++ b/lib/spack/spack/cmd/activate.py
@@ -17,18 +17,17 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-f', '--force', action='store_true',
- help="activate without first activating dependencies")
- subparser.add_argument(
- '-v', '--view', metavar='VIEW', type=str,
- help="the view to operate on")
- arguments.add_common_arguments(subparser, ['installed_spec'])
+ "-f", "--force", action="store_true", help="activate without first activating dependencies"
+ )
+ subparser.add_argument("-v", "--view", metavar="VIEW", type=str, help="the view to operate on")
+ arguments.add_common_arguments(subparser, ["installed_spec"])
def activate(parser, args):
- tty.warn("spack activate is deprecated in favor of "
- "environments and will be removed in v0.19.0")
+ tty.warn(
+ "spack activate is deprecated in favor of " "environments and will be removed in v0.19.0"
+ )
specs = spack.cmd.parse_specs(args.spec)
if len(specs) != 1:
diff --git a/lib/spack/spack/cmd/add.py b/lib/spack/spack/cmd/add.py
index 96f8420649..39c9c9e535 100644
--- a/lib/spack/spack/cmd/add.py
+++ b/lib/spack/spack/cmd/add.py
@@ -8,26 +8,29 @@ import llnl.util.tty as tty
import spack.cmd
import spack.cmd.common.arguments as arguments
-description = 'add a spec to an environment'
+description = "add a spec to an environment"
section = "environments"
level = "long"
def setup_parser(subparser):
- subparser.add_argument('-l', '--list-name',
- dest='list_name', default='specs',
- help="name of the list to add specs to")
- arguments.add_common_arguments(subparser, ['specs'])
+ subparser.add_argument(
+ "-l",
+ "--list-name",
+ dest="list_name",
+ default="specs",
+ help="name of the list to add specs to",
+ )
+ arguments.add_common_arguments(subparser, ["specs"])
def add(parser, args):
- env = spack.cmd.require_active_env(cmd_name='add')
+ env = spack.cmd.require_active_env(cmd_name="add")
with env.write_transaction():
for spec in spack.cmd.parse_specs(args.specs):
if not env.add(spec, args.list_name):
- tty.msg("Package {0} was already added to {1}"
- .format(spec.name, env.name))
+ tty.msg("Package {0} was already added to {1}".format(spec.name, env.name))
else:
- tty.msg('Adding %s to environment %s' % (spec, env.name))
+ tty.msg("Adding %s to environment %s" % (spec, env.name))
env.write()
diff --git a/lib/spack/spack/cmd/arch.py b/lib/spack/spack/cmd/arch.py
index 289f13de5c..af1a31c308 100644
--- a/lib/spack/spack/cmd/arch.py
+++ b/lib/spack/spack/cmd/arch.py
@@ -21,30 +21,32 @@ level = "short"
def setup_parser(subparser):
subparser.add_argument(
- '-g', '--generic-target', action='store_true',
- help='show the best generic target'
+ "-g", "--generic-target", action="store_true", help="show the best generic target"
)
subparser.add_argument(
- '--known-targets', action='store_true',
- help='show a list of all known targets and exit'
+ "--known-targets", action="store_true", help="show a list of all known targets and exit"
)
parts = subparser.add_mutually_exclusive_group()
parts2 = subparser.add_mutually_exclusive_group()
parts.add_argument(
- '-p', '--platform', action='store_true', default=False,
- help='print only the platform')
+ "-p", "--platform", action="store_true", default=False, help="print only the platform"
+ )
parts.add_argument(
- '-o', '--operating-system', action='store_true', default=False,
- help='print only the operating system')
+ "-o",
+ "--operating-system",
+ action="store_true",
+ default=False,
+ help="print only the operating system",
+ )
parts.add_argument(
- '-t', '--target', action='store_true', default=False,
- help='print only the target')
+ "-t", "--target", action="store_true", default=False, help="print only the target"
+ )
parts2.add_argument(
- '-f', '--frontend', action='store_true', default=False,
- help='print frontend')
+ "-f", "--frontend", action="store_true", default=False, help="print frontend"
+ )
parts2.add_argument(
- '-b', '--backend', action='store_true', default=False,
- help='print backend')
+ "-b", "--backend", action="store_true", default=False, help="print backend"
+ )
def display_targets(targets):
@@ -56,11 +58,11 @@ def display_targets(targets):
def display_target_group(header, target_group):
print(header)
colify.colify(target_group, indent=4)
- print('')
+ print("")
- generic_architectures = by_vendor.pop('generic', None)
+ generic_architectures = by_vendor.pop("generic", None)
if generic_architectures:
- header = color.colorize(r'@*B{Generic architectures (families)}')
+ header = color.colorize(r"@*B{Generic architectures (families)}")
group = sorted(generic_architectures, key=lambda x: str(x))
display_target_group(header, group)
@@ -70,9 +72,9 @@ def display_targets(targets):
by_family[str(t.family)].append(t)
for family, group in by_family.items():
- vendor = color.colorize(r'@*B{' + vendor + r'}')
- family = color.colorize(r'@*B{' + family + r'}')
- header = ' - '.join([vendor, family])
+ vendor = color.colorize(r"@*B{" + vendor + r"}")
+ family = color.colorize(r"@*B{" + family + r"}")
+ header = " - ".join([vendor, family])
group = sorted(group, key=lambda x: len(x.ancestors))
display_target_group(header, group)
@@ -86,18 +88,16 @@ def arch(parser, args):
display_targets(archspec.cpu.TARGETS)
return
- os_args, target_args = 'default_os', 'default_target'
+ os_args, target_args = "default_os", "default_target"
if args.frontend:
- os_args, target_args = 'frontend', 'frontend'
+ os_args, target_args = "frontend", "frontend"
elif args.backend:
- os_args, target_args = 'backend', 'backend'
+ os_args, target_args = "backend", "backend"
host_platform = spack.platforms.host()
host_os = host_platform.operating_system(os_args)
host_target = host_platform.target(target_args)
- architecture = spack.spec.ArchSpec(
- (str(host_platform), str(host_os), str(host_target))
- )
+ architecture = spack.spec.ArchSpec((str(host_platform), str(host_os), str(host_target)))
if args.platform:
print(architecture.platform)
diff --git a/lib/spack/spack/cmd/audit.py b/lib/spack/spack/cmd/audit.py
index 2fb352fac0..8773fc760d 100644
--- a/lib/spack/spack/cmd/audit.py
+++ b/lib/spack/spack/cmd/audit.py
@@ -15,32 +15,30 @@ level = "short"
def setup_parser(subparser):
# Top level flags, valid for every audit class
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='subcommand')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="subcommand")
# Audit configuration files
- sp.add_parser('configs', help='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 = 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"
+ "--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 = sp.add_parser("packages", help="audit package recipes")
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)',
+ "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')
+ sp.add_parser("list", help="list available checks and exits")
def configs(parser, args):
@@ -67,23 +65,23 @@ def packages_https(parser, args):
def list(parser, args):
for subcommand, check_tags in spack.audit.GROUPS.items():
- print(cl.colorize('@*b{' + subcommand + '}:'))
+ print(cl.colorize("@*b{" + subcommand + "}:"))
for tag in check_tags:
audit_obj = spack.audit.CALLBACKS[tag]
- print(' ' + audit_obj.description)
+ print(" " + audit_obj.description)
if args.verbose:
for idx, fn in enumerate(audit_obj.callbacks):
- print(' {0}. '.format(idx + 1) + fn.__doc__)
+ print(" {0}. ".format(idx + 1) + fn.__doc__)
print()
print()
def audit(parser, args):
subcommands = {
- 'configs': configs,
- 'packages': packages,
- 'packages-https': packages_https,
- 'list': list
+ "configs": configs,
+ "packages": packages,
+ "packages-https": packages_https,
+ "list": list,
}
subcommands[args.subcommand](parser, args)
@@ -91,15 +89,15 @@ def audit(parser, args):
def _process_reports(reports):
for check, errors in reports:
if errors:
- msg = '{0}: {1} issue{2} found'.format(
- check, len(errors), '' if len(errors) == 1 else 's'
+ msg = "{0}: {1} issue{2} found".format(
+ check, len(errors), "" if len(errors) == 1 else "s"
)
- header = '@*b{' + msg + '}'
+ header = "@*b{" + msg + "}"
print(cl.colorize(header))
for idx, error in enumerate(errors):
- print(str(idx + 1) + '. ' + str(error))
+ print(str(idx + 1) + ". " + str(error))
raise SystemExit(1)
else:
- msg = '{0}: 0 issues found.'.format(check)
- header = '@*b{' + msg + '}'
+ msg = "{0}: 0 issues found.".format(check)
+ header = "@*b{" + msg + "}"
print(cl.colorize(header))
diff --git a/lib/spack/spack/cmd/blame.py b/lib/spack/spack/cmd/blame.py
index 9f32be5790..23ac147580 100644
--- a/lib/spack/spack/cmd/blame.py
+++ b/lib/spack/spack/cmd/blame.py
@@ -26,39 +26,61 @@ level = "long"
def setup_parser(subparser):
view_group = subparser.add_mutually_exclusive_group()
view_group.add_argument(
- '-t', '--time', dest='view', action='store_const', const='time',
- default='time', help='sort by last modification date (default)')
+ "-t",
+ "--time",
+ dest="view",
+ action="store_const",
+ const="time",
+ default="time",
+ help="sort by last modification date (default)",
+ )
view_group.add_argument(
- '-p', '--percent', dest='view', action='store_const', const='percent',
- help='sort by percent of code')
+ "-p",
+ "--percent",
+ dest="view",
+ action="store_const",
+ const="percent",
+ help="sort by percent of code",
+ )
view_group.add_argument(
- '-g', '--git', dest='view', action='store_const', const='git',
- help='show git blame output instead of summary')
+ "-g",
+ "--git",
+ dest="view",
+ action="store_const",
+ const="git",
+ help="show git blame output instead of summary",
+ )
subparser.add_argument(
- "--json", action="store_true", default=False,
- help="output blame as machine-readable json records")
+ "--json",
+ action="store_true",
+ default=False,
+ help="output blame as machine-readable json records",
+ )
subparser.add_argument(
- 'package_or_file', help='name of package to show contributions for, '
- 'or path to a file in the spack repo')
+ "package_or_file",
+ help="name of package to show contributions for, " "or path to a file in the spack repo",
+ )
def print_table(rows, last_mod, total_lines, emails):
"""
Given a set of rows with authors and lines, print a table.
"""
- table = [['LAST_COMMIT', 'LINES', '%', 'AUTHOR', 'EMAIL']]
+ table = [["LAST_COMMIT", "LINES", "%", "AUTHOR", "EMAIL"]]
for author, nlines in rows:
- table += [[
- pretty_date(last_mod[author]),
- nlines,
- round(nlines / float(total_lines) * 100, 1),
- author,
- emails[author]]]
-
- table += [[''] * 5]
- table += [[pretty_date(max(last_mod.values())), total_lines, '100.0'] +
- [''] * 3]
+ table += [
+ [
+ pretty_date(last_mod[author]),
+ nlines,
+ round(nlines / float(total_lines) * 100, 1),
+ author,
+ emails[author],
+ ]
+ ]
+
+ table += [[""] * 5]
+ table += [[pretty_date(max(last_mod.values())), total_lines, "100.0"] + [""] * 3]
colify_table(table)
@@ -70,17 +92,22 @@ def dump_json(rows, last_mod, total_lines, emails):
result = {}
authors = []
for author, nlines in rows:
- authors.append({
- "last_commit": pretty_date(last_mod[author]),
- "lines": nlines,
- "percentage": round(nlines / float(total_lines) * 100, 1),
- "author": author,
- "email": emails[author]
- })
-
- result['authors'] = authors
- result["totals"] = {"last_commit": pretty_date(max(last_mod.values())),
- "lines": total_lines, "percentage": "100.0"}
+ authors.append(
+ {
+ "last_commit": pretty_date(last_mod[author]),
+ "lines": nlines,
+ "percentage": round(nlines / float(total_lines) * 100, 1),
+ "author": author,
+ "email": emails[author],
+ }
+ )
+
+ result["authors"] = authors
+ result["totals"] = {
+ "last_commit": pretty_date(max(last_mod.values())),
+ "lines": total_lines,
+ "percentage": "100.0",
+ }
sjson.dump(result, sys.stdout)
@@ -89,7 +116,7 @@ def blame(parser, args):
# make sure this is a git repo
if not spack_is_git_repo():
tty.die("This spack is not a git clone. Can't use 'spack blame'")
- git = which('git', required=True)
+ git = which("git", required=True)
# Get name of file to blame
blame_file = None
@@ -100,16 +127,16 @@ def blame(parser, args):
if not blame_file:
pkg_cls = spack.repo.path.get_pkg_class(args.package_or_file)
- blame_file = pkg_cls.module.__file__.rstrip('c') # .pyc -> .py
+ blame_file = pkg_cls.module.__file__.rstrip("c") # .pyc -> .py
# get git blame for the package
with working_dir(spack.paths.prefix):
- if args.view == 'git':
- git('blame', blame_file)
+ if args.view == "git":
+ git("blame", blame_file)
return
else:
- output = git('blame', '--line-porcelain', blame_file, output=str)
- lines = output.split('\n')
+ output = git("blame", "--line-porcelain", blame_file, output=str)
+ lines = output.split("\n")
# Histogram authors
counts = {}
@@ -117,28 +144,27 @@ def blame(parser, args):
last_mod = {}
total_lines = 0
for line in lines:
- match = re.match(r'^author (.*)', line)
+ match = re.match(r"^author (.*)", line)
if match:
author = match.group(1)
- match = re.match(r'^author-mail (.*)', line)
+ match = re.match(r"^author-mail (.*)", line)
if match:
email = match.group(1)
- match = re.match(r'^author-time (.*)', line)
+ match = re.match(r"^author-time (.*)", line)
if match:
mod = int(match.group(1))
last_mod[author] = max(last_mod.setdefault(author, 0), mod)
# ignore comments
- if re.match(r'^\t[^#]', line):
+ if re.match(r"^\t[^#]", line):
counts[author] = counts.setdefault(author, 0) + 1
emails.setdefault(author, email)
total_lines += 1
- if args.view == 'time':
- rows = sorted(
- counts.items(), key=lambda t: last_mod[t[0]], reverse=True)
+ if args.view == "time":
+ rows = sorted(counts.items(), key=lambda t: last_mod[t[0]], reverse=True)
else: # args.view == 'percent'
rows = sorted(counts.items(), key=lambda t: t[1], reverse=True)
diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py
index c4048b02fa..9a782b64ea 100644
--- a/lib/spack/spack/cmd/bootstrap.py
+++ b/lib/spack/spack/cmd/bootstrap.py
@@ -28,34 +28,34 @@ level = "long"
# Tarball to be downloaded if binary packages are requested in a local mirror
-BINARY_TARBALL = 'https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.2/bootstrap-buildcache.tar.gz'
+BINARY_TARBALL = "https://github.com/spack/spack-bootstrap-mirrors/releases/download/v0.2/bootstrap-buildcache.tar.gz"
#: Subdirectory where to create the mirror
-LOCAL_MIRROR_DIR = 'bootstrap_cache'
+LOCAL_MIRROR_DIR = "bootstrap_cache"
# Metadata for a generated binary mirror
BINARY_METADATA = {
- 'type': 'buildcache',
- 'description': ('Buildcache copied from a public tarball available on Github.'
- 'The sha256 checksum of binaries is checked before installation.'),
- 'info': {
- 'url': os.path.join('..', '..', LOCAL_MIRROR_DIR),
- 'homepage': 'https://github.com/spack/spack-bootstrap-mirrors',
- 'releases': 'https://github.com/spack/spack-bootstrap-mirrors/releases',
- 'tarball': BINARY_TARBALL
- }
+ "type": "buildcache",
+ "description": (
+ "Buildcache copied from a public tarball available on Github."
+ "The sha256 checksum of binaries is checked before installation."
+ ),
+ "info": {
+ "url": os.path.join("..", "..", LOCAL_MIRROR_DIR),
+ "homepage": "https://github.com/spack/spack-bootstrap-mirrors",
+ "releases": "https://github.com/spack/spack-bootstrap-mirrors/releases",
+ "tarball": BINARY_TARBALL,
+ },
}
-CLINGO_JSON = '$spack/share/spack/bootstrap/github-actions-v0.2/clingo.json'
-GNUPG_JSON = '$spack/share/spack/bootstrap/github-actions-v0.2/gnupg.json'
+CLINGO_JSON = "$spack/share/spack/bootstrap/github-actions-v0.2/clingo.json"
+GNUPG_JSON = "$spack/share/spack/bootstrap/github-actions-v0.2/gnupg.json"
# Metadata for a generated source mirror
SOURCE_METADATA = {
- 'type': 'install',
- 'description': 'Mirror with software needed to bootstrap Spack',
- 'info': {
- 'url': os.path.join('..', '..', LOCAL_MIRROR_DIR)
- }
+ "type": "install",
+ "description": "Mirror with software needed to bootstrap Spack",
+ "info": {"url": os.path.join("..", "..", LOCAL_MIRROR_DIR)},
}
@@ -63,109 +63,83 @@ def _add_scope_option(parser):
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- help="configuration scope to read/modify"
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ help="configuration scope to read/modify",
)
def setup_parser(subparser):
- sp = subparser.add_subparsers(dest='subcommand')
+ sp = subparser.add_subparsers(dest="subcommand")
- status = sp.add_parser('status', help='get the status of Spack')
+ status = sp.add_parser("status", help="get the status of Spack")
status.add_argument(
- '--optional', action='store_true', default=False,
- help='show the status of rarely used optional dependencies'
+ "--optional",
+ action="store_true",
+ default=False,
+ help="show the status of rarely used optional dependencies",
)
status.add_argument(
- '--dev', action='store_true', default=False,
- help='show the status of dependencies needed to develop Spack'
+ "--dev",
+ action="store_true",
+ default=False,
+ help="show the status of dependencies needed to develop Spack",
)
- enable = sp.add_parser('enable', help='enable bootstrapping')
+ enable = sp.add_parser("enable", help="enable bootstrapping")
_add_scope_option(enable)
- disable = sp.add_parser('disable', help='disable bootstrapping')
+ disable = sp.add_parser("disable", help="disable bootstrapping")
_add_scope_option(disable)
- reset = sp.add_parser(
- 'reset', help='reset bootstrapping configuration to Spack defaults'
- )
- spack.cmd.common.arguments.add_common_arguments(
- reset, ['yes_to_all']
- )
+ reset = sp.add_parser("reset", help="reset bootstrapping configuration to Spack defaults")
+ spack.cmd.common.arguments.add_common_arguments(reset, ["yes_to_all"])
- root = sp.add_parser(
- 'root', help='get/set the root bootstrap directory'
- )
+ root = sp.add_parser("root", help="get/set the root bootstrap directory")
_add_scope_option(root)
root.add_argument(
- 'path', nargs='?', default=None,
- help='set the bootstrap directory to this value'
+ "path", nargs="?", default=None, help="set the bootstrap directory to this value"
)
- list = sp.add_parser(
- 'list', help='list all the sources of software to bootstrap Spack'
- )
+ list = sp.add_parser("list", help="list all the sources of software to bootstrap Spack")
_add_scope_option(list)
- trust = sp.add_parser(
- 'trust', help='trust a bootstrapping source'
- )
+ trust = sp.add_parser("trust", help="trust a bootstrapping source")
_add_scope_option(trust)
- trust.add_argument(
- 'name', help='name of the source to be trusted'
- )
+ trust.add_argument("name", help="name of the source to be trusted")
- untrust = sp.add_parser(
- 'untrust', help='untrust a bootstrapping source'
- )
+ untrust = sp.add_parser("untrust", help="untrust a bootstrapping source")
_add_scope_option(untrust)
- untrust.add_argument(
- 'name', help='name of the source to be untrusted'
- )
+ untrust.add_argument("name", help="name of the source to be untrusted")
- add = sp.add_parser(
- 'add', help='add a new source for bootstrapping'
- )
+ add = sp.add_parser("add", help="add a new source for bootstrapping")
_add_scope_option(add)
add.add_argument(
- '--trust', action='store_true',
- help='trust the source immediately upon addition')
- add.add_argument(
- 'name', help='name of the new source of software'
- )
- add.add_argument(
- 'metadata_dir', help='directory where to find metadata files'
+ "--trust", action="store_true", help="trust the source immediately upon addition"
)
+ add.add_argument("name", help="name of the new source of software")
+ add.add_argument("metadata_dir", help="directory where to find metadata files")
- remove = sp.add_parser(
- 'remove', help='remove a bootstrapping source'
- )
- remove.add_argument(
- 'name', help='name of the source to be removed'
- )
+ remove = sp.add_parser("remove", help="remove a bootstrapping source")
+ remove.add_argument("name", help="name of the source to be removed")
- mirror = sp.add_parser(
- 'mirror', help='create a local mirror to bootstrap Spack'
- )
- mirror.add_argument(
- '--binary-packages', action='store_true',
- help='download public binaries in the mirror'
- )
+ mirror = sp.add_parser("mirror", help="create a local mirror to bootstrap Spack")
mirror.add_argument(
- '--dev', action='store_true',
- help='download dev dependencies too'
+ "--binary-packages", action="store_true", help="download public binaries in the mirror"
)
+ mirror.add_argument("--dev", action="store_true", help="download dev dependencies too")
mirror.add_argument(
- metavar='DIRECTORY', dest='root_dir',
- help='root directory in which to create the mirror and metadata'
+ metavar="DIRECTORY",
+ dest="root_dir",
+ help="root directory in which to create the mirror and metadata",
)
def _enable_or_disable(args):
# Set to True if we called "enable", otherwise set to false
- value = args.subcommand == 'enable'
- spack.config.set('bootstrap:enable', value, scope=args.scope)
+ value = args.subcommand == "enable"
+ spack.config.set("bootstrap:enable", value, scope=args.scope)
def _reset(args):
@@ -173,38 +147,35 @@ def _reset(args):
msg = [
"Bootstrapping configuration is being reset to Spack's defaults. "
"Current configuration will be lost.\n",
- "Do you want to continue?"
+ "Do you want to continue?",
]
- ok_to_continue = llnl.util.tty.get_yes_or_no(
- ''.join(msg), default=True
- )
+ ok_to_continue = llnl.util.tty.get_yes_or_no("".join(msg), default=True)
if not ok_to_continue:
- raise RuntimeError('Aborting')
+ raise RuntimeError("Aborting")
for scope in spack.config.config.file_scopes:
# The default scope should stay untouched
- if scope.name == 'defaults':
+ if scope.name == "defaults":
continue
# If we are in an env scope we can't delete a file, but the best we
# can do is nullify the corresponding configuration
- if (scope.name.startswith('env') and
- spack.config.get('bootstrap', scope=scope.name)):
- spack.config.set('bootstrap', {}, scope=scope.name)
+ if scope.name.startswith("env") and spack.config.get("bootstrap", scope=scope.name):
+ spack.config.set("bootstrap", {}, scope=scope.name)
continue
# If we are outside of an env scope delete the bootstrap.yaml file
- bootstrap_yaml = os.path.join(scope.path, 'bootstrap.yaml')
- backup_file = bootstrap_yaml + '.bkp'
+ bootstrap_yaml = os.path.join(scope.path, "bootstrap.yaml")
+ backup_file = bootstrap_yaml + ".bkp"
if os.path.exists(bootstrap_yaml):
shutil.move(bootstrap_yaml, backup_file)
def _root(args):
if args.path:
- spack.config.set('bootstrap:root', args.path, scope=args.scope)
+ spack.config.set("bootstrap:root", args.path, scope=args.scope)
- root = spack.config.get('bootstrap:root', default=None, scope=args.scope)
+ root = spack.config.get("bootstrap:root", default=None, scope=args.scope)
if root:
root = spack.util.path.canonicalize_path(root)
print(root)
@@ -213,9 +184,7 @@ def _root(args):
def _list(args):
sources = spack.bootstrap.bootstrapping_sources(scope=args.scope)
if not sources:
- llnl.util.tty.msg(
- "No method available for bootstrapping Spack's dependencies"
- )
+ llnl.util.tty.msg("No method available for bootstrapping Spack's dependencies")
return
def _print_method(source, trusted):
@@ -231,51 +200,53 @@ def _list(args):
elif trusted is False:
trust_str = "@*r{UNTRUSTED}"
- fmt("Name", source['name'] + ' ' + trust_str)
+ fmt("Name", source["name"] + " " + trust_str)
print()
- fmt(" Type", source['type'])
+ 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))
+ 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))
+ fmt(" Info", "".join(info_lines))
- description_lines = ['\n']
- for line in source['description'].split('\n'):
- description_lines.append(' ' * 4 + line + '\n')
+ description_lines = ["\n"]
+ for line in source["description"].split("\n"):
+ description_lines.append(" " * 4 + line + "\n")
- fmt(" Description", ''.join(description_lines))
+ fmt(" Description", "".join(description_lines))
- trusted = spack.config.get('bootstrap:trusted', {})
+ trusted = spack.config.get("bootstrap:trusted", {})
for s in sources:
- _print_method(s, trusted.get(s['name'], None))
+ _print_method(s, trusted.get(s["name"], None))
def _write_trust_state(args, value):
name = args.name
- sources = spack.config.get('bootstrap:sources')
+ sources = spack.config.get("bootstrap:sources")
- matches = [s for s in sources if s['name'] == name]
+ 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)))
+ 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)
+ 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
- )
+ 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):
@@ -291,11 +262,11 @@ def _untrust(args):
def _status(args):
- sections = ['core', 'buildcache']
+ sections = ["core", "buildcache"]
if args.optional:
- sections.append('optional')
+ sections.append("optional")
if args.dev:
- sections.append('develop')
+ sections.append("develop")
header = "@*b{{Spack v{0} - {1}}}".format(
spack.spack_version, spack.bootstrap.spec_for_current_python()
@@ -312,9 +283,11 @@ def _status(args):
if status_msg:
print(llnl.util.tty.color.colorize(status_msg))
print()
- legend = ('Spack will take care of bootstrapping any missing dependency marked'
- ' as [@*y{B}]. Dependencies marked as [@*y{-}] are instead required'
- ' to be found on the system.')
+ legend = (
+ "Spack will take care of bootstrapping any missing dependency marked"
+ " as [@*y{B}]. Dependencies marked as [@*y{-}] are instead required"
+ " to be found on the system."
+ )
if missing:
print(llnl.util.tty.color.colorize(legend))
print()
@@ -322,7 +295,7 @@ def _status(args):
def _add(args):
initial_sources = spack.bootstrap.bootstrapping_sources()
- names = [s['name'] for s in initial_sources]
+ names = [s["name"] for s in initial_sources]
# If the name is already used error out
if args.name in names:
@@ -332,21 +305,17 @@ def _add(args):
# Check that the metadata file exists
metadata_dir = spack.util.path.canonicalize_path(args.metadata_dir)
if not os.path.exists(metadata_dir) or not os.path.isdir(metadata_dir):
- raise RuntimeError(
- 'the directory "{0}" does not exist'.format(args.metadata_dir)
- )
+ raise RuntimeError('the directory "{0}" does not exist'.format(args.metadata_dir))
- file = os.path.join(metadata_dir, 'metadata.yaml')
+ file = os.path.join(metadata_dir, "metadata.yaml")
if not os.path.exists(file):
raise RuntimeError('the file "{0}" does not exist'.format(file))
# Insert the new source as the highest priority one
- write_scope = args.scope or spack.config.default_modify_scope(section='bootstrap')
- sources = spack.config.get('bootstrap:sources', scope=write_scope) or []
- sources = [
- {'name': args.name, 'metadata': args.metadata_dir}
- ] + sources
- spack.config.set('bootstrap:sources', sources, scope=write_scope)
+ write_scope = args.scope or spack.config.default_modify_scope(section="bootstrap")
+ sources = spack.config.get("bootstrap:sources", scope=write_scope) or []
+ sources = [{"name": args.name, "metadata": args.metadata_dir}] + sources
+ spack.config.set("bootstrap:sources", sources, scope=write_scope)
msg = 'New bootstrapping source "{0}" added in the "{1}" configuration scope'
llnl.util.tty.msg(msg.format(args.name, write_scope))
@@ -356,37 +325,39 @@ def _add(args):
def _remove(args):
initial_sources = spack.bootstrap.bootstrapping_sources()
- names = [s['name'] for s in initial_sources]
+ names = [s["name"] for s in initial_sources]
if args.name not in names:
- msg = ('cannot find any bootstrapping source named "{0}". '
- 'Run `spack bootstrap list` to see available sources.')
+ msg = (
+ 'cannot find any bootstrapping source named "{0}". '
+ "Run `spack bootstrap list` to see available sources."
+ )
raise RuntimeError(msg.format(args.name))
for current_scope in spack.config.scopes():
- sources = spack.config.get('bootstrap:sources', scope=current_scope) or []
- if args.name in [s['name'] for s in sources]:
- sources = [s for s in sources if s['name'] != args.name]
- spack.config.set('bootstrap:sources', sources, scope=current_scope)
- msg = ('Removed the bootstrapping source named "{0}" from the '
- '"{1}" configuration scope.')
+ sources = spack.config.get("bootstrap:sources", scope=current_scope) or []
+ if args.name in [s["name"] for s in sources]:
+ sources = [s for s in sources if s["name"] != args.name]
+ spack.config.set("bootstrap:sources", sources, scope=current_scope)
+ msg = (
+ 'Removed the bootstrapping source named "{0}" from the '
+ '"{1}" configuration scope.'
+ )
llnl.util.tty.msg(msg.format(args.name, current_scope))
- trusted = spack.config.get('bootstrap:trusted', scope=current_scope) or []
+ trusted = spack.config.get("bootstrap:trusted", scope=current_scope) or []
if args.name in trusted:
trusted.pop(args.name)
- spack.config.set('bootstrap:trusted', trusted, scope=current_scope)
+ spack.config.set("bootstrap:trusted", trusted, scope=current_scope)
msg = 'Deleting information on "{0}" from list of trusted sources'
llnl.util.tty.msg(msg.format(args.name))
def _mirror(args):
- mirror_dir = spack.util.path.canonicalize_path(
- os.path.join(args.root_dir, LOCAL_MIRROR_DIR)
- )
+ mirror_dir = spack.util.path.canonicalize_path(os.path.join(args.root_dir, LOCAL_MIRROR_DIR))
# TODO: Here we are adding gnuconfig manually, but this can be fixed
# TODO: as soon as we have an option to add to a mirror all the possible
# TODO: dependencies of a spec
- root_specs = spack.bootstrap.all_root_specs(development=args.dev) + ['gnuconfig']
+ root_specs = spack.bootstrap.all_root_specs(development=args.dev) + ["gnuconfig"]
for spec_str in root_specs:
msg = 'Adding "{0}" and dependencies to the mirror at {1}'
llnl.util.tty.msg(msg.format(spec_str, mirror_dir))
@@ -405,48 +376,46 @@ def _mirror(args):
stage.create()
stage.fetch()
stage.expand_archive()
- build_cache_dir = os.path.join(stage.source_path, 'build_cache')
+ build_cache_dir = os.path.join(stage.source_path, "build_cache")
shutil.move(build_cache_dir, mirror_dir)
llnl.util.tty.set_msg_enabled(True)
def write_metadata(subdir, metadata):
- metadata_rel_dir = os.path.join('metadata', subdir)
- metadata_yaml = os.path.join(
- args.root_dir, metadata_rel_dir, 'metadata.yaml'
- )
+ metadata_rel_dir = os.path.join("metadata", subdir)
+ metadata_yaml = os.path.join(args.root_dir, metadata_rel_dir, "metadata.yaml")
llnl.util.filesystem.mkdirp(os.path.dirname(metadata_yaml))
- with open(metadata_yaml, mode='w') as f:
+ with open(metadata_yaml, mode="w") as f:
spack.util.spack_yaml.dump(metadata, stream=f)
return os.path.dirname(metadata_yaml), metadata_rel_dir
- instructions = ('\nTo register the mirror on the platform where it\'s supposed '
- 'to be used, move "{0}" to its final location and run the '
- 'following command(s):\n\n').format(args.root_dir)
- cmd = ' % spack bootstrap add --trust {0} <final-path>/{1}\n'
- _, rel_directory = write_metadata(subdir='sources', metadata=SOURCE_METADATA)
- instructions += cmd.format('local-sources', rel_directory)
+ instructions = (
+ "\nTo register the mirror on the platform where it's supposed "
+ 'to be used, move "{0}" to its final location and run the '
+ "following command(s):\n\n"
+ ).format(args.root_dir)
+ cmd = " % spack bootstrap add --trust {0} <final-path>/{1}\n"
+ _, rel_directory = write_metadata(subdir="sources", metadata=SOURCE_METADATA)
+ instructions += cmd.format("local-sources", rel_directory)
if args.binary_packages:
- abs_directory, rel_directory = write_metadata(
- subdir='binaries', metadata=BINARY_METADATA
- )
+ abs_directory, rel_directory = write_metadata(subdir="binaries", metadata=BINARY_METADATA)
shutil.copy(spack.util.path.canonicalize_path(CLINGO_JSON), abs_directory)
shutil.copy(spack.util.path.canonicalize_path(GNUPG_JSON), abs_directory)
- instructions += cmd.format('local-binaries', rel_directory)
+ instructions += cmd.format("local-binaries", rel_directory)
print(instructions)
def bootstrap(parser, args):
callbacks = {
- 'status': _status,
- 'enable': _enable_or_disable,
- 'disable': _enable_or_disable,
- 'reset': _reset,
- 'root': _root,
- 'list': _list,
- 'trust': _trust,
- 'untrust': _untrust,
- 'add': _add,
- 'remove': _remove,
- 'mirror': _mirror
+ "status": _status,
+ "enable": _enable_or_disable,
+ "disable": _enable_or_disable,
+ "reset": _reset,
+ "root": _root,
+ "list": _list,
+ "trust": _trust,
+ "untrust": _untrust,
+ "add": _add,
+ "remove": _remove,
+ "mirror": _mirror,
}
callbacks[args.subcommand](args)
diff --git a/lib/spack/spack/cmd/build_env.py b/lib/spack/spack/cmd/build_env.py
index 7ad37b6a34..eecc23d006 100644
--- a/lib/spack/spack/cmd/build_env.py
+++ b/lib/spack/spack/cmd/build_env.py
@@ -4,8 +4,9 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import spack.cmd.common.env_utility as env_utility
-description = "run a command in a spec's install environment, " \
- "or dump its environment to screen or file"
+description = (
+ "run a command in a spec's install environment, " "or dump its environment to screen or file"
+)
section = "build"
level = "long"
@@ -13,4 +14,4 @@ setup_parser = env_utility.setup_parser
def build_env(parser, args):
- env_utility.emulate_env_utility('build-env', 'build', args)
+ env_utility.emulate_env_utility("build-env", "build", args)
diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py
index b66d5a5699..1da0a51bc9 100644
--- a/lib/spack/spack/cmd/buildcache.py
+++ b/lib/spack/spack/cmd/buildcache.py
@@ -38,226 +38,278 @@ level = "long"
def setup_parser(subparser):
setup_parser.parser = subparser
- subparsers = subparser.add_subparsers(help='buildcache sub-commands')
-
- create = subparsers.add_parser('create', help=create_fn.__doc__)
- create.add_argument('-r', '--rel', action='store_true',
- help="make all rpaths relative" +
- " before creating tarballs.")
- create.add_argument('-f', '--force', action='store_true',
- help="overwrite tarball if it exists.")
- create.add_argument('-u', '--unsigned', action='store_true',
- help="create unsigned buildcache" +
- " tarballs for testing")
- create.add_argument('-a', '--allow-root', action='store_true',
- help="allow install root string in binary files " +
- "after RPATH substitution")
- create.add_argument('-k', '--key', metavar='key',
- type=str, default=None,
- help="Key for signing.")
+ subparsers = subparser.add_subparsers(help="buildcache sub-commands")
+
+ create = subparsers.add_parser("create", help=create_fn.__doc__)
+ create.add_argument(
+ "-r",
+ "--rel",
+ action="store_true",
+ help="make all rpaths relative" + " before creating tarballs.",
+ )
+ create.add_argument(
+ "-f", "--force", action="store_true", help="overwrite tarball if it exists."
+ )
+ create.add_argument(
+ "-u",
+ "--unsigned",
+ action="store_true",
+ help="create unsigned buildcache" + " tarballs for testing",
+ )
+ create.add_argument(
+ "-a",
+ "--allow-root",
+ action="store_true",
+ help="allow install root string in binary files " + "after RPATH substitution",
+ )
+ create.add_argument(
+ "-k", "--key", metavar="key", type=str, default=None, help="Key for signing."
+ )
output = create.add_mutually_exclusive_group(required=True)
- output.add_argument('-d', '--directory',
- metavar='directory',
- type=str,
- help="local directory where " +
- "buildcaches will be written.")
- output.add_argument('-m', '--mirror-name',
- metavar='mirror-name',
- type=str,
- help="name of the mirror where " +
- "buildcaches will be written.")
- output.add_argument('--mirror-url',
- metavar='mirror-url',
- type=str,
- help="URL of the mirror where " +
- "buildcaches will be written.")
- create.add_argument('--rebuild-index', action='store_true',
- default=False, help="Regenerate buildcache index " +
- "after building package(s)")
- create.add_argument('--spec-file', default=None,
- help=('Create buildcache entry for spec from json or ' +
- 'yaml file'))
- create.add_argument('--only', default='package,dependencies',
- dest='things_to_install',
- choices=['package', 'dependencies'],
- help=('Select the buildcache mode. the default is to'
- ' build a cache for the package along with all'
- ' its dependencies. Alternatively, one can'
- ' decide to build a cache for only the package'
- ' or only the dependencies'))
- arguments.add_common_arguments(create, ['specs'])
+ output.add_argument(
+ "-d",
+ "--directory",
+ metavar="directory",
+ type=str,
+ help="local directory where " + "buildcaches will be written.",
+ )
+ output.add_argument(
+ "-m",
+ "--mirror-name",
+ metavar="mirror-name",
+ type=str,
+ help="name of the mirror where " + "buildcaches will be written.",
+ )
+ output.add_argument(
+ "--mirror-url",
+ metavar="mirror-url",
+ type=str,
+ help="URL of the mirror where " + "buildcaches will be written.",
+ )
+ create.add_argument(
+ "--rebuild-index",
+ action="store_true",
+ default=False,
+ help="Regenerate buildcache index " + "after building package(s)",
+ )
+ create.add_argument(
+ "--spec-file",
+ default=None,
+ help=("Create buildcache entry for spec from json or " + "yaml file"),
+ )
+ create.add_argument(
+ "--only",
+ default="package,dependencies",
+ dest="things_to_install",
+ choices=["package", "dependencies"],
+ help=(
+ "Select the buildcache mode. the default is to"
+ " build a cache for the package along with all"
+ " its dependencies. Alternatively, one can"
+ " decide to build a cache for only the package"
+ " or only the dependencies"
+ ),
+ )
+ arguments.add_common_arguments(create, ["specs"])
create.set_defaults(func=create_fn)
- install = subparsers.add_parser('install', help=install_fn.__doc__)
- install.add_argument('-f', '--force', action='store_true',
- help="overwrite install directory if it exists.")
- install.add_argument('-m', '--multiple', action='store_true',
- help="allow all matching packages ")
- install.add_argument('-a', '--allow-root', action='store_true',
- help="allow install root string in binary files " +
- "after RPATH substitution")
- install.add_argument('-u', '--unsigned', action='store_true',
- help="install unsigned buildcache" +
- " tarballs for testing")
- install.add_argument('-o', '--otherarch', action='store_true',
- help="install specs from other architectures" +
- " instead of default platform and OS")
-
- arguments.add_common_arguments(install, ['specs'])
+ install = subparsers.add_parser("install", help=install_fn.__doc__)
+ install.add_argument(
+ "-f", "--force", action="store_true", help="overwrite install directory if it exists."
+ )
+ install.add_argument(
+ "-m", "--multiple", action="store_true", help="allow all matching packages "
+ )
+ install.add_argument(
+ "-a",
+ "--allow-root",
+ action="store_true",
+ help="allow install root string in binary files " + "after RPATH substitution",
+ )
+ install.add_argument(
+ "-u",
+ "--unsigned",
+ action="store_true",
+ help="install unsigned buildcache" + " tarballs for testing",
+ )
+ install.add_argument(
+ "-o",
+ "--otherarch",
+ action="store_true",
+ help="install specs from other architectures" + " instead of default platform and OS",
+ )
+
+ arguments.add_common_arguments(install, ["specs"])
install.set_defaults(func=install_fn)
- listcache = subparsers.add_parser('list', help=list_fn.__doc__)
- arguments.add_common_arguments(listcache, ['long', 'very_long'])
- listcache.add_argument('-v', '--variants',
- action='store_true',
- dest='variants',
- help='show variants in output (can be long)')
- listcache.add_argument('-a', '--allarch', action='store_true',
- help="list specs for all available architectures" +
- " instead of default platform and OS")
- arguments.add_common_arguments(listcache, ['specs'])
+ listcache = subparsers.add_parser("list", help=list_fn.__doc__)
+ arguments.add_common_arguments(listcache, ["long", "very_long"])
+ listcache.add_argument(
+ "-v",
+ "--variants",
+ action="store_true",
+ dest="variants",
+ help="show variants in output (can be long)",
+ )
+ listcache.add_argument(
+ "-a",
+ "--allarch",
+ action="store_true",
+ help="list specs for all available architectures" + " instead of default platform and OS",
+ )
+ arguments.add_common_arguments(listcache, ["specs"])
listcache.set_defaults(func=list_fn)
- keys = subparsers.add_parser('keys', help=keys_fn.__doc__)
+ keys = subparsers.add_parser("keys", help=keys_fn.__doc__)
keys.add_argument(
- '-i', '--install', action='store_true',
- help="install Keys pulled from mirror")
- keys.add_argument(
- '-t', '--trust', action='store_true',
- help="trust all downloaded keys")
- keys.add_argument('-f', '--force', action='store_true',
- help="force new download of keys")
+ "-i", "--install", action="store_true", help="install Keys pulled from mirror"
+ )
+ keys.add_argument("-t", "--trust", action="store_true", help="trust all downloaded keys")
+ keys.add_argument("-f", "--force", action="store_true", help="force new download of keys")
keys.set_defaults(func=keys_fn)
- preview = subparsers.add_parser('preview', help=preview_fn.__doc__)
- arguments.add_common_arguments(preview, ['installed_specs'])
+ preview = subparsers.add_parser("preview", help=preview_fn.__doc__)
+ arguments.add_common_arguments(preview, ["installed_specs"])
preview.set_defaults(func=preview_fn)
# Check if binaries need to be rebuilt on remote mirror
- check = subparsers.add_parser('check', help=check_fn.__doc__)
+ check = subparsers.add_parser("check", help=check_fn.__doc__)
check.add_argument(
- '-m', '--mirror-url', default=None,
- help='Override any configured mirrors with this mirror url')
+ "-m",
+ "--mirror-url",
+ default=None,
+ help="Override any configured mirrors with this mirror url",
+ )
check.add_argument(
- '-o', '--output-file', default=None,
- help='File where rebuild info should be written')
+ "-o", "--output-file", default=None, help="File where rebuild info should be written"
+ )
# used to construct scope arguments below
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
check.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope containing mirrors to check")
+ help="configuration scope containing mirrors to check",
+ )
check.add_argument(
- '-s', '--spec', default=None,
- help='Check single spec instead of release specs file')
+ "-s", "--spec", default=None, help="Check single spec instead of release specs file"
+ )
check.add_argument(
- '--spec-file', default=None,
- help=('Check single spec from json or yaml file instead of release ' +
- 'specs file'))
+ "--spec-file",
+ default=None,
+ help=("Check single spec from json or yaml file instead of release " + "specs file"),
+ )
check.set_defaults(func=check_fn)
# Download tarball and specfile
- download = subparsers.add_parser('download', help=download_fn.__doc__)
+ download = subparsers.add_parser("download", help=download_fn.__doc__)
download.add_argument(
- '-s', '--spec', default=None,
- help="Download built tarball for spec from mirror")
+ "-s", "--spec", default=None, help="Download built tarball for spec from mirror"
+ )
download.add_argument(
- '--spec-file', default=None,
- help=("Download built tarball for spec (from json or yaml file) " +
- "from mirror"))
+ "--spec-file",
+ default=None,
+ help=("Download built tarball for spec (from json or yaml file) " + "from mirror"),
+ )
download.add_argument(
- '-p', '--path', default=None,
- help="Path to directory where tarball should be downloaded")
+ "-p", "--path", default=None, help="Path to directory where tarball should be downloaded"
+ )
download.set_defaults(func=download_fn)
# Get buildcache name
- getbuildcachename = subparsers.add_parser('get-buildcache-name',
- help=get_buildcache_name_fn.__doc__)
+ getbuildcachename = subparsers.add_parser(
+ "get-buildcache-name", help=get_buildcache_name_fn.__doc__
+ )
getbuildcachename.add_argument(
- '-s', '--spec', default=None,
- help='Spec string for which buildcache name is desired')
+ "-s", "--spec", default=None, help="Spec string for which buildcache name is desired"
+ )
getbuildcachename.add_argument(
- '--spec-file', default=None,
- help=('Path to spec json or yaml file for which buildcache name is ' +
- 'desired'))
+ "--spec-file",
+ default=None,
+ help=("Path to spec json or yaml file for which buildcache name is " + "desired"),
+ )
getbuildcachename.set_defaults(func=get_buildcache_name_fn)
# Given the root spec, save the yaml of the dependent spec to a file
- savespecfile = subparsers.add_parser('save-specfile',
- help=save_specfile_fn.__doc__)
- savespecfile.add_argument(
- '--root-spec', default=None,
- help='Root spec of dependent spec')
+ savespecfile = subparsers.add_parser("save-specfile", help=save_specfile_fn.__doc__)
+ savespecfile.add_argument("--root-spec", default=None, help="Root spec of dependent spec")
savespecfile.add_argument(
- '--root-specfile', default=None,
- help='Path to json or yaml file containing root spec of dependent spec')
+ "--root-specfile",
+ default=None,
+ help="Path to json or yaml file containing root spec of dependent spec",
+ )
savespecfile.add_argument(
- '-s', '--specs', default=None,
- help='List of dependent specs for which saved yaml is desired')
+ "-s",
+ "--specs",
+ default=None,
+ help="List of dependent specs for which saved yaml is desired",
+ )
savespecfile.add_argument(
- '--specfile-dir', default=None,
- help='Path to directory where spec yamls should be saved')
+ "--specfile-dir", default=None, help="Path to directory where spec yamls should be saved"
+ )
savespecfile.set_defaults(func=save_specfile_fn)
# Copy buildcache from some directory to another mirror url
- copy = subparsers.add_parser('copy', help=copy_fn.__doc__)
+ copy = subparsers.add_parser("copy", help=copy_fn.__doc__)
copy.add_argument(
- '--base-dir', default=None,
- help='Path to mirror directory (root of existing buildcache)')
+ "--base-dir", default=None, help="Path to mirror directory (root of existing buildcache)"
+ )
copy.add_argument(
- '--spec-file', default=None,
- help=('Path to spec json or yaml file representing buildcache entry to' +
- ' copy'))
- copy.add_argument(
- '--destination-url', default=None,
- help='Destination mirror url')
+ "--spec-file",
+ default=None,
+ help=("Path to spec json or yaml file representing buildcache entry to" + " copy"),
+ )
+ copy.add_argument("--destination-url", default=None, help="Destination mirror url")
copy.set_defaults(func=copy_fn)
# Sync buildcache entries from one mirror to another
- sync = subparsers.add_parser('sync', help=sync_fn.__doc__)
+ sync = subparsers.add_parser("sync", help=sync_fn.__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")
+ 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")
+ 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=sync_fn)
# Update buildcache index without copying any additional packages
- update_index = subparsers.add_parser(
- 'update-index', help=update_index_fn.__doc__)
- update_index.add_argument(
- '-d', '--mirror-url', default=None, help='Destination mirror url')
+ update_index = subparsers.add_parser("update-index", help=update_index_fn.__doc__)
+ update_index.add_argument("-d", "--mirror-url", default=None, help="Destination mirror url")
update_index.add_argument(
- '-k', '--keys', default=False, action='store_true',
- help='If provided, key index will be updated as well as package index')
+ "-k",
+ "--keys",
+ default=False,
+ action="store_true",
+ help="If provided, key index will be updated as well as package index",
+ )
update_index.set_defaults(func=update_index_fn)
@@ -277,17 +329,19 @@ def _matching_specs(args):
if env:
return [env.specs_by_hash[h] for h in env.concretized_order]
- tty.die("build cache file creation requires at least one" +
- " installed package spec, an active environment," +
- " or else a path to a json or yaml file containing a spec" +
- " to install")
+ tty.die(
+ "build cache file creation requires at least one"
+ + " installed package spec, an active environment,"
+ + " or else a path to a json or yaml file containing a spec"
+ + " to install"
+ )
def _concrete_spec_from_args(args):
spec_str, specfile_path = args.spec, args.spec_file
if not spec_str and not specfile_path:
- tty.error('must provide either spec string or path to YAML or JSON specfile')
+ tty.error("must provide either spec string or path to YAML or JSON specfile")
sys.exit(1)
if spec_str:
@@ -296,7 +350,7 @@ def _concrete_spec_from_args(args):
spec = spack.store.find(constraints)[0]
spec.concretize()
except SpecError as spec_error:
- tty.error('Unable to concretize spec {0}'.format(spec_str))
+ tty.error("Unable to concretize spec {0}".format(spec_str))
tty.debug(spec_error)
sys.exit(1)
@@ -318,19 +372,19 @@ def create_fn(args):
matches = _matching_specs(args)
- msg = 'Pushing binary packages to {0}/build_cache'.format(push_url)
+ msg = "Pushing binary packages to {0}/build_cache".format(push_url)
tty.msg(msg)
specs_kwargs = {
- 'include_root': 'package' in args.things_to_install,
- 'include_dependencies': 'dependencies' in args.things_to_install
+ "include_root": "package" in args.things_to_install,
+ "include_dependencies": "dependencies" in args.things_to_install,
}
kwargs = {
- 'key': args.key,
- 'force': args.force,
- 'relative': args.rel,
- 'unsigned': args.unsigned,
- 'allow_root': args.allow_root,
- 'regenerate_index': args.rebuild_index
+ "key": args.key,
+ "force": args.force,
+ "relative": args.rel,
+ "unsigned": args.unsigned,
+ "allow_root": args.allow_root,
+ "regenerate_index": args.rebuild_index,
}
bindist.push(matches, push_url, specs_kwargs, **kwargs)
@@ -344,10 +398,7 @@ def install_fn(args):
matches = spack.store.find(args.specs, multiple=args.multiple, query_fn=query)
for match in matches:
bindist.install_single_spec(
- match,
- allow_root=args.allow_root,
- unsigned=args.unsigned,
- force=args.force
+ match, allow_root=args.allow_root, unsigned=args.unsigned, force=args.force
)
@@ -367,10 +418,12 @@ def list_fn(args):
specs = [s for s in specs if any(s.satisfies(c) for c in constraints)]
if sys.stdout.isatty():
builds = len(specs)
- tty.msg("%s." % plural(builds, 'cached build'))
+ tty.msg("%s." % plural(builds, "cached build"))
if not builds and not args.allarch:
- tty.msg("You can query all available architectures with:",
- "spack buildcache list --allarch")
+ tty.msg(
+ "You can query all available architectures with:",
+ "spack buildcache list --allarch",
+ )
display_specs(specs, args, all_headers=True)
@@ -403,29 +456,28 @@ def check_fn(args):
if args.spec or args.spec_file:
specs = [_concrete_spec_from_args(args)]
else:
- env = spack.cmd.require_active_env(cmd_name='buildcache')
+ env = spack.cmd.require_active_env(cmd_name="buildcache")
env.concretize()
specs = env.all_specs()
if not specs:
- tty.msg('No specs provided, exiting.')
+ tty.msg("No specs provided, exiting.")
sys.exit(0)
for spec in specs:
spec.concretize()
# Next see if there are any configured binary mirrors
- configured_mirrors = spack.config.get('mirrors', scope=args.scope)
+ configured_mirrors = spack.config.get("mirrors", scope=args.scope)
if args.mirror_url:
- configured_mirrors = {'additionalMirrorUrl': args.mirror_url}
+ configured_mirrors = {"additionalMirrorUrl": args.mirror_url}
if not configured_mirrors:
- tty.msg('No mirrors provided, exiting.')
+ tty.msg("No mirrors provided, exiting.")
sys.exit(0)
- sys.exit(bindist.check_specs_against_mirrors(
- configured_mirrors, specs, args.output_file))
+ sys.exit(bindist.check_specs_against_mirrors(configured_mirrors, specs, args.output_file))
def download_fn(args):
@@ -434,11 +486,11 @@ def download_fn(args):
a non-zero exit code indicates that the command failed to download at
least one of the required buildcache components."""
if not args.spec and not args.spec_file:
- tty.msg('No specs provided, exiting.')
+ tty.msg("No specs provided, exiting.")
sys.exit(0)
if not args.path:
- tty.msg('No download path provided, exiting')
+ tty.msg("No download path provided, exiting")
sys.exit(0)
spec = _concrete_spec_from_args(args)
@@ -451,8 +503,8 @@ def download_fn(args):
def get_buildcache_name_fn(args):
"""Get name (prefix) of buildcache entries for this spec"""
spec = _concrete_spec_from_args(args)
- buildcache_name = bindist.tarball_name(spec, '')
- print('{0}'.format(buildcache_name))
+ buildcache_name = bindist.tarball_name(spec, "")
+ print("{0}".format(buildcache_name))
def save_specfile_fn(args):
@@ -464,28 +516,29 @@ def save_specfile_fn(args):
non-zero.
"""
if not args.root_spec and not args.root_specfile:
- tty.msg('No root spec provided, exiting.')
+ tty.msg("No root spec provided, exiting.")
sys.exit(1)
if not args.specs:
- tty.msg('No dependent specs provided, exiting.')
+ tty.msg("No dependent specs provided, exiting.")
sys.exit(1)
if not args.specfile_dir:
- tty.msg('No yaml directory provided, exiting.')
+ tty.msg("No yaml directory provided, exiting.")
sys.exit(1)
if args.root_specfile:
with open(args.root_specfile) as fd:
root_spec_as_json = fd.read()
- spec_format = 'yaml' if args.root_specfile.endswith('yaml') else 'json'
+ spec_format = "yaml" if args.root_specfile.endswith("yaml") else "json"
else:
root_spec = Spec(args.root_spec)
root_spec.concretize()
root_spec_as_json = root_spec.to_json(hash=ht.dag_hash)
- spec_format = 'json'
+ spec_format = "json"
save_dependency_specfiles(
- root_spec_as_json, args.specfile_dir, args.specs.split(), spec_format)
+ root_spec_as_json, args.specfile_dir, args.specs.split(), spec_format
+ )
sys.exit(0)
@@ -496,56 +549,55 @@ def copy_fn(args):
The specific buildcache entry to be copied from one location to the
other is identified using the '--spec-file' argument."""
# TODO: Remove after v0.18.0 release
- msg = ('"spack buildcache copy" is deprecated and will be removed from '
- 'Spack starting in v0.19.0')
+ msg = (
+ '"spack buildcache copy" is deprecated and will be removed from '
+ "Spack starting in v0.19.0"
+ )
warnings.warn(msg)
if not args.spec_file:
- tty.msg('No spec yaml provided, exiting.')
+ tty.msg("No spec yaml provided, exiting.")
sys.exit(1)
if not args.base_dir:
- tty.msg('No base directory provided, exiting.')
+ tty.msg("No base directory provided, exiting.")
sys.exit(1)
if not args.destination_url:
- tty.msg('No destination mirror url provided, exiting.')
+ tty.msg("No destination mirror url provided, exiting.")
sys.exit(1)
dest_url = args.destination_url
- if dest_url[0:7] != 'file://' and dest_url[0] != '/':
- tty.msg('Only urls beginning with "file://" or "/" are supported ' +
- 'by buildcache copy.')
+ if dest_url[0:7] != "file://" and dest_url[0] != "/":
+ tty.msg('Only urls beginning with "file://" or "/" are supported ' + "by buildcache copy.")
sys.exit(1)
try:
- with open(args.spec_file, 'r') as fd:
+ with open(args.spec_file, "r") as fd:
spec = Spec.from_yaml(fd.read())
except Exception as e:
tty.debug(e)
- tty.error('Unable to concrectize spec from yaml {0}'.format(
- args.spec_file))
+ tty.error("Unable to concrectize spec from yaml {0}".format(args.spec_file))
sys.exit(1)
dest_root_path = dest_url
- if dest_url[0:7] == 'file://':
+ if dest_url[0:7] == "file://":
dest_root_path = dest_url[7:]
build_cache_dir = bindist.build_cache_relative_path()
- tarball_rel_path = os.path.join(
- build_cache_dir, bindist.tarball_path_name(spec, '.spack'))
+ tarball_rel_path = os.path.join(build_cache_dir, bindist.tarball_path_name(spec, ".spack"))
tarball_src_path = os.path.join(args.base_dir, tarball_rel_path)
tarball_dest_path = os.path.join(dest_root_path, tarball_rel_path)
- specfile_rel_path = os.path.join(
- build_cache_dir, bindist.tarball_name(spec, '.spec.json'))
+ specfile_rel_path = os.path.join(build_cache_dir, bindist.tarball_name(spec, ".spec.json"))
specfile_src_path = os.path.join(args.base_dir, specfile_rel_path)
specfile_dest_path = os.path.join(dest_root_path, specfile_rel_path)
specfile_rel_path_yaml = os.path.join(
- build_cache_dir, bindist.tarball_name(spec, '.spec.yaml'))
+ build_cache_dir, bindist.tarball_name(spec, ".spec.yaml")
+ )
specfile_src_path_yaml = os.path.join(args.base_dir, specfile_rel_path)
specfile_dest_path_yaml = os.path.join(dest_root_path, specfile_rel_path)
@@ -553,18 +605,18 @@ def copy_fn(args):
os.makedirs(os.path.dirname(tarball_dest_path))
# Now copy the specfile and tarball files to the destination mirror
- tty.msg('Copying {0}'.format(tarball_rel_path))
+ tty.msg("Copying {0}".format(tarball_rel_path))
shutil.copyfile(tarball_src_path, tarball_dest_path)
- tty.msg('Copying {0}'.format(specfile_rel_path))
+ tty.msg("Copying {0}".format(specfile_rel_path))
shutil.copyfile(specfile_src_path, specfile_dest_path)
- tty.msg('Copying {0}'.format(specfile_rel_path_yaml))
+ tty.msg("Copying {0}".format(specfile_rel_path_yaml))
shutil.copyfile(specfile_src_path_yaml, specfile_dest_path_yaml)
def sync_fn(args):
- """ Syncs binaries (and associated metadata) from one mirror to another.
+ """Syncs binaries (and associated metadata) from one mirror to another.
Requires an active environment in order to know which specs to sync.
Args:
@@ -575,25 +627,21 @@ def sync_fn(args):
source_location = None
if args.src_directory:
source_location = args.src_directory
- scheme = url_util.parse(source_location, scheme='<missing>').scheme
- if scheme != '<missing>':
- raise ValueError(
- '"--src-directory" expected a local path; got a URL, instead')
+ scheme = url_util.parse(source_location, scheme="<missing>").scheme
+ if scheme != "<missing>":
+ 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
+ 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 == "<unnamed>":
- raise ValueError(
- 'no configured mirror named "{name}"'.format(
- name=source_location))
+ 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='<missing>').scheme
- if scheme == '<missing>':
- raise ValueError(
- '"{url}" is not a valid URL'.format(url=source_location))
+ scheme = url_util.parse(source_location, scheme="<missing>").scheme
+ if scheme == "<missing>":
+ 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)
@@ -602,51 +650,48 @@ def sync_fn(args):
dest_location = None
if args.dest_directory:
dest_location = args.dest_directory
- scheme = url_util.parse(dest_location, scheme='<missing>').scheme
- if scheme != '<missing>':
- raise ValueError(
- '"--dest-directory" expected a local path; got a URL, instead')
+ scheme = url_util.parse(dest_location, scheme="<missing>").scheme
+ if scheme != "<missing>":
+ 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
+ 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 == "<unnamed>":
- raise ValueError(
- 'no configured mirror named "{name}"'.format(
- name=dest_location))
+ 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='<missing>').scheme
- if scheme == '<missing>':
- raise ValueError(
- '"{url}" is not a valid URL'.format(url=dest_location))
+ scheme = url_util.parse(dest_location, scheme="<missing>").scheme
+ if scheme == "<missing>":
+ 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 = spack.cmd.require_active_env(cmd_name='buildcache sync')
+ 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))
+ 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:')
+ 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, '.spec.json')),
- ])
+ 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, ".spec.json")),
+ ]
+ )
tmpdir = tempfile.mkdtemp()
@@ -656,23 +701,18 @@ def sync_fn(args):
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))
+ 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)
+ 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)
+ 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("spack buildcache unable to sync {0}".format(rel_path))
tty.debug(e)
finally:
stage.destroy()
@@ -684,20 +724,19 @@ def update_index(mirror_url, update_keys=False):
mirror = spack.mirror.MirrorCollection().lookup(mirror_url)
outdir = url_util.format(mirror.push_url)
- bindist.generate_package_index(
- url_util.join(outdir, bindist.build_cache_relative_path()))
+ bindist.generate_package_index(url_util.join(outdir, bindist.build_cache_relative_path()))
if update_keys:
- keys_url = url_util.join(outdir,
- bindist.build_cache_relative_path(),
- bindist.build_cache_keys_relative_path())
+ keys_url = url_util.join(
+ outdir, bindist.build_cache_relative_path(), bindist.build_cache_keys_relative_path()
+ )
bindist.generate_key_index(keys_url)
def update_index_fn(args):
"""Update a buildcache index."""
- outdir = 'file://.'
+ outdir = "file://."
if args.mirror_url:
outdir = args.mirror_url
diff --git a/lib/spack/spack/cmd/cd.py b/lib/spack/spack/cmd/cd.py
index 0892719114..dd1bca28c9 100644
--- a/lib/spack/spack/cmd/cd.py
+++ b/lib/spack/spack/cmd/cd.py
@@ -13,14 +13,13 @@ level = "long"
def setup_parser(subparser):
"""This is for decoration -- spack cd is used through spack's
- shell support. This allows spack cd to print a descriptive
- help message when called with -h."""
+ shell support. This allows spack cd to print a descriptive
+ help message when called with -h."""
spack.cmd.location.setup_parser(subparser)
def cd(parser, args):
spec = " ".join(args.spec) if args.spec else "SPEC"
spack.cmd.common.shell_init_instructions(
- "spack cd",
- "cd `spack location --install-dir %s`" % spec
+ "spack cd", "cd `spack location --install-dir %s`" % spec
)
diff --git a/lib/spack/spack/cmd/checksum.py b/lib/spack/spack/cmd/checksum.py
index 89509cca29..3cfdcabff9 100644
--- a/lib/spack/spack/cmd/checksum.py
+++ b/lib/spack/spack/cmd/checksum.py
@@ -26,29 +26,44 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '--keep-stage', action='store_true', default=False,
- help="don't clean up staging area when command completes")
+ "--keep-stage",
+ action="store_true",
+ default=False,
+ help="don't clean up staging area when command completes",
+ )
sp = subparser.add_mutually_exclusive_group()
sp.add_argument(
- '-b', '--batch', action='store_true', default=False,
- help="don't ask which versions to checksum")
+ "-b",
+ "--batch",
+ action="store_true",
+ default=False,
+ help="don't ask which versions to checksum",
+ )
sp.add_argument(
- '-l', '--latest', action='store_true', default=False,
- help="checksum the latest available version only")
+ "-l",
+ "--latest",
+ action="store_true",
+ default=False,
+ help="checksum the latest available version only",
+ )
sp.add_argument(
- '-p', '--preferred', action='store_true', default=False,
- help="checksum the preferred version only")
- arguments.add_common_arguments(subparser, ['package'])
+ "-p",
+ "--preferred",
+ action="store_true",
+ default=False,
+ help="checksum the preferred version only",
+ )
+ arguments.add_common_arguments(subparser, ["package"])
subparser.add_argument(
- 'versions', nargs=argparse.REMAINDER,
- help='versions to generate checksums for')
+ "versions", nargs=argparse.REMAINDER, help="versions to generate checksums for"
+ )
def checksum(parser, args):
# Did the user pass 'package@version' string?
- if len(args.versions) == 0 and '@' in args.package:
- args.versions = [args.package.split('@')[1]]
- args.package = args.package.split('@')[0]
+ if len(args.versions) == 0 and "@" in args.package:
+ args.versions = [args.package.split("@")[1]]
+ args.package = args.package.split("@")[0]
# Make sure the user provided a package and not a URL
if not valid_fully_qualified_module_name(args.package):
@@ -68,8 +83,10 @@ def checksum(parser, args):
for version in versions:
version = ver(version)
if not isinstance(version, VersionBase):
- tty.die("Cannot generate checksums for version lists or "
- "version ranges. Use unambiguous versions.")
+ tty.die(
+ "Cannot generate checksums for version lists or "
+ "version ranges. Use unambiguous versions."
+ )
url = pkg.find_valid_url_for_version(version)
if url is not None:
url_dict[version] = url
@@ -87,9 +104,13 @@ def checksum(parser, args):
tty.die("Could not find any versions for {0}".format(pkg.name))
version_lines = spack.stage.get_checksums_for_versions(
- url_dict, pkg.name, keep_stage=args.keep_stage,
+ url_dict,
+ pkg.name,
+ keep_stage=args.keep_stage,
batch=(args.batch or len(args.versions) > 0 or len(url_dict) == 1),
- latest=args.latest, fetch_options=pkg.fetch_options)
+ latest=args.latest,
+ fetch_options=pkg.fetch_options,
+ )
print()
print(version_lines)
diff --git a/lib/spack/spack/cmd/ci.py b/lib/spack/spack/cmd/ci.py
index fc30c1c1bf..4944f61b2a 100644
--- a/lib/spack/spack/cmd/ci.py
+++ b/lib/spack/spack/cmd/ci.py
@@ -30,7 +30,7 @@ description = "manage continuous integration pipelines"
section = "build"
level = "long"
-CI_REBUILD_INSTALL_BASE_ARGS = ['spack', '-d', '-v']
+CI_REBUILD_INSTALL_BASE_ARGS = ["spack", "-d", "-v"]
INSTALL_FAIL_CODE = 1
@@ -42,45 +42,67 @@ def get_env_var(variable_name):
def setup_parser(subparser):
setup_parser.parser = subparser
- subparsers = subparser.add_subparsers(help='CI sub-commands')
+ subparsers = subparser.add_subparsers(help="CI sub-commands")
# Dynamic generation of the jobs yaml from a spack environment
- generate = subparsers.add_parser('generate', help=ci_generate.__doc__)
+ generate = subparsers.add_parser("generate", help=ci_generate.__doc__)
generate.add_argument(
- '--output-file', default=None,
- help="Path to file where generated jobs file should be " +
- "written. The default is .gitlab-ci.yml in the root of the " +
- "repository.")
+ "--output-file",
+ default=None,
+ help="Path to file where generated jobs file should be "
+ + "written. The default is .gitlab-ci.yml in the root of the "
+ + "repository.",
+ )
generate.add_argument(
- '--copy-to', default=None,
- help="Absolute path of additional location where generated jobs " +
- "yaml file should be copied. Default is not to copy.")
+ "--copy-to",
+ default=None,
+ help="Absolute path of additional location where generated jobs "
+ + "yaml file should be copied. Default is not to copy.",
+ )
generate.add_argument(
- '--optimize', action='store_true', default=False,
+ "--optimize",
+ action="store_true",
+ default=False,
help="(Experimental) run the generated document through a series of "
- "optimization passes designed to reduce the size of the "
- "generated file.")
+ "optimization passes designed to reduce the size of the "
+ "generated file.",
+ )
generate.add_argument(
- '--dependencies', action='store_true', default=False,
- help="(Experimental) disable DAG scheduling; use "
- ' "plain" dependencies.')
+ "--dependencies",
+ action="store_true",
+ default=False,
+ help="(Experimental) disable DAG scheduling; use " ' "plain" dependencies.',
+ )
generate.add_argument(
- '--buildcache-destination', default=None,
- help="Override the mirror configured in the environment (spack.yaml) " +
- "in order to push binaries from the generated pipeline to a " +
- "different location.")
+ "--buildcache-destination",
+ default=None,
+ help="Override the mirror configured in the environment (spack.yaml) "
+ + "in order to push binaries from the generated pipeline to a "
+ + "different location.",
+ )
prune_group = generate.add_mutually_exclusive_group()
prune_group.add_argument(
- '--prune-dag', action='store_true', dest='prune_dag',
- default=True, help="""Do not generate jobs for specs already up to
-date on the mirror""")
+ "--prune-dag",
+ action="store_true",
+ dest="prune_dag",
+ default=True,
+ help="""Do not generate jobs for specs already up to
+date on the mirror""",
+ )
prune_group.add_argument(
- '--no-prune-dag', action='store_false', dest='prune_dag',
- default=True, help="""Generate jobs for specs already up to date
-on the mirror""")
+ "--no-prune-dag",
+ action="store_false",
+ dest="prune_dag",
+ default=True,
+ help="""Generate jobs for specs already up to date
+on the mirror""",
+ )
generate.add_argument(
- '--check-index-only', action='store_true', dest='index_only',
- default=False, help="""Spack always check specs against configured
+ "--check-index-only",
+ action="store_true",
+ dest="index_only",
+ default=False,
+ help="""Spack always check specs against configured
binary mirrors when generating the pipeline, regardless of whether or not
DAG pruning is enabled. This flag controls whether it might attempt to
fetch remote spec files directly (ensuring no spec is rebuilt if it
@@ -88,42 +110,47 @@ is present on the mirror), or whether it should reduce pipeline generation time
by assuming all remote buildcache indices are up to date and only use those
to determine whether a given spec is up to date on mirrors. In the latter
case, specs might be needlessly rebuilt if remote buildcache indices are out
-of date.""")
+of date.""",
+ )
generate.add_argument(
- '--artifacts-root', default=None,
+ "--artifacts-root",
+ default=None,
help="""Path to root of artifacts directory. If provided, concrete
environment files (spack.yaml, spack.lock) will be generated under this
path and their location sent to generated child jobs via the custom job
-variable SPACK_CONCRETE_ENVIRONMENT_PATH.""")
+variable SPACK_CONCRETE_ENVIRONMENT_PATH.""",
+ )
generate.set_defaults(func=ci_generate)
# Rebuild the buildcache index associated with the mirror in the
# active, gitlab-enabled environment.
- index = subparsers.add_parser('rebuild-index', help=ci_reindex.__doc__)
+ index = subparsers.add_parser("rebuild-index", help=ci_reindex.__doc__)
index.set_defaults(func=ci_reindex)
# Handle steps of a ci build/rebuild
- rebuild = subparsers.add_parser('rebuild', help=ci_rebuild.__doc__)
+ rebuild = subparsers.add_parser("rebuild", help=ci_rebuild.__doc__)
rebuild.set_defaults(func=ci_rebuild)
# Facilitate reproduction of a failed CI build job
- reproduce = subparsers.add_parser('reproduce-build',
- help=ci_reproduce.__doc__)
- reproduce.add_argument('job_url', help='Url of job artifacts bundle')
- reproduce.add_argument('--working-dir', help="Where to unpack artifacts",
- default=os.path.join(os.getcwd(), 'ci_reproduction'))
+ reproduce = subparsers.add_parser("reproduce-build", help=ci_reproduce.__doc__)
+ reproduce.add_argument("job_url", help="Url of job artifacts bundle")
+ reproduce.add_argument(
+ "--working-dir",
+ help="Where to unpack artifacts",
+ default=os.path.join(os.getcwd(), "ci_reproduction"),
+ )
reproduce.set_defaults(func=ci_reproduce)
def ci_generate(args):
"""Generate jobs file from a spack environment file containing CI info.
- Before invoking this command, you can set the environment variable
- SPACK_CDASH_AUTH_TOKEN to contain the CDash authorization token
- 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 = spack.cmd.require_active_env(cmd_name='ci generate')
+ Before invoking this command, you can set the environment variable
+ SPACK_CDASH_AUTH_TOKEN to contain the CDash authorization token
+ 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 = spack.cmd.require_active_env(cmd_name="ci generate")
output_file = args.output_file
copy_yaml_to = args.copy_to
@@ -144,10 +171,16 @@ def ci_generate(args):
# Generate the jobs
spack_ci.generate_gitlab_ci_yaml(
- env, True, output_file, prune_dag=prune_dag,
- check_index_only=index_only, run_optimizer=run_optimizer,
- use_dependencies=use_dependencies, artifacts_root=artifacts_root,
- remote_mirror_override=buildcache_destination)
+ env,
+ True,
+ output_file,
+ prune_dag=prune_dag,
+ check_index_only=index_only,
+ run_optimizer=run_optimizer,
+ use_dependencies=use_dependencies,
+ artifacts_root=artifacts_root,
+ remote_mirror_override=buildcache_destination,
+ )
if copy_yaml_to:
copy_to_dir = os.path.dirname(copy_yaml_to)
@@ -158,14 +191,14 @@ def ci_generate(args):
def ci_reindex(args):
"""Rebuild the buildcache index associated with the mirror in the
- active, gitlab-enabled environment. """
- env = spack.cmd.require_active_env(cmd_name='ci rebuild-index')
+ active, gitlab-enabled environment."""
+ 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:
- tty.die('spack ci rebuild-index requires an env containing a mirror')
+ if "mirrors" not in yaml_root or len(yaml_root["mirrors"].values()) < 1:
+ tty.die("spack ci rebuild-index requires an env containing a mirror")
- ci_mirrors = yaml_root['mirrors']
+ ci_mirrors = yaml_root["mirrors"]
mirror_urls = [url for url in ci_mirrors.values()]
remote_mirror_url = mirror_urls[0]
@@ -174,85 +207,90 @@ def ci_reindex(args):
def ci_rebuild(args):
"""Check a single spec against the remote mirror, and rebuild it from
- source if the mirror does not contain the hash. """
- env = spack.cmd.require_active_env(cmd_name='ci rebuild')
+ source if the mirror does not contain the hash."""
+ env = spack.cmd.require_active_env(cmd_name="ci rebuild")
# Make sure the environment is "gitlab-enabled", or else there's nothing
# to do.
yaml_root = ev.config_dict(env.yaml)
gitlab_ci = None
- if 'gitlab-ci' in yaml_root:
- gitlab_ci = yaml_root['gitlab-ci']
+ if "gitlab-ci" in yaml_root:
+ gitlab_ci = yaml_root["gitlab-ci"]
if not gitlab_ci:
- tty.die('spack ci rebuild requires an env containing gitlab-ci cfg')
+ tty.die("spack ci rebuild requires an env containing gitlab-ci cfg")
- tty.msg('SPACK_BUILDCACHE_DESTINATION={0}'.format(
- os.environ.get('SPACK_BUILDCACHE_DESTINATION', None)))
+ tty.msg(
+ "SPACK_BUILDCACHE_DESTINATION={0}".format(
+ os.environ.get("SPACK_BUILDCACHE_DESTINATION", None)
+ )
+ )
# Grab the environment variables we need. These either come from the
# pipeline generation step ("spack ci generate"), where they were written
# out as variables, or else provided by GitLab itself.
- pipeline_artifacts_dir = get_env_var('SPACK_ARTIFACTS_ROOT')
- job_log_dir = get_env_var('SPACK_JOB_LOG_DIR')
- repro_dir = get_env_var('SPACK_JOB_REPRO_DIR')
- local_mirror_dir = get_env_var('SPACK_LOCAL_MIRROR_DIR')
- concrete_env_dir = get_env_var('SPACK_CONCRETE_ENV_DIR')
- ci_pipeline_id = get_env_var('CI_PIPELINE_ID')
- ci_job_name = get_env_var('CI_JOB_NAME')
- signing_key = get_env_var('SPACK_SIGNING_KEY')
- root_spec = get_env_var('SPACK_ROOT_SPEC')
- job_spec_pkg_name = get_env_var('SPACK_JOB_SPEC_PKG_NAME')
- compiler_action = get_env_var('SPACK_COMPILER_ACTION')
- cdash_build_name = get_env_var('SPACK_CDASH_BUILD_NAME')
- spack_pipeline_type = get_env_var('SPACK_PIPELINE_TYPE')
- remote_mirror_override = get_env_var('SPACK_REMOTE_MIRROR_OVERRIDE')
- remote_mirror_url = get_env_var('SPACK_REMOTE_MIRROR_URL')
+ pipeline_artifacts_dir = get_env_var("SPACK_ARTIFACTS_ROOT")
+ job_log_dir = get_env_var("SPACK_JOB_LOG_DIR")
+ repro_dir = get_env_var("SPACK_JOB_REPRO_DIR")
+ local_mirror_dir = get_env_var("SPACK_LOCAL_MIRROR_DIR")
+ concrete_env_dir = get_env_var("SPACK_CONCRETE_ENV_DIR")
+ ci_pipeline_id = get_env_var("CI_PIPELINE_ID")
+ ci_job_name = get_env_var("CI_JOB_NAME")
+ signing_key = get_env_var("SPACK_SIGNING_KEY")
+ root_spec = get_env_var("SPACK_ROOT_SPEC")
+ job_spec_pkg_name = get_env_var("SPACK_JOB_SPEC_PKG_NAME")
+ compiler_action = get_env_var("SPACK_COMPILER_ACTION")
+ cdash_build_name = get_env_var("SPACK_CDASH_BUILD_NAME")
+ spack_pipeline_type = get_env_var("SPACK_PIPELINE_TYPE")
+ remote_mirror_override = get_env_var("SPACK_REMOTE_MIRROR_OVERRIDE")
+ remote_mirror_url = get_env_var("SPACK_REMOTE_MIRROR_URL")
# Construct absolute paths relative to current $CI_PROJECT_DIR
- ci_project_dir = get_env_var('CI_PROJECT_DIR')
- pipeline_artifacts_dir = os.path.join(
- ci_project_dir, pipeline_artifacts_dir)
+ ci_project_dir = get_env_var("CI_PROJECT_DIR")
+ pipeline_artifacts_dir = os.path.join(ci_project_dir, pipeline_artifacts_dir)
job_log_dir = os.path.join(ci_project_dir, job_log_dir)
repro_dir = os.path.join(ci_project_dir, repro_dir)
local_mirror_dir = os.path.join(ci_project_dir, local_mirror_dir)
concrete_env_dir = os.path.join(ci_project_dir, concrete_env_dir)
# Debug print some of the key environment variables we should have received
- tty.debug('pipeline_artifacts_dir = {0}'.format(pipeline_artifacts_dir))
- tty.debug('root_spec = {0}'.format(root_spec))
- tty.debug('remote_mirror_url = {0}'.format(remote_mirror_url))
- tty.debug('job_spec_pkg_name = {0}'.format(job_spec_pkg_name))
- tty.debug('compiler_action = {0}'.format(compiler_action))
+ tty.debug("pipeline_artifacts_dir = {0}".format(pipeline_artifacts_dir))
+ tty.debug("root_spec = {0}".format(root_spec))
+ tty.debug("remote_mirror_url = {0}".format(remote_mirror_url))
+ tty.debug("job_spec_pkg_name = {0}".format(job_spec_pkg_name))
+ tty.debug("compiler_action = {0}".format(compiler_action))
# Query the environment manifest to find out whether we're reporting to a
# CDash instance, and if so, gather some information from the manifest to
# support that task.
enable_cdash = False
- if 'cdash' in yaml_root:
+ if "cdash" in yaml_root:
enable_cdash = True
- ci_cdash = yaml_root['cdash']
- job_spec_buildgroup = ci_cdash['build-group']
- cdash_base_url = ci_cdash['url']
- cdash_project = ci_cdash['project']
- proj_enc = urlencode({'project': cdash_project})
- eq_idx = proj_enc.find('=') + 1
+ ci_cdash = yaml_root["cdash"]
+ job_spec_buildgroup = ci_cdash["build-group"]
+ cdash_base_url = ci_cdash["url"]
+ cdash_project = ci_cdash["project"]
+ proj_enc = urlencode({"project": cdash_project})
+ eq_idx = proj_enc.find("=") + 1
cdash_project_enc = proj_enc[eq_idx:]
- cdash_site = ci_cdash['site']
- tty.debug('cdash_base_url = {0}'.format(cdash_base_url))
- tty.debug('cdash_project = {0}'.format(cdash_project))
- tty.debug('cdash_project_enc = {0}'.format(cdash_project_enc))
- tty.debug('cdash_build_name = {0}'.format(cdash_build_name))
- tty.debug('cdash_site = {0}'.format(cdash_site))
- tty.debug('job_spec_buildgroup = {0}'.format(job_spec_buildgroup))
+ cdash_site = ci_cdash["site"]
+ tty.debug("cdash_base_url = {0}".format(cdash_base_url))
+ tty.debug("cdash_project = {0}".format(cdash_project))
+ tty.debug("cdash_project_enc = {0}".format(cdash_project_enc))
+ tty.debug("cdash_build_name = {0}".format(cdash_build_name))
+ tty.debug("cdash_site = {0}".format(cdash_site))
+ tty.debug("job_spec_buildgroup = {0}".format(job_spec_buildgroup))
# Is this a pipeline run on a spack PR or a merge to develop? It might
# be neither, e.g. a pipeline run on some environment repository.
- spack_is_pr_pipeline = spack_pipeline_type == 'spack_pull_request'
- spack_is_develop_pipeline = spack_pipeline_type == 'spack_protected_branch'
+ spack_is_pr_pipeline = spack_pipeline_type == "spack_pull_request"
+ spack_is_develop_pipeline = spack_pipeline_type == "spack_protected_branch"
- tty.debug('Pipeline type - PR: {0}, develop: {1}'.format(
- spack_is_pr_pipeline, spack_is_develop_pipeline))
+ tty.debug(
+ "Pipeline type - PR: {0}, develop: {1}".format(
+ spack_is_pr_pipeline, spack_is_develop_pipeline
+ )
+ )
# If no override url exists, then just push binary package to the
# normal remote mirror url.
@@ -265,16 +303,16 @@ def ci_rebuild(args):
pipeline_mirror_url = None
temp_storage_url_prefix = None
- if 'temporary-storage-url-prefix' in gitlab_ci:
- temp_storage_url_prefix = gitlab_ci['temporary-storage-url-prefix']
- pipeline_mirror_url = url_util.join(
- temp_storage_url_prefix, ci_pipeline_id)
+ if "temporary-storage-url-prefix" in gitlab_ci:
+ temp_storage_url_prefix = gitlab_ci["temporary-storage-url-prefix"]
+ pipeline_mirror_url = url_util.join(temp_storage_url_prefix, ci_pipeline_id)
enable_artifacts_mirror = False
- if 'enable-artifacts-buildcache' in gitlab_ci:
- enable_artifacts_mirror = gitlab_ci['enable-artifacts-buildcache']
- if (enable_artifacts_mirror or (spack_is_pr_pipeline and
- not enable_artifacts_mirror and not temp_storage_url_prefix)):
+ if "enable-artifacts-buildcache" in gitlab_ci:
+ enable_artifacts_mirror = gitlab_ci["enable-artifacts-buildcache"]
+ if enable_artifacts_mirror or (
+ spack_is_pr_pipeline and not enable_artifacts_mirror and not temp_storage_url_prefix
+ ):
# If you explicitly enabled the artifacts buildcache feature, or
# if this is a PR pipeline but you did not enable either of the
# per-pipeline temporary storage features, we force the use of
@@ -282,18 +320,16 @@ def ci_rebuild(args):
# dependencies from previous stages available since we do not
# allow pushing binaries to the remote mirror during PR pipelines.
enable_artifacts_mirror = True
- pipeline_mirror_url = 'file://' + local_mirror_dir
- mirror_msg = 'artifact buildcache enabled, mirror url: {0}'.format(
- pipeline_mirror_url)
+ pipeline_mirror_url = "file://" + local_mirror_dir
+ mirror_msg = "artifact buildcache enabled, mirror url: {0}".format(pipeline_mirror_url)
tty.debug(mirror_msg)
# Whatever form of root_spec we got, use it to get a map giving us concrete
# specs for this job and all of its dependencies.
- spec_map = spack_ci.get_concrete_specs(
- env, root_spec, job_spec_pkg_name, compiler_action)
+ spec_map = spack_ci.get_concrete_specs(env, root_spec, job_spec_pkg_name, compiler_action)
job_spec = spec_map[job_spec_pkg_name]
- job_spec_json_file = '{0}.json'.format(job_spec_pkg_name)
+ job_spec_json_file = "{0}.json".format(job_spec_pkg_name)
job_spec_json_path = os.path.join(repro_dir, job_spec_json_file)
# To provide logs, cdash reports, etc for developer download/perusal,
@@ -301,7 +337,7 @@ def ci_rebuild(args):
# jobs that "need" this job will get those artifacts too. So here we
# need to clean out the artifacts we may have got from upstream jobs.
- cdash_report_dir = os.path.join(pipeline_artifacts_dir, 'cdash_report')
+ cdash_report_dir = os.path.join(pipeline_artifacts_dir, "cdash_report")
if os.path.exists(cdash_report_dir):
shutil.rmtree(cdash_report_dir)
@@ -323,10 +359,7 @@ def ci_rebuild(args):
# Try to cast a slightly wider net too, and hopefully get the generated
# pipeline yaml. If we miss it, the user will still be able to go to the
# pipeline generation job and get it from there.
- target_dirs = [
- concrete_env_dir,
- pipeline_artifacts_dir
- ]
+ target_dirs = [concrete_env_dir, pipeline_artifacts_dir]
for dir_to_list in target_dirs:
for file_name in os.listdir(dir_to_list):
@@ -350,61 +383,58 @@ def ci_rebuild(args):
# Write this job's spec json into the reproduction directory, and it will
# also be used in the generated "spack install" command to install the spec
- tty.debug('job concrete spec path: {0}'.format(job_spec_json_path))
- with open(job_spec_json_path, 'w') as fd:
+ tty.debug("job concrete spec path: {0}".format(job_spec_json_path))
+ with open(job_spec_json_path, "w") as fd:
fd.write(job_spec.to_json(hash=ht.dag_hash))
# Write the concrete root spec json into the reproduction directory
- root_spec_json_path = os.path.join(repro_dir, 'root.json')
- with open(root_spec_json_path, 'w') as fd:
- fd.write(spec_map['root'].to_json(hash=ht.dag_hash))
+ root_spec_json_path = os.path.join(repro_dir, "root.json")
+ with open(root_spec_json_path, "w") as fd:
+ fd.write(spec_map["root"].to_json(hash=ht.dag_hash))
# Write some other details to aid in reproduction into an artifact
- repro_file = os.path.join(repro_dir, 'repro.json')
+ repro_file = os.path.join(repro_dir, "repro.json")
repro_details = {
- 'job_name': ci_job_name,
- 'job_spec_json': job_spec_json_file,
- 'root_spec_json': 'root.json',
- 'ci_project_dir': ci_project_dir
+ "job_name": ci_job_name,
+ "job_spec_json": job_spec_json_file,
+ "root_spec_json": "root.json",
+ "ci_project_dir": ci_project_dir,
}
- with open(repro_file, 'w') as fd:
+ with open(repro_file, "w") as fd:
fd.write(json.dumps(repro_details))
# Write information about spack into an artifact in the repro dir
spack_info = spack_ci.get_spack_info()
- spack_info_file = os.path.join(repro_dir, 'spack_info.txt')
- with open(spack_info_file, 'wb') as fd:
- fd.write(b'\n')
- fd.write(spack_info.encode('utf8'))
- fd.write(b'\n')
+ spack_info_file = os.path.join(repro_dir, "spack_info.txt")
+ with open(spack_info_file, "wb") as fd:
+ fd.write(b"\n")
+ fd.write(spack_info.encode("utf8"))
+ fd.write(b"\n")
# If we decided there should be a temporary storage mechanism, add that
# mirror now so it's used when we check for a hash match already
# built for this spec.
if pipeline_mirror_url:
- spack.mirror.add(spack_ci.TEMP_STORAGE_MIRROR_NAME,
- pipeline_mirror_url,
- cfg.default_modify_scope())
+ spack.mirror.add(
+ spack_ci.TEMP_STORAGE_MIRROR_NAME, pipeline_mirror_url, cfg.default_modify_scope()
+ )
# Check configured mirrors for a built spec with a matching hash
mirrors_to_check = None
- if remote_mirror_override and spack_pipeline_type == 'spack_protected_branch':
+ if remote_mirror_override and spack_pipeline_type == "spack_protected_branch":
# Passing "mirrors_to_check" below means we *only* look in the override
# mirror to see if we should skip building, which is what we want.
- mirrors_to_check = {
- 'override': remote_mirror_override
- }
+ mirrors_to_check = {"override": remote_mirror_override}
# Adding this mirror to the list of configured mirrors means dependencies
# could be installed from either the override mirror or any other configured
# mirror (e.g. remote_mirror_url which is defined in the environment or
# pipeline_mirror_url), which is also what we want.
- spack.mirror.add('mirror_override',
- remote_mirror_override,
- cfg.default_modify_scope())
+ spack.mirror.add("mirror_override", remote_mirror_override, cfg.default_modify_scope())
matches = bindist.get_mirrors_for_spec(
- job_spec, mirrors_to_check=mirrors_to_check, index_only=False)
+ job_spec, mirrors_to_check=mirrors_to_check, index_only=False
+ )
if matches:
# Got a hash match on at least one configured mirror. All
@@ -413,21 +443,15 @@ def ci_rebuild(args):
# of the matches and download the buildcache files from there to
# the artifacts, so they're available to be used by dependent
# jobs in subsequent stages.
- tty.msg('No need to rebuild {0}, found hash match at: '.format(
- job_spec_pkg_name))
+ tty.msg("No need to rebuild {0}, found hash match at: ".format(job_spec_pkg_name))
for match in matches:
- tty.msg(' {0}'.format(match['mirror_url']))
+ tty.msg(" {0}".format(match["mirror_url"]))
if enable_artifacts_mirror:
- matching_mirror = matches[0]['mirror_url']
- build_cache_dir = os.path.join(local_mirror_dir, 'build_cache')
- tty.debug('Getting {0} buildcache from {1}'.format(
- job_spec_pkg_name, matching_mirror))
- tty.debug('Downloading to {0}'.format(build_cache_dir))
- bindist.download_single_spec(
- job_spec,
- build_cache_dir,
- mirror_url=matching_mirror
- )
+ matching_mirror = matches[0]["mirror_url"]
+ build_cache_dir = os.path.join(local_mirror_dir, "build_cache")
+ tty.debug("Getting {0} buildcache from {1}".format(job_spec_pkg_name, matching_mirror))
+ tty.debug("Downloading to {0}".format(build_cache_dir))
+ bindist.download_single_spec(job_spec, build_cache_dir, mirror_url=matching_mirror)
# Now we are done and successful
sys.exit(0)
@@ -437,109 +461,114 @@ def ci_rebuild(args):
# Start with spack arguments
install_args = [base_arg for base_arg in CI_REBUILD_INSTALL_BASE_ARGS]
- config = cfg.get('config')
- if not config['verify_ssl']:
- install_args.append('-k')
+ config = cfg.get("config")
+ if not config["verify_ssl"]:
+ install_args.append("-k")
- install_args.extend([
- 'install',
- '--keep-stage',
- ])
+ install_args.extend(
+ [
+ "install",
+ "--keep-stage",
+ ]
+ )
can_verify = spack_ci.can_verify_binaries()
verify_binaries = can_verify and spack_is_pr_pipeline is False
if not verify_binaries:
- install_args.append('--no-check-signature')
+ install_args.append("--no-check-signature")
if enable_cdash:
# Add additional arguments to `spack install` for CDash reporting.
- cdash_upload_url = '{0}/submit.php?project={1}'.format(
- cdash_base_url, cdash_project_enc)
-
- install_args.extend([
- '--cdash-upload-url', cdash_upload_url,
- '--cdash-build', cdash_build_name,
- '--cdash-site', cdash_site,
- '--cdash-track', job_spec_buildgroup,
- ])
+ cdash_upload_url = "{0}/submit.php?project={1}".format(cdash_base_url, cdash_project_enc)
+
+ install_args.extend(
+ [
+ "--cdash-upload-url",
+ cdash_upload_url,
+ "--cdash-build",
+ cdash_build_name,
+ "--cdash-site",
+ cdash_site,
+ "--cdash-track",
+ job_spec_buildgroup,
+ ]
+ )
# A compiler action of 'FIND_ANY' means we are building a bootstrap
# compiler or one of its deps.
# TODO: when compilers are dependencies, we should include --no-add
- if compiler_action != 'FIND_ANY':
- install_args.append('--no-add')
+ if compiler_action != "FIND_ANY":
+ install_args.append("--no-add")
# TODO: once we have the concrete spec registry, use the DAG hash
# to identify the spec to install, rather than the concrete spec
# json file.
- install_args.extend(['-f', job_spec_json_path])
+ install_args.extend(["-f", job_spec_json_path])
- tty.debug('Installing {0} from source'.format(job_spec.name))
- tty.debug('spack install arguments: {0}'.format(
- install_args))
+ tty.debug("Installing {0} from source".format(job_spec.name))
+ tty.debug("spack install arguments: {0}".format(install_args))
# Write the install command to a shell script
- with open('install.sh', 'w') as fd:
- fd.write('#!/bin/bash\n\n')
- fd.write('\n# spack install command\n')
- fd.write(' '.join(['"{0}"'.format(i) for i in install_args]))
- fd.write('\n')
+ with open("install.sh", "w") as fd:
+ fd.write("#!/bin/bash\n\n")
+ fd.write("\n# spack install command\n")
+ fd.write(" ".join(['"{0}"'.format(i) for i in install_args]))
+ fd.write("\n")
- st = os.stat('install.sh')
- os.chmod('install.sh', st.st_mode | stat.S_IEXEC)
+ st = os.stat("install.sh")
+ os.chmod("install.sh", st.st_mode | stat.S_IEXEC)
- install_copy_path = os.path.join(repro_dir, 'install.sh')
- shutil.copyfile('install.sh', install_copy_path)
+ install_copy_path = os.path.join(repro_dir, "install.sh")
+ shutil.copyfile("install.sh", install_copy_path)
# Run the generated install.sh shell script as if it were being run in
# a login shell.
try:
- install_process = subprocess.Popen(['bash', '-l', './install.sh'])
+ install_process = subprocess.Popen(["bash", "-l", "./install.sh"])
install_process.wait()
install_exit_code = install_process.returncode
except (ValueError, subprocess.CalledProcessError, OSError) as inst:
- tty.error('Encountered error running install script')
+ tty.error("Encountered error running install script")
tty.error(inst)
# Now do the post-install tasks
- tty.debug('spack install exited {0}'.format(install_exit_code))
+ tty.debug("spack install exited {0}".format(install_exit_code))
# If a spec fails to build in a spack develop pipeline, we add it to a
# list of known broken hashes. This allows spack PR pipelines to
# avoid wasting compute cycles attempting to build those hashes.
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']
+ tty.debug("Install failed on develop")
+ if "broken-specs-url" in gitlab_ci:
+ broken_specs_url = gitlab_ci["broken-specs-url"]
dev_fail_hash = job_spec.dag_hash()
broken_spec_path = url_util.join(broken_specs_url, dev_fail_hash)
- tty.msg('Reporting broken develop build as: {0}'.format(
- broken_spec_path))
+ tty.msg("Reporting broken develop build as: {0}".format(broken_spec_path))
tmpdir = tempfile.mkdtemp()
- empty_file_path = os.path.join(tmpdir, 'empty.txt')
+ 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-dict': job_spec.to_dict(hash=ht.dag_hash)
+ "broken-spec": {
+ "job-url": get_env_var("CI_JOB_URL"),
+ "pipeline-url": get_env_var("CI_PIPELINE_URL"),
+ "concrete-spec-dict": job_spec.to_dict(hash=ht.dag_hash),
}
}
try:
- with open(empty_file_path, 'w') as efd:
+ with open(empty_file_path, "w") as efd:
efd.write(syaml.dump(broken_spec_details))
web_util.push_to_url(
empty_file_path,
broken_spec_path,
keep_original=False,
- extra_args={'ContentType': 'text/plain'})
+ extra_args={"ContentType": "text/plain"},
+ )
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 writing to broken specs list {0}: {1}'.format(
- broken_spec_path, err)
+ msg = "Error writing to broken specs list {0}: {1}".format(broken_spec_path, err)
tty.warn(msg)
finally:
shutil.rmtree(tmpdir)
@@ -574,32 +603,33 @@ def ci_rebuild(args):
# 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']
+ 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.dag_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))
+ 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)
+ 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')
+ tty.debug("spack install exited non-zero, will not create buildcache")
- api_root_url = get_env_var('CI_API_V4_URL')
- ci_project_id = get_env_var('CI_PROJECT_ID')
- ci_job_id = get_env_var('CI_JOB_ID')
+ api_root_url = get_env_var("CI_API_V4_URL")
+ ci_project_id = get_env_var("CI_PROJECT_ID")
+ ci_job_id = get_env_var("CI_JOB_ID")
- repro_job_url = '{0}/projects/{1}/jobs/{2}/artifacts'.format(
- api_root_url, ci_project_id, ci_job_id)
+ repro_job_url = "{0}/projects/{1}/jobs/{2}/artifacts".format(
+ api_root_url, ci_project_id, ci_job_id
+ )
# Control characters cause this to be printed in blue so it stands out
reproduce_msg = """
@@ -614,7 +644,9 @@ If this project does not have public pipelines, you will need to first:
... then follow the printed instructions.\033[0;0m
-""".format(repro_job_url)
+""".format(
+ repro_job_url
+ )
print(reproduce_msg)
diff --git a/lib/spack/spack/cmd/clean.py b/lib/spack/spack/cmd/clean.py
index 71fee4f3ff..05d9f6cd73 100644
--- a/lib/spack/spack/cmd/clean.py
+++ b/lib/spack/spack/cmd/clean.py
@@ -27,94 +27,116 @@ level = "long"
class AllClean(argparse.Action):
"""Activates flags -s -d -f -m and -p simultaneously"""
+
def __call__(self, parser, namespace, values, option_string=None):
- parser.parse_args(['-sdfmp'], namespace=namespace)
+ parser.parse_args(["-sdfmp"], namespace=namespace)
def setup_parser(subparser):
subparser.add_argument(
- '-s', '--stage', action='store_true',
- help="remove all temporary build stages (default)")
+ "-s", "--stage", action="store_true", help="remove all temporary build stages (default)"
+ )
subparser.add_argument(
- '-d', '--downloads', action='store_true',
- help="remove cached downloads")
+ "-d", "--downloads", action="store_true", help="remove cached downloads"
+ )
subparser.add_argument(
- '-f', '--failures', action='store_true',
- help="force removal of all install failure tracking markers")
+ "-f",
+ "--failures",
+ action="store_true",
+ help="force removal of all install failure tracking markers",
+ )
subparser.add_argument(
- '-m', '--misc-cache', action='store_true',
- help="remove long-lived caches, like the virtual package index")
+ "-m",
+ "--misc-cache",
+ action="store_true",
+ help="remove long-lived caches, like the virtual package index",
+ )
subparser.add_argument(
- '-p', '--python-cache', action='store_true',
- help="remove .pyc, .pyo files and __pycache__ folders")
+ "-p",
+ "--python-cache",
+ action="store_true",
+ help="remove .pyc, .pyo files and __pycache__ folders",
+ )
subparser.add_argument(
- '-b', '--bootstrap', action='store_true',
- help="remove software and configuration needed to bootstrap Spack")
+ "-b",
+ "--bootstrap",
+ action="store_true",
+ help="remove software and configuration needed to bootstrap Spack",
+ )
subparser.add_argument(
- '-a', '--all', action=AllClean,
+ "-a",
+ "--all",
+ action=AllClean,
help="equivalent to -sdfmp (does not include --bootstrap)",
- nargs=0
+ nargs=0,
)
- arguments.add_common_arguments(subparser, ['specs'])
+ arguments.add_common_arguments(subparser, ["specs"])
def remove_python_cache():
for directory in [lib_path, var_path]:
for root, dirs, files in os.walk(directory):
for f in files:
- if f.endswith('.pyc') or f.endswith('.pyo'):
+ if f.endswith(".pyc") or f.endswith(".pyo"):
fname = os.path.join(root, f)
- tty.debug('Removing {0}'.format(fname))
+ tty.debug("Removing {0}".format(fname))
os.remove(fname)
for d in dirs:
- if d == '__pycache__':
+ if d == "__pycache__":
dname = os.path.join(root, d)
- tty.debug('Removing {0}'.format(dname))
+ tty.debug("Removing {0}".format(dname))
shutil.rmtree(dname)
def clean(parser, args):
# If nothing was set, activate the default
- if not any([args.specs, args.stage, args.downloads, args.failures,
- args.misc_cache, args.python_cache, args.bootstrap]):
+ if not any(
+ [
+ args.specs,
+ args.stage,
+ args.downloads,
+ args.failures,
+ args.misc_cache,
+ args.python_cache,
+ args.bootstrap,
+ ]
+ ):
args.stage = True
# Then do the cleaning falling through the cases
if args.specs:
specs = spack.cmd.parse_specs(args.specs, concretize=True)
for spec in specs:
- msg = 'Cleaning build stage [{0}]'
+ msg = "Cleaning build stage [{0}]"
tty.msg(msg.format(spec.short_spec))
spec.package.do_clean()
if args.stage:
- tty.msg('Removing all temporary build stages')
+ tty.msg("Removing all temporary build stages")
spack.stage.purge()
# Temp directory where buildcaches are extracted
- extract_tmp = os.path.join(spack.store.layout.root, '.tmp')
+ extract_tmp = os.path.join(spack.store.layout.root, ".tmp")
if os.path.exists(extract_tmp):
- tty.debug('Removing {0}'.format(extract_tmp))
+ tty.debug("Removing {0}".format(extract_tmp))
shutil.rmtree(extract_tmp)
if args.downloads:
- tty.msg('Removing cached downloads')
+ tty.msg("Removing cached downloads")
spack.caches.fetch_cache.destroy()
if args.failures:
- tty.msg('Removing install failure marks')
+ tty.msg("Removing install failure marks")
spack.installer.clear_failures()
if args.misc_cache:
- tty.msg('Removing cached information on repositories')
+ tty.msg("Removing cached information on repositories")
spack.caches.misc_cache.destroy()
if args.python_cache:
- tty.msg('Removing python cache files')
+ tty.msg("Removing python cache files")
remove_python_cache()
if args.bootstrap:
- bootstrap_prefix = spack.util.path.canonicalize_path(
- spack.config.get('bootstrap:root')
- )
+ bootstrap_prefix = spack.util.path.canonicalize_path(spack.config.get("bootstrap:root"))
msg = 'Removing bootstrapped software and configuration in "{0}"'
tty.msg(msg.format(bootstrap_prefix))
llnl.util.filesystem.remove_directory_contents(bootstrap_prefix)
diff --git a/lib/spack/spack/cmd/clone.py b/lib/spack/spack/cmd/clone.py
index abc9293bb0..349bf1b2f7 100644
--- a/lib/spack/spack/cmd/clone.py
+++ b/lib/spack/spack/cmd/clone.py
@@ -11,7 +11,7 @@ from llnl.util.filesystem import mkdirp, working_dir
import spack.paths
from spack.util.executable import ProcessError, which
-_SPACK_UPSTREAM = 'https://github.com/spack/spack'
+_SPACK_UPSTREAM = "https://github.com/spack/spack"
description = "create a new installation of spack in another prefix"
section = "admin"
@@ -20,34 +20,34 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-r', '--remote', action='store', dest='remote',
- help="name of the remote to clone from", default='origin')
- subparser.add_argument(
- 'prefix',
- help="name of prefix where we should install spack")
+ "-r",
+ "--remote",
+ action="store",
+ dest="remote",
+ help="name of the remote to clone from",
+ default="origin",
+ )
+ subparser.add_argument("prefix", help="name of prefix where we should install spack")
def get_origin_info(remote):
- git_dir = os.path.join(spack.paths.prefix, '.git')
- git = which('git', required=True)
+ git_dir = os.path.join(spack.paths.prefix, ".git")
+ git = which("git", required=True)
try:
- branch = git('symbolic-ref', '--short', 'HEAD', output=str)
+ branch = git("symbolic-ref", "--short", "HEAD", output=str)
except ProcessError:
- branch = 'develop'
- tty.warn('No branch found; using default branch: %s' % branch)
- if remote == 'origin' and \
- branch not in ('master', 'develop'):
- branch = 'develop'
- tty.warn('Unknown branch found; using default branch: %s' % branch)
+ branch = "develop"
+ tty.warn("No branch found; using default branch: %s" % branch)
+ if remote == "origin" and branch not in ("master", "develop"):
+ branch = "develop"
+ tty.warn("Unknown branch found; using default branch: %s" % branch)
try:
origin_url = git(
- '--git-dir=%s' % git_dir,
- 'config', '--get', 'remote.%s.url' % remote,
- output=str)
+ "--git-dir=%s" % git_dir, "config", "--get", "remote.%s.url" % remote, output=str
+ )
except ProcessError:
origin_url = _SPACK_UPSTREAM
- tty.warn('No git repository found; '
- 'using default upstream URL: %s' % origin_url)
+ tty.warn("No git repository found; " "using default upstream URL: %s" % origin_url)
return (origin_url.strip(), branch.strip())
@@ -62,27 +62,27 @@ def clone(parser, args):
mkdirp(prefix)
- if os.path.exists(os.path.join(prefix, '.git')):
+ if os.path.exists(os.path.join(prefix, ".git")):
tty.die("There already seems to be a git repository in %s" % prefix)
files_in_the_way = os.listdir(prefix)
if files_in_the_way:
- tty.die("There are already files there! "
- "Delete these files before boostrapping spack.",
- *files_in_the_way)
+ tty.die(
+ "There are already files there! " "Delete these files before boostrapping spack.",
+ *files_in_the_way
+ )
- tty.msg("Installing:",
- "%s/bin/spack" % prefix,
- "%s/lib/spack/..." % prefix)
+ tty.msg("Installing:", "%s/bin/spack" % prefix, "%s/lib/spack/..." % prefix)
with working_dir(prefix):
- git = which('git', required=True)
- git('init', '--shared', '-q')
- git('remote', 'add', 'origin', origin_url)
- git('fetch', 'origin', '%s:refs/remotes/origin/%s' % (branch, branch),
- '-n', '-q')
- git('reset', '--hard', 'origin/%s' % branch, '-q')
- git('checkout', '-B', branch, 'origin/%s' % branch, '-q')
-
- tty.msg("Successfully created a new spack in %s" % prefix,
- "Run %s/bin/spack to use this installation." % prefix)
+ git = which("git", required=True)
+ git("init", "--shared", "-q")
+ git("remote", "add", "origin", origin_url)
+ git("fetch", "origin", "%s:refs/remotes/origin/%s" % (branch, branch), "-n", "-q")
+ git("reset", "--hard", "origin/%s" % branch, "-q")
+ git("checkout", "-B", branch, "origin/%s" % branch, "-q")
+
+ tty.msg(
+ "Successfully created a new spack in %s" % prefix,
+ "Run %s/bin/spack to use this installation." % prefix,
+ )
diff --git a/lib/spack/spack/cmd/commands.py b/lib/spack/spack/cmd/commands.py
index 25653b58ae..3890b2330b 100644
--- a/lib/spack/spack/cmd/commands.py
+++ b/lib/spack/spack/cmd/commands.py
@@ -37,13 +37,11 @@ formatters = {}
#: standard arguments for updating completion scripts
#: we iterate through these when called with --update-completion
update_completion_args = {
- "bash": {
+ "bash": {
"aliases": True,
"format": "bash",
- "header": os.path.join(
- spack.paths.share_path, "bash", "spack-completion.in"),
- "update": os.path.join(
- spack.paths.share_path, "spack-completion.bash"),
+ "header": os.path.join(spack.paths.share_path, "bash", "spack-completion.in"),
+ "update": os.path.join(spack.paths.share_path, "spack-completion.bash"),
},
}
@@ -56,68 +54,88 @@ def formatter(func):
def setup_parser(subparser):
subparser.add_argument(
- "--update-completion", action='store_true', default=False,
- help="regenerate spack's tab completion scripts")
+ "--update-completion",
+ action="store_true",
+ default=False,
+ help="regenerate spack's tab completion scripts",
+ )
subparser.add_argument(
- '-a', '--aliases', action='store_true', default=False,
- help='include command aliases')
+ "-a", "--aliases", action="store_true", default=False, help="include command aliases"
+ )
subparser.add_argument(
- '--format', default='names', choices=formatters,
- help='format to be used to print the output (default: names)')
+ "--format",
+ default="names",
+ choices=formatters,
+ help="format to be used to print the output (default: names)",
+ )
subparser.add_argument(
- '--header', metavar='FILE', default=None, action='store',
- help='prepend contents of FILE to the output (useful for rst format)')
+ "--header",
+ metavar="FILE",
+ default=None,
+ action="store",
+ help="prepend contents of FILE to the output (useful for rst format)",
+ )
subparser.add_argument(
- '--update', metavar='FILE', default=None, action='store',
- help='write output to the specified file, if any command is newer')
+ "--update",
+ metavar="FILE",
+ default=None,
+ action="store",
+ help="write output to the specified file, if any command is newer",
+ )
subparser.add_argument(
- 'rst_files', nargs=argparse.REMAINDER,
- help='list of rst files to search for `_cmd-spack-<cmd>` cross-refs')
+ "rst_files",
+ nargs=argparse.REMAINDER,
+ help="list of rst files to search for `_cmd-spack-<cmd>` cross-refs",
+ )
class SpackArgparseRstWriter(ArgparseRstWriter):
"""RST writer tailored for spack documentation."""
- def __init__(self, prog, out=None, aliases=False,
- documented_commands=[],
- rst_levels=['-', '-', '^', '~', ':', '`']):
+ def __init__(
+ self,
+ prog,
+ out=None,
+ aliases=False,
+ documented_commands=[],
+ rst_levels=["-", "-", "^", "~", ":", "`"],
+ ):
out = sys.stdout if out is None else out
- super(SpackArgparseRstWriter, self).__init__(
- prog, out, aliases, rst_levels)
+ super(SpackArgparseRstWriter, self).__init__(prog, out, aliases, rst_levels)
self.documented = documented_commands
def usage(self, *args):
string = super(SpackArgparseRstWriter, self).usage(*args)
- cmd = self.parser.prog.replace(' ', '-')
+ cmd = self.parser.prog.replace(" ", "-")
if cmd in self.documented:
- string += '\n:ref:`More documentation <cmd-{0}>`\n'.format(cmd)
+ string += "\n:ref:`More documentation <cmd-{0}>`\n".format(cmd)
return string
class SubcommandWriter(ArgparseWriter):
def format(self, cmd):
- return ' ' * self.level + cmd.prog + '\n'
+ return " " * self.level + cmd.prog + "\n"
_positional_to_subroutine = {
- 'package': '_all_packages',
- 'spec': '_all_packages',
- 'filter': '_all_packages',
- 'installed': '_installed_packages',
- 'compiler': '_installed_compilers',
- 'section': '_config_sections',
- 'env': '_environments',
- 'extendable': '_extensions',
- 'keys': '_keys',
- 'help_command': '_subcommands',
- 'mirror': '_mirrors',
- 'virtual': '_providers',
- 'namespace': '_repos',
- 'hash': '_all_resource_hashes',
- 'pytest': '_unit_tests',
+ "package": "_all_packages",
+ "spec": "_all_packages",
+ "filter": "_all_packages",
+ "installed": "_installed_packages",
+ "compiler": "_installed_compilers",
+ "section": "_config_sections",
+ "env": "_environments",
+ "extendable": "_extensions",
+ "keys": "_keys",
+ "help_command": "_subcommands",
+ "mirror": "_mirrors",
+ "virtual": "_providers",
+ "namespace": "_repos",
+ "hash": "_all_resource_hashes",
+ "pytest": "_unit_tests",
}
@@ -133,7 +151,9 @@ class BashCompletionWriter(ArgparseCompletionWriter):
else
{1}
fi
-""".format(self.optionals(optionals), self.positionals(positionals))
+""".format(
+ self.optionals(optionals), self.positionals(positionals)
+ )
elif subcommands:
return """
if $list_options
@@ -142,11 +162,15 @@ class BashCompletionWriter(ArgparseCompletionWriter):
else
{1}
fi
-""".format(self.optionals(optionals), self.subcommands(subcommands))
+""".format(
+ self.optionals(optionals), self.subcommands(subcommands)
+ )
else:
return """
{0}
-""".format(self.optionals(optionals))
+""".format(
+ self.optionals(optionals)
+ )
def positionals(self, positionals):
# If match found, return function name
@@ -159,10 +183,10 @@ class BashCompletionWriter(ArgparseCompletionWriter):
return 'SPACK_COMPREPLY=""'
def optionals(self, optionals):
- return 'SPACK_COMPREPLY="{0}"'.format(' '.join(optionals))
+ return 'SPACK_COMPREPLY="{0}"'.format(" ".join(optionals))
def subcommands(self, subcommands):
- return 'SPACK_COMPREPLY="{0}"'.format(' '.join(subcommands))
+ return 'SPACK_COMPREPLY="{0}"'.format(" ".join(subcommands))
@formatter
@@ -174,16 +198,16 @@ def subcommands(args, out):
def rst_index(out):
- out.write('\n')
+ out.write("\n")
index = spack.main.index_commands()
- sections = index['long']
+ sections = index["long"]
dmax = max(len(section_descriptions.get(s, s)) for s in sections) + 2
cmax = max(len(c) for _, c in sections.items()) + 60
- row = "%s %s\n" % ('=' * dmax, '=' * cmax)
- line = '%%-%ds %%s\n' % dmax
+ row = "%s %s\n" % ("=" * dmax, "=" * cmax)
+ line = "%%-%ds %%s\n" % dmax
out.write(row)
out.write(line % (" Category ", " Commands "))
@@ -192,10 +216,10 @@ def rst_index(out):
description = section_descriptions.get(section, section)
for i, cmd in enumerate(sorted(commands)):
- description = description.capitalize() if i == 0 else ''
- ref = ':ref:`%s <spack-%s>`' % (cmd, cmd)
- comma = ',' if i != len(commands) - 1 else ''
- bar = '| ' if i % 8 == 0 else ' '
+ description = description.capitalize() if i == 0 else ""
+ ref = ":ref:`%s <spack-%s>`" % (cmd, cmd)
+ comma = "," if i != len(commands) - 1 else ""
+ bar = "| " if i % 8 == 0 else " "
out.write(line % (description, bar + ref + comma))
out.write(row)
@@ -211,17 +235,16 @@ def rst(args, out):
for filename in args.rst_files:
with open(filename) as f:
for line in f:
- match = re.match(r'\.\. _cmd-(spack-.*):', line)
+ match = re.match(r"\.\. _cmd-(spack-.*):", line)
if match:
documented_commands.add(match.group(1).strip())
# print an index to each command
rst_index(out)
- out.write('\n')
+ out.write("\n")
# print sections for each command and subcommand
- writer = SpackArgparseRstWriter(
- parser.prog, out, args.aliases, documented_commands)
+ writer = SpackArgparseRstWriter(parser.prog, out, args.aliases, documented_commands)
writer.write(parser)
@@ -264,8 +287,8 @@ def _commands(parser, args):
tty.die("No such file: '%s'" % args.header)
if args.update:
- tty.msg('Updating file: %s' % args.update)
- with open(args.update, 'w') as f:
+ tty.msg("Updating file: %s" % args.update)
+ with open(args.update, "w") as f:
prepend_header(args, f)
formatter(args, f)
@@ -292,9 +315,7 @@ def update_completion(parser, args):
def commands(parser, args):
if args.update_completion:
- if args.format != 'names' or any([
- args.aliases, args.update, args.header
- ]):
+ if args.format != "names" or any([args.aliases, args.update, args.header]):
tty.die("--update-completion can only be specified alone.")
# this runs the command multiple times with different arguments
diff --git a/lib/spack/spack/cmd/common/__init__.py b/lib/spack/spack/cmd/common/__init__.py
index f4d7a57dd3..b49caec944 100644
--- a/lib/spack/spack/cmd/common/__init__.py
+++ b/lib/spack/spack/cmd/common/__init__.py
@@ -38,8 +38,9 @@ def shell_init_instructions(cmd, equivalent):
color.colorize("@*c{For Windows batch:}"),
" source %s/spack_cmd.bat" % spack.paths.share_path,
"",
- "Or, if you do not want to use shell support, run " + (
- "one of these" if shell_specific else "this") + " instead:",
+ "Or, if you do not want to use shell support, run "
+ + ("one of these" if shell_specific else "this")
+ + " instead:",
"",
]
@@ -48,7 +49,7 @@ def shell_init_instructions(cmd, equivalent):
equivalent.format(sh_arg="--sh ") + " # bash/zsh/sh",
equivalent.format(sh_arg="--csh ") + " # csh/tcsh",
equivalent.format(sh_arg="--fish") + " # fish",
- equivalent.format(sh_arg="--bat ") + " # batch"
+ equivalent.format(sh_arg="--bat ") + " # batch",
]
else:
msg += [" " + equivalent]
@@ -60,5 +61,5 @@ def shell_init_instructions(cmd, equivalent):
"without any path components (such as `bin/spack`).",
]
- msg += ['']
+ msg += [""]
tty.error(*msg)
diff --git a/lib/spack/spack/cmd/common/arguments.py b/lib/spack/spack/cmd/common/arguments.py
index d55b4fbb91..c9f15cfa98 100644
--- a/lib/spack/spack/cmd/common/arguments.py
+++ b/lib/spack/spack/cmd/common/arguments.py
@@ -15,7 +15,7 @@ import spack.spec
import spack.store
from spack.util.pattern import Args
-__all__ = ['add_common_arguments']
+__all__ = ["add_common_arguments"]
#: dictionary of argument-generating functions, keyed by name
_arguments = {}
@@ -58,6 +58,7 @@ class ConstraintAction(argparse.Action):
To obtain the specs from a command the function must be called.
"""
+
def __call__(self, parser, namespace, values, option_string=None):
# Query specs from command line
self.values = values
@@ -71,7 +72,7 @@ class ConstraintAction(argparse.Action):
# only its installed packages.
env = ev.active_environment()
if env:
- kwargs['hashes'] = set(env.all_hashes())
+ kwargs["hashes"] = set(env.all_hashes())
# return everything for an empty query.
if not qspecs:
@@ -93,27 +94,28 @@ class SetParallelJobs(argparse.Action):
The value is is set in the command line configuration scope so that
it can be retrieved using the spack.config API.
"""
+
def __call__(self, parser, namespace, jobs, option_string):
# Jobs is a single integer, type conversion is already applied
# see https://docs.python.org/3/library/argparse.html#action-classes
if jobs < 1:
- msg = 'invalid value for argument "{0}" '\
- '[expected a positive integer, got "{1}"]'
+ msg = 'invalid value for argument "{0}" ' '[expected a positive integer, got "{1}"]'
raise ValueError(msg.format(option_string, jobs))
- spack.config.set('config:build_jobs', jobs, scope='command_line')
+ spack.config.set("config:build_jobs", jobs, scope="command_line")
- setattr(namespace, 'jobs', jobs)
+ setattr(namespace, "jobs", jobs)
class DeptypeAction(argparse.Action):
"""Creates a tuple of valid dependency types from a deptype argument."""
+
def __call__(self, parser, namespace, values, option_string=None):
deptype = dep.all_deptypes
if values:
- deptype = tuple(x.strip() for x in values.split(','))
- if deptype == ('all',):
- deptype = 'all'
+ deptype = tuple(x.strip() for x in values.split(","))
+ if deptype == ("all",):
+ deptype = "all"
deptype = dep.canonical_deptype(deptype)
setattr(namespace, self.dest, deptype)
@@ -123,21 +125,22 @@ class DeptypeAction(argparse.Action):
@arg
def constraint():
return Args(
- 'constraint', nargs=argparse.REMAINDER, action=ConstraintAction,
- help='constraint to select a subset of installed packages',
- metavar='installed_specs')
+ "constraint",
+ nargs=argparse.REMAINDER,
+ action=ConstraintAction,
+ help="constraint to select a subset of installed packages",
+ metavar="installed_specs",
+ )
@arg
def package():
- return Args('package', help='package name')
+ return Args("package", help="package name")
@arg
def packages():
- return Args(
- 'packages', nargs='+', help='one or more package names',
- metavar='package')
+ return Args("packages", nargs="+", help="one or more package names", metavar="package")
# Specs must use `nargs=argparse.REMAINDER` because a single spec can
@@ -145,181 +148,209 @@ def packages():
# are a collection of optional flags.
@arg
def spec():
- return Args('spec', nargs=argparse.REMAINDER, help='package spec')
+ return Args("spec", nargs=argparse.REMAINDER, help="package spec")
@arg
def specs():
- return Args(
- 'specs', nargs=argparse.REMAINDER, help='one or more package specs')
+ return Args("specs", nargs=argparse.REMAINDER, help="one or more package specs")
@arg
def installed_spec():
return Args(
- 'spec', nargs=argparse.REMAINDER, help='installed package spec',
- metavar='installed_spec')
+ "spec", nargs=argparse.REMAINDER, help="installed package spec", metavar="installed_spec"
+ )
@arg
def installed_specs():
return Args(
- 'specs', nargs=argparse.REMAINDER,
- help='one or more installed package specs', metavar='installed_specs')
+ "specs",
+ nargs=argparse.REMAINDER,
+ help="one or more installed package specs",
+ metavar="installed_specs",
+ )
@arg
def yes_to_all():
return Args(
- '-y', '--yes-to-all', action='store_true', dest='yes_to_all',
- help='assume "yes" is the answer to every confirmation request')
+ "-y",
+ "--yes-to-all",
+ action="store_true",
+ dest="yes_to_all",
+ help='assume "yes" is the answer to every confirmation request',
+ )
@arg
def recurse_dependencies():
return Args(
- '-r', '--dependencies', action='store_true',
- dest='recurse_dependencies',
- help='recursively traverse spec dependencies')
+ "-r",
+ "--dependencies",
+ action="store_true",
+ dest="recurse_dependencies",
+ help="recursively traverse spec dependencies",
+ )
@arg
def recurse_dependents():
return Args(
- '-R', '--dependents', action='store_true', dest='dependents',
- help='also uninstall any packages that depend on the ones given '
- 'via command line')
+ "-R",
+ "--dependents",
+ action="store_true",
+ dest="dependents",
+ help="also uninstall any packages that depend on the ones given " "via command line",
+ )
@arg
def clean():
return Args(
- '--clean',
- action='store_false',
- default=spack.config.get('config:dirty'),
- dest='dirty',
- help='unset harmful variables in the build environment (default)')
+ "--clean",
+ action="store_false",
+ default=spack.config.get("config:dirty"),
+ dest="dirty",
+ help="unset harmful variables in the build environment (default)",
+ )
@arg
def deptype():
return Args(
- '--deptype', action=DeptypeAction, default=dep.all_deptypes,
+ "--deptype",
+ action=DeptypeAction,
+ default=dep.all_deptypes,
help="comma-separated list of deptypes to traverse\ndefault=%s"
- % ','.join(dep.all_deptypes))
+ % ",".join(dep.all_deptypes),
+ )
@arg
def dirty():
return Args(
- '--dirty',
- action='store_true',
- default=spack.config.get('config:dirty'),
- dest='dirty',
- help="preserve user environment in spack's build environment (danger!)"
+ "--dirty",
+ action="store_true",
+ default=spack.config.get("config:dirty"),
+ dest="dirty",
+ help="preserve user environment in spack's build environment (danger!)",
)
@arg
def long():
return Args(
- '-l', '--long', action='store_true',
- help='show dependency hashes as well as versions')
+ "-l", "--long", action="store_true", help="show dependency hashes as well as versions"
+ )
@arg
def very_long():
return Args(
- '-L', '--very-long', action='store_true',
- help='show full dependency hashes as well as versions')
+ "-L",
+ "--very-long",
+ action="store_true",
+ help="show full dependency hashes as well as versions",
+ )
@arg
def tags():
return Args(
- '-t', '--tag', action='append', dest='tags', metavar='TAG',
- help='filter a package query by tag (multiple use allowed)')
+ "-t",
+ "--tag",
+ action="append",
+ dest="tags",
+ metavar="TAG",
+ help="filter a package query by tag (multiple use allowed)",
+ )
@arg
def jobs():
return Args(
- '-j', '--jobs', action=SetParallelJobs, type=int, dest='jobs',
- help='explicitly set number of parallel jobs')
+ "-j",
+ "--jobs",
+ action=SetParallelJobs,
+ type=int,
+ dest="jobs",
+ help="explicitly set number of parallel jobs",
+ )
@arg
def install_status():
return Args(
- '-I', '--install-status', action='store_true', default=False,
- help='show install status of packages. packages can be: '
- 'installed [+], missing and needed by an installed package [-], '
- 'installed in and upstream instance [^], '
- 'or not installed (no annotation)')
+ "-I",
+ "--install-status",
+ action="store_true",
+ default=False,
+ help="show install status of packages. packages can be: "
+ "installed [+], missing and needed by an installed package [-], "
+ "installed in and upstream instance [^], "
+ "or not installed (no annotation)",
+ )
@arg
def no_checksum():
return Args(
- '-n', '--no-checksum', action='store_true', default=False,
- help="do not use checksums to verify downloaded files (unsafe)")
+ "-n",
+ "--no-checksum",
+ action="store_true",
+ default=False,
+ help="do not use checksums to verify downloaded files (unsafe)",
+ )
@arg
def deprecated():
return Args(
- '--deprecated', action='store_true', default=False,
- help='fetch deprecated versions without warning')
+ "--deprecated",
+ action="store_true",
+ default=False,
+ help="fetch deprecated versions without warning",
+ )
def add_cdash_args(subparser, add_help):
cdash_help = {}
if add_help:
- cdash_help['upload-url'] = "CDash URL where reports will be uploaded"
- cdash_help['build'] = """The name of the build that will be reported to CDash.
+ cdash_help["upload-url"] = "CDash URL where reports will be uploaded"
+ cdash_help[
+ "build"
+ ] = """The name of the build that will be reported to CDash.
Defaults to spec of the package to operate on."""
- cdash_help['site'] = """The site name that will be reported to CDash.
+ cdash_help[
+ "site"
+ ] = """The site name that will be reported to CDash.
Defaults to current system hostname."""
- cdash_help['track'] = """Results will be reported to this group on CDash.
+ cdash_help[
+ "track"
+ ] = """Results will be reported to this group on CDash.
Defaults to Experimental."""
- cdash_help['buildstamp'] = """Instead of letting the CDash reporter prepare the
+ cdash_help[
+ "buildstamp"
+ ] = """Instead of letting the CDash reporter prepare the
buildstamp which, when combined with build name, site and project,
uniquely identifies the build, provide this argument to identify
the build yourself. Format: %%Y%%m%%d-%%H%%M-[cdash-track]"""
else:
- cdash_help['upload-url'] = argparse.SUPPRESS
- cdash_help['build'] = argparse.SUPPRESS
- cdash_help['site'] = argparse.SUPPRESS
- cdash_help['track'] = argparse.SUPPRESS
- cdash_help['buildstamp'] = argparse.SUPPRESS
+ cdash_help["upload-url"] = argparse.SUPPRESS
+ cdash_help["build"] = argparse.SUPPRESS
+ cdash_help["site"] = argparse.SUPPRESS
+ cdash_help["track"] = argparse.SUPPRESS
+ cdash_help["buildstamp"] = argparse.SUPPRESS
- subparser.add_argument(
- '--cdash-upload-url',
- default=None,
- help=cdash_help['upload-url']
- )
- subparser.add_argument(
- '--cdash-build',
- default=None,
- help=cdash_help['build']
- )
- subparser.add_argument(
- '--cdash-site',
- default=None,
- help=cdash_help['site']
- )
+ subparser.add_argument("--cdash-upload-url", default=None, help=cdash_help["upload-url"])
+ subparser.add_argument("--cdash-build", default=None, help=cdash_help["build"])
+ subparser.add_argument("--cdash-site", default=None, help=cdash_help["site"])
cdash_subgroup = subparser.add_mutually_exclusive_group()
- cdash_subgroup.add_argument(
- '--cdash-track',
- default='Experimental',
- help=cdash_help['track']
- )
- cdash_subgroup.add_argument(
- '--cdash-buildstamp',
- default=None,
- help=cdash_help['buildstamp']
- )
+ cdash_subgroup.add_argument("--cdash-track", default="Experimental", help=cdash_help["track"])
+ cdash_subgroup.add_argument("--cdash-buildstamp", default=None, help=cdash_help["buildstamp"])
class ConfigSetAction(argparse.Action):
@@ -329,14 +360,10 @@ class ConfigSetAction(argparse.Action):
``dest`` to some Spack configuration path (like ``concretizer:reuse``)
and the ``const`` will be stored there using ``spack.config.set()``
"""
- def __init__(self,
- option_strings,
- dest,
- const,
- default=None,
- required=False,
- help=None,
- metavar=None):
+
+ def __init__(
+ self, option_strings, dest, const, default=None, required=False, help=None, metavar=None
+ ):
# save the config option we're supposed to set
self.config_path = dest
@@ -351,7 +378,7 @@ class ConfigSetAction(argparse.Action):
const=const,
default=default,
required=required,
- help=help
+ help=help,
)
def __call__(self, parser, namespace, values, option_string):
@@ -376,31 +403,37 @@ def add_concretizer_args(subparser):
"""
subgroup = subparser.add_argument_group("concretizer arguments")
subgroup.add_argument(
- '-U', '--fresh', action=ConfigSetAction, dest="concretizer:reuse",
- const=False, default=None,
- help='do not reuse installed deps; build newest configuration'
+ "-U",
+ "--fresh",
+ action=ConfigSetAction,
+ dest="concretizer:reuse",
+ const=False,
+ default=None,
+ help="do not reuse installed deps; build newest configuration",
)
subgroup.add_argument(
- '--reuse', action=ConfigSetAction, dest="concretizer:reuse",
- const=True, default=None,
- help='reuse installed dependencies/buildcaches when possible'
+ "--reuse",
+ action=ConfigSetAction,
+ dest="concretizer:reuse",
+ const=True,
+ default=None,
+ help="reuse installed dependencies/buildcaches when possible",
)
def add_s3_connection_args(subparser, add_help):
subparser.add_argument(
- '--s3-access-key-id',
- help="ID string to use to connect to this S3 mirror")
+ "--s3-access-key-id", help="ID string to use to connect to this S3 mirror"
+ )
subparser.add_argument(
- '--s3-access-key-secret',
- help="Secret string to use to connect to this S3 mirror")
+ "--s3-access-key-secret", help="Secret string to use to connect to this S3 mirror"
+ )
subparser.add_argument(
- '--s3-access-token',
- help="Access Token to use to connect to this S3 mirror")
+ "--s3-access-token", help="Access Token to use to connect to this S3 mirror"
+ )
subparser.add_argument(
- '--s3-profile',
- help="S3 profile name to use to connect to this S3 mirror",
- default=None)
+ "--s3-profile", help="S3 profile name to use to connect to this S3 mirror", default=None
+ )
subparser.add_argument(
- '--s3-endpoint-url',
- help="Endpoint URL to use to connect to this S3 mirror")
+ "--s3-endpoint-url", help="Endpoint URL to use to connect to this S3 mirror"
+ )
diff --git a/lib/spack/spack/cmd/common/env_utility.py b/lib/spack/spack/cmd/common/env_utility.py
index 2081263eab..16f61ba1c0 100644
--- a/lib/spack/spack/cmd/common/env_utility.py
+++ b/lib/spack/spack/cmd/common/env_utility.py
@@ -17,26 +17,25 @@ from spack.util.environment import dump_environment, pickle_environment
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['clean', 'dirty'])
+ arguments.add_common_arguments(subparser, ["clean", "dirty"])
arguments.add_concretizer_args(subparser)
+ subparser.add_argument("--dump", metavar="FILE", help="dump a source-able environment to FILE")
subparser.add_argument(
- '--dump', metavar="FILE",
- help="dump a source-able environment to FILE"
+ "--pickle", metavar="FILE", help="dump a pickled source-able environment to FILE"
)
subparser.add_argument(
- '--pickle', metavar="FILE",
- help="dump a pickled source-able environment to FILE"
+ "spec",
+ nargs=argparse.REMAINDER,
+ metavar="spec [--] [cmd]...",
+ help="specs of package environment to emulate",
+ )
+ subparser.epilog = (
+ "If a command is not specified, the environment will be printed "
+ "to standard output (cf /usr/bin/env) unless --dump and/or --pickle "
+ "are specified.\n\nIf a command is specified and spec is "
+ "multi-word, then the -- separator is obligatory."
)
- subparser.add_argument(
- 'spec', nargs=argparse.REMAINDER,
- metavar='spec [--] [cmd]...',
- help="specs of package environment to emulate")
- subparser.epilog\
- = 'If a command is not specified, the environment will be printed ' \
- 'to standard output (cf /usr/bin/env) unless --dump and/or --pickle ' \
- 'are specified.\n\nIf a command is specified and spec is ' \
- 'multi-word, then the -- separator is obligatory.'
def emulate_env_utility(cmd_name, context, args):
@@ -47,11 +46,11 @@ def emulate_env_utility(cmd_name, context, args):
# caller put a '--' between the spec and the command to be
# executed. If there is no '--', assume that the spec is the
# first argument.
- sep = '--'
+ sep = "--"
if sep in args.spec:
s = args.spec.index(sep)
spec = args.spec[:s]
- cmd = args.spec[s + 1:]
+ cmd = args.spec[s + 1 :]
else:
spec = args.spec[0]
cmd = args.spec[1:]
@@ -75,8 +74,7 @@ def emulate_env_utility(cmd_name, context, args):
if args.pickle:
# Dump a source-able environment to a pickle file.
- tty.msg(
- "Pickling a source-able environment to {0}".format(args.pickle))
+ tty.msg("Pickling a source-able environment to {0}".format(args.pickle))
pickle_environment(args.pickle)
if cmd:
diff --git a/lib/spack/spack/cmd/compiler.py b/lib/spack/spack/cmd/compiler.py
index e8d5301f31..75c5f05d0f 100644
--- a/lib/spack/spack/cmd/compiler.py
+++ b/lib/spack/spack/cmd/compiler.py
@@ -25,53 +25,65 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(
- metavar='SUBCOMMAND', dest='compiler_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="compiler_command")
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
# Find
find_parser = sp.add_parser(
- 'find', aliases=['add'],
- help='search the system for compilers to add to Spack configuration')
- find_parser.add_argument('add_paths', nargs=argparse.REMAINDER)
+ "find",
+ aliases=["add"],
+ help="search the system for compilers to add to Spack configuration",
+ )
+ find_parser.add_argument("add_paths", nargs=argparse.REMAINDER)
find_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- default=spack.config.default_modify_scope('compilers'),
- help="configuration scope to modify")
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ default=spack.config.default_modify_scope("compilers"),
+ help="configuration scope to modify",
+ )
# Remove
- remove_parser = sp.add_parser(
- 'remove', aliases=['rm'], help='remove compiler by spec')
+ remove_parser = sp.add_parser("remove", aliases=["rm"], help="remove compiler by spec")
remove_parser.add_argument(
- '-a', '--all', action='store_true',
- help='remove ALL compilers that match spec')
- remove_parser.add_argument('compiler_spec')
+ "-a", "--all", action="store_true", help="remove ALL compilers that match spec"
+ )
+ remove_parser.add_argument("compiler_spec")
remove_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- default=spack.config.default_modify_scope('compilers'),
- help="configuration scope to modify")
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ default=spack.config.default_modify_scope("compilers"),
+ help="configuration scope to modify",
+ )
# List
- list_parser = sp.add_parser('list', help='list available compilers')
+ list_parser = sp.add_parser("list", help="list available compilers")
list_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_list_scope(),
- help="configuration scope to read from")
+ help="configuration scope to read from",
+ )
# Info
- info_parser = sp.add_parser('info', help='show compiler paths')
- info_parser.add_argument('compiler_spec')
+ info_parser = sp.add_parser("info", help="show compiler paths")
+ info_parser.add_argument("compiler_spec")
info_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_list_scope(),
- help="configuration scope to read from")
+ help="configuration scope to read from",
+ )
def compiler_find(args):
"""Search either $PATH or a list of paths OR MODULES for compilers and
- add them to Spack's configuration.
+ add them to Spack's configuration.
"""
# None signals spack.compiler.find_compilers to use its default logic
@@ -81,14 +93,12 @@ def compiler_find(args):
# in any other configuration.
new_compilers = spack.compilers.find_new_compilers(paths, scope=None)
if new_compilers:
- spack.compilers.add_compilers_to_config(
- new_compilers, scope=args.scope, init_config=False
- )
+ spack.compilers.add_compilers_to_config(new_compilers, scope=args.scope, init_config=False)
n = len(new_compilers)
- s = 's' if n > 1 else ''
+ s = "s" if n > 1 else ""
config = spack.config.config
- filename = config.get_config_filename(args.scope, 'compilers')
+ filename = config.get_config_filename(args.scope, "compilers")
tty.msg("Added %d new compiler%s to %s" % (n, s, filename))
colify(reversed(sorted(c.spec for c in new_compilers)), indent=4)
else:
@@ -109,8 +119,7 @@ def compiler_remove(args):
sys.exit(1)
for compiler in compilers:
- spack.compilers.remove_compiler_from_config(
- compiler.spec, scope=args.scope)
+ spack.compilers.remove_compiler_from_config(compiler.spec, scope=args.scope)
tty.msg("Removed compiler %s" % compiler.spec)
@@ -125,17 +134,17 @@ def compiler_info(args):
for c in compilers:
print(str(c.spec) + ":")
print("\tpaths:")
- for cpath in ['cc', 'cxx', 'f77', 'fc']:
+ for cpath in ["cc", "cxx", "f77", "fc"]:
print("\t\t%s = %s" % (cpath, getattr(c, cpath, None)))
if c.flags:
print("\tflags:")
for flag, flag_value in iteritems(c.flags):
print("\t\t%s = %s" % (flag, flag_value))
if len(c.environment) != 0:
- if len(c.environment.get('set', {})) != 0:
+ if len(c.environment.get("set", {})) != 0:
print("\tenvironment:")
print("\t set:")
- for key, value in iteritems(c.environment['set']):
+ for key, value in iteritems(c.environment["set"]):
print("\t %s = %s" % (key, value))
if c.extra_rpaths:
print("\tExtra rpaths:")
@@ -168,12 +177,9 @@ def compiler_list(args):
# convert them to '' (in which case it still evaluates to False but is a
# string type). Tuples produced by this are guaranteed to be comparable in
# Python 3
- convert_str = (
- lambda tuple_container:
- tuple(str(x) if x else '' for x in tuple_container))
+ convert_str = lambda tuple_container: tuple(str(x) if x else "" for x in tuple_container)
- index_str_keys = list(
- (convert_str(x), y) for x, y in index.items())
+ index_str_keys = list((convert_str(x), y) for x, y in index.items())
ordered_sections = sorted(index_str_keys, key=lambda item: item[0])
for i, (key, compilers) in enumerate(ordered_sections):
if i >= 1:
@@ -183,15 +189,17 @@ def compiler_list(args):
if target:
os_str += "-%s" % target
cname = "%s{%s} %s" % (spack.spec.compiler_color, name, os_str)
- tty.hline(colorize(cname), char='-')
+ tty.hline(colorize(cname), char="-")
colify(reversed(sorted(c.spec for c in compilers)))
def compiler(parser, args):
- action = {'add': compiler_find,
- 'find': compiler_find,
- 'remove': compiler_remove,
- 'rm': compiler_remove,
- 'info': compiler_info,
- 'list': compiler_list}
+ action = {
+ "add": compiler_find,
+ "find": compiler_find,
+ "remove": compiler_remove,
+ "rm": compiler_remove,
+ "info": compiler_info,
+ "list": compiler_list,
+ }
action[args.compiler_command](args)
diff --git a/lib/spack/spack/cmd/compilers.py b/lib/spack/spack/cmd/compilers.py
index 409f0b142b..f61b612502 100644
--- a/lib/spack/spack/cmd/compilers.py
+++ b/lib/spack/spack/cmd/compilers.py
@@ -16,8 +16,11 @@ def setup_parser(subparser):
scopes_metavar = spack.config.scopes_metavar
subparser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- help="configuration scope to read/modify")
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ help="configuration scope to read/modify",
+ )
def compilers(parser, args):
diff --git a/lib/spack/spack/cmd/concretize.py b/lib/spack/spack/cmd/concretize.py
index cbdc53907f..efb12f1672 100644
--- a/lib/spack/spack/cmd/concretize.py
+++ b/lib/spack/spack/cmd/concretize.py
@@ -7,34 +7,36 @@ import spack.cmd
import spack.cmd.common.arguments
import spack.environment as ev
-description = 'concretize an environment and write a lockfile'
+description = "concretize an environment and write a lockfile"
section = "environments"
level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-f', '--force', action='store_true',
- help="Re-concretize even if already concretized.")
+ "-f", "--force", action="store_true", help="Re-concretize even if already concretized."
+ )
subparser.add_argument(
- '--test', default=None,
- choices=['root', 'all'],
+ "--test",
+ default=None,
+ choices=["root", "all"],
help="""Concretize with test dependencies. When 'root' is chosen, test
dependencies are only added for the environment's root specs. When 'all' is
-chosen, test dependencies are enabled for all packages in the environment.""")
+chosen, test dependencies are enabled for all packages in the environment.""",
+ )
subparser.add_argument(
- '-q', '--quiet', action='store_true',
- help="Don't print concretized specs")
+ "-q", "--quiet", action="store_true", help="Don't print concretized specs"
+ )
spack.cmd.common.arguments.add_concretizer_args(subparser)
def concretize(parser, args):
- env = spack.cmd.require_active_env(cmd_name='concretize')
+ env = spack.cmd.require_active_env(cmd_name="concretize")
- if args.test == 'all':
+ if args.test == "all":
tests = True
- elif args.test == 'root':
+ elif args.test == "root":
tests = [spec.name for spec in env.user_specs]
else:
tests = False
diff --git a/lib/spack/spack/cmd/config.py b/lib/spack/spack/cmd/config.py
index c6eca2fd8a..f36dffd40a 100644
--- a/lib/spack/spack/cmd/config.py
+++ b/lib/spack/spack/cmd/config.py
@@ -32,89 +32,92 @@ def setup_parser(subparser):
# User can only choose one
subparser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- help="configuration scope to read/modify")
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ help="configuration scope to read/modify",
+ )
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='config_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="config_command")
- get_parser = sp.add_parser('get', help='print configuration values')
- get_parser.add_argument('section',
- help="configuration section to print. "
- "options: %(choices)s",
- nargs='?',
- metavar='section',
- choices=spack.config.section_schemas)
+ get_parser = sp.add_parser("get", help="print configuration values")
+ get_parser.add_argument(
+ "section",
+ help="configuration section to print. " "options: %(choices)s",
+ nargs="?",
+ metavar="section",
+ choices=spack.config.section_schemas,
+ )
blame_parser = sp.add_parser(
- 'blame', help='print configuration annotated with source file:line')
- blame_parser.add_argument('section',
- help="configuration section to print. "
- "options: %(choices)s",
- metavar='section',
- choices=spack.config.section_schemas)
-
- edit_parser = sp.add_parser('edit', help='edit configuration file')
- edit_parser.add_argument('section',
- help="configuration section to edit. "
- "options: %(choices)s",
- metavar='section',
- nargs='?',
- choices=spack.config.section_schemas)
+ "blame", help="print configuration annotated with source file:line"
+ )
+ blame_parser.add_argument(
+ "section",
+ help="configuration section to print. " "options: %(choices)s",
+ metavar="section",
+ choices=spack.config.section_schemas,
+ )
+
+ edit_parser = sp.add_parser("edit", help="edit configuration file")
+ edit_parser.add_argument(
+ "section",
+ help="configuration section to edit. " "options: %(choices)s",
+ metavar="section",
+ nargs="?",
+ choices=spack.config.section_schemas,
+ )
edit_parser.add_argument(
- '--print-file', action='store_true',
- help="print the file name that would be edited")
+ "--print-file", action="store_true", help="print the file name that would be edited"
+ )
- sp.add_parser('list', help='list configuration sections')
+ sp.add_parser("list", help="list configuration sections")
- add_parser = sp.add_parser('add', help='add configuration parameters')
- add_parser.add_argument(
- 'path', nargs='?',
- help="colon-separated path to config that should be added,"
- " e.g. 'config:default:true'")
+ add_parser = sp.add_parser("add", help="add configuration parameters")
add_parser.add_argument(
- '-f', '--file',
- help="file from which to set all config values"
+ "path",
+ nargs="?",
+ help="colon-separated path to config that should be added," " e.g. 'config:default:true'",
)
+ add_parser.add_argument("-f", "--file", help="file from which to set all config values")
prefer_upstream_parser = sp.add_parser(
- 'prefer-upstream',
- help='set package preferences from upstream')
+ "prefer-upstream", help="set package preferences from upstream"
+ )
prefer_upstream_parser.add_argument(
- '--local', action='store_true', default=False,
- help="Set packages preferences based on local installs, rather "
- "than upstream."
+ "--local",
+ action="store_true",
+ default=False,
+ help="Set packages preferences based on local installs, rather " "than upstream.",
)
- remove_parser = sp.add_parser('remove', aliases=['rm'],
- help='remove configuration parameters')
+ remove_parser = sp.add_parser("remove", aliases=["rm"], help="remove configuration parameters")
remove_parser.add_argument(
- 'path',
+ "path",
help="colon-separated path to config that should be removed,"
- " e.g. 'config:default:true'")
+ " e.g. 'config:default:true'",
+ )
# Make the add parser available later
setup_parser.add_parser = add_parser
- update = sp.add_parser(
- 'update', help='update configuration files to the latest format'
- )
- spack.cmd.common.arguments.add_common_arguments(update, ['yes_to_all'])
- update.add_argument('section', help='section to update')
+ update = sp.add_parser("update", help="update configuration files to the latest format")
+ spack.cmd.common.arguments.add_common_arguments(update, ["yes_to_all"])
+ update.add_argument("section", help="section to update")
revert = sp.add_parser(
- 'revert',
- help='revert configuration files to their state before update'
+ "revert", help="revert configuration files to their state before update"
)
- spack.cmd.common.arguments.add_common_arguments(revert, ['yes_to_all'])
- revert.add_argument('section', help='section to update')
+ spack.cmd.common.arguments.add_common_arguments(revert, ["yes_to_all"])
+ revert.add_argument("section", help="section to update")
def _get_scope_and_section(args):
"""Extract config scope and section from arguments."""
scope = args.scope
- section = getattr(args, 'section', None)
- path = getattr(args, 'path', None)
+ section = getattr(args, "section", None)
+ path = getattr(args, "path", None)
# w/no args and an active environment, point to env manifest
if not section:
@@ -128,7 +131,7 @@ def _get_scope_and_section(args):
# special handling for commands that take value instead of section
if path:
- section = path[:path.find(':')] if ':' in path else path
+ section = path[: path.find(":")] if ":" in path else path
if not scope:
scope = spack.config.default_modify_scope(section)
@@ -146,17 +149,16 @@ def config_get(args):
if section is not None:
spack.config.config.print_section(section)
- elif scope and scope.startswith('env:'):
+ elif scope and scope.startswith("env:"):
config_file = spack.config.config.get_config_filename(scope, section)
if os.path.exists(config_file):
with open(config_file) as f:
print(f.read())
else:
- tty.die('environment has no %s file' % ev.manifest_name)
+ tty.die("environment has no %s file" % ev.manifest_name)
else:
- tty.die('`spack config get` requires a section argument '
- 'or an active environment.')
+ tty.die("`spack config get` requires a section argument " "or an active environment.")
def config_blame(args):
@@ -179,8 +181,7 @@ def config_edit(args):
# If we aren't editing a spack.yaml file, get config path from scope.
scope, section = _get_scope_and_section(args)
if not scope and not section:
- tty.die('`spack config edit` requires a section argument '
- 'or an active environment.')
+ tty.die("`spack config edit` requires a section argument " "or an active environment.")
config_file = spack.config.config.get_config_filename(scope, section)
if args.print_file:
@@ -194,7 +195,7 @@ def config_list(args):
Used primarily for shell tab completion scripts.
"""
- print(' '.join(list(spack.config.section_schemas)))
+ print(" ".join(list(spack.config.section_schemas)))
def config_add(args):
@@ -221,11 +222,11 @@ def config_remove(args):
This is a stateful operation that edits the config files."""
scope, _ = _get_scope_and_section(args)
- path, _, value = args.path.rpartition(':')
+ path, _, value = args.path.rpartition(":")
existing = spack.config.get(path, scope=scope)
if not isinstance(existing, (list, dict)):
- path, _, value = path.rpartition(':')
+ path, _, value = path.rpartition(":")
existing = spack.config.get(path, scope=scope)
value = syaml.load(value)
@@ -238,7 +239,7 @@ def config_remove(args):
existing.pop(value, None)
else:
# This should be impossible to reach
- raise spack.config.ConfigError('Config has nested non-dict values')
+ raise spack.config.ConfigError("Config has nested non-dict values")
spack.config.set(path, existing, scope)
@@ -256,31 +257,33 @@ def config_update(args):
cannot_overwrite, skip_system_scope = [], False
for scope in updates:
- cfg_file = spack.config.config.get_config_filename(
- scope.name, args.section
- )
+ cfg_file = spack.config.config.get_config_filename(scope.name, args.section)
scope_dir = scope.path
can_be_updated = _can_update_config_file(scope_dir, cfg_file)
if not can_be_updated:
- if scope.name == 'system':
+ if scope.name == "system":
skip_system_scope = True
- msg = ('Not enough permissions to write to "system" scope. '
- 'Skipping update at that location [cfg={0}]')
+ msg = (
+ 'Not enough permissions to write to "system" scope. '
+ "Skipping update at that location [cfg={0}]"
+ )
tty.warn(msg.format(cfg_file))
continue
cannot_overwrite.append((scope, cfg_file))
if cannot_overwrite:
- msg = 'Detected permission issues with the following scopes:\n\n'
+ msg = "Detected permission issues with the following scopes:\n\n"
for scope, cfg_file in cannot_overwrite:
- msg += '\t[scope={0}, cfg={1}]\n'.format(scope.name, cfg_file)
- msg += ('\nEither ensure that you have sufficient permissions to '
- 'modify these files or do not include these scopes in the '
- 'update.')
+ msg += "\t[scope={0}, cfg={1}]\n".format(scope.name, cfg_file)
+ msg += (
+ "\nEither ensure that you have sufficient permissions to "
+ "modify these files or do not include these scopes in the "
+ "update."
+ )
tty.die(msg)
if skip_system_scope:
- updates = [x for x in updates if x.name != 'system']
+ updates = [x for x in updates if x.name != "system"]
# Report if there are no updates to be done
if not updates:
@@ -290,40 +293,38 @@ def config_update(args):
proceed = True
if not args.yes_to_all:
- msg = ('The following configuration files are going to be updated to'
- ' the latest schema format:\n\n')
+ msg = (
+ "The following configuration files are going to be updated to"
+ " the latest schema format:\n\n"
+ )
for scope in updates:
- cfg_file = spack.config.config.get_config_filename(
- scope.name, args.section
- )
- msg += '\t[scope={0}, file={1}]\n'.format(scope.name, cfg_file)
- msg += ('\nIf the configuration files are updated, versions of Spack '
- 'that are older than this version may not be able to read '
- 'them. Spack stores backups of the updated files which can '
- 'be retrieved with "spack config revert"')
+ cfg_file = spack.config.config.get_config_filename(scope.name, args.section)
+ msg += "\t[scope={0}, file={1}]\n".format(scope.name, cfg_file)
+ msg += (
+ "\nIf the configuration files are updated, versions of Spack "
+ "that are older than this version may not be able to read "
+ "them. Spack stores backups of the updated files which can "
+ 'be retrieved with "spack config revert"'
+ )
tty.msg(msg)
- proceed = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ proceed = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not proceed:
- tty.die('Operation aborted.')
+ tty.die("Operation aborted.")
# Get a function to update the format
update_fn = spack.config.ensure_latest_format_fn(args.section)
for scope in updates:
- cfg_file = spack.config.config.get_config_filename(
- scope.name, args.section
- )
+ cfg_file = spack.config.config.get_config_filename(scope.name, args.section)
with open(cfg_file) as f:
data = syaml.load_config(f) or {}
data = data.pop(args.section, {})
update_fn(data)
# Make a backup copy and rewrite the file
- bkp_file = cfg_file + '.bkp'
+ bkp_file = cfg_file + ".bkp"
shutil.copy(cfg_file, bkp_file)
- spack.config.config.update_config(
- args.section, data, scope=scope.name, force=True
- )
+ spack.config.config.update_config(args.section, data, scope=scope.name, force=True)
msg = 'File "{0}" updated [backup={1}]'
tty.msg(msg.format(cfg_file, bkp_file))
@@ -336,16 +337,14 @@ def _can_revert_update(scope_dir, cfg_file, bkp_file):
def config_revert(args):
- scopes = [args.scope] if args.scope else [
- x.name for x in spack.config.config.file_scopes
- ]
+ scopes = [args.scope] if args.scope else [x.name for x in spack.config.config.file_scopes]
# Search for backup files in the configuration scopes
- Entry = collections.namedtuple('Entry', ['scope', 'cfg', 'bkp'])
+ Entry = collections.namedtuple("Entry", ["scope", "cfg", "bkp"])
to_be_restored, cannot_overwrite = [], []
for scope in scopes:
cfg_file = spack.config.config.get_config_filename(scope, args.section)
- bkp_file = cfg_file + '.bkp'
+ bkp_file = cfg_file + ".bkp"
# If the backup files doesn't exist move to the next scope
if not os.path.exists(bkp_file):
@@ -364,25 +363,26 @@ def config_revert(args):
# Report errors if we can't revert a configuration
if cannot_overwrite:
- msg = 'Detected permission issues with the following scopes:\n\n'
+ msg = "Detected permission issues with the following scopes:\n\n"
for e in cannot_overwrite:
- msg += '\t[scope={0.scope}, cfg={0.cfg}, bkp={0.bkp}]\n'.format(e)
- msg += ('\nEither ensure to have the right permissions before retrying'
- ' or be more specific on the scope to revert.')
+ msg += "\t[scope={0.scope}, cfg={0.cfg}, bkp={0.bkp}]\n".format(e)
+ msg += (
+ "\nEither ensure to have the right permissions before retrying"
+ " or be more specific on the scope to revert."
+ )
tty.die(msg)
proceed = True
if not args.yes_to_all:
- msg = ('The following scopes will be restored from the corresponding'
- ' backup files:\n')
+ msg = "The following scopes will be restored from the corresponding" " backup files:\n"
for entry in to_be_restored:
- msg += '\t[scope={0.scope}, bkp={0.bkp}]\n'.format(entry)
- msg += 'This operation cannot be undone.'
+ msg += "\t[scope={0.scope}, bkp={0.bkp}]\n".format(entry)
+ msg += "This operation cannot be undone."
tty.msg(msg)
- proceed = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ proceed = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not proceed:
- tty.die('Operation aborted.')
+ tty.die("Operation aborted.")
for _, cfg_file, bkp_file in to_be_restored:
shutil.copy(bkp_file, cfg_file)
@@ -397,7 +397,7 @@ def config_prefer_upstream(args):
scope = args.scope
if scope is None:
- scope = spack.config.default_modify_scope('packages')
+ scope = spack.config.default_modify_scope("packages")
all_specs = set(spack.store.db.query(installed=True))
local_specs = set(spack.store.db.query_local(installed=True))
@@ -408,58 +408,61 @@ def config_prefer_upstream(args):
pkgs = {}
for spec in pref_specs:
# Collect all the upstream compilers and versions for this package.
- pkg = pkgs.get(spec.name, {
- 'version': [],
- 'compiler': [],
- })
+ pkg = pkgs.get(
+ spec.name,
+ {
+ "version": [],
+ "compiler": [],
+ },
+ )
pkgs[spec.name] = pkg
# We have no existing variant if this is our first added version.
- existing_variants = pkg.get('variants',
- None if not pkg['version'] else '')
+ existing_variants = pkg.get("variants", None if not pkg["version"] else "")
version = spec.version.string
- if version not in pkg['version']:
- pkg['version'].append(version)
+ if version not in pkg["version"]:
+ pkg["version"].append(version)
compiler = str(spec.compiler)
- if compiler not in pkg['compiler']:
- pkg['compiler'].append(compiler)
+ if compiler not in pkg["compiler"]:
+ pkg["compiler"].append(compiler)
# Get and list all the variants that differ from the default.
variants = []
for var_name, variant in spec.variants.items():
- if (var_name in ['patches']
- or var_name not in spec.package.variants):
+ if var_name in ["patches"] or var_name not in spec.package.variants:
continue
variant_desc, _ = spec.package.variants[var_name]
if variant.value != variant_desc.default:
variants.append(str(variant))
variants.sort()
- variants = ' '.join(variants)
+ variants = " ".join(variants)
if spec.name not in conflicting_variants:
# Only specify the variants if there's a single variant
# set across all versions/compilers.
if existing_variants is not None and existing_variants != variants:
conflicting_variants.add(spec.name)
- pkg.pop('variants', None)
+ pkg.pop("variants", None)
elif variants:
- pkg['variants'] = variants
+ pkg["variants"] = variants
if conflicting_variants:
tty.warn(
"The following packages have multiple conflicting upstream "
"specs. You may have to specify, by "
"concretized hash, which spec you want when building "
- "packages that depend on them:\n - {0}"
- .format("\n - ".join(sorted(conflicting_variants))))
+ "packages that depend on them:\n - {0}".format(
+ "\n - ".join(sorted(conflicting_variants))
+ )
+ )
# Simply write the config to the specified file.
- existing = spack.config.get('packages', scope=scope)
+ existing = spack.config.get("packages", scope=scope)
new = spack.config.merge_yaml(existing, pkgs)
- spack.config.set('packages', new, scope)
+ spack.config.set("packages", new, scope)
config_file = spack.config.config.get_config_filename(scope, section)
tty.msg("Updated config at {0}".format(config_file))
@@ -467,15 +470,15 @@ def config_prefer_upstream(args):
def config(parser, args):
action = {
- 'get': config_get,
- 'blame': config_blame,
- 'edit': config_edit,
- 'list': config_list,
- 'add': config_add,
- 'rm': config_remove,
- 'remove': config_remove,
- 'update': config_update,
- 'revert': config_revert,
- 'prefer-upstream': config_prefer_upstream,
+ "get": config_get,
+ "blame": config_blame,
+ "edit": config_edit,
+ "list": config_list,
+ "add": config_add,
+ "rm": config_remove,
+ "remove": config_remove,
+ "update": config_update,
+ "revert": config_revert,
+ "prefer-upstream": config_prefer_upstream,
}
action[args.config_command](args)
diff --git a/lib/spack/spack/cmd/containerize.py b/lib/spack/spack/cmd/containerize.py
index d3b717ab47..ffd0c7093f 100644
--- a/lib/spack/spack/cmd/containerize.py
+++ b/lib/spack/spack/cmd/containerize.py
@@ -10,37 +10,38 @@ import llnl.util.tty
import spack.container
import spack.container.images
-description = ("creates recipes to build images for different"
- " container runtimes")
+description = "creates recipes to build images for different" " container runtimes"
section = "container"
level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '--list-os', action='store_true', default=False,
- help='list all the OS that can be used in the bootstrap phase and exit'
+ "--list-os",
+ action="store_true",
+ default=False,
+ help="list all the OS that can be used in the bootstrap phase and exit",
)
subparser.add_argument(
- '--last-stage',
- choices=('bootstrap', 'build', 'final'),
- default='final',
- help='last stage in the container recipe'
+ "--last-stage",
+ choices=("bootstrap", "build", "final"),
+ default="final",
+ help="last stage in the container recipe",
)
def containerize(parser, args):
if args.list_os:
possible_os = spack.container.images.all_bootstrap_os()
- msg = 'The following operating systems can be used to bootstrap Spack:'
- msg += '\n{0}'.format(' '.join(possible_os))
+ msg = "The following operating systems can be used to bootstrap Spack:"
+ msg += "\n{0}".format(" ".join(possible_os))
llnl.util.tty.msg(msg)
return
config_dir = args.env_dir or os.getcwd()
- config_file = os.path.abspath(os.path.join(config_dir, 'spack.yaml'))
+ config_file = os.path.abspath(os.path.join(config_dir, "spack.yaml"))
if not os.path.exists(config_file):
- msg = 'file not found: {0}'
+ msg = "file not found: {0}"
raise ValueError(msg.format(config_file))
config = spack.container.validate(config_file)
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index b2a8e17a28..ea2f6d2ed9 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -84,7 +84,7 @@ class BundlePackageTemplate(object):
Provides the default values to be used for a bundle package file template.
"""
- base_class_name = 'BundlePackage'
+ base_class_name = "BundlePackage"
dependencies = """\
# FIXME: Add dependencies if required.
@@ -94,29 +94,32 @@ class BundlePackageTemplate(object):
body_def = " # There is no need for install() since there is no code."
def __init__(self, name, versions):
- self.name = name
+ self.name = name
self.class_name = mod_to_class(name)
- self.versions = versions
+ self.versions = versions
def write(self, pkg_path):
"""Writes the new package file."""
# Write out a template for the file
with open(pkg_path, "w") as pkg_file:
- pkg_file.write(package_template.format(
- name=self.name,
- class_name=self.class_name,
- base_class_name=self.base_class_name,
- url_def=self.url_def,
- versions=self.versions,
- dependencies=self.dependencies,
- body_def=self.body_def))
+ pkg_file.write(
+ package_template.format(
+ name=self.name,
+ class_name=self.class_name,
+ base_class_name=self.base_class_name,
+ url_def=self.url_def,
+ versions=self.versions,
+ dependencies=self.dependencies,
+ body_def=self.body_def,
+ )
+ )
class PackageTemplate(BundlePackageTemplate):
"""Provides the default values to be used for the package file template"""
- base_class_name = 'Package'
+ base_class_name = "Package"
body_def = """\
def install(self, spec, prefix):
@@ -136,7 +139,7 @@ class AutotoolsPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Autotools-based packages
that *do* come with a ``configure`` script"""
- base_class_name = 'AutotoolsPackage'
+ base_class_name = "AutotoolsPackage"
body_def = """\
def configure_args(self):
@@ -150,7 +153,7 @@ class AutoreconfPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Autotools-based packages
that *do not* come with a ``configure`` script"""
- base_class_name = 'AutotoolsPackage'
+ base_class_name = "AutotoolsPackage"
dependencies = """\
depends_on('autoconf', type='build')
@@ -176,7 +179,7 @@ class AutoreconfPackageTemplate(PackageTemplate):
class CMakePackageTemplate(PackageTemplate):
"""Provides appropriate overrides for CMake-based packages"""
- base_class_name = 'CMakePackage'
+ base_class_name = "CMakePackage"
body_def = """\
def cmake_args(self):
@@ -190,7 +193,7 @@ class CMakePackageTemplate(PackageTemplate):
class LuaPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for LuaRocks-based packages"""
- base_class_name = 'LuaPackage'
+ base_class_name = "LuaPackage"
body_def = """\
def luarocks_args(self):
@@ -201,17 +204,17 @@ class LuaPackageTemplate(PackageTemplate):
def __init__(self, name, url, *args, **kwargs):
# If the user provided `--name lua-lpeg`, don't rename it lua-lua-lpeg
- if not name.startswith('lua-'):
+ if not name.startswith("lua-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to lua-{0}".format(name))
- name = 'lua-{0}'.format(name)
+ name = "lua-{0}".format(name)
super(LuaPackageTemplate, self).__init__(name, url, *args, **kwargs)
class MesonPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for meson-based packages"""
- base_class_name = 'MesonPackage'
+ base_class_name = "MesonPackage"
body_def = """\
def meson_args(self):
@@ -223,7 +226,7 @@ class MesonPackageTemplate(PackageTemplate):
class QMakePackageTemplate(PackageTemplate):
"""Provides appropriate overrides for QMake-based packages"""
- base_class_name = 'QMakePackage'
+ base_class_name = "QMakePackage"
body_def = """\
def qmake_args(self):
@@ -235,7 +238,7 @@ class QMakePackageTemplate(PackageTemplate):
class MavenPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Maven-based packages"""
- base_class_name = 'MavenPackage'
+ base_class_name = "MavenPackage"
body_def = """\
def build(self, spec, prefix):
@@ -246,7 +249,7 @@ class MavenPackageTemplate(PackageTemplate):
class SconsPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for SCons-based packages"""
- base_class_name = 'SConsPackage'
+ base_class_name = "SConsPackage"
body_def = """\
def build_args(self, spec, prefix):
@@ -259,7 +262,7 @@ class SconsPackageTemplate(PackageTemplate):
class WafPackageTemplate(PackageTemplate):
"""Provides appropriate override for Waf-based packages"""
- base_class_name = 'WafPackage'
+ base_class_name = "WafPackage"
body_def = """\
# FIXME: Override configure_args(), build_args(),
@@ -281,7 +284,8 @@ class BazelPackageTemplate(PackageTemplate):
class RacketPackageTemplate(PackageTemplate):
"""Provides approriate overrides for Racket extensions"""
- base_class_name = 'RacketPackage'
+
+ base_class_name = "RacketPackage"
url_line = """\
# FIXME: set the proper location from which to fetch your package
@@ -307,17 +311,18 @@ class RacketPackageTemplate(PackageTemplate):
def __init__(self, name, url, *args, **kwargs):
# If the user provided `--name rkt-scribble`, don't rename it rkt-rkt-scribble
- if not name.startswith('rkt-'):
+ if not name.startswith("rkt-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to rkt-{0}".format(name))
- name = 'rkt-{0}'.format(name)
+ name = "rkt-{0}".format(name)
self.body_def = self.body_def.format(name[4:])
super(RacketPackageTemplate, self).__init__(name, url, *args, **kwargs)
class PythonPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for python extensions"""
- base_class_name = 'PythonPackage'
+
+ base_class_name = "PythonPackage"
dependencies = """\
# FIXME: Only add the python/pip/wheel dependencies if you need specific versions
@@ -351,10 +356,10 @@ class PythonPackageTemplate(PackageTemplate):
def __init__(self, name, url, *args, **kwargs):
# If the user provided `--name py-numpy`, don't rename it py-py-numpy
- if not name.startswith('py-'):
+ if not name.startswith("py-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to py-{0}".format(name))
- name = 'py-{0}'.format(name)
+ name = "py-{0}".format(name)
# Simple PyPI URLs:
# https://<hostname>/packages/<type>/<first character of project>/<project>/<download file>
@@ -377,38 +382,39 @@ class PythonPackageTemplate(PackageTemplate):
# https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl
# https://files.pythonhosted.org/packages/f4/99/ad2ef1aeeb395ee2319bb981ea08dbbae878d30dd28ebf27e401430ae77a/azureml_core-1.36.0.post2-py3-none-any.whl#sha256=60bcad10b4380d78a8280deb7365de2c2cd66527aacdcb4a173f613876cbe739
- match = re.search(
- r'(?:pypi|pythonhosted)[^/]+/packages' + '/([^/#]+)' * 4,
- url
- )
+ match = re.search(r"(?:pypi|pythonhosted)[^/]+/packages" + "/([^/#]+)" * 4, url)
if match:
# PyPI URLs for wheels are too complicated, ignore them for now
# https://www.python.org/dev/peps/pep-0427/#file-name-convention
- if not match.group(4).endswith('.whl'):
+ if not match.group(4).endswith(".whl"):
if len(match.group(2)) == 1:
# Simple PyPI URL
- url = '/'.join(match.group(3, 4))
+ url = "/".join(match.group(3, 4))
else:
# PyPI URL containing hash
# Project name doesn't necessarily match download name, but it
# usually does, so this is the best we can do
project = parse_name(url)
- url = '/'.join([project, match.group(4)])
+ url = "/".join([project, match.group(4)])
self.url_line = ' pypi = "{url}"'
else:
# Add a reminder about spack preferring PyPI URLs
- self.url_line = '''
+ self.url_line = (
+ """
# FIXME: ensure the package is not available through PyPI. If it is,
# re-run `spack create --force` with the PyPI URL.
-''' + self.url_line
+"""
+ + self.url_line
+ )
super(PythonPackageTemplate, self).__init__(name, url, *args, **kwargs)
class RPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for R extensions"""
- base_class_name = 'RPackage'
+
+ base_class_name = "RPackage"
dependencies = """\
# FIXME: Add dependencies if required.
@@ -423,30 +429,23 @@ class RPackageTemplate(PackageTemplate):
def __init__(self, name, url, *args, **kwargs):
# If the user provided `--name r-rcpp`, don't rename it r-r-rcpp
- if not name.startswith('r-'):
+ if not name.startswith("r-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to r-{0}".format(name))
- name = 'r-{0}'.format(name)
+ name = "r-{0}".format(name)
r_name = parse_name(url)
- cran = re.search(
- r'(?:r-project|rstudio)[^/]+/src' + '/([^/]+)' * 2,
- url
- )
+ cran = re.search(r"(?:r-project|rstudio)[^/]+/src" + "/([^/]+)" * 2, url)
if cran:
url = r_name
self.url_line = ' cran = "{url}"'
- bioc = re.search(
- r'(?:bioconductor)[^/]+/packages' + '/([^/]+)' * 5,
- url
- )
+ bioc = re.search(r"(?:bioconductor)[^/]+/packages" + "/([^/]+)" * 5, url)
if bioc:
- self.url_line = ' url = "{0}"\n'\
- ' bioc = "{1}"'.format(url, r_name)
+ self.url_line = ' url = "{0}"\n' ' bioc = "{1}"'.format(url, r_name)
super(RPackageTemplate, self).__init__(name, url, *args, **kwargs)
@@ -454,7 +453,8 @@ class RPackageTemplate(PackageTemplate):
class PerlmakePackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Perl extensions
that come with a Makefile.PL"""
- base_class_name = 'PerlPackage'
+
+ base_class_name = "PerlPackage"
dependencies = """\
# FIXME: Add dependencies if required:
@@ -469,10 +469,10 @@ class PerlmakePackageTemplate(PackageTemplate):
def __init__(self, name, *args, **kwargs):
# If the user provided `--name perl-cpp`, don't rename it perl-perl-cpp
- if not name.startswith('perl-'):
+ if not name.startswith("perl-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to perl-{0}".format(name))
- name = 'perl-{0}'.format(name)
+ name = "perl-{0}".format(name)
super(PerlmakePackageTemplate, self).__init__(name, *args, **kwargs)
@@ -480,6 +480,7 @@ class PerlmakePackageTemplate(PackageTemplate):
class PerlbuildPackageTemplate(PerlmakePackageTemplate):
"""Provides appropriate overrides for Perl extensions
that come with a Build.PL instead of a Makefile.PL"""
+
dependencies = """\
depends_on('perl-module-build', type='build')
@@ -490,7 +491,7 @@ class PerlbuildPackageTemplate(PerlmakePackageTemplate):
class OctavePackageTemplate(PackageTemplate):
"""Provides appropriate overrides for octave packages"""
- base_class_name = 'OctavePackage'
+ base_class_name = "OctavePackage"
dependencies = """\
extends('octave')
@@ -501,10 +502,10 @@ class OctavePackageTemplate(PackageTemplate):
def __init__(self, name, *args, **kwargs):
# If the user provided `--name octave-splines`, don't rename it
# octave-octave-splines
- if not name.startswith('octave-'):
+ if not name.startswith("octave-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to octave-{0}".format(name))
- name = 'octave-{0}'.format(name)
+ name = "octave-{0}".format(name)
super(OctavePackageTemplate, self).__init__(name, *args, **kwargs)
@@ -512,7 +513,7 @@ class OctavePackageTemplate(PackageTemplate):
class RubyPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Ruby packages"""
- base_class_name = 'RubyPackage'
+ base_class_name = "RubyPackage"
dependencies = """\
# FIXME: Add dependencies if required. Only add the ruby dependency
@@ -529,10 +530,10 @@ class RubyPackageTemplate(PackageTemplate):
def __init__(self, name, *args, **kwargs):
# If the user provided `--name ruby-numpy`, don't rename it
# ruby-ruby-numpy
- if not name.startswith('ruby-'):
+ if not name.startswith("ruby-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to ruby-{0}".format(name))
- name = 'ruby-{0}'.format(name)
+ name = "ruby-{0}".format(name)
super(RubyPackageTemplate, self).__init__(name, *args, **kwargs)
@@ -540,7 +541,7 @@ class RubyPackageTemplate(PackageTemplate):
class MakefilePackageTemplate(PackageTemplate):
"""Provides appropriate overrides for Makefile packages"""
- base_class_name = 'MakefilePackage'
+ base_class_name = "MakefilePackage"
body_def = """\
def edit(self, spec, prefix):
@@ -553,7 +554,7 @@ class MakefilePackageTemplate(PackageTemplate):
class IntelPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for licensed Intel software"""
- base_class_name = 'IntelPackage'
+ base_class_name = "IntelPackage"
body_def = """\
# FIXME: Override `setup_environment` if necessary."""
@@ -562,7 +563,7 @@ class IntelPackageTemplate(PackageTemplate):
class SIPPackageTemplate(PackageTemplate):
"""Provides appropriate overrides for SIP packages."""
- base_class_name = 'SIPPackage'
+ base_class_name = "SIPPackage"
body_def = """\
def configure_args(self, spec, prefix):
@@ -573,70 +574,78 @@ class SIPPackageTemplate(PackageTemplate):
def __init__(self, name, *args, **kwargs):
# If the user provided `--name py-pyqt4`, don't rename it py-py-pyqt4
- if not name.startswith('py-'):
+ if not name.startswith("py-"):
# Make it more obvious that we are renaming the package
tty.msg("Changing package name from {0} to py-{0}".format(name))
- name = 'py-{0}'.format(name)
+ name = "py-{0}".format(name)
super(SIPPackageTemplate, self).__init__(name, *args, **kwargs)
templates = {
- 'autotools': AutotoolsPackageTemplate,
- 'autoreconf': AutoreconfPackageTemplate,
- 'cmake': CMakePackageTemplate,
- 'bundle': BundlePackageTemplate,
- 'qmake': QMakePackageTemplate,
- 'maven': MavenPackageTemplate,
- 'scons': SconsPackageTemplate,
- 'waf': WafPackageTemplate,
- 'bazel': BazelPackageTemplate,
- 'python': PythonPackageTemplate,
- 'r': RPackageTemplate,
- 'racket': RacketPackageTemplate,
- 'perlmake': PerlmakePackageTemplate,
- 'perlbuild': PerlbuildPackageTemplate,
- 'octave': OctavePackageTemplate,
- 'ruby': RubyPackageTemplate,
- 'makefile': MakefilePackageTemplate,
- 'intel': IntelPackageTemplate,
- 'meson': MesonPackageTemplate,
- 'lua': LuaPackageTemplate,
- 'sip': SIPPackageTemplate,
- 'generic': PackageTemplate,
+ "autotools": AutotoolsPackageTemplate,
+ "autoreconf": AutoreconfPackageTemplate,
+ "cmake": CMakePackageTemplate,
+ "bundle": BundlePackageTemplate,
+ "qmake": QMakePackageTemplate,
+ "maven": MavenPackageTemplate,
+ "scons": SconsPackageTemplate,
+ "waf": WafPackageTemplate,
+ "bazel": BazelPackageTemplate,
+ "python": PythonPackageTemplate,
+ "r": RPackageTemplate,
+ "racket": RacketPackageTemplate,
+ "perlmake": PerlmakePackageTemplate,
+ "perlbuild": PerlbuildPackageTemplate,
+ "octave": OctavePackageTemplate,
+ "ruby": RubyPackageTemplate,
+ "makefile": MakefilePackageTemplate,
+ "intel": IntelPackageTemplate,
+ "meson": MesonPackageTemplate,
+ "lua": LuaPackageTemplate,
+ "sip": SIPPackageTemplate,
+ "generic": PackageTemplate,
}
def setup_parser(subparser):
+ subparser.add_argument("url", nargs="?", help="url of package archive")
subparser.add_argument(
- 'url', nargs='?',
- help="url of package archive")
- subparser.add_argument(
- '--keep-stage', action='store_true',
- help="don't clean up staging area when command completes")
+ "--keep-stage",
+ action="store_true",
+ help="don't clean up staging area when command completes",
+ )
+ subparser.add_argument("-n", "--name", help="name of the package to create")
subparser.add_argument(
- '-n', '--name',
- help="name of the package to create")
- subparser.add_argument(
- '-t', '--template', metavar='TEMPLATE',
+ "-t",
+ "--template",
+ metavar="TEMPLATE",
choices=sorted(templates.keys()),
- help="build system template to use. options: %(choices)s")
+ help="build system template to use. options: %(choices)s",
+ )
subparser.add_argument(
- '-r', '--repo',
- help="path to a repository where the package should be created")
+ "-r", "--repo", help="path to a repository where the package should be created"
+ )
subparser.add_argument(
- '-N', '--namespace',
+ "-N",
+ "--namespace",
help="specify a namespace for the package. must be the namespace of "
- "a repository registered with Spack")
+ "a repository registered with Spack",
+ )
subparser.add_argument(
- '-f', '--force', action='store_true',
- help="overwrite any existing package file with the same name")
+ "-f",
+ "--force",
+ action="store_true",
+ help="overwrite any existing package file with the same name",
+ )
subparser.add_argument(
- '--skip-editor', action='store_true',
- help="skip the edit session for the package (e.g., automation)")
+ "--skip-editor",
+ action="store_true",
+ help="skip the edit session for the package (e.g., automation)",
+ )
subparser.add_argument(
- '-b', '--batch', action='store_true',
- help="don't ask which versions to checksum")
+ "-b", "--batch", action="store_true", help="don't ask which versions to checksum"
+ )
class BuildSystemGuesser:
@@ -647,7 +656,7 @@ class BuildSystemGuesser:
def __init__(self):
"""Sets the default build system."""
- self.build_system = 'generic'
+ self.build_system = "generic"
def __call__(self, stage, url):
"""Try to guess the type of build system used by a project based on
@@ -657,17 +666,17 @@ class BuildSystemGuesser:
# Most octave extensions are hosted on Octave-Forge:
# https://octave.sourceforge.net/index.html
# They all have the same base URL.
- if 'downloads.sourceforge.net/octave/' in url:
- self.build_system = 'octave'
+ if "downloads.sourceforge.net/octave/" in url:
+ self.build_system = "octave"
return
- if url.endswith('.gem'):
- self.build_system = 'ruby'
+ if url.endswith(".gem"):
+ self.build_system = "ruby"
return
- if url.endswith('.whl') or '.whl#' in url:
- self.build_system = 'python'
+ if url.endswith(".whl") or ".whl#" in url:
+ self.build_system = "python"
return
- if url.endswith('.rock'):
- self.build_system = 'lua'
+ if url.endswith(".rock"):
+ self.build_system = "lua"
return
# A list of clues that give us an idea of the build system a package
@@ -676,46 +685,44 @@ class BuildSystemGuesser:
# NOTE: Order is important here. If a package supports multiple
# build systems, we choose the first match in this list.
clues = [
- (r'/CMakeLists\.txt$', 'cmake'),
- (r'/NAMESPACE$', 'r'),
- (r'/configure$', 'autotools'),
- (r'/configure\.(in|ac)$', 'autoreconf'),
- (r'/Makefile\.am$', 'autoreconf'),
- (r'/pom\.xml$', 'maven'),
- (r'/SConstruct$', 'scons'),
- (r'/waf$', 'waf'),
- (r'/pyproject.toml', 'python'),
- (r'/setup\.(py|cfg)$', 'python'),
- (r'/WORKSPACE$', 'bazel'),
- (r'/Build\.PL$', 'perlbuild'),
- (r'/Makefile\.PL$', 'perlmake'),
- (r'/.*\.gemspec$', 'ruby'),
- (r'/Rakefile$', 'ruby'),
- (r'/setup\.rb$', 'ruby'),
- (r'/.*\.pro$', 'qmake'),
- (r'/.*\.rockspec$', 'lua'),
- (r'/(GNU)?[Mm]akefile$', 'makefile'),
- (r'/DESCRIPTION$', 'octave'),
- (r'/meson\.build$', 'meson'),
- (r'/configure\.py$', 'sip'),
+ (r"/CMakeLists\.txt$", "cmake"),
+ (r"/NAMESPACE$", "r"),
+ (r"/configure$", "autotools"),
+ (r"/configure\.(in|ac)$", "autoreconf"),
+ (r"/Makefile\.am$", "autoreconf"),
+ (r"/pom\.xml$", "maven"),
+ (r"/SConstruct$", "scons"),
+ (r"/waf$", "waf"),
+ (r"/pyproject.toml", "python"),
+ (r"/setup\.(py|cfg)$", "python"),
+ (r"/WORKSPACE$", "bazel"),
+ (r"/Build\.PL$", "perlbuild"),
+ (r"/Makefile\.PL$", "perlmake"),
+ (r"/.*\.gemspec$", "ruby"),
+ (r"/Rakefile$", "ruby"),
+ (r"/setup\.rb$", "ruby"),
+ (r"/.*\.pro$", "qmake"),
+ (r"/.*\.rockspec$", "lua"),
+ (r"/(GNU)?[Mm]akefile$", "makefile"),
+ (r"/DESCRIPTION$", "octave"),
+ (r"/meson\.build$", "meson"),
+ (r"/configure\.py$", "sip"),
]
# Peek inside the compressed file.
- if (stage.archive_file.endswith('.zip') or
- '.zip#' in stage.archive_file):
+ if stage.archive_file.endswith(".zip") or ".zip#" in stage.archive_file:
try:
- unzip = which('unzip')
- output = unzip('-lq', stage.archive_file, output=str)
+ unzip = which("unzip")
+ output = unzip("-lq", stage.archive_file, output=str)
except ProcessError:
- output = ''
+ output = ""
else:
try:
- tar = which('tar')
- output = tar('--exclude=*/*/*', '-tf',
- stage.archive_file, output=str)
+ tar = which("tar")
+ output = tar("--exclude=*/*/*", "-tf", stage.archive_file, output=str)
except ProcessError:
- output = ''
- lines = output.split('\n')
+ output = ""
+ lines = output.split("\n")
# Determine the build system based on the files contained
# in the archive.
@@ -740,7 +747,7 @@ def get_name(args):
"""
# Default package name
- name = 'example'
+ name = "example"
if args.name is not None:
# Use a user-supplied name if one is present
@@ -754,14 +761,16 @@ def get_name(args):
try:
name = parse_name(args.url)
if name != args.url:
- desc = 'URL'
+ desc = "URL"
else:
- desc = 'package name'
+ desc = "package name"
tty.msg("This looks like a {0} for {1}".format(desc, name))
except UndetectableNameError:
- tty.die("Couldn't guess a name for this package.",
- " Please report this bug. In the meantime, try running:",
- " `spack create --name <name> <url>`")
+ tty.die(
+ "Couldn't guess a name for this package.",
+ " Please report this bug. In the meantime, try running:",
+ " `spack create --name <name> <url>`",
+ )
name = simplify_name(name)
@@ -784,7 +793,7 @@ def get_url(args):
"""
# Default URL
- url = 'https://www.example.com/example-1.2.3.tar.gz'
+ url = "https://www.example.com/example-1.2.3.tar.gz"
if args.url:
# Use a user-supplied URL if one is present
@@ -824,12 +833,12 @@ def get_versions(args, name):
valid_url = True
try:
spack.util.url.require_url_format(args.url)
- if args.url.startswith('file://'):
+ if args.url.startswith("file://"):
valid_url = False # No point in spidering these
except (ValueError, TypeError):
valid_url = False
- if args.url is not None and args.template != 'bundle' and valid_url:
+ if args.url is not None and args.template != "bundle" and valid_url:
# Find available versions
try:
url_dict = spack.util.web.find_versions_of_archive(args.url)
@@ -844,9 +853,12 @@ def get_versions(args, name):
url_dict = {version: args.url}
versions = spack.stage.get_checksums_for_versions(
- url_dict, name, first_stage_function=guesser,
+ url_dict,
+ name,
+ first_stage_function=guesser,
keep_stage=args.keep_stage,
- batch=(args.batch or len(url_dict) == 1))
+ batch=(args.batch or len(url_dict) == 1),
+ )
else:
versions = unhashed_versions
@@ -869,7 +881,7 @@ def get_build_system(args, guesser):
str: The name of the build system template to use
"""
# Default template
- template = 'generic'
+ template = "generic"
if args.template is not None:
# Use a user-supplied template if one is present
@@ -878,9 +890,8 @@ def get_build_system(args, guesser):
elif args.url is not None:
# Use whatever build system the guesser detected
template = guesser.build_system
- if template == 'generic':
- tty.warn("Unable to detect a build system. "
- "Using a generic package template.")
+ if template == "generic":
+ tty.warn("Unable to detect a build system. " "Using a generic package template.")
else:
msg = "This package looks like it uses the {0} build system"
tty.msg(msg.format(template))
@@ -903,8 +914,7 @@ def get_repository(args, name):
spec = Spec(name)
# Figure out namespace for spec
if spec.namespace and args.namespace and spec.namespace != args.namespace:
- tty.die("Namespaces '{0}' and '{1}' do not match.".format(
- spec.namespace, args.namespace))
+ tty.die("Namespaces '{0}' and '{1}' do not match.".format(spec.namespace, args.namespace))
if not spec.namespace and args.namespace:
spec.namespace = args.namespace
@@ -914,8 +924,10 @@ def get_repository(args, name):
if repo_path is not None:
repo = spack.repo.Repo(repo_path)
if spec.namespace and spec.namespace != repo.namespace:
- tty.die("Can't create package with namespace {0} in repo with "
- "namespace {1}".format(spec.namespace, repo.namespace))
+ tty.die(
+ "Can't create package with namespace {0} in repo with "
+ "namespace {1}".format(spec.namespace, repo.namespace)
+ )
else:
if spec.namespace:
repo = spack.repo.path.get_repo(spec.namespace, None)
@@ -939,10 +951,10 @@ def create(parser, args):
build_system = get_build_system(args, guesser)
# Create the package template object
- constr_args = {'name': name, 'versions': versions}
+ constr_args = {"name": name, "versions": versions}
package_class = templates[build_system]
if package_class != BundlePackageTemplate:
- constr_args['url'] = url
+ constr_args["url"] = url
package = package_class(**constr_args)
tty.msg("Created template for {0} package".format(package.name))
@@ -950,8 +962,10 @@ def create(parser, args):
repo = get_repository(args, name)
pkg_path = repo.filename_for_package_name(package.name)
if os.path.exists(pkg_path) and not args.force:
- tty.die('{0} already exists.'.format(pkg_path),
- ' Try running `spack create --force` to overwrite it.')
+ tty.die(
+ "{0} already exists.".format(pkg_path),
+ " Try running `spack create --force` to overwrite it.",
+ )
else:
mkdirp(os.path.dirname(pkg_path))
diff --git a/lib/spack/spack/cmd/deactivate.py b/lib/spack/spack/cmd/deactivate.py
index 3d5b549400..d68341037f 100644
--- a/lib/spack/spack/cmd/deactivate.py
+++ b/lib/spack/spack/cmd/deactivate.py
@@ -19,22 +19,27 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-f', '--force', action='store_true',
- help="run deactivation even if spec is NOT currently activated")
+ "-f",
+ "--force",
+ action="store_true",
+ help="run deactivation even if spec is NOT currently activated",
+ )
+ subparser.add_argument("-v", "--view", metavar="VIEW", type=str, help="the view to operate on")
subparser.add_argument(
- '-v', '--view', metavar='VIEW', type=str,
- help="the view to operate on")
- subparser.add_argument(
- '-a', '--all', action='store_true',
+ "-a",
+ "--all",
+ action="store_true",
help="deactivate all extensions of an extendable package, or "
- "deactivate an extension AND its dependencies")
- arguments.add_common_arguments(subparser, ['installed_spec'])
+ "deactivate an extension AND its dependencies",
+ )
+ arguments.add_common_arguments(subparser, ["installed_spec"])
def deactivate(parser, args):
- tty.warn("spack deactivate is deprecated in favor of "
- "environments and will be removed in v0.19.0")
+ tty.warn(
+ "spack deactivate is deprecated in favor of " "environments and will be removed in v0.19.0"
+ )
specs = spack.cmd.parse_specs(args.spec)
if len(specs) != 1:
@@ -56,8 +61,7 @@ def deactivate(parser, args):
if args.all:
if pkg.extendable:
tty.msg("Deactivating all extensions of %s" % pkg.spec.short_spec)
- ext_pkgs = spack.store.db.activated_extensions_for(
- spec, view.extensions_layout)
+ ext_pkgs = spack.store.db.activated_extensions_for(spec, view.extensions_layout)
for ext_pkg in ext_pkgs:
ext_pkg.spec.normalize()
@@ -65,12 +69,10 @@ def deactivate(parser, args):
ext_pkg.do_deactivate(view, force=True)
elif pkg.is_extension:
- if not args.force and \
- not spec.package.is_activated(view):
+ if not args.force and not spec.package.is_activated(view):
tty.die("%s is not activated." % pkg.spec.short_spec)
- tty.msg("Deactivating %s and all dependencies." %
- pkg.spec.short_spec)
+ tty.msg("Deactivating %s and all dependencies." % pkg.spec.short_spec)
nodes_in_topological_order = spack.graph.topological_sort(spec)
for espec in reversed(nodes_in_topological_order):
@@ -80,17 +82,15 @@ def deactivate(parser, args):
epkg.do_deactivate(view, force=args.force)
else:
- tty.die(
- "spack deactivate --all requires an extendable package "
- "or an extension.")
+ tty.die("spack deactivate --all requires an extendable package " "or an extension.")
else:
if not pkg.is_extension:
- tty.die("spack deactivate requires an extension.",
- "Did you mean 'spack deactivate --all'?")
+ tty.die(
+ "spack deactivate requires an extension.", "Did you mean 'spack deactivate --all'?"
+ )
- if not args.force and \
- not spec.package.is_activated(view):
+ if not args.force and not spec.package.is_activated(view):
tty.die("Package %s is not activated." % specs[0].short_spec)
spec.package.do_deactivate(view, force=args.force)
diff --git a/lib/spack/spack/cmd/debug.py b/lib/spack/spack/cmd/debug.py
index aa4ed8432d..f593e3d80c 100644
--- a/lib/spack/spack/cmd/debug.py
+++ b/lib/spack/spack/cmd/debug.py
@@ -26,32 +26,29 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='debug_command')
- sp.add_parser('create-db-tarball',
- help="create a tarball of Spack's installation metadata")
- sp.add_parser('report', help='print information useful for bug reports')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="debug_command")
+ sp.add_parser("create-db-tarball", help="create a tarball of Spack's installation metadata")
+ sp.add_parser("report", help="print information useful for bug reports")
def _debug_tarball_suffix():
now = datetime.now()
- suffix = now.strftime('%Y-%m-%d-%H%M%S')
+ suffix = now.strftime("%Y-%m-%d-%H%M%S")
- git = which('git')
+ git = which("git")
if not git:
- return 'nobranch-nogit-%s' % suffix
+ return "nobranch-nogit-%s" % suffix
with working_dir(spack.paths.prefix):
- if not os.path.isdir('.git'):
- return 'nobranch.nogit.%s' % suffix
+ if not os.path.isdir(".git"):
+ return "nobranch.nogit.%s" % suffix
# Get symbolic branch name and strip any special chars (mainly '/')
- symbolic = git(
- 'rev-parse', '--abbrev-ref', '--short', 'HEAD', output=str).strip()
- symbolic = re.sub(r'[^\w.-]', '-', symbolic)
+ symbolic = git("rev-parse", "--abbrev-ref", "--short", "HEAD", output=str).strip()
+ symbolic = re.sub(r"[^\w.-]", "-", symbolic)
# Get the commit hash too.
- commit = git(
- 'rev-parse', '--short', 'HEAD', output=str).strip()
+ commit = git("rev-parse", "--short", "HEAD", output=str).strip()
if symbolic == commit:
return "nobranch.%s.%s" % (commit, suffix)
@@ -60,48 +57,46 @@ def _debug_tarball_suffix():
def create_db_tarball(args):
- tar = which('tar')
+ tar = which("tar")
tarball_name = "spack-db.%s.tar.gz" % _debug_tarball_suffix()
tarball_path = os.path.abspath(tarball_name)
base = os.path.basename(str(spack.store.root))
transform_args = []
- if 'GNU' in tar('--version', output=str):
- transform_args = ['--transform', 's/^%s/%s/' % (base, tarball_name)]
+ if "GNU" in tar("--version", output=str):
+ transform_args = ["--transform", "s/^%s/%s/" % (base, tarball_name)]
else:
- transform_args = ['-s', '/^%s/%s/' % (base, tarball_name)]
+ transform_args = ["-s", "/^%s/%s/" % (base, tarball_name)]
wd = os.path.dirname(str(spack.store.root))
with working_dir(wd):
files = [spack.store.db._index_path]
- files += glob('%s/*/*/*/.spack/spec.json' % base)
- files += glob('%s/*/*/*/.spack/spec.yaml' % base)
+ files += glob("%s/*/*/*/.spack/spec.json" % base)
+ files += glob("%s/*/*/*/.spack/spec.yaml" % base)
files = [os.path.relpath(f) for f in files]
- args = ['-czf', tarball_path]
+ args = ["-czf", tarball_path]
args += transform_args
args += files
tar(*args)
- tty.msg('Created %s' % tarball_name)
+ tty.msg("Created %s" % tarball_name)
def report(args):
host_platform = spack.platforms.host()
- host_os = host_platform.operating_system('frontend')
- host_target = host_platform.target('frontend')
- architecture = spack.spec.ArchSpec(
- (str(host_platform), str(host_os), str(host_target))
- )
- print('* **Spack:**', get_version())
- print('* **Python:**', platform.python_version())
- print('* **Platform:**', architecture)
- print('* **Concretizer:**', spack.config.get('config:concretizer'))
+ host_os = host_platform.operating_system("frontend")
+ host_target = host_platform.target("frontend")
+ architecture = spack.spec.ArchSpec((str(host_platform), str(host_os), str(host_target)))
+ print("* **Spack:**", get_version())
+ print("* **Python:**", platform.python_version())
+ print("* **Platform:**", architecture)
+ print("* **Concretizer:**", spack.config.get("config:concretizer"))
def debug(parser, args):
action = {
- 'create-db-tarball': create_db_tarball,
- 'report': report,
+ "create-db-tarball": create_db_tarball,
+ "report": report,
}
action[args.debug_command](args)
diff --git a/lib/spack/spack/cmd/dependencies.py b/lib/spack/spack/cmd/dependencies.py
index b273c74297..bffbacfc28 100644
--- a/lib/spack/spack/cmd/dependencies.py
+++ b/lib/spack/spack/cmd/dependencies.py
@@ -22,17 +22,30 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-i', '--installed', action='store_true', default=False,
+ "-i",
+ "--installed",
+ action="store_true",
+ default=False,
help="List installed dependencies of an installed spec, "
- "instead of possible dependencies of a package.")
+ "instead of possible dependencies of a package.",
+ )
subparser.add_argument(
- '-t', '--transitive', action='store_true', default=False,
- help="show all transitive dependencies")
- arguments.add_common_arguments(subparser, ['deptype'])
+ "-t",
+ "--transitive",
+ action="store_true",
+ default=False,
+ help="show all transitive dependencies",
+ )
+ arguments.add_common_arguments(subparser, ["deptype"])
subparser.add_argument(
- '-V', '--no-expand-virtuals', action='store_false', default=True,
- dest="expand_virtuals", help="do not expand virtual dependencies")
- arguments.add_common_arguments(subparser, ['spec'])
+ "-V",
+ "--no-expand-virtuals",
+ action="store_false",
+ default=True,
+ dest="expand_virtuals",
+ help="do not expand virtual dependencies",
+ )
+ arguments.add_common_arguments(subparser, ["spec"])
def dependencies(parser, args):
@@ -44,12 +57,12 @@ def dependencies(parser, args):
env = ev.active_environment()
spec = spack.cmd.disambiguate_spec(specs[0], env)
- format_string = '{name}{@version}{%compiler}{/hash:7}'
+ format_string = "{name}{@version}{%compiler}{/hash:7}"
if sys.stdout.isatty():
- tty.msg(
- "Dependencies of %s" % spec.format(format_string, color=True))
+ tty.msg("Dependencies of %s" % spec.format(format_string, color=True))
deps = spack.store.db.installed_relatives(
- spec, 'children', args.transitive, deptype=args.deptype)
+ spec, "children", args.transitive, deptype=args.deptype
+ )
if deps:
spack.cmd.display_specs(deps, long=True)
else:
@@ -61,7 +74,7 @@ def dependencies(parser, args):
spec,
transitive=args.transitive,
expand_virtuals=args.expand_virtuals,
- deptype=args.deptype
+ deptype=args.deptype,
)
if spec.name in dependencies:
diff --git a/lib/spack/spack/cmd/dependents.py b/lib/spack/spack/cmd/dependents.py
index cbaac206dc..e931ad7606 100644
--- a/lib/spack/spack/cmd/dependents.py
+++ b/lib/spack/spack/cmd/dependents.py
@@ -21,22 +21,30 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-i', '--installed', action='store_true', default=False,
+ "-i",
+ "--installed",
+ action="store_true",
+ default=False,
help="List installed dependents of an installed spec, "
- "instead of possible dependents of a package.")
+ "instead of possible dependents of a package.",
+ )
subparser.add_argument(
- '-t', '--transitive', action='store_true', default=False,
- help="Show all transitive dependents.")
- arguments.add_common_arguments(subparser, ['spec'])
+ "-t",
+ "--transitive",
+ action="store_true",
+ default=False,
+ help="Show all transitive dependents.",
+ )
+ arguments.add_common_arguments(subparser, ["spec"])
def inverted_dependencies():
"""Iterate through all packages and return a dictionary mapping package
- names to possible dependencies.
+ names to possible dependencies.
- Virtual packages are included as sources, so that you can query
- dependents of, e.g., `mpi`, but virtuals are not included as
- actual dependents.
+ Virtual packages are included as sources, so that you can query
+ dependents of, e.g., `mpi`, but virtuals are not included as
+ actual dependents.
"""
dag = {}
for pkg_cls in spack.repo.path.all_package_classes():
@@ -85,11 +93,10 @@ def dependents(parser, args):
env = ev.active_environment()
spec = spack.cmd.disambiguate_spec(specs[0], env)
- format_string = '{name}{@version}{%compiler}{/hash:7}'
+ format_string = "{name}{@version}{%compiler}{/hash:7}"
if sys.stdout.isatty():
tty.msg("Dependents of %s" % spec.cformat(format_string))
- deps = spack.store.db.installed_relatives(
- spec, 'parents', args.transitive)
+ deps = spack.store.db.installed_relatives(spec, "parents", args.transitive)
if deps:
spack.cmd.display_specs(deps, long=True)
else:
diff --git a/lib/spack/spack/cmd/deprecate.py b/lib/spack/spack/cmd/deprecate.py
index d9f7bd4b6e..cc59475a62 100644
--- a/lib/spack/spack/cmd/deprecate.py
+++ b/lib/spack/spack/cmd/deprecate.py
@@ -2,7 +2,7 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-'''Deprecate one Spack install in favor of another
+"""Deprecate one Spack install in favor of another
Spack packages of different configurations cannot be installed to the same
location. However, in some circumstances (e.g. security patches) old
@@ -12,7 +12,7 @@ place.
It is up to the user to ensure binary compatibility between the deprecated
installation and its deprecator.
-'''
+"""
from __future__ import print_function
import argparse
@@ -34,40 +34,66 @@ level = "long"
# Arguments for display_specs when we find ambiguity
display_args = {
- 'long': True,
- 'show_flags': True,
- 'variants': True,
- 'indent': 4,
+ "long": True,
+ "show_flags": True,
+ "variants": True,
+ "indent": 4,
}
def setup_parser(sp):
setup_parser.parser = sp
- arguments.add_common_arguments(sp, ['yes_to_all'])
+ arguments.add_common_arguments(sp, ["yes_to_all"])
deps = sp.add_mutually_exclusive_group()
- deps.add_argument('-d', '--dependencies', action='store_true',
- default=True, dest='dependencies',
- help='Deprecate dependencies (default)')
- deps.add_argument('-D', '--no-dependencies', action='store_false',
- default=True, dest='dependencies',
- help='Do not deprecate dependencies')
+ deps.add_argument(
+ "-d",
+ "--dependencies",
+ action="store_true",
+ default=True,
+ dest="dependencies",
+ help="Deprecate dependencies (default)",
+ )
+ deps.add_argument(
+ "-D",
+ "--no-dependencies",
+ action="store_false",
+ default=True,
+ dest="dependencies",
+ help="Do not deprecate dependencies",
+ )
install = sp.add_mutually_exclusive_group()
- install.add_argument('-i', '--install-deprecator', action='store_true',
- default=False, dest='install',
- help='Concretize and install deprecator spec')
- install.add_argument('-I', '--no-install-deprecator',
- action='store_false', default=False, dest='install',
- help='Deprecator spec must already be installed (default)')
-
- sp.add_argument('-l', '--link-type', type=str,
- default='soft', choices=['soft', 'hard'],
- help="Type of filesystem link to use for deprecation (default soft)")
-
- sp.add_argument('specs', nargs=argparse.REMAINDER,
- help="spec to deprecate and spec to use as deprecator")
+ install.add_argument(
+ "-i",
+ "--install-deprecator",
+ action="store_true",
+ default=False,
+ dest="install",
+ help="Concretize and install deprecator spec",
+ )
+ install.add_argument(
+ "-I",
+ "--no-install-deprecator",
+ action="store_false",
+ default=False,
+ dest="install",
+ help="Deprecator spec must already be installed (default)",
+ )
+
+ sp.add_argument(
+ "-l",
+ "--link-type",
+ type=str,
+ default="soft",
+ choices=["soft", "hard"],
+ help="Type of filesystem link to use for deprecation (default soft)",
+ )
+
+ sp.add_argument(
+ "specs", nargs=argparse.REMAINDER, help="spec to deprecate and spec to use as deprecator"
+ )
def deprecate(parser, args):
@@ -76,11 +102,10 @@ def deprecate(parser, args):
specs = spack.cmd.parse_specs(args.specs)
if len(specs) != 2:
- raise SpackError('spack deprecate requires exactly two specs')
+ raise SpackError("spack deprecate requires exactly two specs")
install_query = [InstallStatuses.INSTALLED, InstallStatuses.DEPRECATED]
- deprecate = spack.cmd.disambiguate_spec(specs[0], env, local=True,
- installed=install_query)
+ deprecate = spack.cmd.disambiguate_spec(specs[0], env, local=True, installed=install_query)
if args.install:
deprecator = specs[1].concretized()
@@ -91,9 +116,11 @@ def deprecate(parser, args):
all_deprecate = []
all_deprecators = []
- generator = deprecate.traverse(
- order='post', type='link', root=True
- ) if args.dependencies else [deprecate]
+ generator = (
+ deprecate.traverse(order="post", type="link", root=True)
+ if args.dependencies
+ else [deprecate]
+ )
for spec in generator:
all_deprecate.append(spec)
all_deprecators.append(deprecator[spec.name])
@@ -101,7 +128,7 @@ def deprecate(parser, args):
# that matches the name of a dep of the spec
if not args.yes_to_all:
- tty.msg('The following packages will be deprecated:\n')
+ tty.msg("The following packages will be deprecated:\n")
spack.cmd.display_specs(all_deprecate, **display_args)
tty.msg("In favor of (respectively):\n")
spack.cmd.display_specs(all_deprecators, **display_args)
@@ -115,16 +142,16 @@ def deprecate(parser, args):
already_deprecated.append(spec)
already_deprecated_for.append(deprecated_for)
- tty.msg('The following packages are already deprecated:\n')
+ tty.msg("The following packages are already deprecated:\n")
spack.cmd.display_specs(already_deprecated, **display_args)
- tty.msg('In favor of (respectively):\n')
+ tty.msg("In favor of (respectively):\n")
spack.cmd.display_specs(already_deprecated_for, **display_args)
- answer = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ answer = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not answer:
- tty.die('Will not deprecate any packages.')
+ tty.die("Will not deprecate any packages.")
- link_fn = os.link if args.link_type == 'hard' else symlink
+ link_fn = os.link if args.link_type == "hard" else symlink
for dcate, dcator in zip(all_deprecate, all_deprecators):
dcate.package.do_deprecate(dcator, link_fn)
diff --git a/lib/spack/spack/cmd/dev_build.py b/lib/spack/spack/cmd/dev_build.py
index 50fd0d0cee..db71744442 100644
--- a/lib/spack/spack/cmd/dev_build.py
+++ b/lib/spack/spack/cmd/dev_build.py
@@ -19,45 +19,75 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['jobs'])
+ arguments.add_common_arguments(subparser, ["jobs"])
subparser.add_argument(
- '-d', '--source-path', dest='source_path', default=None,
- help="path to source directory. defaults to the current directory")
+ "-d",
+ "--source-path",
+ dest="source_path",
+ default=None,
+ help="path to source directory. defaults to the current directory",
+ )
subparser.add_argument(
- '-i', '--ignore-dependencies', action='store_true', dest='ignore_deps',
- help="don't try to install dependencies of requested packages")
- arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
+ "-i",
+ "--ignore-dependencies",
+ action="store_true",
+ dest="ignore_deps",
+ help="don't try to install dependencies of requested packages",
+ )
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"])
subparser.add_argument(
- '--keep-prefix', action='store_true',
- help="do not remove the install prefix if installation fails")
+ "--keep-prefix",
+ action="store_true",
+ help="do not remove the install prefix if installation fails",
+ )
subparser.add_argument(
- '--skip-patch', action='store_true',
- help="skip patching for the developer build")
+ "--skip-patch", action="store_true", help="skip patching for the developer build"
+ )
subparser.add_argument(
- '-q', '--quiet', action='store_true', dest='quiet',
- help="do not display verbose build output while installing")
+ "-q",
+ "--quiet",
+ action="store_true",
+ dest="quiet",
+ help="do not display verbose build output while installing",
+ )
subparser.add_argument(
- '--drop-in', type=str, dest='shell', default=None,
- help="drop into a build environment in a new shell, e.g. bash, zsh")
+ "--drop-in",
+ type=str,
+ dest="shell",
+ default=None,
+ help="drop into a build environment in a new shell, e.g. bash, zsh",
+ )
subparser.add_argument(
- '--test', default=None,
- choices=['root', 'all'],
+ "--test",
+ default=None,
+ choices=["root", "all"],
help="""If 'root' is chosen, run package tests during
installation for top-level packages (but skip tests for dependencies).
if 'all' is chosen, run package tests during installation for all
-packages. If neither are chosen, don't run tests for any packages.""")
- arguments.add_common_arguments(subparser, ['spec'])
+packages. If neither are chosen, don't run tests for any packages.""",
+ )
+ arguments.add_common_arguments(subparser, ["spec"])
stop_group = subparser.add_mutually_exclusive_group()
stop_group.add_argument(
- '-b', '--before', type=str, dest='before', default=None,
- help="phase to stop before when installing (default None)")
+ "-b",
+ "--before",
+ type=str,
+ dest="before",
+ default=None,
+ help="phase to stop before when installing (default None)",
+ )
stop_group.add_argument(
- '-u', '--until', type=str, dest='until', default=None,
- help="phase to stop after when installing (default None)")
+ "-u",
+ "--until",
+ type=str,
+ dest="until",
+ default=None,
+ help="phase to stop after when installing (default None)",
+ )
cd_group = subparser.add_mutually_exclusive_group()
- arguments.add_common_arguments(cd_group, ['clean', 'dirty'])
+ arguments.add_common_arguments(cd_group, ["clean", "dirty"])
spack.cmd.common.arguments.add_concretizer_args(subparser)
@@ -72,13 +102,16 @@ def dev_build(self, args):
spec = specs[0]
if not spack.repo.path.exists(spec.name):
- tty.die("No package for '{0}' was found.".format(spec.name),
- " Use `spack create` to create a new package")
+ tty.die(
+ "No package for '{0}' was found.".format(spec.name),
+ " Use `spack create` to create a new package",
+ )
if not spec.versions.concrete:
tty.die(
"spack dev-build spec must have a single, concrete version. "
- "Did you forget a package version number?")
+ "Did you forget a package version number?"
+ )
source_path = args.source_path
if source_path is None:
@@ -86,7 +119,7 @@ def dev_build(self, args):
source_path = os.path.abspath(source_path)
# Forces the build to run out of the source directory.
- spec.constrain('dev_path=%s' % source_path)
+ spec.constrain("dev_path=%s" % source_path)
spec.concretize()
if spec.installed:
@@ -96,15 +129,15 @@ def dev_build(self, args):
# disable checksumming if requested
if args.no_checksum:
- spack.config.set('config:checksum', False, scope='command_line')
+ spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
tests = False
- if args.test == 'all':
+ if args.test == "all":
tests = True
- elif args.test == 'root':
+ elif args.test == "root":
tests = [spec.name for spec in specs]
spec.package.do_install(
@@ -116,7 +149,8 @@ def dev_build(self, args):
dirty=args.dirty,
stop_before=args.before,
skip_patch=args.skip_patch,
- stop_at=args.until)
+ stop_at=args.until,
+ )
# drop into the build environment of the package?
if args.shell is not None:
diff --git a/lib/spack/spack/cmd/develop.py b/lib/spack/spack/cmd/develop.py
index 736bbc361d..d95a50cb17 100644
--- a/lib/spack/spack/cmd/develop.py
+++ b/lib/spack/spack/cmd/develop.py
@@ -17,26 +17,33 @@ level = "long"
def setup_parser(subparser):
- subparser.add_argument(
- '-p', '--path', help='Source location of package')
+ subparser.add_argument("-p", "--path", help="Source location of package")
clone_group = subparser.add_mutually_exclusive_group()
clone_group.add_argument(
- '--no-clone', action='store_false', dest='clone', default=None,
- help='Do not clone. The package already exists at the source path')
+ "--no-clone",
+ action="store_false",
+ dest="clone",
+ default=None,
+ help="Do not clone. The package already exists at the source path",
+ )
clone_group.add_argument(
- '--clone', action='store_true', dest='clone', default=None,
- help='Clone the package even if the path already exists')
+ "--clone",
+ action="store_true",
+ dest="clone",
+ default=None,
+ help="Clone the package even if the path already exists",
+ )
subparser.add_argument(
- '-f', '--force',
- help='Remove any files or directories that block cloning source code')
+ "-f", "--force", help="Remove any files or directories that block cloning source code"
+ )
- arguments.add_common_arguments(subparser, ['spec'])
+ arguments.add_common_arguments(subparser, ["spec"])
def develop(parser, args):
- env = spack.cmd.require_active_env(cmd_name='develop')
+ env = spack.cmd.require_active_env(cmd_name="develop")
if not args.spec:
if args.clone is False:
@@ -44,17 +51,16 @@ def develop(parser, args):
# download all dev specs
for name, entry in env.dev_specs.items():
- path = entry.get('path', name)
- abspath = path if os.path.isabs(path) else os.path.join(
- env.path, path)
+ path = entry.get("path", name)
+ abspath = path if os.path.isabs(path) else os.path.join(env.path, path)
if os.path.exists(abspath):
- msg = "Skipping developer download of %s" % entry['spec']
+ msg = "Skipping developer download of %s" % entry["spec"]
msg += " because its path already exists."
tty.msg(msg)
continue
- spec = spack.spec.Spec(entry['spec'])
+ spec = spack.spec.Spec(entry["spec"])
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
pkg_cls(spec).stage.steal_source(abspath)
diff --git a/lib/spack/spack/cmd/diff.py b/lib/spack/spack/cmd/diff.py
index be69e3645b..0b5318b37d 100644
--- a/lib/spack/spack/cmd/diff.py
+++ b/lib/spack/spack/cmd/diff.py
@@ -22,27 +22,27 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(
- subparser, ['specs'])
+ arguments.add_common_arguments(subparser, ["specs"])
subparser.add_argument(
- '--json',
- action='store_true',
+ "--json",
+ action="store_true",
default=False,
- dest='dump_json',
- help="Dump json output instead of pretty printing."
+ dest="dump_json",
+ help="Dump json output instead of pretty printing.",
)
subparser.add_argument(
- '--first',
- action='store_true',
+ "--first",
+ action="store_true",
default=False,
- dest='load_first',
- help="load the first match if multiple packages match the spec"
+ 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)"
+ "-a",
+ "--attribute",
+ action="append",
+ help="select the attributes to show (defaults to all)",
)
@@ -70,12 +70,24 @@ def compare_specs(a, b, to_string=False, color=None):
# get facts for specs, making sure to include build dependencies of concrete
# specs and to descend into dependency hashes so we include all facts.
- a_facts = set(t for t in setup.spec_clauses(
- a, body=True, expand_hashes=True, concrete_build_deps=True,
- ))
- b_facts = set(t for t in setup.spec_clauses(
- b, body=True, expand_hashes=True, concrete_build_deps=True,
- ))
+ a_facts = set(
+ t
+ for t in setup.spec_clauses(
+ a,
+ body=True,
+ expand_hashes=True,
+ concrete_build_deps=True,
+ )
+ )
+ b_facts = set(
+ t
+ for t in setup.spec_clauses(
+ b,
+ body=True,
+ expand_hashes=True,
+ concrete_build_deps=True,
+ )
+ )
# We want to present them to the user as simple key: values
intersect = sorted(a_facts.intersection(b_facts))
@@ -120,8 +132,8 @@ def print_difference(c, attributes="all", out=None):
# Default to standard out unless another stream is provided
out = out or sys.stdout
- A = c['b_not_a']
- B = c['a_not_b']
+ A = c["b_not_a"]
+ B = c["a_not_b"]
cprint("@R{--- %s}" % c["a_name"]) # bright red
cprint("@G{+++ %s}" % c["b_name"]) # bright green
@@ -186,8 +198,10 @@ def diff(parser, args):
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)]
+ specs = [
+ spack.cmd.disambiguate_spec(spec, env, first=args.load_first)
+ for spec in spack.cmd.parse_specs(args.specs)
+ ]
# Calculate the comparison (c)
color = False if args.dump_json else get_color_when()
diff --git a/lib/spack/spack/cmd/docs.py b/lib/spack/spack/cmd/docs.py
index 781b298a1f..418d351920 100644
--- a/lib/spack/spack/cmd/docs.py
+++ b/lib/spack/spack/cmd/docs.py
@@ -5,10 +5,10 @@
import webbrowser
-description = 'open spack documentation in a web browser'
-section = 'help'
-level = 'short'
+description = "open spack documentation in a web browser"
+section = "help"
+level = "short"
def docs(parser, args):
- webbrowser.open('https://spack.readthedocs.io')
+ webbrowser.open("https://spack.readthedocs.io")
diff --git a/lib/spack/spack/cmd/edit.py b/lib/spack/spack/cmd/edit.py
index e5800fe948..af35652ae6 100644
--- a/lib/spack/spack/cmd/edit.py
+++ b/lib/spack/spack/cmd/edit.py
@@ -43,8 +43,10 @@ def edit_package(name, repo_path, namespace):
if not os.access(path, os.R_OK):
tty.die("Insufficient permissions on '%s'!" % path)
else:
- tty.die("No package for '{0}' was found.".format(spec.name),
- " Use `spack create` to create a new package")
+ tty.die(
+ "No package for '{0}' was found.".format(spec.name),
+ " Use `spack create` to create a new package",
+ )
editor(path)
@@ -55,36 +57,51 @@ def setup_parser(subparser):
# Various types of Spack files that can be edited
# Edits package files by default
excl_args.add_argument(
- '-b', '--build-system', dest='path', action='store_const',
+ "-b",
+ "--build-system",
+ dest="path",
+ action="store_const",
const=spack.paths.build_systems_path,
- help="Edit the build system with the supplied name.")
+ help="Edit the build system with the supplied name.",
+ )
excl_args.add_argument(
- '-c', '--command', dest='path', action='store_const',
+ "-c",
+ "--command",
+ dest="path",
+ action="store_const",
const=spack.paths.command_path,
- help="edit the command with the supplied name")
+ help="edit the command with the supplied name",
+ )
excl_args.add_argument(
- '-d', '--docs', dest='path', action='store_const',
- const=os.path.join(spack.paths.lib_path, 'docs'),
- help="edit the docs with the supplied name")
+ "-d",
+ "--docs",
+ dest="path",
+ action="store_const",
+ const=os.path.join(spack.paths.lib_path, "docs"),
+ help="edit the docs with the supplied name",
+ )
excl_args.add_argument(
- '-t', '--test', dest='path', action='store_const',
+ "-t",
+ "--test",
+ dest="path",
+ action="store_const",
const=spack.paths.test_path,
- help="edit the test with the supplied name")
+ help="edit the test with the supplied name",
+ )
excl_args.add_argument(
- '-m', '--module', dest='path', action='store_const',
+ "-m",
+ "--module",
+ dest="path",
+ action="store_const",
const=spack.paths.module_path,
- help="edit the main spack module with the supplied name")
+ help="edit the main spack module with the supplied name",
+ )
# Options for editing packages
- excl_args.add_argument(
- '-r', '--repo', default=None,
- help="path to repo to edit package in")
- excl_args.add_argument(
- '-N', '--namespace', default=None,
- help="namespace of package to edit")
+ excl_args.add_argument("-r", "--repo", default=None, help="path to repo to edit package in")
+ excl_args.add_argument("-N", "--namespace", default=None, help="namespace of package to edit")
- subparser.add_argument(
- 'package', nargs='?', default=None, help="package name")
+ subparser.add_argument("package", nargs="?", default=None, help="package name")
def edit(parser, args):
@@ -103,19 +120,17 @@ def edit(parser, args):
path = os.path.join(path, name)
if not os.path.exists(path):
- files = glob.glob(path + '*')
- exclude_list = ['.pyc', '~'] # exclude binaries and backups
- files = list(filter(
- lambda x: all(s not in x for s in exclude_list), files))
+ files = glob.glob(path + "*")
+ exclude_list = [".pyc", "~"] # exclude binaries and backups
+ files = list(filter(lambda x: all(s not in x for s in exclude_list), files))
if len(files) > 1:
- m = 'Multiple files exist with the name {0}.'.format(name)
- m += ' Please specify a suffix. Files are:\n\n'
+ m = "Multiple files exist with the name {0}.".format(name)
+ m += " Please specify a suffix. Files are:\n\n"
for f in files:
- m += ' ' + os.path.basename(f) + '\n'
+ m += " " + os.path.basename(f) + "\n"
tty.die(m)
if not files:
- tty.die("No file for '{0}' was found in {1}".format(name,
- path))
+ tty.die("No file for '{0}' was found in {1}".format(name, path))
path = files[0] # already confirmed only one entry in files
editor(path)
diff --git a/lib/spack/spack/cmd/env.py b/lib/spack/spack/cmd/env.py
index 17926a900a..86953a7bcc 100644
--- a/lib/spack/spack/cmd/env.py
+++ b/lib/spack/spack/cmd/env.py
@@ -34,17 +34,17 @@ level = "short"
#: List of subcommands of `spack env`
subcommands = [
- 'activate',
- 'deactivate',
- 'create',
- ['remove', 'rm'],
- ['list', 'ls'],
- ['status', 'st'],
- 'loads',
- 'view',
- 'update',
- 'revert',
- 'depfile'
+ "activate",
+ "deactivate",
+ "create",
+ ["remove", "rm"],
+ ["list", "ls"],
+ ["status", "st"],
+ "loads",
+ "view",
+ "update",
+ "revert",
+ "depfile",
]
@@ -55,42 +55,79 @@ def env_activate_setup_parser(subparser):
"""set the current environment"""
shells = subparser.add_mutually_exclusive_group()
shells.add_argument(
- '--sh', action='store_const', dest='shell', const='sh',
- help="print sh commands to activate the environment")
+ "--sh",
+ action="store_const",
+ dest="shell",
+ const="sh",
+ help="print sh commands to activate the environment",
+ )
shells.add_argument(
- '--csh', action='store_const', dest='shell', const='csh',
- help="print csh commands to activate the environment")
+ "--csh",
+ action="store_const",
+ dest="shell",
+ const="csh",
+ help="print csh commands to activate the environment",
+ )
shells.add_argument(
- '--fish', action='store_const', dest='shell', const='fish',
- help="print fish commands to activate the environment")
+ "--fish",
+ action="store_const",
+ dest="shell",
+ const="fish",
+ help="print fish commands to activate the environment",
+ )
shells.add_argument(
- '--bat', action='store_const', dest='shell', const='bat',
- help="print bat commands to activate the environment")
+ "--bat",
+ action="store_const",
+ dest="shell",
+ const="bat",
+ help="print bat commands to activate the environment",
+ )
view_options = subparser.add_mutually_exclusive_group()
view_options.add_argument(
- '-v', '--with-view', action='store_const', dest='with_view',
- const=True, default=True,
- help="update PATH etc. with associated view")
+ "-v",
+ "--with-view",
+ action="store_const",
+ dest="with_view",
+ const=True,
+ default=True,
+ help="update PATH etc. with associated view",
+ )
view_options.add_argument(
- '-V', '--without-view', action='store_const', dest='with_view',
- const=False, default=True,
- help="do not update PATH etc. with associated view")
+ "-V",
+ "--without-view",
+ action="store_const",
+ dest="with_view",
+ const=False,
+ default=True,
+ help="do not update PATH etc. with associated view",
+ )
subparser.add_argument(
- '-p', '--prompt', action='store_true', default=False,
- help="decorate the command line prompt when activating")
+ "-p",
+ "--prompt",
+ action="store_true",
+ default=False,
+ help="decorate the command line prompt when activating",
+ )
env_options = subparser.add_mutually_exclusive_group()
env_options.add_argument(
- '--temp', action='store_true', default=False,
- help='create and activate an environment in a temporary directory')
+ "--temp",
+ action="store_true",
+ default=False,
+ help="create and activate an environment in a temporary directory",
+ )
env_options.add_argument(
- '-d', '--dir', default=None,
- help="activate the environment in this directory")
+ "-d", "--dir", default=None, help="activate the environment in this directory"
+ )
env_options.add_argument(
- metavar='env', dest='activate_env', nargs='?', default=None,
- help='name of environment to activate')
+ metavar="env",
+ dest="activate_env",
+ nargs="?",
+ default=None,
+ help="name of environment to activate",
+ )
def create_temp_env_directory():
@@ -103,7 +140,7 @@ def create_temp_env_directory():
def env_activate(args):
if not args.activate_env and not args.dir and not args.temp:
- tty.die('spack env activate requires an environment name, directory, or --temp')
+ tty.die("spack env activate requires an environment name, directory, or --temp")
if not args.shell:
spack.cmd.common.shell_init_instructions(
@@ -114,8 +151,7 @@ def env_activate(args):
# 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')
+ tty.die("Calling spack env activate with --env, --env-dir and --no-env " "is ambiguous")
env_name_or_dir = args.activate_env or args.dir
@@ -139,11 +175,11 @@ def env_activate(args):
else:
tty.die("No such environment: '%s'" % env_name_or_dir)
- env_prompt = '[%s]' % short_name
+ env_prompt = "[%s]" % short_name
# We only support one active environment at a time, so deactivate the current one.
if ev.active_environment() is None:
- cmds = ''
+ cmds = ""
env_mods = EnvironmentModifications()
else:
cmds = spack.environment.shell.deactivate_header(shell=args.shell)
@@ -152,14 +188,9 @@ def env_activate(args):
# Activate new environment
active_env = ev.Environment(env_path)
cmds += spack.environment.shell.activate_header(
- env=active_env,
- shell=args.shell,
- prompt=env_prompt if args.prompt else None
- )
- env_mods.extend(spack.environment.shell.activate(
- env=active_env,
- add_view=args.with_view
- ))
+ env=active_env, shell=args.shell, prompt=env_prompt if args.prompt else None
+ )
+ env_mods.extend(spack.environment.shell.activate(env=active_env, add_view=args.with_view))
cmds += env_mods.shell_modifications(args.shell)
sys.stdout.write(cmds)
@@ -171,17 +202,33 @@ def env_deactivate_setup_parser(subparser):
"""deactivate any active environment in the shell"""
shells = subparser.add_mutually_exclusive_group()
shells.add_argument(
- '--sh', action='store_const', dest='shell', const='sh',
- help="print sh commands to deactivate the environment")
+ "--sh",
+ action="store_const",
+ dest="shell",
+ const="sh",
+ help="print sh commands to deactivate the environment",
+ )
shells.add_argument(
- '--csh', action='store_const', dest='shell', const='csh',
- help="print csh commands to deactivate the environment")
+ "--csh",
+ action="store_const",
+ dest="shell",
+ const="csh",
+ help="print csh commands to deactivate the environment",
+ )
shells.add_argument(
- '--fish', action='store_const', dest='shell', const='fish',
- help="print fish commands to activate the environment")
+ "--fish",
+ action="store_const",
+ dest="shell",
+ const="fish",
+ help="print fish commands to activate the environment",
+ )
shells.add_argument(
- '--bat', action='store_const', dest='shell', const='bat',
- help="print bat commands to activate the environment")
+ "--bat",
+ action="store_const",
+ dest="shell",
+ const="bat",
+ help="print bat commands to activate the environment",
+ )
def env_deactivate(args):
@@ -194,11 +241,10 @@ def env_deactivate(args):
# 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')
+ tty.die("Calling spack env deactivate with --env, --env-dir and --no-env " "is ambiguous")
if ev.active_environment() is None:
- tty.die('No environment is currently active.')
+ tty.die("No environment is currently active.")
cmds = spack.environment.shell.deactivate_header(args.shell)
env_mods = spack.environment.shell.deactivate()
@@ -211,27 +257,32 @@ def env_deactivate(args):
#
def env_create_setup_parser(subparser):
"""create a new environment"""
+ subparser.add_argument("create_env", metavar="env", help="name of environment to create")
subparser.add_argument(
- 'create_env', metavar='env', help='name of environment to create')
- subparser.add_argument(
- '-d', '--dir', action='store_true',
- help='create an environment in a specific directory')
+ "-d", "--dir", action="store_true", help="create an environment in a specific directory"
+ )
subparser.add_argument(
- '--keep-relative', action='store_true',
- help='copy relative develop paths verbatim into the new environment'
- ' when initializing from envfile')
+ "--keep-relative",
+ action="store_true",
+ help="copy relative develop paths verbatim into the new environment"
+ " when initializing from envfile",
+ )
view_opts = subparser.add_mutually_exclusive_group()
view_opts.add_argument(
- '--without-view', action='store_true',
- help='do not maintain a view for this environment')
+ "--without-view", action="store_true", help="do not maintain a view for this environment"
+ )
view_opts.add_argument(
- '--with-view',
- help='specify that this environment should maintain a view at the'
- ' specified path (by default the view is maintained in the'
- ' environment directory)')
+ "--with-view",
+ help="specify that this environment should maintain a view at the"
+ " specified path (by default the view is maintained in the"
+ " environment directory)",
+ )
subparser.add_argument(
- 'envfile', nargs='?', default=None,
- help='optional init file; can be spack.yaml or spack.lock')
+ "envfile",
+ nargs="?",
+ default=None,
+ help="optional init file; can be spack.yaml or spack.lock",
+ )
def env_create(args):
@@ -246,15 +297,14 @@ def env_create(args):
with_view = None
if args.envfile:
with open(args.envfile) as f:
- _env_create(args.create_env, f, args.dir,
- with_view=with_view, keep_relative=args.keep_relative)
+ _env_create(
+ args.create_env, f, args.dir, with_view=with_view, keep_relative=args.keep_relative
+ )
else:
- _env_create(args.create_env, None, args.dir,
- with_view=with_view)
+ _env_create(args.create_env, None, args.dir, with_view=with_view)
-def _env_create(name_or_path, init_file=None, dir=False, with_view=None,
- keep_relative=False):
+def _env_create(name_or_path, init_file=None, dir=False, with_view=None, keep_relative=False):
"""Create a new environment, with an optional yaml description.
Arguments:
@@ -287,10 +337,8 @@ def _env_create(name_or_path, init_file=None, dir=False, with_view=None,
#
def env_remove_setup_parser(subparser):
"""remove an existing environment"""
- subparser.add_argument(
- 'rm_env', metavar='env', nargs='+',
- help='environment(s) to remove')
- arguments.add_common_arguments(subparser, ['yes_to_all'])
+ subparser.add_argument("rm_env", metavar="env", nargs="+", help="environment(s) to remove")
+ arguments.add_common_arguments(subparser, ["yes_to_all"])
def env_remove(args):
@@ -307,17 +355,19 @@ def env_remove(args):
if not args.yes_to_all:
answer = tty.get_yes_or_no(
- 'Really remove %s %s?' % (
- string.plural(len(args.rm_env), 'environment', show_n=False),
- string.comma_and(args.rm_env)),
- default=False)
+ "Really remove %s %s?"
+ % (
+ string.plural(len(args.rm_env), "environment", show_n=False),
+ string.comma_and(args.rm_env),
+ ),
+ default=False,
+ )
if not answer:
tty.die("Will not remove any environments")
for env in read_envs:
if env.active:
- tty.die("Environment %s can't be removed while activated."
- % env.name)
+ tty.die("Environment %s can't be removed while activated." % env.name)
env.destroy()
tty.msg("Successfully removed environment '%s'" % env.name)
@@ -336,23 +386,23 @@ def env_list(args):
color_names = []
for name in names:
if ev.active(name):
- name = colorize('@*g{%s}' % name)
+ name = colorize("@*g{%s}" % name)
color_names.append(name)
# say how many there are if writing to a tty
if sys.stdout.isatty():
if not names:
- tty.msg('No environments')
+ tty.msg("No environments")
else:
- tty.msg('%d environments' % len(names))
+ tty.msg("%d environments" % len(names))
colify(color_names, indent=4)
class ViewAction(object):
- regenerate = 'regenerate'
- enable = 'enable'
- disable = 'disable'
+ regenerate = "regenerate"
+ enable = "enable"
+ disable = "disable"
@staticmethod
def actions():
@@ -365,11 +415,10 @@ class ViewAction(object):
def env_view_setup_parser(subparser):
"""manage a view associated with the environment"""
subparser.add_argument(
- 'action', choices=ViewAction.actions(),
- help="action to take for the environment's view")
+ "action", choices=ViewAction.actions(), help="action to take for the environment's view"
+ )
subparser.add_argument(
- 'view_path', nargs='?',
- help="when enabling a view, optionally set the path manually"
+ "view_path", nargs="?", help="when enabling a view, optionally set the path manually"
)
@@ -404,15 +453,14 @@ def env_status(args):
env = ev.active_environment()
if env:
if env.path == os.getcwd():
- tty.msg('Using %s in current directory: %s'
- % (ev.manifest_name, env.path))
+ tty.msg("Using %s in current directory: %s" % (ev.manifest_name, env.path))
else:
- tty.msg('In environment %s' % env.name)
+ tty.msg("In environment %s" % env.name)
# Check if environment views can be safely activated
env.check_views()
else:
- tty.msg('No active environment')
+ tty.msg("No active environment")
#
@@ -421,44 +469,48 @@ def env_status(args):
def env_loads_setup_parser(subparser):
"""list modules for an installed environment '(see spack module loads)'"""
subparser.add_argument(
- '-n', '--module-set-name', default='default',
- help='module set for which to generate load operations')
+ "-n",
+ "--module-set-name",
+ default="default",
+ help="module set for which to generate load operations",
+ )
subparser.add_argument(
- '-m', '--module-type', choices=('tcl', 'lmod'),
- help='type of module system to generate loads for')
+ "-m",
+ "--module-type",
+ choices=("tcl", "lmod"),
+ help="type of module system to generate loads for",
+ )
spack.cmd.modules.add_loads_arguments(subparser)
def env_loads(args):
- env = spack.cmd.require_active_env(cmd_name='env loads')
+ env = spack.cmd.require_active_env(cmd_name="env loads")
# Set the module types that have been selected
module_type = args.module_type
if module_type is None:
# If no selection has been made select all of them
- module_type = 'tcl'
+ module_type = "tcl"
recurse_dependencies = args.recurse_dependencies
args.recurse_dependencies = False
- loads_file = fs.join_path(env.path, 'loads')
- with open(loads_file, 'w') as f:
- specs = env._get_environment_specs(
- recurse_dependencies=recurse_dependencies)
+ loads_file = fs.join_path(env.path, "loads")
+ with open(loads_file, "w") as f:
+ specs = env._get_environment_specs(recurse_dependencies=recurse_dependencies)
spack.cmd.modules.loads(module_type, specs, args, f)
- print('To load this environment, type:')
- print(' source %s' % loads_file)
+ print("To load this environment, type:")
+ print(" source %s" % loads_file)
def env_update_setup_parser(subparser):
"""update environments to the latest format"""
subparser.add_argument(
- metavar='env', dest='update_env',
- help='name or directory of the environment to activate'
+ metavar="env", dest="update_env", help="name or directory of the environment to activate"
)
- spack.cmd.common.arguments.add_common_arguments(subparser, ['yes_to_all'])
+ spack.cmd.common.arguments.add_common_arguments(subparser, ["yes_to_all"])
def env_update(args):
@@ -472,16 +524,18 @@ def env_update(args):
proceed = True
if not args.yes_to_all:
- msg = ('The environment "{0}" is going to be updated to the latest '
- 'schema format.\nIf the environment is updated, versions of '
- 'Spack that are older than this version may not be able to '
- 'read it. Spack stores backups of the updated environment '
- 'which can be retrieved with "spack env revert"')
+ msg = (
+ 'The environment "{0}" is going to be updated to the latest '
+ "schema format.\nIf the environment is updated, versions of "
+ "Spack that are older than this version may not be able to "
+ "read it. Spack stores backups of the updated environment "
+ 'which can be retrieved with "spack env revert"'
+ )
tty.msg(msg.format(args.update_env))
- proceed = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ proceed = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not proceed:
- tty.die('Operation aborted.')
+ tty.die("Operation aborted.")
ev.update_yaml(manifest_file, backup_file=backup_file)
msg = 'Environment "{0}" has been updated [backup={1}]'
@@ -491,10 +545,9 @@ def env_update(args):
def env_revert_setup_parser(subparser):
"""restore environments to their state before update"""
subparser.add_argument(
- metavar='env', dest='revert_env',
- help='name or directory of the environment to activate'
+ metavar="env", dest="revert_env", help="name or directory of the environment to activate"
)
- spack.cmd.common.arguments.add_common_arguments(subparser, ['yes_to_all'])
+ spack.cmd.common.arguments.add_common_arguments(subparser, ["yes_to_all"])
def env_revert(args):
@@ -504,21 +557,23 @@ def env_revert(args):
# Check that both the spack.yaml and the backup exist, the inform user
# on what is going to happen and ask for confirmation
if not os.path.exists(manifest_file):
- msg = 'cannot fine the manifest file of the environment [file={0}]'
+ msg = "cannot fine the manifest file of the environment [file={0}]"
tty.die(msg.format(manifest_file))
if not os.path.exists(backup_file):
- msg = 'cannot find the old manifest file to be restored [file={0}]'
+ msg = "cannot find the old manifest file to be restored [file={0}]"
tty.die(msg.format(backup_file))
proceed = True
if not args.yes_to_all:
- msg = ('Spack is going to overwrite the current manifest file'
- ' with a backup copy [manifest={0}, backup={1}]')
+ msg = (
+ "Spack is going to overwrite the current manifest file"
+ " with a backup copy [manifest={0}, backup={1}]"
+ )
tty.msg(msg.format(manifest_file, backup_file))
- proceed = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ proceed = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not proceed:
- tty.die('Operation aborted.')
+ tty.die("Operation aborted.")
shutil.copy(backup_file, manifest_file)
os.remove(backup_file)
@@ -529,24 +584,39 @@ def env_revert(args):
def env_depfile_setup_parser(subparser):
"""generate a depfile from the concrete environment specs"""
subparser.add_argument(
- '--make-target-prefix', default=None, metavar='TARGET',
- help='prefix Makefile targets with <TARGET>/<name>. By default the absolute '
- 'path to the directory makedeps under the environment metadata dir is '
- 'used. Can be set to an empty string --make-target-prefix \'\'.')
+ "--make-target-prefix",
+ default=None,
+ metavar="TARGET",
+ help="prefix Makefile targets with <TARGET>/<name>. By default the absolute "
+ "path to the directory makedeps under the environment metadata dir is "
+ "used. Can be set to an empty string --make-target-prefix ''.",
+ )
subparser.add_argument(
- '--make-disable-jobserver', default=True, action='store_false',
- dest='jobserver', help='disable POSIX jobserver support.')
+ "--make-disable-jobserver",
+ default=True,
+ action="store_false",
+ dest="jobserver",
+ help="disable POSIX jobserver support.",
+ )
subparser.add_argument(
- '-o', '--output', default=None, metavar='FILE',
- help='write the depfile to FILE rather than to stdout')
+ "-o",
+ "--output",
+ default=None,
+ metavar="FILE",
+ help="write the depfile to FILE rather than to stdout",
+ )
subparser.add_argument(
- '-G', '--generator', default='make', choices=('make',),
- help='specify the depfile type. Currently only make is supported.')
+ "-G",
+ "--generator",
+ default="make",
+ choices=("make",),
+ help="specify the depfile type. Currently only make is supported.",
+ )
def env_depfile(args):
# Currently only make is supported.
- spack.cmd.require_active_env(cmd_name='env depfile')
+ spack.cmd.require_active_env(cmd_name="env depfile")
env = ev.active_environment()
# Maps each hash in the environment to a string of install prereqs
@@ -554,7 +624,7 @@ def env_depfile(args):
hash_to_spec = {}
if args.make_target_prefix is None:
- target_prefix = os.path.join(env.env_subdir_path, 'makedeps')
+ target_prefix = os.path.join(env.env_subdir_path, "makedeps")
else:
target_prefix = args.make_target_prefix
@@ -563,19 +633,20 @@ def env_depfile(args):
# have /abs/path/to/env/metadir/{all,clean} targets. But it *does* make
# sense to have a prefix like `env/all`, `env/clean` when they are
# supposed to be included
- if name in ('all', 'clean') and os.path.isabs(target_prefix):
+ if name in ("all", "clean") and os.path.isabs(target_prefix):
return name
else:
return os.path.join(target_prefix, name)
def get_install_target(name):
- return os.path.join(target_prefix, '.install', name)
+ return os.path.join(target_prefix, ".install", name)
for _, spec in env.concretized_specs():
for s in spec.traverse(root=True):
hash_to_spec[s.dag_hash()] = s
hash_to_prereqs[s.dag_hash()] = [
- get_install_target(dep.dag_hash()) for dep in s.dependencies()]
+ get_install_target(dep.dag_hash()) for dep in s.dependencies()
+ ]
root_dags = [s.dag_hash() for _, s in env.concretized_specs()]
@@ -587,7 +658,8 @@ def env_depfile(args):
buf = six.StringIO()
- buf.write("""SPACK ?= spack
+ buf.write(
+ """SPACK ?= spack
.PHONY: {} {}
@@ -604,12 +676,21 @@ def env_depfile(args):
\t{}$(SPACK) -e '{}' install $(SPACK_INSTALL_FLAGS) --only-concrete --only=package \
--no-add /$(notdir $@) && touch $@
-""".format(get_target('all'), get_target('clean'),
- get_target('all'), get_target('env'),
- get_target('env'), ' '.join(root_install_targets),
- get_target('dirs'), get_target('.install'),
- get_target('.install/%'), get_target('dirs'),
- '+' if args.jobserver else '', env.path))
+""".format(
+ get_target("all"),
+ get_target("clean"),
+ get_target("all"),
+ get_target("env"),
+ get_target("env"),
+ " ".join(root_install_targets),
+ get_target("dirs"),
+ get_target(".install"),
+ get_target(".install/%"),
+ get_target("dirs"),
+ "+" if args.jobserver else "",
+ env.path,
+ )
+ )
# Targets are of the form <prefix>/<name>: [<prefix>/<depname>]...,
# The prefix can be an empty string, in that case we don't add the `/`.
@@ -617,37 +698,38 @@ def env_depfile(args):
# could be the package name in case of `concretization: together` so
# it can be more easily referred to, but for now we don't special case
# this.
- fmt = '{name}{@version}{%compiler}{variants}{arch=architecture}'
+ fmt = "{name}{@version}{%compiler}{variants}{arch=architecture}"
# Set SPEC for each hash
- buf.write('# Set the human-readable spec for each target\n')
+ buf.write("# Set the human-readable spec for each target\n")
for dag_hash in hash_to_prereqs.keys():
formatted_spec = hash_to_spec[dag_hash].format(fmt)
- buf.write("{}: SPEC = {}\n".format(get_target('%/' + dag_hash), formatted_spec))
- buf.write('\n')
+ buf.write("{}: SPEC = {}\n".format(get_target("%/" + dag_hash), formatted_spec))
+ buf.write("\n")
# Set install dependencies
- buf.write('# Install dependencies\n')
+ buf.write("# Install dependencies\n")
for parent, children in hash_to_prereqs.items():
if not children:
continue
- buf.write('{}: {}\n'.format(get_install_target(parent), ' '.join(children)))
- buf.write('\n')
+ buf.write("{}: {}\n".format(get_install_target(parent), " ".join(children)))
+ buf.write("\n")
# Clean target: remove target files but not their folders, cause
# --make-target-prefix can be any existing directory we do not control,
# including empty string (which means deleting the containing folder
# would delete the folder with the Makefile)
- buf.write("{}:\n\trm -f -- {} {}\n".format(
- get_target('clean'),
- get_target('env'),
- ' '.join(all_install_targets)))
+ buf.write(
+ "{}:\n\trm -f -- {} {}\n".format(
+ get_target("clean"), get_target("env"), " ".join(all_install_targets)
+ )
+ )
makefile = buf.getvalue()
# Finally write to stdout/file.
if args.output:
- with open(args.output, 'w') as f:
+ with open(args.output, "w") as f:
f.write(makefile)
else:
sys.stdout.write(makefile)
@@ -661,7 +743,7 @@ subcommand_functions = {}
# spack env
#
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='env_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="env_command")
for name in subcommands:
if isinstance(name, (list, tuple)):
@@ -670,17 +752,16 @@ def setup_parser(subparser):
aliases = []
# add commands to subcommands dict
- function_name = 'env_%s' % name
+ function_name = "env_%s" % name
function = globals()[function_name]
for alias in [name] + aliases:
subcommand_functions[alias] = function
# make a subparser and run the command's setup function on it
- setup_parser_cmd_name = 'env_%s_setup_parser' % name
+ setup_parser_cmd_name = "env_%s_setup_parser" % name
setup_parser_cmd = globals()[setup_parser_cmd_name]
- subsubparser = sp.add_parser(
- name, aliases=aliases, help=setup_parser_cmd.__doc__)
+ subsubparser = sp.add_parser(name, aliases=aliases, help=setup_parser_cmd.__doc__)
setup_parser_cmd(subsubparser)
diff --git a/lib/spack/spack/cmd/extensions.py b/lib/spack/spack/cmd/extensions.py
index 059b76e411..50f41529b2 100644
--- a/lib/spack/spack/cmd/extensions.py
+++ b/lib/spack/spack/cmd/extensions.py
@@ -22,25 +22,33 @@ level = "long"
def setup_parser(subparser):
- subparser.epilog = 'If called without argument returns ' \
- 'the list of all valid extendable packages'
- arguments.add_common_arguments(subparser, ['long', 'very_long'])
- subparser.add_argument('-d', '--deps', action='store_true',
- help='output dependencies along with found specs')
-
- subparser.add_argument('-p', '--paths', action='store_true',
- help='show paths to package install directories')
+ subparser.epilog = (
+ "If called without argument returns " "the list of all valid extendable packages"
+ )
+ arguments.add_common_arguments(subparser, ["long", "very_long"])
subparser.add_argument(
- '-s', '--show', action='store', default='all',
- choices=("packages", "installed", "activated", "all"),
- help="show only part of output")
+ "-d", "--deps", action="store_true", help="output dependencies along with found specs"
+ )
+
subparser.add_argument(
- '-v', '--view', metavar='VIEW', type=str,
- help="the view to operate on")
+ "-p", "--paths", action="store_true", help="show paths to package install directories"
+ )
+ subparser.add_argument(
+ "-s",
+ "--show",
+ action="store",
+ default="all",
+ choices=("packages", "installed", "activated", "all"),
+ help="show only part of output",
+ )
+ subparser.add_argument("-v", "--view", metavar="VIEW", type=str, help="the view to operate on")
subparser.add_argument(
- 'spec', nargs=argparse.REMAINDER,
- help='spec of package to list extensions for', metavar='extendable')
+ "spec",
+ nargs=argparse.REMAINDER,
+ help="spec of package to list extensions for",
+ metavar="extendable",
+ )
def extensions(parser, args):
@@ -48,7 +56,7 @@ def extensions(parser, args):
# If called without arguments, list all the extendable packages
isatty = sys.stdout.isatty()
if isatty:
- tty.info('Extendable packages:')
+ tty.info("Extendable packages:")
extendable_pkgs = []
for name in spack.repo.all_package_names():
@@ -92,8 +100,7 @@ def extensions(parser, args):
if args.show in ("installed", "all"):
# List specs of installed extensions.
- installed = [
- s.spec for s in spack.store.db.installed_extensions_for(spec)]
+ installed = [s.spec for s in spack.store.db.installed_extensions_for(spec)]
if args.show == "all":
print
diff --git a/lib/spack/spack/cmd/external.py b/lib/spack/spack/cmd/external.py
index 768ec2ebd2..993533d395 100644
--- a/lib/spack/spack/cmd/external.py
+++ b/lib/spack/spack/cmd/external.py
@@ -26,60 +26,68 @@ level = "short"
def setup_parser(subparser):
- sp = subparser.add_subparsers(
- metavar='SUBCOMMAND', dest='external_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="external_command")
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
- find_parser = sp.add_parser(
- 'find', help='add external packages to packages.yaml'
- )
+ find_parser = sp.add_parser("find", help="add external packages to packages.yaml")
find_parser.add_argument(
- '--not-buildable', action='store_true', default=False,
- help="packages with detected externals won't be built with Spack")
+ "--not-buildable",
+ action="store_true",
+ default=False,
+ help="packages with detected externals won't be built with Spack",
+ )
find_parser.add_argument(
- '-p', '--path', default=None, action='append',
- help="Alternative search paths for finding externals. May be repeated")
+ "-p",
+ "--path",
+ default=None,
+ action="append",
+ help="Alternative search paths for finding externals. May be repeated",
+ )
find_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
- default=spack.config.default_modify_scope('packages'),
- help="configuration scope to modify")
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
+ default=spack.config.default_modify_scope("packages"),
+ help="configuration scope to modify",
+ )
find_parser.add_argument(
- '--all', action='store_true',
- help="search for all packages that Spack knows about"
+ "--all", action="store_true", help="search for all packages that Spack knows about"
)
- spack.cmd.common.arguments.add_common_arguments(find_parser, ['tags'])
- find_parser.add_argument('packages', nargs=argparse.REMAINDER)
+ spack.cmd.common.arguments.add_common_arguments(find_parser, ["tags"])
+ find_parser.add_argument("packages", nargs=argparse.REMAINDER)
find_parser.epilog = (
'The search is by default on packages tagged with the "build-tools" or '
'"core-packages" tags. Use the --all option to search for every possible '
- 'package Spack knows how to find.'
+ "package Spack knows how to find."
)
- sp.add_parser(
- 'list', help='list detectable packages, by repository and name'
- )
+ sp.add_parser("list", help="list detectable packages, by repository and name")
read_cray_manifest = sp.add_parser(
- 'read-cray-manifest', help=(
+ "read-cray-manifest",
+ help=(
"consume a Spack-compatible description of externally-installed "
"packages, including dependency relationships"
- )
+ ),
)
read_cray_manifest.add_argument(
- '--file', default=None,
- help="specify a location other than the default")
+ "--file", default=None, help="specify a location other than the default"
+ )
read_cray_manifest.add_argument(
- '--directory', default=None,
- help="specify a directory storing a group of manifest files")
+ "--directory", default=None, help="specify a directory storing a group of manifest files"
+ )
read_cray_manifest.add_argument(
- '--dry-run', action='store_true', default=False,
- help="don't modify DB with files that are read")
+ "--dry-run",
+ action="store_true",
+ default=False,
+ help="don't modify DB with files that are read",
+ )
read_cray_manifest.add_argument(
- '--fail-on-error', action='store_true',
- help=("if a manifest file cannot be parsed, fail and report the "
- "full stack trace")
+ "--fail-on-error",
+ action="store_true",
+ help=("if a manifest file cannot be parsed, fail and report the " "full stack trace"),
)
@@ -98,21 +106,20 @@ def external_find(args):
# For most exceptions, just print a warning and continue.
# Note that KeyboardInterrupt does not subclass Exception
# (so CTRL-C will terminate the program as expected).
- skip_msg = ("Skipping manifest and continuing with other external "
- "checks")
- if ((isinstance(e, IOError) or isinstance(e, OSError)) and
- e.errno in [errno.EPERM, errno.EACCES]):
+ skip_msg = "Skipping manifest and continuing with other external " "checks"
+ if (isinstance(e, IOError) or isinstance(e, OSError)) and e.errno in [
+ errno.EPERM,
+ errno.EACCES,
+ ]:
# The manifest file does not have sufficient permissions enabled:
# print a warning and keep going
- tty.warn("Unable to read manifest due to insufficient "
- "permissions.", skip_msg)
+ tty.warn("Unable to read manifest due to insufficient " "permissions.", skip_msg)
else:
- tty.warn("Unable to read manifest, unexpected error: {0}"
- .format(str(e)), skip_msg)
+ tty.warn("Unable to read manifest, unexpected error: {0}".format(str(e)), skip_msg)
# If the user didn't specify anything, search for build tools by default
if not args.tags and not args.all and not args.packages:
- args.tags = ['core-packages', 'build-tools']
+ args.tags = ["core-packages", "build-tools"]
# If the user specified both --all and --tag, then --all has precedence
if args.all and args.tags:
@@ -123,9 +130,7 @@ def external_find(args):
# Add the packages that have been required explicitly
if args.packages:
- pkg_cls_to_check = [
- spack.repo.path.get_pkg_class(pkg) for pkg in args.packages
- ]
+ pkg_cls_to_check = [spack.repo.path.get_pkg_class(pkg) for pkg in args.packages]
if args.tags:
allowed = set(spack.repo.path.packages_with_tags(*args.tags))
pkg_cls_to_check = [x for x in pkg_cls_to_check if x.name in allowed]
@@ -146,22 +151,19 @@ def external_find(args):
if not args.tags and not pkg_cls_to_check:
pkg_cls_to_check = list(spack.repo.path.all_package_classes())
- detected_packages = spack.detection.by_executable(
- pkg_cls_to_check, path_hints=args.path)
- detected_packages.update(spack.detection.by_library(
- pkg_cls_to_check, path_hints=args.path))
+ detected_packages = spack.detection.by_executable(pkg_cls_to_check, path_hints=args.path)
+ detected_packages.update(spack.detection.by_library(pkg_cls_to_check, path_hints=args.path))
new_entries = spack.detection.update_configuration(
detected_packages, scope=args.scope, buildable=not args.not_buildable
)
if new_entries:
- path = spack.config.config.get_config_filename(args.scope, 'packages')
- msg = ('The following specs have been detected on this system '
- 'and added to {0}')
+ path = spack.config.config.get_config_filename(args.scope, "packages")
+ msg = "The following specs have been detected on this system " "and added to {0}"
tty.msg(msg.format(path))
spack.cmd.display_specs(new_entries)
else:
- tty.msg('No new external packages detected')
+ tty.msg("No new external packages detected")
def external_read_cray_manifest(args):
@@ -169,13 +171,13 @@ def external_read_cray_manifest(args):
manifest_file=args.file,
manifest_directory=args.directory,
dry_run=args.dry_run,
- fail_on_error=args.fail_on_error
+ fail_on_error=args.fail_on_error,
)
def _collect_and_consume_cray_manifest_files(
- manifest_file=None, manifest_directory=None, dry_run=False,
- fail_on_error=False):
+ manifest_file=None, manifest_directory=None, dry_run=False, fail_on_error=False
+):
manifest_files = []
if manifest_file:
@@ -187,24 +189,31 @@ def _collect_and_consume_cray_manifest_files(
if os.path.isdir(cray_manifest.default_path):
tty.debug(
- "Cray manifest path {0} exists: collecting all files to read."
- .format(cray_manifest.default_path))
+ "Cray manifest path {0} exists: collecting all files to read.".format(
+ cray_manifest.default_path
+ )
+ )
manifest_dirs.append(cray_manifest.default_path)
else:
- tty.debug("Default Cray manifest directory {0} does not exist."
- .format(cray_manifest.default_path))
+ tty.debug(
+ "Default Cray manifest directory {0} does not exist.".format(
+ cray_manifest.default_path
+ )
+ )
for directory in manifest_dirs:
for fname in os.listdir(directory):
- if fname.endswith('.json'):
+ if fname.endswith(".json"):
fpath = os.path.join(directory, fname)
tty.debug("Adding manifest file: {0}".format(fpath))
manifest_files.append(os.path.join(directory, fpath))
if not manifest_files:
raise NoManifestFileError(
- "--file/--directory not specified, and no manifest found at {0}"
- .format(cray_manifest.default_path))
+ "--file/--directory not specified, and no manifest found at {0}".format(
+ cray_manifest.default_path
+ )
+ )
for path in manifest_files:
tty.debug("Reading manifest file: " + path)
@@ -214,8 +223,7 @@ def _collect_and_consume_cray_manifest_files(
if fail_on_error:
raise
else:
- tty.warn("Failure reading manifest file: {0}"
- "\n\t{1}".format(path, str(e)))
+ tty.warn("Failure reading manifest file: {0}" "\n\t{1}".format(path, str(e)))
def external_list(args):
@@ -229,8 +237,11 @@ def external_list(args):
def external(parser, args):
- action = {'find': external_find, 'list': external_list,
- 'read-cray-manifest': external_read_cray_manifest}
+ action = {
+ "find": external_find,
+ "list": external_list,
+ "read-cray-manifest": external_read_cray_manifest,
+ }
action[args.external_command](args)
diff --git a/lib/spack/spack/cmd/fetch.py b/lib/spack/spack/cmd/fetch.py
index 8eb9fffa07..cbf71f9789 100644
--- a/lib/spack/spack/cmd/fetch.py
+++ b/lib/spack/spack/cmd/fetch.py
@@ -17,7 +17,7 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"])
subparser.add_argument(
"-m",
"--missing",
@@ -55,8 +55,7 @@ def fetch(parser, args):
specs = env.all_specs()
if specs == []:
tty.die(
- "No uninstalled specs in environment. Did you "
- "run `spack concretize` yet?"
+ "No uninstalled specs in environment. Did you " "run `spack concretize` yet?"
)
else:
tty.die("fetch requires at least one spec argument")
@@ -65,7 +64,7 @@ def fetch(parser, args):
spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
for spec in specs:
if args.missing or args.dependencies:
diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py
index 87bd164932..aea5829975 100644
--- a/lib/spack/spack/cmd/find.py
+++ b/lib/spack/spack/cmd/find.py
@@ -27,92 +27,127 @@ level = "short"
def setup_parser(subparser):
format_group = subparser.add_mutually_exclusive_group()
format_group.add_argument(
- "--format", action="store", default=None,
- help="output specs with the specified format string")
+ "--format",
+ action="store",
+ default=None,
+ help="output specs with the specified format string",
+ )
format_group.add_argument(
- "--json", action="store_true", default=False,
- help="output specs as machine-readable json records")
+ "--json",
+ action="store_true",
+ default=False,
+ help="output specs as machine-readable json records",
+ )
+
+ subparser.add_argument(
+ "-d", "--deps", action="store_true", help="output dependencies along with found specs"
+ )
+
+ subparser.add_argument(
+ "-p", "--paths", action="store_true", help="show paths to package install directories"
+ )
+ subparser.add_argument(
+ "--groups",
+ action="store_true",
+ default=None,
+ dest="groups",
+ help="display specs in arch/compiler groups (default on)",
+ )
+ subparser.add_argument(
+ "--no-groups",
+ action="store_false",
+ default=None,
+ dest="groups",
+ help="do not group specs by arch/compiler",
+ )
- subparser.add_argument('-d', '--deps', action='store_true',
- help='output dependencies along with found specs')
+ arguments.add_common_arguments(subparser, ["long", "very_long", "tags"])
- subparser.add_argument('-p', '--paths', action='store_true',
- help='show paths to package install directories')
subparser.add_argument(
- '--groups', action='store_true', default=None, dest='groups',
- help='display specs in arch/compiler groups (default on)')
+ "-c",
+ "--show-concretized",
+ action="store_true",
+ help="show concretized specs in an environment",
+ )
+ subparser.add_argument(
+ "-f",
+ "--show-flags",
+ action="store_true",
+ dest="show_flags",
+ help="show spec compiler flags",
+ )
subparser.add_argument(
- '--no-groups', action='store_false', default=None, dest='groups',
- help='do not group specs by arch/compiler')
-
- arguments.add_common_arguments(
- subparser, ['long', 'very_long', 'tags'])
-
- subparser.add_argument('-c', '--show-concretized',
- action='store_true',
- help='show concretized specs in an environment')
- subparser.add_argument('-f', '--show-flags',
- action='store_true',
- dest='show_flags',
- help='show spec compiler flags')
- subparser.add_argument('--show-full-compiler',
- action='store_true',
- dest='show_full_compiler',
- help='show full compiler specs')
+ "--show-full-compiler",
+ action="store_true",
+ dest="show_full_compiler",
+ help="show full compiler specs",
+ )
implicit_explicit = subparser.add_mutually_exclusive_group()
implicit_explicit.add_argument(
- '-x', '--explicit',
- action='store_true',
- help='show only specs that were installed explicitly')
+ "-x",
+ "--explicit",
+ action="store_true",
+ help="show only specs that were installed explicitly",
+ )
implicit_explicit.add_argument(
- '-X', '--implicit',
- action='store_true',
- help='show only specs that were installed as dependencies')
+ "-X",
+ "--implicit",
+ action="store_true",
+ help="show only specs that were installed as dependencies",
+ )
subparser.add_argument(
- '-u', '--unknown',
- action='store_true',
- dest='unknown',
- help='show only specs Spack does not have a package for')
+ "-u",
+ "--unknown",
+ action="store_true",
+ dest="unknown",
+ help="show only specs Spack does not have a package for",
+ )
subparser.add_argument(
- '-m', '--missing',
- action='store_true',
- dest='missing',
- help='show missing dependencies as well as installed specs')
+ "-m",
+ "--missing",
+ action="store_true",
+ dest="missing",
+ help="show missing dependencies as well as installed specs",
+ )
subparser.add_argument(
- '-v', '--variants',
- action='store_true',
- dest='variants',
- help='show variants in output (can be long)')
+ "-v",
+ "--variants",
+ action="store_true",
+ dest="variants",
+ help="show variants in output (can be long)",
+ )
subparser.add_argument(
- '--loaded', action='store_true',
- help='show only packages loaded in the user environment')
- subparser.add_argument('-M', '--only-missing',
- action='store_true',
- dest='only_missing',
- help='show only missing dependencies')
+ "--loaded", action="store_true", help="show only packages loaded in the user environment"
+ )
subparser.add_argument(
- '--deprecated', action='store_true',
- help='show deprecated packages as well as installed specs')
+ "-M",
+ "--only-missing",
+ action="store_true",
+ dest="only_missing",
+ help="show only missing dependencies",
+ )
subparser.add_argument(
- '--only-deprecated', action='store_true',
- help='show only deprecated packages')
- subparser.add_argument('-N', '--namespace',
- action='store_true',
- help='show fully qualified package names')
-
+ "--deprecated",
+ action="store_true",
+ help="show deprecated packages as well as installed specs",
+ )
subparser.add_argument(
- '--start-date',
- help='earliest date of installation [YYYY-MM-DD]'
+ "--only-deprecated", action="store_true", help="show only deprecated packages"
)
subparser.add_argument(
- '--end-date', help='latest date of installation [YYYY-MM-DD]'
+ "-N", "--namespace", action="store_true", help="show fully qualified package names"
)
+
+ subparser.add_argument("--start-date", help="earliest date of installation [YYYY-MM-DD]")
+ subparser.add_argument("--end-date", help="latest date of installation [YYYY-MM-DD]")
subparser.add_argument(
- '-b', '--bootstrap', action='store_true',
- help='show software in the internal bootstrap store'
+ "-b",
+ "--bootstrap",
+ action="store_true",
+ help="show software in the internal bootstrap store",
)
- arguments.add_common_arguments(subparser, ['constraint'])
+ arguments.add_common_arguments(subparser, ["constraint"])
def query_arguments(args):
@@ -135,10 +170,10 @@ def query_arguments(args):
if args.implicit:
explicit = False
- q_args = {'installed': installed, 'known': known, "explicit": explicit}
+ q_args = {"installed": installed, "known": known, "explicit": explicit}
# Time window of installation
- for attribute in ('start_date', 'end_date'):
+ for attribute in ("start_date", "end_date"):
date = getattr(args, attribute)
if date:
q_args[attribute] = llnl.util.lang.pretty_string_to_date(date)
@@ -150,7 +185,7 @@ def setup_env(env):
"""Create a function for decorating specs when in an environment."""
def strip_build(seq):
- return set(s.copy(deps=('link', 'run')) for s in seq)
+ return set(s.copy(deps=("link", "run")) for s in seq)
added = set(strip_build(env.added_specs()))
roots = set(strip_build(env.roots()))
@@ -159,22 +194,22 @@ def setup_env(env):
def decorator(spec, fmt):
# add +/-/* to show added/removed/root specs
if any(spec.dag_hash() == r.dag_hash() for r in roots):
- return color.colorize('@*{%s}' % fmt)
+ return color.colorize("@*{%s}" % fmt)
elif spec in removed:
- return color.colorize('@K{%s}' % fmt)
+ return color.colorize("@K{%s}" % fmt)
else:
- return '%s' % fmt
+ return "%s" % fmt
return decorator, added, roots, removed
def display_env(env, args, decorator):
- tty.msg('In environment %s' % env.name)
+ tty.msg("In environment %s" % env.name)
if not env.user_specs:
- tty.msg('No root specs')
+ tty.msg("No root specs")
else:
- tty.msg('Root specs')
+ tty.msg("Root specs")
# Root specs cannot be displayed with prefixes, since those are not
# set for abstract specs. Same for hashes
@@ -186,18 +221,17 @@ def display_env(env, args, decorator):
cmd.display_specs(
env.user_specs,
root_args,
- decorator=lambda s, f: color.colorize('@*{%s}' % f),
+ decorator=lambda s, f: color.colorize("@*{%s}" % f),
namespace=True,
show_flags=True,
show_full_compiler=True,
- variants=True
+ variants=True,
)
print()
if args.show_concretized:
- tty.msg('Concretized roots')
- cmd.display_specs(
- env.specs_by_hash.values(), args, decorator=decorator)
+ tty.msg("Concretized roots")
+ cmd.display_specs(env.specs_by_hash.values(), args, decorator=decorator)
print()
@@ -205,7 +239,7 @@ def find(parser, args):
if args.bootstrap:
tty.warn(
"`spack find --bootstrap` is deprecated and will be removed in v0.19.",
- "Use `spack --bootstrap find` instead."
+ "Use `spack --bootstrap find` instead.",
)
if args.bootstrap:
@@ -234,7 +268,7 @@ def _find(parser, args):
# Exit early with an error code if no package matches the constraint
if not results and args.constraint:
msg = "No package matches the query: {0}"
- msg = msg.format(' '.join(args.constraint))
+ msg = msg.format(" ".join(args.constraint))
tty.msg(msg)
raise SystemExit(1)
@@ -258,5 +292,4 @@ def _find(parser, args):
pkg_type = "loaded" if args.loaded else "installed"
spack.cmd.print_how_many_pkgs(results, pkg_type)
- cmd.display_specs(
- results, args, decorator=decorator, all_headers=True)
+ cmd.display_specs(results, args, decorator=decorator, all_headers=True)
diff --git a/lib/spack/spack/cmd/gc.py b/lib/spack/spack/cmd/gc.py
index 7ccbbb9120..dd7ede2411 100644
--- a/lib/spack/spack/cmd/gc.py
+++ b/lib/spack/spack/cmd/gc.py
@@ -16,7 +16,7 @@ level = "short"
def setup_parser(subparser):
- spack.cmd.common.arguments.add_common_arguments(subparser, ['yes_to_all'])
+ spack.cmd.common.arguments.add_common_arguments(subparser, ["yes_to_all"])
def gc(parser, args):
@@ -31,8 +31,7 @@ def gc(parser, args):
env.concretize()
roots = [s for s in env.roots()]
all_hashes = set([s.dag_hash() for r in roots for s in r.traverse()])
- lr_hashes = set([s.dag_hash() for r in roots
- for s in r.traverse(deptype=('link', 'run'))])
+ lr_hashes = set([s.dag_hash() for r in roots for s in r.traverse(deptype=("link", "run"))])
maybe_to_be_removed = all_hashes - lr_hashes
specs = [s for s in specs if s.dag_hash() in maybe_to_be_removed]
diff --git a/lib/spack/spack/cmd/gpg.py b/lib/spack/spack/cmd/gpg.py
index 4c8b1ca6ee..35f10a680f 100644
--- a/lib/spack/spack/cmd/gpg.py
+++ b/lib/spack/spack/cmd/gpg.py
@@ -19,100 +19,109 @@ level = "long"
def setup_parser(subparser):
setup_parser.parser = subparser
- subparsers = subparser.add_subparsers(help='GPG sub-commands')
+ subparsers = subparser.add_subparsers(help="GPG sub-commands")
- verify = subparsers.add_parser('verify', help=gpg_verify.__doc__)
- arguments.add_common_arguments(verify, ['installed_spec'])
- verify.add_argument('signature', type=str, nargs='?',
- help='the signature file')
+ verify = subparsers.add_parser("verify", help=gpg_verify.__doc__)
+ arguments.add_common_arguments(verify, ["installed_spec"])
+ verify.add_argument("signature", type=str, nargs="?", help="the signature file")
verify.set_defaults(func=gpg_verify)
- trust = subparsers.add_parser('trust', help=gpg_trust.__doc__)
- trust.add_argument('keyfile', type=str,
- help='add a key to the trust store')
+ trust = subparsers.add_parser("trust", help=gpg_trust.__doc__)
+ trust.add_argument("keyfile", type=str, help="add a key to the trust store")
trust.set_defaults(func=gpg_trust)
- untrust = subparsers.add_parser('untrust', help=gpg_untrust.__doc__)
- untrust.add_argument('--signing', action='store_true',
- help='allow untrusting signing keys')
- untrust.add_argument('keys', nargs='+', type=str,
- help='remove keys from the trust store')
+ untrust = subparsers.add_parser("untrust", help=gpg_untrust.__doc__)
+ untrust.add_argument("--signing", action="store_true", help="allow untrusting signing keys")
+ untrust.add_argument("keys", nargs="+", type=str, help="remove keys from the trust store")
untrust.set_defaults(func=gpg_untrust)
- sign = subparsers.add_parser('sign', help=gpg_sign.__doc__)
- sign.add_argument('--output', metavar='DEST', type=str,
- help='the directory to place signatures')
- sign.add_argument('--key', metavar='KEY', type=str,
- help='the key to use for signing')
- sign.add_argument('--clearsign', action='store_true',
- help='if specified, create a clearsign signature')
- arguments.add_common_arguments(sign, ['installed_spec'])
+ sign = subparsers.add_parser("sign", help=gpg_sign.__doc__)
+ sign.add_argument(
+ "--output", metavar="DEST", type=str, help="the directory to place signatures"
+ )
+ sign.add_argument("--key", metavar="KEY", type=str, help="the key to use for signing")
+ sign.add_argument(
+ "--clearsign", action="store_true", help="if specified, create a clearsign signature"
+ )
+ arguments.add_common_arguments(sign, ["installed_spec"])
sign.set_defaults(func=gpg_sign)
- create = subparsers.add_parser('create', help=gpg_create.__doc__)
- create.add_argument('name', type=str,
- help='the name to use for the new key')
- create.add_argument('email', type=str,
- help='the email address to use for the new key')
- create.add_argument('--comment', metavar='COMMENT', type=str,
- default='GPG created for Spack',
- help='a description for the intended use of the key')
- create.add_argument('--expires', metavar='EXPIRATION', type=str,
- default='0', help='when the key should expire')
- create.add_argument('--export', metavar='DEST', type=str,
- help='export the public key to a file')
- create.add_argument('--export-secret', metavar="DEST", type=str,
- dest="secret",
- help='export the private key to a file.')
+ create = subparsers.add_parser("create", help=gpg_create.__doc__)
+ create.add_argument("name", type=str, help="the name to use for the new key")
+ create.add_argument("email", type=str, help="the email address to use for the new key")
+ create.add_argument(
+ "--comment",
+ metavar="COMMENT",
+ type=str,
+ default="GPG created for Spack",
+ help="a description for the intended use of the key",
+ )
+ create.add_argument(
+ "--expires", metavar="EXPIRATION", type=str, default="0", help="when the key should expire"
+ )
+ create.add_argument(
+ "--export", metavar="DEST", type=str, help="export the public key to a file"
+ )
+ create.add_argument(
+ "--export-secret",
+ metavar="DEST",
+ type=str,
+ dest="secret",
+ help="export the private key to a file.",
+ )
create.set_defaults(func=gpg_create)
- list = subparsers.add_parser('list', help=gpg_list.__doc__)
- list.add_argument('--trusted', action='store_true',
- default=True, help='list trusted keys')
- list.add_argument('--signing', action='store_true',
- help='list keys which may be used for signing')
+ list = subparsers.add_parser("list", help=gpg_list.__doc__)
+ list.add_argument("--trusted", action="store_true", default=True, help="list trusted keys")
+ list.add_argument(
+ "--signing", action="store_true", help="list keys which may be used for signing"
+ )
list.set_defaults(func=gpg_list)
- init = subparsers.add_parser('init', help=gpg_init.__doc__)
- init.add_argument('--from', metavar='DIR', type=str,
- dest='import_dir', help=argparse.SUPPRESS)
+ init = subparsers.add_parser("init", help=gpg_init.__doc__)
+ init.add_argument("--from", metavar="DIR", type=str, dest="import_dir", help=argparse.SUPPRESS)
init.set_defaults(func=gpg_init)
- export = subparsers.add_parser('export', help=gpg_export.__doc__)
- export.add_argument('location', type=str,
- help='where to export keys')
- export.add_argument('keys', nargs='*',
- help='the keys to export; '
- 'all public keys if unspecified')
- export.add_argument('--secret', action='store_true',
- help='export secret keys')
+ export = subparsers.add_parser("export", help=gpg_export.__doc__)
+ export.add_argument("location", type=str, help="where to export keys")
+ export.add_argument(
+ "keys", nargs="*", help="the keys to export; " "all public keys if unspecified"
+ )
+ export.add_argument("--secret", action="store_true", help="export secret keys")
export.set_defaults(func=gpg_export)
- publish = subparsers.add_parser('publish', help=gpg_publish.__doc__)
+ publish = subparsers.add_parser("publish", help=gpg_publish.__doc__)
output = publish.add_mutually_exclusive_group(required=True)
- output.add_argument('-d', '--directory',
- metavar='directory',
- type=str,
- help="local directory where " +
- "keys will be published.")
- output.add_argument('-m', '--mirror-name',
- metavar='mirror-name',
- type=str,
- help="name of the mirror where " +
- "keys will be published.")
- output.add_argument('--mirror-url',
- metavar='mirror-url',
- type=str,
- help="URL of the mirror where " +
- "keys will be published.")
- publish.add_argument('--rebuild-index', action='store_true',
- default=False, help=(
- "Regenerate buildcache key index "
- "after publishing key(s)"))
- publish.add_argument('keys', nargs='*',
- help='the keys to publish; '
- 'all public keys if unspecified')
+ output.add_argument(
+ "-d",
+ "--directory",
+ metavar="directory",
+ type=str,
+ help="local directory where " + "keys will be published.",
+ )
+ output.add_argument(
+ "-m",
+ "--mirror-name",
+ metavar="mirror-name",
+ type=str,
+ help="name of the mirror where " + "keys will be published.",
+ )
+ output.add_argument(
+ "--mirror-url",
+ metavar="mirror-url",
+ type=str,
+ help="URL of the mirror where " + "keys will be published.",
+ )
+ publish.add_argument(
+ "--rebuild-index",
+ action="store_true",
+ default=False,
+ help=("Regenerate buildcache key index " "after publishing key(s)"),
+ )
+ publish.add_argument(
+ "keys", nargs="*", help="the keys to publish; " "all public keys if unspecified"
+ )
publish.set_defaults(func=gpg_publish)
@@ -122,8 +131,9 @@ def gpg_create(args):
old_sec_keys = spack.util.gpg.signing_keys()
# Create the new key
- spack.util.gpg.create(name=args.name, email=args.email,
- comment=args.comment, expires=args.expires)
+ spack.util.gpg.create(
+ name=args.name, email=args.email, comment=args.comment, expires=args.expires
+ )
if args.export or args.secret:
new_sec_keys = set(spack.util.gpg.signing_keys())
new_keys = new_sec_keys.difference(old_sec_keys)
@@ -155,15 +165,14 @@ def gpg_sign(args):
if len(keys) == 1:
key = keys[0]
elif not keys:
- raise RuntimeError('no signing keys are available')
+ raise RuntimeError("no signing keys are available")
else:
- raise RuntimeError('multiple signing keys are available; '
- 'please choose one')
+ raise RuntimeError("multiple signing keys are available; " "please choose one")
output = args.output
if not output:
- output = args.spec[0] + '.asc'
+ output = args.spec[0] + ".asc"
# TODO: Support the package format Spack creates.
- spack.util.gpg.sign(key, ' '.join(args.spec), output, args.clearsign)
+ spack.util.gpg.sign(key, " ".join(args.spec), output, args.clearsign)
def gpg_trust(args):
@@ -179,7 +188,7 @@ def gpg_init(args):
for root, _, filenames in os.walk(import_dir):
for filename in filenames:
- if not filename.endswith('.key'):
+ if not filename.endswith(".key"):
continue
spack.util.gpg.trust(os.path.join(root, filename))
@@ -194,8 +203,8 @@ def gpg_verify(args):
# TODO: Support the package format Spack creates.
signature = args.signature
if signature is None:
- signature = args.spec[0] + '.asc'
- spack.util.gpg.verify(signature, ' '.join(args.spec))
+ signature = args.spec[0] + ".asc"
+ spack.util.gpg.verify(signature, " ".join(args.spec))
def gpg_publish(args):
@@ -210,7 +219,8 @@ def gpg_publish(args):
mirror = spack.mirror.Mirror(args.mirror_url, args.mirror_url)
spack.binary_distribution.push_keys(
- mirror, keys=args.keys, regenerate_index=args.rebuild_index)
+ mirror, keys=args.keys, regenerate_index=args.rebuild_index
+ )
def gpg(parser, args):
diff --git a/lib/spack/spack/cmd/graph.py b/lib/spack/spack/cmd/graph.py
index 8a2bb0a104..a743f7258e 100644
--- a/lib/spack/spack/cmd/graph.py
+++ b/lib/spack/spack/cmd/graph.py
@@ -24,21 +24,27 @@ def setup_parser(subparser):
method = subparser.add_mutually_exclusive_group()
method.add_argument(
- '-a', '--ascii', action='store_true',
- help="draw graph as ascii to stdout (default)")
+ "-a", "--ascii", action="store_true", help="draw graph as ascii to stdout (default)"
+ )
method.add_argument(
- '-d', '--dot', action='store_true',
- help="generate graph in dot format and print to stdout")
+ "-d", "--dot", action="store_true", help="generate graph in dot format and print to stdout"
+ )
subparser.add_argument(
- '-s', '--static', action='store_true',
- help="graph static (possible) deps, don't concretize (implies --dot)")
+ "-s",
+ "--static",
+ action="store_true",
+ help="graph static (possible) deps, don't concretize (implies --dot)",
+ )
subparser.add_argument(
- '-i', '--installed', action='store_true',
- help="graph installed specs, or specs in the active env (implies --dot)")
+ "-i",
+ "--installed",
+ action="store_true",
+ help="graph installed specs, or specs in the active env (implies --dot)",
+ )
- arguments.add_common_arguments(subparser, ['deptype', 'specs'])
+ arguments.add_common_arguments(subparser, ["deptype", "specs"])
def graph(parser, args):
@@ -67,7 +73,7 @@ def graph(parser, args):
graph_dot(specs, static=args.static, deptype=args.deptype)
elif specs: # ascii is default: user doesn't need to provide it explicitly
- debug = spack.config.get('config:debug')
+ debug = spack.config.get("config:debug")
graph_ascii(specs[0], debug=debug, deptype=args.deptype)
for spec in specs[1:]:
print() # extra line bt/w independent graphs
diff --git a/lib/spack/spack/cmd/help.py b/lib/spack/spack/cmd/help.py
index 62d49d3605..b4258aa191 100644
--- a/lib/spack/spack/cmd/help.py
+++ b/lib/spack/spack/cmd/help.py
@@ -79,24 +79,35 @@ spec expression syntax:
guides = {
- 'spec': spec_guide,
+ "spec": spec_guide,
}
def setup_parser(subparser):
help_cmd_group = subparser.add_mutually_exclusive_group()
- help_cmd_group.add_argument('help_command', nargs='?', default=None,
- help='command to get help on')
+ help_cmd_group.add_argument(
+ "help_command", nargs="?", default=None, help="command to get help on"
+ )
help_all_group = subparser.add_mutually_exclusive_group()
help_all_group.add_argument(
- '-a', '--all', action='store_const', const='long', default='short',
- help='list all available commands and options')
+ "-a",
+ "--all",
+ action="store_const",
+ const="long",
+ default="short",
+ help="list all available commands and options",
+ )
help_spec_group = subparser.add_mutually_exclusive_group()
help_spec_group.add_argument(
- '--spec', action='store_const', dest='guide', const='spec',
- default=None, help='help on the package specification syntax')
+ "--spec",
+ action="store_const",
+ dest="guide",
+ const="spec",
+ default=None,
+ help="help on the package specification syntax",
+ )
def help(parser, args):
@@ -106,6 +117,6 @@ def help(parser, args):
if args.help_command:
parser.add_command(args.help_command)
- parser.parse_args([args.help_command, '-h'])
+ parser.parse_args([args.help_command, "-h"])
else:
sys.stdout.write(parser.format_help(level=args.all))
diff --git a/lib/spack/spack/cmd/info.py b/lib/spack/spack/cmd/info.py
index 0f0b26c334..97417eed3a 100644
--- a/lib/spack/spack/cmd/info.py
+++ b/lib/spack/spack/cmd/info.py
@@ -20,12 +20,12 @@ import spack.repo
import spack.spec
from spack.package_base import has_test_method, preferred_version
-description = 'get detailed information on a particular package'
-section = 'basic'
-level = 'short'
+description = "get detailed information on a particular package"
+section = "basic"
+level = "short"
-header_color = '@*b'
-plain_format = '@.'
+header_color = "@*b"
+plain_format = "@."
def padder(str_list, extra=0):
@@ -35,31 +35,31 @@ def padder(str_list, extra=0):
def pad(string):
string = str(string)
padding = max(0, length - len(string))
- return string + (padding * ' ')
+ return string + (padding * " ")
+
return pad
def setup_parser(subparser):
subparser.add_argument(
- '-a', '--all', action='store_true', default=False,
- help="output all package information"
+ "-a", "--all", action="store_true", default=False, help="output all package information"
)
options = [
- ('--detectable', print_detectable.__doc__),
- ('--maintainers', print_maintainers.__doc__),
- ('--no-dependencies', 'do not ' + print_dependencies.__doc__),
- ('--no-variants', 'do not ' + print_variants.__doc__),
- ('--no-versions', 'do not ' + print_versions.__doc__),
- ('--phases', print_phases.__doc__),
- ('--tags', print_tags.__doc__),
- ('--tests', print_tests.__doc__),
- ('--virtuals', print_virtuals.__doc__),
+ ("--detectable", print_detectable.__doc__),
+ ("--maintainers", print_maintainers.__doc__),
+ ("--no-dependencies", "do not " + print_dependencies.__doc__),
+ ("--no-variants", "do not " + print_variants.__doc__),
+ ("--no-versions", "do not " + print_versions.__doc__),
+ ("--phases", print_phases.__doc__),
+ ("--tags", print_tags.__doc__),
+ ("--tests", print_tests.__doc__),
+ ("--virtuals", print_virtuals.__doc__),
]
for opt, help_comment in options:
- subparser.add_argument(opt, action='store_true', help=help_comment)
+ subparser.add_argument(opt, action="store_true", help=help_comment)
- arguments.add_common_arguments(subparser, ['package'])
+ arguments.add_common_arguments(subparser, ["package"])
def section_title(s):
@@ -77,10 +77,10 @@ def variant(s):
class VariantFormatter(object):
def __init__(self, variants):
self.variants = variants
- self.headers = ('Name [Default]', 'When', 'Allowed values', 'Description')
+ self.headers = ("Name [Default]", "When", "Allowed values", "Description")
# Formats
- fmt_name = '{0} [{1}]'
+ fmt_name = "{0} [{1}]"
# Initialize column widths with the length of the
# corresponding headers, as they cannot be shorter
@@ -94,14 +94,14 @@ class VariantFormatter(object):
len(fmt_name.format(k, self.default(v))), # Name [Default]
len(str(w)),
len(v.allowed_values), # Allowed values
- len(v.description) # Description
+ len(v.description), # Description
)
self.column_widths = (
max(self.column_widths[0], candidate_max_widths[0]),
max(self.column_widths[1], candidate_max_widths[1]),
max(self.column_widths[2], candidate_max_widths[2]),
- max(self.column_widths[3], candidate_max_widths[3])
+ max(self.column_widths[3], candidate_max_widths[3]),
)
# Don't let name or possible values be less than max widths
@@ -122,11 +122,11 @@ class VariantFormatter(object):
self.fmt = "%%-%ss%%-%ss%%-%ss%%s" % (
self.column_widths[0] + 4,
self.column_widths[1] + 4,
- self.column_widths[2] + 4
+ self.column_widths[2] + 4,
)
def default(self, v):
- s = 'on' if v.default is True else 'off'
+ s = "on" if v.default is True else "off"
if not isinstance(v.default, bool):
s = v.default
return s
@@ -134,91 +134,88 @@ class VariantFormatter(object):
@property
def lines(self):
if not self.variants:
- yield ' None'
+ yield " None"
else:
- yield ' ' + self.fmt % self.headers
+ yield " " + self.fmt % self.headers
underline = tuple([w * "=" for w in self.column_widths])
- yield ' ' + self.fmt % underline
- yield ''
+ yield " " + self.fmt % underline
+ yield ""
for k, e in sorted(self.variants.items()):
v, w = e
name = textwrap.wrap(
- '{0} [{1}]'.format(k, self.default(v)),
- width=self.column_widths[0]
+ "{0} [{1}]".format(k, self.default(v)), width=self.column_widths[0]
)
if len(w) == 1:
w = w[0]
if w == spack.spec.Spec():
- w = '--'
+ w = "--"
when = textwrap.wrap(str(w), width=self.column_widths[1])
- allowed = v.allowed_values.replace('True, False', 'on, off')
+ allowed = v.allowed_values.replace("True, False", "on, off")
allowed = textwrap.wrap(allowed, width=self.column_widths[2])
description = []
- for d_line in v.description.split('\n'):
- description += textwrap.wrap(
- d_line,
- width=self.column_widths[3]
- )
- for t in zip_longest(
- name, when, allowed, description, fillvalue=''
- ):
+ for d_line in v.description.split("\n"):
+ description += textwrap.wrap(d_line, width=self.column_widths[3])
+ for t in zip_longest(name, when, allowed, description, fillvalue=""):
yield " " + self.fmt % t
def print_dependencies(pkg):
"""output build, link, and run package dependencies"""
- for deptype in ('build', 'link', 'run'):
- color.cprint('')
- color.cprint(section_title('%s Dependencies:' % deptype.capitalize()))
+ for deptype in ("build", "link", "run"):
+ color.cprint("")
+ color.cprint(section_title("%s Dependencies:" % deptype.capitalize()))
deps = sorted(pkg.dependencies_of_type(deptype))
if deps:
colify(deps, indent=4)
else:
- color.cprint(' None')
+ color.cprint(" None")
def print_detectable(pkg):
"""output information on external detection"""
- color.cprint('')
- color.cprint(section_title('Externally Detectable: '))
+ color.cprint("")
+ color.cprint(section_title("Externally Detectable: "))
# If the package has an 'executables' of 'libraries' field, it
# can detect an installation
- if hasattr(pkg, 'executables') or hasattr(pkg, 'libraries'):
+ if hasattr(pkg, "executables") or hasattr(pkg, "libraries"):
find_attributes = []
- if hasattr(pkg, 'determine_version'):
- find_attributes.append('version')
+ if hasattr(pkg, "determine_version"):
+ find_attributes.append("version")
- if hasattr(pkg, 'determine_variants'):
- find_attributes.append('variants')
+ if hasattr(pkg, "determine_variants"):
+ find_attributes.append("variants")
# If the package does not define 'determine_version' nor
# 'determine_variants', then it must use some custom detection
# mechanism. In this case, just inform the user it's detectable somehow.
- color.cprint(' True{0}'.format(
- ' (' + ', '.join(find_attributes) + ')' if find_attributes else ''))
+ color.cprint(
+ " True{0}".format(
+ " (" + ", ".join(find_attributes) + ")" if find_attributes else ""
+ )
+ )
else:
- color.cprint(' False')
+ color.cprint(" False")
def print_maintainers(pkg):
"""output package maintainers"""
if len(pkg.maintainers) > 0:
- mnt = " ".join(['@@' + m for m in pkg.maintainers])
- color.cprint('')
- color.cprint(section_title('Maintainers: ') + mnt)
+ mnt = " ".join(["@@" + m for m in pkg.maintainers])
+ color.cprint("")
+ color.cprint(section_title("Maintainers: ") + mnt)
def print_phases(pkg):
"""output installation phases"""
- if hasattr(pkg, 'phases') and pkg.phases:
- color.cprint('')
- color.cprint(section_title('Installation Phases:'))
- phase_str = ''
+ if hasattr(pkg, "phases") and pkg.phases:
+ color.cprint("")
+ color.cprint(section_title("Installation Phases:"))
+ phase_str = ""
for phase in pkg.phases:
phase_str += " {0}".format(phase)
color.cprint(phase_str)
@@ -227,9 +224,9 @@ def print_phases(pkg):
def print_tags(pkg):
"""output package tags"""
- color.cprint('')
+ color.cprint("")
color.cprint(section_title("Tags: "))
- if hasattr(pkg, 'tags'):
+ if hasattr(pkg, "tags"):
tags = sorted(pkg.tags)
colify(tags, indent=4)
else:
@@ -246,11 +243,12 @@ def print_tests(pkg):
#
# So the presence of a callback in Spack does not necessarily correspond
# to the actual presence of built-time tests for a package.
- for callbacks, phase in [(pkg.build_time_test_callbacks, 'Build'),
- (pkg.install_time_test_callbacks, 'Install')]:
- color.cprint('')
- color.cprint(section_title('Available {0} Phase Test Methods:'
- .format(phase)))
+ for callbacks, phase in [
+ (pkg.build_time_test_callbacks, "Build"),
+ (pkg.install_time_test_callbacks, "Install"),
+ ]:
+ color.cprint("")
+ color.cprint(section_title("Available {0} Phase Test Methods:".format(phase)))
names = []
if callbacks:
for name in callbacks:
@@ -260,18 +258,21 @@ def print_tests(pkg):
if names:
colify(sorted(names), indent=4)
else:
- color.cprint(' None')
+ color.cprint(" None")
# PackageBase defines an empty install/smoke test but we want to know
# if it has been overridden and, therefore, assumed to be implemented.
- color.cprint('')
- color.cprint(section_title('Stand-Alone/Smoke Test Methods:'))
+ color.cprint("")
+ color.cprint(section_title("Stand-Alone/Smoke Test Methods:"))
names = []
pkg_cls = pkg if inspect.isclass(pkg) else pkg.__class__
if has_test_method(pkg_cls):
pkg_base = spack.package_base.PackageBase
- test_pkgs = [str(cls.test) for cls in inspect.getmro(pkg_cls) if
- issubclass(cls, pkg_base) and cls.test != pkg_base.test]
+ test_pkgs = [
+ str(cls.test)
+ for cls in inspect.getmro(pkg_cls)
+ if issubclass(cls, pkg_base) and cls.test != pkg_base.test
+ ]
test_pkgs = list(set(test_pkgs))
names.extend([(test.split()[1]).lower() for test in test_pkgs])
@@ -282,11 +283,11 @@ def print_tests(pkg):
# hack for compilers that are not dependencies (yet)
# TODO: this all eventually goes away
- c_names = ('gcc', 'intel', 'intel-parallel-studio', 'pgi')
+ c_names = ("gcc", "intel", "intel-parallel-studio", "pgi")
if pkg.name in c_names:
- v_names.extend(['c', 'cxx', 'fortran'])
- if pkg.spec.satisfies('llvm+clang'):
- v_names.extend(['c', 'cxx'])
+ v_names.extend(["c", "cxx", "fortran"])
+ if pkg.spec.satisfies("llvm+clang"):
+ v_names.extend(["c", "cxx"])
# TODO Refactor END
v_specs = [spack.spec.Spec(v_name) for v_name in v_names]
@@ -294,21 +295,21 @@ def print_tests(pkg):
try:
pkg_cls = spack.repo.path.get_pkg_class(v_spec.name)
if has_test_method(pkg_cls):
- names.append('{0}.test'.format(pkg_cls.name.lower()))
+ names.append("{0}.test".format(pkg_cls.name.lower()))
except spack.repo.UnknownPackageError:
pass
if names:
colify(sorted(names), indent=4)
else:
- color.cprint(' None')
+ color.cprint(" None")
def print_variants(pkg):
"""output variants"""
- color.cprint('')
- color.cprint(section_title('Variants:'))
+ color.cprint("")
+ color.cprint(section_title("Variants:"))
formatter = VariantFormatter(pkg.variants)
for line in formatter.lines:
@@ -318,26 +319,26 @@ def print_variants(pkg):
def print_versions(pkg):
"""output versions"""
- color.cprint('')
- color.cprint(section_title('Preferred version: '))
+ color.cprint("")
+ color.cprint(section_title("Preferred version: "))
if not pkg.versions:
- color.cprint(version(' None'))
- color.cprint('')
- color.cprint(section_title('Safe versions: '))
- color.cprint(version(' None'))
- color.cprint('')
- color.cprint(section_title('Deprecated versions: '))
- color.cprint(version(' None'))
+ color.cprint(version(" None"))
+ color.cprint("")
+ color.cprint(section_title("Safe versions: "))
+ color.cprint(version(" None"))
+ color.cprint("")
+ color.cprint(section_title("Deprecated versions: "))
+ color.cprint(version(" None"))
else:
pad = padder(pkg.versions, 4)
preferred = preferred_version(pkg)
- url = ''
+ url = ""
if pkg.has_code:
url = fs.for_package_version(pkg, preferred)
- line = version(' {0}'.format(pad(preferred))) + color.cescape(url)
+ line = version(" {0}".format(pad(preferred))) + color.cescape(url)
color.cprint(line)
safe = []
@@ -345,28 +346,28 @@ def print_versions(pkg):
for v in reversed(sorted(pkg.versions)):
if pkg.has_code:
url = fs.for_package_version(pkg, v)
- if pkg.versions[v].get('deprecated', False):
+ if pkg.versions[v].get("deprecated", False):
deprecated.append((v, url))
else:
safe.append((v, url))
- for title, vers in [('Safe', safe), ('Deprecated', deprecated)]:
- color.cprint('')
- color.cprint(section_title('{0} versions: '.format(title)))
+ for title, vers in [("Safe", safe), ("Deprecated", deprecated)]:
+ color.cprint("")
+ color.cprint(section_title("{0} versions: ".format(title)))
if not vers:
- color.cprint(version(' None'))
+ color.cprint(version(" None"))
continue
for v, url in vers:
- line = version(' {0}'.format(pad(v))) + color.cescape(url)
+ line = version(" {0}".format(pad(v))) + color.cescape(url)
color.cprint(line)
def print_virtuals(pkg):
"""output virtual packages"""
- color.cprint('')
- color.cprint(section_title('Virtual Packages: '))
+ color.cprint("")
+ color.cprint(section_title("Virtual Packages: "))
if pkg.provided:
inverse_map = {}
for spec, whens in pkg.provided.items():
@@ -376,7 +377,8 @@ def print_virtuals(pkg):
inverse_map[when].add(spec)
for when, specs in reversed(sorted(inverse_map.items())):
line = " %s provides %s" % (
- when.colorized(), ', '.join(s.colorized() for s in specs)
+ when.colorized(),
+ ", ".join(s.colorized() for s in specs),
)
print(line)
@@ -390,19 +392,17 @@ def info(parser, args):
pkg = pkg_cls(spec)
# Output core package information
- header = section_title(
- '{0}: '
- ).format(pkg.build_system_class) + pkg.name
+ header = section_title("{0}: ").format(pkg.build_system_class) + pkg.name
color.cprint(header)
- color.cprint('')
- color.cprint(section_title('Description:'))
+ color.cprint("")
+ color.cprint(section_title("Description:"))
if pkg.__doc__:
color.cprint(color.cescape(pkg.format_doc(indent=4)))
else:
color.cprint(" None")
- color.cprint(section_title('Homepage: ') + pkg.homepage)
+ color.cprint(section_title("Homepage: ") + pkg.homepage)
# Now output optional information in expected order
sections = [
@@ -420,4 +420,4 @@ def info(parser, args):
if print_it:
func(pkg)
- color.cprint('')
+ color.cprint("")
diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py
index bda6850db0..c08eb2f3fd 100644
--- a/lib/spack/spack/cmd/install.py
+++ b/lib/spack/spack/cmd/install.py
@@ -31,144 +31,199 @@ def update_kwargs_from_args(args, kwargs):
"""Parse cli arguments and construct a dictionary
that will be passed to the package installer."""
- kwargs.update({
- 'fail_fast': args.fail_fast,
- 'keep_prefix': args.keep_prefix,
- 'keep_stage': args.keep_stage,
- 'restage': not args.dont_restage,
- 'install_source': args.install_source,
- 'verbose': args.verbose or args.install_verbose,
- 'fake': args.fake,
- 'dirty': args.dirty,
- 'use_cache': args.use_cache,
- 'cache_only': args.cache_only,
- 'include_build_deps': args.include_build_deps,
- 'explicit': True, # Always true for install command
- 'stop_at': args.until,
- 'unsigned': args.unsigned,
- })
-
- kwargs.update({
- 'install_deps': ('dependencies' in args.things_to_install),
- 'install_package': ('package' in args.things_to_install)
- })
-
- if hasattr(args, 'setup'):
+ kwargs.update(
+ {
+ "fail_fast": args.fail_fast,
+ "keep_prefix": args.keep_prefix,
+ "keep_stage": args.keep_stage,
+ "restage": not args.dont_restage,
+ "install_source": args.install_source,
+ "verbose": args.verbose or args.install_verbose,
+ "fake": args.fake,
+ "dirty": args.dirty,
+ "use_cache": args.use_cache,
+ "cache_only": args.cache_only,
+ "include_build_deps": args.include_build_deps,
+ "explicit": True, # Always true for install command
+ "stop_at": args.until,
+ "unsigned": args.unsigned,
+ }
+ )
+
+ kwargs.update(
+ {
+ "install_deps": ("dependencies" in args.things_to_install),
+ "install_package": ("package" in args.things_to_install),
+ }
+ )
+
+ if hasattr(args, "setup"):
setups = set()
for arglist_s in args.setup:
- for arg in [x.strip() for x in arglist_s.split(',')]:
+ for arg in [x.strip() for x in arglist_s.split(",")]:
setups.add(arg)
- kwargs['setup'] = setups
- tty.msg('Setup={0}'.format(kwargs['setup']))
+ kwargs["setup"] = setups
+ tty.msg("Setup={0}".format(kwargs["setup"]))
def setup_parser(subparser):
subparser.add_argument(
- '--only',
- default='package,dependencies',
- dest='things_to_install',
- choices=['package', 'dependencies'],
+ "--only",
+ default="package,dependencies",
+ dest="things_to_install",
+ choices=["package", "dependencies"],
help="""select the mode of installation.
the default is to install the package along with all its dependencies.
alternatively one can decide to install only the package or only
-the dependencies"""
+the dependencies""",
)
subparser.add_argument(
- '-u', '--until', type=str, dest='until', default=None,
- help="phase to stop after when installing (default None)")
- arguments.add_common_arguments(subparser, ['jobs'])
+ "-u",
+ "--until",
+ type=str,
+ dest="until",
+ default=None,
+ help="phase to stop after when installing (default None)",
+ )
+ arguments.add_common_arguments(subparser, ["jobs"])
subparser.add_argument(
- '--overwrite', action='store_true',
- help="reinstall an existing spec, even if it has dependents")
+ "--overwrite",
+ action="store_true",
+ help="reinstall an existing spec, even if it has dependents",
+ )
subparser.add_argument(
- '--fail-fast', action='store_true',
- help="stop all builds if any build fails (default is best effort)")
+ "--fail-fast",
+ action="store_true",
+ help="stop all builds if any build fails (default is best effort)",
+ )
subparser.add_argument(
- '--keep-prefix', action='store_true',
- help="don't remove the install prefix if installation fails")
+ "--keep-prefix",
+ action="store_true",
+ help="don't remove the install prefix if installation fails",
+ )
subparser.add_argument(
- '--keep-stage', action='store_true',
- help="don't remove the build stage if installation succeeds")
+ "--keep-stage",
+ action="store_true",
+ help="don't remove the build stage if installation succeeds",
+ )
subparser.add_argument(
- '--dont-restage', action='store_true',
- help="if a partial install is detected, don't delete prior state")
+ "--dont-restage",
+ action="store_true",
+ help="if a partial install is detected, don't delete prior state",
+ )
cache_group = subparser.add_mutually_exclusive_group()
cache_group.add_argument(
- '--use-cache', action='store_true', dest='use_cache', default=True,
- help="check for pre-built Spack packages in mirrors (default)")
+ "--use-cache",
+ action="store_true",
+ dest="use_cache",
+ default=True,
+ help="check for pre-built Spack packages in mirrors (default)",
+ )
cache_group.add_argument(
- '--no-cache', action='store_false', dest='use_cache', default=True,
- help="do not check for pre-built Spack packages in mirrors")
+ "--no-cache",
+ action="store_false",
+ dest="use_cache",
+ default=True,
+ help="do not check for pre-built Spack packages in mirrors",
+ )
cache_group.add_argument(
- '--cache-only', action='store_true', dest='cache_only', default=False,
- help="only install package from binary mirrors")
+ "--cache-only",
+ action="store_true",
+ dest="cache_only",
+ default=False,
+ help="only install package from binary mirrors",
+ )
subparser.add_argument(
- '--include-build-deps', action='store_true', dest='include_build_deps',
- default=False, help="""include build deps when installing from cache,
-which is useful for CI pipeline troubleshooting""")
+ "--include-build-deps",
+ action="store_true",
+ dest="include_build_deps",
+ default=False,
+ help="""include build deps when installing from cache,
+which is useful for CI pipeline troubleshooting""",
+ )
subparser.add_argument(
- '--no-check-signature', action='store_true',
- dest='unsigned', default=False,
- help="do not check signatures of binary packages")
- subparser.add_argument(
- '--show-log-on-error', action='store_true',
- help="print full build log to stderr if build fails")
+ "--no-check-signature",
+ action="store_true",
+ dest="unsigned",
+ default=False,
+ help="do not check signatures of binary packages",
+ )
subparser.add_argument(
- '--source', action='store_true', dest='install_source',
- help="install source files in prefix")
- arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
+ "--show-log-on-error",
+ action="store_true",
+ help="print full build log to stderr if build fails",
+ )
subparser.add_argument(
- '-v', '--verbose', action='store_true', dest='install_verbose',
- help="display verbose build output while installing")
+ "--source",
+ action="store_true",
+ dest="install_source",
+ help="install source files in prefix",
+ )
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"])
subparser.add_argument(
- '--fake', action='store_true',
- help="fake install for debug purposes.")
+ "-v",
+ "--verbose",
+ action="store_true",
+ dest="install_verbose",
+ help="display verbose build output while installing",
+ )
+ subparser.add_argument("--fake", action="store_true", help="fake install for debug purposes.")
subparser.add_argument(
- '--only-concrete', action='store_true', default=False,
- help='(with environment) only install already concretized specs')
+ "--only-concrete",
+ action="store_true",
+ default=False,
+ help="(with environment) only install already concretized specs",
+ )
subparser.add_argument(
- '--no-add', action='store_true', default=False,
+ "--no-add",
+ action="store_true",
+ default=False,
help="""(with environment) partially install an environment, limiting
to concrete specs in the environment matching the arguments.
-Non-roots remain installed implicitly.""")
+Non-roots remain installed implicitly.""",
+ )
subparser.add_argument(
- '-f', '--file', action='append', default=[],
- dest='specfiles', metavar='SPEC_YAML_FILE',
- help="install from file. Read specs to install from .yaml files")
+ "-f",
+ "--file",
+ action="append",
+ default=[],
+ dest="specfiles",
+ metavar="SPEC_YAML_FILE",
+ help="install from file. Read specs to install from .yaml files",
+ )
cd_group = subparser.add_mutually_exclusive_group()
- arguments.add_common_arguments(cd_group, ['clean', 'dirty'])
+ arguments.add_common_arguments(cd_group, ["clean", "dirty"])
testing = subparser.add_mutually_exclusive_group()
testing.add_argument(
- '--test', default=None,
- choices=['root', 'all'],
+ "--test",
+ default=None,
+ choices=["root", "all"],
help="""If 'root' is chosen, run package tests during
installation for top-level packages (but skip tests for dependencies).
if 'all' is chosen, run package tests during installation for all
-packages. If neither are chosen, don't run tests for any packages."""
+packages. If neither are chosen, don't run tests for any packages.""",
)
subparser.add_argument(
- '--log-format',
+ "--log-format",
default=None,
choices=spack.report.valid_formats,
- help="format to be used for log files"
+ help="format to be used for log files",
)
subparser.add_argument(
- '--log-file',
+ "--log-file",
default=None,
- help="filename for the log file. if not passed a default will be used"
+ help="filename for the log file. if not passed a default will be used",
)
subparser.add_argument(
- '--help-cdash',
- action='store_true',
- help="Show usage instructions for CDash reporting"
+ "--help-cdash", action="store_true", help="Show usage instructions for CDash reporting"
)
arguments.add_cdash_args(subparser, False)
- arguments.add_common_arguments(subparser, ['yes_to_all', 'spec'])
+ arguments.add_common_arguments(subparser, ["yes_to_all", "spec"])
spack.cmd.common.arguments.add_concretizer_args(subparser)
@@ -177,9 +232,9 @@ def default_log_file(spec):
"""Computes the default filename for the log file and creates
the corresponding directory if not present
"""
- fmt = 'test-{x.name}-{x.version}-{hash}.xml'
+ fmt = "test-{x.name}-{x.version}-{hash}.xml"
basename = fmt.format(x=spec, hash=spec.dag_hash())
- dirname = fs.os.path.join(spack.paths.reports_path, 'junit')
+ dirname = fs.os.path.join(spack.paths.reports_path, "junit")
fs.mkdirp(dirname)
return fs.os.path.join(dirname, basename)
@@ -214,49 +269,52 @@ def install_specs(cli_args, kwargs, specs):
# no matches or exactly one match.
if not m_spec:
- tty.debug('{0} matched nothing in the env'.format(
- abstract.name))
+ tty.debug("{0} matched nothing in the env".format(abstract.name))
# no matches in the env
if cli_args.no_add:
- msg = ('You asked to install {0} without adding it ' +
- '(--no-add), but no such spec exists in ' +
- 'environment').format(abstract.name)
+ msg = (
+ "You asked to install {0} without adding it "
+ + "(--no-add), but no such spec exists in "
+ + "environment"
+ ).format(abstract.name)
tty.die(msg)
else:
- tty.debug('adding {0} as a root'.format(abstract.name))
+ tty.debug("adding {0} as a root".format(abstract.name))
specs_to_add.append((abstract, concrete))
continue
- tty.debug('exactly one match for {0} in env -> {1}'.format(
- m_spec.name, m_spec.dag_hash()))
+ tty.debug(
+ "exactly one match for {0} in env -> {1}".format(
+ m_spec.name, m_spec.dag_hash()
+ )
+ )
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 explicitly
- tty.debug('just install {0}'.format(m_spec.name))
+ tty.debug("just install {0}".format(m_spec.name))
specs_to_install.append(m_spec)
else:
# the single match is not a root (i.e. it's a dependency),
# and --no-add was not specified, so we'll add it as a
# root before installing
- tty.debug('add {0} then install it'.format(m_spec.name))
+ tty.debug("add {0} then install it".format(m_spec.name))
specs_to_add.append((abstract, concrete))
if specs_to_add:
- tty.debug('Adding the following specs as roots:')
+ tty.debug("Adding the following specs as roots:")
for abstract, concrete in specs_to_add:
- tty.debug(' {0}'.format(abstract.name))
+ tty.debug(" {0}".format(abstract.name))
with env.write_transaction():
- specs_to_install.append(
- env.concretize_and_add(abstract, concrete))
+ specs_to_install.append(env.concretize_and_add(abstract, concrete))
env.write(regenerate=False)
# Install the validated list of cli specs
if specs_to_install:
- tty.debug('Installing the following cli specs:')
+ tty.debug("Installing the following cli specs:")
for s in specs_to_install:
- tty.debug(' {0}'.format(s.name))
+ tty.debug(" {0}".format(s.name))
env.install_specs(specs_to_install, args=cli_args, **kwargs)
else:
installs = [(concrete.package, kwargs) for _, concrete in specs]
@@ -268,7 +326,7 @@ def install_specs(cli_args, kwargs, specs):
if not os.path.exists(e.pkg.build_log_path):
tty.error("'spack install' created no log.")
else:
- sys.stderr.write('Full build log:\n')
+ sys.stderr.write("Full build log:\n")
with open(e.pkg.build_log_path) as log:
shutil.copyfileobj(log, sys.stderr)
raise
@@ -281,24 +339,28 @@ def install(parser, args, **kwargs):
if args.help_cdash:
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
- epilog=textwrap.dedent('''\
+ epilog=textwrap.dedent(
+ """\
environment variables:
SPACK_CDASH_AUTH_TOKEN
authentication token to present to CDash
- '''))
+ """
+ ),
+ )
arguments.add_cdash_args(parser, True)
parser.print_help()
return
reporter = spack.report.collect_info(
- spack.package_base.PackageInstaller, '_install_task', args.log_format, args)
+ spack.package_base.PackageInstaller, "_install_task", args.log_format, args
+ )
if args.log_file:
reporter.filename = args.log_file
def get_tests(specs):
- if args.test == 'all':
+ if args.test == "all":
return True
- elif args.test == 'root':
+ elif args.test == "root":
return [spec.name for spec in specs]
else:
return False
@@ -313,7 +375,7 @@ environment variables:
env = ev.active_environment()
if env:
tests = get_tests(env.user_specs)
- kwargs['tests'] = tests
+ kwargs["tests"] = tests
if not args.only_concrete:
with env.write_transaction():
@@ -331,15 +393,14 @@ environment variables:
reporter.specs = specs
tty.msg("Installing environment {0}".format(env.name))
- with reporter('build'):
+ with reporter("build"):
env.install_all(**kwargs)
else:
- msg = '{0} environment has no specs to install'.format(env.name)
+ msg = "{0} environment has no specs to install".format(env.name)
tty.msg(msg)
- tty.debug("Regenerating environment views for {0}"
- .format(env.name))
+ tty.debug("Regenerating environment views for {0}".format(env.name))
with env.write_transaction():
# write env to trigger view generation and modulefile
# generation
@@ -347,7 +408,7 @@ environment variables:
return
else:
msg = "install requires a package argument or active environment"
- if 'spack.yaml' in os.listdir(os.getcwd()):
+ if "spack.yaml" in os.listdir(os.getcwd()):
# There's a spack.yaml file in the working dir, the user may
# have intended to use that
msg += "\n\n"
@@ -360,15 +421,15 @@ environment variables:
tty.die(msg)
if args.no_checksum:
- spack.config.set('config:checksum', False, scope='command_line')
+ spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
# 1. Abstract specs from cli
abstract_specs = spack.cmd.parse_specs(args.spec)
tests = get_tests(abstract_specs)
- kwargs['tests'] = tests
+ kwargs["tests"] = tests
try:
specs = spack.cmd.parse_specs(args.spec, concretize=True, tests=tests)
@@ -379,8 +440,8 @@ environment variables:
# 2. Concrete specs from yaml files
for file in args.specfiles:
- with open(file, 'r') as f:
- if file.endswith('yaml') or file.endswith('yml'):
+ with open(file, "r") as f:
+ if file.endswith("yaml") or file.endswith("yml"):
s = spack.spec.Spec.from_yaml(f)
else:
s = spack.spec.Spec.from_json(f)
@@ -388,7 +449,7 @@ environment variables:
concretized = s.concretized()
if concretized.dag_hash() != s.dag_hash():
msg = 'skipped invalid file "{0}". '
- msg += 'The file does not contain a concrete spec.'
+ msg += "The file does not contain a concrete spec."
tty.warn(msg.format(file))
continue
@@ -396,43 +457,36 @@ environment variables:
specs.append(concretized)
if len(specs) == 0:
- tty.die('The `spack install` command requires a spec to install.')
+ tty.die("The `spack install` command requires a spec to install.")
if not args.log_file and not reporter.filename:
reporter.filename = default_log_file(specs[0])
reporter.specs = specs
- with reporter('build'):
+ with reporter("build"):
if args.overwrite:
- installed = list(filter(lambda x: x,
- map(spack.store.db.query_one, specs)))
+ installed = list(filter(lambda x: x, map(spack.store.db.query_one, specs)))
if not args.yes_to_all:
- display_args = {
- 'long': True,
- 'show_flags': True,
- 'variants': True
- }
+ display_args = {"long": True, "show_flags": True, "variants": True}
if installed:
- tty.msg('The following package specs will be '
- 'reinstalled:\n')
+ tty.msg("The following package specs will be " "reinstalled:\n")
spack.cmd.display_specs(installed, **display_args)
- not_installed = list(filter(lambda x: x not in installed,
- specs))
+ not_installed = list(filter(lambda x: x not in installed, specs))
if not_installed:
- tty.msg('The following package specs are not installed and'
- ' the --overwrite flag was given. The package spec'
- ' will be newly installed:\n')
+ tty.msg(
+ "The following package specs are not installed and"
+ " the --overwrite flag was given. The package spec"
+ " will be newly installed:\n"
+ )
spack.cmd.display_specs(not_installed, **display_args)
# We have some specs, so one of the above must have been true
- answer = tty.get_yes_or_no(
- 'Do you want to proceed?', default=False
- )
+ answer = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not answer:
- tty.die('Reinstallation aborted.')
+ tty.die("Reinstallation aborted.")
# overwrite all concrete explicit specs from this build
- kwargs['overwrite'] = [spec.dag_hash() for spec in specs]
+ kwargs["overwrite"] = [spec.dag_hash() for spec in specs]
install_specs(args, kwargs, zip(abstract_specs, specs))
diff --git a/lib/spack/spack/cmd/license.py b/lib/spack/spack/cmd/license.py
index fce12645d9..6595eb8e2e 100644
--- a/lib/spack/spack/cmd/license.py
+++ b/lib/spack/spack/cmd/license.py
@@ -15,12 +15,12 @@ import llnl.util.tty as tty
import spack.paths
from spack.util.executable import which
-description = 'list and check license headers on files in spack'
+description = "list and check license headers on files in spack"
section = "developer"
level = "long"
#: need the git command to check new files
-git = which('git')
+git = which("git")
#: SPDX license id must appear in the first <license_lines> lines of a file
license_lines = 7
@@ -31,48 +31,41 @@ apache2_mit_spdx = "(Apache-2.0 OR MIT)"
#: regular expressions for licensed files.
licensed_files = [
# spack scripts
- r'^bin/spack$',
- r'^bin/spack-python$',
-
+ r"^bin/spack$",
+ r"^bin/spack-python$",
# all of spack core except unparse
- r'^lib/spack/spack/(?!(test/)?util/unparse).*\.py$',
- r'^lib/spack/spack/.*\.sh$',
- r'^lib/spack/spack/.*\.lp$',
- r'^lib/spack/llnl/.*\.py$',
- r'^lib/spack/env/cc$',
-
+ r"^lib/spack/spack/(?!(test/)?util/unparse).*\.py$",
+ r"^lib/spack/spack/.*\.sh$",
+ r"^lib/spack/spack/.*\.lp$",
+ r"^lib/spack/llnl/.*\.py$",
+ r"^lib/spack/env/cc$",
# special case this test data file, which has a license header
- r'^lib/spack/spack/test/data/style/broken.dummy',
-
+ r"^lib/spack/spack/test/data/style/broken.dummy",
# rst files in documentation
- r'^lib/spack/docs/(?!command_index|spack|llnl).*\.rst$',
- r'^lib/spack/docs/.*\.py$',
- r'^lib/spack/docs/spack.yaml$',
-
+ r"^lib/spack/docs/(?!command_index|spack|llnl).*\.rst$",
+ r"^lib/spack/docs/.*\.py$",
+ r"^lib/spack/docs/spack.yaml$",
# 1 file in external
- r'^lib/spack/external/__init__.py$',
-
+ r"^lib/spack/external/__init__.py$",
# shell scripts in share
- r'^share/spack/.*\.sh$',
- r'^share/spack/.*\.bash$',
- r'^share/spack/.*\.csh$',
- r'^share/spack/.*\.fish$',
- r'^share/spack/qa/run-[^/]*$',
- r'^share/spack/bash/spack-completion.in$',
- r'^share/spack/templates/misc/coconcretization.pyt$',
-
+ r"^share/spack/.*\.sh$",
+ r"^share/spack/.*\.bash$",
+ r"^share/spack/.*\.csh$",
+ r"^share/spack/.*\.fish$",
+ r"^share/spack/qa/run-[^/]*$",
+ r"^share/spack/bash/spack-completion.in$",
+ r"^share/spack/templates/misc/coconcretization.pyt$",
# action workflows
- r'^.github/actions/.*\.py$',
-
+ r"^.github/actions/.*\.py$",
# all packages
- r'^var/spack/repos/.*/package.py$',
+ r"^var/spack/repos/.*/package.py$",
]
#: licensed files that can have LGPL language in them
#: so far, just this command -- so it can find LGPL things elsewhere
lgpl_exceptions = [
- r'lib/spack/spack/cmd/license.py',
- r'lib/spack/spack/test/cmd/license.py',
+ r"lib/spack/spack/cmd/license.py",
+ r"lib/spack/spack/test/cmd/license.py",
]
@@ -106,15 +99,14 @@ OLD_LICENSE, SPDX_MISMATCH, GENERAL_MISMATCH = range(1, 4)
#: Latest year that copyright applies. UPDATE THIS when bumping copyright.
latest_year = 2022
-strict_date = r'Copyright 2013-%s' % latest_year
+strict_date = r"Copyright 2013-%s" % latest_year
#: regexes for valid license lines at tops of files
license_line_regexes = [
- r'Copyright 2013-(%d|%d) Lawrence Livermore National Security, LLC and other' % (
- latest_year - 1, latest_year # allow a little leeway: current or last year
- ),
- r'Spack Project Developers\. See the top-level COPYRIGHT file for details.',
- r'SPDX-License-Identifier: \(Apache-2\.0 OR MIT\)'
+ r"Copyright 2013-(%d|%d) Lawrence Livermore National Security, LLC and other"
+ % (latest_year - 1, latest_year), # allow a little leeway: current or last year
+ r"Spack Project Developers\. See the top-level COPYRIGHT file for details.",
+ r"SPDX-License-Identifier: \(Apache-2\.0 OR MIT\)",
]
@@ -134,10 +126,11 @@ class LicenseError(object):
spdx_mismatch = self.error_counts[SPDX_MISMATCH]
old_license = self.error_counts[OLD_LICENSE]
return (
- '%d improperly licensed files' % (total),
- 'files with wrong SPDX-License-Identifier: %d' % spdx_mismatch,
- 'files with old license header: %d' % old_license,
- 'files not containing expected license: %d' % missing)
+ "%d improperly licensed files" % (total),
+ "files with wrong SPDX-License-Identifier: %d" % spdx_mismatch,
+ "files with old license header: %d" % old_license,
+ "files not containing expected license: %d" % missing,
+ )
def _check_license(lines, path):
@@ -145,7 +138,7 @@ def _check_license(lines, path):
found = []
for line in lines:
- line = re.sub(r'^[\s#\%\.]*', '', line)
+ line = re.sub(r"^[\s#\%\.]*", "", line)
line = line.rstrip()
for i, line_regex in enumerate(license_line_regexes):
if re.match(line_regex, line):
@@ -154,25 +147,26 @@ def _check_license(lines, path):
# out of date.
if i == 0:
if not re.search(strict_date, line):
- tty.debug('{0}: copyright date mismatch'.format(path))
+ tty.debug("{0}: copyright date mismatch".format(path))
found.append(i)
if len(found) == len(license_line_regexes) and found == list(sorted(found)):
return
def old_license(line, path):
- if re.search('This program is free software', line):
- print('{0}: has old LGPL license header'.format(path))
+ if re.search("This program is free software", line):
+ print("{0}: has old LGPL license header".format(path))
return OLD_LICENSE
# If the SPDX identifier is present, then there is a mismatch (since it
# did not match the above regex)
def wrong_spdx_identifier(line, path):
- m = re.search(r'SPDX-License-Identifier: ([^\n]*)', line)
+ m = re.search(r"SPDX-License-Identifier: ([^\n]*)", line)
if m and m.group(1) != apache2_mit_spdx:
- print('{0}: SPDX license identifier mismatch'
- '(expecting {1}, found {2})'
- .format(path, apache2_mit_spdx, m.group(1)))
+ print(
+ "{0}: SPDX license identifier mismatch"
+ "(expecting {1}, found {2})".format(path, apache2_mit_spdx, m.group(1))
+ )
return SPDX_MISMATCH
checks = [old_license, wrong_spdx_identifier]
@@ -183,8 +177,12 @@ def _check_license(lines, path):
if error:
return error
- print('{0}: the license header at the top of the file 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
@@ -205,18 +203,18 @@ def verify(args):
if license_errors.has_errors():
tty.die(*license_errors.error_messages())
else:
- tty.msg('No license issues found.')
+ tty.msg("No license issues found.")
def update_copyright_year(args):
"""update copyright for the current year in all licensed files"""
- llns_and_other = ' Lawrence Livermore National Security, LLC and other'
+ llns_and_other = " Lawrence Livermore National Security, LLC and other"
for filename in _licensed_files(args):
fs.filter_file(
- r'Copyright \d{4}-\d{4}' + llns_and_other,
+ r"Copyright \d{4}-\d{4}" + llns_and_other,
strict_date + llns_and_other,
- os.path.join(args.root, filename)
+ os.path.join(args.root, filename),
)
# also update MIT license file at root. Don't use llns_and_other; it uses
@@ -228,24 +226,27 @@ def update_copyright_year(args):
def setup_parser(subparser):
subparser.add_argument(
- '--root', action='store', default=spack.paths.prefix,
- help='scan a different prefix for license issues')
+ "--root",
+ action="store",
+ default=spack.paths.prefix,
+ help="scan a different prefix for license issues",
+ )
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='license_command')
- sp.add_parser('list-files', help=list_files.__doc__)
- sp.add_parser('verify', help=verify.__doc__)
- sp.add_parser('update-copyright-year', help=update_copyright_year.__doc__)
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="license_command")
+ sp.add_parser("list-files", help=list_files.__doc__)
+ sp.add_parser("verify", help=verify.__doc__)
+ sp.add_parser("update-copyright-year", help=update_copyright_year.__doc__)
def license(parser, args):
if not git:
- tty.die('spack license requires git in your environment')
+ tty.die("spack license requires git in your environment")
licensed_files[:] = [re.compile(regex) for regex in licensed_files]
commands = {
- 'list-files': list_files,
- 'verify': verify,
- 'update-copyright-year': update_copyright_year,
+ "list-files": list_files,
+ "verify": verify,
+ "update-copyright-year": update_copyright_year,
}
return commands[args.license_command](args)
diff --git a/lib/spack/spack/cmd/list.py b/lib/spack/spack/cmd/list.py
index 8e91831bd7..c51c0959c0 100644
--- a/lib/spack/spack/cmd/list.py
+++ b/lib/spack/spack/cmd/list.py
@@ -41,20 +41,37 @@ def formatter(func):
def setup_parser(subparser):
subparser.add_argument(
- 'filter', nargs=argparse.REMAINDER,
- help='optional case-insensitive glob patterns to filter results')
+ "filter",
+ nargs=argparse.REMAINDER,
+ help="optional case-insensitive glob patterns to filter results",
+ )
subparser.add_argument(
- '-d', '--search-description', action='store_true', default=False,
- help='filtering will also search the description for a match')
+ "-d",
+ "--search-description",
+ action="store_true",
+ default=False,
+ help="filtering will also search the description for a match",
+ )
subparser.add_argument(
- '--format', default='name_only', choices=formatters,
- help='format to be used to print the output [default: name_only]')
+ "--format",
+ default="name_only",
+ choices=formatters,
+ help="format to be used to print the output [default: name_only]",
+ )
subparser.add_argument(
- '--update', metavar='FILE', default=None, action='store',
- help='write output to the specified file, if any package is newer')
+ "--update",
+ metavar="FILE",
+ default=None,
+ action="store",
+ help="write output to the specified file, if any package is newer",
+ )
subparser.add_argument(
- '-v', '--virtuals', action='store_true', default=False,
- help='include virtual packages in list')
+ "-v",
+ "--virtuals",
+ action="store_true",
+ default=False,
+ help="include virtual packages in list",
+ )
def filter_by_name(pkgs, args):
@@ -71,8 +88,8 @@ def filter_by_name(pkgs, args):
if args.filter:
res = []
for f in args.filter:
- if '*' not in f and '?' not in f:
- r = fnmatch.translate('*' + f + '*')
+ if "*" not in f and "?" not in f:
+ r = fnmatch.translate("*" + f + "*")
else:
r = fnmatch.translate(f)
@@ -80,6 +97,7 @@ def filter_by_name(pkgs, args):
res.append(rc)
if args.search_description:
+
def match(p, f):
if f.match(p):
return True
@@ -88,9 +106,12 @@ def filter_by_name(pkgs, args):
if pkg_cls.__doc__:
return f.match(pkg_cls.__doc__)
return False
+
else:
+
def match(p, f):
return f.match(p)
+
pkgs = [p for p in pkgs if any(match(p, f) for f in res)]
return sorted(pkgs, key=lambda s: s.lower())
@@ -106,7 +127,7 @@ def name_only(pkgs, out):
def github_url(pkg):
"""Link to a package file on github."""
- url = 'https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/{0}/package.py'
+ url = "https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/{0}/package.py"
return url.format(pkg.name)
@@ -135,30 +156,33 @@ def version_json(pkg_names, out):
"""Print all packages with their latest versions."""
pkg_classes = [spack.repo.path.get_pkg_class(name) for name in pkg_names]
- out.write('[\n')
+ out.write("[\n")
# output name and latest version for each package
- pkg_latest = ",\n".join([
- ' {{"name": "{0}",\n'
- ' "latest_version": "{1}",\n'
- ' "versions": {2},\n'
- ' "homepage": "{3}",\n'
- ' "file": "{4}",\n'
- ' "maintainers": {5},\n'
- ' "dependencies": {6}'
- '}}'.format(
- pkg_cls.name,
- VersionList(pkg_cls.versions).preferred(),
- json.dumps([str(v) for v in reversed(sorted(pkg_cls.versions))]),
- pkg_cls.homepage,
- github_url(pkg_cls),
- json.dumps(pkg_cls.maintainers),
- json.dumps(get_dependencies(pkg_cls))
- ) for pkg_cls in pkg_classes
- ])
+ pkg_latest = ",\n".join(
+ [
+ ' {{"name": "{0}",\n'
+ ' "latest_version": "{1}",\n'
+ ' "versions": {2},\n'
+ ' "homepage": "{3}",\n'
+ ' "file": "{4}",\n'
+ ' "maintainers": {5},\n'
+ ' "dependencies": {6}'
+ "}}".format(
+ pkg_cls.name,
+ VersionList(pkg_cls.versions).preferred(),
+ json.dumps([str(v) for v in reversed(sorted(pkg_cls.versions))]),
+ pkg_cls.homepage,
+ github_url(pkg_cls),
+ json.dumps(pkg_cls.maintainers),
+ json.dumps(get_dependencies(pkg_cls)),
+ )
+ for pkg_cls in pkg_classes
+ ]
+ )
out.write(pkg_latest)
# important: no trailing comma in JSON arrays
- out.write('\n]\n')
+ out.write("\n]\n")
@formatter
@@ -181,31 +205,34 @@ def html(pkg_names, out):
def head(n, span_id, title, anchor=None):
if anchor is None:
anchor = title
- out.write(('<span id="id%d"></span>'
- '<h1>%s<a class="headerlink" href="#%s" '
- 'title="Permalink to this headline">&para;</a>'
- '</h1>\n') % (span_id, title, anchor))
+ out.write(
+ (
+ '<span id="id%d"></span>'
+ '<h1>%s<a class="headerlink" href="#%s" '
+ 'title="Permalink to this headline">&para;</a>'
+ "</h1>\n"
+ )
+ % (span_id, title, anchor)
+ )
# Start with the number of packages, skipping the title and intro
# blurb, which we maintain in the RST file.
- out.write('<p>\n')
- out.write('Spack currently has %d mainline packages:\n' % len(pkg_classes))
- out.write('</p>\n')
+ out.write("<p>\n")
+ out.write("Spack currently has %d mainline packages:\n" % len(pkg_classes))
+ out.write("</p>\n")
# Table of links to all packages
out.write('<table border="1" class="docutils">\n')
out.write('<tbody valign="top">\n')
for i, row in enumerate(rows_for_ncols(pkg_names, 3)):
- out.write('<tr class="row-odd">\n' if i % 2 == 0 else
- '<tr class="row-even">\n')
+ out.write('<tr class="row-odd">\n' if i % 2 == 0 else '<tr class="row-even">\n')
for name in row:
- out.write('<td>\n')
- out.write('<a class="reference internal" href="#%s">%s</a></td>\n'
- % (name, name))
- out.write('</td>\n')
- out.write('</tr>\n')
- out.write('</tbody>\n')
- out.write('</table>\n')
+ out.write("<td>\n")
+ out.write('<a class="reference internal" href="#%s">%s</a></td>\n' % (name, name))
+ out.write("</td>\n")
+ out.write("</tr>\n")
+ out.write("</tbody>\n")
+ out.write("</table>\n")
out.write('<hr class="docutils"/>\n')
# Output some text for each package.
@@ -216,53 +243,58 @@ def html(pkg_names, out):
out.write('<dl class="docutils">\n')
- out.write('<dt>Homepage:</dt>\n')
+ out.write("<dt>Homepage:</dt>\n")
out.write('<dd><ul class="first last simple">\n')
if pkg_cls.homepage:
- out.write(('<li>'
- '<a class="reference external" href="%s">%s</a>'
- '</li>\n') % (pkg_cls.homepage, escape(pkg_cls.homepage, True)))
+ out.write(
+ ("<li>" '<a class="reference external" href="%s">%s</a>' "</li>\n")
+ % (pkg_cls.homepage, escape(pkg_cls.homepage, True))
+ )
else:
- out.write('No homepage\n')
- out.write('</ul></dd>\n')
+ out.write("No homepage\n")
+ out.write("</ul></dd>\n")
- out.write('<dt>Spack package:</dt>\n')
+ out.write("<dt>Spack package:</dt>\n")
out.write('<dd><ul class="first last simple">\n')
- out.write(('<li>'
- '<a class="reference external" href="%s">%s/package.py</a>'
- '</li>\n') % (github_url(pkg_cls), pkg_cls.name))
- out.write('</ul></dd>\n')
+ out.write(
+ ("<li>" '<a class="reference external" href="%s">%s/package.py</a>' "</li>\n")
+ % (github_url(pkg_cls), pkg_cls.name)
+ )
+ out.write("</ul></dd>\n")
if pkg_cls.versions:
- out.write('<dt>Versions:</dt>\n')
- out.write('<dd>\n')
- out.write(', '.join(
- str(v) for v in reversed(sorted(pkg_cls.versions))))
- out.write('\n')
- out.write('</dd>\n')
+ out.write("<dt>Versions:</dt>\n")
+ out.write("<dd>\n")
+ out.write(", ".join(str(v) for v in reversed(sorted(pkg_cls.versions))))
+ out.write("\n")
+ out.write("</dd>\n")
for deptype in spack.dependency.all_deptypes:
deps = pkg_cls.dependencies_of_type(deptype)
if deps:
- out.write('<dt>%s Dependencies:</dt>\n' % deptype.capitalize())
- out.write('<dd>\n')
- out.write(', '.join(
- d if d not in pkg_names else
- '<a class="reference internal" href="#%s">%s</a>' % (d, d)
- for d in deps))
- out.write('\n')
- out.write('</dd>\n')
-
- out.write('<dt>Description:</dt>\n')
- out.write('<dd>\n')
+ out.write("<dt>%s Dependencies:</dt>\n" % deptype.capitalize())
+ out.write("<dd>\n")
+ out.write(
+ ", ".join(
+ d
+ if d not in pkg_names
+ else '<a class="reference internal" href="#%s">%s</a>' % (d, d)
+ for d in deps
+ )
+ )
+ out.write("\n")
+ out.write("</dd>\n")
+
+ out.write("<dt>Description:</dt>\n")
+ out.write("<dd>\n")
out.write(escape(pkg_cls.format_doc(indent=2), True))
- out.write('\n')
- out.write('</dd>\n')
- out.write('</dl>\n')
+ out.write("\n")
+ out.write("</dd>\n")
+ out.write("</dl>\n")
out.write('<hr class="docutils"/>\n')
- out.write('</div>\n')
+ out.write("</div>\n")
def list(parser, args):
@@ -278,11 +310,11 @@ def list(parser, args):
# change output stream if user asked for update
if os.path.exists(args.update):
if os.path.getmtime(args.update) > spack.repo.path.last_mtime():
- tty.msg('File is up to date: %s' % args.update)
+ tty.msg("File is up to date: %s" % args.update)
return
- tty.msg('Updating file: %s' % args.update)
- with open(args.update, 'w') as f:
+ tty.msg("Updating file: %s" % args.update)
+ with open(args.update, "w") as f:
formatter(sorted_packages, f)
else:
diff --git a/lib/spack/spack/cmd/load.py b/lib/spack/spack/cmd/load.py
index 64ae08930c..11ec2c5e25 100644
--- a/lib/spack/spack/cmd/load.py
+++ b/lib/spack/spack/cmd/load.py
@@ -20,47 +20,63 @@ level = "short"
def setup_parser(subparser):
"""Parser is only constructed so that this prints a nice help
- message with -h. """
- arguments.add_common_arguments(subparser, ['constraint'])
+ message with -h."""
+ arguments.add_common_arguments(subparser, ["constraint"])
shells = subparser.add_mutually_exclusive_group()
shells.add_argument(
- '--sh', action='store_const', dest='shell', const='sh',
- help="print sh commands to load the package")
+ "--sh",
+ action="store_const",
+ dest="shell",
+ const="sh",
+ help="print sh commands to load the package",
+ )
shells.add_argument(
- '--csh', action='store_const', dest='shell', const='csh',
- help="print csh commands to load the package")
+ "--csh",
+ action="store_const",
+ dest="shell",
+ const="csh",
+ help="print csh commands to load the package",
+ )
shells.add_argument(
- '--fish', action='store_const', dest='shell', const='fish',
- help="print fish commands to load the package")
+ "--fish",
+ action="store_const",
+ dest="shell",
+ const="fish",
+ help="print fish commands to load the package",
+ )
shells.add_argument(
- '--bat', action='store_const', dest='shell', const='bat',
- help="print bat commands to load the package")
+ "--bat",
+ action="store_const",
+ dest="shell",
+ const="bat",
+ help="print bat commands to load the package",
+ )
subparser.add_argument(
- '--first',
- action='store_true',
+ "--first",
+ action="store_true",
default=False,
- dest='load_first',
- help="load the first match if multiple packages match the spec"
+ dest="load_first",
+ help="load the first match if multiple packages match the spec",
)
subparser.add_argument(
- '--only',
- default='package,dependencies',
- dest='things_to_load',
- choices=['package', 'dependencies'],
+ "--only",
+ default="package,dependencies",
+ dest="things_to_load",
+ choices=["package", "dependencies"],
help="""select whether to load the package and its dependencies
the default is to load the package and all dependencies
alternatively one can decide to load only the package or only
-the dependencies"""
+the dependencies""",
)
subparser.add_argument(
- '--list',
- action='store_true',
+ "--list",
+ action="store_true",
default=False,
- help="show loaded packages: same as `spack find --loaded`"
+ help="show loaded packages: same as `spack find --loaded`",
)
@@ -74,11 +90,13 @@ def load(parser, args):
spack.cmd.display_specs(results)
return
- specs = [spack.cmd.disambiguate_spec(spec, env, first=args.load_first)
- for spec in spack.cmd.parse_specs(args.constraint)]
+ specs = [
+ spack.cmd.disambiguate_spec(spec, env, first=args.load_first)
+ for spec in spack.cmd.parse_specs(args.constraint)
+ ]
if not args.shell:
- specs_str = ' '.join(args.constraint) or "SPECS"
+ specs_str = " ".join(args.constraint) or "SPECS"
spack.cmd.common.shell_init_instructions(
"spack load",
" eval `spack load {sh_arg} %s`" % specs_str,
@@ -86,11 +104,11 @@ def load(parser, args):
return 1
with spack.store.db.read_transaction():
- if 'dependencies' in args.things_to_load:
- include_roots = 'package' in args.things_to_load
- specs = [dep for spec in specs
- for dep in
- spec.traverse(root=include_roots, order='post')]
+ if "dependencies" in args.things_to_load:
+ include_roots = "package" in args.things_to_load
+ specs = [
+ dep for spec in specs for dep in spec.traverse(root=include_roots, order="post")
+ ]
env_mod = spack.util.environment.EnvironmentModifications()
for spec in specs:
diff --git a/lib/spack/spack/cmd/location.py b/lib/spack/spack/cmd/location.py
index e15bcbdcab..b5eeb92b06 100644
--- a/lib/spack/spack/cmd/location.py
+++ b/lib/spack/spack/cmd/location.py
@@ -26,40 +26,56 @@ def setup_parser(subparser):
directories = subparser.add_mutually_exclusive_group()
directories.add_argument(
- '-m', '--module-dir', action='store_true',
- help="spack python module directory")
+ "-m", "--module-dir", action="store_true", help="spack python module directory"
+ )
directories.add_argument(
- '-r', '--spack-root', action='store_true',
- help="spack installation root")
+ "-r", "--spack-root", action="store_true", help="spack installation root"
+ )
directories.add_argument(
- '-i', '--install-dir', action='store_true',
- help="install prefix for spec (spec need not be installed)")
+ "-i",
+ "--install-dir",
+ action="store_true",
+ help="install prefix for spec (spec need not be installed)",
+ )
directories.add_argument(
- '-p', '--package-dir', action='store_true',
- help="directory enclosing a spec's package.py file")
+ "-p",
+ "--package-dir",
+ action="store_true",
+ help="directory enclosing a spec's package.py file",
+ )
directories.add_argument(
- '-P', '--packages', action='store_true',
- help="top-level packages directory for Spack")
+ "-P", "--packages", action="store_true", help="top-level packages directory for Spack"
+ )
directories.add_argument(
- '-s', '--stage-dir', action='store_true',
- help="stage directory for a spec")
+ "-s", "--stage-dir", action="store_true", help="stage directory for a spec"
+ )
directories.add_argument(
- '-S', '--stages', action='store_true',
- help="top level stage directory")
+ "-S", "--stages", action="store_true", help="top level stage directory"
+ )
directories.add_argument(
- '--source-dir', action='store_true',
- help="source directory for a spec "
- "(requires it to be staged first)")
+ "--source-dir",
+ action="store_true",
+ help="source directory for a spec " "(requires it to be staged first)",
+ )
directories.add_argument(
- '-b', '--build-dir', action='store_true',
- help="build directory for a spec "
- "(requires it to be staged first)")
+ "-b",
+ "--build-dir",
+ action="store_true",
+ help="build directory for a spec " "(requires it to be staged first)",
+ )
directories.add_argument(
- '-e', '--env', action='store', dest='location_env', nargs='?', metavar="name",
- default=False, help="location of the named or current environment")
+ "-e",
+ "--env",
+ action="store",
+ dest="location_env",
+ nargs="?",
+ metavar="name",
+ default=False,
+ help="location of the named or current environment",
+ )
- arguments.add_common_arguments(subparser, ['spec'])
+ arguments.add_common_arguments(subparser, ["spec"])
def location(parser, args):
@@ -75,7 +91,7 @@ def location(parser, args):
if args.location_env is not False:
if args.location_env is None:
# Get current environment path
- spack.cmd.require_active_env('location -e')
+ spack.cmd.require_active_env("location -e")
path = ev.active_environment().path
else:
# Get named environment path
@@ -125,13 +141,10 @@ def location(parser, args):
if args.build_dir:
# Out of source builds have build_directory defined
- if hasattr(pkg, 'build_directory'):
+ if hasattr(pkg, "build_directory"):
# build_directory can be either absolute or relative to the stage path
# in either case os.path.join makes it absolute
- print(os.path.normpath(os.path.join(
- pkg.stage.path,
- pkg.build_directory
- )))
+ print(os.path.normpath(os.path.join(pkg.stage.path, pkg.build_directory)))
return
# Otherwise assume in-source builds
@@ -140,9 +153,10 @@ def location(parser, args):
# source dir remains, which requires the spec to be staged
if not pkg.stage.expanded:
- tty.die("Source directory does not exist yet. "
- "Run this to create it:",
- "spack stage " + " ".join(args.spec))
+ tty.die(
+ "Source directory does not exist yet. " "Run this to create it:",
+ "spack stage " + " ".join(args.spec),
+ )
# Default to source dir.
print(pkg.stage.source_path)
diff --git a/lib/spack/spack/cmd/log_parse.py b/lib/spack/spack/cmd/log_parse.py
index 27aacdb938..eca864051a 100644
--- a/lib/spack/spack/cmd/log_parse.py
+++ b/lib/spack/spack/cmd/log_parse.py
@@ -13,52 +13,71 @@ description = "filter errors and warnings from build logs"
section = "build"
level = "long"
-event_types = ('errors', 'warnings')
+event_types = ("errors", "warnings")
def setup_parser(subparser):
subparser.add_argument(
- '--show', action='store', default='errors',
- help="comma-separated list of what to show; options: errors, warnings")
+ "--show",
+ action="store",
+ default="errors",
+ help="comma-separated list of what to show; options: errors, warnings",
+ )
subparser.add_argument(
- '-c', '--context', action='store', type=int, default=3,
- help="lines of context to show around lines of interest")
+ "-c",
+ "--context",
+ action="store",
+ type=int,
+ default=3,
+ help="lines of context to show around lines of interest",
+ )
subparser.add_argument(
- '-p', '--profile', action='store_true',
- help="print out a profile of time spent in regexes during parse")
+ "-p",
+ "--profile",
+ action="store_true",
+ help="print out a profile of time spent in regexes during parse",
+ )
subparser.add_argument(
- '-w', '--width', action='store', type=int, default=None,
- help="wrap width: auto-size to terminal by default; 0 for no wrap")
+ "-w",
+ "--width",
+ action="store",
+ type=int,
+ default=None,
+ help="wrap width: auto-size to terminal by default; 0 for no wrap",
+ )
subparser.add_argument(
- '-j', '--jobs', action='store', type=int, default=None,
+ "-j",
+ "--jobs",
+ action="store",
+ type=int,
+ default=None,
help="number of jobs to parse log file (default: 1 for short logs, "
- "ncpus for long logs)")
+ "ncpus for long logs)",
+ )
- subparser.add_argument(
- 'file', help="a log file containing build output, or - for stdin")
+ subparser.add_argument("file", help="a log file containing build output, or - for stdin")
def log_parse(parser, args):
input = args.file
- if args.file == '-':
+ if args.file == "-":
input = sys.stdin
- errors, warnings = parse_log_events(
- input, args.context, args.jobs, args.profile)
+ errors, warnings = parse_log_events(input, args.context, args.jobs, args.profile)
if args.profile:
return
- types = [s.strip() for s in args.show.split(',')]
+ types = [s.strip() for s in args.show.split(",")]
for e in types:
if e not in event_types:
- tty.die('Invalid event type: %s' % e)
+ tty.die("Invalid event type: %s" % e)
events = []
- if 'errors' in types:
+ if "errors" in types:
events.extend(errors)
- print('%d errors' % len(errors))
- if 'warnings' in types:
+ print("%d errors" % len(errors))
+ if "warnings" in types:
events.extend(warnings)
- print('%d warnings' % len(warnings))
+ print("%d warnings" % len(warnings))
print(make_log_context(events, args.width))
diff --git a/lib/spack/spack/cmd/maintainers.py b/lib/spack/spack/cmd/maintainers.py
index 93ed48cb72..5604369ed3 100644
--- a/lib/spack/spack/cmd/maintainers.py
+++ b/lib/spack/spack/cmd/maintainers.py
@@ -22,25 +22,36 @@ level = "long"
def setup_parser(subparser):
maintained_group = subparser.add_mutually_exclusive_group()
maintained_group.add_argument(
- '--maintained', action='store_true', default=False,
- help='show names of maintained packages')
+ "--maintained",
+ action="store_true",
+ default=False,
+ help="show names of maintained packages",
+ )
maintained_group.add_argument(
- '--unmaintained', action='store_true', default=False,
- help='show names of unmaintained packages')
+ "--unmaintained",
+ action="store_true",
+ default=False,
+ help="show names of unmaintained packages",
+ )
subparser.add_argument(
- '-a', '--all', action='store_true', default=False,
- help='show maintainers for all packages')
+ "-a", "--all", action="store_true", default=False, help="show maintainers for all packages"
+ )
subparser.add_argument(
- '--by-user', action='store_true', default=False,
- help='show packages for users instead of users for packages')
+ "--by-user",
+ action="store_true",
+ default=False,
+ help="show packages for users instead of users for packages",
+ )
# options for commands that take package arguments
subparser.add_argument(
- 'package_or_user', nargs=argparse.REMAINDER,
- help='names of packages or users to get info for')
+ "package_or_user",
+ nargs=argparse.REMAINDER,
+ help="names of packages or users to get info for",
+ )
def packages_to_maintainers(package_names=None):
@@ -105,20 +116,18 @@ def maintainers(parser, args):
if args.by_user:
maintainers = maintainers_to_packages(args.package_or_user)
for user, packages in sorted(maintainers.items()):
- color.cprint('@c{%s}: %s'
- % (user, ', '.join(sorted(packages))))
+ color.cprint("@c{%s}: %s" % (user, ", ".join(sorted(packages))))
return 0 if maintainers else 1
else:
packages = packages_to_maintainers(args.package_or_user)
for pkg, maintainers in sorted(packages.items()):
- color.cprint('@c{%s}: %s'
- % (pkg, ', '.join(sorted(maintainers))))
+ color.cprint("@c{%s}: %s" % (pkg, ", ".join(sorted(maintainers))))
return 0 if packages else 1
if args.by_user:
if not args.package_or_user:
- tty.die('spack maintainers --by-user requires a user or --all')
+ tty.die("spack maintainers --by-user requires a user or --all")
packages = union_values(maintainers_to_packages(args.package_or_user))
colify(packages)
@@ -126,7 +135,7 @@ def maintainers(parser, args):
else:
if not args.package_or_user:
- tty.die('spack maintainers requires a package or --all')
+ tty.die("spack maintainers requires a package or --all")
users = union_values(packages_to_maintainers(args.package_or_user))
colify(users)
diff --git a/lib/spack/spack/cmd/make_installer.py b/lib/spack/spack/cmd/make_installer.py
index 761401ea37..500f6402da 100644
--- a/lib/spack/spack/cmd/make_installer.py
+++ b/lib/spack/spack/cmd/make_installer.py
@@ -28,6 +28,7 @@ def txt_to_rtf(file_path):
def line_to_rtf(str):
return str.replace("\n", "\\par")
+
contents = ""
with open(file_path, "r+") as f:
for line in f.readlines():
@@ -38,31 +39,34 @@ def txt_to_rtf(file_path):
def setup_parser(subparser):
spack_source_group = subparser.add_mutually_exclusive_group(required=True)
spack_source_group.add_argument(
- '-v', '--spack-version', default="",
- help='download given spack version e.g. 0.16.0')
+ "-v", "--spack-version", default="", help="download given spack version e.g. 0.16.0"
+ )
spack_source_group.add_argument(
- '-s', '--spack-source', default="",
- help='full path to spack source')
+ "-s", "--spack-source", default="", help="full path to spack source"
+ )
subparser.add_argument(
- '-g', '--git-installer-verbosity', default="",
- choices=set(['SILENT', 'VERYSILENT']),
+ "-g",
+ "--git-installer-verbosity",
+ default="",
+ choices=set(["SILENT", "VERYSILENT"]),
help="Level of verbosity provided by bundled Git Installer.\
Default is fully verbose",
- required=False, action='store', dest="git_verbosity"
+ required=False,
+ action="store",
+ dest="git_verbosity",
)
- subparser.add_argument(
- 'output_dir', help="output directory")
+ subparser.add_argument("output_dir", help="output directory")
def make_installer(parser, args):
"""
- Use CMake to generate WIX installer in newly created build directory
+ Use CMake to generate WIX installer in newly created build directory
"""
- if sys.platform == 'win32':
+ if sys.platform == "win32":
output_dir = args.output_dir
- cmake_spec = Spec('cmake')
+ cmake_spec = Spec("cmake")
cmake_spec.concretize()
cmake_path = os.path.join(cmake_spec.prefix, "bin", "cmake.exe")
cpack_path = os.path.join(cmake_spec.prefix, "bin", "cpack.exe")
@@ -89,21 +93,23 @@ def make_installer(parser, args):
rtf_spack_license = txt_to_rtf(spack_license)
spack_license = posixpath.join(source_dir, "LICENSE.rtf")
- with open(spack_license, 'w') as rtf_license:
+ with open(spack_license, "w") as rtf_license:
written = rtf_license.write(rtf_spack_license)
if written == 0:
raise RuntimeError("Failed to generate properly formatted license file")
- spack_logo = posixpath.join(posix_root,
- "share/spack/logo/favicon.ico")
+ spack_logo = posixpath.join(posix_root, "share/spack/logo/favicon.ico")
try:
spack.util.executable.Executable(cmake_path)(
- '-S', source_dir, '-B', output_dir,
- '-DSPACK_VERSION=%s' % spack_version,
- '-DSPACK_SOURCE=%s' % spack_source,
- '-DSPACK_LICENSE=%s' % spack_license,
- '-DSPACK_LOGO=%s' % spack_logo,
- '-DSPACK_GIT_VERBOSITY=%s' % git_verbosity
+ "-S",
+ source_dir,
+ "-B",
+ output_dir,
+ "-DSPACK_VERSION=%s" % spack_version,
+ "-DSPACK_SOURCE=%s" % spack_source,
+ "-DSPACK_LICENSE=%s" % spack_license,
+ "-DSPACK_LOGO=%s" % spack_logo,
+ "-DSPACK_GIT_VERBOSITY=%s" % git_verbosity,
)
except spack.util.executable.ProcessError:
print("Failed to generate installer")
@@ -111,36 +117,34 @@ def make_installer(parser, args):
try:
spack.util.executable.Executable(cpack_path)(
- "--config",
- "%s/CPackConfig.cmake" % output_dir,
- "-B",
- "%s/" % output_dir)
+ "--config", "%s/CPackConfig.cmake" % output_dir, "-B", "%s/" % output_dir
+ )
except spack.util.executable.ProcessError:
print("Failed to generate installer")
return spack.util.executable.ProcessError.returncode
try:
- spack.util.executable.Executable(os.environ.get('WIX') + '/bin/candle.exe')(
- '-ext',
- 'WixBalExtension',
- '%s/bundle.wxs' % output_dir,
- '-out',
- '%s/bundle.wixobj' % output_dir
+ spack.util.executable.Executable(os.environ.get("WIX") + "/bin/candle.exe")(
+ "-ext",
+ "WixBalExtension",
+ "%s/bundle.wxs" % output_dir,
+ "-out",
+ "%s/bundle.wixobj" % output_dir,
)
except spack.util.executable.ProcessError:
print("Failed to generate installer chain")
return spack.util.executable.ProcessError.returncode
try:
- spack.util.executable.Executable(os.environ.get('WIX') + "/bin/light.exe")(
+ spack.util.executable.Executable(os.environ.get("WIX") + "/bin/light.exe")(
"-sw1134",
"-ext",
"WixBalExtension",
"%s/bundle.wixobj" % output_dir,
- '-out',
- '%s/Spack.exe' % output_dir
+ "-out",
+ "%s/Spack.exe" % output_dir,
)
except spack.util.executable.ProcessError:
print("Failed to generate installer chain")
return spack.util.executable.ProcessError.returncode
print("Successfully generated Spack.exe in %s" % (output_dir))
else:
- print('The make-installer command is currently only supported on Windows.')
+ print("The make-installer command is currently only supported on Windows.")
diff --git a/lib/spack/spack/cmd/mark.py b/lib/spack/spack/cmd/mark.py
index da31917c39..1fba272ac9 100644
--- a/lib/spack/spack/cmd/mark.py
+++ b/lib/spack/spack/cmd/mark.py
@@ -28,29 +28,40 @@ error_message = """You can either:
# Arguments for display_specs when we find ambiguity
display_args = {
- 'long': True,
- 'show_flags': False,
- 'variants': False,
- 'indent': 4,
+ "long": True,
+ "show_flags": False,
+ "variants": False,
+ "indent": 4,
}
def setup_parser(subparser):
- arguments.add_common_arguments(
- subparser, ['installed_specs'])
+ arguments.add_common_arguments(subparser, ["installed_specs"])
subparser.add_argument(
- '-a', '--all', action='store_true', dest='all',
+ "-a",
+ "--all",
+ action="store_true",
+ dest="all",
help="Mark ALL installed packages that match each "
"supplied spec. If you `mark --all libelf`,"
" ALL versions of `libelf` are marked. If no spec is "
- "supplied, all installed packages will be marked.")
+ "supplied, all installed packages will be marked.",
+ )
exim = subparser.add_mutually_exclusive_group(required=True)
exim.add_argument(
- '-e', '--explicit', action='store_true', dest='explicit',
- help="Mark packages as explicitly installed.")
+ "-e",
+ "--explicit",
+ action="store_true",
+ dest="explicit",
+ help="Mark packages as explicitly installed.",
+ )
exim.add_argument(
- '-i', '--implicit', action='store_true', dest='implicit',
- help="Mark packages as implicitly installed.")
+ "-i",
+ "--implicit",
+ action="store_true",
+ dest="implicit",
+ help="Mark packages as implicitly installed.",
+ )
def find_matching_specs(specs, allow_multiple_matches=False):
@@ -74,17 +85,16 @@ def find_matching_specs(specs, allow_multiple_matches=False):
# For each spec provided, make sure it refers to only one package.
# Fail and ask user to be unambiguous if it doesn't
if not allow_multiple_matches and len(matching) > 1:
- tty.error('{0} matches multiple packages:'.format(spec))
- sys.stderr.write('\n')
- spack.cmd.display_specs(matching, output=sys.stderr,
- **display_args)
- sys.stderr.write('\n')
+ tty.error("{0} matches multiple packages:".format(spec))
+ sys.stderr.write("\n")
+ spack.cmd.display_specs(matching, output=sys.stderr, **display_args)
+ sys.stderr.write("\n")
sys.stderr.flush()
has_errors = True
# No installed package matches the query
if len(matching) == 0 and spec is not any:
- tty.die('{0} does not match any installed packages.'.format(spec))
+ tty.die("{0} does not match any installed packages.".format(spec))
specs_from_cli.extend(matching)
@@ -114,8 +124,10 @@ def mark_specs(args, specs):
def mark(parser, args):
if not args.specs and not args.all:
- tty.die('mark requires at least one package argument.',
- ' Use `spack mark --all` to mark ALL packages.')
+ tty.die(
+ "mark requires at least one package argument.",
+ " Use `spack mark --all` to mark ALL packages.",
+ )
# [any] here handles the --all case by forcing all specs to be returned
specs = spack.cmd.parse_specs(args.specs) if args.specs else [any]
diff --git a/lib/spack/spack/cmd/mirror.py b/lib/spack/spack/cmd/mirror.py
index e043702bf3..63ec1a6bdd 100644
--- a/lib/spack/spack/cmd/mirror.py
+++ b/lib/spack/spack/cmd/mirror.py
@@ -26,104 +26,118 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['no_checksum', 'deprecated'])
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"])
- sp = subparser.add_subparsers(
- metavar='SUBCOMMAND', dest='mirror_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="mirror_command")
# Create
- create_parser = sp.add_parser('create', help=mirror_create.__doc__)
- create_parser.add_argument('-d', '--directory', default=None,
- help="directory in which to create mirror")
+ create_parser = sp.add_parser("create", help=mirror_create.__doc__)
+ create_parser.add_argument(
+ "-d", "--directory", default=None, help="directory in which to create mirror"
+ )
create_parser.add_argument(
- '-a', '--all', action='store_true',
+ "-a",
+ "--all",
+ action="store_true",
help="mirror all versions of all packages in Spack, or all packages"
- " in the current environment if there is an active environment"
- " (this requires significant time and space)")
- create_parser.add_argument(
- '-f', '--file', help="file with specs of packages to put in mirror")
+ " in the current environment if there is an active environment"
+ " (this requires significant time and space)",
+ )
+ create_parser.add_argument("-f", "--file", help="file with specs of packages to put in mirror")
create_parser.add_argument(
- '--exclude-file',
+ "--exclude-file",
help="specs which Spack should not try to add to a mirror"
- " (listed in a file, one per line)")
+ " (listed in a file, one per line)",
+ )
create_parser.add_argument(
- '--exclude-specs',
- help="specs which Spack should not try to add to a mirror"
- " (specified on command line)")
+ "--exclude-specs",
+ help="specs which Spack should not try to add to a mirror" " (specified on command line)",
+ )
create_parser.add_argument(
- '--skip-unstable-versions', action='store_true',
- help="don't cache versions unless they identify a stable (unchanging)"
- " source code")
+ "--skip-unstable-versions",
+ action="store_true",
+ help="don't cache versions unless they identify a stable (unchanging)" " source code",
+ )
create_parser.add_argument(
- '-D', '--dependencies', action='store_true',
- help="also fetch all dependencies")
+ "-D", "--dependencies", action="store_true", help="also fetch all dependencies"
+ )
create_parser.add_argument(
- '-n', '--versions-per-spec',
+ "-n",
+ "--versions-per-spec",
help="the number of versions to fetch for each spec, choose 'all' to"
- " retrieve all versions of each package")
- arguments.add_common_arguments(create_parser, ['specs'])
+ " retrieve all versions of each package",
+ )
+ arguments.add_common_arguments(create_parser, ["specs"])
# Destroy
- destroy_parser = sp.add_parser('destroy', help=mirror_destroy.__doc__)
+ destroy_parser = sp.add_parser("destroy", help=mirror_destroy.__doc__)
destroy_target = destroy_parser.add_mutually_exclusive_group(required=True)
- destroy_target.add_argument('-m', '--mirror-name',
- metavar='mirror_name',
- type=str,
- help="find mirror to destroy by name")
- destroy_target.add_argument('--mirror-url',
- metavar='mirror_url',
- type=str,
- help="find mirror to destroy by url")
+ destroy_target.add_argument(
+ "-m",
+ "--mirror-name",
+ metavar="mirror_name",
+ type=str,
+ help="find mirror to destroy by name",
+ )
+ destroy_target.add_argument(
+ "--mirror-url", metavar="mirror_url", type=str, help="find mirror to destroy by url"
+ )
# used to construct scope arguments below
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
# Add
- add_parser = sp.add_parser('add', help=mirror_add.__doc__)
- add_parser.add_argument(
- 'name', help="mnemonic name for mirror", metavar="mirror")
+ add_parser = sp.add_parser("add", help=mirror_add.__doc__)
+ add_parser.add_argument("name", help="mnemonic name for mirror", metavar="mirror")
+ add_parser.add_argument("url", help="url of mirror directory from 'spack mirror create'")
add_parser.add_argument(
- 'url', help="url of mirror directory from 'spack mirror create'")
- add_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope to modify")
+ help="configuration scope to modify",
+ )
arguments.add_s3_connection_args(add_parser, False)
# Remove
- remove_parser = sp.add_parser('remove', aliases=['rm'],
- help=mirror_remove.__doc__)
- remove_parser.add_argument(
- 'name', help="mnemonic name for mirror", metavar="mirror")
+ remove_parser = sp.add_parser("remove", aliases=["rm"], help=mirror_remove.__doc__)
+ remove_parser.add_argument("name", help="mnemonic name for mirror", metavar="mirror")
remove_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope to modify")
+ help="configuration scope to modify",
+ )
# Set-Url
- set_url_parser = sp.add_parser('set-url', help=mirror_set_url.__doc__)
- set_url_parser.add_argument(
- 'name', help="mnemonic name for mirror", metavar="mirror")
+ set_url_parser = sp.add_parser("set-url", help=mirror_set_url.__doc__)
+ set_url_parser.add_argument("name", help="mnemonic name for mirror", metavar="mirror")
+ set_url_parser.add_argument("url", help="url of mirror directory from 'spack mirror create'")
set_url_parser.add_argument(
- 'url', help="url of mirror directory from 'spack mirror create'")
+ "--push", action="store_true", help="set only the URL used for uploading new packages"
+ )
set_url_parser.add_argument(
- '--push', action='store_true',
- help="set only the URL used for uploading new packages")
- set_url_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope to modify")
+ help="configuration scope to modify",
+ )
arguments.add_s3_connection_args(set_url_parser, False)
# List
- list_parser = sp.add_parser('list', help=mirror_list.__doc__)
+ list_parser = sp.add_parser("list", help=mirror_list.__doc__)
list_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_list_scope(),
- help="configuration scope to read from")
+ help="configuration scope to read from",
+ )
def mirror_add(args):
@@ -140,7 +154,7 @@ def mirror_remove(args):
def mirror_set_url(args):
"""Change the URL of a mirror."""
url = url_util.format(args.url)
- mirrors = spack.config.get('mirrors', scope=args.scope)
+ mirrors = spack.config.get("mirrors", scope=args.scope)
if not mirrors:
mirrors = syaml_dict()
@@ -151,15 +165,16 @@ def mirror_set_url(args):
key_values = ["s3_access_key_id", "s3_access_token", "s3_profile"]
if any(value for value in key_values if value in args):
- incoming_data = {"url": url,
- "access_pair": (args.s3_access_key_id,
- args.s3_access_key_secret),
- "access_token": args.s3_access_token,
- "profile": args.s3_profile,
- "endpoint_url": args.s3_endpoint_url}
+ incoming_data = {
+ "url": url,
+ "access_pair": (args.s3_access_key_id, args.s3_access_key_secret),
+ "access_token": args.s3_access_token,
+ "profile": args.s3_profile,
+ "endpoint_url": args.s3_endpoint_url,
+ }
try:
- fetch_url = entry['fetch']
- push_url = entry['push']
+ fetch_url = entry["fetch"]
+ push_url = entry["push"]
except TypeError:
fetch_url, push_url = entry, entry
@@ -174,8 +189,7 @@ def mirror_set_url(args):
push_url = url
else:
if isinstance(push_url, dict):
- changes_made = (changes_made or push_url != incoming_data
- or push_url != incoming_data)
+ changes_made = changes_made or push_url != incoming_data or push_url != incoming_data
fetch_url, push_url = incoming_data, incoming_data
else:
changes_made = changes_made or push_url != url
@@ -184,22 +198,24 @@ def mirror_set_url(args):
items = [
(
(n, u)
- if n != args.name else (
+ if n != args.name
+ else (
(n, {"fetch": fetch_url, "push": push_url})
- if fetch_url != push_url else (n, {"fetch": fetch_url,
- "push": fetch_url})
+ if fetch_url != push_url
+ else (n, {"fetch": fetch_url, "push": fetch_url})
)
)
for n, u in mirrors.items()
]
mirrors = syaml_dict(items)
- spack.config.set('mirrors', mirrors, scope=args.scope)
+ spack.config.set("mirrors", mirrors, scope=args.scope)
if changes_made:
tty.msg(
- "Changed%s url or connection information for mirror %s." %
- ((" (push)" if args.push else ""), args.name))
+ "Changed%s url or connection information for mirror %s."
+ % ((" (push)" if args.push else ""), args.name)
+ )
else:
tty.msg("No changes made to mirror %s." % args.name)
@@ -225,30 +241,33 @@ def _read_specs_from_file(filename):
specs.append(s)
except SpackError as e:
tty.debug(e)
- tty.die("Parse error in %s, line %d:" % (filename, i + 1),
- ">>> " + string, str(e))
+ tty.die("Parse error in %s, line %d:" % (filename, i + 1), ">>> " + string, str(e))
return specs
def _determine_specs_to_mirror(args):
if args.specs and args.all:
- raise SpackError("Cannot specify specs on command line if you"
- " chose to mirror all specs with '--all'")
+ raise SpackError(
+ "Cannot specify specs on command line if you" " chose to mirror all specs with '--all'"
+ )
elif args.file and args.all:
- raise SpackError("Cannot specify specs with a file ('-f') if you"
- " chose to mirror all specs with '--all'")
+ raise SpackError(
+ "Cannot specify specs with a file ('-f') if you"
+ " chose to mirror all specs with '--all'"
+ )
if not args.versions_per_spec:
num_versions = 1
- elif args.versions_per_spec == 'all':
- num_versions = 'all'
+ elif args.versions_per_spec == "all":
+ num_versions = "all"
else:
try:
num_versions = int(args.versions_per_spec)
except ValueError:
raise SpackError(
"'--versions-per-spec' must be a number or 'all',"
- " got '{0}'".format(args.versions_per_spec))
+ " got '{0}'".format(args.versions_per_spec)
+ )
# try to parse specs from the command line first.
with spack.concretize.disable_compiler_existence_check():
@@ -264,9 +283,11 @@ def _determine_specs_to_mirror(args):
if not specs:
# If nothing is passed, use environment or all if no active env
if not args.all:
- tty.die("No packages were specified.",
- "To mirror all packages, use the '--all' option"
- " (this will require significant time and space).")
+ tty.die(
+ "No packages were specified.",
+ "To mirror all packages, use the '--all' option"
+ " (this will require significant time and space).",
+ )
env = ev.active_environment()
if env:
@@ -288,44 +309,39 @@ def _determine_specs_to_mirror(args):
specs = [s for s in specs if not s.external]
for spec in external_specs:
- msg = 'Skipping {0} as it is an external spec.'
+ msg = "Skipping {0} as it is an external spec."
tty.msg(msg.format(spec.cshort_spec))
if env_specs:
if args.versions_per_spec:
- tty.warn("Ignoring '--versions-per-spec' for mirroring specs"
- " in environment.")
+ tty.warn("Ignoring '--versions-per-spec' for mirroring specs" " in environment.")
mirror_specs = env_specs
else:
- if num_versions == 'all':
+ if num_versions == "all":
mirror_specs = spack.mirror.get_all_versions(specs)
else:
- mirror_specs = spack.mirror.get_matching_versions(
- specs, num_versions=num_versions)
- mirror_specs.sort(
- key=lambda s: (s.name, s.version))
+ mirror_specs = spack.mirror.get_matching_versions(specs, num_versions=num_versions)
+ mirror_specs.sort(key=lambda s: (s.name, s.version))
exclude_specs = []
if args.exclude_file:
exclude_specs.extend(_read_specs_from_file(args.exclude_file))
if args.exclude_specs:
- exclude_specs.extend(
- spack.cmd.parse_specs(str(args.exclude_specs).split()))
+ exclude_specs.extend(spack.cmd.parse_specs(str(args.exclude_specs).split()))
if exclude_specs:
mirror_specs = list(
- x for x in mirror_specs
- if not any(x.satisfies(y, strict=True) for y in exclude_specs))
+ x for x in mirror_specs if not any(x.satisfies(y, strict=True) for y in exclude_specs)
+ )
return mirror_specs
def mirror_create(args):
"""Create a directory to be used as a spack mirror, and fill it with
- package archives."""
+ package archives."""
mirror_specs = _determine_specs_to_mirror(args)
- mirror = spack.mirror.Mirror(
- args.directory or spack.config.get('config:source_cache'))
+ mirror = spack.mirror.Mirror(args.directory or spack.config.get("config:source_cache"))
directory = url_util.format(mirror.push_url)
@@ -333,16 +349,18 @@ def mirror_create(args):
# Actually do the work to create the mirror
present, mirrored, error = spack.mirror.create(
- directory, mirror_specs, args.skip_unstable_versions)
+ directory, mirror_specs, args.skip_unstable_versions
+ )
p, m, e = len(present), len(mirrored), len(error)
verb = "updated" if existed else "created"
tty.msg(
"Successfully %s mirror in %s" % (verb, directory),
"Archive stats:",
- " %-4d already present" % p,
- " %-4d added" % m,
- " %-4d failed to fetch." % e)
+ " %-4d already present" % p,
+ " %-4d added" % m,
+ " %-4d failed to fetch." % e,
+ )
if error:
tty.error("Failed downloads:")
tty.colify(s.cformat("{name}{@version}") for s in error)
@@ -363,18 +381,20 @@ def mirror_destroy(args):
def mirror(parser, args):
- action = {'create': mirror_create,
- 'destroy': mirror_destroy,
- 'add': mirror_add,
- 'remove': mirror_remove,
- 'rm': mirror_remove,
- 'set-url': mirror_set_url,
- 'list': mirror_list}
+ action = {
+ "create": mirror_create,
+ "destroy": mirror_destroy,
+ "add": mirror_add,
+ "remove": mirror_remove,
+ "rm": mirror_remove,
+ "set-url": mirror_set_url,
+ "list": mirror_list,
+ }
if args.no_checksum:
- spack.config.set('config:checksum', False, scope='command_line')
+ spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
action[args.mirror_command](args)
diff --git a/lib/spack/spack/cmd/module.py b/lib/spack/spack/cmd/module.py
index a9b9baf3ab..0212c7949e 100644
--- a/lib/spack/spack/cmd/module.py
+++ b/lib/spack/spack/cmd/module.py
@@ -17,7 +17,7 @@ _subcommands = {} # type: Dict[str, Callable]
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='module_command')
+ 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)
diff --git a/lib/spack/spack/cmd/modules/__init__.py b/lib/spack/spack/cmd/modules/__init__.py
index 2ccbf4b2cf..203c807dc1 100644
--- a/lib/spack/spack/cmd/modules/__init__.py
+++ b/lib/spack/spack/cmd/modules/__init__.py
@@ -26,68 +26,67 @@ level = "short"
def setup_parser(subparser):
subparser.add_argument(
- '-n', '--name',
- action='store', dest='module_set_name', default='default',
- help="Named module set to use from modules configuration."
+ "-n",
+ "--name",
+ action="store",
+ dest="module_set_name",
+ default="default",
+ help="Named module set to use from modules configuration.",
)
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='subparser_name')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="subparser_name")
- refresh_parser = sp.add_parser('refresh', help='regenerate module files')
+ refresh_parser = sp.add_parser("refresh", help="regenerate module files")
refresh_parser.add_argument(
- '--delete-tree',
- help='delete the module file tree before refresh',
- action='store_true'
+ "--delete-tree", help="delete the module file tree before refresh", action="store_true"
)
refresh_parser.add_argument(
- '--upstream-modules',
- help='generate modules for packages installed upstream',
- action='store_true'
- )
- arguments.add_common_arguments(
- refresh_parser, ['constraint', 'yes_to_all']
+ "--upstream-modules",
+ help="generate modules for packages installed upstream",
+ action="store_true",
)
+ arguments.add_common_arguments(refresh_parser, ["constraint", "yes_to_all"])
- find_parser = sp.add_parser('find', help='find module files for packages')
+ find_parser = sp.add_parser("find", help="find module files for packages")
find_parser.add_argument(
- '--full-path',
- help='display full path to module file',
- action='store_true'
- )
- arguments.add_common_arguments(
- find_parser, ['constraint', 'recurse_dependencies']
+ "--full-path", help="display full path to module file", action="store_true"
)
+ arguments.add_common_arguments(find_parser, ["constraint", "recurse_dependencies"])
- rm_parser = sp.add_parser('rm', help='remove module files')
- arguments.add_common_arguments(
- rm_parser, ['constraint', 'yes_to_all']
- )
+ rm_parser = sp.add_parser("rm", help="remove module files")
+ arguments.add_common_arguments(rm_parser, ["constraint", "yes_to_all"])
loads_parser = sp.add_parser(
- 'loads',
- help='prompt the list of modules associated with a constraint'
+ "loads", help="prompt the list of modules associated with a constraint"
)
add_loads_arguments(loads_parser)
- arguments.add_common_arguments(loads_parser, ['constraint'])
+ arguments.add_common_arguments(loads_parser, ["constraint"])
return sp
def add_loads_arguments(subparser):
subparser.add_argument(
- '--input-only', action='store_false', dest='shell',
- help='generate input for module command (instead of a shell script)'
+ "--input-only",
+ action="store_false",
+ dest="shell",
+ help="generate input for module command (instead of a shell script)",
)
subparser.add_argument(
- '-p', '--prefix', dest='prefix', default='',
- help='prepend to module names when issuing module load commands'
+ "-p",
+ "--prefix",
+ dest="prefix",
+ default="",
+ help="prepend to module names when issuing module load commands",
)
subparser.add_argument(
- '-x', '--exclude', dest='exclude', action='append', default=[],
- help="exclude package from output; may be specified multiple times"
- )
- arguments.add_common_arguments(
- subparser, ['recurse_dependencies']
+ "-x",
+ "--exclude",
+ dest="exclude",
+ action="append",
+ default=[],
+ help="exclude package from output; may be specified multiple times",
)
+ arguments.add_common_arguments(subparser, ["recurse_dependencies"])
class MultipleSpecsMatch(Exception):
@@ -117,11 +116,16 @@ def one_spec_or_raise(specs):
def check_module_set_name(name):
- modules_config = spack.config.get('modules')
- valid_names = set([key for key, value in modules_config.items()
- if isinstance(value, dict) and value.get('enable', [])])
- if 'enable' in modules_config and modules_config['enable']:
- valid_names.add('default')
+ modules_config = spack.config.get("modules")
+ valid_names = set(
+ [
+ key
+ for key, value in modules_config.items()
+ if isinstance(value, dict) and value.get("enable", [])
+ ]
+ )
+ if "enable" in modules_config and modules_config["enable"]:
+ valid_names.add("default")
if name not in valid_names:
msg = "Cannot use invalid module set %s." % name
@@ -134,7 +138,8 @@ _missing_modules_warning = (
" because they were excluded or because the spec is"
" associated with a package that is installed upstream and"
" that installation has not generated a module file. Rerun"
- " this command with debug output enabled for more details.")
+ " this command with debug output enabled for more details."
+)
def loads(module_type, specs, args, out=None):
@@ -154,42 +159,48 @@ def loads(module_type, specs, args, out=None):
seen_add = seen.add
for spec in specs_from_user_constraint:
specs.extend(
- [item for item in spec.traverse(order='post', cover='nodes')
- if not (item in seen or seen_add(item))]
+ [
+ item
+ for item in spec.traverse(order="post", cover="nodes")
+ if not (item in seen or seen_add(item))
+ ]
)
modules = list(
- (spec,
- spack.modules.common.get_module(
- module_type, spec, get_full_path=False,
- module_set_name=args.module_set_name, required=False))
- for spec in specs)
+ (
+ spec,
+ spack.modules.common.get_module(
+ module_type,
+ spec,
+ get_full_path=False,
+ module_set_name=args.module_set_name,
+ required=False,
+ ),
+ )
+ for spec in specs
+ )
module_commands = {
- 'tcl': 'module load ',
- 'lmod': 'module load ',
+ "tcl": "module load ",
+ "lmod": "module load ",
}
- d = {
- 'command': '' if not args.shell else module_commands[module_type],
- 'prefix': args.prefix
- }
+ d = {"command": "" if not args.shell else module_commands[module_type], "prefix": args.prefix}
exclude_set = set(args.exclude)
- load_template = '{comment}{exclude}{command}{prefix}{name}'
+ load_template = "{comment}{exclude}{command}{prefix}{name}"
for spec, mod in modules:
if not mod:
- module_output_for_spec = (
- '## excluded or missing from upstream: {0}'.format(
- spec.format()))
+ module_output_for_spec = "## excluded or missing from upstream: {0}".format(
+ spec.format()
+ )
else:
- d['exclude'] = '## ' if spec.name in exclude_set else ''
- d['comment'] = '' if not args.shell else '# {0}\n'.format(
- spec.format())
- d['name'] = mod
+ d["exclude"] = "## " if spec.name in exclude_set else ""
+ d["comment"] = "" if not args.shell else "# {0}\n".format(spec.format())
+ d["name"] = mod
module_output_for_spec = load_template.format(**d)
out.write(module_output_for_spec)
- out.write('\n')
+ out.write("\n")
if not all(mod for _, mod in modules):
tty.warn(_missing_modules_warning)
@@ -203,29 +214,39 @@ def find(module_type, specs, args):
if args.recurse_dependencies:
dependency_specs_to_retrieve = list(
- single_spec.traverse(root=False, order='post', cover='nodes',
- deptype=('link', 'run')))
+ single_spec.traverse(root=False, order="post", cover="nodes", deptype=("link", "run"))
+ )
else:
dependency_specs_to_retrieve = []
try:
modules = [
spack.modules.common.get_module(
- module_type, spec, args.full_path,
- module_set_name=args.module_set_name, required=False)
- for spec in dependency_specs_to_retrieve]
+ module_type,
+ spec,
+ args.full_path,
+ module_set_name=args.module_set_name,
+ required=False,
+ )
+ for spec in dependency_specs_to_retrieve
+ ]
modules.append(
spack.modules.common.get_module(
- module_type, single_spec, args.full_path,
- module_set_name=args.module_set_name, required=True))
+ module_type,
+ single_spec,
+ args.full_path,
+ module_set_name=args.module_set_name,
+ required=True,
+ )
+ )
except spack.modules.common.ModuleNotFoundError as e:
tty.die(e.message)
if not all(modules):
tty.warn(_missing_modules_warning)
modules = list(x for x in modules if x)
- print(' '.join(modules))
+ print(" ".join(modules))
def rm(module_type, specs, args):
@@ -235,26 +256,24 @@ def rm(module_type, specs, args):
check_module_set_name(args.module_set_name)
module_cls = spack.modules.module_types[module_type]
- module_exist = lambda x: os.path.exists(
- module_cls(x, args.module_set_name).layout.filename)
+ module_exist = lambda x: os.path.exists(module_cls(x, args.module_set_name).layout.filename)
specs_with_modules = [spec for spec in specs if module_exist(spec)]
- modules = [module_cls(spec, args.module_set_name)
- for spec in specs_with_modules]
+ modules = [module_cls(spec, args.module_set_name) for spec in specs_with_modules]
if not modules:
- tty.die('No module file matches your query')
+ tty.die("No module file matches your query")
# Ask for confirmation
if not args.yes_to_all:
- msg = 'You are about to remove {0} module files for:\n'
+ msg = "You are about to remove {0} module files for:\n"
tty.msg(msg.format(module_type))
spack.cmd.display_specs(specs_with_modules, long=True)
- print('')
- answer = tty.get_yes_or_no('Do you want to proceed?')
+ print("")
+ answer = tty.get_yes_or_no("Do you want to proceed?")
if not answer:
- tty.die('Will not remove any module files')
+ tty.die("Will not remove any module files")
# Remove the module files
for s in modules:
@@ -269,20 +288,20 @@ def refresh(module_type, specs, args):
# Prompt a message to the user about what is going to change
if not specs:
- tty.msg('No package matches your query')
+ tty.msg("No package matches your query")
return
if not args.upstream_modules:
specs = list(s for s in specs if not s.installed_upstream)
if not args.yes_to_all:
- msg = 'You are about to regenerate {types} module files for:\n'
+ msg = "You are about to regenerate {types} module files for:\n"
tty.msg(msg.format(types=module_type))
spack.cmd.display_specs(specs, long=True)
- print('')
- answer = tty.get_yes_or_no('Do you want to proceed?')
+ print("")
+ answer = tty.get_yes_or_no("Do you want to proceed?")
if not answer:
- tty.die('Module file regeneration aborted.')
+ tty.die("Module file regeneration aborted.")
# Cycle over the module types and regenerate module files
@@ -290,8 +309,8 @@ def refresh(module_type, specs, args):
# Skip unknown packages.
writers = [
- cls(spec, args.module_set_name) for spec in specs
- if spack.repo.path.exists(spec.name)]
+ cls(spec, args.module_set_name) for spec in specs if spack.repo.path.exists(spec.name)
+ ]
# Filter excluded packages early
writers = [x for x in writers if not x.conf.excluded]
@@ -302,40 +321,41 @@ def refresh(module_type, specs, args):
file2writer[item.layout.filename].append(item)
if len(file2writer) != len(writers):
- message = 'Name clashes detected in module files:\n'
+ message = "Name clashes detected in module files:\n"
for filename, writer_list in file2writer.items():
if len(writer_list) > 1:
- message += '\nfile: {0}\n'.format(filename)
+ message += "\nfile: {0}\n".format(filename)
for x in writer_list:
- message += 'spec: {0}\n'.format(x.spec.format())
+ message += "spec: {0}\n".format(x.spec.format())
tty.error(message)
- tty.error('Operation aborted')
+ tty.error("Operation aborted")
raise SystemExit(1)
if len(writers) == 0:
- msg = 'Nothing to be done for {0} module files.'
+ msg = "Nothing to be done for {0} module files."
tty.msg(msg.format(module_type))
return
# If we arrived here we have at least one writer
module_type_root = writers[0].layout.dirname()
# Proceed regenerating module files
- tty.msg('Regenerating {name} module files'.format(name=module_type))
+ tty.msg("Regenerating {name} module files".format(name=module_type))
if os.path.isdir(module_type_root) and args.delete_tree:
shutil.rmtree(module_type_root, ignore_errors=False)
filesystem.mkdirp(module_type_root)
# Dump module index after potentially removing module tree
spack.modules.common.generate_module_index(
- module_type_root, writers, overwrite=args.delete_tree)
+ module_type_root, writers, overwrite=args.delete_tree
+ )
for x in writers:
try:
x.write(overwrite=True)
except Exception as e:
tty.debug(e)
- msg = 'Could not write module file [{0}]'
+ msg = "Could not write module file [{0}]"
tty.warn(msg.format(x.layout.filename))
- tty.warn('\t--> {0} <--'.format(str(e)))
+ tty.warn("\t--> {0} <--".format(str(e)))
#: Dictionary populated with the list of sub-commands.
@@ -344,22 +364,14 @@ def refresh(module_type, specs, args):
#: - module_type: the type of module it refers to
#: - specs : the list of specs to be processed
#: - args : namespace containing the parsed command line arguments
-callbacks = {
- 'refresh': refresh,
- 'rm': rm,
- 'find': find,
- 'loads': loads
-}
+callbacks = {"refresh": refresh, "rm": rm, "find": find, "loads": loads}
def modules_cmd(parser, args, module_type, callbacks=callbacks):
# Qualifiers to be used when querying the db for specs
constraint_qualifiers = {
- 'refresh': {
- 'installed': True,
- 'known': True
- },
+ "refresh": {"installed": True, "known": True},
}
query_args = constraint_qualifiers.get(args.subparser_name, {})
@@ -373,9 +385,9 @@ def modules_cmd(parser, args, module_type, callbacks=callbacks):
except MultipleSpecsMatch:
msg = "the constraint '{query}' matches multiple packages:\n"
for s in specs:
- spec_fmt = '{hash:7} {name}{@version}{%compiler}'
- spec_fmt += '{compiler_flags}{variants}{arch=architecture}'
- msg += '\t' + s.cformat(spec_fmt) + '\n'
+ spec_fmt = "{hash:7} {name}{@version}{%compiler}"
+ spec_fmt += "{compiler_flags}{variants}{arch=architecture}"
+ msg += "\t" + s.cformat(spec_fmt) + "\n"
tty.error(msg.format(query=args.constraint))
tty.die(
"In this context exactly **one** match is needed: "
diff --git a/lib/spack/spack/cmd/modules/lmod.py b/lib/spack/spack/cmd/modules/lmod.py
index 8555822826..4e44cee5be 100644
--- a/lib/spack/spack/cmd/modules/lmod.py
+++ b/lib/spack/spack/cmd/modules/lmod.py
@@ -12,24 +12,20 @@ import spack.modules.lmod
def add_command(parser, command_dict):
- lmod_parser = parser.add_parser(
- 'lmod', help='manipulate hierarchical module files'
- )
+ lmod_parser = parser.add_parser("lmod", help="manipulate hierarchical module files")
sp = spack.cmd.modules.setup_parser(lmod_parser)
# Set default module file for a package
setdefault_parser = sp.add_parser(
- 'setdefault', help='set the default module file for a package'
- )
- spack.cmd.common.arguments.add_common_arguments(
- setdefault_parser, ['constraint']
+ "setdefault", help="set the default module file for a package"
)
+ spack.cmd.common.arguments.add_common_arguments(setdefault_parser, ["constraint"])
callbacks = dict(spack.cmd.modules.callbacks.items())
- callbacks['setdefault'] = setdefault
+ callbacks["setdefault"] = setdefault
- command_dict['lmod'] = functools.partial(
- spack.cmd.modules.modules_cmd, module_type='lmod', callbacks=callbacks
+ command_dict["lmod"] = functools.partial(
+ spack.cmd.modules.modules_cmd, module_type="lmod", callbacks=callbacks
)
@@ -41,18 +37,10 @@ def setdefault(module_type, specs, args):
#
spack.cmd.modules.one_spec_or_raise(specs)
spec = specs[0]
- data = {
- 'modules': {
- args.module_set_name: {
- 'lmod': {
- 'defaults': [str(spec)]
- }
- }
- }
- }
+ data = {"modules": {args.module_set_name: {"lmod": {"defaults": [str(spec)]}}}}
# Need to clear the cache if a SpackCommand is called during scripting
spack.modules.lmod.configuration_registry = {}
- scope = spack.config.InternalConfigScope('lmod-setdefault', data)
+ scope = spack.config.InternalConfigScope("lmod-setdefault", data)
with spack.config.override(scope):
- writer = spack.modules.module_types['lmod'](spec, args.module_set_name)
+ writer = spack.modules.module_types["lmod"](spec, args.module_set_name)
writer.update_module_defaults()
diff --git a/lib/spack/spack/cmd/modules/tcl.py b/lib/spack/spack/cmd/modules/tcl.py
index 6239a67c24..864e043c42 100644
--- a/lib/spack/spack/cmd/modules/tcl.py
+++ b/lib/spack/spack/cmd/modules/tcl.py
@@ -11,24 +11,20 @@ import spack.modules.tcl
def add_command(parser, command_dict):
- tcl_parser = parser.add_parser(
- 'tcl', help='manipulate non-hierarchical module files'
- )
+ tcl_parser = parser.add_parser("tcl", help="manipulate non-hierarchical module files")
sp = spack.cmd.modules.setup_parser(tcl_parser)
# Set default module file for a package
setdefault_parser = sp.add_parser(
- 'setdefault', help='set the default module file for a package'
- )
- spack.cmd.common.arguments.add_common_arguments(
- setdefault_parser, ['constraint']
+ "setdefault", help="set the default module file for a package"
)
+ spack.cmd.common.arguments.add_common_arguments(setdefault_parser, ["constraint"])
callbacks = dict(spack.cmd.modules.callbacks.items())
- callbacks['setdefault'] = setdefault
+ callbacks["setdefault"] = setdefault
- command_dict['tcl'] = functools.partial(
- spack.cmd.modules.modules_cmd, module_type='tcl', callbacks=callbacks
+ command_dict["tcl"] = functools.partial(
+ spack.cmd.modules.modules_cmd, module_type="tcl", callbacks=callbacks
)
@@ -37,17 +33,9 @@ def setdefault(module_type, specs, args):
# Currently, accepts only a single matching spec
spack.cmd.modules.one_spec_or_raise(specs)
spec = specs[0]
- data = {
- 'modules': {
- args.module_set_name: {
- 'tcl': {
- 'defaults': [str(spec)]
- }
- }
- }
- }
+ data = {"modules": {args.module_set_name: {"tcl": {"defaults": [str(spec)]}}}}
spack.modules.tcl.configuration_registry = {}
- scope = spack.config.InternalConfigScope('tcl-setdefault', data)
+ scope = spack.config.InternalConfigScope("tcl-setdefault", data)
with spack.config.override(scope):
- writer = spack.modules.module_types['tcl'](spec, args.module_set_name)
+ writer = spack.modules.module_types["tcl"](spec, args.module_set_name)
writer.update_module_defaults()
diff --git a/lib/spack/spack/cmd/patch.py b/lib/spack/spack/cmd/patch.py
index c9031a62c6..7a7dde1358 100644
--- a/lib/spack/spack/cmd/patch.py
+++ b/lib/spack/spack/cmd/patch.py
@@ -15,8 +15,7 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(
- subparser, ['no_checksum', 'deprecated', 'specs'])
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated", "specs"])
def patch(parser, args):
@@ -24,10 +23,10 @@ def patch(parser, args):
tty.die("patch requires at least one spec argument")
if args.no_checksum:
- spack.config.set('config:checksum', False, scope='command_line')
+ spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
specs = spack.cmd.parse_specs(args.specs, concretize=True)
for spec in specs:
diff --git a/lib/spack/spack/cmd/pkg.py b/lib/spack/spack/cmd/pkg.py
index dec604ddf3..6de7a4bcc1 100644
--- a/lib/spack/spack/cmd/pkg.py
+++ b/lib/spack/spack/cmd/pkg.py
@@ -22,60 +22,61 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(
- metavar='SUBCOMMAND', dest='pkg_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="pkg_command")
- add_parser = sp.add_parser('add', help=pkg_add.__doc__)
- arguments.add_common_arguments(add_parser, ['packages'])
+ add_parser = sp.add_parser("add", help=pkg_add.__doc__)
+ arguments.add_common_arguments(add_parser, ["packages"])
- list_parser = sp.add_parser('list', help=pkg_list.__doc__)
- list_parser.add_argument('rev', default='HEAD', nargs='?',
- help="revision to list packages for")
+ list_parser = sp.add_parser("list", help=pkg_list.__doc__)
+ list_parser.add_argument(
+ "rev", default="HEAD", nargs="?", help="revision to list packages for"
+ )
- diff_parser = sp.add_parser('diff', help=pkg_diff.__doc__)
+ diff_parser = sp.add_parser("diff", help=pkg_diff.__doc__)
diff_parser.add_argument(
- 'rev1', nargs='?', default='HEAD^',
- help="revision to compare against")
+ "rev1", nargs="?", default="HEAD^", help="revision to compare against"
+ )
diff_parser.add_argument(
- 'rev2', nargs='?', default='HEAD',
- help="revision to compare to rev1 (default is HEAD)")
+ "rev2", nargs="?", default="HEAD", help="revision to compare to rev1 (default is HEAD)"
+ )
- add_parser = sp.add_parser('added', help=pkg_added.__doc__)
+ add_parser = sp.add_parser("added", help=pkg_added.__doc__)
+ add_parser.add_argument("rev1", nargs="?", default="HEAD^", help="revision to compare against")
add_parser.add_argument(
- 'rev1', nargs='?', default='HEAD^',
- help="revision to compare against")
- add_parser.add_argument(
- 'rev2', nargs='?', default='HEAD',
- help="revision to compare to rev1 (default is HEAD)")
+ "rev2", nargs="?", default="HEAD", help="revision to compare to rev1 (default is HEAD)"
+ )
- add_parser = sp.add_parser('changed', help=pkg_changed.__doc__)
- add_parser.add_argument(
- 'rev1', nargs='?', default='HEAD^',
- help="revision to compare against")
+ add_parser = sp.add_parser("changed", help=pkg_changed.__doc__)
+ add_parser.add_argument("rev1", nargs="?", default="HEAD^", help="revision to compare against")
add_parser.add_argument(
- 'rev2', nargs='?', default='HEAD',
- help="revision to compare to rev1 (default is HEAD)")
+ "rev2", nargs="?", default="HEAD", help="revision to compare to rev1 (default is HEAD)"
+ )
add_parser.add_argument(
- '-t', '--type', action='store', default='C',
- help="Types of changes to show (A: added, R: removed, "
- "C: changed); default is 'C'")
-
- rm_parser = sp.add_parser('removed', help=pkg_removed.__doc__)
- rm_parser.add_argument(
- 'rev1', nargs='?', default='HEAD^',
- help="revision to compare against")
+ "-t",
+ "--type",
+ action="store",
+ default="C",
+ help="Types of changes to show (A: added, R: removed, " "C: changed); default is 'C'",
+ )
+
+ rm_parser = sp.add_parser("removed", help=pkg_removed.__doc__)
+ rm_parser.add_argument("rev1", nargs="?", default="HEAD^", help="revision to compare against")
rm_parser.add_argument(
- 'rev2', nargs='?', default='HEAD',
- help="revision to compare to rev1 (default is HEAD)")
+ "rev2", nargs="?", default="HEAD", help="revision to compare to rev1 (default is HEAD)"
+ )
- source_parser = sp.add_parser('source', help=pkg_source.__doc__)
+ source_parser = sp.add_parser("source", help=pkg_source.__doc__)
source_parser.add_argument(
- '-c', '--canonical', action='store_true', default=False,
- help="dump canonical source as used by package hash.")
- arguments.add_common_arguments(source_parser, ['spec'])
+ "-c",
+ "--canonical",
+ action="store_true",
+ default=False,
+ help="dump canonical source as used by package hash.",
+ )
+ arguments.add_common_arguments(source_parser, ["spec"])
- hash_parser = sp.add_parser('hash', help=pkg_hash.__doc__)
- arguments.add_common_arguments(hash_parser, ['spec'])
+ hash_parser = sp.add_parser("hash", help=pkg_hash.__doc__)
+ arguments.add_common_arguments(hash_parser, ["spec"])
def pkg_add(args):
@@ -161,13 +162,13 @@ def pkg(parser, args):
tty.die("This spack is not a git clone. Can't use 'spack pkg'")
action = {
- 'add': pkg_add,
- 'diff': pkg_diff,
- 'list': pkg_list,
- 'removed': pkg_removed,
- 'added': pkg_added,
- 'changed': pkg_changed,
- 'source': pkg_source,
- 'hash': pkg_hash,
+ "add": pkg_add,
+ "diff": pkg_diff,
+ "list": pkg_list,
+ "removed": pkg_removed,
+ "added": pkg_added,
+ "changed": pkg_changed,
+ "source": pkg_source,
+ "hash": pkg_hash,
}
action[args.pkg_command](args)
diff --git a/lib/spack/spack/cmd/providers.py b/lib/spack/spack/cmd/providers.py
index 97111a4a8a..2c1b146f6a 100644
--- a/lib/spack/spack/cmd/providers.py
+++ b/lib/spack/spack/cmd/providers.py
@@ -18,12 +18,11 @@ level = "long"
def setup_parser(subparser):
- subparser.epilog = 'If called without argument returns ' \
- 'the list of all valid virtual packages'
+ subparser.epilog = (
+ "If called without argument returns " "the list of all valid virtual packages"
+ )
subparser.add_argument(
- 'virtual_package',
- nargs='*',
- help='find packages that provide this virtual package'
+ "virtual_package", nargs="*", help="find packages that provide this virtual package"
)
@@ -33,7 +32,7 @@ def providers(parser, args):
buffer = six.StringIO()
isatty = sys.stdout.isatty()
if isatty:
- buffer.write('Virtual packages:\n')
+ buffer.write("Virtual packages:\n")
colify.colify(valid_virtuals, output=buffer, tty=isatty, indent=4)
valid_virtuals_str = buffer.getvalue()
@@ -46,12 +45,10 @@ def providers(parser, args):
specs = spack.cmd.parse_specs(args.virtual_package)
# Check prerequisites
- non_virtual = [
- str(s) for s in specs if not s.virtual or s.name not in valid_virtuals
- ]
+ non_virtual = [str(s) for s in specs if not s.virtual or s.name not in valid_virtuals]
if non_virtual:
- msg = 'non-virtual specs cannot be part of the query '
- msg += '[{0}]\n'.format(', '.join(non_virtual))
+ msg = "non-virtual specs cannot be part of the query "
+ msg += "[{0}]\n".format(", ".join(non_virtual))
msg += valid_virtuals_str
raise ValueError(msg)
@@ -60,4 +57,4 @@ def providers(parser, args):
if sys.stdout.isatty():
print("{0}:".format(spec))
spack.cmd.display_specs(sorted(spack.repo.path.providers_for(spec)))
- print('')
+ print("")
diff --git a/lib/spack/spack/cmd/pydoc.py b/lib/spack/spack/cmd/pydoc.py
index 020e1c9919..c6922a23db 100644
--- a/lib/spack/spack/cmd/pydoc.py
+++ b/lib/spack/spack/cmd/pydoc.py
@@ -10,7 +10,7 @@ level = "long"
def setup_parser(subparser):
- subparser.add_argument('entity', help="run pydoc help on entity")
+ subparser.add_argument("entity", help="run pydoc help on entity")
def pydoc(parser, args):
diff --git a/lib/spack/spack/cmd/python.py b/lib/spack/spack/cmd/python.py
index e43996fb47..028184b817 100644
--- a/lib/spack/spack/cmd/python.py
+++ b/lib/spack/spack/cmd/python.py
@@ -23,27 +23,37 @@ level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-V', '--version', action='store_true', dest='python_version',
- help='print the Python version number and exit')
+ "-V",
+ "--version",
+ action="store_true",
+ dest="python_version",
+ help="print the Python version number and exit",
+ )
+ subparser.add_argument("-c", dest="python_command", help="command to execute")
subparser.add_argument(
- '-c', dest='python_command', help='command to execute')
+ "-i",
+ dest="python_interpreter",
+ help="python interpreter",
+ choices=["python", "ipython"],
+ default="python",
+ )
subparser.add_argument(
- '-i', dest='python_interpreter', help='python interpreter',
- choices=['python', 'ipython'], default='python')
+ "-m", dest="module", action="store", help="run library module as a script"
+ )
subparser.add_argument(
- '-m', dest='module', action='store',
- help='run library module as a script')
+ "--path",
+ action="store_true",
+ dest="show_path",
+ help="show path to python interpreter that spack uses",
+ )
subparser.add_argument(
- '--path', action='store_true', dest='show_path',
- help='show path to python interpreter that spack uses')
- subparser.add_argument(
- 'python_args', nargs=argparse.REMAINDER,
- help="file to run plus arguments")
+ "python_args", nargs=argparse.REMAINDER, help="file to run plus arguments"
+ )
def python(parser, args, unknown_args):
if args.python_version:
- print('Python', platform.python_version())
+ print("Python", platform.python_version())
return
if args.show_path:
@@ -51,7 +61,7 @@ def python(parser, args, unknown_args):
return
if args.module:
- sys.argv = ['spack-python'] + unknown_args + args.python_args
+ sys.argv = ["spack-python"] + unknown_args + args.python_args
runpy.run_module(args.module, run_name="__main__", alter_sys=True)
return
@@ -87,42 +97,49 @@ def ipython_interpreter(args):
if args.python_args:
IPython.start_ipython(argv=args.python_args)
elif args.python_command:
- IPython.start_ipython(argv=['-c', args.python_command])
+ IPython.start_ipython(argv=["-c", args.python_command])
else:
- header = ("Spack version %s\nPython %s, %s %s"
- % (spack.spack_version, platform.python_version(),
- platform.system(), platform.machine()))
+ header = "Spack version %s\nPython %s, %s %s" % (
+ spack.spack_version,
+ platform.python_version(),
+ platform.system(),
+ platform.machine(),
+ )
__name__ = "__main__" # noqa: F841
IPython.embed(module="__main__", header=header)
def python_interpreter(args):
- """A python interpreter is the default interpreter
- """
+ """A python interpreter is the default interpreter"""
# Fake a main python shell by setting __name__ to __main__.
- console = code.InteractiveConsole({'__name__': '__main__',
- 'spack': spack})
+ console = code.InteractiveConsole({"__name__": "__main__", "spack": spack})
if "PYTHONSTARTUP" in os.environ:
startup_file = os.environ["PYTHONSTARTUP"]
if os.path.isfile(startup_file):
with open(startup_file) as startup:
- console.runsource(startup.read(), startup_file, 'exec')
+ console.runsource(startup.read(), startup_file, "exec")
if args.python_command:
console.runsource(args.python_command)
elif args.python_args:
sys.argv = args.python_args
with open(args.python_args[0]) as file:
- console.runsource(file.read(), args.python_args[0], 'exec')
+ console.runsource(file.read(), args.python_args[0], "exec")
else:
# Provides readline support, allowing user to use arrow keys
- console.push('import readline')
+ console.push("import readline")
# Provide tabcompletion
- console.push('from rlcompleter import Completer')
- console.push('readline.set_completer(Completer(locals()).complete)')
+ console.push("from rlcompleter import Completer")
+ console.push("readline.set_completer(Completer(locals()).complete)")
console.push('readline.parse_and_bind("tab: complete")')
- console.interact("Spack version %s\nPython %s, %s %s"
- % (spack.spack_version, platform.python_version(),
- platform.system(), platform.machine()))
+ console.interact(
+ "Spack version %s\nPython %s, %s %s"
+ % (
+ spack.spack_version,
+ platform.python_version(),
+ platform.system(),
+ platform.machine(),
+ )
+ )
diff --git a/lib/spack/spack/cmd/remove.py b/lib/spack/spack/cmd/remove.py
index 9da89fc35c..ae934b3b37 100644
--- a/lib/spack/spack/cmd/remove.py
+++ b/lib/spack/spack/cmd/remove.py
@@ -8,32 +8,36 @@ import llnl.util.tty as tty
import spack.cmd
import spack.cmd.common.arguments as arguments
-description = 'remove specs from an environment'
+description = "remove specs from an environment"
section = "environments"
level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-a', '--all', action='store_true',
- help="remove all specs from (clear) the environment")
- subparser.add_argument('-l', '--list-name',
- dest='list_name', default='specs',
- help="name of the list to remove specs from")
+ "-a", "--all", action="store_true", help="remove all specs from (clear) the environment"
+ )
subparser.add_argument(
- '-f', '--force', action='store_true',
- help="remove concretized spec (if any) immediately")
- arguments.add_common_arguments(subparser, ['specs'])
+ "-l",
+ "--list-name",
+ dest="list_name",
+ default="specs",
+ help="name of the list to remove specs from",
+ )
+ subparser.add_argument(
+ "-f", "--force", action="store_true", help="remove concretized spec (if any) immediately"
+ )
+ arguments.add_common_arguments(subparser, ["specs"])
def remove(parser, args):
- env = spack.cmd.require_active_env(cmd_name='remove')
+ env = spack.cmd.require_active_env(cmd_name="remove")
with env.write_transaction():
if args.all:
env.clear()
else:
for spec in spack.cmd.parse_specs(args.specs):
- tty.msg('Removing %s from environment %s' % (spec, env.name))
+ tty.msg("Removing %s from environment %s" % (spec, env.name))
env.remove(spec, args.list_name, force=args.force)
env.write()
diff --git a/lib/spack/spack/cmd/repo.py b/lib/spack/spack/cmd/repo.py
index 5fd6ba463e..904b596a5c 100644
--- a/lib/spack/spack/cmd/repo.py
+++ b/lib/spack/spack/cmd/repo.py
@@ -20,54 +20,59 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='repo_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="repo_command")
scopes = spack.config.scopes()
scopes_metavar = spack.config.scopes_metavar
# Create
- create_parser = sp.add_parser('create', help=repo_create.__doc__)
+ create_parser = sp.add_parser("create", help=repo_create.__doc__)
+ create_parser.add_argument("directory", help="directory to create the repo in")
create_parser.add_argument(
- 'directory', help="directory to create the repo in")
- create_parser.add_argument(
- 'namespace', help="namespace to identify packages in the repository. "
- "defaults to the directory name", nargs='?')
+ "namespace",
+ help="namespace to identify packages in the repository. " "defaults to the directory name",
+ nargs="?",
+ )
# List
- list_parser = sp.add_parser('list', help=repo_list.__doc__)
+ list_parser = sp.add_parser("list", help=repo_list.__doc__)
list_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_list_scope(),
- help="configuration scope to read from")
+ help="configuration scope to read from",
+ )
# Add
- add_parser = sp.add_parser('add', help=repo_add.__doc__)
- add_parser.add_argument(
- 'path', help="path to a Spack package repository directory")
+ add_parser = sp.add_parser("add", help=repo_add.__doc__)
+ add_parser.add_argument("path", help="path to a Spack package repository directory")
add_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope to modify")
+ help="configuration scope to modify",
+ )
# Remove
- remove_parser = sp.add_parser(
- 'remove', help=repo_remove.__doc__, aliases=['rm'])
+ remove_parser = sp.add_parser("remove", help=repo_remove.__doc__, aliases=["rm"])
remove_parser.add_argument(
- 'namespace_or_path',
- help="namespace or path of a Spack package repository")
+ "namespace_or_path", help="namespace or path of a Spack package repository"
+ )
remove_parser.add_argument(
- '--scope', choices=scopes, metavar=scopes_metavar,
+ "--scope",
+ choices=scopes,
+ metavar=scopes_metavar,
default=spack.config.default_modify_scope(),
- help="configuration scope to modify")
+ help="configuration scope to modify",
+ )
def repo_create(args):
"""Create a new package repository."""
- full_path, namespace = spack.repo.create_repo(
- args.directory, args.namespace
- )
+ full_path, namespace = spack.repo.create_repo(args.directory, args.namespace)
tty.msg("Created repo with namespace '%s'." % namespace)
- tty.msg("To register it with spack, run this command:",
- 'spack repo add %s' % full_path)
+ tty.msg("To register it with spack, run this command:", "spack repo add %s" % full_path)
def repo_add(args):
@@ -89,7 +94,7 @@ def repo_add(args):
repo = spack.repo.Repo(canon_path)
# If that succeeds, finally add it to the configuration.
- repos = spack.config.get('repos', scope=args.scope)
+ repos = spack.config.get("repos", scope=args.scope)
if not repos:
repos = []
@@ -97,13 +102,13 @@ def repo_add(args):
tty.die("Repository is already registered with Spack: %s" % path)
repos.insert(0, canon_path)
- spack.config.set('repos', repos, args.scope)
+ spack.config.set("repos", repos, args.scope)
tty.msg("Added repo with namespace '%s'." % repo.namespace)
def repo_remove(args):
"""Remove a repository from Spack's configuration."""
- repos = spack.config.get('repos', scope=args.scope)
+ repos = spack.config.get("repos", scope=args.scope)
namespace_or_path = args.namespace_or_path
# If the argument is a path, remove that repository from config.
@@ -112,7 +117,7 @@ def repo_remove(args):
repo_canon_path = spack.util.path.canonicalize_path(repo_path)
if canon_path == repo_canon_path:
repos.remove(repo_path)
- spack.config.set('repos', repos, args.scope)
+ spack.config.set("repos", repos, args.scope)
tty.msg("Removed repository %s" % repo_path)
return
@@ -122,20 +127,18 @@ def repo_remove(args):
repo = spack.repo.Repo(path)
if repo.namespace == namespace_or_path:
repos.remove(path)
- spack.config.set('repos', repos, args.scope)
- tty.msg("Removed repository %s with namespace '%s'."
- % (repo.root, repo.namespace))
+ spack.config.set("repos", repos, args.scope)
+ tty.msg("Removed repository %s with namespace '%s'." % (repo.root, repo.namespace))
return
except spack.repo.RepoError:
continue
- tty.die("No repository with path or namespace: %s"
- % namespace_or_path)
+ tty.die("No repository with path or namespace: %s" % namespace_or_path)
def repo_list(args):
"""Show registered repositories and their namespaces."""
- roots = spack.config.get('repos', scope=args.scope)
+ roots = spack.config.get("repos", scope=args.scope)
repos = []
for r in roots:
try:
@@ -158,9 +161,11 @@ def repo_list(args):
def repo(parser, args):
- action = {'create': repo_create,
- 'list': repo_list,
- 'add': repo_add,
- 'remove': repo_remove,
- 'rm': repo_remove}
+ action = {
+ "create": repo_create,
+ "list": repo_list,
+ "add": repo_add,
+ "remove": repo_remove,
+ "rm": repo_remove,
+ }
action[args.repo_command](args)
diff --git a/lib/spack/spack/cmd/resource.py b/lib/spack/spack/cmd/resource.py
index 82a2d2c687..8d6a3c7485 100644
--- a/lib/spack/spack/cmd/resource.py
+++ b/lib/spack/spack/cmd/resource.py
@@ -18,15 +18,15 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(
- metavar='SUBCOMMAND', dest='resource_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="resource_command")
- list_parser = sp.add_parser('list', help=resource_list.__doc__)
- list_parser.add_argument('--only-hashes', action='store_true',
- help='only print sha256 hashes of resources')
+ list_parser = sp.add_parser("list", help=resource_list.__doc__)
+ list_parser.add_argument(
+ "--only-hashes", action="store_true", help="only print sha256 hashes of resources"
+ )
- show_parser = sp.add_parser('show', help=resource_show.__doc__)
- show_parser.add_argument('hash', action='store')
+ show_parser = sp.add_parser("show", help=resource_show.__doc__)
+ show_parser.add_argument("hash", action="store")
def _show_patch(sha256):
@@ -37,24 +37,23 @@ def _show_patch(sha256):
if not data:
candidates = [k for k in patches if k.startswith(sha256)]
if not candidates:
- tty.die('no such resource: %s' % sha256)
+ tty.die("no such resource: %s" % sha256)
elif len(candidates) > 1:
- tty.die('%s: ambiguous hash prefix. Options are:',
- *candidates)
+ tty.die("%s: ambiguous hash prefix. Options are:", *candidates)
sha256 = candidates[0]
data = patches.get(sha256)
- color.cprint('@c{%s}' % sha256)
+ color.cprint("@c{%s}" % sha256)
for package, rec in data.items():
- owner = rec['owner']
+ owner = rec["owner"]
- if 'relative_path' in rec:
+ if "relative_path" in rec:
pkg_dir = spack.repo.path.get_pkg_class(owner).package_dir
- path = os.path.join(pkg_dir, rec['relative_path'])
+ path = os.path.join(pkg_dir, rec["relative_path"])
print(" path: %s" % path)
else:
- print(" url: %s" % rec['url'])
+ print(" url: %s" % rec["url"])
print(" applies to: %s" % package)
if owner != package:
@@ -77,8 +76,5 @@ def resource_show(args):
def resource(parser, args):
- action = {
- 'list': resource_list,
- 'show': resource_show
- }
+ action = {"list": resource_list, "show": resource_show}
action[args.resource_command](args)
diff --git a/lib/spack/spack/cmd/restage.py b/lib/spack/spack/cmd/restage.py
index 278d6ca217..eeac460fe7 100644
--- a/lib/spack/spack/cmd/restage.py
+++ b/lib/spack/spack/cmd/restage.py
@@ -15,7 +15,7 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['specs'])
+ arguments.add_common_arguments(subparser, ["specs"])
def restage(parser, args):
diff --git a/lib/spack/spack/cmd/solve.py b/lib/spack/spack/cmd/solve.py
index 29f96ba485..48f0226022 100644
--- a/lib/spack/spack/cmd/solve.py
+++ b/lib/spack/spack/cmd/solve.py
@@ -22,56 +22,82 @@ import spack.package_base
import spack.solver.asp as asp
description = "concretize a specs using an ASP solver"
-section = 'developer'
-level = 'long'
+section = "developer"
+level = "long"
#: output options
-show_options = ('asp', 'opt', 'output', 'solutions')
+show_options = ("asp", "opt", "output", "solutions")
def setup_parser(subparser):
# Solver arguments
subparser.add_argument(
- '--show', action='store', default='opt,solutions',
+ "--show",
+ action="store",
+ default="opt,solutions",
help="select outputs: comma-separated list of: \n"
" asp asp program text\n"
" opt optimization criteria for best model\n"
" output raw clingo output\n"
" solutions models found by asp program\n"
- " all all of the above"
+ " all all of the above",
)
subparser.add_argument(
- '--models', action='store', type=int, default=0,
- help="number of solutions to search (default 0 for all)")
+ "--models",
+ action="store",
+ type=int,
+ default=0,
+ help="number of solutions to search (default 0 for all)",
+ )
# Below are arguments w.r.t. spec display (like spack spec)
- arguments.add_common_arguments(
- subparser, ['long', 'very_long', 'install_status']
- )
+ arguments.add_common_arguments(subparser, ["long", "very_long", "install_status"])
subparser.add_argument(
- '-y', '--yaml', action='store_const', dest='format', default=None,
- const='yaml', help='print concrete spec as yaml')
- subparser.add_argument(
- '-j', '--json', action='store_const', dest='format', default=None,
- const='json', help='print concrete spec as json')
+ "-y",
+ "--yaml",
+ action="store_const",
+ dest="format",
+ default=None,
+ const="yaml",
+ help="print concrete spec as yaml",
+ )
subparser.add_argument(
- '-c', '--cover', action='store',
- default='nodes', choices=['nodes', 'edges', 'paths'],
- help='how extensively to traverse the DAG (default: nodes)')
+ "-j",
+ "--json",
+ action="store_const",
+ dest="format",
+ default=None,
+ const="json",
+ help="print concrete spec as json",
+ )
subparser.add_argument(
- '-N', '--namespaces', action='store_true', default=False,
- help='show fully qualified package names')
+ "-c",
+ "--cover",
+ action="store",
+ default="nodes",
+ choices=["nodes", "edges", "paths"],
+ help="how extensively to traverse the DAG (default: nodes)",
+ )
subparser.add_argument(
- '-t', '--types', action='store_true', default=False,
- help='show dependency types')
+ "-N",
+ "--namespaces",
+ action="store_true",
+ default=False,
+ help="show fully qualified package names",
+ )
subparser.add_argument(
- '--timers', action='store_true', default=False,
- help='print out timers for different solve phases')
+ "-t", "--types", action="store_true", default=False, help="show dependency types"
+ )
subparser.add_argument(
- '--stats', action='store_true', default=False,
- help='print out statistics from clingo')
+ "--timers",
+ action="store_true",
+ default=False,
+ help="print out timers for different solve phases",
+ )
subparser.add_argument(
- 'specs', nargs=argparse.REMAINDER, help="specs of packages")
+ "--stats", action="store_true", default=False, help="print out statistics from clingo"
+ )
+ subparser.add_argument("specs", nargs=argparse.REMAINDER, help="specs of packages")
spack.cmd.common.arguments.add_concretizer_args(subparser)
@@ -84,14 +110,13 @@ def _process_result(result, show, required_format, kwargs):
tty.msg("Optimization Criteria:")
maxlen = max(len(s[2]) for s in result.criteria)
- color.cprint(
- "@*{ Priority Criterion %sInstalled ToBuild}" % ((maxlen - 10) * " ")
- )
+ color.cprint("@*{ Priority Criterion %sInstalled ToBuild}" % ((maxlen - 10) * " "))
fmt = " @K{%%-8d} %%-%ds%%9s %%7s" % maxlen
for i, (installed_cost, build_cost, name) in enumerate(result.criteria, 1):
color.cprint(
- fmt % (
+ fmt
+ % (
i,
name,
"-" if build_cost is None else installed_cost,
@@ -101,17 +126,16 @@ def _process_result(result, show, required_format, kwargs):
print()
# dump the solutions as concretized specs
- if 'solutions' in show:
+ if "solutions" in show:
for spec in result.specs:
# With -y, just print YAML to output.
- if required_format == 'yaml':
+ if required_format == "yaml":
# use write because to_yaml already has a newline.
sys.stdout.write(spec.to_yaml(hash=ht.dag_hash))
- elif required_format == 'json':
+ elif required_format == "json":
sys.stdout.write(spec.to_json(hash=ht.dag_hash))
else:
- sys.stdout.write(
- spec.tree(color=sys.stdout.isatty(), **kwargs))
+ sys.stdout.write(spec.tree(color=sys.stdout.isatty(), **kwargs))
print()
if result.unsolved_specs and "solutions" in show:
@@ -123,27 +147,28 @@ def _process_result(result, show, required_format, kwargs):
def solve(parser, args):
# these are the same options as `spack spec`
- name_fmt = '{namespace}.{name}' if args.namespaces else '{name}'
- fmt = '{@version}{%compiler}{compiler_flags}{variants}{arch=architecture}'
+ name_fmt = "{namespace}.{name}" if args.namespaces else "{name}"
+ fmt = "{@version}{%compiler}{compiler_flags}{variants}{arch=architecture}"
install_status_fn = spack.spec.Spec.install_status
kwargs = {
- 'cover': args.cover,
- 'format': name_fmt + fmt,
- 'hashlen': None if args.very_long else 7,
- 'show_types': args.types,
- 'status_fn': install_status_fn if args.install_status else None,
- 'hashes': args.long or args.very_long
+ "cover": args.cover,
+ "format": name_fmt + fmt,
+ "hashlen": None if args.very_long else 7,
+ "show_types": args.types,
+ "status_fn": install_status_fn if args.install_status else None,
+ "hashes": args.long or args.very_long,
}
# process output options
- show = re.split(r'\s*,\s*', args.show)
- if 'all' in show:
+ show = re.split(r"\s*,\s*", args.show)
+ if "all" in show:
show = show_options
for d in show:
if d not in show_options:
raise ValueError(
"Invalid option for '--show': '%s'\nchoose from: (%s)"
- % (d, ', '.join(show_options + ('all',))))
+ % (d, ", ".join(show_options + ("all",)))
+ )
models = args.models
if models < 0:
@@ -162,9 +187,9 @@ def solve(parser, args):
solver = asp.Solver()
output = sys.stdout if "asp" in show else None
- setup_only = set(show) == {'asp'}
- unify = spack.config.get('concretizer:unify')
- if unify != 'when_possible':
+ setup_only = set(show) == {"asp"}
+ unify = spack.config.get("concretizer:unify")
+ if unify != "when_possible":
# set up solver parameters
# Note: reuse and other concretizer prefs are passed as configuration
result = solver.solve(
@@ -173,14 +198,16 @@ def solve(parser, args):
models=models,
timers=args.timers,
stats=args.stats,
- setup_only=setup_only
+ setup_only=setup_only,
)
if not setup_only:
_process_result(result, show, required_format, kwargs)
else:
- for idx, result in enumerate(solver.solve_in_rounds(
+ for idx, result in enumerate(
+ solver.solve_in_rounds(
specs, out=output, models=models, timers=args.timers, stats=args.stats
- )):
+ )
+ ):
if "solutions" in show:
tty.msg("ROUND {0}".format(idx))
tty.msg("")
diff --git a/lib/spack/spack/cmd/spec.py b/lib/spack/spack/cmd/spec.py
index 1e5b213fe4..b701fbc83c 100644
--- a/lib/spack/spack/cmd/spec.py
+++ b/lib/spack/spack/cmd/spec.py
@@ -31,44 +31,65 @@ specs are used instead
for further documentation regarding the spec syntax, see:
spack help --spec
"""
- arguments.add_common_arguments(
- subparser, ['long', 'very_long', 'install_status']
- )
+ arguments.add_common_arguments(subparser, ["long", "very_long", "install_status"])
format_group = subparser.add_mutually_exclusive_group()
format_group.add_argument(
- '-y', '--yaml', action='store_const', dest='format', default=None,
- const='yaml', help='print concrete spec as YAML')
+ "-y",
+ "--yaml",
+ action="store_const",
+ dest="format",
+ default=None,
+ const="yaml",
+ help="print concrete spec as YAML",
+ )
format_group.add_argument(
- '-j', '--json', action='store_const', dest='format', default=None,
- const='json', help='print concrete spec as JSON')
+ "-j",
+ "--json",
+ action="store_const",
+ dest="format",
+ default=None,
+ const="json",
+ help="print concrete spec as JSON",
+ )
format_group.add_argument(
- '--format', action='store', default=None,
- help='print concrete spec with the specified format string')
+ "--format",
+ action="store",
+ default=None,
+ help="print concrete spec with the specified format string",
+ )
subparser.add_argument(
- '-c', '--cover', action='store',
- default='nodes', choices=['nodes', 'edges', 'paths'],
- help='how extensively to traverse the DAG (default: nodes)')
+ "-c",
+ "--cover",
+ action="store",
+ default="nodes",
+ choices=["nodes", "edges", "paths"],
+ help="how extensively to traverse the DAG (default: nodes)",
+ )
subparser.add_argument(
- '-N', '--namespaces', action='store_true', default=False,
- help='show fully qualified package names')
+ "-N",
+ "--namespaces",
+ action="store_true",
+ default=False,
+ help="show fully qualified package names",
+ )
subparser.add_argument(
- '-t', '--types', action='store_true', default=False,
- help='show dependency types')
- arguments.add_common_arguments(subparser, ['specs'])
+ "-t", "--types", action="store_true", default=False, help="show dependency types"
+ )
+ arguments.add_common_arguments(subparser, ["specs"])
spack.cmd.common.arguments.add_concretizer_args(subparser)
def spec(parser, args):
- name_fmt = '{namespace}.{name}' if args.namespaces else '{name}'
- fmt = '{@version}{%compiler}{compiler_flags}{variants}{arch=architecture}'
+ name_fmt = "{namespace}.{name}" if args.namespaces else "{name}"
+ fmt = "{@version}{%compiler}{compiler_flags}{variants}{arch=architecture}"
install_status_fn = spack.spec.Spec.install_status
tree_kwargs = {
- 'cover': args.cover,
- 'format': name_fmt + fmt,
- 'hashlen': None if args.very_long else 7,
- 'show_types': args.types,
- 'status_fn': install_status_fn if args.install_status else None
+ "cover": args.cover,
+ "format": name_fmt + fmt,
+ "hashlen": None if args.very_long else 7,
+ "show_types": args.types,
+ "status_fn": install_status_fn if args.install_status else None,
}
# use a read transaction if we are getting install status for every
@@ -93,10 +114,10 @@ def spec(parser, args):
for (input, output) in specs:
# With -y, just print YAML to output.
if args.format:
- if args.format == 'yaml':
+ if args.format == "yaml":
# use write because to_yaml already has a newline.
sys.stdout.write(output.to_yaml(hash=ht.dag_hash))
- elif args.format == 'json':
+ elif args.format == "json":
print(output.to_json(hash=ht.dag_hash))
else:
print(output.format(args.format))
@@ -107,12 +128,12 @@ def spec(parser, args):
# repeated output. This happens because parse_specs outputs concrete
# specs for `/hash` inputs.
if not input.concrete:
- tree_kwargs['hashes'] = False # Always False for input spec
+ tree_kwargs["hashes"] = False # Always False for input spec
print("Input spec")
print("--------------------------------")
print(input.tree(**tree_kwargs))
print("Concretized")
print("--------------------------------")
- tree_kwargs['hashes'] = args.long or args.very_long
+ tree_kwargs["hashes"] = args.long or args.very_long
print(output.tree(**tree_kwargs))
diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py
index 474efe375c..ef04afcb80 100644
--- a/lib/spack/spack/cmd/stage.py
+++ b/lib/spack/spack/cmd/stage.py
@@ -19,11 +19,10 @@ level = "long"
def setup_parser(subparser):
- arguments.add_common_arguments(
- subparser, ['no_checksum', 'deprecated', 'specs'])
+ arguments.add_common_arguments(subparser, ["no_checksum", "deprecated", "specs"])
subparser.add_argument(
- '-p', '--path', dest='path',
- help="path to stage package, does not add to spack tree")
+ "-p", "--path", dest="path", help="path to stage package, does not add to spack tree"
+ )
arguments.add_concretizer_args(subparser)
@@ -35,17 +34,16 @@ def stage(parser, args):
for spec in env.specs_by_hash.values():
for dep in spec.traverse():
dep.package.do_stage()
- tty.msg("Staged {0} in {1}".format(dep.package.name,
- dep.package.stage.path))
+ tty.msg("Staged {0} in {1}".format(dep.package.name, dep.package.stage.path))
return
else:
tty.die("`spack stage` requires a spec or an active environment")
if args.no_checksum:
- spack.config.set('config:checksum', False, scope='command_line')
+ spack.config.set("config:checksum", False, scope="command_line")
if args.deprecated:
- spack.config.set('config:deprecated', True, scope='command_line')
+ spack.config.set("config:deprecated", True, scope="command_line")
specs = spack.cmd.parse_specs(args.specs, concretize=False)
diff --git a/lib/spack/spack/cmd/tags.py b/lib/spack/spack/cmd/tags.py
index f7189f5b92..6ba9717784 100644
--- a/lib/spack/spack/cmd/tags.py
+++ b/lib/spack/spack/cmd/tags.py
@@ -25,7 +25,7 @@ def report_tags(category, tags):
if isatty:
num = len(tags)
- fmt = '{0} package tag'.format(category)
+ fmt = "{0} package tag".format(category)
buffer.write("{0}:\n".format(spack.util.string.plural(num, fmt)))
if tags:
@@ -43,18 +43,20 @@ def setup_parser(subparser):
"'--all' at the same time."
)
subparser.add_argument(
- '-i', '--installed', action='store_true', default=False,
- help="show information for installed packages only"
+ "-i",
+ "--installed",
+ action="store_true",
+ default=False,
+ help="show information for installed packages only",
)
subparser.add_argument(
- '-a', '--all', action='store_true', default=False,
- help="show packages for all available tags"
- )
- subparser.add_argument(
- 'tag',
- nargs='*',
- help="show packages with the specified tag"
+ "-a",
+ "--all",
+ action="store_true",
+ default=False,
+ help="show packages for all available tags",
)
+ subparser.add_argument("tag", nargs="*", help="show packages with the specified tag")
def tags(parser, args):
@@ -91,7 +93,7 @@ def tags(parser, args):
tags = args.tag if args.tag else available_tags
tag_pkgs = spack.tag.packages_with_tags(tags, args.installed, False)
- missing = 'No installed packages' if args.installed else 'None'
+ missing = "No installed packages" if args.installed else "None"
for tag in sorted(tag_pkgs):
# TODO: Remove the sorting once we're sure noone has an old
# TODO: tag cache since it can accumulate duplicates.
diff --git a/lib/spack/spack/cmd/test.py b/lib/spack/spack/cmd/test.py
index 51d23da429..ec062f259a 100644
--- a/lib/spack/spack/cmd/test.py
+++ b/lib/spack/spack/cmd/test.py
@@ -31,113 +31,123 @@ level = "long"
def first_line(docstring):
"""Return the first line of the docstring."""
- return docstring.split('\n')[0]
+ return docstring.split("\n")[0]
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='test_command')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="test_command")
# Run
- run_parser = sp.add_parser('run', description=test_run.__doc__,
- help=first_line(test_run.__doc__))
+ run_parser = sp.add_parser(
+ "run", description=test_run.__doc__, help=first_line(test_run.__doc__)
+ )
alias_help_msg = "Provide an alias for this test-suite"
alias_help_msg += " for subsequent access."
- run_parser.add_argument('--alias', help=alias_help_msg)
+ run_parser.add_argument("--alias", help=alias_help_msg)
run_parser.add_argument(
- '--fail-fast', action='store_true',
- help="Stop tests for each package after the first failure."
+ "--fail-fast",
+ action="store_true",
+ help="Stop tests for each package after the first failure.",
)
run_parser.add_argument(
- '--fail-first', action='store_true',
- help="Stop after the first failed package."
+ "--fail-first", action="store_true", help="Stop after the first failed package."
)
run_parser.add_argument(
- '--externals', action='store_true',
- help="Test packages that are externally installed."
+ "--externals", action="store_true", help="Test packages that are externally installed."
)
run_parser.add_argument(
- '--keep-stage',
- action='store_true',
- help='Keep testing directory for debugging'
+ "--keep-stage", action="store_true", help="Keep testing directory for debugging"
)
run_parser.add_argument(
- '--log-format',
+ "--log-format",
default=None,
choices=spack.report.valid_formats,
- help="format to be used for log files"
+ help="format to be used for log files",
)
run_parser.add_argument(
- '--log-file',
+ "--log-file",
default=None,
- help="filename for the log file. if not passed a default will be used"
+ help="filename for the log file. if not passed a default will be used",
)
arguments.add_cdash_args(run_parser, False)
run_parser.add_argument(
- '--help-cdash',
- action='store_true',
- help="Show usage instructions for CDash reporting"
+ "--help-cdash", action="store_true", help="Show usage instructions for CDash reporting"
)
cd_group = run_parser.add_mutually_exclusive_group()
- arguments.add_common_arguments(cd_group, ['clean', 'dirty'])
+ arguments.add_common_arguments(cd_group, ["clean", "dirty"])
- arguments.add_common_arguments(run_parser, ['installed_specs'])
+ arguments.add_common_arguments(run_parser, ["installed_specs"])
# List
- list_parser = sp.add_parser('list', description=test_list.__doc__,
- help=first_line(test_list.__doc__))
- list_parser.add_argument(
- "-a", "--all", action="store_true", dest="list_all",
- help="list all packages with tests (not just installed)")
-
+ list_parser = sp.add_parser(
+ "list", description=test_list.__doc__, help=first_line(test_list.__doc__)
+ )
list_parser.add_argument(
- 'tag',
- nargs='*',
- help="limit packages to those with all listed tags"
+ "-a",
+ "--all",
+ action="store_true",
+ dest="list_all",
+ help="list all packages with tests (not just installed)",
)
+ list_parser.add_argument("tag", nargs="*", help="limit packages to those with all listed tags")
+
# Find
- find_parser = sp.add_parser('find', description=test_find.__doc__,
- help=first_line(test_find.__doc__))
+ find_parser = sp.add_parser(
+ "find", description=test_find.__doc__, help=first_line(test_find.__doc__)
+ )
find_parser.add_argument(
- 'filter', nargs=argparse.REMAINDER,
- help='optional case-insensitive glob patterns to filter results.')
+ "filter",
+ nargs=argparse.REMAINDER,
+ help="optional case-insensitive glob patterns to filter results.",
+ )
# Status
- status_parser = sp.add_parser('status', description=test_status.__doc__,
- help=first_line(test_status.__doc__))
+ status_parser = sp.add_parser(
+ "status", description=test_status.__doc__, help=first_line(test_status.__doc__)
+ )
status_parser.add_argument(
- 'names', nargs=argparse.REMAINDER,
- help="Test suites for which to print status")
+ "names", nargs=argparse.REMAINDER, help="Test suites for which to print status"
+ )
# Results
- results_parser = sp.add_parser('results', description=test_results.__doc__,
- help=first_line(test_results.__doc__))
+ results_parser = sp.add_parser(
+ "results", description=test_results.__doc__, help=first_line(test_results.__doc__)
+ )
results_parser.add_argument(
- '-l', '--logs', action='store_true',
- help="print the test log for each matching package")
+ "-l", "--logs", action="store_true", help="print the test log for each matching package"
+ )
results_parser.add_argument(
- '-f', '--failed', action='store_true',
- help="only show results for failed tests of matching packages")
+ "-f",
+ "--failed",
+ action="store_true",
+ help="only show results for failed tests of matching packages",
+ )
results_parser.add_argument(
- 'names', nargs=argparse.REMAINDER,
- metavar='[name(s)] [-- installed_specs]...',
- help="suite names and installed package constraints")
- results_parser.epilog = 'Test results will be filtered by space-' \
- 'separated suite name(s) and installed\nspecs when provided. '\
- 'If names are provided, then only results for those test\nsuites '\
- 'will be shown. If installed specs are provided, then ony results'\
- '\nmatching those specs will be shown.'
+ "names",
+ nargs=argparse.REMAINDER,
+ metavar="[name(s)] [-- installed_specs]...",
+ help="suite names and installed package constraints",
+ )
+ results_parser.epilog = (
+ "Test results will be filtered by space-"
+ "separated suite name(s) and installed\nspecs when provided. "
+ "If names are provided, then only results for those test\nsuites "
+ "will be shown. If installed specs are provided, then ony results"
+ "\nmatching those specs will be shown."
+ )
# Remove
- remove_parser = sp.add_parser('remove', description=test_remove.__doc__,
- help=first_line(test_remove.__doc__))
- arguments.add_common_arguments(remove_parser, ['yes_to_all'])
+ remove_parser = sp.add_parser(
+ "remove", description=test_remove.__doc__, help=first_line(test_remove.__doc__)
+ )
+ arguments.add_common_arguments(remove_parser, ["yes_to_all"])
remove_parser.add_argument(
- 'names', nargs=argparse.REMAINDER,
- help="Test suites to remove from test stage")
+ "names", nargs=argparse.REMAINDER, help="Test suites to remove from test stage"
+ )
def test_run(args):
@@ -149,25 +159,27 @@ def test_run(args):
if args.alias:
suites = spack.install_test.get_named_test_suites(args.alias)
if suites:
- tty.die('Test suite "{0}" already exists. Try another alias.'
- .format(args.alias))
+ tty.die('Test suite "{0}" already exists. Try another alias.'.format(args.alias))
# cdash help option
if args.help_cdash:
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
- epilog=textwrap.dedent('''\
+ epilog=textwrap.dedent(
+ """\
environment variables:
SPACK_CDASH_AUTH_TOKEN
authentication token to present to CDash
- '''))
+ """
+ ),
+ )
arguments.add_cdash_args(parser, True)
parser.print_help()
return
# set config option for fail-fast
if args.fail_fast:
- spack.config.set('config:fail_fast', True, scope='command_line')
+ spack.config.set("config:fail_fast", True, scope="command_line")
# Get specs to test
env = ev.active_environment()
@@ -187,9 +199,10 @@ environment variables:
tty.msg("Spack test %s" % test_suite.name)
# Set up reporter
- setattr(args, 'package', [s.format() for s in test_suite.specs])
+ setattr(args, "package", [s.format() for s in test_suite.specs])
reporter = spack.report.collect_info(
- spack.package_base.PackageBase, 'do_test', args.log_format, args)
+ spack.package_base.PackageBase, "do_test", args.log_format, args
+ )
if not reporter.filename:
if args.log_file:
if os.path.isabs(args.log_file):
@@ -198,27 +211,27 @@ environment variables:
log_dir = os.getcwd()
log_file = os.path.join(log_dir, args.log_file)
else:
- log_file = os.path.join(
- os.getcwd(),
- 'test-%s' % test_suite.name)
+ log_file = os.path.join(os.getcwd(), "test-%s" % test_suite.name)
reporter.filename = log_file
reporter.specs = specs_to_test
- with reporter('test', test_suite.stage):
- test_suite(remove_directory=not args.keep_stage,
- dirty=args.dirty,
- fail_first=args.fail_first,
- externals=args.externals)
+ with reporter("test", test_suite.stage):
+ test_suite(
+ remove_directory=not args.keep_stage,
+ dirty=args.dirty,
+ fail_first=args.fail_first,
+ externals=args.externals,
+ )
def test_list(args):
"""List installed packages with available tests."""
- tagged = set(spack.repo.path.packages_with_tags(*args.tag)) if args.tag \
- else set()
+ tagged = set(spack.repo.path.packages_with_tags(*args.tag)) if args.tag else set()
def has_test_and_tags(pkg_class):
- return spack.package_base.has_test_method(pkg_class) and \
- (not args.tag or pkg_class.name in tagged)
+ return spack.package_base.has_test_method(pkg_class) and (
+ not args.tag or pkg_class.name in tagged
+ )
if args.list_all:
report_packages = [
@@ -228,9 +241,8 @@ def test_list(args):
]
if sys.stdout.isatty():
- filtered = ' tagged' if args.tag else ''
- tty.msg("{0}{1} packages with tests.".
- format(len(report_packages), filtered))
+ filtered = " tagged" if args.tag else ""
+ tty.msg("{0}{1} packages with tests.".format(len(report_packages), filtered))
colify.colify(report_packages)
return
@@ -254,24 +266,28 @@ def test_find(args): # TODO: merge with status (noargs)
# Filter tests by filter argument
if args.filter:
+
def create_filter(f):
- raw = fnmatch.translate('f' if '*' in f or '?' in f
- else '*' + f + '*')
+ raw = fnmatch.translate("f" if "*" in f or "?" in f else "*" + f + "*")
return re.compile(raw, flags=re.IGNORECASE)
+
filters = [create_filter(f) for f in args.filter]
def match(t, f):
return f.match(t)
- test_suites = [t for t in test_suites
- if any(match(t.alias, f) for f in filters) and
- os.path.isdir(t.stage)]
+
+ test_suites = [
+ t
+ for t in test_suites
+ if any(match(t.alias, f) for f in filters) and os.path.isdir(t.stage)
+ ]
names = [t.name for t in test_suites]
if names:
# TODO: Make these specify results vs active
msg = "Spack test results available for the following tests:\n"
- msg += " %s\n" % ' '.join(names)
+ msg += " %s\n" % " ".join(names)
msg += " Run `spack test remove` to remove all tests"
tty.msg(msg)
else:
@@ -315,42 +331,38 @@ def _report_suite_results(test_suite, args, constraints):
for s in spack.store.db.query(spec, installed=True):
specs[s.dag_hash()] = s
specs = sorted(specs.values())
- test_specs = dict((test_suite.test_pkg_id(s), s) for s in
- test_suite.specs if s in specs)
+ test_specs = dict((test_suite.test_pkg_id(s), s) for s in test_suite.specs if s in specs)
else:
- test_specs = dict((test_suite.test_pkg_id(s), s) for s in
- test_suite.specs)
+ test_specs = dict((test_suite.test_pkg_id(s), s) for s in test_suite.specs)
if not test_specs:
return
if os.path.exists(test_suite.results_file):
- results_desc = 'Failing results' if args.failed else 'Results'
- matching = ", spec matching '{0}'".format(' '.join(constraints)) \
- if constraints else ''
- tty.msg("{0} for test suite '{1}'{2}:"
- .format(results_desc, test_suite.name, matching))
+ results_desc = "Failing results" if args.failed else "Results"
+ matching = ", spec matching '{0}'".format(" ".join(constraints)) if constraints else ""
+ tty.msg("{0} for test suite '{1}'{2}:".format(results_desc, test_suite.name, matching))
results = {}
- with open(test_suite.results_file, 'r') as f:
+ with open(test_suite.results_file, "r") as f:
for line in f:
pkg_id, status = line.split()
results[pkg_id] = status
- tty.msg('test specs:')
+ tty.msg("test specs:")
failed, skipped, untested = 0, 0, 0
for pkg_id in test_specs:
if pkg_id in results:
status = results[pkg_id]
- if status == 'FAILED':
+ if status == "FAILED":
failed += 1
- elif status == 'NO-TESTS':
+ elif status == "NO-TESTS":
untested += 1
- elif status == 'SKIPPED':
+ elif status == "SKIPPED":
skipped += 1
- if args.failed and status != 'FAILED':
+ if args.failed and status != "FAILED":
continue
msg = " {0} {1}".format(pkg_id, status)
@@ -358,12 +370,11 @@ def _report_suite_results(test_suite, args, constraints):
spec = test_specs[pkg_id]
log_file = test_suite.log_file_for_spec(spec)
if os.path.isfile(log_file):
- with open(log_file, 'r') as f:
- msg += '\n{0}'.format(''.join(f.readlines()))
+ with open(log_file, "r") as f:
+ msg += "\n{0}".format("".join(f.readlines()))
tty.msg(msg)
- spack.install_test.write_test_summary(
- failed, skipped, untested, len(test_specs))
+ spack.install_test.write_test_summary(failed, skipped, untested, len(test_specs))
else:
msg = "Test %s has no results.\n" % test_suite.name
msg += " Check if it is running with "
@@ -375,9 +386,9 @@ def test_results(args):
"""Get the results from Spack test suite(s) (default all)."""
if args.names:
try:
- sep_index = args.names.index('--')
+ sep_index = args.names.index("--")
names = args.names[:sep_index]
- constraints = args.names[sep_index + 1:]
+ constraints = args.names[sep_index + 1 :]
except ValueError:
names = args.names
constraints = None
@@ -385,12 +396,10 @@ def test_results(args):
names, constraints = None, None
if names:
- test_suites = [spack.install_test.get_test_suite(name) for name
- in names]
+ test_suites = [spack.install_test.get_test_suite(name) for name in names]
test_suites = list(filter(lambda ts: ts is not None, test_suites))
if not test_suites:
- tty.msg('No test suite(s) found in test stage: {0}'
- .format(', '.join(names)))
+ tty.msg("No test suite(s) found in test stage: {0}".format(", ".join(names)))
else:
test_suites = spack.install_test.get_all_test_suites()
if not test_suites:
@@ -423,12 +432,12 @@ def test_remove(args):
return
if not args.yes_to_all:
- msg = 'The following test suites will be removed:\n\n'
- msg += ' ' + ' '.join(test.name for test in test_suites) + '\n'
+ msg = "The following test suites will be removed:\n\n"
+ msg += " " + " ".join(test.name for test in test_suites) + "\n"
tty.msg(msg)
- answer = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ answer = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not answer:
- tty.msg('Aborting removal of test suites')
+ tty.msg("Aborting removal of test suites")
return
for test_suite in test_suites:
@@ -436,4 +445,4 @@ def test_remove(args):
def test(parser, args):
- globals()['test_%s' % args.test_command](args)
+ globals()["test_%s" % args.test_command](args)
diff --git a/lib/spack/spack/cmd/test_env.py b/lib/spack/spack/cmd/test_env.py
index 0f14366b8e..e5bd02ba83 100644
--- a/lib/spack/spack/cmd/test_env.py
+++ b/lib/spack/spack/cmd/test_env.py
@@ -4,8 +4,9 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import spack.cmd.common.env_utility as env_utility
-description = "run a command in a spec's test environment, " \
- "or dump its environment to screen or file"
+description = (
+ "run a command in a spec's test environment, " "or dump its environment to screen or file"
+)
section = "admin"
level = "long"
@@ -13,4 +14,4 @@ setup_parser = env_utility.setup_parser
def test_env(parser, args):
- env_utility.emulate_env_utility('test-env', 'test', args)
+ env_utility.emulate_env_utility("test-env", "test", args)
diff --git a/lib/spack/spack/cmd/tutorial.py b/lib/spack/spack/cmd/tutorial.py
index c1ad9742e5..33098ac5ca 100644
--- a/lib/spack/spack/cmd/tutorial.py
+++ b/lib/spack/spack/cmd/tutorial.py
@@ -26,7 +26,7 @@ level = "long"
# tutorial configuration parameters
tutorial_branch = "releases/v0.18"
tutorial_mirror = "file:///mirror"
-tutorial_key = os.path.join(spack.paths.share_path, "keys", "tutorial.pub")
+tutorial_key = os.path.join(spack.paths.share_path, "keys", "tutorial.pub")
# configs to remove
rm_configs = [
@@ -39,7 +39,7 @@ rm_configs = [
def setup_parser(subparser):
- arguments.add_common_arguments(subparser, ['yes_to_all'])
+ arguments.add_common_arguments(subparser, ["yes_to_all"])
def tutorial(parser, args):
@@ -47,14 +47,18 @@ def tutorial(parser, args):
tty.die("This command requires a git installation of Spack!")
if not args.yes_to_all:
- tty.msg("This command will set up Spack for the tutorial at "
- "https://spack-tutorial.readthedocs.io.",
- "")
- tty.warn("This will modify your Spack configuration by:",
- " - deleting some configuration in ~/.spack",
- " - adding a mirror and trusting its public key",
- " - checking out a particular branch of Spack",
- "")
+ tty.msg(
+ "This command will set up Spack for the tutorial at "
+ "https://spack-tutorial.readthedocs.io.",
+ "",
+ )
+ tty.warn(
+ "This will modify your Spack configuration by:",
+ " - deleting some configuration in ~/.spack",
+ " - adding a mirror and trusting its public key",
+ " - checking out a particular branch of Spack",
+ "",
+ )
if not tty.get_yes_or_no("Are you sure you want to proceed?"):
tty.die("Aborted")
@@ -64,22 +68,21 @@ def tutorial(parser, args):
if os.path.exists(path):
shutil.rmtree(path, ignore_errors=True)
- tty.msg("Ensuring that the tutorial binary mirror is configured:",
- "spack mirror add tutorial %s" % tutorial_mirror)
+ tty.msg(
+ "Ensuring that the tutorial binary mirror is configured:",
+ "spack mirror add tutorial %s" % tutorial_mirror,
+ )
mirror_config = syaml_dict()
mirror_config["tutorial"] = tutorial_mirror
- spack.config.set('mirrors', mirror_config, scope="user")
+ spack.config.set("mirrors", mirror_config, scope="user")
- tty.msg("Ensuring that we trust tutorial binaries",
- "spack gpg trust %s" % tutorial_key)
+ tty.msg("Ensuring that we trust tutorial binaries", "spack gpg trust %s" % tutorial_key)
spack.util.gpg.trust(tutorial_key)
# Note that checkout MUST be last. It changes Spack under our feet.
# If you don't put this last, you'll get import errors for the code
# that follows (exacerbated by the various lazy singletons we use)
- tty.msg("Ensuring we're on the releases/v{0}.{1} branch".format(
- *spack.spack_version_info[:2]
- ))
+ tty.msg("Ensuring we're on the releases/v{0}.{1} branch".format(*spack.spack_version_info[:2]))
git = which("git", required=True)
with working_dir(spack.paths.prefix):
git("checkout", tutorial_branch)
diff --git a/lib/spack/spack/cmd/undevelop.py b/lib/spack/spack/cmd/undevelop.py
index 429e9b1685..666af3ee50 100644
--- a/lib/spack/spack/cmd/undevelop.py
+++ b/lib/spack/spack/cmd/undevelop.py
@@ -8,20 +8,20 @@ import llnl.util.tty as tty
import spack.cmd
import spack.cmd.common.arguments as arguments
-description = 'remove specs from an environment'
+description = "remove specs from an environment"
section = "environments"
level = "long"
def setup_parser(subparser):
subparser.add_argument(
- '-a', '--all', action='store_true',
- help="remove all specs from (clear) the environment")
- arguments.add_common_arguments(subparser, ['specs'])
+ "-a", "--all", action="store_true", help="remove all specs from (clear) the environment"
+ )
+ arguments.add_common_arguments(subparser, ["specs"])
def undevelop(parser, args):
- env = spack.cmd.require_active_env(cmd_name='undevelop')
+ env = spack.cmd.require_active_env(cmd_name="undevelop")
if args.all:
specs = env.dev_specs.keys()
@@ -31,8 +31,7 @@ def undevelop(parser, args):
with env.write_transaction():
changed = False
for spec in specs:
- tty.msg('Removing %s from environment %s development specs'
- % (spec, env.name))
+ tty.msg("Removing %s from environment %s development specs" % (spec, env.name))
changed |= env.undevelop(spec)
if changed:
env.write()
diff --git a/lib/spack/spack/cmd/uninstall.py b/lib/spack/spack/cmd/uninstall.py
index 643be0044b..be4b74c54a 100644
--- a/lib/spack/spack/cmd/uninstall.py
+++ b/lib/spack/spack/cmd/uninstall.py
@@ -32,44 +32,51 @@ error_message = """You can either:
# Arguments for display_specs when we find ambiguity
display_args = {
- 'long': True,
- 'show_flags': False,
- 'variants': False,
- 'indent': 4,
+ "long": True,
+ "show_flags": False,
+ "variants": False,
+ "indent": 4,
}
def setup_parser(subparser):
- epilog_msg = ("Specs to be uninstalled are specified using the spec syntax"
- " (`spack help --spec`) and can be identified by their "
- "hashes. To remove packages that are needed only at build "
- "time and were not explicitly installed see `spack gc -h`."
- "\n\nWhen using the --all option ALL packages matching the "
- "supplied specs will be uninstalled. For instance, "
- "`spack uninstall --all libelf` uninstalls all the versions "
- "of `libelf` currently present in Spack's store. If no spec "
- "is supplied, all installed packages will be uninstalled. "
- "If used in an environment, all packages in the environment "
- "will be uninstalled.")
+ epilog_msg = (
+ "Specs to be uninstalled are specified using the spec syntax"
+ " (`spack help --spec`) and can be identified by their "
+ "hashes. To remove packages that are needed only at build "
+ "time and were not explicitly installed see `spack gc -h`."
+ "\n\nWhen using the --all option ALL packages matching the "
+ "supplied specs will be uninstalled. For instance, "
+ "`spack uninstall --all libelf` uninstalls all the versions "
+ "of `libelf` currently present in Spack's store. If no spec "
+ "is supplied, all installed packages will be uninstalled. "
+ "If used in an environment, all packages in the environment "
+ "will be uninstalled."
+ )
subparser.epilog = epilog_msg
subparser.add_argument(
- '-f', '--force', action='store_true', dest='force',
- help="remove regardless of whether other packages or environments "
- "depend on this one")
+ "-f",
+ "--force",
+ action="store_true",
+ dest="force",
+ help="remove regardless of whether other packages or environments " "depend on this one",
+ )
arguments.add_common_arguments(
- subparser, ['recurse_dependents', 'yes_to_all', 'installed_specs'])
+ subparser, ["recurse_dependents", "yes_to_all", "installed_specs"]
+ )
subparser.add_argument(
- '-a', '--all', action='store_true', dest='all',
- help="remove ALL installed packages that match each supplied spec"
+ "-a",
+ "--all",
+ action="store_true",
+ dest="all",
+ help="remove ALL installed packages that match each supplied spec",
)
subparser.add_argument(
- '--origin', dest='origin',
- help="only remove DB records with the specified origin"
+ "--origin", dest="origin", help="only remove DB records with the specified origin"
)
-def find_matching_specs(env, specs, allow_multiple_matches=False, force=False,
- origin=None):
+def find_matching_specs(env, specs, allow_multiple_matches=False, force=False, origin=None):
"""Returns a list of specs matching the not necessarily
concretized specs given from cli
@@ -91,15 +98,15 @@ def find_matching_specs(env, specs, allow_multiple_matches=False, force=False,
for spec in specs:
install_query = [InstallStatuses.INSTALLED, InstallStatuses.DEPRECATED]
matching = spack.store.db.query_local(
- spec, hashes=hashes, installed=install_query, origin=origin)
+ spec, hashes=hashes, installed=install_query, origin=origin
+ )
# For each spec provided, make sure it refers to only one package.
# Fail and ask user to be unambiguous if it doesn't
if not allow_multiple_matches and len(matching) > 1:
- tty.error('{0} matches multiple packages:'.format(spec))
- sys.stderr.write('\n')
- spack.cmd.display_specs(matching, output=sys.stderr,
- **display_args)
- sys.stderr.write('\n')
+ tty.error("{0} matches multiple packages:".format(spec))
+ sys.stderr.write("\n")
+ spack.cmd.display_specs(matching, output=sys.stderr, **display_args)
+ sys.stderr.write("\n")
sys.stderr.flush()
has_errors = True
@@ -108,8 +115,8 @@ def find_matching_specs(env, specs, allow_multiple_matches=False, force=False,
if env:
pkg_type = "packages in environment '%s'" % env.name
else:
- pkg_type = 'installed packages'
- tty.die('{0} does not match any {1}.'.format(spec, pkg_type))
+ pkg_type = "installed packages"
+ tty.die("{0} does not match any {1}.".format(spec, pkg_type))
specs_from_cli.extend(matching)
@@ -242,9 +249,11 @@ def do_uninstall(env, specs, force):
while packages:
ready = [x for x in packages if is_ready(x.spec.dag_hash())]
if not ready:
- msg = 'unexpected error [cannot proceed uninstalling specs with' \
- ' remaining link or run dependents {0}]'
- msg = msg.format(', '.join(x.name for x in packages))
+ msg = (
+ "unexpected error [cannot proceed uninstalling specs with"
+ " remaining link or run dependents {0}]"
+ )
+ msg = msg.format(", ".join(x.name for x in packages))
raise spack.error.SpackError(msg)
packages = [x for x in packages if x not in ready]
@@ -255,8 +264,7 @@ def do_uninstall(env, specs, force):
def get_uninstall_list(args, specs, env):
# Gets the list of installed specs that match the ones give via cli
# args.all takes care of the case where '-a' is given in the cli
- uninstall_list = find_matching_specs(env, specs, args.all, args.force,
- args.origin)
+ uninstall_list = find_matching_specs(env, specs, args.all, args.force, args.origin)
# Takes care of '-R'
active_dpts, inactive_dpts = installed_dependents(uninstall_list, env)
@@ -285,29 +293,27 @@ def get_uninstall_list(args, specs, env):
if i > 0:
print()
- spec_format = '{name}{@version}{%compiler}{/hash:7}'
- tty.info("Will not uninstall %s" % spec.cformat(spec_format),
- format='*r')
+ spec_format = "{name}{@version}{%compiler}{/hash:7}"
+ tty.info("Will not uninstall %s" % spec.cformat(spec_format), format="*r")
dependents = active_dpts.get(spec)
if dependents:
- print('The following packages depend on it:')
+ print("The following packages depend on it:")
spack.cmd.display_specs(dependents, **display_args)
if not env:
envs = spec_envs.get(spec)
if envs:
- print('It is used by the following environments:')
+ print("It is used by the following environments:")
colify([e.name for e in envs], indent=4)
msgs = []
if active_dpts:
- msgs.append(
- 'use `spack uninstall --dependents` to remove dependents too')
+ msgs.append("use `spack uninstall --dependents` to remove dependents too")
if spec_envs:
- msgs.append('use `spack env remove` to remove from environments')
+ msgs.append("use `spack env remove` to remove from environments")
print()
- tty.die('There are still dependents.', *msgs)
+ tty.die("There are still dependents.", *msgs)
elif args.dependents:
for spec, lst in active_dpts.items():
@@ -333,7 +339,7 @@ def uninstall_specs(args, specs):
anything_to_do = set(uninstall_list).union(set(remove_list))
if not anything_to_do:
- tty.warn('There are no package to uninstall.')
+ tty.warn("There are no package to uninstall.")
return
if not args.yes_to_all:
@@ -357,19 +363,21 @@ def confirm_removal(specs):
Args:
specs (list): specs to be removed
"""
- tty.msg('The following packages will be uninstalled:\n')
+ tty.msg("The following packages will be uninstalled:\n")
spack.cmd.display_specs(specs, **display_args)
- print('')
- answer = tty.get_yes_or_no('Do you want to proceed?', default=False)
+ print("")
+ answer = tty.get_yes_or_no("Do you want to proceed?", default=False)
if not answer:
- tty.msg('Aborting uninstallation')
+ tty.msg("Aborting uninstallation")
sys.exit(0)
def uninstall(parser, args):
if not args.specs and not args.all:
- tty.die('uninstall requires at least one package argument.',
- ' Use `spack uninstall --all` to uninstall ALL packages.')
+ tty.die(
+ "uninstall requires at least one package argument.",
+ " Use `spack uninstall --all` to uninstall ALL packages.",
+ )
# [any] here handles the --all case by forcing all specs to be returned
specs = spack.cmd.parse_specs(args.specs) if args.specs else [any]
diff --git a/lib/spack/spack/cmd/unit_test.py b/lib/spack/spack/cmd/unit_test.py
index eb78ad893b..d1d0c790f8 100644
--- a/lib/spack/spack/cmd/unit_test.py
+++ b/lib/spack/spack/cmd/unit_test.py
@@ -14,7 +14,7 @@ import sys
try:
import pytest
except ImportError:
- pytest = None # type: ignore
+ pytest = None # type: ignore
from six import StringIO
@@ -28,79 +28,110 @@ import spack.paths
description = "run spack's unit tests (wrapper around pytest)"
section = "developer"
level = "long"
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def setup_parser(subparser):
subparser.add_argument(
- '-H', '--pytest-help', action='store_true', default=False,
- help="show full pytest help, with advanced options")
+ "-H",
+ "--pytest-help",
+ action="store_true",
+ default=False,
+ help="show full pytest help, with advanced options",
+ )
# extra spack arguments to list tests
list_group = subparser.add_argument_group("listing tests")
list_mutex = list_group.add_mutually_exclusive_group()
list_mutex.add_argument(
- '-l', '--list', action='store_const', default=None,
- dest='list', const='list', help="list test filenames")
+ "-l",
+ "--list",
+ action="store_const",
+ default=None,
+ dest="list",
+ const="list",
+ help="list test filenames",
+ )
list_mutex.add_argument(
- '-L', '--list-long', action='store_const', default=None,
- dest='list', const='long', help="list all test functions")
+ "-L",
+ "--list-long",
+ action="store_const",
+ default=None,
+ dest="list",
+ const="long",
+ help="list all test functions",
+ )
list_mutex.add_argument(
- '-N', '--list-names', action='store_const', default=None,
- dest='list', const='names', help="list full names of all tests")
+ "-N",
+ "--list-names",
+ action="store_const",
+ default=None,
+ dest="list",
+ const="names",
+ help="list full names of all tests",
+ )
# use tests for extension
subparser.add_argument(
- '--extension', default=None,
- help="run test for a given spack extension")
+ "--extension", default=None, help="run test for a given spack extension"
+ )
# spell out some common pytest arguments, so they'll show up in help
pytest_group = subparser.add_argument_group(
- "common pytest arguments (spack unit-test --pytest-help for more)")
+ "common pytest arguments (spack unit-test --pytest-help for more)"
+ )
pytest_group.add_argument(
- "-s", action='append_const', dest='parsed_args', const='-s',
- help="print output while tests run (disable capture)")
+ "-s",
+ action="append_const",
+ dest="parsed_args",
+ const="-s",
+ help="print output while tests run (disable capture)",
+ )
pytest_group.add_argument(
- "-k", action='store', metavar="EXPRESSION", dest='expression',
- help="filter tests by keyword (can also use w/list options)")
+ "-k",
+ action="store",
+ metavar="EXPRESSION",
+ dest="expression",
+ help="filter tests by keyword (can also use w/list options)",
+ )
pytest_group.add_argument(
- "--showlocals", action='append_const', dest='parsed_args',
- const='--showlocals', help="show local variable values in tracebacks")
+ "--showlocals",
+ action="append_const",
+ dest="parsed_args",
+ const="--showlocals",
+ help="show local variable values in tracebacks",
+ )
# remainder is just passed to pytest
- subparser.add_argument(
- 'pytest_args', nargs=argparse.REMAINDER, help="arguments for pytest")
+ subparser.add_argument("pytest_args", nargs=argparse.REMAINDER, help="arguments for pytest")
def do_list(args, extra_args):
"""Print a lists of tests than what pytest offers."""
+
def colorize(c, prefix):
if isinstance(prefix, tuple):
- return "::".join(
- color.colorize("@%s{%s}" % (c, p))
- for p in prefix if p != "()"
- )
+ return "::".join(color.colorize("@%s{%s}" % (c, p)) for p in prefix if p != "()")
return color.colorize("@%s{%s}" % (c, prefix))
# To list the files we just need to inspect the filesystem,
# which doesn't need to wait for pytest collection and doesn't
# require parsing pytest output
- files = llnl.util.filesystem.find(
- root=spack.paths.test_path, files='*.py', recursive=True
- )
+ files = llnl.util.filesystem.find(root=spack.paths.test_path, files="*.py", recursive=True)
files = [
os.path.relpath(f, start=spack.paths.spack_root)
- for f in files if not f.endswith(('conftest.py', '__init__.py'))
+ for f in files
+ if not f.endswith(("conftest.py", "__init__.py"))
]
old_output = sys.stdout
try:
sys.stdout = output = StringIO()
- pytest.main(['--collect-only'] + extra_args)
+ pytest.main(["--collect-only"] + extra_args)
finally:
sys.stdout = old_output
- lines = output.getvalue().split('\n')
+ lines = output.getvalue().split("\n")
tests = collections.defaultdict(set)
# collect tests into sections
@@ -114,7 +145,7 @@ def do_list(args, extra_args):
# strip parametrized tests
if "[" in name:
- name = name[:name.index("[")]
+ name = name[: name.index("[")]
len_indent = len(indent)
if os.path.isabs(name):
@@ -129,14 +160,14 @@ def do_list(args, extra_args):
# From version 3.X to version 6.X the output format
# changed a lot in pytest, and probably will change
# in the future - so this manipulation might be fragile
- if nodetype.lower() == 'function':
+ if nodetype.lower() == "function":
name_parts.append(item)
- key_end = os.path.join(*key_parts[-1][1].split('/'))
+ key_end = os.path.join(*key_parts[-1][1].split("/"))
key = next(f for f in files if f.endswith(key_end))
tests[key].add(tuple(x[1] for x in name_parts))
- elif nodetype.lower() == 'class':
+ elif nodetype.lower() == "class":
name_parts.append(item)
- elif nodetype.lower() in ('package', 'module'):
+ elif nodetype.lower() in ("package", "module"):
key_parts.append(item)
if args.list == "list":
@@ -187,16 +218,14 @@ def unit_test(parser, args, unknown_args):
spack.bootstrap.ensure_clingo_importable_or_raise()
if pytest is None:
- vendored_pytest_dir = os.path.join(
- spack.paths.external_path, 'pytest-fallback'
- )
+ vendored_pytest_dir = os.path.join(spack.paths.external_path, "pytest-fallback")
sys.path.append(vendored_pytest_dir)
import pytest
if args.pytest_help:
# make the pytest.main help output more accurate
- sys.argv[0] = 'spack unit-test'
- return pytest.main(['-h'])
+ sys.argv[0] = "spack unit-test"
+ return pytest.main(["-h"])
# add back any parsed pytest args we need to pass to pytest
pytest_args = add_back_pytest_args(args, unknown_args)
diff --git a/lib/spack/spack/cmd/unload.py b/lib/spack/spack/cmd/unload.py
index e1b926a6ea..8cf7af8b9d 100644
--- a/lib/spack/spack/cmd/unload.py
+++ b/lib/spack/spack/cmd/unload.py
@@ -19,42 +19,62 @@ level = "short"
def setup_parser(subparser):
"""Parser is only constructed so that this prints a nice help
- message with -h. """
- arguments.add_common_arguments(subparser, ['installed_specs'])
+ message with -h."""
+ arguments.add_common_arguments(subparser, ["installed_specs"])
shells = subparser.add_mutually_exclusive_group()
shells.add_argument(
- '--sh', action='store_const', dest='shell', const='sh',
- help="print sh commands to activate the environment")
+ "--sh",
+ action="store_const",
+ dest="shell",
+ const="sh",
+ help="print sh commands to activate the environment",
+ )
shells.add_argument(
- '--csh', action='store_const', dest='shell', const='csh',
- help="print csh commands to activate the environment")
+ "--csh",
+ action="store_const",
+ dest="shell",
+ const="csh",
+ help="print csh commands to activate the environment",
+ )
shells.add_argument(
- '--fish', action='store_const', dest='shell', const='fish',
- help="print fish commands to load the package")
+ "--fish",
+ action="store_const",
+ dest="shell",
+ const="fish",
+ help="print fish commands to load the package",
+ )
shells.add_argument(
- '--bat', action='store_const', dest='shell', const='bat',
- help="print bat commands to load the package")
+ "--bat",
+ action="store_const",
+ dest="shell",
+ const="bat",
+ help="print bat commands to load the package",
+ )
- subparser.add_argument('-a', '--all', action='store_true',
- help='unload all loaded Spack packages.')
+ subparser.add_argument(
+ "-a", "--all", action="store_true", help="unload all loaded Spack packages."
+ )
def unload(parser, args):
"""Unload spack packages from the user environment."""
if args.specs and args.all:
- raise spack.error.SpackError("Cannot specify specs on command line"
- " when unloading all specs with '--all'")
+ raise spack.error.SpackError(
+ "Cannot specify specs on command line" " when unloading all specs with '--all'"
+ )
- hashes = os.environ.get(uenv.spack_loaded_hashes_var, '').split(':')
+ hashes = os.environ.get(uenv.spack_loaded_hashes_var, "").split(":")
if args.specs:
- specs = [spack.cmd.disambiguate_spec_from_hashes(spec, hashes)
- for spec in spack.cmd.parse_specs(args.specs)]
+ specs = [
+ spack.cmd.disambiguate_spec_from_hashes(spec, hashes)
+ for spec in spack.cmd.parse_specs(args.specs)
+ ]
else:
specs = spack.store.db.query(hashes=hashes)
if not args.shell:
- specs_str = ' '.join(args.specs) or "SPECS"
+ specs_str = " ".join(args.specs) or "SPECS"
spack.cmd.common.shell_init_instructions(
"spack unload",
@@ -64,8 +84,7 @@ def unload(parser, args):
env_mod = spack.util.environment.EnvironmentModifications()
for spec in specs:
- env_mod.extend(
- uenv.environment_modifications_for_spec(spec).reversed())
+ env_mod.extend(uenv.environment_modifications_for_spec(spec).reversed())
env_mod.remove_path(uenv.spack_loaded_hashes_var, spec.dag_hash())
cmds = env_mod.shell_modifications(args.shell)
diff --git a/lib/spack/spack/cmd/url.py b/lib/spack/spack/cmd/url.py
index be24d86ffc..452bd059da 100644
--- a/lib/spack/spack/cmd/url.py
+++ b/lib/spack/spack/cmd/url.py
@@ -37,66 +37,81 @@ level = "long"
def setup_parser(subparser):
- sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='subcommand')
+ sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="subcommand")
# Parse
- parse_parser = sp.add_parser('parse', help='attempt to parse a url')
+ parse_parser = sp.add_parser("parse", help="attempt to parse a url")
+ parse_parser.add_argument("url", help="url to parse")
parse_parser.add_argument(
- 'url',
- help='url to parse')
- parse_parser.add_argument(
- '-s', '--spider', action='store_true',
- help='spider the source page for versions')
+ "-s", "--spider", action="store_true", help="spider the source page for versions"
+ )
# List
- list_parser = sp.add_parser('list', help='list urls in all packages')
+ list_parser = sp.add_parser("list", help="list urls in all packages")
list_parser.add_argument(
- '-c', '--color', action='store_true',
- help='color the parsed version and name in the urls shown '
- '(versions will be cyan, name red)')
+ "-c",
+ "--color",
+ action="store_true",
+ help="color the parsed version and name in the urls shown "
+ "(versions will be cyan, name red)",
+ )
list_parser.add_argument(
- '-e', '--extrapolation', action='store_true',
- help='color the versions used for extrapolation as well '
- '(additional versions will be green, names magenta)')
+ "-e",
+ "--extrapolation",
+ action="store_true",
+ help="color the versions used for extrapolation as well "
+ "(additional versions will be green, names magenta)",
+ )
excl_args = list_parser.add_mutually_exclusive_group()
excl_args.add_argument(
- '-n', '--incorrect-name', action='store_true',
- help='only list urls for which the name was incorrectly parsed')
+ "-n",
+ "--incorrect-name",
+ action="store_true",
+ help="only list urls for which the name was incorrectly parsed",
+ )
excl_args.add_argument(
- '-N', '--correct-name', action='store_true',
- help='only list urls for which the name was correctly parsed')
+ "-N",
+ "--correct-name",
+ action="store_true",
+ help="only list urls for which the name was correctly parsed",
+ )
excl_args.add_argument(
- '-v', '--incorrect-version', action='store_true',
- help='only list urls for which the version was incorrectly parsed')
+ "-v",
+ "--incorrect-version",
+ action="store_true",
+ help="only list urls for which the version was incorrectly parsed",
+ )
excl_args.add_argument(
- '-V', '--correct-version', action='store_true',
- help='only list urls for which the version was correctly parsed')
+ "-V",
+ "--correct-version",
+ action="store_true",
+ help="only list urls for which the version was correctly parsed",
+ )
# Summary
- sp.add_parser(
- 'summary',
- help='print a summary of how well we are parsing package urls')
+ sp.add_parser("summary", help="print a summary of how well we are parsing package urls")
# Stats
stats_parser = sp.add_parser(
- 'stats',
- help='print statistics on versions and checksums for all packages')
+ "stats", help="print statistics on versions and checksums for all packages"
+ )
stats_parser.add_argument(
- "--show-issues", action="store_true",
- help="show packages with issues (md5 hashes, http urls)"
+ "--show-issues",
+ action="store_true",
+ help="show packages with issues (md5 hashes, http urls)",
)
def url(parser, args):
action = {
- 'parse': url_parse,
- 'list': url_list,
- 'summary': url_summary,
- 'stats': url_stats,
+ "parse": url_parse,
+ "list": url_list,
+ "summary": url_summary,
+ "stats": url_stats,
}
action[args.subcommand](args)
@@ -105,43 +120,43 @@ def url(parser, args):
def url_parse(args):
url = args.url
- tty.msg('Parsing URL: {0}'.format(url))
+ tty.msg("Parsing URL: {0}".format(url))
print()
- ver, vs, vl, vi, vregex = parse_version_offset(url)
- tty.msg('Matched version regex {0:>2}: r{1!r}'.format(vi, vregex))
+ ver, vs, vl, vi, vregex = parse_version_offset(url)
+ tty.msg("Matched version regex {0:>2}: r{1!r}".format(vi, vregex))
name, ns, nl, ni, nregex = parse_name_offset(url, ver)
- tty.msg('Matched name regex {0:>2}: r{1!r}'.format(ni, nregex))
+ tty.msg("Matched name regex {0:>2}: r{1!r}".format(ni, nregex))
print()
- tty.msg('Detected:')
+ tty.msg("Detected:")
try:
print_name_and_version(url)
except UrlParseError as e:
tty.error(str(e))
- print(' name: {0}'.format(name))
- print(' version: {0}'.format(ver))
+ print(" name: {0}".format(name))
+ print(" version: {0}".format(ver))
print()
- tty.msg('Substituting version 9.9.9b:')
- newurl = substitute_version(url, '9.9.9b')
+ tty.msg("Substituting version 9.9.9b:")
+ newurl = substitute_version(url, "9.9.9b")
print_name_and_version(newurl)
if args.spider:
print()
- tty.msg('Spidering for versions:')
+ tty.msg("Spidering for versions:")
versions = find_versions_of_archive(url)
if not versions:
- print(' Found no versions for {0}'.format(name))
+ print(" Found no versions for {0}".format(name))
return
max_len = max(len(str(v)) for v in versions)
for v in sorted(versions):
- print('{0:{1}} {2}'.format(v, max_len, versions[v]))
+ print("{0:{1}} {2}".format(v, max_len, versions[v]))
def url_list(args):
@@ -149,11 +164,11 @@ def url_list(args):
# Gather set of URLs from all packages
for pkg_cls in spack.repo.path.all_package_classes():
- url = getattr(pkg_cls, 'url', None)
+ url = getattr(pkg_cls, "url", None)
urls = url_list_parsing(args, urls, url, pkg_cls)
for params in pkg_cls.versions.values():
- url = params.get('url', None)
+ url = params.get("url", None)
urls = url_list_parsing(args, urls, url, pkg_cls)
# Print URLs
@@ -169,32 +184,32 @@ def url_list(args):
def url_summary(args):
# Collect statistics on how many URLs were correctly parsed
- total_urls = 0
- correct_names = 0
+ total_urls = 0
+ correct_names = 0
correct_versions = 0
# Collect statistics on which regexes were matched and how often
- name_regex_dict = dict()
- right_name_count = defaultdict(int)
- wrong_name_count = defaultdict(int)
+ name_regex_dict = dict()
+ right_name_count = defaultdict(int)
+ wrong_name_count = defaultdict(int)
- version_regex_dict = dict()
+ version_regex_dict = dict()
right_version_count = defaultdict(int)
wrong_version_count = defaultdict(int)
- tty.msg('Generating a summary of URL parsing in Spack...')
+ tty.msg("Generating a summary of URL parsing in Spack...")
# Loop through all packages
for pkg_cls in spack.repo.path.all_package_classes():
urls = set()
pkg = pkg_cls(spack.spec.Spec(pkg_cls.name))
- url = getattr(pkg, 'url', None)
+ url = getattr(pkg, "url", None)
if url:
urls.add(url)
for params in pkg.versions.values():
- url = params.get('url', None)
+ url = params.get("url", None)
if url:
urls.add(url)
@@ -228,44 +243,53 @@ def url_summary(args):
pass
print()
- print(' Total URLs found: {0}'.format(total_urls))
- print(' Names correctly parsed: {0:>4}/{1:>4} ({2:>6.2%})'.format(
- correct_names, total_urls, correct_names / total_urls))
- print(' Versions correctly parsed: {0:>4}/{1:>4} ({2:>6.2%})'.format(
- correct_versions, total_urls, correct_versions / total_urls))
+ print(" Total URLs found: {0}".format(total_urls))
+ print(
+ " Names correctly parsed: {0:>4}/{1:>4} ({2:>6.2%})".format(
+ correct_names, total_urls, correct_names / total_urls
+ )
+ )
+ print(
+ " Versions correctly parsed: {0:>4}/{1:>4} ({2:>6.2%})".format(
+ correct_versions, total_urls, correct_versions / total_urls
+ )
+ )
print()
- tty.msg('Statistics on name regular expressions:')
+ tty.msg("Statistics on name regular expressions:")
print()
- print(' Index Right Wrong Total Regular Expression')
+ print(" Index Right Wrong Total Regular Expression")
for ni in sorted(name_regex_dict.keys()):
- print(' {0:>5} {1:>5} {2:>5} {3:>5} r{4!r}'.format(
- ni,
- right_name_count[ni],
- wrong_name_count[ni],
- right_name_count[ni] + wrong_name_count[ni],
- name_regex_dict[ni])
+ print(
+ " {0:>5} {1:>5} {2:>5} {3:>5} r{4!r}".format(
+ ni,
+ right_name_count[ni],
+ wrong_name_count[ni],
+ right_name_count[ni] + wrong_name_count[ni],
+ name_regex_dict[ni],
+ )
)
print()
- tty.msg('Statistics on version regular expressions:')
+ tty.msg("Statistics on version regular expressions:")
print()
- print(' Index Right Wrong Total Regular Expression')
+ print(" Index Right Wrong Total Regular Expression")
for vi in sorted(version_regex_dict.keys()):
- print(' {0:>5} {1:>5} {2:>5} {3:>5} r{4!r}'.format(
- vi,
- right_version_count[vi],
- wrong_version_count[vi],
- right_version_count[vi] + wrong_version_count[vi],
- version_regex_dict[vi])
+ print(
+ " {0:>5} {1:>5} {2:>5} {3:>5} r{4!r}".format(
+ vi,
+ right_version_count[vi],
+ wrong_version_count[vi],
+ right_version_count[vi] + wrong_version_count[vi],
+ version_regex_dict[vi],
+ )
)
print()
# Return statistics, only for testing purposes
- return (total_urls, correct_names, correct_versions,
- right_name_count, right_version_count)
+ return (total_urls, correct_names, correct_versions, right_name_count, right_version_count)
def url_stats(args):
@@ -284,14 +308,14 @@ def url_stats(args):
self.total += 1
url_type = fetcher.url_attr
- self.url_type[url_type or 'no code'] += 1
+ self.url_type[url_type or "no code"] += 1
- if url_type == 'url':
- digest = getattr(fetcher, 'digest', None)
+ if url_type == "url":
+ digest = getattr(fetcher, "digest", None)
if digest:
algo = crypto.hash_algo_for_digest(digest)
else:
- algo = 'no checksum'
+ algo = "no checksum"
self.checksums[algo] += 1
if algo == "md5":
@@ -306,15 +330,15 @@ def url_stats(args):
http_urls = issues["http urls"]
http_urls[pkg_name].append(fetcher.url)
- elif url_type == 'git':
- if getattr(fetcher, 'commit', None):
- self.git_type['commit'] += 1
- elif getattr(fetcher, 'branch', None):
- self.git_type['branch'] += 1
- elif getattr(fetcher, 'tag', None):
- self.git_type['tag'] += 1
+ elif url_type == "git":
+ if getattr(fetcher, "commit", None):
+ self.git_type["commit"] += 1
+ elif getattr(fetcher, "branch", None):
+ self.git_type["branch"] += 1
+ elif getattr(fetcher, "tag", None):
+ self.git_type["tag"] += 1
else:
- self.git_type['no ref'] += 1
+ self.git_type["no ref"] += 1
npkgs = 0
version_stats = UrlStats()
@@ -351,9 +375,9 @@ def url_stats(args):
fmt += "%12d%8.1f%%%12d%8.1f%%"
v = getattr(version_stats, stat_name).get(name, 0)
r = getattr(resource_stats, stat_name).get(name, 0)
- print(fmt % (name,
- v, v / version_stats.total * 100,
- r, r / resource_stats.total * 100))
+ print(
+ fmt % (name, v, v / version_stats.total * 100, r, r / resource_stats.total * 100)
+ )
print_line()
print("%-20s%12s%9s%12s%9s" % ("stat", "versions", "%", "resources", "%"))
@@ -385,9 +409,7 @@ def url_stats(args):
if args.show_issues:
total_issues = sum(
- len(issues)
- for _, pkg_issues in issues.items()
- for _, issues in pkg_issues.items()
+ len(issues) for _, pkg_issues in issues.items() for _, issues in pkg_issues.items()
)
print()
tty.msg("Found %d issues." % total_issues)
@@ -407,14 +429,14 @@ def print_name_and_version(url):
url (str): The url to parse
"""
name, ns, nl, ntup, ver, vs, vl, vtup = substitution_offsets(url)
- underlines = [' '] * max(ns + nl, vs + vl)
+ underlines = [" "] * max(ns + nl, vs + vl)
for i in range(ns, ns + nl):
- underlines[i] = '-'
+ underlines[i] = "-"
for i in range(vs, vs + vl):
- underlines[i] = '~'
+ underlines[i] = "~"
- print(' {0}'.format(url))
- print(' {0}'.format(''.join(underlines)))
+ print(" {0}".format(url))
+ print(" {0}".format("".join(underlines)))
def url_list_parsing(args, urls, url, pkg):
@@ -435,12 +457,10 @@ def url_list_parsing(args, urls, url, pkg):
# Attempt to parse the name
try:
name = parse_name(url)
- if (args.correct_name and
- name_parsed_correctly(pkg, name)):
+ if args.correct_name and name_parsed_correctly(pkg, name):
# Add correctly parsed URLs
urls.add(url)
- elif (args.incorrect_name and
- not name_parsed_correctly(pkg, name)):
+ elif args.incorrect_name and not name_parsed_correctly(pkg, name):
# Add incorrectly parsed URLs
urls.add(url)
except UndetectableNameError:
@@ -451,12 +471,10 @@ def url_list_parsing(args, urls, url, pkg):
# Attempt to parse the version
try:
version = parse_version(url)
- if (args.correct_version and
- version_parsed_correctly(pkg, version)):
+ if args.correct_version and version_parsed_correctly(pkg, version):
# Add correctly parsed URLs
urls.add(url)
- elif (args.incorrect_version and
- not version_parsed_correctly(pkg, version)):
+ elif args.incorrect_version and not version_parsed_correctly(pkg, version):
# Add incorrectly parsed URLs
urls.add(url)
except UndetectableVersionError:
@@ -522,13 +540,22 @@ def remove_prefix(pkg_name):
str: the name of the package with any build system prefix removed
"""
prefixes = [
- 'r-', 'py-', 'tcl-', 'lua-', 'perl-', 'ruby-', 'llvm-',
- 'intel-', 'votca-', 'octave-', 'gtkorvo-'
+ "r-",
+ "py-",
+ "tcl-",
+ "lua-",
+ "perl-",
+ "ruby-",
+ "llvm-",
+ "intel-",
+ "votca-",
+ "octave-",
+ "gtkorvo-",
]
- prefix = next((p for p in prefixes if pkg_name.startswith(p)), '')
+ prefix = next((p for p in prefixes if pkg_name.startswith(p)), "")
- return pkg_name[len(prefix):]
+ return pkg_name[len(prefix) :]
def remove_separators(version):
@@ -546,8 +573,8 @@ def remove_separators(version):
"""
version = str(version)
- version = version.replace('.', '')
- version = version.replace('_', '')
- version = version.replace('-', '')
+ version = version.replace(".", "")
+ version = version.replace("_", "")
+ version = version.replace("-", "")
return version
diff --git a/lib/spack/spack/cmd/verify.py b/lib/spack/spack/cmd/verify.py
index da34846069..5d155049e9 100644
--- a/lib/spack/spack/cmd/verify.py
+++ b/lib/spack/spack/cmd/verify.py
@@ -20,30 +20,42 @@ level = "long"
def setup_parser(subparser):
setup_parser.parser = subparser
- subparser.add_argument('-l', '--local', action='store_true',
- help="Verify only locally installed packages")
- subparser.add_argument('-j', '--json', action='store_true',
- help="Ouptut json-formatted errors")
- subparser.add_argument('-a', '--all', action='store_true',
- help="Verify all packages")
- subparser.add_argument('specs_or_files', nargs=argparse.REMAINDER,
- help="Specs or files to verify")
+ subparser.add_argument(
+ "-l", "--local", action="store_true", help="Verify only locally installed packages"
+ )
+ subparser.add_argument(
+ "-j", "--json", action="store_true", help="Ouptut json-formatted errors"
+ )
+ subparser.add_argument("-a", "--all", action="store_true", help="Verify all packages")
+ subparser.add_argument(
+ "specs_or_files", nargs=argparse.REMAINDER, help="Specs or files to verify"
+ )
type = subparser.add_mutually_exclusive_group()
type.add_argument(
- '-s', '--specs',
- action='store_const', const='specs', dest='type', default='specs',
- help='Treat entries as specs (default)')
+ "-s",
+ "--specs",
+ action="store_const",
+ const="specs",
+ dest="type",
+ default="specs",
+ help="Treat entries as specs (default)",
+ )
type.add_argument(
- '-f', '--files',
- action='store_const', const='files', dest='type', default='specs',
- help="Treat entries as absolute filenames. Cannot be used with '-a'")
+ "-f",
+ "--files",
+ action="store_const",
+ const="files",
+ dest="type",
+ default="specs",
+ help="Treat entries as absolute filenames. Cannot be used with '-a'",
+ )
def verify(parser, args):
local = args.local
- if args.type == 'files':
+ if args.type == "files":
if args.all:
setup_parser.parser.print_help()
return 1
@@ -75,9 +87,7 @@ def verify(parser, args):
elif args.specs_or_files:
# construct disambiguated spec list
env = ev.active_environment()
- specs = list(map(lambda x: spack.cmd.disambiguate_spec(x, env,
- local=local),
- spec_args))
+ specs = list(map(lambda x: spack.cmd.disambiguate_spec(x, env, local=local), spec_args))
else:
setup_parser.parser.print_help()
return 1
@@ -89,7 +99,7 @@ def verify(parser, args):
if args.json:
print(results.json_string())
else:
- tty.msg("In package %s" % spec.format('{name}/{hash:7}'))
+ tty.msg("In package %s" % spec.format("{name}/{hash:7}"))
print(results)
return 1
else:
diff --git a/lib/spack/spack/cmd/versions.py b/lib/spack/spack/cmd/versions.py
index 10df443baa..c59f0195c2 100644
--- a/lib/spack/spack/cmd/versions.py
+++ b/lib/spack/spack/cmd/versions.py
@@ -22,21 +22,27 @@ level = "long"
def setup_parser(subparser):
output = subparser.add_mutually_exclusive_group()
- output.add_argument('-s', '--safe', action='store_true',
- help='only list safe versions of the package')
- output.add_argument('--safe-only', action='store_true',
- help='[deprecated] only list safe versions '
- 'of the package')
- output.add_argument('-r', '--remote', action='store_true',
- help='only list remote versions of the package')
- output.add_argument('-n', '--new', action='store_true',
- help='only list remote versions newer than '
- 'the latest checksummed version')
+ output.add_argument(
+ "-s", "--safe", action="store_true", help="only list safe versions of the package"
+ )
+ output.add_argument(
+ "--safe-only",
+ action="store_true",
+ help="[deprecated] only list safe versions " "of the package",
+ )
+ output.add_argument(
+ "-r", "--remote", action="store_true", help="only list remote versions of the package"
+ )
+ output.add_argument(
+ "-n",
+ "--new",
+ action="store_true",
+ help="only list remote versions newer than " "the latest checksummed version",
+ )
subparser.add_argument(
- '-c', '--concurrency', default=32, type=int,
- help='number of concurrent requests'
+ "-c", "--concurrency", default=32, type=int, help="number of concurrent requests"
)
- arguments.add_common_arguments(subparser, ['package'])
+ arguments.add_common_arguments(subparser, ["package"])
def versions(parser, args):
@@ -52,12 +58,12 @@ def versions(parser, args):
if not (args.remote or args.new):
if sys.stdout.isatty():
- tty.msg('Safe versions (already checksummed):')
+ tty.msg("Safe versions (already checksummed):")
if not safe_versions:
if sys.stdout.isatty():
- tty.warn('Found no versions for {0}'.format(pkg.name))
- tty.debug('Manually add versions to the package.')
+ tty.warn("Found no versions for {0}".format(pkg.name))
+ tty.debug("Manually add versions to the package.")
else:
colify(sorted(safe_versions, reverse=True), indent=2)
@@ -68,26 +74,26 @@ def versions(parser, args):
if args.new:
if sys.stdout.isatty():
- tty.msg('New remote versions (not yet checksummed):')
- numeric_safe_versions = list(filter(
- lambda v: str(v) not in infinity_versions,
- safe_versions))
+ tty.msg("New remote versions (not yet checksummed):")
+ numeric_safe_versions = list(
+ filter(lambda v: str(v) not in infinity_versions, safe_versions)
+ )
highest_safe_version = max(numeric_safe_versions)
- remote_versions = set([ver(v) for v in set(fetched_versions)
- if v > highest_safe_version])
+ remote_versions = set([ver(v) for v in set(fetched_versions) if v > highest_safe_version])
else:
if sys.stdout.isatty():
- tty.msg('Remote versions (not yet checksummed):')
+ tty.msg("Remote versions (not yet checksummed):")
remote_versions = set(fetched_versions).difference(safe_versions)
if not remote_versions:
if sys.stdout.isatty():
if not fetched_versions:
- tty.warn('Found no versions for {0}'.format(pkg.name))
- tty.debug('Check the list_url and list_depth attributes of '
- 'the package to help Spack find versions.')
+ tty.warn("Found no versions for {0}".format(pkg.name))
+ tty.debug(
+ "Check the list_url and list_depth attributes of "
+ "the package to help Spack find versions."
+ )
else:
- tty.warn('Found no unchecksummed versions for {0}'.format(
- pkg.name))
+ tty.warn("Found no unchecksummed versions for {0}".format(pkg.name))
else:
colify(sorted(remote_versions, reverse=True), indent=2)
diff --git a/lib/spack/spack/cmd/view.py b/lib/spack/spack/cmd/view.py
index 40e1b74e2e..cb693c569d 100644
--- a/lib/spack/spack/cmd/view.py
+++ b/lib/spack/spack/cmd/view.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-'''Produce a "view" of a Spack DAG.
+"""Produce a "view" of a Spack DAG.
A "view" is file hierarchy representing the union of a number of
Spack-installed package file hierarchies. The union is formed from:
@@ -32,7 +32,7 @@ brett.viren@gmail.com ca 2016.
All operations on views are performed via proxy objects such as
YamlFilesystemView.
-'''
+"""
import llnl.util.tty as tty
from llnl.util.link_tree import MergeConflictError
from llnl.util.tty.color import colorize
@@ -49,16 +49,15 @@ description = "project packages to a compact naming scheme on the filesystem."
section = "environments"
level = "short"
-actions_link = ["symlink", "add", "soft", "hardlink", "hard", "copy",
- "relocate"]
+actions_link = ["symlink", "add", "soft", "hardlink", "hard", "copy", "relocate"]
actions_remove = ["remove", "rm"]
actions_status = ["statlink", "status", "check"]
def disambiguate_in_view(specs, view):
"""
- When dealing with querying actions (remove/status) we only need to
- disambiguate among specs in the view
+ When dealing with querying actions (remove/status) we only need to
+ disambiguate among specs in the view
"""
view_specs = set(view.get_all_specs())
@@ -69,11 +68,12 @@ def disambiguate_in_view(specs, view):
matching_in_view = [ms for ms in matching_specs if ms in view_specs]
if len(matching_in_view) > 1:
- spec_format = '{name}{@version}{%compiler}{arch=architecture}'
- args = ["Spec matches multiple packages.",
- "Matching packages:"]
- args += [colorize(" @K{%s} " % s.dag_hash(7)) +
- s.cformat(spec_format) for s in matching_in_view]
+ spec_format = "{name}{@version}{%compiler}{arch=architecture}"
+ args = ["Spec matches multiple packages.", "Matching packages:"]
+ args += [
+ colorize(" @K{%s} " % s.dag_hash(7)) + s.cformat(spec_format)
+ for s in matching_in_view
+ ]
args += ["Use a more specific spec."]
tty.die(*args)
@@ -87,97 +87,119 @@ def setup_parser(sp):
setup_parser.parser = sp
sp.add_argument(
- '-v', '--verbose', action='store_true', default=False,
- help="If not verbose only warnings/errors will be printed.")
+ "-v",
+ "--verbose",
+ action="store_true",
+ default=False,
+ help="If not verbose only warnings/errors will be printed.",
+ )
sp.add_argument(
- '-e', '--exclude', action='append', default=[],
- help="exclude packages with names matching the given regex pattern")
+ "-e",
+ "--exclude",
+ action="append",
+ default=[],
+ help="exclude packages with names matching the given regex pattern",
+ )
sp.add_argument(
- '-d', '--dependencies', choices=['true', 'false', 'yes', 'no'],
- default='true',
- help="Link/remove/list dependencies.")
+ "-d",
+ "--dependencies",
+ choices=["true", "false", "yes", "no"],
+ default="true",
+ help="Link/remove/list dependencies.",
+ )
- ssp = sp.add_subparsers(metavar='ACTION', dest='action')
+ ssp = sp.add_subparsers(metavar="ACTION", dest="action")
- specs_opts = dict(metavar='spec', action='store',
- help="seed specs of the packages to view")
+ specs_opts = dict(metavar="spec", action="store", help="seed specs of the packages to view")
# The action parameterizes the command but in keeping with Spack
# patterns we make it a subcommand.
file_system_view_actions = {
"symlink": ssp.add_parser(
- 'symlink', aliases=['add', 'soft'],
- help='add package files to a filesystem view via symbolic links'),
+ "symlink",
+ aliases=["add", "soft"],
+ help="add package files to a filesystem view via symbolic links",
+ ),
"hardlink": ssp.add_parser(
- 'hardlink', aliases=['hard'],
- help='add packages files to a filesystem view via hard links'),
+ "hardlink",
+ aliases=["hard"],
+ help="add packages files to a filesystem view via hard links",
+ ),
"copy": ssp.add_parser(
- 'copy', aliases=['relocate'],
- help='add package files to a filesystem view via copy/relocate'),
+ "copy",
+ aliases=["relocate"],
+ help="add package files to a filesystem view via copy/relocate",
+ ),
"remove": ssp.add_parser(
- 'remove', aliases=['rm'],
- help='remove packages from a filesystem view'),
+ "remove", aliases=["rm"], help="remove packages from a filesystem view"
+ ),
"statlink": ssp.add_parser(
- 'statlink', aliases=['status', 'check'],
- help='check status of packages in a filesystem view')
+ "statlink",
+ aliases=["status", "check"],
+ help="check status of packages in a filesystem view",
+ ),
}
# All these options and arguments are common to every action.
for cmd, act in file_system_view_actions.items():
- act.add_argument('path', nargs=1,
- help="path to file system view directory")
+ act.add_argument("path", nargs=1, help="path to file system view directory")
if cmd in ("symlink", "hardlink", "copy"):
# invalid for remove/statlink, for those commands the view needs to
# already know its own projections.
help_msg = "Initialize view using projections from file."
- act.add_argument('--projection-file', dest='projection_file',
- type=spack.cmd.extant_file, help=help_msg)
+ act.add_argument(
+ "--projection-file",
+ dest="projection_file",
+ type=spack.cmd.extant_file,
+ help=help_msg,
+ )
if cmd == "remove":
grp = act.add_mutually_exclusive_group(required=True)
act.add_argument(
- '--no-remove-dependents', action="store_true",
- help="Do not remove dependents of specified specs.")
+ "--no-remove-dependents",
+ action="store_true",
+ help="Do not remove dependents of specified specs.",
+ )
# with all option, spec is an optional argument
so = specs_opts.copy()
so["nargs"] = "*"
so["default"] = []
- grp.add_argument('specs', **so)
- grp.add_argument("-a", "--all", action='store_true',
- help="act on all specs in view")
+ grp.add_argument("specs", **so)
+ grp.add_argument("-a", "--all", action="store_true", help="act on all specs in view")
elif cmd == "statlink":
so = specs_opts.copy()
so["nargs"] = "*"
- act.add_argument('specs', **so)
+ act.add_argument("specs", **so)
else:
# without all option, spec is required
so = specs_opts.copy()
so["nargs"] = "+"
- act.add_argument('specs', **so)
+ act.add_argument("specs", **so)
for cmd in ["symlink", "hardlink", "copy"]:
act = file_system_view_actions[cmd]
- act.add_argument("-i", "--ignore-conflicts", action='store_true')
+ act.add_argument("-i", "--ignore-conflicts", action="store_true")
return
def view(parser, args):
- 'Produce a view of a set of packages.'
+ "Produce a view of a set of packages."
specs = spack.cmd.parse_specs(args.specs)
path = args.path[0]
if args.action in actions_link and args.projection_file:
# argparse confirms file exists
- with open(args.projection_file, 'r') as f:
+ with open(args.projection_file, "r") as f:
projections_data = s_yaml.load(f)
validate(projections_data, spack.schema.projections.schema)
- ordered_projections = projections_data['projections']
+ ordered_projections = projections_data["projections"]
else:
ordered_projections = {}
@@ -185,14 +207,16 @@ def view(parser, args):
if args.action in actions_link:
link_fn = view_func_parser(args.action)
else:
- link_fn = view_func_parser('symlink')
+ link_fn = view_func_parser("symlink")
view = YamlFilesystemView(
- path, spack.store.layout,
+ path,
+ spack.store.layout,
projections=ordered_projections,
ignore_conflicts=getattr(args, "ignore_conflicts", False),
link=link_fn,
- verbose=args.verbose)
+ verbose=args.verbose,
+ )
# Process common args and specs
if getattr(args, "all", False):
@@ -216,25 +240,27 @@ def view(parser, args):
# status and remove can map a partial spec to packages in view
specs = disambiguate_in_view(specs, view)
- with_dependencies = args.dependencies.lower() in ['true', 'yes']
+ with_dependencies = args.dependencies.lower() in ["true", "yes"]
# Map action to corresponding functionality
if args.action in actions_link:
try:
- view.add_specs(*specs,
- with_dependencies=with_dependencies,
- exclude=args.exclude)
+ view.add_specs(*specs, with_dependencies=with_dependencies, exclude=args.exclude)
except MergeConflictError:
- tty.info("Some file blocked the merge, adding the '-i' flag will "
- "ignore this conflict. For more information see e.g. "
- "https://github.com/spack/spack/issues/9029")
+ tty.info(
+ "Some file blocked the merge, adding the '-i' flag will "
+ "ignore this conflict. For more information see e.g. "
+ "https://github.com/spack/spack/issues/9029"
+ )
raise
elif args.action in actions_remove:
- view.remove_specs(*specs,
- with_dependencies=with_dependencies,
- exclude=args.exclude,
- with_dependents=not args.no_remove_dependents)
+ view.remove_specs(
+ *specs,
+ with_dependencies=with_dependencies,
+ exclude=args.exclude,
+ with_dependents=not args.no_remove_dependents
+ )
elif args.action in actions_status:
view.print_status(*specs, with_dependencies=with_dependencies)
diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py
index 0a502efffa..1e50749730 100644
--- a/lib/spack/spack/compiler.py
+++ b/lib/spack/spack/compiler.py
@@ -25,7 +25,7 @@ import spack.version
from spack.util.environment import filter_system_paths
from spack.util.path import system_path_filter
-__all__ = ['Compiler']
+__all__ = ["Compiler"]
@llnl.util.lang.memoized
@@ -39,11 +39,9 @@ def _get_compiler_version_output(compiler_path, version_arg, ignore_errors=()):
"""
compiler = spack.util.executable.Executable(compiler_path)
if version_arg:
- output = compiler(
- version_arg, output=str, error=str, ignore_errors=ignore_errors)
+ output = compiler(version_arg, output=str, error=str, ignore_errors=ignore_errors)
else:
- output = compiler(
- output=str, error=str, ignore_errors=ignore_errors)
+ output = compiler(output=str, error=str, ignore_errors=ignore_errors)
return output
@@ -53,26 +51,25 @@ def get_compiler_version_output(compiler_path, *args, **kwargs):
# not just executable name. If we don't do this, and the path changes
# (e.g., during testing), we can get incorrect results.
if not os.path.isabs(compiler_path):
- compiler_path = spack.util.executable.which_string(
- compiler_path, required=True)
+ compiler_path = spack.util.executable.which_string(compiler_path, required=True)
return _get_compiler_version_output(compiler_path, *args, **kwargs)
def tokenize_flags(flags_str):
"""Given a compiler flag specification as a string, this returns a list
- where the entries are the flags. For compiler options which set values
- using the syntax "-flag value", this function groups flags and their
- values together. Any token not preceded by a "-" is considered the
- value of a prior flag."""
+ where the entries are the flags. For compiler options which set values
+ using the syntax "-flag value", this function groups flags and their
+ values together. Any token not preceded by a "-" is considered the
+ value of a prior flag."""
tokens = flags_str.split()
if not tokens:
return []
flag = tokens[0]
flags = []
for token in tokens[1:]:
- if not token.startswith('-'):
- flag += ' ' + token
+ if not token.startswith("-"):
+ flag += " " + token
else:
flags.append(flag)
flag = token
@@ -81,19 +78,16 @@ def tokenize_flags(flags_str):
#: regex for parsing linker lines
-_LINKER_LINE = re.compile(
- r'^( *|.*[/\\])'
- r'(link|ld|([^/\\]+-)?ld|collect2)'
- r'[^/\\]*( |$)')
+_LINKER_LINE = re.compile(r"^( *|.*[/\\])" r"(link|ld|([^/\\]+-)?ld|collect2)" r"[^/\\]*( |$)")
#: components of linker lines to ignore
-_LINKER_LINE_IGNORE = re.compile(r'(collect2 version|^[A-Za-z0-9_]+=|/ldfe )')
+_LINKER_LINE_IGNORE = re.compile(r"(collect2 version|^[A-Za-z0-9_]+=|/ldfe )")
#: regex to match linker search paths
-_LINK_DIR_ARG = re.compile(r'^-L(.:)?(?P<dir>[/\\].*)')
+_LINK_DIR_ARG = re.compile(r"^-L(.:)?(?P<dir>[/\\].*)")
#: regex to match linker library path arguments
-_LIBPATH_ARG = re.compile(r'^[-/](LIBPATH|libpath):(?P<dir>.*)')
+_LIBPATH_ARG = re.compile(r"^[-/](LIBPATH|libpath):(?P<dir>.*)")
def _parse_link_paths(string):
@@ -105,26 +99,26 @@ def _parse_link_paths(string):
"""
lib_search_paths = False
raw_link_dirs = []
- tty.debug('parsing implicit link info')
+ tty.debug("parsing implicit link info")
for line in string.splitlines():
if lib_search_paths:
- if line.startswith('\t'):
+ if line.startswith("\t"):
raw_link_dirs.append(line[1:])
continue
else:
lib_search_paths = False
- elif line.startswith('Library search paths:'):
+ elif line.startswith("Library search paths:"):
lib_search_paths = True
if not _LINKER_LINE.match(line):
continue
if _LINKER_LINE_IGNORE.match(line):
continue
- tty.debug('linker line: %s' % line)
+ tty.debug("linker line: %s" % line)
next_arg = False
for arg in line.split():
- if arg in ('-L', '-Y'):
+ if arg in ("-L", "-Y"):
next_arg = True
continue
@@ -135,16 +129,16 @@ def _parse_link_paths(string):
link_dir_arg = _LINK_DIR_ARG.match(arg)
if link_dir_arg:
- link_dir = link_dir_arg.group('dir')
- tty.debug('linkdir: %s' % link_dir)
+ link_dir = link_dir_arg.group("dir")
+ tty.debug("linkdir: %s" % link_dir)
raw_link_dirs.append(link_dir)
link_dir_arg = _LIBPATH_ARG.match(arg)
if link_dir_arg:
- link_dir = link_dir_arg.group('dir')
- tty.debug('libpath: %s', link_dir)
+ link_dir = link_dir_arg.group("dir")
+ tty.debug("libpath: %s", link_dir)
raw_link_dirs.append(link_dir)
- tty.debug('found raw link dirs: %s' % ', '.join(raw_link_dirs))
+ tty.debug("found raw link dirs: %s" % ", ".join(raw_link_dirs))
implicit_link_dirs = list()
visited = set()
@@ -154,7 +148,7 @@ def _parse_link_paths(string):
implicit_link_dirs.append(normalized_path)
visited.add(normalized_path)
- tty.debug('found link dirs: %s' % ', '.join(implicit_link_dirs))
+ tty.debug("found link dirs: %s" % ", ".join(implicit_link_dirs))
return implicit_link_dirs
@@ -183,16 +177,22 @@ def _parse_non_system_link_dirs(string):
def in_system_subdirectory(path):
- system_dirs = ['/lib/', '/lib64/', '/usr/lib/', '/usr/lib64/',
- '/usr/local/lib/', '/usr/local/lib64/']
+ system_dirs = [
+ "/lib/",
+ "/lib64/",
+ "/usr/lib/",
+ "/usr/lib64/",
+ "/usr/local/lib/",
+ "/usr/local/lib64/",
+ ]
return any(path_contains_subdirectory(path, x) for x in system_dirs)
class Compiler(object):
"""This class encapsulates a Spack "compiler", which includes C,
- C++, and Fortran compilers. Subclasses should implement
- support for specific compilers, their possible names, arguments,
- and how to identify the particular type of compiler."""
+ C++, and Fortran compilers. Subclasses should implement
+ support for specific compilers, their possible names, arguments,
+ and how to identify the particular type of compiler."""
# Subclasses use possible names of C compiler
cc_names = [] # type: List[str]
@@ -213,72 +213,81 @@ class Compiler(object):
# Optional suffix regexes for searching for this type of compiler.
# Suffixes are used by some frameworks, e.g. macports uses an '-mp-X.Y'
# version suffix for gcc.
- suffixes = [r'-.*']
+ suffixes = [r"-.*"]
#: Compiler argument that produces version information
- version_argument = '-dumpversion'
+ version_argument = "-dumpversion"
#: Return values to ignore when invoking the compiler to get its version
ignore_version_errors = () # type: Sequence[int]
#: Regex used to extract version from compiler's output
- version_regex = '(.*)'
+ version_regex = "(.*)"
# These libraries are anticipated to be required by all executables built
# by any compiler
- _all_compiler_rpath_libraries = ['libc', 'libc++', 'libstdc++']
+ _all_compiler_rpath_libraries = ["libc", "libc++", "libstdc++"]
# Default flags used by a compiler to set an rpath
@property
def cc_rpath_arg(self):
- return '-Wl,-rpath,'
+ return "-Wl,-rpath,"
@property
def cxx_rpath_arg(self):
- return '-Wl,-rpath,'
+ return "-Wl,-rpath,"
@property
def f77_rpath_arg(self):
- return '-Wl,-rpath,'
+ return "-Wl,-rpath,"
@property
def fc_rpath_arg(self):
- return '-Wl,-rpath,'
+ return "-Wl,-rpath,"
@property
def linker_arg(self):
"""Flag that need to be used to pass an argument to the linker."""
- return '-Wl,'
+ return "-Wl,"
@property
def disable_new_dtags(self):
- if platform.system() == 'Darwin':
- return ''
- return '--disable-new-dtags'
+ if platform.system() == "Darwin":
+ return ""
+ return "--disable-new-dtags"
@property
def enable_new_dtags(self):
- if platform.system() == 'Darwin':
- return ''
- return '--enable-new-dtags'
+ if platform.system() == "Darwin":
+ return ""
+ return "--enable-new-dtags"
@property
def debug_flags(self):
- return ['-g']
+ return ["-g"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3']
+ return ["-O", "-O0", "-O1", "-O2", "-O3"]
# Cray PrgEnv name that can be used to load this compiler
PrgEnv = None # type: str
# Name of module used to switch versions of this compiler
PrgEnv_compiler = None # type: str
- def __init__(self, cspec, operating_system, target,
- paths, modules=None, alias=None, environment=None,
- extra_rpaths=None, enable_implicit_rpaths=None,
- **kwargs):
+ def __init__(
+ self,
+ cspec,
+ operating_system,
+ target,
+ paths,
+ modules=None,
+ alias=None,
+ environment=None,
+ extra_rpaths=None,
+ enable_implicit_rpaths=None,
+ **kwargs
+ ):
self.spec = cspec
self.operating_system = str(operating_system)
self.target = target
@@ -288,7 +297,7 @@ class Compiler(object):
self.extra_rpaths = extra_rpaths or []
self.enable_implicit_rpaths = enable_implicit_rpaths
- self.cc = paths[0]
+ self.cc = paths[0]
self.cxx = paths[1]
self.f77 = None
self.fc = None
@@ -297,7 +306,7 @@ class Compiler(object):
if len(paths) == 3:
self.fc = self.f77
else:
- self.fc = paths[3]
+ self.fc = paths[3]
# Unfortunately have to make sure these params are accepted
# in the same order they are returned by sorted(flags)
@@ -321,6 +330,7 @@ class Compiler(object):
Raises a CompilerAccessError if any of the non-null paths for the
compiler are not accessible.
"""
+
def accessible_exe(exe):
# compilers may contain executable names (on Cray or user edited)
if not os.path.isabs(exe):
@@ -332,8 +342,11 @@ class Compiler(object):
# setup environment before verifying in case we have executable names
# instead of absolute paths
with self.compiler_environment():
- missing = [cmp for cmp in (self.cc, self.cxx, self.f77, self.fc)
- if cmp and not accessible_exe(cmp)]
+ missing = [
+ cmp
+ for cmp in (self.cc, self.cxx, self.f77, self.fc)
+ if cmp and not accessible_exe(cmp)
+ ]
if missing:
raise CompilerAccessError(self, missing)
@@ -349,9 +362,8 @@ class Compiler(object):
"""
if not self._real_version:
try:
- real_version = spack.version.Version(
- self.get_real_version())
- if real_version == spack.version.Version('unknown'):
+ real_version = spack.version.Version(self.get_real_version())
+ if real_version == spack.version.Version("unknown"):
return self.version
self._real_version = real_version
except spack.util.executable.ProcessError:
@@ -364,12 +376,10 @@ class Compiler(object):
# Put CXX first since it has the most linking issues
# And because it has flags that affect linking
- exe_paths = [
- x for x in [self.cxx, self.cc, self.fc, self.f77] if x]
+ exe_paths = [x for x in [self.cxx, self.cc, self.fc, self.f77] if x]
link_dirs = self._get_compiler_link_paths(exe_paths)
- all_required_libs = (
- list(self.required_libs) + Compiler._all_compiler_rpath_libraries)
+ all_required_libs = list(self.required_libs) + Compiler._all_compiler_rpath_libraries
return list(paths_containing_libs(link_dirs, all_required_libs))
@property
@@ -390,37 +400,36 @@ class Compiler(object):
return []
# What flag types apply to first_compiler, in what order
- flags = ['cppflags', 'ldflags']
+ flags = ["cppflags", "ldflags"]
if first_compiler == self.cc:
- flags = ['cflags'] + flags
+ flags = ["cflags"] + flags
elif first_compiler == self.cxx:
- flags = ['cxxflags'] + flags
+ flags = ["cxxflags"] + flags
else:
- flags.append('fflags')
+ flags.append("fflags")
try:
- tmpdir = tempfile.mkdtemp(prefix='spack-implicit-link-info')
- fout = os.path.join(tmpdir, 'output')
- fin = os.path.join(tmpdir, 'main.c')
+ tmpdir = tempfile.mkdtemp(prefix="spack-implicit-link-info")
+ fout = os.path.join(tmpdir, "output")
+ fin = os.path.join(tmpdir, "main.c")
- with open(fin, 'w+') as csource:
+ with open(fin, "w+") as csource:
csource.write(
- 'int main(int argc, char* argv[]) { '
- '(void)argc; (void)argv; return 0; }\n')
+ "int main(int argc, char* argv[]) { " "(void)argc; (void)argv; return 0; }\n"
+ )
compiler_exe = spack.util.executable.Executable(first_compiler)
for flag_type in flags:
for flag in self.flags.get(flag_type, []):
compiler_exe.add_default_arg(flag)
- output = ''
+ output = ""
with self.compiler_environment():
- output = str(compiler_exe(
- self.verbose_flag, fin, '-o', fout,
- output=str, error=str)) # str for py2
+ output = str(
+ compiler_exe(self.verbose_flag, fin, "-o", fout, output=str, error=str)
+ ) # str for py2
return _parse_non_system_link_dirs(output)
except spack.util.executable.ProcessError as pe:
- tty.debug('ProcessError: Command exited with non-zero status: ' +
- pe.long_message)
+ tty.debug("ProcessError: Command exited with non-zero status: " + pe.long_message)
return []
finally:
shutil.rmtree(tmpdir, ignore_errors=True)
@@ -452,69 +461,59 @@ class Compiler(object):
@property
def cxx11_flag(self):
# If it is not overridden, assume it is not supported and warn the user
- raise UnsupportedCompilerFlag(self,
- "the C++11 standard",
- "cxx11_flag")
+ raise UnsupportedCompilerFlag(self, "the C++11 standard", "cxx11_flag")
# This property should be overridden in the compiler subclass if
# C++14 is supported by that compiler
@property
def cxx14_flag(self):
# If it is not overridden, assume it is not supported and warn the user
- raise UnsupportedCompilerFlag(self,
- "the C++14 standard",
- "cxx14_flag")
+ raise UnsupportedCompilerFlag(self, "the C++14 standard", "cxx14_flag")
# This property should be overridden in the compiler subclass if
# C++17 is supported by that compiler
@property
def cxx17_flag(self):
# If it is not overridden, assume it is not supported and warn the user
- raise UnsupportedCompilerFlag(self,
- "the C++17 standard",
- "cxx17_flag")
+ raise UnsupportedCompilerFlag(self, "the C++17 standard", "cxx17_flag")
# This property should be overridden in the compiler subclass if
# C99 is supported by that compiler
@property
def c99_flag(self):
# If it is not overridden, assume it is not supported and warn the user
- raise UnsupportedCompilerFlag(self,
- "the C99 standard",
- "c99_flag")
+ raise UnsupportedCompilerFlag(self, "the C99 standard", "c99_flag")
# This property should be overridden in the compiler subclass if
# C11 is supported by that compiler
@property
def c11_flag(self):
# If it is not overridden, assume it is not supported and warn the user
- raise UnsupportedCompilerFlag(self,
- "the C11 standard",
- "c11_flag")
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag")
@property
def cc_pic_flag(self):
"""Returns the flag used by the C compiler to produce
Position Independent Code (PIC)."""
- return '-fPIC'
+ return "-fPIC"
@property
def cxx_pic_flag(self):
"""Returns the flag used by the C++ compiler to produce
Position Independent Code (PIC)."""
- return '-fPIC'
+ return "-fPIC"
@property
def f77_pic_flag(self):
"""Returns the flag used by the F77 compiler to produce
Position Independent Code (PIC)."""
- return '-fPIC'
+ return "-fPIC"
@property
def fc_pic_flag(self):
"""Returns the flag used by the FC compiler to produce
Position Independent Code (PIC)."""
- return '-fPIC'
+ return "-fPIC"
# Note: This is not a class method. The class methods are used to detect
# compilers on PATH based systems, and do not set up the run environment of
@@ -530,9 +529,12 @@ class Compiler(object):
"""
cc = spack.util.executable.Executable(self.cc)
with self.compiler_environment():
- output = cc(self.version_argument,
- output=str, error=str,
- ignore_errors=tuple(self.ignore_version_errors))
+ output = cc(
+ self.version_argument,
+ output=str,
+ error=str,
+ ignore_errors=tuple(self.ignore_version_errors),
+ )
return self.extract_version_from_output(output)
#
@@ -546,7 +548,8 @@ class Compiler(object):
def default_version(cls, cc):
"""Override just this to override all compiler version functions."""
output = get_compiler_version_output(
- cc, cls.version_argument, tuple(cls.ignore_version_errors))
+ cc, cls.version_argument, tuple(cls.ignore_version_errors)
+ )
return cls.extract_version_from_output(output)
@classmethod
@@ -554,7 +557,7 @@ class Compiler(object):
def extract_version_from_output(cls, output):
"""Extracts the version from compiler's output."""
match = re.search(cls.version_regex, output)
- return match.group(1) if match else 'unknown'
+ return match.group(1) if match else "unknown"
@classmethod
def cc_version(cls, cc):
@@ -577,14 +580,13 @@ class Compiler(object):
# Compile all the regular expressions used for files beforehand.
# This searches for any combination of <prefix><name><suffix>
# defined for the compiler
- compiler_names = getattr(cls, '{0}_names'.format(language))
- prefixes = [''] + cls.prefixes
- suffixes = [''] + cls.suffixes
- regexp_fmt = r'^({0}){1}({2})$'
+ compiler_names = getattr(cls, "{0}_names".format(language))
+ prefixes = [""] + cls.prefixes
+ suffixes = [""] + cls.suffixes
+ regexp_fmt = r"^({0}){1}({2})$"
return [
re.compile(regexp_fmt.format(prefix, re.escape(name), suffix))
- for prefix, name, suffix in
- itertools.product(prefixes, compiler_names, suffixes)
+ for prefix, name, suffix in itertools.product(prefixes, compiler_names, suffixes)
]
def setup_custom_environment(self, pkg, env):
@@ -598,9 +600,21 @@ class Compiler(object):
def __str__(self):
"""Return a string representation of the compiler toolchain."""
return "%s(%s)" % (
- self.name, '\n '.join((str(s) for s in (
- self.cc, self.cxx, self.f77, self.fc, self.modules,
- str(self.operating_system)))))
+ self.name,
+ "\n ".join(
+ (
+ str(s)
+ for s in (
+ self.cc,
+ self.cxx,
+ self.f77,
+ self.fc,
+ self.modules,
+ str(self.operating_system),
+ )
+ )
+ ),
+ )
@contextlib.contextmanager
def compiler_environment(self):
@@ -617,8 +631,8 @@ class Compiler(object):
for module in self.modules:
# On cray, mic-knl module cannot be loaded without cce module
# See: https://github.com/spack/spack/issues/3153
- if os.environ.get("CRAY_CPU_TARGET") == 'mic-knl':
- spack.util.module_cmd.load_module('cce')
+ if os.environ.get("CRAY_CPU_TARGET") == "mic-knl":
+ spack.util.module_cmd.load_module("cce")
spack.util.module_cmd.load_module(module)
# apply other compiler environment changes
@@ -643,23 +657,18 @@ class CompilerAccessError(spack.error.SpackError):
class InvalidCompilerError(spack.error.SpackError):
-
def __init__(self):
- super(InvalidCompilerError, self).__init__(
- "Compiler has no executables.")
+ super(InvalidCompilerError, self).__init__("Compiler has no executables.")
class UnsupportedCompilerFlag(spack.error.SpackError):
-
def __init__(self, compiler, feature, flag_name, ver_string=None):
super(UnsupportedCompilerFlag, self).__init__(
- "{0} ({1}) does not support {2} (as compiler.{3})."
- .format(compiler.name,
- ver_string if ver_string else compiler.version,
- feature,
- flag_name),
- "If you think it should, please edit the compiler.{0} subclass to"
- .format(compiler.name) +
- " implement the {0} property and submit a pull request or issue."
- .format(flag_name)
+ "{0} ({1}) does not support {2} (as compiler.{3}).".format(
+ compiler.name, ver_string if ver_string else compiler.version, feature, flag_name
+ ),
+ "If you think it should, please edit the compiler.{0} subclass to".format(
+ compiler.name
+ )
+ + " implement the {0} property and submit a pull request or issue.".format(flag_name),
)
diff --git a/lib/spack/spack/compilers/__init__.py b/lib/spack/spack/compilers/__init__.py
index a57ca6ac55..1d61f37df7 100644
--- a/lib/spack/spack/compilers/__init__.py
+++ b/lib/spack/spack/compilers/__init__.py
@@ -29,10 +29,15 @@ import spack.spec
from spack.util.environment import get_path
from spack.util.naming import mod_to_class
-_path_instance_vars = ['cc', 'cxx', 'f77', 'fc']
-_flags_instance_vars = ['cflags', 'cppflags', 'cxxflags', 'fflags']
-_other_instance_vars = ['modules', 'operating_system', 'environment',
- 'implicit_rpaths', 'extra_rpaths']
+_path_instance_vars = ["cc", "cxx", "f77", "fc"]
+_flags_instance_vars = ["cflags", "cppflags", "cxxflags", "fflags"]
+_other_instance_vars = [
+ "modules",
+ "operating_system",
+ "environment",
+ "implicit_rpaths",
+ "extra_rpaths",
+]
_cache_config_file = []
# TODO: Caches at module level make it difficult to mock configurations in
@@ -41,16 +46,15 @@ _cache_config_file = []
_compiler_cache = {} # type: Dict[str, spack.compiler.Compiler]
_compiler_to_pkg = {
- 'clang': 'llvm+clang',
- 'oneapi': 'intel-oneapi-compilers',
- 'rocmcc': 'llvm-amdgpu'
+ "clang": "llvm+clang",
+ "oneapi": "intel-oneapi-compilers",
+ "rocmcc": "llvm-amdgpu",
}
def pkg_spec_for_compiler(cspec):
"""Return the spec of the package that provides the compiler."""
- spec_str = '%s@%s' % (_compiler_to_pkg.get(cspec.name, cspec.name),
- cspec.versions)
+ spec_str = "%s@%s" % (_compiler_to_pkg.get(cspec.name, cspec.name), cspec.versions)
return spack.spec.Spec(spec_str)
@@ -59,45 +63,49 @@ def _auto_compiler_spec(function):
if not isinstance(cspec_like, spack.spec.CompilerSpec):
cspec_like = spack.spec.CompilerSpec(cspec_like)
return function(cspec_like, *args, **kwargs)
+
return converter
def _to_dict(compiler):
"""Return a dict version of compiler suitable to insert in YAML."""
d = {}
- d['spec'] = str(compiler.spec)
- d['paths'] = dict((attr, getattr(compiler, attr, None))
- for attr in _path_instance_vars)
- d['flags'] = dict((fname, fvals) for fname, fvals in compiler.flags)
- d['flags'].update(dict((attr, getattr(compiler, attr, None))
- for attr in _flags_instance_vars
- if hasattr(compiler, attr)))
- d['operating_system'] = str(compiler.operating_system)
- d['target'] = str(compiler.target)
- d['modules'] = compiler.modules or []
- d['environment'] = compiler.environment or {}
- d['extra_rpaths'] = compiler.extra_rpaths or []
+ d["spec"] = str(compiler.spec)
+ d["paths"] = dict((attr, getattr(compiler, attr, None)) for attr in _path_instance_vars)
+ d["flags"] = dict((fname, fvals) for fname, fvals in compiler.flags)
+ d["flags"].update(
+ dict(
+ (attr, getattr(compiler, attr, None))
+ for attr in _flags_instance_vars
+ if hasattr(compiler, attr)
+ )
+ )
+ d["operating_system"] = str(compiler.operating_system)
+ d["target"] = str(compiler.target)
+ d["modules"] = compiler.modules or []
+ d["environment"] = compiler.environment or {}
+ d["extra_rpaths"] = compiler.extra_rpaths or []
if compiler.enable_implicit_rpaths is not None:
- d['implicit_rpaths'] = compiler.enable_implicit_rpaths
+ d["implicit_rpaths"] = compiler.enable_implicit_rpaths
if compiler.alias:
- d['alias'] = compiler.alias
+ d["alias"] = compiler.alias
- return {'compiler': d}
+ return {"compiler": d}
def get_compiler_config(scope=None, init_config=True):
- """Return the compiler configuration for the specified architecture.
- """
+ """Return the compiler configuration for the specified architecture."""
+
def init_compiler_config():
"""Compiler search used when Spack has no compilers."""
compilers = find_compilers()
compilers_dict = []
for compiler in compilers:
compilers_dict.append(_to_dict(compiler))
- spack.config.set('compilers', compilers_dict, scope=scope)
+ spack.config.set("compilers", compilers_dict, scope=scope)
- config = spack.config.get('compilers', scope=scope)
+ config = spack.config.get("compilers", scope=scope)
# Update the configuration if there are currently no compilers
# configured. Avoid updating automatically if there ARE site
# compilers configured but no user ones.
@@ -105,15 +113,15 @@ def get_compiler_config(scope=None, init_config=True):
if scope is None:
# We know no compilers were configured in any scope.
init_compiler_config()
- config = spack.config.get('compilers', scope=scope)
- elif scope == 'user':
+ config = spack.config.get("compilers", scope=scope)
+ elif scope == "user":
# Check the site config and update the user config if
# nothing is configured at the site level.
- site_config = spack.config.get('compilers', scope='site')
- sys_config = spack.config.get('compilers', scope='system')
+ site_config = spack.config.get("compilers", scope="site")
+ sys_config = spack.config.get("compilers", scope="system")
if not site_config and not sys_config:
init_compiler_config()
- config = spack.config.get('compilers', scope=scope)
+ config = spack.config.get("compilers", scope=scope)
return config
elif config:
return config
@@ -126,9 +134,9 @@ def compiler_config_files():
config = spack.config.config
for scope in config.file_scopes:
name = scope.name
- compiler_config = config.get('compilers', scope=name)
+ compiler_config = config.get("compilers", scope=name)
if compiler_config:
- config_files.append(config.get_config_filename(name, 'compilers'))
+ config_files.append(config.get_config_filename(name, "compilers"))
return config_files
@@ -144,7 +152,7 @@ def add_compilers_to_config(compilers, scope=None, init_config=True):
compiler_config.append(_to_dict(compiler))
global _cache_config_file
_cache_config_file = compiler_config
- spack.config.set('compilers', compiler_config, scope=scope)
+ spack.config.set("compilers", compiler_config, scope=scope)
@_auto_compiler_spec
@@ -162,19 +170,21 @@ def remove_compiler_from_config(compiler_spec, scope=None):
config_length = len(compiler_config)
filtered_compiler_config = [
- comp for comp in compiler_config
- if spack.spec.CompilerSpec(comp['compiler']['spec']) != compiler_spec]
+ comp
+ for comp in compiler_config
+ if spack.spec.CompilerSpec(comp["compiler"]["spec"]) != compiler_spec
+ ]
# Update the cache for changes
_cache_config_file = filtered_compiler_config
if len(filtered_compiler_config) == config_length: # No items removed
CompilerSpecInsufficientlySpecificError(compiler_spec)
- spack.config.set('compilers', filtered_compiler_config, scope=scope)
+ spack.config.set("compilers", filtered_compiler_config, scope=scope)
def all_compilers_config(scope=None, init_config=True):
"""Return a set of specs for all the compiler versions currently
- available to build with. These are instances of CompilerSpec.
+ available to build with. These are instances of CompilerSpec.
"""
# Get compilers for this architecture.
# Create a cache of the config file so we don't load all the time.
@@ -188,8 +198,10 @@ def all_compilers_config(scope=None, init_config=True):
def all_compiler_specs(scope=None, init_config=True):
# Return compiler specs from the merged config.
- return [spack.spec.CompilerSpec(s['compiler']['spec'])
- for s in all_compilers_config(scope, init_config)]
+ return [
+ spack.spec.CompilerSpec(s["compiler"]["spec"])
+ for s in all_compilers_config(scope, init_config)
+ ]
def find_compilers(path_hints=None):
@@ -201,7 +213,7 @@ def find_compilers(path_hints=None):
will be used if the value is None
"""
if path_hints is None:
- path_hints = get_path('PATH')
+ path_hints = get_path("PATH")
default_paths = fs.search_paths_for_executables(*path_hints)
# To detect the version of the compilers, we dispatch a certain number
@@ -209,7 +221,7 @@ def find_compilers(path_hints=None):
# of arguments for each call.
arguments = []
for o in all_os_classes():
- search_paths = getattr(o, 'compiler_search_paths', default_paths)
+ search_paths = getattr(o, "compiler_search_paths", default_paths)
arguments.extend(arguments_to_detect_version_fn(o, search_paths))
# Here we map the function arguments to the corresponding calls
@@ -235,9 +247,7 @@ def find_compilers(path_hints=None):
value, _ = item
return value
- return make_compiler_list(
- map(remove_errors, filter(valid_version, detected_versions))
- )
+ return make_compiler_list(map(remove_errors, filter(valid_version, detected_versions)))
def find_new_compilers(path_hints=None, scope=None):
@@ -262,9 +272,7 @@ def select_new_compilers(compilers, scope=None):
compilers_not_in_config = []
for c in compilers:
arch_spec = spack.spec.ArchSpec((None, c.operating_system, c.target))
- same_specs = compilers_for_spec(
- c.spec, arch_spec, scope=scope, init_config=False
- )
+ same_specs = compilers_for_spec(c.spec, arch_spec, scope=scope, init_config=False)
if not same_specs:
compilers_not_in_config.append(c)
@@ -274,13 +282,15 @@ def select_new_compilers(compilers, scope=None):
def supported_compilers():
"""Return a set of names of compilers supported by Spack.
- See available_compilers() to get a list of all the available
- versions of supported compilers.
+ See available_compilers() to get a list of all the available
+ versions of supported compilers.
"""
# Hack to be able to call the compiler `apple-clang` while still
# using a valid python name for the module
- return sorted(name if name != 'apple_clang' else 'apple-clang' for name in
- llnl.util.lang.list_modules(spack.paths.compilers_path))
+ return sorted(
+ name if name != "apple_clang" else "apple-clang"
+ for name in llnl.util.lang.list_modules(spack.paths.compilers_path)
+ )
@_auto_compiler_spec
@@ -292,37 +302,32 @@ def supported(compiler_spec):
@_auto_compiler_spec
def find(compiler_spec, scope=None, init_config=True):
"""Return specs of available compilers that match the supplied
- compiler spec. Return an empty list if nothing found."""
- return [c for c in all_compiler_specs(scope, init_config)
- if c.satisfies(compiler_spec)]
+ compiler spec. Return an empty list if nothing found."""
+ return [c for c in all_compiler_specs(scope, init_config) if c.satisfies(compiler_spec)]
@_auto_compiler_spec
def find_specs_by_arch(compiler_spec, arch_spec, scope=None, init_config=True):
"""Return specs of available compilers that match the supplied
- compiler spec. Return an empty list if nothing found."""
- return [c.spec for c in compilers_for_spec(compiler_spec,
- arch_spec,
- scope,
- True,
- init_config)]
+ compiler spec. Return an empty list if nothing found."""
+ return [c.spec for c in compilers_for_spec(compiler_spec, arch_spec, scope, True, init_config)]
def all_compilers(scope=None, init_config=True):
config = get_compiler_config(scope, init_config=init_config)
compilers = list()
for items in config:
- items = items['compiler']
+ items = items["compiler"]
compilers.append(_compiler_from_config_entry(items))
return compilers
@_auto_compiler_spec
def compilers_for_spec(
- compiler_spec, arch_spec=None, scope=None, use_cache=True, init_config=True
+ compiler_spec, arch_spec=None, scope=None, use_cache=True, init_config=True
):
"""This gets all compilers that satisfy the supplied CompilerSpec.
- Returns an empty list if none are found.
+ Returns an empty list if none are found.
"""
if use_cache:
config = all_compilers_config(scope, init_config)
@@ -343,11 +348,12 @@ def compilers_for_arch(arch_spec, scope=None):
class CacheReference(object):
"""This acts as a hashable reference to any object (regardless of whether
- the object itself is hashable) and also prevents the object from being
- garbage-collected (so if two CacheReference objects are equal, they
- will refer to the same object, since it will not have been gc'ed since
- the creation of the first CacheReference).
+ the object itself is hashable) and also prevents the object from being
+ garbage-collected (so if two CacheReference objects are equal, they
+ will refer to the same object, since it will not have been gc'ed since
+ the creation of the first CacheReference).
"""
+
def __init__(self, val):
self.val = val
self.id = id(val)
@@ -360,33 +366,32 @@ class CacheReference(object):
def compiler_from_dict(items):
- cspec = spack.spec.CompilerSpec(items['spec'])
- os = items.get('operating_system', None)
- target = items.get('target', None)
+ cspec = spack.spec.CompilerSpec(items["spec"])
+ os = items.get("operating_system", None)
+ target = items.get("target", None)
- if not ('paths' in items and
- all(n in items['paths'] for n in _path_instance_vars)):
+ if not ("paths" in items and all(n in items["paths"] for n in _path_instance_vars)):
raise InvalidCompilerConfigurationError(cspec)
- cls = class_for_compiler_name(cspec.name)
+ cls = class_for_compiler_name(cspec.name)
compiler_paths = []
for c in _path_instance_vars:
- compiler_path = items['paths'][c]
- if compiler_path != 'None':
+ compiler_path = items["paths"][c]
+ if compiler_path != "None":
compiler_paths.append(compiler_path)
else:
compiler_paths.append(None)
- mods = items.get('modules')
- if mods == 'None':
+ mods = items.get("modules")
+ if mods == "None":
mods = []
- alias = items.get('alias', None)
- compiler_flags = items.get('flags', {})
- environment = items.get('environment', {})
- extra_rpaths = items.get('extra_rpaths', [])
- implicit_rpaths = items.get('implicit_rpaths', None)
+ alias = items.get("alias", None)
+ compiler_flags = items.get("flags", {})
+ environment = items.get("environment", {})
+ extra_rpaths = items.get("extra_rpaths", [])
+ implicit_rpaths = items.get("implicit_rpaths", None)
# Starting with c22a145, 'implicit_rpaths' was a list. Now it is a
# boolean which can be set by the user to disable all automatic
@@ -394,18 +399,26 @@ def compiler_from_dict(items):
if implicit_rpaths is not None and not isinstance(implicit_rpaths, bool):
implicit_rpaths = None
- return cls(cspec, os, target, compiler_paths, mods, alias,
- environment, extra_rpaths,
- enable_implicit_rpaths=implicit_rpaths,
- **compiler_flags)
+ return cls(
+ cspec,
+ os,
+ target,
+ compiler_paths,
+ mods,
+ alias,
+ environment,
+ extra_rpaths,
+ enable_implicit_rpaths=implicit_rpaths,
+ **compiler_flags
+ )
def _compiler_from_config_entry(items):
"""Note this is intended for internal use only. To avoid re-parsing
- the same config dictionary this keeps track of its location in
- memory. If you provide the same dictionary twice it will return
- the same Compiler object (regardless of whether the dictionary
- entries have changed).
+ the same config dictionary this keeps track of its location in
+ memory. If you provide the same dictionary twice it will return
+ the same Compiler object (regardless of whether the dictionary
+ entries have changed).
"""
config_id = CacheReference(items)
compiler = _compiler_cache.get(config_id, None)
@@ -421,13 +434,13 @@ def get_compilers(config, cspec=None, arch_spec=None):
compilers = []
for items in config:
- items = items['compiler']
- if cspec and items['spec'] != str(cspec):
+ items = items["compiler"]
+ if cspec and items["spec"] != str(cspec):
continue
# If an arch spec is given, confirm that this compiler
# is for the given operating system
- os = items.get('operating_system', None)
+ os = items.get("operating_system", None)
if arch_spec and os != arch_spec.os:
continue
@@ -435,7 +448,7 @@ def get_compilers(config, cspec=None, arch_spec=None):
# is for the given target. If the target is 'any', match
# any given arch spec. If the compiler has no assigned
# target this is an old compiler config file, skip this logic.
- target = items.get('target', None)
+ target = items.get("target", None)
try:
current_target = archspec.cpu.TARGETS[str(arch_spec.target)]
@@ -447,14 +460,16 @@ def get_compilers(config, cspec=None, arch_spec=None):
except AttributeError:
assert arch_spec is None
- if arch_spec and target and (target != family and target != 'any'):
+ if arch_spec and target and (target != family and target != "any"):
# If the family of the target is the family we are seeking,
# there's an error in the underlying configuration
if archspec.cpu.TARGETS[target].family == family:
- msg = ('the "target" field in compilers.yaml accepts only '
- 'target families [replace "{0}" with "{1}"'
- ' in "{2}" specification]')
- msg = msg.format(str(target), family, items.get('spec', '??'))
+ msg = (
+ 'the "target" field in compilers.yaml accepts only '
+ 'target families [replace "{0}" with "{1}"'
+ ' in "{2}" specification]'
+ )
+ msg = msg.format(str(target), family, items.get("spec", "??"))
raise ValueError(msg)
continue
@@ -466,16 +481,16 @@ def get_compilers(config, cspec=None, arch_spec=None):
@_auto_compiler_spec
def compiler_for_spec(compiler_spec, arch_spec):
"""Get the compiler that satisfies compiler_spec. compiler_spec must
- be concrete."""
- assert(compiler_spec.concrete)
- assert(arch_spec.concrete)
+ be concrete."""
+ assert compiler_spec.concrete
+ assert arch_spec.concrete
compilers = compilers_for_spec(compiler_spec, arch_spec=arch_spec)
if len(compilers) < 1:
raise NoCompilerForSpecError(compiler_spec, arch_spec.os)
if len(compilers) > 1:
- msg = 'Multiple definitions of compiler %s' % compiler_spec
- msg += 'for architecture %s:\n %s' % (arch_spec, compilers)
+ msg = "Multiple definitions of compiler %s" % compiler_spec
+ msg += "for architecture %s:\n %s" % (arch_spec, compilers)
tty.debug(msg)
return compilers[0]
@@ -486,14 +501,15 @@ def get_compiler_duplicates(compiler_spec, arch_spec):
scope_to_compilers = {}
for scope in config.scopes:
- compilers = compilers_for_spec(compiler_spec, arch_spec=arch_spec,
- scope=scope, use_cache=False)
+ compilers = compilers_for_spec(
+ compiler_spec, arch_spec=arch_spec, scope=scope, use_cache=False
+ )
if compilers:
scope_to_compilers[scope] = compilers
cfg_file_to_duplicates = {}
for scope, compilers in scope_to_compilers.items():
- config_file = config.get_config_filename(scope, 'compilers')
+ config_file = config.get_config_filename(scope, "compilers")
cfg_file_to_duplicates[config_file] = compilers
return cfg_file_to_duplicates
@@ -508,10 +524,10 @@ def class_for_compiler_name(compiler_name):
# Hack to be able to call the compiler `apple-clang` while still
# using a valid python name for the module
submodule_name = compiler_name
- if compiler_name == 'apple-clang':
- submodule_name = compiler_name.replace('-', '_')
+ if compiler_name == "apple-clang":
+ submodule_name = compiler_name.replace("-", "_")
- module_name = '.'.join(['spack', 'compilers', submodule_name])
+ module_name = ".".join(["spack", "compilers", submodule_name])
module_obj = __import__(module_name, fromlist=[None])
cls = getattr(module_obj, mod_to_class(compiler_name))
@@ -546,12 +562,10 @@ def all_compiler_types():
#: - compiler_name: the name of the compiler (e.g. 'gcc', 'clang', etc.)
#: - version: the version of the compiler
#:
-CompilerID = collections.namedtuple(
- 'CompilerID', ['os', 'compiler_name', 'version']
-)
+CompilerID = collections.namedtuple("CompilerID", ["os", "compiler_name", "version"])
#: Variations on a matched compiler name
-NameVariation = collections.namedtuple('NameVariation', ['prefix', 'suffix'])
+NameVariation = collections.namedtuple("NameVariation", ["prefix", "suffix"])
#: Groups together the arguments needed by `detect_version`. The four entries
#: in the tuple are:
@@ -563,7 +577,7 @@ NameVariation = collections.namedtuple('NameVariation', ['prefix', 'suffix'])
#: - path: full path to the executable being tested
#:
DetectVersionArgs = collections.namedtuple(
- 'DetectVersionArgs', ['id', 'variation', 'language', 'path']
+ "DetectVersionArgs", ["id", "variation", "language", "path"]
)
@@ -584,6 +598,7 @@ def arguments_to_detect_version_fn(operating_system, paths):
mapped to the corresponding function call to detect the version of the
compilers in this OS.
"""
+
def _default(search_paths):
command_arguments = []
files_to_be_tested = fs.files_in(*search_paths)
@@ -591,30 +606,26 @@ def arguments_to_detect_version_fn(operating_system, paths):
compiler_cls = class_for_compiler_name(compiler_name)
- for language in ('cc', 'cxx', 'f77', 'fc'):
+ for language in ("cc", "cxx", "f77", "fc"):
# Select only the files matching a regexp
for (file, full_path), regexp in itertools.product(
- files_to_be_tested,
- compiler_cls.search_regexps(language)
+ files_to_be_tested, compiler_cls.search_regexps(language)
):
match = regexp.match(file)
if match:
- compiler_id = CompilerID(
- operating_system, compiler_name, None
- )
+ compiler_id = CompilerID(operating_system, compiler_name, None)
detect_version_args = DetectVersionArgs(
id=compiler_id,
variation=NameVariation(*match.groups()),
- language=language, path=full_path
+ language=language,
+ path=full_path,
)
command_arguments.append(detect_version_args)
return command_arguments
- fn = getattr(
- operating_system, 'arguments_to_detect_version_fn', _default
- )
+ fn = getattr(operating_system, "arguments_to_detect_version_fn", _default)
return fn(paths)
@@ -636,6 +647,7 @@ def detect_version(detect_version_args):
of the tuple will contain it. Otherwise ``error`` is a string
containing an explanation on why the version couldn't be computed.
"""
+
def _default(fn_args):
compiler_id = fn_args.id
language = fn_args.language
@@ -643,31 +655,27 @@ def detect_version(detect_version_args):
path = fn_args.path
# Get compiler names and the callback to detect their versions
- callback = getattr(compiler_cls, '{0}_version'.format(language))
+ callback = getattr(compiler_cls, "{0}_version".format(language))
try:
version = callback(path)
- if version and six.text_type(version).strip() \
- and version != 'unknown':
- value = fn_args._replace(
- id=compiler_id._replace(version=version)
- )
+ if version and six.text_type(version).strip() and version != "unknown":
+ value = fn_args._replace(id=compiler_id._replace(version=version))
return value, None
error = "Couldn't get version for compiler {0}".format(path)
except spack.util.executable.ProcessError as e:
- error = "Couldn't get version for compiler {0}\n".format(path) + \
- six.text_type(e)
+ error = "Couldn't get version for compiler {0}\n".format(path) + six.text_type(e)
except Exception as e:
# Catching "Exception" here is fine because it just
# means something went wrong running a candidate executable.
- error = "Error while executing candidate compiler {0}" \
- "\n{1}: {2}".format(path, e.__class__.__name__,
- six.text_type(e))
+ error = "Error while executing candidate compiler {0}" "\n{1}: {2}".format(
+ path, e.__class__.__name__, six.text_type(e)
+ )
return None, error
operating_system = detect_version_args.id.os
- fn = getattr(operating_system, 'detect_version', _default)
+ fn = getattr(operating_system, "detect_version", _default)
return fn(detect_version_args)
@@ -697,11 +705,9 @@ def make_compiler_list(detected_versions):
operating_system, compiler_name, version = cmp_id
compiler_cls = spack.compilers.class_for_compiler_name(compiler_name)
spec = spack.spec.CompilerSpec(compiler_cls.name, version)
- paths = [paths.get(x, None) for x in ('cc', 'cxx', 'f77', 'fc')]
+ paths = [paths.get(x, None) for x in ("cc", "cxx", "f77", "fc")]
target = archspec.cpu.host()
- compiler = compiler_cls(
- spec, operating_system, str(target.family), paths
- )
+ compiler = compiler_cls(spec, operating_system, str(target.family), paths)
return [compiler]
# For compilers with the same compiler id:
@@ -711,10 +717,10 @@ def make_compiler_list(detected_versions):
# - Prefer no variations to variations (e.g., clang to clang-gpu)
#
sort_fn = lambda variation: (
- 'cc' not in by_compiler_id[variation], # None last
- 'cxx' not in by_compiler_id[variation], # None last
- getattr(variation, 'prefix', None),
- getattr(variation, 'suffix', None),
+ "cc" not in by_compiler_id[variation], # None last
+ "cxx" not in by_compiler_id[variation], # None last
+ getattr(variation, "prefix", None),
+ getattr(variation, "suffix", None),
)
compilers = []
@@ -724,17 +730,16 @@ def make_compiler_list(detected_versions):
selected = by_compiler_id[selected_variation]
# fill any missing parts from subsequent entries
- for lang in ['cxx', 'f77', 'fc']:
+ for lang in ["cxx", "f77", "fc"]:
if lang not in selected:
- next_lang = next((
- by_compiler_id[v][lang] for v in ordered
- if lang in by_compiler_id[v]), None)
+ next_lang = next(
+ (by_compiler_id[v][lang] for v in ordered if lang in by_compiler_id[v]), None
+ )
if next_lang:
selected[lang] = next_lang
operating_system, _, _ = compiler_id
- make_compilers = getattr(
- operating_system, 'make_compilers', _default_make_compilers)
+ make_compilers = getattr(operating_system, "make_compilers", _default_make_compilers)
compilers.extend(make_compilers(compiler_id, selected))
@@ -748,10 +753,10 @@ def is_mixed_toolchain(compiler):
Args:
compiler (spack.compiler.Compiler): a valid compiler object
"""
- cc = os.path.basename(compiler.cc or '')
- cxx = os.path.basename(compiler.cxx or '')
- f77 = os.path.basename(compiler.f77 or '')
- fc = os.path.basename(compiler.fc or '')
+ cc = os.path.basename(compiler.cc or "")
+ cxx = os.path.basename(compiler.cxx or "")
+ f77 = os.path.basename(compiler.f77 or "")
+ fc = os.path.basename(compiler.fc or "")
toolchains = set()
for compiler_cls in all_compiler_types():
@@ -760,21 +765,24 @@ def is_mixed_toolchain(compiler):
def name_matches(name, name_list):
# This is such that 'gcc' matches variations
# like 'ggc-9' etc that are found in distros
- name, _, _ = name.partition('-')
+ name, _, _ = name.partition("-")
return len(name_list) == 1 and name and name in name_list
- if any([
- name_matches(cc, compiler_cls.cc_names),
- name_matches(cxx, compiler_cls.cxx_names),
- name_matches(f77, compiler_cls.f77_names),
- name_matches(fc, compiler_cls.fc_names)
- ]):
+ if any(
+ [
+ name_matches(cc, compiler_cls.cc_names),
+ name_matches(cxx, compiler_cls.cxx_names),
+ name_matches(f77, compiler_cls.f77_names),
+ name_matches(fc, compiler_cls.fc_names),
+ ]
+ ):
tty.debug("[TOOLCHAIN] MATCH {0}".format(compiler_cls.__name__))
toolchains.add(compiler_cls.__name__)
if len(toolchains) > 1:
- if toolchains == set(['Clang', 'AppleClang', 'Aocc']) or \
- toolchains == set(['Dpcpp', 'Oneapi']):
+ if toolchains == set(["Clang", "AppleClang", "Aocc"]) or toolchains == set(
+ ["Dpcpp", "Oneapi"]
+ ):
return False
tty.debug("[TOOLCHAINS] {0}".format(toolchains))
return True
@@ -783,53 +791,52 @@ def is_mixed_toolchain(compiler):
class InvalidCompilerConfigurationError(spack.error.SpackError):
-
def __init__(self, compiler_spec):
super(InvalidCompilerConfigurationError, self).__init__(
- "Invalid configuration for [compiler \"%s\"]: " % compiler_spec,
+ 'Invalid configuration for [compiler "%s"]: ' % compiler_spec,
"Compiler configuration must contain entries for all compilers: %s"
- % _path_instance_vars)
+ % _path_instance_vars,
+ )
class NoCompilersError(spack.error.SpackError):
def __init__(self):
- super(NoCompilersError, self).__init__(
- "Spack could not find any compilers!")
+ super(NoCompilersError, self).__init__("Spack could not find any compilers!")
class UnknownCompilerError(spack.error.SpackError):
def __init__(self, compiler_name):
super(UnknownCompilerError, self).__init__(
- "Spack doesn't support the requested compiler: {0}"
- .format(compiler_name))
+ "Spack doesn't support the requested compiler: {0}".format(compiler_name)
+ )
class NoCompilerForSpecError(spack.error.SpackError):
def __init__(self, compiler_spec, target):
super(NoCompilerForSpecError, self).__init__(
- "No compilers for operating system %s satisfy spec %s"
- % (target, compiler_spec))
+ "No compilers for operating system %s satisfy spec %s" % (target, compiler_spec)
+ )
class CompilerDuplicateError(spack.error.SpackError):
def __init__(self, compiler_spec, arch_spec):
- config_file_to_duplicates = get_compiler_duplicates(
- compiler_spec, arch_spec)
- duplicate_table = list(
- (x, len(y)) for x, y in config_file_to_duplicates.items())
- descriptor = lambda num: 'time' if num == 1 else 'times'
- duplicate_msg = (
- lambda cfgfile, count: "{0}: {1} {2}".format(
- cfgfile, str(count), descriptor(count)))
+ config_file_to_duplicates = get_compiler_duplicates(compiler_spec, arch_spec)
+ duplicate_table = list((x, len(y)) for x, y in config_file_to_duplicates.items())
+ descriptor = lambda num: "time" if num == 1 else "times"
+ duplicate_msg = lambda cfgfile, count: "{0}: {1} {2}".format(
+ cfgfile, str(count), descriptor(count)
+ )
msg = (
- "Compiler configuration contains entries with duplicate" +
- " specification ({0}, {1})".format(compiler_spec, arch_spec) +
- " in the following files:\n\t" +
- '\n\t'.join(duplicate_msg(x, y) for x, y in duplicate_table))
+ "Compiler configuration contains entries with duplicate"
+ + " specification ({0}, {1})".format(compiler_spec, arch_spec)
+ + " in the following files:\n\t"
+ + "\n\t".join(duplicate_msg(x, y) for x, y in duplicate_table)
+ )
super(CompilerDuplicateError, self).__init__(msg)
class CompilerSpecInsufficientlySpecificError(spack.error.SpackError):
def __init__(self, compiler_spec):
super(CompilerSpecInsufficientlySpecificError, self).__init__(
- "Multiple compilers satisfy spec %s" % compiler_spec)
+ "Multiple compilers satisfy spec %s" % compiler_spec
+ )
diff --git a/lib/spack/spack/compilers/aocc.py b/lib/spack/spack/compilers/aocc.py
index 345161bdeb..af72599457 100644
--- a/lib/spack/spack/compilers/aocc.py
+++ b/lib/spack/spack/compilers/aocc.py
@@ -15,38 +15,48 @@ from spack.version import ver
class Aocc(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['clang']
+ cc_names = ["clang"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['clang++']
+ cxx_names = ["clang++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['flang']
+ f77_names = ["flang"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['flang']
+ fc_names = ["flang"]
- PrgEnv = 'PrgEnv-aocc'
- PrgEnv_compiler = 'aocc'
+ PrgEnv = "PrgEnv-aocc"
+ PrgEnv_compiler = "aocc"
- version_argument = '--version'
+ version_argument = "--version"
@property
def debug_flags(self):
- return ['-gcodeview', '-gdwarf-2', '-gdwarf-3', '-gdwarf-4',
- '-gdwarf-5', '-gline-tables-only', '-gmodules', '-gz', '-g']
+ return [
+ "-gcodeview",
+ "-gdwarf-2",
+ "-gdwarf-3",
+ "-gdwarf-4",
+ "-gdwarf-5",
+ "-gline-tables-only",
+ "-gmodules",
+ "-gz",
+ "-g",
+ ]
@property
def opt_flags(self):
- return ['-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os', '-Oz', '-Og',
- '-O', '-O4']
+ return ["-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os", "-Oz", "-Og", "-O", "-O4"]
@property
def link_paths(self):
- link_paths = {'cc': os.path.join('aocc', 'clang'),
- 'cxx': os.path.join('aocc', 'clang++'),
- 'f77': os.path.join('aocc', 'flang'),
- 'fc': os.path.join('aocc', 'flang')}
+ link_paths = {
+ "cc": os.path.join("aocc", "clang"),
+ "cxx": os.path.join("aocc", "clang++"),
+ "f77": os.path.join("aocc", "flang"),
+ "fc": os.path.join("aocc", "flang"),
+ }
return link_paths
@@ -72,7 +82,7 @@ class Aocc(Compiler):
@property
def c99_flag(self):
- return '-std=c99'
+ return "-std=c99"
@property
def c11_flag(self):
@@ -94,22 +104,19 @@ class Aocc(Compiler):
def fc_pic_flag(self):
return "-fPIC"
- required_libs = ['libclang']
+ required_libs = ["libclang"]
@classmethod
@llnl.util.lang.memoized
def extract_version_from_output(cls, output):
- match = re.search(
- r'AOCC_(\d+)[._](\d+)[._](\d+)',
- output
- )
+ match = re.search(r"AOCC_(\d+)[._](\d+)[._](\d+)", output)
if match:
- return '.'.join(match.groups())
+ return ".".join(match.groups())
@classmethod
def fc_version(cls, fortran_compiler):
- if sys.platform == 'darwin':
- return cls.default_version('clang')
+ if sys.platform == "darwin":
+ return cls.default_version("clang")
return cls.default_version(fortran_compiler)
@@ -119,7 +126,7 @@ class Aocc(Compiler):
@property
def stdcxx_libs(self):
- return ('-lstdc++', )
+ return ("-lstdc++",)
@property
def cflags(self):
@@ -136,6 +143,5 @@ class Aocc(Compiler):
def _handle_default_flag_addtions(self):
# This is a known issue for AOCC 3.0 see:
# https://developer.amd.com/wp-content/resources/AOCC-3.0-Install-Guide.pdf
- if self.real_version == ver('3.0.0'):
- return ("-Wno-unused-command-line-argument "
- "-mllvm -eliminate-similar-expr=false")
+ if self.real_version == ver("3.0.0"):
+ return "-Wno-unused-command-line-argument " "-mllvm -eliminate-similar-expr=false"
diff --git a/lib/spack/spack/compilers/apple_clang.py b/lib/spack/spack/compilers/apple_clang.py
index e9efd89c49..0db3f11f6d 100644
--- a/lib/spack/spack/compilers/apple_clang.py
+++ b/lib/spack/spack/compilers/apple_clang.py
@@ -22,10 +22,10 @@ class AppleClang(spack.compilers.clang.Clang):
@classmethod
@llnl.util.lang.memoized
def extract_version_from_output(cls, output):
- ver = 'unknown'
+ ver = "unknown"
match = re.search(
# Apple's LLVM compiler has its own versions, so suffix them.
- r'^Apple (?:LLVM|clang) version ([^ )]+)',
+ r"^Apple (?:LLVM|clang) version ([^ )]+)",
output,
# Multi-line, since 'Apple clang' may not be on the first line
# in particular, when run as gcc, it seems to output
@@ -40,7 +40,7 @@ class AppleClang(spack.compilers.clang.Clang):
def cxx11_flag(self):
# Adapted from CMake's AppleClang-CXX rules
# Spack's AppleClang detection only valid from Xcode >= 4.6
- if self.real_version < spack.version.ver('4.0.0'):
+ if self.real_version < spack.version.ver("4.0.0"):
raise spack.compiler.UnsupportedCompilerFlag(
self, "the C++11 standard", "cxx11_flag", "Xcode < 4.0.0"
)
@@ -49,11 +49,11 @@ class AppleClang(spack.compilers.clang.Clang):
@property
def cxx14_flag(self):
# Adapted from CMake's rules for AppleClang
- if self.real_version < spack.version.ver('5.1.0'):
+ if self.real_version < spack.version.ver("5.1.0"):
raise spack.compiler.UnsupportedCompilerFlag(
self, "the C++14 standard", "cxx14_flag", "Xcode < 5.1.0"
)
- elif self.real_version < spack.version.ver('6.1.0'):
+ elif self.real_version < spack.version.ver("6.1.0"):
return "-std=c++1y"
return "-std=c++14"
@@ -61,7 +61,7 @@ class AppleClang(spack.compilers.clang.Clang):
@property
def cxx17_flag(self):
# Adapted from CMake's rules for AppleClang
- if self.real_version < spack.version.ver('6.1.0'):
+ if self.real_version < spack.version.ver("6.1.0"):
raise spack.compiler.UnsupportedCompilerFlag(
self, "the C++17 standard", "cxx17_flag", "Xcode < 6.1.0"
)
@@ -90,50 +90,50 @@ class AppleClang(spack.compilers.clang.Clang):
# Use special XCode versions of compiler wrappers when using XCode
# Overwrites build_environment's setting of SPACK_CC and SPACK_CXX
- xcrun = spack.util.executable.Executable('xcrun')
- xcode_clang = xcrun('-f', 'clang', output=str).strip()
- xcode_clangpp = xcrun('-f', 'clang++', output=str).strip()
- env.set('SPACK_CC', xcode_clang, force=True)
- env.set('SPACK_CXX', xcode_clangpp, force=True)
+ xcrun = spack.util.executable.Executable("xcrun")
+ xcode_clang = xcrun("-f", "clang", output=str).strip()
+ xcode_clangpp = xcrun("-f", "clang++", output=str).strip()
+ env.set("SPACK_CC", xcode_clang, force=True)
+ env.set("SPACK_CXX", xcode_clangpp, force=True)
- xcode_select = spack.util.executable.Executable('xcode-select')
+ xcode_select = spack.util.executable.Executable("xcode-select")
# Get the path of the active developer directory
- real_root = xcode_select('--print-path', output=str).strip()
+ real_root = xcode_select("--print-path", output=str).strip()
# The path name can be used to determine whether the full Xcode suite
# or just the command-line tools are installed
- if real_root.endswith('Developer'):
+ if real_root.endswith("Developer"):
# The full Xcode suite is installed
pass
else:
- if real_root.endswith('CommandLineTools'):
+ if real_root.endswith("CommandLineTools"):
# Only the command-line tools are installed
- msg = 'It appears that you have the Xcode command-line tools '
- msg += 'but not the full Xcode suite installed.\n'
+ msg = "It appears that you have the Xcode command-line tools "
+ msg += "but not the full Xcode suite installed.\n"
else:
# Xcode is not installed
- msg = 'It appears that you do not have Xcode installed.\n'
+ msg = "It appears that you do not have Xcode installed.\n"
- msg += 'In order to use Spack to build the requested application, '
- msg += 'you need the full Xcode suite. It can be installed '
- msg += 'through the App Store. Make sure you launch the '
- msg += 'application and accept the license agreement.\n'
+ msg += "In order to use Spack to build the requested application, "
+ msg += "you need the full Xcode suite. It can be installed "
+ msg += "through the App Store. Make sure you launch the "
+ msg += "application and accept the license agreement.\n"
raise OSError(msg)
real_root = os.path.dirname(os.path.dirname(real_root))
- developer_root = os.path.join(spack.stage.get_stage_root(),
- 'xcode-select',
- self.name,
- str(self.version))
- xcode_link = os.path.join(developer_root, 'Xcode.app')
+ developer_root = os.path.join(
+ spack.stage.get_stage_root(), "xcode-select", self.name, str(self.version)
+ )
+ xcode_link = os.path.join(developer_root, "Xcode.app")
if not os.path.exists(developer_root):
- tty.warn('Copying Xcode from %s to %s in order to add spack '
- 'wrappers to it. Please do not interrupt.'
- % (real_root, developer_root))
+ tty.warn(
+ "Copying Xcode from %s to %s in order to add spack "
+ "wrappers to it. Please do not interrupt." % (real_root, developer_root)
+ )
# We need to make a new Xcode.app instance, but with symlinks to
# the spack wrappers for the compilers it ships. This is necessary
@@ -142,31 +142,35 @@ class AppleClang(spack.compilers.clang.Clang):
# as they do realpath and end up ignoring the symlinks in a
# "softer" tree of nothing but symlinks in the right places.
shutil.copytree(
- real_root, developer_root, symlinks=True,
+ real_root,
+ developer_root,
+ symlinks=True,
ignore=shutil.ignore_patterns(
- 'AppleTV*.platform', 'Watch*.platform', 'iPhone*.platform',
- 'Documentation', 'swift*'
- ))
+ "AppleTV*.platform",
+ "Watch*.platform",
+ "iPhone*.platform",
+ "Documentation",
+ "swift*",
+ ),
+ )
real_dirs = [
- 'Toolchains/XcodeDefault.xctoolchain/usr/bin',
- 'usr/bin',
+ "Toolchains/XcodeDefault.xctoolchain/usr/bin",
+ "usr/bin",
]
- bins = ['c++', 'c89', 'c99', 'cc', 'clang', 'clang++', 'cpp']
+ bins = ["c++", "c89", "c99", "cc", "clang", "clang++", "cpp"]
for real_dir in real_dirs:
- dev_dir = os.path.join(developer_root,
- 'Contents',
- 'Developer',
- real_dir)
+ dev_dir = os.path.join(developer_root, "Contents", "Developer", real_dir)
for fname in os.listdir(dev_dir):
if fname in bins:
os.unlink(os.path.join(dev_dir, fname))
symlink(
- os.path.join(spack.paths.build_env_path, 'cc'),
- os.path.join(dev_dir, fname))
+ os.path.join(spack.paths.build_env_path, "cc"),
+ os.path.join(dev_dir, fname),
+ )
symlink(developer_root, xcode_link)
- env.set('DEVELOPER_DIR', xcode_link)
+ env.set("DEVELOPER_DIR", xcode_link)
diff --git a/lib/spack/spack/compilers/arm.py b/lib/spack/spack/compilers/arm.py
index 0d833318b4..ac20336154 100644
--- a/lib/spack/spack/compilers/arm.py
+++ b/lib/spack/spack/compilers/arm.py
@@ -11,22 +11,24 @@ import spack.compiler
class Arm(spack.compiler.Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['armclang']
+ cc_names = ["armclang"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['armclang++']
+ cxx_names = ["armclang++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['armflang']
+ f77_names = ["armflang"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['armflang']
+ fc_names = ["armflang"]
# Named wrapper links within lib/spack/env
- link_paths = {'cc': os.path.join('arm', 'armclang'),
- 'cxx': os.path.join('arm', 'armclang++'),
- 'f77': os.path.join('arm', 'armflang'),
- 'fc': os.path.join('arm', 'armflang')}
+ link_paths = {
+ "cc": os.path.join("arm", "armclang"),
+ "cxx": os.path.join("arm", "armclang++"),
+ "f77": os.path.join("arm", "armflang"),
+ "fc": os.path.join("arm", "armflang"),
+ }
# The ``--version`` option seems to be the most consistent one for
# arm compilers. Output looks like this:
@@ -37,17 +39,16 @@ class Arm(spack.compiler.Compiler):
# Thread model: posix
# InstalledDir:
# /opt/arm/arm-hpc-compiler-19.0_Generic-AArch64_RHEL-7_aarch64-linux/bin
- version_argument = '--version'
- version_regex = r'Arm C\/C\+\+\/Fortran Compiler version ([\d\.]+) '\
- r'\(build number (\d+)\) '
+ version_argument = "--version"
+ version_regex = r"Arm C\/C\+\+\/Fortran Compiler version ([\d\.]+) " r"\(build number (\d+)\) "
@classmethod
def extract_version_from_output(cls, output):
"""Extracts the version from compiler's output."""
match = re.search(cls.version_regex, output)
- temp = 'unknown'
+ temp = "unknown"
if match:
- if match.group(1).count('.') == 1:
+ if match.group(1).count(".") == 1:
temp = match.group(1) + ".0." + match.group(2)
else:
temp = match.group(1) + "." + match.group(2)
@@ -59,7 +60,7 @@ class Arm(spack.compiler.Compiler):
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast"]
@property
def openmp_flag(self):
@@ -101,7 +102,7 @@ class Arm(spack.compiler.Compiler):
def fc_pic_flag(self):
return "-fPIC"
- required_libs = ['libclang', 'libflang']
+ required_libs = ["libclang", "libflang"]
@classmethod
def fc_version(cls, fc):
diff --git a/lib/spack/spack/compilers/cce.py b/lib/spack/spack/compilers/cce.py
index b0a4fa1613..d572a31ff4 100644
--- a/lib/spack/spack/compilers/cce.py
+++ b/lib/spack/spack/compilers/cce.py
@@ -11,41 +11,44 @@ from spack.version import ver
class Cce(Compiler):
"""Cray compiler environment compiler."""
+
# Subclasses use possible names of C compiler
- cc_names = ['cc']
+ cc_names = ["cc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['CC']
+ cxx_names = ["CC"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['ftn']
+ f77_names = ["ftn"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['ftn']
+ fc_names = ["ftn"]
# MacPorts builds gcc versions with prefixes and -mp-X.Y suffixes.
- suffixes = [r'-mp-\d\.\d']
+ suffixes = [r"-mp-\d\.\d"]
- PrgEnv = 'PrgEnv-cray'
- PrgEnv_compiler = 'cce'
+ PrgEnv = "PrgEnv-cray"
+ PrgEnv_compiler = "cce"
- link_paths = {'cc': os.path.join('cce', 'cc'),
- 'cxx': os.path.join('cce', 'case-insensitive', 'CC'),
- 'f77': os.path.join('cce', 'ftn'),
- 'fc': os.path.join('cce', 'ftn')}
+ link_paths = {
+ "cc": os.path.join("cce", "cc"),
+ "cxx": os.path.join("cce", "case-insensitive", "CC"),
+ "f77": os.path.join("cce", "ftn"),
+ "fc": os.path.join("cce", "ftn"),
+ }
@property
def is_clang_based(self):
version = self._real_version or self.version
- return version >= ver('9.0') and 'classic' not in str(version)
+ return version >= ver("9.0") and "classic" not in str(version)
@property
def version_argument(self):
if self.is_clang_based:
- return '--version'
- return '-V'
+ return "--version"
+ return "-V"
- version_regex = r'[Vv]ersion.*?(\d+(\.\d+)+)'
+ version_regex = r"[Vv]ersion.*?(\d+(\.\d+)+)"
@property
def verbose_flag(self):
@@ -53,49 +56,43 @@ class Cce(Compiler):
@property
def debug_flags(self):
- return ['-g', '-G0', '-G1', '-G2', '-Gfast']
+ return ["-g", "-G0", "-G1", "-G2", "-Gfast"]
@property
def openmp_flag(self):
if self.is_clang_based:
- return '-fopenmp'
+ return "-fopenmp"
return "-h omp"
@property
def cxx11_flag(self):
if self.is_clang_based:
- return '-std=c++11'
+ return "-std=c++11"
return "-h std=c++11"
@property
def cxx14_flag(self):
if self.is_clang_based:
- return '-std=c++14'
+ return "-std=c++14"
return "-h std=c++14"
@property
def c99_flag(self):
if self.is_clang_based:
- return '-std=c99'
- elif self.real_version >= ver('8.4'):
- return '-h std=c99,noconform,gnu'
- elif self.real_version >= ver('8.1'):
- return '-h c99,noconform,gnu'
- raise UnsupportedCompilerFlag(self,
- 'the C99 standard',
- 'c99_flag',
- '< 8.1')
+ return "-std=c99"
+ elif self.real_version >= ver("8.4"):
+ return "-h std=c99,noconform,gnu"
+ elif self.real_version >= ver("8.1"):
+ return "-h c99,noconform,gnu"
+ raise UnsupportedCompilerFlag(self, "the C99 standard", "c99_flag", "< 8.1")
@property
def c11_flag(self):
if self.is_clang_based:
- return '-std=c11'
- elif self.real_version >= ver('8.5'):
- return '-h std=c11,noconform,gnu'
- raise UnsupportedCompilerFlag(self,
- 'the C11 standard',
- 'c11_flag',
- '< 8.5')
+ return "-std=c11"
+ elif self.real_version >= ver("8.5"):
+ return "-h std=c11,noconform,gnu"
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag", "< 8.5")
@property
def cc_pic_flag(self):
diff --git a/lib/spack/spack/compilers/clang.py b/lib/spack/spack/compilers/clang.py
index c9982d1440..9e5ce8cec9 100644
--- a/lib/spack/spack/compilers/clang.py
+++ b/lib/spack/spack/compilers/clang.py
@@ -14,71 +14,81 @@ from spack.version import ver
#: compiler symlink mappings for mixed f77 compilers
f77_mapping = [
- ('gfortran', os.path.join('clang', 'gfortran')),
- ('xlf_r', os.path.join('xl_r', 'xlf_r')),
- ('xlf', os.path.join('xl', 'xlf')),
- ('pgfortran', os.path.join('pgi', 'pgfortran')),
- ('ifort', os.path.join('intel', 'ifort'))
+ ("gfortran", os.path.join("clang", "gfortran")),
+ ("xlf_r", os.path.join("xl_r", "xlf_r")),
+ ("xlf", os.path.join("xl", "xlf")),
+ ("pgfortran", os.path.join("pgi", "pgfortran")),
+ ("ifort", os.path.join("intel", "ifort")),
]
#: compiler symlink mappings for mixed f90/fc compilers
fc_mapping = [
- ('gfortran', os.path.join('clang', 'gfortran')),
- ('xlf90_r', os.path.join('xl_r', 'xlf90_r')),
- ('xlf90', os.path.join('xl', 'xlf90')),
- ('pgfortran', os.path.join('pgi', 'pgfortran')),
- ('ifort', os.path.join('intel', 'ifort'))
+ ("gfortran", os.path.join("clang", "gfortran")),
+ ("xlf90_r", os.path.join("xl_r", "xlf90_r")),
+ ("xlf90", os.path.join("xl", "xlf90")),
+ ("pgfortran", os.path.join("pgi", "pgfortran")),
+ ("ifort", os.path.join("intel", "ifort")),
]
class Clang(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['clang']
+ cc_names = ["clang"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['clang++']
+ cxx_names = ["clang++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['flang', 'gfortran', 'xlf_r']
+ f77_names = ["flang", "gfortran", "xlf_r"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['flang', 'gfortran', 'xlf90_r']
+ fc_names = ["flang", "gfortran", "xlf90_r"]
- version_argument = '--version'
+ version_argument = "--version"
@property
def debug_flags(self):
- return ['-gcodeview', '-gdwarf-2', '-gdwarf-3', '-gdwarf-4',
- '-gdwarf-5', '-gline-tables-only', '-gmodules', '-gz', '-g']
+ return [
+ "-gcodeview",
+ "-gdwarf-2",
+ "-gdwarf-3",
+ "-gdwarf-4",
+ "-gdwarf-5",
+ "-gline-tables-only",
+ "-gmodules",
+ "-gz",
+ "-g",
+ ]
@property
def opt_flags(self):
- return ['-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os', '-Oz', '-Og',
- '-O', '-O4']
+ return ["-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os", "-Oz", "-Og", "-O", "-O4"]
# Clang has support for using different fortran compilers with the
# clang executable.
@property
def link_paths(self):
# clang links are always the same
- link_paths = {'cc': os.path.join('clang', 'clang'),
- 'cxx': os.path.join('clang', 'clang++')}
+ link_paths = {
+ "cc": os.path.join("clang", "clang"),
+ "cxx": os.path.join("clang", "clang++"),
+ }
# fortran links need to look at the actual compiler names from
# compilers.yaml to figure out which named symlink to use
for compiler_name, link_path in f77_mapping:
if self.f77 and compiler_name in self.f77:
- link_paths['f77'] = link_path
+ link_paths["f77"] = link_path
break
else:
- link_paths['f77'] = os.path.join('clang', 'flang')
+ link_paths["f77"] = os.path.join("clang", "flang")
for compiler_name, link_path in fc_mapping:
if self.fc and compiler_name in self.fc:
- link_paths['fc'] = link_path
+ link_paths["fc"] = link_path
break
else:
- link_paths['fc'] = os.path.join('clang', 'flang')
+ link_paths["fc"] = os.path.join("clang", "flang")
return link_paths
@@ -90,45 +100,36 @@ class Clang(Compiler):
@property
def cxx11_flag(self):
- if self.real_version < ver('3.3'):
- raise UnsupportedCompilerFlag(
- self, "the C++11 standard", "cxx11_flag", "< 3.3"
- )
+ if self.real_version < ver("3.3"):
+ raise UnsupportedCompilerFlag(self, "the C++11 standard", "cxx11_flag", "< 3.3")
return "-std=c++11"
@property
def cxx14_flag(self):
- if self.real_version < ver('3.4'):
- raise UnsupportedCompilerFlag(
- self, "the C++14 standard", "cxx14_flag", "< 3.5"
- )
- elif self.real_version < ver('3.5'):
+ if self.real_version < ver("3.4"):
+ raise UnsupportedCompilerFlag(self, "the C++14 standard", "cxx14_flag", "< 3.5")
+ elif self.real_version < ver("3.5"):
return "-std=c++1y"
return "-std=c++14"
@property
def cxx17_flag(self):
- if self.real_version < ver('3.5'):
- raise UnsupportedCompilerFlag(
- self, "the C++17 standard", "cxx17_flag", "< 3.5"
- )
- elif self.real_version < ver('5.0'):
+ if self.real_version < ver("3.5"):
+ raise UnsupportedCompilerFlag(self, "the C++17 standard", "cxx17_flag", "< 3.5")
+ elif self.real_version < ver("5.0"):
return "-std=c++1z"
return "-std=c++17"
@property
def c99_flag(self):
- return '-std=c99'
+ return "-std=c99"
@property
def c11_flag(self):
- if self.real_version < ver('6.1.0'):
- raise UnsupportedCompilerFlag(self,
- "the C11 standard",
- "c11_flag",
- "< 6.1.0")
+ if self.real_version < ver("6.1.0"):
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag", "< 6.1.0")
else:
return "-std=c11"
@@ -148,23 +149,22 @@ class Clang(Compiler):
def fc_pic_flag(self):
return "-fPIC"
- required_libs = ['libclang']
+ required_libs = ["libclang"]
@classmethod
@llnl.util.lang.memoized
def extract_version_from_output(cls, output):
- ver = 'unknown'
- if ('Apple' in output) or ('AMD' in output):
+ ver = "unknown"
+ if ("Apple" in output) or ("AMD" in output):
return ver
match = re.search(
# Normal clang compiler versions are left as-is
- r'clang version ([^ )\n]+)-svn[~.\w\d-]*|'
+ r"clang version ([^ )\n]+)-svn[~.\w\d-]*|"
# Don't include hyphenated patch numbers in the version
# (see https://github.com/spack/spack/pull/14365 for details)
- r'clang version ([^ )\n]+?)-[~.\w\d-]*|'
- r'clang version ([^ )\n]+)',
- output
+ r"clang version ([^ )\n]+?)-[~.\w\d-]*|" r"clang version ([^ )\n]+)",
+ output,
)
if match:
ver = match.group(match.lastindex)
@@ -174,8 +174,8 @@ class Clang(Compiler):
def fc_version(cls, fc):
# We could map from gcc/gfortran version to clang version, but on macOS
# we normally mix any version of gfortran with any version of clang.
- if sys.platform == 'darwin':
- return cls.default_version('clang')
+ if sys.platform == "darwin":
+ return cls.default_version("clang")
else:
return cls.default_version(fc)
diff --git a/lib/spack/spack/compilers/dpcpp.py b/lib/spack/spack/compilers/dpcpp.py
index 1458e8f019..176f4cb795 100644
--- a/lib/spack/spack/compilers/dpcpp.py
+++ b/lib/spack/spack/compilers/dpcpp.py
@@ -21,11 +21,14 @@ class Dpcpp(spack.compilers.oneapi.Oneapi):
See also: https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compiler-setup/using-the-command-line/invoking-the-compiler.html
"""
+
# Subclasses use possible names of C++ compiler
- cxx_names = ['dpcpp']
+ cxx_names = ["dpcpp"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('oneapi', 'icx'),
- 'cxx': os.path.join('oneapi', 'dpcpp'),
- 'f77': os.path.join('oneapi', 'ifx'),
- 'fc': os.path.join('oneapi', 'ifx')}
+ link_paths = {
+ "cc": os.path.join("oneapi", "icx"),
+ "cxx": os.path.join("oneapi", "dpcpp"),
+ "f77": os.path.join("oneapi", "ifx"),
+ "fc": os.path.join("oneapi", "ifx"),
+ }
diff --git a/lib/spack/spack/compilers/fj.py b/lib/spack/spack/compilers/fj.py
index a12efd2208..b3dbd40ee4 100644
--- a/lib/spack/spack/compilers/fj.py
+++ b/lib/spack/spack/compilers/fj.py
@@ -10,27 +10,29 @@ import spack.compiler
class Fj(spack.compiler.Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['fcc']
+ cc_names = ["fcc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['FCC']
+ cxx_names = ["FCC"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['frt']
+ f77_names = ["frt"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['frt']
+ fc_names = ["frt"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('fj', 'fcc'),
- 'cxx': os.path.join('fj', 'case-insensitive', 'FCC'),
- 'f77': os.path.join('fj', 'frt'),
- 'fc': os.path.join('fj', 'frt')}
+ link_paths = {
+ "cc": os.path.join("fj", "fcc"),
+ "cxx": os.path.join("fj", "case-insensitive", "FCC"),
+ "f77": os.path.join("fj", "frt"),
+ "fc": os.path.join("fj", "frt"),
+ }
- version_argument = '--version'
- version_regex = r'\((?:FCC|FRT)\) ([a-z\d.]+)'
+ version_argument = "--version"
+ version_regex = r"\((?:FCC|FRT)\) ([a-z\d.]+)"
- required_libs = ['libfj90i', 'libfj90f', 'libfjsrcinfo']
+ required_libs = ["libfj90i", "libfj90f", "libfjsrcinfo"]
@property
def verbose_flag(self):
@@ -42,7 +44,7 @@ class Fj(spack.compiler.Compiler):
@property
def opt_flags(self):
- return ['-O0', '-O1', '-O2', '-O3', '-Ofast']
+ return ["-O0", "-O1", "-O2", "-O3", "-Ofast"]
@property
def openmp_flag(self):
diff --git a/lib/spack/spack/compilers/gcc.py b/lib/spack/spack/compilers/gcc.py
index 40794103f6..011646c408 100644
--- a/lib/spack/spack/compilers/gcc.py
+++ b/lib/spack/spack/compilers/gcc.py
@@ -13,30 +13,32 @@ from spack.version import ver
class Gcc(spack.compiler.Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['gcc']
+ cc_names = ["gcc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['g++']
+ cxx_names = ["g++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['gfortran']
+ f77_names = ["gfortran"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['gfortran']
+ fc_names = ["gfortran"]
# MacPorts builds gcc versions with prefixes and -mp-X or -mp-X.Y suffixes.
# Homebrew and Linuxbrew may build gcc with -X, -X.Y suffixes.
# Old compatibility versions may contain XY suffixes.
- suffixes = [r'-mp-\d+(?:\.\d+)?', r'-\d+(?:\.\d+)?', r'\d\d']
+ suffixes = [r"-mp-\d+(?:\.\d+)?", r"-\d+(?:\.\d+)?", r"\d\d"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('gcc', 'gcc'),
- 'cxx': os.path.join('gcc', 'g++'),
- 'f77': os.path.join('gcc', 'gfortran'),
- 'fc': os.path.join('gcc', 'gfortran')}
+ link_paths = {
+ "cc": os.path.join("gcc", "gcc"),
+ "cxx": os.path.join("gcc", "g++"),
+ "f77": os.path.join("gcc", "gfortran"),
+ "fc": os.path.join("gcc", "gfortran"),
+ }
- PrgEnv = 'PrgEnv-gnu'
- PrgEnv_compiler = 'gcc'
+ PrgEnv = "PrgEnv-gnu"
+ PrgEnv_compiler = "gcc"
@property
def verbose_flag(self):
@@ -44,11 +46,11 @@ class Gcc(spack.compiler.Compiler):
@property
def debug_flags(self):
- return ['-g', '-gstabs+', '-gstabs', '-gxcoff+', '-gxcoff', '-gvms']
+ return ["-g", "-gstabs+", "-gstabs", "-gxcoff+", "-gxcoff", "-gvms"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-Os', '-Ofast', '-Og']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-Os", "-Ofast", "-Og"]
@property
def openmp_flag(self):
@@ -56,53 +58,58 @@ class Gcc(spack.compiler.Compiler):
@property
def cxx98_flag(self):
- if self.real_version < ver('6.0'):
+ if self.real_version < ver("6.0"):
return ""
else:
return "-std=c++98"
@property
def cxx11_flag(self):
- if self.real_version < ver('4.3'):
+ if self.real_version < ver("4.3"):
raise spack.compiler.UnsupportedCompilerFlag(
- self, "the C++11 standard", "cxx11_flag", " < 4.3")
- elif self.real_version < ver('4.7'):
+ self, "the C++11 standard", "cxx11_flag", " < 4.3"
+ )
+ elif self.real_version < ver("4.7"):
return "-std=c++0x"
else:
return "-std=c++11"
@property
def cxx14_flag(self):
- if self.real_version < ver('4.8'):
+ if self.real_version < ver("4.8"):
raise spack.compiler.UnsupportedCompilerFlag(
- self, "the C++14 standard", "cxx14_flag", "< 4.8")
- elif self.real_version < ver('4.9'):
+ self, "the C++14 standard", "cxx14_flag", "< 4.8"
+ )
+ elif self.real_version < ver("4.9"):
return "-std=c++1y"
else:
return "-std=c++14"
@property
def cxx17_flag(self):
- if self.real_version < ver('5.0'):
+ if self.real_version < ver("5.0"):
raise spack.compiler.UnsupportedCompilerFlag(
- self, "the C++17 standard", "cxx17_flag", "< 5.0")
- elif self.real_version < ver('6.0'):
+ self, "the C++17 standard", "cxx17_flag", "< 5.0"
+ )
+ elif self.real_version < ver("6.0"):
return "-std=c++1z"
else:
return "-std=c++17"
@property
def c99_flag(self):
- if self.real_version < ver('4.5'):
+ if self.real_version < ver("4.5"):
raise spack.compiler.UnsupportedCompilerFlag(
- self, "the C99 standard", "c99_flag", "< 4.5")
+ self, "the C99 standard", "c99_flag", "< 4.5"
+ )
return "-std=c99"
@property
def c11_flag(self):
- if self.real_version < ver('4.7'):
+ if self.real_version < ver("4.7"):
raise spack.compiler.UnsupportedCompilerFlag(
- self, "the C11 standard", "c11_flag", "< 4.7")
+ self, "the C11 standard", "c11_flag", "< 4.7"
+ )
return "-std=c11"
@property
@@ -121,7 +128,7 @@ class Gcc(spack.compiler.Compiler):
def fc_pic_flag(self):
return "-fPIC"
- required_libs = ['libgcc', 'libgfortran']
+ required_libs = ["libgcc", "libgfortran"]
@classmethod
def default_version(cls, cc):
@@ -143,14 +150,12 @@ class Gcc(spack.compiler.Compiler):
# Apple's gcc is actually apple clang, so skip it. Returning
# "unknown" ensures this compiler is not detected by default.
# Users can add it manually to compilers.yaml at their own risk.
- if apple_clang.AppleClang.default_version(cc) != 'unknown':
- return 'unknown'
+ if apple_clang.AppleClang.default_version(cc) != "unknown":
+ return "unknown"
version = super(Gcc, cls).default_version(cc)
- if ver(version) >= ver('7'):
- output = spack.compiler.get_compiler_version_output(
- cc, '-dumpfullversion'
- )
+ if ver(version) >= ver("7"):
+ output = spack.compiler.get_compiler_version_output(cc, "-dumpfullversion")
version = cls.extract_version_from_output(output)
return version
@@ -176,13 +181,11 @@ class Gcc(spack.compiler.Compiler):
7.2.0
"""
- output = spack.compiler.get_compiler_version_output(fc, '-dumpversion')
- match = re.search(r'(?:GNU Fortran \(GCC\) )?([\d.]+)', output)
- version = match.group(match.lastindex) if match else 'unknown'
- if ver(version) >= ver('7'):
- output = spack.compiler.get_compiler_version_output(
- fc, '-dumpfullversion'
- )
+ output = spack.compiler.get_compiler_version_output(fc, "-dumpversion")
+ match = re.search(r"(?:GNU Fortran \(GCC\) )?([\d.]+)", output)
+ version = match.group(match.lastindex) if match else "unknown"
+ if ver(version) >= ver("7"):
+ output = spack.compiler.get_compiler_version_output(fc, "-dumpfullversion")
version = cls.extract_version_from_output(output)
return version
@@ -192,4 +195,4 @@ class Gcc(spack.compiler.Compiler):
@property
def stdcxx_libs(self):
- return ('-lstdc++', )
+ return ("-lstdc++",)
diff --git a/lib/spack/spack/compilers/intel.py b/lib/spack/spack/compilers/intel.py
index 2101c75bd4..e675361f60 100644
--- a/lib/spack/spack/compilers/intel.py
+++ b/lib/spack/spack/compilers/intel.py
@@ -12,66 +12,65 @@ from spack.version import ver
class Intel(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['icc']
+ cc_names = ["icc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['icpc']
+ cxx_names = ["icpc"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['ifort']
+ f77_names = ["ifort"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['ifort']
+ fc_names = ["ifort"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('intel', 'icc'),
- 'cxx': os.path.join('intel', 'icpc'),
- 'f77': os.path.join('intel', 'ifort'),
- 'fc': os.path.join('intel', 'ifort')}
-
- PrgEnv = 'PrgEnv-intel'
- PrgEnv_compiler = 'intel'
-
- if sys.platform == 'win32':
- version_argument = '/QV'
+ link_paths = {
+ "cc": os.path.join("intel", "icc"),
+ "cxx": os.path.join("intel", "icpc"),
+ "f77": os.path.join("intel", "ifort"),
+ "fc": os.path.join("intel", "ifort"),
+ }
+
+ PrgEnv = "PrgEnv-intel"
+ PrgEnv_compiler = "intel"
+
+ if sys.platform == "win32":
+ version_argument = "/QV"
else:
- version_argument = '--version'
+ version_argument = "--version"
- if sys.platform == 'win32':
- version_regex = r'([1-9][0-9]*\.[0-9]*\.[0-9]*)'
+ if sys.platform == "win32":
+ version_regex = r"([1-9][0-9]*\.[0-9]*\.[0-9]*)"
else:
- version_regex = r'\((?:IFORT|ICC)\) ([^ ]+)'
+ version_regex = r"\((?:IFORT|ICC)\) ([^ ]+)"
@property
def verbose_flag(self):
return "-v"
- required_libs = ['libirc', 'libifcore', 'libifcoremt', 'libirng']
+ required_libs = ["libirc", "libifcore", "libifcoremt", "libirng"]
@property
def debug_flags(self):
- return ['-debug', '-g', '-g0', '-g1', '-g2', '-g3']
+ return ["-debug", "-g", "-g0", "-g1", "-g2", "-g3"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os"]
@property
def openmp_flag(self):
- if self.real_version < ver('16.0'):
+ if self.real_version < ver("16.0"):
return "-openmp"
else:
return "-qopenmp"
@property
def cxx11_flag(self):
- if self.real_version < ver('11.1'):
- raise UnsupportedCompilerFlag(self,
- "the C++11 standard",
- "cxx11_flag",
- "< 11.1")
+ if self.real_version < ver("11.1"):
+ raise UnsupportedCompilerFlag(self, "the C++11 standard", "cxx11_flag", "< 11.1")
- elif self.real_version < ver('13'):
+ elif self.real_version < ver("13"):
return "-std=c++0x"
else:
return "-std=c++11"
@@ -79,33 +78,24 @@ class Intel(Compiler):
@property
def cxx14_flag(self):
# Adapted from CMake's Intel-CXX rules.
- if self.real_version < ver('15'):
- raise UnsupportedCompilerFlag(self,
- "the C++14 standard",
- "cxx14_flag",
- "< 15")
- elif self.real_version < ver('15.0.2'):
+ if self.real_version < ver("15"):
+ raise UnsupportedCompilerFlag(self, "the C++14 standard", "cxx14_flag", "< 15")
+ elif self.real_version < ver("15.0.2"):
return "-std=c++1y"
else:
return "-std=c++14"
@property
def c99_flag(self):
- if self.real_version < ver('12'):
- raise UnsupportedCompilerFlag(self,
- "the C99 standard",
- "c99_flag",
- "< 12")
+ if self.real_version < ver("12"):
+ raise UnsupportedCompilerFlag(self, "the C99 standard", "c99_flag", "< 12")
else:
return "-std=c99"
@property
def c11_flag(self):
- if self.real_version < ver('16'):
- raise UnsupportedCompilerFlag(self,
- "the C11 standard",
- "c11_flag",
- "< 16")
+ if self.real_version < ver("16"):
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag", "< 16")
else:
return "-std=c1x"
@@ -127,4 +117,4 @@ class Intel(Compiler):
@property
def stdcxx_libs(self):
- return ('-cxxlib', )
+ return ("-cxxlib",)
diff --git a/lib/spack/spack/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py
index a3c5a7c752..5cf0b1356c 100644
--- a/lib/spack/spack/compilers/msvc.py
+++ b/lib/spack/spack/compilers/msvc.py
@@ -19,15 +19,15 @@ avail_fc_version = set() # type: Set[str]
fc_path = dict() # type: Dict[str, str]
fortran_mapping = {
- '2021.3.0': '19.29.30133',
- '2021.2.1': '19.28.29913',
- '2021.2.0': '19.28.29334',
- '2021.1.0': '19.28.29333',
+ "2021.3.0": "19.29.30133",
+ "2021.2.1": "19.28.29913",
+ "2021.2.0": "19.28.29334",
+ "2021.1.0": "19.28.29333",
}
def get_valid_fortran_pth(comp_ver):
- cl_ver = str(comp_ver).split('@')[1]
+ cl_ver = str(comp_ver).split("@")[1]
sort_fn = lambda fc_ver: StrictVersion(fc_ver)
sort_fc_ver = sorted(list(avail_fc_version), key=sort_fn)
for ver in sort_fc_ver:
@@ -39,16 +39,16 @@ def get_valid_fortran_pth(comp_ver):
class Msvc(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['cl.exe']
+ cc_names = ["cl.exe"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['cl.exe']
+ cxx_names = ["cl.exe"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['ifx.exe'] # type: List[str]
+ f77_names = ["ifx.exe"] # type: List[str]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['ifx.exe'] # type: List[str]
+ fc_names = ["ifx.exe"] # type: List[str]
# Named wrapper links within build_env_path
# Due to the challenges of supporting compiler wrappers
@@ -56,20 +56,17 @@ class Msvc(Compiler):
# based on proper versions of MSVC from there
# pending acceptance of #28117 for full support using
# compiler wrappers
- link_paths = {'cc': '',
- 'cxx': '',
- 'f77': '',
- 'fc': ''}
+ link_paths = {"cc": "", "cxx": "", "f77": "", "fc": ""}
#: Compiler argument that produces version information
- version_argument = ''
+ version_argument = ""
# For getting ifx's version, call it with version_argument
# and ignore the error code
ignore_version_errors = [1]
#: Regex used to extract version from compiler's output
- version_regex = r'([1-9][0-9]*\.[0-9]*\.[0-9]*)'
+ version_regex = r"([1-9][0-9]*\.[0-9]*\.[0-9]*)"
# Initialize, deferring to base class but then adding the vcvarsallfile
# file based on compiler executable path.
@@ -80,8 +77,7 @@ class Msvc(Compiler):
super(Msvc, self).__init__(*args, **kwargs)
if os.getenv("ONEAPI_ROOT"):
# If this found, it sets all the vars
- self.setvarsfile = os.path.join(
- os.getenv("ONEAPI_ROOT"), "setvars.bat")
+ self.setvarsfile = os.path.join(os.getenv("ONEAPI_ROOT"), "setvars.bat")
else:
# To use the MSVC compilers, VCVARS must be invoked
# VCVARS is located at a fixed location, referencable
@@ -90,15 +86,13 @@ class Msvc(Compiler):
# Spack first finds the compilers via VSWHERE
# and stores their path, but their respective VCVARS
# file must be invoked before useage.
- self.setvarsfile = os.path.abspath(
- os.path.join(self.cc, '../../../../../../..'))
- self.setvarsfile = os.path.join(
- self.setvarsfile, 'Auxiliary', 'Build', 'vcvars64.bat')
+ self.setvarsfile = os.path.abspath(os.path.join(self.cc, "../../../../../../.."))
+ self.setvarsfile = os.path.join(self.setvarsfile, "Auxiliary", "Build", "vcvars64.bat")
@property
def msvc_version(self):
ver = re.search(Msvc.version_regex, self.cc).group(1)
- ver = "".join(ver.split('.')[:2])[:-1]
+ ver = "".join(ver.split(".")[:2])[:-1]
return "MSVC" + ver
def setup_custom_environment(self, pkg, env):
@@ -112,24 +106,27 @@ class Msvc(Compiler):
# output, sort into dictionary, use that to make the build
# environment.
out = subprocess.check_output( # novermin
- 'cmd /u /c "{}" {} && set'.format(self.setvarsfile, 'amd64'),
- stderr=subprocess.STDOUT)
+ 'cmd /u /c "{}" {} && set'.format(self.setvarsfile, "amd64"),
+ stderr=subprocess.STDOUT,
+ )
if sys.version_info[0] >= 3:
- out = out.decode('utf-16le', errors='replace') # novermin
-
- int_env = dict((key.lower(), value) for key, _, value in
- (line.partition('=') for line in out.splitlines())
- if key and value)
-
- if 'path' in int_env:
- env.set_path('PATH', int_env['path'].split(';'))
- env.set_path('INCLUDE', int_env.get('include', '').split(';'))
- env.set_path('LIB', int_env.get('lib', '').split(';'))
-
- env.set('CC', self.cc)
- env.set('CXX', self.cxx)
- env.set('FC', self.fc)
- env.set('F77', self.f77)
+ out = out.decode("utf-16le", errors="replace") # novermin
+
+ int_env = dict(
+ (key.lower(), value)
+ for key, _, value in (line.partition("=") for line in out.splitlines())
+ if key and value
+ )
+
+ if "path" in int_env:
+ env.set_path("PATH", int_env["path"].split(";"))
+ env.set_path("INCLUDE", int_env.get("include", "").split(";"))
+ env.set_path("LIB", int_env.get("lib", "").split(";"))
+
+ env.set("CC", self.cc)
+ env.set("CXX", self.cxx)
+ env.set("FC", self.fc)
+ env.set("F77", self.f77)
else:
# Should not this be an exception?
print("Cannot pull msvc compiler information in Python 2.6 or below")
diff --git a/lib/spack/spack/compilers/nag.py b/lib/spack/spack/compilers/nag.py
index 2e0fccab8e..3e73ee0333 100644
--- a/lib/spack/spack/compilers/nag.py
+++ b/lib/spack/spack/compilers/nag.py
@@ -17,21 +17,22 @@ class Nag(spack.compiler.Compiler):
cxx_names = [] # type: List[str]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['nagfor']
+ f77_names = ["nagfor"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['nagfor']
+ fc_names = ["nagfor"]
# Named wrapper links within build_env_path
# Use default wrappers for C and C++, in case provided in compilers.yaml
link_paths = {
- 'cc': 'cc',
- 'cxx': 'c++',
- 'f77': os.path.join('nag', 'nagfor'),
- 'fc': os.path.join('nag', 'nagfor')}
+ "cc": "cc",
+ "cxx": "c++",
+ "f77": os.path.join("nag", "nagfor"),
+ "fc": os.path.join("nag", "nagfor"),
+ }
- version_argument = '-V'
- version_regex = r'NAG Fortran Compiler Release ([0-9.]+)'
+ version_argument = "-V"
+ version_regex = r"NAG Fortran Compiler Release ([0-9.]+)"
@property
def verbose_flag(self):
@@ -69,11 +70,11 @@ class Nag(spack.compiler.Compiler):
@property
def debug_flags(self):
- return ['-g', '-gline', '-g90']
+ return ["-g", "-gline", "-g90"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-O4']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"]
@property
def cxx11_flag(self):
@@ -94,22 +95,22 @@ class Nag(spack.compiler.Compiler):
# options with '-Wl,-Wl,,'
@property
def f77_rpath_arg(self):
- return '-Wl,-Wl,,-rpath,,'
+ return "-Wl,-Wl,,-rpath,,"
@property
def fc_rpath_arg(self):
- return '-Wl,-Wl,,-rpath,,'
+ return "-Wl,-Wl,,-rpath,,"
@property
def linker_arg(self):
- return '-Wl,-Wl,,'
+ return "-Wl,-Wl,,"
@property
def disable_new_dtags(self):
# Disable RPATH/RUNPATH forcing for NAG/GCC mixed toolchains:
- return ''
+ return ""
@property
def enable_new_dtags(self):
# Disable RPATH/RUNPATH forcing for NAG/GCC mixed toolchains:
- return ''
+ return ""
diff --git a/lib/spack/spack/compilers/nvhpc.py b/lib/spack/spack/compilers/nvhpc.py
index bb4c28c695..e578558e10 100644
--- a/lib/spack/spack/compilers/nvhpc.py
+++ b/lib/spack/spack/compilers/nvhpc.py
@@ -10,28 +10,30 @@ from spack.compiler import Compiler
class Nvhpc(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['nvc']
+ cc_names = ["nvc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['nvc++']
+ cxx_names = ["nvc++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['nvfortran']
+ f77_names = ["nvfortran"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['nvfortran']
+ fc_names = ["nvfortran"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('nvhpc', 'nvc'),
- 'cxx': os.path.join('nvhpc', 'nvc++'),
- 'f77': os.path.join('nvhpc', 'nvfortran'),
- 'fc': os.path.join('nvhpc', 'nvfortran')}
+ link_paths = {
+ "cc": os.path.join("nvhpc", "nvc"),
+ "cxx": os.path.join("nvhpc", "nvc++"),
+ "f77": os.path.join("nvhpc", "nvfortran"),
+ "fc": os.path.join("nvhpc", "nvfortran"),
+ }
- PrgEnv = 'PrgEnv-nvhpc'
- PrgEnv_compiler = 'nvhpc'
+ PrgEnv = "PrgEnv-nvhpc"
+ PrgEnv_compiler = "nvhpc"
- version_argument = '--version'
- version_regex = r'nv[^ ]* (?:[^ ]+ Dev-r)?([0-9.]+)(?:-[0-9]+)?'
+ version_argument = "--version"
+ version_regex = r"nv[^ ]* (?:[^ ]+ Dev-r)?([0-9.]+)(?:-[0-9]+)?"
@property
def verbose_flag(self):
@@ -39,11 +41,11 @@ class Nvhpc(Compiler):
@property
def debug_flags(self):
- return ['-g', '-gopt']
+ return ["-g", "-gopt"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-O4']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"]
@property
def openmp_flag(self):
@@ -67,26 +69,26 @@ class Nvhpc(Compiler):
@property
def c99_flag(self):
- return '-c99'
+ return "-c99"
@property
def c11_flag(self):
- return '-c11'
+ return "-c11"
@property
def cxx11_flag(self):
- return '--c++11'
+ return "--c++11"
@property
def cxx14_flag(self):
- return '--c++14'
+ return "--c++14"
@property
def cxx17_flag(self):
- return '--c++17'
+ return "--c++17"
@property
def stdcxx_libs(self):
- return ('-c++libs', )
+ return ("-c++libs",)
- required_libs = ['libnvc', 'libnvf']
+ required_libs = ["libnvc", "libnvf"]
diff --git a/lib/spack/spack/compilers/oneapi.py b/lib/spack/spack/compilers/oneapi.py
index 61657e96ca..d74cbc6b0d 100644
--- a/lib/spack/spack/compilers/oneapi.py
+++ b/lib/spack/spack/compilers/oneapi.py
@@ -11,48 +11,59 @@ from spack.compiler import Compiler
class Oneapi(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['icx']
+ cc_names = ["icx"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['icpx']
+ cxx_names = ["icpx"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['ifx']
+ f77_names = ["ifx"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['ifx']
+ fc_names = ["ifx"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('oneapi', 'icx'),
- 'cxx': os.path.join('oneapi', 'icpx'),
- 'f77': os.path.join('oneapi', 'ifx'),
- 'fc': os.path.join('oneapi', 'ifx')}
+ link_paths = {
+ "cc": os.path.join("oneapi", "icx"),
+ "cxx": os.path.join("oneapi", "icpx"),
+ "f77": os.path.join("oneapi", "ifx"),
+ "fc": os.path.join("oneapi", "ifx"),
+ }
- PrgEnv = 'PrgEnv-oneapi'
- PrgEnv_compiler = 'oneapi'
+ PrgEnv = "PrgEnv-oneapi"
+ PrgEnv_compiler = "oneapi"
- version_argument = '--version'
- version_regex = r'(?:(?:oneAPI DPC\+\+(?:\/C\+\+)? Compiler)|(?:\(IFORT\))) (\S+)'
+ version_argument = "--version"
+ version_regex = r"(?:(?:oneAPI DPC\+\+(?:\/C\+\+)? Compiler)|(?:\(IFORT\))) (\S+)"
@property
def verbose_flag(self):
return "-v"
- required_libs = ['libirc', 'libifcore', 'libifcoremt', 'libirng',
- 'libsvml', 'libintlc', 'libimf', 'libsycl',
- 'libOpenCL']
+ required_libs = [
+ "libirc",
+ "libifcore",
+ "libifcoremt",
+ "libirng",
+ "libsvml",
+ "libintlc",
+ "libimf",
+ "libsycl",
+ "libOpenCL",
+ ]
@property
def debug_flags(self):
- return ['-debug', '-g', '-g0', '-g1', '-g2', '-g3']
+ return ["-debug", "-g", "-g0", "-g1", "-g2", "-g3"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os"]
@property
def openmp_flag(self):
return "-fiopenmp"
+
# There may be some additional options here for offload, e.g. :
# -fopenmp-simd Emit OpenMP code only for SIMD-based constructs.
# -fopenmp-targets=<value>
@@ -115,7 +126,7 @@ class Oneapi(Compiler):
@property
def stdcxx_libs(self):
- return ('-cxxlib', )
+ return ("-cxxlib",)
def setup_custom_environment(self, pkg, env):
# workaround bug in icpx driver where it requires sycl-post-link is on the PATH
@@ -123,4 +134,4 @@ class Oneapi(Compiler):
# clang++: error: unable to execute command:
# Executable "sycl-post-link" doesn't exist!
if self.cxx:
- env.prepend_path('PATH', dirname(self.cxx))
+ env.prepend_path("PATH", dirname(self.cxx))
diff --git a/lib/spack/spack/compilers/pgi.py b/lib/spack/spack/compilers/pgi.py
index 36fcaf5398..3aa850236d 100644
--- a/lib/spack/spack/compilers/pgi.py
+++ b/lib/spack/spack/compilers/pgi.py
@@ -11,29 +11,31 @@ from spack.version import ver
class Pgi(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['pgcc']
+ cc_names = ["pgcc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['pgc++', 'pgCC']
+ cxx_names = ["pgc++", "pgCC"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['pgfortran', 'pgf77']
+ f77_names = ["pgfortran", "pgf77"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['pgfortran', 'pgf95', 'pgf90']
+ fc_names = ["pgfortran", "pgf95", "pgf90"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('pgi', 'pgcc'),
- 'cxx': os.path.join('pgi', 'pgc++'),
- 'f77': os.path.join('pgi', 'pgfortran'),
- 'fc': os.path.join('pgi', 'pgfortran')}
+ link_paths = {
+ "cc": os.path.join("pgi", "pgcc"),
+ "cxx": os.path.join("pgi", "pgc++"),
+ "f77": os.path.join("pgi", "pgfortran"),
+ "fc": os.path.join("pgi", "pgfortran"),
+ }
- PrgEnv = 'PrgEnv-pgi'
- PrgEnv_compiler = 'pgi'
+ PrgEnv = "PrgEnv-pgi"
+ PrgEnv_compiler = "pgi"
- version_argument = '-V'
+ version_argument = "-V"
ignore_version_errors = [2] # `pgcc -V` on PowerPC annoyingly returns 2
- version_regex = r'pg[^ ]* ([0-9.]+)-[0-9]+ (LLVM )?[^ ]+ target on '
+ version_regex = r"pg[^ ]* ([0-9.]+)-[0-9]+ (LLVM )?[^ ]+ target on "
@property
def verbose_flag(self):
@@ -41,11 +43,11 @@ class Pgi(Compiler):
@property
def debug_flags(self):
- return ['-g', '-gopt']
+ return ["-g", "-gopt"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-O4']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"]
@property
def openmp_flag(self):
@@ -71,26 +73,20 @@ class Pgi(Compiler):
def fc_pic_flag(self):
return "-fpic"
- required_libs = ['libpgc', 'libpgf90']
+ required_libs = ["libpgc", "libpgf90"]
@property
def c99_flag(self):
- if self.real_version >= ver('12.10'):
- return '-c99'
- raise UnsupportedCompilerFlag(self,
- 'the C99 standard',
- 'c99_flag',
- '< 12.10')
+ if self.real_version >= ver("12.10"):
+ return "-c99"
+ raise UnsupportedCompilerFlag(self, "the C99 standard", "c99_flag", "< 12.10")
@property
def c11_flag(self):
- if self.real_version >= ver('15.3'):
- return '-c11'
- raise UnsupportedCompilerFlag(self,
- 'the C11 standard',
- 'c11_flag',
- '< 15.3')
+ if self.real_version >= ver("15.3"):
+ return "-c11"
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag", "< 15.3")
@property
def stdcxx_libs(self):
- return ('-pgc++libs',)
+ return ("-pgc++libs",)
diff --git a/lib/spack/spack/compilers/rocmcc.py b/lib/spack/spack/compilers/rocmcc.py
index 9cb11be869..6c9781d92e 100644
--- a/lib/spack/spack/compilers/rocmcc.py
+++ b/lib/spack/spack/compilers/rocmcc.py
@@ -12,26 +12,28 @@ import spack.compilers.clang
class Rocmcc(spack.compilers.clang.Clang):
# Subclasses use possible names of C compiler
- cc_names = ['amdclang']
+ cc_names = ["amdclang"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['amdclang++']
+ cxx_names = ["amdclang++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['amdflang']
+ f77_names = ["amdflang"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['amdflang']
+ fc_names = ["amdflang"]
- PrgEnv = 'PrgEnv-amd'
- PrgEnv_compiler = 'amd'
+ PrgEnv = "PrgEnv-amd"
+ PrgEnv_compiler = "amd"
@property
def link_paths(self):
- link_paths = {'cc': 'rocmcc/amdclang',
- 'cxx': 'rocmcc/amdclang++',
- 'f77': 'rocmcc/amdflang',
- 'fc': 'rocmcc/amdflang'}
+ link_paths = {
+ "cc": "rocmcc/amdclang",
+ "cxx": "rocmcc/amdclang++",
+ "f77": "rocmcc/amdflang",
+ "fc": "rocmcc/amdflang",
+ }
return link_paths
@@ -49,7 +51,7 @@ class Rocmcc(spack.compilers.clang.Clang):
@property
def c99_flag(self):
- return '-std=c99'
+ return "-std=c99"
@property
def c11_flag(self):
@@ -58,12 +60,9 @@ class Rocmcc(spack.compilers.clang.Clang):
@classmethod
@llnl.util.lang.memoized
def extract_version_from_output(cls, output):
- match = re.search(
- r'llvm-project roc-(\d+)[._](\d+)[._](\d+)',
- output
- )
+ match = re.search(r"llvm-project roc-(\d+)[._](\d+)[._](\d+)", output)
if match:
- return '.'.join(match.groups())
+ return ".".join(match.groups())
@classmethod
def fc_version(cls, fortran_compiler):
@@ -75,4 +74,4 @@ class Rocmcc(spack.compilers.clang.Clang):
@property
def stdcxx_libs(self):
- return ('-lstdc++', )
+ return ("-lstdc++",)
diff --git a/lib/spack/spack/compilers/xl.py b/lib/spack/spack/compilers/xl.py
index 2d5d307ef6..c87f28e78d 100644
--- a/lib/spack/spack/compilers/xl.py
+++ b/lib/spack/spack/compilers/xl.py
@@ -11,25 +11,27 @@ from spack.version import ver
class Xl(Compiler):
# Subclasses use possible names of C compiler
- cc_names = ['xlc']
+ cc_names = ["xlc"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['xlC', 'xlc++']
+ cxx_names = ["xlC", "xlc++"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['xlf']
+ f77_names = ["xlf"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['xlf90', 'xlf95', 'xlf2003', 'xlf2008']
+ fc_names = ["xlf90", "xlf95", "xlf2003", "xlf2008"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('xl', 'xlc'),
- 'cxx': os.path.join('xl', 'xlc++'),
- 'f77': os.path.join('xl', 'xlf'),
- 'fc': os.path.join('xl', 'xlf90')}
+ link_paths = {
+ "cc": os.path.join("xl", "xlc"),
+ "cxx": os.path.join("xl", "xlc++"),
+ "f77": os.path.join("xl", "xlf"),
+ "fc": os.path.join("xl", "xlf90"),
+ }
- version_argument = '-qversion'
- version_regex = r'([0-9]?[0-9]\.[0-9])'
+ version_argument = "-qversion"
+ version_regex = r"([0-9]?[0-9]\.[0-9])"
@property
def verbose_flag(self):
@@ -37,11 +39,11 @@ class Xl(Compiler):
@property
def debug_flags(self):
- return ['-g', '-g0', '-g1', '-g2', '-g8', '-g9']
+ return ["-g", "-g0", "-g1", "-g2", "-g8", "-g9"]
@property
def opt_flags(self):
- return ['-O', '-O0', '-O1', '-O2', '-O3', '-O4', '-O5', '-Ofast']
+ return ["-O", "-O0", "-O1", "-O2", "-O3", "-O4", "-O5", "-Ofast"]
@property
def openmp_flag(self):
@@ -49,35 +51,26 @@ class Xl(Compiler):
@property
def cxx11_flag(self):
- if self.real_version < ver('13.1'):
- raise UnsupportedCompilerFlag(self,
- "the C++11 standard",
- "cxx11_flag",
- "< 13.1")
+ if self.real_version < ver("13.1"):
+ raise UnsupportedCompilerFlag(self, "the C++11 standard", "cxx11_flag", "< 13.1")
else:
return "-qlanglvl=extended0x"
@property
def c99_flag(self):
- if self.real_version >= ver('13.1.1'):
- return '-std=gnu99'
- if self.real_version >= ver('10.1'):
- return '-qlanglvl=extc99'
- raise UnsupportedCompilerFlag(self,
- 'the C99 standard',
- 'c99_flag',
- '< 10.1')
+ if self.real_version >= ver("13.1.1"):
+ return "-std=gnu99"
+ if self.real_version >= ver("10.1"):
+ return "-qlanglvl=extc99"
+ raise UnsupportedCompilerFlag(self, "the C99 standard", "c99_flag", "< 10.1")
@property
def c11_flag(self):
- if self.real_version >= ver('13.1.2'):
- return '-std=gnu11'
- if self.real_version >= ver('12.1'):
- return '-qlanglvl=extc1x'
- raise UnsupportedCompilerFlag(self,
- 'the C11 standard',
- 'c11_flag',
- '< 12.1')
+ if self.real_version >= ver("13.1.2"):
+ return "-std=gnu11"
+ if self.real_version >= ver("12.1"):
+ return "-qlanglvl=extc1x"
+ raise UnsupportedCompilerFlag(self, "the C11 standard", "c11_flag", "< 12.1")
@property
def cc_pic_flag(self):
diff --git a/lib/spack/spack/compilers/xl_r.py b/lib/spack/spack/compilers/xl_r.py
index cf3e482729..b790b42f70 100644
--- a/lib/spack/spack/compilers/xl_r.py
+++ b/lib/spack/spack/compilers/xl_r.py
@@ -10,19 +10,21 @@ import spack.compilers.xl
class XlR(spack.compilers.xl.Xl):
# Subclasses use possible names of C compiler
- cc_names = ['xlc_r']
+ cc_names = ["xlc_r"]
# Subclasses use possible names of C++ compiler
- cxx_names = ['xlC_r', 'xlc++_r']
+ cxx_names = ["xlC_r", "xlc++_r"]
# Subclasses use possible names of Fortran 77 compiler
- f77_names = ['xlf_r']
+ f77_names = ["xlf_r"]
# Subclasses use possible names of Fortran 90 compiler
- fc_names = ['xlf90_r', 'xlf95_r', 'xlf2003_r', 'xlf2008_r']
+ fc_names = ["xlf90_r", "xlf95_r", "xlf2003_r", "xlf2008_r"]
# Named wrapper links within build_env_path
- link_paths = {'cc': os.path.join('xl_r', 'xlc_r'),
- 'cxx': os.path.join('xl_r', 'xlc++_r'),
- 'f77': os.path.join('xl_r', 'xlf_r'),
- 'fc': os.path.join('xl_r', 'xlf90_r')}
+ link_paths = {
+ "cc": os.path.join("xl_r", "xlc_r"),
+ "cxx": os.path.join("xl_r", "xlc++_r"),
+ "f77": os.path.join("xl_r", "xlf_r"),
+ "fc": os.path.join("xl_r", "xlf90_r"),
+ }
diff --git a/lib/spack/spack/concretize.py b/lib/spack/spack/concretize.py
index 520b003f74..8174855de2 100644
--- a/lib/spack/spack/concretize.py
+++ b/lib/spack/spack/concretize.py
@@ -51,9 +51,10 @@ _abi = llnl.util.lang.Singleton(lambda: spack.abi.ABI())
class reverse_order(object):
"""Helper for creating key functions.
- This is a wrapper that inverts the sense of the natural
- comparisons on the object.
+ This is a wrapper that inverts the sense of the natural
+ comparisons on the object.
"""
+
def __init__(self, value):
self.value = value
@@ -66,8 +67,9 @@ class reverse_order(object):
class Concretizer(object):
"""You can subclass this class to override some of the default
- concretization strategies, or you can override all of them.
+ concretization strategies, or you can override all of them.
"""
+
#: Controls whether we check that compiler versions actually exist
#: during concretization. Used for testing and for mirror creation
check_for_compiler_existence = None
@@ -75,7 +77,7 @@ class Concretizer(object):
def __init__(self, abstract_spec=None):
if Concretizer.check_for_compiler_existence is None:
Concretizer.check_for_compiler_existence = not config.get(
- 'config:install_missing_compilers', False
+ "config:install_missing_compilers", False
)
self.abstract_spec = abstract_spec
self._adjust_target_answer_generator = None
@@ -89,23 +91,22 @@ class Concretizer(object):
if not dev_info:
return False
- path = os.path.normpath(os.path.join(env.path, dev_info['path']))
+ path = os.path.normpath(os.path.join(env.path, dev_info["path"]))
- if 'dev_path' in spec.variants:
- assert spec.variants['dev_path'].value == path
+ if "dev_path" in spec.variants:
+ assert spec.variants["dev_path"].value == path
changed = False
else:
- spec.variants.setdefault(
- 'dev_path', vt.SingleValuedVariant('dev_path', path))
+ spec.variants.setdefault("dev_path", vt.SingleValuedVariant("dev_path", path))
changed = True
- changed |= spec.constrain(dev_info['spec'])
+ changed |= spec.constrain(dev_info["spec"])
return changed
def _valid_virtuals_and_externals(self, spec):
"""Returns a list of candidate virtual dep providers and external
- packages that coiuld be used to concretize a spec.
+ packages that coiuld be used to concretize a spec.
- Preferred specs come first in the list.
+ Preferred specs come first in the list.
"""
# First construct a list of concrete candidates to replace spec with.
candidates = [spec]
@@ -114,17 +115,15 @@ class Concretizer(object):
if spec.virtual:
candidates = spack.repo.path.providers_for(spec)
if not candidates:
- raise spack.error.UnsatisfiableProviderSpecError(
- candidates[0], spec)
+ raise spack.error.UnsatisfiableProviderSpecError(candidates[0], spec)
# Find nearest spec in the DAG (up then down) that has prefs.
spec_w_prefs = find_spec(
- spec, lambda p: PackagePrefs.has_preferred_providers(
- p.name, spec.name),
- spec) # default to spec itself.
+ spec, lambda p: PackagePrefs.has_preferred_providers(p.name, spec.name), spec
+ ) # default to spec itself.
# Create a key to sort candidates by the prefs we found
- pref_key = PackagePrefs(spec_w_prefs.name, 'providers', spec.name)
+ pref_key = PackagePrefs(spec_w_prefs.name, "providers", spec.name)
# For each candidate package, if it has externals, add those
# to the usable list. if it's not buildable, then *only* add
@@ -145,17 +144,20 @@ class Concretizer(object):
raise NoBuildError(spec)
# Use a sort key to order the results
- return sorted(usable, key=lambda spec: (
- not spec.external, # prefer externals
- pref_key(spec), # respect prefs
- spec.name, # group by name
- reverse_order(spec.versions), # latest version
- spec # natural order
- ))
+ return sorted(
+ usable,
+ key=lambda spec: (
+ not spec.external, # prefer externals
+ pref_key(spec), # respect prefs
+ spec.name, # group by name
+ reverse_order(spec.versions), # latest version
+ spec, # natural order
+ ),
+ )
def choose_virtual_or_external(self, spec):
"""Given a list of candidate virtual and external packages, try to
- find one that is most ABI compatible.
+ find one that is most ABI compatible.
"""
candidates = self._valid_virtuals_and_externals(spec)
if not candidates:
@@ -170,25 +172,28 @@ class Concretizer(object):
# Sort candidates from most to least compatibility.
# We reverse because True > False.
# Sort is stable, so candidates keep their order.
- return sorted(candidates,
- reverse=True,
- key=lambda spec: (
- _abi.compatible(spec, abi_exemplar, loose=True),
- _abi.compatible(spec, abi_exemplar)))
+ return sorted(
+ candidates,
+ reverse=True,
+ key=lambda spec: (
+ _abi.compatible(spec, abi_exemplar, loose=True),
+ _abi.compatible(spec, abi_exemplar),
+ ),
+ )
def concretize_version(self, spec):
"""If the spec is already concrete, return. Otherwise take
- the preferred version from spackconfig, and default to the package's
- version if there are no available versions.
-
- TODO: In many cases we probably want to look for installed
- versions of each package and use an installed version
- if we can link to it. The policy implemented here will
- tend to rebuild a lot of stuff becasue it will prefer
- a compiler in the spec to any compiler already-
- installed things were built with. There is likely
- some better policy that finds some middle ground
- between these two extremes.
+ the preferred version from spackconfig, and default to the package's
+ version if there are no available versions.
+
+ TODO: In many cases we probably want to look for installed
+ versions of each package and use an installed version
+ if we can link to it. The policy implemented here will
+ tend to rebuild a lot of stuff becasue it will prefer
+ a compiler in the spec to any compiler already-
+ installed things were built with. There is likely
+ some better policy that finds some middle ground
+ between these two extremes.
"""
# return if already concrete.
if spec.versions.concrete:
@@ -196,10 +201,9 @@ class Concretizer(object):
# List of versions we could consider, in sorted order
pkg_versions = spec.package_class.versions
- usable = [v for v in pkg_versions
- if any(v.satisfies(sv) for sv in spec.versions)]
+ usable = [v for v in pkg_versions if any(v.satisfies(sv) for sv in spec.versions)]
- yaml_prefs = PackagePrefs(spec.name, 'version')
+ yaml_prefs = PackagePrefs(spec.name, "version")
# The keys below show the order of precedence of factors used
# to select a version when concretizing. The item with
@@ -212,21 +216,19 @@ class Concretizer(object):
# ------- Special direction from the user
# Respect order listed in packages.yaml
-yaml_prefs(v),
-
# The preferred=True flag (packages or packages.yaml or both?)
- pkg_versions.get(Version(v)).get('preferred', False),
-
+ pkg_versions.get(Version(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)
+ v,
+ )
usable.sort(key=keyfn, reverse=True)
if usable:
@@ -238,7 +240,7 @@ class Concretizer(object):
# Someone else can raise an error if this happens,
# e.g. when we go to fetch it and don't know how. But it
# *might* work.
- if not spec.versions or spec.versions == VersionList([':']):
+ if not spec.versions or spec.versions == VersionList([":"]):
raise NoValidVersionError(spec)
else:
last = spec.versions[-1]
@@ -250,7 +252,7 @@ class Concretizer(object):
else:
spec.versions = ver([last])
- return True # Things changed
+ return True # Things changed
def concretize_architecture(self, spec):
"""If the spec is empty provide the defaults of the platform. If the
@@ -278,9 +280,7 @@ class Concretizer(object):
# Else if anyone else has a platform, take the closest one
# Search up, then down, along build/link deps first
# Then any nearest. Algorithm from compilerspec search
- platform_spec = find_spec(
- spec, lambda x: x.architecture and x.architecture.platform
- )
+ platform_spec = find_spec(spec, lambda x: x.architecture and x.architecture.platform)
if platform_spec:
new_plat = spack.platforms.by_name(platform_spec.architecture.platform)
else:
@@ -294,14 +294,17 @@ class Concretizer(object):
new_os = spec.architecture.os
else:
new_os_spec = find_spec(
- spec, lambda x: (x.architecture and
- x.architecture.platform == str(new_plat) and
- x.architecture.os)
+ spec,
+ lambda x: (
+ x.architecture
+ and x.architecture.platform == str(new_plat)
+ and x.architecture.os
+ ),
)
if new_os_spec:
new_os = new_os_spec.architecture.os
else:
- new_os = new_plat.operating_system('default_os')
+ new_os = new_plat.operating_system("default_os")
# Get the nearest spec with relevant platform and a target
# Generally, same algorithm as finding os
@@ -312,18 +315,21 @@ class Concretizer(object):
new_target = spec.architecture.target
else:
new_target_spec = find_spec(
- spec, lambda x: (x.architecture and
- x.architecture.platform == str(new_plat) and
- x.architecture.target and
- x.architecture.target != curr_target)
+ spec,
+ lambda x: (
+ x.architecture
+ and x.architecture.platform == str(new_plat)
+ and x.architecture.target
+ and x.architecture.target != curr_target
+ ),
)
if new_target_spec:
if curr_target:
# constrain one target by the other
new_target_arch = spack.spec.ArchSpec(
- (None, None, new_target_spec.architecture.target))
- curr_target_arch = spack.spec.ArchSpec(
- (None, None, curr_target))
+ (None, None, new_target_spec.architecture.target)
+ )
+ curr_target_arch = spack.spec.ArchSpec((None, None, curr_target))
curr_target_arch.constrain(new_target_arch)
new_target = curr_target_arch.target
else:
@@ -333,20 +339,18 @@ class Concretizer(object):
if PackagePrefs.has_preferred_targets(spec.name):
new_target = self.target_from_package_preferences(spec)
else:
- new_target = new_plat.target('default_target')
+ new_target = new_plat.target("default_target")
if curr_target:
# convert to ArchSpec to compare satisfaction
- new_target_arch = spack.spec.ArchSpec(
- (None, None, str(new_target)))
- curr_target_arch = spack.spec.ArchSpec(
- (None, None, str(curr_target)))
+ new_target_arch = spack.spec.ArchSpec((None, None, str(new_target)))
+ curr_target_arch = spack.spec.ArchSpec((None, None, str(curr_target)))
if not new_target_arch.satisfies(curr_target_arch):
# new_target is an incorrect guess based on preferences
# and/or default
- valid_target_ranges = str(curr_target).split(',')
+ valid_target_ranges = str(curr_target).split(",")
for target_range in valid_target_ranges:
- t_min, t_sep, t_max = target_range.partition(':')
+ t_min, t_sep, t_max = target_range.partition(":")
if not t_sep:
new_target = t_min
break
@@ -372,9 +376,8 @@ class Concretizer(object):
Args:
spec: abstract spec to be concretized
"""
- target_prefs = PackagePrefs(spec.name, 'target')
- target_specs = [spack.spec.Spec('target=%s' % tname)
- for tname in archspec.cpu.TARGETS]
+ target_prefs = PackagePrefs(spec.name, "target")
+ target_specs = [spack.spec.Spec("target=%s" % tname) for tname in archspec.cpu.TARGETS]
def tspec_filter(s):
# Filter target specs by whether the architecture
@@ -394,8 +397,8 @@ class Concretizer(object):
def concretize_variants(self, spec):
"""If the spec already has variants filled in, return. Otherwise, add
- the user preferences from packages.yaml or the default variants from
- the package specification.
+ the user preferences from packages.yaml or the default variants from
+ the package specification.
"""
changed = False
preferred_variants = PackagePrefs.preferred_variants(spec.name)
@@ -403,36 +406,34 @@ class Concretizer(object):
for name, entry in pkg_cls.variants.items():
variant, when = entry
var = spec.variants.get(name, None)
- if var and '*' in var:
+ if var and "*" in var:
# remove variant wildcard before concretizing
# wildcard cannot be combined with other variables in a
# multivalue variant, a concrete variant cannot have the value
# wildcard, and a wildcard does not constrain a variant
spec.variants.pop(name)
- if name not in spec.variants and any(spec.satisfies(w)
- for w in when):
+ if name not in spec.variants and any(spec.satisfies(w) for w in when):
changed = True
if name in preferred_variants:
spec.variants[name] = preferred_variants.get(name)
else:
spec.variants[name] = variant.make_default()
- if name in spec.variants and not any(spec.satisfies(w)
- for w in when):
+ if name in spec.variants and not any(spec.satisfies(w) for w in when):
raise vt.InvalidVariantForSpecError(name, when, spec)
return changed
def concretize_compiler(self, spec):
"""If the spec already has a compiler, we're done. If not, then take
- the compiler used for the nearest ancestor with a compiler
- spec and use that. If the ancestor's compiler is not
- concrete, then used the preferred compiler as specified in
- spackconfig.
-
- Intuition: Use the spackconfig default if no package that depends on
- this one has a strict compiler requirement. Otherwise, try to
- build with the compiler that will be used by libraries that
- link to this one, to maximize compatibility.
+ the compiler used for the nearest ancestor with a compiler
+ spec and use that. If the ancestor's compiler is not
+ concrete, then used the preferred compiler as specified in
+ spackconfig.
+
+ Intuition: Use the spackconfig default if no package that depends on
+ this one has a strict compiler requirement. Otherwise, try to
+ build with the compiler that will be used by libraries that
+ link to this one, to maximize compatibility.
"""
# Pass on concretizing the compiler if the target or operating system
# is not yet determined
@@ -447,59 +448,54 @@ class Concretizer(object):
# compiler_for_spec Should think whether this can be more
# efficient
def _proper_compiler_style(cspec, aspec):
- compilers = spack.compilers.compilers_for_spec(
- cspec, arch_spec=aspec
- )
+ compilers = spack.compilers.compilers_for_spec(cspec, arch_spec=aspec)
# If the spec passed as argument is concrete we want to check
# the versions match exactly
- if (cspec.concrete and compilers and
- cspec.version not in [c.version for c in compilers]):
+ if (
+ cspec.concrete
+ and compilers
+ and cspec.version not in [c.version for c in compilers]
+ ):
return []
return compilers
if spec.compiler and spec.compiler.concrete:
- if (self.check_for_compiler_existence and not
- _proper_compiler_style(spec.compiler, spec.architecture)):
- _compiler_concretization_failure(
- spec.compiler, spec.architecture)
+ if self.check_for_compiler_existence and not _proper_compiler_style(
+ spec.compiler, spec.architecture
+ ):
+ _compiler_concretization_failure(spec.compiler, spec.architecture)
return False
# Find another spec that has a compiler, or the root if none do
- other_spec = spec if spec.compiler else find_spec(
- spec, lambda x: x.compiler, spec.root)
+ other_spec = spec if spec.compiler else find_spec(spec, lambda x: x.compiler, spec.root)
other_compiler = other_spec.compiler
assert other_spec
# Check if the compiler is already fully specified
if other_compiler and other_compiler.concrete:
- if (self.check_for_compiler_existence and not
- _proper_compiler_style(other_compiler, spec.architecture)):
- _compiler_concretization_failure(
- other_compiler, spec.architecture)
+ if self.check_for_compiler_existence and not _proper_compiler_style(
+ other_compiler, spec.architecture
+ ):
+ _compiler_concretization_failure(other_compiler, spec.architecture)
spec.compiler = other_compiler
return True
if other_compiler: # Another node has abstract compiler information
- compiler_list = spack.compilers.find_specs_by_arch(
- other_compiler, spec.architecture
- )
+ compiler_list = spack.compilers.find_specs_by_arch(other_compiler, spec.architecture)
if not compiler_list:
# We don't have a matching compiler installed
if not self.check_for_compiler_existence:
# Concretize compiler spec versions as a package to build
- cpkg_spec = spack.compilers.pkg_spec_for_compiler(
- other_compiler
- )
+ cpkg_spec = spack.compilers.pkg_spec_for_compiler(other_compiler)
self.concretize_version(cpkg_spec)
spec.compiler = spack.spec.CompilerSpec(
- other_compiler.name, cpkg_spec.versions)
+ other_compiler.name, cpkg_spec.versions
+ )
return True
else:
# No compiler with a satisfactory spec was found
- raise UnavailableCompilerVersionError(
- other_compiler, spec.architecture
- )
+ raise UnavailableCompilerVersionError(other_compiler, spec.architecture)
else:
# We have no hints to go by, grab any compiler
compiler_list = spack.compilers.all_compiler_specs()
@@ -508,20 +504,18 @@ class Concretizer(object):
raise spack.compilers.NoCompilersError()
# By default, prefer later versions of compilers
- compiler_list = sorted(
- compiler_list, key=lambda x: (x.name, x.version), reverse=True)
- ppk = PackagePrefs(other_spec.name, 'compiler')
+ compiler_list = sorted(compiler_list, key=lambda x: (x.name, x.version), reverse=True)
+ ppk = PackagePrefs(other_spec.name, "compiler")
matches = sorted(compiler_list, key=ppk)
# copy concrete version into other_compiler
try:
spec.compiler = next(
- c for c in matches
- if _proper_compiler_style(c, spec.architecture)).copy()
+ c for c in matches if _proper_compiler_style(c, spec.architecture)
+ ).copy()
except StopIteration:
# No compiler with a satisfactory spec has a suitable arch
- _compiler_concretization_failure(
- other_compiler, spec.architecture)
+ _compiler_concretization_failure(other_compiler, spec.architecture)
assert spec.compiler.concrete
return True # things changed.
@@ -541,24 +535,23 @@ class Concretizer(object):
return True
compiler_match = lambda other: (
- spec.compiler == other.compiler and
- spec.architecture == other.architecture)
+ spec.compiler == other.compiler and spec.architecture == other.architecture
+ )
ret = False
for flag in spack.spec.FlagMap.valid_compiler_flags():
if flag not in spec.compiler_flags:
spec.compiler_flags[flag] = list()
try:
- nearest = next(p for p in spec.traverse(direction='parents')
- if (compiler_match(p) and
- (p is not spec) and
- flag in p.compiler_flags))
+ nearest = next(
+ p
+ for p in spec.traverse(direction="parents")
+ if (compiler_match(p) and (p is not spec) and flag in p.compiler_flags)
+ )
nearest_flags = nearest.compiler_flags.get(flag, [])
flags = spec.compiler_flags.get(flag, [])
if set(nearest_flags) - set(flags):
- spec.compiler_flags[flag] = list(
- llnl.util.lang.dedupe(nearest_flags + flags)
- )
+ spec.compiler_flags[flag] = list(llnl.util.lang.dedupe(nearest_flags + flags))
ret = True
except StopIteration:
pass
@@ -567,8 +560,7 @@ class Concretizer(object):
# This ensures that spack will detect conflicts that stem from a change
# in default compiler flags.
try:
- compiler = spack.compilers.compiler_for_spec(
- spec.compiler, spec.architecture)
+ compiler = spack.compilers.compiler_for_spec(spec.compiler, spec.architecture)
except spack.compilers.NoCompilerForSpecError:
if self.check_for_compiler_existence:
raise
@@ -576,9 +568,7 @@ class Concretizer(object):
for flag in compiler.flags:
config_flags = compiler.flags.get(flag, [])
flags = spec.compiler_flags.get(flag, [])
- spec.compiler_flags[flag] = list(
- llnl.util.lang.dedupe(config_flags + flags)
- )
+ spec.compiler_flags[flag] = list(llnl.util.lang.dedupe(config_flags + flags))
if set(config_flags) - set(flags):
ret = True
@@ -634,14 +624,15 @@ class Concretizer(object):
current_target = spec.architecture.target
current_platform = spack.platforms.by_name(spec.architecture.platform)
- default_target = current_platform.target('default_target')
+ default_target = current_platform.target("default_target")
if PackagePrefs.has_preferred_targets(spec.name):
default_target = self.target_from_package_preferences(spec)
if current_target != default_target or (
- self.abstract_spec and
- self.abstract_spec.architecture and
- self.abstract_spec.architecture.concrete):
+ self.abstract_spec
+ and self.abstract_spec.architecture
+ and self.abstract_spec.architecture.concrete
+ ):
return False
try:
@@ -657,9 +648,11 @@ class Concretizer(object):
continue
if candidate is not None:
- msg = ('{0.name}@{0.version} cannot build optimized '
- 'binaries for "{1}". Using best target possible: '
- '"{2}"')
+ msg = (
+ "{0.name}@{0.version} cannot build optimized "
+ 'binaries for "{1}". Using best target possible: '
+ '"{2}"'
+ )
msg = msg.format(spec.compiler, current_target, candidate)
tty.warn(msg)
spec.architecture.target = candidate
@@ -688,12 +681,13 @@ def enable_compiler_existence_check():
def find_spec(spec, condition, default=None):
"""Searches the dag from spec in an intelligent order and looks
- for a spec that matches a condition"""
+ for a spec that matches a condition"""
# First search parents, then search children
- deptype = ('build', 'link')
+ deptype = ("build", "link")
dagiter = chain(
- spec.traverse(direction='parents', deptype=deptype, root=False),
- spec.traverse(direction='children', deptype=deptype, root=False))
+ spec.traverse(direction="parents", deptype=deptype, root=False),
+ spec.traverse(direction="children", deptype=deptype, root=False),
+ )
visited = set()
for relative in dagiter:
if condition(relative):
@@ -701,7 +695,7 @@ def find_spec(spec, condition, default=None):
visited.add(id(relative))
# Then search all other relatives in the DAG *except* spec
- for relative in spec.root.traverse(deptype='all'):
+ for relative in spec.root.traverse(deptype="all"):
if relative is spec:
continue
if id(relative) in visited:
@@ -713,7 +707,7 @@ def find_spec(spec, condition, default=None):
if condition(spec):
return spec
- return default # Nothing matched the condition; return default.
+ return default # Nothing matched the condition; return default.
def _compiler_concretization_failure(compiler_spec, arch):
@@ -722,8 +716,8 @@ def _compiler_concretization_failure(compiler_spec, arch):
# there are no compilers for the arch at all
if not spack.compilers.compilers_for_arch(arch):
available_os_targets = set(
- (c.operating_system, c.target) for c in
- spack.compilers.all_compilers())
+ (c.operating_system, c.target) for c in spack.compilers.all_compilers()
+ )
raise NoCompilersForArchError(arch, available_os_targets)
else:
raise UnavailableCompilerVersionError(compiler_spec, arch)
@@ -741,7 +735,7 @@ def concretize_specs_together(*abstract_specs, **kwargs):
Returns:
List of concretized specs
"""
- if spack.config.get('config:concretizer') == 'original':
+ if spack.config.get("config:concretizer") == "original":
return _concretize_specs_together_original(*abstract_specs, **kwargs)
return _concretize_specs_together_new(*abstract_specs, **kwargs)
@@ -750,7 +744,7 @@ def _concretize_specs_together_new(*abstract_specs, **kwargs):
import spack.solver.asp
solver = spack.solver.asp.Solver()
- solver.tests = kwargs.get('tests', False)
+ solver.tests = kwargs.get("tests", False)
result = solver.solve(abstract_specs)
result.raise_if_unsat()
@@ -765,22 +759,22 @@ def _concretize_specs_together_original(*abstract_specs, **kwargs):
tmpdir = tempfile.mkdtemp()
repo_path, _ = spack.repo.create_repo(tmpdir)
- debug_msg = '[CONCRETIZATION]: Creating helper repository in {0}'
+ debug_msg = "[CONCRETIZATION]: Creating helper repository in {0}"
tty.debug(debug_msg.format(repo_path))
- pkg_dir = os.path.join(repo_path, 'packages', 'concretizationroot')
+ pkg_dir = os.path.join(repo_path, "packages", "concretizationroot")
fs.mkdirp(pkg_dir)
environment = spack.tengine.make_environment()
- template = environment.get_template('misc/coconcretization.pyt')
+ template = environment.get_template("misc/coconcretization.pyt")
# Split recursive specs, as it seems the concretizer has issue
# respecting conditions on dependents expressed like
# depends_on('foo ^bar@1.0'), see issue #11160
- split_specs = [dep.copy(deps=False)
- for spec in abstract_specs
- for dep in spec.traverse(root=True)]
+ split_specs = [
+ dep.copy(deps=False) for spec in abstract_specs for dep in spec.traverse(root=True)
+ ]
- with open(os.path.join(pkg_dir, 'package.py'), 'w') as f:
+ with open(os.path.join(pkg_dir, "package.py"), "w") as f:
f.write(template.render(specs=[str(s) for s in split_specs]))
return spack.repo.Repo(repo_path)
@@ -790,81 +784,84 @@ def _concretize_specs_together_original(*abstract_specs, **kwargs):
with spack.repo.additional_repository(concretization_repository):
# Spec from a helper package that depends on all the abstract_specs
- concretization_root = spack.spec.Spec('concretizationroot')
+ concretization_root = spack.spec.Spec("concretizationroot")
concretization_root.concretize(tests=kwargs.get("tests", False))
# Retrieve the direct dependencies
- concrete_specs = [
- concretization_root[spec.name].copy() for spec in abstract_specs
- ]
+ concrete_specs = [concretization_root[spec.name].copy() for spec in abstract_specs]
return concrete_specs
class NoCompilersForArchError(spack.error.SpackError):
def __init__(self, arch, available_os_targets):
- err_msg = ("No compilers found"
- " for operating system %s and target %s."
- "\nIf previous installations have succeeded, the"
- " operating system may have been updated." %
- (arch.os, arch.target))
+ err_msg = (
+ "No compilers found"
+ " for operating system %s and target %s."
+ "\nIf previous installations have succeeded, the"
+ " operating system may have been updated." % (arch.os, arch.target)
+ )
available_os_target_strs = list()
for operating_system, t in available_os_targets:
- os_target_str = "%s-%s" % (operating_system, t) if t \
- else operating_system
+ os_target_str = "%s-%s" % (operating_system, t) if t else operating_system
available_os_target_strs.append(os_target_str)
err_msg += (
"\nCompilers are defined for the following"
- " operating systems and targets:\n\t" +
- "\n\t".join(available_os_target_strs))
+ " operating systems and targets:\n\t" + "\n\t".join(available_os_target_strs)
+ )
super(NoCompilersForArchError, self).__init__(
- err_msg, "Run 'spack compiler find' to add compilers.")
+ err_msg, "Run 'spack compiler find' to add compilers."
+ )
class UnavailableCompilerVersionError(spack.error.SpackError):
"""Raised when there is no available compiler that satisfies a
- compiler spec."""
+ compiler spec."""
def __init__(self, compiler_spec, arch=None):
err_msg = "No compilers with spec {0} found".format(compiler_spec)
if arch:
- err_msg += " for operating system {0} and target {1}.".format(
- arch.os, arch.target
- )
+ err_msg += " for operating system {0} and target {1}.".format(arch.os, arch.target)
super(UnavailableCompilerVersionError, self).__init__(
- err_msg, "Run 'spack compiler find' to add compilers or "
+ err_msg,
+ "Run 'spack compiler find' to add compilers or "
"'spack compilers' to see which compilers are already recognized"
- " by spack.")
+ " by spack.",
+ )
class NoValidVersionError(spack.error.SpackError):
"""Raised when there is no way to have a concrete version for a
- particular spec."""
+ particular spec."""
def __init__(self, spec):
super(NoValidVersionError, self).__init__(
- "There are no valid versions for %s that match '%s'"
- % (spec.name, spec.versions))
+ "There are no valid versions for %s that match '%s'" % (spec.name, spec.versions)
+ )
class InsufficientArchitectureInfoError(spack.error.SpackError):
"""Raised when details on architecture cannot be collected from the
- system"""
+ system"""
def __init__(self, spec, archs):
super(InsufficientArchitectureInfoError, self).__init__(
"Cannot determine necessary architecture information for '%s': %s"
- % (spec.name, str(archs)))
+ % (spec.name, str(archs))
+ )
class NoBuildError(spack.error.SpecError):
"""Raised when a package is configured with the buildable option False, but
no satisfactory external versions can be found
"""
+
def __init__(self, spec):
- msg = ("The spec\n '%s'\n is configured as not buildable, "
- "and no matching external installs were found")
+ msg = (
+ "The spec\n '%s'\n is configured as not buildable, "
+ "and no matching external installs were found"
+ )
super(NoBuildError, self).__init__(msg % spec)
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index 2eb603780a..208daf77f7 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -69,51 +69,48 @@ from spack.util.cpus import cpus_available
#: Dict from section names -> schema for that section
section_schemas = {
- 'compilers': spack.schema.compilers.schema,
- 'concretizer': spack.schema.concretizer.schema,
- 'mirrors': spack.schema.mirrors.schema,
- 'repos': spack.schema.repos.schema,
- 'packages': spack.schema.packages.schema,
- 'modules': spack.schema.modules.schema,
- 'config': spack.schema.config.schema,
- 'upstreams': spack.schema.upstreams.schema,
- 'bootstrap': spack.schema.bootstrap.schema
+ "compilers": spack.schema.compilers.schema,
+ "concretizer": spack.schema.concretizer.schema,
+ "mirrors": spack.schema.mirrors.schema,
+ "repos": spack.schema.repos.schema,
+ "packages": spack.schema.packages.schema,
+ "modules": spack.schema.modules.schema,
+ "config": spack.schema.config.schema,
+ "upstreams": spack.schema.upstreams.schema,
+ "bootstrap": spack.schema.bootstrap.schema,
}
# Same as above, but including keys for environments
# this allows us to unify config reading between configs and environments
all_schemas = copy.deepcopy(section_schemas)
-all_schemas.update(dict((key, spack.schema.env.schema)
- for key in spack.schema.env.keys))
+all_schemas.update(dict((key, spack.schema.env.schema) for key in spack.schema.env.keys))
#: Path to the default configuration
-configuration_defaults_path = (
- 'defaults', os.path.join(spack.paths.etc_path, 'defaults')
-)
+configuration_defaults_path = ("defaults", os.path.join(spack.paths.etc_path, "defaults"))
#: Hard-coded default values for some key configuration options.
#: This ensures that Spack will still work even if config.yaml in
#: the defaults scope is removed.
config_defaults = {
- 'config': {
- 'debug': False,
- 'connect_timeout': 10,
- 'verify_ssl': True,
- 'checksum': True,
- 'dirty': False,
- 'build_jobs': min(16, cpus_available()),
- 'build_stage': '$tempdir/spack-stage',
- 'concretizer': 'clingo',
- 'license_dir': spack.paths.default_license_dir,
+ "config": {
+ "debug": False,
+ "connect_timeout": 10,
+ "verify_ssl": True,
+ "checksum": True,
+ "dirty": False,
+ "build_jobs": min(16, cpus_available()),
+ "build_stage": "$tempdir/spack-stage",
+ "concretizer": "clingo",
+ "license_dir": spack.paths.default_license_dir,
}
}
#: metavar to use for commands that accept scopes
#: this is shorter and more readable than listing all choices
-scopes_metavar = '{defaults,system,site,user}[/PLATFORM] or env:ENVIRONMENT'
+scopes_metavar = "{defaults,system,site,user}[/PLATFORM] or env:ENVIRONMENT"
#: Base name for the (internal) overrides scope.
-overrides_base_name = 'overrides-'
+overrides_base_name = "overrides-"
def first_existing(dictionary, keys):
@@ -127,13 +124,13 @@ def first_existing(dictionary, keys):
class ConfigScope(object):
"""This class represents a configuration scope.
- A scope is one directory containing named configuration files.
- Each file is a config "section" (e.g., mirrors, compilers, etc).
+ A scope is one directory containing named configuration files.
+ Each file is a config "section" (e.g., mirrors, compilers, etc).
"""
def __init__(self, name, path):
- self.name = name # scope name.
- self.path = path # path to directory containing configs.
+ self.name = name # scope name.
+ self.path = path # path to directory containing configs.
self.sections = syaml.syaml_dict() # sections read from config files.
@property
@@ -146,9 +143,9 @@ class ConfigScope(object):
def get_section(self, section):
if section not in self.sections:
- path = self.get_section_filename(section)
+ path = self.get_section_filename(section)
schema = section_schemas[section]
- data = read_config_file(path, schema)
+ data = read_config_file(path, schema)
self.sections[section] = data
return self.sections[section]
@@ -162,22 +159,22 @@ class ConfigScope(object):
try:
mkdirp(self.path)
- with open(filename, 'w') as f:
+ with open(filename, "w") as f:
syaml.dump_config(data, stream=f, default_flow_style=False)
except (yaml.YAMLError, IOError) as e:
- raise ConfigFileError(
- "Error writing to config file: '%s'" % str(e))
+ raise ConfigFileError("Error writing to config file: '%s'" % str(e))
def clear(self):
"""Empty cached config information."""
self.sections = syaml.syaml_dict()
def __repr__(self):
- return '<ConfigScope: %s: %s>' % (self.name, self.path)
+ return "<ConfigScope: %s: %s>" % (self.name, self.path)
class SingleFileScope(ConfigScope):
"""This class represents a configuration scope in a single YAML file."""
+
def __init__(self, name, path, schema, yaml_path=None):
"""Similar to ``ConfigScope`` but can be embedded in another schema.
@@ -289,18 +286,16 @@ class SingleFileScope(ConfigScope):
parent = os.path.dirname(self.path)
mkdirp(parent)
- tmp = os.path.join(parent, '.%s.tmp' % os.path.basename(self.path))
- with open(tmp, 'w') as f:
- syaml.dump_config(data_to_write, stream=f,
- default_flow_style=False)
+ tmp = os.path.join(parent, ".%s.tmp" % os.path.basename(self.path))
+ with open(tmp, "w") as f:
+ syaml.dump_config(data_to_write, stream=f, default_flow_style=False)
rename(tmp, self.path)
except (yaml.YAMLError, IOError) as e:
- raise ConfigFileError(
- "Error writing to config file: '%s'" % str(e))
+ raise ConfigFileError("Error writing to config file: '%s'" % str(e))
def __repr__(self):
- return '<SingleFileScope: %s: %s>' % (self.name, self.path)
+ return "<SingleFileScope: %s: %s>" % (self.name, self.path)
class ImmutableConfigScope(ConfigScope):
@@ -313,7 +308,7 @@ class ImmutableConfigScope(ConfigScope):
raise ConfigError("Cannot write to immutable scope %s" % self)
def __repr__(self):
- return '<ImmutableConfigScope: %s: %s>' % (self.name, self.path)
+ return "<ImmutableConfigScope: %s: %s>" % (self.name, self.path)
class InternalConfigScope(ConfigScope):
@@ -323,6 +318,7 @@ class InternalConfigScope(ConfigScope):
config file settings are accessed the same way, and Spack can easily
override settings from files.
"""
+
def __init__(self, name, data=None):
super(InternalConfigScope, self).__init__(name, None)
self.sections = syaml.syaml_dict()
@@ -332,12 +328,10 @@ class InternalConfigScope(ConfigScope):
for section in data:
dsec = data[section]
validate({section: dsec}, section_schemas[section])
- self.sections[section] = _mark_internal(
- syaml.syaml_dict({section: dsec}), name)
+ self.sections[section] = _mark_internal(syaml.syaml_dict({section: dsec}), name)
def get_section_filename(self, section):
- raise NotImplementedError(
- "Cannot get filename for InternalConfigScope.")
+ raise NotImplementedError("Cannot get filename for InternalConfigScope.")
def get_section(self, section):
"""Just reads from an internal dictionary."""
@@ -353,7 +347,7 @@ class InternalConfigScope(ConfigScope):
self.sections[section] = _mark_internal(data, self.name)
def __repr__(self):
- return '<InternalConfigScope: %s>' % self.name
+ return "<InternalConfigScope: %s>" % self.name
def clear(self):
# no cache to clear here.
@@ -364,15 +358,14 @@ class InternalConfigScope(ConfigScope):
"""Turn a trailing `:' in a key name into an override attribute."""
result = {}
for sk, sv in iteritems(data):
- if sk.endswith(':'):
+ if sk.endswith(":"):
key = syaml.syaml_str(sk[:-1])
key.override = True
else:
key = sk
if isinstance(sv, dict):
- result[key]\
- = InternalConfigScope._process_dict_keyname_overrides(sv)
+ result[key] = InternalConfigScope._process_dict_keyname_overrides(sv)
else:
result[key] = copy.copy(sv)
@@ -384,10 +377,12 @@ def _config_mutator(method):
that mutate the underlying configuration. Used to clear the
memoization cache.
"""
+
@functools.wraps(method)
def _method(self, *args, **kwargs):
self._get_config_memoized.cache.clear()
return method(self, *args, **kwargs)
+
return _method
@@ -416,14 +411,14 @@ class Configuration(object):
cmd_line_scope = None
if self.scopes:
highest_precedence_scope = list(self.scopes.values())[-1]
- if highest_precedence_scope.name == 'command_line':
+ if highest_precedence_scope.name == "command_line":
# If the command-line scope is present, it should always
# be the scope of highest precedence
cmd_line_scope = self.pop_scope()
self.scopes[scope.name] = scope
if cmd_line_scope:
- self.scopes['command_line'] = cmd_line_scope
+ self.scopes["command_line"] = cmd_line_scope
@_config_mutator
def pop_scope(self):
@@ -439,9 +434,11 @@ class Configuration(object):
@property
def file_scopes(self):
"""List of writable scopes with an associated file."""
- return [s for s in self.scopes.values()
- if (type(s) == ConfigScope
- or type(s) == SingleFileScope)]
+ return [
+ s
+ for s in self.scopes.values()
+ if (type(s) == ConfigScope or type(s) == SingleFileScope)
+ ]
def highest_precedence_scope(self):
"""Non-internal scope with highest precedence."""
@@ -487,12 +484,12 @@ class Configuration(object):
return self.scopes[scope]
else:
- raise ValueError("Invalid config scope: '%s'. Must be one of %s"
- % (scope, self.scopes.keys()))
+ raise ValueError(
+ "Invalid config scope: '%s'. Must be one of %s" % (scope, self.scopes.keys())
+ )
def get_config_filename(self, scope, section):
- """For some scope and section, get the name of the configuration file.
- """
+ """For some scope and section, get the name of the configuration file."""
scope = self._validate_scope(scope)
return scope.get_section_filename(section)
@@ -525,12 +522,14 @@ class Configuration(object):
force (str): force the update
"""
if self.format_updates.get(section) and not force:
- 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=<scope>] update {0}\n\n'
- 'Note that previous versions of Spack will not be able to '
- 'use the updated configuration.')
+ 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=<scope>] update {0}\n\n"
+ "Note that previous versions of Spack will not be able to "
+ "use the updated configuration."
+ )
msg = msg.format(section)
raise RuntimeError(msg)
@@ -538,19 +537,16 @@ class Configuration(object):
scope = self._validate_scope(scope) # get ConfigScope object
# manually preserve comments
- need_comment_copy = (section in scope.sections and
- scope.sections[section] is not None)
+ need_comment_copy = section in scope.sections and scope.sections[section] is not None
if need_comment_copy:
- comments = getattr(scope.sections[section][section],
- yaml.comments.Comment.attrib,
- None)
+ comments = getattr(
+ scope.sections[section][section], yaml.comments.Comment.attrib, None
+ )
# read only the requested section's data.
scope.sections[section] = syaml.syaml_dict({section: update_data})
if need_comment_copy and comments:
- setattr(scope.sections[section][section],
- yaml.comments.Comment.attrib,
- comments)
+ setattr(scope.sections[section][section], yaml.comments.Comment.attrib, comments)
scope._write_section(section)
@@ -634,7 +630,7 @@ class Configuration(object):
spack.config.get('config:dirty')
We use ``:`` as the separator, like YAML objects.
- """
+ """
# TODO: Currently only handles maps. Think about lists if needed.
parts = process_config_path(path)
section = parts.pop(0)
@@ -657,7 +653,7 @@ class Configuration(object):
Accepts the path syntax described in ``get()``.
"""
- if ':' not in path:
+ if ":" not in path:
# handle bare section name as path
self.update_config(path, value, scope=scope)
return
@@ -702,8 +698,7 @@ class Configuration(object):
try:
data = syaml.syaml_dict()
data[section] = self.get_config(section)
- syaml.dump_config(
- data, stream=sys.stdout, default_flow_style=False, blame=blame)
+ syaml.dump_config(data, stream=sys.stdout, default_flow_style=False, blame=blame)
except (yaml.YAMLError, IOError):
raise ConfigError("Error reading configuration: %s" % section)
@@ -727,11 +722,10 @@ def override(path_or_scope, value=None):
else:
base_name = overrides_base_name
# Ensure the new override gets a unique scope name
- current_overrides = [s.name for s in
- config.matching_scopes(r'^{0}'.format(base_name))]
+ current_overrides = [s.name for s in config.matching_scopes(r"^{0}".format(base_name))]
num_overrides = len(current_overrides)
while True:
- scope_name = '{0}{1}'.format(base_name, num_overrides)
+ scope_name = "{0}{1}".format(base_name, num_overrides)
if scope_name in current_overrides:
num_overrides += 1
else:
@@ -775,7 +769,7 @@ def _add_command_line_scopes(cfg, command_line_scopes):
raise ConfigError("config scope is not readable: '%s'" % path)
# name based on order on the command line
- name = 'cmd_scope_%d' % i
+ name = "cmd_scope_%d" % i
cfg.push_scope(ImmutableConfigScope(name, path))
_add_platform_scope(cfg, ImmutableConfigScope, name, path)
@@ -794,7 +788,7 @@ def _config():
cfg = Configuration()
# first do the builtin, hardcoded defaults
- builtin = InternalConfigScope('_builtin', config_defaults)
+ builtin = InternalConfigScope("_builtin", config_defaults)
cfg.push_scope(builtin)
# Builtin paths to configuration files in Spack
@@ -810,21 +804,19 @@ def _config():
# This is disabled if user asks for no local configuration.
if not disable_local_config:
configuration_paths.append(
- ('system', spack.paths.system_config_path),
+ ("system", spack.paths.system_config_path),
)
# Site configuration is per spack instance, for sites or projects
# No site-level configs should be checked into spack by default.
configuration_paths.append(
- ('site', os.path.join(spack.paths.etc_path)),
+ ("site", os.path.join(spack.paths.etc_path)),
)
# User configuration can override both spack defaults and site config
# This is disabled if user asks for no local configuration.
if not disable_local_config:
- configuration_paths.append(
- ('user', spack.paths.user_config_path)
- )
+ configuration_paths.append(("user", spack.paths.user_config_path))
# add each scope and its platform-specific directory
for name, path in configuration_paths:
@@ -838,7 +830,7 @@ def _config():
# we make a special scope for spack commands so that they can
# override configuration options.
- cfg.push_scope(InternalConfigScope('command_line'))
+ cfg.push_scope(InternalConfigScope("command_line"))
return cfg
@@ -848,8 +840,7 @@ config = llnl.util.lang.Singleton(_config)
def add_from_file(filename, scope=None):
- """Add updates to a config from a filename
- """
+ """Add updates to a config from a filename"""
import spack.environment as ev
# Get file as config dict
@@ -881,13 +872,13 @@ def add(fullpath, scope=None):
components = process_config_path(fullpath)
has_existing_value = True
- path = ''
+ path = ""
override = False
for idx, name in enumerate(components[:-1]):
# First handle double colons in constructing path
- colon = '::' if override else ':' if path else ''
+ colon = "::" if override else ":" if path else ""
path += colon + name
- if getattr(name, 'override', False):
+ if getattr(name, "override", False):
override = True
else:
override = False
@@ -904,12 +895,12 @@ def add(fullpath, scope=None):
# construct value from this point down
value = syaml.load_config(components[-1])
- for component in reversed(components[idx + 1:-1]):
+ for component in reversed(components[idx + 1 : -1]):
value = {component: value}
break
if has_existing_value:
- path, _, value = fullpath.rpartition(':')
+ path, _, value = fullpath.rpartition(":")
value = syaml.load_config(value)
existing = get(path, scope=scope)
@@ -936,7 +927,7 @@ def set(path, value, scope=None):
def add_default_platform_scope(platform):
- plat_name = os.path.join('defaults', platform)
+ plat_name = os.path.join("defaults", platform)
plat_path = os.path.join(configuration_defaults_path[1], platform)
config.push_scope(ConfigScope(plat_name, plat_path))
@@ -951,7 +942,8 @@ def _validate_section_name(section):
if section not in section_schemas:
raise ConfigSectionError(
"Invalid config section: '%s'. Options are: %s"
- % (section, " ".join(section_schemas.keys())))
+ % (section, " ".join(section_schemas.keys()))
+ )
def validate(data, schema, filename=None):
@@ -973,16 +965,16 @@ def validate(data, schema, filename=None):
if isinstance(test_data, yaml.comments.CommentedMap):
# HACK to fully copy ruamel CommentedMap that doesn't provide copy
# method. Especially necessary for environments
- setattr(test_data,
- yaml.comments.Comment.attrib,
- getattr(data,
- yaml.comments.Comment.attrib,
- yaml.comments.Comment()))
+ setattr(
+ test_data,
+ yaml.comments.Comment.attrib,
+ getattr(data, yaml.comments.Comment.attrib, yaml.comments.Comment()),
+ )
try:
spack.schema.Validator(schema).validate(test_data)
except jsonschema.ValidationError as e:
- if hasattr(e.instance, 'lc'):
+ if hasattr(e.instance, "lc"):
line_number = e.instance.lc.line + 1
else:
line_number = None
@@ -1007,8 +999,7 @@ def read_config_file(filename, schema=None):
return None
elif not os.path.isfile(filename):
- raise ConfigFileError(
- "Invalid configuration. %s exists but is not a file." % filename)
+ raise ConfigFileError("Invalid configuration. %s exists but is not a file." % filename)
elif not os.access(filename, os.R_OK):
raise ConfigFileError("Config file is not readable: %s" % filename)
@@ -1026,16 +1017,13 @@ def read_config_file(filename, schema=None):
return data
except StopIteration:
- raise ConfigFileError(
- "Config file is empty or is not a valid YAML dict: %s" % filename)
+ raise ConfigFileError("Config file is empty or is not a valid YAML dict: %s" % filename)
except MarkedYAMLError as e:
- raise ConfigFileError(
- "Error parsing yaml%s: %s" % (str(e.context_mark), e.problem))
+ raise ConfigFileError("Error parsing yaml%s: %s" % (str(e.context_mark), e.problem))
except IOError as e:
- raise ConfigFileError(
- "Error reading configuration file %s: %s" % (filename, str(e)))
+ raise ConfigFileError("Error reading configuration file %s: %s" % (filename, str(e)))
def _override(string):
@@ -1046,7 +1034,7 @@ def _override(string):
configs instead of merging into them.
"""
- return hasattr(string, 'override') and string.override
+ return hasattr(string, "override") and string.override
def _mark_internal(data, name):
@@ -1055,8 +1043,9 @@ def _mark_internal(data, name):
This is used by `spack config blame` to show where config lines came from.
"""
if isinstance(data, dict):
- d = syaml.syaml_dict((_mark_internal(k, name), _mark_internal(v, name))
- for k, v in data.items())
+ d = syaml.syaml_dict(
+ (_mark_internal(k, name), _mark_internal(v, name)) for k, v in data.items()
+ )
elif isinstance(data, list):
d = syaml.syaml_list(_mark_internal(e, name) for e in data)
else:
@@ -1078,12 +1067,12 @@ def get_valid_type(path):
``int``, ``float``.
"""
types = {
- 'array': list,
- 'object': syaml.syaml_dict,
- 'string': str,
- 'boolean': bool,
- 'integer': int,
- 'number': float
+ "array": list,
+ "object": syaml.syaml_dict,
+ "string": str,
+ "boolean": bool,
+ "integer": int,
+ "number": float,
}
components = process_config_path(path)
@@ -1098,11 +1087,11 @@ def get_valid_type(path):
validate(test_data, section_schemas[section])
except (ConfigFormatError, AttributeError) as e:
jsonschema_error = e.validation_error
- if jsonschema_error.validator == 'type':
+ if jsonschema_error.validator == "type":
return types[jsonschema_error.validator_value]()
- elif jsonschema_error.validator in ('anyOf', 'oneOf'):
+ elif jsonschema_error.validator in ("anyOf", "oneOf"):
for subschema in jsonschema_error.validator_value:
- schema_type = subschema.get('type')
+ schema_type = subschema.get("type")
if schema_type is not None:
return types[schema_type]()
else:
@@ -1127,6 +1116,7 @@ def merge_yaml(dest, source):
with `::` instead of `:`, and the key will override that of the
parent instead of merging.
"""
+
def they_are(t):
return isinstance(dest, t) and isinstance(source, t)
@@ -1176,18 +1166,17 @@ def merge_yaml(dest, source):
#
def process_config_path(path):
result = []
- if path.startswith(':'):
- raise syaml.SpackYAMLError("Illegal leading `:' in path `{0}'".
- format(path), '')
+ if path.startswith(":"):
+ raise syaml.SpackYAMLError("Illegal leading `:' in path `{0}'".format(path), "")
seen_override_in_path = False
while path:
- front, sep, path = path.partition(':')
- if (sep and not path) or path.startswith(':'):
+ front, sep, path = path.partition(":")
+ if (sep and not path) or path.startswith(":"):
if seen_override_in_path:
- raise syaml.SpackYAMLError("Meaningless second override"
- " indicator `::' in path `{0}'".
- format(path), '')
- path = path.lstrip(':')
+ raise syaml.SpackYAMLError(
+ "Meaningless second override" " indicator `::' in path `{0}'".format(path), ""
+ )
+ path = path.lstrip(":")
front = syaml.syaml_str(front)
front.override = True
seen_override_in_path = True
@@ -1198,7 +1187,7 @@ def process_config_path(path):
#
# Settings for commands that modify configuration
#
-def default_modify_scope(section='config'):
+def default_modify_scope(section="config"):
"""Return the config scope that commands should modify by default.
Commands that modify configuration by default modify the *highest*
@@ -1208,7 +1197,7 @@ def default_modify_scope(section='config'):
section (bool): Section for which to get the default scope.
If this is not 'compilers', a general (non-platform) scope is used.
"""
- if section == 'compilers':
+ if section == "compilers":
return spack.config.config.highest_precedence_scope().name
else:
return spack.config.config.highest_precedence_non_platform_scope().name
@@ -1253,7 +1242,7 @@ def ensure_latest_format_fn(section):
# The line below is based on the fact that every module we need
# is already imported at the top level
section_module = getattr(spack.schema, section)
- update_fn = getattr(section_module, 'update', lambda x: False)
+ update_fn = getattr(section_module, "update", lambda x: False)
return update_fn
@@ -1334,21 +1323,21 @@ class ConfigFormatError(ConfigError):
self.filename = filename # record this for ruamel.yaml
# construct location
- location = '<unknown file>'
+ location = "<unknown file>"
if filename:
- location = '%s' % filename
+ location = "%s" % filename
if line is not None:
- location += ':%d' % line
+ location += ":%d" % line
- message = '%s: %s' % (location, validation_error.message)
+ message = "%s: %s" % (location, validation_error.message)
super(ConfigError, self).__init__(message)
def _get_mark(self, validation_error, data):
- """Get the file/line mark fo a validation error from a Spack YAML file.
- """
+ """Get the file/line mark fo a validation error from a Spack YAML file."""
+
def _get_mark_or_first_member_mark(obj):
# mark of object itelf
- mark = getattr(obj, '_start_mark', None)
+ mark = getattr(obj, "_start_mark", None)
if mark:
return mark
@@ -1356,7 +1345,7 @@ class ConfigFormatError(ConfigError):
if isinstance(obj, (list, dict)):
first_member = next(iter(obj), None)
if first_member:
- mark = getattr(first_member, '_start_mark', None)
+ mark = getattr(first_member, "_start_mark", None)
if mark:
return mark
@@ -1384,7 +1373,7 @@ class ConfigFormatError(ConfigError):
elif isinstance(parent, list):
keylist = parent
idx = keylist.index(path[-1])
- mark = getattr(keylist[idx], '_start_mark', None)
+ mark = getattr(keylist[idx], "_start_mark", None)
if mark:
return mark
diff --git a/lib/spack/spack/container/__init__.py b/lib/spack/spack/container/__init__.py
index 196a405dc4..648e245eda 100644
--- a/lib/spack/spack/container/__init__.py
+++ b/lib/spack/spack/container/__init__.py
@@ -13,7 +13,7 @@ import spack.util.spack_yaml as syaml
from .writers import recipe
-__all__ = ['validate', 'recipe']
+__all__ = ["validate", "recipe"]
def validate(configuration_file):
@@ -32,50 +32,56 @@ def validate(configuration_file):
A sanitized copy of the configuration stored in the input file
"""
import jsonschema
+
with open(configuration_file) as f:
config = syaml.load(f)
# Ensure we have a "container" attribute with sensible defaults set
env_dict = ev.config_dict(config)
- env_dict.setdefault('container', {
- 'format': 'docker',
- 'images': {'os': 'ubuntu:18.04', 'spack': 'develop'}
- })
- env_dict['container'].setdefault('format', 'docker')
- env_dict['container'].setdefault(
- 'images', {'os': 'ubuntu:18.04', 'spack': 'develop'}
+ env_dict.setdefault(
+ "container", {"format": "docker", "images": {"os": "ubuntu:18.04", "spack": "develop"}}
)
+ env_dict["container"].setdefault("format", "docker")
+ env_dict["container"].setdefault("images", {"os": "ubuntu:18.04", "spack": "develop"})
# Remove attributes that are not needed / allowed in the
# container recipe
- for subsection in ('cdash', 'gitlab_ci', 'modules'):
+ for subsection in ("cdash", "gitlab_ci", "modules"):
if subsection in env_dict:
- msg = ('the subsection "{0}" in "{1}" is not used when generating'
- ' container recipes and will be discarded')
+ msg = (
+ 'the subsection "{0}" in "{1}" is not used when generating'
+ " container recipes and will be discarded"
+ )
warnings.warn(msg.format(subsection, configuration_file))
env_dict.pop(subsection)
# Set the default value of the concretization strategy to unify and
# warn if the user explicitly set another value
- env_dict.setdefault('concretizer', {'unify': True})
- if not env_dict['concretizer']['unify'] is True:
- warnings.warn('"concretizer:unify" is not set to "true", which means the '
- 'generated image may contain different variants of the same '
- 'packages. Set to "true" to get a consistent set of packages.')
+ env_dict.setdefault("concretizer", {"unify": True})
+ if not env_dict["concretizer"]["unify"] is True:
+ warnings.warn(
+ '"concretizer:unify" is not set to "true", which means the '
+ "generated image may contain different variants of the same "
+ 'packages. Set to "true" to get a consistent set of packages.'
+ )
# Check if the install tree was explicitly set to a custom value and warn
# that it will be overridden
- environment_config = env_dict.get('config', {})
- if environment_config.get('install_tree', None):
- msg = ('the "config:install_tree" attribute has been set explicitly '
- 'and will be overridden in the container image')
+ environment_config = env_dict.get("config", {})
+ if environment_config.get("install_tree", None):
+ msg = (
+ 'the "config:install_tree" attribute has been set explicitly '
+ "and will be overridden in the container image"
+ )
warnings.warn(msg)
# Likewise for the view
- environment_view = env_dict.get('view', None)
+ environment_view = env_dict.get("view", None)
if environment_view:
- msg = ('the "view" attribute has been set explicitly '
- 'and will be overridden in the container image')
+ msg = (
+ 'the "view" attribute has been set explicitly '
+ "and will be overridden in the container image"
+ )
warnings.warn(msg)
jsonschema.validate(config, schema=env.schema)
diff --git a/lib/spack/spack/container/images.py b/lib/spack/spack/container/images.py
index 32c95c950a..de3c686bae 100644
--- a/lib/spack/spack/container/images.py
+++ b/lib/spack/spack/container/images.py
@@ -25,7 +25,7 @@ def data():
global _data
if not _data:
json_dir = os.path.abspath(os.path.dirname(__file__))
- json_file = os.path.join(json_dir, 'images.json')
+ json_file = os.path.join(json_dir, "images.json")
with open(json_file) as f:
_data = json.load(f)
return _data
@@ -45,12 +45,12 @@ def build_info(image, spack_version):
# Don't handle error here, as a wrong image should have been
# caught by the JSON schema
image_data = data()["images"][image]
- build_image = image_data.get('build', None)
+ build_image = image_data.get("build", None)
if not build_image:
return None, None
# Translate version from git to docker if necessary
- build_tag = image_data['build_tags'].get(spack_version, spack_version)
+ build_tag = image_data["build_tags"].get(spack_version, spack_version)
return build_image, build_tag
@@ -72,7 +72,7 @@ def os_package_manager_for(image):
def all_bootstrap_os():
"""Return a list of all the OS that can be used to bootstrap Spack"""
- return list(data()['images'])
+ return list(data()["images"])
def commands_for(package_manager):
@@ -86,7 +86,7 @@ def commands_for(package_manager):
A tuple of (update, install, clean) commands.
"""
info = data()["os_package_managers"][package_manager]
- return info['update'], info['install'], info['clean']
+ return info["update"], info["install"], info["clean"]
def bootstrap_template_for(image):
@@ -97,11 +97,12 @@ def _verify_ref(url, ref, enforce_sha):
# Do a checkout in a temporary directory
msg = 'Cloning "{0}" to verify ref "{1}"'.format(url, ref)
tty.info(msg, stream=sys.stderr)
- git = executable.which('git', required=True)
+ git = executable.which("git", required=True)
with fs.temporary_dir():
- git('clone', '-q', url, '.')
- sha = git('rev-parse', '-q', ref + '^{commit}',
- output=str, error=os.devnull, fail_on_error=False)
+ git("clone", "-q", url, ".")
+ sha = git(
+ "rev-parse", "-q", ref + "^{commit}", output=str, error=os.devnull, fail_on_error=False
+ )
if git.returncode:
msg = '"{0}" is not a valid reference for "{1}"'
raise RuntimeError(msg.format(sha, url))
@@ -121,14 +122,16 @@ def checkout_command(url, ref, enforce_sha, verify):
enforce_sha (bool): if true turns every
verify (bool):
"""
- url = url or 'https://github.com/spack/spack.git'
- ref = ref or 'develop'
+ url = url or "https://github.com/spack/spack.git"
+ ref = ref or "develop"
enforce_sha, verify = bool(enforce_sha), bool(verify)
# If we want to enforce a sha or verify the ref we need
# to checkout the repository locally
if enforce_sha or verify:
ref = _verify_ref(url, ref, enforce_sha)
- command = ('git clone {0} . && git fetch origin {1}:container_branch &&'
- ' git checkout container_branch ').format(url, ref)
+ command = (
+ "git clone {0} . && git fetch origin {1}:container_branch &&"
+ " git checkout container_branch "
+ ).format(url, ref)
return command
diff --git a/lib/spack/spack/container/writers/__init__.py b/lib/spack/spack/container/writers/__init__.py
index 47282763cc..b8ac3dfbe3 100644
--- a/lib/spack/spack/container/writers/__init__.py
+++ b/lib/spack/spack/container/writers/__init__.py
@@ -32,9 +32,11 @@ def writer(name):
properly configured writer that, when called, prints the
corresponding recipe.
"""
+
def _decorator(factory):
_writer_factory[name] = factory
return factory
+
return _decorator
@@ -45,7 +47,7 @@ def create(configuration, last_phase=None):
configuration (dict): how to generate the current recipe
last_phase (str): last phase to be printed or None to print them all
"""
- name = ev.config_dict(configuration)['container']['format']
+ name = ev.config_dict(configuration)["container"]["format"]
return _writer_factory[name](configuration, last_phase)
@@ -66,62 +68,57 @@ def _stage_base_images(images_config):
images_config (dict): configuration under container:images
"""
# If we have custom base images, just return them verbatim.
- build_stage = images_config.get('build', None)
+ build_stage = images_config.get("build", None)
if build_stage:
- final_stage = images_config['final']
+ final_stage = images_config["final"]
return None, build_stage, final_stage
# Check the operating system: this will be the base of the bootstrap
# stage, if there, and of the final stage.
- operating_system = images_config.get('os', None)
+ operating_system = images_config.get("os", None)
# Check the OS is mentioned in the internal data stored in a JSON file
- images_json = data()['images']
+ images_json = data()["images"]
if not any(os_name == operating_system for os_name in images_json):
- msg = ('invalid operating system name "{0}". '
- '[Allowed values are {1}]')
- msg = msg.format(operating_system, ', '.join(data()['images']))
+ msg = 'invalid operating system name "{0}". ' "[Allowed values are {1}]"
+ msg = msg.format(operating_system, ", ".join(data()["images"]))
raise ValueError(msg)
# Retrieve the build stage
- spack_info = images_config['spack']
+ spack_info = images_config["spack"]
if isinstance(spack_info, dict):
- build_stage = 'bootstrap'
+ build_stage = "bootstrap"
else:
- spack_version = images_config['spack']
+ spack_version = images_config["spack"]
image_name, tag = build_info(operating_system, spack_version)
- build_stage = 'bootstrap'
+ build_stage = "bootstrap"
if image_name:
- build_stage = ':'.join([image_name, tag])
+ build_stage = ":".join([image_name, tag])
# Retrieve the bootstrap stage
bootstrap_stage = None
- if build_stage == 'bootstrap':
- bootstrap_stage = images_json[operating_system]['bootstrap'].get(
- 'image', operating_system
- )
+ if build_stage == "bootstrap":
+ bootstrap_stage = images_json[operating_system]["bootstrap"].get("image", operating_system)
# Retrieve the final stage
- final_stage = images_json[operating_system].get(
- 'final', {'image': operating_system}
- )['image']
+ final_stage = images_json[operating_system].get("final", {"image": operating_system})["image"]
return bootstrap_stage, build_stage, final_stage
def _spack_checkout_config(images_config):
- spack_info = images_config['spack']
+ spack_info = images_config["spack"]
- url = 'https://github.com/spack/spack.git'
- ref = 'develop'
+ url = "https://github.com/spack/spack.git"
+ ref = "develop"
resolve_sha, verify = False, False
# Config specific values may override defaults
if isinstance(spack_info, dict):
- url = spack_info.get('url', url)
- ref = spack_info.get('ref', ref)
- resolve_sha = spack_info.get('resolve_sha', resolve_sha)
- verify = spack_info.get('verify', verify)
+ url = spack_info.get("url", url)
+ ref = spack_info.get("ref", ref)
+ resolve_sha = spack_info.get("resolve_sha", resolve_sha)
+ verify = spack_info.get("verify", verify)
else:
ref = spack_info
@@ -133,16 +130,15 @@ class PathContext(tengine.Context):
install software in a common location and make it available
directly via PATH.
"""
+
def __init__(self, config, last_phase):
self.config = ev.config_dict(config)
- self.container_config = self.config['container']
+ self.container_config = self.config["container"]
# Operating system tag as written in the configuration file
- self.operating_system_key = self.container_config['images'].get('os')
+ self.operating_system_key = self.container_config["images"].get("os")
# Get base images and verify the OS
- bootstrap, build, final = _stage_base_images(
- self.container_config['images']
- )
+ bootstrap, build, final = _stage_base_images(self.container_config["images"])
self.bootstrap_image = bootstrap
self.build_image = build
self.final_image = final
@@ -153,31 +149,29 @@ class PathContext(tengine.Context):
@tengine.context_property
def run(self):
"""Information related to the run image."""
- Run = collections.namedtuple('Run', ['image'])
+ Run = collections.namedtuple("Run", ["image"])
return Run(image=self.final_image)
@tengine.context_property
def build(self):
"""Information related to the build image."""
- Build = collections.namedtuple('Build', ['image'])
+ Build = collections.namedtuple("Build", ["image"])
return Build(image=self.build_image)
@tengine.context_property
def strip(self):
"""Whether or not to strip binaries in the image"""
- return self.container_config.get('strip', True)
+ return self.container_config.get("strip", True)
@tengine.context_property
def paths(self):
"""Important paths in the image"""
- Paths = collections.namedtuple('Paths', [
- 'environment', 'store', 'hidden_view', 'view'
- ])
+ Paths = collections.namedtuple("Paths", ["environment", "store", "hidden_view", "view"])
return Paths(
- environment='/opt/spack-environment',
- store='/opt/software',
- hidden_view='/opt/._view',
- view='/opt/view'
+ environment="/opt/spack-environment",
+ store="/opt/software",
+ hidden_view="/opt/._view",
+ view="/opt/view",
)
@tengine.context_property
@@ -187,13 +181,13 @@ class PathContext(tengine.Context):
# Copy in the part of spack.yaml prescribed in the configuration file
manifest = copy.deepcopy(self.config)
- manifest.pop('container')
+ manifest.pop("container")
# Ensure that a few paths are where they need to be
- manifest.setdefault('config', syaml.syaml_dict())
- manifest['config']['install_tree'] = self.paths.store
- manifest['view'] = self.paths.view
- manifest = {'spack': manifest}
+ manifest.setdefault("config", syaml.syaml_dict())
+ manifest["config"]["install_tree"] = self.paths.store
+ manifest["view"] = self.paths.view
+ manifest = {"spack": manifest}
# Validate the manifest file
jsonschema.validate(manifest, schema=spack.schema.env.schema)
@@ -203,21 +197,21 @@ class PathContext(tengine.Context):
@tengine.context_property
def os_packages_final(self):
"""Additional system packages that are needed at run-time."""
- return self._os_packages_for_stage('final')
+ return self._os_packages_for_stage("final")
@tengine.context_property
def os_packages_build(self):
"""Additional system packages that are needed at build-time."""
- return self._os_packages_for_stage('build')
+ return self._os_packages_for_stage("build")
@tengine.context_property
def os_package_update(self):
"""Whether or not to update the OS package manager cache."""
- os_packages = self.container_config.get('os_packages', {})
- return os_packages.get('update', True)
+ os_packages = self.container_config.get("os_packages", {})
+ return os_packages.get("update", True)
def _os_packages_for_stage(self, stage):
- os_packages = self.container_config.get('os_packages', {})
+ os_packages = self.container_config.get("os_packages", {})
package_list = os_packages.get(stage, None)
return self._package_info_from(package_list)
@@ -235,65 +229,53 @@ class PathContext(tengine.Context):
if not package_list:
return package_list
- image_config = self.container_config['images']
- image = image_config.get('build', None)
+ image_config = self.container_config["images"]
+ image = image_config.get("build", None)
if image is None:
- os_pkg_manager = os_package_manager_for(image_config['os'])
+ os_pkg_manager = os_package_manager_for(image_config["os"])
else:
- os_pkg_manager = self.container_config['os_packages']['command']
+ os_pkg_manager = self.container_config["os_packages"]["command"]
update, install, clean = commands_for(os_pkg_manager)
- Packages = collections.namedtuple(
- 'Packages', ['update', 'install', 'list', 'clean']
- )
- return Packages(update=update, install=install,
- list=package_list, clean=clean)
+ Packages = collections.namedtuple("Packages", ["update", "install", "list", "clean"])
+ return Packages(update=update, install=install, list=package_list, clean=clean)
@tengine.context_property
def extra_instructions(self):
- Extras = collections.namedtuple('Extra', ['build', 'final'])
- extras = self.container_config.get('extra_instructions', {})
- build, final = extras.get('build', None), extras.get('final', None)
+ Extras = collections.namedtuple("Extra", ["build", "final"])
+ extras = self.container_config.get("extra_instructions", {})
+ build, final = extras.get("build", None), extras.get("final", None)
return Extras(build=build, final=final)
@tengine.context_property
def labels(self):
- return self.container_config.get('labels', {})
+ return self.container_config.get("labels", {})
@tengine.context_property
def bootstrap(self):
"""Information related to the build image."""
- images_config = self.container_config['images']
+ images_config = self.container_config["images"]
bootstrap_recipe = None
if self.bootstrap_image:
config_args = _spack_checkout_config(images_config)
command = checkout_command(*config_args)
template_path = bootstrap_template_for(self.operating_system_key)
env = tengine.make_environment()
- context = {"bootstrap": {
- "image": self.bootstrap_image,
- "spack_checkout": command
- }}
+ context = {"bootstrap": {"image": self.bootstrap_image, "spack_checkout": command}}
bootstrap_recipe = env.get_template(template_path).render(**context)
- Bootstrap = collections.namedtuple('Bootstrap', ['image', 'recipe'])
+ Bootstrap = collections.namedtuple("Bootstrap", ["image", "recipe"])
return Bootstrap(image=self.bootstrap_image, recipe=bootstrap_recipe)
@tengine.context_property
def render_phase(self):
render_bootstrap = bool(self.bootstrap_image)
- render_build = not (self.last_phase == 'bootstrap')
- render_final = self.last_phase in (None, 'final')
- Render = collections.namedtuple(
- 'Render', ['bootstrap', 'build', 'final']
- )
- return Render(
- bootstrap=render_bootstrap,
- build=render_build,
- final=render_final
- )
+ render_build = not (self.last_phase == "bootstrap")
+ render_final = self.last_phase in (None, "final")
+ Render = collections.namedtuple("Render", ["bootstrap", "build", "final"])
+ return Render(bootstrap=render_bootstrap, build=render_build, final=render_final)
def __call__(self):
"""Returns the recipe as a string"""
@@ -302,7 +284,8 @@ class PathContext(tengine.Context):
return t.render(**self.to_dict())
+import spack.container.writers.docker # noqa: E402
+
# Import after function definition all the modules in this package,
# so that registration of writers will happen automatically
import spack.container.writers.singularity # noqa: E402
-import spack.container.writers.docker # noqa: E402
diff --git a/lib/spack/spack/container/writers/docker.py b/lib/spack/spack/container/writers/docker.py
index 3c641c464b..9c6e95adb2 100644
--- a/lib/spack/spack/container/writers/docker.py
+++ b/lib/spack/spack/container/writers/docker.py
@@ -7,11 +7,12 @@ import spack.tengine as tengine
from . import PathContext, writer
-@writer('docker')
+@writer("docker")
class DockerContext(PathContext):
"""Context used to instantiate a Dockerfile"""
+
#: Name of the template used for Dockerfiles
- template_name = 'container/Dockerfile'
+ template_name = "container/Dockerfile"
@tengine.context_property
def manifest(self):
@@ -19,12 +20,12 @@ class DockerContext(PathContext):
# Docker doesn't support HEREDOC so we need to resort to
# a horrible echo trick to have the manifest in the Dockerfile
echoed_lines = []
- for idx, line in enumerate(manifest_str.split('\n')):
+ for idx, line in enumerate(manifest_str.split("\n")):
if idx == 0:
echoed_lines.append('&& (echo "' + line + '" \\')
continue
echoed_lines.append('&& echo "' + line + '" \\')
- echoed_lines[-1] = echoed_lines[-1].replace(' \\', ')')
+ echoed_lines[-1] = echoed_lines[-1].replace(" \\", ")")
- return '\n'.join(echoed_lines)
+ return "\n".join(echoed_lines)
diff --git a/lib/spack/spack/container/writers/singularity.py b/lib/spack/spack/container/writers/singularity.py
index 7fb3813f73..ad5c85b7a9 100644
--- a/lib/spack/spack/container/writers/singularity.py
+++ b/lib/spack/spack/container/writers/singularity.py
@@ -7,28 +7,29 @@ import spack.tengine as tengine
from . import PathContext, writer
-@writer('singularity')
+@writer("singularity")
class SingularityContext(PathContext):
"""Context used to instantiate a Singularity definition file"""
+
#: Name of the template used for Singularity definition files
- template_name = 'container/singularity.def'
+ template_name = "container/singularity.def"
@property
def singularity_config(self):
- return self.container_config.get('singularity', {})
+ return self.container_config.get("singularity", {})
@tengine.context_property
def runscript(self):
- return self.singularity_config.get('runscript', '')
+ return self.singularity_config.get("runscript", "")
@tengine.context_property
def startscript(self):
- return self.singularity_config.get('startscript', '')
+ return self.singularity_config.get("startscript", "")
@tengine.context_property
def test(self):
- return self.singularity_config.get('test', '')
+ return self.singularity_config.get("test", "")
@tengine.context_property
def help(self):
- return self.singularity_config.get('help', '')
+ return self.singularity_config.get("help", "")
diff --git a/lib/spack/spack/cray_manifest.py b/lib/spack/spack/cray_manifest.py
index fa9c061d0c..15b0d9293b 100644
--- a/lib/spack/spack/cray_manifest.py
+++ b/lib/spack/spack/cray_manifest.py
@@ -16,11 +16,11 @@ from spack.schema.cray_manifest import schema as manifest_schema
#: Cray systems can store a Spack-compatible description of system
#: packages here.
-default_path = '/opt/cray/pe/cpe-descriptive-manifest/'
+default_path = "/opt/cray/pe/cpe-descriptive-manifest/"
compiler_name_translation = {
- 'nvidia': 'nvhpc',
- 'rocm': 'rocmcc',
+ "nvidia": "nvhpc",
+ "rocm": "rocmcc",
}
@@ -40,97 +40,93 @@ def translated_compiler_name(manifest_compiler_name):
return manifest_compiler_name
else:
raise spack.compilers.UnknownCompilerError(
- "Manifest parsing - unknown compiler: {0}"
- .format(manifest_compiler_name))
+ "Manifest parsing - unknown compiler: {0}".format(manifest_compiler_name)
+ )
def compiler_from_entry(entry):
- compiler_name = translated_compiler_name(entry['name'])
- paths = entry['executables']
- version = entry['version']
- arch = entry['arch']
- operating_system = arch['os']
- target = arch['target']
+ compiler_name = translated_compiler_name(entry["name"])
+ paths = entry["executables"]
+ version = entry["version"]
+ arch = entry["arch"]
+ operating_system = arch["os"]
+ target = arch["target"]
compiler_cls = spack.compilers.class_for_compiler_name(compiler_name)
spec = spack.spec.CompilerSpec(compiler_cls.name, version)
- paths = [paths.get(x, None) for x in ('cc', 'cxx', 'f77', 'fc')]
- return compiler_cls(
- spec, operating_system, target, paths
- )
+ paths = [paths.get(x, None) for x in ("cc", "cxx", "f77", "fc")]
+ return compiler_cls(spec, operating_system, target, paths)
def spec_from_entry(entry):
arch_str = ""
- if 'arch' in entry:
+ if "arch" in entry:
arch_format = "arch={platform}-{os}-{target}"
arch_str = arch_format.format(
- platform=entry['arch']['platform'],
- os=entry['arch']['platform_os'],
- target=entry['arch']['target']['name']
+ platform=entry["arch"]["platform"],
+ os=entry["arch"]["platform_os"],
+ target=entry["arch"]["target"]["name"],
)
compiler_str = ""
- if 'compiler' in entry:
- compiler_format = "%{name}@{version}"
+ if "compiler" in entry:
+ compiler_format = "%{name}@{version}"
compiler_str = compiler_format.format(
- name=translated_compiler_name(entry['compiler']['name']),
- version=entry['compiler']['version']
+ name=translated_compiler_name(entry["compiler"]["name"]),
+ version=entry["compiler"]["version"],
)
spec_format = "{name}@{version} {compiler} {arch}"
spec_str = spec_format.format(
- name=entry['name'],
- version=entry['version'],
- compiler=compiler_str,
- arch=arch_str
+ name=entry["name"], version=entry["version"], compiler=compiler_str, arch=arch_str
)
- pkg_cls = spack.repo.path.get_pkg_class(entry['name'])
+ pkg_cls = spack.repo.path.get_pkg_class(entry["name"])
- if 'parameters' in entry:
+ if "parameters" in entry:
variant_strs = list()
- for name, value in entry['parameters'].items():
+ for name, value in entry["parameters"].items():
# TODO: also ensure that the variant value is valid?
if not (name in pkg_cls.variants):
- tty.debug("Omitting variant {0} for entry {1}/{2}"
- .format(name, entry['name'], entry['hash'][:7]))
+ tty.debug(
+ "Omitting variant {0} for entry {1}/{2}".format(
+ name, entry["name"], entry["hash"][:7]
+ )
+ )
continue
# Value could be a list (of strings), boolean, or string
if isinstance(value, six.string_types):
- variant_strs.append('{0}={1}'.format(name, value))
+ variant_strs.append("{0}={1}".format(name, value))
else:
try:
iter(value)
- variant_strs.append(
- '{0}={1}'.format(name, ','.join(value)))
+ variant_strs.append("{0}={1}".format(name, ",".join(value)))
continue
except TypeError:
# Not an iterable
pass
# At this point not a string or collection, check for boolean
if value in [True, False]:
- bool_symbol = '+' if value else '~'
- variant_strs.append('{0}{1}'.format(bool_symbol, name))
+ bool_symbol = "+" if value else "~"
+ variant_strs.append("{0}{1}".format(bool_symbol, name))
else:
raise ValueError(
"Unexpected value for {0} ({1}): {2}".format(
name, str(type(value)), str(value)
)
)
- spec_str += ' ' + ' '.join(variant_strs)
+ spec_str += " " + " ".join(variant_strs)
- spec, = spack.cmd.parse_specs(spec_str.split())
+ (spec,) = spack.cmd.parse_specs(spec_str.split())
- for ht in [hash_types.dag_hash, hash_types.build_hash,
- hash_types.full_hash]:
- setattr(spec, ht.attr, entry['hash'])
+ for ht in [hash_types.dag_hash, hash_types.build_hash, hash_types.full_hash]:
+ setattr(spec, ht.attr, entry["hash"])
spec._concrete = True
spec._hashes_final = True
- spec.external_path = entry['prefix']
- spec.origin = 'external-db'
+ spec.external_path = entry["prefix"]
+ spec.origin = "external-db"
spack.spec.Spec.ensure_valid_variants(spec)
return spec
@@ -143,22 +139,21 @@ def entries_to_specs(entries):
spec = spec_from_entry(entry)
spec_dict[spec._hash] = spec
except spack.repo.UnknownPackageError:
- tty.debug("Omitting package {0}: no corresponding repo package"
- .format(entry['name']))
+ tty.debug("Omitting package {0}: no corresponding repo package".format(entry["name"]))
except spack.error.SpackError:
raise
except Exception:
tty.warn("Could not parse entry: " + str(entry))
- for entry in filter(lambda x: 'dependencies' in x, entries):
- dependencies = entry['dependencies']
+ for entry in filter(lambda x: "dependencies" in x, entries):
+ dependencies = entry["dependencies"]
for name, properties in dependencies.items():
- dep_hash = properties['hash']
- deptypes = properties['type']
+ dep_hash = properties["hash"]
+ deptypes = properties["type"]
if dep_hash in spec_dict:
- if entry['hash'] not in spec_dict:
+ if entry["hash"] not in spec_dict:
continue
- parent_spec = spec_dict[entry['hash']]
+ parent_spec = spec_dict[entry["hash"]]
dep_spec = spec_dict[dep_hash]
parent_spec._add_dependency(dep_spec, deptypes)
@@ -166,27 +161,21 @@ def entries_to_specs(entries):
def read(path, apply_updates):
- with open(path, 'r') as json_file:
+ with open(path, "r") as json_file:
json_data = json.load(json_file)
jsonschema.validate(json_data, manifest_schema)
- specs = entries_to_specs(json_data['specs'])
- tty.debug("{0}: {1} specs read from manifest".format(
- path,
- str(len(specs))))
+ specs = entries_to_specs(json_data["specs"])
+ tty.debug("{0}: {1} specs read from manifest".format(path, str(len(specs))))
compilers = list()
- if 'compilers' in json_data:
- compilers.extend(compiler_from_entry(x)
- for x in json_data['compilers'])
- tty.debug("{0}: {1} compilers read from manifest".format(
- path,
- str(len(compilers))))
+ if "compilers" in json_data:
+ compilers.extend(compiler_from_entry(x) for x in json_data["compilers"])
+ tty.debug("{0}: {1} compilers read from manifest".format(path, str(len(compilers))))
# Filter out the compilers that already appear in the configuration
compilers = spack.compilers.select_new_compilers(compilers)
if apply_updates and compilers:
- spack.compilers.add_compilers_to_config(
- compilers, init_config=False)
+ spack.compilers.add_compilers_to_config(compilers, init_config=False)
if apply_updates:
for spec in specs.values():
spack.store.db.add(spec, directory_layout=None)
diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py
index c56e07ca0a..c8943d70ad 100644
--- a/lib/spack/spack/database.py
+++ b/lib/spack/spack/database.py
@@ -32,6 +32,7 @@ import six
try:
import uuid
+
_use_uuid = True
except ImportError:
_use_uuid = False
@@ -57,12 +58,12 @@ from spack.version import Version
# TODO: clearing a failure.
# DB goes in this directory underneath the root
-_db_dirname = '.spack-db'
+_db_dirname = ".spack-db"
# DB version. This is stuck in the DB file to track changes in format.
# Increment by one when the database format changes.
# Versions before 5 were not integers.
-_db_version = Version('6')
+_db_version = Version("6")
# For any version combinations here, skip reindex when upgrading.
# Reindexing can take considerable time and is not always necessary.
@@ -72,8 +73,8 @@ _skip_reindex = [
# only difference is that v5 can contain "deprecated_for"
# fields. So, skip the reindex for this transition. The new
# version is saved to disk the first time the DB is written.
- (Version('0.9.3'), Version('5')),
- (Version('5'), Version('6'))
+ (Version("0.9.3"), Version("5")),
+ (Version("5"), Version("6")),
]
# Default timeout for spack database locks in seconds or None (no timeout).
@@ -96,13 +97,13 @@ _tracked_deps = ht.dag_hash.deptype
# Default list of fields written for each install record
default_install_record_fields = [
- 'spec',
- 'ref_count',
- 'path',
- 'installed',
- 'explicit',
- 'installation_time',
- 'deprecated_for',
+ "spec",
+ "ref_count",
+ "path",
+ "installed",
+ "explicit",
+ "installation_time",
+ "deprecated_for",
]
@@ -113,7 +114,7 @@ def _now():
def _autospec(function):
"""Decorator that automatically converts the argument of a single-arg
- function to a Spec."""
+ function to a Spec."""
def converter(self, spec_like, *args, **kwargs):
if not isinstance(spec_like, spack.spec.Spec):
@@ -128,9 +129,9 @@ class InstallStatus(str):
class InstallStatuses(object):
- INSTALLED = InstallStatus('installed')
- DEPRECATED = InstallStatus('deprecated')
- MISSING = InstallStatus('missing')
+ INSTALLED = InstallStatus("installed")
+ DEPRECATED = InstallStatus("deprecated")
+ MISSING = InstallStatus("missing")
@classmethod
def canonicalize(cls, query_arg):
@@ -148,8 +149,9 @@ class InstallStatuses(object):
raise TypeError
except TypeError:
raise TypeError(
- 'installation query must be `any`, boolean, '
- 'InstallStatus, or iterable of InstallStatus')
+ "installation query must be `any`, boolean, "
+ "InstallStatus, or iterable of InstallStatus"
+ )
return query_arg
@@ -179,16 +181,16 @@ class InstallRecord(object):
"""
def __init__(
- self,
- spec,
- path,
- installed,
- ref_count=0,
- explicit=False,
- installation_time=None,
- deprecated_for=None,
- in_buildcache=False,
- origin=None
+ self,
+ spec,
+ path,
+ installed,
+ ref_count=0,
+ explicit=False,
+ installation_time=None,
+ deprecated_for=None,
+ in_buildcache=False,
+ origin=None,
):
self.spec = spec
self.path = str(path) if path else None
@@ -213,29 +215,29 @@ class InstallRecord(object):
rec_dict = {}
for field_name in include_fields:
- if field_name == 'spec':
- rec_dict.update({'spec': self.spec.node_dict_with_hashes()})
- elif field_name == 'deprecated_for' and self.deprecated_for:
- rec_dict.update({'deprecated_for': self.deprecated_for})
+ if field_name == "spec":
+ rec_dict.update({"spec": self.spec.node_dict_with_hashes()})
+ elif field_name == "deprecated_for" and self.deprecated_for:
+ rec_dict.update({"deprecated_for": self.deprecated_for})
else:
rec_dict.update({field_name: getattr(self, field_name)})
if self.origin:
- rec_dict['origin'] = self.origin
+ rec_dict["origin"] = self.origin
return rec_dict
@classmethod
def from_dict(cls, spec, dictionary):
d = dict(dictionary.items())
- d.pop('spec', None)
+ d.pop("spec", None)
# Old databases may have "None" for path for externals
- if 'path' not in d or d['path'] == 'None':
- d['path'] = None
+ if "path" not in d or d["path"] == "None":
+ d["path"] = None
- if 'installed' not in d:
- d['installed'] = False
+ if "installed" not in d:
+ d["installed"] = False
return InstallRecord(spec, **d)
@@ -246,8 +248,7 @@ class ForbiddenLockError(SpackError):
class ForbiddenLock(object):
def __getattribute__(self, name):
- raise ForbiddenLockError(
- "Cannot access attribute '{0}' of lock".format(name))
+ raise ForbiddenLockError("Cannot access attribute '{0}' of lock".format(name))
_query_docstring = """
@@ -302,14 +303,21 @@ _query_docstring = """
class Database(object):
"""Per-process lock objects for each install prefix."""
+
_prefix_locks = {} # type: Dict[str, lk.Lock]
"""Per-process failure (lock) objects for each install prefix."""
_prefix_failures = {} # type: Dict[str, lk.Lock]
- def __init__(self, root, db_dir=None, upstream_dbs=None,
- is_upstream=False, enable_transaction_locking=True,
- record_fields=default_install_record_fields):
+ def __init__(
+ self,
+ root,
+ db_dir=None,
+ upstream_dbs=None,
+ is_upstream=False,
+ enable_transaction_locking=True,
+ record_fields=default_install_record_fields,
+ ):
"""Create a Database for Spack installations under ``root``.
A Database is a cache of Specs data from ``$prefix/spec.yaml``
@@ -340,20 +348,20 @@ class Database(object):
self._db_dir = db_dir or os.path.join(self.root, _db_dirname)
# Set up layout of database files within the db dir
- self._index_path = os.path.join(self._db_dir, 'index.json')
- self._verifier_path = os.path.join(self._db_dir, 'index_verifier')
- self._lock_path = os.path.join(self._db_dir, 'lock')
+ self._index_path = os.path.join(self._db_dir, "index.json")
+ self._verifier_path = os.path.join(self._db_dir, "index_verifier")
+ self._lock_path = os.path.join(self._db_dir, "lock")
# This is for other classes to use to lock prefix directories.
- self.prefix_lock_path = os.path.join(self._db_dir, 'prefix_lock')
+ self.prefix_lock_path = os.path.join(self._db_dir, "prefix_lock")
# Ensure a persistent location for dealing with parallel installation
# failures (e.g., across near-concurrent processes).
- self._failure_dir = os.path.join(self._db_dir, 'failures')
+ self._failure_dir = os.path.join(self._db_dir, "failures")
# Support special locks for handling parallel installation failures
# of a spec.
- self.prefix_fail_path = os.path.join(self._db_dir, 'prefix_failures')
+ self.prefix_fail_path = os.path.join(self._db_dir, "prefix_failures")
# Create needed directories and files
if not is_upstream and not os.path.exists(self._db_dir):
@@ -363,7 +371,7 @@ class Database(object):
fs.mkdirp(self._failure_dir)
self.is_upstream = is_upstream
- self.last_seen_verifier = ''
+ self.last_seen_verifier = ""
# Failed write transactions (interrupted by exceptions) will alert
# _write. When that happens, we set this flag to indicate that
# future read/write transactions should re-read the DB. Normally it
@@ -374,24 +382,24 @@ class Database(object):
self._state_is_inconsistent = False
# initialize rest of state.
- self.db_lock_timeout = (
- spack.config.get('config:db_lock_timeout') or _db_lock_timeout)
+ self.db_lock_timeout = spack.config.get("config:db_lock_timeout") or _db_lock_timeout
self.package_lock_timeout = (
- spack.config.get('config:package_lock_timeout') or
- _pkg_lock_timeout)
- tty.debug('DATABASE LOCK TIMEOUT: {0}s'.format(
- str(self.db_lock_timeout)))
- timeout_format_str = ('{0}s'.format(str(self.package_lock_timeout))
- if self.package_lock_timeout else 'No timeout')
- tty.debug('PACKAGE LOCK TIMEOUT: {0}'.format(
- str(timeout_format_str)))
+ spack.config.get("config:package_lock_timeout") or _pkg_lock_timeout
+ )
+ tty.debug("DATABASE LOCK TIMEOUT: {0}s".format(str(self.db_lock_timeout)))
+ timeout_format_str = (
+ "{0}s".format(str(self.package_lock_timeout))
+ if self.package_lock_timeout
+ else "No timeout"
+ )
+ tty.debug("PACKAGE LOCK TIMEOUT: {0}".format(str(timeout_format_str)))
if self.is_upstream:
self.lock = ForbiddenLock()
else:
- self.lock = lk.Lock(self._lock_path,
- default_timeout=self.db_lock_timeout,
- desc='database')
+ self.lock = lk.Lock(
+ self._lock_path, default_timeout=self.db_lock_timeout, desc="database"
+ )
self._data = {}
# For every installed spec we keep track of its install prefix, so that
@@ -420,8 +428,7 @@ class Database(object):
def write_transaction(self):
"""Get a write lock context manager for use in a `with` block."""
- return self._write_transaction_impl(
- self.lock, acquire=self._read, release=self._write)
+ return self._write_transaction_impl(self.lock, acquire=self._read, release=self._write)
def read_transaction(self):
"""Get a read lock context manager for use in a `with` block."""
@@ -430,28 +437,27 @@ class Database(object):
def _failed_spec_path(self, spec):
"""Return the path to the spec's failure file, which may not exist."""
if not spec.concrete:
- raise ValueError('Concrete spec required for failure path for {0}'
- .format(spec.name))
+ raise ValueError("Concrete spec required for failure path for {0}".format(spec.name))
- return os.path.join(self._failure_dir,
- '{0}-{1}'.format(spec.name, spec.dag_hash()))
+ return os.path.join(self._failure_dir, "{0}-{1}".format(spec.name, spec.dag_hash()))
def clear_all_failures(self):
"""Force remove install failure tracking files."""
- tty.debug('Releasing prefix failure locks')
+ tty.debug("Releasing prefix failure locks")
for pkg_id in list(self._prefix_failures.keys()):
lock = self._prefix_failures.pop(pkg_id, None)
if lock:
lock.release_write()
# Remove all failure markings (aka files)
- tty.debug('Removing prefix failure tracking files')
+ tty.debug("Removing prefix failure tracking files")
for fail_mark in os.listdir(self._failure_dir):
try:
os.remove(os.path.join(self._failure_dir, fail_mark))
except OSError as exc:
- tty.warn('Unable to remove failure marking file {0}: {1}'
- .format(fail_mark, str(exc)))
+ tty.warn(
+ "Unable to remove failure marking file {0}: {1}".format(fail_mark, str(exc))
+ )
def clear_failure(self, spec, force=False):
"""
@@ -469,13 +475,11 @@ class Database(object):
"""
failure_locked = self.prefix_failure_locked(spec)
if failure_locked and not force:
- tty.msg('Retaining failure marking for {0} due to lock'
- .format(spec.name))
+ tty.msg("Retaining failure marking for {0} due to lock".format(spec.name))
return
if failure_locked:
- tty.warn('Removing failure marking despite lock for {0}'
- .format(spec.name))
+ tty.warn("Removing failure marking despite lock for {0}".format(spec.name))
lock = self._prefix_failures.pop(spec.prefix, None)
if lock:
@@ -484,11 +488,14 @@ class Database(object):
if self.prefix_failure_marked(spec):
try:
path = self._failed_spec_path(spec)
- tty.debug('Removing failure marking for {0}'.format(spec.name))
+ tty.debug("Removing failure marking for {0}".format(spec.name))
os.remove(path)
except OSError as err:
- tty.warn('Unable to remove failure marking for {0} ({1}): {2}'
- .format(spec.name, path, str(err)))
+ tty.warn(
+ "Unable to remove failure marking for {0} ({1}): {2}".format(
+ spec.name, path, str(err)
+ )
+ )
def mark_failed(self, spec):
"""
@@ -507,12 +514,12 @@ class Database(object):
"""
# Dump the spec to the failure file for (manual) debugging purposes
path = self._failed_spec_path(spec)
- with open(path, 'w') as f:
+ with open(path, "w") as f:
spec.to_json(f)
# Also ensure a failure lock is taken to prevent cleanup removal
# of failure status information during a concurrent parallel build.
- err = 'Unable to mark {0.name} as failed.'
+ err = "Unable to mark {0.name} as failed."
prefix = spec.prefix
if prefix not in self._prefix_failures:
@@ -520,15 +527,18 @@ class Database(object):
self.prefix_fail_path,
start=spec.dag_hash_bit_prefix(bit_length(sys.maxsize)),
length=1,
- default_timeout=self.package_lock_timeout, desc=spec.name)
+ default_timeout=self.package_lock_timeout,
+ desc=spec.name,
+ )
try:
mark.acquire_write()
except lk.LockTimeoutError:
# Unlikely that another process failed to install at the same
# time but log it anyway.
- tty.debug('PID {0} failed to mark install failure for {1}'
- .format(os.getpid(), spec.name))
+ tty.debug(
+ "PID {0} failed to mark install failure for {1}".format(os.getpid(), spec.name)
+ )
tty.warn(err.format(spec))
# Whether we or another process marked it as a failure, track it
@@ -558,7 +568,9 @@ class Database(object):
self.prefix_fail_path,
start=spec.dag_hash_bit_prefix(bit_length(sys.maxsize)),
length=1,
- default_timeout=self.package_lock_timeout, desc=spec.name)
+ default_timeout=self.package_lock_timeout,
+ desc=spec.name,
+ )
return check.is_write_locked()
@@ -588,7 +600,9 @@ class Database(object):
self.prefix_lock_path,
start=spec.dag_hash_bit_prefix(bit_length(sys.maxsize)),
length=1,
- default_timeout=timeout, desc=spec.name)
+ default_timeout=timeout,
+ desc=spec.name,
+ )
elif timeout != self._prefix_locks[prefix].default_timeout:
self._prefix_locks[prefix].default_timeout = timeout
@@ -635,8 +649,9 @@ class Database(object):
This function does not do any locking or transactions.
"""
# map from per-spec hash code to installation record.
- installs = dict((k, v.to_dict(include_fields=self._record_fields))
- for k, v in self._data.items())
+ installs = dict(
+ (k, v.to_dict(include_fields=self._record_fields)) for k, v in self._data.items()
+ )
# database includes installation list and version.
@@ -645,13 +660,12 @@ class Database(object):
# different paths, it can't differentiate.
# TODO: fix this before we support multiple install locations.
database = {
- 'database': {
+ "database": {
# TODO: move this to a top-level _meta section if we ever
# TODO: bump the DB version to 7
- 'version': str(_db_version),
-
+ "version": str(_db_version),
# dictionary of installation records, keyed by DAG hash
- 'installs': installs,
+ "installs": installs,
}
}
@@ -665,14 +679,14 @@ class Database(object):
Does not do any locking.
"""
- spec_dict = installs[hash_key]['spec']
+ spec_dict = installs[hash_key]["spec"]
# Install records don't include hash with spec, so we add it in here
# to ensure it is read properly.
- if 'name' not in spec_dict.keys():
+ if "name" not in spec_dict.keys():
# old format, can't update format here
for name in spec_dict:
- spec_dict[name]['hash'] = hash_key
+ spec_dict[name]["hash"] = hash_key
else:
# new format, already a singleton
spec_dict[hash.name] = hash_key
@@ -713,14 +727,13 @@ class Database(object):
# Add dependencies from other records in the install DB to
# form a full spec.
spec = data[hash_key].spec
- spec_node_dict = installs[hash_key]['spec']
- if 'name' not in spec_node_dict:
+ spec_node_dict = installs[hash_key]["spec"]
+ if "name" not in spec_node_dict:
# old format
spec_node_dict = spec_node_dict[spec.name]
- if 'dependencies' in spec_node_dict:
- yaml_deps = spec_node_dict['dependencies']
- for dname, dhash, dtypes, _ in spack.spec.Spec.read_yaml_dep_specs(
- yaml_deps):
+ if "dependencies" in spec_node_dict:
+ yaml_deps = spec_node_dict["dependencies"]
+ for dname, dhash, dtypes, _ in spack.spec.Spec.read_yaml_dep_specs(yaml_deps):
# It is important that we always check upstream installations
# in the same order, and that we always check the local
# installation first: if a downstream Spack installs a package
@@ -733,10 +746,11 @@ class Database(object):
child = record.spec if record else None
if not child:
- msg = ("Missing dependency not in database: "
- "%s needs %s-%s" % (
- spec.cformat('{name}{/hash:7}'),
- dname, dhash[:7]))
+ msg = "Missing dependency not in database: " "%s needs %s-%s" % (
+ spec.cformat("{name}{/hash:7}"),
+ dname,
+ dhash[:7],
+ )
if self._fail_when_missing_deps:
raise MissingDependenciesError(msg)
tty.warn(msg)
@@ -751,7 +765,7 @@ class Database(object):
Does not do any locking.
"""
try:
- with open(filename, 'r') as f:
+ with open(filename, "r") as f:
fdata = sjson.load(f)
except Exception as e:
raise six.raise_from(
@@ -764,27 +778,23 @@ class Database(object):
def check(cond, msg):
if not cond:
- raise CorruptDatabaseError(
- "Spack database is corrupt: %s" % msg, self._index_path)
+ raise CorruptDatabaseError("Spack database is corrupt: %s" % msg, self._index_path)
- check('database' in fdata, "no 'database' attribute in JSON DB.")
+ check("database" in fdata, "no 'database' attribute in JSON DB.")
# High-level file checks
- db = fdata['database']
- check('installs' in db, "no 'installs' in JSON DB.")
- check('version' in db, "no 'version' in JSON DB.")
+ db = fdata["database"]
+ check("installs" in db, "no 'installs' in JSON DB.")
+ check("version" in db, "no 'version' in JSON DB.")
- installs = db['installs']
+ installs = db["installs"]
# TODO: better version checking semantics.
- version = Version(db['version'])
+ version = Version(db["version"])
if version > _db_version:
raise InvalidDatabaseVersionError(_db_version, version)
elif version < _db_version:
- if not any(
- old == version and new == _db_version
- for old, new in _skip_reindex
- ):
+ if not any(old == version and new == _db_version for old, new in _skip_reindex):
tty.warn(
"Spack database version changed from %s to %s. Upgrading."
% (version, _db_version)
@@ -797,8 +807,7 @@ class Database(object):
)
def invalid_record(hash_key, error):
- msg = ("Invalid record in Spack database: "
- "hash: %s, cause: %s: %s")
+ msg = "Invalid record in Spack database: " "hash: %s, cause: %s: %s"
msg %= (hash_key, type(error).__name__, str(error))
raise CorruptDatabaseError(msg, self._index_path)
@@ -825,8 +834,8 @@ class Database(object):
# this?
data[hash_key] = InstallRecord.from_dict(spec, rec)
- if not spec.external and 'installed' in rec and rec['installed']:
- installed_prefixes.add(rec['path'])
+ if not spec.external and "installed" in rec and rec["installed"]:
+ installed_prefixes.add(rec["path"])
except Exception as e:
invalid_record(hash_key, e)
@@ -856,8 +865,7 @@ class Database(object):
Locks the DB if it isn't locked already.
"""
if self.is_upstream:
- raise UpstreamDatabaseLockingError(
- "Cannot reindex an upstream database")
+ raise UpstreamDatabaseLockingError("Cannot reindex an upstream database")
# Special transaction to avoid recursive reindex calls and to
# ignore errors if we need to rebuild a corrupt database.
@@ -876,32 +884,27 @@ class Database(object):
with transaction:
if self._error:
- tty.warn(
- "Spack database was corrupt. Will rebuild. Error was:",
- str(self._error)
- )
+ tty.warn("Spack database was corrupt. Will rebuild. Error was:", str(self._error))
self._error = None
old_data = self._data
old_installed_prefixes = self._installed_prefixes
try:
- self._construct_from_directory_layout(
- directory_layout, old_data)
+ self._construct_from_directory_layout(directory_layout, old_data)
except BaseException:
# If anything explodes, restore old data, skip write.
self._data = old_data
self._installed_prefixes = old_installed_prefixes
raise
- def _construct_entry_from_directory_layout(self, directory_layout,
- old_data, spec,
- deprecator=None):
+ def _construct_entry_from_directory_layout(
+ self, directory_layout, old_data, spec, deprecator=None
+ ):
# Try to recover explicit value from old DB, but
# default it to True if DB was corrupt. This is
# just to be conservative in case a command like
# "autoremove" is run by the user after a reindex.
- tty.debug(
- 'RECONSTRUCTING FROM SPEC.YAML: {0}'.format(spec))
+ tty.debug("RECONSTRUCTING FROM SPEC.YAML: {0}".format(spec))
explicit = True
inst_time = os.stat(spec.prefix).st_ctime
if old_data is not None:
@@ -910,10 +913,7 @@ class Database(object):
explicit = old_info.explicit
inst_time = old_info.installation_time
- extra_args = {
- 'explicit': explicit,
- 'installation_time': inst_time
- }
+ extra_args = {"explicit": explicit, "installation_time": inst_time}
self._add(spec, directory_layout, **extra_args)
if deprecator:
self._deprecate(spec, deprecator)
@@ -933,22 +933,21 @@ class Database(object):
processed_specs = set()
for spec in directory_layout.all_specs():
- self._construct_entry_from_directory_layout(directory_layout,
- old_data, spec)
+ self._construct_entry_from_directory_layout(directory_layout, old_data, spec)
processed_specs.add(spec)
for spec, deprecator in directory_layout.all_deprecated_specs():
- self._construct_entry_from_directory_layout(directory_layout,
- old_data, spec,
- deprecator)
+ self._construct_entry_from_directory_layout(
+ directory_layout, old_data, spec, deprecator
+ )
processed_specs.add(spec)
for key, entry in old_data.items():
# We already took care of this spec using
# `spec.yaml` from its prefix.
if entry.spec in processed_specs:
- msg = 'SKIPPING RECONSTRUCTION FROM OLD DB: {0}'
- msg += ' [already reconstructed from spec.yaml]'
+ msg = "SKIPPING RECONSTRUCTION FROM OLD DB: {0}"
+ msg += " [already reconstructed from spec.yaml]"
tty.debug(msg.format(entry.spec))
continue
@@ -957,15 +956,14 @@ class Database(object):
# of other specs. This may be the case for externally
# installed compilers or externally installed
# applications.
- tty.debug(
- 'RECONSTRUCTING FROM OLD DB: {0}'.format(entry.spec))
+ tty.debug("RECONSTRUCTING FROM OLD DB: {0}".format(entry.spec))
try:
layout = None if entry.spec.external else spack.store.layout
kwargs = {
- 'spec': entry.spec,
- 'directory_layout': layout,
- 'explicit': entry.explicit,
- 'installation_time': entry.installation_time
+ "spec": entry.spec,
+ "directory_layout": layout,
+ "explicit": entry.explicit,
+ "installation_time": entry.installation_time,
}
self._add(**kwargs)
processed_specs.add(entry.spec)
@@ -1001,8 +999,9 @@ class Database(object):
found = rec.ref_count
if not expected == found:
raise AssertionError(
- "Invalid ref_count: %s: %d (expected %d), in DB %s" %
- (key, found, expected, self._index_path))
+ "Invalid ref_count: %s: %d (expected %d), in DB %s"
+ % (key, found, expected, self._index_path)
+ )
def _write(self, type, value, traceback):
"""Write the in-memory database index to its file path.
@@ -1023,17 +1022,16 @@ class Database(object):
self._state_is_inconsistent = True
return
- temp_file = self._index_path + (
- '.%s.%s.temp' % (socket.getfqdn(), os.getpid()))
+ temp_file = self._index_path + (".%s.%s.temp" % (socket.getfqdn(), os.getpid()))
# Write a temporary database file them move it into place
try:
- with open(temp_file, 'w') as f:
+ with open(temp_file, "w") as f:
self._write_to_file(f)
fs.rename(temp_file, self._index_path)
if _use_uuid:
- with open(self._verifier_path, 'w') as f:
+ with open(self._verifier_path, "w") as f:
new_verifier = str(uuid.uuid4())
f.write(new_verifier)
self.last_seen_verifier = new_verifier
@@ -1047,15 +1045,14 @@ class Database(object):
def _read(self):
"""Re-read Database from the data in the set location. This does no locking."""
if os.path.isfile(self._index_path):
- current_verifier = ''
+ current_verifier = ""
if _use_uuid:
try:
- with open(self._verifier_path, 'r') as f:
+ with open(self._verifier_path, "r") as f:
current_verifier = f.read()
except BaseException:
pass
- if ((current_verifier != self.last_seen_verifier) or
- (current_verifier == '')):
+ if (current_verifier != self.last_seen_verifier) or (current_verifier == ""):
self.last_seen_verifier = current_verifier
# Read from file if a database exists
self._read_from_file(self._index_path)
@@ -1064,15 +1061,9 @@ class Database(object):
self._state_is_inconsistent = False
return
elif self.is_upstream:
- tty.warn('upstream not found: {0}'.format(self._index_path))
-
- def _add(
- self,
- spec,
- directory_layout=None,
- explicit=False,
- installation_time=None
- ):
+ tty.warn("upstream not found: {0}".format(self._index_path))
+
+ def _add(self, spec, directory_layout=None, explicit=False, installation_time=None):
"""Add an install record for this spec to the database.
Assumes spec is installed in ``layout.path_for_spec(spec)``.
@@ -1098,8 +1089,7 @@ class Database(object):
"""
if not spec.concrete:
- raise NonConcreteSpecAddError(
- "Specs added to DB must be concrete.")
+ raise NonConcreteSpecAddError("Specs added to DB must be concrete.")
key = spec.dag_hash()
spec_pkg_hash = spec._package_hash
@@ -1113,10 +1103,7 @@ class Database(object):
for dep in spec.dependencies(deptype=_tracked_deps):
dkey = dep.dag_hash()
if dkey not in self._data:
- extra_args = {
- 'explicit': False,
- 'installation_time': installation_time
- }
+ extra_args = {"explicit": False, "installation_time": installation_time}
self._add(dep, directory_layout, **extra_args)
# Make sure the directory layout agrees whether the spec is installed
@@ -1128,9 +1115,11 @@ class Database(object):
installed = True
self._installed_prefixes.add(path)
except DirectoryLayoutError as e:
- msg = ("{0} is being {1} in the database with prefix {2}, "
- "but this directory does not contain an installation of "
- "the spec, due to: {3}")
+ msg = (
+ "{0} is being {1} in the database with prefix {2}, "
+ "but this directory does not contain an installation of "
+ "the spec, due to: {3}"
+ )
action = "updated" if key in self._data else "registered"
tty.warn(msg.format(spec.short_spec, action, path, str(e)))
elif spec.external_path:
@@ -1143,17 +1132,12 @@ class Database(object):
if key not in self._data:
# Create a new install record with no deps initially.
new_spec = spec.copy(deps=False)
- extra_args = {
- 'explicit': explicit,
- 'installation_time': installation_time
- }
+ extra_args = {"explicit": explicit, "installation_time": installation_time}
# Commands other than 'spack install' may add specs to the DB,
# we can record the source of an installed Spec with 'origin'
- if hasattr(spec, 'origin'):
- extra_args['origin'] = spec.origin
- self._data[key] = InstallRecord(
- new_spec, path, installed, ref_count=0, **extra_args
- )
+ if hasattr(spec, "origin"):
+ extra_args["origin"] = spec.origin
+ self._data[key] = InstallRecord(new_spec, path, installed, ref_count=0, **extra_args)
# Connect dependencies from the DB to the new copy.
for dep in spec.edges_to_dependencies(deptype=_tracked_deps):
@@ -1291,8 +1275,9 @@ class Database(object):
def specs_deprecated_by(self, spec):
"""Return all specs deprecated in favor of the given spec"""
with self.read_transaction():
- return [rec.spec for rec in self._data.values()
- if rec.deprecated_for == spec.dag_hash()]
+ return [
+ rec.spec for rec in self._data.values() if rec.deprecated_for == spec.dag_hash()
+ ]
def _deprecate(self, spec, deprecator):
spec_key = self._get_matching_spec_key(spec)
@@ -1328,18 +1313,16 @@ class Database(object):
return self._deprecate(spec, deprecator)
@_autospec
- def installed_relatives(self, spec, direction='children', transitive=True,
- deptype='all'):
+ def installed_relatives(self, spec, direction="children", transitive=True, deptype="all"):
"""Return installed specs related to this one."""
- if direction not in ('parents', 'children'):
+ if direction not in ("parents", "children"):
raise ValueError("Invalid direction: %s" % direction)
relatives = set()
for spec in self.query(spec):
if transitive:
- to_add = spec.traverse(
- direction=direction, root=False, deptype=deptype)
- elif direction == 'parents':
+ to_add = spec.traverse(direction=direction, root=False, deptype=deptype)
+ elif direction == "parents":
to_add = spec.dependents(deptype=deptype)
else: # direction == 'children'
to_add = spec.dependencies(deptype=deptype)
@@ -1348,10 +1331,12 @@ class Database(object):
hash_key = relative.dag_hash()
upstream, record = self.query_by_spec_hash(hash_key)
if not record:
- reltype = ('Dependent' if direction == 'parents'
- else 'Dependency')
- msg = ("Inconsistent state! %s %s of %s not in DB"
- % (reltype, hash_key, spec.dag_hash()))
+ reltype = "Dependent" if direction == "parents" else "Dependency"
+ msg = "Inconsistent state! %s %s of %s not in DB" % (
+ reltype,
+ hash_key,
+ spec.dag_hash(),
+ )
if self._fail_when_missing_deps:
raise MissingDependenciesError(msg)
tty.warn(msg)
@@ -1401,9 +1386,11 @@ class Database(object):
# check if hash is a prefix of some installed (or previously
# installed) spec.
- matches = [record.spec for h, record in self._data.items()
- if h.startswith(dag_hash) and
- record.install_type_matches(installed)]
+ matches = [
+ record.spec
+ for h, record in self._data.items()
+ if h.startswith(dag_hash) and record.install_type_matches(installed)
+ ]
if matches:
return matches
@@ -1459,30 +1446,28 @@ class Database(object):
"""
- spec = self.get_by_hash_local(
- dag_hash, default=default, installed=installed)
+ spec = self.get_by_hash_local(dag_hash, default=default, installed=installed)
if spec is not None:
return spec
for upstream_db in self.upstream_dbs:
- spec = upstream_db._get_by_hash_local(
- dag_hash, default=default, installed=installed)
+ spec = upstream_db._get_by_hash_local(dag_hash, default=default, installed=installed)
if spec is not None:
return spec
return default
def _query(
- self,
- query_spec=any,
- known=any,
- installed=True,
- explicit=any,
- start_date=None,
- end_date=None,
- hashes=None,
- in_buildcache=any,
- origin=None
+ self,
+ query_spec=any,
+ known=any,
+ installed=True,
+ explicit=any,
+ start_date=None,
+ end_date=None,
+ hashes=None,
+ in_buildcache=any,
+ origin=None,
):
"""Run a query on the database."""
@@ -1495,8 +1480,7 @@ class Database(object):
if isinstance(query_spec, spack.spec.Spec) and query_spec.concrete:
# TODO: handling of hashes restriction is not particularly elegant.
hash_key = query_spec.dag_hash()
- if (hash_key in self._data and
- (not hashes or hash_key in hashes)):
+ if hash_key in self._data and (not hashes or hash_key in hashes):
return [self._data[hash_key].spec]
else:
return []
@@ -1523,19 +1507,15 @@ class Database(object):
if explicit is not any and rec.explicit != explicit:
continue
- if known is not any and spack.repo.path.exists(
- rec.spec.name) != known:
+ if known is not any and spack.repo.path.exists(rec.spec.name) != known:
continue
if start_date or end_date:
- inst_date = datetime.datetime.fromtimestamp(
- rec.installation_time
- )
+ inst_date = datetime.datetime.fromtimestamp(rec.installation_time)
if not (start_date < inst_date < end_date):
continue
- if (query_spec is any or
- rec.spec.satisfies(query_spec, strict=True)):
+ if query_spec is any or rec.spec.satisfies(query_spec, strict=True):
results.append(rec.spec)
return results
@@ -1564,8 +1544,7 @@ class Database(object):
local_results = set(self.query_local(*args, **kwargs))
- results = list(local_results) + list(
- x for x in upstream_results if x not in local_results)
+ results = list(local_results) + list(x for x in upstream_results if x not in local_results)
return sorted(results)
@@ -1580,8 +1559,7 @@ class Database(object):
query. Returns None if no installed package matches.
"""
- concrete_specs = self.query(
- query_spec, known=known, installed=installed)
+ concrete_specs = self.query(query_spec, known=known, installed=installed)
assert len(concrete_specs) <= 1
return concrete_specs[0] if concrete_specs else None
@@ -1614,8 +1592,9 @@ class Database(object):
for spec in rec.spec.traverse(visited=visited, deptype=("link", "run")):
needed.add(spec.dag_hash())
- unused = [rec.spec for key, rec in self._data.items()
- if key not in needed and rec.installed]
+ unused = [
+ rec.spec for key, rec in self._data.items() if key not in needed and rec.installed
+ ]
return unused
@@ -1632,8 +1611,8 @@ class Database(object):
rec = self.get_record(spec)
if explicit != rec.explicit:
with self.write_transaction():
- message = '{s.name}@{s.version} : marking the package {0}'
- status = 'explicit' if explicit else 'implicit'
+ message = "{s.name}@{s.version} : marking the package {0}"
+ status = "explicit" if explicit else "implicit"
tty.debug(message.format(status, s=spec))
rec.explicit = explicit
@@ -1655,10 +1634,8 @@ class MissingDependenciesError(SpackError):
class InvalidDatabaseVersionError(SpackError):
-
def __init__(self, expected, found):
super(InvalidDatabaseVersionError, self).__init__(
- "Expected database version %s but found version %s."
- % (expected, found),
- "`spack reindex` may fix this, or you may need a newer "
- "Spack version.")
+ "Expected database version %s but found version %s." % (expected, found),
+ "`spack reindex` may fix this, or you may need a newer " "Spack version.",
+ )
diff --git a/lib/spack/spack/dependency.py b/lib/spack/spack/dependency.py
index ca0da06665..1b38cd5092 100644
--- a/lib/spack/spack/dependency.py
+++ b/lib/spack/spack/dependency.py
@@ -10,10 +10,10 @@ from six import string_types
import spack.spec
#: The types of dependency relationships that Spack understands.
-all_deptypes = ('build', 'link', 'run', 'test')
+all_deptypes = ("build", "link", "run", "test")
#: Default dependency type if none is specified
-default_deptype = ('build', 'link')
+default_deptype = ("build", "link")
def deptype_chars(*type_tuples):
@@ -33,7 +33,7 @@ def deptype_chars(*type_tuples):
if t:
types.update(t)
- return ''.join(t[0] if t in types else ' ' for t in all_deptypes)
+ return "".join(t[0] if t in types else " " for t in all_deptypes)
def canonical_deptype(deptype):
@@ -45,22 +45,21 @@ def canonical_deptype(deptype):
builtin function ``all`` or the string 'all', which result in
a tuple of all dependency types known to Spack.
"""
- if deptype in ('all', all):
+ if deptype in ("all", all):
return all_deptypes
elif isinstance(deptype, string_types):
if deptype not in all_deptypes:
- raise ValueError('Invalid dependency type: %s' % deptype)
+ raise ValueError("Invalid dependency type: %s" % deptype)
return (deptype,)
elif isinstance(deptype, (tuple, list, set)):
bad = [d for d in deptype if d not in all_deptypes]
if bad:
- raise ValueError(
- 'Invalid dependency types: %s' % ','.join(str(t) for t in bad))
+ raise ValueError("Invalid dependency types: %s" % ",".join(str(t) for t in bad))
return tuple(sorted(set(deptype)))
- raise ValueError('Invalid dependency type: %s' % repr(deptype))
+ raise ValueError("Invalid dependency type: %s" % repr(deptype))
class Dependency(object):
@@ -89,6 +88,7 @@ class Dependency(object):
the dependency package can coexist with the patched version.
"""
+
def __init__(self, pkg, spec, type=default_deptype):
"""Create a new Dependency.
@@ -125,13 +125,10 @@ class Dependency(object):
for cond, p in other.patches.items():
if cond in self.patches:
current_list = self.patches[cond]
- current_list.extend(
- p for p in other.patches[cond] if p not in current_list
- )
+ current_list.extend(p for p in other.patches[cond] if p not in current_list)
else:
self.patches[cond] = other.patches[cond]
def __repr__(self):
types = deptype_chars(self.type)
- return '<Dependency: %s -> %s [%s]>' % (
- self.pkg.name, self.spec, types)
+ return "<Dependency: %s -> %s [%s]>" % (self.pkg.name, self.spec, types)
diff --git a/lib/spack/spack/detection/__init__.py b/lib/spack/spack/detection/__init__.py
index 586f39fd92..b9ff93d774 100644
--- a/lib/spack/spack/detection/__init__.py
+++ b/lib/spack/spack/detection/__init__.py
@@ -6,10 +6,10 @@ from .common import DetectedPackage, executable_prefix, update_configuration
from .path import by_executable, by_library, executables_in_path
__all__ = [
- 'DetectedPackage',
- 'by_library',
- 'by_executable',
- 'executables_in_path',
- 'executable_prefix',
- 'update_configuration'
+ "DetectedPackage",
+ "by_library",
+ "by_executable",
+ "executables_in_path",
+ "executable_prefix",
+ "update_configuration",
]
diff --git a/lib/spack/spack/detection/common.py b/lib/spack/spack/detection/common.py
index 813f235868..d79b62b872 100644
--- a/lib/spack/spack/detection/common.py
+++ b/lib/spack/spack/detection/common.py
@@ -28,20 +28,18 @@ import spack.config
import spack.spec
import spack.util.spack_yaml
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
#: Information on a package that has been detected
-DetectedPackage = collections.namedtuple(
- 'DetectedPackage', ['spec', 'prefix']
-)
+DetectedPackage = collections.namedtuple("DetectedPackage", ["spec", "prefix"])
def _externals_in_packages_yaml():
"""Return all the specs mentioned as externals in packages.yaml"""
- packages_yaml = spack.config.get('packages')
+ packages_yaml = spack.config.get("packages")
already_defined_specs = set()
for pkg_name, package_configuration in packages_yaml.items():
- for item in package_configuration.get('externals', []):
- already_defined_specs.add(spack.spec.Spec(item['spec']))
+ for item in package_configuration.get("externals", []):
+ already_defined_specs.add(spack.spec.Spec(item["spec"]))
return already_defined_specs
@@ -62,25 +60,25 @@ def _pkg_config_dict(external_pkg_entries):
}
"""
pkg_dict = spack.util.spack_yaml.syaml_dict()
- pkg_dict['externals'] = []
+ pkg_dict["externals"] = []
for e in external_pkg_entries:
if not _spec_is_valid(e.spec):
continue
- external_items = [('spec', str(e.spec)), ('prefix', e.prefix)]
+ external_items = [("spec", str(e.spec)), ("prefix", e.prefix)]
if e.spec.external_modules:
- external_items.append(('modules', e.spec.external_modules))
+ external_items.append(("modules", e.spec.external_modules))
if e.spec.extra_attributes:
external_items.append(
- ('extra_attributes',
- spack.util.spack_yaml.syaml_dict(e.spec.extra_attributes.items()))
+ (
+ "extra_attributes",
+ spack.util.spack_yaml.syaml_dict(e.spec.extra_attributes.items()),
+ )
)
# external_items.extend(e.spec.extra_attributes.items())
- pkg_dict['externals'].append(
- spack.util.spack_yaml.syaml_dict(external_items)
- )
+ pkg_dict["externals"].append(spack.util.spack_yaml.syaml_dict(external_items))
return pkg_dict
@@ -92,7 +90,7 @@ def _spec_is_valid(spec):
# It is assumed here that we can at least extract the package name from
# the spec so we can look up the implementation of
# determine_spec_details
- msg = 'Constructed spec for {0} does not have a string representation'
+ msg = "Constructed spec for {0} does not have a string representation"
llnl.util.tty.warn(msg.format(spec.name))
return False
@@ -100,9 +98,8 @@ def _spec_is_valid(spec):
spack.spec.Spec(str(spec))
except spack.error.SpackError:
llnl.util.tty.warn(
- 'Constructed spec has a string representation but the string'
- ' representation does not evaluate to a valid spec: {0}'
- .format(str(spec))
+ "Constructed spec has a string representation but the string"
+ " representation does not evaluate to a valid spec: {0}".format(str(spec))
)
return False
@@ -144,9 +141,9 @@ def executable_prefix(executable_dir):
assert os.path.isdir(executable_dir)
components = executable_dir.split(os.sep)
- if 'bin' not in components:
+ if "bin" not in components:
return executable_dir
- idx = components.index('bin')
+ idx = components.index("bin")
return os.sep.join(components[:idx])
@@ -163,11 +160,11 @@ def library_prefix(library_dir):
assert os.path.isdir(library_dir)
components = library_dir.split(os.sep)
- if 'lib64' in components:
- idx = components.index('lib64')
+ if "lib64" in components:
+ idx = components.index("lib64")
return os.sep.join(components[:idx])
- elif 'lib' in components:
- idx = components.index('lib')
+ elif "lib" in components:
+ idx = components.index("lib")
return os.sep.join(components[:idx])
else:
return library_dir
@@ -184,22 +181,18 @@ def update_configuration(detected_packages, scope=None, buildable=True):
predefined_external_specs = _externals_in_packages_yaml()
pkg_to_cfg, all_new_specs = {}, []
for package_name, entries in detected_packages.items():
- new_entries = [
- e for e in entries if (e.spec not in predefined_external_specs)
- ]
+ new_entries = [e for e in entries if (e.spec not in predefined_external_specs)]
pkg_config = _pkg_config_dict(new_entries)
- all_new_specs.extend([
- spack.spec.Spec(x['spec']) for x in pkg_config.get('externals', [])
- ])
+ all_new_specs.extend([spack.spec.Spec(x["spec"]) for x in pkg_config.get("externals", [])])
if buildable is False:
- pkg_config['buildable'] = False
+ pkg_config["buildable"] = False
pkg_to_cfg[package_name] = pkg_config
- pkgs_cfg = spack.config.get('packages', scope=scope)
+ pkgs_cfg = spack.config.get("packages", scope=scope)
pkgs_cfg = spack.config.merge_yaml(pkgs_cfg, pkg_to_cfg)
- spack.config.set('packages', pkgs_cfg, scope=scope)
+ spack.config.set("packages", pkgs_cfg, scope=scope)
return all_new_specs
@@ -209,18 +202,13 @@ def find_win32_additional_install_paths():
Return a list of other potential install locations.
"""
windows_search_ext = []
- cuda_re = r'CUDA_PATH[a-zA-Z1-9_]*'
+ cuda_re = r"CUDA_PATH[a-zA-Z1-9_]*"
# The list below should be expanded with other
# common Windows install locations as neccesary
- path_ext_keys = ['I_MPI_ONEAPI_ROOT',
- 'MSMPI_BIN',
- 'MLAB_ROOT',
- 'NUGET_PACKAGES']
+ path_ext_keys = ["I_MPI_ONEAPI_ROOT", "MSMPI_BIN", "MLAB_ROOT", "NUGET_PACKAGES"]
user = os.environ["USERPROFILE"]
add_path = lambda key: re.search(cuda_re, key) or key in path_ext_keys
- windows_search_ext.extend([os.environ[key] for key
- in os.environ.keys() if
- add_path(key)])
+ windows_search_ext.extend([os.environ[key] for key in os.environ.keys() if add_path(key)])
# note windows paths are fine here as this method should only ever be invoked
# to interact with Windows
# Add search path for default Chocolatey (https://github.com/chocolatey/choco)
@@ -231,7 +219,7 @@ def find_win32_additional_install_paths():
windows_search_ext.extend(
spack.config.get("config:additional_external_search_paths", default=[])
)
- windows_search_ext.extend(spack.util.environment.get_path('PATH'))
+ windows_search_ext.extend(spack.util.environment.get_path("PATH"))
return windows_search_ext
@@ -247,8 +235,9 @@ def compute_windows_program_path_for_package(pkg):
return []
# note windows paths are fine here as this method should only ever be invoked
# to interact with Windows
- program_files = 'C:\\Program Files{}\\{}'
+ program_files = "C:\\Program Files{}\\{}"
- return[program_files.format(arch, name) for
- arch, name in itertools.product(("", " (x86)"),
- (pkg.name, pkg.name.capitalize()))]
+ return [
+ program_files.format(arch, name)
+ for arch, name in itertools.product(("", " (x86)"), (pkg.name, pkg.name.capitalize()))
+ ]
diff --git a/lib/spack/spack/detection/path.py b/lib/spack/spack/detection/path.py
index c344b24cd7..b7a7f6702d 100644
--- a/lib/spack/spack/detection/path.py
+++ b/lib/spack/spack/detection/path.py
@@ -46,18 +46,20 @@ def executables_in_path(path_hints=None):
# If we're on a Windows box, run vswhere,
# steal the installationPath using windows_os.py logic,
# construct paths to CMake and Ninja, add to PATH
- path_hints = path_hints or spack.util.environment.get_path('PATH')
- if sys.platform == 'win32':
+ path_hints = path_hints or spack.util.environment.get_path("PATH")
+ if sys.platform == "win32":
msvc_paths = list(winOs.WindowsOs.vs_install_paths)
msvc_cmake_paths = [
- os.path.join(path, "Common7", "IDE", "CommonExtensions", "Microsoft",
- "CMake", "CMake", "bin")
- for path in msvc_paths]
+ os.path.join(
+ path, "Common7", "IDE", "CommonExtensions", "Microsoft", "CMake", "CMake", "bin"
+ )
+ for path in msvc_paths
+ ]
path_hints = msvc_cmake_paths + path_hints
msvc_ninja_paths = [
- os.path.join(path, "Common7", "IDE", "CommonExtensions", "Microsoft",
- "CMake", "Ninja")
- for path in msvc_paths]
+ os.path.join(path, "Common7", "IDE", "CommonExtensions", "Microsoft", "CMake", "Ninja")
+ for path in msvc_paths
+ ]
path_hints = msvc_ninja_paths + path_hints
path_hints.extend(find_win32_additional_install_paths())
search_paths = llnl.util.filesystem.search_paths_for_executables(*path_hints)
@@ -90,11 +92,13 @@ def libraries_in_ld_library_path(path_hints=None):
DYLD_LIBRARY_PATH, and DYLD_FALLBACK_LIBRARY_PATH environment
variables.
"""
- path_hints = path_hints or \
- spack.util.environment.get_path('LIBRARY_PATH') + \
- spack.util.environment.get_path('LD_LIBRARY_PATH') + \
- spack.util.environment.get_path('DYLD_LIBRARY_PATH') + \
- spack.util.environment.get_path('DYLD_FALLBACK_LIBRARY_PATH')
+ path_hints = path_hints or spack.util.environment.get_path(
+ "LIBRARY_PATH"
+ ) + spack.util.environment.get_path("LD_LIBRARY_PATH") + spack.util.environment.get_path(
+ "DYLD_LIBRARY_PATH"
+ ) + spack.util.environment.get_path(
+ "DYLD_FALLBACK_LIBRARY_PATH"
+ )
search_paths = llnl.util.filesystem.search_paths_for_libraries(*path_hints)
path_to_lib = {}
@@ -135,7 +139,7 @@ def by_library(packages_to_check, path_hints=None):
path_to_lib_name = libraries_in_ld_library_path(path_hints=path_hints)
lib_pattern_to_pkgs = collections.defaultdict(list)
for pkg in packages_to_check:
- if hasattr(pkg, 'libraries'):
+ if hasattr(pkg, "libraries"):
for lib in pkg.libraries:
lib_pattern_to_pkgs[lib].append(pkg)
@@ -151,18 +155,17 @@ def by_library(packages_to_check, path_hints=None):
resolved_specs = {} # spec -> lib found for the spec
for pkg, libs in pkg_to_found_libs.items():
- if not hasattr(pkg, 'determine_spec_details'):
+ if not hasattr(pkg, "determine_spec_details"):
llnl.util.tty.warn(
"{0} must define 'determine_spec_details' in order"
" for Spack to detect externally-provided instances"
- " of the package.".format(pkg.name))
+ " of the package.".format(pkg.name)
+ )
continue
for prefix, libs_in_prefix in sorted(_group_by_prefix(libs)):
try:
- specs = _convert_to_iterable(
- pkg.determine_spec_details(prefix, libs_in_prefix)
- )
+ specs = _convert_to_iterable(pkg.determine_spec_details(prefix, libs_in_prefix))
except Exception as e:
specs = []
msg = 'error detecting "{0}" from prefix {1} [{2}]'
@@ -170,10 +173,10 @@ def by_library(packages_to_check, path_hints=None):
if not specs:
llnl.util.tty.debug(
- 'The following libraries in {0} were decidedly not '
- 'part of the package {1}: {2}'
- .format(prefix, pkg.name, ', '.join(
- _convert_to_iterable(libs_in_prefix)))
+ "The following libraries in {0} were decidedly not "
+ "part of the package {1}: {2}".format(
+ prefix, pkg.name, ", ".join(_convert_to_iterable(libs_in_prefix))
+ )
)
for spec in specs:
@@ -186,13 +189,12 @@ def by_library(packages_to_check, path_hints=None):
continue
if spec in resolved_specs:
- prior_prefix = ', '.join(
- _convert_to_iterable(resolved_specs[spec]))
+ prior_prefix = ", ".join(_convert_to_iterable(resolved_specs[spec]))
llnl.util.tty.debug(
"Libraries in {0} and {1} are both associated"
- " with the same spec {2}"
- .format(prefix, prior_prefix, str(spec)))
+ " with the same spec {2}".format(prefix, prior_prefix, str(spec))
+ )
continue
else:
resolved_specs[spec] = prefix
@@ -200,17 +202,17 @@ def by_library(packages_to_check, path_hints=None):
try:
spec.validate_detection()
except Exception as e:
- msg = ('"{0}" has been detected on the system but will '
- 'not be added to packages.yaml [reason={1}]')
+ msg = (
+ '"{0}" has been detected on the system but will '
+ "not be added to packages.yaml [reason={1}]"
+ )
llnl.util.tty.warn(msg.format(spec, str(e)))
continue
if spec.external_path:
pkg_prefix = spec.external_path
- pkg_to_entries[pkg.name].append(
- DetectedPackage(spec=spec, prefix=pkg_prefix)
- )
+ pkg_to_entries[pkg.name].append(DetectedPackage(spec=spec, prefix=pkg_prefix))
return pkg_to_entries
@@ -227,7 +229,7 @@ def by_executable(packages_to_check, path_hints=None):
path_hints = [] if path_hints is None else path_hints
exe_pattern_to_pkgs = collections.defaultdict(list)
for pkg in packages_to_check:
- if hasattr(pkg, 'executables'):
+ if hasattr(pkg, "executables"):
for exe in pkg.platform_executables():
exe_pattern_to_pkgs[exe].append(pkg)
# Add Windows specific, package related paths to the search paths
@@ -246,11 +248,12 @@ def by_executable(packages_to_check, path_hints=None):
resolved_specs = {} # spec -> exe found for the spec
for pkg, exes in pkg_to_found_exes.items():
- if not hasattr(pkg, 'determine_spec_details'):
+ if not hasattr(pkg, "determine_spec_details"):
llnl.util.tty.warn(
"{0} must define 'determine_spec_details' in order"
" for Spack to detect externally-provided instances"
- " of the package.".format(pkg.name))
+ " of the package.".format(pkg.name)
+ )
continue
for prefix, exes_in_prefix in sorted(_group_by_prefix(exes)):
@@ -260,9 +263,7 @@ def by_executable(packages_to_check, path_hints=None):
# naming scheme which differentiates them), the spec won't be
# usable.
try:
- specs = _convert_to_iterable(
- pkg.determine_spec_details(prefix, exes_in_prefix)
- )
+ specs = _convert_to_iterable(pkg.determine_spec_details(prefix, exes_in_prefix))
except Exception as e:
specs = []
msg = 'error detecting "{0}" from prefix {1} [{2}]'
@@ -270,10 +271,10 @@ def by_executable(packages_to_check, path_hints=None):
if not specs:
llnl.util.tty.debug(
- 'The following executables in {0} were decidedly not '
- 'part of the package {1}: {2}'
- .format(prefix, pkg.name, ', '.join(
- _convert_to_iterable(exes_in_prefix)))
+ "The following executables in {0} were decidedly not "
+ "part of the package {1}: {2}".format(
+ prefix, pkg.name, ", ".join(_convert_to_iterable(exes_in_prefix))
+ )
)
for spec in specs:
@@ -285,13 +286,12 @@ def by_executable(packages_to_check, path_hints=None):
continue
if spec in resolved_specs:
- prior_prefix = ', '.join(
- _convert_to_iterable(resolved_specs[spec]))
+ prior_prefix = ", ".join(_convert_to_iterable(resolved_specs[spec]))
llnl.util.tty.debug(
"Executables in {0} and {1} are both associated"
- " with the same spec {2}"
- .format(prefix, prior_prefix, str(spec)))
+ " with the same spec {2}".format(prefix, prior_prefix, str(spec))
+ )
continue
else:
resolved_specs[spec] = prefix
@@ -299,16 +299,16 @@ def by_executable(packages_to_check, path_hints=None):
try:
spec.validate_detection()
except Exception as e:
- msg = ('"{0}" has been detected on the system but will '
- 'not be added to packages.yaml [reason={1}]')
+ msg = (
+ '"{0}" has been detected on the system but will '
+ "not be added to packages.yaml [reason={1}]"
+ )
llnl.util.tty.warn(msg.format(spec, str(e)))
continue
if spec.external_path:
pkg_prefix = spec.external_path
- pkg_to_entries[pkg.name].append(
- DetectedPackage(spec=spec, prefix=pkg_prefix)
- )
+ pkg_to_entries[pkg.name].append(DetectedPackage(spec=spec, prefix=pkg_prefix))
return pkg_to_entries
diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py
index 0801db6146..fa04641f38 100644
--- a/lib/spack/spack/directives.py
+++ b/lib/spack/spack/directives.py
@@ -48,11 +48,21 @@ from spack.fetch_strategy import from_kwargs
from spack.resource import Resource
from spack.version import GitVersion, Version, VersionChecksumError, VersionLookupError
-__all__ = ['DirectiveError', 'DirectiveMeta', 'version', 'conflicts', 'depends_on',
- 'extends', 'provides', 'patch', 'variant', 'resource']
+__all__ = [
+ "DirectiveError",
+ "DirectiveMeta",
+ "version",
+ "conflicts",
+ "depends_on",
+ "extends",
+ "provides",
+ "patch",
+ "variant",
+ "resource",
+]
#: These are variant names used by Spack internally; packages can't use them
-reserved_names = ['patches', 'dev_path']
+reserved_names = ["patches", "dev_path"]
#: Names of possible directives. This list is populated elsewhere in the file.
directive_names = []
@@ -121,37 +131,36 @@ class DirectiveMeta(type):
# commands:
# 1. in the order they were defined
# 2. following the MRO
- attr_dict['_directives_to_be_executed'] = []
+ attr_dict["_directives_to_be_executed"] = []
for base in reversed(bases):
try:
directive_from_base = base._directives_to_be_executed
- attr_dict['_directives_to_be_executed'].extend(
- directive_from_base)
+ attr_dict["_directives_to_be_executed"].extend(directive_from_base)
except AttributeError:
# The base class didn't have the required attribute.
# Continue searching
pass
# De-duplicates directives from base classes
- attr_dict['_directives_to_be_executed'] = [
- x for x in llnl.util.lang.dedupe(
- attr_dict['_directives_to_be_executed'])]
+ attr_dict["_directives_to_be_executed"] = [
+ x for x in llnl.util.lang.dedupe(attr_dict["_directives_to_be_executed"])
+ ]
# Move things to be executed from module scope (where they
# are collected first) to class scope
if DirectiveMeta._directives_to_be_executed:
- attr_dict['_directives_to_be_executed'].extend(
- DirectiveMeta._directives_to_be_executed)
+ attr_dict["_directives_to_be_executed"].extend(
+ DirectiveMeta._directives_to_be_executed
+ )
DirectiveMeta._directives_to_be_executed = []
- return super(DirectiveMeta, cls).__new__(
- cls, name, bases, attr_dict)
+ return super(DirectiveMeta, cls).__new__(cls, name, bases, attr_dict)
def __init__(cls, name, bases, attr_dict):
# The instance is being initialized: if it is a package we must ensure
# that the directives are called to set it up.
- if 'spack.pkg' in cls.__module__:
+ if "spack.pkg" in cls.__module__:
# Ensure the presence of the dictionaries associated
# with the directives
for d in DirectiveMeta._directive_dict_names:
@@ -223,7 +232,7 @@ class DirectiveMeta(type):
global directive_names
if isinstance(dicts, six.string_types):
- dicts = (dicts, )
+ dicts = (dicts,)
if not isinstance(dicts, Sequence):
message = "dicts arg must be list, tuple, or string. Found {0}"
@@ -242,24 +251,23 @@ class DirectiveMeta(type):
if DirectiveMeta._when_constraints_from_context:
# Check that directives not yet supporting the when= argument
# are not used inside the context manager
- if decorated_function.__name__ == 'version':
- msg = ('directive "{0}" cannot be used within a "when"'
- ' context since it does not support a "when=" '
- 'argument')
+ if decorated_function.__name__ == "version":
+ msg = (
+ 'directive "{0}" cannot be used within a "when"'
+ ' context since it does not support a "when=" '
+ "argument"
+ )
msg = msg.format(decorated_function.__name__)
raise DirectiveError(msg)
when_constraints = [
- spack.spec.Spec(x) for x in
- DirectiveMeta._when_constraints_from_context
+ spack.spec.Spec(x) for x in DirectiveMeta._when_constraints_from_context
]
- if kwargs.get('when'):
- when_constraints.append(spack.spec.Spec(kwargs['when']))
- when_spec = spack.spec.merge_abstract_anonymous_specs(
- *when_constraints
- )
+ if kwargs.get("when"):
+ when_constraints.append(spack.spec.Spec(kwargs["when"]))
+ when_spec = spack.spec.merge_abstract_anonymous_specs(*when_constraints)
- kwargs['when'] = when_spec
+ kwargs["when"] = when_spec
# If any of the arguments are executors returned by a
# directive passed as an argument, don't execute them
@@ -274,8 +282,7 @@ class DirectiveMeta(type):
remove_directives(a)
else:
# Remove directives args from the exec queue
- remove = next(
- (d for d in directives if d is arg), None)
+ remove = next((d for d in directives if d is arg), None)
if remove is not None:
directives.remove(remove)
@@ -291,13 +298,14 @@ class DirectiveMeta(type):
# ...so if it is not a sequence make it so
values = result
if not isinstance(values, Sequence):
- values = (values, )
+ values = (values,)
DirectiveMeta._directives_to_be_executed.extend(values)
# wrapped function returns same result as original so
# that we can nest directives
return result
+
return _wrapper
return _decorator
@@ -306,7 +314,7 @@ class DirectiveMeta(type):
directive = DirectiveMeta.directive
-@directive('versions')
+@directive("versions")
def version(ver, checksum=None, **kwargs):
"""Adds a version and, if appropriate, metadata for fetching its code.
@@ -320,27 +328,29 @@ def version(ver, checksum=None, **kwargs):
Keyword Arguments:
deprecated (bool): whether or not this version is deprecated
"""
+
def _execute_version(pkg):
if checksum is not None:
- if hasattr(pkg, 'has_code') and not pkg.has_code:
+ if hasattr(pkg, "has_code") and not pkg.has_code:
raise VersionChecksumError(
"{0}: Checksums not allowed in no-code packages"
- "(see '{1}' version).".format(pkg.name, ver))
+ "(see '{1}' version).".format(pkg.name, ver)
+ )
- kwargs['checksum'] = checksum
+ kwargs["checksum"] = checksum
# Store kwargs for the package to later with a fetch_strategy.
version = Version(ver)
if isinstance(version, GitVersion):
- if not hasattr(pkg, 'git') and 'git' not in kwargs:
+ if not hasattr(pkg, "git") and "git" not in kwargs:
msg = "Spack version directives cannot include git hashes fetched from"
msg += " URLs. Error in package '%s'\n" % pkg.name
msg += " version('%s', " % version.string
- msg += ', '.join("%s='%s'" % (argname, value)
- for argname, value in kwargs.items())
+ msg += ", ".join("%s='%s'" % (argname, value) for argname, value in kwargs.items())
msg += ")"
raise VersionLookupError(msg)
pkg.versions[version] = kwargs
+
return _execute_version
@@ -351,8 +361,7 @@ def _depends_on(pkg, spec, when=None, type=default_deptype, patches=None):
dep_spec = spack.spec.Spec(spec)
if pkg.name == dep_spec.name:
- raise CircularReferenceError(
- "Package '%s' cannot depend on itself." % pkg.name)
+ raise CircularReferenceError("Package '%s' cannot depend on itself." % pkg.name)
type = canonical_deptype(type)
conditions = pkg.dependencies.setdefault(dep_spec.name, {})
@@ -379,8 +388,7 @@ def _depends_on(pkg, spec, when=None, type=default_deptype, patches=None):
patches = [patches]
# auto-call patch() directive on any strings in patch list
- patches = [patch(p) if isinstance(p, six.string_types) else p
- for p in patches]
+ patches = [patch(p) if isinstance(p, six.string_types) else p for p in patches]
assert all(callable(p) for p in patches)
# this is where we actually add the dependency to this package
@@ -397,7 +405,7 @@ def _depends_on(pkg, spec, when=None, type=default_deptype, patches=None):
execute_patch(dependency)
-@directive('conflicts')
+@directive("conflicts")
def conflicts(conflict_spec, when=None, msg=None):
"""Allows a package to define a conflict.
@@ -417,6 +425,7 @@ def conflicts(conflict_spec, when=None, msg=None):
when (spack.spec.Spec): optional constraint that triggers the conflict
msg (str): optional user defined message
"""
+
def _execute_conflicts(pkg):
# If when is not specified the conflict always holds
when_spec = make_when_spec(when)
@@ -426,10 +435,11 @@ def conflicts(conflict_spec, when=None, msg=None):
# Save in a list the conflicts and the associated custom messages
when_spec_list = pkg.conflicts.setdefault(conflict_spec, [])
when_spec_list.append((when_spec, msg))
+
return _execute_conflicts
-@directive(('dependencies'))
+@directive(("dependencies"))
def depends_on(spec, when=None, type=default_deptype, patches=None):
"""Creates a dict of deps with specs defining when they apply.
@@ -446,13 +456,15 @@ def depends_on(spec, when=None, type=default_deptype, patches=None):
@see The section "Dependency specs" in the Spack Packaging Guide.
"""
+
def _execute_depends_on(pkg):
_depends_on(pkg, spec, when=when, type=type, patches=patches)
+
return _execute_depends_on
-@directive(('extendees', 'dependencies'))
-def extends(spec, type=('build', 'run'), **kwargs):
+@directive(("extendees", "dependencies"))
+def extends(spec, type=("build", "run"), **kwargs):
"""Same as depends_on, but allows symlinking into dependency's
prefix tree.
@@ -467,8 +479,9 @@ def extends(spec, type=('build', 'run'), **kwargs):
mechanism.
"""
+
def _execute_extends(pkg):
- when = kwargs.get('when')
+ when = kwargs.get("when")
when_spec = make_when_spec(when)
if not when_spec:
return
@@ -476,17 +489,19 @@ def extends(spec, type=('build', 'run'), **kwargs):
_depends_on(pkg, spec, when=when, type=type)
spec_obj = spack.spec.Spec(spec)
pkg.extendees[spec_obj.name] = (spec_obj, kwargs)
+
return _execute_extends
-@directive('provided')
+@directive("provided")
def provides(*specs, **kwargs):
"""Allows packages to provide a virtual dependency. If a package provides
- 'mpi', other packages can declare that they depend on "mpi", and spack
- can use the providing package to satisfy the dependency.
+ 'mpi', other packages can declare that they depend on "mpi", and spack
+ can use the providing package to satisfy the dependency.
"""
+
def _execute_provides(pkg):
- when = kwargs.get('when')
+ when = kwargs.get("when")
when_spec = make_when_spec(when)
if not when_spec:
return
@@ -498,16 +513,16 @@ def provides(*specs, **kwargs):
for string in specs:
for provided_spec in spack.spec.parse(string):
if pkg.name == provided_spec.name:
- raise CircularReferenceError(
- "Package '%s' cannot provide itself.")
+ raise CircularReferenceError("Package '%s' cannot provide itself.")
if provided_spec not in pkg.provided:
pkg.provided[provided_spec] = set()
pkg.provided[provided_spec].add(when_spec)
+
return _execute_provides
-@directive('patches')
+@directive("patches")
def patch(url_or_filename, level=1, when=None, working_dir=".", **kwargs):
"""Packages can declare patches to apply to source. You can
optionally provide a when spec to indicate that a particular
@@ -528,15 +543,16 @@ def patch(url_or_filename, level=1, when=None, working_dir=".", **kwargs):
is compressed (only required for compressed URL patches)
"""
+
def _execute_patch(pkg_or_dep):
pkg = pkg_or_dep
if isinstance(pkg, Dependency):
pkg = pkg.pkg
- if hasattr(pkg, 'has_code') and not pkg.has_code:
+ if hasattr(pkg, "has_code") and not pkg.has_code:
raise UnsupportedPackageDirective(
- 'Patches are not allowed in {0}: package has no code.'.
- format(pkg.name))
+ "Patches are not allowed in {0}: package has no code.".format(pkg.name)
+ )
when_spec = make_when_spec(when)
if not when_spec:
@@ -550,30 +566,30 @@ def patch(url_or_filename, level=1, when=None, working_dir=".", **kwargs):
ordering_key = (pkg.name, _patch_order_index)
_patch_order_index += 1
- if '://' in url_or_filename:
+ if "://" in url_or_filename:
patch = spack.patch.UrlPatch(
- pkg, url_or_filename, level, working_dir,
- ordering_key=ordering_key, **kwargs)
+ pkg, url_or_filename, level, working_dir, ordering_key=ordering_key, **kwargs
+ )
else:
patch = spack.patch.FilePatch(
- pkg, url_or_filename, level, working_dir,
- ordering_key=ordering_key)
+ pkg, url_or_filename, level, working_dir, ordering_key=ordering_key
+ )
cur_patches.append(patch)
return _execute_patch
-@directive('variants')
+@directive("variants")
def variant(
- name,
- default=None,
- description='',
- values=None,
- multi=None,
- validator=None,
- when=None,
- sticky=False
+ name,
+ default=None,
+ description="",
+ values=None,
+ multi=None,
+ validator=None,
+ when=None,
+ sticky=False,
):
"""Define a variant for the package. Packager can specify a default
value as well as a text description.
@@ -600,20 +616,23 @@ def variant(
Raises:
DirectiveError: if arguments passed to the directive are invalid
"""
+
def format_error(msg, pkg):
msg += " @*r{{[{0}, variant '{1}']}}"
return llnl.util.tty.color.colorize(msg.format(pkg.name, name))
if name in reserved_names:
+
def _raise_reserved_name(pkg):
msg = "The name '%s' is reserved by Spack" % name
raise DirectiveError(format_error(msg, pkg))
+
return _raise_reserved_name
# Ensure we have a sequence of allowed variant values, or a
# predicate for it.
if values is None:
- if str(default).upper() in ('TRUE', 'FALSE'):
+ if str(default).upper() in ("TRUE", "FALSE"):
values = (True, False)
else:
values = lambda x: True
@@ -621,35 +640,40 @@ def variant(
# The object defining variant values might supply its own defaults for
# all the other arguments. Ensure we have no conflicting definitions
# in place.
- for argument in ('default', 'multi', 'validator'):
+ for argument in ("default", "multi", "validator"):
# TODO: we can consider treating 'default' differently from other
# TODO: attributes and let a packager decide whether to use the fluent
# TODO: interface or the directive argument
if hasattr(values, argument) and locals()[argument] is not None:
+
def _raise_argument_error(pkg):
- msg = "Remove specification of {0} argument: it is handled " \
- "by an attribute of the 'values' argument"
+ msg = (
+ "Remove specification of {0} argument: it is handled "
+ "by an attribute of the 'values' argument"
+ )
raise DirectiveError(format_error(msg.format(argument), pkg))
+
return _raise_argument_error
# Allow for the object defining the allowed values to supply its own
# default value and group validator, say if it supports multiple values.
- default = getattr(values, 'default', default)
- validator = getattr(values, 'validator', validator)
- multi = getattr(values, 'multi', bool(multi))
+ default = getattr(values, "default", default)
+ validator = getattr(values, "validator", validator)
+ multi = getattr(values, "multi", bool(multi))
# Here we sanitize against a default value being either None
# or the empty string, as the former indicates that a default
# was not set while the latter will make the variant unparsable
# from the command line
- if default is None or default == '':
+ if default is None or default == "":
+
def _raise_default_not_set(pkg):
if default is None:
- msg = "either a default was not explicitly set, " \
- "or 'None' was used"
- elif default == '':
+ msg = "either a default was not explicitly set, " "or 'None' was used"
+ elif default == "":
msg = "the default cannot be an empty string"
raise DirectiveError(format_error(msg, pkg))
+
return _raise_default_not_set
description = str(description).strip()
@@ -659,7 +683,7 @@ def variant(
when_specs = [when_spec]
if not re.match(spack.spec.identifier_re, name):
- directive = 'variant'
+ directive = "variant"
msg = "Invalid variant name in {0}: '{1}'"
raise DirectiveError(directive, msg.format(pkg.name, name))
@@ -669,13 +693,15 @@ def variant(
_, orig_when = pkg.variants[name]
when_specs += orig_when
- pkg.variants[name] = (spack.variant.Variant(
- name, default, description, values, multi, validator, sticky
- ), when_specs)
+ pkg.variants[name] = (
+ spack.variant.Variant(name, default, description, values, multi, validator, sticky),
+ when_specs,
+ )
+
return _execute_variant
-@directive('resources')
+@directive("resources")
def resource(**kwargs):
"""Define an external resource to be fetched and staged when building the
package. Based on the keywords present in the dictionary the appropriate
@@ -692,38 +718,43 @@ def resource(**kwargs):
* 'placement' : (optional) gives the possibility to fine tune how the
resource is moved into the main package stage area.
"""
+
def _execute_resource(pkg):
- when = kwargs.get('when')
+ when = kwargs.get("when")
when_spec = make_when_spec(when)
if not when_spec:
return
- destination = kwargs.get('destination', "")
- placement = kwargs.get('placement', None)
+ destination = kwargs.get("destination", "")
+ placement = kwargs.get("placement", None)
# Check if the path is relative
if os.path.isabs(destination):
- message = ('The destination keyword of a resource directive '
- 'can\'t be an absolute path.\n')
+ message = (
+ "The destination keyword of a resource directive " "can't be an absolute path.\n"
+ )
message += "\tdestination : '{dest}\n'".format(dest=destination)
raise RuntimeError(message)
# Check if the path falls within the main package stage area
- test_path = 'stage_folder_root'
+ test_path = "stage_folder_root"
normalized_destination = os.path.normpath(
os.path.join(test_path, destination)
) # Normalized absolute path
if test_path not in normalized_destination:
- message = ("The destination folder of a resource must fall "
- "within the main package stage directory.\n")
+ message = (
+ "The destination folder of a resource must fall "
+ "within the main package stage directory.\n"
+ )
message += "\tdestination : '{dest}'\n".format(dest=destination)
raise RuntimeError(message)
resources = pkg.resources.setdefault(when_spec, [])
- name = kwargs.get('name')
+ name = kwargs.get("name")
fetcher = from_kwargs(**kwargs)
resources.append(Resource(name, fetcher, destination, placement))
+
return _execute_resource
diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py
index 3ccec788d8..28f3caab9e 100644
--- a/lib/spack/spack/directory_layout.py
+++ b/lib/spack/spack/directory_layout.py
@@ -25,75 +25,80 @@ import spack.spec
import spack.util.spack_json as sjson
from spack.error import SpackError
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
# Note: Posixpath is used here as opposed to
# os.path.join due to spack.spec.Spec.format
# requiring forward slash path seperators at this stage
-default_projections = {'all': posixpath.join(
- '{architecture}', '{compiler.name}-{compiler.version}',
- '{name}-{version}-{hash}')}
+default_projections = {
+ "all": posixpath.join(
+ "{architecture}", "{compiler.name}-{compiler.version}", "{name}-{version}-{hash}"
+ )
+}
def _check_concrete(spec):
"""If the spec is not concrete, raise a ValueError"""
if not spec.concrete:
- raise ValueError('Specs passed to a DirectoryLayout must be concrete!')
+ raise ValueError("Specs passed to a DirectoryLayout must be concrete!")
class DirectoryLayout(object):
"""A directory layout is used to associate unique paths with specs.
- Different installations are going to want different layouts for their
- install, and they can use this to customize the nesting structure of
- spack installs. The default layout is:
+ Different installations are going to want different layouts for their
+ install, and they can use this to customize the nesting structure of
+ spack installs. The default layout is:
- * <install root>/
+ * <install root>/
- * <platform-os-target>/
+ * <platform-os-target>/
- * <compiler>-<compiler version>/
+ * <compiler>-<compiler version>/
- * <name>-<version>-<hash>
+ * <name>-<version>-<hash>
- The hash here is a SHA-1 hash for the full DAG plus the build
- spec.
+ The hash here is a SHA-1 hash for the full DAG plus the build
+ spec.
- The installation directory projections can be modified with the
- projections argument.
+ The installation directory projections can be modified with the
+ projections argument.
"""
def __init__(self, root, **kwargs):
self.root = root
self.check_upstream = True
- projections = kwargs.get('projections') or default_projections
- self.projections = dict((key, projection.lower())
- for key, projection in projections.items())
+ projections = kwargs.get("projections") or default_projections
+ self.projections = dict(
+ (key, projection.lower()) for key, projection in projections.items()
+ )
# apply hash length as appropriate
- self.hash_length = kwargs.get('hash_length', None)
+ self.hash_length = kwargs.get("hash_length", None)
if self.hash_length is not None:
for when_spec, projection in self.projections.items():
- if '{hash}' not in projection:
- if '{hash' in projection:
+ if "{hash}" not in projection:
+ if "{hash" in projection:
raise InvalidDirectoryLayoutParametersError(
- "Conflicting options for installation layout hash"
- " length")
+ "Conflicting options for installation layout hash" " length"
+ )
else:
raise InvalidDirectoryLayoutParametersError(
"Cannot specify hash length when the hash is not"
- " part of all install_tree projections")
+ " part of all install_tree projections"
+ )
self.projections[when_spec] = projection.replace(
- "{hash}", "{hash:%d}" % self.hash_length)
+ "{hash}", "{hash:%d}" % self.hash_length
+ )
# If any of these paths change, downstream databases may not be able to
# locate files in older upstream databases
- self.metadata_dir = '.spack'
- self.deprecated_dir = 'deprecated'
- self.spec_file_name = 'spec.json'
+ self.metadata_dir = ".spack"
+ self.deprecated_dir = "deprecated"
+ self.spec_file_name = "spec.json"
# Use for checking yaml and deprecated types
- self._spec_file_name_yaml = 'spec.yaml'
- self.extension_file_name = 'extensions.yaml'
- self.packages_dir = 'repos' # archive of package.py files
- self.manifest_file_name = 'install_manifest.json'
+ self._spec_file_name_yaml = "spec.yaml"
+ self.extension_file_name = "extensions.yaml"
+ self.packages_dir = "repos" # archive of package.py files
+ self.manifest_file_name = "install_manifest.json"
@property
def hidden_file_regexes(self):
@@ -109,7 +114,7 @@ class DirectoryLayout(object):
def write_spec(self, spec, path):
"""Write a spec out to a file."""
_check_concrete(spec)
- with open(path, 'w') as f:
+ with open(path, "w") as f:
# The hash of the projection is the DAG hash which contains
# the full provenance, so it's availabe if we want it later
spec.to_json(f, hash=ht.dag_hash)
@@ -120,9 +125,10 @@ class DirectoryLayout(object):
easily access this information.
"""
from spack.util.environment import get_host_environment_metadata
+
env_file = self.env_metadata_path(spec)
environ = get_host_environment_metadata()
- with open(env_file, 'w') as fd:
+ with open(env_file, "w") as fd:
sjson.dump(environ, fd)
def read_spec(self, path):
@@ -130,19 +136,19 @@ class DirectoryLayout(object):
try:
with open(path) as f:
extension = os.path.splitext(path)[-1].lower()
- if extension == '.json':
+ if extension == ".json":
spec = spack.spec.Spec.from_json(f)
- elif extension == '.yaml':
+ elif extension == ".yaml":
# Too late for conversion; spec_file_path() already called.
spec = spack.spec.Spec.from_yaml(f)
else:
- raise SpecReadError('Did not recognize spec file extension:'
- ' {0}'.format(extension))
+ raise SpecReadError(
+ "Did not recognize spec file extension:" " {0}".format(extension)
+ )
except Exception as e:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
raise
- raise SpecReadError(
- 'Unable to read file: %s' % path, 'Cause: ' + str(e))
+ raise SpecReadError("Unable to read file: %s" % path, "Cause: " + str(e))
# Specs read from actual installations are always concrete
spec._mark_concrete()
@@ -153,15 +159,14 @@ class DirectoryLayout(object):
_check_concrete(spec)
# Attempts to convert to JSON if possible.
# Otherwise just returns the YAML.
- yaml_path = os.path.join(
- self.metadata_path(spec), self._spec_file_name_yaml)
+ yaml_path = os.path.join(self.metadata_path(spec), self._spec_file_name_yaml)
json_path = os.path.join(self.metadata_path(spec), self.spec_file_name)
if os.path.exists(yaml_path) and fs.can_write_to_dir(yaml_path):
self.write_spec(spec, json_path)
try:
os.remove(yaml_path)
except OSError as err:
- tty.debug('Could not remove deprecated {0}'.format(yaml_path))
+ tty.debug("Could not remove deprecated {0}".format(yaml_path))
tty.debug(err)
elif os.path.exists(yaml_path):
return yaml_path
@@ -179,24 +184,32 @@ class DirectoryLayout(object):
# If deprecator spec is None, assume deprecated_spec already deprecated
# and use its link to find the file.
- base_dir = self.path_for_spec(
- deprecator_spec
- ) if deprecator_spec else os.readlink(deprecated_spec.prefix)
+ base_dir = (
+ self.path_for_spec(deprecator_spec)
+ if deprecator_spec
+ else os.readlink(deprecated_spec.prefix)
+ )
- yaml_path = os.path.join(base_dir, self.metadata_dir,
- self.deprecated_dir, deprecated_spec.dag_hash()
- + '_' + self._spec_file_name_yaml)
-
- json_path = os.path.join(base_dir, self.metadata_dir,
- self.deprecated_dir, deprecated_spec.dag_hash()
- + '_' + self.spec_file_name)
+ yaml_path = os.path.join(
+ base_dir,
+ self.metadata_dir,
+ self.deprecated_dir,
+ deprecated_spec.dag_hash() + "_" + self._spec_file_name_yaml,
+ )
+
+ json_path = os.path.join(
+ base_dir,
+ self.metadata_dir,
+ self.deprecated_dir,
+ deprecated_spec.dag_hash() + "_" + self.spec_file_name,
+ )
- if (os.path.exists(yaml_path) and fs.can_write_to_dir(yaml_path)):
+ if os.path.exists(yaml_path) and fs.can_write_to_dir(yaml_path):
self.write_spec(deprecated_spec, json_path)
try:
os.remove(yaml_path)
except (IOError, OSError) as err:
- tty.debug('Could not remove deprecated {0}'.format(yaml_path))
+ tty.debug("Could not remove deprecated {0}".format(yaml_path))
tty.debug(err)
elif os.path.exists(yaml_path):
return yaml_path
@@ -231,7 +244,7 @@ class DirectoryLayout(object):
group = get_package_group(spec)
perms = get_package_dir_permissions(spec)
- fs.mkdirp(spec.prefix, mode=perms, group=group, default_perms='parents')
+ fs.mkdirp(spec.prefix, mode=perms, group=group, default_perms="parents")
fs.mkdirp(self.metadata_path(spec), mode=perms, group=group) # in prefix
self.write_spec(spec, self.spec_file_path(spec))
@@ -249,17 +262,19 @@ class DirectoryLayout(object):
if not os.path.isdir(path):
raise InconsistentInstallDirectoryError(
- "Install prefix {0} does not exist.".format(path))
+ "Install prefix {0} does not exist.".format(path)
+ )
if not os.path.isfile(spec_file_path):
raise InconsistentInstallDirectoryError(
- 'Install prefix exists but contains no spec.json:',
- " " + path)
+ "Install prefix exists but contains no spec.json:", " " + path
+ )
installed_spec = self.read_spec(spec_file_path)
if installed_spec.dag_hash() != spec.dag_hash():
raise InconsistentInstallDirectoryError(
- 'Spec file in %s does not match hash!' % spec_file_path)
+ "Spec file in %s does not match hash!" % spec_file_path
+ )
def all_specs(self):
if not os.path.isdir(self.root):
@@ -269,11 +284,11 @@ class DirectoryLayout(object):
for _, path_scheme in self.projections.items():
path_elems = ["*"] * len(path_scheme.split(posixpath.sep))
# NOTE: Does not validate filename extension; should happen later
- path_elems += [self.metadata_dir, 'spec.json']
+ path_elems += [self.metadata_dir, "spec.json"]
pattern = os.path.join(self.root, *path_elems)
spec_files = glob.glob(pattern)
if not spec_files: # we're probably looking at legacy yaml...
- path_elems += [self.metadata_dir, 'spec.yaml']
+ path_elems += [self.metadata_dir, "spec.yaml"]
pattern = os.path.join(self.root, *path_elems)
spec_files = glob.glob(pattern)
specs.extend([self.read_spec(s) for s in spec_files])
@@ -287,15 +302,19 @@ class DirectoryLayout(object):
for _, path_scheme in self.projections.items():
path_elems = ["*"] * len(path_scheme.split(posixpath.sep))
# NOTE: Does not validate filename extension; should happen later
- path_elems += [self.metadata_dir, self.deprecated_dir,
- '*_spec.*'] # + self.spec_file_name]
+ path_elems += [
+ self.metadata_dir,
+ self.deprecated_dir,
+ "*_spec.*",
+ ] # + self.spec_file_name]
pattern = os.path.join(self.root, *path_elems)
spec_files = glob.glob(pattern)
get_depr_spec_file = lambda x: os.path.join(
- os.path.dirname(os.path.dirname(x)), self.spec_file_name)
- deprecated_specs |= set((self.read_spec(s),
- self.read_spec(get_depr_spec_file(s)))
- for s in spec_files)
+ os.path.dirname(os.path.dirname(x)), self.spec_file_name
+ )
+ deprecated_specs |= set(
+ (self.read_spec(s), self.read_spec(get_depr_spec_file(s))) for s in spec_files
+ )
return deprecated_specs
def specs_by_hash(self):
@@ -311,29 +330,31 @@ class DirectoryLayout(object):
if spec.external:
return spec.external_path
if self.check_upstream:
- upstream, record = spack.store.db.query_by_spec_hash(
- spec.dag_hash())
+ upstream, record = spack.store.db.query_by_spec_hash(spec.dag_hash())
if upstream:
raise SpackError(
"Internal error: attempted to call path_for_spec on"
- " upstream-installed package.")
+ " upstream-installed package."
+ )
path = self.relative_path_for_spec(spec)
- assert(not path.startswith(self.root))
+ assert not path.startswith(self.root)
return os.path.join(self.root, path)
def remove_install_directory(self, spec, deprecated=False):
"""Removes a prefix and any empty parent directories from the root.
- Raised RemoveFailedError if something goes wrong.
+ Raised RemoveFailedError if something goes wrong.
"""
path = self.path_for_spec(spec)
- assert(path.startswith(self.root))
+ assert path.startswith(self.root)
# Windows readonly files cannot be removed by Python
# directly, change permissions before attempting to remove
if is_windows:
- kwargs = {'ignore_errors': False,
- 'onerror': fs.readonly_file_handler(ignore_errors=False)}
+ kwargs = {
+ "ignore_errors": False,
+ "onerror": fs.readonly_file_handler(ignore_errors=False),
+ }
else:
kwargs = {} # the default value for ignore_errors is false
@@ -370,12 +391,13 @@ class DirectoryLayout(object):
class ExtensionsLayout(object):
"""A directory layout is used to associate unique paths with specs for
- package extensions.
- Keeps track of which extensions are activated for what package.
- Depending on the use case, this can mean globally activated extensions
- directly in the installation folder - or extensions activated in
- filesystem views.
+ package extensions.
+ Keeps track of which extensions are activated for what package.
+ Depending on the use case, this can mean globally activated extensions
+ directly in the installation folder - or extensions activated in
+ filesystem views.
"""
+
def __init__(self, view, **kwargs):
self.view = view
@@ -386,23 +408,23 @@ class ExtensionsLayout(object):
def check_activated(self, spec, ext_spec):
"""Ensure that ext_spec can be removed from spec.
- If not, raise NoSuchExtensionError.
+ If not, raise NoSuchExtensionError.
"""
raise NotImplementedError()
def check_extension_conflict(self, spec, ext_spec):
"""Ensure that ext_spec can be activated in spec.
- If not, raise ExtensionAlreadyInstalledError or
- ExtensionConflictError.
+ If not, raise ExtensionAlreadyInstalledError or
+ ExtensionConflictError.
"""
raise NotImplementedError()
def extension_map(self, spec):
"""Get a dict of currently installed extension packages for a spec.
- Dict maps { name : extension_spec }
- Modifying dict does not affect internals of this layout.
+ Dict maps { name : extension_spec }
+ Modifying dict does not affect internals of this layout.
"""
raise NotImplementedError()
@@ -417,15 +439,15 @@ class ExtensionsLayout(object):
class YamlViewExtensionsLayout(ExtensionsLayout):
- """Maintain extensions within a view.
- """
+ """Maintain extensions within a view."""
+
def __init__(self, view, layout):
"""layout is the corresponding YamlDirectoryLayout object for which
- we implement extensions.
+ we implement extensions.
"""
super(YamlViewExtensionsLayout, self).__init__(view)
self.layout = layout
- self.extension_file_name = 'extensions.yaml'
+ self.extension_file_name = "extensions.yaml"
# Cache of already written/read extension maps.
self._extension_maps = {}
@@ -458,23 +480,25 @@ class YamlViewExtensionsLayout(ExtensionsLayout):
def extension_file_path(self, spec):
"""Gets full path to an installed package's extension file, which
- keeps track of all the extensions for that package which have been
- added to this view.
+ keeps track of all the extensions for that package which have been
+ added to this view.
"""
_check_concrete(spec)
- normalize_path = lambda p: (
- os.path.abspath(p).rstrip(os.path.sep))
+ normalize_path = lambda p: (os.path.abspath(p).rstrip(os.path.sep))
view_prefix = self.view.get_projection_for_spec(spec)
if normalize_path(spec.prefix) == normalize_path(view_prefix):
# For backwards compatibility, when the view is the extended
# package's installation directory, do not include the spec name
# as a subdirectory.
- components = [view_prefix, self.layout.metadata_dir,
- self.extension_file_name]
+ components = [view_prefix, self.layout.metadata_dir, self.extension_file_name]
else:
- components = [view_prefix, self.layout.metadata_dir, spec.name,
- self.extension_file_name]
+ components = [
+ view_prefix,
+ self.layout.metadata_dir,
+ spec.name,
+ self.extension_file_name,
+ ]
return os.path.join(*components)
@@ -497,7 +521,7 @@ class YamlViewExtensionsLayout(ExtensionsLayout):
def _extension_map(self, spec):
"""Get a dict<name -> spec> for all extensions currently
- installed for this package."""
+ installed for this package."""
_check_concrete(spec)
if spec not in self._extension_maps:
@@ -510,20 +534,22 @@ class YamlViewExtensionsLayout(ExtensionsLayout):
exts = {}
with open(path) as ext_file:
yaml_file = yaml.load(ext_file)
- for entry in yaml_file['extensions']:
+ for entry in yaml_file["extensions"]:
name = next(iter(entry))
- dag_hash = entry[name]['hash']
- prefix = entry[name]['path']
+ dag_hash = entry[name]["hash"]
+ prefix = entry[name]["path"]
if dag_hash not in by_hash:
raise InvalidExtensionSpecError(
- "Spec %s not found in %s" % (dag_hash, prefix))
+ "Spec %s not found in %s" % (dag_hash, prefix)
+ )
ext_spec = by_hash[dag_hash]
if prefix != ext_spec.prefix:
raise InvalidExtensionSpecError(
"Prefix %s does not match spec hash %s: %s"
- % (prefix, dag_hash, ext_spec))
+ % (prefix, dag_hash, ext_spec)
+ )
exts[ext_spec.name] = ext_spec
self._extension_maps[spec] = exts
@@ -542,18 +568,21 @@ class YamlViewExtensionsLayout(ExtensionsLayout):
dirname, basename = os.path.split(path)
fs.mkdirp(dirname)
- tmp = tempfile.NamedTemporaryFile(
- prefix=basename, dir=dirname, delete=False)
+ tmp = tempfile.NamedTemporaryFile(prefix=basename, dir=dirname, delete=False)
# write tmp file
with tmp:
- yaml.dump({
- 'extensions': [
- {ext.name: {
- 'hash': ext.dag_hash(),
- 'path': str(ext.prefix)
- }} for ext in sorted(extensions.values())]
- }, tmp, default_flow_style=False, encoding='utf-8')
+ yaml.dump(
+ {
+ "extensions": [
+ {ext.name: {"hash": ext.dag_hash(), "path": str(ext.prefix)}}
+ for ext in sorted(extensions.values())
+ ]
+ },
+ tmp,
+ default_flow_style=False,
+ encoding="utf-8",
+ )
# Atomic update by moving tmpfile on top of old one.
fs.rename(tmp.name, path)
@@ -571,8 +600,8 @@ class RemoveFailedError(DirectoryLayoutError):
def __init__(self, installed_spec, prefix, error):
super(RemoveFailedError, self).__init__(
- 'Could not remove prefix %s for %s : %s'
- % (prefix, installed_spec.short_spec, error))
+ "Could not remove prefix %s for %s : %s" % (prefix, installed_spec.short_spec, error)
+ )
self.cause = error
@@ -580,8 +609,7 @@ class InconsistentInstallDirectoryError(DirectoryLayoutError):
"""Raised when a package seems to be installed to the wrong place."""
def __init__(self, message, long_msg=None):
- super(InconsistentInstallDirectoryError, self).__init__(
- message, long_msg)
+ super(InconsistentInstallDirectoryError, self).__init__(message, long_msg)
class SpecReadError(DirectoryLayoutError):
@@ -592,8 +620,7 @@ class InvalidDirectoryLayoutParametersError(DirectoryLayoutError):
"""Raised when a invalid directory layout parameters are supplied"""
def __init__(self, message, long_msg=None):
- super(InvalidDirectoryLayoutParametersError, self).__init__(
- message, long_msg)
+ super(InvalidDirectoryLayoutParametersError, self).__init__(message, long_msg)
class InvalidExtensionSpecError(DirectoryLayoutError):
@@ -605,8 +632,8 @@ class ExtensionAlreadyInstalledError(DirectoryLayoutError):
def __init__(self, spec, ext_spec):
super(ExtensionAlreadyInstalledError, self).__init__(
- "%s is already installed in %s"
- % (ext_spec.short_spec, spec.short_spec))
+ "%s is already installed in %s" % (ext_spec.short_spec, spec.short_spec)
+ )
class ExtensionConflictError(DirectoryLayoutError):
@@ -615,7 +642,8 @@ class ExtensionConflictError(DirectoryLayoutError):
def __init__(self, spec, ext_spec, conflict):
super(ExtensionConflictError, self).__init__(
"%s cannot be installed in %s because it conflicts with %s"
- % (ext_spec.short_spec, spec.short_spec, conflict.short_spec))
+ % (ext_spec.short_spec, spec.short_spec, conflict.short_spec)
+ )
class NoSuchExtensionError(DirectoryLayoutError):
@@ -624,4 +652,5 @@ class NoSuchExtensionError(DirectoryLayoutError):
def __init__(self, spec, ext_spec):
super(NoSuchExtensionError, self).__init__(
"%s cannot be removed from %s because it's not activated."
- % (ext_spec.short_spec, spec.short_spec))
+ % (ext_spec.short_spec, spec.short_spec)
+ )
diff --git a/lib/spack/spack/environment/__init__.py b/lib/spack/spack/environment/__init__.py
index add58261e6..e8c45148ec 100644
--- a/lib/spack/spack/environment/__init__.py
+++ b/lib/spack/spack/environment/__init__.py
@@ -359,30 +359,30 @@ from .environment import (
)
__all__ = [
- 'Environment',
- 'SpackEnvironmentError',
- 'SpackEnvironmentViewError',
- 'activate',
- 'active',
- 'active_environment',
- 'all_environment_names',
- 'all_environments',
- 'config_dict',
- 'create',
- 'deactivate',
- 'default_manifest_yaml',
- 'default_view_name',
- 'display_specs',
- 'exists',
- 'installed_specs',
- 'is_env_dir',
- 'is_latest_format',
- 'lockfile_name',
- 'manifest_file',
- 'manifest_name',
- 'no_active_environment',
- 'read',
- 'root',
- 'spack_env_var',
- 'update_yaml',
+ "Environment",
+ "SpackEnvironmentError",
+ "SpackEnvironmentViewError",
+ "activate",
+ "active",
+ "active_environment",
+ "all_environment_names",
+ "all_environments",
+ "config_dict",
+ "create",
+ "deactivate",
+ "default_manifest_yaml",
+ "default_view_name",
+ "display_specs",
+ "exists",
+ "installed_specs",
+ "is_env_dir",
+ "is_latest_format",
+ "lockfile_name",
+ "manifest_file",
+ "manifest_name",
+ "no_active_environment",
+ "read",
+ "root",
+ "spack_env_var",
+ "update_yaml",
]
diff --git a/lib/spack/spack/environment/environment.py b/lib/spack/spack/environment/environment.py
index 83c33905aa..105b60642f 100644
--- a/lib/spack/spack/environment/environment.py
+++ b/lib/spack/spack/environment/environment.py
@@ -56,7 +56,7 @@ from spack.util.path import substitute_path_variables
from spack.variant import UnknownVariantError
#: environment variable used to indicate the active environment
-spack_env_var = 'SPACK_ENV'
+spack_env_var = "SPACK_ENV"
#: currently activated environment
@@ -64,19 +64,19 @@ _active_environment = None
#: path where environments are stored in the spack tree
-env_path = os.path.join(spack.paths.var_path, 'environments')
+env_path = os.path.join(spack.paths.var_path, "environments")
#: Name of the input yaml file for an environment
-manifest_name = 'spack.yaml'
+manifest_name = "spack.yaml"
#: Name of the input yaml file for an environment
-lockfile_name = 'spack.lock'
+lockfile_name = "spack.lock"
#: Name of the directory where environments store repos, logs, views
-env_subdir_name = '.spack-env'
+env_subdir_name = ".spack-env"
def default_manifest_yaml():
@@ -92,22 +92,24 @@ spack:
view: true
concretizer:
unify: {}
-""".format('true' if spack.config.get('concretizer:unify') else 'false')
+""".format(
+ "true" if spack.config.get("concretizer:unify") else "false"
+ )
#: regex for validating enviroment names
-valid_environment_name_re = r'^\w[\w-]*$'
+valid_environment_name_re = r"^\w[\w-]*$"
#: version of the lockfile format. Must increase monotonically.
lockfile_format_version = 4
# Magic names
# The name of the standalone spec list in the manifest yaml
-user_speclist_name = 'specs'
+user_speclist_name = "specs"
# The name of the default view (the view loaded on env.activate)
-default_view_name = 'default'
+default_view_name = "default"
# Default behavior to link all packages into views (vs. only root packages)
-default_view_link = 'all'
+default_view_link = "all"
def installed_specs():
@@ -126,9 +128,13 @@ def valid_env_name(name):
def validate_env_name(name):
if not valid_env_name(name):
- raise ValueError((
- "'%s': names must start with a letter, and only contain "
- "letters, numbers, _, and -.") % name)
+ raise ValueError(
+ (
+ "'%s': names must start with a letter, and only contain "
+ "letters, numbers, _, and -."
+ )
+ % name
+ )
return name
@@ -152,11 +158,11 @@ def activate(env, use_env_repo=False):
# Check if we need to reinitialize the store due to pushing the configuration
# below.
- install_tree_before = spack.config.get('config:install_tree')
- upstreams_before = spack.config.get('upstreams')
+ install_tree_before = spack.config.get("config:install_tree")
+ upstreams_before = spack.config.get("upstreams")
prepare_config_scope(env)
- install_tree_after = spack.config.get('config:install_tree')
- upstreams_after = spack.config.get('upstreams')
+ install_tree_after = spack.config.get("config:install_tree")
+ upstreams_after = spack.config.get("upstreams")
if install_tree_before != install_tree_after or upstreams_before != upstreams_after:
# Hack to store the state of the store before activation
env.store_token = spack.store.reinitialize()
@@ -179,9 +185,9 @@ def deactivate():
# If we attached a store token on activation, restore the previous state
# and consume the token
- if hasattr(_active_environment, 'store_token'):
+ if hasattr(_active_environment, "store_token"):
spack.store.restore(_active_environment.store_token)
- delattr(_active_environment, 'store_token')
+ delattr(_active_environment, "store_token")
deactivate_config_scope(_active_environment)
# use _repo so we only remove if a repo was actually constructed
@@ -223,8 +229,7 @@ def active(name):
def is_env_dir(path):
"""Whether a directory contains a spack environment."""
- return os.path.isdir(path) and os.path.exists(
- os.path.join(path, manifest_name))
+ return os.path.isdir(path) and os.path.exists(os.path.join(path, manifest_name))
def read(name):
@@ -274,15 +279,14 @@ def all_environments():
def _read_yaml(str_or_file):
"""Read YAML from a file for round-trip parsing."""
data = syaml.load_config(str_or_file)
- filename = getattr(str_or_file, 'name', None)
- default_data = spack.config.validate(
- data, spack.schema.env.schema, filename)
+ filename = getattr(str_or_file, "name", None)
+ default_data = spack.config.validate(data, spack.schema.env.schema, filename)
return (data, default_data)
def _write_yaml(data, str_or_file):
"""Write YAML to a file preserving comments and dict order."""
- filename = getattr(str_or_file, 'name', None)
+ filename = getattr(str_or_file, "name", None)
spack.config.validate(data, spack.schema.env.schema, filename)
syaml.dump_config(data, str_or_file, default_flow_style=False)
@@ -290,10 +294,12 @@ def _write_yaml(data, str_or_file):
def _eval_conditional(string):
"""Evaluate conditional definitions using restricted variable scope."""
valid_variables = spack.util.environment.get_host_environment()
- valid_variables.update({
- 're': re,
- 'env': os.environ,
- })
+ valid_variables.update(
+ {
+ "re": re,
+ "env": os.environ,
+ }
+ )
return eval(string, valid_variables)
@@ -302,7 +308,7 @@ def _is_dev_spec_and_has_changed(spec):
last installation"""
# First check if this is a dev build and in the process already try to get
# the dev_path
- dev_path_var = spec.variants.get('dev_path', None)
+ dev_path_var = spec.variants.get("dev_path", None)
if not dev_path_var:
return False
@@ -328,15 +334,14 @@ def _spec_needs_overwrite(spec, changed_dev_specs):
return True
# if spec and all deps aren't dev builds, we don't need to overwrite it
- if not any(spec.satisfies(c)
- for c in ('dev_path=*', '^dev_path=*')):
+ if not any(spec.satisfies(c) for c in ("dev_path=*", "^dev_path=*")):
return False
# If any dep needs overwrite, or any dep is missing and is a dev build then
# overwrite this package
if any(
- ((not dep.installed) and dep.satisfies('dev_path=*')) or
- _spec_needs_overwrite(dep, changed_dev_specs)
+ ((not dep.installed) and dep.satisfies("dev_path=*"))
+ or _spec_needs_overwrite(dep, changed_dev_specs)
for dep in spec.traverse(root=False)
):
return True
@@ -362,12 +367,21 @@ def _error_on_nonempty_view_dir(new_root):
raise SpackEnvironmentViewError(
"Failed to generate environment view, because the target {} already "
"exists or is not empty. To update the view, remove this path, and run "
- "`spack env view regenerate`".format(new_root))
+ "`spack env view regenerate`".format(new_root)
+ )
class ViewDescriptor(object):
- def __init__(self, base_path, root, projections={}, select=[], exclude=[],
- link=default_view_link, link_type='symlink'):
+ def __init__(
+ self,
+ base_path,
+ root,
+ projections={},
+ select=[],
+ exclude=[],
+ link=default_view_link,
+ link_type="symlink",
+ ):
self.base = base_path
self.root = spack.util.path.canonicalize_path(root)
self.projections = projections
@@ -383,45 +397,47 @@ class ViewDescriptor(object):
return not any(spec.satisfies(e) for e in self.exclude)
def __eq__(self, other):
- return all([self.root == other.root,
- self.projections == other.projections,
- self.select == other.select,
- self.exclude == other.exclude,
- self.link == other.link,
- self.link_type == other.link_type])
+ return all(
+ [
+ self.root == other.root,
+ self.projections == other.projections,
+ self.select == other.select,
+ self.exclude == other.exclude,
+ self.link == other.link,
+ self.link_type == other.link_type,
+ ]
+ )
def to_dict(self):
- ret = syaml.syaml_dict([('root', self.root)])
+ ret = syaml.syaml_dict([("root", self.root)])
if self.projections:
# projections guaranteed to be ordered dict if true-ish
# for python2.6, may be syaml or ruamel.yaml implementation
# so we have to check for both
- types = (
- collections.OrderedDict,
- syaml.syaml_dict,
- yaml.comments.CommentedMap
- )
+ types = (collections.OrderedDict, syaml.syaml_dict, yaml.comments.CommentedMap)
assert isinstance(self.projections, types)
- ret['projections'] = self.projections
+ ret["projections"] = self.projections
if self.select:
- ret['select'] = self.select
+ ret["select"] = self.select
if self.exclude:
- ret['exclude'] = self.exclude
+ ret["exclude"] = self.exclude
if self.link_type:
- ret['link_type'] = inverse_view_func_parser(self.link_type)
+ ret["link_type"] = inverse_view_func_parser(self.link_type)
if self.link != default_view_link:
- ret['link'] = self.link
+ ret["link"] = self.link
return ret
@staticmethod
def from_dict(base_path, d):
- return ViewDescriptor(base_path,
- d['root'],
- d.get('projections', {}),
- d.get('select', []),
- d.get('exclude', []),
- d.get('link', default_view_link),
- d.get('link_type', 'symlink'))
+ return ViewDescriptor(
+ base_path,
+ d["root"],
+ d.get("projections", {}),
+ d.get("select", []),
+ d.get("exclude", []),
+ d.get("link", default_view_link),
+ d.get("link_type", "symlink"),
+ )
@property
def _current_root(self):
@@ -439,13 +455,15 @@ class ViewDescriptor(object):
content_hash = self.content_hash(specs)
root_dir = os.path.dirname(self.root)
root_name = os.path.basename(self.root)
- return os.path.join(root_dir, '._%s' % root_name, content_hash)
+ return os.path.join(root_dir, "._%s" % root_name, content_hash)
def content_hash(self, specs):
- d = syaml.syaml_dict([
- ('descriptor', self.to_dict()),
- ('specs', [(spec.dag_hash(), spec.prefix) for spec in sorted(specs)])
- ])
+ d = syaml.syaml_dict(
+ [
+ ("descriptor", self.to_dict()),
+ ("specs", [(spec.dag_hash(), spec.prefix) for spec in sorted(specs)]),
+ ]
+ )
contents = sjson.dump(d)
return spack.util.hash.b32_hash(contents)
@@ -478,13 +496,18 @@ class ViewDescriptor(object):
root = new if new else self._current_root
if not root:
# This can only be hit if we write a future bug
- msg = ("Attempting to get nonexistent view from environment. "
- "View root is at %s" % self.root)
+ msg = (
+ "Attempting to get nonexistent view from environment. "
+ "View root is at %s" % self.root
+ )
raise SpackEnvironmentViewError(msg)
- return SimpleFilesystemView(root, spack.store.layout,
- ignore_conflicts=True,
- projections=self.projections,
- link=self.link_type)
+ return SimpleFilesystemView(
+ root,
+ spack.store.layout,
+ ignore_conflicts=True,
+ projections=self.projections,
+ link=self.link_type,
+ )
def __contains__(self, spec):
"""Is the spec described by the view descriptor
@@ -511,10 +534,10 @@ class ViewDescriptor(object):
specs = []
for s in concretized_root_specs:
- if self.link == 'all':
- specs.extend(s.traverse(deptype=('link', 'run')))
- elif self.link == 'run':
- specs.extend(s.traverse(deptype=('run')))
+ if self.link == "all":
+ specs.extend(s.traverse(deptype=("link", "run")))
+ elif self.link == "run":
+ specs.extend(s.traverse(deptype=("run")))
else:
specs.append(s)
@@ -557,7 +580,7 @@ class ViewDescriptor(object):
view = self.view(new=new_root)
root_dirname = os.path.dirname(self.root)
- tmp_symlink_name = os.path.join(root_dirname, '._view_link')
+ tmp_symlink_name = os.path.join(root_dirname, "._view_link")
# Create a new view
try:
@@ -584,9 +607,9 @@ class ViewDescriptor(object):
# against removal of an arbitrary path when the original symlink in self.root
# was not created by the environment, but by the user.
if (
- old_root and
- os.path.exists(old_root) and
- os.path.samefile(os.path.dirname(new_root), os.path.dirname(old_root))
+ old_root
+ and os.path.exists(old_root)
+ and os.path.samefile(os.path.dirname(new_root), os.path.dirname(old_root))
):
try:
shutil.rmtree(old_root)
@@ -636,7 +659,7 @@ class Environment(object):
# need to lock, because there are no Spack operations that alter
# the init file.
with fs.open_if_filename(init_file) as f:
- if hasattr(f, 'name') and f.name.endswith('.lock'):
+ if hasattr(f, "name") and f.name.endswith(".lock"):
self._read_manifest(default_manifest_yaml())
self._read_lockfile(f)
self._set_user_specs_from_lockfile()
@@ -645,8 +668,7 @@ class Environment(object):
# Rewrite relative develop paths when initializing a new
# environment in a different location from the spack.yaml file.
- if not keep_relative and hasattr(f, 'name') and \
- f.name.endswith('.yaml'):
+ if not keep_relative and hasattr(f, "name") and f.name.endswith(".yaml"):
init_file_dir = os.path.abspath(os.path.dirname(f.name))
self._rewrite_relative_paths_on_relocation(init_file_dir)
else:
@@ -656,45 +678,38 @@ class Environment(object):
if with_view is False:
self.views = {}
elif with_view is True:
- self.views = {
- default_view_name: ViewDescriptor(self.path,
- self.view_path_default)}
+ self.views = {default_view_name: ViewDescriptor(self.path, self.view_path_default)}
elif isinstance(with_view, six.string_types):
- self.views = {default_view_name: ViewDescriptor(self.path,
- with_view)}
+ self.views = {default_view_name: ViewDescriptor(self.path, with_view)}
# If with_view is None, then defer to the view settings determined by
# the manifest file
def __reduce__(self):
- return _create_environment, (
- self.path, self.init_file, self.with_view, self.keep_relative
- )
+ return _create_environment, (self.path, self.init_file, self.with_view, self.keep_relative)
def _rewrite_relative_paths_on_relocation(self, init_file_dir):
"""When initializing the environment from a manifest file and we plan
- to store the environment in a different directory, we have to rewrite
- relative paths to absolute ones."""
+ to store the environment in a different directory, we have to rewrite
+ relative paths to absolute ones."""
if init_file_dir == self.path:
return
for name, entry in self.dev_specs.items():
- dev_path = entry['path']
- expanded_path = os.path.normpath(os.path.join(
- init_file_dir, entry['path']))
+ dev_path = entry["path"]
+ expanded_path = os.path.normpath(os.path.join(init_file_dir, entry["path"]))
# Skip if the expanded path is the same (e.g. when absolute)
if dev_path == expanded_path:
continue
- tty.debug("Expanding develop path for {0} to {1}".format(
- name, expanded_path))
+ tty.debug("Expanding develop path for {0} to {1}".format(name, expanded_path))
- self.dev_specs[name]['path'] = expanded_path
+ self.dev_specs[name]["path"] = expanded_path
def _re_read(self):
"""Reinitialize the environment object if it has been written (this
- may not be true if the environment was just created in this running
- instance of Spack)."""
+ may not be true if the environment was just created in this running
+ instance of Spack)."""
if not os.path.exists(self.manifest_path):
return
@@ -720,7 +735,9 @@ class Environment(object):
if read_lock_version == 1:
tty.debug(
"Storing backup of old lockfile {0} at {1}".format(
- self.lock_path, self._lock_backup_v1_path))
+ self.lock_path, self._lock_backup_v1_path
+ )
+ )
shutil.copy(self.lock_path, self._lock_backup_v1_path)
def write_transaction(self):
@@ -737,9 +754,9 @@ class Environment(object):
self.spec_lists = collections.OrderedDict()
- for item in config_dict(self.yaml).get('definitions', []):
+ for item in config_dict(self.yaml).get("definitions", []):
entry = copy.deepcopy(item)
- when = _eval_conditional(entry.pop('when', 'True'))
+ when = _eval_conditional(entry.pop("when", "True"))
assert len(entry) == 1
if when:
name, spec_list = next(iter(entry.items()))
@@ -750,23 +767,23 @@ class Environment(object):
self.spec_lists[name] = user_specs
spec_list = config_dict(self.yaml).get(user_speclist_name, [])
- user_specs = SpecList(user_speclist_name, [s for s in spec_list if s],
- self.spec_lists.copy())
+ user_specs = SpecList(
+ user_speclist_name, [s for s in spec_list if s], self.spec_lists.copy()
+ )
self.spec_lists[user_speclist_name] = user_specs
- enable_view = config_dict(self.yaml).get('view')
+ enable_view = config_dict(self.yaml).get("view")
# enable_view can be boolean, string, or None
if enable_view is True or enable_view is None:
- self.views = {
- default_view_name: ViewDescriptor(self.path,
- self.view_path_default)}
+ self.views = {default_view_name: ViewDescriptor(self.path, self.view_path_default)}
elif isinstance(enable_view, six.string_types):
- self.views = {default_view_name: ViewDescriptor(self.path,
- enable_view)}
+ self.views = {default_view_name: ViewDescriptor(self.path, enable_view)}
elif enable_view:
path = self.path
- self.views = dict((name, ViewDescriptor.from_dict(path, values))
- for name, values in enable_view.items())
+ self.views = dict(
+ (name, ViewDescriptor.from_dict(path, values))
+ for name, values in enable_view.items()
+ )
else:
self.views = {}
# Retrieve the current concretization strategy
@@ -775,20 +792,20 @@ class Environment(object):
# Let `concretization` overrule `concretize:unify` config for now,
# but use a translation table to have internally a representation
# as if we were using the new configuration
- translation = {'separately': False, 'together': True}
+ translation = {"separately": False, "together": True}
try:
- self.unify = translation[configuration['concretization']]
+ self.unify = translation[configuration["concretization"]]
except KeyError:
- self.unify = spack.config.get('concretizer:unify', False)
+ self.unify = spack.config.get("concretizer:unify", False)
# Retrieve dev-build packages:
- self.dev_specs = configuration.get('develop', {})
+ self.dev_specs = configuration.get("develop", {})
for name, entry in self.dev_specs.items():
# spec must include a concrete version
- assert Spec(entry['spec']).version.concrete
+ assert Spec(entry["spec"]).version.concrete
# default path is the spec name
- if 'path' not in entry:
- self.dev_specs[name]['path'] = name
+ if "path" not in entry:
+ self.dev_specs[name]["path"] = name
@property
def user_specs(self):
@@ -798,8 +815,7 @@ class Environment(object):
"""Copy user_specs from a read-in lockfile."""
self.spec_lists = {
user_speclist_name: SpecList(
- user_speclist_name,
- [str(s) for s in self.concretized_user_specs]
+ user_speclist_name, [str(s) for s in self.concretized_user_specs]
)
}
@@ -813,16 +829,16 @@ class Environment(object):
environment.
"""
self.spec_lists = {user_speclist_name: SpecList()} # specs from yaml
- self.dev_specs = {} # dev-build specs from yaml
+ self.dev_specs = {} # dev-build specs from yaml
self.concretized_user_specs = [] # user specs from last concretize
- self.concretized_order = [] # roots of last concretize, in order
- self.specs_by_hash = {} # concretized specs by hash
- self._repo = None # RepoPath for this env (memoized)
- self._previous_active = None # previously active environment
+ self.concretized_order = [] # roots of last concretize, in order
+ self.specs_by_hash = {} # concretized specs by hash
+ self._repo = None # RepoPath for this env (memoized)
+ self._previous_active = None # previously active environment
if not re_read:
# things that cannot be recreated from file
- self.new_specs = [] # write packages for these on write()
- self.new_installs = [] # write modules for these on write()
+ self.new_specs = [] # write packages for these on write()
+ self.new_installs = [] # write modules for these on write()
@property
def internal(self):
@@ -856,7 +872,7 @@ class Environment(object):
"""The location of the lock file used to synchronize multiple
processes updating the same environment.
"""
- return os.path.join(self.env_subdir_path, 'transaction_lock')
+ return os.path.join(self.env_subdir_path, "transaction_lock")
@property
def lock_path(self):
@@ -866,7 +882,7 @@ class Environment(object):
@property
def _lock_backup_v1_path(self):
"""Path to backup of v1 lockfile before conversion to v2"""
- return self.lock_path + '.backup.v1'
+ return self.lock_path + ".backup.v1"
@property
def env_subdir_path(self):
@@ -875,16 +891,16 @@ class Environment(object):
@property
def repos_path(self):
- return os.path.join(self.path, env_subdir_name, 'repos')
+ return os.path.join(self.path, env_subdir_name, "repos")
@property
def log_path(self):
- return os.path.join(self.path, env_subdir_name, 'logs')
+ return os.path.join(self.path, env_subdir_name, "logs")
@property
def view_path_default(self):
# default path for environment views
- return os.path.join(self.env_subdir_path, 'view')
+ return os.path.join(self.env_subdir_path, "view")
@property
def repo(self):
@@ -906,7 +922,7 @@ class Environment(object):
# load config scopes added via 'include:', in reverse so that
# highest-precedence scopes are last.
- includes = config_dict(self.yaml).get('include', [])
+ includes = config_dict(self.yaml).get("include", [])
missing = []
for i, config_path in enumerate(reversed(includes)):
# allow paths to contain spack config/environment variables, etc.
@@ -919,14 +935,14 @@ class Environment(object):
if os.path.isdir(config_path):
# directories are treated as regular ConfigScopes
- config_name = 'env:%s:%s' % (
- self.name, os.path.basename(config_path))
+ config_name = "env:%s:%s" % (self.name, os.path.basename(config_path))
scope = spack.config.ConfigScope(config_name, config_path)
elif os.path.exists(config_path):
# files are assumed to be SingleFileScopes
- config_name = 'env:%s:%s' % (self.name, config_path)
+ config_name = "env:%s:%s" % (self.name, config_path)
scope = spack.config.SingleFileScope(
- config_name, config_path, spack.schema.merged.schema)
+ config_name, config_path, spack.schema.merged.schema
+ )
else:
missing.append(config_path)
continue
@@ -934,15 +950,15 @@ class Environment(object):
scopes.append(scope)
if missing:
- msg = 'Detected {0} missing include path(s):'.format(len(missing))
- msg += '\n {0}'.format('\n '.join(missing))
- tty.die('{0}\nPlease correct and try again.'.format(msg))
+ msg = "Detected {0} missing include path(s):".format(len(missing))
+ msg += "\n {0}".format("\n ".join(missing))
+ tty.die("{0}\nPlease correct and try again.".format(msg))
return scopes
def env_file_config_scope_name(self):
"""Name of the config scope of this environment's manifest file."""
- return 'env:%s' % self.name
+ return "env:%s" % self.name
def env_file_config_scope(self):
"""Get the configuration scope for the environment's manifest file."""
@@ -951,8 +967,8 @@ class Environment(object):
config_name,
self.manifest_path,
spack.schema.env.schema,
- [spack.config.first_existing(self.raw_yaml,
- spack.schema.env.keys)])
+ [spack.config.first_existing(self.raw_yaml, spack.schema.env.keys)],
+ )
def config_scopes(self):
"""A list of all configuration scopes for this environment."""
@@ -971,10 +987,9 @@ class Environment(object):
# spec_lists is an OrderedDict, all list entries after the modified
# list may refer to the modified list. Update stale references
for i, (name, speclist) in enumerate(
- list(self.spec_lists.items())[index + 1:], index + 1
+ list(self.spec_lists.items())[index + 1 :], index + 1
):
- new_reference = dict((n, self.spec_lists[n])
- for n in list(self.spec_lists.keys())[:i])
+ new_reference = dict((n, self.spec_lists[n]) for n in list(self.spec_lists.keys())[:i])
speclist.update_reference(new_reference)
def add(self, user_spec, list_name=user_speclist_name):
@@ -989,17 +1004,16 @@ class Environment(object):
if list_name not in self.spec_lists:
raise SpackEnvironmentError(
- 'No list %s exists in environment %s' % (list_name, self.name)
+ "No list %s exists in environment %s" % (list_name, self.name)
)
if list_name == user_speclist_name:
if not spec.name:
- raise SpackEnvironmentError(
- 'cannot add anonymous specs to an environment!')
+ raise SpackEnvironmentError("cannot add anonymous specs to an environment!")
elif not spack.repo.path.exists(spec.name):
virtuals = spack.repo.path.provider_index.providers.keys()
if spec.name not in virtuals:
- msg = 'no such package: %s' % spec.name
+ msg = "no such package: %s" % spec.name
raise SpackEnvironmentError(msg)
list_to_change = self.spec_lists[list_name]
@@ -1023,18 +1037,12 @@ class Environment(object):
if not matches:
# concrete specs match against concrete specs in the env
# by dag hash.
- specs_hashes = zip(
- self.concretized_user_specs, self.concretized_order
- )
+ specs_hashes = zip(self.concretized_user_specs, self.concretized_order)
- matches = [
- s for s, h in specs_hashes
- if query_spec.dag_hash() == h
- ]
+ matches = [s for s, h in specs_hashes if query_spec.dag_hash() == h]
if not matches:
- raise SpackEnvironmentError(
- "Not found: {0}".format(query_spec))
+ raise SpackEnvironmentError("Not found: {0}".format(query_spec))
old_specs = set(self.user_specs)
new_specs = set()
@@ -1084,18 +1092,16 @@ class Environment(object):
spec = spec.copy() # defensive copy since we access cached attributes
if not spec.versions.concrete:
- raise SpackEnvironmentError(
- 'Cannot develop spec %s without a concrete version' % spec)
+ raise SpackEnvironmentError("Cannot develop spec %s without a concrete version" % spec)
for name, entry in self.dev_specs.items():
if name == spec.name:
- e_spec = Spec(entry['spec'])
- e_path = entry['path']
+ e_spec = Spec(entry["spec"])
+ e_path = entry["path"]
if e_spec == spec:
if path == e_path:
- tty.msg("Spec %s already configured for development" %
- spec)
+ tty.msg("Spec %s already configured for development" % spec)
return False
else:
tty.msg("Updating development path for spec %s" % spec)
@@ -1106,8 +1112,7 @@ class Environment(object):
tty.msg(msg)
break
else:
- tty.msg("Configuring spec %s for development at path %s" %
- (spec, path))
+ tty.msg("Configuring spec %s for development at path %s" % (spec, path))
if clone:
# "steal" the source code via staging API
@@ -1122,7 +1127,7 @@ class Environment(object):
pkg_cls(spec).stage.steal_source(abspath)
# If it wasn't already in the list, append it
- self.dev_specs[spec.name] = {'path': path, 'spec': str(spec)}
+ self.dev_specs[spec.name] = {"path": path, "spec": str(spec)}
return True
def undevelop(self, spec):
@@ -1165,7 +1170,7 @@ class Environment(object):
self.specs_by_hash = {}
# Pick the right concretization strategy
- if self.unify == 'when_possible':
+ if self.unify == "when_possible":
return self._concretize_together_where_possible(tests=tests)
if self.unify is True:
@@ -1174,7 +1179,7 @@ class Environment(object):
if self.unify is False:
return self._concretize_separately(tests=tests)
- msg = 'concretization strategy not implemented [{0}]'
+ msg = "concretization strategy not implemented [{0}]"
raise SpackEnvironmentError(msg.format(self.unify))
def _concretize_together_where_possible(self, tests=False):
@@ -1226,9 +1231,11 @@ class Environment(object):
duplicates.append(name)
if duplicates:
- msg = ('environment that are configured to concretize specs'
- ' together cannot contain more than one spec for each'
- ' package [{0}]'.format(', '.join(duplicates)))
+ msg = (
+ "environment that are configured to concretize specs"
+ " together cannot contain more than one spec for each"
+ " package [{0}]".format(", ".join(duplicates))
+ )
raise SpackEnvironmentError(msg)
# Proceed with concretization
@@ -1236,9 +1243,7 @@ class Environment(object):
self.concretized_order = []
self.specs_by_hash = {}
- concrete_specs = spack.concretize.concretize_specs_together(
- *self.user_specs, tests=tests
- )
+ concrete_specs = spack.concretize.concretize_specs_together(*self.user_specs, tests=tests)
concretized_specs = [x for x in zip(self.user_specs, concrete_specs)]
for abstract, concrete in concretized_specs:
self._add_concrete_spec(abstract, concrete)
@@ -1264,15 +1269,13 @@ class Environment(object):
# Concretize any new user specs that we haven't concretized yet
arguments, root_specs = [], []
- for uspec, uspec_constraints in zip(
- self.user_specs, self.user_specs.specs_as_constraints
- ):
+ for uspec, uspec_constraints in zip(self.user_specs, self.user_specs.specs_as_constraints):
if uspec not in old_concretized_user_specs:
root_specs.append(uspec)
arguments.append((uspec_constraints, tests))
# Ensure we don't try to bootstrap clingo in parallel
- if spack.config.get('config:concretizer') == 'clingo':
+ if spack.config.get("config:concretizer") == "clingo":
with spack.bootstrap.ensure_bootstrap_configuration():
spack.bootstrap.ensure_clingo_importable_or_raise()
@@ -1293,26 +1296,22 @@ class Environment(object):
# Solve the environment in parallel on Linux
start = time.time()
- max_processes = min(
- len(arguments), # Number of specs
- 16 # Cap on 16 cores
- )
+ max_processes = min(len(arguments), 16) # Number of specs # Cap on 16 cores
# TODO: revisit this print as soon as darwin is parallel too
- msg = 'Starting concretization'
- if sys.platform != 'darwin':
+ msg = "Starting concretization"
+ if sys.platform != "darwin":
pool_size = spack.util.parallel.num_processes(max_processes=max_processes)
if pool_size > 1:
- msg = msg + ' pool with {0} processes'.format(pool_size)
+ msg = msg + " pool with {0} processes".format(pool_size)
tty.msg(msg)
concretized_root_specs = spack.util.parallel.parallel_map(
- _concretize_task, arguments, max_processes=max_processes,
- debug=tty.is_debug()
+ _concretize_task, arguments, max_processes=max_processes, debug=tty.is_debug()
)
finish = time.time()
- tty.msg('Environment concretized in %.2f seconds.' % (finish - start))
+ tty.msg("Environment concretized in %.2f seconds." % (finish - start))
by_hash = {}
for abstract, concrete in zip(root_specs, concretized_root_specs):
self._add_concrete_spec(abstract, concrete)
@@ -1328,17 +1327,17 @@ class Environment(object):
for h in self.specs_by_hash:
current_spec, computed_spec = self.specs_by_hash[h], by_hash[h]
for node in computed_spec.traverse():
- test_deps = node.dependencies(deptype='test')
+ test_deps = node.dependencies(deptype="test")
for test_dependency in test_deps:
if test_dependency in current_spec[node.name]:
continue
current_spec[node.name].add_dependency_edge(
- test_dependency.copy(), deptype='test'
+ test_dependency.copy(), deptype="test"
)
results = [
- (abstract, self.specs_by_hash[h]) for abstract, h in
- zip(self.concretized_user_specs, self.concretized_order)
+ (abstract, self.specs_by_hash[h])
+ for abstract, h in zip(self.concretized_user_specs, self.concretized_order)
]
return results
@@ -1356,10 +1355,12 @@ class Environment(object):
result of concretizing the provided ``user_spec``
"""
if self.unify is True:
- msg = 'cannot install a single spec in an environment that is ' \
- 'configured to be concretized together. Run instead:\n\n' \
- ' $ spack add <spec>\n' \
- ' $ spack install\n'
+ msg = (
+ "cannot install a single spec in an environment that is "
+ "configured to be concretized together. Run instead:\n\n"
+ " $ spack add <spec>\n"
+ " $ spack install\n"
+ )
raise SpackEnvironmentError(msg)
spec = Spec(user_spec)
@@ -1370,9 +1371,7 @@ class Environment(object):
else:
# spec might be in the user_specs, but not installed.
# TODO: Redo name-based comparison for old style envs
- spec = next(
- s for s in self.user_specs if s.satisfies(user_spec)
- )
+ spec = next(s for s in self.user_specs if s.satisfies(user_spec))
concrete = self.specs_by_hash.get(spec.dag_hash())
if not concrete:
concrete = spec.concretized(tests=tests)
@@ -1383,12 +1382,12 @@ class Environment(object):
@property
def default_view(self):
if not self.views:
- raise SpackEnvironmentError(
- "{0} does not have a view enabled".format(self.name))
+ raise SpackEnvironmentError("{0} does not have a view enabled".format(self.name))
if default_view_name not in self.views:
raise SpackEnvironmentError(
- "{0} does not have a default view enabled".format(self.name))
+ "{0} does not have a default view enabled".format(self.name)
+ )
return self.views[default_view_name]
@@ -1407,8 +1406,7 @@ class Environment(object):
def regenerate_views(self):
if not self.views:
- tty.debug("Skip view update, this environment does not"
- " maintain a view")
+ tty.debug("Skip view update, this environment does not" " maintain a view")
return
concretized_root_specs = [s for _, s in self.concretized_specs()]
@@ -1426,13 +1424,12 @@ class Environment(object):
msg = '{0} in view "{1}"'
tty.debug(msg.format(spec.name, view_name))
- except (spack.repo.UnknownPackageError,
- spack.repo.UnknownNamespaceError) as e:
+ except (spack.repo.UnknownPackageError, spack.repo.UnknownNamespaceError) as e:
tty.warn(e)
tty.warn(
- 'Environment %s includes out of date packages or repos. '
- 'Loading the environment view will require reconcretization.'
- % self.name)
+ "Environment %s includes out of date packages or repos. "
+ "Loading the environment view will require reconcretization." % self.name
+ )
def _env_modifications_for_default_view(self, reverse=False):
all_mods = spack.util.environment.EnvironmentModifications()
@@ -1441,9 +1438,8 @@ class Environment(object):
errors = []
for _, root_spec in self.concretized_specs():
- if (root_spec in self.default_view and
- root_spec.installed and root_spec.package):
- for spec in root_spec.traverse(deptype='run', root=True):
+ if root_spec in self.default_view and root_spec.installed and root_spec.package:
+ for spec in root_spec.traverse(deptype="run", root=True):
if spec.name in visited:
# It is expected that only one instance of the package
# can be added to the environment - do not attempt to
@@ -1459,11 +1455,11 @@ class Environment(object):
visited.add(spec.name)
try:
- mods = uenv.environment_modifications_for_spec(
- spec, self.default_view)
+ mods = uenv.environment_modifications_for_spec(spec, self.default_view)
except Exception as e:
- msg = ("couldn't get environment settings for %s"
- % spec.format("{name}@{version} /{hash:7}"))
+ msg = "couldn't get environment settings for %s" % spec.format(
+ "{name}@{version} /{hash:7}"
+ )
errors.append((msg, str(e)))
continue
@@ -1484,8 +1480,7 @@ class Environment(object):
# No default view to add to shell
return env_mod
- env_mod.extend(uenv.unconditional_environment_modifications(
- self.default_view))
+ env_mod.extend(uenv.unconditional_environment_modifications(self.default_view))
mods, errors = self._env_modifications_for_default_view()
env_mod.extend(mods)
@@ -1512,8 +1507,7 @@ class Environment(object):
# No default view to add to shell
return env_mod
- env_mod.extend(uenv.unconditional_environment_modifications(
- self.default_view).reversed())
+ env_mod.extend(uenv.unconditional_environment_modifications(self.default_view).reversed())
mods, _ = self._env_modifications_for_default_view(reverse=True)
env_mod.extend(mods)
@@ -1553,11 +1547,11 @@ class Environment(object):
root_spec = self.specs_by_hash[dag_hash]
specs_to_check.update(root_spec.traverse(root=True))
- changed_dev_specs = set(s for s in specs_to_check if
- _is_dev_spec_and_has_changed(s))
+ changed_dev_specs = set(s for s in specs_to_check if _is_dev_spec_and_has_changed(s))
- return [s.dag_hash() for s in specs_to_check if
- _spec_needs_overwrite(s, changed_dev_specs)]
+ return [
+ s.dag_hash() for s in specs_to_check if _spec_needs_overwrite(s, changed_dev_specs)
+ ]
def _install_log_links(self, spec):
if not spec.external:
@@ -1568,7 +1562,8 @@ class Environment(object):
with fs.working_dir(self.path):
# Link the resulting log file into logs dir
build_log_link = os.path.join(
- log_path, '%s-%s.log' % (spec.name, spec.dag_hash(7)))
+ log_path, "%s-%s.log" % (spec.name, spec.dag_hash(7))
+ )
if os.path.lexists(build_log_link):
os.remove(build_log_link)
symlink(spec.package.build_log_path, build_log_link)
@@ -1583,8 +1578,7 @@ class Environment(object):
for concretized_hash in self.concretized_order:
spec = self.specs_by_hash[concretized_hash]
if not spec.installed or (
- spec.satisfies('dev_path=*') or
- spec.satisfies('^dev_path=*')
+ spec.satisfies("dev_path=*") or spec.satisfies("^dev_path=*")
):
uninstalled.append(spec)
else:
@@ -1608,7 +1602,7 @@ class Environment(object):
self.install_specs(None, **install_args)
def install_specs(self, specs=None, **install_args):
- tty.debug('Assessing installation status of environment packages')
+ 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
# a large amount of time due to repeatedly acquiring and releasing
@@ -1630,21 +1624,19 @@ class Environment(object):
spack.store.db.update_explicit(spec, True)
if not specs_to_install:
- tty.msg('All of the packages are already installed')
+ tty.msg("All of the packages are already installed")
else:
- tty.debug('Processing {0} uninstalled specs'.format(len(specs_to_install)))
+ tty.debug("Processing {0} uninstalled specs".format(len(specs_to_install)))
specs_to_overwrite = self._get_overwrite_specs()
- tty.debug('{0} specs need to be overwritten'.format(
- len(specs_to_overwrite)))
+ tty.debug("{0} specs need to be overwritten".format(len(specs_to_overwrite)))
- install_args['overwrite'] = install_args.get(
- 'overwrite', []) + specs_to_overwrite
+ install_args["overwrite"] = install_args.get("overwrite", []) + specs_to_overwrite
installs = []
for spec in specs_to_install:
pkg_install_args = install_args.copy()
- pkg_install_args['explicit'] = spec in self.roots()
+ pkg_install_args["explicit"] = spec in self.roots()
installs.append((spec.package, pkg_install_args))
try:
@@ -1658,8 +1650,9 @@ class Environment(object):
try:
self._install_log_links(spec)
except OSError as e:
- tty.warn('Could not install log links for {0}: {1}'
- .format(spec.name, str(e)))
+ tty.warn(
+ "Could not install log links for {0}: {1}".format(spec.name, str(e))
+ )
with self.write_transaction():
self.regenerate_views()
@@ -1672,8 +1665,8 @@ class Environment(object):
spec = self.specs_by_hash[h]
except KeyError:
tty.warn(
- 'Environment %s appears to be corrupt: missing spec '
- '"%s"' % (self.name, h))
+ "Environment %s appears to be corrupt: missing spec " '"%s"' % (self.name, h)
+ )
continue
all_specs.update(spec.traverse())
@@ -1769,9 +1762,9 @@ class Environment(object):
elif len(matches) == 1:
return list(matches.keys())[0]
- root_matches = dict((concrete, abstract)
- for concrete, abstract in matches.items()
- if abstract)
+ root_matches = dict(
+ (concrete, abstract) for concrete, abstract in matches.items() if abstract
+ )
if len(root_matches) == 1:
return list(root_matches.items())[0][0]
@@ -1782,22 +1775,23 @@ class Environment(object):
# spec will most-succinctly summarize the difference between them
# (and the user can enter one of these to disambiguate)
match_strings = []
- fmt_str = '{hash:7} ' + spack.spec.default_format
+ fmt_str = "{hash:7} " + spack.spec.default_format
for concrete, abstract in matches.items():
if abstract:
- s = 'Root spec %s\n %s' % (abstract, concrete.format(fmt_str))
+ s = "Root spec %s\n %s" % (abstract, concrete.format(fmt_str))
else:
- s = 'Dependency spec\n %s' % concrete.format(fmt_str)
+ s = "Dependency spec\n %s" % concrete.format(fmt_str)
match_strings.append(s)
- matches_str = '\n'.join(match_strings)
+ matches_str = "\n".join(match_strings)
- msg = ("{0} matches multiple specs in the environment {1}: \n"
- "{2}".format(str(spec), self.name, matches_str))
+ msg = "{0} matches multiple specs in the environment {1}: \n" "{2}".format(
+ str(spec), self.name, matches_str
+ )
raise SpackEnvironmentError(msg)
def removed_specs(self):
"""Tuples of (user spec, concrete spec) for all specs that will be
- removed on nexg concretize."""
+ removed on nexg concretize."""
needed = set()
for s, c in self.concretized_specs():
if s in self.user_specs:
@@ -1820,8 +1814,7 @@ class Environment(object):
for spec_hash in self.concretized_order:
spec = self.specs_by_hash[spec_hash]
- specs = (spec.traverse(deptype=('link', 'run'))
- if recurse_dependencies else (spec,))
+ specs = spec.traverse(deptype=("link", "run")) if recurse_dependencies else (spec,)
spec_list.extend(specs)
@@ -1839,26 +1832,20 @@ class Environment(object):
spec_dict[ht.dag_hash.name] = s.dag_hash()
concrete_specs[dag_hash] = spec_dict
- hash_spec_list = zip(
- self.concretized_order, self.concretized_user_specs)
+ hash_spec_list = zip(self.concretized_order, self.concretized_user_specs)
# this is the lockfile we'll write out
data = {
# metadata about the format
- '_meta': {
- 'file-type': 'spack-lockfile',
- 'lockfile-version': lockfile_format_version,
- 'specfile-version': spack.spec.specfile_format_version
+ "_meta": {
+ "file-type": "spack-lockfile",
+ "lockfile-version": lockfile_format_version,
+ "specfile-version": spack.spec.specfile_format_version,
},
-
# users specs + hashes are the 'roots' of the environment
- 'roots': [{
- 'hash': h,
- 'spec': str(s)
- } for h, s in hash_spec_list],
-
+ "roots": [{"hash": h, "spec": str(s)} for h, s in hash_spec_list],
# Concrete specs by hash, including dependencies
- 'concrete_specs': concrete_specs,
+ "concrete_specs": concrete_specs,
}
return data
@@ -1867,16 +1854,16 @@ class Environment(object):
"""Read a lockfile from a file or from a raw string."""
lockfile_dict = sjson.load(file_or_json)
self._read_lockfile_dict(lockfile_dict)
- return lockfile_dict['_meta']['lockfile-version']
+ return lockfile_dict["_meta"]["lockfile-version"]
def _read_lockfile_dict(self, d):
"""Read a lockfile dictionary into this environment."""
self.specs_by_hash = {}
- roots = d['roots']
- self.concretized_user_specs = [Spec(r['spec']) for r in roots]
- self.concretized_order = [r['hash'] for r in roots]
- json_specs_by_hash = d['concrete_specs']
+ roots = d["roots"]
+ self.concretized_user_specs = [Spec(r["spec"]) for r in roots]
+ self.concretized_order = [r["hash"] for r in roots]
+ json_specs_by_hash = d["concrete_specs"]
# Track specs by their lockfile key. Currently spack uses the finest
# grained hash as the lockfile key, while older formats used the build
@@ -1898,10 +1885,8 @@ class Environment(object):
# Second pass: For each spec, get its dependencies from the node dict
# and add them to the spec
for lockfile_key, node_dict in json_specs_by_hash.items():
- for _, dep_hash, deptypes, _ in (
- Spec.dependencies_from_node_dict(node_dict)):
- specs_by_hash[lockfile_key]._add_dependency(
- specs_by_hash[dep_hash], deptypes)
+ for _, dep_hash, deptypes, _ in Spec.dependencies_from_node_dict(node_dict):
+ specs_by_hash[lockfile_key]._add_dependency(specs_by_hash[dep_hash], deptypes)
# Traverse the root specs one at a time in the order they appear.
# The first time we see each DAG hash, that's the one we want to
@@ -1916,8 +1901,9 @@ class Environment(object):
# Now make sure concretized_order and our internal specs dict
# contains the keys used by modern spack (i.e. the dag_hash
# that includes build deps and package hash).
- self.concretized_order = [specs_by_hash[h_key].dag_hash()
- for h_key in self.concretized_order]
+ self.concretized_order = [
+ specs_by_hash[h_key].dag_hash() for h_key in self.concretized_order
+ ]
for spec_dag_hash in self.concretized_order:
self.specs_by_hash[spec_dag_hash] = first_seen[spec_dag_hash]
@@ -1935,12 +1921,14 @@ class Environment(object):
"""
# Warn that environments are not in the latest format.
if not is_latest_format(self.manifest_path):
- ver = '.'.join(str(s) for s in spack.spack_version_info[:2])
- msg = ('The environment "{}" is written to disk in a deprecated format. '
- 'Please update it using:\n\n'
- '\tspack env update {}\n\n'
- 'Note that versions of Spack older than {} may not be able to '
- 'use the updated configuration.')
+ ver = ".".join(str(s) for s in spack.spack_version_info[:2])
+ msg = (
+ 'The environment "{}" is written to disk in a deprecated format. '
+ "Please update it using:\n\n"
+ "\tspack env update {}\n\n"
+ "Note that versions of Spack older than {} may not be able to "
+ "use the updated configuration."
+ )
tty.warn(msg.format(self.name, self.name, ver))
# ensure path in var/spack/environments
@@ -1956,8 +1944,9 @@ class Environment(object):
for spec in self.new_specs:
for dep in spec.traverse():
if not dep.concrete:
- raise ValueError('specs passed to environment.write() '
- 'must be concrete!')
+ raise ValueError(
+ "specs passed to environment.write() " "must be concrete!"
+ )
root = os.path.join(self.repos_path, dep.namespace)
repo = spack.repo.create_or_construct(root, dep.namespace)
@@ -2006,60 +1995,64 @@ class Environment(object):
# The primary list is handled differently
continue
- active_yaml_lists = [x for x in yaml_dict.get('definitions', [])
- if name in x and
- _eval_conditional(x.get('when', 'True'))]
+ active_yaml_lists = [
+ x
+ for x in yaml_dict.get("definitions", [])
+ if name in x and _eval_conditional(x.get("when", "True"))
+ ]
# Remove any specs in yaml that are not in internal representation
for ayl in active_yaml_lists:
# If it's not a string, it's a matrix. Those can't have changed
# If it is a string that starts with '$', it's a reference.
# Those also can't have changed.
- ayl[name][:] = [s for s in ayl.setdefault(name, [])
- if (not isinstance(s, six.string_types)) or
- s.startswith('$') or Spec(s) in speclist.specs]
+ ayl[name][:] = [
+ s
+ for s in ayl.setdefault(name, [])
+ if (not isinstance(s, six.string_types))
+ or s.startswith("$")
+ or Spec(s) in speclist.specs
+ ]
# Put the new specs into the first active list from the yaml
- new_specs = [entry for entry in speclist.yaml_list
- if isinstance(entry, six.string_types) and
- not any(entry in ayl[name]
- for ayl in active_yaml_lists)]
+ new_specs = [
+ entry
+ for entry in speclist.yaml_list
+ if isinstance(entry, six.string_types)
+ and not any(entry in ayl[name] for ayl in active_yaml_lists)
+ ]
list_for_new_specs = active_yaml_lists[0].setdefault(name, [])
list_for_new_specs[:] = list_for_new_specs + new_specs
# put the new user specs in the YAML.
# This can be done directly because there can't be multiple definitions
# nor when clauses for `specs` list.
- yaml_spec_list = yaml_dict.setdefault(user_speclist_name,
- [])
+ yaml_spec_list = yaml_dict.setdefault(user_speclist_name, [])
yaml_spec_list[:] = self.user_specs.yaml_list
# Construct YAML representation of view
default_name = default_view_name
if self.views and len(self.views) == 1 and default_name in self.views:
path = self.default_view.root
- if self.default_view == ViewDescriptor(self.path,
- self.view_path_default):
+ if self.default_view == ViewDescriptor(self.path, self.view_path_default):
view = True
elif self.default_view == ViewDescriptor(self.path, path):
view = path
else:
- view = dict((name, view.to_dict())
- for name, view in self.views.items())
+ view = dict((name, view.to_dict()) for name, view in self.views.items())
elif self.views:
- view = dict((name, view.to_dict())
- for name, view in self.views.items())
+ view = dict((name, view.to_dict()) for name, view in self.views.items())
else:
view = False
- yaml_dict['view'] = view
+ yaml_dict["view"] = view
if self.dev_specs:
# Remove entries that are mirroring defaults
write_dev_specs = copy.deepcopy(self.dev_specs)
for name, entry in write_dev_specs.items():
- if entry['path'] == name:
- del entry['path']
- yaml_dict['develop'] = write_dev_specs
+ if entry["path"] == name:
+ del entry["path"]
+ yaml_dict["develop"] = write_dev_specs
else:
- yaml_dict.pop('develop', None)
+ yaml_dict.pop("develop", None)
# Remove yaml sections that are shadowing defaults
# construct garbage path to ensure we don't find a manifest by accident
@@ -2095,8 +2088,7 @@ class Environment(object):
def yaml_equivalent(first, second):
- """Returns whether two spack yaml items are equivalent, including overrides
- """
+ """Returns whether two spack yaml items are equivalent, including overrides"""
if isinstance(first, dict):
return isinstance(second, dict) and _equiv_dict(first, second)
elif isinstance(first, list):
@@ -2106,24 +2098,21 @@ def yaml_equivalent(first, second):
def _equiv_list(first, second):
- """Returns whether two spack yaml lists are equivalent, including overrides
- """
+ """Returns whether two spack yaml lists are equivalent, including overrides"""
if len(first) != len(second):
return False
return all(yaml_equivalent(f, s) for f, s in zip(first, second))
def _equiv_dict(first, second):
- """Returns whether two spack yaml dicts are equivalent, including overrides
- """
+ """Returns whether two spack yaml dicts are equivalent, including overrides"""
if len(first) != len(second):
return False
- same_values = all(yaml_equivalent(fv, sv)
- for fv, sv in zip(first.values(), second.values()))
+ same_values = all(yaml_equivalent(fv, sv) for fv, sv in zip(first.values(), second.values()))
same_keys_with_same_overrides = all(
- fk == sk and getattr(fk, 'override', False) == getattr(sk, 'override',
- False)
- for fk, sk in zip(first.keys(), second.keys()))
+ fk == sk and getattr(fk, "override", False) == getattr(sk, "override", False)
+ for fk, sk in zip(first.keys(), second.keys())
+ )
return same_values and same_keys_with_same_overrides
@@ -2134,16 +2123,19 @@ def display_specs(concretized_specs):
concretized_specs (list): list of specs returned by
`Environment.concretize()`
"""
+
def _tree_to_display(spec):
return spec.tree(
recurse_dependencies=True,
status_fn=spack.spec.Spec.install_status,
- hashlen=7, hashes=True)
+ hashlen=7,
+ hashes=True,
+ )
for user_spec, concrete_spec in concretized_specs:
- tty.msg('Concretized {0}'.format(user_spec))
+ tty.msg("Concretized {0}".format(user_spec))
sys.stdout.write(_tree_to_display(concrete_spec))
- print('')
+ print("")
def _concretize_from_constraints(spec_constraints, tests=False):
@@ -2151,9 +2143,9 @@ def _concretize_from_constraints(spec_constraints, tests=False):
# Get the named spec even if out of order
root_spec = [s for s in spec_constraints if s.name]
if len(root_spec) != 1:
- m = 'The constraints %s are not a valid spec ' % spec_constraints
- m += 'concretization target. all specs must have a single name '
- m += 'constraint for concretization.'
+ m = "The constraints %s are not a valid spec " % spec_constraints
+ m += "concretization target. all specs must have a single name "
+ m += "constraint for concretization."
raise InvalidSpecConstraintError(m)
spec_constraints.remove(root_spec[0])
@@ -2167,18 +2159,20 @@ def _concretize_from_constraints(spec_constraints, tests=False):
try:
return s.concretized(tests=tests)
except spack.spec.InvalidDependencyError as e:
- invalid_deps_string = ['^' + d for d in e.invalid_deps]
- invalid_deps = [c for c in spec_constraints
- if any(c.satisfies(invd, strict=True)
- for invd in invalid_deps_string)]
+ invalid_deps_string = ["^" + d for d in e.invalid_deps]
+ invalid_deps = [
+ c
+ for c in spec_constraints
+ if any(c.satisfies(invd, strict=True) for invd in invalid_deps_string)
+ ]
if len(invalid_deps) != len(invalid_deps_string):
raise e
invalid_constraints.extend(invalid_deps)
except UnknownVariantError as e:
invalid_variants = e.unknown_variants
- inv_variant_constraints = [c for c in spec_constraints
- if any(name in c.variants
- for name in invalid_variants)]
+ inv_variant_constraints = [
+ c for c in spec_constraints if any(name in c.variants for name in invalid_variants)
+ ]
if len(inv_variant_constraints) != len(invalid_variants):
raise e
invalid_constraints.extend(inv_variant_constraints)
@@ -2265,12 +2259,14 @@ def update_yaml(manifest, backup_file):
return False
# Copy environment to a backup file and update it
- msg = ('backup file "{0}" already exists on disk. Check its content '
- 'and remove it before trying to update again.')
+ msg = (
+ 'backup file "{0}" already exists on disk. Check its content '
+ "and remove it before trying to update again."
+ )
assert not os.path.exists(backup_file), msg.format(backup_file)
shutil.copy(manifest, backup_file)
- with open(manifest, 'w') as f:
+ with open(manifest, "w") as f:
syaml.dump_config(data, f)
return True
@@ -2284,12 +2280,11 @@ def _top_level_key(data):
Returns:
Either 'spack' or 'env'
"""
- msg = ('cannot find top level attribute "spack" or "env"'
- 'in the environment')
- assert any(x in data for x in ('spack', 'env')), msg
- if 'spack' in data:
- return 'spack'
- return 'env'
+ msg = 'cannot find top level attribute "spack" or "env"' "in the environment"
+ assert any(x in data for x in ("spack", "env")), msg
+ if "spack" in data:
+ return "spack"
+ return "env"
def is_latest_format(manifest):
@@ -2311,7 +2306,7 @@ def is_latest_format(manifest):
@contextlib.contextmanager
def no_active_environment():
"""Deactivate the active environment for the duration of the context. Has no
- effect when there is no active environment."""
+ effect when there is no active environment."""
env = active_environment()
try:
deactivate()
diff --git a/lib/spack/spack/environment/shell.py b/lib/spack/spack/environment/shell.py
index 377c760930..42d997ec96 100644
--- a/lib/spack/spack/environment/shell.py
+++ b/lib/spack/spack/environment/shell.py
@@ -15,83 +15,83 @@ from spack.util.environment import EnvironmentModifications
def activate_header(env, shell, prompt=None):
# Construct the commands to run
- cmds = ''
- if shell == 'csh':
+ cmds = ""
+ if shell == "csh":
# TODO: figure out how to make color work for csh
- cmds += 'setenv SPACK_ENV %s;\n' % env.path
+ cmds += "setenv SPACK_ENV %s;\n" % env.path
cmds += 'alias despacktivate "spack env deactivate";\n'
if prompt:
- cmds += 'if (! $?SPACK_OLD_PROMPT ) '
+ cmds += "if (! $?SPACK_OLD_PROMPT ) "
cmds += 'setenv SPACK_OLD_PROMPT "${prompt}";\n'
cmds += 'set prompt="%s ${prompt}";\n' % prompt
- elif shell == 'fish':
- if 'color' in os.getenv('TERM', '') and prompt:
- prompt = colorize('@G{%s} ' % prompt, color=True)
-
- cmds += 'set -gx SPACK_ENV %s;\n' % env.path
- cmds += 'function despacktivate;\n'
- cmds += ' spack env deactivate;\n'
- cmds += 'end;\n'
+ elif shell == "fish":
+ if "color" in os.getenv("TERM", "") and prompt:
+ prompt = colorize("@G{%s} " % prompt, color=True)
+
+ cmds += "set -gx SPACK_ENV %s;\n" % env.path
+ cmds += "function despacktivate;\n"
+ cmds += " spack env deactivate;\n"
+ cmds += "end;\n"
#
# NOTE: We're not changing the fish_prompt function (which is fish's
# solution to the PS1 variable) here. This is a bit fiddly, and easy to
# screw up => spend time reasearching a solution. Feedback welcome.
#
- elif shell == 'bat':
+ elif shell == "bat":
# TODO: Color
cmds += 'set "SPACK_ENV=%s"\n' % env.path
# TODO: despacktivate
# TODO: prompt
else:
- if 'color' in os.getenv('TERM', '') and prompt:
- prompt = colorize('@G{%s}' % prompt, color=True)
+ if "color" in os.getenv("TERM", "") and prompt:
+ prompt = colorize("@G{%s}" % prompt, color=True)
- cmds += 'export SPACK_ENV=%s;\n' % env.path
+ cmds += "export SPACK_ENV=%s;\n" % env.path
cmds += "alias despacktivate='spack env deactivate';\n"
if prompt:
- cmds += 'if [ -z ${SPACK_OLD_PS1+x} ]; then\n'
- cmds += ' if [ -z ${PS1+x} ]; then\n'
+ cmds += "if [ -z ${SPACK_OLD_PS1+x} ]; then\n"
+ cmds += " if [ -z ${PS1+x} ]; then\n"
cmds += " PS1='$$$$';\n"
- cmds += ' fi;\n'
+ cmds += " fi;\n"
cmds += ' export SPACK_OLD_PS1="${PS1}";\n'
- cmds += 'fi;\n'
+ cmds += "fi;\n"
cmds += 'export PS1="%s ${PS1}";\n' % prompt
return cmds
def deactivate_header(shell):
- cmds = ''
- if shell == 'csh':
- cmds += 'unsetenv SPACK_ENV;\n'
- cmds += 'if ( $?SPACK_OLD_PROMPT ) '
+ cmds = ""
+ if shell == "csh":
+ cmds += "unsetenv SPACK_ENV;\n"
+ cmds += "if ( $?SPACK_OLD_PROMPT ) "
cmds += 'set prompt="$SPACK_OLD_PROMPT" && '
- cmds += 'unsetenv SPACK_OLD_PROMPT;\n'
- cmds += 'unalias despacktivate;\n'
- elif shell == 'fish':
- cmds += 'set -e SPACK_ENV;\n'
- cmds += 'functions -e despacktivate;\n'
+ cmds += "unsetenv SPACK_OLD_PROMPT;\n"
+ cmds += "unalias despacktivate;\n"
+ elif shell == "fish":
+ cmds += "set -e SPACK_ENV;\n"
+ cmds += "functions -e despacktivate;\n"
#
# NOTE: Not changing fish_prompt (above) => no need to restore it here.
#
- elif shell == 'bat':
+ elif shell == "bat":
# TODO: Color
cmds += 'set "SPACK_ENV="\n'
# TODO: despacktivate
# TODO: prompt
else:
- cmds += 'if [ ! -z ${SPACK_ENV+x} ]; then\n'
- cmds += 'unset SPACK_ENV; export SPACK_ENV;\n'
- cmds += 'fi;\n'
- cmds += 'alias despacktivate > /dev/null 2>&1 && unalias despacktivate;\n'
- cmds += 'if [ ! -z ${SPACK_OLD_PS1+x} ]; then\n'
- cmds += ' if [ "$SPACK_OLD_PS1" = \'$$$$\' ]; then\n'
- cmds += ' unset PS1; export PS1;\n'
- cmds += ' else\n'
+ cmds += "if [ ! -z ${SPACK_ENV+x} ]; then\n"
+ cmds += "unset SPACK_ENV; export SPACK_ENV;\n"
+ cmds += "fi;\n"
+ cmds += "alias despacktivate > /dev/null 2>&1 && unalias despacktivate;\n"
+ cmds += "if [ ! -z ${SPACK_OLD_PS1+x} ]; then\n"
+ cmds += " if [ \"$SPACK_OLD_PS1\" = '$$$$' ]; then\n"
+ cmds += " unset PS1; export PS1;\n"
+ cmds += " else\n"
cmds += ' export PS1="$SPACK_OLD_PS1";\n'
- cmds += ' fi;\n'
- cmds += ' unset SPACK_OLD_PS1; export SPACK_OLD_PS1;\n'
- cmds += 'fi;\n'
+ cmds += " fi;\n"
+ cmds += " unset SPACK_OLD_PS1; export SPACK_OLD_PS1;\n"
+ cmds += "fi;\n"
return cmds
@@ -128,16 +128,15 @@ def activate(env, use_env_repo=False, add_view=True):
if add_view and ev.default_view_name in env.views:
with spack.store.db.read_transaction():
env.add_default_view_to_env(env_mods)
- except (spack.repo.UnknownPackageError,
- spack.repo.UnknownNamespaceError) as e:
+ except (spack.repo.UnknownPackageError, spack.repo.UnknownNamespaceError) as e:
tty.error(e)
tty.die(
- 'Environment view is broken due to a missing package or repo.\n',
- ' To activate without views enabled, activate with:\n',
- ' spack env activate -V {0}\n'.format(env.name),
- ' To remove it and resolve the issue, '
- 'force concretize with the command:\n',
- ' spack -e {0} concretize --force'.format(env.name))
+ "Environment view is broken due to a missing package or repo.\n",
+ " To activate without views enabled, activate with:\n",
+ " spack env activate -V {0}\n".format(env.name),
+ " To remove it and resolve the issue, " "force concretize with the command:\n",
+ " spack -e {0} concretize --force".format(env.name),
+ )
return env_mods
@@ -164,11 +163,12 @@ def deactivate():
try:
with spack.store.db.read_transaction():
active.rm_default_view_from_env(env_mods)
- except (spack.repo.UnknownPackageError,
- spack.repo.UnknownNamespaceError) as e:
+ except (spack.repo.UnknownPackageError, spack.repo.UnknownNamespaceError) as e:
tty.warn(e)
- tty.warn('Could not fully deactivate view due to missing package '
- 'or repo, shell environment may be corrupt.')
+ tty.warn(
+ "Could not fully deactivate view due to missing package "
+ "or repo, shell environment may be corrupt."
+ )
ev.deactivate()
diff --git a/lib/spack/spack/error.py b/lib/spack/spack/error.py
index bcb2aeb218..c35ce5c99a 100644
--- a/lib/spack/spack/error.py
+++ b/lib/spack/spack/error.py
@@ -17,7 +17,7 @@ debug = 0
class SpackError(Exception):
"""This is the superclass for all Spack errors.
- Subclasses can be found in the modules they have to do with.
+ Subclasses can be found in the modules they have to do with.
"""
def __init__(self, message, long_message=None):
@@ -54,7 +54,7 @@ class SpackError(Exception):
tty.error(self.message)
if self.long_message:
sys.stderr.write(self.long_message)
- sys.stderr.write('\n')
+ sys.stderr.write("\n")
# stack trace, etc. in debug mode.
if debug:
@@ -81,10 +81,9 @@ class SpackError(Exception):
def __repr__(self):
args = [repr(self.message), repr(self.long_message)]
- args = ','.join(args)
- qualified_name = inspect.getmodule(
- self).__name__ + '.' + type(self).__name__
- return qualified_name + '(' + args + ')'
+ args = ",".join(args)
+ qualified_name = inspect.getmodule(self).__name__ + "." + type(self).__name__
+ return qualified_name + "(" + args + ")"
def __reduce__(self):
return type(self), (self.message, self.long_message)
@@ -102,9 +101,9 @@ class NoLibrariesError(SpackError):
def __init__(self, message_or_name, prefix=None):
super(NoLibrariesError, self).__init__(
- message_or_name if prefix is None else
- 'Unable to locate {0} libraries in {1}'.format(
- message_or_name, prefix)
+ message_or_name
+ if prefix is None
+ else "Unable to locate {0} libraries in {1}".format(message_or_name, prefix)
)
@@ -123,10 +122,12 @@ class UnsatisfiableSpecError(SpecError):
For original concretizer, provide the requirement that was violated when
raising.
"""
+
def __init__(self, provided, required, constraint_type):
# This is only the entrypoint for old concretizer errors
super(UnsatisfiableSpecError, self).__init__(
- "%s does not satisfy %s" % (provided, required))
+ "%s does not satisfy %s" % (provided, required)
+ )
self.provided = provided
self.required = required
diff --git a/lib/spack/spack/extensions.py b/lib/spack/spack/extensions.py
index 8aa99ec8b5..7aed7ff6c8 100644
--- a/lib/spack/spack/extensions.py
+++ b/lib/spack/spack/extensions.py
@@ -17,14 +17,14 @@ import spack.config
import spack.error
import spack.util.path
-_extension_regexp = re.compile(r'spack-(\w[-\w]*)$')
+_extension_regexp = re.compile(r"spack-(\w[-\w]*)$")
# TODO: For consistency we should use spack.cmd.python_name(), but
# currently this would create a circular relationship between
# spack.cmd and spack.extensions.
def _python_name(cmd_name):
- return cmd_name.replace('-', '_')
+ return cmd_name.replace("-", "_")
def extension_name(path):
@@ -40,8 +40,7 @@ def extension_name(path):
ExtensionNamingError: if path does not match the expected format
for a Spack command extension.
"""
- regexp_match = re.search(_extension_regexp,
- os.path.basename(os.path.normpath(path)))
+ regexp_match = re.search(_extension_regexp, os.path.basename(os.path.normpath(path)))
if not regexp_match:
raise ExtensionNamingError(path)
return regexp_match.group(1)
@@ -61,26 +60,26 @@ def load_command_extension(command, path):
extension = _python_name(extension_name(path))
# Compute the name of the module we search, exit early if already imported
- cmd_package = '{0}.{1}.cmd'.format(__name__, extension)
+ cmd_package = "{0}.{1}.cmd".format(__name__, extension)
python_name = _python_name(command)
- module_name = '{0}.{1}'.format(cmd_package, python_name)
+ module_name = "{0}.{1}".format(cmd_package, python_name)
if module_name in sys.modules:
return sys.modules[module_name]
# Compute the absolute path of the file to be loaded, along with the
# name of the python module where it will be stored
- cmd_path = os.path.join(path, extension, 'cmd', python_name + '.py')
+ cmd_path = os.path.join(path, extension, "cmd", python_name + ".py")
# Short circuit if the command source file does not exist
if not os.path.exists(cmd_path):
return None
def ensure_package_creation(name):
- package_name = '{0}.{1}'.format(__name__, name)
+ package_name = "{0}.{1}".format(__name__, name)
if package_name in sys.modules:
return
- parts = [path] + name.split('.') + ['__init__.py']
+ parts = [path] + name.split(".") + ["__init__.py"]
init_file = os.path.join(*parts)
if os.path.exists(init_file):
m = llnl.util.lang.load_module_from_file(package_name, init_file)
@@ -98,7 +97,7 @@ def load_command_extension(command, path):
# Create a searchable package for both the root folder of the extension
# and the subfolder containing the commands
ensure_package_creation(extension)
- ensure_package_creation(extension + '.cmd')
+ ensure_package_creation(extension + ".cmd")
module = importlib.import_module(module_name)
sys.modules[module_name] = module
@@ -107,10 +106,8 @@ def load_command_extension(command, path):
def get_extension_paths():
- """Return the list of canonicalized extension paths from config:extensions.
-
- """
- extension_paths = spack.config.get('config:extensions') or []
+ """Return the list of canonicalized extension paths from config:extensions."""
+ extension_paths = spack.config.get("config:extensions") or []
paths = [spack.util.path.canonicalize_path(p) for p in extension_paths]
return paths
@@ -122,7 +119,7 @@ def get_command_paths():
for path in extension_paths:
extension = _python_name(extension_name(path))
- command_paths.append(os.path.join(path, extension, 'cmd'))
+ command_paths.append(os.path.join(path, extension, "cmd"))
return command_paths
@@ -169,7 +166,7 @@ def get_template_dirs():
in extensions.
"""
extension_dirs = get_extension_paths()
- extensions = [os.path.join(x, 'templates') for x in extension_dirs]
+ extensions = [os.path.join(x, "templates") for x in extension_dirs]
return extensions
@@ -177,17 +174,20 @@ class CommandNotFoundError(spack.error.SpackError):
"""Exception class thrown when a requested command is not recognized as
such.
"""
+
def __init__(self, cmd_name):
super(CommandNotFoundError, self).__init__(
- '{0} is not a recognized Spack command or extension command;'
- ' check with `spack commands`.'.format(cmd_name))
+ "{0} is not a recognized Spack command or extension command;"
+ " check with `spack commands`.".format(cmd_name)
+ )
class ExtensionNamingError(spack.error.SpackError):
"""Exception class thrown when a configured extension does not follow
the expected naming convention.
"""
+
def __init__(self, path):
super(ExtensionNamingError, self).__init__(
- '{0} does not match the format for a Spack extension path.'
- .format(path))
+ "{0} does not match the format for a Spack extension path.".format(path)
+ )
diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py
index 4fc2d3b449..18230d9ee5 100644
--- a/lib/spack/spack/fetch_strategy.py
+++ b/lib/spack/spack/fetch_strategy.py
@@ -60,23 +60,25 @@ from spack.util.string import comma_and, quote
#: List of all fetch strategies, created by FetchStrategy metaclass.
all_strategies = []
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
CONTENT_TYPE_MISMATCH_WARNING_TEMPLATE = (
"The contents of {subject} look like {content_type}. Either the URL"
" you are trying to use does not exist or you have an internet gateway"
" issue. You can remove the bad archive using 'spack clean"
- " <package>', then try again using the correct URL.")
+ " <package>', then try again using the correct URL."
+)
-def warn_content_type_mismatch(subject, content_type='HTML'):
- tty.warn(CONTENT_TYPE_MISMATCH_WARNING_TEMPLATE.format(
- subject=subject, content_type=content_type))
+def warn_content_type_mismatch(subject, content_type="HTML"):
+ tty.warn(
+ CONTENT_TYPE_MISMATCH_WARNING_TEMPLATE.format(subject=subject, content_type=content_type)
+ )
def _needs_stage(fun):
"""Many methods on fetch strategies require a stage to be set
- using set_stage(). This decorator adds a check for self.stage."""
+ using set_stage(). This decorator adds a check for self.stage."""
@functools.wraps(fun)
def wrapper(self, *args, **kwargs):
@@ -102,6 +104,7 @@ def fetcher(cls):
class FetchStrategy(object):
"""Superclass of all fetch strategies."""
+
#: The URL attribute must be specified either at the package class
#: level, or as a keyword argument to ``version()``. It is used to
#: distinguish fetchers for different versions in the package DSL.
@@ -119,7 +122,7 @@ class FetchStrategy(object):
self.stage = None
# Enable or disable caching for this strategy based on
# 'no_cache' option from version directive.
- self.cache_enabled = not kwargs.pop('no_cache', False)
+ self.cache_enabled = not kwargs.pop("no_cache", False)
self.package = None
@@ -211,10 +214,11 @@ class BundleFetchStrategy(FetchStrategy):
TODO: Remove this class by refactoring resource handling and the link
between composite stages and composite fetch strategies (see #11981).
"""
+
#: There is no associated URL keyword in ``version()`` for no-code
#: packages but this property is required for some strategy-related
#: functions (e.g., check_pkg_attributes).
- url_attr = ''
+ url_attr = ""
def fetch(self):
"""Simply report success -- there is no code to fetch."""
@@ -227,22 +231,21 @@ class BundleFetchStrategy(FetchStrategy):
def source_id(self):
"""BundlePackages don't have a source id."""
- return ''
+ return ""
def mirror_id(self):
"""BundlePackages don't have a mirror id."""
class FetchStrategyComposite(pattern.Composite):
- """Composite for a FetchStrategy object.
- """
+ """Composite for a FetchStrategy object."""
+
matches = FetchStrategy.matches
def __init__(self):
- super(FetchStrategyComposite, self).__init__([
- 'fetch', 'check', 'expand', 'reset', 'archive', 'cachable',
- 'mirror_id'
- ])
+ super(FetchStrategyComposite, self).__init__(
+ ["fetch", "check", "expand", "reset", "archive", "cachable", "mirror_id"]
+ )
def source_id(self):
component_ids = tuple(i.source_id() for i in self)
@@ -261,31 +264,32 @@ class URLFetchStrategy(FetchStrategy):
The destination for the resulting file(s) is the standard stage path.
"""
- url_attr = 'url'
+
+ url_attr = "url"
# these are checksum types. The generic 'checksum' is deprecated for
# specific hash names, but we need it for backward compatibility
- optional_attrs = list(crypto.hashes.keys()) + ['checksum']
+ optional_attrs = list(crypto.hashes.keys()) + ["checksum"]
def __init__(self, url=None, checksum=None, **kwargs):
super(URLFetchStrategy, self).__init__(**kwargs)
# Prefer values in kwargs to the positionals.
- self.url = kwargs.get('url', url)
- self.mirrors = kwargs.get('mirrors', [])
+ self.url = kwargs.get("url", url)
+ self.mirrors = kwargs.get("mirrors", [])
# digest can be set as the first argument, or from an explicit
# kwarg by the hash name.
- self.digest = kwargs.get('checksum', checksum)
+ self.digest = kwargs.get("checksum", checksum)
for h in self.optional_attrs:
if h in kwargs:
self.digest = kwargs[h]
- self.expand_archive = kwargs.get('expand', True)
- self.extra_options = kwargs.get('fetch_options', {})
+ self.expand_archive = kwargs.get("expand", True)
+ self.extra_options = kwargs.get("fetch_options", {})
self._curl = None
- self.extension = kwargs.get('extension', None)
+ self.extension = kwargs.get("extension", None)
if not self.url:
raise ValueError("URLFetchStrategy requires a url for fetching.")
@@ -294,7 +298,7 @@ class URLFetchStrategy(FetchStrategy):
def curl(self):
if not self._curl:
try:
- self._curl = which('curl', required=True)
+ self._curl = which("curl", required=True)
except CommandNotFoundError as exc:
tty.error(str(exc))
return self._curl
@@ -308,8 +312,7 @@ class URLFetchStrategy(FetchStrategy):
# The filename is the digest. A directory is also created based on
# truncating the digest to avoid creating a directory with too many
# entries
- return os.path.sep.join(
- ['archive', self.digest[:2], self.digest])
+ return os.path.sep.join(["archive", self.digest[:2], self.digest])
@property
def candidate_urls(self):
@@ -318,9 +321,9 @@ class URLFetchStrategy(FetchStrategy):
for url in [self.url] + (self.mirrors or []):
# This must be skipped on Windows due to URL encoding
# of ':' characters on filepaths on Windows
- if sys.platform != "win32" and url.startswith('file://'):
- path = urllib_parse.quote(url[len('file://'):])
- url = 'file://' + path
+ if sys.platform != "win32" and url.startswith("file://"):
+ path = urllib_parse.quote(url[len("file://") :])
+ url = "file://" + path
urls.append(url)
return urls
@@ -328,7 +331,7 @@ class URLFetchStrategy(FetchStrategy):
@_needs_stage
def fetch(self):
if self.archive_file:
- tty.debug('Already downloaded {0}'.format(self.archive_file))
+ tty.debug("Already downloaded {0}".format(self.archive_file))
return
url = None
@@ -350,15 +353,15 @@ class URLFetchStrategy(FetchStrategy):
raise FailedDownloadError(url)
def _existing_url(self, url):
- tty.debug('Checking existence of {0}'.format(url))
+ tty.debug("Checking existence of {0}".format(url))
- if spack.config.get('config:url_fetch_method') == '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.
- curl_args = ['--stderr', '-', '-s', '-f', '-r', '0-0', url]
- if not spack.config.get('config:verify_ssl'):
- curl_args.append('-k')
+ curl_args = ["--stderr", "-", "-s", "-f", "-r", "0-0", url]
+ if not spack.config.get("config:verify_ssl"):
+ curl_args.append("-k")
_ = curl(*curl_args, fail_on_error=False, output=os.devnull)
return curl.returncode == 0
else:
@@ -367,12 +370,14 @@ class URLFetchStrategy(FetchStrategy):
url, headers, response = spack.util.web.read_from_url(url)
except spack.util.web.SpackWebError as werr:
msg = "Urllib fetch failed to verify url\
- {0}\n with error {1}".format(url, werr)
+ {0}\n with error {1}".format(
+ url, werr
+ )
raise FailedDownloadError(url, msg)
- return (response.getcode() is None or response.getcode() == 200)
+ return response.getcode() is None or response.getcode() == 200
def _fetch_from_url(self, url):
- if spack.config.get('config:url_fetch_method') == 'curl':
+ if spack.config.get("config:url_fetch_method") == "curl":
return self._fetch_curl(url)
else:
return self._fetch_urllib(url)
@@ -381,15 +386,14 @@ class URLFetchStrategy(FetchStrategy):
# Check if we somehow got an HTML file rather than the archive we
# asked for. We only look at the last content type, to handle
# redirects properly.
- content_types = re.findall(r'Content-Type:[^\r\n]+', headers,
- flags=re.IGNORECASE)
- if content_types and 'text/html' in content_types[-1]:
+ content_types = re.findall(r"Content-Type:[^\r\n]+", headers, flags=re.IGNORECASE)
+ if content_types and "text/html" in content_types[-1]:
warn_content_type_mismatch(self.archive_file or "the archive")
@_needs_stage
def _fetch_urllib(self, url):
save_file = self.stage.save_filename
- tty.msg('Fetching {0}'.format(url))
+ tty.msg("Fetching {0}".format(url))
# Run urllib but grab the mime type from the http headers
try:
@@ -400,13 +404,13 @@ class URLFetchStrategy(FetchStrategy):
os.remove(self.archive_file)
if os.path.lexists(save_file):
os.remove(save_file)
- msg = 'urllib failed to fetch with error {0}'.format(e)
+ msg = "urllib failed to fetch with error {0}".format(e)
raise FailedDownloadError(url, msg)
if os.path.lexists(save_file):
os.remove(save_file)
- with open(save_file, 'wb') as _open_file:
+ with open(save_file, "wb") as _open_file:
shutil.copyfileobj(response, _open_file)
self._check_headers(str(headers))
@@ -417,48 +421,50 @@ class URLFetchStrategy(FetchStrategy):
partial_file = None
if self.stage.save_filename:
save_file = self.stage.save_filename
- partial_file = self.stage.save_filename + '.part'
- tty.msg('Fetching {0}'.format(url))
+ partial_file = self.stage.save_filename + ".part"
+ tty.msg("Fetching {0}".format(url))
if partial_file:
- save_args = ['-C',
- '-', # continue partial downloads
- '-o',
- partial_file] # use a .part file
+ save_args = [
+ "-C",
+ "-", # continue partial downloads
+ "-o",
+ partial_file,
+ ] # use a .part file
else:
- save_args = ['-O']
+ save_args = ["-O"]
curl_args = save_args + [
- '-f', # fail on >400 errors
- '-D',
- '-', # print out HTML headers
- '-L', # resolve 3xx redirects
+ "-f", # fail on >400 errors
+ "-D",
+ "-", # print out HTML headers
+ "-L", # resolve 3xx redirects
url,
]
- if not spack.config.get('config:verify_ssl'):
- curl_args.append('-k')
+ if not spack.config.get("config:verify_ssl"):
+ curl_args.append("-k")
if sys.stdout.isatty() and tty.msg_enabled():
- curl_args.append('-#') # status bar when using a tty
+ curl_args.append("-#") # status bar when using a tty
else:
- curl_args.append('-sS') # show errors if fail
+ curl_args.append("-sS") # show errors if fail
- connect_timeout = spack.config.get('config:connect_timeout', 10)
+ connect_timeout = spack.config.get("config:connect_timeout", 10)
if self.extra_options:
- cookie = self.extra_options.get('cookie')
+ cookie = self.extra_options.get("cookie")
if cookie:
- curl_args.append('-j') # junk cookies
- curl_args.append('-b') # specify cookie
+ curl_args.append("-j") # junk cookies
+ curl_args.append("-b") # specify cookie
curl_args.append(cookie)
- timeout = self.extra_options.get('timeout')
+ timeout = self.extra_options.get("timeout")
if timeout:
connect_timeout = max(connect_timeout, int(timeout))
if connect_timeout > 0:
# Timeout if can't establish a connection after n sec.
- curl_args.extend(['--connect-timeout', str(connect_timeout)])
+ curl_args.extend(["--connect-timeout", str(connect_timeout)])
# Run curl but grab the mime type from the http headers
curl = self.curl
@@ -475,8 +481,7 @@ class URLFetchStrategy(FetchStrategy):
if curl.returncode == 22:
# This is a 404. Curl will print the error.
- raise FailedDownloadError(
- url, "URL %s was not found!" % url)
+ raise FailedDownloadError(url, "URL %s was not found!" % url)
elif curl.returncode == 60:
# This is a certificate error. Suggest spack -k
@@ -487,14 +492,13 @@ class URLFetchStrategy(FetchStrategy):
"configuration is bad. If you believe your SSL "
"configuration is bad, you can try running spack -k, "
"which will not check SSL certificates."
- "Use this at your own risk.")
+ "Use this at your own risk.",
+ )
else:
# This is some other curl error. Curl will print the
# error, but print a spack message too
- raise FailedDownloadError(
- url,
- "Curl failed with error %d" % curl.returncode)
+ raise FailedDownloadError(url, "Curl failed with error %d" % curl.returncode)
self._check_headers(headers)
@@ -514,28 +518,30 @@ class URLFetchStrategy(FetchStrategy):
@_needs_stage
def expand(self):
if not self.expand_archive:
- tty.debug('Staging unexpanded archive {0} in {1}'
- .format(self.archive_file, self.stage.source_path))
+ tty.debug(
+ "Staging unexpanded archive {0} in {1}".format(
+ self.archive_file, self.stage.source_path
+ )
+ )
if not self.stage.expanded:
mkdirp(self.stage.source_path)
- dest = os.path.join(self.stage.source_path,
- os.path.basename(self.archive_file))
+ dest = os.path.join(self.stage.source_path, os.path.basename(self.archive_file))
shutil.move(self.archive_file, dest)
return
- tty.debug('Staging archive: {0}'.format(self.archive_file))
+ tty.debug("Staging archive: {0}".format(self.archive_file))
if not self.archive_file:
raise NoArchiveFileError(
- "Couldn't find archive file",
- "Failed on expand() for URL %s" % self.url)
+ "Couldn't find archive file", "Failed on expand() for URL %s" % self.url
+ )
# TODO: replace this by mime check.
if not self.extension:
self.extension = spack.url.determine_url_file_extension(self.url)
if self.stage.expanded:
- tty.debug('Source already staged to %s' % self.stage.source_path)
+ tty.debug("Source already staged to %s" % self.stage.source_path)
return
decompress = decompressor_for(self.archive_file, self.extension)
@@ -550,25 +556,21 @@ class URLFetchStrategy(FetchStrategy):
if not self.archive_file:
raise NoArchiveFileError("Cannot call archive() before fetching.")
- spack.util.web.push_to_url(
- self.archive_file,
- destination,
- keep_original=True)
+ spack.util.web.push_to_url(self.archive_file, destination, keep_original=True)
@_needs_stage
def check(self):
"""Check the downloaded archive against a checksum digest.
- No-op if this stage checks code out of a repository."""
+ No-op if this stage checks code out of a repository."""
if not self.digest:
- raise NoDigestError(
- "Attempt to check URLFetchStrategy with no digest.")
+ raise NoDigestError("Attempt to check URLFetchStrategy with no digest.")
checker = crypto.Checker(self.digest)
if not checker.check(self.archive_file):
raise ChecksumError(
- "%s checksum failed for %s" %
- (checker.hash_name, self.archive_file),
- "Expected %s but got %s" % (self.digest, checker.sum))
+ "%s checksum failed for %s" % (checker.hash_name, self.archive_file),
+ "Expected %s but got %s" % (self.digest, checker.sum),
+ )
@_needs_stage
def reset(self):
@@ -578,7 +580,8 @@ class URLFetchStrategy(FetchStrategy):
if not self.archive_file:
raise NoArchiveFileError(
"Tried to reset URLFetchStrategy before fetching",
- "Failed on reset() for URL %s" % self.url)
+ "Failed on reset() for URL %s" % self.url,
+ )
# Remove everything but the archive from the stage
for filename in os.listdir(self.stage.path):
@@ -606,12 +609,12 @@ class CacheURLFetchStrategy(URLFetchStrategy):
@_needs_stage
def fetch(self):
- reg_str = r'^file://'
- path = re.sub(reg_str, '', self.url)
+ reg_str = r"^file://"
+ path = re.sub(reg_str, "", self.url)
# check whether the cache file exists.
if not os.path.isfile(path):
- raise NoCacheError('No cache of %s' % path)
+ raise NoCacheError("No cache of %s" % path)
# remove old symlink if one is there.
filename = self.stage.save_filename
@@ -631,7 +634,7 @@ class CacheURLFetchStrategy(URLFetchStrategy):
raise
# Notify the user how we fetched.
- tty.msg('Using cached archive: {0}'.format(path))
+ tty.msg("Using cached archive: {0}".format(path))
class VCSFetchStrategy(FetchStrategy):
@@ -653,35 +656,32 @@ class VCSFetchStrategy(FetchStrategy):
# Set a URL based on the type of fetch strategy.
self.url = kwargs.get(self.url_attr, None)
if not self.url:
- raise ValueError(
- "%s requires %s argument." % (self.__class__, self.url_attr))
+ raise ValueError("%s requires %s argument." % (self.__class__, self.url_attr))
for attr in self.optional_attrs:
setattr(self, attr, kwargs.get(attr, None))
@_needs_stage
def check(self):
- tty.debug('No checksum needed when fetching with {0}'
- .format(self.url_attr))
+ tty.debug("No checksum needed when fetching with {0}".format(self.url_attr))
@_needs_stage
def expand(self):
- tty.debug(
- "Source fetched with %s is already expanded." % self.url_attr)
+ tty.debug("Source fetched with %s is already expanded." % self.url_attr)
@_needs_stage
def archive(self, destination, **kwargs):
- assert (extension(destination) == 'tar.gz')
- assert (self.stage.source_path.startswith(self.stage.path))
+ assert extension(destination) == "tar.gz"
+ assert self.stage.source_path.startswith(self.stage.path)
- tar = which('tar', required=True)
+ tar = which("tar", required=True)
- patterns = kwargs.get('exclude', None)
+ patterns = kwargs.get("exclude", None)
if patterns is not None:
if isinstance(patterns, six.string_types):
patterns = [patterns]
for p in patterns:
- tar.add_default_arg('--exclude=%s' % p)
+ tar.add_default_arg("--exclude=%s" % p)
with working_dir(self.stage.path):
if self.stage.srcdir:
@@ -690,10 +690,9 @@ class VCSFetchStrategy(FetchStrategy):
# directory that is included in the archive, but they differ
# based on OS, so we temporarily rename the repo
with temp_rename(self.stage.source_path, self.stage.srcdir):
- tar('-czf', destination, self.stage.srcdir)
+ tar("-czf", destination, self.stage.srcdir)
else:
- tar('-czf', destination,
- os.path.basename(self.stage.source_path))
+ tar("-czf", destination, os.path.basename(self.stage.source_path))
def __str__(self):
return "VCS: %s" % self.url
@@ -716,48 +715,48 @@ class GoFetchStrategy(VCSFetchStrategy):
The fetched source will be moved to the standard stage sourcepath directory
during the expand step.
"""
- url_attr = 'go'
+
+ url_attr = "go"
def __init__(self, **kwargs):
# Discards the keywords in kwargs that may conflict with the next
# call to __init__
forwarded_args = copy.copy(kwargs)
- forwarded_args.pop('name', None)
+ forwarded_args.pop("name", None)
super(GoFetchStrategy, self).__init__(**forwarded_args)
self._go = None
@property
def go_version(self):
- vstring = self.go('version', output=str).split(' ')[2]
+ vstring = self.go("version", output=str).split(" ")[2]
return spack.version.Version(vstring)
@property
def go(self):
if not self._go:
- self._go = which('go', required=True)
+ self._go = which("go", required=True)
return self._go
@_needs_stage
def fetch(self):
- tty.debug('Getting go resource: {0}'.format(self.url))
+ tty.debug("Getting go resource: {0}".format(self.url))
with working_dir(self.stage.path):
try:
- os.mkdir('go')
+ os.mkdir("go")
except OSError:
pass
env = dict(os.environ)
- env['GOPATH'] = os.path.join(os.getcwd(), 'go')
- self.go('get', '-v', '-d', self.url, env=env)
+ env["GOPATH"] = os.path.join(os.getcwd(), "go")
+ self.go("get", "-v", "-d", self.url, env=env)
def archive(self, destination):
- super(GoFetchStrategy, self).archive(destination, exclude='.git')
+ super(GoFetchStrategy, self).archive(destination, exclude=".git")
@_needs_stage
def expand(self):
- tty.debug(
- "Source fetched with %s is already expanded." % self.url_attr)
+ tty.debug("Source fetched with %s is already expanded." % self.url_attr)
# Move the directory to the well-known stage source path
repo_root = _ensure_one_stage_entry(self.stage.path)
@@ -766,7 +765,7 @@ class GoFetchStrategy(VCSFetchStrategy):
@_needs_stage
def reset(self):
with working_dir(self.stage.source_path):
- self.go('clean')
+ self.go("clean")
def __str__(self):
return "[go] %s" % self.url
@@ -794,23 +793,30 @@ class GitFetchStrategy(VCSFetchStrategy):
Repositories are cloned into the standard stage source path directory.
"""
- url_attr = 'git'
- optional_attrs = ['tag', 'branch', 'commit', 'submodules',
- 'get_full_repo', 'submodules_delete']
- git_version_re = r'git version (\S+)'
+ url_attr = "git"
+ optional_attrs = [
+ "tag",
+ "branch",
+ "commit",
+ "submodules",
+ "get_full_repo",
+ "submodules_delete",
+ ]
+
+ git_version_re = r"git version (\S+)"
def __init__(self, **kwargs):
# Discards the keywords in kwargs that may conflict with the next call
# to __init__
forwarded_args = copy.copy(kwargs)
- forwarded_args.pop('name', None)
+ forwarded_args.pop("name", None)
super(GitFetchStrategy, self).__init__(**forwarded_args)
self._git = None
- self.submodules = kwargs.get('submodules', False)
- self.submodules_delete = kwargs.get('submodules_delete', False)
- self.get_full_repo = kwargs.get('get_full_repo', False)
+ self.submodules = kwargs.get("submodules", False)
+ self.submodules_delete = kwargs.get("submodules_delete", False)
+ self.get_full_repo = kwargs.get("get_full_repo", False)
@property
def git_version(self):
@@ -819,27 +825,27 @@ class GitFetchStrategy(VCSFetchStrategy):
@staticmethod
def version_from_git(git_exe):
"""Given a git executable, return the Version (this will fail if
- the output cannot be parsed into a valid Version).
+ the output cannot be parsed into a valid Version).
"""
- version_output = git_exe('--version', output=str)
+ version_output = git_exe("--version", output=str)
m = re.search(GitFetchStrategy.git_version_re, version_output)
return spack.version.Version(m.group(1))
@property
def git(self):
if not self._git:
- self._git = which('git', required=True)
+ self._git = which("git", required=True)
# Disable advice for a quieter fetch
# https://github.com/git/git/blob/master/Documentation/RelNotes/1.7.2.txt
- if self.git_version >= spack.version.Version('1.7.2'):
- self._git.add_default_arg('-c')
- self._git.add_default_arg('advice.detachedHead=false')
+ if self.git_version >= spack.version.Version("1.7.2"):
+ self._git.add_default_arg("-c")
+ self._git.add_default_arg("advice.detachedHead=false")
# If the user asked for insecure fetching, make that work
# with git as well.
- if not spack.config.get('config:verify_ssl'):
- self._git.add_default_env('GIT_SSL_NO_VERIFY', 'true')
+ if not spack.config.get("config:verify_ssl"):
+ self._git.add_default_env("GIT_SSL_NO_VERIFY", "true")
return self._git
@@ -854,25 +860,25 @@ class GitFetchStrategy(VCSFetchStrategy):
repo_ref = self.commit or self.tag or self.branch
if repo_ref:
repo_path = url_util.parse(self.url).path
- result = os.path.sep.join(['git', repo_path, repo_ref])
+ result = os.path.sep.join(["git", repo_path, repo_ref])
return result
def _repo_info(self):
- args = ''
+ args = ""
if self.commit:
- args = ' at commit {0}'.format(self.commit)
+ args = " at commit {0}".format(self.commit)
elif self.tag:
- args = ' at tag {0}'.format(self.tag)
+ args = " at tag {0}".format(self.tag)
elif self.branch:
- args = ' on branch {0}'.format(self.branch)
+ args = " on branch {0}".format(self.branch)
- return '{0}{1}'.format(self.url, args)
+ return "{0}{1}".format(self.url, args)
@_needs_stage
def fetch(self):
if self.stage.expanded:
- tty.debug('Already fetched {0}'.format(self.stage.source_path))
+ tty.debug("Already fetched {0}".format(self.stage.source_path))
return
self.clone(commit=self.commit, branch=self.branch, tag=self.tag)
@@ -894,69 +900,71 @@ class GitFetchStrategy(VCSFetchStrategy):
"""
# Default to spack source path
dest = dest or self.stage.source_path
- tty.debug('Cloning git repository: {0}'.format(self._repo_info()))
+ tty.debug("Cloning git repository: {0}".format(self._repo_info()))
git = self.git
- debug = spack.config.get('config:debug')
+ debug = spack.config.get("config:debug")
if bare:
# We don't need to worry about which commit/branch/tag is checked out
- clone_args = ['clone', '--bare']
+ clone_args = ["clone", "--bare"]
if not debug:
- clone_args.append('--quiet')
+ clone_args.append("--quiet")
clone_args.extend([self.url, dest])
git(*clone_args)
elif commit:
# Need to do a regular clone and check out everything if
# they asked for a particular commit.
- clone_args = ['clone', self.url]
+ clone_args = ["clone", self.url]
if not debug:
- clone_args.insert(1, '--quiet')
+ clone_args.insert(1, "--quiet")
with temp_cwd():
git(*clone_args)
- repo_name = get_single_file('.')
+ repo_name = get_single_file(".")
if self.stage:
self.stage.srcdir = repo_name
shutil.move(repo_name, dest)
with working_dir(dest):
- checkout_args = ['checkout', commit]
+ checkout_args = ["checkout", commit]
if not debug:
- checkout_args.insert(1, '--quiet')
+ checkout_args.insert(1, "--quiet")
git(*checkout_args)
else:
# Can be more efficient if not checking out a specific commit.
- args = ['clone']
+ args = ["clone"]
if not debug:
- args.append('--quiet')
+ args.append("--quiet")
# If we want a particular branch ask for it.
if branch:
- args.extend(['--branch', branch])
- elif tag and self.git_version >= spack.version.ver('1.8.5.2'):
- args.extend(['--branch', tag])
+ args.extend(["--branch", branch])
+ elif tag and self.git_version >= spack.version.ver("1.8.5.2"):
+ args.extend(["--branch", tag])
# Try to be efficient if we're using a new enough git.
# This checks out only one branch's history
- if self.git_version >= spack.version.ver('1.7.10'):
+ if self.git_version >= spack.version.ver("1.7.10"):
if self.get_full_repo:
- args.append('--no-single-branch')
+ args.append("--no-single-branch")
else:
- args.append('--single-branch')
+ args.append("--single-branch")
with temp_cwd():
# Yet more efficiency: only download a 1-commit deep
# tree, if the in-use git and protocol permit it.
- if (not self.get_full_repo) and \
- self.git_version >= spack.version.ver('1.7.1') and \
- self.protocol_supports_shallow_clone():
- args.extend(['--depth', '1'])
+ if (
+ (not self.get_full_repo)
+ and self.git_version >= spack.version.ver("1.7.1")
+ and self.protocol_supports_shallow_clone()
+ ):
+ args.extend(["--depth", "1"])
args.extend([self.url])
git(*args)
- repo_name = get_single_file('.')
+ repo_name = get_single_file(".")
if self.stage:
self.stage.srcdir = repo_name
shutil.move(repo_name, dest)
@@ -965,15 +973,15 @@ class GitFetchStrategy(VCSFetchStrategy):
# For tags, be conservative and check them out AFTER
# cloning. Later git versions can do this with clone
# --branch, but older ones fail.
- if tag and self.git_version < spack.version.ver('1.8.5.2'):
+ if tag and self.git_version < spack.version.ver("1.8.5.2"):
# pull --tags returns a "special" error code of 1 in
# older versions that we have to ignore.
# see: https://github.com/git/git/commit/19d122b
- pull_args = ['pull', '--tags']
- co_args = ['checkout', self.tag]
- if not spack.config.get('config:debug'):
- pull_args.insert(1, '--quiet')
- co_args.insert(1, '--quiet')
+ pull_args = ["pull", "--tags"]
+ co_args = ["checkout", self.tag]
+ if not spack.config.get("config:debug"):
+ pull_args.insert(1, "--quiet")
+ co_args.insert(1, "--quiet")
git(*pull_args, ignore_errors=1)
git(*co_args)
@@ -981,9 +989,9 @@ class GitFetchStrategy(VCSFetchStrategy):
if self.submodules_delete:
with working_dir(dest):
for submodule_to_delete in self.submodules_delete:
- args = ['rm', submodule_to_delete]
- if not spack.config.get('config:debug'):
- args.insert(1, '--quiet')
+ args = ["rm", submodule_to_delete]
+ if not spack.config.get("config:debug"):
+ args.insert(1, "--quiet")
git(*args)
# Init submodules if the user asked for them.
@@ -992,7 +1000,7 @@ class GitFetchStrategy(VCSFetchStrategy):
if callable(submodules):
submodules = list(submodules(self.package))
git_commands.append(["submodule", "init", "--"] + submodules)
- git_commands.append(['submodule', 'update', '--recursive'])
+ git_commands.append(["submodule", "update", "--recursive"])
elif submodules:
git_commands.append(["submodule", "update", "--init", "--recursive"])
@@ -1001,21 +1009,21 @@ class GitFetchStrategy(VCSFetchStrategy):
with working_dir(dest):
for args in git_commands:
- if not spack.config.get('config:debug'):
- args.insert(1, '--quiet')
+ if not spack.config.get("config:debug"):
+ args.insert(1, "--quiet")
git(*args)
def archive(self, destination):
- super(GitFetchStrategy, self).archive(destination, exclude='.git')
+ super(GitFetchStrategy, self).archive(destination, exclude=".git")
@_needs_stage
def reset(self):
with working_dir(self.stage.source_path):
- co_args = ['checkout', '.']
- clean_args = ['clean', '-f']
- if spack.config.get('config:debug'):
- co_args.insert(1, '--quiet')
- clean_args.insert(1, '--quiet')
+ co_args = ["checkout", "."]
+ clean_args = ["clean", "-f"]
+ if spack.config.get("config:debug"):
+ co_args.insert(1, "--quiet")
+ clean_args.insert(1, "--quiet")
self.git(*co_args)
self.git(*clean_args)
@@ -1024,11 +1032,10 @@ class GitFetchStrategy(VCSFetchStrategy):
"""Shallow clone operations (--depth #) are not supported by the basic
HTTP protocol or by no-protocol file specifications.
Use (e.g.) https:// or file:// instead."""
- return not (self.url.startswith('http://') or
- self.url.startswith('/'))
+ return not (self.url.startswith("http://") or self.url.startswith("/"))
def __str__(self):
- return '[git] {0}'.format(self._repo_info())
+ return "[git] {0}".format(self._repo_info())
@fetcher
@@ -1047,14 +1054,15 @@ class CvsFetchStrategy(VCSFetchStrategy):
Repositories are checked out into the standard stage source path directory.
"""
- url_attr = 'cvs'
- optional_attrs = ['branch', 'date']
+
+ url_attr = "cvs"
+ optional_attrs = ["branch", "date"]
def __init__(self, **kwargs):
# Discards the keywords in kwargs that may conflict with the next call
# to __init__
forwarded_args = copy.copy(kwargs)
- forwarded_args.pop('name', None)
+ forwarded_args.pop("name", None)
super(CvsFetchStrategy, self).__init__(**forwarded_args)
self._cvs = None
@@ -1066,7 +1074,7 @@ class CvsFetchStrategy(VCSFetchStrategy):
@property
def cvs(self):
if not self._cvs:
- self._cvs = which('cvs', required=True)
+ self._cvs = which("cvs", required=True)
return self._cvs
@property
@@ -1077,11 +1085,11 @@ class CvsFetchStrategy(VCSFetchStrategy):
if not (self.branch or self.date):
# We need a branch or a date to make a checkout reproducible
return None
- id = 'id'
+ id = "id"
if self.branch:
- id += '-branch=' + self.branch
+ id += "-branch=" + self.branch
if self.date:
- id += '-date=' + self.date
+ id += "-date=" + self.date
return id
def mirror_id(self):
@@ -1089,59 +1097,59 @@ class CvsFetchStrategy(VCSFetchStrategy):
# We need a branch or a date to make a checkout reproducible
return None
# Special-case handling because this is not actually a URL
- elements = self.url.split(':')
+ elements = self.url.split(":")
final = elements[-1]
- elements = final.split('/')
+ elements = final.split("/")
# Everything before the first slash is a port number
elements = elements[1:]
- result = os.path.sep.join(['cvs'] + elements)
+ result = os.path.sep.join(["cvs"] + elements)
if self.branch:
- result += '%branch=' + self.branch
+ result += "%branch=" + self.branch
if self.date:
- result += '%date=' + self.date
+ result += "%date=" + self.date
return result
@_needs_stage
def fetch(self):
if self.stage.expanded:
- tty.debug('Already fetched {0}'.format(self.stage.source_path))
+ tty.debug("Already fetched {0}".format(self.stage.source_path))
return
- tty.debug('Checking out CVS repository: {0}'.format(self.url))
+ tty.debug("Checking out CVS repository: {0}".format(self.url))
with temp_cwd():
- url, module = self.url.split('%module=')
+ url, module = self.url.split("%module=")
# Check out files
- args = ['-z9', '-d', url, 'checkout']
+ args = ["-z9", "-d", url, "checkout"]
if self.branch is not None:
- args.extend(['-r', self.branch])
+ args.extend(["-r", self.branch])
if self.date is not None:
- args.extend(['-D', self.date])
+ args.extend(["-D", self.date])
args.append(module)
self.cvs(*args)
# Rename repo
- repo_name = get_single_file('.')
+ repo_name = get_single_file(".")
self.stage.srcdir = repo_name
shutil.move(repo_name, self.stage.source_path)
def _remove_untracked_files(self):
"""Removes untracked files in a CVS repository."""
with working_dir(self.stage.source_path):
- status = self.cvs('-qn', 'update', output=str)
- for line in status.split('\n'):
- if re.match(r'^[?]', line):
+ status = self.cvs("-qn", "update", output=str)
+ for line in status.split("\n"):
+ if re.match(r"^[?]", line):
path = line[2:].strip()
if os.path.isfile(path):
os.unlink(path)
def archive(self, destination):
- super(CvsFetchStrategy, self).archive(destination, exclude='CVS')
+ super(CvsFetchStrategy, self).archive(destination, exclude="CVS")
@_needs_stage
def reset(self):
self._remove_untracked_files()
with working_dir(self.stage.source_path):
- self.cvs('update', '-C', '.')
+ self.cvs("update", "-C", ".")
def __str__(self):
return "[cvs] %s" % self.url
@@ -1162,14 +1170,15 @@ class SvnFetchStrategy(VCSFetchStrategy):
Repositories are checked out into the standard stage source path directory.
"""
- url_attr = 'svn'
- optional_attrs = ['revision']
+
+ url_attr = "svn"
+ optional_attrs = ["revision"]
def __init__(self, **kwargs):
# Discards the keywords in kwargs that may conflict with the next call
# to __init__
forwarded_args = copy.copy(kwargs)
- forwarded_args.pop('name', None)
+ forwarded_args.pop("name", None)
super(SvnFetchStrategy, self).__init__(**forwarded_args)
self._svn = None
@@ -1179,7 +1188,7 @@ class SvnFetchStrategy(VCSFetchStrategy):
@property
def svn(self):
if not self._svn:
- self._svn = which('svn', required=True)
+ self._svn = which("svn", required=True)
return self._svn
@property
@@ -1192,35 +1201,35 @@ class SvnFetchStrategy(VCSFetchStrategy):
def mirror_id(self):
if self.revision:
repo_path = url_util.parse(self.url).path
- result = os.path.sep.join(['svn', repo_path, self.revision])
+ result = os.path.sep.join(["svn", repo_path, self.revision])
return result
@_needs_stage
def fetch(self):
if self.stage.expanded:
- tty.debug('Already fetched {0}'.format(self.stage.source_path))
+ tty.debug("Already fetched {0}".format(self.stage.source_path))
return
- tty.debug('Checking out subversion repository: {0}'.format(self.url))
+ tty.debug("Checking out subversion repository: {0}".format(self.url))
- args = ['checkout', '--force', '--quiet']
+ args = ["checkout", "--force", "--quiet"]
if self.revision:
- args += ['-r', self.revision]
+ args += ["-r", self.revision]
args.extend([self.url])
with temp_cwd():
self.svn(*args)
- repo_name = get_single_file('.')
+ repo_name = get_single_file(".")
self.stage.srcdir = repo_name
shutil.move(repo_name, self.stage.source_path)
def _remove_untracked_files(self):
"""Removes untracked files in an svn repository."""
with working_dir(self.stage.source_path):
- status = self.svn('status', '--no-ignore', output=str)
- self.svn('status', '--no-ignore')
- for line in status.split('\n'):
- if not re.match('^[I?]', line):
+ status = self.svn("status", "--no-ignore", output=str)
+ self.svn("status", "--no-ignore")
+ for line in status.split("\n"):
+ if not re.match("^[I?]", line):
continue
path = line[8:].strip()
if os.path.isfile(path):
@@ -1229,13 +1238,13 @@ class SvnFetchStrategy(VCSFetchStrategy):
shutil.rmtree(path, ignore_errors=True)
def archive(self, destination):
- super(SvnFetchStrategy, self).archive(destination, exclude='.svn')
+ super(SvnFetchStrategy, self).archive(destination, exclude=".svn")
@_needs_stage
def reset(self):
self._remove_untracked_files()
with working_dir(self.stage.source_path):
- self.svn('revert', '.', '-R')
+ self.svn("revert", ".", "-R")
def __str__(self):
return "[svn] %s" % self.url
@@ -1264,14 +1273,15 @@ class HgFetchStrategy(VCSFetchStrategy):
Repositories are cloned into the standard stage source path directory.
"""
- url_attr = 'hg'
- optional_attrs = ['revision']
+
+ url_attr = "hg"
+ optional_attrs = ["revision"]
def __init__(self, **kwargs):
# Discards the keywords in kwargs that may conflict with the next call
# to __init__
forwarded_args = copy.copy(kwargs)
- forwarded_args.pop('name', None)
+ forwarded_args.pop("name", None)
super(HgFetchStrategy, self).__init__(**forwarded_args)
self._hg = None
@@ -1283,12 +1293,12 @@ class HgFetchStrategy(VCSFetchStrategy):
Executable: the hg executable
"""
if not self._hg:
- self._hg = which('hg', required=True)
+ self._hg = which("hg", required=True)
# When building PythonPackages, Spack automatically sets
# PYTHONPATH. This can interfere with hg, which is a Python
# script. Unset PYTHONPATH while running hg.
- self._hg.add_default_env('PYTHONPATH', '')
+ self._hg.add_default_env("PYTHONPATH", "")
return self._hg
@@ -1302,39 +1312,38 @@ class HgFetchStrategy(VCSFetchStrategy):
def mirror_id(self):
if self.revision:
repo_path = url_util.parse(self.url).path
- result = os.path.sep.join(['hg', repo_path, self.revision])
+ result = os.path.sep.join(["hg", repo_path, self.revision])
return result
@_needs_stage
def fetch(self):
if self.stage.expanded:
- tty.debug('Already fetched {0}'.format(self.stage.source_path))
+ tty.debug("Already fetched {0}".format(self.stage.source_path))
return
args = []
if self.revision:
- args.append('at revision %s' % self.revision)
- tty.debug('Cloning mercurial repository: {0} {1}'
- .format(self.url, args))
+ args.append("at revision %s" % self.revision)
+ tty.debug("Cloning mercurial repository: {0} {1}".format(self.url, args))
- args = ['clone']
+ args = ["clone"]
- if not spack.config.get('config:verify_ssl'):
- args.append('--insecure')
+ if not spack.config.get("config:verify_ssl"):
+ args.append("--insecure")
if self.revision:
- args.extend(['-r', self.revision])
+ args.extend(["-r", self.revision])
args.extend([self.url])
with temp_cwd():
self.hg(*args)
- repo_name = get_single_file('.')
+ repo_name = get_single_file(".")
self.stage.srcdir = repo_name
shutil.move(repo_name, self.stage.source_path)
def archive(self, destination):
- super(HgFetchStrategy, self).archive(destination, exclude='.hg')
+ super(HgFetchStrategy, self).archive(destination, exclude=".hg")
@_needs_stage
def reset(self):
@@ -1342,9 +1351,9 @@ class HgFetchStrategy(VCSFetchStrategy):
source_path = self.stage.source_path
scrubbed = "scrubbed-source-tmp"
- args = ['clone']
+ args = ["clone"]
if self.revision:
- args += ['-r', self.revision]
+ args += ["-r", self.revision]
args += [source_path, scrubbed]
self.hg(*args)
@@ -1358,46 +1367,45 @@ class HgFetchStrategy(VCSFetchStrategy):
@fetcher
class S3FetchStrategy(URLFetchStrategy):
"""FetchStrategy that pulls from an S3 bucket."""
- url_attr = 's3'
+
+ url_attr = "s3"
def __init__(self, *args, **kwargs):
try:
super(S3FetchStrategy, self).__init__(*args, **kwargs)
except ValueError:
- if not kwargs.get('url'):
- raise ValueError(
- "S3FetchStrategy requires a url for fetching.")
+ if not kwargs.get("url"):
+ raise ValueError("S3FetchStrategy requires a url for fetching.")
@_needs_stage
def fetch(self):
if self.archive_file:
- tty.debug('Already downloaded {0}'.format(self.archive_file))
+ tty.debug("Already downloaded {0}".format(self.archive_file))
return
parsed_url = url_util.parse(self.url)
- if parsed_url.scheme != 's3':
- raise FetchError(
- 'S3FetchStrategy can only fetch from s3:// urls.')
+ if parsed_url.scheme != "s3":
+ raise FetchError("S3FetchStrategy can only fetch from s3:// urls.")
- tty.debug('Fetching {0}'.format(self.url))
+ tty.debug("Fetching {0}".format(self.url))
basename = os.path.basename(parsed_url.path)
with working_dir(self.stage.path):
_, headers, stream = spack.util.web.read_from_url(self.url)
- with open(basename, 'wb') as f:
+ with open(basename, "wb") as f:
shutil.copyfileobj(stream, f)
- content_type = spack.util.web.get_header(headers, 'Content-type')
+ content_type = spack.util.web.get_header(headers, "Content-type")
- if content_type == 'text/html':
+ if content_type == "text/html":
warn_content_type_mismatch(self.archive_file or "the archive")
if self.stage.save_filename:
llnl.util.filesystem.rename(
- os.path.join(self.stage.path, basename),
- self.stage.save_filename)
+ os.path.join(self.stage.path, basename), self.stage.save_filename
+ )
if not self.archive_file:
raise FailedDownloadError(self.url)
@@ -1406,47 +1414,45 @@ class S3FetchStrategy(URLFetchStrategy):
@fetcher
class GCSFetchStrategy(URLFetchStrategy):
"""FetchStrategy that pulls from a GCS bucket."""
- url_attr = 'gs'
+
+ url_attr = "gs"
def __init__(self, *args, **kwargs):
try:
super(GCSFetchStrategy, self).__init__(*args, **kwargs)
except ValueError:
- if not kwargs.get('url'):
- raise ValueError(
- "GCSFetchStrategy requires a url for fetching.")
+ if not kwargs.get("url"):
+ raise ValueError("GCSFetchStrategy requires a url for fetching.")
@_needs_stage
def fetch(self):
import spack.util.web as web_util
+
if self.archive_file:
- tty.debug('Already downloaded {0}'.format(self.archive_file))
+ tty.debug("Already downloaded {0}".format(self.archive_file))
return
parsed_url = url_util.parse(self.url)
- if parsed_url.scheme != 'gs':
- raise FetchError(
- 'GCSFetchStrategy can only fetch from gs:// urls.')
+ if parsed_url.scheme != "gs":
+ raise FetchError("GCSFetchStrategy can only fetch from gs:// urls.")
- tty.debug('Fetching {0}'.format(self.url))
+ tty.debug("Fetching {0}".format(self.url))
basename = os.path.basename(parsed_url.path)
with working_dir(self.stage.path):
_, headers, stream = web_util.read_from_url(self.url)
- with open(basename, 'wb') as f:
+ with open(basename, "wb") as f:
shutil.copyfileobj(stream, f)
- content_type = web_util.get_header(headers, 'Content-type')
+ content_type = web_util.get_header(headers, "Content-type")
- if content_type == 'text/html':
+ if content_type == "text/html":
warn_content_type_mismatch(self.archive_file or "the archive")
if self.stage.save_filename:
- os.rename(
- os.path.join(self.stage.path, basename),
- self.stage.save_filename)
+ os.rename(os.path.join(self.stage.path, basename), self.stage.save_filename)
if not self.archive_file:
raise FailedDownloadError(self.url)
@@ -1454,8 +1460,8 @@ class GCSFetchStrategy(URLFetchStrategy):
def stable_target(fetcher):
"""Returns whether the fetcher target is expected to have a stable
- checksum. This is only true if the target is a preexisting archive
- file."""
+ checksum. This is only true if the target is a preexisting archive
+ file."""
if isinstance(fetcher, URLFetchStrategy) and fetcher.cachable:
return True
return False
@@ -1463,10 +1469,10 @@ def stable_target(fetcher):
def from_url(url):
"""Given a URL, find an appropriate fetch strategy for it.
- Currently just gives you a URLFetchStrategy that uses curl.
+ Currently just gives you a URLFetchStrategy that uses curl.
- TODO: make this return appropriate fetch strategies for other
- types of URLs.
+ TODO: make this return appropriate fetch strategies for other
+ types of URLs.
"""
return URLFetchStrategy(url)
@@ -1500,16 +1506,16 @@ def check_pkg_attributes(pkg):
"""
# a single package cannot have URL attributes for multiple VCS fetch
# strategies *unless* they are the same attribute.
- conflicts = set([s.url_attr for s in all_strategies
- if hasattr(pkg, s.url_attr)])
+ conflicts = set([s.url_attr for s in all_strategies if hasattr(pkg, s.url_attr)])
# URL isn't a VCS fetch method. We can use it with a VCS method.
- conflicts -= set(['url'])
+ conflicts -= set(["url"])
if len(conflicts) > 1:
raise FetcherConflict(
- 'Package %s cannot specify %s together. Pick at most one.'
- % (pkg.name, comma_and(quote(conflicts))))
+ "Package %s cannot specify %s together. Pick at most one."
+ % (pkg.name, comma_and(quote(conflicts)))
+ )
def _check_version_attributes(fetcher, pkg, version):
@@ -1521,9 +1527,7 @@ def _check_version_attributes(fetcher, pkg, version):
all_optionals = set(a for s in all_strategies for a in s.optional_attrs)
args = pkg.versions[version]
- extra\
- = set(args) - set(fetcher.optional_attrs) - \
- set([fetcher.url_attr, 'no_cache'])
+ extra = set(args) - set(fetcher.optional_attrs) - set([fetcher.url_attr, "no_cache"])
extra.intersection_update(all_optionals)
if extra:
@@ -1532,43 +1536,42 @@ def _check_version_attributes(fetcher, pkg, version):
"%s version '%s' has extra arguments: %s"
% (pkg.name, version, comma_and(quote(extra))),
"Valid arguments for a %s fetcher are: \n %s"
- % (fetcher.url_attr, comma_and(quote(legal_attrs))))
+ % (fetcher.url_attr, comma_and(quote(legal_attrs))),
+ )
def _extrapolate(pkg, version):
"""Create a fetcher from an extrapolated URL for this version."""
try:
- return URLFetchStrategy(pkg.url_for_version(version),
- fetch_options=pkg.fetch_options)
+ return URLFetchStrategy(pkg.url_for_version(version), fetch_options=pkg.fetch_options)
except spack.package_base.NoURLError:
- msg = ("Can't extrapolate a URL for version %s "
- "because package %s defines no URLs")
+ msg = "Can't extrapolate a URL for version %s " "because package %s defines no URLs"
raise ExtrapolationError(msg % (version, pkg.name))
def _from_merged_attrs(fetcher, pkg, version):
"""Create a fetcher from merged package and version attributes."""
- if fetcher.url_attr == 'url':
+ if fetcher.url_attr == "url":
mirrors = pkg.all_urls_for_version(version)
url = mirrors[0]
mirrors = mirrors[1:]
- attrs = {fetcher.url_attr: url, 'mirrors': mirrors}
+ attrs = {fetcher.url_attr: url, "mirrors": mirrors}
else:
url = getattr(pkg, fetcher.url_attr)
attrs = {fetcher.url_attr: url}
- attrs['fetch_options'] = pkg.fetch_options
+ attrs["fetch_options"] = pkg.fetch_options
attrs.update(pkg.versions[version])
- if fetcher.url_attr == 'git' and hasattr(pkg, 'submodules'):
- attrs.setdefault('submodules', pkg.submodules)
+ if fetcher.url_attr == "git" and hasattr(pkg, "submodules"):
+ attrs.setdefault("submodules", pkg.submodules)
return fetcher(**attrs)
def for_package_version(pkg, version):
"""Determine a fetch strategy based on the arguments supplied to
- version() in the package description."""
+ version() in the package description."""
# No-code packages have a custom fetch strategy to work around issues
# with resource staging.
@@ -1584,8 +1587,7 @@ def for_package_version(pkg, version):
if isinstance(version, spack.version.GitVersion):
if not hasattr(pkg, "git"):
raise FetchError(
- "Cannot fetch git version for %s. Package has no 'git' attribute" %
- pkg.name
+ "Cannot fetch git version for %s. Package has no 'git' attribute" % pkg.name
)
# Populate the version with comparisons to other commits
version.generate_git_lookup(pkg.name)
@@ -1596,13 +1598,13 @@ def for_package_version(pkg, version):
# We call all non-commit refs tags in this context, at the cost of a slight
# performance hit for branches on older versions of git.
# Branches cannot be cached, so we tell the fetcher not to cache tags/branches
- ref_type = 'commit' if version.is_commit else 'tag'
+ ref_type = "commit" if version.is_commit else "tag"
kwargs = {
- 'git': pkg.git,
+ "git": pkg.git,
ref_type: version.ref,
- 'no_cache': True,
+ "no_cache": True,
}
- kwargs['submodules'] = getattr(pkg, 'submodules', False)
+ kwargs["submodules"] = getattr(pkg, "submodules", False)
fetcher = GitFetchStrategy(**kwargs)
return fetcher
@@ -1611,7 +1613,7 @@ def for_package_version(pkg, version):
return _extrapolate(pkg, version)
# Set package args first so version args can override them
- args = {'fetch_options': pkg.fetch_options}
+ args = {"fetch_options": pkg.fetch_options}
# Grab a dict of args out of the package version dict
args.update(pkg.versions[version])
@@ -1619,14 +1621,14 @@ def for_package_version(pkg, version):
for fetcher in all_strategies:
if fetcher.url_attr in args:
_check_version_attributes(fetcher, pkg, version)
- if fetcher.url_attr == 'git' and hasattr(pkg, 'submodules'):
- args.setdefault('submodules', pkg.submodules)
+ if fetcher.url_attr == "git" and hasattr(pkg, "submodules"):
+ args.setdefault("submodules", pkg.submodules)
return fetcher(**args)
# if a version's optional attributes imply a particular fetch
# strategy, and we have the `url_attr`, then use that strategy.
for fetcher in all_strategies:
- if hasattr(pkg, fetcher.url_attr) or fetcher.url_attr == 'url':
+ if hasattr(pkg, fetcher.url_attr) or fetcher.url_attr == "url":
optionals = fetcher.optional_attrs
if optionals and any(a in args for a in optionals):
_check_version_attributes(fetcher, pkg, version)
@@ -1645,38 +1647,36 @@ def for_package_version(pkg, version):
def from_url_scheme(url, *args, **kwargs):
"""Finds a suitable FetchStrategy by matching its url_attr with the scheme
- in the given url."""
+ in the given url."""
- url = kwargs.get('url', url)
- parsed_url = urllib_parse.urlparse(url, scheme='file')
+ url = kwargs.get("url", url)
+ parsed_url = urllib_parse.urlparse(url, scheme="file")
- scheme_mapping = (
- kwargs.get('scheme_mapping') or
- {
- 'file': 'url',
- 'http': 'url',
- 'https': 'url',
- 'ftp': 'url',
- 'ftps': 'url',
- })
+ scheme_mapping = kwargs.get("scheme_mapping") or {
+ "file": "url",
+ "http": "url",
+ "https": "url",
+ "ftp": "url",
+ "ftps": "url",
+ }
scheme = parsed_url.scheme
scheme = scheme_mapping.get(scheme, scheme)
for fetcher in all_strategies:
- url_attr = getattr(fetcher, 'url_attr', None)
+ url_attr = getattr(fetcher, "url_attr", None)
if url_attr and url_attr == scheme:
return fetcher(url, *args, **kwargs)
raise ValueError(
- 'No FetchStrategy found for url with scheme: "{SCHEME}"'.format(
- SCHEME=parsed_url.scheme))
+ 'No FetchStrategy found for url with scheme: "{SCHEME}"'.format(SCHEME=parsed_url.scheme)
+ )
def from_list_url(pkg):
"""If a package provides a URL which lists URLs for resources by
- version, this can can create a fetcher for a URL discovered for
- the specified package's version."""
+ version, this can can create a fetcher for a URL discovered for
+ the specified package's version."""
if pkg.list_url:
try:
@@ -1691,12 +1691,11 @@ def from_list_url(pkg):
if version in pkg.versions:
args = pkg.versions[version]
checksum = next(
- (v for k, v in args.items() if k in crypto.hashes),
- args.get('checksum'))
+ (v for k, v in args.items() if k in crypto.hashes), args.get("checksum")
+ )
# construct a fetcher
- return URLFetchStrategy(url_from_list, checksum,
- fetch_options=pkg.fetch_options)
+ return URLFetchStrategy(url_from_list, checksum, fetch_options=pkg.fetch_options)
except KeyError as e:
tty.debug(e)
tty.msg("Cannot find version %s in url_list" % pkg.version)
@@ -1708,7 +1707,6 @@ def from_list_url(pkg):
class FsCache(object):
-
def __init__(self, root):
self.root = os.path.abspath(root)
@@ -1743,14 +1741,14 @@ class NoCacheError(FetchError):
class FailedDownloadError(FetchError):
"""Raised when a download fails."""
+
def __init__(self, url, msg=""):
- super(FailedDownloadError, self).__init__(
- "Failed to fetch file from URL: %s" % url, msg)
+ super(FailedDownloadError, self).__init__("Failed to fetch file from URL: %s" % url, msg)
self.url = url
class NoArchiveFileError(FetchError):
- """"Raised when an archive file is expected but none exists."""
+ """ "Raised when an archive file is expected but none exists."""
class NoDigestError(FetchError):
@@ -1767,13 +1765,14 @@ class FetcherConflict(FetchError):
class InvalidArgsError(FetchError):
"""Raised when a version can't be deduced from a set of arguments."""
+
def __init__(self, pkg=None, version=None, **args):
msg = "Could not guess a fetch strategy"
if pkg:
- msg += ' for {pkg}'.format(pkg=pkg)
+ msg += " for {pkg}".format(pkg=pkg)
if version:
- msg += '@{version}'.format(version=version)
- long_msg = 'with arguments: {args}'.format(args=args)
+ msg += "@{version}".format(version=version)
+ long_msg = "with arguments: {args}".format(args=args)
super(InvalidArgsError, self).__init__(msg, long_msg)
@@ -1783,7 +1782,8 @@ class ChecksumError(FetchError):
class NoStageError(FetchError):
"""Raised when fetch operations are called before set_stage()."""
+
def __init__(self, method):
super(NoStageError, self).__init__(
- "Must call FetchStrategy.set_stage() before calling %s" %
- method.__name__)
+ "Must call FetchStrategy.set_stage() before calling %s" % method.__name__
+ )
diff --git a/lib/spack/spack/filesystem_view.py b/lib/spack/spack/filesystem_view.py
index 1a4a492d2f..2373ec5e45 100644
--- a/lib/spack/spack/filesystem_view.py
+++ b/lib/spack/spack/filesystem_view.py
@@ -46,7 +46,7 @@ from spack.error import SpackError
__all__ = ["FilesystemView", "YamlFilesystemView"]
-_projections_path = '.spack/projections.yaml'
+_projections_path = ".spack/projections.yaml"
def view_symlink(src, dst, **kwargs):
@@ -83,34 +83,28 @@ def view_copy(src, dst, view, spec=None):
# Break a package include cycle
import spack.relocate
- orig_sbang = '#!/bin/bash {0}/bin/sbang'.format(spack.paths.spack_root)
+ orig_sbang = "#!/bin/bash {0}/bin/sbang".format(spack.paths.spack_root)
new_sbang = sbang.sbang_shebang_line()
- prefix_to_projection = collections.OrderedDict({
- spec.prefix: view.get_projection_for_spec(spec)})
+ prefix_to_projection = collections.OrderedDict(
+ {spec.prefix: view.get_projection_for_spec(spec)}
+ )
for dep in spec.traverse():
if not dep.external:
- prefix_to_projection[dep.prefix] = \
- view.get_projection_for_spec(dep)
+ prefix_to_projection[dep.prefix] = view.get_projection_for_spec(dep)
if spack.relocate.is_binary(dst):
- spack.relocate.relocate_text_bin(
- binaries=[dst],
- prefixes=prefix_to_projection
- )
+ spack.relocate.relocate_text_bin(binaries=[dst], prefixes=prefix_to_projection)
else:
prefix_to_projection[spack.store.layout.root] = view._root
prefix_to_projection[orig_sbang] = new_sbang
- spack.relocate.relocate_text(
- files=[dst],
- prefixes=prefix_to_projection
- )
+ spack.relocate.relocate_text(files=[dst], prefixes=prefix_to_projection)
try:
stat = os.stat(src)
os.chown(dst, stat.st_uid, stat.st_gid)
except OSError:
- tty.debug('Can\'t change the permissions for %s' % dst)
+ tty.debug("Can't change the permissions for %s" % dst)
def view_func_parser(parsed_name):
@@ -128,38 +122,38 @@ def view_func_parser(parsed_name):
def inverse_view_func_parser(view_type):
# get string based on view type
if view_type is view_hardlink:
- link_name = 'hardlink'
+ link_name = "hardlink"
elif view_type is view_copy:
- link_name = 'copy'
+ link_name = "copy"
else:
- link_name = 'symlink'
+ link_name = "symlink"
return link_name
class FilesystemView(object):
"""
- Governs a filesystem view that is located at certain root-directory.
+ Governs a filesystem view that is located at certain root-directory.
- Packages are linked from their install directories into a common file
- hierachy.
+ Packages are linked from their install directories into a common file
+ hierachy.
- In distributed filesystems, loading each installed package seperately
- can lead to slow-downs due to too many directories being traversed.
- This can be circumvented by loading all needed modules into a common
- directory structure.
+ In distributed filesystems, loading each installed package seperately
+ can lead to slow-downs due to too many directories being traversed.
+ This can be circumvented by loading all needed modules into a common
+ directory structure.
"""
def __init__(self, root, layout, **kwargs):
"""
- Initialize a filesystem view under the given `root` directory with
- corresponding directory `layout`.
+ Initialize a filesystem view under the given `root` directory with
+ corresponding directory `layout`.
- Files are linked by method `link` (llnl.util.symlink by default).
+ Files are linked by method `link` (llnl.util.symlink by default).
"""
self._root = root
self.layout = layout
- self.projections = kwargs.get('projections', {})
+ self.projections = kwargs.get("projections", {})
self.ignore_conflicts = kwargs.get("ignore_conflicts", False)
self.verbose = kwargs.get("verbose", False)
@@ -170,116 +164,116 @@ class FilesystemView(object):
def add_specs(self, *specs, **kwargs):
"""
- Add given specs to view.
+ Add given specs to view.
- The supplied specs might be standalone packages or extensions of
- other packages.
+ The supplied specs might be standalone packages or extensions of
+ other packages.
- Should accept `with_dependencies` as keyword argument (default
- True) to indicate wether or not dependencies should be activated as
- well.
+ Should accept `with_dependencies` as keyword argument (default
+ True) to indicate wether or not dependencies should be activated as
+ well.
- Should except an `exclude` keyword argument containing a list of
- regexps that filter out matching spec names.
+ Should except an `exclude` keyword argument containing a list of
+ regexps that filter out matching spec names.
- This method should make use of `activate_{extension,standalone}`.
+ This method should make use of `activate_{extension,standalone}`.
"""
raise NotImplementedError
def add_extension(self, spec):
"""
- Add (link) an extension in this view. Does not add dependencies.
+ Add (link) an extension in this view. Does not add dependencies.
"""
raise NotImplementedError
def add_standalone(self, spec):
"""
- Add (link) a standalone package into this view.
+ Add (link) a standalone package into this view.
"""
raise NotImplementedError
def check_added(self, spec):
"""
- Check if the given concrete spec is active in this view.
+ Check if the given concrete spec is active in this view.
"""
raise NotImplementedError
def remove_specs(self, *specs, **kwargs):
"""
- Removes given specs from view.
+ Removes given specs from view.
- The supplied spec might be a standalone package or an extension of
- another package.
+ The supplied spec might be a standalone package or an extension of
+ another package.
- Should accept `with_dependencies` as keyword argument (default
- True) to indicate wether or not dependencies should be deactivated
- as well.
+ Should accept `with_dependencies` as keyword argument (default
+ True) to indicate wether or not dependencies should be deactivated
+ as well.
- Should accept `with_dependents` as keyword argument (default True)
- to indicate wether or not dependents on the deactivated specs
- should be removed as well.
+ Should accept `with_dependents` as keyword argument (default True)
+ to indicate wether or not dependents on the deactivated specs
+ should be removed as well.
- Should except an `exclude` keyword argument containing a list of
- regexps that filter out matching spec names.
+ Should except an `exclude` keyword argument containing a list of
+ regexps that filter out matching spec names.
- This method should make use of `deactivate_{extension,standalone}`.
+ This method should make use of `deactivate_{extension,standalone}`.
"""
raise NotImplementedError
def remove_extension(self, spec):
"""
- Remove (unlink) an extension from this view.
+ Remove (unlink) an extension from this view.
"""
raise NotImplementedError
def remove_standalone(self, spec):
"""
- Remove (unlink) a standalone package from this view.
+ Remove (unlink) a standalone package from this view.
"""
raise NotImplementedError
def get_projection_for_spec(self, spec):
"""
- Get the projection in this view for a spec.
+ Get the projection in this view for a spec.
"""
raise NotImplementedError
def get_all_specs(self):
"""
- Get all specs currently active in this view.
+ Get all specs currently active in this view.
"""
raise NotImplementedError
def get_spec(self, spec):
"""
- Return the actual spec linked in this view (i.e. do not look it up
- in the database by name).
+ Return the actual spec linked in this view (i.e. do not look it up
+ in the database by name).
- `spec` can be a name or a spec from which the name is extracted.
+ `spec` can be a name or a spec from which the name is extracted.
- As there can only be a single version active for any spec the name
- is enough to identify the spec in the view.
+ As there can only be a single version active for any spec the name
+ is enough to identify the spec in the view.
- If no spec is present, returns None.
+ If no spec is present, returns None.
"""
raise NotImplementedError
def print_status(self, *specs, **kwargs):
"""
- Print a short summary about the given specs, detailing whether..
- * ..they are active in the view.
- * ..they are active but the activated version differs.
- * ..they are not activte in the view.
+ Print a short summary about the given specs, detailing whether..
+ * ..they are active in the view.
+ * ..they are active but the activated version differs.
+ * ..they are not activte in the view.
- Takes `with_dependencies` keyword argument so that the status of
- dependencies is printed as well.
+ Takes `with_dependencies` keyword argument so that the status of
+ dependencies is printed as well.
"""
raise NotImplementedError
class YamlFilesystemView(FilesystemView):
"""
- Filesystem view to work with a yaml based directory layout.
+ Filesystem view to work with a yaml based directory layout.
"""
def __init__(self, root, layout, **kwargs):
@@ -298,8 +292,8 @@ class YamlFilesystemView(FilesystemView):
# Ensure projections are the same from each source
# Read projections file from view
if self.projections != self.read_projections():
- msg = 'View at %s has projections file' % self._root
- msg += ' which does not match projections passed manually.'
+ msg = "View at %s has projections file" % self._root
+ msg += " which does not match projections passed manually."
raise ConflictingProjectionsError(msg)
self.extensions_layout = YamlViewExtensionsLayout(self, layout)
@@ -309,16 +303,15 @@ class YamlFilesystemView(FilesystemView):
def write_projections(self):
if self.projections:
mkdirp(os.path.dirname(self.projections_path))
- with open(self.projections_path, 'w') as f:
- f.write(s_yaml.dump_config({'projections': self.projections}))
+ with open(self.projections_path, "w") as f:
+ f.write(s_yaml.dump_config({"projections": self.projections}))
def read_projections(self):
if os.path.exists(self.projections_path):
- with open(self.projections_path, 'r') as f:
+ with open(self.projections_path, "r") as f:
projections_data = s_yaml.load(f)
- spack.config.validate(projections_data,
- spack.schema.projections.schema)
- return projections_data['projections']
+ spack.config.validate(projections_data, spack.schema.projections.schema)
+ return projections_data["projections"]
else:
return {}
@@ -349,18 +342,15 @@ class YamlFilesystemView(FilesystemView):
def add_extension(self, spec):
if not spec.package.is_extension:
- tty.error(self._croot + 'Package %s is not an extension.'
- % spec.name)
+ tty.error(self._croot + "Package %s is not an extension." % spec.name)
return False
if spec.external:
- tty.warn(self._croot + 'Skipping external package: %s'
- % colorize_spec(spec))
+ tty.warn(self._croot + "Skipping external package: %s" % colorize_spec(spec))
return True
if not spec.package.is_activated(self):
- spec.package.do_activate(
- self, verbose=self.verbose, with_dependencies=False)
+ spec.package.do_activate(self, verbose=self.verbose, with_dependencies=False)
# make sure the meta folder is linked as well (this is not done by the
# extension-activation mechnism)
@@ -371,31 +361,28 @@ class YamlFilesystemView(FilesystemView):
def add_standalone(self, spec):
if spec.package.is_extension:
- tty.error(self._croot + 'Package %s is an extension.'
- % spec.name)
+ tty.error(self._croot + "Package %s is an extension." % spec.name)
return False
if spec.external:
- tty.warn(self._croot + 'Skipping external package: %s'
- % colorize_spec(spec))
+ tty.warn(self._croot + "Skipping external package: %s" % colorize_spec(spec))
return True
if self.check_added(spec):
- tty.warn(self._croot + 'Skipping already linked package: %s'
- % colorize_spec(spec))
+ tty.warn(self._croot + "Skipping already linked package: %s" % colorize_spec(spec))
return True
if spec.package.extendable:
# Check for globally activated extensions in the extendee that
# we're looking at.
- activated = [p.spec for p in
- spack.store.db.activated_extensions_for(spec)]
+ activated = [p.spec for p in spack.store.db.activated_extensions_for(spec)]
if activated:
- tty.error("Globally activated extensions cannot be used in "
- "conjunction with filesystem views. "
- "Please deactivate the following specs: ")
- spack.cmd.display_specs(activated, flags=True, variants=True,
- long=False)
+ tty.error(
+ "Globally activated extensions cannot be used in "
+ "conjunction with filesystem views. "
+ "Please deactivate the following specs: "
+ )
+ spack.cmd.display_specs(activated, flags=True, variants=True, long=False)
return False
self.merge(spec)
@@ -403,7 +390,7 @@ class YamlFilesystemView(FilesystemView):
self.link_meta_folder(spec)
if self.verbose:
- tty.info(self._croot + 'Linked package: %s' % colorize_spec(spec))
+ tty.info(self._croot + "Linked package: %s" % colorize_spec(spec))
return True
def merge(self, spec, ignore=None):
@@ -414,8 +401,7 @@ class YamlFilesystemView(FilesystemView):
tree = LinkTree(view_source)
ignore = ignore or (lambda f: False)
- ignore_file = match_predicate(
- self.layout.hidden_file_regexes, ignore)
+ ignore_file = match_predicate(self.layout.hidden_file_regexes, ignore)
# check for dir conflicts
conflicts = tree.find_dir_conflicts(view_dst, ignore_file)
@@ -440,8 +426,7 @@ class YamlFilesystemView(FilesystemView):
tree = LinkTree(view_source)
ignore = ignore or (lambda f: False)
- ignore_file = match_predicate(
- self.layout.hidden_file_regexes, ignore)
+ ignore_file = match_predicate(self.layout.hidden_file_regexes, ignore)
merge_map = tree.get_file_map(view_dst, ignore_file)
pkg.remove_files_from_view(self, merge_map)
@@ -458,10 +443,11 @@ class YamlFilesystemView(FilesystemView):
# check if this spec owns a file of that name (through the
# manifest in the metadata dir, which we have in the view).
- manifest_file = os.path.join(self.get_path_meta_folder(spec),
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(
+ self.get_path_meta_folder(spec), spack.store.layout.manifest_file_name
+ )
try:
- with open(manifest_file, 'r') as f:
+ with open(manifest_file, "r") as f:
manifest = s_json.load(f)
except (OSError, IOError):
# if we can't load it, assume it doesn't know about the file.
@@ -514,22 +500,25 @@ class YamlFilesystemView(FilesystemView):
if with_dependents:
# remove all packages depending on the ones to remove
if len(dependents) > 0:
- tty.warn(self._croot +
- "The following dependents will be removed: %s"
- % ", ".join((s.name for s in dependents)))
+ tty.warn(
+ self._croot
+ + "The following dependents will be removed: %s"
+ % ", ".join((s.name for s in dependents))
+ )
to_deactivate.update(dependents)
elif len(dependents) > 0:
- tty.warn(self._croot +
- "The following packages will be unusable: %s"
- % ", ".join((s.name for s in dependents)))
+ tty.warn(
+ self._croot
+ + "The following packages will be unusable: %s"
+ % ", ".join((s.name for s in dependents))
+ )
# Determine the order that packages should be removed from the view;
# dependents come before their dependencies.
to_deactivate_sorted = list()
depmap = dict()
for spec in to_deactivate:
- depmap[spec] = set(d for d in spec.traverse(root=False)
- if d in to_deactivate)
+ depmap[spec] = set(d for d in spec.traverse(root=False) if d in to_deactivate)
while depmap:
for spec in [s for s, d in depmap.items() if not d]:
@@ -553,40 +542,37 @@ class YamlFilesystemView(FilesystemView):
def remove_extension(self, spec, with_dependents=True):
"""
- Remove (unlink) an extension from this view.
+ Remove (unlink) an extension from this view.
"""
if not self.check_added(spec):
- tty.warn(self._croot +
- 'Skipping package not linked in view: %s' % spec.name)
+ tty.warn(self._croot + "Skipping package not linked in view: %s" % spec.name)
return
if spec.package.is_activated(self):
spec.package.do_deactivate(
- self,
- verbose=self.verbose,
- remove_dependents=with_dependents)
+ self, verbose=self.verbose, remove_dependents=with_dependents
+ )
self.unlink_meta_folder(spec)
def remove_standalone(self, spec):
"""
- Remove (unlink) a standalone package from this view.
+ Remove (unlink) a standalone package from this view.
"""
if not self.check_added(spec):
- tty.warn(self._croot +
- 'Skipping package not linked in view: %s' % spec.name)
+ tty.warn(self._croot + "Skipping package not linked in view: %s" % spec.name)
return
self.unmerge(spec)
self.unlink_meta_folder(spec)
if self.verbose:
- tty.info(self._croot + 'Removed package: %s' % colorize_spec(spec))
+ tty.info(self._croot + "Removed package: %s" % colorize_spec(spec))
def get_projection_for_spec(self, spec):
"""
- Return the projection for a spec in this view.
+ Return the projection for a spec in this view.
- Relies on the ordering of projections to avoid ambiguity.
+ Relies on the ordering of projections to avoid ambiguity.
"""
spec = spack.spec.Spec(spec)
# Extensions are placed by their extendee, not by their own spec
@@ -603,15 +589,13 @@ class YamlFilesystemView(FilesystemView):
md_dirs = []
for root, dirs, files in os.walk(self._root):
if spack.store.layout.metadata_dir in dirs:
- md_dirs.append(os.path.join(root,
- spack.store.layout.metadata_dir))
+ md_dirs.append(os.path.join(root, spack.store.layout.metadata_dir))
specs = []
for md_dir in md_dirs:
if os.path.exists(md_dir):
for name_dir in os.listdir(md_dir):
- filename = os.path.join(md_dir, name_dir,
- spack.store.layout.spec_file_name)
+ filename = os.path.join(md_dir, name_dir, spack.store.layout.spec_file_name)
spec = get_spec_from_file(filename)
if spec:
specs.append(spec)
@@ -619,23 +603,23 @@ class YamlFilesystemView(FilesystemView):
def get_conflicts(self, *specs):
"""
- Return list of tuples (<spec>, <spec in view>) where the spec
- active in the view differs from the one to be activated.
+ Return list of tuples (<spec>, <spec in view>) where the spec
+ active in the view differs from the one to be activated.
"""
in_view = map(self.get_spec, specs)
- return [(s, v) for s, v in zip(specs, in_view)
- if v is not None and s != v]
+ return [(s, v) for s, v in zip(specs, in_view) if v is not None and s != v]
def get_path_meta_folder(self, spec):
"Get path to meta folder for either spec or spec name."
- return os.path.join(self.get_projection_for_spec(spec),
- spack.store.layout.metadata_dir,
- getattr(spec, "name", spec))
+ return os.path.join(
+ self.get_projection_for_spec(spec),
+ spack.store.layout.metadata_dir,
+ getattr(spec, "name", spec),
+ )
def get_spec(self, spec):
dotspack = self.get_path_meta_folder(spec)
- filename = os.path.join(dotspack,
- spack.store.layout.spec_file_name)
+ filename = os.path.join(dotspack, spack.store.layout.spec_file_name)
return get_spec_from_file(filename)
@@ -651,11 +635,13 @@ class YamlFilesystemView(FilesystemView):
"Singular print function for spec conflicts."
cprint = getattr(tty, level)
color = sys.stdout.isatty()
- linked = tty.color.colorize(" (@gLinked@.)", color=color)
+ linked = tty.color.colorize(" (@gLinked@.)", color=color)
specified = tty.color.colorize("(@rSpecified@.)", color=color)
- cprint(self._croot + "Package conflict detected:\n"
- "%s %s\n" % (linked, colorize_spec(spec_active)) +
- "%s %s" % (specified, colorize_spec(spec_specified)))
+ cprint(
+ self._croot + "Package conflict detected:\n"
+ "%s %s\n" % (linked, colorize_spec(spec_active))
+ + "%s %s" % (specified, colorize_spec(spec_specified))
+ )
def print_status(self, *specs, **kwargs):
if kwargs.get("with_dependencies", False):
@@ -666,8 +652,7 @@ class YamlFilesystemView(FilesystemView):
for s, v in zip(specs, in_view):
if not v:
- tty.error(self._croot +
- 'Package not linked: %s' % s.name)
+ tty.error(self._croot + "Package not linked: %s" % s.name)
elif s != v:
self.print_conflict(v, s, level="warn")
@@ -677,24 +662,26 @@ class YamlFilesystemView(FilesystemView):
tty.msg("Packages linked in %s:" % self._croot[:-1])
# Make a dict with specs keyed by architecture and compiler.
- index = index_by(specs, ('architecture', 'compiler'))
+ index = index_by(specs, ("architecture", "compiler"))
# Traverse the index and print out each package
for i, (architecture, compiler) in enumerate(sorted(index)):
if i > 0:
print()
- header = "%s{%s} / %s{%s}" % (spack.spec.architecture_color,
- architecture,
- spack.spec.compiler_color,
- compiler)
- tty.hline(colorize(header), char='-')
+ header = "%s{%s} / %s{%s}" % (
+ spack.spec.architecture_color,
+ architecture,
+ spack.spec.compiler_color,
+ compiler,
+ )
+ tty.hline(colorize(header), char="-")
specs = index[(architecture, compiler)]
specs.sort()
- format_string = '{name}{@version}'
- format_string += '{%compiler}{compiler_flags}{variants}'
+ format_string = "{name}{@version}"
+ format_string += "{%compiler}{compiler_flags}{variants}"
abbreviated = [s.cformat(format_string) for s in specs]
# Print one spec per line along with prefix path
@@ -703,13 +690,10 @@ class YamlFilesystemView(FilesystemView):
format = " %%-%ds%%s" % width
for abbrv, s in zip(abbreviated, specs):
- prefix = ''
+ prefix = ""
if self.verbose:
- prefix = colorize('@K{%s}' % s.dag_hash(7))
- print(
- prefix + (format % (abbrv,
- self.get_projection_for_spec(s)))
- )
+ prefix = colorize("@K{%s}" % s.dag_hash(7))
+ print(prefix + (format % (abbrv, self.get_projection_for_spec(s))))
else:
tty.warn(self._croot + "No packages found.")
@@ -730,7 +714,7 @@ class YamlFilesystemView(FilesystemView):
def _check_no_ext_conflicts(self, spec):
"""
- Check that there is no extension conflict for specs.
+ Check that there is no extension conflict for specs.
"""
extendee = spec.package.extendee_spec
try:
@@ -738,8 +722,7 @@ class YamlFilesystemView(FilesystemView):
except ExtensionAlreadyInstalledError:
# we print the warning here because later on the order in which
# packages get activated is not clear (set-sorting)
- tty.warn(self._croot +
- 'Skipping already activated package: %s' % spec.name)
+ tty.warn(self._croot + "Skipping already activated package: %s" % spec.name)
class SimpleFilesystemView(FilesystemView):
@@ -758,7 +741,7 @@ class SimpleFilesystemView(FilesystemView):
# Drop externals
for s in specs:
if s.external:
- tty.warn('Skipping external package: ' + s.short_spec)
+ tty.warn("Skipping external package: " + s.short_spec)
specs = [s for s in specs if not s.external]
if kwargs.get("exclude", None):
@@ -790,9 +773,9 @@ class SimpleFilesystemView(FilesystemView):
else:
raise MergeConflictSummary(visitor.file_conflicts)
- tty.debug("Creating {0} dirs and {1} links".format(
- len(visitor.directories),
- len(visitor.files)))
+ tty.debug(
+ "Creating {0} dirs and {1} links".format(len(visitor.directories), len(visitor.files))
+ )
# Make the directory structure
for dst in visitor.directories:
@@ -801,8 +784,7 @@ class SimpleFilesystemView(FilesystemView):
# Then group the files to be linked by spec...
# For compatibility, we have to create a merge_map dict mapping
# full_src => full_dst
- files_per_spec = itertools.groupby(
- visitor.files.items(), key=lambda item: item[1][0])
+ files_per_spec = itertools.groupby(visitor.files.items(), key=lambda item: item[1][0])
for (spec, (src_root, rel_paths)) in zip(specs, files_per_spec):
merge_map = dict()
@@ -819,13 +801,12 @@ class SimpleFilesystemView(FilesystemView):
metadata_visitor = SourceMergeVisitor()
for spec in specs:
- src_prefix = os.path.join(
- spec.package.view_source(),
- spack.store.layout.metadata_dir)
+ src_prefix = os.path.join(spec.package.view_source(), spack.store.layout.metadata_dir)
proj = os.path.join(
self.get_relative_projection_for_spec(spec),
spack.store.layout.metadata_dir,
- spec.name)
+ spec.name,
+ )
metadata_visitor.set_projection(proj)
visit_directory_tree(src_prefix, metadata_visitor)
@@ -844,8 +825,7 @@ class SimpleFilesystemView(FilesystemView):
os.mkdir(os.path.join(self._root, dst))
for dst_relpath, (src_root, src_relpath) in metadata_visitor.files.items():
- self.link(os.path.join(src_root, src_relpath),
- os.path.join(self._root, dst_relpath))
+ self.link(os.path.join(src_root, src_relpath), os.path.join(self._root, dst_relpath))
def get_relative_projection_for_spec(self, spec):
# Extensions are placed by their extendee, not by their own spec
@@ -853,13 +833,13 @@ class SimpleFilesystemView(FilesystemView):
spec = spec.package.extendee_spec
p = spack.projections.get_projection(self.projections, spec)
- return spec.format(p) if p else ''
+ return spec.format(p) if p else ""
def get_projection_for_spec(self, spec):
"""
- Return the projection for a spec in this view.
+ Return the projection for a spec in this view.
- Relies on the ordering of projections to avoid ambiguity.
+ Relies on the ordering of projections to avoid ambiguity.
"""
spec = spack.spec.Spec(spec)
# Extensions are placed by their extendee, not by their own spec
@@ -898,10 +878,10 @@ def colorize_spec(spec):
return spec.short_spec
-def find_dependents(all_specs, providers, deptype='run'):
+def find_dependents(all_specs, providers, deptype="run"):
"""
- Return a set containing all those specs from all_specs that depend on
- providers at the given dependency type.
+ Return a set containing all those specs from all_specs that depend on
+ providers at the given dependency type.
"""
dependents = set()
for s in all_specs:
@@ -920,6 +900,7 @@ def filter_exclude(specs, exclude):
if e.match(spec.name):
return False
return True
+
return filter(keep, specs)
diff --git a/lib/spack/spack/gcs_handler.py b/lib/spack/spack/gcs_handler.py
index de35511cef..13121be603 100644
--- a/lib/spack/spack/gcs_handler.py
+++ b/lib/spack/spack/gcs_handler.py
@@ -10,16 +10,14 @@ import spack.util.web as web_util
def gcs_open(req, *args, **kwargs):
- """Open a reader stream to a blob object on GCS
- """
+ """Open a reader stream to a blob object on GCS"""
import spack.util.gcs as gcs_util
url = url_util.parse(req.get_full_url())
gcsblob = gcs_util.GCSBlob(url)
if not gcsblob.exists():
- raise web_util.SpackWebError('GCS blob {0} does not exist'.format(
- gcsblob.blob_path))
+ raise web_util.SpackWebError("GCS blob {0} does not exist".format(gcsblob.blob_path))
stream = gcsblob.get_blob_byte_stream()
headers = gcsblob.get_blob_headers()
diff --git a/lib/spack/spack/graph.py b/lib/spack/spack/graph.py
index 2c0a07f17c..6c302544c4 100644
--- a/lib/spack/spack/graph.py
+++ b/lib/spack/spack/graph.py
@@ -50,14 +50,14 @@ import llnl.util.tty.color
import spack.dependency
-__all__ = ['graph_ascii', 'AsciiGraph', 'graph_dot']
+__all__ = ["graph_ascii", "AsciiGraph", "graph_dot"]
def node_label(spec):
- return spec.format('{name}{@version}{/hash:7}')
+ return spec.format("{name}{@version}{/hash:7}")
-def topological_sort(spec, deptype='all'):
+def topological_sort(spec, deptype="all"):
"""Return a list of dependency specs in topological sorting order.
The spec argument is not modified in by the function.
@@ -78,33 +78,30 @@ def topological_sort(spec, deptype='all'):
def dependencies(specs):
"""Return all the dependencies (including transitive) for a spec."""
- return list(set(itertools.chain.from_iterable(
- s.dependencies(deptype=deptype) for s in specs
- )))
+ return list(
+ set(itertools.chain.from_iterable(s.dependencies(deptype=deptype) for s in specs))
+ )
def dependents(specs):
"""Return all the dependents (including those of transitive dependencies)
for a spec.
"""
- candidates = list(set(itertools.chain.from_iterable(
- s.dependents(deptype=deptype) for s in specs
- )))
+ candidates = list(
+ set(itertools.chain.from_iterable(s.dependents(deptype=deptype) for s in specs))
+ )
return [x for x in candidates if x.name in nodes]
topological_order, children = [], {}
# Map a spec encoded as (id, name) to a list of its transitive dependencies
for spec in itertools.chain.from_iterable(nodes.values()):
- children[(id(spec), spec.name)] = [
- x for x in dependencies([spec]) if x.name in nodes
- ]
+ children[(id(spec), spec.name)] = [x for x in dependencies([spec]) if x.name in nodes]
# To return a result that is topologically ordered we need to add nodes
# only after their dependencies. The first nodes we can add are leaf nodes,
# i.e. nodes that have no dependencies.
ready = [
- spec for spec in itertools.chain.from_iterable(nodes.values())
- if not dependencies([spec])
+ spec for spec in itertools.chain.from_iterable(nodes.values()) if not dependencies([spec])
]
heapq.heapify(ready)
@@ -138,34 +135,33 @@ def find(seq, predicate):
# Names of different graph line states. We record previous line
# states so that we can easily determine what to do when connecting.
-states = ('node', 'collapse', 'merge-right', 'expand-right', 'back-edge')
+states = ("node", "collapse", "merge-right", "expand-right", "back-edge")
NODE, COLLAPSE, MERGE_RIGHT, EXPAND_RIGHT, BACK_EDGE = states
class AsciiGraph(object):
-
def __init__(self):
# These can be set after initialization or after a call to
# graph() to change behavior.
- self.node_character = 'o'
+ self.node_character = "o"
self.debug = False
self.indent = 0
self.deptype = spack.dependency.all_deptypes
# These are colors in the order they'll be used for edges.
# See llnl.util.tty.color for details on color characters.
- self.colors = 'rgbmcyRGBMCY'
+ self.colors = "rgbmcyRGBMCY"
# Internal vars are used in the graph() function and are
# properly initialized there.
- self._name_to_color = None # Node name to color
- self._out = None # Output stream
- self._frontier = None # frontier
- self._prev_state = None # State of previous line
- self._prev_index = None # Index of expansion point of prev line
+ self._name_to_color = None # Node name to color
+ self._out = None # Output stream
+ self._frontier = None # frontier
+ self._prev_state = None # State of previous line
+ self._prev_index = None # Index of expansion point of prev line
def _indent(self):
- self._out.write(self.indent * ' ')
+ self._out.write(self.indent * " ")
def _write_edge(self, string, index, sub=0):
"""Write a colored edge to the output stream."""
@@ -210,8 +206,7 @@ class AsciiGraph(object):
collapse = True
if self._prev_state == EXPAND_RIGHT:
# Special case where previous line expanded and i is off by 1.
- self._back_edge_line([], j, i + 1, True,
- label + "-1.5 " + str((i + 1, j)))
+ self._back_edge_line([], j, i + 1, True, label + "-1.5 " + str((i + 1, j)))
collapse = False
else:
@@ -221,12 +216,10 @@ class AsciiGraph(object):
if i - j > 1:
# We need two lines to connect if distance > 1
- self._back_edge_line([], j, i, True,
- label + "-1 " + str((i, j)))
+ self._back_edge_line([], j, i, True, label + "-1 " + str((i, j)))
collapse = False
- self._back_edge_line([j], -1, -1, collapse,
- label + "-2 " + str((i, j)))
+ self._back_edge_line([j], -1, -1, collapse, label + "-2 " + str((i, j)))
return True
elif deps:
@@ -241,9 +234,8 @@ class AsciiGraph(object):
if self.debug:
self._out.write(" " * 20)
- self._out.write("%-20s" % (
- str(self._prev_state) if self._prev_state else ''))
- self._out.write("%-20s" % (str(label) if label else ''))
+ self._out.write("%-20s" % (str(self._prev_state) if self._prev_state else ""))
+ self._out.write("%-20s" % (str(label) if label else ""))
self._out.write("%s" % self._frontier)
def _back_edge_line(self, prev_ends, end, start, collapse, label=None):
@@ -287,6 +279,7 @@ class AsciiGraph(object):
label -- optional debug label to print after the line.
"""
+
def advance(to_pos, edges):
"""Write edges up to <to_pos>."""
for i in range(self._pos, to_pos):
@@ -299,28 +292,28 @@ class AsciiGraph(object):
self._indent()
for p in prev_ends:
- advance(p, lambda: [("| ", self._pos)])
- advance(p + 1, lambda: [("|/", self._pos)])
+ advance(p, lambda: [("| ", self._pos)])
+ advance(p + 1, lambda: [("|/", self._pos)])
if end >= 0:
- advance(end + 1, lambda: [("| ", self._pos)])
- advance(start - 1, lambda: [("|", self._pos), ("_", end)])
+ advance(end + 1, lambda: [("| ", self._pos)])
+ advance(start - 1, lambda: [("|", self._pos), ("_", end)])
else:
advance(start - 1, lambda: [("| ", self._pos)])
if start >= 0:
- advance(start, lambda: [("|", self._pos), ("/", end)])
+ advance(start, lambda: [("|", self._pos), ("/", end)])
if collapse:
- advance(flen, lambda: [(" /", self._pos)])
+ advance(flen, lambda: [(" /", self._pos)])
else:
- advance(flen, lambda: [("| ", self._pos)])
+ advance(flen, lambda: [("| ", self._pos)])
self._set_state(BACK_EDGE, end, label)
self._out.write("\n")
def _node_label(self, node):
- return node.format('{name}@@{version}{/hash:7}')
+ return node.format("{name}@@{version}{/hash:7}")
def _node_line(self, index, node):
"""Writes a line with a node at index."""
@@ -437,8 +430,7 @@ class AsciiGraph(object):
self._frontier[i].remove(d)
if i - b > 1:
collapse_l1 = any(not e for e in self._frontier)
- self._back_edge_line(
- prev_ends, b, i, collapse_l1, 'left-1')
+ self._back_edge_line(prev_ends, b, i, collapse_l1, "left-1")
del prev_ends[:]
prev_ends.append(b)
@@ -450,15 +442,16 @@ class AsciiGraph(object):
collapse_l2 = False
if pop:
self._frontier.pop(i)
- self._back_edge_line(
- prev_ends, -1, -1, collapse_l2, 'left-2')
+ self._back_edge_line(prev_ends, -1, -1, collapse_l2, "left-2")
elif len(self._frontier[i]) > 1:
# Expand forward after doing all back connections
- if (i + 1 < len(self._frontier) and
- len(self._frontier[i + 1]) == 1 and
- self._frontier[i + 1][0] in self._frontier[i]):
+ if (
+ i + 1 < len(self._frontier)
+ and len(self._frontier[i + 1]) == 1
+ and self._frontier[i + 1][0] in self._frontier[i]
+ ):
# We need to connect to the element to the right.
# Keep lines straight by connecting directly and
# avoiding unnecessary expand/contract.
@@ -493,9 +486,7 @@ class AsciiGraph(object):
# Replace node with its dependencies
self._frontier.pop(i)
- edges = sorted(
- node.edges_to_dependencies(deptype=self.deptype), reverse=True
- )
+ edges = sorted(node.edges_to_dependencies(deptype=self.deptype), reverse=True)
if edges:
deps = [e.spec.dag_hash() for e in edges]
self._connect_deps(i, deps, "new-deps") # anywhere.
@@ -504,8 +495,7 @@ class AsciiGraph(object):
self._collapse_line(i)
-def graph_ascii(spec, node='o', out=None, debug=False,
- indent=0, color=None, deptype='all'):
+def graph_ascii(spec, node="o", out=None, debug=False, indent=0, color=None, deptype="all"):
graph = AsciiGraph()
graph.debug = debug
graph.indent = indent
@@ -516,7 +506,7 @@ def graph_ascii(spec, node='o', out=None, debug=False,
graph.write(spec, color=color, out=out)
-def graph_dot(specs, deptype='all', static=False, out=None):
+def graph_dot(specs, deptype="all", static=False, out=None):
"""Generate a graph in dot format of all provided specs.
Print out a dot formatted graph of all the dependencies between
@@ -536,9 +526,7 @@ def graph_dot(specs, deptype='all', static=False, out=None):
def static_graph(spec, deptype):
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
- possible = pkg_cls.possible_dependencies(
- expand_virtuals=True, deptype=deptype
- )
+ possible = pkg_cls.possible_dependencies(expand_virtuals=True, deptype=deptype)
nodes = set() # elements are (node name, node label)
edges = set() # elements are (src key, dest key)
@@ -567,38 +555,38 @@ def graph_dot(specs, deptype='all', static=False, out=None):
nodes.update(n)
edges.update(e)
- out.write('digraph G {\n')
+ out.write("digraph G {\n")
out.write(' labelloc = "b"\n')
out.write(' rankdir = "TB"\n')
out.write(' ranksep = "1"\n')
- out.write(' edge[\n')
- out.write(' penwidth=4')
- out.write(' ]\n')
- out.write(' node[\n')
- out.write(' fontname=Monaco,\n')
- out.write(' penwidth=4,\n')
- out.write(' fontsize=24,\n')
- out.write(' margin=.2,\n')
- out.write(' shape=box,\n')
- out.write(' fillcolor=lightblue,\n')
+ out.write(" edge[\n")
+ out.write(" penwidth=4")
+ out.write(" ]\n")
+ out.write(" node[\n")
+ out.write(" fontname=Monaco,\n")
+ out.write(" penwidth=4,\n")
+ out.write(" fontsize=24,\n")
+ out.write(" margin=.2,\n")
+ out.write(" shape=box,\n")
+ out.write(" fillcolor=lightblue,\n")
out.write(' style="rounded,filled"')
- out.write(' ]\n')
+ out.write(" ]\n")
# write nodes
- out.write('\n')
+ out.write("\n")
for key, label in nodes:
out.write(' "%s" [label="%s"]\n' % (key, label))
# write edges
- out.write('\n')
+ 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(" { rank=min; %s; }" % "; ".join(roots))
- out.write('\n')
- out.write('}\n')
+ out.write("\n")
+ out.write("}\n")
diff --git a/lib/spack/spack/hash_types.py b/lib/spack/spack/hash_types.py
index d9065148f2..d903515035 100644
--- a/lib/spack/spack/hash_types.py
+++ b/lib/spack/spack/hash_types.py
@@ -31,7 +31,7 @@ class SpecHashDescriptor(object):
@property
def attr(self):
"""Private attribute stored on spec"""
- return '_' + self.name
+ return "_" + self.name
def __call__(self, spec):
"""Run this hash on the provided spec."""
@@ -39,15 +39,12 @@ class SpecHashDescriptor(object):
#: Spack's deployment hash. Includes all inputs that can affect how a package is built.
-dag_hash = SpecHashDescriptor(
- deptype=('build', 'link', 'run'), package_hash=True, name='hash')
+dag_hash = SpecHashDescriptor(deptype=("build", "link", "run"), package_hash=True, name="hash")
#: Hash descriptor used only to transfer a DAG, as is, across processes
process_hash = SpecHashDescriptor(
- deptype=('build', 'link', 'run', 'test'),
- package_hash=False,
- name='process_hash'
+ deptype=("build", "link", "run", "test"), package_hash=False, name="process_hash"
)
@@ -59,16 +56,18 @@ def _content_hash_override(spec):
#: Package hash used as part of dag hash
package_hash = SpecHashDescriptor(
- deptype=(), package_hash=True, name='package_hash',
- override=_content_hash_override)
+ deptype=(), package_hash=True, name="package_hash", override=_content_hash_override
+)
# Deprecated hash types, no longer used, but needed to understand old serialized
# spec formats
full_hash = SpecHashDescriptor(
- deptype=('build', 'link', 'run'), package_hash=True, name='full_hash')
+ deptype=("build", "link", "run"), package_hash=True, name="full_hash"
+)
build_hash = SpecHashDescriptor(
- deptype=('build', 'link', 'run'), package_hash=False, name='build_hash')
+ deptype=("build", "link", "run"), package_hash=False, name="build_hash"
+)
diff --git a/lib/spack/spack/hooks/__init__.py b/lib/spack/spack/hooks/__init__.py
index de3cf2fb42..699464c913 100644
--- a/lib/spack/spack/hooks/__init__.py
+++ b/lib/spack/spack/hooks/__init__.py
@@ -44,16 +44,14 @@ class _HookRunner(object):
def _populate_hooks(cls):
# Lazily populate the list of hooks
cls._hooks = []
- relative_names = list(llnl.util.lang.list_modules(
- spack.paths.hooks_path
- ))
+ relative_names = list(llnl.util.lang.list_modules(spack.paths.hooks_path))
# We want this hook to be the last registered
- relative_names.sort(key=lambda x: x == 'write_install_manifest')
- assert relative_names[-1] == 'write_install_manifest'
+ relative_names.sort(key=lambda x: x == "write_install_manifest")
+ assert relative_names[-1] == "write_install_manifest"
for name in relative_names:
- module_name = __name__ + '.' + name
+ module_name = __name__ + "." + name
# When importing a module from a package, __import__('A.B', ...)
# returns package A when 'fromlist' is empty. If fromlist is not
# empty it returns the submodule B instead
@@ -71,25 +69,25 @@ class _HookRunner(object):
for _, module in self.hooks:
if hasattr(module, self.hook_name):
hook = getattr(module, self.hook_name)
- if hasattr(hook, '__call__'):
+ if hasattr(hook, "__call__"):
hook(*args, **kwargs)
# pre/post install and run by the install subprocess
-pre_install = _HookRunner('pre_install')
-post_install = _HookRunner('post_install')
+pre_install = _HookRunner("pre_install")
+post_install = _HookRunner("post_install")
# These hooks are run within an install subprocess
-pre_uninstall = _HookRunner('pre_uninstall')
-post_uninstall = _HookRunner('post_uninstall')
-on_phase_success = _HookRunner('on_phase_success')
-on_phase_error = _HookRunner('on_phase_error')
+pre_uninstall = _HookRunner("pre_uninstall")
+post_uninstall = _HookRunner("post_uninstall")
+on_phase_success = _HookRunner("on_phase_success")
+on_phase_error = _HookRunner("on_phase_error")
# These are hooks in installer.py, before starting install subprocess
-on_install_start = _HookRunner('on_install_start')
-on_install_success = _HookRunner('on_install_success')
-on_install_failure = _HookRunner('on_install_failure')
-on_install_cancel = _HookRunner('on_install_cancel')
+on_install_start = _HookRunner("on_install_start")
+on_install_success = _HookRunner("on_install_success")
+on_install_failure = _HookRunner("on_install_failure")
+on_install_cancel = _HookRunner("on_install_cancel")
# Environment hooks
-post_env_write = _HookRunner('post_env_write')
+post_env_write = _HookRunner("post_env_write")
diff --git a/lib/spack/spack/hooks/licensing.py b/lib/spack/spack/hooks/licensing.py
index 2312811afe..40c399e110 100644
--- a/lib/spack/spack/hooks/licensing.py
+++ b/lib/spack/spack/hooks/licensing.py
@@ -40,24 +40,26 @@ def set_up_license(pkg):
write_license_file(pkg, license_path)
# Open up file in user's favorite $EDITOR for editing
editor_exe = None
- if 'VISUAL' in os.environ:
- editor_exe = Executable(os.environ['VISUAL'])
+ if "VISUAL" in os.environ:
+ editor_exe = Executable(os.environ["VISUAL"])
# gvim runs in the background by default so we force it to run
# in the foreground to make sure the license file is updated
# before we try to install
- if 'gvim' in os.environ['VISUAL']:
- editor_exe.add_default_arg('-f')
- elif 'EDITOR' in os.environ:
- editor_exe = Executable(os.environ['EDITOR'])
+ if "gvim" in os.environ["VISUAL"]:
+ editor_exe.add_default_arg("-f")
+ elif "EDITOR" in os.environ:
+ editor_exe = Executable(os.environ["EDITOR"])
else:
- editor_exe = which('vim', 'vi', 'emacs', 'nano')
+ editor_exe = which("vim", "vi", "emacs", "nano")
if editor_exe is None:
raise EnvironmentError(
- 'No text editor found! Please set the VISUAL and/or EDITOR'
- ' environment variable(s) to your preferred text editor.')
+ "No text editor found! Please set the VISUAL and/or EDITOR"
+ " environment variable(s) to your preferred text editor."
+ )
def editor_wrapper(exe, args):
editor_exe(license_path)
+
editor(license_path, _exec_func=editor_wrapper)
else:
# Use already existing license file
@@ -65,15 +67,18 @@ def set_up_license(pkg):
# If not a file, what about an environment variable?
elif pkg.license_vars:
- tty.warn("A license is required to use %s. Please set %s to the "
- "full pathname to the license file, or port@host if you"
- " store your license keys on a dedicated license server" %
- (pkg.name, ' or '.join(pkg.license_vars)))
+ tty.warn(
+ "A license is required to use %s. Please set %s to the "
+ "full pathname to the license file, or port@host if you"
+ " store your license keys on a dedicated license server"
+ % (pkg.name, " or ".join(pkg.license_vars))
+ )
# If not a file or variable, suggest a website for further info
elif pkg.license_url:
- tty.warn("A license is required to use %s. See %s for details" %
- (pkg.name, pkg.license_url))
+ tty.warn(
+ "A license is required to use %s. See %s for details" % (pkg.name, pkg.license_url)
+ )
# If all else fails, you're on your own
else:
@@ -110,7 +115,9 @@ def write_license_file(pkg, license_path):
file UNCHANGED. The system may be configured if:
- A license file is installed in a default location.
-""".format(pkg.name)
+""".format(
+ pkg.name
+ )
if envvars:
txt += """\
@@ -118,7 +125,9 @@ def write_license_file(pkg, license_path):
a module file:
{0}
-""".format(envvars)
+""".format(
+ envvars
+ )
txt += """\
* Otherwise, depending on the license you have, enter AT THE BEGINNING of
@@ -131,14 +140,18 @@ def write_license_file(pkg, license_path):
this Spack-global file (relative to the installation prefix).
{0}
-""".format(linktargets)
+""".format(
+ linktargets
+ )
if url:
txt += """\
* For further information on licensing, see:
{0}
-""".format(url)
+""".format(
+ url
+ )
txt += """\
Recap:
@@ -150,7 +163,7 @@ def write_license_file(pkg, license_path):
os.makedirs(os.path.dirname(license_path))
# Output
- with open(license_path, 'w') as f:
+ with open(license_path, "w") as f:
for line in txt.splitlines():
f.write("{0}{1}\n".format(pkg.license_comment, line))
f.close()
@@ -181,5 +194,4 @@ def symlink_license(pkg):
if os.path.exists(target):
symlink(target, link_name)
- tty.msg("Added local symlink %s to global license file" %
- link_name)
+ tty.msg("Added local symlink %s to global license file" % link_name)
diff --git a/lib/spack/spack/hooks/module_file_generation.py b/lib/spack/spack/hooks/module_file_generation.py
index aa2d18d9ae..fa21443a82 100644
--- a/lib/spack/spack/hooks/module_file_generation.py
+++ b/lib/spack/spack/hooks/module_file_generation.py
@@ -12,18 +12,18 @@ import spack.modules.common
def _for_each_enabled(spec, method_name):
"""Calls a method for each enabled module"""
- set_names = set(spack.config.get('modules', {}).keys())
+ set_names = set(spack.config.get("modules", {}).keys())
# If we have old-style modules enabled, we put those in the default set
- old_default_enabled = spack.config.get('modules:enable')
+ old_default_enabled = spack.config.get("modules:enable")
if old_default_enabled:
- set_names.add('default')
+ set_names.add("default")
for name in set_names:
- enabled = spack.config.get('modules:%s:enable' % name)
- if name == 'default':
+ enabled = spack.config.get("modules:%s:enable" % name)
+ if name == "default":
# combine enabled modules from default and old format
- enabled = spack.config.merge_yaml(old_default_enabled, enabled)
+ enabled = spack.config.merge_yaml(old_default_enabled, enabled)
if not enabled:
- tty.debug('NO MODULE WRITTEN: list of enabled module files is empty')
+ tty.debug("NO MODULE WRITTEN: list of enabled module files is empty")
continue
for type in enabled:
@@ -31,26 +31,27 @@ def _for_each_enabled(spec, method_name):
try:
getattr(generator, method_name)()
except RuntimeError as e:
- msg = 'cannot perform the requested {0} operation on module files'
- msg += ' [{1}]'
+ msg = "cannot perform the requested {0} operation on module files"
+ msg += " [{1}]"
tty.warn(msg.format(method_name, str(e)))
def post_install(spec):
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
return
- _for_each_enabled(spec, 'write')
+ _for_each_enabled(spec, "write")
def post_uninstall(spec):
- _for_each_enabled(spec, 'remove')
+ _for_each_enabled(spec, "remove")
def post_env_write(env):
for spec in env.new_installs:
- _for_each_enabled(spec, 'write')
+ _for_each_enabled(spec, "write")
diff --git a/lib/spack/spack/hooks/sbang.py b/lib/spack/spack/hooks/sbang.py
index b25ca796a1..8731ef0c07 100644
--- a/lib/spack/spack/hooks/sbang.py
+++ b/lib/spack/spack/hooks/sbang.py
@@ -23,21 +23,21 @@ import spack.store
#: OS-imposed character limit for shebang line: 127 for Linux; 511 for Mac.
#: Different Linux distributions have different limits, but 127 is the
#: smallest among all modern versions.
-if sys.platform == 'darwin':
+if sys.platform == "darwin":
system_shebang_limit = 511
else:
system_shebang_limit = 127
#: Groupdb does not exist on Windows, prevent imports
#: on supported systems
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
if not is_windows:
import grp
#: Spack itself also limits the shebang line to at most 4KB, which should be plenty.
spack_shebang_limit = 4096
-interpreter_regex = re.compile(b'#![ \t]*?([^ \t\0\n]+)')
+interpreter_regex = re.compile(b"#![ \t]*?([^ \t\0\n]+)")
def sbang_install_path():
@@ -46,8 +46,10 @@ def sbang_install_path():
install_path = os.path.join(sbang_root, "bin", "sbang")
path_length = len(install_path)
if path_length > system_shebang_limit:
- msg = ('Install tree root is too long. Spack cannot patch shebang lines'
- ' when script path length ({0}) exceeds limit ({1}).\n {2}')
+ msg = (
+ "Install tree root is too long. Spack cannot patch shebang lines"
+ " when script path length ({0}) exceeds limit ({1}).\n {2}"
+ )
msg = msg.format(path_length, system_shebang_limit, install_path)
raise SbangPathError(msg)
return install_path
@@ -62,7 +64,7 @@ def sbang_shebang_line():
This should be the only place in Spack that knows about what
interpreter we use for ``sbang``.
"""
- return '#!/bin/sh %s' % sbang_install_path()
+ return "#!/bin/sh %s" % sbang_install_path()
def get_interpreter(binary_string):
@@ -79,10 +81,10 @@ def filter_shebang(path):
file must occur before ``spack_shebang_limit`` bytes. If not, the file is not
patched.
"""
- with open(path, 'rb') as original:
+ with open(path, "rb") as original:
# If there is no shebang, we shouldn't replace anything.
old_shebang_line = original.read(2)
- if old_shebang_line != b'#!':
+ if old_shebang_line != b"#!":
return False
# Stop reading after b'\n'. Note that old_shebang_line includes the first b'\n'.
@@ -97,14 +99,11 @@ def filter_shebang(path):
# only the arguments are truncated, but note that for PHP we need the full line
# since we have to append `?>` to it. Since our shebang limit is already very
# generous, it's unlikely to happen, and it should be fine to ignore.
- if (
- len(old_shebang_line) == spack_shebang_limit and
- old_shebang_line[-1] != b'\n'
- ):
+ if len(old_shebang_line) == spack_shebang_limit and old_shebang_line[-1] != b"\n":
return False
# This line will be prepended to file
- new_sbang_line = (sbang_shebang_line() + '\n').encode('utf-8')
+ new_sbang_line = (sbang_shebang_line() + "\n").encode("utf-8")
# Skip files that are already using sbang.
if old_shebang_line == new_sbang_line:
@@ -124,7 +123,7 @@ def filter_shebang(path):
os.chmod(path, saved_mode | stat.S_IWUSR)
# No need to delete since we'll move it and overwrite the original.
- patched = tempfile.NamedTemporaryFile('wb', delete=False)
+ patched = tempfile.NamedTemporaryFile("wb", delete=False)
patched.write(new_sbang_line)
# Note that in Python this does not go out of bounds even if interpreter is a
@@ -133,15 +132,15 @@ def filter_shebang(path):
# been a \0 byte between all characters of lua, node, php; meaning that it would
# lead to truncation of the interpreter. So we don't have to worry about weird
# encodings here, and just looking at bytes is justified.
- if interpreter[-4:] == b'/lua' or interpreter[-7:] == b'/luajit':
+ if interpreter[-4:] == b"/lua" or interpreter[-7:] == b"/luajit":
# Use --! instead of #! on second line for lua.
- patched.write(b'--!' + old_shebang_line[2:])
- elif interpreter[-5:] == b'/node':
+ patched.write(b"--!" + old_shebang_line[2:])
+ elif interpreter[-5:] == b"/node":
# Use //! instead of #! on second line for node.js.
- patched.write(b'//!' + old_shebang_line[2:])
- elif interpreter[-4:] == b'/php':
+ patched.write(b"//!" + old_shebang_line[2:])
+ elif interpreter[-4:] == b"/php":
# Use <?php #!... ?> instead of #!... on second line for php.
- patched.write(b'<?php ' + old_shebang_line + b' ?>')
+ patched.write(b"<?php " + old_shebang_line + b" ?>")
else:
patched.write(old_shebang_line)
@@ -172,8 +171,7 @@ def filter_shebangs_in_directory(directory, filenames=None):
except (IOError, OSError):
continue
- if (stat.S_ISLNK(st.st_mode) or stat.S_ISDIR(st.st_mode) or
- not st.st_mode & is_exe):
+ if stat.S_ISLNK(st.st_mode) or stat.S_ISDIR(st.st_mode) or not st.st_mode & is_exe:
continue
# test the file for a long shebang, and filter
@@ -190,8 +188,7 @@ def install_sbang():
"""
# copy in a new version of sbang if it differs from what's in spack
sbang_path = sbang_install_path()
- if os.path.exists(sbang_path) and filecmp.cmp(
- spack.paths.sbang_script, sbang_path):
+ if os.path.exists(sbang_path) and filecmp.cmp(spack.paths.sbang_script, sbang_path):
return
# make $install_tree/bin
@@ -200,22 +197,16 @@ def install_sbang():
# get permissions for bin dir from configuration files
group_name = spack.package_prefs.get_package_group(spack.spec.Spec("all"))
- config_mode = spack.package_prefs.get_package_dir_permissions(
- spack.spec.Spec("all")
- )
+ config_mode = spack.package_prefs.get_package_dir_permissions(spack.spec.Spec("all"))
if group_name:
- os.chmod(sbang_bin_dir, config_mode) # Use package directory permissions
+ os.chmod(sbang_bin_dir, config_mode) # Use package directory permissions
else:
fs.set_install_permissions(sbang_bin_dir)
# set group on sbang_bin_dir if not already set (only if set in configuration)
if group_name and grp.getgrgid(os.stat(sbang_bin_dir).st_gid).gr_name != group_name:
- os.chown(
- sbang_bin_dir,
- os.stat(sbang_bin_dir).st_uid,
- grp.getgrnam(group_name).gr_gid
- )
+ os.chown(sbang_bin_dir, os.stat(sbang_bin_dir).st_uid, grp.getgrnam(group_name).gr_gid)
# copy over the fresh copy of `sbang`
sbang_tmp_path = os.path.join(
@@ -227,11 +218,7 @@ def install_sbang():
# set permissions on `sbang` (including group if set in configuration)
os.chmod(sbang_tmp_path, config_mode)
if group_name:
- os.chown(
- sbang_tmp_path,
- os.stat(sbang_tmp_path).st_uid,
- grp.getgrnam(group_name).gr_gid
- )
+ os.chown(sbang_tmp_path, os.stat(sbang_tmp_path).st_uid, grp.getgrnam(group_name).gr_gid)
# Finally, move the new `sbang` into place atomically
os.rename(sbang_tmp_path, sbang_path)
@@ -243,7 +230,7 @@ def post_install(spec):
shebang limit.
"""
if spec.external:
- tty.debug('SKIP: shebang filtering [external package]')
+ tty.debug("SKIP: shebang filtering [external package]")
return
install_sbang()
diff --git a/lib/spack/spack/install_test.py b/lib/spack/spack/install_test.py
index 71561d28a6..861db1a556 100644
--- a/lib/spack/spack/install_test.py
+++ b/lib/spack/spack/install_test.py
@@ -19,8 +19,8 @@ import spack.util.prefix
import spack.util.spack_json as sjson
from spack.spec import Spec
-test_suite_filename = 'test_suite.lock'
-results_filename = 'results.txt'
+test_suite_filename = "test_suite.lock"
+results_filename = "results.txt"
def get_escaped_text_output(filename):
@@ -32,18 +32,18 @@ def get_escaped_text_output(filename):
Returns:
list: escaped text lines read from the file
"""
- with open(filename, 'r') as f:
+ with open(filename, "r") as f:
# Ensure special characters are escaped as needed
expected = f.read()
# Split the lines to make it easier to debug failures when there is
# a lot of output
- return [re.escape(ln) for ln in expected.split('\n')]
+ return [re.escape(ln) for ln in expected.split("\n")]
def get_test_stage_dir():
return spack.util.path.canonicalize_path(
- spack.config.get('config:test_stage', spack.paths.default_test_path)
+ spack.config.get("config:test_stage", spack.paths.default_test_path)
)
@@ -54,8 +54,7 @@ def get_all_test_suites():
def valid_stage(d):
dirpath = os.path.join(stage_root, d)
- return (os.path.isdir(dirpath) and
- test_suite_filename in os.listdir(dirpath))
+ return os.path.isdir(dirpath) and test_suite_filename in os.listdir(dirpath)
candidates = [
os.path.join(stage_root, d, test_suite_filename)
@@ -70,7 +69,7 @@ def get_all_test_suites():
def get_named_test_suites(name):
"""Return a list of the names of any test suites with that name."""
if not name:
- raise TestSuiteNameError('Test suite name is required.')
+ raise TestSuiteNameError("Test suite name is required.")
test_suites = get_all_test_suites()
return [ts for ts in test_suites if ts.name == name]
@@ -79,9 +78,7 @@ def get_named_test_suites(name):
def get_test_suite(name):
names = get_named_test_suites(name)
if len(names) > 1:
- raise TestSuiteNameError(
- 'Too many suites named "{0}". May shadow hash.'.format(name)
- )
+ raise TestSuiteNameError('Too many suites named "{0}". May shadow hash.'.format(name))
if not names:
return None
@@ -90,18 +87,23 @@ def get_test_suite(name):
def write_test_suite_file(suite):
"""Write the test suite to its lock file."""
- with open(suite.stage.join(test_suite_filename), 'w') as f:
+ with open(suite.stage.join(test_suite_filename), "w") as f:
sjson.dump(suite.to_dict(), stream=f)
def write_test_summary(num_failed, num_skipped, num_untested, num_specs):
- failed = "{0} failed, ".format(num_failed) if num_failed else ''
- skipped = "{0} skipped, ".format(num_skipped) if num_skipped else ''
- no_tests = "{0} no-tests, ".format(num_untested) if num_untested else ''
+ failed = "{0} failed, ".format(num_failed) if num_failed else ""
+ skipped = "{0} skipped, ".format(num_skipped) if num_skipped else ""
+ no_tests = "{0} no-tests, ".format(num_untested) if num_untested else ""
num_passed = num_specs - num_failed - num_untested - num_skipped
- print("{:=^80}".format(" {0}{1}{2}{3} passed of {4} specs "
- .format(failed, no_tests, skipped, num_passed, num_specs)))
+ print(
+ "{:=^80}".format(
+ " {0}{1}{2}{3} passed of {4} specs ".format(
+ failed, no_tests, skipped, num_passed, num_specs
+ )
+ )
+ )
class TestSuite(object):
@@ -125,28 +127,29 @@ class TestSuite(object):
def content_hash(self):
if not self._hash:
json_text = sjson.dump(self.to_dict())
- sha = hashlib.sha1(json_text.encode('utf-8'))
+ sha = hashlib.sha1(json_text.encode("utf-8"))
b32_hash = base64.b32encode(sha.digest()).lower()
if sys.version_info[0] >= 3:
- b32_hash = b32_hash.decode('utf-8')
+ b32_hash = b32_hash.decode("utf-8")
self._hash = b32_hash
return self._hash
def __call__(self, *args, **kwargs):
self.write_reproducibility_data()
- remove_directory = kwargs.get('remove_directory', True)
- dirty = kwargs.get('dirty', False)
- fail_first = kwargs.get('fail_first', False)
- externals = kwargs.get('externals', False)
+ remove_directory = kwargs.get("remove_directory", True)
+ dirty = kwargs.get("dirty", False)
+ fail_first = kwargs.get("fail_first", False)
+ externals = kwargs.get("externals", False)
skipped, untested = 0, 0
for spec in self.specs:
try:
if spec.package.test_suite:
raise TestSuiteSpecError(
- "Package {0} cannot be run in two test suites at once"
- .format(spec.package.name)
+ "Package {0} cannot be run in two test suites at once".format(
+ spec.package.name
+ )
)
# Set up the test suite to know which test is running
@@ -171,14 +174,14 @@ class TestSuite(object):
# functions were called
tested = os.path.exists(self.tested_file_for_spec(spec))
if tested:
- status = 'PASSED'
+ status = "PASSED"
else:
self.ensure_stage()
if spec.external and not externals:
- status = 'SKIPPED'
+ status = "SKIPPED"
skipped += 1
else:
- status = 'NO-TESTS'
+ status = "NO-TESTS"
untested += 1
self.write_test_result(spec, status)
@@ -187,11 +190,10 @@ class TestSuite(object):
if isinstance(exc, (SyntaxError, TestSuiteSpecError)):
# Create the test log file and report the error.
self.ensure_stage()
- msg = 'Testing package {0}\n{1}'\
- .format(self.test_pkg_id(spec), str(exc))
+ msg = "Testing package {0}\n{1}".format(self.test_pkg_id(spec), str(exc))
_add_msg_to_file(self.log_file_for_spec(spec), msg)
- self.write_test_result(spec, 'FAILED')
+ self.write_test_result(spec, "FAILED")
if fail_first:
break
finally:
@@ -210,8 +212,7 @@ class TestSuite(object):
@property
def stage(self):
- return spack.util.prefix.Prefix(
- os.path.join(get_test_stage_dir(), self.content_hash))
+ return spack.util.prefix.Prefix(os.path.join(get_test_stage_dir(), self.content_hash))
@property
def results_file(self):
@@ -227,11 +228,11 @@ class TestSuite(object):
Returns:
(str): the install test package identifier
"""
- return spec.format('{name}-{version}-{hash:7}')
+ return spec.format("{name}-{version}-{hash:7}")
@classmethod
def test_log_name(cls, spec):
- return '%s-test-out.txt' % cls.test_pkg_id(spec)
+ return "%s-test-out.txt" % cls.test_pkg_id(spec)
def log_file_for_spec(self, spec):
return self.stage.join(self.test_log_name(spec))
@@ -241,7 +242,7 @@ class TestSuite(object):
@classmethod
def tested_file_name(cls, spec):
- return '%s-tested.txt' % cls.test_pkg_id(spec)
+ return "%s-tested.txt" % cls.test_pkg_id(spec)
def tested_file_for_spec(self, spec):
return self.stage.join(self.tested_file_name(spec))
@@ -249,9 +250,7 @@ class TestSuite(object):
@property
def current_test_cache_dir(self):
if not (self.current_test_spec and self.current_base_spec):
- raise TestSuiteSpecError(
- "Unknown test cache directory: no specs being tested"
- )
+ raise TestSuiteSpecError("Unknown test cache directory: no specs being tested")
test_spec = self.current_test_spec
base_spec = self.current_base_spec
@@ -260,9 +259,7 @@ class TestSuite(object):
@property
def current_test_data_dir(self):
if not (self.current_test_spec and self.current_base_spec):
- raise TestSuiteSpecError(
- "Unknown test data directory: no specs being tested"
- )
+ raise TestSuiteSpecError("Unknown test data directory: no specs being tested")
test_spec = self.current_test_spec
base_spec = self.current_base_spec
@@ -294,21 +291,21 @@ class TestSuite(object):
def to_dict(self):
specs = [s.to_dict() for s in self.specs]
- d = {'specs': specs}
+ d = {"specs": specs}
if self.alias:
- d['alias'] = self.alias
+ d["alias"] = self.alias
return d
@staticmethod
def from_dict(d):
- specs = [Spec.from_dict(spec_dict) for spec_dict in d['specs']]
- alias = d.get('alias', None)
+ specs = [Spec.from_dict(spec_dict) for spec_dict in d["specs"]]
+ alias = d.get("alias", None)
return TestSuite(specs, alias)
@staticmethod
def from_file(filename):
try:
- with open(filename, 'r') as f:
+ with open(filename, "r") as f:
data = sjson.load(f)
test_suite = TestSuite.from_dict(data)
content_hash = os.path.basename(os.path.dirname(filename))
@@ -328,24 +325,26 @@ def _add_msg_to_file(filename, msg):
filename (str): path to the file
msg (str): message to be appended to the file
"""
- with open(filename, 'a+') as f:
- f.write('{0}\n'.format(msg))
+ with open(filename, "a+") as f:
+ f.write("{0}\n".format(msg))
class TestFailure(spack.error.SpackError):
"""Raised when package tests have failed for an installation."""
+
def __init__(self, failures):
# Failures are all exceptions
msg = "%d tests failed.\n" % len(failures)
for failure, message in failures:
- msg += '\n\n%s\n' % str(failure)
- msg += '\n%s\n' % message
+ msg += "\n\n%s\n" % str(failure)
+ msg += "\n%s\n" % message
super(TestFailure, self).__init__(msg)
class TestSuiteFailure(spack.error.SpackError):
"""Raised when one or more tests in a suite have failed."""
+
def __init__(self, num_failures):
msg = "%d test(s) in the suite failed.\n" % num_failures
diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py
index d4acc1dd16..e327fccc65 100644
--- a/lib/spack/spack/installer.py
+++ b/lib/spack/spack/installer.py
@@ -64,24 +64,24 @@ from spack.util.timer import Timer
_counter = itertools.count(0)
#: Build status indicating task has been added.
-STATUS_ADDED = 'queued'
+STATUS_ADDED = "queued"
#: Build status indicating the spec failed to install
-STATUS_FAILED = 'failed'
+STATUS_FAILED = "failed"
#: Build status indicating the spec is being installed (possibly by another
#: process)
-STATUS_INSTALLING = 'installing'
+STATUS_INSTALLING = "installing"
#: Build status indicating the spec was sucessfully installed
-STATUS_INSTALLED = 'installed'
+STATUS_INSTALLED = "installed"
#: Build status indicating the task has been popped from the queue
-STATUS_DEQUEUED = 'dequeued'
+STATUS_DEQUEUED = "dequeued"
#: Build status indicating task has been removed (to maintain priority
#: queue invariants).
-STATUS_REMOVED = 'removed'
+STATUS_REMOVED = "removed"
class InstallAction(object):
@@ -135,13 +135,15 @@ def _handle_external_and_upstream(pkg, explicit):
# consists in module file generation and registration in the DB.
if pkg.spec.external:
_process_external_package(pkg, explicit)
- _print_installed_pkg('{0} (external {1})'
- .format(pkg.prefix, package_id(pkg)))
+ _print_installed_pkg("{0} (external {1})".format(pkg.prefix, package_id(pkg)))
return True
if pkg.spec.installed_upstream:
- tty.verbose('{0} is installed in an upstream Spack instance at {1}'
- .format(package_id(pkg), pkg.spec.prefix))
+ tty.verbose(
+ "{0} is installed in an upstream Spack instance at {1}".format(
+ package_id(pkg), pkg.spec.prefix
+ )
+ )
_print_installed_pkg(pkg.prefix)
# This will result in skipping all post-install hooks. In the case
@@ -153,32 +155,31 @@ 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 with fake executables, headers, and libraries."""
command = pkg.name
header = pkg.name
library = pkg.name
# Avoid double 'lib' for packages whose names already start with lib
- if not pkg.name.startswith('lib'):
- library = 'lib' + library
+ if not pkg.name.startswith("lib"):
+ library = "lib" + library
- dso_suffix = '.dylib' if sys.platform == 'darwin' else '.so'
+ dso_suffix = ".dylib" if sys.platform == "darwin" else ".so"
# Install fake command
fs.mkdirp(pkg.prefix.bin)
fs.touch(os.path.join(pkg.prefix.bin, command))
- if sys.platform != 'win32':
- chmod = which('chmod')
- chmod('+x', os.path.join(pkg.prefix.bin, command))
+ if sys.platform != "win32":
+ chmod = which("chmod")
+ chmod("+x", os.path.join(pkg.prefix.bin, command))
# Install fake header file
fs.mkdirp(pkg.prefix.include)
- fs.touch(os.path.join(pkg.prefix.include, header + '.h'))
+ fs.touch(os.path.join(pkg.prefix.include, header + ".h"))
# Install fake shared and static libraries
fs.mkdirp(pkg.prefix.lib)
- for suffix in [dso_suffix, '.a']:
+ for suffix in [dso_suffix, ".a"]:
fs.touch(os.path.join(pkg.prefix.lib, library + suffix))
# Install fake man page
@@ -208,9 +209,8 @@ def _packages_needed_to_bootstrap_compiler(compiler, architecture, pkgs):
package is the bootstrap compiler (``True``) or one of its dependencies
(``False``). The list will be empty if there are no compilers.
"""
- tty.debug('Bootstrapping {0} compiler'.format(compiler))
- compilers = spack.compilers.compilers_for_spec(
- compiler, arch_spec=architecture)
+ tty.debug("Bootstrapping {0} compiler".format(compiler))
+ compilers = spack.compilers.compilers_for_spec(compiler, arch_spec=architecture)
if compilers:
return []
@@ -218,20 +218,16 @@ def _packages_needed_to_bootstrap_compiler(compiler, architecture, pkgs):
# Set the architecture for the compiler package in a way that allows the
# concretizer to back off if needed for the older bootstrapping compiler
- dep.constrain('platform=%s' % str(architecture.platform))
- dep.constrain('os=%s' % str(architecture.os))
- dep.constrain('target=%s:' %
- architecture.target.microarchitecture.family.name)
+ dep.constrain("platform=%s" % str(architecture.platform))
+ dep.constrain("os=%s" % str(architecture.os))
+ dep.constrain("target=%s:" % architecture.target.microarchitecture.family.name)
# concrete CompilerSpec has less info than concrete Spec
# concretize as Spec to add that information
dep.concretize()
# mark compiler as depended-on by the packages that use it
for pkg in pkgs:
- dep._dependents.add(
- spack.spec.DependencySpec(pkg.spec, dep, ('build',))
- )
- packages = [(s.package, False) for
- s in dep.traverse(order='post', root=False)]
+ dep._dependents.add(spack.spec.DependencySpec(pkg.spec, dep, ("build",)))
+ packages = [(s.package, False) for s in dep.traverse(order="post", root=False)]
packages.append((dep.package, True))
return packages
@@ -257,7 +253,7 @@ def _hms(seconds):
parts.append("%dm" % m)
if s:
parts.append("%.2fs" % s)
- return ' '.join(parts)
+ return " ".join(parts)
def _install_from_cache(pkg, cache_only, explicit, unsigned=False):
@@ -276,18 +272,17 @@ def _install_from_cache(pkg, cache_only, explicit, unsigned=False):
bool: ``True`` if the package was extract from binary cache,
``False`` otherwise
"""
- installed_from_cache = _try_install_from_binary_cache(
- pkg, explicit, unsigned=unsigned)
+ installed_from_cache = _try_install_from_binary_cache(pkg, explicit, unsigned=unsigned)
pkg_id = package_id(pkg)
if not installed_from_cache:
- pre = 'No binary for {0} found'.format(pkg_id)
+ pre = "No binary for {0} found".format(pkg_id)
if cache_only:
- tty.die('{0} when cache-only specified'.format(pre))
+ tty.die("{0} when cache-only specified".format(pre))
- tty.msg('{0}: installing from source'.format(pre))
+ tty.msg("{0}: installing from source".format(pre))
return False
- tty.debug('Successfully extracted {0} from binary cache'.format(pkg_id))
+ tty.debug("Successfully extracted {0} from binary cache".format(pkg_id))
_print_installed_pkg(pkg.spec.prefix)
spack.hooks.post_install(pkg.spec)
return True
@@ -300,7 +295,7 @@ def _print_installed_pkg(message):
Args:
message (str): message to be output
"""
- print(colorize('@*g{[+]} ') + message)
+ print(colorize("@*g{[+]} ") + message)
def _process_external_package(pkg, explicit):
@@ -313,25 +308,21 @@ def _process_external_package(pkg, explicit):
``False`` if it was pulled in as a dependency of an explicit
package.
"""
- assert pkg.spec.external, \
- 'Expected to post-install/register an external package.'
+ assert pkg.spec.external, "Expected to post-install/register an external package."
- pre = '{s.name}@{s.version} :'.format(s=pkg.spec)
+ pre = "{s.name}@{s.version} :".format(s=pkg.spec)
spec = pkg.spec
if spec.external_modules:
- tty.msg('{0} has external module in {1}'
- .format(pre, spec.external_modules))
- tty.debug('{0} is actually installed in {1}'
- .format(pre, spec.external_path))
+ tty.msg("{0} has external module in {1}".format(pre, spec.external_modules))
+ tty.debug("{0} is actually installed in {1}".format(pre, spec.external_path))
else:
- tty.debug('{0} externally installed in {1}'
- .format(pre, spec.external_path))
+ tty.debug("{0} externally installed in {1}".format(pre, spec.external_path))
try:
# Check if the package was already registered in the DB.
# If this is the case, then only make explicit if required.
- tty.debug('{0} already registered in DB'.format(pre))
+ tty.debug("{0} already registered in DB".format(pre))
record = spack.store.db.get_record(spec)
if explicit and not record.explicit:
spack.store.db.update_explicit(spec, explicit)
@@ -340,16 +331,15 @@ def _process_external_package(pkg, explicit):
# If not, register it and generate the module file.
# For external packages we just need to run
# post-install hooks to generate module files.
- tty.debug('{0} generating module file'.format(pre))
+ tty.debug("{0} generating module file".format(pre))
spack.hooks.post_install(spec)
# Add to the DB
- tty.debug('{0} registering into DB'.format(pre))
+ tty.debug("{0} registering into DB".format(pre))
spack.store.db.add(spec, None, explicit=explicit)
-def _process_binary_cache_tarball(pkg, binary_spec, explicit, unsigned,
- mirrors_for_spec=None):
+def _process_binary_cache_tarball(pkg, binary_spec, explicit, unsigned, mirrors_for_spec=None):
"""
Process the binary cache tarball.
@@ -367,21 +357,21 @@ def _process_binary_cache_tarball(pkg, binary_spec, explicit, unsigned,
else ``False``
"""
download_result = binary_distribution.download_tarball(
- binary_spec, unsigned, mirrors_for_spec=mirrors_for_spec)
+ binary_spec, unsigned, mirrors_for_spec=mirrors_for_spec
+ )
# see #10063 : install from source if tarball doesn't exist
if download_result is None:
- tty.msg('{0} exists in binary cache but with different hash'
- .format(pkg.name))
+ tty.msg("{0} exists in binary cache but with different hash".format(pkg.name))
return False
pkg_id = package_id(pkg)
- tty.msg('Extracting {0} from binary cache'.format(pkg_id))
+ tty.msg("Extracting {0} from binary cache".format(pkg_id))
# don't print long padded paths while extracting/relocating binaries
with spack.util.path.filter_padding():
- binary_distribution.extract_tarball(binary_spec, download_result,
- allow_root=False, unsigned=unsigned,
- force=False)
+ binary_distribution.extract_tarball(
+ binary_spec, download_result, allow_root=False, unsigned=unsigned, force=False
+ )
pkg.installed_from_binary_cache = True
spack.store.db.add(pkg.spec, spack.store.layout, explicit=explicit)
@@ -399,14 +389,15 @@ def _try_install_from_binary_cache(pkg, explicit, unsigned=False):
otherwise, ``False``
"""
pkg_id = package_id(pkg)
- tty.debug('Searching for binary cache of {0}'.format(pkg_id))
+ tty.debug("Searching for binary cache of {0}".format(pkg_id))
matches = binary_distribution.get_mirrors_for_spec(pkg.spec)
if not matches:
return False
- return _process_binary_cache_tarball(pkg, pkg.spec, explicit, unsigned,
- mirrors_for_spec=matches)
+ return _process_binary_cache_tarball(
+ pkg, pkg.spec, explicit, unsigned, mirrors_for_spec=matches
+ )
def clear_failures():
@@ -429,9 +420,9 @@ def combine_phase_logs(phase_log_files, log_path):
log_path (str): the path to combine them to
"""
- with open(log_path, 'w') as log_file:
+ with open(log_path, "w") as log_file:
for phase_log_file in phase_log_files:
- with open(phase_log_file, 'r') as phase_log:
+ with open(phase_log_file, "r") as phase_log:
log_file.write(phase_log.read())
@@ -473,14 +464,11 @@ def dump_packages(spec, path):
# Create a source repo and get the pkg directory out of it.
try:
source_repo = spack.repo.Repo(source_repo_root)
- source_pkg_dir = source_repo.dirname_for_package_name(
- node.name)
+ source_pkg_dir = source_repo.dirname_for_package_name(node.name)
except spack.repo.RepoError as err:
- tty.debug('Failed to create source repo for {0}: {1}'
- .format(node.name, str(err)))
+ tty.debug("Failed to create source repo for {0}: {1}".format(node.name, str(err)))
source_pkg_dir = None
- tty.warn("Warning: Couldn't copy in provenance for {0}"
- .format(node.name))
+ tty.warn("Warning: Couldn't copy in provenance for {0}".format(node.name))
# Create a destination repository
dest_repo_root = os.path.join(path, node.namespace)
@@ -520,8 +508,8 @@ def install_msg(name, pid):
Return:
str: Colorized installing message
"""
- pre = '{0}: '.format(pid) if tty.show_pid() else ''
- return pre + colorize('@*{Installing} @*g{%s}' % name)
+ pre = "{0}: ".format(pid) if tty.show_pid() else ""
+ return pre + colorize("@*{Installing} @*g{%s}" % name)
def log(pkg):
@@ -564,15 +552,14 @@ def log(pkg):
# Finally, archive files that are specific to each package
with fs.working_dir(pkg.stage.path):
errors = six.StringIO()
- target_dir = os.path.join(
- spack.store.layout.metadata_path(pkg.spec), 'archived-files')
+ target_dir = os.path.join(spack.store.layout.metadata_path(pkg.spec), "archived-files")
for glob_expr in pkg.archive_files:
# Check that we are trying to copy things that are
# in the stage tree (not arbitrary files)
abs_expr = os.path.realpath(glob_expr)
if os.path.realpath(pkg.stage.path) not in abs_expr:
- errors.write('[OUTSIDE SOURCE PATH]: {0}\n'.format(glob_expr))
+ errors.write("[OUTSIDE SOURCE PATH]: {0}\n".format(glob_expr))
continue
# Now that we are sure that the path is within the correct
# folder, make it relative and check for matches
@@ -592,15 +579,14 @@ def log(pkg):
# Here try to be conservative, and avoid discarding
# the whole install procedure because of copying a
# single file failed
- errors.write('[FAILED TO ARCHIVE]: {0}'.format(f))
+ errors.write("[FAILED TO ARCHIVE]: {0}".format(f))
if errors.getvalue():
- error_file = os.path.join(target_dir, 'errors.txt')
+ error_file = os.path.join(target_dir, "errors.txt")
fs.mkdirp(target_dir)
- with open(error_file, 'w') as err:
+ with open(error_file, "w") as err:
err.write(errors.getvalue())
- tty.warn('Errors occurred when archiving files.\n\t'
- 'See: {0}'.format(error_file))
+ tty.warn("Errors occurred when archiving files.\n\t" "See: {0}".format(error_file))
dump_packages(pkg.spec, packages_dir)
@@ -619,8 +605,9 @@ def package_id(pkg):
derived
"""
if not pkg.spec.concrete:
- raise ValueError("Cannot provide a unique, readable id when "
- "the spec is not concretized.")
+ raise ValueError(
+ "Cannot provide a unique, readable id when " "the spec is not concretized."
+ )
return "{0}-{1}-{2}".format(pkg.name, pkg.version, pkg.spec.dag_hash())
@@ -640,14 +627,14 @@ class TermTitle(object):
self.pkg_ids.add(pkg_id)
def set(self, text):
- if not spack.config.get('config:terminal_title', False):
+ if not spack.config.get("config:terminal_title", False):
return
if not sys.stdout.isatty():
return
- status = '{0} [{1}/{2}]'.format(text, self.pkg_num, self.pkg_count)
- sys.stdout.write('\033]0;Spack: {0}\007'.format(status))
+ status = "{0} [{1}/{2}]".format(text, self.pkg_num, self.pkg_count)
+ sys.stdout.write("\033]0;Spack: {0}\007".format(status))
sys.stdout.flush()
@@ -656,6 +643,7 @@ class TermStatusLine(object):
This class is used in distributed builds to inform the user that other packages are
being installed by another process.
"""
+
def __init__(self, enabled):
self.enabled = enabled
self.pkg_set = set()
@@ -670,7 +658,7 @@ class TermStatusLine(object):
self.pkg_set.add(pkg_id)
self.pkg_list.append(pkg_id)
- tty.msg(colorize('@*{Waiting for} @*g{%s}' % pkg_id))
+ tty.msg(colorize("@*{Waiting for} @*g{%s}" % pkg_id))
sys.stdout.flush()
def clear(self):
@@ -690,22 +678,22 @@ class TermStatusLine(object):
# Move the cursor to the beginning of the first "Waiting for" message and clear
# everything after it.
- sys.stdout.write('\x1b[%sF\x1b[J' % lines)
+ sys.stdout.write("\x1b[%sF\x1b[J" % lines)
sys.stdout.flush()
class PackageInstaller(object):
- '''
+ """
Class for managing the install process for a Spack instance based on a
bottom-up DAG approach.
This installer can coordinate concurrent batch and interactive, local
and distributed (on a shared file system) builds for the same Spack
instance.
- '''
+ """
def __init__(self, installs=[]):
- """ Initialize the installer.
+ """Initialize the installer.
Args:
installs (list): list of tuples, where each
@@ -715,8 +703,7 @@ class PackageInstaller(object):
PackageInstaller: instance
"""
# List of build requests
- self.build_requests = [BuildRequest(pkg, install_args)
- for pkg, install_args in installs]
+ self.build_requests = [BuildRequest(pkg, install_args) for pkg, install_args in installs]
# Priority queue of build tasks
self.build_pq = []
@@ -745,23 +732,20 @@ class PackageInstaller(object):
def __repr__(self):
"""Returns a formal representation of the package installer."""
- rep = '{0}('.format(self.__class__.__name__)
+ rep = "{0}(".format(self.__class__.__name__)
for attr, value in self.__dict__.items():
- rep += '{0}={1}, '.format(attr, value.__repr__())
- return '{0})'.format(rep.strip(', '))
+ rep += "{0}={1}, ".format(attr, value.__repr__())
+ return "{0})".format(rep.strip(", "))
def __str__(self):
"""Returns a printable version of the package installer."""
- requests = '#requests={0}'.format(len(self.build_requests))
- tasks = '#tasks={0}'.format(len(self.build_tasks))
- failed = 'failed ({0}) = {1}'.format(len(self.failed), self.failed)
- installed = 'installed ({0}) = {1}'.format(
- len(self.installed), self.installed)
- return '{0}: {1}; {2}; {3}; {4}'.format(
- self.pid, requests, tasks, installed, failed)
-
- def _add_bootstrap_compilers(
- self, compiler, architecture, pkgs, request, all_deps):
+ requests = "#requests={0}".format(len(self.build_requests))
+ tasks = "#tasks={0}".format(len(self.build_tasks))
+ failed = "failed ({0}) = {1}".format(len(self.failed), self.failed)
+ installed = "installed ({0}) = {1}".format(len(self.installed), self.installed)
+ return "{0}: {1}; {2}; {3}; {4}".format(self.pid, requests, tasks, installed, failed)
+
+ def _add_bootstrap_compilers(self, compiler, architecture, pkgs, request, all_deps):
"""
Add bootstrap compilers and dependencies to the build queue.
@@ -774,8 +758,7 @@ class PackageInstaller(object):
all_deps (defaultdict(set)): dictionary of all dependencies and
associated dependents
"""
- packages = _packages_needed_to_bootstrap_compiler(
- compiler, architecture, pkgs)
+ packages = _packages_needed_to_bootstrap_compiler(compiler, architecture, pkgs)
for (comp_pkg, is_compiler) in packages:
if package_id(comp_pkg) not in self.build_tasks:
self._add_init_task(comp_pkg, request, is_compiler, all_deps)
@@ -793,8 +776,7 @@ class PackageInstaller(object):
all_deps (defaultdict(set)): dictionary of all dependencies and
associated dependents
"""
- task = BuildTask(pkg, request, is_compiler, 0, 0, STATUS_ADDED,
- self.installed)
+ task = BuildTask(pkg, request, is_compiler, 0, 0, STATUS_ADDED, self.installed)
for dep_id in task.dependencies:
all_deps[dep_id].add(package_id(pkg))
@@ -828,7 +810,7 @@ class PackageInstaller(object):
Args:
request (BuildRequest): the associated install request
"""
- err = 'Cannot proceed with {0}: {1}'
+ err = "Cannot proceed with {0}: {1}"
for dep in request.traverse_dependencies():
dep_pkg = dep.package
dep_id = package_id(dep_pkg)
@@ -836,16 +818,15 @@ class PackageInstaller(object):
# Check for failure since a prefix lock is not required
if spack.store.db.prefix_failed(dep):
action = "'spack install' the dependency"
- msg = '{0} is marked as an install failure: {1}' \
- .format(dep_id, action)
+ msg = "{0} is marked as an install failure: {1}".format(dep_id, action)
raise InstallError(err.format(request.pkg_id, msg))
# Attempt to get a read lock to ensure another process does not
# uninstall the dependency while the requested spec is being
# installed
- ltype, lock = self._ensure_locked('read', dep_pkg)
+ ltype, lock = self._ensure_locked("read", dep_pkg)
if lock is None:
- msg = '{0} is write locked by another process'.format(dep_id)
+ msg = "{0} is write locked by another process".format(dep_id)
raise InstallError(err.format(request.pkg_id, msg))
# Flag external and upstream packages as being installed
@@ -857,10 +838,10 @@ class PackageInstaller(object):
# and flag as such if appropriate
rec, installed_in_db = self._check_db(dep)
if installed_in_db and (
- dep.dag_hash() not in request.overwrite or
- rec.installation_time > request.overwrite_time):
- tty.debug('Flagging {0} as installed per the database'
- .format(dep_id))
+ dep.dag_hash() not in request.overwrite
+ or rec.installation_time > request.overwrite_time
+ ):
+ tty.debug("Flagging {0} as installed per the database".format(dep_id))
self._flag_installed(dep_pkg)
else:
lock.release_read()
@@ -878,9 +859,9 @@ class PackageInstaller(object):
being checked
"""
install_args = task.request.install_args
- keep_prefix = install_args.get('keep_prefix')
- keep_stage = install_args.get('keep_stage')
- restage = install_args.get('restage')
+ keep_prefix = install_args.get("keep_prefix")
+ keep_stage = install_args.get("keep_stage")
+ restage = install_args.get("restage")
# Make sure the package is ready to be locally installed.
self._ensure_install_ready(task.pkg)
@@ -900,7 +881,8 @@ class PackageInstaller(object):
raise InstallError(
"Install prefix collision for {0}".format(task.pkg_id),
long_msg="Prefix directory {0} already used by another "
- "installed spec.".format(task.pkg.spec.prefix))
+ "installed spec.".format(task.pkg.spec.prefix),
+ )
# Make sure the installation directory is in the desired state
# for uninstalled specs.
@@ -908,15 +890,15 @@ class PackageInstaller(object):
if not keep_prefix:
task.pkg.remove_prefix()
else:
- tty.debug('{0} is partially installed'.format(task.pkg_id))
+ tty.debug("{0} is partially installed".format(task.pkg_id))
# Destroy the stage for a locally installed, non-DIYStage, package
if restage and task.pkg.stage.managed_by_spack:
task.pkg.stage.destroy()
if installed_in_db and (
- rec.spec.dag_hash() not in task.request.overwrite or
- rec.installation_time > task.request.overwrite_time
+ rec.spec.dag_hash() not in task.request.overwrite
+ or rec.installation_time > task.request.overwrite_time
):
self._update_installed(task)
@@ -955,7 +937,7 @@ class PackageInstaller(object):
lock = self.failed.get(pkg_id, None)
if lock is not None:
err = "{0} exception when removing failure tracking for {1}: {2}"
- msg = 'Removing failure mark on {0}'
+ msg = "Removing failure mark on {0}"
try:
tty.verbose(msg.format(pkg_id))
lock.release_write()
@@ -973,7 +955,7 @@ class PackageInstaller(object):
# Ensure we have a read lock to prevent others from uninstalling the
# spec during our installation.
- self._ensure_locked('read', pkg)
+ self._ensure_locked("read", pkg)
def _ensure_install_ready(self, pkg):
"""
@@ -988,15 +970,15 @@ class PackageInstaller(object):
# External packages cannot be installed locally.
if pkg.spec.external:
- raise ExternalPackageError('{0} {1}'.format(pre, 'is external'))
+ raise ExternalPackageError("{0} {1}".format(pre, "is external"))
# Upstream packages cannot be installed locally.
if pkg.spec.installed_upstream:
- raise UpstreamPackageError('{0} {1}'.format(pre, 'is upstream'))
+ raise UpstreamPackageError("{0} {1}".format(pre, "is upstream"))
# The package must have a prefix lock at this stage.
if pkg_id not in self.locks:
- raise InstallLockError('{0} {1}'.format(pre, 'not locked'))
+ raise InstallLockError("{0} {1}".format(pre, "not locked"))
def _ensure_locked(self, lock_type, pkg):
"""
@@ -1020,20 +1002,21 @@ class PackageInstaller(object):
(lock_type, lock) tuple where lock will be None if it could not
be obtained
"""
- assert lock_type in ['read', 'write'], \
- '"{0}" is not a supported package management lock type' \
- .format(lock_type)
+ assert lock_type in [
+ "read",
+ "write",
+ ], '"{0}" is not a supported package management lock type'.format(lock_type)
pkg_id = package_id(pkg)
ltype, lock = self.locks.get(pkg_id, (lock_type, None))
if lock and ltype == lock_type:
return ltype, lock
- desc = '{0} lock'.format(lock_type)
- msg = '{0} a {1} on {2} with timeout {3}'
- err = 'Failed to {0} a {1} for {2} due to {3}: {4}'
+ desc = "{0} lock".format(lock_type)
+ msg = "{0} a {1} on {2} with timeout {3}"
+ err = "Failed to {0} a {1} for {2} due to {3}: {4}"
- if lock_type == 'read':
+ if lock_type == "read":
# Wait until the other process finishes if there are no more
# build tasks with priority 0 (i.e., with no uninstalled
# dependencies).
@@ -1044,43 +1027,43 @@ class PackageInstaller(object):
try:
if lock is None:
- tty.debug(msg.format('Acquiring', desc, pkg_id, timeout))
- op = 'acquire'
+ tty.debug(msg.format("Acquiring", desc, pkg_id, timeout))
+ op = "acquire"
lock = spack.store.db.prefix_lock(pkg.spec, timeout)
if timeout != lock.default_timeout:
- tty.warn('Expected prefix lock timeout {0}, not {1}'
- .format(timeout, lock.default_timeout))
- if lock_type == 'read':
+ tty.warn(
+ "Expected prefix lock timeout {0}, not {1}".format(
+ timeout, lock.default_timeout
+ )
+ )
+ if lock_type == "read":
lock.acquire_read()
else:
lock.acquire_write()
- elif lock_type == 'read': # write -> read
+ elif lock_type == "read": # write -> read
# Only get here if the current lock is a write lock, which
# must be downgraded to be a read lock
# Retain the original lock timeout, which is in the lock's
# default_timeout setting.
- tty.debug(msg.format('Downgrading to', desc, pkg_id,
- lock.default_timeout))
- op = 'downgrade to'
+ tty.debug(msg.format("Downgrading to", desc, pkg_id, lock.default_timeout))
+ op = "downgrade to"
lock.downgrade_write_to_read()
else: # read -> write
# Only get here if the current lock is a read lock, which
# must be upgraded to be a write lock
- tty.debug(msg.format('Upgrading to', desc, pkg_id, timeout))
- op = 'upgrade to'
+ tty.debug(msg.format("Upgrading to", desc, pkg_id, timeout))
+ op = "upgrade to"
lock.upgrade_read_to_write(timeout)
- tty.debug('{0} is now {1} locked'.format(pkg_id, lock_type))
+ tty.debug("{0} is now {1} locked".format(pkg_id, lock_type))
except (lk.LockDowngradeError, lk.LockTimeoutError) as exc:
- tty.debug(err.format(op, desc, pkg_id, exc.__class__.__name__,
- str(exc)))
+ tty.debug(err.format(op, desc, pkg_id, exc.__class__.__name__, str(exc)))
return (lock_type, None)
except (Exception, KeyboardInterrupt, SystemExit) as exc:
- tty.error(err.format(op, desc, pkg_id, exc.__class__.__name__,
- str(exc)))
+ tty.error(err.format(op, desc, pkg_id, exc.__class__.__name__, str(exc)))
self._cleanup_all_tasks()
raise
@@ -1098,15 +1081,14 @@ class PackageInstaller(object):
all_deps (defaultdict(set)): dictionary of all dependencies and
associated dependents
"""
- tty.debug('Initializing the build queue for {0}'
- .format(request.pkg.name))
+ tty.debug("Initializing the build queue for {0}".format(request.pkg.name))
# Ensure not attempting to perform an installation when user didn't
# want to go that far for the requested package.
try:
_check_last_phase(request.pkg)
except BadInstallPhase as err:
- tty.warn('Installation request refused: {0}'.format(str(err)))
+ tty.warn("Installation request refused: {0}".format(str(err)))
return
# Skip out early if the spec is not being installed locally (i.e., if
@@ -1114,16 +1096,15 @@ class PackageInstaller(object):
#
# External and upstream packages need to get flagged as installed to
# ensure proper status tracking for environment build.
- explicit = request.install_args.get('explicit', True)
+ explicit = request.install_args.get("explicit", True)
not_local = _handle_external_and_upstream(request.pkg, explicit)
if not_local:
self._flag_installed(request.pkg)
return
- install_compilers = spack.config.get(
- 'config:install_missing_compilers', False)
+ install_compilers = spack.config.get("config:install_missing_compilers", False)
- install_deps = request.install_args.get('install_deps')
+ install_deps = request.install_args.get("install_deps")
# Bootstrap compilers first
if install_deps and install_compilers:
packages_per_compiler = {}
@@ -1153,8 +1134,7 @@ class PackageInstaller(object):
for compiler, archs in packages_per_compiler.items():
for arch, packages in archs.items():
- self._add_bootstrap_compilers(
- compiler, arch, packages, request, all_deps)
+ self._add_bootstrap_compilers(compiler, arch, packages, request, all_deps)
if install_deps:
for dep in request.traverse_dependencies():
@@ -1169,7 +1149,7 @@ class PackageInstaller(object):
# of the spec.
spack.store.db.clear_failure(dep, force=False)
- install_package = request.install_args.get('install_package')
+ install_package = request.install_args.get("install_package")
if install_package and request.pkg_id not in self.build_tasks:
# Be sure to clear any previous failure
@@ -1184,7 +1164,7 @@ class PackageInstaller(object):
self._add_init_task(request.pkg, request, False, all_deps)
# Ensure if one request is to fail fast then all requests will.
- fail_fast = request.install_args.get('fail_fast')
+ fail_fast = request.install_args.get("fail_fast")
self.fail_fast = self.fail_fast or fail_fast
def _install_task(self, task):
@@ -1196,11 +1176,11 @@ class PackageInstaller(object):
task (BuildTask): the installation build task for a package"""
install_args = task.request.install_args
- cache_only = install_args.get('cache_only')
+ cache_only = install_args.get("cache_only")
explicit = task.explicit
- tests = install_args.get('tests')
- unsigned = install_args.get('unsigned')
- use_cache = install_args.get('use_cache')
+ tests = install_args.get("tests")
+ unsigned = install_args.get("unsigned")
+ use_cache = install_args.get("use_cache")
pkg, pkg_id = task.pkg, task.pkg_id
@@ -1209,15 +1189,15 @@ class PackageInstaller(object):
task.status = STATUS_INSTALLING
# Use the binary cache if requested
- if use_cache and \
- _install_from_cache(pkg, cache_only, explicit, unsigned):
+ if use_cache and _install_from_cache(pkg, cache_only, explicit, unsigned):
self._update_installed(task)
if task.compiler:
spack.compilers.add_compilers_to_config(
- spack.compilers.find_compilers([pkg.spec.prefix]))
+ spack.compilers.find_compilers([pkg.spec.prefix])
+ )
return
- pkg.run_tests = (tests is True or tests and pkg.name in tests)
+ pkg.run_tests = tests is True or tests and pkg.name in tests
# hook that allows tests to inspect the Package before installation
# see unit_test_check() docs.
@@ -1229,27 +1209,26 @@ class PackageInstaller(object):
# Create a child process to do the actual installation.
# Preserve verbosity settings across installs.
- spack.package_base.PackageBase._verbose = (
- spack.build_environment.start_build_process(
- pkg, build_process, install_args)
+ spack.package_base.PackageBase._verbose = spack.build_environment.start_build_process(
+ pkg, build_process, install_args
)
# Note: PARENT of the build process adds the new package to
# the database, so that we don't need to re-read from file.
- spack.store.db.add(pkg.spec, spack.store.layout,
- explicit=explicit)
+ spack.store.db.add(pkg.spec, spack.store.layout, explicit=explicit)
# If a compiler, ensure it is added to the configuration
if task.compiler:
spack.compilers.add_compilers_to_config(
- spack.compilers.find_compilers([pkg.spec.prefix]))
+ spack.compilers.find_compilers([pkg.spec.prefix])
+ )
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
spack.hooks.on_install_failure(task.request.pkg.spec)
- 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))
+ 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))
def _next_is_pri0(self):
"""
@@ -1288,21 +1267,21 @@ class PackageInstaller(object):
task (BuildTask): the installation build task for a package
"""
msg = "{0} a build task for {1} with status '{2}'"
- skip = 'Skipping requeue of task for {0}: {1}'
+ skip = "Skipping requeue of task for {0}: {1}"
# Ensure do not (re-)queue installed or failed packages whose status
# may have been determined by a separate process.
if task.pkg_id in self.installed:
- tty.debug(skip.format(task.pkg_id, 'installed'))
+ tty.debug(skip.format(task.pkg_id, "installed"))
return
if task.pkg_id in self.failed:
- tty.debug(skip.format(task.pkg_id, 'failed'))
+ tty.debug(skip.format(task.pkg_id, "failed"))
return
# Remove any associated build task since its sequence will change
self._remove_task(task.pkg_id)
- desc = 'Queueing' if task.attempts == 0 else 'Requeueing'
+ desc = "Queueing" if task.attempts == 0 else "Requeueing"
tty.debug(msg.format(desc, task.pkg_id, task.status))
# Now add the new task to the queue with a new sequence number to
@@ -1321,18 +1300,17 @@ class PackageInstaller(object):
"""
if pkg_id in self.locks:
err = "{0} exception when releasing {1} lock for {2}: {3}"
- msg = 'Releasing {0} lock on {1}'
+ msg = "Releasing {0} lock on {1}"
ltype, lock = self.locks[pkg_id]
if lock is not None:
try:
tty.debug(msg.format(ltype, pkg_id))
- if ltype == 'read':
+ if ltype == "read":
lock.release_read()
else:
lock.release_write()
except Exception as exc:
- tty.warn(err.format(exc.__class__.__name__, ltype,
- pkg_id, str(exc)))
+ tty.warn(err.format(exc.__class__.__name__, ltype, pkg_id, str(exc)))
def _remove_task(self, pkg_id):
"""
@@ -1345,8 +1323,7 @@ class PackageInstaller(object):
pkg_id (str): identifier for the package to be removed
"""
if pkg_id in self.build_tasks:
- tty.debug('Removing build task for {0} from list'
- .format(pkg_id))
+ tty.debug("Removing build task for {0} from list".format(pkg_id))
task = self.build_tasks.pop(pkg_id)
task.status = STATUS_REMOVED
return task
@@ -1361,8 +1338,11 @@ class PackageInstaller(object):
task (BuildTask): the installation build task for a package
"""
if task.status not in [STATUS_INSTALLED, STATUS_INSTALLING]:
- tty.debug('{0} {1}'.format(install_msg(task.pkg_id, self.pid),
- 'in progress by another process'))
+ tty.debug(
+ "{0} {1}".format(
+ install_msg(task.pkg_id, self.pid), "in progress by another process"
+ )
+ )
new_task = task.next_attempt(self.installed)
new_task.status = STATUS_INSTALLING
@@ -1377,7 +1357,7 @@ class PackageInstaller(object):
pkg (spack.package_base.Package): the package to be built and installed
"""
if not os.path.exists(pkg.spec.prefix):
- tty.debug('Creating the installation directory {0}'.format(pkg.spec.prefix))
+ tty.debug("Creating the installation directory {0}".format(pkg.spec.prefix))
spack.store.layout.create_install_directory(pkg.spec)
else:
# Set the proper group for the prefix
@@ -1411,8 +1391,8 @@ class PackageInstaller(object):
exc (Exception): optional exception if associated with the failure
"""
pkg_id = task.pkg_id
- err = '' if exc is None else ': {0}'.format(str(exc))
- tty.debug('Flagging {0} as failed{1}'.format(pkg_id, err))
+ err = "" if exc is None else ": {0}".format(str(exc))
+ tty.debug("Flagging {0} as failed{1}".format(pkg_id, err))
if mark:
self.failed[pkg_id] = spack.store.db.mark_failed(task.pkg.spec)
else:
@@ -1421,16 +1401,14 @@ class PackageInstaller(object):
for dep_id in task.dependents:
if dep_id in self.build_tasks:
- tty.warn('Skipping build of {0} since {1} failed'
- .format(dep_id, pkg_id))
+ tty.warn("Skipping build of {0} since {1} failed".format(dep_id, pkg_id))
# Ensure the dependent's uninstalled dependents are
# up-to-date and their build tasks removed.
dep_task = self.build_tasks[dep_id]
self._update_failed(dep_task, mark)
self._remove_task(dep_id)
else:
- tty.debug('No build task for {0} to skip since {1} failed'
- .format(dep_id, pkg_id))
+ tty.debug("No build task for {0} to skip since {1} failed".format(dep_id, pkg_id))
def _update_installed(self, task):
"""
@@ -1460,35 +1438,35 @@ class PackageInstaller(object):
# Already determined the package has been installed
return
- tty.debug('Flagging {0} as installed'.format(pkg_id))
+ tty.debug("Flagging {0} as installed".format(pkg_id))
self.installed.add(pkg_id)
# Update affected dependents
dependent_ids = dependent_ids or get_dependent_ids(pkg.spec)
for dep_id in set(dependent_ids):
- tty.debug('Removing {0} from {1}\'s uninstalled dependencies.'
- .format(pkg_id, dep_id))
+ tty.debug("Removing {0} from {1}'s uninstalled dependencies.".format(pkg_id, dep_id))
if dep_id in self.build_tasks:
# Ensure the dependent's uninstalled dependencies are
# up-to-date. This will require requeueing the task.
dep_task = self.build_tasks[dep_id]
self._push_task(dep_task.next_attempt(self.installed))
else:
- tty.debug('{0} has no build task to update for {1}\'s success'
- .format(dep_id, pkg_id))
+ tty.debug(
+ "{0} has no build task to update for {1}'s success".format(dep_id, pkg_id)
+ )
def _init_queue(self):
"""Initialize the build queue from the list of build requests."""
all_dependencies = defaultdict(set)
- tty.debug('Initializing the build queue from the build requests')
+ tty.debug("Initializing the build queue from the build requests")
for request in self.build_requests:
self._add_tasks(request, all_dependencies)
# Add any missing dependents to ensure proper uninstalled dependency
# tracking when installing multiple specs
- tty.debug('Ensure all dependencies know all dependents across specs')
+ tty.debug("Ensure all dependencies know all dependents across specs")
for dep_id in all_dependencies:
if dep_id in self.build_tasks:
dependents = all_dependencies[dep_id]
@@ -1540,7 +1518,7 @@ class PackageInstaller(object):
pkg (spack.package_base.Package): the package to be built and installed"""
self._init_queue()
- fail_fast_err = 'Terminating after first install failure'
+ fail_fast_err = "Terminating after first install failure"
single_explicit_spec = len(self.build_requests) == 1
failed_explicits = []
@@ -1557,12 +1535,12 @@ class PackageInstaller(object):
spack.hooks.on_install_start(task.request.pkg.spec)
install_args = task.request.install_args
- keep_prefix = install_args.get('keep_prefix')
+ keep_prefix = install_args.get("keep_prefix")
pkg, pkg_id, spec = task.pkg, task.pkg_id, task.pkg.spec
term_title.next_pkg(pkg)
- term_title.set('Processing {0}'.format(pkg.name))
- tty.debug('Processing {0}: task={1}'.format(pkg_id, task))
+ term_title.set("Processing {0}".format(pkg.name))
+ tty.debug("Processing {0}: task={1}".format(pkg_id, task))
# Ensure that the current spec has NO uninstalled dependencies,
# which is assumed to be reflected directly in its priority.
#
@@ -1573,22 +1551,26 @@ class PackageInstaller(object):
# dependencies of this task.
if task.priority != 0:
term_status.clear()
- tty.error('Detected uninstalled dependencies for {0}: {1}'
- .format(pkg_id, task.uninstalled_deps))
- left = [dep_id for dep_id in task.uninstalled_deps if
- dep_id not in self.installed]
+ tty.error(
+ "Detected uninstalled dependencies for {0}: {1}".format(
+ pkg_id, task.uninstalled_deps
+ )
+ )
+ left = [dep_id for dep_id in task.uninstalled_deps if dep_id not in self.installed]
if not left:
- tty.warn('{0} does NOT actually have any uninstalled deps'
- ' left'.format(pkg_id))
- dep_str = 'dependencies' if task.priority > 1 else 'dependency'
+ tty.warn(
+ "{0} does NOT actually have any uninstalled deps" " left".format(pkg_id)
+ )
+ dep_str = "dependencies" if task.priority > 1 else "dependency"
# Hook to indicate task failure, but without an exception
spack.hooks.on_install_failure(task.request.pkg.spec)
raise InstallError(
- 'Cannot proceed with {0}: {1} uninstalled {2}: {3}'
- .format(pkg_id, task.priority, dep_str,
- ','.join(task.uninstalled_deps)))
+ "Cannot proceed with {0}: {1} uninstalled {2}: {3}".format(
+ pkg_id, task.priority, dep_str, ",".join(task.uninstalled_deps)
+ )
+ )
# Skip the installation if the spec is not being installed locally
# (i.e., if external or upstream) BUT flag it as installed since
@@ -1603,7 +1585,7 @@ class PackageInstaller(object):
# assume using a separate (failed) prefix lock file.
if pkg_id in self.failed or spack.store.db.prefix_failed(spec):
term_status.clear()
- tty.warn('{0} failed to install'.format(pkg_id))
+ tty.warn("{0} failed to install".format(pkg_id))
self._update_failed(task)
# Mark that the package failed
@@ -1620,14 +1602,14 @@ class PackageInstaller(object):
# another process is likely (un)installing the spec or has
# determined the spec has already been installed (though the
# other process may be hung).
- term_title.set('Acquiring lock for {0}'.format(pkg.name))
+ term_title.set("Acquiring lock for {0}".format(pkg.name))
term_status.add(pkg_id)
- ltype, lock = self._ensure_locked('write', pkg)
+ ltype, lock = self._ensure_locked("write", pkg)
if lock is None:
# Attempt to get a read lock instead. If this fails then
# another process has a write lock so must be (un)installing
# the spec (or that process is hung).
- ltype, lock = self._ensure_locked('read', pkg)
+ ltype, lock = self._ensure_locked("read", pkg)
# Requeue the spec if we cannot get at least a read lock so we
# can check the status presumably established by another process
@@ -1644,7 +1626,7 @@ class PackageInstaller(object):
task.request.overwrite_time = time.time()
# Determine state of installation artifacts and adjust accordingly.
- term_title.set('Preparing {0}'.format(pkg.name))
+ term_title.set("Preparing {0}".format(pkg.name))
self._prepare_for_install(task)
# Flag an already installed package
@@ -1652,7 +1634,7 @@ class PackageInstaller(object):
# Downgrade to a read lock to preclude other processes from
# uninstalling the package until we're done installing its
# dependents.
- ltype, lock = self._ensure_locked('read', pkg)
+ ltype, lock = self._ensure_locked("read", pkg)
if lock is not None:
self._update_installed(task)
_print_installed_pkg(pkg.prefix)
@@ -1660,7 +1642,8 @@ class PackageInstaller(object):
# It's an already installed compiler, add it to the config
if task.compiler:
spack.compilers.add_compilers_to_config(
- spack.compilers.find_compilers([pkg.spec.prefix]))
+ spack.compilers.find_compilers([pkg.spec.prefix])
+ )
else:
# At this point we've failed to get a write or a read
@@ -1683,14 +1666,14 @@ class PackageInstaller(object):
# Requeue the task so we can check the status presumably
# established by the other process -- failed, installed, or
# uninstalled -- on the next pass.
- if ltype == 'read':
+ if ltype == "read":
lock.release_read()
self._requeue_task(task)
continue
# Proceed with the installation since we have an exclusive write
# lock on the package.
- term_title.set('Installing {0}'.format(pkg.name))
+ term_title.set("Installing {0}".format(pkg.name))
try:
action = self._install_action(task)
@@ -1702,17 +1685,15 @@ class PackageInstaller(object):
self._update_installed(task)
# If we installed then we should keep the prefix
- stop_before_phase = getattr(pkg, 'stop_before_phase', None)
- last_phase = getattr(pkg, 'last_phase', None)
- keep_prefix = keep_prefix or \
- (stop_before_phase is None and last_phase is None)
+ stop_before_phase = getattr(pkg, "stop_before_phase", None)
+ last_phase = getattr(pkg, "last_phase", None)
+ keep_prefix = keep_prefix or (stop_before_phase is None and last_phase is None)
except KeyboardInterrupt as exc:
# The build has been terminated with a Ctrl-C so terminate
# regardless of the number of remaining specs.
- err = 'Failed to install {0} due to {1}: {2}'
- tty.error(err.format(pkg.name, exc.__class__.__name__,
- str(exc)))
+ err = "Failed to install {0} due to {1}: {2}"
+ tty.error(err.format(pkg.name, exc.__class__.__name__, str(exc)))
spack.hooks.on_install_cancel(task.request.pkg.spec)
raise
@@ -1722,19 +1703,19 @@ class PackageInstaller(object):
# Best effort installs suppress the exception and mark the
# package as a failure.
- if (not isinstance(exc, spack.error.SpackError) or
- not exc.printed):
+ if not isinstance(exc, spack.error.SpackError) or not exc.printed:
exc.printed = True
# SpackErrors can be printed by the build process or at
# lower levels -- skip printing if already printed.
# TODO: sort out this and SpackError.print_context()
- tty.error('Failed to install {0} due to {1}: {2}'
- .format(pkg.name, exc.__class__.__name__,
- str(exc)))
+ tty.error(
+ "Failed to install {0} due to {1}: {2}".format(
+ pkg.name, exc.__class__.__name__, str(exc)
+ )
+ )
# Terminate if requested to do so on the first failure.
if self.fail_fast:
- raise InstallError('{0}: {1}'
- .format(fail_fast_err, str(exc)))
+ raise InstallError("{0}: {1}".format(fail_fast_err, str(exc)))
# Terminate at this point if the single explicit spec has
# failed to install.
@@ -1765,18 +1746,21 @@ class PackageInstaller(object):
# Ensure we properly report if one or more explicit specs failed
# or were not installed when should have been.
- missing = [request.pkg_id for request in self.build_requests if
- request.install_args.get('install_package') and
- request.pkg_id not in self.installed]
+ missing = [
+ request.pkg_id
+ for request in self.build_requests
+ if request.install_args.get("install_package") and request.pkg_id not in self.installed
+ ]
if failed_explicits or missing:
for pkg_id, err in failed_explicits:
- tty.error('{0}: {1}'.format(pkg_id, err))
+ tty.error("{0}: {1}".format(pkg_id, err))
for pkg_id in missing:
- tty.error('{0}: Package was not installed'.format(pkg_id))
+ tty.error("{0}: Package was not installed".format(pkg_id))
- raise InstallError('Installation request failed. Refer to '
- 'reported errors for failing package(s).')
+ raise InstallError(
+ "Installation request failed. Refer to " "reported errors for failing package(s)."
+ )
class BuildProcessInstaller(object):
@@ -1796,26 +1780,25 @@ class BuildProcessInstaller(object):
self.pkg = pkg
# whether to do a fake install
- self.fake = install_args.get('fake', False)
+ self.fake = install_args.get("fake", False)
# whether to install source code with the packag
- self.install_source = install_args.get('install_source', False)
+ 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)
+ self.keep_stage = install_args.get("keep_stage", False)
# whether to skip the patch phase
- self.skip_patch = install_args.get('skip_patch', False)
+ 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)
+ self.verbose = install_args.get("verbose", False)
# env before starting installation
- self.unmodified_env = install_args.get('unmodified_env', {})
+ self.unmodified_env = install_args.get("unmodified_env", {})
# env modifications by Spack
- self.env_mods = install_args.get(
- 'env_modifications', EnvironmentModifications())
+ self.env_mods = install_args.get("env_modifications", EnvironmentModifications())
# timer for build phases
self.timer = Timer()
@@ -1826,8 +1809,8 @@ class BuildProcessInstaller(object):
self.filter_fn = spack.util.path.padding_filter if filter_padding else None
# info/debug information
- pid = '{0}: '.format(os.getpid()) if tty.show_pid() else ''
- self.pre = '{0}{1}:'.format(pid, pkg.name)
+ pid = "{0}: ".format(os.getpid()) if tty.show_pid() else ""
+ self.pre = "{0}{1}:".format(pid, pkg.name)
self.pkg_id = package_id(pkg)
def run(self):
@@ -1840,11 +1823,7 @@ class BuildProcessInstaller(object):
self.pkg.do_stage()
tty.debug(
- '{0} Building {1} [{2}]' .format(
- self.pre,
- self.pkg_id,
- self.pkg.build_system_class
- )
+ "{0} Building {1} [{2}]".format(self.pre, self.pkg_id, self.pkg.build_system_class)
)
# get verbosity from do_install() parameter or saved value
@@ -1868,17 +1847,19 @@ class BuildProcessInstaller(object):
# Stop the timer and save results
self.timer.stop()
- with open(self.pkg.times_log_path, 'w') as timelog:
+ 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)))
+ 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
@@ -1893,8 +1874,8 @@ class BuildProcessInstaller(object):
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))
+ 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)
@@ -1908,20 +1889,16 @@ class BuildProcessInstaller(object):
# Save just the changes to the environment. This file can be
# safely installed, since it does not contain secret variables.
- with open(pkg.env_mods_path, 'w') as env_mods_file:
- mods = self.env_mods.shell_modifications(
- explicit=True,
- env=self.unmodified_env
- )
+ with open(pkg.env_mods_path, "w") as env_mods_file:
+ mods = self.env_mods.shell_modifications(explicit=True, env=self.unmodified_env)
env_mods_file.write(mods)
- for attr in ('configure_args', 'cmake_args'):
+ for attr in ("configure_args", "cmake_args"):
try:
configure_args = getattr(pkg, attr)()
- configure_args = ' '.join(configure_args)
+ configure_args = " ".join(configure_args)
- with open(pkg.configure_args_path, 'w') as \
- args_file:
+ with open(pkg.configure_args_path, "w") as args_file:
args_file.write(configure_args)
break
@@ -1933,14 +1910,13 @@ class BuildProcessInstaller(object):
# 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)):
+ 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 = "spack-build-%02d-%s-out.txt" % (i + 1, phase_name.lower())
log_file = os.path.join(log_dir, log_file)
try:
@@ -1951,19 +1927,14 @@ class BuildProcessInstaller(object):
self.echo,
True,
env=self.unmodified_env,
- filter_fn=self.filter_fn
+ 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.msg("{0} Executing phase: '{1}'".format(self.pre, phase_name))
tty.set_debug(inner_debug_level)
# Redirect stdout and stderr to daemon pipe
@@ -2031,11 +2002,14 @@ class OverwriteInstall(object):
self.installer._install_task(self.task)
except fs.CouldNotRestoreDirectoryBackup as e:
self.database.remove(self.task.pkg.spec)
- tty.error('Recovery of install dir of {0} failed due to '
- '{1}: {2}. The spec is now uninstalled.'.format(
- self.task.pkg.name,
- e.outer_exception.__class__.__name__,
- str(e.outer_exception)))
+ tty.error(
+ "Recovery of install dir of {0} failed due to "
+ "{1}: {2}. The spec is now uninstalled.".format(
+ self.task.pkg.name,
+ e.outer_exception.__class__.__name__,
+ str(e.outer_exception),
+ )
+ )
# Unwrap the actual installation exception.
raise e.inner_exception
@@ -2044,8 +2018,7 @@ class OverwriteInstall(object):
class BuildTask(object):
"""Class for representing the build task for a package."""
- def __init__(self, pkg, request, compiler, start, attempts, status,
- installed):
+ def __init__(self, pkg, request, compiler, start, attempts, status, installed):
"""
Instantiate a build task for a package.
@@ -2068,8 +2041,7 @@ class BuildTask(object):
self.pkg = pkg
if not self.pkg.spec.concrete:
- raise ValueError("{0} must have a concrete spec"
- .format(self.pkg.name))
+ raise ValueError("{0} must have a concrete spec".format(self.pkg.name))
# The "unique" identifier for the task's package
self.pkg_id = package_id(self.pkg)
@@ -2099,10 +2071,9 @@ class BuildTask(object):
# to support tracking of parallel, multi-spec, environment installs.
self.dependents = set(get_dependent_ids(self.pkg.spec))
- tty.debug(
- 'Pkg id {0} has the following dependents:'.format(self.pkg_id))
+ tty.debug("Pkg id {0} has the following dependents:".format(self.pkg_id))
for dep_id in self.dependents:
- tty.debug('- {0}'.format(dep_id))
+ tty.debug("- {0}".format(dep_id))
# Set of dependencies
#
@@ -2110,9 +2081,11 @@ class BuildTask(object):
# if use traverse for transitive dependencies, then must remove
# transitive dependents on failure.
deptypes = self.request.get_deptypes(self.pkg)
- self.dependencies = set(package_id(d.package) for d in
- self.pkg.spec.dependencies(deptype=deptypes)
- if package_id(d.package) != self.pkg_id)
+ self.dependencies = set(
+ package_id(d.package)
+ for d in self.pkg.spec.dependencies(deptype=deptypes)
+ if package_id(d.package) != self.pkg_id
+ )
# Handle bootstrapped compiler
#
@@ -2120,14 +2093,12 @@ class BuildTask(object):
# a dependency of the build task. Here we add it to self.dependencies
compiler_spec = self.pkg.spec.compiler
arch_spec = self.pkg.spec.architecture
- if not spack.compilers.compilers_for_spec(compiler_spec,
- arch_spec=arch_spec):
+ if not spack.compilers.compilers_for_spec(compiler_spec, arch_spec=arch_spec):
# The compiler is in the queue, identify it as dependency
dep = spack.compilers.pkg_spec_for_compiler(compiler_spec)
- dep.constrain('platform=%s' % str(arch_spec.platform))
- dep.constrain('os=%s' % str(arch_spec.os))
- dep.constrain('target=%s:' %
- arch_spec.target.microarchitecture.family.name)
+ dep.constrain("platform=%s" % str(arch_spec.platform))
+ dep.constrain("os=%s" % str(arch_spec.os))
+ dep.constrain("target=%s:" % arch_spec.target.microarchitecture.family.name)
dep.concretize()
dep_id = package_id(dep.package)
self.dependencies.add(dep_id)
@@ -2135,8 +2106,9 @@ class BuildTask(object):
# List of uninstalled dependencies, which is used to establish
# the priority of the build task.
#
- self.uninstalled_deps = set(pkg_id for pkg_id in self.dependencies if
- pkg_id not in installed)
+ self.uninstalled_deps = set(
+ pkg_id for pkg_id in self.dependencies if pkg_id not in installed
+ )
# Ensure key sequence-related properties are updated accordingly.
self.attempts = 0
@@ -2162,16 +2134,17 @@ class BuildTask(object):
def __repr__(self):
"""Returns a formal representation of the build task."""
- rep = '{0}('.format(self.__class__.__name__)
+ rep = "{0}(".format(self.__class__.__name__)
for attr, value in self.__dict__.items():
- rep += '{0}={1}, '.format(attr, value.__repr__())
- return '{0})'.format(rep.strip(', '))
+ rep += "{0}={1}, ".format(attr, value.__repr__())
+ return "{0})".format(rep.strip(", "))
def __str__(self):
"""Returns a printable version of the build task."""
- dependencies = '#dependencies={0}'.format(len(self.dependencies))
- return ('priority={0}, status={1}, start={2}, {3}'
- .format(self.priority, self.status, self.start, dependencies))
+ dependencies = "#dependencies={0}".format(len(self.dependencies))
+ return "priority={0}, status={1}, start={2}, {3}".format(
+ self.priority, self.status, self.start, dependencies
+ )
def _update(self):
"""Update properties associated with a new instance of a task."""
@@ -2191,8 +2164,7 @@ class BuildTask(object):
pkg_id (str): package identifier of the dependent package
"""
if pkg_id != self.pkg_id and pkg_id not in self.dependents:
- tty.debug('Adding {0} as a dependent of {1}'
- .format(pkg_id, self.pkg_id))
+ tty.debug("Adding {0} as a dependent of {1}".format(pkg_id, self.pkg_id))
self.dependents.add(pkg_id)
def flag_installed(self, installed):
@@ -2206,14 +2178,16 @@ class BuildTask(object):
now_installed = self.uninstalled_deps & set(installed)
for pkg_id in now_installed:
self.uninstalled_deps.remove(pkg_id)
- tty.debug('{0}: Removed {1} from uninstalled deps list: {2}'
- .format(self.pkg_id, pkg_id, self.uninstalled_deps))
+ tty.debug(
+ "{0}: Removed {1} from uninstalled deps list: {2}".format(
+ self.pkg_id, pkg_id, self.uninstalled_deps
+ )
+ )
@property
def explicit(self):
"""The package was explicitly requested by the user."""
- return self.pkg == self.request.pkg and \
- self.request.install_args.get('explicit', True)
+ return self.pkg == self.request.pkg and self.request.install_args.get("explicit", True)
@property
def key(self):
@@ -2251,14 +2225,13 @@ class BuildRequest(object):
self.pkg = pkg
if not self.pkg.spec.concrete:
- raise ValueError("{0} must have a concrete spec"
- .format(self.pkg.name))
+ raise ValueError("{0} must have a concrete spec".format(self.pkg.name))
# Cache the package phase options with the explicit package,
# popping the options to ensure installation of associated
# dependencies is NOT affected by these options.
- self.pkg.stop_before_phase = install_args.pop('stop_before', None)
- self.pkg.last_phase = install_args.pop('stop_at', None)
+ self.pkg.stop_before_phase = install_args.pop("stop_before", None)
+ self.pkg.last_phase = install_args.pop("stop_at", None)
# Cache the package id for convenience
self.pkg_id = package_id(pkg)
@@ -2269,47 +2242,50 @@ class BuildRequest(object):
self._add_default_args()
# Cache overwrite information
- self.overwrite = set(self.install_args.get('overwrite', []))
+ self.overwrite = set(self.install_args.get("overwrite", []))
self.overwrite_time = time.time()
# Save off dependency package ids for quick checks since traversals
# are not able to return full dependents for all packages across
# environment specs.
deptypes = self.get_deptypes(self.pkg)
- self.dependencies = set(package_id(d.package) for d in
- self.pkg.spec.dependencies(deptype=deptypes)
- if package_id(d.package) != self.pkg_id)
+ self.dependencies = set(
+ package_id(d.package)
+ for d in self.pkg.spec.dependencies(deptype=deptypes)
+ if package_id(d.package) != self.pkg_id
+ )
def __repr__(self):
"""Returns a formal representation of the build request."""
- rep = '{0}('.format(self.__class__.__name__)
+ rep = "{0}(".format(self.__class__.__name__)
for attr, value in self.__dict__.items():
- rep += '{0}={1}, '.format(attr, value.__repr__())
- return '{0})'.format(rep.strip(', '))
+ rep += "{0}={1}, ".format(attr, value.__repr__())
+ return "{0})".format(rep.strip(", "))
def __str__(self):
"""Returns a printable version of the build request."""
- return 'package={0}, install_args={1}' \
- .format(self.pkg.name, self.install_args)
+ return "package={0}, install_args={1}".format(self.pkg.name, self.install_args)
def _add_default_args(self):
"""Ensure standard install options are set to at least the default."""
- for arg, default in [('cache_only', False),
- ('context', 'build'), # installs *always* build
- ('dirty', False),
- ('fail_fast', False),
- ('fake', False),
- ('install_deps', True),
- ('install_package', True),
- ('install_source', False),
- ('keep_prefix', False),
- ('keep_stage', False),
- ('restage', False),
- ('skip_patch', False),
- ('tests', False),
- ('unsigned', False),
- ('use_cache', True),
- ('verbose', False), ]:
+ for arg, default in [
+ ("cache_only", False),
+ ("context", "build"), # installs *always* build
+ ("dirty", False),
+ ("fail_fast", False),
+ ("fake", False),
+ ("install_deps", True),
+ ("install_package", True),
+ ("install_source", False),
+ ("keep_prefix", False),
+ ("keep_stage", False),
+ ("restage", False),
+ ("skip_patch", False),
+ ("tests", False),
+ ("unsigned", False),
+ ("use_cache", True),
+ ("verbose", False),
+ ]:
_ = self.install_args.setdefault(arg, default)
def get_deptypes(self, pkg):
@@ -2322,17 +2298,17 @@ class BuildRequest(object):
Returns:
tuple: required dependency type(s) for the package
"""
- deptypes = ['link', 'run']
- include_build_deps = self.install_args.get('include_build_deps')
- if not self.install_args.get('cache_only') or include_build_deps:
- deptypes.append('build')
+ deptypes = ["link", "run"]
+ include_build_deps = self.install_args.get("include_build_deps")
+ if not self.install_args.get("cache_only") or include_build_deps:
+ deptypes.append("build")
if self.run_tests(pkg):
- deptypes.append('test')
+ deptypes.append("test")
return tuple(sorted(deptypes))
def has_dependency(self, dep_id):
"""Returns ``True`` if the package id represents a known dependency
- of the requested package, ``False`` otherwise."""
+ of the requested package, ``False`` otherwise."""
return dep_id in self.dependencies
def run_tests(self, pkg):
@@ -2345,7 +2321,7 @@ class BuildRequest(object):
Returns:
bool: ``True`` if they should be run; ``False`` otherwise
"""
- tests = self.install_args.get('tests', False)
+ tests = self.install_args.get("tests", False)
return tests is True or (tests and pkg.name in tests)
@property
@@ -2363,11 +2339,10 @@ class BuildRequest(object):
get_spec = lambda s: s.spec
deptypes = self.get_deptypes(self.pkg)
- tty.debug('Processing dependencies for {0}: {1}'
- .format(self.pkg_id, deptypes))
+ tty.debug("Processing dependencies for {0}: {1}".format(self.pkg_id, deptypes))
for dspec in self.spec.traverse_edges(
- deptype=deptypes, order='post', root=False,
- direction='children'):
+ deptype=deptypes, order="post", root=False, direction="children"
+ ):
yield get_spec(dspec)
@@ -2383,8 +2358,8 @@ class BadInstallPhase(InstallError):
def __init__(self, pkg_name, phase):
super(BadInstallPhase, self).__init__(
- '\'{0}\' is not a valid phase for package {1}'
- .format(phase, pkg_name))
+ "'{0}' is not a valid phase for package {1}".format(phase, pkg_name)
+ )
class ExternalPackageError(InstallError):
@@ -2397,4 +2372,4 @@ class InstallLockError(InstallError):
class UpstreamPackageError(InstallError):
"""Raised during install when something goes wrong with an upstream
- package."""
+ package."""
diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py
index b66c67c801..f69b1e0088 100644
--- a/lib/spack/spack/main.py
+++ b/lib/spack/spack/main.py
@@ -53,54 +53,58 @@ from spack.error import SpackError
stat_names = pstats.Stats.sort_arg_dict_default
#: top-level aliases for Spack commands
-aliases = {
- 'rm': 'remove'
-}
+aliases = {"rm": "remove"}
#: help levels in order of detail (i.e., number of commands shown)
-levels = ['short', 'long']
+levels = ["short", "long"]
#: intro text for help at different levels
intro_by_level = {
- 'short': 'These are common spack commands:',
- 'long': 'Complete list of spack commands:',
+ "short": "These are common spack commands:",
+ "long": "Complete list of spack commands:",
}
#: control top-level spack options shown in basic vs. advanced help
-options_by_level = {
- 'short': ['h', 'k', 'V', 'color'],
- 'long': 'all'
-}
+options_by_level = {"short": ["h", "k", "V", "color"], "long": "all"}
#: Longer text for each section, to show in help
section_descriptions = {
- 'admin': 'administration',
- 'basic': 'query packages',
- 'build': 'build packages',
- 'config': 'configuration',
- 'developer': 'developer',
- 'environment': 'environment',
- 'extensions': 'extensions',
- 'help': 'more help',
- 'packaging': 'create packages',
- 'system': 'system',
+ "admin": "administration",
+ "basic": "query packages",
+ "build": "build packages",
+ "config": "configuration",
+ "developer": "developer",
+ "environment": "environment",
+ "extensions": "extensions",
+ "help": "more help",
+ "packaging": "create packages",
+ "system": "system",
}
#: preferential command order for some sections (e.g., build pipeline is
#: in execution order, not alphabetical)
section_order = {
- 'basic': ['list', 'info', 'find'],
- 'build': ['fetch', 'stage', 'patch', 'configure', 'build', 'restage',
- 'install', 'uninstall', 'clean'],
- 'packaging': ['create', 'edit']
+ "basic": ["list", "info", "find"],
+ "build": [
+ "fetch",
+ "stage",
+ "patch",
+ "configure",
+ "build",
+ "restage",
+ "install",
+ "uninstall",
+ "clean",
+ ],
+ "packaging": ["create", "edit"],
}
#: Properties that commands are required to set.
-required_command_properties = ['level', 'section', 'description']
+required_command_properties = ["level", "section", "description"]
#: Recorded directory where spack command was originally invoked
spack_working_dir = None
-spack_ld_library_path = os.environ.get('LD_LIBRARY_PATH', '')
+spack_ld_library_path = os.environ.get("LD_LIBRARY_PATH", "")
def set_working_dir():
@@ -132,8 +136,15 @@ def get_version():
git = exe.which("git")
if not git:
return version
- rev = git('-C', spack.paths.prefix, 'rev-parse', 'HEAD',
- output=str, error=os.devnull, fail_on_error=False)
+ rev = git(
+ "-C",
+ spack.paths.prefix,
+ "rev-parse",
+ "HEAD",
+ output=str,
+ error=os.devnull,
+ fail_on_error=False,
+ )
if git.returncode != 0:
return version
match = re.match(r"[a-f\d]{7,}$", rev)
@@ -153,8 +164,7 @@ def index_commands():
for p in required_command_properties:
prop = getattr(cmd_module, p, None)
if not prop:
- tty.die("Command doesn't define a property '%s': %s"
- % (p, command))
+ tty.die("Command doesn't define a property '%s': %s" % (p, command))
# add commands to lists for their level and higher levels
for level in reversed(levels):
@@ -170,22 +180,21 @@ def index_commands():
class SpackHelpFormatter(argparse.RawTextHelpFormatter):
def _format_actions_usage(self, actions, groups):
"""Formatter with more concise usage strings."""
- usage = super(
- SpackHelpFormatter, self)._format_actions_usage(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)
+ 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)
+ chars = "".join(re.findall(r"\[-(.)\]", usage))
+ usage = re.sub(r"\[-.\] ?", "", usage)
if chars:
- usage = '[-%s] %s' % (chars, usage)
+ usage = "[-%s] %s" % (chars, usage)
return usage.strip()
def add_arguments(self, actions):
- actions = sorted(actions, key=operator.attrgetter('option_strings'))
+ actions = sorted(actions, key=operator.attrgetter("option_strings"))
super(SpackHelpFormatter, self).add_arguments(actions)
@@ -207,7 +216,7 @@ class SpackArgumentParser(argparse.ArgumentParser):
# Create a list of subcommand actions. Argparse internals are nasty!
# Note: you can only call _get_subactions() once. Even nastier!
- if not hasattr(self, 'actions'):
+ if not hasattr(self, "actions"):
self.actions = self._subparsers._actions[-1]._get_subactions()
# make a set of commands not yet added.
@@ -224,8 +233,7 @@ class SpackArgumentParser(argparse.ArgumentParser):
cmd_set = set(c for c in commands)
# make a dict of commands of interest
- cmds = dict((a.dest, a) for a in self.actions
- if a.dest in cmd_set)
+ cmds = dict((a.dest, a) for a in self.actions if a.dest in cmd_set)
# add commands to a group in order, and add the group
group = argparse._ArgumentGroup(self, title=title)
@@ -237,9 +245,10 @@ class SpackArgumentParser(argparse.ArgumentParser):
# select only the options for the particular level we're showing.
show_options = options_by_level[level]
- if show_options != 'all':
- opts = dict((opt.option_strings[0].strip('-'), opt)
- for opt in self._optionals._group_actions)
+ if show_options != "all":
+ opts = dict(
+ (opt.option_strings[0].strip("-"), opt) for opt in self._optionals._group_actions
+ )
new_actions = [opts[letter] for letter in show_options]
self._optionals._group_actions = new_actions
@@ -247,8 +256,7 @@ class SpackArgumentParser(argparse.ArgumentParser):
# custom, more concise usage for top level
help_options = self._optionals._group_actions
help_options = help_options + [self._positionals._group_actions[-1]]
- formatter.add_usage(
- self.usage, help_options, self._mutually_exclusive_groups)
+ formatter.add_usage(self.usage, help_options, self._mutually_exclusive_groups)
# description
formatter.add_text(self.description)
@@ -261,8 +269,8 @@ class SpackArgumentParser(argparse.ArgumentParser):
sections = index[level]
for section in sorted(sections):
- if section == 'help':
- continue # Cover help in the epilog.
+ if section == "help":
+ continue # Cover help in the epilog.
group_description = section_descriptions.get(section, section)
@@ -271,12 +279,10 @@ class SpackArgumentParser(argparse.ArgumentParser):
# add commands whose order we care about first.
if section in section_order:
- commands.extend(cmd for cmd in section_order[section]
- if cmd in to_display)
+ commands.extend(cmd for cmd in section_order[section] if cmd in to_display)
# add rest in alphabetical order.
- commands.extend(cmd for cmd in sorted(sections[section])
- if cmd not in commands)
+ commands.extend(cmd for cmd in sorted(sections[section]) if cmd not in commands)
# add the group to the parser
add_subcommand_group(group_description, commands)
@@ -285,25 +291,29 @@ class SpackArgumentParser(argparse.ArgumentParser):
add_group(self._optionals)
# epilog
- formatter.add_text("""\
+ formatter.add_text(
+ """\
{help}:
spack help --all list all commands and options
spack help <command> help on a specific command
spack help --spec help on the package specification syntax
spack docs open https://spack.rtfd.io/ in a browser
-""".format(help=section_descriptions['help']))
+""".format(
+ help=section_descriptions["help"]
+ )
+ )
# determine help from format above
return formatter.format_help()
def add_subparsers(self, **kwargs):
"""Ensure that sensible defaults are propagated to subparsers"""
- kwargs.setdefault('metavar', 'SUBCOMMAND')
+ 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)
+ 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
@@ -314,20 +324,20 @@ class SpackArgumentParser(argparse.ArgumentParser):
old_add_parser = sp.add_parser
def add_parser(name, **kwargs):
- kwargs.setdefault('formatter_class', SpackHelpFormatter)
+ kwargs.setdefault("formatter_class", SpackHelpFormatter)
return old_add_parser(name, **kwargs)
+
sp.add_parser = add_parser
return sp
def add_command(self, cmd_name):
"""Add one subcommand to this parser."""
# lazily initialize any subparsers
- if not hasattr(self, 'subparsers'):
+ if not hasattr(self, "subparsers"):
# remove the dummy "command" argument.
- if self._actions[-1].dest == 'command':
+ if self._actions[-1].dest == "command":
self._remove_action(self._actions[-1])
- self.subparsers = self.add_subparsers(metavar='COMMAND',
- dest="command")
+ self.subparsers = self.add_subparsers(metavar="COMMAND", dest="command")
# each command module implements a parser() function, to which we
# pass its subparser for setup.
@@ -337,15 +347,15 @@ class SpackArgumentParser(argparse.ArgumentParser):
alias_list = [k for k, v in aliases.items() if v == cmd_name]
subparser = self.subparsers.add_parser(
- cmd_name, aliases=alias_list,
- help=module.description, description=module.description)
+ cmd_name, aliases=alias_list, help=module.description, description=module.description
+ )
module.setup_parser(subparser)
# return the callable function for the command
return spack.cmd.get_command(cmd_name)
- def format_help(self, level='short'):
- if self.prog == 'spack':
+ def format_help(self, level="short"):
+ if self.prog == "spack":
# use format_help_sections for the main spack parser, but not
# for subparsers
return self.format_help_sections(level)
@@ -356,107 +366,172 @@ class SpackArgumentParser(argparse.ArgumentParser):
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)
+ 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."""
parser = SpackArgumentParser(
- formatter_class=SpackHelpFormatter, add_help=False,
+ formatter_class=SpackHelpFormatter,
+ add_help=False,
description=(
"A flexible package manager that supports multiple versions,\n"
- "configurations, platforms, and compilers."),
- **kwargs)
+ "configurations, platforms, and compilers."
+ ),
+ **kwargs
+ )
# stat names in groups of 7, for nice wrapping.
stat_lines = list(zip(*(iter(stat_names),) * 7))
parser.add_argument(
- '-h', '--help',
- dest='help', action='store_const', const='short', default=None,
- help="show this help message and exit")
- parser.add_argument(
- '-H', '--all-help',
- dest='help', action='store_const', const='long', default=None,
- help="show help for all commands (same as spack help --all)")
- parser.add_argument(
- '--color', action='store',
- default=os.environ.get('SPACK_COLOR', 'auto'),
- choices=('always', 'never', 'auto'),
- help="when to colorize output (default: auto)")
+ "-h",
+ "--help",
+ dest="help",
+ action="store_const",
+ const="short",
+ default=None,
+ help="show this help message and exit",
+ )
parser.add_argument(
- '-c', '--config', default=None, action="append", dest="config_vars",
- help="add one or more custom, one off config settings.")
+ "-H",
+ "--all-help",
+ dest="help",
+ action="store_const",
+ const="long",
+ default=None,
+ help="show help for all commands (same as spack help --all)",
+ )
parser.add_argument(
- '-C', '--config-scope', dest='config_scopes', action='append',
- metavar='DIR', help="add a custom configuration scope")
+ "--color",
+ action="store",
+ default=os.environ.get("SPACK_COLOR", "auto"),
+ choices=("always", "never", "auto"),
+ help="when to colorize output (default: auto)",
+ )
parser.add_argument(
- '-d', '--debug', action='count', default=0,
- help="write out debug messages "
- "(more d's for more verbosity: -d, -dd, -ddd, etc.)")
+ "-c",
+ "--config",
+ default=None,
+ action="append",
+ dest="config_vars",
+ help="add one or more custom, one off config settings.",
+ )
parser.add_argument(
- '--timestamp', action='store_true',
- help="Add a timestamp to tty output")
+ "-C",
+ "--config-scope",
+ dest="config_scopes",
+ action="append",
+ metavar="DIR",
+ help="add a custom configuration scope",
+ )
parser.add_argument(
- '--pdb', action='store_true',
- help="run spack under the pdb debugger")
+ "-d",
+ "--debug",
+ action="count",
+ default=0,
+ help="write out debug messages " "(more d's for more verbosity: -d, -dd, -ddd, etc.)",
+ )
+ parser.add_argument("--timestamp", action="store_true", help="Add a timestamp to tty output")
+ parser.add_argument("--pdb", action="store_true", help="run spack under the pdb debugger")
env_group = parser.add_mutually_exclusive_group()
env_group.add_argument(
- '-e', '--env', dest='env', metavar='ENV', action='store',
- help="run with a specific environment (see spack env)")
+ "-e",
+ "--env",
+ dest="env",
+ metavar="ENV",
+ action="store",
+ help="run with a specific environment (see spack env)",
+ )
env_group.add_argument(
- '-D', '--env-dir', dest='env_dir', metavar='DIR', action='store',
- help="run with an environment directory (ignore named environments)")
+ "-D",
+ "--env-dir",
+ dest="env_dir",
+ metavar="DIR",
+ action="store",
+ help="run with an environment directory (ignore named environments)",
+ )
env_group.add_argument(
- '-E', '--no-env', dest='no_env', action='store_true',
- help="run without any environments activated (see spack env)")
+ "-E",
+ "--no-env",
+ dest="no_env",
+ action="store_true",
+ help="run without any environments activated (see spack env)",
+ )
parser.add_argument(
- '--use-env-repo', action='store_true',
- help="when running in an environment, use its package repository")
+ "--use-env-repo",
+ action="store_true",
+ help="when running in an environment, use its package repository",
+ )
parser.add_argument(
- '-k', '--insecure', action='store_true',
- help="do not check ssl certificates when downloading")
+ "-k",
+ "--insecure",
+ action="store_true",
+ help="do not check ssl certificates when downloading",
+ )
parser.add_argument(
- '-l', '--enable-locks', action='store_true', dest='locks',
- default=None, help="use filesystem locking (default)")
+ "-l",
+ "--enable-locks",
+ action="store_true",
+ dest="locks",
+ default=None,
+ help="use filesystem locking (default)",
+ )
parser.add_argument(
- '-L', '--disable-locks', action='store_false', dest='locks',
- help="do not use filesystem locking (unsafe)")
+ "-L",
+ "--disable-locks",
+ action="store_false",
+ dest="locks",
+ help="do not use filesystem locking (unsafe)",
+ )
parser.add_argument(
- '-m', '--mock', action='store_true',
- help="use mock packages instead of real ones")
+ "-m", "--mock", action="store_true", help="use mock packages instead of real ones"
+ )
parser.add_argument(
- '-b', '--bootstrap', action='store_true',
- help="use bootstrap configuration (bootstrap store, config, externals)")
+ "-b",
+ "--bootstrap",
+ action="store_true",
+ help="use bootstrap configuration (bootstrap store, config, externals)",
+ )
parser.add_argument(
- '-p', '--profile', action='store_true', dest='spack_profile',
- help="profile execution using cProfile")
+ "-p",
+ "--profile",
+ action="store_true",
+ dest="spack_profile",
+ help="profile execution using cProfile",
+ )
parser.add_argument(
- '--sorted-profile', default=None, metavar="STAT",
- help="profile and sort by one or more of:\n[%s]" %
- ',\n '.join([', '.join(line) for line in stat_lines]))
+ "--sorted-profile",
+ default=None,
+ metavar="STAT",
+ help="profile and sort by one or more of:\n[%s]"
+ % ",\n ".join([", ".join(line) for line in stat_lines]),
+ )
parser.add_argument(
- '--lines', default=20, action='store',
- help="lines of profile output or 'all' (default: 20)")
+ "--lines",
+ default=20,
+ action="store",
+ help="lines of profile output or 'all' (default: 20)",
+ )
parser.add_argument(
- '-v', '--verbose', action='store_true',
- help="print additional output during builds")
+ "-v", "--verbose", action="store_true", help="print additional output during builds"
+ )
parser.add_argument(
- '--stacktrace', action='store_true',
- default='SPACK_STACKTRACE' in os.environ,
- help="add stacktraces to all printed statements")
+ "--stacktrace",
+ action="store_true",
+ default="SPACK_STACKTRACE" in os.environ,
+ help="add stacktraces to all printed statements",
+ )
parser.add_argument(
- '-V', '--version', action='store_true',
- help='show version number and exit')
+ "-V", "--version", action="store_true", help="show version number and exit"
+ )
parser.add_argument(
- '--print-shell-vars', action='store',
- help="print info needed by setup-env.[c]sh")
+ "--print-shell-vars", action="store", help="print info needed by setup-env.[c]sh"
+ )
return parser
@@ -482,7 +557,7 @@ def setup_main_options(args):
if args.debug:
spack.error.debug = args.debug
spack.util.debug.register_interrupt_handler()
- spack.config.set('config:debug', True, scope='command_line')
+ spack.config.set("config:debug", True, scope="command_line")
spack.util.environment.tracing_enabled = True
if args.timestamp:
@@ -492,7 +567,7 @@ def setup_main_options(args):
if args.locks is not None:
if args.locks is False:
spack.util.lock.check_lock_safety(spack.paths.prefix)
- spack.config.set('config:locks', args.locks, scope='command_line')
+ spack.config.set("config:locks", args.locks, scope="command_line")
if args.mock:
spack.repo.path = spack.repo.RepoPath(spack.paths.mock_packages_path)
@@ -500,10 +575,10 @@ def setup_main_options(args):
# If the user asked for it, don't check ssl certs.
if args.insecure:
tty.warn("You asked for --insecure. Will NOT check SSL certificates.")
- spack.config.set('config:verify_ssl', False, scope='command_line')
+ spack.config.set("config:verify_ssl", False, scope="command_line")
# Use the spack config command to handle parsing the config strings
- for config_var in (args.config_vars or []):
+ for config_var in args.config_vars or []:
spack.config.add(fullpath=config_var, scope="command_line")
# when to use color (takes always, auto, or never)
@@ -518,9 +593,9 @@ def allows_unknown_args(command):
args in.
"""
info = dict(inspect.getmembers(command))
- varnames = info['__code__'].co_varnames
- argcount = info['__code__'].co_argcount
- return (argcount == 3 and varnames[2] == 'unknown_args')
+ varnames = info["__code__"].co_varnames
+ argcount = info["__code__"].co_argcount
+ return argcount == 3 and varnames[2] == "unknown_args"
def _invoke_command(command, parser, args, unknown_args):
@@ -529,7 +604,7 @@ def _invoke_command(command, parser, args, unknown_args):
return_val = command(parser, args, unknown_args)
else:
if unknown_args:
- tty.die('unrecognized arguments: %s' % ' '.join(unknown_args))
+ tty.die("unrecognized arguments: %s" % " ".join(unknown_args))
return_val = command(parser, args)
# Allow commands to return and error code if they want
@@ -547,6 +622,7 @@ class SpackCommand(object):
Use this to invoke Spack commands directly from Python and check
their output.
"""
+
def __init__(self, command_name):
"""Create a new SpackCommand that invokes ``command_name`` when called.
@@ -579,18 +655,16 @@ class SpackCommand(object):
self.returncode = None
self.error = None
- prepend = kwargs['global_args'] if 'global_args' in kwargs else []
+ prepend = kwargs["global_args"] if "global_args" in kwargs else []
- args, unknown = self.parser.parse_known_args(
- prepend + [self.command_name] + list(argv))
+ args, unknown = self.parser.parse_known_args(prepend + [self.command_name] + list(argv))
- fail_on_error = kwargs.get('fail_on_error', True)
+ fail_on_error = kwargs.get("fail_on_error", True)
out = StringIO()
try:
with log_output(out):
- self.returncode = _invoke_command(
- self.command, self.parser, args, unknown)
+ self.returncode = _invoke_command(self.command, self.parser, args, unknown)
except SystemExit as e:
self.returncode = e.code
@@ -605,18 +679,18 @@ class SpackCommand(object):
if fail_on_error and self.returncode not in (None, 0):
self._log_command_output(out)
raise SpackCommandError(
- "Command exited with code %d: %s(%s)" % (
- self.returncode, self.command_name,
- ', '.join("'%s'" % a for a in argv)))
+ "Command exited with code %d: %s(%s)"
+ % (self.returncode, self.command_name, ", ".join("'%s'" % a for a in argv))
+ )
return out.getvalue()
def _log_command_output(self, out):
if tty.is_verbose():
- fmt = self.command_name + ': {0}'
- for ln in out.getvalue().split('\n'):
+ fmt = self.command_name + ": {0}"
+ for ln in out.getvalue().split("\n"):
if len(ln) > 0:
- tty.verbose(fmt.format(ln.replace('==> ', '')))
+ tty.verbose(fmt.format(ln.replace("==> ", "")))
def _profile_wrapper(command, parser, args, unknown_args):
@@ -625,14 +699,14 @@ def _profile_wrapper(command, parser, args, unknown_args):
try:
nlines = int(args.lines)
except ValueError:
- if args.lines != 'all':
- tty.die('Invalid number for --lines: %s' % args.lines)
+ if args.lines != "all":
+ tty.die("Invalid number for --lines: %s" % args.lines)
nlines = -1
# allow comma-separated list of fields
- sortby = ['time']
+ sortby = ["time"]
if args.sorted_profile:
- sortby = args.sorted_profile.split(',')
+ sortby = args.sorted_profile.split(",")
for stat in sortby:
if stat not in stat_names:
tty.die("Invalid sort field: %s" % stat)
@@ -658,7 +732,7 @@ def _compatible_sys_types():
with the current host.
"""
host_platform = spack.platforms.host()
- host_os = str(host_platform.operating_system('default_os'))
+ host_os = str(host_platform.operating_system("default_os"))
host_target = archspec.cpu.host()
compatible_targets = [host_target] + host_target.ancestors
@@ -679,35 +753,30 @@ def print_setup_info(*info):
This is in ``main.py`` to make it fast; the setup scripts need to
invoke spack in login scripts, and it needs to be quick.
"""
- shell = 'csh' if 'csh' in info else 'sh'
+ shell = "csh" if "csh" in info else "sh"
def shell_set(var, value):
- if shell == 'sh':
+ if shell == "sh":
print("%s='%s'" % (var, value))
- elif shell == 'csh':
+ elif shell == "csh":
print("set %s = '%s'" % (var, value))
else:
- tty.die('shell must be sh or csh')
+ tty.die("shell must be sh or csh")
# print sys type
- shell_set('_sp_sys_type', str(spack.spec.ArchSpec.default_arch()))
- shell_set('_sp_compatible_sys_types', ':'.join(_compatible_sys_types()))
+ shell_set("_sp_sys_type", str(spack.spec.ArchSpec.default_arch()))
+ shell_set("_sp_compatible_sys_types", ":".join(_compatible_sys_types()))
# print roots for all module systems
- module_to_roots = {
- 'tcl': list(),
- 'lmod': list()
- }
+ module_to_roots = {"tcl": list(), "lmod": list()}
for name in module_to_roots.keys():
- path = spack.modules.common.root_path(name, 'default')
+ path = spack.modules.common.root_path(name, "default")
module_to_roots[name].append(path)
- other_spack_instances = spack.config.get(
- 'upstreams') or {}
+ other_spack_instances = spack.config.get("upstreams") or {}
for install_properties in other_spack_instances.values():
- upstream_module_roots = install_properties.get('modules', {})
+ upstream_module_roots = install_properties.get("modules", {})
upstream_module_roots = dict(
- (k, v) for k, v in upstream_module_roots.items()
- if k in module_to_roots
+ (k, v) for k, v in upstream_module_roots.items() if k in module_to_roots
)
for module_type, root in upstream_module_roots.items():
module_to_roots[module_type].append(root)
@@ -716,19 +785,19 @@ def print_setup_info(*info):
# Environment setup prepends paths, so the order is reversed here to
# preserve the intended priority: the modules of the local Spack
# instance are the highest-precedence.
- roots_val = ':'.join(reversed(paths))
- shell_set('_sp_%s_roots' % name, roots_val)
+ roots_val = ":".join(reversed(paths))
+ shell_set("_sp_%s_roots" % name, roots_val)
# print environment module system if available. This can be expensive
# on clusters, so skip it if not needed.
- if 'modules' in info:
+ if "modules" in info:
generic_arch = archspec.cpu.host().family
- module_spec = 'environment-modules target={0}'.format(generic_arch)
+ module_spec = "environment-modules target={0}".format(generic_arch)
specs = spack.store.db.query(module_spec)
if specs:
- shell_set('_sp_module_prefix', specs[-1].prefix)
+ shell_set("_sp_module_prefix", specs[-1].prefix)
else:
- shell_set('_sp_module_prefix', 'not_installed')
+ shell_set("_sp_module_prefix", "not_installed")
def _main(argv=None):
@@ -760,7 +829,7 @@ def _main(argv=None):
# avoid loading all the modules from spack.cmd when we don't need
# them, which reduces startup latency.
parser = make_argument_parser()
- parser.add_argument('command', nargs=argparse.REMAINDER)
+ parser.add_argument("command", nargs=argparse.REMAINDER)
args, unknown = parser.parse_known_args(argv)
# Recover stored LD_LIBRARY_PATH variables from spack shell function
@@ -769,11 +838,9 @@ def _main(argv=None):
# Spack clears these variables before building and installing packages,
# but needs to know the prior state for commands like `spack load` and
# `spack env activate that modify the user environment.
- recovered_vars = (
- 'LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH'
- )
+ recovered_vars = ("LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH", "DYLD_FALLBACK_LIBRARY_PATH")
for var in recovered_vars:
- stored_var_name = 'SPACK_%s' % var
+ stored_var_name = "SPACK_%s" % var
if stored_var_name in os.environ:
os.environ[var] = os.environ[stored_var_name]
@@ -823,7 +890,7 @@ def _main(argv=None):
# Things that require configuration should go below here
# ------------------------------------------------------------------------
if args.print_shell_vars:
- print_setup_info(*args.print_shell_vars.split(','))
+ print_setup_info(*args.print_shell_vars.split(","))
return 0
# At this point we've considered all the options to spack itself, so we
@@ -842,6 +909,7 @@ def _main(argv=None):
bootstrap_context = llnl.util.lang.nullcontext()
if args.bootstrap:
import spack.bootstrap as bootstrap # avoid circular imports
+
bootstrap_context = bootstrap.ensure_bootstrap_configuration()
with bootstrap_context:
@@ -869,8 +937,8 @@ def finish_parse_and_run(parser, cmd_name, env_format_error):
_profile_wrapper(command, parser, args, unknown)
elif args.pdb:
import pdb
- pdb.runctx('_invoke_command(command, parser, args, unknown)',
- globals(), locals())
+
+ pdb.runctx("_invoke_command(command, parser, args, unknown)", globals(), locals())
return 0
else:
return _invoke_command(command, parser, args, unknown)
@@ -897,9 +965,9 @@ def main(argv=None):
e.die() # gracefully die on any SpackErrors
except KeyboardInterrupt:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
raise
- sys.stderr.write('\n')
+ sys.stderr.write("\n")
tty.error("Keyboard interrupt.")
if sys.version_info >= (3, 5):
return signal.SIGINT.value
@@ -907,12 +975,12 @@ def main(argv=None):
return signal.SIGINT
except SystemExit as e:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
traceback.print_exc()
return e.code
except Exception as e:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
raise
tty.error(e)
return 3
diff --git a/lib/spack/spack/mirror.py b/lib/spack/spack/mirror.py
index 6a8f15e58f..1957ef223d 100644
--- a/lib/spack/spack/mirror.py
+++ b/lib/spack/spack/mirror.py
@@ -59,15 +59,13 @@ class Mirror(object):
to them. These two URLs are usually the same.
"""
- def __init__(self, fetch_url, push_url=None,
- name=None):
+ def __init__(self, fetch_url, push_url=None, name=None):
self._fetch_url = fetch_url
self._push_url = push_url
self._name = name
def __eq__(self, other):
- return (self._fetch_url == other._fetch_url and
- self._push_url == other._push_url)
+ return self._fetch_url == other._fetch_url and self._push_url == other._push_url
def to_json(self, stream=None):
return sjson.dump(self.to_dict(), stream)
@@ -99,55 +97,52 @@ class Mirror(object):
def to_dict(self):
if self._push_url is None:
- return syaml_dict([
- ('fetch', self._fetch_url),
- ('push', self._fetch_url)])
+ return syaml_dict([("fetch", self._fetch_url), ("push", self._fetch_url)])
else:
- return syaml_dict([
- ('fetch', self._fetch_url),
- ('push', self._push_url)])
+ return syaml_dict([("fetch", self._fetch_url), ("push", self._push_url)])
@staticmethod
def from_dict(d, name=None):
if isinstance(d, six.string_types):
return Mirror(d, name=name)
else:
- return Mirror(d['fetch'], d['push'], name=name)
+ return Mirror(d["fetch"], d["push"], name=name)
def display(self, max_len=0):
if self._push_url is None:
_display_mirror_entry(max_len, self._name, self.fetch_url)
else:
- _display_mirror_entry(
- max_len, self._name, self.fetch_url, "fetch")
- _display_mirror_entry(
- max_len, self._name, self.push_url, "push")
+ _display_mirror_entry(max_len, self._name, self.fetch_url, "fetch")
+ _display_mirror_entry(max_len, self._name, self.push_url, "push")
def __str__(self):
name = self._name
if name is None:
- name = ''
+ name = ""
else:
name = ' "%s"' % name
if self._push_url is None:
return "[Mirror%s (%s)]" % (name, self._fetch_url)
- return "[Mirror%s (fetch: %s, push: %s)]" % (
- name, self._fetch_url, self._push_url)
+ return "[Mirror%s (fetch: %s, push: %s)]" % (name, self._fetch_url, self._push_url)
def __repr__(self):
- return ''.join((
- 'Mirror(',
- ', '.join(
- '%s=%s' % (k, repr(v))
- for k, v in (
- ('fetch_url', self._fetch_url),
- ('push_url', self._push_url),
- ('name', self._name))
- if k == 'fetch_url' or v),
- ')'
- ))
+ return "".join(
+ (
+ "Mirror(",
+ ", ".join(
+ "%s=%s" % (k, repr(v))
+ for k, v in (
+ ("fetch_url", self._fetch_url),
+ ("push_url", self._push_url),
+ ("name", self._name),
+ )
+ if k == "fetch_url" or v
+ ),
+ ")",
+ )
+ )
@property
def name(self):
@@ -156,8 +151,8 @@ class Mirror(object):
def get_profile(self, url_type):
if isinstance(self._fetch_url, dict):
if url_type == "push":
- return self._push_url.get('profile', None)
- return self._fetch_url.get('profile', None)
+ return self._push_url.get("profile", None)
+ return self._fetch_url.get("profile", None)
else:
return None
@@ -170,8 +165,8 @@ class Mirror(object):
def get_access_pair(self, url_type):
if isinstance(self._fetch_url, dict):
if url_type == "push":
- return self._push_url.get('access_pair', None)
- return self._fetch_url.get('access_pair', None)
+ return self._push_url.get("access_pair", None)
+ return self._fetch_url.get("access_pair", None)
else:
return None
@@ -184,8 +179,8 @@ class Mirror(object):
def get_endpoint_url(self, url_type):
if isinstance(self._fetch_url, dict):
if url_type == "push":
- return self._push_url.get('endpoint_url', None)
- return self._fetch_url.get('endpoint_url', None)
+ return self._push_url.get("endpoint_url", None)
+ return self._fetch_url.get("endpoint_url", None)
else:
return None
@@ -198,8 +193,8 @@ class Mirror(object):
def get_access_token(self, url_type):
if isinstance(self._fetch_url, dict):
if url_type == "push":
- return self._push_url.get('access_token', None)
- return self._fetch_url.get('access_token', None)
+ return self._push_url.get("access_token", None)
+ return self._fetch_url.get("access_token", None)
else:
return None
@@ -211,8 +206,7 @@ class Mirror(object):
@property
def fetch_url(self):
- return self._fetch_url if _is_string(self._fetch_url) \
- else self._fetch_url["url"]
+ return self._fetch_url if _is_string(self._fetch_url) else self._fetch_url["url"]
@fetch_url.setter
def fetch_url(self, url):
@@ -222,10 +216,8 @@ class Mirror(object):
@property
def push_url(self):
if self._push_url is None:
- return self._fetch_url if _is_string(self._fetch_url) \
- else self._fetch_url["url"]
- return self._push_url if _is_string(self._push_url) \
- else self._push_url["url"]
+ return self._fetch_url if _is_string(self._fetch_url) else self._fetch_url["url"]
+ return self._push_url if _is_string(self._push_url) else self._push_url["url"]
@push_url.setter
def push_url(self, url):
@@ -244,8 +236,11 @@ class MirrorCollection(Mapping):
self._mirrors = collections.OrderedDict(
(name, Mirror.from_dict(mirror, name))
for name, mirror in (
- mirrors.items() if mirrors is not None else
- spack.config.get('mirrors', scope=scope).items()))
+ mirrors.items()
+ if mirrors is not None
+ else spack.config.get("mirrors", scope=scope).items()
+ )
+ )
def __eq__(self, other):
return self._mirrors == other._mirrors
@@ -280,12 +275,12 @@ class MirrorCollection(Mapping):
)
def to_dict(self, recursive=False):
- return syaml_dict(sorted(
- (
- (k, (v.to_dict() if recursive else v))
- for (k, v) in self._mirrors.items()
- ), key=operator.itemgetter(0)
- ))
+ return syaml_dict(
+ sorted(
+ ((k, (v.to_dict() if recursive else v)) for (k, v) in self._mirrors.items()),
+ key=operator.itemgetter(0),
+ )
+ )
@staticmethod
def from_dict(d):
@@ -329,7 +324,7 @@ def _determine_extension(fetcher):
if ext:
# Remove any leading dots
- ext = ext.lstrip('.')
+ ext = ext.lstrip(".")
else:
msg = """\
Unable to parse extension from {0}.
@@ -351,7 +346,7 @@ Spack not to expand it with the following syntax:
ext = None
else:
# Otherwise we'll make a .tar.gz ourselves
- ext = 'tar.gz'
+ ext = "tar.gz"
return ext
@@ -369,6 +364,7 @@ class MirrorReference(object):
this includes names generated by previous naming schemes that are no-longer
reported by ``storage_path`` or ``cosmetic_path``.
"""
+
def __init__(self, cosmetic_path, global_path=None):
self.global_path = global_path
self.cosmetic_path = cosmetic_path
@@ -393,7 +389,7 @@ def mirror_archive_paths(fetcher, per_package_ref, spec=None):
if spec:
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
versions = pkg_cls.versions.get(spec.version, {})
- ext = versions.get('extension', None)
+ ext = versions.get("extension", None)
# If the spec does not explicitly specify an extension (the default case),
# then try to determine it automatically. An extension can only be
# specified for the primary source of the package (e.g. the source code
@@ -406,7 +402,7 @@ def mirror_archive_paths(fetcher, per_package_ref, spec=None):
global_ref = fetcher.mirror_id()
if global_ref:
- global_ref = os.path.join('_source-cache', global_ref)
+ global_ref = os.path.join("_source-cache", global_ref)
if global_ref and ext:
global_ref += ".%s" % ext
@@ -511,24 +507,21 @@ def create(path, specs, skip_unstable_versions=False):
parsed = url_util.parse(path)
mirror_root = url_util.local_file_path(parsed)
if not mirror_root:
- raise spack.error.SpackError(
- 'MirrorCaches only work with file:// URLs')
+ raise spack.error.SpackError("MirrorCaches only work with file:// URLs")
# automatically spec-ify anything in the specs array.
- specs = [
- s if isinstance(s, spack.spec.Spec) else spack.spec.Spec(s)
- for s in specs]
+ specs = [s if isinstance(s, spack.spec.Spec) else spack.spec.Spec(s) for s in specs]
# Get the absolute path of the root before we start jumping around.
if not os.path.isdir(mirror_root):
try:
mkdirp(mirror_root)
except OSError as e:
- raise MirrorError(
- "Cannot create directory '%s':" % mirror_root, str(e))
+ raise MirrorError("Cannot create directory '%s':" % mirror_root, str(e))
mirror_cache = spack.caches.MirrorCache(
- mirror_root, skip_unstable_versions=skip_unstable_versions)
+ mirror_root, skip_unstable_versions=skip_unstable_versions
+ )
mirror_stats = MirrorStats()
# Iterate through packages and download all safe tarballs for each
@@ -541,7 +534,7 @@ def create(path, specs, skip_unstable_versions=False):
def add(name, url, scope, args={}):
"""Add a named mirror in the given scope"""
- mirrors = spack.config.get('mirrors', scope=scope)
+ mirrors = spack.config.get("mirrors", scope=scope)
if not mirrors:
mirrors = syaml_dict()
@@ -553,21 +546,23 @@ def add(name, url, scope, args={}):
key_values = ["s3_access_key_id", "s3_access_token", "s3_profile"]
# On creation, assume connection data is set for both
if any(value for value in key_values if value in args):
- url_dict = {"url": url,
- "access_pair": (args.s3_access_key_id, args.s3_access_key_secret),
- "access_token": args.s3_access_token,
- "profile": args.s3_profile,
- "endpoint_url": args.s3_endpoint_url}
+ url_dict = {
+ "url": url,
+ "access_pair": (args.s3_access_key_id, args.s3_access_key_secret),
+ "access_token": args.s3_access_token,
+ "profile": args.s3_profile,
+ "endpoint_url": args.s3_endpoint_url,
+ }
mirror_data = {"fetch": url_dict, "push": url_dict}
items.insert(0, (name, mirror_data))
mirrors = syaml_dict(items)
- spack.config.set('mirrors', mirrors, scope=scope)
+ spack.config.set("mirrors", mirrors, scope=scope)
def remove(name, scope):
"""Remove the named mirror in the given scope"""
- mirrors = spack.config.get('mirrors', scope=scope)
+ mirrors = spack.config.get("mirrors", scope=scope)
if not mirrors:
mirrors = syaml_dict()
@@ -575,15 +570,15 @@ def remove(name, scope):
tty.die("No mirror with name %s" % name)
old_value = mirrors.pop(name)
- spack.config.set('mirrors', mirrors, scope=scope)
+ spack.config.set("mirrors", mirrors, scope=scope)
debug_msg_url = "url %s"
debug_msg = ["Removed mirror %s with"]
values = [name]
try:
- fetch_value = old_value['fetch']
- push_value = old_value['push']
+ fetch_value = old_value["fetch"]
+ push_value = old_value["push"]
debug_msg.extend(("fetch", debug_msg_url, "and push", debug_msg_url))
values.extend((fetch_value, push_value))
@@ -641,9 +636,7 @@ def _add_single_spec(spec, mirror, mirror_stats):
if not spec.concrete:
spec = spec.concretized()
- tty.msg("Adding package {pkg} to mirror".format(
- pkg=spec.format("{name}{@version}")
- ))
+ tty.msg("Adding package {pkg} to mirror".format(pkg=spec.format("{name}{@version}")))
num_retries = 3
while num_retries > 0:
try:
@@ -661,12 +654,13 @@ def _add_single_spec(spec, mirror, mirror_stats):
num_retries -= 1
if exception:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
traceback.print_exception(file=sys.stderr, *exc_tuple)
else:
tty.warn(
- "Error while fetching %s" % spec.cformat('{name}{@version}'),
- getattr(exception, 'message', exception))
+ "Error while fetching %s" % spec.cformat("{name}{@version}"),
+ getattr(exception, "message", exception),
+ )
mirror_stats.error()
@@ -674,10 +668,10 @@ def push_url_from_directory(output_directory):
"""Given a directory in the local filesystem, return the URL on
which to push binary packages.
"""
- scheme = url_util.parse(output_directory, scheme='<missing>').scheme
- if scheme != '<missing>':
- raise ValueError('expected a local path, but got a URL instead')
- mirror_url = 'file://' + output_directory
+ scheme = url_util.parse(output_directory, scheme="<missing>").scheme
+ if scheme != "<missing>":
+ raise ValueError("expected a local path, but got a URL instead")
+ mirror_url = "file://" + output_directory
mirror = spack.mirror.MirrorCollection().lookup(mirror_url)
return url_util.format(mirror.push_url)
@@ -692,8 +686,8 @@ def push_url_from_mirror_name(mirror_name):
def push_url_from_mirror_url(mirror_url):
"""Given a mirror URL, return the URL on which to push binary packages."""
- scheme = url_util.parse(mirror_url, scheme='<missing>').scheme
- if scheme == '<missing>':
+ scheme = url_util.parse(mirror_url, scheme="<missing>").scheme
+ if scheme == "<missing>":
raise ValueError('"{0}" is not a valid URL'.format(mirror_url))
mirror = spack.mirror.MirrorCollection().lookup(mirror_url)
return url_util.format(mirror.push_url)
diff --git a/lib/spack/spack/mixins.py b/lib/spack/spack/mixins.py
index b247c28d30..ace3681e52 100644
--- a/lib/spack/spack/mixins.py
+++ b/lib/spack/spack/mixins.py
@@ -19,8 +19,8 @@ else:
import llnl.util.filesystem
__all__ = [
- 'filter_compiler_wrappers',
- 'PackageMixinsMeta',
+ "filter_compiler_wrappers",
+ "PackageMixinsMeta",
]
@@ -67,16 +67,12 @@ class PackageMixinsMeta(type):
attr_dict.update(PackageMixinsMeta._methods_to_be_added)
PackageMixinsMeta._methods_to_be_added.clear()
- attr_fmt = '_InstallPhase_{0}'
+ attr_fmt = "_InstallPhase_{0}"
# Copy the phases that needs it to the most derived classes
# in order not to interfere with other packages in the hierarchy
- phases_to_be_copied = list(
- PackageMixinsMeta._add_method_before.keys()
- )
- phases_to_be_copied += list(
- PackageMixinsMeta._add_method_after.keys()
- )
+ phases_to_be_copied = list(PackageMixinsMeta._add_method_before.keys())
+ phases_to_be_copied += list(PackageMixinsMeta._add_method_after.keys())
for phase in phases_to_be_copied:
@@ -158,24 +154,20 @@ def filter_compiler_wrappers(*files, **kwargs):
``find`` (see its documentation for more information on the
behavior)
"""
- after = kwargs.get('after', 'install')
- relative_root = kwargs.get('relative_root', None)
+ after = kwargs.get("after", "install")
+ relative_root = kwargs.get("relative_root", None)
filter_kwargs = {
- 'ignore_absent': kwargs.get('ignore_absent', True),
- 'backup': kwargs.get('backup', False),
- 'string': True
+ "ignore_absent": kwargs.get("ignore_absent", True),
+ "backup": kwargs.get("backup", False),
+ "string": True,
}
- find_kwargs = {
- 'recursive': kwargs.get('recursive', False)
- }
+ find_kwargs = {"recursive": kwargs.get("recursive", False)}
def _filter_compiler_wrappers_impl(self):
# Compute the absolute path of the search root
- root = os.path.join(
- self.prefix, relative_root
- ) if relative_root else self.prefix
+ root = os.path.join(self.prefix, relative_root) if relative_root else self.prefix
# Compute the absolute path of the files to be filtered and
# remove links from the list.
@@ -185,10 +177,10 @@ def filter_compiler_wrappers(*files, **kwargs):
x = llnl.util.filesystem.FileFilter(*abs_files)
compiler_vars = [
- ('CC', self.compiler.cc),
- ('CXX', self.compiler.cxx),
- ('F77', self.compiler.f77),
- ('FC', self.compiler.fc)
+ ("CC", self.compiler.cc),
+ ("CXX", self.compiler.cxx),
+ ("F77", self.compiler.f77),
+ ("FC", self.compiler.fc),
]
# Some paths to the compiler wrappers might be substrings of the others.
@@ -213,19 +205,15 @@ def filter_compiler_wrappers(*files, **kwargs):
for wrapper_path in (wrapper, os.path.realpath(wrapper)):
replacements.append((wrapper_path, -idx, compiler_path))
- for wrapper_path, _, compiler_path in sorted(replacements,
- reverse=True):
+ for wrapper_path, _, compiler_path in sorted(replacements, reverse=True):
x.filter(wrapper_path, compiler_path, **filter_kwargs)
# Remove this linking flag if present (it turns RPATH into RUNPATH)
- x.filter('{0}--enable-new-dtags'.format(self.compiler.linker_arg), '',
- **filter_kwargs)
+ x.filter("{0}--enable-new-dtags".format(self.compiler.linker_arg), "", **filter_kwargs)
# NAG compiler is usually mixed with GCC, which has a different
# prefix for linker arguments.
- if self.compiler.name == 'nag':
- x.filter('-Wl,--enable-new-dtags', '', **filter_kwargs)
+ if self.compiler.name == "nag":
+ x.filter("-Wl,--enable-new-dtags", "", **filter_kwargs)
- PackageMixinsMeta.register_method_after(
- _filter_compiler_wrappers_impl, after
- )
+ PackageMixinsMeta.register_method_after(_filter_compiler_wrappers_impl, after)
diff --git a/lib/spack/spack/modules/__init__.py b/lib/spack/spack/modules/__init__.py
index 76f63827d5..0d541f46e2 100644
--- a/lib/spack/spack/modules/__init__.py
+++ b/lib/spack/spack/modules/__init__.py
@@ -13,13 +13,6 @@ from .common import disable_modules
from .lmod import LmodModulefileWriter
from .tcl import TclModulefileWriter
-__all__ = [
- 'TclModulefileWriter',
- 'LmodModulefileWriter',
- 'disable_modules'
-]
+__all__ = ["TclModulefileWriter", "LmodModulefileWriter", "disable_modules"]
-module_types = {
- 'tcl': TclModulefileWriter,
- 'lmod': LmodModulefileWriter
-}
+module_types = {"tcl": TclModulefileWriter, "lmod": LmodModulefileWriter}
diff --git a/lib/spack/spack/modules/common.py b/lib/spack/spack/modules/common.py
index 4969c34167..b9f2dce099 100644
--- a/lib/spack/spack/modules/common.py
+++ b/lib/spack/spack/modules/common.py
@@ -84,22 +84,22 @@ def get_deprecated(dictionary, name, old_name, default):
#: config section for this file
def configuration(module_set_name):
- config_path = 'modules:%s' % module_set_name
+ config_path = "modules:%s" % module_set_name
return spack.config.get(config_path, {})
#: Valid tokens for naming scheme and env variable names
_valid_tokens = (
- 'name',
- 'version',
- 'compiler',
- 'compiler.name',
- 'compiler.version',
- 'architecture',
+ "name",
+ "version",
+ "compiler",
+ "compiler.name",
+ "compiler.version",
+ "architecture",
# tokens from old-style format strings
- 'package',
- 'compilername',
- 'compilerver',
+ "package",
+ "compilername",
+ "compilerver",
)
@@ -115,12 +115,11 @@ def _check_tokens_are_valid(format_string, message):
tokens are found
"""
- named_tokens = re.findall(r'{(\w*)}', format_string)
- invalid_tokens = [x for x in named_tokens
- if x.lower() not in _valid_tokens]
+ named_tokens = re.findall(r"{(\w*)}", format_string)
+ invalid_tokens = [x for x in named_tokens if x.lower() not in _valid_tokens]
if invalid_tokens:
msg = message
- msg += ' [{0}]. '.format(', '.join(invalid_tokens))
+ msg += " [{0}]. ".format(", ".join(invalid_tokens))
msg += 'Did you check your "modules.yaml" configuration?'
raise RuntimeError(msg)
@@ -142,7 +141,7 @@ def update_dictionary_extending_lists(target, update):
target[key] = update[key]
-def dependencies(spec, request='all'):
+def dependencies(spec, request="all"):
"""Returns the list of dependent specs for a given spec, according to the
request passed as parameter.
@@ -157,16 +156,16 @@ def dependencies(spec, request='all'):
the direct dependencies if request is 'direct', or the entire DAG
if request is 'all'.
"""
- if request not in ('none', 'direct', 'all'):
+ if request not in ("none", "direct", "all"):
message = "Wrong value for argument 'request' : "
message += "should be one of ('none', 'direct', 'all')"
raise tty.error(message + " [current value is '%s']" % request)
- if request == 'none':
+ if request == "none":
return []
- if request == 'direct':
- return spec.dependencies(deptype=('link', 'run'))
+ if request == "direct":
+ return spec.dependencies(deptype=("link", "run"))
# FIXME : during module file creation nodes seem to be visited multiple
# FIXME : times even if cover='nodes' is given. This work around permits
@@ -175,11 +174,9 @@ def dependencies(spec, request='all'):
seen = set()
seen_add = seen.add
deps = sorted(
- spec.traverse(order='post',
- cover='nodes',
- deptype=('link', 'run'),
- root=False),
- reverse=True)
+ spec.traverse(order="post", cover="nodes", deptype=("link", "run"), root=False),
+ reverse=True,
+ )
return [d for d in deps if not (d in seen or seen_add(d))]
@@ -205,37 +202,36 @@ def merge_config_rules(configuration, spec):
# The keyword 'all' is always evaluated first, all the others are
# evaluated in order of appearance in the module file
- spec_configuration = module_specific_configuration.pop('all', {})
+ spec_configuration = module_specific_configuration.pop("all", {})
for constraint, action in module_specific_configuration.items():
if spec.satisfies(constraint, strict=True):
- if hasattr(constraint, 'override') and constraint.override:
+ if hasattr(constraint, "override") and constraint.override:
spec_configuration = {}
update_dictionary_extending_lists(spec_configuration, action)
# Transform keywords for dependencies or prerequisites into a list of spec
# Which modulefiles we want to autoload
- autoload_strategy = spec_configuration.get('autoload', 'direct')
- spec_configuration['autoload'] = dependencies(spec, autoload_strategy)
+ autoload_strategy = spec_configuration.get("autoload", "direct")
+ spec_configuration["autoload"] = dependencies(spec, autoload_strategy)
# Which instead we want to mark as prerequisites
- prerequisite_strategy = spec_configuration.get('prerequisites', 'none')
- spec_configuration['prerequisites'] = dependencies(
- spec, prerequisite_strategy)
+ prerequisite_strategy = spec_configuration.get("prerequisites", "none")
+ spec_configuration["prerequisites"] = dependencies(spec, prerequisite_strategy)
# Attach options that are spec-independent to the spec-specific
# configuration
# Hash length in module files
- hash_length = module_specific_configuration.get('hash_length', 7)
- spec_configuration['hash_length'] = hash_length
+ hash_length = module_specific_configuration.get("hash_length", 7)
+ spec_configuration["hash_length"] = hash_length
- verbose = module_specific_configuration.get('verbose', False)
- spec_configuration['verbose'] = verbose
+ verbose = module_specific_configuration.get("verbose", False)
+ spec_configuration["verbose"] = verbose
# module defaults per-package
- defaults = module_specific_configuration.get('defaults', [])
- spec_configuration['defaults'] = defaults
+ defaults = module_specific_configuration.get("defaults", [])
+ spec_configuration["defaults"] = defaults
return spec_configuration
@@ -251,11 +247,11 @@ def root_path(name, module_set_name):
root folder for module file installation
"""
defaults = {
- 'lmod': '$spack/share/spack/lmod',
- 'tcl': '$spack/share/spack/modules',
+ "lmod": "$spack/share/spack/lmod",
+ "tcl": "$spack/share/spack/modules",
}
# Root folders where the various module files should be written
- roots = spack.config.get('modules:%s:roots' % module_set_name, {})
+ roots = spack.config.get("modules:%s:roots" % module_set_name, {})
# Merge config values into the defaults so we prefer configured values
roots = spack.config.merge_yaml(defaults, roots)
@@ -265,23 +261,20 @@ def root_path(name, module_set_name):
def generate_module_index(root, modules, overwrite=False):
- index_path = os.path.join(root, 'module-index.yaml')
+ index_path = os.path.join(root, "module-index.yaml")
if overwrite or not os.path.exists(index_path):
entries = syaml.syaml_dict()
else:
with open(index_path) as index_file:
yaml_content = syaml.load(index_file)
- entries = yaml_content['module_index']
+ entries = yaml_content["module_index"]
for m in modules:
- entry = {
- 'path': m.layout.filename,
- 'use_name': m.layout.use_name
- }
+ entry = {"path": m.layout.filename, "use_name": m.layout.use_name}
entries[m.spec.dag_hash()] = entry
- index = {'module_index': entries}
+ index = {"module_index": entries}
llnl.util.filesystem.mkdirp(root)
- with open(index_path, 'w') as index_file:
+ with open(index_path, "w") as index_file:
syaml.dump(index, default_flow_style=False, stream=index_file)
@@ -291,45 +284,42 @@ def _generate_upstream_module_index():
return UpstreamModuleIndex(spack.store.db, module_indices)
-upstream_module_index = llnl.util.lang.Singleton(
- _generate_upstream_module_index)
+upstream_module_index = llnl.util.lang.Singleton(_generate_upstream_module_index)
-ModuleIndexEntry = collections.namedtuple(
- 'ModuleIndexEntry', ['path', 'use_name'])
+ModuleIndexEntry = collections.namedtuple("ModuleIndexEntry", ["path", "use_name"])
def read_module_index(root):
- index_path = os.path.join(root, 'module-index.yaml')
+ index_path = os.path.join(root, "module-index.yaml")
if not os.path.exists(index_path):
return {}
- with open(index_path, 'r') as index_file:
+ with open(index_path, "r") as index_file:
return _read_module_index(index_file)
def _read_module_index(str_or_file):
"""Read in the mapping of spec hash to module location/name. For a given
- Spack installation there is assumed to be (at most) one such mapping
- per module type."""
+ Spack installation there is assumed to be (at most) one such mapping
+ per module type."""
yaml_content = syaml.load(str_or_file)
index = {}
- yaml_index = yaml_content['module_index']
+ yaml_index = yaml_content["module_index"]
for dag_hash, module_properties in yaml_index.items():
index[dag_hash] = ModuleIndexEntry(
- module_properties['path'],
- module_properties['use_name'])
+ module_properties["path"], module_properties["use_name"]
+ )
return index
def read_module_indices():
- other_spack_instances = spack.config.get(
- 'upstreams') or {}
+ other_spack_instances = spack.config.get("upstreams") or {}
module_indices = []
for install_properties in other_spack_instances.values():
module_type_to_index = {}
- module_type_to_root = install_properties.get('modules', {})
+ module_type_to_root = install_properties.get("modules", {})
for module_type, root in module_type_to_root.items():
module_type_to_index[module_type] = read_module_index(root)
module_indices.append(module_type_to_index)
@@ -339,8 +329,9 @@ def read_module_indices():
class UpstreamModuleIndex(object):
"""This is responsible for taking the individual module indices of all
- upstream Spack installations and locating the module for a given spec
- based on which upstream install it is located in."""
+ upstream Spack installations and locating the module for a given spec
+ based on which upstream install it is located in."""
+
def __init__(self, local_db, module_indices):
self.local_db = local_db
self.upstream_dbs = local_db.upstream_dbs
@@ -351,30 +342,25 @@ class UpstreamModuleIndex(object):
if db_for_spec in self.upstream_dbs:
db_index = self.upstream_dbs.index(db_for_spec)
elif db_for_spec:
- raise spack.error.SpackError(
- "Unexpected: {0} is installed locally".format(spec))
+ raise spack.error.SpackError("Unexpected: {0} is installed locally".format(spec))
else:
- raise spack.error.SpackError(
- "Unexpected: no install DB found for {0}".format(spec))
+ raise spack.error.SpackError("Unexpected: no install DB found for {0}".format(spec))
module_index = self.module_indices[db_index]
module_type_index = module_index.get(module_type, {})
if not module_type_index:
tty.debug(
"No {0} modules associated with the Spack instance where"
- " {1} is installed".format(module_type, spec))
+ " {1} is installed".format(module_type, spec)
+ )
return None
if spec.dag_hash() in module_type_index:
return module_type_index[spec.dag_hash()]
else:
- tty.debug(
- "No module is available for upstream package {0}".format(spec))
+ tty.debug("No module is available for upstream package {0}".format(spec))
return None
-def get_module(
- module_type, spec, get_full_path,
- module_set_name='default', required=True
-):
+def get_module(module_type, spec, get_full_path, module_set_name="default", required=True):
"""Retrieve the module file for a given spec and module type.
Retrieve the module file for the given spec if it is available. If the
@@ -402,8 +388,7 @@ def get_module(
except spack.repo.UnknownPackageError:
upstream, record = spack.store.db.query_by_spec_hash(spec.dag_hash())
if upstream:
- module = (spack.modules.common.upstream_module_index
- .upstream_module(spec, module_type))
+ module = spack.modules.common.upstream_module_index.upstream_module(spec, module_type)
if not module:
return None
@@ -420,8 +405,7 @@ def get_module(
)
raise ModuleNotFoundError(err_msg)
elif required:
- tty.debug("The module configuration has excluded {0}: "
- "omitting it".format(spec))
+ tty.debug("The module configuration has excluded {0}: " "omitting it".format(spec))
else:
return None
@@ -436,8 +420,7 @@ class BaseConfiguration(object):
querying easier. It needs to be sub-classed for specific module types.
"""
- default_projections = {
- 'all': '{name}-{version}-{compiler.name}-{compiler.version}'}
+ default_projections = {"all": "{name}-{version}-{compiler.name}-{compiler.version}"}
def __init__(self, spec, module_set_name):
# Module where type(self) is defined
@@ -447,23 +430,22 @@ class BaseConfiguration(object):
self.name = module_set_name
# Dictionary of configuration options that should be applied
# to the spec
- self.conf = merge_config_rules(
- self.module.configuration(self.name), self.spec)
+ self.conf = merge_config_rules(self.module.configuration(self.name), self.spec)
@property
def projections(self):
"""Projection from specs to module names"""
# backwards compatiblity for naming_scheme key
conf = self.module.configuration(self.name)
- if 'naming_scheme' in conf:
- default = {'all': conf['naming_scheme']}
+ if "naming_scheme" in conf:
+ default = {"all": conf["naming_scheme"]}
else:
default = self.default_projections
- projections = conf.get('projections', default)
+ projections = conf.get("projections", default)
# Ensure the named tokens we are expanding are allowed, see
# issue #2884 for reference
- msg = 'some tokens cannot be part of the module naming scheme'
+ msg = "some tokens cannot be part of the module naming scheme"
for projection in projections.values():
_check_tokens_are_valid(projection, message=msg)
@@ -474,19 +456,19 @@ class BaseConfiguration(object):
"""Returns the name of the template to use for the module file
or None if not specified in the configuration.
"""
- return self.conf.get('template', None)
+ return self.conf.get("template", None)
@property
def defaults(self):
"""Returns the specs configured as defaults or []."""
- return self.conf.get('defaults', [])
+ return self.conf.get("defaults", [])
@property
def env(self):
"""List of environment modifications that should be done in the
module.
"""
- return spack.schema.environment.parse(self.conf.get('environment', {}))
+ return spack.schema.environment.parse(self.conf.get("environment", {}))
@property
def suffixes(self):
@@ -494,7 +476,7 @@ class BaseConfiguration(object):
file name.
"""
suffixes = []
- for constraint, suffix in self.conf.get('suffixes', {}).items():
+ for constraint, suffix in self.conf.get("suffixes", {}).items():
if constraint in self.spec:
suffixes.append(suffix)
suffixes = list(dedupe(suffixes))
@@ -505,7 +487,7 @@ class BaseConfiguration(object):
@property
def hash(self):
"""Hash tag for the module or None"""
- hash_length = self.conf.get('hash_length', 7)
+ hash_length = self.conf.get("hash_length", 7)
if hash_length != 0:
return self.spec.dag_hash(length=hash_length)
return None
@@ -530,24 +512,22 @@ class BaseConfiguration(object):
# Should I exclude the module because it's implicit?
# DEPRECATED: remove 'blacklist_implicits' in v0.20
- exclude_implicits = get_deprecated(
- conf, "exclude_implicits", "blacklist_implicits", None
- )
+ exclude_implicits = get_deprecated(conf, "exclude_implicits", "blacklist_implicits", None)
installed_implicitly = not spec._installed_explicitly()
excluded_as_implicit = exclude_implicits and installed_implicitly
def debug_info(line_header, match_list):
if match_list:
- msg = '\t{0} : {1}'.format(line_header, spec.cshort_spec)
+ msg = "\t{0} : {1}".format(line_header, spec.cshort_spec)
tty.debug(msg)
for rule in match_list:
- tty.debug('\t\tmatches rule: {0}'.format(rule))
+ tty.debug("\t\tmatches rule: {0}".format(rule))
- debug_info('INCLUDE', include_matches)
- debug_info('EXCLUDE', exclude_matches)
+ debug_info("INCLUDE", include_matches)
+ debug_info("EXCLUDE", exclude_matches)
if excluded_as_implicit:
- msg = '\tEXCLUDED_AS_IMPLICIT : {0}'.format(spec.cshort_spec)
+ msg = "\tEXCLUDED_AS_IMPLICIT : {0}".format(spec.cshort_spec)
tty.debug(msg)
is_excluded = exclude_matches or excluded_as_implicit
@@ -558,32 +538,30 @@ class BaseConfiguration(object):
@property
def context(self):
- return self.conf.get('context', {})
+ return self.conf.get("context", {})
@property
def specs_to_load(self):
"""List of specs that should be loaded in the module file."""
- return self._create_list_for('autoload')
+ return self._create_list_for("autoload")
@property
def literals_to_load(self):
"""List of literal modules to be loaded."""
- return self.conf.get('load', [])
+ return self.conf.get("load", [])
@property
def specs_to_prereq(self):
"""List of specs that should be prerequisite of the module file."""
- return self._create_list_for('prerequisites')
+ return self._create_list_for("prerequisites")
@property
def exclude_env_vars(self):
"""List of variables that should be left unmodified."""
- filter = self.conf.get('filter', {})
+ filter = self.conf.get("filter", {})
# DEPRECATED: remove in v0.20
- return get_deprecated(
- filter, "exclude_env_vars", "environment_blacklist", {}
- )
+ return get_deprecated(filter, "exclude_env_vars", "environment_blacklist", {})
def _create_list_for(self, what):
include = []
@@ -598,7 +576,7 @@ class BaseConfiguration(object):
"""Returns True if the module file needs to be verbose, False
otherwise
"""
- return self.conf.get('verbose')
+ return self.conf.get("verbose")
class BaseFileLayout(object):
@@ -619,7 +597,7 @@ class BaseFileLayout(object):
def dirname(self):
"""Root folder for module files of this type."""
- module_system = str(self.conf.module.__name__).split('.')[-1]
+ module_system = str(self.conf.module.__name__).split(".")[-1]
return root_path(module_system, self.conf.name)
@property
@@ -630,15 +608,15 @@ class BaseFileLayout(object):
"""
projection = proj.get_projection(self.conf.projections, self.spec)
if not projection:
- projection = self.conf.default_projections['all']
+ projection = self.conf.default_projections["all"]
name = self.spec.format(projection)
# Not everybody is working on linux...
- parts = name.split('/')
+ parts = name.split("/")
name = os.path.join(*parts)
# Add optional suffixes based on constraints
path_elements = [name] + self.conf.suffixes
- return '-'.join(path_elements)
+ return "-".join(path_elements)
@property
def filename(self):
@@ -646,10 +624,9 @@ class BaseFileLayout(object):
# Just the name of the file
filename = self.use_name
if self.extension:
- filename = '{0}.{1}'.format(self.use_name, self.extension)
+ filename = "{0}.{1}".format(self.use_name, self.extension)
# Architecture sub-folder
- arch_folder_conf = spack.config.get(
- 'modules:%s:arch_folder' % self.conf.name, True)
+ arch_folder_conf = spack.config.get("modules:%s:arch_folder" % self.conf.name, True)
if arch_folder_conf:
# include an arch specific folder between root and filename
arch_folder = str(self.spec.architecture)
@@ -681,16 +658,16 @@ class BaseContext(tengine.Context):
@tengine.context_property
def category(self):
- return getattr(self.spec, 'category', 'spack')
+ return getattr(self.spec, "category", "spack")
@tengine.context_property
def short_description(self):
# If we have a valid docstring return the first paragraph.
docstring = type(self.spec.package).__doc__
if docstring:
- value = docstring.split('\n\n')[0]
+ value = docstring.split("\n\n")[0]
# Transform tabs and friends into spaces
- value = re.sub(r'\s+', ' ', value)
+ value = re.sub(r"\s+", " ", value)
# Turn double quotes into single quotes (double quotes are needed
# to start and end strings)
value = re.sub(r'"', "'", value)
@@ -702,7 +679,7 @@ class BaseContext(tengine.Context):
def long_description(self):
# long description is the docstring with reduced whitespace.
if self.spec.package.__doc__:
- return re.sub(r'\s+', ' ', self.spec.package.__doc__)
+ return re.sub(r"\s+", " ", self.spec.package.__doc__)
return None
@tengine.context_property
@@ -711,11 +688,11 @@ class BaseContext(tengine.Context):
# If the spec is external Spack doesn't know its configure options
if self.spec.external:
- msg = 'unknown, software installed outside of Spack'
+ msg = "unknown, software installed outside of Spack"
return msg
if os.path.exists(pkg.install_configure_args_path):
- with open(pkg.install_configure_args_path, 'r') as args_file:
+ with open(pkg.install_configure_args_path, "r") as args_file:
return args_file.read()
# Returning a false-like value makes the default templates skip
@@ -727,13 +704,15 @@ class BaseContext(tengine.Context):
"""List of environment modifications to be processed."""
# Modifications guessed by inspecting the spec prefix
prefix_inspections = syaml.syaml_dict()
- spack.config.merge_yaml(prefix_inspections, spack.config.get(
- 'modules:prefix_inspections', {}))
- spack.config.merge_yaml(prefix_inspections, spack.config.get(
- 'modules:%s:prefix_inspections' % self.conf.name, {}))
+ spack.config.merge_yaml(
+ prefix_inspections, spack.config.get("modules:prefix_inspections", {})
+ )
+ spack.config.merge_yaml(
+ prefix_inspections,
+ spack.config.get("modules:%s:prefix_inspections" % self.conf.name, {}),
+ )
- use_view = spack.config.get(
- 'modules:%s:use_view' % self.conf.name, False)
+ use_view = spack.config.get("modules:%s:use_view" % self.conf.name, False)
spec = self.spec.copy() # defensive copy before setting prefix
if use_view:
@@ -751,18 +730,12 @@ class BaseContext(tengine.Context):
spec.prefix = view.get_projection_for_spec(spec)
env = spack.util.environment.inspect_path(
- spec.prefix,
- prefix_inspections,
- exclude=spack.util.environment.is_system_path
+ spec.prefix, prefix_inspections, exclude=spack.util.environment.is_system_path
)
# Let the extendee/dependency modify their extensions/dependencies
# before asking for package-specific modifications
- env.extend(
- spack.build_environment.modifications_from_dependencies(
- spec, context='run'
- )
- )
+ env.extend(spack.build_environment.modifications_from_dependencies(spec, context="run"))
# Package specific modifications
spack.build_environment.set_module_variables_for_package(spec.package)
spec.package.setup_run_environment(env)
@@ -784,7 +757,7 @@ class BaseContext(tengine.Context):
for x in env:
# Ensure all the tokens are valid in this context
- msg = 'some tokens cannot be expanded in an environment variable name'
+ msg = "some tokens cannot be expanded in an environment variable name"
_check_tokens_are_valid(x.name, message=msg)
# Transform them
x.name = spec.format(x.name, transform=transform)
@@ -793,7 +766,7 @@ class BaseContext(tengine.Context):
x.value = spec.format(x.value)
except AttributeError:
pass
- x.name = str(x.name).replace('-', '_')
+ x.name = str(x.name).replace("-", "_")
return [(type(x).__name__, x) for x in env if x.name not in exclude]
@@ -801,7 +774,7 @@ class BaseContext(tengine.Context):
def autoload(self):
"""List of modules that needs to be loaded automatically."""
# From 'autoload' configuration option
- specs = self._create_module_list_of('specs_to_load')
+ specs = self._create_module_list_of("specs_to_load")
# From 'load' configuration option
literals = self.conf.literals_to_load
return specs + literals
@@ -809,8 +782,7 @@ class BaseContext(tengine.Context):
def _create_module_list_of(self, what):
m = self.conf.module
name = self.conf.name
- return [m.make_layout(x, name).use_name
- for x in getattr(self.conf, what)]
+ return [m.make_layout(x, name).use_name for x in getattr(self.conf, what)]
@tengine.context_property
def verbose(self):
@@ -837,8 +809,8 @@ class BaseModuleFileWriter(object):
try:
self.default_template
except AttributeError:
- msg = '\'{0}\' object has no attribute \'default_template\'\n'
- msg += 'Did you forget to define it in the class?'
+ msg = "'{0}' object has no attribute 'default_template'\n"
+ msg += "Did you forget to define it in the class?"
name = type(self).__name__
raise DefaultTemplateNotDefined(msg.format(name))
@@ -848,12 +820,12 @@ class BaseModuleFileWriter(object):
# 1. template specified in "modules.yaml"
# 2. template specified in a package directly
# 3. default template (must be defined, check in __init__)
- module_system_name = str(self.module.__name__).split('.')[-1]
- package_attribute = '{0}_template'.format(module_system_name)
+ module_system_name = str(self.module.__name__).split(".")[-1]
+ package_attribute = "{0}_template".format(module_system_name)
choices = [
self.conf.template,
getattr(self.spec.package, package_attribute, None),
- self.default_template # This is always defined at this point
+ self.default_template, # This is always defined at this point
]
# Filter out false-ish values
choices = list(filter(lambda x: bool(x), choices))
@@ -870,19 +842,19 @@ class BaseModuleFileWriter(object):
"""
# Return immediately if the module is excluded
if self.conf.excluded:
- msg = '\tNOT WRITING: {0} [EXCLUDED]'
+ msg = "\tNOT WRITING: {0} [EXCLUDED]"
tty.debug(msg.format(self.spec.cshort_spec))
return
# Print a warning in case I am accidentally overwriting
# a module file that is already there (name clash)
if not overwrite and os.path.exists(self.layout.filename):
- message = 'Module file {0.filename} exists and will not be overwritten'
+ message = "Module file {0.filename} exists and will not be overwritten"
tty.warn(message.format(self.layout))
return
# If we are here it means it's ok to write the module file
- msg = '\tWRITE: {0} [{1}]'
+ msg = "\tWRITE: {0} [{1}]"
tty.debug(msg.format(self.spec.cshort_spec, self.layout.filename))
# If the directory where the module should reside does not exist
@@ -894,13 +866,14 @@ class BaseModuleFileWriter(object):
# Get the template for the module
template_name = self._get_template()
import jinja2
+
try:
env = tengine.make_environment()
template = env.get_template(template_name)
except jinja2.TemplateNotFound:
# If the template was not found raise an exception with a little
# more information
- msg = 'template \'{0}\' was not found for \'{1}\''
+ msg = "template '{0}' was not found for '{1}'"
name = type(self).__name__
msg = msg.format(template_name, name)
raise ModulesTemplateNotFoundError(msg)
@@ -913,8 +886,8 @@ class BaseModuleFileWriter(object):
context = self.context.to_dict()
# Attribute from package
- module_name = str(self.module.__name__).split('.')[-1]
- attr_name = '{0}_context'.format(module_name)
+ module_name = str(self.module.__name__).split(".")[-1]
+ attr_name = "{0}_context".format(module_name)
pkg_update = getattr(self.spec.package, attr_name, {})
context.update(pkg_update)
@@ -925,7 +898,7 @@ class BaseModuleFileWriter(object):
# Render the template
text = template.render(context)
# Write it to file
- with open(self.layout.filename, 'w') as f:
+ with open(self.layout.filename, "w") as f:
f.write(text)
# Set the file permissions of the module to match that of the package
@@ -940,10 +913,8 @@ class BaseModuleFileWriter(object):
# This spec matches a default, it needs to be symlinked to default
# Symlink to a tmp location first and move, so that existing
# symlinks do not cause an error.
- default_path = os.path.join(os.path.dirname(self.layout.filename),
- 'default')
- default_tmp = os.path.join(os.path.dirname(self.layout.filename),
- '.tmp_spack_default')
+ default_path = os.path.join(os.path.dirname(self.layout.filename), "default")
+ default_tmp = os.path.join(os.path.dirname(self.layout.filename), ".tmp_spack_default")
os.symlink(self.layout.filename, default_tmp)
os.rename(default_tmp, default_path)
@@ -964,14 +935,8 @@ class BaseModuleFileWriter(object):
@contextlib.contextmanager
def disable_modules():
"""Disable the generation of modulefiles within the context manager."""
- data = {
- 'modules:': {
- 'default': {
- 'enable': []
- }
- }
- }
- disable_scope = spack.config.InternalConfigScope('disable_modules', data=data)
+ data = {"modules:": {"default": {"enable": []}}}
+ disable_scope = spack.config.InternalConfigScope("disable_modules", data=data)
with spack.config.override(disable_scope):
yield
diff --git a/lib/spack/spack/modules/lmod.py b/lib/spack/spack/modules/lmod.py
index a64c05e880..54add9563d 100644
--- a/lib/spack/spack/modules/lmod.py
+++ b/lib/spack/spack/modules/lmod.py
@@ -23,11 +23,11 @@ from .common import BaseConfiguration, BaseContext, BaseFileLayout, BaseModuleFi
#: lmod specific part of the configuration
def configuration(module_set_name):
- config_path = 'modules:%s:lmod' % module_set_name
+ config_path = "modules:%s:lmod" % module_set_name
config = spack.config.get(config_path, {})
- if not config and module_set_name == 'default':
+ if not config and module_set_name == "default":
# return old format for backward compatibility
- return spack.config.get('modules:lmod', {})
+ return spack.config.get("modules:lmod", {})
return config
@@ -41,12 +41,11 @@ def make_configuration(spec, module_set_name):
try:
return configuration_registry[key]
except KeyError:
- return configuration_registry.setdefault(
- key, LmodConfiguration(spec, module_set_name))
+ return configuration_registry.setdefault(key, LmodConfiguration(spec, module_set_name))
def make_layout(spec, module_set_name):
- """Returns the layout information for spec """
+ """Returns the layout information for spec"""
conf = make_configuration(spec, module_set_name)
return LmodFileLayout(conf)
@@ -70,15 +69,16 @@ def guess_core_compilers(name, store=False):
core_compilers = []
for compiler_config in spack.compilers.all_compilers_config():
try:
- compiler = compiler_config['compiler']
+ compiler = compiler_config["compiler"]
# A compiler is considered to be a core compiler if any of the
# C, C++ or Fortran compilers reside in a system directory
is_system_compiler = any(
os.path.dirname(x) in spack.util.environment.system_dirs
- for x in compiler['paths'].values() if x is not None
+ for x in compiler["paths"].values()
+ if x is not None
)
if is_system_compiler:
- core_compilers.append(str(compiler['spec']))
+ core_compilers.append(str(compiler["spec"]))
except (KeyError, TypeError, AttributeError):
continue
@@ -87,23 +87,21 @@ def guess_core_compilers(name, store=False):
# in the default modify scope (i.e. within the directory hierarchy
# of Spack itself)
modules_cfg = spack.config.get(
- 'modules:' + name, {}, scope=spack.config.default_modify_scope()
- )
- modules_cfg.setdefault('lmod', {})['core_compilers'] = core_compilers
- spack.config.set(
- 'modules:' + name, modules_cfg,
- scope=spack.config.default_modify_scope()
+ "modules:" + name, {}, scope=spack.config.default_modify_scope()
)
+ modules_cfg.setdefault("lmod", {})["core_compilers"] = core_compilers
+ spack.config.set("modules:" + name, modules_cfg, scope=spack.config.default_modify_scope())
return core_compilers or None
class LmodConfiguration(BaseConfiguration):
"""Configuration class for lmod module files."""
+
# Note: Posixpath is used here as well as below as opposed to
# os.path.join due to spack.spec.Spec.format
# requiring forward slash path seperators at this stage
- default_projections = {'all': posixpath.join('{name}', '{version}')}
+ default_projections = {"all": posixpath.join("{name}", "{version}")}
@property
def core_compilers(self):
@@ -114,9 +112,9 @@ class LmodConfiguration(BaseConfiguration):
specified in the configuration file or the sequence
is empty
"""
- value = configuration(self.name).get(
- 'core_compilers'
- ) or guess_core_compilers(self.name, store=True)
+ value = configuration(self.name).get("core_compilers") or guess_core_compilers(
+ self.name, store=True
+ )
if not value:
msg = 'the key "core_compilers" must be set in modules.yaml'
@@ -126,28 +124,26 @@ class LmodConfiguration(BaseConfiguration):
@property
def core_specs(self):
"""Returns the list of "Core" specs"""
- return configuration(self.name).get('core_specs', [])
+ return configuration(self.name).get("core_specs", [])
@property
def hierarchy_tokens(self):
"""Returns the list of tokens that are part of the modulefile
hierarchy. 'compiler' is always present.
"""
- tokens = configuration(self.name).get('hierarchy', [])
+ tokens = configuration(self.name).get("hierarchy", [])
# Check if all the tokens in the hierarchy are virtual specs.
# If not warn the user and raise an error.
- not_virtual = [t for t in tokens
- if t != 'compiler' and
- not spack.repo.path.is_virtual(t)]
+ not_virtual = [t for t in tokens if t != "compiler" and not spack.repo.path.is_virtual(t)]
if not_virtual:
msg = "Non-virtual specs in 'hierarchy' list for lmod: {0}\n"
msg += "Please check the 'modules.yaml' configuration files"
- msg = msg.format(', '.join(not_virtual))
+ msg = msg.format(", ".join(not_virtual))
raise NonVirtualInHierarchyError(msg)
# Append 'compiler' which is always implied
- tokens.append('compiler')
+ tokens.append("compiler")
# Deduplicate tokens in case duplicates have been coded
tokens = list(lang.dedupe(tokens))
@@ -161,13 +157,12 @@ class LmodConfiguration(BaseConfiguration):
requirements.
"""
# If it's a core_spec, lie and say it requires a core compiler
- if any(self.spec.satisfies(core_spec)
- for core_spec in self.core_specs):
- return {'compiler': self.core_compilers[0]}
+ if any(self.spec.satisfies(core_spec) for core_spec in self.core_specs):
+ return {"compiler": self.core_compilers[0]}
# Keep track of the requirements that this package has in terms
# of virtual packages that participate in the hierarchical structure
- requirements = {'compiler': self.spec.compiler}
+ requirements = {"compiler": self.spec.compiler}
# For each virtual dependency in the hierarchy
for x in self.hierarchy_tokens:
# If I depend on it
@@ -187,23 +182,23 @@ class LmodConfiguration(BaseConfiguration):
# If it is in the list of supported compilers family -> compiler
if self.spec.name in spack.compilers.supported_compilers():
- provides['compiler'] = spack.spec.CompilerSpec(str(self.spec))
+ provides["compiler"] = spack.spec.CompilerSpec(str(self.spec))
# Special case for llvm
- if self.spec.name == 'llvm':
- provides['compiler'] = spack.spec.CompilerSpec(str(self.spec))
- provides['compiler'].name = 'clang'
+ if self.spec.name == "llvm":
+ provides["compiler"] = spack.spec.CompilerSpec(str(self.spec))
+ provides["compiler"].name = "clang"
# Special case for llvm-amdgpu
- if self.spec.name == 'llvm-amdgpu':
- provides['compiler'] = spack.spec.CompilerSpec(str(self.spec))
- provides['compiler'].name = 'rocmcc'
+ if self.spec.name == "llvm-amdgpu":
+ provides["compiler"] = spack.spec.CompilerSpec(str(self.spec))
+ provides["compiler"].name = "rocmcc"
# Special case for oneapi
- if self.spec.name == 'intel-oneapi-compilers':
- provides['compiler'] = spack.spec.CompilerSpec(str(self.spec))
- provides['compiler'].name = 'oneapi'
+ if self.spec.name == "intel-oneapi-compilers":
+ provides["compiler"] = spack.spec.CompilerSpec(str(self.spec))
+ provides["compiler"].name = "oneapi"
# Special case for oneapi classic
- if self.spec.name == 'intel-oneapi-compilers-classic':
- provides['compiler'] = spack.spec.CompilerSpec(str(self.spec))
- provides['compiler'].name = 'intel'
+ if self.spec.name == "intel-oneapi-compilers-classic":
+ provides["compiler"] = spack.spec.CompilerSpec(str(self.spec))
+ provides["compiler"].name = "intel"
# All the other tokens in the hierarchy must be virtual dependencies
for x in self.hierarchy_tokens:
@@ -233,21 +228,18 @@ class LmodFileLayout(BaseFileLayout):
"""File layout for lmod module files."""
#: file extension of lua module files
- extension = 'lua'
+ extension = "lua"
@property
def arch_dirname(self):
"""Returns the root folder for THIS architecture"""
# Architecture sub-folder
- arch_folder_conf = spack.config.get(
- 'modules:%s:arch_folder' % self.conf.name, True)
+ arch_folder_conf = spack.config.get("modules:%s:arch_folder" % self.conf.name, True)
if arch_folder_conf:
# include an arch specific folder between root and filename
- arch_folder = '-'.join([
- str(self.spec.platform),
- str(self.spec.os),
- str(self.spec.target.family)
- ])
+ arch_folder = "-".join(
+ [str(self.spec.platform), str(self.spec.os), str(self.spec.target.family)]
+ )
return os.path.join(self.dirname(), arch_folder)
return self.dirname()
@@ -269,7 +261,7 @@ class LmodFileLayout(BaseFileLayout):
fullname = os.path.join(
self.arch_dirname, # root for lmod files on this architecture
hierarchy_name, # relative path
- '.'.join([self.use_name, self.extension]) # file name
+ ".".join([self.use_name, self.extension]), # file name
)
return fullname
@@ -284,16 +276,16 @@ class LmodFileLayout(BaseFileLayout):
str: part of the path associated with the service
"""
# General format for the path part
- path_part_fmt = os.path.join('{token.name}', '{token.version}')
+ path_part_fmt = os.path.join("{token.name}", "{token.version}")
# If we are dealing with a core compiler, return 'Core'
core_compilers = self.conf.core_compilers
- if name == 'compiler' and str(value) in core_compilers:
- return 'Core'
+ if name == "compiler" and str(value) in core_compilers:
+ return "Core"
# CompilerSpec does not have an hash, as we are not allowed to
# use different flavors of the same compiler
- if name == 'compiler':
+ if name == "compiler":
return path_part_fmt.format(token=value)
# In case the hierarchy token refers to a virtual provider
@@ -301,7 +293,7 @@ class LmodFileLayout(BaseFileLayout):
# among flavors of the same library (e.g. openblas~openmp vs.
# openblas+openmp)
path = path_part_fmt.format(token=value)
- path = '-'.join([path, value.dag_hash(length=7)])
+ path = "-".join([path, value.dag_hash(length=7)])
return path
@property
@@ -314,8 +306,7 @@ class LmodFileLayout(BaseFileLayout):
# List of services that are part of the hierarchy
hierarchy = self.conf.hierarchy_tokens
# Tokenize each part that is both in the hierarchy and available
- parts = [self.token_to_path(x, available[x])
- for x in hierarchy if x in available]
+ parts = [self.token_to_path(x, available[x]) for x in hierarchy if x in available]
return parts
@property
@@ -336,8 +327,8 @@ class LmodFileLayout(BaseFileLayout):
# A compiler is always required. To avoid duplication pop the
# 'compiler' item from required if we also **provide** one
- if 'compiler' in provides_key:
- requires_key.remove('compiler')
+ if "compiler" in provides_key:
+ requires_key.remove("compiler")
# Compute the unique combinations of the services we provide
combinations = []
@@ -404,7 +395,7 @@ class LmodContext(BaseContext):
# In general we have conditional modifications if we have modifications
# and we are not providing **only** a compiler
provides = self.conf.provides
- provide_compiler_only = 'compiler' in provides and len(provides) == 1
+ provide_compiler_only = "compiler" in provides and len(provides) == 1
has_modifications = self.has_modulepath_modifications
return has_modifications and not provide_compiler_only
@@ -417,7 +408,7 @@ class LmodContext(BaseContext):
def version_part(self):
"""Version of this provider."""
s = self.spec
- return '-'.join([str(s.version), s.dag_hash(length=7)])
+ return "-".join([str(s.version), s.dag_hash(length=7)])
@tengine.context_property
def provides(self):
@@ -445,15 +436,15 @@ class LmodContext(BaseContext):
conditional_paths = layout.unlocked_paths
conditional_paths.pop(None)
for services_needed, list_of_path_parts in conditional_paths.items():
- condition = ' and '.join([x + '_name' for x in services_needed])
+ condition = " and ".join([x + "_name" for x in services_needed])
for parts in list_of_path_parts:
def manipulate_path(token):
if token in self.conf.hierarchy_tokens:
- return '{0}_name, {0}_version'.format(token)
+ return "{0}_name, {0}_version".format(token)
return '"' + token + '"'
- path = ', '.join([manipulate_path(x) for x in parts])
+ path = ", ".join([manipulate_path(x) for x in parts])
value.append((condition, path))
return value
@@ -461,7 +452,8 @@ class LmodContext(BaseContext):
class LmodModulefileWriter(BaseModuleFileWriter):
"""Writer class for lmod module files."""
- default_template = posixpath.join('modules', 'modulefile.lua')
+
+ default_template = posixpath.join("modules", "modulefile.lua")
class CoreCompilersNotFoundError(spack.error.SpackError, KeyError):
diff --git a/lib/spack/spack/modules/tcl.py b/lib/spack/spack/modules/tcl.py
index 6762616337..f49f6209ef 100644
--- a/lib/spack/spack/modules/tcl.py
+++ b/lib/spack/spack/modules/tcl.py
@@ -21,11 +21,11 @@ from .common import BaseConfiguration, BaseContext, BaseFileLayout, BaseModuleFi
#: TCL specific part of the configuration
def configuration(module_set_name):
- config_path = 'modules:%s:tcl' % module_set_name
+ config_path = "modules:%s:tcl" % module_set_name
config = spack.config.get(config_path, {})
- if not config and module_set_name == 'default':
+ if not config and module_set_name == "default":
# return old format for backward compatibility
- return spack.config.get('modules:tcl', {})
+ return spack.config.get("modules:tcl", {})
return config
@@ -39,12 +39,11 @@ def make_configuration(spec, module_set_name):
try:
return configuration_registry[key]
except KeyError:
- return configuration_registry.setdefault(
- key, TclConfiguration(spec, module_set_name))
+ return configuration_registry.setdefault(key, TclConfiguration(spec, module_set_name))
def make_layout(spec, module_set_name):
- """Returns the layout information for spec """
+ """Returns the layout information for spec"""
conf = make_configuration(spec, module_set_name)
return TclFileLayout(conf)
@@ -61,7 +60,7 @@ class TclConfiguration(BaseConfiguration):
@property
def conflicts(self):
"""Conflicts for this module file"""
- return self.conf.get('conflict', [])
+ return self.conf.get("conflict", [])
class TclFileLayout(BaseFileLayout):
@@ -74,7 +73,7 @@ class TclContext(BaseContext):
@tengine.context_property
def prerequisites(self):
"""List of modules that needs to be loaded automatically."""
- return self._create_module_list_of('specs_to_prereq')
+ return self._create_module_list_of("specs_to_prereq")
@tengine.context_property
def conflicts(self):
@@ -84,20 +83,16 @@ class TclContext(BaseContext):
f = string.Formatter()
for item in self.conf.conflicts:
if len([x for x in f.parse(item)]) > 1:
- for naming_dir, conflict_dir in zip(
- projection.split('/'), item.split('/')
- ):
+ for naming_dir, conflict_dir in zip(projection.split("/"), item.split("/")):
if naming_dir != conflict_dir:
- message = 'conflict scheme does not match naming '
- message += 'scheme [{spec}]\n\n'
+ message = "conflict scheme does not match naming "
+ message += "scheme [{spec}]\n\n"
message += 'naming scheme : "{nformat}"\n'
message += 'conflict scheme : "{cformat}"\n\n'
- message += '** You may want to check your '
- message += '`modules.yaml` configuration file **\n'
- tty.error(message.format(spec=self.spec,
- nformat=projection,
- cformat=item))
- raise SystemExit('Module generation aborted.')
+ message += "** You may want to check your "
+ message += "`modules.yaml` configuration file **\n"
+ tty.error(message.format(spec=self.spec, nformat=projection, cformat=item))
+ raise SystemExit("Module generation aborted.")
item = self.spec.format(item)
fmts.append(item)
# Substitute spec tokens if present
@@ -106,7 +101,8 @@ class TclContext(BaseContext):
class TclModulefileWriter(BaseModuleFileWriter):
"""Writer class for tcl module files."""
+
# Note: Posixpath is used here as opposed to
# os.path.join due to spack.spec.Spec.format
# requiring forward slash path seperators at this stage
- default_template = posixpath.join('modules', 'modulefile.tcl')
+ default_template = posixpath.join("modules", "modulefile.tcl")
diff --git a/lib/spack/spack/multimethod.py b/lib/spack/spack/multimethod.py
index 437f4d8ab6..2c6a56db1a 100644
--- a/lib/spack/spack/multimethod.py
+++ b/lib/spack/spack/multimethod.py
@@ -54,33 +54,33 @@ class MultiMethodMeta(type):
class SpecMultiMethod(object):
"""This implements a multi-method for Spack specs. Packages are
- instantiated with a particular spec, and you may want to
- execute different versions of methods based on what the spec
- looks like. For example, you might want to call a different
- version of install() for one platform than you call on another.
+ instantiated with a particular spec, and you may want to
+ execute different versions of methods based on what the spec
+ looks like. For example, you might want to call a different
+ version of install() for one platform than you call on another.
- The SpecMultiMethod class implements a callable object that
- handles method dispatch. When it is called, it looks through
- registered methods and their associated specs, and it tries
- to find one that matches the package's spec. If it finds one
- (and only one), it will call that method.
+ The SpecMultiMethod class implements a callable object that
+ handles method dispatch. When it is called, it looks through
+ registered methods and their associated specs, and it tries
+ to find one that matches the package's spec. If it finds one
+ (and only one), it will call that method.
- This is intended for use with decorators (see below). The
- decorator (see docs below) creates SpecMultiMethods and
- registers method versions with them.
+ This is intended for use with decorators (see below). The
+ decorator (see docs below) creates SpecMultiMethods and
+ registers method versions with them.
- To register a method, you can do something like this:
- mm = SpecMultiMethod()
- mm.register("^chaos_5_x86_64_ib", some_method)
+ To register a method, you can do something like this:
+ mm = SpecMultiMethod()
+ mm.register("^chaos_5_x86_64_ib", some_method)
- The object registered needs to be a Spec or some string that
- will parse to be a valid spec.
+ The object registered needs to be a Spec or some string that
+ will parse to be a valid spec.
- When the mm is actually called, it selects a version of the
- method to call based on the sys_type of the object it is
- called on.
+ When the mm is actually called, it selects a version of the
+ method to call based on the sys_type of the object it is
+ called on.
- See the docs for decorators below for more details.
+ See the docs for decorators below for more details.
"""
def __init__(self, default=None):
@@ -93,10 +93,10 @@ class SpecMultiMethod(object):
"""Register a version of a method for a particular spec."""
self.method_list.append((spec, method))
- if not hasattr(self, '__name__'):
+ if not hasattr(self, "__name__"):
functools.update_wrapper(self, method)
else:
- assert(self.__name__ == method.__name__)
+ assert self.__name__ == method.__name__
def __get__(self, obj, objtype):
"""This makes __call__ support instance methods."""
@@ -108,14 +108,12 @@ class SpecMultiMethod(object):
# Call functools.wraps manually to get all the attributes
# we need to be disguised as the wrapped_method
- func = functools.wraps(wrapped_method)(
- functools.partial(self.__call__, obj)
- )
+ func = functools.wraps(wrapped_method)(functools.partial(self.__call__, obj))
return func
def _get_method_by_spec(self, spec):
"""Find the method of this SpecMultiMethod object that satisfies the
- given spec, if one exists
+ given spec, if one exists
"""
for condition, method in self.method_list:
if spec.satisfies(condition):
@@ -124,8 +122,8 @@ class SpecMultiMethod(object):
def __call__(self, package_self, *args, **kwargs):
"""Find the first method with a spec that matches the
- package's spec. If none is found, call the default
- or if there is none, then raise a NoSuchMethodError.
+ package's spec. If none is found, call the default
+ or if there is none, then raise a NoSuchMethodError.
"""
spec_method = self._get_method_by_spec(package_self.spec)
if spec_method:
@@ -140,17 +138,14 @@ class SpecMultiMethod(object):
superself = cls.__dict__.get(self.__name__, None)
if isinstance(superself, SpecMultiMethod):
# Check parent multimethod for method for spec.
- superself_method = superself._get_method_by_spec(
- package_self.spec
- )
+ superself_method = superself._get_method_by_spec(package_self.spec)
if superself_method:
return superself_method(package_self, *args, **kwargs)
elif superself:
return superself(package_self, *args, **kwargs)
raise NoSuchMethodError(
- type(package_self), self.__name__, package_self.spec,
- [m[0] for m in self.method_list]
+ type(package_self), self.__name__, package_self.spec, [m[0] for m in self.method_list]
)
@@ -285,5 +280,5 @@ class NoSuchMethodError(spack.error.SpackError):
def __init__(self, cls, method_name, spec, possible_specs):
super(NoSuchMethodError, self).__init__(
"Package %s does not support %s called with %s. Options are: %s"
- % (cls.__name__, method_name, spec,
- ", ".join(str(s) for s in possible_specs)))
+ % (cls.__name__, method_name, spec, ", ".join(str(s) for s in possible_specs))
+ )
diff --git a/lib/spack/spack/operating_systems/__init__.py b/lib/spack/spack/operating_systems/__init__.py
index 5a029ae5a8..88083a034f 100644
--- a/lib/spack/spack/operating_systems/__init__.py
+++ b/lib/spack/spack/operating_systems/__init__.py
@@ -9,14 +9,7 @@ from .linux_distro import LinuxDistro
from .mac_os import MacOs
from .windows_os import WindowsOs
-__all__ = [
- 'OperatingSystem',
- 'LinuxDistro',
- 'MacOs',
- 'CrayFrontend',
- 'CrayBackend',
- 'WindowsOs'
-]
+__all__ = ["OperatingSystem", "LinuxDistro", "MacOs", "CrayFrontend", "CrayBackend", "WindowsOs"]
#: List of all the Operating Systems known to Spack
operating_systems = [LinuxDistro, MacOs, CrayFrontend, CrayBackend, WindowsOs]
diff --git a/lib/spack/spack/operating_systems/_operating_system.py b/lib/spack/spack/operating_systems/_operating_system.py
index 5c58b0f331..432dfb1042 100644
--- a/lib/spack/spack/operating_systems/_operating_system.py
+++ b/lib/spack/spack/operating_systems/_operating_system.py
@@ -27,9 +27,10 @@ class OperatingSystem(object):
For platforms such as linux and darwin, the operating system is autodetected.
"""
+
def __init__(self, name, version):
- self.name = name.replace('-', '_')
- self.version = str(version).replace('-', '_')
+ self.name = name.replace("-", "_")
+ self.version = str(version).replace("-", "_")
def __str__(self):
return "%s%s" % (self.name, self.version)
@@ -42,7 +43,4 @@ class OperatingSystem(object):
yield self.version
def to_dict(self):
- return syaml.syaml_dict([
- ('name', self.name),
- ('version', self.version)
- ])
+ return syaml.syaml_dict([("name", self.name), ("version", self.version)])
diff --git a/lib/spack/spack/operating_systems/cray_backend.py b/lib/spack/spack/operating_systems/cray_backend.py
index 0a4e392496..0076bc7df5 100644
--- a/lib/spack/spack/operating_systems/cray_backend.py
+++ b/lib/spack/spack/operating_systems/cray_backend.py
@@ -16,8 +16,8 @@ from .linux_distro import LinuxDistro
#: Possible locations of the Cray CLE release file,
#: which we look at to get the CNL OS version.
-_cle_release_file = '/etc/opt/cray/release/cle-release'
-_clerelease_file = '/etc/opt/cray/release/clerelease'
+_cle_release_file = "/etc/opt/cray/release/cle-release"
+_clerelease_file = "/etc/opt/cray/release/clerelease"
def read_cle_release_file():
@@ -47,7 +47,7 @@ def read_cle_release_file():
for line in release_file:
# use partition instead of split() to ensure we only split on
# the first '=' in the line.
- key, _, value = line.partition('=')
+ key, _, value = line.partition("=")
result[key] = value.strip()
return result
@@ -78,7 +78,7 @@ class CrayBackend(LinuxDistro):
"""
def __init__(self):
- name = 'cnl'
+ name = "cnl"
version = self._detect_crayos_version()
if version:
# If we found a CrayOS version, we do not want the information
@@ -98,10 +98,10 @@ class CrayBackend(LinuxDistro):
def _detect_crayos_version(cls):
if os.path.isfile(_cle_release_file):
release_attrs = read_cle_release_file()
- if 'RELEASE' not in release_attrs:
+ if "RELEASE" not in release_attrs:
# This Cray system uses a base OS not CLE/CNL
return None
- v = spack.version.Version(release_attrs['RELEASE'])
+ v = spack.version.Version(release_attrs["RELEASE"])
return v[0]
elif os.path.isfile(_clerelease_file):
v = read_clerelease_file()
@@ -130,44 +130,43 @@ class CrayBackend(LinuxDistro):
continue
if cmp_cls.PrgEnv_compiler is None:
- tty.die('Must supply PrgEnv_compiler with PrgEnv')
+ tty.die("Must supply PrgEnv_compiler with PrgEnv")
compiler_id = spack.compilers.CompilerID(self, compiler_name, None)
detect_version_args = spack.compilers.DetectVersionArgs(
- id=compiler_id, variation=(None, None),
- language='cc', path='cc'
+ id=compiler_id, variation=(None, None), language="cc", path="cc"
)
command_arguments.append(detect_version_args)
return command_arguments
def detect_version(self, detect_version_args):
import spack.compilers
+
modulecmd = self.modulecmd
compiler_name = detect_version_args.id.compiler_name
compiler_cls = spack.compilers.class_for_compiler_name(compiler_name)
- output = modulecmd('avail', compiler_cls.PrgEnv_compiler)
- version_regex = r'({0})/([\d\.]+[\d]-?[\w]*)'.format(
- compiler_cls.PrgEnv_compiler
- )
+ output = modulecmd("avail", compiler_cls.PrgEnv_compiler)
+ version_regex = r"({0})/([\d\.]+[\d]-?[\w]*)".format(compiler_cls.PrgEnv_compiler)
matches = re.findall(version_regex, output)
- version = tuple(version for _, version in matches
- if 'classic' not in version)
+ version = tuple(version for _, version in matches if "classic" not in version)
compiler_id = detect_version_args.id
- value = detect_version_args._replace(
- id=compiler_id._replace(version=version)
- )
+ value = detect_version_args._replace(id=compiler_id._replace(version=version))
return value, None
def make_compilers(self, compiler_id, paths):
import spack.spec
+
name = compiler_id.compiler_name
cmp_cls = spack.compilers.class_for_compiler_name(name)
compilers = []
for v in compiler_id.version:
comp = cmp_cls(
- spack.spec.CompilerSpec(name + '@' + v),
- self, "any",
- ['cc', 'CC', 'ftn'], [cmp_cls.PrgEnv, name + '/' + v])
+ spack.spec.CompilerSpec(name + "@" + v),
+ self,
+ "any",
+ ["cc", "CC", "ftn"],
+ [cmp_cls.PrgEnv, name + "/" + v],
+ )
compilers.append(comp)
return compilers
diff --git a/lib/spack/spack/operating_systems/cray_frontend.py b/lib/spack/spack/operating_systems/cray_frontend.py
index 02419fd032..1b1d769149 100644
--- a/lib/spack/spack/operating_systems/cray_frontend.py
+++ b/lib/spack/spack/operating_systems/cray_frontend.py
@@ -24,14 +24,14 @@ def unload_programming_environment():
# We rely on the fact that the PrgEnv-* modules set the PE_ENV
# environment variable.
- if 'PE_ENV' in os.environ:
+ if "PE_ENV" in os.environ:
# Copy environment variables to restore them after the compiler
# detection. We expect that the only thing PrgEnv-* modules do is
# the environment variables modifications.
env_bu = os.environ.copy()
# Get the name of the module from the environment variable.
- prg_env = 'PrgEnv-' + os.environ['PE_ENV'].lower()
+ prg_env = "PrgEnv-" + os.environ["PE_ENV"].lower()
# Unload the PrgEnv-* module. By doing this we intentionally
# provoke errors when the Cray's compiler wrappers are executed
@@ -41,7 +41,7 @@ def unload_programming_environment():
# into the PATH environment variable (i.e. the following modules:
# 'intel', 'cce', 'gcc', etc.) will also be unloaded since they are
# specified as prerequisites in the PrgEnv-* modulefiles.
- module('unload', prg_env)
+ module("unload", prg_env)
yield
@@ -67,39 +67,38 @@ class CrayFrontend(LinuxDistro):
import spack.compilers
with unload_programming_environment():
- search_paths = get_path('PATH')
+ search_paths = get_path("PATH")
- extract_path_re = re.compile(r'prepend-path[\s]*PATH[\s]*([/\w\.:-]*)')
+ extract_path_re = re.compile(r"prepend-path[\s]*PATH[\s]*([/\w\.:-]*)")
for compiler_cls in spack.compilers.all_compiler_types():
# Check if the compiler class is supported on Cray
- prg_env = getattr(compiler_cls, 'PrgEnv', None)
- compiler_module = getattr(compiler_cls, 'PrgEnv_compiler', None)
+ prg_env = getattr(compiler_cls, "PrgEnv", None)
+ compiler_module = getattr(compiler_cls, "PrgEnv_compiler", None)
if not (prg_env and compiler_module):
continue
# It is supported, check which versions are available
- output = module('avail', compiler_cls.PrgEnv_compiler)
- version_regex = r'({0})/([\d\.]+[\d]-?[\w]*)'.format(
- compiler_cls.PrgEnv_compiler
- )
+ output = module("avail", compiler_cls.PrgEnv_compiler)
+ version_regex = r"({0})/([\d\.]+[\d]-?[\w]*)".format(compiler_cls.PrgEnv_compiler)
matches = re.findall(version_regex, output)
- versions = tuple(version for _, version in matches
- if 'classic' not in version)
+ versions = tuple(version for _, version in matches if "classic" not in version)
# Now inspect the modules and add to paths
msg = "[CRAY FE] Detected FE compiler [name={0}, versions={1}]"
tty.debug(msg.format(compiler_module, versions))
for v in versions:
try:
- current_module = compiler_module + '/' + v
- out = module('show', current_module)
+ current_module = compiler_module + "/" + v
+ out = module("show", current_module)
match = extract_path_re.search(out)
- search_paths += match.group(1).split(':')
+ search_paths += match.group(1).split(":")
except Exception as e:
- msg = ("[CRAY FE] An unexpected error occurred while "
- "detecting FE compiler [compiler={0}, "
- " version={1}, error={2}]")
+ msg = (
+ "[CRAY FE] An unexpected error occurred while "
+ "detecting FE compiler [compiler={0}, "
+ " version={1}, error={2}]"
+ )
tty.debug(msg.format(compiler_cls.name, v, str(e)))
search_paths = list(llnl.util.lang.dedupe(search_paths))
diff --git a/lib/spack/spack/operating_systems/linux_distro.py b/lib/spack/spack/operating_systems/linux_distro.py
index 70ea6a22b5..403d3a0d1c 100644
--- a/lib/spack/spack/operating_systems/linux_distro.py
+++ b/lib/spack/spack/operating_systems/linux_distro.py
@@ -13,55 +13,56 @@ from ._operating_system import OperatingSystem
def kernel_version():
"""Return the kernel version as a Version object.
- Note that the kernel version is distinct from OS and/or
- distribution versions. For instance:
- >>> external.distro.id()
- 'centos'
- >>> external.distro.version()
- '7'
- >>> platform.release()
- '5.10.84+'
+ Note that the kernel version is distinct from OS and/or
+ distribution versions. For instance:
+ >>> external.distro.id()
+ 'centos'
+ >>> external.distro.version()
+ '7'
+ >>> platform.release()
+ '5.10.84+'
"""
# Strip '+' characters just in case we're running a
# version built from git/etc
- clean_version = re.sub(r'\+', r'', py_platform.release())
+ clean_version = re.sub(r"\+", r"", py_platform.release())
return Version(clean_version)
class LinuxDistro(OperatingSystem):
- """ This class will represent the autodetected operating system
- for a Linux System. Since there are many different flavors of
- Linux, this class will attempt to encompass them all through
- autodetection using the python module platform and the method
- platform.dist()
+ """This class will represent the autodetected operating system
+ for a Linux System. Since there are many different flavors of
+ Linux, this class will attempt to encompass them all through
+ autodetection using the python module platform and the method
+ platform.dist()
"""
def __init__(self):
try:
# This will throw an error if imported on a non-Linux platform.
import external.distro
+
distname, version = external.distro.id(), external.distro.version()
except ImportError:
- distname, version = 'unknown', ''
+ distname, version = "unknown", ""
# Grabs major version from tuple on redhat; on other platforms
# grab the first legal identifier in the version field. On
# debian you get things like 'wheezy/sid'; sid means unstable.
# We just record 'wheezy' and don't get quite so detailed.
- version = re.split(r'[^\w-]', version)
+ version = re.split(r"[^\w-]", version)
- if 'ubuntu' in distname:
- version = '.'.join(version[0:2])
+ if "ubuntu" in distname:
+ version = ".".join(version[0:2])
# openSUSE Tumbleweed is a rolling release which can change
# more than once in a week, so set version to tumbleweed$GLIBVERS
- elif 'opensuse-tumbleweed' in distname or 'opensusetumbleweed' in distname:
- distname = 'opensuse'
+ elif "opensuse-tumbleweed" in distname or "opensusetumbleweed" in distname:
+ distname = "opensuse"
output = check_output(["ldd", "--version"]).decode()
- libcvers = re.findall(r'ldd \(GNU libc\) (.*)', output)
+ libcvers = re.findall(r"ldd \(GNU libc\) (.*)", output)
if len(libcvers) == 1:
- version = 'tumbleweed' + libcvers[0]
+ version = "tumbleweed" + libcvers[0]
else:
- version = 'tumbleweed' + version[0]
+ version = "tumbleweed" + version[0]
else:
version = version[0]
diff --git a/lib/spack/spack/operating_systems/mac_os.py b/lib/spack/spack/operating_systems/mac_os.py
index 403188262d..a988a18205 100644
--- a/lib/spack/spack/operating_systems/mac_os.py
+++ b/lib/spack/spack/operating_systems/mac_os.py
@@ -43,17 +43,17 @@ def macos_version():
installations report the OS
on which Python was *built* rather than the one on which it is running.
"""
- env_ver = os.environ.get('MACOSX_DEPLOYMENT_TARGET', None)
+ env_ver = os.environ.get("MACOSX_DEPLOYMENT_TARGET", None)
if env_ver:
return Version(env_ver)
try:
- output = Executable('sw_vers')(output=str, fail_on_error=False)
+ output = Executable("sw_vers")(output=str, fail_on_error=False)
except Exception:
# FileNotFoundError, or spack.util.executable.ProcessError
pass
else:
- match = re.search(r'ProductVersion:\s*([0-9.]+)', output)
+ match = re.search(r"ProductVersion:\s*([0-9.]+)", output)
if match:
return Version(match.group(1))
@@ -69,17 +69,17 @@ def macos_cltools_version():
The CLT version might only affect the build if it's selected as the macOS
SDK path.
"""
- pkgutil = Executable('pkgutil')
- output = pkgutil('--pkg-info=com.apple.pkg.cltools_executables',
- output=str, fail_on_error=False)
- match = re.search(r'version:\s*([0-9.]+)', output)
+ pkgutil = Executable("pkgutil")
+ output = pkgutil(
+ "--pkg-info=com.apple.pkg.cltools_executables", output=str, fail_on_error=False
+ )
+ match = re.search(r"version:\s*([0-9.]+)", output)
if match:
return Version(match.group(1))
# No CLTools installed by package manager: try Xcode
- output = pkgutil('--pkg-info=com.apple.pkg.Xcode',
- output=str, fail_on_error=False)
- match = re.search(r'version:\s*([0-9.]+)', output)
+ output = pkgutil("--pkg-info=com.apple.pkg.Xcode", output=str, fail_on_error=False)
+ match = re.search(r"version:\s*([0-9.]+)", output)
if match:
return Version(match.group(1))
@@ -88,10 +88,9 @@ def macos_cltools_version():
@llnl.util.lang.memoized
def macos_sdk_path():
- """Return path to the active macOS SDK.
- """
- xcrun = Executable('xcrun')
- return xcrun('--show-sdk-path', output=str).rstrip()
+ """Return path to the active macOS SDK."""
+ xcrun = Executable("xcrun")
+ return xcrun("--show-sdk-path", output=str).rstrip()
def macos_sdk_version():
@@ -105,8 +104,8 @@ def macos_sdk_version():
The macOS deployment target cannot be greater than the SDK version, but
usually it can be at least a few versions less.
"""
- xcrun = Executable('xcrun')
- return Version(xcrun('--show-sdk-version', output=str).rstrip())
+ xcrun = Executable("xcrun")
+ return Version(xcrun("--show-sdk-version", output=str).rstrip())
class MacOs(OperatingSystem):
@@ -123,32 +122,32 @@ class MacOs(OperatingSystem):
will use a generic "macos" version string until Spack is updated.
"""
mac_releases = {
- '10.0': 'cheetah',
- '10.1': 'puma',
- '10.2': 'jaguar',
- '10.3': 'panther',
- '10.4': 'tiger',
- '10.5': 'leopard',
- '10.6': 'snowleopard',
- '10.7': 'lion',
- '10.8': 'mountainlion',
- '10.9': 'mavericks',
- '10.10': 'yosemite',
- '10.11': 'elcapitan',
- '10.12': 'sierra',
- '10.13': 'highsierra',
- '10.14': 'mojave',
- '10.15': 'catalina',
- '10.16': 'bigsur',
- '11': 'bigsur',
- '12': 'monterey',
+ "10.0": "cheetah",
+ "10.1": "puma",
+ "10.2": "jaguar",
+ "10.3": "panther",
+ "10.4": "tiger",
+ "10.5": "leopard",
+ "10.6": "snowleopard",
+ "10.7": "lion",
+ "10.8": "mountainlion",
+ "10.9": "mavericks",
+ "10.10": "yosemite",
+ "10.11": "elcapitan",
+ "10.12": "sierra",
+ "10.13": "highsierra",
+ "10.14": "mojave",
+ "10.15": "catalina",
+ "10.16": "bigsur",
+ "11": "bigsur",
+ "12": "monterey",
}
version = macos_version()
# Big Sur versions go 11.0, 11.0.1, 11.1 (vs. prior versions that
# only used the minor component)
- part = 1 if version >= Version('11') else 2
+ part = 1 if version >= Version("11") else 2
mac_ver = str(version.up_to(part))
name = mac_releases.get(mac_ver, "macos")
diff --git a/lib/spack/spack/operating_systems/windows_os.py b/lib/spack/spack/operating_systems/windows_os.py
index 61525df887..47929ba61d 100755
--- a/lib/spack/spack/operating_systems/windows_os.py
+++ b/lib/spack/spack/operating_systems/windows_os.py
@@ -16,8 +16,7 @@ from ._operating_system import OperatingSystem
def windows_version():
- """temporary workaround to return a Windows version as a Version object
- """
+ """temporary workaround to return a Windows version as a Version object"""
return Version(platform.release())
@@ -32,33 +31,39 @@ class WindowsOs(OperatingSystem):
# Find MSVC directories using vswhere
comp_search_paths = []
vs_install_paths = []
- root = os.environ.get('ProgramFiles(x86)') or os.environ.get('ProgramFiles')
+ root = os.environ.get("ProgramFiles(x86)") or os.environ.get("ProgramFiles")
if root:
try:
extra_args = {}
if sys.version_info[:3] >= (3, 6, 0):
- extra_args = {'encoding': 'mbcs', 'errors': 'strict'}
- paths = subprocess.check_output([ # type: ignore[call-overload] # novermin
- os.path.join(root, "Microsoft Visual Studio",
- "Installer", "vswhere.exe"),
- "-prerelease",
- "-requires", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
- "-property", "installationPath",
- "-products", "*",
- ], **extra_args).strip()
+ extra_args = {"encoding": "mbcs", "errors": "strict"}
+ paths = subprocess.check_output(
+ [ # type: ignore[call-overload] # novermin
+ os.path.join(root, "Microsoft Visual Studio", "Installer", "vswhere.exe"),
+ "-prerelease",
+ "-requires",
+ "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
+ "-property",
+ "installationPath",
+ "-products",
+ "*",
+ ],
+ **extra_args
+ ).strip()
if (3, 0) <= sys.version_info[:2] <= (3, 5):
paths = paths.decode()
- vs_install_paths = paths.split('\n')
- msvc_paths = [os.path.join(path, "VC", "Tools", "MSVC")
- for path in vs_install_paths]
+ vs_install_paths = paths.split("\n")
+ msvc_paths = [os.path.join(path, "VC", "Tools", "MSVC") for path in vs_install_paths]
for p in msvc_paths:
- comp_search_paths.extend(
- glob.glob(os.path.join(p, '*', 'bin', 'Hostx64', 'x64')))
+ comp_search_paths.extend(glob.glob(os.path.join(p, "*", "bin", "Hostx64", "x64")))
if os.getenv("ONEAPI_ROOT"):
- comp_search_paths.extend(glob.glob(os.path.join(
- str(os.getenv("ONEAPI_ROOT")),
- 'compiler', '*',
- 'windows', 'bin')))
+ comp_search_paths.extend(
+ glob.glob(
+ os.path.join(
+ str(os.getenv("ONEAPI_ROOT")), "compiler", "*", "windows", "bin"
+ )
+ )
+ )
except (subprocess.CalledProcessError, OSError, UnicodeDecodeError):
pass
if comp_search_paths:
@@ -66,9 +71,9 @@ class WindowsOs(OperatingSystem):
def __init__(self):
plat_ver = platform.release()
- if Version(plat_ver) < Version('10'):
+ if Version(plat_ver) < Version("10"):
raise SpackError("Spack is not supported on Windows versions older than 10")
- super(WindowsOs, self).__init__('windows{}'.format(plat_ver), plat_ver)
+ super(WindowsOs, self).__init__("windows{}".format(plat_ver), plat_ver)
def __str__(self):
return self.name
diff --git a/lib/spack/spack/package_base.py b/lib/spack/spack/package_base.py
index 7eeb727745..441563eeba 100644
--- a/lib/spack/spack/package_base.py
+++ b/lib/spack/spack/package_base.py
@@ -71,32 +71,29 @@ if sys.version_info[0] >= 3:
Optional[Iterable[str]],
Optional[Iterable[str]],
]
- FLAG_HANDLER_TYPE = Callable[
- [str, Iterable[str]],
- FLAG_HANDLER_RETURN_TYPE
- ]
+ FLAG_HANDLER_TYPE = Callable[[str, Iterable[str]], FLAG_HANDLER_RETURN_TYPE]
"""Allowed URL schemes for spack packages."""
_ALLOWED_URL_SCHEMES = ["http", "https", "ftp", "file", "git"]
# Filename for the Spack build/install log.
-_spack_build_logfile = 'spack-build-out.txt'
+_spack_build_logfile = "spack-build-out.txt"
# Filename for the Spack build/install environment file.
-_spack_build_envfile = 'spack-build-env.txt'
+_spack_build_envfile = "spack-build-env.txt"
# Filename for the Spack build/install environment modifications file.
-_spack_build_envmodsfile = 'spack-build-env-mods.txt'
+_spack_build_envmodsfile = "spack-build-env-mods.txt"
# Filename for the Spack install phase-time test log.
-_spack_install_test_log = 'install-time-test-log.txt'
+_spack_install_test_log = "install-time-test-log.txt"
# Filename of json with total build and phase times (seconds)
-_spack_times_log = 'install_times.json'
+_spack_times_log = "install_times.json"
# Filename for the Spack configure args file.
-_spack_configure_argsfile = 'spack-configure-args.txt'
+_spack_configure_argsfile = "spack-configure-args.txt"
def preferred_version(pkg):
@@ -109,9 +106,7 @@ def preferred_version(pkg):
# Here we sort first on the fact that a version is marked
# as preferred in the package, then on the fact that the
# version is not develop, then lexicographically
- key_fn = lambda v: (pkg.versions[v].get('preferred', False),
- not v.isdevelop(),
- v)
+ key_fn = lambda v: (pkg.versions[v].get("preferred", False), not v.isdevelop(), v)
return sorted(pkg.versions, key=key_fn).pop()
@@ -155,21 +150,24 @@ class InstallPhase(object):
callback(instance)
# Check instance attributes at the end of a phase
self._on_phase_exit(instance)
+
return phase_wrapper
def _on_phase_start(self, instance):
# If a phase has a matching stop_before_phase attribute,
# stop the installation process raising a StopPhase
- if getattr(instance, 'stop_before_phase', None) == self.name:
+ if getattr(instance, "stop_before_phase", None) == self.name:
from spack.build_environment import StopPhase
- raise StopPhase('Stopping before \'{0}\' phase'.format(self.name))
+
+ raise StopPhase("Stopping before '{0}' phase".format(self.name))
def _on_phase_exit(self, instance):
# If a phase has a matching last_phase attribute,
# stop the installation process raising a StopPhase
- if getattr(instance, 'last_phase', None) == self.name:
+ if getattr(instance, "last_phase", None) == self.name:
from spack.build_environment import StopPhase
- raise StopPhase('Stopping at \'{0}\' phase'.format(self.name))
+
+ raise StopPhase("Stopping at '{0}' phase".format(self.name))
def copy(self):
try:
@@ -192,8 +190,9 @@ class DetectablePackageMeta(object):
"""Check if a package is detectable and add default implementations
for the detection function.
"""
+
def __init__(cls, name, bases, attr_dict):
- if hasattr(cls, 'executables') and hasattr(cls, 'libraries'):
+ if hasattr(cls, "executables") and hasattr(cls, "libraries"):
msg = "a package can have either an 'executables' or 'libraries' attribute"
msg += " [package '{0.name}' defines both]"
raise spack.error.SpackError(msg.format(cls))
@@ -207,19 +206,21 @@ class DetectablePackageMeta(object):
# If a package has the executables or libraries attribute then it's
# assumed to be detectable
- if hasattr(cls, 'executables') or hasattr(cls, 'libraries'):
+ if hasattr(cls, "executables") or hasattr(cls, "libraries"):
+
@classmethod
def platform_executables(cls):
def to_windows_exe(exe):
- if exe.endswith('$'):
- exe = exe.replace('$', '%s$' % spack.util.path.win_exe_ext())
+ if exe.endswith("$"):
+ exe = exe.replace("$", "%s$" % spack.util.path.win_exe_ext())
else:
exe += spack.util.path.win_exe_ext()
return exe
+
plat_exe = []
- if hasattr(cls, 'executables'):
+ if hasattr(cls, "executables"):
for exe in cls.executables:
- if sys.platform == 'win32':
+ if sys.platform == "win32":
exe = to_windows_exe(exe)
plat_exe.append(exe)
return plat_exe
@@ -240,8 +241,7 @@ class DetectablePackageMeta(object):
objs_by_version = collections.defaultdict(list)
# The default filter function is the identity function for the
# list of executables
- filter_fn = getattr(cls, 'filter_detected_exes',
- lambda x, exes: exes)
+ filter_fn = getattr(cls, "filter_detected_exes", lambda x, exes: exes)
objs_in_prefix = filter_fn(prefix, objs_in_prefix)
for obj in objs_in_prefix:
try:
@@ -249,8 +249,9 @@ class DetectablePackageMeta(object):
if version_str:
objs_by_version[version_str].append(obj)
except Exception as e:
- msg = ('An error occurred when trying to detect '
- 'the version of "{0}" [{1}]')
+ msg = (
+ "An error occurred when trying to detect " 'the version of "{0}" [{1}]'
+ )
tty.debug(msg.format(obj, str(e)))
specs = []
@@ -264,57 +265,57 @@ class DetectablePackageMeta(object):
if isinstance(variant, six.string_types):
variant = (variant, {})
variant_str, extra_attributes = variant
- spec_str = '{0}@{1} {2}'.format(
- cls.name, version_str, variant_str
- )
+ spec_str = "{0}@{1} {2}".format(cls.name, version_str, variant_str)
# Pop a few reserved keys from extra attributes, since
# they have a different semantics
- external_path = extra_attributes.pop('prefix', None)
- external_modules = extra_attributes.pop(
- 'modules', None
- )
+ external_path = extra_attributes.pop("prefix", None)
+ external_modules = extra_attributes.pop("modules", None)
try:
spec = spack.spec.Spec(
spec_str,
external_path=external_path,
- external_modules=external_modules
+ external_modules=external_modules,
)
except Exception as e:
msg = 'Parsing failed [spec_str="{0}", error={1}]'
tty.debug(msg.format(spec_str, str(e)))
else:
- specs.append(spack.spec.Spec.from_detection(
- spec, extra_attributes=extra_attributes
- ))
+ specs.append(
+ spack.spec.Spec.from_detection(
+ spec, extra_attributes=extra_attributes
+ )
+ )
return sorted(specs)
@classmethod
def determine_variants(cls, objs, version_str):
- return ''
+ return ""
# Register the class as a detectable package
detectable_packages[cls.namespace].append(cls.name)
# Attach function implementations to the detectable class
default = False
- if not hasattr(cls, 'determine_spec_details'):
+ if not hasattr(cls, "determine_spec_details"):
default = True
cls.determine_spec_details = determine_spec_details
- if default and not hasattr(cls, 'determine_version'):
- msg = ('the package "{0}" in the "{1}" repo needs to define'
- ' the "determine_version" method to be detectable')
+ if default and not hasattr(cls, "determine_version"):
+ msg = (
+ 'the package "{0}" in the "{1}" repo needs to define'
+ ' the "determine_version" method to be detectable'
+ )
NotImplementedError(msg.format(cls.name, cls.namespace))
- if default and not hasattr(cls, 'determine_variants'):
+ if default and not hasattr(cls, "determine_variants"):
cls.determine_variants = determine_variants
# This function should not be overridden by subclasses,
# as it is not designed for bespoke pkg detection but rather
# on a per-platform basis
- if 'platform_executables' in cls.__dict__.keys():
+ if "platform_executables" in cls.__dict__.keys():
raise PackageError("Packages should not override platform_executables")
cls.platform_executables = platform_executables
@@ -325,12 +326,13 @@ class PackageMeta(
DetectablePackageMeta,
spack.directives.DirectiveMeta,
spack.mixins.PackageMixinsMeta,
- spack.multimethod.MultiMethodMeta
+ spack.multimethod.MultiMethodMeta,
):
"""
Package metaclass for supporting directives (e.g., depends_on) and phases
"""
- phase_fmt = '_InstallPhase_{0}'
+
+ phase_fmt = "_InstallPhase_{0}"
# These are accessed only through getattr, by name
_InstallPhase_run_before = {} # type: Dict[str, List[Callable]]
@@ -345,13 +347,13 @@ class PackageMeta(
InstallPhase attributes in the class that will be initialized in
__init__.
"""
- if 'phases' in attr_dict:
+ if "phases" in attr_dict:
# Turn the strings in 'phases' into InstallPhase instances
# and add them as private attributes
- _InstallPhase_phases = [PackageMeta.phase_fmt.format(x) for x in attr_dict['phases']]
- for phase_name, callback_name in zip(_InstallPhase_phases, attr_dict['phases']):
+ _InstallPhase_phases = [PackageMeta.phase_fmt.format(x) for x in attr_dict["phases"]]
+ for phase_name, callback_name in zip(_InstallPhase_phases, attr_dict["phases"]):
attr_dict[phase_name] = InstallPhase(callback_name)
- attr_dict['_InstallPhase_phases'] = _InstallPhase_phases
+ attr_dict["_InstallPhase_phases"] = _InstallPhase_phases
def _flush_callbacks(check_name):
# Name of the attribute I am going to check it exists
@@ -377,12 +379,12 @@ class PackageMeta(
# Clear the attribute for the next class
setattr(cls, check_attr, {})
- _flush_callbacks('run_before')
- _flush_callbacks('run_after')
+ _flush_callbacks("run_before")
+ _flush_callbacks("run_after")
# Reset names for packages that inherit from another
# package with a different name
- attr_dict['_name'] = None
+ attr_dict["_name"] = None
return super(PackageMeta, cls).__new__(cls, name, bases, attr_dict)
@@ -396,17 +398,18 @@ class PackageMeta(
checks.append(func)
setattr(PackageMeta, attr_name, check_list)
return func
+
return _decorator
def run_before(*phases):
"""Registers a method of a package to be run before a given phase"""
- return PackageMeta.register_callback('run_before', *phases)
+ return PackageMeta.register_callback("run_before", *phases)
def run_after(*phases):
"""Registers a method of a package to be run after a given phase"""
- return PackageMeta.register_callback('run_after', *phases)
+ return PackageMeta.register_callback("run_after", *phases)
def on_package_attributes(**attr_dict):
@@ -419,20 +422,19 @@ def on_package_attributes(**attr_dict):
attr_dict (dict): dictionary mapping attribute names to their
required values
"""
- def _execute_under_condition(func):
+ def _execute_under_condition(func):
@functools.wraps(func)
def _wrapper(instance, *args, **kwargs):
# If all the attributes have the value we require, then execute
- has_all_attributes = all(
- [hasattr(instance, key) for key in attr_dict]
- )
+ has_all_attributes = all([hasattr(instance, key) for key in attr_dict])
if has_all_attributes:
has_the_right_values = all(
[getattr(instance, key) == value for key, value in attr_dict.items()]
)
if has_the_right_values:
func(instance, *args, **kwargs)
+
return _wrapper
return _execute_under_condition
@@ -443,6 +445,7 @@ class PackageViewMixin(object):
package to views. Packages can customize how they are added to views by
overriding these functions.
"""
+
def view_source(self):
"""The source root directory that will be added to the view: files are
added such that their path relative to the view destination matches
@@ -506,8 +509,7 @@ def test_log_pathname(test_stage, spec):
Returns:
(str): the pathname of the test log file
"""
- return os.path.join(test_stage,
- 'test-{0}-out.txt'.format(TestSuite.test_pkg_id(spec)))
+ return os.path.join(test_stage, "test-{0}-out.txt".format(TestSuite.test_pkg_id(spec)))
class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@@ -592,6 +594,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
specific build systems.
"""
+
#
# These are default values for instance variables.
#
@@ -664,7 +667,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
#: String. Contains the symbol used by the license manager to denote
#: a comment. Defaults to ``#``.
- license_comment = '#'
+ license_comment = "#"
#: List of strings. These are files that the software searches for when
#: looking for a license. All file paths must be relative to the
@@ -679,7 +682,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
#: String. A URL pointing to license setup instructions for the software.
#: Defaults to the empty string.
- license_url = ''
+ license_url = ""
#: Verbosity level, preserved across installs.
_verbose = None
@@ -737,7 +740,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
self.installed_from_binary_cache = False
# Ensure that only one of these two attributes are present
- if getattr(self, 'url', None) and getattr(self, 'urls', None):
+ if getattr(self, "url", None) and getattr(self, "urls", None):
msg = "a package can have either a 'url' or a 'urls' attribute"
msg += " [package '{0.name}' defines both]"
raise ValueError(msg.format(self))
@@ -757,8 +760,14 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@classmethod
def possible_dependencies(
- cls, transitive=True, expand_virtuals=True, deptype='all',
- visited=None, missing=None, virtuals=None):
+ cls,
+ transitive=True,
+ expand_virtuals=True,
+ deptype="all",
+ visited=None,
+ missing=None,
+ virtuals=None,
+ ):
"""Return dict of possible dependencies of this package.
Args:
@@ -842,8 +851,8 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
continue
dep_cls.possible_dependencies(
- transitive, expand_virtuals, deptype, visited, missing,
- virtuals)
+ transitive, expand_virtuals, deptype, visited, missing, virtuals
+ )
return visited
@@ -869,17 +878,17 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@classproperty
def fullname(cls):
"""Name of this package, including the namespace"""
- return '%s.%s' % (cls.namespace, cls.name)
+ return "%s.%s" % (cls.namespace, cls.name)
@classproperty
def fullnames(cls):
"""Fullnames for this package and any packages from which it inherits."""
fullnames = []
for cls in inspect.getmro(cls):
- namespace = getattr(cls, 'namespace', None)
+ namespace = getattr(cls, "namespace", None)
if namespace:
- fullnames.append('%s.%s' % (namespace, cls.name))
- if namespace == 'builtin':
+ fullnames.append("%s.%s" % (namespace, cls.name))
+ if namespace == "builtin":
# builtin packages cannot inherit from other repos
break
return fullnames
@@ -893,29 +902,31 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
if cls._name is None:
cls._name = cls.module.__name__
- if '.' in cls._name:
- cls._name = cls._name[cls._name.rindex('.') + 1:]
+ if "." in cls._name:
+ cls._name = cls._name[cls._name.rindex(".") + 1 :]
return cls._name
@classproperty
def global_license_dir(cls):
"""Returns the directory where license files for all packages are stored."""
- return spack.util.path.canonicalize_path(spack.config.get('config:license_dir'))
+ return spack.util.path.canonicalize_path(spack.config.get("config:license_dir"))
@property
def global_license_file(self):
"""Returns the path where a global license file for this
- particular package should be stored."""
+ particular package should be stored."""
if not self.license_files:
return
- return os.path.join(self.global_license_dir, self.name,
- os.path.basename(self.license_files[0]))
+ return os.path.join(
+ self.global_license_dir, self.name, os.path.basename(self.license_files[0])
+ )
@property
def version(self):
if not self.spec.versions.concrete:
- raise ValueError("Version requested for a package that"
- " does not have a concrete version.")
+ raise ValueError(
+ "Version requested for a package that" " does not have a concrete version."
+ )
return self.spec.versions[0]
@classmethod
@@ -933,8 +944,8 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
version_urls = collections.OrderedDict()
for v, args in sorted(cls.versions.items()):
- if 'url' in args:
- version_urls[v] = args['url']
+ if "url" in args:
+ version_urls[v] = args["url"]
return version_urls
def nearest_url(self, version):
@@ -1012,12 +1023,13 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
nu = spack.url.substitute_version(u, self.url_version(version))
urls.append(nu)
+
# If no specific URL, use the default, class-level URL
- sub_and_add(getattr(self, 'url', None))
- for u in getattr(self, 'urls', []):
+ sub_and_add(getattr(self, "url", None))
+ for u in getattr(self, "urls", []):
sub_and_add(u)
- sub_and_add(getattr(self, 'list_url', None))
+ sub_and_add(getattr(self, "list_url", None))
# if no version-bearing URLs can be found, try them raw
if not urls:
@@ -1030,11 +1042,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# if there are NO URLs to go by, then we can't do anything
if not default_url:
raise NoURLError(self.__class__)
- urls.append(
- spack.url.substitute_version(
- default_url, self.url_version(version)
- )
- )
+ urls.append(spack.url.substitute_version(default_url, self.url_version(version)))
return urls
@@ -1059,14 +1067,16 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def _make_resource_stage(self, root_stage, fetcher, resource):
resource_stage_folder = self._resource_stage(resource)
mirror_paths = spack.mirror.mirror_archive_paths(
- fetcher,
- os.path.join(self.name, "%s-%s" % (resource.name, self.version)))
- stage = ResourceStage(resource.fetcher,
- root=root_stage,
- resource=resource,
- name=resource_stage_folder,
- mirror_paths=mirror_paths,
- path=self.path)
+ fetcher, os.path.join(self.name, "%s-%s" % (resource.name, self.version))
+ )
+ stage = ResourceStage(
+ resource.fetcher,
+ root=root_stage,
+ resource=resource,
+ name=resource_stage_folder,
+ mirror_paths=mirror_paths,
+ path=self.path,
+ )
return stage
def _download_search(self):
@@ -1076,21 +1086,24 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def _make_root_stage(self, fetcher):
# Construct a mirror path (TODO: get this out of package.py)
mirror_paths = spack.mirror.mirror_archive_paths(
- fetcher,
- os.path.join(self.name, "%s-%s" % (self.name, self.version)),
- self.spec)
+ fetcher, os.path.join(self.name, "%s-%s" % (self.name, self.version)), self.spec
+ )
# Construct a path where the stage should build..
s = self.spec
- stage_name = "{0}{1}-{2}-{3}".format(stage_prefix, s.name, s.version,
- s.dag_hash())
+ stage_name = "{0}{1}-{2}-{3}".format(stage_prefix, s.name, s.version, s.dag_hash())
- stage = Stage(fetcher, mirror_paths=mirror_paths, name=stage_name,
- path=self.path, search_fn=self._download_search)
+ stage = Stage(
+ fetcher,
+ mirror_paths=mirror_paths,
+ name=stage_name,
+ path=self.path,
+ search_fn=self._download_search,
+ )
return stage
def _make_stage(self):
# If it's a dev package (not transitively), use a DIY stage object
- dev_path_var = self.spec.variants.get('dev_path', None)
+ dev_path_var = self.spec.variants.get("dev_path", None)
if dev_path_var:
return spack.stage.DIYStage(dev_path_var.value)
@@ -1105,8 +1118,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
else:
# Construct resource stage
resource = resources[ii - 1] # ii == 0 is root!
- stage = self._make_resource_stage(composite_stage[0], fetcher,
- resource)
+ stage = self._make_resource_stage(composite_stage[0], fetcher, resource)
# Append the item to the composite
composite_stage.append(stage)
@@ -1121,8 +1133,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
on the filesystem.
"""
if not self.spec.versions.concrete:
- raise ValueError(
- "Cannot retrieve stage for package without concrete version.")
+ raise ValueError("Cannot retrieve stage for package without concrete version.")
if self._stage is None:
self._stage = self._make_stage()
return self._stage
@@ -1137,7 +1148,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""Return the build environment file path associated with staging."""
# Backward compatibility: Return the name of an existing log path;
# otherwise, return the current install env path name.
- old_filename = os.path.join(self.stage.path, 'spack-build.env')
+ old_filename = os.path.join(self.stage.path, "spack-build.env")
if os.path.exists(old_filename):
return old_filename
else:
@@ -1163,7 +1174,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
# Backward compatibility: Return the name of an existing log path;
# otherwise, return the current install env path name.
- old_filename = os.path.join(self.metadata_dir, 'build.env')
+ old_filename = os.path.join(self.metadata_dir, "build.env")
if os.path.exists(old_filename):
return old_filename
else:
@@ -1173,7 +1184,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def log_path(self):
"""Return the build log file path associated with staging."""
# Backward compatibility: Return the name of an existing log path.
- for filename in ['spack-build.out', 'spack-build.txt']:
+ for filename in ["spack-build.out", "spack-build.txt"]:
old_log = os.path.join(self.stage.path, filename)
if os.path.exists(old_log):
return old_log
@@ -1193,7 +1204,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def install_log_path(self):
"""Return the build log file path on successful installation."""
# Backward compatibility: Return the name of an existing install log.
- for filename in ['build.out', 'build.txt']:
+ for filename in ["build.out", "build.txt"]:
old_log = os.path.join(self.metadata_dir, filename)
if os.path.exists(old_log):
return old_log
@@ -1209,7 +1220,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@property
def test_install_log_path(self):
"""Return the install phase-time test log file path, if set."""
- return getattr(self, 'test_log_file', None)
+ return getattr(self, "test_log_file", None)
@property
def install_test_install_log_path(self):
@@ -1229,19 +1240,23 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@property
def install_test_root(self):
"""Return the install test root directory."""
- return os.path.join(self.metadata_dir, 'test')
+ return os.path.join(self.metadata_dir, "test")
@property
def installed(self):
- msg = ('the "PackageBase.installed" property is deprecated and will be '
- 'removed in Spack v0.19, use "Spec.installed" instead')
+ msg = (
+ 'the "PackageBase.installed" property is deprecated and will be '
+ 'removed in Spack v0.19, use "Spec.installed" instead'
+ )
warnings.warn(msg)
return self.spec.installed
@property
def installed_upstream(self):
- msg = ('the "PackageBase.installed_upstream" property is deprecated and will '
- 'be removed in Spack v0.19, use "Spec.installed_upstream" instead')
+ msg = (
+ 'the "PackageBase.installed_upstream" property is deprecated and will '
+ 'be removed in Spack v0.19, use "Spec.installed_upstream" instead'
+ )
warnings.warn(msg)
return self.spec.installed_upstream
@@ -1262,8 +1277,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@property
def fetcher(self):
if not self.spec.versions.concrete:
- raise ValueError("Cannot retrieve fetcher for"
- " package without concrete version.")
+ raise ValueError("Cannot retrieve fetcher for" " package without concrete version.")
if not self._fetcher:
self._fetcher = self._make_fetcher()
return self._fetcher
@@ -1284,9 +1298,10 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
run dependency in another.
"""
return dict(
- (name, conds) for name, conds in cls.dependencies.items()
- if any(dt in cls.dependencies[name][cond].type
- for cond in conds for dt in deptypes))
+ (name, conds)
+ for name, conds in cls.dependencies.items()
+ if any(dt in cls.dependencies[name][cond].type for cond in conds for dt in deptypes)
+ )
@property
def extendee_spec(self):
@@ -1299,7 +1314,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
deps = []
# If the extendee is in the spec's deps already, return that.
- for dep in self.spec.traverse(deptype=('link', 'run')):
+ for dep in self.spec.traverse(deptype=("link", "run")):
if dep.name in self.extendees:
deps.append(dep)
@@ -1342,7 +1357,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
return bool(self.extendees)
def extends(self, spec):
- '''
+ """
Returns True if this package extends the given spec.
If ``self.spec`` is concrete, this returns whether this package extends
@@ -1350,7 +1365,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
If ``self.spec`` is not concrete, this returns whether this package may
extend the given spec.
- '''
+ """
if spec.name not in self.extendees:
return False
s = self.extendee_spec
@@ -1359,8 +1374,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def is_activated(self, view):
"""Return True if package is activated."""
if not self.is_extension:
- raise ValueError(
- "is_activated called on package that is not an extension.")
+ raise ValueError("is_activated called on package that is not an extension.")
if self.extendee_spec.installed_upstream:
# If this extends an upstream package, it cannot be activated for
# it. This bypasses construction of the extension map, which can
@@ -1376,7 +1390,8 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
return any(
any(self.spec.satisfies(c) for c in constraints)
- for s, constraints in self.provided.items() if s.name == vpkg_name
+ for s, constraints in self.provided.items()
+ if s.name == vpkg_name
)
@property
@@ -1384,8 +1399,11 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
virtual packages provided by this package with its spec
"""
- return [vspec for vspec, constraints in self.provided.items()
- if any(self.spec.satisfies(c) for c in constraints)]
+ return [
+ vspec
+ for vspec, constraints in self.provided.items()
+ if any(self.spec.satisfies(c) for c in constraints)
+ ]
@property
def prefix(self):
@@ -1403,8 +1421,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
if not self.spec.concrete:
raise ValueError("Can only get a compiler for a concrete package.")
- return spack.compilers.compiler_for_spec(self.spec.compiler,
- self.spec.architecture)
+ return spack.compilers.compiler_for_spec(self.spec.compiler, self.spec.architecture)
def url_version(self, version):
"""
@@ -1433,10 +1450,14 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
Returns:
(str): default manual download instructions
"""
- required = ('Manual download is required for {0}. '
- .format(self.spec.name) if self.manual_download else '')
- return ('{0}Refer to {1} for download instructions.'
- .format(required, self.spec.package.homepage))
+ required = (
+ "Manual download is required for {0}. ".format(self.spec.name)
+ if self.manual_download
+ else ""
+ )
+ return "{0}Refer to {1} for download instructions.".format(
+ required, self.spec.package.homepage
+ )
def do_fetch(self, mirror_only=False):
"""
@@ -1444,55 +1465,61 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
Working directory will be set to the stage directory.
"""
if not self.has_code or self.spec.external:
- tty.debug('No fetch required for {0}'.format(self.name))
+ tty.debug("No fetch required for {0}".format(self.name))
return
- checksum = spack.config.get('config:checksum')
+ checksum = spack.config.get("config:checksum")
fetch = self.stage.managed_by_spack
- if checksum and fetch and (self.version not in self.versions) \
- and (not isinstance(self.version, GitVersion)):
- tty.warn("There is no checksum on file to fetch %s safely." %
- self.spec.cformat('{name}{@version}'))
+ if (
+ checksum
+ and fetch
+ and (self.version not in self.versions)
+ and (not isinstance(self.version, GitVersion))
+ ):
+ tty.warn(
+ "There is no checksum on file to fetch %s safely."
+ % self.spec.cformat("{name}{@version}")
+ )
# Ask the user whether to skip the checksum if we're
# interactive, but just fail if non-interactive.
ck_msg = "Add a checksum or use --no-checksum to skip this check."
ignore_checksum = False
if sys.stdout.isatty():
- ignore_checksum = tty.get_yes_or_no(" Fetch anyway?",
- default=False)
+ ignore_checksum = tty.get_yes_or_no(" Fetch anyway?", default=False)
if ignore_checksum:
- tty.debug('Fetching with no checksum. {0}'
- .format(ck_msg))
+ tty.debug("Fetching with no checksum. {0}".format(ck_msg))
if not ignore_checksum:
- raise FetchError("Will not fetch %s" %
- self.spec.format('{name}{@version}'), ck_msg)
+ raise FetchError(
+ "Will not fetch %s" % self.spec.format("{name}{@version}"), ck_msg
+ )
- deprecated = spack.config.get('config:deprecated')
- if not deprecated and self.versions.get(
- self.version, {}).get('deprecated', False):
- tty.warn("{0} is deprecated and may be removed in a future Spack "
- "release.".format(
- self.spec.format('{name}{@version}')))
+ deprecated = spack.config.get("config:deprecated")
+ if not deprecated and self.versions.get(self.version, {}).get("deprecated", False):
+ tty.warn(
+ "{0} is deprecated and may be removed in a future Spack "
+ "release.".format(self.spec.format("{name}{@version}"))
+ )
# Ask the user whether to install deprecated version if we're
# interactive, but just fail if non-interactive.
- dp_msg = ("If you are willing to be a maintainer for this version "
- "of the package, submit a PR to remove `deprecated=False"
- "`, or use `--deprecated` to skip this check.")
+ dp_msg = (
+ "If you are willing to be a maintainer for this version "
+ "of the package, submit a PR to remove `deprecated=False"
+ "`, or use `--deprecated` to skip this check."
+ )
ignore_deprecation = False
if sys.stdout.isatty():
- ignore_deprecation = tty.get_yes_or_no(" Fetch anyway?",
- default=False)
+ ignore_deprecation = tty.get_yes_or_no(" Fetch anyway?", default=False)
if ignore_deprecation:
- tty.debug("Fetching deprecated version. {0}".format(
- dp_msg))
+ tty.debug("Fetching deprecated version. {0}".format(dp_msg))
if not ignore_deprecation:
- raise FetchError("Will not fetch {0}".format(
- self.spec.format('{name}{@version}')), dp_msg)
+ raise FetchError(
+ "Will not fetch {0}".format(self.spec.format("{name}{@version}")), dp_msg
+ )
self.stage.create()
err_msg = None if not self.manual_download else self.download_instr
@@ -1536,43 +1563,45 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
self.do_stage()
# Package can add its own patch function.
- has_patch_fun = hasattr(self, 'patch') and callable(self.patch)
+ has_patch_fun = hasattr(self, "patch") and callable(self.patch)
# Get the patches from the spec (this is a shortcut for the MV-variant)
patches = self.spec.patches
# If there are no patches, note it.
if not patches and not has_patch_fun:
- tty.msg('No patches needed for {0}'.format(self.name))
+ tty.msg("No patches needed for {0}".format(self.name))
return
# Construct paths to special files in the archive dir used to
# keep track of whether patches were successfully applied.
archive_dir = self.stage.source_path
- good_file = os.path.join(archive_dir, '.spack_patched')
- no_patches_file = os.path.join(archive_dir, '.spack_no_patches')
- bad_file = os.path.join(archive_dir, '.spack_patch_failed')
+ good_file = os.path.join(archive_dir, ".spack_patched")
+ no_patches_file = os.path.join(archive_dir, ".spack_no_patches")
+ bad_file = os.path.join(archive_dir, ".spack_patch_failed")
# If we encounter an archive that failed to patch, restage it
# so that we can apply all the patches again.
if os.path.isfile(bad_file):
if self.stage.managed_by_spack:
- tty.debug('Patching failed last time. Restaging.')
+ tty.debug("Patching failed last time. Restaging.")
self.stage.restage()
else:
# develop specs/ DIYStages may have patch failures but
# should never be restaged
- msg = ('A patch failure was detected in %s.' % self.name +
- ' Build errors may occur due to this.')
+ msg = (
+ "A patch failure was detected in %s." % self.name
+ + " Build errors may occur due to this."
+ )
tty.warn(msg)
return
# If this file exists, then we already applied all the patches.
if os.path.isfile(good_file):
- tty.msg('Already patched {0}'.format(self.name))
+ tty.msg("Already patched {0}".format(self.name))
return
elif os.path.isfile(no_patches_file):
- tty.msg('No patches needed for {0}'.format(self.name))
+ tty.msg("No patches needed for {0}".format(self.name))
return
# Apply all the patches for specs that match this one
@@ -1581,13 +1610,13 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
try:
with fsys.working_dir(self.stage.source_path):
patch.apply(self.stage)
- tty.msg('Applied patch {0}'.format(patch.path_or_url))
+ tty.msg("Applied patch {0}".format(patch.path_or_url))
patched = True
except spack.error.SpackError as e:
tty.debug(e)
# Touch bad file if anything goes wrong.
- tty.msg('Patch %s failed.' % patch.path_or_url)
+ tty.msg("Patch %s failed." % patch.path_or_url)
fsys.touch(bad_file)
raise
@@ -1595,7 +1624,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
try:
with fsys.working_dir(self.stage.source_path):
self.patch()
- tty.msg('Ran patch() for {0}'.format(self.name))
+ tty.msg("Ran patch() for {0}".format(self.name))
patched = True
except spack.multimethod.NoSuchMethodError:
# We are running a multimethod without a default case.
@@ -1605,12 +1634,12 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# directive, AND the patch function didn't apply, say
# no patches are needed. Otherwise, we already
# printed a message for each patch.
- tty.msg('No patches needed for {0}'.format(self.name))
+ tty.msg("No patches needed for {0}".format(self.name))
except spack.error.SpackError as e:
tty.debug(e)
# Touch bad file if anything goes wrong.
- tty.msg('patch() function failed for {0}'.format(self.name))
+ tty.msg("patch() function failed for {0}".format(self.name))
fsys.touch(bad_file)
raise
@@ -1681,11 +1710,11 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
env = spack.environment.active_environment()
from_local_sources = env and env.is_develop(self.spec)
if self.has_code and not self.spec.external and not from_local_sources:
- message = 'Missing a source id for {s.name}@{s.version}'
+ message = "Missing a source id for {s.name}@{s.version}"
tty.warn(message.format(s=self))
- hash_content.append(''.encode('utf-8'))
+ hash_content.append("".encode("utf-8"))
else:
- hash_content.append(source_id.encode('utf-8'))
+ hash_content.append(source_id.encode("utf-8"))
# patch sha256's
# Only include these if they've been assigned by the concretizer.
@@ -1693,23 +1722,20 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# we have to call package_hash *before* marking specs concrete
if self.spec._patches_assigned():
hash_content.extend(
- ':'.join((p.sha256, str(p.level))).encode('utf-8')
- for p in self.spec.patches
+ ":".join((p.sha256, str(p.level))).encode("utf-8") for p in self.spec.patches
)
# package.py contents
- hash_content.append(package_hash(self.spec, source=content).encode('utf-8'))
+ hash_content.append(package_hash(self.spec, source=content).encode("utf-8"))
# put it all together and encode as base32
b32_hash = base64.b32encode(
- hashlib.sha256(
- bytes().join(sorted(hash_content))
- ).digest()
+ hashlib.sha256(bytes().join(sorted(hash_content))).digest()
).lower()
# convert from bytes if running python 3
if sys.version_info[0] >= 3:
- b32_hash = b32_hash.decode('utf-8')
+ b32_hash = b32_hash.decode("utf-8")
return b32_hash
@@ -1726,14 +1752,14 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
make = copy.deepcopy(inspect.getmodule(self).make)
# Use English locale for missing target message comparison
- make.add_default_env('LC_ALL', 'C')
+ make.add_default_env("LC_ALL", "C")
# Check if we have a Makefile
- for makefile in ['GNUmakefile', 'Makefile', 'makefile']:
+ for makefile in ["GNUmakefile", "Makefile", "makefile"]:
if os.path.exists(makefile):
break
else:
- tty.debug('No Makefile found in the build directory')
+ tty.debug("No Makefile found in the build directory")
return False
# Check if 'target' is a valid target.
@@ -1755,17 +1781,16 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
]
kwargs = {
- 'fail_on_error': False,
- 'output': os.devnull,
- 'error': str,
+ "fail_on_error": False,
+ "output": os.devnull,
+ "error": str,
}
- stderr = make('-n', target, **kwargs)
+ stderr = make("-n", target, **kwargs)
for missing_target_msg in missing_target_msgs:
if missing_target_msg.format(target) in stderr:
- tty.debug("Target '{0}' not found in {1}"
- .format(target, makefile))
+ tty.debug("Target '{0}' not found in {1}".format(target, makefile))
return False
return True
@@ -1792,21 +1817,19 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
ninja = inspect.getmodule(self).ninja
# Check if we have a Ninja build script
- if not os.path.exists('build.ninja'):
- tty.debug('No Ninja build script found in the build directory')
+ if not os.path.exists("build.ninja"):
+ tty.debug("No Ninja build script found in the build directory")
return False
# Get a list of all targets in the Ninja build script
# https://ninja-build.org/manual.html#_extra_tools
- all_targets = ninja('-t', 'targets', 'all', output=str).split('\n')
+ all_targets = ninja("-t", "targets", "all", output=str).split("\n")
# Check if 'target' is a valid target
- matches = [line for line in all_targets
- if line.startswith(target + ':')]
+ matches = [line for line in all_targets if line.startswith(target + ":")]
if not matches:
- tty.debug("Target '{0}' not found in build.ninja"
- .format(target))
+ tty.debug("Target '{0}' not found in build.ninja".format(target))
return False
return True
@@ -1847,8 +1870,8 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
return resources
def _resource_stage(self, resource):
- pieces = ['resource', resource.name, self.spec.dag_hash()]
- resource_stage_folder = '-'.join(pieces)
+ pieces = ["resource", resource.name, self.spec.dag_hash()]
+ resource_stage_folder = "-".join(pieces)
return resource_stage_folder
@contextlib.contextmanager
@@ -1897,9 +1920,9 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
# Non-transitive dev specs need to keep the dev stage and be built from
# source every time. Transitive ones just need to be built from source.
- dev_path_var = self.spec.variants.get('dev_path', None)
+ dev_path_var = self.spec.variants.get("dev_path", None)
if dev_path_var:
- kwargs['keep_stage'] = True
+ kwargs["keep_stage"] = True
builder = PackageInstaller([(self, kwargs)])
builder.install()
@@ -1937,14 +1960,13 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
self.tested_file = self.test_suite.tested_file_for_spec(self.spec)
pkg_id = self.test_suite.test_pkg_id(self.spec)
else:
- self.test_log_file = fsys.join_path(
- self.stage.path, _spack_install_test_log)
- pkg_id = self.spec.format('{name}-{version}-{hash:7}')
+ self.test_log_file = fsys.join_path(self.stage.path, _spack_install_test_log)
+ pkg_id = self.spec.format("{name}-{version}-{hash:7}")
fsys.touch(self.test_log_file) # Otherwise log_parse complains
with tty.log.log_output(self.test_log_file, verbose) as logger:
with logger.force_echo():
- tty.msg('Testing package {0}'.format(pkg_id))
+ tty.msg("Testing package {0}".format(pkg_id))
# use debug print levels for log file to record commands
old_debug = tty.is_debug()
@@ -1959,30 +1981,36 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def do_test(self, dirty=False, externals=False):
if self.test_requires_compiler:
compilers = spack.compilers.compilers_for_spec(
- self.spec.compiler, arch_spec=self.spec.architecture)
+ self.spec.compiler, arch_spec=self.spec.architecture
+ )
if not compilers:
- tty.error('Skipping tests for package %s\n' %
- self.spec.format('{name}-{version}-{hash:7}') +
- 'Package test requires missing compiler %s' %
- self.spec.compiler)
+ tty.error(
+ "Skipping tests for package %s\n"
+ % self.spec.format("{name}-{version}-{hash:7}")
+ + "Package test requires missing compiler %s" % self.spec.compiler
+ )
return
- kwargs = {
- 'dirty': dirty, 'fake': False, 'context': 'test',
- 'externals': externals
- }
+ kwargs = {"dirty": dirty, "fake": False, "context": "test", "externals": externals}
if tty.is_verbose():
- kwargs['verbose'] = True
- spack.build_environment.start_build_process(
- self, test_process, kwargs)
+ kwargs["verbose"] = True
+ spack.build_environment.start_build_process(self, test_process, kwargs)
def test(self):
# Defer tests to virtual and concrete packages
pass
- def run_test(self, exe, options=[], expected=[], status=0,
- installed=False, purpose='', skip_missing=False,
- work_dir=None):
+ def run_test(
+ self,
+ exe,
+ options=[],
+ expected=[],
+ status=0,
+ installed=False,
+ purpose="",
+ skip_missing=False,
+ work_dir=None,
+ ):
"""Run the test and confirm the expected results are obtained
Log any failures and continue, they will be re-raised later
@@ -2001,24 +2029,22 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
in the install prefix bin directory or the provided work_dir
work_dir (str or None): path to the smoke test directory
"""
- wdir = '.' if work_dir is None else work_dir
+ wdir = "." if work_dir is None else work_dir
with fsys.working_dir(wdir, create=True):
try:
runner = which(exe)
if runner is None and skip_missing:
return
- assert runner is not None, \
- "Failed to find executable '{0}'".format(exe)
+ assert runner is not None, "Failed to find executable '{0}'".format(exe)
- self._run_test_helper(
- runner, options, expected, status, installed, purpose)
+ self._run_test_helper(runner, options, expected, status, installed, purpose)
print("PASSED")
return True
except BaseException as e:
# print a summary of the error to the log file
# so that cdash and junit reporters know about it
exc_type, _, tb = sys.exc_info()
- print('FAILED: {0}'.format(e))
+ print("FAILED: {0}".format(e))
import traceback
# remove the current call frame to exclude the extract_stack
@@ -2033,7 +2059,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
for i, entry in enumerate(stack):
filename, lineno, function, text = entry
if spack.repo.is_package_file(filename):
- with open(filename, 'r') as f:
+ with open(filename, "r") as f:
lines = f.readlines()
new_lineno = lineno - 2
text = lines[new_lineno]
@@ -2042,44 +2068,39 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# Format the stack to print and print it
out = traceback.format_list(stack)
for line in out:
- print(line.rstrip('\n'))
+ print(line.rstrip("\n"))
if exc_type is spack.util.executable.ProcessError:
out = six.StringIO()
spack.build_environment.write_log_summary(
- out, 'test', self.test_log_file, last=1)
+ out, "test", self.test_log_file, last=1
+ )
m = out.getvalue()
else:
# We're below the package context, so get context from
# stack instead of from traceback.
# The traceback is truncated here, so we can't use it to
# traverse the stack.
- m = '\n'.join(
- spack.build_environment.get_package_context(tb)
- )
+ m = "\n".join(spack.build_environment.get_package_context(tb))
exc = e # e is deleted after this block
# If we fail fast, raise another error
- if spack.config.get('config:fail_fast', False):
+ if spack.config.get("config:fail_fast", False):
raise TestFailure([(exc, m)])
else:
self.test_failures.append((exc, m))
return False
- def _run_test_helper(self, runner, options, expected, status, installed,
- purpose):
+ def _run_test_helper(self, runner, options, expected, status, installed, purpose):
status = [status] if isinstance(status, six.integer_types) else status
- expected = [expected] if isinstance(expected, six.string_types) else \
- expected
- options = [options] if isinstance(options, six.string_types) else \
- options
+ expected = [expected] if isinstance(expected, six.string_types) else expected
+ options = [options] if isinstance(options, six.string_types) else options
if purpose:
tty.msg(purpose)
else:
- tty.debug('test: {0}: expect command status in {1}'
- .format(runner.name, status))
+ tty.debug("test: {0}: expect command status in {1}".format(runner.name, status))
if installed:
msg = "Executable '{0}' expected in prefix".format(runner.name)
@@ -2089,18 +2110,17 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
try:
output = runner(*options, output=str.split, error=str.split)
- assert 0 in status, \
- 'Expected {0} execution to fail'.format(runner.name)
+ assert 0 in status, "Expected {0} execution to fail".format(runner.name)
except ProcessError as err:
output = str(err)
- match = re.search(r'exited with status ([0-9]+)', output)
+ match = re.search(r"exited with status ([0-9]+)", output)
if not (match and int(match.group(1)) in status):
raise
for check in expected:
- cmd = ' '.join([runner.name] + options)
+ cmd = " ".join([runner.name] + options)
msg = "Expected '{0}' to match output of `{1}`".format(check, cmd)
- msg += '\n\nOutput: {0}'.format(output)
+ msg += "\n\nOutput: {0}".format(output)
assert re.search(check, output), msg
def unit_test_check(self):
@@ -2131,16 +2151,16 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
abs_path = os.path.join(self.prefix, path)
if not predicate(abs_path):
raise InstallError(
- "Install failed for %s. No such %s in prefix: %s" %
- (self.name, filetype, path))
+ "Install failed for %s. No such %s in prefix: %s"
+ % (self.name, filetype, path)
+ )
- check_paths(self.sanity_check_is_file, 'file', os.path.isfile)
- check_paths(self.sanity_check_is_dir, 'directory', os.path.isdir)
+ check_paths(self.sanity_check_is_file, "file", os.path.isfile)
+ check_paths(self.sanity_check_is_dir, "directory", os.path.isdir)
ignore_file = match_predicate(spack.store.layout.hidden_file_regexes)
if all(map(ignore_file, os.listdir(self.prefix))):
- raise InstallError(
- "Install failed for %s. Nothing was installed!" % self.name)
+ raise InstallError("Install failed for %s. Nothing was installed!" % self.name)
def apply_macos_rpath_fixups(self):
"""On Darwin, make installed libraries more easily relocatable.
@@ -2153,10 +2173,11 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
It should be added as a @run_after to packaging systems (or individual
packages) that do not install relocatable libraries by default.
"""
- if 'platform=darwin' not in self.spec:
+ if "platform=darwin" not in self.spec:
return
from spack.relocate import fixup_macos_rpaths
+
fixup_macos_rpaths(self.spec)
@property
@@ -2337,8 +2358,8 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
def flags_to_build_system_args(self, flags):
# Takes flags as a dict name: list of values
if any(v for v in flags.values()):
- msg = 'The {0} build system'.format(self.__class__.__name__)
- msg += ' cannot take command line arguments for compiler flags'
+ msg = "The {0} build system".format(self.__class__.__name__)
+ msg += " cannot take command line arguments for compiler flags"
raise NotImplementedError(msg)
@staticmethod
@@ -2350,12 +2371,10 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
if specs:
if deprecator:
spack.store.db.deprecate(specs[0], deprecator)
- tty.debug('Deprecating stale DB entry for {0}'
- .format(spec.short_spec))
+ tty.debug("Deprecating stale DB entry for {0}".format(spec.short_spec))
else:
spack.store.db.remove(specs[0])
- tty.debug('Removed stale DB entry for {0}'
- .format(spec.short_spec))
+ tty.debug("Removed stale DB entry for {0}".format(spec.short_spec))
return
else:
raise InstallError(str(spec) + " is not installed.")
@@ -2363,7 +2382,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
if not force:
dependents = spack.store.db.installed_relatives(
spec,
- direction='parents',
+ direction="parents",
transitive=True,
deptype=("link", "run"),
)
@@ -2387,10 +2406,10 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
error_msg = (
"One or more pre_uninstall hooks have failed"
" for {0}, but Spack is continuing with the"
- " uninstall".format(str(spec)))
+ " uninstall".format(str(spec))
+ )
if isinstance(error, spack.error.SpackError):
- error_msg += (
- "\n\nError message: {0}".format(str(error)))
+ error_msg += "\n\nError message: {0}".format(str(error))
tty.warn(error_msg)
# Note that if the uninstall succeeds then we won't be
# seeing this error again and won't have another chance
@@ -2400,7 +2419,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# Uninstalling in Spack only requires removing the prefix.
if not spec.external:
- msg = 'Deleting package prefix [{0}]'
+ msg = "Deleting package prefix [{0}]"
tty.debug(msg.format(spec.short_spec))
# test if spec is already deprecated, not whether we want to
# deprecate it now
@@ -2408,11 +2427,11 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
spack.store.layout.remove_install_directory(spec, deprecated)
# Delete DB entry
if deprecator:
- msg = 'deprecating DB entry [{0}] in favor of [{1}]'
+ msg = "deprecating DB entry [{0}] in favor of [{1}]"
tty.debug(msg.format(spec.short_spec, deprecator.short_spec))
spack.store.db.deprecate(spec, deprecator)
else:
- msg = 'Deleting DB entry [{0}]'
+ msg = "Deleting DB entry [{0}]"
tty.debug(msg.format(spec.short_spec))
spack.store.db.remove(spec)
@@ -2427,12 +2446,13 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
error_msg = (
"One or more post-uninstallation hooks failed for"
" {0}, but the prefix has been removed (if it is not"
- " external).".format(str(spec)))
+ " external).".format(str(spec))
+ )
tb_msg = traceback.format_exc()
error_msg += "\n\nThe error:\n\n{0}".format(tb_msg)
tty.warn(error_msg)
- tty.msg('Successfully uninstalled {0}'.format(spec.short_spec))
+ tty.msg("Successfully uninstalled {0}".format(spec.short_spec))
def do_uninstall(self, force=False):
"""Uninstall this package by spec."""
@@ -2445,28 +2465,25 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
# Check whether package to deprecate has active extensions
if self.extendable:
- view = spack.filesystem_view.YamlFilesystemView(spec.prefix,
- spack.store.layout)
+ view = spack.filesystem_view.YamlFilesystemView(spec.prefix, spack.store.layout)
active_exts = view.extensions_layout.extension_map(spec).values()
if active_exts:
- short = spec.format('{name}/{hash:7}')
+ short = spec.format("{name}/{hash:7}")
m = "Spec %s has active extensions\n" % short
for active in active_exts:
- m += ' %s\n' % active.format('{name}/{hash:7}')
+ m += " %s\n" % active.format("{name}/{hash:7}")
m += "Deactivate extensions before deprecating %s" % short
tty.die(m)
# Check whether package to deprecate is an active extension
if self.is_extension:
extendee = self.extendee_spec
- view = spack.filesystem_view.YamlFilesystemView(extendee.prefix,
- spack.store.layout)
+ view = spack.filesystem_view.YamlFilesystemView(extendee.prefix, spack.store.layout)
if self.is_activated(view):
- short = spec.format('{name}/{hash:7}')
- short_ext = extendee.format('{name}/{hash:7}')
- msg = "Spec %s is an active extension of %s\n" % (short,
- short_ext)
+ short = spec.format("{name}/{hash:7}")
+ short_ext = extendee.format("{name}/{hash:7}")
+ msg = "Spec %s is an active extension of %s\n" % (short, short_ext)
msg += "Deactivate %s to be able to deprecate it" % short
tty.die(msg)
@@ -2477,14 +2494,12 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
old_deprecator = spack.store.db.deprecator(spec)
if old_deprecator:
# Find this specs yaml file from its old deprecation
- self_yaml = spack.store.layout.deprecated_file_path(spec,
- old_deprecator)
+ self_yaml = spack.store.layout.deprecated_file_path(spec, old_deprecator)
else:
self_yaml = spack.store.layout.spec_file_path(spec)
# copy spec metadata to "deprecated" dir of deprecator
- depr_yaml = spack.store.layout.deprecated_file_path(spec,
- deprecator)
+ depr_yaml = spack.store.layout.deprecated_file_path(spec, deprecator)
fsys.mkdirp(os.path.dirname(depr_yaml))
shutil.copy2(self_yaml, depr_yaml)
@@ -2509,13 +2524,11 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
extendee_package._check_extendable()
if not self.extendee_spec.installed:
- raise ActivationError(
- "Can only (de)activate extensions for installed packages.")
+ raise ActivationError("Can only (de)activate extensions for installed packages.")
if not self.spec.installed:
raise ActivationError("Extensions must first be installed.")
if self.extendee_spec.name not in self.extendees:
- raise ActivationError("%s does not extend %s!" %
- (self.name, self.extendee.name))
+ raise ActivationError("%s does not extend %s!" % (self.name, self.extendee.name))
def do_activate(self, view=None, with_dependencies=True, verbose=True):
"""Called on an extension to invoke the extendee's activate method.
@@ -2524,19 +2537,20 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
activate() directly.
"""
if verbose:
- tty.msg('Activating extension {0} for {1}'.format(
- self.spec.cshort_spec, self.extendee_spec.cshort_spec))
+ tty.msg(
+ "Activating extension {0} for {1}".format(
+ self.spec.cshort_spec, self.extendee_spec.cshort_spec
+ )
+ )
self._sanity_check_extension()
if not view:
- view = YamlFilesystemView(
- self.extendee_spec.prefix, spack.store.layout)
+ view = YamlFilesystemView(self.extendee_spec.prefix, spack.store.layout)
extensions_layout = view.extensions_layout
try:
- extensions_layout.check_extension_conflict(
- self.extendee_spec, self.spec)
+ extensions_layout.check_extension_conflict(self.extendee_spec, self.spec)
except spack.directory_layout.ExtensionAlreadyInstalledError as e:
# already installed, let caller know
tty.msg(e.message)
@@ -2547,21 +2561,26 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
for spec in self.dependency_activations():
if not spec.package.is_activated(view):
spec.package.do_activate(
- view, with_dependencies=with_dependencies,
- verbose=verbose)
+ view, with_dependencies=with_dependencies, verbose=verbose
+ )
- self.extendee_spec.package.activate(
- self, view, **self.extendee_args)
+ self.extendee_spec.package.activate(self, view, **self.extendee_args)
extensions_layout.add_extension(self.extendee_spec, self.spec)
if verbose:
- tty.debug('Activated extension {0} for {1}'.format(
- self.spec.cshort_spec, self.extendee_spec.cshort_spec))
+ tty.debug(
+ "Activated extension {0} for {1}".format(
+ self.spec.cshort_spec, self.extendee_spec.cshort_spec
+ )
+ )
def dependency_activations(self):
- return (spec for spec in self.spec.traverse(root=False, deptype='run')
- if spec.package.extends(self.extendee_spec))
+ return (
+ spec
+ for spec in self.spec.traverse(root=False, deptype="run")
+ if spec.package.extends(self.extendee_spec)
+ )
def activate(self, extension, view, **kwargs):
"""
@@ -2574,7 +2593,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
Spack internals (commands, hooks, etc.) should call
do_activate() method so that proper checks are always executed.
"""
- view.merge(extension.spec, ignore=kwargs.get('ignore', None))
+ view.merge(extension.spec, ignore=kwargs.get("ignore", None))
def do_deactivate(self, view=None, **kwargs):
"""Remove this extension package from the specified view. Called
@@ -2584,52 +2603,56 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
package instead of raising an error.
"""
self._sanity_check_extension()
- force = kwargs.get('force', False)
- verbose = kwargs.get('verbose', True)
- remove_dependents = kwargs.get('remove_dependents', False)
+ force = kwargs.get("force", False)
+ verbose = kwargs.get("verbose", True)
+ remove_dependents = kwargs.get("remove_dependents", False)
if verbose:
- tty.msg('Deactivating extension {0} for {1}'.format(
- self.spec.cshort_spec, self.extendee_spec.cshort_spec))
+ tty.msg(
+ "Deactivating extension {0} for {1}".format(
+ self.spec.cshort_spec, self.extendee_spec.cshort_spec
+ )
+ )
if not view:
- view = YamlFilesystemView(
- self.extendee_spec.prefix, spack.store.layout)
+ view = YamlFilesystemView(self.extendee_spec.prefix, spack.store.layout)
extensions_layout = view.extensions_layout
# Allow a force deactivate to happen. This can unlink
# spurious files if something was corrupted.
if not force:
- extensions_layout.check_activated(
- self.extendee_spec, self.spec)
+ extensions_layout.check_activated(self.extendee_spec, self.spec)
- activated = extensions_layout.extension_map(
- self.extendee_spec)
+ activated = extensions_layout.extension_map(self.extendee_spec)
for name, aspec in activated.items():
if aspec == self.spec:
continue
- for dep in aspec.traverse(deptype='run'):
+ for dep in aspec.traverse(deptype="run"):
if self.spec == dep:
if remove_dependents:
aspec.package.do_deactivate(**kwargs)
else:
- msg = ('Cannot deactivate {0} because {1} is '
- 'activated and depends on it')
- raise ActivationError(msg.format(
- self.spec.cshort_spec, aspec.cshort_spec))
+ msg = (
+ "Cannot deactivate {0} because {1} is "
+ "activated and depends on it"
+ )
+ raise ActivationError(
+ msg.format(self.spec.cshort_spec, aspec.cshort_spec)
+ )
- self.extendee_spec.package.deactivate(
- self, view, **self.extendee_args)
+ self.extendee_spec.package.deactivate(self, view, **self.extendee_args)
# redundant activation check -- makes SURE the spec is not
# still activated even if something was wrong above.
if self.is_activated(view):
- extensions_layout.remove_extension(
- self.extendee_spec, self.spec)
+ extensions_layout.remove_extension(self.extendee_spec, self.spec)
if verbose:
- tty.debug('Deactivated extension {0} for {1}'.format(
- self.spec.cshort_spec, self.extendee_spec.cshort_spec))
+ tty.debug(
+ "Deactivated extension {0} for {1}".format(
+ self.spec.cshort_spec, self.extendee_spec.cshort_spec
+ )
+ )
def deactivate(self, extension, view, **kwargs):
"""
@@ -2640,7 +2663,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
should call do_deactivate() method so that proper checks are
always executed.
"""
- view.unmerge(extension.spec, ignore=kwargs.get('ignore', None))
+ view.unmerge(extension.spec, ignore=kwargs.get("ignore", None))
def view(self):
"""Create a view with the prefix of this package as the root.
@@ -2663,12 +2686,12 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
@classmethod
def format_doc(cls, **kwargs):
"""Wrap doc string at 72 characters and format nicely"""
- indent = kwargs.get('indent', 0)
+ indent = kwargs.get("indent", 0)
if not cls.__doc__:
return ""
- doc = re.sub(r'\s+', ' ', cls.__doc__)
+ doc = re.sub(r"\s+", " ", cls.__doc__)
lines = textwrap.wrap(doc, 72)
results = six.StringIO()
for line in lines:
@@ -2685,16 +2708,16 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
list: a list of URLs
"""
urls = []
- if hasattr(self, 'url') and self.url:
+ if hasattr(self, "url") and self.url:
urls.append(self.url)
# fetch from first entry in urls to save time
- if hasattr(self, 'urls') and self.urls:
+ if hasattr(self, "urls") and self.urls:
urls.append(self.urls[0])
for args in self.versions.values():
- if 'url' in args:
- urls.append(args['url'])
+ if "url" in args:
+ urls.append(args["url"])
return urls
def fetch_remote_versions(self, concurrency=128):
@@ -2717,18 +2740,15 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
reference_package=self,
)
except spack.util.web.NoNetworkConnectionError as e:
- tty.die("Package.fetch_versions couldn't connect to:", e.url,
- e.message)
+ tty.die("Package.fetch_versions couldn't connect to:", e.url, e.message)
@property
def rpath(self):
"""Get the rpath this package links with, as a list of paths."""
rpaths = [self.prefix.lib, self.prefix.lib64]
- deps = self.spec.dependencies(deptype='link')
- rpaths.extend(d.prefix.lib for d in deps
- if os.path.isdir(d.prefix.lib))
- rpaths.extend(d.prefix.lib64 for d in deps
- if os.path.isdir(d.prefix.lib64))
+ deps = self.spec.dependencies(deptype="link")
+ rpaths.extend(d.prefix.lib for d in deps if os.path.isdir(d.prefix.lib))
+ rpaths.extend(d.prefix.lib64 for d in deps if os.path.isdir(d.prefix.lib64))
return rpaths
@property
@@ -2738,31 +2758,28 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""
return " ".join("-Wl,-rpath,%s" % p for p in self.rpath)
- def _run_test_callbacks(self, method_names, callback_type='install'):
+ def _run_test_callbacks(self, method_names, callback_type="install"):
"""Tries to call all of the listed methods, returning immediately
- if the list is None."""
+ if the list is None."""
if method_names is None:
return
- fail_fast = spack.config.get('config:fail_fast', False)
+ fail_fast = spack.config.get("config:fail_fast", False)
with self._setup_test(verbose=False, externals=False) as logger:
# Report running each of the methods in the build log
- print_test_message(
- logger, 'Running {0}-time tests'.format(callback_type), True)
+ print_test_message(logger, "Running {0}-time tests".format(callback_type), True)
for name in method_names:
try:
fn = getattr(self, name)
- msg = 'RUN-TESTS: {0}-time tests [{1}]' \
- .format(callback_type, name),
+ msg = ("RUN-TESTS: {0}-time tests [{1}]".format(callback_type, name),)
print_test_message(logger, msg, True)
fn()
except AttributeError as e:
- msg = 'RUN-TESTS: method not implemented [{0}]' \
- .format(name),
+ msg = ("RUN-TESTS: method not implemented [{0}]".format(name),)
print_test_message(logger, msg, True)
self.test_failures.append((e, msg))
@@ -2778,14 +2795,14 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
"""Tries to call all the methods that are listed in the attribute
``build_time_test_callbacks`` if ``self.run_tests is True``.
"""
- self._run_test_callbacks(self.build_time_test_callbacks, 'build')
+ self._run_test_callbacks(self.build_time_test_callbacks, "build")
@on_package_attributes(run_tests=True)
def _run_default_install_time_test_callbacks(self):
"""Tries to call all the methods that are listed in the attribute
``install_time_test_callbacks`` if ``self.run_tests is True``.
"""
- self._run_test_callbacks(self.install_time_test_callbacks, 'install')
+ self._run_test_callbacks(self.install_time_test_callbacks, "install")
def has_test_method(pkg):
@@ -2799,11 +2816,10 @@ def has_test_method(pkg):
``False``
"""
if not inspect.isclass(pkg):
- tty.die('{0}: is not a class, it is {1}'.format(pkg, type(pkg)))
+ tty.die("{0}: is not a class, it is {1}".format(pkg, type(pkg)))
- return (
- (issubclass(pkg, PackageBase) and pkg.test != PackageBase.test) or
- (isinstance(pkg, PackageBase) and pkg.test.__func__ != PackageBase.test)
+ return (issubclass(pkg, PackageBase) and pkg.test != PackageBase.test) or (
+ isinstance(pkg, PackageBase) and pkg.test.__func__ != PackageBase.test
)
@@ -2816,30 +2832,27 @@ def print_test_message(logger, msg, verbose):
def test_process(pkg, kwargs):
- verbose = kwargs.get('verbose', False)
- externals = kwargs.get('externals', False)
+ verbose = kwargs.get("verbose", False)
+ externals = kwargs.get("externals", False)
with pkg._setup_test(verbose, externals) as logger:
if pkg.spec.external and not externals:
- print_test_message(
- logger, 'Skipped tests for external package', verbose)
+ print_test_message(logger, "Skipped tests for external package", verbose)
return
# run test methods from the package and all virtuals it
# provides virtuals have to be deduped by name
- v_names = list(set([vspec.name
- for vspec in pkg.virtuals_provided]))
+ v_names = list(set([vspec.name for vspec in pkg.virtuals_provided]))
# hack for compilers that are not dependencies (yet)
# TODO: this all eventually goes away
- c_names = ('gcc', 'intel', 'intel-parallel-studio', 'pgi')
+ c_names = ("gcc", "intel", "intel-parallel-studio", "pgi")
if pkg.name in c_names:
- v_names.extend(['c', 'cxx', 'fortran'])
- if pkg.spec.satisfies('llvm+clang'):
- v_names.extend(['c', 'cxx'])
+ v_names.extend(["c", "cxx", "fortran"])
+ if pkg.spec.satisfies("llvm+clang"):
+ v_names.extend(["c", "cxx"])
- test_specs = [pkg.spec] + [spack.spec.Spec(v_name)
- for v_name in sorted(v_names)]
+ test_specs = [pkg.spec] + [spack.spec.Spec(v_name) for v_name in sorted(v_names)]
ran_actual_test_function = False
try:
@@ -2856,15 +2869,13 @@ def test_process(pkg, kwargs):
if spec.concrete:
cache_source = spec_pkg.install_test_root
cache_dir = pkg.test_suite.current_test_cache_dir
- if (os.path.isdir(cache_source) and
- not os.path.exists(cache_dir)):
+ if os.path.isdir(cache_source) and not os.path.exists(cache_dir):
fsys.install_tree(cache_source, cache_dir)
# copy test data into test data dir
data_source = Prefix(spec_pkg.package_dir).test
data_dir = pkg.test_suite.current_test_data_dir
- if (os.path.isdir(data_source) and
- not os.path.exists(data_dir)):
+ if os.path.isdir(data_source) and not os.path.exists(data_dir):
# We assume data dir is used read-only
# maybe enforce this later
shutil.copytree(data_source, data_dir)
@@ -2879,8 +2890,8 @@ def test_process(pkg, kwargs):
# since they do not contribute to package testing.
source = (inspect.getsource(test_fn)).splitlines()[1:]
lines = (ln.strip() for ln in source)
- statements = [ln for ln in lines if not ln.startswith('#')]
- if len(statements) > 0 and statements[0] == 'pass':
+ statements = [ln for ln in lines if not ln.startswith("#")]
+ if len(statements) > 0 and statements[0] == "pass":
continue
# Run the tests
@@ -2900,7 +2911,7 @@ def test_process(pkg, kwargs):
if ran_actual_test_function:
fsys.touch(pkg.tested_file)
else:
- print_test_message(logger, 'No tests to run', verbose)
+ print_test_message(logger, "No tests to run", verbose)
inject_flags = PackageBase.inject_flags
@@ -2910,12 +2921,13 @@ build_system_flags = PackageBase.build_system_flags
class BundlePackage(PackageBase):
"""General purpose bundle, or no-code, package class."""
+
#: There are no phases by default but the property is required to support
#: post-install hooks (e.g., for module generation).
phases = [] # type: List[str]
#: This attribute is used in UI queries that require to know which
#: build-system class we are using
- build_system_class = 'BundlePackage'
+ build_system_class = "BundlePackage"
#: Bundle packages do not have associated source or binary code.
has_code = False
@@ -2925,16 +2937,17 @@ class Package(PackageBase):
"""General purpose class with a single ``install``
phase that needs to be coded by packagers.
"""
+
#: The one and only phase
- phases = ['install']
+ phases = ["install"]
#: This attribute is used in UI queries that require to know which
#: build-system class we are using
- build_system_class = 'Package'
+ build_system_class = "Package"
# This will be used as a registration decorator in user
# packages, if need be
- run_after('install')(PackageBase.sanity_check_prefix)
+ run_after("install")(PackageBase.sanity_check_prefix)
# On macOS, force rpaths for shared library IDs and remove duplicate rpaths
- run_after('install')(PackageBase.apply_macos_rpath_fixups)
+ run_after("install")(PackageBase.apply_macos_rpath_fixups)
def install_dependency_symlinks(pkg, spec, prefix):
@@ -2952,10 +2965,10 @@ def install_dependency_symlinks(pkg, spec, prefix):
def use_cray_compiler_names():
"""Compiler names for builds that rely on cray compiler names."""
- os.environ['CC'] = 'cc'
- os.environ['CXX'] = 'CC'
- os.environ['FC'] = 'ftn'
- os.environ['F77'] = 'ftn'
+ os.environ["CC"] = "cc"
+ os.environ["CXX"] = "CC"
+ os.environ["FC"] = "ftn"
+ os.environ["F77"] = "ftn"
def flatten_dependencies(spec, flat_dir):
@@ -2966,13 +2979,13 @@ def flatten_dependencies(spec, flat_dir):
dep_path = spack.store.layout.path_for_spec(dep)
dep_files = LinkTree(dep_path)
- os.mkdir(flat_dir + '/' + name)
+ os.mkdir(flat_dir + "/" + name)
- conflict = dep_files.find_conflict(flat_dir + '/' + name)
+ conflict = dep_files.find_conflict(flat_dir + "/" + name)
if conflict:
raise DependencyConflictError(conflict)
- dep_files.merge(flat_dir + '/' + name)
+ dep_files.merge(flat_dir + "/" + name)
def possible_dependencies(*pkg_or_spec, **kwargs):
@@ -2990,10 +3003,7 @@ def possible_dependencies(*pkg_or_spec, **kwargs):
pos = spack.spec.Spec(pos)
if spack.repo.path.is_virtual(pos.name):
- packages.extend(
- p.package_class
- for p in spack.repo.path.providers_for(pos.name)
- )
+ packages.extend(p.package_class for p in spack.repo.path.providers_for(pos.name))
continue
else:
packages.append(pos.package_class)
@@ -3014,33 +3024,35 @@ class FetchError(spack.error.SpackError):
class PackageStillNeededError(InstallError):
"""Raised when package is still needed by another on uninstall."""
+
def __init__(self, spec, dependents):
- super(PackageStillNeededError, self).__init__("Cannot uninstall %s" %
- spec)
+ super(PackageStillNeededError, self).__init__("Cannot uninstall %s" % spec)
self.spec = spec
self.dependents = dependents
class PackageError(spack.error.SpackError):
"""Raised when something is wrong with a package definition."""
+
def __init__(self, message, long_msg=None):
super(PackageError, self).__init__(message, long_msg)
class PackageVersionError(PackageError):
"""Raised when a version URL cannot automatically be determined."""
+
def __init__(self, version):
super(PackageVersionError, self).__init__(
"Cannot determine a URL automatically for version %s" % version,
- "Please provide a url for this version in the package.py file.")
+ "Please provide a url for this version in the package.py file.",
+ )
class NoURLError(PackageError):
"""Raised when someone tries to build a URL for a package with no URLs."""
def __init__(self, cls):
- super(NoURLError, self).__init__(
- "Package %s has no version with a URL." % cls.__name__)
+ super(NoURLError, self).__init__("Package %s has no version with a URL." % cls.__name__)
class InvalidPackageOpError(PackageError):
@@ -3053,13 +3065,15 @@ class ExtensionError(PackageError):
class ActivationError(ExtensionError):
"""Raised when there are problems activating an extension."""
+
def __init__(self, msg, long_msg=None):
super(ActivationError, self).__init__(msg, long_msg)
class DependencyConflictError(spack.error.SpackError):
"""Raised when the dependencies cannot be flattened as asked for."""
+
def __init__(self, conflict):
super(DependencyConflictError, self).__init__(
- "%s conflicts with another file in the flattened directory." % (
- conflict))
+ "%s conflicts with another file in the flattened directory." % (conflict)
+ )
diff --git a/lib/spack/spack/package_prefs.py b/lib/spack/spack/package_prefs.py
index 6d08f609fa..975585ac95 100644
--- a/lib/spack/spack/package_prefs.py
+++ b/lib/spack/spack/package_prefs.py
@@ -12,8 +12,7 @@ from spack.config import ConfigError
from spack.util.path import canonicalize_path
from spack.version import VersionList
-_lesser_spec_types = {'compiler': spack.spec.CompilerSpec,
- 'version': VersionList}
+_lesser_spec_types = {"compiler": spack.spec.CompilerSpec, "version": VersionList}
def _spec_type(component):
@@ -50,6 +49,7 @@ class PackagePrefs(object):
provider_spec_list.sort(key=kf)
"""
+
def __init__(self, pkgname, component, vpkg=None, all=True):
self.pkgname = pkgname
self.component = component
@@ -61,20 +61,21 @@ class PackagePrefs(object):
def __call__(self, spec):
"""Return a key object (an index) that can be used to sort spec.
- Sort is done in package order. We don't cache the result of
- this function as Python's sort functions already ensure that the
- key function is called at most once per sorted element.
+ Sort is done in package order. We don't cache the result of
+ this function as Python's sort functions already ensure that the
+ key function is called at most once per sorted element.
"""
if self._spec_order is None:
self._spec_order = self._specs_for_pkg(
- self.pkgname, self.component, self.vpkg, self.all)
+ self.pkgname, self.component, self.vpkg, self.all
+ )
spec_order = self._spec_order
# integer is the index of the first spec in order that satisfies
# spec, or it's a number larger than any position in the order.
match_index = next(
- (i for i, s in enumerate(spec_order) if spec.satisfies(s)),
- len(spec_order))
+ (i for i, s in enumerate(spec_order) if spec.satisfies(s)), len(spec_order)
+ )
if match_index < len(spec_order) and spec_order[match_index] == spec:
# If this is called with multiple specs that all satisfy the same
# minimum index in spec_order, the one which matches that element
@@ -87,14 +88,14 @@ class PackagePrefs(object):
@classmethod
def order_for_package(cls, pkgname, component, vpkg=None, all=True):
"""Given a package name, sort component (e.g, version, compiler, ...),
- and an optional vpkg, return the list from the packages config.
+ and an optional vpkg, return the list from the packages config.
"""
pkglist = [pkgname]
if all:
- pkglist.append('all')
+ pkglist.append("all")
for pkg in pkglist:
- pkg_entry = spack.config.get('packages').get(pkg)
+ pkg_entry = spack.config.get("packages").get(pkg)
if not pkg_entry:
continue
@@ -108,8 +109,8 @@ class PackagePrefs(object):
if order:
ret = [str(s).strip() for s in order]
- if component == 'target':
- ret = ['target=%s' % tname for tname in ret]
+ if component == "target":
+ ret = ["target=%s" % tname for tname in ret]
return ret
return []
@@ -117,30 +118,28 @@ class PackagePrefs(object):
@classmethod
def _specs_for_pkg(cls, pkgname, component, vpkg=None, all=True):
"""Given a sort order specified by the pkgname/component/second_key,
- return a list of CompilerSpecs, VersionLists, or Specs for
- that sorting list.
+ return a list of CompilerSpecs, VersionLists, or Specs for
+ that sorting list.
"""
- pkglist = cls.order_for_package(
- pkgname, component, vpkg, all)
+ pkglist = cls.order_for_package(pkgname, component, vpkg, all)
spec_type = _spec_type(component)
return [spec_type(s) for s in pkglist]
@classmethod
def has_preferred_providers(cls, pkgname, vpkg):
"""Whether specific package has a preferred vpkg providers."""
- return bool(cls.order_for_package(pkgname, 'providers', vpkg, False))
+ return bool(cls.order_for_package(pkgname, "providers", vpkg, False))
@classmethod
def has_preferred_targets(cls, pkg_name):
"""Whether specific package has a preferred vpkg providers."""
- return bool(cls.order_for_package(pkg_name, 'target'))
+ return bool(cls.order_for_package(pkg_name, "target"))
@classmethod
def preferred_variants(cls, pkg_name):
"""Return a VariantMap of preferred variants/values for a spec."""
- for pkg_cls in (pkg_name, 'all'):
- variants = spack.config.get('packages').get(pkg_cls, {}).get(
- 'variants', '')
+ for pkg_cls in (pkg_name, "all"):
+ variants = spack.config.get("packages").get(pkg_cls, {}).get("variants", "")
if variants:
break
@@ -151,8 +150,9 @@ class PackagePrefs(object):
# Only return variants that are actually supported by the package
pkg_cls = spack.repo.path.get_pkg_class(pkg_name)
spec = spack.spec.Spec("%s %s" % (pkg_name, variants))
- return dict((name, variant) for name, variant in spec.variants.items()
- if name in pkg_cls.variants)
+ return dict(
+ (name, variant) for name, variant in spec.variants.items() if name in pkg_cls.variants
+ )
def spec_externals(spec):
@@ -166,26 +166,25 @@ def spec_externals(spec):
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
return pkg_cls(maybe_abstract_spec)
- allpkgs = spack.config.get('packages')
+ allpkgs = spack.config.get("packages")
names = set([spec.name])
names |= set(vspec.name for vspec in _package(spec).virtuals_provided)
external_specs = []
for name in names:
pkg_config = allpkgs.get(name, {})
- pkg_externals = pkg_config.get('externals', [])
+ pkg_externals = pkg_config.get("externals", [])
for entry in pkg_externals:
- spec_str = entry['spec']
- external_path = entry.get('prefix', None)
+ spec_str = entry["spec"]
+ external_path = entry.get("prefix", None)
if external_path:
external_path = canonicalize_path(external_path)
- external_modules = entry.get('modules', None)
+ external_modules = entry.get("modules", None)
external_spec = spack.spec.Spec.from_detection(
spack.spec.Spec(
- spec_str,
- external_path=external_path,
- external_modules=external_modules
- ), extra_attributes=entry.get('extra_attributes', {})
+ spec_str, external_path=external_path, external_modules=external_modules
+ ),
+ extra_attributes=entry.get("extra_attributes", {}),
)
if external_spec.satisfies(spec):
external_specs.append(external_spec)
@@ -197,19 +196,21 @@ def spec_externals(spec):
def is_spec_buildable(spec):
"""Return true if the spec is configured as buildable"""
- allpkgs = spack.config.get('packages')
- all_buildable = allpkgs.get('all', {}).get('buildable', True)
+ allpkgs = spack.config.get("packages")
+ all_buildable = allpkgs.get("all", {}).get("buildable", True)
def _package(s):
pkg_cls = spack.repo.path.get_pkg_class(s.name)
return pkg_cls(s)
# Get the list of names for which all_buildable is overridden
- reverse = [name for name, entry in allpkgs.items()
- if entry.get('buildable', all_buildable) != all_buildable]
+ reverse = [
+ name
+ for name, entry in allpkgs.items()
+ if entry.get("buildable", all_buildable) != all_buildable
+ ]
# Does this spec override all_buildable
- spec_reversed = (spec.name in reverse or
- any(_package(spec).provides(name) for name in reverse))
+ spec_reversed = spec.name in reverse or any(_package(spec).provides(name) for name in reverse)
return not all_buildable if spec_reversed else all_buildable
@@ -220,7 +221,7 @@ def get_package_dir_permissions(spec):
attribute sticky for the directory. Package-specific settings take
precedent over settings for ``all``"""
perms = get_package_permissions(spec)
- if perms & stat.S_IRWXG and spack.config.get('config:allow_sgid', True):
+ if perms & stat.S_IRWXG and spack.config.get("config:allow_sgid", True):
perms |= stat.S_ISGID
return perms
@@ -231,42 +232,44 @@ def get_package_permissions(spec):
Package-specific settings take precedence over settings for ``all``"""
# Get read permissions level
- for name in (spec.name, 'all'):
+ for name in (spec.name, "all"):
try:
- readable = spack.config.get('packages:%s:permissions:read' % name,
- '')
+ readable = spack.config.get("packages:%s:permissions:read" % name, "")
if readable:
break
except AttributeError:
- readable = 'world'
+ readable = "world"
# Get write permissions level
- for name in (spec.name, 'all'):
+ for name in (spec.name, "all"):
try:
- writable = spack.config.get('packages:%s:permissions:write' % name,
- '')
+ writable = spack.config.get("packages:%s:permissions:write" % name, "")
if writable:
break
except AttributeError:
- writable = 'user'
+ writable = "user"
perms = stat.S_IRWXU
- if readable in ('world', 'group'): # world includes group
+ if readable in ("world", "group"): # world includes group
perms |= stat.S_IRGRP | stat.S_IXGRP
- if readable == 'world':
+ if readable == "world":
perms |= stat.S_IROTH | stat.S_IXOTH
- if writable in ('world', 'group'):
- if readable == 'user':
- raise ConfigError('Writable permissions may not be more' +
- ' permissive than readable permissions.\n' +
- ' Violating package is %s' % spec.name)
+ if writable in ("world", "group"):
+ if readable == "user":
+ raise ConfigError(
+ "Writable permissions may not be more"
+ + " permissive than readable permissions.\n"
+ + " Violating package is %s" % spec.name
+ )
perms |= stat.S_IWGRP
- if writable == 'world':
- if readable != 'world':
- raise ConfigError('Writable permissions may not be more' +
- ' permissive than readable permissions.\n' +
- ' Violating package is %s' % spec.name)
+ if writable == "world":
+ if readable != "world":
+ raise ConfigError(
+ "Writable permissions may not be more"
+ + " permissive than readable permissions.\n"
+ + " Violating package is %s" % spec.name
+ )
perms |= stat.S_IWOTH
return perms
@@ -276,14 +279,13 @@ def get_package_group(spec):
"""Return the unix group associated with the spec.
Package-specific settings take precedence over settings for ``all``"""
- for name in (spec.name, 'all'):
+ for name in (spec.name, "all"):
try:
- group = spack.config.get('packages:%s:permissions:group' % name,
- '')
+ group = spack.config.get("packages:%s:permissions:group" % name, "")
if group:
break
except AttributeError:
- group = ''
+ group = ""
return group
diff --git a/lib/spack/spack/package_test.py b/lib/spack/spack/package_test.py
index 1883d3eda1..ba5a604f01 100644
--- a/lib/spack/spack/package_test.py
+++ b/lib/spack/spack/package_test.py
@@ -12,15 +12,14 @@ def compile_c_and_execute(source_file, include_flags, link_flags):
"""Compile C @p source_file with @p include_flags and @p link_flags,
run and return the output.
"""
- cc = which('cc')
+ cc = which("cc")
flags = include_flags
flags.extend([source_file])
- cc('-c', *flags)
+ cc("-c", *flags)
name = os.path.splitext(os.path.basename(source_file))[0]
- cc('-o', "check", "%s.o" % name,
- *link_flags)
+ cc("-o", "check", "%s.o" % name, *link_flags)
- check = Executable('./check')
+ check = Executable("./check")
return check(output=str)
@@ -29,20 +28,19 @@ def compare_output(current_output, blessed_output):
if not (current_output == blessed_output):
print("Produced output does not match expected output.")
print("Expected output:")
- print('-' * 80)
+ print("-" * 80)
print(blessed_output)
- print('-' * 80)
+ print("-" * 80)
print("Produced output:")
- print('-' * 80)
+ print("-" * 80)
print(current_output)
- print('-' * 80)
- raise RuntimeError("Ouput check failed.",
- "See spack_output.log for details")
+ print("-" * 80)
+ raise RuntimeError("Ouput check failed.", "See spack_output.log for details")
def compare_output_file(current_output, blessed_output_file):
"""Same as above, but when the blessed output is given as a file."""
- with open(blessed_output_file, 'r') as f:
+ with open(blessed_output_file, "r") as f:
blessed_output = f.read()
compare_output(current_output, blessed_output)
diff --git a/lib/spack/spack/parse.py b/lib/spack/spack/parse.py
index e06338e0c8..941cb5a93e 100644
--- a/lib/spack/spack/parse.py
+++ b/lib/spack/spack/parse.py
@@ -17,7 +17,7 @@ import spack.util.path as sp
class Token(object):
"""Represents tokens; generated from input by lexer and fed to parse()."""
- def __init__(self, type, value='', start=0, end=0):
+ def __init__(self, type, value="", start=0, end=0):
self.type = type
self.value = value
self.start = start
@@ -39,23 +39,18 @@ class Token(object):
class Lexer(object):
"""Base class for Lexers that keep track of line numbers."""
- def __init__(self, lexicon0, mode_switches_01=[],
- lexicon1=[], mode_switches_10=[]):
+ def __init__(self, lexicon0, mode_switches_01=[], lexicon1=[], mode_switches_10=[]):
self.scanner0 = re.Scanner(lexicon0)
self.mode_switches_01 = mode_switches_01
self.scanner1 = re.Scanner(lexicon1)
self.mode_switches_10 = mode_switches_10
self.mode = 0
- def token(self, type, value=''):
+ def token(self, type, value=""):
if self.mode == 0:
- return Token(type, value,
- self.scanner0.match.start(0),
- self.scanner0.match.end(0))
+ return Token(type, value, self.scanner0.match.start(0), self.scanner0.match.end(0))
else:
- return Token(type, value,
- self.scanner1.match.start(0),
- self.scanner1.match.end(0))
+ return Token(type, value, self.scanner1.match.start(0), self.scanner1.match.end(0))
def lex_word(self, word):
scanner = self.scanner0
@@ -73,8 +68,9 @@ class Lexer(object):
# scan in other mode
self.mode = 1 - self.mode # swap 0/1
remainder_used = 1
- tokens = tokens[:i + 1] + self.lex_word(
- word[word.index(t.value) + len(t.value):])
+ tokens = tokens[: i + 1] + self.lex_word(
+ word[word.index(t.value) + len(t.value) :]
+ )
break
if remainder and not remainder_used:
@@ -94,9 +90,9 @@ class Parser(object):
"""Base class for simple recursive descent parsers."""
def __init__(self, lexer):
- self.tokens = iter([]) # iterators over tokens, handled in order.
+ self.tokens = iter([]) # iterators over tokens, handled in order.
self.token = Token(None) # last accepted token
- self.next = None # next token
+ self.next = None # next token
self.lexer = lexer
self.text = None
@@ -109,8 +105,7 @@ class Parser(object):
def push_tokens(self, iterable):
"""Adds all tokens in some iterable to the token stream."""
- self.tokens = itertools.chain(
- iter(iterable), iter([self.next]), self.tokens)
+ self.tokens = itertools.chain(iter(iterable), iter([self.next]), self.tokens)
self.gettok()
def accept(self, id):
diff --git a/lib/spack/spack/patch.py b/lib/spack/spack/patch.py
index 47daf9ecc7..8ff56e5d51 100644
--- a/lib/spack/spack/patch.py
+++ b/lib/spack/spack/patch.py
@@ -23,7 +23,7 @@ from spack.util.crypto import Checker, checksum
from spack.util.executable import which, which_string
-def apply_patch(stage, patch_path, level=1, working_dir='.'):
+def apply_patch(stage, patch_path, level=1, working_dir="."):
"""Apply the patch at patch_path to code in the stage.
Args:
@@ -33,11 +33,11 @@ def apply_patch(stage, patch_path, level=1, working_dir='.'):
working_dir (str): relative path *within* the stage to change to
(default '.')
"""
- git_utils_path = os.environ.get('PATH', '')
- if sys.platform == 'win32':
- git = which_string('git', required=True)
- git_root = git.split('\\')[:-2]
- git_root.extend(['usr', 'bin'])
+ git_utils_path = os.environ.get("PATH", "")
+ if sys.platform == "win32":
+ git = which_string("git", required=True)
+ git_root = git.split("\\")[:-2]
+ git_root.extend(["usr", "bin"])
git_utils_path = os.sep.join(git_root)
# TODO: Decouple Spack's patch support on Windows from Git
@@ -48,10 +48,7 @@ def apply_patch(stage, patch_path, level=1, working_dir='.'):
# flag is passed.
patch = which("patch", required=True, path=git_utils_path)
with llnl.util.filesystem.working_dir(stage.source_path):
- patch('-s',
- '-p', str(level),
- '-i', patch_path,
- '-d', working_dir)
+ patch("-s", "-p", str(level), "-i", patch_path, "-d", working_dir)
class Patch(object):
@@ -65,6 +62,7 @@ class Patch(object):
it is the dependent's fullname.
"""
+
def __init__(self, pkg, path_or_url, level, working_dir):
# validate level (must be an integer >= 0)
if not isinstance(level, int) or not level >= 0:
@@ -78,8 +76,7 @@ class Patch(object):
self.working_dir = working_dir
def fetch(self):
- """Fetch the patch in case of a UrlPatch
- """
+ """Fetch the patch in case of a UrlPatch"""
def clean(self):
"""Clean up the patch stage in case of a UrlPatch"""
@@ -90,8 +87,7 @@ class Patch(object):
Arguments:
stage (spack.stage.Stage): stage where source code lives
"""
- assert self.path, (
- "Path for patch not set in apply: %s" % self.path_or_url)
+ assert self.path, "Path for patch not set in apply: %s" % self.path_or_url
if not os.path.isfile(self.path):
raise NoSuchPatchError("No such patch: %s" % self.path)
@@ -105,10 +101,10 @@ class Patch(object):
def to_dict(self):
"""Partial dictionary -- subclases should add to this."""
return {
- 'owner': self.owner,
- 'sha256': self.sha256,
- 'level': self.level,
- 'working_dir': self.working_dir,
+ "owner": self.owner,
+ "sha256": self.sha256,
+ "level": self.level,
+ "working_dir": self.working_dir,
}
def __eq__(self, other):
@@ -129,8 +125,8 @@ class FilePatch(Patch):
working_dir (str): path within the source directory where patch
should be applied
"""
- def __init__(self, pkg, relative_path, level, working_dir,
- ordering_key=None):
+
+ def __init__(self, pkg, relative_path, level, working_dir, ordering_key=None):
self.relative_path = relative_path
# patches may be defined by relative paths to parent classes
@@ -139,7 +135,7 @@ class FilePatch(Patch):
# At different times we call FilePatch on instances and classes
pkg_cls = pkg if inspect.isclass(pkg) else pkg.__class__
for cls in inspect.getmro(pkg_cls):
- if not hasattr(cls, 'module'):
+ if not hasattr(cls, "module"):
# We've gone too far up the MRO
break
@@ -152,8 +148,8 @@ class FilePatch(Patch):
break
if abs_path is None:
- msg = 'FilePatch: Patch file %s for ' % relative_path
- msg += 'package %s.%s does not exist.' % (pkg.namespace, pkg.name)
+ msg = "FilePatch: Patch file %s for " % relative_path
+ msg += "package %s.%s does not exist." % (pkg.namespace, pkg.name)
raise ValueError(msg)
super(FilePatch, self).__init__(pkg, abs_path, level, working_dir)
@@ -169,8 +165,8 @@ class FilePatch(Patch):
def to_dict(self):
return llnl.util.lang.union_dicts(
- super(FilePatch, self).to_dict(),
- {'relative_path': self.relative_path})
+ super(FilePatch, self).to_dict(), {"relative_path": self.relative_path}
+ )
class UrlPatch(Patch):
@@ -183,8 +179,8 @@ class UrlPatch(Patch):
working_dir (str): path within the source directory where patch
should be applied
"""
- def __init__(self, pkg, url, level=1, working_dir='.', ordering_key=None,
- **kwargs):
+
+ def __init__(self, pkg, url, level=1, working_dir=".", ordering_key=None, **kwargs):
super(UrlPatch, self).__init__(pkg, url, level, working_dir)
self.url = url
@@ -192,13 +188,14 @@ class UrlPatch(Patch):
self.ordering_key = ordering_key
- self.archive_sha256 = kwargs.get('archive_sha256')
+ self.archive_sha256 = kwargs.get("archive_sha256")
if allowed_archive(self.url) and not self.archive_sha256:
raise PatchDirectiveError(
"Compressed patches require 'archive_sha256' "
- "and patch 'sha256' attributes: %s" % self.url)
+ "and patch 'sha256' attributes: %s" % self.url
+ )
- self.sha256 = kwargs.get('sha256')
+ self.sha256 = kwargs.get("sha256")
if not self.sha256:
raise PatchDirectiveError("URL patches require a sha256 checksum")
@@ -220,26 +217,24 @@ class UrlPatch(Patch):
files = os.listdir(root)
if not files:
if self.archive_sha256:
- raise NoSuchPatchError(
- "Archive was empty: %s" % self.url)
+ raise NoSuchPatchError("Archive was empty: %s" % self.url)
else:
- raise NoSuchPatchError(
- "Patch failed to download: %s" % self.url)
+ raise NoSuchPatchError("Patch failed to download: %s" % self.url)
self.path = os.path.join(root, files.pop())
if not os.path.isfile(self.path):
- raise NoSuchPatchError(
- "Archive %s contains no patch file!" % self.url)
+ raise NoSuchPatchError("Archive %s contains no patch file!" % self.url)
# for a compressed archive, Need to check the patch sha256 again
# and the patch is in a directory, not in the same place
- if self.archive_sha256 and spack.config.get('config:checksum'):
+ if self.archive_sha256 and spack.config.get("config:checksum"):
checker = Checker(self.sha256)
if not checker.check(self.path):
raise fs.ChecksumError(
"sha256 checksum failed for %s" % self.path,
- "Expected %s but got %s" % (self.sha256, checker.sum))
+ "Expected %s but got %s" % (self.sha256, checker.sum),
+ )
@property
def stage(self):
@@ -251,18 +246,15 @@ class UrlPatch(Patch):
if self.archive_sha256:
fetch_digest = self.archive_sha256
- fetcher = fs.URLFetchStrategy(self.url, fetch_digest,
- expand=bool(self.archive_sha256))
+ fetcher = fs.URLFetchStrategy(self.url, fetch_digest, expand=bool(self.archive_sha256))
# The same package can have multiple patches with the same name but
# with different contents, therefore apply a subset of the hash.
- name = '{0}-{1}'.format(os.path.basename(self.url), fetch_digest[:7])
+ name = "{0}-{1}".format(os.path.basename(self.url), fetch_digest[:7])
- per_package_ref = os.path.join(self.owner.split('.')[-1], name)
+ per_package_ref = os.path.join(self.owner.split(".")[-1], name)
# Reference starting with "spack." is required to avoid cyclic imports
- mirror_ref = spack.mirror.mirror_archive_paths(
- fetcher,
- per_package_ref)
+ mirror_ref = spack.mirror.mirror_archive_paths(fetcher, per_package_ref)
self._stage = spack.stage.Stage(fetcher, mirror_paths=mirror_ref)
self._stage.create()
@@ -273,45 +265,45 @@ class UrlPatch(Patch):
def to_dict(self):
data = super(UrlPatch, self).to_dict()
- data['url'] = self.url
+ data["url"] = self.url
if self.archive_sha256:
- data['archive_sha256'] = self.archive_sha256
+ data["archive_sha256"] = self.archive_sha256
return data
def from_dict(dictionary):
"""Create a patch from json dictionary."""
- owner = dictionary.get('owner')
- if 'owner' not in dictionary:
- raise ValueError('Invalid patch dictionary: %s' % dictionary)
+ owner = dictionary.get("owner")
+ if "owner" not in dictionary:
+ raise ValueError("Invalid patch dictionary: %s" % dictionary)
pkg_cls = spack.repo.path.get_pkg_class(owner)
- if 'url' in dictionary:
+ if "url" in dictionary:
return UrlPatch(
pkg_cls,
- dictionary['url'],
- dictionary['level'],
- dictionary['working_dir'],
- sha256=dictionary['sha256'],
- archive_sha256=dictionary.get('archive_sha256'))
-
- elif 'relative_path' in dictionary:
+ dictionary["url"],
+ dictionary["level"],
+ dictionary["working_dir"],
+ sha256=dictionary["sha256"],
+ archive_sha256=dictionary.get("archive_sha256"),
+ )
+
+ elif "relative_path" in dictionary:
patch = FilePatch(
- pkg_cls,
- dictionary['relative_path'],
- dictionary['level'],
- dictionary['working_dir'])
+ pkg_cls, dictionary["relative_path"], dictionary["level"], dictionary["working_dir"]
+ )
# If the patch in the repo changes, we cannot get it back, so we
# just check it and fail here.
# TODO: handle this more gracefully.
- sha256 = dictionary['sha256']
+ sha256 = dictionary["sha256"]
checker = Checker(sha256)
if not checker.check(patch.path):
raise fs.ChecksumError(
"sha256 checksum failed for %s" % patch.path,
- "Expected %s but got %s " % (sha256, checker.sum) +
- "Patch may have changed since concretization.")
+ "Expected %s but got %s " % (sha256, checker.sum)
+ + "Patch may have changed since concretization.",
+ )
return patch
else:
raise ValueError("Invalid patch dictionary: %s" % dictionary)
@@ -336,20 +328,21 @@ class PatchCache(object):
... etc. ...
"""
+
def __init__(self, data=None):
if data is None:
self.index = {}
else:
- if 'patches' not in data:
- raise IndexError('invalid patch index; try `spack clean -m`')
- self.index = data['patches']
+ if "patches" not in data:
+ raise IndexError("invalid patch index; try `spack clean -m`")
+ self.index = data["patches"]
@classmethod
def from_json(cls, stream):
return PatchCache(sjson.load(stream))
def to_json(self, stream):
- sjson.dump({'patches': self.index}, stream)
+ sjson.dump({"patches": self.index}, stream)
def patch_for_package(self, sha256, pkg):
"""Look up a patch in the index and build a patch object for it.
@@ -365,8 +358,8 @@ class PatchCache(object):
sha_index = self.index.get(sha256)
if not sha_index:
raise NoSuchPatchError(
- "Couldn't find patch for package %s with sha256: %s"
- % (pkg.fullname, sha256))
+ "Couldn't find patch for package %s with sha256: %s" % (pkg.fullname, sha256)
+ )
# Find patches for this class or any class it inherits from
for fullname in pkg.fullnames:
@@ -375,13 +368,13 @@ class PatchCache(object):
break
else:
raise NoSuchPatchError(
- "Couldn't find patch for package %s with sha256: %s"
- % (pkg.fullname, sha256))
+ "Couldn't find patch for package %s with sha256: %s" % (pkg.fullname, sha256)
+ )
# add the sha256 back (we take it out on write to save space,
# because it's the index key)
patch_dict = dict(patch_dict)
- patch_dict['sha256'] = sha256
+ patch_dict["sha256"] = sha256
return from_dict(patch_dict)
def update_package(self, pkg_fullname):
@@ -390,7 +383,7 @@ class PatchCache(object):
for sha256, package_to_patch in self.index.items():
remove = []
for fullname, patch_dict in package_to_patch.items():
- if patch_dict['owner'] == pkg_fullname:
+ if patch_dict["owner"] == pkg_fullname:
remove.append(fullname)
for fullname in remove:
@@ -424,7 +417,7 @@ class PatchCache(object):
for cond, patch_list in pkg_class.patches.items():
for patch in patch_list:
patch_dict = patch.to_dict()
- patch_dict.pop('sha256') # save some space
+ patch_dict.pop("sha256") # save some space
index[patch.sha256] = {pkg_class.fullname: patch_dict}
# and patches on dependencies
@@ -434,7 +427,7 @@ class PatchCache(object):
for patch in patch_list:
dspec_cls = spack.repo.path.get_pkg_class(dependency.spec.name)
patch_dict = patch.to_dict()
- patch_dict.pop('sha256') # save some space
+ patch_dict.pop("sha256") # save some space
index[patch.sha256] = {dspec_cls.fullname: patch_dict}
return index
diff --git a/lib/spack/spack/paths.py b/lib/spack/spack/paths.py
index fcf98aac29..fc617342e8 100644
--- a/lib/spack/spack/paths.py
+++ b/lib/spack/spack/paths.py
@@ -29,36 +29,36 @@ spack_script = os.path.join(bin_path, "spack")
sbang_script = os.path.join(bin_path, "sbang")
# spack directory hierarchy
-lib_path = os.path.join(prefix, "lib", "spack")
-external_path = os.path.join(lib_path, "external")
-build_env_path = os.path.join(lib_path, "env")
-module_path = os.path.join(lib_path, "spack")
-command_path = os.path.join(module_path, "cmd")
-analyzers_path = os.path.join(module_path, "analyzers")
-platform_path = os.path.join(module_path, 'platforms')
-compilers_path = os.path.join(module_path, "compilers")
-build_systems_path = os.path.join(module_path, 'build_systems')
-operating_system_path = os.path.join(module_path, 'operating_systems')
-test_path = os.path.join(module_path, "test")
-hooks_path = os.path.join(module_path, "hooks")
-opt_path = os.path.join(prefix, "opt")
-share_path = os.path.join(prefix, "share", "spack")
-etc_path = os.path.join(prefix, "etc", "spack")
+lib_path = os.path.join(prefix, "lib", "spack")
+external_path = os.path.join(lib_path, "external")
+build_env_path = os.path.join(lib_path, "env")
+module_path = os.path.join(lib_path, "spack")
+command_path = os.path.join(module_path, "cmd")
+analyzers_path = os.path.join(module_path, "analyzers")
+platform_path = os.path.join(module_path, "platforms")
+compilers_path = os.path.join(module_path, "compilers")
+build_systems_path = os.path.join(module_path, "build_systems")
+operating_system_path = os.path.join(module_path, "operating_systems")
+test_path = os.path.join(module_path, "test")
+hooks_path = os.path.join(module_path, "hooks")
+opt_path = os.path.join(prefix, "opt")
+share_path = os.path.join(prefix, "share", "spack")
+etc_path = os.path.join(prefix, "etc", "spack")
#
# Things in $spack/etc/spack
#
-default_license_dir = os.path.join(etc_path, "licenses")
+default_license_dir = os.path.join(etc_path, "licenses")
#
# Things in $spack/var/spack
#
-var_path = os.path.join(prefix, "var", "spack")
+var_path = os.path.join(prefix, "var", "spack")
# read-only things in $spack/var/spack
-repos_path = os.path.join(var_path, "repos")
-packages_path = os.path.join(repos_path, "builtin")
-mock_packages_path = os.path.join(repos_path, "builtin.mock")
+repos_path = os.path.join(var_path, "repos")
+packages_path = os.path.join(repos_path, "builtin")
+mock_packages_path = os.path.join(repos_path, "builtin.mock")
#
# Writable things in $spack/var/spack
@@ -69,10 +69,10 @@ mock_packages_path = os.path.join(repos_path, "builtin.mock")
default_fetch_cache_path = os.path.join(var_path, "cache")
# GPG paths.
-gpg_keys_path = os.path.join(var_path, "gpg")
+gpg_keys_path = os.path.join(var_path, "gpg")
mock_gpg_data_path = os.path.join(var_path, "gpg.mock", "data")
mock_gpg_keys_path = os.path.join(var_path, "gpg.mock", "keys")
-gpg_path = os.path.join(opt_path, "spack", "gpg")
+gpg_path = os.path.join(opt_path, "spack", "gpg")
# Below paths are where Spack can write information for the user.
@@ -85,8 +85,7 @@ gpg_path = os.path.join(opt_path, "spack", "gpg")
# setting `SPACK_USER_CACHE_PATH`. Otherwise it defaults to ~/.spack.
#
def _get_user_cache_path():
- return os.path.expanduser(os.getenv('SPACK_USER_CACHE_PATH')
- or "~%s.spack" % os.sep)
+ return os.path.expanduser(os.getenv("SPACK_USER_CACHE_PATH") or "~%s.spack" % os.sep)
user_cache_path = _get_user_cache_path()
@@ -101,13 +100,13 @@ default_test_path = os.path.join(user_cache_path, "test")
default_monitor_path = os.path.join(reports_path, "monitor")
#: git repositories fetched to compare commits to versions
-user_repos_cache_path = os.path.join(user_cache_path, 'git_repos')
+user_repos_cache_path = os.path.join(user_cache_path, "git_repos")
#: bootstrap store for bootstrapping clingo and other tools
-default_user_bootstrap_path = os.path.join(user_cache_path, 'bootstrap')
+default_user_bootstrap_path = os.path.join(user_cache_path, "bootstrap")
#: transient caches for Spack data (virtual cache, patch sha256 lookup, etc.)
-default_misc_cache_path = os.path.join(user_cache_path, 'cache')
+default_misc_cache_path = os.path.join(user_cache_path, "cache")
# Below paths pull configuration from the host environment.
@@ -121,14 +120,14 @@ default_misc_cache_path = os.path.join(user_cache_path, 'cache')
# User configuration and caches in $HOME/.spack
def _get_user_config_path():
- return os.path.expanduser(os.getenv('SPACK_USER_CONFIG_PATH') or
- "~%s.spack" % os.sep)
+ return os.path.expanduser(os.getenv("SPACK_USER_CONFIG_PATH") or "~%s.spack" % os.sep)
# Configuration in /etc/spack on the system
def _get_system_config_path():
- return os.path.expanduser(os.getenv('SPACK_SYSTEM_CONFIG_PATH') or
- os.sep + os.path.join('etc', 'spack'))
+ return os.path.expanduser(
+ os.getenv("SPACK_SYSTEM_CONFIG_PATH") or os.sep + os.path.join("etc", "spack")
+ )
#: User configuration location
diff --git a/lib/spack/spack/platforms/__init__.py b/lib/spack/spack/platforms/__init__.py
index 50acc3ec42..220e831282 100644
--- a/lib/spack/spack/platforms/__init__.py
+++ b/lib/spack/spack/platforms/__init__.py
@@ -13,17 +13,17 @@ from .test import Test
from .windows import Windows
__all__ = [
- 'Platform',
- 'Cray',
- 'Darwin',
- 'Linux',
- 'Test',
- 'Windows',
- 'platforms',
- 'host',
- 'by_name',
- 'reset',
- 'prevent_cray_detection'
+ "Platform",
+ "Cray",
+ "Darwin",
+ "Linux",
+ "Test",
+ "Windows",
+ "platforms",
+ "host",
+ "by_name",
+ "reset",
+ "prevent_cray_detection",
]
#: The "real" platform of the host running Spack. This should not be changed
@@ -40,6 +40,7 @@ class _PickleableCallable(object):
_platform or _all_platforms. Lambda or nested functions are
not pickleable.
"""
+
def __init__(self, return_value):
self.return_value = return_value
diff --git a/lib/spack/spack/platforms/_functions.py b/lib/spack/spack/platforms/_functions.py
index 503be5afcb..4e46927847 100644
--- a/lib/spack/spack/platforms/_functions.py
+++ b/lib/spack/spack/platforms/_functions.py
@@ -64,7 +64,7 @@ def prevent_cray_detection():
"""Context manager that prevents the detection of the Cray platform"""
reset()
try:
- with spack.util.environment.set_env(MODULEPATH=''):
+ with spack.util.environment.set_env(MODULEPATH=""):
yield
finally:
reset()
diff --git a/lib/spack/spack/platforms/_platform.py b/lib/spack/spack/platforms/_platform.py
index b68b7f1299..e59eba38b5 100644
--- a/lib/spack/spack/platforms/_platform.py
+++ b/lib/spack/spack/platforms/_platform.py
@@ -37,21 +37,21 @@ class Platform(object):
"""
# Subclass sets number. Controls detection order
- priority = None # type: int
+ priority = None # type: int
#: binary formats used on this platform; used by relocation logic
- binary_formats = ['elf']
+ binary_formats = ["elf"]
- front_end = None # type: str
- back_end = None # type: str
- default = None # type: str # The default back end target.
+ front_end = None # type: str
+ back_end = None # type: str
+ default = None # type: str # The default back end target.
- front_os = None # type: str
- back_os = None # type: str
- default_os = None # type: str
+ front_os = None # type: str
+ back_os = None # type: str
+ default_os = None # type: str
- reserved_targets = ['default_target', 'frontend', 'fe', 'backend', 'be']
- reserved_oss = ['default_os', 'frontend', 'fe', 'backend', 'be']
+ reserved_targets = ["default_target", "frontend", "fe", "backend", "be"]
+ reserved_oss = ["default_os", "frontend", "fe", "backend", "be"]
def __init__(self, name):
self.targets = {}
@@ -76,11 +76,11 @@ class Platform(object):
"""
# TODO: Check if we can avoid using strings here
name = str(name)
- if name == 'default_target':
+ if name == "default_target":
name = self.default
- elif name == 'frontend' or name == 'fe':
+ elif name == "frontend" or name == "fe":
name = self.front_end
- elif name == 'backend' or name == 'be':
+ elif name == "backend" or name == "be":
name = self.back_end
return self.targets.get(name, None)
@@ -95,11 +95,11 @@ class Platform(object):
self.operating_sys[name] = os_class
def operating_system(self, name):
- if name == 'default_os':
+ if name == "default_os":
name = self.default_os
- if name == 'frontend' or name == "fe":
+ if name == "frontend" or name == "fe":
name = self.front_os
- if name == 'backend' or name == 'be':
+ if name == "backend" or name == "be":
name = self.back_os
return self.operating_sys.get(name, None)
@@ -137,9 +137,11 @@ class Platform(object):
def targets():
for t in sorted(self.targets.values()):
yield t._cmp_iter
+
yield targets
def oses():
for o in sorted(self.operating_sys.values()):
yield o._cmp_iter
+
yield oses
diff --git a/lib/spack/spack/platforms/cray.py b/lib/spack/spack/platforms/cray.py
index 23724dffbe..8f87740e4c 100644
--- a/lib/spack/spack/platforms/cray.py
+++ b/lib/spack/spack/platforms/cray.py
@@ -21,14 +21,14 @@ from spack.util.module_cmd import module
from ._platform import NoPlatformError, Platform
_craype_name_to_target_name = {
- 'x86-cascadelake': 'cascadelake',
- 'x86-naples': 'zen',
- 'x86-rome': 'zen2',
- 'x86-milan': 'zen3',
- 'x86-skylake': 'skylake_avx512',
- 'mic-knl': 'mic_knl',
- 'interlagos': 'bulldozer',
- 'abudhabi': 'piledriver',
+ "x86-cascadelake": "cascadelake",
+ "x86-naples": "zen",
+ "x86-rome": "zen2",
+ "x86-milan": "zen3",
+ "x86-skylake": "skylake_avx512",
+ "mic-knl": "mic_knl",
+ "interlagos": "bulldozer",
+ "abudhabi": "piledriver",
}
@@ -40,7 +40,7 @@ class Cray(Platform):
priority = 10
def __init__(self):
- ''' Create a Cray system platform.
+ """Create a Cray system platform.
Target names should use craype target names but not include the
'craype-' prefix. Uses first viable target from:
@@ -48,16 +48,15 @@ class Cray(Platform):
envars [SPACK_FRONT_END, SPACK_BACK_END]
configuration file "targets.yaml" with keys 'front_end', 'back_end'
scanning /etc/bash/bashrc.local for back_end only
- '''
- super(Cray, self).__init__('cray')
+ """
+ super(Cray, self).__init__("cray")
# Make all craype targets available.
for target in self._avail_targets():
name = _target_name_from_craype_target_name(target)
- self.add_target(name, spack.target.Target(name, 'craype-%s' % target))
+ self.add_target(name, spack.target.Target(name, "craype-%s" % target))
- self.back_end = os.environ.get('SPACK_BACK_END',
- self._default_target_from_env())
+ self.back_end = os.environ.get("SPACK_BACK_END", self._default_target_from_env())
self.default = self.back_end
if self.back_end not in self.targets:
# We didn't find a target module for the backend
@@ -67,9 +66,7 @@ class Cray(Platform):
for name in archspec.cpu.TARGETS:
if name not in self.targets:
self.add_target(name, spack.target.Target(name))
- self.front_end = os.environ.get(
- 'SPACK_FRONT_END', archspec.cpu.host().name
- )
+ self.front_end = os.environ.get("SPACK_FRONT_END", archspec.cpu.host().name)
if self.front_end not in self.targets:
self.add_target(self.front_end, spack.target.Target(self.front_end))
@@ -85,21 +82,21 @@ class Cray(Platform):
self.add_operating_system(self.front_os, front_distro)
def setup_platform_environment(self, pkg, env):
- """ Change the linker to default dynamic to be more
- similar to linux/standard linker behavior
+ """Change the linker to default dynamic to be more
+ similar to linux/standard linker behavior
"""
# Unload these modules to prevent any silent linking or unnecessary
# I/O profiling in the case of darshan.
modules_to_unload = ["cray-mpich", "darshan", "cray-libsci", "altd"]
for mod in modules_to_unload:
- module('unload', mod)
+ module("unload", mod)
- env.set('CRAYPE_LINK_TYPE', 'dynamic')
- cray_wrapper_names = os.path.join(build_env_path, 'cray')
+ env.set("CRAYPE_LINK_TYPE", "dynamic")
+ cray_wrapper_names = os.path.join(build_env_path, "cray")
if os.path.isdir(cray_wrapper_names):
- env.prepend_path('PATH', cray_wrapper_names)
- env.prepend_path('SPACK_ENV_PATH', cray_wrapper_names)
+ env.prepend_path("PATH", cray_wrapper_names)
+ env.prepend_path("SPACK_ENV_PATH", cray_wrapper_names)
# Makes spack installed pkg-config work on Crays
env.append_path("PKG_CONFIG_PATH", "/usr/lib64/pkgconfig")
@@ -109,9 +106,8 @@ class Cray(Platform):
# wrappers to augment LD_LIBRARY_PATH. This is to avoid long load
# times at runtime. This behavior is not always respected on cray
# "cluster" systems, so we reproduce it here.
- if os.environ.get('CRAY_LD_LIBRARY_PATH'):
- env.prepend_path('LD_LIBRARY_PATH',
- os.environ['CRAY_LD_LIBRARY_PATH'])
+ if os.environ.get("CRAY_LD_LIBRARY_PATH"):
+ env.prepend_path("LD_LIBRARY_PATH", os.environ["CRAY_LD_LIBRARY_PATH"])
@classmethod
def detect(cls):
@@ -126,25 +122,29 @@ class Cray(Platform):
and other components of the Cray programming environment are
irrelevant without module support.
"""
- return 'opt/cray' in os.environ.get('MODULEPATH', '')
+ return "opt/cray" in os.environ.get("MODULEPATH", "")
def _default_target_from_env(self):
- '''Set and return the default CrayPE target loaded in a clean login
+ """Set and return the default CrayPE target loaded in a clean login
session.
A bash subshell is launched with a wiped environment and the list of
loaded modules is parsed for the first acceptable CrayPE target.
- '''
+ """
# env -i /bin/bash -lc echo $CRAY_CPU_TARGET 2> /dev/null
- if getattr(self, 'default', None) is None:
- bash = Executable('/bin/bash')
+ if getattr(self, "default", None) is None:
+ bash = Executable("/bin/bash")
output = bash(
- '--norc', '--noprofile', '-lc', 'echo $CRAY_CPU_TARGET',
- env={'TERM': os.environ.get('TERM', '')},
- output=str, error=os.devnull
+ "--norc",
+ "--noprofile",
+ "-lc",
+ "echo $CRAY_CPU_TARGET",
+ env={"TERM": os.environ.get("TERM", "")},
+ output=str,
+ error=os.devnull,
)
- default_from_module = ''.join(output.split()) # rm all whitespace
+ default_from_module = "".join(output.split()) # rm all whitespace
if default_from_module:
tty.debug("Found default module:%s" % default_from_module)
return default_from_module
@@ -152,10 +152,7 @@ class Cray(Platform):
front_end = archspec.cpu.host()
# Look for the frontend architecture or closest ancestor
# available in cray target modules
- avail = [
- _target_name_from_craype_target_name(x)
- for x in self._avail_targets()
- ]
+ avail = [_target_name_from_craype_target_name(x) for x in self._avail_targets()]
for front_end_possibility in [front_end] + front_end.ancestors:
if front_end_possibility.name in avail:
tty.debug("using front-end architecture or available ancestor")
@@ -165,22 +162,21 @@ class Cray(Platform):
return platform.machine()
def _avail_targets(self):
- '''Return a list of available CrayPE CPU targets.'''
+ """Return a list of available CrayPE CPU targets."""
def modules_in_output(output):
"""Returns a list of valid modules parsed from modulecmd output"""
- return [i for i in re.split(r'\s\s+|\n', output)]
+ return [i for i in re.split(r"\s\s+|\n", output)]
def target_names_from_modules(modules):
# Craype- module prefixes that are not valid CPU targets.
targets = []
for mod in modules:
- if 'craype-' in mod:
+ if "craype-" in mod:
name = mod[7:]
name = name.split()[0]
- _n = name.replace('-', '_') # test for mic-knl/mic_knl
- is_target_name = (name in archspec.cpu.TARGETS or
- _n in archspec.cpu.TARGETS)
+ _n = name.replace("-", "_") # test for mic-knl/mic_knl
+ is_target_name = name in archspec.cpu.TARGETS or _n in archspec.cpu.TARGETS
is_cray_target_name = name in _craype_name_to_target_name
if is_target_name or is_cray_target_name:
targets.append(name)
@@ -188,15 +184,15 @@ class Cray(Platform):
return targets
def modules_from_listdir():
- craype_default_path = '/opt/cray/pe/craype/default/modulefiles'
+ craype_default_path = "/opt/cray/pe/craype/default/modulefiles"
if os.path.isdir(craype_default_path):
return os.listdir(craype_default_path)
return []
- if getattr(self, '_craype_targets', None) is None:
+ if getattr(self, "_craype_targets", None) is None:
strategies = [
- lambda: modules_in_output(module('avail', '-t', 'craype-')),
- modules_from_listdir
+ lambda: modules_in_output(module("avail", "-t", "craype-")),
+ modules_from_listdir,
]
for available_craype_modules in strategies:
craype_modules = available_craype_modules()
diff --git a/lib/spack/spack/platforms/darwin.py b/lib/spack/spack/platforms/darwin.py
index e0393aab57..75e7860def 100644
--- a/lib/spack/spack/platforms/darwin.py
+++ b/lib/spack/spack/platforms/darwin.py
@@ -15,12 +15,12 @@ from ._platform import Platform
class Darwin(Platform):
- priority = 89
+ priority = 89
- binary_formats = ['macho']
+ binary_formats = ["macho"]
def __init__(self):
- super(Darwin, self).__init__('darwin')
+ super(Darwin, self).__init__("darwin")
for name in archspec.cpu.TARGETS:
self.add_target(name, spack.target.Target(name))
@@ -32,14 +32,14 @@ class Darwin(Platform):
mac_os = MacOs()
self.default_os = str(mac_os)
- self.front_os = str(mac_os)
- self.back_os = str(mac_os)
+ self.front_os = str(mac_os)
+ self.back_os = str(mac_os)
self.add_operating_system(str(mac_os), mac_os)
@classmethod
def detect(cls):
- return 'darwin' in py_platform.system().lower()
+ return "darwin" in py_platform.system().lower()
def setup_platform_environment(self, pkg, env):
"""Specify deployment target based on target OS version.
@@ -69,5 +69,5 @@ class Darwin(Platform):
# but succeeds with `-macosx_version_min 11.0`.
# Most compilers seem to perform this translation automatically,
# but older GCC does not.
- version = str(version) + '.0'
- env.set('MACOSX_DEPLOYMENT_TARGET', str(version))
+ version = str(version) + ".0"
+ env.set("MACOSX_DEPLOYMENT_TARGET", str(version))
diff --git a/lib/spack/spack/platforms/linux.py b/lib/spack/spack/platforms/linux.py
index 82a0b88c34..f21efc7060 100644
--- a/lib/spack/spack/platforms/linux.py
+++ b/lib/spack/spack/platforms/linux.py
@@ -13,10 +13,10 @@ from ._platform import Platform
class Linux(Platform):
- priority = 90
+ priority = 90
def __init__(self):
- super(Linux, self).__init__('linux')
+ super(Linux, self).__init__("linux")
for name in archspec.cpu.TARGETS:
self.add_target(name, spack.target.Target(name))
@@ -34,4 +34,4 @@ class Linux(Platform):
@classmethod
def detect(cls):
- return 'linux' in platform.system().lower()
+ return "linux" in platform.system().lower()
diff --git a/lib/spack/spack/platforms/test.py b/lib/spack/spack/platforms/test.py
index 3bc49d3a65..d181f2e926 100644
--- a/lib/spack/spack/platforms/test.py
+++ b/lib/spack/spack/platforms/test.py
@@ -11,28 +11,30 @@ from ._platform import Platform
class Test(Platform):
- priority = 1000000
+ priority = 1000000
- if platform.system().lower() == 'darwin':
- binary_formats = ['macho']
+ if platform.system().lower() == "darwin":
+ binary_formats = ["macho"]
- front_end = 'x86_64'
- back_end = 'core2'
- default = 'core2'
+ front_end = "x86_64"
+ back_end = "core2"
+ default = "core2"
- front_os = 'redhat6'
- back_os = 'debian6'
- default_os = 'debian6'
+ front_os = "redhat6"
+ back_os = "debian6"
+ default_os = "debian6"
def __init__(self):
- super(Test, self).__init__('test')
+ super(Test, self).__init__("test")
self.add_target(self.default, spack.target.Target(self.default))
self.add_target(self.front_end, spack.target.Target(self.front_end))
self.add_operating_system(
- self.default_os, spack.operating_systems.OperatingSystem('debian', 6))
+ self.default_os, spack.operating_systems.OperatingSystem("debian", 6)
+ )
self.add_operating_system(
- self.front_os, spack.operating_systems.OperatingSystem('redhat', 6))
+ self.front_os, spack.operating_systems.OperatingSystem("redhat", 6)
+ )
@classmethod
def detect(cls):
diff --git a/lib/spack/spack/platforms/windows.py b/lib/spack/spack/platforms/windows.py
index 9626b29cc8..0beb67e815 100755
--- a/lib/spack/spack/platforms/windows.py
+++ b/lib/spack/spack/platforms/windows.py
@@ -14,10 +14,10 @@ from ._platform import Platform
class Windows(Platform):
- priority = 101
+ priority = 101
def __init__(self):
- super(Windows, self).__init__('windows')
+ super(Windows, self).__init__("windows")
for name in archspec.cpu.TARGETS:
self.add_target(name, spack.target.Target(name))
@@ -29,12 +29,12 @@ class Windows(Platform):
windows_os = WindowsOs()
self.default_os = str(windows_os)
- self.front_os = str(windows_os)
- self.back_os = str(windows_os)
+ self.front_os = str(windows_os)
+ self.back_os = str(windows_os)
self.add_operating_system(str(windows_os), windows_os)
@classmethod
def detect(cls):
plat = platform.system().lower()
- return 'cygwin' in plat or 'win32' in plat or 'windows' in plat
+ return "cygwin" in plat or "win32" in plat or "windows" in plat
diff --git a/lib/spack/spack/projections.py b/lib/spack/spack/projections.py
index 2a9cf54aa8..295e7ebec1 100644
--- a/lib/spack/spack/projections.py
+++ b/lib/spack/spack/projections.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
def get_projection(projections, spec):
"""
Get the projection for a spec from a projections dict.
@@ -11,6 +12,6 @@ def get_projection(projections, spec):
for spec_like, projection in projections.items():
if spec.satisfies(spec_like, strict=True):
return projection
- elif spec_like == 'all':
+ elif spec_like == "all":
all_projection = projection
return all_projection
diff --git a/lib/spack/spack/provider_index.py b/lib/spack/spack/provider_index.py
index 5cdfff8a57..b1f723c1cc 100644
--- a/lib/spack/spack/provider_index.py
+++ b/lib/spack/spack/provider_index.py
@@ -98,9 +98,7 @@ class _IndexBase(object):
# vpkg constraints on self.
result = {}
for name in common:
- crossed = _cross_provider_maps(
- self.providers[name], other.providers[name]
- )
+ crossed = _cross_provider_maps(self.providers[name], other.providers[name])
if crossed:
result[name] = crossed
@@ -195,8 +193,7 @@ class ProviderIndex(_IndexBase):
# If this package existed in the index before,
# need to take the old versions out, as they're
# now more constrained.
- old = set(
- [s for s in provider_set if s.name == spec.name])
+ old = set([s for s in provider_set if s.name == spec.name])
provider_set.difference_update(old)
# Now add the new version.
@@ -216,10 +213,10 @@ class ProviderIndex(_IndexBase):
stream: stream where to dump
"""
provider_list = self._transform(
- lambda vpkg, pset: [
- vpkg.to_node_dict(), [p.to_node_dict() for p in pset]], list)
+ lambda vpkg, pset: [vpkg.to_node_dict(), [p.to_node_dict() for p in pset]], list
+ )
- sjson.dump({'provider_index': {'providers': provider_list}}, stream)
+ sjson.dump({"provider_index": {"providers": provider_list}}, stream)
def merge(self, other):
"""Merge another provider index into this one.
@@ -227,7 +224,7 @@ class ProviderIndex(_IndexBase):
Args:
other (ProviderIndex): provider index to be merged
"""
- other = other.copy() # defensive copy.
+ other = other.copy() # defensive copy.
for pkg in other.providers:
if pkg not in self.providers:
@@ -240,8 +237,7 @@ class ProviderIndex(_IndexBase):
spdict[provided_spec] = opdict[provided_spec]
continue
- spdict[provided_spec] = \
- spdict[provided_spec].union(opdict[provided_spec])
+ spdict[provided_spec] = spdict[provided_spec].union(opdict[provided_spec])
def remove_provider(self, pkg_name):
"""Remove a provider from the ProviderIndex."""
@@ -267,8 +263,7 @@ class ProviderIndex(_IndexBase):
def copy(self):
"""Return a deep copy of this index."""
clone = ProviderIndex()
- clone.providers = self._transform(
- lambda vpkg, pset: (vpkg, set((p.copy() for p in pset))))
+ clone.providers = self._transform(lambda vpkg, pset: (vpkg, set((p.copy() for p in pset))))
return clone
@staticmethod
@@ -283,17 +278,18 @@ class ProviderIndex(_IndexBase):
if not isinstance(data, dict):
raise ProviderIndexError("JSON ProviderIndex data was not a dict.")
- if 'provider_index' not in data:
- raise ProviderIndexError(
- "YAML ProviderIndex does not start with 'provider_index'")
+ if "provider_index" not in data:
+ raise ProviderIndexError("YAML ProviderIndex does not start with 'provider_index'")
index = ProviderIndex()
- providers = data['provider_index']['providers']
+ providers = data["provider_index"]["providers"]
index.providers = _transform(
providers,
lambda vpkg, plist: (
spack.spec.Spec.from_node_dict(vpkg),
- set(spack.spec.Spec.from_node_dict(p) for p in plist)))
+ set(spack.spec.Spec.from_node_dict(p) for p in plist),
+ ),
+ )
return index
@@ -310,6 +306,7 @@ def _transform(providers, transform_fun, out_mapping_type=dict):
Returns:
Transformed mapping
"""
+
def mapiter(mappings):
if isinstance(mappings, dict):
return six.iteritems(mappings)
@@ -317,10 +314,9 @@ def _transform(providers, transform_fun, out_mapping_type=dict):
return iter(mappings)
return dict(
- (name, out_mapping_type(
- [transform_fun(vpkg, pset) for vpkg, pset in mapiter(mappings)]
- ))
- for name, mappings in providers.items())
+ (name, out_mapping_type([transform_fun(vpkg, pset) for vpkg, pset in mapiter(mappings)]))
+ for name, mappings in providers.items()
+ )
class ProviderIndexError(spack.error.SpackError):
diff --git a/lib/spack/spack/relocate.py b/lib/spack/spack/relocate.py
index 47c447c5e0..3f90f1d252 100644
--- a/lib/spack/spack/relocate.py
+++ b/lib/spack/spack/relocate.py
@@ -21,7 +21,7 @@ import spack.repo
import spack.spec
import spack.util.executable as executable
-is_macos = (str(spack.platforms.real_host()) == 'darwin')
+is_macos = str(spack.platforms.real_host()) == "darwin"
class InstallRootStringError(spack.error.SpackError):
@@ -36,8 +36,8 @@ class InstallRootStringError(spack.error.SpackError):
super(InstallRootStringError, self).__init__(
"\n %s \ncontains string\n %s \n"
"after replacing it in rpaths.\n"
- "Package should not be relocated.\n Use -a to override." %
- (file_path, root_path))
+ "Package should not be relocated.\n Use -a to override." % (file_path, root_path)
+ )
class BinaryStringReplacementError(spack.error.SpackError):
@@ -52,8 +52,8 @@ class BinaryStringReplacementError(spack.error.SpackError):
super(BinaryStringReplacementError, self).__init__(
"Doing a binary string replacement in %s failed.\n"
"The size of the file changed from %s to %s\n"
- "when it should have remanined the same." %
- (file_path, old_len, new_len))
+ "when it should have remanined the same." % (file_path, old_len, new_len)
+ )
class BinaryTextReplaceError(spack.error.SpackError):
@@ -81,7 +81,7 @@ def _patchelf():
if is_macos:
return None
- patchelf = executable.which('patchelf')
+ patchelf = executable.which("patchelf")
if patchelf is None:
with spack.bootstrap.ensure_bootstrap_configuration():
patchelf = spack.bootstrap.ensure_patchelf_in_path_or_raise()
@@ -104,15 +104,15 @@ def _elf_rpaths_for(path):
patchelf_path = path if path.endswith("/bin/patchelf") else _patchelf()
patchelf = executable.Executable(patchelf_path)
- output = ''
+ output = ""
try:
- output = patchelf('--print-rpath', path, output=str, error=str)
- output = output.strip('\n')
+ output = patchelf("--print-rpath", path, output=str, error=str)
+ output = output.strip("\n")
except executable.ProcessError as e:
- msg = 'patchelf --print-rpath {0} produced an error [{1}]'
+ msg = "patchelf --print-rpath {0} produced an error [{1}]"
tty.warn(msg.format(path, str(e)))
- return output.split(':') if output else []
+ return output.split(":") if output else []
def _make_relative(reference_file, path_root, paths):
@@ -139,7 +139,7 @@ def _make_relative(reference_file, path_root, paths):
for path in paths:
if pattern.match(path):
rel = os.path.relpath(path, start=start_directory)
- path = os.path.join('$ORIGIN', rel)
+ path = os.path.join("$ORIGIN", rel)
relative_paths.append(path)
@@ -167,11 +167,11 @@ def _normalize_relative_paths(start_path, relative_paths):
List of normalized paths
"""
normalized_paths = []
- pattern = re.compile(re.escape('$ORIGIN'))
+ pattern = re.compile(re.escape("$ORIGIN"))
start_directory = os.path.dirname(start_path)
for path in relative_paths:
- if path.startswith('$ORIGIN'):
+ if path.startswith("$ORIGIN"):
sub = pattern.sub(start_directory, path)
path = os.path.normpath(sub)
normalized_paths.append(path)
@@ -181,15 +181,14 @@ def _normalize_relative_paths(start_path, relative_paths):
def _placeholder(dirname):
"""String of of @'s with same length of the argument"""
- return '@' * len(dirname)
+ return "@" * len(dirname)
def _decode_macho_data(bytestring):
- return bytestring.rstrip(b'\x00').decode('ascii')
+ return bytestring.rstrip(b"\x00").decode("ascii")
-def macho_make_paths_relative(path_name, old_layout_root,
- rpaths, deps, idpath):
+def macho_make_paths_relative(path_name, old_layout_root, rpaths, deps, idpath):
"""
Return a dictionary mapping the original rpaths to the relativized rpaths.
This dictionary is used to replace paths in mach-o binaries.
@@ -198,18 +197,17 @@ def macho_make_paths_relative(path_name, old_layout_root,
"""
paths_to_paths = dict()
if idpath:
- paths_to_paths[idpath] = os.path.join(
- '@rpath', '%s' % os.path.basename(idpath))
+ paths_to_paths[idpath] = os.path.join("@rpath", "%s" % os.path.basename(idpath))
for rpath in rpaths:
if re.match(old_layout_root, rpath):
rel = os.path.relpath(rpath, start=os.path.dirname(path_name))
- paths_to_paths[rpath] = os.path.join('@loader_path', '%s' % rel)
+ paths_to_paths[rpath] = os.path.join("@loader_path", "%s" % rel)
else:
paths_to_paths[rpath] = rpath
for dep in deps:
if re.match(old_layout_root, dep):
rel = os.path.relpath(dep, start=os.path.dirname(path_name))
- paths_to_paths[dep] = os.path.join('@loader_path', '%s' % rel)
+ paths_to_paths[dep] = os.path.join("@loader_path", "%s" % rel)
else:
paths_to_paths[dep] = dep
return paths_to_paths
@@ -227,26 +225,25 @@ def macho_make_paths_normal(orig_path_name, rpaths, deps, idpath):
rel_to_orig[idpath] = orig_path_name
for rpath in rpaths:
- if re.match('@loader_path', rpath):
- norm = os.path.normpath(re.sub(re.escape('@loader_path'),
- os.path.dirname(orig_path_name),
- rpath))
+ if re.match("@loader_path", rpath):
+ norm = os.path.normpath(
+ re.sub(re.escape("@loader_path"), os.path.dirname(orig_path_name), rpath)
+ )
rel_to_orig[rpath] = norm
else:
rel_to_orig[rpath] = rpath
for dep in deps:
- if re.match('@loader_path', dep):
- norm = os.path.normpath(re.sub(re.escape('@loader_path'),
- os.path.dirname(orig_path_name),
- dep))
+ if re.match("@loader_path", dep):
+ norm = os.path.normpath(
+ re.sub(re.escape("@loader_path"), os.path.dirname(orig_path_name), dep)
+ )
rel_to_orig[dep] = norm
else:
rel_to_orig[dep] = dep
return rel_to_orig
-def macho_find_paths(orig_rpaths, deps, idpath,
- old_layout_root, prefix_to_prefix):
+def macho_find_paths(orig_rpaths, deps, idpath, old_layout_root, prefix_to_prefix):
"""
Inputs
original rpaths from mach-o binaries
@@ -263,8 +260,7 @@ def macho_find_paths(orig_rpaths, deps, idpath,
if orig_rpath.startswith(old_layout_root):
for old_prefix, new_prefix in prefix_to_prefix.items():
if orig_rpath.startswith(old_prefix):
- new_rpath = re.sub(re.escape(old_prefix),
- new_prefix, orig_rpath)
+ new_rpath = re.sub(re.escape(old_prefix), new_prefix, orig_rpath)
paths_to_paths[orig_rpath] = new_rpath
else:
paths_to_paths[orig_rpath] = orig_rpath
@@ -272,21 +268,18 @@ def macho_find_paths(orig_rpaths, deps, idpath,
if idpath:
for old_prefix, new_prefix in prefix_to_prefix.items():
if idpath.startswith(old_prefix):
- paths_to_paths[idpath] = re.sub(
- re.escape(old_prefix), new_prefix, idpath)
+ paths_to_paths[idpath] = re.sub(re.escape(old_prefix), new_prefix, idpath)
for dep in deps:
for old_prefix, new_prefix in prefix_to_prefix.items():
if dep.startswith(old_prefix):
- paths_to_paths[dep] = re.sub(
- re.escape(old_prefix), new_prefix, dep)
- if dep.startswith('@'):
+ paths_to_paths[dep] = re.sub(re.escape(old_prefix), new_prefix, dep)
+ if dep.startswith("@"):
paths_to_paths[dep] = dep
return paths_to_paths
-def modify_macho_object(cur_path, rpaths, deps, idpath,
- paths_to_paths):
+def modify_macho_object(cur_path, rpaths, deps, idpath, paths_to_paths):
"""
This function is used to make machO buildcaches on macOS by
replacing old paths with new paths using install_name_tool
@@ -298,27 +291,27 @@ def modify_macho_object(cur_path, rpaths, deps, idpath,
dictionary mapping paths in old install layout to new install layout
"""
# avoid error message for libgcc_s
- if 'libgcc_' in cur_path:
+ if "libgcc_" in cur_path:
return
args = []
if idpath:
new_idpath = paths_to_paths.get(idpath, None)
if new_idpath and not idpath == new_idpath:
- args += ['-id', new_idpath]
+ args += ["-id", new_idpath]
for dep in deps:
new_dep = paths_to_paths.get(dep)
if new_dep and dep != new_dep:
- args += ['-change', dep, new_dep]
+ args += ["-change", dep, new_dep]
for orig_rpath in rpaths:
new_rpath = paths_to_paths.get(orig_rpath)
if new_rpath and not orig_rpath == new_rpath:
- args += ['-rpath', orig_rpath, new_rpath]
+ args += ["-rpath", orig_rpath, new_rpath]
if args:
args.append(str(cur_path))
- install_name_tool = executable.Executable('install_name_tool')
+ install_name_tool = executable.Executable("install_name_tool")
install_name_tool(*args)
return
@@ -339,7 +332,7 @@ def modify_object_macholib(cur_path, paths_to_paths):
dll.rewriteLoadCommands(paths_to_paths.get)
try:
- f = open(dll.filename, 'rb+')
+ f = open(dll.filename, "rb+")
for header in dll.headers:
f.seek(0)
dll.write(f)
@@ -353,8 +346,7 @@ def modify_object_macholib(cur_path, paths_to_paths):
def macholib_get_paths(cur_path):
- """Get rpaths, dependent libraries, and library id of mach-o objects.
- """
+ """Get rpaths, dependent libraries, and library id of mach-o objects."""
headers = macholib.MachO.MachO(cur_path).headers
if not headers:
tty.warn("Failed to read Mach-O headers: {0}".format(cur_path))
@@ -364,7 +356,7 @@ def macholib_get_paths(cur_path):
# Reproduce original behavior of only returning the last mach-O
# header section
tty.warn("Encountered fat binary: {0}".format(cur_path))
- if headers[-1].filetype == 'dylib_stub':
+ if headers[-1].filetype == "dylib_stub":
tty.warn("File is a stub, not a full library: {0}".format(cur_path))
commands = headers[-1].commands
@@ -402,7 +394,7 @@ def _set_elf_rpaths(target, rpaths):
to ``patchelf``
"""
# Join the paths using ':' as a separator
- rpaths_str = ':'.join(rpaths)
+ rpaths_str = ":".join(rpaths)
# If we're relocating patchelf itself, make a copy and use it
bak_path = None
@@ -414,10 +406,10 @@ def _set_elf_rpaths(target, rpaths):
try:
# TODO: revisit the use of --force-rpath as it might be conditional
# TODO: if we want to support setting RUNPATH from binary packages
- patchelf_args = ['--force-rpath', '--set-rpath', rpaths_str, target]
+ patchelf_args = ["--force-rpath", "--set-rpath", rpaths_str, target]
output = patchelf(*patchelf_args, output=str, error=str)
except executable.ProcessError as e:
- msg = 'patchelf --force-rpath --set-rpath {0} failed with error {1}'
+ msg = "patchelf --force-rpath --set-rpath {0} failed with error {1}"
tty.warn(msg.format(target, e))
finally:
if bak_path and os.path.exists(bak_path):
@@ -433,8 +425,8 @@ def needs_binary_relocation(m_type, m_subtype):
m_type (str): MIME type of the file
m_subtype (str): MIME subtype of the file
"""
- subtypes = ('x-executable', 'x-sharedlib', 'x-mach-binary', 'x-pie-executable')
- if m_type == 'application':
+ subtypes = ("x-executable", "x-sharedlib", "x-mach-binary", "x-pie-executable")
+ if m_type == "application":
if m_subtype in subtypes:
return True
return False
@@ -448,7 +440,7 @@ def needs_text_relocation(m_type, m_subtype):
m_type (str): MIME type of the file
m_subtype (str): MIME subtype of the file
"""
- return m_type == 'text'
+ return m_type == "text"
def _replace_prefix_text(filename, compiled_prefixes):
@@ -461,7 +453,7 @@ def _replace_prefix_text(filename, compiled_prefixes):
precompiled regex of the old prefixes and the values are the new
prefixes (uft-8 encoded)
"""
- with open(filename, 'rb+') as f:
+ with open(filename, "rb+") as f:
data = f.read()
f.seek(0)
for orig_prefix_rexp, new_bytes in compiled_prefixes.items():
@@ -484,7 +476,7 @@ def _replace_prefix_bin(filename, byte_prefixes):
prefixes (uft-8 encoded)
"""
- with open(filename, 'rb+') as f:
+ with open(filename, "rb+") as f:
data = f.read()
f.seek(0)
for orig_bytes, new_bytes in byte_prefixes.items():
@@ -495,24 +487,24 @@ def _replace_prefix_bin(filename, byte_prefixes):
# We only care about this problem if we are about to replace
length_compatible = len(new_bytes) <= len(orig_bytes)
if not length_compatible:
- tty.debug('Binary failing to relocate is %s' % filename)
+ tty.debug("Binary failing to relocate is %s" % filename)
raise BinaryTextReplaceError(orig_bytes, new_bytes)
pad_length = len(orig_bytes) - len(new_bytes)
padding = os.sep * pad_length
- padding = padding.encode('utf-8')
+ padding = padding.encode("utf-8")
data = data.replace(orig_bytes, new_bytes + padding)
# Really needs to be the same length
if not len(data) == original_data_len:
- print('Length of pad:', pad_length, 'should be', len(padding))
- print(new_bytes, 'was to replace', orig_bytes)
- raise BinaryStringReplacementError(
- filename, original_data_len, len(data))
+ print("Length of pad:", pad_length, "should be", len(padding))
+ print(new_bytes, "was to replace", orig_bytes)
+ raise BinaryStringReplacementError(filename, original_data_len, len(data))
f.write(data)
f.truncate()
-def relocate_macho_binaries(path_names, old_layout_root, new_layout_root,
- prefix_to_prefix, rel, old_prefix, new_prefix):
+def relocate_macho_binaries(
+ path_names, old_layout_root, new_layout_root, prefix_to_prefix, rel, old_prefix, new_prefix
+):
"""
Use macholib python package to get the rpaths, depedent libraries
and library identity for libraries from the MachO object. Modify them
@@ -523,66 +515,55 @@ def relocate_macho_binaries(path_names, old_layout_root, new_layout_root,
for path_name in path_names:
# Corner case where macho object file ended up in the path name list
- if path_name.endswith('.o'):
+ if path_name.endswith(".o"):
continue
if rel:
# get the relativized paths
rpaths, deps, idpath = macholib_get_paths(path_name)
# get the file path name in the original prefix
- orig_path_name = re.sub(re.escape(new_prefix), old_prefix,
- path_name)
+ orig_path_name = re.sub(re.escape(new_prefix), old_prefix, path_name)
# get the mapping of the relativized paths to the original
# normalized paths
- rel_to_orig = macho_make_paths_normal(orig_path_name,
- rpaths, deps,
- idpath)
+ rel_to_orig = macho_make_paths_normal(orig_path_name, rpaths, deps, idpath)
# replace the relativized paths with normalized paths
if is_macos:
- modify_macho_object(path_name, rpaths, deps,
- idpath, rel_to_orig)
+ modify_macho_object(path_name, rpaths, deps, idpath, rel_to_orig)
else:
- modify_object_macholib(path_name,
- rel_to_orig)
+ modify_object_macholib(path_name, rel_to_orig)
# get the normalized paths in the mach-o binary
rpaths, deps, idpath = macholib_get_paths(path_name)
# get the mapping of paths in old prefix to path in new prefix
- paths_to_paths = macho_find_paths(rpaths, deps, idpath,
- old_layout_root,
- prefix_to_prefix)
+ paths_to_paths = macho_find_paths(
+ rpaths, deps, idpath, old_layout_root, prefix_to_prefix
+ )
# replace the old paths with new paths
if is_macos:
- modify_macho_object(path_name, rpaths, deps,
- idpath, paths_to_paths)
+ modify_macho_object(path_name, rpaths, deps, idpath, paths_to_paths)
else:
- modify_object_macholib(path_name,
- paths_to_paths)
+ modify_object_macholib(path_name, paths_to_paths)
# get the new normalized path in the mach-o binary
rpaths, deps, idpath = macholib_get_paths(path_name)
# get the mapping of paths to relative paths in the new prefix
- paths_to_paths = macho_make_paths_relative(path_name,
- new_layout_root,
- rpaths, deps, idpath)
+ paths_to_paths = macho_make_paths_relative(
+ path_name, new_layout_root, rpaths, deps, idpath
+ )
# replace the new paths with relativized paths in the new prefix
if is_macos:
- modify_macho_object(path_name, rpaths, deps,
- idpath, paths_to_paths)
+ modify_macho_object(path_name, rpaths, deps, idpath, paths_to_paths)
else:
- modify_object_macholib(path_name,
- paths_to_paths)
+ modify_object_macholib(path_name, paths_to_paths)
else:
# get the paths in the old prefix
rpaths, deps, idpath = macholib_get_paths(path_name)
# get the mapping of paths in the old prerix to the new prefix
- paths_to_paths = macho_find_paths(rpaths, deps, idpath,
- old_layout_root,
- prefix_to_prefix)
+ paths_to_paths = macho_find_paths(
+ rpaths, deps, idpath, old_layout_root, prefix_to_prefix
+ )
# replace the old paths with new paths
if is_macos:
- modify_macho_object(path_name, rpaths, deps,
- idpath, paths_to_paths)
+ modify_macho_object(path_name, rpaths, deps, idpath, paths_to_paths)
else:
- modify_object_macholib(path_name,
- paths_to_paths)
+ modify_object_macholib(path_name, paths_to_paths)
def _transform_rpaths(orig_rpaths, orig_root, new_prefixes):
@@ -612,15 +593,15 @@ def _transform_rpaths(orig_rpaths, orig_root, new_prefixes):
# avoiding duplicates
for old_prefix, new_prefix in new_prefixes.items():
if orig_rpath.startswith(old_prefix):
- new_rpath = re.sub(re.escape(old_prefix), new_prefix,
- orig_rpath)
+ new_rpath = re.sub(re.escape(old_prefix), new_prefix, orig_rpath)
if new_rpath not in new_rpaths:
new_rpaths.append(new_rpath)
return new_rpaths
-def relocate_elf_binaries(binaries, orig_root, new_root,
- new_prefixes, rel, orig_prefix, new_prefix):
+def relocate_elf_binaries(
+ binaries, orig_root, new_root, new_prefixes, rel, orig_prefix, new_prefix
+):
"""Relocate the binaries passed as arguments by changing their RPATHs.
Use patchelf to get the original RPATHs and then replace them with
@@ -646,30 +627,20 @@ def relocate_elf_binaries(binaries, orig_root, new_root,
# TODO: Can we deduce `rel` from the original RPATHs?
if rel:
# Get the file path in the original prefix
- orig_binary = re.sub(
- re.escape(new_prefix), orig_prefix, new_binary
- )
+ orig_binary = re.sub(re.escape(new_prefix), orig_prefix, new_binary)
# Get the normalized RPATHs in the old prefix using the file path
# in the orig prefix
- orig_norm_rpaths = _normalize_relative_paths(
- orig_binary, orig_rpaths
- )
+ orig_norm_rpaths = _normalize_relative_paths(orig_binary, orig_rpaths)
# Get the normalize RPATHs in the new prefix
- new_norm_rpaths = _transform_rpaths(
- orig_norm_rpaths, orig_root, new_prefixes
- )
+ new_norm_rpaths = _transform_rpaths(orig_norm_rpaths, orig_root, new_prefixes)
# Get the relative RPATHs in the new prefix
- new_rpaths = _make_relative(
- new_binary, new_root, new_norm_rpaths
- )
+ new_rpaths = _make_relative(new_binary, new_root, new_norm_rpaths)
# check to see if relative rpaths are changed before rewriting
if sorted(new_rpaths) != sorted(orig_rpaths):
_set_elf_rpaths(new_binary, new_rpaths)
else:
- new_rpaths = _transform_rpaths(
- orig_rpaths, orig_root, new_prefixes
- )
+ new_rpaths = _transform_rpaths(orig_rpaths, orig_root, new_prefixes)
_set_elf_rpaths(new_binary, new_rpaths)
@@ -688,8 +659,7 @@ def make_link_relative(new_links, orig_links):
symlink(relative_target, new_link)
-def make_macho_binaries_relative(cur_path_names, orig_path_names,
- old_layout_root):
+def make_macho_binaries_relative(cur_path_names, orig_path_names, old_layout_root):
"""
Replace old RPATHs with paths relative to old_dir in binary files
"""
@@ -717,9 +687,7 @@ def make_elf_binaries_relative(new_binaries, orig_binaries, orig_layout_root):
for new_binary, orig_binary in zip(new_binaries, orig_binaries):
orig_rpaths = _elf_rpaths_for(new_binary)
if orig_rpaths:
- new_rpaths = _make_relative(
- orig_binary, orig_layout_root, orig_rpaths
- )
+ new_rpaths = _make_relative(orig_binary, orig_layout_root, orig_rpaths)
_set_elf_rpaths(new_binary, new_rpaths)
@@ -738,8 +706,7 @@ def raise_if_not_relocatable(binaries, allow_root):
raise InstallRootStringError(binary, spack.store.layout.root)
-def relocate_links(links, orig_layout_root,
- orig_install_prefix, new_install_prefix):
+def relocate_links(links, orig_layout_root, orig_install_prefix, new_install_prefix):
"""Relocate links to a new install prefix.
The symbolic links are relative to the original installation prefix.
@@ -762,31 +729,30 @@ def relocate_links(links, orig_layout_root,
# If the link points to a file in the original install prefix,
# compute the corresponding target in the new prefix and relink
if link_target.startswith(orig_install_prefix):
- link_target = re.sub(
- orig_install_prefix, new_install_prefix, link_target
- )
+ link_target = re.sub(orig_install_prefix, new_install_prefix, link_target)
os.unlink(abs_link)
symlink(link_target, abs_link)
# If the link is absolute and has not been relocated then
# warn the user about that
- if (os.path.isabs(link_target) and
- not link_target.startswith(new_install_prefix)):
- msg = ('Link target "{0}" for symbolic link "{1}" is outside'
- ' of the new install prefix {2}')
+ if os.path.isabs(link_target) and not link_target.startswith(new_install_prefix):
+ msg = (
+ 'Link target "{0}" for symbolic link "{1}" is outside'
+ " of the new install prefix {2}"
+ )
tty.warn(msg.format(link_target, abs_link, new_install_prefix))
def relocate_text(files, prefixes, concurrency=32):
"""Relocate text file from the original installation prefix to the
- new prefix.
+ new prefix.
- Relocation also affects the the path in Spack's sbang script.
+ Relocation also affects the the path in Spack's sbang script.
- Args:
- files (list): Text files to be relocated
- prefixes (OrderedDict): String prefixes which need to be changed
- concurrency (int): Preferred degree of parallelism
+ Args:
+ files (list): Text files to be relocated
+ prefixes (OrderedDict): String prefixes which need to be changed
+ concurrency (int): Preferred degree of parallelism
"""
# This now needs to be handled by the caller in all cases
@@ -797,10 +763,11 @@ def relocate_text(files, prefixes, concurrency=32):
for orig_prefix, new_prefix in prefixes.items():
if orig_prefix != new_prefix:
- orig_bytes = orig_prefix.encode('utf-8')
+ orig_bytes = orig_prefix.encode("utf-8")
orig_prefix_rexp = re.compile(
- b'(?<![\\w\\-_/])([\\w\\-_]*?)%s([\\w\\-_/]*)' % orig_bytes)
- new_bytes = b'\\1%s\\2' % new_prefix.encode('utf-8')
+ b"(?<![\\w\\-_/])([\\w\\-_]*?)%s([\\w\\-_/]*)" % orig_bytes
+ )
+ new_bytes = b"\\1%s\\2" % new_prefix.encode("utf-8")
compiled_prefixes[orig_prefix_rexp] = new_bytes
# Do relocations on text that refers to the install tree
@@ -838,11 +805,11 @@ def relocate_text_bin(binaries, prefixes, concurrency=32):
if isinstance(orig_prefix, bytes):
orig_bytes = orig_prefix
else:
- orig_bytes = orig_prefix.encode('utf-8')
+ orig_bytes = orig_prefix.encode("utf-8")
if isinstance(new_prefix, bytes):
new_bytes = new_prefix
else:
- new_bytes = new_prefix.encode('utf-8')
+ new_bytes = new_prefix.encode("utf-8")
byte_prefixes[orig_bytes] = new_bytes
# Do relocations on text in binaries that refers to the install tree
@@ -875,16 +842,15 @@ def is_relocatable(spec):
ValueError: if the spec is not installed
"""
if not spec.install_status():
- raise ValueError('spec is not installed [{0}]'.format(str(spec)))
+ raise ValueError("spec is not installed [{0}]".format(str(spec)))
if spec.external or spec.virtual:
- tty.warn('external or virtual package %s is not relocatable' %
- spec.name)
+ tty.warn("external or virtual package %s is not relocatable" % spec.name)
return False
# Explore the installation prefix of the spec
for root, dirs, files in os.walk(spec.prefix, topdown=True):
- dirs[:] = [d for d in dirs if d not in ('.spack', 'man')]
+ dirs[:] = [d for d in dirs if d not in (".spack", "man")]
abs_files = [os.path.join(root, f) for f in files]
if not all(file_is_relocatable(f) for f in abs_files if is_binary(f)):
# If any of the file is not relocatable, the entire
@@ -911,26 +877,26 @@ def file_is_relocatable(filename, paths_to_relocate=None):
paths_to_relocate = paths_to_relocate or default_paths_to_relocate
if not os.path.exists(filename):
- raise ValueError('{0} does not exist'.format(filename))
+ raise ValueError("{0} does not exist".format(filename))
if not os.path.isabs(filename):
- raise ValueError('{0} is not an absolute path'.format(filename))
+ raise ValueError("{0} is not an absolute path".format(filename))
- strings = executable.Executable('strings')
+ strings = executable.Executable("strings")
# Remove the RPATHS from the strings in the executable
set_of_strings = set(strings(filename, output=str).split())
m_type, m_subtype = mime_type(filename)
- if m_type == 'application':
- tty.debug('{0},{1}'.format(m_type, m_subtype))
+ if m_type == "application":
+ tty.debug("{0},{1}".format(m_type, m_subtype))
if not is_macos:
- if m_subtype == 'x-executable' or m_subtype == 'x-sharedlib':
- rpaths = ':'.join(_elf_rpaths_for(filename))
+ if m_subtype == "x-executable" or m_subtype == "x-sharedlib":
+ rpaths = ":".join(_elf_rpaths_for(filename))
set_of_strings.discard(rpaths)
else:
- if m_subtype == 'x-mach-binary':
+ if m_subtype == "x-mach-binary":
rpaths, deps, idpath = macholib_get_paths(filename)
set_of_strings.discard(set(rpaths))
set_of_strings.discard(set(deps))
@@ -959,19 +925,19 @@ def is_binary(filename):
"""
m_type, _ = mime_type(filename)
- msg = '[{0}] -> '.format(filename)
- if m_type == 'application':
- tty.debug(msg + 'BINARY FILE')
+ msg = "[{0}] -> ".format(filename)
+ if m_type == "application":
+ tty.debug(msg + "BINARY FILE")
return True
- tty.debug(msg + 'TEXT FILE')
+ tty.debug(msg + "TEXT FILE")
return False
@llnl.util.lang.memoized
def _get_mime_type():
- file_cmd = executable.which('file')
- for arg in ['-b', '-h', '--mime-type']:
+ file_cmd = executable.which("file")
+ for arg in ["-b", "-h", "--mime-type"]:
file_cmd.add_default_arg(arg)
return file_cmd
@@ -987,8 +953,8 @@ def mime_type(filename):
Tuple containing the MIME type and subtype
"""
output = _get_mime_type()(filename, output=str, error=str).strip()
- tty.debug('==> ' + output)
- type, _, subtype = output.partition('/')
+ tty.debug("==> " + output)
+ type, _, subtype = output.partition("/")
return type, subtype
@@ -1009,7 +975,7 @@ def fixup_macos_rpath(root, filename):
True if fixups were applied, else False
"""
abspath = os.path.join(root, filename)
- if mime_type(abspath) != ('application', 'x-mach-binary'):
+ if mime_type(abspath) != ("application", "x-mach-binary"):
return False
# Get Mach-O header commands
@@ -1028,22 +994,20 @@ def fixup_macos_rpath(root, filename):
spack_root = spack.store.layout.root
for name in deps:
if name.startswith(spack_root):
- tty.debug("Spack-installed dependency for {0}: {1}"
- .format(abspath, name))
+ tty.debug("Spack-installed dependency for {0}: {1}".format(abspath, name))
(dirname, basename) = os.path.split(name)
if dirname != root or dirname in rpaths:
# Only change the rpath if it's a dependency *or* if the root
# rpath was already added to the library (this is to prevent
# GCC or similar getting rpaths when they weren't at all
# configured)
- args += ['-change', name, '@rpath/' + basename]
- add_rpaths.add(dirname.rstrip('/'))
+ args += ["-change", name, "@rpath/" + basename]
+ add_rpaths.add(dirname.rstrip("/"))
# Check for nonexistent rpaths (often added by spack linker overzealousness
# with both lib/ and lib64/) and duplicate rpaths
for (rpath, count) in rpaths.items():
- if (rpath.startswith('@loader_path')
- or rpath.startswith('@executable_path')):
+ if rpath.startswith("@loader_path") or rpath.startswith("@executable_path"):
# Allowable relative paths
pass
elif not _exists_dir(rpath):
@@ -1054,25 +1018,23 @@ def fixup_macos_rpath(root, filename):
# duplicated between Spack's compiler and libtool. If there are
# more copies of the same one, something is very odd....
tty_debug = tty.debug if count == 2 else tty.warn
- tty_debug("Rpath appears {0} times in {1}: {2}".format(
- count, abspath, rpath
- ))
+ tty_debug("Rpath appears {0} times in {1}: {2}".format(count, abspath, rpath))
del_rpaths.add(rpath)
# Delete bad rpaths
for rpath in del_rpaths:
- args += ['-delete_rpath', rpath]
+ args += ["-delete_rpath", rpath]
# Add missing rpaths that are not set for deletion
for rpath in add_rpaths - del_rpaths - set(rpaths):
- args += ['-add_rpath', rpath]
+ args += ["-add_rpath", rpath]
if not args:
# No fixes needed
return False
args.append(abspath)
- executable.Executable('install_name_tool')(*args)
+ executable.Executable("install_name_tool")(*args)
return True
@@ -1086,23 +1048,21 @@ def fixup_macos_rpaths(spec):
-delete_rpath``.
"""
if spec.external or spec.virtual:
- tty.warn('external or virtual package cannot be fixed up: {0!s}'
- .format(spec))
+ tty.warn("external or virtual package cannot be fixed up: {0!s}".format(spec))
return False
- if 'platform=darwin' not in spec:
- raise NotImplementedError('fixup_macos_rpaths requires macOS')
+ if "platform=darwin" not in spec:
+ raise NotImplementedError("fixup_macos_rpaths requires macOS")
applied = 0
- libs = frozenset(['lib', 'lib64', 'libexec', 'plugins',
- 'Library', 'Frameworks'])
+ libs = frozenset(["lib", "lib64", "libexec", "plugins", "Library", "Frameworks"])
prefix = spec.prefix
if not os.path.exists(prefix):
raise RuntimeError(
- 'Could not fix up install prefix spec {0} because it does '
- 'not exist: {1!s}'.format(prefix, spec.name)
+ "Could not fix up install prefix spec {0} because it does "
+ "not exist: {1!s}".format(prefix, spec.name)
)
# Explore the installation prefix of the spec
@@ -1112,18 +1072,17 @@ def fixup_macos_rpaths(spec):
try:
needed_fix = fixup_macos_rpath(root, name)
except Exception as e:
- tty.warn("Failed to apply library fixups to: {0}/{1}: {2!s}"
- .format(root, name, e))
+ tty.warn("Failed to apply library fixups to: {0}/{1}: {2!s}".format(root, name, e))
needed_fix = False
if needed_fix:
applied += 1
- specname = spec.format('{name}{/hash:7}')
+ specname = spec.format("{name}{/hash:7}")
if applied:
- tty.info('Fixed rpaths for {0:d} {1} installed to {2}'.format(
- applied,
- "binary" if applied == 1 else "binaries",
- specname
- ))
+ tty.info(
+ "Fixed rpaths for {0:d} {1} installed to {2}".format(
+ applied, "binary" if applied == 1 else "binaries", specname
+ )
+ )
else:
- tty.debug('No rpath fixup needed for ' + specname)
+ tty.debug("No rpath fixup needed for " + specname)
diff --git a/lib/spack/spack/repo.py b/lib/spack/spack/repo.py
index 8d10de4818..11a4e14416 100644
--- a/lib/spack/spack/repo.py
+++ b/lib/spack/spack/repo.py
@@ -42,7 +42,7 @@ import spack.util.path
from spack.util.executable import which
#: Package modules are imported as spack.pkg.<repo-namespace>.<pkg-name>
-ROOT_PYTHON_NAMESPACE = 'spack.pkg'
+ROOT_PYTHON_NAMESPACE = "spack.pkg"
def python_package_for_repo(namespace):
@@ -55,7 +55,7 @@ def python_package_for_repo(namespace):
Args:
namespace (str): repo namespace
"""
- return '{0}.{1}'.format(ROOT_PYTHON_NAMESPACE, namespace)
+ return "{0}.{1}".format(ROOT_PYTHON_NAMESPACE, namespace)
def namespace_from_fullname(fullname):
@@ -68,10 +68,10 @@ def namespace_from_fullname(fullname):
Args:
fullname (str): full name for the Python module
"""
- namespace, dot, module = fullname.rpartition('.')
- prefix_and_dot = '{0}.'.format(ROOT_PYTHON_NAMESPACE)
+ namespace, dot, module = fullname.rpartition(".")
+ prefix_and_dot = "{0}.".format(ROOT_PYTHON_NAMESPACE)
if namespace.startswith(prefix_and_dot):
- namespace = namespace[len(prefix_and_dot):]
+ namespace = namespace[len(prefix_and_dot) :]
return namespace
@@ -121,12 +121,12 @@ if sys.version_info[0] == 2:
See the ``importlib``-based importer for a faster way to do this in
later versions of python.
"""
- text = kwargs.get('text', None)
+ text = kwargs.get("text", None)
with open(f, *args) as f:
- with tempfile.NamedTemporaryFile(mode='w+') as tf:
+ with tempfile.NamedTemporaryFile(mode="w+") as tf:
if text:
- tf.write(text + '\n')
+ tf.write(text + "\n")
tf.write(f.read())
tf.seek(0)
yield tf.file
@@ -141,14 +141,12 @@ if sys.version_info[0] == 2:
def package_module(self):
try:
- module = load_source(
- self.fullname, self.package_py, prepend=self._package_prepend
- )
+ module = load_source(self.fullname, self.package_py, prepend=self._package_prepend)
except SyntaxError as e:
# SyntaxError strips the path from the filename, so we need to
# manually construct the error message in order to give the
# user the correct package.py where the syntax error is located
- msg = 'invalid syntax in {0:}, line {1:}'
+ msg = "invalid syntax in {0:}, line {1:}"
raise SyntaxError(msg.format(self.package_py, e.lineno))
module.__package__ = self.repo.full_namespace
@@ -160,7 +158,7 @@ if sys.version_info[0] == 2:
if fullname in sys.modules:
return sys.modules[fullname]
- namespace, dot, module_name = fullname.rpartition('.')
+ namespace, dot, module_name = fullname.rpartition(".")
try:
module = self.package_module()
@@ -200,13 +198,13 @@ else:
class RepoLoader(_PrependFileLoader):
"""Loads a Python module associated with a package in specific repository"""
+
#: Code in ``_package_prepend`` is prepended to imported packages.
#:
#: Spack packages are expected to call `from spack.package import *`
#: themselves, but we are allowing a deprecation period before breaking
#: external repos that don't do this yet.
- _package_prepend = ('from __future__ import absolute_import;'
- 'from spack.package import *')
+ _package_prepend = "from __future__ import absolute_import;" "from spack.package import *"
def __init__(self, fullname, repo, package_name):
self.repo = repo
@@ -232,7 +230,7 @@ class SpackNamespaceLoader(object):
module = SpackNamespace(fullname)
self.exec_module(module)
- namespace, dot, module_name = fullname.rpartition('.')
+ namespace, dot, module_name = fullname.rpartition(".")
sys.modules[fullname] = module
if namespace != fullname:
parent = sys.modules[namespace]
@@ -247,6 +245,7 @@ class ReposFinder(object):
Return a loader based on the inspection of the current global repository list.
"""
+
def find_spec(self, fullname, python_path, target=None):
# This function is Python 3 only and will not be called by Python 2.7
import importlib.util
@@ -266,7 +265,7 @@ class ReposFinder(object):
def compute_loader(self, fullname):
# namespaces are added to repo, and package modules are leaves.
- namespace, dot, module_name = fullname.rpartition('.')
+ namespace, dot, module_name = fullname.rpartition(".")
# If it's a module in some repo, or if it is the repo's
# namespace, let the repo handle it.
@@ -299,10 +298,10 @@ class ReposFinder(object):
#
# These names describe how repos should be laid out in the filesystem.
#
-repo_config_name = 'repo.yaml' # Top-level filename for repo config.
-repo_index_name = 'index.yaml' # Top-level filename for repository index.
-packages_dir_name = 'packages' # Top-level repo directory containing pkgs.
-package_file_name = 'package.py' # Filename for packages in a repository.
+repo_config_name = "repo.yaml" # Top-level filename for repo config.
+repo_index_name = "index.yaml" # Top-level filename for repository index.
+packages_dir_name = "packages" # Top-level repo directory containing pkgs.
+package_file_name = "package.py" # Filename for packages in a repository.
#: Guaranteed unused default value for some functions.
NOT_PROVIDED = object()
@@ -311,9 +310,9 @@ NOT_PROVIDED = object()
def packages_path():
"""Get the test repo if it is active, otherwise the builtin repo."""
try:
- return spack.repo.path.get_repo('builtin.mock').packages_path
+ return spack.repo.path.get_repo("builtin.mock").packages_path
except spack.repo.UnknownNamespaceError:
- return spack.repo.path.get_repo('builtin').packages_path
+ return spack.repo.path.get_repo("builtin").packages_path
class GitExe:
@@ -322,7 +321,7 @@ class GitExe:
#
# Not using -C as that is not supported for git < 1.8.5.
def __init__(self):
- self._git_cmd = which('git', required=True)
+ self._git_cmd = which("git", required=True)
def __call__(self, *args, **kwargs):
with working_dir(packages_path()):
@@ -345,11 +344,11 @@ def list_packages(rev):
git = get_git()
# git ls-tree does not support ... merge-base syntax, so do it manually
- if rev.endswith('...'):
- ref = rev.replace('...', '')
- rev = git('merge-base', ref, 'HEAD', output=str).strip()
+ if rev.endswith("..."):
+ ref = rev.replace("...", "")
+ rev = git("merge-base", ref, "HEAD", output=str).strip()
- output = git('ls-tree', '-r', '--name-only', rev, output=str)
+ output = git("ls-tree", "-r", "--name-only", rev, output=str)
# recursively list the packages directory
package_paths = [
@@ -364,14 +363,14 @@ def list_packages(rev):
def diff_packages(rev1, rev2):
"""Compute packages lists for the two revisions and return a tuple
- containing all the packages in rev1 but not in rev2 and all the
- packages in rev2 but not in rev1."""
+ containing all the packages in rev1 but not in rev2 and all the
+ packages in rev2 but not in rev1."""
p1 = set(list_packages(rev1))
p2 = set(list_packages(rev2))
return p1.difference(p2), p2.difference(p1)
-def get_all_package_diffs(type, rev1='HEAD^1', rev2='HEAD'):
+def get_all_package_diffs(type, rev1="HEAD^1", rev2="HEAD"):
"""Show packages changed, added, or removed (or any combination of those)
since a commit.
@@ -386,17 +385,18 @@ def get_all_package_diffs(type, rev1='HEAD^1', rev2='HEAD'):
A set contain names of affected packages.
"""
lower_type = type.lower()
- if not re.match('^[arc]*$', lower_type):
- tty.die("Invald change type: '%s'." % type,
- "Can contain only A (added), R (removed), or C (changed)")
+ if not re.match("^[arc]*$", lower_type):
+ tty.die(
+ "Invald change type: '%s'." % type,
+ "Can contain only A (added), R (removed), or C (changed)",
+ )
removed, added = diff_packages(rev1, rev2)
git = get_git()
- out = git('diff', '--relative', '--name-only', rev1, rev2,
- output=str).strip()
+ out = git("diff", "--relative", "--name-only", rev1, rev2, output=str).strip()
- lines = [] if not out else re.split(r'\s+', out)
+ lines = [] if not out else re.split(r"\s+", out)
changed = set()
for path in lines:
pkg_name, _, _ = path.partition(os.sep)
@@ -404,11 +404,11 @@ def get_all_package_diffs(type, rev1='HEAD^1', rev2='HEAD'):
changed.add(pkg_name)
packages = set()
- if 'a' in lower_type:
+ if "a" in lower_type:
packages |= added
- if 'r' in lower_type:
+ if "r" in lower_type:
packages |= removed
- if 'c' in lower_type:
+ if "c" in lower_type:
packages |= changed
return packages
@@ -421,21 +421,22 @@ def add_package_to_git_stage(packages):
for pkg_name in packages:
filename = spack.repo.path.filename_for_package_name(pkg_name)
if not os.path.isfile(filename):
- tty.die("No such package: %s. Path does not exist:" %
- pkg_name, filename)
+ tty.die("No such package: %s. Path does not exist:" % pkg_name, filename)
- git('add', filename)
+ git("add", filename)
def autospec(function):
"""Decorator that automatically converts the first argument of a
function to a Spec.
"""
+
@functools.wraps(function)
def converter(self, spec_like, *args, **kwargs):
if not isinstance(spec_like, spack.spec.Spec):
spec_like = spack.spec.Spec(spec_like)
return function(self, spec_like, *args, **kwargs)
+
return converter
@@ -445,15 +446,19 @@ def is_package_file(filename):
# We have to remove the file extension because it can be .py and can be
# .pyc depending on context, and can differ between the files
import spack.package_base # break cycle
+
filename_noext = os.path.splitext(filename)[0]
- packagebase_filename_noext = os.path.splitext(
- inspect.getfile(spack.package_base.PackageBase))[0]
- return (filename_noext != packagebase_filename_noext and
- os.path.basename(filename_noext) == 'package')
+ packagebase_filename_noext = os.path.splitext(inspect.getfile(spack.package_base.PackageBase))[
+ 0
+ ]
+ return (
+ filename_noext != packagebase_filename_noext
+ and os.path.basename(filename_noext) == "package"
+ )
class SpackNamespace(types.ModuleType):
- """ Allow lazy loading of modules."""
+ """Allow lazy loading of modules."""
def __init__(self, namespace):
super(SpackNamespace, self).__init__(namespace)
@@ -465,7 +470,7 @@ class SpackNamespace(types.ModuleType):
def __getattr__(self, name):
"""Getattr lazily loads modules if they're not already loaded."""
- submodule = self.__package__ + '.' + name
+ submodule = self.__package__ + "." + name
try:
setattr(self, name, __import__(submodule))
except ImportError:
@@ -482,6 +487,7 @@ class FastPackageChecker(Mapping):
all instances referring to it. Update of the global cache is done lazily
during instance initialization.
"""
+
#: Global cache, reused by every instance
_paths_cache = {} # type: Dict[str, Dict[str, os.stat_result]]
@@ -518,16 +524,15 @@ class FastPackageChecker(Mapping):
# Warn about invalid names that look like packages.
if not nm.valid_module_name(pkg_name):
- if not pkg_name.startswith('.'):
- tty.warn('Skipping package at {0}. "{1}" is not '
- 'a valid Spack module name.'.format(
- pkg_dir, pkg_name))
+ if not pkg_name.startswith("."):
+ tty.warn(
+ 'Skipping package at {0}. "{1}" is not '
+ "a valid Spack module name.".format(pkg_dir, pkg_name)
+ )
continue
# Construct the file name from the directory
- pkg_file = os.path.join(
- self.packages_path, pkg_name, package_file_name
- )
+ pkg_file = os.path.join(self.packages_path, pkg_name, package_file_name)
# Use stat here to avoid lots of calls to the filesystem.
try:
@@ -552,8 +557,7 @@ class FastPackageChecker(Mapping):
return cache
def last_mtime(self):
- return max(
- sinfo.st_mtime for sinfo in self._packages_to_stats.values())
+ return max(sinfo.st_mtime for sinfo in self._packages_to_stats.values())
def __getitem__(self, item):
return self._packages_to_stats[item]
@@ -607,6 +611,7 @@ class Indexer(object):
class TagIndexer(Indexer):
"""Lifecycle methods for a TagIndex on a Repo."""
+
def _create(self):
return spack.tag.TagIndex()
@@ -622,6 +627,7 @@ class TagIndexer(Indexer):
class ProviderIndexer(Indexer):
"""Lifecycle methods for virtual package providers."""
+
def _create(self):
return spack.provider_index.ProviderIndex()
@@ -629,7 +635,7 @@ class ProviderIndexer(Indexer):
self.index = spack.provider_index.ProviderIndex.from_json(stream)
def update(self, pkg_fullname):
- name = pkg_fullname.split('.')[-1]
+ name = pkg_fullname.split(".")[-1]
if spack.repo.path.is_virtual(name, use_index=False):
return
self.index.remove_provider(pkg_fullname)
@@ -641,6 +647,7 @@ class ProviderIndexer(Indexer):
class PatchIndexer(Indexer):
"""Lifecycle methods for patch cache."""
+
def _create(self):
return spack.patch.PatchCache()
@@ -676,12 +683,12 @@ class RepoIndex(object):
Generated indexes are accessed by name via ``__getitem__()``.
"""
+
def __init__(self, package_checker, namespace):
self.checker = package_checker
self.packages_path = self.checker.packages_path
- if sys.platform == 'win32':
- self.packages_path = \
- spack.util.path.convert_to_posix_path(self.packages_path)
+ if sys.platform == "win32":
+ self.packages_path = spack.util.path.convert_to_posix_path(self.packages_path)
self.namespace = namespace
self.indexers = {}
@@ -703,7 +710,7 @@ class RepoIndex(object):
"""Get the index with the specified name, reindexing if needed."""
indexer = self.indexers.get(name)
if not indexer:
- raise KeyError('no such index: %s' % name)
+ raise KeyError("no such index: %s" % name)
if name not in self.indexes:
self._build_all_indexes()
@@ -727,16 +734,13 @@ class RepoIndex(object):
"""Determine which packages need an update, and update indexes."""
# Filename of the provider index cache (we assume they're all json)
- cache_filename = '{0}/{1}-index.json'.format(name, self.namespace)
+ cache_filename = "{0}/{1}-index.json".format(name, self.namespace)
# Compute which packages needs to be updated in the cache
misc_cache = spack.caches.misc_cache
index_mtime = misc_cache.mtime(cache_filename)
- needs_update = [
- x for x, sinfo in self.checker.items()
- if sinfo.st_mtime > index_mtime
- ]
+ needs_update = [x for x, sinfo in self.checker.items() if sinfo.st_mtime > index_mtime]
index_existed = misc_cache.init_entry(cache_filename)
if index_existed and not needs_update:
@@ -750,7 +754,7 @@ class RepoIndex(object):
indexer.read(old) if old else indexer.create()
for pkg_name in needs_update:
- namespaced_name = '%s.%s' % (self.namespace, pkg_name)
+ namespaced_name = "%s.%s" % (self.namespace, pkg_name)
indexer.update(namespaced_name)
indexer.write(new)
@@ -784,10 +788,12 @@ class RepoPath(object):
repo = Repo(repo)
self.put_last(repo)
except RepoError as e:
- tty.warn("Failed to initialize repository: '%s'." % repo,
- e.message,
- "To remove the bad repository, run this command:",
- " spack repo rm %s" % repo)
+ tty.warn(
+ "Failed to initialize repository: '%s'." % repo,
+ e.message,
+ "To remove the bad repository, run this command:",
+ " spack repo rm %s" % repo,
+ )
def put_first(self, repo):
"""Add repo first in the search path."""
@@ -905,9 +911,11 @@ class RepoPath(object):
@autospec
def extensions_for(self, extendee_spec):
- return [pkg_cls(spack.spec.Spec(pkg_cls.name))
- for pkg_cls in self.all_package_classes()
- if pkg_cls(spack.spec.Spec(pkg_cls.name)).extends(extendee_spec)]
+ return [
+ pkg_cls(spack.spec.Spec(pkg_cls.name))
+ for pkg_cls in self.all_package_classes()
+ if pkg_cls(spack.spec.Spec(pkg_cls.name)).extends(extendee_spec)
+ ]
def last_mtime(self):
"""Time a package file in this repo was last updated."""
@@ -923,7 +931,7 @@ class RepoPath(object):
name = spec.name
else:
# handle strings directly for speed instead of @_autospec'ing
- namespace, _, name = spec.rpartition('.')
+ namespace, _, name = spec.rpartition(".")
# If the spec already has a namespace, then return the
# corresponding repo if we know about it.
@@ -957,8 +965,8 @@ class RepoPath(object):
def dump_provenance(self, spec, path):
"""Dump provenance information for a spec to a particular path.
- This dumps the package file and any associated patch files.
- Raises UnknownPackageError if not found.
+ This dumps the package file and any associated patch files.
+ Raises UnknownPackageError if not found.
"""
return self.repo_for_pkg(spec).dump_provenance(spec, path)
@@ -982,13 +990,13 @@ class RepoPath(object):
be run during the computation of the provider index."""
have_name = pkg_name is not None
if have_name and not isinstance(pkg_name, str):
- raise ValueError(
- "is_virtual(): expected package name, got %s" % type(pkg_name))
+ raise ValueError("is_virtual(): expected package name, got %s" % type(pkg_name))
if use_index:
return have_name and pkg_name in self.provider_index
else:
- return have_name and (not self.exists(pkg_name) or
- self.get_pkg_class(pkg_name).virtual)
+ return have_name and (
+ not self.exists(pkg_name) or self.get_pkg_class(pkg_name).virtual
+ )
def __contains__(self, pkg_name):
return self.exists(pkg_name)
@@ -1024,29 +1032,33 @@ class Repo(object):
# Validate repository layout.
self.config_file = os.path.join(self.root, repo_config_name)
- check(os.path.isfile(self.config_file),
- "No %s found in '%s'" % (repo_config_name, root))
+ check(os.path.isfile(self.config_file), "No %s found in '%s'" % (repo_config_name, root))
self.packages_path = os.path.join(self.root, packages_dir_name)
- check(os.path.isdir(self.packages_path),
- "No directory '%s' found in '%s'" % (packages_dir_name, root))
+ check(
+ os.path.isdir(self.packages_path),
+ "No directory '%s' found in '%s'" % (packages_dir_name, root),
+ )
# Read configuration and validate namespace
config = self._read_config()
- check('namespace' in config, '%s must define a namespace.'
- % os.path.join(root, repo_config_name))
+ check(
+ "namespace" in config,
+ "%s must define a namespace." % os.path.join(root, repo_config_name),
+ )
- self.namespace = config['namespace']
- check(re.match(r'[a-zA-Z][a-zA-Z0-9_.]+', self.namespace),
- ("Invalid namespace '%s' in repo '%s'. "
- % (self.namespace, self.root)) +
- "Namespaces must be valid python identifiers separated by '.'")
+ self.namespace = config["namespace"]
+ check(
+ re.match(r"[a-zA-Z][a-zA-Z0-9_.]+", self.namespace),
+ ("Invalid namespace '%s' in repo '%s'. " % (self.namespace, self.root))
+ + "Namespaces must be valid python identifiers separated by '.'",
+ )
# Set up 'full_namespace' to include the super-namespace
self.full_namespace = python_package_for_repo(self.namespace)
# Keep name components around for checking prefixes.
- self._names = self.full_namespace.split('.')
+ self._names = self.full_namespace.split(".")
# These are internal cache variables.
self._modules = {}
@@ -1086,8 +1098,8 @@ class Repo(object):
def is_prefix(self, fullname):
"""True if fullname is a prefix of this Repo's namespace."""
- parts = fullname.split('.')
- return self._names[:len(parts)] == parts
+ parts = fullname.split(".")
+ return self._names[: len(parts)] == parts
def _read_config(self):
"""Check for a YAML config file in this db's root directory."""
@@ -1095,16 +1107,17 @@ class Repo(object):
with open(self.config_file) as reponame_file:
yaml_data = yaml.load(reponame_file)
- if (not yaml_data or 'repo' not in yaml_data or
- not isinstance(yaml_data['repo'], dict)):
- tty.die("Invalid %s in repository %s" % (
- repo_config_name, self.root))
+ if (
+ not yaml_data
+ or "repo" not in yaml_data
+ or not isinstance(yaml_data["repo"], dict)
+ ):
+ tty.die("Invalid %s in repository %s" % (repo_config_name, self.root))
- return yaml_data['repo']
+ return yaml_data["repo"]
except IOError:
- tty.die("Error reading %s when opening %s"
- % (self.config_file, self.root))
+ tty.die("Error reading %s when opening %s" % (self.config_file, self.root))
def get(self, spec):
"""Returns the package associated with the supplied spec."""
@@ -1131,7 +1144,7 @@ class Repo(object):
# Make sure other errors in constructors hit the error
# handler by wrapping them
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
sys.excepthook(*sys.exc_info())
raise FailedConstructorError(spec.fullname, *sys.exc_info())
@@ -1139,18 +1152,17 @@ class Repo(object):
def dump_provenance(self, spec, path):
"""Dump provenance information for a spec to a particular path.
- This dumps the package file and any associated patch files.
- Raises UnknownPackageError if not found.
+ This dumps the package file and any associated patch files.
+ Raises UnknownPackageError if not found.
"""
if spec.namespace and spec.namespace != self.namespace:
raise UnknownPackageError(
- "Repository %s does not contain package %s."
- % (self.namespace, spec.fullname))
+ "Repository %s does not contain package %s." % (self.namespace, spec.fullname)
+ )
# Install patch files needed by the package.
fs.mkdirp(path)
- for patch in itertools.chain.from_iterable(
- spec.package.patches.values()):
+ for patch in itertools.chain.from_iterable(spec.package.patches.values()):
if patch.path:
if os.path.exists(patch.path):
@@ -1170,25 +1182,25 @@ class Repo(object):
"""Construct the index for this repo lazily."""
if self._repo_index is None:
self._repo_index = RepoIndex(self._pkg_checker, self.namespace)
- self._repo_index.add_indexer('providers', ProviderIndexer())
- self._repo_index.add_indexer('tags', TagIndexer())
- self._repo_index.add_indexer('patches', PatchIndexer())
+ self._repo_index.add_indexer("providers", ProviderIndexer())
+ self._repo_index.add_indexer("tags", TagIndexer())
+ self._repo_index.add_indexer("patches", PatchIndexer())
return self._repo_index
@property
def provider_index(self):
"""A provider index with names *specific* to this repo."""
- return self.index['providers']
+ return self.index["providers"]
@property
def tag_index(self):
"""Index of tags and which packages they're defined on."""
- return self.index['tags']
+ return self.index["tags"]
@property
def patch_index(self):
"""Index of patches and packages they're defined on."""
- return self.index['patches']
+ return self.index["patches"]
@autospec
def providers_for(self, vpkg_spec):
@@ -1199,23 +1211,25 @@ class Repo(object):
@autospec
def extensions_for(self, extendee_spec):
- return [pkg_cls(spack.spec.Spec(pkg_cls.name))
- for pkg_cls in self.all_package_classes()
- if pkg_cls(spack.spec.Spec(pkg_cls.name)).extends(extendee_spec)]
+ return [
+ pkg_cls(spack.spec.Spec(pkg_cls.name))
+ for pkg_cls in self.all_package_classes()
+ if pkg_cls(spack.spec.Spec(pkg_cls.name)).extends(extendee_spec)
+ ]
def dirname_for_package_name(self, pkg_name):
"""Get the directory name for a particular package. This is the
- directory that contains its package.py file."""
+ directory that contains its package.py file."""
return os.path.join(self.packages_path, pkg_name)
def filename_for_package_name(self, pkg_name):
"""Get the filename for the module we should load for a particular
- package. Packages for a Repo live in
- ``$root/<package_name>/package.py``
+ package. Packages for a Repo live in
+ ``$root/<package_name>/package.py``
- This will return a proper package.py path even if the
- package doesn't exist yet, so callers will need to ensure
- the package exists before importing.
+ This will return a proper package.py path even if the
+ package doesn't exist yet, so callers will need to ensure
+ the package exists before importing.
"""
pkg_dir = self.dirname_for_package_name(pkg_name)
return os.path.join(pkg_dir, package_file_name)
@@ -1279,10 +1293,11 @@ class Repo(object):
package. Then extracts the package class from the module
according to Spack's naming convention.
"""
- namespace, _, pkg_name = pkg_name.rpartition('.')
+ namespace, _, pkg_name = pkg_name.rpartition(".")
if namespace and (namespace != self.namespace):
- raise InvalidNamespaceError('Invalid namespace for %s repo: %s'
- % (self.namespace, namespace))
+ raise InvalidNamespaceError(
+ "Invalid namespace for %s repo: %s" % (self.namespace, namespace)
+ )
class_name = nm.mod_to_class(pkg_name)
@@ -1311,45 +1326,38 @@ class Repo(object):
def create_repo(root, namespace=None):
"""Create a new repository in root with the specified namespace.
- If the namespace is not provided, use basename of root.
- Return the canonicalized path and namespace of the created repository.
+ If the namespace is not provided, use basename of root.
+ Return the canonicalized path and namespace of the created repository.
"""
root = spack.util.path.canonicalize_path(root)
if not namespace:
namespace = os.path.basename(root)
- if not re.match(r'\w[\.\w-]*', namespace):
- raise InvalidNamespaceError(
- "'%s' is not a valid namespace." % namespace)
+ if not re.match(r"\w[\.\w-]*", namespace):
+ raise InvalidNamespaceError("'%s' is not a valid namespace." % namespace)
existed = False
if os.path.exists(root):
if os.path.isfile(root):
- raise BadRepoError('File %s already exists and is not a directory'
- % root)
+ raise BadRepoError("File %s already exists and is not a directory" % root)
elif os.path.isdir(root):
if not os.access(root, os.R_OK | os.W_OK):
- raise BadRepoError(
- 'Cannot create new repo in %s: cannot access directory.'
- % root)
+ raise BadRepoError("Cannot create new repo in %s: cannot access directory." % root)
if os.listdir(root):
- raise BadRepoError(
- 'Cannot create new repo in %s: directory is not empty.'
- % root)
+ raise BadRepoError("Cannot create new repo in %s: directory is not empty." % root)
existed = True
full_path = os.path.realpath(root)
parent = os.path.dirname(full_path)
if not os.access(parent, os.R_OK | os.W_OK):
- raise BadRepoError(
- "Cannot create repository in %s: can't access parent!" % root)
+ raise BadRepoError("Cannot create repository in %s: can't access parent!" % root)
try:
config_path = os.path.join(root, repo_config_name)
packages_path = os.path.join(root, packages_dir_name)
fs.mkdirp(packages_path)
- with open(config_path, 'w') as config:
+ with open(config_path, "w") as config:
config.write("repo:\n")
config.write(" namespace: '%s'\n" % namespace)
@@ -1361,8 +1369,9 @@ def create_repo(root, namespace=None):
else:
shutil.rmtree(root, ignore_errors=True)
- raise BadRepoError('Failed to create new repository in %s.' % root,
- "Caused by %s: %s" % (type(e), e))
+ raise BadRepoError(
+ "Failed to create new repository in %s." % root, "Caused by %s: %s" % (type(e), e)
+ )
return full_path, namespace
@@ -1377,10 +1386,9 @@ def create_or_construct(path, namespace=None):
def _path(repo_dirs=None):
"""Get the singleton RepoPath instance for Spack."""
- repo_dirs = repo_dirs or spack.config.get('repos')
+ repo_dirs = repo_dirs or spack.config.get("repos")
if not repo_dirs:
- raise NoRepoConfiguredError(
- "Spack configuration contains no package repositories.")
+ raise NoRepoConfiguredError("Spack configuration contains no package repositories.")
return RepoPath(*repo_dirs)
@@ -1481,8 +1489,7 @@ class UnknownNamespaceError(UnknownEntityError):
"""Raised when we encounter an unknown namespace"""
def __init__(self, namespace):
- super(UnknownNamespaceError, self).__init__(
- "Unknown namespace: %s" % namespace)
+ super(UnknownNamespaceError, self).__init__("Unknown namespace: %s" % namespace)
class FailedConstructorError(RepoError):
@@ -1491,7 +1498,8 @@ class FailedConstructorError(RepoError):
def __init__(self, name, exc_type, exc_obj, exc_tb):
super(FailedConstructorError, self).__init__(
"Class constructor failed for package '%s'." % name,
- '\nCaused by:\n' +
- ('%s: %s\n' % (exc_type.__name__, exc_obj)) +
- ''.join(traceback.format_tb(exc_tb)))
+ "\nCaused by:\n"
+ + ("%s: %s\n" % (exc_type.__name__, exc_obj))
+ + "".join(traceback.format_tb(exc_tb)),
+ )
self.name = name
diff --git a/lib/spack/spack/report.py b/lib/spack/spack/report.py
index 8e50ebece6..ec81502887 100644
--- a/lib/spack/spack/report.py
+++ b/lib/spack/spack/report.py
@@ -20,33 +20,24 @@ from spack.reporter import Reporter
from spack.reporters.cdash import CDash
from spack.reporters.junit import JUnit
-report_writers = {
- None: Reporter,
- 'junit': JUnit,
- 'cdash': CDash
-}
+report_writers = {None: Reporter, "junit": JUnit, "cdash": CDash}
#: Allowed report formats
valid_formats = list(report_writers.keys())
-__all__ = [
- 'valid_formats',
- 'collect_info'
-]
+__all__ = ["valid_formats", "collect_info"]
def fetch_log(pkg, do_fn, dir):
log_files = {
- '_install_task': pkg.build_log_path,
- 'do_test': os.path.join(dir, TestSuite.test_log_name(pkg.spec)),
+ "_install_task": pkg.build_log_path,
+ "do_test": os.path.join(dir, TestSuite.test_log_name(pkg.spec)),
}
try:
- with codecs.open(log_files[do_fn.__name__], 'r', 'utf-8') as f:
- return ''.join(f.readlines())
+ with codecs.open(log_files[do_fn.__name__], "r", "utf-8") as f:
+ return "".join(f.readlines())
except Exception:
- return 'Cannot open log for {0}'.format(
- pkg.spec.cshort_spec
- )
+ return "Cannot open log for {0}".format(pkg.spec.cshort_spec)
class InfoCollector(object):
@@ -64,6 +55,7 @@ class InfoCollector(object):
specs (list of Spec): specs whose install information will
be recorded
"""
+
def __init__(self, wrap_class, do_fn, specs, dir):
#: Class for which to wrap a function
self.wrap_class = wrap_class
@@ -82,44 +74,38 @@ class InfoCollector(object):
def __enter__(self):
# Initialize the spec report with the data that is available upfront.
for input_spec in self.input_specs:
- name_fmt = '{0}_{1}'
- name = name_fmt.format(input_spec.name,
- input_spec.dag_hash(length=7))
+ name_fmt = "{0}_{1}"
+ name = name_fmt.format(input_spec.name, input_spec.dag_hash(length=7))
spec = {
- 'name': name,
- 'nerrors': None,
- 'nfailures': None,
- 'npackages': None,
- 'time': None,
- 'timestamp': time.strftime(
- "%a, %d %b %Y %H:%M:%S", time.gmtime()
- ),
- 'properties': [],
- 'packages': []
+ "name": name,
+ "nerrors": None,
+ "nfailures": None,
+ "npackages": None,
+ "time": None,
+ "timestamp": time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()),
+ "properties": [],
+ "packages": [],
}
self.specs.append(spec)
- Property = collections.namedtuple('Property', ['name', 'value'])
- spec['properties'].append(
- Property('architecture', input_spec.architecture)
- )
- spec['properties'].append(
- Property('compiler', input_spec.compiler))
+ Property = collections.namedtuple("Property", ["name", "value"])
+ spec["properties"].append(Property("architecture", input_spec.architecture))
+ spec["properties"].append(Property("compiler", input_spec.compiler))
# Check which specs are already installed and mark them as skipped
# only for install_task
- if self.do_fn == '_install_task':
+ if self.do_fn == "_install_task":
for dep in filter(lambda x: x.installed, input_spec.traverse()):
package = {
- 'name': dep.name,
- 'id': dep.dag_hash(),
- 'elapsed_time': '0.0',
- 'result': 'skipped',
- 'message': 'Spec already installed'
+ "name": dep.name,
+ "id": dep.dag_hash(),
+ "elapsed_time": "0.0",
+ "result": "skipped",
+ "message": "Spec already installed",
}
- spec['packages'].append(package)
+ spec["packages"].append(package)
def gather_info(do_fn):
"""Decorates do_fn to gather useful information for
@@ -128,11 +114,12 @@ class InfoCollector(object):
It's defined here to capture the environment and build
this context as the installations proceed.
"""
+
@functools.wraps(do_fn)
def wrapper(instance, *args, **kwargs):
if isinstance(instance, spack.package_base.PackageBase):
pkg = instance
- elif hasattr(args[0], 'pkg'):
+ elif hasattr(args[0], "pkg"):
pkg = args[0].pkg
else:
raise Exception
@@ -141,12 +128,12 @@ class InfoCollector(object):
installed_already = pkg.spec.installed
package = {
- 'name': pkg.name,
- 'id': pkg.spec.dag_hash(),
- 'elapsed_time': None,
- 'result': None,
- 'message': None,
- 'installed_from_binary_cache': False
+ "name": pkg.name,
+ "id": pkg.spec.dag_hash(),
+ "elapsed_time": None,
+ "result": None,
+ "message": None,
+ "installed_from_binary_cache": False,
}
# Append the package to the correct spec report. In some
@@ -157,11 +144,8 @@ class InfoCollector(object):
for s in llnl.util.lang.dedupe([pkg.spec.root, pkg.spec]):
name = name_fmt.format(s.name, s.dag_hash(length=7))
try:
- item = next((
- x for x in self.specs
- if x['name'] == name
- ))
- item['packages'].append(package)
+ item = next((x for x in self.specs if x["name"] == name))
+ item["packages"].append(package)
except StopIteration:
pass
@@ -170,47 +154,44 @@ class InfoCollector(object):
try:
value = do_fn(instance, *args, **kwargs)
- externals = kwargs.get('externals', False)
+ externals = kwargs.get("externals", False)
skip_externals = pkg.spec.external and not externals
- if do_fn.__name__ == 'do_test' and skip_externals:
- package['result'] = 'skipped'
+ if do_fn.__name__ == "do_test" and skip_externals:
+ package["result"] = "skipped"
else:
- package['result'] = 'success'
- package['stdout'] = fetch_log(pkg, do_fn, self.dir)
- package['installed_from_binary_cache'] = \
- pkg.installed_from_binary_cache
- if do_fn.__name__ == '_install_task' and installed_already:
+ package["result"] = "success"
+ package["stdout"] = fetch_log(pkg, do_fn, self.dir)
+ package["installed_from_binary_cache"] = pkg.installed_from_binary_cache
+ if do_fn.__name__ == "_install_task" and installed_already:
return
except spack.build_environment.InstallError as e:
# An InstallError is considered a failure (the recipe
# didn't work correctly)
- package['result'] = 'failure'
- package['message'] = e.message or 'Installation failure'
- package['stdout'] = fetch_log(pkg, do_fn, self.dir)
- package['stdout'] += package['message']
- package['exception'] = e.traceback
+ package["result"] = "failure"
+ package["message"] = e.message or "Installation failure"
+ package["stdout"] = fetch_log(pkg, do_fn, self.dir)
+ package["stdout"] += package["message"]
+ package["exception"] = e.traceback
raise
except (Exception, BaseException) as e:
# Everything else is an error (the installation
# failed outside of the child process)
- package['result'] = 'error'
- package['stdout'] = fetch_log(pkg, do_fn, self.dir)
- package['message'] = str(e) or 'Unknown error'
- package['exception'] = traceback.format_exc()
+ package["result"] = "error"
+ package["stdout"] = fetch_log(pkg, do_fn, self.dir)
+ package["message"] = str(e) or "Unknown error"
+ package["exception"] = traceback.format_exc()
raise
finally:
- package['elapsed_time'] = time.time() - start_time
+ package["elapsed_time"] = time.time() - start_time
return value
return wrapper
- setattr(self.wrap_class, self.do_fn, gather_info(
- getattr(self.wrap_class, self.do_fn)
- ))
+ setattr(self.wrap_class, self.do_fn, gather_info(getattr(self.wrap_class, self.do_fn)))
def __exit__(self, exc_type, exc_val, exc_tb):
@@ -218,16 +199,10 @@ class InfoCollector(object):
setattr(self.wrap_class, self.do_fn, self._backup_do_fn)
for spec in self.specs:
- spec['npackages'] = len(spec['packages'])
- spec['nfailures'] = len(
- [x for x in spec['packages'] if x['result'] == 'failure']
- )
- spec['nerrors'] = len(
- [x for x in spec['packages'] if x['result'] == 'error']
- )
- spec['time'] = sum([
- float(x['elapsed_time']) for x in spec['packages']
- ])
+ spec["npackages"] = len(spec["packages"])
+ spec["nfailures"] = len([x for x in spec["packages"] if x["result"] == "failure"])
+ spec["nerrors"] = len([x for x in spec["packages"] if x["result"] == "error"])
+ spec["time"] = sum([float(x["elapsed_time"]) for x in spec["packages"]])
class collect_info(object):
@@ -265,19 +240,19 @@ class collect_info(object):
Raises:
ValueError: when ``format_name`` is not in ``valid_formats``
"""
+
def __init__(self, cls, function, format_name, args):
self.cls = cls
self.function = function
self.filename = None
if args.cdash_upload_url:
- self.format_name = 'cdash'
- self.filename = 'cdash_report'
+ self.format_name = "cdash"
+ self.filename = "cdash_report"
else:
self.format_name = format_name
# Check that the format is valid.
if self.format_name not in valid_formats:
- raise ValueError('invalid report type: {0}'
- .format(self.format_name))
+ raise ValueError("invalid report type: {0}".format(self.format_name))
self.report_writer = report_writers[self.format_name](args)
def __call__(self, type, dir=None):
@@ -291,8 +266,7 @@ class collect_info(object):
def __enter__(self):
if self.format_name:
# Start the collector and patch self.function on appropriate class
- self.collector = InfoCollector(
- self.cls, self.function, self.specs, self.dir)
+ self.collector = InfoCollector(self.cls, self.function, self.specs, self.dir)
self.collector.__enter__()
def __exit__(self, exc_type, exc_val, exc_tb):
@@ -301,6 +275,6 @@ class collect_info(object):
# original PackageInstaller._install_task
self.collector.__exit__(exc_type, exc_val, exc_tb)
- report_data = {'specs': self.collector.specs}
- report_fn = getattr(self.report_writer, '%s_report' % self.type)
+ report_data = {"specs": self.collector.specs}
+ report_fn = getattr(self.report_writer, "%s_report" % self.type)
report_fn(self.filename, report_data)
diff --git a/lib/spack/spack/reporter.py b/lib/spack/spack/reporter.py
index dcb552f749..6dc8cff2e0 100644
--- a/lib/spack/spack/reporter.py
+++ b/lib/spack/spack/reporter.py
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-__all__ = ['Reporter']
+__all__ = ["Reporter"]
class Reporter(object):
diff --git a/lib/spack/spack/reporters/cdash.py b/lib/spack/spack/reporters/cdash.py
index 388884039d..6107aaed50 100644
--- a/lib/spack/spack/reporters/cdash.py
+++ b/lib/spack/spack/reporters/cdash.py
@@ -29,21 +29,21 @@ from spack.util.crypto import checksum
from spack.util.executable import which
from spack.util.log_parse import parse_log_events
-__all__ = ['CDash']
+__all__ = ["CDash"]
# Mapping Spack phases to the corresponding CTest/CDash phase.
map_phases_to_cdash = {
- 'autoreconf': 'configure',
- 'cmake': 'configure',
- 'configure': 'configure',
- 'edit': 'configure',
- 'build': 'build',
- 'install': 'build'
+ "autoreconf": "configure",
+ "cmake": "configure",
+ "configure": "configure",
+ "edit": "configure",
+ "build": "build",
+ "install": "build",
}
# Initialize data structures common to each phase's report.
cdash_phases = set(map_phases_to_cdash.values())
-cdash_phases.add('update')
+cdash_phases.add("update")
class CDash(Reporter):
@@ -64,7 +64,7 @@ class CDash(Reporter):
self.success = True
# Posixpath is used here to support the underlying template enginge
# Jinja2, which expects `/` path separators
- self.template_dir = posixpath.join('reports', 'cdash')
+ self.template_dir = posixpath.join("reports", "cdash")
self.cdash_upload_url = args.cdash_upload_url
if self.cdash_upload_url:
@@ -72,21 +72,21 @@ class CDash(Reporter):
self.phase_regexp = re.compile(r"Executing phase: '(.*)'")
self.authtoken = None
- if 'SPACK_CDASH_AUTH_TOKEN' in os.environ:
+ if "SPACK_CDASH_AUTH_TOKEN" in os.environ:
tty.verbose("Using CDash auth token from environment")
- self.authtoken = os.environ.get('SPACK_CDASH_AUTH_TOKEN')
+ self.authtoken = os.environ.get("SPACK_CDASH_AUTH_TOKEN")
- if getattr(args, 'spec', ''):
+ if getattr(args, "spec", ""):
packages = args.spec
- elif getattr(args, 'specs', ''):
+ elif getattr(args, "specs", ""):
packages = args.specs
else:
packages = []
for file in args.specfiles:
- with open(file, 'r') as f:
+ with open(file, "r") as f:
s = spack.spec.Spec.from_yaml(f)
packages.append(s.format())
- self.install_command = ' '.join(packages)
+ self.install_command = " ".join(packages)
self.base_buildname = args.cdash_build or self.install_command
self.site = args.cdash_site or socket.gethostname()
self.osname = platform.system()
@@ -95,60 +95,56 @@ class CDash(Reporter):
self.buildstamp = args.cdash_buildstamp
else:
buildstamp_format = "%Y%m%d-%H%M-{0}".format(args.cdash_track)
- self.buildstamp = time.strftime(buildstamp_format,
- time.localtime(self.endtime))
+ self.buildstamp = time.strftime(buildstamp_format, time.localtime(self.endtime))
self.buildIds = collections.OrderedDict()
- self.revision = ''
- git = which('git')
+ self.revision = ""
+ git = which("git")
with working_dir(spack.paths.spack_root):
- self.revision = git('rev-parse', 'HEAD', output=str).strip()
+ self.revision = git("rev-parse", "HEAD", output=str).strip()
self.multiple_packages = False
def build_report_for_package(self, directory_name, package, duration):
- if 'stdout' not in package:
+ if "stdout" not in package:
# Skip reporting on packages that did not generate any output.
return
- self.current_package_name = package['name']
+ self.current_package_name = package["name"]
if self.multiple_packages:
- self.buildname = "{0} - {1}".format(
- self.base_buildname, package['name'])
+ self.buildname = "{0} - {1}".format(self.base_buildname, package["name"])
else:
self.buildname = self.base_buildname
report_data = self.initialize_report(directory_name)
for phase in cdash_phases:
report_data[phase] = {}
- report_data[phase]['loglines'] = []
- report_data[phase]['status'] = 0
- report_data[phase]['endtime'] = self.endtime
+ report_data[phase]["loglines"] = []
+ report_data[phase]["status"] = 0
+ report_data[phase]["endtime"] = self.endtime
# Track the phases we perform so we know what reports to create.
# We always report the update step because this is how we tell CDash
# what revision of Spack we are using.
- phases_encountered = ['update']
+ phases_encountered = ["update"]
# Generate a report for this package.
- current_phase = ''
- cdash_phase = ''
- for line in package['stdout'].splitlines():
+ current_phase = ""
+ cdash_phase = ""
+ for line in package["stdout"].splitlines():
match = None
if line.find("Executing phase: '") != -1:
match = self.phase_regexp.search(line)
if match:
current_phase = match.group(1)
if current_phase not in map_phases_to_cdash:
- current_phase = ''
+ current_phase = ""
continue
- cdash_phase = \
- map_phases_to_cdash[current_phase]
+ cdash_phase = map_phases_to_cdash[current_phase]
if cdash_phase not in phases_encountered:
phases_encountered.append(cdash_phase)
- report_data[cdash_phase]['loglines'].append(
- text_type("{0} output for {1}:".format(
- cdash_phase, package['name'])))
+ report_data[cdash_phase]["loglines"].append(
+ text_type("{0} output for {1}:".format(cdash_phase, package["name"]))
+ )
elif cdash_phase:
- report_data[cdash_phase]['loglines'].append(
- xml.sax.saxutils.escape(line))
+ report_data[cdash_phase]["loglines"].append(xml.sax.saxutils.escape(line))
# Move the build phase to the front of the list if it occurred.
# This supports older versions of CDash that expect this phase
@@ -159,13 +155,12 @@ class CDash(Reporter):
self.starttime = self.endtime - duration
for phase in phases_encountered:
- report_data[phase]['starttime'] = self.starttime
- report_data[phase]['log'] = \
- '\n'.join(report_data[phase]['loglines'])
- errors, warnings = parse_log_events(report_data[phase]['loglines'])
+ report_data[phase]["starttime"] = self.starttime
+ report_data[phase]["log"] = "\n".join(report_data[phase]["loglines"])
+ errors, warnings = parse_log_events(report_data[phase]["loglines"])
# Convert errors to warnings if the package reported success.
- if package['result'] == 'success':
+ if package["result"] == "success":
warnings = errors + warnings
errors = []
@@ -176,53 +171,51 @@ class CDash(Reporter):
if nerrors > 0:
self.success = False
- if phase == 'configure':
- report_data[phase]['status'] = 1
+ if phase == "configure":
+ report_data[phase]["status"] = 1
- if phase == 'build':
+ if phase == "build":
# Convert log output from ASCII to Unicode and escape for XML.
def clean_log_event(event):
event = vars(event)
- event['text'] = xml.sax.saxutils.escape(event['text'])
- event['pre_context'] = xml.sax.saxutils.escape(
- '\n'.join(event['pre_context']))
- event['post_context'] = xml.sax.saxutils.escape(
- '\n'.join(event['post_context']))
+ event["text"] = xml.sax.saxutils.escape(event["text"])
+ event["pre_context"] = xml.sax.saxutils.escape("\n".join(event["pre_context"]))
+ event["post_context"] = xml.sax.saxutils.escape(
+ "\n".join(event["post_context"])
+ )
# source_file and source_line_no are either strings or
# the tuple (None,). Distinguish between these two cases.
- if event['source_file'][0] is None:
- event['source_file'] = ''
- event['source_line_no'] = ''
+ if event["source_file"][0] is None:
+ event["source_file"] = ""
+ event["source_line_no"] = ""
else:
- event['source_file'] = xml.sax.saxutils.escape(
- event['source_file'])
+ event["source_file"] = xml.sax.saxutils.escape(event["source_file"])
return event
- report_data[phase]['errors'] = []
- report_data[phase]['warnings'] = []
+ report_data[phase]["errors"] = []
+ report_data[phase]["warnings"] = []
for error in errors:
- report_data[phase]['errors'].append(clean_log_event(error))
+ report_data[phase]["errors"].append(clean_log_event(error))
for warning in warnings:
- report_data[phase]['warnings'].append(
- clean_log_event(warning))
+ report_data[phase]["warnings"].append(clean_log_event(warning))
- if phase == 'update':
- report_data[phase]['revision'] = self.revision
+ if phase == "update":
+ report_data[phase]["revision"] = self.revision
# Write the report.
report_name = phase.capitalize() + ".xml"
if self.multiple_packages:
- report_file_name = package['name'] + "_" + report_name
+ report_file_name = package["name"] + "_" + report_name
else:
report_file_name = report_name
phase_report = os.path.join(directory_name, report_file_name)
- with codecs.open(phase_report, 'w', 'utf-8') as f:
+ with codecs.open(phase_report, "w", "utf-8") as f:
env = spack.tengine.make_environment()
- if phase != 'update':
+ if phase != "update":
# Update.xml stores site information differently
# than the rest of the CTest XML files.
- site_template = posixpath.join(self.template_dir, 'Site.xml')
+ site_template = posixpath.join(self.template_dir, "Site.xml")
t = env.get_template(site_template)
f.write(t.render(report_data))
@@ -236,16 +229,16 @@ class CDash(Reporter):
# than one package. When we're only reporting on a single package we
# do not explicitly include the package's name in the CDash build name.
num_packages = 0
- for spec in input_data['specs']:
+ for spec in input_data["specs"]:
# Do not generate reports for packages that were installed
# from the binary cache.
- spec['packages'] = [
- x for x in spec['packages']
- if 'installed_from_binary_cache' not in x or
- not x['installed_from_binary_cache']
+ spec["packages"] = [
+ x
+ for x in spec["packages"]
+ if "installed_from_binary_cache" not in x or not x["installed_from_binary_cache"]
]
- for package in spec['packages']:
- if 'stdout' in package:
+ for package in spec["packages"]:
+ if "stdout" in package:
num_packages += 1
if num_packages > 1:
self.multiple_packages = True
@@ -254,102 +247,96 @@ class CDash(Reporter):
break
# Generate reports for each package in each spec.
- for spec in input_data['specs']:
+ for spec in input_data["specs"]:
duration = 0
- if 'time' in spec:
- duration = int(spec['time'])
- for package in spec['packages']:
- self.build_report_for_package(
- directory_name, package, duration)
+ if "time" in spec:
+ duration = int(spec["time"])
+ for package in spec["packages"]:
+ self.build_report_for_package(directory_name, package, duration)
self.finalize_report()
def test_report_for_package(self, directory_name, package, duration):
- if 'stdout' not in package:
+ if "stdout" not in package:
# Skip reporting on packages that did not generate any output.
return
- self.current_package_name = package['name']
- self.buildname = "{0} - {1}".format(
- self.base_buildname, package['name'])
+ self.current_package_name = package["name"]
+ self.buildname = "{0} - {1}".format(self.base_buildname, package["name"])
report_data = self.initialize_report(directory_name)
- for phase in ('test', 'update'):
+ for phase in ("test", "update"):
report_data[phase] = {}
- report_data[phase]['loglines'] = []
- report_data[phase]['status'] = 0
- report_data[phase]['endtime'] = self.endtime
+ report_data[phase]["loglines"] = []
+ report_data[phase]["status"] = 0
+ report_data[phase]["endtime"] = self.endtime
# Track the phases we perform so we know what reports to create.
# We always report the update step because this is how we tell CDash
# what revision of Spack we are using.
- phases_encountered = ['test', 'update']
+ phases_encountered = ["test", "update"]
# Generate a report for this package.
# The first line just says "Testing package name-hash"
- report_data['test']['loglines'].append(
- text_type("{0} output for {1}:".format(
- 'test', package['name'])))
- for line in package['stdout'].splitlines()[1:]:
- report_data['test']['loglines'].append(
- xml.sax.saxutils.escape(line))
+ report_data["test"]["loglines"].append(
+ text_type("{0} output for {1}:".format("test", package["name"]))
+ )
+ for line in package["stdout"].splitlines()[1:]:
+ report_data["test"]["loglines"].append(xml.sax.saxutils.escape(line))
self.starttime = self.endtime - duration
for phase in phases_encountered:
- report_data[phase]['starttime'] = self.starttime
- report_data[phase]['log'] = \
- '\n'.join(report_data[phase]['loglines'])
- errors, warnings = parse_log_events(report_data[phase]['loglines'])
+ report_data[phase]["starttime"] = self.starttime
+ report_data[phase]["log"] = "\n".join(report_data[phase]["loglines"])
+ errors, warnings = parse_log_events(report_data[phase]["loglines"])
# Cap the number of errors and warnings at 50 each.
errors = errors[0:49]
warnings = warnings[0:49]
- if phase == 'test':
+ if phase == "test":
# Convert log output from ASCII to Unicode and escape for XML.
def clean_log_event(event):
event = vars(event)
- event['text'] = xml.sax.saxutils.escape(event['text'])
- event['pre_context'] = xml.sax.saxutils.escape(
- '\n'.join(event['pre_context']))
- event['post_context'] = xml.sax.saxutils.escape(
- '\n'.join(event['post_context']))
+ event["text"] = xml.sax.saxutils.escape(event["text"])
+ event["pre_context"] = xml.sax.saxutils.escape("\n".join(event["pre_context"]))
+ event["post_context"] = xml.sax.saxutils.escape(
+ "\n".join(event["post_context"])
+ )
# source_file and source_line_no are either strings or
# the tuple (None,). Distinguish between these two cases.
- if event['source_file'][0] is None:
- event['source_file'] = ''
- event['source_line_no'] = ''
+ if event["source_file"][0] is None:
+ event["source_file"] = ""
+ event["source_line_no"] = ""
else:
- event['source_file'] = xml.sax.saxutils.escape(
- event['source_file'])
+ event["source_file"] = xml.sax.saxutils.escape(event["source_file"])
return event
# Convert errors to warnings if the package reported success.
- if package['result'] == 'success':
+ if package["result"] == "success":
warnings = errors + warnings
errors = []
- report_data[phase]['errors'] = []
- report_data[phase]['warnings'] = []
+ report_data[phase]["errors"] = []
+ report_data[phase]["warnings"] = []
for error in errors:
- report_data[phase]['errors'].append(clean_log_event(error))
+ report_data[phase]["errors"].append(clean_log_event(error))
for warning in warnings:
- report_data[phase]['warnings'].append(
- clean_log_event(warning))
+ report_data[phase]["warnings"].append(clean_log_event(warning))
- if phase == 'update':
- report_data[phase]['revision'] = self.revision
+ if phase == "update":
+ report_data[phase]["revision"] = self.revision
# Write the report.
report_name = phase.capitalize() + ".xml"
- report_file_name = package['name'] + "_" + report_name
+ report_file_name = package["name"] + "_" + report_name
phase_report = os.path.join(directory_name, report_file_name)
- with codecs.open(phase_report, 'w', 'utf-8') as f:
+ with codecs.open(phase_report, "w", "utf-8") as f:
env = spack.tengine.make_environment()
- if phase != 'update':
+ if phase != "update":
# Update.xml stores site information differently
# than the rest of the CTest XML files.
- site_template = posixpath.join(self.template_dir, 'Site.xml')
+ site_template = posixpath.join(self.template_dir, "Site.xml")
t = env.get_template(site_template)
f.write(t.render(report_data))
@@ -360,29 +347,28 @@ class CDash(Reporter):
def test_report(self, directory_name, input_data):
# Generate reports for each package in each spec.
- for spec in input_data['specs']:
+ for spec in input_data["specs"]:
duration = 0
- if 'time' in spec:
- duration = int(spec['time'])
- for package in spec['packages']:
- self.test_report_for_package(
- directory_name, package, duration)
+ if "time" in spec:
+ duration = int(spec["time"])
+ for package in spec["packages"]:
+ self.test_report_for_package(directory_name, package, duration)
self.finalize_report()
def concretization_report(self, directory_name, msg):
self.buildname = self.base_buildname
report_data = self.initialize_report(directory_name)
- report_data['update'] = {}
- report_data['update']['starttime'] = self.endtime
- report_data['update']['endtime'] = self.endtime
- report_data['update']['revision'] = self.revision
- report_data['update']['log'] = msg
+ report_data["update"] = {}
+ report_data["update"]["starttime"] = self.endtime
+ report_data["update"]["endtime"] = self.endtime
+ report_data["update"]["revision"] = self.revision
+ report_data["update"]["log"] = msg
env = spack.tengine.make_environment()
- update_template = posixpath.join(self.template_dir, 'Update.xml')
+ update_template = posixpath.join(self.template_dir, "Update.xml")
t = env.get_template(update_template)
- output_filename = os.path.join(directory_name, 'Update.xml')
- with open(output_filename, 'w') as f:
+ output_filename = os.path.join(directory_name, "Update.xml")
+ with open(output_filename, "w") as f:
f.write(t.render(report_data))
# We don't have a current package when reporting on concretization
# errors so refer to this report with the base buildname instead.
@@ -395,11 +381,11 @@ class CDash(Reporter):
if not os.path.exists(directory_name):
os.mkdir(directory_name)
report_data = {}
- report_data['buildname'] = self.buildname
- report_data['buildstamp'] = self.buildstamp
- report_data['install_command'] = self.install_command
- report_data['osname'] = self.osname
- report_data['site'] = self.site
+ report_data["buildname"] = self.buildname
+ report_data["buildstamp"] = self.buildstamp
+ report_data["install_command"] = self.install_command
+ report_data["osname"] = self.osname
+ report_data["site"] = self.site
return report_data
def upload(self, filename):
@@ -410,30 +396,29 @@ class CDash(Reporter):
md5sum = checksum(hashlib.md5, filename, block_size=8192)
opener = build_opener(HTTPHandler)
- with open(filename, 'rb') as f:
+ with open(filename, "rb") as f:
params_dict = {
- 'build': self.buildname,
- 'site': self.site,
- 'stamp': self.buildstamp,
- 'MD5': md5sum,
+ "build": self.buildname,
+ "site": self.site,
+ "stamp": self.buildstamp,
+ "MD5": md5sum,
}
encoded_params = urlencode(params_dict)
url = "{0}&{1}".format(self.cdash_upload_url, encoded_params)
request = Request(url, data=f)
- request.add_header('Content-Type', 'text/xml')
- request.add_header('Content-Length', os.path.getsize(filename))
+ request.add_header("Content-Type", "text/xml")
+ request.add_header("Content-Length", os.path.getsize(filename))
if self.authtoken:
- request.add_header('Authorization',
- 'Bearer {0}'.format(self.authtoken))
+ request.add_header("Authorization", "Bearer {0}".format(self.authtoken))
try:
# By default, urllib2 only support GET and POST.
# CDash needs expects this file to be uploaded via PUT.
- request.get_method = lambda: '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')
+ resp_value = resp_value.decode("utf-8")
match = self.buildid_regexp.search(resp_value)
if match:
buildid = match.group(1)
@@ -448,7 +433,7 @@ class CDash(Reporter):
# Construct and display a helpful link if CDash responded with
# a buildId.
build_url = self.cdash_upload_url
- build_url = build_url[0:build_url.find("submit.php")]
+ build_url = build_url[0 : build_url.find("submit.php")]
build_url += "buildSummary.php?buildid={0}".format(buildid)
print("{0}: {1}".format(package_name, build_url))
if not self.success:
diff --git a/lib/spack/spack/reporters/junit.py b/lib/spack/spack/reporters/junit.py
index fa19bdd2bd..f845974d9d 100644
--- a/lib/spack/spack/reporters/junit.py
+++ b/lib/spack/spack/reporters/junit.py
@@ -10,7 +10,7 @@ import spack.fetch_strategy
import spack.package_base
from spack.reporter import Reporter
-__all__ = ['JUnit']
+__all__ = ["JUnit"]
class JUnit(Reporter):
@@ -20,11 +20,11 @@ class JUnit(Reporter):
Reporter.__init__(self, args)
# Posixpath is used here to support the underlying template enginge
# Jinja2, which expects `/` path separators
- self.template_file = posixpath.join('reports', 'junit.xml')
+ self.template_file = posixpath.join("reports", "junit.xml")
def build_report(self, filename, report_data):
# Write the report
- with open(filename, 'w') as f:
+ with open(filename, "w") as f:
env = spack.tengine.make_environment()
t = env.get_template(self.template_file)
f.write(t.render(report_data))
diff --git a/lib/spack/spack/rewiring.py b/lib/spack/spack/rewiring.py
index c91485219b..8a2dcad035 100644
--- a/lib/spack/spack/rewiring.py
+++ b/lib/spack/spack/rewiring.py
@@ -27,7 +27,7 @@ def _relocate_spliced_links(links, orig_prefix, new_prefix):
because it expects the new directory structure to be in place."""
for link in links:
link_target = os.readlink(os.path.join(orig_prefix, link))
- link_target = re.sub('^' + orig_prefix, new_prefix, link_target)
+ link_target = re.sub("^" + orig_prefix, new_prefix, link_target)
new_link_path = os.path.join(new_prefix, link)
os.unlink(new_link_path)
symlink(link_target, new_link_path)
@@ -37,13 +37,11 @@ def rewire(spliced_spec):
"""Given a spliced spec, this function conducts all the rewiring on all
nodes in the DAG of that spec."""
assert spliced_spec.spliced
- for spec in spliced_spec.traverse(order='post', root=True):
+ for spec in spliced_spec.traverse(order="post", root=True):
if not spec.build_spec.installed:
# TODO: May want to change this at least for the root spec...
# spec.build_spec.package.do_install(force=True)
- raise PackageNotInstalledError(spliced_spec,
- spec.build_spec,
- spec)
+ raise PackageNotInstalledError(spliced_spec, spec.build_spec, spec)
if spec.build_spec is not spec and not spec.installed:
explicit = spec is spliced_spec
rewire_node(spec, explicit)
@@ -55,8 +53,7 @@ def rewire_node(spec, explicit):
the splice. The resulting package is then 'installed.'"""
tempdir = tempfile.mkdtemp()
# copy anything installed to a temporary directory
- shutil.copytree(spec.build_spec.prefix,
- os.path.join(tempdir, spec.dag_hash()))
+ shutil.copytree(spec.build_spec.prefix, os.path.join(tempdir, spec.dag_hash()))
spack.hooks.pre_install(spec)
# compute prefix-to-prefix for every node from the build spec to the spliced
@@ -68,42 +65,50 @@ def rewire_node(spec, explicit):
manifest = bindist.get_buildfile_manifest(spec.build_spec)
platform = spack.platforms.by_name(spec.platform)
- text_to_relocate = [os.path.join(tempdir, spec.dag_hash(), rel_path)
- for rel_path in manifest.get('text_to_relocate', [])]
+ text_to_relocate = [
+ os.path.join(tempdir, spec.dag_hash(), rel_path)
+ for rel_path in manifest.get("text_to_relocate", [])
+ ]
if text_to_relocate:
- relocate.relocate_text(files=text_to_relocate,
- prefixes=prefix_to_prefix)
+ relocate.relocate_text(files=text_to_relocate, prefixes=prefix_to_prefix)
- bins_to_relocate = [os.path.join(tempdir, spec.dag_hash(), rel_path)
- for rel_path in manifest.get('binary_to_relocate', [])]
+ bins_to_relocate = [
+ os.path.join(tempdir, spec.dag_hash(), rel_path)
+ for rel_path in manifest.get("binary_to_relocate", [])
+ ]
if bins_to_relocate:
- if 'macho' in platform.binary_formats:
- relocate.relocate_macho_binaries(bins_to_relocate,
- str(spack.store.layout.root),
- str(spack.store.layout.root),
- prefix_to_prefix,
- False,
- spec.build_spec.prefix,
- spec.prefix)
- if 'elf' in platform.binary_formats:
- relocate.relocate_elf_binaries(bins_to_relocate,
- str(spack.store.layout.root),
- str(spack.store.layout.root),
- prefix_to_prefix,
- False,
- spec.build_spec.prefix,
- spec.prefix)
- relocate.relocate_text_bin(binaries=bins_to_relocate,
- prefixes=prefix_to_prefix)
+ if "macho" in platform.binary_formats:
+ relocate.relocate_macho_binaries(
+ bins_to_relocate,
+ str(spack.store.layout.root),
+ str(spack.store.layout.root),
+ prefix_to_prefix,
+ False,
+ spec.build_spec.prefix,
+ spec.prefix,
+ )
+ if "elf" in platform.binary_formats:
+ relocate.relocate_elf_binaries(
+ bins_to_relocate,
+ str(spack.store.layout.root),
+ str(spack.store.layout.root),
+ prefix_to_prefix,
+ False,
+ spec.build_spec.prefix,
+ spec.prefix,
+ )
+ relocate.relocate_text_bin(binaries=bins_to_relocate, prefixes=prefix_to_prefix)
# Copy package into place, except for spec.json (because spec.json
# describes the old spec and not the new spliced spec).
- shutil.copytree(os.path.join(tempdir, spec.dag_hash()), spec.prefix,
- ignore=shutil.ignore_patterns('spec.json',
- 'install_manifest.json'))
- if manifest.get('link_to_relocate'):
- _relocate_spliced_links(manifest.get('link_to_relocate'),
- spec.build_spec.prefix,
- spec.prefix)
+ shutil.copytree(
+ os.path.join(tempdir, spec.dag_hash()),
+ spec.prefix,
+ ignore=shutil.ignore_patterns("spec.json", "install_manifest.json"),
+ )
+ if manifest.get("link_to_relocate"):
+ _relocate_spliced_links(
+ manifest.get("link_to_relocate"), spec.build_spec.prefix, spec.prefix
+ )
shutil.rmtree(tempdir)
# Above, we did not copy spec.json: instead, here we write the new
# (spliced) spec into spec.json, without this, Database.add would fail on
@@ -119,14 +124,19 @@ def rewire_node(spec, explicit):
class RewireError(spack.error.SpackError):
"""Raised when something goes wrong with rewiring."""
+
def __init__(self, message, long_msg=None):
super(RewireError, self).__init__(message, long_msg)
class PackageNotInstalledError(RewireError):
"""Raised when the build_spec for a splice was not installed."""
+
def __init__(self, spliced_spec, build_spec, dep):
super(PackageNotInstalledError, self).__init__(
"""Rewire of {0}
failed due to missing install of build spec {1}
- for spec {2}""".format(spliced_spec, build_spec, dep))
+ for spec {2}""".format(
+ spliced_spec, build_spec, dep
+ )
+ )
diff --git a/lib/spack/spack/s3_handler.py b/lib/spack/spack/s3_handler.py
index 904c7adfd2..c867642603 100644
--- a/lib/spack/spack/s3_handler.py
+++ b/lib/spack/spack/s3_handler.py
@@ -51,14 +51,14 @@ def _s3_open(url):
bucket = parsed.netloc
key = parsed.path
- if key.startswith('/'):
+ if key.startswith("/"):
key = key[1:]
obj = s3.get_object(Bucket=bucket, Key=key)
# NOTE(opadron): Apply workaround here (see above)
- stream = WrapStream(obj['Body'])
- headers = obj['ResponseMetadata']['HTTPHeaders']
+ stream = WrapStream(obj["Body"])
+ headers = obj["ResponseMetadata"]["HTTPHeaders"]
return url, headers, stream
@@ -67,21 +67,20 @@ class UrllibS3Handler(urllib_request.HTTPSHandler):
def s3_open(self, req):
orig_url = req.get_full_url()
from botocore.exceptions import ClientError # type: ignore[import]
+
try:
url, headers, stream = _s3_open(orig_url)
return urllib_response.addinfourl(stream, headers, url)
except ClientError as err:
# if no such [KEY], but [KEY]/index.html exists,
# return that, instead.
- if err.response['Error']['Code'] == 'NoSuchKey':
+ if err.response["Error"]["Code"] == "NoSuchKey":
try:
- _, headers, stream = _s3_open(
- url_util.join(orig_url, 'index.html'))
- return urllib_response.addinfourl(
- stream, headers, orig_url)
+ _, headers, stream = _s3_open(url_util.join(orig_url, "index.html"))
+ return urllib_response.addinfourl(stream, headers, orig_url)
except ClientError as err2:
- if err.response['Error']['Code'] == 'NoSuchKey':
+ if err.response["Error"]["Code"] == "NoSuchKey":
# raise original error
raise six.raise_from(urllib_error.URLError(err), err)
diff --git a/lib/spack/spack/schema/__init__.py b/lib/spack/spack/schema/__init__.py
index 45514d4a7c..54f645fd5c 100644
--- a/lib/spack/spack/schema/__init__.py
+++ b/lib/spack/spack/schema/__init__.py
@@ -22,6 +22,7 @@ def _make_validator():
def _validate_spec(validator, is_spec, instance, schema):
"""Check if the attributes on instance are valid specs."""
import jsonschema
+
if not validator.is_type(instance, "object"):
return
@@ -34,19 +35,16 @@ def _make_validator():
)
def _deprecated_properties(validator, deprecated, instance, schema):
- if not (validator.is_type(instance, "object") or
- validator.is_type(instance, "array")):
+ if not (validator.is_type(instance, "object") or validator.is_type(instance, "array")):
return
# Get a list of the deprecated properties, return if there is none
- deprecated_properties = [
- x for x in instance if x in deprecated['properties']
- ]
+ deprecated_properties = [x for x in instance if x in deprecated["properties"]]
if not deprecated_properties:
return
# Retrieve the template message
- msg_str_or_func = deprecated['message']
+ msg_str_or_func = deprecated["message"]
if isinstance(msg_str_or_func, six.string_types):
msg = msg_str_or_func.format(properties=deprecated_properties)
else:
@@ -54,18 +52,17 @@ def _make_validator():
if msg is None:
return
- is_error = deprecated['error']
+ is_error = deprecated["error"]
if not is_error:
warnings.warn(msg)
else:
import jsonschema
+
yield jsonschema.ValidationError(msg)
return jsonschema.validators.extend(
- jsonschema.Draft4Validator, {
- "validate_spec": _validate_spec,
- "deprecatedProperties": _deprecated_properties
- }
+ jsonschema.Draft4Validator,
+ {"validate_spec": _validate_spec, "deprecatedProperties": _deprecated_properties},
)
diff --git a/lib/spack/spack/schema/bootstrap.py b/lib/spack/spack/schema/bootstrap.py
index ee5cf98a9a..c31942c81d 100644
--- a/lib/spack/spack/schema/bootstrap.py
+++ b/lib/spack/spack/schema/bootstrap.py
@@ -6,40 +6,29 @@
#: Schema of a single source
_source_schema = {
- 'type': 'object',
- 'properties': {
- 'name': {'type': 'string'},
- 'metadata': {'type': 'string'}
- },
- 'additionalProperties': False,
- 'required': ['name', 'metadata']
+ "type": "object",
+ "properties": {"name": {"type": "string"}, "metadata": {"type": "string"}},
+ "additionalProperties": False,
+ "required": ["name", "metadata"],
}
properties = {
- 'bootstrap': {
- 'type': 'object',
- 'properties': {
- 'enable': {'type': 'boolean'},
- 'root': {
- 'type': 'string'
- },
- 'sources': {
- 'type': 'array',
- 'items': _source_schema
- },
- 'trusted': {
- 'type': 'object',
- 'patternProperties': {r'\w[\w-]*': {'type': 'boolean'}}
- }
- }
+ "bootstrap": {
+ "type": "object",
+ "properties": {
+ "enable": {"type": "boolean"},
+ "root": {"type": "string"},
+ "sources": {"type": "array", "items": _source_schema},
+ "trusted": {"type": "object", "patternProperties": {r"\w[\w-]*": {"type": "boolean"}}},
+ },
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack bootstrap configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack bootstrap configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/buildcache_spec.py b/lib/spack/spack/schema/buildcache_spec.py
index 8ae1112381..fdf4b423af 100644
--- a/lib/spack/spack/schema/buildcache_spec.py
+++ b/lib/spack/spack/schema/buildcache_spec.py
@@ -11,32 +11,32 @@
import spack.schema.spec
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack buildcache specfile schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'buildinfo': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['relative_prefix'],
- 'properties': {
- 'relative_prefix': {'type': 'string'},
- 'relative_rpaths': {'type': 'boolean'},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack buildcache specfile schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "buildinfo": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["relative_prefix"],
+ "properties": {
+ "relative_prefix": {"type": "string"},
+ "relative_rpaths": {"type": "boolean"},
},
},
- 'spec': {
- 'type': 'object',
- 'additionalProperties': True,
- 'items': spack.schema.spec.properties,
+ "spec": {
+ "type": "object",
+ "additionalProperties": True,
+ "items": spack.schema.spec.properties,
},
- 'binary_cache_checksum': {
- 'type': 'object',
- 'properties': {
- 'hash_algorithm': {'type': 'string'},
- 'hash': {'type': 'string'},
+ "binary_cache_checksum": {
+ "type": "object",
+ "properties": {
+ "hash_algorithm": {"type": "string"},
+ "hash": {"type": "string"},
},
},
- 'buildcache_layout_version': {'type': 'number'}
+ "buildcache_layout_version": {"type": "number"},
},
}
diff --git a/lib/spack/spack/schema/cdash.py b/lib/spack/spack/schema/cdash.py
index 0b6b1982bc..2c6c9283b5 100644
--- a/lib/spack/spack/schema/cdash.py
+++ b/lib/spack/spack/schema/cdash.py
@@ -12,15 +12,15 @@
#: Properties for inclusion in other schemas
properties = {
- 'cdash': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['build-group', 'url', 'project', 'site'],
- 'patternProperties': {
- r'build-group': {'type': 'string'},
- r'url': {'type': 'string'},
- r'project': {'type': 'string'},
- r'site': {'type': 'string'},
+ "cdash": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["build-group", "url", "project", "site"],
+ "patternProperties": {
+ r"build-group": {"type": "string"},
+ r"url": {"type": "string"},
+ r"project": {"type": "string"},
+ r"site": {"type": "string"},
},
},
}
@@ -28,9 +28,9 @@ properties = {
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack cdash configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack cdash configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/compilers.py b/lib/spack/spack/schema/compilers.py
index 0acbce75d8..e9c500eff9 100644
--- a/lib/spack/spack/schema/compilers.py
+++ b/lib/spack/spack/schema/compilers.py
@@ -12,81 +12,74 @@ import spack.schema.environment
#: Properties for inclusion in other schemas
properties = {
- 'compilers': {
- 'type': 'array',
- 'items': [{
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'compiler': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': [
- 'paths', 'spec', 'modules', 'operating_system'],
- 'properties': {
- 'paths': {
- 'type': 'object',
- 'required': ['cc', 'cxx', 'f77', 'fc'],
- 'additionalProperties': False,
- 'properties': {
- 'cc': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'cxx': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'f77': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'fc': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]}}},
- 'flags': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'cflags': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'cxxflags': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'fflags': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'cppflags': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'ldflags': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'ldlibs': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]}}},
- 'spec': {'type': 'string'},
- 'operating_system': {'type': 'string'},
- 'target': {'type': 'string'},
- 'alias': {'anyOf': [{'type': 'string'},
- {'type': 'null'}]},
- 'modules': {'anyOf': [{'type': 'string'},
- {'type': 'null'},
- {'type': 'array'}]},
- 'implicit_rpaths': {
- 'anyOf': [
- {'type': 'array',
- 'items': {'type': 'string'}},
- {'type': 'boolean'}
- ]
+ "compilers": {
+ "type": "array",
+ "items": [
+ {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "compiler": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["paths", "spec", "modules", "operating_system"],
+ "properties": {
+ "paths": {
+ "type": "object",
+ "required": ["cc", "cxx", "f77", "fc"],
+ "additionalProperties": False,
+ "properties": {
+ "cc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cxx": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "f77": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "fc": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ },
+ },
+ "flags": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "cflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cxxflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "fflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "cppflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "ldflags": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "ldlibs": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ },
+ },
+ "spec": {"type": "string"},
+ "operating_system": {"type": "string"},
+ "target": {"type": "string"},
+ "alias": {"anyOf": [{"type": "string"}, {"type": "null"}]},
+ "modules": {
+ "anyOf": [{"type": "string"}, {"type": "null"}, {"type": "array"}]
+ },
+ "implicit_rpaths": {
+ "anyOf": [
+ {"type": "array", "items": {"type": "string"}},
+ {"type": "boolean"},
+ ]
+ },
+ "environment": spack.schema.environment.definition,
+ "extra_rpaths": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
+ },
},
- 'environment': spack.schema.environment.definition,
- 'extra_rpaths': {
- 'type': 'array',
- 'default': [],
- 'items': {'type': 'string'}
- }
}
- }
+ },
}
- }]
+ ],
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack compiler configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack compiler configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/concretizer.py b/lib/spack/spack/schema/concretizer.py
index 63a1692411..e628519d56 100644
--- a/lib/spack/spack/schema/concretizer.py
+++ b/lib/spack/spack/schema/concretizer.py
@@ -10,37 +10,31 @@
"""
properties = {
- 'concretizer': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'reuse': {'type': 'boolean'},
- 'targets': {
- 'type': 'object',
- 'properties': {
- 'host_compatible': {'type': 'boolean'},
- 'granularity': {
- 'type': 'string',
- 'enum': ['generic', 'microarchitectures']
- }
- }
+ "concretizer": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "reuse": {"type": "boolean"},
+ "targets": {
+ "type": "object",
+ "properties": {
+ "host_compatible": {"type": "boolean"},
+ "granularity": {"type": "string", "enum": ["generic", "microarchitectures"]},
+ },
},
- 'unify': {
- 'oneOf': [
- {'type': 'boolean'},
- {'type': 'string', 'enum': ['when_possible']}
- ]
- }
- }
+ "unify": {
+ "oneOf": [{"type": "boolean"}, {"type": "string", "enum": ["when_possible"]}]
+ },
+ },
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack concretizer configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack concretizer configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/config.py b/lib/spack/spack/schema/config.py
index 2de54a6179..4ed6e7fc2d 100644
--- a/lib/spack/spack/schema/config.py
+++ b/lib/spack/spack/schema/config.py
@@ -16,100 +16,81 @@ import spack.schema.projections
#: Properties for inclusion in other schemas
properties = {
- 'config': {
- 'type': 'object',
- 'default': {},
- 'properties': {
- 'shared_linking': {
- 'type': 'string',
- 'enum': ['rpath', 'runpath']
- },
- 'install_tree': {
- 'anyOf': [
+ "config": {
+ "type": "object",
+ "default": {},
+ "properties": {
+ "shared_linking": {"type": "string", "enum": ["rpath", "runpath"]},
+ "install_tree": {
+ "anyOf": [
{
- 'type': 'object',
- 'properties': union_dicts(
- {'root': {'type': 'string'}},
- {'padded_length': {'oneOf': [
- {'type': 'integer', 'minimum': 0},
- {'type': 'boolean'}]}},
+ "type": "object",
+ "properties": union_dicts(
+ {"root": {"type": "string"}},
+ {
+ "padded_length": {
+ "oneOf": [
+ {"type": "integer", "minimum": 0},
+ {"type": "boolean"},
+ ]
+ }
+ },
spack.schema.projections.properties,
),
},
- {'type': 'string'} # deprecated
+ {"type": "string"}, # deprecated
],
},
- 'install_hash_length': {'type': 'integer', 'minimum': 1},
- 'install_path_scheme': {'type': 'string'}, # deprecated
- 'build_stage': {
- 'oneOf': [
- {'type': 'string'},
- {'type': 'array',
- 'items': {'type': 'string'}}],
- },
- 'test_stage': {'type': 'string'},
- 'extensions': {
- 'type': 'array',
- 'items': {'type': 'string'}
+ "install_hash_length": {"type": "integer", "minimum": 1},
+ "install_path_scheme": {"type": "string"}, # deprecated
+ "build_stage": {
+ "oneOf": [{"type": "string"}, {"type": "array", "items": {"type": "string"}}],
},
- 'template_dirs': {
- 'type': 'array',
- 'items': {'type': 'string'}
+ "test_stage": {"type": "string"},
+ "extensions": {"type": "array", "items": {"type": "string"}},
+ "template_dirs": {"type": "array", "items": {"type": "string"}},
+ "license_dir": {"type": "string"},
+ "source_cache": {"type": "string"},
+ "misc_cache": {"type": "string"},
+ "connect_timeout": {"type": "integer", "minimum": 0},
+ "verify_ssl": {"type": "boolean"},
+ "suppress_gpg_warnings": {"type": "boolean"},
+ "install_missing_compilers": {"type": "boolean"},
+ "debug": {"type": "boolean"},
+ "checksum": {"type": "boolean"},
+ "deprecated": {"type": "boolean"},
+ "locks": {"type": "boolean"},
+ "dirty": {"type": "boolean"},
+ "build_language": {"type": "string"},
+ "build_jobs": {"type": "integer", "minimum": 1},
+ "ccache": {"type": "boolean"},
+ "concretizer": {"type": "string", "enum": ["original", "clingo"]},
+ "db_lock_timeout": {"type": "integer", "minimum": 1},
+ "package_lock_timeout": {
+ "anyOf": [{"type": "integer", "minimum": 1}, {"type": "null"}],
},
- 'license_dir': {'type': 'string'},
- 'source_cache': {'type': 'string'},
- 'misc_cache': {'type': 'string'},
- 'connect_timeout': {'type': 'integer', 'minimum': 0},
- 'verify_ssl': {'type': 'boolean'},
- 'suppress_gpg_warnings': {'type': 'boolean'},
- 'install_missing_compilers': {'type': 'boolean'},
- 'debug': {'type': 'boolean'},
- 'checksum': {'type': 'boolean'},
- 'deprecated': {'type': 'boolean'},
- 'locks': {'type': 'boolean'},
- 'dirty': {'type': 'boolean'},
- 'build_language': {'type': 'string'},
- 'build_jobs': {'type': 'integer', 'minimum': 1},
- 'ccache': {'type': 'boolean'},
- 'concretizer': {
- 'type': 'string',
- 'enum': ['original', 'clingo']
- },
- 'db_lock_timeout': {'type': 'integer', 'minimum': 1},
- 'package_lock_timeout': {
- 'anyOf': [
- {'type': 'integer', 'minimum': 1},
- {'type': 'null'}
- ],
- },
- 'allow_sgid': {'type': 'boolean'},
- 'binary_index_root': {'type': 'string'},
- 'url_fetch_method': {
- 'type': 'string',
- 'enum': ['urllib', 'curl']
- },
- 'additional_external_search_paths': {
- 'type': 'array',
- 'items': {'type': 'string'}
- }
+ "allow_sgid": {"type": "boolean"},
+ "binary_index_root": {"type": "string"},
+ "url_fetch_method": {"type": "string", "enum": ["urllib", "curl"]},
+ "additional_external_search_paths": {"type": "array", "items": {"type": "string"}},
+ },
+ "deprecatedProperties": {
+ "properties": ["module_roots"],
+ "message": "config:module_roots has been replaced by "
+ "modules:[module set]:roots and is ignored",
+ "error": False,
},
- 'deprecatedProperties': {
- 'properties': ['module_roots'],
- 'message': 'config:module_roots has been replaced by '
- 'modules:[module set]:roots and is ignored',
- 'error': False
- }
},
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack core configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack core configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
@@ -130,32 +111,28 @@ def update(data):
# root replaces install_tree, projections replace install_path_scheme
changed = False
- install_tree = data.get('install_tree', None)
+ install_tree = data.get("install_tree", None)
if isinstance(install_tree, six.string_types):
# deprecated short-form install tree
# add value as `root` in updated install_tree
- data['install_tree'] = {'root': install_tree}
+ data["install_tree"] = {"root": install_tree}
changed = True
- install_path_scheme = data.pop('install_path_scheme', None)
+ install_path_scheme = data.pop("install_path_scheme", None)
if install_path_scheme:
- projections_data = {
- 'projections': {
- 'all': install_path_scheme
- }
- }
+ projections_data = {"projections": {"all": install_path_scheme}}
# update projections with install_scheme
# whether install_tree was updated or not
# we merge the yaml to ensure we don't invalidate other projections
- update_data = data.get('install_tree', {})
+ update_data = data.get("install_tree", {})
update_data = spack.config.merge_yaml(update_data, projections_data)
- data['install_tree'] = update_data
+ data["install_tree"] = update_data
changed = True
- use_curl = data.pop('use_curl', None)
+ use_curl = data.pop("use_curl", None)
if use_curl is not None:
- data['url_fetch_method'] = 'curl' if use_curl else 'urllib'
+ data["url_fetch_method"] = "curl" if use_curl else "urllib"
changed = True
return changed
diff --git a/lib/spack/spack/schema/container.py b/lib/spack/spack/schema/container.py
index 4befb07fd7..b05199f8bb 100644
--- a/lib/spack/spack/schema/container.py
+++ b/lib/spack/spack/schema/container.py
@@ -5,103 +5,90 @@
"""Schema for the 'container' subsection of Spack environments."""
_stages_from_dockerhub = {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'os': {'type': 'string'},
- 'spack': {'anyOf': [
- {'type': 'string'},
- {'type': 'object',
- 'additional_properties': False,
- 'properties': {
- 'url': {'type': 'string'},
- 'ref': {'type': 'string'},
- 'resolve_sha': {'type': 'boolean', 'default': False},
- 'verify': {'type': 'boolean', 'default': False}
- }}
- ]},
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "os": {"type": "string"},
+ "spack": {
+ "anyOf": [
+ {"type": "string"},
+ {
+ "type": "object",
+ "additional_properties": False,
+ "properties": {
+ "url": {"type": "string"},
+ "ref": {"type": "string"},
+ "resolve_sha": {"type": "boolean", "default": False},
+ "verify": {"type": "boolean", "default": False},
+ },
+ },
+ ]
+ },
},
- 'required': ['os', 'spack']
+ "required": ["os", "spack"],
}
_custom_stages = {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'build': {'type': 'string'},
- 'final': {'type': 'string'}
- },
- 'required': ['build', 'final']
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {"build": {"type": "string"}, "final": {"type": "string"}},
+ "required": ["build", "final"],
}
#: List of packages for the schema below
-_list_of_packages = {
- 'type': 'array',
- 'items': {
- 'type': 'string'
- }
-}
+_list_of_packages = {"type": "array", "items": {"type": "string"}}
#: Schema for the container attribute included in Spack environments
container_schema = {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
# The recipe formats that are currently supported by the command
- 'format': {
- 'type': 'string',
- 'enum': ['docker', 'singularity']
- },
+ "format": {"type": "string", "enum": ["docker", "singularity"]},
# Describes the base image to start from and the version
# of Spack to be used
- 'images': {'anyOf': [_stages_from_dockerhub, _custom_stages]},
+ "images": {"anyOf": [_stages_from_dockerhub, _custom_stages]},
# Whether or not to strip installed binaries
- 'strip': {
- 'type': 'boolean',
- 'default': True
- },
+ "strip": {"type": "boolean", "default": True},
# Additional system packages that are needed at runtime
- 'os_packages': {
- 'type': 'object',
- 'properties': {
- 'command': {'type': 'string', 'enum': ['apt', 'yum']},
- 'update': {'type': 'boolean'},
- 'build': _list_of_packages,
- 'final': _list_of_packages
+ "os_packages": {
+ "type": "object",
+ "properties": {
+ "command": {"type": "string", "enum": ["apt", "yum"]},
+ "update": {"type": "boolean"},
+ "build": _list_of_packages,
+ "final": _list_of_packages,
},
- 'additionalProperties': False
+ "additionalProperties": False,
},
# Add labels to the image
- 'labels': {
- 'type': 'object',
+ "labels": {
+ "type": "object",
},
# Add a custom extra section at the bottom of a stage
- 'extra_instructions': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'build': {'type': 'string'},
- 'final': {'type': 'string'}
- }
+ "extra_instructions": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {"build": {"type": "string"}, "final": {"type": "string"}},
},
# Reserved for properties that are specific to each format
- 'singularity': {
- 'type': 'object',
- 'additionalProperties': False,
- 'default': {},
- 'properties': {
- 'runscript': {'type': 'string'},
- 'startscript': {'type': 'string'},
- 'test': {'type': 'string'},
- 'help': {'type': 'string'}
- }
+ "singularity": {
+ "type": "object",
+ "additionalProperties": False,
+ "default": {},
+ "properties": {
+ "runscript": {"type": "string"},
+ "startscript": {"type": "string"},
+ "test": {"type": "string"},
+ "help": {"type": "string"},
+ },
},
- 'docker': {
- 'type': 'object',
- 'additionalProperties': False,
- 'default': {},
- }
- }
+ "docker": {
+ "type": "object",
+ "additionalProperties": False,
+ "default": {},
+ },
+ },
}
-properties = {'container': container_schema}
+properties = {"container": container_schema}
diff --git a/lib/spack/spack/schema/cray_manifest.py b/lib/spack/spack/schema/cray_manifest.py
index 89619a6aaa..c0f57eef11 100644
--- a/lib/spack/spack/schema/cray_manifest.py
+++ b/lib/spack/spack/schema/cray_manifest.py
@@ -29,7 +29,7 @@ schema = {
# Older schemas use did not have "cpe-version", just the
# schema version; in that case it was just called "version"
"version": {"type": "string", "minLength": 1},
- }
+ },
},
"compilers": {
"type": "array",
@@ -46,8 +46,8 @@ schema = {
"properties": {
"cc": {"type": "string", "minLength": 1},
"cxx": {"type": "string", "minLength": 1},
- "fc": {"type": "string", "minLength": 1}
- }
+ "fc": {"type": "string", "minLength": 1},
+ },
},
"arch": {
"type": "object",
@@ -55,23 +55,17 @@ schema = {
"additionalProperties": False,
"properties": {
"os": {"type": "string", "minLength": 1},
- "target": {"type": "string", "minLength": 1}
- }
- }
- }
- }
+ "target": {"type": "string", "minLength": 1},
+ },
+ },
+ },
+ },
},
"specs": {
"type": "array",
"items": {
"type": "object",
- "required": [
- "name",
- "version",
- "arch",
- "compiler",
- "prefix",
- "hash"],
+ "required": ["name", "version", "arch", "compiler", "prefix", "hash"],
"additionalProperties": False,
"properties": {
"name": {"type": "string", "minLength": 1},
@@ -87,11 +81,9 @@ schema = {
"type": "object",
"additionalProperties": False,
"required": ["name"],
- "properties": {
- "name": {"type": "string", "minLength": 1}
- }
- }
- }
+ "properties": {"name": {"type": "string", "minLength": 1}},
+ },
+ },
},
"compiler": {
"type": "object",
@@ -99,8 +91,8 @@ schema = {
"additionalProperties": False,
"properties": {
"name": {"type": "string", "minLength": 1},
- "version": {"type": "string", "minLength": 1}
- }
+ "version": {"type": "string", "minLength": 1},
+ },
},
"dependencies": {
"type": "object",
@@ -113,22 +105,20 @@ schema = {
"hash": {"type": "string", "minLength": 1},
"type": {
"type": "array",
- "items": {
- "type": "string", "minLength": 1}
- }
- }
+ "items": {"type": "string", "minLength": 1},
+ },
+ },
}
- }
+ },
},
- "prefix": {
- "type": "string", "minLength": 1},
+ "prefix": {"type": "string", "minLength": 1},
"rpm": {"type": "string", "minLength": 1},
"hash": {"type": "string", "minLength": 1},
"parameters": {
"type": "object",
- }
- }
- }
- }
- }
+ },
+ },
+ },
+ },
+ },
}
diff --git a/lib/spack/spack/schema/database_index.py b/lib/spack/spack/schema/database_index.py
index e5e11a765b..4b0d3202a5 100644
--- a/lib/spack/spack/schema/database_index.py
+++ b/lib/spack/spack/schema/database_index.py
@@ -14,45 +14,45 @@ import spack.schema.spec
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack spec schema',
- 'type': 'object',
- 'required': ['database'],
- 'additionalProperties': False,
- 'properties': {
- 'database': {
- 'type': 'object',
- 'required': ['installs', 'version'],
- 'additionalProperties': False,
- 'properties': {
- 'installs': {
- 'type': 'object',
- 'patternProperties': {
- r'^[\w\d]{32}$': {
- 'type': 'object',
- 'properties': {
- 'spec': spack.schema.spec.properties,
- 'path': {
- 'oneOf': [
- {'type': 'string'},
- {'type': 'null'},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack spec schema",
+ "type": "object",
+ "required": ["database"],
+ "additionalProperties": False,
+ "properties": {
+ "database": {
+ "type": "object",
+ "required": ["installs", "version"],
+ "additionalProperties": False,
+ "properties": {
+ "installs": {
+ "type": "object",
+ "patternProperties": {
+ r"^[\w\d]{32}$": {
+ "type": "object",
+ "properties": {
+ "spec": spack.schema.spec.properties,
+ "path": {
+ "oneOf": [
+ {"type": "string"},
+ {"type": "null"},
],
},
- 'installed': {'type': 'boolean'},
- 'ref_count': {
- 'type': 'integer',
- 'minimum': 0,
+ "installed": {"type": "boolean"},
+ "ref_count": {
+ "type": "integer",
+ "minimum": 0,
+ },
+ "explicit": {"type": "boolean"},
+ "installation_time": {
+ "type": "number",
},
- 'explicit': {'type': 'boolean'},
- 'installation_time': {
- 'type': 'number',
- }
},
},
},
},
- 'version': {'type': 'string'},
- }
+ "version": {"type": "string"},
+ },
},
},
}
diff --git a/lib/spack/spack/schema/env.py b/lib/spack/spack/schema/env.py
index f338ac177d..21a738e6b8 100644
--- a/lib/spack/spack/schema/env.py
+++ b/lib/spack/spack/schema/env.py
@@ -24,162 +24,139 @@ def deprecate_concretization(instance, props):
if warned_about_concretization:
return None
# Deprecate `spack:concretization` in favor of `spack:concretizer:unify`.
- concretization_to_unify = {'together': 'true', 'separately': 'false'}
- concretization = instance['concretization']
+ concretization_to_unify = {"together": "true", "separately": "false"}
+ concretization = instance["concretization"]
unify = concretization_to_unify[concretization]
return (
- 'concretization:{} is deprecated and will be removed in Spack 0.19 in favor of '
- 'the new concretizer:unify:{} config option.'.format(concretization, unify)
+ "concretization:{} is deprecated and will be removed in Spack 0.19 in favor of "
+ "the new concretizer:unify:{} config option.".format(concretization, unify)
)
#: legal first keys in the schema
-keys = ('spack', 'env')
+keys = ("spack", "env")
spec_list_schema = {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'anyOf': [
- {'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'matrix': {
- 'type': 'array',
- 'items': {
- 'type': 'array',
- 'items': {
- 'type': 'string',
- }
- }
- },
- 'exclude': {
- 'type': 'array',
- 'items': {
- 'type': 'string'
- }
- }
- }},
- {'type': 'string'},
- {'type': 'null'}
+ "type": "array",
+ "default": [],
+ "items": {
+ "anyOf": [
+ {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "matrix": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ },
+ },
+ },
+ "exclude": {"type": "array", "items": {"type": "string"}},
+ },
+ },
+ {"type": "string"},
+ {"type": "null"},
]
- }
+ },
}
-projections_scheme = spack.schema.projections.properties['projections']
+projections_scheme = spack.schema.projections.properties["projections"]
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack environment file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'patternProperties': {
- '^env|spack$': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'deprecatedProperties': {
- 'properties': ['concretization'],
- 'message': deprecate_concretization,
- 'error': False
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack environment file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "patternProperties": {
+ "^env|spack$": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "deprecatedProperties": {
+ "properties": ["concretization"],
+ "message": deprecate_concretization,
+ "error": False,
},
- 'properties': union_dicts(
+ "properties": union_dicts(
# merged configuration scope schemas
spack.schema.merged.properties,
# extra environment schema properties
{
- 'include': {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'type': 'string'
- },
+ "include": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
},
- 'develop': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'spec': {
- 'type': 'string'
- },
- 'path': {
- 'type': 'string'
- },
+ "develop": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "spec": {"type": "string"},
+ "path": {"type": "string"},
},
},
},
},
- 'definitions': {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'type': 'object',
- 'properties': {
- 'when': {
- 'type': 'string'
- }
- },
- 'patternProperties': {
- r'^(?!when$)\w*': spec_list_schema
- }
- }
+ "definitions": {
+ "type": "array",
+ "default": [],
+ "items": {
+ "type": "object",
+ "properties": {"when": {"type": "string"}},
+ "patternProperties": {r"^(?!when$)\w*": spec_list_schema},
+ },
},
- 'specs': spec_list_schema,
- 'view': {
- 'anyOf': [
- {'type': 'boolean'},
- {'type': 'string'},
+ "specs": spec_list_schema,
+ "view": {
+ "anyOf": [
+ {"type": "boolean"},
+ {"type": "string"},
{
- 'type': 'object',
- 'patternProperties': {
- r'\w+': {
- 'required': ['root'],
- 'additionalProperties': False,
- 'properties': {
- 'root': {
- 'type': 'string'
+ "type": "object",
+ "patternProperties": {
+ r"\w+": {
+ "required": ["root"],
+ "additionalProperties": False,
+ "properties": {
+ "root": {"type": "string"},
+ "link": {
+ "type": "string",
+ "pattern": "(roots|all|run)",
},
- 'link': {
- 'type': 'string',
- 'pattern': '(roots|all|run)',
+ "link_type": {"type": "string"},
+ "select": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'link_type': {
- 'type': 'string'
+ "exclude": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'select': {
- 'type': 'array',
- 'items': {
- 'type': 'string'
- }
- },
- 'exclude': {
- 'type': 'array',
- 'items': {
- 'type': 'string'
- }
- },
- 'projections': projections_scheme
- }
+ "projections": projections_scheme,
+ },
}
- }
- }
+ },
+ },
]
},
- 'concretization': {
- 'type': 'string',
- 'enum': ['together', 'separately'],
- 'default': 'separately'
- }
- }
- )
+ "concretization": {
+ "type": "string",
+ "enum": ["together", "separately"],
+ "default": "separately",
+ },
+ },
+ ),
}
- }
+ },
}
@@ -193,29 +170,30 @@ def update(data):
True if data was changed, False otherwise
"""
updated = False
- if 'include' in data:
- msg = ("included configuration files should be updated manually"
- " [files={0}]")
- warnings.warn(msg.format(', '.join(data['include'])))
+ if "include" in data:
+ msg = "included configuration files should be updated manually" " [files={0}]"
+ warnings.warn(msg.format(", ".join(data["include"])))
# Spack 0.19 drops support for `spack:concretization` in favor of
# `spack:concretizer:unify`. Here we provide an upgrade path that changes the former
# into the latter, or warns when there's an ambiguity. Note that Spack 0.17 is not
# forward compatible with `spack:concretizer:unify`.
- if 'concretization' in data:
- has_unify = 'unify' in data.get('concretizer', {})
- to_unify = {'together': True, 'separately': False}
- unify = to_unify[data['concretization']]
+ if "concretization" in data:
+ has_unify = "unify" in data.get("concretizer", {})
+ to_unify = {"together": True, "separately": False}
+ unify = to_unify[data["concretization"]]
- if has_unify and data['concretizer']['unify'] != unify:
+ if has_unify and data["concretizer"]["unify"] != unify:
warnings.warn(
- 'The following configuration conflicts: '
- '`spack:concretization:{}` and `spack:concretizer:unify:{}`'
- '. Please update manually.'.format(
- data['concretization'], data['concretizer']['unify']))
+ "The following configuration conflicts: "
+ "`spack:concretization:{}` and `spack:concretizer:unify:{}`"
+ ". Please update manually.".format(
+ data["concretization"], data["concretizer"]["unify"]
+ )
+ )
else:
- data.update({'concretizer': {'unify': unify}})
- data.pop('concretization')
+ data.update({"concretizer": {"unify": unify}})
+ data.pop("concretization")
updated = True
return updated
diff --git a/lib/spack/spack/schema/environment.py b/lib/spack/spack/schema/environment.py
index 3bb02d33d0..2a295764a2 100644
--- a/lib/spack/spack/schema/environment.py
+++ b/lib/spack/spack/schema/environment.py
@@ -7,26 +7,27 @@ schemas.
"""
array_of_strings_or_num = {
- 'type': 'array', 'default': [], 'items':
- {'anyOf': [{'type': 'string'}, {'type': 'number'}]}
+ "type": "array",
+ "default": [],
+ "items": {"anyOf": [{"type": "string"}, {"type": "number"}]},
}
dictionary_of_strings_or_num = {
- 'type': 'object', 'patternProperties':
- {r'\w[\w-]*': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}
+ "type": "object",
+ "patternProperties": {r"\w[\w-]*": {"anyOf": [{"type": "string"}, {"type": "number"}]}},
}
definition = {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': {
- 'set': dictionary_of_strings_or_num,
- 'unset': array_of_strings_or_num,
- 'prepend_path': dictionary_of_strings_or_num,
- 'append_path': dictionary_of_strings_or_num,
- 'remove_path': dictionary_of_strings_or_num
- }
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": {
+ "set": dictionary_of_strings_or_num,
+ "unset": array_of_strings_or_num,
+ "prepend_path": dictionary_of_strings_or_num,
+ "append_path": dictionary_of_strings_or_num,
+ "remove_path": dictionary_of_strings_or_num,
+ },
}
diff --git a/lib/spack/spack/schema/gitlab_ci.py b/lib/spack/spack/schema/gitlab_ci.py
index 80e40dd72b..eb8abc9682 100644
--- a/lib/spack/spack/schema/gitlab_ci.py
+++ b/lib/spack/spack/schema/gitlab_ci.py
@@ -12,17 +12,16 @@
from llnl.util.lang import union_dicts
image_schema = {
- 'oneOf': [
+ "oneOf": [
+ {"type": "string"},
{
- 'type': 'string'
- }, {
- 'type': 'object',
- 'properties': {
- 'name': {'type': 'string'},
- 'entrypoint': {
- 'type': 'array',
- 'items': {
- 'type': 'string',
+ "type": "object",
+ "properties": {
+ "name": {"type": "string"},
+ "entrypoint": {
+ "type": "array",
+ "items": {
+ "type": "string",
},
},
},
@@ -31,115 +30,104 @@ image_schema = {
}
runner_attributes_schema_items = {
- 'image': image_schema,
- 'tags': {
- 'type': 'array',
- 'items': {'type': 'string'}
- },
- 'variables': {
- 'type': 'object',
- 'patternProperties': {
- r'[\w\d\-_\.]+': {
- 'type': 'string',
+ "image": image_schema,
+ "tags": {"type": "array", "items": {"type": "string"}},
+ "variables": {
+ "type": "object",
+ "patternProperties": {
+ r"[\w\d\-_\.]+": {
+ "type": "string",
},
},
},
- 'before_script': {
- 'type': 'array',
- 'items': {'type': 'string'}
- },
- 'script': {
- 'type': 'array',
- 'items': {'type': 'string'}
- },
- 'after_script': {
- 'type': 'array',
- 'items': {'type': 'string'}
- },
+ "before_script": {"type": "array", "items": {"type": "string"}},
+ "script": {"type": "array", "items": {"type": "string"}},
+ "after_script": {"type": "array", "items": {"type": "string"}},
}
runner_selector_schema = {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['tags'],
- 'properties': runner_attributes_schema_items,
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["tags"],
+ "properties": runner_attributes_schema_items,
}
core_shared_properties = union_dicts(
runner_attributes_schema_items,
{
- 'bootstrap': {
- 'type': 'array',
- 'items': {
- 'anyOf': [
+ "bootstrap": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string",
+ },
{
- 'type': 'string',
- }, {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['name'],
- 'properties': {
- 'name': {
- 'type': 'string',
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["name"],
+ "properties": {
+ "name": {
+ "type": "string",
},
- 'compiler-agnostic': {
- 'type': 'boolean',
- 'default': False,
+ "compiler-agnostic": {
+ "type": "boolean",
+ "default": False,
},
},
},
],
},
},
- 'mappings': {
- 'type': 'array',
- 'items': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['match'],
- 'properties': {
- 'match': {
- 'type': 'array',
- 'items': {
- 'type': 'string',
+ "mappings": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["match"],
+ "properties": {
+ "match": {
+ "type": "array",
+ "items": {
+ "type": "string",
},
},
- 'runner-attributes': runner_selector_schema,
+ "runner-attributes": runner_selector_schema,
},
},
},
- 'service-job-attributes': runner_selector_schema,
- 'signing-job-attributes': runner_selector_schema,
- 'rebuild-index': {'type': 'boolean'},
- 'broken-specs-url': {'type': 'string'},
+ "service-job-attributes": runner_selector_schema,
+ "signing-job-attributes": runner_selector_schema,
+ "rebuild-index": {"type": "boolean"},
+ "broken-specs-url": {"type": "string"},
},
)
gitlab_ci_properties = {
- 'anyOf': [
+ "anyOf": [
{
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['mappings'],
- 'properties': union_dicts(
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["mappings"],
+ "properties": union_dicts(
core_shared_properties,
{
- 'enable-artifacts-buildcache': {
- 'type': 'boolean',
+ "enable-artifacts-buildcache": {
+ "type": "boolean",
},
},
),
},
{
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['mappings'],
- 'properties': union_dicts(
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["mappings"],
+ "properties": union_dicts(
core_shared_properties,
{
- 'temporary-storage-url-prefix': {
- 'type': 'string',
+ "temporary-storage-url-prefix": {
+ "type": "string",
},
},
),
@@ -149,14 +137,14 @@ gitlab_ci_properties = {
#: Properties for inclusion in other schemas
properties = {
- 'gitlab-ci': gitlab_ci_properties,
+ "gitlab-ci": gitlab_ci_properties,
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack gitlab-ci configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack gitlab-ci configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/merged.py b/lib/spack/spack/schema/merged.py
index 8f9768cfd0..e7687c1f18 100644
--- a/lib/spack/spack/schema/merged.py
+++ b/lib/spack/spack/schema/merged.py
@@ -36,15 +36,15 @@ properties = union_dicts(
spack.schema.modules.properties,
spack.schema.packages.properties,
spack.schema.repos.properties,
- spack.schema.upstreams.properties
+ spack.schema.upstreams.properties,
)
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack merged configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack merged configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/mirrors.py b/lib/spack/spack/schema/mirrors.py
index 05f0cfc331..eb00a699f0 100644
--- a/lib/spack/spack/schema/mirrors.py
+++ b/lib/spack/spack/schema/mirrors.py
@@ -12,22 +12,22 @@
#: Properties for inclusion in other schemas
properties = {
- 'mirrors': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'patternProperties': {
- r'\w[\w-]*': {
- 'anyOf': [
- {'type': 'string'},
+ "mirrors": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "anyOf": [
+ {"type": "string"},
{
- 'type': 'object',
- 'required': ['fetch', 'push'],
- 'properties': {
- 'fetch': {'type': ['string', 'object']},
- 'push': {'type': ['string', 'object']}
- }
- }
+ "type": "object",
+ "required": ["fetch", "push"],
+ "properties": {
+ "fetch": {"type": ["string", "object"]},
+ "push": {"type": ["string", "object"]},
+ },
+ },
]
},
},
@@ -37,9 +37,9 @@ properties = {
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack mirror configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack mirror configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/modules.py b/lib/spack/spack/schema/modules.py
index 03bca3d347..d355970f30 100644
--- a/lib/spack/spack/schema/modules.py
+++ b/lib/spack/spack/schema/modules.py
@@ -19,176 +19,139 @@ import spack.schema.projections
#: THIS NEEDS TO BE UPDATED FOR EVERY NEW KEYWORD THAT
#: IS ADDED IMMEDIATELY BELOW THE MODULE TYPE ATTRIBUTE
spec_regex = (
- r'(?!hierarchy|core_specs|verbose|hash_length|defaults|'
- r'whitelist|blacklist|' # DEPRECATED: remove in 0.20.
- r'include|exclude|' # use these more inclusive/consistent options
- r'projections|naming_scheme|core_compilers|all)(^\w[\w-]*)'
-
+ r"(?!hierarchy|core_specs|verbose|hash_length|defaults|"
+ r"whitelist|blacklist|" # DEPRECATED: remove in 0.20.
+ r"include|exclude|" # use these more inclusive/consistent options
+ r"projections|naming_scheme|core_compilers|all)(^\w[\w-]*)"
)
#: Matches a valid name for a module set
-valid_module_set_name = r'^(?!arch_folder$|lmod$|roots$|enable$|prefix_inspections$|'\
- r'tcl$|use_view$)\w[\w-]*$'
+valid_module_set_name = (
+ r"^(?!arch_folder$|lmod$|roots$|enable$|prefix_inspections$|" r"tcl$|use_view$)\w[\w-]*$"
+)
#: Matches an anonymous spec, i.e. a spec without a root name
-anonymous_spec_regex = r'^[\^@%+~]'
+anonymous_spec_regex = r"^[\^@%+~]"
#: Definitions for parts of module schema
-array_of_strings = {
- 'type': 'array', 'default': [], 'items': {'type': 'string'}
-}
+array_of_strings = {"type": "array", "default": [], "items": {"type": "string"}}
-dictionary_of_strings = {
- 'type': 'object', 'patternProperties': {r'\w[\w-]*': {'type': 'string'}}
-}
+dictionary_of_strings = {"type": "object", "patternProperties": {r"\w[\w-]*": {"type": "string"}}}
-dependency_selection = {'type': 'string', 'enum': ['none', 'direct', 'all']}
+dependency_selection = {"type": "string", "enum": ["none", "direct", "all"]}
module_file_configuration = {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': {
- 'filter': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": {
+ "filter": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": {
# DEPRECATED: remove in 0.20.
- 'environment_blacklist': {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'type': 'string'
- }
+ "environment_blacklist": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
},
# use exclude_env_vars instead
- 'exclude_env_vars': {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'type': 'string'
- }
- }
- }
- },
- 'template': {
- 'type': 'string'
+ "exclude_env_vars": {"type": "array", "default": [], "items": {"type": "string"}},
+ },
},
- 'autoload': dependency_selection,
- 'prerequisites': dependency_selection,
- 'conflict': array_of_strings,
- 'load': array_of_strings,
- 'suffixes': {
- 'type': 'object',
- 'validate_spec': True,
- 'patternProperties': {
- r'\w[\w-]*': { # key
- 'type': 'string'
- }
- }
+ "template": {"type": "string"},
+ "autoload": dependency_selection,
+ "prerequisites": dependency_selection,
+ "conflict": array_of_strings,
+ "load": array_of_strings,
+ "suffixes": {
+ "type": "object",
+ "validate_spec": True,
+ "patternProperties": {r"\w[\w-]*": {"type": "string"}}, # key
},
- 'environment': spack.schema.environment.definition
- }
+ "environment": spack.schema.environment.definition,
+ },
}
-projections_scheme = spack.schema.projections.properties['projections']
+projections_scheme = spack.schema.projections.properties["projections"]
module_type_configuration = {
- 'type': 'object',
- 'default': {},
- 'allOf': [
- {'properties': {
- 'verbose': {
- 'type': 'boolean',
- 'default': False
- },
- 'hash_length': {
- 'type': 'integer',
- 'minimum': 0,
- 'default': 7
- },
- # DEPRECATED: remove in 0.20.
- 'whitelist': array_of_strings,
- 'blacklist': array_of_strings,
- 'blacklist_implicits': {
- 'type': 'boolean',
- 'default': False
- },
- # whitelist/blacklist have been replaced with include/exclude
- 'include': array_of_strings,
- 'exclude': array_of_strings,
- 'exclude_implicits': {
- 'type': 'boolean',
- 'default': False
- },
- 'defaults': array_of_strings,
- 'naming_scheme': {
- 'type': 'string' # Can we be more specific here?
+ "type": "object",
+ "default": {},
+ "allOf": [
+ {
+ "properties": {
+ "verbose": {"type": "boolean", "default": False},
+ "hash_length": {"type": "integer", "minimum": 0, "default": 7},
+ # DEPRECATED: remove in 0.20.
+ "whitelist": array_of_strings,
+ "blacklist": array_of_strings,
+ "blacklist_implicits": {"type": "boolean", "default": False},
+ # whitelist/blacklist have been replaced with include/exclude
+ "include": array_of_strings,
+ "exclude": array_of_strings,
+ "exclude_implicits": {"type": "boolean", "default": False},
+ "defaults": array_of_strings,
+ "naming_scheme": {"type": "string"}, # Can we be more specific here?
+ "projections": projections_scheme,
+ "all": module_file_configuration,
+ }
+ },
+ {
+ "validate_spec": True,
+ "patternProperties": {
+ spec_regex: module_file_configuration,
+ anonymous_spec_regex: module_file_configuration,
},
- 'projections': projections_scheme,
- 'all': module_file_configuration,
- }
},
- {'validate_spec': True,
- 'patternProperties': {
- spec_regex: module_file_configuration,
- anonymous_spec_regex: module_file_configuration,
- }
- }
- ]
+ ],
}
module_config_properties = {
- 'use_view': {'anyOf': [
- {'type': 'string'},
- {'type': 'boolean'}
- ]},
- 'arch_folder': {'type': 'boolean'},
- 'roots': {
- 'type': 'object',
- 'properties': {
- 'tcl': {'type': 'string'},
- 'lmod': {'type': 'string'},
+ "use_view": {"anyOf": [{"type": "string"}, {"type": "boolean"}]},
+ "arch_folder": {"type": "boolean"},
+ "roots": {
+ "type": "object",
+ "properties": {
+ "tcl": {"type": "string"},
+ "lmod": {"type": "string"},
},
},
- 'enable': {
- 'type': 'array',
- 'default': [],
- 'items': {
- 'type': 'string',
- 'enum': ['tcl', 'lmod']
- }
+ "enable": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string", "enum": ["tcl", "lmod"]},
},
- 'lmod': {
- 'allOf': [
+ "lmod": {
+ "allOf": [
# Base configuration
module_type_configuration,
{
- 'type': 'object',
- 'properties': {
- 'core_compilers': array_of_strings,
- 'hierarchy': array_of_strings,
- 'core_specs': array_of_strings,
+ "type": "object",
+ "properties": {
+ "core_compilers": array_of_strings,
+ "hierarchy": array_of_strings,
+ "core_specs": array_of_strings,
},
- } # Specific lmod extensions
+ }, # Specific lmod extensions
]
},
- 'tcl': {
- 'allOf': [
+ "tcl": {
+ "allOf": [
# Base configuration
module_type_configuration,
- {} # Specific tcl extensions
+ {}, # Specific tcl extensions
]
},
- 'prefix_inspections': {
- 'type': 'object',
- 'additionalProperties': False,
- 'patternProperties': {
+ "prefix_inspections": {
+ "type": "object",
+ "additionalProperties": False,
+ "patternProperties": {
# prefix-relative path to be inspected for existence
- r'^[\w-]*': array_of_strings
- }
+ r"^[\w-]*": array_of_strings
+ },
},
}
@@ -197,51 +160,51 @@ def deprecation_msg_default_module_set(instance, props):
return (
'Top-level properties "{0}" in module config are ignored as of Spack v0.18. '
'They should be set on the "default" module set. Run\n\n'
- '\t$ spack config update modules\n\n'
- 'to update the file to the new format'.format('", "'.join(instance))
+ "\t$ spack config update modules\n\n"
+ "to update the file to the new format".format('", "'.join(instance))
)
# Properties for inclusion into other schemas (requires definitions)
properties = {
- 'modules': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'prefix_inspections': {
- 'type': 'object',
- 'additionalProperties': False,
- 'patternProperties': {
+ "modules": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "prefix_inspections": {
+ "type": "object",
+ "additionalProperties": False,
+ "patternProperties": {
# prefix-relative path to be inspected for existence
- r'^[\w-]*': array_of_strings
- }
+ r"^[\w-]*": array_of_strings
+ },
},
},
- 'patternProperties': {
+ "patternProperties": {
valid_module_set_name: {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': module_config_properties
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": module_config_properties,
},
# Deprecated top-level keys (ignored in 0.18 with a warning)
- '^(arch_folder|lmod|roots|enable|tcl|use_view)$': {}
+ "^(arch_folder|lmod|roots|enable|tcl|use_view)$": {},
+ },
+ "deprecatedProperties": {
+ "properties": ["arch_folder", "lmod", "roots", "enable", "tcl", "use_view"],
+ "message": deprecation_msg_default_module_set,
+ "error": False,
},
- 'deprecatedProperties': {
- 'properties': ['arch_folder', 'lmod', 'roots', 'enable', 'tcl', 'use_view'],
- 'message': deprecation_msg_default_module_set,
- 'error': False
- }
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack module file configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack module file configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
@@ -293,15 +256,16 @@ def update_default_module_set(data):
"""
changed = False
- deprecated_top_level_keys = ('arch_folder', 'lmod', 'roots', 'enable',
- 'tcl', 'use_view')
+ deprecated_top_level_keys = ("arch_folder", "lmod", "roots", "enable", "tcl", "use_view")
# Don't update when we already have a default module set
- if 'default' in data:
+ if "default" in data:
if any(key in data for key in deprecated_top_level_keys):
- warnings.warn('Did not move top-level module properties into "default" '
- 'module set, because the "default" module set is already '
- 'defined')
+ warnings.warn(
+ 'Did not move top-level module properties into "default" '
+ 'module set, because the "default" module set is already '
+ "defined"
+ )
return changed
default = {}
@@ -313,7 +277,7 @@ def update_default_module_set(data):
if default:
changed = True
- data['default'] = default
+ data["default"] = default
return changed
diff --git a/lib/spack/spack/schema/packages.py b/lib/spack/spack/schema/packages.py
index 33d7238fe7..87d489028e 100644
--- a/lib/spack/spack/schema/packages.py
+++ b/lib/spack/spack/schema/packages.py
@@ -11,82 +11,85 @@
#: Properties for inclusion in other schemas
properties = {
- 'packages': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'patternProperties': {
- r'\w[\w-]*': { # package name
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': {
- 'version': {
- 'type': 'array',
- 'default': [],
+ "packages": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "patternProperties": {
+ r"\w[\w-]*": { # package name
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": {
+ "version": {
+ "type": "array",
+ "default": [],
# version strings
- 'items': {'anyOf': [{'type': 'string'},
- {'type': 'number'}]}},
- 'target': {
- 'type': 'array',
- 'default': [],
+ "items": {"anyOf": [{"type": "string"}, {"type": "number"}]},
+ },
+ "target": {
+ "type": "array",
+ "default": [],
# target names
- 'items': {'type': 'string'},
+ "items": {"type": "string"},
},
- 'compiler': {
- 'type': 'array',
- 'default': [],
- 'items': {'type': 'string'}}, # compiler specs
- 'buildable': {
- 'type': 'boolean',
- 'default': True,
+ "compiler": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
+ }, # compiler specs
+ "buildable": {
+ "type": "boolean",
+ "default": True,
},
- 'permissions': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'read': {
- 'type': 'string',
- 'enum': ['user', 'group', 'world'],
+ "permissions": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "read": {
+ "type": "string",
+ "enum": ["user", "group", "world"],
},
- 'write': {
- 'type': 'string',
- 'enum': ['user', 'group', 'world'],
+ "write": {
+ "type": "string",
+ "enum": ["user", "group", "world"],
},
- 'group': {
- 'type': 'string',
+ "group": {
+ "type": "string",
},
},
},
- 'providers': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'array',
- 'default': [],
- 'items': {'type': 'string'}, }, }, },
- 'variants': {
- 'oneOf': [
- {'type': 'string'},
- {'type': 'array',
- 'items': {'type': 'string'}}],
+ "providers": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
+ },
+ },
},
- 'externals': {
- 'type': 'array',
- 'items': {
- 'type': 'object',
- 'properties': {
- 'spec': {'type': 'string'},
- 'prefix': {'type': 'string'},
- 'modules': {'type': 'array',
- 'items': {'type': 'string'}},
- 'extra_attributes': {'type': 'object'}
+ "variants": {
+ "oneOf": [
+ {"type": "string"},
+ {"type": "array", "items": {"type": "string"}},
+ ],
+ },
+ "externals": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "spec": {"type": "string"},
+ "prefix": {"type": "string"},
+ "modules": {"type": "array", "items": {"type": "string"}},
+ "extra_attributes": {"type": "object"},
},
- 'additionalProperties': True,
- 'required': ['spec']
- }
+ "additionalProperties": True,
+ "required": ["spec"],
+ },
},
},
},
@@ -97,9 +100,9 @@ properties = {
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack package configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack package configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/projections.py b/lib/spack/spack/schema/projections.py
index 0db940e5e4..b324fdd831 100644
--- a/lib/spack/spack/schema/projections.py
+++ b/lib/spack/spack/schema/projections.py
@@ -12,12 +12,10 @@
#: Properties for inclusion in other schemas
properties = {
- 'projections': {
- 'type': 'object',
- 'patternProperties': {
- r'all|\w[\w-]*': {
- 'type': 'string'
- },
+ "projections": {
+ "type": "object",
+ "patternProperties": {
+ r"all|\w[\w-]*": {"type": "string"},
},
},
}
@@ -25,9 +23,9 @@ properties = {
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack view projection configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack view projection configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/repos.py b/lib/spack/spack/schema/repos.py
index b44370ae36..0fc4cdb8f2 100644
--- a/lib/spack/spack/schema/repos.py
+++ b/lib/spack/spack/schema/repos.py
@@ -12,19 +12,19 @@
#: Properties for inclusion in other schemas
properties = {
- 'repos': {
- 'type': 'array',
- 'default': [],
- 'items': {'type': 'string'},
+ "repos": {
+ "type": "array",
+ "default": [],
+ "items": {"type": "string"},
},
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack repository configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack repository configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/schema/spec.py b/lib/spack/spack/schema/spec.py
index 3e64f08502..a13f70a2e2 100644
--- a/lib/spack/spack/schema/spec.py
+++ b/lib/spack/spack/schema/spec.py
@@ -13,30 +13,31 @@ TODO: This needs to be updated? Especially the hashes under properties.
target = {
- 'oneOf': [
+ "oneOf": [
{
- 'type': 'string',
- }, {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': [
- 'name',
- 'vendor',
- 'features',
- 'generation',
- 'parents',
+ "type": "string",
+ },
+ {
+ "type": "object",
+ "additionalProperties": False,
+ "required": [
+ "name",
+ "vendor",
+ "features",
+ "generation",
+ "parents",
],
- 'properties': {
- 'name': {'type': 'string'},
- 'vendor': {'type': 'string'},
- 'features': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "properties": {
+ "name": {"type": "string"},
+ "vendor": {"type": "string"},
+ "features": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'generation': {'type': 'integer'},
- 'parents': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "generation": {"type": "integer"},
+ "parents": {
+ "type": "array",
+ "items": {"type": "string"},
},
},
},
@@ -44,25 +45,25 @@ target = {
}
arch = {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'platform': {},
- 'platform_os': {},
- 'target': target,
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "platform": {},
+ "platform_os": {},
+ "target": target,
},
}
dependencies = {
- 'type': 'object',
- 'patternProperties': {
- r'\w[\w-]*': { # package name
- 'type': 'object',
- 'properties': {
- 'hash': {'type': 'string'},
- 'type': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "type": "object",
+ "patternProperties": {
+ r"\w[\w-]*": { # package name
+ "type": "object",
+ "properties": {
+ "hash": {"type": "string"},
+ "type": {
+ "type": "array",
+ "items": {"type": "string"},
},
},
},
@@ -70,134 +71,121 @@ dependencies = {
}
build_spec = {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': ['name', 'hash'],
- 'properties': {
- 'name': {'type': 'string'},
- 'hash': {'type': 'string'}
- }
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["name", "hash"],
+ "properties": {"name": {"type": "string"}, "hash": {"type": "string"}},
}
#: Properties for inclusion in other schemas
properties = {
- 'spec': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': [
- '_meta',
- 'nodes'
- ],
- 'properties': {
- '_meta': {
- 'type': 'object',
- 'properties': {
- 'version': {'type': 'number'}
- }
- },
- 'nodes': {
- 'type': 'array',
- 'items': {
- 'type': 'object',
- 'additionalProperties': False,
- 'required': [
- 'version',
- 'arch',
- 'compiler',
- 'namespace',
- 'parameters',
+ "spec": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": ["_meta", "nodes"],
+ "properties": {
+ "_meta": {"type": "object", "properties": {"version": {"type": "number"}}},
+ "nodes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": False,
+ "required": [
+ "version",
+ "arch",
+ "compiler",
+ "namespace",
+ "parameters",
],
- 'properties': {
- 'name': {'type': 'string'},
- 'hash': {'type': 'string'},
- 'package_hash': {'type': 'string'},
-
+ "properties": {
+ "name": {"type": "string"},
+ "hash": {"type": "string"},
+ "package_hash": {"type": "string"},
# these hashes were used on some specs prior to 0.18
- 'full_hash': {'type': 'string'},
- 'build_hash': {'type': 'string'},
-
- 'version': {
- 'oneOf': [
- {'type': 'string'},
- {'type': 'number'},
+ "full_hash": {"type": "string"},
+ "build_hash": {"type": "string"},
+ "version": {
+ "oneOf": [
+ {"type": "string"},
+ {"type": "number"},
],
},
- 'arch': arch,
- 'compiler': {
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': {
- 'name': {'type': 'string'},
- 'version': {'type': 'string'},
+ "arch": arch,
+ "compiler": {
+ "type": "object",
+ "additionalProperties": False,
+ "properties": {
+ "name": {"type": "string"},
+ "version": {"type": "string"},
},
},
- 'develop': {
- 'anyOf': [
- {'type': 'boolean'},
- {'type': 'string'},
+ "develop": {
+ "anyOf": [
+ {"type": "boolean"},
+ {"type": "string"},
],
},
- 'namespace': {'type': 'string'},
- 'parameters': {
- 'type': 'object',
- 'required': [
- 'cflags',
- 'cppflags',
- 'cxxflags',
- 'fflags',
- 'ldflags',
- 'ldlibs',
+ "namespace": {"type": "string"},
+ "parameters": {
+ "type": "object",
+ "required": [
+ "cflags",
+ "cppflags",
+ "cxxflags",
+ "fflags",
+ "ldflags",
+ "ldlibs",
],
- 'additionalProperties': True,
- 'properties': {
- 'patches': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "additionalProperties": True,
+ "properties": {
+ "patches": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'cflags': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "cflags": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'cppflags': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "cppflags": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'cxxflags': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "cxxflags": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'fflags': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "fflags": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'ldflags': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "ldflags": {
+ "type": "array",
+ "items": {"type": "string"},
},
- 'ldlib': {
- 'type': 'array',
- 'items': {'type': 'string'},
+ "ldlib": {
+ "type": "array",
+ "items": {"type": "string"},
},
},
},
- 'patches': {
- 'type': 'array',
- 'items': {},
+ "patches": {
+ "type": "array",
+ "items": {},
},
- 'dependencies': dependencies,
- 'build_spec': build_spec,
+ "dependencies": dependencies,
+ "build_spec": build_spec,
},
- }
- }
- }
+ },
+ },
+ },
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack spec schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'patternProperties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack spec schema",
+ "type": "object",
+ "additionalProperties": False,
+ "patternProperties": properties,
}
diff --git a/lib/spack/spack/schema/upstreams.py b/lib/spack/spack/schema/upstreams.py
index 9e45bc4a57..11deac3bbc 100644
--- a/lib/spack/spack/schema/upstreams.py
+++ b/lib/spack/spack/schema/upstreams.py
@@ -6,34 +6,31 @@
#: Properties for inclusion in other schemas
properties = {
- 'upstreams': {
- 'type': 'object',
- 'default': {},
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'object',
- 'default': {},
- 'additionalProperties': False,
- 'properties': {
- 'install_tree': {'type': 'string'},
- 'modules': {
- 'type': 'object',
- 'properties': {
- 'tcl': {'type': 'string'},
- 'lmod': {'type': 'string'}
- }
- }
- }
+ "upstreams": {
+ "type": "object",
+ "default": {},
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": False,
+ "properties": {
+ "install_tree": {"type": "string"},
+ "modules": {
+ "type": "object",
+ "properties": {"tcl": {"type": "string"}, "lmod": {"type": "string"}},
+ },
+ },
}
- }
+ },
}
}
#: Full schema with metadata
schema = {
- '$schema': 'http://json-schema.org/draft-07/schema#',
- 'title': 'Spack core configuration file schema',
- 'type': 'object',
- 'additionalProperties': False,
- 'properties': properties,
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Spack core configuration file schema",
+ "type": "object",
+ "additionalProperties": False,
+ "properties": properties,
}
diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py
index dc1c93eacd..f8cba20adf 100644
--- a/lib/spack/spack/solver/asp.py
+++ b/lib/spack/spack/solver/asp.py
@@ -23,7 +23,7 @@ try:
import clingo # type: ignore[import]
# There may be a better way to detect this
- clingo_cffi = hasattr(clingo.Symbol, '_rep')
+ clingo_cffi = hasattr(clingo.Symbol, "_rep")
except ImportError:
clingo = None # type: ignore
clingo_cffi = False
@@ -64,6 +64,7 @@ def ast_getter(*names):
if result:
return result
raise KeyError("node has no such keys: %s" % names)
+
return getter
@@ -72,28 +73,24 @@ ast_sym = ast_getter("symbol", "term")
#: Order of precedence for version origins. Topmost types are preferred.
version_origin_fields = [
- 'spec',
- 'external',
- 'packages_yaml',
- 'package_py',
- 'installed',
+ "spec",
+ "external",
+ "packages_yaml",
+ "package_py",
+ "installed",
]
#: Look up version precedence strings by enum id
-version_origin_str = {
- i: name for i, name in enumerate(version_origin_fields)
-}
+version_origin_str = {i: name for i, name in enumerate(version_origin_fields)}
#: Enumeration like object to mark version provenance
version_provenance = collections.namedtuple( # type: ignore
- 'VersionProvenance',
+ "VersionProvenance",
version_origin_fields,
)(**{name: i for i, name in enumerate(version_origin_fields)})
#: Named tuple to contain information on declared versions
-DeclaredVersion = collections.namedtuple(
- 'DeclaredVersion', ['version', 'idx', 'origin']
-)
+DeclaredVersion = collections.namedtuple("DeclaredVersion", ["version", "idx", "origin"])
# Below numbers are used to map names of criteria to the order
# they appear in the solution. See concretize.lp
@@ -173,10 +170,11 @@ def build_criteria_names(costs, tuples):
indices = dict((p, i) for i, (p, n) in enumerate(priorities_names))
# make a list that has each name with its build and non-build costs
- criteria = [(cost, None, name) for cost, (p, name) in
- zip(costs[:build_start_idx], high_fixed)]
- criteria += [(cost, None, name) for cost, (p, name) in
- zip(costs[fixed_start_idx:installed_start_idx], fixed)]
+ criteria = [(cost, None, name) for cost, (p, name) in zip(costs[:build_start_idx], high_fixed)]
+ criteria += [
+ (cost, None, name)
+ for cost, (p, name) in zip(costs[fixed_start_idx:installed_start_idx], fixed)
+ ]
for (i, name), (b, _) in zip(installed, build):
criteria.append((costs[indices[i]], costs[indices[b]], name))
@@ -245,12 +243,11 @@ class AspFunction(AspObject):
return clingo.Number(arg)
else:
return clingo.String(str(arg))
- return clingo.Function(
- self.name, [argify(arg) for arg in self.args], positive=positive)
+
+ return clingo.Function(self.name, [argify(arg) for arg in self.args], positive=positive)
def __str__(self):
- return "%s(%s)" % (
- self.name, ', '.join(str(_id(arg)) for arg in self.args))
+ return "%s(%s)" % (self.name, ", ".join(str(_id(arg)) for arg in self.args))
def __repr__(self):
return str(self)
@@ -299,7 +296,7 @@ def check_packages_exist(specs):
try:
check_passed = repo.exists(s.name) or repo.is_virtual(s.name)
except Exception as e:
- msg = 'Cannot find package: {0}'.format(str(e))
+ msg = "Cannot find package: {0}".format(str(e))
check_passed = False
tty.debug(msg)
@@ -309,6 +306,7 @@ def check_packages_exist(specs):
class Result(object):
"""Result of an ASP solve."""
+
def __init__(self, specs, asp=None):
self.asp = asp
self.satisfiable = None
@@ -345,10 +343,7 @@ class Result(object):
"""
assert self.control
- symbols = dict(
- (a.literal, a.symbol)
- for a in self.control.symbolic_atoms
- )
+ symbols = dict((a.literal, a.symbol) for a in self.control.symbolic_atoms)
core_symbols = []
for atom in core:
@@ -390,7 +385,7 @@ class Result(object):
string_list = []
for core in self.minimal_cores():
if string_list:
- string_list.append('\n')
+ string_list.append("\n")
string_list.extend(self.format_core(core))
return string_list
@@ -403,7 +398,7 @@ class Result(object):
string_list = []
for core in self.cores:
if string_list:
- string_list.append('\n')
+ string_list.append("\n")
string_list.extend(self.format_core(core))
return string_list
@@ -460,8 +455,7 @@ class Result(object):
for input_spec in self.abstract_specs:
key = input_spec.name
if input_spec.virtual:
- providers = [spec.name for spec in answer.values()
- if spec.package.provides(key)]
+ providers = [spec.name for spec in answer.values() if spec.package.provides(key)]
key = providers[0]
candidate = answer.get(key)
@@ -476,22 +470,22 @@ def _normalize_packages_yaml(packages_yaml):
normalized_yaml = copy.copy(packages_yaml)
for pkg_name in packages_yaml:
is_virtual = spack.repo.path.is_virtual(pkg_name)
- if pkg_name == 'all' or not is_virtual:
+ if pkg_name == "all" or not is_virtual:
continue
# Remove the virtual entry from the normalized configuration
data = normalized_yaml.pop(pkg_name)
- is_buildable = data.get('buildable', True)
+ is_buildable = data.get("buildable", True)
if not is_buildable:
for provider in spack.repo.path.providers_for(pkg_name):
entry = normalized_yaml.setdefault(provider.name, {})
- entry['buildable'] = False
+ entry["buildable"] = False
- externals = data.get('externals', [])
- keyfn = lambda x: spack.spec.Spec(x['spec']).name
+ externals = data.get("externals", [])
+ keyfn = lambda x: spack.spec.Spec(x["spec"]).name
for provider, specs in itertools.groupby(externals, key=keyfn):
entry = normalized_yaml.setdefault(provider, {})
- entry.setdefault('externals', []).extend(specs)
+ entry.setdefault("externals", []).extend(specs)
return normalized_yaml
@@ -505,6 +499,7 @@ def bootstrap_clingo():
import clingo
from clingo.ast import ASTType
+
try:
from clingo.ast import parse_files
except ImportError:
@@ -526,12 +521,12 @@ class PyclingoDriver(object):
self.cores = cores
def title(self, name, char):
- self.out.write('\n')
+ self.out.write("\n")
self.out.write("%" + (char * 76))
- self.out.write('\n')
+ self.out.write("\n")
self.out.write("%% %s\n" % name)
self.out.write("%" + (char * 76))
- self.out.write('\n')
+ self.out.write("\n")
def h1(self, name):
self.title(name, "=")
@@ -540,7 +535,7 @@ class PyclingoDriver(object):
self.title(name, "-")
def newline(self):
- self.out.write('\n')
+ self.out.write("\n")
def fact(self, head):
"""ASP fact (a rule without a body).
@@ -548,7 +543,7 @@ class PyclingoDriver(object):
Arguments:
head (AspFunction): ASP function to generate as fact
"""
- symbol = head.symbol() if hasattr(head, 'symbol') else head
+ symbol = head.symbol() if hasattr(head, "symbol") else head
self.out.write("%s.\n" % str(symbol))
@@ -556,21 +551,21 @@ class PyclingoDriver(object):
# Only functions relevant for constructing bug reports for bad error messages
# are assumptions, and only when using cores.
- choice = self.cores and symbol.name == 'internal_error'
+ choice = self.cores and symbol.name == "internal_error"
self.backend.add_rule([atom], [], choice=choice)
if choice:
self.assumptions.append(atom)
def solve(
- self,
- setup,
- specs,
- nmodels=0,
- reuse=None,
- timers=False,
- stats=False,
- out=None,
- setup_only=False
+ self,
+ setup,
+ specs,
+ nmodels=0,
+ reuse=None,
+ timers=False,
+ stats=False,
+ out=None,
+ setup_only=False,
):
"""Set up the input and solve for dependencies of ``specs``.
@@ -592,10 +587,10 @@ class PyclingoDriver(object):
# Initialize the control object for the solver
self.control = clingo.Control()
- self.control.configuration.configuration = 'tweety'
+ self.control.configuration.configuration = "tweety"
self.control.configuration.solve.models = nmodels
- self.control.configuration.solver.heuristic = 'Domain'
- self.control.configuration.solve.parallel_mode = '1'
+ self.control.configuration.solver.heuristic = "Domain"
+ self.control.configuration.solve.parallel_mode = "1"
self.control.configuration.solver.opt_strategy = "usc,one"
# set up the problem -- this generates facts and rules
@@ -611,18 +606,19 @@ class PyclingoDriver(object):
# extract error messages from concretize.lp by inspecting its AST
with self.backend:
+
def visit(node):
if ast_type(node) == ASTType.Rule:
for term in node.body:
if ast_type(term) == ASTType.Literal:
if ast_type(term.atom) == ASTType.SymbolicAtom:
name = ast_sym(term.atom).name
- if name == 'internal_error':
+ if name == "internal_error":
arg = ast_sym(ast_sym(term.atom).arguments[0])
self.fact(AspFunction(name)(arg.string))
self.h1("Error messages")
- path = os.path.join(parent_dir, 'concretize.lp')
+ path = os.path.join(parent_dir, "concretize.lp")
parse_files([path], visit)
# If we're only doing setup, just return an empty solve result
@@ -630,7 +626,7 @@ class PyclingoDriver(object):
return Result(specs)
# Load the file itself
- self.control.load(os.path.join(parent_dir, 'concretize.lp'))
+ self.control.load(os.path.join(parent_dir, "concretize.lp"))
self.control.load(os.path.join(parent_dir, "os_compatibility.lp"))
self.control.load(os.path.join(parent_dir, "display.lp"))
timer.phase("load")
@@ -643,14 +639,16 @@ class PyclingoDriver(object):
# With a grounded program, we can run the solve.
result = Result(specs)
models = [] # stable models if things go well
- cores = [] # unsatisfiable cores if they do not
+ cores = [] # unsatisfiable cores if they do not
def on_model(model):
models.append((model.cost, model.symbols(shown=True, terms=True)))
- solve_kwargs = {"assumptions": self.assumptions,
- "on_model": on_model,
- "on_core": cores.append}
+ solve_kwargs = {
+ "assumptions": self.assumptions,
+ "on_model": on_model,
+ "on_core": cores.append,
+ }
if clingo_cffi:
solve_kwargs["on_unsat"] = cores.append
@@ -674,10 +672,7 @@ class PyclingoDriver(object):
# build spec from the best model
builder = SpecBuilder(specs, reuse=reuse)
min_cost, best_model = min(models)
- tuples = [
- (sym.name, [stringify(a) for a in sym.arguments])
- for sym in best_model
- ]
+ tuples = [(sym.name, [stringify(a) for a in sym.arguments]) for sym in best_model]
answers = builder.build_specs(tuples)
# add best spec to the results
@@ -742,6 +737,7 @@ class SpackSolverSetup(object):
This uses self.declared_versions so that we include any versions
that arise from a spec.
"""
+
def key_fn(version):
# Origins are sorted by precedence defined in `version_origin_str`,
# then by order added.
@@ -753,15 +749,19 @@ class SpackSolverSetup(object):
most_to_least_preferred = []
for _, group in itertools.groupby(partially_sorted_versions, key=key_fn):
- most_to_least_preferred.extend(list(sorted(
- group, reverse=True, key=lambda x: spack.version.ver(x.version)
- )))
+ most_to_least_preferred.extend(
+ list(sorted(group, reverse=True, key=lambda x: spack.version.ver(x.version)))
+ )
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]
- ))
+ 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]
@@ -798,8 +798,7 @@ class SpackSolverSetup(object):
no_constraint_msg = "{0} conflicts with '{1}'"
for trigger, constraints in pkg.conflicts.items():
trigger_msg = "conflict trigger %s" % str(trigger)
- trigger_id = self.condition(
- spack.spec.Spec(trigger), name=pkg.name, msg=trigger_msg)
+ trigger_id = self.condition(spack.spec.Spec(trigger), name=pkg.name, msg=trigger_msg)
for constraint, conflict_msg in constraints:
if conflict_msg is None:
@@ -808,10 +807,8 @@ class SpackSolverSetup(object):
else:
conflict_msg = default_msg.format(pkg.name, trigger, constraint)
constraint_msg = "conflict constraint %s" % str(constraint)
- constraint_id = self.condition(
- constraint, name=pkg.name, msg=constraint_msg)
- self.gen.fact(
- fn.conflict(pkg.name, trigger_id, constraint_id, conflict_msg))
+ constraint_id = self.condition(constraint, name=pkg.name, msg=constraint_msg)
+ self.gen.fact(fn.conflict(pkg.name, trigger_id, constraint_id, conflict_msg))
self.gen.newline()
def available_compilers(self):
@@ -835,9 +832,8 @@ class SpackSolverSetup(object):
self.gen.h2("Default compiler preferences")
compiler_list = self.possible_compilers.copy()
- compiler_list = sorted(
- compiler_list, key=lambda x: (x.name, x.version), reverse=True)
- ppk = spack.package_prefs.PackagePrefs("all", 'compiler', all=False)
+ compiler_list = sorted(compiler_list, key=lambda x: (x.name, x.version), reverse=True)
+ ppk = spack.package_prefs.PackagePrefs("all", "compiler", all=False)
matches = sorted(compiler_list, key=ppk)
for i, cspec in enumerate(matches):
@@ -847,23 +843,21 @@ class SpackSolverSetup(object):
# Enumerate target families. This may be redundant, but compilers with
# custom versions will be able to concretize properly.
for entry in spack.compilers.all_compilers_config():
- compiler_entry = entry['compiler']
- cspec = spack.spec.CompilerSpec(compiler_entry['spec'])
- if not compiler_entry.get('target', None):
+ compiler_entry = entry["compiler"]
+ cspec = spack.spec.CompilerSpec(compiler_entry["spec"])
+ if not compiler_entry.get("target", None):
continue
- self.gen.fact(fn.compiler_supports_target(
- cspec.name, cspec.version, compiler_entry['target']
- ))
+ self.gen.fact(
+ fn.compiler_supports_target(cspec.name, cspec.version, compiler_entry["target"])
+ )
def compiler_supports_os(self):
compilers_yaml = spack.compilers.all_compilers_config()
for entry in compilers_yaml:
- c = spack.spec.CompilerSpec(entry['compiler']['spec'])
- operating_system = entry['compiler']['operating_system']
- self.gen.fact(fn.compiler_supports_os(
- c.name, c.version, operating_system
- ))
+ c = spack.spec.CompilerSpec(entry["compiler"]["spec"])
+ operating_system = entry["compiler"]["operating_system"]
+ self.gen.fact(fn.compiler_supports_os(c.name, c.version, operating_system))
def package_compiler_defaults(self, pkg):
"""Facts about packages' compiler prefs."""
@@ -874,15 +868,14 @@ class SpackSolverSetup(object):
return
compiler_list = self.possible_compilers.copy()
- compiler_list = sorted(
- compiler_list, key=lambda x: (x.name, x.version), reverse=True)
- ppk = spack.package_prefs.PackagePrefs(pkg.name, 'compiler', all=False)
+ compiler_list = sorted(compiler_list, key=lambda x: (x.name, x.version), reverse=True)
+ ppk = spack.package_prefs.PackagePrefs(pkg.name, "compiler", all=False)
matches = sorted(compiler_list, key=ppk)
for i, cspec in enumerate(reversed(matches)):
- self.gen.fact(fn.node_compiler_preference(
- pkg.name, cspec.name, cspec.version, -i * 100
- ))
+ self.gen.fact(
+ fn.node_compiler_preference(pkg.name, cspec.name, cspec.version, -i * 100)
+ )
def pkg_rules(self, pkg, tests):
pkg = packagize(pkg)
@@ -912,17 +905,13 @@ class SpackSolverSetup(object):
if single_value:
self.gen.fact(fn.variant_single_value(pkg.name, name))
self.gen.fact(
- fn.variant_default_value_from_package_py(
- pkg.name, name, variant.default)
+ fn.variant_default_value_from_package_py(pkg.name, name, variant.default)
)
else:
spec_variant = variant.make_default()
defaults = spec_variant.value
for val in sorted(defaults):
- self.gen.fact(
- fn.variant_default_value_from_package_py(
- pkg.name, name, val)
- )
+ self.gen.fact(fn.variant_default_value_from_package_py(pkg.name, name, val))
values = variant.values
if values is None:
@@ -932,9 +921,9 @@ class SpackSolverSetup(object):
# Encode the disjoint sets in the logic program
for sid, s in enumerate(values.sets):
for value in s:
- self.gen.fact(fn.variant_value_from_disjoint_sets(
- pkg.name, name, value, sid
- ))
+ self.gen.fact(
+ fn.variant_value_from_disjoint_sets(pkg.name, name, value, sid)
+ )
union.update(s)
values = union
@@ -944,14 +933,15 @@ class SpackSolverSetup(object):
for value in sorted(values):
self.gen.fact(fn.variant_possible_value(pkg.name, name, value))
- if hasattr(value, 'when'):
- required = spack.spec.Spec('{0}={1}'.format(name, value))
+ if hasattr(value, "when"):
+ required = spack.spec.Spec("{0}={1}".format(name, value))
imposed = spack.spec.Spec(value.when)
imposed.name = pkg.name
self.condition(
- required_spec=required, imposed_spec=imposed, name=pkg.name,
- msg="%s variant %s value %s when %s" % (
- pkg.name, name, value, when)
+ required_spec=required,
+ imposed_spec=imposed,
+ name=pkg.name,
+ msg="%s variant %s value %s when %s" % (pkg.name, name, value, when),
)
if variant.sticky:
@@ -973,10 +963,7 @@ class SpackSolverSetup(object):
# virtual preferences
self.virtual_preferences(
- pkg.name,
- lambda v, p, i: self.gen.fact(
- fn.pkg_provider_preference(pkg.name, v, p, i)
- )
+ pkg.name, lambda v, p, i: self.gen.fact(fn.pkg_provider_preference(pkg.name, v, p, i))
)
def condition(self, required_spec, imposed_spec=None, name=None, msg=None):
@@ -1000,12 +987,9 @@ class SpackSolverSetup(object):
self.gen.fact(fn.condition(condition_id, msg))
# requirements trigger the condition
- requirements = self.spec_clauses(
- named_cond, body=True, required_from=name)
+ requirements = self.spec_clauses(named_cond, body=True, required_from=name)
for pred in requirements:
- self.gen.fact(
- fn.condition_requirement(condition_id, pred.name, *pred.args)
- )
+ self.gen.fact(fn.condition_requirement(condition_id, pred.name, *pred.args))
if imposed_spec:
self.impose(condition_id, imposed_spec, node=False, name=name)
@@ -1013,15 +997,12 @@ class SpackSolverSetup(object):
return condition_id
def impose(self, condition_id, imposed_spec, node=True, name=None, body=False):
- imposed_constraints = self.spec_clauses(
- imposed_spec, body=body, required_from=name)
+ imposed_constraints = self.spec_clauses(imposed_spec, body=body, required_from=name)
for pred in imposed_constraints:
# imposed "node"-like conditions are no-ops
if not node and pred.name in ("node", "virtual_node"):
continue
- self.gen.fact(
- fn.imposed_constraint(condition_id, pred.name, *pred.args)
- )
+ self.gen.fact(fn.imposed_constraint(condition_id, pred.name, *pred.args))
def package_provider_rules(self, pkg):
for provider_name in sorted(set(s.name for s in pkg.provided.keys())):
@@ -1029,11 +1010,9 @@ class SpackSolverSetup(object):
for provided, whens in pkg.provided.items():
for when in whens:
- msg = '%s provides %s when %s' % (pkg.name, provided, when)
+ msg = "%s provides %s when %s" % (pkg.name, provided, when)
condition_id = self.condition(when, provided, pkg.name, msg)
- self.gen.fact(fn.provider_condition(
- condition_id, when.name, provided.name
- ))
+ self.gen.fact(fn.provider_condition(condition_id, when.name, provided.name))
self.gen.newline()
def package_dependencies_rules(self, pkg):
@@ -1054,14 +1033,12 @@ class SpackSolverSetup(object):
if not deptypes:
continue
- msg = '%s depends on %s' % (pkg.name, dep.spec.name)
+ msg = "%s depends on %s" % (pkg.name, dep.spec.name)
if cond != spack.spec.Spec():
- msg += ' when %s' % cond
+ msg += " when %s" % cond
condition_id = self.condition(cond, dep.spec, pkg.name, msg)
- self.gen.fact(fn.dependency_condition(
- condition_id, pkg.name, dep.spec.name
- ))
+ self.gen.fact(fn.dependency_condition(condition_id, pkg.name, dep.spec.name))
for t in sorted(deptypes):
# there is a declared dependency of type t
@@ -1085,9 +1062,7 @@ class SpackSolverSetup(object):
self.gen.h2("Default virtual providers")
assert self.possible_virtuals is not None
self.virtual_preferences(
- "all",
- lambda v, p, i: self.gen.fact(
- fn.default_provider_preference(v, p, i))
+ "all", lambda v, p, i: self.gen.fact(fn.default_provider_preference(v, p, i))
)
def external_packages(self):
@@ -1098,51 +1073,45 @@ class SpackSolverSetup(object):
packages_yaml = spack.config.get("packages")
packages_yaml = _normalize_packages_yaml(packages_yaml)
- self.gen.h1('External packages')
+ self.gen.h1("External packages")
for pkg_name, data in packages_yaml.items():
- if pkg_name == 'all':
+ if pkg_name == "all":
continue
# This package does not appear in any repository
if pkg_name not in spack.repo.path:
continue
- self.gen.h2('External package: {0}'.format(pkg_name))
+ self.gen.h2("External package: {0}".format(pkg_name))
# Check if the external package is buildable. If it is
# not then "external(<pkg>)" is a fact.
- external_buildable = data.get('buildable', True)
+ external_buildable = data.get("buildable", True)
if not external_buildable:
self.gen.fact(fn.external_only(pkg_name))
# Read a list of all the specs for this package
- externals = data.get('externals', [])
- external_specs = [spack.spec.Spec(x['spec']) for x in externals]
+ externals = data.get("externals", [])
+ external_specs = [spack.spec.Spec(x["spec"]) for x in externals]
# Order the external versions to prefer more recent versions
# even if specs in packages.yaml are not ordered that way
external_versions = [
- (x.version, external_id)
- for external_id, x in enumerate(external_specs)
+ (x.version, external_id) for external_id, x in enumerate(external_specs)
]
external_versions = [
(v, idx, external_id)
- for idx, (v, external_id) in
- enumerate(sorted(external_versions, reverse=True))
+ for idx, (v, external_id) in enumerate(sorted(external_versions, reverse=True))
]
for version, idx, external_id in external_versions:
- self.declared_versions[pkg_name].append(DeclaredVersion(
- version=version,
- idx=idx,
- origin=version_provenance.external
- ))
+ 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
for local_idx, spec in enumerate(external_specs):
- msg = '%s available as external when satisfying %s' % (spec.name, spec)
+ msg = "%s available as external when satisfying %s" % (spec.name, spec)
condition_id = self.condition(spec, msg=msg)
- self.gen.fact(
- fn.possible_external(condition_id, pkg_name, local_idx)
- )
+ self.gen.fact(fn.possible_external(condition_id, pkg_name, local_idx))
self.possible_versions[spec.name].add(spec.version)
self.gen.newline()
@@ -1165,19 +1134,17 @@ class SpackSolverSetup(object):
spec.update_variant_validate(variant_name, values)
for value in values:
- self.variant_values_from_specs.add(
- (pkg_name, variant.name, value)
+ self.variant_values_from_specs.add((pkg_name, variant.name, value))
+ self.gen.fact(
+ fn.variant_default_value_from_packages_yaml(pkg_name, variant.name, value)
)
- self.gen.fact(fn.variant_default_value_from_packages_yaml(
- pkg_name, variant.name, value
- ))
def target_preferences(self, pkg_name):
- key_fn = spack.package_prefs.PackagePrefs(pkg_name, 'target')
+ key_fn = spack.package_prefs.PackagePrefs(pkg_name, "target")
if not self.target_specs_cache:
self.target_specs_cache = [
- spack.spec.Spec('target={0}'.format(target_name))
+ spack.spec.Spec("target={0}".format(target_name))
for _, target_name in self.default_targets
]
@@ -1189,9 +1156,9 @@ class SpackSolverSetup(object):
for i, preferred in enumerate(package_targets):
if str(preferred.architecture.target) == best_default and i != 0:
offset = 100
- self.gen.fact(fn.target_weight(
- pkg_name, str(preferred.architecture.target), i + offset
- ))
+ self.gen.fact(
+ fn.target_weight(pkg_name, str(preferred.architecture.target), i + offset)
+ )
def flag_defaults(self):
self.gen.h2("Compiler flag defaults")
@@ -1206,14 +1173,15 @@ class SpackSolverSetup(object):
for compiler in compilers:
for name, flags in compiler.flags.items():
for flag in flags:
- self.gen.fact(fn.compiler_version_flag(
- compiler.name, compiler.version, name, flag))
+ self.gen.fact(
+ fn.compiler_version_flag(compiler.name, compiler.version, name, flag)
+ )
def spec_clauses(self, *args, **kwargs):
"""Wrap a call to `_spec_clauses()` into a try/except block that
raises a comprehensible error message in case of failure.
"""
- requestor = kwargs.pop('required_from', None)
+ requestor = kwargs.pop("required_from", None)
try:
clauses = self._spec_clauses(*args, **kwargs)
except RuntimeError as exc:
@@ -1224,12 +1192,12 @@ class SpackSolverSetup(object):
return clauses
def _spec_clauses(
- self,
- spec,
- body=False,
- transitive=True,
- expand_hashes=False,
- concrete_build_deps=False,
+ self,
+ spec,
+ body=False,
+ transitive=True,
+ expand_hashes=False,
+ concrete_build_deps=False,
):
"""Return a list of clauses for a spec mandates are true.
@@ -1278,9 +1246,7 @@ class SpackSolverSetup(object):
f = Body if body else Head
if spec.name:
- clauses.append(
- f.node(spec.name) if not spec.virtual
- else f.virtual_node(spec.name))
+ clauses.append(f.node(spec.name) if not spec.virtual else f.virtual_node(spec.name))
clauses.extend(self.spec_versions(spec))
@@ -1303,7 +1269,7 @@ class SpackSolverSetup(object):
for value in values:
# * is meaningless for concretization -- just for matching
- if value == '*':
+ if value == "*":
continue
# validate variant value only if spec not concrete
@@ -1333,13 +1299,16 @@ class SpackSolverSetup(object):
clauses.append(f.node_compiler(spec.name, spec.compiler.name))
if spec.compiler.concrete:
- clauses.append(f.node_compiler_version(
- spec.name, spec.compiler.name, spec.compiler.version))
+ clauses.append(
+ f.node_compiler_version(spec.name, spec.compiler.name, spec.compiler.version)
+ )
elif spec.compiler.versions:
clauses.append(
fn.node_compiler_version_satisfies(
- spec.name, spec.compiler.name, spec.compiler.versions))
+ spec.name, spec.compiler.name, spec.compiler.versions
+ )
+ )
self.compiler_version_constraints.add(spec.compiler)
# compiler flags
@@ -1404,17 +1373,15 @@ class SpackSolverSetup(object):
# 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
+ return info.get("preferred", False), not version.isdevelop(), version
- for idx, item in enumerate(sorted(
- pkg_cls.versions.items(), key=key_fn, reverse=True
- )):
+ for idx, item in enumerate(sorted(pkg_cls.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)
+ 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)
@@ -1422,9 +1389,9 @@ class SpackSolverSetup(object):
# 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
- ))
+ 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():
@@ -1432,8 +1399,9 @@ class SpackSolverSetup(object):
continue
known_versions = self.possible_versions[dep.name]
- if (not isinstance(dep.version, spack.version.GitVersion) and
- any(v.satisfies(dep.version) for v in known_versions)):
+ if not isinstance(dep.version, spack.version.GitVersion) and any(
+ v.satisfies(dep.version) for v in known_versions
+ ):
# some version we know about satisfies this constraint, so we
# should use that one. e.g, if the user asks for qt@5 and we
# know about qt@5.5. This ensures we don't add under-specified
@@ -1447,11 +1415,9 @@ class SpackSolverSetup(object):
# if there is a concrete version on the CLI *that we know nothing
# about*, add it to the known versions. Use idx=0, which is the
# best possible, so they're guaranteed to be used preferentially.
- self.declared_versions[dep.name].append(DeclaredVersion(
- version=dep.version,
- idx=0,
- origin=version_provenance.spec
- ))
+ 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):
@@ -1475,12 +1441,12 @@ class SpackSolverSetup(object):
return sorted(supported, reverse=True)
def platform_defaults(self):
- self.gen.h2('Default platform')
+ self.gen.h2("Default platform")
platform = spack.platforms.host()
self.gen.fact(fn.node_platform_default(platform))
def os_defaults(self, specs):
- self.gen.h2('Possible operating systems')
+ self.gen.h2("Possible operating systems")
platform = spack.platforms.host()
# create set of OS's to consider
@@ -1500,8 +1466,8 @@ class SpackSolverSetup(object):
def keyfun(os):
return (
os == platform.default_os, # prefer default
- os not in buildable, # then prefer buildables
- os, # then sort by name
+ os not in buildable, # then prefer buildables
+ os, # then sort by name
)
all_oses = buildable.union(self.possible_oses)
@@ -1513,32 +1479,36 @@ class SpackSolverSetup(object):
def target_defaults(self, specs):
"""Add facts about targets and target compatibility."""
- self.gen.h2('Default target')
+ self.gen.h2("Default target")
platform = spack.platforms.host()
uarch = archspec.cpu.TARGETS.get(platform.default)
- self.gen.h2('Target compatibility')
+ self.gen.h2("Target compatibility")
# Construct the list of targets which are compatible with the host
candidate_targets = [uarch] + uarch.ancestors
# Get configuration options
- granularity = spack.config.get('concretizer:targets:granularity')
- host_compatible = spack.config.get('concretizer:targets:host_compatible')
+ granularity = spack.config.get("concretizer:targets:granularity")
+ host_compatible = spack.config.get("concretizer:targets:host_compatible")
# Add targets which are not compatible with the current host
if not host_compatible:
- additional_targets_in_family = sorted([
- t for t in archspec.cpu.TARGETS.values()
- if (t.family.name == uarch.family.name and
- t not in candidate_targets)
- ], key=lambda x: len(x.ancestors), reverse=True)
+ additional_targets_in_family = sorted(
+ [
+ t
+ for t in archspec.cpu.TARGETS.values()
+ if (t.family.name == uarch.family.name and t not in candidate_targets)
+ ],
+ key=lambda x: len(x.ancestors),
+ reverse=True,
+ )
candidate_targets += additional_targets_in_family
# Check if we want only generic architecture
- if granularity == 'generic':
- candidate_targets = [t for t in candidate_targets if t.vendor == 'generic']
+ if granularity == "generic":
+ candidate_targets = [t for t in candidate_targets if t.vendor == "generic"]
compilers = self.possible_compilers
@@ -1560,9 +1530,7 @@ class SpackSolverSetup(object):
best_targets = set([uarch.family.name])
for compiler in sorted(compilers):
- supported = self._supported_targets(
- compiler.name, compiler.version, candidate_targets
- )
+ supported = self._supported_targets(compiler.name, compiler.version, candidate_targets)
# If we can't find supported targets it may be due to custom
# versions in the spec, e.g. gcc@foo. Try to match the
@@ -1572,9 +1540,7 @@ class SpackSolverSetup(object):
compiler_obj = spack.compilers.compilers_for_spec(compiler)
compiler_obj = compiler_obj[0]
supported = self._supported_targets(
- compiler.name,
- compiler_obj.real_version,
- candidate_targets
+ compiler.name, compiler_obj.real_version, candidate_targets
)
if not supported:
@@ -1582,13 +1548,13 @@ class SpackSolverSetup(object):
for target in supported:
best_targets.add(target.name)
- self.gen.fact(fn.compiler_supports_target(
- compiler.name, compiler.version, target.name
- ))
+ self.gen.fact(
+ fn.compiler_supports_target(compiler.name, compiler.version, target.name)
+ )
- self.gen.fact(fn.compiler_supports_target(
- compiler.name, compiler.version, uarch.family.name
- ))
+ self.gen.fact(
+ fn.compiler_supports_target(compiler.name, compiler.version, uarch.family.name)
+ )
i = 0 # TODO compute per-target offset?
for target in candidate_targets:
@@ -1637,16 +1603,12 @@ class SpackSolverSetup(object):
if strict and s.compiler not in cspecs:
if not s.concrete:
- raise spack.concretize.UnavailableCompilerVersionError(
- s.compiler
- )
+ raise spack.concretize.UnavailableCompilerVersionError(s.compiler)
# Allow unknown compilers to exist if the associated spec
# is already built
else:
cspecs.add(s.compiler)
- self.gen.fact(fn.allow_compiler(
- s.compiler.name, s.compiler.version
- ))
+ self.gen.fact(fn.allow_compiler(s.compiler.name, s.compiler.version))
return cspecs
@@ -1655,8 +1617,7 @@ class SpackSolverSetup(object):
for pkg_name, versions in sorted(self.version_constraints):
# version must be *one* of the ones the spec allows.
allowed_versions = [
- v for v in sorted(self.possible_versions[pkg_name])
- if v.satisfies(versions)
+ v for v in sorted(self.possible_versions[pkg_name]) if v.satisfies(versions)
]
# This is needed to account for a variable number of
@@ -1701,9 +1662,7 @@ class SpackSolverSetup(object):
# that `version_satisfies(Package, Constraint, Version)` has the
# same semantics for virtuals as for regular packages.
for pkg_name, versions in sorted(constraint_map.items()):
- possible_versions = set(
- sum([versions_for(v) for v in versions], [])
- )
+ possible_versions = set(sum([versions_for(v) for v in versions], []))
for version in sorted(possible_versions):
self.possible_versions[pkg_name].add(version)
@@ -1713,20 +1672,21 @@ class SpackSolverSetup(object):
for constraint in sorted(self.compiler_version_constraints):
for compiler in compiler_list:
if compiler.satisfies(constraint):
- self.gen.fact(fn.compiler_version_satisfies(
- constraint.name, constraint.versions, compiler.version
- ))
+ self.gen.fact(
+ fn.compiler_version_satisfies(
+ constraint.name, constraint.versions, compiler.version
+ )
+ )
self.gen.newline()
def define_target_constraints(self):
-
def _all_targets_satisfiying(single_constraint):
allowed_targets = []
- if ':' not in single_constraint:
+ if ":" not in single_constraint:
return [single_constraint]
- t_min, _, t_max = single_constraint.partition(':')
+ t_min, _, t_max = single_constraint.partition(":")
for test_target in archspec.cpu.TARGETS.values():
# Check lower bound
if t_min and not t_min <= test_target:
@@ -1743,11 +1703,9 @@ class SpackSolverSetup(object):
for target_constraint in sorted(self.target_constraints):
# Construct the list of allowed targets for this constraint
allowed_targets = []
- for single_constraint in str(target_constraint).split(','):
+ for single_constraint in str(target_constraint).split(","):
if single_constraint not in cache:
- cache[single_constraint] = _all_targets_satisfiying(
- single_constraint
- )
+ cache[single_constraint] = _all_targets_satisfiying(single_constraint)
allowed_targets.extend(cache[single_constraint])
for target in allowed_targets:
@@ -1790,11 +1748,11 @@ class SpackSolverSetup(object):
# - Add OS to possible OS's
for dep in spec.traverse():
self.possible_versions[dep.name].add(dep.version)
- self.declared_versions[dep.name].append(DeclaredVersion(
- version=dep.version,
- idx=0,
- origin=version_provenance.installed
- ))
+ self.declared_versions[dep.name].append(
+ DeclaredVersion(
+ version=dep.version, idx=0, origin=version_provenance.installed
+ )
+ )
self.possible_oses.add(dep.os)
# add the hash to the one seen so far
@@ -1825,19 +1783,16 @@ class SpackSolverSetup(object):
check_packages_exist(specs)
# get list of all possible dependencies
- self.possible_virtuals = set(
- x.name for x in specs if x.virtual
- )
+ self.possible_virtuals = set(x.name for x in specs if x.virtual)
possible = spack.package_base.possible_dependencies(
- *specs,
- virtuals=self.possible_virtuals,
- deptype=spack.dependency.all_deptypes
+ *specs, virtuals=self.possible_virtuals, deptype=spack.dependency.all_deptypes
)
# Fail if we already know an unreachable node is requested
for spec in specs:
- missing_deps = [str(d) for d in spec.traverse()
- if d.name not in possible and not d.virtual]
+ missing_deps = [
+ str(d) for d in spec.traverse() if d.name not in possible and not d.virtual
+ ]
if missing_deps:
raise spack.spec.InvalidDependencyError(spec.name, missing_deps)
@@ -1862,7 +1817,7 @@ class SpackSolverSetup(object):
for reusable_spec in reuse:
self._facts_from_concrete_spec(reusable_spec, possible)
- self.gen.h1('General Constraints')
+ self.gen.h1("General Constraints")
self.available_compilers()
self.compiler_defaults()
self.compiler_supports_os()
@@ -1877,11 +1832,11 @@ class SpackSolverSetup(object):
self.external_packages()
self.flag_defaults()
- self.gen.h1('Package Constraints')
+ self.gen.h1("Package Constraints")
for pkg in sorted(pkgs):
- self.gen.h2('Package rules: %s' % pkg)
+ self.gen.h2("Package rules: %s" % pkg)
self.pkg_rules(pkg, tests=self.tests)
- self.gen.h2('Package preferences: %s' % pkg)
+ self.gen.h2("Package preferences: %s" % pkg)
self.preferred_variants(pkg)
self.target_preferences(pkg)
@@ -1892,7 +1847,7 @@ class SpackSolverSetup(object):
for dep in spec.traverse():
_develop_specs_from_env(dep, env)
- self.gen.h1('Spec Constraints')
+ self.gen.h1("Spec Constraints")
self.literal_specs(specs)
self.gen.h1("Variant Values defined in specs")
@@ -1912,17 +1867,15 @@ class SpackSolverSetup(object):
def literal_specs(self, specs):
for idx, spec in enumerate(specs):
- self.gen.h2('Spec: %s' % str(spec))
+ self.gen.h2("Spec: %s" % str(spec))
self.gen.fact(fn.literal(idx))
root_fn = fn.virtual_root(spec.name) if spec.virtual else fn.root(spec.name)
self.gen.fact(fn.literal(idx, root_fn.name, *root_fn.args))
for clause in self.spec_clauses(spec):
self.gen.fact(fn.literal(idx, clause.name, *clause.args))
- if clause.name == 'variant_set':
- self.gen.fact(fn.literal(
- idx, "variant_default_value_from_cli", *clause.args
- ))
+ if clause.name == "variant_set":
+ self.gen.fact(fn.literal(idx, "variant_default_value_from_cli", *clause.args))
if self.concretize_everything:
self.gen.fact(fn.concretize_everything())
@@ -1930,6 +1883,7 @@ class SpackSolverSetup(object):
class SpecBuilder(object):
"""Class with actions to rebuild a spec from ASP results."""
+
#: Attributes that don't need actions
ignored_attributes = ["opt_criterion"]
@@ -1978,24 +1932,22 @@ class SpecBuilder(object):
# For variant formatting, we sometimes have to construct specs
# to format values properly. Find/replace all occurances of
# Spec(...) with the string representation of the spec mentioned
- specs_to_construct = re.findall(r'Spec\(([^)]*)\)', msg)
+ specs_to_construct = re.findall(r"Spec\(([^)]*)\)", msg)
for spec_str in specs_to_construct:
- msg = msg.replace('Spec(%s)' % spec_str, str(spack.spec.Spec(spec_str)))
+ msg = msg.replace("Spec(%s)" % spec_str, str(spack.spec.Spec(spec_str)))
raise UnsatisfiableSpecError(msg)
def variant_value(self, pkg, name, value):
# FIXME: is there a way not to special case 'dev_path' everywhere?
- if name == 'dev_path':
+ if name == "dev_path":
self._specs[pkg].variants.setdefault(
- name,
- spack.variant.SingleValuedVariant(name, value)
+ name, spack.variant.SingleValuedVariant(name, value)
)
return
- if name == 'patches':
+ if name == "patches":
self._specs[pkg].variants.setdefault(
- name,
- spack.variant.MultiValuedVariant(name, value)
+ name, spack.variant.MultiValuedVariant(name, value)
)
return
@@ -2008,8 +1960,7 @@ class SpecBuilder(object):
self._specs[pkg].compiler = spack.spec.CompilerSpec(compiler)
def node_compiler_version(self, pkg, compiler, version):
- self._specs[pkg].compiler.versions = spack.version.VersionList(
- [version])
+ self._specs[pkg].compiler.versions = spack.version.VersionList([version])
def node_flag_compiler_default(self, pkg):
self._flag_compiler_defaults.add(pkg)
@@ -2027,23 +1978,20 @@ class SpecBuilder(object):
"""This means that the external spec and index idx
has been selected for this package.
"""
- packages_yaml = spack.config.get('packages')
+ packages_yaml = spack.config.get("packages")
packages_yaml = _normalize_packages_yaml(packages_yaml)
- spec_info = packages_yaml[pkg]['externals'][int(idx)]
- self._specs[pkg].external_path = spec_info.get('prefix', None)
- self._specs[pkg].external_modules = (
- spack.spec.Spec._format_module_list(spec_info.get('modules', None))
- )
- self._specs[pkg].extra_attributes = spec_info.get(
- 'extra_attributes', {}
+ spec_info = packages_yaml[pkg]["externals"][int(idx)]
+ self._specs[pkg].external_path = spec_info.get("prefix", None)
+ self._specs[pkg].external_modules = spack.spec.Spec._format_module_list(
+ spec_info.get("modules", None)
)
+ self._specs[pkg].extra_attributes = spec_info.get("extra_attributes", {})
def depends_on(self, pkg, dep, type):
dependencies = self._specs[pkg].edges_to_dependencies(name=dep)
# TODO: assertion to be removed when cross-compilation is handled correctly
- msg = ("Current solver does not handle multiple dependency edges "
- "of the same name")
+ msg = "Current solver does not handle multiple dependency edges " "of the same name"
assert len(dependencies) < 2, msg
if not dependencies:
@@ -2072,10 +2020,7 @@ class SpecBuilder(object):
spec.compiler_flags.update(compiler_flags)
# index of all specs (and deps) from the command line by name
- cmd_specs = dict(
- (s.name, s)
- for spec in self._command_line_specs
- for s in spec.traverse())
+ cmd_specs = dict((s.name, s) for spec in self._command_line_specs for s in spec.traverse())
# iterate through specs with specified flags
for pkg, sources in self._flag_sources.items():
@@ -2083,13 +2028,10 @@ class SpecBuilder(object):
# order is determined by the DAG. A spec's flags come after
# any from its ancestors on the compile line.
- order = [
- s.name
- for s in spec.traverse(order='post', direction='parents')]
+ order = [s.name for s in spec.traverse(order="post", direction="parents")]
# sort the sources in our DAG order
- sorted_sources = sorted(
- sources, key=lambda s: order.index(s))
+ sorted_sources = sorted(sources, key=lambda s: order.index(s))
# add flags from each source, lowest to highest precedence
flags = collections.defaultdict(lambda: [])
@@ -2108,14 +2050,14 @@ class SpecBuilder(object):
@staticmethod
def sort_fn(function_tuple):
name = function_tuple[0]
- if name == 'error':
+ if name == "error":
priority = function_tuple[1][0]
return (-4, priority)
- elif name == 'hash':
+ elif name == "hash":
return (-3, 0)
- elif name == 'node':
+ elif name == "node":
return (-2, 0)
- elif name == 'node_compiler':
+ elif name == "node_compiler":
return (-1, 0)
else:
return (0, 0)
@@ -2144,7 +2086,7 @@ class SpecBuilder(object):
# ignore predicates on virtual packages, as they're used for
# solving but don't construct anything. Do not ignore error
# predicates on virtual packages.
- if name != 'error':
+ if name != "error":
pkg = args[0]
if spack.repo.path.is_virtual(pkg):
continue
@@ -2206,15 +2148,13 @@ def _develop_specs_from_env(spec, env):
if not dev_info:
return
- path = os.path.normpath(os.path.join(env.path, dev_info['path']))
+ path = os.path.normpath(os.path.join(env.path, dev_info["path"]))
- if 'dev_path' in spec.variants:
- assert spec.variants['dev_path'].value == path
+ if "dev_path" in spec.variants:
+ assert spec.variants["dev_path"].value == path
else:
- spec.variants.setdefault(
- 'dev_path', spack.variant.SingleValuedVariant('dev_path', path)
- )
- spec.constrain(dev_info['spec'])
+ spec.variants.setdefault("dev_path", spack.variant.SingleValuedVariant("dev_path", path))
+ spec.constrain(dev_info["spec"])
class Solver(object):
@@ -2229,6 +2169,7 @@ class Solver(object):
Whether to try to reuse existing installs/binaries
"""
+
def __init__(self):
self.driver = PyclingoDriver()
@@ -2253,17 +2194,18 @@ class Solver(object):
if self.reuse:
# Specs from the local Database
with spack.store.db.read_transaction():
- reusable_specs.extend([
- s for s in spack.store.db.query(installed=True)
- if not s.satisfies('dev_path=*')
- ])
+ reusable_specs.extend(
+ [
+ s
+ for s in spack.store.db.query(installed=True)
+ if not s.satisfies("dev_path=*")
+ ]
+ )
# Specs from buildcaches
try:
index = spack.binary_distribution.update_cache_and_get_specs()
- reusable_specs.extend([
- s for s in index if not s.satisfies('dev_path=*')
- ])
+ reusable_specs.extend([s for s in index if not s.satisfies("dev_path=*")])
except (spack.binary_distribution.FetchCacheError, IndexError):
# this is raised when no mirrors had indices.
@@ -2273,14 +2215,14 @@ class Solver(object):
return reusable_specs
def solve(
- self,
- specs,
- out=None,
- models=0,
- timers=False,
- stats=False,
- tests=False,
- setup_only=False,
+ self,
+ specs,
+ out=None,
+ models=0,
+ timers=False,
+ stats=False,
+ tests=False,
+ setup_only=False,
):
"""
Arguments:
@@ -2310,13 +2252,13 @@ class Solver(object):
)
def solve_in_rounds(
- self,
- specs,
- out=None,
- models=0,
- timers=False,
- stats=False,
- tests=False,
+ self,
+ specs,
+ out=None,
+ models=0,
+ timers=False,
+ stats=False,
+ tests=False,
):
"""Solve for a stable model of specs in multiple rounds.
@@ -2351,7 +2293,7 @@ class Solver(object):
timers=timers,
stats=stats,
out=out,
- setup_only=False
+ setup_only=False,
)
yield result
@@ -2372,6 +2314,7 @@ class UnsatisfiableSpecError(spack.error.UnsatisfiableSpecError):
"""
Subclass for new constructor signature for new concretizer
"""
+
def __init__(self, msg):
super(spack.error.UnsatisfiableSpecError, self).__init__(msg)
self.provided = None
@@ -2383,13 +2326,14 @@ class InternalConcretizerError(spack.error.UnsatisfiableSpecError):
"""
Subclass for new constructor signature for new concretizer
"""
+
def __init__(self, provided, conflicts):
- indented = [' %s\n' % conflict for conflict in conflicts]
- error_msg = ''.join(indented)
- msg = 'Spack concretizer internal error. Please submit a bug report'
- msg += '\n Please include the command, environment if applicable,'
- msg += '\n and the following error message.'
- msg = '\n %s is unsatisfiable, errors are:\n%s' % (provided, error_msg)
+ indented = [" %s\n" % conflict for conflict in conflicts]
+ error_msg = "".join(indented)
+ msg = "Spack concretizer internal error. Please submit a bug report"
+ msg += "\n Please include the command, environment if applicable,"
+ msg += "\n and the following error message."
+ msg = "\n %s is unsatisfiable, errors are:\n%s" % (provided, error_msg)
super(spack.error.UnsatisfiableSpecError, self).__init__(msg)
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index 94559d001c..d1ee8a4325 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -120,75 +120,80 @@ import spack.variant as vt
import spack.version as vn
__all__ = [
- 'CompilerSpec',
- 'Spec',
- 'SpecParser',
- 'parse',
- 'SpecParseError',
- 'DuplicateDependencyError',
- 'DuplicateCompilerSpecError',
- 'UnsupportedCompilerError',
- 'DuplicateArchitectureError',
- 'InconsistentSpecError',
- 'InvalidDependencyError',
- 'NoProviderError',
- 'MultipleProviderError',
- 'UnsatisfiableSpecNameError',
- 'UnsatisfiableVersionSpecError',
- 'UnsatisfiableCompilerSpecError',
- 'UnsatisfiableCompilerFlagSpecError',
- 'UnsatisfiableArchitectureSpecError',
- 'UnsatisfiableProviderSpecError',
- 'UnsatisfiableDependencySpecError',
- 'AmbiguousHashError',
- 'InvalidHashError',
- 'NoSuchHashError',
- 'RedundantSpecError',
- 'SpecDeprecatedError',
+ "CompilerSpec",
+ "Spec",
+ "SpecParser",
+ "parse",
+ "SpecParseError",
+ "DuplicateDependencyError",
+ "DuplicateCompilerSpecError",
+ "UnsupportedCompilerError",
+ "DuplicateArchitectureError",
+ "InconsistentSpecError",
+ "InvalidDependencyError",
+ "NoProviderError",
+ "MultipleProviderError",
+ "UnsatisfiableSpecNameError",
+ "UnsatisfiableVersionSpecError",
+ "UnsatisfiableCompilerSpecError",
+ "UnsatisfiableCompilerFlagSpecError",
+ "UnsatisfiableArchitectureSpecError",
+ "UnsatisfiableProviderSpecError",
+ "UnsatisfiableDependencySpecError",
+ "AmbiguousHashError",
+ "InvalidHashError",
+ "NoSuchHashError",
+ "RedundantSpecError",
+ "SpecDeprecatedError",
]
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
#: Valid pattern for an identifier in Spack
-identifier_re = r'\w[\w-]*'
+identifier_re = r"\w[\w-]*"
-compiler_color = '@g' #: color for highlighting compilers
-version_color = '@c' #: color for highlighting versions
-architecture_color = '@m' #: color for highlighting architectures
-enabled_variant_color = '@B' #: color for highlighting enabled variants
-disabled_variant_color = '@r' #: color for highlighting disabled varaints
-dependency_color = '@.' #: color for highlighting dependencies
-hash_color = '@K' #: color for highlighting package hashes
+compiler_color = "@g" #: color for highlighting compilers
+version_color = "@c" #: color for highlighting versions
+architecture_color = "@m" #: color for highlighting architectures
+enabled_variant_color = "@B" #: color for highlighting enabled variants
+disabled_variant_color = "@r" #: color for highlighting disabled varaints
+dependency_color = "@." #: color for highlighting dependencies
+hash_color = "@K" #: color for highlighting package hashes
#: This map determines the coloring of specs when using color output.
#: We make the fields different colors to enhance readability.
#: See llnl.util.tty.color for descriptions of the color codes.
-color_formats = {'%': compiler_color,
- '@': version_color,
- '=': architecture_color,
- '+': enabled_variant_color,
- '~': disabled_variant_color,
- '^': dependency_color,
- '#': hash_color}
+color_formats = {
+ "%": compiler_color,
+ "@": version_color,
+ "=": architecture_color,
+ "+": enabled_variant_color,
+ "~": disabled_variant_color,
+ "^": dependency_color,
+ "#": hash_color,
+}
#: Regex used for splitting by spec field separators.
#: These need to be escaped to avoid metacharacters in
#: ``color_formats.keys()``.
-_separators = '[\\%s]' % '\\'.join(color_formats.keys())
+_separators = "[\\%s]" % "\\".join(color_formats.keys())
#: Versionlist constant so we don't have to build a list
#: every time we call str()
-_any_version = vn.VersionList([':'])
+_any_version = vn.VersionList([":"])
-default_format = '{name}{@version}'
-default_format += '{%compiler.name}{@compiler.version}{compiler_flags}'
-default_format += '{variants}{arch=architecture}'
+default_format = "{name}{@version}"
+default_format += "{%compiler.name}{@compiler.version}{compiler_flags}"
+default_format += "{variants}{arch=architecture}"
#: Regular expression to pull spec contents out of clearsigned signature
#: file.
CLEARSIGN_FILE_REGEX = re.compile(
- (r"^-----BEGIN PGP SIGNED MESSAGE-----"
- r"\s+Hash:\s+[^\s]+\s+(.+)-----BEGIN PGP SIGNATURE-----"),
- re.MULTILINE | re.DOTALL)
+ (
+ r"^-----BEGIN PGP SIGNED MESSAGE-----"
+ r"\s+Hash:\s+[^\s]+\s+(.+)-----BEGIN PGP SIGNATURE-----"
+ ),
+ re.MULTILINE | re.DOTALL,
+)
#: specfile format version. Must increase monotonically
specfile_format_version = 3
@@ -196,22 +201,22 @@ specfile_format_version = 3
def colorize_spec(spec):
"""Returns a spec colorized according to the colors specified in
- color_formats."""
- class insert_color:
+ color_formats."""
+ class insert_color:
def __init__(self):
self.last = None
def __call__(self, match):
# ignore compiler versions (color same as compiler)
sep = match.group(0)
- if self.last == '%' and sep == '@':
+ if self.last == "%" and sep == "@":
return clr.cescape(sep)
self.last = sep
- return '%s%s' % (color_formats[sep], clr.cescape(sep))
+ return "%s%s" % (color_formats[sep], clr.cescape(sep))
- return clr.colorize(re.sub(_separators, insert_color(), str(spec)) + '@.')
+ return clr.colorize(re.sub(_separators, insert_color(), str(spec)) + "@.")
@lang.lazy_lexicographic_ordering
@@ -219,6 +224,7 @@ class ArchSpec(object):
"""Aggregate the target platform, the operating system and the target
microarchitecture into an architecture spec..
"""
+
@staticmethod
def _return_arch(os_tag, target_tag):
platform = spack.platforms.host()
@@ -230,15 +236,15 @@ class ArchSpec(object):
@staticmethod
def default_arch():
"""Return the default architecture"""
- return ArchSpec._return_arch('default_os', 'default_target')
+ return ArchSpec._return_arch("default_os", "default_target")
@staticmethod
def frontend_arch():
"""Return the frontend architecture"""
- return ArchSpec._return_arch('frontend', 'frontend')
+ return ArchSpec._return_arch("frontend", "frontend")
def __init__(self, spec_or_platform_tuple=(None, None, None)):
- """ Architecture specification a package should be built with.
+ """Architecture specification a package should be built with.
Each ArchSpec is comprised of three elements: a platform (e.g. Linux),
an OS (e.g. RHEL6), and a target (e.g. x86_64).
@@ -252,7 +258,7 @@ class ArchSpec(object):
# If the argument to __init__ is a spec string, parse it
# and construct an ArchSpec
def _string_or_none(s):
- if s and s != 'None':
+ if s and s != "None":
return str(s)
return None
@@ -268,15 +274,11 @@ class ArchSpec(object):
if isinstance(spec_or_platform_tuple, six.string_types):
spec_fields = spec_or_platform_tuple.split("-")
if len(spec_fields) != 3:
- msg = 'cannot construct an ArchSpec from {0!s}'
+ msg = "cannot construct an ArchSpec from {0!s}"
raise ValueError(msg.format(spec_or_platform_tuple))
platform, operating_system, target = spec_fields
- platform_tuple = (
- _string_or_none(platform),
- _string_or_none(operating_system),
- target
- )
+ platform_tuple = (_string_or_none(platform), _string_or_none(operating_system), target)
self.platform, self.os, self.target = platform_tuple
@@ -324,8 +326,9 @@ class ArchSpec(object):
if self.platform != curr_platform:
raise ValueError(
"Can't set arch spec OS to reserved value '%s' when the "
- "arch platform (%s) isn't the current platform (%s)" %
- (value, self.platform, curr_platform))
+ "arch platform (%s) isn't the current platform (%s)"
+ % (value, self.platform, curr_platform)
+ )
spec_platform = spack.platforms.by_name(self.platform)
value = str(spec_platform.operating_system(value))
@@ -348,7 +351,7 @@ class ArchSpec(object):
def target_or_none(t):
if isinstance(t, spack.target.Target):
return t
- if t and t != 'None':
+ if t and t != "None":
return spack.target.Target(t)
return None
@@ -361,8 +364,9 @@ class ArchSpec(object):
if self.platform != curr_platform:
raise ValueError(
"Can't set arch spec target to reserved value '%s' when "
- "the arch platform (%s) isn't the current platform (%s)" %
- (value, self.platform, curr_platform))
+ "the arch platform (%s) isn't the current platform (%s)"
+ % (value, self.platform, curr_platform)
+ )
spec_platform = spack.platforms.by_name(self.platform)
value = spec_platform.target(value)
@@ -384,23 +388,23 @@ class ArchSpec(object):
other = self._autospec(other)
# Check platform and os
- for attribute in ('platform', 'os'):
+ for attribute in ("platform", "os"):
other_attribute = getattr(other, attribute)
self_attribute = getattr(self, attribute)
if strict or self.concrete:
if other_attribute and self_attribute != other_attribute:
return False
else:
- if other_attribute and self_attribute and \
- self_attribute != other_attribute:
+ if other_attribute and self_attribute and self_attribute != other_attribute:
return False
# Check target
return self.target_satisfies(other, strict=strict)
def target_satisfies(self, other, strict):
- need_to_check = bool(other.target) if strict or self.concrete \
- else bool(other.target and self.target)
+ need_to_check = (
+ bool(other.target) if strict or self.concrete else bool(other.target and self.target)
+ )
# If there's no need to check we are fine
if not need_to_check:
@@ -425,7 +429,7 @@ class ArchSpec(object):
# Compute the intersection of every combination of ranges in the lists
results = self.target_intersection(other)
# Do we need to dedupe here?
- self.target = ','.join(results)
+ self.target = ",".join(results)
def target_intersection(self, other):
results = []
@@ -433,10 +437,10 @@ class ArchSpec(object):
if not self.target or not other.target:
return results
- for s_target_range in str(self.target).split(','):
- s_min, s_sep, s_max = s_target_range.partition(':')
- for o_target_range in str(other.target).split(','):
- o_min, o_sep, o_max = o_target_range.partition(':')
+ for s_target_range in str(self.target).split(","):
+ s_min, s_sep, s_max = s_target_range.partition(":")
+ for o_target_range in str(other.target).split(","):
+ o_min, o_sep, o_max = o_target_range.partition(":")
if not s_sep:
# s_target_range is a concrete target
@@ -446,14 +450,12 @@ class ArchSpec(object):
if not o_sep:
if s_min == o_min:
results.append(s_min)
- elif (not o_min or s_comp >= o_min) and (
- not o_max or s_comp <= o_max):
+ elif (not o_min or s_comp >= o_min) and (not o_max or s_comp <= o_max):
results.append(s_min)
elif not o_sep:
# "cast" to microarchitecture
o_comp = spack.target.Target(o_min).microarchitecture
- if (not s_min or o_comp >= s_min) and (
- not s_max or o_comp <= s_max):
+ if (not s_min or o_comp >= s_min) and (not s_max or o_comp <= s_max):
results.append(o_min)
else:
# Take intersection of two ranges
@@ -470,7 +472,7 @@ class ArchSpec(object):
if _n_min == _n_max:
results.append(n_min)
elif not n_min or not n_max or _n_min < _n_max:
- results.append('%s:%s' % (n_min, n_max))
+ results.append("%s:%s" % (n_min, n_max))
return results
def constrain(self, other):
@@ -492,7 +494,7 @@ class ArchSpec(object):
raise UnsatisfiableArchitectureSpecError(other, self)
constrained = False
- for attr in ('platform', 'os'):
+ for attr in ("platform", "os"):
svalue, ovalue = getattr(self, attr), getattr(other, attr)
if svalue is None and ovalue is not None:
setattr(self, attr, ovalue)
@@ -510,33 +512,35 @@ class ArchSpec(object):
def concrete(self):
"""True if the spec is concrete, False otherwise"""
# return all(v for k, v in six.iteritems(self.to_cmp_dict()))
- return (self.platform and self.os and self.target and
- self.target_concrete)
+ return self.platform and self.os and self.target and self.target_concrete
@property
def target_concrete(self):
"""True if the target is not a range or list."""
- return ':' not in str(self.target) and ',' not in str(self.target)
+ return ":" not in str(self.target) and "," not in str(self.target)
def to_dict(self):
- d = syaml.syaml_dict([
- ('platform', self.platform),
- ('platform_os', self.os),
- ('target', self.target.to_dict_or_value())])
- return syaml.syaml_dict([('arch', d)])
+ d = syaml.syaml_dict(
+ [
+ ("platform", self.platform),
+ ("platform_os", self.os),
+ ("target", self.target.to_dict_or_value()),
+ ]
+ )
+ return syaml.syaml_dict([("arch", d)])
@staticmethod
def from_dict(d):
"""Import an ArchSpec from raw YAML/JSON data"""
- arch = d['arch']
- target = spack.target.Target.from_dict_or_value(arch['target'])
- return ArchSpec((arch['platform'], arch['platform_os'], target))
+ arch = d["arch"]
+ target = spack.target.Target.from_dict_or_value(arch["target"])
+ return ArchSpec((arch["platform"], arch["platform_os"], target))
def __str__(self):
return "%s-%s-%s" % (self.platform, self.os, self.target)
def __repr__(self):
- fmt = 'ArchSpec(({0.platform!r}, {0.os!r}, {1!r}))'
+ fmt = "ArchSpec(({0.platform!r}, {0.os!r}, {1!r}))"
return fmt.format(self, str(self.target))
def __contains__(self, string):
@@ -546,8 +550,8 @@ class ArchSpec(object):
@lang.lazy_lexicographic_ordering
class CompilerSpec(object):
"""The CompilerSpec field represents the compiler or range of compiler
- versions that a package should be built with. CompilerSpecs have a
- name and a version list. """
+ versions that a package should be built with. CompilerSpecs have a
+ name and a version list."""
def __init__(self, *args):
nargs = len(args)
@@ -566,8 +570,9 @@ class CompilerSpec(object):
else:
raise TypeError(
- "Can only build CompilerSpec from string or " +
- "CompilerSpec. Found %s" % type(arg))
+ "Can only build CompilerSpec from string or "
+ + "CompilerSpec. Found %s" % type(arg)
+ )
elif nargs == 2:
name, version = args
@@ -576,17 +581,16 @@ class CompilerSpec(object):
self.versions.add(vn.ver(version))
else:
- raise TypeError(
- "__init__ takes 1 or 2 arguments. (%d given)" % nargs)
+ raise TypeError("__init__ takes 1 or 2 arguments. (%d given)" % nargs)
def _add_versions(self, version_list):
# If it already has a non-trivial version list, this is an error
- if self.versions and self.versions != vn.VersionList(':'):
+ if self.versions and self.versions != vn.VersionList(":"):
# Note: This may be impossible to reach by the current parser
# Keeping it in case the implementation changes.
raise MultipleVersionError(
- 'A spec cannot contain multiple version signifiers.'
- ' Use a version list instead.')
+ "A spec cannot contain multiple version signifiers." " Use a version list instead."
+ )
self.versions = vn.VersionList()
for version in version_list:
self.versions.add(version)
@@ -598,8 +602,7 @@ class CompilerSpec(object):
def satisfies(self, other, strict=False):
other = self._autospec(other)
- return (self.name == other.name and
- self.versions.satisfies(other.versions, strict=strict))
+ return self.name == other.name and self.versions.satisfies(other.versions, strict=strict)
def constrain(self, other):
"""Intersect self's versions with other.
@@ -617,7 +620,7 @@ class CompilerSpec(object):
@property
def concrete(self):
"""A CompilerSpec is concrete if its versions are concrete and there
- is an available compiler with the right version."""
+ is an available compiler with the right version."""
return self.versions.concrete
@property
@@ -637,15 +640,15 @@ class CompilerSpec(object):
yield self.versions
def to_dict(self):
- d = syaml.syaml_dict([('name', self.name)])
+ d = syaml.syaml_dict([("name", self.name)])
d.update(self.versions.to_dict())
- return syaml.syaml_dict([('compiler', d)])
+ return syaml.syaml_dict([("compiler", d)])
@staticmethod
def from_dict(d):
- d = d['compiler']
- return CompilerSpec(d['name'], vn.VersionList.from_dict(d))
+ d = d["compiler"]
+ return CompilerSpec(d["name"], vn.VersionList.from_dict(d))
def __str__(self):
out = self.name
@@ -692,9 +695,7 @@ class DependencySpec(object):
return DependencySpec(self.parent, self.spec, self.deptypes)
def add_type(self, type):
- self.deptypes = dp.canonical_deptype(
- self.deptypes + dp.canonical_deptype(type)
- )
+ self.deptypes = dp.canonical_deptype(self.deptypes + dp.canonical_deptype(type))
def _cmp_iter(self):
yield self.parent.name if self.parent else None
@@ -702,31 +703,31 @@ class DependencySpec(object):
yield self.deptypes
def __str__(self):
- return "%s %s--> %s" % (self.parent.name if self.parent else None,
- self.deptypes,
- self.spec.name if self.spec else None)
+ return "%s %s--> %s" % (
+ self.parent.name if self.parent else None,
+ self.deptypes,
+ self.spec.name if self.spec else None,
+ )
def canonical(self):
return self.parent.dag_hash(), self.spec.dag_hash(), self.deptypes
-_valid_compiler_flags = [
- 'cflags', 'cxxflags', 'fflags', 'ldflags', 'ldlibs', 'cppflags']
+_valid_compiler_flags = ["cflags", "cxxflags", "fflags", "ldflags", "ldlibs", "cppflags"]
class FlagMap(lang.HashableMap):
-
def __init__(self, spec):
super(FlagMap, self).__init__()
self.spec = spec
def satisfies(self, other, strict=False):
if strict or (self.spec and self.spec._concrete):
- return all(f in self and set(self[f]) == set(other[f])
- for f in other)
+ return all(f in self and set(self[f]) == set(other[f]) for f in other)
else:
- return all(set(self[f]) == set(other[f])
- for f in other if (other[f] != [] and f in self))
+ return all(
+ set(self[f]) == set(other[f]) for f in other if (other[f] != [] and f in self)
+ )
def constrain(self, other):
"""Add all flags in other that aren't in self to self.
@@ -736,15 +737,14 @@ class FlagMap(lang.HashableMap):
if other.spec and other.spec._concrete:
for k in self:
if k not in other:
- raise UnsatisfiableCompilerFlagSpecError(
- self[k], '<absent>')
+ raise UnsatisfiableCompilerFlagSpecError(self[k], "<absent>")
changed = False
for k in other:
if k in self and not set(self[k]) <= set(other[k]):
raise UnsatisfiableCompilerFlagSpecError(
- ' '.join(f for f in self[k]),
- ' '.join(f for f in other[k]))
+ " ".join(f for f in self[k]), " ".join(f for f in other[k])
+ )
elif k not in self:
self[k] = other[k]
changed = True
@@ -772,11 +772,14 @@ class FlagMap(lang.HashableMap):
def __str__(self):
sorted_keys = [k for k in sorted(self.keys()) if self[k] != []]
- cond_symbol = ' ' if len(sorted_keys) > 0 else ''
- return cond_symbol + ' '.join(
- str(key) + '=\"' + ' '.join(
- str(f) for f in self[key]) + '\"'
- for key in sorted_keys) + cond_symbol
+ cond_symbol = " " if len(sorted_keys) > 0 else ""
+ return (
+ cond_symbol
+ + " ".join(
+ str(key) + '="' + " ".join(str(f) for f in self[key]) + '"' for key in sorted_keys
+ )
+ + cond_symbol
+ )
def _sort_by_dep_types(dspec):
@@ -798,6 +801,7 @@ class _EdgeMap(Mapping):
Edges are stored in a dictionary and keyed by package name.
"""
+
def __init__(self, store_by=EdgeDirection.child):
# Sanitize input arguments
msg = 'unexpected value for "store_by" argument'
@@ -806,7 +810,7 @@ class _EdgeMap(Mapping):
#: This dictionary maps a package name to a list of edges
#: i.e. to a list of DependencySpec objects
self.edges = {}
- self.store_by_child = (store_by == EdgeDirection.child)
+ self.store_by_child = store_by == EdgeDirection.child
def __getitem__(self, key):
return self.edges[key]
@@ -829,7 +833,7 @@ class _EdgeMap(Mapping):
current_list.sort(key=_sort_by_dep_types)
def __str__(self):
- return "{deps: %s}" % ', '.join(str(d) for d in sorted(self.values()))
+ return "{deps: %s}" % ", ".join(str(d) for d in sorted(self.values()))
def _cmp_iter(self):
for item in sorted(itertools.chain.from_iterable(self.edges.values())):
@@ -882,9 +886,9 @@ class _EdgeMap(Mapping):
# Filter by allowed dependency types
if deptypes:
selected = (
- dep for dep in selected
- if not dep.deptypes or
- any(d in deptypes for d in dep.deptypes)
+ dep
+ for dep in selected
+ if not dep.deptypes or any(d in deptypes for d in dep.deptypes)
)
return list(selected)
@@ -910,13 +914,13 @@ def _command_default_handler(descriptor, spec, cls):
Raises:
RuntimeError: If the command is not found
"""
- home = getattr(spec.package, 'home')
+ home = getattr(spec.package, "home")
path = os.path.join(home.bin, spec.name)
if fs.is_exe(path):
return spack.util.executable.Executable(path)
else:
- msg = 'Unable to locate {0} command in {1}'
+ msg = "Unable to locate {0} command in {1}"
raise RuntimeError(msg.format(spec.name, home.bin))
@@ -938,15 +942,14 @@ def _headers_default_handler(descriptor, spec, cls):
Raises:
NoHeadersError: If no headers are found
"""
- home = getattr(spec.package, 'home')
- headers = fs.find_headers('*', root=home.include, recursive=True)
+ home = getattr(spec.package, "home")
+ headers = fs.find_headers("*", root=home.include, recursive=True)
if headers:
return headers
else:
- msg = 'Unable to locate {0} headers in {1}'
- raise spack.error.NoHeadersError(
- msg.format(spec.name, home))
+ msg = "Unable to locate {0} headers in {1}"
+ raise spack.error.NoHeadersError(msg.format(spec.name, home))
def _libs_default_handler(descriptor, spec, cls):
@@ -979,25 +982,25 @@ def _libs_default_handler(descriptor, spec, cls):
# depending on which one exists (there is a possibility, of course, to
# get something like 'libabcXabc.so, but for now we consider this
# unlikely).
- name = spec.name.replace('-', '?')
- home = getattr(spec.package, 'home')
+ name = spec.name.replace("-", "?")
+ home = getattr(spec.package, "home")
# Avoid double 'lib' for packages whose names already start with lib
- if not name.startswith('lib'):
- name = 'lib' + name
+ if not name.startswith("lib"):
+ name = "lib" + name
# If '+shared' search only for shared library; if '~shared' search only for
# static library; otherwise, first search for shared and then for static.
- search_shared = [True] if ('+shared' in spec) else \
- ([False] if ('~shared' in spec) else [True, False])
+ search_shared = (
+ [True] if ("+shared" in spec) else ([False] if ("~shared" in spec) else [True, False])
+ )
for shared in search_shared:
- libs = fs.find_libraries(
- name, home, shared=shared, recursive=True)
+ libs = fs.find_libraries(name, home, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {0} libraries in {1}'
+ msg = "Unable to recursively locate {0} libraries in {1}"
raise spack.error.NoLibrariesError(msg.format(spec.name, home))
@@ -1051,9 +1054,7 @@ class ForwardQueryToPackage(object):
callbacks_chain = []
# First in the chain : specialized attribute for virtual packages
if query.isvirtual:
- specialized_name = '{0}_{1}'.format(
- query.name, self.attribute_name
- )
+ specialized_name = "{0}_{1}".format(query.name, self.attribute_name)
callbacks_chain.append(lambda: getattr(pkg, specialized_name))
# Try to get the generic method from Package
callbacks_chain.append(lambda: getattr(pkg, self.attribute_name))
@@ -1071,14 +1072,17 @@ class ForwardQueryToPackage(object):
# A callback can return None to trigger an error indicating
# that the query failed.
if value is None:
- msg = "Query of package '{name}' for '{attrib}' failed\n"
+ msg = "Query of package '{name}' for '{attrib}' failed\n"
msg += "\tprefix : {spec.prefix}\n"
msg += "\tspec : {spec}\n"
msg += "\tqueried as : {query.name}\n"
msg += "\textra parameters : {query.extra_parameters}"
message = msg.format(
- name=pkg.name, attrib=self.attribute_name,
- spec=instance, query=instance.last_query)
+ name=pkg.name,
+ attrib=self.attribute_name,
+ spec=instance,
+ query=instance.last_query,
+ )
else:
return value
break
@@ -1095,15 +1099,11 @@ class ForwardQueryToPackage(object):
# properties defined and no default handler, or that all callbacks
# raised AttributeError. In this case, we raise AttributeError with an
# appropriate message.
- fmt = '\'{name}\' package has no relevant attribute \'{query}\'\n'
- fmt += '\tspec : \'{spec}\'\n'
- fmt += '\tqueried as : \'{spec.last_query.name}\'\n'
- fmt += '\textra parameters : \'{spec.last_query.extra_parameters}\'\n'
- message = fmt.format(
- name=pkg.name,
- query=self.attribute_name,
- spec=instance
- )
+ fmt = "'{name}' package has no relevant attribute '{query}'\n"
+ fmt += "\tspec : '{spec}'\n"
+ fmt += "\tqueried as : '{spec.last_query.name}'\n"
+ fmt += "\textra parameters : '{spec.last_query.extra_parameters}'\n"
+ message = fmt.format(name=pkg.name, query=self.attribute_name, spec=instance)
raise AttributeError(message)
def __set__(self, instance, value):
@@ -1113,42 +1113,29 @@ class ForwardQueryToPackage(object):
# Represents a query state in a BuildInterface object
-QueryState = collections.namedtuple(
- 'QueryState', ['name', 'extra_parameters', 'isvirtual']
-)
+QueryState = collections.namedtuple("QueryState", ["name", "extra_parameters", "isvirtual"])
class SpecBuildInterface(lang.ObjectWrapper):
# home is available in the base Package so no default is needed
- home = ForwardQueryToPackage('home', default_handler=None)
+ home = ForwardQueryToPackage("home", default_handler=None)
- command = ForwardQueryToPackage(
- 'command',
- default_handler=_command_default_handler
- )
+ command = ForwardQueryToPackage("command", default_handler=_command_default_handler)
- headers = ForwardQueryToPackage(
- 'headers',
- default_handler=_headers_default_handler
- )
+ headers = ForwardQueryToPackage("headers", default_handler=_headers_default_handler)
- libs = ForwardQueryToPackage(
- 'libs',
- default_handler=_libs_default_handler
- )
+ libs = ForwardQueryToPackage("libs", default_handler=_libs_default_handler)
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
- original_spec = getattr(spec, 'wrapped_obj', spec)
+ original_spec = getattr(spec, "wrapped_obj", spec)
self.wrapped_obj = original_spec
self.token = original_spec, name, query_parameters
is_virtual = spack.repo.path.is_virtual(name)
self.last_query = QueryState(
- name=name,
- extra_parameters=query_parameters,
- isvirtual=is_virtual
+ name=name, extra_parameters=query_parameters, isvirtual=is_virtual
)
def __reduce__(self):
@@ -1171,8 +1158,14 @@ class Spec(object):
s.architecture = ArchSpec.default_arch()
return s
- def __init__(self, spec_like=None, normal=False,
- concrete=False, external_path=None, external_modules=None):
+ def __init__(
+ self,
+ spec_like=None,
+ normal=False,
+ concrete=False,
+ external_path=None,
+ external_modules=None,
+ ):
"""Create a new Spec.
Arguments:
@@ -1195,7 +1188,7 @@ class Spec(object):
# init an empty spec that matches anything.
self.name = None
- self.versions = vn.VersionList(':')
+ self.versions = vn.VersionList(":")
self.variants = vt.VariantMap(self)
self.architecture = None
self.compiler = None
@@ -1277,7 +1270,7 @@ class Spec(object):
self._dependencies.clear()
self._dependents.clear()
- def detach(self, deptype='all'):
+ def detach(self, deptype="all"):
"""Remove any reference that dependencies have of this node.
Args:
@@ -1309,7 +1302,7 @@ class Spec(object):
raise spack.error.SpecError(err_msg.format(name, len(deps)))
return deps[0]
- def edges_from_dependents(self, name=None, deptype='all'):
+ def edges_from_dependents(self, name=None, deptype="all"):
"""Return a list of edges connecting this node in the DAG
to parents.
@@ -1318,12 +1311,9 @@ class Spec(object):
deptype (str or tuple): allowed dependency types
"""
deptype = dp.canonical_deptype(deptype)
- return [
- d for d in
- self._dependents.select(parent=name, deptypes=deptype)
- ]
+ return [d for d in self._dependents.select(parent=name, deptypes=deptype)]
- def edges_to_dependencies(self, name=None, deptype='all'):
+ def edges_to_dependencies(self, name=None, deptype="all"):
"""Return a list of edges connecting this node in the DAG
to children.
@@ -1332,12 +1322,9 @@ class Spec(object):
deptype (str or tuple): allowed dependency types
"""
deptype = dp.canonical_deptype(deptype)
- return [
- d for d in
- self._dependencies.select(child=name, deptypes=deptype)
- ]
+ return [d for d in self._dependencies.select(child=name, deptypes=deptype)]
- def dependencies(self, name=None, deptype='all'):
+ def dependencies(self, name=None, deptype="all"):
"""Return a list of direct dependencies (nodes in the DAG).
Args:
@@ -1346,7 +1333,7 @@ class Spec(object):
"""
return [d.spec for d in self.edges_to_dependencies(name, deptype=deptype)]
- def dependents(self, name=None, deptype='all'):
+ def dependents(self, name=None, deptype="all"):
"""Return a list of direct dependents (nodes in the DAG).
Args:
@@ -1355,7 +1342,7 @@ class Spec(object):
"""
return [d.parent for d in self.edges_from_dependents(name, deptype=deptype)]
- def _dependencies_dict(self, deptype='all'):
+ def _dependencies_dict(self, deptype="all"):
"""Return a dictionary, keyed by package name, of the direct
dependencies.
@@ -1369,9 +1356,7 @@ class Spec(object):
deptype = dp.canonical_deptype(deptype)
selected_edges = self._dependencies.select(deptypes=deptype)
result = {}
- for key, group in itertools.groupby(
- sorted(selected_edges, key=_sort_fn), key=_group_fn
- ):
+ for key, group in itertools.groupby(sorted(selected_edges, key=_sort_fn), key=_group_fn):
result[key] = list(group)
return result
@@ -1381,10 +1366,10 @@ class Spec(object):
def _add_versions(self, version_list):
"""Called by the parser to add an allowable version."""
# If it already has a non-trivial version list, this is an error
- if self.versions and self.versions != vn.VersionList(':'):
+ if self.versions and self.versions != vn.VersionList(":"):
raise MultipleVersionError(
- 'A spec cannot contain multiple version signifiers.'
- ' Use a version list instead.')
+ "A spec cannot contain multiple version signifiers." " Use a version list instead."
+ )
self.versions = vn.VersionList()
for version in version_list:
self.versions.add(version)
@@ -1394,47 +1379,48 @@ class Spec(object):
Known flags currently include "arch"
"""
valid_flags = FlagMap.valid_compiler_flags()
- if name == 'arch' or name == 'architecture':
- parts = tuple(value.split('-'))
+ if name == "arch" or name == "architecture":
+ parts = tuple(value.split("-"))
plat, os, tgt = parts if len(parts) == 3 else (None, None, value)
self._set_architecture(platform=plat, os=os, target=tgt)
- elif name == 'platform':
+ elif name == "platform":
self._set_architecture(platform=value)
- elif name == 'os' or name == 'operating_system':
+ elif name == "os" or name == "operating_system":
self._set_architecture(os=value)
- elif name == 'target':
+ elif name == "target":
self._set_architecture(target=value)
elif name in valid_flags:
- assert(self.compiler_flags is not None)
+ assert self.compiler_flags is not None
self.compiler_flags[name] = spack.compiler.tokenize_flags(value)
else:
# FIXME:
# All other flags represent variants. 'foo=true' and 'foo=false'
# map to '+foo' and '~foo' respectively. As such they need a
# BoolValuedVariant instance.
- if str(value).upper() == 'TRUE' or str(value).upper() == 'FALSE':
+ if str(value).upper() == "TRUE" or str(value).upper() == "FALSE":
self.variants[name] = vt.BoolValuedVariant(name, value)
else:
self.variants[name] = vt.AbstractVariant(name, value)
def _set_architecture(self, **kwargs):
"""Called by the parser to set the architecture."""
- arch_attrs = ['platform', 'os', 'target']
+ arch_attrs = ["platform", "os", "target"]
if self.architecture and self.architecture.concrete:
raise DuplicateArchitectureError(
- "Spec for '%s' cannot have two architectures." % self.name)
+ "Spec for '%s' cannot have two architectures." % self.name
+ )
if not self.architecture:
new_vals = tuple(kwargs.get(arg, None) for arg in arch_attrs)
self.architecture = ArchSpec(new_vals)
else:
- new_attrvals = [(a, v) for a, v in six.iteritems(kwargs)
- if a in arch_attrs]
+ new_attrvals = [(a, v) for a, v in six.iteritems(kwargs) if a in arch_attrs]
for new_attr, new_value in new_attrvals:
if getattr(self.architecture, new_attr):
raise DuplicateArchitectureError(
"Spec for '%s' cannot have two '%s' specified "
- "for its architecture" % (self.name, new_attr))
+ "for its architecture" % (self.name, new_attr)
+ )
else:
setattr(self.architecture, new_attr, new_value)
@@ -1442,14 +1428,14 @@ class Spec(object):
"""Called by the parser to set the compiler."""
if self.compiler:
raise DuplicateCompilerSpecError(
- "Spec for '%s' cannot have two compilers." % self.name)
+ "Spec for '%s' cannot have two compilers." % self.name
+ )
self.compiler = compiler
def _add_dependency(self, spec, deptypes):
"""Called by the parser to add another spec as a dependency."""
if spec.name in self._dependencies:
- raise DuplicateDependencyError(
- "Cannot depend on '%s' twice" % spec)
+ raise DuplicateDependencyError("Cannot depend on '%s' twice" % spec)
self.add_dependency_edge(spec, deptypes)
@@ -1466,8 +1452,10 @@ class Spec(object):
selected = self._dependencies.select(child=dependency_spec.name)
for edge in selected:
if any(d in edge.deptypes for d in deptype):
- msg = ('cannot add a dependency on "{0.spec}" of {1} type '
- 'when the "{0.parent}" has the edge {0!s} already')
+ msg = (
+ 'cannot add a dependency on "{0.spec}" of {1} type '
+ 'when the "{0.parent}" has the edge {0!s} already'
+ )
raise spack.error.SpecError(msg.format(edge, deptype))
for edge in selected:
@@ -1499,8 +1487,10 @@ class Spec(object):
@property
def fullname(self):
return (
- ('%s.%s' % (self.namespace, self.name)) if self.namespace else
- (self.name if self.name else ''))
+ ("%s.%s" % (self.namespace, self.name))
+ if self.namespace
+ else (self.name if self.name else "")
+ )
@property
def root(self):
@@ -1525,7 +1515,7 @@ class Spec(object):
@property
def package_class(self):
"""Internal package call gets only the class object for a package.
- Use this to just get package metadata.
+ Use this to just get package metadata.
"""
return spack.repo.path.get_pkg_class(self.fullname)
@@ -1533,10 +1523,10 @@ class Spec(object):
def virtual(self):
"""Right now, a spec is virtual if no package exists with its name.
- TODO: revisit this -- might need to use a separate namespace and
- be more explicit about this.
- Possible idea: just use conventin and make virtual deps all
- caps, e.g., MPI vs mpi.
+ TODO: revisit this -- might need to use a separate namespace and
+ be more explicit about this.
+ Possible idea: just use conventin and make virtual deps all
+ caps, e.g., MPI vs mpi.
"""
# This method can be called while regenerating the provider index
# So we turn off using the index to detect virtuals
@@ -1596,11 +1586,11 @@ class Spec(object):
return upstream
def traverse(self, **kwargs):
- direction = kwargs.get('direction', 'children')
- depth = kwargs.get('depth', False)
+ direction = kwargs.get("direction", "children")
+ depth = kwargs.get("depth", False)
get_spec = lambda s: s.spec
- if direction == 'parents':
+ if direction == "parents":
get_spec = lambda s: s.parent
if depth:
@@ -1610,66 +1600,65 @@ class Spec(object):
for dspec in self.traverse_edges(**kwargs):
yield get_spec(dspec)
- def traverse_edges(self, visited=None, d=0, deptype='all',
- dep_spec=None, **kwargs):
+ def traverse_edges(self, visited=None, d=0, deptype="all", dep_spec=None, **kwargs):
"""Generic traversal of the DAG represented by this spec.
- This yields ``DependencySpec`` objects as they are traversed.
+ This yields ``DependencySpec`` objects as they are traversed.
- When traversing top-down, an imaginary incoming edge to the root
- is yielded first as ``DependencySpec(None, root, ())``. When
- traversing bottom-up, imaginary edges to leaves are yielded first
- as ``DependencySpec(left, None, ())`` objects.
+ When traversing top-down, an imaginary incoming edge to the root
+ is yielded first as ``DependencySpec(None, root, ())``. When
+ traversing bottom-up, imaginary edges to leaves are yielded first
+ as ``DependencySpec(left, None, ())`` objects.
- Options:
+ Options:
- order [=pre|post]
- Order to traverse spec nodes. Defaults to preorder traversal.
- Options are:
+ order [=pre|post]
+ Order to traverse spec nodes. Defaults to preorder traversal.
+ Options are:
- 'pre': Pre-order traversal; each node is yielded before its
- children in the dependency DAG.
- 'post': Post-order traversal; each node is yielded after its
- children in the dependency DAG.
+ 'pre': Pre-order traversal; each node is yielded before its
+ children in the dependency DAG.
+ 'post': Post-order traversal; each node is yielded after its
+ children in the dependency DAG.
- cover [=nodes|edges|paths]
- Determines how extensively to cover the dag. Possible values:
+ cover [=nodes|edges|paths]
+ Determines how extensively to cover the dag. Possible values:
- 'nodes': Visit each node in the dag only once. Every node
- yielded by this function will be unique.
- 'edges': If a node has been visited once but is reached along a
- new path from the root, yield it but do not descend
- into it. This traverses each 'edge' in the DAG once.
- 'paths': Explore every unique path reachable from the root.
- This descends into visited subtrees and will yield
- nodes twice if they're reachable by multiple paths.
+ 'nodes': Visit each node in the dag only once. Every node
+ yielded by this function will be unique.
+ 'edges': If a node has been visited once but is reached along a
+ new path from the root, yield it but do not descend
+ into it. This traverses each 'edge' in the DAG once.
+ 'paths': Explore every unique path reachable from the root.
+ This descends into visited subtrees and will yield
+ nodes twice if they're reachable by multiple paths.
- depth [=False]
- Defaults to False. When True, yields not just nodes in the
- spec, but also their depth from the root in a (depth, node)
- tuple.
+ depth [=False]
+ Defaults to False. When True, yields not just nodes in the
+ spec, but also their depth from the root in a (depth, node)
+ tuple.
- key [=id]
- Allow a custom key function to track the identity of nodes
- in the traversal.
+ key [=id]
+ Allow a custom key function to track the identity of nodes
+ in the traversal.
- root [=True]
- If False, this won't yield the root node, just its descendents.
+ root [=True]
+ If False, this won't yield the root node, just its descendents.
- direction [=children|parents]
- If 'children', does a traversal of this spec's children. If
- 'parents', traverses upwards in the DAG towards the root.
+ direction [=children|parents]
+ If 'children', does a traversal of this spec's children. If
+ 'parents', traverses upwards in the DAG towards the root.
"""
# get initial values for kwargs
- depth = kwargs.get('depth', False)
- key_fun = kwargs.get('key', id)
+ depth = kwargs.get("depth", False)
+ key_fun = kwargs.get("key", id)
if isinstance(key_fun, six.string_types):
key_fun = operator.attrgetter(key_fun)
- yield_root = kwargs.get('root', True)
- cover = kwargs.get('cover', 'nodes')
- direction = kwargs.get('direction', 'children')
- order = kwargs.get('order', 'pre')
+ yield_root = kwargs.get("root", True)
+ cover = kwargs.get("cover", "nodes")
+ direction = kwargs.get("direction", "children")
+ order = kwargs.get("order", "pre")
# we don't want to run canonical_deptype every time through
# traverse, because it is somewhat expensive. This ensures we
@@ -1684,24 +1673,27 @@ class Spec(object):
# Make sure kwargs have legal values; raise ValueError if not.
def validate(name, val, allowed_values):
if val not in allowed_values:
- raise ValueError("Invalid value for %s: %s. Choices are %s"
- % (name, val, ",".join(allowed_values)))
- validate('cover', cover, ('nodes', 'edges', 'paths'))
- validate('direction', direction, ('children', 'parents'))
- validate('order', order, ('pre', 'post'))
+ raise ValueError(
+ "Invalid value for %s: %s. Choices are %s"
+ % (name, val, ",".join(allowed_values))
+ )
+
+ validate("cover", cover, ("nodes", "edges", "paths"))
+ validate("direction", direction, ("children", "parents"))
+ validate("order", order, ("pre", "post"))
if visited is None:
visited = set()
key = key_fun(self)
# Node traversal does not yield visited nodes.
- if key in visited and cover == 'nodes':
+ if key in visited and cover == "nodes":
return
def return_val(dspec):
if not dspec:
# make a fake dspec for the root.
- if direction == 'parents':
+ if direction == "parents":
dspec = DependencySpec(self, None, ())
else:
dspec = DependencySpec(None, self, ())
@@ -1710,52 +1702,50 @@ class Spec(object):
yield_me = yield_root or d > 0
# Preorder traversal yields before successors
- if yield_me and order == 'pre':
+ if yield_me and order == "pre":
yield return_val(dep_spec)
# Edge traversal yields but skips children of visited nodes
- if not (key in visited and cover == 'edges'):
+ if not (key in visited and cover == "edges"):
visited.add(key)
# This code determines direction and yields the children/parents
- if direction == 'children':
+ if direction == "children":
edges = self.edges_to_dependencies
key_fn = lambda dspec: dspec.spec.name
succ = lambda dspec: dspec.spec
- elif direction == 'parents':
+ elif direction == "parents":
edges = self.edges_from_dependents
key_fn = lambda dspec: dspec.parent.name
succ = lambda dspec: dspec.parent
else:
- raise ValueError('Invalid traversal direction: %s' % direction)
+ raise ValueError("Invalid traversal direction: %s" % direction)
for dspec in sorted(edges(), key=key_fn):
dt = dspec.deptypes
if dt and not any(d in deptype for d in dt):
continue
- for child in succ(dspec).traverse_edges(
- visited, d + 1, deptype, dspec, **kwargs
- ):
+ for child in succ(dspec).traverse_edges(visited, d + 1, deptype, dspec, **kwargs):
yield child
# Postorder traversal yields after successors
- if yield_me and order == 'post':
+ if yield_me and order == "post":
yield return_val(dep_spec)
@property
def short_spec(self):
"""Returns a version of the spec with the dependencies hashed
- instead of completely enumerated."""
- spec_format = '{name}{@version}{%compiler}'
- spec_format += '{variants}{arch=architecture}{/hash:7}'
+ instead of completely enumerated."""
+ spec_format = "{name}{@version}{%compiler}"
+ spec_format += "{variants}{arch=architecture}{/hash:7}"
return self.format(spec_format)
@property
def cshort_spec(self):
"""Returns an auto-colorized version of ``self.short_spec``."""
- spec_format = '{name}{@version}{%compiler}'
- spec_format += '{variants}{arch=architecture}{/hash:7}'
+ spec_format = "{name}{@version}{%compiler}"
+ spec_format += "{variants}{arch=architecture}{/hash:7}"
return self.cformat(spec_format)
@property
@@ -1764,8 +1754,7 @@ class Spec(object):
raise spack.error.SpecError("Spec is not concrete: " + str(self))
if self._prefix is None:
- upstream, record = spack.store.db.query_by_spec_hash(
- self.dag_hash())
+ upstream, record = spack.store.db.query_by_spec_hash(self.dag_hash())
if record and record.path:
self.prefix = record.path
else:
@@ -1904,10 +1893,10 @@ class Spec(object):
Arguments:
hash (spack.hash_types.SpecHashDescriptor) type of hash to generate.
- """
+ """
d = syaml.syaml_dict()
- d['name'] = self.name
+ d["name"] = self.name
if self.versions:
d.update(self.versions.to_dict())
@@ -1919,32 +1908,30 @@ class Spec(object):
d.update(self.compiler.to_dict())
if self.namespace:
- d['namespace'] = self.namespace
+ d["namespace"] = self.namespace
- params = syaml.syaml_dict(
- sorted(
- v.yaml_entry() for _, v in self.variants.items()
- )
- )
+ params = syaml.syaml_dict(sorted(v.yaml_entry() for _, v in self.variants.items()))
params.update(sorted(self.compiler_flags.items()))
if params:
- d['parameters'] = params
+ d["parameters"] = params
if self.external:
- d['external'] = syaml.syaml_dict([
- ('path', self.external_path),
- ('module', self.external_modules),
- ('extra_attributes', self.extra_attributes)
- ])
+ d["external"] = syaml.syaml_dict(
+ [
+ ("path", self.external_path),
+ ("module", self.external_modules),
+ ("extra_attributes", self.extra_attributes),
+ ]
+ )
if not self._concrete:
- d['concrete'] = False
+ d["concrete"] = False
- if 'patches' in self.variants:
- variant = self.variants['patches']
- if hasattr(variant, '_patches_in_order_of_appearance'):
- d['patches'] = variant._patches_in_order_of_appearance
+ if "patches" in self.variants:
+ variant = self.variants["patches"]
+ if hasattr(variant, "_patches_in_order_of_appearance"):
+ d["patches"] = variant._patches_in_order_of_appearance
if self._concrete and hash.package_hash and self._package_hash:
# We use the attribute here instead of `self.package_hash()` because this
@@ -1955,31 +1942,29 @@ class Spec(object):
package_hash = self._package_hash
# Full hashes are in bytes
- if (not isinstance(package_hash, six.text_type)
- and isinstance(package_hash, six.binary_type)):
- package_hash = package_hash.decode('utf-8')
- d['package_hash'] = package_hash
+ if not isinstance(package_hash, six.text_type) and isinstance(
+ package_hash, six.binary_type
+ ):
+ package_hash = package_hash.decode("utf-8")
+ d["package_hash"] = package_hash
# Note: Relies on sorting dict by keys later in algorithm.
deps = self._dependencies_dict(deptype=hash.deptype)
if deps:
deps_list = []
for name, edges_for_name in sorted(deps.items()):
- name_tuple = ('name', name)
+ name_tuple = ("name", name)
for dspec in edges_for_name:
hash_tuple = (hash.name, dspec.spec._cached_hash(hash))
- type_tuple = ('type', sorted(str(s) for s in dspec.deptypes))
- deps_list.append(syaml.syaml_dict(
- [name_tuple, hash_tuple, type_tuple]
- ))
- d['dependencies'] = deps_list
+ type_tuple = ("type", sorted(str(s) for s in dspec.deptypes))
+ deps_list.append(syaml.syaml_dict([name_tuple, hash_tuple, type_tuple]))
+ d["dependencies"] = deps_list
# Name is included in case this is replacing a virtual.
if self._build_spec:
- d['build_spec'] = syaml.syaml_dict([
- ('name', self.build_spec.name),
- (hash.name, self.build_spec._cached_hash(hash))
- ])
+ d["build_spec"] = syaml.syaml_dict(
+ [("name", self.build_spec.name), (hash.name, self.build_spec._cached_hash(hash))]
+ )
return d
def to_dict(self, hash=ht.dag_hash):
@@ -2066,7 +2051,7 @@ class Spec(object):
"""
node_list = [] # Using a list to preserve preorder traversal for hash.
hash_set = set()
- for s in self.traverse(order='pre', deptype=hash.deptype):
+ for s in self.traverse(order="pre", deptype=hash.deptype):
spec_hash = s._cached_hash(hash)
if spec_hash not in hash_set:
@@ -2074,22 +2059,22 @@ class Spec(object):
hash_set.add(spec_hash)
if s.build_spec is not s:
- build_spec_list = s.build_spec.to_dict(hash)['spec']['nodes']
+ build_spec_list = s.build_spec.to_dict(hash)["spec"]["nodes"]
for node in build_spec_list:
node_hash = node[hash.name]
if node_hash not in hash_set:
node_list.append(node)
hash_set.add(node_hash)
- meta_dict = syaml.syaml_dict([('version', specfile_format_version)])
- inner_dict = syaml.syaml_dict([('_meta', meta_dict), ('nodes', node_list)])
- spec_dict = syaml.syaml_dict([('spec', inner_dict)])
+ meta_dict = syaml.syaml_dict([("version", specfile_format_version)])
+ inner_dict = syaml.syaml_dict([("_meta", meta_dict), ("nodes", node_list)])
+ spec_dict = syaml.syaml_dict([("spec", inner_dict)])
return spec_dict
def node_dict_with_hashes(self, hash=ht.dag_hash):
- """ Returns a node_dict of this spec with the dag hash added. If this
+ """Returns a node_dict of this spec with the dag hash added. If this
spec is concrete, the full hash is added as well. If 'build' is in
- the hash_type, the build hash is also added. """
+ the hash_type, the build hash is also added."""
node = self.to_node_dict(hash)
node[ht.dag_hash.name] = self.dag_hash()
@@ -2101,7 +2086,7 @@ class Spec(object):
node[ht.dag_hash.name] = self.dag_hash()
else:
- node['concrete'] = False
+ node["concrete"] = False
# we can also give them other hash types if we want
if hash.name != ht.dag_hash.name:
@@ -2110,8 +2095,7 @@ class Spec(object):
return node
def to_yaml(self, stream=None, hash=ht.dag_hash):
- return syaml.dump(
- self.to_dict(hash), stream=stream, default_flow_style=False)
+ return syaml.dump(self.to_dict(hash), stream=stream, default_flow_style=False)
def to_json(self, stream=None, hash=ht.dag_hash):
return sjson.dump(self.to_dict(hash), stream)
@@ -2119,18 +2103,18 @@ class Spec(object):
@staticmethod
def from_specfile(path):
"""Construct a spec from aJSON or YAML spec file path"""
- with open(path, 'r') as fd:
+ with open(path, "r") as fd:
file_content = fd.read()
- if path.endswith('.json'):
+ if path.endswith(".json"):
return Spec.from_json(file_content)
return Spec.from_yaml(file_content)
@staticmethod
def from_node_dict(node):
spec = Spec()
- if 'name' in node.keys():
+ if "name" in node.keys():
# New format
- name = node['name']
+ name = node["name"]
else:
# Old format
name = next(iter(node))
@@ -2139,59 +2123,54 @@ class Spec(object):
setattr(spec, h.attr, node.get(h.name, None))
spec.name = name
- spec.namespace = node.get('namespace', None)
+ spec.namespace = node.get("namespace", None)
- if 'version' in node or 'versions' in node:
+ if "version" in node or "versions" in node:
spec.versions = vn.VersionList.from_dict(node)
- if 'arch' in node:
+ if "arch" in node:
spec.architecture = ArchSpec.from_dict(node)
- if 'compiler' in node:
+ if "compiler" in node:
spec.compiler = CompilerSpec.from_dict(node)
else:
spec.compiler = None
- if 'parameters' in node:
- for name, value in node['parameters'].items():
+ if "parameters" in node:
+ for name, value in node["parameters"].items():
if name in _valid_compiler_flags:
spec.compiler_flags[name] = value
else:
- spec.variants[name] = vt.MultiValuedVariant.from_node_dict(
- name, value)
- elif 'variants' in node:
- for name, value in node['variants'].items():
- spec.variants[name] = vt.MultiValuedVariant.from_node_dict(
- name, value
- )
+ spec.variants[name] = vt.MultiValuedVariant.from_node_dict(name, value)
+ elif "variants" in node:
+ for name, value in node["variants"].items():
+ spec.variants[name] = vt.MultiValuedVariant.from_node_dict(name, value)
for name in FlagMap.valid_compiler_flags():
spec.compiler_flags[name] = []
spec.external_path = None
spec.external_modules = None
- if 'external' in node:
+ if "external" in node:
# This conditional is needed because sometimes this function is
# called with a node already constructed that contains a 'versions'
# and 'external' field. Related to virtual packages provider
# indexes.
- if node['external']:
- spec.external_path = node['external']['path']
- spec.external_modules = node['external']['module']
+ if node["external"]:
+ spec.external_path = node["external"]["path"]
+ spec.external_modules = node["external"]["module"]
if spec.external_modules is False:
spec.external_modules = None
- spec.extra_attributes = node['external'].get(
- 'extra_attributes', syaml.syaml_dict()
+ spec.extra_attributes = node["external"].get(
+ "extra_attributes", syaml.syaml_dict()
)
# specs read in are concrete unless marked abstract
- spec._concrete = node.get('concrete', True)
+ spec._concrete = node.get("concrete", True)
- if 'patches' in node:
- patches = node['patches']
+ if "patches" in node:
+ patches = node["patches"]
if len(patches) > 0:
- mvar = spec.variants.setdefault(
- 'patches', vt.MultiValuedVariant('patches', ())
- )
+ mvar = spec.variants.setdefault("patches", vt.MultiValuedVariant("patches", ()))
mvar.value = patches
# FIXME: Monkey patches mvar to store patches order
mvar._patches_in_order_of_appearance = patches
@@ -2204,20 +2183,20 @@ class Spec(object):
@staticmethod
def build_spec_from_node_dict(node, hash_type=ht.dag_hash.name):
- build_spec_dict = node['build_spec']
- return build_spec_dict['name'], build_spec_dict[hash_type], hash_type
+ build_spec_dict = node["build_spec"]
+ return build_spec_dict["name"], build_spec_dict[hash_type], hash_type
@staticmethod
def dependencies_from_node_dict(node):
- if 'name' in node.keys():
+ if "name" in node.keys():
# New format
- name = node['name']
+ name = node["name"]
else:
name = next(iter(node))
node = node[name]
- if 'dependencies' not in node:
+ if "dependencies" not in node:
return
- for t in Spec.read_yaml_dep_specs(node['dependencies']):
+ for t in Spec.read_yaml_dep_specs(node["dependencies"]):
yield t
@staticmethod
@@ -2232,10 +2211,10 @@ class Spec(object):
dep_name, elt = dep
else:
elt = dep
- dep_name = dep['name']
+ dep_name = dep["name"]
if isinstance(elt, six.string_types):
# original format, elt is just the dependency hash.
- dep_hash, deptypes = elt, ['build', 'link']
+ dep_hash, deptypes = elt, ["build", "link"]
elif isinstance(elt, tuple):
# original deptypes format: (used tuples, not future-proof)
dep_hash, deptypes = elt
@@ -2243,14 +2222,13 @@ class Spec(object):
# new format: elements of dependency spec are keyed.
for h in ht.hashes:
if h.name in elt:
- dep_hash, deptypes = elt[h.name], elt['type']
+ dep_hash, deptypes = elt[h.name], elt["type"]
hash_type = h.name
break
else: # We never determined a hash type...
raise spack.error.SpecError("Couldn't parse dependency spec.")
else:
- raise spack.error.SpecError(
- "Couldn't parse dependency types in spec.")
+ raise spack.error.SpecError("Couldn't parse dependency types in spec.")
yield dep_name, dep_hash, list(deptypes), hash_type
@staticmethod
@@ -2360,7 +2338,7 @@ class Spec(object):
s (str): key in the dictionary containing the literal
"""
- t = s.split(':')
+ t = s.split(":")
if len(t) > 2:
msg = 'more than one ":" separator in key "{0}"'
@@ -2368,7 +2346,7 @@ class Spec(object):
n = t[0]
if len(t) == 2:
- dtypes = tuple(dt.strip() for dt in t[1].split(','))
+ dtypes = tuple(dt.strip() for dt in t[1].split(","))
else:
dtypes = ()
@@ -2388,7 +2366,7 @@ class Spec(object):
return s, ()
spec_obj, dtypes = s
- return spec_obj, tuple(dt.strip() for dt in dtypes.split(','))
+ return spec_obj, tuple(dt.strip() for dt in dtypes.split(","))
# Recurse on dependencies
for s, s_dependencies in dep_like.items():
@@ -2462,7 +2440,7 @@ class Spec(object):
stream: string or file object to read from.
"""
data = stream
- if hasattr(stream, 'read'):
+ if hasattr(stream, "read"):
data = stream.read()
extracted_json = Spec.extract_json_from_clearsig(data)
@@ -2496,22 +2474,21 @@ class Spec(object):
"""
# Assert that _extra_attributes is a Mapping and not None,
# which likely means the spec was created with Spec.from_detection
- msg = ('cannot validate "{0}" since it was not created '
- 'using Spec.from_detection'.format(self))
+ msg = 'cannot validate "{0}" since it was not created ' "using Spec.from_detection".format(
+ self
+ )
assert isinstance(self.extra_attributes, Mapping), msg
# Validate the spec calling a package specific method
pkg_cls = spack.repo.path.get_pkg_class(self.name)
- validate_fn = getattr(
- pkg_cls, 'validate_detected_spec', lambda x, y: None
- )
+ validate_fn = getattr(pkg_cls, "validate_detected_spec", lambda x, y: None)
validate_fn(self, self.extra_attributes)
def _concretize_helper(self, concretizer, presets=None, visited=None):
"""Recursive helper function for concretize().
- This concretizes everything bottom-up. As things are
- concretized, they're added to the presets, and ancestors
- will prefer the settings of their children.
+ This concretizes everything bottom-up. As things are
+ concretized, they're added to the presets, and ancestors
+ will prefer the settings of their children.
"""
if presets is None:
presets = {}
@@ -2547,14 +2524,17 @@ class Spec(object):
# still need to select a concrete package later.
if not self.virtual:
changed |= any(
- (concretizer.concretize_develop(self), # special variant
- concretizer.concretize_architecture(self),
- concretizer.concretize_compiler(self),
- concretizer.adjust_target(self),
- # flags must be concretized after compiler
- concretizer.concretize_compiler_flags(self),
- concretizer.concretize_version(self),
- concretizer.concretize_variants(self)))
+ (
+ concretizer.concretize_develop(self), # special variant
+ concretizer.concretize_architecture(self),
+ concretizer.concretize_compiler(self),
+ concretizer.adjust_target(self),
+ # flags must be concretized after compiler
+ concretizer.concretize_compiler_flags(self),
+ concretizer.concretize_version(self),
+ concretizer.concretize_variants(self),
+ )
+ )
presets[self.name] = self
visited.add(self.name)
@@ -2577,24 +2557,23 @@ class Spec(object):
def _expand_virtual_packages(self, concretizer):
"""Find virtual packages in this spec, replace them with providers,
- and normalize again to include the provider's (potentially virtual)
- dependencies. Repeat until there are no virtual deps.
+ and normalize again to include the provider's (potentially virtual)
+ dependencies. Repeat until there are no virtual deps.
- Precondition: spec is normalized.
+ Precondition: spec is normalized.
- .. todo::
+ .. todo::
- If a provider depends on something that conflicts with
- other dependencies in the spec being expanded, this can
- produce a conflicting spec. For example, if mpich depends
- on hwloc@:1.3 but something in the spec needs hwloc1.4:,
- then we should choose an MPI other than mpich. Cases like
- this are infrequent, but should implement this before it is
- a problem.
+ If a provider depends on something that conflicts with
+ other dependencies in the spec being expanded, this can
+ produce a conflicting spec. For example, if mpich depends
+ on hwloc@:1.3 but something in the spec needs hwloc1.4:,
+ then we should choose an MPI other than mpich. Cases like
+ this are infrequent, but should implement this before it is
+ a problem.
"""
# Make an index of stuff this spec already provides
- self_index = spack.provider_index.ProviderIndex(
- self.traverse(), restrict=True)
+ self_index = spack.provider_index.ProviderIndex(self.traverse(), restrict=True)
changed = False
done = False
@@ -2653,16 +2632,15 @@ class Spec(object):
return (not cfield) or (cfield == sfield)
if replacement is spec or (
- feq(replacement.name, spec.name) and
- feq(replacement.versions, spec.versions) and
- feq(replacement.compiler, spec.compiler) and
- feq(replacement.architecture, spec.architecture) and
- feq(replacement._dependencies, spec._dependencies) and
- feq(replacement.variants, spec.variants) and
- feq(replacement.external_path,
- spec.external_path) and
- feq(replacement.external_modules,
- spec.external_modules)):
+ feq(replacement.name, spec.name)
+ and feq(replacement.versions, spec.versions)
+ and feq(replacement.compiler, spec.compiler)
+ and feq(replacement.architecture, spec.architecture)
+ and feq(replacement._dependencies, spec._dependencies)
+ and feq(replacement.variants, spec.variants)
+ and feq(replacement.external_path, spec.external_path)
+ and feq(replacement.external_modules, spec.external_modules)
+ ):
continue
# Refine this spec to the candidate. This uses
# replace_with AND dup so that it can work in
@@ -2703,14 +2681,15 @@ class Spec(object):
# Add a warning message to inform users that the original concretizer
# will be removed
if deprecation_warning:
- msg = ('the original concretizer is currently being used.\n\tUpgrade to '
- '"clingo" at your earliest convenience. The original concretizer '
- 'will be removed from Spack in a future version.')
+ msg = (
+ "the original concretizer is currently being used.\n\tUpgrade to "
+ '"clingo" at your earliest convenience. The original concretizer '
+ "will be removed from Spack in a future version."
+ )
warnings.warn(msg)
if not self.name:
- raise spack.error.SpecError(
- "Attempting to concretize anonymous spec")
+ raise spack.error.SpecError("Attempting to concretize anonymous spec")
if self._concrete:
return
@@ -2721,10 +2700,11 @@ class Spec(object):
user_spec_deps = self.flat_dependencies(copy=False)
concretizer = spack.concretize.Concretizer(self.copy())
while changed:
- changes = (self.normalize(force, tests=tests,
- user_spec_deps=user_spec_deps),
- self._expand_virtual_packages(concretizer),
- self._concretize_helper(concretizer))
+ changes = (
+ self.normalize(force, tests=tests, user_spec_deps=user_spec_deps),
+ self._expand_virtual_packages(concretizer),
+ self._concretize_helper(concretizer),
+ )
changed = any(changes)
force = True
@@ -2786,8 +2766,9 @@ class Spec(object):
# ensure that patch state is consistent
patch_variant = self.variants["patches"]
- assert hasattr(patch_variant, "_patches_in_order_of_appearance"), \
- "patches should always be assigned with a patch variant."
+ assert hasattr(
+ patch_variant, "_patches_in_order_of_appearance"
+ ), "patches should always be assigned with a patch variant."
return True
@@ -2821,8 +2802,7 @@ class Spec(object):
spec_to_patches[id(s)] = patches
# Also record all patches required on dependencies by
# depends_on(..., patch=...)
- for dspec in root.traverse_edges(deptype=all,
- cover='edges', root=False):
+ for dspec in root.traverse_edges(deptype=all, cover="edges", root=False):
pkg_deps = dspec.parent.package_class.dependencies
if dspec.spec.name not in pkg_deps:
continue
@@ -2833,8 +2813,7 @@ class Spec(object):
patches = []
for cond, dependency in pkg_deps[dspec.spec.name].items():
for pcond, patch_list in dependency.patches.items():
- if (dspec.parent.satisfies(cond, strict=True)
- and dspec.spec.satisfies(pcond)):
+ if dspec.parent.satisfies(cond, strict=True) and dspec.spec.satisfies(pcond):
patches.extend(patch_list)
if patches:
all_patches = spec_to_patches.setdefault(id(dspec.spec), [])
@@ -2844,25 +2823,23 @@ class Spec(object):
continue
patches = list(lang.dedupe(spec_to_patches[id(spec)]))
- mvar = spec.variants.setdefault(
- 'patches', vt.MultiValuedVariant('patches', ())
- )
+ mvar = spec.variants.setdefault("patches", vt.MultiValuedVariant("patches", ()))
mvar.value = tuple(p.sha256 for p in patches)
# FIXME: Monkey patches mvar to store patches order
- full_order_keys = list(tuple(p.ordering_key) + (p.sha256,) for p
- in patches)
+ full_order_keys = list(tuple(p.ordering_key) + (p.sha256,) for p in patches)
ordered_hashes = sorted(full_order_keys)
- tty.debug("Ordered hashes [{0}]: ".format(spec.name) +
- ', '.join('/'.join(str(e) for e in t)
- for t in ordered_hashes))
- mvar._patches_in_order_of_appearance = list(
- t[-1] for t in ordered_hashes)
+ tty.debug(
+ "Ordered hashes [{0}]: ".format(spec.name)
+ + ", ".join("/".join(str(e) for e in t) for t in ordered_hashes)
+ )
+ mvar._patches_in_order_of_appearance = list(t[-1] for t in ordered_hashes)
@staticmethod
def ensure_external_path_if_external(external_spec):
if external_spec.external_modules and not external_spec.external_path:
compiler = spack.compilers.compiler_for_spec(
- external_spec.compiler, external_spec.architecture)
+ external_spec.compiler, external_spec.architecture
+ )
for mod in compiler.modules:
md.load_module(mod)
@@ -2871,8 +2848,7 @@ class Spec(object):
pkg_cls = spack.repo.path.get_pkg_class(external_spec.name)
package = pkg_cls(external_spec)
external_spec.external_path = getattr(
- package, 'external_prefix',
- md.path_from_modules(external_spec.external_modules)
+ package, "external_prefix", md.path_from_modules(external_spec.external_modules)
)
@staticmethod
@@ -2895,8 +2871,8 @@ class Spec(object):
msg = "\n The following specs have been deprecated"
msg += " in favor of specs with the hashes shown:\n"
for rec in deprecated:
- msg += ' %s --> %s\n' % (rec.spec, rec.deprecated_for)
- msg += '\n'
+ msg += " %s --> %s\n" % (rec.spec, rec.deprecated_for)
+ msg += "\n"
msg += " For each package listed, choose another spec\n"
raise SpecDeprecatedError(msg)
@@ -2904,8 +2880,7 @@ class Spec(object):
import spack.solver.asp
if not self.name:
- raise spack.error.SpecError(
- "Spec has no name; cannot concretize an anonymous spec")
+ raise spack.error.SpecError("Spec has no name; cannot concretize an anonymous spec")
if self._concrete:
return
@@ -2919,8 +2894,7 @@ class Spec(object):
name = self.name
# TODO: Consolidate this code with similar code in solve.py
if self.virtual:
- providers = [spec.name for spec in answer.values()
- if spec.package.provides(name)]
+ providers = [spec.name for spec in answer.values() if spec.package.provides(name)]
name = providers[0]
assert name in answer
@@ -2936,7 +2910,7 @@ class Spec(object):
if a list of names activate them for the packages in the list,
if True activate 'test' dependencies for all packages.
"""
- if spack.config.get('config:concretizer') == "clingo":
+ if spack.config.get("config:concretizer") == "clingo":
self._new_concretize(tests)
else:
self._old_concretize(tests)
@@ -3026,19 +3000,19 @@ class Spec(object):
def flat_dependencies(self, **kwargs):
"""Return a DependencyMap containing all of this spec's
- dependencies with their constraints merged.
+ dependencies with their constraints merged.
- If copy is True, returns merged copies of its dependencies
- without modifying the spec it's called on.
+ If copy is True, returns merged copies of its dependencies
+ without modifying the spec it's called on.
- If copy is False, clears this spec's dependencies and
- returns them. This disconnects all dependency links including
- transitive dependencies, except for concrete specs: if a spec
- is concrete it will not be disconnected from its dependencies
- (although a non-concrete spec with concrete dependencies will
- be disconnected from those dependencies).
+ If copy is False, clears this spec's dependencies and
+ returns them. This disconnects all dependency links including
+ transitive dependencies, except for concrete specs: if a spec
+ is concrete it will not be disconnected from its dependencies
+ (although a non-concrete spec with concrete dependencies will
+ be disconnected from those dependencies).
"""
- copy = kwargs.get('copy', True)
+ copy = kwargs.get("copy", True)
flat_deps = {}
try:
@@ -3070,7 +3044,7 @@ class Spec(object):
e,
)
- def index(self, deptype='all'):
+ def index(self, deptype="all"):
"""Return a dictionary that points to all the dependencies in this
spec.
"""
@@ -3113,18 +3087,18 @@ class Spec(object):
"Cannot merge constraint"
"\n\n\t{1}\n\n"
"into"
- "\n\n\t{2}"
- .format(self, dependency.spec, dep.spec))
+ "\n\n\t{2}".format(self, dependency.spec, dep.spec)
+ )
raise e
return dep
def _find_provider(self, vdep, provider_index):
"""Find provider for a virtual spec in the provider index.
- Raise an exception if there is a conflicting virtual
- dependency already in this spec.
+ Raise an exception if there is a conflicting virtual
+ dependency already in this spec.
"""
- assert(vdep.virtual)
+ assert vdep.virtual
# note that this defensively copies.
providers = provider_index.providers_for(vdep)
@@ -3152,8 +3126,7 @@ class Spec(object):
elif required:
raise UnsatisfiableProviderSpecError(required[0], vdep)
- def _merge_dependency(
- self, dependency, visited, spec_deps, provider_index, tests):
+ def _merge_dependency(self, dependency, visited, spec_deps, provider_index, tests):
"""Merge dependency information from a Package into this Spec.
Args:
@@ -3225,23 +3198,19 @@ class Spec(object):
else:
# merge package/vdep information into spec
try:
- tty.debug(
- "{0} applying constraint {1}".format(self.name, str(dep)))
+ tty.debug("{0} applying constraint {1}".format(self.name, str(dep)))
changed |= spec_deps[dep.name].constrain(dep)
except spack.error.UnsatisfiableSpecError as e:
- fmt = 'An unsatisfiable {0}'.format(e.constraint_type)
- fmt += ' constraint has been detected for spec:'
- fmt += '\n\n{0}\n\n'.format(spec_deps[dep.name].tree(indent=4))
- fmt += 'while trying to concretize the partial spec:'
- fmt += '\n\n{0}\n\n'.format(self.tree(indent=4))
- fmt += '{0} requires {1} {2} {3}, but spec asked for {4}'
+ fmt = "An unsatisfiable {0}".format(e.constraint_type)
+ fmt += " constraint has been detected for spec:"
+ fmt += "\n\n{0}\n\n".format(spec_deps[dep.name].tree(indent=4))
+ fmt += "while trying to concretize the partial spec:"
+ fmt += "\n\n{0}\n\n".format(self.tree(indent=4))
+ fmt += "{0} requires {1} {2} {3}, but spec asked for {4}"
e.message = fmt.format(
- self.name,
- dep.name,
- e.constraint_type,
- e.required,
- e.provided)
+ self.name, dep.name, e.constraint_type, e.required, e.provided
+ )
raise
@@ -3250,8 +3219,7 @@ class Spec(object):
if dep.name not in self._dependencies:
self._add_dependency(spec_dependency, dependency.type)
- changed |= spec_dependency._normalize_helper(
- visited, spec_deps, provider_index, tests)
+ changed |= spec_dependency._normalize_helper(visited, spec_deps, provider_index, tests)
return changed
def _normalize_helper(self, visited, spec_deps, provider_index, tests):
@@ -3286,37 +3254,40 @@ class Spec(object):
if dep:
merge = (
# caller requested test dependencies
- tests is True or (tests and self.name in tests) or
+ tests is True
+ or (tests and self.name in tests)
+ or
# this is not a test-only dependency
- dep.type - set(['test']))
+ dep.type - set(["test"])
+ )
if merge:
changed |= self._merge_dependency(
- dep, visited, spec_deps, provider_index, tests)
+ dep, visited, spec_deps, provider_index, tests
+ )
any_change |= changed
return any_change
def normalize(self, force=False, tests=False, user_spec_deps=None):
"""When specs are parsed, any dependencies specified are hanging off
- the root, and ONLY the ones that were explicitly provided are there.
- Normalization turns a partial flat spec into a DAG, where:
+ the root, and ONLY the ones that were explicitly provided are there.
+ Normalization turns a partial flat spec into a DAG, where:
- 1. Known dependencies of the root package are in the DAG.
- 2. Each node's dependencies dict only contains its known direct
- deps.
- 3. There is only ONE unique spec for each package in the DAG.
+ 1. Known dependencies of the root package are in the DAG.
+ 2. Each node's dependencies dict only contains its known direct
+ deps.
+ 3. There is only ONE unique spec for each package in the DAG.
- * This includes virtual packages. If there a non-virtual
- package that provides a virtual package that is in the spec,
- then we replace the virtual package with the non-virtual one.
+ * This includes virtual packages. If there a non-virtual
+ package that provides a virtual package that is in the spec,
+ then we replace the virtual package with the non-virtual one.
- TODO: normalize should probably implement some form of cycle
- detection, to ensure that the spec is actually a DAG.
+ TODO: normalize should probably implement some form of cycle
+ detection, to ensure that the spec is actually a DAG.
"""
if not self.name:
- raise spack.error.SpecError(
- "Attempting to normalize anonymous spec")
+ raise spack.error.SpecError("Attempting to normalize anonymous spec")
# Set _normal and _concrete to False when forced
if force and not self._concrete:
@@ -3351,14 +3322,14 @@ class Spec(object):
# Initialize index of virtual dependency providers if
# concretize didn't pass us one already
provider_index = spack.provider_index.ProviderIndex(
- [s for s in all_spec_deps.values()], restrict=True)
+ [s for s in all_spec_deps.values()], restrict=True
+ )
# traverse the package DAG and fill out dependencies according
# to package files & their 'when' specs
visited = set()
- any_change = self._normalize_helper(
- visited, all_spec_deps, provider_index, tests)
+ any_change = self._normalize_helper(visited, all_spec_deps, provider_index, tests)
# Mark the spec as normal once done.
self._normal = True
@@ -3441,8 +3412,9 @@ class Spec(object):
for value in values:
if self.variants.get(variant_name):
- msg = ("Cannot append a value to a single-valued "
- "variant with an already set value")
+ msg = (
+ "Cannot append a value to a single-valued " "variant with an already set value"
+ )
assert pkg_variant.multi, msg
self.variants[variant_name].append(value)
else:
@@ -3464,20 +3436,18 @@ class Spec(object):
if self.satisfies(other):
return False
else:
- raise spack.error.UnsatisfiableSpecError(
- self, other, 'constrain a concrete spec'
- )
+ raise spack.error.UnsatisfiableSpecError(self, other, "constrain a concrete spec")
other = self._autospec(other)
- if not (self.name == other.name or
- (not self.name) or
- (not other.name)):
+ if not (self.name == other.name or (not self.name) or (not other.name)):
raise UnsatisfiableSpecNameError(self.name, other.name)
- if (other.namespace is not None and
- self.namespace is not None and
- other.namespace != self.namespace):
+ if (
+ other.namespace is not None
+ and self.namespace is not None
+ and other.namespace != self.namespace
+ ):
raise UnsatisfiableSpecNameError(self.fullname, other.fullname)
if not self.versions.overlaps(other.versions):
@@ -3485,9 +3455,7 @@ class Spec(object):
for v in [x for x in other.variants if x in self.variants]:
if not self.variants[v].compatible(other.variants[v]):
- raise vt.UnsatisfiableVariantSpecError(
- self.variants[v], other.variants[v]
- )
+ raise vt.UnsatisfiableVariantSpecError(self.variants[v], other.variants[v])
# TODO: Check out the logic here
sarch, oarch = self.architecture, other.architecture
@@ -3515,7 +3483,7 @@ class Spec(object):
if self.compiler is not None and other.compiler is not None:
changed |= self.compiler.constrain(other.compiler)
elif self.compiler is None:
- changed |= (self.compiler != other.compiler)
+ changed |= self.compiler != other.compiler
self.compiler = other.compiler
changed |= self.versions.intersect(other.versions)
@@ -3534,7 +3502,7 @@ class Spec(object):
sarch.os = sarch.os or oarch.os
if sarch.target is None or oarch.target is None:
sarch.target = sarch.target or oarch.target
- changed |= (str(self.architecture) != old)
+ changed |= str(self.architecture) != old
if deps:
changed |= self._constrain_dependencies(other)
@@ -3570,7 +3538,8 @@ class Spec(object):
# WARNING: one edge from package "name"
edges_from_name = self._dependencies[name]
changed |= edges_from_name[0].update_deptypes(
- other._dependencies[name][0].deptypes)
+ other._dependencies[name][0].deptypes
+ )
# Update with additional constraints from other spec
for name in other.dep_difference(self):
@@ -3584,10 +3553,8 @@ class Spec(object):
def common_dependencies(self, other):
"""Return names of dependencies that self an other have in common."""
- common = set(
- s.name for s in self.traverse(root=False))
- common.intersection_update(
- s.name for s in other.traverse(root=False))
+ common = set(s.name for s in self.traverse(root=False))
+ common.intersection_update(s.name for s in other.traverse(root=False))
return common
def constrained(self, other, deps=True):
@@ -3599,8 +3566,7 @@ class Spec(object):
def dep_difference(self, other):
"""Returns dependencies in self that are not in other."""
mine = set(s.name for s in self.traverse(root=False))
- mine.difference_update(
- s.name for s in other.traverse(root=False))
+ mine.difference_update(s.name for s in other.traverse(root=False))
return mine
def _autospec(self, spec_like):
@@ -3648,16 +3614,19 @@ class Spec(object):
if pkg.provides(other.name):
for provided, when_specs in pkg.provided.items():
- if any(self.satisfies(when, deps=False, strict=strict)
- for when in when_specs):
+ if any(
+ self.satisfies(when, deps=False, strict=strict) for when in when_specs
+ ):
if provided.satisfies(other):
return True
return False
# namespaces either match, or other doesn't require one.
- if (other.namespace is not None and
- self.namespace is not None and
- self.namespace != other.namespace):
+ if (
+ other.namespace is not None
+ and self.namespace is not None
+ and self.namespace != other.namespace
+ ):
return False
if self.versions and other.versions:
if not self.versions.satisfies(other.versions, strict=strict):
@@ -3686,9 +3655,7 @@ class Spec(object):
elif strict and (other.architecture and not self.architecture):
return False
- if not self.compiler_flags.satisfies(
- other.compiler_flags,
- strict=strict):
+ if not self.compiler_flags.satisfies(other.compiler_flags, strict=strict):
return False
# If we need to descend into dependencies, do it, otherwise we're done.
@@ -3719,8 +3686,7 @@ class Spec(object):
# use list to prevent double-iteration
selfdeps = list(self.traverse(root=False))
otherdeps = list(other.traverse(root=False))
- if not all(any(d.satisfies(dep, strict=True) for d in selfdeps)
- for dep in otherdeps):
+ if not all(any(d.satisfies(dep, strict=True) for d in selfdeps) for dep in otherdeps):
return False
elif not self._dependencies:
@@ -3734,10 +3700,8 @@ class Spec(object):
return False
# For virtual dependencies, we need to dig a little deeper.
- self_index = spack.provider_index.ProviderIndex(
- self.traverse(), restrict=True)
- other_index = spack.provider_index.ProviderIndex(
- other.traverse(), restrict=True)
+ self_index = spack.provider_index.ProviderIndex(self.traverse(), restrict=True)
+ other_index = spack.provider_index.ProviderIndex(other.traverse(), restrict=True)
# This handles cases where there are already providers for both vpkgs
if not self_index.satisfies(other_index):
@@ -3747,8 +3711,7 @@ class Spec(object):
# vpkg in one spec for a provider in the other (e.g., mpi@3: is not
# compatible with mpich2)
for spec in self.virtual_dependencies():
- if (spec.name in other_index and
- not other_index.providers_for(spec)):
+ if spec.name in other_index and not other_index.providers_for(spec):
return False
for spec in other.virtual_dependencies():
@@ -3807,25 +3770,26 @@ class Spec(object):
"""
# We don't count dependencies as changes here
changed = True
- if hasattr(self, 'name'):
- changed = (self.name != other.name and
- self.versions != other.versions and
- self.architecture != other.architecture and
- self.compiler != other.compiler and
- self.variants != other.variants and
- self._normal != other._normal and
- self.concrete != other.concrete and
- self.external_path != other.external_path and
- self.external_modules != other.external_modules and
- self.compiler_flags != other.compiler_flags)
+ if hasattr(self, "name"):
+ changed = (
+ self.name != other.name
+ and self.versions != other.versions
+ and self.architecture != other.architecture
+ and self.compiler != other.compiler
+ and self.variants != other.variants
+ and self._normal != other._normal
+ and self.concrete != other.concrete
+ and self.external_path != other.external_path
+ and self.external_modules != other.external_modules
+ and self.compiler_flags != other.compiler_flags
+ )
self._package = None
# Local node attributes get copied first.
self.name = other.name
self.versions = other.versions.copy()
- self.architecture = other.architecture.copy() if other.architecture \
- else None
+ self.architecture = other.architecture.copy() if other.architecture else None
self.compiler = other.compiler.copy() if other.compiler else None
if cleardeps:
self._dependents = _EdgeMap(store_by=EdgeDirection.parent)
@@ -3839,7 +3803,7 @@ class Spec(object):
# to keep it from leaking out of spec.py, but we should figure
# out how to handle it more elegantly in the Variant classes.
for k, v in other.variants.items():
- patches = getattr(v, '_patches_in_order_of_appearance', None)
+ patches = getattr(v, "_patches_in_order_of_appearance", None)
if patches:
self.variants[k]._patches_in_order_of_appearance = patches
@@ -3880,14 +3844,12 @@ class Spec(object):
return id(spec)
new_specs = {spid(other): self}
- for edge in other.traverse_edges(cover='edges', root=False):
+ for edge in other.traverse_edges(cover="edges", root=False):
if edge.deptypes and not any(d in deptypes for d in edge.deptypes):
continue
if spid(edge.parent) not in new_specs:
- new_specs[spid(edge.parent)] = edge.parent.copy(
- deps=False
- )
+ new_specs[spid(edge.parent)] = edge.parent.copy(deps=False)
if spid(edge.spec) not in new_specs:
new_specs[spid(edge.spec)] = edge.spec.copy(deps=False)
@@ -3931,8 +3893,7 @@ class Spec(object):
@property
def version(self):
if not self.versions.concrete:
- raise spack.error.SpecError(
- "Spec version is not concrete: " + str(self))
+ raise spack.error.SpecError("Spec version is not concrete: " + str(self))
return self.versions[0]
def __getitem__(self, name):
@@ -3944,10 +3905,10 @@ class Spec(object):
Note that if a virtual package is queried a copy of the Spec is
returned while for non-virtual a reference is returned.
"""
- query_parameters = name.split(':')
+ query_parameters = name.split(":")
if len(query_parameters) > 2:
- msg = 'key has more than one \':\' symbol.'
- msg += ' At most one is admitted.'
+ msg = "key has more than one ':' symbol."
+ msg += " At most one is admitted."
raise KeyError(msg)
name, query_parameters = query_parameters[0], query_parameters[1:]
@@ -3955,15 +3916,14 @@ class Spec(object):
# We have extra query parameters, which are comma separated
# values
csv = query_parameters.pop().strip()
- query_parameters = re.split(r'\s*,\s*', csv)
+ query_parameters = re.split(r"\s*,\s*", csv)
try:
value = next(
itertools.chain(
# Regular specs
(x for x in self.traverse() if x.name == name),
- (x for x in self.traverse()
- if (not x.virtual) and x.package.provides(name))
+ (x for x in self.traverse() if (not x.virtual) and x.package.provides(name)),
)
)
except StopIteration:
@@ -4007,13 +3967,10 @@ class Spec(object):
if len(self._dependencies) != len(other._dependencies):
return False
- ssorted = [self._dependencies[name]
- for name in sorted(self._dependencies)]
- osorted = [other._dependencies[name]
- for name in sorted(other._dependencies)]
+ ssorted = [self._dependencies[name] for name in sorted(self._dependencies)]
+ osorted = [other._dependencies[name] for name in sorted(other._dependencies)]
for s_dspec, o_dspec in zip(
- itertools.chain.from_iterable(ssorted),
- itertools.chain.from_iterable(osorted)
+ itertools.chain.from_iterable(ssorted), itertools.chain.from_iterable(osorted)
):
if deptypes and s_dspec.deptypes != o_dspec.deptypes:
return False
@@ -4048,9 +4005,7 @@ class Spec(object):
def eq_node(self, other):
"""Equality with another spec, not including dependencies."""
- return (other is not None) and lang.lazy_eq(
- self._cmp_node, other._cmp_node
- )
+ return (other is not None) and lang.lazy_eq(self._cmp_node, other._cmp_node)
def _cmp_iter(self):
"""Lazily yield components of self for comparison."""
@@ -4058,12 +4013,11 @@ class Spec(object):
yield item
def deps():
- for dep in sorted(
- itertools.chain.from_iterable(self._dependencies.values())
- ):
+ for dep in sorted(itertools.chain.from_iterable(self._dependencies.values())):
yield dep.spec.name
yield tuple(sorted(dep.deptypes))
yield hash(dep.spec)
+
yield deps
def colorized(self):
@@ -4149,69 +4103,68 @@ class Spec(object):
"""
# If we have an unescaped $ sigil, use the deprecated format strings
- if re.search(r'[^\\]*\$', format_string):
+ if re.search(r"[^\\]*\$", format_string):
return self.old_format(format_string, **kwargs)
- color = kwargs.get('color', False)
- transform = kwargs.get('transform', {})
+ color = kwargs.get("color", False)
+ transform = kwargs.get("transform", {})
out = six.StringIO()
def write(s, c=None):
f = clr.cescape(s)
if c is not None:
- f = color_formats[c] + f + '@.'
+ f = color_formats[c] + f + "@."
clr.cwrite(f, stream=out, color=color)
def write_attribute(spec, attribute, color):
current = spec
- if attribute.startswith('^'):
+ if attribute.startswith("^"):
attribute = attribute[1:]
- dep, attribute = attribute.split('.', 1)
+ dep, attribute = attribute.split(".", 1)
current = self[dep]
- if attribute == '':
- raise SpecFormatStringError(
- 'Format string attributes must be non-empty')
+ if attribute == "":
+ raise SpecFormatStringError("Format string attributes must be non-empty")
attribute = attribute.lower()
- sig = ''
- if attribute[0] in '@%/':
+ sig = ""
+ if attribute[0] in "@%/":
# color sigils that are inside braces
sig = attribute[0]
attribute = attribute[1:]
- elif attribute.startswith('arch='):
- sig = ' arch=' # include space as separator
+ elif attribute.startswith("arch="):
+ sig = " arch=" # include space as separator
attribute = attribute[5:]
- parts = attribute.split('.')
+ parts = attribute.split(".")
assert parts
# check that the sigil is valid for the attribute.
- if sig == '@' and parts[-1] not in ('versions', 'version'):
- raise SpecFormatSigilError(sig, 'versions', attribute)
- elif sig == '%' and attribute not in ('compiler', 'compiler.name'):
- raise SpecFormatSigilError(sig, 'compilers', attribute)
- elif sig == '/' and not re.match(r'hash(:\d+)?$', attribute):
- raise SpecFormatSigilError(sig, 'DAG hashes', attribute)
- elif sig == ' arch=' and attribute not in ('architecture', 'arch'):
- raise SpecFormatSigilError(sig, 'the architecture', attribute)
+ if sig == "@" and parts[-1] not in ("versions", "version"):
+ raise SpecFormatSigilError(sig, "versions", attribute)
+ elif sig == "%" and attribute not in ("compiler", "compiler.name"):
+ raise SpecFormatSigilError(sig, "compilers", attribute)
+ elif sig == "/" and not re.match(r"hash(:\d+)?$", attribute):
+ raise SpecFormatSigilError(sig, "DAG hashes", attribute)
+ elif sig == " arch=" and attribute not in ("architecture", "arch"):
+ raise SpecFormatSigilError(sig, "the architecture", attribute)
# find the morph function for our attribute
morph = transform.get(attribute, lambda s, x: x)
# Special cases for non-spec attributes and hashes.
# These must be the only non-dep component of the format attribute
- if attribute == 'spack_root':
+ if attribute == "spack_root":
write(morph(spec, spack.paths.spack_root))
return
- elif attribute == 'spack_install':
+ elif attribute == "spack_install":
write(morph(spec, spack.store.layout.root))
return
- elif re.match(r'hash(:\d)?', attribute):
- col = '#'
- if ':' in attribute:
- _, length = attribute.split(':')
+ elif re.match(r"hash(:\d)?", attribute):
+ col = "#"
+ if ":" in attribute:
+ _, length = attribute.split(":")
write(sig + morph(spec, spec.dag_hash(int(length))), col)
else:
write(sig + morph(spec, spec.dag_hash()), col)
@@ -4220,31 +4173,27 @@ class Spec(object):
# Iterate over components using getattr to get next element
for idx, part in enumerate(parts):
if not part:
- raise SpecFormatStringError(
- 'Format string attributes must be non-empty'
- )
- if part.startswith('_'):
- raise SpecFormatStringError(
- 'Attempted to format private attribute'
- )
+ raise SpecFormatStringError("Format string attributes must be non-empty")
+ if part.startswith("_"):
+ raise SpecFormatStringError("Attempted to format private attribute")
else:
if isinstance(current, vt.VariantMap):
# subscript instead of getattr for variant names
current = current[part]
else:
# aliases
- if part == 'arch':
- part = 'architecture'
- elif part == 'version':
+ if part == "arch":
+ part = "architecture"
+ elif part == "version":
# Version requires concrete spec, versions does not
# when concrete, they print the same thing
- part = 'versions'
+ part = "versions"
try:
current = getattr(current, part)
except AttributeError:
- parent = '.'.join(parts[:idx])
- m = 'Attempted to format attribute %s.' % attribute
- m += 'Spec.%s has no attribute %s' % (parent, part)
+ parent = ".".join(parts[:idx])
+ m = "Attempted to format attribute %s." % attribute
+ m += "Spec.%s has no attribute %s" % (parent, part)
raise SpecFormatStringError(m)
if isinstance(current, vn.VersionList):
if current == _any_version:
@@ -4252,28 +4201,26 @@ class Spec(object):
return
if callable(current):
- raise SpecFormatStringError(
- 'Attempted to format callable object'
- )
+ raise SpecFormatStringError("Attempted to format callable object")
if not current:
# We're not printing anything
return
# Set color codes for various attributes
col = None
- if 'variants' in parts:
- col = '+'
- elif 'architecture' in parts:
- col = '='
- elif 'compiler' in parts or 'compiler_flags' in parts:
- col = '%'
- elif 'version' in parts:
- col = '@'
+ if "variants" in parts:
+ col = "+"
+ elif "architecture" in parts:
+ col = "="
+ elif "compiler" in parts or "compiler_flags" in parts:
+ col = "%"
+ elif "version" in parts:
+ col = "@"
# Finally, write the output
write(sig + morph(spec, str(current)), col)
- attribute = ''
+ attribute = ""
in_attribute = False
escape = False
@@ -4281,34 +4228,31 @@ class Spec(object):
if escape:
out.write(c)
escape = False
- elif c == '\\':
+ elif c == "\\":
escape = True
elif in_attribute:
- if c == '}':
+ if c == "}":
write_attribute(self, attribute, color)
- attribute = ''
+ attribute = ""
in_attribute = False
else:
attribute += c
else:
- if c == '}':
- raise SpecFormatStringError(
- 'Encountered closing } before opening {'
- )
- elif c == '{':
+ if c == "}":
+ raise SpecFormatStringError("Encountered closing } before opening {")
+ elif c == "{":
in_attribute = True
else:
out.write(c)
if in_attribute:
raise SpecFormatStringError(
- 'Format string terminated while reading attribute.'
- 'Missing terminating }.'
+ "Format string terminated while reading attribute." "Missing terminating }."
)
formatted_spec = out.getvalue()
return formatted_spec.strip()
- def old_format(self, format_string='$_$@$%@+$+$=', **kwargs):
+ def old_format(self, format_string="$_$@$%@+$+$=", **kwargs):
"""
The format strings you can provide are::
@@ -4382,77 +4326,79 @@ class Spec(object):
TODO: allow, e.g., ``$//`` for full hash.
"""
- color = kwargs.get('color', False)
+ color = kwargs.get("color", False)
# Dictionary of transformations for named tokens
- token_transforms = dict(
- (k.upper(), v) for k, v in kwargs.get('transform', {}).items())
+ token_transforms = dict((k.upper(), v) for k, v in kwargs.get("transform", {}).items())
length = len(format_string)
out = six.StringIO()
named = escape = compiler = False
- named_str = fmt = ''
+ named_str = fmt = ""
def write(s, c=None):
f = clr.cescape(s)
if c is not None:
- f = color_formats[c] + f + '@.'
+ f = color_formats[c] + f + "@."
clr.cwrite(f, stream=out, color=color)
iterator = enumerate(format_string)
for i, c in iterator:
if escape:
- fmt = '%'
- if c == '-':
+ fmt = "%"
+ if c == "-":
fmt += c
i, c = next(iterator)
- while c in '0123456789':
+ while c in "0123456789":
fmt += c
i, c = next(iterator)
- fmt += 's'
+ fmt += "s"
- if c == '_':
- name = self.name if self.name else ''
+ if c == "_":
+ name = self.name if self.name else ""
out.write(fmt % name)
- elif c == '.':
- name = self.fullname if self.fullname else ''
+ elif c == ".":
+ name = self.fullname if self.fullname else ""
out.write(fmt % name)
- elif c == '@':
+ elif c == "@":
if self.versions and self.versions != _any_version:
write(fmt % (c + str(self.versions)), c)
- elif c == '%':
+ elif c == "%":
if self.compiler:
write(fmt % (c + str(self.compiler.name)), c)
compiler = True
- elif c == '+':
+ elif c == "+":
if self.variants:
write(fmt % str(self.variants), c)
- elif c == '=':
+ elif c == "=":
if self.architecture and str(self.architecture):
- a_str = ' arch' + c + str(self.architecture) + ' '
+ a_str = " arch" + c + str(self.architecture) + " "
write(fmt % (a_str), c)
- elif c == '/':
- out.write('/' + fmt % (self.dag_hash(7)))
- elif c == '$':
- if fmt != '%s':
+ elif c == "/":
+ out.write("/" + fmt % (self.dag_hash(7)))
+ elif c == "$":
+ if fmt != "%s":
raise ValueError("Can't use format width with $$.")
- out.write('$')
- elif c == '{':
+ out.write("$")
+ elif c == "{":
named = True
- named_str = ''
+ named_str = ""
escape = False
elif compiler:
- if c == '@':
- if (self.compiler and self.compiler.versions and
- self.compiler.versions != _any_version):
- write(c + str(self.compiler.versions), '%')
- elif c == '+':
+ if c == "@":
+ if (
+ self.compiler
+ and self.compiler.versions
+ and self.compiler.versions != _any_version
+ ):
+ write(c + str(self.compiler.versions), "%")
+ elif c == "+":
if self.compiler_flags:
- write(fmt % str(self.compiler_flags), '%')
+ write(fmt % str(self.compiler_flags), "%")
compiler = False
- elif c == '$':
+ elif c == "$":
escape = True
compiler = False
else:
@@ -4460,10 +4406,11 @@ class Spec(object):
compiler = False
elif named:
- if not c == '}':
+ if not c == "}":
if i == length - 1:
- raise ValueError("Error: unterminated ${ in format:"
- "'%s'" % format_string)
+ raise ValueError(
+ "Error: unterminated ${ in format:" "'%s'" % format_string
+ )
named_str += c
continue
named_str = named_str.upper()
@@ -4474,82 +4421,72 @@ class Spec(object):
# (`lambda x: x` is the identity function)
transform = token_transforms.get(named_str, lambda s, x: x)
- if named_str == 'PACKAGE':
- name = self.name if self.name else ''
+ if named_str == "PACKAGE":
+ name = self.name if self.name else ""
write(fmt % transform(self, name))
- elif named_str == 'FULLPACKAGE':
- name = self.fullname if self.fullname else ''
+ elif named_str == "FULLPACKAGE":
+ name = self.fullname if self.fullname else ""
write(fmt % transform(self, name))
- elif named_str == 'VERSION':
+ elif named_str == "VERSION":
if self.versions and self.versions != _any_version:
- write(fmt % transform(self, str(self.versions)), '@')
- elif named_str == 'COMPILER':
+ write(fmt % transform(self, str(self.versions)), "@")
+ elif named_str == "COMPILER":
if self.compiler:
- write(fmt % transform(self, self.compiler), '%')
- elif named_str == 'COMPILERNAME':
+ write(fmt % transform(self, self.compiler), "%")
+ elif named_str == "COMPILERNAME":
if self.compiler:
- write(fmt % transform(self, self.compiler.name), '%')
- elif named_str in ['COMPILERVER', 'COMPILERVERSION']:
+ write(fmt % transform(self, self.compiler.name), "%")
+ elif named_str in ["COMPILERVER", "COMPILERVERSION"]:
if self.compiler:
- write(
- fmt % transform(self, self.compiler.versions),
- '%'
- )
- elif named_str == 'COMPILERFLAGS':
+ write(fmt % transform(self, self.compiler.versions), "%")
+ elif named_str == "COMPILERFLAGS":
if self.compiler:
- write(
- fmt % transform(self, str(self.compiler_flags)),
- '%'
- )
- elif named_str == 'OPTIONS':
+ write(fmt % transform(self, str(self.compiler_flags)), "%")
+ elif named_str == "OPTIONS":
if self.variants:
- write(fmt % transform(self, str(self.variants)), '+')
+ write(fmt % transform(self, str(self.variants)), "+")
elif named_str in ["ARCHITECTURE", "PLATFORM", "TARGET", "OS"]:
if self.architecture and str(self.architecture):
if named_str == "ARCHITECTURE":
- write(
- fmt % transform(self, str(self.architecture)),
- '='
- )
+ write(fmt % transform(self, str(self.architecture)), "=")
elif named_str == "PLATFORM":
platform = str(self.architecture.platform)
- write(fmt % transform(self, platform), '=')
+ write(fmt % transform(self, platform), "=")
elif named_str == "OS":
operating_sys = str(self.architecture.os)
- write(fmt % transform(self, operating_sys), '=')
+ write(fmt % transform(self, operating_sys), "=")
elif named_str == "TARGET":
target = str(self.architecture.target)
- write(fmt % transform(self, target), '=')
- elif named_str == 'SHA1':
+ write(fmt % transform(self, target), "=")
+ elif named_str == "SHA1":
if self.dependencies:
out.write(fmt % transform(self, str(self.dag_hash(7))))
- elif named_str == 'SPACK_ROOT':
+ elif named_str == "SPACK_ROOT":
out.write(fmt % transform(self, spack.paths.prefix))
- elif named_str == 'SPACK_INSTALL':
+ elif named_str == "SPACK_INSTALL":
out.write(fmt % transform(self, spack.store.root))
- elif named_str == 'PREFIX':
+ elif named_str == "PREFIX":
out.write(fmt % transform(self, self.prefix))
- elif named_str.startswith('HASH'):
- if named_str.startswith('HASH:'):
- _, hashlen = named_str.split(':')
+ elif named_str.startswith("HASH"):
+ if named_str.startswith("HASH:"):
+ _, hashlen = named_str.split(":")
hashlen = int(hashlen)
else:
hashlen = None
out.write(fmt % (self.dag_hash(hashlen)))
- elif named_str == 'NAMESPACE':
+ elif named_str == "NAMESPACE":
out.write(fmt % transform(self, self.namespace))
- elif named_str.startswith('DEP:'):
- _, dep_name, dep_option = named_str.lower().split(':', 2)
+ elif named_str.startswith("DEP:"):
+ _, dep_name, dep_option = named_str.lower().split(":", 2)
dep_spec = self[dep_name]
- out.write(fmt % (dep_spec.format('${%s}' % dep_option)))
+ out.write(fmt % (dep_spec.format("${%s}" % dep_option)))
named = False
- elif c == '$':
+ elif c == "$":
escape = True
if i == length - 1:
- raise ValueError("Error: unterminated $ in format: '%s'"
- % format_string)
+ raise ValueError("Error: unterminated $ in format: '%s'" % format_string)
else:
out.write(c)
@@ -4559,13 +4496,11 @@ class Spec(object):
def cformat(self, *args, **kwargs):
"""Same as format, but color defaults to auto instead of False."""
kwargs = kwargs.copy()
- kwargs.setdefault('color', None)
+ kwargs.setdefault("color", None)
return self.format(*args, **kwargs)
def __str__(self):
- sorted_nodes = [self] + sorted(
- self.traverse(root=False), key=lambda x: x.name
- )
+ sorted_nodes = [self] + sorted(self.traverse(root=False), key=lambda x: x.name)
spec_str = " ^".join(d.format() for d in sorted_nodes)
return spec_str.strip()
@@ -4591,24 +4526,25 @@ class Spec(object):
def tree(self, **kwargs):
"""Prints out this spec and its dependencies, tree-formatted
- with indentation."""
- color = kwargs.pop('color', clr.get_color_when())
- depth = kwargs.pop('depth', False)
- hashes = kwargs.pop('hashes', False)
- hlen = kwargs.pop('hashlen', None)
- status_fn = kwargs.pop('status_fn', False)
- cover = kwargs.pop('cover', 'nodes')
- indent = kwargs.pop('indent', 0)
- fmt = kwargs.pop('format', default_format)
- prefix = kwargs.pop('prefix', None)
- show_types = kwargs.pop('show_types', False)
- deptypes = kwargs.pop('deptypes', 'all')
- recurse_dependencies = kwargs.pop('recurse_dependencies', True)
+ with indentation."""
+ color = kwargs.pop("color", clr.get_color_when())
+ depth = kwargs.pop("depth", False)
+ hashes = kwargs.pop("hashes", False)
+ hlen = kwargs.pop("hashlen", None)
+ status_fn = kwargs.pop("status_fn", False)
+ cover = kwargs.pop("cover", "nodes")
+ indent = kwargs.pop("indent", 0)
+ fmt = kwargs.pop("format", default_format)
+ prefix = kwargs.pop("prefix", None)
+ show_types = kwargs.pop("show_types", False)
+ deptypes = kwargs.pop("deptypes", "all")
+ recurse_dependencies = kwargs.pop("recurse_dependencies", True)
lang.check_kwargs(kwargs, self.tree)
out = ""
for d, dep_spec in self.traverse_edges(
- order='pre', cover=cover, depth=True, deptype=deptypes):
+ order="pre", cover=cover, depth=True, deptype=deptypes
+ ):
node = dep_spec.spec
if prefix is not None:
@@ -4630,25 +4566,22 @@ class Spec(object):
out += clr.colorize("@r{[-]} ", color=color) # missing
if hashes:
- out += clr.colorize(
- '@K{%s} ', color=color) % node.dag_hash(hlen)
+ out += clr.colorize("@K{%s} ", color=color) % node.dag_hash(hlen)
if show_types:
- if cover == 'nodes':
+ if cover == "nodes":
# when only covering nodes, we merge dependency types
# from all dependents before showing them.
- types = [
- ds.deptypes for ds in node.edges_from_dependents()
- ]
+ types = [ds.deptypes for ds in node.edges_from_dependents()]
else:
# when covering edges or paths, we show dependency
# types only for the edge through which we visited
types = [dep_spec.deptypes]
type_chars = dp.deptype_chars(*types)
- out += '[%s] ' % type_chars
+ out += "[%s] " % type_chars
- out += (" " * d)
+ out += " " * d
if d > 0:
out += "^"
out += node.format(fmt, color=color) + "\n"
@@ -4709,8 +4642,7 @@ class Spec(object):
assert self.concrete
assert other.concrete
- virtuals_to_replace = [v.name for v in other.package.virtuals_provided
- if v in self]
+ virtuals_to_replace = [v.name for v in other.package.virtuals_provided if v in self]
if virtuals_to_replace:
deps_to_replace = dict((self[v], other) for v in virtuals_to_replace)
# deps_to_replace = [self[v] for v in virtuals_to_replace]
@@ -4720,19 +4652,31 @@ class Spec(object):
# deps_to_replace = [self[other.name]]
for d in deps_to_replace:
- if not all(v in other.package.virtuals_provided or v not in self
- for v in d.package.virtuals_provided):
+ if not all(
+ v in other.package.virtuals_provided or v not in self
+ for v in d.package.virtuals_provided
+ ):
# There was something provided by the original that we don't
# get from its replacement.
- raise SpliceError(("Splice between {0} and {1} will not provide "
- "the same virtuals.").format(self.name, other.name))
+ raise SpliceError(
+ ("Splice between {0} and {1} will not provide " "the same virtuals.").format(
+ self.name, other.name
+ )
+ )
for n in d.traverse(root=False):
- if not all(any(v in other_n.package.virtuals_provided
- for other_n in other.traverse(root=False))
- or v not in self for v in n.package.virtuals_provided):
- raise SpliceError(("Splice between {0} and {1} will not provide "
- "the same virtuals."
- ).format(self.name, other.name))
+ if not all(
+ any(
+ v in other_n.package.virtuals_provided
+ for other_n in other.traverse(root=False)
+ )
+ or v not in self
+ for v in n.package.virtuals_provided
+ ):
+ raise SpliceError(
+ (
+ "Splice between {0} and {1} will not provide " "the same virtuals."
+ ).format(self.name, other.name)
+ )
# For now, check that we don't have DAG with multiple specs from the
# same package
@@ -4742,8 +4686,10 @@ class Spec(object):
return max_number > 1
if multiple_specs(self) or multiple_specs(other):
- msg = ('Either "{0}" or "{1}" contain multiple specs from the same '
- 'package, which cannot be handled by splicing at the moment')
+ msg = (
+ 'Either "{0}" or "{1}" contain multiple specs from the same '
+ "package, which cannot be handled by splicing at the moment"
+ )
raise ValueError(msg.format(self, other))
# Multiple unique specs with the same name will collide, so the
@@ -4763,23 +4709,28 @@ class Spec(object):
else:
if name == other.name:
return False
- if any(v in other.package.virtuals_provided
- for v in self[name].package.virtuals_provided):
+ if any(
+ v in other.package.virtuals_provided
+ for v in self[name].package.virtuals_provided
+ ):
return False
return True
- self_nodes = dict((s.name, s.copy(deps=False))
- for s in self.traverse(root=True)
- if from_self(s.name, transitive))
+ self_nodes = dict(
+ (s.name, s.copy(deps=False))
+ for s in self.traverse(root=True)
+ if from_self(s.name, transitive)
+ )
if transitive:
- other_nodes = dict((s.name, s.copy(deps=False))
- for s in other.traverse(root=True))
+ other_nodes = dict((s.name, s.copy(deps=False)) for s in other.traverse(root=True))
else:
# NOTE: Does not fully validate providers; loader races possible
- other_nodes = dict((s.name, s.copy(deps=False))
- for s in other.traverse(root=True)
- if s is other or s.name not in self)
+ other_nodes = dict(
+ (s.name, s.copy(deps=False))
+ for s in other.traverse(root=True)
+ if s is other or s.name not in self
+ )
nodes = other_nodes.copy()
nodes.update(self_nodes)
@@ -4788,30 +4739,24 @@ class Spec(object):
if name in self_nodes:
for edge in self[name].edges_to_dependencies():
dep_name = deps_to_replace.get(edge.spec, edge.spec).name
- nodes[name].add_dependency_edge(
- nodes[dep_name], edge.deptypes
- )
- if any(dep not in self_nodes
- for dep in self[name]._dependencies):
+ nodes[name].add_dependency_edge(nodes[dep_name], edge.deptypes)
+ if any(dep not in self_nodes for dep in self[name]._dependencies):
nodes[name].build_spec = self[name].build_spec
else:
for edge in other[name].edges_to_dependencies():
- nodes[name].add_dependency_edge(
- nodes[edge.spec.name], edge.deptypes
- )
- if any(dep not in other_nodes
- for dep in other[name]._dependencies):
+ nodes[name].add_dependency_edge(nodes[edge.spec.name], edge.deptypes)
+ if any(dep not in other_nodes for dep in other[name]._dependencies):
nodes[name].build_spec = other[name].build_spec
ret = nodes[self.name]
# Clear cached hashes for all affected nodes
# Do not touch unaffected nodes
- for dep in ret.traverse(root=True, order='post'):
+ for dep in ret.traverse(root=True, order="post"):
opposite = other_nodes if dep.name in self_nodes else self_nodes
if any(name in dep for name in opposite.keys()):
# package hash cannot be affected by splice
- dep.clear_cached_hashes(ignore=['package_hash'])
+ dep.clear_cached_hashes(ignore=["package_hash"])
dep.dag_hash()
@@ -4867,9 +4812,7 @@ def merge_abstract_anonymous_specs(*abstract_specs):
merged_spec.constrain(current_spec_constraint, deps=False)
for name in merged_spec.common_dependencies(current_spec_constraint):
- merged_spec[name].constrain(
- current_spec_constraint[name], deps=False
- )
+ merged_spec[name].constrain(current_spec_constraint[name], deps=False)
# Update with additional constraints from other spec
for name in current_spec_constraint.dep_difference(merged_spec):
@@ -4887,7 +4830,7 @@ def _spec_from_old_dict(data):
Parameters:
data -- a nested dict/list data structure read from YAML or JSON.
"""
- nodes = data['spec']
+ nodes = data["spec"]
# Read nodes out of list. Root spec is the first element;
# dependencies are the following elements.
@@ -4901,7 +4844,7 @@ def _spec_from_old_dict(data):
# get dependency dict from the node.
name = next(iter(node))
- if 'dependencies' not in node[name]:
+ if "dependencies" not in node[name]:
continue
for dname, _, dtypes, _ in Spec.dependencies_from_node_dict(node):
@@ -4920,17 +4863,17 @@ def _spec_from_dict(data):
Parameters:
data -- a nested dict/list data structure read from YAML or JSON.
"""
- if isinstance(data['spec'], list): # Legacy specfile format
+ if isinstance(data["spec"], list): # Legacy specfile format
return _spec_from_old_dict(data)
# Current specfile format
- nodes = data['spec']['nodes']
+ nodes = data["spec"]["nodes"]
hash_type = None
any_deps = False
# Pass 0: Determine hash type
for node in nodes:
- if 'dependencies' in node.keys():
+ if "dependencies" in node.keys():
any_deps = True
for _, _, _, dhash_type in Spec.dependencies_from_node_dict(node):
if dhash_type:
@@ -4940,8 +4883,9 @@ def _spec_from_dict(data):
if not any_deps: # If we never see a dependency...
hash_type = ht.dag_hash.name
elif not hash_type: # Seen a dependency, still don't know hash_type
- raise spack.error.SpecError("Spec dictionary contains malformed "
- "dependencies. Old format?")
+ raise spack.error.SpecError(
+ "Spec dictionary contains malformed " "dependencies. Old format?"
+ )
hash_dict = {}
root_spec_hash = None
@@ -4951,7 +4895,7 @@ def _spec_from_dict(data):
node_hash = node[hash_type]
node_spec = Spec.from_node_dict(node)
hash_dict[node_hash] = node
- hash_dict[node_hash]['node_spec'] = node_spec
+ hash_dict[node_hash]["node_spec"] = node_spec
if i == 0:
root_spec_hash = node_hash
if not root_spec_hash:
@@ -4959,21 +4903,21 @@ def _spec_from_dict(data):
# Pass 2: Finish construction of all DAG edges (including build specs)
for node_hash, node in hash_dict.items():
- node_spec = node['node_spec']
+ node_spec = node["node_spec"]
for _, dhash, dtypes, _ in Spec.dependencies_from_node_dict(node):
- node_spec._add_dependency(hash_dict[dhash]['node_spec'], dtypes)
- if 'build_spec' in node.keys():
- _, bhash, _ = Spec.build_spec_from_node_dict(node,
- hash_type=hash_type)
- node_spec._build_spec = hash_dict[bhash]['node_spec']
+ node_spec._add_dependency(hash_dict[dhash]["node_spec"], dtypes)
+ if "build_spec" in node.keys():
+ _, bhash, _ = Spec.build_spec_from_node_dict(node, hash_type=hash_type)
+ node_spec._build_spec = hash_dict[bhash]["node_spec"]
- return hash_dict[root_spec_hash]['node_spec']
+ return hash_dict[root_spec_hash]["node_spec"]
class LazySpecCache(collections.defaultdict):
"""Cache for Specs that uses a spec_like as key, and computes lazily
the corresponding value ``Spec(spec_like``.
"""
+
def __init__(self):
super(LazySpecCache, self).__init__(Spec)
@@ -4987,7 +4931,7 @@ class LazySpecCache(collections.defaultdict):
HASH, DEP, AT, COLON, COMMA, ON, OFF, PCT, EQ, ID, VAL, FILE = range(12)
#: Regex for fully qualified spec names. (e.g., builtin.hdf5)
-spec_id_re = r'\w[\w.-]*'
+spec_id_re = r"\w[\w.-]*"
class SpecLexer(spack.parse.Lexer):
@@ -4997,36 +4941,39 @@ class SpecLexer(spack.parse.Lexer):
def __init__(self):
# Spec strings require posix-style paths on Windows
# because the result is later passed to shlex
- filename_reg = r'[/\w.-]*/[/\w/-]+\.(yaml|json)[^\b]*' if not is_windows\
- else r'([A-Za-z]:)*?[/\w.-]*/[/\w/-]+\.(yaml|json)[^\b]*'
- super(SpecLexer, self).__init__([
- (r'\^', lambda scanner, val: self.token(DEP, val)),
- (r'\@', lambda scanner, val: self.token(AT, val)),
- (r'\:', lambda scanner, val: self.token(COLON, val)),
- (r'\,', lambda scanner, val: self.token(COMMA, val)),
- (r'\+', lambda scanner, val: self.token(ON, val)),
- (r'\-', lambda scanner, val: self.token(OFF, val)),
- (r'\~', lambda scanner, val: self.token(OFF, val)),
- (r'\%', lambda scanner, val: self.token(PCT, val)),
- (r'\=', lambda scanner, val: self.token(EQ, val)),
-
- # Filenames match before identifiers, so no initial filename
- # component is parsed as a spec (e.g., in subdir/spec.yaml/json)
- (filename_reg,
- lambda scanner, v: self.token(FILE, v)),
-
- # Hash match after filename. No valid filename can be a hash
- # (files end w/.yaml), but a hash can match a filename prefix.
- (r'/', lambda scanner, val: self.token(HASH, val)),
-
- # Identifiers match after filenames and hashes.
- (spec_id_re, lambda scanner, val: self.token(ID, val)),
-
- (r'\s+', lambda scanner, val: None)],
+ filename_reg = (
+ r"[/\w.-]*/[/\w/-]+\.(yaml|json)[^\b]*"
+ if not is_windows
+ else r"([A-Za-z]:)*?[/\w.-]*/[/\w/-]+\.(yaml|json)[^\b]*"
+ )
+ super(SpecLexer, self).__init__(
+ [
+ (r"\^", lambda scanner, val: self.token(DEP, val)),
+ (r"\@", lambda scanner, val: self.token(AT, val)),
+ (r"\:", lambda scanner, val: self.token(COLON, val)),
+ (r"\,", lambda scanner, val: self.token(COMMA, val)),
+ (r"\+", lambda scanner, val: self.token(ON, val)),
+ (r"\-", lambda scanner, val: self.token(OFF, val)),
+ (r"\~", lambda scanner, val: self.token(OFF, val)),
+ (r"\%", lambda scanner, val: self.token(PCT, val)),
+ (r"\=", lambda scanner, val: self.token(EQ, val)),
+ # Filenames match before identifiers, so no initial filename
+ # component is parsed as a spec (e.g., in subdir/spec.yaml/json)
+ (filename_reg, lambda scanner, v: self.token(FILE, v)),
+ # Hash match after filename. No valid filename can be a hash
+ # (files end w/.yaml), but a hash can match a filename prefix.
+ (r"/", lambda scanner, val: self.token(HASH, val)),
+ # Identifiers match after filenames and hashes.
+ (spec_id_re, lambda scanner, val: self.token(ID, val)),
+ (r"\s+", lambda scanner, val: None),
+ ],
[EQ],
- [(r'[\S].*', lambda scanner, val: self.token(VAL, val)),
- (r'\s+', lambda scanner, val: None)],
- [VAL])
+ [
+ (r"[\S].*", lambda scanner, val: self.token(VAL, val)),
+ (r"\s+", lambda scanner, val: None),
+ ],
+ [VAL],
+ )
# Lexer is always the same for every parser.
@@ -5073,8 +5020,7 @@ class SpecParser(spack.parse.Parser):
else:
if specs[-1].concrete:
# Trying to add k-v pair to spec from hash
- raise RedundantSpecError(specs[-1],
- 'key-value pair')
+ raise RedundantSpecError(specs[-1], "key-value pair")
# We should never end up here.
# This requires starting a new spec with ID, EQ
# After another spec that is not concrete
@@ -5109,7 +5055,7 @@ class SpecParser(spack.parse.Parser):
# We're finding a dependency by hash for an
# anonymous spec
dep = self.spec_by_hash()
- dep = dep.copy(deps=('link', 'run'))
+ dep = dep.copy(deps=("link", "run"))
if not dep:
# We're adding a dependency to the last spec
@@ -5119,8 +5065,7 @@ class SpecParser(spack.parse.Parser):
# This is an anonymous dep with a key=value
# push tokens to be parsed as part of the
# dep spec
- self.push_tokens(
- [self.previous, self.token])
+ self.push_tokens([self.previous, self.token])
dep_name = None
else:
# named dep (standard)
@@ -5134,7 +5079,7 @@ class SpecParser(spack.parse.Parser):
# Raise an error if the previous spec is already
# concrete (assigned by hash)
if specs[-1].concrete:
- raise RedundantSpecError(specs[-1], 'dependency')
+ raise RedundantSpecError(specs[-1], "dependency")
# command line deps get empty deptypes now.
# Real deptypes are assigned later per packages.
specs[-1]._add_dependency(dep, ())
@@ -5145,9 +5090,7 @@ class SpecParser(spack.parse.Parser):
if self.next.type in (AT, ON, OFF, PCT):
# Raise an error if the previous spec is already concrete
if specs and specs[-1].concrete:
- raise RedundantSpecError(specs[-1],
- 'compiler, version, '
- 'or variant')
+ raise RedundantSpecError(specs[-1], "compiler, version, " "or variant")
specs.append(self.spec(None))
else:
self.unexpected_token()
@@ -5160,10 +5103,7 @@ class SpecParser(spack.parse.Parser):
# Cannot do lookups for versions in anonymous specs
# Only allow Version objects to use git for now
# Note: VersionRange(x, x) is currently concrete, hence isinstance(...).
- if (
- spec.name and spec.versions.concrete and
- isinstance(spec.version, vn.GitVersion)
- ):
+ if spec.name and spec.versions.concrete and isinstance(spec.version, vn.GitVersion):
spec.version.generate_git_lookup(spec.fullname)
return specs
@@ -5198,8 +5138,7 @@ class SpecParser(spack.parse.Parser):
# regex admits text *beyond* .yaml, and we raise a nice error for
# file names that don't end in .yaml.
if not (path.endswith(".yaml") or path.endswith(".json")):
- raise SpecFilenameError(
- "Spec filename must end in .yaml or .json: '{0}'".format(path))
+ raise SpecFilenameError("Spec filename must end in .yaml or .json: '{0}'".format(path))
if not os.path.exists(path):
raise NoSuchSpecFileError("No such spec file: '{0}'".format(path))
@@ -5216,6 +5155,7 @@ class SpecParser(spack.parse.Parser):
def spec_by_hash(self):
# TODO: Remove parser dependency on active environment and database.
import spack.environment
+
self.expect(ID)
dag_hash = self.token.value
matches = []
@@ -5228,18 +5168,18 @@ class SpecParser(spack.parse.Parser):
if len(matches) != 1:
raise AmbiguousHashError(
- "Multiple packages specify hash beginning '%s'."
- % dag_hash, *matches)
+ "Multiple packages specify hash beginning '%s'." % dag_hash, *matches
+ )
return matches[0]
def spec(self, name):
"""Parse a spec out of the input. If a spec is supplied, initialize
- and return it instead of creating a new one."""
+ and return it instead of creating a new one."""
spec_namespace = None
spec_name = None
if name:
- spec_namespace, dot, spec_name = name.rpartition('.')
+ spec_namespace, dot, spec_name = name.rpartition(".")
if not spec_namespace:
spec_namespace = None
self.check_identifier(spec_name)
@@ -5352,46 +5292,44 @@ class SpecParser(spack.parse.Parser):
vlist = self.version_list()
compiler._add_versions(vlist)
else:
- compiler.versions = vn.VersionList(':')
+ compiler.versions = vn.VersionList(":")
return compiler
def check_identifier(self, id=None):
"""The only identifiers that can contain '.' are versions, but version
- ids are context-sensitive so we have to check on a case-by-case
- basis. Call this if we detect a version id where it shouldn't be.
+ ids are context-sensitive so we have to check on a case-by-case
+ basis. Call this if we detect a version id where it shouldn't be.
"""
if not id:
id = self.token.value
- if '.' in id:
- self.last_token_error(
- "{0}: Identifier cannot contain '.'".format(id))
+ if "." in id:
+ self.last_token_error("{0}: Identifier cannot contain '.'".format(id))
def parse(string):
"""Returns a list of specs from an input string.
- For creating one spec, see Spec() constructor.
+ For creating one spec, see Spec() constructor.
"""
return SpecParser().parse(string)
def save_dependency_specfiles(
- root_spec_info, output_directory, dependencies=None,
- spec_format='json'):
+ root_spec_info, output_directory, dependencies=None, spec_format="json"
+):
"""Given a root spec (represented as a yaml object), index it with a subset
- of its dependencies, and write each dependency to a separate yaml file
- in the output directory. By default, all dependencies will be written
- out. To choose a smaller subset of dependencies to be written, pass a
- list of package names in the dependencies parameter. If the format of the
- incoming spec is not json, that can be specified with the spec_format
- parameter. This can be used to convert from yaml specfiles to the
- json format."""
- if spec_format == 'json':
+ of its dependencies, and write each dependency to a separate yaml file
+ in the output directory. By default, all dependencies will be written
+ out. To choose a smaller subset of dependencies to be written, pass a
+ list of package names in the dependencies parameter. If the format of the
+ incoming spec is not json, that can be specified with the spec_format
+ parameter. This can be used to convert from yaml specfiles to the
+ json format."""
+ if spec_format == "json":
root_spec = Spec.from_json(root_spec_info)
- elif spec_format == 'yaml':
+ elif spec_format == "yaml":
root_spec = Spec.from_yaml(root_spec_info)
else:
- raise SpecParseError('Unrecognized spec format {0}.'.format(
- spec_format))
+ raise SpecParseError("Unrecognized spec format {0}.".format(spec_format))
dep_list = dependencies
if not dep_list:
@@ -5399,18 +5337,18 @@ def save_dependency_specfiles(
for dep_name in dep_list:
if dep_name not in root_spec:
- msg = 'Dependency {0} does not exist in root spec {1}'.format(
- dep_name, root_spec.name)
+ msg = "Dependency {0} does not exist in root spec {1}".format(dep_name, root_spec.name)
raise SpecDependencyNotFoundError(msg)
dep_spec = root_spec[dep_name]
- json_path = os.path.join(output_directory, '{0}.json'.format(dep_name))
+ json_path = os.path.join(output_directory, "{0}.json".format(dep_name))
- with open(json_path, 'w') as fd:
+ with open(json_path, "w") as fd:
fd.write(dep_spec.to_json(hash=ht.dag_hash))
class SpecParseError(spack.error.SpecError):
"""Wrapper for ParseError for when we're parsing specs."""
+
def __init__(self, parse_error):
super(SpecParseError, self).__init__(parse_error.message)
self.string = parse_error.string
@@ -5441,9 +5379,11 @@ class DuplicateCompilerSpecError(spack.error.SpecError):
class UnsupportedCompilerError(spack.error.SpecError):
"""Raised when the user asks for a compiler spack doesn't know about."""
+
def __init__(self, compiler_name):
super(UnsupportedCompilerError, self).__init__(
- "The '%s' compiler is not yet supported." % compiler_name)
+ "The '%s' compiler is not yet supported." % compiler_name
+ )
class DuplicateArchitectureError(spack.error.SpecError):
@@ -5452,96 +5392,105 @@ class DuplicateArchitectureError(spack.error.SpecError):
class InconsistentSpecError(spack.error.SpecError):
"""Raised when two nodes in the same spec DAG have inconsistent
- constraints."""
+ constraints."""
class InvalidDependencyError(spack.error.SpecError):
"""Raised when a dependency in a spec is not actually a dependency
- of the package."""
+ of the package."""
+
def __init__(self, pkg, deps):
self.invalid_deps = deps
super(InvalidDependencyError, self).__init__(
- 'Package {0} does not depend on {1}'.format(
- pkg, spack.util.string.comma_or(deps)))
+ "Package {0} does not depend on {1}".format(pkg, spack.util.string.comma_or(deps))
+ )
class NoProviderError(spack.error.SpecError):
"""Raised when there is no package that provides a particular
- virtual dependency.
+ virtual dependency.
"""
+
def __init__(self, vpkg):
super(NoProviderError, self).__init__(
- "No providers found for virtual package: '%s'" % vpkg)
+ "No providers found for virtual package: '%s'" % vpkg
+ )
self.vpkg = vpkg
class MultipleProviderError(spack.error.SpecError):
"""Raised when there is no package that provides a particular
- virtual dependency.
+ virtual dependency.
"""
+
def __init__(self, vpkg, providers):
"""Takes the name of the vpkg"""
super(MultipleProviderError, self).__init__(
- "Multiple providers found for '%s': %s"
- % (vpkg, [str(s) for s in providers]))
+ "Multiple providers found for '%s': %s" % (vpkg, [str(s) for s in providers])
+ )
self.vpkg = vpkg
self.providers = providers
class UnsatisfiableSpecNameError(spack.error.UnsatisfiableSpecError):
"""Raised when two specs aren't even for the same package."""
+
def __init__(self, provided, required):
- super(UnsatisfiableSpecNameError, self).__init__(
- provided, required, "name")
+ super(UnsatisfiableSpecNameError, self).__init__(provided, required, "name")
class UnsatisfiableVersionSpecError(spack.error.UnsatisfiableSpecError):
"""Raised when a spec version conflicts with package constraints."""
+
def __init__(self, provided, required):
- super(UnsatisfiableVersionSpecError, self).__init__(
- provided, required, "version")
+ super(UnsatisfiableVersionSpecError, self).__init__(provided, required, "version")
class UnsatisfiableCompilerSpecError(spack.error.UnsatisfiableSpecError):
"""Raised when a spec comiler conflicts with package constraints."""
+
def __init__(self, provided, required):
- super(UnsatisfiableCompilerSpecError, self).__init__(
- provided, required, "compiler")
+ super(UnsatisfiableCompilerSpecError, self).__init__(provided, required, "compiler")
class UnsatisfiableCompilerFlagSpecError(spack.error.UnsatisfiableSpecError):
"""Raised when a spec variant conflicts with package constraints."""
+
def __init__(self, provided, required):
super(UnsatisfiableCompilerFlagSpecError, self).__init__(
- provided, required, "compiler_flags")
+ provided, required, "compiler_flags"
+ )
class UnsatisfiableArchitectureSpecError(spack.error.UnsatisfiableSpecError):
"""Raised when a spec architecture conflicts with package constraints."""
+
def __init__(self, provided, required):
super(UnsatisfiableArchitectureSpecError, self).__init__(
- provided, required, "architecture")
+ provided, required, "architecture"
+ )
class UnsatisfiableProviderSpecError(spack.error.UnsatisfiableSpecError):
"""Raised when a provider is supplied but constraints don't match
- a vpkg requirement"""
+ a vpkg requirement"""
+
def __init__(self, provided, required):
- super(UnsatisfiableProviderSpecError, self).__init__(
- provided, required, "provider")
+ super(UnsatisfiableProviderSpecError, self).__init__(provided, required, "provider")
# TODO: get rid of this and be more specific about particular incompatible
# dep constraints
class UnsatisfiableDependencySpecError(spack.error.UnsatisfiableSpecError):
"""Raised when some dependency of constrained specs are incompatible"""
+
def __init__(self, provided, required):
- super(UnsatisfiableDependencySpecError, self).__init__(
- provided, required, "dependency")
+ super(UnsatisfiableDependencySpecError, self).__init__(provided, required, "dependency")
class UnconstrainableDependencySpecError(spack.error.SpecError):
"""Raised when attempting to constrain by an anonymous dependency spec"""
+
def __init__(self, spec):
msg = "Cannot constrain by spec '%s'. Cannot constrain by a" % spec
msg += " spec containing anonymous dependencies"
@@ -5550,25 +5499,22 @@ class UnconstrainableDependencySpecError(spack.error.SpecError):
class AmbiguousHashError(spack.error.SpecError):
def __init__(self, msg, *specs):
- spec_fmt = '{namespace}.{name}{@version}{%compiler}{compiler_flags}'
- spec_fmt += '{variants}{arch=architecture}{/hash:7}'
- specs_str = '\n ' + '\n '.join(spec.format(spec_fmt)
- for spec in specs)
+ spec_fmt = "{namespace}.{name}{@version}{%compiler}{compiler_flags}"
+ spec_fmt += "{variants}{arch=architecture}{/hash:7}"
+ specs_str = "\n " + "\n ".join(spec.format(spec_fmt) for spec in specs)
super(AmbiguousHashError, self).__init__(msg + specs_str)
class InvalidHashError(spack.error.SpecError):
def __init__(self, spec, hash):
super(InvalidHashError, self).__init__(
- "The spec specified by %s does not match provided spec %s"
- % (hash, spec))
+ "The spec specified by %s does not match provided spec %s" % (hash, spec)
+ )
class NoSuchHashError(spack.error.SpecError):
def __init__(self, hash):
- super(NoSuchHashError, self).__init__(
- "No installed spec matches the hash: '%s'"
- % hash)
+ super(NoSuchHashError, self).__init__("No installed spec matches the hash: '%s'" % hash)
class SpecFilenameError(spack.error.SpecError):
@@ -5583,8 +5529,8 @@ class RedundantSpecError(spack.error.SpecError):
def __init__(self, spec, addition):
super(RedundantSpecError, self).__init__(
"Attempting to add %s to spec %s which is already concrete."
- " This is likely the result of adding to a spec specified by hash."
- % (addition, spec))
+ " This is likely the result of adding to a spec specified by hash." % (addition, spec)
+ )
class SpecFormatStringError(spack.error.SpecError):
@@ -5593,21 +5539,20 @@ class SpecFormatStringError(spack.error.SpecError):
class SpecFormatSigilError(SpecFormatStringError):
"""Called for mismatched sigils and attributes in format strings"""
+
def __init__(self, sigil, requirement, used):
- msg = 'The sigil %s may only be used for %s.' % (sigil, requirement)
- msg += ' It was used with the attribute %s.' % used
+ msg = "The sigil %s may only be used for %s." % (sigil, requirement)
+ msg += " It was used with the attribute %s." % used
super(SpecFormatSigilError, self).__init__(msg)
class ConflictsInSpecError(spack.error.SpecError, RuntimeError):
def __init__(self, spec, matches):
- message = 'Conflicts in concretized spec "{0}"\n'.format(
- spec.short_spec
- )
+ message = 'Conflicts in concretized spec "{0}"\n'.format(spec.short_spec)
visited = set()
- long_message = ''
+ long_message = ""
match_fmt_default = '{0}. "{1}" conflicts with "{2}"\n'
match_fmt_custom = '{0}. "{1}" conflicts with "{2}" [{3}]\n'
@@ -5616,8 +5561,8 @@ class ConflictsInSpecError(spack.error.SpecError, RuntimeError):
if s not in visited:
visited.add(s)
- long_message += 'List of matching conflicts for spec:\n\n'
- long_message += s.tree(indent=4) + '\n'
+ long_message += "List of matching conflicts for spec:\n\n"
+ long_message += s.tree(indent=4) + "\n"
if msg is None:
long_message += match_fmt_default.format(idx + 1, c, w)
diff --git a/lib/spack/spack/spec_list.py b/lib/spack/spack/spec_list.py
index 2582921e3e..aac099eb4d 100644
--- a/lib/spack/spack/spec_list.py
+++ b/lib/spack/spack/spec_list.py
@@ -12,8 +12,7 @@ from spack.spec import Spec
class SpecList(object):
-
- def __init__(self, name='specs', yaml_list=None, reference=None):
+ def __init__(self, name="specs", yaml_list=None, reference=None):
# Normalize input arguments
yaml_list = yaml_list or []
reference = reference or {}
@@ -22,11 +21,11 @@ class SpecList(object):
self._reference = reference # TODO: Do we need defensive copy here?
# Validate yaml_list before assigning
- if not all(isinstance(s, string_types) or isinstance(s, (list, dict))
- for s in yaml_list):
+ if not all(isinstance(s, string_types) or isinstance(s, (list, dict)) for s in yaml_list):
raise ValueError(
"yaml_list can contain only valid YAML types! Found:\n %s"
- % [type(s) for s in yaml_list])
+ % [type(s) for s in yaml_list]
+ )
self.yaml_list = yaml_list[:]
# Expansions can be expensive to compute and difficult to keep updated
@@ -82,13 +81,15 @@ class SpecList(object):
def remove(self, spec):
# Get spec to remove from list
- remove = [s for s in self.yaml_list
- if (isinstance(s, string_types) and not s.startswith('$'))
- and Spec(s) == Spec(spec)]
+ remove = [
+ s
+ for s in self.yaml_list
+ if (isinstance(s, string_types) and not s.startswith("$")) and Spec(s) == Spec(spec)
+ ]
if not remove:
- msg = 'Cannot remove %s from SpecList %s\n' % (spec, self.name)
- msg += 'Either %s is not in %s or %s is ' % (spec, self.name, spec)
- msg += 'expanded from a matrix and cannot be removed directly.'
+ msg = "Cannot remove %s from SpecList %s\n" % (spec, self.name)
+ msg += "Either %s is not in %s or %s is " % (spec, self.name, spec)
+ msg += "expanded from a matrix and cannot be removed directly."
raise SpecListError(msg)
assert len(remove) == 1
self.yaml_list.remove(remove[0])
@@ -114,19 +115,19 @@ class SpecList(object):
self._specs = None
def _parse_reference(self, name):
- sigil = ''
+ sigil = ""
name = name[1:]
# Parse specs as constraints
- if name.startswith('^') or name.startswith('%'):
+ if name.startswith("^") or name.startswith("%"):
sigil = name[0]
name = name[1:]
# Make sure the reference is valid
if name not in self._reference:
- msg = 'SpecList %s refers to ' % self.name
- msg += 'named list %s ' % name
- msg += 'which does not appear in its reference dict'
+ msg = "SpecList %s refers to " % self.name
+ msg += "named list %s " % name
+ msg += "which does not appear in its reference dict"
raise UndefinedReferenceError(msg)
return (name, sigil)
@@ -137,12 +138,11 @@ class SpecList(object):
for item in yaml:
# if it's a reference, expand it
- if isinstance(item, string_types) and item.startswith('$'):
+ if isinstance(item, string_types) and item.startswith("$"):
# replace the reference and apply the sigil if needed
name, sigil = self._parse_reference(item)
referent = [
- _sigilify(item, sigil)
- for item in self._reference[name].specs_as_yaml_list
+ _sigilify(item, sigil) for item in self._reference[name].specs_as_yaml_list
]
ret.extend(referent)
else:
@@ -151,8 +151,7 @@ class SpecList(object):
return ret
elif isinstance(yaml, dict):
# There can't be expansions in dicts
- return dict((name, self._expand_references(val))
- for (name, val) in yaml.items())
+ return dict((name, self._expand_references(val)) for (name, val) in yaml.items())
else:
# Strings are just returned
return yaml
@@ -167,27 +166,28 @@ class SpecList(object):
def _expand_matrix_constraints(matrix_config):
# recurse so we can handle nested matrices
expanded_rows = []
- for row in matrix_config['matrix']:
+ for row in matrix_config["matrix"]:
new_row = []
for r in row:
if isinstance(r, dict):
# Flatten the nested matrix into a single row of constraints
new_row.extend(
- [[' '.join([str(c) for c in expanded_constraint_list])]
- for expanded_constraint_list in _expand_matrix_constraints(r)]
+ [
+ [" ".join([str(c) for c in expanded_constraint_list])]
+ for expanded_constraint_list in _expand_matrix_constraints(r)
+ ]
)
else:
new_row.append([r])
expanded_rows.append(new_row)
- excludes = matrix_config.get('exclude', []) # only compute once
- sigil = matrix_config.get('sigil', '')
+ excludes = matrix_config.get("exclude", []) # only compute once
+ sigil = matrix_config.get("sigil", "")
results = []
for combo in itertools.product(*expanded_rows):
# Construct a combined spec to test against excludes
- flat_combo = [constraint for constraint_list in combo
- for constraint in constraint_list]
+ flat_combo = [constraint for constraint_list in combo for constraint in constraint_list]
flat_combo = [Spec(x) for x in flat_combo]
test_spec = flat_combo[0].copy()
@@ -219,7 +219,7 @@ def _expand_matrix_constraints(matrix_config):
def _sigilify(item, sigil):
if isinstance(item, dict):
if sigil:
- item['sigil'] = sigil
+ item["sigil"] = sigil
return item
else:
return sigil + item
diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py
index a5d29f2917..ddd5bba8b8 100644
--- a/lib/spack/spack/stage.py
+++ b/lib/spack/spack/stage.py
@@ -44,10 +44,10 @@ import spack.util.url as url_util
from spack.util.crypto import bit_length, prefix_bits
# The well-known stage source subdirectory name.
-_source_path_subdir = 'spack-src'
+_source_path_subdir = "spack-src"
# The temporary stage name prefix.
-stage_prefix = 'spack-stage-'
+stage_prefix = "spack-stage-"
def create_stage_root(path):
@@ -56,13 +56,12 @@ def create_stage_root(path):
"""Create the stage root directory and ensure appropriate access perms."""
assert os.path.isabs(path) and len(path.strip()) > 1
- err_msg = 'Cannot create stage root {0}: Access to {1} is denied'
+ err_msg = "Cannot create stage root {0}: Access to {1} is denied"
user_uid = getuid()
# Obtain lists of ancestor and descendant paths of the $user node, if any.
- group_paths, user_node, user_paths = partition_path(path,
- getpass.getuser())
+ group_paths, user_node, user_paths = partition_path(path, getpass.getuser())
for p in group_paths:
if not os.path.exists(p):
@@ -73,12 +72,18 @@ def create_stage_root(path):
p_stat = os.stat(p)
if par_stat.st_gid != p_stat.st_gid:
- tty.warn("Expected {0} to have group {1}, but it is {2}"
- .format(p, par_stat.st_gid, p_stat.st_gid))
+ tty.warn(
+ "Expected {0} to have group {1}, but it is {2}".format(
+ p, par_stat.st_gid, p_stat.st_gid
+ )
+ )
if par_stat.st_mode & p_stat.st_mode != par_stat.st_mode:
- tty.warn("Expected {0} to support mode {1}, but it is {2}"
- .format(p, par_stat.st_mode, p_stat.st_mode))
+ tty.warn(
+ "Expected {0} to support mode {1}, but it is {2}".format(
+ p, par_stat.st_mode, p_stat.st_mode
+ )
+ )
if not can_access(p):
raise OSError(errno.EACCES, err_msg.format(path, p))
@@ -93,8 +98,11 @@ def create_stage_root(path):
# restricted to the user.
owner_uid = get_owner_uid(p)
if user_uid != owner_uid:
- tty.warn("Expected user {0} to own {1}, but it is owned by {2}"
- .format(user_uid, p, owner_uid))
+ tty.warn(
+ "Expected user {0} to own {1}, but it is owned by {2}".format(
+ user_uid, p, owner_uid
+ )
+ )
spack_src_subdir = os.path.join(path, _source_path_subdir)
# When staging into a user-specified directory with `spack stage -p <PATH>`, we need
@@ -120,8 +128,7 @@ def _first_accessible_path(paths):
return path
except OSError as e:
- tty.debug('OSError while checking stage path %s: %s' % (
- path, str(e)))
+ tty.debug("OSError while checking stage path %s: %s" % (path, str(e)))
return None
@@ -133,7 +140,7 @@ def _resolve_paths(candidates):
Adjustments involve removing extra $user from $tempdir if $tempdir includes
$user and appending $user if it is not present in the path.
"""
- temp_path = sup.canonicalize_path('$tempdir')
+ temp_path = sup.canonicalize_path("$tempdir")
user = getpass.getuser()
tmp_has_usr = user in temp_path.split(os.path.sep)
@@ -141,7 +148,7 @@ def _resolve_paths(candidates):
for path in candidates:
# Remove the extra `$user` node from a `$tempdir/$user` entry for
# hosts that automatically append `$user` to `$tempdir`.
- if path.startswith(os.path.join('$tempdir', '$user')) and tmp_has_usr:
+ if path.startswith(os.path.join("$tempdir", "$user")) and tmp_has_usr:
path = path.replace("/$user", "", 1)
# Ensure the path is unique per user.
@@ -162,15 +169,14 @@ def get_stage_root():
global _stage_root
if _stage_root is None:
- candidates = spack.config.get('config:build_stage')
+ candidates = spack.config.get("config:build_stage")
if isinstance(candidates, string_types):
candidates = [candidates]
resolved_candidates = _resolve_paths(candidates)
path = _first_accessible_path(resolved_candidates)
if not path:
- raise StageError("No accessible stage paths in:",
- ' '.join(resolved_candidates))
+ raise StageError("No accessible stage paths in:", " ".join(resolved_candidates))
_stage_root = path
@@ -178,11 +184,13 @@ def get_stage_root():
def _mirror_roots():
- mirrors = spack.config.get('mirrors')
+ mirrors = spack.config.get("mirrors")
return [
- sup.substitute_path_variables(root) if root.endswith(os.sep)
+ sup.substitute_path_variables(root)
+ if root.endswith(os.sep)
else sup.substitute_path_variables(root) + os.sep
- for root in mirrors.values()]
+ for root in mirrors.values()
+ ]
class Stage(object):
@@ -234,42 +242,48 @@ class Stage(object):
managed_by_spack = True
def __init__(
- self, url_or_fetch_strategy,
- name=None, mirror_paths=None, keep=False, path=None, lock=True,
- search_fn=None):
+ self,
+ url_or_fetch_strategy,
+ name=None,
+ mirror_paths=None,
+ keep=False,
+ path=None,
+ lock=True,
+ search_fn=None,
+ ):
"""Create a stage object.
- Parameters:
- url_or_fetch_strategy
- URL of the archive to be downloaded into this stage, OR
- a valid FetchStrategy.
-
- name
- If a name is provided, then this stage is a named stage
- and will persist between runs (or if you construct another
- stage object later). If name is not provided, then this
- stage will be given a unique name automatically.
-
- mirror_paths
- If provided, Stage will search Spack's mirrors for
- this archive at each of the provided relative mirror paths
- before using the default fetch strategy.
-
- keep
- By default, when used as a context manager, the Stage
- is deleted on exit when no exceptions are raised.
- Pass True to keep the stage intact even if no
- exceptions are raised.
-
- path
- If provided, the stage path to use for associated builds.
-
- lock
- True if the stage directory file lock is to be used, False
- otherwise.
-
- search_fn
- The search function that provides the fetch strategy
- instance.
+ Parameters:
+ url_or_fetch_strategy
+ URL of the archive to be downloaded into this stage, OR
+ a valid FetchStrategy.
+
+ name
+ If a name is provided, then this stage is a named stage
+ and will persist between runs (or if you construct another
+ stage object later). If name is not provided, then this
+ stage will be given a unique name automatically.
+
+ mirror_paths
+ If provided, Stage will search Spack's mirrors for
+ this archive at each of the provided relative mirror paths
+ before using the default fetch strategy.
+
+ keep
+ By default, when used as a context manager, the Stage
+ is deleted on exit when no exceptions are raised.
+ Pass True to keep the stage intact even if no
+ exceptions are raised.
+
+ path
+ If provided, the stage path to use for associated builds.
+
+ lock
+ True if the stage directory file lock is to be used, False
+ otherwise.
+
+ search_fn
+ The search function that provides the fetch strategy
+ instance.
"""
# TODO: fetch/stage coupling needs to be reworked -- the logic
# TODO: here is convoluted and not modular enough.
@@ -278,8 +292,7 @@ class Stage(object):
elif isinstance(url_or_fetch_strategy, fs.FetchStrategy):
self.fetcher = url_or_fetch_strategy
else:
- raise ValueError(
- "Can't construct Stage without url or fetch strategy")
+ raise ValueError("Can't construct Stage without url or fetch strategy")
self.fetcher.stage = self
# self.fetcher can change with mirrors.
self.default_fetcher = self.fetcher
@@ -312,13 +325,14 @@ class Stage(object):
self._lock = None
if lock:
if self.name not in Stage.stage_locks:
- sha1 = hashlib.sha1(self.name.encode('utf-8')).digest()
+ sha1 = hashlib.sha1(self.name.encode("utf-8")).digest()
lock_id = prefix_bits(sha1, bit_length(sys.maxsize))
- stage_lock_path = os.path.join(get_stage_root(), '.lock')
+ stage_lock_path = os.path.join(get_stage_root(), ".lock")
tty.debug("Creating stage lock {0}".format(self.name))
Stage.stage_locks[self.name] = spack.util.lock.Lock(
- stage_lock_path, lock_id, 1, desc=self.name)
+ stage_lock_path, lock_id, 1, desc=self.name
+ )
self._lock = Stage.stage_locks[self.name]
@@ -367,8 +381,7 @@ class Stage(object):
expanded = True
if isinstance(self.default_fetcher, fs.URLFetchStrategy):
expanded = self.default_fetcher.expand_archive
- clean_url = os.path.basename(
- sup.sanitize_file_path(self.default_fetcher.url))
+ clean_url = os.path.basename(sup.sanitize_file_path(self.default_fetcher.url))
fnames.append(clean_url)
if self.mirror_paths:
@@ -435,14 +448,16 @@ class Stage(object):
for rel_path in self.mirror_paths:
mirror_url = url_util.join(mirror.fetch_url, rel_path)
mirror_urls[mirror_url] = {}
- if mirror.get_access_pair("fetch") or \
- mirror.get_access_token("fetch") or \
- mirror.get_profile("fetch"):
+ if (
+ mirror.get_access_pair("fetch")
+ or mirror.get_access_token("fetch")
+ or mirror.get_profile("fetch")
+ ):
mirror_urls[mirror_url] = {
"access_token": mirror.get_access_token("fetch"),
"access_pair": mirror.get_access_pair("fetch"),
"access_profile": mirror.get_profile("fetch"),
- "endpoint_url": mirror.get_endpoint_url("fetch")
+ "endpoint_url": mirror.get_endpoint_url("fetch"),
}
# If this archive is normally fetched from a tarball URL,
@@ -464,15 +479,21 @@ class Stage(object):
# Insert fetchers in the order that the URLs are provided.
for url in reversed(list(mirror_urls.keys())):
fetchers.insert(
- 0, fs.from_url_scheme(
- url, digest, expand=expand, extension=extension,
- connection=mirror_urls[url]))
+ 0,
+ fs.from_url_scheme(
+ url,
+ digest,
+ expand=expand,
+ extension=extension,
+ connection=mirror_urls[url],
+ ),
+ )
if self.default_fetcher.cachable:
for rel_path in reversed(list(self.mirror_paths)):
cache_fetcher = spack.caches.fetch_cache.fetcher(
- rel_path, digest, expand=expand,
- extension=extension)
+ rel_path, digest, expand=expand, extension=extension
+ )
fetchers.insert(0, cache_fetcher)
def generate_fetchers():
@@ -500,14 +521,14 @@ class Stage(object):
# Don't bother reporting when something is not cached.
continue
except spack.error.SpackError as e:
- errors.append('Fetching from {0} failed.'.format(fetcher))
+ errors.append("Fetching from {0} failed.".format(fetcher))
tty.debug(e)
continue
else:
print_errors(errors)
self.fetcher = self.default_fetcher
- default_msg = 'All fetchers failed for {0}'.format(self.name)
+ default_msg = "All fetchers failed for {0}".format(self.name)
raise fs.FetchError(err_msg or default_msg, None)
print_errors(errors)
@@ -528,8 +549,8 @@ class Stage(object):
mkdirp(dest)
# glob all files and directories in the source path
- hidden_entries = glob.glob(os.path.join(self.source_path, '.*'))
- entries = glob.glob(os.path.join(self.source_path, '*'))
+ hidden_entries = glob.glob(os.path.join(self.source_path, ".*"))
+ entries = glob.glob(os.path.join(self.source_path, "*"))
# Move all files from stage to destination directory
# Include hidden files for VCS repo history
@@ -549,21 +570,21 @@ class Stage(object):
def check(self):
"""Check the downloaded archive against a checksum digest.
- No-op if this stage checks code out of a repository."""
- if self.fetcher is not self.default_fetcher and \
- self.skip_checksum_for_mirror:
- tty.warn("Fetching from mirror without a checksum!",
- "This package is normally checked out from a version "
- "control system, but it has been archived on a spack "
- "mirror. This means we cannot know a checksum for the "
- "tarball in advance. Be sure that your connection to "
- "this mirror is secure!")
- elif spack.config.get('config:checksum'):
+ No-op if this stage checks code out of a repository."""
+ if self.fetcher is not self.default_fetcher and self.skip_checksum_for_mirror:
+ tty.warn(
+ "Fetching from mirror without a checksum!",
+ "This package is normally checked out from a version "
+ "control system, but it has been archived on a spack "
+ "mirror. This means we cannot know a checksum for the "
+ "tarball in advance. Be sure that your connection to "
+ "this mirror is secure!",
+ )
+ elif spack.config.get("config:checksum"):
self.fetcher.check()
def cache_local(self):
- spack.caches.fetch_cache.store(
- self.fetcher, self.mirror_paths.storage_path)
+ spack.caches.fetch_cache.store(self.fetcher, self.mirror_paths.storage_path)
def cache_mirror(self, mirror, stats):
"""Perform a fetch if the resource is not already cached
@@ -584,20 +605,17 @@ class Stage(object):
# must examine the type of the fetcher.
return
- if (mirror.skip_unstable_versions and
- not fs.stable_target(self.default_fetcher)):
+ if mirror.skip_unstable_versions and not fs.stable_target(self.default_fetcher):
return
- absolute_storage_path = os.path.join(
- mirror.root, self.mirror_paths.storage_path)
+ absolute_storage_path = os.path.join(mirror.root, self.mirror_paths.storage_path)
if os.path.exists(absolute_storage_path):
stats.already_existed(absolute_storage_path)
else:
self.fetch()
self.check()
- mirror.store(
- self.fetcher, self.mirror_paths.storage_path)
+ mirror.store(self.fetcher, self.mirror_paths.storage_path)
stats.added(absolute_storage_path)
mirror.symlink(self.mirror_paths)
@@ -608,13 +626,13 @@ class Stage(object):
downloaded."""
if not self.expanded:
self.fetcher.expand()
- tty.debug('Created stage in {0}'.format(self.path))
+ tty.debug("Created stage in {0}".format(self.path))
else:
- tty.debug('Already staged {0} in {1}'.format(self.name, self.path))
+ tty.debug("Already staged {0} in {1}".format(self.name, self.path))
def restage(self):
"""Removes the expanded archive path if it exists, then re-expands
- the archive.
+ the archive.
"""
self.fetcher.reset()
@@ -649,7 +667,6 @@ class Stage(object):
class ResourceStage(Stage):
-
def __init__(self, url_or_fetch_strategy, root, resource, **kwargs):
super(ResourceStage, self).__init__(url_or_fetch_strategy, **kwargs)
self.root_stage = root
@@ -678,10 +695,9 @@ class ResourceStage(Stage):
placement = self.source_path
if not isinstance(placement, dict):
- placement = {'': placement}
+ placement = {"": placement}
- target_path = os.path.join(
- root_stage.source_path, resource.destination)
+ target_path = os.path.join(root_stage.source_path, resource.destination)
try:
os.makedirs(target_path)
@@ -697,10 +713,12 @@ class ResourceStage(Stage):
source_path = os.path.join(self.source_path, key)
if not os.path.exists(destination_path):
- tty.info('Moving resource stage\n\tsource: '
- '{stage}\n\tdestination: {destination}'.format(
- stage=source_path, destination=destination_path
- ))
+ tty.info(
+ "Moving resource stage\n\tsource: "
+ "{stage}\n\tdestination: {destination}".format(
+ stage=source_path, destination=destination_path
+ )
+ )
src = os.path.realpath(source_path)
@@ -714,15 +732,27 @@ class StageComposite(pattern.Composite):
"""Composite for Stage type objects. The first item in this composite is
considered to be the root package, and operations that return a value are
forwarded to it."""
+
#
# __enter__ and __exit__ delegate to all stages in the composite.
#
def __init__(self):
- super(StageComposite, self).__init__([
- 'fetch', 'create', 'created', 'check', 'expand_archive', 'restage',
- 'destroy', 'cache_local', 'cache_mirror', 'steal_source',
- 'managed_by_spack'])
+ super(StageComposite, self).__init__(
+ [
+ "fetch",
+ "create",
+ "created",
+ "check",
+ "expand_archive",
+ "restage",
+ "destroy",
+ "cache_local",
+ "cache_mirror",
+ "steal_source",
+ "managed_by_spack",
+ ]
+ )
def __enter__(self):
for item in self:
@@ -731,7 +761,7 @@ class StageComposite(pattern.Composite):
def __exit__(self, exc_type, exc_val, exc_tb):
for item in reversed(self):
- item.keep = getattr(self, 'keep', False)
+ item.keep = getattr(self, "keep", False)
item.__exit__(exc_type, exc_val, exc_tb)
#
@@ -768,8 +798,7 @@ class DIYStage(object):
if path is None:
raise ValueError("Cannot construct DIYStage without a path.")
elif not os.path.isdir(path):
- raise StagePathError("The stage path directory does not exist:",
- path)
+ raise StagePathError("The stage path directory does not exist:", path)
self.archive_file = None
self.path = path
@@ -784,13 +813,13 @@ class DIYStage(object):
pass
def fetch(self, *args, **kwargs):
- tty.debug('No need to fetch for DIY.')
+ tty.debug("No need to fetch for DIY.")
def check(self):
- tty.debug('No checksum needed for DIY.')
+ tty.debug("No checksum needed for DIY.")
def expand_archive(self):
- tty.debug('Using source directory: {0}'.format(self.source_path))
+ tty.debug("Using source directory: {0}".format(self.source_path))
@property
def expanded(self):
@@ -808,7 +837,7 @@ class DIYStage(object):
pass
def cache_local(self):
- tty.debug('Sources for DIY stages are not cached')
+ tty.debug("Sources for DIY stages are not cached")
def ensure_access(file):
@@ -822,7 +851,7 @@ def purge():
root = get_stage_root()
if os.path.isdir(root):
for stage_dir in os.listdir(root):
- if stage_dir.startswith(stage_prefix) or stage_dir == '.lock':
+ if stage_dir.startswith(stage_prefix) or stage_dir == ".lock":
stage_path = os.path.join(root, stage_dir)
if os.path.isdir(stage_path):
remove_linked_tree(stage_path)
@@ -854,11 +883,11 @@ def get_checksums_for_versions(url_dict, name, **kwargs):
(str): A multi-line string containing versions and corresponding hashes
"""
- batch = kwargs.get('batch', False)
- fetch_options = kwargs.get('fetch_options', None)
- first_stage_function = kwargs.get('first_stage_function', None)
- keep_stage = kwargs.get('keep_stage', False)
- latest = kwargs.get('latest', False)
+ batch = kwargs.get("batch", False)
+ fetch_options = kwargs.get("fetch_options", None)
+ first_stage_function = kwargs.get("first_stage_function", None)
+ keep_stage = kwargs.get("keep_stage", False)
+ latest = kwargs.get("latest", False)
sorted_versions = sorted(url_dict.keys(), reverse=True)
if latest:
@@ -868,19 +897,21 @@ def get_checksums_for_versions(url_dict, name, **kwargs):
max_len = max(len(str(v)) for v in sorted_versions)
num_ver = len(sorted_versions)
- tty.msg('Found {0} version{1} of {2}:'.format(
- num_ver, '' if num_ver == 1 else 's', name),
- '',
- *llnl.util.lang.elide_list(
- ['{0:{1}} {2}'.format(str(v), max_len, url_dict[v])
- for v in sorted_versions]))
+ tty.msg(
+ "Found {0} version{1} of {2}:".format(num_ver, "" if num_ver == 1 else "s", name),
+ "",
+ *llnl.util.lang.elide_list(
+ ["{0:{1}} {2}".format(str(v), max_len, url_dict[v]) for v in sorted_versions]
+ )
+ )
print()
if batch or latest:
archives_to_fetch = len(sorted_versions)
else:
archives_to_fetch = tty.get_number(
- "How many would you like to checksum?", default=1, abort='q')
+ "How many would you like to checksum?", default=1, abort="q"
+ )
if not archives_to_fetch:
tty.die("Aborted.")
@@ -888,19 +919,18 @@ def get_checksums_for_versions(url_dict, name, **kwargs):
versions = sorted_versions[:archives_to_fetch]
urls = [url_dict[v] for v in versions]
- tty.debug('Downloading...')
+ tty.debug("Downloading...")
version_hashes = []
i = 0
errors = []
for url, version in zip(urls, versions):
# Wheels should not be expanded during staging
- expand_arg = ''
- if url.endswith('.whl') or '.whl#' in url:
- expand_arg = ', expand=False'
+ expand_arg = ""
+ if url.endswith(".whl") or ".whl#" in url:
+ expand_arg = ", expand=False"
try:
if fetch_options:
- url_or_fs = fs.URLFetchStrategy(
- url, fetch_options=fetch_options)
+ url_or_fs = fs.URLFetchStrategy(url, fetch_options=fetch_options)
else:
url_or_fs = url
with Stage(url_or_fs, keep=keep_stage) as stage:
@@ -912,13 +942,14 @@ def get_checksums_for_versions(url_dict, name, **kwargs):
first_stage_function(stage, url)
# Checksum the archive and add it to the list
- version_hashes.append((version, spack.util.crypto.checksum(
- hashlib.sha256, stage.archive_file)))
+ version_hashes.append(
+ (version, spack.util.crypto.checksum(hashlib.sha256, stage.archive_file))
+ )
i += 1
except FailedDownloadError:
- errors.append('Failed to fetch {0}'.format(url))
+ errors.append("Failed to fetch {0}".format(url))
except Exception as e:
- tty.msg('Something failed on {0}, skipping. ({1})'.format(url, e))
+ tty.msg("Something failed on {0}, skipping. ({1})".format(url, e))
for msg in errors:
tty.debug(msg)
@@ -930,28 +961,33 @@ def get_checksums_for_versions(url_dict, name, **kwargs):
max_len = max(len(str(v)) for v, h in version_hashes)
# Generate the version directives to put in a package.py
- version_lines = "\n".join([
- " version('{0}', {1}sha256='{2}'{3})".format(
- v, ' ' * (max_len - len(str(v))), h, expand_arg) for v, h in version_hashes
- ])
+ version_lines = "\n".join(
+ [
+ " version('{0}', {1}sha256='{2}'{3})".format(
+ v, " " * (max_len - len(str(v))), h, expand_arg
+ )
+ for v, h in version_hashes
+ ]
+ )
num_hash = len(version_hashes)
- tty.debug('Checksummed {0} version{1} of {2}:'.format(
- num_hash, '' if num_hash == 1 else 's', name))
+ tty.debug(
+ "Checksummed {0} version{1} of {2}:".format(num_hash, "" if num_hash == 1 else "s", name)
+ )
return version_lines
class StageError(spack.error.SpackError):
- """"Superclass for all errors encountered during staging."""
+ """ "Superclass for all errors encountered during staging."""
class StagePathError(StageError):
- """"Error encountered with stage path."""
+ """ "Error encountered with stage path."""
class RestageError(StageError):
- """"Error encountered during restaging."""
+ """ "Error encountered during restaging."""
class VersionFetchError(StageError):
diff --git a/lib/spack/spack/store.py b/lib/spack/spack/store.py
index eeb183e5b4..4e38d0c634 100644
--- a/lib/spack/spack/store.py
+++ b/lib/spack/spack/store.py
@@ -34,7 +34,7 @@ import spack.paths
import spack.util.path
#: default installation root, relative to the Spack install path
-default_install_tree_root = os.path.join(spack.paths.opt_path, 'spack')
+default_install_tree_root = os.path.join(spack.paths.opt_path, "spack")
def parse_install_tree(config_dict):
@@ -66,7 +66,7 @@ def parse_install_tree(config_dict):
# projections:
# all: '{name}-{version}'
- install_tree = config_dict.get('install_tree', {})
+ install_tree = config_dict.get("install_tree", {})
padded_length = False
if isinstance(install_tree, six.string_types):
@@ -75,38 +75,39 @@ def parse_install_tree(config_dict):
unpadded_root = spack.util.path.canonicalize_path(unpadded_root)
# construct projection from previous values for backwards compatibility
all_projection = config_dict.get(
- 'install_path_scheme',
- spack.directory_layout.default_projections['all'])
+ "install_path_scheme", spack.directory_layout.default_projections["all"]
+ )
- projections = {'all': all_projection}
+ projections = {"all": all_projection}
else:
- unpadded_root = install_tree.get('root', default_install_tree_root)
+ unpadded_root = install_tree.get("root", default_install_tree_root)
unpadded_root = spack.util.path.canonicalize_path(unpadded_root)
- padded_length = install_tree.get('padded_length', False)
+ padded_length = install_tree.get("padded_length", False)
if padded_length is True:
padded_length = spack.util.path.get_system_path_max()
padded_length -= spack.util.path.SPACK_MAX_INSTALL_PATH_LENGTH
- projections = install_tree.get(
- 'projections', spack.directory_layout.default_projections)
+ projections = install_tree.get("projections", spack.directory_layout.default_projections)
- path_scheme = config_dict.get('install_path_scheme', None)
+ path_scheme = config_dict.get("install_path_scheme", None)
if path_scheme:
- tty.warn("Deprecated config value 'install_path_scheme' ignored"
- " when using new install_tree syntax")
+ tty.warn(
+ "Deprecated config value 'install_path_scheme' ignored"
+ " when using new install_tree syntax"
+ )
# Handle backwards compatibility for padding
- old_pad = re.search(r'\$padding(:\d+)?|\${padding(:\d+)?}', unpadded_root)
+ old_pad = re.search(r"\$padding(:\d+)?|\${padding(:\d+)?}", unpadded_root)
if old_pad:
if padded_length:
msg = "Ignoring deprecated padding option in install_tree root "
msg += "because new syntax padding is present."
tty.warn(msg)
else:
- unpadded_root = unpadded_root.replace(old_pad.group(0), '')
+ unpadded_root = unpadded_root.replace(old_pad.group(0), "")
if old_pad.group(1) or old_pad.group(2):
- length_group = 2 if '{' in old_pad.group(0) else 1
+ length_group = 2 if "{" in old_pad.group(0) else 1
padded_length = int(old_pad.group(length_group)[1:])
else:
padded_length = spack.util.path.get_system_path_max()
@@ -148,17 +149,16 @@ class Store(object):
hash_length (int): length of the hashes used in the directory
layout; spec hash suffixes will be truncated to this length
"""
- def __init__(
- self, root, unpadded_root=None, projections=None, hash_length=None
- ):
+
+ def __init__(self, root, unpadded_root=None, projections=None, hash_length=None):
self.root = root
self.unpadded_root = unpadded_root or root
self.projections = projections
self.hash_length = hash_length
- self.db = spack.database.Database(
- root, upstream_dbs=retrieve_upstream_dbs())
+ self.db = spack.database.Database(root, upstream_dbs=retrieve_upstream_dbs())
self.layout = spack.directory_layout.DirectoryLayout(
- root, projections=projections, hash_length=hash_length)
+ root, projections=projections, hash_length=hash_length
+ )
def reindex(self):
"""Convenience function to reindex the store DB with its own layout."""
@@ -168,9 +168,7 @@ class Store(object):
"""Return a pickle-able object that can be used to reconstruct
a store.
"""
- return (
- self.root, self.unpadded_root, self.projections, self.hash_length
- )
+ return (self.root, self.unpadded_root, self.projections, self.hash_length)
@staticmethod
def deserialize(token):
@@ -189,24 +187,26 @@ class Store(object):
def _store():
"""Get the singleton store instance."""
import spack.bootstrap
- config_dict = spack.config.get('config')
+
+ config_dict = spack.config.get("config")
root, unpadded_root, projections = parse_install_tree(config_dict)
- hash_length = spack.config.get('config:install_hash_length')
+ hash_length = spack.config.get("config:install_hash_length")
# Check that the user is not trying to install software into the store
# reserved by Spack to bootstrap its own dependencies, since this would
# lead to bizarre behaviors (e.g. cleaning the bootstrap area would wipe
# user installed software)
- enable_bootstrap = spack.config.get('bootstrap:enable', True)
+ enable_bootstrap = spack.config.get("bootstrap:enable", True)
if enable_bootstrap and spack.bootstrap.store_path() == root:
- msg = ('please change the install tree root "{0}" in your '
- 'configuration [path reserved for Spack internal use]')
+ msg = (
+ 'please change the install tree root "{0}" in your '
+ "configuration [path reserved for Spack internal use]"
+ )
raise ValueError(msg.format(root))
- return Store(root=root,
- unpadded_root=unpadded_root,
- projections=projections,
- hash_length=hash_length)
+ return Store(
+ root=root, unpadded_root=unpadded_root, projections=projections, hash_length=hash_length
+ )
#: Singleton store instance
@@ -262,22 +262,22 @@ def restore(token):
def retrieve_upstream_dbs():
- other_spack_instances = spack.config.get('upstreams', {})
+ other_spack_instances = spack.config.get("upstreams", {})
install_roots = []
for install_properties in other_spack_instances.values():
- install_roots.append(install_properties['install_tree'])
+ install_roots.append(install_properties["install_tree"])
return _construct_upstream_dbs_from_install_roots(install_roots)
-def _construct_upstream_dbs_from_install_roots(
- install_roots, _test=False):
+def _construct_upstream_dbs_from_install_roots(install_roots, _test=False):
accumulated_upstream_dbs = []
for install_root in reversed(install_roots):
upstream_dbs = list(accumulated_upstream_dbs)
next_db = spack.database.Database(
- install_root, is_upstream=True, upstream_dbs=upstream_dbs)
+ install_root, is_upstream=True, upstream_dbs=upstream_dbs
+ )
next_db._fail_when_missing_deps = _test
next_db._read()
accumulated_upstream_dbs.insert(0, next_db)
@@ -320,9 +320,7 @@ def find(constraints, multiple=False, query_fn=None, **kwargs):
# For each spec provided, make sure it refers to only one package.
if not multiple and len(current_matches) > 1:
msg_fmt = '"{0}" matches multiple packages: [{1}]'
- errors.append(
- msg_fmt.format(spec, ', '.join([m.format() for m in current_matches]))
- )
+ errors.append(msg_fmt.format(spec, ", ".join([m.format() for m in current_matches])))
# No installed package matches the query
if len(current_matches) == 0 and spec is not any:
@@ -334,7 +332,7 @@ def find(constraints, multiple=False, query_fn=None, **kwargs):
if errors:
raise MatchError(
message="errors occurred when looking for specs in the store",
- long_message='\n'.join(errors)
+ long_message="\n".join(errors),
)
return matching_specs
diff --git a/lib/spack/spack/subprocess_context.py b/lib/spack/spack/subprocess_context.py
index 4251516f82..7199112eb7 100644
--- a/lib/spack/spack/subprocess_context.py
+++ b/lib/spack/spack/subprocess_context.py
@@ -27,8 +27,7 @@ import spack.platforms
import spack.repo
import spack.store
-_serialize = sys.platform == 'win32' or (sys.version_info >= (3, 8)
- and sys.platform == 'darwin')
+_serialize = sys.platform == "win32" or (sys.version_info >= (3, 8) and sys.platform == "darwin")
patches = None
@@ -58,15 +57,14 @@ class SpackTestProcess(object):
def create(self):
test_state = TestState()
- return multiprocessing.Process(
- target=self._restore_and_run,
- args=(self.fn, test_state))
+ return multiprocessing.Process(target=self._restore_and_run, args=(self.fn, test_state))
class PackageInstallContext(object):
"""Captures the in-memory process state of a package installation that
needs to be transmitted to a child process.
"""
+
def __init__(self, pkg):
if _serialize:
self.serialized_pkg = serialize(pkg)
@@ -93,6 +91,7 @@ class TestState(object):
applied to a subprocess. This isn't needed outside of a testing environment
but this logic is designed to behave the same inside or outside of tests.
"""
+
def __init__(self):
if _serialize:
self.repo_dirs = list(r.root for r in spack.repo.path.repos)
@@ -119,10 +118,8 @@ class TestState(object):
class TestPatches(object):
def __init__(self, module_patches, class_patches):
- self.module_patches = list(
- (x, y, serialize(z)) for (x, y, z) in module_patches)
- self.class_patches = list(
- (x, y, serialize(z)) for (x, y, z) in class_patches)
+ self.module_patches = list((x, y, serialize(z)) for (x, y, z) in module_patches)
+ self.class_patches = list((x, y, serialize(z)) for (x, y, z) in class_patches)
def restore(self):
for module_name, attr_name, value in self.module_patches:
@@ -148,7 +145,7 @@ def store_patches():
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_fqn = ".".join([target.__module__, target.__name__])
class_patches.append((class_fqn, name, new_val))
return TestPatches(module_patches, class_patches)
diff --git a/lib/spack/spack/tag.py b/lib/spack/spack/tag.py
index 86988738b0..44c162ccc1 100644
--- a/lib/spack/spack/tag.py
+++ b/lib/spack/spack/tag.py
@@ -39,8 +39,9 @@ def packages_with_tags(tags, installed, skip_empty):
spec_names = _get_installed_package_names() if installed else []
keys = spack.repo.path.tag_index if tags is None else tags
for tag in keys:
- packages = [name for name in spack.repo.path.tag_index[tag] if
- not installed or name in spec_names]
+ packages = [
+ name for name in spack.repo.path.tag_index[tag] if not installed or name in spec_names
+ ]
if packages or not skip_empty:
tag_pkgs[tag] = packages
return tag_pkgs
@@ -57,7 +58,7 @@ class TagIndex(Mapping):
return self._tag_dict
def to_json(self, stream):
- sjson.dump({'tags': self._tag_dict}, stream)
+ sjson.dump({"tags": self._tag_dict}, stream)
@staticmethod
def from_json(stream):
@@ -66,12 +67,12 @@ class TagIndex(Mapping):
if not isinstance(d, dict):
raise TagIndexError("TagIndex data was not a dict.")
- if 'tags' not in d:
+ if "tags" not in d:
raise TagIndexError("TagIndex data does not start with 'tags'")
r = TagIndex()
- for tag, packages in d['tags'].items():
+ for tag, packages in d["tags"].items():
r[tag].extend(packages)
return r
@@ -101,7 +102,7 @@ class TagIndex(Mapping):
Args:
other (TagIndex): tag index to be merged
"""
- other = other.copy() # defensive copy.
+ other = other.copy() # defensive copy.
for tag in other.tags:
if tag not in self.tags:
@@ -126,7 +127,7 @@ class TagIndex(Mapping):
pkg_list.remove(pkg_name)
# Add it again under the appropriate tags
- for tag in getattr(pkg_cls, 'tags', []):
+ for tag in getattr(pkg_cls, "tags", []):
tag = tag.lower()
self._tag_dict[tag].append(pkg_cls.name)
diff --git a/lib/spack/spack/target.py b/lib/spack/spack/target.py
index c7a166b9f8..a85baa4d45 100644
--- a/lib/spack/spack/target.py
+++ b/lib/spack/spack/target.py
@@ -20,6 +20,7 @@ def _ensure_other_is_target(method):
"""In a single argument method, ensure that the argument is an
instance of ``Target``.
"""
+
@functools.wraps(method)
def _impl(self, other):
if isinstance(other, six.string_types):
@@ -44,9 +45,7 @@ class Target(object):
like Cray (e.g. craype-compiler)
"""
if not isinstance(name, archspec.cpu.Microarchitecture):
- name = archspec.cpu.TARGETS.get(
- name, archspec.cpu.generic_microarchitecture(name)
- )
+ name = archspec.cpu.TARGETS.get(name, archspec.cpu.generic_microarchitecture(name))
self.microarchitecture = name
self.module_name = module_name
@@ -56,8 +55,10 @@ class Target(object):
@_ensure_other_is_target
def __eq__(self, other):
- return (self.microarchitecture == other.microarchitecture and
- self.module_name == other.module_name)
+ return (
+ self.microarchitecture == other.microarchitecture
+ and self.module_name == other.module_name
+ )
def __ne__(self, other):
# This method is necessary as long as we support Python 2. In Python 3
@@ -88,7 +89,7 @@ class Target(object):
# TODO: just the name. We can use that information to reconstruct an
# TODO: "old" micro-architecture or check the current definition.
target_info = dict_or_value
- return Target(target_info['name'])
+ return Target(target_info["name"])
def to_dict_or_value(self):
"""Returns a dict or a value representing the current target.
@@ -100,18 +101,15 @@ class Target(object):
"""
# Generic targets represent either an architecture
# family (like x86_64) or a custom micro-architecture
- if self.microarchitecture.vendor == 'generic':
+ if self.microarchitecture.vendor == "generic":
return str(self)
- return syaml.syaml_dict(
- self.microarchitecture.to_dict(return_list_of_items=True)
- )
+ return syaml.syaml_dict(self.microarchitecture.to_dict(return_list_of_items=True))
def __repr__(self):
cls_name = self.__class__.__name__
- fmt = cls_name + '({0}, {1})'
- return fmt.format(repr(self.microarchitecture),
- repr(self.module_name))
+ fmt = cls_name + "({0}, {1})"
+ return fmt.format(repr(self.microarchitecture), repr(self.module_name))
def __str__(self):
return str(self.microarchitecture)
@@ -130,20 +128,20 @@ class Target(object):
# Mixed toolchains are not supported yet
if isinstance(compiler, spack.compiler.Compiler):
if spack.compilers.is_mixed_toolchain(compiler):
- msg = ('microarchitecture specific optimizations are not '
- 'supported yet on mixed compiler toolchains [check'
- ' {0.name}@{0.version} for further details]')
+ msg = (
+ "microarchitecture specific optimizations are not "
+ "supported yet on mixed compiler toolchains [check"
+ " {0.name}@{0.version} for further details]"
+ )
tty.debug(msg.format(compiler))
- return ''
+ return ""
# Try to check if the current compiler comes with a version number or
# has an unexpected suffix. If so, treat it as a compiler with a
# custom spec.
compiler_version = compiler.version
- version_number, suffix = archspec.cpu.version_components(
- compiler.version
- )
- if not version_number or suffix not in ('', 'apple'):
+ version_number, suffix = archspec.cpu.version_components(compiler.version)
+ if not version_number or suffix not in ("", "apple"):
# Try to deduce the underlying version of the compiler, regardless
# of its name in compilers.yaml. Depending on where this function
# is called we might get either a CompilerSpec or a fully fledged
@@ -156,6 +154,4 @@ class Target(object):
# log this and just return compiler.version instead
tty.debug(str(e))
- return self.microarchitecture.optimization_flags(
- compiler.name, str(compiler_version)
- )
+ return self.microarchitecture.optimization_flags(compiler.name, str(compiler_version))
diff --git a/lib/spack/spack/tengine.py b/lib/spack/spack/tengine.py
index 0be15dd238..34db15d832 100644
--- a/lib/spack/spack/tengine.py
+++ b/lib/spack/spack/tengine.py
@@ -18,6 +18,7 @@ class ContextMeta(type):
"""Meta class for Context. It helps reducing the boilerplate in
client code.
"""
+
#: Keeps track of the context properties that have been added
#: by the class that is being defined
_new_context_properties = [] # type: List[str]
@@ -37,7 +38,7 @@ class ContextMeta(type):
cls._new_context_properties = []
# Attach the list to the class being created
- attr_dict['context_properties'] = context_properties
+ attr_dict["context_properties"] = context_properties
return super(ContextMeta, cls).__new__(cls, name, bases, attr_dict)
@@ -70,11 +71,9 @@ def make_environment(dirs=None):
"""Returns an configured environment for template rendering."""
if dirs is None:
# Default directories where to search for templates
- builtins = spack.config.get('config:template_dirs',
- ['$spack/share/spack/templates'])
+ builtins = spack.config.get("config:template_dirs", ["$spack/share/spack/templates"])
extensions = spack.extensions.get_template_dirs()
- dirs = [canonicalize_path(d)
- for d in itertools.chain(builtins, extensions)]
+ dirs = [canonicalize_path(d) for d in itertools.chain(builtins, extensions)]
# avoid importing this at the top level as it's used infrequently and
# slows down startup a bit.
@@ -83,9 +82,7 @@ def make_environment(dirs=None):
# Loader for the templates
loader = jinja2.FileSystemLoader(dirs)
# Environment of the template engine
- env = jinja2.Environment(
- loader=loader, trim_blocks=True, lstrip_blocks=True
- )
+ env = jinja2.Environment(loader=loader, trim_blocks=True, lstrip_blocks=True)
# Custom filters
_set_filters(env)
return env
@@ -93,6 +90,7 @@ def make_environment(dirs=None):
# Extra filters for template engine environment
+
def prepend_to_line(text, token):
"""Prepends a token to each line in text"""
return [token + line for line in text]
@@ -105,7 +103,7 @@ def quote(text):
def _set_filters(env):
"""Sets custom filters to the template engine environment"""
- env.filters['textwrap'] = textwrap.wrap
- env.filters['prepend_to_line'] = prepend_to_line
- env.filters['join'] = '\n'.join
- env.filters['quote'] = quote
+ env.filters["textwrap"] = textwrap.wrap
+ env.filters["prepend_to_line"] = prepend_to_line
+ env.filters["join"] = "\n".join
+ env.filters["quote"] = quote
diff --git a/lib/spack/spack/test/abi.py b/lib/spack/spack/test/abi.py
index a390043efa..5c3d0fa83d 100644
--- a/lib/spack/spack/test/abi.py
+++ b/lib/spack/spack/test/abi.py
@@ -11,56 +11,56 @@ from spack.spec import Spec
@pytest.mark.parametrize(
- 'target,constraint,expected',
+ "target,constraint,expected",
[
- ('foo', 'bar', True),
- ('platform=linux', 'foo', True),
- ('foo', 'arch=linux-fedora31-x86_64', True),
- ('arch=linux-fedora31-skylake', 'arch=linux-fedora31-skylake', True),
- ('arch=linux-fedora31-skylake', 'arch=linux-fedora31-x86_64', False),
- ('platform=linux os=fedora31', 'arch=linux-fedora31-x86_64', True),
- ('platform=linux', 'arch=linux-fedora31-x86_64', True),
- ('platform=linux os=fedora31', 'platform=linux', True),
- ('platform=darwin', 'arch=linux-fedora31-x86_64', False),
- ('os=fedora31', 'platform=linux', False), # TODO should be true ?
- ])
+ ("foo", "bar", True),
+ ("platform=linux", "foo", True),
+ ("foo", "arch=linux-fedora31-x86_64", True),
+ ("arch=linux-fedora31-skylake", "arch=linux-fedora31-skylake", True),
+ ("arch=linux-fedora31-skylake", "arch=linux-fedora31-x86_64", False),
+ ("platform=linux os=fedora31", "arch=linux-fedora31-x86_64", True),
+ ("platform=linux", "arch=linux-fedora31-x86_64", True),
+ ("platform=linux os=fedora31", "platform=linux", True),
+ ("platform=darwin", "arch=linux-fedora31-x86_64", False),
+ ("os=fedora31", "platform=linux", False), # TODO should be true ?
+ ],
+)
def test_architecture_compatibility(target, constraint, expected):
- assert ABI().architecture_compatible(Spec(target),
- Spec(constraint)) == expected
+ assert ABI().architecture_compatible(Spec(target), Spec(constraint)) == expected
@pytest.mark.parametrize(
- 'target,constraint,loose,expected',
+ "target,constraint,loose,expected",
[
- ('foo', 'bar', False, True),
- ('%gcc', 'foo', False, True),
- ('foo', '%gcc', False, True),
- ('%gcc', '%gcc', False, True),
- ('%gcc', '%intel', False, False),
- ('%gcc', '%clang', False, False),
- ('%gcc@9.1', '%gcc@9.2', False, False), # TODO should be true ?
- ('%gcc@9.2.1', '%gcc@9.2.2', False, False), # TODO should be true ?
- ('%gcc@4.9', '%gcc@9.2', False, False),
- ('%clang@5', '%clang@6', False, False),
- ('%gcc@9.1', '%gcc@9.2', True, True),
- ('%gcc@9.2.1', '%gcc@9.2.2', True, True),
- ('%gcc@4.9', '%gcc@9.2', True, True),
- ('%clang@5', '%clang@6', True, True),
- ])
+ ("foo", "bar", False, True),
+ ("%gcc", "foo", False, True),
+ ("foo", "%gcc", False, True),
+ ("%gcc", "%gcc", False, True),
+ ("%gcc", "%intel", False, False),
+ ("%gcc", "%clang", False, False),
+ ("%gcc@9.1", "%gcc@9.2", False, False), # TODO should be true ?
+ ("%gcc@9.2.1", "%gcc@9.2.2", False, False), # TODO should be true ?
+ ("%gcc@4.9", "%gcc@9.2", False, False),
+ ("%clang@5", "%clang@6", False, False),
+ ("%gcc@9.1", "%gcc@9.2", True, True),
+ ("%gcc@9.2.1", "%gcc@9.2.2", True, True),
+ ("%gcc@4.9", "%gcc@9.2", True, True),
+ ("%clang@5", "%clang@6", True, True),
+ ],
+)
def test_compiler_compatibility(target, constraint, loose, expected):
- assert ABI().compiler_compatible(Spec(target),
- Spec(constraint),
- loose=loose) == expected
+ assert ABI().compiler_compatible(Spec(target), Spec(constraint), loose=loose) == expected
-@pytest.mark.parametrize('target,constraint,loose,expected', [
- ('foo', 'bar', False, True),
- ('%gcc', 'platform=linux', False, True),
- ('%gcc@9.2.1', '%gcc@8.3.1 platform=linux', False, False),
- ('%gcc@9.2.1', '%gcc@8.3.1 platform=linux', True, True),
- ('%gcc@9.2.1 arch=linux-fedora31-skylake', '%gcc@9.2.1 platform=linux',
- False, True),
-])
+@pytest.mark.parametrize(
+ "target,constraint,loose,expected",
+ [
+ ("foo", "bar", False, True),
+ ("%gcc", "platform=linux", False, True),
+ ("%gcc@9.2.1", "%gcc@8.3.1 platform=linux", False, False),
+ ("%gcc@9.2.1", "%gcc@8.3.1 platform=linux", True, True),
+ ("%gcc@9.2.1 arch=linux-fedora31-skylake", "%gcc@9.2.1 platform=linux", False, True),
+ ],
+)
def test_compatibility(target, constraint, loose, expected):
- assert ABI().compatible(Spec(target), Spec(constraint),
- loose=loose) == expected
+ assert ABI().compatible(Spec(target), Spec(constraint), loose=loose) == expected
diff --git a/lib/spack/spack/test/architecture.py b/lib/spack/spack/test/architecture.py
index 18a8dbe1b6..64bb57d474 100644
--- a/lib/spack/spack/test/architecture.py
+++ b/lib/spack/spack/test/architecture.py
@@ -20,13 +20,13 @@ def current_host_platform():
"""Return the platform of the current host as detected by the
'platform' stdlib package.
"""
- if os.path.exists('/opt/cray/pe'):
+ if os.path.exists("/opt/cray/pe"):
current_platform = spack.platforms.Cray()
- elif 'Linux' in platform.system():
+ elif "Linux" in platform.system():
current_platform = spack.platforms.Linux()
- elif 'Darwin' in platform.system():
+ elif "Darwin" in platform.system():
current_platform = spack.platforms.Darwin()
- elif 'Windows' in platform.system():
+ elif "Windows" in platform.system():
current_platform = spack.platforms.Windows()
return current_platform
@@ -36,8 +36,7 @@ valid_keywords = ["fe", "be", "frontend", "backend"]
@pytest.fixture(
- params=([x for x in spack.platforms.Test().targets]
- + valid_keywords + ['default_target'])
+ params=([x for x in spack.platforms.Test().targets] + valid_keywords + ["default_target"])
)
def target_str(request):
"""All the possible strings that can be used for targets"""
@@ -45,8 +44,7 @@ def target_str(request):
@pytest.fixture(
- params=([x for x in spack.platforms.Test().operating_sys]
- + valid_keywords + ['default_os'])
+ params=([x for x in spack.platforms.Test().operating_sys] + valid_keywords + ["default_os"])
)
def os_str(request):
"""All the possible strings that can be used for operating systems"""
@@ -59,8 +57,7 @@ def test_platform(current_host_platform):
assert str(detected_platform) == str(current_host_platform)
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_user_input_combination(config, target_str, os_str):
"""Test for all the valid user input combinations that both the target and
the operating system match.
@@ -78,120 +75,136 @@ def test_user_input_combination(config, target_str, os_str):
def test_operating_system_conversion_to_dict():
- operating_system = spack.operating_systems.OperatingSystem('os', '1.0')
- assert operating_system.to_dict() == {
- 'name': 'os', 'version': '1.0'
- }
-
-
-@pytest.mark.parametrize('cpu_flag,target_name', [
- # Test that specific flags can be used in queries
- ('ssse3', 'haswell'),
- ('popcnt', 'nehalem'),
- ('avx512f', 'skylake_avx512'),
- ('avx512ifma', 'icelake'),
- # Test that proxy flags can be used in queries too
- ('sse3', 'nehalem'),
- ('avx512', 'skylake_avx512'),
- ('avx512', 'icelake'),
-])
+ operating_system = spack.operating_systems.OperatingSystem("os", "1.0")
+ assert operating_system.to_dict() == {"name": "os", "version": "1.0"}
+
+
+@pytest.mark.parametrize(
+ "cpu_flag,target_name",
+ [
+ # Test that specific flags can be used in queries
+ ("ssse3", "haswell"),
+ ("popcnt", "nehalem"),
+ ("avx512f", "skylake_avx512"),
+ ("avx512ifma", "icelake"),
+ # Test that proxy flags can be used in queries too
+ ("sse3", "nehalem"),
+ ("avx512", "skylake_avx512"),
+ ("avx512", "icelake"),
+ ],
+)
def test_target_container_semantic(cpu_flag, target_name):
target = spack.target.Target(target_name)
assert cpu_flag in target
-@pytest.mark.parametrize('item,architecture_str', [
- # We can search the architecture string representation
- ('linux', 'linux-ubuntu18.04-haswell'),
- ('ubuntu', 'linux-ubuntu18.04-haswell'),
- ('haswell', 'linux-ubuntu18.04-haswell'),
- # We can also search flags of the target,
- ('avx512', 'linux-ubuntu18.04-icelake'),
-])
+@pytest.mark.parametrize(
+ "item,architecture_str",
+ [
+ # We can search the architecture string representation
+ ("linux", "linux-ubuntu18.04-haswell"),
+ ("ubuntu", "linux-ubuntu18.04-haswell"),
+ ("haswell", "linux-ubuntu18.04-haswell"),
+ # We can also search flags of the target,
+ ("avx512", "linux-ubuntu18.04-icelake"),
+ ],
+)
def test_arch_spec_container_semantic(item, architecture_str):
architecture = spack.spec.ArchSpec(architecture_str)
assert item in architecture
-@pytest.mark.parametrize('compiler_spec,target_name,expected_flags', [
- # Check compilers with version numbers from a single toolchain
- ('gcc@4.7.2', 'ivybridge', '-march=core-avx-i -mtune=core-avx-i'),
- # Check mixed toolchains
- ('clang@8.0.0', 'broadwell', ''),
- ('clang@3.5', 'x86_64', '-march=x86-64 -mtune=generic'),
- # Check Apple's Clang compilers
- ('apple-clang@9.1.0', 'x86_64', '-march=x86-64')
-])
+@pytest.mark.parametrize(
+ "compiler_spec,target_name,expected_flags",
+ [
+ # Check compilers with version numbers from a single toolchain
+ ("gcc@4.7.2", "ivybridge", "-march=core-avx-i -mtune=core-avx-i"),
+ # Check mixed toolchains
+ ("clang@8.0.0", "broadwell", ""),
+ ("clang@3.5", "x86_64", "-march=x86-64 -mtune=generic"),
+ # Check Apple's Clang compilers
+ ("apple-clang@9.1.0", "x86_64", "-march=x86-64"),
+ ],
+)
@pytest.mark.filterwarnings("ignore:microarchitecture specific")
-def test_optimization_flags(
- compiler_spec, target_name, expected_flags, config
-):
+def test_optimization_flags(compiler_spec, target_name, expected_flags, config):
target = spack.target.Target(target_name)
compiler = spack.compilers.compilers_for_spec(compiler_spec).pop()
opt_flags = target.optimization_flags(compiler)
assert opt_flags == expected_flags
-@pytest.mark.parametrize('compiler,real_version,target_str,expected_flags', [
- (spack.spec.CompilerSpec('gcc@9.2.0'), None, 'haswell',
- '-march=haswell -mtune=haswell'),
- # Check that custom string versions are accepted
- (spack.spec.CompilerSpec('gcc@foo'), '9.2.0', 'icelake',
- '-march=icelake-client -mtune=icelake-client'),
- # Check that we run version detection (4.4.0 doesn't support icelake)
- (spack.spec.CompilerSpec('gcc@4.4.0-special'), '9.2.0', 'icelake',
- '-march=icelake-client -mtune=icelake-client'),
- # Check that the special case for Apple's clang is treated correctly
- # i.e. it won't try to detect the version again
- (spack.spec.CompilerSpec('apple-clang@9.1.0'), None, 'x86_64',
- '-march=x86-64'),
-])
+@pytest.mark.parametrize(
+ "compiler,real_version,target_str,expected_flags",
+ [
+ (spack.spec.CompilerSpec("gcc@9.2.0"), None, "haswell", "-march=haswell -mtune=haswell"),
+ # Check that custom string versions are accepted
+ (
+ spack.spec.CompilerSpec("gcc@foo"),
+ "9.2.0",
+ "icelake",
+ "-march=icelake-client -mtune=icelake-client",
+ ),
+ # Check that we run version detection (4.4.0 doesn't support icelake)
+ (
+ spack.spec.CompilerSpec("gcc@4.4.0-special"),
+ "9.2.0",
+ "icelake",
+ "-march=icelake-client -mtune=icelake-client",
+ ),
+ # Check that the special case for Apple's clang is treated correctly
+ # i.e. it won't try to detect the version again
+ (spack.spec.CompilerSpec("apple-clang@9.1.0"), None, "x86_64", "-march=x86-64"),
+ ],
+)
def test_optimization_flags_with_custom_versions(
- compiler, real_version, target_str, expected_flags, monkeypatch, config
+ compiler, real_version, target_str, expected_flags, monkeypatch, config
):
target = spack.target.Target(target_str)
if real_version:
- monkeypatch.setattr(
- spack.compiler.Compiler, 'get_real_version',
- lambda x: real_version)
+ monkeypatch.setattr(spack.compiler.Compiler, "get_real_version", lambda x: real_version)
opt_flags = target.optimization_flags(compiler)
assert opt_flags == expected_flags
-@pytest.mark.regression('15306')
-@pytest.mark.parametrize('architecture_tuple,constraint_tuple', [
- (('linux', 'ubuntu18.04', None), ('linux', None, 'x86_64')),
- (('linux', 'ubuntu18.04', None), ('linux', None, 'x86_64:')),
-])
-def test_satisfy_strict_constraint_when_not_concrete(
- architecture_tuple, constraint_tuple
-):
+@pytest.mark.regression("15306")
+@pytest.mark.parametrize(
+ "architecture_tuple,constraint_tuple",
+ [
+ (("linux", "ubuntu18.04", None), ("linux", None, "x86_64")),
+ (("linux", "ubuntu18.04", None), ("linux", None, "x86_64:")),
+ ],
+)
+def test_satisfy_strict_constraint_when_not_concrete(architecture_tuple, constraint_tuple):
architecture = spack.spec.ArchSpec(architecture_tuple)
constraint = spack.spec.ArchSpec(constraint_tuple)
assert not architecture.satisfies(constraint, strict=True)
-@pytest.mark.parametrize('root_target_range,dep_target_range,result', [
- ('x86_64:nocona', 'x86_64:core2', 'nocona'), # pref not in intersection
- ('x86_64:core2', 'x86_64:nocona', 'nocona'),
- ('x86_64:haswell', 'x86_64:mic_knl', 'core2'), # pref in intersection
- ('ivybridge', 'nocona:skylake', 'ivybridge'), # one side concrete
- ('haswell:icelake', 'broadwell', 'broadwell'),
- # multiple ranges in lists with multiple overlaps
- ('x86_64:nocona,haswell:broadwell', 'nocona:haswell,skylake:', 'nocona'),
- # lists with concrete targets, lists compared to ranges
- ('x86_64,haswell', 'core2:broadwell', 'haswell')
-])
-@pytest.mark.usefixtures('mock_packages', 'config')
-def test_concretize_target_ranges(
- root_target_range, dep_target_range, result
-):
+@pytest.mark.parametrize(
+ "root_target_range,dep_target_range,result",
+ [
+ ("x86_64:nocona", "x86_64:core2", "nocona"), # pref not in intersection
+ ("x86_64:core2", "x86_64:nocona", "nocona"),
+ ("x86_64:haswell", "x86_64:mic_knl", "core2"), # pref in intersection
+ ("ivybridge", "nocona:skylake", "ivybridge"), # one side concrete
+ ("haswell:icelake", "broadwell", "broadwell"),
+ # multiple ranges in lists with multiple overlaps
+ ("x86_64:nocona,haswell:broadwell", "nocona:haswell,skylake:", "nocona"),
+ # lists with concrete targets, lists compared to ranges
+ ("x86_64,haswell", "core2:broadwell", "haswell"),
+ ],
+)
+@pytest.mark.usefixtures("mock_packages", "config")
+def test_concretize_target_ranges(root_target_range, dep_target_range, result):
# use foobar=bar to make the problem simpler for the old concretizer
# the new concretizer should not need that help
- spec_str = ('a %%gcc@10 foobar=bar target=%s ^b target=%s' %
- (root_target_range, dep_target_range))
+ spec_str = "a %%gcc@10 foobar=bar target=%s ^b target=%s" % (
+ root_target_range,
+ dep_target_range,
+ )
spec = spack.spec.Spec(spec_str)
with spack.concretize.disable_compiler_existence_check():
spec.concretize()
- assert str(spec).count('arch=test-debian6-%s' % result) == 2
+ assert str(spec).count("arch=test-debian6-%s" % result) == 2
diff --git a/lib/spack/spack/test/audit.py b/lib/spack/spack/test/audit.py
index 9cb36b5047..890a8dcaf8 100644
--- a/lib/spack/spack/test/audit.py
+++ b/lib/spack/spack/test/audit.py
@@ -8,25 +8,28 @@ import spack.audit
import spack.config
-@pytest.mark.parametrize('packages,expected_error', [
- # A non existing variant is used in a conflict directive
- (['wrong-variant-in-conflicts'], 'PKG-DIRECTIVES'),
- # The package declares a non-existing dependency
- (['missing-dependency'], 'PKG-DIRECTIVES'),
- # The package use a non existing variant in a depends_on directive
- (['wrong-variant-in-depends-on'], 'PKG-DIRECTIVES'),
- # This package has a GitHub patch URL without full_index=1
- (['invalid-github-patch-url'], 'PKG-DIRECTIVES'),
- # This package has a stand-alone 'test' method in build-time callbacks
- (['test-build-callbacks'], 'PKG-DIRECTIVES'),
- # This package has no issues
- (['mpileaks'], None),
- # This package has a conflict with a trigger which cannot constrain the constraint
- # Should not raise an error
- (['unconstrainable-conflict'], None),
-])
+@pytest.mark.parametrize(
+ "packages,expected_error",
+ [
+ # A non existing variant is used in a conflict directive
+ (["wrong-variant-in-conflicts"], "PKG-DIRECTIVES"),
+ # The package declares a non-existing dependency
+ (["missing-dependency"], "PKG-DIRECTIVES"),
+ # The package use a non existing variant in a depends_on directive
+ (["wrong-variant-in-depends-on"], "PKG-DIRECTIVES"),
+ # This package has a GitHub patch URL without full_index=1
+ (["invalid-github-patch-url"], "PKG-DIRECTIVES"),
+ # This package has a stand-alone 'test' method in build-time callbacks
+ (["test-build-callbacks"], "PKG-DIRECTIVES"),
+ # This package has no issues
+ (["mpileaks"], None),
+ # This package has a conflict with a trigger which cannot constrain the constraint
+ # Should not raise an error
+ (["unconstrainable-conflict"], None),
+ ],
+)
def test_package_audits(packages, expected_error, mock_packages):
- reports = spack.audit.run_group('packages', pkgs=packages)
+ reports = spack.audit.run_group("packages", pkgs=packages)
# Check that errors were reported only for the expected failure
actual_errors = [check for check, errors in reports if errors]
@@ -38,53 +41,64 @@ def test_package_audits(packages, expected_error, mock_packages):
# Data used in the test below to audit the double definition of a compiler
_double_compiler_definition = [
- {'compiler': {
- 'spec': 'gcc@9.0.1',
- 'paths': {
- 'cc': '/usr/bin/gcc-9',
- 'cxx': '/usr/bin/g++-9',
- 'f77': '/usr/bin/gfortran-9',
- 'fc': '/usr/bin/gfortran-9'
- },
- 'flags': {},
- 'operating_system': 'ubuntu18.04',
- 'target': 'x86_64',
- 'modules': [],
- 'environment': {},
- 'extra_rpaths': []
- }},
- {'compiler': {
- 'spec': 'gcc@9.0.1',
- 'paths': {
- 'cc': '/usr/bin/gcc-9',
- 'cxx': '/usr/bin/g++-9',
- 'f77': '/usr/bin/gfortran-9',
- 'fc': '/usr/bin/gfortran-9'
- },
- 'flags': {"cflags": "-O3"},
- 'operating_system': 'ubuntu18.04',
- 'target': 'x86_64',
- 'modules': [],
- 'environment': {},
- 'extra_rpaths': []
- }}
+ {
+ "compiler": {
+ "spec": "gcc@9.0.1",
+ "paths": {
+ "cc": "/usr/bin/gcc-9",
+ "cxx": "/usr/bin/g++-9",
+ "f77": "/usr/bin/gfortran-9",
+ "fc": "/usr/bin/gfortran-9",
+ },
+ "flags": {},
+ "operating_system": "ubuntu18.04",
+ "target": "x86_64",
+ "modules": [],
+ "environment": {},
+ "extra_rpaths": [],
+ }
+ },
+ {
+ "compiler": {
+ "spec": "gcc@9.0.1",
+ "paths": {
+ "cc": "/usr/bin/gcc-9",
+ "cxx": "/usr/bin/g++-9",
+ "f77": "/usr/bin/gfortran-9",
+ "fc": "/usr/bin/gfortran-9",
+ },
+ "flags": {"cflags": "-O3"},
+ "operating_system": "ubuntu18.04",
+ "target": "x86_64",
+ "modules": [],
+ "environment": {},
+ "extra_rpaths": [],
+ }
+ },
]
-@pytest.mark.parametrize('config_section,data,failing_check', [
- # Double compiler definitions in compilers.yaml
- ('compilers', _double_compiler_definition, 'CFG-COMPILER'),
- # Multiple definitions of the same external spec in packages.yaml
- ('packages', {
- "mpileaks": {"externals": [
- {"spec": "mpileaks@1.0.0", "prefix": "/"},
- {"spec": "mpileaks@1.0.0", "prefix": "/usr"},
- ]}
- }, 'CFG-PACKAGES')
-])
+@pytest.mark.parametrize(
+ "config_section,data,failing_check",
+ [
+ # Double compiler definitions in compilers.yaml
+ ("compilers", _double_compiler_definition, "CFG-COMPILER"),
+ # Multiple definitions of the same external spec in packages.yaml
+ (
+ "packages",
+ {
+ "mpileaks": {
+ "externals": [
+ {"spec": "mpileaks@1.0.0", "prefix": "/"},
+ {"spec": "mpileaks@1.0.0", "prefix": "/usr"},
+ ]
+ }
+ },
+ "CFG-PACKAGES",
+ ),
+ ],
+)
def test_config_audits(config_section, data, failing_check):
with spack.config.override(config_section, data):
- reports = spack.audit.run_group('configs')
- assert any(
- (check == failing_check) and errors for check, errors in reports
- )
+ reports = spack.audit.run_group("configs")
+ assert any((check == failing_check) and errors for check, errors in reports)
diff --git a/lib/spack/spack/test/bindist.py b/lib/spack/spack/test/bindist.py
index 21b264b4dc..b2bbbe200c 100644
--- a/lib/spack/spack/test/bindist.py
+++ b/lib/spack/spack/test/bindist.py
@@ -24,20 +24,19 @@ from spack.directory_layout import DirectoryLayout
from spack.paths import test_path
from spack.spec import Spec
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-mirror_cmd = spack.main.SpackCommand('mirror')
-install_cmd = spack.main.SpackCommand('install')
-uninstall_cmd = spack.main.SpackCommand('uninstall')
-buildcache_cmd = spack.main.SpackCommand('buildcache')
+mirror_cmd = spack.main.SpackCommand("mirror")
+install_cmd = spack.main.SpackCommand("install")
+uninstall_cmd = spack.main.SpackCommand("uninstall")
+buildcache_cmd = spack.main.SpackCommand("buildcache")
-legacy_mirror_dir = os.path.join(test_path, 'data', 'mirrors', 'legacy_yaml')
+legacy_mirror_dir = os.path.join(test_path, "data", "mirrors", "legacy_yaml")
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def cache_directory(tmpdir):
- fetch_cache_dir = tmpdir.ensure('fetch_cache', dir=True)
+ fetch_cache_dir = tmpdir.ensure("fetch_cache", dir=True)
fsc = spack.fetch_strategy.FsCache(str(fetch_cache_dir))
spack.config.caches, old_cache_path = fsc, spack.caches.fetch_cache
@@ -47,96 +46,97 @@ def cache_directory(tmpdir):
spack.config.caches = old_cache_path
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def mirror_dir(tmpdir_factory):
- dir = tmpdir_factory.mktemp('mirror')
- dir.ensure('build_cache', dir=True)
+ dir = tmpdir_factory.mktemp("mirror")
+ dir.ensure("build_cache", dir=True)
yield str(dir)
- dir.join('build_cache').remove()
+ dir.join("build_cache").remove()
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def test_mirror(mirror_dir):
- mirror_url = 'file://%s' % mirror_dir
- mirror_cmd('add', '--scope', 'site', 'test-mirror-func', mirror_url)
+ mirror_url = "file://%s" % mirror_dir
+ mirror_cmd("add", "--scope", "site", "test-mirror-func", mirror_url)
yield mirror_dir
- mirror_cmd('rm', '--scope=site', 'test-mirror-func')
+ mirror_cmd("rm", "--scope=site", "test-mirror-func")
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def test_legacy_mirror(mutable_config, tmpdir):
- mirror_dir = tmpdir.join('legacy_yaml_mirror')
+ mirror_dir = tmpdir.join("legacy_yaml_mirror")
shutil.copytree(legacy_mirror_dir, mirror_dir.strpath)
- mirror_url = 'file://%s' % mirror_dir
- mirror_cmd('add', '--scope', 'site', 'test-legacy-yaml', mirror_url)
+ mirror_url = "file://%s" % mirror_dir
+ mirror_cmd("add", "--scope", "site", "test-legacy-yaml", mirror_url)
yield mirror_dir
- mirror_cmd('rm', '--scope=site', 'test-legacy-yaml')
+ mirror_cmd("rm", "--scope=site", "test-legacy-yaml")
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def config_directory(tmpdir_factory):
- tmpdir = tmpdir_factory.mktemp('test_configs')
+ tmpdir = tmpdir_factory.mktemp("test_configs")
# restore some sane defaults for packages and config
config_path = py.path.local(spack.paths.etc_path)
- modules_yaml = config_path.join('defaults', 'modules.yaml')
- os_modules_yaml = config_path.join('defaults', '%s' %
- platform.system().lower(),
- 'modules.yaml')
- packages_yaml = config_path.join('defaults', 'packages.yaml')
- config_yaml = config_path.join('defaults', 'config.yaml')
- repos_yaml = config_path.join('defaults', 'repos.yaml')
- tmpdir.ensure('site', dir=True)
- tmpdir.ensure('user', dir=True)
- tmpdir.ensure('site/%s' % platform.system().lower(), dir=True)
- modules_yaml.copy(tmpdir.join('site', 'modules.yaml'))
- os_modules_yaml.copy(tmpdir.join('site/%s' % platform.system().lower(),
- 'modules.yaml'))
- packages_yaml.copy(tmpdir.join('site', 'packages.yaml'))
- config_yaml.copy(tmpdir.join('site', 'config.yaml'))
- repos_yaml.copy(tmpdir.join('site', 'repos.yaml'))
+ modules_yaml = config_path.join("defaults", "modules.yaml")
+ os_modules_yaml = config_path.join(
+ "defaults", "%s" % platform.system().lower(), "modules.yaml"
+ )
+ packages_yaml = config_path.join("defaults", "packages.yaml")
+ config_yaml = config_path.join("defaults", "config.yaml")
+ repos_yaml = config_path.join("defaults", "repos.yaml")
+ tmpdir.ensure("site", dir=True)
+ tmpdir.ensure("user", dir=True)
+ tmpdir.ensure("site/%s" % platform.system().lower(), dir=True)
+ modules_yaml.copy(tmpdir.join("site", "modules.yaml"))
+ os_modules_yaml.copy(tmpdir.join("site/%s" % platform.system().lower(), "modules.yaml"))
+ packages_yaml.copy(tmpdir.join("site", "packages.yaml"))
+ config_yaml.copy(tmpdir.join("site", "config.yaml"))
+ repos_yaml.copy(tmpdir.join("site", "repos.yaml"))
yield tmpdir
tmpdir.remove()
-@pytest.fixture(scope='function')
-def default_config(
- tmpdir_factory, config_directory, monkeypatch,
- install_mockery_mutable_config
-):
+@pytest.fixture(scope="function")
+def default_config(tmpdir_factory, config_directory, monkeypatch, install_mockery_mutable_config):
# This fixture depends on install_mockery_mutable_config to ensure
# there is a clear order of initialization. The substitution of the
# config scopes here is done on top of the substitution that comes with
# install_mockery_mutable_config
- mutable_dir = tmpdir_factory.mktemp('mutable_config').join('tmp')
+ mutable_dir = tmpdir_factory.mktemp("mutable_config").join("tmp")
config_directory.copy(mutable_dir)
cfg = spack.config.Configuration(
- *[spack.config.ConfigScope(name, str(mutable_dir))
- for name in ['site/%s' % platform.system().lower(),
- 'site', 'user']])
+ *[
+ spack.config.ConfigScope(name, str(mutable_dir))
+ for name in ["site/%s" % platform.system().lower(), "site", "user"]
+ ]
+ )
spack.config.config, old_config = cfg, spack.config.config
# This is essential, otherwise the cache will create weird side effects
# that will compromise subsequent tests if compilers.yaml is modified
- monkeypatch.setattr(spack.compilers, '_cache_config_file', [])
- njobs = spack.config.get('config:build_jobs')
+ monkeypatch.setattr(spack.compilers, "_cache_config_file", [])
+ njobs = spack.config.get("config:build_jobs")
if not njobs:
- spack.config.set('config:build_jobs', 4, scope='user')
- extensions = spack.config.get('config:template_dirs')
+ spack.config.set("config:build_jobs", 4, scope="user")
+ extensions = spack.config.get("config:template_dirs")
if not extensions:
- spack.config.set('config:template_dirs',
- [os.path.join(spack.paths.share_path, 'templates')],
- scope='user')
-
- mutable_dir.ensure('build_stage', dir=True)
- build_stage = spack.config.get('config:build_stage')
+ spack.config.set(
+ "config:template_dirs",
+ [os.path.join(spack.paths.share_path, "templates")],
+ scope="user",
+ )
+
+ mutable_dir.ensure("build_stage", dir=True)
+ build_stage = spack.config.get("config:build_stage")
if not build_stage:
- spack.config.set('config:build_stage',
- [str(mutable_dir.join('build_stage'))], scope='user')
- timeout = spack.config.get('config:connect_timeout')
+ spack.config.set(
+ "config:build_stage", [str(mutable_dir.join("build_stage"))], scope="user"
+ )
+ timeout = spack.config.get("config:connect_timeout")
if not timeout:
- spack.config.set('config:connect_timeout', 10, scope='user')
+ spack.config.set("config:connect_timeout", 10, scope="user")
yield spack.config.config
@@ -144,16 +144,14 @@ def default_config(
mutable_dir.remove()
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def install_dir_default_layout(tmpdir):
"""Hooks a fake install directory with a default layout"""
scheme = os.path.join(
- '${architecture}',
- '${compiler.name}-${compiler.version}',
- '${name}-${version}-${hash}'
+ "${architecture}", "${compiler.name}-${compiler.version}", "${name}-${version}-${hash}"
)
real_store, real_layout = spack.store.store, spack.store.layout
- opt_dir = tmpdir.join('opt')
+ opt_dir = tmpdir.join("opt")
spack.store.store = spack.store.Store(str(opt_dir))
spack.store.layout = DirectoryLayout(str(opt_dir), path_scheme=scheme)
try:
@@ -163,15 +161,14 @@ def install_dir_default_layout(tmpdir):
spack.store.layout = real_layout
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def install_dir_non_default_layout(tmpdir):
"""Hooks a fake install directory with a non-default layout"""
scheme = os.path.join(
- '${name}', '${version}',
- '${architecture}-${compiler.name}-${compiler.version}-${hash}'
+ "${name}", "${version}", "${architecture}-${compiler.name}-${compiler.version}-${hash}"
)
real_store, real_layout = spack.store.store, spack.store.layout
- opt_dir = tmpdir.join('opt')
+ opt_dir = tmpdir.join("opt")
spack.store.store = spack.store.Store(str(opt_dir))
spack.store.layout = DirectoryLayout(str(opt_dir), path_scheme=scheme)
try:
@@ -181,181 +178,170 @@ def install_dir_non_default_layout(tmpdir):
spack.store.layout = real_layout
-args = ['strings', 'file']
-if sys.platform == 'darwin':
- args.extend(['/usr/bin/clang++', 'install_name_tool'])
+args = ["strings", "file"]
+if sys.platform == "darwin":
+ args.extend(["/usr/bin/clang++", "install_name_tool"])
else:
- args.extend(['/usr/bin/g++', 'patchelf'])
+ args.extend(["/usr/bin/g++", "patchelf"])
@pytest.mark.requires_executables(*args)
@pytest.mark.maybeslow
@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_default_layout',
- 'test_mirror'
+ "default_config", "cache_directory", "install_dir_default_layout", "test_mirror"
)
def test_default_rpaths_create_install_default_layout(mirror_dir):
"""
Test the creation and installation of buildcaches with default rpaths
into the default directory layout scheme.
"""
- gspec, cspec = Spec('garply').concretized(), Spec('corge').concretized()
- sy_spec = Spec('symly').concretized()
+ gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
+ sy_spec = Spec("symly").concretized()
# Install 'corge' without using a cache
- install_cmd('--no-cache', cspec.name)
- install_cmd('--no-cache', sy_spec.name)
+ install_cmd("--no-cache", cspec.name)
+ install_cmd("--no-cache", sy_spec.name)
# Create a buildache
- buildcache_cmd('create', '-au', '-d', mirror_dir, cspec.name, sy_spec.name)
+ buildcache_cmd("create", "-au", "-d", mirror_dir, cspec.name, sy_spec.name)
# Test force overwrite create buildcache (-f option)
- buildcache_cmd('create', '-auf', '-d', mirror_dir, cspec.name)
+ buildcache_cmd("create", "-auf", "-d", mirror_dir, cspec.name)
# Create mirror index
- mirror_url = 'file://{0}'.format(mirror_dir)
- buildcache_cmd('update-index', '-d', mirror_url)
+ mirror_url = "file://{0}".format(mirror_dir)
+ buildcache_cmd("update-index", "-d", mirror_url)
# List the buildcaches in the mirror
- buildcache_cmd('list', '-alv')
+ buildcache_cmd("list", "-alv")
# Uninstall the package and deps
- uninstall_cmd('-y', '--dependents', gspec.name)
+ uninstall_cmd("-y", "--dependents", gspec.name)
# Test installing from build caches
- buildcache_cmd('install', '-au', cspec.name, sy_spec.name)
+ buildcache_cmd("install", "-au", cspec.name, sy_spec.name)
# This gives warning that spec is already installed
- buildcache_cmd('install', '-au', cspec.name)
+ buildcache_cmd("install", "-au", cspec.name)
# Test overwrite install
- buildcache_cmd('install', '-afu', cspec.name)
+ buildcache_cmd("install", "-afu", cspec.name)
- buildcache_cmd('keys', '-f')
- buildcache_cmd('list')
+ buildcache_cmd("keys", "-f")
+ buildcache_cmd("list")
- buildcache_cmd('list', '-a')
- buildcache_cmd('list', '-l', '-v')
+ buildcache_cmd("list", "-a")
+ buildcache_cmd("list", "-l", "-v")
@pytest.mark.requires_executables(*args)
@pytest.mark.maybeslow
@pytest.mark.nomockstage
@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_non_default_layout',
- 'test_mirror'
+ "default_config", "cache_directory", "install_dir_non_default_layout", "test_mirror"
)
def test_default_rpaths_install_nondefault_layout(mirror_dir):
"""
Test the creation and installation of buildcaches with default rpaths
into the non-default directory layout scheme.
"""
- cspec = Spec('corge').concretized()
+ cspec = Spec("corge").concretized()
# This guy tests for symlink relocation
- sy_spec = Spec('symly').concretized()
+ sy_spec = Spec("symly").concretized()
# Install some packages with dependent packages
# test install in non-default install path scheme
- buildcache_cmd('install', '-au', cspec.name, sy_spec.name)
+ buildcache_cmd("install", "-au", cspec.name, sy_spec.name)
# Test force install in non-default install path scheme
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
@pytest.mark.requires_executables(*args)
@pytest.mark.maybeslow
@pytest.mark.nomockstage
-@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_default_layout'
-)
+@pytest.mark.usefixtures("default_config", "cache_directory", "install_dir_default_layout")
def test_relative_rpaths_create_default_layout(mirror_dir):
"""
Test the creation and installation of buildcaches with relative
rpaths into the default directory layout scheme.
"""
- gspec, cspec = Spec('garply').concretized(), Spec('corge').concretized()
+ gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
# Install 'corge' without using a cache
- install_cmd('--no-cache', cspec.name)
+ install_cmd("--no-cache", cspec.name)
# Create build cache with relative rpaths
- buildcache_cmd(
- 'create', '-aur', '-d', mirror_dir, cspec.name
- )
+ buildcache_cmd("create", "-aur", "-d", mirror_dir, cspec.name)
# Create mirror index
- mirror_url = 'file://%s' % mirror_dir
- buildcache_cmd('update-index', '-d', mirror_url)
+ mirror_url = "file://%s" % mirror_dir
+ buildcache_cmd("update-index", "-d", mirror_url)
# Uninstall the package and deps
- uninstall_cmd('-y', '--dependents', gspec.name)
+ uninstall_cmd("-y", "--dependents", gspec.name)
@pytest.mark.requires_executables(*args)
@pytest.mark.maybeslow
@pytest.mark.nomockstage
@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_default_layout',
- 'test_mirror'
+ "default_config", "cache_directory", "install_dir_default_layout", "test_mirror"
)
def test_relative_rpaths_install_default_layout(mirror_dir):
"""
Test the creation and installation of buildcaches with relative
rpaths into the default directory layout scheme.
"""
- gspec, cspec = Spec('garply').concretized(), Spec('corge').concretized()
+ gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
# Install buildcache created with relativized rpaths
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
# This gives warning that spec is already installed
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
# Uninstall the package and deps
- uninstall_cmd('-y', '--dependents', gspec.name)
+ uninstall_cmd("-y", "--dependents", gspec.name)
# Install build cache
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
# Test overwrite install
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
@pytest.mark.requires_executables(*args)
@pytest.mark.maybeslow
@pytest.mark.nomockstage
@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_non_default_layout',
- 'test_mirror'
+ "default_config", "cache_directory", "install_dir_non_default_layout", "test_mirror"
)
def test_relative_rpaths_install_nondefault(mirror_dir):
"""
Test the installation of buildcaches with relativized rpaths
into the non-default directory layout scheme.
"""
- cspec = Spec('corge').concretized()
+ cspec = Spec("corge").concretized()
# Test install in non-default install path scheme and relative path
- buildcache_cmd('install', '-auf', cspec.name)
+ buildcache_cmd("install", "-auf", cspec.name)
def test_push_and_fetch_keys(mock_gnupghome):
testpath = str(mock_gnupghome)
- mirror = os.path.join(testpath, 'mirror')
- mirrors = {'test-mirror': mirror}
+ mirror = os.path.join(testpath, "mirror")
+ mirrors = {"test-mirror": mirror}
mirrors = spack.mirror.MirrorCollection(mirrors)
- mirror = spack.mirror.Mirror('file://' + mirror)
+ mirror = spack.mirror.Mirror("file://" + mirror)
- gpg_dir1 = os.path.join(testpath, 'gpg1')
- gpg_dir2 = os.path.join(testpath, 'gpg2')
+ gpg_dir1 = os.path.join(testpath, "gpg1")
+ gpg_dir2 = os.path.join(testpath, "gpg2")
# dir 1: create a new key, record its fingerprint, and push it to a new
# mirror
with spack.util.gpg.gnupghome_override(gpg_dir1):
- spack.util.gpg.create(name='test-key',
- email='fake@test.key',
- expires='0',
- comment=None)
+ spack.util.gpg.create(name="test-key", email="fake@test.key", expires="0", comment=None)
keys = spack.util.gpg.public_keys()
assert len(keys) == 1
@@ -379,56 +365,54 @@ def test_push_and_fetch_keys(mock_gnupghome):
@pytest.mark.maybeslow
@pytest.mark.nomockstage
@pytest.mark.usefixtures(
- 'default_config', 'cache_directory', 'install_dir_non_default_layout',
- 'test_mirror'
+ "default_config", "cache_directory", "install_dir_non_default_layout", "test_mirror"
)
def test_built_spec_cache(mirror_dir):
- """ Because the buildcache list command fetches the buildcache index
+ """Because the buildcache list command fetches the buildcache index
and uses it to populate the binary_distribution built spec cache, when
this test calls get_mirrors_for_spec, it is testing the popluation of
- that cache from a buildcache index. """
- buildcache_cmd('list', '-a', '-l')
+ that cache from a buildcache index."""
+ buildcache_cmd("list", "-a", "-l")
- gspec, cspec = Spec('garply').concretized(), Spec('corge').concretized()
+ gspec, cspec = Spec("garply").concretized(), Spec("corge").concretized()
for s in [gspec, cspec]:
results = bindist.get_mirrors_for_spec(s)
- assert(any([r['spec'] == s for r in results]))
+ assert any([r["spec"] == s for r in results])
def fake_dag_hash(spec):
# Generate an arbitrary hash that is intended to be different than
# whatever a Spec reported before (to test actions that trigger when
# the hash changes)
- return 'tal4c7h4z0gqmixb1eqa92mjoybxn5l6'
+ return "tal4c7h4z0gqmixb1eqa92mjoybxn5l6"
@pytest.mark.usefixtures(
- 'install_mockery_mutable_config', 'mock_packages', 'mock_fetch',
- 'test_mirror'
+ "install_mockery_mutable_config", "mock_packages", "mock_fetch", "test_mirror"
)
def test_spec_needs_rebuild(monkeypatch, tmpdir):
"""Make sure needs_rebuild properly compares remote hash
against locally computed one, avoiding unnecessary rebuilds"""
# Create a temp mirror directory for buildcache usage
- mirror_dir = tmpdir.join('mirror_dir')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = tmpdir.join("mirror_dir")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
- s = Spec('libdwarf').concretized()
+ s = Spec("libdwarf").concretized()
# Install a package
install_cmd(s.name)
# Put installed package in the buildcache
- buildcache_cmd('create', '-u', '-a', '-d', mirror_dir.strpath, s.name)
+ buildcache_cmd("create", "-u", "-a", "-d", mirror_dir.strpath, s.name)
rebuild = bindist.needs_rebuild(s, mirror_url)
assert not rebuild
# Now monkey patch Spec to change the hash on the package
- monkeypatch.setattr(spack.spec.Spec, 'dag_hash', fake_dag_hash)
+ monkeypatch.setattr(spack.spec.Spec, "dag_hash", fake_dag_hash)
rebuild = bindist.needs_rebuild(s, mirror_url)
@@ -436,170 +420,174 @@ def test_spec_needs_rebuild(monkeypatch, tmpdir):
@pytest.mark.usefixtures(
- 'install_mockery_mutable_config', 'mock_packages', 'mock_fetch',
+ "install_mockery_mutable_config",
+ "mock_packages",
+ "mock_fetch",
)
def test_generate_index_missing(monkeypatch, tmpdir, mutable_config):
"""Ensure spack buildcache index only reports available packages"""
# Create a temp mirror directory for buildcache usage
- mirror_dir = tmpdir.join('mirror_dir')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
- spack.config.set('mirrors', {'test': mirror_url})
+ mirror_dir = tmpdir.join("mirror_dir")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
+ spack.config.set("mirrors", {"test": mirror_url})
- s = Spec('libdwarf').concretized()
+ s = Spec("libdwarf").concretized()
# Install a package
- install_cmd('--no-cache', s.name)
+ install_cmd("--no-cache", s.name)
# Create a buildcache and update index
- buildcache_cmd('create', '-uad', mirror_dir.strpath, s.name)
- buildcache_cmd('update-index', '-d', mirror_dir.strpath)
+ buildcache_cmd("create", "-uad", mirror_dir.strpath, s.name)
+ buildcache_cmd("update-index", "-d", mirror_dir.strpath)
# Check package and dependency in buildcache
- cache_list = buildcache_cmd('list', '--allarch')
- assert 'libdwarf' in cache_list
- assert 'libelf' in cache_list
+ cache_list = buildcache_cmd("list", "--allarch")
+ assert "libdwarf" in cache_list
+ assert "libelf" in cache_list
# Remove dependency from cache
- libelf_files = glob.glob(
- os.path.join(mirror_dir.join('build_cache').strpath, '*libelf*'))
+ libelf_files = glob.glob(os.path.join(mirror_dir.join("build_cache").strpath, "*libelf*"))
os.remove(*libelf_files)
# Update index
- buildcache_cmd('update-index', '-d', mirror_dir.strpath)
+ buildcache_cmd("update-index", "-d", mirror_dir.strpath)
# Check dependency not in buildcache
- cache_list = buildcache_cmd('list', '--allarch')
- assert 'libdwarf' in cache_list
- assert 'libelf' not in cache_list
+ cache_list = buildcache_cmd("list", "--allarch")
+ assert "libdwarf" in cache_list
+ assert "libelf" not in cache_list
def test_generate_indices_key_error(monkeypatch, capfd):
-
def mock_list_url(url, recursive=False):
- print('mocked list_url({0}, {1})'.format(url, recursive))
- raise KeyError('Test KeyError handling')
+ print("mocked list_url({0}, {1})".format(url, recursive))
+ raise KeyError("Test KeyError handling")
- monkeypatch.setattr(web_util, 'list_url', mock_list_url)
+ monkeypatch.setattr(web_util, "list_url", mock_list_url)
- test_url = 'file:///fake/keys/dir'
+ test_url = "file:///fake/keys/dir"
# Make sure generate_key_index handles the KeyError
bindist.generate_key_index(test_url)
err = capfd.readouterr()[1]
- assert 'Warning: No keys at {0}'.format(test_url) in err
+ assert "Warning: No keys at {0}".format(test_url) in err
# Make sure generate_package_index handles the KeyError
bindist.generate_package_index(test_url)
err = capfd.readouterr()[1]
- assert 'Warning: No packages at {0}'.format(test_url) in err
+ assert "Warning: No packages at {0}".format(test_url) in err
def test_generate_indices_exception(monkeypatch, capfd):
-
def mock_list_url(url, recursive=False):
- print('mocked list_url({0}, {1})'.format(url, recursive))
- raise Exception('Test Exception handling')
+ print("mocked list_url({0}, {1})".format(url, recursive))
+ raise Exception("Test Exception handling")
- monkeypatch.setattr(web_util, 'list_url', mock_list_url)
+ monkeypatch.setattr(web_util, "list_url", mock_list_url)
- test_url = 'file:///fake/keys/dir'
+ test_url = "file:///fake/keys/dir"
# Make sure generate_key_index handles the Exception
bindist.generate_key_index(test_url)
err = capfd.readouterr()[1]
- expect = 'Encountered problem listing keys at {0}'.format(test_url)
+ expect = "Encountered problem listing keys at {0}".format(test_url)
assert expect in err
# Make sure generate_package_index handles the Exception
bindist.generate_package_index(test_url)
err = capfd.readouterr()[1]
- expect = 'Encountered problem listing packages at {0}'.format(test_url)
+ expect = "Encountered problem listing packages at {0}".format(test_url)
assert expect in err
-@pytest.mark.usefixtures('mock_fetch', 'install_mockery')
+@pytest.mark.usefixtures("mock_fetch", "install_mockery")
def test_update_sbang(tmpdir, test_mirror):
"""Test the creation and installation of buildcaches with default rpaths
into the non-default directory layout scheme, triggering an update of the
sbang.
"""
scheme = os.path.join(
- '${name}', '${version}',
- '${architecture}-${compiler.name}-${compiler.version}-${hash}'
+ "${name}", "${version}", "${architecture}-${compiler.name}-${compiler.version}-${hash}"
)
- spec_str = 'old-sbang'
+ spec_str = "old-sbang"
# Concretize a package with some old-fashioned sbang lines.
old_spec = Spec(spec_str).concretized()
- old_spec_hash_str = '/{0}'.format(old_spec.dag_hash())
+ old_spec_hash_str = "/{0}".format(old_spec.dag_hash())
# Need a fake mirror with *function* scope.
mirror_dir = test_mirror
- mirror_url = 'file://{0}'.format(mirror_dir)
+ mirror_url = "file://{0}".format(mirror_dir)
# Assume all commands will concretize old_spec the same way.
- install_cmd('--no-cache', old_spec.name)
+ install_cmd("--no-cache", old_spec.name)
# Create a buildcache with the installed spec.
- buildcache_cmd('create', '-u', '-a', '-d', mirror_dir, old_spec_hash_str)
+ buildcache_cmd("create", "-u", "-a", "-d", mirror_dir, old_spec_hash_str)
# Need to force an update of the buildcache index
- buildcache_cmd('update-index', '-d', mirror_url)
+ buildcache_cmd("update-index", "-d", mirror_url)
# Uninstall the original package.
- uninstall_cmd('-y', old_spec_hash_str)
+ uninstall_cmd("-y", old_spec_hash_str)
# Switch the store to the new install tree locations
- newtree_dir = tmpdir.join('newtree')
+ newtree_dir = tmpdir.join("newtree")
s = spack.store.Store(str(newtree_dir))
s.layout = DirectoryLayout(str(newtree_dir), path_scheme=scheme)
with spack.store.use_store(s):
- new_spec = Spec('old-sbang')
+ new_spec = Spec("old-sbang")
new_spec.concretize()
assert new_spec.dag_hash() == old_spec.dag_hash()
# Install package from buildcache
- buildcache_cmd('install', '-a', '-u', '-f', new_spec.name)
+ buildcache_cmd("install", "-a", "-u", "-f", new_spec.name)
# Continue blowing away caches
bindist.clear_spec_cache()
spack.stage.purge()
# test that the sbang was updated by the move
- sbang_style_1_expected = '''{0}
+ sbang_style_1_expected = """{0}
#!/usr/bin/env python
{1}
-'''.format(sbang.sbang_shebang_line(), new_spec.prefix.bin)
- sbang_style_2_expected = '''{0}
+""".format(
+ sbang.sbang_shebang_line(), new_spec.prefix.bin
+ )
+ sbang_style_2_expected = """{0}
#!/usr/bin/env python
{1}
-'''.format(sbang.sbang_shebang_line(), new_spec.prefix.bin)
+""".format(
+ sbang.sbang_shebang_line(), new_spec.prefix.bin
+ )
- installed_script_style_1_path = new_spec.prefix.bin.join('sbang-style-1.sh')
- assert sbang_style_1_expected == \
- open(str(installed_script_style_1_path)).read()
+ installed_script_style_1_path = new_spec.prefix.bin.join("sbang-style-1.sh")
+ assert sbang_style_1_expected == open(str(installed_script_style_1_path)).read()
- installed_script_style_2_path = new_spec.prefix.bin.join('sbang-style-2.sh')
- assert sbang_style_2_expected == \
- open(str(installed_script_style_2_path)).read()
+ installed_script_style_2_path = new_spec.prefix.bin.join("sbang-style-2.sh")
+ assert sbang_style_2_expected == open(str(installed_script_style_2_path)).read()
- uninstall_cmd('-y', '/%s' % new_spec.dag_hash())
+ uninstall_cmd("-y", "/%s" % new_spec.dag_hash())
# Need one where the platform has been changed to the test platform.
-def test_install_legacy_yaml(test_legacy_mirror, install_mockery_mutable_config,
- mock_packages):
- install_cmd('--no-check-signature', '--cache-only', '-f', legacy_mirror_dir
- + '/build_cache/test-debian6-core2-gcc-4.5.0-zlib-' +
- '1.2.11-t5mczux3tfqpxwmg7egp7axy2jvyulqk.spec.yaml')
- uninstall_cmd('-y', '/t5mczux3tfqpxwmg7egp7axy2jvyulqk')
+def test_install_legacy_yaml(test_legacy_mirror, install_mockery_mutable_config, mock_packages):
+ install_cmd(
+ "--no-check-signature",
+ "--cache-only",
+ "-f",
+ legacy_mirror_dir
+ + "/build_cache/test-debian6-core2-gcc-4.5.0-zlib-"
+ + "1.2.11-t5mczux3tfqpxwmg7egp7axy2jvyulqk.spec.yaml",
+ )
+ uninstall_cmd("-y", "/t5mczux3tfqpxwmg7egp7axy2jvyulqk")
def test_install_legacy_buildcache_layout(install_mockery_mutable_config):
@@ -607,18 +595,20 @@ def test_install_legacy_buildcache_layout(install_mockery_mutable_config):
where the .spack file contained a repeated spec.json and another
compressed archive file containing the install tree. This test
makes sure we can still read that layout."""
- legacy_layout_dir = os.path.join(test_path, 'data', 'mirrors', 'legacy_layout')
+ legacy_layout_dir = os.path.join(test_path, "data", "mirrors", "legacy_layout")
mirror_url = "file://{0}".format(legacy_layout_dir)
- filename = ("test-debian6-core2-gcc-4.5.0-archive-files-2.0-"
- "l3vdiqvbobmspwyb4q2b62fz6nitd4hk.spec.json")
- spec_json_path = os.path.join(legacy_layout_dir, 'build_cache', filename)
- mirror_cmd('add', '--scope', 'site', 'test-legacy-layout', mirror_url)
- output = install_cmd(
- '--no-check-signature', '--cache-only', '-f', spec_json_path, output=str)
- mirror_cmd('rm', '--scope=site', 'test-legacy-layout')
- expect_line = ("Extracting archive-files-2.0-"
- "l3vdiqvbobmspwyb4q2b62fz6nitd4hk from binary cache")
- assert(expect_line in output)
+ filename = (
+ "test-debian6-core2-gcc-4.5.0-archive-files-2.0-"
+ "l3vdiqvbobmspwyb4q2b62fz6nitd4hk.spec.json"
+ )
+ spec_json_path = os.path.join(legacy_layout_dir, "build_cache", filename)
+ mirror_cmd("add", "--scope", "site", "test-legacy-layout", mirror_url)
+ output = install_cmd("--no-check-signature", "--cache-only", "-f", spec_json_path, output=str)
+ mirror_cmd("rm", "--scope=site", "test-legacy-layout")
+ expect_line = (
+ "Extracting archive-files-2.0-" "l3vdiqvbobmspwyb4q2b62fz6nitd4hk from binary cache"
+ )
+ assert expect_line in output
def test_FetchCacheError_only_accepts_lists_of_errors():
diff --git a/lib/spack/spack/test/bootstrap.py b/lib/spack/spack/test/bootstrap.py
index 183f0bc6f4..7170a4b791 100644
--- a/lib/spack/spack/test/bootstrap.py
+++ b/lib/spack/spack/test/bootstrap.py
@@ -16,20 +16,20 @@ import spack.util.path
@pytest.fixture
def active_mock_environment(mutable_config, mutable_mock_env_path):
- with spack.environment.create('bootstrap-test') as env:
+ with spack.environment.create("bootstrap-test") as env:
yield env
-@pytest.mark.regression('22294')
+@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
# since Spack needs to initialize the DB.
- user_path = str(tmpdir.join('store'))
+ user_path = str(tmpdir.join("store"))
# Reassign global variables in spack.store to the value
# they would have at Spack startup.
spack.store.reinitialize()
# Set the custom user path
- spack.config.set('config:install_tree:root', user_path)
+ spack.config.set("config:install_tree:root", user_path)
# Test that within the context manager we use the bootstrap store
# and that outside we restore the correct location
@@ -38,15 +38,18 @@ def test_store_is_restored_correctly_after_bootstrap(mutable_config, tmpdir):
assert spack.store.root == user_path
-@pytest.mark.parametrize('config_value,expected', [
- # Absolute path without expansion
- ('/opt/spack/bootstrap', '/opt/spack/bootstrap/store'),
- # Path with placeholder
- ('$spack/opt/bootstrap', '$spack/opt/bootstrap/store'),
-])
+@pytest.mark.parametrize(
+ "config_value,expected",
+ [
+ # Absolute path without expansion
+ ("/opt/spack/bootstrap", "/opt/spack/bootstrap/store"),
+ # Path with placeholder
+ ("$spack/opt/bootstrap", "$spack/opt/bootstrap/store"),
+ ],
+)
def test_store_path_customization(config_value, expected, mutable_config):
# Set the current configuration to a specific value
- spack.config.set('bootstrap:root', config_value)
+ spack.config.set("bootstrap:root", config_value)
# Check the store path
current = spack.bootstrap.store_path()
@@ -55,10 +58,10 @@ def test_store_path_customization(config_value, expected, mutable_config):
def test_raising_exception_if_bootstrap_disabled(mutable_config):
# Disable bootstrapping in config.yaml
- spack.config.set('bootstrap:enable', False)
+ spack.config.set("bootstrap:enable", False)
# Check the correct exception is raised
- with pytest.raises(RuntimeError, match='bootstrapping is currently disabled'):
+ with pytest.raises(RuntimeError, match="bootstrapping is currently disabled"):
spack.bootstrap.store_path()
@@ -78,7 +81,7 @@ def test_raising_exception_executables_in_path():
spack.bootstrap.ensure_executables_in_path_or_raise(["asdf", "fdsa"], "python")
-@pytest.mark.regression('25603')
+@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():
@@ -86,22 +89,22 @@ def test_bootstrap_deactivates_environments(active_mock_environment):
assert spack.environment.active_environment() == active_mock_environment
-@pytest.mark.regression('25805')
+@pytest.mark.regression("25805")
def test_bootstrap_disables_modulefile_generation(mutable_config):
# Be sure to enable both lmod and tcl in modules.yaml
- spack.config.set('modules:default:enable', ['tcl', 'lmod'])
+ spack.config.set("modules:default:enable", ["tcl", "lmod"])
- assert 'tcl' in spack.config.get('modules:default:enable')
- assert 'lmod' in spack.config.get('modules:default:enable')
+ assert "tcl" in spack.config.get("modules:default:enable")
+ assert "lmod" in spack.config.get("modules:default:enable")
with spack.bootstrap.ensure_bootstrap_configuration():
- assert 'tcl' not in spack.config.get('modules:default:enable')
- assert 'lmod' not in spack.config.get('modules:default:enable')
- assert 'tcl' in spack.config.get('modules:default:enable')
- assert 'lmod' in spack.config.get('modules:default:enable')
+ assert "tcl" not in spack.config.get("modules:default:enable")
+ assert "lmod" not in spack.config.get("modules:default:enable")
+ assert "tcl" in spack.config.get("modules:default:enable")
+ assert "lmod" in spack.config.get("modules:default:enable")
-@pytest.mark.regression('25992')
-@pytest.mark.requires_executables('gcc')
+@pytest.mark.regression("25992")
+@pytest.mark.requires_executables("gcc")
def test_bootstrap_search_for_compilers_with_no_environment(no_compilers_yaml):
assert not spack.compilers.all_compiler_specs(init_config=False)
with spack.bootstrap.ensure_bootstrap_configuration():
@@ -109,10 +112,10 @@ def test_bootstrap_search_for_compilers_with_no_environment(no_compilers_yaml):
assert not spack.compilers.all_compiler_specs(init_config=False)
-@pytest.mark.regression('25992')
-@pytest.mark.requires_executables('gcc')
+@pytest.mark.regression("25992")
+@pytest.mark.requires_executables("gcc")
def test_bootstrap_search_for_compilers_with_environment_active(
- no_compilers_yaml, active_mock_environment
+ no_compilers_yaml, active_mock_environment
):
assert not spack.compilers.all_compiler_specs(init_config=False)
with spack.bootstrap.ensure_bootstrap_configuration():
@@ -120,37 +123,39 @@ def test_bootstrap_search_for_compilers_with_environment_active(
assert not spack.compilers.all_compiler_specs(init_config=False)
-@pytest.mark.regression('26189')
+@pytest.mark.regression("26189")
def test_config_yaml_is_preserved_during_bootstrap(mutable_config):
- expected_dir = '/tmp/test'
+ expected_dir = "/tmp/test"
spack.config.set("config:test_stage", expected_dir, scope="command_line")
- assert spack.config.get('config:test_stage') == expected_dir
+ assert spack.config.get("config:test_stage") == expected_dir
with spack.bootstrap.ensure_bootstrap_configuration():
- assert spack.config.get('config:test_stage') == expected_dir
- assert spack.config.get('config:test_stage') == expected_dir
+ assert spack.config.get("config:test_stage") == expected_dir
+ assert spack.config.get("config:test_stage") == expected_dir
-@pytest.mark.regression('26548')
+@pytest.mark.regression("26548")
def test_custom_store_in_environment(mutable_config, tmpdir):
# Test that the custom store in an environment is taken into account
# during bootstrapping
- spack_yaml = tmpdir.join('spack.yaml')
- spack_yaml.write("""
+ spack_yaml = tmpdir.join("spack.yaml")
+ spack_yaml.write(
+ """
spack:
specs:
- libelf
config:
install_tree:
root: /tmp/store
-""")
+"""
+ )
with spack.environment.Environment(str(tmpdir)):
assert spack.environment.active_environment()
- assert spack.config.get('config:install_tree:root') == '/tmp/store'
+ assert spack.config.get("config:install_tree:root") == "/tmp/store"
# Don't trigger evaluation here
with spack.bootstrap.ensure_bootstrap_configuration():
pass
- assert str(spack.store.root) == os.sep + os.path.join('tmp', 'store')
+ assert str(spack.store.root) == os.sep + os.path.join("tmp", "store")
def test_nested_use_of_context_manager(mutable_config):
@@ -163,26 +168,26 @@ def test_nested_use_of_context_manager(mutable_config):
assert spack.config.config == user_config
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('expected_missing', [False, True])
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize("expected_missing", [False, True])
def test_status_function_find_files(
- mutable_config, mock_executable, tmpdir, monkeypatch, expected_missing
+ mutable_config, mock_executable, tmpdir, monkeypatch, expected_missing
):
if not expected_missing:
- mock_executable('foo', 'echo Hello WWorld!')
+ mock_executable("foo", "echo Hello WWorld!")
monkeypatch.setattr(
- spack.bootstrap, '_optional_requirements',
- lambda: [spack.bootstrap._required_system_executable('foo', 'NOT FOUND')]
+ spack.bootstrap,
+ "_optional_requirements",
+ lambda: [spack.bootstrap._required_system_executable("foo", "NOT FOUND")],
)
- monkeypatch.setenv('PATH', str(tmpdir.join('bin')))
+ monkeypatch.setenv("PATH", str(tmpdir.join("bin")))
- _, missing = spack.bootstrap.status_message('optional')
+ _, missing = spack.bootstrap.status_message("optional")
assert missing is expected_missing
-@pytest.mark.regression('31042')
+@pytest.mark.regression("31042")
def test_source_is_disabled(mutable_config):
# Get the configuration dictionary of the current bootstrapping source
conf = next(iter(spack.bootstrap.bootstrapping_sources()))
@@ -194,6 +199,6 @@ def test_source_is_disabled(mutable_config):
# Try to explicitly disable the source and verify that the behavior
# is the same as above
- spack.config.add('bootstrap:trusted:{0}:{1}'.format(conf['name'], False))
+ spack.config.add("bootstrap:trusted:{0}:{1}".format(conf["name"], False))
with pytest.raises(ValueError):
spack.bootstrap.source_is_enabled_or_raise(conf)
diff --git a/lib/spack/spack/test/build_distribution.py b/lib/spack/spack/test/build_distribution.py
index c5132a9558..2d3024ab06 100644
--- a/lib/spack/spack/test/build_distribution.py
+++ b/lib/spack/spack/test/build_distribution.py
@@ -12,10 +12,9 @@ import pytest
import spack.binary_distribution
import spack.spec
-install = spack.main.SpackCommand('install')
+install = spack.main.SpackCommand("install")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def _validate_url(url):
@@ -24,30 +23,32 @@ def _validate_url(url):
@pytest.fixture(autouse=True)
def url_check(monkeypatch):
- monkeypatch.setattr(spack.util.url, 'require_url_format', _validate_url)
+ monkeypatch.setattr(spack.util.url, "require_url_format", _validate_url)
-def test_build_tarball_overwrite(
- install_mockery, mock_fetch, monkeypatch, tmpdir):
+def test_build_tarball_overwrite(install_mockery, mock_fetch, monkeypatch, tmpdir):
with tmpdir.as_cwd():
- spec = spack.spec.Spec('trivial-install-test-package').concretized()
+ spec = spack.spec.Spec("trivial-install-test-package").concretized()
install(str(spec))
# Runs fine the first time, throws the second time
- spack.binary_distribution._build_tarball(spec, '.', unsigned=True)
+ spack.binary_distribution._build_tarball(spec, ".", unsigned=True)
with pytest.raises(spack.binary_distribution.NoOverwriteException):
- spack.binary_distribution._build_tarball(spec, '.', unsigned=True)
+ spack.binary_distribution._build_tarball(spec, ".", unsigned=True)
# Should work fine with force=True
- spack.binary_distribution._build_tarball(spec, '.', force=True, unsigned=True)
+ spack.binary_distribution._build_tarball(spec, ".", force=True, unsigned=True)
# Remove the tarball and try again.
# This must *also* throw, because of the existing .spec.json file
- os.remove(os.path.join(
- spack.binary_distribution.build_cache_prefix('.'),
- spack.binary_distribution.tarball_directory_name(spec),
- spack.binary_distribution.tarball_name(spec, '.spack')))
+ os.remove(
+ os.path.join(
+ spack.binary_distribution.build_cache_prefix("."),
+ spack.binary_distribution.tarball_directory_name(spec),
+ spack.binary_distribution.tarball_name(spec, ".spack"),
+ )
+ )
with pytest.raises(spack.binary_distribution.NoOverwriteException):
- spack.binary_distribution._build_tarball(spec, '.', unsigned=True)
+ spack.binary_distribution._build_tarball(spec, ".", unsigned=True)
diff --git a/lib/spack/spack/test/build_environment.py b/lib/spack/spack/test/build_environment.py
index e69b23815b..41a5475c89 100644
--- a/lib/spack/spack/test/build_environment.py
+++ b/lib/spack/spack/test/build_environment.py
@@ -47,39 +47,47 @@ def build_environment(working_env):
realcc = "/bin/mycc"
prefix = "/spack-test-prefix"
- os.environ['SPACK_CC'] = realcc
- os.environ['SPACK_CXX'] = realcc
- os.environ['SPACK_FC'] = realcc
-
- os.environ['SPACK_PREFIX'] = prefix
- os.environ['SPACK_ENV_PATH'] = "test"
- os.environ['SPACK_DEBUG_LOG_DIR'] = "."
- os.environ['SPACK_DEBUG_LOG_ID'] = "foo-hashabc"
- os.environ['SPACK_COMPILER_SPEC'] = "gcc@4.4.7"
- os.environ['SPACK_SHORT_SPEC'] = (
- "foo@1.2 arch=linux-rhel6-x86_64 /hashabc")
-
- os.environ['SPACK_CC_RPATH_ARG'] = "-Wl,-rpath,"
- os.environ['SPACK_CXX_RPATH_ARG'] = "-Wl,-rpath,"
- os.environ['SPACK_F77_RPATH_ARG'] = "-Wl,-rpath,"
- os.environ['SPACK_FC_RPATH_ARG'] = "-Wl,-rpath,"
- os.environ['SPACK_LINKER_ARG'] = '-Wl,'
- os.environ['SPACK_DTAGS_TO_ADD'] = '--disable-new-dtags'
- os.environ['SPACK_DTAGS_TO_STRIP'] = '--enable-new-dtags'
- os.environ['SPACK_SYSTEM_DIRS'] = '/usr/include /usr/lib'
- os.environ['SPACK_TARGET_ARGS'] = ''
-
- if 'SPACK_DEPENDENCIES' in os.environ:
- del os.environ['SPACK_DEPENDENCIES']
-
- yield {'cc': cc, 'cxx': cxx, 'fc': fc}
-
- for name in ('SPACK_CC', 'SPACK_CXX', 'SPACK_FC', 'SPACK_PREFIX',
- 'SPACK_ENV_PATH', 'SPACK_DEBUG_LOG_DIR',
- 'SPACK_COMPILER_SPEC', 'SPACK_SHORT_SPEC',
- 'SPACK_CC_RPATH_ARG', 'SPACK_CXX_RPATH_ARG',
- 'SPACK_F77_RPATH_ARG', 'SPACK_FC_RPATH_ARG',
- 'SPACK_TARGET_ARGS'):
+ os.environ["SPACK_CC"] = realcc
+ os.environ["SPACK_CXX"] = realcc
+ os.environ["SPACK_FC"] = realcc
+
+ os.environ["SPACK_PREFIX"] = prefix
+ os.environ["SPACK_ENV_PATH"] = "test"
+ os.environ["SPACK_DEBUG_LOG_DIR"] = "."
+ os.environ["SPACK_DEBUG_LOG_ID"] = "foo-hashabc"
+ os.environ["SPACK_COMPILER_SPEC"] = "gcc@4.4.7"
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2 arch=linux-rhel6-x86_64 /hashabc"
+
+ os.environ["SPACK_CC_RPATH_ARG"] = "-Wl,-rpath,"
+ os.environ["SPACK_CXX_RPATH_ARG"] = "-Wl,-rpath,"
+ os.environ["SPACK_F77_RPATH_ARG"] = "-Wl,-rpath,"
+ os.environ["SPACK_FC_RPATH_ARG"] = "-Wl,-rpath,"
+ os.environ["SPACK_LINKER_ARG"] = "-Wl,"
+ os.environ["SPACK_DTAGS_TO_ADD"] = "--disable-new-dtags"
+ os.environ["SPACK_DTAGS_TO_STRIP"] = "--enable-new-dtags"
+ os.environ["SPACK_SYSTEM_DIRS"] = "/usr/include /usr/lib"
+ os.environ["SPACK_TARGET_ARGS"] = ""
+
+ if "SPACK_DEPENDENCIES" in os.environ:
+ del os.environ["SPACK_DEPENDENCIES"]
+
+ yield {"cc": cc, "cxx": cxx, "fc": fc}
+
+ for name in (
+ "SPACK_CC",
+ "SPACK_CXX",
+ "SPACK_FC",
+ "SPACK_PREFIX",
+ "SPACK_ENV_PATH",
+ "SPACK_DEBUG_LOG_DIR",
+ "SPACK_COMPILER_SPEC",
+ "SPACK_SHORT_SPEC",
+ "SPACK_CC_RPATH_ARG",
+ "SPACK_CXX_RPATH_ARG",
+ "SPACK_F77_RPATH_ARG",
+ "SPACK_FC_RPATH_ARG",
+ "SPACK_TARGET_ARGS",
+ ):
del os.environ[name]
@@ -88,6 +96,7 @@ def ensure_env_variables(config, mock_packages, monkeypatch, working_env):
"""Returns a function that takes a dictionary and updates os.environ
for the test lifetime accordingly. Plugs-in mock config and repo.
"""
+
def _ensure(env_mods):
for name, value in env_mods.items():
monkeypatch.setenv(name, value)
@@ -97,7 +106,6 @@ def ensure_env_variables(config, mock_packages, monkeypatch, working_env):
@pytest.fixture
def mock_module_cmd(monkeypatch):
-
class Logger(object):
def __init__(self, fn=None):
self.fn = fn
@@ -109,122 +117,157 @@ def mock_module_cmd(monkeypatch):
return self.fn(*args, **kwargs)
mock_module_cmd = Logger()
- monkeypatch.setattr(spack.build_environment, 'module', mock_module_cmd)
- monkeypatch.setattr(spack.build_environment, '_on_cray', lambda: (True, None))
+ monkeypatch.setattr(spack.build_environment, "module", mock_module_cmd)
+ monkeypatch.setattr(spack.build_environment, "_on_cray", lambda: (True, None))
return mock_module_cmd
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Static to Shared not supported on Win (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Static to Shared not supported on Win (yet)")
def test_static_to_shared_library(build_environment):
- os.environ['SPACK_TEST_COMMAND'] = 'dump-args'
+ os.environ["SPACK_TEST_COMMAND"] = "dump-args"
expected = {
- 'linux': ('/bin/mycc -shared'
- ' -Wl,--disable-new-dtags'
- ' -Wl,-soname,{2} -Wl,--whole-archive {0}'
- ' -Wl,--no-whole-archive -o {1}'),
- 'darwin': ('/bin/mycc -dynamiclib'
- ' -Wl,--disable-new-dtags'
- ' -install_name {1} -Wl,-force_load,{0} -o {1}')
+ "linux": (
+ "/bin/mycc -shared"
+ " -Wl,--disable-new-dtags"
+ " -Wl,-soname,{2} -Wl,--whole-archive {0}"
+ " -Wl,--no-whole-archive -o {1}"
+ ),
+ "darwin": (
+ "/bin/mycc -dynamiclib"
+ " -Wl,--disable-new-dtags"
+ " -install_name {1} -Wl,-force_load,{0} -o {1}"
+ ),
}
- static_lib = '/spack/libfoo.a'
+ static_lib = "/spack/libfoo.a"
- for arch in ('linux', 'darwin'):
- for shared_lib in (None, '/spack/libbar.so'):
- output = _static_to_shared_library(arch, build_environment['cc'],
- static_lib, shared_lib,
- compiler_output=str).strip()
+ for arch in ("linux", "darwin"):
+ for shared_lib in (None, "/spack/libbar.so"):
+ output = _static_to_shared_library(
+ arch, build_environment["cc"], static_lib, shared_lib, compiler_output=str
+ ).strip()
if not shared_lib:
- shared_lib = '{0}.{1}'.format(
- os.path.splitext(static_lib)[0], dso_suffix)
+ shared_lib = "{0}.{1}".format(os.path.splitext(static_lib)[0], dso_suffix)
- assert set(output.split()) == set(expected[arch].format(
- static_lib, shared_lib, os.path.basename(shared_lib)).split())
+ assert set(output.split()) == set(
+ expected[arch].format(static_lib, shared_lib, os.path.basename(shared_lib)).split()
+ )
-@pytest.mark.regression('8345')
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.regression("8345")
+@pytest.mark.usefixtures("config", "mock_packages")
def test_cc_not_changed_by_modules(monkeypatch, working_env):
- s = spack.spec.Spec('cmake')
+ s = spack.spec.Spec("cmake")
s.concretize()
pkg = s.package
def _set_wrong_cc(x):
- os.environ['CC'] = 'NOT_THIS_PLEASE'
- os.environ['ANOTHER_VAR'] = 'THIS_IS_SET'
+ os.environ["CC"] = "NOT_THIS_PLEASE"
+ os.environ["ANOTHER_VAR"] = "THIS_IS_SET"
- monkeypatch.setattr(
- spack.build_environment, 'load_module', _set_wrong_cc
- )
- monkeypatch.setattr(
- pkg.compiler, 'modules', ['some_module']
- )
+ monkeypatch.setattr(spack.build_environment, "load_module", _set_wrong_cc)
+ monkeypatch.setattr(pkg.compiler, "modules", ["some_module"])
spack.build_environment.setup_package(pkg, False)
- assert os.environ['CC'] != 'NOT_THIS_PLEASE'
- assert os.environ['ANOTHER_VAR'] == 'THIS_IS_SET'
-
-
-@pytest.mark.parametrize('initial,modifications,expected', [
- # Set and unset variables
- ({'SOME_VAR_STR': '', 'SOME_VAR_NUM': '0'},
- {'set': {'SOME_VAR_STR': 'SOME_STR', 'SOME_VAR_NUM': 1}},
- {'SOME_VAR_STR': 'SOME_STR', 'SOME_VAR_NUM': '1'}),
- ({'SOME_VAR_STR': ''},
- {'unset': ['SOME_VAR_STR']},
- {'SOME_VAR_STR': None}),
- ({}, # Set a variable that was not defined already
- {'set': {'SOME_VAR_STR': 'SOME_STR'}},
- {'SOME_VAR_STR': 'SOME_STR'}),
- # Append and prepend to the same variable
- ({'EMPTY_PATH_LIST': prep_and_join('path', 'middle')},
- {'prepend_path': {'EMPTY_PATH_LIST': prep_and_join('path', 'first')},
- 'append_path': {'EMPTY_PATH_LIST': prep_and_join('path', 'last')}},
- {'EMPTY_PATH_LIST': os_pathsep_join(prep_and_join('path', 'first'),
- prep_and_join('path', 'middle'),
- prep_and_join('path', 'last'))}),
- # Append and prepend from empty variables
- ({'EMPTY_PATH_LIST': '', 'SOME_VAR_STR': ''},
- {'prepend_path': {'EMPTY_PATH_LIST': prep_and_join('path', 'first')},
- 'append_path': {'SOME_VAR_STR': prep_and_join('path', 'last')}},
- {'EMPTY_PATH_LIST': prep_and_join('path', 'first'),
- 'SOME_VAR_STR': prep_and_join('path', 'last')}),
- ({}, # Same as before but on variables that were not defined
- {'prepend_path': {'EMPTY_PATH_LIST': prep_and_join('path', 'first')},
- 'append_path': {'SOME_VAR_STR': prep_and_join('path', 'last')}},
- {'EMPTY_PATH_LIST': prep_and_join('path', 'first'),
- 'SOME_VAR_STR': prep_and_join('path', 'last')}),
- # Remove a path from a list
- ({'EMPTY_PATH_LIST': os_pathsep_join(prep_and_join('path', 'first'),
- prep_and_join('path', 'middle'),
- prep_and_join('path', 'last'))},
- {'remove_path': {'EMPTY_PATH_LIST': prep_and_join('path', 'middle')}},
- {'EMPTY_PATH_LIST': os_pathsep_join(prep_and_join('path', 'first'),
- prep_and_join('path', 'last'))}),
- ({'EMPTY_PATH_LIST': prep_and_join('only', 'path')},
- {'remove_path': {'EMPTY_PATH_LIST': prep_and_join('only', 'path')}},
- {'EMPTY_PATH_LIST': ''}),
-])
+ assert os.environ["CC"] != "NOT_THIS_PLEASE"
+ assert os.environ["ANOTHER_VAR"] == "THIS_IS_SET"
+
+
+@pytest.mark.parametrize(
+ "initial,modifications,expected",
+ [
+ # Set and unset variables
+ (
+ {"SOME_VAR_STR": "", "SOME_VAR_NUM": "0"},
+ {"set": {"SOME_VAR_STR": "SOME_STR", "SOME_VAR_NUM": 1}},
+ {"SOME_VAR_STR": "SOME_STR", "SOME_VAR_NUM": "1"},
+ ),
+ ({"SOME_VAR_STR": ""}, {"unset": ["SOME_VAR_STR"]}, {"SOME_VAR_STR": None}),
+ (
+ {}, # Set a variable that was not defined already
+ {"set": {"SOME_VAR_STR": "SOME_STR"}},
+ {"SOME_VAR_STR": "SOME_STR"},
+ ),
+ # Append and prepend to the same variable
+ (
+ {"EMPTY_PATH_LIST": prep_and_join("path", "middle")},
+ {
+ "prepend_path": {"EMPTY_PATH_LIST": prep_and_join("path", "first")},
+ "append_path": {"EMPTY_PATH_LIST": prep_and_join("path", "last")},
+ },
+ {
+ "EMPTY_PATH_LIST": os_pathsep_join(
+ prep_and_join("path", "first"),
+ prep_and_join("path", "middle"),
+ prep_and_join("path", "last"),
+ )
+ },
+ ),
+ # Append and prepend from empty variables
+ (
+ {"EMPTY_PATH_LIST": "", "SOME_VAR_STR": ""},
+ {
+ "prepend_path": {"EMPTY_PATH_LIST": prep_and_join("path", "first")},
+ "append_path": {"SOME_VAR_STR": prep_and_join("path", "last")},
+ },
+ {
+ "EMPTY_PATH_LIST": prep_and_join("path", "first"),
+ "SOME_VAR_STR": prep_and_join("path", "last"),
+ },
+ ),
+ (
+ {}, # Same as before but on variables that were not defined
+ {
+ "prepend_path": {"EMPTY_PATH_LIST": prep_and_join("path", "first")},
+ "append_path": {"SOME_VAR_STR": prep_and_join("path", "last")},
+ },
+ {
+ "EMPTY_PATH_LIST": prep_and_join("path", "first"),
+ "SOME_VAR_STR": prep_and_join("path", "last"),
+ },
+ ),
+ # Remove a path from a list
+ (
+ {
+ "EMPTY_PATH_LIST": os_pathsep_join(
+ prep_and_join("path", "first"),
+ prep_and_join("path", "middle"),
+ prep_and_join("path", "last"),
+ )
+ },
+ {"remove_path": {"EMPTY_PATH_LIST": prep_and_join("path", "middle")}},
+ {
+ "EMPTY_PATH_LIST": os_pathsep_join(
+ prep_and_join("path", "first"), prep_and_join("path", "last")
+ )
+ },
+ ),
+ (
+ {"EMPTY_PATH_LIST": prep_and_join("only", "path")},
+ {"remove_path": {"EMPTY_PATH_LIST": prep_and_join("only", "path")}},
+ {"EMPTY_PATH_LIST": ""},
+ ),
+ ],
+)
def test_compiler_config_modifications(
- initial, modifications, expected, ensure_env_variables, monkeypatch
+ initial, modifications, expected, ensure_env_variables, monkeypatch
):
# Set the environment as per prerequisites
ensure_env_variables(initial)
def platform_pathsep(pathlist):
if Path.platform_path == Path.windows:
- pathlist = pathlist.replace(':', ';')
+ pathlist = pathlist.replace(":", ";")
return convert_to_platform_path(pathlist)
# Monkeypatch a pkg.compiler.environment with the required modifications
- pkg = spack.spec.Spec('cmake').concretized().package
- monkeypatch.setattr(pkg.compiler, 'environment', modifications)
+ pkg = spack.spec.Spec("cmake").concretized().package
+ monkeypatch.setattr(pkg.compiler, "environment", modifications)
# Trigger the modifications
spack.build_environment.setup_package(pkg, False)
@@ -237,50 +280,44 @@ def test_compiler_config_modifications(
assert name not in os.environ
-@pytest.mark.regression('9107')
-def test_spack_paths_before_module_paths(
- config, mock_packages, monkeypatch, working_env):
- s = spack.spec.Spec('cmake')
+@pytest.mark.regression("9107")
+def test_spack_paths_before_module_paths(config, mock_packages, monkeypatch, working_env):
+ s = spack.spec.Spec("cmake")
s.concretize()
pkg = s.package
- module_path = os.path.join('path', 'to', 'module')
+ module_path = os.path.join("path", "to", "module")
def _set_wrong_cc(x):
- os.environ['PATH'] = module_path + os.pathsep + os.environ['PATH']
+ os.environ["PATH"] = module_path + os.pathsep + os.environ["PATH"]
- monkeypatch.setattr(
- spack.build_environment, 'load_module', _set_wrong_cc
- )
- monkeypatch.setattr(
- pkg.compiler, 'modules', ['some_module']
- )
+ monkeypatch.setattr(spack.build_environment, "load_module", _set_wrong_cc)
+ monkeypatch.setattr(pkg.compiler, "modules", ["some_module"])
spack.build_environment.setup_package(pkg, False)
- spack_path = os.path.join(spack.paths.prefix, os.path.join('lib', 'spack', 'env'))
+ spack_path = os.path.join(spack.paths.prefix, os.path.join("lib", "spack", "env"))
- paths = os.environ['PATH'].split(os.pathsep)
+ paths = os.environ["PATH"].split(os.pathsep)
assert paths.index(spack_path) < paths.index(module_path)
def test_package_inheritance_module_setup(config, mock_packages, working_env):
- s = spack.spec.Spec('multimodule-inheritance')
+ s = spack.spec.Spec("multimodule-inheritance")
s.concretize()
pkg = s.package
spack.build_environment.setup_package(pkg, False)
- os.environ['TEST_MODULE_VAR'] = 'failed'
+ os.environ["TEST_MODULE_VAR"] = "failed"
- assert pkg.use_module_variable() == 'test_module_variable'
- assert os.environ['TEST_MODULE_VAR'] == 'test_module_variable'
+ assert pkg.use_module_variable() == "test_module_variable"
+ assert os.environ["TEST_MODULE_VAR"] == "test_module_variable"
def test_wrapper_variables(
- config, mock_packages, working_env, monkeypatch,
- installation_dir_with_headers
+ config, mock_packages, working_env, monkeypatch, installation_dir_with_headers
):
"""Check that build_environment supplies the needed library/include
directories via the SPACK_LINK_DIRS and SPACK_INCLUDE_DIRS environment
@@ -288,109 +325,106 @@ def test_wrapper_variables(
"""
# https://github.com/spack/spack/issues/13969
- cuda_headers = HeaderList([
- 'prefix/include/cuda_runtime.h',
- 'prefix/include/cuda/atomic',
- 'prefix/include/cuda/std/detail/libcxx/include/ctype.h'])
+ cuda_headers = HeaderList(
+ [
+ "prefix/include/cuda_runtime.h",
+ "prefix/include/cuda/atomic",
+ "prefix/include/cuda/std/detail/libcxx/include/ctype.h",
+ ]
+ )
cuda_include_dirs = cuda_headers.directories
- assert(posixpath.join('prefix', 'include')
- in cuda_include_dirs)
- assert(posixpath.join('prefix', 'include', 'cuda', 'std', 'detail',
- 'libcxx', 'include')
- not in cuda_include_dirs)
+ assert posixpath.join("prefix", "include") in cuda_include_dirs
+ assert (
+ posixpath.join("prefix", "include", "cuda", "std", "detail", "libcxx", "include")
+ not in cuda_include_dirs
+ )
- root = spack.spec.Spec('dt-diamond')
+ root = spack.spec.Spec("dt-diamond")
root.concretize()
for s in root.traverse():
- s.prefix = '/{0}-prefix/'.format(s.name)
+ s.prefix = "/{0}-prefix/".format(s.name)
- dep_pkg = root['dt-diamond-left'].package
- dep_lib_paths = ['/test/path/to/ex1.so', '/test/path/to/subdir/ex2.so']
- dep_lib_dirs = ['/test/path/to', '/test/path/to/subdir']
+ dep_pkg = root["dt-diamond-left"].package
+ dep_lib_paths = ["/test/path/to/ex1.so", "/test/path/to/subdir/ex2.so"]
+ dep_lib_dirs = ["/test/path/to", "/test/path/to/subdir"]
dep_libs = LibraryList(dep_lib_paths)
- dep2_pkg = root['dt-diamond-right'].package
+ dep2_pkg = root["dt-diamond-right"].package
dep2_pkg.spec.prefix = str(installation_dir_with_headers)
- setattr(dep_pkg, 'libs', dep_libs)
+ setattr(dep_pkg, "libs", dep_libs)
try:
pkg = root.package
env_mods = EnvironmentModifications()
- spack.build_environment.set_wrapper_variables(
- pkg, env_mods)
+ spack.build_environment.set_wrapper_variables(pkg, env_mods)
env_mods.apply_modifications()
def normpaths(paths):
return list(os.path.normpath(p) for p in paths)
- link_dir_var = os.environ['SPACK_LINK_DIRS']
- assert (
- normpaths(link_dir_var.split(':')) == normpaths(dep_lib_dirs))
+ link_dir_var = os.environ["SPACK_LINK_DIRS"]
+ assert normpaths(link_dir_var.split(":")) == normpaths(dep_lib_dirs)
- root_libdirs = ['/dt-diamond-prefix/lib', '/dt-diamond-prefix/lib64']
- rpath_dir_var = os.environ['SPACK_RPATH_DIRS']
+ root_libdirs = ["/dt-diamond-prefix/lib", "/dt-diamond-prefix/lib64"]
+ rpath_dir_var = os.environ["SPACK_RPATH_DIRS"]
# The 'lib' and 'lib64' subdirectories of the root package prefix
# should always be rpathed and should be the first rpaths
- assert (
- normpaths(rpath_dir_var.split(':')) ==
- normpaths(root_libdirs + dep_lib_dirs))
+ assert normpaths(rpath_dir_var.split(":")) == normpaths(root_libdirs + dep_lib_dirs)
- header_dir_var = os.environ['SPACK_INCLUDE_DIRS']
+ header_dir_var = os.environ["SPACK_INCLUDE_DIRS"]
# The default implementation looks for header files only
# in <prefix>/include and subdirectories
prefix = str(installation_dir_with_headers)
include_dirs = normpaths(header_dir_var.split(os.pathsep))
- assert os.path.join(prefix, 'include') in include_dirs
- assert os.path.join(prefix, 'include', 'boost') not in include_dirs
- assert os.path.join(prefix, 'path', 'to') not in include_dirs
- assert os.path.join(prefix, 'path', 'to', 'subdir') not in include_dirs
+ assert os.path.join(prefix, "include") in include_dirs
+ assert os.path.join(prefix, "include", "boost") not in include_dirs
+ assert os.path.join(prefix, "path", "to") not in include_dirs
+ assert os.path.join(prefix, "path", "to", "subdir") not in include_dirs
finally:
- delattr(dep_pkg, 'libs')
+ delattr(dep_pkg, "libs")
-def test_external_prefixes_last(mutable_config, mock_packages, working_env,
- monkeypatch):
+def test_external_prefixes_last(mutable_config, mock_packages, working_env, monkeypatch):
# Sanity check: under normal circumstances paths associated with
# dt-diamond-left would appear first. We'll mark it as external in
# the test to check if the associated paths are placed last.
- assert 'dt-diamond-left' < 'dt-diamond-right'
+ assert "dt-diamond-left" < "dt-diamond-right"
- cfg_data = syaml.load_config("""\
+ cfg_data = syaml.load_config(
+ """\
dt-diamond-left:
externals:
- spec: dt-diamond-left@1.0
prefix: /fake/path1
buildable: false
-""")
+"""
+ )
spack.config.set("packages", cfg_data)
- top = spack.spec.Spec('dt-diamond').concretized()
+ top = spack.spec.Spec("dt-diamond").concretized()
def _trust_me_its_a_dir(path):
return True
- monkeypatch.setattr(
- os.path, 'isdir', _trust_me_its_a_dir
- )
+
+ monkeypatch.setattr(os.path, "isdir", _trust_me_its_a_dir)
env_mods = EnvironmentModifications()
- spack.build_environment.set_wrapper_variables(
- top.package, env_mods)
+ spack.build_environment.set_wrapper_variables(top.package, env_mods)
env_mods.apply_modifications()
- link_dir_var = os.environ['SPACK_LINK_DIRS']
- link_dirs = link_dir_var.split(':')
- external_lib_paths = set([os.path.normpath('/fake/path1/lib'),
- os.path.normpath('/fake/path1/lib64')])
+ link_dir_var = os.environ["SPACK_LINK_DIRS"]
+ link_dirs = link_dir_var.split(":")
+ external_lib_paths = set(
+ [os.path.normpath("/fake/path1/lib"), os.path.normpath("/fake/path1/lib64")]
+ )
# The external lib paths should be the last two entries of the list and
# should not appear anywhere before the last two entries
- assert (set(os.path.normpath(x) for x in link_dirs[-2:]) ==
- external_lib_paths)
- assert not (set(os.path.normpath(x) for x in link_dirs[:-2]) &
- external_lib_paths)
+ assert set(os.path.normpath(x) for x in link_dirs[-2:]) == external_lib_paths
+ assert not (set(os.path.normpath(x) for x in link_dirs[:-2]) & external_lib_paths)
def test_parallel_false_is_not_propagating(config, mock_packages):
@@ -399,68 +433,75 @@ def test_parallel_false_is_not_propagating(config, mock_packages):
# Package A has parallel = False and depends on B which instead
# can be built in parallel
- s = spack.spec.Spec('a foobar=bar')
+ s = spack.spec.Spec("a foobar=bar")
s.concretize()
for spec in s.traverse():
- expected_jobs = spack.config.get('config:build_jobs') \
- if s.package.parallel else 1
+ expected_jobs = spack.config.get("config:build_jobs") if s.package.parallel else 1
m = AttributeHolder()
spack.build_environment._set_variables_for_single_module(s.package, m)
assert m.make_jobs == expected_jobs
-@pytest.mark.parametrize('config_setting,expected_flag', [
- ('runpath', '' if platform.system() == 'Darwin' else '--enable-new-dtags'),
- ('rpath', '' if platform.system() == 'Darwin' else '--disable-new-dtags'),
-])
-def test_setting_dtags_based_on_config(
- config_setting, expected_flag, config, mock_packages
-):
+@pytest.mark.parametrize(
+ "config_setting,expected_flag",
+ [
+ ("runpath", "" if platform.system() == "Darwin" else "--enable-new-dtags"),
+ ("rpath", "" if platform.system() == "Darwin" else "--disable-new-dtags"),
+ ],
+)
+def test_setting_dtags_based_on_config(config_setting, expected_flag, config, mock_packages):
# Pick a random package to be able to set compiler's variables
- s = spack.spec.Spec('cmake')
+ s = spack.spec.Spec("cmake")
s.concretize()
pkg = s.package
env = EnvironmentModifications()
- with spack.config.override('config:shared_linking', config_setting):
+ with spack.config.override("config:shared_linking", config_setting):
spack.build_environment.set_compiler_environment_variables(pkg, env)
modifications = env.group_by_name()
- assert 'SPACK_DTAGS_TO_STRIP' in modifications
- assert 'SPACK_DTAGS_TO_ADD' in modifications
- assert len(modifications['SPACK_DTAGS_TO_ADD']) == 1
- assert len(modifications['SPACK_DTAGS_TO_STRIP']) == 1
+ assert "SPACK_DTAGS_TO_STRIP" in modifications
+ assert "SPACK_DTAGS_TO_ADD" in modifications
+ assert len(modifications["SPACK_DTAGS_TO_ADD"]) == 1
+ assert len(modifications["SPACK_DTAGS_TO_STRIP"]) == 1
- dtags_to_add = modifications['SPACK_DTAGS_TO_ADD'][0]
+ dtags_to_add = modifications["SPACK_DTAGS_TO_ADD"][0]
assert dtags_to_add.value == expected_flag
def test_build_jobs_sequential_is_sequential():
- assert determine_number_of_jobs(
- parallel=False, command_line=8, config_default=8, max_cpus=8) == 1
+ assert (
+ determine_number_of_jobs(parallel=False, command_line=8, config_default=8, max_cpus=8) == 1
+ )
def test_build_jobs_command_line_overrides():
- assert determine_number_of_jobs(
- parallel=True, command_line=10, config_default=1, max_cpus=1) == 10
- assert determine_number_of_jobs(
- parallel=True, command_line=10, config_default=100, max_cpus=100) == 10
+ assert (
+ determine_number_of_jobs(parallel=True, command_line=10, config_default=1, max_cpus=1)
+ == 10
+ )
+ assert (
+ determine_number_of_jobs(parallel=True, command_line=10, config_default=100, max_cpus=100)
+ == 10
+ )
def test_build_jobs_defaults():
- assert determine_number_of_jobs(
- parallel=True, command_line=None, config_default=1, max_cpus=10) == 1
- assert determine_number_of_jobs(
- parallel=True, command_line=None, config_default=100, max_cpus=10) == 10
+ assert (
+ determine_number_of_jobs(parallel=True, command_line=None, config_default=1, max_cpus=10)
+ == 1
+ )
+ assert (
+ determine_number_of_jobs(parallel=True, command_line=None, config_default=100, max_cpus=10)
+ == 10
+ )
-def test_dirty_disable_module_unload(
- config, mock_packages, working_env, mock_module_cmd
-):
+def test_dirty_disable_module_unload(config, mock_packages, working_env, mock_module_cmd):
"""Test that on CRAY platform 'module unload' is not called if the 'dirty'
option is on.
"""
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
# If called with "dirty" we don't unload modules, so no calls to the
# `module` function on Cray
@@ -470,5 +511,5 @@ def test_dirty_disable_module_unload(
# If called without "dirty" we unload modules on Cray
spack.build_environment.setup_package(s.package, dirty=False)
assert mock_module_cmd.calls
- assert any(('unload', 'cray-libsci') == item[0] for item in mock_module_cmd.calls)
- assert any(('unload', 'cray-mpich') == item[0] for item in mock_module_cmd.calls)
+ assert any(("unload", "cray-libsci") == item[0] for item in mock_module_cmd.calls)
+ assert any(("unload", "cray-mpich") == item[0] for item in mock_module_cmd.calls)
diff --git a/lib/spack/spack/test/build_system_guess.py b/lib/spack/spack/test/build_system_guess.py
index 7850d70fff..22ab96041d 100644
--- a/lib/spack/spack/test/build_system_guess.py
+++ b/lib/spack/spack/test/build_system_guess.py
@@ -11,47 +11,46 @@ import spack.cmd.create
import spack.stage
import spack.util.executable
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture(
- scope='function',
+ scope="function",
params=[
- ('configure', 'autotools'),
- ('CMakeLists.txt', 'cmake'),
- ('project.pro', 'qmake'),
- ('pom.xml', 'maven'),
- ('SConstruct', 'scons'),
- ('waf', 'waf'),
- ('argbah.rockspec', 'lua'),
- ('setup.py', 'python'),
- ('NAMESPACE', 'r'),
- ('WORKSPACE', 'bazel'),
- ('Makefile.PL', 'perlmake'),
- ('Build.PL', 'perlbuild'),
- ('foo.gemspec', 'ruby'),
- ('Rakefile', 'ruby'),
- ('setup.rb', 'ruby'),
- ('GNUmakefile', 'makefile'),
- ('makefile', 'makefile'),
- ('Makefile', 'makefile'),
- ('meson.build', 'meson'),
- ('configure.py', 'sip'),
- ('foobar', 'generic')
- ]
+ ("configure", "autotools"),
+ ("CMakeLists.txt", "cmake"),
+ ("project.pro", "qmake"),
+ ("pom.xml", "maven"),
+ ("SConstruct", "scons"),
+ ("waf", "waf"),
+ ("argbah.rockspec", "lua"),
+ ("setup.py", "python"),
+ ("NAMESPACE", "r"),
+ ("WORKSPACE", "bazel"),
+ ("Makefile.PL", "perlmake"),
+ ("Build.PL", "perlbuild"),
+ ("foo.gemspec", "ruby"),
+ ("Rakefile", "ruby"),
+ ("setup.rb", "ruby"),
+ ("GNUmakefile", "makefile"),
+ ("makefile", "makefile"),
+ ("Makefile", "makefile"),
+ ("meson.build", "meson"),
+ ("configure.py", "sip"),
+ ("foobar", "generic"),
+ ],
)
def url_and_build_system(request, tmpdir):
"""Sets up the resources to be pulled by the stage with
the appropriate file name and returns their url along with
the correct build-system guess
"""
- tar = spack.util.executable.which('tar')
+ tar = spack.util.executable.which("tar")
orig_dir = tmpdir.chdir()
filename, system = request.param
- tmpdir.ensure('archive', filename)
- tar('czf', 'archive.tar.gz', 'archive')
- url = 'file://' + str(tmpdir.join('archive.tar.gz'))
+ tmpdir.ensure("archive", filename)
+ tar("czf", "archive.tar.gz", "archive")
+ url = "file://" + str(tmpdir.join("archive.tar.gz"))
yield url, system
orig_dir.chdir()
diff --git a/lib/spack/spack/test/build_systems.py b/lib/spack/spack/test/build_systems.py
index 3158696666..f660596bb7 100644
--- a/lib/spack/spack/test/build_systems.py
+++ b/lib/spack/spack/test/build_systems.py
@@ -20,18 +20,18 @@ from spack.build_environment import ChildError, get_std_cmake_args, setup_packag
from spack.spec import Spec
from spack.util.executable import which
-DATA_PATH = os.path.join(spack.paths.test_path, 'data')
+DATA_PATH = os.path.join(spack.paths.test_path, "data")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture()
def concretize_and_setup():
def _func(spec_str):
- s = Spec('mpich').concretized()
+ s = Spec("mpich").concretized()
setup_package(s.package, False)
return s
+
return _func
@@ -40,126 +40,122 @@ def test_dir(tmpdir):
def _func(dir_str):
py.path.local(dir_str).copy(tmpdir)
return str(tmpdir)
+
return _func
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
class TestTargets(object):
@pytest.mark.parametrize(
- 'input_dir', glob.iglob(os.path.join(DATA_PATH, 'make', 'affirmative', '*'))
+ "input_dir", glob.iglob(os.path.join(DATA_PATH, "make", "affirmative", "*"))
)
def test_affirmative_make_check(self, input_dir, test_dir, concretize_and_setup):
"""Tests that Spack correctly detects targets in a Makefile."""
- s = concretize_and_setup('mpich')
+ s = concretize_and_setup("mpich")
with fs.working_dir(test_dir(input_dir)):
- assert s.package._has_make_target('check')
- s.package._if_make_target_execute('check')
+ assert s.package._has_make_target("check")
+ s.package._if_make_target_execute("check")
@pytest.mark.parametrize(
- 'input_dir', glob.iglob(os.path.join(DATA_PATH, 'make', 'negative', '*'))
+ "input_dir", glob.iglob(os.path.join(DATA_PATH, "make", "negative", "*"))
)
- @pytest.mark.regression('9067')
+ @pytest.mark.regression("9067")
def test_negative_make_check(self, input_dir, test_dir, concretize_and_setup):
"""Tests that Spack correctly ignores false positives in a Makefile."""
- s = concretize_and_setup('mpich')
+ s = concretize_and_setup("mpich")
with fs.working_dir(test_dir(input_dir)):
- assert not s.package._has_make_target('check')
- s.package._if_make_target_execute('check')
+ assert not s.package._has_make_target("check")
+ s.package._if_make_target_execute("check")
- @pytest.mark.skipif(not which('ninja'), reason='ninja is not installed')
+ @pytest.mark.skipif(not which("ninja"), reason="ninja is not installed")
@pytest.mark.parametrize(
- 'input_dir', glob.iglob(os.path.join(DATA_PATH, 'ninja', 'affirmative', '*'))
+ "input_dir", glob.iglob(os.path.join(DATA_PATH, "ninja", "affirmative", "*"))
)
def test_affirmative_ninja_check(self, input_dir, test_dir, concretize_and_setup):
"""Tests that Spack correctly detects targets in a Ninja build script."""
- s = concretize_and_setup('mpich')
+ s = concretize_and_setup("mpich")
with fs.working_dir(test_dir(input_dir)):
- assert s.package._has_ninja_target('check')
- s.package._if_ninja_target_execute('check')
+ assert s.package._has_ninja_target("check")
+ s.package._if_ninja_target_execute("check")
- @pytest.mark.skipif(not which('ninja'), reason='ninja is not installed')
+ @pytest.mark.skipif(not which("ninja"), reason="ninja is not installed")
@pytest.mark.parametrize(
- 'input_dir', glob.iglob(os.path.join(DATA_PATH, 'ninja', 'negative', '*'))
+ "input_dir", glob.iglob(os.path.join(DATA_PATH, "ninja", "negative", "*"))
)
def test_negative_ninja_check(self, input_dir, test_dir, concretize_and_setup):
"""Tests that Spack correctly ignores false positives in a Ninja
build script.
"""
- s = concretize_and_setup('mpich')
+ s = concretize_and_setup("mpich")
with fs.working_dir(test_dir(input_dir)):
- assert not s.package._has_ninja_target('check')
- s.package._if_ninja_target_execute('check')
+ assert not s.package._has_ninja_target("check")
+ s.package._if_ninja_target_execute("check")
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestAutotoolsPackage(object):
-
def test_with_or_without(self):
- s = Spec('a').concretized()
- options = s.package.with_or_without('foo')
+ s = Spec("a").concretized()
+ options = s.package.with_or_without("foo")
# Ensure that values that are not representing a feature
# are not used by with_or_without
- assert '--without-none' not in options
- assert '--with-bar' in options
- assert '--without-baz' in options
- assert '--no-fee' in options
+ assert "--without-none" not in options
+ assert "--with-bar" in options
+ assert "--without-baz" in options
+ assert "--no-fee" in options
def activate(value):
- return 'something'
+ return "something"
- options = s.package.with_or_without('foo', activation_value=activate)
- assert '--without-none' not in options
- assert '--with-bar=something' in options
- assert '--without-baz' in options
- assert '--no-fee' in options
+ options = s.package.with_or_without("foo", activation_value=activate)
+ assert "--without-none" not in options
+ assert "--with-bar=something" in options
+ assert "--without-baz" in options
+ assert "--no-fee" in options
- options = s.package.enable_or_disable('foo')
- assert '--disable-none' not in options
- assert '--enable-bar' in options
- assert '--disable-baz' in options
- assert '--disable-fee' in options
+ options = s.package.enable_or_disable("foo")
+ assert "--disable-none" not in options
+ assert "--enable-bar" in options
+ assert "--disable-baz" in options
+ assert "--disable-fee" in options
- options = s.package.with_or_without('bvv')
- assert '--with-bvv' in options
+ options = s.package.with_or_without("bvv")
+ assert "--with-bvv" in options
- options = s.package.with_or_without('lorem-ipsum', variant='lorem_ipsum')
- assert '--without-lorem-ipsum' in options
+ options = s.package.with_or_without("lorem-ipsum", variant="lorem_ipsum")
+ assert "--without-lorem-ipsum" in options
def test_none_is_allowed(self):
- s = Spec('a foo=none').concretized()
- options = s.package.with_or_without('foo')
+ s = Spec("a foo=none").concretized()
+ options = s.package.with_or_without("foo")
# Ensure that values that are not representing a feature
# are not used by with_or_without
- assert '--with-none' not in options
- assert '--without-bar' in options
- assert '--without-baz' in options
- assert '--no-fee' in options
+ assert "--with-none" not in options
+ assert "--without-bar" in options
+ assert "--without-baz" in options
+ assert "--no-fee" in options
- def test_libtool_archive_files_are_deleted_by_default(
- self, mutable_database
- ):
+ def test_libtool_archive_files_are_deleted_by_default(self, mutable_database):
# Install a package that creates a mock libtool archive
- s = Spec('libtool-deletion').concretized()
+ s = Spec("libtool-deletion").concretized()
s.package.do_install(explicit=True)
# Assert the libtool archive is not there and we have
# a log of removed files
assert not os.path.exists(s.package.libtool_archive_file)
- search_directory = os.path.join(s.prefix, '.spack')
- libtool_deletion_log = fs.find(
- search_directory, 'removed_la_files.txt', recursive=True
- )
+ search_directory = os.path.join(s.prefix, ".spack")
+ libtool_deletion_log = fs.find(search_directory, "removed_la_files.txt", recursive=True)
assert libtool_deletion_log
def test_libtool_archive_files_might_be_installed_on_demand(
- self, mutable_database, monkeypatch
+ self, mutable_database, monkeypatch
):
# Install a package that creates a mock libtool archive,
# patch its package to preserve the installation
- s = Spec('libtool-deletion').concretized()
- monkeypatch.setattr(s.package, 'install_libtool_archives', True)
+ s = Spec("libtool-deletion").concretized()
+ monkeypatch.setattr(s.package, "install_libtool_archives", True)
s.package.do_install(explicit=True)
# Assert libtool archives are installed
@@ -170,40 +166,40 @@ class TestAutotoolsPackage(object):
Tests whether only broken config.sub and config.guess are replaced with
files from working alternatives from the gnuconfig package.
"""
- s = Spec('autotools-config-replacement +patch_config_files +gnuconfig')
+ s = Spec("autotools-config-replacement +patch_config_files +gnuconfig")
s.concretize()
s.package.do_install()
- with open(os.path.join(s.prefix.broken, 'config.sub')) as f:
+ with open(os.path.join(s.prefix.broken, "config.sub")) as f:
assert "gnuconfig version of config.sub" in f.read()
- with open(os.path.join(s.prefix.broken, 'config.guess')) as f:
+ with open(os.path.join(s.prefix.broken, "config.guess")) as f:
assert "gnuconfig version of config.guess" in f.read()
- with open(os.path.join(s.prefix.working, 'config.sub')) as f:
+ with open(os.path.join(s.prefix.working, "config.sub")) as f:
assert "gnuconfig version of config.sub" not in f.read()
- with open(os.path.join(s.prefix.working, 'config.guess')) as f:
+ with open(os.path.join(s.prefix.working, "config.guess")) as f:
assert "gnuconfig version of config.guess" not in f.read()
def test_autotools_gnuconfig_replacement_disabled(self, mutable_database):
"""
Tests whether disabling patch_config_files
"""
- s = Spec('autotools-config-replacement ~patch_config_files +gnuconfig')
+ s = Spec("autotools-config-replacement ~patch_config_files +gnuconfig")
s.concretize()
s.package.do_install()
- with open(os.path.join(s.prefix.broken, 'config.sub')) as f:
+ with open(os.path.join(s.prefix.broken, "config.sub")) as f:
assert "gnuconfig version of config.sub" not in f.read()
- with open(os.path.join(s.prefix.broken, 'config.guess')) as f:
+ with open(os.path.join(s.prefix.broken, "config.guess")) as f:
assert "gnuconfig version of config.guess" not in f.read()
- with open(os.path.join(s.prefix.working, 'config.sub')) as f:
+ with open(os.path.join(s.prefix.working, "config.sub")) as f:
assert "gnuconfig version of config.sub" not in f.read()
- with open(os.path.join(s.prefix.working, 'config.guess')) as f:
+ with open(os.path.join(s.prefix.working, "config.guess")) as f:
assert "gnuconfig version of config.guess" not in f.read()
@pytest.mark.disable_clean_stage_check
@@ -212,7 +208,7 @@ class TestAutotoolsPackage(object):
Tests whether a useful error message is shown when patch_config_files is
enabled, but gnuconfig is not listed as a direct build dependency.
"""
- s = Spec('autotools-config-replacement +patch_config_files ~gnuconfig')
+ s = Spec("autotools-config-replacement +patch_config_files ~gnuconfig")
s.concretize()
msg = "Cannot patch config files: missing dependencies: gnuconfig"
@@ -226,10 +222,11 @@ class TestAutotoolsPackage(object):
external, but the install prefix is misconfigured and no config.guess
and config.sub substitute files are found in the provided prefix.
"""
- env_dir = str(tmpdir.ensure('env', dir=True))
- gnuconfig_dir = str(tmpdir.ensure('gnuconfig', dir=True)) # empty dir
- with open(os.path.join(env_dir, 'spack.yaml'), 'w') as f:
- f.write("""\
+ env_dir = str(tmpdir.ensure("env", dir=True))
+ gnuconfig_dir = str(tmpdir.ensure("gnuconfig", dir=True)) # empty dir
+ with open(os.path.join(env_dir, "spack.yaml"), "w") as f:
+ f.write(
+ """\
spack:
specs:
- 'autotools-config-replacement +patch_config_files +gnuconfig'
@@ -239,100 +236,111 @@ spack:
externals:
- spec: gnuconfig@1.0.0
prefix: {0}
-""".format(gnuconfig_dir))
+""".format(
+ gnuconfig_dir
+ )
+ )
- msg = ("Spack could not find `config.guess`.*misconfigured as an "
- "external package")
+ msg = "Spack could not find `config.guess`.*misconfigured as an " "external package"
with spack.environment.Environment(env_dir) as e:
e.concretize()
with pytest.raises(ChildError, match=msg):
e.install_all()
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestCMakePackage(object):
def test_cmake_std_args(self):
# Call the function on a CMakePackage instance
- s = Spec('cmake-client').concretized()
+ s = Spec("cmake-client").concretized()
assert s.package.std_cmake_args == get_std_cmake_args(s.package)
# Call it on another kind of package
- s = Spec('mpich').concretized()
+ s = Spec("mpich").concretized()
assert get_std_cmake_args(s.package)
def test_cmake_bad_generator(self):
- s = Spec('cmake-client').concretized()
- s.package.generator = 'Yellow Sticky Notes'
+ s = Spec("cmake-client").concretized()
+ s.package.generator = "Yellow Sticky Notes"
with pytest.raises(spack.package_base.InstallError):
get_std_cmake_args(s.package)
def test_cmake_secondary_generator(config, mock_packages):
- s = Spec('cmake-client').concretized()
- s.package.generator = 'CodeBlocks - Unix Makefiles'
+ s = Spec("cmake-client").concretized()
+ s.package.generator = "CodeBlocks - Unix Makefiles"
assert get_std_cmake_args(s.package)
def test_define(self):
- s = Spec('cmake-client').concretized()
+ s = Spec("cmake-client").concretized()
define = s.package.define
for cls in (list, tuple):
- assert define('MULTI', cls(['right', 'up'])) == '-DMULTI:STRING=right;up'
+ assert define("MULTI", cls(["right", "up"])) == "-DMULTI:STRING=right;up"
- file_list = fs.FileList(['/foo', '/bar'])
- assert define('MULTI', file_list) == '-DMULTI:STRING=/foo;/bar'
+ file_list = fs.FileList(["/foo", "/bar"])
+ assert define("MULTI", file_list) == "-DMULTI:STRING=/foo;/bar"
- assert define('ENABLE_TRUTH', False) == '-DENABLE_TRUTH:BOOL=OFF'
- assert define('ENABLE_TRUTH', True) == '-DENABLE_TRUTH:BOOL=ON'
+ assert define("ENABLE_TRUTH", False) == "-DENABLE_TRUTH:BOOL=OFF"
+ assert define("ENABLE_TRUTH", True) == "-DENABLE_TRUTH:BOOL=ON"
- assert define('SINGLE', 'red') == '-DSINGLE:STRING=red'
+ assert define("SINGLE", "red") == "-DSINGLE:STRING=red"
def test_define_from_variant(self):
- s = Spec('cmake-client multi=up,right ~truthy single=red').concretized()
+ s = Spec("cmake-client multi=up,right ~truthy single=red").concretized()
- arg = s.package.define_from_variant('MULTI')
- assert arg == '-DMULTI:STRING=right;up'
+ arg = s.package.define_from_variant("MULTI")
+ assert arg == "-DMULTI:STRING=right;up"
- arg = s.package.define_from_variant('ENABLE_TRUTH', 'truthy')
- assert arg == '-DENABLE_TRUTH:BOOL=OFF'
+ arg = s.package.define_from_variant("ENABLE_TRUTH", "truthy")
+ assert arg == "-DENABLE_TRUTH:BOOL=OFF"
- arg = s.package.define_from_variant('SINGLE')
- assert arg == '-DSINGLE:STRING=red'
+ arg = s.package.define_from_variant("SINGLE")
+ assert arg == "-DSINGLE:STRING=red"
with pytest.raises(KeyError, match="not a variant"):
- s.package.define_from_variant('NONEXISTENT')
+ s.package.define_from_variant("NONEXISTENT")
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestDownloadMixins(object):
"""Test GnuMirrorPackage, SourceforgePackage, SourcewarePackage and XorgPackage."""
- @pytest.mark.parametrize('spec_str,expected_url', [
- # GnuMirrorPackage
- ('mirror-gnu', 'https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz'),
- # SourceforgePackage
- ('mirror-sourceforge',
- 'https://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz'),
- # SourcewarePackage
- ('mirror-sourceware', 'https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz'),
- # XorgPackage
- ('mirror-xorg',
- 'https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2')
- ])
+
+ @pytest.mark.parametrize(
+ "spec_str,expected_url",
+ [
+ # GnuMirrorPackage
+ ("mirror-gnu", "https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz"),
+ # SourceforgePackage
+ ("mirror-sourceforge", "https://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz"),
+ # SourcewarePackage
+ ("mirror-sourceware", "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"),
+ # XorgPackage
+ (
+ "mirror-xorg",
+ "https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2",
+ ),
+ ],
+ )
def test_attributes_defined(self, spec_str, expected_url):
s = Spec(spec_str).concretized()
assert s.package.urls[0] == expected_url
- @pytest.mark.parametrize('spec_str,error_fmt', [
- # GnuMirrorPackage
- ('mirror-gnu-broken', r'{0} must define a `gnu_mirror_path` attribute'),
- # SourceforgePackage
- ('mirror-sourceforge-broken',
- r'{0} must define a `sourceforge_mirror_path` attribute'),
- # SourcewarePackage
- ('mirror-sourceware-broken',
- r'{0} must define a `sourceware_mirror_path` attribute'),
- # XorgPackage
- ('mirror-xorg-broken', r'{0} must define a `xorg_mirror_path` attribute'),
- ])
+ @pytest.mark.parametrize(
+ "spec_str,error_fmt",
+ [
+ # GnuMirrorPackage
+ ("mirror-gnu-broken", r"{0} must define a `gnu_mirror_path` attribute"),
+ # SourceforgePackage
+ (
+ "mirror-sourceforge-broken",
+ r"{0} must define a `sourceforge_mirror_path` attribute",
+ ),
+ # SourcewarePackage
+ ("mirror-sourceware-broken", r"{0} must define a `sourceware_mirror_path` attribute"),
+ # XorgPackage
+ ("mirror-xorg-broken", r"{0} must define a `xorg_mirror_path` attribute"),
+ ],
+ )
def test_attributes_missing(self, spec_str, error_fmt):
s = Spec(spec_str).concretized()
error_msg = error_fmt.format(type(s.package).__name__)
@@ -343,30 +351,33 @@ class TestDownloadMixins(object):
def test_cmake_define_from_variant_conditional(config, mock_packages):
"""Test that define_from_variant returns empty string when a condition on a variant
is not met. When this is the case, the variant is not set in the spec."""
- s = Spec('cmake-conditional-variants-test').concretized()
- assert 'example' not in s.variants
- assert s.package.define_from_variant('EXAMPLE', 'example') == ''
+ s = Spec("cmake-conditional-variants-test").concretized()
+ assert "example" not in s.variants
+ assert s.package.define_from_variant("EXAMPLE", "example") == ""
def test_autotools_args_from_conditional_variant(config, mock_packages):
"""Test that _activate_or_not returns an empty string when a condition on a variant
is not met. When this is the case, the variant is not set in the spec."""
- s = Spec('autotools-conditional-variants-test').concretized()
- assert 'example' not in s.variants
- assert len(s.package._activate_or_not('example', 'enable', 'disable')) == 0
+ s = Spec("autotools-conditional-variants-test").concretized()
+ assert "example" not in s.variants
+ assert len(s.package._activate_or_not("example", "enable", "disable")) == 0
def test_autoreconf_search_path_args_multiple(config, mock_packages, tmpdir):
"""autoreconf should receive the right -I flags with search paths for m4 files
for build deps."""
- spec = Spec('dttop').concretized()
+ spec = Spec("dttop").concretized()
aclocal_fst = str(tmpdir.mkdir("fst").mkdir("share").mkdir("aclocal"))
aclocal_snd = str(tmpdir.mkdir("snd").mkdir("share").mkdir("aclocal"))
- build_dep_one, build_dep_two = spec.dependencies(deptype='build')
+ build_dep_one, build_dep_two = spec.dependencies(deptype="build")
build_dep_one.prefix = str(tmpdir.join("fst"))
build_dep_two.prefix = str(tmpdir.join("snd"))
assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == [
- '-I', aclocal_fst, '-I', aclocal_snd
+ "-I",
+ aclocal_fst,
+ "-I",
+ aclocal_snd,
]
@@ -374,35 +385,36 @@ def test_autoreconf_search_path_args_skip_automake(config, mock_packages, tmpdir
"""automake's aclocal dir should not be added as -I flag as it is a default
3rd party dir search path, and if it's a system version it usually includes
m4 files shadowing spack deps."""
- spec = Spec('dttop').concretized()
+ spec = Spec("dttop").concretized()
tmpdir.mkdir("fst").mkdir("share").mkdir("aclocal")
aclocal_snd = str(tmpdir.mkdir("snd").mkdir("share").mkdir("aclocal"))
- build_dep_one, build_dep_two = spec.dependencies(deptype='build')
- build_dep_one.name = 'automake'
+ build_dep_one, build_dep_two = spec.dependencies(deptype="build")
+ build_dep_one.name = "automake"
build_dep_one.prefix = str(tmpdir.join("fst"))
build_dep_two.prefix = str(tmpdir.join("snd"))
- assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == [
- '-I', aclocal_snd
- ]
+ assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == ["-I", aclocal_snd]
def test_autoreconf_search_path_args_external_order(config, mock_packages, tmpdir):
"""When a build dep is external, its -I flag should occur last"""
- spec = Spec('dttop').concretized()
+ spec = Spec("dttop").concretized()
aclocal_fst = str(tmpdir.mkdir("fst").mkdir("share").mkdir("aclocal"))
aclocal_snd = str(tmpdir.mkdir("snd").mkdir("share").mkdir("aclocal"))
- build_dep_one, build_dep_two = spec.dependencies(deptype='build')
+ build_dep_one, build_dep_two = spec.dependencies(deptype="build")
build_dep_one.external_path = str(tmpdir.join("fst"))
build_dep_two.prefix = str(tmpdir.join("snd"))
assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == [
- '-I', aclocal_snd, '-I', aclocal_fst
+ "-I",
+ aclocal_snd,
+ "-I",
+ aclocal_fst,
]
def test_autoreconf_search_path_skip_nonexisting(config, mock_packages, tmpdir):
"""Skip -I flags for non-existing directories"""
- spec = Spec('dttop').concretized()
- build_dep_one, build_dep_two = spec.dependencies(deptype='build')
+ spec = Spec("dttop").concretized()
+ build_dep_one, build_dep_two = spec.dependencies(deptype="build")
build_dep_one.prefix = str(tmpdir.join("fst"))
build_dep_two.prefix = str(tmpdir.join("snd"))
assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == []
@@ -410,11 +422,9 @@ def test_autoreconf_search_path_skip_nonexisting(config, mock_packages, tmpdir):
def test_autoreconf_search_path_dont_repeat(config, mock_packages, tmpdir):
"""Do not add the same -I flag twice to keep things readable for humans"""
- spec = Spec('dttop').concretized()
+ spec = Spec("dttop").concretized()
aclocal = str(tmpdir.mkdir("prefix").mkdir("share").mkdir("aclocal"))
- build_dep_one, build_dep_two = spec.dependencies(deptype='build')
+ build_dep_one, build_dep_two = spec.dependencies(deptype="build")
build_dep_one.external_path = str(tmpdir.join("prefix"))
build_dep_two.external_path = str(tmpdir.join("prefix"))
- assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == [
- '-I', aclocal
- ]
+ assert spack.build_systems.autotools._autoreconf_search_path_args(spec) == ["-I", aclocal]
diff --git a/lib/spack/spack/test/buildrequest.py b/lib/spack/spack/test/buildrequest.py
index f8b62c44d3..e656cfa99e 100644
--- a/lib/spack/spack/test/buildrequest.py
+++ b/lib/spack/spack/test/buildrequest.py
@@ -15,22 +15,21 @@ import spack.spec
# however, tests are currently failing because support
# for Spack on Windows has not been extended to this
# module yet.
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_build_request_errors(install_mockery):
- with pytest.raises(ValueError, match='must be a package'):
- inst.BuildRequest('abc', {})
+ with pytest.raises(ValueError, match="must be a package"):
+ inst.BuildRequest("abc", {})
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
- with pytest.raises(ValueError, match='must have a concrete spec'):
+ with pytest.raises(ValueError, match="must have a concrete spec"):
inst.BuildRequest(pkg_cls(spec), {})
def test_build_request_basics(install_mockery):
- spec = spack.spec.Spec('dependent-install')
+ spec = spack.spec.Spec("dependent-install")
spec.concretize()
assert spec.concrete
@@ -41,14 +40,14 @@ def test_build_request_basics(install_mockery):
assert request.spec == spec.package.spec
# Ensure key default install arguments are set
- assert 'install_package' in request.install_args
- assert 'install_deps' in request.install_args
+ assert "install_package" in request.install_args
+ assert "install_deps" in request.install_args
def test_build_request_strings(install_mockery):
"""Tests of BuildRequest repr and str for coverage purposes."""
# Using a package with one dependency
- spec = spack.spec.Spec('dependent-install')
+ spec = spack.spec.Spec("dependent-install")
spec.concretize()
assert spec.concrete
diff --git a/lib/spack/spack/test/buildtask.py b/lib/spack/spack/test/buildtask.py
index b3fe96c42b..d383579d36 100644
--- a/lib/spack/spack/test/buildtask.py
+++ b/lib/spack/spack/test/buildtask.py
@@ -11,34 +11,32 @@ import spack.spec
def test_build_task_errors(install_mockery):
- with pytest.raises(ValueError, match='must be a package'):
- inst.BuildTask('abc', None, False, 0, 0, 0, [])
+ with pytest.raises(ValueError, match="must be a package"):
+ inst.BuildTask("abc", None, False, 0, 0, 0, [])
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
- with pytest.raises(ValueError, match='must have a concrete spec'):
+ with pytest.raises(ValueError, match="must have a concrete spec"):
inst.BuildTask(pkg_cls(spec), None, False, 0, 0, 0, [])
spec.concretize()
assert spec.concrete
- with pytest.raises(ValueError, match='must have a build request'):
+ with pytest.raises(ValueError, match="must have a build request"):
inst.BuildTask(spec.package, None, False, 0, 0, 0, [])
request = inst.BuildRequest(spec.package, {})
- with pytest.raises(inst.InstallError, match='Cannot create a build task'):
- inst.BuildTask(spec.package, request, False, 0, 0, inst.STATUS_REMOVED,
- [])
+ with pytest.raises(inst.InstallError, match="Cannot create a build task"):
+ inst.BuildTask(spec.package, request, False, 0, 0, inst.STATUS_REMOVED, [])
def test_build_task_basics(install_mockery):
- spec = spack.spec.Spec('dependent-install')
+ spec = spack.spec.Spec("dependent-install")
spec.concretize()
assert spec.concrete
# Ensure key properties match expectations
request = inst.BuildRequest(spec.package, {})
- task = inst.BuildTask(spec.package, request, False, 0, 0,
- inst.STATUS_ADDED, [])
+ task = inst.BuildTask(spec.package, request, False, 0, 0, inst.STATUS_ADDED, [])
assert task.explicit # package was "explicitly" requested
assert task.priority == len(task.uninstalled_deps)
assert task.key == (task.priority, task.sequence)
@@ -54,14 +52,13 @@ def test_build_task_basics(install_mockery):
def test_build_task_strings(install_mockery):
"""Tests of build_task repr and str for coverage purposes."""
# Using a package with one dependency
- spec = spack.spec.Spec('dependent-install')
+ spec = spack.spec.Spec("dependent-install")
spec.concretize()
assert spec.concrete
# Ensure key properties match expectations
request = inst.BuildRequest(spec.package, {})
- task = inst.BuildTask(spec.package, request, False, 0, 0,
- inst.STATUS_ADDED, [])
+ task = inst.BuildTask(spec.package, request, False, 0, 0, inst.STATUS_ADDED, [])
# Cover __repr__
irep = task.__repr__()
diff --git a/lib/spack/spack/test/cache_fetch.py b/lib/spack/spack/test/cache_fetch.py
index 828dd81791..03b8e92ecf 100644
--- a/lib/spack/spack/test/cache_fetch.py
+++ b/lib/spack/spack/test/cache_fetch.py
@@ -14,34 +14,34 @@ import spack.config
from spack.fetch_strategy import CacheURLFetchStrategy, NoCacheError
from spack.stage import Stage
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
- abs_pref = '' if is_windows else '/'
- url = 'file://' + abs_pref + 'not-a-real-cache-file'
+ with spack.config.override("config:url_fetch_method", _fetch_method):
+ abs_pref = "" if is_windows else "/"
+ url = "file://" + abs_pref + "not-a-real-cache-file"
fetcher = CacheURLFetchStrategy(url=url)
with Stage(fetcher, path=testpath):
- with pytest.raises(NoCacheError, match=r'No cache'):
+ with pytest.raises(NoCacheError, match=r"No cache"):
fetcher.fetch()
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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')
+ cache = os.path.join(testpath, "cache.tar.gz")
touch(cache)
if is_windows:
- url_stub = '{0}'
+ url_stub = "{0}"
else:
- url_stub = '/{0}'
- url = 'file://' + url_stub.format(cache)
- with spack.config.override('config:url_fetch_method', _fetch_method):
+ url_stub = "/{0}"
+ url = "file://" + url_stub.format(cache)
+ 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/cc.py b/lib/spack/spack/test/cc.py
index 36890c2eb2..2dcdc533c4 100644
--- a/lib/spack/spack/test/cc.py
+++ b/lib/spack/spack/test/cc.py
@@ -20,20 +20,38 @@ from spack.util.executable import Executable, ProcessError
# Complicated compiler test command
#
test_args = [
- '-I/test/include', '-L/test/lib', '-L/with space/lib', '-I/other/include',
- 'arg1',
- '-Wl,--start-group',
- 'arg2',
- '-Wl,-rpath,/first/rpath', 'arg3', '-Wl,-rpath', '-Wl,/second/rpath',
- '-llib1', '-llib2',
- 'arg4',
- '-Wl,--end-group',
- '-Xlinker', '-rpath', '-Xlinker', '/third/rpath',
- '-Xlinker', '-rpath', '-Xlinker', '/fourth/rpath',
- '-Wl,--rpath,/fifth/rpath', '-Wl,--rpath', '-Wl,/sixth/rpath',
- '-llib3', '-llib4',
- 'arg5', 'arg6',
- '"-DDOUBLE_QUOTED_ARG"', "'-DSINGLE_QUOTED_ARG'",
+ "-I/test/include",
+ "-L/test/lib",
+ "-L/with space/lib",
+ "-I/other/include",
+ "arg1",
+ "-Wl,--start-group",
+ "arg2",
+ "-Wl,-rpath,/first/rpath",
+ "arg3",
+ "-Wl,-rpath",
+ "-Wl,/second/rpath",
+ "-llib1",
+ "-llib2",
+ "arg4",
+ "-Wl,--end-group",
+ "-Xlinker",
+ "-rpath",
+ "-Xlinker",
+ "/third/rpath",
+ "-Xlinker",
+ "-rpath",
+ "-Xlinker",
+ "/fourth/rpath",
+ "-Wl,--rpath,/fifth/rpath",
+ "-Wl,--rpath",
+ "-Wl,/sixth/rpath",
+ "-llib3",
+ "-llib4",
+ "arg5",
+ "arg6",
+ '"-DDOUBLE_QUOTED_ARG"',
+ "'-DSINGLE_QUOTED_ARG'",
]
#
@@ -42,33 +60,53 @@ test_args = [
# `_wl_rpaths` are for the compiler (with -Wl,), and `_rpaths` are raw
# -rpath arguments for the linker.
#
-test_include_paths = [
- '-I/test/include', '-I/other/include']
+test_include_paths = ["-I/test/include", "-I/other/include"]
-test_library_paths = [
- '-L/test/lib', '-L/with space/lib']
+test_library_paths = ["-L/test/lib", "-L/with space/lib"]
test_wl_rpaths = [
- '-Wl,-rpath,/first/rpath', '-Wl,-rpath,/second/rpath',
- '-Wl,-rpath,/third/rpath', '-Wl,-rpath,/fourth/rpath',
- '-Wl,-rpath,/fifth/rpath', '-Wl,-rpath,/sixth/rpath']
+ "-Wl,-rpath,/first/rpath",
+ "-Wl,-rpath,/second/rpath",
+ "-Wl,-rpath,/third/rpath",
+ "-Wl,-rpath,/fourth/rpath",
+ "-Wl,-rpath,/fifth/rpath",
+ "-Wl,-rpath,/sixth/rpath",
+]
test_rpaths = [
- '-rpath', '/first/rpath', '-rpath', '/second/rpath',
- '-rpath', '/third/rpath', '-rpath', '/fourth/rpath',
- '-rpath', '/fifth/rpath', '-rpath', '/sixth/rpath']
+ "-rpath",
+ "/first/rpath",
+ "-rpath",
+ "/second/rpath",
+ "-rpath",
+ "/third/rpath",
+ "-rpath",
+ "/fourth/rpath",
+ "-rpath",
+ "/fifth/rpath",
+ "-rpath",
+ "/sixth/rpath",
+]
test_args_without_paths = [
- 'arg1',
- '-Wl,--start-group',
- 'arg2', 'arg3', '-llib1', '-llib2', 'arg4',
- '-Wl,--end-group',
- '-llib3', '-llib4', 'arg5', 'arg6',
- '"-DDOUBLE_QUOTED_ARG"', "'-DSINGLE_QUOTED_ARG'",
+ "arg1",
+ "-Wl,--start-group",
+ "arg2",
+ "arg3",
+ "-llib1",
+ "-llib2",
+ "arg4",
+ "-Wl,--end-group",
+ "-llib3",
+ "-llib4",
+ "arg5",
+ "arg6",
+ '"-DDOUBLE_QUOTED_ARG"',
+ "'-DSINGLE_QUOTED_ARG'",
]
#: The prefix of the package being mock installed
-pkg_prefix = '/spack-test-prefix'
+pkg_prefix = "/spack-test-prefix"
# Compilers to use during tests
cc = Executable(os.path.join(build_env_path, "cc"))
@@ -78,70 +116,71 @@ cxx = Executable(os.path.join(build_env_path, "c++"))
fc = Executable(os.path.join(build_env_path, "fc"))
#: the "real" compiler the wrapper is expected to invoke
-real_cc = '/bin/mycc'
+real_cc = "/bin/mycc"
# mock flags to use in the wrapper environment
-spack_cppflags = ['-g', '-O1', '-DVAR=VALUE']
-spack_cflags = ['-Wall']
-spack_cxxflags = ['-Werror']
-spack_fflags = ['-w']
-spack_ldflags = ['-L', 'foo']
-spack_ldlibs = ['-lfoo']
+spack_cppflags = ["-g", "-O1", "-DVAR=VALUE"]
+spack_cflags = ["-Wall"]
+spack_cxxflags = ["-Werror"]
+spack_fflags = ["-w"]
+spack_ldflags = ["-L", "foo"]
+spack_ldlibs = ["-lfoo"]
-lheaderpad = ['-Wl,-headerpad_max_install_names']
-headerpad = ['-headerpad_max_install_names']
+lheaderpad = ["-Wl,-headerpad_max_install_names"]
+headerpad = ["-headerpad_max_install_names"]
target_args = ["-march=znver2", "-mtune=znver2"]
# common compile arguments: includes, libs, -Wl linker args, other args
common_compile_args = (
- test_include_paths +
- test_library_paths +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- test_args_without_paths
+ test_include_paths
+ + test_library_paths
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + test_args_without_paths
)
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def wrapper_environment():
with set_env(
- SPACK_CC=real_cc,
- SPACK_CXX=real_cc,
- SPACK_FC=real_cc,
- SPACK_PREFIX=pkg_prefix,
- SPACK_ENV_PATH='test',
- SPACK_DEBUG_LOG_DIR='.',
- SPACK_DEBUG_LOG_ID='foo-hashabc',
- SPACK_COMPILER_SPEC='gcc@4.4.7',
- SPACK_SHORT_SPEC='foo@1.2 arch=linux-rhel6-x86_64 /hashabc',
- SPACK_SYSTEM_DIRS=':'.join(system_dirs),
- SPACK_CC_RPATH_ARG='-Wl,-rpath,',
- SPACK_CXX_RPATH_ARG='-Wl,-rpath,',
- SPACK_F77_RPATH_ARG='-Wl,-rpath,',
- SPACK_FC_RPATH_ARG='-Wl,-rpath,',
- SPACK_LINK_DIRS=None,
- SPACK_INCLUDE_DIRS=None,
- SPACK_RPATH_DIRS=None,
- SPACK_TARGET_ARGS="-march=znver2 -mtune=znver2",
- SPACK_LINKER_ARG='-Wl,',
- SPACK_DTAGS_TO_ADD='--disable-new-dtags',
- SPACK_DTAGS_TO_STRIP='--enable-new-dtags'):
+ SPACK_CC=real_cc,
+ SPACK_CXX=real_cc,
+ SPACK_FC=real_cc,
+ SPACK_PREFIX=pkg_prefix,
+ SPACK_ENV_PATH="test",
+ SPACK_DEBUG_LOG_DIR=".",
+ SPACK_DEBUG_LOG_ID="foo-hashabc",
+ SPACK_COMPILER_SPEC="gcc@4.4.7",
+ SPACK_SHORT_SPEC="foo@1.2 arch=linux-rhel6-x86_64 /hashabc",
+ SPACK_SYSTEM_DIRS=":".join(system_dirs),
+ SPACK_CC_RPATH_ARG="-Wl,-rpath,",
+ SPACK_CXX_RPATH_ARG="-Wl,-rpath,",
+ SPACK_F77_RPATH_ARG="-Wl,-rpath,",
+ SPACK_FC_RPATH_ARG="-Wl,-rpath,",
+ SPACK_LINK_DIRS=None,
+ SPACK_INCLUDE_DIRS=None,
+ SPACK_RPATH_DIRS=None,
+ SPACK_TARGET_ARGS="-march=znver2 -mtune=znver2",
+ SPACK_LINKER_ARG="-Wl,",
+ SPACK_DTAGS_TO_ADD="--disable-new-dtags",
+ SPACK_DTAGS_TO_STRIP="--enable-new-dtags",
+ ):
yield
@pytest.fixture()
def wrapper_flags():
with set_env(
- SPACK_CPPFLAGS=' '.join(spack_cppflags),
- SPACK_CFLAGS=' '.join(spack_cflags),
- SPACK_CXXFLAGS=' '.join(spack_cxxflags),
- SPACK_FFLAGS=' '.join(spack_fflags),
- SPACK_LDFLAGS=' '.join(spack_ldflags),
- SPACK_LDLIBS=' '.join(spack_ldlibs)):
+ SPACK_CPPFLAGS=" ".join(spack_cppflags),
+ SPACK_CFLAGS=" ".join(spack_cflags),
+ SPACK_CXXFLAGS=" ".join(spack_cxxflags),
+ SPACK_FFLAGS=" ".join(spack_fflags),
+ SPACK_LDFLAGS=" ".join(spack_ldflags),
+ SPACK_LDLIBS=" ".join(spack_ldlibs),
+ ):
yield
@@ -152,8 +191,8 @@ def check_args(cc, args, expected):
per line, so that we see whether arguments that should (or shouldn't)
contain spaces are parsed correctly.
"""
- with set_env(SPACK_TEST_COMMAND='dump-args'):
- cc_modified_args = cc(*args, output=str).strip().split('\n')
+ with set_env(SPACK_TEST_COMMAND="dump-args"):
+ cc_modified_args = cc(*args, output=str).strip().split("\n")
assert expected == cc_modified_args
@@ -163,14 +202,14 @@ def check_env_var(executable, var, expected):
This assumes that cc will print debug output when it's environment
contains SPACK_TEST_COMMAND=dump-env-<variable-to-debug>
"""
- with set_env(SPACK_TEST_COMMAND='dump-env-' + var):
+ with set_env(SPACK_TEST_COMMAND="dump-env-" + var):
output = executable(*test_args, output=str).strip()
- assert executable.path + ': ' + var + ': ' + expected == output
+ assert executable.path + ": " + var + ": " + expected == output
def dump_mode(cc, args):
"""Make cc dump the mode it detects, and return it."""
- with set_env(SPACK_TEST_COMMAND='dump-mode'):
+ with set_env(SPACK_TEST_COMMAND="dump-mode"):
return cc(*args, output=str).strip()
@@ -181,119 +220,125 @@ def test_no_wrapper_environment():
def test_vcheck_mode(wrapper_environment):
- assert dump_mode(cc, ['-I/include', '--version']) == 'vcheck'
- assert dump_mode(cc, ['-I/include', '-V']) == 'vcheck'
- assert dump_mode(cc, ['-I/include', '-v']) == 'vcheck'
- assert dump_mode(cc, ['-I/include', '-dumpversion']) == 'vcheck'
- assert dump_mode(cc, ['-I/include', '--version', '-c']) == 'vcheck'
- assert dump_mode(cc, ['-I/include', '-V', '-o', 'output']) == 'vcheck'
+ assert dump_mode(cc, ["-I/include", "--version"]) == "vcheck"
+ assert dump_mode(cc, ["-I/include", "-V"]) == "vcheck"
+ assert dump_mode(cc, ["-I/include", "-v"]) == "vcheck"
+ assert dump_mode(cc, ["-I/include", "-dumpversion"]) == "vcheck"
+ assert dump_mode(cc, ["-I/include", "--version", "-c"]) == "vcheck"
+ assert dump_mode(cc, ["-I/include", "-V", "-o", "output"]) == "vcheck"
def test_cpp_mode(wrapper_environment):
- assert dump_mode(cc, ['-E']) == 'cpp'
- assert dump_mode(cxx, ['-E']) == 'cpp'
- assert dump_mode(cpp, []) == 'cpp'
+ assert dump_mode(cc, ["-E"]) == "cpp"
+ assert dump_mode(cxx, ["-E"]) == "cpp"
+ assert dump_mode(cpp, []) == "cpp"
def test_as_mode(wrapper_environment):
- assert dump_mode(cc, ['-S']) == 'as'
+ assert dump_mode(cc, ["-S"]) == "as"
def test_ccld_mode(wrapper_environment):
- assert dump_mode(cc, []) == 'ccld'
- assert dump_mode(cc, ['foo.c', '-o', 'foo']) == 'ccld'
- assert dump_mode(cc, ['foo.c', '-o', 'foo', '-Wl,-rpath,foo']) == 'ccld'
- assert dump_mode(cc, [
- 'foo.o', 'bar.o', 'baz.o', '-o', 'foo', '-Wl,-rpath,foo']) == 'ccld'
+ assert dump_mode(cc, []) == "ccld"
+ assert dump_mode(cc, ["foo.c", "-o", "foo"]) == "ccld"
+ assert dump_mode(cc, ["foo.c", "-o", "foo", "-Wl,-rpath,foo"]) == "ccld"
+ assert dump_mode(cc, ["foo.o", "bar.o", "baz.o", "-o", "foo", "-Wl,-rpath,foo"]) == "ccld"
def test_ld_mode(wrapper_environment):
- assert dump_mode(ld, []) == 'ld'
- assert dump_mode(ld, [
- 'foo.o', 'bar.o', 'baz.o', '-o', 'foo', '-Wl,-rpath,foo']) == 'ld'
+ assert dump_mode(ld, []) == "ld"
+ assert dump_mode(ld, ["foo.o", "bar.o", "baz.o", "-o", "foo", "-Wl,-rpath,foo"]) == "ld"
def test_ld_flags(wrapper_environment, wrapper_flags):
check_args(
- ld, test_args,
- ['ld'] +
- spack_ldflags +
- test_include_paths +
- test_library_paths +
- ['--disable-new-dtags'] +
- test_rpaths +
- test_args_without_paths +
- spack_ldlibs)
+ ld,
+ test_args,
+ ["ld"]
+ + spack_ldflags
+ + test_include_paths
+ + test_library_paths
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + test_args_without_paths
+ + spack_ldlibs,
+ )
def test_cpp_flags(wrapper_environment, wrapper_flags):
check_args(
- cpp, test_args,
- ['cpp'] +
- spack_cppflags +
- test_include_paths +
- test_library_paths +
- test_args_without_paths)
+ cpp,
+ test_args,
+ ["cpp"]
+ + spack_cppflags
+ + test_include_paths
+ + test_library_paths
+ + test_args_without_paths,
+ )
def test_cc_flags(wrapper_environment, wrapper_flags):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- spack_cppflags +
- spack_cflags +
- spack_ldflags +
- common_compile_args +
- spack_ldlibs)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + spack_cppflags
+ + spack_cflags
+ + spack_ldflags
+ + common_compile_args
+ + spack_ldlibs,
+ )
def test_cxx_flags(wrapper_environment, wrapper_flags):
check_args(
- cxx, test_args,
- [real_cc] +
- target_args +
- spack_cppflags +
- spack_cxxflags +
- spack_ldflags +
- common_compile_args +
- spack_ldlibs)
+ cxx,
+ test_args,
+ [real_cc]
+ + target_args
+ + spack_cppflags
+ + spack_cxxflags
+ + spack_ldflags
+ + common_compile_args
+ + spack_ldlibs,
+ )
def test_fc_flags(wrapper_environment, wrapper_flags):
check_args(
- fc, test_args,
- [real_cc] +
- target_args +
- spack_fflags +
- spack_cppflags +
- spack_ldflags +
- common_compile_args +
- spack_ldlibs)
+ fc,
+ test_args,
+ [real_cc]
+ + target_args
+ + spack_fflags
+ + spack_cppflags
+ + spack_ldflags
+ + common_compile_args
+ + spack_ldlibs,
+ )
def test_dep_rpath(wrapper_environment):
"""Ensure RPATHs for root package are added."""
- check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- common_compile_args)
+ check_args(cc, test_args, [real_cc] + target_args + common_compile_args)
def test_dep_include(wrapper_environment):
"""Ensure a single dependency include directory is added."""
- with set_env(SPACK_INCLUDE_DIRS='x'):
+ with set_env(SPACK_INCLUDE_DIRS="x"):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-Ix'] +
- test_library_paths +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- test_args_without_paths)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-Ix"]
+ + test_library_paths
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + test_args_without_paths,
+ )
def test_system_path_cleanup(wrapper_environment):
@@ -307,378 +352,381 @@ def test_system_path_cleanup(wrapper_environment):
a / to each element of PATH when adding AUTOTEST_PATH.
Thus, ensure that PATH cleanup works even with trailing /.
"""
- system_path = '/bin:/usr/bin:/usr/local/bin'
+ system_path = "/bin:/usr/bin:/usr/local/bin"
cc_dir = os.path.dirname(cc.path)
- with set_env(SPACK_ENV_PATH=cc_dir, SPACK_CC='true'):
- with set_env(PATH=cc_dir + ':' + system_path):
- check_env_var(cc, 'PATH', system_path)
- with set_env(PATH=cc_dir + '/:' + system_path):
- check_env_var(cc, 'PATH', system_path)
+ with set_env(SPACK_ENV_PATH=cc_dir, SPACK_CC="true"):
+ with set_env(PATH=cc_dir + ":" + system_path):
+ check_env_var(cc, "PATH", system_path)
+ with set_env(PATH=cc_dir + "/:" + system_path):
+ check_env_var(cc, "PATH", system_path)
def test_dep_lib(wrapper_environment):
"""Ensure a single dependency RPATH is added."""
- with set_env(SPACK_LINK_DIRS='x',
- SPACK_RPATH_DIRS='x'):
+ with set_env(SPACK_LINK_DIRS="x", SPACK_RPATH_DIRS="x"):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- test_library_paths +
- ['-Lx'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,x'] +
- test_args_without_paths)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + test_library_paths
+ + ["-Lx"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,x"]
+ + test_args_without_paths,
+ )
def test_dep_lib_no_rpath(wrapper_environment):
"""Ensure a single dependency link flag is added with no dep RPATH."""
- with set_env(SPACK_LINK_DIRS='x'):
+ with set_env(SPACK_LINK_DIRS="x"):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- test_library_paths +
- ['-Lx'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- test_args_without_paths)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + test_library_paths
+ + ["-Lx"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + test_args_without_paths,
+ )
def test_dep_lib_no_lib(wrapper_environment):
"""Ensure a single dependency RPATH is added with no -L."""
- with set_env(SPACK_RPATH_DIRS='x'):
+ with set_env(SPACK_RPATH_DIRS="x"):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- test_library_paths +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,x'] +
- test_args_without_paths)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + test_library_paths
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,x"]
+ + test_args_without_paths,
+ )
def test_ccld_deps(wrapper_environment):
"""Ensure all flags are added in ccld mode."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
check_args(
- cc, test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-Ixinc',
- '-Iyinc',
- '-Izinc'] +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,xlib',
- '-Wl,-rpath,ylib',
- '-Wl,-rpath,zlib'] +
- test_args_without_paths)
+ cc,
+ test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-Ixinc", "-Iyinc", "-Izinc"]
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,xlib", "-Wl,-rpath,ylib", "-Wl,-rpath,zlib"]
+ + test_args_without_paths,
+ )
def test_ccld_deps_isystem(wrapper_environment):
"""Ensure all flags are added in ccld mode.
- When a build uses -isystem, Spack should inject it's
- include paths using -isystem. Spack will insert these
- after any provided -isystem includes, but before any
- system directories included using -isystem"""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
- mytest_args = test_args + ['-isystem', 'fooinc']
+ When a build uses -isystem, Spack should inject it's
+ include paths using -isystem. Spack will insert these
+ after any provided -isystem includes, but before any
+ system directories included using -isystem"""
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
+ mytest_args = test_args + ["-isystem", "fooinc"]
check_args(
- cc, mytest_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-isystem', 'fooinc',
- '-isystem', 'xinc',
- '-isystem', 'yinc',
- '-isystem', 'zinc'] +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,xlib',
- '-Wl,-rpath,ylib',
- '-Wl,-rpath,zlib'] +
- test_args_without_paths)
+ cc,
+ mytest_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-isystem", "fooinc", "-isystem", "xinc", "-isystem", "yinc", "-isystem", "zinc"]
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,xlib", "-Wl,-rpath,ylib", "-Wl,-rpath,zlib"]
+ + test_args_without_paths,
+ )
def test_cc_deps(wrapper_environment):
"""Ensure -L and RPATHs are not added in cc mode."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
check_args(
- cc, ['-c'] + test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-Ixinc',
- '-Iyinc',
- '-Izinc'] +
- test_library_paths +
- ['-c'] +
- test_args_without_paths)
+ cc,
+ ["-c"] + test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-Ixinc", "-Iyinc", "-Izinc"]
+ + test_library_paths
+ + ["-c"]
+ + test_args_without_paths,
+ )
def test_ccld_with_system_dirs(wrapper_environment):
"""Ensure all flags are added in ccld mode."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
-
- sys_path_args = ['-I/usr/include',
- '-L/usr/local/lib',
- '-Wl,-rpath,/usr/lib64',
- '-I/usr/local/include',
- '-L/lib64/']
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
+
+ sys_path_args = [
+ "-I/usr/include",
+ "-L/usr/local/lib",
+ "-Wl,-rpath,/usr/lib64",
+ "-I/usr/local/include",
+ "-L/lib64/",
+ ]
check_args(
- cc, sys_path_args + test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-Ixinc',
- '-Iyinc',
- '-Izinc'] +
- ['-I/usr/include',
- '-I/usr/local/include'] +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['-L/usr/local/lib',
- '-L/lib64/'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,xlib',
- '-Wl,-rpath,ylib',
- '-Wl,-rpath,zlib'] +
- ['-Wl,-rpath,/usr/lib64'] +
- test_args_without_paths)
+ cc,
+ sys_path_args + test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-Ixinc", "-Iyinc", "-Izinc"]
+ + ["-I/usr/include", "-I/usr/local/include"]
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["-L/usr/local/lib", "-L/lib64/"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,xlib", "-Wl,-rpath,ylib", "-Wl,-rpath,zlib"]
+ + ["-Wl,-rpath,/usr/lib64"]
+ + test_args_without_paths,
+ )
def test_ccld_with_system_dirs_isystem(wrapper_environment):
"""Ensure all flags are added in ccld mode.
- Ensure that includes are in the proper
- place when a build uses -isystem, and uses
- system directories in the include paths"""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
-
- sys_path_args = ['-isystem', '/usr/include',
- '-L/usr/local/lib',
- '-Wl,-rpath,/usr/lib64',
- '-isystem', '/usr/local/include',
- '-L/lib64/']
+ Ensure that includes are in the proper
+ place when a build uses -isystem, and uses
+ system directories in the include paths"""
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
+
+ sys_path_args = [
+ "-isystem",
+ "/usr/include",
+ "-L/usr/local/lib",
+ "-Wl,-rpath,/usr/lib64",
+ "-isystem",
+ "/usr/local/include",
+ "-L/lib64/",
+ ]
check_args(
- cc, sys_path_args + test_args,
- [real_cc] +
- target_args +
- test_include_paths +
- ['-isystem', 'xinc',
- '-isystem', 'yinc',
- '-isystem', 'zinc'] +
- ['-isystem', '/usr/include',
- '-isystem', '/usr/local/include'] +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['-L/usr/local/lib',
- '-L/lib64/'] +
- ['-Wl,--disable-new-dtags'] +
- test_wl_rpaths +
- ['-Wl,-rpath,xlib',
- '-Wl,-rpath,ylib',
- '-Wl,-rpath,zlib'] +
- ['-Wl,-rpath,/usr/lib64'] +
- test_args_without_paths)
+ cc,
+ sys_path_args + test_args,
+ [real_cc]
+ + target_args
+ + test_include_paths
+ + ["-isystem", "xinc", "-isystem", "yinc", "-isystem", "zinc"]
+ + ["-isystem", "/usr/include", "-isystem", "/usr/local/include"]
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["-L/usr/local/lib", "-L/lib64/"]
+ + ["-Wl,--disable-new-dtags"]
+ + test_wl_rpaths
+ + ["-Wl,-rpath,xlib", "-Wl,-rpath,ylib", "-Wl,-rpath,zlib"]
+ + ["-Wl,-rpath,/usr/lib64"]
+ + test_args_without_paths,
+ )
def test_ld_deps(wrapper_environment):
"""Ensure no (extra) -I args or -Wl, are passed in ld mode."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
+ with set_env(
+ SPACK_INCLUDE_DIRS="xinc:yinc:zinc",
+ SPACK_RPATH_DIRS="xlib:ylib:zlib",
+ SPACK_LINK_DIRS="xlib:ylib:zlib",
+ ):
check_args(
- ld, test_args,
- ['ld'] +
- test_include_paths +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['--disable-new-dtags'] +
- test_rpaths +
- ['-rpath', 'xlib',
- '-rpath', 'ylib',
- '-rpath', 'zlib'] +
- test_args_without_paths)
+ ld,
+ test_args,
+ ["ld"]
+ + test_include_paths
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + ["-rpath", "xlib", "-rpath", "ylib", "-rpath", "zlib"]
+ + test_args_without_paths,
+ )
def test_ld_deps_no_rpath(wrapper_environment):
"""Ensure SPACK_LINK_DEPS controls -L for ld."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_LINK_DIRS='xlib:ylib:zlib'):
+ with set_env(SPACK_INCLUDE_DIRS="xinc:yinc:zinc", SPACK_LINK_DIRS="xlib:ylib:zlib"):
check_args(
- ld, test_args,
- ['ld'] +
- test_include_paths +
- test_library_paths +
- ['-Lxlib',
- '-Lylib',
- '-Lzlib'] +
- ['--disable-new-dtags'] +
- test_rpaths +
- test_args_without_paths)
+ ld,
+ test_args,
+ ["ld"]
+ + test_include_paths
+ + test_library_paths
+ + ["-Lxlib", "-Lylib", "-Lzlib"]
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + test_args_without_paths,
+ )
def test_ld_deps_no_link(wrapper_environment):
"""Ensure SPACK_RPATH_DEPS controls -rpath for ld."""
- with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
- SPACK_RPATH_DIRS='xlib:ylib:zlib'):
+ with set_env(SPACK_INCLUDE_DIRS="xinc:yinc:zinc", SPACK_RPATH_DIRS="xlib:ylib:zlib"):
check_args(
- ld, test_args,
- ['ld'] +
- test_include_paths +
- test_library_paths +
- ['--disable-new-dtags'] +
- test_rpaths +
- ['-rpath', 'xlib',
- '-rpath', 'ylib',
- '-rpath', 'zlib'] +
- test_args_without_paths)
+ ld,
+ test_args,
+ ["ld"]
+ + test_include_paths
+ + test_library_paths
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + ["-rpath", "xlib", "-rpath", "ylib", "-rpath", "zlib"]
+ + test_args_without_paths,
+ )
def test_ld_deps_partial(wrapper_environment):
"""Make sure ld -r (partial link) is handled correctly on OS's where it
- doesn't accept rpaths.
+ doesn't accept rpaths.
"""
- with set_env(SPACK_INCLUDE_DIRS='xinc',
- SPACK_RPATH_DIRS='xlib',
- SPACK_LINK_DIRS='xlib'):
+ with set_env(SPACK_INCLUDE_DIRS="xinc", SPACK_RPATH_DIRS="xlib", SPACK_LINK_DIRS="xlib"):
# TODO: do we need to add RPATHs on other platforms like Linux?
# TODO: Can't we treat them the same?
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=linux-x86_64"
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=linux-x86_64"
check_args(
- ld, ['-r'] + test_args,
- ['ld'] +
- test_include_paths +
- test_library_paths +
- ['-Lxlib'] +
- ['--disable-new-dtags'] +
- test_rpaths +
- ['-rpath', 'xlib'] +
- ['-r'] +
- test_args_without_paths)
+ ld,
+ ["-r"] + test_args,
+ ["ld"]
+ + test_include_paths
+ + test_library_paths
+ + ["-Lxlib"]
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + ["-rpath", "xlib"]
+ + ["-r"]
+ + test_args_without_paths,
+ )
# rpaths from the underlying command will still appear
# Spack will not add its own rpaths.
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=darwin-x86_64"
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=darwin-x86_64"
check_args(
- ld, ['-r'] + test_args,
- ['ld'] +
- headerpad +
- test_include_paths +
- test_library_paths +
- ['-Lxlib'] +
- ['--disable-new-dtags'] +
- test_rpaths +
- ['-r'] +
- test_args_without_paths)
+ ld,
+ ["-r"] + test_args,
+ ["ld"]
+ + headerpad
+ + test_include_paths
+ + test_library_paths
+ + ["-Lxlib"]
+ + ["--disable-new-dtags"]
+ + test_rpaths
+ + ["-r"]
+ + test_args_without_paths,
+ )
def test_ccache_prepend_for_cc(wrapper_environment):
- with set_env(SPACK_CCACHE_BINARY='ccache'):
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=linux-x86_64"
+ with set_env(SPACK_CCACHE_BINARY="ccache"):
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=linux-x86_64"
check_args(
- cc, test_args,
- ['ccache'] + # ccache prepended in cc mode
- [real_cc] +
- target_args +
- common_compile_args)
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=darwin-x86_64"
+ cc,
+ test_args,
+ ["ccache"]
+ + [real_cc] # ccache prepended in cc mode
+ + target_args
+ + common_compile_args,
+ )
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=darwin-x86_64"
check_args(
- cc, test_args,
- ['ccache'] + # ccache prepended in cc mode
- [real_cc] +
- target_args +
- lheaderpad +
- common_compile_args)
+ cc,
+ test_args,
+ ["ccache"]
+ + [real_cc] # ccache prepended in cc mode
+ + target_args
+ + lheaderpad
+ + common_compile_args,
+ )
def test_no_ccache_prepend_for_fc(wrapper_environment):
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=linux-x86_64"
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=linux-x86_64"
check_args(
- fc, test_args,
+ fc,
+ test_args,
# no ccache for Fortran
- [real_cc] +
- target_args +
- common_compile_args)
- os.environ['SPACK_SHORT_SPEC'] = "foo@1.2=darwin-x86_64"
+ [real_cc] + target_args + common_compile_args,
+ )
+ os.environ["SPACK_SHORT_SPEC"] = "foo@1.2=darwin-x86_64"
check_args(
- fc, test_args,
+ fc,
+ test_args,
# no ccache for Fortran
- [real_cc] +
- target_args +
- lheaderpad +
- common_compile_args)
+ [real_cc] + target_args + lheaderpad + common_compile_args,
+ )
-@pytest.mark.regression('9160')
+@pytest.mark.regression("9160")
def test_disable_new_dtags(wrapper_environment, wrapper_flags):
- with set_env(SPACK_TEST_COMMAND='dump-args'):
- result = ld(*test_args, output=str).strip().split('\n')
- assert '--disable-new-dtags' in result
- result = cc(*test_args, output=str).strip().split('\n')
- assert '-Wl,--disable-new-dtags' in result
+ with set_env(SPACK_TEST_COMMAND="dump-args"):
+ result = ld(*test_args, output=str).strip().split("\n")
+ assert "--disable-new-dtags" in result
+ result = cc(*test_args, output=str).strip().split("\n")
+ assert "-Wl,--disable-new-dtags" in result
-@pytest.mark.regression('9160')
+@pytest.mark.regression("9160")
def test_filter_enable_new_dtags(wrapper_environment, wrapper_flags):
- with set_env(SPACK_TEST_COMMAND='dump-args'):
- result = ld(*(test_args + ['--enable-new-dtags']), output=str)
- result = result.strip().split('\n')
- assert '--enable-new-dtags' not in result
+ with set_env(SPACK_TEST_COMMAND="dump-args"):
+ result = ld(*(test_args + ["--enable-new-dtags"]), output=str)
+ result = result.strip().split("\n")
+ assert "--enable-new-dtags" not in result
- result = cc(*(test_args + ['-Wl,--enable-new-dtags']), output=str)
- result = result.strip().split('\n')
- assert '-Wl,--enable-new-dtags' not in result
+ result = cc(*(test_args + ["-Wl,--enable-new-dtags"]), output=str)
+ result = result.strip().split("\n")
+ assert "-Wl,--enable-new-dtags" not in result
-@pytest.mark.regression('22643')
+@pytest.mark.regression("22643")
def test_linker_strips_loopopt(wrapper_environment, wrapper_flags):
- with set_env(SPACK_TEST_COMMAND='dump-args'):
+ with set_env(SPACK_TEST_COMMAND="dump-args"):
# ensure that -loopopt=0 is not present in ld mode
result = ld(*(test_args + ["-loopopt=0"]), output=str)
- result = result.strip().split('\n')
- assert '-loopopt=0' not in result
+ result = result.strip().split("\n")
+ assert "-loopopt=0" not in result
# ensure that -loopopt=0 is not present in ccld mode
result = cc(*(test_args + ["-loopopt=0"]), output=str)
- result = result.strip().split('\n')
- assert '-loopopt=0' not in result
+ result = result.strip().split("\n")
+ assert "-loopopt=0" not in result
# ensure that -loopopt=0 *is* present in cc mode
# The "-c" argument is needed for cc to be detected
# as compile only (cc) mode.
result = cc(*(test_args + ["-loopopt=0", "-c", "x.c"]), output=str)
- result = result.strip().split('\n')
- assert '-loopopt=0' in result
+ result = result.strip().split("\n")
+ assert "-loopopt=0" in result
diff --git a/lib/spack/spack/test/ci.py b/lib/spack/spack/test/ci.py
index 3279fd4125..0964a1ba1a 100644
--- a/lib/spack/spack/test/ci.py
+++ b/lib/spack/spack/test/ci.py
@@ -26,15 +26,13 @@ import spack.util.spack_yaml as syaml
@pytest.fixture
def tmp_scope():
"""Creates a temporary configuration scope"""
- base_name = 'internal-testing-scope'
- current_overrides = set(
- x.name for x in
- cfg.config.matching_scopes(r'^{0}'.format(base_name)))
+ base_name = "internal-testing-scope"
+ current_overrides = set(x.name for x in cfg.config.matching_scopes(r"^{0}".format(base_name)))
num_overrides = 0
scope_name = base_name
while scope_name in current_overrides:
- scope_name = '{0}{1}'.format(base_name, num_overrides)
+ scope_name = "{0}{1}".format(base_name, num_overrides)
num_overrides += 1
with cfg.override(cfg.InternalConfigScope(scope_name)):
@@ -42,18 +40,17 @@ def tmp_scope():
def test_urlencode_string():
- s = 'Spack Test Project'
+ s = "Spack Test Project"
s_enc = ci._url_encode_string(s)
- assert(s_enc == 'Spack+Test+Project')
+ assert s_enc == "Spack+Test+Project"
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_import_signing_key(mock_gnupghome):
signing_key_dir = spack_paths.mock_gpg_keys_path
- signing_key_path = os.path.join(signing_key_dir, 'package-signing-key')
+ signing_key_path = os.path.join(signing_key_dir, "package-signing-key")
with open(signing_key_path) as fd:
signing_key = fd.read()
@@ -62,33 +59,34 @@ def test_import_signing_key(mock_gnupghome):
def test_configure_compilers(mutable_config):
-
def assert_missing(config):
- assert('install_missing_compilers' not in config or
- config['install_missing_compilers'] is False)
+ assert (
+ "install_missing_compilers" not in config
+ or config["install_missing_compilers"] is False
+ )
def assert_present(config):
- assert('install_missing_compilers' in config and
- config['install_missing_compilers'] is True)
+ assert (
+ "install_missing_compilers" in config and config["install_missing_compilers"] is True
+ )
- original_config = cfg.get('config')
+ original_config = cfg.get("config")
assert_missing(original_config)
- ci.configure_compilers('FIND_ANY', scope='site')
+ ci.configure_compilers("FIND_ANY", scope="site")
- second_config = cfg.get('config')
+ second_config = cfg.get("config")
assert_missing(second_config)
- ci.configure_compilers('INSTALL_MISSING')
- last_config = cfg.get('config')
+ ci.configure_compilers("INSTALL_MISSING")
+ last_config = cfg.get("config")
assert_present(last_config)
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_get_concrete_specs(config, mutable_mock_env_path, mock_packages):
- e = ev.create('test1')
- e.add('dyninst')
+ e = ev.create("test1")
+ e.add("dyninst")
e.concretize()
dyninst_hash = None
@@ -97,25 +95,23 @@ def test_get_concrete_specs(config, mutable_mock_env_path, mock_packages):
with e as active_env:
for s in active_env.all_specs():
hash_dict[s.name] = s.dag_hash()
- if s.name == 'dyninst':
+ if s.name == "dyninst":
dyninst_hash = s.dag_hash()
- assert(dyninst_hash)
+ assert dyninst_hash
- spec_map = ci.get_concrete_specs(
- active_env, dyninst_hash, 'dyninst', 'NONE')
- assert 'root' in spec_map
+ spec_map = ci.get_concrete_specs(active_env, dyninst_hash, "dyninst", "NONE")
+ assert "root" in spec_map
- concrete_root = spec_map['root']
- assert(concrete_root.dag_hash() == dyninst_hash)
+ concrete_root = spec_map["root"]
+ assert concrete_root.dag_hash() == dyninst_hash
- s = spec.Spec('dyninst')
- print('nonconc spec name: {0}'.format(s.name))
+ s = spec.Spec("dyninst")
+ print("nonconc spec name: {0}".format(s.name))
- spec_map = ci.get_concrete_specs(
- active_env, s.name, s.name, 'FIND_ANY')
+ spec_map = ci.get_concrete_specs(active_env, s.name, s.name, "FIND_ANY")
- assert 'root' in spec_map
+ assert "root" in spec_map
class FakeWebResponder(object):
@@ -150,58 +146,60 @@ class FakeWebResponder(object):
def test_download_and_extract_artifacts(tmpdir, monkeypatch, working_env):
- os.environ.update({
- 'GITLAB_PRIVATE_TOKEN': 'faketoken',
- })
+ os.environ.update(
+ {
+ "GITLAB_PRIVATE_TOKEN": "faketoken",
+ }
+ )
- url = 'https://www.nosuchurlexists.itsfake/artifacts.zip'
- working_dir = os.path.join(tmpdir.strpath, 'repro')
+ url = "https://www.nosuchurlexists.itsfake/artifacts.zip"
+ working_dir = os.path.join(tmpdir.strpath, "repro")
test_artifacts_path = os.path.join(
- spack_paths.test_path, 'data', 'ci', 'gitlab', 'artifacts.zip')
+ spack_paths.test_path, "data", "ci", "gitlab", "artifacts.zip"
+ )
- with open(test_artifacts_path, 'rb') as fd:
+ with open(test_artifacts_path, "rb") as fd:
fake_responder = FakeWebResponder(content_to_read=[fd.read()])
- monkeypatch.setattr(ci, 'build_opener', lambda handler: fake_responder)
+ monkeypatch.setattr(ci, "build_opener", lambda handler: fake_responder)
ci.download_and_extract_artifacts(url, working_dir)
- found_zip = fs.find(working_dir, 'artifacts.zip')
- assert(len(found_zip) == 0)
+ found_zip = fs.find(working_dir, "artifacts.zip")
+ assert len(found_zip) == 0
- found_install = fs.find(working_dir, 'install.sh')
- assert(len(found_install) == 1)
+ found_install = fs.find(working_dir, "install.sh")
+ assert len(found_install) == 1
fake_responder._resp_code = 400
with pytest.raises(spack.error.SpackError):
ci.download_and_extract_artifacts(url, working_dir)
-def test_setup_spack_repro_version(tmpdir, capfd, last_two_git_commits,
- monkeypatch):
+def test_setup_spack_repro_version(tmpdir, capfd, last_two_git_commits, monkeypatch):
c1, c2 = last_two_git_commits
- repro_dir = os.path.join(tmpdir.strpath, 'repro')
- spack_dir = os.path.join(repro_dir, 'spack')
+ repro_dir = os.path.join(tmpdir.strpath, "repro")
+ spack_dir = os.path.join(repro_dir, "spack")
os.makedirs(spack_dir)
prefix_save = spack.paths.prefix
- monkeypatch.setattr(spack.paths, 'prefix', '/garbage')
+ monkeypatch.setattr(spack.paths, "prefix", "/garbage")
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Unable to find the path' in err)
+ assert not ret
+ assert "Unable to find the path" in err
- monkeypatch.setattr(spack.paths, 'prefix', prefix_save)
+ monkeypatch.setattr(spack.paths, "prefix", prefix_save)
- monkeypatch.setattr(spack.util.executable, 'which', lambda cmd: None)
+ monkeypatch.setattr(spack.util.executable, "which", lambda cmd: None)
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('requires git' in err)
+ assert not ret
+ assert "requires git" in err
class mock_git_cmd(object):
def __init__(self, *args, **kwargs):
@@ -216,42 +214,42 @@ def test_setup_spack_repro_version(tmpdir, capfd, last_two_git_commits,
git_cmd = mock_git_cmd()
- monkeypatch.setattr(spack.util.executable, 'which', lambda cmd: git_cmd)
+ monkeypatch.setattr(spack.util.executable, "which", lambda cmd: git_cmd)
git_cmd.check = lambda *a, **k: 1 if len(a) > 2 and a[2] == c2 else 0
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Missing commit: {0}'.format(c2) in err)
+ assert not ret
+ assert "Missing commit: {0}".format(c2) in err
git_cmd.check = lambda *a, **k: 1 if len(a) > 2 and a[2] == c1 else 0
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Missing commit: {0}'.format(c1) in err)
+ assert not ret
+ assert "Missing commit: {0}".format(c1) in err
- git_cmd.check = lambda *a, **k: 1 if a[0] == 'clone' else 0
+ git_cmd.check = lambda *a, **k: 1 if a[0] == "clone" else 0
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Unable to clone' in err)
+ assert not ret
+ assert "Unable to clone" in err
- git_cmd.check = lambda *a, **k: 1 if a[0] == 'checkout' else 0
+ git_cmd.check = lambda *a, **k: 1 if a[0] == "checkout" else 0
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Unable to checkout' in err)
+ assert not ret
+ assert "Unable to checkout" in err
- git_cmd.check = lambda *a, **k: 1 if 'merge' in a else 0
+ git_cmd.check = lambda *a, **k: 1 if "merge" in a else 0
ret = ci.setup_spack_repro_version(repro_dir, c2, c1)
out, err = capfd.readouterr()
- assert(not ret)
- assert('Unable to merge {0}'.format(c1) in err)
+ assert not ret
+ assert "Unable to merge {0}".format(c1) in err
@pytest.mark.parametrize(
@@ -269,7 +267,7 @@ def test_ci_opt_argument_checking(obj, proto):
@pytest.mark.parametrize(
"yaml",
[
- {'extends': 1},
+ {"extends": 1},
],
)
def test_ci_opt_add_extends_non_sequence(yaml):
@@ -280,112 +278,114 @@ def test_ci_opt_add_extends_non_sequence(yaml):
def test_ci_workarounds():
- fake_root_spec = 'x' * 544
- fake_spack_ref = 'x' * 40
+ fake_root_spec = "x" * 544
+ fake_spack_ref = "x" * 40
common_variables = {
- 'SPACK_COMPILER_ACTION': 'NONE',
- 'SPACK_IS_PR_PIPELINE': 'False',
+ "SPACK_COMPILER_ACTION": "NONE",
+ "SPACK_IS_PR_PIPELINE": "False",
}
common_before_script = [
'git clone "https://github.com/spack/spack"',
- ' && '.join((
- 'pushd ./spack',
- 'git checkout "{ref}"'.format(ref=fake_spack_ref),
- 'popd')),
- '. "./spack/share/spack/setup-env.sh"'
+ " && ".join(("pushd ./spack", 'git checkout "{ref}"'.format(ref=fake_spack_ref), "popd")),
+ '. "./spack/share/spack/setup-env.sh"',
]
- def make_build_job(name, deps, stage, use_artifact_buildcache, optimize,
- use_dependencies):
+ def make_build_job(name, deps, stage, use_artifact_buildcache, optimize, use_dependencies):
variables = common_variables.copy()
- variables['SPACK_JOB_SPEC_PKG_NAME'] = name
+ variables["SPACK_JOB_SPEC_PKG_NAME"] = name
result = {
- 'stage': stage,
- 'tags': ['tag-0', 'tag-1'],
- 'artifacts': {
- 'paths': [
- 'jobs_scratch_dir',
- 'cdash_report',
- name + '.spec.json',
- name
- ],
- 'when': 'always'
+ "stage": stage,
+ "tags": ["tag-0", "tag-1"],
+ "artifacts": {
+ "paths": ["jobs_scratch_dir", "cdash_report", name + ".spec.json", name],
+ "when": "always",
},
- 'retry': {'max': 2, 'when': ['always']},
- 'after_script': ['rm -rf "./spack"'],
- 'script': ['spack ci rebuild'],
- 'image': {'name': 'spack/centos7', 'entrypoint': ['']}
+ "retry": {"max": 2, "when": ["always"]},
+ "after_script": ['rm -rf "./spack"'],
+ "script": ["spack ci rebuild"],
+ "image": {"name": "spack/centos7", "entrypoint": [""]},
}
if optimize:
- result['extends'] = ['.c0', '.c1']
+ result["extends"] = [".c0", ".c1"]
else:
- variables['SPACK_ROOT_SPEC'] = fake_root_spec
- result['before_script'] = common_before_script
+ variables["SPACK_ROOT_SPEC"] = fake_root_spec
+ result["before_script"] = common_before_script
- result['variables'] = variables
+ result["variables"] = variables
if use_dependencies:
- result['dependencies'] = (
- list(deps) if use_artifact_buildcache
- else [])
+ result["dependencies"] = list(deps) if use_artifact_buildcache else []
else:
- result['needs'] = [
- {'job': dep, 'artifacts': use_artifact_buildcache}
- for dep in deps]
+ result["needs"] = [{"job": dep, "artifacts": use_artifact_buildcache} for dep in deps]
return {name: result}
- def make_rebuild_index_job(
- use_artifact_buildcache, optimize, use_dependencies):
+ def make_rebuild_index_job(use_artifact_buildcache, optimize, use_dependencies):
result = {
- 'stage': 'stage-rebuild-index',
- 'script': 'spack buildcache update-index -d s3://mirror',
- 'tags': ['tag-0', 'tag-1'],
- 'image': {'name': 'spack/centos7', 'entrypoint': ['']},
- 'after_script': ['rm -rf "./spack"'],
+ "stage": "stage-rebuild-index",
+ "script": "spack buildcache update-index -d s3://mirror",
+ "tags": ["tag-0", "tag-1"],
+ "image": {"name": "spack/centos7", "entrypoint": [""]},
+ "after_script": ['rm -rf "./spack"'],
}
if optimize:
- result['extends'] = '.c0'
+ result["extends"] = ".c0"
else:
- result['before_script'] = common_before_script
+ result["before_script"] = common_before_script
- return {'rebuild-index': result}
+ return {"rebuild-index": result}
def make_factored_jobs(optimize):
- return {
- '.c0': {'before_script': common_before_script},
- '.c1': {'variables': {'SPACK_ROOT_SPEC': fake_root_spec}}
- } if optimize else {}
+ return (
+ {
+ ".c0": {"before_script": common_before_script},
+ ".c1": {"variables": {"SPACK_ROOT_SPEC": fake_root_spec}},
+ }
+ if optimize
+ else {}
+ )
def make_stage_list(num_build_stages):
return {
- 'stages': (
- ['-'.join(('stage', str(i))) for i in range(num_build_stages)]
- + ['stage-rebuild-index'])}
+ "stages": (
+ ["-".join(("stage", str(i))) for i in range(num_build_stages)]
+ + ["stage-rebuild-index"]
+ )
+ }
def make_yaml_obj(use_artifact_buildcache, optimize, use_dependencies):
result = {}
- result.update(make_build_job(
- 'pkg-a', [], 'stage-0', use_artifact_buildcache, optimize,
- use_dependencies))
-
- result.update(make_build_job(
- 'pkg-b', ['pkg-a'], 'stage-1', use_artifact_buildcache, optimize,
- use_dependencies))
-
- result.update(make_build_job(
- 'pkg-c', ['pkg-a', 'pkg-b'], 'stage-2', use_artifact_buildcache,
- optimize, use_dependencies))
-
- result.update(make_rebuild_index_job(
- use_artifact_buildcache, optimize, use_dependencies))
+ result.update(
+ make_build_job(
+ "pkg-a", [], "stage-0", use_artifact_buildcache, optimize, use_dependencies
+ )
+ )
+
+ result.update(
+ make_build_job(
+ "pkg-b", ["pkg-a"], "stage-1", use_artifact_buildcache, optimize, use_dependencies
+ )
+ )
+
+ result.update(
+ make_build_job(
+ "pkg-c",
+ ["pkg-a", "pkg-b"],
+ "stage-2",
+ use_artifact_buildcache,
+ optimize,
+ use_dependencies,
+ )
+ )
+
+ result.update(make_rebuild_index_job(use_artifact_buildcache, optimize, use_dependencies))
result.update(make_factored_jobs(optimize))
@@ -399,9 +399,8 @@ def test_ci_workarounds():
# convert needs to dependencies: true or false
for use_ab in (False, True):
original = make_yaml_obj(
- use_artifact_buildcache=use_ab,
- optimize=False,
- use_dependencies=False)
+ use_artifact_buildcache=use_ab, optimize=False, use_dependencies=False
+ )
for opt, deps in it.product(*(((False, True),) * 2)):
# neither optimizing nor converting needs->dependencies
@@ -410,9 +409,8 @@ def test_ci_workarounds():
continue
predicted = make_yaml_obj(
- use_artifact_buildcache=use_ab,
- optimize=opt,
- use_dependencies=deps)
+ use_artifact_buildcache=use_ab, optimize=opt, use_dependencies=deps
+ )
actual = original.copy()
if opt:
@@ -420,20 +418,18 @@ def test_ci_workarounds():
if deps:
actual = cinw.needs_to_dependencies(actual)
- predicted = syaml.dump_config(
- ci_opt.sort_yaml_obj(predicted), default_flow_style=True)
- actual = syaml.dump_config(
- ci_opt.sort_yaml_obj(actual), default_flow_style=True)
+ predicted = syaml.dump_config(ci_opt.sort_yaml_obj(predicted), default_flow_style=True)
+ actual = syaml.dump_config(ci_opt.sort_yaml_obj(actual), default_flow_style=True)
- assert(predicted == actual)
+ assert predicted == actual
def test_get_spec_filter_list(mutable_mock_env_path, config, mutable_mock_repo):
"""Test that given an active environment and list of touched pkgs,
- we get the right list of possibly-changed env specs"""
- e1 = ev.create('test')
- e1.add('mpileaks')
- e1.add('hypre')
+ we get the right list of possibly-changed env specs"""
+ e1 = ev.create("test")
+ e1.add("mpileaks")
+ e1.add("hypre")
e1.concretize()
"""
@@ -447,7 +443,7 @@ def test_get_spec_filter_list(mutable_mock_env_path, config, mutable_mock_repo):
hypre -> openblas-with-lapack (provides lapack and blas virtual deps of hypre)
"""
- touched = ['libdwarf']
+ touched = ["libdwarf"]
# traversing both directions from libdwarf in the graphs depicted
# above results in the following possibly affected env specs:
@@ -456,22 +452,18 @@ def test_get_spec_filter_list(mutable_mock_env_path, config, mutable_mock_repo):
affected_specs = ci.get_spec_filter_list(e1, touched)
affected_pkg_names = set([s.name for s in affected_specs])
- expected_affected_pkg_names = set(['mpileaks',
- 'callpath',
- 'dyninst',
- 'libdwarf',
- 'libelf'])
+ expected_affected_pkg_names = set(["mpileaks", "callpath", "dyninst", "libdwarf", "libelf"])
assert affected_pkg_names == expected_affected_pkg_names
-@pytest.mark.regression('29947')
+@pytest.mark.regression("29947")
def test_affected_specs_on_first_concretization(mutable_mock_env_path, config):
- e = ev.create('first_concretization')
- e.add('hdf5~mpi~szip')
- e.add('hdf5~mpi+szip')
+ e = ev.create("first_concretization")
+ e.add("hdf5~mpi~szip")
+ e.add("hdf5~mpi+szip")
e.concretize()
- affected_specs = spack.ci.get_spec_filter_list(e, ['zlib'])
- hdf5_specs = [s for s in affected_specs if s.name == 'hdf5']
+ affected_specs = spack.ci.get_spec_filter_list(e, ["zlib"])
+ hdf5_specs = [s for s in affected_specs if s.name == "hdf5"]
assert len(hdf5_specs) == 2
diff --git a/lib/spack/spack/test/cmd/activate.py b/lib/spack/spack/test/cmd/activate.py
index edb126be83..9ba35cc988 100644
--- a/lib/spack/spack/test/cmd/activate.py
+++ b/lib/spack/spack/test/cmd/activate.py
@@ -8,41 +8,34 @@ import pytest
from spack.main import SpackCommand
-activate = SpackCommand('activate')
-deactivate = SpackCommand('deactivate')
-install = SpackCommand('install')
-extensions = SpackCommand('extensions')
-
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
-
-
-def test_activate(
- mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extension1')
- activate('extension1')
- output = extensions('--show', 'activated', 'extendee')
- assert 'extension1' in output
-
-
-def test_deactivate(
- mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extension1')
- activate('extension1')
- deactivate('extension1')
- output = extensions('--show', 'activated', 'extendee')
- assert 'extension1' not in output
-
-
-def test_deactivate_all(
- mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extension1')
- install('extension2')
- activate('extension1')
- activate('extension2')
- deactivate('--all', 'extendee')
- output = extensions('--show', 'activated', 'extendee')
- assert 'extension1' not in output
+activate = SpackCommand("activate")
+deactivate = SpackCommand("deactivate")
+install = SpackCommand("install")
+extensions = SpackCommand("extensions")
+
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
+
+
+def test_activate(mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ install("extension1")
+ activate("extension1")
+ output = extensions("--show", "activated", "extendee")
+ assert "extension1" in output
+
+
+def test_deactivate(mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ install("extension1")
+ activate("extension1")
+ deactivate("extension1")
+ output = extensions("--show", "activated", "extendee")
+ assert "extension1" not in output
+
+
+def test_deactivate_all(mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ install("extension1")
+ install("extension2")
+ activate("extension1")
+ activate("extension2")
+ deactivate("--all", "extendee")
+ output = extensions("--show", "activated", "extendee")
+ assert "extension1" not in output
diff --git a/lib/spack/spack/test/cmd/arch.py b/lib/spack/spack/test/cmd/arch.py
index e7043672bc..7373b666ad 100644
--- a/lib/spack/spack/test/cmd/arch.py
+++ b/lib/spack/spack/test/cmd/arch.py
@@ -5,45 +5,45 @@
from spack.main import SpackCommand
-arch = SpackCommand('arch')
+arch = SpackCommand("arch")
def test_arch():
"""Sanity check ``spack arch`` to make sure it works."""
arch()
- arch('-f')
- arch('--frontend')
- arch('-b')
- arch('--backend')
+ arch("-f")
+ arch("--frontend")
+ arch("-b")
+ arch("--backend")
def test_arch_platform():
"""Sanity check ``spack arch --platform`` to make sure it works."""
- arch('-p')
- arch('--platform')
- arch('-f', '-p')
- arch('-b', '-p')
+ arch("-p")
+ arch("--platform")
+ arch("-f", "-p")
+ arch("-b", "-p")
def test_arch_operating_system():
"""Sanity check ``spack arch --operating-system`` to make sure it works."""
- arch('-o')
- arch('--operating-system')
- arch('-f', '-o')
- arch('-b', '-o')
+ arch("-o")
+ arch("--operating-system")
+ arch("-f", "-o")
+ arch("-b", "-o")
def test_arch_target():
"""Sanity check ``spack arch --target`` to make sure it works."""
- arch('-t')
- arch('--target')
- arch('-f', '-t')
- arch('-b', '-t')
+ arch("-t")
+ arch("--target")
+ arch("-f", "-t")
+ arch("-b", "-t")
def test_display_targets():
- arch('--known-targets')
+ arch("--known-targets")
diff --git a/lib/spack/spack/test/cmd/audit.py b/lib/spack/spack/test/cmd/audit.py
index 722572234b..33b428c5ed 100644
--- a/lib/spack/spack/test/cmd/audit.py
+++ b/lib/spack/spack/test/cmd/audit.py
@@ -6,29 +6,30 @@ import pytest
from spack.main import SpackCommand
-audit = SpackCommand('audit')
-
-
-@pytest.mark.parametrize('pkgs,expected_returncode', [
- # A single package with issues, should exit 1
- (['wrong-variant-in-conflicts'], 1),
- # A "sane" package should exit 0
- (['mpileaks'], 0),
- # A package with issues and a package without should exit 1
- (['wrong-variant-in-conflicts', 'mpileaks'], 1),
- (['mpileaks', 'wrong-variant-in-conflicts'], 1),
-])
-def test_audit_packages(
- pkgs, expected_returncode, mutable_config, mock_packages
-):
+audit = SpackCommand("audit")
+
+
+@pytest.mark.parametrize(
+ "pkgs,expected_returncode",
+ [
+ # A single package with issues, should exit 1
+ (["wrong-variant-in-conflicts"], 1),
+ # A "sane" package should exit 0
+ (["mpileaks"], 0),
+ # A package with issues and a package without should exit 1
+ (["wrong-variant-in-conflicts", "mpileaks"], 1),
+ (["mpileaks", "wrong-variant-in-conflicts"], 1),
+ ],
+)
+def test_audit_packages(pkgs, expected_returncode, mutable_config, mock_packages):
"""Sanity check ``spack audit packages`` to make sure it works."""
- audit('packages', *pkgs, fail_on_error=False)
+ audit("packages", *pkgs, fail_on_error=False)
assert audit.returncode == expected_returncode
def test_audit_configs(mutable_config, mock_packages):
"""Sanity check ``spack audit packages`` to make sure it works."""
- audit('configs', fail_on_error=False)
+ audit("configs", fail_on_error=False)
# The mock configuration has duplicate definitions of some compilers
assert audit.returncode == 1
@@ -36,18 +37,18 @@ def test_audit_configs(mutable_config, mock_packages):
def test_audit_packages_https(mutable_config, mock_packages):
# Without providing --all should fail
- audit('packages-https', fail_on_error=False)
+ 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', "test-dependency", fail_on_error=False)
+ audit("packages-https", "test-dependency", 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)
+ 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)
+ audit("packages-https", "cmake", "conflict", fail_on_error=True)
assert audit.returncode == 0
diff --git a/lib/spack/spack/test/cmd/blame.py b/lib/spack/spack/test/cmd/blame.py
index f6ca34b4b1..d33abbf6ae 100644
--- a/lib/spack/spack/test/cmd/blame.py
+++ b/lib/spack/spack/test/cmd/blame.py
@@ -16,43 +16,42 @@ from spack.main import SpackCommand
from spack.util.executable import which
pytestmark = pytest.mark.skipif(
- not which('git') or not spack.cmd.spack_is_git_repo(),
- reason="needs git")
+ not which("git") or not spack.cmd.spack_is_git_repo(), reason="needs git"
+)
-blame = SpackCommand('blame')
+blame = SpackCommand("blame")
def test_blame_by_modtime(mock_packages):
"""Sanity check the blame command to make sure it works."""
- out = blame('--time', 'mpich')
- assert 'LAST_COMMIT' in out
- assert 'AUTHOR' in out
- assert 'EMAIL' in out
+ out = blame("--time", "mpich")
+ assert "LAST_COMMIT" in out
+ assert "AUTHOR" in out
+ assert "EMAIL" in out
def test_blame_by_percent(mock_packages):
"""Sanity check the blame command to make sure it works."""
- out = blame('--percent', 'mpich')
- assert 'LAST_COMMIT' in out
- assert 'AUTHOR' in out
- assert 'EMAIL' in out
+ out = blame("--percent", "mpich")
+ assert "LAST_COMMIT" in out
+ assert "AUTHOR" in out
+ assert "EMAIL" in out
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_blame_file(mock_packages):
"""Sanity check the blame command to make sure it works."""
with working_dir(spack.paths.prefix):
- out = blame('bin/spack')
- assert 'LAST_COMMIT' in out
- assert 'AUTHOR' in out
- assert 'EMAIL' in out
+ out = blame("bin/spack")
+ assert "LAST_COMMIT" in out
+ assert "AUTHOR" in out
+ assert "EMAIL" in out
def test_blame_json(mock_packages):
"""Ensure that we can output json as a blame."""
with working_dir(spack.paths.prefix):
- out = blame('--json', 'mpich')
+ out = blame("--json", "mpich")
# Test loading the json, and top level keys
loaded = sjson.load(out)
@@ -60,22 +59,22 @@ def test_blame_json(mock_packages):
assert "totals" in out
# Authors should be a list
- assert len(loaded['authors']) > 0
+ assert len(loaded["authors"]) > 0
# Each of authors and totals has these shared keys
keys = ["last_commit", "lines", "percentage"]
for key in keys:
- assert key in loaded['totals']
+ assert key in loaded["totals"]
# But authors is a list of multiple
for key in keys + ["author", "email"]:
- assert key in loaded['authors'][0]
+ assert key in loaded["authors"][0]
-@pytest.mark.skipif(sys.platform == 'win32', reason="git hangs")
+@pytest.mark.skipif(sys.platform == "win32", reason="git hangs")
def test_blame_by_git(mock_packages, capfd):
"""Sanity check the blame command to make sure it works."""
with capfd.disabled():
- out = blame('--git', 'mpich')
- assert 'class Mpich' in out
+ out = blame("--git", "mpich")
+ assert "class Mpich" in out
assert ' homepage = "http://www.mpich.org"' in out
diff --git a/lib/spack/spack/test/cmd/bootstrap.py b/lib/spack/spack/test/cmd/bootstrap.py
index e4cace7d89..2ff66ae35b 100644
--- a/lib/spack/spack/test/cmd/bootstrap.py
+++ b/lib/spack/spack/test/cmd/bootstrap.py
@@ -13,95 +13,86 @@ import spack.main
import spack.mirror
from spack.util.path import convert_to_posix_path
-_bootstrap = spack.main.SpackCommand('bootstrap')
+_bootstrap = spack.main.SpackCommand("bootstrap")
-@pytest.mark.parametrize('scope', [
- None, 'site', 'system', 'user'
-])
+@pytest.mark.parametrize("scope", [None, "site", "system", "user"])
def test_enable_and_disable(mutable_config, scope):
scope_args = []
if scope:
- scope_args = ['--scope={0}'.format(scope)]
+ scope_args = ["--scope={0}".format(scope)]
- _bootstrap('enable', *scope_args)
- assert spack.config.get('bootstrap:enable', scope=scope) is True
+ _bootstrap("enable", *scope_args)
+ assert spack.config.get("bootstrap:enable", scope=scope) is True
- _bootstrap('disable', *scope_args)
- assert spack.config.get('bootstrap:enable', scope=scope) is False
+ _bootstrap("disable", *scope_args)
+ assert spack.config.get("bootstrap:enable", scope=scope) is False
-@pytest.mark.parametrize('scope', [
- None, 'site', 'system', 'user'
-])
+@pytest.mark.parametrize("scope", [None, "site", "system", "user"])
def test_root_get_and_set(mutable_config, scope):
- scope_args, path = [], '/scratch/spack/bootstrap'
+ scope_args, path = [], "/scratch/spack/bootstrap"
if scope:
- scope_args = ['--scope={0}'.format(scope)]
+ scope_args = ["--scope={0}".format(scope)]
- _bootstrap('root', path, *scope_args)
- out = _bootstrap('root', *scope_args, output=str)
- if sys.platform == 'win32':
+ _bootstrap("root", path, *scope_args)
+ out = _bootstrap("root", *scope_args, output=str)
+ if sys.platform == "win32":
out = convert_to_posix_path(out)
assert out.strip() == path
-@pytest.mark.parametrize('scopes', [
- ('site',),
- ('system', 'user')
-])
+@pytest.mark.parametrize("scopes", [("site",), ("system", "user")])
def test_reset_in_file_scopes(mutable_config, scopes):
# Assert files are created in the right scopes
bootstrap_yaml_files = []
for s in scopes:
- _bootstrap('disable', '--scope={0}'.format(s))
+ _bootstrap("disable", "--scope={0}".format(s))
scope_path = spack.config.config.scopes[s].path
- bootstrap_yaml = os.path.join(
- scope_path, 'bootstrap.yaml'
- )
+ bootstrap_yaml = os.path.join(scope_path, "bootstrap.yaml")
assert os.path.exists(bootstrap_yaml)
bootstrap_yaml_files.append(bootstrap_yaml)
- _bootstrap('reset', '-y')
+ _bootstrap("reset", "-y")
for bootstrap_yaml in bootstrap_yaml_files:
assert not os.path.exists(bootstrap_yaml)
def test_reset_in_environment(mutable_mock_env_path, mutable_config):
- env = spack.main.SpackCommand('env')
- env('create', 'bootstrap-test')
- current_environment = ev.read('bootstrap-test')
+ env = spack.main.SpackCommand("env")
+ env("create", "bootstrap-test")
+ current_environment = ev.read("bootstrap-test")
with current_environment:
- _bootstrap('disable')
- assert spack.config.get('bootstrap:enable') is False
- _bootstrap('reset', '-y')
+ _bootstrap("disable")
+ assert spack.config.get("bootstrap:enable") is False
+ _bootstrap("reset", "-y")
# We have no default settings in tests
- assert spack.config.get('bootstrap:enable') is None
+ assert spack.config.get("bootstrap:enable") is None
# Check that reset didn't delete the entire file
- spack_yaml = os.path.join(current_environment.path, 'spack.yaml')
+ spack_yaml = os.path.join(current_environment.path, "spack.yaml")
assert os.path.exists(spack_yaml)
def test_reset_in_file_scopes_overwrites_backup_files(mutable_config):
# Create a bootstrap.yaml with some config
- _bootstrap('disable', '--scope=site')
- scope_path = spack.config.config.scopes['site'].path
- bootstrap_yaml = os.path.join(scope_path, 'bootstrap.yaml')
+ _bootstrap("disable", "--scope=site")
+ scope_path = spack.config.config.scopes["site"].path
+ bootstrap_yaml = os.path.join(scope_path, "bootstrap.yaml")
assert os.path.exists(bootstrap_yaml)
# Reset the bootstrap configuration
- _bootstrap('reset', '-y')
- backup_file = bootstrap_yaml + '.bkp'
+ _bootstrap("reset", "-y")
+ backup_file = bootstrap_yaml + ".bkp"
assert not os.path.exists(bootstrap_yaml)
assert os.path.exists(backup_file)
# Iterate another time
- _bootstrap('disable', '--scope=site')
+ _bootstrap("disable", "--scope=site")
assert os.path.exists(bootstrap_yaml)
assert os.path.exists(backup_file)
- _bootstrap('reset', '-y')
+ _bootstrap("reset", "-y")
assert not os.path.exists(bootstrap_yaml)
assert os.path.exists(backup_file)
@@ -109,62 +100,59 @@ def test_reset_in_file_scopes_overwrites_backup_files(mutable_config):
def test_list_sources(capsys):
# Get the merged list and ensure we get our defaults
with capsys.disabled():
- output = _bootstrap('list')
+ 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')
+ output = _bootstrap("list", "--scope", "user")
assert "No method available" in output
-@pytest.mark.parametrize('command,value', [
- ('trust', True),
- ('untrust', False)
-])
+@pytest.mark.parametrize("command,value", [("trust", True), ("untrust", False)])
def test_trust_or_untrust_sources(mutable_config, command, value):
- key = 'bootstrap:trusted:github-actions'
+ key = "bootstrap:trusted:github-actions"
trusted = spack.config.get(key, default=None)
assert trusted is None
- _bootstrap(command, 'github-actions')
+ _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')
+ 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',
- 'metadata': '$spack/share/spack/bootstrap/github-actions'},
- {'name': 'github-actions',
- 'metadata': '$spack/share/spack/bootstrap/github-actions'}],
- 'trusted': {}
+ wrong_config = {
+ "sources": [
+ {"name": "github-actions", "metadata": "$spack/share/spack/bootstrap/github-actions"},
+ {"name": "github-actions", "metadata": "$spack/share/spack/bootstrap/github-actions"},
+ ],
+ "trusted": {},
}
- with spack.config.override('bootstrap', wrong_config):
- with pytest.raises(RuntimeError, match='more than one'):
- _bootstrap('trust', 'github-actions')
+ with spack.config.override("bootstrap", wrong_config):
+ with pytest.raises(RuntimeError, match="more than one"):
+ _bootstrap("trust", "github-actions")
-@pytest.mark.parametrize('use_existing_dir', [True, False])
+@pytest.mark.parametrize("use_existing_dir", [True, False])
def test_add_failures_for_non_existing_files(mutable_config, tmpdir, use_existing_dir):
- metadata_dir = str(tmpdir) if use_existing_dir else '/foo/doesnotexist'
- with pytest.raises(RuntimeError, match='does not exist'):
- _bootstrap('add', 'mock-mirror', metadata_dir)
+ metadata_dir = str(tmpdir) if use_existing_dir else "/foo/doesnotexist"
+ with pytest.raises(RuntimeError, match="does not exist"):
+ _bootstrap("add", "mock-mirror", metadata_dir)
def test_add_failures_for_already_existing_name(mutable_config):
- with pytest.raises(RuntimeError, match='already exist'):
- _bootstrap('add', 'github-actions', 'some-place')
+ with pytest.raises(RuntimeError, match="already exist"):
+ _bootstrap("add", "github-actions", "some-place")
def test_remove_failure_for_non_existing_names(mutable_config):
- with pytest.raises(RuntimeError, match='cannot find'):
- _bootstrap('remove', 'mock-mirror')
+ with pytest.raises(RuntimeError, match="cannot find"):
+ _bootstrap("remove", "mock-mirror")
def test_remove_and_add_a_source(mutable_config):
@@ -173,49 +161,48 @@ def test_remove_and_add_a_source(mutable_config):
assert len(sources) == 1
# Remove it and check the result
- _bootstrap('remove', 'github-actions')
+ _bootstrap("remove", "github-actions")
sources = spack.bootstrap.bootstrapping_sources()
assert not sources
# Add it back and check we restored the initial state
- _bootstrap(
- 'add', 'github-actions', '$spack/share/spack/bootstrap/github-actions-v0.2'
- )
+ _bootstrap("add", "github-actions", "$spack/share/spack/bootstrap/github-actions-v0.2")
sources = spack.bootstrap.bootstrapping_sources()
assert len(sources) == 1
@pytest.mark.maybeslow
-@pytest.mark.skipif(sys.platform == 'win32', reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_bootstrap_mirror_metadata(mutable_config, linux_os, monkeypatch, tmpdir):
"""Test that `spack bootstrap mirror` creates a folder that can be ingested by
`spack bootstrap add`. Here we don't download data, since that would be an
expensive operation for a unit test.
"""
old_create = spack.mirror.create
- monkeypatch.setattr(spack.mirror, 'create', lambda p, s: old_create(p, []))
+ monkeypatch.setattr(spack.mirror, "create", lambda p, s: old_create(p, []))
# Create the mirror in a temporary folder
- compilers = [{
- 'compiler': {
- 'spec': 'gcc@12.0.1',
- 'operating_system': '{0.name}{0.version}'.format(linux_os),
- 'modules': [],
- 'paths': {
- 'cc': '/usr/bin',
- 'cxx': '/usr/bin',
- 'fc': '/usr/bin',
- 'f77': '/usr/bin'
+ compilers = [
+ {
+ "compiler": {
+ "spec": "gcc@12.0.1",
+ "operating_system": "{0.name}{0.version}".format(linux_os),
+ "modules": [],
+ "paths": {
+ "cc": "/usr/bin",
+ "cxx": "/usr/bin",
+ "fc": "/usr/bin",
+ "f77": "/usr/bin",
+ },
}
}
- }]
- with spack.config.override('compilers', compilers):
- _bootstrap('mirror', str(tmpdir))
+ ]
+ with spack.config.override("compilers", compilers):
+ _bootstrap("mirror", str(tmpdir))
# Register the mirror
- metadata_dir = tmpdir.join('metadata', 'sources')
- _bootstrap('add', '--trust', 'test-mirror', str(metadata_dir))
+ metadata_dir = tmpdir.join("metadata", "sources")
+ _bootstrap("add", "--trust", "test-mirror", str(metadata_dir))
assert _bootstrap.returncode == 0
- assert any(m['name'] == 'test-mirror'
- for m in spack.bootstrap.bootstrapping_sources())
+ assert any(m["name"] == "test-mirror" for m in spack.bootstrap.bootstrapping_sources())
diff --git a/lib/spack/spack/test/cmd/build_env.py b/lib/spack/spack/test/cmd/build_env.py
index 954598cfb5..16d363eff4 100644
--- a/lib/spack/spack/test/cmd/build_env.py
+++ b/lib/spack/spack/test/cmd/build_env.py
@@ -8,50 +8,50 @@ from six.moves import cPickle
from spack.main import SpackCommand
-build_env = SpackCommand('build-env')
+build_env = SpackCommand("build-env")
-@pytest.mark.parametrize('pkg', [
- ('zlib',),
- ('zlib', '--')
-])
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+@pytest.mark.parametrize("pkg", [("zlib",), ("zlib", "--")])
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
def test_it_just_runs(pkg):
build_env(*pkg)
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
def test_error_when_multiple_specs_are_given():
- output = build_env('libelf libdwarf', fail_on_error=False)
- assert 'only takes one spec' in output
-
-
-@pytest.mark.parametrize('args', [
- ('--', '/bin/bash', '-c', 'echo test'),
- ('--',),
- (),
-])
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+ output = build_env("libelf libdwarf", fail_on_error=False)
+ assert "only takes one spec" in output
+
+
+@pytest.mark.parametrize(
+ "args",
+ [
+ ("--", "/bin/bash", "-c", "echo test"),
+ ("--",),
+ (),
+ ],
+)
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
def test_build_env_requires_a_spec(args):
output = build_env(*args, fail_on_error=False)
- assert 'requires a spec' in output
+ assert "requires a spec" in output
-_out_file = 'env.out'
+_out_file = "env.out"
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
def test_dump(tmpdir):
with tmpdir.as_cwd():
- build_env('--dump', _out_file, 'zlib')
+ build_env("--dump", _out_file, "zlib")
with open(_out_file) as f:
- assert(any(line.startswith('PATH=') for line in f.readlines()))
+ assert any(line.startswith("PATH=") for line in f.readlines())
-@pytest.mark.usefixtures('config', 'mock_packages', 'working_env')
+@pytest.mark.usefixtures("config", "mock_packages", "working_env")
def test_pickle(tmpdir):
with tmpdir.as_cwd():
- build_env('--pickle', _out_file, 'zlib')
- environment = cPickle.load(open(_out_file, 'rb'))
- assert(type(environment) == dict)
- assert('PATH' in environment)
+ build_env("--pickle", _out_file, "zlib")
+ environment = cPickle.load(open(_out_file, "rb"))
+ assert type(environment) == dict
+ assert "PATH" in environment
diff --git a/lib/spack/spack/test/cmd/buildcache.py b/lib/spack/spack/test/cmd/buildcache.py
index 958f5c3777..638ad9a883 100644
--- a/lib/spack/spack/test/cmd/buildcache.py
+++ b/lib/spack/spack/test/cmd/buildcache.py
@@ -17,24 +17,21 @@ import spack.main
import spack.spec
from spack.spec import Spec
-buildcache = spack.main.SpackCommand('buildcache')
-install = spack.main.SpackCommand('install')
-env = spack.main.SpackCommand('env')
-add = spack.main.SpackCommand('add')
-gpg = spack.main.SpackCommand('gpg')
-mirror = spack.main.SpackCommand('mirror')
-uninstall = spack.main.SpackCommand('uninstall')
+buildcache = spack.main.SpackCommand("buildcache")
+install = spack.main.SpackCommand("install")
+env = spack.main.SpackCommand("env")
+add = spack.main.SpackCommand("add")
+gpg = spack.main.SpackCommand("gpg")
+mirror = spack.main.SpackCommand("mirror")
+uninstall = spack.main.SpackCommand("uninstall")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture()
def mock_get_specs(database, monkeypatch):
specs = database.query_local()
- monkeypatch.setattr(
- spack.binary_distribution, 'update_cache_and_get_specs', lambda: specs
- )
+ monkeypatch.setattr(spack.binary_distribution, "update_cache_and_get_specs", lambda: specs)
@pytest.fixture()
@@ -44,119 +41,115 @@ def mock_get_specs_multiarch(database, monkeypatch):
# make one spec that is NOT the test architecture
for spec in specs:
if spec.name == "mpileaks":
- spec.architecture = spack.spec.ArchSpec('linux-rhel7-x86_64')
+ spec.architecture = spack.spec.ArchSpec("linux-rhel7-x86_64")
break
- monkeypatch.setattr(
- spack.binary_distribution, 'update_cache_and_get_specs', lambda: specs
- )
+ monkeypatch.setattr(spack.binary_distribution, "update_cache_and_get_specs", lambda: specs)
@pytest.mark.skipif(
- platform.system().lower() != 'linux',
- reason='implementation for MacOS still missing'
+ platform.system().lower() != "linux", reason="implementation for MacOS still missing"
)
@pytest.mark.db
def test_buildcache_preview_just_runs(database):
- buildcache('preview', 'mpileaks')
+ buildcache("preview", "mpileaks")
@pytest.mark.db
-@pytest.mark.regression('13757')
+@pytest.mark.regression("13757")
def test_buildcache_list_duplicates(mock_get_specs, capsys):
with capsys.disabled():
- output = buildcache('list', 'mpileaks', '@2.3')
+ output = buildcache("list", "mpileaks", "@2.3")
- assert output.count('mpileaks') == 3
+ assert output.count("mpileaks") == 3
@pytest.mark.db
-@pytest.mark.regression('17827')
+@pytest.mark.regression("17827")
def test_buildcache_list_allarch(database, mock_get_specs_multiarch, capsys):
with capsys.disabled():
- output = buildcache('list', '--allarch')
+ output = buildcache("list", "--allarch")
- assert output.count('mpileaks') == 3
+ assert output.count("mpileaks") == 3
with capsys.disabled():
- output = buildcache('list')
+ output = buildcache("list")
- assert output.count('mpileaks') == 2
+ assert output.count("mpileaks") == 2
-def tests_buildcache_create(
- install_mockery, mock_fetch, monkeypatch, tmpdir):
- """"Ensure that buildcache create creates output files"""
- pkg = 'trivial-install-test-package'
+def tests_buildcache_create(install_mockery, mock_fetch, monkeypatch, tmpdir):
+ """ "Ensure that buildcache create creates output files"""
+ pkg = "trivial-install-test-package"
install(pkg)
- buildcache('create', '-d', str(tmpdir), '--unsigned', pkg)
+ buildcache("create", "-d", str(tmpdir), "--unsigned", pkg)
spec = Spec(pkg).concretized()
- tarball_path = spack.binary_distribution.tarball_path_name(spec, '.spack')
- tarball = spack.binary_distribution.tarball_name(spec, '.spec.json')
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball_path))
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball))
+ tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
+ tarball = spack.binary_distribution.tarball_name(spec, ".spec.json")
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball_path))
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball))
def tests_buildcache_create_env(
- install_mockery, mock_fetch, monkeypatch,
- tmpdir, mutable_mock_env_path):
- """"Ensure that buildcache create creates output files from env"""
- pkg = 'trivial-install-test-package'
+ install_mockery, mock_fetch, monkeypatch, tmpdir, mutable_mock_env_path
+):
+ """ "Ensure that buildcache create creates output files from env"""
+ pkg = "trivial-install-test-package"
- env('create', 'test')
- with ev.read('test'):
+ env("create", "test")
+ with ev.read("test"):
add(pkg)
install()
- buildcache('create', '-d', str(tmpdir), '--unsigned')
+ buildcache("create", "-d", str(tmpdir), "--unsigned")
spec = Spec(pkg).concretized()
- tarball_path = spack.binary_distribution.tarball_path_name(spec, '.spack')
- tarball = spack.binary_distribution.tarball_name(spec, '.spec.json')
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball_path))
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball))
+ tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
+ tarball = spack.binary_distribution.tarball_name(spec, ".spec.json")
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball_path))
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball))
def test_buildcache_create_fails_on_noargs(tmpdir):
"""Ensure that buildcache create fails when given no args or
environment."""
with pytest.raises(spack.main.SpackCommandError):
- buildcache('create', '-d', str(tmpdir), '--unsigned')
+ buildcache("create", "-d", str(tmpdir), "--unsigned")
-def test_buildcache_create_fail_on_perm_denied(
- install_mockery, mock_fetch, monkeypatch, tmpdir):
+def test_buildcache_create_fail_on_perm_denied(install_mockery, mock_fetch, monkeypatch, tmpdir):
"""Ensure that buildcache create fails on permission denied error."""
- install('trivial-install-test-package')
+ install("trivial-install-test-package")
tmpdir.chmod(0)
with pytest.raises(OSError) as error:
- buildcache('create', '-d', str(tmpdir),
- '--unsigned', 'trivial-install-test-package')
+ buildcache("create", "-d", str(tmpdir), "--unsigned", "trivial-install-test-package")
assert error.value.errno == errno.EACCES
tmpdir.chmod(0o700)
-def test_update_key_index(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages, mock_fetch,
- mock_stage, mock_gnupghome):
+def test_update_key_index(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ mock_fetch,
+ mock_stage,
+ mock_gnupghome,
+):
"""Test the update-index command with the --keys option"""
- working_dir = tmpdir.join('working_dir')
+ working_dir = tmpdir.join("working_dir")
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
- mirror('add', 'test-mirror', mirror_url)
+ mirror("add", "test-mirror", mirror_url)
- gpg('create', 'Test Signing Key', 'nobody@nowhere.com')
+ gpg("create", "Test Signing Key", "nobody@nowhere.com")
- s = Spec('libdwarf').concretized()
+ s = Spec("libdwarf").concretized()
# Install a package
install(s.name)
@@ -164,111 +157,111 @@ def test_update_key_index(tmpdir, mutable_mock_env_path,
# Put installed package in the buildcache, which, because we're signing
# it, should result in the public key getting pushed to the buildcache
# as well.
- buildcache('create', '-a', '-d', mirror_dir.strpath, s.name)
+ buildcache("create", "-a", "-d", mirror_dir.strpath, s.name)
# Now make sure that when we pass the "--keys" argument to update-index
# it causes the index to get update.
- buildcache('update-index', '--keys', '-d', mirror_dir.strpath)
+ buildcache("update-index", "--keys", "-d", mirror_dir.strpath)
- key_dir_list = os.listdir(os.path.join(
- mirror_dir.strpath, 'build_cache', '_pgp'))
+ key_dir_list = os.listdir(os.path.join(mirror_dir.strpath, "build_cache", "_pgp"))
- uninstall('-y', s.name)
- mirror('rm', 'test-mirror')
+ uninstall("-y", s.name)
+ mirror("rm", "test-mirror")
- assert 'index.json' in key_dir_list
+ 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):
+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')
+ working_dir = tmpdir.join("working_dir")
- src_mirror_dir = working_dir.join('src_mirror').strpath
- src_mirror_url = 'file://{0}'.format(src_mirror_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)
+ 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'
+ 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'))
+ 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)
+ 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)
+ 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)
+ buildcache("create", "-u", "-f", "-a", "--mirror-url", src_mirror_url, s.name)
- env('create', 'test')
- with ev.read('test'):
+ 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)
+ 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)
+ 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)
+ 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)
+ mirror("add", "src", src_mirror_url)
+ mirror("add", "dest", dest_mirror_url)
- buildcache('sync',
- '--src-mirror-name', 'src',
- '--dest-mirror-name', 'dest')
+ buildcache("sync", "--src-mirror-name", "src", "--dest-mirror-name", "dest")
verify_mirror_contents()
-def test_buildcache_create_install(mutable_mock_env_path,
- install_mockery_mutable_config,
- mock_packages, mock_fetch, mock_stage,
- monkeypatch, tmpdir):
- """"Ensure that buildcache create creates output files"""
- pkg = 'trivial-install-test-package'
+def test_buildcache_create_install(
+ mutable_mock_env_path,
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_stage,
+ monkeypatch,
+ tmpdir,
+):
+ """ "Ensure that buildcache create creates output files"""
+ pkg = "trivial-install-test-package"
install(pkg)
- buildcache('create', '-d', str(tmpdir), '--unsigned', pkg)
+ buildcache("create", "-d", str(tmpdir), "--unsigned", pkg)
spec = Spec(pkg).concretized()
- tarball_path = spack.binary_distribution.tarball_path_name(spec, '.spack')
- tarball = spack.binary_distribution.tarball_name(spec, '.spec.json')
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball_path))
- assert os.path.exists(
- os.path.join(str(tmpdir), 'build_cache', tarball))
+ tarball_path = spack.binary_distribution.tarball_path_name(spec, ".spack")
+ tarball = spack.binary_distribution.tarball_name(spec, ".spec.json")
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball_path))
+ assert os.path.exists(os.path.join(str(tmpdir), "build_cache", tarball))
diff --git a/lib/spack/spack/test/cmd/cd.py b/lib/spack/spack/test/cmd/cd.py
index 346b9a6185..48c8e4adfc 100644
--- a/lib/spack/spack/test/cmd/cd.py
+++ b/lib/spack/spack/test/cmd/cd.py
@@ -5,7 +5,7 @@
from spack.main import SpackCommand
-cd = SpackCommand('cd')
+cd = SpackCommand("cd")
def test_cd():
diff --git a/lib/spack/spack/test/cmd/checksum.py b/lib/spack/spack/test/cmd/checksum.py
index d22636a3d2..b0fffbea08 100644
--- a/lib/spack/spack/test/cmd/checksum.py
+++ b/lib/spack/spack/test/cmd/checksum.py
@@ -14,14 +14,17 @@ import spack.cmd.checksum
import spack.repo
from spack.main import SpackCommand
-spack_checksum = SpackCommand('checksum')
+spack_checksum = SpackCommand("checksum")
-@pytest.mark.parametrize('arguments,expected', [
- (['--batch', 'patch'], (True, False, False)),
- (['--latest', 'patch'], (False, True, False)),
- (['--preferred', 'patch'], (False, False, True)),
-])
+@pytest.mark.parametrize(
+ "arguments,expected",
+ [
+ (["--batch", "patch"], (True, False, False)),
+ (["--latest", "patch"], (False, True, False)),
+ (["--preferred", "patch"], (False, False, True)),
+ ],
+)
def test_checksum_args(arguments, expected):
parser = argparse.ArgumentParser()
spack.cmd.checksum.setup_parser(parser)
@@ -30,35 +33,36 @@ def test_checksum_args(arguments, expected):
assert check == expected
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('arguments,expected', [
- (['--batch', 'preferred-test'], 'version of preferred-test'),
- (['--latest', 'preferred-test'], 'Found 1 version'),
- (['--preferred', 'preferred-test'], 'Found 1 version'),
-])
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize(
+ "arguments,expected",
+ [
+ (["--batch", "preferred-test"], "version of preferred-test"),
+ (["--latest", "preferred-test"], "Found 1 version"),
+ (["--preferred", "preferred-test"], "Found 1 version"),
+ ],
+)
def test_checksum(arguments, expected, mock_packages, mock_stage):
output = spack_checksum(*arguments)
assert expected in output
- assert 'version(' in output
+ assert "version(" in output
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-def test_checksum_interactive(
- mock_packages, mock_fetch, mock_stage, monkeypatch):
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+def test_checksum_interactive(mock_packages, mock_fetch, mock_stage, monkeypatch):
def _get_number(*args, **kwargs):
return 1
- monkeypatch.setattr(tty, 'get_number', _get_number)
- output = spack_checksum('preferred-test')
- assert 'version of preferred-test' in output
- assert 'version(' in output
+ monkeypatch.setattr(tty, "get_number", _get_number)
+
+ output = spack_checksum("preferred-test")
+ assert "version of preferred-test" in output
+ assert "version(" in output
def test_checksum_versions(mock_packages, mock_fetch, mock_stage):
- pkg_cls = spack.repo.path.get_pkg_class('preferred-test')
+ pkg_cls = spack.repo.path.get_pkg_class("preferred-test")
versions = [str(v) for v in pkg_cls.versions if not v.isdevelop()]
- output = spack_checksum('preferred-test', versions[0])
- assert 'Found 1 version' in output
- assert 'version(' in output
+ output = spack_checksum("preferred-test", versions[0])
+ assert "Found 1 version" in output
+ assert "version(" in output
diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py
index f6b6bb8c19..2435f8d92a 100644
--- a/lib/spack/spack/test/cmd/ci.py
+++ b/lib/spack/spack/test/cmd/ci.py
@@ -34,58 +34,59 @@ from spack.spec import CompilerSpec, Spec
from spack.util.executable import which
from spack.util.mock_package import MockPackageMultiRepo
-ci_cmd = spack.main.SpackCommand('ci')
-env_cmd = spack.main.SpackCommand('env')
-mirror_cmd = spack.main.SpackCommand('mirror')
-gpg_cmd = spack.main.SpackCommand('gpg')
-install_cmd = spack.main.SpackCommand('install')
-uninstall_cmd = spack.main.SpackCommand('uninstall')
-buildcache_cmd = spack.main.SpackCommand('buildcache')
+ci_cmd = spack.main.SpackCommand("ci")
+env_cmd = spack.main.SpackCommand("env")
+mirror_cmd = spack.main.SpackCommand("mirror")
+gpg_cmd = spack.main.SpackCommand("gpg")
+install_cmd = spack.main.SpackCommand("install")
+uninstall_cmd = spack.main.SpackCommand("uninstall")
+buildcache_cmd = spack.main.SpackCommand("buildcache")
-pytestmark = [pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows"),
- pytest.mark.maybeslow]
+pytestmark = [
+ pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows"),
+ pytest.mark.maybeslow,
+]
@pytest.fixture()
def ci_base_environment(working_env, tmpdir):
- os.environ['CI_PROJECT_DIR'] = tmpdir.strpath
+ os.environ["CI_PROJECT_DIR"] = tmpdir.strpath
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mock_git_repo(tmpdir):
"""Create a mock git repo with two commits, the last one creating
a .gitlab-ci.yml"""
- repo_path = tmpdir.join('mockspackrepo').strpath
+ repo_path = tmpdir.join("mockspackrepo").strpath
mkdirp(repo_path)
- git = which('git', required=True)
+ git = which("git", required=True)
with working_dir(repo_path):
- git('init')
+ git("init")
- with open('README.md', 'w') as f:
- f.write('# Introduction')
+ with open("README.md", "w") as f:
+ f.write("# Introduction")
- with open('.gitlab-ci.yml', 'w') as f:
- f.write("""
+ with open(".gitlab-ci.yml", "w") as f:
+ f.write(
+ """
testjob:
script:
- echo "success"
- """)
+ """
+ )
- git('config', '--local', 'user.email', 'testing@spack.io')
- git('config', '--local', 'user.name', 'Spack Testing')
+ git("config", "--local", "user.email", "testing@spack.io")
+ git("config", "--local", "user.name", "Spack Testing")
# initial commit with README
- git('add', 'README.md')
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'initial commit')
+ git("add", "README.md")
+ git("-c", "commit.gpgsign=false", "commit", "-m", "initial commit")
# second commit, adding a .gitlab-ci.yml
- git('add', '.gitlab-ci.yml')
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'add a .gitlab-ci.yml')
+ git("add", ".gitlab-ci.yml")
+ git("-c", "commit.gpgsign=false", "commit", "-m", "add a .gitlab-ci.yml")
yield repo_path
@@ -106,58 +107,64 @@ In this case, we would expect 'c', 'e', 'f', and 'g' to be in the first stage,
and then 'd', 'b', and 'a' to be put in the next three stages, respectively.
"""
- default = ('build', 'link')
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- g = mock_repo.add_package('g', [], [])
- f = mock_repo.add_package('f', [], [])
- e = mock_repo.add_package('e', [], [])
- d = mock_repo.add_package('d', [f, g], [default, default])
- c = mock_repo.add_package('c', [], [])
- b = mock_repo.add_package('b', [d, e], [default, default])
- mock_repo.add_package('a', [b, c], [default, default])
+ g = mock_repo.add_package("g", [], [])
+ f = mock_repo.add_package("f", [], [])
+ e = mock_repo.add_package("e", [], [])
+ d = mock_repo.add_package("d", [f, g], [default, default])
+ c = mock_repo.add_package("c", [], [])
+ b = mock_repo.add_package("b", [d, e], [default, default])
+ mock_repo.add_package("a", [b, c], [default, default])
with repo.use_repositories(mock_repo):
- spec_a = Spec('a')
+ spec_a = Spec("a")
spec_a.concretize()
spec_a_label = ci._spec_deps_key(spec_a)
- spec_b_label = ci._spec_deps_key(spec_a['b'])
- spec_c_label = ci._spec_deps_key(spec_a['c'])
- spec_d_label = ci._spec_deps_key(spec_a['d'])
- spec_e_label = ci._spec_deps_key(spec_a['e'])
- spec_f_label = ci._spec_deps_key(spec_a['f'])
- spec_g_label = ci._spec_deps_key(spec_a['g'])
+ spec_b_label = ci._spec_deps_key(spec_a["b"])
+ spec_c_label = ci._spec_deps_key(spec_a["c"])
+ spec_d_label = ci._spec_deps_key(spec_a["d"])
+ spec_e_label = ci._spec_deps_key(spec_a["e"])
+ spec_f_label = ci._spec_deps_key(spec_a["f"])
+ spec_g_label = ci._spec_deps_key(spec_a["g"])
spec_labels, dependencies, stages = ci.stage_spec_jobs([spec_a])
- assert (len(stages) == 4)
+ assert len(stages) == 4
- assert (len(stages[0]) == 4)
- assert (spec_c_label in stages[0])
- assert (spec_e_label in stages[0])
- assert (spec_f_label in stages[0])
- assert (spec_g_label in stages[0])
+ assert len(stages[0]) == 4
+ assert spec_c_label in stages[0]
+ assert spec_e_label in stages[0]
+ assert spec_f_label in stages[0]
+ assert spec_g_label in stages[0]
- assert (len(stages[1]) == 1)
- assert (spec_d_label in stages[1])
+ assert len(stages[1]) == 1
+ assert spec_d_label in stages[1]
- assert (len(stages[2]) == 1)
- assert (spec_b_label in stages[2])
+ assert len(stages[2]) == 1
+ assert spec_b_label in stages[2]
- assert (len(stages[3]) == 1)
- assert (spec_a_label in stages[3])
+ assert len(stages[3]) == 1
+ assert spec_a_label in stages[3]
-def test_ci_generate_with_env(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages,
- ci_base_environment, mock_binary_index):
+def test_ci_generate_with_env(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Make sure we can get a .gitlab-ci.yml from an environment file
- which has the gitlab-ci, cdash, and mirrors sections."""
- mirror_url = 'https://my.fake.mirror'
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ which has the gitlab-ci, cdash, and mirrors sections."""
+ mirror_url = "https://my.fake.mirror"
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
definitions:
- bootstrap:
@@ -194,38 +201,40 @@ spack:
url: https://my.fake.cdash
project: Not used
site: Nothing
-""".format(mirror_url))
+""".format(
+ mirror_url
+ )
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
found_spec = False
for ci_key in yaml_contents.keys():
- if '(bootstrap)' in ci_key:
+ if "(bootstrap)" in ci_key:
found_spec = True
- assert('cmake' in ci_key)
- assert(found_spec)
- assert('stages' in yaml_contents)
- assert(len(yaml_contents['stages']) == 6)
- assert(yaml_contents['stages'][0] == 'stage-0')
- assert(yaml_contents['stages'][5] == 'stage-rebuild-index')
+ assert "cmake" in ci_key
+ assert found_spec
+ assert "stages" in yaml_contents
+ assert len(yaml_contents["stages"]) == 6
+ assert yaml_contents["stages"][0] == "stage-0"
+ assert yaml_contents["stages"][5] == "stage-rebuild-index"
- assert('rebuild-index' in yaml_contents)
- rebuild_job = yaml_contents['rebuild-index']
- expected = 'spack buildcache update-index --keys -d {0}'.format(
- mirror_url)
- assert(rebuild_job['script'][0] == expected)
+ assert "rebuild-index" in yaml_contents
+ rebuild_job = yaml_contents["rebuild-index"]
+ expected = "spack buildcache update-index --keys -d {0}".format(mirror_url)
+ assert rebuild_job["script"][0] == expected
- assert('variables' in yaml_contents)
- assert('SPACK_ARTIFACTS_ROOT' in yaml_contents['variables'])
- artifacts_root = yaml_contents['variables']['SPACK_ARTIFACTS_ROOT']
- assert(artifacts_root == 'jobs_scratch_dir')
+ assert "variables" in yaml_contents
+ assert "SPACK_ARTIFACTS_ROOT" in yaml_contents["variables"]
+ artifacts_root = yaml_contents["variables"]["SPACK_ARTIFACTS_ROOT"]
+ assert artifacts_root == "jobs_scratch_dir"
def _validate_needs_graph(yaml_contents, needs_graph, artifacts):
@@ -233,25 +242,29 @@ def _validate_needs_graph(yaml_contents, needs_graph, artifacts):
for needs_def_name, needs_list in needs_graph.items():
if job_name.startswith(needs_def_name):
# check job needs against the expected needs definition
- j_needs = job_def['needs']
- assert all([job_needs['job'][:job_needs['job'].index('/')]
- in needs_list for job_needs in j_needs])
- assert(all([nl in
- [n['job'][:n['job'].index('/')] for n in j_needs]
- for nl in needs_list]))
- assert all([job_needs['artifacts'] == artifacts
- for job_needs in j_needs])
+ j_needs = job_def["needs"]
+ assert all(
+ [
+ job_needs["job"][: job_needs["job"].index("/")] in needs_list
+ for job_needs in j_needs
+ ]
+ )
+ assert all(
+ [nl in [n["job"][: n["job"].index("/")] for n in j_needs] for nl in needs_list]
+ )
+ assert all([job_needs["artifacts"] == artifacts for job_needs in j_needs])
break
-def test_ci_generate_bootstrap_gcc(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, ci_base_environment):
+def test_ci_generate_bootstrap_gcc(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, ci_base_environment
+):
"""Test that we can bootstrap a compiler and use it as the
compiler for a spec in the environment"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
definitions:
- bootstrap:
@@ -271,33 +284,34 @@ spack:
runner-attributes:
tags:
- donotcare
-""")
+"""
+ )
needs_graph = {
- '(bootstrap) conflict': [],
- '(bootstrap) gcc': [
- '(bootstrap) conflict',
+ "(bootstrap) conflict": [],
+ "(bootstrap) gcc": [
+ "(bootstrap) conflict",
],
- '(specs) libelf': [
- '(bootstrap) gcc',
+ "(specs) libelf": [
+ "(bootstrap) gcc",
],
- '(specs) libdwarf': [
- '(bootstrap) gcc',
- '(specs) libelf',
+ "(specs) libdwarf": [
+ "(bootstrap) gcc",
+ "(specs) libelf",
],
- '(specs) dyninst': [
- '(bootstrap) gcc',
- '(specs) libelf',
- '(specs) libdwarf',
+ "(specs) dyninst": [
+ "(bootstrap) gcc",
+ "(specs) libelf",
+ "(specs) libdwarf",
],
}
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
@@ -305,16 +319,15 @@ spack:
_validate_needs_graph(yaml_contents, needs_graph, False)
-def test_ci_generate_bootstrap_artifacts_buildcache(tmpdir,
- mutable_mock_env_path,
- install_mockery,
- mock_packages,
- ci_base_environment):
+def test_ci_generate_bootstrap_artifacts_buildcache(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, ci_base_environment
+):
"""Test that we can bootstrap a compiler when artifacts buildcache
is turned on"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
definitions:
- bootstrap:
@@ -334,36 +347,37 @@ spack:
tags:
- donotcare
enable-artifacts-buildcache: True
-""")
+"""
+ )
needs_graph = {
- '(bootstrap) conflict': [],
- '(bootstrap) gcc': [
- '(bootstrap) conflict',
+ "(bootstrap) conflict": [],
+ "(bootstrap) gcc": [
+ "(bootstrap) conflict",
],
- '(specs) libelf': [
- '(bootstrap) gcc',
- '(bootstrap) conflict',
+ "(specs) libelf": [
+ "(bootstrap) gcc",
+ "(bootstrap) conflict",
],
- '(specs) libdwarf': [
- '(bootstrap) gcc',
- '(bootstrap) conflict',
- '(specs) libelf',
+ "(specs) libdwarf": [
+ "(bootstrap) gcc",
+ "(bootstrap) conflict",
+ "(specs) libelf",
],
- '(specs) dyninst': [
- '(bootstrap) gcc',
- '(bootstrap) conflict',
- '(specs) libelf',
- '(specs) libdwarf',
+ "(specs) dyninst": [
+ "(bootstrap) gcc",
+ "(bootstrap) conflict",
+ "(specs) libelf",
+ "(specs) libdwarf",
],
}
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
@@ -371,42 +385,55 @@ spack:
_validate_needs_graph(yaml_contents, needs_graph, True)
-def test_ci_generate_with_env_missing_section(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, ci_base_environment,
- mock_binary_index):
+def test_ci_generate_with_env_missing_section(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Make sure we get a reasonable message if we omit gitlab-ci section"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
mirrors:
some-mirror: https://my.fake.mirror
-""")
+"""
+ )
expect_out = 'Error: Environment yaml does not have "gitlab-ci" section'
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
+ env_cmd("create", "test", "./spack.yaml")
- with ev.read('test'):
- output = ci_cmd('generate', fail_on_error=False, output=str)
- assert(expect_out in output)
+ with ev.read("test"):
+ output = ci_cmd("generate", fail_on_error=False, output=str)
+ assert expect_out in output
-def test_ci_generate_with_cdash_token(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, ci_base_environment,
- mock_binary_index):
+def test_ci_generate_with_cdash_token(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Make sure we it doesn't break if we configure cdash"""
- os.environ.update({
- 'SPACK_CDASH_AUTH_TOKEN': 'notreallyatokenbutshouldnotmatter',
- })
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ os.environ.update(
+ {
+ "SPACK_CDASH_AUTH_TOKEN": "notreallyatokenbutshouldnotmatter",
+ }
+ )
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -426,37 +453,44 @@ spack:
url: https://my.fake.cdash
project: Not used
site: Nothing
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
+ env_cmd("create", "test", "./spack.yaml")
- with ev.read('test'):
- copy_to_file = str(tmpdir.join('backup-ci.yml'))
- output = ci_cmd('generate', '--copy-to', copy_to_file, output=str)
+ with ev.read("test"):
+ copy_to_file = str(tmpdir.join("backup-ci.yml"))
+ output = ci_cmd("generate", "--copy-to", copy_to_file, output=str)
# That fake token should still have resulted in being unable to
# register build group with cdash, but the workload should
# still have been generated.
- expect = 'Problem populating buildgroup'
- assert(expect in output)
+ expect = "Problem populating buildgroup"
+ assert expect in output
dir_contents = os.listdir(tmpdir.strpath)
- assert('backup-ci.yml' in dir_contents)
+ assert "backup-ci.yml" in dir_contents
- orig_file = str(tmpdir.join('.gitlab-ci.yml'))
+ orig_file = str(tmpdir.join(".gitlab-ci.yml"))
- assert(filecmp.cmp(orig_file, copy_to_file) is True)
+ assert filecmp.cmp(orig_file, copy_to_file) is True
-def test_ci_generate_with_custom_scripts(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment, mock_binary_index):
+def test_ci_generate_with_custom_scripts(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ monkeypatch,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Test use of user-provided scripts"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -483,15 +517,16 @@ spack:
- spack -d ci rebuild
after_script:
- rm -rf /some/path/spack
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- monkeypatch.setattr(spack.main, 'get_version', lambda: '0.15.3')
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ monkeypatch.setattr(spack.main, "get_version", lambda: "0.15.3")
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
@@ -499,53 +534,54 @@ spack:
found_it = False
- assert('variables' in yaml_contents)
- global_vars = yaml_contents['variables']
- assert('SPACK_VERSION' in global_vars)
- assert(global_vars['SPACK_VERSION'] == '0.15.3')
- assert('SPACK_CHECKOUT_VERSION' in global_vars)
- assert(global_vars['SPACK_CHECKOUT_VERSION'] == 'v0.15.3')
+ assert "variables" in yaml_contents
+ global_vars = yaml_contents["variables"]
+ assert "SPACK_VERSION" in global_vars
+ assert global_vars["SPACK_VERSION"] == "0.15.3"
+ assert "SPACK_CHECKOUT_VERSION" in global_vars
+ assert global_vars["SPACK_CHECKOUT_VERSION"] == "v0.15.3"
for ci_key in yaml_contents.keys():
ci_obj = yaml_contents[ci_key]
- if 'archive-files' in ci_key:
+ if "archive-files" in ci_key:
# Ensure we have variables, possibly interpolated
- assert('variables' in ci_obj)
- var_d = ci_obj['variables']
- assert('ONE' in var_d)
- assert(var_d['ONE'] == 'plain-string-value')
- assert('TWO' in var_d)
- assert(var_d['TWO'] == '${INTERP_ON_BUILD}')
+ assert "variables" in ci_obj
+ var_d = ci_obj["variables"]
+ assert "ONE" in var_d
+ assert var_d["ONE"] == "plain-string-value"
+ assert "TWO" in var_d
+ assert var_d["TWO"] == "${INTERP_ON_BUILD}"
# Ensure we have scripts verbatim
- assert('before_script' in ci_obj)
- before_script = ci_obj['before_script']
- assert(before_script[0] == 'mkdir /some/path')
- assert(before_script[1] == 'pushd /some/path')
- assert(before_script[2] == 'git clone ${SPACK_REPO}')
- assert(before_script[3] == 'cd spack')
- assert(before_script[4] == 'git checkout ${SPACK_REF}')
- assert(before_script[5] == 'popd')
-
- assert('script' in ci_obj)
- assert(ci_obj['script'][0] == 'spack -d ci rebuild')
-
- assert('after_script' in ci_obj)
- after_script = ci_obj['after_script'][0]
- assert(after_script == 'rm -rf /some/path/spack')
+ assert "before_script" in ci_obj
+ before_script = ci_obj["before_script"]
+ assert before_script[0] == "mkdir /some/path"
+ assert before_script[1] == "pushd /some/path"
+ assert before_script[2] == "git clone ${SPACK_REPO}"
+ assert before_script[3] == "cd spack"
+ assert before_script[4] == "git checkout ${SPACK_REF}"
+ assert before_script[5] == "popd"
+
+ assert "script" in ci_obj
+ assert ci_obj["script"][0] == "spack -d ci rebuild"
+
+ assert "after_script" in ci_obj
+ after_script = ci_obj["after_script"][0]
+ assert after_script == "rm -rf /some/path/spack"
found_it = True
- assert(found_it)
+ assert found_it
-def test_ci_generate_pkg_with_deps(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, ci_base_environment):
+def test_ci_generate_pkg_with_deps(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, ci_base_environment
+):
"""Test pipeline generation for a package w/ dependencies"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- flatten-deps
@@ -564,14 +600,15 @@ spack:
runner-attributes:
tags:
- donotcare
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
@@ -579,33 +616,35 @@ spack:
found = []
for ci_key in yaml_contents.keys():
ci_obj = yaml_contents[ci_key]
- if 'dependency-install' in ci_key:
- assert('stage' in ci_obj)
- assert(ci_obj['stage'] == 'stage-0')
- found.append('dependency-install')
- if 'flatten-deps' in ci_key:
- assert('stage' in ci_obj)
- assert(ci_obj['stage'] == 'stage-1')
- found.append('flatten-deps')
-
- assert('flatten-deps' in found)
- assert('dependency-install' in found)
-
-
-def test_ci_generate_for_pr_pipeline(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+ if "dependency-install" in ci_key:
+ assert "stage" in ci_obj
+ assert ci_obj["stage"] == "stage-0"
+ found.append("dependency-install")
+ if "flatten-deps" in ci_key:
+ assert "stage" in ci_obj
+ assert ci_obj["stage"] == "stage-1"
+ found.append("flatten-deps")
+
+ assert "flatten-deps" in found
+ assert "dependency-install" in found
+
+
+def test_ci_generate_for_pr_pipeline(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Test that PR pipelines do not include a final stage job for
rebuilding the mirror index, even if that job is specifically
configured"""
- os.environ.update({
- 'SPACK_PIPELINE_TYPE': 'spack_pull_request',
- 'SPACK_PR_BRANCH': 'fake-test-branch',
- })
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ os.environ.update(
+ {
+ "SPACK_PIPELINE_TYPE": "spack_pull_request",
+ "SPACK_PR_BRANCH": "fake-test-branch",
+ }
+ )
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- flatten-deps
@@ -628,35 +667,36 @@ spack:
image: donotcare
tags: [donotcare]
rebuild-index: False
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
- assert('rebuild-index' not in yaml_contents)
+ assert "rebuild-index" not in yaml_contents
- assert('variables' in yaml_contents)
- pipeline_vars = yaml_contents['variables']
- assert('SPACK_PIPELINE_TYPE' in pipeline_vars)
- assert(pipeline_vars['SPACK_PIPELINE_TYPE'] == 'spack_pull_request')
+ assert "variables" in yaml_contents
+ pipeline_vars = yaml_contents["variables"]
+ assert "SPACK_PIPELINE_TYPE" in pipeline_vars
+ assert pipeline_vars["SPACK_PIPELINE_TYPE"] == "spack_pull_request"
-def test_ci_generate_with_external_pkg(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+def test_ci_generate_with_external_pkg(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Make sure we do not generate jobs for external pkgs"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -672,45 +712,53 @@ spack:
tags:
- donotcare
image: donotcare
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
yaml_contents = syaml.load(f)
# Check that the "externaltool" package was not erroneously staged
- assert not any('externaltool' in key for key in yaml_contents)
+ assert not any("externaltool" in key for key in yaml_contents)
-@pytest.mark.xfail(reason='fails intermittently and covered by gitlab ci')
-def test_ci_rebuild(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages, monkeypatch,
- mock_gnupghome, mock_fetch, ci_base_environment,
- mock_binary_index):
- working_dir = tmpdir.join('working_dir')
+@pytest.mark.xfail(reason="fails intermittently and covered by gitlab ci")
+def test_ci_rebuild(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ monkeypatch,
+ mock_gnupghome,
+ mock_fetch,
+ ci_base_environment,
+ mock_binary_index,
+):
+ working_dir = tmpdir.join("working_dir")
- log_dir = os.path.join(working_dir.strpath, 'logs')
- repro_dir = os.path.join(working_dir.strpath, 'repro')
- env_dir = working_dir.join('concrete_env')
+ log_dir = os.path.join(working_dir.strpath, "logs")
+ repro_dir = os.path.join(working_dir.strpath, "repro")
+ env_dir = working_dir.join("concrete_env")
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
- 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'
+ 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'
+ 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')
+ signing_key_path = os.path.join(signing_key_dir, "package-signing-key")
with open(signing_key_path) as fd:
signing_key = fd.read()
@@ -737,15 +785,17 @@ spack:
url: https://my.fake.cdash
project: Not used
site: Nothing
-""".format(mirror_url, broken_specs_url, temp_storage_url)
+""".format(
+ mirror_url, broken_specs_url, temp_storage_url
+ )
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test') as env:
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test") as env:
with env.write_transaction():
env.concretize()
env.write()
@@ -753,99 +803,104 @@ spack:
if not os.path.exists(env_dir.strpath):
os.makedirs(env_dir.strpath)
- shutil.copyfile(env.manifest_path,
- os.path.join(env_dir.strpath, 'spack.yaml'))
- shutil.copyfile(env.lock_path,
- os.path.join(env_dir.strpath, 'spack.lock'))
+ shutil.copyfile(env.manifest_path, os.path.join(env_dir.strpath, "spack.yaml"))
+ shutil.copyfile(env.lock_path, os.path.join(env_dir.strpath, "spack.lock"))
root_spec_dag_hash = None
for h, s in env.specs_by_hash.items():
- if s.name == 'archive-files':
+ if s.name == "archive-files":
root_spec_dag_hash = h
assert root_spec_dag_hash
def fake_cdash_register(build_name, base_url, project, site, track):
- return ('fakebuildid', 'fakestamp')
+ return ("fakebuildid", "fakestamp")
- monkeypatch.setattr(spack.cmd.ci, 'CI_REBUILD_INSTALL_BASE_ARGS', [
- 'notcommand'
- ])
- monkeypatch.setattr(spack.cmd.ci, 'INSTALL_FAIL_CODE', 127)
+ 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', '.')
+ env_cmd("activate", "--without-view", "--sh", "-d", ".")
# Create environment variables as gitlab would do it
- os.environ.update({
- 'SPACK_ARTIFACTS_ROOT': working_dir.strpath,
- 'SPACK_JOB_LOG_DIR': log_dir,
- 'SPACK_JOB_REPRO_DIR': repro_dir,
- 'SPACK_LOCAL_MIRROR_DIR': mirror_dir.strpath,
- 'SPACK_CONCRETE_ENV_DIR': env_dir.strpath,
- 'CI_PIPELINE_ID': '7192',
- 'SPACK_SIGNING_KEY': signing_key,
- 'SPACK_ROOT_SPEC': root_spec_dag_hash,
- 'SPACK_JOB_SPEC_DAG_HASH': root_spec_dag_hash,
- 'SPACK_JOB_SPEC_PKG_NAME': 'archive-files',
- 'SPACK_COMPILER_ACTION': 'NONE',
- 'SPACK_CDASH_BUILD_NAME': '(specs) archive-files',
- 'SPACK_REMOTE_MIRROR_URL': mirror_url,
- 'SPACK_PIPELINE_TYPE': 'spack_protected_branch',
- 'CI_JOB_URL': ci_job_url,
- 'CI_PIPELINE_URL': ci_pipeline_url,
- })
-
- ci_cmd('rebuild', fail_on_error=False)
+ os.environ.update(
+ {
+ "SPACK_ARTIFACTS_ROOT": working_dir.strpath,
+ "SPACK_JOB_LOG_DIR": log_dir,
+ "SPACK_JOB_REPRO_DIR": repro_dir,
+ "SPACK_LOCAL_MIRROR_DIR": mirror_dir.strpath,
+ "SPACK_CONCRETE_ENV_DIR": env_dir.strpath,
+ "CI_PIPELINE_ID": "7192",
+ "SPACK_SIGNING_KEY": signing_key,
+ "SPACK_ROOT_SPEC": root_spec_dag_hash,
+ "SPACK_JOB_SPEC_DAG_HASH": root_spec_dag_hash,
+ "SPACK_JOB_SPEC_PKG_NAME": "archive-files",
+ "SPACK_COMPILER_ACTION": "NONE",
+ "SPACK_CDASH_BUILD_NAME": "(specs) archive-files",
+ "SPACK_REMOTE_MIRROR_URL": mirror_url,
+ "SPACK_PIPELINE_TYPE": "spack_protected_branch",
+ "CI_JOB_URL": ci_job_url,
+ "CI_PIPELINE_URL": ci_pipeline_url,
+ }
+ )
+
+ ci_cmd("rebuild", fail_on_error=False)
expected_repro_files = [
- 'install.sh',
- 'root.json',
- 'archive-files.json',
- 'spack.yaml',
- 'spack.lock'
+ "install.sh",
+ "root.json",
+ "archive-files.json",
+ "spack.yaml",
+ "spack.lock",
]
repro_files = os.listdir(repro_dir)
- assert(all([f in repro_files for f in expected_repro_files]))
+ assert all([f in repro_files for f in expected_repro_files])
- install_script_path = os.path.join(repro_dir, 'install.sh')
+ install_script_path = os.path.join(repro_dir, "install.sh")
install_line = None
with open(install_script_path) as fd:
for line in fd:
if line.startswith('"notcommand"'):
install_line = line
- assert(install_line)
+ assert install_line
def mystrip(s):
- return s.strip('"').rstrip('\n').rstrip('"')
+ return s.strip('"').rstrip("\n").rstrip('"')
- install_parts = [mystrip(s) for s in install_line.split(' ')]
+ install_parts = [mystrip(s) for s in install_line.split(" ")]
- assert('--keep-stage' in install_parts)
- assert('--no-check-signature' not in install_parts)
- assert('--no-add' in install_parts)
- assert('-f' in install_parts)
- flag_index = install_parts.index('-f')
- assert('archive-files.json' in install_parts[flag_index + 1])
+ assert "--keep-stage" in install_parts
+ assert "--no-check-signature" not in install_parts
+ assert "--no-add" in install_parts
+ assert "-f" in install_parts
+ flag_index = install_parts.index("-f")
+ assert "archive-files.json" in install_parts[flag_index + 1]
broken_spec_file = os.path.join(broken_specs_path, root_spec_dag_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
+ assert ci_job_url in broken_spec_content
+ assert (ci_pipeline_url) in broken_spec_content
- env_cmd('deactivate')
+ env_cmd("deactivate")
-def test_ci_nothing_to_rebuild(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages, monkeypatch,
- mock_fetch, ci_base_environment, mock_binary_index):
- working_dir = tmpdir.join('working_dir')
+def test_ci_nothing_to_rebuild(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ monkeypatch,
+ mock_fetch,
+ ci_base_environment,
+ mock_binary_index,
+):
+ working_dir = tmpdir.join("working_dir")
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
spack_yaml_contents = """
spack:
@@ -864,69 +919,79 @@ spack:
tags:
- donotcare
image: donotcare
-""".format(mirror_url)
+""".format(
+ mirror_url
+ )
- install_cmd('archive-files')
- buildcache_cmd('create', '-a', '-f', '-u', '--mirror-url',
- mirror_url, 'archive-files')
+ install_cmd("archive-files")
+ buildcache_cmd("create", "-a", "-f", "-u", "--mirror-url", mirror_url, "archive-files")
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test') as env:
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test") as env:
env.concretize()
root_spec_dag_hash = None
for h, s in env.specs_by_hash.items():
- if s.name == 'archive-files':
+ if s.name == "archive-files":
root_spec_dag_hash = h
# Create environment variables as gitlab would do it
- os.environ.update({
- 'SPACK_ARTIFACTS_ROOT': working_dir.strpath,
- 'SPACK_JOB_LOG_DIR': 'log_dir',
- 'SPACK_JOB_REPRO_DIR': 'repro_dir',
- 'SPACK_LOCAL_MIRROR_DIR': mirror_dir.strpath,
- 'SPACK_CONCRETE_ENV_DIR': tmpdir.strpath,
- 'SPACK_ROOT_SPEC': root_spec_dag_hash,
- 'SPACK_JOB_SPEC_DAG_HASH': root_spec_dag_hash,
- 'SPACK_JOB_SPEC_PKG_NAME': 'archive-files',
- 'SPACK_COMPILER_ACTION': 'NONE',
- 'SPACK_REMOTE_MIRROR_URL': mirror_url,
- })
+ os.environ.update(
+ {
+ "SPACK_ARTIFACTS_ROOT": working_dir.strpath,
+ "SPACK_JOB_LOG_DIR": "log_dir",
+ "SPACK_JOB_REPRO_DIR": "repro_dir",
+ "SPACK_LOCAL_MIRROR_DIR": mirror_dir.strpath,
+ "SPACK_CONCRETE_ENV_DIR": tmpdir.strpath,
+ "SPACK_ROOT_SPEC": root_spec_dag_hash,
+ "SPACK_JOB_SPEC_DAG_HASH": root_spec_dag_hash,
+ "SPACK_JOB_SPEC_PKG_NAME": "archive-files",
+ "SPACK_COMPILER_ACTION": "NONE",
+ "SPACK_REMOTE_MIRROR_URL": mirror_url,
+ }
+ )
def fake_dl_method(spec, *args, **kwargs):
- print('fake download buildcache {0}'.format(spec.name))
+ print("fake download buildcache {0}".format(spec.name))
- monkeypatch.setattr(
- spack.binary_distribution, 'download_single_spec', fake_dl_method)
+ monkeypatch.setattr(spack.binary_distribution, "download_single_spec", fake_dl_method)
- ci_out = ci_cmd('rebuild', output=str)
+ ci_out = ci_cmd("rebuild", output=str)
- assert('No need to rebuild archive-files' in ci_out)
- assert('fake download buildcache archive-files' in ci_out)
+ assert "No need to rebuild archive-files" in ci_out
+ assert "fake download buildcache archive-files" in ci_out
- env_cmd('deactivate')
+ env_cmd("deactivate")
-def test_ci_generate_mirror_override(tmpdir, mutable_mock_env_path,
- install_mockery_mutable_config, mock_packages,
- mock_fetch, mock_stage, mock_binary_index,
- ci_base_environment):
+def test_ci_generate_mirror_override(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_stage,
+ mock_binary_index,
+ ci_base_environment,
+):
"""Ensure that protected pipelines using --buildcache-destination do not
skip building specs that are not in the override mirror when they are
found in the main mirror."""
- os.environ.update({
- 'SPACK_PIPELINE_TYPE': 'spack_protected_branch',
- })
+ os.environ.update(
+ {
+ "SPACK_PIPELINE_TYPE": "spack_protected_branch",
+ }
+ )
- working_dir = tmpdir.join('working_dir')
+ working_dir = tmpdir.join("working_dir")
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
spack_yaml_contents = """
spack:
@@ -948,53 +1013,68 @@ spack:
tags:
- nonbuildtag
image: basicimage
-""".format(mirror_url)
+""".format(
+ mirror_url
+ )
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- first_ci_yaml = str(tmpdir.join('.gitlab-ci-1.yml'))
- second_ci_yaml = str(tmpdir.join('.gitlab-ci-2.yml'))
- with ev.read('test'):
+ env_cmd("create", "test", "./spack.yaml")
+ first_ci_yaml = str(tmpdir.join(".gitlab-ci-1.yml"))
+ second_ci_yaml = str(tmpdir.join(".gitlab-ci-2.yml"))
+ with ev.read("test"):
install_cmd()
- buildcache_cmd('create', '-u', '--mirror-url', mirror_url, 'patchelf')
- buildcache_cmd('update-index', '--mirror-url', mirror_url, output=str)
+ buildcache_cmd("create", "-u", "--mirror-url", mirror_url, "patchelf")
+ buildcache_cmd("update-index", "--mirror-url", mirror_url, output=str)
# This generate should not trigger a rebuild of patchelf, since it's in
# the main mirror referenced in the environment.
- ci_cmd('generate', '--check-index-only', '--output-file', first_ci_yaml)
+ ci_cmd("generate", "--check-index-only", "--output-file", first_ci_yaml)
# Because we used a mirror override (--buildcache-destination) on a
# spack protected pipeline, we expect to only look in the override
# mirror for the spec, and thus the patchelf job should be generated in
# this pipeline
- ci_cmd('generate', '--check-index-only', '--output-file', second_ci_yaml,
- '--buildcache-destination', 'file:///mirror/not/exist')
+ ci_cmd(
+ "generate",
+ "--check-index-only",
+ "--output-file",
+ second_ci_yaml,
+ "--buildcache-destination",
+ "file:///mirror/not/exist",
+ )
with open(first_ci_yaml) as fd1:
first_yaml = fd1.read()
- assert 'no-specs-to-rebuild' in first_yaml
+ assert "no-specs-to-rebuild" in first_yaml
with open(second_ci_yaml) as fd2:
second_yaml = fd2.read()
- assert 'no-specs-to-rebuild' not in second_yaml
+ assert "no-specs-to-rebuild" not in second_yaml
@pytest.mark.disable_clean_stage_check
-def test_push_mirror_contents(tmpdir, mutable_mock_env_path,
- install_mockery_mutable_config, mock_packages,
- mock_fetch, mock_stage, mock_gnupghome,
- ci_base_environment, mock_binary_index):
- working_dir = tmpdir.join('working_dir')
-
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+def test_push_mirror_contents(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_stage,
+ mock_gnupghome,
+ ci_base_environment,
+ mock_binary_index,
+):
+ working_dir = tmpdir.join("working_dir")
+
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
signing_key_dir = spack_paths.mock_gpg_keys_path
- signing_key_path = os.path.join(signing_key_dir, 'package-signing-key')
+ signing_key_path = os.path.join(signing_key_dir, "package-signing-key")
with open(signing_key_path) as fd:
signing_key = fd.read()
@@ -1021,51 +1101,51 @@ spack:
tags:
- nonbuildtag
image: basicimage
-""".format(mirror_url)
+""".format(
+ mirror_url
+ )
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test') as env:
- spec_map = ci.get_concrete_specs(
- env, 'patchelf', 'patchelf', 'FIND_ANY')
- concrete_spec = spec_map['patchelf']
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test") as env:
+ spec_map = ci.get_concrete_specs(env, "patchelf", "patchelf", "FIND_ANY")
+ concrete_spec = spec_map["patchelf"]
spec_json = concrete_spec.to_json(hash=ht.dag_hash)
- json_path = str(tmpdir.join('spec.json'))
- with open(json_path, 'w') as ypfd:
+ json_path = str(tmpdir.join("spec.json"))
+ with open(json_path, "w") as ypfd:
ypfd.write(spec_json)
- install_cmd('--keep-stage', json_path)
+ install_cmd("--keep-stage", json_path)
# env, spec, json_path, mirror_url, build_id, sign_binaries
ci.push_mirror_contents(env, json_path, mirror_url, True)
- buildcache_path = os.path.join(mirror_dir.strpath, 'build_cache')
+ buildcache_path = os.path.join(mirror_dir.strpath, "build_cache")
# Now test the --prune-dag (default) option of spack ci generate
- mirror_cmd('add', 'test-ci', mirror_url)
+ mirror_cmd("add", "test-ci", mirror_url)
- outputfile_pruned = str(tmpdir.join('pruned_pipeline.yml'))
- ci_cmd('generate', '--output-file', outputfile_pruned)
+ outputfile_pruned = str(tmpdir.join("pruned_pipeline.yml"))
+ ci_cmd("generate", "--output-file", outputfile_pruned)
with open(outputfile_pruned) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
- assert('no-specs-to-rebuild' in yaml_contents)
+ assert "no-specs-to-rebuild" in yaml_contents
# Make sure there are no other spec jobs or rebuild-index
- assert(len(yaml_contents.keys()) == 1)
- the_elt = yaml_contents['no-specs-to-rebuild']
- assert('tags' in the_elt)
- assert('nonbuildtag' in the_elt['tags'])
- assert('image' in the_elt)
- assert(the_elt['image'] == 'basicimage')
+ assert len(yaml_contents.keys()) == 1
+ the_elt = yaml_contents["no-specs-to-rebuild"]
+ assert "tags" in the_elt
+ assert "nonbuildtag" in the_elt["tags"]
+ assert "image" in the_elt
+ assert the_elt["image"] == "basicimage"
- outputfile_not_pruned = str(tmpdir.join('unpruned_pipeline.yml'))
- ci_cmd('generate', '--no-prune-dag', '--output-file',
- outputfile_not_pruned)
+ outputfile_not_pruned = str(tmpdir.join("unpruned_pipeline.yml"))
+ ci_cmd("generate", "--no-prune-dag", "--output-file", outputfile_not_pruned)
# Test the --no-prune-dag option of spack ci generate
with open(outputfile_not_pruned) as f:
@@ -1075,38 +1155,38 @@ spack:
found_spec_job = False
for ci_key in yaml_contents.keys():
- if '(specs) patchelf' in ci_key:
+ if "(specs) patchelf" in ci_key:
the_elt = yaml_contents[ci_key]
- assert('variables' in the_elt)
- job_vars = the_elt['variables']
- assert('SPACK_SPEC_NEEDS_REBUILD' in job_vars)
- assert(job_vars['SPACK_SPEC_NEEDS_REBUILD'] == 'False')
+ assert "variables" in the_elt
+ job_vars = the_elt["variables"]
+ assert "SPACK_SPEC_NEEDS_REBUILD" in job_vars
+ assert job_vars["SPACK_SPEC_NEEDS_REBUILD"] == "False"
found_spec_job = True
- assert(found_spec_job)
+ assert found_spec_job
- mirror_cmd('rm', 'test-ci')
+ mirror_cmd("rm", "test-ci")
# Test generating buildcache index while we have bin mirror
- buildcache_cmd('update-index', '--mirror-url', mirror_url)
- index_path = os.path.join(buildcache_path, 'index.json')
+ buildcache_cmd("update-index", "--mirror-url", mirror_url)
+ index_path = os.path.join(buildcache_path, "index.json")
with open(index_path) as idx_fd:
index_object = json.load(idx_fd)
validate(index_object, db_idx_schema)
# Now that index is regenerated, validate "buildcache list" output
- buildcache_list_output = buildcache_cmd('list', output=str)
- assert('patchelf' in buildcache_list_output)
+ buildcache_list_output = buildcache_cmd("list", output=str)
+ assert "patchelf" in buildcache_list_output
# Also test buildcache_spec schema
bc_files_list = os.listdir(buildcache_path)
for file_name in bc_files_list:
- if file_name.endswith('.spec.json.sig'):
+ if file_name.endswith(".spec.json.sig"):
spec_json_path = os.path.join(buildcache_path, file_name)
with open(spec_json_path) as json_fd:
json_object = Spec.extract_json_from_clearsig(json_fd.read())
validate(json_object, specfile_schema)
- logs_dir = working_dir.join('logs_dir')
+ logs_dir = working_dir.join("logs_dir")
if not os.path.exists(logs_dir.strpath):
os.makedirs(logs_dir.strpath)
@@ -1114,50 +1194,49 @@ spack:
logs_dir_list = os.listdir(logs_dir.strpath)
- assert('spack-build-out.txt' in logs_dir_list)
+ assert "spack-build-out.txt" in logs_dir_list
# Also just make sure that if something goes wrong with the
# stage logs copy, no exception is thrown
ci.copy_stage_logs_to_artifacts(None, logs_dir.strpath)
- dl_dir = working_dir.join('download_dir')
+ dl_dir = working_dir.join("download_dir")
if not os.path.exists(dl_dir.strpath):
os.makedirs(dl_dir.strpath)
- buildcache_cmd('download', '--spec-file', json_path, '--path',
- dl_dir.strpath)
+ buildcache_cmd("download", "--spec-file", json_path, "--path", dl_dir.strpath)
dl_dir_list = os.listdir(dl_dir.strpath)
- assert(len(dl_dir_list) == 2)
+ assert len(dl_dir_list) == 2
def test_push_mirror_contents_exceptions(monkeypatch, capsys):
def failing_access(*args, **kwargs):
- raise Exception('Error: Access Denied')
+ raise Exception("Error: Access Denied")
- monkeypatch.setattr(spack.ci, '_push_mirror_contents', failing_access)
+ monkeypatch.setattr(spack.ci, "_push_mirror_contents", failing_access)
# Input doesn't matter, as wwe are faking exceptional output
- url = 'fakejunk'
+ url = "fakejunk"
ci.push_mirror_contents(None, None, url, None)
captured = capsys.readouterr()
std_out = captured[0]
- expect_msg = 'Permission problem writing to {0}'.format(url)
+ expect_msg = "Permission problem writing to {0}".format(url)
assert expect_msg in std_out
-def test_ci_generate_override_runner_attrs(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+def test_ci_generate_override_runner_attrs(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Test that we get the behavior we want with respect to the provision
- of runner attributes like tags, variables, and scripts, both when we
- inherit them from the top level, as well as when we override one or
- more at the runner level"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ of runner attributes like tags, variables, and scripts, both when we
+ inherit them from the top level, as well as when we override one or
+ more at the runner level"""
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- flatten-deps
@@ -1205,96 +1284,94 @@ spack:
service-job-attributes:
image: donotcare
tags: [donotcare]
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- monkeypatch.setattr(
- spack.main, 'get_version', lambda: '0.15.3-416-12ad69eb1')
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ monkeypatch.setattr(spack.main, "get_version", lambda: "0.15.3-416-12ad69eb1")
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
- assert('variables' in yaml_contents)
- global_vars = yaml_contents['variables']
- assert('SPACK_VERSION' in global_vars)
- assert(global_vars['SPACK_VERSION'] == '0.15.3-416-12ad69eb1')
- assert('SPACK_CHECKOUT_VERSION' in global_vars)
- assert(global_vars['SPACK_CHECKOUT_VERSION'] == '12ad69eb1')
+ assert "variables" in yaml_contents
+ global_vars = yaml_contents["variables"]
+ assert "SPACK_VERSION" in global_vars
+ assert global_vars["SPACK_VERSION"] == "0.15.3-416-12ad69eb1"
+ assert "SPACK_CHECKOUT_VERSION" in global_vars
+ assert global_vars["SPACK_CHECKOUT_VERSION"] == "12ad69eb1"
for ci_key in yaml_contents.keys():
- if '(specs) b' in ci_key:
- assert(False)
- if '(specs) a' in ci_key:
+ if "(specs) b" in ci_key:
+ assert False
+ if "(specs) a" in ci_key:
# Make sure a's attributes override variables, and all the
# scripts. Also, make sure the 'toplevel' tag doesn't
# appear twice, but that a's specific extra tag does appear
the_elt = yaml_contents[ci_key]
- assert(the_elt['variables']['ONE'] == 'specificvarone')
- assert(the_elt['variables']['TWO'] == 'specificvartwo')
- assert('THREE' not in the_elt['variables'])
- assert(len(the_elt['tags']) == 2)
- assert('specific-a' in the_elt['tags'])
- assert('toplevel' in the_elt['tags'])
- assert(len(the_elt['before_script']) == 1)
- assert(the_elt['before_script'][0] ==
- 'custom pre step one')
- assert(len(the_elt['script']) == 1)
- assert(the_elt['script'][0] == 'custom main step')
- assert(len(the_elt['after_script']) == 1)
- assert(the_elt['after_script'][0] ==
- 'custom post step one')
- if '(specs) dependency-install' in ci_key:
+ assert the_elt["variables"]["ONE"] == "specificvarone"
+ assert the_elt["variables"]["TWO"] == "specificvartwo"
+ assert "THREE" not in the_elt["variables"]
+ assert len(the_elt["tags"]) == 2
+ assert "specific-a" in the_elt["tags"]
+ assert "toplevel" in the_elt["tags"]
+ assert len(the_elt["before_script"]) == 1
+ assert the_elt["before_script"][0] == "custom pre step one"
+ assert len(the_elt["script"]) == 1
+ assert the_elt["script"][0] == "custom main step"
+ assert len(the_elt["after_script"]) == 1
+ assert the_elt["after_script"][0] == "custom post step one"
+ if "(specs) dependency-install" in ci_key:
# Since the dependency-install match omits any
# runner-attributes, make sure it inherited all the
# top-level attributes.
the_elt = yaml_contents[ci_key]
- assert(the_elt['variables']['ONE'] == 'toplevelvarone')
- assert(the_elt['variables']['TWO'] == 'toplevelvartwo')
- assert('THREE' not in the_elt['variables'])
- assert(len(the_elt['tags']) == 1)
- assert(the_elt['tags'][0] == 'toplevel')
- assert(len(the_elt['before_script']) == 2)
- assert(the_elt['before_script'][0] == 'pre step one')
- assert(the_elt['before_script'][1] == 'pre step two')
- assert(len(the_elt['script']) == 1)
- assert(the_elt['script'][0] == 'main step')
- assert(len(the_elt['after_script']) == 1)
- assert(the_elt['after_script'][0] == 'post step one')
- if '(specs) flatten-deps' in ci_key:
+ assert the_elt["variables"]["ONE"] == "toplevelvarone"
+ assert the_elt["variables"]["TWO"] == "toplevelvartwo"
+ assert "THREE" not in the_elt["variables"]
+ assert len(the_elt["tags"]) == 1
+ assert the_elt["tags"][0] == "toplevel"
+ assert len(the_elt["before_script"]) == 2
+ assert the_elt["before_script"][0] == "pre step one"
+ assert the_elt["before_script"][1] == "pre step two"
+ assert len(the_elt["script"]) == 1
+ assert the_elt["script"][0] == "main step"
+ assert len(the_elt["after_script"]) == 1
+ assert the_elt["after_script"][0] == "post step one"
+ if "(specs) flatten-deps" in ci_key:
# The flatten-deps match specifies that we keep the two
# top level variables, but add a third specifc one. It
# also adds a custom tag which should be combined with
# the top-level tag.
the_elt = yaml_contents[ci_key]
- assert(the_elt['variables']['ONE'] == 'toplevelvarone')
- assert(the_elt['variables']['TWO'] == 'toplevelvartwo')
- assert(the_elt['variables']['THREE'] == 'specificvarthree')
- assert(len(the_elt['tags']) == 2)
- assert('specific-one' in the_elt['tags'])
- assert('toplevel' in the_elt['tags'])
- assert(len(the_elt['before_script']) == 2)
- assert(the_elt['before_script'][0] == 'pre step one')
- assert(the_elt['before_script'][1] == 'pre step two')
- assert(len(the_elt['script']) == 1)
- assert(the_elt['script'][0] == 'main step')
- assert(len(the_elt['after_script']) == 1)
- assert(the_elt['after_script'][0] == 'post step one')
-
-
-def test_ci_generate_with_workarounds(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+ assert the_elt["variables"]["ONE"] == "toplevelvarone"
+ assert the_elt["variables"]["TWO"] == "toplevelvartwo"
+ assert the_elt["variables"]["THREE"] == "specificvarthree"
+ assert len(the_elt["tags"]) == 2
+ assert "specific-one" in the_elt["tags"]
+ assert "toplevel" in the_elt["tags"]
+ assert len(the_elt["before_script"]) == 2
+ assert the_elt["before_script"][0] == "pre step one"
+ assert the_elt["before_script"][1] == "pre step two"
+ assert len(the_elt["script"]) == 1
+ assert the_elt["script"][0] == "main step"
+ assert len(the_elt["after_script"]) == 1
+ assert the_elt["after_script"][0] == "post step one"
+
+
+def test_ci_generate_with_workarounds(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Make sure the post-processing cli workarounds do what they should"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- callpath%gcc@3.0
@@ -1308,14 +1385,15 @@ spack:
- donotcare
image: donotcare
enable-artifacts-buildcache: true
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile, '--dependencies')
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile, "--dependencies")
with open(outputfile) as f:
contents = f.read()
@@ -1324,23 +1402,23 @@ spack:
found_one = False
for ci_key in yaml_contents.keys():
- if ci_key.startswith('(specs) '):
+ if ci_key.startswith("(specs) "):
found_one = True
job_obj = yaml_contents[ci_key]
- assert('needs' not in job_obj)
- assert('dependencies' in job_obj)
+ assert "needs" not in job_obj
+ assert "dependencies" in job_obj
- assert(found_one is True)
+ assert found_one is True
@pytest.mark.disable_clean_stage_check
-def test_ci_rebuild_index(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages, mock_fetch,
- mock_stage):
- working_dir = tmpdir.join('working_dir')
+def test_ci_rebuild_index(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, mock_fetch, mock_stage
+):
+ working_dir = tmpdir.join("working_dir")
- mirror_dir = working_dir.join('mirror')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = working_dir.join("mirror")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
spack_yaml_contents = """
spack:
@@ -1356,78 +1434,83 @@ spack:
tags:
- donotcare
image: donotcare
-""".format(mirror_url)
+""".format(
+ mirror_url
+ )
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test') as env:
- spec_map = ci.get_concrete_specs(
- env, 'callpath', 'callpath', 'FIND_ANY')
- concrete_spec = spec_map['callpath']
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test") as env:
+ spec_map = ci.get_concrete_specs(env, "callpath", "callpath", "FIND_ANY")
+ concrete_spec = spec_map["callpath"]
spec_json = concrete_spec.to_json(hash=ht.dag_hash)
- json_path = str(tmpdir.join('spec.json'))
- with open(json_path, 'w') as ypfd:
+ json_path = str(tmpdir.join("spec.json"))
+ with open(json_path, "w") as ypfd:
ypfd.write(spec_json)
- install_cmd('--keep-stage', '-f', json_path)
- buildcache_cmd('create', '-u', '-a', '-f', '--mirror-url',
- mirror_url, 'callpath')
- ci_cmd('rebuild-index')
+ install_cmd("--keep-stage", "-f", json_path)
+ buildcache_cmd("create", "-u", "-a", "-f", "--mirror-url", mirror_url, "callpath")
+ ci_cmd("rebuild-index")
- buildcache_path = os.path.join(mirror_dir.strpath, 'build_cache')
- index_path = os.path.join(buildcache_path, 'index.json')
+ buildcache_path = os.path.join(mirror_dir.strpath, "build_cache")
+ index_path = os.path.join(buildcache_path, "index.json")
with open(index_path) as idx_fd:
index_object = json.load(idx_fd)
validate(index_object, db_idx_schema)
def test_ci_generate_bootstrap_prune_dag(
- install_mockery_mutable_config, mock_packages, mock_fetch,
- mock_archive, mutable_config, monkeypatch, tmpdir,
- mutable_mock_env_path, ci_base_environment):
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_archive,
+ mutable_config,
+ monkeypatch,
+ tmpdir,
+ mutable_mock_env_path,
+ ci_base_environment,
+):
"""Test compiler bootstrapping with DAG pruning. Specifically, make
- sure that if we detect the bootstrapped compiler needs to be rebuilt,
- we ensure the spec we want to build with that compiler is scheduled
- for rebuild as well."""
+ sure that if we detect the bootstrapped compiler needs to be rebuilt,
+ we ensure the spec we want to build with that compiler is scheduled
+ for rebuild as well."""
# Create a temp mirror directory for buildcache usage
- mirror_dir = tmpdir.join('mirror_dir')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = tmpdir.join("mirror_dir")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
# Install a compiler, because we want to put it in a buildcache
- install_cmd('gcc@10.1.0%gcc@4.5.0')
+ install_cmd("gcc@10.1.0%gcc@4.5.0")
# Put installed compiler in the buildcache
- buildcache_cmd('create', '-u', '-a', '-f', '-d', mirror_dir.strpath,
- 'gcc@10.1.0%gcc@4.5.0')
+ buildcache_cmd("create", "-u", "-a", "-f", "-d", mirror_dir.strpath, "gcc@10.1.0%gcc@4.5.0")
# Now uninstall the compiler
- uninstall_cmd('-y', 'gcc@10.1.0%gcc@4.5.0')
+ uninstall_cmd("-y", "gcc@10.1.0%gcc@4.5.0")
- monkeypatch.setattr(spack.concretize.Concretizer,
- 'check_for_compiler_existence', False)
- spack.config.set('config:install_missing_compilers', True)
- assert CompilerSpec('gcc@10.1.0') not in compilers.all_compiler_specs()
+ monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False)
+ spack.config.set("config:install_missing_compilers", True)
+ assert CompilerSpec("gcc@10.1.0") not in compilers.all_compiler_specs()
# Configure the mirror where we put that buildcache w/ the compiler
- mirror_cmd('add', 'test-mirror', mirror_url)
+ mirror_cmd("add", "test-mirror", mirror_url)
- install_cmd('--no-check-signature', 'a%gcc@10.1.0')
+ install_cmd("--no-check-signature", "a%gcc@10.1.0")
# Put spec built with installed compiler in the buildcache
- buildcache_cmd('create', '-u', '-a', '-f', '-d', mirror_dir.strpath,
- 'a%gcc@10.1.0')
+ buildcache_cmd("create", "-u", "-a", "-f", "-d", mirror_dir.strpath, "a%gcc@10.1.0")
# Now uninstall the spec
- uninstall_cmd('-y', 'a%gcc@10.1.0')
+ uninstall_cmd("-y", "a%gcc@10.1.0")
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
definitions:
- bootstrap:
@@ -1451,28 +1534,32 @@ spack:
runner-attributes:
tags:
- meh
-""".format(mirror_url))
+""".format(
+ mirror_url
+ )
+ )
# Without this monkeypatch, pipeline generation process would think that
# nothing in the environment needs rebuilding. With the monkeypatch, the
# process sees the compiler as needing a rebuild, which should then result
# in the specs built with that compiler needing a rebuild too.
- def fake_get_mirrors_for_spec(spec=None, mirrors_to_check=None,
- index_only=False):
- if spec.name == 'gcc':
+ def fake_get_mirrors_for_spec(spec=None, mirrors_to_check=None, index_only=False):
+ if spec.name == "gcc":
return []
else:
- return [{
- 'spec': spec,
- 'mirror_url': mirror_url,
- }]
+ return [
+ {
+ "spec": spec,
+ "mirror_url": mirror_url,
+ }
+ ]
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as of:
yaml_contents = of.read()
@@ -1480,33 +1567,33 @@ spack:
# without the monkeypatch, everything appears up to date and no
# rebuild jobs are generated.
- assert(original_yaml_contents)
- assert('no-specs-to-rebuild' in original_yaml_contents)
+ assert original_yaml_contents
+ assert "no-specs-to-rebuild" in original_yaml_contents
- monkeypatch.setattr(spack.binary_distribution,
- 'get_mirrors_for_spec',
- fake_get_mirrors_for_spec)
+ monkeypatch.setattr(
+ spack.binary_distribution, "get_mirrors_for_spec", fake_get_mirrors_for_spec
+ )
- ci_cmd('generate', '--output-file', outputfile)
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as of:
yaml_contents = of.read()
new_yaml_contents = syaml.load(yaml_contents)
- assert(new_yaml_contents)
+ assert new_yaml_contents
# This 'needs' graph reflects that even though specs 'a' and 'b' do
# not otherwise need to be rebuilt (thanks to DAG pruning), they
# both end up in the generated pipeline because the compiler they
# depend on is bootstrapped, and *does* need to be rebuilt.
needs_graph = {
- '(bootstrap) gcc': [],
- '(specs) b': [
- '(bootstrap) gcc',
+ "(bootstrap) gcc": [],
+ "(specs) b": [
+ "(bootstrap) gcc",
],
- '(specs) a': [
- '(bootstrap) gcc',
- '(specs) b',
+ "(specs) a": [
+ "(bootstrap) gcc",
+ "(specs) b",
],
}
@@ -1516,22 +1603,25 @@ spack:
def test_ci_get_stack_changed(mock_git_repo, monkeypatch):
"""Test that we can detect the change to .gitlab-ci.yml in a
mock spack git repo."""
- monkeypatch.setattr(spack.paths, 'prefix', mock_git_repo)
- assert ci.get_stack_changed('/no/such/env/path') is True
+ monkeypatch.setattr(spack.paths, "prefix", mock_git_repo)
+ assert ci.get_stack_changed("/no/such/env/path") is True
-def test_ci_generate_prune_untouched(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages,
- ci_base_environment, monkeypatch):
+def test_ci_generate_prune_untouched(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, ci_base_environment, monkeypatch
+):
"""Test pipeline generation with pruning works to eliminate
- specs that were not affected by a change"""
- os.environ.update({
- 'SPACK_PRUNE_UNTOUCHED': 'TRUE', # enables pruning of untouched specs
- })
- mirror_url = 'https://my.fake.mirror'
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ specs that were not affected by a change"""
+ os.environ.update(
+ {
+ "SPACK_PRUNE_UNTOUCHED": "TRUE", # enables pruning of untouched specs
+ }
+ )
+ mirror_url = "https://my.fake.mirror"
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -1546,42 +1636,48 @@ spack:
tags:
- donotcare
image: donotcare
-""".format(mirror_url))
+""".format(
+ mirror_url
+ )
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
def fake_compute_affected(r1=None, r2=None):
- return ['libdwarf']
+ return ["libdwarf"]
- def fake_stack_changed(env_path, rev1='HEAD^', rev2='HEAD'):
+ def fake_stack_changed(env_path, rev1="HEAD^", rev2="HEAD"):
return False
- with ev.read('test'):
- monkeypatch.setattr(
- ci, 'compute_affected_packages', fake_compute_affected)
- monkeypatch.setattr(
- ci, 'get_stack_changed', fake_stack_changed)
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ monkeypatch.setattr(ci, "compute_affected_packages", fake_compute_affected)
+ monkeypatch.setattr(ci, "get_stack_changed", fake_stack_changed)
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
for ci_key in yaml_contents.keys():
- if 'archive-files' in ci_key or 'mpich' in ci_key:
- print('Error: archive-files and mpich should have been pruned')
- assert(False)
-
-
-def test_ci_subcommands_without_mirror(tmpdir, mutable_mock_env_path,
- mock_packages,
- install_mockery, ci_base_environment,
- mock_binary_index):
+ if "archive-files" in ci_key or "mpich" in ci_key:
+ print("Error: archive-files and mpich should have been pruned")
+ assert False
+
+
+def test_ci_subcommands_without_mirror(
+ tmpdir,
+ mutable_mock_env_path,
+ mock_packages,
+ install_mockery,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Make sure we catch if there is not a mirror and report an error"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -1593,23 +1689,25 @@ spack:
tags:
- donotcare
image: donotcare
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
+ with ev.read("test"):
# Check the 'generate' subcommand
- output = ci_cmd('generate', '--output-file', outputfile,
- output=str, fail_on_error=False)
- ex = 'spack ci generate requires an env containing a mirror'
- assert(ex in output)
+ output = ci_cmd(
+ "generate", "--output-file", outputfile, output=str, fail_on_error=False
+ )
+ ex = "spack ci generate requires an env containing a mirror"
+ assert ex in output
# Also check the 'rebuild-index' subcommand
- output = ci_cmd('rebuild-index', output=str, fail_on_error=False)
- ex = 'spack ci rebuild-index requires an env containing a mirror'
- assert(ex in output)
+ output = ci_cmd("rebuild-index", output=str, fail_on_error=False)
+ ex = "spack ci rebuild-index requires an env containing a mirror"
+ assert ex in output
def test_ensure_only_one_temporary_storage():
@@ -1626,12 +1724,14 @@ def test_ensure_only_one_temporary_storage():
- donotcare
"""
- enable_artifacts = 'enable-artifacts-buildcache: True'
- temp_storage = 'temporary-storage-url-prefix: file:///temp/mirror'
+ enable_artifacts = "enable-artifacts-buildcache: True"
+ temp_storage = "temporary-storage-url-prefix: file:///temp/mirror"
specify_both = """{0}
{1}
-""".format(enable_artifacts, temp_storage)
- specify_neither = ''
+""".format(
+ enable_artifacts, temp_storage
+ )
+ specify_neither = ""
# User can specify "enable-artifacts-buildcache" (boolean)
yaml_obj = syaml.load(gitlab_ci_template.format(enable_artifacts))
@@ -1652,14 +1752,20 @@ def test_ensure_only_one_temporary_storage():
validate(yaml_obj, gitlab_ci_schema)
-def test_ci_generate_temp_storage_url(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment, mock_binary_index):
+def test_ci_generate_temp_storage_url(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ monkeypatch,
+ ci_base_environment,
+ mock_binary_index,
+):
"""Verify correct behavior when using temporary-storage-url-prefix"""
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -1674,58 +1780,59 @@ spack:
tags:
- donotcare
image: donotcare
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as of:
pipeline_doc = syaml.load(of.read())
- assert('cleanup' in pipeline_doc)
- cleanup_job = pipeline_doc['cleanup']
+ assert "cleanup" in pipeline_doc
+ cleanup_job = pipeline_doc["cleanup"]
- assert('script' in cleanup_job)
- cleanup_task = cleanup_job['script'][0]
+ assert "script" in cleanup_job
+ cleanup_task = cleanup_job["script"][0]
- assert(cleanup_task.startswith('spack -d mirror destroy'))
+ assert cleanup_task.startswith("spack -d mirror destroy")
- assert('stages' in pipeline_doc)
- stages = pipeline_doc['stages']
+ assert "stages" in pipeline_doc
+ stages = pipeline_doc["stages"]
# Cleanup job should be 2nd to last, just before rebuild-index
- assert('stage' in cleanup_job)
- assert(cleanup_job['stage'] == stages[-2])
+ assert "stage" in cleanup_job
+ assert cleanup_job["stage"] == stages[-2]
-def test_ci_generate_read_broken_specs_url(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+def test_ci_generate_read_broken_specs_url(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Verify that `broken-specs-url` works as intended"""
- spec_a = Spec('a')
+ spec_a = Spec("a")
spec_a.concretize()
a_dag_hash = spec_a.dag_hash()
- spec_flattendeps = Spec('flatten-deps')
+ spec_flattendeps = Spec("flatten-deps")
spec_flattendeps.concretize()
flattendeps_dag_hash = spec_flattendeps.dag_hash()
# Mark 'a' as broken (but not 'flatten-deps')
broken_spec_a_path = str(tmpdir.join(a_dag_hash))
- with open(broken_spec_a_path, 'w') as bsf:
- bsf.write('')
+ with open(broken_spec_a_path, "w") as bsf:
+ bsf.write("")
- broken_specs_url = 'file://{0}'.format(tmpdir.strpath)
+ broken_specs_url = "file://{0}".format(tmpdir.strpath)
# Test that `spack ci generate` notices this broken spec and fails.
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- flatten-deps
@@ -1744,35 +1851,36 @@ spack:
tags:
- donotcare
image: donotcare
-""".format(broken_specs_url))
+""".format(
+ broken_specs_url
+ )
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test"):
# Check output of the 'generate' subcommand
- output = ci_cmd('generate', output=str, fail_on_error=False)
- assert('known to be broken' in output)
+ output = ci_cmd("generate", output=str, fail_on_error=False)
+ assert "known to be broken" in output
- ex = '({0})'.format(a_dag_hash)
- assert(ex in output)
+ ex = "({0})".format(a_dag_hash)
+ assert ex in output
- ex = '({0})'.format(flattendeps_dag_hash)
- assert(ex not in output)
+ ex = "({0})".format(flattendeps_dag_hash)
+ assert ex not in output
-def test_ci_generate_external_signing_job(tmpdir, mutable_mock_env_path,
- install_mockery,
- mock_packages, monkeypatch,
- ci_base_environment):
+def test_ci_generate_external_signing_job(
+ tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, ci_base_environment
+):
"""Verify that in external signing mode: 1) each rebuild jobs includes
the location where the binary hash information is written and 2) we
properly generate a final signing job in the pipeline."""
- os.environ.update({
- 'SPACK_PIPELINE_TYPE': 'spack_protected_branch'
- })
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ os.environ.update({"SPACK_PIPELINE_TYPE": "spack_protected_branch"})
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
spack:
specs:
- archive-files
@@ -1798,31 +1906,39 @@ spack:
IMPORTANT_INFO: avalue
script:
- echo hello
-""")
+"""
+ )
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- outputfile = str(tmpdir.join('.gitlab-ci.yml'))
+ env_cmd("create", "test", "./spack.yaml")
+ outputfile = str(tmpdir.join(".gitlab-ci.yml"))
- with ev.read('test'):
- ci_cmd('generate', '--output-file', outputfile)
+ with ev.read("test"):
+ ci_cmd("generate", "--output-file", outputfile)
with open(outputfile) as of:
pipeline_doc = syaml.load(of.read())
- assert 'sign-pkgs' in pipeline_doc
- signing_job = pipeline_doc['sign-pkgs']
- assert 'tags' in signing_job
- signing_job_tags = signing_job['tags']
- for expected_tag in ['notary', 'protected', 'aws']:
+ assert "sign-pkgs" in pipeline_doc
+ signing_job = pipeline_doc["sign-pkgs"]
+ assert "tags" in signing_job
+ signing_job_tags = signing_job["tags"]
+ for expected_tag in ["notary", "protected", "aws"]:
assert expected_tag in signing_job_tags
-def test_ci_reproduce(tmpdir, mutable_mock_env_path,
- install_mockery, mock_packages, monkeypatch,
- last_two_git_commits, ci_base_environment, mock_binary_index):
- working_dir = tmpdir.join('repro_dir')
- image_name = 'org/image:tag'
+def test_ci_reproduce(
+ tmpdir,
+ mutable_mock_env_path,
+ install_mockery,
+ mock_packages,
+ monkeypatch,
+ last_two_git_commits,
+ ci_base_environment,
+ mock_binary_index,
+):
+ working_dir = tmpdir.join("repro_dir")
+ image_name = "org/image:tag"
spack_yaml_contents = """
spack:
@@ -1840,15 +1956,17 @@ spack:
tags:
- donotcare
image: {0}
-""".format(image_name)
+""".format(
+ image_name
+ )
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
- env_cmd('create', 'test', './spack.yaml')
- with ev.read('test') as env:
+ env_cmd("create", "test", "./spack.yaml")
+ with ev.read("test") as env:
with env.write_transaction():
env.concretize()
env.write()
@@ -1856,69 +1974,65 @@ spack:
if not os.path.exists(working_dir.strpath):
os.makedirs(working_dir.strpath)
- shutil.copyfile(env.manifest_path,
- os.path.join(working_dir.strpath, 'spack.yaml'))
- shutil.copyfile(env.lock_path,
- os.path.join(working_dir.strpath, 'spack.lock'))
+ shutil.copyfile(env.manifest_path, os.path.join(working_dir.strpath, "spack.yaml"))
+ shutil.copyfile(env.lock_path, os.path.join(working_dir.strpath, "spack.lock"))
root_spec = None
job_spec = None
for h, s in env.specs_by_hash.items():
- if s.name == 'archive-files':
+ if s.name == "archive-files":
root_spec = s
job_spec = s
- job_spec_json_path = os.path.join(
- working_dir.strpath, 'archivefiles.json')
- with open(job_spec_json_path, 'w') as fd:
+ job_spec_json_path = os.path.join(working_dir.strpath, "archivefiles.json")
+ with open(job_spec_json_path, "w") as fd:
fd.write(job_spec.to_json(hash=ht.dag_hash))
- root_spec_json_path = os.path.join(
- working_dir.strpath, 'root.json')
- with open(root_spec_json_path, 'w') as fd:
+ root_spec_json_path = os.path.join(working_dir.strpath, "root.json")
+ with open(root_spec_json_path, "w") as fd:
fd.write(root_spec.to_json(hash=ht.dag_hash))
- artifacts_root = os.path.join(working_dir.strpath, 'scratch_dir')
- pipeline_path = os.path.join(artifacts_root, 'pipeline.yml')
+ artifacts_root = os.path.join(working_dir.strpath, "scratch_dir")
+ pipeline_path = os.path.join(artifacts_root, "pipeline.yml")
- ci_cmd('generate', '--output-file', pipeline_path,
- '--artifacts-root', artifacts_root)
+ ci_cmd("generate", "--output-file", pipeline_path, "--artifacts-root", artifacts_root)
- job_name = ci.get_job_name(
- 'specs', False, job_spec, 'test-debian6-core2', None)
+ job_name = ci.get_job_name("specs", False, job_spec, "test-debian6-core2", None)
- repro_file = os.path.join(working_dir.strpath, 'repro.json')
+ repro_file = os.path.join(working_dir.strpath, "repro.json")
repro_details = {
- 'job_name': job_name,
- 'job_spec_json': 'archivefiles.json',
- 'root_spec_json': 'root.json',
- 'ci_project_dir': working_dir.strpath
+ "job_name": job_name,
+ "job_spec_json": "archivefiles.json",
+ "root_spec_json": "root.json",
+ "ci_project_dir": working_dir.strpath,
}
- with open(repro_file, 'w') as fd:
+ with open(repro_file, "w") as fd:
fd.write(json.dumps(repro_details))
- install_script = os.path.join(working_dir.strpath, 'install.sh')
- with open(install_script, 'w') as fd:
- fd.write('#!/bin/bash\n\n#fake install\nspack install blah\n')
+ install_script = os.path.join(working_dir.strpath, "install.sh")
+ with open(install_script, "w") as fd:
+ fd.write("#!/bin/bash\n\n#fake install\nspack install blah\n")
- spack_info_file = os.path.join(
- working_dir.strpath, 'spack_info.txt')
- with open(spack_info_file, 'w') as fd:
- fd.write('\nMerge {0} into {1}\n\n'.format(
- last_two_git_commits[1], last_two_git_commits[0]))
+ spack_info_file = os.path.join(working_dir.strpath, "spack_info.txt")
+ with open(spack_info_file, "w") as fd:
+ fd.write(
+ "\nMerge {0} into {1}\n\n".format(
+ last_two_git_commits[1], last_two_git_commits[0]
+ )
+ )
def fake_download_and_extract_artifacts(url, work_dir):
pass
- monkeypatch.setattr(ci, 'download_and_extract_artifacts',
- fake_download_and_extract_artifacts)
- rep_out = ci_cmd('reproduce-build',
- 'https://some.domain/api/v1/projects/1/jobs/2/artifacts',
- '--working-dir',
- working_dir.strpath,
- output=str)
- expect_out = 'docker run --rm -v {0}:{0} -ti {1}'.format(
- working_dir.strpath, image_name)
-
- assert(expect_out in rep_out)
+ monkeypatch.setattr(ci, "download_and_extract_artifacts", fake_download_and_extract_artifacts)
+ rep_out = ci_cmd(
+ "reproduce-build",
+ "https://some.domain/api/v1/projects/1/jobs/2/artifacts",
+ "--working-dir",
+ working_dir.strpath,
+ output=str,
+ )
+ expect_out = "docker run --rm -v {0}:{0} -ti {1}".format(working_dir.strpath, image_name)
+
+ assert expect_out in rep_out
diff --git a/lib/spack/spack/test/cmd/clean.py b/lib/spack/spack/test/cmd/clean.py
index 39b4dc3cd9..da7a8672f7 100644
--- a/lib/spack/spack/test/cmd/clean.py
+++ b/lib/spack/spack/test/cmd/clean.py
@@ -15,10 +15,9 @@ import spack.main
import spack.package_base
import spack.stage
-clean = spack.main.SpackCommand('clean')
+clean = spack.main.SpackCommand("clean")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture()
@@ -34,38 +33,33 @@ def mock_calls_for_clean(monkeypatch):
def __call__(self, *args, **kwargs):
counts[self.name] += 1
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_clean',
- Counter('package'))
- monkeypatch.setattr(spack.stage, 'purge', Counter('stages'))
- monkeypatch.setattr(
- spack.caches.fetch_cache, 'destroy', Counter('downloads'),
- raising=False)
- monkeypatch.setattr(
- spack.caches.misc_cache, 'destroy', Counter('caches'))
- monkeypatch.setattr(
- spack.installer, 'clear_failures', Counter('failures'))
- monkeypatch.setattr(spack.cmd.clean, 'remove_python_cache',
- Counter('python_cache'))
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_clean", Counter("package"))
+ monkeypatch.setattr(spack.stage, "purge", Counter("stages"))
+ monkeypatch.setattr(spack.caches.fetch_cache, "destroy", Counter("downloads"), raising=False)
+ monkeypatch.setattr(spack.caches.misc_cache, "destroy", Counter("caches"))
+ monkeypatch.setattr(spack.installer, "clear_failures", Counter("failures"))
+ monkeypatch.setattr(spack.cmd.clean, "remove_python_cache", Counter("python_cache"))
yield counts
-all_effects = ['stages', 'downloads', 'caches', 'failures', 'python_cache']
+all_effects = ["stages", "downloads", "caches", "failures", "python_cache"]
-@pytest.mark.usefixtures(
- 'mock_packages', 'config'
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "command_line,effects",
+ [
+ ("mpileaks", ["package"]),
+ ("-s", ["stages"]),
+ ("-sd", ["stages", "downloads"]),
+ ("-m", ["caches"]),
+ ("-f", ["failures"]),
+ ("-p", ["python_cache"]),
+ ("-a", all_effects),
+ ("", []),
+ ],
)
-@pytest.mark.parametrize('command_line,effects', [
- ('mpileaks', ['package']),
- ('-s', ['stages']),
- ('-sd', ['stages', 'downloads']),
- ('-m', ['caches']),
- ('-f', ['failures']),
- ('-p', ['python_cache']),
- ('-a', all_effects),
- ('', []),
-])
def test_function_calls(command_line, effects, mock_calls_for_clean):
# Call the command with the supplied command line
@@ -73,17 +67,17 @@ def test_function_calls(command_line, effects, mock_calls_for_clean):
# Assert that we called the expected functions the correct
# number of times
- for name in ['package'] + all_effects:
+ for name in ["package"] + all_effects:
assert mock_calls_for_clean[name] == (1 if name in effects else 0)
def test_remove_python_cache(tmpdir, monkeypatch):
- cache_files = ['file1.pyo', 'file2.pyc']
- source_file = 'file1.py'
+ cache_files = ["file1.pyo", "file2.pyc"]
+ source_file = "file1.py"
def _setup_files(directory):
# Create a python cache and source file.
- cache_dir = fs.join_path(directory, '__pycache__')
+ cache_dir = fs.join_path(directory, "__pycache__")
fs.mkdirp(cache_dir)
fs.touch(fs.join_path(directory, source_file))
fs.touch(fs.join_path(directory, cache_files[0]))
@@ -96,10 +90,10 @@ def test_remove_python_cache(tmpdir, monkeypatch):
# and the source file is not.
assert os.path.exists(fs.join_path(directory, source_file))
assert not os.path.exists(fs.join_path(directory, cache_files[0]))
- assert not os.path.exists(fs.join_path(directory, '__pycache__'))
+ assert not os.path.exists(fs.join_path(directory, "__pycache__"))
- source_dir = fs.join_path(tmpdir, 'lib', 'spack', 'spack')
- var_dir = fs.join_path(tmpdir, 'var', 'spack', 'stuff')
+ source_dir = fs.join_path(tmpdir, "lib", "spack", "spack")
+ var_dir = fs.join_path(tmpdir, "var", "spack", "stuff")
for d in [source_dir, var_dir]:
_setup_files(d)
diff --git a/lib/spack/spack/test/cmd/commands.py b/lib/spack/spack/test/cmd/commands.py
index bec6cba729..23794a6bb0 100644
--- a/lib/spack/spack/test/cmd/commands.py
+++ b/lib/spack/spack/test/cmd/commands.py
@@ -16,7 +16,7 @@ import spack.main
import spack.paths
from spack.cmd.commands import _positional_to_subroutine
-commands = spack.main.SpackCommand('commands')
+commands = spack.main.SpackCommand("commands")
parser = spack.main.make_argument_parser()
spack.main.add_all_commands(parser)
@@ -24,116 +24,118 @@ spack.main.add_all_commands(parser)
def test_names():
"""Test default output of spack commands."""
- out1 = commands().strip().split('\n')
+ out1 = commands().strip().split("\n")
assert out1 == spack.cmd.all_commands()
- assert 'rm' not in out1
+ assert "rm" not in out1
- out2 = commands('--aliases').strip().split('\n')
+ out2 = commands("--aliases").strip().split("\n")
assert out1 != out2
- assert 'rm' in out2
+ assert "rm" in out2
- out3 = commands('--format=names').strip().split('\n')
+ out3 = commands("--format=names").strip().split("\n")
assert out1 == out3
def test_subcommands():
"""Test subcommand traversal."""
- out1 = commands('--format=subcommands')
- assert 'spack mirror create' in out1
- assert 'spack buildcache list' in out1
- assert 'spack repo add' in out1
- assert 'spack pkg diff' in out1
- assert 'spack url parse' in out1
- assert 'spack view symlink' in out1
- assert 'spack rm' not in out1
- assert 'spack compiler add' not in out1
-
- out2 = commands('--aliases', '--format=subcommands')
- assert 'spack mirror create' in out2
- assert 'spack buildcache list' in out2
- assert 'spack repo add' in out2
- assert 'spack pkg diff' in out2
- assert 'spack url parse' in out2
- assert 'spack view symlink' in out2
- assert 'spack rm' in out2
- assert 'spack compiler add' in out2
+ out1 = commands("--format=subcommands")
+ assert "spack mirror create" in out1
+ assert "spack buildcache list" in out1
+ assert "spack repo add" in out1
+ assert "spack pkg diff" in out1
+ assert "spack url parse" in out1
+ assert "spack view symlink" in out1
+ assert "spack rm" not in out1
+ assert "spack compiler add" not in out1
+
+ out2 = commands("--aliases", "--format=subcommands")
+ assert "spack mirror create" in out2
+ assert "spack buildcache list" in out2
+ assert "spack repo add" in out2
+ assert "spack pkg diff" in out2
+ assert "spack url parse" in out2
+ assert "spack view symlink" in out2
+ assert "spack rm" in out2
+ assert "spack compiler add" in out2
def test_rst():
"""Do some simple sanity checks of the rst writer."""
- out1 = commands('--format=rst')
- assert 'spack mirror create' in out1
- assert 'spack buildcache list' in out1
- assert 'spack repo add' in out1
- assert 'spack pkg diff' in out1
- assert 'spack url parse' in out1
- assert 'spack view symlink' in out1
- assert 'spack rm' not in out1
- assert 'spack compiler add' not in out1
-
- out2 = commands('--aliases', '--format=rst')
- assert 'spack mirror create' in out2
- assert 'spack buildcache list' in out2
- assert 'spack repo add' in out2
- assert 'spack pkg diff' in out2
- assert 'spack url parse' in out2
- assert 'spack view symlink' in out2
- assert 'spack rm' in out2
- assert 'spack compiler add' in out2
+ out1 = commands("--format=rst")
+ assert "spack mirror create" in out1
+ assert "spack buildcache list" in out1
+ assert "spack repo add" in out1
+ assert "spack pkg diff" in out1
+ assert "spack url parse" in out1
+ assert "spack view symlink" in out1
+ assert "spack rm" not in out1
+ assert "spack compiler add" not in out1
+
+ out2 = commands("--aliases", "--format=rst")
+ assert "spack mirror create" in out2
+ assert "spack buildcache list" in out2
+ assert "spack repo add" in out2
+ assert "spack pkg diff" in out2
+ assert "spack url parse" in out2
+ assert "spack view symlink" in out2
+ assert "spack rm" in out2
+ assert "spack compiler add" in out2
def test_rst_with_input_files(tmpdir):
- filename = tmpdir.join('file.rst')
- with filename.open('w') as f:
- f.write('''
+ filename = tmpdir.join("file.rst")
+ with filename.open("w") as f:
+ f.write(
+ """
.. _cmd-spack-fetch:
cmd-spack-list:
.. _cmd-spack-stage:
_cmd-spack-install:
.. _cmd-spack-patch:
-''')
+"""
+ )
- out = commands('--format=rst', str(filename))
- for name in ['fetch', 'stage', 'patch']:
- assert (':ref:`More documentation <cmd-spack-%s>`' % name) in out
+ out = commands("--format=rst", str(filename))
+ for name in ["fetch", "stage", "patch"]:
+ assert (":ref:`More documentation <cmd-spack-%s>`" % name) in out
- for name in ['list', 'install']:
- assert (':ref:`More documentation <cmd-spack-%s>`' % name) not in out
+ for name in ["list", "install"]:
+ assert (":ref:`More documentation <cmd-spack-%s>`" % name) not in out
def test_rst_with_header(tmpdir):
- fake_header = 'this is a header!\n\n'
+ fake_header = "this is a header!\n\n"
- filename = tmpdir.join('header.txt')
- with filename.open('w') as f:
+ filename = tmpdir.join("header.txt")
+ with filename.open("w") as f:
f.write(fake_header)
- out = commands('--format=rst', '--header', str(filename))
+ out = commands("--format=rst", "--header", str(filename))
assert out.startswith(fake_header)
with pytest.raises(spack.main.SpackCommandError):
- commands('--format=rst', '--header', 'asdfjhkf')
+ commands("--format=rst", "--header", "asdfjhkf")
def test_rst_update(tmpdir):
- update_file = tmpdir.join('output')
+ update_file = tmpdir.join("output")
- commands('--update', str(update_file))
+ commands("--update", str(update_file))
assert update_file.exists()
def test_update_with_header(tmpdir):
- update_file = tmpdir.join('output')
+ update_file = tmpdir.join("output")
- commands('--update', str(update_file))
+ commands("--update", str(update_file))
assert update_file.exists()
- fake_header = 'this is a header!\n\n'
+ fake_header = "this is a header!\n\n"
- filename = tmpdir.join('header.txt')
- with filename.open('w') as f:
+ filename = tmpdir.join("header.txt")
+ with filename.open("w") as f:
f.write(fake_header)
- commands('--update', str(update_file), '--header', str(filename))
+ commands("--update", str(update_file), "--header", str(filename))
@pytest.mark.xfail
@@ -141,45 +143,45 @@ def test_no_pipe_error():
"""Make sure we don't see any pipe errors when piping output."""
proc = subprocess.Popen(
- ['spack', 'commands', '--format=rst'],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ ["spack", "commands", "--format=rst"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
+ )
# Call close() on stdout to cause a broken pipe
proc.stdout.close()
proc.wait()
- stderr = proc.stderr.read().decode('utf-8')
+ stderr = proc.stderr.read().decode("utf-8")
- assert 'Broken pipe' not in stderr
+ assert "Broken pipe" not in stderr
def test_bash_completion():
"""Test the bash completion writer."""
- out1 = commands('--format=bash')
+ out1 = commands("--format=bash")
# Make sure header not included
- assert '_bash_completion_spack() {' not in out1
- assert '_all_packages() {' not in out1
+ assert "_bash_completion_spack() {" not in out1
+ assert "_all_packages() {" not in out1
# Make sure subcommands appear
- assert '_spack_remove() {' in out1
- assert '_spack_compiler_find() {' in out1
+ assert "_spack_remove() {" in out1
+ assert "_spack_compiler_find() {" in out1
# Make sure aliases don't appear
- assert '_spack_rm() {' not in out1
- assert '_spack_compiler_add() {' not in out1
+ assert "_spack_rm() {" not in out1
+ assert "_spack_compiler_add() {" not in out1
# Make sure options appear
- assert '-h --help' in out1
+ assert "-h --help" in out1
# Make sure subcommands are called
for function in _positional_to_subroutine.values():
assert function in out1
- out2 = commands('--aliases', '--format=bash')
+ out2 = commands("--aliases", "--format=bash")
# Make sure aliases appear
- assert '_spack_rm() {' in out2
- assert '_spack_compiler_add() {' in out2
+ assert "_spack_rm() {" in out2
+ assert "_spack_compiler_add() {" in out2
def test_update_completion_arg(tmpdir, monkeypatch):
@@ -187,7 +189,7 @@ def test_update_completion_arg(tmpdir, monkeypatch):
mock_bashfile = tmpdir.join("spack-completion.bash")
mock_args = {
- "bash": {
+ "bash": {
"aliases": True,
"format": "bash",
"header": str(mock_infile),
@@ -197,14 +199,13 @@ def test_update_completion_arg(tmpdir, monkeypatch):
# make a mock completion file missing the --update-completion argument
real_args = spack.cmd.commands.update_completion_args
- shutil.copy(real_args['bash']['header'], mock_args['bash']['header'])
- with open(real_args['bash']['update']) as old:
+ shutil.copy(real_args["bash"]["header"], mock_args["bash"]["header"])
+ with open(real_args["bash"]["update"]) as old:
old_file = old.read()
- with open(mock_args['bash']['update'], 'w') as mock:
+ with open(mock_args["bash"]["update"], "w") as mock:
mock.write(old_file.replace("--update-completion", ""))
- monkeypatch.setattr(
- spack.cmd.commands, 'update_completion_args', mock_args)
+ monkeypatch.setattr(spack.cmd.commands, "update_completion_args", mock_args)
# ensure things fail if --update-completion isn't specified alone
with pytest.raises(spack.main.SpackCommandError):
@@ -217,24 +218,25 @@ def test_update_completion_arg(tmpdir, monkeypatch):
# Note: this test is never expected to be supported on Windows
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="bash completion script generator fails on windows")
+@pytest.mark.skipif(
+ sys.platform == "win32", reason="bash completion script generator fails on windows"
+)
def test_updated_completion_scripts(tmpdir):
"""Make sure our shell tab completion scripts remain up-to-date."""
- msg = ("It looks like Spack's command-line interface has been modified. "
- "Please update Spack's shell tab completion scripts by running:\n\n"
- " spack commands --update-completion\n\n"
- "and adding the changed files to your pull request.")
+ msg = (
+ "It looks like Spack's command-line interface has been modified. "
+ "Please update Spack's shell tab completion scripts by running:\n\n"
+ " spack commands --update-completion\n\n"
+ "and adding the changed files to your pull request."
+ )
- for shell in ['bash']: # 'zsh', 'fish']:
- header = os.path.join(
- spack.paths.share_path, shell, 'spack-completion.in')
- script = 'spack-completion.{0}'.format(shell)
+ for shell in ["bash"]: # 'zsh', 'fish']:
+ header = os.path.join(spack.paths.share_path, shell, "spack-completion.in")
+ script = "spack-completion.{0}".format(shell)
old_script = os.path.join(spack.paths.share_path, script)
new_script = str(tmpdir.join(script))
- commands('--aliases', '--format', shell,
- '--header', header, '--update', new_script)
+ commands("--aliases", "--format", shell, "--header", header, "--update", new_script)
assert filecmp.cmp(old_script, new_script), msg
diff --git a/lib/spack/spack/test/cmd/common/arguments.py b/lib/spack/spack/test/cmd/common/arguments.py
index c527cc074a..58bf8e0ac5 100644
--- a/lib/spack/spack/test/cmd/common/arguments.py
+++ b/lib/spack/spack/test/cmd/common/arguments.py
@@ -19,51 +19,54 @@ def job_parser():
# --jobs needs to write to a command_line config scope, so this is the only
# scope we create.
p = argparse.ArgumentParser()
- arguments.add_common_arguments(p, ['jobs'])
- scopes = [spack.config.InternalConfigScope('command_line', {'config': {}})]
+ arguments.add_common_arguments(p, ["jobs"])
+ scopes = [spack.config.InternalConfigScope("command_line", {"config": {}})]
with spack.config.use_configuration(*scopes):
yield p
def test_setting_jobs_flag(job_parser):
- namespace = job_parser.parse_args(['-j', '24'])
+ namespace = job_parser.parse_args(["-j", "24"])
assert namespace.jobs == 24
- assert spack.config.get('config:build_jobs', scope='command_line') == 24
+ assert spack.config.get("config:build_jobs", scope="command_line") == 24
def test_omitted_job_flag(job_parser):
namespace = job_parser.parse_args([])
assert namespace.jobs is None
- assert spack.config.get('config:build_jobs') is None
+ assert spack.config.get("config:build_jobs") is None
def test_negative_integers_not_allowed_for_parallel_jobs(job_parser):
with pytest.raises(ValueError) as exc_info:
- job_parser.parse_args(['-j', '-2'])
+ job_parser.parse_args(["-j", "-2"])
- assert 'expected a positive integer' in str(exc_info.value)
+ assert "expected a positive integer" in str(exc_info.value)
-@pytest.mark.parametrize('specs,cflags,negated_variants', [
- (['coreutils cflags="-O3 -g"'], ['-O3', '-g'], []),
- (['coreutils', 'cflags=-O3 -g'], ['-O3'], ['g']),
- (['coreutils', 'cflags=-O3', '-g'], ['-O3'], ['g']),
-])
-@pytest.mark.regression('12951')
+@pytest.mark.parametrize(
+ "specs,cflags,negated_variants",
+ [
+ (['coreutils cflags="-O3 -g"'], ["-O3", "-g"], []),
+ (["coreutils", "cflags=-O3 -g"], ["-O3"], ["g"]),
+ (["coreutils", "cflags=-O3", "-g"], ["-O3"], ["g"]),
+ ],
+)
+@pytest.mark.regression("12951")
def test_parse_spec_flags_with_spaces(specs, cflags, negated_variants):
spec_list = spack.cmd.parse_specs(specs)
assert len(spec_list) == 1
s = spec_list.pop()
- assert s.compiler_flags['cflags'] == cflags
+ assert s.compiler_flags["cflags"] == cflags
assert list(s.variants.keys()) == negated_variants
for v in negated_variants:
- assert '~{0}'.format(v) in s
+ assert "~{0}".format(v) in s
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_match_spec_env(mock_packages, mutable_mock_env_path):
"""
Concretize a spec with non-default options in an environment. Make
@@ -72,47 +75,44 @@ def test_match_spec_env(mock_packages, mutable_mock_env_path):
"""
# Initial sanity check: we are planning on choosing a non-default
# value, so make sure that is in fact not the default.
- check_defaults = spack.cmd.parse_specs(['a'], concretize=True)[0]
- assert not check_defaults.satisfies('foobar=baz')
+ check_defaults = spack.cmd.parse_specs(["a"], concretize=True)[0]
+ assert not check_defaults.satisfies("foobar=baz")
- e = ev.create('test')
- e.add('a foobar=baz')
+ e = ev.create("test")
+ e.add("a foobar=baz")
e.concretize()
with e:
- env_spec = spack.cmd.matching_spec_from_env(
- spack.cmd.parse_specs(['a'])[0])
- assert env_spec.satisfies('foobar=baz')
+ env_spec = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["a"])[0])
+ assert env_spec.satisfies("foobar=baz")
assert env_spec.concrete
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_multiple_env_match_raises_error(mock_packages, mutable_mock_env_path):
- e = ev.create('test')
- e.add('a foobar=baz')
- e.add('a foobar=fee')
+ e = ev.create("test")
+ e.add("a foobar=baz")
+ e.add("a foobar=fee")
e.concretize()
with e:
with pytest.raises(ev.SpackEnvironmentError) as exc_info:
- spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(['a'])[0])
+ spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["a"])[0])
- assert 'matches multiple specs' in exc_info.value.message
+ assert "matches multiple specs" in exc_info.value.message
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_root_and_dep_match_returns_root(mock_packages, mutable_mock_env_path):
- e = ev.create('test')
- e.add('b@0.9')
- e.add('a foobar=bar') # Depends on b, should choose b@1.0
+ e = ev.create("test")
+ e.add("b@0.9")
+ e.add("a foobar=bar") # Depends on b, should choose b@1.0
e.concretize()
with e:
# This query matches the root b and b as a dependency of a. In that
# case the root instance should be preferred.
- env_spec1 = spack.cmd.matching_spec_from_env(
- spack.cmd.parse_specs(['b'])[0])
- assert env_spec1.satisfies('@0.9')
+ env_spec1 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["b"])[0])
+ assert env_spec1.satisfies("@0.9")
- env_spec2 = spack.cmd.matching_spec_from_env(
- spack.cmd.parse_specs(['b@1.0'])[0])
+ env_spec2 = spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(["b@1.0"])[0])
assert env_spec2
diff --git a/lib/spack/spack/test/cmd/compiler.py b/lib/spack/spack/test/cmd/compiler.py
index f799d96b0f..d12f2d9645 100644
--- a/lib/spack/spack/test/cmd/compiler.py
+++ b/lib/spack/spack/test/cmd/compiler.py
@@ -14,26 +14,27 @@ import spack.compilers
import spack.main
import spack.version
-compiler = spack.main.SpackCommand('compiler')
+compiler = spack.main.SpackCommand("compiler")
@pytest.fixture
def mock_compiler_version():
- return '4.5.3'
+ return "4.5.3"
@pytest.fixture()
def mock_compiler_dir(tmpdir, mock_compiler_version):
"""Return a directory containing a fake, but detectable compiler."""
- tmpdir.ensure('bin', dir=True)
- bin_dir = tmpdir.join('bin')
+ tmpdir.ensure("bin", dir=True)
+ bin_dir = tmpdir.join("bin")
- gcc_path = bin_dir.join('gcc')
- gxx_path = bin_dir.join('g++')
- gfortran_path = bin_dir.join('gfortran')
+ gcc_path = bin_dir.join("gcc")
+ gxx_path = bin_dir.join("g++")
+ gfortran_path = bin_dir.join("gfortran")
- gcc_path.write("""\
+ gcc_path.write(
+ """\
#!/bin/sh
for arg in "$@"; do
@@ -41,7 +42,9 @@ for arg in "$@"; do
echo '%s'
fi
done
-""" % mock_compiler_version)
+"""
+ % mock_compiler_version
+ )
# Create some mock compilers in the temporary directory
llnl.util.filesystem.set_executable(str(gcc_path))
@@ -51,30 +54,36 @@ done
return str(tmpdir)
-@pytest.mark.skipif(sys.platform == 'win32', reason="Cannot execute bash \
- script on Windows")
-@pytest.mark.regression('11678,13138')
+@pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Cannot execute bash \
+ script on Windows",
+)
+@pytest.mark.regression("11678,13138")
def test_compiler_find_without_paths(no_compilers_yaml, working_env, tmpdir):
with tmpdir.as_cwd():
- with open('gcc', 'w') as f:
- f.write("""\
+ with open("gcc", "w") as f:
+ f.write(
+ """\
#!/bin/sh
echo "0.0.0"
-""")
- os.chmod('gcc', 0o700)
+"""
+ )
+ os.chmod("gcc", 0o700)
- os.environ['PATH'] = str(tmpdir)
- output = compiler('find', '--scope=site')
+ os.environ["PATH"] = str(tmpdir)
+ output = compiler("find", "--scope=site")
- assert 'gcc' in output
+ assert "gcc" in output
-@pytest.mark.regression('17589')
+@pytest.mark.regression("17589")
def test_compiler_find_no_apple_gcc(no_compilers_yaml, working_env, tmpdir):
with tmpdir.as_cwd():
# make a script to emulate apple gcc's version args
- with open('gcc', 'w') as f:
- f.write("""\
+ with open("gcc", "w") as f:
+ f.write(
+ """\
#!/bin/sh
if [ "$1" = "-dumpversion" ]; then
echo "4.2.1"
@@ -87,45 +96,41 @@ elif [ "$1" = "--version" ]; then
else
echo "clang: error: no input files"
fi
-""")
- os.chmod('gcc', 0o700)
+"""
+ )
+ os.chmod("gcc", 0o700)
- os.environ['PATH'] = str(tmpdir)
- output = compiler('find', '--scope=site')
+ os.environ["PATH"] = str(tmpdir)
+ output = compiler("find", "--scope=site")
- assert 'gcc' not in output
+ assert "gcc" not in output
def test_compiler_remove(mutable_config, mock_packages):
- args = spack.util.pattern.Bunch(
- all=True, compiler_spec='gcc@4.5.0', add_paths=[], scope=None
- )
+ args = spack.util.pattern.Bunch(all=True, compiler_spec="gcc@4.5.0", add_paths=[], scope=None)
spack.cmd.compiler.compiler_remove(args)
compilers = spack.compilers.all_compiler_specs()
assert spack.spec.CompilerSpec("gcc@4.5.0") not in compilers
-@pytest.mark.skipif(sys.platform == 'win32', reason="Cannot execute bash \
- script on Windows")
-def test_compiler_add(
- mutable_config, mock_packages, mock_compiler_dir, mock_compiler_version
-):
+@pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Cannot execute bash \
+ script on Windows",
+)
+def test_compiler_add(mutable_config, mock_packages, mock_compiler_dir, mock_compiler_version):
# Compilers available by default.
old_compilers = set(spack.compilers.all_compiler_specs())
args = spack.util.pattern.Bunch(
- all=None,
- compiler_spec=None,
- add_paths=[mock_compiler_dir],
- scope=None
+ all=None, compiler_spec=None, add_paths=[mock_compiler_dir], scope=None
)
spack.cmd.compiler.compiler_find(args)
# Ensure new compiler is in there
new_compilers = set(spack.compilers.all_compiler_specs())
new_compiler = new_compilers - old_compilers
- assert any(c.version == spack.version.Version(mock_compiler_version)
- for c in new_compiler)
+ assert any(c.version == spack.version.Version(mock_compiler_version) for c in new_compiler)
@pytest.fixture
@@ -141,8 +146,9 @@ def clangdir(tmpdir):
"""
with tmpdir.as_cwd():
- with open('clang', 'w') as f:
- f.write("""\
+ with open("clang", "w") as f:
+ f.write(
+ """\
#!/bin/sh
if [ "$1" = "--version" ]; then
echo "clang version 11.0.0 (clang-1100.0.33.16)"
@@ -153,8 +159,9 @@ else
echo "clang: error: no input files"
exit 1
fi
-""")
- shutil.copy('clang', 'clang++')
+"""
+ )
+ shutil.copy("clang", "clang++")
gcc_script = """\
#!/bin/sh
@@ -171,116 +178,115 @@ else
exit 1
fi
"""
- with open('gcc-8', 'w') as f:
- f.write(gcc_script.format('gcc', 'gcc-8'))
- with open('g++-8', 'w') as f:
- f.write(gcc_script.format('g++', 'g++-8'))
- with open('gfortran-8', 'w') as f:
- f.write(gcc_script.format('GNU Fortran', 'gfortran-8'))
- os.chmod('clang', 0o700)
- os.chmod('clang++', 0o700)
- os.chmod('gcc-8', 0o700)
- os.chmod('g++-8', 0o700)
- os.chmod('gfortran-8', 0o700)
+ with open("gcc-8", "w") as f:
+ f.write(gcc_script.format("gcc", "gcc-8"))
+ with open("g++-8", "w") as f:
+ f.write(gcc_script.format("g++", "g++-8"))
+ with open("gfortran-8", "w") as f:
+ f.write(gcc_script.format("GNU Fortran", "gfortran-8"))
+ os.chmod("clang", 0o700)
+ os.chmod("clang++", 0o700)
+ os.chmod("gcc-8", 0o700)
+ os.chmod("g++-8", 0o700)
+ os.chmod("gfortran-8", 0o700)
yield tmpdir
-@pytest.mark.skipif(sys.platform == 'win32', reason="Cannot execute bash \
- script on Windows")
-@pytest.mark.regression('17590')
-def test_compiler_find_mixed_suffixes(
- no_compilers_yaml, working_env, clangdir):
- """Ensure that we'll mix compilers with different suffixes when necessary.
- """
- os.environ['PATH'] = str(clangdir)
- output = compiler('find', '--scope=site')
+@pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Cannot execute bash \
+ script on Windows",
+)
+@pytest.mark.regression("17590")
+def test_compiler_find_mixed_suffixes(no_compilers_yaml, working_env, clangdir):
+ """Ensure that we'll mix compilers with different suffixes when necessary."""
+ os.environ["PATH"] = str(clangdir)
+ output = compiler("find", "--scope=site")
- assert 'clang@11.0.0' in output
- assert 'gcc@8.4.0' in output
+ assert "clang@11.0.0" in output
+ assert "gcc@8.4.0" in output
- config = spack.compilers.get_compiler_config('site', False)
- clang = next(c['compiler'] for c in config
- if c['compiler']['spec'] == 'clang@11.0.0')
- gcc = next(c['compiler'] for c in config
- if c['compiler']['spec'] == 'gcc@8.4.0')
+ config = spack.compilers.get_compiler_config("site", False)
+ clang = next(c["compiler"] for c in config if c["compiler"]["spec"] == "clang@11.0.0")
+ gcc = next(c["compiler"] for c in config if c["compiler"]["spec"] == "gcc@8.4.0")
- gfortran_path = str(clangdir.join('gfortran-8'))
+ gfortran_path = str(clangdir.join("gfortran-8"))
- assert clang['paths'] == {
- 'cc': str(clangdir.join('clang')),
- 'cxx': str(clangdir.join('clang++')),
+ assert clang["paths"] == {
+ "cc": str(clangdir.join("clang")),
+ "cxx": str(clangdir.join("clang++")),
# we only auto-detect mixed clang on macos
- 'f77': gfortran_path if sys.platform == 'darwin' else None,
- 'fc': gfortran_path if sys.platform == 'darwin' else None,
+ "f77": gfortran_path if sys.platform == "darwin" else None,
+ "fc": gfortran_path if sys.platform == "darwin" else None,
}
- assert gcc['paths'] == {
- 'cc': str(clangdir.join('gcc-8')),
- 'cxx': str(clangdir.join('g++-8')),
- 'f77': gfortran_path,
- 'fc': gfortran_path,
+ assert gcc["paths"] == {
+ "cc": str(clangdir.join("gcc-8")),
+ "cxx": str(clangdir.join("g++-8")),
+ "f77": gfortran_path,
+ "fc": gfortran_path,
}
-@pytest.mark.skipif(sys.platform == 'win32', reason="Cannot execute bash \
- script on Windows")
-@pytest.mark.regression('17590')
-def test_compiler_find_prefer_no_suffix(
- no_compilers_yaml, working_env, clangdir):
- """Ensure that we'll pick 'clang' over 'clang-gpu' when there is a choice.
- """
+@pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Cannot execute bash \
+ script on Windows",
+)
+@pytest.mark.regression("17590")
+def test_compiler_find_prefer_no_suffix(no_compilers_yaml, working_env, clangdir):
+ """Ensure that we'll pick 'clang' over 'clang-gpu' when there is a choice."""
with clangdir.as_cwd():
- shutil.copy('clang', 'clang-gpu')
- shutil.copy('clang++', 'clang++-gpu')
- os.chmod('clang-gpu', 0o700)
- os.chmod('clang++-gpu', 0o700)
+ shutil.copy("clang", "clang-gpu")
+ shutil.copy("clang++", "clang++-gpu")
+ os.chmod("clang-gpu", 0o700)
+ os.chmod("clang++-gpu", 0o700)
- os.environ['PATH'] = str(clangdir)
- output = compiler('find', '--scope=site')
+ os.environ["PATH"] = str(clangdir)
+ output = compiler("find", "--scope=site")
- assert 'clang@11.0.0' in output
- assert 'gcc@8.4.0' in output
+ assert "clang@11.0.0" in output
+ assert "gcc@8.4.0" in output
- config = spack.compilers.get_compiler_config('site', False)
- clang = next(c['compiler'] for c in config
- if c['compiler']['spec'] == 'clang@11.0.0')
+ config = spack.compilers.get_compiler_config("site", False)
+ clang = next(c["compiler"] for c in config if c["compiler"]["spec"] == "clang@11.0.0")
- assert clang['paths']['cc'] == str(clangdir.join('clang'))
- assert clang['paths']['cxx'] == str(clangdir.join('clang++'))
+ assert clang["paths"]["cc"] == str(clangdir.join("clang"))
+ assert clang["paths"]["cxx"] == str(clangdir.join("clang++"))
-@pytest.mark.skipif(sys.platform == 'win32', reason="Cannot execute bash \
- script on Windows")
-def test_compiler_find_path_order(
- no_compilers_yaml, working_env, clangdir):
- """Ensure that we find compilers that come first in the PATH first
- """
+@pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Cannot execute bash \
+ script on Windows",
+)
+def test_compiler_find_path_order(no_compilers_yaml, working_env, clangdir):
+ """Ensure that we find compilers that come first in the PATH first"""
with clangdir.as_cwd():
- os.mkdir('first_in_path')
- shutil.copy('gcc-8', 'first_in_path/gcc-8')
- shutil.copy('g++-8', 'first_in_path/g++-8')
- shutil.copy('gfortran-8', 'first_in_path/gfortran-8')
+ os.mkdir("first_in_path")
+ shutil.copy("gcc-8", "first_in_path/gcc-8")
+ shutil.copy("g++-8", "first_in_path/g++-8")
+ shutil.copy("gfortran-8", "first_in_path/gfortran-8")
# the first_in_path folder should be searched first
- os.environ['PATH'] = '{0}:{1}'.format(
+ os.environ["PATH"] = "{0}:{1}".format(
str(clangdir.join("first_in_path")),
str(clangdir),
)
- compiler('find', '--scope=site')
+ compiler("find", "--scope=site")
- config = spack.compilers.get_compiler_config('site', False)
+ config = spack.compilers.get_compiler_config("site", False)
- gcc = next(c['compiler'] for c in config
- if c['compiler']['spec'] == 'gcc@8.4.0')
+ gcc = next(c["compiler"] for c in config if c["compiler"]["spec"] == "gcc@8.4.0")
- assert gcc['paths'] == {
- 'cc': str(clangdir.join('first_in_path', 'gcc-8')),
- 'cxx': str(clangdir.join('first_in_path', 'g++-8')),
- 'f77': str(clangdir.join('first_in_path', 'gfortran-8')),
- 'fc': str(clangdir.join('first_in_path', 'gfortran-8')),
+ assert gcc["paths"] == {
+ "cc": str(clangdir.join("first_in_path", "gcc-8")),
+ "cxx": str(clangdir.join("first_in_path", "g++-8")),
+ "f77": str(clangdir.join("first_in_path", "gfortran-8")),
+ "fc": str(clangdir.join("first_in_path", "gfortran-8")),
}
@@ -288,7 +294,7 @@ def test_compiler_list_empty(no_compilers_yaml, working_env, clangdir):
# Spack should not automatically search for compilers when listing them and none
# are available. And when stdout is not a tty like in tests, there should be no
# output and no error exit code.
- os.environ['PATH'] = str(clangdir)
- out = compiler('list')
+ os.environ["PATH"] = str(clangdir)
+ out = compiler("list")
assert not out
assert compiler.returncode == 0
diff --git a/lib/spack/spack/test/cmd/concretize.py b/lib/spack/spack/test/cmd/concretize.py
index a92e059464..e5d2162423 100644
--- a/lib/spack/spack/test/cmd/concretize.py
+++ b/lib/spack/spack/test/cmd/concretize.py
@@ -10,49 +10,48 @@ import spack.environment as ev
from spack.main import SpackCommand
# everything here uses the mock_env_path
-pytestmark = pytest.mark.usefixtures(
- 'mutable_mock_env_path', 'config', 'mutable_mock_repo')
+pytestmark = pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo")
-env = SpackCommand('env')
-add = SpackCommand('add')
-concretize = SpackCommand('concretize')
+env = SpackCommand("env")
+add = SpackCommand("add")
+concretize = SpackCommand("concretize")
-unification_strategies = [False, True, 'when_possible']
+unification_strategies = [False, True, "when_possible"]
-@pytest.mark.parametrize('unify', unification_strategies)
+@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_all_test_dependencies(unify):
"""Check all test dependencies are concretized."""
- env('create', 'test')
+ env("create", "test")
- with ev.read('test') as e:
+ with ev.read("test") as e:
e.unify = unify
- add('depb')
- concretize('--test', 'all')
- assert e.matching_spec('test-dependency')
+ add("depb")
+ concretize("--test", "all")
+ assert e.matching_spec("test-dependency")
-@pytest.mark.parametrize('unify', unification_strategies)
+@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_root_test_dependencies_not_recursive(unify):
"""Check that test dependencies are not concretized recursively."""
- env('create', 'test')
+ env("create", "test")
- with ev.read('test') as e:
+ with ev.read("test") as e:
e.unify = unify
- add('depb')
- concretize('--test', 'root')
- assert e.matching_spec('test-dependency') is None
+ add("depb")
+ concretize("--test", "root")
+ assert e.matching_spec("test-dependency") is None
-@pytest.mark.parametrize('unify', unification_strategies)
+@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_root_test_dependencies_are_concretized(unify):
"""Check that root test dependencies are concretized."""
- env('create', 'test')
+ env("create", "test")
- with ev.read('test') as e:
+ with ev.read("test") as e:
e.unify = unify
- add('a')
- add('b')
- concretize('--test', 'root')
- assert e.matching_spec('test-dependency')
+ add("a")
+ add("b")
+ concretize("--test", "root")
+ assert e.matching_spec("test-dependency")
diff --git a/lib/spack/spack/test/cmd/config.py b/lib/spack/spack/test/cmd/config.py
index 2ecf4bd178..42152ca3a5 100644
--- a/lib/spack/spack/test/cmd/config.py
+++ b/lib/spack/spack/test/cmd/config.py
@@ -17,14 +17,14 @@ import spack.spec
import spack.store
import spack.util.spack_yaml as syaml
-config = spack.main.SpackCommand('config')
-env = spack.main.SpackCommand('env')
+config = spack.main.SpackCommand("config")
+env = spack.main.SpackCommand("env")
-def _create_config(scope=None, data={}, section='packages'):
+def _create_config(scope=None, data={}, section="packages"):
scope = scope or spack.config.default_modify_scope()
cfg_file = spack.config.config.get_config_filename(scope, section)
- with open(cfg_file, 'w') as f:
+ with open(cfg_file, "w") as f:
syaml.dump(data, stream=f)
return cfg_file
@@ -33,208 +33,234 @@ def _create_config(scope=None, data={}, section='packages'):
def config_yaml_v015(mutable_config):
"""Create a packages.yaml in the old format"""
old_data = {
- 'config': {
- 'install_tree': '/fake/path',
- 'install_path_scheme': '{name}-{version}',
+ "config": {
+ "install_tree": "/fake/path",
+ "install_path_scheme": "{name}-{version}",
}
}
- return functools.partial(_create_config, data=old_data, section='config')
+ return functools.partial(_create_config, data=old_data, section="config")
def test_get_config_scope(mock_low_high_config):
- assert config('get', 'compilers').strip() == 'compilers: {}'
+ assert config("get", "compilers").strip() == "compilers: {}"
def test_get_config_scope_merged(mock_low_high_config):
- low_path = mock_low_high_config.scopes['low'].path
- high_path = mock_low_high_config.scopes['high'].path
+ low_path = mock_low_high_config.scopes["low"].path
+ high_path = mock_low_high_config.scopes["high"].path
fs.mkdirp(low_path)
fs.mkdirp(high_path)
- with open(os.path.join(low_path, 'repos.yaml'), 'w') as f:
- f.write('''\
+ with open(os.path.join(low_path, "repos.yaml"), "w") as f:
+ f.write(
+ """\
repos:
- repo3
-''')
+"""
+ )
- with open(os.path.join(high_path, 'repos.yaml'), 'w') as f:
- f.write('''\
+ with open(os.path.join(high_path, "repos.yaml"), "w") as f:
+ f.write(
+ """\
repos:
- repo1
- repo2
-''')
+"""
+ )
- assert config('get', 'repos').strip() == '''repos:
+ assert (
+ config("get", "repos").strip()
+ == """repos:
- repo1
- repo2
-- repo3'''
+- repo3"""
+ )
def test_config_edit():
"""Ensure `spack config edit` edits the right paths."""
- dms = spack.config.default_modify_scope('compilers')
+ dms = spack.config.default_modify_scope("compilers")
dms_path = spack.config.config.scopes[dms].path
- user_path = spack.config.config.scopes['user'].path
+ user_path = spack.config.config.scopes["user"].path
- comp_path = os.path.join(dms_path, 'compilers.yaml')
- repos_path = os.path.join(user_path, 'repos.yaml')
+ comp_path = os.path.join(dms_path, "compilers.yaml")
+ repos_path = os.path.join(user_path, "repos.yaml")
- assert config('edit', '--print-file', 'compilers').strip() == comp_path
- assert config('edit', '--print-file', 'repos').strip() == repos_path
+ assert config("edit", "--print-file", "compilers").strip() == comp_path
+ assert config("edit", "--print-file", "repos").strip() == repos_path
def test_config_get_gets_spack_yaml(mutable_mock_env_path):
- env = ev.create('test')
+ env = ev.create("test")
- config('get', fail_on_error=False)
+ config("get", fail_on_error=False)
assert config.returncode == 1
with env:
- config('get', fail_on_error=False)
+ config("get", fail_on_error=False)
assert config.returncode == 1
env.write()
- assert 'mpileaks' not in config('get')
+ assert "mpileaks" not in config("get")
- env.add('mpileaks')
+ env.add("mpileaks")
env.write()
- assert 'mpileaks' in config('get')
+ assert "mpileaks" in config("get")
def test_config_edit_edits_spack_yaml(mutable_mock_env_path):
- env = ev.create('test')
+ env = ev.create("test")
with env:
- assert config('edit', '--print-file').strip() == env.manifest_path
+ assert config("edit", "--print-file").strip() == env.manifest_path
def test_config_edit_fails_correctly_with_no_env(mutable_mock_env_path):
- output = config('edit', '--print-file', fail_on_error=False)
+ output = config("edit", "--print-file", fail_on_error=False)
assert "requires a section argument or an active environment" in output
def test_config_get_fails_correctly_with_no_env(mutable_mock_env_path):
- output = config('get', fail_on_error=False)
+ output = config("get", fail_on_error=False)
assert "requires a section argument or an active environment" in output
def test_config_list():
- output = config('list')
- assert 'compilers' in output
- assert 'packages' in output
+ output = config("list")
+ assert "compilers" in output
+ assert "packages" in output
def test_config_add(mutable_empty_config):
- config('add', 'config:dirty:true')
- output = config('get', 'config')
+ config("add", "config:dirty:true")
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
dirty: true
"""
+ )
def test_config_add_list(mutable_empty_config):
- config('add', 'config:template_dirs:test1')
- config('add', 'config:template_dirs:[test2]')
- config('add', 'config:template_dirs:test3')
- output = config('get', 'config')
-
- assert output == """config:
+ config("add", "config:template_dirs:test1")
+ config("add", "config:template_dirs:[test2]")
+ config("add", "config:template_dirs:test3")
+ output = config("get", "config")
+
+ assert (
+ output
+ == """config:
template_dirs:
- test3
- test2
- test1
"""
+ )
def test_config_add_override(mutable_empty_config):
- config('--scope', 'site', 'add', 'config:template_dirs:test1')
- config('add', 'config:template_dirs:[test2]')
- output = config('get', 'config')
+ config("--scope", "site", "add", "config:template_dirs:test1")
+ config("add", "config:template_dirs:[test2]")
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
template_dirs:
- test2
- test1
"""
+ )
- config('add', 'config::template_dirs:[test2]')
- output = config('get', 'config')
+ config("add", "config::template_dirs:[test2]")
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
template_dirs:
- test2
"""
+ )
def test_config_add_override_leaf(mutable_empty_config):
- config('--scope', 'site', 'add', 'config:template_dirs:test1')
- config('add', 'config:template_dirs:[test2]')
- output = config('get', 'config')
+ config("--scope", "site", "add", "config:template_dirs:test1")
+ config("add", "config:template_dirs:[test2]")
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
template_dirs:
- test2
- test1
"""
+ )
- config('add', 'config:template_dirs::[test2]')
- output = config('get', 'config')
+ config("add", "config:template_dirs::[test2]")
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
'template_dirs:':
- test2
"""
+ )
def test_config_add_update_dict(mutable_empty_config):
- config('add', 'packages:all:version:[1.0.0]')
- output = config('get', 'packages')
+ config("add", "packages:all:version:[1.0.0]")
+ output = config("get", "packages")
- expected = 'packages:\n all:\n version: [1.0.0]\n'
+ expected = "packages:\n all:\n version: [1.0.0]\n"
assert output == expected
def test_config_with_c_argument(mutable_empty_config):
# I don't know how to add a spack argument to a Spack Command, so we test this way
- config_file = 'config:install_root:root:/path/to/config.yaml'
+ config_file = "config:install_root:root:/path/to/config.yaml"
parser = spack.main.make_argument_parser()
- args = parser.parse_args(['-c', config_file])
+ args = parser.parse_args(["-c", config_file])
assert config_file in args.config_vars
# Add the path to the config
- config("add", args.config_vars[0], scope='command_line')
- output = config("get", 'config')
+ config("add", args.config_vars[0], scope="command_line")
+ output = config("get", "config")
assert "config:\n install_root:\n root: /path/to/config.yaml" in output
def test_config_add_ordered_dict(mutable_empty_config):
- config('add', 'mirrors:first:/path/to/first')
- config('add', 'mirrors:second:/path/to/second')
- output = config('get', 'mirrors')
+ config("add", "mirrors:first:/path/to/first")
+ config("add", "mirrors:second:/path/to/second")
+ output = config("get", "mirrors")
- assert output == """mirrors:
+ assert (
+ output
+ == """mirrors:
first: /path/to/first
second: /path/to/second
"""
+ )
def test_config_add_interpret_oneof(mutable_empty_config):
# Regression test for a bug that would raise a validation error
- config('add', 'packages:all:target:[x86_64]')
- config('add', 'packages:all:variants:~shared')
+ config("add", "packages:all:target:[x86_64]")
+ config("add", "packages:all:variants:~shared")
def test_config_add_invalid_fails(mutable_empty_config):
- config('add', 'packages:all:variants:+debug')
- with pytest.raises(
- (spack.config.ConfigFormatError, AttributeError)
- ):
- config('add', 'packages:all:True')
+ config("add", "packages:all:variants:+debug")
+ with pytest.raises((spack.config.ConfigFormatError, AttributeError)):
+ config("add", "packages:all:True")
def test_config_add_from_file(mutable_empty_config, tmpdir):
@@ -243,15 +269,18 @@ def test_config_add_from_file(mutable_empty_config, tmpdir):
dirty: true
"""
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- config('add', '-f', file)
- output = config('get', 'config')
+ config("add", "-f", file)
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
dirty: true
"""
+ )
def test_config_add_from_file_multiple(mutable_empty_config, tmpdir):
@@ -261,56 +290,65 @@ def test_config_add_from_file_multiple(mutable_empty_config, tmpdir):
template_dirs: [test1]
"""
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- config('add', '-f', file)
- output = config('get', 'config')
+ config("add", "-f", file)
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
dirty: true
template_dirs: [test1]
"""
+ )
def test_config_add_override_from_file(mutable_empty_config, tmpdir):
- config('--scope', 'site', 'add', 'config:template_dirs:test1')
+ config("--scope", "site", "add", "config:template_dirs:test1")
contents = """spack:
config::
template_dirs: [test2]
"""
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- config('add', '-f', file)
- output = config('get', 'config')
+ config("add", "-f", file)
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
template_dirs: [test2]
"""
+ )
def test_config_add_override_leaf_from_file(mutable_empty_config, tmpdir):
- config('--scope', 'site', 'add', 'config:template_dirs:test1')
+ config("--scope", "site", "add", "config:template_dirs:test1")
contents = """spack:
config:
template_dirs:: [test2]
"""
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- config('add', '-f', file)
- output = config('get', 'config')
+ config("add", "-f", file)
+ output = config("get", "config")
- assert output == """config:
+ assert (
+ output
+ == """config:
'template_dirs:': [test2]
"""
+ )
def test_config_add_update_dict_from_file(mutable_empty_config, tmpdir):
- config('add', 'packages:all:compiler:[gcc]')
+ config("add", "packages:all:compiler:[gcc]")
# contents to add to file
contents = """spack:
@@ -321,13 +359,13 @@ def test_config_add_update_dict_from_file(mutable_empty_config, tmpdir):
"""
# create temp file and add it to config
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- config('add', '-f', file)
+ config("add", "-f", file)
# get results
- output = config('get', 'packages')
+ output = config("get", "packages")
# added config comes before prior config
expected = """packages:
@@ -350,76 +388,89 @@ def test_config_add_invalid_file_fails(tmpdir):
"""
# create temp file and add it to config
- file = str(tmpdir.join('spack.yaml'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("spack.yaml"))
+ with open(file, "w") as f:
f.write(contents)
- with pytest.raises(
- (spack.config.ConfigFormatError)
- ):
- config('add', '-f', file)
+ with pytest.raises((spack.config.ConfigFormatError)):
+ config("add", "-f", file)
def test_config_remove_value(mutable_empty_config):
- config('add', 'config:dirty:true')
- config('remove', 'config:dirty:true')
- output = config('get', 'config')
+ config("add", "config:dirty:true")
+ config("remove", "config:dirty:true")
+ output = config("get", "config")
- assert output == """config: {}
+ assert (
+ output
+ == """config: {}
"""
+ )
def test_config_remove_alias_rm(mutable_empty_config):
- config('add', 'config:dirty:true')
- config('rm', 'config:dirty:true')
- output = config('get', 'config')
+ config("add", "config:dirty:true")
+ config("rm", "config:dirty:true")
+ output = config("get", "config")
- assert output == """config: {}
+ assert (
+ output
+ == """config: {}
"""
+ )
def test_config_remove_dict(mutable_empty_config):
- config('add', 'config:dirty:true')
- config('rm', 'config:dirty')
- output = config('get', 'config')
+ config("add", "config:dirty:true")
+ config("rm", "config:dirty")
+ output = config("get", "config")
- assert output == """config: {}
+ assert (
+ output
+ == """config: {}
"""
+ )
def test_remove_from_list(mutable_empty_config):
- config('add', 'config:template_dirs:test1')
- config('add', 'config:template_dirs:[test2]')
- config('add', 'config:template_dirs:test3')
- config('remove', 'config:template_dirs:test2')
- output = config('get', 'config')
-
- assert output == """config:
+ config("add", "config:template_dirs:test1")
+ config("add", "config:template_dirs:[test2]")
+ config("add", "config:template_dirs:test3")
+ config("remove", "config:template_dirs:test2")
+ output = config("get", "config")
+
+ assert (
+ output
+ == """config:
template_dirs:
- test3
- test1
"""
+ )
def test_remove_list(mutable_empty_config):
- config('add', 'config:template_dirs:test1')
- config('add', 'config:template_dirs:[test2]')
- config('add', 'config:template_dirs:test3')
- config('remove', 'config:template_dirs:[test2]')
- output = config('get', 'config')
-
- assert output == """config:
+ config("add", "config:template_dirs:test1")
+ config("add", "config:template_dirs:[test2]")
+ config("add", "config:template_dirs:test3")
+ config("remove", "config:template_dirs:[test2]")
+ output = config("get", "config")
+
+ assert (
+ output
+ == """config:
template_dirs:
- test3
- test1
"""
+ )
def test_config_add_to_env(mutable_empty_config, mutable_mock_env_path):
- env('create', 'test')
- with ev.read('test'):
- config('add', 'config:dirty:true')
- output = config('get')
+ env("create", "test")
+ with ev.read("test"):
+ config("add", "config:dirty:true")
+ output = config("get")
expected = """ config:
dirty: true
@@ -428,10 +479,8 @@ def test_config_add_to_env(mutable_empty_config, mutable_mock_env_path):
assert expected in output
-def test_config_add_to_env_preserve_comments(mutable_empty_config,
- mutable_mock_env_path,
- tmpdir):
- filepath = str(tmpdir.join('spack.yaml'))
+def test_config_add_to_env_preserve_comments(mutable_empty_config, mutable_mock_env_path, tmpdir):
+ filepath = str(tmpdir.join("spack.yaml"))
manifest = """# comment
spack: # comment
# comment
@@ -445,12 +494,12 @@ spack: # comment
# comment
compiler: [gcc] # comment
"""
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write(manifest)
env = ev.Environment(str(tmpdir))
with env:
- config('add', 'config:dirty:true')
- output = config('get')
+ config("add", "config:dirty:true")
+ output = config("get")
expected = manifest
expected += """ config:
@@ -461,14 +510,14 @@ spack: # comment
def test_config_remove_from_env(mutable_empty_config, mutable_mock_env_path):
- env('create', 'test')
+ env("create", "test")
- with ev.read('test'):
- config('add', 'config:dirty:true')
+ with ev.read("test"):
+ config("add", "config:dirty:true")
- with ev.read('test'):
- config('rm', 'config:dirty')
- output = config('get')
+ with ev.read("test"):
+ config("rm", "config:dirty")
+ output = config("get")
expected = ev.default_manifest_yaml()
expected += """ config: {}
@@ -479,114 +528,111 @@ def test_config_remove_from_env(mutable_empty_config, mutable_mock_env_path):
def test_config_update_config(config_yaml_v015):
config_yaml_v015()
- config('update', '-y', 'config')
+ config("update", "-y", "config")
# Check the entires have been transformed
- data = spack.config.get('config')
+ data = spack.config.get("config")
check_config_updated(data)
def test_config_update_not_needed(mutable_config):
- data_before = spack.config.get('repos')
- config('update', '-y', 'repos')
- data_after = spack.config.get('repos')
+ data_before = spack.config.get("repos")
+ config("update", "-y", "repos")
+ data_after = spack.config.get("repos")
assert data_before == data_after
-@pytest.mark.regression('18031')
+@pytest.mark.regression("18031")
def test_config_update_can_handle_comments(mutable_config):
# Create an outdated config file with comments
scope = spack.config.default_modify_scope()
- cfg_file = spack.config.config.get_config_filename(scope, 'config')
- with open(cfg_file, mode='w') as f:
- f.write("""
+ cfg_file = spack.config.config.get_config_filename(scope, "config")
+ with open(cfg_file, mode="w") as f:
+ f.write(
+ """
config:
# system cmake in /usr
install_tree: './foo'
# Another comment after the outdated section
install_hash_length: 7
-""")
+"""
+ )
# Try to update it, it should not raise errors
- config('update', '-y', 'config')
+ config("update", "-y", "config")
# Check data
- data = spack.config.get('config', scope=scope)
- assert 'root' in data['install_tree']
+ data = spack.config.get("config", scope=scope)
+ assert "root" in data["install_tree"]
# Check the comment is there
with open(cfg_file) as f:
- text = ''.join(f.readlines())
+ text = "".join(f.readlines())
- assert '# system cmake in /usr' in text
- assert '# Another comment after the outdated section' in text
+ assert "# system cmake in /usr" in text
+ assert "# Another comment after the outdated section" in text
-@pytest.mark.regression('18050')
+@pytest.mark.regression("18050")
def test_config_update_works_for_empty_paths(mutable_config):
scope = spack.config.default_modify_scope()
- cfg_file = spack.config.config.get_config_filename(scope, 'config')
- with open(cfg_file, mode='w') as f:
- f.write("""
+ cfg_file = spack.config.config.get_config_filename(scope, "config")
+ with open(cfg_file, mode="w") as f:
+ f.write(
+ """
config:
install_tree: ''
-""")
+"""
+ )
# Try to update it, it should not raise errors
- output = config('update', '-y', 'config')
+ output = config("update", "-y", "config")
# This ensures that we updated the configuration
- assert '[backup=' in output
+ assert "[backup=" in output
def check_config_updated(data):
- assert isinstance(data['install_tree'], dict)
- assert data['install_tree']['root'] == '/fake/path'
- assert data['install_tree']['projections'] == {'all': '{name}-{version}'}
+ assert isinstance(data["install_tree"], dict)
+ assert data["install_tree"]["root"] == "/fake/path"
+ assert data["install_tree"]["projections"] == {"all": "{name}-{version}"}
-def test_config_prefer_upstream(tmpdir_factory, install_mockery, mock_fetch,
- mutable_config, gen_mock_layout, monkeypatch):
+def test_config_prefer_upstream(
+ tmpdir_factory, install_mockery, mock_fetch, mutable_config, gen_mock_layout, monkeypatch
+):
"""Check that when a dependency package is recorded as installed in
- an upstream database that it is not reinstalled.
+ an upstream database that it is not reinstalled.
"""
- mock_db_root = str(tmpdir_factory.mktemp('mock_db_root'))
+ mock_db_root = str(tmpdir_factory.mktemp("mock_db_root"))
prepared_db = spack.database.Database(mock_db_root)
- upstream_layout = gen_mock_layout('/a/')
+ upstream_layout = gen_mock_layout("/a/")
- for spec in [
- 'hdf5 +mpi',
- 'hdf5 ~mpi',
- 'boost+debug~icu+graph',
- 'dependency-install',
- 'patch']:
+ for spec in ["hdf5 +mpi", "hdf5 ~mpi", "boost+debug~icu+graph", "dependency-install", "patch"]:
dep = spack.spec.Spec(spec)
dep.concretize()
prepared_db.add(dep, upstream_layout)
- downstream_db_root = str(
- tmpdir_factory.mktemp('mock_downstream_db_root'))
- db_for_test = spack.database.Database(
- downstream_db_root, upstream_dbs=[prepared_db])
- monkeypatch.setattr(spack.store, 'db', db_for_test)
+ downstream_db_root = str(tmpdir_factory.mktemp("mock_downstream_db_root"))
+ db_for_test = spack.database.Database(downstream_db_root, upstream_dbs=[prepared_db])
+ monkeypatch.setattr(spack.store, "db", db_for_test)
- output = config('prefer-upstream')
- scope = spack.config.default_modify_scope('packages')
- cfg_file = spack.config.config.get_config_filename(scope, 'packages')
- packages = syaml.load(open(cfg_file))['packages']
+ output = config("prefer-upstream")
+ scope = spack.config.default_modify_scope("packages")
+ cfg_file = spack.config.config.get_config_filename(scope, "packages")
+ packages = syaml.load(open(cfg_file))["packages"]
# Make sure only the non-default variants are set.
- assert packages['boost'] == {
- 'compiler': ['gcc@4.5.0'],
- 'variants': '+debug +graph',
- 'version': ['1.63.0']}
- assert packages['dependency-install'] == {
- 'compiler': ['gcc@4.5.0'], 'version': ['2.0']}
+ assert packages["boost"] == {
+ "compiler": ["gcc@4.5.0"],
+ "variants": "+debug +graph",
+ "version": ["1.63.0"],
+ }
+ assert packages["dependency-install"] == {"compiler": ["gcc@4.5.0"], "version": ["2.0"]}
# Ensure that neither variant gets listed for hdf5, since they conflict
- assert packages['hdf5'] == {
- 'compiler': ['gcc@4.5.0'], 'version': ['2.3']}
+ assert packages["hdf5"] == {"compiler": ["gcc@4.5.0"], "version": ["2.3"]}
# Make sure a message about the conflicting hdf5's was given.
- assert '- hdf5' in output
+ assert "- hdf5" in output
diff --git a/lib/spack/spack/test/cmd/create.py b/lib/spack/spack/test/cmd/create.py
index 20059b35d4..39d3ab7bd7 100644
--- a/lib/spack/spack/test/cmd/create.py
+++ b/lib/spack/spack/test/cmd/create.py
@@ -13,10 +13,10 @@ import spack.util.editor
from spack.main import SpackCommand
from spack.url import UndetectableNameError
-create = SpackCommand('create')
+create = SpackCommand("create")
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def parser():
"""Returns the parser for the module"""
prs = argparse.ArgumentParser()
@@ -24,81 +24,137 @@ def parser():
return prs
-@pytest.mark.parametrize('args,name,expected', [
- # Basic package cases
- (['/test-package'], 'test-package',
- [r'TestPackage(Package)', r'def install(self']),
- (['-n', 'test-named-package', 'file://example.tar.gz'],
- 'test-named-package',
- [r'TestNamedPackage(Package)', r'def install(self']),
- (['file://example.tar.gz'], 'example',
- [r'Example(Package)', r'def install(self']),
-
- # Template-specific cases
- (['-t', 'autoreconf', '/test-autoreconf'], 'test-autoreconf',
- [r'TestAutoreconf(AutotoolsPackage)', r"depends_on('autoconf",
- r'def autoreconf(self', r'def configure_args(self']),
- (['-t', 'autotools', '/test-autotools'], 'test-autotools',
- [r'TestAutotools(AutotoolsPackage)', r'def configure_args(self']),
- (['-t', 'bazel', '/test-bazel'], 'test-bazel',
- [r'TestBazel(Package)', r"depends_on('bazel", r'bazel()']),
- (['-t', 'bundle', '/test-bundle'], 'test-bundle',
- [r'TestBundle(BundlePackage)']),
- (['-t', 'cmake', '/test-cmake'], 'test-cmake',
- [r'TestCmake(CMakePackage)', r'def cmake_args(self']),
- (['-t', 'intel', '/test-intel'], 'test-intel',
- [r'TestIntel(IntelPackage)', r'setup_environment']),
- (['-t', 'makefile', '/test-makefile'], 'test-makefile',
- [r'TestMakefile(MakefilePackage)', r'def edit(self', r'makefile']),
- (['-t', 'meson', '/test-meson'], 'test-meson',
- [r'TestMeson(MesonPackage)', r'def meson_args(self']),
- (['-t', 'octave', '/test-octave'], 'octave-test-octave',
- [r'OctaveTestOctave(OctavePackage)', r"extends('octave",
- r"depends_on('octave"]),
- (['-t', 'perlbuild', '/test-perlbuild'], 'perl-test-perlbuild',
- [r'PerlTestPerlbuild(PerlPackage)', r"depends_on('perl-module-build",
- r'def configure_args(self']),
- (['-t', 'perlmake', '/test-perlmake'], 'perl-test-perlmake',
- [r'PerlTestPerlmake(PerlPackage)', r"depends_on('perl-",
- r'def configure_args(self']),
- (['-t', 'python', '/test-python'], 'py-test-python',
- [r'PyTestPython(PythonPackage)', r"depends_on('py-",
- r'def global_options(self', r'def install_options(self']),
- (['-t', 'qmake', '/test-qmake'], 'test-qmake',
- [r'TestQmake(QMakePackage)', r'def qmake_args(self']),
- (['-t', 'r', '/test-r'], 'r-test-r',
- [r'RTestR(RPackage)', r"depends_on('r-", r'def configure_args(self']),
- (['-t', 'scons', '/test-scons'], 'test-scons',
- [r'TestScons(SConsPackage)', r'def build_args(self']),
- (['-t', 'sip', '/test-sip'], 'py-test-sip',
- [r'PyTestSip(SIPPackage)', r'def configure_args(self']),
- (['-t', 'waf', '/test-waf'], 'test-waf',
- [r'TestWaf(WafPackage)', r'configure_args()'])
-])
+@pytest.mark.parametrize(
+ "args,name,expected",
+ [
+ # Basic package cases
+ (["/test-package"], "test-package", [r"TestPackage(Package)", r"def install(self"]),
+ (
+ ["-n", "test-named-package", "file://example.tar.gz"],
+ "test-named-package",
+ [r"TestNamedPackage(Package)", r"def install(self"],
+ ),
+ (["file://example.tar.gz"], "example", [r"Example(Package)", r"def install(self"]),
+ # Template-specific cases
+ (
+ ["-t", "autoreconf", "/test-autoreconf"],
+ "test-autoreconf",
+ [
+ r"TestAutoreconf(AutotoolsPackage)",
+ r"depends_on('autoconf",
+ r"def autoreconf(self",
+ r"def configure_args(self",
+ ],
+ ),
+ (
+ ["-t", "autotools", "/test-autotools"],
+ "test-autotools",
+ [r"TestAutotools(AutotoolsPackage)", r"def configure_args(self"],
+ ),
+ (
+ ["-t", "bazel", "/test-bazel"],
+ "test-bazel",
+ [r"TestBazel(Package)", r"depends_on('bazel", r"bazel()"],
+ ),
+ (["-t", "bundle", "/test-bundle"], "test-bundle", [r"TestBundle(BundlePackage)"]),
+ (
+ ["-t", "cmake", "/test-cmake"],
+ "test-cmake",
+ [r"TestCmake(CMakePackage)", r"def cmake_args(self"],
+ ),
+ (
+ ["-t", "intel", "/test-intel"],
+ "test-intel",
+ [r"TestIntel(IntelPackage)", r"setup_environment"],
+ ),
+ (
+ ["-t", "makefile", "/test-makefile"],
+ "test-makefile",
+ [r"TestMakefile(MakefilePackage)", r"def edit(self", r"makefile"],
+ ),
+ (
+ ["-t", "meson", "/test-meson"],
+ "test-meson",
+ [r"TestMeson(MesonPackage)", r"def meson_args(self"],
+ ),
+ (
+ ["-t", "octave", "/test-octave"],
+ "octave-test-octave",
+ [r"OctaveTestOctave(OctavePackage)", r"extends('octave", r"depends_on('octave"],
+ ),
+ (
+ ["-t", "perlbuild", "/test-perlbuild"],
+ "perl-test-perlbuild",
+ [
+ r"PerlTestPerlbuild(PerlPackage)",
+ r"depends_on('perl-module-build",
+ r"def configure_args(self",
+ ],
+ ),
+ (
+ ["-t", "perlmake", "/test-perlmake"],
+ "perl-test-perlmake",
+ [r"PerlTestPerlmake(PerlPackage)", r"depends_on('perl-", r"def configure_args(self"],
+ ),
+ (
+ ["-t", "python", "/test-python"],
+ "py-test-python",
+ [
+ r"PyTestPython(PythonPackage)",
+ r"depends_on('py-",
+ r"def global_options(self",
+ r"def install_options(self",
+ ],
+ ),
+ (
+ ["-t", "qmake", "/test-qmake"],
+ "test-qmake",
+ [r"TestQmake(QMakePackage)", r"def qmake_args(self"],
+ ),
+ (
+ ["-t", "r", "/test-r"],
+ "r-test-r",
+ [r"RTestR(RPackage)", r"depends_on('r-", r"def configure_args(self"],
+ ),
+ (
+ ["-t", "scons", "/test-scons"],
+ "test-scons",
+ [r"TestScons(SConsPackage)", r"def build_args(self"],
+ ),
+ (
+ ["-t", "sip", "/test-sip"],
+ "py-test-sip",
+ [r"PyTestSip(SIPPackage)", r"def configure_args(self"],
+ ),
+ (["-t", "waf", "/test-waf"], "test-waf", [r"TestWaf(WafPackage)", r"configure_args()"]),
+ ],
+)
def test_create_template(parser, mock_test_repo, args, name, expected):
"""Test template creation."""
repo, repodir = mock_test_repo
- constr_args = parser.parse_args(['--skip-editor'] + args)
+ constr_args = parser.parse_args(["--skip-editor"] + args)
spack.cmd.create.create(parser, constr_args)
filename = repo.filename_for_package_name(name)
assert os.path.exists(filename)
- with open(filename, 'r') as package_file:
- content = ' '.join(package_file.readlines())
+ with open(filename, "r") as package_file:
+ content = " ".join(package_file.readlines())
for entry in expected:
assert entry in content
-@pytest.mark.parametrize('name,expected', [
- (' ', 'name must be provided'),
- ('bad#name', 'name can only contain'),
-])
-def test_create_template_bad_name(
- parser, mock_test_repo, name, expected, capsys):
+@pytest.mark.parametrize(
+ "name,expected",
+ [
+ (" ", "name must be provided"),
+ ("bad#name", "name can only contain"),
+ ],
+)
+def test_create_template_bad_name(parser, mock_test_repo, name, expected, capsys):
"""Test template creation with bad name options."""
- constr_args = parser.parse_args(['--skip-editor', '-n', name])
+ constr_args = parser.parse_args(["--skip-editor", "-n", name])
with pytest.raises(SystemExit):
spack.cmd.create.create(parser, constr_args)
@@ -111,9 +167,8 @@ def test_build_system_guesser_no_stage(parser):
guesser = spack.cmd.create.BuildSystemGuesser()
# Ensure get the expected build system
- with pytest.raises(AttributeError,
- match="'NoneType' object has no attribute"):
- guesser(None, '/the/url/does/not/matter')
+ with pytest.raises(AttributeError, match="'NoneType' object has no attribute"):
+ guesser(None, "/the/url/does/not/matter")
def test_build_system_guesser_octave(parser):
@@ -122,7 +177,7 @@ def test_build_system_guesser_octave(parser):
identifies the build system rather than guessing the build system from
files contained in the archive.
"""
- url, expected = 'downloads.sourceforge.net/octave/', 'octave'
+ url, expected = "downloads.sourceforge.net/octave/", "octave"
guesser = spack.cmd.create.BuildSystemGuesser()
# Ensure get the expected build system
@@ -135,10 +190,13 @@ def test_build_system_guesser_octave(parser):
assert bs == expected
-@pytest.mark.parametrize('url,expected', [
- ('testname', 'testname'),
- ('file://example.com/archive.tar.gz', 'archive'),
-])
+@pytest.mark.parametrize(
+ "url,expected",
+ [
+ ("testname", "testname"),
+ ("file://example.com/archive.tar.gz", "archive"),
+ ],
+)
def test_get_name_urls(parser, url, expected):
"""Test get_name with different URLs."""
args = parser.parse_args([url])
@@ -148,12 +206,13 @@ def test_get_name_urls(parser, url, expected):
def test_get_name_error(parser, monkeypatch, capsys):
"""Test get_name UndetectableNameError exception path."""
+
def _parse_name_offset(path, v):
raise UndetectableNameError(path)
- monkeypatch.setattr(spack.url, 'parse_name_offset', _parse_name_offset)
+ monkeypatch.setattr(spack.url, "parse_name_offset", _parse_name_offset)
- url = 'downloads.sourceforge.net/noapp/'
+ url = "downloads.sourceforge.net/noapp/"
args = parser.parse_args([url])
with pytest.raises(SystemExit):
@@ -164,5 +223,5 @@ def test_get_name_error(parser, monkeypatch, capsys):
def test_no_url(parser):
"""Test creation of package without a URL."""
- args = parser.parse_args(['--skip-editor', '-n', 'create-new-package'])
+ args = parser.parse_args(["--skip-editor", "-n", "create-new-package"])
spack.cmd.create.create(parser, args)
diff --git a/lib/spack/spack/test/cmd/debug.py b/lib/spack/spack/test/cmd/debug.py
index ef00e28f48..ec52234517 100644
--- a/lib/spack/spack/test/cmd/debug.py
+++ b/lib/spack/spack/test/cmd/debug.py
@@ -15,30 +15,29 @@ import spack.platforms
from spack.main import SpackCommand, get_version
from spack.util.executable import which
-debug = SpackCommand('debug')
+debug = SpackCommand("debug")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.mark.db
def test_create_db_tarball(tmpdir, database):
with tmpdir.as_cwd():
- debug('create-db-tarball')
+ debug("create-db-tarball")
# get the first non-dotfile to avoid coverage files in the directory
files = os.listdir(os.getcwd())
- tarball_name = next(f for f in files if not f.startswith('.'))
+ tarball_name = next(f for f in files if not f.startswith("."))
# debug command made an archive
assert os.path.exists(tarball_name)
# print contents of archive
- tar = which('tar')
- contents = tar('tzf', tarball_name, output=str)
+ tar = which("tar")
+ contents = tar("tzf", tarball_name, output=str)
# DB file is included
- assert 'index.json' in contents
+ assert "index.json" in contents
# specfiles from all installs are included
for spec in database.query():
@@ -46,20 +45,18 @@ def test_create_db_tarball(tmpdir, database):
if spec.external:
continue
- spec_suffix = '%s/.spack/spec.json' % spec.dag_hash()
+ spec_suffix = "%s/.spack/spec.json" % spec.dag_hash()
assert spec_suffix in contents
def test_report():
- out = debug('report')
+ out = debug("report")
host_platform = spack.platforms.host()
- host_os = host_platform.operating_system('frontend')
- host_target = host_platform.target('frontend')
- architecture = spack.spec.ArchSpec(
- (str(host_platform), str(host_os), str(host_target))
- )
+ host_os = host_platform.operating_system("frontend")
+ host_target = host_platform.target("frontend")
+ architecture = spack.spec.ArchSpec((str(host_platform), str(host_os), str(host_target)))
assert get_version() in out
assert platform.python_version() in out
assert str(architecture) in out
- assert spack.config.get('config:concretizer') in out
+ assert spack.config.get("config:concretizer") in out
diff --git a/lib/spack/spack/test/cmd/dependencies.py b/lib/spack/spack/test/cmd/dependencies.py
index 50ce7b8dde..647c72f5f8 100644
--- a/lib/spack/spack/test/cmd/dependencies.py
+++ b/lib/spack/spack/test/cmd/dependencies.py
@@ -13,59 +13,51 @@ from llnl.util.tty.color import color_when
import spack.store
from spack.main import SpackCommand
-dependencies = SpackCommand('dependencies')
+dependencies = SpackCommand("dependencies")
-mpis = [
- 'low-priority-provider', 'mpich', 'mpich2', 'multi-provider-mpi', 'zmpi'
-]
-mpi_deps = ['fake']
+mpis = ["low-priority-provider", "mpich", "mpich2", "multi-provider-mpi", "zmpi"]
+mpi_deps = ["fake"]
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_direct_dependencies(mock_packages):
- out = dependencies('mpileaks')
- actual = set(re.split(r'\s+', out.strip()))
- expected = set(['callpath'] + mpis)
+ out = dependencies("mpileaks")
+ actual = set(re.split(r"\s+", out.strip()))
+ expected = set(["callpath"] + mpis)
assert expected == actual
def test_transitive_dependencies(mock_packages):
- out = dependencies('--transitive', 'mpileaks')
- actual = set(re.split(r'\s+', out.strip()))
- expected = set(
- ['callpath', 'dyninst', 'libdwarf', 'libelf'] + mpis + mpi_deps)
+ out = dependencies("--transitive", "mpileaks")
+ actual = set(re.split(r"\s+", out.strip()))
+ expected = set(["callpath", "dyninst", "libdwarf", "libelf"] + mpis + mpi_deps)
assert expected == actual
def test_transitive_dependencies_with_deptypes(mock_packages):
- out = dependencies('--transitive', '--deptype=link,run', 'dtbuild1')
- deps = set(re.split(r'\s+', out.strip()))
- assert set(['dtlink2', 'dtrun2']) == deps
+ out = dependencies("--transitive", "--deptype=link,run", "dtbuild1")
+ deps = set(re.split(r"\s+", out.strip()))
+ assert set(["dtlink2", "dtrun2"]) == deps
- out = dependencies('--transitive', '--deptype=build', 'dtbuild1')
- deps = set(re.split(r'\s+', out.strip()))
- assert set(['dtbuild2', 'dtlink2']) == deps
+ out = dependencies("--transitive", "--deptype=build", "dtbuild1")
+ deps = set(re.split(r"\s+", out.strip()))
+ assert set(["dtbuild2", "dtlink2"]) == deps
- out = dependencies('--transitive', '--deptype=link', 'dtbuild1')
- deps = set(re.split(r'\s+', out.strip()))
- assert set(['dtlink2']) == deps
+ out = dependencies("--transitive", "--deptype=link", "dtbuild1")
+ deps = set(re.split(r"\s+", out.strip()))
+ assert set(["dtlink2"]) == deps
@pytest.mark.db
def test_direct_installed_dependencies(mock_packages, database):
with color_when(False):
- out = dependencies('--installed', 'mpileaks^mpich')
+ out = dependencies("--installed", "mpileaks^mpich")
- lines = [
- line for line in out.strip().split('\n')
- if not line.startswith('--')
- ]
- hashes = set([re.split(r'\s+', line)[0] for line in lines])
+ lines = [line for line in out.strip().split("\n") if not line.startswith("--")]
+ hashes = set([re.split(r"\s+", line)[0] for line in lines])
- expected = set([spack.store.db.query_one(s).dag_hash(7)
- for s in ['mpich', 'callpath^mpich']])
+ expected = set([spack.store.db.query_one(s).dag_hash(7) for s in ["mpich", "callpath^mpich"]])
assert expected == hashes
@@ -73,16 +65,16 @@ def test_direct_installed_dependencies(mock_packages, database):
@pytest.mark.db
def test_transitive_installed_dependencies(mock_packages, database):
with color_when(False):
- out = dependencies('--installed', '--transitive', 'mpileaks^zmpi')
+ out = dependencies("--installed", "--transitive", "mpileaks^zmpi")
- lines = [
- line for line in out.strip().split('\n')
- if not line.startswith('--')
- ]
- hashes = set([re.split(r'\s+', line)[0] for line in lines])
+ lines = [line for line in out.strip().split("\n") if not line.startswith("--")]
+ hashes = set([re.split(r"\s+", line)[0] for line in lines])
- expected = set([spack.store.db.query_one(s).dag_hash(7)
- for s in ['zmpi', 'callpath^zmpi', 'fake',
- 'dyninst', 'libdwarf', 'libelf']])
+ expected = set(
+ [
+ spack.store.db.query_one(s).dag_hash(7)
+ for s in ["zmpi", "callpath^zmpi", "fake", "dyninst", "libdwarf", "libelf"]
+ ]
+ )
assert expected == hashes
diff --git a/lib/spack/spack/test/cmd/dependents.py b/lib/spack/spack/test/cmd/dependents.py
index d9b6d8a2f6..99052d7995 100644
--- a/lib/spack/spack/test/cmd/dependents.py
+++ b/lib/spack/spack/test/cmd/dependents.py
@@ -13,53 +13,56 @@ from llnl.util.tty.color import color_when
import spack.store
from spack.main import SpackCommand
-dependents = SpackCommand('dependents')
+dependents = SpackCommand("dependents")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_immediate_dependents(mock_packages):
- out = dependents('libelf')
- actual = set(re.split(r'\s+', out.strip()))
- assert actual == set([
- 'dyninst',
- 'libdwarf',
- 'patch-a-dependency',
- 'patch-several-dependencies',
- 'quantum-espresso',
- 'conditionally-patch-dependency'
- ])
+ out = dependents("libelf")
+ actual = set(re.split(r"\s+", out.strip()))
+ assert actual == set(
+ [
+ "dyninst",
+ "libdwarf",
+ "patch-a-dependency",
+ "patch-several-dependencies",
+ "quantum-espresso",
+ "conditionally-patch-dependency",
+ ]
+ )
def test_transitive_dependents(mock_packages):
- out = dependents('--transitive', 'libelf')
- actual = set(re.split(r'\s+', out.strip()))
- assert actual == set([
- 'callpath',
- 'dyninst',
- 'libdwarf',
- 'mpileaks',
- 'multivalue-variant',
- 'singlevalue-variant-dependent',
- 'patch-a-dependency', 'patch-several-dependencies',
- 'quantum-espresso',
- 'conditionally-patch-dependency'
- ])
+ out = dependents("--transitive", "libelf")
+ actual = set(re.split(r"\s+", out.strip()))
+ assert actual == set(
+ [
+ "callpath",
+ "dyninst",
+ "libdwarf",
+ "mpileaks",
+ "multivalue-variant",
+ "singlevalue-variant-dependent",
+ "patch-a-dependency",
+ "patch-several-dependencies",
+ "quantum-espresso",
+ "conditionally-patch-dependency",
+ ]
+ )
@pytest.mark.db
def test_immediate_installed_dependents(mock_packages, database):
with color_when(False):
- out = dependents('--installed', 'libelf')
+ out = dependents("--installed", "libelf")
- lines = [li for li in out.strip().split('\n') if not li.startswith('--')]
- hashes = set([re.split(r'\s+', li)[0] for li in lines])
+ lines = [li for li in out.strip().split("\n") if not li.startswith("--")]
+ hashes = set([re.split(r"\s+", li)[0] for li in lines])
- expected = set([spack.store.db.query_one(s).dag_hash(7)
- for s in ['dyninst', 'libdwarf']])
+ expected = set([spack.store.db.query_one(s).dag_hash(7) for s in ["dyninst", "libdwarf"]])
- libelf = spack.store.db.query_one('libelf')
+ libelf = spack.store.db.query_one("libelf")
expected = set([d.dag_hash(7) for d in libelf.dependents()])
assert expected == hashes
@@ -68,12 +71,16 @@ def test_immediate_installed_dependents(mock_packages, database):
@pytest.mark.db
def test_transitive_installed_dependents(mock_packages, database):
with color_when(False):
- out = dependents('--installed', '--transitive', 'fake')
+ out = dependents("--installed", "--transitive", "fake")
- lines = [li for li in out.strip().split('\n') if not li.startswith('--')]
- hashes = set([re.split(r'\s+', li)[0] for li in lines])
+ lines = [li for li in out.strip().split("\n") if not li.startswith("--")]
+ hashes = set([re.split(r"\s+", li)[0] for li in lines])
- expected = set([spack.store.db.query_one(s).dag_hash(7)
- for s in ['zmpi', 'callpath^zmpi', 'mpileaks^zmpi']])
+ expected = set(
+ [
+ spack.store.db.query_one(s).dag_hash(7)
+ for s in ["zmpi", "callpath^zmpi", "mpileaks^zmpi"]
+ ]
+ )
assert expected == hashes
diff --git a/lib/spack/spack/test/cmd/deprecate.py b/lib/spack/spack/test/cmd/deprecate.py
index 0abe0024d7..b1fe8ca059 100644
--- a/lib/spack/spack/test/cmd/deprecate.py
+++ b/lib/spack/spack/test/cmd/deprecate.py
@@ -11,78 +11,72 @@ import spack.store
from spack.database import InstallStatuses
from spack.main import SpackCommand
-install = SpackCommand('install')
-uninstall = SpackCommand('uninstall')
-deprecate = SpackCommand('deprecate')
-find = SpackCommand('find')
-activate = SpackCommand('activate')
+install = SpackCommand("install")
+uninstall = SpackCommand("uninstall")
+deprecate = SpackCommand("deprecate")
+find = SpackCommand("find")
+activate = SpackCommand("activate")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_deprecate(mock_packages, mock_archive, mock_fetch, install_mockery):
- install('libelf@0.8.13')
- install('libelf@0.8.10')
+ install("libelf@0.8.13")
+ install("libelf@0.8.10")
all_installed = spack.store.db.query()
assert len(all_installed) == 2
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.13")
non_deprecated = spack.store.db.query()
all_available = spack.store.db.query(installed=any)
assert all_available == all_installed
- assert non_deprecated == spack.store.db.query('libelf@0.8.13')
+ assert non_deprecated == spack.store.db.query("libelf@0.8.13")
-def test_deprecate_fails_no_such_package(mock_packages, mock_archive,
- mock_fetch, install_mockery):
+def test_deprecate_fails_no_such_package(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that deprecating a spec that is not installed fails.
Tests that deprecating without the ``-i`` option in favor of a spec that
is not installed fails."""
- output = deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13',
- fail_on_error=False)
+ output = deprecate("-y", "libelf@0.8.10", "libelf@0.8.13", fail_on_error=False)
assert "Spec 'libelf@0.8.10' matches no installed packages" in output
- install('libelf@0.8.10')
+ install("libelf@0.8.10")
- output = deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13',
- fail_on_error=False)
+ output = deprecate("-y", "libelf@0.8.10", "libelf@0.8.13", fail_on_error=False)
assert "Spec 'libelf@0.8.13' matches no installed packages" in output
-def test_deprecate_install(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_deprecate_install(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that the ```-i`` option allows us to deprecate in favor of a spec
that is not yet installed."""
- install('libelf@0.8.10')
+ install("libelf@0.8.10")
to_deprecate = spack.store.db.query()
assert len(to_deprecate) == 1
- deprecate('-y', '-i', 'libelf@0.8.10', 'libelf@0.8.13')
+ deprecate("-y", "-i", "libelf@0.8.10", "libelf@0.8.13")
non_deprecated = spack.store.db.query()
deprecated = spack.store.db.query(installed=InstallStatuses.DEPRECATED)
assert deprecated == to_deprecate
assert len(non_deprecated) == 1
- assert non_deprecated[0].satisfies('libelf@0.8.13')
+ assert non_deprecated[0].satisfies("libelf@0.8.13")
-def test_deprecate_deps(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_deprecate_deps(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Test that the deprecate command deprecates all dependencies properly."""
- install('libdwarf@20130729 ^libelf@0.8.13')
- install('libdwarf@20130207 ^libelf@0.8.10')
+ install("libdwarf@20130729 ^libelf@0.8.13")
+ install("libdwarf@20130207 ^libelf@0.8.10")
- new_spec = spack.spec.Spec('libdwarf@20130729^libelf@0.8.13').concretized()
- old_spec = spack.spec.Spec('libdwarf@20130207^libelf@0.8.10').concretized()
+ new_spec = spack.spec.Spec("libdwarf@20130729^libelf@0.8.13").concretized()
+ old_spec = spack.spec.Spec("libdwarf@20130207^libelf@0.8.10").concretized()
all_installed = spack.store.db.query()
- deprecate('-y', '-d', 'libdwarf@20130207', 'libdwarf@20130729')
+ deprecate("-y", "-d", "libdwarf@20130207", "libdwarf@20130729")
non_deprecated = spack.store.db.query()
all_available = spack.store.db.query(installed=any)
@@ -95,56 +89,53 @@ def test_deprecate_deps(mock_packages, mock_archive, mock_fetch,
assert sorted(deprecated) == sorted(list(old_spec.traverse()))
-def test_deprecate_fails_active_extensions(mock_packages, mock_archive,
- mock_fetch, install_mockery):
+def test_deprecate_fails_active_extensions(
+ mock_packages, mock_archive, mock_fetch, install_mockery
+):
"""Tests that active extensions and their extendees cannot be
deprecated."""
- install('extendee')
- install('extension1')
- activate('extension1')
+ install("extendee")
+ install("extension1")
+ activate("extension1")
- output = deprecate('-yi', 'extendee', 'extendee@nonexistent',
- fail_on_error=False)
- assert 'extension1' in output
+ output = deprecate("-yi", "extendee", "extendee@nonexistent", fail_on_error=False)
+ assert "extension1" in output
assert "Deactivate extensions before deprecating" in output
- output = deprecate('-yiD', 'extension1', 'extension1@notaversion',
- fail_on_error=False)
- assert 'extendee' in output
- assert 'is an active extension of' in output
+ output = deprecate("-yiD", "extension1", "extension1@notaversion", fail_on_error=False)
+ assert "extendee" in output
+ assert "is an active extension of" in output
-def test_uninstall_deprecated(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_uninstall_deprecated(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that we can still uninstall deprecated packages."""
- install('libelf@0.8.13')
- install('libelf@0.8.10')
+ install("libelf@0.8.13")
+ install("libelf@0.8.10")
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.13")
non_deprecated = spack.store.db.query()
- uninstall('-y', 'libelf@0.8.10')
+ uninstall("-y", "libelf@0.8.10")
assert spack.store.db.query() == spack.store.db.query(installed=any)
assert spack.store.db.query() == non_deprecated
-def test_deprecate_already_deprecated(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_deprecate_already_deprecated(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that we can re-deprecate a spec to change its deprecator."""
- install('libelf@0.8.13')
- install('libelf@0.8.12')
- install('libelf@0.8.10')
+ install("libelf@0.8.13")
+ install("libelf@0.8.12")
+ install("libelf@0.8.10")
- deprecated_spec = spack.spec.Spec('libelf@0.8.10').concretized()
+ deprecated_spec = spack.spec.Spec("libelf@0.8.10").concretized()
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.12')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.12")
deprecator = spack.store.db.deprecator(deprecated_spec)
- assert deprecator == spack.spec.Spec('libelf@0.8.12').concretized()
+ assert deprecator == spack.spec.Spec("libelf@0.8.12").concretized()
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.13")
non_deprecated = spack.store.db.query()
all_available = spack.store.db.query(installed=any)
@@ -152,27 +143,26 @@ def test_deprecate_already_deprecated(mock_packages, mock_archive, mock_fetch,
assert len(all_available) == 3
deprecator = spack.store.db.deprecator(deprecated_spec)
- assert deprecator == spack.spec.Spec('libelf@0.8.13').concretized()
+ assert deprecator == spack.spec.Spec("libelf@0.8.13").concretized()
-def test_deprecate_deprecator(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_deprecate_deprecator(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that when a deprecator spec is deprecated, its deprecatee specs
are updated to point to the new deprecator."""
- install('libelf@0.8.13')
- install('libelf@0.8.12')
- install('libelf@0.8.10')
+ install("libelf@0.8.13")
+ install("libelf@0.8.12")
+ install("libelf@0.8.10")
- first_deprecated_spec = spack.spec.Spec('libelf@0.8.10').concretized()
- second_deprecated_spec = spack.spec.Spec('libelf@0.8.12').concretized()
- final_deprecator = spack.spec.Spec('libelf@0.8.13').concretized()
+ first_deprecated_spec = spack.spec.Spec("libelf@0.8.10").concretized()
+ second_deprecated_spec = spack.spec.Spec("libelf@0.8.12").concretized()
+ final_deprecator = spack.spec.Spec("libelf@0.8.13").concretized()
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.12')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.12")
deprecator = spack.store.db.deprecator(first_deprecated_spec)
assert deprecator == second_deprecated_spec
- deprecate('-y', 'libelf@0.8.12', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.12", "libelf@0.8.13")
non_deprecated = spack.store.db.query()
all_available = spack.store.db.query(installed=any)
@@ -185,15 +175,14 @@ def test_deprecate_deprecator(mock_packages, mock_archive, mock_fetch,
assert second_deprecator == final_deprecator
-def test_concretize_deprecated(mock_packages, mock_archive, mock_fetch,
- install_mockery):
+def test_concretize_deprecated(mock_packages, mock_archive, mock_fetch, install_mockery):
"""Tests that the concretizer throws an error if we concretize to a
deprecated spec"""
- install('libelf@0.8.13')
- install('libelf@0.8.10')
+ install("libelf@0.8.13")
+ install("libelf@0.8.10")
- deprecate('-y', 'libelf@0.8.10', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.10", "libelf@0.8.13")
- spec = spack.spec.Spec('libelf@0.8.10')
+ spec = spack.spec.Spec("libelf@0.8.10")
with pytest.raises(spack.spec.SpecDeprecatedError):
spec.concretize()
diff --git a/lib/spack/spack/test/cmd/dev_build.py b/lib/spack/spack/test/cmd/dev_build.py
index bd1abdf2d6..cad706e648 100644
--- a/lib/spack/spack/test/cmd/dev_build.py
+++ b/lib/spack/spack/test/cmd/dev_build.py
@@ -14,62 +14,61 @@ import spack.environment as ev
import spack.spec
from spack.main import SpackCommand
-dev_build = SpackCommand('dev-build')
-install = SpackCommand('install')
-env = SpackCommand('env')
+dev_build = SpackCommand("dev-build")
+install = SpackCommand("install")
+env = SpackCommand("env")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_dev_build_basics(tmpdir, mock_packages, install_mockery):
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
- assert 'dev_path' in spec.variants
+ assert "dev_path" in spec.variants
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
- dev_build('dev-build-test-install@0.0.0')
+ dev_build("dev-build-test-install@0.0.0")
assert spec.package.filename in os.listdir(spec.prefix)
- with open(os.path.join(spec.prefix, spec.package.filename), 'r') as f:
+ with open(os.path.join(spec.prefix, spec.package.filename), "r") as f:
assert f.read() == spec.package.replacement_string
assert os.path.exists(str(tmpdir))
def test_dev_build_before(tmpdir, mock_packages, install_mockery):
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
- dev_build('-b', 'edit', 'dev-build-test-install@0.0.0')
+ dev_build("-b", "edit", "dev-build-test-install@0.0.0")
assert spec.package.filename in os.listdir(os.getcwd())
- with open(spec.package.filename, 'r') as f:
+ with open(spec.package.filename, "r") as f:
assert f.read() == spec.package.original_string
assert not os.path.exists(spec.prefix)
def test_dev_build_until(tmpdir, mock_packages, install_mockery):
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
- dev_build('-u', 'edit', 'dev-build-test-install@0.0.0')
+ dev_build("-u", "edit", "dev-build-test-install@0.0.0")
assert spec.package.filename in os.listdir(os.getcwd())
- with open(spec.package.filename, 'r') as f:
+ with open(spec.package.filename, "r") as f:
assert f.read() == spec.package.replacement_string
assert not os.path.exists(spec.prefix)
@@ -78,17 +77,17 @@ def test_dev_build_until(tmpdir, mock_packages, install_mockery):
def test_dev_build_until_last_phase(tmpdir, mock_packages, install_mockery):
# Test that we ignore the last_phase argument if it is already last
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
- dev_build('-u', 'install', 'dev-build-test-install@0.0.0')
+ dev_build("-u", "install", "dev-build-test-install@0.0.0")
assert spec.package.filename in os.listdir(os.getcwd())
- with open(spec.package.filename, 'r') as f:
+ with open(spec.package.filename, "r") as f:
assert f.read() == spec.package.replacement_string
assert os.path.exists(spec.prefix)
@@ -97,28 +96,25 @@ def test_dev_build_until_last_phase(tmpdir, mock_packages, install_mockery):
def test_dev_build_before_until(tmpdir, mock_packages, install_mockery, capsys):
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
with pytest.raises(SystemExit):
- dev_build('-u', 'edit', '-b', 'edit',
- 'dev-build-test-install@0.0.0')
-
- bad_phase = 'phase_that_does_not_exist'
- not_allowed = 'is not a valid phase'
- not_installed = 'was not installed'
- out = dev_build('-u', bad_phase, 'dev-build-test-install@0.0.0',
- fail_on_error=False)
+ dev_build("-u", "edit", "-b", "edit", "dev-build-test-install@0.0.0")
+
+ bad_phase = "phase_that_does_not_exist"
+ not_allowed = "is not a valid phase"
+ not_installed = "was not installed"
+ out = dev_build("-u", bad_phase, "dev-build-test-install@0.0.0", fail_on_error=False)
assert bad_phase in out
assert not_allowed in out
assert not_installed in out
- out = dev_build('-b', bad_phase, 'dev-build-test-install@0.0.0',
- fail_on_error=False)
+ out = dev_build("-b", bad_phase, "dev-build-test-install@0.0.0", fail_on_error=False)
assert bad_phase in out
assert not_allowed in out
assert not_installed in out
@@ -126,7 +122,7 @@ def test_dev_build_before_until(tmpdir, mock_packages, install_mockery, capsys):
def print_spack_cc(*args):
# Eat arguments and print environment variable to test
- print(os.environ.get('CC', ''))
+ print(os.environ.get("CC", ""))
# `module unload cray-libsci` in test environment causes failure
@@ -137,70 +133,66 @@ def mock_module_noop(*args):
pass
-def test_dev_build_drop_in(tmpdir, mock_packages, monkeypatch,
- install_mockery, working_env):
- monkeypatch.setattr(os, 'execvp', print_spack_cc)
+def test_dev_build_drop_in(tmpdir, mock_packages, monkeypatch, install_mockery, working_env):
+ monkeypatch.setattr(os, "execvp", print_spack_cc)
- monkeypatch.setattr(spack.build_environment, 'module', mock_module_noop)
+ monkeypatch.setattr(spack.build_environment, "module", mock_module_noop)
with tmpdir.as_cwd():
- output = dev_build('-b', 'edit', '--drop-in', 'sh',
- 'dev-build-test-install@0.0.0')
+ output = dev_build("-b", "edit", "--drop-in", "sh", "dev-build-test-install@0.0.0")
assert "lib/spack/env" in output
-def test_dev_build_fails_already_installed(tmpdir, mock_packages,
- install_mockery):
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+def test_dev_build_fails_already_installed(tmpdir, mock_packages, install_mockery):
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with tmpdir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
- dev_build('dev-build-test-install@0.0.0')
- output = dev_build('dev-build-test-install@0.0.0', fail_on_error=False)
- assert 'Already installed in %s' % spec.prefix in output
+ dev_build("dev-build-test-install@0.0.0")
+ output = dev_build("dev-build-test-install@0.0.0", fail_on_error=False)
+ assert "Already installed in %s" % spec.prefix in output
def test_dev_build_fails_no_spec():
output = dev_build(fail_on_error=False)
- assert 'requires a package spec argument' in output
+ assert "requires a package spec argument" in output
def test_dev_build_fails_multiple_specs(mock_packages):
- output = dev_build('libelf', 'libdwarf', fail_on_error=False)
- assert 'only takes one spec' in output
+ output = dev_build("libelf", "libdwarf", fail_on_error=False)
+ assert "only takes one spec" in output
def test_dev_build_fails_nonexistent_package_name(mock_packages):
- output = dev_build('no_such_package', fail_on_error=False)
+ output = dev_build("no_such_package", fail_on_error=False)
assert "No package for 'no_such_package' was found" in output
def test_dev_build_fails_no_version(mock_packages):
- output = dev_build('dev-build-test-install', fail_on_error=False)
- assert 'dev-build spec must have a single, concrete version' in output
+ output = dev_build("dev-build-test-install", fail_on_error=False)
+ assert "dev-build spec must have a single, concrete version" in output
-def test_dev_build_env(tmpdir, mock_packages, install_mockery,
- mutable_mock_env_path):
+def test_dev_build_env(tmpdir, mock_packages, install_mockery, mutable_mock_env_path):
"""Test Spack does dev builds for packages in develop section of env."""
# setup dev-build-test-install package for dev build
- build_dir = tmpdir.mkdir('build')
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' %
- build_dir)
+ build_dir = tmpdir.mkdir("build")
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % build_dir)
spec.concretize()
with build_dir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- dev-build-test-install@0.0.0
@@ -209,34 +201,38 @@ env:
dev-build-test-install:
spec: dev-build-test-install@0.0.0
path: %s
-""" % os.path.relpath(str(build_dir), start=str(envdir)))
+"""
+ % os.path.relpath(str(build_dir), start=str(envdir))
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
assert spec.package.filename in os.listdir(spec.prefix)
- with open(os.path.join(spec.prefix, spec.package.filename), 'r') as f:
+ with open(os.path.join(spec.prefix, spec.package.filename), "r") as f:
assert f.read() == spec.package.replacement_string
-def test_dev_build_env_version_mismatch(tmpdir, mock_packages, install_mockery,
- mutable_mock_env_path):
+def test_dev_build_env_version_mismatch(
+ tmpdir, mock_packages, install_mockery, mutable_mock_env_path
+):
"""Test Spack constraints concretization by develop specs."""
# setup dev-build-test-install package for dev build
- build_dir = tmpdir.mkdir('build')
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' % tmpdir)
+ build_dir = tmpdir.mkdir("build")
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % tmpdir)
spec.concretize()
with build_dir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- dev-build-test-install@0.0.0
@@ -245,42 +241,46 @@ env:
dev-build-test-install:
spec: dev-build-test-install@1.1.1
path: %s
-""" % build_dir)
+"""
+ % build_dir
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
with pytest.raises(RuntimeError):
install()
-def test_dev_build_multiple(tmpdir, mock_packages, install_mockery,
- mutable_mock_env_path, mock_fetch):
+def test_dev_build_multiple(
+ tmpdir, mock_packages, install_mockery, mutable_mock_env_path, mock_fetch
+):
"""Test spack install with multiple developer builds"""
# setup dev-build-test-install package for dev build
# Wait to concretize inside the environment to set dev_path on the specs;
# without the environment, the user would need to set dev_path for both the
# root and dependency if they wanted a dev build for both.
- leaf_dir = tmpdir.mkdir('leaf')
- leaf_spec = spack.spec.Spec('dev-build-test-install@0.0.0')
+ leaf_dir = tmpdir.mkdir("leaf")
+ leaf_spec = spack.spec.Spec("dev-build-test-install@0.0.0")
leaf_pkg_cls = spack.repo.path.get_pkg_class(leaf_spec.name)
with leaf_dir.as_cwd():
- with open(leaf_pkg_cls.filename, 'w') as f:
+ with open(leaf_pkg_cls.filename, "w") as f:
f.write(leaf_pkg_cls.original_string)
# setup dev-build-test-dependent package for dev build
# don't concretize outside environment -- dev info will be wrong
- root_dir = tmpdir.mkdir('root')
- root_spec = spack.spec.Spec('dev-build-test-dependent@0.0.0')
+ root_dir = tmpdir.mkdir("root")
+ root_spec = spack.spec.Spec("dev-build-test-dependent@0.0.0")
root_pkg_cls = spack.repo.path.get_pkg_class(root_spec.name)
with root_dir.as_cwd():
- with open(root_pkg_cls.filename, 'w') as f:
+ with open(root_pkg_cls.filename, "w") as f:
f.write(root_pkg_cls.original_string)
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- dev-build-test-install@0.0.0
@@ -293,10 +293,12 @@ env:
dev-build-test-dependent:
spec: dev-build-test-dependent@0.0.0
path: %s
-""" % (leaf_dir, root_dir))
+"""
+ % (leaf_dir, root_dir)
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
# Do concretization inside environment for dev info
leaf_spec.concretize()
root_spec.concretize()
@@ -306,30 +308,32 @@ env:
for spec in (leaf_spec, root_spec):
assert spec.package.filename in os.listdir(spec.prefix)
- with open(os.path.join(spec.prefix, spec.package.filename), 'r') as f:
+ with open(os.path.join(spec.prefix, spec.package.filename), "r") as f:
assert f.read() == spec.package.replacement_string
-def test_dev_build_env_dependency(tmpdir, mock_packages, install_mockery,
- mock_fetch, mutable_mock_env_path):
+def test_dev_build_env_dependency(
+ tmpdir, mock_packages, install_mockery, mock_fetch, mutable_mock_env_path
+):
"""
Test non-root specs in an environment are properly marked for dev builds.
"""
# setup dev-build-test-install package for dev build
- build_dir = tmpdir.mkdir('build')
- spec = spack.spec.Spec('dependent-of-dev-build@0.0.0')
- dep_spec = spack.spec.Spec('dev-build-test-install')
+ build_dir = tmpdir.mkdir("build")
+ spec = spack.spec.Spec("dependent-of-dev-build@0.0.0")
+ dep_spec = spack.spec.Spec("dev-build-test-install")
with build_dir.as_cwd():
dep_pkg_cls = spack.repo.path.get_pkg_class(dep_spec.name)
- with open(dep_pkg_cls.filename, 'w') as f:
+ with open(dep_pkg_cls.filename, "w") as f:
f.write(dep_pkg_cls.original_string)
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- dependent-of-dev-build@0.0.0
@@ -338,10 +342,12 @@ env:
dev-build-test-install:
spec: dev-build-test-install@0.0.0
path: %s
-""" % os.path.relpath(str(build_dir), start=str(envdir)))
+"""
+ % os.path.relpath(str(build_dir), start=str(envdir))
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
# concretize in the environment to get the dev build info
# equivalent to setting dev_build and dev_path variants
# on all specs above
@@ -354,39 +360,38 @@ env:
assert os.path.exists(spec.prefix)
# Ensure variants set properly; ensure build_dir is absolute and normalized
- for dep in (dep_spec, spec['dev-build-test-install']):
- assert dep.satisfies('dev_path=%s' % build_dir)
- assert spec.satisfies('^dev_path=*')
+ for dep in (dep_spec, spec["dev-build-test-install"]):
+ assert dep.satisfies("dev_path=%s" % build_dir)
+ assert spec.satisfies("^dev_path=*")
-@pytest.mark.parametrize('test_spec', ['dev-build-test-install',
- 'dependent-of-dev-build'])
+@pytest.mark.parametrize("test_spec", ["dev-build-test-install", "dependent-of-dev-build"])
def test_dev_build_rebuild_on_source_changes(
- test_spec, tmpdir, mock_packages, install_mockery,
- mutable_mock_env_path, mock_fetch):
+ test_spec, tmpdir, mock_packages, install_mockery, mutable_mock_env_path, mock_fetch
+):
"""Test dev builds rebuild on changes to source code.
``test_spec = dev-build-test-install`` tests rebuild for changes to package
``test_spec = dependent-of-dev-build`` tests rebuild for changes to dep
"""
# setup dev-build-test-install package for dev build
- build_dir = tmpdir.mkdir('build')
- spec = spack.spec.Spec('dev-build-test-install@0.0.0 dev_path=%s' %
- build_dir)
+ build_dir = tmpdir.mkdir("build")
+ spec = spack.spec.Spec("dev-build-test-install@0.0.0 dev_path=%s" % build_dir)
spec.concretize()
def reset_string():
with build_dir.as_cwd():
- with open(spec.package.filename, 'w') as f:
+ with open(spec.package.filename, "w") as f:
f.write(spec.package.original_string)
reset_string()
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- %s@0.0.0
@@ -395,15 +400,17 @@ env:
dev-build-test-install:
spec: dev-build-test-install@0.0.0
path: %s
-""" % (test_spec, build_dir))
+"""
+ % (test_spec, build_dir)
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
reset_string() # so the package will accept rebuilds
- fs.touch(os.path.join(str(build_dir), 'test'))
+ fs.touch(os.path.join(str(build_dir), "test"))
output = install()
- assert 'Installing %s' % test_spec in output
+ assert "Installing %s" % test_spec in output
diff --git a/lib/spack/spack/test/cmd/develop.py b/lib/spack/spack/test/cmd/develop.py
index 325815451b..2c2faaf467 100644
--- a/lib/spack/spack/test/cmd/develop.py
+++ b/lib/spack/spack/test/cmd/develop.py
@@ -14,16 +14,13 @@ import spack.environment as ev
import spack.spec
from spack.main import SpackCommand
-develop = SpackCommand('develop')
-env = SpackCommand('env')
+develop = SpackCommand("develop")
+env = SpackCommand("env")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.mark.usefixtures(
- 'mutable_mock_env_path', 'mock_packages', 'mock_fetch', 'config'
-)
+@pytest.mark.usefixtures("mutable_mock_env_path", "mock_packages", "mock_fetch", "config")
class TestDevelop(object):
def check_develop(self, env, spec, path=None):
path = path or spec.name
@@ -31,77 +28,77 @@ class TestDevelop(object):
# check in memory representation
assert spec.name in env.dev_specs
dev_specs_entry = env.dev_specs[spec.name]
- assert dev_specs_entry['path'] == path
- assert dev_specs_entry['spec'] == str(spec)
+ assert dev_specs_entry["path"] == path
+ assert dev_specs_entry["spec"] == str(spec)
# check yaml representation
yaml = ev.config_dict(env.yaml)
- assert spec.name in yaml['develop']
- yaml_entry = yaml['develop'][spec.name]
- assert yaml_entry['spec'] == str(spec)
+ assert spec.name in yaml["develop"]
+ yaml_entry = yaml["develop"][spec.name]
+ assert yaml_entry["spec"] == str(spec)
if path == spec.name:
# default paths aren't written out
- assert 'path' not in yaml_entry
+ assert "path" not in yaml_entry
else:
- assert yaml_entry['path'] == path
+ assert yaml_entry["path"] == path
def test_develop_no_path_no_clone(self):
- env('create', 'test')
- with ev.read('test') as e:
+ env("create", "test")
+ with ev.read("test") as e:
# develop checks that the path exists
- fs.mkdirp(os.path.join(e.path, 'mpich'))
- develop('--no-clone', 'mpich@1.0')
- self.check_develop(e, spack.spec.Spec('mpich@1.0'))
+ fs.mkdirp(os.path.join(e.path, "mpich"))
+ develop("--no-clone", "mpich@1.0")
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"))
def test_develop_no_clone(self, tmpdir):
- env('create', 'test')
- with ev.read('test') as e:
- develop('--no-clone', '-p', str(tmpdir), 'mpich@1.0')
- self.check_develop(e, spack.spec.Spec('mpich@1.0'), str(tmpdir))
+ env("create", "test")
+ with ev.read("test") as e:
+ develop("--no-clone", "-p", str(tmpdir), "mpich@1.0")
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"), str(tmpdir))
def test_develop(self):
- env('create', 'test')
- with ev.read('test') as e:
- develop('mpich@1.0')
- self.check_develop(e, spack.spec.Spec('mpich@1.0'))
+ env("create", "test")
+ with ev.read("test") as e:
+ develop("mpich@1.0")
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"))
def test_develop_no_args(self):
- env('create', 'test')
- with ev.read('test') as e:
+ env("create", "test")
+ with ev.read("test") as e:
# develop and remove it
- develop('mpich@1.0')
- shutil.rmtree(os.path.join(e.path, 'mpich'))
+ develop("mpich@1.0")
+ shutil.rmtree(os.path.join(e.path, "mpich"))
# test develop with no args
develop()
- self.check_develop(e, spack.spec.Spec('mpich@1.0'))
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"))
def test_develop_twice(self):
- env('create', 'test')
- with ev.read('test') as e:
- develop('mpich@1.0')
- self.check_develop(e, spack.spec.Spec('mpich@1.0'))
+ env("create", "test")
+ with ev.read("test") as e:
+ develop("mpich@1.0")
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"))
- develop('mpich@1.0')
+ develop("mpich@1.0")
# disk representation isn't updated unless we write
# second develop command doesn't change it, so we don't write
# but we check disk representation
e.write()
- self.check_develop(e, spack.spec.Spec('mpich@1.0'))
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"))
assert len(e.dev_specs) == 1
def test_develop_update_path(self, tmpdir):
- env('create', 'test')
- with ev.read('test') as e:
- develop('mpich@1.0')
- develop('-p', str(tmpdir), 'mpich@1.0')
- self.check_develop(e, spack.spec.Spec('mpich@1.0'), str(tmpdir))
+ env("create", "test")
+ with ev.read("test") as e:
+ develop("mpich@1.0")
+ develop("-p", str(tmpdir), "mpich@1.0")
+ self.check_develop(e, spack.spec.Spec("mpich@1.0"), str(tmpdir))
assert len(e.dev_specs) == 1
def test_develop_update_spec(self):
- env('create', 'test')
- with ev.read('test') as e:
- develop('mpich@1.0')
- develop('mpich@2.0')
- self.check_develop(e, spack.spec.Spec('mpich@2.0'))
+ env("create", "test")
+ with ev.read("test") as e:
+ develop("mpich@1.0")
+ develop("mpich@2.0")
+ self.check_develop(e, spack.spec.Spec("mpich@2.0"))
assert len(e.dev_specs) == 1
diff --git a/lib/spack/spack/test/cmd/diff.py b/lib/spack/spack/test/cmd/diff.py
index 1568f391c4..9189c45ede 100644
--- a/lib/spack/spack/test/cmd/diff.py
+++ b/lib/spack/spack/test/cmd/diff.py
@@ -13,69 +13,69 @@ import spack.main
import spack.store
import spack.util.spack_json as sjson
-install_cmd = spack.main.SpackCommand('install')
-diff_cmd = spack.main.SpackCommand('diff')
-find_cmd = spack.main.SpackCommand('find')
+install_cmd = spack.main.SpackCommand("install")
+diff_cmd = spack.main.SpackCommand("diff")
+find_cmd = spack.main.SpackCommand("find")
def test_diff_cmd(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()
+ 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
+ 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)
# these particular diffs should have the same length b/c thre aren't
# any node differences -- just value differences.
- assert len(c['a_not_b']) == len(c['b_not_a'])
+ assert len(c["a_not_b"]) == len(c["b_not_a"])
# ensure that variant diffs are in here the result
- assert ['variant_value', 'mpileaks debug False'] in c['a_not_b']
- assert ['variant_value', 'mpileaks debug True'] in c['b_not_a']
+ assert ["variant_value", "mpileaks debug False"] in c["a_not_b"]
+ assert ["variant_value", "mpileaks debug True"] in c["b_not_a"]
# ensure that hash diffs are in here the result
- assert ['hash', 'mpileaks %s' % specA.dag_hash()] in c['a_not_b']
- assert ['hash', 'mpileaks %s' % specB.dag_hash()] in c['b_not_a']
+ assert ["hash", "mpileaks %s" % specA.dag_hash()] in c["a_not_b"]
+ assert ["hash", "mpileaks %s" % specB.dag_hash()] in c["b_not_a"]
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages):
"""Test with and without the --first option"""
- install_cmd('mpileaks')
+ install_cmd("mpileaks")
# Only one version of mpileaks will work
- diff_cmd('mpileaks', 'mpileaks')
+ diff_cmd("mpileaks", "mpileaks")
# 2 specs are required for a diff
with pytest.raises(spack.main.SpackCommandError):
- diff_cmd('mpileaks')
+ diff_cmd("mpileaks")
with pytest.raises(spack.main.SpackCommandError):
- diff_cmd('mpileaks', 'mpileaks', 'mpileaks')
+ diff_cmd("mpileaks", "mpileaks", "mpileaks")
# Ensure they are the same
- assert "No differences" in diff_cmd('mpileaks', 'mpileaks')
- output = diff_cmd('--json', 'mpileaks', 'mpileaks')
+ assert "No differences" in diff_cmd("mpileaks", "mpileaks")
+ output = diff_cmd("--json", "mpileaks", "mpileaks")
result = sjson.load(output)
- assert not result['a_not_b']
- assert not result['b_not_a']
+ assert not result["a_not_b"]
+ assert not result["b_not_a"]
- assert 'mpileaks' in result['a_name']
- assert 'mpileaks' in result['b_name']
+ assert "mpileaks" in result["a_name"]
+ assert "mpileaks" in result["b_name"]
# spot check attributes in the intersection to ensure they describe the spec
assert "intersect" in result
- assert all(["node", dep] in result["intersect"] for dep in (
- "mpileaks", "callpath", "dyninst", "libelf", "libdwarf", "mpich"
- ))
+ assert all(
+ ["node", dep] in result["intersect"]
+ for dep in ("mpileaks", "callpath", "dyninst", "libelf", "libdwarf", "mpich")
+ )
assert all(
len([diff for diff in result["intersect"] if diff[0] == attr]) == 6
for attr in (
@@ -91,26 +91,26 @@ def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages):
)
# After we install another version, it should ask us to disambiguate
- install_cmd('mpileaks+debug')
+ install_cmd("mpileaks+debug")
# There are two versions of mpileaks
with pytest.raises(spack.main.SpackCommandError):
- diff_cmd('mpileaks', 'mpileaks+debug')
+ diff_cmd("mpileaks", "mpileaks+debug")
# But if we tell it to use the first, it won't try to disambiguate
- assert "variant" in diff_cmd('--first', 'mpileaks', 'mpileaks+debug')
+ assert "variant" in diff_cmd("--first", "mpileaks", "mpileaks+debug")
# This matches them exactly
- debug_hash = find_cmd('--format', '{hash}', 'mpileaks+debug').strip()
- no_debug_hashes = find_cmd('--format', '{hash}', 'mpileaks~debug')
+ debug_hash = find_cmd("--format", "{hash}", "mpileaks+debug").strip()
+ no_debug_hashes = find_cmd("--format", "{hash}", "mpileaks~debug")
no_debug_hash = no_debug_hashes.split()[0]
- output = diff_cmd("--json",
- "mpileaks/{0}".format(debug_hash),
- "mpileaks/{0}".format(no_debug_hash))
+ output = diff_cmd(
+ "--json", "mpileaks/{0}".format(debug_hash), "mpileaks/{0}".format(no_debug_hash)
+ )
result = sjson.load(output)
- assert ['hash', 'mpileaks %s' % debug_hash] in result['a_not_b']
- assert ['variant_value', 'mpileaks debug True'] in result['a_not_b']
+ assert ["hash", "mpileaks %s" % debug_hash] in result["a_not_b"]
+ assert ["variant_value", "mpileaks debug True"] in result["a_not_b"]
- assert ['hash', 'mpileaks %s' % no_debug_hash] in result['b_not_a']
- assert ['variant_value', 'mpileaks debug False'] in result['b_not_a']
+ assert ["hash", "mpileaks %s" % no_debug_hash] in result["b_not_a"]
+ assert ["variant_value", "mpileaks debug False"] in result["b_not_a"]
diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py
index 0aa3ae24f7..978ff987da 100644
--- a/lib/spack/spack/test/cmd/env.py
+++ b/lib/spack/spack/test/cmd/env.py
@@ -34,172 +34,173 @@ from spack.version import Version
# TODO-27021
# everything here uses the mock_env_path
pytestmark = [
- pytest.mark.usefixtures('mutable_mock_env_path', 'config', 'mutable_mock_repo'),
+ pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo"),
pytest.mark.maybeslow,
- pytest.mark.skipif(sys.platform == 'win32', reason='Envs unsupported on Window')
+ pytest.mark.skipif(sys.platform == "win32", reason="Envs unsupported on Window"),
]
-env = SpackCommand('env')
-install = SpackCommand('install')
-add = SpackCommand('add')
-remove = SpackCommand('remove')
-concretize = SpackCommand('concretize')
-stage = SpackCommand('stage')
-uninstall = SpackCommand('uninstall')
-find = SpackCommand('find')
+env = SpackCommand("env")
+install = SpackCommand("install")
+add = SpackCommand("add")
+remove = SpackCommand("remove")
+concretize = SpackCommand("concretize")
+stage = SpackCommand("stage")
+uninstall = SpackCommand("uninstall")
+find = SpackCommand("find")
sep = os.sep
def check_mpileaks_and_deps_in_view(viewdir):
"""Check that the expected install directories exist."""
- assert os.path.exists(str(viewdir.join('.spack', 'mpileaks')))
- assert os.path.exists(str(viewdir.join('.spack', 'libdwarf')))
+ assert os.path.exists(str(viewdir.join(".spack", "mpileaks")))
+ assert os.path.exists(str(viewdir.join(".spack", "libdwarf")))
def check_viewdir_removal(viewdir):
"""Check that the uninstall/removal worked."""
- assert (not os.path.exists(str(viewdir.join('.spack'))) or
- os.listdir(str(viewdir.join('.spack'))) == ['projections.yaml'])
+ assert not os.path.exists(str(viewdir.join(".spack"))) or os.listdir(
+ str(viewdir.join(".spack"))
+ ) == ["projections.yaml"]
def test_add():
- e = ev.create('test')
- e.add('mpileaks')
- assert Spec('mpileaks') in e.user_specs
+ e = ev.create("test")
+ e.add("mpileaks")
+ assert Spec("mpileaks") in e.user_specs
def test_env_add_virtual():
- env('create', 'test')
+ env("create", "test")
- e = ev.read('test')
- e.add('mpi')
+ e = ev.read("test")
+ e.add("mpi")
e.concretize()
hashes = e.concretized_order
assert len(hashes) == 1
spec = e.specs_by_hash[hashes[0]]
- assert spec.satisfies('mpi')
+ assert spec.satisfies("mpi")
def test_env_add_nonexistant_fails():
- env('create', 'test')
+ env("create", "test")
- e = ev.read('test')
- with pytest.raises(ev.SpackEnvironmentError, match=r'no such package'):
- e.add('thispackagedoesnotexist')
+ e = ev.read("test")
+ with pytest.raises(ev.SpackEnvironmentError, match=r"no such package"):
+ e.add("thispackagedoesnotexist")
def test_env_list(mutable_mock_env_path):
- env('create', 'foo')
- env('create', 'bar')
- env('create', 'baz')
+ env("create", "foo")
+ env("create", "bar")
+ env("create", "baz")
- out = env('list')
+ out = env("list")
- assert 'foo' in out
- assert 'bar' in out
- assert 'baz' in out
+ assert "foo" in out
+ assert "bar" in out
+ assert "baz" in out
# make sure `spack env list` skips invalid things in var/spack/env
- mutable_mock_env_path.join('.DS_Store').ensure(file=True)
- out = env('list')
+ mutable_mock_env_path.join(".DS_Store").ensure(file=True)
+ out = env("list")
- assert 'foo' in out
- assert 'bar' in out
- assert 'baz' in out
- assert '.DS_Store' not in out
+ assert "foo" in out
+ assert "bar" in out
+ assert "baz" in out
+ assert ".DS_Store" not in out
def test_env_remove(capfd):
- env('create', 'foo')
- env('create', 'bar')
+ env("create", "foo")
+ env("create", "bar")
- out = env('list')
- assert 'foo' in out
- assert 'bar' in out
+ out = env("list")
+ assert "foo" in out
+ assert "bar" in out
- foo = ev.read('foo')
+ foo = ev.read("foo")
with foo:
with pytest.raises(spack.main.SpackCommandError):
with capfd.disabled():
- env('remove', '-y', 'foo')
- assert 'foo' in env('list')
+ env("remove", "-y", "foo")
+ assert "foo" in env("list")
- env('remove', '-y', 'foo')
- out = env('list')
- assert 'foo' not in out
- assert 'bar' in out
+ env("remove", "-y", "foo")
+ out = env("list")
+ assert "foo" not in out
+ assert "bar" in out
- env('remove', '-y', 'bar')
- out = env('list')
- assert 'foo' not in out
- assert 'bar' not in out
+ env("remove", "-y", "bar")
+ out = env("list")
+ assert "foo" not in out
+ assert "bar" not in out
def test_concretize():
- e = ev.create('test')
- e.add('mpileaks')
+ e = ev.create("test")
+ e.add("mpileaks")
e.concretize()
env_specs = e._get_environment_specs()
- assert any(x.name == 'mpileaks' for x in env_specs)
+ assert any(x.name == "mpileaks" for x in env_specs)
def test_env_specs_partition(install_mockery, mock_fetch):
- e = ev.create('test')
- e.add('cmake-client')
+ e = ev.create("test")
+ e.add("cmake-client")
e.concretize()
# Single not installed root spec.
roots_already_installed, roots_to_install = e._partition_roots_by_install_status()
assert len(roots_already_installed) == 0
assert len(roots_to_install) == 1
- assert roots_to_install[0].name == 'cmake-client'
+ assert roots_to_install[0].name == "cmake-client"
# Single installed root.
e.install_all()
roots_already_installed, roots_to_install = e._partition_roots_by_install_status()
assert len(roots_already_installed) == 1
- assert roots_already_installed[0].name == 'cmake-client'
+ assert roots_already_installed[0].name == "cmake-client"
assert len(roots_to_install) == 0
# One installed root, one not installed root.
- e.add('mpileaks')
+ e.add("mpileaks")
e.concretize()
roots_already_installed, roots_to_install = e._partition_roots_by_install_status()
assert len(roots_already_installed) == 1
assert len(roots_to_install) == 1
- assert roots_already_installed[0].name == 'cmake-client'
- assert roots_to_install[0].name == 'mpileaks'
+ assert roots_already_installed[0].name == "cmake-client"
+ assert roots_to_install[0].name == "mpileaks"
def test_env_install_all(install_mockery, mock_fetch):
- e = ev.create('test')
- e.add('cmake-client')
+ e = ev.create("test")
+ e.add("cmake-client")
e.concretize()
e.install_all()
env_specs = e._get_environment_specs()
- spec = next(x for x in env_specs if x.name == 'cmake-client')
+ spec = next(x for x in env_specs if x.name == "cmake-client")
assert spec.installed
def test_env_install_single_spec(install_mockery, mock_fetch):
- env('create', 'test')
- install = SpackCommand('install')
+ env("create", "test")
+ install = SpackCommand("install")
- e = ev.read('test')
+ e = ev.read("test")
with e:
- install('cmake-client')
+ install("cmake-client")
- e = ev.read('test')
- assert e.user_specs[0].name == 'cmake-client'
- assert e.concretized_user_specs[0].name == 'cmake-client'
- assert e.specs_by_hash[e.concretized_order[0]].name == 'cmake-client'
+ e = ev.read("test")
+ assert e.user_specs[0].name == "cmake-client"
+ assert e.concretized_user_specs[0].name == "cmake-client"
+ assert e.specs_by_hash[e.concretized_order[0]].name == "cmake-client"
def test_env_roots_marked_explicit(install_mockery, mock_fetch):
- install = SpackCommand('install')
- install('dependent-install')
+ install = SpackCommand("install")
+ install("dependent-install")
# Check one explicit, one implicit install
dependent = spack.store.db.query(explicit=True)
@@ -207,8 +208,8 @@ def test_env_roots_marked_explicit(install_mockery, mock_fetch):
assert len(dependent) == 1
assert len(dependency) == 1
- env('create', 'test')
- with ev.read('test') as e:
+ env("create", "test")
+ with ev.read("test") as e:
# make implicit install a root of the env
e.add(dependency[0].name)
e.concretize()
@@ -218,14 +219,13 @@ def test_env_roots_marked_explicit(install_mockery, mock_fetch):
assert len(explicit) == 2
-def test_env_modifications_error_on_activate(
- install_mockery, mock_fetch, monkeypatch, capfd):
- env('create', 'test')
- install = SpackCommand('install')
+def test_env_modifications_error_on_activate(install_mockery, mock_fetch, monkeypatch, capfd):
+ env("create", "test")
+ install = SpackCommand("install")
- e = ev.read('test')
+ e = ev.read("test")
with e:
- install('cmake-client')
+ install("cmake-client")
def setup_error(pkg, env):
raise RuntimeError("cmake-client had issues!")
@@ -240,41 +240,40 @@ def test_env_modifications_error_on_activate(
assert "Warning: couldn't get environment settings" in err
-def test_activate_adds_transitive_run_deps_to_path(
- install_mockery, mock_fetch, monkeypatch):
- env('create', 'test')
- install = SpackCommand('install')
+def test_activate_adds_transitive_run_deps_to_path(install_mockery, mock_fetch, monkeypatch):
+ env("create", "test")
+ install = SpackCommand("install")
- e = ev.read('test')
+ e = ev.read("test")
with e:
- install('depends-on-run-env')
+ install("depends-on-run-env")
env_variables = {}
spack.environment.shell.activate(e).apply_modifications(env_variables)
- assert env_variables['DEPENDENCY_ENV_VAR'] == '1'
+ assert env_variables["DEPENDENCY_ENV_VAR"] == "1"
def test_env_install_same_spec_twice(install_mockery, mock_fetch):
- env('create', 'test')
+ env("create", "test")
- e = ev.read('test')
+ e = ev.read("test")
with e:
# The first installation outputs the package prefix, updates the view
- out = install('cmake-client')
- assert 'Updating view at' in out
+ out = install("cmake-client")
+ assert "Updating view at" in out
# The second installation reports all packages already installed
- out = install('cmake-client')
- assert 'already installed' in out
+ out = install("cmake-client")
+ assert "already installed" in out
def test_env_definition_symlink(install_mockery, mock_fetch, tmpdir):
- filepath = str(tmpdir.join('spack.yaml'))
- filepath_mid = str(tmpdir.join('spack_mid.yaml'))
+ filepath = str(tmpdir.join("spack.yaml"))
+ filepath_mid = str(tmpdir.join("spack_mid.yaml"))
- env('create', 'test')
- e = ev.read('test')
- e.add('mpileaks')
+ env("create", "test")
+ e = ev.read("test")
+ e.add("mpileaks")
os.rename(e.manifest_path, filepath)
os.symlink(filepath, filepath_mid)
@@ -287,235 +286,240 @@ def test_env_definition_symlink(install_mockery, mock_fetch, tmpdir):
assert os.path.islink(filepath_mid)
-def test_env_install_two_specs_same_dep(
- install_mockery, mock_fetch, tmpdir, capsys):
+def test_env_install_two_specs_same_dep(install_mockery, mock_fetch, tmpdir, capsys):
"""Test installation of two packages that share a dependency with no
connection and the second specifying the dependency as a 'build'
dependency.
"""
- path = tmpdir.join('spack.yaml')
+ path = tmpdir.join("spack.yaml")
with tmpdir.as_cwd():
- with open(str(path), 'w') as f:
- f.write("""\
+ with open(str(path), "w") as f:
+ f.write(
+ """\
env:
specs:
- a
- depb
-""")
+"""
+ )
- env('create', 'test', 'spack.yaml')
+ env("create", "test", "spack.yaml")
- with ev.read('test'):
+ with ev.read("test"):
with capsys.disabled():
out = install()
# Ensure both packages reach install phase processing and are installed
out = str(out)
- assert 'depb: Executing phase:' in out
- assert 'a: Executing phase:' in out
+ assert "depb: Executing phase:" in out
+ assert "a: Executing phase:" in out
- depb = spack.store.db.query_one('depb', installed=True)
- assert depb, 'Expected depb to be installed'
+ depb = spack.store.db.query_one("depb", installed=True)
+ assert depb, "Expected depb to be installed"
- a = spack.store.db.query_one('a', installed=True)
- assert a, 'Expected a to be installed'
+ a = spack.store.db.query_one("a", installed=True)
+ assert a, "Expected a to be installed"
def test_remove_after_concretize():
- e = ev.create('test')
+ e = ev.create("test")
- e.add('mpileaks')
+ e.add("mpileaks")
e.concretize()
- e.add('python')
+ e.add("python")
e.concretize()
- e.remove('mpileaks')
- assert Spec('mpileaks') not in e.user_specs
+ e.remove("mpileaks")
+ assert Spec("mpileaks") not in e.user_specs
env_specs = e._get_environment_specs()
- assert any(s.name == 'mpileaks' for s in env_specs)
+ assert any(s.name == "mpileaks" for s in env_specs)
- e.add('mpileaks')
- assert any(s.name == 'mpileaks' for s in e.user_specs)
+ e.add("mpileaks")
+ assert any(s.name == "mpileaks" for s in e.user_specs)
- e.remove('mpileaks', force=True)
- assert Spec('mpileaks') not in e.user_specs
+ e.remove("mpileaks", force=True)
+ assert Spec("mpileaks") not in e.user_specs
env_specs = e._get_environment_specs()
- assert not any(s.name == 'mpileaks' for s in env_specs)
+ assert not any(s.name == "mpileaks" for s in env_specs)
def test_remove_command():
- env('create', 'test')
- assert 'test' in env('list')
-
- with ev.read('test'):
- add('mpileaks')
- assert 'mpileaks' in find()
- assert 'mpileaks@' not in find()
- assert 'mpileaks@' not in find('--show-concretized')
-
- with ev.read('test'):
- remove('mpileaks')
- assert 'mpileaks' not in find()
- assert 'mpileaks@' not in find()
- assert 'mpileaks@' not in find('--show-concretized')
-
- with ev.read('test'):
- add('mpileaks')
- assert 'mpileaks' in find()
- assert 'mpileaks@' not in find()
- assert 'mpileaks@' not in find('--show-concretized')
-
- with ev.read('test'):
+ env("create", "test")
+ assert "test" in env("list")
+
+ with ev.read("test"):
+ add("mpileaks")
+ assert "mpileaks" in find()
+ assert "mpileaks@" not in find()
+ assert "mpileaks@" not in find("--show-concretized")
+
+ with ev.read("test"):
+ remove("mpileaks")
+ assert "mpileaks" not in find()
+ assert "mpileaks@" not in find()
+ assert "mpileaks@" not in find("--show-concretized")
+
+ with ev.read("test"):
+ add("mpileaks")
+ assert "mpileaks" in find()
+ assert "mpileaks@" not in find()
+ assert "mpileaks@" not in find("--show-concretized")
+
+ with ev.read("test"):
concretize()
- assert 'mpileaks' in find()
- assert 'mpileaks@' not in find()
- assert 'mpileaks@' in find('--show-concretized')
+ assert "mpileaks" in find()
+ assert "mpileaks@" not in find()
+ assert "mpileaks@" in find("--show-concretized")
- with ev.read('test'):
- remove('mpileaks')
- assert 'mpileaks' not in find()
+ with ev.read("test"):
+ remove("mpileaks")
+ assert "mpileaks" not in find()
# removed but still in last concretized specs
- assert 'mpileaks@' in find('--show-concretized')
+ assert "mpileaks@" in find("--show-concretized")
- with ev.read('test'):
+ with ev.read("test"):
concretize()
- assert 'mpileaks' not in find()
- assert 'mpileaks@' not in find()
+ assert "mpileaks" not in find()
+ assert "mpileaks@" not in find()
# now the lockfile is regenerated and it's gone.
- assert 'mpileaks@' not in find('--show-concretized')
+ assert "mpileaks@" not in find("--show-concretized")
def test_environment_status(capsys, tmpdir):
with tmpdir.as_cwd():
with capsys.disabled():
- assert 'No active environment' in env('status')
+ assert "No active environment" in env("status")
- with ev.create('test'):
+ with ev.create("test"):
with capsys.disabled():
- assert 'In environment test' in env('status')
+ assert "In environment test" in env("status")
- with ev.Environment('local_dir'):
+ with ev.Environment("local_dir"):
with capsys.disabled():
- assert os.path.join(os.getcwd(), 'local_dir') in env('status')
+ assert os.path.join(os.getcwd(), "local_dir") in env("status")
- e = ev.Environment('myproject')
+ e = ev.Environment("myproject")
e.write()
- with tmpdir.join('myproject').as_cwd():
+ with tmpdir.join("myproject").as_cwd():
with e:
with capsys.disabled():
- assert 'in current directory' in env('status')
+ assert "in current directory" in env("status")
def test_env_status_broken_view(
- mutable_mock_env_path, mock_archive, mock_fetch, mock_packages,
- install_mockery, tmpdir
+ mutable_mock_env_path, mock_archive, mock_fetch, mock_packages, install_mockery, tmpdir
):
env_dir = str(tmpdir)
with ev.Environment(env_dir):
- install('trivial-install-test-package')
+ install("trivial-install-test-package")
# switch to a new repo that doesn't include the installed package
# test that Spack detects the missing package and warns the user
with spack.repo.use_repositories(MockPackageMultiRepo()):
with ev.Environment(env_dir):
- output = env('status')
- assert 'includes out of date packages or repos' in output
+ output = env("status")
+ assert "includes out of date packages or repos" in output
# Test that the warning goes away when it's fixed
with ev.Environment(env_dir):
- output = env('status')
- assert 'includes out of date packages or repos' not in output
+ output = env("status")
+ assert "includes out of date packages or repos" not in output
def test_env_activate_broken_view(
- mutable_mock_env_path, mock_archive, mock_fetch, mock_packages,
- install_mockery
+ mutable_mock_env_path, mock_archive, mock_fetch, mock_packages, install_mockery
):
- with ev.create('test'):
- install('trivial-install-test-package')
+ with ev.create("test"):
+ install("trivial-install-test-package")
# switch to a new repo that doesn't include the installed package
# test that Spack detects the missing package and fails gracefully
new_repo = MockPackageMultiRepo()
with spack.repo.use_repositories(new_repo):
with pytest.raises(SpackCommandError):
- env('activate', '--sh', 'test')
+ env("activate", "--sh", "test")
# test replacing repo fixes it
- env('activate', '--sh', 'test')
+ env("activate", "--sh", "test")
def test_to_lockfile_dict():
- e = ev.create('test')
- e.add('mpileaks')
+ e = ev.create("test")
+ e.add("mpileaks")
e.concretize()
context_dict = e._to_lockfile_dict()
- e_copy = ev.create('test_copy')
+ e_copy = ev.create("test_copy")
e_copy._read_lockfile_dict(context_dict)
assert e.specs_by_hash == e_copy.specs_by_hash
def test_env_repo():
- e = ev.create('test')
- e.add('mpileaks')
+ e = ev.create("test")
+ e.add("mpileaks")
e.write()
- with ev.read('test'):
+ with ev.read("test"):
concretize()
- pkg_cls = e.repo.get_pkg_class('mpileaks')
- assert pkg_cls.name == 'mpileaks'
- assert pkg_cls.namespace == 'builtin.mock'
+ pkg_cls = e.repo.get_pkg_class("mpileaks")
+ assert pkg_cls.name == "mpileaks"
+ assert pkg_cls.namespace == "builtin.mock"
def test_user_removed_spec():
"""Ensure a user can remove from any position in the spack.yaml file."""
- initial_yaml = StringIO("""\
+ initial_yaml = StringIO(
+ """\
env:
specs:
- mpileaks
- hypre
- libelf
-""")
+"""
+ )
- before = ev.create('test', initial_yaml)
+ before = ev.create("test", initial_yaml)
before.concretize()
before.write()
# user modifies yaml externally to spack and removes hypre
- with open(before.manifest_path, 'w') as f:
- f.write("""\
+ with open(before.manifest_path, "w") as f:
+ f.write(
+ """\
env:
specs:
- mpileaks
- libelf
-""")
+"""
+ )
- after = ev.read('test')
+ after = ev.read("test")
after.concretize()
after.write()
env_specs = after._get_environment_specs()
- read = ev.read('test')
+ read = ev.read("test")
env_specs = read._get_environment_specs()
- assert not any(x.name == 'hypre' for x in env_specs)
+ assert not any(x.name == "hypre" for x in env_specs)
def test_init_from_lockfile(tmpdir):
"""Test that an environment can be instantiated from a lockfile."""
- initial_yaml = StringIO("""\
+ initial_yaml = StringIO(
+ """\
env:
specs:
- mpileaks
- hypre
- libelf
-""")
- e1 = ev.create('test', initial_yaml)
+"""
+ )
+ e1 = ev.create("test", initial_yaml)
e1.concretize()
e1.write()
@@ -534,14 +538,16 @@ env:
def test_init_from_yaml(tmpdir):
"""Test that an environment can be instantiated from a lockfile."""
- initial_yaml = StringIO("""\
+ initial_yaml = StringIO(
+ """\
env:
specs:
- mpileaks
- hypre
- libelf
-""")
- e1 = ev.create('test', initial_yaml)
+"""
+ )
+ e1 = ev.create("test", initial_yaml)
e1.concretize()
e1.write()
@@ -555,36 +561,39 @@ env:
assert not e2.specs_by_hash
-@pytest.mark.usefixtures('config')
-def test_env_view_external_prefix(
- tmpdir_factory, mutable_database, mock_packages
-):
- fake_prefix = tmpdir_factory.mktemp('a-prefix')
- fake_bin = fake_prefix.join('bin')
+@pytest.mark.usefixtures("config")
+def test_env_view_external_prefix(tmpdir_factory, mutable_database, mock_packages):
+ fake_prefix = tmpdir_factory.mktemp("a-prefix")
+ fake_bin = fake_prefix.join("bin")
fake_bin.ensure(dir=True)
- initial_yaml = StringIO("""\
+ initial_yaml = StringIO(
+ """\
env:
specs:
- a
view: true
-""")
+"""
+ )
- external_config = StringIO("""\
+ external_config = StringIO(
+ """\
packages:
a:
externals:
- spec: a@2.0
prefix: {a_prefix}
buildable: false
-""".format(a_prefix=str(fake_prefix)))
+""".format(
+ a_prefix=str(fake_prefix)
+ )
+ )
external_config_dict = spack.util.spack_yaml.load_config(external_config)
- test_scope = spack.config.InternalConfigScope(
- 'env-external-test', data=external_config_dict)
+ test_scope = spack.config.InternalConfigScope("env-external-test", data=external_config_dict)
with spack.config.override(test_scope):
- e = ev.create('test', initial_yaml)
+ e = ev.create("test", initial_yaml)
e.concretize()
# Note: normally installing specs in a test environment requires doing
# a fake install, but not for external specs since no actions are
@@ -598,33 +607,35 @@ packages:
e.add_default_view_to_env(env_mod)
env_variables = {}
env_mod.apply_modifications(env_variables)
- assert str(fake_bin) in env_variables['PATH']
+ assert str(fake_bin) in env_variables["PATH"]
def test_init_with_file_and_remove(tmpdir):
"""Ensure a user can remove from any position in the spack.yaml file."""
- path = tmpdir.join('spack.yaml')
+ path = tmpdir.join("spack.yaml")
with tmpdir.as_cwd():
- with open(str(path), 'w') as f:
- f.write("""\
+ with open(str(path), "w") as f:
+ f.write(
+ """\
env:
specs:
- mpileaks
-""")
+"""
+ )
- env('create', 'test', 'spack.yaml')
+ env("create", "test", "spack.yaml")
- out = env('list')
- assert 'test' in out
+ out = env("list")
+ assert "test" in out
- with ev.read('test'):
- assert 'mpileaks' in find()
+ with ev.read("test"):
+ assert "mpileaks" in find()
- env('remove', '-y', 'test')
+ env("remove", "-y", "test")
- out = env('list')
- assert 'test' not in out
+ out = env("list")
+ assert "test" not in out
def test_env_with_config():
@@ -636,18 +647,17 @@ env:
mpileaks:
version: [2.2]
"""
- _env_create('test', StringIO(test_config))
+ _env_create("test", StringIO(test_config))
- e = ev.read('test')
+ e = ev.read("test")
with e:
e.concretize()
- assert any(x.satisfies('mpileaks@2.2')
- for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
def test_with_config_bad_include(capfd):
- env_name = 'test_bad_include'
+ env_name = "test_bad_include"
test_config = """\
spack:
include:
@@ -663,9 +673,9 @@ spack:
out, err = capfd.readouterr()
- assert 'missing include' in err
- assert '/no/such/directory' in err
- assert os.path.join('no', 'such', 'file.yaml') in err
+ assert "missing include" in err
+ assert "/no/such/directory" in err
+ assert os.path.join("no", "such", "file.yaml") in err
assert ev.active_environment() is None
@@ -679,36 +689,36 @@ def test_env_with_include_config_files_same_basename():
[libelf, mpileaks]
"""
- _env_create('test', StringIO(test_config))
- e = ev.read('test')
+ _env_create("test", StringIO(test_config))
+ e = ev.read("test")
- fs.mkdirp(os.path.join(e.path, 'path', 'to'))
- with open(os.path.join(
- e.path,
- './path/to/included-config.yaml'), 'w') as f:
- f.write("""\
+ fs.mkdirp(os.path.join(e.path, "path", "to"))
+ with open(os.path.join(e.path, "./path/to/included-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
libelf:
version: [0.8.10]
- """)
+ """
+ )
- fs.mkdirp(os.path.join(e.path, 'second', 'path', 'to'))
- with open(os.path.join(
- e.path,
- './second/path/to/include-config.yaml'), 'w') as f:
- f.write("""\
+ fs.mkdirp(os.path.join(e.path, "second", "path", "to"))
+ with open(os.path.join(e.path, "./second/path/to/include-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
- """)
+ """
+ )
with e:
e.concretize()
environment_specs = e._get_environment_specs(False)
- assert(environment_specs[0].satisfies('libelf@0.8.10'))
- assert(environment_specs[1].satisfies('mpileaks@2.2'))
+ assert environment_specs[0].satisfies("libelf@0.8.10")
+ assert environment_specs[1].satisfies("mpileaks@2.2")
def test_env_with_included_config_file():
@@ -719,79 +729,88 @@ env:
specs:
- mpileaks
"""
- _env_create('test', StringIO(test_config))
- e = ev.read('test')
+ _env_create("test", StringIO(test_config))
+ e = ev.read("test")
- with open(os.path.join(e.path, 'included-config.yaml'), 'w') as f:
- f.write("""\
+ with open(os.path.join(e.path, "included-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
-""")
+"""
+ )
with e:
e.concretize()
- assert any(x.satisfies('mpileaks@2.2')
- for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
def test_env_with_included_config_scope():
- config_scope_path = os.path.join(ev.root('test'), 'config')
- test_config = """\
+ config_scope_path = os.path.join(ev.root("test"), "config")
+ test_config = (
+ """\
env:
include:
- %s
specs:
- mpileaks
-""" % config_scope_path
+"""
+ % config_scope_path
+ )
- _env_create('test', StringIO(test_config))
+ _env_create("test", StringIO(test_config))
- e = ev.read('test')
+ e = ev.read("test")
fs.mkdirp(config_scope_path)
- with open(os.path.join(config_scope_path, 'packages.yaml'), 'w') as f:
- f.write("""\
+ with open(os.path.join(config_scope_path, "packages.yaml"), "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
-""")
+"""
+ )
with e:
e.concretize()
- assert any(x.satisfies('mpileaks@2.2')
- for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
def test_env_with_included_config_var_path():
- config_var_path = os.path.join('$tempdir', 'included-config.yaml')
- test_config = """\
+ config_var_path = os.path.join("$tempdir", "included-config.yaml")
+ test_config = (
+ """\
env:
include:
- %s
specs:
- mpileaks
-""" % config_var_path
+"""
+ % config_var_path
+ )
- _env_create('test', StringIO(test_config))
- e = ev.read('test')
+ _env_create("test", StringIO(test_config))
+ e = ev.read("test")
config_real_path = substitute_path_variables(config_var_path)
fs.mkdirp(os.path.dirname(config_real_path))
- with open(config_real_path, 'w') as f:
- f.write("""\
+ with open(config_real_path, "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
-""")
+"""
+ )
with e:
e.concretize()
- assert any(x.satisfies('mpileaks@2.2')
- for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
def test_env_config_precedence():
@@ -805,28 +824,28 @@ env:
specs:
- mpileaks
"""
- _env_create('test', StringIO(test_config))
- e = ev.read('test')
+ _env_create("test", StringIO(test_config))
+ e = ev.read("test")
- with open(os.path.join(e.path, 'included-config.yaml'), 'w') as f:
- f.write("""\
+ with open(os.path.join(e.path, "included-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
libelf:
version: [0.8.11]
-""")
+"""
+ )
with e:
e.concretize()
# ensure included scope took effect
- assert any(
- x.satisfies('mpileaks@2.2') for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
# ensure env file takes precedence
- assert any(
- x.satisfies('libelf@0.8.12') for x in e._get_environment_specs())
+ assert any(x.satisfies("libelf@0.8.12") for x in e._get_environment_specs())
def test_included_config_precedence():
@@ -838,78 +857,82 @@ env:
specs:
- mpileaks
"""
- _env_create('test', StringIO(test_config))
- e = ev.read('test')
+ _env_create("test", StringIO(test_config))
+ e = ev.read("test")
- with open(os.path.join(e.path, 'high-config.yaml'), 'w') as f:
- f.write("""\
+ with open(os.path.join(e.path, "high-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
libelf:
version: [0.8.10] # this should override libelf version below
-""")
+"""
+ )
- with open(os.path.join(e.path, 'low-config.yaml'), 'w') as f:
- f.write("""\
+ with open(os.path.join(e.path, "low-config.yaml"), "w") as f:
+ f.write(
+ """\
packages:
mpileaks:
version: [2.2]
libelf:
version: [0.8.12]
-""")
+"""
+ )
with e:
e.concretize()
- assert any(
- x.satisfies('mpileaks@2.2') for x in e._get_environment_specs())
+ assert any(x.satisfies("mpileaks@2.2") for x in e._get_environment_specs())
- assert any(
- [x.satisfies('libelf@0.8.10') for x in e._get_environment_specs()])
+ assert any([x.satisfies("libelf@0.8.10") for x in e._get_environment_specs()])
def test_bad_env_yaml_format(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
spacks:
- mpileaks
-""")
+"""
+ )
with tmpdir.as_cwd():
with pytest.raises(spack.config.ConfigFormatError) as e:
- env('create', 'test', './spack.yaml')
- assert './spack.yaml:2' in str(e)
+ env("create", "test", "./spack.yaml")
+ assert "./spack.yaml:2" in str(e)
assert "'spacks' was unexpected" in str(e)
def test_env_loads(install_mockery, mock_fetch):
- env('create', 'test')
+ env("create", "test")
- with ev.read('test'):
- add('mpileaks')
+ with ev.read("test"):
+ add("mpileaks")
concretize()
- install('--fake')
+ install("--fake")
- with ev.read('test'):
- env('loads')
+ with ev.read("test"):
+ env("loads")
- e = ev.read('test')
+ e = ev.read("test")
- loads_file = os.path.join(e.path, 'loads')
+ loads_file = os.path.join(e.path, "loads")
assert os.path.exists(loads_file)
with open(loads_file) as f:
contents = f.read()
- assert 'module load mpileaks' in contents
+ assert "module load mpileaks" in contents
@pytest.mark.disable_clean_stage_check
def test_stage(mock_stage, mock_fetch, install_mockery):
- env('create', 'test')
- with ev.read('test'):
- add('mpileaks')
- add('zmpi')
+ env("create", "test")
+ with ev.read("test"):
+ add("mpileaks")
+ add("zmpi")
concretize()
stage()
@@ -918,108 +941,110 @@ def test_stage(mock_stage, mock_fetch, install_mockery):
def check_stage(spec):
spec = Spec(spec).concretized()
for dep in spec.traverse():
- stage_name = "{0}{1}-{2}-{3}".format(stage_prefix, dep.name,
- dep.version, dep.dag_hash())
+ stage_name = "{0}{1}-{2}-{3}".format(
+ stage_prefix, dep.name, dep.version, dep.dag_hash()
+ )
assert os.path.isdir(os.path.join(root, stage_name))
- check_stage('mpileaks')
- check_stage('zmpi')
+ check_stage("mpileaks")
+ check_stage("zmpi")
def test_env_commands_die_with_no_env_arg():
# these fail in argparse when given no arg
with pytest.raises(SystemExit):
- env('create')
+ env("create")
with pytest.raises(SystemExit):
- env('remove')
+ env("remove")
# these have an optional env arg and raise errors via tty.die
with pytest.raises(spack.main.SpackCommandError):
- env('loads')
+ env("loads")
# This should NOT raise an error with no environment
# it just tells the user there isn't an environment
- env('status')
+ env("status")
def test_env_blocks_uninstall(mock_stage, mock_fetch, install_mockery):
- env('create', 'test')
- with ev.read('test'):
- add('mpileaks')
- install('--fake')
+ env("create", "test")
+ with ev.read("test"):
+ add("mpileaks")
+ install("--fake")
- out = uninstall('mpileaks', fail_on_error=False)
+ out = uninstall("mpileaks", fail_on_error=False)
assert uninstall.returncode == 1
- assert 'used by the following environments' in out
+ assert "used by the following environments" in out
def test_roots_display_with_variants():
- env('create', 'test')
- with ev.read('test'):
- add('boost+shared')
+ env("create", "test")
+ with ev.read("test"):
+ add("boost+shared")
- with ev.read('test'):
+ with ev.read("test"):
out = find(output=str)
assert "boost +shared" in out
def test_uninstall_removes_from_env(mock_stage, mock_fetch, install_mockery):
- env('create', 'test')
- with ev.read('test'):
- add('mpileaks')
- add('libelf')
- install('--fake')
+ env("create", "test")
+ with ev.read("test"):
+ add("mpileaks")
+ add("libelf")
+ install("--fake")
- test = ev.read('test')
- assert any(s.name == 'mpileaks' for s in test.specs_by_hash.values())
- assert any(s.name == 'libelf' for s in test.specs_by_hash.values())
+ test = ev.read("test")
+ assert any(s.name == "mpileaks" for s in test.specs_by_hash.values())
+ assert any(s.name == "libelf" for s in test.specs_by_hash.values())
- with ev.read('test'):
- uninstall('-ya')
+ with ev.read("test"):
+ uninstall("-ya")
- test = ev.read('test')
+ test = ev.read("test")
assert not test.specs_by_hash
assert not test.concretized_order
assert not test.user_specs
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_indirect_build_dep():
"""Simple case of X->Y->Z where Y is a build/link dep and Z is a
build-only dep. Make sure this concrete DAG is preserved when writing the
environment out and reading it back.
"""
- default = ('build', 'link')
- build_only = ('build',)
+ default = ("build", "link")
+ build_only = ("build",)
mock_repo = MockPackageMultiRepo()
- z = mock_repo.add_package('z', [], [])
- y = mock_repo.add_package('y', [z], [build_only])
- mock_repo.add_package('x', [y], [default])
+ z = mock_repo.add_package("z", [], [])
+ y = mock_repo.add_package("y", [z], [build_only])
+ mock_repo.add_package("x", [y], [default])
def noop(*args):
pass
- setattr(mock_repo, 'dump_provenance', noop)
+
+ setattr(mock_repo, "dump_provenance", noop)
with spack.repo.use_repositories(mock_repo):
- x_spec = Spec('x')
+ x_spec = Spec("x")
x_concretized = x_spec.concretized()
- _env_create('test', with_view=False)
- e = ev.read('test')
+ _env_create("test", with_view=False)
+ e = ev.read("test")
e.add(x_spec)
e.concretize()
e.write()
- e_read = ev.read('test')
- x_env_hash, = e_read.concretized_order
+ e_read = ev.read("test")
+ (x_env_hash,) = e_read.concretized_order
x_env_spec = e_read.specs_by_hash[x_env_hash]
assert x_env_spec == x_concretized
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_store_different_build_deps():
r"""Ensure that an environment can store two instances of a build-only
dependency::
@@ -1031,39 +1056,40 @@ def test_store_different_build_deps():
z1
"""
- default = ('build', 'link')
- build_only = ('build',)
+ default = ("build", "link")
+ build_only = ("build",)
mock_repo = MockPackageMultiRepo()
- z = mock_repo.add_package('z', [], [])
- y = mock_repo.add_package('y', [z], [build_only])
- mock_repo.add_package('x', [y, z], [default, build_only])
+ z = mock_repo.add_package("z", [], [])
+ y = mock_repo.add_package("y", [z], [build_only])
+ mock_repo.add_package("x", [y, z], [default, build_only])
def noop(*args):
pass
- setattr(mock_repo, 'dump_provenance', noop)
+
+ setattr(mock_repo, "dump_provenance", noop)
with spack.repo.use_repositories(mock_repo):
- y_spec = Spec('y ^z@3')
+ y_spec = Spec("y ^z@3")
y_concretized = y_spec.concretized()
- x_spec = Spec('x ^z@2')
+ x_spec = Spec("x ^z@2")
x_concretized = x_spec.concretized()
# Even though x chose a different 'z', the y it chooses should be identical
# *aside* from the dependency on 'z'. The dag_hash() will show the difference
# in build dependencies.
- assert x_concretized['y'].eq_node(y_concretized)
- assert x_concretized['y'].dag_hash() != y_concretized.dag_hash()
+ assert x_concretized["y"].eq_node(y_concretized)
+ assert x_concretized["y"].dag_hash() != y_concretized.dag_hash()
- _env_create('test', with_view=False)
- e = ev.read('test')
+ _env_create("test", with_view=False)
+ e = ev.read("test")
e.add(y_spec)
e.add(x_spec)
e.concretize()
e.write()
- e_read = ev.read('test')
+ e_read = ev.read("test")
y_env_hash, x_env_hash = e_read.concretized_order
y_read = e_read.specs_by_hash[y_env_hash]
@@ -1071,227 +1097,222 @@ def test_store_different_build_deps():
# make sure the DAG hashes and build deps are preserved after
# a round trip to/from the lockfile
- assert x_read['z'] != y_read['z']
- assert x_read['z'].dag_hash() != y_read['z'].dag_hash()
+ assert x_read["z"] != y_read["z"]
+ assert x_read["z"].dag_hash() != y_read["z"].dag_hash()
- assert x_read['y'].eq_node(y_read)
- assert x_read['y'].dag_hash() != y_read.dag_hash()
+ assert x_read["y"].eq_node(y_read)
+ assert x_read["y"].dag_hash() != y_read.dag_hash()
-def test_env_updates_view_install(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- add('mpileaks')
- install('--fake')
+def test_env_updates_view_install(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ add("mpileaks")
+ install("--fake")
check_mpileaks_and_deps_in_view(view_dir)
-def test_env_view_fails(
- tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery):
+def test_env_view_fails(tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery):
# We currently ignore file-file conflicts for the prefix merge,
# so in principle there will be no errors in this test. But
# the .spack metadata dir is handled separately and is more strict.
# It also throws on file-file conflicts. That's what we're checking here
# by adding the same package twice to a view.
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- add('libelf')
- add('libelf cflags=-g')
- with pytest.raises(llnl.util.link_tree.MergeConflictSummary,
- match=spack.store.layout.metadata_dir):
- install('--fake')
-
-
-def test_env_view_fails_dir_file(
- tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ add("libelf")
+ add("libelf cflags=-g")
+ with pytest.raises(
+ llnl.util.link_tree.MergeConflictSummary, match=spack.store.layout.metadata_dir
+ ):
+ install("--fake")
+
+
+def test_env_view_fails_dir_file(tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery):
# This environment view fails to be created because a file
# and a dir are in the same path. Test that it mentions the problematic path.
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- add('view-dir-file')
- add('view-dir-dir')
- with pytest.raises(llnl.util.link_tree.MergeConflictSummary,
- match=os.path.join('bin', 'x')):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ add("view-dir-file")
+ add("view-dir-dir")
+ with pytest.raises(
+ llnl.util.link_tree.MergeConflictSummary, match=os.path.join("bin", "x")
+ ):
install()
def test_env_view_succeeds_symlinked_dir_file(
- tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery):
+ tmpdir, mock_packages, mock_stage, mock_fetch, install_mockery
+):
# A symlinked dir and an ordinary dir merge happily
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- add('view-dir-symlinked-dir')
- add('view-dir-dir')
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ add("view-dir-symlinked-dir")
+ add("view-dir-dir")
install()
- x_dir = os.path.join(str(view_dir), 'bin', 'x')
- assert os.path.exists(os.path.join(x_dir, 'file_in_dir'))
- assert os.path.exists(os.path.join(x_dir, 'file_in_symlinked_dir'))
+ x_dir = os.path.join(str(view_dir), "bin", "x")
+ assert os.path.exists(os.path.join(x_dir, "file_in_dir"))
+ assert os.path.exists(os.path.join(x_dir, "file_in_symlinked_dir"))
-def test_env_without_view_install(
- tmpdir, mock_stage, mock_fetch, install_mockery):
+def test_env_without_view_install(tmpdir, mock_stage, mock_fetch, install_mockery):
# Test enabling a view after installing specs
- env('create', '--without-view', 'test')
+ env("create", "--without-view", "test")
- test_env = ev.read('test')
+ test_env = ev.read("test")
with pytest.raises(ev.SpackEnvironmentError):
test_env.default_view
- view_dir = tmpdir.join('view')
+ view_dir = tmpdir.join("view")
- with ev.read('test'):
- add('mpileaks')
- install('--fake')
+ with ev.read("test"):
+ add("mpileaks")
+ install("--fake")
- env('view', 'enable', str(view_dir))
+ env("view", "enable", str(view_dir))
# After enabling the view, the specs should be linked into the environment
# view dir
check_mpileaks_and_deps_in_view(view_dir)
-def test_env_config_view_default(
- tmpdir, mock_stage, mock_fetch, install_mockery):
+def test_env_config_view_default(tmpdir, mock_stage, mock_fetch, install_mockery):
# This config doesn't mention whether a view is enabled
test_config = """\
env:
specs:
- mpileaks
"""
- _env_create('test', StringIO(test_config))
+ _env_create("test", StringIO(test_config))
- with ev.read('test'):
- install('--fake')
+ with ev.read("test"):
+ install("--fake")
- e = ev.read('test')
+ e = ev.read("test")
# Check that metadata folder for this spec exists
- assert os.path.isdir(os.path.join(e.default_view.view()._root,
- '.spack', 'mpileaks'))
+ assert os.path.isdir(os.path.join(e.default_view.view()._root, ".spack", "mpileaks"))
-def test_env_updates_view_install_package(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- install('--fake', 'mpileaks')
+def test_env_updates_view_install_package(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ install("--fake", "mpileaks")
- assert os.path.exists(str(view_dir.join('.spack/mpileaks')))
+ assert os.path.exists(str(view_dir.join(".spack/mpileaks")))
-def test_env_updates_view_add_concretize(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- install('--fake', 'mpileaks')
- with ev.read('test'):
- add('mpileaks')
+def test_env_updates_view_add_concretize(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ install("--fake", "mpileaks")
+ with ev.read("test"):
+ add("mpileaks")
concretize()
check_mpileaks_and_deps_in_view(view_dir)
-def test_env_updates_view_uninstall(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- install('--fake', 'mpileaks')
+def test_env_updates_view_uninstall(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ install("--fake", "mpileaks")
check_mpileaks_and_deps_in_view(view_dir)
- with ev.read('test'):
- uninstall('-ay')
+ with ev.read("test"):
+ uninstall("-ay")
check_viewdir_removal(view_dir)
def test_env_updates_view_uninstall_referenced_elsewhere(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- install('--fake', 'mpileaks')
- with ev.read('test'):
- add('mpileaks')
+ tmpdir, mock_stage, mock_fetch, install_mockery
+):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ install("--fake", "mpileaks")
+ with ev.read("test"):
+ add("mpileaks")
concretize()
check_mpileaks_and_deps_in_view(view_dir)
- with ev.read('test'):
- uninstall('-ay')
+ with ev.read("test"):
+ uninstall("-ay")
check_viewdir_removal(view_dir)
-def test_env_updates_view_remove_concretize(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- install('--fake', 'mpileaks')
- with ev.read('test'):
- add('mpileaks')
+def test_env_updates_view_remove_concretize(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ install("--fake", "mpileaks")
+ with ev.read("test"):
+ add("mpileaks")
concretize()
check_mpileaks_and_deps_in_view(view_dir)
- with ev.read('test'):
- remove('mpileaks')
+ with ev.read("test"):
+ remove("mpileaks")
concretize()
check_viewdir_removal(view_dir)
-def test_env_updates_view_force_remove(
- tmpdir, mock_stage, mock_fetch, install_mockery):
- view_dir = tmpdir.join('view')
- env('create', '--with-view=%s' % view_dir, 'test')
- with ev.read('test'):
- install('--fake', 'mpileaks')
+def test_env_updates_view_force_remove(tmpdir, mock_stage, mock_fetch, install_mockery):
+ view_dir = tmpdir.join("view")
+ env("create", "--with-view=%s" % view_dir, "test")
+ with ev.read("test"):
+ install("--fake", "mpileaks")
check_mpileaks_and_deps_in_view(view_dir)
- with ev.read('test'):
- remove('-f', 'mpileaks')
+ with ev.read("test"):
+ remove("-f", "mpileaks")
check_viewdir_removal(view_dir)
-def test_env_activate_view_fails(
- tmpdir, mock_stage, mock_fetch, install_mockery):
+def test_env_activate_view_fails(tmpdir, mock_stage, mock_fetch, install_mockery):
"""Sanity check on env activate to make sure it requires shell support"""
- out = env('activate', 'test')
+ out = env("activate", "test")
assert "To set up shell support" in out
def test_stack_yaml_definitions(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- test = ev.read('test')
+ env("create", "test", "./spack.yaml")
+ test = ev.read("test")
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_yaml_definitions_as_constraints(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
@@ -1300,21 +1321,23 @@ env:
- matrix:
- [$packages]
- [$^mpis]
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- test = ev.read('test')
+ env("create", "test", "./spack.yaml")
+ test = ev.read("test")
- assert Spec('mpileaks^mpich') in test.user_specs
- assert Spec('callpath^mpich') in test.user_specs
- assert Spec('mpileaks^openmpi') in test.user_specs
- assert Spec('callpath^openmpi') in test.user_specs
+ assert Spec("mpileaks^mpich") in test.user_specs
+ assert Spec("callpath^mpich") in test.user_specs
+ assert Spec("mpileaks^openmpi") in test.user_specs
+ assert Spec("callpath^openmpi") in test.user_specs
def test_stack_yaml_definitions_as_constraints_on_matrix(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
@@ -1326,87 +1349,95 @@ env:
- matrix:
- [$packages]
- [$^mpis]
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- test = ev.read('test')
+ env("create", "test", "./spack.yaml")
+ test = ev.read("test")
- assert Spec('mpileaks^mpich@3.0.4') in test.user_specs
- assert Spec('callpath^mpich@3.0.4') in test.user_specs
- assert Spec('mpileaks^mpich@3.0.3') in test.user_specs
- assert Spec('callpath^mpich@3.0.3') in test.user_specs
+ assert Spec("mpileaks^mpich@3.0.4") in test.user_specs
+ assert Spec("callpath^mpich@3.0.4") in test.user_specs
+ assert Spec("mpileaks^mpich@3.0.3") in test.user_specs
+ assert Spec("callpath^mpich@3.0.3") in test.user_specs
-@pytest.mark.regression('12095')
+@pytest.mark.regression("12095")
def test_stack_yaml_definitions_write_reference(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
- indirect: [$packages]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- with ev.read('test'):
+ with ev.read("test"):
concretize()
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_yaml_add_to_list(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
- add('-l', 'packages', 'libelf')
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
+ add("-l", "packages", "libelf")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_yaml_remove_from_list(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
- remove('-l', 'packages', 'mpileaks')
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
+ remove("-l", "packages", "mpileaks")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('mpileaks') not in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("mpileaks") not in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_yaml_remove_from_list_force(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, callpath]
@@ -1414,26 +1445,28 @@ env:
- matrix:
- [$packages]
- [^mpich, ^zmpi]
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
concretize()
- remove('-f', '-l', 'packages', 'mpileaks')
- find_output = find('-c')
+ remove("-f", "-l", "packages", "mpileaks")
+ find_output = find("-c")
- assert 'mpileaks' not in find_output
+ assert "mpileaks" not in find_output
- test = ev.read('test')
+ test = ev.read("test")
assert len(test.user_specs) == 2
- assert Spec('callpath ^zmpi') in test.user_specs
- assert Spec('callpath ^mpich') in test.user_specs
+ assert Spec("callpath ^zmpi") in test.user_specs
+ assert Spec("callpath ^mpich") in test.user_specs
def test_stack_yaml_remove_from_matrix_no_effect(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages:
@@ -1442,21 +1475,23 @@ env:
- [target=be]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test') as e:
+ env("create", "test", "./spack.yaml")
+ with ev.read("test") as e:
before = e.user_specs.specs
- remove('-l', 'packages', 'mpileaks')
+ remove("-l", "packages", "mpileaks")
after = e.user_specs.specs
assert before == after
def test_stack_yaml_force_remove_from_matrix(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages:
@@ -1465,23 +1500,24 @@ env:
- [target=be]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test') as e:
+ env("create", "test", "./spack.yaml")
+ with ev.read("test") as e:
concretize()
before_user = e.user_specs.specs
before_conc = e.concretized_user_specs
- remove('-f', '-l', 'packages', 'mpileaks')
+ remove("-f", "-l", "packages", "mpileaks")
after_user = e.user_specs.specs
after_conc = e.concretized_user_specs
assert before_user == after_user
- mpileaks_spec = Spec('mpileaks target=be')
+ mpileaks_spec = Spec("mpileaks target=be")
assert mpileaks_spec in before_conc
assert mpileaks_spec not in after_conc
@@ -1494,9 +1530,10 @@ def test_stack_concretize_extraneous_deps(tmpdir, config, mock_packages):
# if spack.config.get('config:concretizer') == 'clingo':
# pytest.skip('Clingo concretizer does not support soft constraints')
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1506,27 +1543,29 @@ env:
- ['^zmpi', '^mpich']
specs:
- $install
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
concretize()
- test = ev.read('test')
+ test = ev.read("test")
for user, concrete in test.concretized_specs():
assert concrete.concrete
assert not user.concrete
- if user.name == 'libelf':
- assert not concrete.satisfies('^mpi', strict=True)
- elif user.name == 'mpileaks':
- assert concrete.satisfies('^mpi', strict=True)
+ if user.name == "libelf":
+ assert not concrete.satisfies("^mpi", strict=True)
+ elif user.name == "mpileaks":
+ assert concrete.satisfies("^mpi", strict=True)
def test_stack_concretize_extraneous_variants(tmpdir, config, mock_packages):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1536,29 +1575,29 @@ env:
- ['~shared', '+shared']
specs:
- $install
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
concretize()
- test = ev.read('test')
+ test = ev.read("test")
for user, concrete in test.concretized_specs():
assert concrete.concrete
assert not user.concrete
- if user.name == 'libelf':
- assert 'shared' not in concrete.variants
- if user.name == 'mpileaks':
- assert (concrete.variants['shared'].value ==
- user.variants['shared'].value)
-
-
-def test_stack_concretize_extraneous_variants_with_dash(tmpdir, config,
- mock_packages):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ if user.name == "libelf":
+ assert "shared" not in concrete.variants
+ if user.name == "mpileaks":
+ assert concrete.variants["shared"].value == user.variants["shared"].value
+
+
+def test_stack_concretize_extraneous_variants_with_dash(tmpdir, config, mock_packages):
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1568,13 +1607,14 @@ env:
- ['shared=False', '+shared-libs']
specs:
- $install
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
concretize()
- ev.read('test')
+ ev.read("test")
# Regression test for handling of variants with dashes in them
# will fail before this point if code regresses
@@ -1582,30 +1622,33 @@ env:
def test_stack_definition_extension(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
- packages: [callpath]
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_definition_conditional_false(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1613,21 +1656,23 @@ env:
when: 'False'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') not in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") not in test.user_specs
def test_stack_definition_conditional_true(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1635,21 +1680,23 @@ env:
when: 'True'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_definition_conditional_with_variable(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1657,21 +1704,23 @@ env:
when: platform == 'test'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_definition_conditional_with_satisfaction(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1680,21 +1729,23 @@ env:
when: arch.satisfies('platform=test')
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') not in test.user_specs
- assert Spec('mpileaks') not in test.user_specs
- assert Spec('callpath') in test.user_specs
+ assert Spec("libelf") not in test.user_specs
+ assert Spec("mpileaks") not in test.user_specs
+ assert Spec("callpath") in test.user_specs
def test_stack_definition_complex_conditional(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1702,21 +1753,23 @@ env:
when: re.search(r'foo', hostname) and env['test'] == 'THISSHOULDBEFALSE'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
- test = ev.read('test')
+ test = ev.read("test")
- assert Spec('libelf') in test.user_specs
- assert Spec('mpileaks') in test.user_specs
- assert Spec('callpath') not in test.user_specs
+ assert Spec("libelf") in test.user_specs
+ assert Spec("mpileaks") in test.user_specs
+ assert Spec("callpath") not in test.user_specs
def test_stack_definition_conditional_invalid_variable(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1724,16 +1777,18 @@ env:
when: bad_variable == 'test'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
with pytest.raises(NameError):
- env('create', 'test', './spack.yaml')
+ env("create", "test", "./spack.yaml")
def test_stack_definition_conditional_add_write(tmpdir):
- filename = str(tmpdir.join('spack.yaml'))
- with open(filename, 'w') as f:
- f.write("""\
+ filename = str(tmpdir.join("spack.yaml"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [libelf, mpileaks]
@@ -1741,30 +1796,32 @@ env:
when: platform == 'test'
specs:
- $packages
-""")
+"""
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
- add('-l', 'packages', 'zmpi')
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
+ add("-l", "packages", "zmpi")
- test = ev.read('test')
+ test = ev.read("test")
- packages_lists = list(filter(lambda x: 'packages' in x,
- test.yaml['env']['definitions']))
+ packages_lists = list(filter(lambda x: "packages" in x, test.yaml["env"]["definitions"]))
assert len(packages_lists) == 2
- assert 'callpath' not in packages_lists[0]['packages']
- assert 'callpath' in packages_lists[1]['packages']
- assert 'zmpi' in packages_lists[0]['packages']
- assert 'zmpi' not in packages_lists[1]['packages']
-
-
-def test_stack_combinatorial_view(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("""\
+ assert "callpath" not in packages_lists[0]["packages"]
+ assert "callpath" in packages_lists[1]["packages"]
+ assert "zmpi" in packages_lists[0]["packages"]
+ assert "zmpi" not in packages_lists[1]["packages"]
+
+
+def test_stack_combinatorial_view(
+ 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:
definitions:
- packages: [mpileaks, callpath]
@@ -1778,25 +1835,27 @@ env:
combinatorial:
root: %s
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_stack_view_select(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("""\
+def test_stack_view_select(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:
definitions:
- packages: [mpileaks, callpath]
@@ -1811,30 +1870,32 @@ env:
root: %s
select: ['%%gcc']
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if spec.satisfies('%gcc'):
+ if spec.satisfies("%gcc"):
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
else:
assert not os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_stack_view_exclude(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("""\
+def test_stack_view_exclude(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:
definitions:
- packages: [mpileaks, callpath]
@@ -1849,30 +1910,34 @@ env:
root: %s
exclude: [callpath]
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if not spec.satisfies('callpath'):
+ if not spec.satisfies("callpath"):
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
else:
assert not os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_stack_view_select_and_exclude(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("""\
+def test_stack_view_select_and_exclude(
+ 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:
definitions:
- packages: [mpileaks, callpath]
@@ -1888,30 +1953,32 @@ env:
select: ['%%gcc']
exclude: [callpath]
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if spec.satisfies('%gcc') and not spec.satisfies('callpath'):
+ if spec.satisfies("%gcc") and not spec.satisfies("callpath"):
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
else:
assert not os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_view_link_roots(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("""\
+def test_view_link_roots(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:
definitions:
- packages: [mpileaks, callpath]
@@ -1928,32 +1995,35 @@ env:
exclude: [callpath]
link: 'roots'
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if spec in test.roots() and (spec.satisfies('%gcc') and
- not spec.satisfies('callpath')):
+ if spec in test.roots() and (
+ spec.satisfies("%gcc") and not spec.satisfies("callpath")
+ ):
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
else:
assert not os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_view_link_run(tmpdir, mock_fetch, mock_packages, mock_archive,
- install_mockery):
- yaml = str(tmpdir.join('spack.yaml'))
- viewdir = str(tmpdir.join('view'))
+def test_view_link_run(tmpdir, mock_fetch, mock_packages, mock_archive, install_mockery):
+ yaml = str(tmpdir.join("spack.yaml"))
+ viewdir = str(tmpdir.join("view"))
envdir = str(tmpdir)
- with open(yaml, 'w') as f:
- f.write("""
+ with open(yaml, "w") as f:
+ f.write(
+ """
spack:
specs:
- dttop
@@ -1963,56 +2033,68 @@ spack:
root: %s
link: run
projections:
- all: '{name}'""" % viewdir)
+ all: '{name}'"""
+ % viewdir
+ )
with ev.Environment(envdir):
install()
# make sure transitive run type deps are in the view
- for pkg in ('dtrun1', 'dtrun3'):
+ for pkg in ("dtrun1", "dtrun3"):
assert os.path.exists(os.path.join(viewdir, pkg))
# and non-run-type deps are not.
- for pkg in ('dtlink1', 'dtlink2', 'dtlink3', 'dtlink4', 'dtlink5'
- 'dtbuild1', 'dtbuild2', 'dtbuild3'):
+ for pkg in (
+ "dtlink1",
+ "dtlink2",
+ "dtlink3",
+ "dtlink4",
+ "dtlink5" "dtbuild1",
+ "dtbuild2",
+ "dtbuild3",
+ ):
assert not os.path.exists(os.path.join(viewdir, pkg))
-@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("""\
+@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))
+ link_type: %s"""
+ % (viewdir, link_type)
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ 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)
+ 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')
+ 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'))
- viewdir = str(tmpdir.join('view'))
- with open(filename, 'w') as f:
- f.write("""\
+def test_view_link_all(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:
definitions:
- packages: [mpileaks, callpath]
@@ -2029,30 +2111,34 @@ env:
exclude: [callpath]
link: 'all'
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % viewdir)
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if spec.satisfies('%gcc') and not spec.satisfies('callpath'):
+ if spec.satisfies("%gcc") and not spec.satisfies("callpath"):
assert os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
else:
assert not os.path.exists(
- os.path.join(viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name))
+ )
-def test_stack_view_activate_from_default(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("""\
+def test_stack_view_activate_from_default(
+ 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:
definitions:
- packages: [mpileaks, cmake]
@@ -2065,26 +2151,29 @@ env:
view:
default:
root: %s
- select: ['%%gcc']""" % viewdir)
+ select: ['%%gcc']"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- shell = env('activate', '--sh', 'test')
+ shell = env("activate", "--sh", "test")
- assert 'PATH' in shell
- assert os.path.join(viewdir, 'bin') in shell
- assert 'FOOBAR=mpileaks' in shell
+ assert "PATH" in shell
+ assert os.path.join(viewdir, "bin") in shell
+ assert "FOOBAR=mpileaks" in shell
-def test_stack_view_no_activate_without_default(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("""\
+def test_stack_view_no_activate_without_default(
+ 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:
definitions:
- packages: [mpileaks, cmake]
@@ -2097,24 +2186,28 @@ env:
view:
not-default:
root: %s
- select: ['%%gcc']""" % viewdir)
+ select: ['%%gcc']"""
+ % viewdir
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- shell = env('activate', '--sh', 'test')
- assert 'PATH' not in shell
+ shell = env("activate", "--sh", "test")
+ assert "PATH" not in shell
assert viewdir not in shell
-def test_stack_view_multiple_views(tmpdir, mock_fetch, mock_packages,
- mock_archive, install_mockery):
- filename = str(tmpdir.join('spack.yaml'))
- default_viewdir = str(tmpdir.join('default-view'))
- combin_viewdir = str(tmpdir.join('combinatorial-view'))
- with open(filename, 'w') as f:
- f.write("""\
+def test_stack_view_multiple_views(
+ tmpdir, mock_fetch, mock_packages, mock_archive, install_mockery
+):
+ filename = str(tmpdir.join("spack.yaml"))
+ default_viewdir = str(tmpdir.join("default-view"))
+ combin_viewdir = str(tmpdir.join("combinatorial-view"))
+ with open(filename, "w") as f:
+ f.write(
+ """\
env:
definitions:
- packages: [mpileaks, cmake]
@@ -2132,149 +2225,152 @@ env:
root: %s
exclude: [callpath %%gcc]
projections:
- 'all': '{name}/{version}-{compiler.name}'""" % (default_viewdir,
- combin_viewdir))
+ 'all': '{name}/{version}-{compiler.name}'"""
+ % (default_viewdir, combin_viewdir)
+ )
with tmpdir.as_cwd():
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
install()
- shell = env('activate', '--sh', 'test')
- assert 'PATH' in shell
- assert os.path.join(default_viewdir, 'bin') in shell
+ shell = env("activate", "--sh", "test")
+ assert "PATH" in shell
+ assert os.path.join(default_viewdir, "bin") in shell
- test = ev.read('test')
+ test = ev.read("test")
for spec in test._get_environment_specs():
- if not spec.satisfies('callpath%gcc'):
+ if not spec.satisfies("callpath%gcc"):
assert os.path.exists(
- os.path.join(combin_viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(
+ combin_viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name)
+ )
+ )
else:
assert not os.path.exists(
- os.path.join(combin_viewdir, spec.name, '%s-%s' %
- (spec.version, spec.compiler.name)))
+ os.path.join(
+ combin_viewdir, spec.name, "%s-%s" % (spec.version, spec.compiler.name)
+ )
+ )
-def test_env_activate_sh_prints_shell_output(
- tmpdir, mock_stage, mock_fetch, install_mockery
-):
+def test_env_activate_sh_prints_shell_output(tmpdir, mock_stage, mock_fetch, install_mockery):
"""Check the shell commands output by ``spack env activate --sh``.
This is a cursory check; ``share/spack/qa/setup-env-test.sh`` checks
for correctness.
"""
- env('create', 'test', add_view=True)
+ env("create", "test", add_view=True)
- out = env('activate', '--sh', 'test')
+ out = env("activate", "--sh", "test")
assert "export SPACK_ENV=" in out
assert "export PS1=" not in out
assert "alias despacktivate=" in out
- out = env('activate', '--sh', '--prompt', 'test')
+ out = env("activate", "--sh", "--prompt", "test")
assert "export SPACK_ENV=" in out
assert "export PS1=" in out
assert "alias despacktivate=" in out
-def test_env_activate_csh_prints_shell_output(
- tmpdir, mock_stage, mock_fetch, install_mockery
-):
+def test_env_activate_csh_prints_shell_output(tmpdir, mock_stage, mock_fetch, install_mockery):
"""Check the shell commands output by ``spack env activate --csh``."""
- env('create', 'test', add_view=True)
+ env("create", "test", add_view=True)
- out = env('activate', '--csh', 'test')
+ out = env("activate", "--csh", "test")
assert "setenv SPACK_ENV" in out
assert "setenv set prompt" not in out
assert "alias despacktivate" in out
- out = env('activate', '--csh', '--prompt', 'test')
+ out = env("activate", "--csh", "--prompt", "test")
assert "setenv SPACK_ENV" in out
assert "set prompt=" in out
assert "alias despacktivate" in out
-@pytest.mark.regression('12719')
+@pytest.mark.regression("12719")
def test_env_activate_default_view_root_unconditional(mutable_mock_env_path):
"""Check that the root of the default view in the environment is added
to the shell unconditionally."""
- env('create', 'test', add_view=True)
+ env("create", "test", add_view=True)
- with ev.read('test') as e:
+ with ev.read("test") as e:
viewdir = e.default_view.root
- out = env('activate', '--sh', 'test')
- viewdir_bin = os.path.join(viewdir, 'bin')
+ out = env("activate", "--sh", "test")
+ viewdir_bin = os.path.join(viewdir, "bin")
- assert "export PATH={0}".format(viewdir_bin) in out or \
- "export PATH='{0}".format(viewdir_bin) in out or \
- 'export PATH="{0}'.format(viewdir_bin) in out
+ assert (
+ "export PATH={0}".format(viewdir_bin) in out
+ or "export PATH='{0}".format(viewdir_bin) in out
+ or 'export PATH="{0}'.format(viewdir_bin) in out
+ )
def test_concretize_user_specs_together():
- e = ev.create('coconcretization')
+ e = ev.create("coconcretization")
e.unify = True
# Concretize a first time using 'mpich' as the MPI provider
- e.add('mpileaks')
- e.add('mpich')
+ e.add("mpileaks")
+ e.add("mpich")
e.concretize()
- assert all('mpich' in spec for _, spec in e.concretized_specs())
- assert all('mpich2' not in spec for _, spec in e.concretized_specs())
+ assert all("mpich" in spec for _, spec in e.concretized_specs())
+ assert all("mpich2" not in spec for _, spec in e.concretized_specs())
# Concretize a second time using 'mpich2' as the MPI provider
- e.remove('mpich')
- e.add('mpich2')
+ e.remove("mpich")
+ e.add("mpich2")
e.concretize()
- assert all('mpich2' in spec for _, spec in e.concretized_specs())
- assert all('mpich' not in spec for _, spec in e.concretized_specs())
+ assert all("mpich2" in spec for _, spec in e.concretized_specs())
+ assert all("mpich" not in spec for _, spec in e.concretized_specs())
# Concretize again without changing anything, check everything
# stays the same
e.concretize()
- assert all('mpich2' in spec for _, spec in e.concretized_specs())
- assert all('mpich' not in spec for _, spec in e.concretized_specs())
+ assert all("mpich2" in spec for _, spec in e.concretized_specs())
+ assert all("mpich" not in spec for _, spec in e.concretized_specs())
def test_cant_install_single_spec_when_concretizing_together():
- e = ev.create('coconcretization')
+ e = ev.create("coconcretization")
e.unify = True
- with pytest.raises(ev.SpackEnvironmentError, match=r'cannot install'):
- e.concretize_and_add('zlib')
+ with pytest.raises(ev.SpackEnvironmentError, match=r"cannot install"):
+ e.concretize_and_add("zlib")
e.install_all()
def test_duplicate_packages_raise_when_concretizing_together():
- e = ev.create('coconcretization')
+ e = ev.create("coconcretization")
e.unify = True
- e.add('mpileaks+opt')
- e.add('mpileaks~opt')
- e.add('mpich')
+ e.add("mpileaks+opt")
+ e.add("mpileaks~opt")
+ e.add("mpich")
- with pytest.raises(ev.SpackEnvironmentError, match=r'cannot contain more'):
+ with pytest.raises(ev.SpackEnvironmentError, match=r"cannot contain more"):
e.concretize()
def test_env_write_only_non_default():
- env('create', 'test')
+ env("create", "test")
- e = ev.read('test')
- with open(e.manifest_path, 'r') as f:
+ e = ev.read("test")
+ with open(e.manifest_path, "r") as f:
yaml = f.read()
assert yaml == ev.default_manifest_yaml()
-@pytest.mark.regression('20526')
+@pytest.mark.regression("20526")
def test_env_write_only_non_default_nested(tmpdir):
# setup an environment file
# the environment includes configuration because nested configs proved the
# most difficult to avoid writing.
- filename = 'spack.yaml'
+ filename = "spack.yaml"
filepath = str(tmpdir.join(filename))
contents = """\
env:
@@ -2288,42 +2384,46 @@ env:
"""
# create environment with some structure
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write(contents)
- env('create', 'test', filepath)
+ env("create", "test", filepath)
# concretize
- with ev.read('test') as e:
+ with ev.read("test") as e:
concretize()
e.write()
- with open(e.manifest_path, 'r') as f:
+ with open(e.manifest_path, "r") as f:
manifest = f.read()
assert manifest == contents
-@pytest.mark.parametrize('concretization,unify', [
- ('together', 'true'),
- ('separately', 'false')
-])
+@pytest.mark.parametrize("concretization,unify", [("together", "true"), ("separately", "false")])
def test_update_concretization_to_concretizer_unify(concretization, unify, tmpdir):
spack_yaml = """\
spack:
concretization: {}
-""".format(concretization)
- tmpdir.join('spack.yaml').write(spack_yaml)
+""".format(
+ concretization
+ )
+ tmpdir.join("spack.yaml").write(spack_yaml)
# Update the environment
- env('update', '-y', str(tmpdir))
- with open(str(tmpdir.join('spack.yaml'))) as f:
- assert f.read() == """\
+ env("update", "-y", str(tmpdir))
+ with open(str(tmpdir.join("spack.yaml"))) as f:
+ assert (
+ f.read()
+ == """\
spack:
concretizer:
unify: {}
-""".format(unify)
+""".format(
+ unify
+ )
+ )
-@pytest.mark.regression('18147')
+@pytest.mark.regression("18147")
def test_can_update_attributes_with_override(tmpdir):
spack_yaml = """
spack:
@@ -2336,14 +2436,14 @@ spack:
specs:
- hdf5
"""
- abspath = tmpdir.join('spack.yaml')
+ abspath = tmpdir.join("spack.yaml")
abspath.write(spack_yaml)
# Check that an update does not raise
- env('update', '-y', str(abspath.dirname))
+ env("update", "-y", str(abspath.dirname))
-@pytest.mark.regression('18338')
+@pytest.mark.regression("18338")
def test_newline_in_commented_sequence_is_not_an_issue(tmpdir):
spack_yaml = """
spack:
@@ -2359,12 +2459,12 @@ spack:
concretizer:
unify: false
"""
- abspath = tmpdir.join('spack.yaml')
+ abspath = tmpdir.join("spack.yaml")
abspath.write(spack_yaml)
def extract_dag_hash(environment):
_, dyninst = next(iter(environment.specs_by_hash.items()))
- return dyninst['libelf'].dag_hash()
+ return dyninst["libelf"].dag_hash()
# Concretize a first time and create a lockfile
with ev.Environment(str(tmpdir)) as e:
@@ -2379,7 +2479,7 @@ spack:
assert libelf_first_hash == libelf_second_hash
-@pytest.mark.regression('18441')
+@pytest.mark.regression("18441")
def test_lockfile_not_deleted_on_write_error(tmpdir, monkeypatch):
raw_yaml = """
spack:
@@ -2391,9 +2491,9 @@ spack:
- spec: libelf@0.8.13
prefix: /usr
"""
- spack_yaml = tmpdir.join('spack.yaml')
+ spack_yaml = tmpdir.join("spack.yaml")
spack_yaml.write(raw_yaml)
- spack_lock = tmpdir.join('spack.lock')
+ spack_lock = tmpdir.join("spack.lock")
# Concretize a first time and create a lockfile
with ev.Environment(str(tmpdir)):
@@ -2403,11 +2503,9 @@ spack:
# If I run concretize again and there's an error during write,
# the spack.lock file shouldn't disappear from disk
def _write_helper_raise(self, x, y):
- raise RuntimeError('some error')
+ raise RuntimeError("some error")
- monkeypatch.setattr(
- ev.Environment, '_update_and_write_manifest', _write_helper_raise
- )
+ monkeypatch.setattr(ev.Environment, "_update_and_write_manifest", _write_helper_raise)
with ev.Environment(str(tmpdir)) as e:
e.concretize(force=True)
with pytest.raises(RuntimeError):
@@ -2418,10 +2516,10 @@ spack:
def _setup_develop_packages(tmpdir):
"""Sets up a structure ./init_env/spack.yaml, ./build_folder, ./dest_env
- where spack.yaml has a relative develop path to build_folder"""
- init_env = tmpdir.join('init_env')
- build_folder = tmpdir.join('build_folder')
- dest_env = tmpdir.join('dest_env')
+ where spack.yaml has a relative develop path to build_folder"""
+ init_env = tmpdir.join("init_env")
+ build_folder = tmpdir.join("build_folder")
+ dest_env = tmpdir.join("dest_env")
fs.mkdirp(str(init_env))
fs.mkdirp(str(build_folder))
@@ -2438,7 +2536,7 @@ spack:
path: /some/other/path
spec: mypkg@main
"""
- spack_yaml = init_env.join('spack.yaml')
+ spack_yaml = init_env.join("spack.yaml")
spack_yaml.write(raw_yaml)
return init_env, build_folder, dest_env, spack_yaml
@@ -2446,69 +2544,67 @@ spack:
def test_rewrite_rel_dev_path_new_dir(tmpdir):
"""Relative develop paths should be rewritten for new environments in
- a different directory from the original manifest file"""
+ a different directory from the original manifest file"""
_, build_folder, dest_env, spack_yaml = _setup_develop_packages(tmpdir)
- env('create', '-d', str(dest_env), str(spack_yaml))
+ env("create", "-d", str(dest_env), str(spack_yaml))
with ev.Environment(str(dest_env)) as e:
- assert e.dev_specs['mypkg1']['path'] == str(build_folder)
- assert e.dev_specs['mypkg2']['path'] == sep + os.path.join('some',
- 'other', 'path')
+ assert e.dev_specs["mypkg1"]["path"] == str(build_folder)
+ assert e.dev_specs["mypkg2"]["path"] == sep + os.path.join("some", "other", "path")
def test_rewrite_rel_dev_path_named_env(tmpdir):
"""Relative develop paths should by default be rewritten for new named
- environment"""
+ environment"""
_, build_folder, _, spack_yaml = _setup_develop_packages(tmpdir)
- env('create', 'named_env', str(spack_yaml))
- with ev.read('named_env') as e:
- assert e.dev_specs['mypkg1']['path'] == str(build_folder)
- assert e.dev_specs['mypkg2']['path'] == sep + os.path.join('some',
- 'other', 'path')
+ env("create", "named_env", str(spack_yaml))
+ with ev.read("named_env") as e:
+ assert e.dev_specs["mypkg1"]["path"] == str(build_folder)
+ assert e.dev_specs["mypkg2"]["path"] == sep + os.path.join("some", "other", "path")
def test_rewrite_rel_dev_path_original_dir(tmpdir):
"""Relative devevelop paths should not be rewritten when initializing an
- environment with root path set to the same directory"""
+ environment with root path set to the same directory"""
init_env, _, _, spack_yaml = _setup_develop_packages(tmpdir)
with ev.Environment(str(init_env), str(spack_yaml)) as e:
- assert e.dev_specs['mypkg1']['path'] == '../build_folder'
- assert e.dev_specs['mypkg2']['path'] == '/some/other/path'
+ assert e.dev_specs["mypkg1"]["path"] == "../build_folder"
+ assert e.dev_specs["mypkg2"]["path"] == "/some/other/path"
def test_rewrite_rel_dev_path_create_original_dir(tmpdir):
"""Relative develop paths should not be rewritten when creating an
- environment in the original directory"""
+ environment in the original directory"""
init_env, _, _, spack_yaml = _setup_develop_packages(tmpdir)
- env('create', '-d', str(init_env), str(spack_yaml))
+ env("create", "-d", str(init_env), str(spack_yaml))
with ev.Environment(str(init_env)) as e:
- assert e.dev_specs['mypkg1']['path'] == '../build_folder'
- assert e.dev_specs['mypkg2']['path'] == '/some/other/path'
+ assert e.dev_specs["mypkg1"]["path"] == "../build_folder"
+ assert e.dev_specs["mypkg2"]["path"] == "/some/other/path"
def test_does_not_rewrite_rel_dev_path_when_keep_relative_is_set(tmpdir):
"""Relative develop paths should not be rewritten when --keep-relative is
- passed to create"""
+ passed to create"""
_, _, _, spack_yaml = _setup_develop_packages(tmpdir)
- env('create', '--keep-relative', 'named_env', str(spack_yaml))
- with ev.read('named_env') as e:
- assert e.dev_specs['mypkg1']['path'] == '../build_folder'
- assert e.dev_specs['mypkg2']['path'] == '/some/other/path'
+ env("create", "--keep-relative", "named_env", str(spack_yaml))
+ with ev.read("named_env") as e:
+ assert e.dev_specs["mypkg1"]["path"] == "../build_folder"
+ assert e.dev_specs["mypkg2"]["path"] == "/some/other/path"
-@pytest.mark.regression('23440')
+@pytest.mark.regression("23440")
def test_custom_version_concretize_together(tmpdir):
# Custom versions should be permitted in specs when
# concretizing together
- e = ev.create('custom_version')
+ e = ev.create("custom_version")
e.unify = True
# Concretize a first time using 'mpich' as the MPI provider
- e.add('hdf5@myversion')
- e.add('mpich')
+ e.add("hdf5@myversion")
+ e.add("mpich")
e.concretize()
- assert any('hdf5@myversion' in spec for _, spec in e.concretized_specs())
+ assert any("hdf5@myversion" in spec for _, spec in e.concretized_specs())
def test_modules_relative_to_views(tmpdir, install_mockery, mock_fetch):
@@ -2523,19 +2619,19 @@ spack:
roots:
tcl: modules
"""
- _env_create('test', StringIO(spack_yaml))
+ _env_create("test", StringIO(spack_yaml))
- with ev.read('test') as e:
+ with ev.read("test") as e:
install()
spec = e.specs_by_hash[e.concretized_order[0]]
view_prefix = e.default_view.get_projection_for_spec(spec)
- modules_glob = '%s/modules/**/*' % e.path
+ modules_glob = "%s/modules/**/*" % e.path
modules = glob.glob(modules_glob)
assert len(modules) == 1
module = modules[0]
- with open(module, 'r') as f:
+ with open(module, "r") as f:
contents = f.read()
assert view_prefix in contents
@@ -2558,27 +2654,27 @@ spack:
roots:
tcl: full_modules
"""
- _env_create('test', StringIO(spack_yaml))
+ _env_create("test", StringIO(spack_yaml))
- with ev.read('test') as e:
+ with ev.read("test") as e:
install()
spec = e.specs_by_hash[e.concretized_order[0]]
view_prefix = e.default_view.get_projection_for_spec(spec)
- modules_glob = '%s/modules/**/*' % e.path
+ modules_glob = "%s/modules/**/*" % e.path
modules = glob.glob(modules_glob)
assert len(modules) == 1
module = modules[0]
- full_modules_glob = '%s/full_modules/**/*' % e.path
+ full_modules_glob = "%s/full_modules/**/*" % e.path
full_modules = glob.glob(full_modules_glob)
assert len(full_modules) == 1
- full_module = full_modules[0]
+ full_module = full_modules[0]
- with open(module, 'r') as f:
+ with open(module, "r") as f:
contents = f.read()
- with open(full_module, 'r') as f:
+ with open(full_module, "r") as f:
full_contents = f.read()
assert view_prefix in contents
@@ -2588,70 +2684,69 @@ spack:
assert spec.prefix in full_contents
-@pytest.mark.regression('24148')
+@pytest.mark.regression("24148")
def test_virtual_spec_concretize_together(tmpdir):
# An environment should permit to concretize "mpi"
- e = ev.create('virtual_spec')
+ e = ev.create("virtual_spec")
e.unify = True
- e.add('mpi')
+ e.add("mpi")
e.concretize()
- assert any(s.package.provides('mpi') for _, s in e.concretized_specs())
+ 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)
+ 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'))
+ 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("method", [spack.cmd.env.env_activate, spack.cmd.env.env_deactivate])
@pytest.mark.parametrize(
- 'env,no_env,env_dir',
+ "env,no_env,env_dir",
[
- ('b', False, None),
+ ("b", False, None),
(None, True, None),
- (None, False, 'path/'),
- ])
+ (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)
+ 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
+ assert "is ambiguous" in err
-@pytest.mark.regression('26548')
+@pytest.mark.regression("26548")
def test_custom_store_in_environment(mutable_config, tmpdir):
- spack_yaml = tmpdir.join('spack.yaml')
- spack_yaml.write("""
+ spack_yaml = tmpdir.join("spack.yaml")
+ spack_yaml.write(
+ """
spack:
specs:
- libelf
config:
install_tree:
root: /tmp/store
-""")
- if sys.platform == 'win32':
- sep = '\\'
+"""
+ )
+ if sys.platform == "win32":
+ sep = "\\"
else:
- sep = '/'
+ sep = "/"
current_store_root = str(spack.store.root)
- assert str(current_store_root) != sep + os.path.join('tmp', 'store')
+ assert str(current_store_root) != sep + os.path.join("tmp", "store")
with spack.environment.Environment(str(tmpdir)):
- assert str(spack.store.root) == sep + os.path.join('tmp', 'store')
+ assert str(spack.store.root) == sep + os.path.join("tmp", "store")
assert str(spack.store.root) == current_store_root
@@ -2660,30 +2755,29 @@ def test_activate_temp(monkeypatch, tmpdir):
temporary directory"""
env_dir = lambda: str(tmpdir)
monkeypatch.setattr(spack.cmd.env, "create_temp_env_directory", env_dir)
- shell = env('activate', '--temp', '--sh')
- active_env_var = next(line for line in shell.splitlines()
- if ev.spack_env_var in line)
+ shell = env("activate", "--temp", "--sh")
+ active_env_var = next(line for line in shell.splitlines() if ev.spack_env_var in line)
assert str(tmpdir) in active_env_var
assert ev.is_env_dir(str(tmpdir))
def test_env_view_fail_if_symlink_points_elsewhere(tmpdir, install_mockery, mock_fetch):
- view = str(tmpdir.join('view'))
+ view = str(tmpdir.join("view"))
# Put a symlink to an actual directory in view
- non_view_dir = str(tmpdir.mkdir('dont-delete-me'))
+ non_view_dir = str(tmpdir.mkdir("dont-delete-me"))
os.symlink(non_view_dir, view)
- with ev.create('env', with_view=view):
- add('libelf')
- install('--fake')
+ with ev.create("env", with_view=view):
+ add("libelf")
+ install("--fake")
assert os.path.isdir(non_view_dir)
def test_failed_view_cleanup(tmpdir, mock_stage, mock_fetch, install_mockery):
"""Tests whether Spack cleans up after itself when a view fails to create"""
- view = str(tmpdir.join('view'))
- with ev.create('env', with_view=view):
- add('libelf')
- install('--fake')
+ view = str(tmpdir.join("view"))
+ with ev.create("env", with_view=view):
+ add("libelf")
+ install("--fake")
# Save the current view directory.
resolved_view = os.path.realpath(view)
@@ -2691,10 +2785,10 @@ def test_failed_view_cleanup(tmpdir, mock_stage, mock_fetch, install_mockery):
views_before = os.listdir(all_views)
# Add a spec that results in MergeConflictError's when creating a view
- with ev.read('env'):
- add('libelf cflags=-O3')
+ with ev.read("env"):
+ add("libelf cflags=-O3")
with pytest.raises(llnl.util.link_tree.MergeConflictError):
- install('--fake')
+ install("--fake")
# Make sure there is no broken view in the views directory, and the current
# view is the original view from before the failed regenerate attempt.
@@ -2703,19 +2797,17 @@ def test_failed_view_cleanup(tmpdir, mock_stage, mock_fetch, install_mockery):
assert os.path.samefile(resolved_view, view)
-def test_environment_view_target_already_exists(
- tmpdir, mock_stage, mock_fetch, install_mockery
-):
+def test_environment_view_target_already_exists(tmpdir, mock_stage, mock_fetch, install_mockery):
"""When creating a new view, Spack should check whether
the new view dir already exists. If so, it should not be
removed or modified."""
# Create a new environment
- view = str(tmpdir.join('view'))
- env('create', '--with-view={0}'.format(view), 'test')
- with ev.read('test'):
- add('libelf')
- install('--fake')
+ view = str(tmpdir.join("view"))
+ env("create", "--with-view={0}".format(view), "test")
+ with ev.read("test"):
+ add("libelf")
+ install("--fake")
# Empty the underlying view
real_view = os.path.realpath(view)
@@ -2724,33 +2816,33 @@ def test_environment_view_target_already_exists(
# Replace it with something new.
os.mkdir(real_view)
- fs.touch(os.path.join(real_view, 'file'))
+ fs.touch(os.path.join(real_view, "file"))
# Remove the symlink so Spack can't know about the "previous root"
os.unlink(view)
# Regenerate the view, which should realize it can't write into the same dir.
- msg = 'Failed to generate environment view'
- with ev.read('test'):
+ msg = "Failed to generate environment view"
+ with ev.read("test"):
with pytest.raises(ev.SpackEnvironmentViewError, match=msg):
- env('view', 'regenerate')
+ env("view", "regenerate")
# Make sure the dir was left untouched.
assert not os.path.lexists(view)
- assert os.listdir(real_view) == ['file']
+ assert os.listdir(real_view) == ["file"]
def test_environment_query_spec_by_hash(mock_stage, mock_fetch, install_mockery):
- env('create', 'test')
- with ev.read('test'):
- add('libdwarf')
+ env("create", "test")
+ with ev.read("test"):
+ add("libdwarf")
concretize()
- with ev.read('test') as e:
- spec = e.matching_spec('libelf')
- install('/{0}'.format(spec.dag_hash()))
- with ev.read('test') as e:
- assert not e.matching_spec('libdwarf').installed
- assert e.matching_spec('libelf').installed
+ with ev.read("test") as e:
+ spec = e.matching_spec("libelf")
+ install("/{0}".format(spec.dag_hash()))
+ with ev.read("test") as e:
+ assert not e.matching_spec("libdwarf").installed
+ assert e.matching_spec("libelf").installed
@pytest.mark.parametrize("lockfile", ["v1", "v2", "v3"])
@@ -2773,9 +2865,7 @@ def test_read_old_lock_and_write_new(config, tmpdir, lockfile):
# the environment, anyway.
#
# This test ensures the behavior described above.
- lockfile_path = os.path.join(
- spack.paths.test_path, "data", "legacy_env", "%s.lock" % lockfile
- )
+ lockfile_path = os.path.join(spack.paths.test_path, "data", "legacy_env", "%s.lock" % lockfile)
# read in the JSON from a legacy lockfile
with open(lockfile_path) as f:
@@ -2827,9 +2917,7 @@ def test_read_v1_lock_creates_backup(config, tmpdir):
is created.
"""
# read in the JSON from a legacy v1 lockfile
- v1_lockfile_path = os.path.join(
- spack.paths.test_path, "data", "legacy_env", "v1.lock"
- )
+ v1_lockfile_path = os.path.join(spack.paths.test_path, "data", "legacy_env", "v1.lock")
# make an env out of the old lockfile
test_lockfile_path = str(tmpdir.join(ev.lockfile_name))
@@ -2841,9 +2929,7 @@ def test_read_v1_lock_creates_backup(config, tmpdir):
@pytest.mark.parametrize("lockfile", ["v1", "v2", "v3"])
-def test_read_legacy_lockfile_and_reconcretize(
- mock_stage, mock_fetch, install_mockery, lockfile
-):
+def test_read_legacy_lockfile_and_reconcretize(mock_stage, mock_fetch, install_mockery, lockfile):
# In legacy lockfiles v2 and v3 (keyed by build hash), there may be multiple
# versions of the same spec with different build dependencies, which means
# they will have different build hashes but the same DAG hash.
@@ -2865,8 +2951,8 @@ def test_read_legacy_lockfile_and_reconcretize(
# So in v2 and v3 lockfiles we have two versions of dttop with the same DAG
# hash but different build hashes.
- env('create', 'test', legacy_lockfile_path)
- test = ev.read('test')
+ env("create", "test", legacy_lockfile_path)
+ test = ev.read("test")
assert len(test.specs_by_hash) == 1
single_root = next(iter(test.specs_by_hash.values()))
@@ -2875,72 +2961,73 @@ def test_read_legacy_lockfile_and_reconcretize(
# v0.5 on lockfile creation. v2 only has v0.5, because we specifically prefer
# the one that would be installed when we read old lockfiles.
if lockfile == "v1":
- assert single_root['dtbuild1'].version == Version('1.0')
+ assert single_root["dtbuild1"].version == Version("1.0")
else:
- assert single_root['dtbuild1'].version == Version('0.5')
+ assert single_root["dtbuild1"].version == Version("0.5")
# Now forcefully reconcretize
- with ev.read('test'):
- concretize('-f')
+ with ev.read("test"):
+ concretize("-f")
# After reconcretizing, we should again see two roots, one depending on each
# of the dtbuild1 versions specified in the roots of the original lockfile.
- test = ev.read('test')
+ test = ev.read("test")
assert len(test.specs_by_hash) == 2
- expected_versions = set([Version('0.5'), Version('1.0')])
- current_versions = set(s['dtbuild1'].version for s in test.specs_by_hash.values())
+ expected_versions = set([Version("0.5"), Version("1.0")])
+ current_versions = set(s["dtbuild1"].version for s in test.specs_by_hash.values())
assert current_versions == expected_versions
def test_environment_depfile_makefile(tmpdir, mock_packages):
- env('create', 'test')
- make = Executable('make')
- makefile = str(tmpdir.join('Makefile'))
- with ev.read('test'):
- add('libdwarf')
+ env("create", "test")
+ make = Executable("make")
+ makefile = str(tmpdir.join("Makefile"))
+ with ev.read("test"):
+ add("libdwarf")
concretize()
# Disable jobserver so we can do a dry run.
- with ev.read('test'):
- env('depfile', '-o', makefile, '--make-disable-jobserver',
- '--make-target-prefix', 'prefix')
+ with ev.read("test"):
+ env(
+ "depfile", "-o", makefile, "--make-disable-jobserver", "--make-target-prefix", "prefix"
+ )
# Do make dry run.
- all_out = make('-n', '-f', makefile, output=str)
+ all_out = make("-n", "-f", makefile, output=str)
# Check whether `make` installs everything
- with ev.read('test') as e:
+ with ev.read("test") as e:
for _, root in e.concretized_specs():
for spec in root.traverse(root=True):
- tgt = os.path.join('prefix', '.install', spec.dag_hash())
- assert 'touch {}'.format(tgt) in all_out
+ tgt = os.path.join("prefix", ".install", spec.dag_hash())
+ assert "touch {}".format(tgt) in all_out
def test_environment_depfile_out(tmpdir, mock_packages):
- env('create', 'test')
- makefile_path = str(tmpdir.join('Makefile'))
- with ev.read('test'):
- add('libdwarf')
+ env("create", "test")
+ makefile_path = str(tmpdir.join("Makefile"))
+ with ev.read("test"):
+ add("libdwarf")
concretize()
- with ev.read('test'):
- env('depfile', '-G', 'make', '-o', makefile_path)
- stdout = env('depfile', '-G', 'make')
- with open(makefile_path, 'r') as f:
+ with ev.read("test"):
+ env("depfile", "-G", "make", "-o", makefile_path)
+ stdout = env("depfile", "-G", "make")
+ with open(makefile_path, "r") as f:
assert stdout == f.read()
def test_unify_when_possible_works_around_conflicts():
- e = ev.create('coconcretization')
- e.unify = 'when_possible'
+ e = ev.create("coconcretization")
+ e.unify = "when_possible"
- e.add('mpileaks+opt')
- e.add('mpileaks~opt')
- e.add('mpich')
+ e.add("mpileaks+opt")
+ e.add("mpileaks~opt")
+ e.add("mpich")
e.concretize()
- assert len([x for x in e.all_specs() if x.satisfies('mpileaks')]) == 2
- assert len([x for x in e.all_specs() if x.satisfies('mpileaks+opt')]) == 1
- assert len([x for x in e.all_specs() if x.satisfies('mpileaks~opt')]) == 1
- assert len([x for x in e.all_specs() if x.satisfies('mpich')]) == 1
+ assert len([x for x in e.all_specs() if x.satisfies("mpileaks")]) == 2
+ assert len([x for x in e.all_specs() if x.satisfies("mpileaks+opt")]) == 1
+ assert len([x for x in e.all_specs() if x.satisfies("mpileaks~opt")]) == 1
+ assert len([x for x in e.all_specs() if x.satisfies("mpich")]) == 1
diff --git a/lib/spack/spack/test/cmd/extensions.py b/lib/spack/spack/test/cmd/extensions.py
index 88f073519c..c4e849365f 100644
--- a/lib/spack/spack/test/cmd/extensions.py
+++ b/lib/spack/spack/test/cmd/extensions.py
@@ -10,16 +10,19 @@ import pytest
from spack.main import SpackCommand, SpackCommandError
from spack.spec import Spec
-extensions = SpackCommand('extensions')
+extensions = SpackCommand("extensions")
@pytest.fixture
def python_database(mock_packages, mutable_database):
- specs = [Spec(s).concretized() for s in [
- 'python',
- 'py-extension1',
- 'py-extension2',
- ]]
+ specs = [
+ Spec(s).concretized()
+ for s in [
+ "python",
+ "py-extension1",
+ "py-extension2",
+ ]
+ ]
for spec in specs:
spec.package.do_install(fake=True, explicit=True)
@@ -27,10 +30,10 @@ def python_database(mock_packages, mutable_database):
yield
-@pytest.mark.skipif(sys.platform == 'win32', reason="All Fetchers Failed")
+@pytest.mark.skipif(sys.platform == "win32", reason="All Fetchers Failed")
@pytest.mark.db
def test_extensions(mock_packages, python_database, config, capsys):
- ext2 = Spec("py-extension2").concretized()
+ ext2 = Spec("py-extension2").concretized()
def check_output(ni, na):
with capsys.disabled():
@@ -71,7 +74,7 @@ def test_extensions(mock_packages, python_database, config, capsys):
def test_extensions_no_arguments(mock_packages):
out = extensions()
- assert 'python' in out
+ assert "python" in out
def test_extensions_raises_if_not_extendable(mock_packages):
diff --git a/lib/spack/spack/test/cmd/external.py b/lib/spack/spack/test/cmd/external.py
index 0ee857ae53..ec9923139c 100644
--- a/lib/spack/spack/test/cmd/external.py
+++ b/lib/spack/spack/test/cmd/external.py
@@ -16,7 +16,7 @@ import spack.detection.path
from spack.main import SpackCommand
from spack.spec import Spec
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
@pytest.fixture
@@ -25,237 +25,248 @@ def executables_found(monkeypatch):
def _mock_search(path_hints=None):
return result
- monkeypatch.setattr(spack.detection.path, 'executables_in_path', _mock_search)
+ monkeypatch.setattr(spack.detection.path, "executables_in_path", _mock_search)
+
return _factory
@pytest.fixture
def _platform_executables(monkeypatch):
def _win_exe_ext():
- return '.bat'
+ return ".bat"
- monkeypatch.setattr(spack.util.path, 'win_exe_ext', _win_exe_ext)
+ monkeypatch.setattr(spack.util.path, "win_exe_ext", _win_exe_ext)
def define_plat_exe(exe):
if is_windows:
- exe += '.bat'
+ exe += ".bat"
return exe
-def test_find_external_single_package(mock_executable, executables_found,
- _platform_executables):
- pkgs_to_check = [spack.repo.path.get_pkg_class('cmake')]
- executables_found({
- mock_executable("cmake", output='echo cmake version 1.foo'):
- define_plat_exe('cmake')
- })
+def test_find_external_single_package(mock_executable, executables_found, _platform_executables):
+ pkgs_to_check = [spack.repo.path.get_pkg_class("cmake")]
+ executables_found(
+ {mock_executable("cmake", output="echo cmake version 1.foo"): define_plat_exe("cmake")}
+ )
pkg_to_entries = spack.detection.by_executable(pkgs_to_check)
pkg, entries = next(iter(pkg_to_entries.items()))
single_entry = next(iter(entries))
- assert single_entry.spec == Spec('cmake@1.foo')
+ assert single_entry.spec == Spec("cmake@1.foo")
-def test_find_external_two_instances_same_package(mock_executable, executables_found,
- _platform_executables):
- pkgs_to_check = [spack.repo.path.get_pkg_class('cmake')]
+def test_find_external_two_instances_same_package(
+ mock_executable, executables_found, _platform_executables
+):
+ pkgs_to_check = [spack.repo.path.get_pkg_class("cmake")]
# Each of these cmake instances is created in a different prefix
# In Windows, quoted strings are echo'd with quotes includes
# we need to avoid that for proper regex.
cmake_path1 = mock_executable(
- "cmake", output='echo cmake version 1.foo', subdir=('base1', 'bin')
+ "cmake", output="echo cmake version 1.foo", subdir=("base1", "bin")
)
cmake_path2 = mock_executable(
- "cmake", output='echo cmake version 3.17.2', subdir=('base2', 'bin')
+ "cmake", output="echo cmake version 3.17.2", subdir=("base2", "bin")
)
- cmake_exe = define_plat_exe('cmake')
- executables_found({
- cmake_path1: cmake_exe,
- cmake_path2: cmake_exe
- })
+ cmake_exe = define_plat_exe("cmake")
+ executables_found({cmake_path1: cmake_exe, cmake_path2: cmake_exe})
pkg_to_entries = spack.detection.by_executable(pkgs_to_check)
pkg, entries = next(iter(pkg_to_entries.items()))
spec_to_path = dict((e.spec, e.prefix) for e in entries)
- assert spec_to_path[Spec('cmake@1.foo')] == (
- spack.detection.executable_prefix(os.path.dirname(cmake_path1)))
- assert spec_to_path[Spec('cmake@3.17.2')] == (
- spack.detection.executable_prefix(os.path.dirname(cmake_path2)))
+ assert spec_to_path[Spec("cmake@1.foo")] == (
+ spack.detection.executable_prefix(os.path.dirname(cmake_path1))
+ )
+ assert spec_to_path[Spec("cmake@3.17.2")] == (
+ spack.detection.executable_prefix(os.path.dirname(cmake_path2))
+ )
def test_find_external_update_config(mutable_config):
entries = [
- spack.detection.DetectedPackage(Spec.from_detection('cmake@1.foo'), '/x/y1/'),
- spack.detection.DetectedPackage(Spec.from_detection('cmake@3.17.2'), '/x/y2/'),
+ spack.detection.DetectedPackage(Spec.from_detection("cmake@1.foo"), "/x/y1/"),
+ spack.detection.DetectedPackage(Spec.from_detection("cmake@3.17.2"), "/x/y2/"),
]
- pkg_to_entries = {'cmake': entries}
+ pkg_to_entries = {"cmake": entries}
- scope = spack.config.default_modify_scope('packages')
+ scope = spack.config.default_modify_scope("packages")
spack.detection.update_configuration(pkg_to_entries, scope=scope, buildable=True)
- pkgs_cfg = spack.config.get('packages')
- cmake_cfg = pkgs_cfg['cmake']
- cmake_externals = cmake_cfg['externals']
+ pkgs_cfg = spack.config.get("packages")
+ cmake_cfg = pkgs_cfg["cmake"]
+ cmake_externals = cmake_cfg["externals"]
- assert {'spec': 'cmake@1.foo', 'prefix': '/x/y1/'} in cmake_externals
- assert {'spec': 'cmake@3.17.2', 'prefix': '/x/y2/'} in cmake_externals
+ assert {"spec": "cmake@1.foo", "prefix": "/x/y1/"} in cmake_externals
+ assert {"spec": "cmake@3.17.2", "prefix": "/x/y2/"} in cmake_externals
def test_get_executables(working_env, mock_executable):
cmake_path1 = mock_executable("cmake", output="echo cmake version 1.foo")
- os.environ['PATH'] = os.pathsep.join([os.path.dirname(cmake_path1)])
+ os.environ["PATH"] = os.pathsep.join([os.path.dirname(cmake_path1)])
path_to_exe = spack.detection.executables_in_path()
- cmake_exe = define_plat_exe('cmake')
+ cmake_exe = define_plat_exe("cmake")
assert path_to_exe[cmake_path1] == cmake_exe
-external = SpackCommand('external')
+external = SpackCommand("external")
-def test_find_external_cmd(mutable_config, working_env, mock_executable,
- _platform_executables):
+def test_find_external_cmd(mutable_config, working_env, mock_executable, _platform_executables):
"""Test invoking 'spack external find' with additional package arguments,
which restricts the set of packages that Spack looks for.
"""
cmake_path1 = mock_executable("cmake", output="echo cmake version 1.foo")
prefix = os.path.dirname(os.path.dirname(cmake_path1))
- os.environ['PATH'] = os.pathsep.join([os.path.dirname(cmake_path1)])
- external('find', 'cmake')
+ os.environ["PATH"] = os.pathsep.join([os.path.dirname(cmake_path1)])
+ external("find", "cmake")
- pkgs_cfg = spack.config.get('packages')
- cmake_cfg = pkgs_cfg['cmake']
- cmake_externals = cmake_cfg['externals']
+ pkgs_cfg = spack.config.get("packages")
+ cmake_cfg = pkgs_cfg["cmake"]
+ cmake_externals = cmake_cfg["externals"]
- assert {'spec': 'cmake@1.foo', 'prefix': prefix} in cmake_externals
+ assert {"spec": "cmake@1.foo", "prefix": prefix} in cmake_externals
-def test_find_external_cmd_not_buildable(
- mutable_config, working_env, mock_executable):
+def test_find_external_cmd_not_buildable(mutable_config, working_env, mock_executable):
"""When the user invokes 'spack external find --not-buildable', the config
for any package where Spack finds an external version should be marked as
not buildable.
"""
cmake_path1 = mock_executable("cmake", output="echo cmake version 1.foo")
- os.environ['PATH'] = os.pathsep.join([os.path.dirname(cmake_path1)])
- external('find', '--not-buildable', 'cmake')
- pkgs_cfg = spack.config.get('packages')
- assert not pkgs_cfg['cmake']['buildable']
+ os.environ["PATH"] = os.pathsep.join([os.path.dirname(cmake_path1)])
+ external("find", "--not-buildable", "cmake")
+ pkgs_cfg = spack.config.get("packages")
+ assert not pkgs_cfg["cmake"]["buildable"]
def test_find_external_cmd_full_repo(
- mutable_config, working_env, mock_executable, mutable_mock_repo,
- _platform_executables):
+ mutable_config, working_env, mock_executable, mutable_mock_repo, _platform_executables
+):
"""Test invoking 'spack external find' with no additional arguments, which
iterates through each package in the repository.
"""
- exe_path1 = mock_executable(
- "find-externals1-exe", output="echo find-externals1 version 1.foo"
- )
+ exe_path1 = mock_executable("find-externals1-exe", output="echo find-externals1 version 1.foo")
prefix = os.path.dirname(os.path.dirname(exe_path1))
- os.environ['PATH'] = os.pathsep.join([os.path.dirname(exe_path1)])
- external('find', '--all')
+ os.environ["PATH"] = os.pathsep.join([os.path.dirname(exe_path1)])
+ external("find", "--all")
- pkgs_cfg = spack.config.get('packages')
- pkg_cfg = pkgs_cfg['find-externals1']
- pkg_externals = pkg_cfg['externals']
+ pkgs_cfg = spack.config.get("packages")
+ pkg_cfg = pkgs_cfg["find-externals1"]
+ pkg_externals = pkg_cfg["externals"]
- assert {'spec': 'find-externals1@1.foo', 'prefix': prefix} in pkg_externals
+ assert {"spec": "find-externals1@1.foo", "prefix": prefix} in pkg_externals
def test_find_external_no_manifest(
- mutable_config, working_env, mock_executable, mutable_mock_repo,
- _platform_executables, monkeypatch):
+ mutable_config,
+ working_env,
+ mock_executable,
+ mutable_mock_repo,
+ _platform_executables,
+ monkeypatch,
+):
"""The user runs 'spack external find'; the default path for storing
manifest files does not exist. Ensure that the command does not
fail.
"""
- monkeypatch.setenv('PATH', '')
- monkeypatch.setattr(spack.cray_manifest, 'default_path',
- os.path.join('a', 'path', 'that', 'doesnt', 'exist'))
- external('find')
+ monkeypatch.setenv("PATH", "")
+ monkeypatch.setattr(
+ spack.cray_manifest, "default_path", os.path.join("a", "path", "that", "doesnt", "exist")
+ )
+ external("find")
def test_find_external_empty_default_manifest_dir(
- mutable_config, working_env, mock_executable, mutable_mock_repo,
- _platform_executables, tmpdir, monkeypatch):
+ mutable_config,
+ working_env,
+ mock_executable,
+ mutable_mock_repo,
+ _platform_executables,
+ tmpdir,
+ monkeypatch,
+):
"""The user runs 'spack external find'; the default path for storing
manifest files exists but is empty. Ensure that the command does not
fail.
"""
- empty_manifest_dir = str(tmpdir.mkdir('manifest_dir'))
- monkeypatch.setenv('PATH', '')
- monkeypatch.setattr(spack.cray_manifest, 'default_path',
- empty_manifest_dir)
- external('find')
+ empty_manifest_dir = str(tmpdir.mkdir("manifest_dir"))
+ monkeypatch.setenv("PATH", "")
+ monkeypatch.setattr(spack.cray_manifest, "default_path", empty_manifest_dir)
+ external("find")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Can't chmod on Windows")
-@pytest.mark.skipif(getuid() == 0, reason='user is root')
+@pytest.mark.skipif(sys.platform == "win32", reason="Can't chmod on Windows")
+@pytest.mark.skipif(getuid() == 0, reason="user is root")
def test_find_external_manifest_with_bad_permissions(
- mutable_config, working_env, mock_executable, mutable_mock_repo,
- _platform_executables, tmpdir, monkeypatch):
+ mutable_config,
+ working_env,
+ mock_executable,
+ mutable_mock_repo,
+ _platform_executables,
+ tmpdir,
+ monkeypatch,
+):
"""The user runs 'spack external find'; the default path for storing
manifest files exists but with insufficient permissions. Check that
the command does not fail.
"""
- test_manifest_dir = str(tmpdir.mkdir('manifest_dir'))
- test_manifest_file_path = os.path.join(test_manifest_dir, 'badperms.json')
+ test_manifest_dir = str(tmpdir.mkdir("manifest_dir"))
+ test_manifest_file_path = os.path.join(test_manifest_dir, "badperms.json")
touch(test_manifest_file_path)
- monkeypatch.setenv('PATH', '')
- monkeypatch.setattr(spack.cray_manifest, 'default_path',
- test_manifest_dir)
+ monkeypatch.setenv("PATH", "")
+ monkeypatch.setattr(spack.cray_manifest, "default_path", test_manifest_dir)
try:
os.chmod(test_manifest_file_path, 0)
- output = external('find')
- assert 'insufficient permissions' in output
- assert 'Skipping manifest and continuing' in output
+ output = external("find")
+ assert "insufficient permissions" in output
+ assert "Skipping manifest and continuing" in output
finally:
os.chmod(test_manifest_file_path, 0o700)
-def test_find_external_manifest_failure(
- mutable_config, mutable_mock_repo, tmpdir, monkeypatch):
+def test_find_external_manifest_failure(mutable_config, mutable_mock_repo, tmpdir, monkeypatch):
"""The user runs 'spack external find'; the manifest parsing fails with
some exception. Ensure that the command still succeeds (i.e. moves on
to other external detection mechanisms).
"""
# First, create an empty manifest file (without a file to read, the
# manifest parsing is skipped)
- test_manifest_dir = str(tmpdir.mkdir('manifest_dir'))
- test_manifest_file_path = os.path.join(test_manifest_dir, 'test.json')
+ test_manifest_dir = str(tmpdir.mkdir("manifest_dir"))
+ test_manifest_file_path = os.path.join(test_manifest_dir, "test.json")
touch(test_manifest_file_path)
def fail():
raise Exception()
- monkeypatch.setattr(
- spack.cmd.external, '_collect_and_consume_cray_manifest_files', fail)
- monkeypatch.setenv('PATH', '')
- output = external('find')
- assert 'Skipping manifest and continuing' in output
+ monkeypatch.setattr(spack.cmd.external, "_collect_and_consume_cray_manifest_files", fail)
+ monkeypatch.setenv("PATH", "")
+ output = external("find")
+ assert "Skipping manifest and continuing" in output
def test_find_external_nonempty_default_manifest_dir(
- mutable_database, mutable_mock_repo,
- _platform_executables, tmpdir, monkeypatch,
- directory_with_manifest):
+ mutable_database,
+ mutable_mock_repo,
+ _platform_executables,
+ tmpdir,
+ monkeypatch,
+ directory_with_manifest,
+):
"""The user runs 'spack external find'; the default manifest directory
contains a manifest file. Ensure that the specs are read.
"""
- monkeypatch.setenv('PATH', '')
- monkeypatch.setattr(spack.cray_manifest, 'default_path',
- str(directory_with_manifest))
- external('find')
- specs = spack.store.db.query('hwloc')
- assert any(x.dag_hash() == 'hwlocfakehashaaa' for x in specs)
+ monkeypatch.setenv("PATH", "")
+ monkeypatch.setattr(spack.cray_manifest, "default_path", str(directory_with_manifest))
+ external("find")
+ specs = spack.store.db.query("hwloc")
+ assert any(x.dag_hash() == "hwlocfakehashaaa" for x in specs)
def test_find_external_merge(mutable_config, mutable_mock_repo):
@@ -263,36 +274,27 @@ def test_find_external_merge(mutable_config, mutable_mock_repo):
entry in packages.yaml.
"""
pkgs_cfg_init = {
- 'find-externals1': {
- 'externals': [{
- 'spec': 'find-externals1@1.1',
- 'prefix': '/preexisting-prefix/'
- }],
- 'buildable': False
+ "find-externals1": {
+ "externals": [{"spec": "find-externals1@1.1", "prefix": "/preexisting-prefix/"}],
+ "buildable": False,
}
}
- mutable_config.update_config('packages', pkgs_cfg_init)
+ mutable_config.update_config("packages", pkgs_cfg_init)
entries = [
- spack.detection.DetectedPackage(
- Spec.from_detection('find-externals1@1.1'), '/x/y1/'
- ),
- spack.detection.DetectedPackage(
- Spec.from_detection('find-externals1@1.2'), '/x/y2/'
- )
+ spack.detection.DetectedPackage(Spec.from_detection("find-externals1@1.1"), "/x/y1/"),
+ spack.detection.DetectedPackage(Spec.from_detection("find-externals1@1.2"), "/x/y2/"),
]
- pkg_to_entries = {'find-externals1': entries}
- scope = spack.config.default_modify_scope('packages')
+ pkg_to_entries = {"find-externals1": entries}
+ scope = spack.config.default_modify_scope("packages")
spack.detection.update_configuration(pkg_to_entries, scope=scope, buildable=True)
- pkgs_cfg = spack.config.get('packages')
- pkg_cfg = pkgs_cfg['find-externals1']
- pkg_externals = pkg_cfg['externals']
+ pkgs_cfg = spack.config.get("packages")
+ pkg_cfg = pkgs_cfg["find-externals1"]
+ pkg_externals = pkg_cfg["externals"]
- assert {'spec': 'find-externals1@1.1',
- 'prefix': '/preexisting-prefix/'} in pkg_externals
- assert {'spec': 'find-externals1@1.2',
- 'prefix': '/x/y2/'} in pkg_externals
+ assert {"spec": "find-externals1@1.1", "prefix": "/preexisting-prefix/"} in pkg_externals
+ assert {"spec": "find-externals1@1.2", "prefix": "/x/y2/"} in pkg_externals
def test_list_detectable_packages(mutable_config, mutable_mock_repo):
@@ -300,97 +302,93 @@ def test_list_detectable_packages(mutable_config, mutable_mock_repo):
assert external.returncode == 0
-def test_packages_yaml_format(
- mock_executable, mutable_config, monkeypatch, _platform_executables):
+def test_packages_yaml_format(mock_executable, mutable_config, monkeypatch, _platform_executables):
# Prepare an environment to detect a fake gcc
- gcc_exe = mock_executable('gcc', output="echo 4.2.1")
+ gcc_exe = mock_executable("gcc", output="echo 4.2.1")
prefix = os.path.dirname(gcc_exe)
- monkeypatch.setenv('PATH', prefix)
+ monkeypatch.setenv("PATH", prefix)
# Find the external spec
- external('find', 'gcc')
+ external("find", "gcc")
# Check entries in 'packages.yaml'
- packages_yaml = spack.config.get('packages')
- assert 'gcc' in packages_yaml
- assert 'externals' in packages_yaml['gcc']
- externals = packages_yaml['gcc']['externals']
+ packages_yaml = spack.config.get("packages")
+ assert "gcc" in packages_yaml
+ assert "externals" in packages_yaml["gcc"]
+ externals = packages_yaml["gcc"]["externals"]
assert len(externals) == 1
external_gcc = externals[0]
- assert external_gcc['spec'] == 'gcc@4.2.1 languages=c'
- assert external_gcc['prefix'] == os.path.dirname(prefix)
- assert 'extra_attributes' in external_gcc
- extra_attributes = external_gcc['extra_attributes']
- assert 'prefix' not in extra_attributes
- assert extra_attributes['compilers']['c'] == gcc_exe
+ assert external_gcc["spec"] == "gcc@4.2.1 languages=c"
+ assert external_gcc["prefix"] == os.path.dirname(prefix)
+ assert "extra_attributes" in external_gcc
+ extra_attributes = external_gcc["extra_attributes"]
+ assert "prefix" not in extra_attributes
+ assert extra_attributes["compilers"]["c"] == gcc_exe
-def test_overriding_prefix(
- mock_executable, mutable_config, monkeypatch, _platform_executables):
+def test_overriding_prefix(mock_executable, mutable_config, monkeypatch, _platform_executables):
# Prepare an environment to detect a fake gcc that
# override its external prefix
- gcc_exe = mock_executable('gcc', output="echo 4.2.1")
+ gcc_exe = mock_executable("gcc", output="echo 4.2.1")
prefix = os.path.dirname(gcc_exe)
- monkeypatch.setenv('PATH', prefix)
+ monkeypatch.setenv("PATH", prefix)
@classmethod
def _determine_variants(cls, exes, version_str):
- return 'languages=c', {
- 'prefix': '/opt/gcc/bin',
- 'compilers': {'c': exes[0]}
- }
+ return "languages=c", {"prefix": "/opt/gcc/bin", "compilers": {"c": exes[0]}}
- gcc_cls = spack.repo.path.get_pkg_class('gcc')
- monkeypatch.setattr(gcc_cls, 'determine_variants', _determine_variants)
+ gcc_cls = spack.repo.path.get_pkg_class("gcc")
+ monkeypatch.setattr(gcc_cls, "determine_variants", _determine_variants)
# Find the external spec
- external('find', 'gcc')
+ external("find", "gcc")
# Check entries in 'packages.yaml'
- packages_yaml = spack.config.get('packages')
- assert 'gcc' in packages_yaml
- assert 'externals' in packages_yaml['gcc']
- externals = packages_yaml['gcc']['externals']
+ packages_yaml = spack.config.get("packages")
+ assert "gcc" in packages_yaml
+ assert "externals" in packages_yaml["gcc"]
+ externals = packages_yaml["gcc"]["externals"]
assert len(externals) == 1
- assert externals[0]['prefix'] == '/opt/gcc/bin'
+ assert externals[0]["prefix"] == "/opt/gcc/bin"
def test_new_entries_are_reported_correctly(
- mock_executable, mutable_config, monkeypatch, _platform_executables
+ mock_executable, mutable_config, monkeypatch, _platform_executables
):
# Prepare an environment to detect a fake gcc
- gcc_exe = mock_executable('gcc', output="echo 4.2.1")
+ gcc_exe = mock_executable("gcc", output="echo 4.2.1")
prefix = os.path.dirname(gcc_exe)
- monkeypatch.setenv('PATH', prefix)
+ monkeypatch.setenv("PATH", prefix)
# The first run will find and add the external gcc
- output = external('find', 'gcc')
- assert 'The following specs have been' in output
+ output = external("find", "gcc")
+ assert "The following specs have been" in output
# The second run should report that no new external
# has been found
- output = external('find', 'gcc')
- assert 'No new external packages detected' in output
-
-
-@pytest.mark.parametrize('command_args', [
- ('-t', 'build-tools'),
- ('-t', 'build-tools', 'cmake'),
-])
-def test_use_tags_for_detection(
- command_args, mock_executable, mutable_config, monkeypatch
-):
+ output = external("find", "gcc")
+ assert "No new external packages detected" in output
+
+
+@pytest.mark.parametrize(
+ "command_args",
+ [
+ ("-t", "build-tools"),
+ ("-t", "build-tools", "cmake"),
+ ],
+)
+def test_use_tags_for_detection(command_args, mock_executable, mutable_config, monkeypatch):
# Prepare an environment to detect a fake cmake
- cmake_exe = mock_executable('cmake', output="echo cmake version 3.19.1")
+ cmake_exe = mock_executable("cmake", output="echo cmake version 3.19.1")
prefix = os.path.dirname(cmake_exe)
- monkeypatch.setenv('PATH', prefix)
+ monkeypatch.setenv("PATH", prefix)
- openssl_exe = mock_executable('openssl', output="OpenSSL 2.8.3")
+ openssl_exe = mock_executable("openssl", output="OpenSSL 2.8.3")
prefix = os.path.dirname(openssl_exe)
- monkeypatch.setenv('PATH', prefix)
+ monkeypatch.setenv("PATH", prefix)
# Test that we detect specs
- output = external('find', *command_args)
- assert 'The following specs have been' in output
- assert 'cmake' in output
- assert 'openssl' not in output
+ output = external("find", *command_args)
+ assert "The following specs have been" in output
+ assert "cmake" in output
+ assert "openssl" not in output
diff --git a/lib/spack/spack/test/cmd/fetch.py b/lib/spack/spack/test/cmd/fetch.py
index da56fbd528..264ed283d1 100644
--- a/lib/spack/spack/test/cmd/fetch.py
+++ b/lib/spack/spack/test/cmd/fetch.py
@@ -9,15 +9,11 @@ import spack.environment as ev
from spack.main import SpackCommand, SpackCommandError
# everything here uses the mock_env_path
-pytestmark = pytest.mark.usefixtures(
- "mutable_mock_env_path", "config", "mutable_mock_repo"
-)
+pytestmark = pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo")
@pytest.mark.disable_clean_stage_check
-def test_fetch_in_env(
- tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery
-):
+def test_fetch_in_env(tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery):
SpackCommand("env")("create", "test")
with ev.read("test"):
SpackCommand("add")("python")
@@ -28,16 +24,12 @@ def test_fetch_in_env(
@pytest.mark.disable_clean_stage_check
-def test_fetch_single_spec(
- tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery
-):
+def test_fetch_single_spec(tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery):
SpackCommand("fetch")("mpileaks")
@pytest.mark.disable_clean_stage_check
-def test_fetch_multiple_specs(
- tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery
-):
+def test_fetch_multiple_specs(tmpdir, mock_archive, mock_stage, mock_fetch, install_mockery):
SpackCommand("fetch")("mpileaks", "gcc@10.2.0", "python")
diff --git a/lib/spack/spack/test/cmd/find.py b/lib/spack/spack/test/cmd/find.py
index 7760ef49a4..0047f9da23 100644
--- a/lib/spack/spack/test/cmd/find.py
+++ b/lib/spack/spack/test/cmd/find.py
@@ -18,17 +18,16 @@ from spack.main import SpackCommand
from spack.spec import Spec
from spack.util.pattern import Bunch
-find = SpackCommand('find')
-env = SpackCommand('env')
-install = SpackCommand('install')
+find = SpackCommand("find")
+env = SpackCommand("env")
+install = SpackCommand("install")
-base32_alphabet = 'abcdefghijklmnopqrstuvwxyz234567'
+base32_alphabet = "abcdefghijklmnopqrstuvwxyz234567"
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def parser():
"""Returns the parser for the module command"""
prs = argparse.ArgumentParser()
@@ -49,7 +48,7 @@ def mock_display(monkeypatch, specs):
def display(x, *args, **kwargs):
specs.extend(x)
- monkeypatch.setattr(spack.cmd, 'display_specs', display)
+ monkeypatch.setattr(spack.cmd, "display_specs", display)
def test_query_arguments():
@@ -65,56 +64,56 @@ def test_query_arguments():
explicit=False,
implicit=False,
start_date="2018-02-23",
- end_date=None
+ end_date=None,
)
q_args = query_arguments(args)
- assert 'installed' in q_args
- assert 'known' in q_args
- assert 'explicit' in q_args
- assert q_args['installed'] == ['installed']
- assert q_args['known'] is any
- assert q_args['explicit'] is any
- assert 'start_date' in q_args
- assert 'end_date' not in q_args
+ assert "installed" in q_args
+ assert "known" in q_args
+ assert "explicit" in q_args
+ assert q_args["installed"] == ["installed"]
+ assert q_args["known"] is any
+ assert q_args["explicit"] is any
+ assert "start_date" in q_args
+ assert "end_date" not in q_args
# Check that explicit works correctly
args.explicit = True
q_args = query_arguments(args)
- assert q_args['explicit'] is True
+ assert q_args["explicit"] is True
args.explicit = False
args.implicit = True
q_args = query_arguments(args)
- assert q_args['explicit'] is False
+ assert q_args["explicit"] is False
@pytest.mark.db
-@pytest.mark.usefixtures('database', 'mock_display')
+@pytest.mark.usefixtures("database", "mock_display")
def test_tag1(parser, specs):
- args = parser.parse_args(['--tag', 'tag1'])
+ args = parser.parse_args(["--tag", "tag1"])
spack.cmd.find.find(parser, args)
assert len(specs) == 2
- assert 'mpich' in [x.name for x in specs]
- assert 'mpich2' in [x.name for x in specs]
+ assert "mpich" in [x.name for x in specs]
+ assert "mpich2" in [x.name for x in specs]
@pytest.mark.db
-@pytest.mark.usefixtures('database', 'mock_display')
+@pytest.mark.usefixtures("database", "mock_display")
def test_tag2(parser, specs):
- args = parser.parse_args(['--tag', 'tag2'])
+ args = parser.parse_args(["--tag", "tag2"])
spack.cmd.find.find(parser, args)
assert len(specs) == 1
- assert 'mpich' in [x.name for x in specs]
+ assert "mpich" in [x.name for x in specs]
@pytest.mark.db
-@pytest.mark.usefixtures('database', 'mock_display')
+@pytest.mark.usefixtures("database", "mock_display")
def test_tag2_tag3(parser, specs):
- args = parser.parse_args(['--tag', 'tag2', '--tag', 'tag3'])
+ args = parser.parse_args(["--tag", "tag2", "--tag", "tag3"])
spack.cmd.find.find(parser, args)
assert len(specs) == 0
@@ -123,10 +122,10 @@ def test_tag2_tag3(parser, specs):
@pytest.mark.db
def test_namespaces_shown_correctly(database):
out = find()
- assert 'builtin.mock.zmpi' not in out
+ assert "builtin.mock.zmpi" not in out
- out = find('--namespace')
- assert 'builtin.mock.zmpi' in out
+ out = find("--namespace")
+ assert "builtin.mock.zmpi" in out
def _check_json_output(spec_list):
@@ -157,25 +156,28 @@ def _check_json_output_deps(spec_list):
@pytest.mark.db
def test_find_json(database):
- output = find('--json', 'mpileaks')
+ output = find("--json", "mpileaks")
spec_list = json.loads(output)
_check_json_output(spec_list)
@pytest.mark.db
def test_find_json_deps(database):
- output = find('-d', '--json', 'mpileaks')
+ output = find("-d", "--json", "mpileaks")
spec_list = json.loads(output)
_check_json_output_deps(spec_list)
@pytest.mark.db
def test_display_json(database, capsys):
- specs = [Spec(s).concretized() for s in [
- "mpileaks ^zmpi",
- "mpileaks ^mpich",
- "mpileaks ^mpich2",
- ]]
+ specs = [
+ Spec(s).concretized()
+ for s in [
+ "mpileaks ^zmpi",
+ "mpileaks ^mpich",
+ "mpileaks ^mpich2",
+ ]
+ ]
cmd.display_specs_as_json(specs)
spec_list = json.loads(capsys.readouterr()[0])
@@ -188,11 +190,14 @@ def test_display_json(database, capsys):
@pytest.mark.db
def test_display_json_deps(database, capsys):
- specs = [Spec(s).concretized() for s in [
- "mpileaks ^zmpi",
- "mpileaks ^mpich",
- "mpileaks ^mpich2",
- ]]
+ specs = [
+ Spec(s).concretized()
+ for s in [
+ "mpileaks ^zmpi",
+ "mpileaks ^mpich",
+ "mpileaks ^mpich2",
+ ]
+ ]
cmd.display_specs_as_json(specs, deps=True)
spec_list = json.loads(capsys.readouterr()[0])
@@ -205,30 +210,34 @@ def test_display_json_deps(database, capsys):
@pytest.mark.db
def test_find_format(database, config):
- output = find('--format', '{name}-{^mpi.name}', 'mpileaks')
- assert set(output.strip().split('\n')) == set([
- "mpileaks-zmpi",
- "mpileaks-mpich",
- "mpileaks-mpich2",
- ])
-
- output = find('--format', '{name}-{version}-{compiler.name}-{^mpi.name}',
- 'mpileaks')
+ output = find("--format", "{name}-{^mpi.name}", "mpileaks")
+ assert set(output.strip().split("\n")) == set(
+ [
+ "mpileaks-zmpi",
+ "mpileaks-mpich",
+ "mpileaks-mpich2",
+ ]
+ )
+
+ output = find("--format", "{name}-{version}-{compiler.name}-{^mpi.name}", "mpileaks")
assert "installed package" not in output
- assert set(output.strip().split('\n')) == set([
- "mpileaks-2.3-gcc-zmpi",
- "mpileaks-2.3-gcc-mpich",
- "mpileaks-2.3-gcc-mpich2",
- ])
-
- output = find('--format', '{name}-{^mpi.name}-{hash:7}',
- 'mpileaks')
- elements = output.strip().split('\n')
- assert set(e[:-7] for e in elements) == set([
- "mpileaks-zmpi-",
- "mpileaks-mpich-",
- "mpileaks-mpich2-",
- ])
+ assert set(output.strip().split("\n")) == set(
+ [
+ "mpileaks-2.3-gcc-zmpi",
+ "mpileaks-2.3-gcc-mpich",
+ "mpileaks-2.3-gcc-mpich2",
+ ]
+ )
+
+ output = find("--format", "{name}-{^mpi.name}-{hash:7}", "mpileaks")
+ elements = output.strip().split("\n")
+ assert set(e[:-7] for e in elements) == set(
+ [
+ "mpileaks-zmpi-",
+ "mpileaks-mpich-",
+ "mpileaks-mpich2-",
+ ]
+ )
# hashes are in base32
for e in elements:
@@ -238,8 +247,10 @@ def test_find_format(database, config):
@pytest.mark.db
def test_find_format_deps(database, config):
- output = find('-d', '--format', '{name}-{version}', 'mpileaks', '^zmpi')
- assert output == """\
+ output = find("-d", "--format", "{name}-{version}", "mpileaks", "^zmpi")
+ assert (
+ output
+ == """\
mpileaks-2.3
callpath-1.0
dyninst-8.2
@@ -249,16 +260,19 @@ mpileaks-2.3
fake-1.0
"""
+ )
@pytest.mark.db
def test_find_format_deps_paths(database, config):
- output = find('-dp', '--format', '{name}-{version}', 'mpileaks', '^zmpi')
+ output = find("-dp", "--format", "{name}-{version}", "mpileaks", "^zmpi")
spec = Spec("mpileaks ^zmpi").concretized()
prefixes = [s.prefix for s in spec.traverse()]
- assert output == """\
+ assert (
+ output
+ == """\
mpileaks-2.3 {0}
callpath-1.0 {1}
dyninst-8.2 {2}
@@ -267,27 +281,33 @@ mpileaks-2.3 {0}
zmpi-1.0 {5}
fake-1.0 {6}
-""".format(*prefixes)
+""".format(
+ *prefixes
+ )
+ )
@pytest.mark.db
def test_find_very_long(database, config):
- output = find('-L', '--no-groups', "mpileaks")
-
- specs = [Spec(s).concretized() for s in [
- "mpileaks ^zmpi",
- "mpileaks ^mpich",
- "mpileaks ^mpich2",
- ]]
-
- assert set(output.strip().split("\n")) == set([
- ("%s mpileaks@2.3" % s.dag_hash()) for s in specs
- ])
+ output = find("-L", "--no-groups", "mpileaks")
+
+ specs = [
+ Spec(s).concretized()
+ for s in [
+ "mpileaks ^zmpi",
+ "mpileaks ^mpich",
+ "mpileaks ^mpich2",
+ ]
+ ]
+
+ assert set(output.strip().split("\n")) == set(
+ [("%s mpileaks@2.3" % s.dag_hash()) for s in specs]
+ )
@pytest.mark.db
def test_find_show_compiler(database, config):
- output = find('--no-groups', '--show-full-compiler', "mpileaks")
+ output = find("--no-groups", "--show-full-compiler", "mpileaks")
assert "mpileaks@2.3%gcc@4.5.0" in output
@@ -312,33 +332,35 @@ def test_find_no_sections(database, config):
@pytest.mark.db
def test_find_command_basic_usage(database):
output = find()
- assert 'mpileaks' in output
+ assert "mpileaks" in output
-@pytest.mark.regression('9875')
-def test_find_prefix_in_env(mutable_mock_env_path, install_mockery, mock_fetch,
- mock_packages, mock_archive, config):
+@pytest.mark.regression("9875")
+def test_find_prefix_in_env(
+ mutable_mock_env_path, install_mockery, mock_fetch, mock_packages, mock_archive, config
+):
"""Test `find` formats requiring concrete specs work in environments."""
- env('create', 'test')
- with ev.read('test'):
- install('mpileaks')
- find('-p')
- find('-l')
- find('-L')
+ env("create", "test")
+ with ev.read("test"):
+ install("mpileaks")
+ find("-p")
+ find("-l")
+ find("-L")
# Would throw error on regression
def test_find_loaded(database, working_env):
- output = find('--loaded', '--group')
- assert output == ''
+ output = find("--loaded", "--group")
+ assert output == ""
- os.environ[uenv.spack_loaded_hashes_var] = ':'.join(
- [x.dag_hash() for x in spack.store.db.query()])
- output = find('--loaded')
+ os.environ[uenv.spack_loaded_hashes_var] = ":".join(
+ [x.dag_hash() for x in spack.store.db.query()]
+ )
+ output = find("--loaded")
expected = find()
assert output == expected
def test_bootstrap_deprecated():
- output = find('--bootstrap')
+ output = find("--bootstrap")
assert "`spack find --bootstrap` is deprecated" in output
diff --git a/lib/spack/spack/test/cmd/gc.py b/lib/spack/spack/test/cmd/gc.py
index 822564f0a4..53705519bb 100644
--- a/lib/spack/spack/test/cmd/gc.py
+++ b/lib/spack/spack/test/cmd/gc.py
@@ -11,41 +11,38 @@ import spack.environment as ev
import spack.main
import spack.spec
-gc = spack.main.SpackCommand('gc')
+gc = spack.main.SpackCommand("gc")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.mark.db
def test_no_packages_to_remove(config, mutable_database, capsys):
with capsys.disabled():
- output = gc('-y')
- assert 'There are no unused specs.' in output
+ output = gc("-y")
+ assert "There are no unused specs." in output
@pytest.mark.db
def test_packages_are_removed(config, mutable_database, capsys):
- s = spack.spec.Spec('simple-inheritance')
+ s = spack.spec.Spec("simple-inheritance")
s.concretize()
s.package.do_install(fake=True, explicit=True)
with capsys.disabled():
- output = gc('-y')
- assert 'Successfully uninstalled cmake' in output
+ output = gc("-y")
+ assert "Successfully uninstalled cmake" in output
@pytest.mark.db
-def test_gc_with_environment(
- config, mutable_database, mutable_mock_env_path, capsys
-):
- s = spack.spec.Spec('simple-inheritance')
+def test_gc_with_environment(config, mutable_database, mutable_mock_env_path, capsys):
+ s = spack.spec.Spec("simple-inheritance")
s.concretize()
s.package.do_install(fake=True, explicit=True)
- e = ev.create('test_gc')
- e.add('cmake')
+ e = ev.create("test_gc")
+ e.add("cmake")
with e:
with capsys.disabled():
- output = gc('-y')
- assert 'Restricting the garbage collection' in output
- assert 'There are no unused specs' in output
+ output = gc("-y")
+ assert "Restricting the garbage collection" in output
+ assert "There are no unused specs" in output
diff --git a/lib/spack/spack/test/cmd/gpg.py b/lib/spack/spack/test/cmd/gpg.py
index 1cca88fdc2..9d698275ed 100644
--- a/lib/spack/spack/test/cmd/gpg.py
+++ b/lib/spack/spack/test/cmd/gpg.py
@@ -18,27 +18,26 @@ from spack.paths import mock_gpg_data_path, mock_gpg_keys_path
from spack.util.executable import ProcessError
#: spack command used by tests below
-gpg = SpackCommand('gpg')
-bootstrap = SpackCommand('bootstrap')
-mirror = SpackCommand('mirror')
+gpg = SpackCommand("gpg")
+bootstrap = SpackCommand("bootstrap")
+mirror = SpackCommand("mirror")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture
def tmp_scope():
"""Creates a temporary configuration scope"""
- base_name = 'internal-testing-scope'
+ base_name = "internal-testing-scope"
current_overrides = set(
- x.name for x in
- spack.config.config.matching_scopes(r'^{0}'.format(base_name)))
+ x.name for x in spack.config.config.matching_scopes(r"^{0}".format(base_name))
+ )
num_overrides = 0
scope_name = base_name
while scope_name in current_overrides:
- scope_name = '{0}{1}'.format(base_name, num_overrides)
+ scope_name = "{0}{1}".format(base_name, num_overrides)
num_overrides += 1
with spack.config.override(spack.config.InternalConfigScope(scope_name)):
@@ -46,24 +45,26 @@ def tmp_scope():
# test gpg command detection
-@pytest.mark.parametrize('cmd_name,version', [
- ('gpg', 'undetectable'), # undetectable version
- ('gpg', 'gpg (GnuPG) 1.3.4'), # insufficient version
- ('gpg', 'gpg (GnuPG) 2.2.19'), # sufficient version
- ('gpg2', 'gpg (GnuPG) 2.2.19'), # gpg2 command
-])
+@pytest.mark.parametrize(
+ "cmd_name,version",
+ [
+ ("gpg", "undetectable"), # undetectable version
+ ("gpg", "gpg (GnuPG) 1.3.4"), # insufficient version
+ ("gpg", "gpg (GnuPG) 2.2.19"), # sufficient version
+ ("gpg2", "gpg (GnuPG) 2.2.19"), # gpg2 command
+ ],
+)
def test_find_gpg(cmd_name, version, tmpdir, mock_gnupghome, monkeypatch):
- TEMPLATE = ('#!/bin/sh\n'
- 'echo "{version}"\n')
+ TEMPLATE = "#!/bin/sh\n" 'echo "{version}"\n'
with tmpdir.as_cwd():
- for fname in (cmd_name, 'gpgconf'):
- with open(fname, 'w') as f:
+ for fname in (cmd_name, "gpgconf"):
+ with open(fname, "w") as f:
f.write(TEMPLATE.format(version=version))
fs.set_executable(fname)
monkeypatch.setitem(os.environ, "PATH", str(tmpdir))
- if version == 'undetectable' or version.endswith('1.3.4'):
+ if version == "undetectable" or version.endswith("1.3.4"):
with pytest.raises(spack.util.gpg.SpackGPGError):
spack.util.gpg.init(force=True)
else:
@@ -74,7 +75,7 @@ def test_find_gpg(cmd_name, version, tmpdir, mock_gnupghome, monkeypatch):
def test_no_gpg_in_path(tmpdir, mock_gnupghome, monkeypatch, mutable_config):
monkeypatch.setitem(os.environ, "PATH", str(tmpdir))
- bootstrap('disable')
+ bootstrap("disable")
with pytest.raises(RuntimeError):
spack.util.gpg.init(force=True)
@@ -83,133 +84,133 @@ def test_no_gpg_in_path(tmpdir, mock_gnupghome, monkeypatch, mutable_config):
def test_gpg(tmpdir, tmp_scope, mock_gnupghome):
# Verify a file with an empty keyring.
with pytest.raises(ProcessError):
- gpg('verify', os.path.join(mock_gpg_data_path, 'content.txt'))
+ gpg("verify", os.path.join(mock_gpg_data_path, "content.txt"))
# Import the default key.
- gpg('init', '--from', mock_gpg_keys_path)
+ gpg("init", "--from", mock_gpg_keys_path)
# List the keys.
# TODO: Test the output here.
- gpg('list', '--trusted')
- gpg('list', '--signing')
+ gpg("list", "--trusted")
+ gpg("list", "--signing")
# Verify the file now that the key has been trusted.
- gpg('verify', os.path.join(mock_gpg_data_path, 'content.txt'))
+ gpg("verify", os.path.join(mock_gpg_data_path, "content.txt"))
# Untrust the default key.
- gpg('untrust', 'Spack testing')
+ gpg("untrust", "Spack testing")
# Now that the key is untrusted, verification should fail.
with pytest.raises(ProcessError):
- gpg('verify', os.path.join(mock_gpg_data_path, 'content.txt'))
+ gpg("verify", os.path.join(mock_gpg_data_path, "content.txt"))
# Create a file to test signing.
- test_path = tmpdir.join('to-sign.txt')
- with open(str(test_path), 'w+') as fout:
- fout.write('Test content for signing.\n')
+ test_path = tmpdir.join("to-sign.txt")
+ with open(str(test_path), "w+") as fout:
+ fout.write("Test content for signing.\n")
# Signing without a private key should fail.
with pytest.raises(RuntimeError) as exc_info:
- gpg('sign', str(test_path))
- assert exc_info.value.args[0] == 'no signing keys are available'
+ gpg("sign", str(test_path))
+ assert exc_info.value.args[0] == "no signing keys are available"
# Create a key for use in the tests.
- keypath = tmpdir.join('testing-1.key')
- gpg('create',
- '--comment', 'Spack testing key',
- '--export', str(keypath),
- 'Spack testing 1',
- 'spack@googlegroups.com')
+ keypath = tmpdir.join("testing-1.key")
+ gpg(
+ "create",
+ "--comment",
+ "Spack testing key",
+ "--export",
+ str(keypath),
+ "Spack testing 1",
+ "spack@googlegroups.com",
+ )
keyfp = spack.util.gpg.signing_keys()[0]
# List the keys.
# TODO: Test the output here.
- gpg('list')
- gpg('list', '--trusted')
- gpg('list', '--signing')
+ gpg("list")
+ gpg("list", "--trusted")
+ gpg("list", "--signing")
# Signing with the default (only) key.
- gpg('sign', str(test_path))
+ gpg("sign", str(test_path))
# Verify the file we just verified.
- gpg('verify', str(test_path))
+ gpg("verify", str(test_path))
# Export the key for future use.
- export_path = tmpdir.join('export.testing.key')
- gpg('export', str(export_path))
+ export_path = tmpdir.join("export.testing.key")
+ gpg("export", str(export_path))
# Test exporting the private key
- private_export_path = tmpdir.join('export-secret.testing.key')
- gpg('export', '--secret', str(private_export_path))
+ private_export_path = tmpdir.join("export-secret.testing.key")
+ gpg("export", "--secret", str(private_export_path))
# Ensure we exported the right content!
- with open(str(private_export_path), 'r') as fd:
+ with open(str(private_export_path), "r") as fd:
content = fd.read()
assert "BEGIN PGP PRIVATE KEY BLOCK" in content
# and for the public key
- with open(str(export_path), 'r') as fd:
+ with open(str(export_path), "r") as fd:
content = fd.read()
assert "BEGIN PGP PUBLIC KEY BLOCK" in content
# Create a second key for use in the tests.
- gpg('create',
- '--comment', 'Spack testing key',
- 'Spack testing 2',
- 'spack@googlegroups.com')
+ gpg("create", "--comment", "Spack testing key", "Spack testing 2", "spack@googlegroups.com")
# List the keys.
# TODO: Test the output here.
- gpg('list', '--trusted')
- gpg('list', '--signing')
+ gpg("list", "--trusted")
+ gpg("list", "--signing")
- test_path = tmpdir.join('to-sign-2.txt')
- with open(str(test_path), 'w+') as fout:
- fout.write('Test content for signing.\n')
+ test_path = tmpdir.join("to-sign-2.txt")
+ with open(str(test_path), "w+") as fout:
+ fout.write("Test content for signing.\n")
# Signing with multiple signing keys is ambiguous.
with pytest.raises(RuntimeError) as exc_info:
- gpg('sign', str(test_path))
- assert exc_info.value.args[0] == \
- 'multiple signing keys are available; please choose one'
+ gpg("sign", str(test_path))
+ assert exc_info.value.args[0] == "multiple signing keys are available; please choose one"
# Signing with a specified key.
- gpg('sign', '--key', keyfp, str(test_path))
+ gpg("sign", "--key", keyfp, str(test_path))
# Untrusting signing keys needs a flag.
with pytest.raises(ProcessError):
- gpg('untrust', 'Spack testing 1')
+ gpg("untrust", "Spack testing 1")
# Untrust the key we created.
- gpg('untrust', '--signing', keyfp)
+ gpg("untrust", "--signing", keyfp)
# Verification should now fail.
with pytest.raises(ProcessError):
- gpg('verify', str(test_path))
+ gpg("verify", str(test_path))
# Trust the exported key.
- gpg('trust', str(export_path))
+ gpg("trust", str(export_path))
# Verification should now succeed again.
- gpg('verify', str(test_path))
+ gpg("verify", str(test_path))
# Publish the keys using a directory path
- test_path = tmpdir.join('dir_cache')
- os.makedirs('%s' % test_path)
- gpg('publish', '--rebuild-index', '-d', str(test_path))
- assert os.path.exists('%s/build_cache/_pgp/index.json' % test_path)
+ test_path = tmpdir.join("dir_cache")
+ os.makedirs("%s" % test_path)
+ gpg("publish", "--rebuild-index", "-d", str(test_path))
+ assert os.path.exists("%s/build_cache/_pgp/index.json" % test_path)
# Publish the keys using a mirror url
- test_path = tmpdir.join('url_cache')
- os.makedirs('%s' % test_path)
- test_url = 'file://%s' % test_path
- gpg('publish', '--rebuild-index', '--mirror-url', test_url)
- assert os.path.exists('%s/build_cache/_pgp/index.json' % test_path)
+ test_path = tmpdir.join("url_cache")
+ os.makedirs("%s" % test_path)
+ test_url = "file://%s" % test_path
+ gpg("publish", "--rebuild-index", "--mirror-url", test_url)
+ assert os.path.exists("%s/build_cache/_pgp/index.json" % test_path)
# Publish the keys using a mirror name
- test_path = tmpdir.join('named_cache')
- os.makedirs('%s' % test_path)
- mirror_url = 'file://%s' % test_path
- mirror('add', '--scope', tmp_scope, 'gpg', mirror_url)
- gpg('publish', '--rebuild-index', '-m', 'gpg')
- assert os.path.exists('%s/build_cache/_pgp/index.json' % test_path)
+ test_path = tmpdir.join("named_cache")
+ os.makedirs("%s" % test_path)
+ mirror_url = "file://%s" % test_path
+ mirror("add", "--scope", tmp_scope, "gpg", mirror_url)
+ gpg("publish", "--rebuild-index", "-m", "gpg")
+ assert os.path.exists("%s/build_cache/_pgp/index.json" % test_path)
diff --git a/lib/spack/spack/test/cmd/graph.py b/lib/spack/spack/test/cmd/graph.py
index 06900cb0ac..c7999d6629 100644
--- a/lib/spack/spack/test/cmd/graph.py
+++ b/lib/spack/spack/test/cmd/graph.py
@@ -9,49 +9,48 @@ import pytest
from spack.main import SpackCommand, SpackCommandError
-graph = SpackCommand('graph')
+graph = SpackCommand("graph")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.mark.db
-@pytest.mark.usefixtures('mock_packages', 'database')
+@pytest.mark.usefixtures("mock_packages", "database")
def test_graph_ascii():
"""Tests spack graph --ascii"""
- graph('--ascii', 'dt-diamond')
+ graph("--ascii", "dt-diamond")
@pytest.mark.db
-@pytest.mark.usefixtures('mock_packages', 'database')
+@pytest.mark.usefixtures("mock_packages", "database")
def test_graph_dot():
"""Tests spack graph --dot"""
- graph('--dot', 'dt-diamond')
+ graph("--dot", "dt-diamond")
@pytest.mark.db
-@pytest.mark.usefixtures('mock_packages', 'database')
+@pytest.mark.usefixtures("mock_packages", "database")
def test_graph_static():
"""Tests spack graph --static"""
- graph('--static', 'dt-diamond')
+ graph("--static", "dt-diamond")
@pytest.mark.db
-@pytest.mark.usefixtures('mock_packages', 'database')
+@pytest.mark.usefixtures("mock_packages", "database")
def test_graph_installed():
"""Tests spack graph --installed"""
- graph('--installed')
+ graph("--installed")
with pytest.raises(SpackCommandError):
- graph('--installed', 'dt-diamond')
+ graph("--installed", "dt-diamond")
@pytest.mark.db
-@pytest.mark.usefixtures('mock_packages', 'database')
+@pytest.mark.usefixtures("mock_packages", "database")
def test_graph_deptype():
"""Tests spack graph --deptype"""
- graph('--deptype', 'all', 'dt-diamond')
+ graph("--deptype", "all", "dt-diamond")
def test_graph_no_specs():
diff --git a/lib/spack/spack/test/cmd/help.py b/lib/spack/spack/test/cmd/help.py
index 75e9e92ddb..ed7f872275 100644
--- a/lib/spack/spack/test/cmd/help.py
+++ b/lib/spack/spack/test/cmd/help.py
@@ -11,7 +11,7 @@ from spack.main import SpackCommand
@pytest.mark.xfail
def test_reuse_after_help():
"""Test `spack help` can be called twice with the same SpackCommand."""
- help_cmd = SpackCommand('help')
+ help_cmd = SpackCommand("help")
help_cmd()
# This second invocation will somehow fail because the parser no
@@ -30,27 +30,27 @@ def test_reuse_after_help():
def test_help():
"""Sanity check the help command to make sure it works."""
- help_cmd = SpackCommand('help')
+ help_cmd = SpackCommand("help")
out = help_cmd()
- assert 'These are common spack commands:' in out
+ assert "These are common spack commands:" in out
def test_help_all():
"""Test the spack help --all flag"""
- help_cmd = SpackCommand('help')
- out = help_cmd('--all')
- assert 'Complete list of spack commands:' in out
+ help_cmd = SpackCommand("help")
+ out = help_cmd("--all")
+ assert "Complete list of spack commands:" in out
def test_help_spec():
"""Test the spack help --spec flag"""
- help_cmd = SpackCommand('help')
- out = help_cmd('--spec')
- assert 'spec expression syntax:' in out
+ help_cmd = SpackCommand("help")
+ out = help_cmd("--spec")
+ assert "spec expression syntax:" in out
def test_help_subcommand():
"""Test the spack help subcommand argument"""
- help_cmd = SpackCommand('help')
- out = help_cmd('help')
- assert 'get help on spack and its commands' in out
+ help_cmd = SpackCommand("help")
+ out = help_cmd("help")
+ assert "get help on spack and its commands" in out
diff --git a/lib/spack/spack/test/cmd/info.py b/lib/spack/spack/test/cmd/info.py
index 57176a4784..55b875e022 100644
--- a/lib/spack/spack/test/cmd/info.py
+++ b/lib/spack/spack/test/cmd/info.py
@@ -11,13 +11,12 @@ import pytest
import spack.cmd.info
from spack.main import SpackCommand
-info = SpackCommand('info')
+info = SpackCommand("info")
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Not yet implemented on Windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="Not yet implemented on Windows")
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def parser():
"""Returns the parser for the module command"""
prs = argparse.ArgumentParser()
@@ -32,72 +31,73 @@ def print_buffer(monkeypatch):
def _print(*args):
buffer.extend(args)
- monkeypatch.setattr(spack.cmd.info.color, 'cprint', _print, raising=False)
+ monkeypatch.setattr(spack.cmd.info.color, "cprint", _print, raising=False)
return buffer
-@pytest.mark.parametrize('pkg', [
- 'openmpi',
- 'trilinos',
- 'boost',
- 'python',
- 'dealii',
- 'xsdk' # a BundlePackage
-])
+@pytest.mark.parametrize(
+ "pkg", ["openmpi", "trilinos", "boost", "python", "dealii", "xsdk"] # a BundlePackage
+)
def test_it_just_runs(pkg):
info(pkg)
def test_info_noversion(mock_packages, print_buffer):
"""Check that a mock package with no versions or variants outputs None."""
- info('noversion')
+ info("noversion")
line_iter = iter(print_buffer)
for line in line_iter:
- if 'version' in line:
- has = [desc in line for desc in ['Preferred', 'Safe', 'Deprecated']]
+ if "version" in line:
+ has = [desc in line for desc in ["Preferred", "Safe", "Deprecated"]]
if not any(has):
continue
- elif 'Variants' not in line:
+ elif "Variants" not in line:
continue
- assert 'None' in next(line_iter).strip()
+ assert "None" in next(line_iter).strip()
-@pytest.mark.parametrize('pkg_query,expected', [
- ('zlib', 'False'),
- ('gcc', 'True (version, variants)'),
-])
+@pytest.mark.parametrize(
+ "pkg_query,expected",
+ [
+ ("zlib", "False"),
+ ("gcc", "True (version, variants)"),
+ ],
+)
def test_is_externally_detectable(pkg_query, expected, parser, print_buffer):
- args = parser.parse_args(['--detectable', pkg_query])
+ args = parser.parse_args(["--detectable", pkg_query])
spack.cmd.info.info(parser, args)
line_iter = iter(print_buffer)
for line in line_iter:
- if 'Externally Detectable' in line:
+ if "Externally Detectable" in line:
is_externally_detectable = next(line_iter).strip()
assert is_externally_detectable == expected
-@pytest.mark.parametrize('pkg_query', [
- 'hdf5',
- 'cloverleaf3d',
- 'trilinos',
- 'gcc' # This should ensure --test's c_names processing loop covered
-])
+@pytest.mark.parametrize(
+ "pkg_query",
+ [
+ "hdf5",
+ "cloverleaf3d",
+ "trilinos",
+ "gcc", # This should ensure --test's c_names processing loop covered
+ ],
+)
def test_info_fields(pkg_query, parser, print_buffer):
expected_fields = (
- 'Description:',
- 'Homepage:',
- 'Externally Detectable:',
- 'Safe versions:',
- 'Variants:',
- 'Installation Phases:',
- 'Virtual Packages:',
- 'Tags:'
+ "Description:",
+ "Homepage:",
+ "Externally Detectable:",
+ "Safe versions:",
+ "Variants:",
+ "Installation Phases:",
+ "Virtual Packages:",
+ "Tags:",
)
- args = parser.parse_args(['--all', pkg_query])
+ args = parser.parse_args(["--all", pkg_query])
spack.cmd.info.info(parser, args)
for text in expected_fields:
diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py
index f9194f664d..73e3cf15cf 100644
--- a/lib/spack/spack/test/cmd/install.py
+++ b/lib/spack/spack/test/cmd/install.py
@@ -26,34 +26,34 @@ from spack.error import SpackError
from spack.main import SpackCommand
from spack.spec import CompilerSpec, Spec
-install = SpackCommand('install')
-env = SpackCommand('env')
-add = SpackCommand('add')
-mirror = SpackCommand('mirror')
-uninstall = SpackCommand('uninstall')
-buildcache = SpackCommand('buildcache')
-find = SpackCommand('find')
+install = SpackCommand("install")
+env = SpackCommand("env")
+add = SpackCommand("add")
+mirror = SpackCommand("mirror")
+uninstall = SpackCommand("uninstall")
+buildcache = SpackCommand("buildcache")
+find = SpackCommand("find")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture()
def noop_install(monkeypatch):
def noop(*args, **kwargs):
pass
- monkeypatch.setattr(spack.installer.PackageInstaller, 'install', noop)
+
+ monkeypatch.setattr(spack.installer.PackageInstaller, "install", noop)
def test_install_package_and_dependency(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
with tmpdir.as_cwd():
- install('--log-format=junit', '--log-file=test.xml', 'libdwarf')
+ install("--log-format=junit", "--log-file=test.xml", "libdwarf")
files = tmpdir.listdir()
- filename = tmpdir.join('test.xml')
+ filename = tmpdir.join("test.xml")
assert filename in files
content = filename.open().read()
@@ -66,17 +66,18 @@ def test_install_package_and_dependency(
def test_install_runtests_notests(monkeypatch, mock_packages, install_mockery):
def check(pkg):
assert not pkg.run_tests
- monkeypatch.setattr(spack.package_base.PackageBase, 'unit_test_check', check)
- install('-v', 'dttop')
+
+ monkeypatch.setattr(spack.package_base.PackageBase, "unit_test_check", check)
+ install("-v", "dttop")
@pytest.mark.disable_clean_stage_check
def test_install_runtests_root(monkeypatch, mock_packages, install_mockery):
def check(pkg):
- assert pkg.run_tests == (pkg.name == 'dttop')
+ assert pkg.run_tests == (pkg.name == "dttop")
- monkeypatch.setattr(spack.package_base.PackageBase, 'unit_test_check', check)
- install('--test=root', 'dttop')
+ monkeypatch.setattr(spack.package_base.PackageBase, "unit_test_check", check)
+ install("--test=root", "dttop")
@pytest.mark.disable_clean_stage_check
@@ -84,20 +85,20 @@ def test_install_runtests_all(monkeypatch, mock_packages, install_mockery):
def check(pkg):
assert pkg.run_tests
- monkeypatch.setattr(spack.package_base.PackageBase, 'unit_test_check', check)
- install('--test=all', 'a')
+ monkeypatch.setattr(spack.package_base.PackageBase, "unit_test_check", check)
+ install("--test=all", "a")
def test_install_package_already_installed(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
with tmpdir.as_cwd():
- install('libdwarf')
- install('--log-format=junit', '--log-file=test.xml', 'libdwarf')
+ install("libdwarf")
+ install("--log-format=junit", "--log-file=test.xml", "libdwarf")
files = tmpdir.listdir()
- filename = tmpdir.join('test.xml')
+ filename = tmpdir.join("test.xml")
assert filename in files
content = filename.open().read()
@@ -105,15 +106,18 @@ def test_install_package_already_installed(
assert 'failures="0"' in content
assert 'errors="0"' in content
- skipped = [line for line in content.split('\n') if 'skipped' in line]
+ skipped = [line for line in content.split("\n") if "skipped" in line]
assert len(skipped) == 2
-@pytest.mark.parametrize('arguments,expected', [
- ([], spack.config.get('config:dirty')), # default from config file
- (['--clean'], False),
- (['--dirty'], True),
-])
+@pytest.mark.parametrize(
+ "arguments,expected",
+ [
+ ([], spack.config.get("config:dirty")), # default from config file
+ (["--clean"], False),
+ (["--dirty"], True),
+ ],
+)
def test_install_dirty_flag(arguments, expected):
parser = argparse.ArgumentParser()
spack.cmd.install.setup_parser(parser)
@@ -128,7 +132,7 @@ def test_package_output(tmpdir, capsys, install_mockery, mock_fetch):
# we can't use output capture here because it interferes with Spack's
# logging. TODO: see whether we can get multiple log_outputs to work
# when nested AND in pytest
- spec = Spec('printing-package').concretized()
+ spec = Spec("printing-package").concretized()
pkg = spec.package
pkg.do_install(verbose=True)
@@ -143,8 +147,9 @@ def test_package_output(tmpdir, capsys, install_mockery, mock_fetch):
@pytest.mark.disable_clean_stage_check
-def test_install_output_on_build_error(mock_packages, mock_archive, mock_fetch,
- config, install_mockery, capfd):
+def test_install_output_on_build_error(
+ mock_packages, mock_archive, mock_fetch, config, install_mockery, capfd
+):
"""
This test used to assume receiving full output, but since we've updated
spack to generate logs on the level of phases, it will only return the
@@ -152,68 +157,65 @@ def test_install_output_on_build_error(mock_packages, mock_archive, mock_fetch,
"""
# capfd interferes with Spack's capturing
with capfd.disabled():
- out = install('-v', 'build-error', fail_on_error=False)
- assert 'Installing build-error' in out
+ out = install("-v", "build-error", fail_on_error=False)
+ assert "Installing build-error" in out
@pytest.mark.disable_clean_stage_check
def test_install_output_on_python_error(
- mock_packages, mock_archive, mock_fetch, config, install_mockery):
- out = install('failing-build', fail_on_error=False)
+ mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ out = install("failing-build", fail_on_error=False)
assert isinstance(install.error, spack.build_environment.ChildError)
- assert install.error.name == 'InstallError'
+ assert install.error.name == "InstallError"
assert 'raise InstallError("Expected failure.")' in out
@pytest.mark.disable_clean_stage_check
-def test_install_with_source(
- mock_packages, mock_archive, mock_fetch, config, install_mockery):
+def test_install_with_source(mock_packages, mock_archive, mock_fetch, config, install_mockery):
"""Verify that source has been copied into place."""
- install('--source', '--keep-stage', 'trivial-install-test-package')
- spec = Spec('trivial-install-test-package').concretized()
- src = os.path.join(
- spec.prefix.share, 'trivial-install-test-package', 'src')
- assert filecmp.cmp(os.path.join(mock_archive.path, 'configure'),
- os.path.join(src, 'configure'))
+ install("--source", "--keep-stage", "trivial-install-test-package")
+ spec = Spec("trivial-install-test-package").concretized()
+ src = os.path.join(spec.prefix.share, "trivial-install-test-package", "src")
+ assert filecmp.cmp(
+ os.path.join(mock_archive.path, "configure"), os.path.join(src, "configure")
+ )
-def test_install_env_variables(
- mock_packages, mock_archive, mock_fetch, config, install_mockery
-):
- spec = Spec('libdwarf')
+def test_install_env_variables(mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ spec = Spec("libdwarf")
spec.concretize()
- install('libdwarf')
+ install("libdwarf")
assert os.path.isfile(spec.package.install_env_path)
@pytest.mark.disable_clean_stage_check
-def test_show_log_on_error(mock_packages, mock_archive, mock_fetch,
- config, install_mockery, capfd):
+def test_show_log_on_error(
+ mock_packages, mock_archive, mock_fetch, config, install_mockery, capfd
+):
"""
Make sure --show-log-on-error works.
"""
with capfd.disabled():
- out = install('--show-log-on-error', 'build-error',
- fail_on_error=False)
+ out = install("--show-log-on-error", "build-error", fail_on_error=False)
assert isinstance(install.error, spack.build_environment.ChildError)
- assert install.error.pkg.name == 'build-error'
+ assert install.error.pkg.name == "build-error"
- assert '==> Installing build-error' in out
- assert 'See build log for details:' in out
+ assert "==> Installing build-error" in out
+ assert "See build log for details:" in out
-def test_install_overwrite(
- mock_packages, mock_archive, mock_fetch, config, install_mockery
-):
+def test_install_overwrite(mock_packages, mock_archive, mock_fetch, config, install_mockery):
# Try to install a spec and then to reinstall it.
- spec = Spec('libdwarf')
+ spec = Spec("libdwarf")
spec.concretize()
- install('libdwarf')
+ install("libdwarf")
# Ignore manifest and install times
- manifest = os.path.join(spec.prefix, spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest = os.path.join(
+ spec.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
ignores = [manifest, spec.package.times_log_path]
assert os.path.exists(spec.prefix)
@@ -221,14 +223,14 @@ def test_install_overwrite(
# Modify the first installation to be sure the content is not the same
# as the one after we reinstalled
- with open(os.path.join(spec.prefix, 'only_in_old'), 'w') as f:
- f.write('This content is here to differentiate installations.')
+ with open(os.path.join(spec.prefix, "only_in_old"), "w") as f:
+ f.write("This content is here to differentiate installations.")
bad_md5 = fs.hash_directory(spec.prefix, ignore=ignores)
assert bad_md5 != expected_md5
- install('--overwrite', '-y', 'libdwarf')
+ install("--overwrite", "-y", "libdwarf")
assert os.path.exists(spec.prefix)
assert fs.hash_directory(spec.prefix, ignore=ignores) == expected_md5
@@ -236,20 +238,23 @@ def test_install_overwrite(
def test_install_overwrite_not_installed(
- mock_packages, mock_archive, mock_fetch, config, install_mockery,
+ mock_packages,
+ mock_archive,
+ mock_fetch,
+ config,
+ install_mockery,
):
# Try to install a spec and then to reinstall it.
- spec = Spec('libdwarf')
+ spec = Spec("libdwarf")
spec.concretize()
assert not os.path.exists(spec.prefix)
- install('--overwrite', '-y', 'libdwarf')
+ install("--overwrite", "-y", "libdwarf")
assert os.path.exists(spec.prefix)
-def test_install_commit(
- mock_git_version_info, install_mockery, mock_packages, monkeypatch):
+def test_install_commit(mock_git_version_info, install_mockery, mock_packages, monkeypatch):
"""Test installing a git package from a commit.
This ensures Spack associates commit versions with their packages in time to do
@@ -257,13 +262,13 @@ def test_install_commit(
"""
repo_path, filename, commits = mock_git_version_info
- monkeypatch.setattr(spack.package_base.PackageBase,
- 'git', 'file://%s' % repo_path,
- raising=False)
+ monkeypatch.setattr(
+ spack.package_base.PackageBase, "git", "file://%s" % repo_path, raising=False
+ )
# Use the earliest commit in the respository
commit = commits[-1]
- spec = spack.spec.Spec('git-test-commit@%s' % commit)
+ spec = spack.spec.Spec("git-test-commit@%s" % commit)
spec.concretize()
print(spec)
spec.package.do_install()
@@ -271,38 +276,37 @@ def test_install_commit(
# Ensure first commit file contents were written
installed = os.listdir(spec.prefix.bin)
assert filename in installed
- with open(spec.prefix.bin.join(filename), 'r') as f:
+ with open(spec.prefix.bin.join(filename), "r") as f:
content = f.read().strip()
- assert content == '[]' # contents are weird for another test
+ assert content == "[]" # contents are weird for another test
def test_install_overwrite_multiple(
- mock_packages, mock_archive, mock_fetch, config, install_mockery
+ mock_packages, mock_archive, mock_fetch, config, install_mockery
):
# Try to install a spec and then to reinstall it.
- libdwarf = Spec('libdwarf')
+ libdwarf = Spec("libdwarf")
libdwarf.concretize()
- install('libdwarf')
+ install("libdwarf")
- cmake = Spec('cmake')
+ cmake = Spec("cmake")
cmake.concretize()
- install('cmake')
+ install("cmake")
- ld_manifest = os.path.join(libdwarf.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ ld_manifest = os.path.join(
+ libdwarf.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
ld_ignores = [ld_manifest, libdwarf.package.times_log_path]
assert os.path.exists(libdwarf.prefix)
- expected_libdwarf_md5 = fs.hash_directory(libdwarf.prefix,
- ignore=ld_ignores)
+ expected_libdwarf_md5 = fs.hash_directory(libdwarf.prefix, ignore=ld_ignores)
- cm_manifest = os.path.join(cmake.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ cm_manifest = os.path.join(
+ cmake.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
cm_ignores = [cm_manifest, cmake.package.times_log_path]
assert os.path.exists(cmake.prefix)
@@ -310,10 +314,10 @@ def test_install_overwrite_multiple(
# Modify the first installation to be sure the content is not the same
# as the one after we reinstalled
- with open(os.path.join(libdwarf.prefix, 'only_in_old'), 'w') as f:
- f.write('This content is here to differentiate installations.')
- with open(os.path.join(cmake.prefix, 'only_in_old'), 'w') as f:
- f.write('This content is here to differentiate installations.')
+ with open(os.path.join(libdwarf.prefix, "only_in_old"), "w") as f:
+ f.write("This content is here to differentiate installations.")
+ with open(os.path.join(cmake.prefix, "only_in_old"), "w") as f:
+ f.write("This content is here to differentiate installations.")
bad_libdwarf_md5 = fs.hash_directory(libdwarf.prefix, ignore=ld_ignores)
bad_cmake_md5 = fs.hash_directory(cmake.prefix, ignore=cm_ignores)
@@ -321,7 +325,7 @@ def test_install_overwrite_multiple(
assert bad_libdwarf_md5 != expected_libdwarf_md5
assert bad_cmake_md5 != expected_cmake_md5
- install('--overwrite', '-y', 'libdwarf', 'cmake')
+ install("--overwrite", "-y", "libdwarf", "cmake")
assert os.path.exists(libdwarf.prefix)
assert os.path.exists(cmake.prefix)
@@ -334,7 +338,11 @@ def test_install_overwrite_multiple(
@pytest.mark.usefixtures(
- 'mock_packages', 'mock_archive', 'mock_fetch', 'config', 'install_mockery',
+ "mock_packages",
+ "mock_archive",
+ "mock_fetch",
+ "config",
+ "install_mockery",
)
def test_install_conflicts(conflict_spec):
# Make sure that spec with conflicts raises a SpackError
@@ -343,70 +351,78 @@ def test_install_conflicts(conflict_spec):
@pytest.mark.usefixtures(
- 'mock_packages', 'mock_archive', 'mock_fetch', 'config', 'install_mockery',
+ "mock_packages",
+ "mock_archive",
+ "mock_fetch",
+ "config",
+ "install_mockery",
)
def test_install_invalid_spec(invalid_spec):
# Make sure that invalid specs raise a SpackError
- with pytest.raises(SpackError, match='Unexpected token'):
+ with pytest.raises(SpackError, match="Unexpected token"):
install(invalid_spec)
-@pytest.mark.usefixtures('noop_install', 'mock_packages', 'config')
-@pytest.mark.parametrize('spec,concretize,error_code', [
- (Spec('mpi'), False, 1),
- (Spec('mpi'), True, 0),
- (Spec('boost'), False, 1),
- (Spec('boost'), True, 0)
-])
+@pytest.mark.usefixtures("noop_install", "mock_packages", "config")
+@pytest.mark.parametrize(
+ "spec,concretize,error_code",
+ [
+ (Spec("mpi"), False, 1),
+ (Spec("mpi"), True, 0),
+ (Spec("boost"), False, 1),
+ (Spec("boost"), True, 0),
+ ],
+)
def test_install_from_file(spec, concretize, error_code, tmpdir):
if concretize:
spec.concretize()
- specfile = tmpdir.join('spec.yaml')
+ specfile = tmpdir.join("spec.yaml")
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
spec.to_yaml(f)
- err_msg = 'does not contain a concrete spec' if error_code else ''
+ err_msg = "does not contain a concrete spec" if error_code else ""
# Relative path to specfile (regression for #6906)
with fs.working_dir(specfile.dirname):
# A non-concrete spec will fail to be installed
- out = install('-f', specfile.basename, fail_on_error=False)
+ out = install("-f", specfile.basename, fail_on_error=False)
assert install.returncode == error_code
assert err_msg in out
# Absolute path to specfile (regression for #6983)
- out = install('-f', str(specfile), fail_on_error=False)
+ out = install("-f", str(specfile), fail_on_error=False)
assert install.returncode == error_code
assert err_msg in out
@pytest.mark.disable_clean_stage_check
@pytest.mark.usefixtures(
- 'mock_packages', 'mock_archive', 'mock_fetch', 'config', 'install_mockery'
+ "mock_packages", "mock_archive", "mock_fetch", "config", "install_mockery"
+)
+@pytest.mark.parametrize(
+ "exc_typename,msg",
+ [("RuntimeError", "something weird happened"), ("ValueError", "spec is not concrete")],
)
-@pytest.mark.parametrize('exc_typename,msg', [
- ('RuntimeError', 'something weird happened'),
- ('ValueError', 'spec is not concrete')
-])
def test_junit_output_with_failures(tmpdir, exc_typename, msg):
with tmpdir.as_cwd():
install(
- '--log-format=junit', '--log-file=test.xml',
- 'raiser',
- 'exc_type={0}'.format(exc_typename),
+ "--log-format=junit",
+ "--log-file=test.xml",
+ "raiser",
+ "exc_type={0}".format(exc_typename),
'msg="{0}"'.format(msg),
fail_on_error=False,
)
assert isinstance(install.error, spack.build_environment.ChildError)
assert install.error.name == exc_typename
- assert install.error.pkg.name == 'raiser'
+ assert install.error.pkg.name == "raiser"
files = tmpdir.listdir()
- filename = tmpdir.join('test.xml')
+ filename = tmpdir.join("test.xml")
assert filename in files
content = filename.open().read()
@@ -421,35 +437,43 @@ def test_junit_output_with_failures(tmpdir, exc_typename, msg):
assert 'failures="0"' not in content
# We want to have both stdout and stderr
- assert '<system-out>' in content
+ assert "<system-out>" in content
assert msg in content
@pytest.mark.disable_clean_stage_check
-@pytest.mark.parametrize('exc_typename,expected_exc,msg', [
- ('RuntimeError', spack.installer.InstallError, 'something weird happened'),
- ('KeyboardInterrupt', KeyboardInterrupt, 'Ctrl-C strikes again')
-])
+@pytest.mark.parametrize(
+ "exc_typename,expected_exc,msg",
+ [
+ ("RuntimeError", spack.installer.InstallError, "something weird happened"),
+ ("KeyboardInterrupt", KeyboardInterrupt, "Ctrl-C strikes again"),
+ ],
+)
def test_junit_output_with_errors(
- exc_typename, expected_exc, msg,
- mock_packages, mock_archive, mock_fetch, install_mockery,
- config, tmpdir, monkeypatch):
-
+ exc_typename,
+ expected_exc,
+ msg,
+ mock_packages,
+ mock_archive,
+ mock_fetch,
+ install_mockery,
+ config,
+ tmpdir,
+ monkeypatch,
+):
def just_throw(*args, **kwargs):
exc_type = getattr(builtins, exc_typename)
raise exc_type(msg)
- monkeypatch.setattr(spack.installer.PackageInstaller, '_install_task',
- just_throw)
+ monkeypatch.setattr(spack.installer.PackageInstaller, "_install_task", just_throw)
with tmpdir.as_cwd():
- install('--log-format=junit', '--log-file=test.xml', 'libdwarf',
- fail_on_error=False)
+ install("--log-format=junit", "--log-file=test.xml", "libdwarf", fail_on_error=False)
assert isinstance(install.error, expected_exc)
files = tmpdir.listdir()
- filename = tmpdir.join('test.xml')
+ filename = tmpdir.join("test.xml")
assert filename in files
content = filename.open().read()
@@ -464,97 +488,95 @@ def test_junit_output_with_errors(
assert 'errors="0"' not in content
# We want to have both stdout and stderr
- assert '<system-out>' in content
+ assert "<system-out>" in content
assert 'error message="{0}"'.format(msg) in content
-@pytest.mark.usefixtures('noop_install', 'mock_packages', 'config')
-@pytest.mark.parametrize('clispecs,filespecs', [
- [[], ['mpi']],
- [[], ['mpi', 'boost']],
- [['cmake'], ['mpi']],
- [['cmake', 'libelf'], []],
- [['cmake', 'libelf'], ['mpi', 'boost']],
-])
+@pytest.mark.usefixtures("noop_install", "mock_packages", "config")
+@pytest.mark.parametrize(
+ "clispecs,filespecs",
+ [
+ [[], ["mpi"]],
+ [[], ["mpi", "boost"]],
+ [["cmake"], ["mpi"]],
+ [["cmake", "libelf"], []],
+ [["cmake", "libelf"], ["mpi", "boost"]],
+ ],
+)
def test_install_mix_cli_and_files(clispecs, filespecs, tmpdir):
args = clispecs
for spec in filespecs:
- filepath = tmpdir.join(spec + '.yaml')
- args = ['-f', str(filepath)] + args
+ filepath = tmpdir.join(spec + ".yaml")
+ args = ["-f", str(filepath)] + args
s = Spec(spec)
s.concretize()
- with filepath.open('w') as f:
+ with filepath.open("w") as f:
s.to_yaml(f)
install(*args, fail_on_error=False)
assert install.returncode == 0
-def test_extra_files_are_archived(mock_packages, mock_archive, mock_fetch,
- config, install_mockery):
- s = Spec('archive-files')
+def test_extra_files_are_archived(
+ mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ s = Spec("archive-files")
s.concretize()
- install('archive-files')
+ install("archive-files")
- archive_dir = os.path.join(
- spack.store.layout.metadata_path(s), 'archived-files'
- )
- config_log = os.path.join(archive_dir,
- mock_archive.expanded_archive_basedir,
- 'config.log')
+ archive_dir = os.path.join(spack.store.layout.metadata_path(s), "archived-files")
+ config_log = os.path.join(archive_dir, mock_archive.expanded_archive_basedir, "config.log")
assert os.path.exists(config_log)
- errors_txt = os.path.join(archive_dir, 'errors.txt')
+ errors_txt = os.path.join(archive_dir, "errors.txt")
assert os.path.exists(errors_txt)
@pytest.mark.disable_clean_stage_check
-def test_cdash_report_concretization_error(tmpdir, mock_fetch, install_mockery,
- capfd, conflict_spec):
+def test_cdash_report_concretization_error(
+ tmpdir, mock_fetch, install_mockery, capfd, conflict_spec
+):
# capfd interferes with Spack's capturing
with capfd.disabled():
with tmpdir.as_cwd():
with pytest.raises(SpackError):
- install(
- '--log-format=cdash',
- '--log-file=cdash_reports',
- conflict_spec)
- report_dir = tmpdir.join('cdash_reports')
+ install("--log-format=cdash", "--log-file=cdash_reports", conflict_spec)
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('Update.xml')
+ report_file = report_dir.join("Update.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert '<UpdateReturnStatus>' in content
+ assert "<UpdateReturnStatus>" in content
# The message is different based on using the
# new or the old concretizer
expected_messages = (
- 'Conflicts in concretized spec',
- 'conflicts with',
+ "Conflicts in concretized spec",
+ "conflicts with",
)
assert any(x in content for x in expected_messages)
@pytest.mark.disable_clean_stage_check
-def test_cdash_upload_build_error(tmpdir, mock_fetch, install_mockery,
- capfd):
+def test_cdash_upload_build_error(tmpdir, mock_fetch, install_mockery, capfd):
# capfd interferes with Spack's capturing
with capfd.disabled():
with tmpdir.as_cwd():
with pytest.raises(SpackError):
install(
- '--log-format=cdash',
- '--log-file=cdash_reports',
- '--cdash-upload-url=http://localhost/fakeurl/submit.php?project=Spack',
- 'build-error')
- report_dir = tmpdir.join('cdash_reports')
+ "--log-format=cdash",
+ "--log-file=cdash_reports",
+ "--cdash-upload-url=http://localhost/fakeurl/submit.php?project=Spack",
+ "build-error",
+ )
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('Build.xml')
+ report_file = report_dir.join("Build.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert '<Text>configure: error: in /path/to/some/file:</Text>' in content
+ assert "<Text>configure: error: in /path/to/some/file:</Text>" in content
@pytest.mark.disable_clean_stage_check
@@ -562,17 +584,14 @@ def test_cdash_upload_clean_build(tmpdir, mock_fetch, install_mockery, capfd):
# capfd interferes with Spack's capturing of e.g., Build.xml output
with capfd.disabled():
with tmpdir.as_cwd():
- install(
- '--log-file=cdash_reports',
- '--log-format=cdash',
- 'a')
- report_dir = tmpdir.join('cdash_reports')
+ install("--log-file=cdash_reports", "--log-format=cdash", "a")
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('a_Build.xml')
+ report_file = report_dir.join("a_Build.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert '</Build>' in content
- assert '<Text>' not in content
+ assert "</Build>" in content
+ assert "<Text>" not in content
@pytest.mark.disable_clean_stage_check
@@ -581,20 +600,21 @@ def test_cdash_upload_extra_params(tmpdir, mock_fetch, install_mockery, capfd):
with capfd.disabled():
with tmpdir.as_cwd():
install(
- '--log-file=cdash_reports',
- '--log-format=cdash',
- '--cdash-build=my_custom_build',
- '--cdash-site=my_custom_site',
- '--cdash-track=my_custom_track',
- 'a')
- report_dir = tmpdir.join('cdash_reports')
+ "--log-file=cdash_reports",
+ "--log-format=cdash",
+ "--cdash-build=my_custom_build",
+ "--cdash-site=my_custom_site",
+ "--cdash-track=my_custom_track",
+ "a",
+ )
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('a_Build.xml')
+ report_file = report_dir.join("a_Build.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
assert 'Site BuildName="my_custom_build - a"' in content
assert 'Name="my_custom_site"' in content
- assert '-my_custom_track' in content
+ assert "-my_custom_track" in content
@pytest.mark.disable_clean_stage_check
@@ -602,167 +622,172 @@ def test_cdash_buildstamp_param(tmpdir, mock_fetch, install_mockery, capfd):
# capfd interferes with Spack's capture of e.g., Build.xml output
with capfd.disabled():
with tmpdir.as_cwd():
- cdash_track = 'some_mocked_track'
+ cdash_track = "some_mocked_track"
buildstamp_format = "%Y%m%d-%H%M-{0}".format(cdash_track)
- buildstamp = time.strftime(buildstamp_format,
- time.localtime(int(time.time())))
+ buildstamp = time.strftime(buildstamp_format, time.localtime(int(time.time())))
install(
- '--log-file=cdash_reports',
- '--log-format=cdash',
- '--cdash-buildstamp={0}'.format(buildstamp),
- 'a')
- report_dir = tmpdir.join('cdash_reports')
+ "--log-file=cdash_reports",
+ "--log-format=cdash",
+ "--cdash-buildstamp={0}".format(buildstamp),
+ "a",
+ )
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('a_Build.xml')
+ report_file = report_dir.join("a_Build.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
assert buildstamp in content
@pytest.mark.disable_clean_stage_check
-def test_cdash_install_from_spec_json(tmpdir, mock_fetch, install_mockery,
- capfd, mock_packages, mock_archive,
- config):
+def test_cdash_install_from_spec_json(
+ tmpdir, mock_fetch, install_mockery, capfd, mock_packages, mock_archive, config
+):
# capfd interferes with Spack's capturing
with capfd.disabled():
with tmpdir.as_cwd():
- spec_json_path = str(tmpdir.join('spec.json'))
+ spec_json_path = str(tmpdir.join("spec.json"))
- pkg_spec = Spec('a')
+ pkg_spec = Spec("a")
pkg_spec.concretize()
- with open(spec_json_path, 'w') as fd:
+ with open(spec_json_path, "w") as fd:
fd.write(pkg_spec.to_json(hash=ht.dag_hash))
install(
- '--log-format=cdash',
- '--log-file=cdash_reports',
- '--cdash-build=my_custom_build',
- '--cdash-site=my_custom_site',
- '--cdash-track=my_custom_track',
- '-f', spec_json_path)
-
- report_dir = tmpdir.join('cdash_reports')
+ "--log-format=cdash",
+ "--log-file=cdash_reports",
+ "--cdash-build=my_custom_build",
+ "--cdash-site=my_custom_site",
+ "--cdash-track=my_custom_track",
+ "-f",
+ spec_json_path,
+ )
+
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('a_Configure.xml')
+ report_file = report_dir.join("a_Configure.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
install_command_regex = re.compile(
- r'<ConfigureCommand>(.+)</ConfigureCommand>',
- re.MULTILINE | re.DOTALL)
+ r"<ConfigureCommand>(.+)</ConfigureCommand>", re.MULTILINE | re.DOTALL
+ )
m = install_command_regex.search(content)
assert m
install_command = m.group(1)
- assert 'a@' in install_command
+ assert "a@" in install_command
@pytest.mark.disable_clean_stage_check
def test_build_error_output(tmpdir, mock_fetch, install_mockery, capfd):
with capfd.disabled():
- msg = ''
+ msg = ""
try:
- install('build-error')
+ install("build-error")
assert False, "no exception was raised!"
except spack.build_environment.ChildError as e:
msg = e.long_message
- assert 'configure: error: in /path/to/some/file:' in msg
- assert 'configure: error: cannot run C compiled programs.' in msg
+ assert "configure: error: in /path/to/some/file:" in msg
+ assert "configure: error: cannot run C compiled programs." in msg
@pytest.mark.disable_clean_stage_check
def test_build_warning_output(tmpdir, mock_fetch, install_mockery, capfd):
with capfd.disabled():
- msg = ''
+ msg = ""
try:
- install('build-warnings')
+ install("build-warnings")
assert False, "no exception was raised!"
except spack.build_environment.ChildError as e:
msg = e.long_message
- assert 'WARNING: ALL CAPITAL WARNING!' in msg
- assert 'foo.c:89: warning: some weird warning!' in msg
+ assert "WARNING: ALL CAPITAL WARNING!" in msg
+ assert "foo.c:89: warning: some weird warning!" in msg
def test_cache_only_fails(tmpdir, mock_fetch, install_mockery, capfd):
# libelf from cache fails to install, which automatically removes the
# the libdwarf build task
with capfd.disabled():
- out = install('--cache-only', 'libdwarf', fail_on_error=False)
+ out = install("--cache-only", "libdwarf", fail_on_error=False)
- assert 'Failed to install libelf' in out
- assert 'Skipping build of libdwarf' in out
- assert 'was not installed' in out
+ assert "Failed to install libelf" in out
+ assert "Skipping build of libdwarf" in out
+ assert "was not installed" in out
# Check that failure prefix locks are still cached
- failure_lock_prefixes = ','.join(spack.store.db._prefix_failures.keys())
- assert 'libelf' in failure_lock_prefixes
- assert 'libdwarf' in failure_lock_prefixes
+ failure_lock_prefixes = ",".join(spack.store.db._prefix_failures.keys())
+ assert "libelf" in failure_lock_prefixes
+ assert "libdwarf" in failure_lock_prefixes
def test_install_only_dependencies(tmpdir, mock_fetch, install_mockery):
- dep = Spec('dependency-install').concretized()
- root = Spec('dependent-install').concretized()
+ dep = Spec("dependency-install").concretized()
+ root = Spec("dependent-install").concretized()
- install('--only', 'dependencies', 'dependent-install')
+ install("--only", "dependencies", "dependent-install")
assert os.path.exists(dep.prefix)
assert not os.path.exists(root.prefix)
def test_install_only_package(tmpdir, mock_fetch, install_mockery, capfd):
- msg = ''
+ msg = ""
with capfd.disabled():
try:
- install('--only', 'package', 'dependent-install')
+ install("--only", "package", "dependent-install")
except spack.installer.InstallError as e:
msg = str(e)
- assert 'Cannot proceed with dependent-install' in msg
- assert '1 uninstalled dependency' in msg
+ assert "Cannot proceed with dependent-install" in msg
+ assert "1 uninstalled dependency" in msg
def test_install_deps_then_package(tmpdir, mock_fetch, install_mockery):
- dep = Spec('dependency-install').concretized()
- root = Spec('dependent-install').concretized()
+ dep = Spec("dependency-install").concretized()
+ root = Spec("dependent-install").concretized()
- install('--only', 'dependencies', 'dependent-install')
+ install("--only", "dependencies", "dependent-install")
assert os.path.exists(dep.prefix)
assert not os.path.exists(root.prefix)
- install('--only', 'package', 'dependent-install')
+ install("--only", "package", "dependent-install")
assert os.path.exists(root.prefix)
-@pytest.mark.regression('12002')
-def test_install_only_dependencies_in_env(tmpdir, mock_fetch, install_mockery,
- mutable_mock_env_path):
- env('create', 'test')
+@pytest.mark.regression("12002")
+def test_install_only_dependencies_in_env(
+ tmpdir, mock_fetch, install_mockery, mutable_mock_env_path
+):
+ env("create", "test")
- with ev.read('test'):
- dep = Spec('dependency-install').concretized()
- root = Spec('dependent-install').concretized()
+ with ev.read("test"):
+ dep = Spec("dependency-install").concretized()
+ root = Spec("dependent-install").concretized()
- install('-v', '--only', 'dependencies', 'dependent-install')
+ install("-v", "--only", "dependencies", "dependent-install")
assert os.path.exists(dep.prefix)
assert not os.path.exists(root.prefix)
-@pytest.mark.regression('12002')
+@pytest.mark.regression("12002")
def test_install_only_dependencies_of_all_in_env(
tmpdir, mock_fetch, install_mockery, mutable_mock_env_path
):
- env('create', '--without-view', 'test')
+ env("create", "--without-view", "test")
- with ev.read('test'):
- roots = [Spec('dependent-install@1.0').concretized(),
- Spec('dependent-install@2.0').concretized()]
+ with ev.read("test"):
+ roots = [
+ Spec("dependent-install@1.0").concretized(),
+ Spec("dependent-install@2.0").concretized(),
+ ]
- add('dependent-install@1.0')
- add('dependent-install@2.0')
- install('--only', 'dependencies')
+ add("dependent-install@1.0")
+ add("dependent-install@2.0")
+ install("--only", "dependencies")
for root in roots:
assert not os.path.exists(root.prefix)
@@ -770,8 +795,7 @@ def test_install_only_dependencies_of_all_in_env(
assert os.path.exists(dep.prefix)
-def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery,
- mutable_mock_env_path):
+def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery, mutable_mock_env_path):
# To test behavior of --no-add option, we create the following environment:
#
# mpileaks
@@ -785,11 +809,11 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery,
# ^b
# a
# ^b
- e = ev.create('test')
- e.add('mpileaks')
- e.add('libelf@0.8.10') # so env has both root and dep libelf specs
- e.add('a')
- e.add('a ~bvv')
+ e = ev.create("test")
+ e.add("mpileaks")
+ e.add("libelf@0.8.10") # so env has both root and dep libelf specs
+ e.add("a")
+ e.add("a ~bvv")
e.concretize()
env_specs = e.all_specs()
@@ -799,48 +823,46 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery,
# First find and remember some target concrete specs in the environment
for e_spec in env_specs:
- if e_spec.satisfies(Spec('a ~bvv')):
+ if e_spec.satisfies(Spec("a ~bvv")):
a_spec = e_spec
- elif e_spec.name == 'b':
+ elif e_spec.name == "b":
b_spec = e_spec
- elif e_spec.satisfies(Spec('mpi')):
+ elif e_spec.satisfies(Spec("mpi")):
mpi_spec = e_spec
- assert(a_spec)
- assert(a_spec.concrete)
+ assert a_spec
+ assert a_spec.concrete
- assert(b_spec)
- assert(b_spec.concrete)
- assert(b_spec not in e.roots())
+ assert b_spec
+ assert b_spec.concrete
+ assert b_spec not in e.roots()
- assert(mpi_spec)
- assert(mpi_spec.concrete)
+ assert mpi_spec
+ assert mpi_spec.concrete
# Activate the environment
with e:
# Assert using --no-add with a spec not in the env fails
- inst_out = install(
- '--no-add', 'boost', fail_on_error=False, output=str)
+ inst_out = install("--no-add", "boost", fail_on_error=False, output=str)
- assert('no such spec exists in environment' in inst_out)
+ assert "no such spec exists in environment" in inst_out
# Ensure using --no-add with an ambiguous spec fails
with pytest.raises(ev.SpackEnvironmentError) as err:
- inst_out = install(
- '--no-add', 'a', output=str)
+ inst_out = install("--no-add", "a", output=str)
- assert('a matches multiple specs in the env' in str(err))
+ assert "a matches multiple specs in the env" in str(err)
# With "--no-add", install an unambiguous dependency spec (that already
# exists as a dep in the environment) using --no-add and make sure it
# gets installed (w/ deps), but is not added to the environment.
- install('--no-add', 'dyninst')
+ install("--no-add", "dyninst")
- find_output = find('-l', output=str)
- assert('dyninst' in find_output)
- assert('libdwarf' in find_output)
- assert('libelf' in find_output)
- assert('callpath' not in find_output)
+ find_output = find("-l", output=str)
+ assert "dyninst" in find_output
+ assert "libdwarf" in find_output
+ assert "libelf" in find_output
+ assert "callpath" not in find_output
post_install_specs = e.all_specs()
assert all([s in env_specs for s in post_install_specs])
@@ -848,32 +870,32 @@ def test_install_no_add_in_env(tmpdir, mock_fetch, install_mockery,
# Make sure we can install a concrete dependency spec from a spec.json
# file on disk, using the ``--no-add` option, and the spec is installed
# but not added as a root
- mpi_spec_json_path = tmpdir.join('{0}.json'.format(mpi_spec.name))
- with open(mpi_spec_json_path.strpath, 'w') as fd:
+ mpi_spec_json_path = tmpdir.join("{0}.json".format(mpi_spec.name))
+ with open(mpi_spec_json_path.strpath, "w") as fd:
fd.write(mpi_spec.to_json(hash=ht.dag_hash))
- install('--no-add', '-f', mpi_spec_json_path.strpath)
- assert(mpi_spec not in e.roots())
+ install("--no-add", "-f", mpi_spec_json_path.strpath)
+ assert mpi_spec not in e.roots()
- find_output = find('-l', output=str)
- assert(mpi_spec.name in find_output)
+ find_output = find("-l", output=str)
+ assert mpi_spec.name in find_output
# Without "--no-add", install an unambiguous depependency spec (that
# already exists as a dep in the environment) without --no-add and make
# sure it is added as a root of the environment as well as installed.
- assert(b_spec not in e.roots())
+ assert b_spec not in e.roots()
- install('b')
+ install("b")
- assert(b_spec in e.roots())
- assert(b_spec not in e.uninstalled_specs())
+ assert b_spec in e.roots()
+ assert b_spec not in e.uninstalled_specs()
# Without "--no-add", install a novel spec and make sure it is added
# as a root and installed.
- install('bowtie')
+ install("bowtie")
- assert(any([s.name == 'bowtie' for s in e.roots()]))
- assert(not any([s.name == 'bowtie' for s in e.uninstalled_specs()]))
+ assert any([s.name == "bowtie" for s in e.roots()])
+ assert not any([s.name == "bowtie" for s in e.uninstalled_specs()])
def test_install_help_does_not_show_cdash_options(capsys):
@@ -881,16 +903,16 @@ def test_install_help_does_not_show_cdash_options(capsys):
Make sure `spack install --help` does not describe CDash arguments
"""
with pytest.raises(SystemExit):
- install('--help')
+ install("--help")
captured = capsys.readouterr()
- assert 'CDash URL' not in captured.out
+ assert "CDash URL" not in captured.out
def test_install_help_cdash(capsys):
"""Make sure `spack install --help-cdash` describes CDash arguments"""
- install_cmd = SpackCommand('install')
- out = install_cmd('--help-cdash')
- assert 'CDash URL' in out
+ install_cmd = SpackCommand("install")
+ out = install_cmd("--help-cdash")
+ assert "CDash URL" in out
@pytest.mark.disable_clean_stage_check
@@ -898,13 +920,9 @@ def test_cdash_auth_token(tmpdir, mock_fetch, install_mockery, capfd):
# capfd interferes with Spack's capturing
with tmpdir.as_cwd():
with capfd.disabled():
- os.environ['SPACK_CDASH_AUTH_TOKEN'] = 'asdf'
- out = install(
- '-v',
- '--log-file=cdash_reports',
- '--log-format=cdash',
- 'a')
- assert 'Using CDash auth token from environment' in out
+ os.environ["SPACK_CDASH_AUTH_TOKEN"] = "asdf"
+ out = install("-v", "--log-file=cdash_reports", "--log-format=cdash", "a")
+ assert "Using CDash auth token from environment" in out
@pytest.mark.disable_clean_stage_check
@@ -913,82 +931,89 @@ def test_cdash_configure_warning(tmpdir, mock_fetch, install_mockery, capfd):
with capfd.disabled():
with tmpdir.as_cwd():
# Test would fail if install raised an error.
- install(
- '--log-file=cdash_reports',
- '--log-format=cdash',
- 'configure-warning')
+ install("--log-file=cdash_reports", "--log-format=cdash", "configure-warning")
# Verify Configure.xml exists with expected contents.
- report_dir = tmpdir.join('cdash_reports')
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('Configure.xml')
+ report_file = report_dir.join("Configure.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert 'foo: No such file or directory' in content
+ assert "foo: No such file or directory" in content
def test_compiler_bootstrap(
- install_mockery_mutable_config, mock_packages, mock_fetch,
- mock_archive, mutable_config, monkeypatch):
- monkeypatch.setattr(spack.concretize.Concretizer,
- 'check_for_compiler_existence', False)
- spack.config.set('config:install_missing_compilers', True)
- assert CompilerSpec('gcc@2.0') not in compilers.all_compiler_specs()
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_archive,
+ mutable_config,
+ monkeypatch,
+):
+ monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False)
+ spack.config.set("config:install_missing_compilers", True)
+ assert CompilerSpec("gcc@2.0") not in compilers.all_compiler_specs()
# Test succeeds if it does not raise an error
- install('a%gcc@2.0')
+ install("a%gcc@2.0")
def test_compiler_bootstrap_from_binary_mirror(
- install_mockery_mutable_config, mock_packages, mock_fetch,
- mock_archive, mutable_config, monkeypatch, tmpdir):
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_archive,
+ mutable_config,
+ monkeypatch,
+ tmpdir,
+):
"""
Make sure installing compiler from buildcache registers compiler
"""
# Create a temp mirror directory for buildcache usage
- mirror_dir = tmpdir.join('mirror_dir')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
+ mirror_dir = tmpdir.join("mirror_dir")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
# Install a compiler, because we want to put it in a buildcache
- install('gcc@10.2.0')
+ install("gcc@10.2.0")
# Put installed compiler in the buildcache
- buildcache(
- 'create', '-u', '-a', '-f', '-d', mirror_dir.strpath, 'gcc@10.2.0'
- )
+ buildcache("create", "-u", "-a", "-f", "-d", mirror_dir.strpath, "gcc@10.2.0")
# Now uninstall the compiler
- uninstall('-y', 'gcc@10.2.0')
+ uninstall("-y", "gcc@10.2.0")
- monkeypatch.setattr(spack.concretize.Concretizer,
- 'check_for_compiler_existence', False)
- spack.config.set('config:install_missing_compilers', True)
- assert CompilerSpec('gcc@10.2.0') not in compilers.all_compiler_specs()
+ monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False)
+ spack.config.set("config:install_missing_compilers", True)
+ assert CompilerSpec("gcc@10.2.0") not in compilers.all_compiler_specs()
# Configure the mirror where we put that buildcache w/ the compiler
- mirror('add', 'test-mirror', mirror_url)
+ mirror("add", "test-mirror", mirror_url)
# Now make sure that when the compiler is installed from binary mirror,
# it also gets configured as a compiler. Test succeeds if it does not
# raise an error
- install('--no-check-signature', '--cache-only', '--only',
- 'dependencies', 'b%gcc@10.2.0')
- install('--no-cache', '--only', 'package', 'b%gcc@10.2.0')
+ install("--no-check-signature", "--cache-only", "--only", "dependencies", "b%gcc@10.2.0")
+ install("--no-cache", "--only", "package", "b%gcc@10.2.0")
-@pytest.mark.regression('16221')
+@pytest.mark.regression("16221")
def test_compiler_bootstrap_already_installed(
- install_mockery_mutable_config, mock_packages, mock_fetch,
- mock_archive, mutable_config, monkeypatch):
- monkeypatch.setattr(spack.concretize.Concretizer,
- 'check_for_compiler_existence', False)
- spack.config.set('config:install_missing_compilers', True)
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_archive,
+ mutable_config,
+ monkeypatch,
+):
+ monkeypatch.setattr(spack.concretize.Concretizer, "check_for_compiler_existence", False)
+ spack.config.set("config:install_missing_compilers", True)
- assert CompilerSpec('gcc@2.0') not in compilers.all_compiler_specs()
+ assert CompilerSpec("gcc@2.0") not in compilers.all_compiler_specs()
# Test succeeds if it does not raise an error
- install('gcc@2.0')
- install('a%gcc@2.0')
+ install("gcc@2.0")
+ install("a%gcc@2.0")
def test_install_fails_no_args(tmpdir):
@@ -997,64 +1022,70 @@ def test_install_fails_no_args(tmpdir):
output = install(fail_on_error=False)
# check we got the short version of the error message with no spack.yaml
- assert 'requires a package argument or active environment' in output
- assert 'spack env activate .' not in output
- assert 'using the `spack.yaml` in this directory' not in output
+ assert "requires a package argument or active environment" in output
+ assert "spack env activate ." not in output
+ assert "using the `spack.yaml` in this directory" not in output
def test_install_fails_no_args_suggests_env_activation(tmpdir):
# ensure spack.yaml in directory
- tmpdir.ensure('spack.yaml')
+ tmpdir.ensure("spack.yaml")
with tmpdir.as_cwd():
output = install(fail_on_error=False)
# check we got the long version of the error message with spack.yaml
- assert 'requires a package argument or active environment' in output
- assert 'spack env activate .' in output
- assert 'using the `spack.yaml` in this directory' in output
-
-
-def test_install_env_with_tests_all(tmpdir, mock_packages, mock_fetch,
- install_mockery, mutable_mock_env_path):
- env('create', 'test')
- with ev.read('test'):
- test_dep = Spec('test-dependency').concretized()
- add('depb')
- install('--test', 'all')
+ assert "requires a package argument or active environment" in output
+ assert "spack env activate ." in output
+ assert "using the `spack.yaml` in this directory" in output
+
+
+def test_install_env_with_tests_all(
+ tmpdir, mock_packages, mock_fetch, install_mockery, mutable_mock_env_path
+):
+ env("create", "test")
+ with ev.read("test"):
+ test_dep = Spec("test-dependency").concretized()
+ add("depb")
+ install("--test", "all")
assert os.path.exists(test_dep.prefix)
-def test_install_env_with_tests_root(tmpdir, mock_packages, mock_fetch,
- install_mockery, mutable_mock_env_path):
- env('create', 'test')
- with ev.read('test'):
- test_dep = Spec('test-dependency').concretized()
- add('depb')
- install('--test', 'root')
+def test_install_env_with_tests_root(
+ tmpdir, mock_packages, mock_fetch, install_mockery, mutable_mock_env_path
+):
+ env("create", "test")
+ with ev.read("test"):
+ test_dep = Spec("test-dependency").concretized()
+ add("depb")
+ install("--test", "root")
assert not os.path.exists(test_dep.prefix)
-def test_install_empty_env(tmpdir, mock_packages, mock_fetch,
- install_mockery, mutable_mock_env_path):
- env_name = 'empty'
- env('create', env_name)
+def test_install_empty_env(
+ tmpdir, mock_packages, mock_fetch, install_mockery, mutable_mock_env_path
+):
+ env_name = "empty"
+ env("create", env_name)
with ev.read(env_name):
out = install(fail_on_error=False)
assert env_name in out
- assert 'environment' in out
- assert 'no specs to install' in out
+ assert "environment" in out
+ assert "no specs to install" in out
@pytest.mark.disable_clean_stage_check
-@pytest.mark.parametrize('name,method', [
- ('test-build-callbacks', 'undefined-build-test'),
- ('test-install-callbacks', 'undefined-install-test')
-])
+@pytest.mark.parametrize(
+ "name,method",
+ [
+ ("test-build-callbacks", "undefined-build-test"),
+ ("test-install-callbacks", "undefined-install-test"),
+ ],
+)
def test_install_callbacks_fail(install_mockery, mock_fetch, name, method):
- output = install('--test=root', '--no-cache', name, fail_on_error=False)
+ output = install("--test=root", "--no-cache", name, fail_on_error=False)
assert output.count(method) == 2
- assert output.count('method not implemented') == 1
- assert output.count('TestFailure: 1 tests failed') == 1
+ assert output.count("method not implemented") == 1
+ assert output.count("TestFailure: 1 tests failed") == 1
diff --git a/lib/spack/spack/test/cmd/is_git_repo.py b/lib/spack/spack/test/cmd/is_git_repo.py
index 025d04fff0..e094476a2e 100644
--- a/lib/spack/spack/test/cmd/is_git_repo.py
+++ b/lib/spack/spack/test/cmd/is_git_repo.py
@@ -17,7 +17,7 @@ from spack.util.executable import which
from spack.version import ver
git = which("git")
-git_required_version = '2.17.0'
+git_required_version = "2.17.0"
def check_git_version():
@@ -35,8 +35,7 @@ def check_git_version():
pytestmark = pytest.mark.skipif(
- not git or not check_git_version(),
- reason="we need git to test if we are in a git repo"
+ not git or not check_git_version(), reason="we need git to test if we are in a git repo"
)
@@ -49,7 +48,7 @@ def git_tmp_worktree(tmpdir):
# follow up fixes. 27021
# Path length is occasionally too long on Windows
# the following reduces the path length to acceptable levels
- if sys.platform == 'win32':
+ if sys.platform == "win32":
long_pth = str(tmpdir).split(os.path.sep)
tmp_worktree = os.path.sep.join(long_pth[:-1])
else:
diff --git a/lib/spack/spack/test/cmd/license.py b/lib/spack/spack/test/cmd/license.py
index 8501434659..4c920c5dff 100644
--- a/lib/spack/spack/test/cmd/license.py
+++ b/lib/spack/spack/test/cmd/license.py
@@ -15,81 +15,89 @@ import spack.cmd.license
import spack.paths
from spack.main import SpackCommand
-license = SpackCommand('license')
+license = SpackCommand("license")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_list_files():
- files = license('list-files').strip().split('\n')
+ files = license("list-files").strip().split("\n")
assert all(f.startswith(spack.paths.prefix) for f in files)
- assert os.path.join(spack.paths.bin_path, 'spack') in files
+ assert os.path.join(spack.paths.bin_path, "spack") in files
assert os.path.abspath(__file__) in files
def test_verify(tmpdir):
- source_dir = tmpdir.join('lib', 'spack', 'spack')
+ source_dir = tmpdir.join("lib", "spack", "spack")
mkdirp(str(source_dir))
- no_header = source_dir.join('no_header.py')
+ no_header = source_dir.join("no_header.py")
touch(str(no_header))
- lgpl_header = source_dir.join('lgpl_header.py')
- with lgpl_header.open('w') as f:
- f.write("""\
+ lgpl_header = source_dir.join("lgpl_header.py")
+ with lgpl_header.open("w") as f:
+ f.write(
+ """\
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: LGPL-2.1-only
-""")
+"""
+ )
- old_lgpl_header = source_dir.join('old_lgpl_header.py')
- with old_lgpl_header.open('w') as f:
- f.write("""\
+ old_lgpl_header = source_dir.join("old_lgpl_header.py")
+ with old_lgpl_header.open("w") as f:
+ f.write(
+ """\
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
-""")
+"""
+ )
- correct_header = source_dir.join('correct_header.py')
- with correct_header.open('w') as f:
- f.write("""\
+ correct_header = source_dir.join("correct_header.py")
+ with correct_header.open("w") as f:
+ f.write(
+ """\
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-""")
+"""
+ )
- out = license('--root', str(tmpdir), 'verify', fail_on_error=False)
+ out = license("--root", str(tmpdir), "verify", fail_on_error=False)
assert str(no_header) in out
assert str(lgpl_header) in out
assert str(old_lgpl_header) in out
assert str(correct_header) not in out
- assert '3 improperly licensed files' in out
- assert re.search(r'files not containing expected license:\s*1', out)
- assert re.search(r'files with wrong SPDX-License-Identifier:\s*1', out)
- assert re.search(r'files with old license header:\s*1', out)
+ assert "3 improperly licensed files" in out
+ assert re.search(r"files not containing expected license:\s*1", out)
+ assert re.search(r"files with wrong SPDX-License-Identifier:\s*1", out)
+ assert re.search(r"files with old license header:\s*1", out)
assert license.returncode == 1
def test_update_copyright_year(tmpdir):
- source_dir = tmpdir.join('lib', 'spack', 'spack')
+ source_dir = tmpdir.join("lib", "spack", "spack")
mkdirp(str(source_dir))
years = list(range(2018, 2021))
for year in years:
- outdated = source_dir.join('header_%d.py' % year)
- with outdated.open('w') as f:
- f.write("""\
+ outdated = source_dir.join("header_%d.py" % year)
+ with outdated.open("w") as f:
+ f.write(
+ """\
# Copyright 2013-%d Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-""" % year)
+"""
+ % year
+ )
# add an old MIT license at top level
mit_file = os.path.join(spack.paths.prefix, "LICENSE-MIT")
@@ -99,10 +107,10 @@ def test_update_copyright_year(tmpdir):
old_copyright = re.sub(r"\d{4}-\d{4}", "2018-2019", real.read())
dummy.write(old_copyright)
- license('--root', str(tmpdir), 'update-copyright-year')
+ license("--root", str(tmpdir), "update-copyright-year")
for year in years:
- outdated = source_dir.join('header_%d.py' % year)
+ outdated = source_dir.join("header_%d.py" % year)
first_line = outdated.open().read().split("\n")[0]
assert str(year) not in first_line
assert spack.cmd.license.strict_date in first_line
diff --git a/lib/spack/spack/test/cmd/list.py b/lib/spack/spack/test/cmd/list.py
index fe86a7f3b7..5a4b4b223e 100644
--- a/lib/spack/spack/test/cmd/list.py
+++ b/lib/spack/spack/test/cmd/list.py
@@ -5,81 +5,82 @@
from spack.main import SpackCommand
-list = SpackCommand('list')
+list = SpackCommand("list")
def test_list():
output = list()
- assert 'cloverleaf3d' in output
- assert 'hdf5' in output
+ assert "cloverleaf3d" in output
+ assert "hdf5" in output
def test_list_filter(mock_packages):
- output = list('py-*')
- assert 'py-extension1' in output
- assert 'py-extension2' in output
- assert 'py-extension3' in output
- assert 'python' not in output
- assert 'mpich' not in output
+ output = list("py-*")
+ assert "py-extension1" in output
+ assert "py-extension2" in output
+ assert "py-extension3" in output
+ assert "python" not in output
+ assert "mpich" not in output
- output = list('py')
- assert 'py-extension1' in output
- assert 'py-extension2' in output
- assert 'py-extension3' in output
- assert 'python' in output
- assert 'mpich' not in output
+ output = list("py")
+ assert "py-extension1" in output
+ assert "py-extension2" in output
+ assert "py-extension3" in output
+ assert "python" in output
+ assert "mpich" not in output
def test_list_search_description(mock_packages):
- output = list('--search-description', 'one build dependency')
- assert 'depb' in output
+ output = list("--search-description", "one build dependency")
+ assert "depb" in output
def test_list_format_name_only(mock_packages):
- output = list('--format', 'name_only')
- assert 'zmpi' in output
- assert 'hdf5' in output
+ output = list("--format", "name_only")
+ assert "zmpi" in output
+ assert "hdf5" in output
def test_list_format_version_json(mock_packages):
- output = list('--format', 'version_json')
+ output = list("--format", "version_json")
assert '{"name": "zmpi",' in output
assert '{"name": "dyninst",' in output
import json
+
json.loads(output)
def test_list_format_html(mock_packages):
- output = list('--format', 'html')
+ output = list("--format", "html")
assert '<div class="section" id="zmpi">' in output
- assert '<h1>zmpi' in output
+ assert "<h1>zmpi" in output
assert '<div class="section" id="hdf5">' in output
- assert '<h1>hdf5' in output
+ assert "<h1>hdf5" in output
def test_list_update(tmpdir, mock_packages):
- update_file = tmpdir.join('output')
+ update_file = tmpdir.join("output")
# not yet created when list is run
- list('--update', str(update_file))
+ list("--update", str(update_file))
assert update_file.exists()
with update_file.open() as f:
assert f.read()
# created but older than any package
- with update_file.open('w') as f:
- f.write('empty\n')
+ with update_file.open("w") as f:
+ f.write("empty\n")
update_file.setmtime(0)
- list('--update', str(update_file))
+ list("--update", str(update_file))
assert update_file.exists()
with update_file.open() as f:
- assert f.read() != 'empty\n'
+ assert f.read() != "empty\n"
# newer than any packages
- with update_file.open('w') as f:
- f.write('empty\n')
- list('--update', str(update_file))
+ with update_file.open("w") as f:
+ f.write("empty\n")
+ list("--update", str(update_file))
assert update_file.exists()
with update_file.open() as f:
- assert f.read() == 'empty\n'
+ assert f.read() == "empty\n"
diff --git a/lib/spack/spack/test/cmd/load.py b/lib/spack/spack/test/cmd/load.py
index 01902c3143..93cb7348ce 100644
--- a/lib/spack/spack/test/cmd/load.py
+++ b/lib/spack/spack/test/cmd/load.py
@@ -12,31 +12,31 @@ import spack.spec
import spack.user_environment as uenv
from spack.main import SpackCommand, SpackCommandError
-load = SpackCommand('load')
-unload = SpackCommand('unload')
-install = SpackCommand('install')
-location = SpackCommand('location')
+load = SpackCommand("load")
+unload = SpackCommand("unload")
+install = SpackCommand("install")
+location = SpackCommand("location")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-def test_manpath_trailing_colon(install_mockery, mock_fetch, mock_archive,
- mock_packages, working_env):
+def test_manpath_trailing_colon(
+ install_mockery, mock_fetch, mock_archive, mock_packages, working_env
+):
"""Test that the commands generated by load add the MANPATH prefix
inspections. Also test that Spack correctly preserves the default/existing
manpath search path via a trailing colon"""
- install('mpileaks')
+ install("mpileaks")
- sh_out = load('--sh', '--only', 'package', 'mpileaks')
- lines = sh_out.split('\n')
- assert any(re.match(r'export MANPATH=.*:;', ln) for ln in lines)
+ sh_out = load("--sh", "--only", "package", "mpileaks")
+ lines = sh_out.split("\n")
+ assert any(re.match(r"export MANPATH=.*:;", ln) for ln in lines)
- os.environ['MANPATH'] = '/tmp/man:'
+ os.environ["MANPATH"] = "/tmp/man:"
- sh_out = load('--sh', '--only', 'package', 'mpileaks')
- lines = sh_out.split('\n')
- assert any(re.match(r'export MANPATH=.*:/tmp/man:;', ln) for ln in lines)
+ sh_out = load("--sh", "--only", "package", "mpileaks")
+ lines = sh_out.split("\n")
+ assert any(re.match(r"export MANPATH=.*:/tmp/man:;", ln) for ln in lines)
def test_load(install_mockery, mock_fetch, mock_archive, mock_packages):
@@ -46,120 +46,118 @@ def test_load(install_mockery, mock_fetch, mock_archive, mock_packages):
CMAKE_PREFIX_PATH is the only prefix inspection guaranteed for fake
packages, since it keys on the prefix instead of a subdir."""
- install_out = install('mpileaks', output=str, fail_on_error=False)
- print('spack install mpileaks')
+ install_out = install("mpileaks", output=str, fail_on_error=False)
+ print("spack install mpileaks")
print(install_out)
- mpileaks_spec = spack.spec.Spec('mpileaks').concretized()
+ mpileaks_spec = spack.spec.Spec("mpileaks").concretized()
- sh_out = load('--sh', '--only', 'package', 'mpileaks')
- csh_out = load('--csh', '--only', 'package', 'mpileaks')
+ sh_out = load("--sh", "--only", "package", "mpileaks")
+ csh_out = load("--csh", "--only", "package", "mpileaks")
# Test prefix inspections
- sh_out_test = 'export CMAKE_PREFIX_PATH=%s' % mpileaks_spec.prefix
- csh_out_test = 'setenv CMAKE_PREFIX_PATH %s' % mpileaks_spec.prefix
+ sh_out_test = "export CMAKE_PREFIX_PATH=%s" % mpileaks_spec.prefix
+ csh_out_test = "setenv CMAKE_PREFIX_PATH %s" % mpileaks_spec.prefix
assert sh_out_test in sh_out
assert csh_out_test in csh_out
# Test hashes recorded properly
- hash_test_replacements = (uenv.spack_loaded_hashes_var,
- mpileaks_spec.dag_hash())
- sh_hash_test = 'export %s=%s' % hash_test_replacements
- csh_hash_test = 'setenv %s %s' % hash_test_replacements
+ hash_test_replacements = (uenv.spack_loaded_hashes_var, mpileaks_spec.dag_hash())
+ sh_hash_test = "export %s=%s" % hash_test_replacements
+ csh_hash_test = "setenv %s %s" % hash_test_replacements
assert sh_hash_test in sh_out
assert csh_hash_test in csh_out
-def test_load_recursive(install_mockery, mock_fetch, mock_archive,
- mock_packages):
+def test_load_recursive(install_mockery, mock_fetch, mock_archive, mock_packages):
"""Test that the '-r' option to the load command prepends dependency prefix
inspections in post-order"""
- install('mpileaks')
- mpileaks_spec = spack.spec.Spec('mpileaks').concretized()
+ install("mpileaks")
+ mpileaks_spec = spack.spec.Spec("mpileaks").concretized()
- sh_out = load('--sh', 'mpileaks')
- csh_out = load('--csh', 'mpileaks')
+ sh_out = load("--sh", "mpileaks")
+ csh_out = load("--csh", "mpileaks")
# Test prefix inspections
- prefix_test_replacement = ':'.join(reversed(
- [s.prefix for s in mpileaks_spec.traverse(order='post')]))
+ prefix_test_replacement = ":".join(
+ reversed([s.prefix for s in mpileaks_spec.traverse(order="post")])
+ )
- sh_prefix_test = 'export CMAKE_PREFIX_PATH=%s' % prefix_test_replacement
- csh_prefix_test = 'setenv CMAKE_PREFIX_PATH %s' % prefix_test_replacement
+ sh_prefix_test = "export CMAKE_PREFIX_PATH=%s" % prefix_test_replacement
+ csh_prefix_test = "setenv CMAKE_PREFIX_PATH %s" % prefix_test_replacement
assert sh_prefix_test in sh_out
assert csh_prefix_test in csh_out
# Test spack records loaded hashes properly
- hash_test_replacement = (uenv.spack_loaded_hashes_var, ':'.join(reversed(
- [s.dag_hash() for s in mpileaks_spec.traverse(order='post')])))
- sh_hash_test = 'export %s=%s' % hash_test_replacement
- csh_hash_test = 'setenv %s %s' % hash_test_replacement
+ hash_test_replacement = (
+ uenv.spack_loaded_hashes_var,
+ ":".join(reversed([s.dag_hash() for s in mpileaks_spec.traverse(order="post")])),
+ )
+ sh_hash_test = "export %s=%s" % hash_test_replacement
+ csh_hash_test = "setenv %s %s" % hash_test_replacement
assert sh_hash_test in sh_out
assert csh_hash_test in csh_out
-def test_load_includes_run_env(install_mockery, mock_fetch, mock_archive,
- mock_packages):
+def test_load_includes_run_env(install_mockery, mock_fetch, mock_archive, mock_packages):
"""Tests that environment changes from the package's
`setup_run_environment` method are added to the user environment in
addition to the prefix inspections"""
- install('mpileaks')
+ install("mpileaks")
- sh_out = load('--sh', 'mpileaks')
- csh_out = load('--csh', 'mpileaks')
+ sh_out = load("--sh", "mpileaks")
+ csh_out = load("--csh", "mpileaks")
- assert 'export FOOBAR=mpileaks' in sh_out
- assert 'setenv FOOBAR mpileaks' in csh_out
+ assert "export FOOBAR=mpileaks" in sh_out
+ assert "setenv FOOBAR mpileaks" in csh_out
def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages):
"""Test with and without the --first option"""
- install('libelf@0.8.12')
- install('libelf@0.8.13')
+ install("libelf@0.8.12")
+ install("libelf@0.8.13")
# Now there are two versions of libelf
with pytest.raises(SpackCommandError):
# This should cause an error due to multiple versions
- load('--sh', 'libelf')
+ load("--sh", "libelf")
# Using --first should avoid the error condition
- load('--sh', '--first', 'libelf')
+ load("--sh", "--first", "libelf")
-def test_load_fails_no_shell(install_mockery, mock_fetch, mock_archive,
- mock_packages):
+def test_load_fails_no_shell(install_mockery, mock_fetch, mock_archive, mock_packages):
"""Test that spack load prints an error message without a shell."""
- install('mpileaks')
+ install("mpileaks")
- out = load('mpileaks', fail_on_error=False)
+ out = load("mpileaks", fail_on_error=False)
assert "To set up shell support" in out
-def test_unload(install_mockery, mock_fetch, mock_archive, mock_packages,
- working_env):
+def test_unload(install_mockery, mock_fetch, mock_archive, mock_packages, working_env):
"""Tests that any variables set in the user environment are undone by the
unload command"""
- install('mpileaks')
- mpileaks_spec = spack.spec.Spec('mpileaks').concretized()
+ install("mpileaks")
+ mpileaks_spec = spack.spec.Spec("mpileaks").concretized()
# Set so unload has something to do
- os.environ['FOOBAR'] = 'mpileaks'
- os.environ[uenv.spack_loaded_hashes_var] = '%s:%s' % (
- mpileaks_spec.dag_hash(), 'garbage')
+ os.environ["FOOBAR"] = "mpileaks"
+ os.environ[uenv.spack_loaded_hashes_var] = "%s:%s" % (mpileaks_spec.dag_hash(), "garbage")
- sh_out = unload('--sh', 'mpileaks')
- csh_out = unload('--csh', 'mpileaks')
+ sh_out = unload("--sh", "mpileaks")
+ csh_out = unload("--csh", "mpileaks")
- assert 'unset FOOBAR' in sh_out
- assert 'unsetenv FOOBAR' in csh_out
+ assert "unset FOOBAR" in sh_out
+ assert "unsetenv FOOBAR" in csh_out
- assert 'export %s=garbage' % uenv.spack_loaded_hashes_var in sh_out
- assert 'setenv %s garbage' % uenv.spack_loaded_hashes_var in csh_out
+ assert "export %s=garbage" % uenv.spack_loaded_hashes_var in sh_out
+ assert "setenv %s garbage" % uenv.spack_loaded_hashes_var in csh_out
-def test_unload_fails_no_shell(install_mockery, mock_fetch, mock_archive,
- mock_packages, working_env):
+def test_unload_fails_no_shell(
+ install_mockery, mock_fetch, mock_archive, mock_packages, working_env
+):
"""Test that spack unload prints an error message without a shell."""
- install('mpileaks')
- mpileaks_spec = spack.spec.Spec('mpileaks').concretized()
+ install("mpileaks")
+ mpileaks_spec = spack.spec.Spec("mpileaks").concretized()
os.environ[uenv.spack_loaded_hashes_var] = mpileaks_spec.dag_hash()
- out = unload('mpileaks', fail_on_error=False)
+ out = unload("mpileaks", fail_on_error=False)
assert "To set up shell support" in out
diff --git a/lib/spack/spack/test/cmd/location.py b/lib/spack/spack/test/cmd/location.py
index ca7b302214..7e62b5902e 100644
--- a/lib/spack/spack/test/cmd/location.py
+++ b/lib/spack/spack/test/cmd/location.py
@@ -17,18 +17,19 @@ import spack.stage
from spack.main import SpackCommand, SpackCommandError
# Everything here uses (or can use) the mock config and database.
-pytestmark = [pytest.mark.usefixtures('config', 'database'),
- pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")]
+pytestmark = [
+ pytest.mark.usefixtures("config", "database"),
+ pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows"),
+]
# location prints out "locations of packages and spack directories"
-location = SpackCommand('location')
-env = SpackCommand('env')
+location = SpackCommand("location")
+env = SpackCommand("env")
@pytest.fixture
def mock_spec():
# Make it look like the source was actually expanded.
- s = spack.spec.Spec('externaltest').concretized()
+ s = spack.spec.Spec("externaltest").concretized()
source_path = s.package.stage.source_path
mkdirp(source_path)
yield s, s.package
@@ -39,31 +40,33 @@ def mock_spec():
def test_location_build_dir(mock_spec):
"""Tests spack location --build-dir."""
spec, pkg = mock_spec
- assert location('--build-dir', spec.name).strip() == pkg.stage.source_path
+ assert location("--build-dir", spec.name).strip() == pkg.stage.source_path
-@pytest.mark.regression('22738')
+@pytest.mark.regression("22738")
def test_location_source_dir(mock_spec):
"""Tests spack location --source-dir."""
spec, pkg = mock_spec
- assert location('--source-dir', spec.name).strip() == pkg.stage.source_path
+ assert location("--source-dir", spec.name).strip() == pkg.stage.source_path
assert location(spec.name).strip() == pkg.stage.source_path
def test_location_source_dir_missing():
"""Tests spack location --source-dir with a missing source directory."""
- spec = 'mpileaks'
+ spec = "mpileaks"
prefix = "==> Error: "
- expected = "%sSource directory does not exist yet. Run this to create it:"\
- "%s spack stage %s" % (prefix, os.linesep, spec)
- out = location('--source-dir', spec, fail_on_error=False).strip()
+ expected = (
+ "%sSource directory does not exist yet. Run this to create it:"
+ "%s spack stage %s" % (prefix, os.linesep, spec)
+ )
+ out = location("--source-dir", spec, fail_on_error=False).strip()
assert out == expected
-@pytest.mark.parametrize('options', [([]),
- (['--source-dir', 'mpileaks']),
- (['--env', 'missing-env']),
- (['spec1', 'spec2'])])
+@pytest.mark.parametrize(
+ "options",
+ [([]), (["--source-dir", "mpileaks"]), (["--env", "missing-env"]), (["spec1", "spec2"])],
+)
def test_location_cmd_error(options):
"""Ensure the proper error is raised with problematic location options."""
with pytest.raises(SpackCommandError, match="Command exited with code 1"):
@@ -74,7 +77,7 @@ def test_location_env_exists(mutable_mock_env_path):
"""Tests spack location --env <name> for an existing environment."""
e = ev.create("example")
e.write()
- assert location('--env', "example").strip() == e.path
+ assert location("--env", "example").strip() == e.path
def test_location_with_active_env(mutable_mock_env_path):
@@ -82,7 +85,7 @@ def test_location_with_active_env(mutable_mock_env_path):
e = ev.create("example")
e.write()
with e:
- assert location('--env').strip() == e.path
+ assert location("--env").strip() == e.path
def test_location_env_flag_interference(mutable_mock_env_path, tmpdir):
@@ -92,25 +95,25 @@ def test_location_env_flag_interference(mutable_mock_env_path, tmpdir):
"""
# create two environments
- env('create', 'first_env')
- env('create', 'second_env')
+ env("create", "first_env")
+ env("create", "second_env")
- global_args = ['-e', 'first_env']
+ global_args = ["-e", "first_env"]
# `spack -e first_env location -e second_env` should print the env
# path of second_env
- assert 'first_env' not in location('-e', 'second_env', global_args=global_args)
+ assert "first_env" not in location("-e", "second_env", global_args=global_args)
# `spack -e first_env location --packages` should not print
# the environment path of first_env.
- assert 'first_env' not in location('--packages', global_args=global_args)
+ assert "first_env" not in location("--packages", global_args=global_args)
def test_location_env_missing():
"""Tests spack location --env."""
- missing_env_name = 'missing-env'
+ missing_env_name = "missing-env"
error = "==> Error: no such environment: '%s'" % missing_env_name
- out = location('--env', missing_env_name, fail_on_error=False).strip()
+ out = location("--env", missing_env_name, fail_on_error=False).strip()
assert out == error
@@ -118,29 +121,34 @@ def test_location_env_missing():
def test_location_install_dir(mock_spec):
"""Tests spack location --install-dir."""
spec, _ = mock_spec
- assert location('--install-dir', spec.name).strip() == spec.prefix
+ assert location("--install-dir", spec.name).strip() == spec.prefix
@pytest.mark.db
def test_location_package_dir(mock_spec):
"""Tests spack location --package-dir."""
spec, pkg = mock_spec
- assert location('--package-dir', spec.name).strip() == pkg.package_dir
+ assert location("--package-dir", spec.name).strip() == pkg.package_dir
@pytest.mark.db
-@pytest.mark.parametrize('option,expected', [
- ('--module-dir', spack.paths.module_path),
- ('--packages', spack.paths.mock_packages_path),
- ('--spack-root', spack.paths.prefix)])
+@pytest.mark.parametrize(
+ "option,expected",
+ [
+ ("--module-dir", spack.paths.module_path),
+ ("--packages", spack.paths.mock_packages_path),
+ ("--spack-root", spack.paths.prefix),
+ ],
+)
def test_location_paths_options(option, expected):
"""Tests basic spack.paths location command options."""
assert location(option).strip() == expected
-@pytest.mark.parametrize('specs,expected', [
- ([], "You must supply a spec."),
- (['spec1', 'spec2'], "Too many specs. Supply only one.")])
+@pytest.mark.parametrize(
+ "specs,expected",
+ [([], "You must supply a spec."), (["spec1", "spec2"], "Too many specs. Supply only one.")],
+)
def test_location_spec_errors(specs, expected):
"""Tests spack location with bad spec options."""
error = "==> Error: %s" % expected
@@ -151,10 +159,10 @@ def test_location_spec_errors(specs, expected):
def test_location_stage_dir(mock_spec):
"""Tests spack location --stage-dir."""
spec, pkg = mock_spec
- assert location('--stage-dir', spec.name).strip() == pkg.stage.path
+ assert location("--stage-dir", spec.name).strip() == pkg.stage.path
@pytest.mark.db
def test_location_stages(mock_spec):
"""Tests spack location --stages."""
- assert location('--stages').strip() == spack.stage.get_stage_root()
+ assert location("--stages").strip() == spack.stage.get_stage_root()
diff --git a/lib/spack/spack/test/cmd/maintainers.py b/lib/spack/spack/test/cmd/maintainers.py
index e3f665d5da..2ac2fdf444 100644
--- a/lib/spack/spack/test/cmd/maintainers.py
+++ b/lib/spack/spack/test/cmd/maintainers.py
@@ -12,56 +12,69 @@ import pytest
import spack.main
import spack.repo
-maintainers = spack.main.SpackCommand('maintainers')
+maintainers = spack.main.SpackCommand("maintainers")
def split(output):
"""Split command line output into an array."""
output = output.strip()
- return re.split(r'\s+', output) if output else []
+ return re.split(r"\s+", output) if output else []
def test_maintained(mock_packages):
- out = split(maintainers('--maintained'))
- assert out == ['maintainers-1', 'maintainers-2']
+ out = split(maintainers("--maintained"))
+ assert out == ["maintainers-1", "maintainers-2"]
def test_unmaintained(mock_packages):
- out = split(maintainers('--unmaintained'))
+ out = split(maintainers("--unmaintained"))
assert out == sorted(
- set(spack.repo.all_package_names()) -
- set(['maintainers-1', 'maintainers-2']))
+ set(spack.repo.all_package_names()) - set(["maintainers-1", "maintainers-2"])
+ )
def test_all(mock_packages, capfd):
with capfd.disabled():
- out = split(maintainers('--all'))
+ out = split(maintainers("--all"))
assert out == [
- 'maintainers-1:', 'user1,', 'user2',
- 'maintainers-2:', 'user2,', 'user3',
+ "maintainers-1:",
+ "user1,",
+ "user2",
+ "maintainers-2:",
+ "user2,",
+ "user3",
]
with capfd.disabled():
- out = split(maintainers('--all', 'maintainers-1'))
+ out = split(maintainers("--all", "maintainers-1"))
assert out == [
- 'maintainers-1:', 'user1,', 'user2',
+ "maintainers-1:",
+ "user1,",
+ "user2",
]
def test_all_by_user(mock_packages, capfd):
with capfd.disabled():
- out = split(maintainers('--all', '--by-user'))
+ out = split(maintainers("--all", "--by-user"))
assert out == [
- 'user1:', 'maintainers-1',
- 'user2:', 'maintainers-1,', 'maintainers-2',
- 'user3:', 'maintainers-2',
+ "user1:",
+ "maintainers-1",
+ "user2:",
+ "maintainers-1,",
+ "maintainers-2",
+ "user3:",
+ "maintainers-2",
]
with capfd.disabled():
- out = split(maintainers('--all', '--by-user', 'user1', 'user2'))
+ out = split(maintainers("--all", "--by-user", "user1", "user2"))
assert out == [
- 'user1:', 'maintainers-1',
- 'user2:', 'maintainers-1,', 'maintainers-2',
+ "user1:",
+ "maintainers-1",
+ "user2:",
+ "maintainers-1,",
+ "maintainers-2",
]
@@ -72,47 +85,47 @@ def test_no_args(mock_packages):
def test_no_args_by_user(mock_packages):
with pytest.raises(spack.main.SpackCommandError):
- maintainers('--by-user')
+ maintainers("--by-user")
def test_mutex_args_fail(mock_packages):
with pytest.raises(SystemExit):
- maintainers('--maintained', '--unmaintained')
+ maintainers("--maintained", "--unmaintained")
def test_maintainers_list_packages(mock_packages, capfd):
with capfd.disabled():
- out = split(maintainers('maintainers-1'))
- assert out == ['user1', 'user2']
+ out = split(maintainers("maintainers-1"))
+ assert out == ["user1", "user2"]
with capfd.disabled():
- out = split(maintainers('maintainers-1', 'maintainers-2'))
- assert out == ['user1', 'user2', 'user3']
+ out = split(maintainers("maintainers-1", "maintainers-2"))
+ assert out == ["user1", "user2", "user3"]
with capfd.disabled():
- out = split(maintainers('maintainers-2'))
- assert out == ['user2', 'user3']
+ out = split(maintainers("maintainers-2"))
+ assert out == ["user2", "user3"]
def test_maintainers_list_fails(mock_packages, capfd):
- out = maintainers('a', fail_on_error=False)
+ out = maintainers("a", fail_on_error=False)
assert not out
assert maintainers.returncode == 1
def test_maintainers_list_by_user(mock_packages, capfd):
with capfd.disabled():
- out = split(maintainers('--by-user', 'user1'))
- assert out == ['maintainers-1']
+ out = split(maintainers("--by-user", "user1"))
+ assert out == ["maintainers-1"]
with capfd.disabled():
- out = split(maintainers('--by-user', 'user1', 'user2'))
- assert out == ['maintainers-1', 'maintainers-2']
+ out = split(maintainers("--by-user", "user1", "user2"))
+ assert out == ["maintainers-1", "maintainers-2"]
with capfd.disabled():
- out = split(maintainers('--by-user', 'user2'))
- assert out == ['maintainers-1', 'maintainers-2']
+ out = split(maintainers("--by-user", "user2"))
+ assert out == ["maintainers-1", "maintainers-2"]
with capfd.disabled():
- out = split(maintainers('--by-user', 'user3'))
- assert out == ['maintainers-2']
+ out = split(maintainers("--by-user", "user3"))
+ assert out == ["maintainers-2"]
diff --git a/lib/spack/spack/test/cmd/mark.py b/lib/spack/spack/test/cmd/mark.py
index d74c5df783..de708db694 100644
--- a/lib/spack/spack/test/cmd/mark.py
+++ b/lib/spack/spack/test/cmd/mark.py
@@ -10,64 +10,63 @@ import pytest
import spack.store
from spack.main import SpackCommand, SpackCommandError
-gc = SpackCommand('gc')
-mark = SpackCommand('mark')
-install = SpackCommand('install')
-uninstall = SpackCommand('uninstall')
+gc = SpackCommand("gc")
+mark = SpackCommand("mark")
+install = SpackCommand("install")
+uninstall = SpackCommand("uninstall")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.mark.db
def test_mark_mode_required(mutable_database):
with pytest.raises(SystemExit):
- mark('-a')
+ mark("-a")
@pytest.mark.db
def test_mark_spec_required(mutable_database):
with pytest.raises(SpackCommandError):
- mark('-i')
+ mark("-i")
@pytest.mark.db
def test_mark_all_explicit(mutable_database):
- mark('-e', '-a')
- gc('-y')
+ mark("-e", "-a")
+ gc("-y")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 15
@pytest.mark.db
def test_mark_all_implicit(mutable_database):
- mark('-i', '-a')
- gc('-y')
+ mark("-i", "-a")
+ gc("-y")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 0
@pytest.mark.db
def test_mark_one_explicit(mutable_database):
- mark('-e', 'libelf')
- uninstall('-y', '-a', 'mpileaks')
- gc('-y')
+ mark("-e", "libelf")
+ uninstall("-y", "-a", "mpileaks")
+ gc("-y")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 3
@pytest.mark.db
def test_mark_one_implicit(mutable_database):
- mark('-i', 'externaltest')
- gc('-y')
+ mark("-i", "externaltest")
+ gc("-y")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 14
@pytest.mark.db
def test_mark_all_implicit_then_explicit(mutable_database):
- mark('-i', '-a')
- mark('-e', '-a')
- gc('-y')
+ mark("-i", "-a")
+ mark("-e", "-a")
+ gc("-y")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 15
diff --git a/lib/spack/spack/test/cmd/mirror.py b/lib/spack/spack/test/cmd/mirror.py
index 0090e78e86..c3e322487a 100644
--- a/lib/spack/spack/test/cmd/mirror.py
+++ b/lib/spack/spack/test/cmd/mirror.py
@@ -12,31 +12,30 @@ import spack.config
import spack.environment as ev
from spack.main import SpackCommand, SpackCommandError
-mirror = SpackCommand('mirror')
-env = SpackCommand('env')
-add = SpackCommand('add')
-concretize = SpackCommand('concretize')
-install = SpackCommand('install')
-buildcache = SpackCommand('buildcache')
-uninstall = SpackCommand('uninstall')
+mirror = SpackCommand("mirror")
+env = SpackCommand("env")
+add = SpackCommand("add")
+concretize = SpackCommand("concretize")
+install = SpackCommand("install")
+buildcache = SpackCommand("buildcache")
+uninstall = SpackCommand("uninstall")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@pytest.fixture
def tmp_scope():
"""Creates a temporary configuration scope"""
- base_name = 'internal-testing-scope'
+ base_name = "internal-testing-scope"
current_overrides = set(
- x.name for x in
- spack.config.config.matching_scopes(r'^{0}'.format(base_name)))
+ x.name for x in spack.config.config.matching_scopes(r"^{0}".format(base_name))
+ )
num_overrides = 0
scope_name = base_name
while scope_name in current_overrides:
- scope_name = '{0}{1}'.format(base_name, num_overrides)
+ scope_name = "{0}{1}".format(base_name, num_overrides)
num_overrides += 1
with spack.config.override(spack.config.InternalConfigScope(scope_name)):
@@ -49,67 +48,72 @@ def _validate_url(url):
@pytest.fixture(autouse=True)
def url_check(monkeypatch):
- monkeypatch.setattr(spack.util.url, 'require_url_format', _validate_url)
+ monkeypatch.setattr(spack.util.url, "require_url_format", _validate_url)
@pytest.mark.disable_clean_stage_check
-@pytest.mark.regression('8083')
+@pytest.mark.regression("8083")
def test_regression_8083(tmpdir, capfd, mock_packages, mock_fetch, config):
with capfd.disabled():
- output = mirror('create', '-d', str(tmpdir), 'externaltool')
- assert 'Skipping' in output
- assert 'as it is an external spec' in output
+ output = mirror("create", "-d", str(tmpdir), "externaltool")
+ assert "Skipping" in output
+ assert "as it is an external spec" in output
-@pytest.mark.regression('12345')
-def test_mirror_from_env(tmpdir, mock_packages, mock_fetch, config,
- mutable_mock_env_path):
+@pytest.mark.regression("12345")
+def test_mirror_from_env(tmpdir, mock_packages, mock_fetch, config, mutable_mock_env_path):
mirror_dir = str(tmpdir)
- env_name = 'test'
+ env_name = "test"
- env('create', env_name)
+ env("create", env_name)
with ev.read(env_name):
- add('trivial-install-test-package')
- add('git-test')
+ add("trivial-install-test-package")
+ add("git-test")
concretize()
- with spack.config.override('config:checksum', False):
- mirror('create', '-d', mirror_dir, '--all')
+ with spack.config.override("config:checksum", False):
+ mirror("create", "-d", mirror_dir, "--all")
e = ev.read(env_name)
assert set(os.listdir(mirror_dir)) == set([s.name for s in e.user_specs])
for spec in e.specs_by_hash.values():
mirror_res = os.listdir(os.path.join(mirror_dir, spec.name))
- expected = ['%s.tar.gz' % spec.format('{name}-{version}')]
+ expected = ["%s.tar.gz" % spec.format("{name}-{version}")]
assert mirror_res == expected
@pytest.fixture
def source_for_pkg_with_hash(mock_packages, tmpdir):
- s = spack.spec.Spec('trivial-pkg-with-valid-hash').concretized()
+ s = spack.spec.Spec("trivial-pkg-with-valid-hash").concretized()
local_url_basename = os.path.basename(s.package.url)
local_path = os.path.join(str(tmpdir), local_url_basename)
- with open(local_path, 'w') as f:
+ with open(local_path, "w") as f:
f.write(s.package.hashed_content)
local_url = "file://" + local_path
- s.package.versions[spack.version.Version('1.0')]['url'] = local_url
+ s.package.versions[spack.version.Version("1.0")]["url"] = local_url
-def test_mirror_skip_unstable(tmpdir_factory, mock_packages, config,
- source_for_pkg_with_hash):
- mirror_dir = str(tmpdir_factory.mktemp('mirror-dir'))
+def test_mirror_skip_unstable(tmpdir_factory, mock_packages, config, source_for_pkg_with_hash):
+ mirror_dir = str(tmpdir_factory.mktemp("mirror-dir"))
- specs = [spack.spec.Spec(x).concretized() for x in
- ['git-test', 'trivial-pkg-with-valid-hash']]
+ specs = [spack.spec.Spec(x).concretized() for x in ["git-test", "trivial-pkg-with-valid-hash"]]
spack.mirror.create(mirror_dir, specs, skip_unstable_versions=True)
- assert (set(os.listdir(mirror_dir)) - set(['_source-cache']) ==
- set(['trivial-pkg-with-valid-hash']))
+ assert set(os.listdir(mirror_dir)) - set(["_source-cache"]) == set(
+ ["trivial-pkg-with-valid-hash"]
+ )
class MockMirrorArgs(object):
- def __init__(self, specs=None, all=False, file=None,
- versions_per_spec=None, dependencies=False,
- exclude_file=None, exclude_specs=None):
+ def __init__(
+ self,
+ specs=None,
+ all=False,
+ file=None,
+ versions_per_spec=None,
+ dependencies=False,
+ exclude_file=None,
+ exclude_specs=None,
+ ):
self.specs = specs or []
self.all = all
self.file = file
@@ -121,150 +125,166 @@ class MockMirrorArgs(object):
def test_exclude_specs(mock_packages, config):
args = MockMirrorArgs(
- specs=['mpich'],
- versions_per_spec='all',
- exclude_specs="mpich@3.0.1:3.0.2 mpich@1.0")
+ specs=["mpich"], versions_per_spec="all", exclude_specs="mpich@3.0.1:3.0.2 mpich@1.0"
+ )
mirror_specs = spack.cmd.mirror._determine_specs_to_mirror(args)
- expected_include = set(spack.spec.Spec(x) for x in
- ['mpich@3.0.3', 'mpich@3.0.4', 'mpich@3.0'])
- expected_exclude = set(spack.spec.Spec(x) for x in
- ['mpich@3.0.1', 'mpich@3.0.2', 'mpich@1.0'])
+ expected_include = set(spack.spec.Spec(x) for x in ["mpich@3.0.3", "mpich@3.0.4", "mpich@3.0"])
+ expected_exclude = set(spack.spec.Spec(x) for x in ["mpich@3.0.1", "mpich@3.0.2", "mpich@1.0"])
assert expected_include <= set(mirror_specs)
- assert (not expected_exclude & set(mirror_specs))
+ assert not expected_exclude & set(mirror_specs)
def test_exclude_file(mock_packages, tmpdir, config):
- exclude_path = os.path.join(str(tmpdir), 'test-exclude.txt')
- with open(exclude_path, 'w') as exclude_file:
- exclude_file.write("""\
+ exclude_path = os.path.join(str(tmpdir), "test-exclude.txt")
+ with open(exclude_path, "w") as exclude_file:
+ exclude_file.write(
+ """\
mpich@3.0.1:3.0.2
mpich@1.0
-""")
+"""
+ )
- args = MockMirrorArgs(
- specs=['mpich'],
- versions_per_spec='all',
- exclude_file=exclude_path)
+ args = MockMirrorArgs(specs=["mpich"], versions_per_spec="all", exclude_file=exclude_path)
mirror_specs = spack.cmd.mirror._determine_specs_to_mirror(args)
- expected_include = set(spack.spec.Spec(x) for x in
- ['mpich@3.0.3', 'mpich@3.0.4', 'mpich@3.0'])
- expected_exclude = set(spack.spec.Spec(x) for x in
- ['mpich@3.0.1', 'mpich@3.0.2', 'mpich@1.0'])
+ expected_include = set(spack.spec.Spec(x) for x in ["mpich@3.0.3", "mpich@3.0.4", "mpich@3.0"])
+ expected_exclude = set(spack.spec.Spec(x) for x in ["mpich@3.0.1", "mpich@3.0.2", "mpich@1.0"])
assert expected_include <= set(mirror_specs)
- assert (not expected_exclude & set(mirror_specs))
+ assert not expected_exclude & set(mirror_specs)
def test_mirror_crud(tmp_scope, capsys):
with capsys.disabled():
- mirror('add', '--scope', tmp_scope, 'mirror', 'http://spack.io')
+ mirror("add", "--scope", tmp_scope, "mirror", "http://spack.io")
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
- mirror('add', '--scope', tmp_scope, 'mirror', 'http://spack.io')
+ mirror("add", "--scope", tmp_scope, "mirror", "http://spack.io")
# no-op
- output = mirror('set-url', '--scope', tmp_scope,
- 'mirror', 'http://spack.io')
- assert 'No changes made' in output
+ output = mirror("set-url", "--scope", tmp_scope, "mirror", "http://spack.io")
+ assert "No changes made" in output
- output = mirror('set-url', '--scope', tmp_scope,
- '--push', 'mirror', 's3://spack-public')
- assert 'Changed (push) url' in output
+ output = mirror("set-url", "--scope", tmp_scope, "--push", "mirror", "s3://spack-public")
+ assert "Changed (push) url" in output
# no-op
- output = mirror('set-url', '--scope', tmp_scope,
- '--push', 'mirror', 's3://spack-public')
- assert 'No changes made' in output
+ output = mirror("set-url", "--scope", tmp_scope, "--push", "mirror", "s3://spack-public")
+ assert "No changes made" in output
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
# Test S3 connection info token
- mirror('add', '--scope', tmp_scope,
- '--s3-access-token', 'aaaaaazzzzz',
- 'mirror', 's3://spack-public')
-
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
+ mirror(
+ "add",
+ "--scope",
+ tmp_scope,
+ "--s3-access-token",
+ "aaaaaazzzzz",
+ "mirror",
+ "s3://spack-public",
+ )
+
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
# Test S3 connection info id/key
- mirror('add', '--scope', tmp_scope,
- '--s3-access-key-id', 'foo', '--s3-access-key-secret', 'bar',
- 'mirror', 's3://spack-public')
-
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
+ mirror(
+ "add",
+ "--scope",
+ tmp_scope,
+ "--s3-access-key-id",
+ "foo",
+ "--s3-access-key-secret",
+ "bar",
+ "mirror",
+ "s3://spack-public",
+ )
+
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
# Test S3 connection info with endpoint URL
- mirror('add', '--scope', tmp_scope,
- '--s3-access-token', 'aaaaaazzzzz',
- '--s3-endpoint-url', 'http://localhost/',
- 'mirror', 's3://spack-public')
-
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
-
- output = mirror('list', '--scope', tmp_scope)
- assert 'No mirrors configured' in output
+ mirror(
+ "add",
+ "--scope",
+ tmp_scope,
+ "--s3-access-token",
+ "aaaaaazzzzz",
+ "--s3-endpoint-url",
+ "http://localhost/",
+ "mirror",
+ "s3://spack-public",
+ )
+
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
+
+ output = mirror("list", "--scope", tmp_scope)
+ assert "No mirrors configured" in output
# Test GCS Mirror
- mirror('add', '--scope', tmp_scope,
- 'mirror', 'gs://spack-test')
+ mirror("add", "--scope", tmp_scope, "mirror", "gs://spack-test")
- output = mirror('remove', '--scope', tmp_scope, 'mirror')
- assert 'Removed mirror' in output
+ output = mirror("remove", "--scope", tmp_scope, "mirror")
+ assert "Removed mirror" in output
def test_mirror_nonexisting(tmp_scope):
with pytest.raises(SpackCommandError):
- mirror('remove', '--scope', tmp_scope, 'not-a-mirror')
+ mirror("remove", "--scope", tmp_scope, "not-a-mirror")
with pytest.raises(SpackCommandError):
- mirror('set-url', '--scope', tmp_scope,
- 'not-a-mirror', 'http://spack.io')
+ mirror("set-url", "--scope", tmp_scope, "not-a-mirror", "http://spack.io")
def test_mirror_name_collision(tmp_scope):
- mirror('add', '--scope', tmp_scope, 'first', '1')
+ mirror("add", "--scope", tmp_scope, "first", "1")
with pytest.raises(SpackCommandError):
- mirror('add', '--scope', tmp_scope, 'first', '1')
-
-
-def test_mirror_destroy(install_mockery_mutable_config,
- mock_packages, mock_fetch, mock_archive,
- mutable_config, monkeypatch, tmpdir):
+ mirror("add", "--scope", tmp_scope, "first", "1")
+
+
+def test_mirror_destroy(
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_fetch,
+ mock_archive,
+ mutable_config,
+ monkeypatch,
+ tmpdir,
+):
# Create a temp mirror directory for buildcache usage
- mirror_dir = tmpdir.join('mirror_dir')
- mirror_url = 'file://{0}'.format(mirror_dir.strpath)
- mirror('add', 'atest', mirror_url)
+ mirror_dir = tmpdir.join("mirror_dir")
+ mirror_url = "file://{0}".format(mirror_dir.strpath)
+ mirror("add", "atest", mirror_url)
- spec_name = 'libdwarf'
+ spec_name = "libdwarf"
# Put a binary package in a buildcache
- install('--no-cache', spec_name)
- buildcache('create', '-u', '-a', '-f', '-d', mirror_dir.strpath, spec_name)
+ install("--no-cache", spec_name)
+ buildcache("create", "-u", "-a", "-f", "-d", mirror_dir.strpath, spec_name)
contents = os.listdir(mirror_dir.strpath)
- assert('build_cache' in contents)
+ assert "build_cache" in contents
# Destroy mirror by name
- mirror('destroy', '-m', 'atest')
+ mirror("destroy", "-m", "atest")
- assert(not os.path.exists(mirror_dir.strpath))
+ assert not os.path.exists(mirror_dir.strpath)
- buildcache('create', '-u', '-a', '-f', '-d', mirror_dir.strpath, spec_name)
+ buildcache("create", "-u", "-a", "-f", "-d", mirror_dir.strpath, spec_name)
contents = os.listdir(mirror_dir.strpath)
- assert('build_cache' in contents)
+ assert "build_cache" in contents
# Destroy mirror by url
- mirror('destroy', '--mirror-url', mirror_url)
+ mirror("destroy", "--mirror-url", mirror_url)
- assert(not os.path.exists(mirror_dir.strpath))
+ assert not os.path.exists(mirror_dir.strpath)
- uninstall('-y', spec_name)
- mirror('remove', 'atest')
+ uninstall("-y", spec_name)
+ mirror("remove", "atest")
diff --git a/lib/spack/spack/test/cmd/module.py b/lib/spack/spack/test/cmd/module.py
index 0ff7cb78a6..1af511b85c 100644
--- a/lib/spack/spack/test/cmd/module.py
+++ b/lib/spack/spack/test/cmd/module.py
@@ -14,37 +14,34 @@ import spack.main
import spack.modules
import spack.store
-module = spack.main.SpackCommand('module')
+module = spack.main.SpackCommand("module")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
#: make sure module files are generated for all the tests here
-@pytest.fixture(scope='module', autouse=True)
-def ensure_module_files_are_there(
- mock_repo_path, mock_store, mock_configuration_scopes
-):
+@pytest.fixture(scope="module", autouse=True)
+def ensure_module_files_are_there(mock_repo_path, mock_store, mock_configuration_scopes):
"""Generate module files for module tests."""
- module = spack.main.SpackCommand('module')
+ module = spack.main.SpackCommand("module")
with spack.store.use_store(str(mock_store)):
with spack.config.use_configuration(*mock_configuration_scopes):
with spack.repo.use_repositories(mock_repo_path):
- module('tcl', 'refresh', '-y')
+ module("tcl", "refresh", "-y")
def _module_files(module_type, *specs):
specs = [spack.spec.Spec(x).concretized() for x in specs]
writer_cls = spack.modules.module_types[module_type]
- return [writer_cls(spec, 'default').layout.filename for spec in specs]
+ return [writer_cls(spec, "default").layout.filename for spec in specs]
@pytest.fixture(
params=[
- ['rm', 'doesnotexist'], # Try to remove a non existing module
- ['find', 'mpileaks'], # Try to find a module with multiple matches
- ['find', 'doesnotexist'], # Try to find a module with no matches
- ['find', '--unkown_args'], # Try to give an unknown argument
+ ["rm", "doesnotexist"], # Try to remove a non existing module
+ ["find", "mpileaks"], # Try to find a module with multiple matches
+ ["find", "doesnotexist"], # Try to find a module with no matches
+ ["find", "--unkown_args"], # Try to give an unknown argument
]
)
def failure_args(request):
@@ -52,9 +49,7 @@ def failure_args(request):
return request.param
-@pytest.fixture(
- params=['tcl', 'lmod']
-)
+@pytest.fixture(params=["tcl", "lmod"])
def module_type(request):
return request.param
@@ -63,6 +58,7 @@ def module_type(request):
# TODO : this requires having a separate directory for test modules
# TODO : add tests for loads and find to check the prompt format
+
@pytest.mark.db
def test_exit_with_failure(database, module_type, failure_args):
with pytest.raises(spack.main.SpackCommandError):
@@ -73,13 +69,13 @@ def test_exit_with_failure(database, module_type, failure_args):
def test_remove_and_add(database, module_type):
"""Tests adding and removing a tcl module file."""
- if module_type == 'lmod':
+ if module_type == "lmod":
# TODO: Testing this with lmod requires mocking
# TODO: the core compilers
return
- rm_cli_args = ['rm', '-y', 'mpileaks']
- module_files = _module_files(module_type, 'mpileaks')
+ rm_cli_args = ["rm", "-y", "mpileaks"]
+ module_files = _module_files(module_type, "mpileaks")
for item in module_files:
assert os.path.exists(item)
@@ -87,64 +83,59 @@ def test_remove_and_add(database, module_type):
for item in module_files:
assert not os.path.exists(item)
- module(module_type, 'refresh', '-y', 'mpileaks')
+ module(module_type, "refresh", "-y", "mpileaks")
for item in module_files:
assert os.path.exists(item)
@pytest.mark.db
-@pytest.mark.parametrize('cli_args', [
- ['libelf'],
- ['--full-path', 'libelf']
-])
+@pytest.mark.parametrize("cli_args", [["libelf"], ["--full-path", "libelf"]])
def test_find(database, cli_args, module_type):
- if module_type == 'lmod':
+ if module_type == "lmod":
# TODO: Testing this with lmod requires mocking
# TODO: the core compilers
return
- module(module_type, *(['find'] + cli_args))
+ module(module_type, *(["find"] + cli_args))
@pytest.mark.db
-@pytest.mark.usefixtures('database')
-@pytest.mark.regression('2215')
+@pytest.mark.usefixtures("database")
+@pytest.mark.regression("2215")
def test_find_fails_on_multiple_matches():
# As we installed multiple versions of mpileaks, the command will
# fail because of multiple matches
- out = module('tcl', 'find', 'mpileaks', fail_on_error=False)
+ out = module("tcl", "find", "mpileaks", fail_on_error=False)
assert module.returncode == 1
- assert 'matches multiple packages' in out
+ assert "matches multiple packages" in out
# Passing multiple packages from the command line also results in the
# same failure
- out = module(
- 'tcl', 'find', 'mpileaks ^mpich', 'libelf', fail_on_error=False
- )
+ out = module("tcl", "find", "mpileaks ^mpich", "libelf", fail_on_error=False)
assert module.returncode == 1
- assert 'matches multiple packages' in out
+ assert "matches multiple packages" in out
@pytest.mark.db
-@pytest.mark.usefixtures('database')
-@pytest.mark.regression('2570')
+@pytest.mark.usefixtures("database")
+@pytest.mark.regression("2570")
def test_find_fails_on_non_existing_packages():
# Another way the command might fail is if the package does not exist
- out = module('tcl', 'find', 'doesnotexist', fail_on_error=False)
+ out = module("tcl", "find", "doesnotexist", fail_on_error=False)
assert module.returncode == 1
- assert 'matches no package' in out
+ assert "matches no package" in out
@pytest.mark.db
-@pytest.mark.usefixtures('database')
+@pytest.mark.usefixtures("database")
def test_find_recursive():
# If we call find without options it should return only one module
- out = module('tcl', 'find', 'mpileaks ^zmpi')
+ out = module("tcl", "find", "mpileaks ^zmpi")
assert len(out.split()) == 1
# If instead we call it with the recursive option the length should
# be greater
- out = module('tcl', 'find', '-r', 'mpileaks ^zmpi')
+ out = module("tcl", "find", "-r", "mpileaks ^zmpi")
assert len(out.split()) > 1
@@ -154,8 +145,8 @@ def test_find_recursive():
def test_find_recursive_excluded(database, module_configuration, config_name):
module_configuration(config_name)
- module('lmod', 'refresh', '-y', '--delete-tree')
- module('lmod', 'find', '-r', 'mpileaks ^mpich')
+ module("lmod", "refresh", "-y", "--delete-tree")
+ module("lmod", "find", "-r", "mpileaks ^mpich")
@pytest.mark.db
@@ -164,14 +155,13 @@ def test_find_recursive_excluded(database, module_configuration, config_name):
def test_loads_recursive_excluded(database, module_configuration, config_name):
module_configuration(config_name)
- module('lmod', 'refresh', '-y', '--delete-tree')
- output = module('lmod', 'loads', '-r', 'mpileaks ^mpich')
- lines = output.split('\n')
+ module("lmod", "refresh", "-y", "--delete-tree")
+ output = module("lmod", "loads", "-r", "mpileaks ^mpich")
+ lines = output.split("\n")
- assert any(re.match(r'[^#]*module load.*mpileaks', ln) for ln in lines)
- assert not any(re.match(r'[^#]module load.*callpath', ln) for ln in lines)
- assert any(re.match(r'## excluded or missing.*callpath', ln)
- for ln in lines)
+ assert any(re.match(r"[^#]*module load.*mpileaks", ln) for ln in lines)
+ assert not any(re.match(r"[^#]module load.*callpath", ln) for ln in lines)
+ assert any(re.match(r"## excluded or missing.*callpath", ln) for ln in lines)
# TODO: currently there is no way to separate stdout and stderr when
# invoking a SpackCommand. Supporting this requires refactoring
@@ -185,46 +175,36 @@ writer_cls = spack.modules.lmod.LmodModulefileWriter
@pytest.mark.db
-def test_setdefault_command(
- mutable_database, mutable_config
-):
+def test_setdefault_command(mutable_database, mutable_config):
data = {
- 'default': {
- 'enable': ['lmod'],
- 'lmod': {
- 'core_compilers': ['clang@3.3'],
- 'hierarchy': ['mpi']
- }
+ "default": {
+ "enable": ["lmod"],
+ "lmod": {"core_compilers": ["clang@3.3"], "hierarchy": ["mpi"]},
}
}
- spack.config.set('modules', data)
+ spack.config.set("modules", data)
# Install two different versions of a package
- other_spec, preferred = 'a@1.0', 'a@2.0'
+ other_spec, preferred = "a@1.0", "a@2.0"
spack.spec.Spec(other_spec).concretized().package.do_install(fake=True)
spack.spec.Spec(preferred).concretized().package.do_install(fake=True)
writers = {
- preferred: writer_cls(
- spack.spec.Spec(preferred).concretized(), 'default'),
- other_spec: writer_cls(
- spack.spec.Spec(other_spec).concretized(), 'default')
+ preferred: writer_cls(spack.spec.Spec(preferred).concretized(), "default"),
+ other_spec: writer_cls(spack.spec.Spec(other_spec).concretized(), "default"),
}
# Create two module files for the same software
- module('lmod', 'refresh', '-y', '--delete-tree', preferred, other_spec)
+ module("lmod", "refresh", "-y", "--delete-tree", preferred, other_spec)
# Assert initial directory state: no link and all module files present
- link_name = os.path.join(
- os.path.dirname(writers[preferred].layout.filename),
- 'default'
- )
+ link_name = os.path.join(os.path.dirname(writers[preferred].layout.filename), "default")
for k in preferred, other_spec:
assert os.path.exists(writers[k].layout.filename)
assert not os.path.exists(link_name)
# Set the default to be the other spec
- module('lmod', 'setdefault', other_spec)
+ module("lmod", "setdefault", other_spec)
# Check that a link named 'default' exists, and points to the right file
for k in preferred, other_spec:
@@ -233,7 +213,7 @@ def test_setdefault_command(
assert os.path.realpath(link_name) == writers[other_spec].layout.filename
# Reset the default to be the preferred spec
- module('lmod', 'setdefault', preferred)
+ module("lmod", "setdefault", preferred)
# Check that a link named 'default' exists, and points to the right file
for k in preferred, other_spec:
diff --git a/lib/spack/spack/test/cmd/pkg.py b/lib/spack/spack/test/cmd/pkg.py
index e43fca0535..141b3dd937 100644
--- a/lib/spack/spack/test/cmd/pkg.py
+++ b/lib/spack/spack/test/cmd/pkg.py
@@ -17,11 +17,10 @@ import spack.main
import spack.repo
from spack.util.executable import which
-pytestmark = pytest.mark.skipif(not which('git'),
- reason="spack pkg tests require git")
+pytestmark = pytest.mark.skipif(not which("git"), reason="spack pkg tests require git")
#: new fake package template
-pkg_template = '''\
+pkg_template = """\
from spack.package import *
class {name}(Package):
@@ -32,217 +31,208 @@ class {name}(Package):
def install(self, spec, prefix):
pass
-'''
+"""
-abc = set(('pkg-a', 'pkg-b', 'pkg-c'))
-abd = set(('pkg-a', 'pkg-b', 'pkg-d'))
+abc = set(("pkg-a", "pkg-b", "pkg-c"))
+abd = set(("pkg-a", "pkg-b", "pkg-d"))
# Force all tests to use a git repository *in* the mock packages repo.
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def mock_pkg_git_repo(tmpdir_factory):
"""Copy the builtin.mock repo and make a mutable git repo inside it."""
- tmproot = tmpdir_factory.mktemp('mock_pkg_git_repo')
- repo_path = tmproot.join('builtin.mock')
+ tmproot = tmpdir_factory.mktemp("mock_pkg_git_repo")
+ repo_path = tmproot.join("builtin.mock")
shutil.copytree(spack.paths.mock_packages_path, str(repo_path))
mock_repo = spack.repo.RepoPath(str(repo_path))
mock_repo_packages = mock_repo.repos[0].packages_path
- git = which('git', required=True)
+ git = which("git", required=True)
with working_dir(mock_repo_packages):
- git('init')
+ git("init")
# initial commit with mock packages
# the -f is necessary in case people ignore build-* in their ignores
- git('add', '-f', '.')
- git('config', 'user.email', 'testing@spack.io')
- git('config', 'user.name', 'Spack Testing')
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'initial mock repo commit')
+ git("add", "-f", ".")
+ git("config", "user.email", "testing@spack.io")
+ git("config", "user.name", "Spack Testing")
+ git("-c", "commit.gpgsign=false", "commit", "-m", "initial mock repo commit")
# add commit with pkg-a, pkg-b, pkg-c packages
- mkdirp('pkg-a', 'pkg-b', 'pkg-c')
- with open('pkg-a/package.py', 'w') as f:
- f.write(pkg_template.format(name='PkgA'))
- with open('pkg-b/package.py', 'w') as f:
- f.write(pkg_template.format(name='PkgB'))
- with open('pkg-c/package.py', 'w') as f:
- f.write(pkg_template.format(name='PkgC'))
- git('add', 'pkg-a', 'pkg-b', 'pkg-c')
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'add pkg-a, pkg-b, pkg-c')
+ mkdirp("pkg-a", "pkg-b", "pkg-c")
+ with open("pkg-a/package.py", "w") as f:
+ f.write(pkg_template.format(name="PkgA"))
+ with open("pkg-b/package.py", "w") as f:
+ f.write(pkg_template.format(name="PkgB"))
+ with open("pkg-c/package.py", "w") as f:
+ f.write(pkg_template.format(name="PkgC"))
+ git("add", "pkg-a", "pkg-b", "pkg-c")
+ git("-c", "commit.gpgsign=false", "commit", "-m", "add pkg-a, pkg-b, pkg-c")
# remove pkg-c, add pkg-d
- with open('pkg-b/package.py', 'a') as f:
- f.write('\n# change pkg-b')
- git('add', 'pkg-b')
- mkdirp('pkg-d')
- with open('pkg-d/package.py', 'w') as f:
- f.write(pkg_template.format(name='PkgD'))
- git('add', 'pkg-d')
- git('rm', '-rf', 'pkg-c')
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'change pkg-b, remove pkg-c, add pkg-d')
+ with open("pkg-b/package.py", "a") as f:
+ f.write("\n# change pkg-b")
+ git("add", "pkg-b")
+ mkdirp("pkg-d")
+ with open("pkg-d/package.py", "w") as f:
+ f.write(pkg_template.format(name="PkgD"))
+ git("add", "pkg-d")
+ git("rm", "-rf", "pkg-c")
+ git("-c", "commit.gpgsign=false", "commit", "-m", "change pkg-b, remove pkg-c, add pkg-d")
with spack.repo.use_repositories(mock_repo):
yield mock_repo_packages
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def mock_pkg_names():
- repo = spack.repo.path.get_repo('builtin.mock')
- names = set(name for name in repo.all_package_names()
- if not name.startswith('pkg-'))
+ repo = spack.repo.path.get_repo("builtin.mock")
+ names = set(name for name in repo.all_package_names() if not name.startswith("pkg-"))
return names
def split(output):
"""Split command line output into an array."""
output = output.strip()
- return re.split(r'\s+', output) if output else []
+ return re.split(r"\s+", output) if output else []
-pkg = spack.main.SpackCommand('pkg')
+pkg = spack.main.SpackCommand("pkg")
def test_packages_path():
- assert (spack.repo.packages_path() ==
- spack.repo.path.get_repo('builtin').packages_path)
+ assert spack.repo.packages_path() == spack.repo.path.get_repo("builtin").packages_path
def test_mock_packages_path(mock_packages):
- assert (spack.repo.packages_path() ==
- spack.repo.path.get_repo('builtin.mock').packages_path)
+ assert spack.repo.packages_path() == spack.repo.path.get_repo("builtin.mock").packages_path
def test_pkg_add(mock_pkg_git_repo):
with working_dir(mock_pkg_git_repo):
- mkdirp('pkg-e')
- with open('pkg-e/package.py', 'w') as f:
- f.write(pkg_template.format(name='PkgE'))
+ mkdirp("pkg-e")
+ with open("pkg-e/package.py", "w") as f:
+ f.write(pkg_template.format(name="PkgE"))
- pkg('add', 'pkg-e')
+ pkg("add", "pkg-e")
- git = which('git', required=True)
+ git = which("git", required=True)
with working_dir(mock_pkg_git_repo):
try:
- assert ('A pkg-e/package.py' in
- git('status', '--short', output=str))
+ assert "A pkg-e/package.py" in git("status", "--short", output=str)
finally:
- shutil.rmtree('pkg-e')
+ shutil.rmtree("pkg-e")
# Removing a package mid-run disrupts Spack's caching
if spack.repo.path.repos[0]._fast_package_checker:
spack.repo.path.repos[0]._fast_package_checker.invalidate()
with pytest.raises(spack.main.SpackCommandError):
- pkg('add', 'does-not-exist')
+ pkg("add", "does-not-exist")
-@pytest.mark.skipif(sys.platform == 'win32', reason="stdout format conflict")
+@pytest.mark.skipif(sys.platform == "win32", reason="stdout format conflict")
def test_pkg_list(mock_pkg_git_repo, mock_pkg_names):
- out = split(pkg('list', 'HEAD^^'))
+ out = split(pkg("list", "HEAD^^"))
assert sorted(mock_pkg_names) == sorted(out)
- out = split(pkg('list', 'HEAD^'))
- assert sorted(
- mock_pkg_names.union(['pkg-a', 'pkg-b', 'pkg-c'])) == sorted(out)
+ out = split(pkg("list", "HEAD^"))
+ assert sorted(mock_pkg_names.union(["pkg-a", "pkg-b", "pkg-c"])) == sorted(out)
- out = split(pkg('list', 'HEAD'))
- assert sorted(
- mock_pkg_names.union(['pkg-a', 'pkg-b', 'pkg-d'])) == sorted(out)
+ out = split(pkg("list", "HEAD"))
+ assert sorted(mock_pkg_names.union(["pkg-a", "pkg-b", "pkg-d"])) == sorted(out)
# test with three dots to make sure pkg calls `git merge-base`
- out = split(pkg('list', 'HEAD^^...'))
+ out = split(pkg("list", "HEAD^^..."))
assert sorted(mock_pkg_names) == sorted(out)
-@pytest.mark.skipif(sys.platform == 'win32', reason="stdout format conflict")
+@pytest.mark.skipif(sys.platform == "win32", reason="stdout format conflict")
def test_pkg_diff(mock_pkg_git_repo, mock_pkg_names):
- out = split(pkg('diff', 'HEAD^^', 'HEAD^'))
- assert out == ['HEAD^:', 'pkg-a', 'pkg-b', 'pkg-c']
+ out = split(pkg("diff", "HEAD^^", "HEAD^"))
+ assert out == ["HEAD^:", "pkg-a", "pkg-b", "pkg-c"]
- out = split(pkg('diff', 'HEAD^^', 'HEAD'))
- assert out == ['HEAD:', 'pkg-a', 'pkg-b', 'pkg-d']
+ out = split(pkg("diff", "HEAD^^", "HEAD"))
+ assert out == ["HEAD:", "pkg-a", "pkg-b", "pkg-d"]
- out = split(pkg('diff', 'HEAD^', 'HEAD'))
- assert out == ['HEAD^:', 'pkg-c', 'HEAD:', 'pkg-d']
+ out = split(pkg("diff", "HEAD^", "HEAD"))
+ assert out == ["HEAD^:", "pkg-c", "HEAD:", "pkg-d"]
-@pytest.mark.skipif(sys.platform == 'win32', reason="stdout format conflict")
+@pytest.mark.skipif(sys.platform == "win32", reason="stdout format conflict")
def test_pkg_added(mock_pkg_git_repo):
- out = split(pkg('added', 'HEAD^^', 'HEAD^'))
- assert ['pkg-a', 'pkg-b', 'pkg-c'] == out
+ out = split(pkg("added", "HEAD^^", "HEAD^"))
+ assert ["pkg-a", "pkg-b", "pkg-c"] == out
- out = split(pkg('added', 'HEAD^^', 'HEAD'))
- assert ['pkg-a', 'pkg-b', 'pkg-d'] == out
+ out = split(pkg("added", "HEAD^^", "HEAD"))
+ assert ["pkg-a", "pkg-b", "pkg-d"] == out
- out = split(pkg('added', 'HEAD^', 'HEAD'))
- assert ['pkg-d'] == out
+ out = split(pkg("added", "HEAD^", "HEAD"))
+ assert ["pkg-d"] == out
- out = split(pkg('added', 'HEAD', 'HEAD'))
+ out = split(pkg("added", "HEAD", "HEAD"))
assert out == []
-@pytest.mark.skipif(sys.platform == 'win32', reason="stdout format conflict")
+@pytest.mark.skipif(sys.platform == "win32", reason="stdout format conflict")
def test_pkg_removed(mock_pkg_git_repo):
- out = split(pkg('removed', 'HEAD^^', 'HEAD^'))
+ out = split(pkg("removed", "HEAD^^", "HEAD^"))
assert out == []
- out = split(pkg('removed', 'HEAD^^', 'HEAD'))
+ out = split(pkg("removed", "HEAD^^", "HEAD"))
assert out == []
- out = split(pkg('removed', 'HEAD^', 'HEAD'))
- assert out == ['pkg-c']
+ out = split(pkg("removed", "HEAD^", "HEAD"))
+ assert out == ["pkg-c"]
-@pytest.mark.skipif(sys.platform == 'win32', reason="stdout format conflict")
+@pytest.mark.skipif(sys.platform == "win32", reason="stdout format conflict")
def test_pkg_changed(mock_pkg_git_repo):
- out = split(pkg('changed', 'HEAD^^', 'HEAD^'))
+ out = split(pkg("changed", "HEAD^^", "HEAD^"))
assert out == []
- out = split(pkg('changed', '--type', 'c', 'HEAD^^', 'HEAD^'))
+ out = split(pkg("changed", "--type", "c", "HEAD^^", "HEAD^"))
assert out == []
- out = split(pkg('changed', '--type', 'a', 'HEAD^^', 'HEAD^'))
- assert out == ['pkg-a', 'pkg-b', 'pkg-c']
+ out = split(pkg("changed", "--type", "a", "HEAD^^", "HEAD^"))
+ assert out == ["pkg-a", "pkg-b", "pkg-c"]
- out = split(pkg('changed', '--type', 'r', 'HEAD^^', 'HEAD^'))
+ out = split(pkg("changed", "--type", "r", "HEAD^^", "HEAD^"))
assert out == []
- out = split(pkg('changed', '--type', 'ar', 'HEAD^^', 'HEAD^'))
- assert out == ['pkg-a', 'pkg-b', 'pkg-c']
+ out = split(pkg("changed", "--type", "ar", "HEAD^^", "HEAD^"))
+ assert out == ["pkg-a", "pkg-b", "pkg-c"]
- out = split(pkg('changed', '--type', 'arc', 'HEAD^^', 'HEAD^'))
- assert out == ['pkg-a', 'pkg-b', 'pkg-c']
+ out = split(pkg("changed", "--type", "arc", "HEAD^^", "HEAD^"))
+ assert out == ["pkg-a", "pkg-b", "pkg-c"]
- out = split(pkg('changed', 'HEAD^', 'HEAD'))
- assert out == ['pkg-b']
+ out = split(pkg("changed", "HEAD^", "HEAD"))
+ assert out == ["pkg-b"]
- out = split(pkg('changed', '--type', 'c', 'HEAD^', 'HEAD'))
- assert out == ['pkg-b']
+ out = split(pkg("changed", "--type", "c", "HEAD^", "HEAD"))
+ assert out == ["pkg-b"]
- out = split(pkg('changed', '--type', 'a', 'HEAD^', 'HEAD'))
- assert out == ['pkg-d']
+ out = split(pkg("changed", "--type", "a", "HEAD^", "HEAD"))
+ assert out == ["pkg-d"]
- out = split(pkg('changed', '--type', 'r', 'HEAD^', 'HEAD'))
- assert out == ['pkg-c']
+ out = split(pkg("changed", "--type", "r", "HEAD^", "HEAD"))
+ assert out == ["pkg-c"]
- out = split(pkg('changed', '--type', 'ar', 'HEAD^', 'HEAD'))
- assert out == ['pkg-c', 'pkg-d']
+ out = split(pkg("changed", "--type", "ar", "HEAD^", "HEAD"))
+ assert out == ["pkg-c", "pkg-d"]
- out = split(pkg('changed', '--type', 'arc', 'HEAD^', 'HEAD'))
- assert out == ['pkg-b', 'pkg-c', 'pkg-d']
+ out = split(pkg("changed", "--type", "arc", "HEAD^", "HEAD"))
+ assert out == ["pkg-b", "pkg-c", "pkg-d"]
# invalid type argument
with pytest.raises(spack.main.SpackCommandError):
- pkg('changed', '--type', 'foo')
+ pkg("changed", "--type", "foo")
def test_pkg_fails_when_not_git_repo(monkeypatch):
- monkeypatch.setattr(spack.cmd, 'spack_is_git_repo', lambda: False)
+ monkeypatch.setattr(spack.cmd, "spack_is_git_repo", lambda: False)
with pytest.raises(spack.main.SpackCommandError):
- pkg('added')
+ pkg("added")
def test_pkg_source_requires_one_arg(mock_packages):
diff --git a/lib/spack/spack/test/cmd/print_shell_vars.py b/lib/spack/spack/test/cmd/print_shell_vars.py
index ccc8e4c87d..9fdf1f4b26 100644
--- a/lib/spack/spack/test/cmd/print_shell_vars.py
+++ b/lib/spack/spack/test/cmd/print_shell_vars.py
@@ -7,7 +7,7 @@ from spack.main import print_setup_info
def test_print_shell_vars_sh(capsys):
- print_setup_info('sh')
+ print_setup_info("sh")
out, _ = capsys.readouterr()
assert "_sp_sys_type=" in out
@@ -17,7 +17,7 @@ def test_print_shell_vars_sh(capsys):
def test_print_shell_vars_csh(capsys):
- print_setup_info('csh')
+ print_setup_info("csh")
out, _ = capsys.readouterr()
assert "set _sp_sys_type = " in out
@@ -27,7 +27,7 @@ def test_print_shell_vars_csh(capsys):
def test_print_shell_vars_sh_modules(capsys):
- print_setup_info('sh', 'modules')
+ print_setup_info("sh", "modules")
out, _ = capsys.readouterr()
assert "_sp_sys_type=" in out
@@ -37,7 +37,7 @@ def test_print_shell_vars_sh_modules(capsys):
def test_print_shell_vars_csh_modules(capsys):
- print_setup_info('csh', 'modules')
+ print_setup_info("csh", "modules")
out, _ = capsys.readouterr()
assert "set _sp_sys_type = " in out
diff --git a/lib/spack/spack/test/cmd/providers.py b/lib/spack/spack/test/cmd/providers.py
index 44d56ca1a1..8b7cd44219 100644
--- a/lib/spack/spack/test/cmd/providers.py
+++ b/lib/spack/spack/test/cmd/providers.py
@@ -10,45 +10,55 @@ import pytest
from spack.main import SpackCommand
-providers = SpackCommand('providers')
+providers = SpackCommand("providers")
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Providers not currently supported on Windows")
+pytestmark = pytest.mark.skipif(
+ sys.platform == "win32", reason="Providers not currently supported on Windows"
+)
-@pytest.mark.parametrize('pkg', [
- ('mpi',),
- ('mpi@2',),
- ('mpi', 'lapack'),
- ('',) # Lists all the available virtual packages
-])
+@pytest.mark.parametrize(
+ "pkg",
+ [("mpi",), ("mpi@2",), ("mpi", "lapack"), ("",)], # Lists all the available virtual packages
+)
def test_it_just_runs(pkg):
providers(*pkg)
-@pytest.mark.parametrize('vpkg,provider_list', [
- (('mpi',), ['intel-mpi',
- 'intel-parallel-studio',
- 'mpich',
- 'mpilander',
- 'mvapich2',
- 'openmpi',
- 'openmpi@1.6.5',
- 'openmpi@1.7.5:',
- 'openmpi@2.0.0:',
- 'spectrum-mpi']),
- (('D', 'awk'), ['ldc', 'gawk', 'mawk']) # Call 2 virtual packages at once
-])
+@pytest.mark.parametrize(
+ "vpkg,provider_list",
+ [
+ (
+ ("mpi",),
+ [
+ "intel-mpi",
+ "intel-parallel-studio",
+ "mpich",
+ "mpilander",
+ "mvapich2",
+ "openmpi",
+ "openmpi@1.6.5",
+ "openmpi@1.7.5:",
+ "openmpi@2.0.0:",
+ "spectrum-mpi",
+ ],
+ ),
+ (("D", "awk"), ["ldc", "gawk", "mawk"]), # Call 2 virtual packages at once
+ ],
+)
def test_provider_lists(vpkg, provider_list):
output = providers(*vpkg)
for item in provider_list:
assert item in output
-@pytest.mark.parametrize('pkg,error_cls', [
- ('zlib', ValueError),
- ('foo', ValueError) # Trying to call with a package that does not exist
-])
+@pytest.mark.parametrize(
+ "pkg,error_cls",
+ [
+ ("zlib", ValueError),
+ ("foo", ValueError), # Trying to call with a package that does not exist
+ ],
+)
def test_it_just_fails(pkg, error_cls):
with pytest.raises(error_cls):
providers(pkg)
diff --git a/lib/spack/spack/test/cmd/python.py b/lib/spack/spack/test/cmd/python.py
index 919acc0407..34964d9806 100644
--- a/lib/spack/spack/test/cmd/python.py
+++ b/lib/spack/spack/test/cmd/python.py
@@ -11,21 +11,21 @@ import pytest
import spack
from spack.main import SpackCommand
-python = SpackCommand('python')
+python = SpackCommand("python")
def test_python():
- out = python('-c', 'import spack; print(spack.spack_version)')
+ out = python("-c", "import spack; print(spack.spack_version)")
assert out.strip() == spack.spack_version
def test_python_interpreter_path():
- out = python('--path')
+ out = python("--path")
assert out.strip() == sys.executable
def test_python_version():
- out = python('-V')
+ out = python("-V")
assert platform.python_version() in out
@@ -35,9 +35,9 @@ def test_python_with_module():
# has no code associated with it, raises an error reliably in python
# 2 and 3, which indicates we successfully ran runpy.run_module.
with pytest.raises(ImportError, match="No code object"):
- python('-m', 'sys')
+ python("-m", "sys")
def test_python_raises():
- out = python('--foobar', fail_on_error=False)
+ out = python("--foobar", fail_on_error=False)
assert "Error: Unknown arguments" in out
diff --git a/lib/spack/spack/test/cmd/reindex.py b/lib/spack/spack/test/cmd/reindex.py
index 361b6bb152..cfa80e4020 100644
--- a/lib/spack/spack/test/cmd/reindex.py
+++ b/lib/spack/spack/test/cmd/reindex.py
@@ -10,18 +10,16 @@ import pytest
import spack.store
from spack.main import SpackCommand
-install = SpackCommand('install')
-deprecate = SpackCommand('deprecate')
-reindex = SpackCommand('reindex')
+install = SpackCommand("install")
+deprecate = SpackCommand("deprecate")
+reindex = SpackCommand("reindex")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-def test_reindex_basic(mock_packages, mock_archive, mock_fetch,
- install_mockery):
- install('libelf@0.8.13')
- install('libelf@0.8.12')
+def test_reindex_basic(mock_packages, mock_archive, mock_fetch, install_mockery):
+ install("libelf@0.8.13")
+ install("libelf@0.8.12")
all_installed = spack.store.db.query()
@@ -30,10 +28,9 @@ def test_reindex_basic(mock_packages, mock_archive, mock_fetch,
assert spack.store.db.query() == all_installed
-def test_reindex_db_deleted(mock_packages, mock_archive, mock_fetch,
- install_mockery):
- install('libelf@0.8.13')
- install('libelf@0.8.12')
+def test_reindex_db_deleted(mock_packages, mock_archive, mock_fetch, install_mockery):
+ install("libelf@0.8.13")
+ install("libelf@0.8.12")
all_installed = spack.store.db.query()
@@ -43,12 +40,13 @@ def test_reindex_db_deleted(mock_packages, mock_archive, mock_fetch,
assert spack.store.db.query() == all_installed
-def test_reindex_with_deprecated_packages(mock_packages, mock_archive,
- mock_fetch, install_mockery):
- install('libelf@0.8.13')
- install('libelf@0.8.12')
+def test_reindex_with_deprecated_packages(
+ mock_packages, mock_archive, mock_fetch, install_mockery
+):
+ install("libelf@0.8.13")
+ install("libelf@0.8.12")
- deprecate('-y', 'libelf@0.8.12', 'libelf@0.8.13')
+ deprecate("-y", "libelf@0.8.12", "libelf@0.8.13")
all_installed = spack.store.db.query(installed=any)
non_deprecated = spack.store.db.query(installed=True)
diff --git a/lib/spack/spack/test/cmd/repo.py b/lib/spack/spack/test/cmd/repo.py
index 7fa5027699..8285af5039 100644
--- a/lib/spack/spack/test/cmd/repo.py
+++ b/lib/spack/spack/test/cmd/repo.py
@@ -8,29 +8,29 @@ import pytest
import spack.main
-repo = spack.main.SpackCommand('repo')
+repo = spack.main.SpackCommand("repo")
def test_help_option():
# Test 'spack repo --help' to check basic import works
# and the command exits successfully
with pytest.raises(SystemExit):
- repo('--help')
+ repo("--help")
assert repo.returncode in (None, 0)
def test_create_add_list_remove(mutable_config, tmpdir):
# Create a new repository and check that the expected
# files are there
- repo('create', str(tmpdir), 'mockrepo')
- assert os.path.exists(os.path.join(str(tmpdir), 'repo.yaml'))
+ repo("create", str(tmpdir), "mockrepo")
+ assert os.path.exists(os.path.join(str(tmpdir), "repo.yaml"))
# Add the new repository and check it appears in the list output
- repo('add', '--scope=site', str(tmpdir))
- output = repo('list', '--scope=site', output=str)
- assert 'mockrepo' in output
+ repo("add", "--scope=site", str(tmpdir))
+ output = repo("list", "--scope=site", output=str)
+ assert "mockrepo" in output
# Then remove it and check it's not there
- repo('remove', '--scope=site', str(tmpdir))
- output = repo('list', '--scope=site', output=str)
- assert 'mockrepo' not in output
+ repo("remove", "--scope=site", str(tmpdir))
+ output = repo("list", "--scope=site", output=str)
+ assert "mockrepo" not in output
diff --git a/lib/spack/spack/test/cmd/resource.py b/lib/spack/spack/test/cmd/resource.py
index c6dd537693..9fa99d3155 100644
--- a/lib/spack/spack/test/cmd/resource.py
+++ b/lib/spack/spack/test/cmd/resource.py
@@ -7,73 +7,79 @@ import sys
from spack.main import SpackCommand
-is_windows = sys.platform == 'win32'
-resource = SpackCommand('resource')
+is_windows = sys.platform == "win32"
+resource = SpackCommand("resource")
#: these are hashes used in mock packages
-mock_hashes = [
- 'abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- '1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd',
- 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c',
- 'c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8',
- '24eceabef5fe8f575ff4b438313dc3e7b30f6a2d1c78841fbbe3b9293a589277',
- '689b8f9b32cb1d2f9271d29ea3fca2e1de5df665e121fca14e1364b711450deb',
- '208fcfb50e5a965d5757d151b675ca4af4ce2dfd56401721b6168fae60ab798f',
- 'bf07a7fbb825fc0aae7bf4a1177b2b31fcf8a3feeaf7092761e18c859ee52a9c',
- '7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730',
-] if not is_windows else [
- 'abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- '1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd',
- 'd0df7988457ec999c148a4a2af25ce831bfaad13954ba18a4446374cb0aef55e',
- 'aeb16c4dec1087e39f2330542d59d9b456dd26d791338ae6d80b6ffd10c89dfa',
- 'mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- 'ff34cb21271d16dbf928374f610bb5dd593d293d311036ddae86c4846ff79070',
- 'bf874c7dd3a83cf370fdc17e496e341de06cd596b5c66dbf3c9bb7f6c139e3ee',
- '3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11'
-]
+mock_hashes = (
+ [
+ "abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd",
+ "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
+ "c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8",
+ "24eceabef5fe8f575ff4b438313dc3e7b30f6a2d1c78841fbbe3b9293a589277",
+ "689b8f9b32cb1d2f9271d29ea3fca2e1de5df665e121fca14e1364b711450deb",
+ "208fcfb50e5a965d5757d151b675ca4af4ce2dfd56401721b6168fae60ab798f",
+ "bf07a7fbb825fc0aae7bf4a1177b2b31fcf8a3feeaf7092761e18c859ee52a9c",
+ "7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730",
+ ]
+ if not is_windows
+ else [
+ "abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd",
+ "d0df7988457ec999c148a4a2af25ce831bfaad13954ba18a4446374cb0aef55e",
+ "aeb16c4dec1087e39f2330542d59d9b456dd26d791338ae6d80b6ffd10c89dfa",
+ "mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ "ff34cb21271d16dbf928374f610bb5dd593d293d311036ddae86c4846ff79070",
+ "bf874c7dd3a83cf370fdc17e496e341de06cd596b5c66dbf3c9bb7f6c139e3ee",
+ "3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11",
+ ]
+)
def test_resource_list(mock_packages, capfd):
with capfd.disabled():
- out = resource('list')
+ out = resource("list")
for h in mock_hashes:
assert h in out
- assert 'url:' in out
- assert 'applies to:' in out
- assert 'patched by:' in out
- assert 'path:' in out
+ assert "url:" in out
+ assert "applies to:" in out
+ assert "patched by:" in out
+ assert "path:" in out
- assert os.path.join('repos', 'builtin.mock', 'packages',
- 'patch-a-dependency', 'libelf.patch') in out
- assert 'applies to: builtin.mock.libelf' in out
- assert 'patched by: builtin.mock.patch-a-dependency' in out
+ assert (
+ os.path.join("repos", "builtin.mock", "packages", "patch-a-dependency", "libelf.patch")
+ in out
+ )
+ assert "applies to: builtin.mock.libelf" in out
+ assert "patched by: builtin.mock.patch-a-dependency" in out
def test_resource_list_only_hashes(mock_packages, capfd):
with capfd.disabled():
- out = resource('list', '--only-hashes')
+ out = resource("list", "--only-hashes")
for h in mock_hashes:
assert h in out
def test_resource_show(mock_packages, capfd):
- test_hash = 'c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8' \
- if not is_windows \
- else '3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11'
+ test_hash = (
+ "c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8"
+ if not is_windows
+ else "3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11"
+ )
with capfd.disabled():
- out = resource('show', test_hash)
+ out = resource("show", test_hash)
assert out.startswith(test_hash)
- assert os.path.join(
- 'repos',
- 'builtin.mock',
- 'packages',
- 'patch-a-dependency',
- 'libelf.patch') in out
- assert 'applies to: builtin.mock.libelf' in out
- assert 'patched by: builtin.mock.patch-a-dependency' in out
+ assert (
+ os.path.join("repos", "builtin.mock", "packages", "patch-a-dependency", "libelf.patch")
+ in out
+ )
+ assert "applies to: builtin.mock.libelf" in out
+ assert "patched by: builtin.mock.patch-a-dependency" in out
- assert len(out.strip().split('\n')) == 4
+ assert len(out.strip().split("\n")) == 4
diff --git a/lib/spack/spack/test/cmd/spec.py b/lib/spack/spack/test/cmd/spec.py
index 1dfe20c780..b6a6281bf7 100644
--- a/lib/spack/spack/test/cmd/spec.py
+++ b/lib/spack/spack/test/cmd/spec.py
@@ -14,20 +14,20 @@ import spack.spec
import spack.store
from spack.main import SpackCommand, SpackCommandError
-pytestmark = pytest.mark.usefixtures('config', 'mutable_mock_repo')
+pytestmark = pytest.mark.usefixtures("config", "mutable_mock_repo")
-spec = SpackCommand('spec')
+spec = SpackCommand("spec")
def test_spec():
- output = spec('mpileaks')
+ output = spec("mpileaks")
- assert 'mpileaks@2.3' in output
- assert 'callpath@1.0' in output
- assert 'dyninst@8.2' in output
- assert 'libdwarf@20130729' in output
- assert 'libelf@0.8.1' in output
- assert 'mpich@3.0.4' in output
+ assert "mpileaks@2.3" in output
+ assert "callpath@1.0" in output
+ assert "dyninst@8.2" in output
+ assert "libdwarf@20130729" in output
+ assert "libelf@0.8.1" in output
+ assert "mpich@3.0.4" in output
def test_spec_concretizer_args(mutable_config, mutable_database):
@@ -37,8 +37,8 @@ def test_spec_concretizer_args(mutable_config, mutable_database):
options to `solver.py`, and that config options are not
lost along the way.
"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
# remove two non-preferred mpileaks installations
# so that reuse will pick up the zmpi one
@@ -60,19 +60,19 @@ def test_spec_concretizer_args(mutable_config, mutable_database):
def test_spec_parse_dependency_variant_value():
"""Verify that we can provide multiple key=value variants to multiple separate
packages within a spec string."""
- output = spec('multivalue-variant fee=barbaz ^ a foobar=baz')
+ output = spec("multivalue-variant fee=barbaz ^ a foobar=baz")
- assert 'fee=barbaz' in output
- assert 'foobar=baz' in output
+ assert "fee=barbaz" in output
+ assert "foobar=baz" in output
def test_spec_parse_cflags_quoting():
"""Verify that compiler flags can be provided to a spec from the command line."""
- output = spec('--yaml', 'gcc cflags="-Os -pipe" cxxflags="-flto -Os"')
+ output = spec("--yaml", 'gcc cflags="-Os -pipe" cxxflags="-flto -Os"')
gh_flagged = spack.spec.Spec.from_yaml(output)
- assert ['-Os', '-pipe'] == gh_flagged.compiler_flags['cflags']
- assert ['-flto', '-Os'] == gh_flagged.compiler_flags['cxxflags']
+ assert ["-Os", "-pipe"] == gh_flagged.compiler_flags["cflags"]
+ assert ["-flto", "-Os"] == gh_flagged.compiler_flags["cxxflags"]
def test_spec_parse_unquoted_flags_report():
@@ -82,9 +82,10 @@ def test_spec_parse_unquoted_flags_report():
with pytest.raises(spack.error.SpackError) as cm:
# We don't try to figure out how many following args were intended to be part of
# cflags, we just explain how to fix it for the immediate next arg.
- spec('gcc cflags=-Os -pipe -other-arg-that-gets-ignored cflags=-I /usr/include')
+ spec("gcc cflags=-Os -pipe -other-arg-that-gets-ignored cflags=-I /usr/include")
# Verify that the generated error message is nicely formatted.
- assert str(cm.value) == dedent('''\
+ assert str(cm.value) == dedent(
+ '''\
No installed spec matches the hash: 'usr'
Some compiler or linker flags were provided without quoting their arguments,
@@ -94,12 +95,13 @@ def test_spec_parse_unquoted_flags_report():
Possible flag quotation errors (with the correctly-quoted version after the =>):
(1) cflags=-Os -pipe => cflags="-Os -pipe"
- (2) cflags=-I /usr/include => cflags="-I /usr/include"''')
+ (2) cflags=-I /usr/include => cflags="-I /usr/include"'''
+ )
# Verify that the same unquoted cflags report is generated in the error message even
# if it fails during concretization, not just during parsing.
with pytest.raises(spack.error.SpackError) as cm:
- spec('gcc cflags=-Os -pipe')
+ spec("gcc cflags=-Os -pipe")
cm = str(cm.value)
assert cm.startswith(
'trying to set variant "pipe" in package "gcc", but the package has no such '
@@ -109,41 +111,41 @@ def test_spec_parse_unquoted_flags_report():
def test_spec_yaml():
- output = spec('--yaml', 'mpileaks')
+ output = spec("--yaml", "mpileaks")
mpileaks = spack.spec.Spec.from_yaml(output)
- assert 'mpileaks' in mpileaks
- assert 'callpath' in mpileaks
- assert 'dyninst' in mpileaks
- assert 'libdwarf' in mpileaks
- assert 'libelf' in mpileaks
- assert 'mpich' in mpileaks
+ assert "mpileaks" in mpileaks
+ assert "callpath" in mpileaks
+ assert "dyninst" in mpileaks
+ assert "libdwarf" in mpileaks
+ assert "libelf" in mpileaks
+ assert "mpich" in mpileaks
def test_spec_json():
- output = spec('--json', 'mpileaks')
+ output = spec("--json", "mpileaks")
mpileaks = spack.spec.Spec.from_json(output)
- assert 'mpileaks' in mpileaks
- assert 'callpath' in mpileaks
- assert 'dyninst' in mpileaks
- assert 'libdwarf' in mpileaks
- assert 'libelf' in mpileaks
- assert 'mpich' in mpileaks
+ assert "mpileaks" in mpileaks
+ assert "callpath" in mpileaks
+ assert "dyninst" in mpileaks
+ assert "libdwarf" in mpileaks
+ assert "libelf" in mpileaks
+ assert "mpich" in mpileaks
def test_spec_format(database, config):
- output = spec('--format', '{name}-{^mpi.name}', 'mpileaks^mpich')
- assert output.rstrip('\n') == "mpileaks-mpich"
+ output = spec("--format", "{name}-{^mpi.name}", "mpileaks^mpich")
+ assert output.rstrip("\n") == "mpileaks-mpich"
def _parse_types(string):
"""Parse deptypes for specs from `spack spec -t` output."""
- lines = string.strip().split('\n')
+ lines = string.strip().split("\n")
result = {}
for line in lines:
- match = re.match(r'\[([^]]*)\]\s*\^?([^@]*)@', line)
+ match = re.match(r"\[([^]]*)\]\s*\^?([^@]*)@", line)
if match:
types, name = match.groups()
result.setdefault(name, []).append(types)
@@ -152,23 +154,23 @@ def _parse_types(string):
def test_spec_deptypes_nodes():
- output = spec('--types', '--cover', 'nodes', 'dt-diamond')
+ output = spec("--types", "--cover", "nodes", "dt-diamond")
types = _parse_types(output)
- assert types['dt-diamond'] == [' ']
- assert types['dt-diamond-left'] == ['bl ']
- assert types['dt-diamond-right'] == ['bl ']
- assert types['dt-diamond-bottom'] == ['blr ']
+ assert types["dt-diamond"] == [" "]
+ assert types["dt-diamond-left"] == ["bl "]
+ assert types["dt-diamond-right"] == ["bl "]
+ assert types["dt-diamond-bottom"] == ["blr "]
def test_spec_deptypes_edges():
- output = spec('--types', '--cover', 'edges', 'dt-diamond')
+ output = spec("--types", "--cover", "edges", "dt-diamond")
types = _parse_types(output)
- assert types['dt-diamond'] == [' ']
- assert types['dt-diamond-left'] == ['bl ']
- assert types['dt-diamond-right'] == ['bl ']
- assert types['dt-diamond-bottom'] == ['b ', 'blr ']
+ assert types["dt-diamond"] == [" "]
+ assert types["dt-diamond-left"] == ["bl "]
+ assert types["dt-diamond-right"] == ["bl "]
+ assert types["dt-diamond-bottom"] == ["b ", "blr "]
def test_spec_returncode():
@@ -189,14 +191,14 @@ def test_spec_parse_error():
def test_env_aware_spec(mutable_mock_env_path):
- env = ev.create('test')
- env.add('mpileaks')
+ env = ev.create("test")
+ env.add("mpileaks")
with env:
output = spec()
- assert 'mpileaks@2.3' in output
- assert 'callpath@1.0' in output
- assert 'dyninst@8.2' in output
- assert 'libdwarf@20130729' in output
- assert 'libelf@0.8.1' in output
- assert 'mpich@3.0.4' in output
+ assert "mpileaks@2.3" in output
+ assert "callpath@1.0" in output
+ assert "dyninst@8.2" in output
+ assert "libdwarf@20130729" in output
+ assert "libelf@0.8.1" in output
+ assert "mpich@3.0.4" in output
diff --git a/lib/spack/spack/test/cmd/stage.py b/lib/spack/spack/test/cmd/stage.py
index 5dec5ca3ff..497bd648cf 100644
--- a/lib/spack/spack/test/cmd/stage.py
+++ b/lib/spack/spack/test/cmd/stage.py
@@ -14,96 +14,94 @@ import spack.repo
from spack.main import SpackCommand
from spack.version import Version
-stage = SpackCommand('stage')
-env = SpackCommand('env')
+stage = SpackCommand("stage")
+env = SpackCommand("env")
-pytestmark = pytest.mark.usefixtures('install_mockery', 'mock_packages')
+pytestmark = pytest.mark.usefixtures("install_mockery", "mock_packages")
-@pytest.mark.skipif(sys.platform == 'win32', reason="not implemented on windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="not implemented on windows")
def test_stage_spec(monkeypatch):
"""Verify that staging specs works."""
- expected = set(['trivial-install-test-package', 'mpileaks'])
+ expected = set(["trivial-install-test-package", "mpileaks"])
def fake_stage(pkg, mirror_only=False):
expected.remove(pkg.name)
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_stage', fake_stage)
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_stage", fake_stage)
- stage('trivial-install-test-package', 'mpileaks')
+ stage("trivial-install-test-package", "mpileaks")
assert len(expected) == 0
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def check_stage_path(monkeypatch, tmpdir):
- expected_path = os.path.join(str(tmpdir), 'x')
+ expected_path = os.path.join(str(tmpdir), "x")
def fake_stage(pkg, mirror_only=False):
assert pkg.path == expected_path
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_stage', fake_stage)
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_stage", fake_stage)
return expected_path
-@pytest.mark.skipif(sys.platform == 'win32', reason="PermissionError")
+@pytest.mark.skipif(sys.platform == "win32", reason="PermissionError")
def test_stage_path(check_stage_path):
"""Verify that --path only works with single specs."""
- stage('--path={0}'.format(check_stage_path), 'trivial-install-test-package')
+ stage("--path={0}".format(check_stage_path), "trivial-install-test-package")
def test_stage_path_errors_multiple_specs(check_stage_path):
"""Verify that --path only works with single specs."""
with pytest.raises(spack.main.SpackCommandError):
- stage('--path={0}'.format(check_stage_path),
- 'trivial-install-test-package',
- 'mpileaks')
+ stage("--path={0}".format(check_stage_path), "trivial-install-test-package", "mpileaks")
-@pytest.mark.skipif(sys.platform == 'win32', reason="not implemented on windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="not implemented on windows")
def test_stage_with_env_outside_env(mutable_mock_env_path, monkeypatch):
"""Verify that stage concretizes specs not in environment instead of erroring."""
def fake_stage(pkg, mirror_only=False):
- assert pkg.name == 'trivial-install-test-package'
+ assert pkg.name == "trivial-install-test-package"
assert pkg.path is None
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_stage', fake_stage)
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_stage", fake_stage)
- e = ev.create('test')
- e.add('mpileaks')
+ e = ev.create("test")
+ e.add("mpileaks")
e.concretize()
with e:
- stage('trivial-install-test-package')
+ stage("trivial-install-test-package")
-@pytest.mark.skipif(sys.platform == 'win32', reason="not implemented on windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="not implemented on windows")
def test_stage_with_env_inside_env(mutable_mock_env_path, monkeypatch):
"""Verify that stage filters specs in environment instead of reconcretizing."""
def fake_stage(pkg, mirror_only=False):
- assert pkg.name == 'mpileaks'
- assert pkg.version == Version('100.100')
+ assert pkg.name == "mpileaks"
+ assert pkg.version == Version("100.100")
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_stage', fake_stage)
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_stage", fake_stage)
- e = ev.create('test')
- e.add('mpileaks@100.100')
+ e = ev.create("test")
+ e.add("mpileaks@100.100")
e.concretize()
with e:
- stage('mpileaks')
+ stage("mpileaks")
-@pytest.mark.skipif(sys.platform == 'win32', reason="not implemented on windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="not implemented on windows")
def test_stage_full_env(mutable_mock_env_path, monkeypatch):
"""Verify that stage filters specs in environment."""
- e = ev.create('test')
- e.add('mpileaks@100.100')
+ e = ev.create("test")
+ e.add("mpileaks@100.100")
e.concretize()
# list all the package names that should be staged
@@ -116,7 +114,7 @@ def test_stage_full_env(mutable_mock_env_path, monkeypatch):
def fake_stage(pkg, mirror_only=False):
expected.remove(pkg.name)
- monkeypatch.setattr(spack.package_base.PackageBase, 'do_stage', fake_stage)
+ monkeypatch.setattr(spack.package_base.PackageBase, "do_stage", fake_stage)
with e:
stage()
diff --git a/lib/spack/spack/test/cmd/tags.py b/lib/spack/spack/test/cmd/tags.py
index 91c4621fb8..7304ad249a 100644
--- a/lib/spack/spack/test/cmd/tags.py
+++ b/lib/spack/spack/test/cmd/tags.py
@@ -7,55 +7,55 @@ import spack.main
import spack.repo
import spack.spec
-tags = spack.main.SpackCommand('tags')
+tags = spack.main.SpackCommand("tags")
def test_tags_bad_options():
- out = tags('-a', 'tag1', fail_on_error=False)
+ out = tags("-a", "tag1", fail_on_error=False)
assert "option OR provide" in out
def test_tags_no_installed(install_mockery, mock_fetch):
- out = tags('-i')
- assert 'No installed' in out
+ out = tags("-i")
+ assert "No installed" in out
def test_tags_invalid_tag(mock_packages):
- out = tags('nosuchtag')
- assert 'None' in out
+ out = tags("nosuchtag")
+ assert "None" in out
def test_tags_all_mock_tags(mock_packages):
out = tags()
- for tag in ['tag1', 'tag2', 'tag3']:
+ for tag in ["tag1", "tag2", "tag3"]:
assert tag in out
def test_tags_all_mock_tag_packages(mock_packages):
- out = tags('-a')
- for pkg in ['mpich\n', 'mpich2\n']:
+ out = tags("-a")
+ for pkg in ["mpich\n", "mpich2\n"]:
assert pkg in out
def test_tags_no_tags(monkeypatch):
- class tag_path():
+ class tag_path:
tag_index = dict()
- monkeypatch.setattr(spack.repo, 'path', tag_path)
+ monkeypatch.setattr(spack.repo, "path", tag_path)
out = tags()
assert "No tagged" in out
def test_tags_installed(install_mockery, mock_fetch):
- s = spack.spec.Spec('mpich').concretized()
+ s = spack.spec.Spec("mpich").concretized()
s.package.do_install()
- out = tags('-i')
- for tag in ['tag1', 'tag2']:
+ out = tags("-i")
+ for tag in ["tag1", "tag2"]:
assert tag in out
- out = tags('-i', 'tag1')
- assert 'mpich' in out
+ out = tags("-i", "tag1")
+ assert "mpich" in out
- out = tags('-i', 'tag3')
- assert 'No installed' in out
+ out = tags("-i", "tag3")
+ assert "No installed" in out
diff --git a/lib/spack/spack/test/cmd/test.py b/lib/spack/spack/test/cmd/test.py
index 0555dc6ca1..bc5724e04e 100644
--- a/lib/spack/spack/test/cmd/test.py
+++ b/lib/spack/spack/test/cmd/test.py
@@ -18,27 +18,35 @@ import spack.paths
import spack.store
from spack.main import SpackCommand
-install = SpackCommand('install')
-spack_test = SpackCommand('test')
+install = SpackCommand("install")
+spack_test = SpackCommand("test")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_test_package_not_installed(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery_mutable_config, mock_test_stage):
+ tmpdir,
+ mock_packages,
+ mock_archive,
+ mock_fetch,
+ config,
+ install_mockery_mutable_config,
+ mock_test_stage,
+):
- output = spack_test('run', 'libdwarf')
+ output = spack_test("run", "libdwarf")
assert "No installed packages match spec libdwarf" in output
-@pytest.mark.parametrize('arguments,expected', [
- (['run'], spack.config.get('config:dirty')), # default from config file
- (['run', '--clean'], False),
- (['run', '--dirty'], True),
-])
+@pytest.mark.parametrize(
+ "arguments,expected",
+ [
+ (["run"], spack.config.get("config:dirty")), # default from config file
+ (["run", "--clean"], False),
+ (["run", "--dirty"], True),
+ ],
+)
def test_test_dirty_flag(arguments, expected):
parser = argparse.ArgumentParser()
spack.cmd.test.setup_parser(parser)
@@ -47,28 +55,28 @@ def test_test_dirty_flag(arguments, expected):
def test_test_dup_alias(
- mock_test_stage, mock_packages, mock_archive, mock_fetch,
- install_mockery_mutable_config, capfd):
+ mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config, capfd
+):
"""Ensure re-using an alias fails with suggestion to change."""
- install('libdwarf')
+ install("libdwarf")
# Run the tests with the alias once
- out = spack_test('run', '--alias', 'libdwarf', 'libdwarf')
+ out = spack_test("run", "--alias", "libdwarf", "libdwarf")
assert "Spack test libdwarf" in out
# Try again with the alias but don't let it fail on the error
with capfd.disabled():
- out = spack_test(
- 'run', '--alias', 'libdwarf', 'libdwarf', fail_on_error=False)
+ out = spack_test("run", "--alias", "libdwarf", "libdwarf", fail_on_error=False)
assert "already exists" in out
-def test_test_output(mock_test_stage, mock_packages, mock_archive, mock_fetch,
- install_mockery_mutable_config):
+def test_test_output(
+ mock_test_stage, mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config
+):
"""Ensure output printed from pkgs is captured by output redirection."""
- install('printing-package')
- spack_test('run', '--alias', 'printpkg', 'printing-package')
+ install("printing-package")
+ spack_test("run", "--alias", "printpkg", "printing-package")
stage_files = os.listdir(mock_test_stage)
assert len(stage_files) == 1
@@ -78,10 +86,9 @@ def test_test_output(mock_test_stage, mock_packages, mock_archive, mock_fetch,
testdir_files = os.listdir(testdir)
# Grab the output from the test log
- testlog = list(filter(lambda x: x.endswith('out.txt') and
- x != 'results.txt', testdir_files))
+ testlog = list(filter(lambda x: x.endswith("out.txt") and x != "results.txt", testdir_files))
outfile = os.path.join(testdir, testlog[0])
- with open(outfile, 'r') as f:
+ with open(outfile, "r") as f:
output = f.read()
assert "BEFORE TEST" in output
assert "true: expect command status in [" in output
@@ -90,61 +97,59 @@ def test_test_output(mock_test_stage, mock_packages, mock_archive, mock_fetch,
def test_test_output_on_error(
- mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config,
- capfd, mock_test_stage
+ mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config, capfd, mock_test_stage
):
- install('test-error')
+ install("test-error")
# capfd interferes with Spack's capturing
with capfd.disabled():
- out = spack_test('run', 'test-error', fail_on_error=False)
+ out = spack_test("run", "test-error", fail_on_error=False)
assert "TestFailure" in out
assert "Command exited with status 1" in out
def test_test_output_on_failure(
- mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config,
- capfd, mock_test_stage
+ mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config, capfd, mock_test_stage
):
- install('test-fail')
+ install("test-fail")
with capfd.disabled():
- out = spack_test('run', 'test-fail', fail_on_error=False)
+ out = spack_test("run", "test-fail", fail_on_error=False)
assert "Expected 'not in the output' to match output of `true`" in out
assert "TestFailure" in out
def test_show_log_on_error(
- mock_packages, mock_archive, mock_fetch,
- install_mockery_mutable_config, capfd, mock_test_stage
+ mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config, capfd, mock_test_stage
):
"""Make sure spack prints location of test log on failure."""
- install('test-error')
+ install("test-error")
with capfd.disabled():
- out = spack_test('run', 'test-error', fail_on_error=False)
+ out = spack_test("run", "test-error", fail_on_error=False)
- assert 'See test log' in out
+ assert "See test log" in out
assert mock_test_stage in out
@pytest.mark.usefixtures(
- 'mock_packages', 'mock_archive', 'mock_fetch',
- 'install_mockery_mutable_config'
+ "mock_packages", "mock_archive", "mock_fetch", "install_mockery_mutable_config"
+)
+@pytest.mark.parametrize(
+ "pkg_name,msgs",
+ [
+ ("test-error", ["FAILED: Command exited", "TestFailure"]),
+ ("test-fail", ["FAILED: Expected", "TestFailure"]),
+ ],
)
-@pytest.mark.parametrize('pkg_name,msgs', [
- ('test-error', ['FAILED: Command exited', 'TestFailure']),
- ('test-fail', ['FAILED: Expected', 'TestFailure'])
-])
def test_junit_output_with_failures(tmpdir, mock_test_stage, pkg_name, msgs):
install(pkg_name)
with tmpdir.as_cwd():
- spack_test('run',
- '--log-format=junit', '--log-file=test.xml',
- pkg_name,
- fail_on_error=False)
+ spack_test(
+ "run", "--log-format=junit", "--log-file=test.xml", pkg_name, fail_on_error=False
+ )
files = tmpdir.listdir()
- filename = tmpdir.join('test.xml')
+ filename = tmpdir.join("test.xml")
assert filename in files
content = filename.open().read()
@@ -155,94 +160,103 @@ def test_junit_output_with_failures(tmpdir, mock_test_stage, pkg_name, msgs):
assert 'errors="0"' in content
# We want to have both stdout and stderr
- assert '<system-out>' in content
+ assert "<system-out>" in content
for msg in msgs:
assert msg in content
def test_cdash_output_test_error(
- tmpdir, mock_fetch, install_mockery_mutable_config, mock_packages,
- mock_archive, mock_test_stage, capfd):
- install('test-error')
+ tmpdir,
+ mock_fetch,
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_archive,
+ mock_test_stage,
+ capfd,
+):
+ install("test-error")
with tmpdir.as_cwd():
- spack_test('run',
- '--log-format=cdash',
- '--log-file=cdash_reports',
- 'test-error',
- fail_on_error=False)
- report_dir = tmpdir.join('cdash_reports')
+ spack_test(
+ "run",
+ "--log-format=cdash",
+ "--log-file=cdash_reports",
+ "test-error",
+ fail_on_error=False,
+ )
+ report_dir = tmpdir.join("cdash_reports")
print(tmpdir.listdir())
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('test-error_Test.xml')
+ report_file = report_dir.join("test-error_Test.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert 'FAILED: Command exited with status 1' in content
+ assert "FAILED: Command exited with status 1" in content
def test_cdash_upload_clean_test(
- tmpdir, mock_fetch, install_mockery_mutable_config, mock_packages,
- mock_archive, mock_test_stage):
- install('printing-package')
+ tmpdir,
+ mock_fetch,
+ install_mockery_mutable_config,
+ mock_packages,
+ mock_archive,
+ mock_test_stage,
+):
+ install("printing-package")
with tmpdir.as_cwd():
- spack_test('run',
- '--log-file=cdash_reports',
- '--log-format=cdash',
- 'printing-package')
- report_dir = tmpdir.join('cdash_reports')
+ spack_test("run", "--log-file=cdash_reports", "--log-format=cdash", "printing-package")
+ report_dir = tmpdir.join("cdash_reports")
assert report_dir in tmpdir.listdir()
- report_file = report_dir.join('printing-package_Test.xml')
+ report_file = report_dir.join("printing-package_Test.xml")
assert report_file in report_dir.listdir()
content = report_file.open().read()
- assert '</Test>' in content
- assert '<Text>' not in content
+ assert "</Test>" in content
+ assert "<Text>" not in content
def test_test_help_does_not_show_cdash_options(mock_test_stage, capsys):
"""Make sure `spack test --help` does not describe CDash arguments"""
with pytest.raises(SystemExit):
- spack_test('run', '--help')
+ spack_test("run", "--help")
captured = capsys.readouterr()
- assert 'CDash URL' not in captured.out
+ assert "CDash URL" not in captured.out
def test_test_help_cdash(mock_test_stage):
"""Make sure `spack test --help-cdash` describes CDash arguments"""
- out = spack_test('run', '--help-cdash')
- assert 'CDash URL' in out
+ out = spack_test("run", "--help-cdash")
+ assert "CDash URL" in out
def test_test_list_all(mock_packages):
"""make sure `spack test list --all` returns all packages with tests"""
pkgs = spack_test("list", "--all").strip().split()
- assert set(pkgs) == set([
- "printing-package",
- "py-extension1",
- "py-extension2",
- "simple-standalone-test",
- "test-error",
- "test-fail",
- "test-build-callbacks",
- "test-install-callbacks"
- ])
-
-
-def test_test_list(
- mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config
-):
- pkg_with_tests = 'printing-package'
+ assert set(pkgs) == set(
+ [
+ "printing-package",
+ "py-extension1",
+ "py-extension2",
+ "simple-standalone-test",
+ "test-error",
+ "test-fail",
+ "test-build-callbacks",
+ "test-install-callbacks",
+ ]
+ )
+
+
+def test_test_list(mock_packages, mock_archive, mock_fetch, install_mockery_mutable_config):
+ pkg_with_tests = "printing-package"
install(pkg_with_tests)
output = spack_test("list")
assert pkg_with_tests in output
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_has_test_method_fails(capsys):
with pytest.raises(SystemExit):
- spack.package_base.has_test_method('printing-package')
+ spack.package_base.has_test_method("printing-package")
captured = capsys.readouterr()[1]
- assert 'is not a class' in captured
+ assert "is not a class" in captured
def test_read_old_results(mock_test_stage):
@@ -252,54 +266,56 @@ def test_read_old_results(mock_test_stage):
# spack install printing-package
# spack test run --alias printpkg printing-package
- test_data_src = os.path.join(
- spack.paths.test_path, 'data', 'test', 'test_stage')
+ test_data_src = os.path.join(spack.paths.test_path, "data", "test", "test_stage")
# Copy the old test data into the mock stage directory
copy_tree(test_data_src, mock_test_stage)
# The find command should print info about the old test, under
# the alias used at test generation time
- find_output = spack_test('find')
- assert 'printpkg' in find_output
+ find_output = spack_test("find")
+ assert "printpkg" in find_output
# The results command should still print the old test results
- results_output = spack_test('results')
- assert 'PASSED' in results_output
+ results_output = spack_test("results")
+ assert "PASSED" in results_output
def test_test_results_none(mock_packages, mock_test_stage):
- name = 'trivial'
- spec = spack.spec.Spec('trivial-smoke-test').concretized()
+ name = "trivial"
+ spec = spack.spec.Spec("trivial-smoke-test").concretized()
suite = spack.install_test.TestSuite([spec], name)
suite.ensure_stage()
spack.install_test.write_test_suite_file(suite)
- results = spack_test('results', name)
- assert 'has no results' in results
- assert 'if it is running' in results
-
-
-@pytest.mark.parametrize('status,expected', [
- ('FAILED', '1 failed'),
- ('NO-TESTS', '1 no-tests'),
- ('SKIPPED', '1 skipped'),
- ('PASSED', '1 passed'),
-])
+ results = spack_test("results", name)
+ assert "has no results" in results
+ assert "if it is running" in results
+
+
+@pytest.mark.parametrize(
+ "status,expected",
+ [
+ ("FAILED", "1 failed"),
+ ("NO-TESTS", "1 no-tests"),
+ ("SKIPPED", "1 skipped"),
+ ("PASSED", "1 passed"),
+ ],
+)
def test_test_results_status(mock_packages, mock_test_stage, status, expected):
- name = 'trivial'
- spec = spack.spec.Spec('trivial-smoke-test').concretized()
+ name = "trivial"
+ spec = spack.spec.Spec("trivial-smoke-test").concretized()
suite = spack.install_test.TestSuite([spec], name)
suite.ensure_stage()
spack.install_test.write_test_suite_file(suite)
suite.write_test_result(spec, status)
- for opt in ['', '--failed', '--log']:
- args = ['results', name]
+ for opt in ["", "--failed", "--log"]:
+ args = ["results", name]
if opt:
args.insert(1, opt)
results = spack_test(*args)
- if opt == '--failed' and status != 'FAILED':
+ if opt == "--failed" and status != "FAILED":
assert status not in results
else:
assert status in results
diff --git a/lib/spack/spack/test/cmd/undevelop.py b/lib/spack/spack/test/cmd/undevelop.py
index 43a7f45ac3..41c455d2b1 100644
--- a/lib/spack/spack/test/cmd/undevelop.py
+++ b/lib/spack/spack/test/cmd/undevelop.py
@@ -11,20 +11,20 @@ import spack.environment as ev
import spack.spec
from spack.main import SpackCommand
-undevelop = SpackCommand('undevelop')
-env = SpackCommand('env')
-concretize = SpackCommand('concretize')
+undevelop = SpackCommand("undevelop")
+env = SpackCommand("env")
+concretize = SpackCommand("concretize")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_undevelop(tmpdir, config, mock_packages, mutable_mock_env_path):
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- mpich
@@ -33,25 +33,27 @@ env:
mpich:
spec: mpich@1.0
path: /fake/path
-""")
+"""
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test'):
- before = spack.spec.Spec('mpich').concretized()
- undevelop('mpich')
- after = spack.spec.Spec('mpich').concretized()
+ env("create", "test", "./spack.yaml")
+ with ev.read("test"):
+ before = spack.spec.Spec("mpich").concretized()
+ undevelop("mpich")
+ after = spack.spec.Spec("mpich").concretized()
# Removing dev spec from environment changes concretization
- assert before.satisfies('dev_path=*')
- assert not after.satisfies('dev_path=*')
+ assert before.satisfies("dev_path=*")
+ assert not after.satisfies("dev_path=*")
def test_undevelop_nonexistent(tmpdir, config, mock_packages, mutable_mock_env_path):
# setup environment
- envdir = tmpdir.mkdir('env')
+ envdir = tmpdir.mkdir("env")
with envdir.as_cwd():
- with open('spack.yaml', 'w') as f:
- f.write("""\
+ with open("spack.yaml", "w") as f:
+ f.write(
+ """\
env:
specs:
- mpich
@@ -60,14 +62,15 @@ env:
mpich:
spec: mpich@1.0
path: /fake/path
-""")
+"""
+ )
- env('create', 'test', './spack.yaml')
- with ev.read('test') as e:
+ env("create", "test", "./spack.yaml")
+ with ev.read("test") as e:
concretize()
before = e.specs_by_hash
- undevelop('package-not-in-develop') # does nothing
- concretize('-f')
+ undevelop("package-not-in-develop") # does nothing
+ concretize("-f")
after = e.specs_by_hash
# nothing should have changed
diff --git a/lib/spack/spack/test/cmd/uninstall.py b/lib/spack/spack/test/cmd/uninstall.py
index 857f1ae35d..a47f6c60a5 100644
--- a/lib/spack/spack/test/cmd/uninstall.py
+++ b/lib/spack/spack/test/cmd/uninstall.py
@@ -10,12 +10,11 @@ import llnl.util.tty as tty
import spack.store
from spack.main import SpackCommand, SpackCommandError
-uninstall = SpackCommand('uninstall')
-install = SpackCommand('install')
+uninstall = SpackCommand("uninstall")
+install = SpackCommand("install")
class MockArgs(object):
-
def __init__(self, packages, all=False, force=False, dependents=False):
self.packages = packages
self.all = all
@@ -28,27 +27,27 @@ class MockArgs(object):
def test_multiple_matches(mutable_database):
"""Test unable to uninstall when multiple matches."""
with pytest.raises(SpackCommandError):
- uninstall('-y', 'mpileaks')
+ uninstall("-y", "mpileaks")
@pytest.mark.db
def test_installed_dependents(mutable_database):
"""Test can't uninstall when there are installed dependents."""
with pytest.raises(SpackCommandError):
- uninstall('-y', 'libelf')
+ uninstall("-y", "libelf")
@pytest.mark.db
def test_recursive_uninstall(mutable_database):
"""Test recursive uninstall."""
- uninstall('-y', '-a', '--dependents', 'callpath')
+ uninstall("-y", "-a", "--dependents", "callpath")
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == 9
# query specs with multiple configurations
- mpileaks_specs = [s for s in all_specs if s.satisfies('mpileaks')]
- callpath_specs = [s for s in all_specs if s.satisfies('callpath')]
- mpi_specs = [s for s in all_specs if s.satisfies('mpi')]
+ mpileaks_specs = [s for s in all_specs if s.satisfies("mpileaks")]
+ callpath_specs = [s for s in all_specs if s.satisfies("callpath")]
+ mpi_specs = [s for s in all_specs if s.satisfies("mpi")]
assert len(mpileaks_specs) == 0
assert len(callpath_specs) == 0
@@ -56,27 +55,23 @@ def test_recursive_uninstall(mutable_database):
@pytest.mark.db
-@pytest.mark.regression('3690')
-@pytest.mark.parametrize('constraint,expected_number_of_specs', [
- ('dyninst', 8), ('libelf', 6)
-])
+@pytest.mark.regression("3690")
+@pytest.mark.parametrize("constraint,expected_number_of_specs", [("dyninst", 8), ("libelf", 6)])
def test_uninstall_spec_with_multiple_roots(
- constraint, expected_number_of_specs, mutable_database
+ constraint, expected_number_of_specs, mutable_database
):
- uninstall('-y', '-a', '--dependents', constraint)
+ uninstall("-y", "-a", "--dependents", constraint)
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == expected_number_of_specs
@pytest.mark.db
-@pytest.mark.parametrize('constraint,expected_number_of_specs', [
- ('dyninst', 14), ('libelf', 14)
-])
+@pytest.mark.parametrize("constraint,expected_number_of_specs", [("dyninst", 14), ("libelf", 14)])
def test_force_uninstall_spec_with_ref_count_not_zero(
- constraint, expected_number_of_specs, mutable_database
+ constraint, expected_number_of_specs, mutable_database
):
- uninstall('-f', '-y', constraint)
+ uninstall("-f", "-y", constraint)
all_specs = spack.store.layout.all_specs()
assert len(all_specs) == expected_number_of_specs
@@ -86,7 +81,7 @@ def test_force_uninstall_spec_with_ref_count_not_zero(
def test_force_uninstall_and_reinstall_by_hash(mutable_database):
"""Test forced uninstall and reinstall of old specs."""
# this is the spec to be removed
- callpath_spec = spack.store.db.query_one('callpath ^mpich')
+ callpath_spec = spack.store.db.query_one("callpath ^mpich")
dag_hash = callpath_spec.dag_hash()
# ensure can look up by hash and that it's a dependent of mpileaks
@@ -108,26 +103,24 @@ def test_force_uninstall_and_reinstall_by_hash(mutable_database):
specs = spack.store.db.get_by_hash(dag_hash, installed=not installed)
assert specs is None
- specs = spack.store.db.get_by_hash(dag_hash[:7],
- installed=not installed)
+ specs = spack.store.db.get_by_hash(dag_hash[:7], installed=not installed)
assert specs is None
- mpileaks_spec = spack.store.db.query_one('mpileaks ^mpich')
+ mpileaks_spec = spack.store.db.query_one("mpileaks ^mpich")
assert callpath_spec in mpileaks_spec
- spec = spack.store.db.query_one('callpath ^mpich', installed=installed)
+ spec = spack.store.db.query_one("callpath ^mpich", installed=installed)
assert spec == callpath_spec
- spec = spack.store.db.query_one('callpath ^mpich', installed=any)
+ spec = spack.store.db.query_one("callpath ^mpich", installed=any)
assert spec == callpath_spec
- spec = spack.store.db.query_one('callpath ^mpich',
- installed=not installed)
+ spec = spack.store.db.query_one("callpath ^mpich", installed=not installed)
assert spec is None
validate_callpath_spec(True)
- uninstall('-y', '-f', 'callpath ^mpich')
+ uninstall("-y", "-f", "callpath ^mpich")
# ensure that you can still look up by hash and see deps, EVEN though
# the callpath spec is missing.
@@ -138,10 +131,11 @@ def test_force_uninstall_and_reinstall_by_hash(mutable_database):
all_specs = spack.store.layout.all_specs()
return (
all_specs,
- [s for s in all_specs if s.satisfies('mpileaks')],
- [s for s in all_specs if s.satisfies('callpath')],
- [s for s in all_specs if s.satisfies('mpi')]
+ [s for s in all_specs if s.satisfies("mpileaks")],
+ [s for s in all_specs if s.satisfies("callpath")],
+ [s for s in all_specs if s.satisfies("mpi")],
)
+
all_specs, mpileaks_specs, callpath_specs, mpi_specs = db_specs()
total_specs = len(all_specs)
assert total_specs == 14
@@ -150,25 +144,25 @@ def test_force_uninstall_and_reinstall_by_hash(mutable_database):
assert len(mpi_specs) == 3
# Now, REINSTALL the spec and make sure everything still holds
- install('--fake', '/%s' % dag_hash[:7])
+ install("--fake", "/%s" % dag_hash[:7])
validate_callpath_spec(True)
all_specs, mpileaks_specs, callpath_specs, mpi_specs = db_specs()
- assert len(all_specs) == total_specs + 1 # back to total_specs+1
+ assert len(all_specs) == total_specs + 1 # back to total_specs+1
assert len(mpileaks_specs) == 3
assert len(callpath_specs) == 3 # back to 3
assert len(mpi_specs) == 3
@pytest.mark.db
-@pytest.mark.regression('15773')
-def test_in_memory_consistency_when_uninstalling(
- mutable_database, monkeypatch
-):
+@pytest.mark.regression("15773")
+def test_in_memory_consistency_when_uninstalling(mutable_database, monkeypatch):
"""Test that uninstalling doesn't raise warnings"""
+
def _warn(*args, **kwargs):
- raise RuntimeError('a warning was triggered!')
- monkeypatch.setattr(tty, 'warn', _warn)
+ raise RuntimeError("a warning was triggered!")
+
+ monkeypatch.setattr(tty, "warn", _warn)
# Now try to uninstall and check this doesn't trigger warnings
- uninstall('-y', '-a')
+ uninstall("-y", "-a")
diff --git a/lib/spack/spack/test/cmd/unit_test.py b/lib/spack/spack/test/cmd/unit_test.py
index aa31282fdb..7104879a57 100644
--- a/lib/spack/spack/test/cmd/unit_test.py
+++ b/lib/spack/spack/test/cmd/unit_test.py
@@ -7,19 +7,19 @@ import os
from spack.main import SpackCommand
-spack_test = SpackCommand('unit-test')
-cmd_test_py = os.path.join('lib', 'spack', 'spack', 'test', 'cmd', 'unit_test.py')
+spack_test = SpackCommand("unit-test")
+cmd_test_py = os.path.join("lib", "spack", "spack", "test", "cmd", "unit_test.py")
def test_list():
- output = spack_test('--list')
+ output = spack_test("--list")
assert "unit_test.py" in output
assert "spec_semantics.py" in output
assert "test_list" not in output
def test_list_with_pytest_arg():
- output = spack_test('--list', cmd_test_py)
+ output = spack_test("--list", cmd_test_py)
assert output.strip() == cmd_test_py
@@ -27,13 +27,13 @@ def test_list_with_keywords():
# Here we removed querying with a "/" to separate directories
# since the behavior is inconsistent across different pytest
# versions, see https://stackoverflow.com/a/48814787/771663
- output = spack_test('--list', '-k', 'unit_test.py')
+ output = spack_test("--list", "-k", "unit_test.py")
assert output.strip() == cmd_test_py
def test_list_long(capsys):
with capsys.disabled():
- output = spack_test('--list-long')
+ output = spack_test("--list-long")
assert "unit_test.py::\n" in output
assert "test_list" in output
assert "test_list_with_pytest_arg" in output
@@ -44,13 +44,13 @@ def test_list_long(capsys):
assert "test_list_names_with_pytest_arg" in output
assert "spec_dag.py::\n" in output
- assert 'test_installed_deps' in output
- assert 'test_test_deptype' in output
+ assert "test_installed_deps" in output
+ assert "test_test_deptype" in output
def test_list_long_with_pytest_arg(capsys):
with capsys.disabled():
- output = spack_test('--list-long', cmd_test_py)
+ output = spack_test("--list-long", cmd_test_py)
print(output)
assert "unit_test.py::\n" in output
assert "test_list" in output
@@ -62,12 +62,12 @@ def test_list_long_with_pytest_arg(capsys):
assert "test_list_names_with_pytest_arg" in output
assert "spec_dag.py::\n" not in output
- assert 'test_installed_deps' not in output
- assert 'test_test_deptype' not in output
+ assert "test_installed_deps" not in output
+ assert "test_test_deptype" not in output
def test_list_names():
- output = spack_test('--list-names')
+ output = spack_test("--list-names")
assert "unit_test.py::test_list\n" in output
assert "unit_test.py::test_list_with_pytest_arg\n" in output
assert "unit_test.py::test_list_with_keywords\n" in output
@@ -77,11 +77,11 @@ def test_list_names():
assert "unit_test.py::test_list_names_with_pytest_arg\n" in output
assert "spec_dag.py::test_installed_deps\n" in output
- assert 'spec_dag.py::test_test_deptype\n' in output
+ assert "spec_dag.py::test_test_deptype\n" in output
def test_list_names_with_pytest_arg():
- output = spack_test('--list-names', cmd_test_py)
+ output = spack_test("--list-names", cmd_test_py)
assert "unit_test.py::test_list\n" in output
assert "unit_test.py::test_list_with_pytest_arg\n" in output
assert "unit_test.py::test_list_with_keywords\n" in output
@@ -91,11 +91,11 @@ def test_list_names_with_pytest_arg():
assert "unit_test.py::test_list_names_with_pytest_arg\n" in output
assert "spec_dag.py::test_installed_deps\n" not in output
- assert 'spec_dag.py::test_test_deptype\n' not in output
+ assert "spec_dag.py::test_test_deptype\n" not in output
def test_pytest_help():
- output = spack_test('--pytest-help')
+ output = spack_test("--pytest-help")
assert "-k EXPRESSION" in output
assert "pytest-warnings:" in output
assert "--collect-only" in output
diff --git a/lib/spack/spack/test/cmd/url.py b/lib/spack/spack/test/cmd/url.py
index 301185a6f7..97607fad5c 100644
--- a/lib/spack/spack/test/cmd/url.py
+++ b/lib/spack/spack/test/cmd/url.py
@@ -12,7 +12,7 @@ from spack.cmd.url import name_parsed_correctly, url_summary, version_parsed_cor
from spack.main import SpackCommand
from spack.url import UndetectableVersionError
-url = SpackCommand('url')
+url = SpackCommand("url")
class MyPackage:
@@ -23,135 +23,129 @@ class MyPackage:
def test_name_parsed_correctly():
# Expected True
- assert name_parsed_correctly(MyPackage('netcdf', []), 'netcdf')
- assert name_parsed_correctly(MyPackage('r-devtools', []), 'devtools')
- assert name_parsed_correctly(MyPackage('py-numpy', []), 'numpy')
- assert name_parsed_correctly(MyPackage('octave-splines', []), 'splines')
- assert name_parsed_correctly(MyPackage('th-data', []), 'TH.data')
- assert name_parsed_correctly(
- MyPackage('imagemagick', []), 'ImageMagick')
+ assert name_parsed_correctly(MyPackage("netcdf", []), "netcdf")
+ assert name_parsed_correctly(MyPackage("r-devtools", []), "devtools")
+ assert name_parsed_correctly(MyPackage("py-numpy", []), "numpy")
+ assert name_parsed_correctly(MyPackage("octave-splines", []), "splines")
+ assert name_parsed_correctly(MyPackage("th-data", []), "TH.data")
+ assert name_parsed_correctly(MyPackage("imagemagick", []), "ImageMagick")
# Expected False
- assert not name_parsed_correctly(MyPackage('', []), 'hdf5')
- assert not name_parsed_correctly(MyPackage('hdf5', []), '')
- assert not name_parsed_correctly(MyPackage('yaml-cpp', []), 'yamlcpp')
- assert not name_parsed_correctly(MyPackage('yamlcpp', []), 'yaml-cpp')
- assert not name_parsed_correctly(MyPackage('r-py-parser', []), 'parser')
- assert not name_parsed_correctly(
- MyPackage('oce', []), 'oce-0.18.0')
+ assert not name_parsed_correctly(MyPackage("", []), "hdf5")
+ assert not name_parsed_correctly(MyPackage("hdf5", []), "")
+ assert not name_parsed_correctly(MyPackage("yaml-cpp", []), "yamlcpp")
+ assert not name_parsed_correctly(MyPackage("yamlcpp", []), "yaml-cpp")
+ assert not name_parsed_correctly(MyPackage("r-py-parser", []), "parser")
+ assert not name_parsed_correctly(MyPackage("oce", []), "oce-0.18.0")
def test_version_parsed_correctly():
# Expected True
- assert version_parsed_correctly(MyPackage('', ['1.2.3']), '1.2.3')
- assert version_parsed_correctly(MyPackage('', ['5.4a', '5.4b']), '5.4a')
- assert version_parsed_correctly(MyPackage('', ['5.4a', '5.4b']), '5.4b')
- assert version_parsed_correctly(MyPackage('', ['1.63.0']), '1_63_0')
- assert version_parsed_correctly(MyPackage('', ['0.94h']), '094h')
+ assert version_parsed_correctly(MyPackage("", ["1.2.3"]), "1.2.3")
+ assert version_parsed_correctly(MyPackage("", ["5.4a", "5.4b"]), "5.4a")
+ assert version_parsed_correctly(MyPackage("", ["5.4a", "5.4b"]), "5.4b")
+ assert version_parsed_correctly(MyPackage("", ["1.63.0"]), "1_63_0")
+ assert version_parsed_correctly(MyPackage("", ["0.94h"]), "094h")
# Expected False
- assert not version_parsed_correctly(MyPackage('', []), '1.2.3')
- assert not version_parsed_correctly(MyPackage('', ['1.2.3']), '')
- assert not version_parsed_correctly(MyPackage('', ['1.2.3']), '1.2.4')
- assert not version_parsed_correctly(MyPackage('', ['3.4a']), '3.4')
- assert not version_parsed_correctly(MyPackage('', ['3.4']), '3.4b')
- assert not version_parsed_correctly(
- MyPackage('', ['0.18.0']), 'oce-0.18.0')
+ assert not version_parsed_correctly(MyPackage("", []), "1.2.3")
+ assert not version_parsed_correctly(MyPackage("", ["1.2.3"]), "")
+ assert not version_parsed_correctly(MyPackage("", ["1.2.3"]), "1.2.4")
+ assert not version_parsed_correctly(MyPackage("", ["3.4a"]), "3.4")
+ assert not version_parsed_correctly(MyPackage("", ["3.4"]), "3.4b")
+ assert not version_parsed_correctly(MyPackage("", ["0.18.0"]), "oce-0.18.0")
def test_url_parse():
- url('parse', 'http://zlib.net/fossils/zlib-1.2.10.tar.gz')
+ url("parse", "http://zlib.net/fossils/zlib-1.2.10.tar.gz")
def test_url_with_no_version_fails():
# No version in URL
with pytest.raises(UndetectableVersionError):
- url('parse', 'http://www.netlib.org/voronoi/triangle.zip')
+ url("parse", "http://www.netlib.org/voronoi/triangle.zip")
def test_url_list(mock_packages):
- out = url('list')
- total_urls = len(out.split('\n'))
+ out = url("list")
+ total_urls = len(out.split("\n"))
# The following two options should not change the number of URLs printed.
- out = url('list', '--color', '--extrapolation')
- colored_urls = len(out.split('\n'))
+ out = url("list", "--color", "--extrapolation")
+ colored_urls = len(out.split("\n"))
assert colored_urls == total_urls
# The following options should print fewer URLs than the default.
# If they print the same number of URLs, something is horribly broken.
# If they say we missed 0 URLs, something is probably broken too.
- out = url('list', '--incorrect-name')
- incorrect_name_urls = len(out.split('\n'))
+ out = url("list", "--incorrect-name")
+ incorrect_name_urls = len(out.split("\n"))
assert 0 < incorrect_name_urls < total_urls
- out = url('list', '--incorrect-version')
- incorrect_version_urls = len(out.split('\n'))
+ out = url("list", "--incorrect-version")
+ incorrect_version_urls = len(out.split("\n"))
assert 0 < incorrect_version_urls < total_urls
- out = url('list', '--correct-name')
- correct_name_urls = len(out.split('\n'))
+ out = url("list", "--correct-name")
+ correct_name_urls = len(out.split("\n"))
assert 0 < correct_name_urls < total_urls
- out = url('list', '--correct-version')
- correct_version_urls = len(out.split('\n'))
+ out = url("list", "--correct-version")
+ correct_version_urls = len(out.split("\n"))
assert 0 < correct_version_urls < total_urls
def test_url_summary(mock_packages):
"""Test the URL summary command."""
# test url_summary, the internal function that does the work
- (total_urls, correct_names, correct_versions,
- name_count_dict, version_count_dict) = url_summary(None)
+ (
+ total_urls,
+ correct_names,
+ correct_versions,
+ name_count_dict,
+ version_count_dict,
+ ) = url_summary(None)
- assert (0 < correct_names <=
- sum(name_count_dict.values()) <= total_urls)
- assert (0 < correct_versions <=
- sum(version_count_dict.values()) <= total_urls)
+ assert 0 < correct_names <= sum(name_count_dict.values()) <= total_urls
+ assert 0 < correct_versions <= sum(version_count_dict.values()) <= total_urls
# make sure it agrees with the actual command.
- out = url('summary')
- out_total_urls = int(
- re.search(r'Total URLs found:\s*(\d+)', out).group(1))
+ out = url("summary")
+ out_total_urls = int(re.search(r"Total URLs found:\s*(\d+)", out).group(1))
assert out_total_urls == total_urls
- out_correct_names = int(
- re.search(r'Names correctly parsed:\s*(\d+)', out).group(1))
+ out_correct_names = int(re.search(r"Names correctly parsed:\s*(\d+)", out).group(1))
assert out_correct_names == correct_names
- out_correct_versions = int(
- re.search(r'Versions correctly parsed:\s*(\d+)', out).group(1))
+ out_correct_versions = int(re.search(r"Versions correctly parsed:\s*(\d+)", out).group(1))
assert out_correct_versions == correct_versions
-@pytest.mark.skipif(
- sys.platform.startswith("win"),
- reason="Unsupported on Windows for now"
-)
+@pytest.mark.skipif(sys.platform.startswith("win"), reason="Unsupported on Windows for now")
def test_url_stats(capfd, mock_packages):
with capfd.disabled():
- output = url('stats')
- npkgs = '%d packages' % len(spack.repo.all_package_names())
+ output = url("stats")
+ npkgs = "%d packages" % len(spack.repo.all_package_names())
assert npkgs in output
- assert 'url' in output
- assert 'git' in output
- assert 'schemes' in output
- assert 'versions' in output
- assert 'resources' in output
-
- output = url('stats', '--show-issues')
- npkgs = '%d packages' % len(spack.repo.all_package_names())
+ assert "url" in output
+ assert "git" in output
+ assert "schemes" in output
+ assert "versions" in output
+ assert "resources" in output
+
+ output = url("stats", "--show-issues")
+ npkgs = "%d packages" % len(spack.repo.all_package_names())
assert npkgs in output
- assert 'url' in output
- assert 'git' in output
- assert 'schemes' in output
- assert 'versions' in output
- assert 'resources' in output
-
- assert 'Package URLs with md5 hashes' in output
- assert 'needs-relocation' in output
- assert 'https://cmake.org/files/v3.4/cmake-0.0.0.tar.gz' in output
-
- assert 'Package URLs with http urls' in output
- assert 'zmpi' in output
- assert 'http://www.spack-fake-zmpi.org/downloads/zmpi-1.0.tar.gz' in output
+ assert "url" in output
+ assert "git" in output
+ assert "schemes" in output
+ assert "versions" in output
+ assert "resources" in output
+
+ assert "Package URLs with md5 hashes" in output
+ assert "needs-relocation" in output
+ assert "https://cmake.org/files/v3.4/cmake-0.0.0.tar.gz" in output
+
+ assert "Package URLs with http urls" in output
+ assert "zmpi" in output
+ assert "http://www.spack-fake-zmpi.org/downloads/zmpi-1.0.tar.gz" in output
diff --git a/lib/spack/spack/test/cmd/verify.py b/lib/spack/spack/test/cmd/verify.py
index 357f3751c0..fb2b6ed11d 100644
--- a/lib/spack/spack/test/cmd/verify.py
+++ b/lib/spack/spack/test/cmd/verify.py
@@ -17,79 +17,78 @@ import spack.util.spack_json as sjson
import spack.verify
from spack.main import SpackCommand
-verify = SpackCommand('verify')
-install = SpackCommand('install')
+verify = SpackCommand("verify")
+install = SpackCommand("install")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_single_file_verify_cmd(tmpdir):
# Test the verify command interface to verifying a single file.
- filedir = os.path.join(str(tmpdir), 'a', 'b', 'c', 'd')
- filepath = os.path.join(filedir, 'file')
+ filedir = os.path.join(str(tmpdir), "a", "b", "c", "d")
+ filepath = os.path.join(filedir, "file")
metadir = os.path.join(str(tmpdir), spack.store.layout.metadata_dir)
fs.mkdirp(filedir)
fs.mkdirp(metadir)
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write("I'm a file")
data = spack.verify.create_manifest_entry(filepath)
- manifest_file = os.path.join(metadir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(metadir, spack.store.layout.manifest_file_name)
- with open(manifest_file, 'w') as f:
+ with open(manifest_file, "w") as f:
sjson.dump({filepath: data}, f)
- results = verify('-f', filepath, fail_on_error=False)
+ results = verify("-f", filepath, fail_on_error=False)
print(results)
assert not results
os.utime(filepath, (0, 0))
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write("I changed.")
- results = verify('-f', filepath, fail_on_error=False)
+ results = verify("-f", filepath, fail_on_error=False)
- expected = ['hash']
+ expected = ["hash"]
mtime = os.stat(filepath).st_mtime
- if mtime != data['time']:
- expected.append('mtime')
+ if mtime != data["time"]:
+ expected.append("mtime")
assert results
assert filepath in results
assert all(x in results for x in expected)
- results = verify('-fj', filepath, fail_on_error=False)
+ results = verify("-fj", filepath, fail_on_error=False)
res = sjson.load(results)
assert len(res) == 1
errors = res.pop(filepath)
assert sorted(errors) == sorted(expected)
-def test_single_spec_verify_cmd(tmpdir, mock_packages, mock_archive,
- mock_fetch, config, install_mockery):
+def test_single_spec_verify_cmd(
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
# Test the verify command interface to verify a single spec
- install('libelf')
- s = spack.spec.Spec('libelf').concretized()
+ install("libelf")
+ s = spack.spec.Spec("libelf").concretized()
prefix = s.prefix
hash = s.dag_hash()
- results = verify('/%s' % hash, fail_on_error=False)
+ results = verify("/%s" % hash, fail_on_error=False)
assert not results
- new_file = os.path.join(prefix, 'new_file_for_verify_test')
- with open(new_file, 'w') as f:
- f.write('New file')
+ new_file = os.path.join(prefix, "new_file_for_verify_test")
+ with open(new_file, "w") as f:
+ f.write("New file")
- results = verify('/%s' % hash, fail_on_error=False)
+ results = verify("/%s" % hash, fail_on_error=False)
assert new_file in results
- assert 'added' in results
+ assert "added" in results
- results = verify('-j', '/%s' % hash, fail_on_error=False)
+ results = verify("-j", "/%s" % hash, fail_on_error=False)
res = sjson.load(results)
assert len(res) == 1
- assert res[new_file] == ['added']
+ assert res[new_file] == ["added"]
diff --git a/lib/spack/spack/test/cmd/versions.py b/lib/spack/spack/test/cmd/versions.py
index f3be1ed3fe..0acc8a7df7 100644
--- a/lib/spack/spack/test/cmd/versions.py
+++ b/lib/spack/spack/test/cmd/versions.py
@@ -10,40 +10,39 @@ import pytest
from spack.main import SpackCommand
from spack.version import Version
-versions = SpackCommand('versions')
+versions = SpackCommand("versions")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_safe_only_versions():
"""Only test the safe versions of a package.
- (Using the deprecated command line argument)
+ (Using the deprecated command line argument)
"""
- versions('--safe-only', 'zlib')
+ versions("--safe-only", "zlib")
def test_safe_versions():
"""Only test the safe versions of a package."""
- versions('--safe', 'zlib')
+ versions("--safe", "zlib")
@pytest.mark.maybeslow
def test_remote_versions():
"""Test a package for which remote versions should be available."""
- versions('zlib')
+ versions("zlib")
@pytest.mark.maybeslow
def test_remote_versions_only():
"""Test a package for which remote versions should be available."""
- versions('--remote', 'zlib')
+ versions("--remote", "zlib")
-@pytest.mark.usefixtures('mock_packages')
+@pytest.mark.usefixtures("mock_packages")
def test_new_versions_only(monkeypatch):
"""Test a package for which new versions should be available."""
from spack.pkg.builtin.mock.brillig import Brillig # type: ignore[import]
@@ -51,49 +50,50 @@ def test_new_versions_only(monkeypatch):
def mock_fetch_remote_versions(*args, **kwargs):
mock_remote_versions = {
# new version, we expect this to be in output:
- Version('99.99.99'): {},
+ Version("99.99.99"): {},
# some packages use '3.2' equivalently to '3.2.0'
# thus '3.2.1' is considered to be a new version
# and expected in the output also
- Version('3.2.1'): {}, # new version, we expect this to be in output
- Version('3.2'): {},
- Version('1.0.0'): {},
+ Version("3.2.1"): {}, # new version, we expect this to be in output
+ Version("3.2"): {},
+ Version("1.0.0"): {},
}
return mock_remote_versions
+
mock_versions = {
# already checksummed versions:
- Version('3.2'): {},
- Version('1.0.0'): {},
+ Version("3.2"): {},
+ Version("1.0.0"): {},
}
- monkeypatch.setattr(Brillig, 'versions', mock_versions)
- monkeypatch.setattr(Brillig, 'fetch_remote_versions', mock_fetch_remote_versions)
- v = versions('--new', 'brillig')
- assert(v.strip(' \n\t') == "99.99.99\n 3.2.1")
+ monkeypatch.setattr(Brillig, "versions", mock_versions)
+ monkeypatch.setattr(Brillig, "fetch_remote_versions", mock_fetch_remote_versions)
+ v = versions("--new", "brillig")
+ assert v.strip(" \n\t") == "99.99.99\n 3.2.1"
@pytest.mark.maybeslow
def test_no_versions():
"""Test a package for which no remote versions are available."""
- versions('converge')
+ versions("converge")
@pytest.mark.maybeslow
def test_no_unchecksummed_versions():
"""Test a package for which no unchecksummed versions are available."""
- versions('bzip2')
+ versions("bzip2")
@pytest.mark.maybeslow
def test_versions_no_url():
"""Test a package with versions but without a ``url`` attribute."""
- versions('graphviz')
+ versions("graphviz")
@pytest.mark.maybeslow
def test_no_versions_no_url():
"""Test a package without versions or a ``url`` attribute."""
- versions('opengl')
+ versions("opengl")
diff --git a/lib/spack/spack/test/cmd/view.py b/lib/spack/spack/test/cmd/view.py
index d1d265bade..51af2bae2a 100644
--- a/lib/spack/spack/test/cmd/view.py
+++ b/lib/spack/spack/test/cmd/view.py
@@ -11,280 +11,253 @@ import pytest
import spack.util.spack_yaml as s_yaml
from spack.main import SpackCommand
-activate = SpackCommand('activate')
-extensions = SpackCommand('extensions')
-install = SpackCommand('install')
-view = SpackCommand('view')
+activate = SpackCommand("activate")
+extensions = SpackCommand("extensions")
+install = SpackCommand("install")
+view = SpackCommand("view")
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def create_projection_file(tmpdir, projection):
- if 'projections' not in projection:
- projection = {'projections': projection}
+ if "projections" not in projection:
+ projection = {"projections": projection}
- projection_file = tmpdir.mkdir('projection').join('projection.yaml')
+ projection_file = tmpdir.mkdir("projection").join("projection.yaml")
projection_file.write(s_yaml.dump(projection))
return projection_file
-@pytest.mark.parametrize('cmd', ['hardlink', 'symlink', 'hard', 'add',
- 'copy', 'relocate'])
+@pytest.mark.parametrize("cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"])
def test_view_link_type(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery, cmd):
- install('libdwarf')
- viewpath = str(tmpdir.mkdir('view_{0}'.format(cmd)))
- view(cmd, viewpath, 'libdwarf')
- package_prefix = os.path.join(viewpath, 'libdwarf')
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, cmd
+):
+ install("libdwarf")
+ viewpath = str(tmpdir.mkdir("view_{0}".format(cmd)))
+ view(cmd, viewpath, "libdwarf")
+ package_prefix = os.path.join(viewpath, "libdwarf")
assert os.path.exists(package_prefix)
# Check that we use symlinks for and only for the appropriate subcommands
- is_link_cmd = cmd in ('symlink', 'add')
+ is_link_cmd = cmd in ("symlink", "add")
assert os.path.islink(package_prefix) == is_link_cmd
-@pytest.mark.parametrize('add_cmd', ['hardlink', 'symlink', 'hard', 'add',
- 'copy', 'relocate'])
+@pytest.mark.parametrize("add_cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"])
def test_view_link_type_remove(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery, add_cmd):
- install('needs-relocation')
- viewpath = str(tmpdir.mkdir('view_{0}'.format(add_cmd)))
- view(add_cmd, viewpath, 'needs-relocation')
- bindir = os.path.join(viewpath, 'bin')
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, add_cmd
+):
+ install("needs-relocation")
+ viewpath = str(tmpdir.mkdir("view_{0}".format(add_cmd)))
+ view(add_cmd, viewpath, "needs-relocation")
+ bindir = os.path.join(viewpath, "bin")
assert os.path.exists(bindir)
- view('remove', viewpath, 'needs-relocation')
+ view("remove", viewpath, "needs-relocation")
assert not os.path.exists(bindir)
-@pytest.mark.parametrize('cmd', ['hardlink', 'symlink', 'hard', 'add',
- 'copy', 'relocate'])
+@pytest.mark.parametrize("cmd", ["hardlink", "symlink", "hard", "add", "copy", "relocate"])
def test_view_projections(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery, cmd):
- install('libdwarf@20130207')
-
- viewpath = str(tmpdir.mkdir('view_{0}'.format(cmd)))
- view_projection = {
- 'projections': {
- 'all': '{name}-{version}'
- }
- }
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery, cmd
+):
+ install("libdwarf@20130207")
+
+ viewpath = str(tmpdir.mkdir("view_{0}".format(cmd)))
+ view_projection = {"projections": {"all": "{name}-{version}"}}
projection_file = create_projection_file(tmpdir, view_projection)
- view(cmd, viewpath, '--projection-file={0}'.format(projection_file),
- 'libdwarf')
+ view(cmd, viewpath, "--projection-file={0}".format(projection_file), "libdwarf")
- package_prefix = os.path.join(viewpath, 'libdwarf-20130207/libdwarf')
+ package_prefix = os.path.join(viewpath, "libdwarf-20130207/libdwarf")
assert os.path.exists(package_prefix)
# Check that we use symlinks for and only for the appropriate subcommands
- is_symlink_cmd = cmd in ('symlink', 'add')
+ is_symlink_cmd = cmd in ("symlink", "add")
assert os.path.islink(package_prefix) == is_symlink_cmd
def test_view_multiple_projections(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('libdwarf@20130207')
- install('extendee@1.0%gcc')
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("libdwarf@20130207")
+ install("extendee@1.0%gcc")
- viewpath = str(tmpdir.mkdir('view'))
+ viewpath = str(tmpdir.mkdir("view"))
view_projection = s_yaml.syaml_dict(
- [('extendee', '{name}-{compiler.name}'),
- ('all', '{name}-{version}')]
+ [("extendee", "{name}-{compiler.name}"), ("all", "{name}-{version}")]
)
projection_file = create_projection_file(tmpdir, view_projection)
- view('add', viewpath, '--projection-file={0}'.format(projection_file),
- 'libdwarf', 'extendee')
+ view("add", viewpath, "--projection-file={0}".format(projection_file), "libdwarf", "extendee")
- libdwarf_prefix = os.path.join(viewpath, 'libdwarf-20130207/libdwarf')
- extendee_prefix = os.path.join(viewpath, 'extendee-gcc/bin')
+ libdwarf_prefix = os.path.join(viewpath, "libdwarf-20130207/libdwarf")
+ extendee_prefix = os.path.join(viewpath, "extendee-gcc/bin")
assert os.path.exists(libdwarf_prefix)
assert os.path.exists(extendee_prefix)
def test_view_multiple_projections_all_first(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('libdwarf@20130207')
- install('extendee@1.0%gcc')
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("libdwarf@20130207")
+ install("extendee@1.0%gcc")
- viewpath = str(tmpdir.mkdir('view'))
+ viewpath = str(tmpdir.mkdir("view"))
view_projection = s_yaml.syaml_dict(
- [('all', '{name}-{version}'),
- ('extendee', '{name}-{compiler.name}')]
+ [("all", "{name}-{version}"), ("extendee", "{name}-{compiler.name}")]
)
projection_file = create_projection_file(tmpdir, view_projection)
- view('add', viewpath, '--projection-file={0}'.format(projection_file),
- 'libdwarf', 'extendee')
+ view("add", viewpath, "--projection-file={0}".format(projection_file), "libdwarf", "extendee")
- libdwarf_prefix = os.path.join(viewpath, 'libdwarf-20130207/libdwarf')
- extendee_prefix = os.path.join(viewpath, 'extendee-gcc/bin')
+ libdwarf_prefix = os.path.join(viewpath, "libdwarf-20130207/libdwarf")
+ extendee_prefix = os.path.join(viewpath, "extendee-gcc/bin")
assert os.path.exists(libdwarf_prefix)
assert os.path.exists(extendee_prefix)
-def test_view_external(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('externaltool')
- viewpath = str(tmpdir.mkdir('view'))
- output = view('symlink', viewpath, 'externaltool')
- assert 'Skipping external package: externaltool' in output
-
-
-def test_view_extension(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- install('extension1@2.0')
- install('extension2@1.0')
- viewpath = str(tmpdir.mkdir('view'))
- view('symlink', viewpath, 'extension1@1.0')
- all_installed = extensions('--show', 'installed', 'extendee')
- assert 'extension1@1.0' in all_installed
- assert 'extension1@2.0' in all_installed
- assert 'extension2@1.0' in all_installed
- global_activated = extensions('--show', 'activated', 'extendee')
- assert 'extension1@1.0' not in global_activated
- assert 'extension1@2.0' not in global_activated
- assert 'extension2@1.0' not in global_activated
- view_activated = extensions('--show', 'activated',
- '-v', viewpath,
- 'extendee')
- assert 'extension1@1.0' in view_activated
- assert 'extension1@2.0' not in view_activated
- assert 'extension2@1.0' not in view_activated
- assert os.path.exists(os.path.join(viewpath, 'bin', 'extension1'))
+def test_view_external(tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ install("externaltool")
+ viewpath = str(tmpdir.mkdir("view"))
+ output = view("symlink", viewpath, "externaltool")
+ assert "Skipping external package: externaltool" in output
+
+
+def test_view_extension(tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery):
+ install("extendee")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ install("extension2@1.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ view("symlink", viewpath, "extension1@1.0")
+ all_installed = extensions("--show", "installed", "extendee")
+ assert "extension1@1.0" in all_installed
+ assert "extension1@2.0" in all_installed
+ assert "extension2@1.0" in all_installed
+ global_activated = extensions("--show", "activated", "extendee")
+ assert "extension1@1.0" not in global_activated
+ assert "extension1@2.0" not in global_activated
+ assert "extension2@1.0" not in global_activated
+ view_activated = extensions("--show", "activated", "-v", viewpath, "extendee")
+ assert "extension1@1.0" in view_activated
+ assert "extension1@2.0" not in view_activated
+ assert "extension2@1.0" not in view_activated
+ assert os.path.exists(os.path.join(viewpath, "bin", "extension1"))
def test_view_extension_projection(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee@1.0')
- install('extension1@1.0')
- install('extension1@2.0')
- install('extension2@1.0')
-
- viewpath = str(tmpdir.mkdir('view'))
- view_projection = {'all': '{name}-{version}'}
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee@1.0")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ install("extension2@1.0")
+
+ viewpath = str(tmpdir.mkdir("view"))
+ view_projection = {"all": "{name}-{version}"}
projection_file = create_projection_file(tmpdir, view_projection)
- view('symlink', viewpath, '--projection-file={0}'.format(projection_file),
- 'extension1@1.0')
-
- all_installed = extensions('--show', 'installed', 'extendee')
- assert 'extension1@1.0' in all_installed
- assert 'extension1@2.0' in all_installed
- assert 'extension2@1.0' in all_installed
- global_activated = extensions('--show', 'activated', 'extendee')
- assert 'extension1@1.0' not in global_activated
- assert 'extension1@2.0' not in global_activated
- assert 'extension2@1.0' not in global_activated
- view_activated = extensions('--show', 'activated',
- '-v', viewpath,
- 'extendee')
- assert 'extension1@1.0' in view_activated
- assert 'extension1@2.0' not in view_activated
- assert 'extension2@1.0' not in view_activated
-
- assert os.path.exists(os.path.join(viewpath, 'extendee-1.0',
- 'bin', 'extension1'))
+ view("symlink", viewpath, "--projection-file={0}".format(projection_file), "extension1@1.0")
+
+ all_installed = extensions("--show", "installed", "extendee")
+ assert "extension1@1.0" in all_installed
+ assert "extension1@2.0" in all_installed
+ assert "extension2@1.0" in all_installed
+ global_activated = extensions("--show", "activated", "extendee")
+ assert "extension1@1.0" not in global_activated
+ assert "extension1@2.0" not in global_activated
+ assert "extension2@1.0" not in global_activated
+ view_activated = extensions("--show", "activated", "-v", viewpath, "extendee")
+ assert "extension1@1.0" in view_activated
+ assert "extension1@2.0" not in view_activated
+ assert "extension2@1.0" not in view_activated
+
+ assert os.path.exists(os.path.join(viewpath, "extendee-1.0", "bin", "extension1"))
def test_view_extension_remove(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- viewpath = str(tmpdir.mkdir('view'))
- view('symlink', viewpath, 'extension1@1.0')
- view('remove', viewpath, 'extension1@1.0')
- all_installed = extensions('--show', 'installed', 'extendee')
- assert 'extension1@1.0' in all_installed
- global_activated = extensions('--show', 'activated', 'extendee')
- assert 'extension1@1.0' not in global_activated
- view_activated = extensions('--show', 'activated',
- '-v', viewpath,
- 'extendee')
- assert 'extension1@1.0' not in view_activated
- assert not os.path.exists(os.path.join(viewpath, 'bin', 'extension1'))
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee")
+ install("extension1@1.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ view("symlink", viewpath, "extension1@1.0")
+ view("remove", viewpath, "extension1@1.0")
+ all_installed = extensions("--show", "installed", "extendee")
+ assert "extension1@1.0" in all_installed
+ global_activated = extensions("--show", "activated", "extendee")
+ assert "extension1@1.0" not in global_activated
+ view_activated = extensions("--show", "activated", "-v", viewpath, "extendee")
+ assert "extension1@1.0" not in view_activated
+ assert not os.path.exists(os.path.join(viewpath, "bin", "extension1"))
def test_view_extension_conflict(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- install('extension1@2.0')
- viewpath = str(tmpdir.mkdir('view'))
- view('symlink', viewpath, 'extension1@1.0')
- output = view('symlink', viewpath, 'extension1@2.0')
- assert 'Package conflict detected' in output
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ view("symlink", viewpath, "extension1@1.0")
+ output = view("symlink", viewpath, "extension1@2.0")
+ assert "Package conflict detected" in output
def test_view_extension_conflict_ignored(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- install('extension1@2.0')
- viewpath = str(tmpdir.mkdir('view'))
- view('symlink', viewpath, 'extension1@1.0')
- view('symlink', viewpath, '-i', 'extension1@2.0')
- with open(os.path.join(viewpath, 'bin', 'extension1'), 'r') as fin:
- assert fin.read() == '1.0'
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ view("symlink", viewpath, "extension1@1.0")
+ view("symlink", viewpath, "-i", "extension1@2.0")
+ with open(os.path.join(viewpath, "bin", "extension1"), "r") as fin:
+ assert fin.read() == "1.0"
def test_view_extension_global_activation(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- install('extension1@2.0')
- install('extension2@1.0')
- viewpath = str(tmpdir.mkdir('view'))
- view('symlink', viewpath, 'extension1@1.0')
- activate('extension1@2.0')
- activate('extension2@1.0')
- all_installed = extensions('--show', 'installed', 'extendee')
- assert 'extension1@1.0' in all_installed
- assert 'extension1@2.0' in all_installed
- assert 'extension2@1.0' in all_installed
- global_activated = extensions('--show', 'activated', 'extendee')
- assert 'extension1@1.0' not in global_activated
- assert 'extension1@2.0' in global_activated
- assert 'extension2@1.0' in global_activated
- view_activated = extensions('--show', 'activated',
- '-v', viewpath,
- 'extendee')
- assert 'extension1@1.0' in view_activated
- assert 'extension1@2.0' not in view_activated
- assert 'extension2@1.0' not in view_activated
- assert os.path.exists(os.path.join(viewpath, 'bin', 'extension1'))
- assert not os.path.exists(os.path.join(viewpath, 'bin', 'extension2'))
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ install("extension2@1.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ view("symlink", viewpath, "extension1@1.0")
+ activate("extension1@2.0")
+ activate("extension2@1.0")
+ all_installed = extensions("--show", "installed", "extendee")
+ assert "extension1@1.0" in all_installed
+ assert "extension1@2.0" in all_installed
+ assert "extension2@1.0" in all_installed
+ global_activated = extensions("--show", "activated", "extendee")
+ assert "extension1@1.0" not in global_activated
+ assert "extension1@2.0" in global_activated
+ assert "extension2@1.0" in global_activated
+ view_activated = extensions("--show", "activated", "-v", viewpath, "extendee")
+ assert "extension1@1.0" in view_activated
+ assert "extension1@2.0" not in view_activated
+ assert "extension2@1.0" not in view_activated
+ assert os.path.exists(os.path.join(viewpath, "bin", "extension1"))
+ assert not os.path.exists(os.path.join(viewpath, "bin", "extension2"))
def test_view_extendee_with_global_activations(
- tmpdir, mock_packages, mock_archive, mock_fetch, config,
- install_mockery):
- install('extendee')
- install('extension1@1.0')
- install('extension1@2.0')
- install('extension2@1.0')
- viewpath = str(tmpdir.mkdir('view'))
- activate('extension1@2.0')
- output = view('symlink', viewpath, 'extension1@1.0')
- assert 'Error: Globally activated extensions cannot be used' in output
+ tmpdir, mock_packages, mock_archive, mock_fetch, config, install_mockery
+):
+ install("extendee")
+ install("extension1@1.0")
+ install("extension1@2.0")
+ install("extension2@1.0")
+ viewpath = str(tmpdir.mkdir("view"))
+ activate("extension1@2.0")
+ output = view("symlink", viewpath, "extension1@1.0")
+ assert "Error: Globally activated extensions cannot be used" in output
def test_view_fails_with_missing_projections_file(tmpdir):
- viewpath = str(tmpdir.mkdir('view'))
- projection_file = os.path.join(str(tmpdir), 'nonexistent')
+ viewpath = str(tmpdir.mkdir("view"))
+ projection_file = os.path.join(str(tmpdir), "nonexistent")
with pytest.raises(SystemExit):
- view('symlink', '--projection-file', projection_file, viewpath, 'foo')
+ view("symlink", "--projection-file", projection_file, viewpath, "foo")
diff --git a/lib/spack/spack/test/cmd_extensions.py b/lib/spack/spack/test/cmd_extensions.py
index dbe79e603a..e68ac434fc 100644
--- a/lib/spack/spack/test/cmd_extensions.py
+++ b/lib/spack/spack/test/cmd_extensions.py
@@ -14,13 +14,14 @@ import spack.config
import spack.extensions
import spack.main
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
class Extension:
"""Helper class to simplify the creation of simple command extension
directory structures with a conventional format for testing.
"""
+
def __init__(self, name, root):
"""Create a command extension.
@@ -33,7 +34,7 @@ class Extension:
self.pname = spack.cmd.python_name(name)
self.root = root
self.main = self.root.ensure(self.pname, dir=True)
- self.cmd = self.main.ensure('cmd', dir=True)
+ self.cmd = self.main.ensure("cmd", dir=True)
def add_command(self, command_name, contents):
"""Add a command to this command extension.
@@ -44,20 +45,21 @@ class Extension:
file."""
spack.cmd.require_cmd_name(command_name)
python_name = spack.cmd.python_name(command_name)
- cmd = self.cmd.ensure(python_name + '.py')
+ cmd = self.cmd.ensure(python_name + ".py")
cmd.write(contents)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def extension_creator(tmpdir, config):
"""Create a basic extension command directory structure"""
+
@contextlib.contextmanager
- def _ce(extension_name='testcommand'):
- root = tmpdir.mkdir('spack-' + extension_name)
+ def _ce(extension_name="testcommand"):
+ root = tmpdir.mkdir("spack-" + extension_name)
extension = Extension(extension_name, root)
- with spack.config.override('config:extensions',
- [str(extension.root)]):
+ with spack.config.override("config:extensions", [str(extension.root)]):
yield extension
+
list_of_modules = list(sys.modules.keys())
try:
yield _ce
@@ -67,11 +69,13 @@ def extension_creator(tmpdir, config):
del sys.modules[module_name]
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def hello_world_extension(extension_creator):
"""Create an extension with a hello-world command."""
with extension_creator() as extension:
- extension.add_command('hello-world', """
+ extension.add_command(
+ "hello-world",
+ """
description = "hello world extension command"
section = "test command"
level = "long"
@@ -82,29 +86,33 @@ def setup_parser(subparser):
def hello_world(parser, args):
print('Hello world!')
-""")
+""",
+ )
yield extension
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def hello_world_cmd(hello_world_extension):
"""Create and return an invokable "hello-world" extension command."""
- yield spack.main.SpackCommand('hello-world')
+ yield spack.main.SpackCommand("hello-world")
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def hello_world_with_module_in_root(extension_creator):
"""Create a "hello-world" extension command with additional code in the
root folder.
"""
+
@contextlib.contextmanager
def _hwwmir(extension_name=None):
- with extension_creator(extension_name) \
- if extension_name else \
- extension_creator() as extension:
+ with extension_creator(
+ extension_name
+ ) if extension_name else extension_creator() as extension:
# Note that the namespace of the extension is derived from the
# fixture.
- extension.add_command('hello', """
+ extension.add_command(
+ "hello",
+ """
# Test an absolute import
from spack.extensions.{ext_pname}.implementation import hello_world
@@ -134,19 +142,23 @@ def hello(parser, args):
hello_folks()
elif args.subcommand == 'global':
print(global_message)
-""".format(ext_pname=extension.pname))
-
- extension.main.ensure('__init__.py')
- implementation \
- = extension.main.ensure('implementation.py')
- implementation.write("""
+""".format(
+ ext_pname=extension.pname
+ ),
+ )
+
+ extension.main.ensure("__init__.py")
+ implementation = extension.main.ensure("implementation.py")
+ implementation.write(
+ """
def hello_world():
print('Hello world!')
def hello_folks():
print('Hello folks!')
-""")
- yield spack.main.SpackCommand('hello')
+"""
+ )
+ yield spack.main.SpackCommand("hello")
yield _hwwmir
@@ -154,7 +166,7 @@ def hello_folks():
def test_simple_command_extension(hello_world_cmd):
"""Basic test of a functioning command."""
output = hello_world_cmd()
- assert 'Hello world!' in output
+ assert "Hello world!" in output
def test_multi_extension_search(hello_world_extension, extension_creator):
@@ -162,8 +174,8 @@ def test_multi_extension_search(hello_world_extension, extension_creator):
place we look.
"""
- with extension_creator('testcommand2'):
- assert ('Hello world') in spack.main.SpackCommand('hello-world')()
+ with extension_creator("testcommand2"):
+ assert ("Hello world") in spack.main.SpackCommand("hello-world")()
def test_duplicate_module_load(hello_world_cmd, capsys):
@@ -177,23 +189,23 @@ def test_duplicate_module_load(hello_world_cmd, capsys):
hw_cmd = spack.cmd.get_command(hello_world_cmd.command_name)
hw_cmd(parser, args)
captured = capsys.readouterr()
- assert captured == ('Hello world!\n', '')
+ assert captured == ("Hello world!\n", "")
-@pytest.mark.parametrize('extension_name',
- [None, 'hyphenated-extension'],
- ids=['simple', 'hyphenated_extension_name'])
+@pytest.mark.parametrize(
+ "extension_name", [None, "hyphenated-extension"], ids=["simple", "hyphenated_extension_name"]
+)
def test_command_with_import(extension_name, hello_world_with_module_in_root):
"""Ensure we can write a functioning command with multiple imported
subcommands, including where the extension name contains a hyphen.
"""
with hello_world_with_module_in_root(extension_name) as hello_world:
- output = hello_world('world')
- assert 'Hello world!' in output
- output = hello_world('folks')
- assert 'Hello folks!' in output
- output = hello_world('global')
- assert 'bar' in output
+ output = hello_world("world")
+ assert "Hello world!" in output
+ output = hello_world("folks")
+ assert "Hello folks!" in output
+ output = hello_world("global")
+ assert "bar" in output
def test_missing_command():
@@ -204,27 +216,24 @@ def test_missing_command():
spack.cmd.get_module("no-such-command")
-@pytest.mark.\
- parametrize('extension_path,expected_exception',
- [('/my/bad/extension',
- spack.extensions.ExtensionNamingError),
- ('', spack.extensions.ExtensionNamingError),
- ('/my/bad/spack--extra-hyphen',
- spack.extensions.ExtensionNamingError),
- ('/my/good/spack-extension',
- spack.extensions.CommandNotFoundError),
- ('/my/still/good/spack-extension/',
- spack.extensions.CommandNotFoundError),
- ('/my/spack-hyphenated-extension',
- spack.extensions.CommandNotFoundError)],
- ids=['no_stem', 'vacuous', 'leading_hyphen',
- 'basic_good', 'trailing_slash', 'hyphenated'])
+@pytest.mark.parametrize(
+ "extension_path,expected_exception",
+ [
+ ("/my/bad/extension", spack.extensions.ExtensionNamingError),
+ ("", spack.extensions.ExtensionNamingError),
+ ("/my/bad/spack--extra-hyphen", spack.extensions.ExtensionNamingError),
+ ("/my/good/spack-extension", spack.extensions.CommandNotFoundError),
+ ("/my/still/good/spack-extension/", spack.extensions.CommandNotFoundError),
+ ("/my/spack-hyphenated-extension", spack.extensions.CommandNotFoundError),
+ ],
+ ids=["no_stem", "vacuous", "leading_hyphen", "basic_good", "trailing_slash", "hyphenated"],
+)
def test_extension_naming(extension_path, expected_exception, config):
"""Ensure that we are correctly validating configured extension paths
for conformity with the rules: the basename should match
``spack-<name>``; <name> may have embedded hyphens but not begin with one.
"""
- with spack.config.override('config:extensions', [extension_path]):
+ with spack.config.override("config:extensions", [extension_path]):
with pytest.raises(expected_exception):
spack.cmd.get_module("no-such-command")
@@ -234,53 +243,51 @@ def test_missing_command_function(extension_creator, capsys):
expected command function defined.
"""
with extension_creator() as extension:
- extension.\
- add_command('bad-cmd',
- """\ndescription = "Empty command implementation"\n""")
+ extension.add_command("bad-cmd", """\ndescription = "Empty command implementation"\n""")
with pytest.raises(SystemExit):
- spack.cmd.get_module('bad-cmd')
+ spack.cmd.get_module("bad-cmd")
capture = capsys.readouterr()
assert "must define function 'bad_cmd'." in capture[1]
def test_get_command_paths(config):
"""Exercise the construction of extension command search paths."""
- extensions = ('extension-1', 'extension-2')
+ extensions = ("extension-1", "extension-2")
ext_paths = []
expected_cmd_paths = []
for ext in extensions:
- ext_path = os.path.join('my', 'path', 'to', 'spack-' + ext)
+ ext_path = os.path.join("my", "path", "to", "spack-" + ext)
ext_paths.append(ext_path)
- path = os.path.join(ext_path, spack.cmd.python_name(ext), 'cmd')
+ path = os.path.join(ext_path, spack.cmd.python_name(ext), "cmd")
path = os.path.abspath(path)
expected_cmd_paths.append(path)
- with spack.config.override('config:extensions', ext_paths):
+ with spack.config.override("config:extensions", ext_paths):
assert spack.extensions.get_command_paths() == expected_cmd_paths
def test_variable_in_extension_path(config, working_env):
"""Test variables in extension paths."""
- os.environ['_MY_VAR'] = os.path.join('my', 'var')
- ext_paths = [
- os.path.join("~", "${_MY_VAR}", "spack-extension-1")
- ]
+ os.environ["_MY_VAR"] = os.path.join("my", "var")
+ ext_paths = [os.path.join("~", "${_MY_VAR}", "spack-extension-1")]
# Home env variable is USERPROFILE on Windows
- home_env = 'USERPROFILE' if is_windows else 'HOME'
+ home_env = "USERPROFILE" if is_windows else "HOME"
expected_ext_paths = [
- os.path.join(os.environ[home_env], os.environ['_MY_VAR'], "spack-extension-1")
+ os.path.join(os.environ[home_env], os.environ["_MY_VAR"], "spack-extension-1")
]
- with spack.config.override('config:extensions', ext_paths):
+ with spack.config.override("config:extensions", ext_paths):
assert spack.extensions.get_extension_paths() == expected_ext_paths
-@pytest.mark.parametrize('command_name,contents,exception',
- [('bad-cmd', 'from oopsie.daisy import bad\n',
- ImportError),
- ('bad-cmd', """var = bad_function_call('blech')\n""",
- NameError),
- ('bad-cmd', ')\n', SyntaxError)],
- ids=['ImportError', 'NameError', 'SyntaxError'])
+@pytest.mark.parametrize(
+ "command_name,contents,exception",
+ [
+ ("bad-cmd", "from oopsie.daisy import bad\n", ImportError),
+ ("bad-cmd", """var = bad_function_call('blech')\n""", NameError),
+ ("bad-cmd", ")\n", SyntaxError),
+ ],
+ ids=["ImportError", "NameError", "SyntaxError"],
+)
def test_failing_command(command_name, contents, exception, extension_creator):
"""Ensure that the configured command fails to import with the specified
error.
diff --git a/lib/spack/spack/test/compilers/basics.py b/lib/spack/spack/test/compilers/basics.py
index 4d4794663d..6405acc7d1 100644
--- a/lib/spack/spack/test/compilers/basics.py
+++ b/lib/spack/spack/test/compilers/basics.py
@@ -23,21 +23,18 @@ from spack.util.executable import ProcessError
@pytest.fixture()
def make_args_for_version(monkeypatch):
-
- def _factory(version, path='/usr/bin/gcc'):
+ def _factory(version, path="/usr/bin/gcc"):
class MockOs(object):
pass
- compiler_name = 'gcc'
+ compiler_name = "gcc"
compiler_cls = compilers.class_for_compiler_name(compiler_name)
- monkeypatch.setattr(compiler_cls, 'cc_version', lambda x: version)
+ monkeypatch.setattr(compiler_cls, "cc_version", lambda x: version)
- compiler_id = compilers.CompilerID(
- os=MockOs, compiler_name=compiler_name, version=None
- )
- variation = compilers.NameVariation(prefix='', suffix='')
+ compiler_id = compilers.CompilerID(os=MockOs, compiler_name=compiler_name, version=None)
+ variation = compilers.NameVariation(prefix="", suffix="")
return compilers.DetectVersionArgs(
- id=compiler_id, variation=variation, language='cc', path=path
+ id=compiler_id, variation=variation, language="cc", path=path
)
return _factory
@@ -45,28 +42,26 @@ def make_args_for_version(monkeypatch):
def test_multiple_conflicting_compiler_definitions(mutable_config):
compiler_def = {
- 'compiler': {
- 'flags': {},
- 'modules': [],
- 'paths': {
- 'cc': 'cc',
- 'cxx': 'cxx',
- 'f77': 'null',
- 'fc': 'null'},
- 'extra_rpaths': [],
- 'operating_system': 'test',
- 'target': 'test',
- 'environment': {},
- 'spec': 'clang@0.0.0'}}
+ "compiler": {
+ "flags": {},
+ "modules": [],
+ "paths": {"cc": "cc", "cxx": "cxx", "f77": "null", "fc": "null"},
+ "extra_rpaths": [],
+ "operating_system": "test",
+ "target": "test",
+ "environment": {},
+ "spec": "clang@0.0.0",
+ }
+ }
compiler_config = [compiler_def, compiler_def]
- compiler_config[0]['compiler']['paths']['f77'] = 'f77'
- mutable_config.update_config('compilers', compiler_config)
+ compiler_config[0]["compiler"]["paths"]["f77"] = "f77"
+ mutable_config.update_config("compilers", compiler_config)
- arch_spec = spack.spec.ArchSpec(('test', 'test', 'test'))
- cspec = compiler_config[0]['compiler']['spec']
+ arch_spec = spack.spec.ArchSpec(("test", "test", "test"))
+ cspec = compiler_config[0]["compiler"]["spec"]
cmp = compilers.compiler_for_spec(cspec, arch_spec)
- assert cmp.f77 == 'f77'
+ assert cmp.f77 == "f77"
def test_get_compiler_duplicates(config):
@@ -74,7 +69,8 @@ def test_get_compiler_duplicates(config):
# the test configuration (so it is not actually a duplicate), but the
# method behaves the same.
cfg_file_to_duplicates = compilers.get_compiler_duplicates(
- 'gcc@4.5.0', spack.spec.ArchSpec('cray-CNL-xeon'))
+ "gcc@4.5.0", spack.spec.ArchSpec("cray-CNL-xeon")
+ )
assert len(cfg_file_to_duplicates) == 1
cfg_file, duplicates = next(iteritems(cfg_file_to_duplicates))
@@ -83,20 +79,18 @@ def test_get_compiler_duplicates(config):
def test_all_compilers(config):
all_compilers = compilers.all_compilers()
- filtered = [x for x in all_compilers if str(x.spec) == 'clang@3.3']
- filtered = [x for x in filtered if x.operating_system == 'SuSE11']
+ filtered = [x for x in all_compilers if str(x.spec) == "clang@3.3"]
+ filtered = [x for x in filtered if x.operating_system == "SuSE11"]
assert len(filtered) == 1
-@pytest.mark.skipif(
- sys.version_info[0] == 2, reason='make_args_for_version requires python 3'
+@pytest.mark.skipif(sys.version_info[0] == 2, reason="make_args_for_version requires python 3")
+@pytest.mark.parametrize(
+ "input_version,expected_version,expected_error",
+ [(None, None, "Couldn't get version for compiler /usr/bin/gcc"), ("4.9", "4.9", None)],
)
-@pytest.mark.parametrize('input_version,expected_version,expected_error', [
- (None, None, "Couldn't get version for compiler /usr/bin/gcc"),
- ('4.9', '4.9', None)
-])
def test_version_detection_is_empty(
- make_args_for_version, input_version, expected_version, expected_error
+ make_args_for_version, input_version, expected_version, expected_error
):
args = make_args_for_version(version=input_version)
result, error = compilers.detect_version(args)
@@ -108,38 +102,26 @@ def test_version_detection_is_empty(
def test_compiler_flags_from_config_are_grouped():
compiler_entry = {
- 'spec': 'intel@17.0.2',
- 'operating_system': 'foo-os',
- 'paths': {
- 'cc': 'cc-path',
- 'cxx': 'cxx-path',
- 'fc': None,
- 'f77': None
- },
- 'flags': {
- 'cflags': '-O0 -foo-flag foo-val'
- },
- 'modules': None
+ "spec": "intel@17.0.2",
+ "operating_system": "foo-os",
+ "paths": {"cc": "cc-path", "cxx": "cxx-path", "fc": None, "f77": None},
+ "flags": {"cflags": "-O0 -foo-flag foo-val"},
+ "modules": None,
}
compiler = compilers.compiler_from_dict(compiler_entry)
- assert any(x == '-foo-flag foo-val' for x in compiler.flags['cflags'])
+ assert any(x == "-foo-flag foo-val" for x in compiler.flags["cflags"])
# Test behavior of flags and UnsupportedCompilerFlag.
# Utility function to test most flags.
default_compiler_entry = {
- 'spec': 'apple-clang@2.0.0',
- 'operating_system': 'foo-os',
- 'paths': {
- 'cc': 'cc-path',
- 'cxx': 'cxx-path',
- 'fc': 'fc-path',
- 'f77': 'f77-path'
- },
- 'flags': {},
- 'modules': None
+ "spec": "apple-clang@2.0.0",
+ "operating_system": "foo-os",
+ "paths": {"cc": "cc-path", "cxx": "cxx-path", "fc": "fc-path", "f77": "f77-path"},
+ "flags": {},
+ "modules": None,
}
@@ -148,13 +130,16 @@ class MockCompiler(Compiler):
def __init__(self):
super(MockCompiler, self).__init__(
cspec="badcompiler@1.0.0",
- operating_system=default_compiler_entry['operating_system'],
+ operating_system=default_compiler_entry["operating_system"],
target=None,
- paths=[default_compiler_entry['paths']['cc'],
- default_compiler_entry['paths']['cxx'],
- default_compiler_entry['paths']['fc'],
- default_compiler_entry['paths']['f77']],
- environment={})
+ paths=[
+ default_compiler_entry["paths"]["cc"],
+ default_compiler_entry["paths"]["cxx"],
+ default_compiler_entry["paths"]["fc"],
+ default_compiler_entry["paths"]["f77"],
+ ],
+ environment={},
+ )
def _get_compiler_link_paths(self, paths):
# Mock os.path.isdir so the link paths don't have to exist
@@ -178,7 +163,7 @@ class MockCompiler(Compiler):
def verbose_flag(self):
return self._verbose_flag
- required_libs = ['libgfortran']
+ required_libs = ["libgfortran"]
def test_implicit_rpaths(dirs_with_libfiles, monkeypatch):
@@ -187,52 +172,52 @@ def test_implicit_rpaths(dirs_with_libfiles, monkeypatch):
def try_all_dirs(*args):
return all_dirs
- monkeypatch.setattr(MockCompiler, '_get_compiler_link_paths', try_all_dirs)
+ monkeypatch.setattr(MockCompiler, "_get_compiler_link_paths", try_all_dirs)
- expected_rpaths = set(lib_to_dirs['libstdc++'] +
- lib_to_dirs['libgfortran'])
+ expected_rpaths = set(lib_to_dirs["libstdc++"] + lib_to_dirs["libgfortran"])
compiler = MockCompiler()
retrieved_rpaths = compiler.implicit_rpaths()
assert set(retrieved_rpaths) == expected_rpaths
-no_flag_dirs = ['/path/to/first/lib', '/path/to/second/lib64']
-no_flag_output = 'ld -L%s -L%s' % tuple(no_flag_dirs)
+no_flag_dirs = ["/path/to/first/lib", "/path/to/second/lib64"]
+no_flag_output = "ld -L%s -L%s" % tuple(no_flag_dirs)
-flag_dirs = ['/path/to/first/with/flag/lib', '/path/to/second/lib64']
-flag_output = 'ld -L%s -L%s' % tuple(flag_dirs)
+flag_dirs = ["/path/to/first/with/flag/lib", "/path/to/second/lib64"]
+flag_output = "ld -L%s -L%s" % tuple(flag_dirs)
def call_compiler(exe, *args, **kwargs):
# This method can replace Executable.__call__ to emulate a compiler that
# changes libraries depending on a flag.
- if '--correct-flag' in exe.exe:
+ if "--correct-flag" in exe.exe:
return flag_output
return no_flag_output
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('exe,flagname', [
- ('cxx', ''),
- ('cxx', 'cxxflags'),
- ('cxx', 'cppflags'),
- ('cxx', 'ldflags'),
- ('cc', ''),
- ('cc', 'cflags'),
- ('cc', 'cppflags'),
- ('fc', ''),
- ('fc', 'fflags'),
- ('f77', 'fflags'),
- ('f77', 'cppflags'),
-])
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize(
+ "exe,flagname",
+ [
+ ("cxx", ""),
+ ("cxx", "cxxflags"),
+ ("cxx", "cppflags"),
+ ("cxx", "ldflags"),
+ ("cc", ""),
+ ("cc", "cflags"),
+ ("cc", "cppflags"),
+ ("fc", ""),
+ ("fc", "fflags"),
+ ("f77", "fflags"),
+ ("f77", "cppflags"),
+ ],
+)
@pytest.mark.enable_compiler_link_paths
def test_get_compiler_link_paths(monkeypatch, exe, flagname):
# create fake compiler that emits mock verbose output
compiler = MockCompiler()
- monkeypatch.setattr(
- spack.util.executable.Executable, '__call__', call_compiler)
+ monkeypatch.setattr(spack.util.executable.Executable, "__call__", call_compiler)
# Grab executable path to test
paths = [getattr(compiler, exe)]
@@ -243,7 +228,7 @@ def test_get_compiler_link_paths(monkeypatch, exe, flagname):
if flagname:
# set flags and test
- setattr(compiler, 'flags', {flagname: ['--correct-flag']})
+ setattr(compiler, "flags", {flagname: ["--correct-flag"]})
dirs = compiler._get_compiler_link_paths(paths)
assert dirs == flag_dirs
@@ -267,30 +252,34 @@ def test_get_compiler_link_paths_no_verbose_flag():
assert dirs == []
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
@pytest.mark.enable_compiler_link_paths
def test_get_compiler_link_paths_load_env(working_env, monkeypatch, tmpdir):
- gcc = str(tmpdir.join('gcc'))
- with open(gcc, 'w') as f:
- f.write("""#!/bin/bash
+ gcc = str(tmpdir.join("gcc"))
+ with open(gcc, "w") as f:
+ f.write(
+ """#!/bin/bash
if [[ $ENV_SET == "1" && $MODULE_LOADED == "1" ]]; then
- echo '""" + no_flag_output + """'
+ echo '"""
+ + no_flag_output
+ + """'
fi
-""")
+"""
+ )
fs.set_executable(gcc)
# Set module load to turn compiler on
def module(*args):
- if args[0] == 'show':
- return ''
- elif args[0] == 'load':
- os.environ['MODULE_LOADED'] = "1"
- monkeypatch.setattr(spack.util.module_cmd, 'module', module)
+ if args[0] == "show":
+ return ""
+ elif args[0] == "load":
+ os.environ["MODULE_LOADED"] = "1"
+
+ monkeypatch.setattr(spack.util.module_cmd, "module", module)
compiler = MockCompiler()
- compiler.environment = {'set': {'ENV_SET': '1'}}
- compiler.modules = ['turn_on']
+ compiler.environment = {"set": {"ENV_SET": "1"}}
+ compiler.modules = ["turn_on"]
dirs = compiler._get_compiler_link_paths([gcc])
assert dirs == no_flag_dirs
@@ -303,7 +292,7 @@ def flag_value(flag, spec):
compiler = MockCompiler()
else:
compiler_entry = copy(default_compiler_entry)
- compiler_entry['spec'] = spec
+ compiler_entry["spec"] = spec
compiler = compilers.compiler_from_dict(compiler_entry)
return getattr(compiler, flag)
@@ -318,21 +307,21 @@ def unsupported_flag_test(flag, spec=None):
except spack.compiler.UnsupportedCompilerFlag:
caught_exception = True
- assert(caught_exception and "Expected exception not thrown.")
+ assert caught_exception and "Expected exception not thrown."
# Verify the expected flag value for the give compiler spec.
def supported_flag_test(flag, flag_value_ref, spec=None):
- assert(flag_value(flag, spec) == flag_value_ref)
+ assert flag_value(flag, spec) == flag_value_ref
# Tests for UnsupportedCompilerFlag exceptions from default
# implementations of flags.
def test_default_flags():
- supported_flag_test("cc_rpath_arg", "-Wl,-rpath,")
+ supported_flag_test("cc_rpath_arg", "-Wl,-rpath,")
supported_flag_test("cxx_rpath_arg", "-Wl,-rpath,")
supported_flag_test("f77_rpath_arg", "-Wl,-rpath,")
- supported_flag_test("fc_rpath_arg", "-Wl,-rpath,")
+ supported_flag_test("fc_rpath_arg", "-Wl,-rpath,")
supported_flag_test("linker_arg", "-Wl,")
unsupported_flag_test("openmp_flag")
unsupported_flag_test("cxx11_flag")
@@ -341,10 +330,10 @@ def test_default_flags():
supported_flag_test("cxx98_flag", "")
unsupported_flag_test("c99_flag")
unsupported_flag_test("c11_flag")
- supported_flag_test("cc_pic_flag", "-fPIC")
+ supported_flag_test("cc_pic_flag", "-fPIC")
supported_flag_test("cxx_pic_flag", "-fPIC")
supported_flag_test("f77_pic_flag", "-fPIC")
- supported_flag_test("fc_pic_flag", "-fPIC")
+ supported_flag_test("fc_pic_flag", "-fPIC")
supported_flag_test("debug_flags", ["-g"])
supported_flag_test("opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3"])
@@ -357,13 +346,11 @@ def test_arm_flags():
supported_flag_test("cxx17_flag", "-std=c++1z", "arm@1.0")
supported_flag_test("c99_flag", "-std=c99", "arm@1.0")
supported_flag_test("c11_flag", "-std=c11", "arm@1.0")
- supported_flag_test("cc_pic_flag", "-fPIC", "arm@1.0")
+ supported_flag_test("cc_pic_flag", "-fPIC", "arm@1.0")
supported_flag_test("cxx_pic_flag", "-fPIC", "arm@1.0")
supported_flag_test("f77_pic_flag", "-fPIC", "arm@1.0")
- supported_flag_test("fc_pic_flag", "-fPIC", "arm@1.0")
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast'],
- 'arm@1.0')
+ supported_flag_test("fc_pic_flag", "-fPIC", "arm@1.0")
+ supported_flag_test("opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast"], "arm@1.0")
def test_cce_flags():
@@ -382,23 +369,20 @@ def test_cce_flags():
unsupported_flag_test("c11_flag", "cce@8.4")
supported_flag_test("c11_flag", "-std=c11", "cce@9.0.1")
supported_flag_test("c11_flag", "-h std=c11,noconform,gnu", "cce@8.5")
- supported_flag_test("cc_pic_flag", "-h PIC", "cce@1.0")
+ supported_flag_test("cc_pic_flag", "-h PIC", "cce@1.0")
supported_flag_test("cxx_pic_flag", "-h PIC", "cce@1.0")
supported_flag_test("f77_pic_flag", "-h PIC", "cce@1.0")
- supported_flag_test("fc_pic_flag", "-h PIC", "cce@1.0")
- supported_flag_test("cc_pic_flag", "-fPIC", "cce@9.1.0")
+ supported_flag_test("fc_pic_flag", "-h PIC", "cce@1.0")
+ supported_flag_test("cc_pic_flag", "-fPIC", "cce@9.1.0")
supported_flag_test("cxx_pic_flag", "-fPIC", "cce@9.1.0")
supported_flag_test("f77_pic_flag", "-fPIC", "cce@9.1.0")
- supported_flag_test("fc_pic_flag", "-fPIC", "cce@9.1.0")
+ supported_flag_test("fc_pic_flag", "-fPIC", "cce@9.1.0")
supported_flag_test("stdcxx_libs", (), "cce@1.0")
- supported_flag_test("debug_flags", ['-g', '-G0', '-G1', '-G2', '-Gfast'],
- 'cce@1.0')
+ supported_flag_test("debug_flags", ["-g", "-G0", "-G1", "-G2", "-Gfast"], "cce@1.0")
def test_apple_clang_flags():
- supported_flag_test(
- "openmp_flag", "-Xpreprocessor -fopenmp", "apple-clang@2.0.0"
- )
+ supported_flag_test("openmp_flag", "-Xpreprocessor -fopenmp", "apple-clang@2.0.0")
unsupported_flag_test("cxx11_flag", "apple-clang@2.0.0")
supported_flag_test("cxx11_flag", "-std=c++11", "apple-clang@4.0.0")
unsupported_flag_test("cxx14_flag", "apple-clang@5.0.0")
@@ -429,32 +413,53 @@ def test_clang_flags():
supported_flag_test("c99_flag", "-std=c99", "clang@3.3")
unsupported_flag_test("c11_flag", "clang@6.0.0")
supported_flag_test("c11_flag", "-std=c11", "clang@6.1.0")
- supported_flag_test("cc_pic_flag", "-fPIC", "clang@3.3")
+ supported_flag_test("cc_pic_flag", "-fPIC", "clang@3.3")
supported_flag_test("cxx_pic_flag", "-fPIC", "clang@3.3")
supported_flag_test("f77_pic_flag", "-fPIC", "clang@3.3")
- supported_flag_test("fc_pic_flag", "-fPIC", "clang@3.3")
- supported_flag_test("debug_flags",
- ['-gcodeview', '-gdwarf-2', '-gdwarf-3', '-gdwarf-4',
- '-gdwarf-5', '-gline-tables-only', '-gmodules', '-gz',
- '-g'],
- 'clang@3.3')
- supported_flag_test("opt_flags",
- ['-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os', '-Oz',
- '-Og', '-O', '-O4'],
- 'clang@3.3')
+ supported_flag_test("fc_pic_flag", "-fPIC", "clang@3.3")
+ supported_flag_test(
+ "debug_flags",
+ [
+ "-gcodeview",
+ "-gdwarf-2",
+ "-gdwarf-3",
+ "-gdwarf-4",
+ "-gdwarf-5",
+ "-gline-tables-only",
+ "-gmodules",
+ "-gz",
+ "-g",
+ ],
+ "clang@3.3",
+ )
+ supported_flag_test(
+ "opt_flags",
+ ["-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os", "-Oz", "-Og", "-O", "-O4"],
+ "clang@3.3",
+ )
def test_aocc_flags():
- supported_flag_test("debug_flags",
- ['-gcodeview', '-gdwarf-2', '-gdwarf-3',
- '-gdwarf-4', '-gdwarf-5', '-gline-tables-only',
- '-gmodules', '-gz', '-g'],
- 'aocc@2.2.0')
- supported_flag_test("opt_flags",
- ['-O0', '-O1', '-O2', '-O3', '-Ofast',
- '-Os', '-Oz', '-Og',
- '-O', '-O4'],
- 'aocc@2.2.0')
+ supported_flag_test(
+ "debug_flags",
+ [
+ "-gcodeview",
+ "-gdwarf-2",
+ "-gdwarf-3",
+ "-gdwarf-4",
+ "-gdwarf-5",
+ "-gline-tables-only",
+ "-gmodules",
+ "-gz",
+ "-g",
+ ],
+ "aocc@2.2.0",
+ )
+ supported_flag_test(
+ "opt_flags",
+ ["-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os", "-Oz", "-Og", "-O", "-O4"],
+ "aocc@2.2.0",
+ )
supported_flag_test("stdcxx_libs", ("-lstdc++",), "aocc@2.2.0")
supported_flag_test("openmp_flag", "-fopenmp", "aocc@2.2.0")
@@ -482,12 +487,11 @@ def test_fj_flags():
supported_flag_test("cxx17_flag", "-std=c++17", "fj@4.0.0")
supported_flag_test("c99_flag", "-std=c99", "fj@4.0.0")
supported_flag_test("c11_flag", "-std=c11", "fj@4.0.0")
- supported_flag_test("cc_pic_flag", "-KPIC", "fj@4.0.0")
+ supported_flag_test("cc_pic_flag", "-KPIC", "fj@4.0.0")
supported_flag_test("cxx_pic_flag", "-KPIC", "fj@4.0.0")
supported_flag_test("f77_pic_flag", "-KPIC", "fj@4.0.0")
- supported_flag_test("fc_pic_flag", "-KPIC", "fj@4.0.0")
- supported_flag_test("opt_flags", ['-O0', '-O1', '-O2', '-O3', '-Ofast'],
- 'fj@4.0.0')
+ supported_flag_test("fc_pic_flag", "-KPIC", "fj@4.0.0")
+ supported_flag_test("opt_flags", ["-O0", "-O1", "-O2", "-O3", "-Ofast"], "fj@4.0.0")
supported_flag_test("debug_flags", "-g", "fj@4.0.0")
@@ -509,19 +513,17 @@ def test_gcc_flags():
supported_flag_test("c99_flag", "-std=c99", "gcc@4.5")
unsupported_flag_test("c11_flag", "gcc@4.6")
supported_flag_test("c11_flag", "-std=c11", "gcc@4.7")
- supported_flag_test("cc_pic_flag", "-fPIC", "gcc@4.0")
+ supported_flag_test("cc_pic_flag", "-fPIC", "gcc@4.0")
supported_flag_test("cxx_pic_flag", "-fPIC", "gcc@4.0")
supported_flag_test("f77_pic_flag", "-fPIC", "gcc@4.0")
- supported_flag_test("fc_pic_flag", "-fPIC", "gcc@4.0")
+ supported_flag_test("fc_pic_flag", "-fPIC", "gcc@4.0")
supported_flag_test("stdcxx_libs", ("-lstdc++",), "gcc@4.1")
- supported_flag_test("debug_flags",
- ['-g', '-gstabs+', '-gstabs', '-gxcoff+', '-gxcoff',
- '-gvms'],
- 'gcc@4.0')
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-Os', '-Ofast',
- '-Og'],
- 'gcc@4.0')
+ supported_flag_test(
+ "debug_flags", ["-g", "-gstabs+", "-gstabs", "-gxcoff+", "-gxcoff", "-gvms"], "gcc@4.0"
+ )
+ supported_flag_test(
+ "opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-Os", "-Ofast", "-Og"], "gcc@4.0"
+ )
def test_intel_flags():
@@ -537,17 +539,15 @@ def test_intel_flags():
supported_flag_test("c99_flag", "-std=c99", "intel@12.0")
unsupported_flag_test("c11_flag", "intel@15.0")
supported_flag_test("c11_flag", "-std=c1x", "intel@16.0")
- supported_flag_test("cc_pic_flag", "-fPIC", "intel@1.0")
+ supported_flag_test("cc_pic_flag", "-fPIC", "intel@1.0")
supported_flag_test("cxx_pic_flag", "-fPIC", "intel@1.0")
supported_flag_test("f77_pic_flag", "-fPIC", "intel@1.0")
- supported_flag_test("fc_pic_flag", "-fPIC", "intel@1.0")
+ supported_flag_test("fc_pic_flag", "-fPIC", "intel@1.0")
supported_flag_test("stdcxx_libs", ("-cxxlib",), "intel@1.0")
- supported_flag_test("debug_flags",
- ['-debug', '-g', '-g0', '-g1', '-g2', '-g3'],
- 'intel@1.0')
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os'],
- 'intel@1.0')
+ supported_flag_test("debug_flags", ["-debug", "-g", "-g0", "-g1", "-g2", "-g3"], "intel@1.0")
+ supported_flag_test(
+ "opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os"], "intel@1.0"
+ )
def test_oneapi_flags():
@@ -556,34 +556,33 @@ def test_oneapi_flags():
supported_flag_test("cxx14_flag", "-std=c++14", "oneapi@2020.8.0.0827")
supported_flag_test("c99_flag", "-std=c99", "oneapi@2020.8.0.0827")
supported_flag_test("c11_flag", "-std=c1x", "oneapi@2020.8.0.0827")
- supported_flag_test("cc_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
+ supported_flag_test("cc_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
supported_flag_test("cxx_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
supported_flag_test("f77_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
- supported_flag_test("fc_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
+ supported_flag_test("fc_pic_flag", "-fPIC", "oneapi@2020.8.0.0827")
supported_flag_test("stdcxx_libs", ("-cxxlib",), "oneapi@2020.8.0.0827")
- supported_flag_test("debug_flags",
- ['-debug', '-g', '-g0', '-g1', '-g2', '-g3'],
- 'oneapi@2020.8.0.0827')
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-Ofast', '-Os'],
- 'oneapi@2020.8.0.0827')
+ supported_flag_test(
+ "debug_flags", ["-debug", "-g", "-g0", "-g1", "-g2", "-g3"], "oneapi@2020.8.0.0827"
+ )
+ supported_flag_test(
+ "opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-Ofast", "-Os"], "oneapi@2020.8.0.0827"
+ )
def test_nag_flags():
supported_flag_test("openmp_flag", "-openmp", "nag@1.0")
supported_flag_test("cxx11_flag", "-std=c++11", "nag@1.0")
- supported_flag_test("cc_pic_flag", "-fPIC", "nag@1.0")
+ supported_flag_test("cc_pic_flag", "-fPIC", "nag@1.0")
supported_flag_test("cxx_pic_flag", "-fPIC", "nag@1.0")
- supported_flag_test("f77_pic_flag", "-PIC", "nag@1.0")
- supported_flag_test("fc_pic_flag", "-PIC", "nag@1.0")
- supported_flag_test("cc_rpath_arg", "-Wl,-rpath,", "nag@1.0")
+ supported_flag_test("f77_pic_flag", "-PIC", "nag@1.0")
+ supported_flag_test("fc_pic_flag", "-PIC", "nag@1.0")
+ supported_flag_test("cc_rpath_arg", "-Wl,-rpath,", "nag@1.0")
supported_flag_test("cxx_rpath_arg", "-Wl,-rpath,", "nag@1.0")
supported_flag_test("f77_rpath_arg", "-Wl,-Wl,,-rpath,,", "nag@1.0")
- supported_flag_test("fc_rpath_arg", "-Wl,-Wl,,-rpath,,", "nag@1.0")
+ supported_flag_test("fc_rpath_arg", "-Wl,-Wl,,-rpath,,", "nag@1.0")
supported_flag_test("linker_arg", "-Wl,-Wl,,", "nag@1.0")
- supported_flag_test("debug_flags", ['-g', '-gline', '-g90'], 'nag@1.0')
- supported_flag_test("opt_flags", ['-O', '-O0', '-O1', '-O2', '-O3', '-O4'],
- 'nag@1.0')
+ supported_flag_test("debug_flags", ["-g", "-gline", "-g90"], "nag@1.0")
+ supported_flag_test("opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"], "nag@1.0")
def test_nvhpc_flags():
@@ -593,14 +592,13 @@ def test_nvhpc_flags():
supported_flag_test("cxx17_flag", "--c++17", "nvhpc@20.9")
supported_flag_test("c99_flag", "-c99", "nvhpc@20.9")
supported_flag_test("c11_flag", "-c11", "nvhpc@20.9")
- supported_flag_test("cc_pic_flag", "-fpic", "nvhpc@20.9")
+ supported_flag_test("cc_pic_flag", "-fpic", "nvhpc@20.9")
supported_flag_test("cxx_pic_flag", "-fpic", "nvhpc@20.9")
supported_flag_test("f77_pic_flag", "-fpic", "nvhpc@20.9")
- supported_flag_test("fc_pic_flag", "-fpic", "nvhpc@20.9")
- supported_flag_test("debug_flags", ['-g', '-gopt'], 'nvhpc@20.9')
- supported_flag_test("opt_flags", ['-O', '-O0', '-O1', '-O2', '-O3', '-O4'],
- 'nvhpc@20.9')
- supported_flag_test("stdcxx_libs", ('-c++libs',), 'nvhpc@20.9')
+ supported_flag_test("fc_pic_flag", "-fpic", "nvhpc@20.9")
+ supported_flag_test("debug_flags", ["-g", "-gopt"], "nvhpc@20.9")
+ supported_flag_test("opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"], "nvhpc@20.9")
+ supported_flag_test("stdcxx_libs", ("-c++libs",), "nvhpc@20.9")
def test_pgi_flags():
@@ -610,14 +608,13 @@ def test_pgi_flags():
supported_flag_test("c99_flag", "-c99", "pgi@12.10")
unsupported_flag_test("c11_flag", "pgi@15.2")
supported_flag_test("c11_flag", "-c11", "pgi@15.3")
- supported_flag_test("cc_pic_flag", "-fpic", "pgi@1.0")
+ supported_flag_test("cc_pic_flag", "-fpic", "pgi@1.0")
supported_flag_test("cxx_pic_flag", "-fpic", "pgi@1.0")
supported_flag_test("f77_pic_flag", "-fpic", "pgi@1.0")
- supported_flag_test("fc_pic_flag", "-fpic", "pgi@1.0")
+ supported_flag_test("fc_pic_flag", "-fpic", "pgi@1.0")
supported_flag_test("stdcxx_libs", ("-pgc++libs",), "pgi@1.0")
- supported_flag_test("debug_flags", ['-g', '-gopt'], 'pgi@1.0')
- supported_flag_test("opt_flags", ['-O', '-O0', '-O1', '-O2', '-O3', '-O4'],
- 'pgi@1.0')
+ supported_flag_test("debug_flags", ["-g", "-gopt"], "pgi@1.0")
+ supported_flag_test("opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-O4"], "pgi@1.0")
def test_xl_flags():
@@ -630,18 +627,15 @@ def test_xl_flags():
unsupported_flag_test("c11_flag", "xl@12.0")
supported_flag_test("c11_flag", "-qlanglvl=extc1x", "xl@12.1")
supported_flag_test("c11_flag", "-std=gnu11", "xl@13.1.2")
- supported_flag_test("cc_pic_flag", "-qpic", "xl@1.0")
+ supported_flag_test("cc_pic_flag", "-qpic", "xl@1.0")
supported_flag_test("cxx_pic_flag", "-qpic", "xl@1.0")
supported_flag_test("f77_pic_flag", "-qpic", "xl@1.0")
- supported_flag_test("fc_pic_flag", "-qpic", "xl@1.0")
+ supported_flag_test("fc_pic_flag", "-qpic", "xl@1.0")
supported_flag_test("fflags", "-qzerosize", "xl@1.0")
- supported_flag_test("debug_flags",
- ['-g', '-g0', '-g1', '-g2', '-g8', '-g9'],
- 'xl@1.0')
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-O4', '-O5',
- '-Ofast'],
- 'xl@1.0')
+ supported_flag_test("debug_flags", ["-g", "-g0", "-g1", "-g2", "-g8", "-g9"], "xl@1.0")
+ supported_flag_test(
+ "opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-O4", "-O5", "-Ofast"], "xl@1.0"
+ )
def test_xl_r_flags():
@@ -654,96 +648,100 @@ def test_xl_r_flags():
unsupported_flag_test("c11_flag", "xl_r@12.0")
supported_flag_test("c11_flag", "-qlanglvl=extc1x", "xl_r@12.1")
supported_flag_test("c11_flag", "-std=gnu11", "xl_r@13.1.2")
- supported_flag_test("cc_pic_flag", "-qpic", "xl_r@1.0")
+ supported_flag_test("cc_pic_flag", "-qpic", "xl_r@1.0")
supported_flag_test("cxx_pic_flag", "-qpic", "xl_r@1.0")
supported_flag_test("f77_pic_flag", "-qpic", "xl_r@1.0")
- supported_flag_test("fc_pic_flag", "-qpic", "xl_r@1.0")
+ supported_flag_test("fc_pic_flag", "-qpic", "xl_r@1.0")
supported_flag_test("fflags", "-qzerosize", "xl_r@1.0")
- supported_flag_test("debug_flags",
- ['-g', '-g0', '-g1', '-g2', '-g8', '-g9'],
- 'xl@1.0')
- supported_flag_test("opt_flags",
- ['-O', '-O0', '-O1', '-O2', '-O3', '-O4', '-O5',
- '-Ofast'],
- 'xl@1.0')
-
-
-@pytest.mark.parametrize('compiler_spec,expected_result', [
- ('gcc@4.7.2', False), ('clang@3.3', False), ('clang@8.0.0', True)
-])
+ supported_flag_test("debug_flags", ["-g", "-g0", "-g1", "-g2", "-g8", "-g9"], "xl@1.0")
+ supported_flag_test(
+ "opt_flags", ["-O", "-O0", "-O1", "-O2", "-O3", "-O4", "-O5", "-Ofast"], "xl@1.0"
+ )
+
+
+@pytest.mark.parametrize(
+ "compiler_spec,expected_result",
+ [("gcc@4.7.2", False), ("clang@3.3", False), ("clang@8.0.0", True)],
+)
def test_detecting_mixed_toolchains(compiler_spec, expected_result, config):
compiler = spack.compilers.compilers_for_spec(compiler_spec).pop()
assert spack.compilers.is_mixed_toolchain(compiler) is expected_result
-@pytest.mark.regression('14798,13733')
+@pytest.mark.regression("14798,13733")
def test_raising_if_compiler_target_is_over_specific(config):
# Compiler entry with an overly specific target
- compilers = [{'compiler': {
- 'spec': 'gcc@9.0.1',
- 'paths': {
- 'cc': '/usr/bin/gcc-9',
- 'cxx': '/usr/bin/g++-9',
- 'f77': '/usr/bin/gfortran-9',
- 'fc': '/usr/bin/gfortran-9'
- },
- 'flags': {},
- 'operating_system': 'ubuntu18.04',
- 'target': 'haswell',
- 'modules': [],
- 'environment': {},
- 'extra_rpaths': []
- }}]
- arch_spec = spack.spec.ArchSpec(('linux', 'ubuntu18.04', 'haswell'))
- with spack.config.override('compilers', compilers):
+ compilers = [
+ {
+ "compiler": {
+ "spec": "gcc@9.0.1",
+ "paths": {
+ "cc": "/usr/bin/gcc-9",
+ "cxx": "/usr/bin/g++-9",
+ "f77": "/usr/bin/gfortran-9",
+ "fc": "/usr/bin/gfortran-9",
+ },
+ "flags": {},
+ "operating_system": "ubuntu18.04",
+ "target": "haswell",
+ "modules": [],
+ "environment": {},
+ "extra_rpaths": [],
+ }
+ }
+ ]
+ arch_spec = spack.spec.ArchSpec(("linux", "ubuntu18.04", "haswell"))
+ with spack.config.override("compilers", compilers):
cfg = spack.compilers.get_compiler_config()
with pytest.raises(ValueError):
- spack.compilers.get_compilers(cfg, 'gcc@9.0.1', arch_spec)
+ spack.compilers.get_compilers(cfg, "gcc@9.0.1", arch_spec)
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_compiler_get_real_version(working_env, monkeypatch, tmpdir):
# Test variables
- test_version = '2.2.2'
+ test_version = "2.2.2"
# Create compiler
- gcc = str(tmpdir.join('gcc'))
- with open(gcc, 'w') as f:
- f.write("""#!/bin/bash
+ gcc = str(tmpdir.join("gcc"))
+ with open(gcc, "w") as f:
+ f.write(
+ """#!/bin/bash
if [[ $CMP_ON == "1" ]]; then
echo "$CMP_VER"
fi
-""")
+"""
+ )
fs.set_executable(gcc)
# Add compiler to config
compiler_info = {
- 'spec': 'gcc@foo',
- 'paths': {
- 'cc': gcc,
- 'cxx': None,
- 'f77': None,
- 'fc': None,
+ "spec": "gcc@foo",
+ "paths": {
+ "cc": gcc,
+ "cxx": None,
+ "f77": None,
+ "fc": None,
},
- 'flags': {},
- 'operating_system': 'fake',
- 'target': 'fake',
- 'modules': ['turn_on'],
- 'environment': {
- 'set': {'CMP_VER': test_version},
+ "flags": {},
+ "operating_system": "fake",
+ "target": "fake",
+ "modules": ["turn_on"],
+ "environment": {
+ "set": {"CMP_VER": test_version},
},
- 'extra_rpaths': [],
+ "extra_rpaths": [],
}
- compiler_dict = {'compiler': compiler_info}
+ compiler_dict = {"compiler": compiler_info}
# Set module load to turn compiler on
def module(*args):
- if args[0] == 'show':
- return ''
- elif args[0] == 'load':
- os.environ['CMP_ON'] = "1"
- monkeypatch.setattr(spack.util.module_cmd, 'module', module)
+ if args[0] == "show":
+ return ""
+ elif args[0] == "load":
+ os.environ["CMP_ON"] = "1"
+
+ monkeypatch.setattr(spack.util.module_cmd, "module", module)
# Run and confirm output
compilers = spack.compilers.get_compilers([compiler_dict])
@@ -755,50 +753,54 @@ fi
def test_compiler_get_real_version_fails(working_env, monkeypatch, tmpdir):
# Test variables
- test_version = '2.2.2'
+ test_version = "2.2.2"
# Create compiler
- gcc = str(tmpdir.join('gcc'))
- with open(gcc, 'w') as f:
- f.write("""#!/bin/bash
+ gcc = str(tmpdir.join("gcc"))
+ with open(gcc, "w") as f:
+ f.write(
+ """#!/bin/bash
if [[ $CMP_ON == "1" ]]; then
echo "$CMP_VER"
fi
-""")
+"""
+ )
fs.set_executable(gcc)
# Add compiler to config
compiler_info = {
- 'spec': 'gcc@foo',
- 'paths': {
- 'cc': gcc,
- 'cxx': None,
- 'f77': None,
- 'fc': None,
+ "spec": "gcc@foo",
+ "paths": {
+ "cc": gcc,
+ "cxx": None,
+ "f77": None,
+ "fc": None,
},
- 'flags': {},
- 'operating_system': 'fake',
- 'target': 'fake',
- 'modules': ['turn_on'],
- 'environment': {
- 'set': {'CMP_VER': test_version},
+ "flags": {},
+ "operating_system": "fake",
+ "target": "fake",
+ "modules": ["turn_on"],
+ "environment": {
+ "set": {"CMP_VER": test_version},
},
- 'extra_rpaths': [],
+ "extra_rpaths": [],
}
- compiler_dict = {'compiler': compiler_info}
+ compiler_dict = {"compiler": compiler_info}
# Set module load to turn compiler on
def module(*args):
- if args[0] == 'show':
- return ''
- elif args[0] == 'load':
- os.environ['SPACK_TEST_CMP_ON'] = "1"
- monkeypatch.setattr(spack.util.module_cmd, 'module', module)
+ if args[0] == "show":
+ return ""
+ elif args[0] == "load":
+ os.environ["SPACK_TEST_CMP_ON"] = "1"
+
+ monkeypatch.setattr(spack.util.module_cmd, "module", module)
# Make compiler fail when getting implicit rpaths
def _call(*args, **kwargs):
raise ProcessError("Failed intentionally")
- monkeypatch.setattr(spack.util.executable.Executable, '__call__', _call)
+
+ monkeypatch.setattr(spack.util.executable.Executable, "__call__", _call)
# Run and no change to environment
compilers = spack.compilers.get_compilers([compiler_dict])
@@ -809,60 +811,64 @@ fi
assert False
except ProcessError:
# Confirm environment does not change after failed call
- assert 'SPACK_TEST_CMP_ON' not in os.environ
+ assert "SPACK_TEST_CMP_ON" not in os.environ
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Bash scripting unsupported on Windows (for now)")
+@pytest.mark.skipif(
+ sys.platform == "win32", reason="Bash scripting unsupported on Windows (for now)"
+)
def test_compiler_flags_use_real_version(working_env, monkeypatch, tmpdir):
# Create compiler
- gcc = str(tmpdir.join('gcc'))
- with open(gcc, 'w') as f:
- f.write("""#!/bin/bash
+ gcc = str(tmpdir.join("gcc"))
+ with open(gcc, "w") as f:
+ f.write(
+ """#!/bin/bash
echo "4.4.4"
-""") # Version for which c++11 flag is -std=c++0x
+"""
+ ) # Version for which c++11 flag is -std=c++0x
fs.set_executable(gcc)
# Add compiler to config
compiler_info = {
- 'spec': 'gcc@foo',
- 'paths': {
- 'cc': gcc,
- 'cxx': None,
- 'f77': None,
- 'fc': None,
+ "spec": "gcc@foo",
+ "paths": {
+ "cc": gcc,
+ "cxx": None,
+ "f77": None,
+ "fc": None,
},
- 'flags': {},
- 'operating_system': 'fake',
- 'target': 'fake',
- 'modules': ['turn_on'],
- 'environment': {},
- 'extra_rpaths': [],
+ "flags": {},
+ "operating_system": "fake",
+ "target": "fake",
+ "modules": ["turn_on"],
+ "environment": {},
+ "extra_rpaths": [],
}
- compiler_dict = {'compiler': compiler_info}
+ compiler_dict = {"compiler": compiler_info}
# Run and confirm output
compilers = spack.compilers.get_compilers([compiler_dict])
assert len(compilers) == 1
compiler = compilers[0]
flag = compiler.cxx11_flag
- assert flag == '-std=c++0x'
+ assert flag == "-std=c++0x"
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Apple Clang and XCode unsupported on Windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="Apple Clang and XCode unsupported on Windows")
def test_apple_clang_setup_environment(mock_executable, monkeypatch):
"""Test a code path that is taken only if the package uses
Xcode on MacOS.
"""
+
class MockPackage(object):
use_xcode = False
- apple_clang_cls = spack.compilers.class_for_compiler_name('apple-clang')
+ apple_clang_cls = spack.compilers.class_for_compiler_name("apple-clang")
compiler = apple_clang_cls(
- spack.spec.CompilerSpec('apple-clang@11.0.0'), 'catalina', 'x86_64', [
- '/usr/bin/clang', '/usr/bin/clang++', None, None
- ]
+ spack.spec.CompilerSpec("apple-clang@11.0.0"),
+ "catalina",
+ "x86_64",
+ ["/usr/bin/clang", "/usr/bin/clang++", None, None],
)
env = spack.util.environment.EnvironmentModifications()
# Check a package that doesn't use xcode and ensure we don't add changes
@@ -872,19 +878,25 @@ def test_apple_clang_setup_environment(mock_executable, monkeypatch):
assert not env
# Prepare mock executables to fake the Xcode environment
- xcrun = mock_executable('xcrun', """
+ xcrun = mock_executable(
+ "xcrun",
+ """
if [[ "$2" == "clang" ]] ; then
echo "/Library/Developer/CommandLineTools/usr/bin/clang"
fi
if [[ "$2" == "clang++" ]] ; then
echo "/Library/Developer/CommandLineTools/usr/bin/clang++"
fi
-""")
- mock_executable('xcode-select', """
+""",
+ )
+ mock_executable(
+ "xcode-select",
+ """
echo "/Library/Developer"
-""")
+""",
+ )
bin_dir = os.path.dirname(xcrun)
- monkeypatch.setenv('PATH', bin_dir, prepend=os.pathsep)
+ monkeypatch.setenv("PATH", bin_dir, prepend=os.pathsep)
def noop(*args, **kwargs):
pass
@@ -897,49 +909,53 @@ echo "/Library/Developer"
return real_listdir(path)
# Set a few operations to noop
- monkeypatch.setattr(shutil, 'copytree', noop)
- monkeypatch.setattr(os, 'unlink', noop)
- monkeypatch.setattr(os, 'symlink', noop)
- monkeypatch.setattr(os, 'listdir', _listdir)
+ monkeypatch.setattr(shutil, "copytree", noop)
+ monkeypatch.setattr(os, "unlink", noop)
+ monkeypatch.setattr(os, "symlink", noop)
+ monkeypatch.setattr(os, "listdir", _listdir)
# Qt is so far the only package that uses this code path, change
# introduced in https://github.com/spack/spack/pull/1832
pkg.use_xcode = True
compiler.setup_custom_environment(pkg, env)
assert len(env) == 3
- assert env.env_modifications[0].name == 'SPACK_CC'
- assert env.env_modifications[1].name == 'SPACK_CXX'
- assert env.env_modifications[2].name == 'DEVELOPER_DIR'
-
-
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('xcode_select_output', [
- '', '/Library/Developer/CommandLineTools'
-])
-def test_xcode_not_available(
- xcode_select_output, mock_executable, monkeypatch
-):
+ assert env.env_modifications[0].name == "SPACK_CC"
+ assert env.env_modifications[1].name == "SPACK_CXX"
+ assert env.env_modifications[2].name == "DEVELOPER_DIR"
+
+
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize("xcode_select_output", ["", "/Library/Developer/CommandLineTools"])
+def test_xcode_not_available(xcode_select_output, mock_executable, monkeypatch):
# Prepare mock executables to fake the Xcode environment
- xcrun = mock_executable('xcrun', """
+ xcrun = mock_executable(
+ "xcrun",
+ """
if [[ "$2" == "clang" ]] ; then
echo "/Library/Developer/CommandLineTools/usr/bin/clang"
fi
if [[ "$2" == "clang++" ]] ; then
echo "/Library/Developer/CommandLineTools/usr/bin/clang++"
fi
- """)
- mock_executable('xcode-select', """
+ """,
+ )
+ mock_executable(
+ "xcode-select",
+ """
echo "{0}"
- """.format(xcode_select_output))
+ """.format(
+ xcode_select_output
+ ),
+ )
bin_dir = os.path.dirname(xcrun)
- monkeypatch.setenv('PATH', bin_dir, prepend=os.pathsep)
+ monkeypatch.setenv("PATH", bin_dir, prepend=os.pathsep)
# Prepare compiler
- apple_clang_cls = spack.compilers.class_for_compiler_name('apple-clang')
+ apple_clang_cls = spack.compilers.class_for_compiler_name("apple-clang")
compiler = apple_clang_cls(
- spack.spec.CompilerSpec('apple-clang@11.0.0'), 'catalina', 'x86_64', [
- '/usr/bin/clang', '/usr/bin/clang++', None, None
- ]
+ spack.spec.CompilerSpec("apple-clang@11.0.0"),
+ "catalina",
+ "x86_64",
+ ["/usr/bin/clang", "/usr/bin/clang++", None, None],
)
env = spack.util.environment.EnvironmentModifications()
@@ -954,7 +970,7 @@ def test_xcode_not_available(
@pytest.mark.enable_compiler_verification
def test_compiler_executable_verification_raises(tmpdir):
compiler = MockCompiler()
- compiler.cc = '/this/path/does/not/exist'
+ compiler.cc = "/this/path/does/not/exist"
with pytest.raises(spack.compiler.CompilerAccessError):
compiler.verify_executables()
@@ -963,13 +979,13 @@ def test_compiler_executable_verification_raises(tmpdir):
@pytest.mark.enable_compiler_verification
def test_compiler_executable_verification_success(tmpdir):
def prepare_executable(name):
- real = str(tmpdir.join('cc').ensure())
+ real = str(tmpdir.join("cc").ensure())
fs.set_executable(real)
setattr(compiler, name, real)
# setup mock compiler with real paths
compiler = MockCompiler()
- for name in ('cc', 'cxx', 'f77', 'fc'):
+ for name in ("cc", "cxx", "f77", "fc"):
prepare_executable(name)
# testing that this doesn't raise an error because the paths exist and
diff --git a/lib/spack/spack/test/compilers/detection.py b/lib/spack/spack/test/compilers/detection.py
index a0b81f768f..d4f3c83c10 100644
--- a/lib/spack/spack/test/compilers/detection.py
+++ b/lib/spack/spack/test/compilers/detection.py
@@ -27,294 +27,379 @@ import spack.util.module_cmd
from spack.operating_systems.cray_frontend import CrayFrontend
-@pytest.mark.parametrize('version_str,expected_version', [
- ('Arm C/C++/Fortran Compiler version 19.0 (build number 73) (based on LLVM 7.0.2)\n'
- 'Target: aarch64--linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir:\n'
- '/opt/arm/arm-hpc-compiler-19.0_Generic-AArch64_RHEL-7_aarch64-linux/bin\n',
- '19.0.0.73'),
- ('Arm C/C++/Fortran Compiler version 19.3.1 (build number 75) (based on LLVM 7.0.2)\n'
- 'Target: aarch64--linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir:\n'
- '/opt/arm/arm-hpc-compiler-19.0_Generic-AArch64_RHEL-7_aarch64-linux/bin\n',
- '19.3.1.75')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ (
+ "Arm C/C++/Fortran Compiler version 19.0 (build number 73) (based on LLVM 7.0.2)\n"
+ "Target: aarch64--linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir:\n"
+ "/opt/arm/arm-hpc-compiler-19.0_Generic-AArch64_RHEL-7_aarch64-linux/bin\n",
+ "19.0.0.73",
+ ),
+ (
+ "Arm C/C++/Fortran Compiler version 19.3.1 (build number 75) (based on LLVM 7.0.2)\n"
+ "Target: aarch64--linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir:\n"
+ "/opt/arm/arm-hpc-compiler-19.0_Generic-AArch64_RHEL-7_aarch64-linux/bin\n",
+ "19.3.1.75",
+ ),
+ ],
+)
def test_arm_version_detection(version_str, expected_version):
version = spack.compilers.arm.Arm.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- ('Cray C : Version 8.4.6 Mon Apr 15, 2019 12:13:39\n', '8.4.6'),
- ('Cray C++ : Version 8.4.6 Mon Apr 15, 2019 12:13:45\n', '8.4.6'),
- ('Cray Fortran : Version 8.4.6 Mon Apr 15, 2019 12:13:55\n', '8.4.6')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ ("Cray C : Version 8.4.6 Mon Apr 15, 2019 12:13:39\n", "8.4.6"),
+ ("Cray C++ : Version 8.4.6 Mon Apr 15, 2019 12:13:45\n", "8.4.6"),
+ ("Cray Fortran : Version 8.4.6 Mon Apr 15, 2019 12:13:55\n", "8.4.6"),
+ ],
+)
def test_cce_version_detection(version_str, expected_version):
version = spack.compilers.cce.Cce.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.regression('10191')
-@pytest.mark.parametrize('version_str,expected_version', [
- # macOS clang
- ('Apple clang version 11.0.0 (clang-1100.0.33.8)\n'
- 'Target: x86_64-apple-darwin18.7.0\n'
- 'Thread model: posix\n'
- 'InstalledDir: '
- '/Applications/Xcode.app/Contents/Developer/Toolchains/'
- 'XcodeDefault.xctoolchain/usr/bin\n',
- '11.0.0'),
- ('Apple LLVM version 7.0.2 (clang-700.1.81)\n'
- 'Target: x86_64-apple-darwin15.2.0\n'
- 'Thread model: posix\n', '7.0.2'),
-])
-def test_apple_clang_version_detection(
- version_str, expected_version
-):
- cls = spack.compilers.class_for_compiler_name('apple-clang')
+@pytest.mark.regression("10191")
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # macOS clang
+ (
+ "Apple clang version 11.0.0 (clang-1100.0.33.8)\n"
+ "Target: x86_64-apple-darwin18.7.0\n"
+ "Thread model: posix\n"
+ "InstalledDir: "
+ "/Applications/Xcode.app/Contents/Developer/Toolchains/"
+ "XcodeDefault.xctoolchain/usr/bin\n",
+ "11.0.0",
+ ),
+ (
+ "Apple LLVM version 7.0.2 (clang-700.1.81)\n"
+ "Target: x86_64-apple-darwin15.2.0\n"
+ "Thread model: posix\n",
+ "7.0.2",
+ ),
+ ],
+)
+def test_apple_clang_version_detection(version_str, expected_version):
+ cls = spack.compilers.class_for_compiler_name("apple-clang")
version = cls.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.regression('10191')
-@pytest.mark.parametrize('version_str,expected_version', [
- # LLVM Clang
- ('clang version 6.0.1-svn334776-1~exp1~20181018152737.116 (branches/release_60)\n'
- 'Target: x86_64-pc-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /usr/bin\n', '6.0.1'),
- ('clang version 3.1 (trunk 149096)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n', '3.1'),
- ('clang version 8.0.0-3~ubuntu18.04.1 (tags/RELEASE_800/final)\n'
- 'Target: x86_64-pc-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /usr/bin\n', '8.0.0'),
- ('clang version 9.0.1-+201911131414230800840845a1eea-1~exp1~20191113231141.78\n'
- 'Target: x86_64-pc-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /usr/bin\n', '9.0.1'),
- ('clang version 8.0.0-3 (tags/RELEASE_800/final)\n'
- 'Target: aarch64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /usr/bin\n', '8.0.0'),
- ('clang version 11.0.0\n'
- 'Target: aarch64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /usr/bin\n', '11.0.0')
-])
+@pytest.mark.regression("10191")
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # LLVM Clang
+ (
+ "clang version 6.0.1-svn334776-1~exp1~20181018152737.116 (branches/release_60)\n"
+ "Target: x86_64-pc-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /usr/bin\n",
+ "6.0.1",
+ ),
+ (
+ "clang version 3.1 (trunk 149096)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n",
+ "3.1",
+ ),
+ (
+ "clang version 8.0.0-3~ubuntu18.04.1 (tags/RELEASE_800/final)\n"
+ "Target: x86_64-pc-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /usr/bin\n",
+ "8.0.0",
+ ),
+ (
+ "clang version 9.0.1-+201911131414230800840845a1eea-1~exp1~20191113231141.78\n"
+ "Target: x86_64-pc-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /usr/bin\n",
+ "9.0.1",
+ ),
+ (
+ "clang version 8.0.0-3 (tags/RELEASE_800/final)\n"
+ "Target: aarch64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /usr/bin\n",
+ "8.0.0",
+ ),
+ (
+ "clang version 11.0.0\n"
+ "Target: aarch64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /usr/bin\n",
+ "11.0.0",
+ ),
+ ],
+)
def test_clang_version_detection(version_str, expected_version):
- version = spack.compilers.clang.Clang.extract_version_from_output(
- version_str
- )
+ version = spack.compilers.clang.Clang.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- # C compiler
- ('fcc (FCC) 4.0.0a 20190314\n'
- 'simulating gcc version 6.1\n'
- 'Copyright FUJITSU LIMITED 2019',
- '4.0.0a'),
- # C++ compiler
- ('FCC (FCC) 4.0.0a 20190314\n'
- 'simulating gcc version 6.1\n'
- 'Copyright FUJITSU LIMITED 2019',
- '4.0.0a'),
- # Fortran compiler
- ('frt (FRT) 4.0.0a 20190314\n'
- 'Copyright FUJITSU LIMITED 2019',
- '4.0.0a')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # C compiler
+ (
+ "fcc (FCC) 4.0.0a 20190314\n"
+ "simulating gcc version 6.1\n"
+ "Copyright FUJITSU LIMITED 2019",
+ "4.0.0a",
+ ),
+ # C++ compiler
+ (
+ "FCC (FCC) 4.0.0a 20190314\n"
+ "simulating gcc version 6.1\n"
+ "Copyright FUJITSU LIMITED 2019",
+ "4.0.0a",
+ ),
+ # Fortran compiler
+ ("frt (FRT) 4.0.0a 20190314\n" "Copyright FUJITSU LIMITED 2019", "4.0.0a"),
+ ],
+)
def test_fj_version_detection(version_str, expected_version):
version = spack.compilers.fj.Fj.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- # Output of -dumpversion changed to return only major from GCC 7
- ('4.4.7\n', '4.4.7'),
- ('7\n', '7')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # Output of -dumpversion changed to return only major from GCC 7
+ ("4.4.7\n", "4.4.7"),
+ ("7\n", "7"),
+ ],
+)
def test_gcc_version_detection(version_str, expected_version):
version = spack.compilers.gcc.Gcc.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- ('icpc (ICC) 12.1.5 20120612\n'
- 'Copyright (C) 1985-2012 Intel Corporation. All rights reserved.\n',
- '12.1.5'),
- ('ifort (IFORT) 12.1.5 20120612\n'
- 'Copyright (C) 1985-2012 Intel Corporation. All rights reserved.\n',
- '12.1.5')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ (
+ "icpc (ICC) 12.1.5 20120612\n"
+ "Copyright (C) 1985-2012 Intel Corporation. All rights reserved.\n",
+ "12.1.5",
+ ),
+ (
+ "ifort (IFORT) 12.1.5 20120612\n"
+ "Copyright (C) 1985-2012 Intel Corporation. All rights reserved.\n",
+ "12.1.5",
+ ),
+ ],
+)
def test_intel_version_detection(version_str, expected_version):
- version = spack.compilers.intel.Intel.extract_version_from_output(
- version_str
- )
+ version = spack.compilers.intel.Intel.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- ( # ICX/ICPX
- 'Intel(R) oneAPI DPC++ Compiler 2021.1.2 (2020.10.0.1214)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /made/up/path',
- '2021.1.2'
- ),
- ( # ICX/ICPX
- 'Intel(R) oneAPI DPC++ Compiler 2021.2.0 (2021.2.0.20210317)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /made/up/path',
- '2021.2.0'
- ),
- ( # ICX/ICPX
- 'Intel(R) oneAPI DPC++/C++ Compiler 2021.3.0 (2021.3.0.20210619)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /made/up/path',
- '2021.3.0'
- ),
- ( # ICX/ICPX
- 'Intel(R) oneAPI DPC++/C++ Compiler 2021.4.0 (2021.4.0.20210924)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n'
- 'InstalledDir: /made/up/path',
- '2021.4.0'
- ),
- ( # IFX
- 'ifx (IFORT) 2021.1.2 Beta 20201214\n'
- 'Copyright (C) 1985-2020 Intel Corporation. All rights reserved.',
- '2021.1.2'
- ),
- ( # IFX
- 'ifx (IFORT) 2021.2.0 Beta 20210317\n'
- 'Copyright (C) 1985-2020 Intel Corporation. All rights reserved.',
- '2021.2.0'
- ),
- ( # IFX
- 'ifx (IFORT) 2021.3.0 Beta 20210619\n'
- 'Copyright (C) 1985-2020 Intel Corporation. All rights reserved.',
- '2021.3.0'
- ),
- ( # IFX
- 'ifx (IFORT) 2021.4.0 Beta 20210924\n'
- 'Copyright (C) 1985-2021 Intel Corporation. All rights reserved.',
- '2021.4.0'
- ),
- ( # IFX
- 'ifx (IFORT) 2022.0.0 20211123\n'
- 'Copyright (C) 1985-2021 Intel Corporation. All rights reserved.',
- '2022.0.0'
- ),
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ ( # ICX/ICPX
+ "Intel(R) oneAPI DPC++ Compiler 2021.1.2 (2020.10.0.1214)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /made/up/path",
+ "2021.1.2",
+ ),
+ ( # ICX/ICPX
+ "Intel(R) oneAPI DPC++ Compiler 2021.2.0 (2021.2.0.20210317)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /made/up/path",
+ "2021.2.0",
+ ),
+ ( # ICX/ICPX
+ "Intel(R) oneAPI DPC++/C++ Compiler 2021.3.0 (2021.3.0.20210619)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /made/up/path",
+ "2021.3.0",
+ ),
+ ( # ICX/ICPX
+ "Intel(R) oneAPI DPC++/C++ Compiler 2021.4.0 (2021.4.0.20210924)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n"
+ "InstalledDir: /made/up/path",
+ "2021.4.0",
+ ),
+ ( # IFX
+ "ifx (IFORT) 2021.1.2 Beta 20201214\n"
+ "Copyright (C) 1985-2020 Intel Corporation. All rights reserved.",
+ "2021.1.2",
+ ),
+ ( # IFX
+ "ifx (IFORT) 2021.2.0 Beta 20210317\n"
+ "Copyright (C) 1985-2020 Intel Corporation. All rights reserved.",
+ "2021.2.0",
+ ),
+ ( # IFX
+ "ifx (IFORT) 2021.3.0 Beta 20210619\n"
+ "Copyright (C) 1985-2020 Intel Corporation. All rights reserved.",
+ "2021.3.0",
+ ),
+ ( # IFX
+ "ifx (IFORT) 2021.4.0 Beta 20210924\n"
+ "Copyright (C) 1985-2021 Intel Corporation. All rights reserved.",
+ "2021.4.0",
+ ),
+ ( # IFX
+ "ifx (IFORT) 2022.0.0 20211123\n"
+ "Copyright (C) 1985-2021 Intel Corporation. All rights reserved.",
+ "2022.0.0",
+ ),
+ ],
+)
def test_oneapi_version_detection(version_str, expected_version):
- version = spack.compilers.oneapi.Oneapi.extract_version_from_output(
- version_str
- )
+ version = spack.compilers.oneapi.Oneapi.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- ('NAG Fortran Compiler Release 6.0(Hibiya) Build 1037\n'
- 'Product NPL6A60NA for x86-64 Linux\n', '6.0')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ (
+ "NAG Fortran Compiler Release 6.0(Hibiya) Build 1037\n"
+ "Product NPL6A60NA for x86-64 Linux\n",
+ "6.0",
+ )
+ ],
+)
def test_nag_version_detection(version_str, expected_version):
version = spack.compilers.nag.Nag.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- # C compiler on x86-64
- ('nvc 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # C++ compiler on x86-64
- ('nvc++ 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # Fortran compiler on x86-64
- ('nvfortran 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # C compiler on Power
- ('nvc 20.9-0 linuxpower target on Linuxpower\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # C++ compiler on Power
- ('nvc++ 20.9-0 linuxpower target on Linuxpower\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # Fortran compiler on Power
- ('nvfortran 20.9-0 linuxpower target on Linuxpower\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # C compiler on Arm
- ('nvc 20.9-0 linuxarm64 target on aarch64 Linux\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # C++ compiler on Arm
- ('nvc++ 20.9-0 linuxarm64 target on aarch64 Linux\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9'),
- # Fortran compiler on Arm
- ('nvfortran 20.9-0 linuxarm64 target on aarch64 Linux\n'
- 'NVIDIA Compilers and Tools\n'
- 'Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.',
- '20.9')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # C compiler on x86-64
+ (
+ "nvc 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # C++ compiler on x86-64
+ (
+ "nvc++ 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # Fortran compiler on x86-64
+ (
+ "nvfortran 20.9-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # C compiler on Power
+ (
+ "nvc 20.9-0 linuxpower target on Linuxpower\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # C++ compiler on Power
+ (
+ "nvc++ 20.9-0 linuxpower target on Linuxpower\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # Fortran compiler on Power
+ (
+ "nvfortran 20.9-0 linuxpower target on Linuxpower\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # C compiler on Arm
+ (
+ "nvc 20.9-0 linuxarm64 target on aarch64 Linux\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # C++ compiler on Arm
+ (
+ "nvc++ 20.9-0 linuxarm64 target on aarch64 Linux\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ # Fortran compiler on Arm
+ (
+ "nvfortran 20.9-0 linuxarm64 target on aarch64 Linux\n"
+ "NVIDIA Compilers and Tools\n"
+ "Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.",
+ "20.9",
+ ),
+ ],
+)
def test_nvhpc_version_detection(version_str, expected_version):
- version = spack.compilers.nvhpc.Nvhpc.extract_version_from_output(
- version_str
- )
+ version = spack.compilers.nvhpc.Nvhpc.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- # Output on x86-64
- ('pgcc 15.10-0 64-bit target on x86-64 Linux -tp sandybridge\n'
- 'The Portland Group - PGI Compilers and Tools\n'
- 'Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.\n',
- '15.10'),
- # Output on PowerPC
- ('pgcc 17.4-0 linuxpower target on Linuxpower\n'
- 'PGI Compilers and Tools\n'
- 'Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.\n',
- '17.4'),
- # Output when LLVM-enabled
- ('pgcc-llvm 18.4-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n'
- 'PGI Compilers and Tools\n'
- 'Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.\n',
- '18.4')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ # Output on x86-64
+ (
+ "pgcc 15.10-0 64-bit target on x86-64 Linux -tp sandybridge\n"
+ "The Portland Group - PGI Compilers and Tools\n"
+ "Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.\n",
+ "15.10",
+ ),
+ # Output on PowerPC
+ (
+ "pgcc 17.4-0 linuxpower target on Linuxpower\n"
+ "PGI Compilers and Tools\n"
+ "Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.\n",
+ "17.4",
+ ),
+ # Output when LLVM-enabled
+ (
+ "pgcc-llvm 18.4-0 LLVM 64-bit target on x86-64 Linux -tp haswell\n"
+ "PGI Compilers and Tools\n"
+ "Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.\n",
+ "18.4",
+ ),
+ ],
+)
def test_pgi_version_detection(version_str, expected_version):
version = spack.compilers.pgi.Pgi.extract_version_from_output(version_str)
assert version == expected_version
-@pytest.mark.parametrize('version_str,expected_version', [
- ('IBM XL C/C++ for Linux, V11.1 (5724-X14)\n'
- 'Version: 11.01.0000.0000\n', '11.1'),
- ('IBM XL Fortran for Linux, V13.1 (5724-X16)\n'
- 'Version: 13.01.0000.0000\n', '13.1'),
- ('IBM XL C/C++ for AIX, V11.1 (5724-X13)\n'
- 'Version: 11.01.0000.0009\n', '11.1'),
- ('IBM XL C/C++ Advanced Edition for Blue Gene/P, V9.0\n'
- 'Version: 09.00.0000.0017\n', '9.0')
-])
+@pytest.mark.parametrize(
+ "version_str,expected_version",
+ [
+ ("IBM XL C/C++ for Linux, V11.1 (5724-X14)\n" "Version: 11.01.0000.0000\n", "11.1"),
+ ("IBM XL Fortran for Linux, V13.1 (5724-X16)\n" "Version: 13.01.0000.0000\n", "13.1"),
+ ("IBM XL C/C++ for AIX, V11.1 (5724-X13)\n" "Version: 11.01.0000.0009\n", "11.1"),
+ (
+ "IBM XL C/C++ Advanced Edition for Blue Gene/P, V9.0\n" "Version: 09.00.0000.0017\n",
+ "9.0",
+ ),
+ ],
+)
def test_xl_version_detection(version_str, expected_version):
version = spack.compilers.xl.Xl.extract_version_from_output(version_str)
assert version == expected_version
@@ -323,40 +408,40 @@ def test_xl_version_detection(version_str, expected_version):
assert version == expected_version
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('compiler,version', [
- ('gcc', '8.1.0'),
- ('gcc', '1.0.0-foo'),
- ('pgi', '19.1'),
- ('pgi', '19.1a'),
- ('intel', '9.0.0'),
- ('intel', '0.0.0-foobar')
- # ('oneapi', '2021.1'),
- # ('oneapi', '2021.1-foobar')
-])
-def test_cray_frontend_compiler_detection(
- compiler, version, tmpdir, monkeypatch, working_env
-):
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize(
+ "compiler,version",
+ [
+ ("gcc", "8.1.0"),
+ ("gcc", "1.0.0-foo"),
+ ("pgi", "19.1"),
+ ("pgi", "19.1a"),
+ ("intel", "9.0.0"),
+ ("intel", "0.0.0-foobar")
+ # ('oneapi', '2021.1'),
+ # ('oneapi', '2021.1-foobar')
+ ],
+)
+def test_cray_frontend_compiler_detection(compiler, version, tmpdir, monkeypatch, working_env):
"""Test that the Cray frontend properly finds compilers form modules"""
# setup the fake compiler directory
compiler_dir = tmpdir.join(compiler)
- compiler_exe = compiler_dir.join('cc').ensure()
+ compiler_exe = compiler_dir.join("cc").ensure()
fs.set_executable(str(compiler_exe))
# mock modules
def _module(cmd, *args):
- module_name = '%s/%s' % (compiler, version)
- module_contents = 'prepend-path PATH %s' % compiler_dir
- if cmd == 'avail':
- return module_name if compiler in args[0] else ''
- if cmd == 'show':
- return module_contents if module_name in args else ''
- monkeypatch.setattr(spack.operating_systems.cray_frontend, 'module',
- _module)
+ module_name = "%s/%s" % (compiler, version)
+ module_contents = "prepend-path PATH %s" % compiler_dir
+ if cmd == "avail":
+ return module_name if compiler in args[0] else ""
+ if cmd == "show":
+ return module_contents if module_name in args else ""
+
+ monkeypatch.setattr(spack.operating_systems.cray_frontend, "module", _module)
# remove PATH variable
- os.environ.pop('PATH', None)
+ os.environ.pop("PATH", None)
# get a CrayFrontend object
cray_fe_os = CrayFrontend()
@@ -365,31 +450,40 @@ def test_cray_frontend_compiler_detection(
assert paths == [str(compiler_dir)]
-@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'
- 'Thread model: posix\n', '3.0.0'
- ),
- ('AMD clang version 11.0.0 (CLANG: AOCC_2.3.0-Build#85 2020_11_10)'
- '(based on LLVM Mirror.Version.11.0.0)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n', '2.3.0'
- ),
- ('AMD clang version 10.0.0 (CLANG: AOCC_2.2.0-Build#93 2020_06_25)'
- '(based on LLVM Mirror.Version.10.0.0)\n'
- 'Target: x86_64-unknown-linux-gnu\n'
- 'Thread model: posix\n', '2.2.0'
- )
-])
+@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"
+ "Thread model: posix\n",
+ "3.0.0",
+ ),
+ (
+ "AMD clang version 11.0.0 (CLANG: AOCC_2.3.0-Build#85 2020_11_10)"
+ "(based on LLVM Mirror.Version.11.0.0)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n",
+ "2.3.0",
+ ),
+ (
+ "AMD clang version 10.0.0 (CLANG: AOCC_2.2.0-Build#93 2020_06_25)"
+ "(based on LLVM Mirror.Version.10.0.0)\n"
+ "Target: x86_64-unknown-linux-gnu\n"
+ "Thread model: posix\n",
+ "2.2.0",
+ ),
+ ],
+)
def test_aocc_version_detection(version_str, expected_version):
- version = spack.compilers.aocc.Aocc.extract_version_from_output(
- version_str
- )
+ version = spack.compilers.aocc.Aocc.extract_version_from_output(version_str)
assert version == expected_version
diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py
index 845504ff0c..d4f417239f 100644
--- a/lib/spack/spack/test/concretize.py
+++ b/lib/spack/spack/test/concretize.py
@@ -24,7 +24,7 @@ from spack.concretize import find_spec
from spack.spec import Spec
from spack.version import ver
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def check_spec(abstract, concrete):
@@ -68,21 +68,32 @@ def check_concretize(abstract_spec):
@pytest.fixture(
params=[
# no_deps
- 'libelf', 'libelf@0.8.13',
+ "libelf",
+ "libelf@0.8.13",
# dag
- 'callpath', 'mpileaks', 'libelf',
+ "callpath",
+ "mpileaks",
+ "libelf",
# variant
- 'mpich+debug', 'mpich~debug', 'mpich debug=True', 'mpich',
+ "mpich+debug",
+ "mpich~debug",
+ "mpich debug=True",
+ "mpich",
# compiler flags
'mpich cppflags="-O3"',
# with virtual
- 'mpileaks ^mpi', 'mpileaks ^mpi@:1.1', 'mpileaks ^mpi@2:',
- 'mpileaks ^mpi@2.1', 'mpileaks ^mpi@2.2', 'mpileaks ^mpi@2.2',
- 'mpileaks ^mpi@:1', 'mpileaks ^mpi@1.2:2',
+ "mpileaks ^mpi",
+ "mpileaks ^mpi@:1.1",
+ "mpileaks ^mpi@2:",
+ "mpileaks ^mpi@2.1",
+ "mpileaks ^mpi@2.2",
+ "mpileaks ^mpi@2.2",
+ "mpileaks ^mpi@:1",
+ "mpileaks ^mpi@1.2:2",
# conflict not triggered
- 'conflict',
- 'conflict%clang~foo',
- 'conflict-parent%gcc'
+ "conflict",
+ "conflict%clang~foo",
+ "conflict-parent%gcc",
]
)
def spec(request):
@@ -90,39 +101,48 @@ def spec(request):
return request.param
-@pytest.fixture(params=[
- # Mocking the host detection
- 'haswell', 'broadwell', 'skylake', 'icelake',
- # Using preferred targets from packages.yaml
- 'icelake-preference', 'cannonlake-preference'
-])
+@pytest.fixture(
+ params=[
+ # Mocking the host detection
+ "haswell",
+ "broadwell",
+ "skylake",
+ "icelake",
+ # Using preferred targets from packages.yaml
+ "icelake-preference",
+ "cannonlake-preference",
+ ]
+)
def current_host(request, monkeypatch):
# is_preference is not empty if we want to supply the
# preferred target via packages.yaml
- cpu, _, is_preference = request.param.partition('-')
+ cpu, _, is_preference = request.param.partition("-")
target = archspec.cpu.TARGETS[cpu]
- monkeypatch.setattr(spack.platforms.Test, 'default', cpu)
- monkeypatch.setattr(spack.platforms.Test, 'front_end', cpu)
+ monkeypatch.setattr(spack.platforms.Test, "default", cpu)
+ monkeypatch.setattr(spack.platforms.Test, "front_end", cpu)
if not is_preference:
- monkeypatch.setattr(archspec.cpu, 'host', lambda: target)
+ monkeypatch.setattr(archspec.cpu, "host", lambda: target)
yield target
else:
- with spack.config.override('packages:all', {'target': [cpu]}):
+ with spack.config.override("packages:all", {"target": [cpu]}):
yield target
@pytest.fixture()
def repo_with_changing_recipe(tmpdir_factory, mutable_mock_repo):
- repo_namespace = 'changing'
+ repo_namespace = "changing"
repo_dir = tmpdir_factory.mktemp(repo_namespace)
- repo_dir.join('repo.yaml').write("""
+ repo_dir.join("repo.yaml").write(
+ """
repo:
namespace: changing
-""", ensure=True)
+""",
+ ensure=True,
+ )
- packages_dir = repo_dir.ensure('packages', dir=True)
+ packages_dir = repo_dir.ensure("packages", dir=True)
root_pkg_str = """
class Root(Package):
homepage = "http://www.example.com"
@@ -133,9 +153,7 @@ class Root(Package):
conflicts('changing~foo')
"""
- packages_dir.join('root', 'package.py').write(
- root_pkg_str, ensure=True
- )
+ packages_dir.join("root", "package.py").write(root_pkg_str, ensure=True)
changing_template = """
class Changing(Package):
@@ -160,9 +178,9 @@ class Changing(Package):
class _ChangingPackage(object):
default_context = [
- ('delete_version', True),
- ('delete_variant', False),
- ('add_variant', False)
+ ("delete_version", True),
+ ("delete_variant", False),
+ ("add_variant", False),
]
def __init__(self, repo_directory):
@@ -179,28 +197,22 @@ class Changing(Package):
# TODO: this mocks a change in the recipe that should happen in a
# TODO: different process space. Leaving this comment as a hint
# TODO: in case tests using this fixture start failing.
- if sys.modules.get('spack.pkg.changing.changing'):
- del sys.modules['spack.pkg.changing.changing']
- del sys.modules['spack.pkg.changing.root']
- del sys.modules['spack.pkg.changing']
+ if sys.modules.get("spack.pkg.changing.changing"):
+ del sys.modules["spack.pkg.changing.changing"]
+ del sys.modules["spack.pkg.changing.root"]
+ del sys.modules["spack.pkg.changing"]
# Change the recipe
t = jinja2.Template(changing_template)
changing_pkg_str = t.render(**context)
- packages_dir.join('changing', 'package.py').write(
- changing_pkg_str, ensure=True
- )
+ packages_dir.join("changing", "package.py").write(changing_pkg_str, ensure=True)
# Re-add the repository
self.repo = spack.repo.Repo(str(self.repo_dir))
mutable_mock_repo.put_first(self.repo)
_changing_pkg = _ChangingPackage(repo_dir)
- _changing_pkg.change({
- 'delete_version': False,
- 'delete_variant': False,
- 'add_variant': False
- })
+ _changing_pkg.change({"delete_version": False, "delete_variant": False, "add_variant": False})
return _changing_pkg
@@ -208,12 +220,15 @@ class Changing(Package):
@pytest.fixture()
def additional_repo_with_c(tmpdir_factory, mutable_mock_repo):
"""Add a repository with a simple package"""
- repo_dir = tmpdir_factory.mktemp('myrepo')
- repo_dir.join('repo.yaml').write("""
+ repo_dir = tmpdir_factory.mktemp("myrepo")
+ repo_dir.join("repo.yaml").write(
+ """
repo:
namespace: myrepo
-""", ensure=True)
- packages_dir = repo_dir.ensure('packages', dir=True)
+""",
+ ensure=True,
+ )
+ packages_dir = repo_dir.ensure("packages", dir=True)
package_py = """
class C(Package):
homepage = "http://www.example.com"
@@ -221,7 +236,7 @@ class C(Package):
version(1.0, sha256='abcde')
"""
- packages_dir.join('c', 'package.py').write(package_py, ensure=True)
+ packages_dir.join("c", "package.py").write(package_py, ensure=True)
repo = spack.repo.Repo(str(repo_dir))
mutable_mock_repo.put_first(repo)
return repo
@@ -230,133 +245,122 @@ class C(Package):
# This must use the mutable_config fixture because the test
# adjusting_default_target_based_on_compiler uses the current_host fixture,
# which changes the config.
-@pytest.mark.usefixtures('mutable_config', 'mock_packages')
+@pytest.mark.usefixtures("mutable_config", "mock_packages")
class TestConcretize(object):
def test_concretize(self, spec):
check_concretize(spec)
def test_concretize_mention_build_dep(self):
- spec = check_concretize('cmake-client ^cmake@3.4.3')
+ spec = check_concretize("cmake-client ^cmake@3.4.3")
# Check parent's perspective of child
- to_dependencies = spec.edges_to_dependencies(name='cmake')
+ to_dependencies = spec.edges_to_dependencies(name="cmake")
assert len(to_dependencies) == 1
- assert set(to_dependencies[0].deptypes) == set(['build'])
+ assert set(to_dependencies[0].deptypes) == set(["build"])
# Check child's perspective of parent
- cmake = spec['cmake']
- from_dependents = cmake.edges_from_dependents(name='cmake-client')
+ cmake = spec["cmake"]
+ from_dependents = cmake.edges_from_dependents(name="cmake-client")
assert len(from_dependents) == 1
- assert set(from_dependents[0].deptypes) == set(['build'])
+ assert set(from_dependents[0].deptypes) == set(["build"])
def test_concretize_preferred_version(self):
- spec = check_concretize('python')
- assert spec.versions == ver('2.7.11')
- spec = check_concretize('python@3.5.1')
- assert spec.versions == ver('3.5.1')
+ spec = check_concretize("python")
+ assert spec.versions == ver("2.7.11")
+ spec = check_concretize("python@3.5.1")
+ assert spec.versions == ver("3.5.1")
def test_concretize_with_restricted_virtual(self):
- check_concretize('mpileaks ^mpich2')
+ check_concretize("mpileaks ^mpich2")
- concrete = check_concretize('mpileaks ^mpich2@1.1')
- assert concrete['mpich2'].satisfies('mpich2@1.1')
+ concrete = check_concretize("mpileaks ^mpich2@1.1")
+ assert concrete["mpich2"].satisfies("mpich2@1.1")
- concrete = check_concretize('mpileaks ^mpich2@1.2')
- assert concrete['mpich2'].satisfies('mpich2@1.2')
+ concrete = check_concretize("mpileaks ^mpich2@1.2")
+ assert concrete["mpich2"].satisfies("mpich2@1.2")
- concrete = check_concretize('mpileaks ^mpich2@:1.5')
- assert concrete['mpich2'].satisfies('mpich2@:1.5')
+ concrete = check_concretize("mpileaks ^mpich2@:1.5")
+ assert concrete["mpich2"].satisfies("mpich2@:1.5")
- concrete = check_concretize('mpileaks ^mpich2@:1.3')
- assert concrete['mpich2'].satisfies('mpich2@:1.3')
+ concrete = check_concretize("mpileaks ^mpich2@:1.3")
+ assert concrete["mpich2"].satisfies("mpich2@:1.3")
- concrete = check_concretize('mpileaks ^mpich2@:1.2')
- assert concrete['mpich2'].satisfies('mpich2@:1.2')
+ concrete = check_concretize("mpileaks ^mpich2@:1.2")
+ assert concrete["mpich2"].satisfies("mpich2@:1.2")
- concrete = check_concretize('mpileaks ^mpich2@:1.1')
- assert concrete['mpich2'].satisfies('mpich2@:1.1')
+ concrete = check_concretize("mpileaks ^mpich2@:1.1")
+ assert concrete["mpich2"].satisfies("mpich2@:1.1")
- concrete = check_concretize('mpileaks ^mpich2@1.1:')
- assert concrete['mpich2'].satisfies('mpich2@1.1:')
+ concrete = check_concretize("mpileaks ^mpich2@1.1:")
+ assert concrete["mpich2"].satisfies("mpich2@1.1:")
- concrete = check_concretize('mpileaks ^mpich2@1.5:')
- assert concrete['mpich2'].satisfies('mpich2@1.5:')
+ concrete = check_concretize("mpileaks ^mpich2@1.5:")
+ assert concrete["mpich2"].satisfies("mpich2@1.5:")
- concrete = check_concretize('mpileaks ^mpich2@1.3.1:1.4')
- assert concrete['mpich2'].satisfies('mpich2@1.3.1:1.4')
+ concrete = check_concretize("mpileaks ^mpich2@1.3.1:1.4")
+ assert concrete["mpich2"].satisfies("mpich2@1.3.1:1.4")
def test_concretize_enable_disable_compiler_existence_check(self):
with spack.concretize.enable_compiler_existence_check():
- with pytest.raises(
- spack.concretize.UnavailableCompilerVersionError):
- check_concretize('dttop %gcc@100.100')
+ with pytest.raises(spack.concretize.UnavailableCompilerVersionError):
+ check_concretize("dttop %gcc@100.100")
with spack.concretize.disable_compiler_existence_check():
- spec = check_concretize('dttop %gcc@100.100')
- assert spec.satisfies('%gcc@100.100')
- assert spec['dtlink3'].satisfies('%gcc@100.100')
+ spec = check_concretize("dttop %gcc@100.100")
+ assert spec.satisfies("%gcc@100.100")
+ assert spec["dtlink3"].satisfies("%gcc@100.100")
def test_concretize_with_provides_when(self):
"""Make sure insufficient versions of MPI are not in providers list when
we ask for some advanced version.
"""
repo = spack.repo.path
- assert not any(
- s.satisfies('mpich2@:1.0') for s in repo.providers_for('mpi@2.1')
- )
- assert not any(
- s.satisfies('mpich2@:1.1') for s in repo.providers_for('mpi@2.2')
- )
- assert not any(
- s.satisfies('mpich@:1') for s in repo.providers_for('mpi@2')
- )
- assert not any(
- s.satisfies('mpich@:1') for s in repo.providers_for('mpi@3')
- )
- assert not any(
- s.satisfies('mpich2') for s in repo.providers_for('mpi@3')
- )
+ assert not any(s.satisfies("mpich2@:1.0") for s in repo.providers_for("mpi@2.1"))
+ assert not any(s.satisfies("mpich2@:1.1") for s in repo.providers_for("mpi@2.2"))
+ assert not any(s.satisfies("mpich@:1") for s in repo.providers_for("mpi@2"))
+ assert not any(s.satisfies("mpich@:1") for s in repo.providers_for("mpi@3"))
+ assert not any(s.satisfies("mpich2") for s in repo.providers_for("mpi@3"))
def test_provides_handles_multiple_providers_of_same_version(self):
- """
- """
- providers = spack.repo.path.providers_for('mpi@3.0')
+ """ """
+ providers = spack.repo.path.providers_for("mpi@3.0")
# Note that providers are repo-specific, so we don't misinterpret
# providers, but vdeps are not namespace-specific, so we can
# associate vdeps across repos.
- assert Spec('builtin.mock.multi-provider-mpi@1.10.3') in providers
- assert Spec('builtin.mock.multi-provider-mpi@1.10.2') in providers
- assert Spec('builtin.mock.multi-provider-mpi@1.10.1') in providers
- assert Spec('builtin.mock.multi-provider-mpi@1.10.0') in providers
- assert Spec('builtin.mock.multi-provider-mpi@1.8.8') in providers
+ assert Spec("builtin.mock.multi-provider-mpi@1.10.3") in providers
+ assert Spec("builtin.mock.multi-provider-mpi@1.10.2") in providers
+ assert Spec("builtin.mock.multi-provider-mpi@1.10.1") in providers
+ assert Spec("builtin.mock.multi-provider-mpi@1.10.0") in providers
+ assert Spec("builtin.mock.multi-provider-mpi@1.8.8") in providers
def test_different_compilers_get_different_flags(self):
- client = Spec('cmake-client %gcc@4.7.2 platform=test os=fe target=fe' +
- ' ^cmake %clang@3.5 platform=test os=fe target=fe')
+ client = Spec(
+ "cmake-client %gcc@4.7.2 platform=test os=fe target=fe"
+ + " ^cmake %clang@3.5 platform=test os=fe target=fe"
+ )
client.concretize()
- cmake = client['cmake']
- assert set(client.compiler_flags['cflags']) == set(['-O0', '-g'])
- assert set(cmake.compiler_flags['cflags']) == set(['-O3'])
- assert set(client.compiler_flags['fflags']) == set(['-O0', '-g'])
- assert not set(cmake.compiler_flags['fflags'])
+ cmake = client["cmake"]
+ assert set(client.compiler_flags["cflags"]) == set(["-O0", "-g"])
+ assert set(cmake.compiler_flags["cflags"]) == set(["-O3"])
+ assert set(client.compiler_flags["fflags"]) == set(["-O0", "-g"])
+ assert not set(cmake.compiler_flags["fflags"])
def test_architecture_inheritance(self):
"""test_architecture_inheritance is likely to fail with an
UnavailableCompilerVersionError if the architecture is concretized
incorrectly.
"""
- spec = Spec('cmake-client %gcc@4.7.2 os=fe ^ cmake')
+ spec = Spec("cmake-client %gcc@4.7.2 os=fe ^ cmake")
spec.concretize()
- assert spec['cmake'].architecture == spec.architecture
+ assert spec["cmake"].architecture == spec.architecture
def test_architecture_deep_inheritance(self, mock_targets):
"""Make sure that indirect dependencies receive architecture
information from the root even when partial architecture information
is provided by an intermediate dependency.
"""
- spec_str = ('mpileaks %gcc@4.5.0 os=CNL target=nocona'
- ' ^dyninst os=CNL ^callpath os=CNL')
+ spec_str = "mpileaks %gcc@4.5.0 os=CNL target=nocona" " ^dyninst os=CNL ^callpath os=CNL"
spec = Spec(spec_str).concretized()
for s in spec.traverse(root=False):
assert s.architecture.target == spec.architecture.target
@@ -364,260 +368,199 @@ class TestConcretize(object):
def test_compiler_flags_from_user_are_grouped(self):
spec = Spec('a%gcc cflags="-O -foo-flag foo-val" platform=test')
spec.concretize()
- cflags = spec.compiler_flags['cflags']
- assert any(x == '-foo-flag foo-val' for x in cflags)
+ cflags = spec.compiler_flags["cflags"]
+ assert any(x == "-foo-flag foo-val" for x in cflags)
def concretize_multi_provider(self):
- s = Spec('mpileaks ^multi-provider-mpi@3.0')
+ s = Spec("mpileaks ^multi-provider-mpi@3.0")
s.concretize()
- assert s['mpi'].version == ver('1.10.3')
+ assert s["mpi"].version == ver("1.10.3")
def test_concretize_dependent_with_singlevalued_variant_type(self):
- s = Spec('singlevalue-variant-dependent-type')
+ s = Spec("singlevalue-variant-dependent-type")
s.concretize()
- @pytest.mark.parametrize("spec,version", [
- ('dealii', 'develop'),
- ('xsdk', '0.4.0'),
- ])
+ @pytest.mark.parametrize(
+ "spec,version",
+ [
+ ("dealii", "develop"),
+ ("xsdk", "0.4.0"),
+ ],
+ )
def concretize_difficult_packages(self, a, b):
"""Test a couple of large packages that are often broken due
to current limitations in the concretizer"""
- s = Spec(a + '@' + b)
+ s = Spec(a + "@" + b)
s.concretize()
assert s[a].version == ver(b)
def test_concretize_two_virtuals(self):
"""Test a package with multiple virtual dependencies."""
- Spec('hypre').concretize()
+ Spec("hypre").concretize()
- def test_concretize_two_virtuals_with_one_bound(
- self, mutable_mock_repo
- ):
+ def test_concretize_two_virtuals_with_one_bound(self, mutable_mock_repo):
"""Test a package with multiple virtual dependencies and one preset."""
- Spec('hypre ^openblas').concretize()
+ Spec("hypre ^openblas").concretize()
def test_concretize_two_virtuals_with_two_bound(self):
"""Test a package with multiple virtual deps and two of them preset."""
- Spec('hypre ^openblas ^netlib-lapack').concretize()
+ Spec("hypre ^openblas ^netlib-lapack").concretize()
def test_concretize_two_virtuals_with_dual_provider(self):
"""Test a package with multiple virtual dependencies and force a provider
that provides both.
"""
- Spec('hypre ^openblas-with-lapack').concretize()
+ Spec("hypre ^openblas-with-lapack").concretize()
- def test_concretize_two_virtuals_with_dual_provider_and_a_conflict(
- self
- ):
+ def test_concretize_two_virtuals_with_dual_provider_and_a_conflict(self):
"""Test a package with multiple virtual dependencies and force a
provider that provides both, and another conflicting package that
provides one.
"""
- s = Spec('hypre ^openblas-with-lapack ^netlib-lapack')
+ s = Spec("hypre ^openblas-with-lapack ^netlib-lapack")
with pytest.raises(spack.error.SpackError):
s.concretize()
- @pytest.mark.skipif(sys.platform == 'win32', reason='No Compiler for Arch on Win')
+ @pytest.mark.skipif(sys.platform == "win32", reason="No Compiler for Arch on Win")
def test_no_matching_compiler_specs(self, mock_low_high_config):
# only relevant when not building compilers as needed
with spack.concretize.enable_compiler_existence_check():
- s = Spec('a %gcc@0.0.0')
- with pytest.raises(
- spack.concretize.UnavailableCompilerVersionError):
+ s = Spec("a %gcc@0.0.0")
+ with pytest.raises(spack.concretize.UnavailableCompilerVersionError):
s.concretize()
def test_no_compilers_for_arch(self):
- s = Spec('a arch=linux-rhel0-x86_64')
+ s = Spec("a arch=linux-rhel0-x86_64")
with pytest.raises(spack.error.SpackError):
s.concretize()
def test_virtual_is_fully_expanded_for_callpath(self):
# force dependence on fake "zmpi" by asking for MPI 10.0
- spec = Spec('callpath ^mpi@10.0')
- assert len(spec.dependencies(name='mpi')) == 1
- assert 'fake' not in spec
+ spec = Spec("callpath ^mpi@10.0")
+ assert len(spec.dependencies(name="mpi")) == 1
+ assert "fake" not in spec
spec.concretize()
- assert len(spec.dependencies(name='zmpi')) == 1
- assert all(not d.dependencies(name='mpi') for d in spec.traverse())
- assert all(x in spec for x in ('zmpi', 'mpi'))
+ assert len(spec.dependencies(name="zmpi")) == 1
+ assert all(not d.dependencies(name="mpi") for d in spec.traverse())
+ assert all(x in spec for x in ("zmpi", "mpi"))
- edges_to_zmpi = spec.edges_to_dependencies(name='zmpi')
+ edges_to_zmpi = spec.edges_to_dependencies(name="zmpi")
assert len(edges_to_zmpi) == 1
- assert 'fake' in edges_to_zmpi[0].spec
+ assert "fake" in edges_to_zmpi[0].spec
- def test_virtual_is_fully_expanded_for_mpileaks(
- self
- ):
- spec = Spec('mpileaks ^mpi@10.0')
- assert len(spec.dependencies(name='mpi')) == 1
- assert 'fake' not in spec
+ def test_virtual_is_fully_expanded_for_mpileaks(self):
+ spec = Spec("mpileaks ^mpi@10.0")
+ assert len(spec.dependencies(name="mpi")) == 1
+ assert "fake" not in spec
spec.concretize()
- assert len(spec.dependencies(name='zmpi')) == 1
- assert len(spec.dependencies(name='callpath')) == 1
+ assert len(spec.dependencies(name="zmpi")) == 1
+ assert len(spec.dependencies(name="callpath")) == 1
- callpath = spec.dependencies(name='callpath')[0]
- assert len(callpath.dependencies(name='zmpi')) == 1
+ callpath = spec.dependencies(name="callpath")[0]
+ assert len(callpath.dependencies(name="zmpi")) == 1
- zmpi = callpath.dependencies(name='zmpi')[0]
- assert len(zmpi.dependencies(name='fake')) == 1
+ zmpi = callpath.dependencies(name="zmpi")[0]
+ assert len(zmpi.dependencies(name="fake")) == 1
- assert all(not d.dependencies(name='mpi') for d in spec.traverse())
- assert all(x in spec for x in ('zmpi', 'mpi'))
+ assert all(not d.dependencies(name="mpi") for d in spec.traverse())
+ assert all(x in spec for x in ("zmpi", "mpi"))
def test_my_dep_depends_on_provider_of_my_virtual_dep(self):
- spec = Spec('indirect-mpich')
+ spec = Spec("indirect-mpich")
spec.normalize()
spec.concretize()
- @pytest.mark.parametrize('compiler_str', [
- 'clang', 'gcc', 'gcc@4.5.0', 'clang@:3.3.0'
- ])
+ @pytest.mark.parametrize("compiler_str", ["clang", "gcc", "gcc@4.5.0", "clang@:3.3.0"])
def test_compiler_inheritance(self, compiler_str):
- spec_str = 'mpileaks %{0}'.format(compiler_str)
+ spec_str = "mpileaks %{0}".format(compiler_str)
spec = Spec(spec_str).concretized()
- assert spec['libdwarf'].compiler.satisfies(compiler_str)
- assert spec['libelf'].compiler.satisfies(compiler_str)
+ assert spec["libdwarf"].compiler.satisfies(compiler_str)
+ assert spec["libelf"].compiler.satisfies(compiler_str)
def test_external_package(self):
- spec = Spec('externaltool%gcc')
+ spec = Spec("externaltool%gcc")
spec.concretize()
- assert spec['externaltool'].external_path == \
- os.path.sep + os.path.join('path', 'to', 'external_tool')
- assert 'externalprereq' not in spec
- assert spec['externaltool'].compiler.satisfies('gcc')
+ assert spec["externaltool"].external_path == os.path.sep + os.path.join(
+ "path", "to", "external_tool"
+ )
+ assert "externalprereq" not in spec
+ assert spec["externaltool"].compiler.satisfies("gcc")
def test_external_package_module(self):
# No tcl modules on darwin/linux machines
# and Windows does not (currently) allow for bash calls
# TODO: improved way to check for this.
platform = spack.platforms.real_host().name
- if platform == 'darwin' or platform == 'linux' or platform == 'windows':
+ if platform == "darwin" or platform == "linux" or platform == "windows":
return
- spec = Spec('externalmodule')
+ spec = Spec("externalmodule")
spec.concretize()
- assert spec['externalmodule'].external_modules == ['external-module']
- assert 'externalprereq' not in spec
- assert spec['externalmodule'].compiler.satisfies('gcc')
+ assert spec["externalmodule"].external_modules == ["external-module"]
+ assert "externalprereq" not in spec
+ assert spec["externalmodule"].compiler.satisfies("gcc")
def test_nobuild_package(self):
"""Test that a non-buildable package raise an error if no specs
in packages.yaml are compatible with the request.
"""
- spec = Spec('externaltool%clang')
+ spec = Spec("externaltool%clang")
with pytest.raises(spack.error.SpecError):
spec.concretize()
def test_external_and_virtual(self):
- spec = Spec('externaltest')
+ spec = Spec("externaltest")
spec.concretize()
- assert spec['externaltool'].external_path == \
- os.path.sep + os.path.join('path', 'to', 'external_tool')
- assert spec['stuff'].external_path == \
- os.path.sep + os.path.join('path', 'to', 'external_virtual_gcc')
- assert spec['externaltool'].compiler.satisfies('gcc')
- assert spec['stuff'].compiler.satisfies('gcc')
+ assert spec["externaltool"].external_path == os.path.sep + os.path.join(
+ "path", "to", "external_tool"
+ )
+ assert spec["stuff"].external_path == os.path.sep + os.path.join(
+ "path", "to", "external_virtual_gcc"
+ )
+ assert spec["externaltool"].compiler.satisfies("gcc")
+ assert spec["stuff"].compiler.satisfies("gcc")
def test_find_spec_parents(self):
- """Tests the spec finding logic used by concretization. """
- s = Spec.from_literal({
- 'a +foo': {
- 'b +foo': {
- 'c': None,
- 'd+foo': None
- },
- 'e +foo': None
- }
- })
+ """Tests the spec finding logic used by concretization."""
+ s = Spec.from_literal({"a +foo": {"b +foo": {"c": None, "d+foo": None}, "e +foo": None}})
- assert 'a' == find_spec(s['b'], lambda s: '+foo' in s).name
+ assert "a" == find_spec(s["b"], lambda s: "+foo" in s).name
def test_find_spec_children(self):
- s = Spec.from_literal({
- 'a': {
- 'b +foo': {
- 'c': None,
- 'd+foo': None
- },
- 'e +foo': None
- }
- })
+ s = Spec.from_literal({"a": {"b +foo": {"c": None, "d+foo": None}, "e +foo": None}})
- assert 'd' == find_spec(s['b'], lambda s: '+foo' in s).name
+ assert "d" == find_spec(s["b"], lambda s: "+foo" in s).name
- s = Spec.from_literal({
- 'a': {
- 'b +foo': {
- 'c+foo': None,
- 'd': None
- },
- 'e +foo': None
- }
- })
+ s = Spec.from_literal({"a": {"b +foo": {"c+foo": None, "d": None}, "e +foo": None}})
- assert 'c' == find_spec(s['b'], lambda s: '+foo' in s).name
+ assert "c" == find_spec(s["b"], lambda s: "+foo" in s).name
def test_find_spec_sibling(self):
- s = Spec.from_literal({
- 'a': {
- 'b +foo': {
- 'c': None,
- 'd': None
- },
- 'e +foo': None
- }
- })
-
- assert 'e' == find_spec(s['b'], lambda s: '+foo' in s).name
- assert 'b' == find_spec(s['e'], lambda s: '+foo' in s).name
-
- s = Spec.from_literal({
- 'a': {
- 'b +foo': {
- 'c': None,
- 'd': None
- },
- 'e': {
- 'f +foo': None
- }
- }
- })
+ s = Spec.from_literal({"a": {"b +foo": {"c": None, "d": None}, "e +foo": None}})
+
+ assert "e" == find_spec(s["b"], lambda s: "+foo" in s).name
+ assert "b" == find_spec(s["e"], lambda s: "+foo" in s).name
- assert 'f' == find_spec(s['b'], lambda s: '+foo' in s).name
+ s = Spec.from_literal({"a": {"b +foo": {"c": None, "d": None}, "e": {"f +foo": None}}})
+
+ assert "f" == find_spec(s["b"], lambda s: "+foo" in s).name
def test_find_spec_self(self):
- s = Spec.from_literal({
- 'a': {
- 'b +foo': {
- 'c': None,
- 'd': None
- },
- 'e': None
- }
- })
- assert 'b' == find_spec(s['b'], lambda s: '+foo' in s).name
+ s = Spec.from_literal({"a": {"b +foo": {"c": None, "d": None}, "e": None}})
+ assert "b" == find_spec(s["b"], lambda s: "+foo" in s).name
def test_find_spec_none(self):
- s = Spec.from_literal({
- 'a': {
- 'b': {
- 'c': None,
- 'd': None
- },
- 'e': None
- }
- })
- assert find_spec(s['b'], lambda s: '+foo' in s) is None
+ s = Spec.from_literal({"a": {"b": {"c": None, "d": None}, "e": None}})
+ assert find_spec(s["b"], lambda s: "+foo" in s) is None
def test_compiler_child(self):
- s = Spec('mpileaks%clang target=x86_64 ^dyninst%gcc')
+ s = Spec("mpileaks%clang target=x86_64 ^dyninst%gcc")
s.concretize()
- assert s['mpileaks'].satisfies('%clang')
- assert s['dyninst'].satisfies('%gcc')
+ assert s["mpileaks"].satisfies("%clang")
+ assert s["dyninst"].satisfies("%gcc")
def test_conflicts_in_spec(self, conflict_spec):
s = Spec(conflict_spec)
@@ -625,8 +568,8 @@ class TestConcretize(object):
s.concretize()
def test_conflicts_show_cores(self, conflict_spec, monkeypatch):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Testing debug statements specific to new concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Testing debug statements specific to new concretizer")
s = Spec(conflict_spec)
with pytest.raises(spack.error.SpackError) as e:
@@ -635,23 +578,16 @@ class TestConcretize(object):
assert "conflict" in e.value.message
def test_conflict_in_all_directives_true(self):
- s = Spec('when-directives-true')
+ s = Spec("when-directives-true")
with pytest.raises(spack.error.SpackError):
s.concretize()
- @pytest.mark.parametrize('spec_str', [
- 'conflict@10.0%clang+foo'
- ])
+ @pytest.mark.parametrize("spec_str", ["conflict@10.0%clang+foo"])
def test_no_conflict_in_external_specs(self, spec_str):
# Modify the configuration to have the spec with conflict
# registered as an external
ext = Spec(spec_str)
- data = {
- 'externals': [
- {'spec': spec_str,
- 'prefix': '/fake/path'}
- ]
- }
+ data = {"externals": [{"spec": spec_str, "prefix": "/fake/path"}]}
spack.config.set("packages::{0}".format(ext.name), data)
ext.concretize() # failure raises exception
@@ -661,7 +597,7 @@ class TestConcretize(object):
# a spec, and then modify it to have no dependency and reset the
# cache values.
- s = Spec('mpileaks')
+ s = Spec("mpileaks")
s.concretize()
# Check that now the Spec is concrete, store the hash
@@ -673,40 +609,40 @@ class TestConcretize(object):
assert not s.concrete
- @pytest.mark.regression('7239')
+ @pytest.mark.regression("7239")
def test_regression_issue_7239(self):
# Constructing a SpecBuildInterface from another SpecBuildInterface
# results in an inconsistent MRO
# Normal Spec
- s = Spec('mpileaks')
+ s = Spec("mpileaks")
s.concretize()
assert llnl.util.lang.ObjectWrapper not in type(s).__mro__
# Spec wrapped in a build interface
- build_interface = s['mpileaks']
+ build_interface = s["mpileaks"]
assert llnl.util.lang.ObjectWrapper in type(build_interface).__mro__
# Mimics asking the build interface from a build interface
- build_interface = s['mpileaks']['mpileaks']
+ build_interface = s["mpileaks"]["mpileaks"]
assert llnl.util.lang.ObjectWrapper in type(build_interface).__mro__
- @pytest.mark.regression('7705')
+ @pytest.mark.regression("7705")
def test_regression_issue_7705(self):
# spec.package.provides(name) doesn't account for conditional
# constraints in the concretized spec
- s = Spec('simple-inheritance~openblas')
+ s = Spec("simple-inheritance~openblas")
s.concretize()
- assert not s.package.provides('lapack')
+ assert not s.package.provides("lapack")
- @pytest.mark.regression('7941')
+ @pytest.mark.regression("7941")
def test_regression_issue_7941(self):
# The string representation of a spec containing
# an explicit multi-valued variant and a dependency
# might be parsed differently than the originating spec
- s = Spec('a foobar=bar ^b')
+ s = Spec("a foobar=bar ^b")
t = Spec(str(s))
s.concretize()
@@ -714,32 +650,30 @@ class TestConcretize(object):
assert s.dag_hash() == t.dag_hash()
- @pytest.mark.parametrize('abstract_specs', [
- # Establish a baseline - concretize a single spec
- ('mpileaks',),
- # When concretized together with older version of callpath
- # and dyninst it uses those older versions
- ('mpileaks', 'callpath@0.9', 'dyninst@8.1.1'),
- # Handle recursive syntax within specs
- ('mpileaks', 'callpath@0.9 ^dyninst@8.1.1', 'dyninst'),
- # Test specs that have overlapping dependencies but are not
- # one a dependency of the other
- ('mpileaks', 'direct-mpich')
- ])
+ @pytest.mark.parametrize(
+ "abstract_specs",
+ [
+ # Establish a baseline - concretize a single spec
+ ("mpileaks",),
+ # When concretized together with older version of callpath
+ # and dyninst it uses those older versions
+ ("mpileaks", "callpath@0.9", "dyninst@8.1.1"),
+ # Handle recursive syntax within specs
+ ("mpileaks", "callpath@0.9 ^dyninst@8.1.1", "dyninst"),
+ # Test specs that have overlapping dependencies but are not
+ # one a dependency of the other
+ ("mpileaks", "direct-mpich"),
+ ],
+ )
def test_simultaneous_concretization_of_specs(self, abstract_specs):
abstract_specs = [Spec(x) for x in abstract_specs]
- concrete_specs = spack.concretize.concretize_specs_together(
- *abstract_specs)
+ concrete_specs = spack.concretize.concretize_specs_together(*abstract_specs)
# Check there's only one configuration of each package in the DAG
- names = set(
- dep.name for spec in concrete_specs for dep in spec.traverse()
- )
+ names = set(dep.name for spec in concrete_specs for dep in spec.traverse())
for name in names:
- name_specs = set(
- spec[name] for spec in concrete_specs if name in spec
- )
+ name_specs = set(spec[name] for spec in concrete_specs if name in spec)
assert len(name_specs) == 1
# Check that there's at least one Spec that satisfies the
@@ -751,118 +685,124 @@ class TestConcretize(object):
for spec in concrete_specs:
assert not spec.dependents()
- @pytest.mark.parametrize('spec', ['noversion', 'noversion-bundle'])
+ @pytest.mark.parametrize("spec", ["noversion", "noversion-bundle"])
def test_noversion_pkg(self, spec):
"""Test concretization failures for no-version packages."""
with pytest.raises(spack.error.SpackError):
Spec(spec).concretized()
- @pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+ @pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
# Include targets to prevent regression on 20537
- @pytest.mark.parametrize('spec, best_achievable', [
- ('mpileaks%gcc@4.4.7 ^dyninst@10.2.1 target=x86_64:', 'core2'),
- ('mpileaks%gcc@4.8 target=x86_64:', 'haswell'),
- ('mpileaks%gcc@5.3.0 target=x86_64:', 'broadwell'),
- ('mpileaks%apple-clang@5.1.0 target=x86_64:', 'x86_64')
- ])
- @pytest.mark.regression('13361', '20537')
+ @pytest.mark.parametrize(
+ "spec, best_achievable",
+ [
+ ("mpileaks%gcc@4.4.7 ^dyninst@10.2.1 target=x86_64:", "core2"),
+ ("mpileaks%gcc@4.8 target=x86_64:", "haswell"),
+ ("mpileaks%gcc@5.3.0 target=x86_64:", "broadwell"),
+ ("mpileaks%apple-clang@5.1.0 target=x86_64:", "x86_64"),
+ ],
+ )
+ @pytest.mark.regression("13361", "20537")
def test_adjusting_default_target_based_on_compiler(
- self, spec, best_achievable, current_host, mock_targets
+ self, spec, best_achievable, current_host, mock_targets
):
best_achievable = archspec.cpu.TARGETS[best_achievable]
- expected = best_achievable if best_achievable < current_host \
- else current_host
+ expected = best_achievable if best_achievable < current_host else current_host
with spack.concretize.disable_compiler_existence_check():
s = Spec(spec).concretized()
assert str(s.architecture.target) == str(expected)
- @pytest.mark.regression('8735,14730')
+ @pytest.mark.regression("8735,14730")
def test_compiler_version_matches_any_entry_in_compilers_yaml(self):
# Ensure that a concrete compiler with different compiler version
# doesn't match (here it's 4.5 vs. 4.5.0)
with pytest.raises(spack.concretize.UnavailableCompilerVersionError):
- s = Spec('mpileaks %gcc@4.5')
+ s = Spec("mpileaks %gcc@4.5")
s.concretize()
# An abstract compiler with a version list could resolve to 4.5.0
- s = Spec('mpileaks %gcc@4.5:')
+ s = Spec("mpileaks %gcc@4.5:")
s.concretize()
- assert str(s.compiler.version) == '4.5.0'
+ assert str(s.compiler.version) == "4.5.0"
def test_concretize_anonymous(self):
with pytest.raises(spack.error.SpackError):
- s = Spec('+variant')
+ s = Spec("+variant")
s.concretize()
- @pytest.mark.parametrize('spec_str', [
- 'mpileaks ^%gcc', 'mpileaks ^cflags=-g'
- ])
+ @pytest.mark.parametrize("spec_str", ["mpileaks ^%gcc", "mpileaks ^cflags=-g"])
def test_concretize_anonymous_dep(self, spec_str):
with pytest.raises(spack.error.SpackError):
s = Spec(spec_str)
s.concretize()
- @pytest.mark.parametrize('spec_str,expected_str', [
- # Unconstrained versions select default compiler (gcc@4.5.0)
- ('bowtie@1.3.0', '%gcc@4.5.0'),
- # Version with conflicts and no valid gcc select another compiler
- ('bowtie@1.2.2', '%clang@3.3'),
- # If a higher gcc is available still prefer that
- ('bowtie@1.2.2 os=redhat6', '%gcc@4.7.2'),
- ])
+ @pytest.mark.parametrize(
+ "spec_str,expected_str",
+ [
+ # Unconstrained versions select default compiler (gcc@4.5.0)
+ ("bowtie@1.3.0", "%gcc@4.5.0"),
+ # Version with conflicts and no valid gcc select another compiler
+ ("bowtie@1.2.2", "%clang@3.3"),
+ # If a higher gcc is available still prefer that
+ ("bowtie@1.2.2 os=redhat6", "%gcc@4.7.2"),
+ ],
+ )
def test_compiler_conflicts_in_package_py(self, spec_str, expected_str):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Original concretizer cannot work around conflicts')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Original concretizer cannot work around conflicts")
s = Spec(spec_str).concretized()
assert s.satisfies(expected_str)
- @pytest.mark.parametrize('spec_str,expected,unexpected', [
- ('conditional-variant-pkg@1.0',
- ['two_whens'],
- ['version_based', 'variant_based']),
- ('conditional-variant-pkg@2.0',
- ['version_based', 'variant_based'],
- ['two_whens']),
- ('conditional-variant-pkg@2.0~version_based',
- ['version_based'],
- ['variant_based', 'two_whens']),
- ('conditional-variant-pkg@2.0+version_based+variant_based',
- ['version_based', 'variant_based', 'two_whens'],
- [])
- ])
+ @pytest.mark.parametrize(
+ "spec_str,expected,unexpected",
+ [
+ ("conditional-variant-pkg@1.0", ["two_whens"], ["version_based", "variant_based"]),
+ ("conditional-variant-pkg@2.0", ["version_based", "variant_based"], ["two_whens"]),
+ (
+ "conditional-variant-pkg@2.0~version_based",
+ ["version_based"],
+ ["variant_based", "two_whens"],
+ ),
+ (
+ "conditional-variant-pkg@2.0+version_based+variant_based",
+ ["version_based", "variant_based", "two_whens"],
+ [],
+ ),
+ ],
+ )
def test_conditional_variants(self, spec_str, expected, unexpected):
s = Spec(spec_str).concretized()
for var in expected:
- assert s.satisfies('%s=*' % var)
+ assert s.satisfies("%s=*" % var)
for var in unexpected:
- assert not s.satisfies('%s=*' % var)
-
- @pytest.mark.parametrize('bad_spec', [
- '@1.0~version_based',
- '@1.0+version_based',
- '@2.0~version_based+variant_based',
- '@2.0+version_based~variant_based+two_whens',
- ])
+ assert not s.satisfies("%s=*" % var)
+
+ @pytest.mark.parametrize(
+ "bad_spec",
+ [
+ "@1.0~version_based",
+ "@1.0+version_based",
+ "@2.0~version_based+variant_based",
+ "@2.0+version_based~variant_based+two_whens",
+ ],
+ )
def test_conditional_variants_fail(self, bad_spec):
- with pytest.raises(
- (spack.error.UnsatisfiableSpecError,
- vt.InvalidVariantForSpecError)
- ):
- _ = Spec('conditional-variant-pkg' + bad_spec).concretized()
-
- @pytest.mark.parametrize('spec_str,expected,unexpected', [
- ('py-extension3 ^python@3.5.1', [], ['py-extension1']),
- ('py-extension3 ^python@2.7.11', ['py-extension1'], []),
- ('py-extension3@1.0 ^python@2.7.11', ['patchelf@0.9'], []),
- ('py-extension3@1.1 ^python@2.7.11', ['patchelf@0.9'], []),
- ('py-extension3@1.0 ^python@3.5.1', ['patchelf@0.10'], []),
- ])
- @pytest.mark.skipif(
- sys.version_info[:2] == (3, 5), reason='Known failure with Python3.5'
+ with pytest.raises((spack.error.UnsatisfiableSpecError, vt.InvalidVariantForSpecError)):
+ _ = Spec("conditional-variant-pkg" + bad_spec).concretized()
+
+ @pytest.mark.parametrize(
+ "spec_str,expected,unexpected",
+ [
+ ("py-extension3 ^python@3.5.1", [], ["py-extension1"]),
+ ("py-extension3 ^python@2.7.11", ["py-extension1"], []),
+ ("py-extension3@1.0 ^python@2.7.11", ["patchelf@0.9"], []),
+ ("py-extension3@1.1 ^python@2.7.11", ["patchelf@0.9"], []),
+ ("py-extension3@1.0 ^python@3.5.1", ["patchelf@0.10"], []),
+ ],
)
+ @pytest.mark.skipif(sys.version_info[:2] == (3, 5), reason="Known failure with Python3.5")
def test_conditional_dependencies(self, spec_str, expected, unexpected):
s = Spec(spec_str).concretized()
@@ -874,46 +814,50 @@ class TestConcretize(object):
msg = '"{0}" is in "{1}" but was unexpected'
assert dep not in s, msg.format(dep, spec_str)
- @pytest.mark.parametrize('spec_str,patched_deps', [
- ('patch-several-dependencies', [('libelf', 1), ('fake', 2)]),
- ('patch-several-dependencies@1.0',
- [('libelf', 1), ('fake', 2), ('libdwarf', 1)]),
- ('patch-several-dependencies@1.0 ^libdwarf@20111030',
- [('libelf', 1), ('fake', 2), ('libdwarf', 2)]),
- ('patch-several-dependencies ^libelf@0.8.10',
- [('libelf', 2), ('fake', 2)]),
- ('patch-several-dependencies +foo', [('libelf', 2), ('fake', 2)])
- ])
+ @pytest.mark.parametrize(
+ "spec_str,patched_deps",
+ [
+ ("patch-several-dependencies", [("libelf", 1), ("fake", 2)]),
+ ("patch-several-dependencies@1.0", [("libelf", 1), ("fake", 2), ("libdwarf", 1)]),
+ (
+ "patch-several-dependencies@1.0 ^libdwarf@20111030",
+ [("libelf", 1), ("fake", 2), ("libdwarf", 2)],
+ ),
+ ("patch-several-dependencies ^libelf@0.8.10", [("libelf", 2), ("fake", 2)]),
+ ("patch-several-dependencies +foo", [("libelf", 2), ("fake", 2)]),
+ ],
+ )
def test_patching_dependencies(self, spec_str, patched_deps):
s = Spec(spec_str).concretized()
for dep, num_patches in patched_deps:
- assert s[dep].satisfies('patches=*')
- assert len(s[dep].variants['patches'].value) == num_patches
-
- @pytest.mark.regression(
- '267,303,1781,2310,2632,3628'
+ assert s[dep].satisfies("patches=*")
+ assert len(s[dep].variants["patches"].value) == num_patches
+
+ @pytest.mark.regression("267,303,1781,2310,2632,3628")
+ @pytest.mark.parametrize(
+ "spec_str, expected",
+ [
+ # Need to understand that this configuration is possible
+ # only if we use the +mpi variant, which is not the default
+ ("fftw ^mpich", ["+mpi"]),
+ # This spec imposes two orthogonal constraints on a dependency,
+ # one of which is conditional. The original concretizer fail since
+ # when it applies the first constraint, it sets the unknown variants
+ # of the dependency to their default values
+ ("quantum-espresso", ["^fftw@1.0+mpi"]),
+ # This triggers a conditional dependency on ^fftw@1.0
+ ("quantum-espresso", ["^openblas"]),
+ # This constructs a constraint for a dependency og the type
+ # @x.y:x.z where the lower bound is unconditional, the upper bound
+ # is conditional to having a variant set
+ ("quantum-espresso", ["^libelf@0.8.12"]),
+ ("quantum-espresso~veritas", ["^libelf@0.8.13"]),
+ ],
)
- @pytest.mark.parametrize('spec_str, expected', [
- # Need to understand that this configuration is possible
- # only if we use the +mpi variant, which is not the default
- ('fftw ^mpich', ['+mpi']),
- # This spec imposes two orthogonal constraints on a dependency,
- # one of which is conditional. The original concretizer fail since
- # when it applies the first constraint, it sets the unknown variants
- # of the dependency to their default values
- ('quantum-espresso', ['^fftw@1.0+mpi']),
- # This triggers a conditional dependency on ^fftw@1.0
- ('quantum-espresso', ['^openblas']),
- # This constructs a constraint for a dependency og the type
- # @x.y:x.z where the lower bound is unconditional, the upper bound
- # is conditional to having a variant set
- ('quantum-espresso', ['^libelf@0.8.12']),
- ('quantum-espresso~veritas', ['^libelf@0.8.13'])
- ])
def test_working_around_conflicting_defaults(self, spec_str, expected):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
s = Spec(spec_str).concretized()
@@ -921,299 +865,295 @@ class TestConcretize(object):
for constraint in expected:
assert s.satisfies(constraint)
- @pytest.mark.regression('4635')
- @pytest.mark.parametrize('spec_str,expected', [
- ('cmake', ['%clang']),
- ('cmake %gcc', ['%gcc']),
- ('cmake %clang', ['%clang'])
- ])
- def test_external_package_and_compiler_preferences(
- self, spec_str, expected
- ):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ @pytest.mark.regression("4635")
+ @pytest.mark.parametrize(
+ "spec_str,expected",
+ [("cmake", ["%clang"]), ("cmake %gcc", ["%gcc"]), ("cmake %clang", ["%clang"])],
+ )
+ def test_external_package_and_compiler_preferences(self, spec_str, expected):
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
packages_yaml = {
- 'all': {
- 'compiler': ['clang', 'gcc'],
+ "all": {
+ "compiler": ["clang", "gcc"],
+ },
+ "cmake": {
+ "externals": [{"spec": "cmake@3.4.3", "prefix": "/usr"}],
+ "buildable": False,
},
- 'cmake': {
- 'externals': [
- {'spec': 'cmake@3.4.3', 'prefix': '/usr'}
- ],
- 'buildable': False
- }
}
- spack.config.set('packages', packages_yaml)
+ spack.config.set("packages", packages_yaml)
s = Spec(spec_str).concretized()
assert s.external
for condition in expected:
assert s.satisfies(condition)
- @pytest.mark.regression('5651')
- def test_package_with_constraint_not_met_by_external(
- self
- ):
+ @pytest.mark.regression("5651")
+ def test_package_with_constraint_not_met_by_external(self):
"""Check that if we have an external package A at version X.Y in
packages.yaml, but our spec doesn't allow X.Y as a version, then
a new version of A is built that meets the requirements.
"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
- packages_yaml = {
- 'libelf': {
- 'externals': [
- {'spec': 'libelf@0.8.13', 'prefix': '/usr'}
- ]
- }
- }
- spack.config.set('packages', packages_yaml)
+ packages_yaml = {"libelf": {"externals": [{"spec": "libelf@0.8.13", "prefix": "/usr"}]}}
+ spack.config.set("packages", packages_yaml)
# quantum-espresso+veritas requires libelf@:0.8.12
- s = Spec('quantum-espresso+veritas').concretized()
- assert s.satisfies('^libelf@0.8.12')
- assert not s['libelf'].external
+ s = Spec("quantum-espresso+veritas").concretized()
+ assert s.satisfies("^libelf@0.8.12")
+ assert not s["libelf"].external
- @pytest.mark.regression('9744')
+ @pytest.mark.regression("9744")
def test_cumulative_version_ranges_with_different_length(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
- s = Spec('cumulative-vrange-root').concretized()
+ s = Spec("cumulative-vrange-root").concretized()
assert s.concrete
- assert s.satisfies('^cumulative-vrange-bottom@2.2')
+ assert s.satisfies("^cumulative-vrange-bottom@2.2")
- @pytest.mark.regression('9937')
- @pytest.mark.skipif(
- sys.version_info[:2] == (3, 5), reason='Known failure with Python3.5'
- )
+ @pytest.mark.regression("9937")
+ @pytest.mark.skipif(sys.version_info[:2] == (3, 5), reason="Known failure with Python3.5")
def test_dependency_conditional_on_another_dependency_state(self):
- root_str = 'variant-on-dependency-condition-root'
- dep_str = 'variant-on-dependency-condition-a'
- spec_str = '{0} ^{1}'.format(root_str, dep_str)
+ root_str = "variant-on-dependency-condition-root"
+ dep_str = "variant-on-dependency-condition-a"
+ spec_str = "{0} ^{1}".format(root_str, dep_str)
s = Spec(spec_str).concretized()
assert s.concrete
- assert s.satisfies('^variant-on-dependency-condition-b')
+ assert s.satisfies("^variant-on-dependency-condition-b")
- s = Spec(spec_str + '+x').concretized()
+ s = Spec(spec_str + "+x").concretized()
assert s.concrete
- assert s.satisfies('^variant-on-dependency-condition-b')
+ assert s.satisfies("^variant-on-dependency-condition-b")
- s = Spec(spec_str + '~x').concretized()
+ s = Spec(spec_str + "~x").concretized()
assert s.concrete
- assert not s.satisfies('^variant-on-dependency-condition-b')
-
- @pytest.mark.regression('8082')
- @pytest.mark.parametrize('spec_str,expected', [
- ('cmake %gcc', '%gcc'),
- ('cmake %clang', '%clang')
- ])
- def test_compiler_constraint_with_external_package(
- self, spec_str, expected
- ):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ assert not s.satisfies("^variant-on-dependency-condition-b")
+
+ @pytest.mark.regression("8082")
+ @pytest.mark.parametrize(
+ "spec_str,expected", [("cmake %gcc", "%gcc"), ("cmake %clang", "%clang")]
+ )
+ def test_compiler_constraint_with_external_package(self, spec_str, expected):
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
packages_yaml = {
- 'cmake': {
- 'externals': [
- {'spec': 'cmake@3.4.3', 'prefix': '/usr'}
- ],
- 'buildable': False
- }
+ "cmake": {"externals": [{"spec": "cmake@3.4.3", "prefix": "/usr"}], "buildable": False}
}
- spack.config.set('packages', packages_yaml)
+ spack.config.set("packages", packages_yaml)
s = Spec(spec_str).concretized()
assert s.external
assert s.satisfies(expected)
- @pytest.mark.regression('20976')
- @pytest.mark.parametrize('compiler,spec_str,expected,xfailold', [
- ('gcc', 'external-common-python %clang',
- '%clang ^external-common-openssl%gcc ^external-common-gdbm%clang', False),
- ('clang', 'external-common-python',
- '%clang ^external-common-openssl%clang ^external-common-gdbm%clang', True)
- ])
+ @pytest.mark.regression("20976")
+ @pytest.mark.parametrize(
+ "compiler,spec_str,expected,xfailold",
+ [
+ (
+ "gcc",
+ "external-common-python %clang",
+ "%clang ^external-common-openssl%gcc ^external-common-gdbm%clang",
+ False,
+ ),
+ (
+ "clang",
+ "external-common-python",
+ "%clang ^external-common-openssl%clang ^external-common-gdbm%clang",
+ True,
+ ),
+ ],
+ )
def test_compiler_in_nonbuildable_external_package(
- self, compiler, spec_str, expected, xfailold
+ self, compiler, spec_str, expected, xfailold
):
"""Check that the compiler of a non-buildable external package does not
- spread to other dependencies, unless no other commpiler is specified."""
+ spread to other dependencies, unless no other commpiler is specified."""
packages_yaml = {
- 'external-common-openssl': {
- 'externals': [
- {'spec': 'external-common-openssl@1.1.1i%' + compiler,
- 'prefix': '/usr'}
+ "external-common-openssl": {
+ "externals": [
+ {"spec": "external-common-openssl@1.1.1i%" + compiler, "prefix": "/usr"}
],
- 'buildable': False
+ "buildable": False,
}
}
- spack.config.set('packages', packages_yaml)
+ spack.config.set("packages", packages_yaml)
s = Spec(spec_str).concretized()
- if xfailold and spack.config.get('config:concretizer') == 'original':
- pytest.xfail('This only works on the ASP-based concretizer')
+ if xfailold and spack.config.get("config:concretizer") == "original":
+ pytest.xfail("This only works on the ASP-based concretizer")
assert s.satisfies(expected)
- assert 'external-common-perl' not in [d.name for d in s.dependencies()]
+ assert "external-common-perl" not in [d.name for d in s.dependencies()]
def test_external_packages_have_consistent_hash(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('This tests needs the ASP-based concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("This tests needs the ASP-based concretizer")
- s, t = Spec('externaltool'), Spec('externaltool')
+ s, t = Spec("externaltool"), Spec("externaltool")
s._old_concretize(), t._new_concretize()
assert s.dag_hash() == t.dag_hash()
def test_external_that_would_require_a_virtual_dependency(self):
- s = Spec('requires-virtual').concretized()
+ s = Spec("requires-virtual").concretized()
assert s.external
- assert 'stuff' not in s
+ assert "stuff" not in s
def test_transitive_conditional_virtual_dependency(self):
- s = Spec('transitive-conditional-virtual-dependency').concretized()
+ s = Spec("transitive-conditional-virtual-dependency").concretized()
# The default for conditional-virtual-dependency is to have
# +stuff~mpi, so check that these defaults are respected
- assert '+stuff' in s['conditional-virtual-dependency']
- assert '~mpi' in s['conditional-virtual-dependency']
+ assert "+stuff" in s["conditional-virtual-dependency"]
+ assert "~mpi" in s["conditional-virtual-dependency"]
# 'stuff' is provided by an external package, so check it's present
- assert 'externalvirtual' in s
+ assert "externalvirtual" in s
- @pytest.mark.regression('20040')
+ @pytest.mark.regression("20040")
def test_conditional_provides_or_depends_on(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
# Check that we can concretize correctly a spec that can either
# provide a virtual or depend on it based on the value of a variant
- s = Spec('conditional-provider +disable-v1').concretized()
- assert 'v1-provider' in s
- assert s['v1'].name == 'v1-provider'
- assert s['v2'].name == 'conditional-provider'
-
- @pytest.mark.regression('20079')
- @pytest.mark.parametrize('spec_str,tests_arg,with_dep,without_dep', [
- # Check that True is treated correctly and attaches test deps
- # to all nodes in the DAG
- ('a', True, ['a'], []),
- ('a foobar=bar', True, ['a', 'b'], []),
- # Check that a list of names activates the dependency only for
- # packages in that list
- ('a foobar=bar', ['a'], ['a'], ['b']),
- ('a foobar=bar', ['b'], ['b'], ['a']),
- # Check that False disregard test dependencies
- ('a foobar=bar', False, [], ['a', 'b']),
- ])
- def test_activating_test_dependencies(
- self, spec_str, tests_arg, with_dep, without_dep
- ):
+ s = Spec("conditional-provider +disable-v1").concretized()
+ assert "v1-provider" in s
+ assert s["v1"].name == "v1-provider"
+ assert s["v2"].name == "conditional-provider"
+
+ @pytest.mark.regression("20079")
+ @pytest.mark.parametrize(
+ "spec_str,tests_arg,with_dep,without_dep",
+ [
+ # Check that True is treated correctly and attaches test deps
+ # to all nodes in the DAG
+ ("a", True, ["a"], []),
+ ("a foobar=bar", True, ["a", "b"], []),
+ # Check that a list of names activates the dependency only for
+ # packages in that list
+ ("a foobar=bar", ["a"], ["a"], ["b"]),
+ ("a foobar=bar", ["b"], ["b"], ["a"]),
+ # Check that False disregard test dependencies
+ ("a foobar=bar", False, [], ["a", "b"]),
+ ],
+ )
+ def test_activating_test_dependencies(self, spec_str, tests_arg, with_dep, without_dep):
s = Spec(spec_str).concretized(tests=tests_arg)
for pkg_name in with_dep:
msg = "Cannot find test dependency in package '{0}'"
node = s[pkg_name]
- assert node.dependencies(deptype='test'), msg.format(pkg_name)
+ assert node.dependencies(deptype="test"), msg.format(pkg_name)
for pkg_name in without_dep:
msg = "Test dependency in package '{0}' is unexpected"
node = s[pkg_name]
- assert not node.dependencies(deptype='test'), msg.format(pkg_name)
+ assert not node.dependencies(deptype="test"), msg.format(pkg_name)
- @pytest.mark.regression('20019')
+ @pytest.mark.regression("20019")
def test_compiler_match_is_preferred_to_newer_version(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
# This spec depends on openblas. Openblas has a conflict
# that doesn't allow newer versions with gcc@4.4.0. Check
# that an old version of openblas is selected, rather than
# a different compiler for just that node.
- spec_str = 'simple-inheritance+openblas %gcc@4.4.0 os=redhat6'
+ spec_str = "simple-inheritance+openblas %gcc@4.4.0 os=redhat6"
s = Spec(spec_str).concretized()
- assert 'openblas@0.2.13' in s
- assert s['openblas'].satisfies('%gcc@4.4.0')
+ assert "openblas@0.2.13" in s
+ assert s["openblas"].satisfies("%gcc@4.4.0")
- @pytest.mark.regression('19981')
+ @pytest.mark.regression("19981")
def test_target_ranges_in_conflicts(self):
with pytest.raises(spack.error.SpackError):
- Spec('impossible-concretization').concretized()
+ Spec("impossible-concretization").concretized()
def test_target_compatibility(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
with pytest.raises(spack.error.SpackError):
- Spec('libdwarf target=x86_64 ^libelf target=x86_64_v2').concretized()
+ Spec("libdwarf target=x86_64 ^libelf target=x86_64_v2").concretized()
- @pytest.mark.regression('20040')
+ @pytest.mark.regression("20040")
def test_variant_not_default(self):
- s = Spec('ecp-viz-sdk').concretized()
+ s = Spec("ecp-viz-sdk").concretized()
# Check default variant value for the package
- assert '+dep' in s['conditional-constrained-dependencies']
+ assert "+dep" in s["conditional-constrained-dependencies"]
# Check that non-default variant values are forced on the dependency
- d = s['dep-with-variants']
- assert '+foo+bar+baz' in d
+ d = s["dep-with-variants"]
+ assert "+foo+bar+baz" in d
- @pytest.mark.regression('20055')
+ @pytest.mark.regression("20055")
def test_custom_compiler_version(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
- s = Spec('a %gcc@foo os=redhat6').concretized()
- assert '%gcc@foo' in s
+ s = Spec("a %gcc@foo os=redhat6").concretized()
+ assert "%gcc@foo" in s
def test_all_patches_applied(self):
- uuidpatch = 'a60a42b73e03f207433c5579de207c6ed61d58e4d12dd3b5142eb525728d89ea' if not is_windows else 'd0df7988457ec999c148a4a2af25ce831bfaad13954ba18a4446374cb0aef55e'
- localpatch = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
- spec = spack.spec.Spec('conditionally-patch-dependency+jasper')
+ uuidpatch = (
+ "a60a42b73e03f207433c5579de207c6ed61d58e4d12dd3b5142eb525728d89ea"
+ if not is_windows
+ else "d0df7988457ec999c148a4a2af25ce831bfaad13954ba18a4446374cb0aef55e"
+ )
+ localpatch = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
+ spec = spack.spec.Spec("conditionally-patch-dependency+jasper")
spec.concretize()
- assert ((uuidpatch, localpatch) ==
- spec['libelf'].variants['patches'].value)
+ assert (uuidpatch, localpatch) == spec["libelf"].variants["patches"].value
def test_dont_select_version_that_brings_more_variants_in(self):
- s = Spec('dep-with-variants-if-develop-root').concretized()
- assert s['dep-with-variants-if-develop'].satisfies('@1.0')
-
- @pytest.mark.regression('20244,20736')
- @pytest.mark.parametrize('spec_str,is_external,expected', [
- # These are all externals, and 0_8 is a version not in package.py
- ('externaltool@1.0', True, '@1.0'),
- ('externaltool@0.9', True, '@0.9'),
- ('externaltool@0_8', True, '@0_8'),
- # This external package is buildable, has a custom version
- # in packages.yaml that is greater than the ones in package.py
- # and specifies a variant
- ('external-buildable-with-variant +baz', True, '@1.1.special +baz'),
- ('external-buildable-with-variant ~baz', False, '@1.0 ~baz'),
- ('external-buildable-with-variant@1.0: ~baz', False, '@1.0 ~baz'),
- # This uses an external version that meets the condition for
- # having an additional dependency, but the dependency shouldn't
- # appear in the answer set
- ('external-buildable-with-variant@0.9 +baz', True, '@0.9'),
- # This package has an external version declared that would be
- # the least preferred if Spack had to build it
- ('old-external', True, '@1.0.0'),
- ])
+ s = Spec("dep-with-variants-if-develop-root").concretized()
+ assert s["dep-with-variants-if-develop"].satisfies("@1.0")
+
+ @pytest.mark.regression("20244,20736")
+ @pytest.mark.parametrize(
+ "spec_str,is_external,expected",
+ [
+ # These are all externals, and 0_8 is a version not in package.py
+ ("externaltool@1.0", True, "@1.0"),
+ ("externaltool@0.9", True, "@0.9"),
+ ("externaltool@0_8", True, "@0_8"),
+ # This external package is buildable, has a custom version
+ # in packages.yaml that is greater than the ones in package.py
+ # and specifies a variant
+ ("external-buildable-with-variant +baz", True, "@1.1.special +baz"),
+ ("external-buildable-with-variant ~baz", False, "@1.0 ~baz"),
+ ("external-buildable-with-variant@1.0: ~baz", False, "@1.0 ~baz"),
+ # This uses an external version that meets the condition for
+ # having an additional dependency, but the dependency shouldn't
+ # appear in the answer set
+ ("external-buildable-with-variant@0.9 +baz", True, "@0.9"),
+ # This package has an external version declared that would be
+ # the least preferred if Spack had to build it
+ ("old-external", True, "@1.0.0"),
+ ],
+ )
def test_external_package_versions(self, spec_str, is_external, expected):
s = Spec(spec_str).concretized()
assert s.external == is_external
assert s.satisfies(expected)
- @pytest.mark.parametrize('dev_first', [True, False])
- @pytest.mark.parametrize('spec', [
- 'dev-build-test-install', 'dev-build-test-dependent ^dev-build-test-install'])
- @pytest.mark.parametrize('mock_db', [True, False])
+ @pytest.mark.parametrize("dev_first", [True, False])
+ @pytest.mark.parametrize(
+ "spec", ["dev-build-test-install", "dev-build-test-dependent ^dev-build-test-install"]
+ )
+ @pytest.mark.parametrize("mock_db", [True, False])
def test_reuse_does_not_overwrite_dev_specs(
- self, dev_first, spec, mock_db, tmpdir, monkeypatch):
+ self, dev_first, spec, mock_db, tmpdir, monkeypatch
+ ):
"""Test that reuse does not mix dev specs with non-dev specs.
Tests for either order (dev specs are not reused for non-dev, and
@@ -1224,8 +1164,8 @@ class TestConcretize(object):
# dev and non-dev specs that are otherwise identical
spec = Spec(spec)
dev_spec = spec.copy()
- dev_constraint = 'dev_path=%s' % tmpdir.strpath
- dev_spec['dev-build-test-install'].constrain(dev_constraint)
+ dev_constraint = "dev_path=%s" % tmpdir.strpath
+ dev_spec["dev-build-test-install"].constrain(dev_constraint)
# run the test in both orders
first_spec = dev_spec if dev_first else spec
@@ -1238,42 +1178,42 @@ class TestConcretize(object):
return [first_spec]
if mock_db:
- monkeypatch.setattr(spack.store.db, 'query', mock_fn)
+ monkeypatch.setattr(spack.store.db, "query", mock_fn)
else:
- monkeypatch.setattr(
- spack.binary_distribution, 'update_cache_and_get_specs', mock_fn)
+ monkeypatch.setattr(spack.binary_distribution, "update_cache_and_get_specs", mock_fn)
# concretize and ensure we did not reuse
with spack.config.override("concretizer:reuse", True):
second_spec.concretize()
assert first_spec.dag_hash() != second_spec.dag_hash()
- @pytest.mark.regression('20292')
- @pytest.mark.parametrize('context', [
- {'add_variant': True, 'delete_variant': False},
- {'add_variant': False, 'delete_variant': True},
- {'add_variant': True, 'delete_variant': True}
- ])
+ @pytest.mark.regression("20292")
+ @pytest.mark.parametrize(
+ "context",
+ [
+ {"add_variant": True, "delete_variant": False},
+ {"add_variant": False, "delete_variant": True},
+ {"add_variant": True, "delete_variant": True},
+ ],
+ )
def test_reuse_installed_packages_when_package_def_changes(
- self, context, mutable_database, repo_with_changing_recipe
+ self, context, mutable_database, repo_with_changing_recipe
):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
# Install a spec
- root = Spec('root').concretized()
- dependency = root['changing'].copy()
+ root = Spec("root").concretized()
+ dependency = root["changing"].copy()
root.package.do_install(fake=True, explicit=True)
# Modify package.py
repo_with_changing_recipe.change(context)
# Try to concretize with the spec installed previously
- new_root_with_reuse = Spec('root ^/{0}'.format(
- dependency.dag_hash())
- ).concretized()
+ new_root_with_reuse = Spec("root ^/{0}".format(dependency.dag_hash())).concretized()
- new_root_without_reuse = Spec('root').concretized()
+ new_root_without_reuse = Spec("root").concretized()
# validate that the graphs are the same with reuse, but not without
assert ht.build_hash(root) == ht.build_hash(new_root_with_reuse)
@@ -1285,147 +1225,144 @@ class TestConcretize(object):
# Structure and package hash will be different without reuse
assert root.dag_hash() != new_root_without_reuse.dag_hash()
- @pytest.mark.regression('20784')
+ @pytest.mark.regression("20784")
def test_concretization_of_test_dependencies(self):
# With clingo we emit dependency_conditions regardless of the type
# of the dependency. We need to ensure that there's at least one
# dependency type declared to infer that the dependency holds.
- s = Spec('test-dep-with-imposed-conditions').concretized()
- assert 'c' not in s
+ s = Spec("test-dep-with-imposed-conditions").concretized()
+ assert "c" not in s
- @pytest.mark.parametrize('spec_str', [
- 'wrong-variant-in-conflicts',
- 'wrong-variant-in-depends-on'
- ])
+ @pytest.mark.parametrize(
+ "spec_str", ["wrong-variant-in-conflicts", "wrong-variant-in-depends-on"]
+ )
def test_error_message_for_inconsistent_variants(self, spec_str):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
s = Spec(spec_str)
- with pytest.raises(RuntimeError, match='not found in package'):
+ with pytest.raises(RuntimeError, match="not found in package"):
s.concretize()
- @pytest.mark.regression('22533')
- @pytest.mark.parametrize('spec_str,variant_name,expected_values', [
- # Test the default value 'auto'
- ('mvapich2', 'file_systems', ('auto',)),
- # Test setting a single value from the disjoint set
- ('mvapich2 file_systems=lustre', 'file_systems', ('lustre',)),
- # Test setting multiple values from the disjoint set
- ('mvapich2 file_systems=lustre,gpfs', 'file_systems',
- ('lustre', 'gpfs')),
- ])
- def test_mv_variants_disjoint_sets_from_spec(
- self, spec_str, variant_name, expected_values
- ):
+ @pytest.mark.regression("22533")
+ @pytest.mark.parametrize(
+ "spec_str,variant_name,expected_values",
+ [
+ # Test the default value 'auto'
+ ("mvapich2", "file_systems", ("auto",)),
+ # Test setting a single value from the disjoint set
+ ("mvapich2 file_systems=lustre", "file_systems", ("lustre",)),
+ # Test setting multiple values from the disjoint set
+ ("mvapich2 file_systems=lustre,gpfs", "file_systems", ("lustre", "gpfs")),
+ ],
+ )
+ def test_mv_variants_disjoint_sets_from_spec(self, spec_str, variant_name, expected_values):
s = Spec(spec_str).concretized()
assert set(expected_values) == set(s.variants[variant_name].value)
- @pytest.mark.regression('22533')
+ @pytest.mark.regression("22533")
def test_mv_variants_disjoint_sets_from_packages_yaml(self):
external_mvapich2 = {
- 'mvapich2': {
- 'buildable': False,
- 'externals': [{
- 'spec': 'mvapich2@2.3.1 file_systems=nfs,ufs',
- 'prefix': '/usr'
- }]
+ "mvapich2": {
+ "buildable": False,
+ "externals": [{"spec": "mvapich2@2.3.1 file_systems=nfs,ufs", "prefix": "/usr"}],
}
}
- spack.config.set('packages', external_mvapich2)
+ spack.config.set("packages", external_mvapich2)
- s = Spec('mvapich2').concretized()
- assert set(s.variants['file_systems'].value) == set(['ufs', 'nfs'])
+ s = Spec("mvapich2").concretized()
+ assert set(s.variants["file_systems"].value) == set(["ufs", "nfs"])
- @pytest.mark.regression('22596')
+ @pytest.mark.regression("22596")
def test_external_with_non_default_variant_as_dependency(self):
# This package depends on another that is registered as an external
# with 'buildable: true' and a variant with a non-default value set
- s = Spec('trigger-external-non-default-variant').concretized()
-
- assert '~foo' in s['external-non-default-variant']
- assert '~bar' in s['external-non-default-variant']
- assert s['external-non-default-variant'].external
-
- @pytest.mark.regression('22871')
- @pytest.mark.parametrize('spec_str,expected_os', [
- ('mpileaks', 'os=debian6'),
- # To trigger the bug in 22871 we need to have the same compiler
- # spec available on both operating systems
- ('mpileaks%gcc@4.5.0 platform=test os=debian6', 'os=debian6'),
- ('mpileaks%gcc@4.5.0 platform=test os=redhat6', 'os=redhat6')
- ])
- def test_os_selection_when_multiple_choices_are_possible(
- self, spec_str, expected_os
- ):
+ s = Spec("trigger-external-non-default-variant").concretized()
+
+ assert "~foo" in s["external-non-default-variant"]
+ assert "~bar" in s["external-non-default-variant"]
+ assert s["external-non-default-variant"].external
+
+ @pytest.mark.regression("22871")
+ @pytest.mark.parametrize(
+ "spec_str,expected_os",
+ [
+ ("mpileaks", "os=debian6"),
+ # To trigger the bug in 22871 we need to have the same compiler
+ # spec available on both operating systems
+ ("mpileaks%gcc@4.5.0 platform=test os=debian6", "os=debian6"),
+ ("mpileaks%gcc@4.5.0 platform=test os=redhat6", "os=redhat6"),
+ ],
+ )
+ def test_os_selection_when_multiple_choices_are_possible(self, spec_str, expected_os):
s = Spec(spec_str).concretized()
for node in s.traverse():
assert node.satisfies(expected_os)
- @pytest.mark.regression('22718')
- @pytest.mark.parametrize('spec_str,expected_compiler', [
- ('mpileaks', '%gcc@4.5.0'),
- ('mpileaks ^mpich%clang@3.3', '%clang@3.3')
- ])
+ @pytest.mark.regression("22718")
+ @pytest.mark.parametrize(
+ "spec_str,expected_compiler",
+ [("mpileaks", "%gcc@4.5.0"), ("mpileaks ^mpich%clang@3.3", "%clang@3.3")],
+ )
def test_compiler_is_unique(self, spec_str, expected_compiler):
s = Spec(spec_str).concretized()
for node in s.traverse():
assert node.satisfies(expected_compiler)
- @pytest.mark.parametrize('spec_str,expected_dict', [
- # Check the defaults from the package (libs=shared)
- ('multivalue-variant', {
- 'libs=shared': True,
- 'libs=static': False
- }),
- # Check that libs=static doesn't extend the default
- ('multivalue-variant libs=static', {
- 'libs=shared': False,
- 'libs=static': True
- }),
- ])
+ @pytest.mark.parametrize(
+ "spec_str,expected_dict",
+ [
+ # Check the defaults from the package (libs=shared)
+ ("multivalue-variant", {"libs=shared": True, "libs=static": False}),
+ # Check that libs=static doesn't extend the default
+ ("multivalue-variant libs=static", {"libs=shared": False, "libs=static": True}),
+ ],
+ )
def test_multivalued_variants_from_cli(self, spec_str, expected_dict):
s = Spec(spec_str).concretized()
for constraint, value in expected_dict.items():
assert s.satisfies(constraint) == value
- @pytest.mark.regression('22351')
- @pytest.mark.parametrize('spec_str,expected', [
- # Version 1.1.0 is deprecated and should not be selected, unless we
- # explicitly asked for that
- ('deprecated-versions', ['deprecated-versions@1.0.0']),
- ('deprecated-versions@1.1.0', ['deprecated-versions@1.1.0']),
- ])
+ @pytest.mark.regression("22351")
+ @pytest.mark.parametrize(
+ "spec_str,expected",
+ [
+ # Version 1.1.0 is deprecated and should not be selected, unless we
+ # explicitly asked for that
+ ("deprecated-versions", ["deprecated-versions@1.0.0"]),
+ ("deprecated-versions@1.1.0", ["deprecated-versions@1.1.0"]),
+ ],
+ )
def test_deprecated_versions_not_selected(self, spec_str, expected):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
s = Spec(spec_str).concretized()
for abstract_spec in expected:
assert abstract_spec in s
- @pytest.mark.regression('24196')
+ @pytest.mark.regression("24196")
def test_version_badness_more_important_than_default_mv_variants(self):
# If a dependency had an old version that for some reason pulls in
# a transitive dependency with a multi-valued variant, that old
# version was preferred because of the order of our optimization
# criteria.
- s = spack.spec.Spec('root').concretized()
- assert s['gmt'].satisfies('@2.0')
+ s = spack.spec.Spec("root").concretized()
+ assert s["gmt"].satisfies("@2.0")
- @pytest.mark.regression('24205')
+ @pytest.mark.regression("24205")
def test_provider_must_meet_requirements(self):
# A package can be a provider of a virtual only if the underlying
# requirements are met.
- s = spack.spec.Spec('unsat-virtual-dependency')
+ s = spack.spec.Spec("unsat-virtual-dependency")
with pytest.raises((RuntimeError, spack.error.UnsatisfiableSpecError)):
s.concretize()
- @pytest.mark.regression('23951')
+ @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
@@ -1435,42 +1372,39 @@ class TestConcretize(object):
# 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
+ s = spack.spec.Spec("root-adds-virtual").concretized()
+ assert s["leaf-adds-virtual"].satisfies("@2.0")
+ assert "blas" in s
- @pytest.mark.regression('26718')
+ @pytest.mark.regression("26718")
def test_versions_in_virtual_dependencies(self):
# Ensure that a package that needs a given version of a virtual
# package doesn't end up using a later implementation
- s = spack.spec.Spec('hpcviewer@2019.02').concretized()
- assert s['java'].satisfies('virtual-with-versions@1.8.0')
+ s = spack.spec.Spec("hpcviewer@2019.02").concretized()
+ assert s["java"].satisfies("virtual-with-versions@1.8.0")
- @pytest.mark.regression('26866')
+ @pytest.mark.regression("26866")
def test_non_default_provider_of_multiple_virtuals(self):
- s = spack.spec.Spec(
- 'many-virtual-consumer ^low-priority-provider'
- ).concretized()
- assert s['mpi'].name == 'low-priority-provider'
- assert s['lapack'].name == 'low-priority-provider'
+ s = spack.spec.Spec("many-virtual-consumer ^low-priority-provider").concretized()
+ assert s["mpi"].name == "low-priority-provider"
+ assert s["lapack"].name == "low-priority-provider"
- for virtual_pkg in ('mpi', 'lapack'):
+ for virtual_pkg in ("mpi", "lapack"):
for pkg in spack.repo.path.providers_for(virtual_pkg):
- if pkg.name == 'low-priority-provider':
+ if pkg.name == "low-priority-provider":
continue
assert pkg not in s
- @pytest.mark.regression('27237')
- @pytest.mark.parametrize('spec_str,expect_installed', [
- ('mpich', True),
- ('mpich+debug', False),
- ('mpich~debug', True)
- ])
+ @pytest.mark.regression("27237")
+ @pytest.mark.parametrize(
+ "spec_str,expect_installed",
+ [("mpich", True), ("mpich+debug", False), ("mpich~debug", True)],
+ )
def test_concrete_specs_are_not_modified_on_reuse(
- self, mutable_database, spec_str, expect_installed, config
+ self, mutable_database, spec_str, expect_installed, config
):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Original concretizer cannot reuse specs')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Original concretizer cannot reuse specs")
# Test the internal consistency of solve + DAG reconstruction
# when reused specs are added to the mix. This prevents things
@@ -1481,29 +1415,27 @@ class TestConcretize(object):
assert s.installed is expect_installed
assert s.satisfies(spec_str, strict=True)
- @pytest.mark.regression('26721,19736')
+ @pytest.mark.regression("26721,19736")
def test_sticky_variant_in_package(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Original concretizer cannot use sticky variants')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Original concretizer cannot use sticky variants")
# Here we test that a sticky variant cannot be changed from its default value
# by the ASP solver if not set explicitly. The package used in the test needs
# to have +allow-gcc set to be concretized with %gcc and clingo is not allowed
# to change the default ~allow-gcc
with pytest.raises(spack.error.SpackError):
- spack.spec.Spec('sticky-variant %gcc').concretized()
+ spack.spec.Spec("sticky-variant %gcc").concretized()
- s = spack.spec.Spec('sticky-variant+allow-gcc %gcc').concretized()
- assert s.satisfies('%gcc') and s.satisfies('+allow-gcc')
+ s = spack.spec.Spec("sticky-variant+allow-gcc %gcc").concretized()
+ assert s.satisfies("%gcc") and s.satisfies("+allow-gcc")
- s = spack.spec.Spec('sticky-variant %clang').concretized()
- assert s.satisfies('%clang') and s.satisfies('~allow-gcc')
+ s = spack.spec.Spec("sticky-variant %clang").concretized()
+ assert s.satisfies("%clang") and s.satisfies("~allow-gcc")
def test_do_not_invent_new_concrete_versions_unless_necessary(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail(
- "Original concretizer doesn't resolve concrete versions to known ones"
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Original concretizer doesn't resolve concrete versions to known ones")
# ensure we select a known satisfying version rather than creating
# a new '2.7' version.
@@ -1512,18 +1444,19 @@ class TestConcretize(object):
# Here there is no known satisfying version - use the one on the spec.
assert ver("2.7.21") == Spec("python@2.7.21").concretized().version
- @pytest.mark.parametrize('spec_str', [
- 'conditional-values-in-variant@1.62.0 cxxstd=17',
- 'conditional-values-in-variant@1.62.0 cxxstd=2a',
- 'conditional-values-in-variant@1.72.0 cxxstd=2a',
- # Ensure disjoint set of values work too
- 'conditional-values-in-variant@1.72.0 staging=flexpath',
- ])
+ @pytest.mark.parametrize(
+ "spec_str",
+ [
+ "conditional-values-in-variant@1.62.0 cxxstd=17",
+ "conditional-values-in-variant@1.62.0 cxxstd=2a",
+ "conditional-values-in-variant@1.72.0 cxxstd=2a",
+ # Ensure disjoint set of values work too
+ "conditional-values-in-variant@1.72.0 staging=flexpath",
+ ],
+ )
def test_conditional_values_in_variants(self, spec_str):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- "Original concretizer doesn't resolve conditional values in variants"
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer doesn't resolve conditional values in variants")
s = Spec(spec_str)
with pytest.raises((RuntimeError, spack.error.UnsatisfiableSpecError)):
@@ -1531,105 +1464,95 @@ class TestConcretize(object):
def test_conditional_values_in_conditional_variant(self):
"""Test that conditional variants play well with conditional possible values"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- "Original concretizer doesn't resolve conditional values in variants"
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer doesn't resolve conditional values in variants")
- s = Spec('conditional-values-in-variant@1.50.0').concretized()
- assert 'cxxstd' not in s.variants
+ s = Spec("conditional-values-in-variant@1.50.0").concretized()
+ assert "cxxstd" not in s.variants
- s = Spec('conditional-values-in-variant@1.60.0').concretized()
- assert 'cxxstd' in s.variants
+ s = Spec("conditional-values-in-variant@1.60.0").concretized()
+ assert "cxxstd" in s.variants
def test_target_granularity(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- 'Original concretizer cannot account for target granularity'
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot account for target granularity")
# The test architecture uses core2 as the default target. Check that when
# we configure Spack for "generic" granularity we concretize for x86_64
- s = Spec('python')
- assert s.concretized().satisfies('target=core2')
- with spack.config.override('concretizer:targets', {'granularity': 'generic'}):
- assert s.concretized().satisfies('target=x86_64')
+ s = Spec("python")
+ assert s.concretized().satisfies("target=core2")
+ with spack.config.override("concretizer:targets", {"granularity": "generic"}):
+ assert s.concretized().satisfies("target=x86_64")
def test_host_compatible_concretization(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- 'Original concretizer cannot account for host compatibility'
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot account for host compatibility")
# Check that after setting "host_compatible" to false we cannot concretize.
# Here we use "k10" to set a target non-compatible with the current host
# to avoid a lot of boilerplate when mocking the test platform. The issue
# is that the defaults for the test platform are very old, so there's no
# compiler supporting e.g. icelake etc.
- s = Spec('python target=k10')
+ s = Spec("python target=k10")
assert s.concretized()
- with spack.config.override('concretizer:targets', {'host_compatible': True}):
+ with spack.config.override("concretizer:targets", {"host_compatible": True}):
with pytest.raises(spack.error.SpackError):
s.concretized()
def test_add_microarchitectures_on_explicit_request(self):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- 'Original concretizer cannot account for host compatibility'
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot account for host compatibility")
# Check that if we consider only "generic" targets, we can still solve for
# specific microarchitectures on explicit requests
- with spack.config.override('concretizer:targets', {'granularity': 'generic'}):
- s = Spec('python target=k10').concretized()
- assert s.satisfies('target=k10')
+ with spack.config.override("concretizer:targets", {"granularity": "generic"}):
+ s = Spec("python target=k10").concretized()
+ assert s.satisfies("target=k10")
- @pytest.mark.regression('29201')
- def test_delete_version_and_reuse(
- self, mutable_database, repo_with_changing_recipe
- ):
+ @pytest.mark.regression("29201")
+ def test_delete_version_and_reuse(self, mutable_database, repo_with_changing_recipe):
"""Test that we can reuse installed specs with versions not
declared in package.py
"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
- root = Spec('root').concretized()
+ root = Spec("root").concretized()
root.package.do_install(fake=True, explicit=True)
- repo_with_changing_recipe.change({'delete_version': True})
+ repo_with_changing_recipe.change({"delete_version": True})
with spack.config.override("concretizer:reuse", True):
- new_root = Spec('root').concretized()
+ new_root = Spec("root").concretized()
assert root.dag_hash() == new_root.dag_hash()
- @pytest.mark.regression('29201')
+ @pytest.mark.regression("29201")
def test_installed_version_is_selected_only_for_reuse(
- self, mutable_database, repo_with_changing_recipe
+ self, mutable_database, repo_with_changing_recipe
):
"""Test that a version coming from an installed spec is a possible
version only for reuse
"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known failure of the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known failure of the original concretizer")
# Install a dependency that cannot be reused with "root"
# because of a conflict a variant, then delete its version
- dependency = Spec('changing@1.0~foo').concretized()
+ dependency = Spec("changing@1.0~foo").concretized()
dependency.package.do_install(fake=True, explicit=True)
- repo_with_changing_recipe.change({'delete_version': True})
+ repo_with_changing_recipe.change({"delete_version": True})
with spack.config.override("concretizer:reuse", True):
- new_root = Spec('root').concretized()
+ new_root = Spec("root").concretized()
- assert not new_root['changing'].satisfies('@1.0')
+ assert not new_root["changing"].satisfies("@1.0")
- @pytest.mark.regression('28259')
+ @pytest.mark.regression("28259")
def test_reuse_with_unknown_namespace_dont_raise(
- self, additional_repo_with_c, mutable_mock_repo
+ self, additional_repo_with_c, mutable_mock_repo
):
- s = Spec('c').concretized()
- assert s.namespace == 'myrepo'
+ s = Spec("c").concretized()
+ assert s.namespace == "myrepo"
s.package.do_install(fake=True, explicit=True)
# TODO: To mock repo removal we need to recreate the RepoPath
@@ -1637,43 +1560,47 @@ class TestConcretize(object):
spack.repo.path = spack.repo.RepoPath(*spack.repo.path.repos)
with spack.config.override("concretizer:reuse", True):
- s = Spec('c').concretized()
- assert s.namespace == 'builtin.mock'
+ s = Spec("c").concretized()
+ assert s.namespace == "builtin.mock"
- @pytest.mark.regression('28259')
+ @pytest.mark.regression("28259")
def test_reuse_with_unknown_package_dont_raise(
- self, additional_repo_with_c, mutable_mock_repo, monkeypatch
+ self, additional_repo_with_c, mutable_mock_repo, monkeypatch
):
- s = Spec('c').concretized()
- assert s.namespace == 'myrepo'
+ s = Spec("c").concretized()
+ assert s.namespace == "myrepo"
s.package.do_install(fake=True, explicit=True)
# Here we delete the package.py instead of removing the repo and we
# make it such that "c" doesn't exist in myrepo
- del sys.modules['spack.pkg.myrepo.c']
- c_dir = os.path.join(additional_repo_with_c.root, 'packages', 'c')
+ del sys.modules["spack.pkg.myrepo.c"]
+ c_dir = os.path.join(additional_repo_with_c.root, "packages", "c")
shutil.rmtree(c_dir)
- monkeypatch.setattr(additional_repo_with_c, 'exists', lambda x: False)
+ monkeypatch.setattr(additional_repo_with_c, "exists", lambda x: False)
with spack.config.override("concretizer:reuse", True):
- s = Spec('c').concretized()
- assert s.namespace == 'builtin.mock'
-
- @pytest.mark.parametrize('specs,expected', [
- (['libelf', 'libelf@0.8.10'], 1),
- (['libdwarf%gcc', 'libelf%clang'], 2),
- (['libdwarf%gcc', 'libdwarf%clang'], 4),
- (['libdwarf^libelf@0.8.12', 'libdwarf^libelf@0.8.13'], 4),
- (['hdf5', 'zmpi'], 3),
- (['hdf5', 'mpich'], 2),
- (['hdf5^zmpi', 'mpich'], 4),
- (['mpi', 'zmpi'], 2),
- (['mpi', 'mpich'], 1),
- ])
+ s = Spec("c").concretized()
+ assert s.namespace == "builtin.mock"
+
+ @pytest.mark.parametrize(
+ "specs,expected",
+ [
+ (["libelf", "libelf@0.8.10"], 1),
+ (["libdwarf%gcc", "libelf%clang"], 2),
+ (["libdwarf%gcc", "libdwarf%clang"], 4),
+ (["libdwarf^libelf@0.8.12", "libdwarf^libelf@0.8.13"], 4),
+ (["hdf5", "zmpi"], 3),
+ (["hdf5", "mpich"], 2),
+ (["hdf5^zmpi", "mpich"], 4),
+ (["mpi", "zmpi"], 2),
+ (["mpi", "mpich"], 1),
+ ],
+ )
def test_best_effort_coconcretize(self, specs, expected):
import spack.solver.asp
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Original concretizer cannot concretize in rounds')
+
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot concretize in rounds")
specs = [spack.spec.Spec(s) for s in specs]
solver = spack.solver.asp.Solver()
@@ -1685,30 +1612,42 @@ class TestConcretize(object):
assert len(concrete_specs) == expected
- @pytest.mark.parametrize('specs,expected_spec,occurances', [
- # The algorithm is greedy, and it might decide to solve the "best"
- # spec early in which case reuse is suboptimal. In this case the most
- # recent version of libdwarf is selected and concretized to libelf@0.8.13
- (['libdwarf@20111030^libelf@0.8.10',
- 'libdwarf@20130207^libelf@0.8.12',
- 'libdwarf@20130729'], 'libelf@0.8.12', 1),
- # Check we reuse the best libelf in the environment
- (['libdwarf@20130729^libelf@0.8.10',
- 'libdwarf@20130207^libelf@0.8.12',
- 'libdwarf@20111030'], 'libelf@0.8.12', 2),
- (['libdwarf@20130729',
- 'libdwarf@20130207',
- 'libdwarf@20111030'], 'libelf@0.8.13', 3),
- # We need to solve in 2 rounds and we expect mpich to be preferred to zmpi
- (['hdf5+mpi', 'zmpi', 'mpich'], 'mpich', 2)
- ])
- def test_best_effort_coconcretize_preferences(
- self, specs, expected_spec, occurances
- ):
+ @pytest.mark.parametrize(
+ "specs,expected_spec,occurances",
+ [
+ # The algorithm is greedy, and it might decide to solve the "best"
+ # spec early in which case reuse is suboptimal. In this case the most
+ # recent version of libdwarf is selected and concretized to libelf@0.8.13
+ (
+ [
+ "libdwarf@20111030^libelf@0.8.10",
+ "libdwarf@20130207^libelf@0.8.12",
+ "libdwarf@20130729",
+ ],
+ "libelf@0.8.12",
+ 1,
+ ),
+ # Check we reuse the best libelf in the environment
+ (
+ [
+ "libdwarf@20130729^libelf@0.8.10",
+ "libdwarf@20130207^libelf@0.8.12",
+ "libdwarf@20111030",
+ ],
+ "libelf@0.8.12",
+ 2,
+ ),
+ (["libdwarf@20130729", "libdwarf@20130207", "libdwarf@20111030"], "libelf@0.8.13", 3),
+ # We need to solve in 2 rounds and we expect mpich to be preferred to zmpi
+ (["hdf5+mpi", "zmpi", "mpich"], "mpich", 2),
+ ],
+ )
+ def test_best_effort_coconcretize_preferences(self, specs, expected_spec, occurances):
"""Test package preferences during coconcretization."""
import spack.solver.asp
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Original concretizer cannot concretize in rounds')
+
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot concretize in rounds")
specs = [spack.spec.Spec(s) for s in specs]
solver = spack.solver.asp.Solver()
@@ -1723,46 +1662,45 @@ class TestConcretize(object):
counter += 1
assert counter == occurances, concrete_specs
- @pytest.mark.regression('30864')
+ @pytest.mark.regression("30864")
def test_misleading_error_message_on_version(self, mutable_database):
# For this bug to be triggered we need a reusable dependency
# that is not optimal in terms of optimization scores.
# We pick an old version of "b"
import spack.solver.asp
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Original concretizer cannot reuse')
- reusable_specs = [
- spack.spec.Spec('non-existing-conditional-dep@1.0').concretized()
- ]
- root_spec = spack.spec.Spec('non-existing-conditional-dep@2.0')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot reuse")
+
+ reusable_specs = [spack.spec.Spec("non-existing-conditional-dep@1.0").concretized()]
+ root_spec = spack.spec.Spec("non-existing-conditional-dep@2.0")
with spack.config.override("concretizer:reuse", True):
solver = spack.solver.asp.Solver()
setup = spack.solver.asp.SpackSolverSetup()
- with pytest.raises(spack.solver.asp.UnsatisfiableSpecError,
- match="'dep-with-variants' satisfies '@999'"):
+ with pytest.raises(
+ spack.solver.asp.UnsatisfiableSpecError,
+ match="'dep-with-variants' satisfies '@999'",
+ ):
solver.driver.solve(setup, [root_spec], reuse=reusable_specs)
- @pytest.mark.regression('31148')
+ @pytest.mark.regression("31148")
def test_version_weight_and_provenance(self):
"""Test package preferences during coconcretization."""
import spack.solver.asp
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Original concretizer cannot reuse')
+
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot reuse")
reusable_specs = [
- spack.spec.Spec(spec_str).concretized()
- for spec_str in ('b@0.9', 'b@1.0')
+ spack.spec.Spec(spec_str).concretized() for spec_str in ("b@0.9", "b@1.0")
]
- root_spec = spack.spec.Spec('a foobar=bar')
+ root_spec = spack.spec.Spec("a foobar=bar")
with spack.config.override("concretizer:reuse", True):
solver = spack.solver.asp.Solver()
setup = spack.solver.asp.SpackSolverSetup()
- result = solver.driver.solve(
- setup, [root_spec], reuse=reusable_specs, out=sys.stdout
- )
+ result = solver.driver.solve(setup, [root_spec], reuse=reusable_specs, out=sys.stdout)
# The result here should have a single spec to build ('a')
# and it should be using b@1.0 with a version badness of 2
# The provenance is:
@@ -1771,30 +1709,29 @@ class TestConcretize(object):
# version_declared("b","1.0",2,"installed").
# version_declared("b","0.9",3,"installed").
for criterion in [
- (1, None, 'number of packages to build (vs. reuse)'),
- (2, 0, 'version badness')
+ (1, None, "number of packages to build (vs. reuse)"),
+ (2, 0, "version badness"),
]:
assert criterion in result.criteria
- assert result.specs[0].satisfies('^b@1.0')
+ assert result.specs[0].satisfies("^b@1.0")
- @pytest.mark.regression('31169')
+ @pytest.mark.regression("31169")
def test_not_reusing_incompatible_os_or_compiler(self):
import spack.solver.asp
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip('Original concretizer cannot reuse')
- root_spec = spack.spec.Spec('b')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer cannot reuse")
+
+ root_spec = spack.spec.Spec("b")
s = root_spec.concretized()
wrong_compiler, wrong_os = s.copy(), s.copy()
- wrong_compiler.compiler = spack.spec.CompilerSpec('gcc@12.1.0')
- wrong_os.architecture = spack.spec.ArchSpec('test-ubuntu2204-x86_64')
+ wrong_compiler.compiler = spack.spec.CompilerSpec("gcc@12.1.0")
+ wrong_os.architecture = spack.spec.ArchSpec("test-ubuntu2204-x86_64")
reusable_specs = [wrong_compiler, wrong_os]
with spack.config.override("concretizer:reuse", True):
solver = spack.solver.asp.Solver()
setup = spack.solver.asp.SpackSolverSetup()
- result = solver.driver.solve(
- setup, [root_spec], reuse=reusable_specs, out=sys.stdout
- )
+ result = solver.driver.solve(setup, [root_spec], reuse=reusable_specs, out=sys.stdout)
concrete_spec = result.specs[0]
- assert concrete_spec.satisfies('%gcc@4.5.0')
- assert concrete_spec.satisfies('os=debian6')
+ assert concrete_spec.satisfies("%gcc@4.5.0")
+ assert concrete_spec.satisfies("os=debian6")
diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py
index 28bb13ee22..379e5447d0 100644
--- a/lib/spack/spack/test/concretize_preferences.py
+++ b/lib/spack/spack/test/concretize_preferences.py
@@ -20,9 +20,8 @@ from spack.version import Version
@pytest.fixture()
def concretize_scope(mutable_config, tmpdir):
"""Adds a scope for concretization preferences"""
- tmpdir.ensure_dir('concretize')
- mutable_config.push_scope(
- ConfigScope('concretize', str(tmpdir.join('concretize'))))
+ tmpdir.ensure_dir("concretize")
+ mutable_config.push_scope(ConfigScope("concretize", str(tmpdir.join("concretize"))))
yield
@@ -32,7 +31,8 @@ def concretize_scope(mutable_config, tmpdir):
@pytest.fixture()
def configure_permissions():
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
permissions:
read: group
@@ -49,8 +49,9 @@ mpileaks:
callpath:
permissions:
write: world
-""")
- spack.config.set('packages', conf, scope='concretize')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
yield
@@ -62,7 +63,7 @@ def concretize(abstract_spec):
def update_packages(pkgname, section, value):
"""Update config and reread package list"""
conf = {pkgname: {section: value}}
- spack.config.set('packages', conf, scope='concretize')
+ spack.config.set("packages", conf, scope="concretize")
def assert_variant_values(spec, **variants):
@@ -71,152 +72,161 @@ def assert_variant_values(spec, **variants):
assert concrete.variants[variant].value == value
-@pytest.mark.usefixtures('concretize_scope', 'mock_packages')
+@pytest.mark.usefixtures("concretize_scope", "mock_packages")
class TestConcretizePreferences(object):
- @pytest.mark.parametrize('package_name,variant_value,expected_results', [
- ('mpileaks', '~debug~opt+shared+static',
- {'debug': False, 'opt': False, 'shared': True, 'static': True}),
- # Check that using a list of variants instead of a single string works
- ('mpileaks', ['~debug', '~opt', '+shared', '+static'],
- {'debug': False, 'opt': False, 'shared': True, 'static': True}),
- # Use different values for the variants and check them again
- ('mpileaks', ['+debug', '+opt', '~shared', '-static'],
- {'debug': True, 'opt': True, 'shared': False, 'static': False}),
- # Check a multivalued variant with multiple values set
- ('multivalue-variant', ['foo=bar,baz', 'fee=bar'],
- {'foo': ('bar', 'baz'), 'fee': 'bar'}),
- ('singlevalue-variant', ['fum=why'],
- {'fum': 'why'})
- ])
- def test_preferred_variants(
- self, package_name, variant_value, expected_results
- ):
+ @pytest.mark.parametrize(
+ "package_name,variant_value,expected_results",
+ [
+ (
+ "mpileaks",
+ "~debug~opt+shared+static",
+ {"debug": False, "opt": False, "shared": True, "static": True},
+ ),
+ # Check that using a list of variants instead of a single string works
+ (
+ "mpileaks",
+ ["~debug", "~opt", "+shared", "+static"],
+ {"debug": False, "opt": False, "shared": True, "static": True},
+ ),
+ # Use different values for the variants and check them again
+ (
+ "mpileaks",
+ ["+debug", "+opt", "~shared", "-static"],
+ {"debug": True, "opt": True, "shared": False, "static": False},
+ ),
+ # Check a multivalued variant with multiple values set
+ (
+ "multivalue-variant",
+ ["foo=bar,baz", "fee=bar"],
+ {"foo": ("bar", "baz"), "fee": "bar"},
+ ),
+ ("singlevalue-variant", ["fum=why"], {"fum": "why"}),
+ ],
+ )
+ def test_preferred_variants(self, package_name, variant_value, expected_results):
"""Test preferred variants are applied correctly"""
- update_packages(package_name, 'variants', variant_value)
+ update_packages(package_name, "variants", variant_value)
assert_variant_values(package_name, **expected_results)
def test_preferred_variants_from_wildcard(self):
"""
Test that 'foo=*' concretizes to any value
"""
- update_packages('multivalue-variant', 'variants', 'foo=bar')
- assert_variant_values(
- 'multivalue-variant foo=*', foo=('bar',)
- )
+ update_packages("multivalue-variant", "variants", "foo=bar")
+ assert_variant_values("multivalue-variant foo=*", foo=("bar",))
def test_preferred_compilers(self):
- """Test preferred compilers are applied correctly
- """
+ """Test preferred compilers are applied correctly"""
# Need to make sure the test uses an available compiler
compiler_list = spack.compilers.all_compiler_specs()
assert compiler_list
# Try the first available compiler
compiler = str(compiler_list[0])
- update_packages('mpileaks', 'compiler', [compiler])
- spec = concretize('mpileaks')
+ update_packages("mpileaks", "compiler", [compiler])
+ spec = concretize("mpileaks")
assert spec.compiler == spack.spec.CompilerSpec(compiler)
# Try the last available compiler
compiler = str(compiler_list[-1])
- update_packages('mpileaks', 'compiler', [compiler])
- spec = concretize('mpileaks os=redhat6')
+ update_packages("mpileaks", "compiler", [compiler])
+ spec = concretize("mpileaks os=redhat6")
assert spec.compiler == spack.spec.CompilerSpec(compiler)
def test_preferred_target(self, mutable_mock_repo):
"""Test preferred targets are applied correctly"""
# FIXME: This test was a false negative, since the default and
# FIXME: the preferred target were the same
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('Known bug in the original concretizer')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("Known bug in the original concretizer")
- spec = concretize('mpich')
+ spec = concretize("mpich")
default = str(spec.target)
preferred = str(spec.target.family)
- update_packages('mpich', 'target', [preferred])
- spec = concretize('mpich')
+ update_packages("mpich", "target", [preferred])
+ spec = concretize("mpich")
assert str(spec.target) == preferred
- spec = concretize('mpileaks')
- assert str(spec['mpileaks'].target) == preferred
- assert str(spec['mpich'].target) == preferred
+ spec = concretize("mpileaks")
+ assert str(spec["mpileaks"].target) == preferred
+ assert str(spec["mpich"].target) == preferred
- update_packages('mpileaks', 'target', [default])
- spec = concretize('mpileaks')
- assert str(spec['mpileaks'].target) == default
- assert str(spec['mpich'].target) == default
+ update_packages("mpileaks", "target", [default])
+ spec = concretize("mpileaks")
+ assert str(spec["mpileaks"].target) == default
+ assert str(spec["mpich"].target) == default
def test_preferred_versions(self):
- """Test preferred package versions are applied correctly
- """
- update_packages('mpileaks', 'version', ['2.3'])
- spec = concretize('mpileaks')
- assert spec.version == Version('2.3')
+ """Test preferred package versions are applied correctly"""
+ update_packages("mpileaks", "version", ["2.3"])
+ spec = concretize("mpileaks")
+ assert spec.version == Version("2.3")
- update_packages('mpileaks', 'version', ['2.2'])
- spec = concretize('mpileaks')
- assert spec.version == Version('2.2')
+ update_packages("mpileaks", "version", ["2.2"])
+ spec = concretize("mpileaks")
+ assert spec.version == Version("2.2")
def test_preferred_versions_mixed_version_types(self):
- update_packages('mixedversions', 'version', ['2.0'])
- spec = concretize('mixedversions')
- assert spec.version == Version('2.0')
+ update_packages("mixedversions", "version", ["2.0"])
+ spec = concretize("mixedversions")
+ assert spec.version == Version("2.0")
def test_preferred_providers(self):
"""Test preferred providers of virtual packages are
applied correctly
"""
- update_packages('all', 'providers', {'mpi': ['mpich']})
- spec = concretize('mpileaks')
- assert 'mpich' in spec
+ update_packages("all", "providers", {"mpi": ["mpich"]})
+ spec = concretize("mpileaks")
+ assert "mpich" in spec
- update_packages('all', 'providers', {'mpi': ['zmpi']})
- spec = concretize('mpileaks')
- assert 'zmpi' in spec
+ update_packages("all", "providers", {"mpi": ["zmpi"]})
+ spec = concretize("mpileaks")
+ assert "zmpi" in spec
def test_preferred(self):
- """"Test packages with some version marked as preferred=True"""
- spec = Spec('python')
+ """ "Test packages with some version marked as preferred=True"""
+ spec = Spec("python")
spec.concretize()
- assert spec.version == Version('2.7.11')
+ assert spec.version == Version("2.7.11")
# now add packages.yaml with versions other than preferred
# ensure that once config is in place, non-preferred version is used
- update_packages('python', 'version', ['3.5.0'])
- spec = Spec('python')
+ update_packages("python", "version", ["3.5.0"])
+ spec = Spec("python")
spec.concretize()
- assert spec.version == Version('3.5.0')
+ assert spec.version == Version("3.5.0")
def test_develop(self):
"""Test concretization with develop-like versions"""
- spec = Spec('develop-test')
+ spec = Spec("develop-test")
spec.concretize()
- assert spec.version == Version('0.2.15')
- spec = Spec('develop-test2')
+ assert spec.version == Version("0.2.15")
+ spec = Spec("develop-test2")
spec.concretize()
- assert spec.version == Version('0.2.15')
+ assert spec.version == Version("0.2.15")
# now add packages.yaml with develop-like versions
# ensure that once config is in place, develop-like version is used
- update_packages('develop-test', 'version', ['develop'])
- spec = Spec('develop-test')
+ update_packages("develop-test", "version", ["develop"])
+ spec = Spec("develop-test")
spec.concretize()
- assert spec.version == Version('develop')
+ assert spec.version == Version("develop")
- update_packages('develop-test2', 'version', ['0.2.15.develop'])
- spec = Spec('develop-test2')
+ update_packages("develop-test2", "version", ["0.2.15.develop"])
+ spec = Spec("develop-test2")
spec.concretize()
- assert spec.version == Version('0.2.15.develop')
+ assert spec.version == Version("0.2.15.develop")
def test_external_mpi(self):
# make sure this doesn't give us an external first.
- spec = Spec('mpi')
+ spec = Spec("mpi")
spec.concretize()
- assert not spec['mpi'].external
+ assert not spec["mpi"].external
# load config
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
providers:
mpi: [mpich]
@@ -225,13 +235,14 @@ mpich:
externals:
- spec: mpich@3.0.4
prefix: /dummy/path
-""")
- spack.config.set('packages', conf, scope='concretize')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
# ensure that once config is in place, external is used
- spec = Spec('mpi')
+ spec = Spec("mpi")
spec.concretize()
- assert spec['mpich'].external_path == os.sep + os.path.join('dummy', 'path')
+ assert spec["mpich"].external_path == os.sep + os.path.join("dummy", "path")
def test_external_module(self, monkeypatch):
"""Test that packages can find externals specified by module
@@ -240,15 +251,17 @@ mpich:
This just tests that the preference is accounted for"""
# make sure this doesn't give us an external first.
def mock_module(cmd, module):
- return 'prepend-path PATH /dummy/path'
- monkeypatch.setattr(spack.util.module_cmd, 'module', mock_module)
+ return "prepend-path PATH /dummy/path"
- spec = Spec('mpi')
+ monkeypatch.setattr(spack.util.module_cmd, "module", mock_module)
+
+ spec = Spec("mpi")
spec.concretize()
- assert not spec['mpi'].external
+ assert not spec["mpi"].external
# load config
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
providers:
mpi: [mpich]
@@ -257,76 +270,87 @@ mpi:
externals:
- spec: mpich@3.0.4
modules: [dummy]
-""")
- spack.config.set('packages', conf, scope='concretize')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
# ensure that once config is in place, external is used
- spec = Spec('mpi')
+ spec = Spec("mpi")
spec.concretize()
- assert spec['mpich'].external_path == '/dummy/path'
+ assert spec["mpich"].external_path == "/dummy/path"
def test_buildable_false(self):
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
libelf:
buildable: false
-""")
- spack.config.set('packages', conf, scope='concretize')
- spec = Spec('libelf')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
+ spec = Spec("libelf")
assert not spack.package_prefs.is_spec_buildable(spec)
- spec = Spec('mpich')
+ spec = Spec("mpich")
assert spack.package_prefs.is_spec_buildable(spec)
def test_buildable_false_virtual(self):
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
mpi:
buildable: false
-""")
- spack.config.set('packages', conf, scope='concretize')
- spec = Spec('libelf')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
+ spec = Spec("libelf")
assert spack.package_prefs.is_spec_buildable(spec)
- spec = Spec('mpich')
+ spec = Spec("mpich")
assert not spack.package_prefs.is_spec_buildable(spec)
def test_buildable_false_all(self):
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
buildable: false
-""")
- spack.config.set('packages', conf, scope='concretize')
- spec = Spec('libelf')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
+ spec = Spec("libelf")
assert not spack.package_prefs.is_spec_buildable(spec)
- spec = Spec('mpich')
+ spec = Spec("mpich")
assert not spack.package_prefs.is_spec_buildable(spec)
def test_buildable_false_all_true_package(self):
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
buildable: false
libelf:
buildable: true
-""")
- spack.config.set('packages', conf, scope='concretize')
- spec = Spec('libelf')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
+ spec = Spec("libelf")
assert spack.package_prefs.is_spec_buildable(spec)
- spec = Spec('mpich')
+ spec = Spec("mpich")
assert not spack.package_prefs.is_spec_buildable(spec)
def test_buildable_false_all_true_virtual(self):
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
buildable: false
mpi:
buildable: true
-""")
- spack.config.set('packages', conf, scope='concretize')
- spec = Spec('libelf')
+"""
+ )
+ spack.config.set("packages", conf, scope="concretize")
+ spec = Spec("libelf")
assert not spack.package_prefs.is_spec_buildable(spec)
- spec = Spec('mpich')
+ spec = Spec("mpich")
assert spack.package_prefs.is_spec_buildable(spec)
def test_config_permissions_from_all(self, configure_permissions):
@@ -335,7 +359,7 @@ mpi:
# Make sure we can configure readable and writable
# Test inheriting from 'all'
- spec = Spec('zmpi')
+ spec = Spec("zmpi")
perms = spack.package_prefs.get_package_permissions(spec)
assert perms == stat.S_IRWXU | stat.S_IRWXG
@@ -343,11 +367,11 @@ mpi:
assert dir_perms == stat.S_IRWXU | stat.S_IRWXG | stat.S_ISGID
group = spack.package_prefs.get_package_group(spec)
- assert group == 'all'
+ assert group == "all"
def test_config_permissions_from_package(self, configure_permissions):
# Test overriding 'all'
- spec = Spec('mpich')
+ spec = Spec("mpich")
perms = spack.package_prefs.get_package_permissions(spec)
assert perms == stat.S_IRWXU
@@ -355,11 +379,11 @@ mpi:
assert dir_perms == stat.S_IRWXU
group = spack.package_prefs.get_package_group(spec)
- assert group == 'all'
+ assert group == "all"
def test_config_permissions_differ_read_write(self, configure_permissions):
# Test overriding group from 'all' and different readable/writable
- spec = Spec('mpileaks')
+ spec = Spec("mpileaks")
perms = spack.package_prefs.get_package_permissions(spec)
assert perms == stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP
@@ -368,37 +392,37 @@ mpi:
assert dir_perms == expected
group = spack.package_prefs.get_package_group(spec)
- assert group == 'mpileaks'
+ assert group == "mpileaks"
def test_config_perms_fail_write_gt_read(self, configure_permissions):
# Test failure for writable more permissive than readable
- spec = Spec('callpath')
+ spec = Spec("callpath")
with pytest.raises(ConfigError):
spack.package_prefs.get_package_permissions(spec)
- @pytest.mark.regression('20040')
+ @pytest.mark.regression("20040")
def test_variant_not_flipped_to_pull_externals(self):
"""Test that a package doesn't prefer pulling in an
external to using the default value of a variant.
"""
- s = Spec('vdefault-or-external-root').concretized()
+ s = Spec("vdefault-or-external-root").concretized()
- assert '~external' in s['vdefault-or-external']
- assert 'externaltool' not in s
+ assert "~external" in s["vdefault-or-external"]
+ assert "externaltool" not in s
- @pytest.mark.regression('25585')
+ @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()
+ s = Spec("version-test-root").concretized()
- assert s.satisfies('^version-test-pkg@2.4.6')
- assert 'version-test-dependency-preferred' not in s
+ assert s.satisfies("^version-test-pkg@2.4.6")
+ assert "version-test-dependency-preferred" not in s
- @pytest.mark.regression('26598')
+ @pytest.mark.regression("26598")
def test_multivalued_variants_are_lower_priority_than_providers(self):
"""Test that the rule to maximize the number of values for multivalued
variants is considered at lower priority than selecting the default
@@ -409,21 +433,13 @@ mpi:
more fabrics by default.
"""
with spack.config.override(
- 'packages:all', {
- 'providers': {
- 'somevirtual': ['some-virtual-preferred']
- }
- }
+ "packages:all", {"providers": {"somevirtual": ["some-virtual-preferred"]}}
):
- s = Spec('somevirtual').concretized()
- assert s.name == 'some-virtual-preferred'
+ s = Spec("somevirtual").concretized()
+ assert s.name == "some-virtual-preferred"
- @pytest.mark.regression('26721,19736')
+ @pytest.mark.regression("26721,19736")
def test_sticky_variant_accounts_for_packages_yaml(self):
- with spack.config.override(
- 'packages:sticky-variant', {
- 'variants': '+allow-gcc'
- }
- ):
- s = Spec('sticky-variant %gcc').concretized()
- assert s.satisfies('%gcc') and s.satisfies('+allow-gcc')
+ with spack.config.override("packages:sticky-variant", {"variants": "+allow-gcc"}):
+ s = Spec("sticky-variant %gcc").concretized()
+ assert s.satisfies("%gcc") and s.satisfies("+allow-gcc")
diff --git a/lib/spack/spack/test/config.py b/lib/spack/spack/test/config.py
index e014941e94..5ecd761e24 100644
--- a/lib/spack/spack/test/config.py
+++ b/lib/spack/spack/test/config.py
@@ -30,47 +30,35 @@ import spack.util.spack_yaml as syaml
# sample config data
config_low = {
- 'config': {
- 'install_tree': {'root': 'install_tree_path'},
- 'build_stage': ['path1', 'path2', 'path3']}}
+ "config": {
+ "install_tree": {"root": "install_tree_path"},
+ "build_stage": ["path1", "path2", "path3"],
+ }
+}
-config_override_all = {
- 'config:': {
- 'install_tree:': {'root': 'override_all'}}}
+config_override_all = {"config:": {"install_tree:": {"root": "override_all"}}}
-config_override_key = {
- 'config': {
- 'install_tree:': {'root': 'override_key'}}}
+config_override_key = {"config": {"install_tree:": {"root": "override_key"}}}
-config_merge_list = {
- 'config': {
- 'build_stage': ['patha', 'pathb']}}
+config_merge_list = {"config": {"build_stage": ["patha", "pathb"]}}
-config_override_list = {
- 'config': {
- 'build_stage:': ['pathd', 'pathe']}}
+config_override_list = {"config": {"build_stage:": ["pathd", "pathe"]}}
-config_merge_dict = {
- 'config': {
- 'info': {
- 'a': 3,
- 'b': 4}}}
+config_merge_dict = {"config": {"info": {"a": 3, "b": 4}}}
-config_override_dict = {
- 'config': {
- 'info:': {
- 'a': 7,
- 'c': 9}}}
+config_override_dict = {"config": {"info:": {"a": 7, "c": 9}}}
@pytest.fixture()
def write_config_file(tmpdir):
"""Returns a function that writes a config file."""
+
def _write(config, data, scope):
- config_yaml = tmpdir.join(scope, config + '.yaml')
+ config_yaml = tmpdir.join(scope, config + ".yaml")
config_yaml.ensure()
- with config_yaml.open('w') as f:
+ with config_yaml.open("w") as f:
syaml.dump_config(data, f)
+
return _write
@@ -78,8 +66,9 @@ def write_config_file(tmpdir):
def env_yaml(tmpdir):
"""Return a sample env.yaml for test purposes"""
env_yaml = str(tmpdir.join("env.yaml"))
- with open(env_yaml, 'w') as f:
- f.write("""\
+ with open(env_yaml, "w") as f:
+ f.write(
+ """\
env:
config:
verify_ssl: False
@@ -89,7 +78,8 @@ env:
compiler: [ 'gcc@4.5.3' ]
repos:
- /x/y/z
-""")
+"""
+ )
return env_yaml
@@ -102,27 +92,27 @@ def cross_plat_join(*pths):
def check_compiler_config(comps, *compiler_names):
"""Check that named compilers in comps match Spack's config."""
- config = spack.config.get('compilers')
- compiler_list = ['cc', 'cxx', 'f77', 'fc']
- flag_list = ['cflags', 'cxxflags', 'fflags', 'cppflags',
- 'ldflags', 'ldlibs']
- param_list = ['modules', 'paths', 'spec', 'operating_system']
+ config = spack.config.get("compilers")
+ compiler_list = ["cc", "cxx", "f77", "fc"]
+ flag_list = ["cflags", "cxxflags", "fflags", "cppflags", "ldflags", "ldlibs"]
+ param_list = ["modules", "paths", "spec", "operating_system"]
for compiler in config:
- conf = compiler['compiler']
- if conf['spec'] in compiler_names:
- comp = next((c['compiler'] for c in comps if
- c['compiler']['spec'] == conf['spec']), None)
+ conf = compiler["compiler"]
+ if conf["spec"] in compiler_names:
+ comp = next(
+ (c["compiler"] for c in comps if c["compiler"]["spec"] == conf["spec"]), None
+ )
if not comp:
- raise ValueError('Bad config spec')
+ raise ValueError("Bad config spec")
for p in param_list:
assert conf[p] == comp[p]
for f in flag_list:
- expected = comp.get('flags', {}).get(f, None)
- actual = conf.get('flags', {}).get(f, None)
+ expected = comp.get("flags", {}).get(f, None)
+ actual = conf.get("flags", {}).get(f, None)
assert expected == actual
for c in compiler_list:
- expected = comp['paths'][c]
- actual = conf['paths'][c]
+ expected = comp["paths"][c]
+ actual = conf["paths"][c]
assert expected == actual
@@ -130,106 +120,94 @@ def check_compiler_config(comps, *compiler_names):
# Some sample compiler config data and tests.
#
a_comps = {
- 'compilers': [
- {'compiler': {
- 'paths': {
- "cc": "/gcc473",
- "cxx": "/g++473",
- "f77": None,
- "fc": None
- },
- 'modules': None,
- 'spec': 'gcc@4.7.3',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "/gcc450",
- "cxx": "/g++450",
- "f77": 'gfortran',
- "fc": 'gfortran'
- },
- 'modules': None,
- 'spec': 'gcc@4.5.0',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "/gcc422",
- "cxx": "/g++422",
- "f77": 'gfortran',
- "fc": 'gfortran'
- },
- 'flags': {
- "cppflags": "-O0 -fpic",
- "fflags": "-f77",
- },
- 'modules': None,
- 'spec': 'gcc@4.2.2',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "<overwritten>",
- "cxx": "<overwritten>",
- "f77": '<overwritten>',
- "fc": '<overwritten>'},
- 'modules': None,
- 'spec': 'clang@3.3',
- 'operating_system': 'CNL10'
- }}
+ "compilers": [
+ {
+ "compiler": {
+ "paths": {"cc": "/gcc473", "cxx": "/g++473", "f77": None, "fc": None},
+ "modules": None,
+ "spec": "gcc@4.7.3",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {"cc": "/gcc450", "cxx": "/g++450", "f77": "gfortran", "fc": "gfortran"},
+ "modules": None,
+ "spec": "gcc@4.5.0",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {"cc": "/gcc422", "cxx": "/g++422", "f77": "gfortran", "fc": "gfortran"},
+ "flags": {
+ "cppflags": "-O0 -fpic",
+ "fflags": "-f77",
+ },
+ "modules": None,
+ "spec": "gcc@4.2.2",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {
+ "cc": "<overwritten>",
+ "cxx": "<overwritten>",
+ "f77": "<overwritten>",
+ "fc": "<overwritten>",
+ },
+ "modules": None,
+ "spec": "clang@3.3",
+ "operating_system": "CNL10",
+ }
+ },
]
}
b_comps = {
- 'compilers': [
- {'compiler': {
- 'paths': {
- "cc": "/icc100",
- "cxx": "/icp100",
- "f77": None,
- "fc": None
- },
- 'modules': None,
- 'spec': 'icc@10.0',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "/icc111",
- "cxx": "/icp111",
- "f77": 'ifort',
- "fc": 'ifort'
- },
- 'modules': None,
- 'spec': 'icc@11.1',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "/icc123",
- "cxx": "/icp123",
- "f77": 'ifort',
- "fc": 'ifort'
- },
- 'flags': {
- "cppflags": "-O3",
- "fflags": "-f77rtl",
- },
- 'modules': None,
- 'spec': 'icc@12.3',
- 'operating_system': 'CNL10'
- }},
- {'compiler': {
- 'paths': {
- "cc": "<overwritten>",
- "cxx": "<overwritten>",
- "f77": '<overwritten>',
- "fc": '<overwritten>'},
- 'modules': None,
- 'spec': 'clang@3.3',
- 'operating_system': 'CNL10'
- }}
+ "compilers": [
+ {
+ "compiler": {
+ "paths": {"cc": "/icc100", "cxx": "/icp100", "f77": None, "fc": None},
+ "modules": None,
+ "spec": "icc@10.0",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {"cc": "/icc111", "cxx": "/icp111", "f77": "ifort", "fc": "ifort"},
+ "modules": None,
+ "spec": "icc@11.1",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {"cc": "/icc123", "cxx": "/icp123", "f77": "ifort", "fc": "ifort"},
+ "flags": {
+ "cppflags": "-O3",
+ "fflags": "-f77rtl",
+ },
+ "modules": None,
+ "spec": "icc@12.3",
+ "operating_system": "CNL10",
+ }
+ },
+ {
+ "compiler": {
+ "paths": {
+ "cc": "<overwritten>",
+ "cxx": "<overwritten>",
+ "f77": "<overwritten>",
+ "fc": "<overwritten>",
+ },
+ "modules": None,
+ "spec": "clang@3.3",
+ "operating_system": "CNL10",
+ }
+ },
]
}
@@ -237,53 +215,53 @@ b_comps = {
@pytest.fixture()
def compiler_specs():
"""Returns a couple of compiler specs needed for the tests"""
- a = [ac['compiler']['spec'] for ac in a_comps['compilers']]
- b = [bc['compiler']['spec'] for bc in b_comps['compilers']]
- CompilerSpecs = collections.namedtuple('CompilerSpecs', ['a', 'b'])
+ a = [ac["compiler"]["spec"] for ac in a_comps["compilers"]]
+ b = [bc["compiler"]["spec"] for bc in b_comps["compilers"]]
+ CompilerSpecs = collections.namedtuple("CompilerSpecs", ["a", "b"])
return CompilerSpecs(a=a, b=b)
def test_write_key_in_memory(mock_low_high_config, compiler_specs):
# Write b_comps "on top of" a_comps.
- spack.config.set('compilers', a_comps['compilers'], scope='low')
- spack.config.set('compilers', b_comps['compilers'], scope='high')
+ spack.config.set("compilers", a_comps["compilers"], scope="low")
+ spack.config.set("compilers", b_comps["compilers"], scope="high")
# Make sure the config looks how we expect.
- check_compiler_config(a_comps['compilers'], *compiler_specs.a)
- check_compiler_config(b_comps['compilers'], *compiler_specs.b)
+ check_compiler_config(a_comps["compilers"], *compiler_specs.a)
+ check_compiler_config(b_comps["compilers"], *compiler_specs.b)
def test_write_key_to_disk(mock_low_high_config, compiler_specs):
# Write b_comps "on top of" a_comps.
- spack.config.set('compilers', a_comps['compilers'], scope='low')
- spack.config.set('compilers', b_comps['compilers'], scope='high')
+ spack.config.set("compilers", a_comps["compilers"], scope="low")
+ spack.config.set("compilers", b_comps["compilers"], scope="high")
# Clear caches so we're forced to read from disk.
spack.config.config.clear_caches()
# Same check again, to ensure consistency.
- check_compiler_config(a_comps['compilers'], *compiler_specs.a)
- check_compiler_config(b_comps['compilers'], *compiler_specs.b)
+ check_compiler_config(a_comps["compilers"], *compiler_specs.a)
+ check_compiler_config(b_comps["compilers"], *compiler_specs.b)
def test_write_to_same_priority_file(mock_low_high_config, compiler_specs):
# Write b_comps in the same file as a_comps.
- spack.config.set('compilers', a_comps['compilers'], scope='low')
- spack.config.set('compilers', b_comps['compilers'], scope='low')
+ spack.config.set("compilers", a_comps["compilers"], scope="low")
+ spack.config.set("compilers", b_comps["compilers"], scope="low")
# Clear caches so we're forced to read from disk.
spack.config.config.clear_caches()
# Same check again, to ensure consistency.
- check_compiler_config(a_comps['compilers'], *compiler_specs.a)
- check_compiler_config(b_comps['compilers'], *compiler_specs.b)
+ check_compiler_config(a_comps["compilers"], *compiler_specs.a)
+ check_compiler_config(b_comps["compilers"], *compiler_specs.b)
#
# Sample repo data and tests
#
-repos_low = {'repos': ["/some/path"]}
-repos_high = {'repos': ["/some/other/path"]}
+repos_low = {"repos": ["/some/path"]}
+repos_high = {"repos": ["/some/other/path"]}
# Test setting config values via path in filename
@@ -292,23 +270,23 @@ def test_add_config_path(mutable_config):
# Try setting a new install tree root
path = "config:install_tree:root:/path/to/config.yaml"
spack.config.add(path)
- set_value = spack.config.get('config')['install_tree']['root']
- assert set_value == '/path/to/config.yaml'
+ set_value = spack.config.get("config")["install_tree"]["root"]
+ assert set_value == "/path/to/config.yaml"
# Now a package:all setting
path = "packages:all:compiler:[gcc]"
spack.config.add(path)
- compilers = spack.config.get('packages')['all']['compiler']
+ compilers = spack.config.get("packages")["all"]["compiler"]
assert "gcc" in compilers
-@pytest.mark.regression('17543,23259')
+@pytest.mark.regression("17543,23259")
def test_add_config_path_with_enumerated_type(mutable_config):
spack.config.add("config:concretizer:clingo")
- assert spack.config.get('config')['concretizer'] == "clingo"
+ assert spack.config.get("config")["concretizer"] == "clingo"
spack.config.add("config:concretizer:original")
- assert spack.config.get('config')['concretizer'] == "original"
+ assert spack.config.get("config")["concretizer"] == "original"
with pytest.raises(spack.config.ConfigError):
spack.config.add("config:concretizer:foo")
@@ -316,25 +294,25 @@ def test_add_config_path_with_enumerated_type(mutable_config):
def test_add_config_filename(mock_low_high_config, tmpdir):
- config_yaml = tmpdir.join('config-filename.yaml')
+ config_yaml = tmpdir.join("config-filename.yaml")
config_yaml.ensure()
- with config_yaml.open('w') as f:
+ with config_yaml.open("w") as f:
syaml.dump_config(config_low, f)
spack.config.add_from_file(str(config_yaml), scope="low")
- assert "build_stage" in spack.config.get('config')
- build_stages = spack.config.get('config')['build_stage']
- for stage in config_low['config']['build_stage']:
+ assert "build_stage" in spack.config.get("config")
+ build_stages = spack.config.get("config")["build_stage"]
+ for stage in config_low["config"]["build_stage"]:
assert stage in build_stages
# repos
def test_write_list_in_memory(mock_low_high_config):
- spack.config.set('repos', repos_low['repos'], scope='low')
- spack.config.set('repos', repos_high['repos'], scope='high')
+ spack.config.set("repos", repos_low["repos"], scope="low")
+ spack.config.set("repos", repos_high["repos"], scope="high")
- config = spack.config.get('repos')
- assert config == repos_high['repos'] + repos_low['repos']
+ config = spack.config.get("repos")
+ assert config == repos_high["repos"] + repos_low["repos"]
class MockEnv(object):
@@ -343,153 +321,135 @@ class MockEnv(object):
def test_substitute_config_variables(mock_low_high_config, monkeypatch):
- prefix = spack.paths.prefix.lstrip('/')
+ prefix = spack.paths.prefix.lstrip("/")
assert cross_plat_join(
- os.sep + os.path.join('foo', 'bar', 'baz'), prefix
- ) == spack_path.canonicalize_path('/foo/bar/baz/$spack')
+ os.sep + os.path.join("foo", "bar", "baz"), prefix
+ ) == spack_path.canonicalize_path("/foo/bar/baz/$spack")
assert cross_plat_join(
- spack.paths.prefix, os.path.join('foo', 'bar', 'baz')
- ) == spack_path.canonicalize_path('$spack/foo/bar/baz/')
+ spack.paths.prefix, os.path.join("foo", "bar", "baz")
+ ) == spack_path.canonicalize_path("$spack/foo/bar/baz/")
assert cross_plat_join(
- os.sep + os.path.join('foo', 'bar', 'baz'),
- prefix, os.path.join('foo', 'bar', 'baz')
- ) == spack_path.canonicalize_path('/foo/bar/baz/$spack/foo/bar/baz/')
+ os.sep + os.path.join("foo", "bar", "baz"), prefix, os.path.join("foo", "bar", "baz")
+ ) == spack_path.canonicalize_path("/foo/bar/baz/$spack/foo/bar/baz/")
assert cross_plat_join(
- os.sep + os.path.join('foo', 'bar', 'baz'), prefix
- ) == spack_path.canonicalize_path('/foo/bar/baz/${spack}')
+ os.sep + os.path.join("foo", "bar", "baz"), prefix
+ ) == spack_path.canonicalize_path("/foo/bar/baz/${spack}")
assert cross_plat_join(
- spack.paths.prefix, os.path.join('foo', 'bar', 'baz')
- ) == spack_path.canonicalize_path('${spack}/foo/bar/baz/')
+ spack.paths.prefix, os.path.join("foo", "bar", "baz")
+ ) == spack_path.canonicalize_path("${spack}/foo/bar/baz/")
assert cross_plat_join(
- os.sep + os.path.join('foo', 'bar', 'baz'),
- prefix, os.path.join('foo', 'bar', 'baz')
- ) == spack_path.canonicalize_path('/foo/bar/baz/${spack}/foo/bar/baz/')
+ os.sep + os.path.join("foo", "bar", "baz"), prefix, os.path.join("foo", "bar", "baz")
+ ) == spack_path.canonicalize_path("/foo/bar/baz/${spack}/foo/bar/baz/")
assert cross_plat_join(
- os.sep + os.path.join('foo', 'bar', 'baz'),
- prefix, os.path.join('foo', 'bar', 'baz')
- ) != spack_path.canonicalize_path('/foo/bar/baz/${spack/foo/bar/baz/')
+ os.sep + os.path.join("foo", "bar", "baz"), prefix, os.path.join("foo", "bar", "baz")
+ ) != spack_path.canonicalize_path("/foo/bar/baz/${spack/foo/bar/baz/")
# $env replacement is a no-op when no environment is active
assert spack_path.canonicalize_path(
- os.sep + os.path.join('foo', 'bar', 'baz', '$env')
- ) == os.sep + os.path.join('foo', 'bar', 'baz', '$env')
+ os.sep + os.path.join("foo", "bar", "baz", "$env")
+ ) == os.sep + os.path.join("foo", "bar", "baz", "$env")
# Fake an active environment and $env is replaced properly
- fake_env_path = os.sep + os.path.join('quux', 'quuux')
- 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, os.path.join('foo', 'bar', 'baz'))
+ fake_env_path = os.sep + os.path.join("quux", "quuux")
+ 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, os.path.join("foo", "bar", "baz")
+ )
# relative paths without source information are relative to cwd
- assert spack_path.canonicalize_path(
- os.path.join('foo', 'bar', 'baz')
- ) == os.path.abspath(os.path.join('foo', 'bar', 'baz'))
+ assert spack_path.canonicalize_path(os.path.join("foo", "bar", "baz")) == os.path.abspath(
+ os.path.join("foo", "bar", "baz")
+ )
# relative paths with source information are relative to the file
spack.config.set(
- 'modules:default',
- {'roots': {'lmod': os.path.join('foo', 'bar', 'baz')}}, scope='low')
+ "modules:default", {"roots": {"lmod": os.path.join("foo", "bar", "baz")}}, scope="low"
+ )
spack.config.config.clear_caches()
- path = spack.config.get('modules:default:roots:lmod')
+ path = spack.config.get("modules:default:roots:lmod")
assert spack_path.canonicalize_path(path) == os.path.normpath(
- os.path.join(mock_low_high_config.scopes['low'].path,
- os.path.join('foo', 'bar', 'baz')))
+ os.path.join(mock_low_high_config.scopes["low"].path, os.path.join("foo", "bar", "baz"))
+ )
-packages_merge_low = {
- 'packages': {
- 'foo': {
- 'variants': ['+v1']
- },
- 'bar': {
- 'variants': ['+v2']
- }
- }
-}
+packages_merge_low = {"packages": {"foo": {"variants": ["+v1"]}, "bar": {"variants": ["+v2"]}}}
packages_merge_high = {
- 'packages': {
- 'foo': {
- 'version': ['a']
- },
- 'bar': {
- 'version': ['b'],
- 'variants': ['+v3']
- },
- 'baz': {
- 'version': ['c']
- }
+ "packages": {
+ "foo": {"version": ["a"]},
+ "bar": {"version": ["b"], "variants": ["+v3"]},
+ "baz": {"version": ["c"]},
}
}
-@pytest.mark.regression('7924')
+@pytest.mark.regression("7924")
def test_merge_with_defaults(mock_low_high_config, write_config_file):
"""This ensures that specified preferences merge with defaults as
- expected. Originally all defaults were initialized with the
- exact same object, which led to aliasing problems. Therefore
- the test configs used here leave 'version' blank for multiple
- packages in 'packages_merge_low'.
+ expected. Originally all defaults were initialized with the
+ exact same object, which led to aliasing problems. Therefore
+ the test configs used here leave 'version' blank for multiple
+ packages in 'packages_merge_low'.
"""
- write_config_file('packages', packages_merge_low, 'low')
- write_config_file('packages', packages_merge_high, 'high')
- cfg = spack.config.get('packages')
+ write_config_file("packages", packages_merge_low, "low")
+ write_config_file("packages", packages_merge_high, "high")
+ cfg = spack.config.get("packages")
- assert cfg['foo']['version'] == ['a']
- assert cfg['bar']['version'] == ['b']
- assert cfg['baz']['version'] == ['c']
+ assert cfg["foo"]["version"] == ["a"]
+ assert cfg["bar"]["version"] == ["b"]
+ assert cfg["baz"]["version"] == ["c"]
def test_substitute_user(mock_low_high_config):
user = getpass.getuser()
- assert os.sep + os.path.join('foo', 'bar') + os.sep \
- + user + os.sep \
- + 'baz' == spack_path.canonicalize_path(
- os.sep + os.path.join('foo', 'bar', '$user', 'baz')
+ assert os.sep + os.path.join(
+ "foo", "bar"
+ ) + os.sep + user + os.sep + "baz" == spack_path.canonicalize_path(
+ os.sep + os.path.join("foo", "bar", "$user", "baz")
)
def test_substitute_user_cache(mock_low_high_config):
user_cache_path = spack.paths.user_cache_path
- assert user_cache_path + os.sep + 'baz' == spack_path.canonicalize_path(
- os.path.join('$user_cache_path', 'baz')
+ assert user_cache_path + os.sep + "baz" == spack_path.canonicalize_path(
+ os.path.join("$user_cache_path", "baz")
)
def test_substitute_tempdir(mock_low_high_config):
tempdir = tempfile.gettempdir()
- assert tempdir == spack_path.canonicalize_path('$tempdir')
- assert tempdir + os.sep + \
- os.path.join('foo', 'bar', 'baz') == spack_path.canonicalize_path(
- os.path.join('$tempdir', 'foo', 'bar', 'baz')
- )
+ assert tempdir == spack_path.canonicalize_path("$tempdir")
+ assert tempdir + os.sep + os.path.join("foo", "bar", "baz") == spack_path.canonicalize_path(
+ os.path.join("$tempdir", "foo", "bar", "baz")
+ )
PAD_STRING = spack.util.path.SPACK_PATH_PADDING_CHARS
MAX_PATH_LEN = spack.util.path.get_system_path_max()
MAX_PADDED_LEN = MAX_PATH_LEN - spack.util.path.SPACK_MAX_INSTALL_PATH_LENGTH
reps = [PAD_STRING for _ in range((MAX_PADDED_LEN // len(PAD_STRING) + 1) + 2)]
-full_padded_string = os.path.join(
- os.sep + 'path', os.sep.join(reps))[:MAX_PADDED_LEN]
-
-
-@pytest.mark.parametrize('config_settings,expected', [
- ([], [None, None, None]),
- ([['config:install_tree:root', os.sep + 'path']], [os.sep + 'path', None, None]),
- ([['config:install_tree', os.sep + 'path']], [os.sep + 'path', None, None]),
- ([['config:install_tree:projections', {'all': '{name}'}]],
- [None, None, {'all': '{name}'}]),
- ([['config:install_path_scheme', '{name}']],
- [None, None, {'all': '{name}'}]),
-])
+full_padded_string = os.path.join(os.sep + "path", os.sep.join(reps))[:MAX_PADDED_LEN]
+
+
+@pytest.mark.parametrize(
+ "config_settings,expected",
+ [
+ ([], [None, None, None]),
+ ([["config:install_tree:root", os.sep + "path"]], [os.sep + "path", None, None]),
+ ([["config:install_tree", os.sep + "path"]], [os.sep + "path", None, None]),
+ (
+ [["config:install_tree:projections", {"all": "{name}"}]],
+ [None, None, {"all": "{name}"}],
+ ),
+ ([["config:install_path_scheme", "{name}"]], [None, None, {"all": "{name}"}]),
+ ],
+)
def test_parse_install_tree(config_settings, expected, mutable_config):
expected_root = expected[0] or spack.store.default_install_tree_root
expected_unpadded_root = expected[1] or expected_root
@@ -501,33 +461,50 @@ def test_parse_install_tree(config_settings, expected, mutable_config):
for config_setting in config_settings:
mutable_config.set(*config_setting)
- config_dict = mutable_config.get('config')
- root, unpadded_root, projections = spack.store.parse_install_tree(
- config_dict)
+ config_dict = mutable_config.get("config")
+ root, unpadded_root, projections = spack.store.parse_install_tree(config_dict)
assert root == expected_root
assert unpadded_root == expected_unpadded_root
assert projections == expected_proj
-@pytest.mark.skipif(sys.platform == 'win32',
- reason='Padding unsupported on Windows')
-@pytest.mark.parametrize('config_settings,expected', [
- ([['config:install_tree:root', os.sep + 'path'],
- ['config:install_tree:padded_length', 11]],
- [os.path.join(os.sep + 'path', PAD_STRING[:5]), os.sep + 'path', None]),
- ([['config:install_tree:root', '/path/$padding:11']],
- [os.path.join(os.sep + 'path', PAD_STRING[:5]), os.sep + 'path', None]),
- ([['config:install_tree', '/path/${padding:11}']],
- [os.path.join(os.sep + 'path', PAD_STRING[:5]), os.sep + 'path', None]),
- ([['config:install_tree:padded_length', False]], [None, None, None]),
- ([['config:install_tree:padded_length', True],
- ['config:install_tree:root', os.sep + 'path']],
- [full_padded_string, os.sep + 'path', None]),
- ([['config:install_tree:', os.sep + 'path$padding']],
- [full_padded_string, os.sep + 'path', None]),
- ([['config:install_tree:', os.sep + 'path' + os.sep + '${padding}']],
- [full_padded_string, os.sep + 'path', None]),
-])
+@pytest.mark.skipif(sys.platform == "win32", reason="Padding unsupported on Windows")
+@pytest.mark.parametrize(
+ "config_settings,expected",
+ [
+ (
+ [
+ ["config:install_tree:root", os.sep + "path"],
+ ["config:install_tree:padded_length", 11],
+ ],
+ [os.path.join(os.sep + "path", PAD_STRING[:5]), os.sep + "path", None],
+ ),
+ (
+ [["config:install_tree:root", "/path/$padding:11"]],
+ [os.path.join(os.sep + "path", PAD_STRING[:5]), os.sep + "path", None],
+ ),
+ (
+ [["config:install_tree", "/path/${padding:11}"]],
+ [os.path.join(os.sep + "path", PAD_STRING[:5]), os.sep + "path", None],
+ ),
+ ([["config:install_tree:padded_length", False]], [None, None, None]),
+ (
+ [
+ ["config:install_tree:padded_length", True],
+ ["config:install_tree:root", os.sep + "path"],
+ ],
+ [full_padded_string, os.sep + "path", None],
+ ),
+ (
+ [["config:install_tree:", os.sep + "path$padding"]],
+ [full_padded_string, os.sep + "path", None],
+ ),
+ (
+ [["config:install_tree:", os.sep + "path" + os.sep + "${padding}"]],
+ [full_padded_string, os.sep + "path", None],
+ ),
+ ],
+)
def test_parse_install_tree_padded(config_settings, expected, mutable_config):
expected_root = expected[0] or spack.store.default_install_tree_root
expected_unpadded_root = expected[1] or expected_root
@@ -539,89 +516,80 @@ def test_parse_install_tree_padded(config_settings, expected, mutable_config):
for config_setting in config_settings:
mutable_config.set(*config_setting)
- config_dict = mutable_config.get('config')
- root, unpadded_root, projections = spack.store.parse_install_tree(
- config_dict)
+ config_dict = mutable_config.get("config")
+ root, unpadded_root, projections = spack.store.parse_install_tree(config_dict)
assert root == expected_root
assert unpadded_root == expected_unpadded_root
assert projections == expected_proj
def test_read_config(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- assert spack.config.get('config') == config_low['config']
+ write_config_file("config", config_low, "low")
+ assert spack.config.get("config") == config_low["config"]
def test_read_config_override_all(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- write_config_file('config', config_override_all, 'high')
- assert spack.config.get('config') == {
- 'install_tree': {
- 'root': 'override_all'
- }
- }
+ write_config_file("config", config_low, "low")
+ write_config_file("config", config_override_all, "high")
+ assert spack.config.get("config") == {"install_tree": {"root": "override_all"}}
def test_read_config_override_key(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- write_config_file('config', config_override_key, 'high')
- assert spack.config.get('config') == {
- 'install_tree': {
- 'root': 'override_key'
- },
- 'build_stage': ['path1', 'path2', 'path3']
+ write_config_file("config", config_low, "low")
+ write_config_file("config", config_override_key, "high")
+ assert spack.config.get("config") == {
+ "install_tree": {"root": "override_key"},
+ "build_stage": ["path1", "path2", "path3"],
}
def test_read_config_merge_list(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- write_config_file('config', config_merge_list, 'high')
- assert spack.config.get('config') == {
- 'install_tree': {
- 'root': 'install_tree_path'
- },
- 'build_stage': ['patha', 'pathb', 'path1', 'path2', 'path3']
+ write_config_file("config", config_low, "low")
+ write_config_file("config", config_merge_list, "high")
+ assert spack.config.get("config") == {
+ "install_tree": {"root": "install_tree_path"},
+ "build_stage": ["patha", "pathb", "path1", "path2", "path3"],
}
def test_read_config_override_list(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- write_config_file('config', config_override_list, 'high')
- assert spack.config.get('config') == {
- 'install_tree': {
- 'root': 'install_tree_path'
- },
- 'build_stage': config_override_list['config']['build_stage:']
+ write_config_file("config", config_low, "low")
+ write_config_file("config", config_override_list, "high")
+ assert spack.config.get("config") == {
+ "install_tree": {"root": "install_tree_path"},
+ "build_stage": config_override_list["config"]["build_stage:"],
}
def test_ordereddict_merge_order():
- """"Test that source keys come before dest keys in merge_yaml results."""
- source = syaml.syaml_dict([
- ("k1", "v1"),
- ("k2", "v2"),
- ("k3", "v3"),
- ])
-
- dest = syaml.syaml_dict([
- ("k4", "v4"),
- ("k3", "WRONG"),
- ("k5", "v5"),
- ])
+ """ "Test that source keys come before dest keys in merge_yaml results."""
+ source = syaml.syaml_dict(
+ [
+ ("k1", "v1"),
+ ("k2", "v2"),
+ ("k3", "v3"),
+ ]
+ )
+
+ dest = syaml.syaml_dict(
+ [
+ ("k4", "v4"),
+ ("k3", "WRONG"),
+ ("k5", "v5"),
+ ]
+ )
result = spack.config.merge_yaml(dest, source)
assert "WRONG" not in result.values()
expected_keys = ["k1", "k2", "k3", "k4", "k5"]
- expected_items = [
- ("k1", "v1"), ("k2", "v2"), ("k3", "v3"), ("k4", "v4"), ("k5", "v5")
- ]
+ expected_items = [("k1", "v1"), ("k2", "v2"), ("k3", "v3"), ("k4", "v4"), ("k5", "v5")]
assert expected_keys == list(result.keys())
assert expected_items == list(result.items())
def test_list_merge_order():
- """"Test that source lists are prepended to dest."""
+ """ "Test that source lists are prepended to dest."""
source = ["a", "b", "c"]
dest = ["d", "e", "f"]
@@ -631,51 +599,50 @@ def test_list_merge_order():
def test_internal_config_update(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
+ write_config_file("config", config_low, "low")
- before = mock_low_high_config.get('config')
- assert before['install_tree']['root'] == 'install_tree_path'
+ before = mock_low_high_config.get("config")
+ assert before["install_tree"]["root"] == "install_tree_path"
# add an internal configuration scope
- scope = spack.config.InternalConfigScope('command_line')
- assert 'InternalConfigScope' in repr(scope)
+ scope = spack.config.InternalConfigScope("command_line")
+ assert "InternalConfigScope" in repr(scope)
mock_low_high_config.push_scope(scope)
- command_config = mock_low_high_config.get('config', scope='command_line')
- command_config['install_tree'] = {'root': 'foo/bar'}
+ command_config = mock_low_high_config.get("config", scope="command_line")
+ command_config["install_tree"] = {"root": "foo/bar"}
- mock_low_high_config.set('config', command_config, scope='command_line')
+ mock_low_high_config.set("config", command_config, scope="command_line")
- after = mock_low_high_config.get('config')
- assert after['install_tree']['root'] == 'foo/bar'
+ after = mock_low_high_config.get("config")
+ assert after["install_tree"]["root"] == "foo/bar"
def test_internal_config_filename(mock_low_high_config, write_config_file):
- write_config_file('config', config_low, 'low')
- mock_low_high_config.push_scope(
- spack.config.InternalConfigScope('command_line'))
+ write_config_file("config", config_low, "low")
+ mock_low_high_config.push_scope(spack.config.InternalConfigScope("command_line"))
with pytest.raises(NotImplementedError):
- mock_low_high_config.get_config_filename('command_line', 'config')
+ mock_low_high_config.get_config_filename("command_line", "config")
def test_mark_internal():
data = {
- 'config': {
- 'bool': False,
- 'int': 6,
- 'numbers': [1, 2, 3],
- 'string': 'foo',
- 'dict': {
- 'more_numbers': [1, 2, 3],
- 'another_string': 'foo',
- 'another_int': 7,
- }
+ "config": {
+ "bool": False,
+ "int": 6,
+ "numbers": [1, 2, 3],
+ "string": "foo",
+ "dict": {
+ "more_numbers": [1, 2, 3],
+ "another_string": "foo",
+ "another_int": 7,
+ },
}
}
- marked = spack.config._mark_internal(data, 'x')
+ marked = spack.config._mark_internal(data, "x")
# marked version should be equal to the original
assert data == marked
@@ -684,16 +651,20 @@ def test_mark_internal():
if type(obj) is bool:
return # can't subclass bool, so can't mark it
- assert hasattr(obj, '_start_mark') and obj._start_mark.name == 'x'
- assert hasattr(obj, '_end_mark') and obj._end_mark.name == 'x'
+ assert hasattr(obj, "_start_mark") and obj._start_mark.name == "x"
+ assert hasattr(obj, "_end_mark") and obj._end_mark.name == "x"
# everything in the marked version should have marks
- checks = (marked.keys(), marked.values(),
- marked['config'].keys(), marked['config'].values(),
- marked['config']['numbers'],
- marked['config']['dict'].keys(),
- marked['config']['dict'].values(),
- marked['config']['dict']['more_numbers'])
+ checks = (
+ marked.keys(),
+ marked.values(),
+ marked["config"].keys(),
+ marked["config"].values(),
+ marked["config"]["numbers"],
+ marked["config"]["dict"].keys(),
+ marked["config"]["dict"].values(),
+ marked["config"]["dict"]["more_numbers"],
+ )
for seq in checks:
for obj in seq:
@@ -704,65 +675,74 @@ def test_internal_config_from_data():
config = spack.config.Configuration()
# add an internal config initialized from an inline dict
- config.push_scope(spack.config.InternalConfigScope('_builtin', {
- 'config': {
- 'verify_ssl': False,
- 'build_jobs': 6,
- }
- }))
+ config.push_scope(
+ spack.config.InternalConfigScope(
+ "_builtin",
+ {
+ "config": {
+ "verify_ssl": False,
+ "build_jobs": 6,
+ }
+ },
+ )
+ )
- assert config.get('config:verify_ssl', scope='_builtin') is False
- assert config.get('config:build_jobs', scope='_builtin') == 6
+ assert config.get("config:verify_ssl", scope="_builtin") is False
+ assert config.get("config:build_jobs", scope="_builtin") == 6
- assert config.get('config:verify_ssl') is False
- assert config.get('config:build_jobs') == 6
+ assert config.get("config:verify_ssl") is False
+ assert config.get("config:build_jobs") == 6
# push one on top and see what happens.
- config.push_scope(spack.config.InternalConfigScope('higher', {
- 'config': {
- 'checksum': True,
- 'verify_ssl': True,
- }
- }))
+ config.push_scope(
+ spack.config.InternalConfigScope(
+ "higher",
+ {
+ "config": {
+ "checksum": True,
+ "verify_ssl": True,
+ }
+ },
+ )
+ )
- assert config.get('config:verify_ssl', scope='_builtin') is False
- assert config.get('config:build_jobs', scope='_builtin') == 6
+ assert config.get("config:verify_ssl", scope="_builtin") is False
+ assert config.get("config:build_jobs", scope="_builtin") == 6
- assert config.get('config:verify_ssl', scope='higher') is True
- assert config.get('config:build_jobs', scope='higher') is None
+ assert config.get("config:verify_ssl", scope="higher") is True
+ assert config.get("config:build_jobs", scope="higher") is None
- assert config.get('config:verify_ssl') is True
- assert config.get('config:build_jobs') == 6
- assert config.get('config:checksum') is True
+ assert config.get("config:verify_ssl") is True
+ assert config.get("config:build_jobs") == 6
+ assert config.get("config:checksum") is True
- assert config.get('config:checksum', scope='_builtin') is None
- assert config.get('config:checksum', scope='higher') is True
+ assert config.get("config:checksum", scope="_builtin") is None
+ assert config.get("config:checksum", scope="higher") is True
def test_keys_are_ordered():
"""Test that keys in Spack YAML files retain their order from the file."""
expected_order = (
- 'bin',
- 'man',
- 'share/man',
- 'share/aclocal',
- 'lib',
- 'lib64',
- 'include',
- 'lib/pkgconfig',
- 'lib64/pkgconfig',
- 'share/pkgconfig',
- ''
+ "bin",
+ "man",
+ "share/man",
+ "share/aclocal",
+ "lib",
+ "lib64",
+ "include",
+ "lib/pkgconfig",
+ "lib64/pkgconfig",
+ "share/pkgconfig",
+ "",
)
config_scope = spack.config.ConfigScope(
- 'modules',
- os.path.join(spack.paths.test_path, 'data', 'config')
+ "modules", os.path.join(spack.paths.test_path, "data", "config")
)
- data = config_scope.get_section('modules')
+ data = config_scope.get_section("modules")
- prefix_inspections = data['modules']['prefix_inspections']
+ prefix_inspections = data["modules"]["prefix_inspections"]
for actual, expected in zip(prefix_inspections, expected_order):
assert actual == expected
@@ -771,7 +751,7 @@ def test_keys_are_ordered():
def test_config_format_error(mutable_config):
"""This is raised when we try to write a bad configuration."""
with pytest.raises(spack.config.ConfigFormatError):
- spack.config.set('compilers', {'bad': 'data'}, scope='site')
+ spack.config.set("compilers", {"bad": "data"}, scope="site")
def get_config_error(filename, schema, yaml_string):
@@ -779,7 +759,7 @@ def get_config_error(filename, schema, yaml_string):
Fail if there is no ConfigFormatError
"""
- with open(filename, 'w') as f:
+ with open(filename, "w") as f:
f.write(yaml_string)
# parse and return error, or fail.
@@ -788,88 +768,98 @@ def get_config_error(filename, schema, yaml_string):
except spack.config.ConfigFormatError as e:
return e
else:
- pytest.fail('ConfigFormatError was not raised!')
+ pytest.fail("ConfigFormatError was not raised!")
def test_config_parse_dict_in_list(tmpdir):
with tmpdir.as_cwd():
e = get_config_error(
- 'repos.yaml', spack.schema.repos.schema, """\
+ "repos.yaml",
+ spack.schema.repos.schema,
+ """\
repos:
- https://foobar.com/foo
- https://foobar.com/bar
- error:
- abcdef
- https://foobar.com/baz
-""")
+""",
+ )
assert "repos.yaml:4" in str(e)
def test_config_parse_str_not_bool(tmpdir):
with tmpdir.as_cwd():
e = get_config_error(
- 'config.yaml', spack.schema.config.schema, """\
+ "config.yaml",
+ spack.schema.config.schema,
+ """\
config:
verify_ssl: False
checksum: foobar
dirty: True
-""")
+""",
+ )
assert "config.yaml:3" in str(e)
def test_config_parse_list_in_dict(tmpdir):
with tmpdir.as_cwd():
e = get_config_error(
- 'mirrors.yaml', spack.schema.mirrors.schema, """\
+ "mirrors.yaml",
+ spack.schema.mirrors.schema,
+ """\
mirrors:
foo: http://foobar.com/baz
bar: http://barbaz.com/foo
baz: http://bazfoo.com/bar
travis: [1, 2, 3]
-""")
+""",
+ )
assert "mirrors.yaml:5" in str(e)
def test_bad_config_section(mock_low_high_config):
"""Test that getting or setting a bad section gives an error."""
with pytest.raises(spack.config.ConfigSectionError):
- spack.config.set('foobar', 'foobar')
+ spack.config.set("foobar", "foobar")
with pytest.raises(spack.config.ConfigSectionError):
- spack.config.get('foobar')
+ spack.config.get("foobar")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.skipif(getuid() == 0, reason='user is root')
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(getuid() == 0, reason="user is root")
def test_bad_command_line_scopes(tmpdir, mock_low_high_config):
cfg = spack.config.Configuration()
with tmpdir.as_cwd():
with pytest.raises(spack.config.ConfigError):
- spack.config._add_command_line_scopes(cfg, ['bad_path'])
+ spack.config._add_command_line_scopes(cfg, ["bad_path"])
- touch('unreadable_file')
+ touch("unreadable_file")
with pytest.raises(spack.config.ConfigError):
- spack.config._add_command_line_scopes(cfg, ['unreadable_file'])
+ spack.config._add_command_line_scopes(cfg, ["unreadable_file"])
- mkdirp('unreadable_dir')
+ mkdirp("unreadable_dir")
with pytest.raises(spack.config.ConfigError):
try:
- os.chmod('unreadable_dir', 0)
- spack.config._add_command_line_scopes(cfg, ['unreadable_dir'])
+ os.chmod("unreadable_dir", 0)
+ spack.config._add_command_line_scopes(cfg, ["unreadable_dir"])
finally:
- os.chmod('unreadable_dir', 0o700) # so tmpdir can be removed
+ os.chmod("unreadable_dir", 0o700) # so tmpdir can be removed
def test_add_command_line_scopes(tmpdir, mutable_config):
- config_yaml = str(tmpdir.join('config.yaml'))
- with open(config_yaml, 'w') as f:
- f.write("""\
+ config_yaml = str(tmpdir.join("config.yaml"))
+ with open(config_yaml, "w") as f:
+ f.write(
+ """\
config:
verify_ssl: False
dirty: False
-""")
+"""
+ )
spack.config._add_command_line_scopes(mutable_config, [str(tmpdir)])
@@ -879,19 +869,20 @@ def test_nested_override():
base_name = spack.config.overrides_base_name
def _check_scopes(num_expected, debug_values):
- scope_names = [s.name for s in spack.config.config.scopes.values() if
- s.name.startswith(base_name)]
+ scope_names = [
+ s.name for s in spack.config.config.scopes.values() if s.name.startswith(base_name)
+ ]
for i in range(num_expected):
- name = '{0}{1}'.format(base_name, i)
+ name = "{0}{1}".format(base_name, i)
assert name in scope_names
- data = spack.config.config.get_config('config', name)
- assert data['debug'] == debug_values[i]
+ data = spack.config.config.get_config("config", name)
+ assert data["debug"] == debug_values[i]
# Check results from single and nested override
- with spack.config.override('config:debug', True):
- with spack.config.override('config:debug', False):
+ with spack.config.override("config:debug", True):
+ with spack.config.override("config:debug", False):
_check_scopes(2, [True, False])
_check_scopes(1, [True])
@@ -902,57 +893,56 @@ def test_alternate_override(monkeypatch):
base_name = spack.config.overrides_base_name
def _matching_scopes(regexpr):
- return [spack.config.InternalConfigScope('{0}1'.format(base_name))]
+ return [spack.config.InternalConfigScope("{0}1".format(base_name))]
# Check that the alternate naming works
- monkeypatch.setattr(spack.config.config, 'matching_scopes',
- _matching_scopes)
+ monkeypatch.setattr(spack.config.config, "matching_scopes", _matching_scopes)
- with spack.config.override('config:debug', False):
- name = '{0}2'.format(base_name)
+ with spack.config.override("config:debug", False):
+ name = "{0}2".format(base_name)
- scope_names = [s.name for s in spack.config.config.scopes.values() if
- s.name.startswith(base_name)]
+ scope_names = [
+ s.name for s in spack.config.config.scopes.values() if s.name.startswith(base_name)
+ ]
assert name in scope_names
- data = spack.config.config.get_config('config', name)
- assert data['debug'] is False
+ data = spack.config.config.get_config("config", name)
+ assert data["debug"] is False
def test_immutable_scope(tmpdir):
- config_yaml = str(tmpdir.join('config.yaml'))
- with open(config_yaml, 'w') as f:
- f.write("""\
+ config_yaml = str(tmpdir.join("config.yaml"))
+ with open(config_yaml, "w") as f:
+ f.write(
+ """\
config:
install_tree:
root: dummy_tree_value
-""")
- scope = spack.config.ImmutableConfigScope('test', str(tmpdir))
+"""
+ )
+ scope = spack.config.ImmutableConfigScope("test", str(tmpdir))
- data = scope.get_section('config')
- assert data['config']['install_tree'] == {'root': 'dummy_tree_value'}
+ data = scope.get_section("config")
+ assert data["config"]["install_tree"] == {"root": "dummy_tree_value"}
with pytest.raises(spack.config.ConfigError):
- scope._write_section('config')
+ scope._write_section("config")
def test_single_file_scope(config, env_yaml):
- scope = spack.config.SingleFileScope(
- 'env', env_yaml, spack.schema.env.schema, ['env']
- )
+ scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["env"])
with spack.config.override(scope):
# from the single-file config
- assert spack.config.get('config:verify_ssl') is False
- assert spack.config.get('config:dirty') is False
- assert spack.config.get('packages:libelf:compiler') == ['gcc@4.5.3']
+ assert spack.config.get("config:verify_ssl") is False
+ assert spack.config.get("config:dirty") is False
+ assert spack.config.get("packages:libelf:compiler") == ["gcc@4.5.3"]
# from the lower config scopes
- assert spack.config.get('config:checksum') is True
- assert spack.config.get('config:checksum') is True
- assert spack.config.get('packages:externalmodule:buildable') is False
- assert spack.config.get('repos') == [
- '/x/y/z', '$spack/var/spack/repos/builtin']
+ assert spack.config.get("config:checksum") is True
+ assert spack.config.get("config:checksum") is True
+ assert spack.config.get("packages:externalmodule:buildable") is False
+ assert spack.config.get("repos") == ["/x/y/z", "$spack/var/spack/repos/builtin"]
def test_single_file_scope_section_override(tmpdir, config):
@@ -962,8 +952,9 @@ def test_single_file_scope_section_override(tmpdir, config):
"::" syntax).
"""
env_yaml = str(tmpdir.join("env.yaml"))
- with open(env_yaml, 'w') as f:
- f.write("""\
+ with open(env_yaml, "w") as f:
+ f.write(
+ """\
env:
config:
verify_ssl: False
@@ -972,30 +963,30 @@ env:
compiler: [ 'gcc@4.5.3' ]
repos:
- /x/y/z
-""")
+"""
+ )
- scope = spack.config.SingleFileScope(
- 'env', env_yaml, spack.schema.env.schema, ['env'])
+ scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["env"])
with spack.config.override(scope):
# from the single-file config
- assert spack.config.get('config:verify_ssl') is False
- assert spack.config.get('packages:libelf:compiler') == ['gcc@4.5.3']
+ assert spack.config.get("config:verify_ssl") is False
+ assert spack.config.get("packages:libelf:compiler") == ["gcc@4.5.3"]
# from the lower config scopes
- assert spack.config.get('config:checksum') is True
- assert not spack.config.get('packages:externalmodule')
- assert spack.config.get('repos') == [
- '/x/y/z', '$spack/var/spack/repos/builtin']
+ assert spack.config.get("config:checksum") is True
+ assert not spack.config.get("packages:externalmodule")
+ assert spack.config.get("repos") == ["/x/y/z", "$spack/var/spack/repos/builtin"]
def test_write_empty_single_file_scope(tmpdir):
env_schema = spack.schema.env.schema
scope = spack.config.SingleFileScope(
- 'test', str(tmpdir.ensure('config.yaml')), env_schema, ['spack'])
- scope._write_section('config')
+ "test", str(tmpdir.ensure("config.yaml")), env_schema, ["spack"]
+ )
+ scope._write_section("config")
# confirm we can write empty config
- assert not scope.get_section('config')
+ assert not scope.get_section("config")
def check_schema(name, file_contents):
@@ -1006,7 +997,9 @@ def check_schema(name, file_contents):
def test_good_env_yaml(tmpdir):
- check_schema(spack.schema.env.schema, """\
+ check_schema(
+ spack.schema.env.schema,
+ """\
spack:
config:
verify_ssl: False
@@ -1025,136 +1018,150 @@ spack:
cxx: /path/to/cxx
fc: /path/to/fc
f77: /path/to/f77
-""")
+""",
+ )
def test_bad_env_yaml(tmpdir):
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.env.schema, """\
+ check_schema(
+ spack.schema.env.schema,
+ """\
env:
foobar:
verify_ssl: False
dirty: False
-""")
+""",
+ )
def test_bad_config_yaml(tmpdir):
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.config.schema, """\
+ check_schema(
+ spack.schema.config.schema,
+ """\
config:
verify_ssl: False
install_tree:
root:
extra_level: foo
-""")
+""",
+ )
def test_bad_mirrors_yaml(tmpdir):
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.mirrors.schema, """\
+ check_schema(
+ spack.schema.mirrors.schema,
+ """\
mirrors:
local: True
-""")
+""",
+ )
def test_bad_repos_yaml(tmpdir):
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.repos.schema, """\
+ check_schema(
+ spack.schema.repos.schema,
+ """\
repos:
True
-""")
+""",
+ )
def test_bad_compilers_yaml(tmpdir):
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.compilers.schema, """\
+ check_schema(
+ spack.schema.compilers.schema,
+ """\
compilers:
key_instead_of_list: 'value'
-""")
+""",
+ )
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.compilers.schema, """\
+ check_schema(
+ spack.schema.compilers.schema,
+ """\
compilers:
- shmompiler:
environment: /bad/value
-""")
+""",
+ )
with pytest.raises(spack.config.ConfigFormatError):
- check_schema(spack.schema.compilers.schema, """\
+ check_schema(
+ spack.schema.compilers.schema,
+ """\
compilers:
- compiler:
fenfironfent: /bad/value
-""")
+""",
+ )
-def test_internal_config_section_override(mock_low_high_config,
- write_config_file):
- write_config_file('config', config_merge_list, 'low')
- wanted_list = config_override_list['config']['build_stage:']
- mock_low_high_config.push_scope(spack.config.InternalConfigScope
- ('high', {
- 'config:': {
- 'build_stage': wanted_list
- }
- }))
- assert mock_low_high_config.get('config:build_stage') == wanted_list
+def test_internal_config_section_override(mock_low_high_config, write_config_file):
+ write_config_file("config", config_merge_list, "low")
+ wanted_list = config_override_list["config"]["build_stage:"]
+ mock_low_high_config.push_scope(
+ spack.config.InternalConfigScope("high", {"config:": {"build_stage": wanted_list}})
+ )
+ assert mock_low_high_config.get("config:build_stage") == wanted_list
-def test_internal_config_dict_override(mock_low_high_config,
- write_config_file):
- write_config_file('config', config_merge_dict, 'low')
- wanted_dict = config_override_dict['config']['info:']
- mock_low_high_config.push_scope(spack.config.InternalConfigScope
- ('high', config_override_dict))
- assert mock_low_high_config.get('config:info') == wanted_dict
+def test_internal_config_dict_override(mock_low_high_config, write_config_file):
+ write_config_file("config", config_merge_dict, "low")
+ wanted_dict = config_override_dict["config"]["info:"]
+ mock_low_high_config.push_scope(spack.config.InternalConfigScope("high", config_override_dict))
+ assert mock_low_high_config.get("config:info") == wanted_dict
-def test_internal_config_list_override(mock_low_high_config,
- write_config_file):
- write_config_file('config', config_merge_list, 'low')
- wanted_list = config_override_list['config']['build_stage:']
- mock_low_high_config.push_scope(spack.config.InternalConfigScope
- ('high', config_override_list))
- assert mock_low_high_config.get('config:build_stage') == wanted_list
+def test_internal_config_list_override(mock_low_high_config, write_config_file):
+ write_config_file("config", config_merge_list, "low")
+ wanted_list = config_override_list["config"]["build_stage:"]
+ mock_low_high_config.push_scope(spack.config.InternalConfigScope("high", config_override_list))
+ assert mock_low_high_config.get("config:build_stage") == wanted_list
def test_set_section_override(mock_low_high_config, write_config_file):
- write_config_file('config', config_merge_list, 'low')
- wanted_list = config_override_list['config']['build_stage:']
- with spack.config.override('config::build_stage', wanted_list):
- assert mock_low_high_config.get('config:build_stage') == wanted_list
- assert config_merge_list['config']['build_stage'] == \
- mock_low_high_config.get('config:build_stage')
+ write_config_file("config", config_merge_list, "low")
+ wanted_list = config_override_list["config"]["build_stage:"]
+ with spack.config.override("config::build_stage", wanted_list):
+ assert mock_low_high_config.get("config:build_stage") == wanted_list
+ assert config_merge_list["config"]["build_stage"] == mock_low_high_config.get(
+ "config:build_stage"
+ )
def test_set_list_override(mock_low_high_config, write_config_file):
- write_config_file('config', config_merge_list, 'low')
- wanted_list = config_override_list['config']['build_stage:']
- with spack.config.override('config:build_stage:', wanted_list):
- assert wanted_list == mock_low_high_config.get('config:build_stage')
- assert config_merge_list['config']['build_stage'] == \
- mock_low_high_config.get('config:build_stage')
+ write_config_file("config", config_merge_list, "low")
+ wanted_list = config_override_list["config"]["build_stage:"]
+ with spack.config.override("config:build_stage:", wanted_list):
+ assert wanted_list == mock_low_high_config.get("config:build_stage")
+ assert config_merge_list["config"]["build_stage"] == mock_low_high_config.get(
+ "config:build_stage"
+ )
def test_set_dict_override(mock_low_high_config, write_config_file):
- write_config_file('config', config_merge_dict, 'low')
- wanted_dict = config_override_dict['config']['info:']
- with spack.config.override('config:info:', wanted_dict):
- assert wanted_dict == mock_low_high_config.get('config:info')
- assert config_merge_dict['config']['info'] == \
- mock_low_high_config.get('config:info')
+ write_config_file("config", config_merge_dict, "low")
+ wanted_dict = config_override_dict["config"]["info:"]
+ with spack.config.override("config:info:", wanted_dict):
+ assert wanted_dict == mock_low_high_config.get("config:info")
+ assert config_merge_dict["config"]["info"] == mock_low_high_config.get("config:info")
def test_set_bad_path(config):
- with pytest.raises(syaml.SpackYAMLError, match='Illegal leading'):
- with spack.config.override(':bad:path', ''):
+ with pytest.raises(syaml.SpackYAMLError, match="Illegal leading"):
+ with spack.config.override(":bad:path", ""):
pass
def test_bad_path_double_override(config):
- with pytest.raises(syaml.SpackYAMLError,
- match='Meaningless second override'):
- with spack.config.override('bad::double:override::directive', ''):
+ with pytest.raises(syaml.SpackYAMLError, match="Meaningless second override"):
+ with spack.config.override("bad::double:override::directive", ""):
pass
@@ -1172,84 +1179,76 @@ def test_license_dir_config(mutable_config, mock_packages):
assert spack.repo.path.get_pkg_class("a").global_license_dir == rel_path
-@pytest.mark.regression('22547')
+@pytest.mark.regression("22547")
def test_single_file_scope_cache_clearing(env_yaml):
- scope = spack.config.SingleFileScope(
- 'env', env_yaml, spack.schema.env.schema, ['env']
- )
+ scope = spack.config.SingleFileScope("env", env_yaml, spack.schema.env.schema, ["env"])
# Check that we can retrieve data from the single file scope
- before = scope.get_section('config')
+ before = scope.get_section("config")
assert before
# Clear the cache of the Single file scope
scope.clear()
# Check that the section can be retireved again and it's
# the same as before
- after = scope.get_section('config')
+ after = scope.get_section("config")
assert after
assert before == after
-@pytest.mark.regression('22611')
+@pytest.mark.regression("22611")
def test_internal_config_scope_cache_clearing():
"""
An InternalConfigScope object is constructed from data that is already
in memory, therefore it doesn't have any cache to clear. Here we ensure
that calling the clear method is consistent with that..
"""
- data = {
- 'config': {
- 'build_jobs': 10
- }
- }
- internal_scope = spack.config.InternalConfigScope('internal', data)
+ data = {"config": {"build_jobs": 10}}
+ internal_scope = spack.config.InternalConfigScope("internal", data)
# Ensure that the initial object is properly set
- assert internal_scope.sections['config'] == data
+ assert internal_scope.sections["config"] == data
# Call the clear method
internal_scope.clear()
# Check that this didn't affect the scope object
- assert internal_scope.sections['config'] == data
+ assert internal_scope.sections["config"] == data
def test_system_config_path_is_overridable(working_env):
p = "/some/path"
- os.environ['SPACK_SYSTEM_CONFIG_PATH'] = p
+ os.environ["SPACK_SYSTEM_CONFIG_PATH"] = p
assert spack.paths._get_system_config_path() == p
def test_system_config_path_is_default_when_env_var_is_empty(working_env):
- os.environ['SPACK_SYSTEM_CONFIG_PATH'] = ''
- assert os.sep + os.path.join('etc', 'spack') == \
- spack.paths._get_system_config_path()
+ os.environ["SPACK_SYSTEM_CONFIG_PATH"] = ""
+ assert os.sep + os.path.join("etc", "spack") == spack.paths._get_system_config_path()
def test_user_config_path_is_overridable(working_env):
p = "/some/path"
- os.environ['SPACK_USER_CONFIG_PATH'] = p
+ os.environ["SPACK_USER_CONFIG_PATH"] = p
assert p == spack.paths._get_user_config_path()
def test_user_config_path_is_default_when_env_var_is_empty(working_env):
- os.environ['SPACK_USER_CONFIG_PATH'] = ''
- assert os.path.expanduser("~%s.spack" % os.sep) == \
- spack.paths._get_user_config_path()
+ os.environ["SPACK_USER_CONFIG_PATH"] = ""
+ assert os.path.expanduser("~%s.spack" % os.sep) == spack.paths._get_user_config_path()
def test_local_config_can_be_disabled(working_env):
- os.environ['SPACK_DISABLE_LOCAL_CONFIG'] = 'true'
+ os.environ["SPACK_DISABLE_LOCAL_CONFIG"] = "true"
cfg = spack.config._config()
assert "defaults" in cfg.scopes
assert "system" not in cfg.scopes
assert "site" in cfg.scopes
assert "user" not in cfg.scopes
- os.environ['SPACK_DISABLE_LOCAL_CONFIG'] = ''
+ os.environ["SPACK_DISABLE_LOCAL_CONFIG"] = ""
cfg = spack.config._config()
assert "defaults" in cfg.scopes
assert "system" not in cfg.scopes
assert "site" in cfg.scopes
assert "user" not in cfg.scopes
- del os.environ['SPACK_DISABLE_LOCAL_CONFIG']
+ del os.environ["SPACK_DISABLE_LOCAL_CONFIG"]
cfg = spack.config._config()
assert "defaults" in cfg.scopes
assert "system" in cfg.scopes
@@ -1259,11 +1258,10 @@ def test_local_config_can_be_disabled(working_env):
def test_user_cache_path_is_overridable(working_env):
p = "/some/path"
- os.environ['SPACK_USER_CACHE_PATH'] = p
+ os.environ["SPACK_USER_CACHE_PATH"] = p
assert spack.paths._get_user_cache_path() == p
def test_user_cache_path_is_default_when_env_var_is_empty(working_env):
- os.environ['SPACK_USER_CACHE_PATH'] = ''
- assert os.path.expanduser("~%s.spack" % os.sep) == \
- spack.paths._get_user_cache_path()
+ os.environ["SPACK_USER_CACHE_PATH"] = ""
+ assert os.path.expanduser("~%s.spack" % os.sep) == spack.paths._get_user_cache_path()
diff --git a/lib/spack/spack/test/config_values.py b/lib/spack/spack/test/config_values.py
index 6600545610..f631a4aa82 100644
--- a/lib/spack/spack/test/config_values.py
+++ b/lib/spack/spack/test/config_values.py
@@ -9,44 +9,37 @@ import pytest
import spack.spec
import spack.store
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.mark.parametrize('hash_length', [1, 2, 3, 4, 5, 9])
-@pytest.mark.usefixtures('mock_packages')
+@pytest.mark.parametrize("hash_length", [1, 2, 3, 4, 5, 9])
+@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)})
+ mutable_config.set("config:install_hash_length", hash_length)
+ mutable_config.set("config:install_tree", {"root": str(tmpdir)})
# The call below is to reinitialize the directory layout associated
# with the store according to the configuration changes above (i.e.
# with the shortened hash)
store = spack.store._store()
with spack.store.use_store(store):
- spec = spack.spec.Spec('libelf').concretized()
+ spec = spack.spec.Spec("libelf").concretized()
prefix = spec.prefix
- hash_str = prefix.rsplit('-')[-1]
+ hash_str = prefix.rsplit("-")[-1]
assert len(hash_str) == hash_length
-@pytest.mark.use_fixtures('mock_packages')
+@pytest.mark.use_fixtures("mock_packages")
def test_set_install_hash_length_upper_case(mutable_config, tmpdir):
- mutable_config.set('config:install_hash_length', 5)
+ mutable_config.set("config:install_hash_length", 5)
mutable_config.set(
- 'config:install_tree',
- {
- 'root': str(tmpdir),
- 'projections': {
- 'all': '{name}-{HASH}'
- }
- }
+ "config:install_tree", {"root": str(tmpdir), "projections": {"all": "{name}-{HASH}"}}
)
# The call below is to reinitialize the directory layout associated
# with the store according to the configuration changes above (i.e.
# with the shortened hash and projection)
store = spack.store._store()
with spack.store.use_store(store):
- spec = spack.spec.Spec('libelf').concretized()
+ spec = spack.spec.Spec("libelf").concretized()
prefix = spec.prefix
- hash_str = prefix.rsplit('-')[-1]
+ hash_str = prefix.rsplit("-")[-1]
assert len(hash_str) == 5
diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py
index 2e0062a194..3440351e93 100644
--- a/lib/spack/spack/test/conftest.py
+++ b/lib/spack/spack/test/conftest.py
@@ -50,25 +50,25 @@ import spack.util.spack_yaml as syaml
from spack.fetch_strategy import FetchError, FetchStrategyComposite, URLFetchStrategy
from spack.util.pattern import Bunch
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
#
# Return list of shas for latest two git commits in local spack repo
#
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def last_two_git_commits():
- git = spack.util.executable.which('git', required=True)
+ git = spack.util.executable.which("git", required=True)
spack_git_path = spack.paths.prefix
with working_dir(spack_git_path):
- git_log_out = git('log', '-n', '2', output=str, error=os.devnull)
+ git_log_out = git("log", "-n", "2", output=str, error=os.devnull)
regex = re.compile(r"^commit\s([^\s]+$)", re.MULTILINE)
yield regex.findall(git_log_out)
def write_file(filename, contents):
- with open(filename, 'w') as f:
+ with open(filename, "w") as f:
f.write(contents)
@@ -78,15 +78,14 @@ commit_counter = 0
@pytest.fixture
def override_git_repos_cache_path(tmpdir):
saved = spack.paths.user_repos_cache_path
- tmp_path = tmpdir.mkdir('git-repo-cache-path-for-tests')
+ tmp_path = tmpdir.mkdir("git-repo-cache-path-for-tests")
spack.paths.user_repos_cache_path = str(tmp_path)
yield
spack.paths.user_repos_cache_path = saved
@pytest.fixture
-def mock_git_version_info(tmpdir, override_git_repos_cache_path,
- scope="function"):
+def mock_git_version_info(tmpdir, override_git_repos_cache_path, scope="function"):
"""Create a mock git repo with known structure
The structure of commits in this repo is as follows::
@@ -111,72 +110,71 @@ def mock_git_version_info(tmpdir, override_git_repos_cache_path,
version tags on multiple branches, and version order is not equal to time
order or topological order.
"""
- git = spack.util.executable.which('git', required=True)
- repo_path = str(tmpdir.mkdir('git_repo'))
- filename = 'file.txt'
+ git = spack.util.executable.which("git", required=True)
+ repo_path = str(tmpdir.mkdir("git_repo"))
+ filename = "file.txt"
def commit(message):
global commit_counter
- git('commit', '--date', '2020-01-%02d 12:0:00 +0300' % commit_counter,
- '-am', message)
+ git("commit", "--date", "2020-01-%02d 12:0:00 +0300" % commit_counter, "-am", message)
commit_counter += 1
with working_dir(repo_path):
git("init")
- git('config', 'user.name', 'Spack')
- git('config', 'user.email', 'spack@spack.io')
+ git("config", "user.name", "Spack")
+ git("config", "user.email", "spack@spack.io")
commits = []
def latest_commit():
- return git('rev-list', '-n1', 'HEAD', output=str, error=str).strip()
+ return git("rev-list", "-n1", "HEAD", output=str, error=str).strip()
# Add two commits on main branch
- write_file(filename, '[]')
- git('add', filename)
- commit('first commit')
+ write_file(filename, "[]")
+ git("add", filename)
+ commit("first commit")
commits.append(latest_commit())
# Get name of default branch (differs by git version)
- main = git('rev-parse', '--abbrev-ref', 'HEAD', output=str, error=str).strip()
+ main = git("rev-parse", "--abbrev-ref", "HEAD", output=str, error=str).strip()
# Tag second commit as v1.0
write_file(filename, "[1, 0]")
- commit('second commit')
+ commit("second commit")
commits.append(latest_commit())
- git('tag', 'v1.0')
+ git("tag", "v1.0")
# Add two commits and a tag on 1.x branch
- git('checkout', '-b', '1.x')
+ git("checkout", "-b", "1.x")
write_file(filename, "[1, 0, '', 1]")
- commit('first 1.x commit')
+ commit("first 1.x commit")
commits.append(latest_commit())
write_file(filename, "[1, 1]")
- commit('second 1.x commit')
+ commit("second 1.x commit")
commits.append(latest_commit())
- git('tag', 'v1.1')
+ git("tag", "v1.1")
# Add two commits and a tag on main branch
- git('checkout', main)
+ git("checkout", main)
write_file(filename, "[1, 0, '', 1]")
- commit('third main commit')
+ commit("third main commit")
commits.append(latest_commit())
write_file(filename, "[2, 0]")
- commit('fourth main commit')
+ commit("fourth main commit")
commits.append(latest_commit())
- git('tag', 'v2.0')
+ git("tag", "v2.0")
# Add two more commits on 1.x branch to ensure we aren't cheating by using time
- git('checkout', '1.x')
+ git("checkout", "1.x")
write_file(filename, "[1, 1, '', 1]")
- commit('third 1.x commit')
+ commit("third 1.x commit")
commits.append(latest_commit())
write_file(filename, "[1, 2]")
- commit('fourth 1.x commit')
+ commit("fourth 1.x commit")
commits.append(latest_commit())
- git('tag', '1.2') # test robust parsing to different syntax, no v
+ git("tag", "1.2") # test robust parsing to different syntax, no v
# The commits are ordered with the last commit first in the list
commits = list(reversed(commits))
@@ -191,9 +189,10 @@ def clear_recorded_monkeypatches():
spack.subprocess_context.clear_patches()
-@pytest.fixture(scope='session', autouse=True)
+@pytest.fixture(scope="session", autouse=True)
def record_monkeypatch_setattr():
import _pytest
+
saved_setattr = _pytest.monkeypatch.MonkeyPatch.setattr
def record_setattr(cls, target, name, value, *args, **kwargs):
@@ -213,13 +212,13 @@ def _can_access(path, perms):
@pytest.fixture
def no_path_access(monkeypatch):
- monkeypatch.setattr(os, 'access', _can_access)
+ monkeypatch.setattr(os, "access", _can_access)
#
# Disable any active Spack environment BEFORE all tests
#
-@pytest.fixture(scope='session', autouse=True)
+@pytest.fixture(scope="session", autouse=True)
def clean_user_environment():
spack_env_value = os.environ.pop(ev.spack_env_var, None)
with ev.no_active_environment():
@@ -231,7 +230,7 @@ def clean_user_environment():
#
# Make sure global state of active env does not leak between tests.
#
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def clean_test_environment():
yield
ev.deactivate()
@@ -244,7 +243,7 @@ def _verify_executables_noop(*args):
#
# Disable checks on compiler executable existence
#
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def mock_compiler_executable_verification(request, monkeypatch):
"""Mock the compiler executable verification to allow missing executables.
@@ -254,10 +253,10 @@ def mock_compiler_executable_verification(request, monkeypatch):
@pytest.mark.enable_compiler_verification
If a test is marked in that way this is a no-op."""
- if 'enable_compiler_verification' not in request.keywords:
- monkeypatch.setattr(spack.compiler.Compiler,
- 'verify_executables',
- _verify_executables_noop)
+ if "enable_compiler_verification" not in request.keywords:
+ monkeypatch.setattr(
+ spack.compiler.Compiler, "verify_executables", _verify_executables_noop
+ )
# Hooks to add command line options or set other custom behaviors.
@@ -268,19 +267,20 @@ def mock_compiler_executable_verification(request, monkeypatch):
def pytest_addoption(parser):
group = parser.getgroup("Spack specific command line options")
group.addoption(
- '--fast', action='store_true', default=False,
- help='runs only "fast" unit tests, instead of the whole suite')
+ "--fast",
+ action="store_true",
+ default=False,
+ help='runs only "fast" unit tests, instead of the whole suite',
+ )
def pytest_collection_modifyitems(config, items):
- if not config.getoption('--fast'):
+ if not config.getoption("--fast"):
# --fast not given, run all the tests
return
- slow_tests = ['db', 'network', 'maybeslow']
- skip_as_slow = pytest.mark.skip(
- reason='skipped slow test [--fast command line option given]'
- )
+ slow_tests = ["db", "network", "maybeslow"]
+ skip_as_slow = pytest.mark.skip(reason="skipped slow test [--fast command line option given]")
for item in items:
if any(x in item.keywords for x in slow_tests):
item.add_marker(skip_as_slow)
@@ -289,7 +289,7 @@ def pytest_collection_modifyitems(config, items):
#
# These fixtures are applied to all tests
#
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def no_chdir():
"""Ensure that no test changes Spack's working dirctory.
@@ -308,7 +308,7 @@ def no_chdir():
assert os.getcwd() == original_wd
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def reset_compiler_cache():
"""Ensure that the compiler cache is not shared across Spack tests
@@ -328,24 +328,23 @@ def onerror(func, path, error_info):
func(path)
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def mock_stage(tmpdir_factory, monkeypatch, request):
"""Establish the temporary build_stage for the mock archive."""
# The approach with this autouse fixture is to set the stage root
# instead of using spack.config.override() to avoid configuration
# conflicts with dozens of tests that rely on other configuration
# fixtures, such as config.
- if 'nomockstage' not in request.keywords:
+ if "nomockstage" not in request.keywords:
# Set the build stage to the requested path
- new_stage = tmpdir_factory.mktemp('mock-stage')
+ new_stage = tmpdir_factory.mktemp("mock-stage")
new_stage_path = str(new_stage)
# Ensure the source directory exists within the new stage path
- source_path = os.path.join(new_stage_path,
- spack.stage._source_path_subdir)
+ source_path = os.path.join(new_stage_path, spack.stage._source_path_subdir)
mkdirp(source_path)
- monkeypatch.setattr(spack.stage, '_stage_root', new_stage_path)
+ monkeypatch.setattr(spack.stage, "_stage_root", new_stage_path)
yield new_stage_path
@@ -357,14 +356,14 @@ def mock_stage(tmpdir_factory, monkeypatch, request):
yield str(tmpdir_factory)
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def ignore_stage_files():
"""Session-scoped helper for check_for_leftover_stage_files.
Used to track which leftover files in the stage have been seen.
"""
# to start with, ignore the .lock file at the stage root.
- return set(['.lock', spack.stage._source_path_subdir, 'build_cache'])
+ return set([".lock", spack.stage._source_path_subdir, "build_cache"])
def remove_whatever_it_is(path):
@@ -388,7 +387,7 @@ def working_env():
os.environ.update(saved_env)
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def check_for_leftover_stage_files(request, mock_stage, ignore_stage_files):
"""
Ensure that each (mock_stage) test leaves a clean stage when done.
@@ -414,7 +413,7 @@ def check_for_leftover_stage_files(request, mock_stage, ignore_stage_files):
else:
raise
- if 'disable_clean_stage_check' in request.keywords:
+ if "disable_clean_stage_check" in request.keywords:
# clean up after tests that are expected to be dirty
for f in files_in_stage:
path = os.path.join(stage_path, f)
@@ -434,7 +433,7 @@ class MockCache(object):
class MockCacheFetcher(object):
def fetch(self):
- raise FetchError('Mock cache always fails for tests')
+ raise FetchError("Mock cache always fails for tests")
def __str__(self):
return "[mock fetch cache]"
@@ -445,7 +444,7 @@ def mock_fetch_cache(monkeypatch):
"""Substitutes spack.paths.fetch_cache with a mock object that does nothing
and raises on fetch.
"""
- monkeypatch.setattr(spack.caches, 'fetch_cache', MockCache())
+ monkeypatch.setattr(spack.caches, "fetch_cache", MockCache())
@pytest.fixture()
@@ -453,10 +452,10 @@ def mock_binary_index(monkeypatch, tmpdir_factory):
"""Changes the directory for the binary index and creates binary index for
every test. Clears its own index when it's done.
"""
- tmpdir = tmpdir_factory.mktemp('mock_binary_index')
- index_path = tmpdir.join('binary_index').strpath
+ tmpdir = tmpdir_factory.mktemp("mock_binary_index")
+ index_path = tmpdir.join("binary_index").strpath
mock_index = spack.binary_distribution.BinaryCacheIndex(index_path)
- monkeypatch.setattr(spack.binary_distribution, 'binary_index', mock_index)
+ monkeypatch.setattr(spack.binary_distribution, "binary_index", mock_index)
yield
@@ -465,28 +464,26 @@ def _skip_if_missing_executables(request):
"""Permits to mark tests with 'require_executables' and skip the
tests if the executables passed as arguments are not found.
"""
- if hasattr(request.node, 'get_marker'):
+ if hasattr(request.node, "get_marker"):
# TODO: Remove the deprecated API as soon as we drop support for Python 2.6
- marker = request.node.get_marker('requires_executables')
+ marker = request.node.get_marker("requires_executables")
else:
- marker = request.node.get_closest_marker('requires_executables')
+ marker = request.node.get_closest_marker("requires_executables")
if marker:
required_execs = marker.args
- missing_execs = [
- x for x in required_execs if spack.util.executable.which(x) is None
- ]
+ missing_execs = [x for x in required_execs if spack.util.executable.which(x) is None]
if missing_execs:
- msg = 'could not find executables: {0}'
- pytest.skip(msg.format(', '.join(missing_execs)))
+ msg = "could not find executables: {0}"
+ pytest.skip(msg.format(", ".join(missing_execs)))
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def test_platform():
return spack.platforms.Test()
-@pytest.fixture(autouse=True, scope='session')
+@pytest.fixture(autouse=True, scope="session")
def _use_test_platform(test_platform):
# This is the only context manager used at session scope (see note
# below for more insight) since we want to use the test platform as
@@ -494,6 +491,7 @@ def _use_test_platform(test_platform):
with spack.platforms.use_platform(test_platform):
yield
+
#
# Note on context managers used by fixtures
#
@@ -520,7 +518,7 @@ def _use_test_platform(test_platform):
#
# Test-specific fixtures
#
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_repo_path():
yield spack.repo.Repo(spack.paths.mock_packages_path)
@@ -532,18 +530,17 @@ def _pkg_install_fn(pkg, spec, prefix):
@pytest.fixture
def mock_pkg_install(monkeypatch):
- monkeypatch.setattr(spack.package_base.PackageBase, 'install',
- _pkg_install_fn, raising=False)
+ monkeypatch.setattr(spack.package_base.PackageBase, "install", _pkg_install_fn, raising=False)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mock_packages(mock_repo_path, mock_pkg_install):
"""Use the 'builtin.mock' repository instead of 'builtin'"""
with spack.repo.use_repositories(mock_repo_path) as mock_repo:
yield mock_repo
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mutable_mock_repo(mock_repo_path):
"""Function-scoped mock packages, for tests that need to modify them."""
mock_repo = spack.repo.Repo(spack.paths.mock_packages_path)
@@ -551,52 +548,54 @@ def mutable_mock_repo(mock_repo_path):
yield mock_repo_path
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def linux_os():
"""Returns a named tuple with attributes 'name' and 'version'
representing the OS.
"""
platform = spack.platforms.host()
- name, version = 'debian', '6'
- if platform.name == 'linux':
- current_os = platform.operating_system('default_os')
+ name, version = "debian", "6"
+ if platform.name == "linux":
+ current_os = platform.operating_system("default_os")
name, version = current_os.name, current_os.version
- LinuxOS = collections.namedtuple('LinuxOS', ['name', 'version'])
+ LinuxOS = collections.namedtuple("LinuxOS", ["name", "version"])
return LinuxOS(name=name, version=version)
-@pytest.fixture(autouse=is_windows, scope='session')
+@pytest.fixture(autouse=is_windows, scope="session")
def platform_config():
spack.config.add_default_platform_scope(spack.platforms.real_host().name)
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def default_config():
"""Isolates the default configuration from the user configs.
This ensures we can test the real default configuration without having
tests fail when the user overrides the defaults that we test against."""
- defaults_path = os.path.join(spack.paths.etc_path, 'defaults')
+ defaults_path = os.path.join(spack.paths.etc_path, "defaults")
if is_windows:
defaults_path = os.path.join(defaults_path, "windows")
with spack.config.use_configuration(defaults_path) as defaults_config:
yield defaults_config
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_uarch_json(tmpdir_factory):
"""Mock microarchitectures.json with test architecture descriptions."""
- tmpdir = tmpdir_factory.mktemp('microarchitectures')
+ tmpdir = tmpdir_factory.mktemp("microarchitectures")
uarch_json = py.path.local(spack.paths.test_path).join(
- "data", "microarchitectures", "microarchitectures.json")
+ "data", "microarchitectures", "microarchitectures.json"
+ )
uarch_json.copy(tmpdir)
yield str(tmpdir.join("microarchitectures.json"))
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_uarch_configuration(mock_uarch_json):
"""Create mock dictionaries for the archspec.cpu."""
+
def load_json():
with open(mock_uarch_json) as f:
return json.load(f)
@@ -607,7 +606,7 @@ def mock_uarch_configuration(mock_uarch_json):
yield targets_json, targets
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mock_targets(mock_uarch_configuration, monkeypatch):
"""Use this fixture to enable mock uarch targets for testing."""
targets_json, targets = mock_uarch_configuration
@@ -616,42 +615,40 @@ def mock_targets(mock_uarch_configuration, monkeypatch):
monkeypatch.setattr(archspec.cpu.microarchitecture, "TARGETS", targets)
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def configuration_dir(tmpdir_factory, linux_os):
"""Copies mock configuration files in a temporary directory. Returns the
directory path.
"""
- tmpdir = tmpdir_factory.mktemp('configurations')
+ tmpdir = tmpdir_factory.mktemp("configurations")
# <test_path>/data/config has mock config yaml files in it
# copy these to the site config.
- test_config = py.path.local(spack.paths.test_path).join('data', 'config')
- test_config.copy(tmpdir.join('site'))
+ test_config = py.path.local(spack.paths.test_path).join("data", "config")
+ test_config.copy(tmpdir.join("site"))
# Create temporary 'defaults', 'site' and 'user' folders
- tmpdir.ensure('user', dir=True)
+ tmpdir.ensure("user", dir=True)
# Slightly modify config.yaml and compilers.yaml
if is_windows:
- solver = 'original'
+ solver = "original"
locks = False
else:
- solver = os.environ.get('SPACK_TEST_SOLVER', 'clingo')
+ solver = os.environ.get("SPACK_TEST_SOLVER", "clingo")
locks = True
- config_yaml = test_config.join('config.yaml')
- modules_root = tmpdir_factory.mktemp('share')
- tcl_root = modules_root.ensure('modules', dir=True)
- lmod_root = modules_root.ensure('lmod', dir=True)
- content = ''.join(config_yaml.read()).format(
- solver, locks, str(tcl_root), str(lmod_root)
- )
- t = tmpdir.join('site', 'config.yaml')
+ config_yaml = test_config.join("config.yaml")
+ modules_root = tmpdir_factory.mktemp("share")
+ tcl_root = modules_root.ensure("modules", dir=True)
+ lmod_root = modules_root.ensure("lmod", dir=True)
+ content = "".join(config_yaml.read()).format(solver, locks, str(tcl_root), str(lmod_root))
+ t = tmpdir.join("site", "config.yaml")
t.write(content)
- compilers_yaml = test_config.join('compilers.yaml')
- content = ''.join(compilers_yaml.read()).format(linux_os)
- t = tmpdir.join('site', 'compilers.yaml')
+ compilers_yaml = test_config.join("compilers.yaml")
+ content = "".join(compilers_yaml.read()).format(linux_os)
+ t = tmpdir.join("site", "compilers.yaml")
t.write(content)
yield tmpdir
@@ -662,33 +659,33 @@ def configuration_dir(tmpdir_factory, linux_os):
def _create_mock_configuration_scopes(configuration_dir):
"""Create the configuration scopes used in `config` and `mutable_config`."""
scopes = [
- spack.config.InternalConfigScope('_builtin', spack.config.config_defaults),
+ spack.config.InternalConfigScope("_builtin", spack.config.config_defaults),
]
scopes += [
spack.config.ConfigScope(name, str(configuration_dir.join(name)))
- for name in ['site', 'system', 'user']
+ for name in ["site", "system", "user"]
]
- scopes += [spack.config.InternalConfigScope('command_line')]
+ scopes += [spack.config.InternalConfigScope("command_line")]
return scopes
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_configuration_scopes(configuration_dir):
"""Create a persistent Configuration object from the configuration_dir."""
yield _create_mock_configuration_scopes(configuration_dir)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def config(mock_configuration_scopes):
"""This fixture activates/deactivates the mock configuration."""
with spack.config.use_configuration(*mock_configuration_scopes) as config:
yield config
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mutable_config(tmpdir_factory, configuration_dir):
"""Like config, but tests can modify the configuration."""
- mutable_dir = tmpdir_factory.mktemp('mutable_config').join('tmp')
+ mutable_dir = tmpdir_factory.mktemp("mutable_config").join("tmp")
configuration_dir.copy(mutable_dir)
scopes = _create_mock_configuration_scopes(mutable_dir)
@@ -696,12 +693,14 @@ def mutable_config(tmpdir_factory, configuration_dir):
yield cfg
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mutable_empty_config(tmpdir_factory, configuration_dir):
"""Empty configuration that can be modified by the tests."""
- mutable_dir = tmpdir_factory.mktemp('mutable_config').join('tmp')
- scopes = [spack.config.ConfigScope(name, str(mutable_dir.join(name)))
- for name in ['site', 'system', 'user']]
+ mutable_dir = tmpdir_factory.mktemp("mutable_config").join("tmp")
+ scopes = [
+ spack.config.ConfigScope(name, str(mutable_dir.join(name)))
+ for name in ["site", "system", "user"]
+ ]
with spack.config.use_configuration(*scopes) as cfg:
yield cfg
@@ -713,7 +712,7 @@ def no_compilers_yaml(mutable_config):
for scope, local_config in mutable_config.scopes.items():
if not local_config.path: # skip internal scopes
continue
- compilers_yaml = os.path.join(local_config.path, 'compilers.yaml')
+ compilers_yaml = os.path.join(local_config.path, "compilers.yaml")
if os.path.exists(compilers_yaml):
os.remove(compilers_yaml)
@@ -721,8 +720,7 @@ def no_compilers_yaml(mutable_config):
@pytest.fixture()
def mock_low_high_config(tmpdir):
"""Mocks two configuration scopes: 'low' and 'high'."""
- scopes = [spack.config.ConfigScope(name, str(tmpdir.join(name)))
- for name in ['low', 'high']]
+ scopes = [spack.config.ConfigScope(name, str(tmpdir.join(name))) for name in ["low", "high"]]
with spack.config.use_configuration(*scopes) as config:
yield config
@@ -749,30 +747,30 @@ def _populate(mock_db):
|/
o libelf
"""
+
def _install(spec):
s = spack.spec.Spec(spec).concretized()
s.package.do_install(fake=True, explicit=True)
- _install('mpileaks ^mpich')
- _install('mpileaks ^mpich2')
- _install('mpileaks ^zmpi')
- _install('externaltest')
- _install('trivial-smoke-test')
+ _install("mpileaks ^mpich")
+ _install("mpileaks ^mpich2")
+ _install("mpileaks ^zmpi")
+ _install("externaltest")
+ _install("trivial-smoke-test")
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def _store_dir_and_cache(tmpdir_factory):
"""Returns the directory where to build the mock database and
where to cache it.
"""
- store = tmpdir_factory.mktemp('mock_store')
- cache = tmpdir_factory.mktemp('mock_store_cache')
+ store = tmpdir_factory.mktemp("mock_store")
+ cache = tmpdir_factory.mktemp("mock_store_cache")
return store, cache
-@pytest.fixture(scope='session')
-def mock_store(tmpdir_factory, mock_repo_path, mock_configuration_scopes,
- _store_dir_and_cache):
+@pytest.fixture(scope="session")
+def mock_store(tmpdir_factory, mock_repo_path, mock_configuration_scopes, _store_dir_and_cache):
"""Creates a read-only mock database with some packages installed note
that the ref count for dyninst here will be 3, as it's recycled
across each install.
@@ -784,7 +782,7 @@ def mock_store(tmpdir_factory, mock_repo_path, mock_configuration_scopes,
store_path, store_cache = _store_dir_and_cache
# If the cache does not exist populate the store and create it
- if not os.path.exists(str(store_cache.join('.spack-db'))):
+ if not os.path.exists(str(store_cache.join(".spack-db"))):
with spack.config.use_configuration(*mock_configuration_scopes):
with spack.store.use_store(str(store_path)) as store:
with spack.repo.use_repositories(mock_repo_path):
@@ -792,39 +790,38 @@ def mock_store(tmpdir_factory, mock_repo_path, mock_configuration_scopes,
store_path.copy(store_cache, mode=True, stat=True)
# Make the DB filesystem read-only to ensure we can't modify entries
- store_path.join('.spack-db').chmod(mode=0o555, rec=1)
+ store_path.join(".spack-db").chmod(mode=0o555, rec=1)
yield store_path
- store_path.join('.spack-db').chmod(mode=0o755, rec=1)
+ store_path.join(".spack-db").chmod(mode=0o755, rec=1)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def database(mock_store, mock_packages, config):
"""This activates the mock store, packages, AND config."""
with spack.store.use_store(str(mock_store)) as store:
yield store.db
# Force reading the database again between tests
- store.db.last_seen_verifier = ''
+ store.db.last_seen_verifier = ""
-@pytest.fixture(scope='function')
-def database_mutable_config(mock_store, mock_packages, mutable_config,
- monkeypatch):
+@pytest.fixture(scope="function")
+def database_mutable_config(mock_store, mock_packages, mutable_config, monkeypatch):
"""This activates the mock store, packages, AND config."""
with spack.store.use_store(str(mock_store)) as store:
yield store.db
- store.db.last_seen_verifier = ''
+ store.db.last_seen_verifier = ""
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def mutable_database(database_mutable_config, _store_dir_and_cache):
"""Writeable version of the fixture, restored to its initial state
after each test.
"""
# Make the database writeable, as we are going to modify it
store_path, store_cache = _store_dir_and_cache
- store_path.join('.spack-db').chmod(mode=0o755, rec=1)
+ store_path.join(".spack-db").chmod(mode=0o755, rec=1)
yield database_mutable_config
@@ -832,18 +829,18 @@ def mutable_database(database_mutable_config, _store_dir_and_cache):
# the store and making the database read-only
store_path.remove(rec=1)
store_cache.copy(store_path, mode=True, stat=True)
- store_path.join('.spack-db').chmod(mode=0o555, rec=1)
+ store_path.join(".spack-db").chmod(mode=0o555, rec=1)
@pytest.fixture()
def dirs_with_libfiles(tmpdir_factory):
lib_to_libfiles = {
- 'libstdc++': ['libstdc++.so', 'libstdc++.tbd'],
- 'libgfortran': ['libgfortran.a', 'libgfortran.dylib'],
- 'libirc': ['libirc.a', 'libirc.so']
+ "libstdc++": ["libstdc++.so", "libstdc++.tbd"],
+ "libgfortran": ["libgfortran.a", "libgfortran.dylib"],
+ "libirc": ["libirc.a", "libirc.so"],
}
- root = tmpdir_factory.mktemp('root')
+ root = tmpdir_factory.mktemp("root")
lib_to_dirs = {}
i = 0
for lib, libfiles in lib_to_libfiles.items():
@@ -864,7 +861,7 @@ def _compiler_link_paths_noop(*args):
return []
-@pytest.fixture(scope='function', autouse=True)
+@pytest.fixture(scope="function", autouse=True)
def disable_compiler_execution(monkeypatch, request):
"""
This fixture can be disabled for tests of the compiler link path
@@ -873,22 +870,20 @@ def disable_compiler_execution(monkeypatch, request):
@pytest.mark.enable_compiler_link_paths
If a test is marked in that way this is a no-op."""
- if 'enable_compiler_link_paths' not in request.keywords:
+ if "enable_compiler_link_paths" not in request.keywords:
# Compiler.determine_implicit_rpaths actually runs the compiler. So
# replace that function with a noop that simulates finding no implicit
# RPATHs
monkeypatch.setattr(
- spack.compiler.Compiler,
- '_get_compiler_link_paths',
- _compiler_link_paths_noop
+ spack.compiler.Compiler, "_get_compiler_link_paths", _compiler_link_paths_noop
)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def install_mockery(temporary_store, config, mock_packages):
"""Hooks a fake install directory, DB, and stage directory into Spack."""
# We use a fake package, so temporarily disable checksumming
- with spack.config.override('config:checksum', False):
+ with spack.config.override("config:checksum", False):
yield
# Also wipe out any cached prefix failure locks (associated with
@@ -902,19 +897,17 @@ def install_mockery(temporary_store, config, mock_packages):
pass
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def temporary_store(tmpdir):
"""Hooks a temporary empty store for the test function."""
- temporary_store_path = tmpdir.join('opt')
+ temporary_store_path = tmpdir.join("opt")
with spack.store.use_store(str(temporary_store_path)) as s:
yield s
temporary_store_path.remove()
-@pytest.fixture(scope='function')
-def install_mockery_mutable_config(
- temporary_store, mutable_config, mock_packages
-):
+@pytest.fixture(scope="function")
+def install_mockery_mutable_config(temporary_store, mutable_config, mock_packages):
"""Hooks a fake install directory, DB, and stage directory into Spack.
This is specifically for tests which want to use 'install_mockery' but
@@ -922,7 +915,7 @@ def install_mockery_mutable_config(
'mutable config'): 'install_mockery' does not support this.
"""
# We use a fake package, so temporarily disable checksumming
- with spack.config.override('config:checksum', False):
+ with spack.config.override("config:checksum", False):
yield
@@ -932,8 +925,7 @@ def mock_fetch(mock_archive, monkeypatch):
mock_fetcher = FetchStrategyComposite()
mock_fetcher.append(URLFetchStrategy(mock_archive.url))
- monkeypatch.setattr(
- spack.package_base.PackageBase, 'fetcher', mock_fetcher)
+ monkeypatch.setattr(spack.package_base.PackageBase, "fetcher", mock_fetcher)
class MockLayout(object):
@@ -941,7 +933,7 @@ class MockLayout(object):
self.root = root
def path_for_spec(self, spec):
- return os.path.sep.join([self.root, spec.name + '-' + spec.dag_hash()])
+ return os.path.sep.join([self.root, spec.name + "-" + spec.dag_hash()])
def ensure_installed(self, spec):
pass
@@ -979,27 +971,17 @@ class ConfigUpdate(object):
self.monkeypatch = monkeypatch
def __call__(self, filename):
- file = os.path.join(self.root_for_conf, filename + '.yaml')
+ file = os.path.join(self.root_for_conf, filename + ".yaml")
with open(file) as f:
config_settings = syaml.load_config(f)
- spack.config.set('modules:default', config_settings)
+ spack.config.set("modules:default", config_settings)
mock_config = MockConfig(config_settings, self.writer_key)
+ self.monkeypatch.setattr(spack.modules.common, "configuration", mock_config.configuration)
self.monkeypatch.setattr(
- spack.modules.common,
- 'configuration',
- mock_config.configuration
- )
- self.monkeypatch.setattr(
- self.writer_mod,
- 'configuration',
- mock_config.writer_configuration
- )
- self.monkeypatch.setattr(
- self.writer_mod,
- 'configuration_registry',
- {}
+ self.writer_mod, "configuration", mock_config.writer_configuration
)
+ self.monkeypatch.setattr(self.writer_mod, "configuration_registry", {})
@pytest.fixture()
@@ -1008,15 +990,13 @@ def module_configuration(monkeypatch, request, mutable_config):
for tests and monkeypatches the right classes to hook it in.
"""
# Class of the module file writer
- writer_cls = getattr(request.module, 'writer_cls')
+ writer_cls = getattr(request.module, "writer_cls")
# Module where the module file writer is defined
writer_mod = inspect.getmodule(writer_cls)
# Key for specific settings relative to this module type
- writer_key = str(writer_mod.__name__).split('.')[-1]
+ writer_key = str(writer_mod.__name__).split(".")[-1]
# Root folder for configuration
- root_for_conf = os.path.join(
- spack.paths.test_path, 'data', 'modules', writer_key
- )
+ root_for_conf = os.path.join(spack.paths.test_path, "data", "modules", writer_key)
# ConfigUpdate, when called, will modify configuration, so we need to use
# the mutable_config fixture
@@ -1033,7 +1013,7 @@ def mock_gnupghome(monkeypatch):
spack.util.gpg.init()
except spack.util.gpg.SpackGPGError:
if not spack.util.gpg.GPG:
- pytest.skip('This test requires gpg')
+ pytest.skip("This test requires gpg")
short_name_tmpdir = tempfile.mkdtemp()
with spack.util.gpg.gnupghome_override(short_name_tmpdir):
@@ -1045,26 +1025,26 @@ def mock_gnupghome(monkeypatch):
# file or directory: 'S.gpg-agent.extra').
shutil.rmtree(short_name_tmpdir, ignore_errors=True)
+
##########
# Fake archives and repositories
##########
-@pytest.fixture(scope='session', params=[('.tar.gz', 'z')])
+@pytest.fixture(scope="session", params=[(".tar.gz", "z")])
def mock_archive(request, tmpdir_factory):
"""Creates a very simple archive directory with a configure script and a
makefile that installs to a prefix. Tars it up into an archive.
"""
- tar = spack.util.executable.which('tar', required=True)
+ tar = spack.util.executable.which("tar", required=True)
- tmpdir = tmpdir_factory.mktemp('mock-archive-dir')
+ tmpdir = tmpdir_factory.mktemp("mock-archive-dir")
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
# Create the configure script
- configure_path = str(tmpdir.join(spack.stage._source_path_subdir,
- 'configure'))
- with open(configure_path, 'w') as f:
+ configure_path = str(tmpdir.join(spack.stage._source_path_subdir, "configure"))
+ with open(configure_path, "w") as f:
f.write(
"#!/bin/sh\n"
"prefix=$(echo $1 | sed 's/--prefix=//')\n"
@@ -1080,23 +1060,22 @@ def mock_archive(request, tmpdir_factory):
# Archive it
with tmpdir.as_cwd():
- archive_name = '{0}{1}'.format(spack.stage._source_path_subdir,
- request.param[0])
- tar('-c{0}f'.format(request.param[1]), archive_name,
- spack.stage._source_path_subdir)
-
- Archive = collections.namedtuple('Archive',
- ['url', 'path', 'archive_file',
- 'expanded_archive_basedir'])
+ archive_name = "{0}{1}".format(spack.stage._source_path_subdir, request.param[0])
+ tar("-c{0}f".format(request.param[1]), archive_name, spack.stage._source_path_subdir)
+
+ Archive = collections.namedtuple(
+ "Archive", ["url", "path", "archive_file", "expanded_archive_basedir"]
+ )
archive_file = str(tmpdir.join(archive_name))
- url = ('file://' + archive_file)
+ url = "file://" + archive_file
# Return the url
yield Archive(
url=url,
archive_file=archive_file,
path=str(repodir),
- expanded_archive_basedir=spack.stage._source_path_subdir)
+ expanded_archive_basedir=spack.stage._source_path_subdir,
+ )
def _parse_cvs_date(line):
@@ -1105,25 +1084,25 @@ def _parse_cvs_date(line):
# date: 2021-07-07 02:43:33 -0700; ...
# date: 2021-07-07 02:43:33; ...
# date: 2021/07/07 02:43:33; ...
- m = re.search(r'date:\s+(\d+)[/-](\d+)[/-](\d+)\s+(\d+):(\d+):(\d+)', line)
+ m = re.search(r"date:\s+(\d+)[/-](\d+)[/-](\d+)\s+(\d+):(\d+):(\d+)", line)
if not m:
return None
year, month, day, hour, minute, second = [int(g) for g in m.groups()]
return datetime.datetime(year, month, day, hour, minute, second)
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_cvs_repository(tmpdir_factory):
"""Creates a very simple CVS repository with two commits and a branch."""
- cvs = spack.util.executable.which('cvs', required=True)
+ cvs = spack.util.executable.which("cvs", required=True)
- tmpdir = tmpdir_factory.mktemp('mock-cvs-repo-dir')
+ tmpdir = tmpdir_factory.mktemp("mock-cvs-repo-dir")
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
cvsroot = str(repodir)
# The CVS repository and source tree need to live in a different directories
- sourcedirparent = tmpdir_factory.mktemp('mock-cvs-source-dir')
+ sourcedirparent = tmpdir_factory.mktemp("mock-cvs-source-dir")
module = spack.stage._source_path_subdir
url = cvsroot + "%module=" + module
sourcedirparent.ensure(module, dir=True)
@@ -1132,7 +1111,7 @@ def mock_cvs_repository(tmpdir_factory):
def format_date(date):
if date is None:
return None
- return date.strftime('%Y-%m-%d %H:%M:%S')
+ return date.strftime("%Y-%m-%d %H:%M:%S")
def get_cvs_timestamp(output):
"""Find the most recent CVS time stamp in a `cvs log` output"""
@@ -1155,41 +1134,49 @@ def mock_cvs_repository(tmpdir_factory):
# Initialize the repository
with sourcedir.as_cwd():
- cvs('-d', cvsroot, 'init')
- cvs('-d', cvsroot, 'import', '-m', 'initial mock repo commit',
- module, 'mockvendor', 'mockrelease')
+ cvs("-d", cvsroot, "init")
+ cvs(
+ "-d",
+ cvsroot,
+ "import",
+ "-m",
+ "initial mock repo commit",
+ module,
+ "mockvendor",
+ "mockrelease",
+ )
with sourcedirparent.as_cwd():
- cvs('-d', cvsroot, 'checkout', module)
+ cvs("-d", cvsroot, "checkout", module)
# Commit file r0
- r0_file = 'r0_file'
+ r0_file = "r0_file"
sourcedir.ensure(r0_file)
- cvs('-d', cvsroot, 'add', r0_file)
- cvs('-d', cvsroot, 'commit', '-m', 'revision 0', r0_file)
- output = cvs('log', '-N', r0_file, output=str)
- revision_date['1.1'] = format_date(get_cvs_timestamp(output))
+ cvs("-d", cvsroot, "add", r0_file)
+ cvs("-d", cvsroot, "commit", "-m", "revision 0", r0_file)
+ output = cvs("log", "-N", r0_file, output=str)
+ revision_date["1.1"] = format_date(get_cvs_timestamp(output))
# Commit file r1
- r1_file = 'r1_file'
+ r1_file = "r1_file"
sourcedir.ensure(r1_file)
- cvs('-d', cvsroot, 'add', r1_file)
- cvs('-d', cvsroot, 'commit', '-m' 'revision 1', r1_file)
- output = cvs('log', '-N', r0_file, output=str)
- revision_date['1.2'] = format_date(get_cvs_timestamp(output))
+ cvs("-d", cvsroot, "add", r1_file)
+ cvs("-d", cvsroot, "commit", "-m" "revision 1", r1_file)
+ output = cvs("log", "-N", r0_file, output=str)
+ revision_date["1.2"] = format_date(get_cvs_timestamp(output))
# Create branch 'mock-branch'
- cvs('-d', cvsroot, 'tag', 'mock-branch-root')
- cvs('-d', cvsroot, 'tag', '-b', 'mock-branch')
+ cvs("-d", cvsroot, "tag", "mock-branch-root")
+ cvs("-d", cvsroot, "tag", "-b", "mock-branch")
# CVS does not have the notion of a unique branch; branches and revisions
# are managed separately for every file
def get_branch():
"""Return the branch name if all files are on the same branch, else
return None. Also return None if all files are on the trunk."""
- lines = cvs('-d', cvsroot, 'status', '-v', output=str).splitlines()
+ lines = cvs("-d", cvsroot, "status", "-v", output=str).splitlines()
branch = None
for line in lines:
- m = re.search(r'(\S+)\s+[(]branch:', line)
+ m = re.search(r"(\S+)\s+[(]branch:", line)
if m:
tag = m.group(1)
if branch is None:
@@ -1209,31 +1196,30 @@ def mock_cvs_repository(tmpdir_factory):
# commit dates instead
def get_date():
"""Return latest date of the revisions of all files"""
- output = cvs('log', '-N', r0_file, output=str)
+ output = cvs("log", "-N", r0_file, output=str)
timestamp = get_cvs_timestamp(output)
if timestamp is None:
return None
return format_date(timestamp)
checks = {
- 'default': Bunch(
+ "default": Bunch(
file=r1_file,
branch=None,
date=None,
- args={'cvs': url},
+ args={"cvs": url},
),
- 'branch': Bunch(
+ "branch": Bunch(
file=r1_file,
- branch='mock-branch',
+ branch="mock-branch",
date=None,
- args={'cvs': url, 'branch': 'mock-branch'},
+ args={"cvs": url, "branch": "mock-branch"},
),
- 'date': Bunch(
+ "date": Bunch(
file=r0_file,
branch=None,
- date=revision_date['1.1'],
- args={'cvs': url,
- 'date': revision_date['1.1']},
+ date=revision_date["1.1"],
+ args={"cvs": url, "date": revision_date["1.1"]},
),
}
@@ -1248,7 +1234,7 @@ def mock_cvs_repository(tmpdir_factory):
yield test
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_git_repository(tmpdir_factory):
"""Creates a git repository multiple commits, branches, submodules, and
a tag. Visual representation of the commit history (starting with the
@@ -1273,90 +1259,93 @@ def mock_git_repository(tmpdir_factory):
associated builtin.mock package 'git-test'. c3 is a commit in the
repository but does not have an associated explicit package version.
"""
- git = spack.util.executable.which('git', required=True)
+ git = spack.util.executable.which("git", required=True)
suburls = []
# Create two git repositories which will be used as submodules in the
# main repository
for submodule_count in range(2):
- tmpdir = tmpdir_factory.mktemp('mock-git-repo-submodule-dir-{0}'
- .format(submodule_count))
+ tmpdir = tmpdir_factory.mktemp("mock-git-repo-submodule-dir-{0}".format(submodule_count))
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
- suburls.append((submodule_count, 'file://' + str(repodir)))
+ suburls.append((submodule_count, "file://" + str(repodir)))
with repodir.as_cwd():
- git('init')
- git('config', 'user.name', 'Spack')
- git('config', 'user.email', 'spack@spack.io')
+ git("init")
+ git("config", "user.name", "Spack")
+ git("config", "user.email", "spack@spack.io")
# r0 is just the first commit
- submodule_file = 'r0_file_{0}'.format(submodule_count)
+ submodule_file = "r0_file_{0}".format(submodule_count)
repodir.ensure(submodule_file)
- git('add', submodule_file)
- git('-c', 'commit.gpgsign=false', 'commit',
- '-m', 'mock-git-repo r0 {0}'.format(submodule_count))
-
- tmpdir = tmpdir_factory.mktemp('mock-git-repo-dir')
+ git("add", submodule_file)
+ git(
+ "-c",
+ "commit.gpgsign=false",
+ "commit",
+ "-m",
+ "mock-git-repo r0 {0}".format(submodule_count),
+ )
+
+ tmpdir = tmpdir_factory.mktemp("mock-git-repo-dir")
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
# Create the main repository
with repodir.as_cwd():
- git('init')
- git('config', 'user.name', 'Spack')
- git('config', 'user.email', 'spack@spack.io')
- url = 'file://' + str(repodir)
+ git("init")
+ git("config", "user.name", "Spack")
+ git("config", "user.email", "spack@spack.io")
+ url = "file://" + str(repodir)
for number, suburl in suburls:
- git('submodule', 'add', suburl,
- 'third_party/submodule{0}'.format(number))
+ git("submodule", "add", suburl, "third_party/submodule{0}".format(number))
# r0 is the first commit: it consists of one file and two submodules
- r0_file = 'r0_file'
+ r0_file = "r0_file"
repodir.ensure(r0_file)
- git('add', r0_file)
- git('-c', 'commit.gpgsign=false', 'commit', '-m', 'mock-git-repo r0')
+ git("add", r0_file)
+ git("-c", "commit.gpgsign=false", "commit", "-m", "mock-git-repo r0")
- branch = 'test-branch'
- branch_file = 'branch_file'
- git('branch', branch)
+ branch = "test-branch"
+ branch_file = "branch_file"
+ git("branch", branch)
- tag_branch = 'tag-branch'
- tag_file = 'tag_file'
- git('branch', tag_branch)
+ tag_branch = "tag-branch"
+ tag_file = "tag_file"
+ git("branch", tag_branch)
# Check out test branch and add one commit
- git('checkout', branch)
+ git("checkout", branch)
repodir.ensure(branch_file)
- git('add', branch_file)
- git('-c', 'commit.gpgsign=false', 'commit', '-m' 'r1 test branch')
+ git("add", branch_file)
+ git("-c", "commit.gpgsign=false", "commit", "-m" "r1 test branch")
# Check out the tag branch, add one commit, and then add a tag for it
- git('checkout', tag_branch)
+ git("checkout", tag_branch)
repodir.ensure(tag_file)
- git('add', tag_file)
- git('-c', 'commit.gpgsign=false', 'commit', '-m' 'tag test branch')
+ git("add", tag_file)
+ git("-c", "commit.gpgsign=false", "commit", "-m" "tag test branch")
- tag = 'test-tag'
- git('tag', tag)
+ tag = "test-tag"
+ git("tag", tag)
try:
default_branch = git(
- 'config',
- '--get',
- 'init.defaultBranch',
+ "config",
+ "--get",
+ "init.defaultBranch",
output=str,
).strip()
except Exception:
- default_branch = 'master'
- git('checkout', default_branch)
+ default_branch = "master"
+ git("checkout", default_branch)
- r2_file = 'r2_file'
+ r2_file = "r2_file"
repodir.ensure(r2_file)
- git('add', r2_file)
- git('-c', 'commit.gpgsign=false', 'commit', '-m', 'mock-git-repo r2')
+ git("add", r2_file)
+ git("-c", "commit.gpgsign=false", "commit", "-m", "mock-git-repo r2")
- rev_hash = lambda x: git('rev-parse', x, output=str).strip()
+ rev_hash = lambda x: git("rev-parse", x, output=str).strip()
r2 = rev_hash(default_branch)
# Record the commit hash of the (only) commit from test-branch and
@@ -1370,135 +1359,116 @@ def mock_git_repository(tmpdir_factory):
# revision for the version; a file associated with (and particular to)
# that revision/branch.
checks = {
- 'default': Bunch(
- revision=default_branch, file=r0_file, args={'git': url}
- ),
- 'branch': Bunch(
- revision=branch, file=branch_file, args={
- 'git': url, 'branch': branch
- }
- ),
- 'tag-branch': Bunch(
- revision=tag_branch, file=tag_file, args={
- 'git': url, 'branch': tag_branch
- }
- ),
- 'tag': Bunch(
- revision=tag, file=tag_file, args={'git': url, 'tag': tag}
- ),
- 'commit': Bunch(
- revision=r1, file=r1_file, args={'git': url, 'commit': r1}
+ "default": Bunch(revision=default_branch, file=r0_file, args={"git": url}),
+ "branch": Bunch(revision=branch, file=branch_file, args={"git": url, "branch": branch}),
+ "tag-branch": Bunch(
+ revision=tag_branch, file=tag_file, args={"git": url, "branch": tag_branch}
),
+ "tag": Bunch(revision=tag, file=tag_file, args={"git": url, "tag": tag}),
+ "commit": Bunch(revision=r1, file=r1_file, args={"git": url, "commit": r1}),
# In this case, the version() args do not include a 'git' key:
# this is the norm for packages, so this tests how the fetching logic
# would most-commonly assemble a Git fetcher
- 'default-no-per-version-git': Bunch(
- revision=default_branch, file=r0_file, args={'branch': default_branch}
- )
+ "default-no-per-version-git": Bunch(
+ revision=default_branch, file=r0_file, args={"branch": default_branch}
+ ),
}
- t = Bunch(checks=checks, url=url, hash=rev_hash,
- path=str(repodir), git_exe=git, unversioned_commit=r2)
+ t = Bunch(
+ checks=checks,
+ url=url,
+ hash=rev_hash,
+ path=str(repodir),
+ git_exe=git,
+ unversioned_commit=r2,
+ )
yield t
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_hg_repository(tmpdir_factory):
"""Creates a very simple hg repository with two commits."""
- hg = spack.util.executable.which('hg', required=True)
+ hg = spack.util.executable.which("hg", required=True)
- tmpdir = tmpdir_factory.mktemp('mock-hg-repo-dir')
+ tmpdir = tmpdir_factory.mktemp("mock-hg-repo-dir")
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
- get_rev = lambda: hg('id', '-i', output=str).strip()
+ get_rev = lambda: hg("id", "-i", output=str).strip()
# Initialize the repository
with repodir.as_cwd():
- url = 'file://' + str(repodir)
- hg('init')
+ url = "file://" + str(repodir)
+ hg("init")
# Commit file r0
- r0_file = 'r0_file'
+ r0_file = "r0_file"
repodir.ensure(r0_file)
- hg('add', r0_file)
- hg('commit', '-m', 'revision 0', '-u', 'test')
+ hg("add", r0_file)
+ hg("commit", "-m", "revision 0", "-u", "test")
r0 = get_rev()
# Commit file r1
- r1_file = 'r1_file'
+ r1_file = "r1_file"
repodir.ensure(r1_file)
- hg('add', r1_file)
- hg('commit', '-m' 'revision 1', '-u', 'test')
+ hg("add", r1_file)
+ hg("commit", "-m" "revision 1", "-u", "test")
r1 = get_rev()
checks = {
- 'default': Bunch(
- revision=r1, file=r1_file, args={'hg': str(repodir)}
- ),
- 'rev0': Bunch(
- revision=r0, file=r0_file, args={
- 'hg': str(repodir), 'revision': r0
- }
- )
+ "default": Bunch(revision=r1, file=r1_file, args={"hg": str(repodir)}),
+ "rev0": Bunch(revision=r0, file=r0_file, args={"hg": str(repodir), "revision": r0}),
}
t = Bunch(checks=checks, url=url, hash=get_rev, path=str(repodir))
yield t
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def mock_svn_repository(tmpdir_factory):
"""Creates a very simple svn repository with two commits."""
- svn = spack.util.executable.which('svn', required=True)
- svnadmin = spack.util.executable.which('svnadmin', required=True)
+ svn = spack.util.executable.which("svn", required=True)
+ svnadmin = spack.util.executable.which("svnadmin", required=True)
- tmpdir = tmpdir_factory.mktemp('mock-svn-stage')
+ tmpdir = tmpdir_factory.mktemp("mock-svn-stage")
tmpdir.ensure(spack.stage._source_path_subdir, dir=True)
repodir = tmpdir.join(spack.stage._source_path_subdir)
- url = 'file://' + str(repodir)
+ url = "file://" + str(repodir)
# Initialize the repository
with repodir.as_cwd():
# NOTE: Adding --pre-1.5-compatible works for NERSC
# Unknown if this is also an issue at other sites.
- svnadmin('create', '--pre-1.5-compatible', str(repodir))
+ svnadmin("create", "--pre-1.5-compatible", str(repodir))
# Import a structure (first commit)
- r0_file = 'r0_file'
- tmpdir.ensure('tmp-path', r0_file)
- tmp_path = tmpdir.join('tmp-path')
- svn('import',
- str(tmp_path),
- url,
- '-m',
- 'Initial import r0')
+ r0_file = "r0_file"
+ tmpdir.ensure("tmp-path", r0_file)
+ tmp_path = tmpdir.join("tmp-path")
+ svn("import", str(tmp_path), url, "-m", "Initial import r0")
tmp_path.remove()
# Second commit
- r1_file = 'r1_file'
- svn('checkout', url, str(tmp_path))
- tmpdir.ensure('tmp-path', r1_file)
+ r1_file = "r1_file"
+ svn("checkout", url, str(tmp_path))
+ tmpdir.ensure("tmp-path", r1_file)
with tmp_path.as_cwd():
- svn('add', str(tmpdir.ensure('tmp-path', r1_file)))
- svn('ci', '-m', 'second revision r1')
+ svn("add", str(tmpdir.ensure("tmp-path", r1_file)))
+ svn("ci", "-m", "second revision r1")
tmp_path.remove()
- r0 = '1'
- r1 = '2'
+ r0 = "1"
+ r1 = "2"
checks = {
- 'default': Bunch(
- revision=r1, file=r1_file, args={'svn': url}),
- 'rev0': Bunch(
- revision=r0, file=r0_file, args={
- 'svn': url, 'revision': r0})
+ "default": Bunch(revision=r1, file=r1_file, args={"svn": url}),
+ "rev0": Bunch(revision=r0, file=r0_file, args={"svn": url, "revision": r0}),
}
def get_rev():
- output = svn('info', '--xml', output=str)
+ output = svn("info", "--xml", output=str)
info = xml.etree.ElementTree.fromstring(output)
- return info.find('entry/commit').get('revision')
+ return info.find("entry/commit").get("revision")
t = Bunch(checks=checks, url=url, hash=get_rev, path=str(repodir))
yield t
@@ -1508,7 +1478,7 @@ def mock_svn_repository(tmpdir_factory):
def mutable_mock_env_path(tmpdir_factory):
"""Fixture for mocking the internal spack environments directory."""
saved_path = ev.environment.env_path
- mock_path = tmpdir_factory.mktemp('mock-env-path')
+ mock_path = tmpdir_factory.mktemp("mock-env-path")
ev.environment.env_path = str(mock_path)
yield mock_path
ev.environment.env_path = saved_path
@@ -1520,7 +1490,7 @@ def installation_dir_with_headers(tmpdir_factory):
subdirectories. Shouldn't be modified by tests as it is session
scoped.
"""
- root = tmpdir_factory.mktemp('prefix')
+ root = tmpdir_factory.mktemp("prefix")
# Create a few header files:
#
@@ -1535,10 +1505,10 @@ def installation_dir_with_headers(tmpdir_factory):
# |-- subdir
# |-- ex2.h
#
- root.ensure('include', 'boost', 'ex3.h')
- root.ensure('include', 'ex3.h')
- root.ensure('path', 'to', 'ex1.h')
- root.ensure('path', 'to', 'subdir', 'ex2.h')
+ root.ensure("include", "boost", "ex3.h")
+ root.ensure("include", "ex3.h")
+ root.ensure("path", "to", "ex1.h")
+ root.ensure("path", "to", "subdir", "ex2.h")
return root
@@ -1548,12 +1518,7 @@ def installation_dir_with_headers(tmpdir_factory):
##########
-@pytest.fixture(
- params=[
- 'conflict%clang+foo',
- 'conflict-parent@0.9^conflict~foo'
- ]
-)
+@pytest.fixture(params=["conflict%clang+foo", "conflict-parent@0.9^conflict~foo"])
def conflict_spec(request):
"""Specs which violate constraints specified with the "conflicts"
directive in the "conflict" package.
@@ -1561,28 +1526,25 @@ def conflict_spec(request):
return request.param
-@pytest.fixture(
- params=[
- 'conflict%~'
- ]
-)
+@pytest.fixture(params=["conflict%~"])
def invalid_spec(request):
- """Specs that do not parse cleanly due to invalid formatting.
- """
+ """Specs that do not parse cleanly due to invalid formatting."""
return request.param
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def mock_test_repo(tmpdir_factory):
"""Create an empty repository."""
- repo_namespace = 'mock_test_repo'
+ repo_namespace = "mock_test_repo"
repodir = tmpdir_factory.mktemp(repo_namespace)
repodir.ensure(spack.repo.packages_dir_name, dir=True)
- yaml = repodir.join('repo.yaml')
- yaml.write("""
+ yaml = repodir.join("repo.yaml")
+ yaml.write(
+ """
repo:
namespace: mock_test_repo
-""")
+"""
+ )
with spack.repo.use_repositories(str(repodir)) as repo:
yield repo, repodir
@@ -1598,9 +1560,10 @@ repo:
# At this point only version and patch directive handling has been addressed.
##########
+
class MockBundle(object):
has_code = False
- name = 'mock-bundle'
+ name = "mock-bundle"
versions = {} # type: Dict
@@ -1627,13 +1590,14 @@ def mock_executable(tmpdir):
output a custom string when run.
"""
import jinja2
- shebang = '#!/bin/bash\n' if not is_windows else '@ECHO OFF'
- def _factory(name, output, subdir=('bin',)):
+ shebang = "#!/bin/bash\n" if not is_windows else "@ECHO OFF"
+
+ def _factory(name, output, subdir=("bin",)):
f = tmpdir.ensure(*subdir, dir=True).join(name)
if is_windows:
- f += '.bat'
- t = jinja2.Template('{{ shebang }}{{ output }}\n')
+ f += ".bat"
+ t = jinja2.Template("{{ shebang }}{{ output }}\n")
f.write(t.render(shebang=shebang, output=output))
f.chmod(0o755)
return str(f)
@@ -1646,8 +1610,8 @@ def mock_test_stage(mutable_config, tmpdir):
# NOTE: This fixture MUST be applied after any fixture that uses
# the config fixture under the hood
# No need to unset because we use mutable_config
- tmp_stage = str(tmpdir.join('test_stage'))
- mutable_config.set('config:test_stage', tmp_stage)
+ tmp_stage = str(tmpdir.join("test_stage"))
+ mutable_config.set("config:test_stage", tmp_stage)
yield tmp_stage
@@ -1656,18 +1620,17 @@ def mock_test_stage(mutable_config, tmpdir):
def brand_new_binary_cache():
yield
spack.binary_distribution.binary_index = llnl.util.lang.Singleton(
- spack.binary_distribution._binary_index)
+ spack.binary_distribution._binary_index
+ )
@pytest.fixture
def directory_with_manifest(tmpdir):
- """Create a manifest file in a directory. Used by 'spack external'.
- """
+ """Create a manifest file in a directory. Used by 'spack external'."""
with tmpdir.as_cwd():
- test_db_fname = 'external-db.json'
- with open(test_db_fname, 'w') as db_file:
- json.dump(spack.test.cray_manifest.create_manifest_content(),
- db_file)
+ test_db_fname = "external-db.json"
+ with open(test_db_fname, "w") as db_file:
+ json.dump(spack.test.cray_manifest.create_manifest_content(), db_file)
yield str(tmpdir)
@@ -1690,20 +1653,20 @@ def noncyclical_dir_structure(tmpdir):
| `-- file_2
`-- file_3
"""
- d, j = tmpdir.mkdir('nontrivial-dir'), os.path.join
+ d, j = tmpdir.mkdir("nontrivial-dir"), os.path.join
with d.as_cwd():
- os.mkdir(j('a'))
- os.mkdir(j('a', 'd'))
- with open(j('a', 'file_1'), 'wb'):
+ os.mkdir(j("a"))
+ os.mkdir(j("a", "d"))
+ with open(j("a", "file_1"), "wb"):
pass
- os.symlink(j('file_1'), j('a', 'to_file_1'))
- os.symlink(j('..', 'c'), j('a', 'to_c'))
- os.symlink(j('a'), j('b'))
- os.mkdir(j('c'))
- os.symlink(j('nowhere'), j('c', 'dangling_link'))
- with open(j('c', 'file_2'), 'wb'):
+ os.symlink(j("file_1"), j("a", "to_file_1"))
+ os.symlink(j("..", "c"), j("a", "to_c"))
+ os.symlink(j("a"), j("b"))
+ os.mkdir(j("c"))
+ os.symlink(j("nowhere"), j("c", "dangling_link"))
+ with open(j("c", "file_2"), "wb"):
pass
- with open(j('file_3'), 'wb'):
+ with open(j("file_3"), "wb"):
pass
yield d
diff --git a/lib/spack/spack/test/container/cli.py b/lib/spack/spack/test/container/cli.py
index 4199aa51b7..793af9fbbf 100644
--- a/lib/spack/spack/test/container/cli.py
+++ b/lib/spack/spack/test/container/cli.py
@@ -10,33 +10,30 @@ import spack.container.images
import spack.main
import spack.platforms
-containerize = spack.main.SpackCommand('containerize')
+containerize = spack.main.SpackCommand("containerize")
def test_command(default_config, container_config_dir, capsys):
with capsys.disabled():
with fs.working_dir(container_config_dir):
output = containerize()
- assert 'FROM spack/ubuntu-bionic' in output
+ assert "FROM spack/ubuntu-bionic" in output
def test_listing_possible_os():
- output = containerize('--list-os')
+ output = containerize("--list-os")
for expected_os in spack.container.images.all_bootstrap_os():
assert expected_os in output
-@pytest.mark.skipif(str(spack.platforms.host()) == "windows",
- reason="test unsupported on Windows")
+@pytest.mark.skipif(str(spack.platforms.host()) == "windows", reason="test unsupported on Windows")
@pytest.mark.maybeslow
-@pytest.mark.requires_executables('git')
+@pytest.mark.requires_executables("git")
def test_bootstrap_phase(minimal_configuration, config_dumper, capsys):
- minimal_configuration['spack']['container']['images'] = {
- 'os': 'amazonlinux:2',
- 'spack': {
- 'resolve_sha': True
- }
+ minimal_configuration["spack"]["container"]["images"] = {
+ "os": "amazonlinux:2",
+ "spack": {"resolve_sha": True},
}
spack_yaml_dir = config_dumper(minimal_configuration)
@@ -45,4 +42,4 @@ def test_bootstrap_phase(minimal_configuration, config_dumper, capsys):
output = containerize()
# Check for the presence of the clone command
- assert 'git clone' in output
+ assert "git clone" in output
diff --git a/lib/spack/spack/test/container/conftest.py b/lib/spack/spack/test/container/conftest.py
index 52b67782b0..d968e4db72 100644
--- a/lib/spack/spack/test/container/conftest.py
+++ b/lib/spack/spack/test/container/conftest.py
@@ -10,19 +10,12 @@ import spack.util.spack_yaml as syaml
@pytest.fixture()
def minimal_configuration():
return {
- 'spack': {
- 'specs': [
- 'gromacs',
- 'mpich',
- 'fftw precision=float'
- ],
- 'container': {
- 'format': 'docker',
- 'images': {
- 'os': 'ubuntu:18.04',
- 'spack': 'develop'
- }
- }
+ "spack": {
+ "specs": ["gromacs", "mpich", "fftw precision=float"],
+ "container": {
+ "format": "docker",
+ "images": {"os": "ubuntu:18.04", "spack": "develop"},
+ },
}
}
@@ -30,11 +23,13 @@ def minimal_configuration():
@pytest.fixture()
def config_dumper(tmpdir):
"""Function that dumps an environment config in a temporary folder."""
+
def dumper(configuration):
content = syaml.dump(configuration, default_flow_style=False)
- config_file = tmpdir / 'spack.yaml'
+ config_file = tmpdir / "spack.yaml"
config_file.write(content)
return str(tmpdir)
+
return dumper
diff --git a/lib/spack/spack/test/container/docker.py b/lib/spack/spack/test/container/docker.py
index 4dd483aa16..f191cc4671 100644
--- a/lib/spack/spack/test/container/docker.py
+++ b/lib/spack/spack/test/container/docker.py
@@ -10,8 +10,8 @@ import spack.container.writers as writers
def test_manifest(minimal_configuration):
writer = writers.create(minimal_configuration)
manifest_str = writer.manifest
- for line in manifest_str.split('\n'):
- assert 'echo' in line
+ for line in manifest_str.split("\n"):
+ assert "echo" in line
def test_build_and_run_images(minimal_configuration):
@@ -19,11 +19,11 @@ def test_build_and_run_images(minimal_configuration):
# Test the output of run property
run = writer.run
- assert run.image == 'ubuntu:18.04'
+ assert run.image == "ubuntu:18.04"
# Test the output of the build property
build = writer.build
- assert build.image == 'spack/ubuntu-bionic:latest'
+ assert build.image == "spack/ubuntu-bionic:latest"
def test_packages(minimal_configuration):
@@ -33,10 +33,8 @@ def test_packages(minimal_configuration):
assert writer.os_packages_final is None
# If we add them a list should be returned
- pkgs = ['libgomp1']
- minimal_configuration['spack']['container']['os_packages'] = {
- 'final': pkgs
- }
+ pkgs = ["libgomp1"]
+ minimal_configuration["spack"]["container"]["os_packages"] = {"final": pkgs}
writer = writers.create(minimal_configuration)
p = writer.os_packages_final
assert p.update
@@ -55,7 +53,7 @@ def test_strip_is_set_from_config(minimal_configuration):
writer = writers.create(minimal_configuration)
assert writer.strip is True
- minimal_configuration['spack']['container']['strip'] = False
+ minimal_configuration["spack"]["container"]["strip"] = False
writer = writers.create(minimal_configuration)
assert writer.strip is False
@@ -64,46 +62,50 @@ def test_extra_instructions_is_set_from_config(minimal_configuration):
writer = writers.create(minimal_configuration)
assert writer.extra_instructions == (None, None)
- test_line = 'RUN echo Hello world!'
- e = minimal_configuration['spack']['container']
- e['extra_instructions'] = {}
- e['extra_instructions']['build'] = test_line
+ test_line = "RUN echo Hello world!"
+ e = minimal_configuration["spack"]["container"]
+ e["extra_instructions"] = {}
+ e["extra_instructions"]["build"] = test_line
writer = writers.create(minimal_configuration)
assert writer.extra_instructions == (test_line, None)
- e['extra_instructions']['final'] = test_line
- del e['extra_instructions']['build']
+ e["extra_instructions"]["final"] = test_line
+ del e["extra_instructions"]["build"]
writer = writers.create(minimal_configuration)
assert writer.extra_instructions == (None, test_line)
def test_custom_base_images(minimal_configuration):
"""Test setting custom base images from configuration file"""
- minimal_configuration['spack']['container']['images'] = {
- 'build': 'custom-build:latest',
- 'final': 'custom-final:latest'
+ minimal_configuration["spack"]["container"]["images"] = {
+ "build": "custom-build:latest",
+ "final": "custom-final:latest",
}
writer = writers.create(minimal_configuration)
assert writer.bootstrap.image is None
- assert writer.build.image == 'custom-build:latest'
- assert writer.run.image == 'custom-final:latest'
-
-
-@pytest.mark.parametrize('images_cfg,expected', [
- ({'os': 'amazonlinux:2', 'spack': 'develop'}, {
- 'bootstrap_image': 'amazonlinux:2',
- 'build_image': 'bootstrap',
- 'final_image': 'amazonlinux:2'
- })
-])
-def test_base_images_with_bootstrap(
- minimal_configuration, images_cfg, expected
-):
+ assert writer.build.image == "custom-build:latest"
+ assert writer.run.image == "custom-final:latest"
+
+
+@pytest.mark.parametrize(
+ "images_cfg,expected",
+ [
+ (
+ {"os": "amazonlinux:2", "spack": "develop"},
+ {
+ "bootstrap_image": "amazonlinux:2",
+ "build_image": "bootstrap",
+ "final_image": "amazonlinux:2",
+ },
+ )
+ ],
+)
+def test_base_images_with_bootstrap(minimal_configuration, images_cfg, expected):
"""Check that base images are computed correctly when a
bootstrap phase is present
"""
- minimal_configuration['spack']['container']['images'] = images_cfg
+ minimal_configuration["spack"]["container"]["images"] = images_cfg
writer = writers.create(minimal_configuration)
for property_name, value in expected.items():
@@ -111,6 +113,6 @@ def test_base_images_with_bootstrap(
def test_error_message_invalid_os(minimal_configuration):
- minimal_configuration['spack']['container']['images']['os'] = 'invalid:1'
- with pytest.raises(ValueError, match='invalid operating system'):
+ minimal_configuration["spack"]["container"]["images"]["os"] = "invalid:1"
+ with pytest.raises(ValueError, match="invalid operating system"):
writers.create(minimal_configuration)
diff --git a/lib/spack/spack/test/container/images.py b/lib/spack/spack/test/container/images.py
index 0c993921e9..3a07beb464 100644
--- a/lib/spack/spack/test/container/images.py
+++ b/lib/spack/spack/test/container/images.py
@@ -9,18 +9,19 @@ import pytest
import spack.container
-@pytest.mark.parametrize('image,spack_version,expected', [
- ('ubuntu:18.04', 'develop', ('spack/ubuntu-bionic', 'latest')),
- ('ubuntu:18.04', '0.14.0', ('spack/ubuntu-bionic', '0.14.0')),
-])
+@pytest.mark.parametrize(
+ "image,spack_version,expected",
+ [
+ ("ubuntu:18.04", "develop", ("spack/ubuntu-bionic", "latest")),
+ ("ubuntu:18.04", "0.14.0", ("spack/ubuntu-bionic", "0.14.0")),
+ ],
+)
def test_build_info(image, spack_version, expected):
output = spack.container.images.build_info(image, spack_version)
assert output == expected
-@pytest.mark.parametrize('image', [
- 'ubuntu:18.04'
-])
+@pytest.mark.parametrize("image", ["ubuntu:18.04"])
def test_package_info(image):
pkg_manager = spack.container.images.os_package_manager_for(image)
update, install, clean = spack.container.images.commands_for(pkg_manager)
@@ -29,19 +30,22 @@ def test_package_info(image):
assert clean
-@pytest.mark.parametrize('extra_config,expected_msg', [
- ({'modules': {'enable': ['tcl']}}, 'the subsection "modules" in'),
- ({'concretizer': {'unify': False}}, '"concretizer:unify" is not set to "true"'),
- ({'config': {'install_tree': '/some/dir'}},
- 'the "config:install_tree" attribute has been set'),
- ({'view': '/some/dir'}, 'the "view" attribute has been set')
-])
-def test_validate(
- extra_config, expected_msg, minimal_configuration, config_dumper
-):
- minimal_configuration['spack'].update(extra_config)
+@pytest.mark.parametrize(
+ "extra_config,expected_msg",
+ [
+ ({"modules": {"enable": ["tcl"]}}, 'the subsection "modules" in'),
+ ({"concretizer": {"unify": False}}, '"concretizer:unify" is not set to "true"'),
+ (
+ {"config": {"install_tree": "/some/dir"}},
+ 'the "config:install_tree" attribute has been set',
+ ),
+ ({"view": "/some/dir"}, 'the "view" attribute has been set'),
+ ],
+)
+def test_validate(extra_config, expected_msg, minimal_configuration, config_dumper):
+ minimal_configuration["spack"].update(extra_config)
spack_yaml_dir = config_dumper(minimal_configuration)
- spack_yaml = os.path.join(spack_yaml_dir, 'spack.yaml')
+ spack_yaml = os.path.join(spack_yaml_dir, "spack.yaml")
with pytest.warns(UserWarning) as w:
spack.container.validate(spack_yaml)
diff --git a/lib/spack/spack/test/container/singularity.py b/lib/spack/spack/test/container/singularity.py
index 87a0dfea3a..18172d4bd2 100644
--- a/lib/spack/spack/test/container/singularity.py
+++ b/lib/spack/spack/test/container/singularity.py
@@ -9,32 +9,32 @@ import spack.container.writers as writers
@pytest.fixture
def singularity_configuration(minimal_configuration):
- minimal_configuration['spack']['container']['format'] = 'singularity'
+ minimal_configuration["spack"]["container"]["format"] = "singularity"
return minimal_configuration
def test_ensure_render_works(default_config, singularity_configuration):
- container_config = singularity_configuration['spack']['container']
- assert container_config['format'] == 'singularity'
+ container_config = singularity_configuration["spack"]["container"]
+ assert container_config["format"] == "singularity"
# Here we just want to ensure that nothing is raised
writer = writers.create(singularity_configuration)
writer()
-@pytest.mark.parametrize('properties,expected', [
- ({'runscript': '/opt/view/bin/h5ls'},
- {'runscript': '/opt/view/bin/h5ls',
- 'startscript': '',
- 'test': '',
- 'help': ''})
-])
-def test_singularity_specific_properties(
- properties, expected, singularity_configuration
-):
+@pytest.mark.parametrize(
+ "properties,expected",
+ [
+ (
+ {"runscript": "/opt/view/bin/h5ls"},
+ {"runscript": "/opt/view/bin/h5ls", "startscript": "", "test": "", "help": ""},
+ )
+ ],
+)
+def test_singularity_specific_properties(properties, expected, singularity_configuration):
# Set the property in the configuration
- container_config = singularity_configuration['spack']['container']
+ container_config = singularity_configuration["spack"]["container"]
for name, value in properties.items():
- container_config.setdefault('singularity', {})[name] = value
+ container_config.setdefault("singularity", {})[name] = value
# Assert the properties return the expected values
writer = writers.create(singularity_configuration)
diff --git a/lib/spack/spack/test/cray_manifest.py b/lib/spack/spack/test/cray_manifest.py
index f8e86607f9..addf4e5287 100644
--- a/lib/spack/spack/test/cray_manifest.py
+++ b/lib/spack/spack/test/cray_manifest.py
@@ -67,8 +67,7 @@ example_compiler_entry = """\
class JsonSpecEntry(object):
- def __init__(self, name, hash, prefix, version, arch, compiler,
- dependencies, parameters):
+ def __init__(self, name, hash, prefix, version, arch, compiler, dependencies, parameters):
self.name = name
self.hash = hash
self.prefix = prefix
@@ -80,20 +79,18 @@ class JsonSpecEntry(object):
def to_dict(self):
return {
- 'name': self.name,
- 'hash': self.hash,
- 'prefix': self.prefix,
- 'version': self.version,
- 'arch': self.arch,
- 'compiler': self.compiler,
- 'dependencies': self.dependencies,
- 'parameters': self.parameters
+ "name": self.name,
+ "hash": self.hash,
+ "prefix": self.prefix,
+ "version": self.version,
+ "arch": self.arch,
+ "compiler": self.compiler,
+ "dependencies": self.dependencies,
+ "parameters": self.parameters,
}
def as_dependency(self, deptypes):
- return (self.name,
- {'hash': self.hash,
- 'type': list(deptypes)})
+ return (self.name, {"hash": self.hash, "type": list(deptypes)})
class JsonArchEntry(object):
@@ -103,13 +100,7 @@ class JsonArchEntry(object):
self.target = target
def to_dict(self):
- return {
- 'platform': self.platform,
- 'platform_os': self.os,
- 'target': {
- 'name': self.target
- }
- }
+ return {"platform": self.platform, "platform_os": self.os, "target": {"name": self.target}}
class JsonCompilerEntry(object):
@@ -117,85 +108,75 @@ class JsonCompilerEntry(object):
self.name = name
self.version = version
if not arch:
- arch = {
- "os": "centos8",
- "target": "x86_64"
- }
+ arch = {"os": "centos8", "target": "x86_64"}
if not executables:
executables = {
"cc": "/path/to/compiler/cc",
"cxx": "/path/to/compiler/cxx",
- "fc": "/path/to/compiler/fc"
+ "fc": "/path/to/compiler/fc",
}
self.arch = arch
self.executables = executables
def compiler_json(self):
return {
- 'name': self.name,
- 'version': self.version,
- 'arch': self.arch,
- 'executables': self.executables,
+ "name": self.name,
+ "version": self.version,
+ "arch": self.arch,
+ "executables": self.executables,
}
def spec_json(self):
"""The compiler spec only lists the name/version, not
- arch/executables.
+ arch/executables.
"""
return {
- 'name': self.name,
- 'version': self.version,
+ "name": self.name,
+ "version": self.version,
}
-_common_arch = JsonArchEntry(
- platform='linux',
- os='centos8',
- target='haswell'
-).to_dict()
+_common_arch = JsonArchEntry(platform="linux", os="centos8", target="haswell").to_dict()
# Intended to match example_compiler_entry above
_common_compiler = JsonCompilerEntry(
- name='gcc',
- version='10.2.0.cray',
- arch={
- "os": "centos8",
- "target": "x86_64"
- },
+ name="gcc",
+ version="10.2.0.cray",
+ arch={"os": "centos8", "target": "x86_64"},
executables={
"cc": "/path/to/compiler/cc",
"cxx": "/path/to/compiler/cxx",
- "fc": "/path/to/compiler/fc"
- }
+ "fc": "/path/to/compiler/fc",
+ },
)
def test_compatibility():
"""Make sure that JsonSpecEntry outputs the expected JSON structure
- by comparing it with JSON parsed from an example string. This
- ensures that the testing objects like JsonSpecEntry produce the
- same JSON structure as the expected file format.
+ by comparing it with JSON parsed from an example string. This
+ ensures that the testing objects like JsonSpecEntry produce the
+ same JSON structure as the expected file format.
"""
y = JsonSpecEntry(
- name='packagey',
- hash='hash-of-y',
- prefix='/path/to/packagey-install/',
- version='1.0',
+ name="packagey",
+ hash="hash-of-y",
+ prefix="/path/to/packagey-install/",
+ version="1.0",
arch=_common_arch,
compiler=_common_compiler.spec_json(),
dependencies={},
- parameters={}
+ parameters={},
)
x = JsonSpecEntry(
- name='packagex',
- hash='hash-of-x',
- prefix='/path/to/packagex-install/',
- version='1.0',
+ name="packagex",
+ hash="hash-of-x",
+ prefix="/path/to/packagex-install/",
+ version="1.0",
arch=_common_arch,
compiler=_common_compiler.spec_json(),
- dependencies=dict([y.as_dependency(deptypes=['link'])]),
- parameters={'precision': ['double', 'float']}
+ dependencies=dict([y.as_dependency(deptypes=["link"])]),
+ parameters={"precision": ["double", "float"]},
)
x_from_entry = x.to_dict()
@@ -210,37 +191,33 @@ def test_compiler_from_entry():
def generate_openmpi_entries():
"""Generate two example JSON entries that refer to an OpenMPI
- installation and a hwloc dependency.
+ installation and a hwloc dependency.
"""
# The hashes need to be padded with 'a' at the end to align with 8-byte
# boundaries (for base-32 decoding)
hwloc = JsonSpecEntry(
- name='hwloc',
- hash='hwlocfakehashaaa',
- prefix='/path/to/hwloc-install/',
- version='2.0.3',
+ name="hwloc",
+ hash="hwlocfakehashaaa",
+ prefix="/path/to/hwloc-install/",
+ version="2.0.3",
arch=_common_arch,
compiler=_common_compiler.spec_json(),
dependencies={},
- parameters={}
+ parameters={},
)
# This includes a variant which is guaranteed not to appear in the
# OpenMPI package: we need to make sure we can use such package
# descriptions.
openmpi = JsonSpecEntry(
- name='openmpi',
- hash='openmpifakehasha',
- prefix='/path/to/openmpi-install/',
- version='4.1.0',
+ name="openmpi",
+ hash="openmpifakehasha",
+ prefix="/path/to/openmpi-install/",
+ version="4.1.0",
arch=_common_arch,
compiler=_common_compiler.spec_json(),
- dependencies=dict([hwloc.as_dependency(deptypes=['link'])]),
- parameters={
- 'internal-hwloc': False,
- 'fabrics': ['psm'],
- 'missing_variant': True
- }
+ dependencies=dict([hwloc.as_dependency(deptypes=["link"])]),
+ parameters={"internal-hwloc": False, "fabrics": ["psm"], "missing_variant": True},
)
return [openmpi, hwloc]
@@ -248,60 +225,57 @@ def generate_openmpi_entries():
def test_generate_specs_from_manifest():
"""Given JSON entries, check that we can form a set of Specs
- including dependency references.
+ including dependency references.
"""
entries = list(x.to_dict() for x in generate_openmpi_entries())
specs = entries_to_specs(entries)
- openmpi_spec, = list(x for x in specs.values() if x.name == 'openmpi')
- assert openmpi_spec['hwloc']
+ (openmpi_spec,) = list(x for x in specs.values() if x.name == "openmpi")
+ assert openmpi_spec["hwloc"]
def test_translate_compiler_name():
nvidia_compiler = JsonCompilerEntry(
- name='nvidia',
- version='19.1',
+ name="nvidia",
+ version="19.1",
executables={
"cc": "/path/to/compiler/nvc",
"cxx": "/path/to/compiler/nvc++",
- }
+ },
)
compiler = compiler_from_entry(nvidia_compiler.compiler_json())
- assert compiler.name == 'nvhpc'
+ assert compiler.name == "nvhpc"
spec_json = JsonSpecEntry(
- name='hwloc',
- hash='hwlocfakehashaaa',
- prefix='/path/to/hwloc-install/',
- version='2.0.3',
+ name="hwloc",
+ hash="hwlocfakehashaaa",
+ prefix="/path/to/hwloc-install/",
+ version="2.0.3",
arch=_common_arch,
compiler=nvidia_compiler.spec_json(),
dependencies={},
- parameters={}
+ parameters={},
).to_dict()
- spec, = entries_to_specs([spec_json]).values()
- assert spec.compiler.name == 'nvhpc'
+ (spec,) = entries_to_specs([spec_json]).values()
+ assert spec.compiler.name == "nvhpc"
def test_failed_translate_compiler_name():
- unknown_compiler = JsonCompilerEntry(
- name='unknown',
- version='1.0'
- )
+ unknown_compiler = JsonCompilerEntry(name="unknown", version="1.0")
with pytest.raises(spack.compilers.UnknownCompilerError):
compiler_from_entry(unknown_compiler.compiler_json())
spec_json = JsonSpecEntry(
- name='packagey',
- hash='hash-of-y',
- prefix='/path/to/packagey-install/',
- version='1.0',
+ name="packagey",
+ hash="hash-of-y",
+ prefix="/path/to/packagey-install/",
+ version="1.0",
arch=_common_arch,
compiler=unknown_compiler.spec_json(),
dependencies={},
- parameters={}
+ parameters={},
).to_dict()
with pytest.raises(spack.compilers.UnknownCompilerError):
@@ -312,50 +286,52 @@ def create_manifest_content():
return {
# Note: the cray_manifest module doesn't use the _meta section right
# now, but it is anticipated to be useful
- '_meta': {
+ "_meta": {
"file-type": "cray-pe-json",
"system-type": "test",
"schema-version": "1.3",
- "cpe-version": "22.06"
+ "cpe-version": "22.06",
},
- 'specs': list(x.to_dict() for x in generate_openmpi_entries()),
- 'compilers': [_common_compiler.compiler_json()]
+ "specs": list(x.to_dict() for x in generate_openmpi_entries()),
+ "compilers": [_common_compiler.compiler_json()],
}
-def test_read_cray_manifest(
- tmpdir, mutable_config, mock_packages, mutable_database):
+def test_read_cray_manifest(tmpdir, mutable_config, mock_packages, mutable_database):
"""Check that (a) we can read the cray manifest and add it to the Spack
- Database and (b) we can concretize specs based on that.
+ Database and (b) we can concretize specs based on that.
"""
- if spack.config.get('config:concretizer') == 'clingo':
- pytest.skip("The ASP-based concretizer is currently picky about "
- " OS matching and will fail.")
+ if spack.config.get("config:concretizer") == "clingo":
+ pytest.skip(
+ "The ASP-based concretizer is currently picky about " " OS matching and will fail."
+ )
with tmpdir.as_cwd():
- test_db_fname = 'external-db.json'
- with open(test_db_fname, 'w') as db_file:
+ test_db_fname = "external-db.json"
+ with open(test_db_fname, "w") as db_file:
json.dump(create_manifest_content(), db_file)
cray_manifest.read(test_db_fname, True)
- query_specs = spack.store.db.query('openmpi')
- assert any(x.dag_hash() == 'openmpifakehasha' for x in query_specs)
+ query_specs = spack.store.db.query("openmpi")
+ assert any(x.dag_hash() == "openmpifakehasha" for x in query_specs)
concretized_specs = spack.cmd.parse_specs(
- 'depends-on-openmpi %gcc@4.5.0 arch=test-redhat6-x86_64'
- ' ^/openmpifakehasha'.split(),
- concretize=True)
- assert concretized_specs[0]['hwloc'].dag_hash() == 'hwlocfakehashaaa'
+ "depends-on-openmpi %gcc@4.5.0 arch=test-redhat6-x86_64" " ^/openmpifakehasha".split(),
+ concretize=True,
+ )
+ assert concretized_specs[0]["hwloc"].dag_hash() == "hwlocfakehashaaa"
def test_read_cray_manifest_twice_no_compiler_duplicates(
- tmpdir, mutable_config, mock_packages, mutable_database):
- if spack.config.get('config:concretizer') == 'clingo':
- pytest.skip("The ASP-based concretizer is currently picky about "
- " OS matching and will fail.")
+ tmpdir, mutable_config, mock_packages, mutable_database
+):
+ if spack.config.get("config:concretizer") == "clingo":
+ pytest.skip(
+ "The ASP-based concretizer is currently picky about " " OS matching and will fail."
+ )
with tmpdir.as_cwd():
- test_db_fname = 'external-db.json'
- with open(test_db_fname, 'w') as db_file:
+ test_db_fname = "external-db.json"
+ with open(test_db_fname, "w") as db_file:
json.dump(create_manifest_content(), db_file)
# Read the manifest twice
@@ -363,20 +339,21 @@ def test_read_cray_manifest_twice_no_compiler_duplicates(
cray_manifest.read(test_db_fname, True)
compilers = spack.compilers.all_compilers()
- filtered = list(c for c in compilers if
- c.spec == spack.spec.CompilerSpec('gcc@10.2.0.cray'))
- assert(len(filtered) == 1)
+ filtered = list(
+ c for c in compilers if c.spec == spack.spec.CompilerSpec("gcc@10.2.0.cray")
+ )
+ assert len(filtered) == 1
-def test_read_old_manifest_v1_2(
- tmpdir, mutable_config, mock_packages, mutable_database):
+def test_read_old_manifest_v1_2(tmpdir, mutable_config, mock_packages, mutable_database):
"""Test reading a file using the older format
('version' instead of 'schema-version').
"""
- manifest_dir = str(tmpdir.mkdir('manifest_dir'))
- manifest_file_path = os.path.join(manifest_dir, 'test.json')
- with open(manifest_file_path, 'w') as manifest_file:
- manifest_file.write("""\
+ manifest_dir = str(tmpdir.mkdir("manifest_dir"))
+ manifest_file_path = os.path.join(manifest_dir, "test.json")
+ with open(manifest_file_path, "w") as manifest_file:
+ manifest_file.write(
+ """\
{
"_meta": {
"file-type": "cray-pe-json",
@@ -385,5 +362,6 @@ def test_read_old_manifest_v1_2(
},
"specs": []
}
-""")
+"""
+ )
cray_manifest.read(manifest_file_path, True)
diff --git a/lib/spack/spack/test/cvs_fetch.py b/lib/spack/spack/test/cvs_fetch.py
index ac2f57c341..3c8159efd2 100644
--- a/lib/spack/spack/test/cvs_fetch.py
+++ b/lib/spack/spack/test/cvs_fetch.py
@@ -15,18 +15,11 @@ from spack.stage import Stage
from spack.util.executable import which
from spack.version import ver
-pytestmark = pytest.mark.skipif(
- not which('cvs'),
- reason='requires CVS to be installed')
-
-
-@pytest.mark.parametrize("type_of_test", ['default', 'branch', 'date'])
-def test_fetch(
- type_of_test,
- mock_cvs_repository,
- config,
- mutable_mock_repo
-):
+pytestmark = pytest.mark.skipif(not which("cvs"), reason="requires CVS to be installed")
+
+
+@pytest.mark.parametrize("type_of_test", ["default", "branch", "date"])
+def test_fetch(type_of_test, mock_cvs_repository, config, mutable_mock_repo):
"""Tries to:
1. Fetch the repo using a fetch strategy constructed with
@@ -45,8 +38,8 @@ def test_fetch(
get_date = mock_cvs_repository.get_date
# Construct the package under test
- spec = Spec('cvs-test').concretized()
- spec.package.versions[ver('cvs')] = test.args
+ spec = Spec("cvs-test").concretized()
+ spec.package.versions[ver("cvs")] = test.args
# Enter the stage directory and check some properties
with spec.package.stage:
@@ -68,7 +61,7 @@ def test_fetch(
os.unlink(file_path)
assert not os.path.isfile(file_path)
- untracked_file = 'foobarbaz'
+ untracked_file = "foobarbaz"
touch(untracked_file)
assert os.path.isfile(untracked_file)
spec.package.do_restage()
@@ -82,8 +75,7 @@ def test_cvs_extra_fetch(tmpdir):
"""Ensure a fetch after downloading is effectively a no-op."""
testpath = str(tmpdir)
- fetcher = CvsFetchStrategy(
- cvs=':pserver:not-a-real-cvs-repo%module=not-a-real-module')
+ fetcher = CvsFetchStrategy(cvs=":pserver:not-a-real-cvs-repo%module=not-a-real-module")
assert fetcher is not None
with Stage(fetcher, path=testpath) as stage:
diff --git a/lib/spack/spack/test/database.py b/lib/spack/spack/test/database.py
index 4c5c0539df..21bc676298 100644
--- a/lib/spack/spack/test/database.py
+++ b/lib/spack/spack/test/database.py
@@ -18,6 +18,7 @@ import pytest
try:
import uuid
+
_use_uuid = True
except ImportError:
_use_uuid = False
@@ -37,43 +38,44 @@ from spack.schema.database_index import schema
from spack.util.executable import Executable
from spack.util.mock_package import MockPackageMultiRepo
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
pytestmark = pytest.mark.db
@pytest.fixture()
def upstream_and_downstream_db(tmpdir_factory, gen_mock_layout):
- mock_db_root = str(tmpdir_factory.mktemp('mock_db_root'))
+ mock_db_root = str(tmpdir_factory.mktemp("mock_db_root"))
upstream_write_db = spack.database.Database(mock_db_root)
upstream_db = spack.database.Database(mock_db_root, is_upstream=True)
# Generate initial DB file to avoid reindex
- with open(upstream_write_db._index_path, 'w') as db_file:
+ with open(upstream_write_db._index_path, "w") as db_file:
upstream_write_db._write_to_file(db_file)
- upstream_layout = gen_mock_layout('/a/')
+ upstream_layout = gen_mock_layout("/a/")
- downstream_db_root = str(
- tmpdir_factory.mktemp('mock_downstream_db_root'))
- downstream_db = spack.database.Database(
- downstream_db_root, upstream_dbs=[upstream_db])
- with open(downstream_db._index_path, 'w') as db_file:
+ downstream_db_root = str(tmpdir_factory.mktemp("mock_downstream_db_root"))
+ downstream_db = spack.database.Database(downstream_db_root, upstream_dbs=[upstream_db])
+ with open(downstream_db._index_path, "w") as db_file:
downstream_db._write_to_file(db_file)
- downstream_layout = gen_mock_layout('/b/')
+ downstream_layout = gen_mock_layout("/b/")
- yield upstream_write_db, upstream_db, upstream_layout,\
- downstream_db, downstream_layout
+ yield upstream_write_db, upstream_db, upstream_layout, downstream_db, downstream_layout
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
def test_spec_installed_upstream(upstream_and_downstream_db, config, monkeypatch):
"""Test whether Spec.installed_upstream() works."""
- upstream_write_db, upstream_db, upstream_layout, \
- downstream_db, downstream_layout = upstream_and_downstream_db
+ (
+ upstream_write_db,
+ upstream_db,
+ upstream_layout,
+ downstream_db,
+ downstream_layout,
+ ) = upstream_and_downstream_db
# a known installed spec should say that it's installed
mock_repo = MockPackageMultiRepo()
- mock_repo.add_package('x', [], [])
+ mock_repo.add_package("x", [], [])
with spack.repo.use_repositories(mock_repo):
spec = spack.spec.Spec("x").concretized()
@@ -94,22 +96,26 @@ def test_spec_installed_upstream(upstream_and_downstream_db, config, monkeypatch
assert not spec.installed_upstream
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
-@pytest.mark.usefixtures('config')
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
+@pytest.mark.usefixtures("config")
def test_installed_upstream(upstream_and_downstream_db):
- upstream_write_db, upstream_db, upstream_layout,\
- downstream_db, downstream_layout = (upstream_and_downstream_db)
-
- default = ('build', 'link')
+ (
+ upstream_write_db,
+ upstream_db,
+ upstream_layout,
+ downstream_db,
+ downstream_layout,
+ ) = upstream_and_downstream_db
+
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- x = mock_repo.add_package('x', [], [])
- z = mock_repo.add_package('z', [], [])
- y = mock_repo.add_package('y', [z], [default])
- mock_repo.add_package('w', [x, y], [default, default])
+ x = mock_repo.add_package("x", [], [])
+ z = mock_repo.add_package("z", [], [])
+ y = mock_repo.add_package("y", [z], [default])
+ mock_repo.add_package("w", [x, y], [default, default])
with spack.repo.use_repositories(mock_repo):
- spec = spack.spec.Spec('w')
+ spec = spack.spec.Spec("w")
spec.concretize()
for dep in spec.traverse(root=False):
@@ -122,16 +128,14 @@ def test_installed_upstream(upstream_and_downstream_db):
with pytest.raises(spack.database.ForbiddenLockError):
record = upstream_db.get_by_hash(dep.dag_hash())
- new_spec = spack.spec.Spec('w')
+ new_spec = spack.spec.Spec("w")
new_spec.concretize()
downstream_db.add(new_spec, downstream_layout)
for dep in new_spec.traverse(root=False):
- upstream, record = downstream_db.query_by_spec_hash(
- dep.dag_hash())
+ upstream, record = downstream_db.query_by_spec_hash(dep.dag_hash())
assert upstream
assert record.path == upstream_layout.path_for_spec(dep)
- upstream, record = downstream_db.query_by_spec_hash(
- new_spec.dag_hash())
+ upstream, record = downstream_db.query_by_spec_hash(new_spec.dag_hash())
assert not upstream
assert record.installed
@@ -139,55 +143,62 @@ def test_installed_upstream(upstream_and_downstream_db):
downstream_db._check_ref_counts()
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
-@pytest.mark.usefixtures('config')
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
+@pytest.mark.usefixtures("config")
def test_removed_upstream_dep(upstream_and_downstream_db):
- upstream_write_db, upstream_db, upstream_layout,\
- downstream_db, downstream_layout = (upstream_and_downstream_db)
-
- default = ('build', 'link')
+ (
+ upstream_write_db,
+ upstream_db,
+ upstream_layout,
+ downstream_db,
+ downstream_layout,
+ ) = upstream_and_downstream_db
+
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- z = mock_repo.add_package('z', [], [])
- mock_repo.add_package('y', [z], [default])
+ z = mock_repo.add_package("z", [], [])
+ mock_repo.add_package("y", [z], [default])
with spack.repo.use_repositories(mock_repo):
- spec = spack.spec.Spec('y')
+ spec = spack.spec.Spec("y")
spec.concretize()
- upstream_write_db.add(spec['z'], upstream_layout)
+ upstream_write_db.add(spec["z"], upstream_layout)
upstream_db._read()
- new_spec = spack.spec.Spec('y')
+ new_spec = spack.spec.Spec("y")
new_spec.concretize()
downstream_db.add(new_spec, downstream_layout)
- upstream_write_db.remove(new_spec['z'])
+ upstream_write_db.remove(new_spec["z"])
upstream_db._read()
- new_downstream = spack.database.Database(
- downstream_db.root, upstream_dbs=[upstream_db])
+ new_downstream = spack.database.Database(downstream_db.root, upstream_dbs=[upstream_db])
new_downstream._fail_when_missing_deps = True
with pytest.raises(spack.database.MissingDependenciesError):
new_downstream._read()
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
-@pytest.mark.usefixtures('config')
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
+@pytest.mark.usefixtures("config")
def test_add_to_upstream_after_downstream(upstream_and_downstream_db):
"""An upstream DB can add a package after it is installed in the downstream
DB. When a package is recorded as installed in both, the results should
refer to the downstream DB.
"""
- upstream_write_db, upstream_db, upstream_layout,\
- downstream_db, downstream_layout = (upstream_and_downstream_db)
+ (
+ upstream_write_db,
+ upstream_db,
+ upstream_layout,
+ downstream_db,
+ downstream_layout,
+ ) = upstream_and_downstream_db
mock_repo = MockPackageMultiRepo()
- mock_repo.add_package('x', [], [])
+ mock_repo.add_package("x", [], [])
with spack.repo.use_repositories(mock_repo):
- spec = spack.spec.Spec('x')
+ spec = spack.spec.Spec("x")
spec.concretize()
downstream_db.add(spec, downstream_layout)
@@ -200,9 +211,9 @@ def test_add_to_upstream_after_downstream(upstream_and_downstream_db):
# we prefer the locally-installed instance
assert not upstream
- qresults = downstream_db.query('x')
+ qresults = downstream_db.query("x")
assert len(qresults) == 1
- queried_spec, = qresults
+ (queried_spec,) = qresults
try:
orig_db = spack.store.db
spack.store.db = downstream_db
@@ -211,15 +222,14 @@ def test_add_to_upstream_after_downstream(upstream_and_downstream_db):
spack.store.db = orig_db
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
-@pytest.mark.usefixtures('config', 'temporary_store')
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
+@pytest.mark.usefixtures("config", "temporary_store")
def test_cannot_write_upstream(tmpdir_factory, gen_mock_layout):
- roots = [str(tmpdir_factory.mktemp(x)) for x in ['a', 'b']]
- layouts = [gen_mock_layout(x) for x in ['/ra/', '/rb/']]
+ roots = [str(tmpdir_factory.mktemp(x)) for x in ["a", "b"]]
+ layouts = [gen_mock_layout(x) for x in ["/ra/", "/rb/"]]
mock_repo = MockPackageMultiRepo()
- mock_repo.add_package('x', [], [])
+ mock_repo.add_package("x", [], [])
# Instantiate the database that will be used as the upstream DB and make
# sure it has an index file
@@ -227,63 +237,63 @@ def test_cannot_write_upstream(tmpdir_factory, gen_mock_layout):
with upstream_db_independent.write_transaction():
pass
- upstream_dbs = spack.store._construct_upstream_dbs_from_install_roots(
- [roots[1]], _test=True)
+ upstream_dbs = spack.store._construct_upstream_dbs_from_install_roots([roots[1]], _test=True)
with spack.repo.use_repositories(mock_repo):
- spec = spack.spec.Spec('x')
+ spec = spack.spec.Spec("x")
spec.concretize()
with pytest.raises(spack.database.ForbiddenLockError):
upstream_dbs[0].add(spec, layouts[1])
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Upstreams currently unsupported on Windows")
-@pytest.mark.usefixtures('config', 'temporary_store')
+@pytest.mark.skipif(sys.platform == "win32", reason="Upstreams currently unsupported on Windows")
+@pytest.mark.usefixtures("config", "temporary_store")
def test_recursive_upstream_dbs(tmpdir_factory, gen_mock_layout):
- roots = [str(tmpdir_factory.mktemp(x)) for x in ['a', 'b', 'c']]
- layouts = [gen_mock_layout(x) for x in ['/ra/', '/rb/', '/rc/']]
+ roots = [str(tmpdir_factory.mktemp(x)) for x in ["a", "b", "c"]]
+ layouts = [gen_mock_layout(x) for x in ["/ra/", "/rb/", "/rc/"]]
- default = ('build', 'link')
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- z = mock_repo.add_package('z', [], [])
- y = mock_repo.add_package('y', [z], [default])
- mock_repo.add_package('x', [y], [default])
+ z = mock_repo.add_package("z", [], [])
+ y = mock_repo.add_package("y", [z], [default])
+ mock_repo.add_package("x", [y], [default])
with spack.repo.use_repositories(mock_repo):
- spec = spack.spec.Spec('x')
+ spec = spack.spec.Spec("x")
spec.concretize()
db_c = spack.database.Database(roots[2])
- db_c.add(spec['z'], layouts[2])
+ db_c.add(spec["z"], layouts[2])
db_b = spack.database.Database(roots[1], upstream_dbs=[db_c])
- db_b.add(spec['y'], layouts[1])
+ db_b.add(spec["y"], layouts[1])
db_a = spack.database.Database(roots[0], upstream_dbs=[db_b, db_c])
- db_a.add(spec['x'], layouts[0])
+ db_a.add(spec["x"], layouts[0])
- upstream_dbs_from_scratch = (
- spack.store._construct_upstream_dbs_from_install_roots(
- [roots[1], roots[2]], _test=True))
+ upstream_dbs_from_scratch = spack.store._construct_upstream_dbs_from_install_roots(
+ [roots[1], roots[2]], _test=True
+ )
db_a_from_scratch = spack.database.Database(
- roots[0], upstream_dbs=upstream_dbs_from_scratch)
+ roots[0], upstream_dbs=upstream_dbs_from_scratch
+ )
- assert db_a_from_scratch.db_for_spec_hash(spec.dag_hash()) == (
- db_a_from_scratch)
- assert db_a_from_scratch.db_for_spec_hash(spec['y'].dag_hash()) == (
- upstream_dbs_from_scratch[0])
- assert db_a_from_scratch.db_for_spec_hash(spec['z'].dag_hash()) == (
- upstream_dbs_from_scratch[1])
+ assert db_a_from_scratch.db_for_spec_hash(spec.dag_hash()) == (db_a_from_scratch)
+ assert db_a_from_scratch.db_for_spec_hash(spec["y"].dag_hash()) == (
+ upstream_dbs_from_scratch[0]
+ )
+ assert db_a_from_scratch.db_for_spec_hash(spec["z"].dag_hash()) == (
+ upstream_dbs_from_scratch[1]
+ )
db_a_from_scratch._check_ref_counts()
upstream_dbs_from_scratch[0]._check_ref_counts()
upstream_dbs_from_scratch[1]._check_ref_counts()
- assert (db_a_from_scratch.installed_relatives(spec) ==
- set(spec.traverse(root=False)))
- assert (db_a_from_scratch.installed_relatives(
- spec['z'], direction='parents') == set([spec, spec['y']]))
+ assert db_a_from_scratch.installed_relatives(spec) == set(spec.traverse(root=False))
+ assert db_a_from_scratch.installed_relatives(spec["z"], direction="parents") == set(
+ [spec, spec["y"]]
+ )
@pytest.fixture()
@@ -296,11 +306,11 @@ def usr_folder_exists(monkeypatch):
@functools.wraps(os.path.isdir)
def mock_isdir(path):
- if path == '/usr':
+ if path == "/usr":
return True
return isdir(path)
- monkeypatch.setattr(os.path, 'isdir', mock_isdir)
+ monkeypatch.setattr(os.path, "isdir", mock_isdir)
def _print_ref_counts():
@@ -311,29 +321,29 @@ def _print_ref_counts():
cspecs = spack.store.db.query(spec, installed=any)
if not cspecs:
- recs.append("[ %-7s ] %-20s-" % ('', spec))
+ recs.append("[ %-7s ] %-20s-" % ("", spec))
else:
key = cspecs[0].dag_hash()
rec = spack.store.db.get_record(cspecs[0])
recs.append("[ %-7s ] %-20s%d" % (key[:7], spec, rec.ref_count))
with spack.store.db.read_transaction():
- add_rec('mpileaks ^mpich')
- add_rec('callpath ^mpich')
- add_rec('mpich')
+ add_rec("mpileaks ^mpich")
+ add_rec("callpath ^mpich")
+ add_rec("mpich")
- add_rec('mpileaks ^mpich2')
- add_rec('callpath ^mpich2')
- add_rec('mpich2')
+ add_rec("mpileaks ^mpich2")
+ add_rec("callpath ^mpich2")
+ add_rec("mpich2")
- add_rec('mpileaks ^zmpi')
- add_rec('callpath ^zmpi')
- add_rec('zmpi')
- add_rec('fake')
+ add_rec("mpileaks ^zmpi")
+ add_rec("callpath ^zmpi")
+ add_rec("zmpi")
+ add_rec("fake")
- add_rec('dyninst')
- add_rec('libdwarf')
- add_rec('libelf')
+ add_rec("dyninst")
+ add_rec("libdwarf")
+ add_rec("libelf")
colify(recs, cols=3)
@@ -415,47 +425,47 @@ def _mock_remove(spec):
def test_default_queries(database):
# Testing a package whose name *doesn't* start with 'lib'
# to ensure the library has 'lib' prepended to the name
- rec = database.get_record('zmpi')
+ rec = database.get_record("zmpi")
spec = rec.spec
- libraries = spec['zmpi'].libs
+ libraries = spec["zmpi"].libs
assert len(libraries) == 1
- assert libraries.names[0] == 'zmpi'
+ assert libraries.names[0] == "zmpi"
- headers = spec['zmpi'].headers
+ headers = spec["zmpi"].headers
assert len(headers) == 1
- assert headers.names[0] == 'zmpi'
+ assert headers.names[0] == "zmpi"
- command = spec['zmpi'].command
+ command = spec["zmpi"].command
assert isinstance(command, Executable)
- assert command.name == 'zmpi'
+ assert command.name == "zmpi"
assert os.path.exists(command.path)
# Testing a package whose name *does* start with 'lib'
# to ensure the library doesn't have a double 'lib' prefix
- rec = database.get_record('libelf')
+ rec = database.get_record("libelf")
spec = rec.spec
- libraries = spec['libelf'].libs
+ libraries = spec["libelf"].libs
assert len(libraries) == 1
- assert libraries.names[0] == 'elf'
+ assert libraries.names[0] == "elf"
- headers = spec['libelf'].headers
+ headers = spec["libelf"].headers
assert len(headers) == 1
- assert headers.names[0] == 'libelf'
+ assert headers.names[0] == "libelf"
- command = spec['libelf'].command
+ command = spec["libelf"].command
assert isinstance(command, Executable)
- assert command.name == 'libelf'
+ assert command.name == "libelf"
assert os.path.exists(command.path)
def test_005_db_exists(database):
"""Make sure db cache file exists after creating."""
- index_file = os.path.join(database.root, '.spack-db', 'index.json')
- lock_file = os.path.join(database.root, '.spack-db', 'lock')
+ index_file = os.path.join(database.root, ".spack-db", "index.json")
+ lock_file = os.path.join(database.root, ".spack-db", "lock")
assert os.path.exists(str(index_file))
# Lockfiles not currently supported on Windows
if not is_windows:
@@ -472,33 +482,27 @@ def test_010_all_install_sanity(database):
assert len(all_specs) == 15
# Query specs with multiple configurations
- mpileaks_specs = [s for s in all_specs if s.satisfies('mpileaks')]
- callpath_specs = [s for s in all_specs if s.satisfies('callpath')]
- mpi_specs = [s for s in all_specs if s.satisfies('mpi')]
+ mpileaks_specs = [s for s in all_specs if s.satisfies("mpileaks")]
+ callpath_specs = [s for s in all_specs if s.satisfies("callpath")]
+ mpi_specs = [s for s in all_specs if s.satisfies("mpi")]
assert len(mpileaks_specs) == 3
assert len(callpath_specs) == 3
assert len(mpi_specs) == 3
# Query specs with single configurations
- dyninst_specs = [s for s in all_specs if s.satisfies('dyninst')]
- libdwarf_specs = [s for s in all_specs if s.satisfies('libdwarf')]
- libelf_specs = [s for s in all_specs if s.satisfies('libelf')]
+ dyninst_specs = [s for s in all_specs if s.satisfies("dyninst")]
+ libdwarf_specs = [s for s in all_specs if s.satisfies("libdwarf")]
+ libelf_specs = [s for s in all_specs if s.satisfies("libelf")]
assert len(dyninst_specs) == 1
assert len(libdwarf_specs) == 1
assert len(libelf_specs) == 1
# Query by dependency
- assert len(
- [s for s in all_specs if s.satisfies('mpileaks ^mpich')]
- ) == 1
- assert len(
- [s for s in all_specs if s.satisfies('mpileaks ^mpich2')]
- ) == 1
- assert len(
- [s for s in all_specs if s.satisfies('mpileaks ^zmpi')]
- ) == 1
+ assert len([s for s in all_specs if s.satisfies("mpileaks ^mpich")]) == 1
+ assert len([s for s in all_specs if s.satisfies("mpileaks ^mpich2")]) == 1
+ assert len([s for s in all_specs if s.satisfies("mpileaks ^zmpi")]) == 1
def test_015_write_and_read(mutable_database):
@@ -516,7 +520,7 @@ def test_015_write_and_read(mutable_database):
def test_017_write_and_read_without_uuid(mutable_database, monkeypatch):
- monkeypatch.setattr(spack.database, '_use_uuid', False)
+ monkeypatch.setattr(spack.database, "_use_uuid", False)
# write and read DB
with spack.store.db.write_transaction():
specs = spack.store.db.query()
@@ -543,8 +547,8 @@ def test_025_reindex(mutable_database):
def test_026_reindex_after_deprecate(mutable_database):
"""Make sure reindex works and ref counts are valid after deprecation."""
- mpich = mutable_database.query_one('mpich')
- zmpi = mutable_database.query_one('zmpi')
+ mpich = mutable_database.query_one("mpich")
+ zmpi = mutable_database.query_one("zmpi")
mutable_database.deprecate(mpich, zmpi)
spack.store.store.reindex()
@@ -555,11 +559,12 @@ class ReadModify(object):
"""Provide a function which can execute in a separate process that removes
a spec from the database.
"""
+
def __call__(self):
# check that other process can read DB
_check_db_sanity(spack.store.db)
with spack.store.db.write_transaction():
- _mock_remove('mpileaks ^zmpi')
+ _mock_remove("mpileaks ^zmpi")
def test_030_db_sanity_from_another_process(mutable_database):
@@ -570,7 +575,7 @@ def test_030_db_sanity_from_another_process(mutable_database):
# ensure child process change is visible in parent process
with mutable_database.read_transaction():
- assert len(mutable_database.query('mpileaks ^zmpi')) == 0
+ assert len(mutable_database.query("mpileaks ^zmpi")) == 0
def test_040_ref_counts(database):
@@ -580,8 +585,8 @@ def test_040_ref_counts(database):
def test_041_ref_counts_deprecate(mutable_database):
"""Ensure that we have appropriate ref counts after deprecating"""
- mpich = mutable_database.query_one('mpich')
- zmpi = mutable_database.query_one('zmpi')
+ mpich = mutable_database.query_one("mpich")
+ zmpi = mutable_database.query_one("zmpi")
mutable_database.deprecate(mpich, zmpi)
mutable_database._check_ref_counts()
@@ -594,27 +599,27 @@ def test_050_basic_query(database):
assert total_specs == 17
# query specs with multiple configurations
- mpileaks_specs = database.query('mpileaks')
- callpath_specs = database.query('callpath')
- mpi_specs = database.query('mpi')
+ mpileaks_specs = database.query("mpileaks")
+ callpath_specs = database.query("callpath")
+ mpi_specs = database.query("mpi")
assert len(mpileaks_specs) == 3
assert len(callpath_specs) == 3
assert len(mpi_specs) == 3
# query specs with single configurations
- dyninst_specs = database.query('dyninst')
- libdwarf_specs = database.query('libdwarf')
- libelf_specs = database.query('libelf')
+ dyninst_specs = database.query("dyninst")
+ libdwarf_specs = database.query("libdwarf")
+ libelf_specs = database.query("libelf")
assert len(dyninst_specs) == 1
assert len(libdwarf_specs) == 1
assert len(libelf_specs) == 1
# Query by dependency
- assert len(database.query('mpileaks ^mpich')) == 1
- assert len(database.query('mpileaks ^mpich2')) == 1
- assert len(database.query('mpileaks ^zmpi')) == 1
+ assert len(database.query("mpileaks ^mpich")) == 1
+ assert len(database.query("mpileaks ^mpich2")) == 1
+ assert len(database.query("mpileaks ^zmpi")) == 1
# Query by date
assert len(database.query(start_date=datetime.datetime.min)) == total_specs
@@ -624,98 +629,96 @@ def test_050_basic_query(database):
def test_060_remove_and_add_root_package(mutable_database):
- _check_remove_and_add_package(mutable_database, 'mpileaks ^mpich')
+ _check_remove_and_add_package(mutable_database, "mpileaks ^mpich")
def test_070_remove_and_add_dependency_package(mutable_database):
- _check_remove_and_add_package(mutable_database, 'dyninst')
+ _check_remove_and_add_package(mutable_database, "dyninst")
def test_080_root_ref_counts(mutable_database):
- rec = mutable_database.get_record('mpileaks ^mpich')
+ rec = mutable_database.get_record("mpileaks ^mpich")
# Remove a top-level spec from the DB
- mutable_database.remove('mpileaks ^mpich')
+ mutable_database.remove("mpileaks ^mpich")
# record no longer in DB
- assert mutable_database.query('mpileaks ^mpich', installed=any) == []
+ assert mutable_database.query("mpileaks ^mpich", installed=any) == []
# record's deps have updated ref_counts
- assert mutable_database.get_record('callpath ^mpich').ref_count == 0
- assert mutable_database.get_record('mpich').ref_count == 1
+ assert mutable_database.get_record("callpath ^mpich").ref_count == 0
+ assert mutable_database.get_record("mpich").ref_count == 1
# Put the spec back
mutable_database.add(rec.spec, spack.store.layout)
# record is present again
- assert len(mutable_database.query('mpileaks ^mpich', installed=any)) == 1
+ assert len(mutable_database.query("mpileaks ^mpich", installed=any)) == 1
# dependencies have ref counts updated
- assert mutable_database.get_record('callpath ^mpich').ref_count == 1
- assert mutable_database.get_record('mpich').ref_count == 2
+ assert mutable_database.get_record("callpath ^mpich").ref_count == 1
+ assert mutable_database.get_record("mpich").ref_count == 2
def test_090_non_root_ref_counts(mutable_database):
- mutable_database.get_record('mpileaks ^mpich')
- mutable_database.get_record('callpath ^mpich')
+ mutable_database.get_record("mpileaks ^mpich")
+ mutable_database.get_record("callpath ^mpich")
# "force remove" a non-root spec from the DB
- mutable_database.remove('callpath ^mpich')
+ mutable_database.remove("callpath ^mpich")
# record still in DB but marked uninstalled
- assert mutable_database.query('callpath ^mpich', installed=True) == []
- assert len(mutable_database.query('callpath ^mpich', installed=any)) == 1
+ assert mutable_database.query("callpath ^mpich", installed=True) == []
+ assert len(mutable_database.query("callpath ^mpich", installed=any)) == 1
# record and its deps have same ref_counts
- assert mutable_database.get_record(
- 'callpath ^mpich', installed=any
- ).ref_count == 1
- assert mutable_database.get_record('mpich').ref_count == 2
+ assert mutable_database.get_record("callpath ^mpich", installed=any).ref_count == 1
+ assert mutable_database.get_record("mpich").ref_count == 2
# remove only dependent of uninstalled callpath record
- mutable_database.remove('mpileaks ^mpich')
+ mutable_database.remove("mpileaks ^mpich")
# record and parent are completely gone.
- assert mutable_database.query('mpileaks ^mpich', installed=any) == []
- assert mutable_database.query('callpath ^mpich', installed=any) == []
+ assert mutable_database.query("mpileaks ^mpich", installed=any) == []
+ assert mutable_database.query("callpath ^mpich", installed=any) == []
# mpich ref count updated properly.
- mpich_rec = mutable_database.get_record('mpich')
+ mpich_rec = mutable_database.get_record("mpich")
assert mpich_rec.ref_count == 0
def test_100_no_write_with_exception_on_remove(database):
def fail_while_writing():
with database.write_transaction():
- _mock_remove('mpileaks ^zmpi')
+ _mock_remove("mpileaks ^zmpi")
raise Exception()
with database.read_transaction():
- assert len(database.query('mpileaks ^zmpi', installed=any)) == 1
+ assert len(database.query("mpileaks ^zmpi", installed=any)) == 1
with pytest.raises(Exception):
fail_while_writing()
# reload DB and make sure zmpi is still there.
with database.read_transaction():
- assert len(database.query('mpileaks ^zmpi', installed=any)) == 1
+ assert len(database.query("mpileaks ^zmpi", installed=any)) == 1
def test_110_no_write_with_exception_on_install(database):
def fail_while_writing():
with database.write_transaction():
- _mock_install('cmake')
+ _mock_install("cmake")
raise Exception()
with database.read_transaction():
- assert database.query('cmake', installed=any) == []
+ assert database.query("cmake", installed=any) == []
with pytest.raises(Exception):
fail_while_writing()
# reload DB and make sure cmake was not written.
with database.read_transaction():
- assert database.query('cmake', installed=any) == []
+ assert database.query("cmake", installed=any) == []
def test_115_reindex_with_packages_not_in_repo(mutable_database):
@@ -728,31 +731,29 @@ def test_115_reindex_with_packages_not_in_repo(mutable_database):
def test_external_entries_in_db(mutable_database):
- rec = mutable_database.get_record('mpileaks ^zmpi')
+ rec = mutable_database.get_record("mpileaks ^zmpi")
assert rec.spec.external_path is None
assert not rec.spec.external_modules
- rec = mutable_database.get_record('externaltool')
- assert rec.spec.external_path == os.sep + \
- os.path.join('path', 'to', 'external_tool')
+ rec = mutable_database.get_record("externaltool")
+ assert rec.spec.external_path == os.sep + os.path.join("path", "to", "external_tool")
assert not rec.spec.external_modules
assert rec.explicit is False
rec.spec.package.do_install(fake=True, explicit=True)
- rec = mutable_database.get_record('externaltool')
- assert rec.spec.external_path == os.sep + \
- os.path.join('path', 'to', 'external_tool')
+ rec = mutable_database.get_record("externaltool")
+ assert rec.spec.external_path == os.sep + os.path.join("path", "to", "external_tool")
assert not rec.spec.external_modules
assert rec.explicit is True
-@pytest.mark.regression('8036')
+@pytest.mark.regression("8036")
def test_regression_issue_8036(mutable_database, usr_folder_exists):
# The test ensures that the external package prefix is treated as
# existing. Even when the package prefix exists, the package should
# not be considered installed until it is added to the database with
# do_install.
- s = spack.spec.Spec('externaltool@0.9')
+ s = spack.spec.Spec("externaltool@0.9")
s.concretize()
assert not s.installed
@@ -761,22 +762,22 @@ def test_regression_issue_8036(mutable_database, usr_folder_exists):
assert s.installed
-@pytest.mark.regression('11118')
+@pytest.mark.regression("11118")
def test_old_external_entries_prefix(mutable_database):
- with open(spack.store.db._index_path, 'r') as f:
+ with open(spack.store.db._index_path, "r") as f:
db_obj = json.loads(f.read())
validate(db_obj, schema)
- s = spack.spec.Spec('externaltool')
+ s = spack.spec.Spec("externaltool")
s.concretize()
- db_obj['database']['installs'][s.dag_hash()]['path'] = 'None'
+ db_obj["database"]["installs"][s.dag_hash()]["path"] = "None"
- with open(spack.store.db._index_path, 'w') as f:
+ with open(spack.store.db._index_path, "w") as f:
f.write(json.dumps(db_obj))
if _use_uuid:
- with open(spack.store.db._verifier_path, 'w') as f:
+ with open(spack.store.db._verifier_path, "w") as f:
f.write(str(uuid.uuid4()))
record = spack.store.db.get_record(s)
@@ -798,90 +799,93 @@ def test_uninstall_by_spec(mutable_database):
def test_query_unused_specs(mutable_database):
# This spec installs a fake cmake as a build only dependency
- s = spack.spec.Spec('simple-inheritance')
+ s = spack.spec.Spec("simple-inheritance")
s.concretize()
s.package.do_install(fake=True, explicit=True)
unused = spack.store.db.unused_specs
assert len(unused) == 1
- assert unused[0].name == 'cmake'
+ assert unused[0].name == "cmake"
-@pytest.mark.regression('10019')
+@pytest.mark.regression("10019")
def test_query_spec_with_conditional_dependency(mutable_database):
# The issue is triggered by having dependencies that are
# conditional on a Boolean variant
- s = spack.spec.Spec('hdf5~mpi')
+ s = spack.spec.Spec("hdf5~mpi")
s.concretize()
s.package.do_install(fake=True, explicit=True)
- results = spack.store.db.query_local('hdf5 ^mpich')
+ results = spack.store.db.query_local("hdf5 ^mpich")
assert not results
-@pytest.mark.regression('10019')
+@pytest.mark.regression("10019")
def test_query_spec_with_non_conditional_virtual_dependency(database):
# Ensure the same issue doesn't come up for virtual
# dependency that are not conditional on variants
- results = spack.store.db.query_local('mpileaks ^mpich')
+ results = spack.store.db.query_local("mpileaks ^mpich")
assert len(results) == 1
def test_failed_spec_path_error(database):
"""Ensure spec not concrete check is covered."""
- s = spack.spec.Spec('a')
- with pytest.raises(ValueError, match='Concrete spec required'):
+ s = spack.spec.Spec("a")
+ with pytest.raises(ValueError, match="Concrete spec required"):
spack.store.db._failed_spec_path(s)
@pytest.mark.db
def test_clear_failure_keep(mutable_database, monkeypatch, capfd):
"""Add test coverage for clear_failure operation when to be retained."""
+
def _is(db, spec):
return True
# Pretend the spec has been failure locked
- monkeypatch.setattr(spack.database.Database, 'prefix_failure_locked', _is)
+ monkeypatch.setattr(spack.database.Database, "prefix_failure_locked", _is)
- s = spack.spec.Spec('a')
+ s = spack.spec.Spec("a")
spack.store.db.clear_failure(s)
out = capfd.readouterr()[0]
- assert 'Retaining failure marking' in out
+ assert "Retaining failure marking" in out
@pytest.mark.db
def test_clear_failure_forced(mutable_database, monkeypatch, capfd):
"""Add test coverage for clear_failure operation when force."""
+
def _is(db, spec):
return True
# Pretend the spec has been failure locked
- monkeypatch.setattr(spack.database.Database, 'prefix_failure_locked', _is)
+ monkeypatch.setattr(spack.database.Database, "prefix_failure_locked", _is)
# Ensure raise OSError when try to remove the non-existent marking
- monkeypatch.setattr(spack.database.Database, 'prefix_failure_marked', _is)
+ monkeypatch.setattr(spack.database.Database, "prefix_failure_marked", _is)
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
spack.store.db.clear_failure(s, force=True)
out = capfd.readouterr()[1]
- assert 'Removing failure marking despite lock' in out
- assert 'Unable to remove failure marking' in out
+ assert "Removing failure marking despite lock" in out
+ assert "Unable to remove failure marking" in out
@pytest.mark.db
def test_mark_failed(mutable_database, monkeypatch, tmpdir, capsys):
"""Add coverage to mark_failed."""
+
def _raise_exc(lock):
- raise lk.LockTimeoutError('Mock acquire_write failure')
+ raise lk.LockTimeoutError("Mock acquire_write failure")
# Ensure attempt to acquire write lock on the mark raises the exception
- monkeypatch.setattr(lk.Lock, 'acquire_write', _raise_exc)
+ monkeypatch.setattr(lk.Lock, "acquire_write", _raise_exc)
with tmpdir.as_cwd():
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
spack.store.db.mark_failed(s)
out = str(capsys.readouterr()[1])
- assert 'Unable to mark a as failed' in out
+ assert "Unable to mark a as failed" in out
# Clean up the failure mark to ensure it does not interfere with other
# tests using the same spec.
@@ -891,10 +895,11 @@ def test_mark_failed(mutable_database, monkeypatch, tmpdir, capsys):
@pytest.mark.db
def test_prefix_failed(mutable_database, monkeypatch):
"""Add coverage to prefix_failed operation."""
+
def _is(db, spec):
return True
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
# Confirm the spec is not already marked as failed
assert not spack.store.db.prefix_failed(s)
@@ -908,19 +913,20 @@ def test_prefix_failed(mutable_database, monkeypatch):
assert not spack.store.db.prefix_failed(s)
# Now pretend that the prefix failure is locked
- monkeypatch.setattr(spack.database.Database, 'prefix_failure_locked', _is)
+ monkeypatch.setattr(spack.database.Database, "prefix_failure_locked", _is)
assert spack.store.db.prefix_failed(s)
def test_prefix_read_lock_error(mutable_database, monkeypatch):
"""Cover the prefix read lock exception."""
+
def _raise(db, spec):
- raise lk.LockError('Mock lock error')
+ raise lk.LockError("Mock lock error")
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
# Ensure subsequent lock operations fail
- monkeypatch.setattr(lk.Lock, 'acquire_read', _raise)
+ monkeypatch.setattr(lk.Lock, "acquire_read", _raise)
with pytest.raises(Exception):
with spack.store.db.prefix_read_lock(s):
@@ -929,26 +935,27 @@ def test_prefix_read_lock_error(mutable_database, monkeypatch):
def test_prefix_write_lock_error(mutable_database, monkeypatch):
"""Cover the prefix write lock exception."""
+
def _raise(db, spec):
- raise lk.LockError('Mock lock error')
+ raise lk.LockError("Mock lock error")
- s = spack.spec.Spec('a').concretized()
+ s = spack.spec.Spec("a").concretized()
# Ensure subsequent lock operations fail
- monkeypatch.setattr(lk.Lock, 'acquire_write', _raise)
+ monkeypatch.setattr(lk.Lock, "acquire_write", _raise)
with pytest.raises(Exception):
with spack.store.db.prefix_write_lock(s):
assert False
-@pytest.mark.regression('26600')
+@pytest.mark.regression("26600")
def test_database_works_with_empty_dir(tmpdir):
# Create the lockfile and failures directory otherwise
# we'll get a permission error on Database creation
- db_dir = tmpdir.ensure_dir('.spack-db')
- db_dir.ensure('lock')
- db_dir.ensure_dir('failures')
+ db_dir = tmpdir.ensure_dir(".spack-db")
+ db_dir.ensure("lock")
+ db_dir.ensure_dir("failures")
tmpdir.chmod(mode=0o555, rec=1)
db = spack.database.Database(str(tmpdir))
with db.read_transaction():
@@ -957,10 +964,13 @@ def test_database_works_with_empty_dir(tmpdir):
assert not os.path.exists(db._index_path)
-@pytest.mark.parametrize('query_arg,exc_type,msg_str', [
- (['callpath'], spack.store.MatchError, 'matches multiple packages'),
- (['tensorflow'], spack.store.MatchError, 'does not match any')
-])
+@pytest.mark.parametrize(
+ "query_arg,exc_type,msg_str",
+ [
+ (["callpath"], spack.store.MatchError, "matches multiple packages"),
+ (["tensorflow"], spack.store.MatchError, "does not match any"),
+ ],
+)
def test_store_find_failures(database, query_arg, exc_type, msg_str):
with pytest.raises(exc_type) as exc_info:
spack.store.find(query_arg, multiple=False)
@@ -968,7 +978,7 @@ def test_store_find_failures(database, query_arg, exc_type, msg_str):
def test_store_find_accept_string(database):
- result = spack.store.find('callpath', multiple=True)
+ result = spack.store.find("callpath", multiple=True)
assert len(result) == 3
@@ -978,7 +988,7 @@ def test_reindex_removed_prefix_is_not_installed(mutable_database, mock_store, c
not installed."""
# Remove libelf from the filesystem
- prefix = mutable_database.query_one('libelf').prefix
+ prefix = mutable_database.query_one("libelf").prefix
assert prefix.startswith(str(mock_store))
shutil.rmtree(prefix)
@@ -987,11 +997,11 @@ def test_reindex_removed_prefix_is_not_installed(mutable_database, mock_store, c
# Reindexing should warn about libelf not being found on the filesystem
err = capfd.readouterr()[1]
- assert 'this directory does not contain an installation of the spec' in err
+ assert "this directory does not contain an installation of the spec" in err
# And we should still have libelf in the database, but not installed.
- assert not mutable_database.query_one('libelf', installed=True)
- assert mutable_database.query_one('libelf', installed=False)
+ assert not mutable_database.query_one("libelf", installed=True)
+ assert mutable_database.query_one("libelf", installed=False)
def test_reindex_when_all_prefixes_are_removed(mutable_database, mock_store):
@@ -1020,12 +1030,11 @@ def test_reindex_when_all_prefixes_are_removed(mutable_database, mock_store):
assert len(mutable_database.query_local(installed=False, explicit=True)) == 0
-@pytest.mark.parametrize('spec_str,parent_name,expected_nparents', [
- ('dyninst', 'callpath', 3),
- ('libelf', 'dyninst', 1),
- ('libelf', 'libdwarf', 1)
-])
-@pytest.mark.regression('11983')
+@pytest.mark.parametrize(
+ "spec_str,parent_name,expected_nparents",
+ [("dyninst", "callpath", 3), ("libelf", "dyninst", 1), ("libelf", "libdwarf", 1)],
+)
+@pytest.mark.regression("11983")
def test_check_parents(spec_str, parent_name, expected_nparents, database):
"""Check that a spec returns the correct number of parents."""
s = database.query_one(spec_str)
@@ -1039,27 +1048,27 @@ def test_check_parents(spec_str, parent_name, expected_nparents, database):
def test_consistency_of_dependents_upon_remove(mutable_database):
# Check the initial state
- s = mutable_database.query_one('dyninst')
- parents = s.dependents(name='callpath')
+ s = mutable_database.query_one("dyninst")
+ parents = s.dependents(name="callpath")
assert len(parents) == 3
# Remove a dependent (and all its dependents)
- mutable_database.remove('mpileaks ^callpath ^mpich2')
- mutable_database.remove('callpath ^mpich2')
+ mutable_database.remove("mpileaks ^callpath ^mpich2")
+ mutable_database.remove("callpath ^mpich2")
# Check the final state
- s = mutable_database.query_one('dyninst')
- parents = s.dependents(name='callpath')
+ s = mutable_database.query_one("dyninst")
+ parents = s.dependents(name="callpath")
assert len(parents) == 2
-@pytest.mark.regression('30187')
+@pytest.mark.regression("30187")
def test_query_installed_when_package_unknown(database):
"""Test that we can query the installation status of a spec
when we don't know its package.py
"""
with spack.repo.use_repositories(MockPackageMultiRepo()):
- specs = database.query('mpileaks')
+ specs = database.query("mpileaks")
for s in specs:
# Assert that we can query the installation methods even though we
# don't have the package.py available
diff --git a/lib/spack/spack/test/directives.py b/lib/spack/spack/test/directives.py
index 5eb7bf8164..616d7ef5ee 100644
--- a/lib/spack/spack/test/directives.py
+++ b/lib/spack/spack/test/directives.py
@@ -10,9 +10,9 @@ import spack.spec
def test_false_directives_do_not_exist(mock_packages):
"""Ensure directives that evaluate to False at import time are added to
- dicts on packages.
+ dicts on packages.
"""
- cls = spack.repo.path.get_pkg_class('when-directives-false')
+ cls = spack.repo.path.get_pkg_class("when-directives-false")
assert not cls.dependencies
assert not cls.resources
assert not cls.patches
@@ -20,13 +20,13 @@ def test_false_directives_do_not_exist(mock_packages):
def test_true_directives_exist(mock_packages):
"""Ensure directives that evaluate to True at import time are added to
- dicts on packages.
+ dicts on packages.
"""
- cls = spack.repo.path.get_pkg_class('when-directives-true')
+ cls = spack.repo.path.get_pkg_class("when-directives-true")
assert cls.dependencies
- assert spack.spec.Spec() in cls.dependencies['extendee']
- assert spack.spec.Spec() in cls.dependencies['b']
+ assert spack.spec.Spec() in cls.dependencies["extendee"]
+ assert spack.spec.Spec() in cls.dependencies["b"]
assert cls.resources
assert spack.spec.Spec() in cls.resources
@@ -36,27 +36,27 @@ def test_true_directives_exist(mock_packages):
def test_constraints_from_context(mock_packages):
- pkg_cls = spack.repo.path.get_pkg_class('with-constraint-met')
+ pkg_cls = spack.repo.path.get_pkg_class("with-constraint-met")
assert pkg_cls.dependencies
- assert spack.spec.Spec('@1.0') in pkg_cls.dependencies['b']
+ assert spack.spec.Spec("@1.0") in pkg_cls.dependencies["b"]
assert pkg_cls.conflicts
- assert (spack.spec.Spec('+foo@1.0'), None) in pkg_cls.conflicts['%gcc']
+ assert (spack.spec.Spec("+foo@1.0"), None) in pkg_cls.conflicts["%gcc"]
-@pytest.mark.regression('26656')
+@pytest.mark.regression("26656")
def test_constraints_from_context_are_merged(mock_packages):
- pkg_cls = spack.repo.path.get_pkg_class('with-constraint-met')
+ pkg_cls = spack.repo.path.get_pkg_class("with-constraint-met")
assert pkg_cls.dependencies
- assert spack.spec.Spec('@0.14:15 ^b@3.8:4.0') in pkg_cls.dependencies['c']
+ assert spack.spec.Spec("@0.14:15 ^b@3.8:4.0") in pkg_cls.dependencies["c"]
-@pytest.mark.regression('27754')
+@pytest.mark.regression("27754")
def test_extends_spec(config, mock_packages):
- extender = spack.spec.Spec('extends-spec').concretized()
- extendee = spack.spec.Spec('extendee').concretized()
+ extender = spack.spec.Spec("extends-spec").concretized()
+ extendee = spack.spec.Spec("extendee").concretized()
assert extender.dependencies
assert extender.package.extends(extendee)
diff --git a/lib/spack/spack/test/directory_layout.py b/lib/spack/spack/test/directory_layout.py
index 9b52a6f179..b21260a829 100644
--- a/lib/spack/spack/test/directory_layout.py
+++ b/lib/spack/spack/test/directory_layout.py
@@ -26,17 +26,16 @@ max_packages = 10
def test_yaml_directory_layout_parameters(tmpdir, config):
"""This tests the various parameters that can be used to configure
- the install location """
- spec = Spec('python')
+ the install location"""
+ spec = Spec("python")
spec.concretize()
# Ensure default layout matches expected spec format
layout_default = DirectoryLayout(str(tmpdir))
path_default = layout_default.relative_path_for_spec(spec)
- assert(path_default == spec.format(
- "{architecture}/"
- "{compiler.name}-{compiler.version}/"
- "{name}-{version}-{hash}"))
+ assert path_default == spec.format(
+ "{architecture}/" "{compiler.name}-{compiler.version}/" "{name}-{version}-{hash}"
+ )
# Test hash_length parameter works correctly
layout_10 = DirectoryLayout(str(tmpdir), hash_length=10)
@@ -44,41 +43,36 @@ def test_yaml_directory_layout_parameters(tmpdir, config):
layout_7 = DirectoryLayout(str(tmpdir), hash_length=7)
path_7 = layout_7.relative_path_for_spec(spec)
- assert(len(path_default) - len(path_10) == 22)
- assert(len(path_default) - len(path_7) == 25)
+ assert len(path_default) - len(path_10) == 22
+ assert len(path_default) - len(path_7) == 25
# Test path_scheme
- arch, compiler, package7 = path_7.split('/')
- projections_package7 = {'all': "{name}-{version}-{hash:7}"}
- layout_package7 = DirectoryLayout(str(tmpdir),
- projections=projections_package7)
+ arch, compiler, package7 = path_7.split("/")
+ projections_package7 = {"all": "{name}-{version}-{hash:7}"}
+ layout_package7 = DirectoryLayout(str(tmpdir), projections=projections_package7)
path_package7 = layout_package7.relative_path_for_spec(spec)
- assert(package7 == path_package7)
+ assert package7 == path_package7
# Test separation of architecture or namespace
- spec2 = Spec('libelf').concretized()
+ spec2 = Spec("libelf").concretized()
arch_scheme = (
"{architecture.platform}/{architecture.target}/{architecture.os}/{name}/{version}/{hash:7}"
)
ns_scheme = "${ARCHITECTURE}/${NAMESPACE}/${PACKAGE}-${VERSION}-${HASH:7}"
- arch_ns_scheme_projections = {'all': arch_scheme,
- 'python': ns_scheme}
- layout_arch_ns = DirectoryLayout(
- str(tmpdir), projections=arch_ns_scheme_projections)
+ arch_ns_scheme_projections = {"all": arch_scheme, "python": ns_scheme}
+ layout_arch_ns = DirectoryLayout(str(tmpdir), projections=arch_ns_scheme_projections)
arch_path_spec2 = layout_arch_ns.relative_path_for_spec(spec2)
- assert(arch_path_spec2 == spec2.format(arch_scheme))
+ assert arch_path_spec2 == spec2.format(arch_scheme)
ns_path_spec = layout_arch_ns.relative_path_for_spec(spec)
- assert(ns_path_spec == spec.format(ns_scheme))
+ assert ns_path_spec == spec.format(ns_scheme)
# Ensure conflicting parameters caught
with pytest.raises(InvalidDirectoryLayoutParametersError):
- DirectoryLayout(str(tmpdir),
- hash_length=20,
- projections=projections_package7)
+ DirectoryLayout(str(tmpdir), hash_length=20, projections=projections_package7)
def test_read_and_write_spec(temporary_store, config, mock_packages):
@@ -92,7 +86,7 @@ def test_read_and_write_spec(temporary_store, config, mock_packages):
pkg_names = list(spack.repo.path.all_package_names())[:max_packages]
for name in pkg_names:
- if name.startswith('external'):
+ if name.startswith("external"):
# External package tests cannot be installed
continue
@@ -165,8 +159,8 @@ def test_handle_unknown_package(temporary_store, config, mock_packages):
mock_db = spack.repo.RepoPath(spack.paths.mock_packages_path)
not_in_mock = set.difference(
- set(spack.repo.all_package_names()),
- set(mock_db.all_package_names()))
+ set(spack.repo.all_package_names()), set(mock_db.all_package_names())
+ )
packages = list(not_in_mock)[:max_packages]
# Create all the packages that are not in mock.
@@ -188,8 +182,7 @@ def test_handle_unknown_package(temporary_store, config, mock_packages):
# Now check that even without the package files, we know
# enough to read a spec from the spec file.
for spec, path in installed_specs.items():
- spec_from_file = layout.read_spec(
- os.path.join(path, '.spack', 'spec.json'))
+ spec_from_file = layout.read_spec(os.path.join(path, ".spack", "spec.json"))
# To satisfy these conditions, directory layouts need to
# read in concrete specs from their install dirs somehow.
@@ -207,7 +200,7 @@ def test_find(temporary_store, config, mock_packages):
# Create install prefixes for all packages in the list
installed_specs = {}
for name in package_names:
- if name.startswith('external'):
+ if name.startswith("external"):
# External package tests cannot be installed
continue
spec = spack.spec.Spec(name).concretized()
@@ -224,10 +217,9 @@ def test_find(temporary_store, config, mock_packages):
def test_yaml_directory_layout_build_path(tmpdir, config):
"""This tests build path method."""
- spec = Spec('python')
+ spec = Spec("python")
spec.concretize()
layout = DirectoryLayout(str(tmpdir))
rel_path = os.path.join(layout.metadata_dir, layout.packages_dir)
- assert layout.build_packages_path(spec) == os.path.join(spec.prefix,
- rel_path)
+ assert layout.build_packages_path(spec) == os.path.join(spec.prefix, rel_path)
diff --git a/lib/spack/spack/test/env.py b/lib/spack/spack/test/env.py
index 6d16924cbd..c1b36eb5dd 100644
--- a/lib/spack/spack/test/env.py
+++ b/lib/spack/spack/test/env.py
@@ -11,22 +11,23 @@ import spack.environment as ev
import spack.spec
-@pytest.mark.skipif(str(spack.platforms.host()) == 'windows',
- reason='Not supported on Windows (yet)')
+@pytest.mark.skipif(
+ str(spack.platforms.host()) == "windows", reason="Not supported on Windows (yet)"
+)
def test_hash_change_no_rehash_concrete(tmpdir, mock_packages, config):
# create an environment
- env_path = tmpdir.mkdir('env_dir').strpath
+ env_path = tmpdir.mkdir("env_dir").strpath
env = ev.Environment(env_path)
env.write()
# add a spec with a rewritten build hash
- spec = spack.spec.Spec('mpileaks')
+ spec = spack.spec.Spec("mpileaks")
env.add(spec)
env.concretize()
# rewrite the hash
old_hash = env.concretized_order[0]
- new_hash = 'abc'
+ new_hash = "abc"
env.specs_by_hash[old_hash]._hash = new_hash
env.concretized_order[0] = new_hash
env.specs_by_hash[new_hash] = env.specs_by_hash[old_hash]
@@ -44,7 +45,7 @@ def test_hash_change_no_rehash_concrete(tmpdir, mock_packages, config):
def test_activate_should_require_an_env():
with pytest.raises(TypeError):
- ev.activate(env='name')
+ ev.activate(env="name")
with pytest.raises(TypeError):
ev.activate(env=None)
diff --git a/lib/spack/spack/test/environment_modifications.py b/lib/spack/spack/test/environment_modifications.py
index 9be7ec2eeb..dc6bc0d9a3 100644
--- a/lib/spack/spack/test/environment_modifications.py
+++ b/lib/spack/spack/test/environment_modifications.py
@@ -21,46 +21,44 @@ from spack.util.environment import (
is_system_path,
)
-datadir = os.path.join(spack_root, 'lib', 'spack', 'spack', 'test', 'data')
+datadir = os.path.join(spack_root, "lib", "spack", "spack", "test", "data")
def test_inspect_path(tmpdir):
inspections = {
- 'bin': ['PATH'],
- 'man': ['MANPATH'],
- 'share/man': ['MANPATH'],
- 'share/aclocal': ['ACLOCAL_PATH'],
- 'lib': ['LIBRARY_PATH', 'LD_LIBRARY_PATH'],
- 'lib64': ['LIBRARY_PATH', 'LD_LIBRARY_PATH'],
- 'include': ['CPATH'],
- 'lib/pkgconfig': ['PKG_CONFIG_PATH'],
- 'lib64/pkgconfig': ['PKG_CONFIG_PATH'],
- 'share/pkgconfig': ['PKG_CONFIG_PATH'],
- '': ['CMAKE_PREFIX_PATH']
+ "bin": ["PATH"],
+ "man": ["MANPATH"],
+ "share/man": ["MANPATH"],
+ "share/aclocal": ["ACLOCAL_PATH"],
+ "lib": ["LIBRARY_PATH", "LD_LIBRARY_PATH"],
+ "lib64": ["LIBRARY_PATH", "LD_LIBRARY_PATH"],
+ "include": ["CPATH"],
+ "lib/pkgconfig": ["PKG_CONFIG_PATH"],
+ "lib64/pkgconfig": ["PKG_CONFIG_PATH"],
+ "share/pkgconfig": ["PKG_CONFIG_PATH"],
+ "": ["CMAKE_PREFIX_PATH"],
}
- tmpdir.mkdir('bin')
- tmpdir.mkdir('lib')
- tmpdir.mkdir('include')
+ tmpdir.mkdir("bin")
+ tmpdir.mkdir("lib")
+ tmpdir.mkdir("include")
env = environment.inspect_path(str(tmpdir), inspections)
names = [item.name for item in env]
- assert 'PATH' in names
- assert 'LIBRARY_PATH' in names
- assert 'LD_LIBRARY_PATH' in names
- assert 'CPATH' in names
+ assert "PATH" in names
+ assert "LIBRARY_PATH" in names
+ assert "LD_LIBRARY_PATH" in names
+ assert "CPATH" in names
def test_exclude_paths_from_inspection():
inspections = {
- 'lib': ['LIBRARY_PATH', 'LD_LIBRARY_PATH'],
- 'lib64': ['LIBRARY_PATH', 'LD_LIBRARY_PATH'],
- 'include': ['CPATH']
+ "lib": ["LIBRARY_PATH", "LD_LIBRARY_PATH"],
+ "lib64": ["LIBRARY_PATH", "LD_LIBRARY_PATH"],
+ "include": ["CPATH"],
}
- env = environment.inspect_path(
- '/usr', inspections, exclude=is_system_path
- )
+ env = environment.inspect_path("/usr", inspections, exclude=is_system_path)
assert len(env) == 0
@@ -70,14 +68,12 @@ def prepare_environment_for_tests(working_env):
"""Sets a few dummy variables in the current environment, that will be
useful for the tests below.
"""
- os.environ['UNSET_ME'] = 'foo'
- os.environ['EMPTY_PATH_LIST'] = ''
- os.environ['PATH_LIST'] = '/path/second:/path/third'
- os.environ['REMOVE_PATH_LIST'] \
- = '/a/b:/duplicate:/a/c:/remove/this:/a/d:/duplicate/:/f/g'
- os.environ['PATH_LIST_WITH_SYSTEM_PATHS'] \
- = '/usr/include:' + os.environ['REMOVE_PATH_LIST']
- os.environ['PATH_LIST_WITH_DUPLICATES'] = os.environ['REMOVE_PATH_LIST']
+ os.environ["UNSET_ME"] = "foo"
+ os.environ["EMPTY_PATH_LIST"] = ""
+ os.environ["PATH_LIST"] = "/path/second:/path/third"
+ os.environ["REMOVE_PATH_LIST"] = "/a/b:/duplicate:/a/c:/remove/this:/a/d:/duplicate/:/f/g"
+ os.environ["PATH_LIST_WITH_SYSTEM_PATHS"] = "/usr/include:" + os.environ["REMOVE_PATH_LIST"]
+ os.environ["PATH_LIST_WITH_DUPLICATES"] = os.environ["REMOVE_PATH_LIST"]
@pytest.fixture
@@ -90,25 +86,25 @@ def env(prepare_environment_for_tests):
def miscellaneous_paths():
"""Returns a list of paths, including system ones."""
return [
- '/usr/local/Cellar/gcc/5.3.0/lib',
- '/usr/local/lib',
- '/usr/local',
- '/usr/local/include',
- '/usr/local/lib64',
- '/usr/local/opt/some-package/lib',
- '/usr/opt/lib',
- '/usr/local/../bin',
- '/lib',
- '/',
- '/usr',
- '/usr/',
- '/usr/bin',
- '/bin64',
- '/lib64',
- '/include',
- '/include/',
- '/opt/some-package/include',
- '/opt/some-package/local/..',
+ "/usr/local/Cellar/gcc/5.3.0/lib",
+ "/usr/local/lib",
+ "/usr/local",
+ "/usr/local/include",
+ "/usr/local/lib64",
+ "/usr/local/opt/some-package/lib",
+ "/usr/opt/lib",
+ "/usr/local/../bin",
+ "/lib",
+ "/",
+ "/usr",
+ "/usr/",
+ "/usr/bin",
+ "/bin64",
+ "/lib64",
+ "/include",
+ "/include/",
+ "/opt/some-package/include",
+ "/opt/some-package/local/..",
]
@@ -116,10 +112,10 @@ def miscellaneous_paths():
def files_to_be_sourced():
"""Returns a list of files to be sourced"""
return [
- os.path.join(datadir, 'sourceme_first.sh'),
- os.path.join(datadir, 'sourceme_second.sh'),
- os.path.join(datadir, 'sourceme_parameters.sh'),
- os.path.join(datadir, 'sourceme_unicode.sh')
+ os.path.join(datadir, "sourceme_first.sh"),
+ os.path.join(datadir, "sourceme_second.sh"),
+ os.path.join(datadir, "sourceme_parameters.sh"),
+ os.path.join(datadir, "sourceme_unicode.sh"),
]
@@ -127,133 +123,129 @@ def test_set(env):
"""Tests setting values in the environment."""
# Here we are storing the commands to set a couple of variables
- env.set('A', 'dummy value')
- env.set('B', 3)
+ env.set("A", "dummy value")
+ env.set("B", 3)
# ...and then we are executing them
env.apply_modifications()
- assert 'dummy value' == os.environ['A']
- assert str(3) == os.environ['B']
+ assert "dummy value" == os.environ["A"]
+ assert str(3) == os.environ["B"]
def test_append_flags(env):
"""Tests appending to a value in the environment."""
# Store a couple of commands
- env.append_flags('APPEND_TO_ME', 'flag1')
- env.append_flags('APPEND_TO_ME', 'flag2')
+ env.append_flags("APPEND_TO_ME", "flag1")
+ env.append_flags("APPEND_TO_ME", "flag2")
# ... execute the commands
env.apply_modifications()
- assert 'flag1 flag2' == os.environ['APPEND_TO_ME']
+ assert "flag1 flag2" == os.environ["APPEND_TO_ME"]
def test_unset(env):
"""Tests unsetting values in the environment."""
# Assert that the target variable is there and unset it
- assert 'foo' == os.environ['UNSET_ME']
- env.unset('UNSET_ME')
+ assert "foo" == os.environ["UNSET_ME"]
+ env.unset("UNSET_ME")
env.apply_modifications()
# Trying to retrieve is after deletion should cause a KeyError
with pytest.raises(KeyError):
- os.environ['UNSET_ME']
+ os.environ["UNSET_ME"]
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_filter_system_paths(miscellaneous_paths):
"""Tests that the filtering of system paths works as expected."""
filtered = filter_system_paths(miscellaneous_paths)
expected = [
- '/usr/local/Cellar/gcc/5.3.0/lib',
- '/usr/local/opt/some-package/lib',
- '/usr/opt/lib',
- '/opt/some-package/include',
- '/opt/some-package/local/..',
+ "/usr/local/Cellar/gcc/5.3.0/lib",
+ "/usr/local/opt/some-package/lib",
+ "/usr/opt/lib",
+ "/opt/some-package/include",
+ "/opt/some-package/local/..",
]
assert filtered == expected
# TODO 27021
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_set_path(env):
"""Tests setting paths in an environment variable."""
# Check setting paths with the default separator
- env.set_path('A', ['foo', 'bar', 'baz'])
+ env.set_path("A", ["foo", "bar", "baz"])
env.apply_modifications()
- assert 'foo:bar:baz' == os.environ['A']
+ assert "foo:bar:baz" == os.environ["A"]
- env.set_path('B', ['foo', 'bar', 'baz'], separator=';')
+ env.set_path("B", ["foo", "bar", "baz"], separator=";")
env.apply_modifications()
- assert 'foo;bar;baz' == os.environ['B']
+ assert "foo;bar;baz" == os.environ["B"]
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_path_manipulation(env):
"""Tests manipulating list of paths in the environment."""
- env.append_path('PATH_LIST', '/path/last')
- env.prepend_path('PATH_LIST', '/path/first')
+ env.append_path("PATH_LIST", "/path/last")
+ env.prepend_path("PATH_LIST", "/path/first")
- env.append_path('EMPTY_PATH_LIST', '/path/middle')
- env.append_path('EMPTY_PATH_LIST', '/path/last')
- env.prepend_path('EMPTY_PATH_LIST', '/path/first')
+ env.append_path("EMPTY_PATH_LIST", "/path/middle")
+ env.append_path("EMPTY_PATH_LIST", "/path/last")
+ env.prepend_path("EMPTY_PATH_LIST", "/path/first")
- env.append_path('NEWLY_CREATED_PATH_LIST', '/path/middle')
- env.append_path('NEWLY_CREATED_PATH_LIST', '/path/last')
- env.prepend_path('NEWLY_CREATED_PATH_LIST', '/path/first')
+ env.append_path("NEWLY_CREATED_PATH_LIST", "/path/middle")
+ env.append_path("NEWLY_CREATED_PATH_LIST", "/path/last")
+ env.prepend_path("NEWLY_CREATED_PATH_LIST", "/path/first")
- env.remove_path('REMOVE_PATH_LIST', '/remove/this')
- env.remove_path('REMOVE_PATH_LIST', '/duplicate/')
+ env.remove_path("REMOVE_PATH_LIST", "/remove/this")
+ env.remove_path("REMOVE_PATH_LIST", "/duplicate/")
- env.deprioritize_system_paths('PATH_LIST_WITH_SYSTEM_PATHS')
- env.prune_duplicate_paths('PATH_LIST_WITH_DUPLICATES')
+ env.deprioritize_system_paths("PATH_LIST_WITH_SYSTEM_PATHS")
+ env.prune_duplicate_paths("PATH_LIST_WITH_DUPLICATES")
env.apply_modifications()
- expected = '/path/first:/path/second:/path/third:/path/last'
- assert os.environ['PATH_LIST'] == expected
+ expected = "/path/first:/path/second:/path/third:/path/last"
+ assert os.environ["PATH_LIST"] == expected
- expected = '/path/first:/path/middle:/path/last'
- assert os.environ['EMPTY_PATH_LIST'] == expected
+ expected = "/path/first:/path/middle:/path/last"
+ assert os.environ["EMPTY_PATH_LIST"] == expected
- expected = '/path/first:/path/middle:/path/last'
- assert os.environ['NEWLY_CREATED_PATH_LIST'] == expected
+ expected = "/path/first:/path/middle:/path/last"
+ assert os.environ["NEWLY_CREATED_PATH_LIST"] == expected
- assert os.environ['REMOVE_PATH_LIST'] == '/a/b:/a/c:/a/d:/f/g'
+ assert os.environ["REMOVE_PATH_LIST"] == "/a/b:/a/c:/a/d:/f/g"
- assert not os.environ['PATH_LIST_WITH_SYSTEM_PATHS'].\
- startswith('/usr/include:')
- assert os.environ['PATH_LIST_WITH_SYSTEM_PATHS'].endswith(':/usr/include')
+ assert not os.environ["PATH_LIST_WITH_SYSTEM_PATHS"].startswith("/usr/include:")
+ assert os.environ["PATH_LIST_WITH_SYSTEM_PATHS"].endswith(":/usr/include")
- assert os.environ['PATH_LIST_WITH_DUPLICATES'].count('/duplicate') == 1
+ assert os.environ["PATH_LIST_WITH_DUPLICATES"].count("/duplicate") == 1
def test_extra_arguments(env):
"""Tests that we can attach extra arguments to any command."""
- env.set('A', 'dummy value', who='Pkg1')
+ env.set("A", "dummy value", who="Pkg1")
for x in env:
- assert 'who' in x.args
+ assert "who" in x.args
env.apply_modifications()
- assert 'dummy value' == os.environ['A']
+ assert "dummy value" == os.environ["A"]
def test_extend(env):
"""Tests that we can construct a list of environment modifications
starting from another list.
"""
- env.set('A', 'dummy value')
- env.set('B', 3)
+ env.set("A", "dummy value")
+ env.set("B", 3)
copy_construct = EnvironmentModifications(env)
assert len(copy_construct) == 2
@@ -262,18 +254,16 @@ def test_extend(env):
assert x is y
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.usefixtures('prepare_environment_for_tests')
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.usefixtures("prepare_environment_for_tests")
def test_source_files(files_to_be_sourced):
"""Tests the construction of a list of environment modifications that are
the result of sourcing a file.
"""
env = EnvironmentModifications()
for filename in files_to_be_sourced:
- if filename.endswith('sourceme_parameters.sh'):
- env.extend(EnvironmentModifications.from_sourcing_file(
- filename, 'intel64'))
+ if filename.endswith("sourceme_parameters.sh"):
+ env.extend(EnvironmentModifications.from_sourcing_file(filename, "intel64"))
else:
env.extend(EnvironmentModifications.from_sourcing_file(filename))
@@ -286,77 +276,91 @@ def test_source_files(files_to_be_sourced):
assert len(modifications) >= 5
# Set new variables
- assert len(modifications['NEW_VAR']) == 1
- assert isinstance(modifications['NEW_VAR'][0], SetEnv)
- assert modifications['NEW_VAR'][0].value == 'new'
+ assert len(modifications["NEW_VAR"]) == 1
+ assert isinstance(modifications["NEW_VAR"][0], SetEnv)
+ assert modifications["NEW_VAR"][0].value == "new"
- assert len(modifications['FOO']) == 1
- assert isinstance(modifications['FOO'][0], SetEnv)
- assert modifications['FOO'][0].value == 'intel64'
+ assert len(modifications["FOO"]) == 1
+ assert isinstance(modifications["FOO"][0], SetEnv)
+ assert modifications["FOO"][0].value == "intel64"
# Unset variables
- assert len(modifications['EMPTY_PATH_LIST']) == 1
- assert isinstance(modifications['EMPTY_PATH_LIST'][0], UnsetEnv)
+ assert len(modifications["EMPTY_PATH_LIST"]) == 1
+ assert isinstance(modifications["EMPTY_PATH_LIST"][0], UnsetEnv)
# Modified variables
- assert len(modifications['UNSET_ME']) == 1
- assert isinstance(modifications['UNSET_ME'][0], SetEnv)
- assert modifications['UNSET_ME'][0].value == 'overridden'
+ assert len(modifications["UNSET_ME"]) == 1
+ assert isinstance(modifications["UNSET_ME"][0], SetEnv)
+ assert modifications["UNSET_ME"][0].value == "overridden"
- assert len(modifications['PATH_LIST']) == 3
- assert isinstance(modifications['PATH_LIST'][0], RemovePath)
- assert modifications['PATH_LIST'][0].value == '/path/third'
- assert isinstance(modifications['PATH_LIST'][1], AppendPath)
- assert modifications['PATH_LIST'][1].value == '/path/fourth'
- assert isinstance(modifications['PATH_LIST'][2], PrependPath)
- assert modifications['PATH_LIST'][2].value == '/path/first'
+ assert len(modifications["PATH_LIST"]) == 3
+ assert isinstance(modifications["PATH_LIST"][0], RemovePath)
+ assert modifications["PATH_LIST"][0].value == "/path/third"
+ assert isinstance(modifications["PATH_LIST"][1], AppendPath)
+ assert modifications["PATH_LIST"][1].value == "/path/fourth"
+ assert isinstance(modifications["PATH_LIST"][2], PrependPath)
+ assert modifications["PATH_LIST"][2].value == "/path/first"
-@pytest.mark.regression('8345')
+@pytest.mark.regression("8345")
def test_preserve_environment(prepare_environment_for_tests):
# UNSET_ME is defined, and will be unset in the context manager,
# NOT_SET is not in the environment and will be set within the
# context manager, PATH_LIST is set and will be changed.
- with environment.preserve_environment('UNSET_ME', 'NOT_SET', 'PATH_LIST'):
- os.environ['NOT_SET'] = 'a'
- assert os.environ['NOT_SET'] == 'a'
-
- del os.environ['UNSET_ME']
- assert 'UNSET_ME' not in os.environ
-
- os.environ['PATH_LIST'] = 'changed'
-
- assert 'NOT_SET' not in os.environ
- assert os.environ['UNSET_ME'] == 'foo'
- assert os.environ['PATH_LIST'] == '/path/second:/path/third'
-
-
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('files,expected,deleted', [
- # Sets two variables
- ((os.path.join(datadir, 'sourceme_first.sh'),),
- {'NEW_VAR': 'new', 'UNSET_ME': 'overridden'}, []),
- # Check if we can set a variable to different values depending
- # on command line parameters
- ((os.path.join(datadir, 'sourceme_parameters.sh'),),
- {'FOO': 'default'}, []),
- (([os.path.join(datadir, 'sourceme_parameters.sh'), 'intel64'],),
- {'FOO': 'intel64'}, []),
- # Check unsetting variables
- ((os.path.join(datadir, 'sourceme_second.sh'),),
- {'PATH_LIST': '/path/first:/path/second:/path/fourth'},
- ['EMPTY_PATH_LIST']),
- # Check that order of sourcing matters
- ((os.path.join(datadir, 'sourceme_unset.sh'),
- os.path.join(datadir, 'sourceme_first.sh')),
- {'NEW_VAR': 'new', 'UNSET_ME': 'overridden'}, []),
- ((os.path.join(datadir, 'sourceme_first.sh'),
- os.path.join(datadir, 'sourceme_unset.sh')),
- {'NEW_VAR': 'new'}, ['UNSET_ME']),
-
-])
-@pytest.mark.usefixtures('prepare_environment_for_tests')
+ with environment.preserve_environment("UNSET_ME", "NOT_SET", "PATH_LIST"):
+ os.environ["NOT_SET"] = "a"
+ assert os.environ["NOT_SET"] == "a"
+
+ del os.environ["UNSET_ME"]
+ assert "UNSET_ME" not in os.environ
+
+ os.environ["PATH_LIST"] = "changed"
+
+ assert "NOT_SET" not in os.environ
+ assert os.environ["UNSET_ME"] == "foo"
+ assert os.environ["PATH_LIST"] == "/path/second:/path/third"
+
+
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize(
+ "files,expected,deleted",
+ [
+ # Sets two variables
+ (
+ (os.path.join(datadir, "sourceme_first.sh"),),
+ {"NEW_VAR": "new", "UNSET_ME": "overridden"},
+ [],
+ ),
+ # Check if we can set a variable to different values depending
+ # on command line parameters
+ ((os.path.join(datadir, "sourceme_parameters.sh"),), {"FOO": "default"}, []),
+ (([os.path.join(datadir, "sourceme_parameters.sh"), "intel64"],), {"FOO": "intel64"}, []),
+ # Check unsetting variables
+ (
+ (os.path.join(datadir, "sourceme_second.sh"),),
+ {"PATH_LIST": "/path/first:/path/second:/path/fourth"},
+ ["EMPTY_PATH_LIST"],
+ ),
+ # Check that order of sourcing matters
+ (
+ (
+ os.path.join(datadir, "sourceme_unset.sh"),
+ os.path.join(datadir, "sourceme_first.sh"),
+ ),
+ {"NEW_VAR": "new", "UNSET_ME": "overridden"},
+ [],
+ ),
+ (
+ (
+ os.path.join(datadir, "sourceme_first.sh"),
+ os.path.join(datadir, "sourceme_unset.sh"),
+ ),
+ {"NEW_VAR": "new"},
+ ["UNSET_ME"],
+ ),
+ ],
+)
+@pytest.mark.usefixtures("prepare_environment_for_tests")
def test_environment_from_sourcing_files(files, expected, deleted):
env = environment.environment_after_sourcing_files(*files)
@@ -373,18 +377,21 @@ def test_environment_from_sourcing_files(files, expected, deleted):
def test_clear(env):
- env.set('A', 'dummy value')
+ env.set("A", "dummy value")
assert len(env) > 0
env.clear()
assert len(env) == 0
-@pytest.mark.parametrize('env,exclude,include', [
- # Check we can exclude a literal
- ({'SHLVL': '1'}, ['SHLVL'], []),
- # Check include takes precedence
- ({'SHLVL': '1'}, ['SHLVL'], ['SHLVL']),
-])
+@pytest.mark.parametrize(
+ "env,exclude,include",
+ [
+ # Check we can exclude a literal
+ ({"SHLVL": "1"}, ["SHLVL"], []),
+ # Check include takes precedence
+ ({"SHLVL": "1"}, ["SHLVL"], ["SHLVL"]),
+ ],
+)
def test_sanitize_literals(env, exclude, include):
after = environment.sanitize(env, exclude, include)
@@ -398,18 +405,30 @@ def test_sanitize_literals(env, exclude, include):
assert all(x not in after for x in exclude)
-@pytest.mark.parametrize('env,exclude,include,expected,deleted', [
- # Check we can exclude using a regex
- ({'SHLVL': '1'}, ['SH.*'], [], [], ['SHLVL']),
- # Check we can include using a regex
- ({'SHLVL': '1'}, ['SH.*'], ['SH.*'], ['SHLVL'], []),
- # Check regex to exclude Modules v4 related vars
- ({'MODULES_LMALTNAME': '1', 'MODULES_LMCONFLICT': '2'},
- ['MODULES_(.*)'], [], [], ['MODULES_LMALTNAME', 'MODULES_LMCONFLICT']),
- ({'A_modquar': '1', 'b_modquar': '2', 'C_modshare': '3'},
- [r'(\w*)_mod(quar|share)'], [], [],
- ['A_modquar', 'b_modquar', 'C_modshare']),
-])
+@pytest.mark.parametrize(
+ "env,exclude,include,expected,deleted",
+ [
+ # Check we can exclude using a regex
+ ({"SHLVL": "1"}, ["SH.*"], [], [], ["SHLVL"]),
+ # Check we can include using a regex
+ ({"SHLVL": "1"}, ["SH.*"], ["SH.*"], ["SHLVL"], []),
+ # Check regex to exclude Modules v4 related vars
+ (
+ {"MODULES_LMALTNAME": "1", "MODULES_LMCONFLICT": "2"},
+ ["MODULES_(.*)"],
+ [],
+ [],
+ ["MODULES_LMALTNAME", "MODULES_LMCONFLICT"],
+ ),
+ (
+ {"A_modquar": "1", "b_modquar": "2", "C_modshare": "3"},
+ [r"(\w*)_mod(quar|share)"],
+ [],
+ [],
+ ["A_modquar", "b_modquar", "C_modshare"],
+ ),
+ ],
+)
def test_sanitize_regex(env, exclude, include, expected, deleted):
after = environment.sanitize(env, exclude, include)
@@ -418,53 +437,72 @@ def test_sanitize_regex(env, exclude, include, expected, deleted):
assert all(x not in after for x in deleted)
-@pytest.mark.regression('12085')
-@pytest.mark.parametrize('before,after,search_list', [
- # Set environment variables
- ({}, {'FOO': 'foo'}, [environment.SetEnv('FOO', 'foo')]),
- # Unset environment variables
- ({'FOO': 'foo'}, {}, [environment.UnsetEnv('FOO')]),
- # Append paths to an environment variable
- ({'FOO_PATH': '/a/path'}, {'FOO_PATH': '/a/path:/b/path'},
- [environment.AppendPath('FOO_PATH', '/b/path')]),
- ({}, {'FOO_PATH': '/a/path' + os.sep + '/b/path'}, [
- environment.AppendPath('FOO_PATH', '/a/path' + os.sep + '/b/path')
- ]),
- ({'FOO_PATH': '/a/path:/b/path'}, {'FOO_PATH': '/b/path'}, [
- environment.RemovePath('FOO_PATH', '/a/path')
- ]),
- ({'FOO_PATH': '/a/path:/b/path'}, {'FOO_PATH': '/a/path:/c/path'}, [
- environment.RemovePath('FOO_PATH', '/b/path'),
- environment.AppendPath('FOO_PATH', '/c/path')
- ]),
- ({'FOO_PATH': '/a/path:/b/path'}, {'FOO_PATH': '/c/path:/a/path'}, [
- environment.RemovePath('FOO_PATH', '/b/path'),
- environment.PrependPath('FOO_PATH', '/c/path')
- ]),
- # Modify two variables in the same environment
- ({'FOO': 'foo', 'BAR': 'bar'}, {'FOO': 'baz', 'BAR': 'baz'}, [
- environment.SetEnv('FOO', 'baz'),
- environment.SetEnv('BAR', 'baz'),
- ]),
-])
+@pytest.mark.regression("12085")
+@pytest.mark.parametrize(
+ "before,after,search_list",
+ [
+ # Set environment variables
+ ({}, {"FOO": "foo"}, [environment.SetEnv("FOO", "foo")]),
+ # Unset environment variables
+ ({"FOO": "foo"}, {}, [environment.UnsetEnv("FOO")]),
+ # Append paths to an environment variable
+ (
+ {"FOO_PATH": "/a/path"},
+ {"FOO_PATH": "/a/path:/b/path"},
+ [environment.AppendPath("FOO_PATH", "/b/path")],
+ ),
+ (
+ {},
+ {"FOO_PATH": "/a/path" + os.sep + "/b/path"},
+ [environment.AppendPath("FOO_PATH", "/a/path" + os.sep + "/b/path")],
+ ),
+ (
+ {"FOO_PATH": "/a/path:/b/path"},
+ {"FOO_PATH": "/b/path"},
+ [environment.RemovePath("FOO_PATH", "/a/path")],
+ ),
+ (
+ {"FOO_PATH": "/a/path:/b/path"},
+ {"FOO_PATH": "/a/path:/c/path"},
+ [
+ environment.RemovePath("FOO_PATH", "/b/path"),
+ environment.AppendPath("FOO_PATH", "/c/path"),
+ ],
+ ),
+ (
+ {"FOO_PATH": "/a/path:/b/path"},
+ {"FOO_PATH": "/c/path:/a/path"},
+ [
+ environment.RemovePath("FOO_PATH", "/b/path"),
+ environment.PrependPath("FOO_PATH", "/c/path"),
+ ],
+ ),
+ # Modify two variables in the same environment
+ (
+ {"FOO": "foo", "BAR": "bar"},
+ {"FOO": "baz", "BAR": "baz"},
+ [
+ environment.SetEnv("FOO", "baz"),
+ environment.SetEnv("BAR", "baz"),
+ ],
+ ),
+ ],
+)
def test_from_environment_diff(before, after, search_list):
- mod = environment.EnvironmentModifications.from_environment_diff(
- before, after
- )
+ mod = environment.EnvironmentModifications.from_environment_diff(before, after)
for item in search_list:
assert item in mod
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="LMod not supported on Windows")
-@pytest.mark.regression('15775')
+@pytest.mark.skipif(sys.platform == "win32", reason="LMod not supported on Windows")
+@pytest.mark.regression("15775")
def test_exclude_lmod_variables():
# Construct the list of environment modifications
- file = os.path.join(datadir, 'sourceme_lmod.sh')
+ file = os.path.join(datadir, "sourceme_lmod.sh")
env = EnvironmentModifications.from_sourcing_file(file)
# Check that variables related to lmod are not in there
modifications = env.group_by_name()
- assert not any(x.startswith('LMOD_') for x in modifications)
+ assert not any(x.startswith("LMOD_") for x in modifications)
diff --git a/lib/spack/spack/test/fetch_strategy.py b/lib/spack/spack/test/fetch_strategy.py
index 28b71fd750..4609a5b0a8 100644
--- a/lib/spack/spack/test/fetch_strategy.py
+++ b/lib/spack/spack/test/fetch_strategy.py
@@ -13,5 +13,4 @@ def test_fetchstrategy_bad_url_scheme():
unsupported scheme fails as expected."""
with pytest.raises(ValueError):
- fetcher = from_url_scheme( # noqa: F841
- 'bogus-scheme://example.com/a/b/c')
+ fetcher = from_url_scheme("bogus-scheme://example.com/a/b/c") # noqa: F841
diff --git a/lib/spack/spack/test/flag_handlers.py b/lib/spack/spack/test/flag_handlers.py
index ec197515c2..d55a059769 100644
--- a/lib/spack/spack/test/flag_handlers.py
+++ b/lib/spack/spack/test/flag_handlers.py
@@ -23,69 +23,71 @@ def temp_env():
def add_o3_to_build_system_cflags(pkg, name, flags):
build_system_flags = []
- if name == 'cflags':
- build_system_flags.append('-O3')
+ if name == "cflags":
+ build_system_flags.append("-O3")
return flags, None, build_system_flags
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestFlagHandlers(object):
def test_no_build_system_flags(self, temp_env):
# Test that both autotools and cmake work getting no build_system flags
- s1 = spack.spec.Spec('cmake-client').concretized()
+ s1 = spack.spec.Spec("cmake-client").concretized()
spack.build_environment.setup_package(s1.package, False)
- s2 = spack.spec.Spec('patchelf').concretized()
+ s2 = spack.spec.Spec("patchelf").concretized()
spack.build_environment.setup_package(s2.package, False)
# Use cppflags as a canary
- assert 'SPACK_CPPFLAGS' not in os.environ
- assert 'CPPFLAGS' not in os.environ
+ assert "SPACK_CPPFLAGS" not in os.environ
+ assert "CPPFLAGS" not in os.environ
def test_unbound_method(self, temp_env):
# Other tests test flag_handlers set as bound methods and functions.
# This tests an unbound method in python2 (no change in python3).
- s = spack.spec.Spec('mpileaks cppflags=-g').concretized()
+ s = spack.spec.Spec("mpileaks cppflags=-g").concretized()
s.package.flag_handler = s.package.__class__.inject_flags
spack.build_environment.setup_package(s.package, False)
- assert os.environ['SPACK_CPPFLAGS'] == '-g'
- assert 'CPPFLAGS' not in os.environ
+ assert os.environ["SPACK_CPPFLAGS"] == "-g"
+ assert "CPPFLAGS" not in os.environ
def test_inject_flags(self, temp_env):
- s = spack.spec.Spec('mpileaks cppflags=-g').concretized()
+ s = spack.spec.Spec("mpileaks cppflags=-g").concretized()
s.package.flag_handler = inject_flags
spack.build_environment.setup_package(s.package, False)
- assert os.environ['SPACK_CPPFLAGS'] == '-g'
- assert 'CPPFLAGS' not in os.environ
+ assert os.environ["SPACK_CPPFLAGS"] == "-g"
+ assert "CPPFLAGS" not in os.environ
def test_env_flags(self, temp_env):
- s = spack.spec.Spec('mpileaks cppflags=-g').concretized()
+ s = spack.spec.Spec("mpileaks cppflags=-g").concretized()
s.package.flag_handler = env_flags
spack.build_environment.setup_package(s.package, False)
- assert os.environ['CPPFLAGS'] == '-g'
- assert 'SPACK_CPPFLAGS' not in os.environ
+ assert os.environ["CPPFLAGS"] == "-g"
+ assert "SPACK_CPPFLAGS" not in os.environ
def test_build_system_flags_cmake(self, temp_env):
- s = spack.spec.Spec('cmake-client cppflags=-g').concretized()
+ s = spack.spec.Spec("cmake-client cppflags=-g").concretized()
s.package.flag_handler = build_system_flags
spack.build_environment.setup_package(s.package, False)
- assert 'SPACK_CPPFLAGS' not in os.environ
- assert 'CPPFLAGS' not in os.environ
+ assert "SPACK_CPPFLAGS" not in os.environ
+ assert "CPPFLAGS" not in os.environ
assert set(s.package.cmake_flag_args) == {
- '-DCMAKE_C_FLAGS=-g', '-DCMAKE_CXX_FLAGS=-g', '-DCMAKE_Fortran_FLAGS=-g'
+ "-DCMAKE_C_FLAGS=-g",
+ "-DCMAKE_CXX_FLAGS=-g",
+ "-DCMAKE_Fortran_FLAGS=-g",
}
def test_build_system_flags_autotools(self, temp_env):
- s = spack.spec.Spec('patchelf cppflags=-g').concretized()
+ s = spack.spec.Spec("patchelf cppflags=-g").concretized()
s.package.flag_handler = build_system_flags
spack.build_environment.setup_package(s.package, False)
- assert 'SPACK_CPPFLAGS' not in os.environ
- assert 'CPPFLAGS' not in os.environ
- assert 'CPPFLAGS=-g' in s.package.configure_flag_args
+ assert "SPACK_CPPFLAGS" not in os.environ
+ assert "CPPFLAGS" not in os.environ
+ assert "CPPFLAGS=-g" in s.package.configure_flag_args
def test_build_system_flags_not_implemented(self, temp_env):
"""Test the command line flags method raises a NotImplementedError"""
- s = spack.spec.Spec('mpileaks cppflags=-g').concretized()
+ s = spack.spec.Spec("mpileaks cppflags=-g").concretized()
s.package.flag_handler = build_system_flags
try:
spack.build_environment.setup_package(s.package, False)
@@ -94,42 +96,42 @@ class TestFlagHandlers(object):
assert True
def test_add_build_system_flags_autotools(self, temp_env):
- s = spack.spec.Spec('patchelf cppflags=-g').concretized()
+ s = spack.spec.Spec("patchelf cppflags=-g").concretized()
s.package.flag_handler = add_o3_to_build_system_cflags
spack.build_environment.setup_package(s.package, False)
- assert '-g' in os.environ['SPACK_CPPFLAGS']
- assert 'CPPFLAGS' not in os.environ
- assert s.package.configure_flag_args == ['CFLAGS=-O3']
+ assert "-g" in os.environ["SPACK_CPPFLAGS"]
+ assert "CPPFLAGS" not in os.environ
+ assert s.package.configure_flag_args == ["CFLAGS=-O3"]
def test_add_build_system_flags_cmake(self, temp_env):
- s = spack.spec.Spec('cmake-client cppflags=-g').concretized()
+ s = spack.spec.Spec("cmake-client cppflags=-g").concretized()
s.package.flag_handler = add_o3_to_build_system_cflags
spack.build_environment.setup_package(s.package, False)
- assert '-g' in os.environ['SPACK_CPPFLAGS']
- assert 'CPPFLAGS' not in os.environ
- assert s.package.cmake_flag_args == ['-DCMAKE_C_FLAGS=-O3']
+ assert "-g" in os.environ["SPACK_CPPFLAGS"]
+ assert "CPPFLAGS" not in os.environ
+ assert s.package.cmake_flag_args == ["-DCMAKE_C_FLAGS=-O3"]
def test_ld_flags_cmake(self, temp_env):
- s = spack.spec.Spec('cmake-client ldflags=-mthreads').concretized()
+ s = spack.spec.Spec("cmake-client ldflags=-mthreads").concretized()
s.package.flag_handler = build_system_flags
spack.build_environment.setup_package(s.package, False)
- assert 'SPACK_LDFLAGS' not in os.environ
- assert 'LDFLAGS' not in os.environ
+ assert "SPACK_LDFLAGS" not in os.environ
+ assert "LDFLAGS" not in os.environ
assert set(s.package.cmake_flag_args) == {
- '-DCMAKE_EXE_LINKER_FLAGS=-mthreads',
- '-DCMAKE_MODULE_LINKER_FLAGS=-mthreads',
- '-DCMAKE_SHARED_LINKER_FLAGS=-mthreads',
- '-DCMAKE_STATIC_LINKER_FLAGS=-mthreads'
+ "-DCMAKE_EXE_LINKER_FLAGS=-mthreads",
+ "-DCMAKE_MODULE_LINKER_FLAGS=-mthreads",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-mthreads",
+ "-DCMAKE_STATIC_LINKER_FLAGS=-mthreads",
}
def test_ld_libs_cmake(self, temp_env):
- s = spack.spec.Spec('cmake-client ldlibs=-lfoo').concretized()
+ s = spack.spec.Spec("cmake-client ldlibs=-lfoo").concretized()
s.package.flag_handler = build_system_flags
spack.build_environment.setup_package(s.package, False)
- assert 'SPACK_LDLIBS' not in os.environ
- assert 'LDLIBS' not in os.environ
+ assert "SPACK_LDLIBS" not in os.environ
+ assert "LDLIBS" not in os.environ
assert set(s.package.cmake_flag_args) == {
- '-DCMAKE_C_STANDARD_LIBRARIES=-lfoo',
- '-DCMAKE_CXX_STANDARD_LIBRARIES=-lfoo',
- '-DCMAKE_Fortran_STANDARD_LIBRARIES=-lfoo'
+ "-DCMAKE_C_STANDARD_LIBRARIES=-lfoo",
+ "-DCMAKE_CXX_STANDARD_LIBRARIES=-lfoo",
+ "-DCMAKE_Fortran_STANDARD_LIBRARIES=-lfoo",
}
diff --git a/lib/spack/spack/test/gcs_fetch.py b/lib/spack/spack/test/gcs_fetch.py
index ab9df6ad1b..90657d4693 100644
--- a/lib/spack/spack/test/gcs_fetch.py
+++ b/lib/spack/spack/test/gcs_fetch.py
@@ -12,21 +12,21 @@ import spack.fetch_strategy
import spack.stage
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@pytest.mark.parametrize("_fetch_method", ["curl", "urllib"])
def test_gcsfetchstrategy_without_url(_fetch_method):
"""Ensure constructor with no URL fails."""
- with spack.config.override('config:url_fetch_method', _fetch_method):
+ with spack.config.override("config:url_fetch_method", _fetch_method):
with pytest.raises(ValueError):
spack.fetch_strategy.GCSFetchStrategy(None)
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@pytest.mark.parametrize("_fetch_method", ["curl", "urllib"])
def test_gcsfetchstrategy_bad_url(tmpdir, _fetch_method):
"""Ensure fetch with bad URL fails as expected."""
testpath = str(tmpdir)
- with spack.config.override('config:url_fetch_method', _fetch_method):
- fetcher = spack.fetch_strategy.GCSFetchStrategy(url='file:///does-not-exist')
+ with spack.config.override("config:url_fetch_method", _fetch_method):
+ fetcher = spack.fetch_strategy.GCSFetchStrategy(url="file:///does-not-exist")
assert fetcher is not None
with spack.stage.Stage(fetcher, path=testpath) as stage:
@@ -36,19 +36,20 @@ def test_gcsfetchstrategy_bad_url(tmpdir, _fetch_method):
fetcher.fetch()
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@pytest.mark.parametrize("_fetch_method", ["curl", "urllib"])
def test_gcsfetchstrategy_downloaded(tmpdir, _fetch_method):
"""Ensure fetch with archive file already downloaded is a noop."""
testpath = str(tmpdir)
- archive = os.path.join(testpath, 'gcs.tar.gz')
+ archive = os.path.join(testpath, "gcs.tar.gz")
+
+ with spack.config.override("config:url_fetch_method", _fetch_method):
- with spack.config.override('config:url_fetch_method', _fetch_method):
class Archived_GCSFS(spack.fetch_strategy.GCSFetchStrategy):
@property
def archive_file(self):
return archive
- url = 'gcs:///{0}'.format(archive)
+ url = "gcs:///{0}".format(archive)
fetcher = Archived_GCSFS(url=url)
with spack.stage.Stage(fetcher, path=testpath):
fetcher.fetch()
diff --git a/lib/spack/spack/test/git_fetch.py b/lib/spack/spack/test/git_fetch.py
index cb3d71d5b3..0f9f587421 100644
--- a/lib/spack/spack/test/git_fetch.py
+++ b/lib/spack/spack/test/git_fetch.py
@@ -19,15 +19,13 @@ from spack.stage import Stage
from spack.util.executable import which
from spack.version import ver
-pytestmark = pytest.mark.skipif(
- not which('git'), reason='requires git to be installed')
+pytestmark = pytest.mark.skipif(not which("git"), reason="requires git to be installed")
-_mock_transport_error = 'Mock HTTP transport error'
+_mock_transport_error = "Mock HTTP transport error"
-@pytest.fixture(params=[None, '1.8.5.2', '1.8.5.1',
- '1.7.10', '1.7.1', '1.7.0'])
+@pytest.fixture(params=[None, "1.8.5.2", "1.8.5.1", "1.7.10", "1.7.1", "1.7.0"])
def git_version(request, monkeypatch):
"""Tests GitFetchStrategy behavior for different git versions.
@@ -36,9 +34,8 @@ def git_version(request, monkeypatch):
paths for old versions still work, we fake it out here and make it
use the backward-compatibility code paths with newer git versions.
"""
- git = which('git', required=True)
- real_git_version = (
- spack.fetch_strategy.GitFetchStrategy.version_from_git(git))
+ git = which("git", required=True)
+ real_git_version = spack.fetch_strategy.GitFetchStrategy.version_from_git(git)
if request.param is None:
# Don't patch; run with the real git_version method.
@@ -51,7 +48,7 @@ def git_version(request, monkeypatch):
# Patch the fetch strategy to think it's using a lower git version.
# we use this to test what we'd need to do with older git versions
# using a newer git installation.
- monkeypatch.setattr(GitFetchStrategy, 'git_version', test_git_version)
+ monkeypatch.setattr(GitFetchStrategy, "git_version", test_git_version)
yield test_git_version
@@ -61,14 +58,15 @@ def mock_bad_git(monkeypatch):
Test GitFetchStrategy behavior with a bad git command for git >= 1.7.1
to trigger a SpackError.
"""
+
def bad_git(*args, **kwargs):
"""Raise a SpackError with the transport message."""
raise spack.error.SpackError(_mock_transport_error)
# Patch the fetch strategy to think it's using a git version that
# will error out when git is called.
- monkeypatch.setattr(GitFetchStrategy, 'git', bad_git)
- monkeypatch.setattr(GitFetchStrategy, 'git_version', ver('1.7.1'))
+ monkeypatch.setattr(GitFetchStrategy, "git", bad_git)
+ monkeypatch.setattr(GitFetchStrategy, "git_version", ver("1.7.1"))
yield
@@ -77,20 +75,16 @@ def test_bad_git(tmpdir, mock_bad_git):
testpath = str(tmpdir)
with pytest.raises(spack.error.SpackError):
- fetcher = GitFetchStrategy(git='file:///not-a-real-git-repo')
+ fetcher = GitFetchStrategy(git="file:///not-a-real-git-repo")
with Stage(fetcher, path=testpath):
fetcher.fetch()
-@pytest.mark.parametrize("type_of_test", ['default', 'branch', 'tag', 'commit'])
+@pytest.mark.parametrize("type_of_test", ["default", "branch", "tag", "commit"])
@pytest.mark.parametrize("secure", [True, False])
-def test_fetch(type_of_test,
- secure,
- mock_git_repository,
- config,
- mutable_mock_repo,
- git_version,
- monkeypatch):
+def test_fetch(
+ type_of_test, secure, mock_git_repository, config, mutable_mock_repo, git_version, monkeypatch
+):
"""Tries to:
1. Fetch the repo using a fetch strategy constructed with
@@ -104,22 +98,22 @@ def test_fetch(type_of_test,
t = mock_git_repository.checks[type_of_test]
h = mock_git_repository.hash
- pkg_class = spack.repo.path.get_pkg_class('git-test')
+ pkg_class = spack.repo.path.get_pkg_class("git-test")
# This would fail using the default-no-per-version-git check but that
# isn't included in this test
- monkeypatch.delattr(pkg_class, 'git')
+ monkeypatch.delattr(pkg_class, "git")
# Construct the package under test
- s = Spec('git-test').concretized()
- monkeypatch.setitem(s.package.versions, ver('git'), t.args)
+ s = Spec("git-test").concretized()
+ monkeypatch.setitem(s.package.versions, ver("git"), t.args)
# Enter the stage directory and check some properties
with s.package.stage:
- with spack.config.override('config:verify_ssl', secure):
+ with spack.config.override("config:verify_ssl", secure):
s.package.do_stage()
with working_dir(s.package.stage.source_path):
- assert h('HEAD') == h(t.revision)
+ assert h("HEAD") == h(t.revision)
file_path = os.path.join(s.package.stage.source_path, t.file)
assert os.path.isdir(s.package.stage.source_path)
@@ -128,7 +122,7 @@ def test_fetch(type_of_test,
os.unlink(file_path)
assert not os.path.isfile(file_path)
- untracked_file = 'foobarbaz'
+ untracked_file = "foobarbaz"
touch(untracked_file)
assert os.path.isfile(untracked_file)
s.package.do_restage()
@@ -137,85 +131,80 @@ def test_fetch(type_of_test,
assert os.path.isdir(s.package.stage.source_path)
assert os.path.isfile(file_path)
- assert h('HEAD') == h(t.revision)
+ assert h("HEAD") == h(t.revision)
@pytest.mark.disable_clean_stage_check
def test_fetch_pkg_attr_submodule_init(
- mock_git_repository,
- config,
- mutable_mock_repo,
- monkeypatch,
- mock_stage):
+ mock_git_repository, config, mutable_mock_repo, monkeypatch, mock_stage
+):
"""In this case the version() args do not contain a 'git' URL, so
the fetcher must be assembled using the Package-level 'git' attribute.
This test ensures that the submodules are properly initialized and the
expected branch file is present.
"""
- t = mock_git_repository.checks['default-no-per-version-git']
- pkg_class = spack.repo.path.get_pkg_class('git-test')
+ t = mock_git_repository.checks["default-no-per-version-git"]
+ pkg_class = spack.repo.path.get_pkg_class("git-test")
# For this test, the version args don't specify 'git' (which is
# the majority of version specifications)
- monkeypatch.setattr(pkg_class, 'git', mock_git_repository.url)
+ monkeypatch.setattr(pkg_class, "git", mock_git_repository.url)
# Construct the package under test
- s = Spec('git-test').concretized()
- monkeypatch.setitem(s.package.versions, ver('git'), t.args)
+ s = Spec("git-test").concretized()
+ monkeypatch.setitem(s.package.versions, ver("git"), t.args)
s.package.do_stage()
collected_fnames = set()
for root, dirs, files in os.walk(s.package.stage.source_path):
collected_fnames.update(files)
# The submodules generate files with the prefix "r0_file_"
- assert {'r0_file_0', 'r0_file_1', t.file} < collected_fnames
-
-
-@pytest.mark.skipif(str(spack.platforms.host()) == 'windows',
- reason=('Git fails to clone because the src/dst paths'
- ' are too long: the name of the staging directory'
- ' for ad-hoc Git commit versions is longer than'
- ' other staged sources'))
+ assert {"r0_file_0", "r0_file_1", t.file} < collected_fnames
+
+
+@pytest.mark.skipif(
+ str(spack.platforms.host()) == "windows",
+ reason=(
+ "Git fails to clone because the src/dst paths"
+ " are too long: the name of the staging directory"
+ " for ad-hoc Git commit versions is longer than"
+ " other staged sources"
+ ),
+)
@pytest.mark.disable_clean_stage_check
def test_adhoc_version_submodules(
- mock_git_repository,
- config,
- mutable_mock_repo,
- monkeypatch,
- mock_stage):
+ mock_git_repository, config, mutable_mock_repo, monkeypatch, mock_stage
+):
- t = mock_git_repository.checks['tag']
+ t = mock_git_repository.checks["tag"]
# Construct the package under test
- pkg_class = spack.repo.path.get_pkg_class('git-test')
- monkeypatch.setitem(pkg_class.versions, ver('git'), t.args)
- monkeypatch.setattr(pkg_class, 'git', 'file://%s' % mock_git_repository.path,
- raising=False)
+ pkg_class = spack.repo.path.get_pkg_class("git-test")
+ monkeypatch.setitem(pkg_class.versions, ver("git"), t.args)
+ monkeypatch.setattr(pkg_class, "git", "file://%s" % mock_git_repository.path, raising=False)
- spec = Spec('git-test@{0}'.format(mock_git_repository.unversioned_commit))
+ spec = Spec("git-test@{0}".format(mock_git_repository.unversioned_commit))
spec.concretize()
spec.package.do_stage()
collected_fnames = set()
for root, dirs, files in os.walk(spec.package.stage.source_path):
collected_fnames.update(files)
# The submodules generate files with the prefix "r0_file_"
- assert set(['r0_file_0', 'r0_file_1']) < collected_fnames
+ assert set(["r0_file_0", "r0_file_1"]) < collected_fnames
-@pytest.mark.parametrize("type_of_test", ['branch', 'commit'])
-def test_debug_fetch(
- mock_packages, type_of_test, mock_git_repository, config, monkeypatch
-):
+@pytest.mark.parametrize("type_of_test", ["branch", "commit"])
+def test_debug_fetch(mock_packages, type_of_test, mock_git_repository, config, monkeypatch):
"""Fetch the repo with debug enabled."""
# Retrieve the right test parameters
t = mock_git_repository.checks[type_of_test]
# Construct the package under test
- s = Spec('git-test').concretized()
- monkeypatch.setitem(s.package.versions, ver('git'), t.args)
+ s = Spec("git-test").concretized()
+ monkeypatch.setitem(s.package.versions, ver("git"), t.args)
# Fetch then ensure source path exists
with s.package.stage:
- with spack.config.override('config:debug', True):
+ with spack.config.override("config:debug", True):
s.package.do_fetch()
assert os.path.isdir(s.package.stage.source_path)
@@ -224,68 +213,67 @@ def test_git_extra_fetch(tmpdir):
"""Ensure a fetch after 'expanding' is effectively a no-op."""
testpath = str(tmpdir)
- fetcher = GitFetchStrategy(git='file:///not-a-real-git-repo')
+ fetcher = GitFetchStrategy(git="file:///not-a-real-git-repo")
with Stage(fetcher, path=testpath) as stage:
mkdirp(stage.source_path)
- fetcher.fetch() # Use fetcher to fetch for code coverage
+ fetcher.fetch() # Use fetcher to fetch for code coverage
shutil.rmtree(stage.source_path)
def test_needs_stage():
"""Trigger a NoStageError when attempt a fetch without a stage."""
- with pytest.raises(spack.fetch_strategy.NoStageError,
- match=r"set_stage.*before calling fetch"):
- fetcher = GitFetchStrategy(git='file:///not-a-real-git-repo')
+ with pytest.raises(
+ spack.fetch_strategy.NoStageError, match=r"set_stage.*before calling fetch"
+ ):
+ fetcher = GitFetchStrategy(git="file:///not-a-real-git-repo")
fetcher.fetch()
@pytest.mark.parametrize("get_full_repo", [True, False])
-def test_get_full_repo(get_full_repo, git_version, mock_git_repository,
- config, mutable_mock_repo, monkeypatch):
+def test_get_full_repo(
+ get_full_repo, git_version, mock_git_repository, config, mutable_mock_repo, monkeypatch
+):
"""Ensure that we can clone a full repository."""
- if git_version < ver('1.7.1'):
- pytest.skip('Not testing get_full_repo for older git {0}'.
- format(git_version))
+ if git_version < ver("1.7.1"):
+ pytest.skip("Not testing get_full_repo for older git {0}".format(git_version))
secure = True
- type_of_test = 'tag-branch'
+ type_of_test = "tag-branch"
t = mock_git_repository.checks[type_of_test]
- s = Spec('git-test').concretized()
+ s = Spec("git-test").concretized()
args = copy.copy(t.args)
- args['get_full_repo'] = get_full_repo
- monkeypatch.setitem(s.package.versions, ver('git'), args)
+ args["get_full_repo"] = get_full_repo
+ monkeypatch.setitem(s.package.versions, ver("git"), args)
with s.package.stage:
- with spack.config.override('config:verify_ssl', secure):
+ with spack.config.override("config:verify_ssl", secure):
s.package.do_stage()
with working_dir(s.package.stage.source_path):
- branches\
- = mock_git_repository.git_exe('branch', '-a',
- output=str).splitlines()
+ branches = mock_git_repository.git_exe("branch", "-a", output=str).splitlines()
nbranches = len(branches)
- commits\
- = mock_git_repository.\
- git_exe('log', '--graph',
- '--pretty=format:%h -%d %s (%ci) <%an>',
- '--abbrev-commit',
- output=str).splitlines()
+ commits = mock_git_repository.git_exe(
+ "log",
+ "--graph",
+ "--pretty=format:%h -%d %s (%ci) <%an>",
+ "--abbrev-commit",
+ output=str,
+ ).splitlines()
ncommits = len(commits)
if get_full_repo:
- assert(nbranches >= 5)
- assert(ncommits == 2)
+ assert nbranches >= 5
+ assert ncommits == 2
else:
- assert(nbranches == 2)
- assert(ncommits == 1)
+ assert nbranches == 2
+ assert ncommits == 1
@pytest.mark.disable_clean_stage_check
@pytest.mark.parametrize("submodules", [True, False])
-def test_gitsubmodule(submodules, mock_git_repository, config,
- mutable_mock_repo, monkeypatch):
+def test_gitsubmodule(submodules, mock_git_repository, config, mutable_mock_repo, monkeypatch):
"""
Test GitFetchStrategy behavior with submodules. This package
has a `submodules` property which is always True: when a specific
@@ -294,20 +282,21 @@ def test_gitsubmodule(submodules, mock_git_repository, config,
submodules *not* be initialized, this should override the
Package-level request.
"""
- type_of_test = 'tag-branch'
+ type_of_test = "tag-branch"
t = mock_git_repository.checks[type_of_test]
# Construct the package under test
- s = Spec('git-test').concretized()
+ s = Spec("git-test").concretized()
args = copy.copy(t.args)
- args['submodules'] = submodules
- monkeypatch.setitem(s.package.versions, ver('git'), args)
+ args["submodules"] = submodules
+ monkeypatch.setitem(s.package.versions, ver("git"), args)
s.package.do_stage()
with working_dir(s.package.stage.source_path):
for submodule_count in range(2):
- file_path = os.path.join(s.package.stage.source_path,
- 'third_party/submodule{0}/r0_file_{0}'
- .format(submodule_count))
+ file_path = os.path.join(
+ s.package.stage.source_path,
+ "third_party/submodule{0}/r0_file_{0}".format(submodule_count),
+ )
if submodules:
assert os.path.isfile(file_path)
else:
@@ -315,56 +304,48 @@ def test_gitsubmodule(submodules, mock_git_repository, config,
@pytest.mark.disable_clean_stage_check
-def test_gitsubmodules_callable(
- mock_git_repository, config, mutable_mock_repo, monkeypatch
-):
+def test_gitsubmodules_callable(mock_git_repository, config, mutable_mock_repo, monkeypatch):
"""
Test GitFetchStrategy behavior with submodules selected after concretization
"""
+
def submodules_callback(package):
- name = 'third_party/submodule0'
+ name = "third_party/submodule0"
return [name]
- type_of_test = 'tag-branch'
+ type_of_test = "tag-branch"
t = mock_git_repository.checks[type_of_test]
# Construct the package under test
- s = Spec('git-test').concretized()
+ s = Spec("git-test").concretized()
args = copy.copy(t.args)
- args['submodules'] = submodules_callback
- monkeypatch.setitem(s.package.versions, ver('git'), args)
+ args["submodules"] = submodules_callback
+ monkeypatch.setitem(s.package.versions, ver("git"), args)
s.package.do_stage()
with working_dir(s.package.stage.source_path):
- file_path = os.path.join(s.package.stage.source_path,
- 'third_party/submodule0/r0_file_0')
+ file_path = os.path.join(s.package.stage.source_path, "third_party/submodule0/r0_file_0")
assert os.path.isfile(file_path)
- file_path = os.path.join(s.package.stage.source_path,
- 'third_party/submodule1/r0_file_1')
+ file_path = os.path.join(s.package.stage.source_path, "third_party/submodule1/r0_file_1")
assert not os.path.isfile(file_path)
@pytest.mark.disable_clean_stage_check
-def test_gitsubmodules_delete(
- mock_git_repository, config, mutable_mock_repo, monkeypatch
-):
+def test_gitsubmodules_delete(mock_git_repository, config, mutable_mock_repo, monkeypatch):
"""
Test GitFetchStrategy behavior with submodules_delete
"""
- type_of_test = 'tag-branch'
+ type_of_test = "tag-branch"
t = mock_git_repository.checks[type_of_test]
# Construct the package under test
- s = Spec('git-test').concretized()
+ s = Spec("git-test").concretized()
args = copy.copy(t.args)
- args['submodules'] = True
- args['submodules_delete'] = ['third_party/submodule0',
- 'third_party/submodule1']
- monkeypatch.setitem(s.package.versions, ver('git'), args)
+ args["submodules"] = True
+ args["submodules_delete"] = ["third_party/submodule0", "third_party/submodule1"]
+ monkeypatch.setitem(s.package.versions, ver("git"), args)
s.package.do_stage()
with working_dir(s.package.stage.source_path):
- file_path = os.path.join(s.package.stage.source_path,
- 'third_party/submodule0')
+ file_path = os.path.join(s.package.stage.source_path, "third_party/submodule0")
assert not os.path.isdir(file_path)
- file_path = os.path.join(s.package.stage.source_path,
- 'third_party/submodule1')
+ file_path = os.path.join(s.package.stage.source_path, "third_party/submodule1")
assert not os.path.isdir(file_path)
diff --git a/lib/spack/spack/test/graph.py b/lib/spack/spack/test/graph.py
index f3a7db1ea0..e7aafe4b0d 100644
--- a/lib/spack/spack/test/graph.py
+++ b/lib/spack/spack/test/graph.py
@@ -12,18 +12,18 @@ import spack.repo
import spack.spec
-@pytest.mark.parametrize('spec_str', ['mpileaks', 'callpath'])
+@pytest.mark.parametrize("spec_str", ["mpileaks", "callpath"])
def test_topo_sort(spec_str, config, mock_packages):
"""Ensure nodes are ordered topologically"""
s = spack.spec.Spec(spec_str).concretized()
nodes = spack.graph.topological_sort(s)
for idx, current in enumerate(nodes):
- assert all(following not in current for following in nodes[idx + 1:])
+ assert all(following not in current for following in nodes[idx + 1 :])
def test_static_graph_mpileaks(config, mock_packages):
"""Test a static spack graph for a simple package."""
- s = spack.spec.Spec('mpileaks').normalized()
+ s = spack.spec.Spec("mpileaks").normalized()
stream = six.StringIO()
spack.graph.graph_dot([s], static=True, out=stream)
@@ -31,72 +31,68 @@ def test_static_graph_mpileaks(config, mock_packages):
dot = stream.getvalue()
assert ' "mpileaks" [label="mpileaks"]\n' in dot
- assert ' "dyninst" [label="dyninst"]\n' in dot
+ assert ' "dyninst" [label="dyninst"]\n' in dot
assert ' "callpath" [label="callpath"]\n' in dot
- assert ' "libelf" [label="libelf"]\n' in dot
+ assert ' "libelf" [label="libelf"]\n' in dot
assert ' "libdwarf" [label="libdwarf"]\n' in dot
- mpi_providers = spack.repo.path.providers_for('mpi')
+ mpi_providers = spack.repo.path.providers_for("mpi")
for spec in mpi_providers:
assert ('"mpileaks" -> "%s"' % spec.name) in dot
assert ('"callpath" -> "%s"' % spec.name) in dot
- assert ' "dyninst" -> "libdwarf"\n' in dot
- assert ' "callpath" -> "dyninst"\n' in dot
- assert ' "libdwarf" -> "libelf"\n' in dot
+ assert ' "dyninst" -> "libdwarf"\n' in dot
+ assert ' "callpath" -> "dyninst"\n' in dot
+ assert ' "libdwarf" -> "libelf"\n' in dot
assert ' "mpileaks" -> "callpath"\n' in dot
- assert ' "dyninst" -> "libelf"\n' in dot
+ assert ' "dyninst" -> "libelf"\n' in dot
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_dynamic_dot_graph_mpileaks(mock_packages, config):
"""Test dynamically graphing the mpileaks package."""
- s = spack.spec.Spec('mpileaks').concretized()
+ s = spack.spec.Spec("mpileaks").concretized()
stream = six.StringIO()
spack.graph.graph_dot([s], static=False, out=stream)
dot = stream.getvalue()
- nodes_to_check = ['mpileaks', 'mpi', 'callpath', 'dyninst', 'libdwarf', 'libelf']
+ nodes_to_check = ["mpileaks", "mpi", "callpath", "dyninst", "libdwarf", "libelf"]
hashes = {}
for name in nodes_to_check:
current = s[name]
current_hash = current.dag_hash()
hashes[name] = current_hash
- assert ' "{0}" [label="{1}"]\n'.format(
- current_hash, spack.graph.node_label(current)
- ) in dot
+ assert (
+ ' "{0}" [label="{1}"]\n'.format(current_hash, spack.graph.node_label(current)) in dot
+ )
dependencies_to_check = [
- ('dyninst', 'libdwarf'),
- ('callpath', 'dyninst'),
- ('mpileaks', 'mpi'),
- ('libdwarf', 'libelf'),
- ('callpath', 'mpi'),
- ('mpileaks', 'callpath'),
- ('dyninst', 'libelf')
+ ("dyninst", "libdwarf"),
+ ("callpath", "dyninst"),
+ ("mpileaks", "mpi"),
+ ("libdwarf", "libelf"),
+ ("callpath", "mpi"),
+ ("mpileaks", "callpath"),
+ ("dyninst", "libelf"),
]
for parent, child in dependencies_to_check:
assert ' "{0}" -> "{1}"\n'.format(hashes[parent], hashes[child]) in dot
-@pytest.mark.skipif(
- sys.version_info < (3, 6), reason="Ordering might not be consistent"
-)
+@pytest.mark.skipif(sys.version_info < (3, 6), reason="Ordering might not be consistent")
def test_ascii_graph_mpileaks(config, mock_packages, monkeypatch):
- monkeypatch.setattr(
- spack.graph.AsciiGraph, '_node_label',
- lambda self, node: node.name
- )
- s = spack.spec.Spec('mpileaks').concretized()
+ monkeypatch.setattr(spack.graph.AsciiGraph, "_node_label", lambda self, node: node.name)
+ s = spack.spec.Spec("mpileaks").concretized()
stream = six.StringIO()
graph = spack.graph.AsciiGraph()
graph.write(s, out=stream, color=False)
graph_str = stream.getvalue()
- graph_str = '\n'.join([line.rstrip() for line in graph_str.split('\n')])
+ graph_str = "\n".join([line.rstrip() for line in graph_str.split("\n")])
- assert graph_str == r'''o mpileaks
+ assert (
+ graph_str
+ == r"""o mpileaks
|\
| o callpath
|/|
@@ -107,12 +103,13 @@ o dyninst
| o libdwarf
|/
o libelf
-'''
+"""
+ )
def test_topological_sort_filtering_dependency_types(config, mock_packages):
- s = spack.spec.Spec('both-link-and-build-dep-a').concretized()
+ s = spack.spec.Spec("both-link-and-build-dep-a").concretized()
- nodes = spack.graph.topological_sort(s, deptype=('link',))
+ nodes = spack.graph.topological_sort(s, deptype=("link",))
names = [s.name for s in nodes]
- assert names == ['both-link-and-build-dep-c', 'both-link-and-build-dep-a']
+ assert names == ["both-link-and-build-dep-c", "both-link-and-build-dep-a"]
diff --git a/lib/spack/spack/test/hg_fetch.py b/lib/spack/spack/test/hg_fetch.py
index c086e5cdc9..400fc79563 100644
--- a/lib/spack/spack/test/hg_fetch.py
+++ b/lib/spack/spack/test/hg_fetch.py
@@ -20,22 +20,15 @@ from spack.version import ver
# Test functionality covered is supported on Windows, but currently failing
# and expected to be fixed
-pytestmark = [pytest.mark.skipif(
- not which('hg'), reason='requires mercurial to be installed'),
- pytest.mark.skipif(
- sys.platform == 'win32', reason="Failing on Win")]
+pytestmark = [
+ pytest.mark.skipif(not which("hg"), reason="requires mercurial to be installed"),
+ pytest.mark.skipif(sys.platform == "win32", reason="Failing on Win"),
+]
-@pytest.mark.parametrize("type_of_test", ['default', 'rev0'])
+@pytest.mark.parametrize("type_of_test", ["default", "rev0"])
@pytest.mark.parametrize("secure", [True, False])
-def test_fetch(
- type_of_test,
- secure,
- mock_hg_repository,
- config,
- mutable_mock_repo,
- monkeypatch
-):
+def test_fetch(type_of_test, secure, mock_hg_repository, config, mutable_mock_repo, monkeypatch):
"""Tries to:
1. Fetch the repo using a fetch strategy constructed with
@@ -50,12 +43,12 @@ def test_fetch(
h = mock_hg_repository.hash
# Construct the package under test
- s = Spec('hg-test').concretized()
- monkeypatch.setitem(s.package.versions, ver('hg'), t.args)
+ s = Spec("hg-test").concretized()
+ monkeypatch.setitem(s.package.versions, ver("hg"), t.args)
# Enter the stage directory and check some properties
with s.package.stage:
- with spack.config.override('config:verify_ssl', secure):
+ with spack.config.override("config:verify_ssl", secure):
s.package.do_stage()
with working_dir(s.package.stage.source_path):
@@ -68,7 +61,7 @@ def test_fetch(
os.unlink(file_path)
assert not os.path.isfile(file_path)
- untracked_file = 'foobarbaz'
+ untracked_file = "foobarbaz"
touch(untracked_file)
assert os.path.isfile(untracked_file)
s.package.do_restage()
@@ -84,7 +77,7 @@ def test_hg_extra_fetch(tmpdir):
"""Ensure a fetch after expanding is effectively a no-op."""
testpath = str(tmpdir)
- fetcher = HgFetchStrategy(hg='file:///not-a-real-hg-repo')
+ fetcher = HgFetchStrategy(hg="file:///not-a-real-hg-repo")
with Stage(fetcher, path=testpath) as stage:
source_path = stage.source_path
mkdirp(source_path)
diff --git a/lib/spack/spack/test/install.py b/lib/spack/spack/test/install.py
index f214c340df..079ff8851c 100644
--- a/lib/spack/spack/test/install.py
+++ b/lib/spack/spack/test/install.py
@@ -27,12 +27,11 @@ from spack.spec import Spec
def find_nothing(*args):
- raise spack.repo.UnknownPackageError(
- 'Repo package access is disabled for test')
+ raise spack.repo.UnknownPackageError("Repo package access is disabled for test")
def test_install_and_uninstall(install_mockery, mock_fetch, monkeypatch):
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
spec.package.do_install()
assert spec.installed
@@ -41,17 +40,17 @@ def test_install_and_uninstall(install_mockery, mock_fetch, monkeypatch):
assert not spec.installed
-@pytest.mark.regression('11870')
+@pytest.mark.regression("11870")
def test_uninstall_non_existing_package(install_mockery, mock_fetch, monkeypatch):
"""Ensure that we can uninstall a package that has been deleted from the repo"""
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
spec.package.do_install()
assert spec.installed
# Mock deletion of the package
spec._package = None
- monkeypatch.setattr(spack.repo.path, 'get', find_nothing)
+ monkeypatch.setattr(spack.repo.path, "get", find_nothing)
with pytest.raises(spack.repo.UnknownPackageError):
spec.package
@@ -62,52 +61,50 @@ def test_uninstall_non_existing_package(install_mockery, mock_fetch, monkeypatch
def test_pkg_attributes(install_mockery, mock_fetch, monkeypatch):
# Get a basic concrete spec for the dummy package.
- spec = Spec('attributes-foo-app ^attributes-foo')
+ spec = Spec("attributes-foo-app ^attributes-foo")
spec.concretize()
assert spec.concrete
pkg = spec.package
pkg.do_install()
- foo = 'attributes-foo'
- assert spec['bar'].prefix == spec[foo].prefix
- assert spec['baz'].prefix == spec[foo].prefix
+ foo = "attributes-foo"
+ assert spec["bar"].prefix == spec[foo].prefix
+ assert spec["baz"].prefix == spec[foo].prefix
assert spec[foo].home == spec[foo].prefix
- assert spec['bar'].home == spec[foo].home
- assert spec['baz'].home == spec[foo].prefix.baz
+ assert spec["bar"].home == spec[foo].home
+ assert spec["baz"].home == spec[foo].prefix.baz
foo_headers = spec[foo].headers
# assert foo_headers.basenames == ['foo.h']
assert foo_headers.directories == [spec[foo].home.include]
- bar_headers = spec['bar'].headers
+ bar_headers = spec["bar"].headers
# assert bar_headers.basenames == ['bar.h']
- assert bar_headers.directories == [spec['bar'].home.include]
- baz_headers = spec['baz'].headers
+ assert bar_headers.directories == [spec["bar"].home.include]
+ baz_headers = spec["baz"].headers
# assert baz_headers.basenames == ['baz.h']
- assert baz_headers.directories == [spec['baz'].home.include]
+ assert baz_headers.directories == [spec["baz"].home.include]
- if 'platform=windows' in spec:
- lib_suffix = '.lib'
- elif 'platform=darwin' in spec:
- lib_suffix = '.dylib'
+ if "platform=windows" in spec:
+ lib_suffix = ".lib"
+ elif "platform=darwin" in spec:
+ lib_suffix = ".dylib"
else:
- lib_suffix = '.so'
+ lib_suffix = ".so"
foo_libs = spec[foo].libs
- assert foo_libs.basenames == ['libFoo' + lib_suffix]
+ assert foo_libs.basenames == ["libFoo" + lib_suffix]
assert foo_libs.directories == [spec[foo].home.lib64]
- bar_libs = spec['bar'].libs
- assert bar_libs.basenames == ['libFooBar' + lib_suffix]
- assert bar_libs.directories == [spec['bar'].home.lib64]
- baz_libs = spec['baz'].libs
- assert baz_libs.basenames == ['libFooBaz' + lib_suffix]
- assert baz_libs.directories == [spec['baz'].home.lib]
+ bar_libs = spec["bar"].libs
+ assert bar_libs.basenames == ["libFooBar" + lib_suffix]
+ assert bar_libs.directories == [spec["bar"].home.lib64]
+ baz_libs = spec["baz"].libs
+ assert baz_libs.basenames == ["libFooBaz" + lib_suffix]
+ assert baz_libs.directories == [spec["baz"].home.lib]
def mock_remove_prefix(*args):
- raise MockInstallError(
- "Intentional error",
- "Mock remove_prefix method intentionally fails")
+ raise MockInstallError("Intentional error", "Mock remove_prefix method intentionally fails")
class RemovePrefixChecker(object):
@@ -141,14 +138,14 @@ class MockStage(object):
self.wrapped_stage.create()
def __getattr__(self, attr):
- if attr == 'wrapped_stage':
+ if attr == "wrapped_stage":
# This attribute may not be defined at some point during unpickling
raise AttributeError()
return getattr(self.wrapped_stage, attr)
def test_partial_install_delete_prefix_and_stage(install_mockery, mock_fetch):
- s = Spec('canfail').concretized()
+ s = Spec("canfail").concretized()
instance_rm_prefix = s.package.remove_prefix
@@ -177,21 +174,19 @@ def test_partial_install_delete_prefix_and_stage(install_mockery, mock_fetch):
@pytest.mark.disable_clean_stage_check
-def test_failing_overwrite_install_should_keep_previous_installation(
- mock_fetch, install_mockery
-):
+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
- s = Spec('canfail').concretized()
+ s = Spec("canfail").concretized()
s.package.succeed = True
# Do a failing overwrite install
s.package.do_install()
s.package.succeed = False
- kwargs = {'overwrite': [s.dag_hash()]}
+ kwargs = {"overwrite": [s.dag_hash()]}
with pytest.raises(Exception):
s.package.do_install(**kwargs)
@@ -200,91 +195,84 @@ def test_failing_overwrite_install_should_keep_previous_installation(
assert os.path.exists(s.prefix)
-def test_dont_add_patches_to_installed_package(
- install_mockery, mock_fetch, monkeypatch
-):
- dependency = Spec('dependency-install')
+def test_dont_add_patches_to_installed_package(install_mockery, mock_fetch, monkeypatch):
+ dependency = Spec("dependency-install")
dependency.concretize()
dependency.package.do_install()
dependency_hash = dependency.dag_hash()
- dependent = Spec('dependent-install ^/' + dependency_hash)
+ dependent = Spec("dependent-install ^/" + dependency_hash)
dependent.concretize()
- monkeypatch.setitem(dependency.package.patches, 'dependency-install', [
- spack.patch.UrlPatch(
- dependent.package, 'file://fake.patch', sha256='unused-hash'
- )
- ])
+ monkeypatch.setitem(
+ dependency.package.patches,
+ "dependency-install",
+ [spack.patch.UrlPatch(dependent.package, "file://fake.patch", sha256="unused-hash")],
+ )
- assert dependent['dependency-install'] == dependency
+ assert dependent["dependency-install"] == dependency
-def test_installed_dependency_request_conflicts(
- install_mockery, mock_fetch, mutable_mock_repo):
- dependency = Spec('dependency-install')
+def test_installed_dependency_request_conflicts(install_mockery, mock_fetch, mutable_mock_repo):
+ dependency = Spec("dependency-install")
dependency.concretize()
dependency.package.do_install()
dependency_hash = dependency.dag_hash()
- dependent = Spec(
- 'conflicting-dependent ^/' + dependency_hash)
+ dependent = Spec("conflicting-dependent ^/" + dependency_hash)
with pytest.raises(spack.error.UnsatisfiableSpecError):
dependent.concretize()
-def test_install_dependency_symlinks_pkg(
- install_mockery, mock_fetch, mutable_mock_repo):
+def test_install_dependency_symlinks_pkg(install_mockery, mock_fetch, mutable_mock_repo):
"""Test dependency flattening/symlinks mock package."""
- spec = Spec('flatten-deps')
+ spec = Spec("flatten-deps")
spec.concretize()
pkg = spec.package
pkg.do_install()
# Ensure dependency directory exists after the installation.
- dependency_dir = os.path.join(pkg.prefix, 'dependency-install')
+ dependency_dir = os.path.join(pkg.prefix, "dependency-install")
assert os.path.isdir(dependency_dir)
-def test_install_times(
- install_mockery, mock_fetch, mutable_mock_repo):
+def test_install_times(install_mockery, mock_fetch, mutable_mock_repo):
"""Test install times added."""
- spec = Spec('dev-build-test-install-phases')
+ spec = Spec("dev-build-test-install-phases")
spec.concretize()
pkg = spec.package
pkg.do_install()
# Ensure dependency directory exists after the installation.
- install_times = os.path.join(pkg.prefix, ".spack", 'install_times.json')
+ install_times = os.path.join(pkg.prefix, ".spack", "install_times.json")
assert os.path.isfile(install_times)
# Ensure the phases are included
- with open(install_times, 'r') as timefile:
+ with open(install_times, "r") as timefile:
times = sjson.load(timefile.read())
# The order should be maintained
- phases = [x['name'] for x in times['phases']]
- total = sum([x['seconds'] for x in times['phases']])
- for name in ['one', 'two', 'three', 'install']:
+ phases = [x["name"] for x in times["phases"]]
+ total = sum([x["seconds"] for x in times["phases"]])
+ for name in ["one", "two", "three", "install"]:
assert name in phases
# Give a generous difference threshold
- assert abs(total - times['total']['seconds']) < 5
+ assert abs(total - times["total"]["seconds"]) < 5
-def test_flatten_deps(
- install_mockery, mock_fetch, mutable_mock_repo):
+def test_flatten_deps(install_mockery, mock_fetch, mutable_mock_repo):
"""Explicitly test the flattening code for coverage purposes."""
# Unfortunately, executing the 'flatten-deps' spec's installation does
# not affect code coverage results, so be explicit here.
- spec = Spec('dependent-install')
+ spec = Spec("dependent-install")
spec.concretize()
pkg = spec.package
pkg.do_install()
# Demonstrate that the directory does not appear under the spec
# prior to the flatten operation.
- dependency_name = 'dependency-install'
+ dependency_name = "dependency-install"
assert dependency_name not in os.listdir(pkg.prefix)
# Flatten the dependencies and ensure the dependency directory is there.
@@ -301,19 +289,17 @@ def install_upstream(tmpdir_factory, gen_mock_layout, install_mockery):
upstream, as well as the upstream layout (for verifying that dependent
installs are using the upstream installs).
"""
- mock_db_root = str(tmpdir_factory.mktemp('mock_db_root'))
+ mock_db_root = str(tmpdir_factory.mktemp("mock_db_root"))
prepared_db = spack.database.Database(mock_db_root)
- upstream_layout = gen_mock_layout('/a/')
+ upstream_layout = gen_mock_layout("/a/")
def _install_upstream(*specs):
for spec_str in specs:
s = spack.spec.Spec(spec_str).concretized()
prepared_db.add(s, upstream_layout)
- downstream_root = str(tmpdir_factory.mktemp('mock_downstream_db_root'))
- db_for_test = spack.database.Database(
- downstream_root, upstream_dbs=[prepared_db]
- )
+ downstream_root = str(tmpdir_factory.mktemp("mock_downstream_db_root"))
+ db_for_test = spack.database.Database(downstream_root, upstream_dbs=[prepared_db])
store = spack.store.Store(downstream_root)
store.db = db_for_test
return store, upstream_layout
@@ -325,15 +311,14 @@ def test_installed_upstream_external(install_upstream, mock_fetch):
"""Check that when a dependency package is recorded as installed in
an upstream database that it is not reinstalled.
"""
- s, _ = install_upstream('externaltool')
+ s, _ = install_upstream("externaltool")
with spack.store.use_store(s):
- dependent = spack.spec.Spec('externaltest')
+ dependent = spack.spec.Spec("externaltest")
dependent.concretize()
- new_dependency = dependent['externaltool']
+ new_dependency = dependent["externaltool"]
assert new_dependency.external
- assert new_dependency.prefix == \
- os.path.sep + os.path.join('path', 'to', 'external_tool')
+ assert new_dependency.prefix == os.path.sep + os.path.join("path", "to", "external_tool")
dependent.package.do_install()
@@ -345,15 +330,14 @@ def test_installed_upstream(install_upstream, mock_fetch):
"""Check that when a dependency package is recorded as installed in
an upstream database that it is not reinstalled.
"""
- s, upstream_layout = install_upstream('dependency-install')
+ s, upstream_layout = install_upstream("dependency-install")
with spack.store.use_store(s):
- dependency = spack.spec.Spec('dependency-install').concretized()
- dependent = spack.spec.Spec('dependent-install').concretized()
+ dependency = spack.spec.Spec("dependency-install").concretized()
+ dependent = spack.spec.Spec("dependent-install").concretized()
- new_dependency = dependent['dependency-install']
+ new_dependency = dependent["dependency-install"]
assert new_dependency.installed_upstream
- assert (new_dependency.prefix ==
- upstream_layout.path_for_spec(dependency))
+ assert new_dependency.prefix == upstream_layout.path_for_spec(dependency)
dependent.package.do_install()
@@ -363,11 +347,11 @@ def test_installed_upstream(install_upstream, mock_fetch):
@pytest.mark.disable_clean_stage_check
def test_partial_install_keep_prefix(install_mockery, mock_fetch, monkeypatch):
- s = Spec('canfail').concretized()
+ s = Spec("canfail").concretized()
# If remove_prefix is called at any point in this test, that is an error
s.package.succeed = False # make the build fail
- monkeypatch.setattr(spack.package_base.Package, 'remove_prefix', mock_remove_prefix)
+ monkeypatch.setattr(spack.package_base.Package, "remove_prefix", mock_remove_prefix)
with pytest.raises(spack.build_environment.ChildError):
s.package.do_install(keep_prefix=True)
assert os.path.exists(s.package.prefix)
@@ -375,7 +359,7 @@ def test_partial_install_keep_prefix(install_mockery, mock_fetch, monkeypatch):
# must clear failure markings for the package before re-installing it
spack.store.db.clear_failure(s, True)
- s.package.succeed = True # make the build succeed
+ s.package.succeed = True # make the build succeed
s.package.stage = MockStage(s.package.stage)
s.package.do_install(keep_prefix=True)
assert s.package.spec.installed
@@ -383,8 +367,8 @@ def test_partial_install_keep_prefix(install_mockery, mock_fetch, monkeypatch):
def test_second_install_no_overwrite_first(install_mockery, mock_fetch, monkeypatch):
- s = Spec('canfail').concretized()
- monkeypatch.setattr(spack.package_base.Package, 'remove_prefix', mock_remove_prefix)
+ s = Spec("canfail").concretized()
+ monkeypatch.setattr(spack.package_base.Package, "remove_prefix", mock_remove_prefix)
s.package.succeed = True
s.package.do_install()
@@ -400,12 +384,12 @@ def test_install_prefix_collision_fails(config, mock_fetch, mock_packages, tmpdi
Test that different specs with coinciding install prefixes will fail
to install.
"""
- projections = {'all': 'all-specs-project-to-this-prefix'}
+ projections = {"all": "all-specs-project-to-this-prefix"}
store = spack.store.Store(str(tmpdir), projections=projections)
with spack.store.use_store(store):
- with spack.config.override('config:checksum', False):
- pkg_a = Spec('libelf@0.8.13').concretized().package
- pkg_b = Spec('libelf@0.8.12').concretized().package
+ with spack.config.override("config:checksum", False):
+ pkg_a = Spec("libelf@0.8.13").concretized().package
+ pkg_b = Spec("libelf@0.8.12").concretized().package
pkg_a.do_install()
with pytest.raises(InstallError, match="Install prefix collision"):
@@ -413,17 +397,17 @@ def test_install_prefix_collision_fails(config, mock_fetch, mock_packages, tmpdi
def test_store(install_mockery, mock_fetch):
- spec = Spec('cmake-client').concretized()
+ spec = Spec("cmake-client").concretized()
pkg = spec.package
pkg.do_install()
@pytest.mark.disable_clean_stage_check
def test_failing_build(install_mockery, mock_fetch, capfd):
- spec = Spec('failing-build').concretized()
+ spec = Spec("failing-build").concretized()
pkg = spec.package
- with pytest.raises(spack.build_environment.ChildError, match='Expected failure'):
+ with pytest.raises(spack.build_environment.ChildError, match="Expected failure"):
pkg.do_install()
@@ -435,22 +419,21 @@ def test_uninstall_by_spec_errors(mutable_database):
"""Test exceptional cases with the uninstall command."""
# Try to uninstall a spec that has not been installed
- spec = Spec('dependent-install')
+ spec = Spec("dependent-install")
spec.concretize()
with pytest.raises(InstallError, match="is not installed"):
PackageBase.uninstall_by_spec(spec)
# Try an unforced uninstall of a spec with dependencies
- rec = mutable_database.get_record('mpich')
+ rec = mutable_database.get_record("mpich")
with pytest.raises(PackageStillNeededError, match="Cannot uninstall"):
PackageBase.uninstall_by_spec(rec.spec)
@pytest.mark.disable_clean_stage_check
-def test_nosource_pkg_install(
- install_mockery, mock_fetch, mock_packages, capfd):
+def test_nosource_pkg_install(install_mockery, mock_fetch, mock_packages, capfd):
"""Test install phases with the nosource package."""
- spec = Spec('nosource').concretized()
+ spec = Spec("nosource").concretized()
pkg = spec.package
# Make sure install works even though there is no associated code.
@@ -463,10 +446,9 @@ def test_nosource_pkg_install(
@pytest.mark.disable_clean_stage_check
-def test_nosource_bundle_pkg_install(
- install_mockery, mock_fetch, mock_packages, capfd):
+def test_nosource_bundle_pkg_install(install_mockery, mock_fetch, mock_packages, capfd):
"""Test install phases with the nosource-bundle package."""
- spec = Spec('nosource-bundle').concretized()
+ spec = Spec("nosource-bundle").concretized()
pkg = spec.package
# Make sure install works even though there is no associated code.
@@ -478,27 +460,26 @@ def test_nosource_bundle_pkg_install(
assert "Missing a source id for nosource" not in out[1]
-def test_nosource_pkg_install_post_install(
- install_mockery, mock_fetch, mock_packages):
+def test_nosource_pkg_install_post_install(install_mockery, mock_fetch, mock_packages):
"""Test install phases with the nosource package with post-install."""
- spec = Spec('nosource-install').concretized()
+ spec = Spec("nosource-install").concretized()
pkg = spec.package
# Make sure both the install and post-install package methods work.
pkg.do_install()
# Ensure the file created in the package's `install` method exists.
- install_txt = os.path.join(spec.prefix, 'install.txt')
+ install_txt = os.path.join(spec.prefix, "install.txt")
assert os.path.isfile(install_txt)
# Ensure the file created in the package's `post-install` method exists.
- post_install_txt = os.path.join(spec.prefix, 'post-install.txt')
+ post_install_txt = os.path.join(spec.prefix, "post-install.txt")
assert os.path.isfile(post_install_txt)
def test_pkg_build_paths(install_mockery):
# Get a basic concrete spec for the trivial install package.
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
log_path = spec.package.log_path
assert log_path.endswith(_spack_build_logfile)
@@ -511,17 +492,17 @@ def test_pkg_build_paths(install_mockery):
fs.mkdirp(log_dir)
with fs.working_dir(log_dir):
# Start with the older of the previous log filenames
- older_log = 'spack-build.out'
+ older_log = "spack-build.out"
fs.touch(older_log)
assert spec.package.log_path.endswith(older_log)
# Now check the newer log filename
- last_log = 'spack-build.txt'
+ last_log = "spack-build.txt"
fs.rename(older_log, last_log)
assert spec.package.log_path.endswith(last_log)
# Check the old environment file
- last_env = 'spack-build.env'
+ last_env = "spack-build.env"
fs.rename(last_log, last_env)
assert spec.package.env_path.endswith(last_env)
@@ -531,15 +512,15 @@ def test_pkg_build_paths(install_mockery):
def test_pkg_install_paths(install_mockery):
# Get a basic concrete spec for the trivial install package.
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
- log_path = os.path.join(spec.prefix, '.spack', _spack_build_logfile)
+ log_path = os.path.join(spec.prefix, ".spack", _spack_build_logfile)
assert spec.package.install_log_path == log_path
- env_path = os.path.join(spec.prefix, '.spack', _spack_build_envfile)
+ env_path = os.path.join(spec.prefix, ".spack", _spack_build_envfile)
assert spec.package.install_env_path == env_path
- args_path = os.path.join(spec.prefix, '.spack', _spack_configure_argsfile)
+ args_path = os.path.join(spec.prefix, ".spack", _spack_configure_argsfile)
assert spec.package.install_configure_args_path == args_path
# Backward compatibility checks
@@ -547,17 +528,17 @@ def test_pkg_install_paths(install_mockery):
fs.mkdirp(log_dir)
with fs.working_dir(log_dir):
# Start with the older of the previous install log filenames
- older_log = 'build.out'
+ older_log = "build.out"
fs.touch(older_log)
assert spec.package.install_log_path.endswith(older_log)
# Now check the newer install log filename
- last_log = 'build.txt'
+ last_log = "build.txt"
fs.rename(older_log, last_log)
assert spec.package.install_log_path.endswith(last_log)
# Check the old install environment file
- last_env = 'build.env'
+ last_env = "build.env"
fs.rename(last_log, last_env)
assert spec.package.install_env_path.endswith(last_env)
@@ -568,7 +549,7 @@ def test_pkg_install_paths(install_mockery):
def test_log_install_without_build_files(install_mockery):
"""Test the installer log function when no build files are present."""
# Get a basic concrete spec for the trivial install package.
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
# Attempt installing log without the build log file
with pytest.raises(IOError, match="No such file or directory"):
@@ -577,7 +558,7 @@ def test_log_install_without_build_files(install_mockery):
def test_log_install_with_build_files(install_mockery, monkeypatch):
"""Test the installer's log function when have build files."""
- config_log = 'config.log'
+ config_log = "config.log"
# Retain the original function for use in the monkey patch that is used
# to raise an exception under the desired condition for test coverage.
@@ -586,11 +567,11 @@ def test_log_install_with_build_files(install_mockery, monkeypatch):
def _install(src, dest):
orig_install_fn(src, dest)
if src.endswith(config_log):
- raise Exception('Mock log install error')
+ raise Exception("Mock log install error")
- monkeypatch.setattr(fs, 'install', _install)
+ monkeypatch.setattr(fs, "install", _install)
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
# Set up mock build files and try again to include archive failure
log_path = spec.package.log_path
@@ -606,9 +587,9 @@ def test_log_install_with_build_files(install_mockery, monkeypatch):
fs.mkdirp(install_path)
source = spec.package.stage.source_path
- config = os.path.join(source, 'config.log')
+ config = os.path.join(source, "config.log")
fs.touchp(config)
- spec.package.archive_files = ['missing', '..', config]
+ spec.package.archive_files = ["missing", "..", config]
spack.installer.log(spec.package)
@@ -616,18 +597,15 @@ def test_log_install_with_build_files(install_mockery, monkeypatch):
assert os.path.exists(spec.package.install_env_path)
assert os.path.exists(spec.package.install_configure_args_path)
- archive_dir = os.path.join(install_path, 'archived-files')
+ archive_dir = os.path.join(install_path, "archived-files")
source_dir = os.path.dirname(source)
rel_config = os.path.relpath(config, source_dir)
assert os.path.exists(os.path.join(archive_dir, rel_config))
- assert not os.path.exists(os.path.join(archive_dir, 'missing'))
+ assert not os.path.exists(os.path.join(archive_dir, "missing"))
- expected_errs = [
- 'OUTSIDE SOURCE PATH', # for '..'
- 'FAILED TO ARCHIVE' # for rel_config
- ]
- with open(os.path.join(archive_dir, 'errors.txt'), 'r') as fd:
+ expected_errs = ["OUTSIDE SOURCE PATH", "FAILED TO ARCHIVE"] # for '..' # for rel_config
+ with open(os.path.join(archive_dir, "errors.txt"), "r") as fd:
for ln, expected in zip(fd, expected_errs):
assert expected in ln
@@ -637,10 +615,10 @@ def test_log_install_with_build_files(install_mockery, monkeypatch):
def test_unconcretized_install(install_mockery, mock_fetch, mock_packages):
"""Test attempts to perform install phases with unconcretized spec."""
- spec = Spec('trivial-install-test-package')
+ spec = Spec("trivial-install-test-package")
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
- with pytest.raises(ValueError, match='must have a concrete spec'):
+ with pytest.raises(ValueError, match="must have a concrete spec"):
pkg_cls(spec).do_install()
with pytest.raises(ValueError, match="only patch concrete packages"):
@@ -649,23 +627,20 @@ def test_unconcretized_install(install_mockery, mock_fetch, mock_packages):
def test_install_error():
try:
- msg = 'test install error'
- long_msg = 'this is the long version of test install error'
+ msg = "test install error"
+ long_msg = "this is the long version of test install error"
raise InstallError(msg, long_msg=long_msg)
except Exception as exc:
- assert exc.__class__.__name__ == 'InstallError'
+ assert exc.__class__.__name__ == "InstallError"
assert exc.message == msg
assert exc.long_message == long_msg
@pytest.mark.disable_clean_stage_check
def test_empty_install_sanity_check_prefix(
- monkeypatch, install_mockery, mock_fetch, mock_packages
+ monkeypatch, install_mockery, mock_fetch, mock_packages
):
"""Test empty install triggers sanity_check_prefix."""
- spec = Spec('failing-empty-install').concretized()
- with pytest.raises(
- spack.build_environment.ChildError,
- match='Nothing was installed'
- ):
+ spec = Spec("failing-empty-install").concretized()
+ with pytest.raises(spack.build_environment.ChildError, match="Nothing was installed"):
spec.package.do_install()
diff --git a/lib/spack/spack/test/installer.py b/lib/spack/spack/test/installer.py
index 3d8b53e2eb..7f608d6c89 100644
--- a/lib/spack/spack/test/installer.py
+++ b/lib/spack/spack/test/installer.py
@@ -24,7 +24,7 @@ import spack.spec
import spack.store
import spack.util.lock as lk
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def _mock_repo(root, namespace):
@@ -36,11 +36,15 @@ def _mock_repo(root, namespace):
"""
repodir = py.path.local(root) if isinstance(root, str) else root
repodir.ensure(spack.repo.packages_dir_name, dir=True)
- yaml = repodir.join('repo.yaml')
- yaml.write("""
+ yaml = repodir.join("repo.yaml")
+ yaml.write(
+ """
repo:
namespace: {0}
-""".format(namespace))
+""".format(
+ namespace
+ )
+ )
def _noop(*args, **kwargs):
@@ -55,7 +59,7 @@ def _none(*args, **kwargs):
def _not_locked(installer, lock_type, pkg):
"""Generic monkeypatch function for _ensure_locked to return no lock"""
- tty.msg('{0} locked {1}' .format(lock_type, pkg.spec.name))
+ tty.msg("{0} locked {1}".format(lock_type, pkg.spec.name))
return lock_type, None
@@ -113,19 +117,17 @@ def installer_args(spec_names, kwargs={}):
return arg
-@pytest.mark.parametrize('sec,result', [
- (86400, "24h"),
- (3600, "1h"),
- (60, "1m"),
- (1.802, "1.80s"),
- (3723.456, "1h 2m 3.46s")])
+@pytest.mark.parametrize(
+ "sec,result",
+ [(86400, "24h"), (3600, "1h"), (60, "1m"), (1.802, "1.80s"), (3723.456, "1h 2m 3.46s")],
+)
def test_hms(sec, result):
assert inst._hms(sec) == result
def test_get_dependent_ids(install_mockery, mock_packages):
# Concretize the parent package, which handle dependency too
- spec = spack.spec.Spec('a')
+ spec = spack.spec.Spec("a")
spec.concretize()
assert spec.concrete
@@ -140,25 +142,25 @@ def test_get_dependent_ids(install_mockery, mock_packages):
def test_install_msg(monkeypatch):
"""Test results of call to install_msg based on debug level."""
- name = 'some-package'
+ name = "some-package"
pid = 123456
- install_msg = 'Installing {0}'.format(name)
+ install_msg = "Installing {0}".format(name)
- monkeypatch.setattr(tty, '_debug', 0)
+ monkeypatch.setattr(tty, "_debug", 0)
assert inst.install_msg(name, pid) == install_msg
- monkeypatch.setattr(tty, '_debug', 1)
+ monkeypatch.setattr(tty, "_debug", 1)
assert inst.install_msg(name, pid) == install_msg
# Expect the PID to be added at debug level 2
- monkeypatch.setattr(tty, '_debug', 2)
+ monkeypatch.setattr(tty, "_debug", 2)
expected = "{0}: {1}".format(pid, install_msg)
assert inst.install_msg(name, pid) == expected
def test_install_from_cache_errors(install_mockery, capsys):
"""Test to ensure cover _install_from_cache errors."""
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
@@ -167,8 +169,8 @@ def test_install_from_cache_errors(install_mockery, capsys):
inst._install_from_cache(spec.package, True, True, False)
captured = str(capsys.readouterr())
- assert 'No binary' in captured
- assert 'found when cache-only specified' in captured
+ assert "No binary" in captured
+ assert "found when cache-only specified" in captured
assert not spec.package.installed_from_binary_cache
# Check when don't expect to install only from binary cache
@@ -178,73 +180,72 @@ def test_install_from_cache_errors(install_mockery, capsys):
def test_install_from_cache_ok(install_mockery, monkeypatch):
"""Test to ensure cover _install_from_cache to the return."""
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
- monkeypatch.setattr(inst, '_try_install_from_binary_cache', _true)
- monkeypatch.setattr(spack.hooks, 'post_install', _noop)
+ monkeypatch.setattr(inst, "_try_install_from_binary_cache", _true)
+ monkeypatch.setattr(spack.hooks, "post_install", _noop)
assert inst._install_from_cache(spec.package, True, True, False)
def test_process_external_package_module(install_mockery, monkeypatch, capfd):
"""Test to simply cover the external module message path."""
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
# Ensure take the external module path WITHOUT any changes to the database
- monkeypatch.setattr(spack.database.Database, 'get_record', _none)
+ monkeypatch.setattr(spack.database.Database, "get_record", _none)
- spec.external_path = '/actual/external/path/not/checked'
- spec.external_modules = ['unchecked_module']
+ spec.external_path = "/actual/external/path/not/checked"
+ spec.external_modules = ["unchecked_module"]
inst._process_external_package(spec.package, False)
out = capfd.readouterr()[0]
- assert 'has external module in {0}'.format(spec.external_modules) in out
+ assert "has external module in {0}".format(spec.external_modules) in out
-def test_process_binary_cache_tarball_none(install_mockery, monkeypatch,
- capfd):
+def test_process_binary_cache_tarball_none(install_mockery, monkeypatch, capfd):
"""Tests of _process_binary_cache_tarball when no tarball."""
- monkeypatch.setattr(spack.binary_distribution, 'download_tarball', _none)
+ monkeypatch.setattr(spack.binary_distribution, "download_tarball", _none)
- s = spack.spec.Spec('trivial-install-test-package').concretized()
+ s = spack.spec.Spec("trivial-install-test-package").concretized()
assert not inst._process_binary_cache_tarball(s.package, None, False, False)
- assert 'exists in binary cache but' in capfd.readouterr()[0]
+ assert "exists in binary cache but" in capfd.readouterr()[0]
def test_process_binary_cache_tarball_tar(install_mockery, monkeypatch, capfd):
"""Tests of _process_binary_cache_tarball with a tar file."""
+
def _spec(spec, unsigned=False, mirrors_for_spec=None):
return spec
# Skip binary distribution functionality since assume tested elsewhere
- monkeypatch.setattr(spack.binary_distribution, 'download_tarball', _spec)
- monkeypatch.setattr(spack.binary_distribution, 'extract_tarball', _noop)
+ monkeypatch.setattr(spack.binary_distribution, "download_tarball", _spec)
+ monkeypatch.setattr(spack.binary_distribution, "extract_tarball", _noop)
# Skip database updates
- monkeypatch.setattr(spack.database.Database, 'add', _noop)
+ monkeypatch.setattr(spack.database.Database, "add", _noop)
- spec = spack.spec.Spec('a').concretized()
+ spec = spack.spec.Spec("a").concretized()
assert inst._process_binary_cache_tarball(spec.package, spec, False, False)
out = capfd.readouterr()[0]
- assert 'Extracting a' in out
- assert 'from binary cache' in out
+ assert "Extracting a" in out
+ assert "from binary cache" in out
-def test_try_install_from_binary_cache(install_mockery, mock_packages,
- monkeypatch):
+def test_try_install_from_binary_cache(install_mockery, mock_packages, monkeypatch):
"""Test return false when no match exists in the mirror"""
- spec = spack.spec.Spec('mpich')
+ spec = spack.spec.Spec("mpich")
spec.concretize()
result = inst._try_install_from_binary_cache(spec.package, False, False)
- assert(not result)
+ assert not result
def test_installer_repr(install_mockery):
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
irep = installer.__repr__()
@@ -254,7 +255,7 @@ def test_installer_repr(install_mockery):
def test_installer_str(install_mockery):
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
istr = str(installer)
@@ -264,46 +265,46 @@ def test_installer_str(install_mockery):
def test_check_before_phase_error(install_mockery):
- s = spack.spec.Spec('trivial-install-test-package').concretized()
- s.package.stop_before_phase = 'beforephase'
+ s = spack.spec.Spec("trivial-install-test-package").concretized()
+ s.package.stop_before_phase = "beforephase"
with pytest.raises(inst.BadInstallPhase) as exc_info:
inst._check_last_phase(s.package)
err = str(exc_info.value)
- assert 'is not a valid phase' in err
+ assert "is not a valid phase" in err
assert s.package.stop_before_phase in err
def test_check_last_phase_error(install_mockery):
- s = spack.spec.Spec('trivial-install-test-package').concretized()
+ s = spack.spec.Spec("trivial-install-test-package").concretized()
s.package.stop_before_phase = None
- s.package.last_phase = 'badphase'
+ s.package.last_phase = "badphase"
with pytest.raises(inst.BadInstallPhase) as exc_info:
inst._check_last_phase(s.package)
err = str(exc_info.value)
- assert 'is not a valid phase' in err
+ assert "is not a valid phase" in err
assert s.package.last_phase in err
def test_installer_ensure_ready_errors(install_mockery, monkeypatch):
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
- fmt = r'cannot be installed locally.*{0}'
+ fmt = r"cannot be installed locally.*{0}"
# Force an external package error
path, modules = spec.external_path, spec.external_modules
- spec.external_path = '/actual/external/path/not/checked'
- spec.external_modules = ['unchecked_module']
- msg = fmt.format('is external')
+ spec.external_path = "/actual/external/path/not/checked"
+ spec.external_modules = ["unchecked_module"]
+ msg = fmt.format("is external")
with pytest.raises(inst.ExternalPackageError, match=msg):
installer._ensure_install_ready(spec.package)
# Force an upstream package error
spec.external_path, spec.external_modules = path, modules
monkeypatch.setattr(spack.spec.Spec, "installed_upstream", True)
- msg = fmt.format('is upstream')
+ msg = fmt.format("is upstream")
with pytest.raises(inst.UpstreamPackageError, match=msg):
installer._ensure_install_ready(spec.package)
@@ -311,55 +312,55 @@ def test_installer_ensure_ready_errors(install_mockery, monkeypatch):
# we are calling an internal method prior to any lock-related setup
monkeypatch.setattr(spack.spec.Spec, "installed_upstream", False)
assert len(installer.locks) == 0
- with pytest.raises(inst.InstallLockError, match=fmt.format('not locked')):
+ with pytest.raises(inst.InstallLockError, match=fmt.format("not locked")):
installer._ensure_install_ready(spec.package)
def test_ensure_locked_err(install_mockery, monkeypatch, tmpdir, capsys):
"""Test _ensure_locked when a non-lock exception is raised."""
- mock_err_msg = 'Mock exception error'
+ mock_err_msg = "Mock exception error"
def _raise(lock, timeout):
raise RuntimeError(mock_err_msg)
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
- monkeypatch.setattr(ulk.Lock, 'acquire_read', _raise)
+ monkeypatch.setattr(ulk.Lock, "acquire_read", _raise)
with tmpdir.as_cwd():
with pytest.raises(RuntimeError):
- installer._ensure_locked('read', spec.package)
+ installer._ensure_locked("read", spec.package)
out = str(capsys.readouterr()[1])
- assert 'Failed to acquire a read lock' in out
+ assert "Failed to acquire a read lock" in out
assert mock_err_msg in out
def test_ensure_locked_have(install_mockery, tmpdir, capsys):
"""Test _ensure_locked when already have lock."""
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
pkg_id = inst.package_id(spec.package)
with tmpdir.as_cwd():
# Test "downgrade" of a read lock (to a read lock)
- lock = lk.Lock('./test', default_timeout=1e-9, desc='test')
- lock_type = 'read'
+ lock = lk.Lock("./test", default_timeout=1e-9, desc="test")
+ lock_type = "read"
tpl = (lock_type, lock)
installer.locks[pkg_id] = tpl
assert installer._ensure_locked(lock_type, spec.package) == tpl
# Test "upgrade" of a read lock without read count to a write
- lock_type = 'write'
- err = 'Cannot upgrade lock'
+ lock_type = "write"
+ err = "Cannot upgrade lock"
with pytest.raises(ulk.LockUpgradeError, match=err):
installer._ensure_locked(lock_type, spec.package)
out = str(capsys.readouterr()[1])
- assert 'Failed to upgrade to a write lock' in out
- assert 'exception when releasing read lock' in out
+ assert "Failed to upgrade to a write lock" in out
+ assert "exception when releasing read lock" in out
# Test "upgrade" of the read lock *with* read count to a write
lock._reads = 1
@@ -367,17 +368,14 @@ def test_ensure_locked_have(install_mockery, tmpdir, capsys):
assert installer._ensure_locked(lock_type, spec.package) == tpl
# Test "downgrade" of the write lock to a read lock
- lock_type = 'read'
+ lock_type = "read"
tpl = (lock_type, lock)
assert installer._ensure_locked(lock_type, spec.package) == tpl
-@pytest.mark.parametrize('lock_type,reads,writes', [
- ('read', 1, 0),
- ('write', 0, 1)])
-def test_ensure_locked_new_lock(
- install_mockery, tmpdir, lock_type, reads, writes):
- pkg_id = 'a'
+@pytest.mark.parametrize("lock_type,reads,writes", [("read", 1, 0), ("write", 0, 1)])
+def test_ensure_locked_new_lock(install_mockery, tmpdir, lock_type, reads, writes):
+ pkg_id = "a"
const_arg = installer_args([pkg_id], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
@@ -397,31 +395,31 @@ def test_ensure_locked_new_warn(install_mockery, monkeypatch, tmpdir, capsys):
lock.default_timeout = 1e-9 if timeout is None else None
return lock
- pkg_id = 'a'
+ pkg_id = "a"
const_arg = installer_args([pkg_id], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
- monkeypatch.setattr(spack.database.Database, 'prefix_lock', _pl)
+ monkeypatch.setattr(spack.database.Database, "prefix_lock", _pl)
- lock_type = 'read'
+ lock_type = "read"
ltype, lock = installer._ensure_locked(lock_type, spec.package)
assert ltype == lock_type
assert lock is not None
out = str(capsys.readouterr()[1])
- assert 'Expected prefix lock timeout' in out
+ assert "Expected prefix lock timeout" in out
def test_package_id_err(install_mockery):
- s = spack.spec.Spec('trivial-install-test-package')
+ s = spack.spec.Spec("trivial-install-test-package")
pkg_cls = spack.repo.path.get_pkg_class(s.name)
- with pytest.raises(ValueError, match='spec is not concretized'):
+ with pytest.raises(ValueError, match="spec is not concretized"):
inst.package_id(pkg_cls(s))
def test_package_id_ok(install_mockery):
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
pkg = spec.package
@@ -429,7 +427,7 @@ def test_package_id_ok(install_mockery):
def test_fake_install(install_mockery):
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
@@ -439,42 +437,40 @@ def test_fake_install(install_mockery):
def test_packages_needed_to_bootstrap_compiler_none(install_mockery):
- spec = spack.spec.Spec('trivial-install-test-package')
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
packages = inst._packages_needed_to_bootstrap_compiler(
- spec.compiler, spec.architecture, [spec.package])
+ spec.compiler, spec.architecture, [spec.package]
+ )
assert not packages
-@pytest.mark.xfail(
- reason="fails when assuming Spec.package can only be called on concrete specs"
-)
-def test_packages_needed_to_bootstrap_compiler_packages(
- install_mockery, monkeypatch
-):
- spec = spack.spec.Spec('trivial-install-test-package')
+@pytest.mark.xfail(reason="fails when assuming Spec.package can only be called on concrete specs")
+def test_packages_needed_to_bootstrap_compiler_packages(install_mockery, monkeypatch):
+ spec = spack.spec.Spec("trivial-install-test-package")
spec.concretize()
def _conc_spec(compiler):
- return spack.spec.Spec('a').concretized()
+ return spack.spec.Spec("a").concretized()
# Ensure we can get past functions that are precluding obtaining
# packages.
- monkeypatch.setattr(spack.compilers, 'compilers_for_spec', _none)
- monkeypatch.setattr(spack.compilers, 'pkg_spec_for_compiler', _conc_spec)
- monkeypatch.setattr(spack.spec.Spec, 'concretize', _noop)
+ monkeypatch.setattr(spack.compilers, "compilers_for_spec", _none)
+ monkeypatch.setattr(spack.compilers, "pkg_spec_for_compiler", _conc_spec)
+ monkeypatch.setattr(spack.spec.Spec, "concretize", _noop)
packages = inst._packages_needed_to_bootstrap_compiler(
- spec.compiler, spec.architecture, [spec.package])
+ spec.compiler, spec.architecture, [spec.package]
+ )
assert packages
def test_dump_packages_deps_ok(install_mockery, tmpdir, mock_packages):
"""Test happy path for dump_packages with dependencies."""
- spec_name = 'simple-inheritance'
+ spec_name = "simple-inheritance"
spec = spack.spec.Spec(spec_name).concretized()
inst.dump_packages(spec, str(tmpdir))
@@ -497,26 +493,26 @@ def test_dump_packages_deps_errs(install_mockery, tmpdir, monkeypatch, capsys):
return source
def _repoerr(repo, name):
- if name == 'cmake':
+ if name == "cmake":
raise spack.repo.RepoError(repo_err_msg)
else:
return orig_dirname(repo, name)
# Now mock the creation of the required directory structure to cover
# the try-except block
- monkeypatch.setattr(spack.store.layout, 'build_packages_path', bpp_path)
+ monkeypatch.setattr(spack.store.layout, "build_packages_path", bpp_path)
- spec = spack.spec.Spec('simple-inheritance').concretized()
+ spec = spack.spec.Spec("simple-inheritance").concretized()
path = str(tmpdir)
# The call to install_tree will raise the exception since not mocking
# creation of dependency package files within *install* directories.
- with pytest.raises(IOError, match=path if not is_windows else ''):
+ with pytest.raises(IOError, match=path if not is_windows else ""):
inst.dump_packages(spec, path)
# Now try the error path, which requires the mock directory structure
# above
- monkeypatch.setattr(spack.repo.Repo, 'dirname_for_package_name', _repoerr)
+ monkeypatch.setattr(spack.repo.Repo, "dirname_for_package_name", _repoerr)
with pytest.raises(spack.repo.RepoError, match=repo_err_msg):
inst.dump_packages(spec, path)
@@ -524,22 +520,22 @@ def test_dump_packages_deps_errs(install_mockery, tmpdir, monkeypatch, capsys):
assert "Couldn't copy in provenance for cmake" in out
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_clear_failures_success(install_mockery):
"""Test the clear_failures happy path."""
# Set up a test prefix failure lock
- lock = lk.Lock(spack.store.db.prefix_fail_path, start=1, length=1,
- default_timeout=1e-9, desc='test')
+ lock = lk.Lock(
+ spack.store.db.prefix_fail_path, start=1, length=1, default_timeout=1e-9, desc="test"
+ )
try:
lock.acquire_write()
except lk.LockTimeoutError:
- tty.warn('Failed to write lock the test install failure')
- spack.store.db._prefix_failures['test'] = lock
+ tty.warn("Failed to write lock the test install failure")
+ spack.store.db._prefix_failures["test"] = lock
# Set up a fake failure mark (or file)
- fs.touch(os.path.join(spack.store.db._failure_dir, 'test'))
+ fs.touch(os.path.join(spack.store.db._failure_dir, "test"))
# Now clear failure tracking
inst.clear_failures()
@@ -556,26 +552,26 @@ def test_clear_failures_success(install_mockery):
def test_clear_failures_errs(install_mockery, monkeypatch, capsys):
"""Test the clear_failures exception paths."""
orig_fn = os.remove
- err_msg = 'Mock os remove'
+ err_msg = "Mock os remove"
def _raise_except(path):
raise OSError(err_msg)
# Set up a fake failure mark (or file)
- fs.touch(os.path.join(spack.store.db._failure_dir, 'test'))
+ fs.touch(os.path.join(spack.store.db._failure_dir, "test"))
- monkeypatch.setattr(os, 'remove', _raise_except)
+ monkeypatch.setattr(os, "remove", _raise_except)
# Clear failure tracking
inst.clear_failures()
# Ensure expected warning generated
out = str(capsys.readouterr()[1])
- assert 'Unable to remove failure' in out
+ assert "Unable to remove failure" in out
assert err_msg in out
# Restore remove for teardown
- monkeypatch.setattr(os, 'remove', orig_fn)
+ monkeypatch.setattr(os, "remove", orig_fn)
def test_combine_phase_logs(tmpdir):
@@ -583,20 +579,20 @@ def test_combine_phase_logs(tmpdir):
to combine them into one file. We aren't currently using this function,
but it's available when the logs are refactored to be written separately.
"""
- log_files = ['configure-out.txt', 'install-out.txt', 'build-out.txt']
+ log_files = ["configure-out.txt", "install-out.txt", "build-out.txt"]
phase_log_files = []
# Create and write to dummy phase log files
for log_file in log_files:
phase_log_file = os.path.join(str(tmpdir), log_file)
- with open(phase_log_file, 'w') as plf:
- plf.write('Output from %s\n' % log_file)
+ with open(phase_log_file, "w") as plf:
+ plf.write("Output from %s\n" % log_file)
phase_log_files.append(phase_log_file)
# This is the output log we will combine them into
combined_log = os.path.join(str(tmpdir), "combined-out.txt")
spack.installer.combine_phase_logs(phase_log_files, combined_log)
- with open(combined_log, 'r') as log_file:
+ with open(combined_log, "r") as log_file:
out = log_file.read()
# Ensure each phase log file is represented
@@ -605,66 +601,65 @@ def test_combine_phase_logs(tmpdir):
def test_check_deps_status_install_failure(install_mockery, monkeypatch):
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
# Make sure the package is identified as failed
- monkeypatch.setattr(spack.database.Database, 'prefix_failed', _true)
+ monkeypatch.setattr(spack.database.Database, "prefix_failed", _true)
- with pytest.raises(inst.InstallError, match='install failure'):
+ with pytest.raises(inst.InstallError, match="install failure"):
installer._check_deps_status(request)
def test_check_deps_status_write_locked(install_mockery, monkeypatch):
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
# Ensure the lock is not acquired
- monkeypatch.setattr(inst.PackageInstaller, '_ensure_locked', _not_locked)
+ monkeypatch.setattr(inst.PackageInstaller, "_ensure_locked", _not_locked)
- with pytest.raises(inst.InstallError, match='write locked by another'):
+ with pytest.raises(inst.InstallError, match="write locked by another"):
installer._check_deps_status(request)
def test_check_deps_status_external(install_mockery, monkeypatch):
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
# Mock the known dependent, b, as external so assumed to be installed
- monkeypatch.setattr(spack.spec.Spec, 'external', True)
+ monkeypatch.setattr(spack.spec.Spec, "external", True)
installer._check_deps_status(request)
- assert list(installer.installed)[0].startswith('b')
+ assert list(installer.installed)[0].startswith("b")
def test_check_deps_status_upstream(install_mockery, monkeypatch):
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
# Mock the known dependent, b, as installed upstream
- monkeypatch.setattr(spack.spec.Spec, 'installed_upstream', True)
+ monkeypatch.setattr(spack.spec.Spec, "installed_upstream", True)
installer._check_deps_status(request)
- assert list(installer.installed)[0].startswith('b')
+ assert list(installer.installed)[0].startswith("b")
def test_add_bootstrap_compilers(install_mockery, monkeypatch):
from collections import defaultdict
def _pkgs(compiler, architecture, pkgs):
- spec = spack.spec.Spec('mpi').concretized()
+ spec = spack.spec.Spec("mpi").concretized()
return [(spec.package, True)]
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
all_deps = defaultdict(set)
- monkeypatch.setattr(inst, '_packages_needed_to_bootstrap_compiler', _pkgs)
- installer._add_bootstrap_compilers(
- 'fake', 'fake', [request.pkg], request, all_deps)
+ monkeypatch.setattr(inst, "_packages_needed_to_bootstrap_compiler", _pkgs)
+ installer._add_bootstrap_compilers("fake", "fake", [request.pkg], request, all_deps)
ids = list(installer.build_tasks)
assert len(ids) == 1
@@ -674,22 +669,22 @@ def test_add_bootstrap_compilers(install_mockery, monkeypatch):
def test_prepare_for_install_on_installed(install_mockery, monkeypatch):
"""Test of _prepare_for_install's early return for installed task path."""
- const_arg = installer_args(['dependent-install'], {})
+ const_arg = installer_args(["dependent-install"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
- install_args = {'keep_prefix': True, 'keep_stage': True, 'restage': False}
+ install_args = {"keep_prefix": True, "keep_stage": True, "restage": False}
task = create_build_task(request.pkg, install_args)
installer.installed.add(task.pkg_id)
- monkeypatch.setattr(inst.PackageInstaller, '_ensure_install_ready', _noop)
+ monkeypatch.setattr(inst.PackageInstaller, "_ensure_install_ready", _noop)
installer._prepare_for_install(task)
def test_installer_init_requests(install_mockery):
"""Test of installer initial requests."""
- spec_name = 'dependent-install'
- with spack.config.override('config:install_missing_compilers', True):
+ spec_name = "dependent-install"
+ with spack.config.override("config:install_missing_compilers", True):
const_arg = installer_args([spec_name], {})
installer = create_installer(const_arg)
@@ -700,33 +695,33 @@ def test_installer_init_requests(install_mockery):
def test_install_task_use_cache(install_mockery, monkeypatch):
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
request = installer.build_requests[0]
task = create_build_task(request.pkg)
- monkeypatch.setattr(inst, '_install_from_cache', _true)
+ monkeypatch.setattr(inst, "_install_from_cache", _true)
installer._install_task(task)
assert request.pkg_id in installer.installed
def test_install_task_add_compiler(install_mockery, monkeypatch, capfd):
- config_msg = 'mock add_compilers_to_config'
+ config_msg = "mock add_compilers_to_config"
def _add(_compilers):
tty.msg(config_msg)
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
task = create_build_task(installer.build_requests[0].pkg)
task.compiler = True
# Preclude any meaningful side-effects
- monkeypatch.setattr(spack.package_base.PackageBase, 'unit_test_check', _true)
- monkeypatch.setattr(inst.PackageInstaller, '_setup_install_dir', _noop)
- monkeypatch.setattr(spack.build_environment, 'start_build_process', _noop)
- monkeypatch.setattr(spack.database.Database, 'add', _noop)
- monkeypatch.setattr(spack.compilers, 'add_compilers_to_config', _add)
+ monkeypatch.setattr(spack.package_base.PackageBase, "unit_test_check", _true)
+ monkeypatch.setattr(inst.PackageInstaller, "_setup_install_dir", _noop)
+ monkeypatch.setattr(spack.build_environment, "start_build_process", _noop)
+ monkeypatch.setattr(spack.database.Database, "add", _noop)
+ monkeypatch.setattr(spack.compilers, "add_compilers_to_config", _add)
installer._install_task(task)
@@ -736,25 +731,25 @@ def test_install_task_add_compiler(install_mockery, monkeypatch, capfd):
def test_release_lock_write_n_exception(install_mockery, tmpdir, capsys):
"""Test _release_lock for supposed write lock with exception."""
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
- pkg_id = 'test'
+ pkg_id = "test"
with tmpdir.as_cwd():
- lock = lk.Lock('./test', default_timeout=1e-9, desc='test')
- installer.locks[pkg_id] = ('write', lock)
+ lock = lk.Lock("./test", default_timeout=1e-9, desc="test")
+ installer.locks[pkg_id] = ("write", lock)
assert lock._writes == 0
installer._release_lock(pkg_id)
out = str(capsys.readouterr()[1])
- msg = 'exception when releasing write lock for {0}'.format(pkg_id)
+ msg = "exception when releasing write lock for {0}".format(pkg_id)
assert msg in out
-@pytest.mark.parametrize('installed', [True, False])
+@pytest.mark.parametrize("installed", [True, False])
def test_push_task_skip_processed(install_mockery, installed):
"""Test to ensure skip re-queueing a processed package."""
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
assert len(list(installer.build_tasks)) == 0
@@ -772,7 +767,7 @@ def test_push_task_skip_processed(install_mockery, installed):
def test_requeue_task(install_mockery, capfd):
"""Test to ensure cover _requeue_task."""
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
task = create_build_task(installer.build_requests[0].pkg)
@@ -790,38 +785,39 @@ def test_requeue_task(install_mockery, capfd):
assert qtask.attempts == task.attempts + 1
out = capfd.readouterr()[1]
- assert 'Installing a' in out
- assert ' in progress by another process' in out
+ assert "Installing a" in out
+ assert " in progress by another process" in out
def test_cleanup_all_tasks(install_mockery, monkeypatch):
"""Test to ensure cover _cleanup_all_tasks."""
+
def _mktask(pkg):
return create_build_task(pkg)
def _rmtask(installer, pkg_id):
- raise RuntimeError('Raise an exception to test except path')
+ raise RuntimeError("Raise an exception to test except path")
- const_arg = installer_args(['a'], {})
+ const_arg = installer_args(["a"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
# Cover task removal happy path
- installer.build_tasks['a'] = _mktask(spec.package)
+ installer.build_tasks["a"] = _mktask(spec.package)
installer._cleanup_all_tasks()
assert len(installer.build_tasks) == 0
# Cover task removal exception path
- installer.build_tasks['a'] = _mktask(spec.package)
- monkeypatch.setattr(inst.PackageInstaller, '_remove_task', _rmtask)
+ installer.build_tasks["a"] = _mktask(spec.package)
+ monkeypatch.setattr(inst.PackageInstaller, "_remove_task", _rmtask)
installer._cleanup_all_tasks()
assert len(installer.build_tasks) == 1
def test_setup_install_dir_grp(install_mockery, monkeypatch, capfd):
"""Test _setup_install_dir's group change."""
- mock_group = 'mockgroup'
- mock_chgrp_msg = 'Changing group for {0} to {1}'
+ mock_group = "mockgroup"
+ mock_chgrp_msg = "Changing group for {0} to {1}"
def _get_group(spec):
return mock_group
@@ -829,10 +825,10 @@ def test_setup_install_dir_grp(install_mockery, monkeypatch, capfd):
def _chgrp(path, group, follow_symlinks=True):
tty.msg(mock_chgrp_msg.format(path, group))
- monkeypatch.setattr(prefs, 'get_package_group', _get_group)
- monkeypatch.setattr(fs, 'chgrp', _chgrp)
+ monkeypatch.setattr(prefs, "get_package_group", _get_group)
+ monkeypatch.setattr(fs, "chgrp", _chgrp)
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
@@ -854,29 +850,29 @@ def test_setup_install_dir_grp(install_mockery, monkeypatch, capfd):
def test_cleanup_failed_err(install_mockery, tmpdir, monkeypatch, capsys):
"""Test _cleanup_failed exception path."""
- msg = 'Fake release_write exception'
+ msg = "Fake release_write exception"
def _raise_except(lock):
raise RuntimeError(msg)
- const_arg = installer_args(['trivial-install-test-package'], {})
+ const_arg = installer_args(["trivial-install-test-package"], {})
installer = create_installer(const_arg)
- monkeypatch.setattr(lk.Lock, 'release_write', _raise_except)
- pkg_id = 'test'
+ monkeypatch.setattr(lk.Lock, "release_write", _raise_except)
+ pkg_id = "test"
with tmpdir.as_cwd():
- lock = lk.Lock('./test', default_timeout=1e-9, desc='test')
+ lock = lk.Lock("./test", default_timeout=1e-9, desc="test")
installer.failed[pkg_id] = lock
installer._cleanup_failed(pkg_id)
out = str(capsys.readouterr()[1])
- assert 'exception when removing failure tracking' in out
+ assert "exception when removing failure tracking" in out
assert msg in out
def test_update_failed_no_dependent_task(install_mockery):
"""Test _update_failed with missing dependent build tasks."""
- const_arg = installer_args(['dependent-install'], {})
+ const_arg = installer_args(["dependent-install"], {})
installer = create_installer(const_arg)
spec = installer.build_requests[0].pkg.spec
@@ -888,58 +884,58 @@ def test_update_failed_no_dependent_task(install_mockery):
def test_install_uninstalled_deps(install_mockery, monkeypatch, capsys):
"""Test install with uninstalled dependencies."""
- const_arg = installer_args(['dependent-install'], {})
+ const_arg = installer_args(["dependent-install"], {})
installer = create_installer(const_arg)
# Skip the actual installation and any status updates
- monkeypatch.setattr(inst.PackageInstaller, '_install_task', _noop)
- monkeypatch.setattr(inst.PackageInstaller, '_update_installed', _noop)
- monkeypatch.setattr(inst.PackageInstaller, '_update_failed', _noop)
+ monkeypatch.setattr(inst.PackageInstaller, "_install_task", _noop)
+ monkeypatch.setattr(inst.PackageInstaller, "_update_installed", _noop)
+ monkeypatch.setattr(inst.PackageInstaller, "_update_failed", _noop)
- msg = 'Cannot proceed with dependent-install'
+ msg = "Cannot proceed with dependent-install"
with pytest.raises(inst.InstallError, match=msg):
installer.install()
out = str(capsys.readouterr())
- assert 'Detected uninstalled dependencies for' in out
+ assert "Detected uninstalled dependencies for" in out
def test_install_failed(install_mockery, monkeypatch, capsys):
"""Test install with failed install."""
- const_arg = installer_args(['b'], {})
+ const_arg = installer_args(["b"], {})
installer = create_installer(const_arg)
# Make sure the package is identified as failed
- monkeypatch.setattr(spack.database.Database, 'prefix_failed', _true)
+ monkeypatch.setattr(spack.database.Database, "prefix_failed", _true)
- with pytest.raises(inst.InstallError, match='request failed'):
+ with pytest.raises(inst.InstallError, match="request failed"):
installer.install()
out = str(capsys.readouterr())
assert installer.build_requests[0].pkg_id in out
- assert 'failed to install' in out
+ assert "failed to install" in out
def test_install_failed_not_fast(install_mockery, monkeypatch, capsys):
"""Test install with failed install."""
- const_arg = installer_args(['a'], {'fail_fast': False})
+ const_arg = installer_args(["a"], {"fail_fast": False})
installer = create_installer(const_arg)
# Make sure the package is identified as failed
- monkeypatch.setattr(spack.database.Database, 'prefix_failed', _true)
+ monkeypatch.setattr(spack.database.Database, "prefix_failed", _true)
- with pytest.raises(inst.InstallError, match='request failed'):
+ with pytest.raises(inst.InstallError, match="request failed"):
installer.install()
out = str(capsys.readouterr())
- assert 'failed to install' in out
- assert 'Skipping build of a' in out
+ assert "failed to install" in out
+ assert "Skipping build of a" in out
def test_install_fail_on_interrupt(install_mockery, monkeypatch):
"""Test ctrl-c interrupted install."""
- spec_name = 'a'
- err_msg = 'mock keyboard interrupt for {0}'.format(spec_name)
+ spec_name = "a"
+ err_msg = "mock keyboard interrupt for {0}".format(spec_name)
def _interrupt(installer, task, **kwargs):
if task.pkg.name == spec_name:
@@ -951,19 +947,19 @@ def test_install_fail_on_interrupt(install_mockery, monkeypatch):
installer = create_installer(const_arg)
# Raise a KeyboardInterrupt error to trigger early termination
- monkeypatch.setattr(inst.PackageInstaller, '_install_task', _interrupt)
+ monkeypatch.setattr(inst.PackageInstaller, "_install_task", _interrupt)
with pytest.raises(KeyboardInterrupt, match=err_msg):
installer.install()
- assert 'b' in installer.installed # ensure dependency of a is 'installed'
+ assert "b" in installer.installed # ensure dependency of a is 'installed'
assert spec_name not in installer.installed
def test_install_fail_single(install_mockery, monkeypatch):
"""Test expected results for failure of single package."""
- spec_name = 'a'
- err_msg = 'mock internal package build error for {0}'.format(spec_name)
+ spec_name = "a"
+ err_msg = "mock internal package build error for {0}".format(spec_name)
class MyBuildException(Exception):
pass
@@ -978,19 +974,19 @@ def test_install_fail_single(install_mockery, monkeypatch):
installer = create_installer(const_arg)
# Raise a KeyboardInterrupt error to trigger early termination
- monkeypatch.setattr(inst.PackageInstaller, '_install_task', _install)
+ monkeypatch.setattr(inst.PackageInstaller, "_install_task", _install)
with pytest.raises(MyBuildException, match=err_msg):
installer.install()
- assert 'b' in installer.installed # ensure dependency of a is 'installed'
+ assert "b" in installer.installed # ensure dependency of a is 'installed'
assert spec_name not in installer.installed
def test_install_fail_multi(install_mockery, monkeypatch):
"""Test expected results for failure of multiple packages."""
- spec_name = 'c'
- err_msg = 'mock internal package build error'
+ spec_name = "c"
+ err_msg = "mock internal package build error"
class MyBuildException(Exception):
pass
@@ -1001,23 +997,23 @@ def test_install_fail_multi(install_mockery, monkeypatch):
else:
installer.installed.add(task.pkg.name)
- const_arg = installer_args([spec_name, 'a'], {})
+ const_arg = installer_args([spec_name, "a"], {})
installer = create_installer(const_arg)
# Raise a KeyboardInterrupt error to trigger early termination
- monkeypatch.setattr(inst.PackageInstaller, '_install_task', _install)
+ monkeypatch.setattr(inst.PackageInstaller, "_install_task", _install)
- with pytest.raises(inst.InstallError, match='Installation request failed'):
+ with pytest.raises(inst.InstallError, match="Installation request failed"):
installer.install()
- assert 'a' in installer.installed # ensure the the second spec installed
+ assert "a" in installer.installed # ensure the the second spec installed
assert spec_name not in installer.installed
def test_install_fail_fast_on_detect(install_mockery, monkeypatch, capsys):
"""Test fail_fast install when an install failure is detected."""
- const_arg = installer_args(['b'], {'fail_fast': False})
- const_arg.extend(installer_args(['c'], {'fail_fast': True}))
+ const_arg = installer_args(["b"], {"fail_fast": False})
+ const_arg.extend(installer_args(["c"], {"fail_fast": True}))
installer = create_installer(const_arg)
pkg_ids = [inst.package_id(spec.package) for spec, _ in const_arg]
@@ -1025,29 +1021,28 @@ def test_install_fail_fast_on_detect(install_mockery, monkeypatch, capsys):
#
# This will prevent b from installing, which will cause the build of a
# to be skipped.
- monkeypatch.setattr(spack.database.Database, 'prefix_failed', _true)
+ monkeypatch.setattr(spack.database.Database, "prefix_failed", _true)
- with pytest.raises(inst.InstallError, match='after first install failure'):
+ with pytest.raises(inst.InstallError, match="after first install failure"):
installer.install()
- assert pkg_ids[0] in installer.failed, 'Expected b to be marked as failed'
- assert pkg_ids[1] not in installer.failed, \
- 'Expected no attempt to install c'
+ assert pkg_ids[0] in installer.failed, "Expected b to be marked as failed"
+ assert pkg_ids[1] not in installer.failed, "Expected no attempt to install c"
out = capsys.readouterr()[1]
- assert '{0} failed to install'.format(pkg_ids[0]) in out
+ assert "{0} failed to install".format(pkg_ids[0]) in out
def _test_install_fail_fast_on_except_patch(installer, **kwargs):
"""Helper for test_install_fail_fast_on_except."""
# This is a module-scope function and not a local function because it
# needs to be pickleable.
- raise RuntimeError('mock patch failure')
+ raise RuntimeError("mock patch failure")
def test_install_fail_fast_on_except(install_mockery, monkeypatch, capsys):
"""Test fail_fast install when an install failure results from an error."""
- const_arg = installer_args(['a'], {'fail_fast': True})
+ const_arg = installer_args(["a"], {"fail_fast": True})
installer = create_installer(const_arg)
# Raise a non-KeyboardInterrupt exception to trigger fast failure.
@@ -1055,73 +1050,71 @@ def test_install_fail_fast_on_except(install_mockery, monkeypatch, capsys):
# This will prevent b from installing, which will cause the build of a
# to be skipped.
monkeypatch.setattr(
- spack.package_base.PackageBase,
- 'do_patch',
- _test_install_fail_fast_on_except_patch
+ spack.package_base.PackageBase, "do_patch", _test_install_fail_fast_on_except_patch
)
- with pytest.raises(inst.InstallError, match='mock patch failure'):
+ with pytest.raises(inst.InstallError, match="mock patch failure"):
installer.install()
out = str(capsys.readouterr())
- assert 'Skipping build of a' in out
+ assert "Skipping build of a" in out
def test_install_lock_failures(install_mockery, monkeypatch, capfd):
"""Cover basic install lock failure handling in a single pass."""
+
def _requeued(installer, task):
- tty.msg('requeued {0}' .format(task.pkg.spec.name))
+ tty.msg("requeued {0}".format(task.pkg.spec.name))
- const_arg = installer_args(['b'], {})
+ const_arg = installer_args(["b"], {})
installer = create_installer(const_arg)
# Ensure never acquire a lock
- monkeypatch.setattr(inst.PackageInstaller, '_ensure_locked', _not_locked)
+ monkeypatch.setattr(inst.PackageInstaller, "_ensure_locked", _not_locked)
# Ensure don't continually requeue the task
- monkeypatch.setattr(inst.PackageInstaller, '_requeue_task', _requeued)
+ monkeypatch.setattr(inst.PackageInstaller, "_requeue_task", _requeued)
- with pytest.raises(inst.InstallError, match='request failed'):
+ with pytest.raises(inst.InstallError, match="request failed"):
installer.install()
out = capfd.readouterr()[0]
- expected = ['write locked', 'read locked', 'requeued']
- for exp, ln in zip(expected, out.split('\n')):
+ expected = ["write locked", "read locked", "requeued"]
+ for exp, ln in zip(expected, out.split("\n")):
assert exp in ln
def test_install_lock_installed_requeue(install_mockery, monkeypatch, capfd):
"""Cover basic install handling for installed package."""
- const_arg = installer_args(['b'], {})
+ const_arg = installer_args(["b"], {})
b, _ = const_arg[0]
installer = create_installer(const_arg)
b_pkg_id = inst.package_id(b.package)
def _prep(installer, task):
installer.installed.add(b_pkg_id)
- tty.msg('{0} is installed' .format(b_pkg_id))
+ tty.msg("{0} is installed".format(b_pkg_id))
# also do not allow the package to be locked again
- monkeypatch.setattr(inst.PackageInstaller, '_ensure_locked',
- _not_locked)
+ monkeypatch.setattr(inst.PackageInstaller, "_ensure_locked", _not_locked)
def _requeued(installer, task):
- tty.msg('requeued {0}' .format(inst.package_id(task.pkg)))
+ tty.msg("requeued {0}".format(inst.package_id(task.pkg)))
# Flag the package as installed
- monkeypatch.setattr(inst.PackageInstaller, '_prepare_for_install', _prep)
+ monkeypatch.setattr(inst.PackageInstaller, "_prepare_for_install", _prep)
# Ensure don't continually requeue the task
- monkeypatch.setattr(inst.PackageInstaller, '_requeue_task', _requeued)
+ monkeypatch.setattr(inst.PackageInstaller, "_requeue_task", _requeued)
- with pytest.raises(inst.InstallError, match='request failed'):
+ with pytest.raises(inst.InstallError, match="request failed"):
installer.install()
assert b_pkg_id not in installer.installed
out = capfd.readouterr()[0]
- expected = ['is installed', 'read locked', 'requeued']
- for exp, ln in zip(expected, out.split('\n')):
+ expected = ["is installed", "read locked", "requeued"]
+ for exp, ln in zip(expected, out.split("\n")):
assert exp in ln
@@ -1130,44 +1123,43 @@ def test_install_read_locked_requeue(install_mockery, monkeypatch, capfd):
orig_fn = inst.PackageInstaller._ensure_locked
def _read(installer, lock_type, pkg):
- tty.msg('{0}->read locked {1}' .format(lock_type, pkg.spec.name))
- return orig_fn(installer, 'read', pkg)
+ tty.msg("{0}->read locked {1}".format(lock_type, pkg.spec.name))
+ return orig_fn(installer, "read", pkg)
def _prep(installer, task):
- tty.msg('preparing {0}' .format(task.pkg.spec.name))
+ tty.msg("preparing {0}".format(task.pkg.spec.name))
assert task.pkg.spec.name not in installer.installed
def _requeued(installer, task):
- tty.msg('requeued {0}' .format(task.pkg.spec.name))
+ tty.msg("requeued {0}".format(task.pkg.spec.name))
# Force a read lock
- monkeypatch.setattr(inst.PackageInstaller, '_ensure_locked', _read)
+ monkeypatch.setattr(inst.PackageInstaller, "_ensure_locked", _read)
# Flag the package as installed
- monkeypatch.setattr(inst.PackageInstaller, '_prepare_for_install', _prep)
+ monkeypatch.setattr(inst.PackageInstaller, "_prepare_for_install", _prep)
# Ensure don't continually requeue the task
- monkeypatch.setattr(inst.PackageInstaller, '_requeue_task', _requeued)
+ monkeypatch.setattr(inst.PackageInstaller, "_requeue_task", _requeued)
- const_arg = installer_args(['b'], {})
+ const_arg = installer_args(["b"], {})
installer = create_installer(const_arg)
- with pytest.raises(inst.InstallError, match='request failed'):
+ with pytest.raises(inst.InstallError, match="request failed"):
installer.install()
- assert 'b' not in installer.installed
+ assert "b" not in installer.installed
out = capfd.readouterr()[0]
- expected = ['write->read locked', 'preparing', 'requeued']
- for exp, ln in zip(expected, out.split('\n')):
+ expected = ["write->read locked", "preparing", "requeued"]
+ for exp, ln in zip(expected, out.split("\n")):
assert exp in ln
def test_install_skip_patch(install_mockery, mock_fetch):
"""Test the path skip_patch install path."""
- spec_name = 'b'
- const_arg = installer_args([spec_name],
- {'fake': False, 'skip_patch': True})
+ spec_name = "b"
+ const_arg = installer_args([spec_name], {"fake": False, "skip_patch": True})
installer = create_installer(const_arg)
installer.install()
@@ -1178,18 +1170,16 @@ def test_install_skip_patch(install_mockery, mock_fetch):
def test_install_implicit(install_mockery, mock_fetch):
"""Test the path skip_patch install path."""
- spec_name = 'trivial-install-test-package'
- const_arg = installer_args([spec_name],
- {'fake': False})
+ spec_name = "trivial-install-test-package"
+ const_arg = installer_args([spec_name], {"fake": False})
installer = create_installer(const_arg)
pkg = installer.build_requests[0].pkg
- assert not create_build_task(pkg, {'explicit': False}).explicit
- assert create_build_task(pkg, {'explicit': True}).explicit
+ assert not create_build_task(pkg, {"explicit": False}).explicit
+ assert create_build_task(pkg, {"explicit": True}).explicit
assert create_build_task(pkg).explicit
-def test_overwrite_install_backup_success(temporary_store, config, mock_packages,
- tmpdir):
+def test_overwrite_install_backup_success(temporary_store, config, mock_packages, tmpdir):
"""
When doing an overwrite install that fails, Spack should restore the backup
of the original prefix, and leave the original spec marked installed.
@@ -1201,7 +1191,7 @@ def test_overwrite_install_backup_success(temporary_store, config, mock_packages
task = installer._pop_task()
# Make sure the install prefix exists with some trivial file
- installed_file = os.path.join(task.pkg.prefix, 'some_file')
+ installed_file = os.path.join(task.pkg.prefix, "some_file")
fs.touchp(installed_file)
class InstallerThatWipesThePrefixDir:
@@ -1222,7 +1212,7 @@ def test_overwrite_install_backup_success(temporary_store, config, mock_packages
# Installation should throw the installation exception, not the backup
# failure.
- with pytest.raises(Exception, match='Some fatal install error'):
+ with pytest.raises(Exception, match="Some fatal install error"):
overwrite_install.install()
# Make sure the package is not marked uninstalled and the original dir
@@ -1231,20 +1221,19 @@ def test_overwrite_install_backup_success(temporary_store, config, mock_packages
assert os.path.exists(installed_file)
-def test_overwrite_install_backup_failure(temporary_store, config, mock_packages,
- tmpdir):
+def test_overwrite_install_backup_failure(temporary_store, config, mock_packages, tmpdir):
"""
When doing an overwrite install that fails, Spack should try to recover the
original prefix. If that fails, the spec is lost, and it should be removed
from the database.
"""
+
class InstallerThatAccidentallyDeletesTheBackupDir:
def _install_task(self, task):
# Remove the backup directory, which is at the same level as the prefix,
# starting with .backup
backup_glob = os.path.join(
- os.path.dirname(os.path.normpath(task.pkg.prefix)),
- '.backup*'
+ os.path.dirname(os.path.normpath(task.pkg.prefix)), ".backup*"
)
for backup in glob.iglob(backup_glob):
shutil.rmtree(backup)
@@ -1263,7 +1252,7 @@ def test_overwrite_install_backup_failure(temporary_store, config, mock_packages
task = installer._pop_task()
# Make sure the install prefix exists
- installed_file = os.path.join(task.pkg.prefix, 'some_file')
+ installed_file = os.path.join(task.pkg.prefix, "some_file")
fs.touchp(installed_file)
fake_installer = InstallerThatAccidentallyDeletesTheBackupDir()
@@ -1272,7 +1261,7 @@ def test_overwrite_install_backup_failure(temporary_store, config, mock_packages
# Installation should throw the installation exception, not the backup
# failure.
- with pytest.raises(Exception, match='Some fatal install error'):
+ with pytest.raises(Exception, match="Some fatal install error"):
overwrite_install.install()
# Make sure that `remove` was called on the database after an unsuccessful
@@ -1291,14 +1280,13 @@ def test_term_status_line():
x.clear()
-@pytest.mark.parametrize('explicit_args,is_explicit', [
- ({'explicit': False}, False),
- ({'explicit': True}, True),
- ({}, True)
-])
+@pytest.mark.parametrize(
+ "explicit_args,is_explicit",
+ [({"explicit": False}, False), ({"explicit": True}, True), ({}, True)],
+)
def test_single_external_implicit_install(install_mockery, explicit_args, is_explicit):
- pkg = 'trivial-install-test-package'
+ pkg = "trivial-install-test-package"
s = spack.spec.Spec(pkg).concretized()
- s.external_path = '/usr'
+ s.external_path = "/usr"
create_installer([(s, explicit_args)]).install()
assert spack.store.db.get_record(pkg).explicit == is_explicit
diff --git a/lib/spack/spack/test/link_paths.py b/lib/spack/spack/test/link_paths.py
index 4e08a26fdf..d9d21f259b 100644
--- a/lib/spack/spack/test/link_paths.py
+++ b/lib/spack/spack/test/link_paths.py
@@ -20,15 +20,14 @@ if is_windows:
root = drive + os.sep
#: directory with sample compiler data
-datadir = os.path.join(spack.paths.test_path, 'data',
- 'compiler_verbose_output')
+datadir = os.path.join(spack.paths.test_path, "data", "compiler_verbose_output")
@pytest.fixture(autouse=True)
def allow_nonexistent_paths(monkeypatch):
# Allow nonexistent paths to be detected as part of the output
# for testing purposes.
- monkeypatch.setattr(os.path, 'isdir', lambda x: True)
+ monkeypatch.setattr(os.path, "isdir", lambda x: True)
def check_link_paths(filename, paths):
@@ -51,7 +50,8 @@ def check_link_paths(filename, paths):
def test_icc16_link_paths():
prefix = os.path.join(root, "usr", "tce", "packages")
check_link_paths(
- 'icc-16.0.3.txt', [
+ "icc-16.0.3.txt",
+ [
os.path.join(
prefix,
"intel",
@@ -66,35 +66,37 @@ def test_icc16_link_paths():
prefix, "gcc", "gcc-4.9.3", "lib64", "gcc", "x86_64-unknown-linux-gnu", "4.9.3"
),
os.path.join(prefix, "gcc", "gcc-4.9.3", "lib64"),
- ]
+ ],
)
def test_pgi_link_paths():
check_link_paths(
- 'pgcc-16.3.txt', [
+ "pgcc-16.3.txt",
+ [
os.path.join(
root, "usr", "tce", "packages", "pgi", "pgi-16.3", "linux86-64", "16.3", "lib"
)
- ]
+ ],
)
def test_gcc7_link_paths():
- check_link_paths('gcc-7.3.1.txt', [])
+ check_link_paths("gcc-7.3.1.txt", [])
def test_clang4_link_paths():
- check_link_paths('clang-4.0.1.txt', [])
+ check_link_paths("clang-4.0.1.txt", [])
def test_xl_link_paths():
check_link_paths(
- 'xl-13.1.5.txt', [
+ "xl-13.1.5.txt",
+ [
os.path.join(root, "opt", "ibm", "xlsmp", "4.1.5", "lib"),
os.path.join(root, "opt", "ibm", "xlmass", "8.1.5", "lib"),
os.path.join(root, "opt", "ibm", "xlC", "13.1.5", "lib"),
- ]
+ ],
)
@@ -102,7 +104,8 @@ def test_cce_link_paths():
gcc = os.path.join(root, "opt", "gcc")
cray = os.path.join(root, "opt", "cray")
check_link_paths(
- 'cce-8.6.5.txt', [
+ "cce-8.6.5.txt",
+ [
os.path.join(gcc, "6.1.0", "snos", "lib64"),
os.path.join(cray, "dmapp", "default", "lib64"),
os.path.join(cray, "pe", "mpt", "7.7.0", "gni", "mpich-cray", "8.6", "lib"),
@@ -119,22 +122,16 @@ def test_cce_link_paths():
os.path.join(cray, "wlm_detect", "1.3.2-6.0.5.0_3.1__g388ccd5.ari", "lib64"),
os.path.join(gcc, "6.1.0", "snos", "lib", "gcc", "x86_64-suse-linux", "6.1.0"),
os.path.join(
- cray,
- "pe",
- "cce",
- "8.6.5",
- "binutils",
- "x86_64",
- "x86_64-unknown-linux-gnu",
- "lib"
+ cray, "pe", "cce", "8.6.5", "binutils", "x86_64", "x86_64-unknown-linux-gnu", "lib"
),
- ]
+ ],
)
def test_clang_apple_ld_link_paths():
check_link_paths(
- 'clang-9.0.0-apple-ld.txt', [
+ "clang-9.0.0-apple-ld.txt",
+ [
os.path.join(
root,
"Applications",
@@ -149,7 +146,7 @@ def test_clang_apple_ld_link_paths():
"usr",
"lib",
)
- ]
+ ],
)
@@ -170,11 +167,12 @@ def test_nag_mixed_gcc_gnu_ld_link_paths():
)
check_link_paths(
- 'collect2-6.3.0-gnu-ld.txt', [
+ "collect2-6.3.0-gnu-ld.txt",
+ [
os.path.join(prefix, "lib", "gcc", "x86_64-pc-linux-gnu", "6.5.0"),
os.path.join(prefix, "lib64"),
os.path.join(prefix, "lib"),
- ]
+ ],
)
@@ -195,11 +193,12 @@ def test_nag_link_paths():
)
check_link_paths(
- 'nag-6.2-gcc-6.5.0.txt', [
+ "nag-6.2-gcc-6.5.0.txt",
+ [
os.path.join(prefix, "lib", "gcc", "x86_64-pc-linux-gnu", "6.5.0"),
os.path.join(prefix, "lib64"),
os.path.join(prefix, "lib"),
- ]
+ ],
)
@@ -214,4 +213,4 @@ def test_obscure_parsing_rules():
if is_windows:
paths.remove(os.path.join(root, "second", "path"))
- check_link_paths('obscure-parsing-rules.txt', paths)
+ check_link_paths("obscure-parsing-rules.txt", paths)
diff --git a/lib/spack/spack/test/llnl/util/argparsewriter.py b/lib/spack/spack/test/llnl/util/argparsewriter.py
index 00e967a97a..e8d88cd70b 100644
--- a/lib/spack/spack/test/llnl/util/argparsewriter.py
+++ b/lib/spack/spack/test/llnl/util/argparsewriter.py
@@ -20,17 +20,17 @@ spack.main.add_all_commands(parser)
def test_format_not_overridden():
- writer = aw.ArgparseWriter('spack')
+ writer = aw.ArgparseWriter("spack")
with pytest.raises(NotImplementedError):
writer.write(parser)
def test_completion_format_not_overridden():
- writer = aw.ArgparseCompletionWriter('spack')
+ writer = aw.ArgparseCompletionWriter("spack")
- assert writer.positionals([]) == ''
- assert writer.optionals([]) == ''
- assert writer.subcommands([]) == ''
+ assert writer.positionals([]) == ""
+ assert writer.optionals([]) == ""
+ assert writer.subcommands([]) == ""
writer.write(parser)
diff --git a/lib/spack/spack/test/llnl/util/file_list.py b/lib/spack/spack/test/llnl/util/file_list.py
index e3c60aa65e..9ae33a90b5 100644
--- a/lib/spack/spack/test/llnl/util/file_list.py
+++ b/lib/spack/spack/test/llnl/util/file_list.py
@@ -25,11 +25,11 @@ def library_list():
"""Returns an instance of LibraryList."""
# Test all valid extensions: ['.a', '.dylib', '.so']
libs = [
- '/dir1/liblapack.a',
- '/dir2/libpython3.6.dylib', # name may contain periods
- '/dir1/libblas.a',
- '/dir3/libz.so',
- 'libmpi.so.20.10.1', # shared object libraries may be versioned
+ "/dir1/liblapack.a",
+ "/dir2/libpython3.6.dylib", # name may contain periods
+ "/dir1/libblas.a",
+ "/dir3/libz.so",
+ "libmpi.so.20.10.1", # shared object libraries may be versioned
]
return LibraryList(libs)
@@ -40,20 +40,19 @@ def header_list():
"""Returns an instance of header list"""
# Test all valid extensions: ['.h', '.hpp', '.hh', '.cuh']
headers = [
- '/dir1/Python.h',
- '/dir2/date.time.h',
- '/dir1/pyconfig.hpp',
- '/dir3/core.hh',
- 'pymem.cuh',
+ "/dir1/Python.h",
+ "/dir2/date.time.h",
+ "/dir1/pyconfig.hpp",
+ "/dir3/core.hh",
+ "pymem.cuh",
]
h = HeaderList(headers)
- h.add_macro('-DBOOST_LIB_NAME=boost_regex')
- h.add_macro('-DBOOST_DYN_LINK')
+ h.add_macro("-DBOOST_LIB_NAME=boost_regex")
+ h.add_macro("-DBOOST_DYN_LINK")
return h
class TestLibraryList(object):
-
def test_repr(self, library_list):
x = eval(repr(library_list))
assert library_list == x
@@ -61,60 +60,64 @@ class TestLibraryList(object):
def test_joined_and_str(self, library_list):
s1 = library_list.joined()
- expected = " ".join([
- "/dir1/liblapack.a",
- "/dir2/libpython3.6.dylib",
- "/dir1/libblas.a",
- "/dir3/libz.so",
- "libmpi.so.20.10.1",
- ])
+ expected = " ".join(
+ [
+ "/dir1/liblapack.a",
+ "/dir2/libpython3.6.dylib",
+ "/dir1/libblas.a",
+ "/dir3/libz.so",
+ "libmpi.so.20.10.1",
+ ]
+ )
assert s1 == expected
s2 = str(library_list)
assert s1 == s2
- s3 = library_list.joined(';')
- expected = ";".join([
- "/dir1/liblapack.a",
- "/dir2/libpython3.6.dylib",
- "/dir1/libblas.a",
- "/dir3/libz.so",
- "libmpi.so.20.10.1",
- ])
+ s3 = library_list.joined(";")
+ expected = ";".join(
+ [
+ "/dir1/liblapack.a",
+ "/dir2/libpython3.6.dylib",
+ "/dir1/libblas.a",
+ "/dir3/libz.so",
+ "libmpi.so.20.10.1",
+ ]
+ )
assert s3 == expected
def test_flags(self, library_list):
search_flags = library_list.search_flags
- assert '-L/dir1' in search_flags
- assert '-L/dir2' in search_flags
- assert '-L/dir3' in search_flags
+ assert "-L/dir1" in search_flags
+ assert "-L/dir2" in search_flags
+ assert "-L/dir3" in search_flags
assert isinstance(search_flags, str)
- assert search_flags == '-L/dir1 -L/dir2 -L/dir3'
+ assert search_flags == "-L/dir1 -L/dir2 -L/dir3"
link_flags = library_list.link_flags
- assert '-llapack' in link_flags
- assert '-lpython3.6' in link_flags
- assert '-lblas' in link_flags
- assert '-lz' in link_flags
- assert '-lmpi' in link_flags
+ assert "-llapack" in link_flags
+ assert "-lpython3.6" in link_flags
+ assert "-lblas" in link_flags
+ assert "-lz" in link_flags
+ assert "-lmpi" in link_flags
assert isinstance(link_flags, str)
- assert link_flags == '-llapack -lpython3.6 -lblas -lz -lmpi'
+ assert link_flags == "-llapack -lpython3.6 -lblas -lz -lmpi"
ld_flags = library_list.ld_flags
assert isinstance(ld_flags, str)
- assert ld_flags == search_flags + ' ' + link_flags
+ assert ld_flags == search_flags + " " + link_flags
def test_paths_manipulation(self, library_list):
names = library_list.names
- assert names == ['lapack', 'python3.6', 'blas', 'z', 'mpi']
+ assert names == ["lapack", "python3.6", "blas", "z", "mpi"]
directories = library_list.directories
- assert directories == ['/dir1', '/dir2', '/dir3']
+ assert directories == ["/dir1", "/dir2", "/dir3"]
def test_get_item(self, library_list):
a = library_list[0]
- assert a == '/dir1/liblapack.a'
+ assert a == "/dir1/liblapack.a"
b = library_list[:]
assert type(b) == type(library_list)
@@ -123,9 +126,9 @@ class TestLibraryList(object):
def test_add(self, library_list):
pylist = [
- '/dir1/liblapack.a', # removed from the final list
- '/dir2/libmpi.so',
- '/dir4/libnew.a'
+ "/dir1/liblapack.a", # removed from the final list
+ "/dir2/libmpi.so",
+ "/dir4/libnew.a",
]
another = LibraryList(pylist)
both = library_list + another
@@ -140,63 +143,66 @@ class TestLibraryList(object):
class TestHeaderList(object):
-
def test_repr(self, header_list):
x = eval(repr(header_list))
assert header_list == x
def test_joined_and_str(self, header_list):
s1 = header_list.joined()
- expected = " ".join([
- "/dir1/Python.h",
- "/dir2/date.time.h",
- "/dir1/pyconfig.hpp",
- "/dir3/core.hh",
- "pymem.cuh",
- ])
+ expected = " ".join(
+ [
+ "/dir1/Python.h",
+ "/dir2/date.time.h",
+ "/dir1/pyconfig.hpp",
+ "/dir3/core.hh",
+ "pymem.cuh",
+ ]
+ )
assert s1 == expected
s2 = str(header_list)
assert s1 == s2
- s3 = header_list.joined(';')
- expected = ";".join([
- "/dir1/Python.h",
- "/dir2/date.time.h",
- "/dir1/pyconfig.hpp",
- "/dir3/core.hh",
- "pymem.cuh",
- ])
+ s3 = header_list.joined(";")
+ expected = ";".join(
+ [
+ "/dir1/Python.h",
+ "/dir2/date.time.h",
+ "/dir1/pyconfig.hpp",
+ "/dir3/core.hh",
+ "pymem.cuh",
+ ]
+ )
assert s3 == expected
def test_flags(self, header_list):
include_flags = header_list.include_flags
- assert '-I/dir1' in include_flags
- assert '-I/dir2' in include_flags
- assert '-I/dir3' in include_flags
+ assert "-I/dir1" in include_flags
+ assert "-I/dir2" in include_flags
+ assert "-I/dir3" in include_flags
assert isinstance(include_flags, str)
- assert include_flags == '-I/dir1 -I/dir2 -I/dir3'
+ assert include_flags == "-I/dir1 -I/dir2 -I/dir3"
macros = header_list.macro_definitions
- assert '-DBOOST_LIB_NAME=boost_regex' in macros
- assert '-DBOOST_DYN_LINK' in macros
+ assert "-DBOOST_LIB_NAME=boost_regex" in macros
+ assert "-DBOOST_DYN_LINK" in macros
assert isinstance(macros, str)
- assert macros == '-DBOOST_LIB_NAME=boost_regex -DBOOST_DYN_LINK'
+ assert macros == "-DBOOST_LIB_NAME=boost_regex -DBOOST_DYN_LINK"
cpp_flags = header_list.cpp_flags
assert isinstance(cpp_flags, str)
- assert cpp_flags == include_flags + ' ' + macros
+ assert cpp_flags == include_flags + " " + macros
def test_paths_manipulation(self, header_list):
names = header_list.names
- assert names == ['Python', 'date.time', 'pyconfig', 'core', 'pymem']
+ assert names == ["Python", "date.time", "pyconfig", "core", "pymem"]
directories = header_list.directories
- assert directories == ['/dir1', '/dir2', '/dir3']
+ assert directories == ["/dir1", "/dir2", "/dir3"]
def test_get_item(self, header_list):
a = header_list[0]
- assert a == '/dir1/Python.h'
+ assert a == "/dir1/Python.h"
b = header_list[:]
assert type(b) == type(header_list)
@@ -205,9 +211,9 @@ class TestHeaderList(object):
def test_add(self, header_list):
pylist = [
- '/dir1/Python.h', # removed from the final list
- '/dir2/pyconfig.hpp',
- '/dir4/date.time.h'
+ "/dir1/Python.h", # removed from the final list
+ "/dir2/pyconfig.hpp",
+ "/dir4/date.time.h",
]
another = HeaderList(pylist)
h = header_list + another
@@ -222,46 +228,38 @@ class TestHeaderList(object):
#: Directory where the data for the test below is stored
-search_dir = os.path.join(spack.paths.test_path, 'data', 'directory_search')
-
-
-@pytest.mark.parametrize('search_fn,search_list,root,kwargs', [
- (find_libraries, 'liba', search_dir, {'recursive': True}),
- (find_libraries, ['liba'], search_dir, {'recursive': True}),
- (find_libraries, 'libb', search_dir, {'recursive': True}),
- (find_libraries, ['libc'], search_dir, {'recursive': True}),
- (find_libraries, ['libc', 'liba'], search_dir, {'recursive': True}),
- (find_libraries, ['liba', 'libc'], search_dir, {'recursive': True}),
- (find_libraries,
- ['libc', 'libb', 'liba'],
- search_dir,
- {'recursive': True}
- ),
- (find_libraries, ['liba', 'libc'], search_dir, {'recursive': True}),
- (find_libraries,
- ['libc', 'libb', 'liba'],
- search_dir,
- {'recursive': True, 'shared': False}
- ),
- (find_headers, 'a', search_dir, {'recursive': True}),
- (find_headers, ['a'], search_dir, {'recursive': True}),
- (find_headers, 'b', search_dir, {'recursive': True}),
- (find_headers, ['c'], search_dir, {'recursive': True}),
- (find_headers, ['c', 'a'], search_dir, {'recursive': True}),
- (find_headers, ['a', 'c'], search_dir, {'recursive': True}),
- (find_headers, ['c', 'b', 'a'], search_dir, {'recursive': True}),
- (find_headers, ['a', 'c'], search_dir, {'recursive': True}),
- (find_libraries,
- ['liba', 'libd'],
- os.path.join(search_dir, 'b'),
- {'recursive': False}
- ),
- (find_headers,
- ['b', 'd'],
- os.path.join(search_dir, 'b'),
- {'recursive': False}
- ),
-])
+search_dir = os.path.join(spack.paths.test_path, "data", "directory_search")
+
+
+@pytest.mark.parametrize(
+ "search_fn,search_list,root,kwargs",
+ [
+ (find_libraries, "liba", search_dir, {"recursive": True}),
+ (find_libraries, ["liba"], search_dir, {"recursive": True}),
+ (find_libraries, "libb", search_dir, {"recursive": True}),
+ (find_libraries, ["libc"], search_dir, {"recursive": True}),
+ (find_libraries, ["libc", "liba"], search_dir, {"recursive": True}),
+ (find_libraries, ["liba", "libc"], search_dir, {"recursive": True}),
+ (find_libraries, ["libc", "libb", "liba"], search_dir, {"recursive": True}),
+ (find_libraries, ["liba", "libc"], search_dir, {"recursive": True}),
+ (
+ find_libraries,
+ ["libc", "libb", "liba"],
+ search_dir,
+ {"recursive": True, "shared": False},
+ ),
+ (find_headers, "a", search_dir, {"recursive": True}),
+ (find_headers, ["a"], search_dir, {"recursive": True}),
+ (find_headers, "b", search_dir, {"recursive": True}),
+ (find_headers, ["c"], search_dir, {"recursive": True}),
+ (find_headers, ["c", "a"], search_dir, {"recursive": True}),
+ (find_headers, ["a", "c"], search_dir, {"recursive": True}),
+ (find_headers, ["c", "b", "a"], search_dir, {"recursive": True}),
+ (find_headers, ["a", "c"], search_dir, {"recursive": True}),
+ (find_libraries, ["liba", "libd"], os.path.join(search_dir, "b"), {"recursive": False}),
+ (find_headers, ["b", "d"], os.path.join(search_dir, "b"), {"recursive": False}),
+ ],
+)
def test_searching_order(search_fn, search_list, root, kwargs):
# Test search
@@ -292,18 +290,31 @@ def test_searching_order(search_fn, search_list, root, kwargs):
assert len(rlist) == 0
-@pytest.mark.parametrize('root,search_list,kwargs,expected', [
- (search_dir, '*/*bar.tx?', {'recursive': False}, [
- os.path.join(search_dir, os.path.join('a', 'foobar.txt')),
- os.path.join(search_dir, os.path.join('b', 'bar.txp')),
- os.path.join(search_dir, os.path.join('c', 'bar.txt')),
- ]),
- (search_dir, '*/*bar.tx?', {'recursive': True}, [
- os.path.join(search_dir, os.path.join('a', 'foobar.txt')),
- os.path.join(search_dir, os.path.join('b', 'bar.txp')),
- os.path.join(search_dir, os.path.join('c', 'bar.txt')),
- ])
-])
+@pytest.mark.parametrize(
+ "root,search_list,kwargs,expected",
+ [
+ (
+ search_dir,
+ "*/*bar.tx?",
+ {"recursive": False},
+ [
+ os.path.join(search_dir, os.path.join("a", "foobar.txt")),
+ os.path.join(search_dir, os.path.join("b", "bar.txp")),
+ os.path.join(search_dir, os.path.join("c", "bar.txt")),
+ ],
+ ),
+ (
+ search_dir,
+ "*/*bar.tx?",
+ {"recursive": True},
+ [
+ os.path.join(search_dir, os.path.join("a", "foobar.txt")),
+ os.path.join(search_dir, os.path.join("b", "bar.txp")),
+ os.path.join(search_dir, os.path.join("c", "bar.txt")),
+ ],
+ ),
+ ],
+)
def test_find_with_globbing(root, search_list, kwargs, expected):
matches = find(root, search_list, **kwargs)
assert sorted(matches) == sorted(expected)
diff --git a/lib/spack/spack/test/llnl/util/filesystem.py b/lib/spack/spack/test/llnl/util/filesystem.py
index c2052223f9..559ff5bace 100644
--- a/lib/spack/spack/test/llnl/util/filesystem.py
+++ b/lib/spack/spack/test/llnl/util/filesystem.py
@@ -21,28 +21,28 @@ import spack.paths
def stage(tmpdir_factory):
"""Creates a stage with the directory structure for the tests."""
- s = tmpdir_factory.mktemp('filesystem_test')
+ s = tmpdir_factory.mktemp("filesystem_test")
with s.as_cwd():
# Create source file hierarchy
- fs.touchp('source/1')
- fs.touchp('source/a/b/2')
- fs.touchp('source/a/b/3')
- fs.touchp('source/c/4')
- fs.touchp('source/c/d/5')
- fs.touchp('source/c/d/6')
- fs.touchp('source/c/d/e/7')
- fs.touchp('source/g/h/i/8')
- fs.touchp('source/g/h/i/9')
- fs.touchp('source/g/i/j/10')
+ fs.touchp("source/1")
+ fs.touchp("source/a/b/2")
+ fs.touchp("source/a/b/3")
+ fs.touchp("source/c/4")
+ fs.touchp("source/c/d/5")
+ fs.touchp("source/c/d/6")
+ fs.touchp("source/c/d/e/7")
+ fs.touchp("source/g/h/i/8")
+ fs.touchp("source/g/h/i/9")
+ fs.touchp("source/g/i/j/10")
# Create symlinks
- symlink(os.path.abspath('source/1'), 'source/2')
- symlink('b/2', 'source/a/b2')
- symlink('a/b', 'source/f')
+ symlink(os.path.abspath("source/1"), "source/2")
+ symlink("b/2", "source/a/b2")
+ symlink("a/b", "source/f")
# Create destination directory
- fs.mkdirp('dest')
+ fs.mkdirp("dest")
yield s
@@ -54,42 +54,42 @@ class TestCopy:
"""Test using a filename as the destination."""
with fs.working_dir(str(stage)):
- fs.copy('source/1', 'dest/1')
+ fs.copy("source/1", "dest/1")
- assert os.path.exists('dest/1')
+ assert os.path.exists("dest/1")
def test_dir_dest(self, stage):
"""Test using a directory as the destination."""
with fs.working_dir(str(stage)):
- fs.copy('source/1', 'dest')
+ fs.copy("source/1", "dest")
- assert os.path.exists('dest/1')
+ assert os.path.exists("dest/1")
def test_glob_src(self, stage):
"""Test using a glob as the source."""
with fs.working_dir(str(stage)):
- fs.copy('source/a/*/*', 'dest')
+ fs.copy("source/a/*/*", "dest")
- assert os.path.exists('dest/2')
- assert os.path.exists('dest/3')
+ assert os.path.exists("dest/2")
+ assert os.path.exists("dest/3")
def test_non_existing_src(self, stage):
"""Test using a non-existing source."""
with fs.working_dir(str(stage)):
- with pytest.raises(IOError, match='No such file or directory'):
- fs.copy('source/none', 'dest')
+ with pytest.raises(IOError, match="No such file or directory"):
+ fs.copy("source/none", "dest")
def test_multiple_src_file_dest(self, stage):
"""Test a glob that matches multiple source files and a dest
that is not a directory."""
with fs.working_dir(str(stage)):
- match = '.* matches multiple files but .* is not a directory'
+ match = ".* matches multiple files but .* is not a directory"
with pytest.raises(ValueError, match=match):
- fs.copy('source/a/*/*', 'dest/1')
+ fs.copy("source/a/*/*", "dest/1")
def check_added_exe_permissions(src, dst):
@@ -107,49 +107,49 @@ class TestInstall:
"""Test using a filename as the destination."""
with fs.working_dir(str(stage)):
- fs.install('source/1', 'dest/1')
+ fs.install("source/1", "dest/1")
- assert os.path.exists('dest/1')
- check_added_exe_permissions('source/1', 'dest/1')
+ assert os.path.exists("dest/1")
+ check_added_exe_permissions("source/1", "dest/1")
def test_dir_dest(self, stage):
"""Test using a directory as the destination."""
with fs.working_dir(str(stage)):
- fs.install('source/1', 'dest')
+ fs.install("source/1", "dest")
- assert os.path.exists('dest/1')
- check_added_exe_permissions('source/1', 'dest/1')
+ assert os.path.exists("dest/1")
+ check_added_exe_permissions("source/1", "dest/1")
def test_glob_src(self, stage):
"""Test using a glob as the source."""
with fs.working_dir(str(stage)):
- fs.install('source/a/*/*', 'dest')
+ fs.install("source/a/*/*", "dest")
- assert os.path.exists('dest/2')
- assert os.path.exists('dest/3')
- check_added_exe_permissions('source/a/b/2', 'dest/2')
- check_added_exe_permissions('source/a/b/3', 'dest/3')
+ assert os.path.exists("dest/2")
+ assert os.path.exists("dest/3")
+ check_added_exe_permissions("source/a/b/2", "dest/2")
+ check_added_exe_permissions("source/a/b/3", "dest/3")
def test_non_existing_src(self, stage):
"""Test using a non-existing source."""
with fs.working_dir(str(stage)):
- with pytest.raises(IOError, match='No such file or directory'):
- fs.install('source/none', 'dest')
+ with pytest.raises(IOError, match="No such file or directory"):
+ fs.install("source/none", "dest")
def test_multiple_src_file_dest(self, stage):
"""Test a glob that matches multiple source files and a dest
that is not a directory."""
with fs.working_dir(str(stage)):
- match = '.* matches multiple files but .* is not a directory'
+ match = ".* matches multiple files but .* is not a directory"
with pytest.raises(ValueError, match=match):
- fs.install('source/a/*/*', 'dest/1')
+ fs.install("source/a/*/*", "dest/1")
-@pytest.mark.skipif(sys.platform == 'win32', reason="Skip test on Windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="Skip test on Windows")
class TestCopyTree:
"""Tests for ``filesystem.copy_tree``"""
@@ -157,82 +157,80 @@ class TestCopyTree:
"""Test copying to an existing directory."""
with fs.working_dir(str(stage)):
- fs.copy_tree('source', 'dest')
+ fs.copy_tree("source", "dest")
- assert os.path.exists('dest/a/b/2')
+ assert os.path.exists("dest/a/b/2")
def test_non_existing_dir(self, stage):
"""Test copying to a non-existing directory."""
with fs.working_dir(str(stage)):
- fs.copy_tree('source', 'dest/sub/directory')
+ fs.copy_tree("source", "dest/sub/directory")
- assert os.path.exists('dest/sub/directory/a/b/2')
+ assert os.path.exists("dest/sub/directory/a/b/2")
def test_symlinks_true(self, stage):
"""Test copying with symlink preservation."""
with fs.working_dir(str(stage)):
- fs.copy_tree('source', 'dest', symlinks=True)
+ fs.copy_tree("source", "dest", symlinks=True)
- assert os.path.exists('dest/2')
- assert islink('dest/2')
+ assert os.path.exists("dest/2")
+ assert islink("dest/2")
- assert os.path.exists('dest/a/b2')
- with fs.working_dir('dest/a'):
- assert os.path.exists(os.readlink('b2'))
+ assert os.path.exists("dest/a/b2")
+ with fs.working_dir("dest/a"):
+ assert os.path.exists(os.readlink("b2"))
- assert (os.path.realpath('dest/f/2') ==
- os.path.abspath('dest/a/b/2'))
- assert os.path.realpath('dest/2') == os.path.abspath('dest/1')
+ assert os.path.realpath("dest/f/2") == os.path.abspath("dest/a/b/2")
+ assert os.path.realpath("dest/2") == os.path.abspath("dest/1")
def test_symlinks_true_ignore(self, stage):
- """Test copying when specifying relative paths that should be ignored
- """
+ """Test copying when specifying relative paths that should be ignored"""
with fs.working_dir(str(stage)):
- ignore = lambda p: p in ['c/d/e', 'a']
- fs.copy_tree('source', 'dest', symlinks=True, ignore=ignore)
- assert not os.path.exists('dest/a')
- assert os.path.exists('dest/c/d')
- assert not os.path.exists('dest/c/d/e')
+ ignore = lambda p: p in ["c/d/e", "a"]
+ fs.copy_tree("source", "dest", symlinks=True, ignore=ignore)
+ assert not os.path.exists("dest/a")
+ assert os.path.exists("dest/c/d")
+ assert not os.path.exists("dest/c/d/e")
def test_symlinks_false(self, stage):
"""Test copying without symlink preservation."""
with fs.working_dir(str(stage)):
- fs.copy_tree('source', 'dest', symlinks=False)
+ fs.copy_tree("source", "dest", symlinks=False)
- assert os.path.exists('dest/2')
+ assert os.path.exists("dest/2")
if sys.platform != "win32":
- assert not os.path.islink('dest/2')
+ assert not os.path.islink("dest/2")
def test_glob_src(self, stage):
"""Test using a glob as the source."""
with fs.working_dir(str(stage)):
- fs.copy_tree('source/g/*', 'dest')
+ fs.copy_tree("source/g/*", "dest")
- assert os.path.exists('dest/i/8')
- assert os.path.exists('dest/i/9')
- assert os.path.exists('dest/j/10')
+ assert os.path.exists("dest/i/8")
+ assert os.path.exists("dest/i/9")
+ assert os.path.exists("dest/j/10")
def test_non_existing_src(self, stage):
"""Test using a non-existing source."""
with fs.working_dir(str(stage)):
- with pytest.raises(IOError, match='No such file or directory'):
- fs.copy_tree('source/none', 'dest')
+ with pytest.raises(IOError, match="No such file or directory"):
+ fs.copy_tree("source/none", "dest")
def test_parent_dir(self, stage):
"""Test source as a parent directory of destination."""
with fs.working_dir(str(stage)):
- match = 'Cannot copy ancestor directory'
+ match = "Cannot copy ancestor directory"
with pytest.raises(ValueError, match=match):
- fs.copy_tree('source', 'source/sub/directory')
+ fs.copy_tree("source", "source/sub/directory")
-@pytest.mark.skipif(sys.platform == 'win32', reason="Skip test on Windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="Skip test on Windows")
class TestInstallTree:
"""Tests for ``filesystem.install_tree``"""
@@ -240,121 +238,118 @@ class TestInstallTree:
"""Test installing to an existing directory."""
with fs.working_dir(str(stage)):
- fs.install_tree('source', 'dest')
+ fs.install_tree("source", "dest")
- assert os.path.exists('dest/a/b/2')
- check_added_exe_permissions('source/a/b/2', 'dest/a/b/2')
+ assert os.path.exists("dest/a/b/2")
+ check_added_exe_permissions("source/a/b/2", "dest/a/b/2")
def test_non_existing_dir(self, stage):
"""Test installing to a non-existing directory."""
with fs.working_dir(str(stage)):
- fs.install_tree('source', 'dest/sub/directory')
+ fs.install_tree("source", "dest/sub/directory")
- assert os.path.exists('dest/sub/directory/a/b/2')
- check_added_exe_permissions(
- 'source/a/b/2', 'dest/sub/directory/a/b/2')
+ assert os.path.exists("dest/sub/directory/a/b/2")
+ check_added_exe_permissions("source/a/b/2", "dest/sub/directory/a/b/2")
def test_symlinks_true(self, stage):
"""Test installing with symlink preservation."""
with fs.working_dir(str(stage)):
- fs.install_tree('source', 'dest', symlinks=True)
+ fs.install_tree("source", "dest", symlinks=True)
- assert os.path.exists('dest/2')
+ assert os.path.exists("dest/2")
if sys.platform != "win32":
- assert os.path.islink('dest/2')
- check_added_exe_permissions('source/2', 'dest/2')
+ assert os.path.islink("dest/2")
+ check_added_exe_permissions("source/2", "dest/2")
def test_symlinks_false(self, stage):
"""Test installing without symlink preservation."""
with fs.working_dir(str(stage)):
- fs.install_tree('source', 'dest', symlinks=False)
+ fs.install_tree("source", "dest", symlinks=False)
- assert os.path.exists('dest/2')
+ assert os.path.exists("dest/2")
if sys.platform != "win32":
- assert not os.path.islink('dest/2')
- check_added_exe_permissions('source/2', 'dest/2')
+ assert not os.path.islink("dest/2")
+ check_added_exe_permissions("source/2", "dest/2")
def test_glob_src(self, stage):
"""Test using a glob as the source."""
with fs.working_dir(str(stage)):
- fs.install_tree('source/g/*', 'dest')
+ fs.install_tree("source/g/*", "dest")
- assert os.path.exists('dest/i/8')
- assert os.path.exists('dest/i/9')
- assert os.path.exists('dest/j/10')
- check_added_exe_permissions('source/g/h/i/8', 'dest/i/8')
- check_added_exe_permissions('source/g/h/i/9', 'dest/i/9')
- check_added_exe_permissions('source/g/i/j/10', 'dest/j/10')
+ assert os.path.exists("dest/i/8")
+ assert os.path.exists("dest/i/9")
+ assert os.path.exists("dest/j/10")
+ check_added_exe_permissions("source/g/h/i/8", "dest/i/8")
+ check_added_exe_permissions("source/g/h/i/9", "dest/i/9")
+ check_added_exe_permissions("source/g/i/j/10", "dest/j/10")
def test_non_existing_src(self, stage):
"""Test using a non-existing source."""
with fs.working_dir(str(stage)):
- with pytest.raises(IOError, match='No such file or directory'):
- fs.install_tree('source/none', 'dest')
+ with pytest.raises(IOError, match="No such file or directory"):
+ fs.install_tree("source/none", "dest")
def test_parent_dir(self, stage):
"""Test source as a parent directory of destination."""
with fs.working_dir(str(stage)):
- match = 'Cannot copy ancestor directory'
+ match = "Cannot copy ancestor directory"
with pytest.raises(ValueError, match=match):
- fs.install_tree('source', 'source/sub/directory')
+ fs.install_tree("source", "source/sub/directory")
def test_paths_containing_libs(dirs_with_libfiles):
lib_to_dirs, all_dirs = dirs_with_libfiles
- assert (set(fs.paths_containing_libs(all_dirs, ['libgfortran'])) ==
- set(lib_to_dirs['libgfortran']))
+ assert set(fs.paths_containing_libs(all_dirs, ["libgfortran"])) == set(
+ lib_to_dirs["libgfortran"]
+ )
- assert (set(fs.paths_containing_libs(all_dirs, ['libirc'])) ==
- set(lib_to_dirs['libirc']))
+ assert set(fs.paths_containing_libs(all_dirs, ["libirc"])) == set(lib_to_dirs["libirc"])
def test_move_transaction_commit(tmpdir):
- fake_library = tmpdir.mkdir('lib').join('libfoo.so')
- fake_library.write('Just some fake content.')
+ fake_library = tmpdir.mkdir("lib").join("libfoo.so")
+ fake_library.write("Just some fake content.")
- with fs.replace_directory_transaction(str(tmpdir.join('lib'))) as backup:
+ with fs.replace_directory_transaction(str(tmpdir.join("lib"))) as backup:
assert os.path.isdir(backup)
- fake_library = tmpdir.mkdir('lib').join('libfoo.so')
- fake_library.write('Other content.')
+ fake_library = tmpdir.mkdir("lib").join("libfoo.so")
+ fake_library.write("Other content.")
assert not os.path.lexists(backup)
- with open(str(tmpdir.join('lib', 'libfoo.so')), 'r') as f:
- assert 'Other content.' == f.read()
+ with open(str(tmpdir.join("lib", "libfoo.so")), "r") as f:
+ assert "Other content." == f.read()
def test_move_transaction_rollback(tmpdir):
- fake_library = tmpdir.mkdir('lib').join('libfoo.so')
- fake_library.write('Initial content.')
+ fake_library = tmpdir.mkdir("lib").join("libfoo.so")
+ fake_library.write("Initial content.")
try:
- with fs.replace_directory_transaction(str(tmpdir.join('lib'))) as backup:
+ with fs.replace_directory_transaction(str(tmpdir.join("lib"))) as backup:
assert os.path.isdir(backup)
- fake_library = tmpdir.mkdir('lib').join('libfoo.so')
- fake_library.write('New content.')
- raise RuntimeError('')
+ fake_library = tmpdir.mkdir("lib").join("libfoo.so")
+ fake_library.write("New content.")
+ raise RuntimeError("")
except RuntimeError:
pass
assert not os.path.lexists(backup)
- with open(str(tmpdir.join('lib', 'libfoo.so')), 'r') as f:
- assert 'Initial content.' == f.read()
+ with open(str(tmpdir.join("lib", "libfoo.so")), "r") as f:
+ assert "Initial content." == f.read()
-@pytest.mark.regression('10601')
-@pytest.mark.regression('10603')
-def test_recursive_search_of_headers_from_prefix(
- installation_dir_with_headers
-):
+@pytest.mark.regression("10601")
+@pytest.mark.regression("10603")
+def test_recursive_search_of_headers_from_prefix(installation_dir_with_headers):
# Try to inspect recursively from <prefix> and ensure we don't get
# subdirectories of the '<prefix>/include' path
prefix = str(installation_dir_with_headers)
@@ -367,52 +362,47 @@ def test_recursive_search_of_headers_from_prefix(
include_dirs = [dir.replace("/", "\\") for dir in include_dirs]
# Check that the header files we expect are all listed
- assert os.path.join(prefix, 'include', 'ex3.h') in header_list
- assert os.path.join(prefix, 'include', 'boost', 'ex3.h') in header_list
- assert os.path.join(prefix, 'path', 'to', 'ex1.h') in header_list
- assert os.path.join(prefix, 'path', 'to', 'subdir', 'ex2.h') in header_list
+ assert os.path.join(prefix, "include", "ex3.h") in header_list
+ assert os.path.join(prefix, "include", "boost", "ex3.h") in header_list
+ assert os.path.join(prefix, "path", "to", "ex1.h") in header_list
+ assert os.path.join(prefix, "path", "to", "subdir", "ex2.h") in header_list
# Check that when computing directories we exclude <prefix>/include/boost
- assert os.path.join(prefix, 'include') in include_dirs
- assert os.path.join(prefix, 'include', 'boost') not in include_dirs
- assert os.path.join(prefix, 'path', 'to') in include_dirs
- assert os.path.join(prefix, 'path', 'to', 'subdir') in include_dirs
+ assert os.path.join(prefix, "include") in include_dirs
+ assert os.path.join(prefix, "include", "boost") not in include_dirs
+ assert os.path.join(prefix, "path", "to") in include_dirs
+ assert os.path.join(prefix, "path", "to", "subdir") in include_dirs
if sys.platform == "win32":
dir_list = [
- (['C:/pfx/include/foo.h', 'C:/pfx/include/subdir/foo.h'], ['C:/pfx/include']),
- (['C:/pfx/include/foo.h', 'C:/pfx/subdir/foo.h'],
- ['C:/pfx/include', 'C:/pfx/subdir']),
- (['C:/pfx/include/subdir/foo.h', 'C:/pfx/subdir/foo.h'],
- ['C:/pfx/include', 'C:/pfx/subdir'])
+ (["C:/pfx/include/foo.h", "C:/pfx/include/subdir/foo.h"], ["C:/pfx/include"]),
+ (["C:/pfx/include/foo.h", "C:/pfx/subdir/foo.h"], ["C:/pfx/include", "C:/pfx/subdir"]),
+ (
+ ["C:/pfx/include/subdir/foo.h", "C:/pfx/subdir/foo.h"],
+ ["C:/pfx/include", "C:/pfx/subdir"],
+ ),
]
else:
dir_list = [
- (['/pfx/include/foo.h', '/pfx/include/subdir/foo.h'], ['/pfx/include']),
- (['/pfx/include/foo.h', '/pfx/subdir/foo.h'],
- ['/pfx/include', '/pfx/subdir']),
- (['/pfx/include/subdir/foo.h', '/pfx/subdir/foo.h'],
- ['/pfx/include', '/pfx/subdir'])
+ (["/pfx/include/foo.h", "/pfx/include/subdir/foo.h"], ["/pfx/include"]),
+ (["/pfx/include/foo.h", "/pfx/subdir/foo.h"], ["/pfx/include", "/pfx/subdir"]),
+ (["/pfx/include/subdir/foo.h", "/pfx/subdir/foo.h"], ["/pfx/include", "/pfx/subdir"]),
]
-@pytest.mark.parametrize('list_of_headers,expected_directories', dir_list)
-def test_computation_of_header_directories(
- list_of_headers, expected_directories
-):
+@pytest.mark.parametrize("list_of_headers,expected_directories", dir_list)
+def test_computation_of_header_directories(list_of_headers, expected_directories):
hl = fs.HeaderList(list_of_headers)
assert hl.directories == expected_directories
def test_headers_directory_setter():
if sys.platform == "win32":
- root = r'C:\pfx\include\subdir'
+ root = r"C:\pfx\include\subdir"
else:
root = "/pfx/include/subdir"
- hl = fs.HeaderList(
- [root + '/foo.h', root + '/bar.h']
- )
+ hl = fs.HeaderList([root + "/foo.h", root + "/bar.h"])
# Set directories using a list
hl.directories = [root]
@@ -429,7 +419,7 @@ def test_headers_directory_setter():
# TODO: Test with \\'s
hl.directories = "C:/pfx/include//subdir"
else:
- hl.directories = '/pfx/include//subdir/'
+ hl.directories = "/pfx/include//subdir/"
assert hl.directories == [root]
# Setting an empty list is allowed and returns an empty list
@@ -444,68 +434,64 @@ def test_headers_directory_setter():
if sys.platform == "win32":
# TODO: Test \\s
paths = [
- (r'C:\user\root', None,
- (['C:\\', r'C:\user', r'C:\user\root'], '', [])),
- (r'C:\user\root', 'C:\\', ([], 'C:\\', [r'C:\user', r'C:\user\root'])),
- (r'C:\user\root', r'user', (['C:\\'], r'C:\user', [r'C:\user\root'])),
- (r'C:\user\root', r'root', (['C:\\', r'C:\user'], r'C:\user\root', [])),
- (r'relative\path', None, ([r'relative', r'relative\path'], '', [])),
- (r'relative\path', r'relative', ([], r'relative', [r'relative\path'])),
- (r'relative\path', r'path', ([r'relative'], r'relative\path', []))
+ (r"C:\user\root", None, (["C:\\", r"C:\user", r"C:\user\root"], "", [])),
+ (r"C:\user\root", "C:\\", ([], "C:\\", [r"C:\user", r"C:\user\root"])),
+ (r"C:\user\root", r"user", (["C:\\"], r"C:\user", [r"C:\user\root"])),
+ (r"C:\user\root", r"root", (["C:\\", r"C:\user"], r"C:\user\root", [])),
+ (r"relative\path", None, ([r"relative", r"relative\path"], "", [])),
+ (r"relative\path", r"relative", ([], r"relative", [r"relative\path"])),
+ (r"relative\path", r"path", ([r"relative"], r"relative\path", [])),
]
else:
paths = [
- ('/tmp/user/root', None,
- (['/tmp', '/tmp/user', '/tmp/user/root'], '', [])),
- ('/tmp/user/root', 'tmp', ([], '/tmp', ['/tmp/user', '/tmp/user/root'])),
- ('/tmp/user/root', 'user', (['/tmp'], '/tmp/user', ['/tmp/user/root'])),
- ('/tmp/user/root', 'root', (['/tmp', '/tmp/user'], '/tmp/user/root', [])),
- ('relative/path', None, (['relative', 'relative/path'], '', [])),
- ('relative/path', 'relative', ([], 'relative', ['relative/path'])),
- ('relative/path', 'path', (['relative'], 'relative/path', []))
+ ("/tmp/user/root", None, (["/tmp", "/tmp/user", "/tmp/user/root"], "", [])),
+ ("/tmp/user/root", "tmp", ([], "/tmp", ["/tmp/user", "/tmp/user/root"])),
+ ("/tmp/user/root", "user", (["/tmp"], "/tmp/user", ["/tmp/user/root"])),
+ ("/tmp/user/root", "root", (["/tmp", "/tmp/user"], "/tmp/user/root", [])),
+ ("relative/path", None, (["relative", "relative/path"], "", [])),
+ ("relative/path", "relative", ([], "relative", ["relative/path"])),
+ ("relative/path", "path", (["relative"], "relative/path", [])),
]
-@pytest.mark.parametrize('path,entry,expected', paths)
+@pytest.mark.parametrize("path,entry,expected", paths)
def test_partition_path(path, entry, expected):
assert fs.partition_path(path, entry) == expected
if sys.platform == "win32":
path_list = [
- ('', []),
- (r'.\some\sub\dir', [r'.\some', r'.\some\sub', r'.\some\sub\dir']),
- (r'another\sub\dir', [r'another', r'another\sub', r'another\sub\dir'])
+ ("", []),
+ (r".\some\sub\dir", [r".\some", r".\some\sub", r".\some\sub\dir"]),
+ (r"another\sub\dir", [r"another", r"another\sub", r"another\sub\dir"]),
]
else:
path_list = [
- ('', []),
- ('/tmp/user/dir', ['/tmp', '/tmp/user', '/tmp/user/dir']),
- ('./some/sub/dir', ['./some', './some/sub', './some/sub/dir']),
- ('another/sub/dir', ['another', 'another/sub', 'another/sub/dir'])
+ ("", []),
+ ("/tmp/user/dir", ["/tmp", "/tmp/user", "/tmp/user/dir"]),
+ ("./some/sub/dir", ["./some", "./some/sub", "./some/sub/dir"]),
+ ("another/sub/dir", ["another", "another/sub", "another/sub/dir"]),
]
-@pytest.mark.parametrize('path,expected', path_list)
+@pytest.mark.parametrize("path,expected", path_list)
def test_prefixes(path, expected):
assert fs.prefixes(path) == expected
-@pytest.mark.regression('7358')
-@pytest.mark.parametrize('regex,replacement,filename,keyword_args', [
- (r"\<malloc\.h\>", "<stdlib.h>", 'x86_cpuid_info.c', {}),
- (r"CDIR", "CURRENT_DIRECTORY", 'selfextract.bsx',
- {'stop_at': '__ARCHIVE_BELOW__'})
-])
-def test_filter_files_with_different_encodings(
- regex, replacement, filename, tmpdir, keyword_args
-):
+@pytest.mark.regression("7358")
+@pytest.mark.parametrize(
+ "regex,replacement,filename,keyword_args",
+ [
+ (r"\<malloc\.h\>", "<stdlib.h>", "x86_cpuid_info.c", {}),
+ (r"CDIR", "CURRENT_DIRECTORY", "selfextract.bsx", {"stop_at": "__ARCHIVE_BELOW__"}),
+ ],
+)
+def test_filter_files_with_different_encodings(regex, replacement, filename, tmpdir, keyword_args):
# All files given as input to this test must satisfy the pre-requisite
# that the 'replacement' string is not present in the file initially and
# that there's at least one match for the regex
- original_file = os.path.join(
- spack.paths.test_path, 'data', 'filter_file', filename
- )
+ original_file = os.path.join(spack.paths.test_path, "data", "filter_file", filename)
target_file = os.path.join(str(tmpdir), filename)
shutil.copy(original_file, target_file)
# This should not raise exceptions
@@ -513,9 +499,9 @@ def test_filter_files_with_different_encodings(
# Check the strings have been replaced
extra_kwargs = {}
if sys.version_info > (3, 0):
- extra_kwargs = {'errors': 'surrogateescape'}
+ extra_kwargs = {"errors": "surrogateescape"}
- with open(target_file, mode='r', **extra_kwargs) as f:
+ with open(target_file, mode="r", **extra_kwargs) as f:
assert replacement in f.read()
@@ -523,96 +509,107 @@ def test_filter_files_multiple(tmpdir):
# All files given as input to this test must satisfy the pre-requisite
# that the 'replacement' string is not present in the file initially and
# that there's at least one match for the regex
- original_file = os.path.join(
- spack.paths.test_path, 'data', 'filter_file', 'x86_cpuid_info.c'
- )
- target_file = os.path.join(str(tmpdir), 'x86_cpuid_info.c')
+ original_file = os.path.join(spack.paths.test_path, "data", "filter_file", "x86_cpuid_info.c")
+ target_file = os.path.join(str(tmpdir), "x86_cpuid_info.c")
shutil.copy(original_file, target_file)
# This should not raise exceptions
- fs.filter_file(r'\<malloc.h\>', '<unistd.h>', target_file)
- fs.filter_file(r'\<string.h\>', '<unistd.h>', target_file)
- fs.filter_file(r'\<stdio.h\>', '<unistd.h>', target_file)
+ fs.filter_file(r"\<malloc.h\>", "<unistd.h>", target_file)
+ fs.filter_file(r"\<string.h\>", "<unistd.h>", target_file)
+ fs.filter_file(r"\<stdio.h\>", "<unistd.h>", target_file)
# Check the strings have been replaced
extra_kwargs = {}
if sys.version_info > (3, 0):
- extra_kwargs = {'errors': 'surrogateescape'}
+ extra_kwargs = {"errors": "surrogateescape"}
- with open(target_file, mode='r', **extra_kwargs) as f:
- assert '<malloc.h>' not in f.read()
- assert '<string.h>' not in f.read()
- assert '<stdio.h>' not in f.read()
+ with open(target_file, mode="r", **extra_kwargs) as f:
+ assert "<malloc.h>" not in f.read()
+ assert "<string.h>" not in f.read()
+ assert "<stdio.h>" not in f.read()
# Each test input is a tuple of entries which prescribe
# - the 'subdirs' to be created from tmpdir
# - the 'files' in that directory
# - what is to be removed
-@pytest.mark.parametrize('files_or_dirs', [
- # Remove a file over the two that are present
- [{'subdirs': None,
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['spack.lock']}],
- # Remove the entire directory where two files are stored
- [{'subdirs': 'myenv',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['myenv']}],
- # Combine a mix of directories and files
- [{'subdirs': None,
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['spack.lock']},
- {'subdirs': 'myenv',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['myenv']}],
- # Multiple subdirectories, remove root
- [{'subdirs': 'work/myenv1',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': []},
- {'subdirs': 'work/myenv2',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['work']}],
- # Multiple subdirectories, remove each one
- [{'subdirs': 'work/myenv1',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['work/myenv1']},
- {'subdirs': 'work/myenv2',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['work/myenv2']}],
- # Remove files with the same name in different directories
- [{'subdirs': 'work/myenv1',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['work/myenv1/spack.lock']},
- {'subdirs': 'work/myenv2',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['work/myenv2/spack.lock']}],
- # Remove first the directory, then a file within the directory
- [{'subdirs': 'myenv',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['myenv', 'myenv/spack.lock']}],
- # Remove first a file within a directory, then the directory
- [{'subdirs': 'myenv',
- 'files': ['spack.lock', 'spack.yaml'],
- 'remove': ['myenv/spack.lock', 'myenv']}],
-])
-@pytest.mark.regression('18441')
+@pytest.mark.parametrize(
+ "files_or_dirs",
+ [
+ # Remove a file over the two that are present
+ [{"subdirs": None, "files": ["spack.lock", "spack.yaml"], "remove": ["spack.lock"]}],
+ # Remove the entire directory where two files are stored
+ [{"subdirs": "myenv", "files": ["spack.lock", "spack.yaml"], "remove": ["myenv"]}],
+ # Combine a mix of directories and files
+ [
+ {"subdirs": None, "files": ["spack.lock", "spack.yaml"], "remove": ["spack.lock"]},
+ {"subdirs": "myenv", "files": ["spack.lock", "spack.yaml"], "remove": ["myenv"]},
+ ],
+ # Multiple subdirectories, remove root
+ [
+ {"subdirs": "work/myenv1", "files": ["spack.lock", "spack.yaml"], "remove": []},
+ {"subdirs": "work/myenv2", "files": ["spack.lock", "spack.yaml"], "remove": ["work"]},
+ ],
+ # Multiple subdirectories, remove each one
+ [
+ {
+ "subdirs": "work/myenv1",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["work/myenv1"],
+ },
+ {
+ "subdirs": "work/myenv2",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["work/myenv2"],
+ },
+ ],
+ # Remove files with the same name in different directories
+ [
+ {
+ "subdirs": "work/myenv1",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["work/myenv1/spack.lock"],
+ },
+ {
+ "subdirs": "work/myenv2",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["work/myenv2/spack.lock"],
+ },
+ ],
+ # Remove first the directory, then a file within the directory
+ [
+ {
+ "subdirs": "myenv",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["myenv", "myenv/spack.lock"],
+ }
+ ],
+ # Remove first a file within a directory, then the directory
+ [
+ {
+ "subdirs": "myenv",
+ "files": ["spack.lock", "spack.yaml"],
+ "remove": ["myenv/spack.lock", "myenv"],
+ }
+ ],
+ ],
+)
+@pytest.mark.regression("18441")
def test_safe_remove(files_or_dirs, tmpdir):
# Create a fake directory structure as prescribed by test input
to_be_removed, to_be_checked = [], []
for entry in files_or_dirs:
# Create relative dir
- subdirs = entry['subdirs']
- dir = tmpdir if not subdirs else tmpdir.ensure(
- *subdirs.split('/'), dir=True
- )
+ subdirs = entry["subdirs"]
+ dir = tmpdir if not subdirs else tmpdir.ensure(*subdirs.split("/"), dir=True)
# Create files in the directory
- files = entry['files']
+ files = entry["files"]
for f in files:
abspath = str(dir.join(f))
to_be_checked.append(abspath)
fs.touch(abspath)
# List of things to be removed
- for r in entry['remove']:
+ for r in entry["remove"]:
to_be_removed.append(str(tmpdir.join(r)))
# Assert that files are deleted in the context block,
@@ -621,49 +618,47 @@ def test_safe_remove(files_or_dirs, tmpdir):
with fs.safe_remove(*to_be_removed):
for entry in to_be_removed:
assert not os.path.exists(entry)
- raise RuntimeError('Mock a failure')
+ raise RuntimeError("Mock a failure")
# Assert that files are restored
for entry in to_be_checked:
assert os.path.exists(entry)
-@pytest.mark.regression('18441')
+@pytest.mark.regression("18441")
def test_content_of_files_with_same_name(tmpdir):
# Create two subdirectories containing a file with the same name,
# differentiate the files by their content
- file1 = tmpdir.ensure('myenv1/spack.lock')
- file2 = tmpdir.ensure('myenv2/spack.lock')
- file1.write('file1'), file2.write('file2')
+ file1 = tmpdir.ensure("myenv1/spack.lock")
+ file2 = tmpdir.ensure("myenv2/spack.lock")
+ file1.write("file1"), file2.write("file2")
# Use 'safe_remove' to remove the two files
with pytest.raises(RuntimeError):
with fs.safe_remove(str(file1), str(file2)):
- raise RuntimeError('Mock a failure')
+ raise RuntimeError("Mock a failure")
# Check both files have been restored correctly
# and have not been mixed
- assert file1.read().strip() == 'file1'
- assert file2.read().strip() == 'file2'
+ assert file1.read().strip() == "file1"
+ assert file2.read().strip() == "file2"
def test_keep_modification_time(tmpdir):
- file1 = tmpdir.ensure('file1')
- file2 = tmpdir.ensure('file2')
+ file1 = tmpdir.ensure("file1")
+ file2 = tmpdir.ensure("file2")
# Shift the modification time of the file 10 seconds back:
mtime1 = file1.mtime() - 10
file1.setmtime(mtime1)
- with fs.keep_modification_time(file1.strpath,
- file2.strpath,
- 'non-existing-file'):
- file1.write('file1')
+ with fs.keep_modification_time(file1.strpath, file2.strpath, "non-existing-file"):
+ file1.write("file1")
file2.remove()
# Assert that the modifications took place the modification time has not
# changed;
- assert file1.read().strip() == 'file1'
+ assert file1.read().strip() == "file1"
assert not file2.exists()
assert int(mtime1) == int(file1.mtime())
@@ -675,28 +670,28 @@ def test_temporary_dir_context_manager():
assert os.path.realpath(str(tmp_dir)) == os.path.realpath(os.getcwd())
-@pytest.mark.skipif(sys.platform == 'win32', reason="No shebang on Windows")
+@pytest.mark.skipif(sys.platform == "win32", reason="No shebang on Windows")
def test_is_nonsymlink_exe_with_shebang(tmpdir):
with tmpdir.as_cwd():
# Create an executable with shebang.
- with open('executable_script', 'wb') as f:
- f.write(b'#!/interpreter')
- os.chmod('executable_script', 0o100775)
+ with open("executable_script", "wb") as f:
+ f.write(b"#!/interpreter")
+ os.chmod("executable_script", 0o100775)
- with open('executable_but_not_script', 'wb') as f:
- f.write(b'#/not-a-shebang')
- os.chmod('executable_but_not_script', 0o100775)
+ with open("executable_but_not_script", "wb") as f:
+ f.write(b"#/not-a-shebang")
+ os.chmod("executable_but_not_script", 0o100775)
- with open('not_executable_with_shebang', 'wb') as f:
- f.write(b'#!/interpreter')
- os.chmod('not_executable_with_shebang', 0o100664)
+ with open("not_executable_with_shebang", "wb") as f:
+ f.write(b"#!/interpreter")
+ os.chmod("not_executable_with_shebang", 0o100664)
- os.symlink('executable_script', 'symlink_to_executable_script')
+ os.symlink("executable_script", "symlink_to_executable_script")
- assert fs.is_nonsymlink_exe_with_shebang('executable_script')
- assert not fs.is_nonsymlink_exe_with_shebang('executable_but_not_script')
- assert not fs.is_nonsymlink_exe_with_shebang('not_executable_with_shebang')
- assert not fs.is_nonsymlink_exe_with_shebang('symlink_to_executable_script')
+ assert fs.is_nonsymlink_exe_with_shebang("executable_script")
+ assert not fs.is_nonsymlink_exe_with_shebang("executable_but_not_script")
+ assert not fs.is_nonsymlink_exe_with_shebang("not_executable_with_shebang")
+ assert not fs.is_nonsymlink_exe_with_shebang("symlink_to_executable_script")
def test_lexists_islink_isdir(tmpdir):
@@ -736,6 +731,7 @@ def test_lexists_islink_isdir(tmpdir):
class RegisterVisitor(object):
"""A directory visitor that keeps track of all visited paths"""
+
def __init__(self, root, follow_dirs=True, follow_symlink_dirs=True):
self.files = []
self.dirs_before = []
@@ -774,110 +770,107 @@ class RegisterVisitor(object):
self.symlinked_dirs_after.append(rel_path)
-@pytest.mark.skipif(sys.platform == 'win32', reason="Requires symlinks")
+@pytest.mark.skipif(sys.platform == "win32", reason="Requires symlinks")
def test_visit_directory_tree_follow_all(noncyclical_dir_structure):
root = str(noncyclical_dir_structure)
visitor = RegisterVisitor(root, follow_dirs=True, follow_symlink_dirs=True)
fs.visit_directory_tree(root, visitor)
j = os.path.join
assert visitor.files == [
- j('a', 'file_1'),
- j('a', 'to_c', 'dangling_link'),
- j('a', 'to_c', 'file_2'),
- j('a', 'to_file_1'),
- j('b', 'file_1'),
- j('b', 'to_c', 'dangling_link'),
- j('b', 'to_c', 'file_2'),
- j('b', 'to_file_1'),
- j('c', 'dangling_link'),
- j('c', 'file_2'),
- j('file_3'),
+ j("a", "file_1"),
+ j("a", "to_c", "dangling_link"),
+ j("a", "to_c", "file_2"),
+ j("a", "to_file_1"),
+ j("b", "file_1"),
+ j("b", "to_c", "dangling_link"),
+ j("b", "to_c", "file_2"),
+ j("b", "to_file_1"),
+ j("c", "dangling_link"),
+ j("c", "file_2"),
+ j("file_3"),
]
assert visitor.dirs_before == [
- j('a'),
- j('a', 'd'),
- j('b', 'd'),
- j('c'),
+ j("a"),
+ j("a", "d"),
+ j("b", "d"),
+ j("c"),
]
assert visitor.dirs_after == [
- j('a', 'd'),
- j('a'),
- j('b', 'd'),
- j('c'),
+ j("a", "d"),
+ j("a"),
+ j("b", "d"),
+ j("c"),
]
assert visitor.symlinked_dirs_before == [
- j('a', 'to_c'),
- j('b'),
- j('b', 'to_c'),
+ j("a", "to_c"),
+ j("b"),
+ j("b", "to_c"),
]
assert visitor.symlinked_dirs_after == [
- j('a', 'to_c'),
- j('b', 'to_c'),
- j('b'),
+ j("a", "to_c"),
+ j("b", "to_c"),
+ j("b"),
]
-@pytest.mark.skipif(sys.platform == 'win32', reason="Requires symlinks")
+@pytest.mark.skipif(sys.platform == "win32", reason="Requires symlinks")
def test_visit_directory_tree_follow_dirs(noncyclical_dir_structure):
root = str(noncyclical_dir_structure)
visitor = RegisterVisitor(root, follow_dirs=True, follow_symlink_dirs=False)
fs.visit_directory_tree(root, visitor)
j = os.path.join
assert visitor.files == [
- j('a', 'file_1'),
- j('a', 'to_file_1'),
- j('c', 'dangling_link'),
- j('c', 'file_2'),
- j('file_3'),
+ j("a", "file_1"),
+ j("a", "to_file_1"),
+ j("c", "dangling_link"),
+ j("c", "file_2"),
+ j("file_3"),
]
assert visitor.dirs_before == [
- j('a'),
- j('a', 'd'),
- j('c'),
+ j("a"),
+ j("a", "d"),
+ j("c"),
]
assert visitor.dirs_after == [
- j('a', 'd'),
- j('a'),
- j('c'),
+ j("a", "d"),
+ j("a"),
+ j("c"),
]
assert visitor.symlinked_dirs_before == [
- j('a', 'to_c'),
- j('b'),
+ j("a", "to_c"),
+ j("b"),
]
assert not visitor.symlinked_dirs_after
-@pytest.mark.skipif(sys.platform == 'win32', reason="Requires symlinks")
+@pytest.mark.skipif(sys.platform == "win32", reason="Requires symlinks")
def test_visit_directory_tree_follow_none(noncyclical_dir_structure):
root = str(noncyclical_dir_structure)
visitor = RegisterVisitor(root, follow_dirs=False, follow_symlink_dirs=False)
fs.visit_directory_tree(root, visitor)
j = os.path.join
assert visitor.files == [
- j('file_3'),
+ j("file_3"),
]
assert visitor.dirs_before == [
- j('a'),
- j('c'),
+ j("a"),
+ j("c"),
]
assert not visitor.dirs_after
assert visitor.symlinked_dirs_before == [
- j('b'),
+ j("b"),
]
assert not visitor.symlinked_dirs_after
-@pytest.mark.regression('29687')
-@pytest.mark.parametrize('initial_mode', [
- stat.S_IRUSR | stat.S_IXUSR,
- stat.S_IWGRP
-])
-@pytest.mark.skipif(sys.platform == 'win32', reason='Windows might change permissions')
+@pytest.mark.regression("29687")
+@pytest.mark.parametrize("initial_mode", [stat.S_IRUSR | stat.S_IXUSR, stat.S_IWGRP])
+@pytest.mark.skipif(sys.platform == "win32", reason="Windows might change permissions")
def test_remove_linked_tree_doesnt_change_file_permission(tmpdir, initial_mode):
# Here we test that a failed call to remove_linked_tree, due to passing a file
# as an argument instead of a directory, doesn't leave the file with different
# permissions as a side effect of trying to handle the error.
- file_instead_of_dir = tmpdir.ensure('foo')
+ file_instead_of_dir = tmpdir.ensure("foo")
file_instead_of_dir.chmod(initial_mode)
initial_stat = os.stat(str(file_instead_of_dir))
fs.remove_linked_tree(str(file_instead_of_dir))
diff --git a/lib/spack/spack/test/llnl/util/lang.py b/lib/spack/spack/test/llnl/util/lang.py
index 0de43fa527..c299e690a0 100644
--- a/lib/spack/spack/test/llnl/util/lang.py
+++ b/lib/spack/spack/test/llnl/util/lang.py
@@ -21,7 +21,7 @@ def now():
@pytest.fixture()
def module_path(tmpdir):
- m = tmpdir.join('foo.py')
+ m = tmpdir.join("foo.py")
content = """
import os.path
@@ -33,8 +33,8 @@ path = os.path.join('/usr', 'bin')
yield str(m)
# Don't leave garbage in the module system
- if 'foo' in sys.modules:
- del sys.modules['foo']
+ if "foo" in sys.modules:
+ del sys.modules["foo"]
def test_pretty_date():
@@ -84,28 +84,34 @@ def test_pretty_date():
assert pretty_date(years, now) == "2 years ago"
-@pytest.mark.parametrize('delta,pretty_string', [
- (timedelta(days=1), 'a day ago'),
- (timedelta(days=1), 'yesterday'),
- (timedelta(days=1), '1 day ago'),
- (timedelta(weeks=1), '1 week ago'),
- (timedelta(weeks=3), '3 weeks ago'),
- (timedelta(days=30), '1 month ago'),
- (timedelta(days=730), '2 years ago'),
-])
+@pytest.mark.parametrize(
+ "delta,pretty_string",
+ [
+ (timedelta(days=1), "a day ago"),
+ (timedelta(days=1), "yesterday"),
+ (timedelta(days=1), "1 day ago"),
+ (timedelta(weeks=1), "1 week ago"),
+ (timedelta(weeks=3), "3 weeks ago"),
+ (timedelta(days=30), "1 month ago"),
+ (timedelta(days=730), "2 years ago"),
+ ],
+)
def test_pretty_string_to_date_delta(now, delta, pretty_string):
t1 = now - delta
t2 = llnl.util.lang.pretty_string_to_date(pretty_string, now)
assert t1 == t2
-@pytest.mark.parametrize('format,pretty_string', [
- ('%Y', '2018'),
- ('%Y-%m', '2015-03'),
- ('%Y-%m-%d', '2015-03-28'),
- ('%Y-%m-%d %H:%M', '2015-03-28 11:12'),
- ('%Y-%m-%d %H:%M:%S', '2015-03-28 23:34:45'),
-])
+@pytest.mark.parametrize(
+ "format,pretty_string",
+ [
+ ("%Y", "2018"),
+ ("%Y-%m", "2015-03"),
+ ("%Y-%m-%d", "2015-03-28"),
+ ("%Y-%m-%d %H:%M", "2015-03-28 11:12"),
+ ("%Y-%m-%d %H:%M:%S", "2015-03-28 23:34:45"),
+ ],
+)
def test_pretty_string_to_date(format, pretty_string):
t1 = datetime.strptime(pretty_string, format)
t2 = llnl.util.lang.pretty_string_to_date(pretty_string, now)
@@ -114,41 +120,41 @@ def test_pretty_string_to_date(format, pretty_string):
def test_match_predicate():
matcher = match_predicate(lambda x: True)
- assert matcher('foo')
- assert matcher('bar')
- assert matcher('baz')
+ assert matcher("foo")
+ assert matcher("bar")
+ assert matcher("baz")
- matcher = match_predicate(['foo', 'bar'])
- assert matcher('foo')
- assert matcher('bar')
- assert not matcher('baz')
+ matcher = match_predicate(["foo", "bar"])
+ assert matcher("foo")
+ assert matcher("bar")
+ assert not matcher("baz")
- matcher = match_predicate(r'^(foo|bar)$')
- assert matcher('foo')
- assert matcher('bar')
- assert not matcher('baz')
+ matcher = match_predicate(r"^(foo|bar)$")
+ assert matcher("foo")
+ assert matcher("bar")
+ assert not matcher("baz")
with pytest.raises(ValueError):
matcher = match_predicate(object())
- matcher('foo')
+ matcher("foo")
def test_load_modules_from_file(module_path):
# Check prerequisites
- assert 'foo' not in sys.modules
+ assert "foo" not in sys.modules
# Check that the module is loaded correctly from file
- foo = llnl.util.lang.load_module_from_file('foo', module_path)
- assert 'foo' in sys.modules
+ foo = llnl.util.lang.load_module_from_file("foo", module_path)
+ assert "foo" in sys.modules
assert foo.value == 1
- assert foo.path == os.path.join('/usr', 'bin')
+ assert foo.path == os.path.join("/usr", "bin")
# Check that the module is not reloaded a second time on subsequent calls
foo.value = 2
- foo = llnl.util.lang.load_module_from_file('foo', module_path)
- assert 'foo' in sys.modules
+ foo = llnl.util.lang.load_module_from_file("foo", module_path)
+ assert "foo" in sys.modules
assert foo.value == 2
- assert foo.path == os.path.join('/usr', 'bin')
+ assert foo.path == os.path.join("/usr", "bin")
def test_uniq():
@@ -162,6 +168,7 @@ 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
@@ -212,7 +219,7 @@ def test_key_ordering():
"args1,kwargs1,args2,kwargs2",
[
# Ensure tuples passed in args are disambiguated from equivalent kwarg items.
- (('a', 3), {}, (), {'a': 3})
+ (("a", 3), {}, (), {"a": 3})
],
)
def test_unequal_args(args1, kwargs1, args2, kwargs2):
@@ -223,7 +230,7 @@ def test_unequal_args(args1, kwargs1, args2, kwargs2):
"args1,kwargs1,args2,kwargs2",
[
# Ensure that kwargs are stably sorted.
- ((), {'a': 3, 'b': 4}, (), {'b': 4, 'a': 3}),
+ ((), {"a": 3, "b": 4}, (), {"b": 4, "a": 3}),
],
)
def test_equal_args(args1, kwargs1, args2, kwargs2):
@@ -234,32 +241,32 @@ def test_equal_args(args1, kwargs1, args2, kwargs2):
"args, kwargs",
[
((1,), {}),
- ((), {'a': 3}),
- ((1,), {'a': 3}),
+ ((), {"a": 3}),
+ ((1,), {"a": 3}),
],
)
def test_memoized(args, kwargs):
@memoized
def f(*args, **kwargs):
- return 'return-value'
- assert f(*args, **kwargs) == 'return-value'
+ return "return-value"
+
+ assert f(*args, **kwargs) == "return-value"
key = stable_args(*args, **kwargs)
assert list(f.cache.keys()) == [key]
- assert f.cache[key] == 'return-value'
+ assert f.cache[key] == "return-value"
@pytest.mark.parametrize(
"args, kwargs",
- [
- (([1],), {}),
- ((), {'a': [1]})
- ],
+ [(([1],), {}), ((), {"a": [1]})],
)
def test_memoized_unhashable(args, kwargs):
"""Check that an exception is raised clearly"""
+
@memoized
def f(*args, **kwargs):
return None
+
with pytest.raises(llnl.util.lang.UnhashableArguments) as exc_info:
f(*args, **kwargs)
exc_msg = str(exc_info.value)
@@ -277,20 +284,25 @@ def test_grouped_exception():
h = llnl.util.lang.GroupedExceptionHandler()
def inner():
- raise ValueError('wow!')
+ raise ValueError("wow!")
- with h.forward('inner method'):
+ with h.forward("inner method"):
inner()
- with h.forward('top-level'):
- raise TypeError('ok')
+ with h.forward("top-level"):
+ raise TypeError("ok")
- assert h.grouped_message(with_tracebacks=False) == dedent("""\
+ assert h.grouped_message(with_tracebacks=False) == dedent(
+ """\
due to the following failures:
inner method raised ValueError: wow!
- top-level raised TypeError: ok""")
+ top-level raised TypeError: ok"""
+ )
- assert h.grouped_message(with_tracebacks=True) == dedent("""\
+ assert (
+ h.grouped_message(with_tracebacks=True)
+ == dedent(
+ """\
due to the following failures:
inner method raised ValueError: wow!
File "{0}", \
@@ -304,4 +316,6 @@ line 280, in inner
File "{0}", \
line 286, in test_grouped_exception
raise TypeError('ok')
- """).format(__file__)
+ """
+ ).format(__file__)
+ )
diff --git a/lib/spack/spack/test/llnl/util/link_tree.py b/lib/spack/spack/test/llnl/util/link_tree.py
index 3b66c376b2..2df5542e35 100644
--- a/lib/spack/spack/test/llnl/util/link_tree.py
+++ b/lib/spack/spack/test/llnl/util/link_tree.py
@@ -17,17 +17,17 @@ from spack.stage import Stage
@pytest.fixture()
def stage():
"""Creates a stage with the directory structure for the tests."""
- s = Stage('link-tree-test')
+ s = Stage("link-tree-test")
s.create()
with working_dir(s.path):
- touchp('source/1')
- touchp('source/a/b/2')
- touchp('source/a/b/3')
- touchp('source/c/4')
- touchp('source/c/d/5')
- touchp('source/c/d/6')
- touchp('source/c/d/e/7')
+ touchp("source/1")
+ touchp("source/a/b/2")
+ touchp("source/a/b/3")
+ touchp("source/c/4")
+ touchp("source/c/d/5")
+ touchp("source/c/d/6")
+ touchp("source/c/d/e/7")
yield s
@@ -37,15 +37,14 @@ def stage():
@pytest.fixture()
def link_tree(stage):
"""Return a properly initialized LinkTree instance."""
- source_path = os.path.join(stage.path, 'source')
+ source_path = os.path.join(stage.path, "source")
return LinkTree(source_path)
def check_file_link(filename, expected_target):
assert os.path.isfile(filename)
assert islink(filename)
- assert (os.path.abspath(os.path.realpath(filename)) ==
- os.path.abspath(expected_target))
+ assert os.path.abspath(os.path.realpath(filename)) == os.path.abspath(expected_target)
def check_dir(filename):
@@ -54,121 +53,121 @@ def check_dir(filename):
def test_merge_to_new_directory(stage, link_tree):
with working_dir(stage.path):
- link_tree.merge('dest')
+ link_tree.merge("dest")
- check_file_link('dest/1', 'source/1')
- check_file_link('dest/a/b/2', 'source/a/b/2')
- check_file_link('dest/a/b/3', 'source/a/b/3')
- check_file_link('dest/c/4', 'source/c/4')
- check_file_link('dest/c/d/5', 'source/c/d/5')
- check_file_link('dest/c/d/6', 'source/c/d/6')
- check_file_link('dest/c/d/e/7', 'source/c/d/e/7')
+ check_file_link("dest/1", "source/1")
+ check_file_link("dest/a/b/2", "source/a/b/2")
+ check_file_link("dest/a/b/3", "source/a/b/3")
+ check_file_link("dest/c/4", "source/c/4")
+ check_file_link("dest/c/d/5", "source/c/d/5")
+ check_file_link("dest/c/d/6", "source/c/d/6")
+ check_file_link("dest/c/d/e/7", "source/c/d/e/7")
- assert os.path.isabs(os.readlink('dest/1'))
- assert os.path.isabs(os.readlink('dest/a/b/2'))
- assert os.path.isabs(os.readlink('dest/a/b/3'))
- assert os.path.isabs(os.readlink('dest/c/4'))
- assert os.path.isabs(os.readlink('dest/c/d/5'))
- assert os.path.isabs(os.readlink('dest/c/d/6'))
- assert os.path.isabs(os.readlink('dest/c/d/e/7'))
+ assert os.path.isabs(os.readlink("dest/1"))
+ assert os.path.isabs(os.readlink("dest/a/b/2"))
+ assert os.path.isabs(os.readlink("dest/a/b/3"))
+ assert os.path.isabs(os.readlink("dest/c/4"))
+ assert os.path.isabs(os.readlink("dest/c/d/5"))
+ assert os.path.isabs(os.readlink("dest/c/d/6"))
+ assert os.path.isabs(os.readlink("dest/c/d/e/7"))
- link_tree.unmerge('dest')
+ link_tree.unmerge("dest")
- assert not os.path.exists('dest')
+ assert not os.path.exists("dest")
def test_merge_to_new_directory_relative(stage, link_tree):
with working_dir(stage.path):
- link_tree.merge('dest', relative=True)
+ link_tree.merge("dest", relative=True)
- check_file_link('dest/1', 'source/1')
- check_file_link('dest/a/b/2', 'source/a/b/2')
- check_file_link('dest/a/b/3', 'source/a/b/3')
- check_file_link('dest/c/4', 'source/c/4')
- check_file_link('dest/c/d/5', 'source/c/d/5')
- check_file_link('dest/c/d/6', 'source/c/d/6')
- check_file_link('dest/c/d/e/7', 'source/c/d/e/7')
+ check_file_link("dest/1", "source/1")
+ check_file_link("dest/a/b/2", "source/a/b/2")
+ check_file_link("dest/a/b/3", "source/a/b/3")
+ check_file_link("dest/c/4", "source/c/4")
+ check_file_link("dest/c/d/5", "source/c/d/5")
+ check_file_link("dest/c/d/6", "source/c/d/6")
+ check_file_link("dest/c/d/e/7", "source/c/d/e/7")
- assert not os.path.isabs(os.readlink('dest/1'))
- assert not os.path.isabs(os.readlink('dest/a/b/2'))
- assert not os.path.isabs(os.readlink('dest/a/b/3'))
- assert not os.path.isabs(os.readlink('dest/c/4'))
- assert not os.path.isabs(os.readlink('dest/c/d/5'))
- assert not os.path.isabs(os.readlink('dest/c/d/6'))
- assert not os.path.isabs(os.readlink('dest/c/d/e/7'))
+ assert not os.path.isabs(os.readlink("dest/1"))
+ assert not os.path.isabs(os.readlink("dest/a/b/2"))
+ assert not os.path.isabs(os.readlink("dest/a/b/3"))
+ assert not os.path.isabs(os.readlink("dest/c/4"))
+ assert not os.path.isabs(os.readlink("dest/c/d/5"))
+ assert not os.path.isabs(os.readlink("dest/c/d/6"))
+ assert not os.path.isabs(os.readlink("dest/c/d/e/7"))
- link_tree.unmerge('dest')
+ link_tree.unmerge("dest")
- assert not os.path.exists('dest')
+ assert not os.path.exists("dest")
def test_merge_to_existing_directory(stage, link_tree):
with working_dir(stage.path):
- touchp('dest/x')
- touchp('dest/a/b/y')
+ touchp("dest/x")
+ touchp("dest/a/b/y")
- link_tree.merge('dest')
+ link_tree.merge("dest")
- check_file_link('dest/1', 'source/1')
- check_file_link('dest/a/b/2', 'source/a/b/2')
- check_file_link('dest/a/b/3', 'source/a/b/3')
- check_file_link('dest/c/4', 'source/c/4')
- check_file_link('dest/c/d/5', 'source/c/d/5')
- check_file_link('dest/c/d/6', 'source/c/d/6')
- check_file_link('dest/c/d/e/7', 'source/c/d/e/7')
+ check_file_link("dest/1", "source/1")
+ check_file_link("dest/a/b/2", "source/a/b/2")
+ check_file_link("dest/a/b/3", "source/a/b/3")
+ check_file_link("dest/c/4", "source/c/4")
+ check_file_link("dest/c/d/5", "source/c/d/5")
+ check_file_link("dest/c/d/6", "source/c/d/6")
+ check_file_link("dest/c/d/e/7", "source/c/d/e/7")
- assert os.path.isfile('dest/x')
- assert os.path.isfile('dest/a/b/y')
+ assert os.path.isfile("dest/x")
+ assert os.path.isfile("dest/a/b/y")
- link_tree.unmerge('dest')
+ link_tree.unmerge("dest")
- assert os.path.isfile('dest/x')
- assert os.path.isfile('dest/a/b/y')
+ assert os.path.isfile("dest/x")
+ assert os.path.isfile("dest/a/b/y")
- assert not os.path.isfile('dest/1')
- assert not os.path.isfile('dest/a/b/2')
- assert not os.path.isfile('dest/a/b/3')
- assert not os.path.isfile('dest/c/4')
- assert not os.path.isfile('dest/c/d/5')
- assert not os.path.isfile('dest/c/d/6')
- assert not os.path.isfile('dest/c/d/e/7')
+ assert not os.path.isfile("dest/1")
+ assert not os.path.isfile("dest/a/b/2")
+ assert not os.path.isfile("dest/a/b/3")
+ assert not os.path.isfile("dest/c/4")
+ assert not os.path.isfile("dest/c/d/5")
+ assert not os.path.isfile("dest/c/d/6")
+ assert not os.path.isfile("dest/c/d/e/7")
def test_merge_with_empty_directories(stage, link_tree):
with working_dir(stage.path):
- mkdirp('dest/f/g')
- mkdirp('dest/a/b/h')
+ mkdirp("dest/f/g")
+ mkdirp("dest/a/b/h")
- link_tree.merge('dest')
- link_tree.unmerge('dest')
+ link_tree.merge("dest")
+ link_tree.unmerge("dest")
- assert not os.path.exists('dest/1')
- assert not os.path.exists('dest/a/b/2')
- assert not os.path.exists('dest/a/b/3')
- assert not os.path.exists('dest/c/4')
- assert not os.path.exists('dest/c/d/5')
- assert not os.path.exists('dest/c/d/6')
- assert not os.path.exists('dest/c/d/e/7')
+ assert not os.path.exists("dest/1")
+ assert not os.path.exists("dest/a/b/2")
+ assert not os.path.exists("dest/a/b/3")
+ assert not os.path.exists("dest/c/4")
+ assert not os.path.exists("dest/c/d/5")
+ assert not os.path.exists("dest/c/d/6")
+ assert not os.path.exists("dest/c/d/e/7")
- assert os.path.isdir('dest/a/b/h')
- assert os.path.isdir('dest/f/g')
+ assert os.path.isdir("dest/a/b/h")
+ assert os.path.isdir("dest/f/g")
def test_ignore(stage, link_tree):
with working_dir(stage.path):
- touchp('source/.spec')
- touchp('dest/.spec')
+ touchp("source/.spec")
+ touchp("dest/.spec")
- link_tree.merge('dest', ignore=lambda x: x == '.spec')
- link_tree.unmerge('dest', ignore=lambda x: x == '.spec')
+ link_tree.merge("dest", ignore=lambda x: x == ".spec")
+ link_tree.unmerge("dest", ignore=lambda x: x == ".spec")
- assert not os.path.exists('dest/1')
- assert not os.path.exists('dest/a')
- assert not os.path.exists('dest/c')
+ assert not os.path.exists("dest/1")
+ assert not os.path.exists("dest/a")
+ assert not os.path.exists("dest/c")
- assert os.path.isfile('source/.spec')
- assert os.path.isfile('dest/.spec')
+ assert os.path.isfile("source/.spec")
+ assert os.path.isfile("dest/.spec")
def test_source_merge_visitor_does_not_follow_symlinked_dirs_at_depth(tmpdir):
@@ -190,34 +189,34 @@ def test_source_merge_visitor_does_not_follow_symlinked_dirs_at_depth(tmpdir):
"""
j = os.path.join
with tmpdir.as_cwd():
- os.mkdir(j('a'))
- os.mkdir(j('a', 'b'))
- os.mkdir(j('a', 'b', 'c'))
- os.mkdir(j('a', 'b', 'c', 'd'))
- os.symlink(j('b'), j('a', 'symlink_b'))
- os.symlink(j('c'), j('a', 'b', 'symlink_c'))
- os.symlink(j('d'), j('a', 'b', 'c', 'symlink_d'))
- with open(j('a', 'b', 'c', 'd', 'file'), 'wb'):
+ os.mkdir(j("a"))
+ os.mkdir(j("a", "b"))
+ os.mkdir(j("a", "b", "c"))
+ os.mkdir(j("a", "b", "c", "d"))
+ os.symlink(j("b"), j("a", "symlink_b"))
+ os.symlink(j("c"), j("a", "b", "symlink_c"))
+ os.symlink(j("d"), j("a", "b", "c", "symlink_d"))
+ with open(j("a", "b", "c", "d", "file"), "wb"):
pass
visitor = SourceMergeVisitor()
visit_directory_tree(str(tmpdir), visitor)
assert [p for p in visitor.files.keys()] == [
- j('a', 'b', 'c', 'd', 'file'),
- j('a', 'b', 'c', 'symlink_d'), # treated as a file, not expanded
- j('a', 'b', 'symlink_c'), # treated as a file, not expanded
- j('a', 'symlink_b', 'c', 'd', 'file'), # symlink_b was expanded
- j('a', 'symlink_b', 'c', 'symlink_d'), # symlink_b was expanded
- j('a', 'symlink_b', 'symlink_c') # symlink_b was expanded
+ j("a", "b", "c", "d", "file"),
+ j("a", "b", "c", "symlink_d"), # treated as a file, not expanded
+ j("a", "b", "symlink_c"), # treated as a file, not expanded
+ j("a", "symlink_b", "c", "d", "file"), # symlink_b was expanded
+ j("a", "symlink_b", "c", "symlink_d"), # symlink_b was expanded
+ j("a", "symlink_b", "symlink_c"), # symlink_b was expanded
]
assert [p for p in visitor.directories.keys()] == [
- j('a'),
- j('a', 'b'),
- j('a', 'b', 'c'),
- j('a', 'b', 'c', 'd'),
- j('a', 'symlink_b'),
- j('a', 'symlink_b', 'c'),
- j('a', 'symlink_b', 'c', 'd'),
+ j("a"),
+ j("a", "b"),
+ j("a", "b", "c"),
+ j("a", "b", "c", "d"),
+ j("a", "symlink_b"),
+ j("a", "symlink_b", "c"),
+ j("a", "symlink_b", "c", "d"),
]
@@ -237,23 +236,20 @@ def test_source_merge_visitor_cant_be_cyclical(tmpdir):
"""
j = os.path.join
with tmpdir.as_cwd():
- os.mkdir(j('a'))
- os.symlink(j('..', 'b'), j('a', 'symlink_b'))
- os.symlink(j('symlink_b'), j('a', 'symlink_b_b'))
- os.mkdir(j('b'))
- os.symlink(j('..', 'a'), j('b', 'symlink_a'))
+ os.mkdir(j("a"))
+ os.symlink(j("..", "b"), j("a", "symlink_b"))
+ os.symlink(j("symlink_b"), j("a", "symlink_b_b"))
+ os.mkdir(j("b"))
+ os.symlink(j("..", "a"), j("b", "symlink_a"))
visitor = SourceMergeVisitor()
visit_directory_tree(str(tmpdir), visitor)
assert [p for p in visitor.files.keys()] == [
- j('a', 'symlink_b'),
- j('a', 'symlink_b_b'),
- j('b', 'symlink_a')
- ]
- assert [p for p in visitor.directories.keys()] == [
- j('a'),
- j('b')
+ j("a", "symlink_b"),
+ j("a", "symlink_b_b"),
+ j("b", "symlink_a"),
]
+ assert [p for p in visitor.directories.keys()] == [j("a"), j("b")]
def test_destination_merge_visitor_always_errors_on_symlinked_dirs(tmpdir):
@@ -263,47 +259,47 @@ def test_destination_merge_visitor_always_errors_on_symlinked_dirs(tmpdir):
j = os.path.join
# Here example_a and example_b are symlinks.
- with tmpdir.mkdir('dst').as_cwd():
- os.mkdir('a')
- os.symlink('a', 'example_a')
- os.symlink('a', 'example_b')
+ with tmpdir.mkdir("dst").as_cwd():
+ os.mkdir("a")
+ os.symlink("a", "example_a")
+ os.symlink("a", "example_b")
# Here example_a is a directory, and example_b is a (non-expanded) symlinked
# directory.
- with tmpdir.mkdir('src').as_cwd():
- os.mkdir('example_a')
- with open(j('example_a', 'file'), 'wb'):
+ with tmpdir.mkdir("src").as_cwd():
+ os.mkdir("example_a")
+ with open(j("example_a", "file"), "wb"):
pass
- os.symlink('..', 'example_b')
+ os.symlink("..", "example_b")
visitor = SourceMergeVisitor()
- visit_directory_tree(str(tmpdir.join('src')), visitor)
- visit_directory_tree(str(tmpdir.join('dst')), DestinationMergeVisitor(visitor))
+ visit_directory_tree(str(tmpdir.join("src")), visitor)
+ visit_directory_tree(str(tmpdir.join("dst")), DestinationMergeVisitor(visitor))
assert visitor.fatal_conflicts
conflicts = [c.dst for c in visitor.fatal_conflicts]
- assert 'example_a' in conflicts
- assert 'example_b' in conflicts
+ assert "example_a" in conflicts
+ assert "example_b" in conflicts
def test_destination_merge_visitor_file_dir_clashes(tmpdir):
"""Tests whether non-symlink file-dir and dir-file clashes as registered as fatal
errors"""
- with tmpdir.mkdir('a').as_cwd():
- os.mkdir('example')
+ with tmpdir.mkdir("a").as_cwd():
+ os.mkdir("example")
- with tmpdir.mkdir('b').as_cwd():
- with open('example', 'wb'):
+ with tmpdir.mkdir("b").as_cwd():
+ with open("example", "wb"):
pass
a_to_b = SourceMergeVisitor()
- visit_directory_tree(str(tmpdir.join('a')), a_to_b)
- visit_directory_tree(str(tmpdir.join('b')), DestinationMergeVisitor(a_to_b))
+ visit_directory_tree(str(tmpdir.join("a")), a_to_b)
+ visit_directory_tree(str(tmpdir.join("b")), DestinationMergeVisitor(a_to_b))
assert a_to_b.fatal_conflicts
- assert a_to_b.fatal_conflicts[0].dst == 'example'
+ assert a_to_b.fatal_conflicts[0].dst == "example"
b_to_a = SourceMergeVisitor()
- visit_directory_tree(str(tmpdir.join('b')), b_to_a)
- visit_directory_tree(str(tmpdir.join('a')), DestinationMergeVisitor(b_to_a))
+ visit_directory_tree(str(tmpdir.join("b")), b_to_a)
+ visit_directory_tree(str(tmpdir.join("a")), DestinationMergeVisitor(b_to_a))
assert b_to_a.fatal_conflicts
- assert b_to_a.fatal_conflicts[0].dst == 'example'
+ assert b_to_a.fatal_conflicts[0].dst == "example"
diff --git a/lib/spack/spack/test/llnl/util/lock.py b/lib/spack/spack/test/llnl/util/lock.py
index 7f25ddb057..a9c6b64db8 100644
--- a/lib/spack/spack/test/llnl/util/lock.py
+++ b/lib/spack/spack/test/llnl/util/lock.py
@@ -66,8 +66,7 @@ is_windows = sys.platform == "win32"
if not is_windows:
import fcntl
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
#
@@ -88,6 +87,7 @@ mpi = False
comm = None
try:
from mpi4py import MPI
+
comm = MPI.COMM_WORLD
if comm.size > 1:
mpi = True
@@ -105,8 +105,8 @@ system.
"""
locations = [
tempfile.gettempdir(),
- os.path.join('/nfs/tmp2/', getpass.getuser()),
- os.path.join('/p/lscratch*/', getpass.getuser()),
+ os.path.join("/nfs/tmp2/", getpass.getuser()),
+ os.path.join("/p/lscratch*/", getpass.getuser()),
]
"""This is the longest a failed multiproc test will take.
@@ -154,7 +154,7 @@ def read_only(*paths):
os.chmod(path, mode)
-@pytest.fixture(scope='session', params=locations)
+@pytest.fixture(scope="session", params=locations)
def lock_test_directory(request):
"""This fixture causes tests to be executed for many different mounts.
@@ -163,10 +163,12 @@ def lock_test_directory(request):
return request.param
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def lock_dir(lock_test_directory):
- parent = next((p for p in glob.glob(lock_test_directory)
- if os.path.exists(p) and os.access(p, os.W_OK)), None)
+ parent = next(
+ (p for p in glob.glob(lock_test_directory) if os.path.exists(p) and os.access(p, os.W_OK)),
+ None,
+ )
if not parent:
# Skip filesystems that don't exist or aren't writable
pytest.skip("requires filesystem: '%s'" % lock_test_directory)
@@ -200,9 +202,9 @@ def private_lock_path(lock_dir):
For other modes, it is the same as a shared lock.
"""
- lock_file = os.path.join(lock_dir, 'lockfile')
+ lock_file = os.path.join(lock_dir, "lockfile")
if mpi:
- lock_file += '.%s' % comm.rank
+ lock_file += ".%s" % comm.rank
yield lock_file
@@ -214,7 +216,7 @@ def private_lock_path(lock_dir):
@pytest.fixture
def lock_path(lock_dir):
"""This lock is shared among all processes in a multiproc test."""
- lock_file = os.path.join(lock_dir, 'lockfile')
+ lock_file = os.path.join(lock_dir, "lockfile")
yield lock_file
@@ -224,8 +226,7 @@ def lock_path(lock_dir):
def test_poll_interval_generator():
- interval_iter = iter(
- lk.Lock._poll_interval_generator(_wait_times=[1, 2, 3]))
+ interval_iter = iter(lk.Lock._poll_interval_generator(_wait_times=[1, 2, 3]))
intervals = list(next(interval_iter) for i in range(100))
assert intervals == [1] * 20 + [2] * 40 + [3] * 40
@@ -234,9 +235,8 @@ def local_multiproc_test(*functions, **kwargs):
"""Order some processes using simple barrier synchronization."""
b = mp.Barrier(len(functions), timeout=barrier_timeout)
- args = (b,) + tuple(kwargs.get('extra_args', ()))
- procs = [Process(target=f, args=args, name=f.__name__)
- for f in functions]
+ args = (b,) + tuple(kwargs.get("extra_args", ()))
+ procs = [Process(target=f, args=args, name=f.__name__) for f in functions]
for p in procs:
p.start()
@@ -269,6 +269,7 @@ def mpi_multiproc_test(*functions):
class subcomm_barrier(object):
"""Stand-in for multiproc barrier for MPI-parallel jobs."""
+
def wait(self):
subcomm.Barrier()
@@ -371,16 +372,11 @@ class TimeoutRead(object):
# exclusive lock is held.
#
def test_write_lock_timeout_on_write(lock_path):
- multiproc_test(
- AcquireWrite(lock_path),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireWrite(lock_path), TimeoutWrite(lock_path))
def test_write_lock_timeout_on_write_2(lock_path):
- multiproc_test(
- AcquireWrite(lock_path),
- TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireWrite(lock_path), TimeoutWrite(lock_path), TimeoutWrite(lock_path))
def test_write_lock_timeout_on_write_3(lock_path):
@@ -388,13 +384,12 @@ def test_write_lock_timeout_on_write_3(lock_path):
AcquireWrite(lock_path),
TimeoutWrite(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_on_write_ranges(lock_path):
- multiproc_test(
- AcquireWrite(lock_path, 0, 1),
- TimeoutWrite(lock_path, 0, 1))
+ multiproc_test(AcquireWrite(lock_path, 0, 1), TimeoutWrite(lock_path, 0, 1))
def test_write_lock_timeout_on_write_ranges_2(lock_path):
@@ -402,7 +397,8 @@ def test_write_lock_timeout_on_write_ranges_2(lock_path):
AcquireWrite(lock_path, 0, 64),
AcquireWrite(lock_path, 65, 1),
TimeoutWrite(lock_path, 0, 1),
- TimeoutWrite(lock_path, 63, 1))
+ TimeoutWrite(lock_path, 63, 1),
+ )
def test_write_lock_timeout_on_write_ranges_3(lock_path):
@@ -411,7 +407,8 @@ def test_write_lock_timeout_on_write_ranges_3(lock_path):
AcquireWrite(lock_path, 1, 1),
TimeoutWrite(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_on_write_ranges_4(lock_path):
@@ -422,7 +419,8 @@ def test_write_lock_timeout_on_write_ranges_4(lock_path):
AcquireWrite(lock_path, 500, 64),
TimeoutWrite(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
#
@@ -430,16 +428,11 @@ def test_write_lock_timeout_on_write_ranges_4(lock_path):
# exclusive lock is held.
#
def test_read_lock_timeout_on_write(lock_path):
- multiproc_test(
- AcquireWrite(lock_path),
- TimeoutRead(lock_path))
+ multiproc_test(AcquireWrite(lock_path), TimeoutRead(lock_path))
def test_read_lock_timeout_on_write_2(lock_path):
- multiproc_test(
- AcquireWrite(lock_path),
- TimeoutRead(lock_path),
- TimeoutRead(lock_path))
+ multiproc_test(AcquireWrite(lock_path), TimeoutRead(lock_path), TimeoutRead(lock_path))
def test_read_lock_timeout_on_write_3(lock_path):
@@ -447,21 +440,18 @@ def test_read_lock_timeout_on_write_3(lock_path):
AcquireWrite(lock_path),
TimeoutRead(lock_path),
TimeoutRead(lock_path),
- TimeoutRead(lock_path))
+ TimeoutRead(lock_path),
+ )
def test_read_lock_timeout_on_write_ranges(lock_path):
"""small write lock, read whole file."""
- multiproc_test(
- AcquireWrite(lock_path, 0, 1),
- TimeoutRead(lock_path))
+ multiproc_test(AcquireWrite(lock_path, 0, 1), TimeoutRead(lock_path))
def test_read_lock_timeout_on_write_ranges_2(lock_path):
"""small write lock, small read lock"""
- multiproc_test(
- AcquireWrite(lock_path, 0, 1),
- TimeoutRead(lock_path, 0, 1))
+ multiproc_test(AcquireWrite(lock_path, 0, 1), TimeoutRead(lock_path, 0, 1))
def test_read_lock_timeout_on_write_ranges_3(lock_path):
@@ -470,23 +460,19 @@ def test_read_lock_timeout_on_write_ranges_3(lock_path):
AcquireWrite(lock_path, 0, 1),
AcquireWrite(lock_path, 64, 128),
TimeoutRead(lock_path, 0, 1),
- TimeoutRead(lock_path, 128, 256))
+ TimeoutRead(lock_path, 128, 256),
+ )
#
# Test that exclusive locks time out when shared locks are held.
#
def test_write_lock_timeout_on_read(lock_path):
- multiproc_test(
- AcquireRead(lock_path),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireRead(lock_path), TimeoutWrite(lock_path))
def test_write_lock_timeout_on_read_2(lock_path):
- multiproc_test(
- AcquireRead(lock_path),
- TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireRead(lock_path), TimeoutWrite(lock_path), TimeoutWrite(lock_path))
def test_write_lock_timeout_on_read_3(lock_path):
@@ -494,19 +480,16 @@ def test_write_lock_timeout_on_read_3(lock_path):
AcquireRead(lock_path),
TimeoutWrite(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_on_read_ranges(lock_path):
- multiproc_test(
- AcquireRead(lock_path, 0, 1),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireRead(lock_path, 0, 1), TimeoutWrite(lock_path))
def test_write_lock_timeout_on_read_ranges_2(lock_path):
- multiproc_test(
- AcquireRead(lock_path, 0, 1),
- TimeoutWrite(lock_path, 0, 1))
+ multiproc_test(AcquireRead(lock_path, 0, 1), TimeoutWrite(lock_path, 0, 1))
def test_write_lock_timeout_on_read_ranges_3(lock_path):
@@ -514,14 +497,16 @@ def test_write_lock_timeout_on_read_ranges_3(lock_path):
AcquireRead(lock_path, 0, 1),
AcquireRead(lock_path, 10, 1),
TimeoutWrite(lock_path, 0, 1),
- TimeoutWrite(lock_path, 10, 1))
+ TimeoutWrite(lock_path, 10, 1),
+ )
def test_write_lock_timeout_on_read_ranges_4(lock_path):
multiproc_test(
AcquireRead(lock_path, 0, 64),
TimeoutWrite(lock_path, 10, 1),
- TimeoutWrite(lock_path, 32, 1))
+ TimeoutWrite(lock_path, 32, 1),
+ )
def test_write_lock_timeout_on_read_ranges_5(lock_path):
@@ -529,17 +514,15 @@ def test_write_lock_timeout_on_read_ranges_5(lock_path):
AcquireRead(lock_path, 64, 128),
TimeoutWrite(lock_path, 65, 1),
TimeoutWrite(lock_path, 127, 1),
- TimeoutWrite(lock_path, 90, 10))
+ TimeoutWrite(lock_path, 90, 10),
+ )
#
# Test that exclusive locks time while lots of shared locks are held.
#
def test_write_lock_timeout_with_multiple_readers_2_1(lock_path):
- multiproc_test(
- AcquireRead(lock_path),
- AcquireRead(lock_path),
- TimeoutWrite(lock_path))
+ multiproc_test(AcquireRead(lock_path), AcquireRead(lock_path), TimeoutWrite(lock_path))
def test_write_lock_timeout_with_multiple_readers_2_2(lock_path):
@@ -547,7 +530,8 @@ def test_write_lock_timeout_with_multiple_readers_2_2(lock_path):
AcquireRead(lock_path),
AcquireRead(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_with_multiple_readers_3_1(lock_path):
@@ -555,7 +539,8 @@ def test_write_lock_timeout_with_multiple_readers_3_1(lock_path):
AcquireRead(lock_path),
AcquireRead(lock_path),
AcquireRead(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_with_multiple_readers_3_2(lock_path):
@@ -564,14 +549,14 @@ def test_write_lock_timeout_with_multiple_readers_3_2(lock_path):
AcquireRead(lock_path),
AcquireRead(lock_path),
TimeoutWrite(lock_path),
- TimeoutWrite(lock_path))
+ TimeoutWrite(lock_path),
+ )
def test_write_lock_timeout_with_multiple_readers_2_1_ranges(lock_path):
multiproc_test(
- AcquireRead(lock_path, 0, 10),
- AcquireRead(lock_path, 2, 10),
- TimeoutWrite(lock_path, 5, 5))
+ AcquireRead(lock_path, 0, 10), AcquireRead(lock_path, 2, 10), TimeoutWrite(lock_path, 5, 5)
+ )
def test_write_lock_timeout_with_multiple_readers_2_3_ranges(lock_path):
@@ -580,7 +565,8 @@ def test_write_lock_timeout_with_multiple_readers_2_3_ranges(lock_path):
AcquireRead(lock_path, 5, 15),
TimeoutWrite(lock_path, 0, 1),
TimeoutWrite(lock_path, 11, 3),
- TimeoutWrite(lock_path, 7, 1))
+ TimeoutWrite(lock_path, 7, 1),
+ )
def test_write_lock_timeout_with_multiple_readers_3_1_ranges(lock_path):
@@ -588,7 +574,8 @@ def test_write_lock_timeout_with_multiple_readers_3_1_ranges(lock_path):
AcquireRead(lock_path, 0, 5),
AcquireRead(lock_path, 5, 5),
AcquireRead(lock_path, 10, 5),
- TimeoutWrite(lock_path, 0, 15))
+ TimeoutWrite(lock_path, 0, 15),
+ )
def test_write_lock_timeout_with_multiple_readers_3_2_ranges(lock_path):
@@ -597,10 +584,11 @@ def test_write_lock_timeout_with_multiple_readers_3_2_ranges(lock_path):
AcquireRead(lock_path, 5, 5),
AcquireRead(lock_path, 10, 5),
TimeoutWrite(lock_path, 3, 10),
- TimeoutWrite(lock_path, 5, 1))
+ TimeoutWrite(lock_path, 5, 1),
+ )
-@pytest.mark.skipif(getuid() == 0, reason='user is root')
+@pytest.mark.skipif(getuid() == 0, reason="user is root")
def test_read_lock_on_read_only_lockfile(lock_dir, lock_path):
"""read-only directory, read-only lockfile."""
touch(lock_path)
@@ -628,7 +616,7 @@ def test_read_lock_read_only_dir_writable_lockfile(lock_dir, lock_path):
pass
-@pytest.mark.skipif(False if is_windows else getuid() == 0, reason='user is root')
+@pytest.mark.skipif(False if is_windows else getuid() == 0, reason="user is root")
def test_read_lock_no_lockfile(lock_dir, lock_path):
"""read-only directory, no lockfile (so can't create)."""
with read_only(lock_dir):
@@ -662,17 +650,17 @@ def test_upgrade_read_to_write(private_lock_path):
lock.acquire_read()
assert lock._reads == 1
assert lock._writes == 0
- assert lock._file.mode == 'r+'
+ assert lock._file.mode == "r+"
lock.acquire_write()
assert lock._reads == 1
assert lock._writes == 1
- assert lock._file.mode == 'r+'
+ assert lock._file.mode == "r+"
lock.release_write()
assert lock._reads == 1
assert lock._writes == 0
- assert lock._file.mode == 'r+'
+ assert lock._file.mode == "r+"
lock.release_read()
assert lock._reads == 0
@@ -694,7 +682,7 @@ def test_upgrade_read_to_write_fails_with_readonly_file(private_lock_path):
lock.acquire_read()
assert lock._reads == 1
assert lock._writes == 0
- assert lock._file.mode == 'r'
+ assert lock._file.mode == "r"
# upgrade to write here
with pytest.raises(lk.LockROFileError):
@@ -713,7 +701,7 @@ class ComplexAcquireAndRelease(object):
barrier.wait() # ---------------------------------------- 1
# others test timeout
barrier.wait() # ---------------------------------------- 2
- lock.release_write() # release and others acquire read
+ lock.release_write() # release and others acquire read
barrier.wait() # ---------------------------------------- 3
with pytest.raises(lk.LockTimeoutError):
lock.acquire_write(lock_fail_timeout)
@@ -820,7 +808,7 @@ class ComplexAcquireAndRelease(object):
barrier.wait() # ---------------------------------------- 10
# others test timeout
barrier.wait() # ---------------------------------------- 11
- lock.release_read() # release read AND write in opposite
+ lock.release_read() # release read AND write in opposite
lock.release_write() # order from before on p2
barrier.wait() # ---------------------------------------- 12
lock.acquire_read()
@@ -834,13 +822,12 @@ class ComplexAcquireAndRelease(object):
#
def test_complex_acquire_and_release_chain(lock_path):
test_chain = ComplexAcquireAndRelease(lock_path)
- multiproc_test(test_chain.p1,
- test_chain.p2,
- test_chain.p3)
+ multiproc_test(test_chain.p1, test_chain.p2, test_chain.p3)
class AssertLock(lk.Lock):
"""Test lock class that marks acquire/release events."""
+
def __init__(self, lock_path, vals):
super(AssertLock, self).__init__(lock_path)
self.vals = vals
@@ -854,105 +841,103 @@ class AssertLock(lk.Lock):
def acquire_read(self, timeout=None):
self.assert_acquire_read()
result = super(AssertLock, self).acquire_read(timeout)
- self.vals['acquired_read'] = True
+ self.vals["acquired_read"] = True
return result
def acquire_write(self, timeout=None):
self.assert_acquire_write()
result = super(AssertLock, self).acquire_write(timeout)
- self.vals['acquired_write'] = True
+ self.vals["acquired_write"] = True
return result
def release_read(self, release_fn=None):
self.assert_release_read()
result = super(AssertLock, self).release_read(release_fn)
- self.vals['released_read'] = True
+ self.vals["released_read"] = True
return result
def release_write(self, release_fn=None):
self.assert_release_write()
result = super(AssertLock, self).release_write(release_fn)
- self.vals['released_write'] = True
+ self.vals["released_write"] = True
return result
@pytest.mark.parametrize(
- "transaction,type",
- [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
+ "transaction,type", [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
)
def test_transaction(lock_path, transaction, type):
class MockLock(AssertLock):
def assert_acquire_read(self):
- assert not vals['entered_fn']
- assert not vals['exited_fn']
+ assert not vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_release_read(self):
- assert vals['entered_fn']
- assert not vals['exited_fn']
+ assert vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_acquire_write(self):
- assert not vals['entered_fn']
- assert not vals['exited_fn']
+ assert not vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_release_write(self):
- assert vals['entered_fn']
- assert not vals['exited_fn']
+ assert vals["entered_fn"]
+ assert not vals["exited_fn"]
def enter_fn():
# assert enter_fn is called while lock is held
- assert vals['acquired_%s' % type]
- vals['entered_fn'] = True
+ assert vals["acquired_%s" % type]
+ vals["entered_fn"] = True
def exit_fn(t, v, tb):
# assert exit_fn is called while lock is held
- assert not vals['released_%s' % type]
- vals['exited_fn'] = True
- vals['exception'] = (t or v or tb)
+ assert not vals["released_%s" % type]
+ vals["exited_fn"] = True
+ vals["exception"] = t or v or tb
vals = collections.defaultdict(lambda: False)
lock = MockLock(lock_path, vals)
with transaction(lock, acquire=enter_fn, release=exit_fn):
- assert vals['acquired_%s' % type]
- assert not vals['released_%s' % type]
+ assert vals["acquired_%s" % type]
+ assert not vals["released_%s" % type]
- assert vals['entered_fn']
- assert vals['exited_fn']
- assert vals['acquired_%s' % type]
- assert vals['released_%s' % type]
- assert not vals['exception']
+ assert vals["entered_fn"]
+ assert vals["exited_fn"]
+ assert vals["acquired_%s" % type]
+ assert vals["released_%s" % type]
+ assert not vals["exception"]
@pytest.mark.parametrize(
- "transaction,type",
- [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
+ "transaction,type", [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
)
def test_transaction_with_exception(lock_path, transaction, type):
class MockLock(AssertLock):
def assert_acquire_read(self):
- assert not vals['entered_fn']
- assert not vals['exited_fn']
+ assert not vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_release_read(self):
- assert vals['entered_fn']
- assert not vals['exited_fn']
+ assert vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_acquire_write(self):
- assert not vals['entered_fn']
- assert not vals['exited_fn']
+ assert not vals["entered_fn"]
+ assert not vals["exited_fn"]
def assert_release_write(self):
- assert vals['entered_fn']
- assert not vals['exited_fn']
+ assert vals["entered_fn"]
+ assert not vals["exited_fn"]
def enter_fn():
- assert vals['acquired_%s' % type]
- vals['entered_fn'] = True
+ assert vals["acquired_%s" % type]
+ vals["entered_fn"] = True
def exit_fn(t, v, tb):
- assert not vals['released_%s' % type]
- vals['exited_fn'] = True
- vals['exception'] = (t or v or tb)
+ assert not vals["released_%s" % type]
+ vals["exited_fn"] = True
+ vals["exception"] = t or v or tb
return exit_result
exit_result = False
@@ -963,9 +948,9 @@ def test_transaction_with_exception(lock_path, transaction, type):
with transaction(lock, acquire=enter_fn, release=exit_fn):
raise Exception()
- assert vals['entered_fn']
- assert vals['exited_fn']
- assert vals['exception']
+ assert vals["entered_fn"]
+ assert vals["exited_fn"]
+ assert vals["exception"]
# test suppression of exceptions from exit_fn
exit_result = True
@@ -975,47 +960,46 @@ def test_transaction_with_exception(lock_path, transaction, type):
with transaction(lock, acquire=enter_fn, release=exit_fn):
raise Exception()
- assert vals['entered_fn']
- assert vals['exited_fn']
- assert vals['exception']
+ assert vals["entered_fn"]
+ assert vals["exited_fn"]
+ assert vals["exception"]
@pytest.mark.parametrize(
- "transaction,type",
- [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
+ "transaction,type", [(lk.ReadTransaction, "read"), (lk.WriteTransaction, "write")]
)
def test_transaction_with_context_manager(lock_path, transaction, type):
class MockLock(AssertLock):
def assert_acquire_read(self):
- assert not vals['entered_ctx']
- assert not vals['exited_ctx']
+ assert not vals["entered_ctx"]
+ assert not vals["exited_ctx"]
def assert_release_read(self):
- assert vals['entered_ctx']
- assert vals['exited_ctx']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
def assert_acquire_write(self):
- assert not vals['entered_ctx']
- assert not vals['exited_ctx']
+ assert not vals["entered_ctx"]
+ assert not vals["exited_ctx"]
def assert_release_write(self):
- assert vals['entered_ctx']
- assert vals['exited_ctx']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
class TestContextManager(object):
def __enter__(self):
- vals['entered_ctx'] = True
+ vals["entered_ctx"] = True
def __exit__(self, t, v, tb):
- assert not vals['released_%s' % type]
- vals['exited_ctx'] = True
- vals['exception_ctx'] = (t or v or tb)
+ assert not vals["released_%s" % type]
+ vals["exited_ctx"] = True
+ vals["exception_ctx"] = t or v or tb
return exit_ctx_result
def exit_fn(t, v, tb):
- assert not vals['released_%s' % type]
- vals['exited_fn'] = True
- vals['exception_fn'] = (t or v or tb)
+ assert not vals["released_%s" % type]
+ vals["exited_fn"] = True
+ vals["exception_fn"] = t or v or tb
return exit_fn_result
exit_fn_result, exit_ctx_result = False, False
@@ -1025,21 +1009,21 @@ def test_transaction_with_context_manager(lock_path, transaction, type):
with transaction(lock, acquire=TestContextManager, release=exit_fn):
pass
- assert vals['entered_ctx']
- assert vals['exited_ctx']
- assert vals['exited_fn']
- assert not vals['exception_ctx']
- assert not vals['exception_fn']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
+ assert vals["exited_fn"]
+ assert not vals["exception_ctx"]
+ assert not vals["exception_fn"]
vals.clear()
with transaction(lock, acquire=TestContextManager):
pass
- assert vals['entered_ctx']
- assert vals['exited_ctx']
- assert not vals['exited_fn']
- assert not vals['exception_ctx']
- assert not vals['exception_fn']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
+ assert not vals["exited_fn"]
+ assert not vals["exception_ctx"]
+ assert not vals["exception_fn"]
# below are tests for exceptions with and without suppression
def assert_ctx_and_fn_exception(raises=True):
@@ -1047,19 +1031,17 @@ def test_transaction_with_context_manager(lock_path, transaction, type):
if raises:
with pytest.raises(Exception):
- with transaction(
- lock, acquire=TestContextManager, release=exit_fn):
+ with transaction(lock, acquire=TestContextManager, release=exit_fn):
raise Exception()
else:
- with transaction(
- lock, acquire=TestContextManager, release=exit_fn):
+ with transaction(lock, acquire=TestContextManager, release=exit_fn):
raise Exception()
- assert vals['entered_ctx']
- assert vals['exited_ctx']
- assert vals['exited_fn']
- assert vals['exception_ctx']
- assert vals['exception_fn']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
+ assert vals["exited_fn"]
+ assert vals["exception_ctx"]
+ assert vals["exception_fn"]
def assert_only_ctx_exception(raises=True):
vals.clear()
@@ -1072,11 +1054,11 @@ def test_transaction_with_context_manager(lock_path, transaction, type):
with transaction(lock, acquire=TestContextManager):
raise Exception()
- assert vals['entered_ctx']
- assert vals['exited_ctx']
- assert not vals['exited_fn']
- assert vals['exception_ctx']
- assert not vals['exception_fn']
+ assert vals["entered_ctx"]
+ assert vals["exited_ctx"]
+ assert not vals["exited_fn"]
+ assert vals["exception_ctx"]
+ assert not vals["exception_fn"]
# no suppression
assert_ctx_and_fn_exception(raises=True)
@@ -1102,107 +1084,107 @@ def test_nested_write_transaction(lock_path):
"""Ensure that the outermost write transaction writes."""
def write(t, v, tb):
- vals['wrote'] = True
+ vals["wrote"] = True
vals = collections.defaultdict(lambda: False)
lock = AssertLock(lock_path, vals)
# write/write
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
- assert not vals['wrote']
- assert vals['wrote']
+ assert not vals["wrote"]
+ assert not vals["wrote"]
+ assert vals["wrote"]
# read/write
vals.clear()
with lk.ReadTransaction(lock):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
- assert vals['wrote']
+ assert not vals["wrote"]
+ assert vals["wrote"]
# write/read/write
vals.clear()
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.ReadTransaction(lock):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
- assert not vals['wrote']
- assert not vals['wrote']
- assert vals['wrote']
+ assert not vals["wrote"]
+ assert not vals["wrote"]
+ assert not vals["wrote"]
+ assert vals["wrote"]
# read/write/read/write
vals.clear()
with lk.ReadTransaction(lock):
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.ReadTransaction(lock):
- assert not vals['wrote']
+ assert not vals["wrote"]
with lk.WriteTransaction(lock, release=write):
- assert not vals['wrote']
- assert not vals['wrote']
- assert not vals['wrote']
- assert vals['wrote']
+ assert not vals["wrote"]
+ assert not vals["wrote"]
+ assert not vals["wrote"]
+ assert vals["wrote"]
def test_nested_reads(lock_path):
"""Ensure that write transactions won't re-read data."""
def read():
- vals['read'] += 1
+ vals["read"] += 1
vals = collections.defaultdict(lambda: 0)
lock = AssertLock(lock_path, vals)
# read/read
vals.clear()
- assert vals['read'] == 0
+ assert vals["read"] == 0
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
# write/write
vals.clear()
- assert vals['read'] == 0
+ assert vals["read"] == 0
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
# read/write
vals.clear()
- assert vals['read'] == 0
+ assert vals["read"] == 0
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
# write/read/write
vals.clear()
- assert vals['read'] == 0
+ assert vals["read"] == 0
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
# read/write/read/write
vals.clear()
- assert vals['read'] == 0
+ assert vals["read"] == 0
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.ReadTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
with lk.WriteTransaction(lock, acquire=read):
- assert vals['read'] == 1
+ assert vals["read"] == 1
class LockDebugOutput(object):
@@ -1284,7 +1266,7 @@ def test_lock_debug_output(lock_path):
def test_lock_with_no_parent_directory(tmpdir):
"""Make sure locks work even when their parent directory does not exist."""
with tmpdir.as_cwd():
- lock = lk.Lock('foo/bar/baz/lockfile')
+ lock = lk.Lock("foo/bar/baz/lockfile")
with lk.WriteTransaction(lock):
pass
@@ -1293,7 +1275,7 @@ def test_lock_in_current_directory(tmpdir):
"""Make sure locks work even when their parent directory does not exist."""
with tmpdir.as_cwd():
# test we can create a lock in the current directory
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
for i in range(10):
with lk.ReadTransaction(lock):
pass
@@ -1301,7 +1283,7 @@ def test_lock_in_current_directory(tmpdir):
pass
# and that we can do the same thing after it's already there
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
for i in range(10):
with lk.ReadTransaction(lock):
pass
@@ -1310,23 +1292,23 @@ def test_lock_in_current_directory(tmpdir):
def test_attempts_str():
- assert lk._attempts_str(0, 0) == ''
- assert lk._attempts_str(0.12, 1) == ''
- assert lk._attempts_str(12.345, 2) == ' after 12.35s and 2 attempts'
+ assert lk._attempts_str(0, 0) == ""
+ assert lk._attempts_str(0.12, 1) == ""
+ assert lk._attempts_str(12.345, 2) == " after 12.35s and 2 attempts"
def test_lock_str():
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
lockstr = str(lock)
- assert 'lockfile[0:0]' in lockstr
- assert 'timeout=None' in lockstr
- assert '#reads=0, #writes=0' in lockstr
+ assert "lockfile[0:0]" in lockstr
+ assert "timeout=None" in lockstr
+ assert "#reads=0, #writes=0" in lockstr
def test_downgrade_write_okay(tmpdir):
"""Test the lock write-to-read downgrade operation."""
with tmpdir.as_cwd():
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
lock.acquire_write()
lock.downgrade_write_to_read()
assert lock._reads == 1
@@ -1336,29 +1318,34 @@ def test_downgrade_write_okay(tmpdir):
def test_downgrade_write_fails(tmpdir):
"""Test failing the lock write-to-read downgrade operation."""
with tmpdir.as_cwd():
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
lock.acquire_read()
- msg = 'Cannot downgrade lock from write to read on file: lockfile'
+ msg = "Cannot downgrade lock from write to read on file: lockfile"
with pytest.raises(lk.LockDowngradeError, match=msg):
lock.downgrade_write_to_read()
-@pytest.mark.parametrize("err_num,err_msg",
- [(errno.EACCES, "Fake EACCES error"),
- (errno.EAGAIN, "Fake EAGAIN error"),
- (errno.ENOENT, "Fake ENOENT error")])
+@pytest.mark.parametrize(
+ "err_num,err_msg",
+ [
+ (errno.EACCES, "Fake EACCES error"),
+ (errno.EAGAIN, "Fake EAGAIN error"),
+ (errno.ENOENT, "Fake ENOENT error"),
+ ],
+)
def test_poll_lock_exception(tmpdir, monkeypatch, err_num, err_msg):
"""Test poll lock exception handling."""
+
def _lockf(fd, cmd, len, start, whence):
raise IOError(err_num, err_msg)
with tmpdir.as_cwd():
- lockfile = 'lockfile'
+ lockfile = "lockfile"
lock = lk.Lock(lockfile)
touch(lockfile)
- monkeypatch.setattr(fcntl, 'lockf', _lockf)
+ monkeypatch.setattr(fcntl, "lockf", _lockf)
if err_num in [errno.EAGAIN, errno.EACCES]:
assert not lock._poll_lock(fcntl.LOCK_EX)
@@ -1370,7 +1357,7 @@ def test_poll_lock_exception(tmpdir, monkeypatch, err_num, err_msg):
def test_upgrade_read_okay(tmpdir):
"""Test the lock read-to-write upgrade operation."""
with tmpdir.as_cwd():
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
lock.acquire_read()
lock.upgrade_read_to_write()
assert lock._reads == 0
@@ -1380,8 +1367,8 @@ def test_upgrade_read_okay(tmpdir):
def test_upgrade_read_fails(tmpdir):
"""Test failing the lock read-to-write upgrade operation."""
with tmpdir.as_cwd():
- lock = lk.Lock('lockfile')
+ lock = lk.Lock("lockfile")
lock.acquire_write()
- msg = 'Cannot upgrade lock from read to write on file: lockfile'
+ msg = "Cannot upgrade lock from read to write on file: lockfile"
with pytest.raises(lk.LockUpgradeError, match=msg):
lock.upgrade_read_to_write()
diff --git a/lib/spack/spack/test/llnl/util/tty/log.py b/lib/spack/spack/test/llnl/util/tty/log.py
index 2491a5dbe3..b100f209e8 100644
--- a/lib/spack/spack/test/llnl/util/tty/log.py
+++ b/lib/spack/spack/test/llnl/util/tty/log.py
@@ -27,13 +27,13 @@ from spack.util.executable import which
termios = None # type: Optional[ModuleType]
try:
import termios as term_mod
+
termios = term_mod
except ImportError:
pass
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
@contextlib.contextmanager
@@ -43,62 +43,62 @@ def nullcontext():
def test_log_python_output_with_echo(capfd, tmpdir):
with tmpdir.as_cwd():
- with log.log_output('foo.txt', echo=True):
- print('logged')
+ with log.log_output("foo.txt", echo=True):
+ print("logged")
# foo.txt has output
- with open('foo.txt') as f:
- assert f.read() == 'logged\n'
+ with open("foo.txt") as f:
+ assert f.read() == "logged\n"
# output is also echoed.
- assert capfd.readouterr()[0] == 'logged\n'
+ assert capfd.readouterr()[0] == "logged\n"
def test_log_python_output_without_echo(capfd, tmpdir):
with tmpdir.as_cwd():
- with log.log_output('foo.txt'):
- print('logged')
+ with log.log_output("foo.txt"):
+ print("logged")
# foo.txt has output
- with open('foo.txt') as f:
- assert f.read() == 'logged\n'
+ with open("foo.txt") as f:
+ assert f.read() == "logged\n"
# nothing on stdout or stderr
- assert capfd.readouterr()[0] == ''
+ assert capfd.readouterr()[0] == ""
def test_log_python_output_with_invalid_utf8(capfd, tmpdir):
with tmpdir.as_cwd():
- with log.log_output('foo.txt'):
- sys.stdout.buffer.write(b'\xc3\x28\n')
+ with log.log_output("foo.txt"):
+ sys.stdout.buffer.write(b"\xc3\x28\n")
# python2 and 3 treat invalid UTF-8 differently
if sys.version_info.major == 2:
- expected = b'\xc3(\n'
+ expected = b"\xc3(\n"
else:
- expected = b'<line lost: output was not encoded as UTF-8>\n'
- with open('foo.txt', 'rb') as f:
+ expected = b"<line lost: output was not encoded as UTF-8>\n"
+ with open("foo.txt", "rb") as f:
written = f.read()
assert written == expected
# nothing on stdout or stderr
- assert capfd.readouterr()[0] == ''
+ assert capfd.readouterr()[0] == ""
def test_log_python_output_and_echo_output(capfd, tmpdir):
with tmpdir.as_cwd():
# echo two lines
- with log.log_output('foo.txt') as logger:
+ with log.log_output("foo.txt") as logger:
with logger.force_echo():
- print('force echo')
- print('logged')
+ print("force echo")
+ print("logged")
# log file contains everything
- with open('foo.txt') as f:
- assert f.read() == 'force echo\nlogged\n'
+ with open("foo.txt") as f:
+ assert f.read() == "force echo\nlogged\n"
# only force-echo'd stuff is in output
- assert capfd.readouterr()[0] == 'force echo\n'
+ assert capfd.readouterr()[0] == "force echo\n"
def _log_filter_fn(string):
@@ -107,63 +107,63 @@ def _log_filter_fn(string):
def test_log_output_with_filter(capfd, tmpdir):
with tmpdir.as_cwd():
- with log.log_output('foo.txt', filter_fn=_log_filter_fn):
- print('foo blah')
- print('blah foo')
- print('foo foo')
+ with log.log_output("foo.txt", filter_fn=_log_filter_fn):
+ print("foo blah")
+ print("blah foo")
+ print("foo foo")
# foo.txt output is not filtered
- with open('foo.txt') as f:
- assert f.read() == 'foo blah\nblah foo\nfoo foo\n'
+ with open("foo.txt") as f:
+ assert f.read() == "foo blah\nblah foo\nfoo foo\n"
# output is not echoed
- assert capfd.readouterr()[0] == ''
+ assert capfd.readouterr()[0] == ""
# now try with echo
with tmpdir.as_cwd():
- with log.log_output('foo.txt', echo=True, filter_fn=_log_filter_fn):
- print('foo blah')
- print('blah foo')
- print('foo foo')
+ with log.log_output("foo.txt", echo=True, filter_fn=_log_filter_fn):
+ print("foo blah")
+ print("blah foo")
+ print("foo foo")
# foo.txt output is still not filtered
- with open('foo.txt') as f:
- assert f.read() == 'foo blah\nblah foo\nfoo foo\n'
+ with open("foo.txt") as f:
+ assert f.read() == "foo blah\nblah foo\nfoo foo\n"
# echoed output is filtered.
- assert capfd.readouterr()[0] == 'bar blah\nblah bar\nbar bar\n'
+ assert capfd.readouterr()[0] == "bar blah\nblah bar\nbar bar\n"
-@pytest.mark.skipif(not which('echo'), reason="needs echo command")
+@pytest.mark.skipif(not which("echo"), reason="needs echo command")
def test_log_subproc_and_echo_output_no_capfd(capfd, tmpdir):
- echo = which('echo')
+ echo = which("echo")
# this is split into two tests because capfd interferes with the
# output logged to file when using a subprocess. We test the file
# here, and echoing in test_log_subproc_and_echo_output_capfd below.
with capfd.disabled():
with tmpdir.as_cwd():
- with log.log_output('foo.txt') as logger:
+ with log.log_output("foo.txt") as logger:
with logger.force_echo():
- echo('echo')
- print('logged')
+ echo("echo")
+ print("logged")
- with open('foo.txt') as f:
- assert f.read() == 'echo\nlogged\n'
+ with open("foo.txt") as f:
+ assert f.read() == "echo\nlogged\n"
-@pytest.mark.skipif(not which('echo'), reason="needs echo command")
+@pytest.mark.skipif(not which("echo"), reason="needs echo command")
def test_log_subproc_and_echo_output_capfd(capfd, tmpdir):
- echo = which('echo')
+ echo = which("echo")
# This tests *only* what is echoed when using a subprocess, as capfd
# interferes with the logged data. See
# test_log_subproc_and_echo_output_no_capfd for tests on the logfile.
with tmpdir.as_cwd():
- with log.log_output('foo.txt') as logger:
+ with log.log_output("foo.txt") as logger:
with logger.force_echo():
- echo('echo')
- print('logged')
+ echo("echo")
+ print("logged")
assert capfd.readouterr()[0] == "echo\n"
@@ -177,6 +177,7 @@ def simple_logger(**kwargs):
def handler(signum, frame):
running[0] = False
+
signal.signal(signal.SIGUSR1, handler)
log_path = kwargs["log_path"]
@@ -319,24 +320,27 @@ def no_termios():
@pytest.mark.skipif(not which("ps"), reason="requires ps utility")
@pytest.mark.skipif(not termios, reason="requires termios support")
-@pytest.mark.parametrize('test_fn,termios_on_or_off', [
- # tests with termios
- (mock_shell_fg, lang.nullcontext),
- (mock_shell_bg, lang.nullcontext),
- (mock_shell_bg_fg, lang.nullcontext),
- (mock_shell_fg_bg, lang.nullcontext),
- (mock_shell_tstp_cont, lang.nullcontext),
- (mock_shell_tstp_tstp_cont, lang.nullcontext),
- (mock_shell_tstp_tstp_cont_cont, lang.nullcontext),
- # tests without termios
- (mock_shell_fg_no_termios, no_termios),
- (mock_shell_bg, no_termios),
- (mock_shell_bg_fg_no_termios, no_termios),
- (mock_shell_fg_bg_no_termios, no_termios),
- (mock_shell_tstp_cont, no_termios),
- (mock_shell_tstp_tstp_cont, no_termios),
- (mock_shell_tstp_tstp_cont_cont, no_termios),
-])
+@pytest.mark.parametrize(
+ "test_fn,termios_on_or_off",
+ [
+ # tests with termios
+ (mock_shell_fg, lang.nullcontext),
+ (mock_shell_bg, lang.nullcontext),
+ (mock_shell_bg_fg, lang.nullcontext),
+ (mock_shell_fg_bg, lang.nullcontext),
+ (mock_shell_tstp_cont, lang.nullcontext),
+ (mock_shell_tstp_tstp_cont, lang.nullcontext),
+ (mock_shell_tstp_tstp_cont_cont, lang.nullcontext),
+ # tests without termios
+ (mock_shell_fg_no_termios, no_termios),
+ (mock_shell_bg, no_termios),
+ (mock_shell_bg_fg_no_termios, no_termios),
+ (mock_shell_fg_bg_no_termios, no_termios),
+ (mock_shell_tstp_cont, no_termios),
+ (mock_shell_tstp_tstp_cont, no_termios),
+ (mock_shell_tstp_tstp_cont_cont, no_termios),
+ ],
+)
def test_foreground_background(test_fn, termios_on_or_off, tmpdir):
"""Functional tests for foregrounding and backgrounding a logged process.
@@ -371,6 +375,7 @@ def synchronized_logger(**kwargs):
def handler(signum, frame):
running[0] = False
+
signal.signal(signal.SIGUSR1, handler)
log_path = kwargs["log_path"]
@@ -388,7 +393,7 @@ def synchronized_logger(**kwargs):
print("off")
v_lock.release()
else:
- print("on") # lock held; v is toggled on
+ print("on") # lock held; v is toggled on
time.sleep(1e-2)
@@ -399,22 +404,22 @@ def mock_shell_v_v(proc, ctl, **kwargs):
ctl.fg()
ctl.wait_enabled()
- time.sleep(.1)
+ time.sleep(0.1)
write_lock.acquire() # suspend writing
- v_lock.acquire() # enable v lock
- ctl.write(b'v') # toggle v on stdin
- time.sleep(.1)
+ v_lock.acquire() # enable v lock
+ ctl.write(b"v") # toggle v on stdin
+ time.sleep(0.1)
write_lock.release() # resume writing
- time.sleep(.1)
+ time.sleep(0.1)
write_lock.acquire() # suspend writing
- ctl.write(b'v') # toggle v on stdin
- time.sleep(.1)
- v_lock.release() # disable v lock
+ ctl.write(b"v") # toggle v on stdin
+ time.sleep(0.1)
+ v_lock.release() # disable v lock
write_lock.release() # resume writing
- time.sleep(.1)
+ time.sleep(0.1)
os.kill(proc.pid, signal.SIGUSR1)
@@ -426,37 +431,38 @@ def mock_shell_v_v_no_termios(proc, ctl, **kwargs):
ctl.fg()
ctl.wait_disabled_fg()
- time.sleep(.1)
+ time.sleep(0.1)
write_lock.acquire() # suspend writing
- v_lock.acquire() # enable v lock
- ctl.write(b'v\n') # toggle v on stdin
- time.sleep(.1)
+ v_lock.acquire() # enable v lock
+ ctl.write(b"v\n") # toggle v on stdin
+ time.sleep(0.1)
write_lock.release() # resume writing
- time.sleep(.1)
+ time.sleep(0.1)
write_lock.acquire() # suspend writing
- ctl.write(b'v\n') # toggle v on stdin
- time.sleep(.1)
- v_lock.release() # disable v lock
+ ctl.write(b"v\n") # toggle v on stdin
+ time.sleep(0.1)
+ v_lock.release() # disable v lock
write_lock.release() # resume writing
- time.sleep(.1)
+ time.sleep(0.1)
os.kill(proc.pid, signal.SIGUSR1)
@pytest.mark.skipif(not which("ps"), reason="requires ps utility")
@pytest.mark.skipif(not termios, reason="requires termios support")
-@pytest.mark.parametrize('test_fn,termios_on_or_off', [
- (mock_shell_v_v, lang.nullcontext),
- (mock_shell_v_v_no_termios, no_termios),
-])
-def test_foreground_background_output(
- test_fn, capfd, termios_on_or_off, tmpdir):
+@pytest.mark.parametrize(
+ "test_fn,termios_on_or_off",
+ [
+ (mock_shell_v_v, lang.nullcontext),
+ (mock_shell_v_v_no_termios, no_termios),
+ ],
+)
+def test_foreground_background_output(test_fn, capfd, termios_on_or_off, tmpdir):
"""Tests hitting 'v' toggles output, and that force_echo works."""
- if (sys.version_info >= (3, 8) and sys.platform == 'darwin'
- and termios_on_or_off == no_termios):
+ if sys.version_info >= (3, 8) and sys.platform == "darwin" and termios_on_or_off == no_termios:
return
@@ -468,12 +474,7 @@ def test_foreground_background_output(
v_lock = multiprocessing.Lock() # held while controller is in v mode
with termios_on_or_off():
- shell.start(
- write_lock=write_lock,
- v_lock=v_lock,
- debug=True,
- log_path=log_path
- )
+ shell.start(write_lock=write_lock, v_lock=v_lock, debug=True, log_path=log_path)
exitcode = shell.join()
out, err = capfd.readouterr()
@@ -496,13 +497,13 @@ def test_foreground_background_output(
# output should contain mostly "on" lines, but may contain "off"
# lines if the controller is slow. The important thing to observe
# here is that we started seeing 'on' in the end.
- assert (
- ['forced output', 'on'] == lang.uniq(output) or
- ['forced output', 'off', 'on'] == lang.uniq(output)
- )
+ assert ["forced output", "on"] == lang.uniq(output) or [
+ "forced output",
+ "off",
+ "on",
+ ] == lang.uniq(output)
# log should be off for a while, then on, then off
- assert (
- ['forced output', 'off', 'on', 'off'] == lang.uniq(log_data) and
- log_data.count("off") > 2 # ensure some "off" lines were omitted
- )
+ assert ["forced output", "off", "on", "off"] == lang.uniq(log_data) and log_data.count(
+ "off"
+ ) > 2 # ensure some "off" lines were omitted
diff --git a/lib/spack/spack/test/llnl/util/tty/tty.py b/lib/spack/spack/test/llnl/util/tty/tty.py
index 806ecd6a35..cb56c30d57 100644
--- a/lib/spack/spack/test/llnl/util/tty/tty.py
+++ b/lib/spack/spack/test/llnl/util/tty/tty.py
@@ -14,44 +14,47 @@ def test_get_timestamp(monkeypatch):
"""Ensure the results of get_timestamp are reasonable."""
# Debug disabled should return an empty string
- monkeypatch.setattr(tty, '_debug', 0)
- assert not tty.get_timestamp(False), 'Expected an empty string'
+ monkeypatch.setattr(tty, "_debug", 0)
+ assert not tty.get_timestamp(False), "Expected an empty string"
# Debug disabled but force the timestamp should return a string
- assert tty.get_timestamp(True), 'Expected a timestamp/non-empty string'
+ assert tty.get_timestamp(True), "Expected a timestamp/non-empty string"
- pid_str = ' {0}'.format(os.getpid())
+ pid_str = " {0}".format(os.getpid())
# Level 1 debugging should return a timestamp WITHOUT the pid
- monkeypatch.setattr(tty, '_debug', 1)
+ monkeypatch.setattr(tty, "_debug", 1)
out_str = tty.get_timestamp(False)
- assert out_str and pid_str not in out_str, 'Expected no PID in results'
+ assert out_str and pid_str not in out_str, "Expected no PID in results"
# Level 2 debugging should also return a timestamp WITH the pid
- monkeypatch.setattr(tty, '_debug', 2)
+ monkeypatch.setattr(tty, "_debug", 2)
out_str = tty.get_timestamp(False)
- assert out_str and pid_str in out_str, 'Expected PID in results'
-
-
-@pytest.mark.parametrize('msg,enabled,trace,newline', [
- ('', False, False, False), # Nothing is output
- (Exception(''), True, False, True), # Exception output
- ('trace', True, True, False), # stacktrace output
- ('newline', True, False, True), # newline in output
- ('no newline', True, False, False) # no newline output
-])
+ assert out_str and pid_str in out_str, "Expected PID in results"
+
+
+@pytest.mark.parametrize(
+ "msg,enabled,trace,newline",
+ [
+ ("", False, False, False), # Nothing is output
+ (Exception(""), True, False, True), # Exception output
+ ("trace", True, True, False), # stacktrace output
+ ("newline", True, False, True), # newline in output
+ ("no newline", True, False, False), # no newline output
+ ],
+)
def test_msg(capfd, monkeypatch, enabled, msg, trace, newline):
"""Ensure the output from msg with options is appropriate."""
# temporarily use the parameterized settings
- monkeypatch.setattr(tty, '_msg_enabled', enabled)
- monkeypatch.setattr(tty, '_stacktrace', trace)
+ monkeypatch.setattr(tty, "_msg_enabled", enabled)
+ monkeypatch.setattr(tty, "_stacktrace", trace)
- expected = [msg if isinstance(msg, str) else 'Exception: ']
+ expected = [msg if isinstance(msg, str) else "Exception: "]
if newline:
- expected[0] = '{0}\n'.format(expected[0])
+ expected[0] = "{0}\n".format(expected[0])
if trace:
- expected.insert(0, '.py')
+ expected.insert(0, ".py")
tty.msg(msg, newline=newline)
out = capfd.readouterr()[0]
@@ -59,23 +62,28 @@ def test_msg(capfd, monkeypatch, enabled, msg, trace, newline):
assert msg in out
-@pytest.mark.parametrize('msg,trace,wrap', [
- (Exception(''), False, False), # Exception output
- ('trace', True, False), # stacktrace output
- ('wrap', False, True), # wrap in output
-])
+@pytest.mark.parametrize(
+ "msg,trace,wrap",
+ [
+ (Exception(""), False, False), # Exception output
+ ("trace", True, False), # stacktrace output
+ ("wrap", False, True), # wrap in output
+ ],
+)
def test_info(capfd, monkeypatch, msg, trace, wrap):
"""Ensure the output from info with options is appropriate."""
# temporarily use the parameterized settings
- monkeypatch.setattr(tty, '_stacktrace', trace)
+ monkeypatch.setattr(tty, "_stacktrace", trace)
- expected = [msg if isinstance(msg, str) else 'Exception: ']
+ expected = [msg if isinstance(msg, str) else "Exception: "]
if trace:
- expected.insert(0, '.py')
+ expected.insert(0, ".py")
- extra = 'This extra argument *should* make for a sufficiently long line' \
- ' that needs to be wrapped if the option is enabled.'
+ extra = (
+ "This extra argument *should* make for a sufficiently long line"
+ " that needs to be wrapped if the option is enabled."
+ )
args = [msg, extra]
num_newlines = 3 if wrap else 2
@@ -85,4 +93,4 @@ def test_info(capfd, monkeypatch, msg, trace, wrap):
for msg in expected:
assert msg in out
- assert out.count('\n') == num_newlines
+ assert out.count("\n") == num_newlines
diff --git a/lib/spack/spack/test/main.py b/lib/spack/spack/test/main.py
index dc6fa8299e..8af8bc590c 100644
--- a/lib/spack/spack/test/main.py
+++ b/lib/spack/spack/test/main.py
@@ -14,16 +14,18 @@ import spack.paths
from spack.main import get_version, main
pytestmark = pytest.mark.skipif(
- sys.platform == 'win32',
- reason="Test functionality supported but tests are failing on Win")
+ sys.platform == "win32", reason="Test functionality supported but tests are failing on Win"
+)
def test_version_git_nonsense_output(tmpdir, working_env):
git = str(tmpdir.join("git"))
with open(git, "w") as f:
- f.write("""#!/bin/sh
+ f.write(
+ """#!/bin/sh
echo --|not a hash|----
-""")
+"""
+ )
fs.set_executable(git)
os.environ["PATH"] = str(tmpdir)
@@ -33,10 +35,12 @@ echo --|not a hash|----
def test_version_git_fails(tmpdir, working_env):
git = str(tmpdir.join("git"))
with open(git, "w") as f:
- f.write("""#!/bin/sh
+ f.write(
+ """#!/bin/sh
echo 26552533be04e83e66be2c28e0eb5011cb54e8fa
exit 1
-""")
+"""
+ )
fs.set_executable(git)
os.environ["PATH"] = str(tmpdir)
@@ -45,11 +49,15 @@ exit 1
def test_git_sha_output(tmpdir, working_env):
git = str(tmpdir.join("git"))
- sha = '26552533be04e83e66be2c28e0eb5011cb54e8fa'
+ sha = "26552533be04e83e66be2c28e0eb5011cb54e8fa"
with open(git, "w") as f:
- f.write("""#!/bin/sh
+ f.write(
+ """#!/bin/sh
echo {0}
-""".format(sha))
+""".format(
+ sha
+ )
+ )
fs.set_executable(git)
os.environ["PATH"] = str(tmpdir)
@@ -76,9 +84,11 @@ def test_main_calls_get_version(tmpdir, capsys, working_env):
def test_get_version_bad_git(tmpdir, working_env):
bad_git = str(tmpdir.join("git"))
with open(bad_git, "w") as f:
- f.write("""#!/bin/sh
+ f.write(
+ """#!/bin/sh
exit 1
-""")
+"""
+ )
fs.set_executable(bad_git)
os.environ["PATH"] = str(tmpdir)
diff --git a/lib/spack/spack/test/make_executable.py b/lib/spack/spack/test/make_executable.py
index 9fcf4cc8c4..b7063e5e10 100644
--- a/lib/spack/spack/test/make_executable.py
+++ b/lib/spack/spack/test/make_executable.py
@@ -19,101 +19,97 @@ import pytest
from spack.build_environment import MakeExecutable
from spack.util.environment import path_put_first
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="MakeExecutable \
- not supported on Windows")
+pytestmark = pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="MakeExecutable \
+ not supported on Windows",
+)
class MakeExecutableTest(unittest.TestCase):
-
def setUp(self):
self.tmpdir = tempfile.mkdtemp()
- make_exe = os.path.join(self.tmpdir, 'make')
- with open(make_exe, 'w') as f:
- f.write('#!/bin/sh\n')
+ make_exe = os.path.join(self.tmpdir, "make")
+ with open(make_exe, "w") as f:
+ f.write("#!/bin/sh\n")
f.write('echo "$@"')
os.chmod(make_exe, 0o700)
- path_put_first('PATH', [self.tmpdir])
+ path_put_first("PATH", [self.tmpdir])
def tearDown(self):
shutil.rmtree(self.tmpdir)
def test_make_normal(self):
- make = MakeExecutable('make', 8)
- self.assertEqual(make(output=str).strip(), '-j8')
- self.assertEqual(make('install', output=str).strip(), '-j8 install')
+ make = MakeExecutable("make", 8)
+ self.assertEqual(make(output=str).strip(), "-j8")
+ self.assertEqual(make("install", output=str).strip(), "-j8 install")
def test_make_explicit(self):
- make = MakeExecutable('make', 8)
- self.assertEqual(make(parallel=True, output=str).strip(), '-j8')
- self.assertEqual(make('install', parallel=True,
- output=str).strip(), '-j8 install')
+ make = MakeExecutable("make", 8)
+ self.assertEqual(make(parallel=True, output=str).strip(), "-j8")
+ self.assertEqual(make("install", parallel=True, output=str).strip(), "-j8 install")
def test_make_one_job(self):
- make = MakeExecutable('make', 1)
- self.assertEqual(make(output=str).strip(), '')
- self.assertEqual(make('install', output=str).strip(), 'install')
+ make = MakeExecutable("make", 1)
+ self.assertEqual(make(output=str).strip(), "")
+ self.assertEqual(make("install", output=str).strip(), "install")
def test_make_parallel_false(self):
- make = MakeExecutable('make', 8)
- self.assertEqual(make(parallel=False, output=str).strip(), '')
- self.assertEqual(make('install', parallel=False,
- output=str).strip(), 'install')
+ make = MakeExecutable("make", 8)
+ self.assertEqual(make(parallel=False, output=str).strip(), "")
+ self.assertEqual(make("install", parallel=False, output=str).strip(), "install")
def test_make_parallel_disabled(self):
- make = MakeExecutable('make', 8)
+ make = MakeExecutable("make", 8)
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'true'
- self.assertEqual(make(output=str).strip(), '')
- self.assertEqual(make('install', output=str).strip(), 'install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "true"
+ self.assertEqual(make(output=str).strip(), "")
+ self.assertEqual(make("install", output=str).strip(), "install")
- os.environ['SPACK_NO_PARALLEL_MAKE'] = '1'
- self.assertEqual(make(output=str).strip(), '')
- self.assertEqual(make('install', output=str).strip(), 'install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "1"
+ self.assertEqual(make(output=str).strip(), "")
+ self.assertEqual(make("install", output=str).strip(), "install")
# These don't disable (false and random string)
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'false'
- self.assertEqual(make(output=str).strip(), '-j8')
- self.assertEqual(make('install', output=str).strip(), '-j8 install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "false"
+ self.assertEqual(make(output=str).strip(), "-j8")
+ self.assertEqual(make("install", output=str).strip(), "-j8 install")
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'foobar'
- self.assertEqual(make(output=str).strip(), '-j8')
- self.assertEqual(make('install', output=str).strip(), '-j8 install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "foobar"
+ self.assertEqual(make(output=str).strip(), "-j8")
+ self.assertEqual(make("install", output=str).strip(), "-j8 install")
- del os.environ['SPACK_NO_PARALLEL_MAKE']
+ del os.environ["SPACK_NO_PARALLEL_MAKE"]
def test_make_parallel_precedence(self):
- make = MakeExecutable('make', 8)
+ make = MakeExecutable("make", 8)
# These should work
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'true'
- self.assertEqual(make(parallel=True, output=str).strip(), '')
- self.assertEqual(make('install', parallel=True,
- output=str).strip(), 'install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "true"
+ self.assertEqual(make(parallel=True, output=str).strip(), "")
+ self.assertEqual(make("install", parallel=True, output=str).strip(), "install")
- os.environ['SPACK_NO_PARALLEL_MAKE'] = '1'
- self.assertEqual(make(parallel=True, output=str).strip(), '')
- self.assertEqual(make('install', parallel=True,
- output=str).strip(), 'install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "1"
+ self.assertEqual(make(parallel=True, output=str).strip(), "")
+ self.assertEqual(make("install", parallel=True, output=str).strip(), "install")
# These don't disable (false and random string)
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'false'
- self.assertEqual(make(parallel=True, output=str).strip(), '-j8')
- self.assertEqual(make('install', parallel=True,
- output=str).strip(), '-j8 install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "false"
+ self.assertEqual(make(parallel=True, output=str).strip(), "-j8")
+ self.assertEqual(make("install", parallel=True, output=str).strip(), "-j8 install")
- os.environ['SPACK_NO_PARALLEL_MAKE'] = 'foobar'
- self.assertEqual(make(parallel=True, output=str).strip(), '-j8')
- self.assertEqual(make('install', parallel=True,
- output=str).strip(), '-j8 install')
+ os.environ["SPACK_NO_PARALLEL_MAKE"] = "foobar"
+ self.assertEqual(make(parallel=True, output=str).strip(), "-j8")
+ self.assertEqual(make("install", parallel=True, output=str).strip(), "-j8 install")
- del os.environ['SPACK_NO_PARALLEL_MAKE']
+ del os.environ["SPACK_NO_PARALLEL_MAKE"]
def test_make_jobs_env(self):
- make = MakeExecutable('make', 8)
+ make = MakeExecutable("make", 8)
dump_env = {}
- self.assertEqual(make(output=str, jobs_env='MAKE_PARALLELISM',
- _dump_env=dump_env).strip(), '-j8')
- self.assertEqual(dump_env['MAKE_PARALLELISM'], '8')
+ self.assertEqual(
+ make(output=str, jobs_env="MAKE_PARALLELISM", _dump_env=dump_env).strip(), "-j8"
+ )
+ self.assertEqual(dump_env["MAKE_PARALLELISM"], "8")
diff --git a/lib/spack/spack/test/mirror.py b/lib/spack/spack/test/mirror.py
index f8e1795c49..c156db867c 100644
--- a/lib/spack/spack/test/mirror.py
+++ b/lib/spack/spack/test/mirror.py
@@ -20,12 +20,13 @@ from spack.stage import Stage
from spack.util.executable import which
from spack.util.spack_yaml import SpackYAMLError
-pytestmark = [pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows"),
- pytest.mark.usefixtures('mutable_config', 'mutable_mock_repo')]
+pytestmark = [
+ pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows"),
+ pytest.mark.usefixtures("mutable_config", "mutable_mock_repo"),
+]
# paths in repos that shouldn't be in the mirror tarballs.
-exclude = ['.hg', '.git', '.svn']
+exclude = [".hg", ".git", ".svn"]
repos = {}
@@ -50,12 +51,12 @@ def set_up_package(name, repository, url_attr):
def check_mirror():
- with Stage('spack-mirror-test') as stage:
- mirror_root = os.path.join(stage.path, 'test-mirror')
+ with Stage("spack-mirror-test") as stage:
+ mirror_root = os.path.join(stage.path, "test-mirror")
# register mirror with spack config
- mirrors = {'spack-mirror-test': 'file://' + mirror_root}
- with spack.config.override('mirrors', mirrors):
- with spack.config.override('config:checksum', False):
+ mirrors = {"spack-mirror-test": "file://" + mirror_root}
+ with spack.config.override("mirrors", mirrors):
+ with spack.config.override("config:checksum", False):
specs = [Spec(x).concretized() for x in repos]
spack.mirror.create(mirror_root, specs)
@@ -64,13 +65,9 @@ def check_mirror():
for spec in specs:
fetcher = spec.package.fetcher[0]
- per_package_ref = os.path.join(
- spec.name, '-'.join([spec.name, str(spec.version)]))
- mirror_paths = spack.mirror.mirror_archive_paths(
- fetcher,
- per_package_ref)
- expected_path = os.path.join(
- mirror_root, mirror_paths.storage_path)
+ per_package_ref = os.path.join(spec.name, "-".join([spec.name, str(spec.version)]))
+ mirror_paths = spack.mirror.mirror_archive_paths(fetcher, per_package_ref)
+ expected_path = os.path.join(mirror_root, mirror_paths.storage_path)
assert os.path.exists(expected_path)
# Now try to fetch each package.
@@ -78,22 +75,20 @@ def check_mirror():
spec = Spec(name).concretized()
pkg = spec.package
- with spack.config.override('config:checksum', False):
+ with spack.config.override("config:checksum", False):
with pkg.stage:
pkg.do_stage(mirror_only=True)
# Compare the original repo with the expanded archive
original_path = mock_repo.path
- if 'svn' in name:
+ if "svn" in name:
# have to check out the svn repo to compare.
- original_path = os.path.join(
- mock_repo.path, 'checked_out')
+ original_path = os.path.join(mock_repo.path, "checked_out")
- svn = which('svn', required=True)
- svn('checkout', mock_repo.url, original_path)
+ svn = which("svn", required=True)
+ svn("checkout", mock_repo.url, original_path)
- dcmp = filecmp.dircmp(
- original_path, pkg.stage.source_path)
+ dcmp = filecmp.dircmp(original_path, pkg.stage.source_path)
# make sure there are no new files in the expanded
# tarball
@@ -103,49 +98,44 @@ def check_mirror():
def test_url_mirror(mock_archive):
- set_up_package('trivial-install-test-package', mock_archive, 'url')
+ set_up_package("trivial-install-test-package", mock_archive, "url")
check_mirror()
repos.clear()
-@pytest.mark.skipif(
- not which('git'), reason='requires git to be installed')
+@pytest.mark.skipif(not which("git"), reason="requires git to be installed")
def test_git_mirror(mock_git_repository):
- set_up_package('git-test', mock_git_repository, 'git')
+ set_up_package("git-test", mock_git_repository, "git")
check_mirror()
repos.clear()
@pytest.mark.skipif(
- not which('svn') or not which('svnadmin'),
- reason='requires subversion to be installed')
+ not which("svn") or not which("svnadmin"), reason="requires subversion to be installed"
+)
def test_svn_mirror(mock_svn_repository):
- set_up_package('svn-test', mock_svn_repository, 'svn')
+ set_up_package("svn-test", mock_svn_repository, "svn")
check_mirror()
repos.clear()
-@pytest.mark.skipif(
- not which('hg'), reason='requires mercurial to be installed')
+@pytest.mark.skipif(not which("hg"), reason="requires mercurial to be installed")
def test_hg_mirror(mock_hg_repository):
- set_up_package('hg-test', mock_hg_repository, 'hg')
+ set_up_package("hg-test", mock_hg_repository, "hg")
check_mirror()
repos.clear()
@pytest.mark.skipif(
- not all([which('svn'), which('hg'), which('git')]),
- reason='requires subversion, git, and mercurial to be installed')
-def test_all_mirror(
- mock_git_repository,
- mock_svn_repository,
- mock_hg_repository,
- mock_archive):
-
- set_up_package('git-test', mock_git_repository, 'git')
- set_up_package('svn-test', mock_svn_repository, 'svn')
- set_up_package('hg-test', mock_hg_repository, 'hg')
- set_up_package('trivial-install-test-package', mock_archive, 'url')
+ not all([which("svn"), which("hg"), which("git")]),
+ reason="requires subversion, git, and mercurial to be installed",
+)
+def test_all_mirror(mock_git_repository, mock_svn_repository, mock_hg_repository, mock_archive):
+
+ set_up_package("git-test", mock_git_repository, "git")
+ set_up_package("svn-test", mock_svn_repository, "svn")
+ set_up_package("hg-test", mock_hg_repository, "hg")
+ set_up_package("trivial-install-test-package", mock_archive, "url")
check_mirror()
repos.clear()
@@ -154,8 +144,8 @@ def test_all_mirror(
"mirror",
[
spack.mirror.Mirror(
- 'https://example.com/fetch',
- 'https://example.com/push',
+ "https://example.com/fetch",
+ "https://example.com/push",
),
],
)
@@ -167,10 +157,7 @@ def test_roundtrip_mirror(mirror):
@pytest.mark.parametrize(
- "invalid_yaml",
- [
- "playing_playlist: {{ action }} playlist {{ playlist_name }}"
- ]
+ "invalid_yaml", ["playing_playlist: {{ action }} playlist {{ playlist_name }}"]
)
def test_invalid_yaml_mirror(invalid_yaml):
with pytest.raises(SpackYAMLError) as e:
@@ -180,12 +167,7 @@ def test_invalid_yaml_mirror(invalid_yaml):
assert invalid_yaml in exc_msg
-@pytest.mark.parametrize(
- "invalid_json, error_message",
- [
- ("{13:", "Expecting property name")
- ]
-)
+@pytest.mark.parametrize("invalid_json, error_message", [("{13:", "Expecting property name")])
def test_invalid_json_mirror(invalid_json, error_message):
with pytest.raises(sjson.SpackJSONError) as e:
spack.mirror.Mirror.from_json(invalid_json)
@@ -199,9 +181,9 @@ def test_invalid_json_mirror(invalid_json, error_message):
[
spack.mirror.MirrorCollection(
mirrors={
- 'example-mirror': spack.mirror.Mirror(
- 'https://example.com/fetch',
- 'https://example.com/push',
+ "example-mirror": spack.mirror.Mirror(
+ "https://example.com/fetch",
+ "https://example.com/push",
).to_dict(),
},
),
@@ -209,18 +191,13 @@ def test_invalid_json_mirror(invalid_json, error_message):
)
def test_roundtrip_mirror_collection(mirror_collection):
mirror_collection_yaml = mirror_collection.to_yaml()
- assert (spack.mirror.MirrorCollection.from_yaml(mirror_collection_yaml) ==
- mirror_collection)
+ assert spack.mirror.MirrorCollection.from_yaml(mirror_collection_yaml) == mirror_collection
mirror_collection_json = mirror_collection.to_json()
- assert (spack.mirror.MirrorCollection.from_json(mirror_collection_json) ==
- mirror_collection)
+ assert spack.mirror.MirrorCollection.from_json(mirror_collection_json) == mirror_collection
@pytest.mark.parametrize(
- "invalid_yaml",
- [
- "playing_playlist: {{ action }} playlist {{ playlist_name }}"
- ]
+ "invalid_yaml", ["playing_playlist: {{ action }} playlist {{ playlist_name }}"]
)
def test_invalid_yaml_mirror_collection(invalid_yaml):
with pytest.raises(SpackYAMLError) as e:
@@ -230,12 +207,7 @@ def test_invalid_yaml_mirror_collection(invalid_yaml):
assert invalid_yaml in exc_msg
-@pytest.mark.parametrize(
- "invalid_json, error_message",
- [
- ("{13:", "Expecting property name")
- ]
-)
+@pytest.mark.parametrize("invalid_json, error_message", [("{13:", "Expecting property name")])
def test_invalid_json_mirror_collection(invalid_json, error_message):
with pytest.raises(sjson.SpackJSONError) as e:
spack.mirror.MirrorCollection.from_json(invalid_json)
@@ -245,13 +217,13 @@ def test_invalid_json_mirror_collection(invalid_json, error_message):
def test_mirror_archive_paths_no_version(mock_packages, config, mock_archive):
- spec = Spec('trivial-install-test-package@nonexistingversion').concretized()
+ spec = Spec("trivial-install-test-package@nonexistingversion").concretized()
fetcher = spack.fetch_strategy.URLFetchStrategy(mock_archive.url)
- spack.mirror.mirror_archive_paths(fetcher, 'per-package-ref', spec)
+ spack.mirror.mirror_archive_paths(fetcher, "per-package-ref", spec)
def test_mirror_with_url_patches(mock_packages, config, monkeypatch):
- spec = Spec('patch-several-dependencies')
+ spec = Spec("patch-several-dependencies")
spec.concretize()
files_cached_in_mirror = set()
@@ -260,55 +232,58 @@ def test_mirror_with_url_patches(mock_packages, config, monkeypatch):
files_cached_in_mirror.add(os.path.basename(relative_dst))
def successful_fetch(_class):
- with open(_class.stage.save_filename, 'w'):
+ with open(_class.stage.save_filename, "w"):
pass
def successful_expand(_class):
- expanded_path = os.path.join(_class.stage.path,
- spack.stage._source_path_subdir)
+ expanded_path = os.path.join(_class.stage.path, spack.stage._source_path_subdir)
os.mkdir(expanded_path)
- with open(os.path.join(expanded_path, 'test.patch'), 'w'):
+ with open(os.path.join(expanded_path, "test.patch"), "w"):
pass
def successful_apply(*args, **kwargs):
pass
- with Stage('spack-mirror-test') as stage:
- mirror_root = os.path.join(stage.path, 'test-mirror')
+ with Stage("spack-mirror-test") as stage:
+ mirror_root = os.path.join(stage.path, "test-mirror")
- monkeypatch.setattr(spack.fetch_strategy.URLFetchStrategy, 'fetch',
- successful_fetch)
- monkeypatch.setattr(spack.fetch_strategy.URLFetchStrategy,
- 'expand', successful_expand)
- monkeypatch.setattr(spack.patch, 'apply_patch', successful_apply)
- monkeypatch.setattr(spack.caches.MirrorCache, 'store', record_store)
+ monkeypatch.setattr(spack.fetch_strategy.URLFetchStrategy, "fetch", successful_fetch)
+ monkeypatch.setattr(spack.fetch_strategy.URLFetchStrategy, "expand", successful_expand)
+ monkeypatch.setattr(spack.patch, "apply_patch", successful_apply)
+ monkeypatch.setattr(spack.caches.MirrorCache, "store", record_store)
- with spack.config.override('config:checksum', False):
+ with spack.config.override("config:checksum", False):
spack.mirror.create(mirror_root, list(spec.traverse()))
- assert not (set([
- 'abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- 'abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd.gz',
- ]) - files_cached_in_mirror)
+ assert not (
+ set(
+ [
+ "abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd.gz",
+ ]
+ )
+ - files_cached_in_mirror
+ )
class MockFetcher(object):
"""Mock fetcher object which implements the necessary functionality for
- testing MirrorCache
+ testing MirrorCache
"""
+
@staticmethod
def archive(dst):
- with open(dst, 'w'):
+ with open(dst, "w"):
pass
-@pytest.mark.regression('14067')
+@pytest.mark.regression("14067")
def test_mirror_cache_symlinks(tmpdir):
"""Confirm that the cosmetic symlink created in the mirror cache (which may
- be relative) targets the storage path correctly.
+ be relative) targets the storage path correctly.
"""
- cosmetic_path = 'zlib/zlib-1.2.11.tar.gz'
- global_path = '_source-cache/archive/c3/c3e5.tar.gz'
+ cosmetic_path = "zlib/zlib-1.2.11.tar.gz"
+ global_path = "_source-cache/archive/c3/c3e5.tar.gz"
cache = spack.caches.MirrorCache(str(tmpdir), False)
reference = spack.mirror.MirrorReference(cosmetic_path, global_path)
@@ -316,17 +291,20 @@ def test_mirror_cache_symlinks(tmpdir):
cache.symlink(reference)
link_target = resolve_link_target_relative_to_the_link(
- os.path.join(cache.root, reference.cosmetic_path))
+ os.path.join(cache.root, reference.cosmetic_path)
+ )
assert os.path.exists(link_target)
- assert (os.path.normpath(link_target) ==
- os.path.join(cache.root, reference.storage_path))
+ assert os.path.normpath(link_target) == os.path.join(cache.root, reference.storage_path)
-@pytest.mark.regression('31627')
-@pytest.mark.parametrize('specs,expected_specs', [
- (['a'], ['a@1.0', 'a@2.0']),
- (['a', 'brillig'], ['a@1.0', 'a@2.0', 'brillig@1.0.0', 'brillig@2.0.0']),
-])
+@pytest.mark.regression("31627")
+@pytest.mark.parametrize(
+ "specs,expected_specs",
+ [
+ (["a"], ["a@1.0", "a@2.0"]),
+ (["a", "brillig"], ["a@1.0", "a@2.0", "brillig@1.0.0", "brillig@2.0.0"]),
+ ],
+)
def test_get_all_versions(specs, expected_specs):
specs = [Spec(s) for s in specs]
output_list = spack.mirror.get_all_versions(specs)
diff --git a/lib/spack/spack/test/module_parsing.py b/lib/spack/spack/test/module_parsing.py
index 2a19d39033..1fd617376d 100644
--- a/lib/spack/spack/test/module_parsing.py
+++ b/lib/spack/spack/test/module_parsing.py
@@ -17,48 +17,51 @@ from spack.util.module_cmd import (
path_from_modules,
)
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Tests fail on Windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="Tests fail on Windows")
-test_module_lines = ['prepend-path LD_LIBRARY_PATH /path/to/lib',
- 'setenv MOD_DIR /path/to',
- 'setenv LDFLAGS -Wl,-rpath/path/to/lib',
- 'setenv LDFLAGS -L/path/to/lib',
- 'prepend-path PATH /path/to/bin']
+test_module_lines = [
+ "prepend-path LD_LIBRARY_PATH /path/to/lib",
+ "setenv MOD_DIR /path/to",
+ "setenv LDFLAGS -Wl,-rpath/path/to/lib",
+ "setenv LDFLAGS -L/path/to/lib",
+ "prepend-path PATH /path/to/bin",
+]
def test_module_function_change_env(tmpdir, working_env):
- src_file = str(tmpdir.join('src_me'))
- with open(src_file, 'w') as f:
- f.write('export TEST_MODULE_ENV_VAR=TEST_SUCCESS\n')
+ src_file = str(tmpdir.join("src_me"))
+ with open(src_file, "w") as f:
+ f.write("export TEST_MODULE_ENV_VAR=TEST_SUCCESS\n")
- os.environ['NOT_AFFECTED'] = "NOT_AFFECTED"
- module('load', src_file, module_template='. {0} 2>&1'.format(src_file))
+ os.environ["NOT_AFFECTED"] = "NOT_AFFECTED"
+ module("load", src_file, module_template=". {0} 2>&1".format(src_file))
- assert os.environ['TEST_MODULE_ENV_VAR'] == 'TEST_SUCCESS'
- assert os.environ['NOT_AFFECTED'] == "NOT_AFFECTED"
+ assert os.environ["TEST_MODULE_ENV_VAR"] == "TEST_SUCCESS"
+ assert os.environ["NOT_AFFECTED"] == "NOT_AFFECTED"
def test_module_function_no_change(tmpdir):
- src_file = str(tmpdir.join('src_me'))
- with open(src_file, 'w') as f:
- f.write('echo TEST_MODULE_FUNCTION_PRINT')
+ src_file = str(tmpdir.join("src_me"))
+ with open(src_file, "w") as f:
+ f.write("echo TEST_MODULE_FUNCTION_PRINT")
old_env = os.environ.copy()
- text = module('show', src_file, module_template='. {0} 2>&1'.format(src_file))
+ text = module("show", src_file, module_template=". {0} 2>&1".format(src_file))
- assert text == 'TEST_MODULE_FUNCTION_PRINT\n'
+ assert text == "TEST_MODULE_FUNCTION_PRINT\n"
assert os.environ == old_env
def test_get_path_from_module_faked(monkeypatch):
for line in test_module_lines:
+
def fake_module(*args):
return line
- monkeypatch.setattr(spack.util.module_cmd, 'module', fake_module)
- path = path_from_modules(['mod'])
- assert path == '/path/to'
+ monkeypatch.setattr(spack.util.module_cmd, "module", fake_module)
+
+ path = path_from_modules(["mod"])
+ assert path == "/path/to"
def test_get_path_from_module_contents():
@@ -80,48 +83,50 @@ prepend_path("PATH","/path/to/cmake-3.9.2/bin:/other/bad/path")
prepend_path("MANPATH","/path/to/cmake/cmake-3.9.2/share/man")
prepend_path("LD_LIBRARY_PATH","/path/to/cmake-3.9.2/lib64")
"""
- module_show_lines = module_show_output.split('\n')
+ module_show_lines = module_show_output.split("\n")
# PATH and LD_LIBRARY_PATH outvote MANPATH and the other PATH and
# LD_LIBRARY_PATH entries
- assert (get_path_from_module_contents(module_show_lines, 'cmake-3.9.2') ==
- '/path/to/cmake-3.9.2')
+ assert (
+ get_path_from_module_contents(module_show_lines, "cmake-3.9.2") == "/path/to/cmake-3.9.2"
+ )
def test_get_path_from_empty_module():
- assert get_path_from_module_contents('', 'test') is None
+ assert get_path_from_module_contents("", "test") is None
def test_pkg_dir_from_module_name():
- module_show_lines = ['setenv FOO_BAR_DIR /path/to/foo-bar']
+ module_show_lines = ["setenv FOO_BAR_DIR /path/to/foo-bar"]
- assert (get_path_from_module_contents(module_show_lines, 'foo-bar') ==
- '/path/to/foo-bar')
+ assert get_path_from_module_contents(module_show_lines, "foo-bar") == "/path/to/foo-bar"
- assert (get_path_from_module_contents(module_show_lines, 'foo-bar/1.0') ==
- '/path/to/foo-bar')
+ assert get_path_from_module_contents(module_show_lines, "foo-bar/1.0") == "/path/to/foo-bar"
def test_get_argument_from_module_line():
- simple_lines = ['prepend-path LD_LIBRARY_PATH /lib/path',
- 'prepend-path LD_LIBRARY_PATH /lib/path',
- "prepend_path('PATH' , '/lib/path')",
- 'prepend_path( "PATH" , "/lib/path" )',
- 'prepend_path("PATH",' + "'/lib/path')"]
-
- complex_lines = ['prepend-path LD_LIBRARY_PATH /lib/path:/pkg/path',
- 'prepend-path LD_LIBRARY_PATH /lib/path:/pkg/path',
- "prepend_path('PATH' , '/lib/path:/pkg/path')",
- 'prepend_path( "PATH" , "/lib/path:/pkg/path" )',
- 'prepend_path("PATH",' + "'/lib/path:/pkg/path')"]
-
- bad_lines = ['prepend_path(PATH,/lib/path)',
- 'prepend-path (LD_LIBRARY_PATH) /lib/path']
-
- assert all(get_path_args_from_module_line(x) == ['/lib/path']
- for x in simple_lines)
- assert all(get_path_args_from_module_line(x) == ['/lib/path', '/pkg/path']
- for x in complex_lines)
+ simple_lines = [
+ "prepend-path LD_LIBRARY_PATH /lib/path",
+ "prepend-path LD_LIBRARY_PATH /lib/path",
+ "prepend_path('PATH' , '/lib/path')",
+ 'prepend_path( "PATH" , "/lib/path" )',
+ 'prepend_path("PATH",' + "'/lib/path')",
+ ]
+
+ complex_lines = [
+ "prepend-path LD_LIBRARY_PATH /lib/path:/pkg/path",
+ "prepend-path LD_LIBRARY_PATH /lib/path:/pkg/path",
+ "prepend_path('PATH' , '/lib/path:/pkg/path')",
+ 'prepend_path( "PATH" , "/lib/path:/pkg/path" )',
+ 'prepend_path("PATH",' + "'/lib/path:/pkg/path')",
+ ]
+
+ bad_lines = ["prepend_path(PATH,/lib/path)", "prepend-path (LD_LIBRARY_PATH) /lib/path"]
+
+ assert all(get_path_args_from_module_line(x) == ["/lib/path"] for x in simple_lines)
+ assert all(
+ get_path_args_from_module_line(x) == ["/lib/path", "/pkg/path"] for x in complex_lines
+ )
for bl in bad_lines:
with pytest.raises(ValueError):
get_path_args_from_module_line(bl)
@@ -130,5 +135,5 @@ def test_get_argument_from_module_line():
# lmod is entirely unsupported on Windows
def test_lmod_quote_parsing():
lines = ['setenv("SOME_PARTICULAR_DIR","-L/opt/cray/pe/mpich/8.1.4/gtl/lib")']
- result = get_path_from_module_contents(lines, 'some-module')
- assert '/opt/cray/pe/mpich/8.1.4/gtl' == result
+ result = get_path_from_module_contents(lines, "some-module")
+ assert "/opt/cray/pe/mpich/8.1.4/gtl" == result
diff --git a/lib/spack/spack/test/modules/common.py b/lib/spack/spack/test/modules/common.py
index 9ecde33aa5..47c06e8233 100644
--- a/lib/spack/spack/test/modules/common.py
+++ b/lib/spack/spack/test/modules/common.py
@@ -17,44 +17,33 @@ import spack.util.spack_yaml as syaml
from spack.modules.common import UpstreamModuleIndex
from spack.spec import Spec
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def test_update_dictionary_extending_list():
- target = {
- 'foo': {
- 'a': 1,
- 'b': 2,
- 'd': 4
- },
- 'bar': [1, 2, 4],
- 'baz': 'foobar'
- }
+ target = {"foo": {"a": 1, "b": 2, "d": 4}, "bar": [1, 2, 4], "baz": "foobar"}
update = {
- 'foo': {
- 'c': 3,
+ "foo": {
+ "c": 3,
},
- 'bar': [3],
- 'baz': 'foobaz',
- 'newkey': {
- 'd': 4
- }
+ "bar": [3],
+ "baz": "foobaz",
+ "newkey": {"d": 4},
}
spack.modules.common.update_dictionary_extending_lists(target, update)
assert len(target) == 4
- assert len(target['foo']) == 4
- assert len(target['bar']) == 4
- assert target['baz'] == 'foobaz'
+ assert len(target["foo"]) == 4
+ assert len(target["bar"]) == 4
+ assert target["baz"] == "foobaz"
@pytest.fixture()
def mock_module_defaults(monkeypatch):
def impl(*args):
# No need to patch both types because neither override base
- monkeypatch.setattr(spack.modules.common.BaseConfiguration,
- 'defaults',
- [arg for arg in args])
+ monkeypatch.setattr(
+ spack.modules.common.BaseConfiguration, "defaults", [arg for arg in args]
+ )
return impl
@@ -62,39 +51,36 @@ def mock_module_defaults(monkeypatch):
@pytest.fixture()
def mock_package_perms(monkeypatch):
perms = stat.S_IRGRP | stat.S_IWGRP
- monkeypatch.setattr(spack.package_prefs,
- 'get_package_permissions',
- lambda spec: perms)
+ monkeypatch.setattr(spack.package_prefs, "get_package_permissions", lambda spec: perms)
yield perms
-def test_modules_written_with_proper_permissions(mock_module_filename,
- mock_package_perms,
- mock_packages, config):
- spec = spack.spec.Spec('mpileaks').concretized()
+def test_modules_written_with_proper_permissions(
+ mock_module_filename, mock_package_perms, mock_packages, config
+):
+ spec = spack.spec.Spec("mpileaks").concretized()
# The code tested is common to all module types, but has to be tested from
# one. TCL picked at random
- generator = spack.modules.tcl.TclModulefileWriter(spec, 'default')
+ generator = spack.modules.tcl.TclModulefileWriter(spec, "default")
generator.write()
- assert mock_package_perms & os.stat(
- mock_module_filename).st_mode == mock_package_perms
+ assert mock_package_perms & os.stat(mock_module_filename).st_mode == mock_package_perms
-@pytest.mark.parametrize('module_type', ['tcl', 'lmod'])
+@pytest.mark.parametrize("module_type", ["tcl", "lmod"])
def test_modules_default_symlink(
- module_type, mock_packages, mock_module_filename, mock_module_defaults, config
+ module_type, mock_packages, mock_module_filename, mock_module_defaults, config
):
- spec = spack.spec.Spec('mpileaks@2.3').concretized()
- mock_module_defaults(spec.format('{name}{@version}'))
+ spec = spack.spec.Spec("mpileaks@2.3").concretized()
+ mock_module_defaults(spec.format("{name}{@version}"))
generator_cls = spack.modules.module_types[module_type]
- generator = generator_cls(spec, 'default')
+ generator = generator_cls(spec, "default")
generator.write()
- link_path = os.path.join(os.path.dirname(mock_module_filename), 'default')
+ link_path = os.path.join(os.path.dirname(mock_module_filename), "default")
assert os.path.islink(link_path)
assert os.readlink(link_path) == mock_module_filename
@@ -117,82 +103,63 @@ class MockSpec(object):
def test_upstream_module_index():
- s1 = MockSpec('spec-1')
- s2 = MockSpec('spec-2')
- s3 = MockSpec('spec-3')
- s4 = MockSpec('spec-4')
+ s1 = MockSpec("spec-1")
+ s2 = MockSpec("spec-2")
+ s3 = MockSpec("spec-3")
+ s4 = MockSpec("spec-4")
tcl_module_index = """\
module_index:
{0}:
path: /path/to/a
use_name: a
-""".format(s1.dag_hash())
-
- module_indices = [
- {
- 'tcl': spack.modules.common._read_module_index(tcl_module_index)
- },
- {}
- ]
-
- dbs = [
- 'd0',
- 'd1'
- ]
-
- mock_db = MockDb(
- dbs,
- {
- s1.dag_hash(): 'd0',
- s2.dag_hash(): 'd1',
- s3.dag_hash(): 'd0'
- }
+""".format(
+ s1.dag_hash()
)
+
+ module_indices = [{"tcl": spack.modules.common._read_module_index(tcl_module_index)}, {}]
+
+ dbs = ["d0", "d1"]
+
+ mock_db = MockDb(dbs, {s1.dag_hash(): "d0", s2.dag_hash(): "d1", s3.dag_hash(): "d0"})
upstream_index = UpstreamModuleIndex(mock_db, module_indices)
- m1 = upstream_index.upstream_module(s1, 'tcl')
- assert m1.path == '/path/to/a'
+ m1 = upstream_index.upstream_module(s1, "tcl")
+ assert m1.path == "/path/to/a"
# No modules are defined for the DB associated with s2
- assert not upstream_index.upstream_module(s2, 'tcl')
+ assert not upstream_index.upstream_module(s2, "tcl")
# Modules are defined for the index associated with s1, but none are
# defined for the requested type
- assert not upstream_index.upstream_module(s1, 'lmod')
+ assert not upstream_index.upstream_module(s1, "lmod")
# A module is registered with a DB and the associated module index has
# modules of the specified type defined, but not for the requested spec
- assert not upstream_index.upstream_module(s3, 'tcl')
+ assert not upstream_index.upstream_module(s3, "tcl")
# The spec isn't recorded as installed in any of the DBs
with pytest.raises(spack.error.SpackError):
- upstream_index.upstream_module(s4, 'tcl')
+ upstream_index.upstream_module(s4, "tcl")
def test_get_module_upstream():
- s1 = MockSpec('spec-1')
+ s1 = MockSpec("spec-1")
tcl_module_index = """\
module_index:
{0}:
path: /path/to/a
use_name: a
-""".format(s1.dag_hash())
+""".format(
+ s1.dag_hash()
+ )
- module_indices = [
- {},
- {
- 'tcl': spack.modules.common._read_module_index(tcl_module_index)
- }
- ]
+ module_indices = [{}, {"tcl": spack.modules.common._read_module_index(tcl_module_index)}]
- dbs = ['d0', 'd1']
+ dbs = ["d0", "d1"]
- mock_db = MockDb(
- dbs,
- {s1.dag_hash(): 'd1'}
- )
+ mock_db = MockDb(dbs, {s1.dag_hash(): "d1"})
upstream_index = UpstreamModuleIndex(mock_db, module_indices)
setattr(s1, "installed_upstream", True)
@@ -200,48 +167,46 @@ module_index:
old_index = spack.modules.common.upstream_module_index
spack.modules.common.upstream_module_index = upstream_index
- m1_path = spack.modules.common.get_module('tcl', s1, True)
- assert m1_path == '/path/to/a'
+ m1_path = spack.modules.common.get_module("tcl", s1, True)
+ assert m1_path == "/path/to/a"
finally:
spack.modules.common.upstream_module_index = old_index
-@pytest.mark.regression('14347')
-def test_load_installed_package_not_in_repo(
- install_mockery, mock_fetch, monkeypatch
-):
+@pytest.mark.regression("14347")
+def test_load_installed_package_not_in_repo(install_mockery, mock_fetch, monkeypatch):
"""Test that installed packages that have been removed are still loadable"""
- spec = Spec('trivial-install-test-package').concretized()
+ spec = Spec("trivial-install-test-package").concretized()
spec.package.do_install()
def find_nothing(*args):
- raise spack.repo.UnknownPackageError(
- 'Repo package access is disabled for test')
+ raise spack.repo.UnknownPackageError("Repo package access is disabled for test")
# Mock deletion of the package
spec._package = None
- monkeypatch.setattr(spack.repo.path, 'get', find_nothing)
+ monkeypatch.setattr(spack.repo.path, "get", find_nothing)
with pytest.raises(spack.repo.UnknownPackageError):
spec.package
- module_path = spack.modules.common.get_module('tcl', spec, True)
+ module_path = spack.modules.common.get_module("tcl", spec, True)
assert module_path
spack.package_base.PackageBase.uninstall_by_spec(spec)
# DEPRECATED: remove blacklist in v0.20
-@pytest.mark.parametrize("module_type, old_config,new_config", [
- ("tcl", "blacklist.yaml", "exclude.yaml"),
- ("tcl", "blacklist_implicits.yaml", "exclude_implicits.yaml"),
- ("tcl", "blacklist_environment.yaml", "alter_environment.yaml"),
- ("lmod", "blacklist.yaml", "exclude.yaml"),
- ("lmod", "blacklist_environment.yaml", "alter_environment.yaml"),
-])
+@pytest.mark.parametrize(
+ "module_type, old_config,new_config",
+ [
+ ("tcl", "blacklist.yaml", "exclude.yaml"),
+ ("tcl", "blacklist_implicits.yaml", "exclude_implicits.yaml"),
+ ("tcl", "blacklist_environment.yaml", "alter_environment.yaml"),
+ ("lmod", "blacklist.yaml", "exclude.yaml"),
+ ("lmod", "blacklist_environment.yaml", "alter_environment.yaml"),
+ ],
+)
def test_exclude_include_update(module_type, old_config, new_config):
- module_test_data_root = os.path.join(
- spack.paths.test_path, 'data', 'modules', module_type
- )
+ module_test_data_root = os.path.join(spack.paths.test_path, "data", "modules", module_type)
with open(os.path.join(module_test_data_root, old_config)) as f:
old_yaml = syaml.load(f)
with open(os.path.join(module_test_data_root, new_config)) as f:
diff --git a/lib/spack/spack/test/modules/conftest.py b/lib/spack/spack/test/modules/conftest.py
index 61fe4add0a..388c85d247 100644
--- a/lib/spack/spack/test/modules/conftest.py
+++ b/lib/spack/spack/test/modules/conftest.py
@@ -17,9 +17,9 @@ def modulefile_content(request):
as a list of lines.
"""
- writer_cls = getattr(request.module, 'writer_cls')
+ writer_cls = getattr(request.module, "writer_cls")
- def _impl(spec_str, module_set_name='default'):
+ def _impl(spec_str, module_set_name="default"):
# Write the module file
spec = spack.spec.Spec(spec_str)
spec.concretize()
@@ -32,7 +32,7 @@ def modulefile_content(request):
# Retrieve the content
with open(filename) as f:
content = f.readlines()
- content = ''.join(content).split('\n')
+ content = "".join(content).split("\n")
generator.remove()
return content
@@ -42,9 +42,9 @@ def modulefile_content(request):
@pytest.fixture()
def update_template_dirs(config, monkeypatch):
"""Mocks the template directories for tests"""
- dirs = spack.config.get_config('config')['template_dirs']
+ dirs = spack.config.get_config("config")["template_dirs"]
dirs = [spack.util.path.canonicalize_path(x) for x in dirs]
- monkeypatch.setattr(spack, 'template_dirs', dirs)
+ monkeypatch.setattr(spack, "template_dirs", dirs)
@pytest.fixture()
@@ -54,9 +54,9 @@ def factory(request):
"""
# Class of the module file writer
- writer_cls = getattr(request.module, 'writer_cls')
+ writer_cls = getattr(request.module, "writer_cls")
- def _mock(spec_string, module_set_name='default'):
+ def _mock(spec_string, module_set_name="default"):
spec = spack.spec.Spec(spec_string)
spec.concretize()
return writer_cls(spec, module_set_name), spec
@@ -66,13 +66,9 @@ def factory(request):
@pytest.fixture()
def mock_module_filename(monkeypatch, tmpdir):
- filename = str(tmpdir.join('module'))
+ filename = str(tmpdir.join("module"))
# Set for both module types so we can test both
- monkeypatch.setattr(spack.modules.lmod.LmodFileLayout,
- 'filename',
- filename)
- monkeypatch.setattr(spack.modules.tcl.TclFileLayout,
- 'filename',
- filename)
+ monkeypatch.setattr(spack.modules.lmod.LmodFileLayout, "filename", filename)
+ monkeypatch.setattr(spack.modules.tcl.TclFileLayout, "filename", filename)
yield filename
diff --git a/lib/spack/spack/test/modules/lmod.py b/lib/spack/spack/test/modules/lmod.py
index 66dc8f90de..58c013ef86 100644
--- a/lib/spack/spack/test/modules/lmod.py
+++ b/lib/spack/spack/test/modules/lmod.py
@@ -12,47 +12,45 @@ import spack.main
import spack.modules.lmod
import spack.spec
-mpich_spec_string = 'mpich@3.0.4'
-mpileaks_spec_string = 'mpileaks'
-libdwarf_spec_string = 'libdwarf arch=x64-linux'
+mpich_spec_string = "mpich@3.0.4"
+mpileaks_spec_string = "mpileaks"
+libdwarf_spec_string = "libdwarf arch=x64-linux"
-install = spack.main.SpackCommand('install')
+install = spack.main.SpackCommand("install")
#: Class of the writer tested in this module
writer_cls = spack.modules.lmod.LmodModulefileWriter
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.fixture(params=[
- 'clang@3.3',
- 'gcc@4.5.0'
-])
+@pytest.fixture(params=["clang@3.3", "gcc@4.5.0"])
def compiler(request):
return request.param
-@pytest.fixture(params=[
- ('mpich@3.0.4', ('mpi',)),
- ('mpich@3.0.1', []),
- ('openblas@0.2.15', ('blas',)),
- ('openblas-with-lapack@0.2.15', ('blas', 'lapack'))
-])
+@pytest.fixture(
+ params=[
+ ("mpich@3.0.4", ("mpi",)),
+ ("mpich@3.0.1", []),
+ ("openblas@0.2.15", ("blas",)),
+ ("openblas-with-lapack@0.2.15", ("blas", "lapack")),
+ ]
+)
def provider(request):
return request.param
-@pytest.mark.usefixtures('config', 'mock_packages',)
+@pytest.mark.usefixtures(
+ "config",
+ "mock_packages",
+)
class TestLmod(object):
-
- def test_file_layout(
- self, compiler, provider, factory, module_configuration
- ):
+ def test_file_layout(self, compiler, provider, factory, module_configuration):
"""Tests the layout of files in the hierarchy is the one expected."""
- module_configuration('complex_hierarchy')
+ module_configuration("complex_hierarchy")
spec_string, services = provider
- module, spec = factory(spec_string + '%' + compiler)
+ module, spec = factory(spec_string + "%" + compiler)
layout = module.layout
@@ -64,21 +62,21 @@ class TestLmod(object):
# is transformed to r"Core" if the compiler is listed among core
# compilers
# Check that specs listed as core_specs are transformed to "Core"
- if compiler == 'clang@3.3' or spec_string == 'mpich@3.0.1':
- assert 'Core' in layout.available_path_parts
+ if compiler == "clang@3.3" or spec_string == "mpich@3.0.1":
+ assert "Core" in layout.available_path_parts
else:
- assert compiler.replace('@', '/') in layout.available_path_parts
+ assert compiler.replace("@", "/") in layout.available_path_parts
# Check that the provider part instead has always an hash even if
# hash has been disallowed in the configuration file
path_parts = layout.available_path_parts
- service_part = spec_string.replace('@', '/')
- service_part = '-'.join([service_part, layout.spec.dag_hash(length=7)])
+ service_part = spec_string.replace("@", "/")
+ service_part = "-".join([service_part, layout.spec.dag_hash(length=7)])
assert service_part in path_parts
# Check that multi-providers have repetitions in path parts
repetitions = len([x for x in path_parts if service_part == x])
- if spec_string == 'openblas-with-lapack@0.2.15':
+ if spec_string == "openblas-with-lapack@0.2.15":
assert repetitions == 2
else:
assert repetitions == 1
@@ -86,64 +84,53 @@ class TestLmod(object):
def test_simple_case(self, modulefile_content, module_configuration):
"""Tests the generation of a simple TCL module file."""
- module_configuration('autoload_direct')
+ module_configuration("autoload_direct")
content = modulefile_content(mpich_spec_string)
- assert '-- -*- lua -*-' in content
- assert 'whatis([[Name : mpich]])' in content
- assert 'whatis([[Version : 3.0.4]])' in content
+ assert "-- -*- lua -*-" in content
+ assert "whatis([[Name : mpich]])" in content
+ assert "whatis([[Version : 3.0.4]])" in content
assert 'family("mpi")' in content
def test_autoload_direct(self, modulefile_content, module_configuration):
"""Tests the automatic loading of direct dependencies."""
- module_configuration('autoload_direct')
+ module_configuration("autoload_direct")
content = modulefile_content(mpileaks_spec_string)
- assert len([x for x in content if 'depends_on(' in x]) == 2
+ assert len([x for x in content if "depends_on(" in x]) == 2
def test_autoload_all(self, modulefile_content, module_configuration):
"""Tests the automatic loading of all dependencies."""
- module_configuration('autoload_all')
+ module_configuration("autoload_all")
content = modulefile_content(mpileaks_spec_string)
- assert len([x for x in content if 'depends_on(' in x]) == 5
+ assert len([x for x in content if "depends_on(" in x]) == 5
# DEPRECATED: remove blacklist in v0.20
- @pytest.mark.parametrize(
- "config_name", ["alter_environment", "blacklist_environment"]
- )
- def test_alter_environment(
- self, modulefile_content, module_configuration, config_name
- ):
+ @pytest.mark.parametrize("config_name", ["alter_environment", "blacklist_environment"])
+ def test_alter_environment(self, modulefile_content, module_configuration, config_name):
"""Tests modifications to run-time environment."""
module_configuration(config_name)
- content = modulefile_content('mpileaks platform=test target=x86_64')
+ content = modulefile_content("mpileaks platform=test target=x86_64")
- assert len(
- [x for x in content if x.startswith('prepend_path("CMAKE_PREFIX_PATH"')]
- ) == 0
+ assert len([x for x in content if x.startswith('prepend_path("CMAKE_PREFIX_PATH"')]) == 0
assert len([x for x in content if 'setenv("FOO", "foo")' in x]) == 1
assert len([x for x in content if 'unsetenv("BAR")' in x]) == 1
- content = modulefile_content(
- 'libdwarf platform=test target=core2'
- )
+ content = modulefile_content("libdwarf platform=test target=core2")
- assert len(
- [x for x in content if x.startswith('prepend-path("CMAKE_PREFIX_PATH"')]
- ) == 0
+ assert len([x for x in content if x.startswith('prepend-path("CMAKE_PREFIX_PATH"')]) == 0
assert len([x for x in content if 'setenv("FOO", "foo")' in x]) == 0
assert len([x for x in content if 'unsetenv("BAR")' in x]) == 0
- def test_prepend_path_separator(self, modulefile_content,
- module_configuration):
+ def test_prepend_path_separator(self, modulefile_content, module_configuration):
"""Tests modifications to run-time environment."""
- module_configuration('module_path_separator')
- content = modulefile_content('module-path-separator')
+ module_configuration("module_path_separator")
+ content = modulefile_content("module-path-separator")
for line in content:
if re.match(r'[a-z]+_path\("COLON"', line):
@@ -158,7 +145,7 @@ class TestLmod(object):
module_configuration(config_name)
content = modulefile_content(mpileaks_spec_string)
- assert len([x for x in content if 'depends_on(' in x]) == 1
+ assert len([x for x in content if "depends_on(" in x]) == 1
def test_no_hash(self, factory, module_configuration):
"""Makes sure that virtual providers (in the hierarchy) always
@@ -166,10 +153,10 @@ class TestLmod(object):
does not include a hash if hash_length is 0.
"""
- module_configuration('no_hash')
+ module_configuration("no_hash")
module, spec = factory(mpileaks_spec_string)
path = module.layout.filename
- mpi_spec = spec['mpi']
+ mpi_spec = spec["mpi"]
mpi_element = "{0}/{1}-{2}/".format(
mpi_spec.name, mpi_spec.version, mpi_spec.dag_hash(length=7)
@@ -178,9 +165,7 @@ class TestLmod(object):
assert mpi_element in path
mpileaks_spec = spec
- mpileaks_element = "{0}/{1}.lua".format(
- mpileaks_spec.name, mpileaks_spec.version
- )
+ mpileaks_element = "{0}/{1}.lua".format(mpileaks_spec.name, mpileaks_spec.version)
assert path.endswith(mpileaks_element)
@@ -190,14 +175,14 @@ class TestLmod(object):
"""
# In this case we miss the entry completely
- module_configuration('missing_core_compilers')
+ module_configuration("missing_core_compilers")
module, spec = factory(mpileaks_spec_string)
with pytest.raises(spack.modules.lmod.CoreCompilersNotFoundError):
module.write()
# Here we have an empty list
- module_configuration('core_compilers_empty')
+ module_configuration("core_compilers_empty")
module, spec = factory(mpileaks_spec_string)
with pytest.raises(spack.modules.lmod.CoreCompilersNotFoundError):
@@ -207,77 +192,71 @@ class TestLmod(object):
"""Ensures that if a non-virtual is in hierarchy, an exception will
be raised.
"""
- module_configuration('non_virtual_in_hierarchy')
+ module_configuration("non_virtual_in_hierarchy")
module, spec = factory(mpileaks_spec_string)
with pytest.raises(spack.modules.lmod.NonVirtualInHierarchyError):
module.write()
- def test_override_template_in_package(
- self, modulefile_content, module_configuration
- ):
+ def test_override_template_in_package(self, modulefile_content, module_configuration):
"""Tests overriding a template from and attribute in the package."""
- module_configuration('autoload_direct')
- content = modulefile_content('override-module-templates')
+ module_configuration("autoload_direct")
+ content = modulefile_content("override-module-templates")
- assert 'Override successful!' in content
+ assert "Override successful!" in content
- def test_override_template_in_modules_yaml(
- self, modulefile_content, module_configuration
- ):
+ def test_override_template_in_modules_yaml(self, modulefile_content, module_configuration):
"""Tests overriding a template from `modules.yaml`"""
- module_configuration('override_template')
+ module_configuration("override_template")
- content = modulefile_content('override-module-templates')
- assert 'Override even better!' in content
+ content = modulefile_content("override-module-templates")
+ assert "Override even better!" in content
- content = modulefile_content('mpileaks target=x86_64')
- assert 'Override even better!' in content
+ content = modulefile_content("mpileaks target=x86_64")
+ assert "Override even better!" in content
- @pytest.mark.usefixtures('config')
- def test_external_configure_args(
- self, factory
- ):
+ @pytest.mark.usefixtures("config")
+ def test_external_configure_args(self, factory):
# If this package is detected as an external, its configure option line
# in the module file starts with 'unknown'
- writer, spec = factory('externaltool')
+ writer, spec = factory("externaltool")
- assert 'unknown' in writer.context.configure_options
+ assert "unknown" in writer.context.configure_options
- def test_guess_core_compilers(
- self, factory, module_configuration, monkeypatch
- ):
+ def test_guess_core_compilers(self, factory, module_configuration, monkeypatch):
"""Check that we can guess core compilers."""
# In this case we miss the entry completely
- module_configuration('missing_core_compilers')
+ module_configuration("missing_core_compilers")
# Our mock paths must be detected as system paths
- monkeypatch.setattr(
- spack.util.environment, 'system_dirs', ['/path/to']
- )
+ monkeypatch.setattr(spack.util.environment, "system_dirs", ["/path/to"])
# We don't want to really write into user configuration
# when running tests
def no_op_set(*args, **kwargs):
pass
- monkeypatch.setattr(spack.config, 'set', no_op_set)
+
+ monkeypatch.setattr(spack.config, "set", no_op_set)
# Assert we have core compilers now
writer, _ = factory(mpileaks_spec_string)
assert writer.conf.core_compilers
- @pytest.mark.parametrize('spec_str', [
- 'mpileaks target=nocona',
- 'mpileaks target=core2',
- 'mpileaks target=x86_64',
- ])
- @pytest.mark.regression('13005')
+ @pytest.mark.parametrize(
+ "spec_str",
+ [
+ "mpileaks target=nocona",
+ "mpileaks target=core2",
+ "mpileaks target=x86_64",
+ ],
+ )
+ @pytest.mark.regression("13005")
def test_only_generic_microarchitectures_in_root(
- self, spec_str, factory, module_configuration
+ self, spec_str, factory, module_configuration
):
- module_configuration('complex_hierarchy')
+ module_configuration("complex_hierarchy")
writer, spec = factory(spec_str)
assert str(spec.target.family) in writer.layout.arch_dirname
@@ -289,17 +268,14 @@ class TestLmod(object):
# This configuration has no error, so check the conflicts directives
# are there
- module_configuration('projections')
+ module_configuration("projections")
# Test we read the expected configuration for the naming scheme
- writer, _ = factory('mpileaks')
- expected = {
- 'all': '{name}/v{version}',
- 'mpileaks': '{name}-mpiprojection'
- }
+ writer, _ = factory("mpileaks")
+ expected = {"all": "{name}/v{version}", "mpileaks": "{name}-mpiprojection"}
assert writer.conf.projections == expected
- projection = writer.spec.format(writer.conf.projections['mpileaks'])
+ projection = writer.spec.format(writer.conf.projections["mpileaks"])
assert projection in writer.layout.use_name
def test_projections_all(self, factory, module_configuration):
@@ -307,30 +283,26 @@ class TestLmod(object):
# This configuration has no error, so check the conflicts directives
# are there
- module_configuration('projections')
+ module_configuration("projections")
# Test we read the expected configuration for the naming scheme
- writer, _ = factory('libelf')
- expected = {
- 'all': '{name}/v{version}',
- 'mpileaks': '{name}-mpiprojection'
- }
+ writer, _ = factory("libelf")
+ expected = {"all": "{name}/v{version}", "mpileaks": "{name}-mpiprojection"}
assert writer.conf.projections == expected
- projection = writer.spec.format(writer.conf.projections['all'])
+ projection = writer.spec.format(writer.conf.projections["all"])
assert projection in writer.layout.use_name
def test_modules_relative_to_view(
- self, tmpdir, modulefile_content, module_configuration, install_mockery,
- mock_fetch
+ 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')
+ module_configuration("with_view")
+ install("cmake")
- spec = spack.spec.Spec('cmake').concretized()
+ spec = spack.spec.Spec("cmake").concretized()
- content = modulefile_content('cmake')
+ content = modulefile_content("cmake")
expected = e.default_view.get_projection_for_spec(spec)
# Rather than parse all lines, ensure all prefixes in the content
# point to the right one
@@ -338,7 +310,7 @@ class TestLmod(object):
assert not any(spec.prefix in line for line in content)
def test_modules_no_arch(self, factory, module_configuration):
- module_configuration('no_arch')
+ module_configuration("no_arch")
module, spec = factory(mpileaks_spec_string)
path = module.layout.filename
diff --git a/lib/spack/spack/test/modules/tcl.py b/lib/spack/spack/test/modules/tcl.py
index 138c12691c..769bcf50a7 100644
--- a/lib/spack/spack/test/modules/tcl.py
+++ b/lib/spack/spack/test/modules/tcl.py
@@ -11,24 +11,22 @@ import spack.modules.common
import spack.modules.tcl
import spack.spec
-mpich_spec_string = 'mpich@3.0.4'
-mpileaks_spec_string = 'mpileaks'
-libdwarf_spec_string = 'libdwarf target=x86_64'
+mpich_spec_string = "mpich@3.0.4"
+mpileaks_spec_string = "mpileaks"
+libdwarf_spec_string = "libdwarf target=x86_64"
#: Class of the writer tested in this module
writer_cls = spack.modules.tcl.TclModulefileWriter
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
-@pytest.mark.usefixtures('config', 'mock_packages', 'mock_module_filename')
+@pytest.mark.usefixtures("config", "mock_packages", "mock_module_filename")
class TestTcl(object):
-
def test_simple_case(self, modulefile_content, module_configuration):
"""Tests the generation of a simple TCL module file."""
- module_configuration('autoload_direct')
+ module_configuration("autoload_direct")
content = modulefile_content(mpich_spec_string)
assert 'module-whatis "mpich @3.0.4"' in content
@@ -36,21 +34,21 @@ class TestTcl(object):
def test_autoload_direct(self, modulefile_content, module_configuration):
"""Tests the automatic loading of direct dependencies."""
- module_configuration('autoload_direct')
+ module_configuration("autoload_direct")
content = modulefile_content(mpileaks_spec_string)
- assert len([x for x in content if 'is-loaded' in x]) == 2
- assert len([x for x in content if 'module load ' in x]) == 2
+ assert len([x for x in content if "is-loaded" in x]) == 2
+ assert len([x for x in content if "module load " in x]) == 2
# dtbuild1 has
# - 1 ('run',) dependency
# - 1 ('build','link') dependency
# - 1 ('build',) dependency
# Just make sure the 'build' dependency is not there
- content = modulefile_content('dtbuild1')
+ content = modulefile_content("dtbuild1")
- assert len([x for x in content if 'is-loaded' in x]) == 2
- assert len([x for x in content if 'module load ' in x]) == 2
+ assert len([x for x in content if "is-loaded" in x]) == 2
+ assert len([x for x in content if "module load " in x]) == 2
# The configuration file sets the verbose keyword to False
messages = [x for x in content if 'puts stderr "Autoloading' in x]
@@ -59,115 +57,97 @@ class TestTcl(object):
def test_autoload_all(self, modulefile_content, module_configuration):
"""Tests the automatic loading of all dependencies."""
- module_configuration('autoload_all')
+ module_configuration("autoload_all")
content = modulefile_content(mpileaks_spec_string)
- assert len([x for x in content if 'is-loaded' in x]) == 5
- assert len([x for x in content if 'module load ' in x]) == 5
+ assert len([x for x in content if "is-loaded" in x]) == 5
+ assert len([x for x in content if "module load " in x]) == 5
# dtbuild1 has
# - 1 ('run',) dependency
# - 1 ('build','link') dependency
# - 1 ('build',) dependency
# Just make sure the 'build' dependency is not there
- content = modulefile_content('dtbuild1')
+ content = modulefile_content("dtbuild1")
- assert len([x for x in content if 'is-loaded' in x]) == 2
- assert len([x for x in content if 'module load ' in x]) == 2
+ assert len([x for x in content if "is-loaded" in x]) == 2
+ assert len([x for x in content if "module load " in x]) == 2
# The configuration file sets the verbose keyword to True
messages = [x for x in content if 'puts stderr "Autoloading' in x]
assert len(messages) == 2
- def test_prerequisites_direct(
- self, modulefile_content, module_configuration
- ):
+ def test_prerequisites_direct(self, modulefile_content, module_configuration):
"""Tests asking direct dependencies as prerequisites."""
- module_configuration('prerequisites_direct')
- content = modulefile_content('mpileaks target=x86_64')
+ module_configuration("prerequisites_direct")
+ content = modulefile_content("mpileaks target=x86_64")
- assert len([x for x in content if 'prereq' in x]) == 2
+ assert len([x for x in content if "prereq" in x]) == 2
def test_prerequisites_all(self, modulefile_content, module_configuration):
"""Tests asking all dependencies as prerequisites."""
- module_configuration('prerequisites_all')
- content = modulefile_content('mpileaks target=x86_64')
+ module_configuration("prerequisites_all")
+ content = modulefile_content("mpileaks target=x86_64")
- assert len([x for x in content if 'prereq' in x]) == 5
+ assert len([x for x in content if "prereq" in x]) == 5
# DEPRECATED: remove blacklist in v0.20
- @pytest.mark.parametrize(
- "config_name", ["alter_environment", "blacklist_environment"]
- )
- def test_alter_environment(
- self, modulefile_content, module_configuration, config_name
- ):
+ @pytest.mark.parametrize("config_name", ["alter_environment", "blacklist_environment"])
+ def test_alter_environment(self, modulefile_content, module_configuration, config_name):
"""Tests modifications to run-time environment."""
module_configuration(config_name)
- content = modulefile_content('mpileaks platform=test target=x86_64')
+ content = modulefile_content("mpileaks platform=test target=x86_64")
- assert len([x for x in content
- if x.startswith('prepend-path CMAKE_PREFIX_PATH')
- ]) == 0
+ assert len([x for x in content if x.startswith("prepend-path CMAKE_PREFIX_PATH")]) == 0
assert len([x for x in content if 'setenv FOO "foo"' in x]) == 1
- assert len([
- x for x in content if 'setenv OMPI_MCA_mpi_leave_pinned "1"' in x
- ]) == 1
- assert len([
- x for x in content if 'setenv OMPI_MCA_MPI_LEAVE_PINNED "1"' in x
- ]) == 0
- assert len([x for x in content if 'unsetenv BAR' in x]) == 1
- assert len([x for x in content if 'setenv MPILEAKS_ROOT' in x]) == 1
-
- content = modulefile_content(
- 'libdwarf platform=test target=core2'
- )
-
- assert len([x for x in content
- if x.startswith('prepend-path CMAKE_PREFIX_PATH')
- ]) == 0
+ assert len([x for x in content if 'setenv OMPI_MCA_mpi_leave_pinned "1"' in x]) == 1
+ assert len([x for x in content if 'setenv OMPI_MCA_MPI_LEAVE_PINNED "1"' in x]) == 0
+ assert len([x for x in content if "unsetenv BAR" in x]) == 1
+ assert len([x for x in content if "setenv MPILEAKS_ROOT" in x]) == 1
+
+ content = modulefile_content("libdwarf platform=test target=core2")
+
+ assert len([x for x in content if x.startswith("prepend-path CMAKE_PREFIX_PATH")]) == 0
assert len([x for x in content if 'setenv FOO "foo"' in x]) == 0
- assert len([x for x in content if 'unsetenv BAR' in x]) == 0
- assert len([x for x in content if 'is-loaded foo/bar' in x]) == 1
- assert len([x for x in content if 'module load foo/bar' in x]) == 1
- assert len([x for x in content if 'setenv LIBDWARF_ROOT' in x]) == 1
+ assert len([x for x in content if "unsetenv BAR" in x]) == 0
+ assert len([x for x in content if "is-loaded foo/bar" in x]) == 1
+ assert len([x for x in content if "module load foo/bar" in x]) == 1
+ assert len([x for x in content if "setenv LIBDWARF_ROOT" in x]) == 1
@pytest.mark.parametrize("config_name", ["exclude", "blacklist"])
def test_exclude(self, modulefile_content, module_configuration, config_name):
"""Tests excluding the generation of selected modules."""
module_configuration(config_name)
- content = modulefile_content('mpileaks ^zmpi')
+ content = modulefile_content("mpileaks ^zmpi")
- assert len([x for x in content if 'is-loaded' in x]) == 1
- assert len([x for x in content if 'module load ' in x]) == 1
+ assert len([x for x in content if "is-loaded" in x]) == 1
+ assert len([x for x in content if "module load " in x]) == 1
# Catch "Exception" to avoid using FileNotFoundError on Python 3
# and IOError on Python 2 or common bases like EnvironmentError
# which are not officially documented
with pytest.raises(Exception):
- modulefile_content('callpath target=x86_64')
+ modulefile_content("callpath target=x86_64")
- content = modulefile_content('zmpi target=x86_64')
+ content = modulefile_content("zmpi target=x86_64")
- assert len([x for x in content if 'is-loaded' in x]) == 1
- assert len([x for x in content if 'module load ' in x]) == 1
+ assert len([x for x in content if "is-loaded" in x]) == 1
+ assert len([x for x in content if "module load " in x]) == 1
def test_naming_scheme_compat(self, factory, module_configuration):
"""Tests backwards compatibility for naming_scheme key"""
- module_configuration('naming_scheme')
+ module_configuration("naming_scheme")
# Test we read the expected configuration for the naming scheme
- writer, _ = factory('mpileaks')
- expected = {
- 'all': '{name}/{version}-{compiler.name}'
- }
+ writer, _ = factory("mpileaks")
+ expected = {"all": "{name}/{version}-{compiler.name}"}
assert writer.conf.projections == expected
- projection = writer.spec.format(writer.conf.projections['all'])
+ projection = writer.spec.format(writer.conf.projections["all"])
assert projection in writer.layout.use_name
def test_projections_specific(self, factory, module_configuration):
@@ -175,17 +155,14 @@ class TestTcl(object):
# This configuration has no error, so check the conflicts directives
# are there
- module_configuration('projections')
+ module_configuration("projections")
# Test we read the expected configuration for the naming scheme
- writer, _ = factory('mpileaks')
- expected = {
- 'all': '{name}/{version}-{compiler.name}',
- 'mpileaks': '{name}-mpiprojection'
- }
+ writer, _ = factory("mpileaks")
+ expected = {"all": "{name}/{version}-{compiler.name}", "mpileaks": "{name}-mpiprojection"}
assert writer.conf.projections == expected
- projection = writer.spec.format(writer.conf.projections['mpileaks'])
+ projection = writer.spec.format(writer.conf.projections["mpileaks"])
assert projection in writer.layout.use_name
def test_projections_all(self, factory, module_configuration):
@@ -193,40 +170,33 @@ class TestTcl(object):
# This configuration has no error, so check the conflicts directives
# are there
- module_configuration('projections')
+ module_configuration("projections")
# Test we read the expected configuration for the naming scheme
- writer, _ = factory('libelf')
- expected = {
- 'all': '{name}/{version}-{compiler.name}',
- 'mpileaks': '{name}-mpiprojection'
- }
+ writer, _ = factory("libelf")
+ expected = {"all": "{name}/{version}-{compiler.name}", "mpileaks": "{name}-mpiprojection"}
assert writer.conf.projections == expected
- projection = writer.spec.format(writer.conf.projections['all'])
+ projection = writer.spec.format(writer.conf.projections["all"])
assert projection in writer.layout.use_name
- def test_invalid_naming_scheme(
- self, factory, module_configuration, mock_module_filename
- ):
+ def test_invalid_naming_scheme(self, factory, module_configuration, mock_module_filename):
"""Tests the evaluation of an invalid naming scheme."""
- module_configuration('invalid_naming_scheme')
+ module_configuration("invalid_naming_scheme")
# Test that having invalid tokens in the naming scheme raises
# a RuntimeError
- writer, _ = factory('mpileaks')
+ writer, _ = factory("mpileaks")
with pytest.raises(RuntimeError):
writer.layout.use_name
- def test_invalid_token_in_env_name(
- self, factory, module_configuration, mock_module_filename
- ):
+ def test_invalid_token_in_env_name(self, factory, module_configuration, mock_module_filename):
"""Tests setting environment variables with an invalid name."""
- module_configuration('invalid_token_in_env_var_name')
+ module_configuration("invalid_token_in_env_var_name")
- writer, _ = factory('mpileaks')
+ writer, _ = factory("mpileaks")
with pytest.raises(RuntimeError):
writer.write()
@@ -235,28 +205,27 @@ class TestTcl(object):
# This configuration has no error, so check the conflicts directives
# are there
- module_configuration('conflicts')
- content = modulefile_content('mpileaks')
+ module_configuration("conflicts")
+ content = modulefile_content("mpileaks")
- assert len([x for x in content if x.startswith('conflict')]) == 2
- assert len([x for x in content if x == 'conflict mpileaks']) == 1
- assert len([x for x in content if x == 'conflict intel/14.0.1']) == 1
+ assert len([x for x in content if x.startswith("conflict")]) == 2
+ assert len([x for x in content if x == "conflict mpileaks"]) == 1
+ assert len([x for x in content if x == "conflict intel/14.0.1"]) == 1
# This configuration is inconsistent, check an error is raised
- module_configuration('wrong_conflicts')
+ module_configuration("wrong_conflicts")
with pytest.raises(SystemExit):
- modulefile_content('mpileaks')
+ modulefile_content("mpileaks")
- def test_module_index(
- self, module_configuration, factory, tmpdir_factory):
+ def test_module_index(self, module_configuration, factory, tmpdir_factory):
- module_configuration('suffix')
+ module_configuration("suffix")
- w1, s1 = factory('mpileaks')
- w2, s2 = factory('callpath')
- w3, s3 = factory('openblas')
+ w1, s1 = factory("mpileaks")
+ w2, s2 = factory("callpath")
+ w3, s3 = factory("openblas")
- test_root = str(tmpdir_factory.mktemp('module-root'))
+ test_root = str(tmpdir_factory.mktemp("module-root"))
spack.modules.common.generate_module_index(test_root, [w1, w2])
@@ -273,8 +242,7 @@ class TestTcl(object):
assert index[s1.dag_hash()].use_name == w1.layout.use_name
assert index[s2.dag_hash()].path == w2.layout.filename
- spack.modules.common.generate_module_index(
- test_root, [w3], overwrite=True)
+ spack.modules.common.generate_module_index(test_root, [w3], overwrite=True)
index = spack.modules.common.read_module_index(test_root)
@@ -283,130 +251,116 @@ class TestTcl(object):
def test_suffixes(self, module_configuration, factory):
"""Tests adding suffixes to module file name."""
- module_configuration('suffix')
+ module_configuration("suffix")
- writer, spec = factory('mpileaks+debug target=x86_64')
- assert 'foo' in writer.layout.use_name
- assert 'foo-foo' not in writer.layout.use_name
+ writer, spec = factory("mpileaks+debug target=x86_64")
+ assert "foo" in writer.layout.use_name
+ assert "foo-foo" not in writer.layout.use_name
- writer, spec = factory('mpileaks~debug target=x86_64')
- assert 'foo-bar' in writer.layout.use_name
- assert 'baz' not in writer.layout.use_name
+ writer, spec = factory("mpileaks~debug target=x86_64")
+ assert "foo-bar" in writer.layout.use_name
+ assert "baz" not in writer.layout.use_name
- writer, spec = factory('mpileaks~debug+opt target=x86_64')
- assert 'baz-foo-bar' in writer.layout.use_name
+ writer, spec = factory("mpileaks~debug+opt target=x86_64")
+ assert "baz-foo-bar" in writer.layout.use_name
def test_setup_environment(self, modulefile_content, module_configuration):
"""Tests the internal set-up of run-time environment."""
- module_configuration('suffix')
- content = modulefile_content('mpileaks')
+ module_configuration("suffix")
+ content = modulefile_content("mpileaks")
- assert len([x for x in content if 'setenv FOOBAR' in x]) == 1
- assert len(
- [x for x in content if 'setenv FOOBAR "mpileaks"' in x]
- ) == 1
+ assert len([x for x in content if "setenv FOOBAR" in x]) == 1
+ assert len([x for x in content if 'setenv FOOBAR "mpileaks"' in x]) == 1
- spec = spack.spec.Spec('mpileaks')
+ spec = spack.spec.Spec("mpileaks")
spec.concretize()
- content = modulefile_content(str(spec['callpath']))
+ content = modulefile_content(str(spec["callpath"]))
- assert len([x for x in content if 'setenv FOOBAR' in x]) == 1
- assert len(
- [x for x in content if 'setenv FOOBAR "callpath"' in x]
- ) == 1
+ assert len([x for x in content if "setenv FOOBAR" in x]) == 1
+ assert len([x for x in content if 'setenv FOOBAR "callpath"' in x]) == 1
def test_override_config(self, module_configuration, factory):
"""Tests overriding some sections of the configuration file."""
- module_configuration('override_config')
+ module_configuration("override_config")
- writer, spec = factory('mpileaks~opt target=x86_64')
- assert 'mpich-static' in writer.layout.use_name
- assert 'over' not in writer.layout.use_name
- assert 'ridden' not in writer.layout.use_name
+ writer, spec = factory("mpileaks~opt target=x86_64")
+ assert "mpich-static" in writer.layout.use_name
+ assert "over" not in writer.layout.use_name
+ assert "ridden" not in writer.layout.use_name
- writer, spec = factory('mpileaks+opt target=x86_64')
- assert 'over-ridden' in writer.layout.use_name
- assert 'mpich' not in writer.layout.use_name
- assert 'static' not in writer.layout.use_name
+ writer, spec = factory("mpileaks+opt target=x86_64")
+ assert "over-ridden" in writer.layout.use_name
+ assert "mpich" not in writer.layout.use_name
+ assert "static" not in writer.layout.use_name
- def test_override_template_in_package(
- self, modulefile_content, module_configuration
- ):
+ def test_override_template_in_package(self, modulefile_content, module_configuration):
"""Tests overriding a template from and attribute in the package."""
- module_configuration('autoload_direct')
- content = modulefile_content('override-module-templates')
+ module_configuration("autoload_direct")
+ content = modulefile_content("override-module-templates")
- assert 'Override successful!' in content
+ assert "Override successful!" in content
- def test_override_template_in_modules_yaml(
- self, modulefile_content, module_configuration
- ):
+ def test_override_template_in_modules_yaml(self, modulefile_content, module_configuration):
"""Tests overriding a template from `modules.yaml`"""
- module_configuration('override_template')
+ module_configuration("override_template")
- content = modulefile_content('override-module-templates')
- assert 'Override even better!' in content
+ content = modulefile_content("override-module-templates")
+ assert "Override even better!" in content
- content = modulefile_content('mpileaks target=x86_64')
- assert 'Override even better!' in content
+ content = modulefile_content("mpileaks target=x86_64")
+ assert "Override even better!" in content
- def test_extend_context(
- self, modulefile_content, module_configuration
- ):
+ def test_extend_context(self, modulefile_content, module_configuration):
"""Tests using a package defined context"""
- module_configuration('autoload_direct')
- content = modulefile_content('override-context-templates')
+ module_configuration("autoload_direct")
+ content = modulefile_content("override-context-templates")
assert 'puts stderr "sentence from package"' in content
short_description = 'module-whatis "This package updates the context for TCL modulefiles."'
assert short_description in content
- @pytest.mark.regression('4400')
+ @pytest.mark.regression("4400")
@pytest.mark.db
- @pytest.mark.parametrize(
- "config_name", ["exclude_implicits", "blacklist_implicits"]
- )
+ @pytest.mark.parametrize("config_name", ["exclude_implicits", "blacklist_implicits"])
def test_exclude_implicits(
- self, modulefile_content, module_configuration, database, config_name
+ self, modulefile_content, module_configuration, database, config_name
):
module_configuration(config_name)
# mpileaks has been installed explicitly when setting up
# the tests database
- mpileaks_specs = database.query('mpileaks')
+ mpileaks_specs = database.query("mpileaks")
for item in mpileaks_specs:
- writer = writer_cls(item, 'default')
+ writer = writer_cls(item, "default")
assert not writer.conf.excluded
# callpath is a dependency of mpileaks, and has been pulled
# in implicitly
- callpath_specs = database.query('callpath')
+ callpath_specs = database.query("callpath")
for item in callpath_specs:
- writer = writer_cls(item, 'default')
+ writer = writer_cls(item, "default")
assert writer.conf.excluded
- @pytest.mark.regression('9624')
+ @pytest.mark.regression("9624")
@pytest.mark.db
- def test_autoload_with_constraints(
- self, modulefile_content, module_configuration, database
- ):
+ def test_autoload_with_constraints(self, modulefile_content, module_configuration, database):
"""Tests the automatic loading of direct dependencies."""
- module_configuration('autoload_with_constraints')
+ module_configuration("autoload_with_constraints")
# Test the mpileaks that should have the autoloaded dependencies
- content = modulefile_content('mpileaks ^mpich2')
- assert len([x for x in content if 'is-loaded' in x]) == 2
+ content = modulefile_content("mpileaks ^mpich2")
+ assert len([x for x in content if "is-loaded" in x]) == 2
# Test the mpileaks that should NOT have the autoloaded dependencies
- content = modulefile_content('mpileaks ^mpich')
- assert len([x for x in content if 'is-loaded' in x]) == 0
+ content = modulefile_content("mpileaks ^mpich")
+ assert len([x for x in content if "is-loaded" in x]) == 0
def test_modules_no_arch(self, factory, module_configuration):
- module_configuration('no_arch')
+ module_configuration("no_arch")
module, spec = factory(mpileaks_spec_string)
path = module.layout.filename
diff --git a/lib/spack/spack/test/multimethod.py b/lib/spack/spack/test/multimethod.py
index 1e0cee71c7..8f3ddaf8cc 100644
--- a/lib/spack/spack/test/multimethod.py
+++ b/lib/spack/spack/test/multimethod.py
@@ -15,16 +15,15 @@ import spack.spec
from spack.multimethod import NoSuchMethodError
pytestmark = [
- pytest.mark.usefixtures('mock_packages', 'config'),
+ pytest.mark.usefixtures("mock_packages", "config"),
pytest.mark.skipif(
- os.environ.get('SPACK_TEST_SOLVER') == 'original' or sys.platform == 'win32',
- reason='The original concretizer cannot concretize most of the specs'
- )
+ os.environ.get("SPACK_TEST_SOLVER") == "original" or sys.platform == "win32",
+ reason="The original concretizer cannot concretize most of the specs",
+ ),
]
-@pytest.fixture(scope='module',
- params=['multimethod', 'multimethod-inheritor'])
+@pytest.fixture(scope="module", params=["multimethod", "multimethod-inheritor"])
def pkg_name(request):
"""Make tests run on both multimethod and multimethod-inheritor.
@@ -35,42 +34,45 @@ def pkg_name(request):
def test_no_version_match(pkg_name):
- spec = spack.spec.Spec(pkg_name + '@2.0').concretized()
+ spec = spack.spec.Spec(pkg_name + "@2.0").concretized()
with pytest.raises(NoSuchMethodError):
spec.package.no_version_2()
-@pytest.mark.parametrize('constraint_str,method_name,expected_result', [
- # Only one version match these constraints
- ('@1.0', 'no_version_2', 1),
- ('@3.0', 'no_version_2', 3),
- ('@4.0', 'no_version_2', 4),
- # These constraints overlap, in which case the first match wins
- ('@2.0', 'version_overlap', 1),
- ('@5.0', 'version_overlap', 2),
- # These constraints are on the version of a virtual dependency
- ('^mpich@3.0.4', 'mpi_version', 3),
- ('^mpich2@1.2', 'mpi_version', 2),
- ('^mpich@1.0', 'mpi_version', 1),
- # Undefined mpi versions
- ('^mpich@0.4', 'mpi_version', 1),
- ('^mpich@1.4', 'mpi_version', 1),
- # Constraints on compilers with a default
- ('%gcc', 'has_a_default', 'gcc'),
- ('%clang', 'has_a_default', 'clang'),
- ('%apple-clang os=elcapitan', 'has_a_default', 'default'),
- # Constraints on dependencies
- ('^zmpi', 'different_by_dep', 'zmpi'),
- ('^mpich', 'different_by_dep', 'mpich'),
- # Constraints on virtual dependencies
- ('^mpich2', 'different_by_virtual_dep', 2),
- ('^mpich@1.0', 'different_by_virtual_dep', 1),
- # Multimethod with base classes
- ('@1', 'base_method', 'base_method'),
- # Boolean
- ('', 'boolean_true_first', 'True'),
- ('', 'boolean_false_first', 'True')
-])
+@pytest.mark.parametrize(
+ "constraint_str,method_name,expected_result",
+ [
+ # Only one version match these constraints
+ ("@1.0", "no_version_2", 1),
+ ("@3.0", "no_version_2", 3),
+ ("@4.0", "no_version_2", 4),
+ # These constraints overlap, in which case the first match wins
+ ("@2.0", "version_overlap", 1),
+ ("@5.0", "version_overlap", 2),
+ # These constraints are on the version of a virtual dependency
+ ("^mpich@3.0.4", "mpi_version", 3),
+ ("^mpich2@1.2", "mpi_version", 2),
+ ("^mpich@1.0", "mpi_version", 1),
+ # Undefined mpi versions
+ ("^mpich@0.4", "mpi_version", 1),
+ ("^mpich@1.4", "mpi_version", 1),
+ # Constraints on compilers with a default
+ ("%gcc", "has_a_default", "gcc"),
+ ("%clang", "has_a_default", "clang"),
+ ("%apple-clang os=elcapitan", "has_a_default", "default"),
+ # Constraints on dependencies
+ ("^zmpi", "different_by_dep", "zmpi"),
+ ("^mpich", "different_by_dep", "mpich"),
+ # Constraints on virtual dependencies
+ ("^mpich2", "different_by_virtual_dep", 2),
+ ("^mpich@1.0", "different_by_virtual_dep", 1),
+ # Multimethod with base classes
+ ("@1", "base_method", "base_method"),
+ # Boolean
+ ("", "boolean_true_first", "True"),
+ ("", "boolean_false_first", "True"),
+ ],
+)
def test_multimethod_calls(pkg_name, constraint_str, method_name, expected_result):
s = spack.spec.Spec(pkg_name + constraint_str).concretized()
msg = "Method {0} from {1} is giving a wrong result".format(method_name, s)
@@ -81,10 +83,10 @@ def test_target_match(pkg_name):
platform = spack.platforms.host()
targets = list(platform.targets.values())
for target in targets[:-1]:
- s = spack.spec.Spec(pkg_name + ' target=' + target.name).concretized()
+ s = spack.spec.Spec(pkg_name + " target=" + target.name).concretized()
assert s.package.different_by_target() == target.name
- s = spack.spec.Spec(pkg_name + ' target=' + targets[-1].name).concretized()
+ s = spack.spec.Spec(pkg_name + " target=" + targets[-1].name).concretized()
if len(targets) == 1:
assert s.package.different_by_target() == targets[-1].name
else:
@@ -92,24 +94,27 @@ def test_target_match(pkg_name):
s.package.different_by_target()
-@pytest.mark.parametrize('spec_str,method_name,expected_result', [
- # This is overridden in the second case
- ('multimethod@3', 'base_method', 'multimethod'),
- ('multimethod-inheritor@3', 'base_method', 'multimethod-inheritor'),
- # Here we have a mix of inherited and overridden methods
- ('multimethod-inheritor@1.0', 'inherited_and_overridden', 'inheritor@1.0'),
- ('multimethod-inheritor@2.0', 'inherited_and_overridden', 'base@2.0'),
- ('multimethod@1.0', 'inherited_and_overridden', 'base@1.0'),
- ('multimethod@2.0', 'inherited_and_overridden', 'base@2.0'),
- # Diamond-like inheritance (even though the MRO linearize everything)
- ('multimethod-diamond@1.0', 'diamond_inheritance', 'base_package'),
- ('multimethod-base@1.0', 'diamond_inheritance', 'base_package'),
- ('multimethod-diamond@2.0', 'diamond_inheritance', 'first_parent'),
- ('multimethod-inheritor@2.0', 'diamond_inheritance', 'first_parent'),
- ('multimethod-diamond@3.0', 'diamond_inheritance', 'second_parent'),
- ('multimethod-diamond-parent@3.0', 'diamond_inheritance', 'second_parent'),
- ('multimethod-diamond@4.0', 'diamond_inheritance', 'subclass'),
-])
+@pytest.mark.parametrize(
+ "spec_str,method_name,expected_result",
+ [
+ # This is overridden in the second case
+ ("multimethod@3", "base_method", "multimethod"),
+ ("multimethod-inheritor@3", "base_method", "multimethod-inheritor"),
+ # Here we have a mix of inherited and overridden methods
+ ("multimethod-inheritor@1.0", "inherited_and_overridden", "inheritor@1.0"),
+ ("multimethod-inheritor@2.0", "inherited_and_overridden", "base@2.0"),
+ ("multimethod@1.0", "inherited_and_overridden", "base@1.0"),
+ ("multimethod@2.0", "inherited_and_overridden", "base@2.0"),
+ # Diamond-like inheritance (even though the MRO linearize everything)
+ ("multimethod-diamond@1.0", "diamond_inheritance", "base_package"),
+ ("multimethod-base@1.0", "diamond_inheritance", "base_package"),
+ ("multimethod-diamond@2.0", "diamond_inheritance", "first_parent"),
+ ("multimethod-inheritor@2.0", "diamond_inheritance", "first_parent"),
+ ("multimethod-diamond@3.0", "diamond_inheritance", "second_parent"),
+ ("multimethod-diamond-parent@3.0", "diamond_inheritance", "second_parent"),
+ ("multimethod-diamond@4.0", "diamond_inheritance", "subclass"),
+ ],
+)
def test_multimethod_calls_and_inheritance(spec_str, method_name, expected_result):
s = spack.spec.Spec(spec_str).concretized()
assert getattr(s.package, method_name)() == expected_result
diff --git a/lib/spack/spack/test/namespace_trie.py b/lib/spack/spack/test/namespace_trie.py
index 27cc67e7d1..7a1ac99c2f 100644
--- a/lib/spack/spack/test/namespace_trie.py
+++ b/lib/spack/spack/test/namespace_trie.py
@@ -14,81 +14,81 @@ def trie():
def test_add_single(trie):
- trie['foo'] = 'bar'
+ trie["foo"] = "bar"
- assert trie.is_prefix('foo')
- assert trie.has_value('foo')
- assert trie['foo'] == 'bar'
+ assert trie.is_prefix("foo")
+ assert trie.has_value("foo")
+ assert trie["foo"] == "bar"
def test_add_multiple(trie):
- trie['foo.bar'] = 'baz'
+ trie["foo.bar"] = "baz"
- assert not trie.has_value('foo')
- assert trie.is_prefix('foo')
+ assert not trie.has_value("foo")
+ assert trie.is_prefix("foo")
- assert trie.is_prefix('foo.bar')
- assert trie.has_value('foo.bar')
- assert trie['foo.bar'] == 'baz'
+ assert trie.is_prefix("foo.bar")
+ assert trie.has_value("foo.bar")
+ assert trie["foo.bar"] == "baz"
- assert not trie.is_prefix('foo.bar.baz')
- assert not trie.has_value('foo.bar.baz')
+ assert not trie.is_prefix("foo.bar.baz")
+ assert not trie.has_value("foo.bar.baz")
def test_add_three(trie):
# add a three-level namespace
- trie['foo.bar.baz'] = 'quux'
+ trie["foo.bar.baz"] = "quux"
- assert trie.is_prefix('foo')
- assert not trie.has_value('foo')
+ assert trie.is_prefix("foo")
+ assert not trie.has_value("foo")
- assert trie.is_prefix('foo.bar')
- assert not trie.has_value('foo.bar')
+ assert trie.is_prefix("foo.bar")
+ assert not trie.has_value("foo.bar")
- assert trie.is_prefix('foo.bar.baz')
- assert trie.has_value('foo.bar.baz')
- assert trie['foo.bar.baz'] == 'quux'
+ assert trie.is_prefix("foo.bar.baz")
+ assert trie.has_value("foo.bar.baz")
+ assert trie["foo.bar.baz"] == "quux"
- assert not trie.is_prefix('foo.bar.baz.quux')
- assert not trie.has_value('foo.bar.baz.quux')
+ assert not trie.is_prefix("foo.bar.baz.quux")
+ assert not trie.has_value("foo.bar.baz.quux")
# Try to add a second element in a prefix namespace
- trie['foo.bar'] = 'blah'
+ trie["foo.bar"] = "blah"
- assert trie.is_prefix('foo')
- assert not trie.has_value('foo')
+ assert trie.is_prefix("foo")
+ assert not trie.has_value("foo")
- assert trie.is_prefix('foo.bar')
- assert trie.has_value('foo.bar')
- assert trie['foo.bar'] == 'blah'
+ assert trie.is_prefix("foo.bar")
+ assert trie.has_value("foo.bar")
+ assert trie["foo.bar"] == "blah"
- assert trie.is_prefix('foo.bar.baz')
- assert trie.has_value('foo.bar.baz')
- assert trie['foo.bar.baz'] == 'quux'
+ assert trie.is_prefix("foo.bar.baz")
+ assert trie.has_value("foo.bar.baz")
+ assert trie["foo.bar.baz"] == "quux"
- assert not trie.is_prefix('foo.bar.baz.quux')
- assert not trie.has_value('foo.bar.baz.quux')
+ assert not trie.is_prefix("foo.bar.baz.quux")
+ assert not trie.has_value("foo.bar.baz.quux")
def test_add_none_single(trie):
- trie['foo'] = None
- assert trie.is_prefix('foo')
- assert trie.has_value('foo')
- assert trie['foo'] is None
+ trie["foo"] = None
+ assert trie.is_prefix("foo")
+ assert trie.has_value("foo")
+ assert trie["foo"] is None
- assert not trie.is_prefix('foo.bar')
- assert not trie.has_value('foo.bar')
+ assert not trie.is_prefix("foo.bar")
+ assert not trie.has_value("foo.bar")
def test_add_none_multiple(trie):
- trie['foo.bar'] = None
+ trie["foo.bar"] = None
- assert trie.is_prefix('foo')
- assert not trie.has_value('foo')
+ assert trie.is_prefix("foo")
+ assert not trie.has_value("foo")
- assert trie.is_prefix('foo.bar')
- assert trie.has_value('foo.bar')
- assert trie['foo.bar'] is None
+ assert trie.is_prefix("foo.bar")
+ assert trie.has_value("foo.bar")
+ assert trie["foo.bar"] is None
- assert not trie.is_prefix('foo.bar.baz')
- assert not trie.has_value('foo.bar.baz')
+ assert not trie.is_prefix("foo.bar.baz")
+ assert not trie.has_value("foo.bar.baz")
diff --git a/lib/spack/spack/test/operating_system.py b/lib/spack/spack/test/operating_system.py
index d71b5e0b6f..0634ddc3fe 100644
--- a/lib/spack/spack/test/operating_system.py
+++ b/lib/spack/spack/test/operating_system.py
@@ -8,9 +8,10 @@ import spack.operating_systems.cray_backend as cray_backend
def test_read_cle_release_file(tmpdir, monkeypatch):
"""test reading the Cray cle-release file"""
- cle_release_path = tmpdir.join('cle-release')
- with cle_release_path.open('w') as f:
- f.write("""\
+ cle_release_path = tmpdir.join("cle-release")
+ with cle_release_path.open("w") as f:
+ f.write(
+ """\
RELEASE=6.0.UP07
BUILD=6.0.7424
DATE=20190611
@@ -18,44 +19,45 @@ ARCH=noarch
NETWORK=ari
PATCHSET=35-201906112304
DUMMY=foo=bar
-""")
+"""
+ )
- monkeypatch.setattr(cray_backend, '_cle_release_file',
- str(cle_release_path))
+ monkeypatch.setattr(cray_backend, "_cle_release_file", str(cle_release_path))
attrs = cray_backend.read_cle_release_file()
- assert attrs['RELEASE'] == '6.0.UP07'
- assert attrs['BUILD'] == '6.0.7424'
- assert attrs['DATE'] == '20190611'
- assert attrs['ARCH'] == 'noarch'
- assert attrs['NETWORK'] == 'ari'
- assert attrs['PATCHSET'] == '35-201906112304'
- assert attrs['DUMMY'] == 'foo=bar'
+ assert attrs["RELEASE"] == "6.0.UP07"
+ assert attrs["BUILD"] == "6.0.7424"
+ assert attrs["DATE"] == "20190611"
+ assert attrs["ARCH"] == "noarch"
+ assert attrs["NETWORK"] == "ari"
+ assert attrs["PATCHSET"] == "35-201906112304"
+ assert attrs["DUMMY"] == "foo=bar"
assert cray_backend.CrayBackend._detect_crayos_version() == 6
def test_read_clerelease_file(tmpdir, monkeypatch):
"""test reading the Cray clerelease file"""
- clerelease_path = tmpdir.join('clerelease')
- with clerelease_path.open('w') as f:
- f.write('5.2.UP04\n')
+ clerelease_path = tmpdir.join("clerelease")
+ with clerelease_path.open("w") as f:
+ f.write("5.2.UP04\n")
- monkeypatch.setattr(cray_backend, '_clerelease_file', str(clerelease_path))
+ monkeypatch.setattr(cray_backend, "_clerelease_file", str(clerelease_path))
v = cray_backend.read_clerelease_file()
- assert v == '5.2.UP04'
+ assert v == "5.2.UP04"
assert cray_backend.CrayBackend._detect_crayos_version() == 5
def test_cle_release_precedence(tmpdir, monkeypatch):
"""test that cle-release file takes precedence over clerelease file."""
- cle_release_path = tmpdir.join('cle-release')
- clerelease_path = tmpdir.join('clerelease')
+ cle_release_path = tmpdir.join("cle-release")
+ clerelease_path = tmpdir.join("clerelease")
- with cle_release_path.open('w') as f:
- f.write("""\
+ with cle_release_path.open("w") as f:
+ f.write(
+ """\
RELEASE=6.0.UP07
BUILD=6.0.7424
DATE=20190611
@@ -63,13 +65,13 @@ ARCH=noarch
NETWORK=ari
PATCHSET=35-201906112304
DUMMY=foo=bar
-""")
+"""
+ )
- with clerelease_path.open('w') as f:
- f.write('5.2.UP04\n')
+ with clerelease_path.open("w") as f:
+ f.write("5.2.UP04\n")
- monkeypatch.setattr(cray_backend, '_clerelease_file', str(clerelease_path))
- monkeypatch.setattr(cray_backend, '_cle_release_file',
- str(cle_release_path))
+ monkeypatch.setattr(cray_backend, "_clerelease_file", str(clerelease_path))
+ monkeypatch.setattr(cray_backend, "_cle_release_file", str(cle_release_path))
assert cray_backend.CrayBackend._detect_crayos_version() == 6
diff --git a/lib/spack/spack/test/optional_deps.py b/lib/spack/spack/test/optional_deps.py
index 84c3f2df43..ce6f1700d4 100644
--- a/lib/spack/spack/test/optional_deps.py
+++ b/lib/spack/spack/test/optional_deps.py
@@ -11,76 +11,40 @@ from spack.spec import Spec
@pytest.fixture(
params=[
# Normalize simple conditionals
- ('optional-dep-test', {'optional-dep-test': None}),
- ('optional-dep-test~a', {'optional-dep-test~a': None}),
- ('optional-dep-test+a', {'optional-dep-test+a': {'a': None}}),
- ('optional-dep-test a=true', {
- 'optional-dep-test a=true': {
- 'a': None
- }}),
- ('optional-dep-test a=true', {
- 'optional-dep-test+a': {
- 'a': None
- }}),
- ('optional-dep-test@1.1', {'optional-dep-test@1.1': {'b': None}}),
- ('optional-dep-test%intel', {'optional-dep-test%intel': {'c': None}}),
- ('optional-dep-test%intel@64.1', {
- 'optional-dep-test%intel@64.1': {
- 'c': None,
- 'd': None
- }}),
- ('optional-dep-test%intel@64.1.2', {
- 'optional-dep-test%intel@64.1.2': {
- 'c': None,
- 'd': None
- }}),
- ('optional-dep-test%clang@35', {
- 'optional-dep-test%clang@35': {
- 'e': None
- }}),
+ ("optional-dep-test", {"optional-dep-test": None}),
+ ("optional-dep-test~a", {"optional-dep-test~a": None}),
+ ("optional-dep-test+a", {"optional-dep-test+a": {"a": None}}),
+ ("optional-dep-test a=true", {"optional-dep-test a=true": {"a": None}}),
+ ("optional-dep-test a=true", {"optional-dep-test+a": {"a": None}}),
+ ("optional-dep-test@1.1", {"optional-dep-test@1.1": {"b": None}}),
+ ("optional-dep-test%intel", {"optional-dep-test%intel": {"c": None}}),
+ ("optional-dep-test%intel@64.1", {"optional-dep-test%intel@64.1": {"c": None, "d": None}}),
+ (
+ "optional-dep-test%intel@64.1.2",
+ {"optional-dep-test%intel@64.1.2": {"c": None, "d": None}},
+ ),
+ ("optional-dep-test%clang@35", {"optional-dep-test%clang@35": {"e": None}}),
# Normalize multiple conditionals
- ('optional-dep-test+a@1.1', {
- 'optional-dep-test+a@1.1': {
- 'a': None,
- 'b': None
- }}),
- ('optional-dep-test+a%intel', {
- 'optional-dep-test+a%intel': {
- 'a': None,
- 'c': None
- }}),
- ('optional-dep-test@1.1%intel', {
- 'optional-dep-test@1.1%intel': {
- 'b': None,
- 'c': None
- }}),
- ('optional-dep-test@1.1%intel@64.1.2+a', {
- 'optional-dep-test@1.1%intel@64.1.2+a': {
- 'a': None,
- 'b': None,
- 'c': None,
- 'd': None
- }}),
- ('optional-dep-test@1.1%clang@36.5+a', {
- 'optional-dep-test@1.1%clang@36.5+a': {
- 'b': None,
- 'a': None,
- 'e': None
- }}),
+ ("optional-dep-test+a@1.1", {"optional-dep-test+a@1.1": {"a": None, "b": None}}),
+ ("optional-dep-test+a%intel", {"optional-dep-test+a%intel": {"a": None, "c": None}}),
+ ("optional-dep-test@1.1%intel", {"optional-dep-test@1.1%intel": {"b": None, "c": None}}),
+ (
+ "optional-dep-test@1.1%intel@64.1.2+a",
+ {"optional-dep-test@1.1%intel@64.1.2+a": {"a": None, "b": None, "c": None, "d": None}},
+ ),
+ (
+ "optional-dep-test@1.1%clang@36.5+a",
+ {"optional-dep-test@1.1%clang@36.5+a": {"b": None, "a": None, "e": None}},
+ ),
# Chained MPI
- ('optional-dep-test-2+mpi', {
- 'optional-dep-test-2+mpi': {
- 'optional-dep-test+mpi': {'mpi': None}
- }}),
+ (
+ "optional-dep-test-2+mpi",
+ {"optional-dep-test-2+mpi": {"optional-dep-test+mpi": {"mpi": None}}},
+ ),
# Each of these dependencies comes from a conditional
# dependency on another. This requires iterating to evaluate
# the whole chain.
- ('optional-dep-test+f', {
- 'optional-dep-test+f': {
- 'f': None,
- 'g': None,
- 'mpi': None
- }})
+ ("optional-dep-test+f", {"optional-dep-test+f": {"f": None, "g": None, "mpi": None}}),
]
)
def spec_and_expected(request):
@@ -97,14 +61,14 @@ def test_normalize(spec_and_expected, config, mock_packages):
def test_default_variant(config, mock_packages):
- spec = Spec('optional-dep-test-3')
+ spec = Spec("optional-dep-test-3")
spec.concretize()
- assert 'a' in spec
+ assert "a" in spec
- spec = Spec('optional-dep-test-3~var')
+ spec = Spec("optional-dep-test-3~var")
spec.concretize()
- assert 'a' in spec
+ assert "a" in spec
- spec = Spec('optional-dep-test-3+var')
+ spec = Spec("optional-dep-test-3+var")
spec.concretize()
- assert 'b' in spec
+ assert "b" in spec
diff --git a/lib/spack/spack/test/package_class.py b/lib/spack/spack/test/package_class.py
index 15fd1237fb..87cb9a009a 100644
--- a/lib/spack/spack/test/package_class.py
+++ b/lib/spack/spack/test/package_class.py
@@ -23,62 +23,60 @@ import spack.repo
@pytest.fixture(scope="module")
def mpi_names(mock_repo_path):
- return [spec.name for spec in mock_repo_path.providers_for('mpi')]
+ return [spec.name for spec in mock_repo_path.providers_for("mpi")]
@pytest.fixture()
def mpileaks_possible_deps(mock_packages, mpi_names):
possible = {
- 'callpath': set(['dyninst'] + mpi_names),
- 'low-priority-provider': set(),
- 'dyninst': set(['libdwarf', 'libelf']),
- 'fake': set(),
- 'libdwarf': set(['libelf']),
- 'libelf': set(),
- 'mpich': set(),
- 'mpich2': set(),
- 'mpileaks': set(['callpath'] + mpi_names),
- 'multi-provider-mpi': set(),
- 'zmpi': set(['fake']),
+ "callpath": set(["dyninst"] + mpi_names),
+ "low-priority-provider": set(),
+ "dyninst": set(["libdwarf", "libelf"]),
+ "fake": set(),
+ "libdwarf": set(["libelf"]),
+ "libelf": set(),
+ "mpich": set(),
+ "mpich2": set(),
+ "mpileaks": set(["callpath"] + mpi_names),
+ "multi-provider-mpi": set(),
+ "zmpi": set(["fake"]),
}
return possible
def test_possible_dependencies(mock_packages, mpileaks_possible_deps):
- pkg_cls = spack.repo.path.get_pkg_class('mpileaks')
+ pkg_cls = spack.repo.path.get_pkg_class("mpileaks")
expanded_possible_deps = pkg_cls.possible_dependencies(expand_virtuals=True)
assert mpileaks_possible_deps == expanded_possible_deps
assert {
- 'callpath': {'dyninst', 'mpi'},
- 'dyninst': {'libdwarf', 'libelf'},
- 'libdwarf': {'libelf'},
- 'libelf': set(),
- 'mpi': set(),
- 'mpileaks': {'callpath', 'mpi'},
+ "callpath": {"dyninst", "mpi"},
+ "dyninst": {"libdwarf", "libelf"},
+ "libdwarf": {"libelf"},
+ "libelf": set(),
+ "mpi": set(),
+ "mpileaks": {"callpath", "mpi"},
} == pkg_cls.possible_dependencies(expand_virtuals=False)
def test_possible_direct_dependencies(mock_packages, mpileaks_possible_deps):
- pkg_cls = spack.repo.path.get_pkg_class('mpileaks')
+ pkg_cls = spack.repo.path.get_pkg_class("mpileaks")
deps = pkg_cls.possible_dependencies(transitive=False, expand_virtuals=False)
assert {
- 'callpath': set(),
- 'mpi': set(),
- 'mpileaks': {'callpath', 'mpi'},
+ "callpath": set(),
+ "mpi": set(),
+ "mpileaks": {"callpath", "mpi"},
} == deps
def test_possible_dependencies_virtual(mock_packages, mpi_names):
expected = dict(
- (name, set(spack.repo.path.get_pkg_class(name).dependencies))
- for name in mpi_names
+ (name, set(spack.repo.path.get_pkg_class(name).dependencies)) for name in mpi_names
)
# only one mock MPI has a dependency
- expected['fake'] = set()
+ expected["fake"] = set()
- assert expected == spack.package_base.possible_dependencies(
- "mpi", transitive=False)
+ assert expected == spack.package_base.possible_dependencies("mpi", transitive=False)
def test_possible_dependencies_missing(mock_packages):
@@ -89,36 +87,37 @@ def test_possible_dependencies_missing(mock_packages):
def test_possible_dependencies_with_deptypes(mock_packages):
- dtbuild1 = spack.repo.path.get_pkg_class('dtbuild1')
+ dtbuild1 = spack.repo.path.get_pkg_class("dtbuild1")
assert {
- 'dtbuild1': {'dtrun2', 'dtlink2'},
- 'dtlink2': set(),
- 'dtrun2': set(),
- } == dtbuild1.possible_dependencies(deptype=('link', 'run'))
+ "dtbuild1": {"dtrun2", "dtlink2"},
+ "dtlink2": set(),
+ "dtrun2": set(),
+ } == dtbuild1.possible_dependencies(deptype=("link", "run"))
assert {
- 'dtbuild1': {'dtbuild2', 'dtlink2'},
- 'dtbuild2': set(),
- 'dtlink2': set(),
- } == dtbuild1.possible_dependencies(deptype=('build'))
+ "dtbuild1": {"dtbuild2", "dtlink2"},
+ "dtbuild2": set(),
+ "dtlink2": set(),
+ } == dtbuild1.possible_dependencies(deptype=("build"))
assert {
- 'dtbuild1': {'dtlink2'},
- 'dtlink2': set(),
- } == dtbuild1.possible_dependencies(deptype=('link'))
+ "dtbuild1": {"dtlink2"},
+ "dtlink2": set(),
+ } == dtbuild1.possible_dependencies(deptype=("link"))
-def test_possible_dependencies_with_multiple_classes(
- mock_packages, mpileaks_possible_deps):
- pkgs = ['dt-diamond', 'mpileaks']
+def test_possible_dependencies_with_multiple_classes(mock_packages, mpileaks_possible_deps):
+ pkgs = ["dt-diamond", "mpileaks"]
expected = mpileaks_possible_deps.copy()
- expected.update({
- 'dt-diamond': set(['dt-diamond-left', 'dt-diamond-right']),
- 'dt-diamond-left': set(['dt-diamond-bottom']),
- 'dt-diamond-right': set(['dt-diamond-bottom']),
- 'dt-diamond-bottom': set(),
- })
+ expected.update(
+ {
+ "dt-diamond": set(["dt-diamond-left", "dt-diamond-right"]),
+ "dt-diamond-left": set(["dt-diamond-bottom"]),
+ "dt-diamond-right": set(["dt-diamond-bottom"]),
+ "dt-diamond-bottom": set(),
+ }
+ )
assert expected == spack.package_base.possible_dependencies(*pkgs)
@@ -138,20 +137,29 @@ def setup_install_test(source_paths, install_test_root):
fs.mkdirp(path)
-@pytest.mark.parametrize('spec,sources,extras,expect', [
- ('a',
- ['example/a.c'], # Source(s)
- ['example/a.c'], # Extra test source
- ['example/a.c']), # Test install dir source(s)
- ('b',
- ['test/b.cpp', 'test/b.hpp', 'example/b.txt'], # Source(s)
- ['test'], # Extra test source
- ['test/b.cpp', 'test/b.hpp']), # Test install dir source
- ('c',
- ['examples/a.py', 'examples/b.py', 'examples/c.py', 'tests/d.py'],
- ['examples/b.py', 'tests'],
- ['examples/b.py', 'tests/d.py']),
-])
+@pytest.mark.parametrize(
+ "spec,sources,extras,expect",
+ [
+ (
+ "a",
+ ["example/a.c"], # Source(s)
+ ["example/a.c"], # Extra test source
+ ["example/a.c"],
+ ), # Test install dir source(s)
+ (
+ "b",
+ ["test/b.cpp", "test/b.hpp", "example/b.txt"], # Source(s)
+ ["test"], # Extra test source
+ ["test/b.cpp", "test/b.hpp"],
+ ), # Test install dir source
+ (
+ "c",
+ ["examples/a.py", "examples/b.py", "examples/c.py", "tests/d.py"],
+ ["examples/b.py", "tests"],
+ ["examples/b.py", "tests/d.py"],
+ ),
+ ],
+)
def test_cache_extra_sources(install_mockery, spec, sources, extras, expect):
"""Test the package's cache extra test sources helper function."""
s = spack.spec.Spec(spec).concretized()
@@ -161,10 +169,10 @@ def test_cache_extra_sources(install_mockery, spec, sources, extras, expect):
srcs = [fs.join_path(source_path, src) for src in sources]
setup_install_test(srcs, s.package.install_test_root)
- emsg_dir = 'Expected {0} to be a directory'
- emsg_file = 'Expected {0} to be a file'
+ emsg_dir = "Expected {0} to be a directory"
+ emsg_file = "Expected {0} to be a file"
for src in srcs:
- assert os.path.exists(src), 'Expected {0} to exist'.format(src)
+ assert os.path.exists(src), "Expected {0} to exist".format(src)
if os.path.splitext(src)[1]:
assert os.path.isfile(src), emsg_file.format(src)
else:
@@ -176,16 +184,16 @@ def test_cache_extra_sources(install_mockery, spec, sources, extras, expect):
exp_dests = [fs.join_path(s.package.install_test_root, e) for e in expect]
poss_dests = set(src_dests) | set(exp_dests)
- msg = 'Expected {0} to{1} exist'
+ msg = "Expected {0} to{1} exist"
for pd in poss_dests:
if pd in exp_dests:
- assert os.path.exists(pd), msg.format(pd, '')
+ assert os.path.exists(pd), msg.format(pd, "")
if os.path.splitext(pd)[1]:
assert os.path.isfile(pd), emsg_file.format(pd)
else:
assert os.path.isdir(pd), emsg_dir.format(pd)
else:
- assert not os.path.exists(pd), msg.format(pd, ' not')
+ assert not os.path.exists(pd), msg.format(pd, " not")
# Perform a little cleanup
shutil.rmtree(os.path.dirname(source_path))
diff --git a/lib/spack/spack/test/package_sanity.py b/lib/spack/spack/test/package_sanity.py
index 145ece1f7e..ba98ccf2a9 100644
--- a/lib/spack/spack/test/package_sanity.py
+++ b/lib/spack/spack/test/package_sanity.py
@@ -52,8 +52,7 @@ def test_packages_are_pickleable():
failed_to_pickle.append(name)
if failed_to_pickle:
- tty.msg('The following packages failed to pickle: ' +
- ', '.join(failed_to_pickle))
+ tty.msg("The following packages failed to pickle: " + ", ".join(failed_to_pickle))
for name in failed_to_pickle:
pkg_cls = spack.repo.path.get_pkg_class(name)
@@ -78,13 +77,13 @@ def test_packages_are_unparseable():
failed_to_compile.append(name)
if failed_to_unparse:
- tty.msg('The following packages failed to unparse: ' +
- ', '.join(failed_to_unparse))
+ tty.msg("The following packages failed to unparse: " + ", ".join(failed_to_unparse))
assert False
if failed_to_compile:
- tty.msg('The following unparsed packages failed to compile: ' +
- ', '.join(failed_to_compile))
+ tty.msg(
+ "The following unparsed packages failed to compile: " + ", ".join(failed_to_compile)
+ )
assert False
@@ -110,7 +109,7 @@ def test_all_versions_are_lowercase():
"""Spack package names must be lowercase, and use `-` instead of `_`."""
errors = []
for name in spack.repo.all_package_names():
- if re.search(r'[_A-Z]', name):
+ if re.search(r"[_A-Z]", name):
errors.append(name)
assert len(errors) == 0
@@ -118,15 +117,16 @@ def test_all_versions_are_lowercase():
def test_all_virtual_packages_have_default_providers():
"""All virtual packages must have a default provider explicitly set."""
- defaults = spack.config.get('packages', scope='defaults')
- default_providers = defaults['all']['providers']
+ defaults = spack.config.get("packages", scope="defaults")
+ default_providers = defaults["all"]["providers"]
providers = spack.repo.path.provider_index.providers
- default_providers_filename = \
- spack.config.config.scopes['defaults'].get_section_filename('packages')
+ default_providers_filename = spack.config.config.scopes["defaults"].get_section_filename(
+ "packages"
+ )
for provider in providers:
- assert provider in default_providers, \
- "all providers must have a default in %s" \
- % default_providers_filename
+ assert provider in default_providers, (
+ "all providers must have a default in %s" % default_providers_filename
+ )
def test_package_version_consistency():
@@ -141,24 +141,22 @@ def test_package_version_consistency():
def test_no_fixme():
"""Packages should not contain any boilerplate such as
- FIXME or example.com."""
+ FIXME or example.com."""
errors = []
fixme_regexes = [
- r'remove this boilerplate',
- r'FIXME: Put',
- r'FIXME: Add',
- r'example.com',
+ r"remove this boilerplate",
+ r"FIXME: Put",
+ r"FIXME: Add",
+ r"example.com",
]
for name in spack.repo.all_package_names():
filename = spack.repo.path.filename_for_package_name(name)
- with open(filename, 'r') as package_file:
+ with open(filename, "r") as package_file:
for i, line in enumerate(package_file):
- pattern = next((r for r in fixme_regexes
- if re.search(r, line)), None)
+ pattern = next((r for r in fixme_regexes if re.search(r, line)), None)
if pattern:
errors.append(
- "%s:%d: boilerplate needs to be removed: %s" %
- (filename, i, line.strip())
+ "%s:%d: boilerplate needs to be removed: %s" % (filename, i, line.strip())
)
assert [] == errors
@@ -194,8 +192,8 @@ def test_all_packages_use_sha256_checksums():
bad_digest = invalid_sha256_digest(fetcher)
if bad_digest:
errors.append(
- "All packages must use sha256 checksums. %s@%s uses %s." %
- (name, v, bad_digest)
+ "All packages must use sha256 checksums. %s@%s uses %s."
+ % (name, v, bad_digest)
)
for _, resources in pkg.resources.items():
@@ -204,7 +202,7 @@ def test_all_packages_use_sha256_checksums():
if bad_digest:
errors.append(
"All packages must use sha256 checksums."
- "Resource in %s uses %s." % (name, bad_digest)
+ "Resource in %s uses %s." % (name, bad_digest)
)
assert [] == errors
@@ -216,22 +214,21 @@ def test_api_for_build_and_run_environment():
"""
failing = []
for pkg_cls in spack.repo.path.all_package_classes():
- add_to_list = (hasattr(pkg_cls, 'setup_environment') or
- hasattr(pkg_cls, 'setup_dependent_environment'))
+ add_to_list = hasattr(pkg_cls, "setup_environment") or hasattr(
+ pkg_cls, "setup_dependent_environment"
+ )
if add_to_list:
failing.append(pkg_cls)
- msg = ('there are {0} packages using the old API to set build '
- 'and run environment [{1}], for further information see '
- 'https://github.com/spack/spack/pull/11115')
- assert not failing, msg.format(
- len(failing), ','.join(x.name for x in failing)
+ msg = (
+ "there are {0} packages using the old API to set build "
+ "and run environment [{1}], for further information see "
+ "https://github.com/spack/spack/pull/11115"
)
+ assert not failing, msg.format(len(failing), ",".join(x.name for x in failing))
-@pytest.mark.skipif(
- not executable.which('git'), reason='requires git to be installed'
-)
+@pytest.mark.skipif(not executable.which("git"), reason="requires git to be installed")
def test_prs_update_old_api():
"""Ensures that every package modified in a PR doesn't contain
deprecated calls to any method.
@@ -240,42 +237,36 @@ def test_prs_update_old_api():
if not ref:
pytest.skip("No base ref found")
- changed_package_files = [
- x for x in style.changed_files(base=ref) if style.is_package(x)
- ]
+ changed_package_files = [x for x in style.changed_files(base=ref) if style.is_package(x)]
failing = []
for file in changed_package_files:
- if 'builtin.mock' not in file: # don't restrict packages for tests
+ if "builtin.mock" not in file: # don't restrict packages for tests
name = os.path.basename(os.path.dirname(file))
pkg_cls = spack.repo.path.get_pkg_class(name)
pkg = pkg_cls(spack.spec.Spec(name))
- failed = (hasattr(pkg, 'setup_environment') or
- hasattr(pkg, 'setup_dependent_environment'))
+ failed = hasattr(pkg, "setup_environment") or hasattr(
+ pkg, "setup_dependent_environment"
+ )
if failed:
failing.append(name)
- msg = ('there are {0} packages using the old API to set build '
- 'and run environment [{1}], for further information see '
- 'https://github.com/spack/spack/pull/11115')
- assert not failing, msg.format(
- len(failing), ','.join(failing)
+ msg = (
+ "there are {0} packages using the old API to set build "
+ "and run environment [{1}], for further information see "
+ "https://github.com/spack/spack/pull/11115"
)
+ assert not failing, msg.format(len(failing), ",".join(failing))
def test_all_dependencies_exist():
"""Make sure no packages have nonexisting dependencies."""
missing = {}
pkgs = [pkg for pkg in spack.repo.path.all_package_names()]
- spack.package_base.possible_dependencies(
- *pkgs, transitive=True, missing=missing)
+ spack.package_base.possible_dependencies(*pkgs, transitive=True, missing=missing)
- lines = [
- "%s: [%s]" % (name, ", ".join(deps)) for name, deps in missing.items()
- ]
- assert not missing, "These packages have missing dependencies:\n" + (
- "\n".join(lines)
- )
+ lines = ["%s: [%s]" % (name, ", ".join(deps)) for name, deps in missing.items()]
+ assert not missing, "These packages have missing dependencies:\n" + ("\n".join(lines))
def test_variant_defaults_are_parsable_from_cli():
@@ -288,7 +279,8 @@ def test_variant_defaults_are_parsable_from_cli():
# Permitting a default that is an instance on 'int' permits
# to have foo=false or foo=0. Other falsish values are
# not allowed, since they can't be parsed from cli ('foo=')
- isinstance(variant.default, int) or variant.default
+ isinstance(variant.default, int)
+ or variant.default
)
if not default_is_parsable:
failing.append((pkg_cls.name, variant_name))
diff --git a/lib/spack/spack/test/packages.py b/lib/spack/spack/test/packages.py
index 03c2cd5ca8..c91d749b0a 100644
--- a/lib/spack/spack/test/packages.py
+++ b/lib/spack/spack/test/packages.py
@@ -16,41 +16,33 @@ from spack.util.naming import mod_to_class
from spack.version import VersionChecksumError
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestPackage(object):
def test_load_package(self):
- spack.repo.path.get_pkg_class('mpich')
+ spack.repo.path.get_pkg_class("mpich")
def test_package_name(self):
- pkg_cls = spack.repo.path.get_pkg_class('mpich')
- assert pkg_cls.name == 'mpich'
+ pkg_cls = spack.repo.path.get_pkg_class("mpich")
+ assert pkg_cls.name == "mpich"
def test_package_filename(self):
repo = spack.repo.Repo(mock_packages_path)
- filename = repo.filename_for_package_name('mpich')
- assert filename == os.path.join(
- mock_packages_path,
- 'packages',
- 'mpich',
- 'package.py'
- )
+ filename = repo.filename_for_package_name("mpich")
+ assert filename == os.path.join(mock_packages_path, "packages", "mpich", "package.py")
def test_nonexisting_package_filename(self):
repo = spack.repo.Repo(mock_packages_path)
- filename = repo.filename_for_package_name('some-nonexisting-package')
+ filename = repo.filename_for_package_name("some-nonexisting-package")
assert filename == os.path.join(
- mock_packages_path,
- 'packages',
- 'some-nonexisting-package',
- 'package.py'
+ mock_packages_path, "packages", "some-nonexisting-package", "package.py"
)
def test_package_class_names(self):
- assert 'Mpich' == mod_to_class('mpich')
- assert 'PmgrCollective' == mod_to_class('pmgr_collective')
- assert 'PmgrCollective' == mod_to_class('pmgr-collective')
- assert 'Pmgrcollective' == mod_to_class('PmgrCollective')
- assert '_3db' == mod_to_class('3db')
+ assert "Mpich" == mod_to_class("mpich")
+ assert "PmgrCollective" == mod_to_class("pmgr_collective")
+ assert "PmgrCollective" == mod_to_class("pmgr-collective")
+ assert "Pmgrcollective" == mod_to_class("PmgrCollective")
+ assert "_3db" == mod_to_class("3db")
# Below tests target direct imports of spack packages from the
# spack.pkg namespace
@@ -64,39 +56,39 @@ class TestPackage(object):
from spack.pkg.builtin import mock # noqa: F401
def test_inheritance_of_diretives(self):
- pkg_cls = spack.repo.path.get_pkg_class('simple-inheritance')
+ pkg_cls = spack.repo.path.get_pkg_class("simple-inheritance")
# Check dictionaries that should have been filled by directives
assert len(pkg_cls.dependencies) == 3
- assert 'cmake' in pkg_cls.dependencies
- assert 'openblas' in pkg_cls.dependencies
- assert 'mpi' in pkg_cls.dependencies
+ assert "cmake" in pkg_cls.dependencies
+ assert "openblas" in pkg_cls.dependencies
+ assert "mpi" in pkg_cls.dependencies
assert len(pkg_cls.provided) == 2
# Check that Spec instantiation behaves as we expect
- s = Spec('simple-inheritance').concretized()
- assert '^cmake' in s
- assert '^openblas' in s
- assert '+openblas' in s
- assert 'mpi' in s
-
- s = Spec('simple-inheritance~openblas').concretized()
- assert '^cmake' in s
- assert '^openblas' not in s
- assert '~openblas' in s
- assert 'mpi' in s
-
- @pytest.mark.regression('11844')
+ s = Spec("simple-inheritance").concretized()
+ assert "^cmake" in s
+ assert "^openblas" in s
+ assert "+openblas" in s
+ assert "mpi" in s
+
+ s = Spec("simple-inheritance~openblas").concretized()
+ assert "^cmake" in s
+ assert "^openblas" not in s
+ assert "~openblas" in s
+ assert "mpi" in s
+
+ @pytest.mark.regression("11844")
def test_inheritance_of_patches(self):
- s = Spec('patch-inheritance')
+ s = Spec("patch-inheritance")
# Will error if inheritor package cannot find inherited patch files
s.concretize()
def test_dependency_extensions(self):
- s = Spec('extension2')
+ s = Spec("extension2")
s.concretize()
deps = set(x.name for x in s.package.dependency_activations())
- assert deps == set(['extension1'])
+ assert deps == set(["extension1"])
def test_import_class_from_package(self):
from spack.pkg.builtin.mock.mpich import Mpich # noqa: F401
@@ -116,83 +108,97 @@ class TestPackage(object):
from spack.pkg.builtin import mock # noqa: F401
-@pytest.mark.regression('2737')
+@pytest.mark.regression("2737")
def test_urls_for_versions(mock_packages, config):
"""Version directive without a 'url' argument should use default url."""
- for spec_str in ('url_override@0.9.0', 'url_override@1.0.0'):
+ for spec_str in ("url_override@0.9.0", "url_override@1.0.0"):
s = Spec(spec_str).concretized()
- url = s.package.url_for_version('0.9.0')
- assert url == 'http://www.anothersite.org/uo-0.9.0.tgz'
+ url = s.package.url_for_version("0.9.0")
+ assert url == "http://www.anothersite.org/uo-0.9.0.tgz"
- url = s.package.url_for_version('1.0.0')
- assert url == 'http://www.doesnotexist.org/url_override-1.0.0.tar.gz'
+ url = s.package.url_for_version("1.0.0")
+ assert url == "http://www.doesnotexist.org/url_override-1.0.0.tar.gz"
- url = s.package.url_for_version('0.8.1')
- assert url == 'http://www.doesnotexist.org/url_override-0.8.1.tar.gz'
+ url = s.package.url_for_version("0.8.1")
+ assert url == "http://www.doesnotexist.org/url_override-0.8.1.tar.gz"
def test_url_for_version_with_no_urls(mock_packages, config):
- spec = Spec('git-test')
+ spec = Spec("git-test")
pkg_cls = spack.repo.path.get_pkg_class(spec.name)
with pytest.raises(spack.package_base.NoURLError):
- pkg_cls(spec).url_for_version('1.0')
+ pkg_cls(spec).url_for_version("1.0")
with pytest.raises(spack.package_base.NoURLError):
- pkg_cls(spec).url_for_version('1.1')
+ pkg_cls(spec).url_for_version("1.1")
def test_url_for_version_with_only_overrides(mock_packages, config):
- s = Spec('url-only-override').concretized()
+ s = Spec("url-only-override").concretized()
# these exist and should just take the URL provided in the package
- assert s.package.url_for_version('1.0.0') == 'http://a.example.com/url_override-1.0.0.tar.gz'
- assert s.package.url_for_version('0.9.0') == 'http://b.example.com/url_override-0.9.0.tar.gz'
- assert s.package.url_for_version('0.8.1') == 'http://c.example.com/url_override-0.8.1.tar.gz'
+ assert s.package.url_for_version("1.0.0") == "http://a.example.com/url_override-1.0.0.tar.gz"
+ assert s.package.url_for_version("0.9.0") == "http://b.example.com/url_override-0.9.0.tar.gz"
+ assert s.package.url_for_version("0.8.1") == "http://c.example.com/url_override-0.8.1.tar.gz"
# these don't exist but should still work, even if there are only overrides
- assert s.package.url_for_version('1.0.5') == 'http://a.example.com/url_override-1.0.5.tar.gz'
- assert s.package.url_for_version('0.9.5') == 'http://b.example.com/url_override-0.9.5.tar.gz'
- assert s.package.url_for_version('0.8.5') == 'http://c.example.com/url_override-0.8.5.tar.gz'
- assert s.package.url_for_version('0.7.0') == 'http://c.example.com/url_override-0.7.0.tar.gz'
+ assert s.package.url_for_version("1.0.5") == "http://a.example.com/url_override-1.0.5.tar.gz"
+ assert s.package.url_for_version("0.9.5") == "http://b.example.com/url_override-0.9.5.tar.gz"
+ assert s.package.url_for_version("0.8.5") == "http://c.example.com/url_override-0.8.5.tar.gz"
+ assert s.package.url_for_version("0.7.0") == "http://c.example.com/url_override-0.7.0.tar.gz"
def test_url_for_version_with_only_overrides_with_gaps(mock_packages, config):
- s = Spec('url-only-override-with-gaps').concretized()
+ s = Spec("url-only-override-with-gaps").concretized()
# same as for url-only-override -- these are specific
- assert s.package.url_for_version('1.0.0') == 'http://a.example.com/url_override-1.0.0.tar.gz'
- assert s.package.url_for_version('0.9.0') == 'http://b.example.com/url_override-0.9.0.tar.gz'
- assert s.package.url_for_version('0.8.1') == 'http://c.example.com/url_override-0.8.1.tar.gz'
+ assert s.package.url_for_version("1.0.0") == "http://a.example.com/url_override-1.0.0.tar.gz"
+ assert s.package.url_for_version("0.9.0") == "http://b.example.com/url_override-0.9.0.tar.gz"
+ assert s.package.url_for_version("0.8.1") == "http://c.example.com/url_override-0.8.1.tar.gz"
# these don't have specific URLs, but should still work by extrapolation
- assert s.package.url_for_version('1.0.5') == 'http://a.example.com/url_override-1.0.5.tar.gz'
- assert s.package.url_for_version('0.9.5') == 'http://b.example.com/url_override-0.9.5.tar.gz'
- assert s.package.url_for_version('0.8.5') == 'http://c.example.com/url_override-0.8.5.tar.gz'
- assert s.package.url_for_version('0.7.0') == 'http://c.example.com/url_override-0.7.0.tar.gz'
-
-
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('spec_str,expected_type,expected_url', [
- ('git-top-level', spack.fetch_strategy.GitFetchStrategy, 'https://example.com/some/git/repo'),
- ('svn-top-level', spack.fetch_strategy.SvnFetchStrategy, 'https://example.com/some/svn/repo'),
- ('hg-top-level', spack.fetch_strategy.HgFetchStrategy, 'https://example.com/some/hg/repo'),
-])
+ assert s.package.url_for_version("1.0.5") == "http://a.example.com/url_override-1.0.5.tar.gz"
+ assert s.package.url_for_version("0.9.5") == "http://b.example.com/url_override-0.9.5.tar.gz"
+ assert s.package.url_for_version("0.8.5") == "http://c.example.com/url_override-0.8.5.tar.gz"
+ assert s.package.url_for_version("0.7.0") == "http://c.example.com/url_override-0.7.0.tar.gz"
+
+
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "spec_str,expected_type,expected_url",
+ [
+ (
+ "git-top-level",
+ spack.fetch_strategy.GitFetchStrategy,
+ "https://example.com/some/git/repo",
+ ),
+ (
+ "svn-top-level",
+ spack.fetch_strategy.SvnFetchStrategy,
+ "https://example.com/some/svn/repo",
+ ),
+ ("hg-top-level", spack.fetch_strategy.HgFetchStrategy, "https://example.com/some/hg/repo"),
+ ],
+)
def test_fetcher_url(spec_str, expected_type, expected_url):
"""Ensure that top-level git attribute can be used as a default."""
s = Spec(spec_str).concretized()
- fetcher = spack.fetch_strategy.for_package_version(s.package, '1.0')
+ fetcher = spack.fetch_strategy.for_package_version(s.package, "1.0")
assert isinstance(fetcher, expected_type)
assert fetcher.url == expected_url
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('spec_str,version_str,exception_type', [
- # Non-url-package
- ('git-top-level', '1.1', spack.fetch_strategy.ExtrapolationError),
- # Two VCS specified together
- ('git-url-svn-top-level', '1.0', spack.fetch_strategy.FetcherConflict),
- ('git-svn-top-level', '1.0', spack.fetch_strategy.FetcherConflict),
-])
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "spec_str,version_str,exception_type",
+ [
+ # Non-url-package
+ ("git-top-level", "1.1", spack.fetch_strategy.ExtrapolationError),
+ # Two VCS specified together
+ ("git-url-svn-top-level", "1.0", spack.fetch_strategy.FetcherConflict),
+ ("git-svn-top-level", "1.0", spack.fetch_strategy.FetcherConflict),
+ ],
+)
def test_fetcher_errors(spec_str, version_str, exception_type):
"""Verify that we can't extrapolate versions for non-URL packages."""
with pytest.raises(exception_type):
@@ -200,18 +206,21 @@ def test_fetcher_errors(spec_str, version_str, exception_type):
spack.fetch_strategy.for_package_version(s.package, version_str)
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('version_str,expected_url,digest', [
- ('2.0', 'https://example.com/some/tarball-2.0.tar.gz', '20'),
- ('2.1', 'https://example.com/some/tarball-2.1.tar.gz', '21'),
- ('2.2', 'https://www.example.com/foo2.2.tar.gz', '22'),
- ('2.3', 'https://www.example.com/foo2.3.tar.gz', '23'),
-])
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "version_str,expected_url,digest",
+ [
+ ("2.0", "https://example.com/some/tarball-2.0.tar.gz", "20"),
+ ("2.1", "https://example.com/some/tarball-2.1.tar.gz", "21"),
+ ("2.2", "https://www.example.com/foo2.2.tar.gz", "22"),
+ ("2.3", "https://www.example.com/foo2.3.tar.gz", "23"),
+ ],
+)
def test_git_url_top_level_url_versions(version_str, expected_url, digest):
"""Test URL fetch strategy inference when url is specified with git."""
- s = Spec('git-url-top-level').concretized()
+ s = Spec("git-url-top-level").concretized()
# leading 62 zeros of sha256 hash
- leading_zeros = '0' * 62
+ leading_zeros = "0" * 62
fetcher = spack.fetch_strategy.for_package_version(s.package, version_str)
assert isinstance(fetcher, spack.fetch_strategy.URLFetchStrategy)
@@ -219,33 +228,36 @@ def test_git_url_top_level_url_versions(version_str, expected_url, digest):
assert fetcher.digest == leading_zeros + digest
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('version_str,tag,commit,branch', [
- ('3.0', 'v3.0', None, None),
- ('3.1', 'v3.1', 'abc31', None),
- ('3.2', None, None, 'releases/v3.2'),
- ('3.3', None, 'abc33', 'releases/v3.3'),
- ('3.4', None, 'abc34', None),
- ('submodules', None, None, None),
- ('develop', None, None, 'develop'),
-])
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "version_str,tag,commit,branch",
+ [
+ ("3.0", "v3.0", None, None),
+ ("3.1", "v3.1", "abc31", None),
+ ("3.2", None, None, "releases/v3.2"),
+ ("3.3", None, "abc33", "releases/v3.3"),
+ ("3.4", None, "abc34", None),
+ ("submodules", None, None, None),
+ ("develop", None, None, "develop"),
+ ],
+)
def test_git_url_top_level_git_versions(version_str, tag, commit, branch):
"""Test git fetch strategy inference when url is specified with git."""
- s = Spec('git-url-top-level').concretized()
+ s = Spec("git-url-top-level").concretized()
fetcher = spack.fetch_strategy.for_package_version(s.package, version_str)
assert isinstance(fetcher, spack.fetch_strategy.GitFetchStrategy)
- assert fetcher.url == 'https://example.com/some/git/repo'
+ assert fetcher.url == "https://example.com/some/git/repo"
assert fetcher.tag == tag
assert fetcher.commit == commit
assert fetcher.branch == branch
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('version_str', ['1.0', '1.1', '1.2', '1.3'])
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize("version_str", ["1.0", "1.1", "1.2", "1.3"])
def test_git_url_top_level_conflicts(version_str):
"""Test git fetch strategy inference when url is specified with git."""
- s = Spec('git-url-top-level').concretized()
+ s = Spec("git-url-top-level").concretized()
with pytest.raises(spack.fetch_strategy.FetcherConflict):
spack.fetch_strategy.for_package_version(s.package, version_str)
@@ -253,40 +265,42 @@ def test_git_url_top_level_conflicts(version_str):
def test_rpath_args(mutable_database):
"""Test a package's rpath_args property."""
- rec = mutable_database.get_record('mpich')
+ rec = mutable_database.get_record("mpich")
rpath_args = rec.spec.package.rpath_args
- assert '-rpath' in rpath_args
- assert 'mpich' in rpath_args
+ assert "-rpath" in rpath_args
+ assert "mpich" in rpath_args
-def test_bundle_version_checksum(mock_directive_bundle,
- clear_directive_functions):
+def test_bundle_version_checksum(mock_directive_bundle, clear_directive_functions):
"""Test raising exception on a version checksum with a bundle package."""
with pytest.raises(VersionChecksumError, match="Checksums not allowed"):
- version = spack.directives.version('1.0', checksum='1badpkg')
+ version = spack.directives.version("1.0", checksum="1badpkg")
version(mock_directive_bundle)
-def test_bundle_patch_directive(mock_directive_bundle,
- clear_directive_functions):
+def test_bundle_patch_directive(mock_directive_bundle, clear_directive_functions):
"""Test raising exception on a patch directive with a bundle package."""
- with pytest.raises(spack.directives.UnsupportedPackageDirective,
- match="Patches are not allowed"):
- patch = spack.directives.patch('mock/patch.txt')
+ with pytest.raises(
+ spack.directives.UnsupportedPackageDirective, match="Patches are not allowed"
+ ):
+ patch = spack.directives.patch("mock/patch.txt")
patch(mock_directive_bundle)
-@pytest.mark.usefixtures('mock_packages', 'config')
-@pytest.mark.parametrize('version_str,digest_end,extra_options', [
- ('1.0', '10', {'timeout': 42, 'cookie': 'foobar'}),
- ('1.1', '11', {'timeout': 65}),
- ('1.2', '12', {'cookie': 'baz'}),
-])
+@pytest.mark.usefixtures("mock_packages", "config")
+@pytest.mark.parametrize(
+ "version_str,digest_end,extra_options",
+ [
+ ("1.0", "10", {"timeout": 42, "cookie": "foobar"}),
+ ("1.1", "11", {"timeout": 65}),
+ ("1.2", "12", {"cookie": "baz"}),
+ ],
+)
def test_fetch_options(version_str, digest_end, extra_options):
"""Test fetch options inference."""
- s = Spec('fetch-options').concretized()
- leading_zeros = '000000000000000000000000000000'
+ s = Spec("fetch-options").concretized()
+ leading_zeros = "000000000000000000000000000000"
fetcher = spack.fetch_strategy.for_package_version(s.package, version_str)
assert isinstance(fetcher, spack.fetch_strategy.URLFetchStrategy)
assert fetcher.digest == leading_zeros + digest_end
@@ -295,7 +309,7 @@ def test_fetch_options(version_str, digest_end, extra_options):
def test_has_test_method_fails(capsys):
with pytest.raises(SystemExit):
- spack.package_base.has_test_method('printing-package')
+ spack.package_base.has_test_method("printing-package")
captured = capsys.readouterr()[1]
- assert 'is not a class' in captured
+ assert "is not a class" in captured
diff --git a/lib/spack/spack/test/packaging.py b/lib/spack/spack/test/packaging.py
index 6e977a6b36..c84a0e1c68 100644
--- a/lib/spack/spack/test/packaging.py
+++ b/lib/spack/spack/test/packaging.py
@@ -40,8 +40,7 @@ from spack.relocate import (
)
from spack.spec import Spec
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
def fake_fetchify(url, pkg):
@@ -51,7 +50,7 @@ def fake_fetchify(url, pkg):
pkg.fetcher = fetcher
-@pytest.mark.usefixtures('install_mockery', 'mock_gnupghome')
+@pytest.mark.usefixtures("install_mockery", "mock_gnupghome")
def test_buildcache(mock_archive, tmpdir):
# tweak patchelf to only do a download
pspec = Spec("patchelf").concretized()
@@ -59,7 +58,7 @@ def test_buildcache(mock_archive, tmpdir):
fake_fetchify(pkg.fetcher, pkg)
mkdirp(os.path.join(pkg.prefix, "bin"))
patchelfscr = os.path.join(pkg.prefix, "bin", "patchelf")
- f = open(patchelfscr, 'w')
+ f = open(patchelfscr, "w")
body = """#!/bin/bash
echo $PATH"""
f.write(body)
@@ -68,13 +67,13 @@ echo $PATH"""
os.chmod(patchelfscr, st.st_mode | stat.S_IEXEC)
# Install the test package
- spec = Spec('trivial-install-test-package')
+ spec = Spec("trivial-install-test-package")
spec.concretize()
assert spec.concrete
pkg = spec.package
fake_fetchify(mock_archive.url, pkg)
pkg.do_install()
- pkghash = '/' + str(spec.dag_hash(7))
+ pkghash = "/" + str(spec.dag_hash(7))
# Put some non-relocatable file in there
filename = os.path.join(spec.prefix, "dummy.txt")
@@ -87,28 +86,27 @@ echo $PATH"""
# Create the build cache and
# put it directly into the mirror
- mirror_path = os.path.join(str(tmpdir), 'test-mirror')
+ mirror_path = os.path.join(str(tmpdir), "test-mirror")
spack.mirror.create(mirror_path, specs=[])
# register mirror with spack config
- mirrors = {'spack-mirror-test': 'file://' + mirror_path}
- spack.config.set('mirrors', mirrors)
+ mirrors = {"spack-mirror-test": "file://" + mirror_path}
+ spack.config.set("mirrors", mirrors)
- stage = spack.stage.Stage(
- mirrors['spack-mirror-test'], name="build_cache", keep=True)
+ stage = spack.stage.Stage(mirrors["spack-mirror-test"], name="build_cache", keep=True)
stage.create()
# setup argument parser
parser = argparse.ArgumentParser()
buildcache.setup_parser(parser)
- create_args = ['create', '-a', '-f', '-d', mirror_path, pkghash]
+ create_args = ["create", "-a", "-f", "-d", mirror_path, pkghash]
# Create a private key to sign package with if gpg2 available
- spack.util.gpg.create(name='test key 1', expires='0',
- email='spack@googlegroups.com',
- comment='Spack test key')
+ spack.util.gpg.create(
+ name="test key 1", expires="0", email="spack@googlegroups.com", comment="Spack test key"
+ )
- create_args.insert(create_args.index('-a'), '--rebuild-index')
+ create_args.insert(create_args.index("-a"), "--rebuild-index")
args = parser.parse_args(create_args)
buildcache.buildcache(parser, args)
@@ -118,24 +116,24 @@ echo $PATH"""
# Uninstall the package
pkg.do_uninstall(force=True)
- install_args = ['install', '-a', '-f', pkghash]
+ install_args = ["install", "-a", "-f", pkghash]
args = parser.parse_args(install_args)
# Test install
buildcache.buildcache(parser, args)
files = os.listdir(spec.prefix)
- assert 'link_to_dummy.txt' in files
- assert 'dummy.txt' in files
+ assert "link_to_dummy.txt" in files
+ assert "dummy.txt" in files
# Validate the relocation information
buildinfo = bindist.read_buildinfo_file(spec.prefix)
- assert(buildinfo['relocate_textfiles'] == ['dummy.txt'])
- assert(buildinfo['relocate_links'] == ['link_to_dummy.txt'])
+ assert buildinfo["relocate_textfiles"] == ["dummy.txt"]
+ assert buildinfo["relocate_links"] == ["link_to_dummy.txt"]
# create build cache with relative path
- create_args.insert(create_args.index('-a'), '-f')
- create_args.insert(create_args.index('-a'), '-r')
+ create_args.insert(create_args.index("-a"), "-f")
+ create_args.insert(create_args.index("-a"), "-r")
args = parser.parse_args(create_args)
buildcache.buildcache(parser, args)
@@ -146,45 +144,44 @@ echo $PATH"""
buildcache.buildcache(parser, args)
# test overwrite install
- install_args.insert(install_args.index('-a'), '-f')
+ install_args.insert(install_args.index("-a"), "-f")
args = parser.parse_args(install_args)
buildcache.buildcache(parser, args)
files = os.listdir(spec.prefix)
- assert 'link_to_dummy.txt' in files
- assert 'dummy.txt' in files
-# assert os.path.realpath(
-# os.path.join(spec.prefix, 'link_to_dummy.txt')
-# ) == os.path.realpath(os.path.join(spec.prefix, 'dummy.txt'))
+ assert "link_to_dummy.txt" in files
+ assert "dummy.txt" in files
+ # assert os.path.realpath(
+ # os.path.join(spec.prefix, 'link_to_dummy.txt')
+ # ) == os.path.realpath(os.path.join(spec.prefix, 'dummy.txt'))
- args = parser.parse_args(['keys'])
+ args = parser.parse_args(["keys"])
buildcache.buildcache(parser, args)
- args = parser.parse_args(['list'])
+ args = parser.parse_args(["list"])
buildcache.buildcache(parser, args)
- args = parser.parse_args(['list'])
+ args = parser.parse_args(["list"])
buildcache.buildcache(parser, args)
- args = parser.parse_args(['list', 'trivial'])
+ args = parser.parse_args(["list", "trivial"])
buildcache.buildcache(parser, args)
# Copy a key to the mirror to have something to download
- shutil.copyfile(mock_gpg_keys_path + '/external.key',
- mirror_path + '/external.key')
+ shutil.copyfile(mock_gpg_keys_path + "/external.key", mirror_path + "/external.key")
- args = parser.parse_args(['keys'])
+ args = parser.parse_args(["keys"])
buildcache.buildcache(parser, args)
- args = parser.parse_args(['keys', '-f'])
+ args = parser.parse_args(["keys", "-f"])
buildcache.buildcache(parser, args)
- args = parser.parse_args(['keys', '-i', '-t'])
+ args = parser.parse_args(["keys", "-i", "-t"])
buildcache.buildcache(parser, args)
# unregister mirror with spack config
mirrors = {}
- spack.config.set('mirrors', mirrors)
+ spack.config.set("mirrors", mirrors)
shutil.rmtree(mirror_path)
stage.destroy()
@@ -192,380 +189,355 @@ echo $PATH"""
bindist._cached_specs = set()
-@pytest.mark.usefixtures('install_mockery')
+@pytest.mark.usefixtures("install_mockery")
def test_relocate_text(tmpdir):
- spec = Spec('trivial-install-test-package')
+ spec = Spec("trivial-install-test-package")
spec.concretize()
with tmpdir.as_cwd():
# Validate the text path replacement
- old_dir = '/home/spack/opt/spack'
- filename = 'dummy.txt'
+ old_dir = "/home/spack/opt/spack"
+ filename = "dummy.txt"
with open(filename, "w") as script:
script.write(old_dir)
script.close()
filenames = [filename]
- new_dir = '/opt/rh/devtoolset/'
+ new_dir = "/opt/rh/devtoolset/"
# Singleton dict doesn't matter if Ordered
relocate_text(filenames, {old_dir: new_dir})
- with open(filename, "r")as script:
+ with open(filename, "r") as script:
for line in script:
- assert(new_dir in line)
- assert(file_is_relocatable(os.path.realpath(filename)))
+ assert new_dir in line
+ assert file_is_relocatable(os.path.realpath(filename))
# Remove cached binary specs since we deleted the mirror
bindist._cached_specs = set()
def test_relocate_links(tmpdir):
with tmpdir.as_cwd():
- old_layout_root = os.path.join(
- '%s' % tmpdir, 'home', 'spack', 'opt', 'spack')
- old_install_prefix = os.path.join(
- '%s' % old_layout_root, 'debian6', 'test')
- old_binname = os.path.join(old_install_prefix, 'binfile')
+ old_layout_root = os.path.join("%s" % tmpdir, "home", "spack", "opt", "spack")
+ old_install_prefix = os.path.join("%s" % old_layout_root, "debian6", "test")
+ old_binname = os.path.join(old_install_prefix, "binfile")
placeholder = _placeholder(old_layout_root)
re.sub(old_layout_root, placeholder, old_binname)
- filenames = ['link.ln', 'outsideprefix.ln']
- new_layout_root = os.path.join(
- '%s' % tmpdir, 'opt', 'rh', 'devtoolset')
- new_install_prefix = os.path.join(
- '%s' % new_layout_root, 'test', 'debian6')
- new_linkname = os.path.join(new_install_prefix, 'link.ln')
- new_linkname2 = os.path.join(new_install_prefix, 'outsideprefix.ln')
- new_binname = os.path.join(new_install_prefix, 'binfile')
+ filenames = ["link.ln", "outsideprefix.ln"]
+ new_layout_root = os.path.join("%s" % tmpdir, "opt", "rh", "devtoolset")
+ new_install_prefix = os.path.join("%s" % new_layout_root, "test", "debian6")
+ new_linkname = os.path.join(new_install_prefix, "link.ln")
+ new_linkname2 = os.path.join(new_install_prefix, "outsideprefix.ln")
+ new_binname = os.path.join(new_install_prefix, "binfile")
mkdirp(new_install_prefix)
- with open(new_binname, 'w') as f:
- f.write('\n')
+ with open(new_binname, "w") as f:
+ f.write("\n")
os.utime(new_binname, None)
symlink(old_binname, new_linkname)
- symlink('/usr/lib/libc.so', new_linkname2)
- relocate_links(filenames, old_layout_root,
- old_install_prefix, new_install_prefix)
+ symlink("/usr/lib/libc.so", new_linkname2)
+ relocate_links(filenames, old_layout_root, old_install_prefix, new_install_prefix)
assert os.readlink(new_linkname) == new_binname
- assert os.readlink(new_linkname2) == '/usr/lib/libc.so'
+ assert os.readlink(new_linkname2) == "/usr/lib/libc.so"
def test_needs_relocation():
- assert needs_binary_relocation('application', 'x-sharedlib')
- assert needs_binary_relocation('application', 'x-executable')
- assert not needs_binary_relocation('application', 'x-octet-stream')
- assert not needs_binary_relocation('text', 'x-')
- assert needs_text_relocation('text', 'x-')
- assert not needs_text_relocation('symbolic link to', 'x-')
+ assert needs_binary_relocation("application", "x-sharedlib")
+ assert needs_binary_relocation("application", "x-executable")
+ assert not needs_binary_relocation("application", "x-octet-stream")
+ assert not needs_binary_relocation("text", "x-")
+ assert needs_text_relocation("text", "x-")
+ assert not needs_text_relocation("symbolic link to", "x-")
- assert needs_binary_relocation('application', 'x-mach-binary')
+ assert needs_binary_relocation("application", "x-mach-binary")
def test_replace_paths(tmpdir):
with tmpdir.as_cwd():
- suffix = 'dylib' if platform.system().lower() == 'darwin' else 'so'
- hash_a = '53moz6jwnw3xpiztxwhc4us26klribws'
- hash_b = 'tk62dzu62kd4oh3h3heelyw23hw2sfee'
- hash_c = 'hdkhduizmaddpog6ewdradpobnbjwsjl'
- hash_d = 'hukkosc7ahff7o65h6cdhvcoxm57d4bw'
- hash_loco = 'zy4oigsc4eovn5yhr2lk4aukwzoespob'
+ suffix = "dylib" if platform.system().lower() == "darwin" else "so"
+ hash_a = "53moz6jwnw3xpiztxwhc4us26klribws"
+ hash_b = "tk62dzu62kd4oh3h3heelyw23hw2sfee"
+ hash_c = "hdkhduizmaddpog6ewdradpobnbjwsjl"
+ hash_d = "hukkosc7ahff7o65h6cdhvcoxm57d4bw"
+ hash_loco = "zy4oigsc4eovn5yhr2lk4aukwzoespob"
prefix2hash = dict()
- old_spack_dir = os.path.join('%s' % tmpdir,
- 'Users', 'developer', 'spack')
+ old_spack_dir = os.path.join("%s" % tmpdir, "Users", "developer", "spack")
mkdirp(old_spack_dir)
- oldprefix_a = os.path.join('%s' % old_spack_dir, 'pkgA-%s' % hash_a)
- oldlibdir_a = os.path.join('%s' % oldprefix_a, 'lib')
+ oldprefix_a = os.path.join("%s" % old_spack_dir, "pkgA-%s" % hash_a)
+ oldlibdir_a = os.path.join("%s" % oldprefix_a, "lib")
mkdirp(oldlibdir_a)
prefix2hash[str(oldprefix_a)] = hash_a
- oldprefix_b = os.path.join('%s' % old_spack_dir, 'pkgB-%s' % hash_b)
- oldlibdir_b = os.path.join('%s' % oldprefix_b, 'lib')
+ oldprefix_b = os.path.join("%s" % old_spack_dir, "pkgB-%s" % hash_b)
+ oldlibdir_b = os.path.join("%s" % oldprefix_b, "lib")
mkdirp(oldlibdir_b)
prefix2hash[str(oldprefix_b)] = hash_b
- oldprefix_c = os.path.join('%s' % old_spack_dir, 'pkgC-%s' % hash_c)
- oldlibdir_c = os.path.join('%s' % oldprefix_c, 'lib')
- oldlibdir_cc = os.path.join('%s' % oldlibdir_c, 'C')
+ oldprefix_c = os.path.join("%s" % old_spack_dir, "pkgC-%s" % hash_c)
+ oldlibdir_c = os.path.join("%s" % oldprefix_c, "lib")
+ oldlibdir_cc = os.path.join("%s" % oldlibdir_c, "C")
mkdirp(oldlibdir_c)
prefix2hash[str(oldprefix_c)] = hash_c
- oldprefix_d = os.path.join('%s' % old_spack_dir, 'pkgD-%s' % hash_d)
- oldlibdir_d = os.path.join('%s' % oldprefix_d, 'lib')
+ oldprefix_d = os.path.join("%s" % old_spack_dir, "pkgD-%s" % hash_d)
+ oldlibdir_d = os.path.join("%s" % oldprefix_d, "lib")
mkdirp(oldlibdir_d)
prefix2hash[str(oldprefix_d)] = hash_d
- oldprefix_local = os.path.join('%s' % tmpdir, 'usr', 'local')
- oldlibdir_local = os.path.join('%s' % oldprefix_local, 'lib')
+ oldprefix_local = os.path.join("%s" % tmpdir, "usr", "local")
+ oldlibdir_local = os.path.join("%s" % oldprefix_local, "lib")
mkdirp(oldlibdir_local)
prefix2hash[str(oldprefix_local)] = hash_loco
- libfile_a = 'libA.%s' % suffix
- libfile_b = 'libB.%s' % suffix
- libfile_c = 'libC.%s' % suffix
- libfile_d = 'libD.%s' % suffix
- libfile_loco = 'libloco.%s' % suffix
- old_libnames = [os.path.join(oldlibdir_a, libfile_a),
- os.path.join(oldlibdir_b, libfile_b),
- os.path.join(oldlibdir_c, libfile_c),
- os.path.join(oldlibdir_d, libfile_d),
- os.path.join(oldlibdir_local, libfile_loco)]
+ libfile_a = "libA.%s" % suffix
+ libfile_b = "libB.%s" % suffix
+ libfile_c = "libC.%s" % suffix
+ libfile_d = "libD.%s" % suffix
+ libfile_loco = "libloco.%s" % suffix
+ old_libnames = [
+ os.path.join(oldlibdir_a, libfile_a),
+ os.path.join(oldlibdir_b, libfile_b),
+ os.path.join(oldlibdir_c, libfile_c),
+ os.path.join(oldlibdir_d, libfile_d),
+ os.path.join(oldlibdir_local, libfile_loco),
+ ]
for old_libname in old_libnames:
- with open(old_libname, 'a'):
+ with open(old_libname, "a"):
os.utime(old_libname, None)
hash2prefix = dict()
- new_spack_dir = os.path.join('%s' % tmpdir, 'Users', 'Shared',
- 'spack')
+ new_spack_dir = os.path.join("%s" % tmpdir, "Users", "Shared", "spack")
mkdirp(new_spack_dir)
- prefix_a = os.path.join(new_spack_dir, 'pkgA-%s' % hash_a)
- libdir_a = os.path.join(prefix_a, 'lib')
+ prefix_a = os.path.join(new_spack_dir, "pkgA-%s" % hash_a)
+ libdir_a = os.path.join(prefix_a, "lib")
mkdirp(libdir_a)
hash2prefix[hash_a] = str(prefix_a)
- prefix_b = os.path.join(new_spack_dir, 'pkgB-%s' % hash_b)
- libdir_b = os.path.join(prefix_b, 'lib')
+ prefix_b = os.path.join(new_spack_dir, "pkgB-%s" % hash_b)
+ libdir_b = os.path.join(prefix_b, "lib")
mkdirp(libdir_b)
hash2prefix[hash_b] = str(prefix_b)
- prefix_c = os.path.join(new_spack_dir, 'pkgC-%s' % hash_c)
- libdir_c = os.path.join(prefix_c, 'lib')
- libdir_cc = os.path.join(libdir_c, 'C')
+ prefix_c = os.path.join(new_spack_dir, "pkgC-%s" % hash_c)
+ libdir_c = os.path.join(prefix_c, "lib")
+ libdir_cc = os.path.join(libdir_c, "C")
mkdirp(libdir_cc)
hash2prefix[hash_c] = str(prefix_c)
- prefix_d = os.path.join(new_spack_dir, 'pkgD-%s' % hash_d)
- libdir_d = os.path.join(prefix_d, 'lib')
+ prefix_d = os.path.join(new_spack_dir, "pkgD-%s" % hash_d)
+ libdir_d = os.path.join(prefix_d, "lib")
mkdirp(libdir_d)
hash2prefix[hash_d] = str(prefix_d)
- prefix_local = os.path.join('%s' % tmpdir, 'usr', 'local')
- libdir_local = os.path.join(prefix_local, 'lib')
+ prefix_local = os.path.join("%s" % tmpdir, "usr", "local")
+ libdir_local = os.path.join(prefix_local, "lib")
mkdirp(libdir_local)
hash2prefix[hash_loco] = str(prefix_local)
- new_libnames = [os.path.join(libdir_a, libfile_a),
- os.path.join(libdir_b, libfile_b),
- os.path.join(libdir_cc, libfile_c),
- os.path.join(libdir_d, libfile_d),
- os.path.join(libdir_local, libfile_loco)]
+ new_libnames = [
+ os.path.join(libdir_a, libfile_a),
+ os.path.join(libdir_b, libfile_b),
+ os.path.join(libdir_cc, libfile_c),
+ os.path.join(libdir_d, libfile_d),
+ os.path.join(libdir_local, libfile_loco),
+ ]
for new_libname in new_libnames:
- with open(new_libname, 'a'):
+ with open(new_libname, "a"):
os.utime(new_libname, None)
prefix2prefix = dict()
for prefix, hash in prefix2hash.items():
prefix2prefix[prefix] = hash2prefix[hash]
- out_dict = macho_find_paths([oldlibdir_a, oldlibdir_b,
- oldlibdir_c,
- oldlibdir_cc, oldlibdir_local],
- [os.path.join(oldlibdir_a,
- libfile_a),
- os.path.join(oldlibdir_b,
- libfile_b),
- os.path.join(oldlibdir_local,
- libfile_loco)],
- os.path.join(oldlibdir_cc,
- libfile_c),
- old_spack_dir,
- prefix2prefix
- )
- assert out_dict == {oldlibdir_a: libdir_a,
- oldlibdir_b: libdir_b,
- oldlibdir_c: libdir_c,
- oldlibdir_cc: libdir_cc,
- libdir_local: libdir_local,
- os.path.join(oldlibdir_a, libfile_a):
- os.path.join(libdir_a, libfile_a),
- os.path.join(oldlibdir_b, libfile_b):
- os.path.join(libdir_b, libfile_b),
- os.path.join(oldlibdir_local, libfile_loco):
- os.path.join(libdir_local, libfile_loco),
- os.path.join(oldlibdir_cc, libfile_c):
- os.path.join(libdir_cc, libfile_c)}
-
- out_dict = macho_find_paths([oldlibdir_a, oldlibdir_b,
- oldlibdir_c,
- oldlibdir_cc,
- oldlibdir_local],
- [os.path.join(oldlibdir_a,
- libfile_a),
- os.path.join(oldlibdir_b,
- libfile_b),
- os.path.join(oldlibdir_cc,
- libfile_c),
- os.path.join(oldlibdir_local,
- libfile_loco)],
- None,
- old_spack_dir,
- prefix2prefix
- )
- assert out_dict == {oldlibdir_a: libdir_a,
- oldlibdir_b: libdir_b,
- oldlibdir_c: libdir_c,
- oldlibdir_cc: libdir_cc,
- libdir_local: libdir_local,
- os.path.join(oldlibdir_a, libfile_a):
- os.path.join(libdir_a, libfile_a),
- os.path.join(oldlibdir_b, libfile_b):
- os.path.join(libdir_b, libfile_b),
- os.path.join(oldlibdir_local, libfile_loco):
- os.path.join(libdir_local, libfile_loco),
- os.path.join(oldlibdir_cc, libfile_c):
- os.path.join(libdir_cc, libfile_c)}
-
- out_dict = macho_find_paths([oldlibdir_a, oldlibdir_b,
- oldlibdir_c, oldlibdir_cc,
- oldlibdir_local],
- ['@rpath/%s' % libfile_a,
- '@rpath/%s' % libfile_b,
- '@rpath/%s' % libfile_c,
- '@rpath/%s' % libfile_loco],
- None,
- old_spack_dir,
- prefix2prefix
- )
-
- assert out_dict == {'@rpath/%s' % libfile_a:
- '@rpath/%s' % libfile_a,
- '@rpath/%s' % libfile_b:
- '@rpath/%s' % libfile_b,
- '@rpath/%s' % libfile_c:
- '@rpath/%s' % libfile_c,
- '@rpath/%s' % libfile_loco:
- '@rpath/%s' % libfile_loco,
- oldlibdir_a: libdir_a,
- oldlibdir_b: libdir_b,
- oldlibdir_c: libdir_c,
- oldlibdir_cc: libdir_cc,
- libdir_local: libdir_local,
- }
-
- out_dict = macho_find_paths([oldlibdir_a,
- oldlibdir_b,
- oldlibdir_d,
- oldlibdir_local],
- ['@rpath/%s' % libfile_a,
- '@rpath/%s' % libfile_b,
- '@rpath/%s' % libfile_loco],
- None,
- old_spack_dir,
- prefix2prefix)
- assert out_dict == {'@rpath/%s' % libfile_a:
- '@rpath/%s' % libfile_a,
- '@rpath/%s' % libfile_b:
- '@rpath/%s' % libfile_b,
- '@rpath/%s' % libfile_loco:
- '@rpath/%s' % libfile_loco,
- oldlibdir_a: libdir_a,
- oldlibdir_b: libdir_b,
- oldlibdir_d: libdir_d,
- libdir_local: libdir_local,
- }
+ out_dict = macho_find_paths(
+ [oldlibdir_a, oldlibdir_b, oldlibdir_c, oldlibdir_cc, oldlibdir_local],
+ [
+ os.path.join(oldlibdir_a, libfile_a),
+ os.path.join(oldlibdir_b, libfile_b),
+ os.path.join(oldlibdir_local, libfile_loco),
+ ],
+ os.path.join(oldlibdir_cc, libfile_c),
+ old_spack_dir,
+ prefix2prefix,
+ )
+ assert out_dict == {
+ oldlibdir_a: libdir_a,
+ oldlibdir_b: libdir_b,
+ oldlibdir_c: libdir_c,
+ oldlibdir_cc: libdir_cc,
+ libdir_local: libdir_local,
+ os.path.join(oldlibdir_a, libfile_a): os.path.join(libdir_a, libfile_a),
+ os.path.join(oldlibdir_b, libfile_b): os.path.join(libdir_b, libfile_b),
+ os.path.join(oldlibdir_local, libfile_loco): os.path.join(libdir_local, libfile_loco),
+ os.path.join(oldlibdir_cc, libfile_c): os.path.join(libdir_cc, libfile_c),
+ }
+
+ out_dict = macho_find_paths(
+ [oldlibdir_a, oldlibdir_b, oldlibdir_c, oldlibdir_cc, oldlibdir_local],
+ [
+ os.path.join(oldlibdir_a, libfile_a),
+ os.path.join(oldlibdir_b, libfile_b),
+ os.path.join(oldlibdir_cc, libfile_c),
+ os.path.join(oldlibdir_local, libfile_loco),
+ ],
+ None,
+ old_spack_dir,
+ prefix2prefix,
+ )
+ assert out_dict == {
+ oldlibdir_a: libdir_a,
+ oldlibdir_b: libdir_b,
+ oldlibdir_c: libdir_c,
+ oldlibdir_cc: libdir_cc,
+ libdir_local: libdir_local,
+ os.path.join(oldlibdir_a, libfile_a): os.path.join(libdir_a, libfile_a),
+ os.path.join(oldlibdir_b, libfile_b): os.path.join(libdir_b, libfile_b),
+ os.path.join(oldlibdir_local, libfile_loco): os.path.join(libdir_local, libfile_loco),
+ os.path.join(oldlibdir_cc, libfile_c): os.path.join(libdir_cc, libfile_c),
+ }
+
+ out_dict = macho_find_paths(
+ [oldlibdir_a, oldlibdir_b, oldlibdir_c, oldlibdir_cc, oldlibdir_local],
+ [
+ "@rpath/%s" % libfile_a,
+ "@rpath/%s" % libfile_b,
+ "@rpath/%s" % libfile_c,
+ "@rpath/%s" % libfile_loco,
+ ],
+ None,
+ old_spack_dir,
+ prefix2prefix,
+ )
+
+ assert out_dict == {
+ "@rpath/%s" % libfile_a: "@rpath/%s" % libfile_a,
+ "@rpath/%s" % libfile_b: "@rpath/%s" % libfile_b,
+ "@rpath/%s" % libfile_c: "@rpath/%s" % libfile_c,
+ "@rpath/%s" % libfile_loco: "@rpath/%s" % libfile_loco,
+ oldlibdir_a: libdir_a,
+ oldlibdir_b: libdir_b,
+ oldlibdir_c: libdir_c,
+ oldlibdir_cc: libdir_cc,
+ libdir_local: libdir_local,
+ }
+
+ out_dict = macho_find_paths(
+ [oldlibdir_a, oldlibdir_b, oldlibdir_d, oldlibdir_local],
+ ["@rpath/%s" % libfile_a, "@rpath/%s" % libfile_b, "@rpath/%s" % libfile_loco],
+ None,
+ old_spack_dir,
+ prefix2prefix,
+ )
+ assert out_dict == {
+ "@rpath/%s" % libfile_a: "@rpath/%s" % libfile_a,
+ "@rpath/%s" % libfile_b: "@rpath/%s" % libfile_b,
+ "@rpath/%s" % libfile_loco: "@rpath/%s" % libfile_loco,
+ oldlibdir_a: libdir_a,
+ oldlibdir_b: libdir_b,
+ oldlibdir_d: libdir_d,
+ libdir_local: libdir_local,
+ }
def test_macho_make_paths():
- out = macho_make_paths_relative('/Users/Shared/spack/pkgC/lib/libC.dylib',
- '/Users/Shared/spack',
- ('/Users/Shared/spack/pkgA/lib',
- '/Users/Shared/spack/pkgB/lib',
- '/usr/local/lib'),
- ('/Users/Shared/spack/pkgA/libA.dylib',
- '/Users/Shared/spack/pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib'),
- '/Users/Shared/spack/pkgC/lib/libC.dylib')
- assert out == {'/Users/Shared/spack/pkgA/lib':
- '@loader_path/../../pkgA/lib',
- '/Users/Shared/spack/pkgB/lib':
- '@loader_path/../../pkgB/lib',
- '/usr/local/lib': '/usr/local/lib',
- '/Users/Shared/spack/pkgA/libA.dylib':
- '@loader_path/../../pkgA/libA.dylib',
- '/Users/Shared/spack/pkgB/libB.dylib':
- '@loader_path/../../pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib':
- '/usr/local/lib/libloco.dylib',
- '/Users/Shared/spack/pkgC/lib/libC.dylib':
- '@rpath/libC.dylib'}
-
- out = macho_make_paths_normal('/Users/Shared/spack/pkgC/lib/libC.dylib',
- ('@loader_path/../../pkgA/lib',
- '@loader_path/../../pkgB/lib',
- '/usr/local/lib'),
- ('@loader_path/../../pkgA/libA.dylib',
- '@loader_path/../../pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib'),
- '@rpath/libC.dylib')
-
- assert out == {'@rpath/libC.dylib':
- '/Users/Shared/spack/pkgC/lib/libC.dylib',
- '@loader_path/../../pkgA/lib':
- '/Users/Shared/spack/pkgA/lib',
- '@loader_path/../../pkgB/lib':
- '/Users/Shared/spack/pkgB/lib',
- '/usr/local/lib': '/usr/local/lib',
- '@loader_path/../../pkgA/libA.dylib':
- '/Users/Shared/spack/pkgA/libA.dylib',
- '@loader_path/../../pkgB/libB.dylib':
- '/Users/Shared/spack/pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib':
- '/usr/local/lib/libloco.dylib'
- }
-
- out = macho_make_paths_relative('/Users/Shared/spack/pkgC/bin/exeC',
- '/Users/Shared/spack',
- ('/Users/Shared/spack/pkgA/lib',
- '/Users/Shared/spack/pkgB/lib',
- '/usr/local/lib'),
- ('/Users/Shared/spack/pkgA/libA.dylib',
- '/Users/Shared/spack/pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib'), None)
-
- assert out == {'/Users/Shared/spack/pkgA/lib':
- '@loader_path/../../pkgA/lib',
- '/Users/Shared/spack/pkgB/lib':
- '@loader_path/../../pkgB/lib',
- '/usr/local/lib': '/usr/local/lib',
- '/Users/Shared/spack/pkgA/libA.dylib':
- '@loader_path/../../pkgA/libA.dylib',
- '/Users/Shared/spack/pkgB/libB.dylib':
- '@loader_path/../../pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib':
- '/usr/local/lib/libloco.dylib'}
-
- out = macho_make_paths_normal('/Users/Shared/spack/pkgC/bin/exeC',
- ('@loader_path/../../pkgA/lib',
- '@loader_path/../../pkgB/lib',
- '/usr/local/lib'),
- ('@loader_path/../../pkgA/libA.dylib',
- '@loader_path/../../pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib'),
- None)
-
- assert out == {'@loader_path/../../pkgA/lib':
- '/Users/Shared/spack/pkgA/lib',
- '@loader_path/../../pkgB/lib':
- '/Users/Shared/spack/pkgB/lib',
- '/usr/local/lib': '/usr/local/lib',
- '@loader_path/../../pkgA/libA.dylib':
- '/Users/Shared/spack/pkgA/libA.dylib',
- '@loader_path/../../pkgB/libB.dylib':
- '/Users/Shared/spack/pkgB/libB.dylib',
- '/usr/local/lib/libloco.dylib':
- '/usr/local/lib/libloco.dylib'}
+ out = macho_make_paths_relative(
+ "/Users/Shared/spack/pkgC/lib/libC.dylib",
+ "/Users/Shared/spack",
+ ("/Users/Shared/spack/pkgA/lib", "/Users/Shared/spack/pkgB/lib", "/usr/local/lib"),
+ (
+ "/Users/Shared/spack/pkgA/libA.dylib",
+ "/Users/Shared/spack/pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib",
+ ),
+ "/Users/Shared/spack/pkgC/lib/libC.dylib",
+ )
+ assert out == {
+ "/Users/Shared/spack/pkgA/lib": "@loader_path/../../pkgA/lib",
+ "/Users/Shared/spack/pkgB/lib": "@loader_path/../../pkgB/lib",
+ "/usr/local/lib": "/usr/local/lib",
+ "/Users/Shared/spack/pkgA/libA.dylib": "@loader_path/../../pkgA/libA.dylib",
+ "/Users/Shared/spack/pkgB/libB.dylib": "@loader_path/../../pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib": "/usr/local/lib/libloco.dylib",
+ "/Users/Shared/spack/pkgC/lib/libC.dylib": "@rpath/libC.dylib",
+ }
+
+ out = macho_make_paths_normal(
+ "/Users/Shared/spack/pkgC/lib/libC.dylib",
+ ("@loader_path/../../pkgA/lib", "@loader_path/../../pkgB/lib", "/usr/local/lib"),
+ (
+ "@loader_path/../../pkgA/libA.dylib",
+ "@loader_path/../../pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib",
+ ),
+ "@rpath/libC.dylib",
+ )
+
+ assert out == {
+ "@rpath/libC.dylib": "/Users/Shared/spack/pkgC/lib/libC.dylib",
+ "@loader_path/../../pkgA/lib": "/Users/Shared/spack/pkgA/lib",
+ "@loader_path/../../pkgB/lib": "/Users/Shared/spack/pkgB/lib",
+ "/usr/local/lib": "/usr/local/lib",
+ "@loader_path/../../pkgA/libA.dylib": "/Users/Shared/spack/pkgA/libA.dylib",
+ "@loader_path/../../pkgB/libB.dylib": "/Users/Shared/spack/pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib": "/usr/local/lib/libloco.dylib",
+ }
+
+ out = macho_make_paths_relative(
+ "/Users/Shared/spack/pkgC/bin/exeC",
+ "/Users/Shared/spack",
+ ("/Users/Shared/spack/pkgA/lib", "/Users/Shared/spack/pkgB/lib", "/usr/local/lib"),
+ (
+ "/Users/Shared/spack/pkgA/libA.dylib",
+ "/Users/Shared/spack/pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib",
+ ),
+ None,
+ )
+
+ assert out == {
+ "/Users/Shared/spack/pkgA/lib": "@loader_path/../../pkgA/lib",
+ "/Users/Shared/spack/pkgB/lib": "@loader_path/../../pkgB/lib",
+ "/usr/local/lib": "/usr/local/lib",
+ "/Users/Shared/spack/pkgA/libA.dylib": "@loader_path/../../pkgA/libA.dylib",
+ "/Users/Shared/spack/pkgB/libB.dylib": "@loader_path/../../pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib": "/usr/local/lib/libloco.dylib",
+ }
+
+ out = macho_make_paths_normal(
+ "/Users/Shared/spack/pkgC/bin/exeC",
+ ("@loader_path/../../pkgA/lib", "@loader_path/../../pkgB/lib", "/usr/local/lib"),
+ (
+ "@loader_path/../../pkgA/libA.dylib",
+ "@loader_path/../../pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib",
+ ),
+ None,
+ )
+
+ assert out == {
+ "@loader_path/../../pkgA/lib": "/Users/Shared/spack/pkgA/lib",
+ "@loader_path/../../pkgB/lib": "/Users/Shared/spack/pkgB/lib",
+ "/usr/local/lib": "/usr/local/lib",
+ "@loader_path/../../pkgA/libA.dylib": "/Users/Shared/spack/pkgA/libA.dylib",
+ "@loader_path/../../pkgB/libB.dylib": "/Users/Shared/spack/pkgB/libB.dylib",
+ "/usr/local/lib/libloco.dylib": "/usr/local/lib/libloco.dylib",
+ }
@pytest.fixture()
def mock_download():
"""Mock a failing download strategy."""
+
class FailedDownloadStrategy(spack.fetch_strategy.FetchStrategy):
def mirror_id(self):
return None
def fetch(self):
raise spack.fetch_strategy.FailedDownloadError(
- "<non-existent URL>", "This FetchStrategy always fails")
+ "<non-existent URL>", "This FetchStrategy always fails"
+ )
fetcher = FetchStrategyComposite()
fetcher.append(FailedDownloadStrategy())
@@ -580,27 +552,27 @@ def mock_download():
spack.package_base.PackageBase.fetcher = orig_fn
-@pytest.mark.parametrize("manual,instr", [(False, False), (False, True),
- (True, False), (True, True)])
+@pytest.mark.parametrize(
+ "manual,instr", [(False, False), (False, True), (True, False), (True, True)]
+)
@pytest.mark.disable_clean_stage_check
-def test_manual_download(install_mockery, mock_download, monkeypatch, manual,
- instr):
+def test_manual_download(install_mockery, mock_download, monkeypatch, manual, instr):
"""
Ensure expected fetcher fail message based on manual download and instr.
"""
+
@property
def _instr(pkg):
- return 'Download instructions for {0}'.format(pkg.spec.name)
+ return "Download instructions for {0}".format(pkg.spec.name)
- spec = Spec('a').concretized()
+ spec = Spec("a").concretized()
pkg = spec.package
pkg.manual_download = manual
if instr:
- monkeypatch.setattr(spack.package_base.PackageBase, 'download_instr',
- _instr)
+ monkeypatch.setattr(spack.package_base.PackageBase, "download_instr", _instr)
- expected = pkg.download_instr if manual else 'All fetchers failed'
+ expected = pkg.download_instr if manual else "All fetchers failed"
with pytest.raises(spack.fetch_strategy.FetchError, match=expected):
pkg.do_fetch()
@@ -613,21 +585,22 @@ def fetching_not_allowed(monkeypatch):
def fetch(self):
raise Exception("Sources are fetched but shouldn't have been")
+
fetcher = FetchStrategyComposite()
fetcher.append(FetchingNotAllowed())
- monkeypatch.setattr(spack.package_base.PackageBase, 'fetcher', fetcher)
+ monkeypatch.setattr(spack.package_base.PackageBase, "fetcher", fetcher)
def test_fetch_without_code_is_noop(install_mockery, fetching_not_allowed):
"""do_fetch for packages without code should be a no-op"""
- pkg = Spec('a').concretized().package
+ pkg = Spec("a").concretized().package
pkg.has_code = False
pkg.do_fetch()
def test_fetch_external_package_is_noop(install_mockery, fetching_not_allowed):
"""do_fetch for packages without code should be a no-op"""
- spec = Spec('a').concretized()
+ spec = Spec("a").concretized()
spec.external_path = "/some/where"
assert spec.external
spec.package.do_fetch()
diff --git a/lib/spack/spack/test/patch.py b/lib/spack/spack/test/patch.py
index 33b49f2506..8b446146d0 100644
--- a/lib/spack/spack/test/patch.py
+++ b/lib/spack/spack/test/patch.py
@@ -26,50 +26,70 @@ from spack.util.path import is_windows
# due to the use of carriage returns ('\r\n') in Windows line endings
# files with contents 'foo', 'bar', and 'baz'
-foo_sha256 = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c' if not is_windows else 'bf874c7dd3a83cf370fdc17e496e341de06cd596b5c66dbf3c9bb7f6c139e3ee'
-bar_sha256 = '7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730' if not is_windows else '556ddc69a75d0be0ecafc82cd4657666c8063f13d762282059c39ff5dbf18116'
-baz_sha256 = 'bf07a7fbb825fc0aae7bf4a1177b2b31fcf8a3feeaf7092761e18c859ee52a9c' if not is_windows else 'd30392e66c636a063769cbb1db08cd3455a424650d4494db6379d73ea799582b'
-biz_sha256 = 'a69b288d7393261e613c276c6d38a01461028291f6e381623acc58139d01f54d' if not is_windows else '2f2b087a8f84834fd03d4d1d5b43584011e869e4657504ef3f8b0a672a5c222e'
+foo_sha256 = (
+ "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c"
+ if not is_windows
+ else "bf874c7dd3a83cf370fdc17e496e341de06cd596b5c66dbf3c9bb7f6c139e3ee"
+)
+bar_sha256 = (
+ "7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730"
+ if not is_windows
+ else "556ddc69a75d0be0ecafc82cd4657666c8063f13d762282059c39ff5dbf18116"
+)
+baz_sha256 = (
+ "bf07a7fbb825fc0aae7bf4a1177b2b31fcf8a3feeaf7092761e18c859ee52a9c"
+ if not is_windows
+ else "d30392e66c636a063769cbb1db08cd3455a424650d4494db6379d73ea799582b"
+)
+biz_sha256 = (
+ "a69b288d7393261e613c276c6d38a01461028291f6e381623acc58139d01f54d"
+ if not is_windows
+ else "2f2b087a8f84834fd03d4d1d5b43584011e869e4657504ef3f8b0a672a5c222e"
+)
# url patches
# url shas are the same on Windows
-url1_sha256 = 'abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234'
-url2_sha256 = '1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd'
-url2_archive_sha256 = 'abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd'
+url1_sha256 = "abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234"
+url2_sha256 = "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd"
+url2_archive_sha256 = "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
-platform_url_sha = '252c0af58be3d90e5dc5e0d16658434c9efa5d20a5df6c10bf72c2d77f780866' if not is_windows else 'ecf44a8244a486e9ef5f72c6cb622f99718dcd790707ac91af0b8c9a4ab7a2bb'
+platform_url_sha = (
+ "252c0af58be3d90e5dc5e0d16658434c9efa5d20a5df6c10bf72c2d77f780866"
+ if not is_windows
+ else "ecf44a8244a486e9ef5f72c6cb622f99718dcd790707ac91af0b8c9a4ab7a2bb"
+)
@pytest.fixture()
def mock_patch_stage(tmpdir_factory, monkeypatch):
# Don't disrupt the spack install directory with tests.
- mock_path = str(tmpdir_factory.mktemp('mock-patch-stage'))
- monkeypatch.setattr(spack.stage, '_stage_root', mock_path)
+ mock_path = str(tmpdir_factory.mktemp("mock-patch-stage"))
+ monkeypatch.setattr(spack.stage, "_stage_root", mock_path)
return mock_path
-data_path = os.path.join(spack.paths.test_path, 'data', 'patch')
+data_path = os.path.join(spack.paths.test_path, "data", "patch")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Line ending conflict on Windows")
-@pytest.mark.parametrize('filename, sha256, archive_sha256', [
- # compressed patch -- needs sha256 and archive_256
- (os.path.join(data_path, 'foo.tgz'),
- '252c0af58be3d90e5dc5e0d16658434c9efa5d20a5df6c10bf72c2d77f780866',
- '4e8092a161ec6c3a1b5253176fcf33ce7ba23ee2ff27c75dbced589dabacd06e'),
- # uncompressed patch -- needs only sha256
- (os.path.join(data_path, 'foo.patch'),
- platform_url_sha,
- None)
-])
+@pytest.mark.skipif(sys.platform == "win32", reason="Line ending conflict on Windows")
+@pytest.mark.parametrize(
+ "filename, sha256, archive_sha256",
+ [
+ # compressed patch -- needs sha256 and archive_256
+ (
+ os.path.join(data_path, "foo.tgz"),
+ "252c0af58be3d90e5dc5e0d16658434c9efa5d20a5df6c10bf72c2d77f780866",
+ "4e8092a161ec6c3a1b5253176fcf33ce7ba23ee2ff27c75dbced589dabacd06e",
+ ),
+ # uncompressed patch -- needs only sha256
+ (os.path.join(data_path, "foo.patch"), platform_url_sha, None),
+ ],
+)
def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config):
# Make a patch object
- url = 'file://' + filename
- s = Spec('patch').concretized()
- patch = spack.patch.UrlPatch(
- s.package, url, sha256=sha256, archive_sha256=archive_sha256
- )
+ url = "file://" + filename
+ s = Spec("patch").concretized()
+ patch = spack.patch.UrlPatch(s.package, url, sha256=sha256, archive_sha256=archive_sha256)
# make a stage
with Stage(url) as stage: # TODO: url isn't used; maybe refactor Stage
@@ -78,83 +98,89 @@ def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config):
mkdirp(stage.source_path)
with working_dir(stage.source_path):
# write a file to be patched
- with open('foo.txt', 'w') as f:
- f.write("""\
+ with open("foo.txt", "w") as f:
+ f.write(
+ """\
first line
second line
-""")
+"""
+ )
# write the expected result of patching.
- with open('foo-expected.txt', 'w') as f:
- f.write("""\
+ with open("foo-expected.txt", "w") as f:
+ f.write(
+ """\
zeroth line
first line
third line
-""")
+"""
+ )
# apply the patch and compare files
patch.fetch()
patch.apply(stage)
patch.clean()
with working_dir(stage.source_path):
- assert filecmp.cmp('foo.txt', 'foo-expected.txt')
+ assert filecmp.cmp("foo.txt", "foo-expected.txt")
def test_patch_in_spec(mock_packages, config):
"""Test whether patches in a package appear in the spec."""
- spec = Spec('patch')
+ spec = Spec("patch")
spec.concretize()
- assert 'patches' in list(spec.variants.keys())
+ assert "patches" in list(spec.variants.keys())
# Here the order is bar, foo, baz. Note that MV variants order
# lexicographically based on the hash, not on the position of the
# patch directive.
- assert ((bar_sha256,
- foo_sha256,
- baz_sha256) ==
- spec.variants['patches'].value)
+ assert (bar_sha256, foo_sha256, baz_sha256) == spec.variants["patches"].value
- assert ((foo_sha256, bar_sha256, baz_sha256) ==
- tuple(spec.variants['patches']._patches_in_order_of_appearance))
+ assert (foo_sha256, bar_sha256, baz_sha256) == tuple(
+ spec.variants["patches"]._patches_in_order_of_appearance
+ )
def test_patch_mixed_versions_subset_constraint(mock_packages, config):
"""If we have a package with mixed x.y and x.y.z versions, make sure that
- a patch applied to a version range of x.y.z versions is not applied to
- an x.y version.
+ a patch applied to a version range of x.y.z versions is not applied to
+ an x.y version.
"""
- spec1 = Spec('patch@1.0.1')
+ spec1 = Spec("patch@1.0.1")
spec1.concretize()
- assert biz_sha256 in spec1.variants['patches'].value
+ assert biz_sha256 in spec1.variants["patches"].value
- spec2 = Spec('patch@1.0')
+ spec2 = Spec("patch@1.0")
spec2.concretize()
- assert biz_sha256 not in spec2.variants['patches'].value
+ assert biz_sha256 not in spec2.variants["patches"].value
def test_patch_order(mock_packages, config):
- spec = Spec('dep-diamond-patch-top')
+ spec = Spec("dep-diamond-patch-top")
spec.concretize()
- mid2_sha256 = 'mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234' \
- if not is_windows \
- else 'mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234'
- mid1_sha256 = '0b62284961dab49887e31319843431ee5b037382ac02c4fe436955abef11f094' \
- if not is_windows else 'aeb16c4dec1087e39f2330542d59d9b456dd26d791338ae6d80b6ffd10c89dfa'
- top_sha256 = 'f7de2947c64cb6435e15fb2bef359d1ed5f6356b2aebb7b20535e3772904e6db' \
- if not is_windows else 'ff34cb21271d16dbf928374f610bb5dd593d293d311036ddae86c4846ff79070'
+ mid2_sha256 = (
+ "mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234"
+ if not is_windows
+ else "mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234"
+ )
+ mid1_sha256 = (
+ "0b62284961dab49887e31319843431ee5b037382ac02c4fe436955abef11f094"
+ if not is_windows
+ else "aeb16c4dec1087e39f2330542d59d9b456dd26d791338ae6d80b6ffd10c89dfa"
+ )
+ top_sha256 = (
+ "f7de2947c64cb6435e15fb2bef359d1ed5f6356b2aebb7b20535e3772904e6db"
+ if not is_windows
+ else "ff34cb21271d16dbf928374f610bb5dd593d293d311036ddae86c4846ff79070"
+ )
- dep = spec['patch']
- patch_order = dep.variants['patches']._patches_in_order_of_appearance
+ dep = spec["patch"]
+ patch_order = dep.variants["patches"]._patches_in_order_of_appearance
# 'mid2' comes after 'mid1' alphabetically
# 'top' comes after 'mid1'/'mid2' alphabetically
# 'patch' comes last of all specs in the dag, alphabetically, so the
# patches of 'patch' to itself are applied last. The patches applied by
# 'patch' are ordered based on their appearance in the package.py file
- expected_order = (
- mid1_sha256,
- mid2_sha256,
- top_sha256,
- foo_sha256, bar_sha256, baz_sha256)
+ expected_order = (mid1_sha256, mid2_sha256, top_sha256, foo_sha256, bar_sha256, baz_sha256)
assert expected_order == tuple(patch_order)
@@ -163,76 +189,76 @@ def test_nested_directives(mock_packages):
"""Ensure pkg data structures are set up properly by nested directives."""
# this ensures that the patch() directive results were removed
# properly from the DirectiveMeta._directives_to_be_executed list
- patcher = spack.repo.path.get_pkg_class('patch-several-dependencies')
+ patcher = spack.repo.path.get_pkg_class("patch-several-dependencies")
assert len(patcher.patches) == 0
# this ensures that results of dependency patches were properly added
# to Dependency objects.
- libelf_dep = next(iter(patcher.dependencies['libelf'].values()))
+ libelf_dep = next(iter(patcher.dependencies["libelf"].values()))
assert len(libelf_dep.patches) == 1
assert len(libelf_dep.patches[Spec()]) == 1
- libdwarf_dep = next(iter(patcher.dependencies['libdwarf'].values()))
+ libdwarf_dep = next(iter(patcher.dependencies["libdwarf"].values()))
assert len(libdwarf_dep.patches) == 2
assert len(libdwarf_dep.patches[Spec()]) == 1
- assert len(libdwarf_dep.patches[Spec('@20111030')]) == 1
+ assert len(libdwarf_dep.patches[Spec("@20111030")]) == 1
- fake_dep = next(iter(patcher.dependencies['fake'].values()))
+ fake_dep = next(iter(patcher.dependencies["fake"].values()))
assert len(fake_dep.patches) == 1
assert len(fake_dep.patches[Spec()]) == 2
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Test requires Autotools")
-def test_patched_dependency(
- mock_packages, config, install_mockery, mock_fetch):
+@pytest.mark.skipif(sys.platform == "win32", reason="Test requires Autotools")
+def test_patched_dependency(mock_packages, config, install_mockery, mock_fetch):
"""Test whether patched dependencies work."""
- spec = Spec('patch-a-dependency')
+ spec = Spec("patch-a-dependency")
spec.concretize()
- assert 'patches' in list(spec['libelf'].variants.keys())
+ assert "patches" in list(spec["libelf"].variants.keys())
# make sure the patch makes it into the dependency spec
- t_sha = 'c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8' \
- if not is_windows else '3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11'
- assert ((t_sha,) ==
- spec['libelf'].variants['patches'].value)
+ t_sha = (
+ "c45c1564f70def3fc1a6e22139f62cb21cd190cc3a7dbe6f4120fa59ce33dcb8"
+ if not is_windows
+ else "3c5b65abcd6a3b2c714dbf7c31ff65fe3748a1adc371f030c283007ca5534f11"
+ )
+ assert (t_sha,) == spec["libelf"].variants["patches"].value
# make sure the patch in the dependent's directory is applied to the
# dependency
- libelf = spec['libelf']
+ libelf = spec["libelf"]
pkg = libelf.package
pkg.do_patch()
with pkg.stage:
with working_dir(pkg.stage.source_path):
# output a Makefile with 'echo Patched!' as the default target
- configure = Executable('./configure')
+ configure = Executable("./configure")
configure()
# Make sure the Makefile contains the patched text
- with open('Makefile') as mf:
- assert 'Patched!' in mf.read()
+ with open("Makefile") as mf:
+ assert "Patched!" in mf.read()
def trigger_bad_patch(pkg):
if not os.path.isdir(pkg.stage.source_path):
os.makedirs(pkg.stage.source_path)
- bad_file = os.path.join(pkg.stage.source_path, '.spack_patch_failed')
+ bad_file = os.path.join(pkg.stage.source_path, ".spack_patch_failed")
touch(bad_file)
return bad_file
def test_patch_failure_develop_spec_exits_gracefully(
- mock_packages, config, install_mockery, mock_fetch, tmpdir):
+ mock_packages, config, install_mockery, mock_fetch, tmpdir
+):
"""
ensure that a failing patch does not trigger exceptions
for develop specs
"""
- spec = Spec('patch-a-dependency '
- '^libelf dev_path=%s' % str(tmpdir))
+ spec = Spec("patch-a-dependency " "^libelf dev_path=%s" % str(tmpdir))
spec.concretize()
- libelf = spec['libelf']
- assert 'patches' in list(libelf.variants.keys())
+ libelf = spec["libelf"]
+ assert "patches" in list(libelf.variants.keys())
pkg = libelf.package
with pkg.stage:
bad_patch_indicator = trigger_bad_patch(pkg)
@@ -241,15 +267,14 @@ def test_patch_failure_develop_spec_exits_gracefully(
# success if no exceptions raised
-def test_patch_failure_restages(
- mock_packages, config, install_mockery, mock_fetch):
+def test_patch_failure_restages(mock_packages, config, install_mockery, mock_fetch):
"""
ensure that a failing patch does not trigger exceptions
for non-develop specs and the source gets restaged
"""
- spec = Spec('patch-a-dependency')
+ spec = Spec("patch-a-dependency")
spec.concretize()
- pkg = spec['libelf'].package
+ pkg = spec["libelf"].package
with pkg.stage:
bad_patch_indicator = trigger_bad_patch(pkg)
assert os.path.isfile(bad_patch_indicator)
@@ -259,157 +284,147 @@ def test_patch_failure_restages(
def test_multiple_patched_dependencies(mock_packages, config):
"""Test whether multiple patched dependencies work."""
- spec = Spec('patch-several-dependencies')
+ spec = Spec("patch-several-dependencies")
spec.concretize()
# basic patch on libelf
- assert 'patches' in list(spec['libelf'].variants.keys())
+ assert "patches" in list(spec["libelf"].variants.keys())
# foo
- assert ((foo_sha256,) ==
- spec['libelf'].variants['patches'].value)
+ assert (foo_sha256,) == spec["libelf"].variants["patches"].value
# URL patches
- assert 'patches' in list(spec['fake'].variants.keys())
+ assert "patches" in list(spec["fake"].variants.keys())
# urlpatch.patch, urlpatch.patch.gz
- assert (
- (url2_sha256, url1_sha256) == spec['fake'].variants['patches'].value)
+ assert (url2_sha256, url1_sha256) == spec["fake"].variants["patches"].value
def test_conditional_patched_dependencies(mock_packages, config):
"""Test whether conditional patched dependencies work."""
- spec = Spec('patch-several-dependencies @1.0')
+ spec = Spec("patch-several-dependencies @1.0")
spec.concretize()
# basic patch on libelf
- assert 'patches' in list(spec['libelf'].variants.keys())
+ assert "patches" in list(spec["libelf"].variants.keys())
# foo
- assert ((foo_sha256,) ==
- spec['libelf'].variants['patches'].value)
+ assert (foo_sha256,) == spec["libelf"].variants["patches"].value
# conditional patch on libdwarf
- assert 'patches' in list(spec['libdwarf'].variants.keys())
+ assert "patches" in list(spec["libdwarf"].variants.keys())
# bar
- assert ((bar_sha256,) ==
- spec['libdwarf'].variants['patches'].value)
+ assert (bar_sha256,) == spec["libdwarf"].variants["patches"].value
# baz is conditional on libdwarf version
- assert (baz_sha256
- not in spec['libdwarf'].variants['patches'].value)
+ assert baz_sha256 not in spec["libdwarf"].variants["patches"].value
# URL patches
- assert 'patches' in list(spec['fake'].variants.keys())
+ assert "patches" in list(spec["fake"].variants.keys())
# urlpatch.patch, urlpatch.patch.gz
- assert (
- (url2_sha256, url1_sha256) == spec['fake'].variants['patches'].value)
+ assert (url2_sha256, url1_sha256) == spec["fake"].variants["patches"].value
def check_multi_dependency_patch_specs(
- libelf, libdwarf, fake, # specs
- owner, package_dir): # parent spec properties
+ libelf, libdwarf, fake, owner, package_dir # specs
+): # parent spec properties
"""Validate patches on dependencies of patch-several-dependencies."""
# basic patch on libelf
- assert 'patches' in list(libelf.variants.keys())
+ assert "patches" in list(libelf.variants.keys())
# foo
- assert (foo_sha256 in libelf.variants['patches'].value)
+ assert foo_sha256 in libelf.variants["patches"].value
# conditional patch on libdwarf
- assert 'patches' in list(libdwarf.variants.keys())
+ assert "patches" in list(libdwarf.variants.keys())
# bar
- assert (bar_sha256 in libdwarf.variants['patches'].value)
+ assert bar_sha256 in libdwarf.variants["patches"].value
# baz is conditional on libdwarf version (no guarantee on order w/conds)
- assert (baz_sha256 in libdwarf.variants['patches'].value)
+ assert baz_sha256 in libdwarf.variants["patches"].value
def get_patch(spec, ending):
return next(p for p in spec.patches if p.path_or_url.endswith(ending))
# make sure file patches are reconstructed properly
- foo_patch = get_patch(libelf, 'foo.patch')
- bar_patch = get_patch(libdwarf, 'bar.patch')
- baz_patch = get_patch(libdwarf, 'baz.patch')
+ foo_patch = get_patch(libelf, "foo.patch")
+ bar_patch = get_patch(libdwarf, "bar.patch")
+ baz_patch = get_patch(libdwarf, "baz.patch")
assert foo_patch.owner == owner
- assert foo_patch.path == os.path.join(package_dir, 'foo.patch')
+ assert foo_patch.path == os.path.join(package_dir, "foo.patch")
assert foo_patch.sha256 == foo_sha256
- assert bar_patch.owner == 'builtin.mock.patch-several-dependencies'
- assert bar_patch.path == os.path.join(package_dir, 'bar.patch')
+ assert bar_patch.owner == "builtin.mock.patch-several-dependencies"
+ assert bar_patch.path == os.path.join(package_dir, "bar.patch")
assert bar_patch.sha256 == bar_sha256
- assert baz_patch.owner == 'builtin.mock.patch-several-dependencies'
- assert baz_patch.path == os.path.join(package_dir, 'baz.patch')
+ assert baz_patch.owner == "builtin.mock.patch-several-dependencies"
+ assert baz_patch.path == os.path.join(package_dir, "baz.patch")
assert baz_patch.sha256 == baz_sha256
# URL patches
- assert 'patches' in list(fake.variants.keys())
+ assert "patches" in list(fake.variants.keys())
# urlpatch.patch, urlpatch.patch.gz
- assert (url2_sha256, url1_sha256) == fake.variants['patches'].value
+ assert (url2_sha256, url1_sha256) == fake.variants["patches"].value
- url1_patch = get_patch(fake, 'urlpatch.patch')
- url2_patch = get_patch(fake, 'urlpatch2.patch.gz')
+ url1_patch = get_patch(fake, "urlpatch.patch")
+ url2_patch = get_patch(fake, "urlpatch2.patch.gz")
- assert url1_patch.owner == 'builtin.mock.patch-several-dependencies'
- assert url1_patch.url == 'http://example.com/urlpatch.patch'
+ assert url1_patch.owner == "builtin.mock.patch-several-dependencies"
+ assert url1_patch.url == "http://example.com/urlpatch.patch"
assert url1_patch.sha256 == url1_sha256
- assert url2_patch.owner == 'builtin.mock.patch-several-dependencies'
- assert url2_patch.url == 'http://example.com/urlpatch2.patch.gz'
+ assert url2_patch.owner == "builtin.mock.patch-several-dependencies"
+ assert url2_patch.url == "http://example.com/urlpatch2.patch.gz"
assert url2_patch.sha256 == url2_sha256
assert url2_patch.archive_sha256 == url2_archive_sha256
def test_conditional_patched_deps_with_conditions(mock_packages, config):
"""Test whether conditional patched dependencies with conditions work."""
- spec = Spec('patch-several-dependencies @1.0 ^libdwarf@20111030')
+ spec = Spec("patch-several-dependencies @1.0 ^libdwarf@20111030")
spec.concretize()
- libelf = spec['libelf']
- libdwarf = spec['libdwarf']
- fake = spec['fake']
+ libelf = spec["libelf"]
+ libdwarf = spec["libdwarf"]
+ fake = spec["fake"]
check_multi_dependency_patch_specs(
- libelf, libdwarf, fake,
- 'builtin.mock.patch-several-dependencies',
- spec.package.package_dir)
+ libelf, libdwarf, fake, "builtin.mock.patch-several-dependencies", spec.package.package_dir
+ )
def test_write_and_read_sub_dags_with_patched_deps(mock_packages, config):
"""Test whether patched dependencies are still correct after writing and
- reading a sub-DAG of a concretized Spec.
+ reading a sub-DAG of a concretized Spec.
"""
- spec = Spec('patch-several-dependencies @1.0 ^libdwarf@20111030')
+ spec = Spec("patch-several-dependencies @1.0 ^libdwarf@20111030")
spec.concretize()
# write to YAML and read back in -- new specs will *only* contain
# their sub-DAGs, and won't contain the dependent that patched them
- libelf = spack.spec.Spec.from_yaml(spec['libelf'].to_yaml())
- libdwarf = spack.spec.Spec.from_yaml(spec['libdwarf'].to_yaml())
- fake = spack.spec.Spec.from_yaml(spec['fake'].to_yaml())
+ libelf = spack.spec.Spec.from_yaml(spec["libelf"].to_yaml())
+ libdwarf = spack.spec.Spec.from_yaml(spec["libdwarf"].to_yaml())
+ fake = spack.spec.Spec.from_yaml(spec["fake"].to_yaml())
# make sure we can still read patches correctly for these specs
check_multi_dependency_patch_specs(
- libelf, libdwarf, fake,
- 'builtin.mock.patch-several-dependencies',
- spec.package.package_dir)
+ libelf, libdwarf, fake, "builtin.mock.patch-several-dependencies", spec.package.package_dir
+ )
def test_patch_no_file():
# Give it the attributes we need to construct the error message
- FakePackage = collections.namedtuple(
- 'FakePackage', ['name', 'namespace', 'fullname'])
- fp = FakePackage('fake-package', 'test', 'fake-package')
- with pytest.raises(ValueError, match='FilePatch:'):
- spack.patch.FilePatch(fp, 'nonexistent_file', 0, '')
+ FakePackage = collections.namedtuple("FakePackage", ["name", "namespace", "fullname"])
+ fp = FakePackage("fake-package", "test", "fake-package")
+ with pytest.raises(ValueError, match="FilePatch:"):
+ spack.patch.FilePatch(fp, "nonexistent_file", 0, "")
- patch = spack.patch.Patch(fp, 'nonexistent_file', 0, '')
- patch.path = 'test'
- with pytest.raises(spack.patch.NoSuchPatchError, match='No such patch:'):
- patch.apply('')
+ patch = spack.patch.Patch(fp, "nonexistent_file", 0, "")
+ patch.path = "test"
+ with pytest.raises(spack.patch.NoSuchPatchError, match="No such patch:"):
+ patch.apply("")
-@pytest.mark.parametrize('level', [-1, 0.0, '1'])
+@pytest.mark.parametrize("level", [-1, 0.0, "1"])
def test_invalid_level(level):
# Give it the attributes we need to construct the error message
- FakePackage = collections.namedtuple('FakePackage', ['name', 'namespace'])
- fp = FakePackage('fake-package', 'test')
- with pytest.raises(ValueError,
- match='Patch level needs to be a non-negative integer.'):
- spack.patch.Patch(fp, 'nonexistent_file', level, '')
+ FakePackage = collections.namedtuple("FakePackage", ["name", "namespace"])
+ fp = FakePackage("fake-package", "test")
+ with pytest.raises(ValueError, match="Patch level needs to be a non-negative integer."):
+ spack.patch.Patch(fp, "nonexistent_file", level, "")
diff --git a/lib/spack/spack/test/pattern.py b/lib/spack/spack/test/pattern.py
index 4e77fbd7c1..3d95f2f9d3 100644
--- a/lib/spack/spack/test/pattern.py
+++ b/lib/spack/spack/test/pattern.py
@@ -12,14 +12,15 @@ import spack.util.pattern as pattern
@pytest.fixture()
def interface():
"""Returns the interface class for the composite."""
+
class Base:
counter = 0
def add(self):
- raise NotImplementedError('add not implemented')
+ raise NotImplementedError("add not implemented")
def subtract(self):
- raise NotImplementedError('subtract not implemented')
+ raise NotImplementedError("subtract not implemented")
return Base
@@ -27,6 +28,7 @@ def interface():
@pytest.fixture()
def implementation(interface):
"""Returns an implementation of the interface"""
+
class Implementation(interface):
def __init__(self, value):
self.value = value
@@ -40,21 +42,20 @@ def implementation(interface):
return Implementation
-@pytest.fixture(params=[
- 'interface',
- 'method_list'
-])
+@pytest.fixture(params=["interface", "method_list"])
def composite(interface, implementation, request):
"""Returns a composite that contains an instance of `implementation(1)`
and one of `implementation(2)`.
"""
- if request.param == 'interface':
+ if request.param == "interface":
+
@pattern.composite(interface=interface)
class Composite:
pass
else:
- @pattern.composite(method_list=['add', 'subtract'])
+
+ @pattern.composite(method_list=["add", "subtract"])
class Composite:
pass
@@ -78,6 +79,7 @@ def test_composite_interface_calls(interface, composite):
def test_composite_wrong_container(interface):
with pytest.raises(TypeError):
+
@pattern.composite(interface=interface, container=2)
class CompositeFromInterface:
pass
@@ -86,6 +88,7 @@ def test_composite_wrong_container(interface):
def test_composite_no_methods():
with pytest.raises(TypeError):
+
@pattern.composite()
class CompositeFromInterface:
pass
diff --git a/lib/spack/spack/test/permissions.py b/lib/spack/spack/test/permissions.py
index e2667b9b56..06814695de 100644
--- a/lib/spack/spack/test/permissions.py
+++ b/lib/spack/spack/test/permissions.py
@@ -13,12 +13,11 @@ import llnl.util.filesystem as fs
from spack.util.file_permissions import InvalidPermissionsError, set_permissions
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="chmod unsupported on Windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="chmod unsupported on Windows")
def test_chmod_real_entries_ignores_suid_sgid(tmpdir):
- path = str(tmpdir.join('file').ensure())
+ path = str(tmpdir.join("file").ensure())
mode = stat.S_ISUID | stat.S_ISGID | stat.S_ISVTX
os.chmod(path, mode)
mode = os.stat(path).st_mode # adds a high bit we aren't concerned with
@@ -30,7 +29,7 @@ def test_chmod_real_entries_ignores_suid_sgid(tmpdir):
def test_chmod_rejects_group_writable_suid(tmpdir):
- path = str(tmpdir.join('file').ensure())
+ path = str(tmpdir.join("file").ensure())
mode = stat.S_ISUID
fs.chmod_x(path, mode)
@@ -40,7 +39,7 @@ def test_chmod_rejects_group_writable_suid(tmpdir):
def test_chmod_rejects_world_writable_suid(tmpdir):
- path = str(tmpdir.join('file').ensure())
+ path = str(tmpdir.join("file").ensure())
mode = stat.S_ISUID
fs.chmod_x(path, mode)
@@ -50,7 +49,7 @@ def test_chmod_rejects_world_writable_suid(tmpdir):
def test_chmod_rejects_world_writable_sgid(tmpdir):
- path = str(tmpdir.join('file').ensure())
+ path = str(tmpdir.join("file").ensure())
mode = stat.S_ISGID
fs.chmod_x(path, mode)
diff --git a/lib/spack/spack/test/provider_index.py b/lib/spack/spack/test/provider_index.py
index 609f0a0593..c342ca68b4 100644
--- a/lib/spack/spack/test/provider_index.py
+++ b/lib/spack/spack/test/provider_index.py
@@ -40,27 +40,27 @@ def test_provider_index_round_trip(mock_packages):
def test_providers_for_simple(mock_packages):
p = ProviderIndex(spack.repo.all_package_names())
- blas_providers = p.providers_for('blas')
- assert Spec('netlib-blas') in blas_providers
- assert Spec('openblas') in blas_providers
- assert Spec('openblas-with-lapack') in blas_providers
+ blas_providers = p.providers_for("blas")
+ assert Spec("netlib-blas") in blas_providers
+ assert Spec("openblas") in blas_providers
+ assert Spec("openblas-with-lapack") in blas_providers
- lapack_providers = p.providers_for('lapack')
- assert Spec('netlib-lapack') in lapack_providers
- assert Spec('openblas-with-lapack') in lapack_providers
+ lapack_providers = p.providers_for("lapack")
+ assert Spec("netlib-lapack") in lapack_providers
+ assert Spec("openblas-with-lapack") in lapack_providers
def test_mpi_providers(mock_packages):
p = ProviderIndex(spack.repo.all_package_names())
- mpi_2_providers = p.providers_for('mpi@2')
- assert Spec('mpich2') in mpi_2_providers
- assert Spec('mpich@3:') in mpi_2_providers
+ mpi_2_providers = p.providers_for("mpi@2")
+ assert Spec("mpich2") in mpi_2_providers
+ assert Spec("mpich@3:") in mpi_2_providers
- mpi_3_providers = p.providers_for('mpi@3')
- assert Spec('mpich2') not in mpi_3_providers
- assert Spec('mpich@3:') in mpi_3_providers
- assert Spec('zmpi') in mpi_3_providers
+ mpi_3_providers = p.providers_for("mpi@3")
+ assert Spec("mpich2") not in mpi_3_providers
+ assert Spec("mpich@3:") in mpi_3_providers
+ assert Spec("zmpi") in mpi_3_providers
def test_equal(mock_packages):
diff --git a/lib/spack/spack/test/relocate.py b/lib/spack/spack/test/relocate.py
index b5c0151420..b79f0ba1a4 100644
--- a/lib/spack/spack/test/relocate.py
+++ b/lib/spack/spack/test/relocate.py
@@ -21,21 +21,20 @@ import spack.store
import spack.tengine
import spack.util.executable
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Tests fail on Windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="Tests fail on Windows")
def skip_unless_linux(f):
return pytest.mark.skipif(
- str(spack.platforms.real_host()) != 'linux',
- reason='implementation currently requires linux'
+ str(spack.platforms.real_host()) != "linux",
+ reason="implementation currently requires linux",
)(f)
def rpaths_for(new_binary):
"""Return the RPATHs or RUNPATHs of a binary."""
- patchelf = spack.util.executable.which('patchelf')
- output = patchelf('--print-rpath', str(new_binary), output=str)
+ patchelf = spack.util.executable.which("patchelf")
+ output = patchelf("--print-rpath", str(new_binary), output=str)
return output.strip()
@@ -43,7 +42,7 @@ def text_in_bin(text, binary):
with open(str(binary), "rb") as f:
data = f.read()
f.seek(0)
- pat = re.compile(text.encode('utf-8'))
+ pat = re.compile(text.encode("utf-8"))
if not pat.search(data):
return False
return True
@@ -58,20 +57,16 @@ def is_relocatable(request):
def source_file(tmpdir, is_relocatable):
"""Returns the path to a source file of a relocatable executable."""
if is_relocatable:
- template_src = os.path.join(
- spack.paths.test_path, 'data', 'templates', 'relocatable.c'
- )
- src = tmpdir.join('relocatable.c')
+ template_src = os.path.join(spack.paths.test_path, "data", "templates", "relocatable.c")
+ src = tmpdir.join("relocatable.c")
shutil.copy(template_src, str(src))
else:
- template_dirs = [
- os.path.join(spack.paths.test_path, 'data', 'templates')
- ]
+ template_dirs = [os.path.join(spack.paths.test_path, "data", "templates")]
env = spack.tengine.make_environment(template_dirs)
- template = env.get_template('non_relocatable.c')
- text = template.render({'prefix': spack.store.layout.root})
+ template = env.get_template("non_relocatable.c")
+ text = template.render({"prefix": spack.store.layout.root})
- src = tmpdir.join('non_relocatable.c')
+ src = tmpdir.join("non_relocatable.c")
src.write(text)
return src
@@ -80,7 +75,8 @@ def source_file(tmpdir, is_relocatable):
@pytest.fixture()
def mock_patchelf(tmpdir, mock_executable):
def _factory(output):
- return mock_executable('patchelf', output=output)
+ return mock_executable("patchelf", output=output)
+
return _factory
@@ -89,24 +85,30 @@ def hello_world(tmpdir):
"""Factory fixture that compiles an ELF binary setting its RPATH. Relative
paths are encoded with `$ORIGIN` prepended.
"""
+
def _factory(rpaths, message="Hello world!"):
- source = tmpdir.join('main.c')
- source.write("""
+ source = tmpdir.join("main.c")
+ source.write(
+ """
#include <stdio.h>
int main(){{
printf("{0}");
}}
- """.format(message))
- gcc = spack.util.executable.which('gcc')
- executable = source.dirpath('main.x')
+ """.format(
+ message
+ )
+ )
+ gcc = spack.util.executable.which("gcc")
+ executable = source.dirpath("main.x")
# Encode relative RPATHs using `$ORIGIN` as the root prefix
- rpaths = [x if os.path.isabs(x) else os.path.join('$ORIGIN', x)
- for x in rpaths]
- rpath_str = ':'.join(rpaths)
+ rpaths = [x if os.path.isabs(x) else os.path.join("$ORIGIN", x) for x in rpaths]
+ rpath_str = ":".join(rpaths)
opts = [
- '-Wl,--disable-new-dtags',
- '-Wl,-rpath={0}'.format(rpath_str),
- str(source), '-o', str(executable)
+ "-Wl,--disable-new-dtags",
+ "-Wl,-rpath={0}".format(rpath_str),
+ str(source),
+ "-o",
+ str(executable),
]
gcc(*opts)
return executable
@@ -121,31 +123,29 @@ def make_dylib(tmpdir_factory):
- Writes the same rpath twice
- Writes its install path as an absolute path
"""
- cc = spack.util.executable.which('cc')
+ cc = spack.util.executable.which("cc")
def _factory(abs_install_name="abs", extra_rpaths=[]):
assert all(extra_rpaths)
- tmpdir = tmpdir_factory.mktemp(
- abs_install_name + '-'.join(extra_rpaths).replace('/', '')
- )
- src = tmpdir.join('foo.c')
+ tmpdir = tmpdir_factory.mktemp(abs_install_name + "-".join(extra_rpaths).replace("/", ""))
+ src = tmpdir.join("foo.c")
src.write("int foo() { return 1; }\n")
- filename = 'foo.dylib'
+ filename = "foo.dylib"
lib = tmpdir.join(filename)
- args = ['-shared', str(src), '-o', str(lib)]
+ args = ["-shared", str(src), "-o", str(lib)]
rpaths = list(extra_rpaths)
- if abs_install_name.startswith('abs'):
- args += ['-install_name', str(lib)]
+ if abs_install_name.startswith("abs"):
+ args += ["-install_name", str(lib)]
else:
- args += ['-install_name', '@rpath/' + filename]
+ args += ["-install_name", "@rpath/" + filename]
- if abs_install_name.endswith('rpath'):
+ if abs_install_name.endswith("rpath"):
rpaths.append(str(tmpdir))
- args.extend('-Wl,-rpath,' + s for s in rpaths)
+ args.extend("-Wl,-rpath," + s for s in rpaths)
cc(*args)
@@ -156,16 +156,16 @@ def make_dylib(tmpdir_factory):
@pytest.fixture()
def make_object_file(tmpdir):
- cc = spack.util.executable.which('cc')
+ cc = spack.util.executable.which("cc")
def _factory():
- src = tmpdir.join('bar.c')
+ src = tmpdir.join("bar.c")
src.write("int bar() { return 2; }\n")
- filename = 'bar.o'
+ filename = "bar.o"
lib = tmpdir.join(filename)
- args = ['-c', str(src), '-o', str(lib)]
+ args = ["-c", str(src), "-o", str(lib)]
cc(*args)
@@ -179,31 +179,29 @@ def copy_binary():
"""Returns a function that copies a binary somewhere and
returns the new location.
"""
+
def _copy_somewhere(orig_binary):
new_root = orig_binary.mkdtemp()
- new_binary = new_root.join('main.x')
+ new_binary = new_root.join("main.x")
shutil.copy(str(orig_binary), str(new_binary))
return new_binary
+
return _copy_somewhere
-@pytest.mark.requires_executables(
- '/usr/bin/gcc', 'patchelf', 'strings', 'file'
-)
+@pytest.mark.requires_executables("/usr/bin/gcc", "patchelf", "strings", "file")
@skip_unless_linux
def test_file_is_relocatable(source_file, is_relocatable):
- compiler = spack.util.executable.Executable('/usr/bin/gcc')
- executable = str(source_file).replace('.c', '.x')
- compiler_env = {
- 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
- }
- compiler(str(source_file), '-o', executable, env=compiler_env)
+ compiler = spack.util.executable.Executable("/usr/bin/gcc")
+ executable = str(source_file).replace(".c", ".x")
+ compiler_env = {"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}
+ compiler(str(source_file), "-o", executable, env=compiler_env)
assert spack.relocate.is_binary(executable)
assert spack.relocate.file_is_relocatable(executable) is is_relocatable
-@pytest.mark.requires_executables('patchelf', 'strings', 'file')
+@pytest.mark.requires_executables("patchelf", "strings", "file")
@skip_unless_linux
def test_patchelf_is_relocatable():
patchelf = os.path.realpath(spack.relocate._patchelf())
@@ -215,24 +213,27 @@ def test_patchelf_is_relocatable():
def test_file_is_relocatable_errors(tmpdir):
# The file passed in as argument must exist...
with pytest.raises(ValueError) as exc_info:
- spack.relocate.file_is_relocatable('/usr/bin/does_not_exist')
- assert 'does not exist' in str(exc_info.value)
+ spack.relocate.file_is_relocatable("/usr/bin/does_not_exist")
+ assert "does not exist" in str(exc_info.value)
# ...and the argument must be an absolute path to it
- file = tmpdir.join('delete.me')
- file.write('foo')
+ file = tmpdir.join("delete.me")
+ file.write("foo")
with llnl.util.filesystem.working_dir(str(tmpdir)):
with pytest.raises(ValueError) as exc_info:
- spack.relocate.file_is_relocatable('delete.me')
- assert 'is not an absolute path' in str(exc_info.value)
+ spack.relocate.file_is_relocatable("delete.me")
+ assert "is not an absolute path" in str(exc_info.value)
-@pytest.mark.parametrize('patchelf_behavior,expected', [
- ('echo ', []),
- ('echo /opt/foo/lib:/opt/foo/lib64', ['/opt/foo/lib', '/opt/foo/lib64']),
- ('exit 1', [])
-])
+@pytest.mark.parametrize(
+ "patchelf_behavior,expected",
+ [
+ ("echo ", []),
+ ("echo /opt/foo/lib:/opt/foo/lib64", ["/opt/foo/lib", "/opt/foo/lib64"]),
+ ("exit 1", []),
+ ],
+)
def test_existing_rpaths(patchelf_behavior, expected, mock_patchelf):
# Here we are mocking an executable that is always called "patchelf"
# because that will skip the part where we try to build patchelf
@@ -243,122 +244,135 @@ def test_existing_rpaths(patchelf_behavior, expected, mock_patchelf):
assert rpaths == expected
-@pytest.mark.parametrize('start_path,path_root,paths,expected', [
- ('/usr/bin/test', '/usr', ['/usr/lib', '/usr/lib64', '/opt/local/lib'],
- [os.path.join('$ORIGIN', '..', 'lib'), os.path.join('$ORIGIN', '..', 'lib64'),
- '/opt/local/lib'])
-])
+@pytest.mark.parametrize(
+ "start_path,path_root,paths,expected",
+ [
+ (
+ "/usr/bin/test",
+ "/usr",
+ ["/usr/lib", "/usr/lib64", "/opt/local/lib"],
+ [
+ os.path.join("$ORIGIN", "..", "lib"),
+ os.path.join("$ORIGIN", "..", "lib64"),
+ "/opt/local/lib",
+ ],
+ )
+ ],
+)
def test_make_relative_paths(start_path, path_root, paths, expected):
relatives = spack.relocate._make_relative(start_path, path_root, paths)
assert relatives == expected
-@pytest.mark.parametrize('start_path,relative_paths,expected', [
- # $ORIGIN will be replaced with os.path.dirname('usr/bin/test')
- # and then normalized
- ('/usr/bin/test',
- ['$ORIGIN/../lib', '$ORIGIN/../lib64', '/opt/local/lib'],
- [os.sep + os.path.join('usr', 'lib'), os.sep + os.path.join('usr', 'lib64'),
- '/opt/local/lib']),
- # Relative path without $ORIGIN
- ('/usr/bin/test', ['../local/lib'], ['../local/lib']),
-])
+@pytest.mark.parametrize(
+ "start_path,relative_paths,expected",
+ [
+ # $ORIGIN will be replaced with os.path.dirname('usr/bin/test')
+ # and then normalized
+ (
+ "/usr/bin/test",
+ ["$ORIGIN/../lib", "$ORIGIN/../lib64", "/opt/local/lib"],
+ [
+ os.sep + os.path.join("usr", "lib"),
+ os.sep + os.path.join("usr", "lib64"),
+ "/opt/local/lib",
+ ],
+ ),
+ # Relative path without $ORIGIN
+ ("/usr/bin/test", ["../local/lib"], ["../local/lib"]),
+ ],
+)
def test_normalize_relative_paths(start_path, relative_paths, expected):
- normalized = spack.relocate._normalize_relative_paths(
- start_path, relative_paths
- )
+ normalized = spack.relocate._normalize_relative_paths(start_path, relative_paths)
assert normalized == expected
def test_set_elf_rpaths(mock_patchelf):
# Try to relocate a mock version of patchelf and check
# the call made to patchelf itself
- patchelf = mock_patchelf('echo $@')
- rpaths = ['/usr/lib', '/usr/lib64', '/opt/local/lib']
+ patchelf = mock_patchelf("echo $@")
+ rpaths = ["/usr/lib", "/usr/lib64", "/opt/local/lib"]
output = spack.relocate._set_elf_rpaths(patchelf, rpaths)
# Assert that the arguments of the call to patchelf are as expected
- assert '--force-rpath' in output
- assert '--set-rpath ' + ':'.join(rpaths) in output
+ assert "--force-rpath" in output
+ assert "--set-rpath " + ":".join(rpaths) in output
assert patchelf in output
@skip_unless_linux
def test_set_elf_rpaths_warning(mock_patchelf):
# Mock a failing patchelf command and ensure it warns users
- patchelf = mock_patchelf('exit 1')
- rpaths = ['/usr/lib', '/usr/lib64', '/opt/local/lib']
+ patchelf = mock_patchelf("exit 1")
+ rpaths = ["/usr/lib", "/usr/lib64", "/opt/local/lib"]
# To avoid using capfd in order to check if the warning was triggered
# here we just check that output is not set
output = spack.relocate._set_elf_rpaths(patchelf, rpaths)
assert output is None
-@pytest.mark.requires_executables('patchelf', 'strings', 'file', 'gcc')
+@pytest.mark.requires_executables("patchelf", "strings", "file", "gcc")
@skip_unless_linux
def test_replace_prefix_bin(hello_world):
# Compile an "Hello world!" executable and set RPATHs
- executable = hello_world(rpaths=['/usr/lib', '/usr/lib64'])
+ executable = hello_world(rpaths=["/usr/lib", "/usr/lib64"])
# Relocate the RPATHs
- spack.relocate._replace_prefix_bin(str(executable), {b'/usr': b'/foo'})
+ spack.relocate._replace_prefix_bin(str(executable), {b"/usr": b"/foo"})
# Some compilers add rpaths so ensure changes included in final result
- assert '/foo/lib:/foo/lib64' in rpaths_for(executable)
+ assert "/foo/lib:/foo/lib64" in rpaths_for(executable)
-@pytest.mark.requires_executables('patchelf', 'strings', 'file', 'gcc')
+@pytest.mark.requires_executables("patchelf", "strings", "file", "gcc")
@skip_unless_linux
-def test_relocate_elf_binaries_absolute_paths(
- hello_world, copy_binary, tmpdir
-):
+def test_relocate_elf_binaries_absolute_paths(hello_world, copy_binary, tmpdir):
# Create an executable, set some RPATHs, copy it to another location
- orig_binary = hello_world(rpaths=[str(tmpdir.mkdir('lib')), '/usr/lib64'])
+ orig_binary = hello_world(rpaths=[str(tmpdir.mkdir("lib")), "/usr/lib64"])
new_binary = copy_binary(orig_binary)
spack.relocate.relocate_elf_binaries(
binaries=[str(new_binary)],
orig_root=str(orig_binary.dirpath()),
new_root=None, # Not needed when relocating absolute paths
- new_prefixes={
- str(tmpdir): '/foo'
- },
+ new_prefixes={str(tmpdir): "/foo"},
rel=False,
# Not needed when relocating absolute paths
- orig_prefix=None, new_prefix=None
+ orig_prefix=None,
+ new_prefix=None,
)
# Some compilers add rpaths so ensure changes included in final result
- assert '/foo/lib:/usr/lib64' in rpaths_for(new_binary)
+ assert "/foo/lib:/usr/lib64" in rpaths_for(new_binary)
-@pytest.mark.requires_executables('patchelf', 'strings', 'file', 'gcc')
+@pytest.mark.requires_executables("patchelf", "strings", "file", "gcc")
@skip_unless_linux
def test_relocate_elf_binaries_relative_paths(hello_world, copy_binary):
# Create an executable, set some RPATHs, copy it to another location
- orig_binary = hello_world(rpaths=['lib', 'lib64', '/opt/local/lib'])
+ orig_binary = hello_world(rpaths=["lib", "lib64", "/opt/local/lib"])
new_binary = copy_binary(orig_binary)
spack.relocate.relocate_elf_binaries(
binaries=[str(new_binary)],
orig_root=str(orig_binary.dirpath()),
new_root=str(new_binary.dirpath()),
- new_prefixes={str(orig_binary.dirpath()): '/foo'},
+ new_prefixes={str(orig_binary.dirpath()): "/foo"},
rel=True,
orig_prefix=str(orig_binary.dirpath()),
- new_prefix=str(new_binary.dirpath())
+ new_prefix=str(new_binary.dirpath()),
)
# Some compilers add rpaths so ensure changes included in final result
- assert '/foo/lib:/foo/lib64:/opt/local/lib' in rpaths_for(new_binary)
+ assert "/foo/lib:/foo/lib64:/opt/local/lib" in rpaths_for(new_binary)
-@pytest.mark.requires_executables('patchelf', 'strings', 'file', 'gcc')
+@pytest.mark.requires_executables("patchelf", "strings", "file", "gcc")
@skip_unless_linux
def test_make_elf_binaries_relative(hello_world, copy_binary, tmpdir):
- orig_binary = hello_world(rpaths=[
- str(tmpdir.mkdir('lib')), str(tmpdir.mkdir('lib64')), '/opt/local/lib'
- ])
+ orig_binary = hello_world(
+ rpaths=[str(tmpdir.mkdir("lib")), str(tmpdir.mkdir("lib64")), "/opt/local/lib"]
+ )
new_binary = copy_binary(orig_binary)
spack.relocate.make_elf_binaries_relative(
@@ -366,23 +380,22 @@ def test_make_elf_binaries_relative(hello_world, copy_binary, tmpdir):
)
# Some compilers add rpaths so ensure changes included in final result
- assert '$ORIGIN/lib:$ORIGIN/lib64:/opt/local/lib' in rpaths_for(new_binary)
+ assert "$ORIGIN/lib:$ORIGIN/lib64:/opt/local/lib" in rpaths_for(new_binary)
def test_raise_if_not_relocatable(monkeypatch):
- monkeypatch.setattr(spack.relocate, 'file_is_relocatable', lambda x: False)
+ monkeypatch.setattr(spack.relocate, "file_is_relocatable", lambda x: False)
with pytest.raises(spack.relocate.InstallRootStringError):
- spack.relocate.raise_if_not_relocatable(
- ['an_executable'], allow_root=False
- )
+ spack.relocate.raise_if_not_relocatable(["an_executable"], allow_root=False)
-@pytest.mark.requires_executables('patchelf', 'strings', 'file', 'gcc')
+@pytest.mark.requires_executables("patchelf", "strings", "file", "gcc")
@skip_unless_linux
def test_relocate_text_bin(hello_world, copy_binary, tmpdir):
- orig_binary = hello_world(rpaths=[
- str(tmpdir.mkdir('lib')), str(tmpdir.mkdir('lib64')), '/opt/local/lib'
- ], message=str(tmpdir))
+ orig_binary = hello_world(
+ rpaths=[str(tmpdir.mkdir("lib")), str(tmpdir.mkdir("lib64")), "/opt/local/lib"],
+ message=str(tmpdir),
+ )
new_binary = copy_binary(orig_binary)
# Check original directory is in the executabel and the new one is not
@@ -390,13 +403,10 @@ def test_relocate_text_bin(hello_world, copy_binary, tmpdir):
assert not text_in_bin(str(new_binary.dirpath()), new_binary)
# Check this call succeed
- orig_path_bytes = str(orig_binary.dirpath()).encode('utf-8')
- new_path_bytes = str(new_binary.dirpath()).encode('utf-8')
+ orig_path_bytes = str(orig_binary.dirpath()).encode("utf-8")
+ new_path_bytes = str(new_binary.dirpath()).encode("utf-8")
- spack.relocate.relocate_text_bin(
- [str(new_binary)],
- {orig_path_bytes: new_path_bytes}
- )
+ spack.relocate.relocate_text_bin([str(new_binary)], {orig_path_bytes: new_path_bytes})
# Check original directory is not there anymore and it was
# substituted with the new one
@@ -405,26 +415,24 @@ def test_relocate_text_bin(hello_world, copy_binary, tmpdir):
def test_relocate_text_bin_raise_if_new_prefix_is_longer(tmpdir):
- short_prefix = b'/short'
- long_prefix = b'/much/longer'
- fpath = str(tmpdir.join('fakebin'))
- with open(fpath, 'w') as f:
- f.write('/short')
+ short_prefix = b"/short"
+ long_prefix = b"/much/longer"
+ fpath = str(tmpdir.join("fakebin"))
+ with open(fpath, "w") as f:
+ f.write("/short")
with pytest.raises(spack.relocate.BinaryTextReplaceError):
- spack.relocate.relocate_text_bin(
- [fpath], {short_prefix: long_prefix}
- )
+ spack.relocate.relocate_text_bin([fpath], {short_prefix: long_prefix})
-@pytest.mark.requires_executables('install_name_tool', 'file', 'cc')
+@pytest.mark.requires_executables("install_name_tool", "file", "cc")
def test_fixup_macos_rpaths(make_dylib, make_object_file):
# For each of these tests except for the "correct" case, the first fixup
# should make changes, and the second fixup should be a null-op.
fixup_rpath = spack.relocate.fixup_macos_rpath
no_rpath = []
- duplicate_rpaths = ['/usr', '/usr']
- bad_rpath = ['/nonexistent/path']
+ duplicate_rpaths = ["/usr", "/usr"]
+ bad_rpath = ["/nonexistent/path"]
# Non-relocatable library id and duplicate rpaths
(root, filename) = make_dylib("abs", duplicate_rpaths)
@@ -449,8 +457,7 @@ def test_fixup_macos_rpaths(make_dylib, make_object_file):
assert not fixup_rpath(root, filename)
# Relocatable with executable paths and loader paths
- (root, filename) = make_dylib("rpath", ['@executable_path/../lib',
- '@loader_path'])
+ (root, filename) = make_dylib("rpath", ["@executable_path/../lib", "@loader_path"])
assert not fixup_rpath(root, filename)
# Non-relocatable library id but nonexistent rpath
diff --git a/lib/spack/spack/test/repo.py b/lib/spack/spack/test/repo.py
index 5b3ebceb10..1ab0a7dd5c 100644
--- a/lib/spack/spack/test/repo.py
+++ b/lib/spack/spack/test/repo.py
@@ -14,43 +14,45 @@ import spack.repo
@pytest.fixture()
def extra_repo(tmpdir_factory):
- repo_namespace = 'extra_test_repo'
+ repo_namespace = "extra_test_repo"
repo_dir = tmpdir_factory.mktemp(repo_namespace)
- repo_dir.ensure('packages', dir=True)
+ repo_dir.ensure("packages", dir=True)
- with open(str(repo_dir.join('repo.yaml')), 'w') as f:
- f.write("""
+ with open(str(repo_dir.join("repo.yaml")), "w") as f:
+ f.write(
+ """
repo:
namespace: extra_test_repo
-""")
+"""
+ )
return spack.repo.Repo(str(repo_dir))
def test_repo_getpkg(mutable_mock_repo):
- mutable_mock_repo.get_pkg_class('a')
- mutable_mock_repo.get_pkg_class('builtin.mock.a')
+ mutable_mock_repo.get_pkg_class("a")
+ mutable_mock_repo.get_pkg_class("builtin.mock.a")
def test_repo_multi_getpkg(mutable_mock_repo, extra_repo):
mutable_mock_repo.put_first(extra_repo)
- mutable_mock_repo.get_pkg_class('a')
- mutable_mock_repo.get_pkg_class('builtin.mock.a')
+ mutable_mock_repo.get_pkg_class("a")
+ mutable_mock_repo.get_pkg_class("builtin.mock.a")
def test_repo_multi_getpkgclass(mutable_mock_repo, extra_repo):
mutable_mock_repo.put_first(extra_repo)
- mutable_mock_repo.get_pkg_class('a')
- mutable_mock_repo.get_pkg_class('builtin.mock.a')
+ mutable_mock_repo.get_pkg_class("a")
+ mutable_mock_repo.get_pkg_class("builtin.mock.a")
def test_repo_pkg_with_unknown_namespace(mutable_mock_repo):
with pytest.raises(spack.repo.UnknownNamespaceError):
- mutable_mock_repo.get_pkg_class('unknown.a')
+ mutable_mock_repo.get_pkg_class("unknown.a")
def test_repo_unknown_pkg(mutable_mock_repo):
with pytest.raises(spack.repo.UnknownPackageError):
- mutable_mock_repo.get_pkg_class('builtin.mock.nonexistentpackage')
+ mutable_mock_repo.get_pkg_class("builtin.mock.nonexistentpackage")
@pytest.mark.maybeslow
@@ -58,49 +60,48 @@ def test_repo_unknown_pkg(mutable_mock_repo):
sys.version_info < (3, 5), reason="Test started failing spuriously on Python 2.7"
)
def test_repo_last_mtime():
- latest_mtime = max(os.path.getmtime(p.module.__file__)
- for p in spack.repo.path.all_package_classes())
+ latest_mtime = max(
+ os.path.getmtime(p.module.__file__) for p in spack.repo.path.all_package_classes()
+ )
assert spack.repo.path.last_mtime() == latest_mtime
def test_repo_invisibles(mutable_mock_repo, extra_repo):
- with open(os.path.join(extra_repo.root, 'packages', '.invisible'), 'w'):
+ with open(os.path.join(extra_repo.root, "packages", ".invisible"), "w"):
pass
extra_repo.all_package_names()
-@pytest.mark.parametrize('attr_name,exists', [
- ('cmake', True),
- ('__sphinx_mock__', False)
-])
-@pytest.mark.regression('20661')
+@pytest.mark.parametrize("attr_name,exists", [("cmake", True), ("__sphinx_mock__", False)])
+@pytest.mark.regression("20661")
def test_namespace_hasattr(attr_name, exists, mutable_mock_repo):
# Check that we don't fail on 'hasattr' checks because
# of a custom __getattr__ implementation
- nms = spack.repo.SpackNamespace('spack.pkg.builtin.mock')
+ nms = spack.repo.SpackNamespace("spack.pkg.builtin.mock")
assert hasattr(nms, attr_name) == exists
-@pytest.mark.regression('24552')
+@pytest.mark.regression("24552")
def test_all_package_names_is_cached_correctly():
- assert 'mpi' in spack.repo.all_package_names(include_virtuals=True)
- assert 'mpi' not in spack.repo.all_package_names(include_virtuals=False)
+ assert "mpi" in spack.repo.all_package_names(include_virtuals=True)
+ assert "mpi" not in spack.repo.all_package_names(include_virtuals=False)
-@pytest.mark.regression('29203')
+@pytest.mark.regression("29203")
def test_use_repositories_doesnt_change_class():
"""Test that we don't create the same package module and class multiple times
when swapping repositories.
"""
- zlib_cls_outer = spack.repo.path.get_pkg_class('zlib')
+ zlib_cls_outer = spack.repo.path.get_pkg_class("zlib")
current_paths = [r.root for r in spack.repo.path.repos]
with spack.repo.use_repositories(*current_paths):
- zlib_cls_inner = spack.repo.path.get_pkg_class('zlib')
+ zlib_cls_inner = spack.repo.path.get_pkg_class("zlib")
assert id(zlib_cls_inner) == id(zlib_cls_outer)
def test_import_repo_prefixes_as_python_modules(mock_packages):
import spack.pkg.builtin.mock
+
assert isinstance(spack.pkg, spack.repo.SpackNamespace)
assert isinstance(spack.pkg.builtin, spack.repo.SpackNamespace)
assert isinstance(spack.pkg.builtin.mock, spack.repo.SpackNamespace)
@@ -108,15 +109,15 @@ def test_import_repo_prefixes_as_python_modules(mock_packages):
def test_absolute_import_spack_packages_as_python_modules(mock_packages):
import spack.pkg.builtin.mock.mpileaks
- assert hasattr(spack.pkg.builtin.mock, 'mpileaks')
- assert hasattr(spack.pkg.builtin.mock.mpileaks, 'Mpileaks')
- assert isinstance(spack.pkg.builtin.mock.mpileaks.Mpileaks,
- spack.package_base.PackageMeta)
- assert issubclass(spack.pkg.builtin.mock.mpileaks.Mpileaks,
- spack.package_base.Package)
+
+ assert hasattr(spack.pkg.builtin.mock, "mpileaks")
+ assert hasattr(spack.pkg.builtin.mock.mpileaks, "Mpileaks")
+ assert isinstance(spack.pkg.builtin.mock.mpileaks.Mpileaks, spack.package_base.PackageMeta)
+ assert issubclass(spack.pkg.builtin.mock.mpileaks.Mpileaks, spack.package_base.Package)
def test_relative_import_spack_packages_as_python_modules(mock_packages):
from spack.pkg.builtin.mock.mpileaks import Mpileaks
+
assert isinstance(Mpileaks, spack.package_base.PackageMeta)
assert issubclass(Mpileaks, spack.package_base.Package)
diff --git a/lib/spack/spack/test/rewiring.py b/lib/spack/spack/test/rewiring.py
index f883c222a5..936ba1e78a 100644
--- a/lib/spack/spack/test/rewiring.py
+++ b/lib/spack/spack/test/rewiring.py
@@ -14,19 +14,19 @@ import spack.store
from spack.spec import Spec
from spack.test.relocate import text_in_bin
-args = ['strings', 'file']
-if sys.platform == 'darwin':
- args.extend(['/usr/bin/clang++', 'install_name_tool'])
+args = ["strings", "file"]
+if sys.platform == "darwin":
+ args.extend(["/usr/bin/clang++", "install_name_tool"])
else:
- args.extend(['/usr/bin/g++', 'patchelf'])
+ args.extend(["/usr/bin/g++", "patchelf"])
@pytest.mark.requires_executables(*args)
-@pytest.mark.parametrize('transitive', [True, False])
+@pytest.mark.parametrize("transitive", [True, False])
def test_rewire_db(mock_fetch, install_mockery, transitive):
"""Tests basic rewiring without binary executables."""
- spec = Spec('splice-t^splice-h~foo').concretized()
- dep = Spec('splice-h+foo').concretized()
+ spec = Spec("splice-t^splice-h~foo").concretized()
+ dep = Spec("splice-h+foo").concretized()
spec.package.do_install()
dep.package.do_install()
spliced_spec = spec.splice(dep, transitive=transitive)
@@ -45,18 +45,18 @@ def test_rewire_db(mock_fetch, install_mockery, transitive):
# check the file in the prefix has the correct paths
for node in spliced_spec.traverse(root=True):
text_file_path = os.path.join(node.prefix, node.name)
- with open(text_file_path, 'r') as f:
+ with open(text_file_path, "r") as f:
text = f.read()
for modded_spec in node.traverse(root=True):
assert modded_spec.prefix in text
@pytest.mark.requires_executables(*args)
-@pytest.mark.parametrize('transitive', [True, False])
+@pytest.mark.parametrize("transitive", [True, False])
def test_rewire_bin(mock_fetch, install_mockery, transitive):
"""Tests basic rewiring with binary executables."""
- spec = Spec('quux').concretized()
- dep = Spec('garply cflags=-g').concretized()
+ spec = Spec("quux").concretized()
+ dep = Spec("garply cflags=-g").concretized()
spec.package.do_install()
dep.package.do_install()
spliced_spec = spec.splice(dep, transitive=transitive)
@@ -73,9 +73,7 @@ def test_rewire_bin(mock_fetch, install_mockery, transitive):
assert installed_in_db
# check the file in the prefix has the correct paths
- bin_names = {'garply': 'garplinator',
- 'corge': 'corgegator',
- 'quux': 'quuxifier'}
+ bin_names = {"garply": "garplinator", "corge": "corgegator", "quux": "quuxifier"}
for node in spliced_spec.traverse(root=True):
for dep in node.traverse(root=True):
bin_file_path = os.path.join(dep.prefix.bin, bin_names[dep.name])
@@ -86,8 +84,8 @@ def test_rewire_bin(mock_fetch, install_mockery, transitive):
def test_rewire_writes_new_metadata(mock_fetch, install_mockery):
"""Tests that new metadata was written during a rewire.
Accuracy of metadata is left to other tests."""
- spec = Spec('quux').concretized()
- dep = Spec('garply cflags=-g').concretized()
+ spec = Spec("quux").concretized()
+ dep = Spec("garply cflags=-g").concretized()
spec.package.do_install()
dep.package.do_install()
spliced_spec = spec.splice(dep, transitive=True)
@@ -96,35 +94,35 @@ def test_rewire_writes_new_metadata(mock_fetch, install_mockery):
# test install manifests
for node in spliced_spec.traverse(root=True):
spack.store.layout.ensure_installed(node)
- manifest_file_path = os.path.join(node.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest_file_path = os.path.join(
+ node.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
assert os.path.exists(manifest_file_path)
orig_node = spec[node.name]
- orig_manifest_file_path = os.path.join(orig_node.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ orig_manifest_file_path = os.path.join(
+ orig_node.prefix,
+ spack.store.layout.metadata_dir,
+ spack.store.layout.manifest_file_name,
+ )
assert os.path.exists(orig_manifest_file_path)
- assert not filecmp.cmp(orig_manifest_file_path, manifest_file_path,
- shallow=False)
- specfile_path = os.path.join(node.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.spec_file_name)
+ assert not filecmp.cmp(orig_manifest_file_path, manifest_file_path, shallow=False)
+ specfile_path = os.path.join(
+ node.prefix, spack.store.layout.metadata_dir, spack.store.layout.spec_file_name
+ )
assert os.path.exists(specfile_path)
- orig_specfile_path = os.path.join(orig_node.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.spec_file_name)
+ orig_specfile_path = os.path.join(
+ orig_node.prefix, spack.store.layout.metadata_dir, spack.store.layout.spec_file_name
+ )
assert os.path.exists(orig_specfile_path)
- assert not filecmp.cmp(orig_specfile_path, specfile_path,
- shallow=False)
+ assert not filecmp.cmp(orig_specfile_path, specfile_path, shallow=False)
@pytest.mark.requires_executables(*args)
-@pytest.mark.parametrize('transitive', [True, False])
+@pytest.mark.parametrize("transitive", [True, False])
def test_uninstall_rewired_spec(mock_fetch, install_mockery, transitive):
"""Test that rewired packages can be uninstalled as normal."""
- spec = Spec('quux').concretized()
- dep = Spec('garply cflags=-g').concretized()
+ spec = Spec("quux").concretized()
+ dep = Spec("garply cflags=-g").concretized()
spec.package.do_install()
dep.package.do_install()
spliced_spec = spec.splice(dep, transitive=transitive)
@@ -138,9 +136,11 @@ def test_uninstall_rewired_spec(mock_fetch, install_mockery, transitive):
def test_rewire_not_installed_fails(mock_fetch, install_mockery):
"""Tests error when an attempt is made to rewire a package that was not
previously installed."""
- spec = Spec('quux').concretized()
- dep = Spec('garply cflags=-g').concretized()
+ spec = Spec("quux").concretized()
+ dep = Spec("garply cflags=-g").concretized()
spliced_spec = spec.splice(dep, False)
- with pytest.raises(spack.rewiring.PackageNotInstalledError,
- match="failed due to missing install of build spec"):
+ with pytest.raises(
+ spack.rewiring.PackageNotInstalledError,
+ match="failed due to missing install of build spec",
+ ):
spack.rewiring.rewire(spliced_spec)
diff --git a/lib/spack/spack/test/s3_fetch.py b/lib/spack/spack/test/s3_fetch.py
index df918ab669..4c14390112 100644
--- a/lib/spack/spack/test/s3_fetch.py
+++ b/lib/spack/spack/test/s3_fetch.py
@@ -12,21 +12,21 @@ import spack.fetch_strategy as spack_fs
import spack.stage as spack_stage
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
+ with spack_config.override("config:url_fetch_method", _fetch_method):
with pytest.raises(ValueError):
spack_fs.S3FetchStrategy(None)
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
- fetcher = spack_fs.S3FetchStrategy(url='file:///does-not-exist')
+ with spack_config.override("config:url_fetch_method", _fetch_method):
+ fetcher = spack_fs.S3FetchStrategy(url="file:///does-not-exist")
assert fetcher is not None
with spack_stage.Stage(fetcher, path=testpath) as stage:
@@ -36,19 +36,20 @@ def test_s3fetchstrategy_bad_url(tmpdir, _fetch_method):
fetcher.fetch()
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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')
+ archive = os.path.join(testpath, "s3.tar.gz")
+
+ with spack_config.override("config:url_fetch_method", _fetch_method):
- with spack_config.override('config:url_fetch_method', _fetch_method):
class Archived_S3FS(spack_fs.S3FetchStrategy):
@property
def archive_file(self):
return archive
- url = 's3:///{0}'.format(archive)
+ url = "s3:///{0}".format(archive)
fetcher = Archived_S3FS(url=url)
with spack_stage.Stage(fetcher, path=testpath):
fetcher.fetch()
diff --git a/lib/spack/spack/test/sbang.py b/lib/spack/spack/test/sbang.py
index 2a4189e7f8..ebc9a85347 100644
--- a/lib/spack/spack/test/sbang.py
+++ b/lib/spack/spack/test/sbang.py
@@ -23,146 +23,146 @@ import spack.store
import spack.util.spack_yaml as syaml
from spack.util.executable import which
-if sys.platform != 'win32':
+if sys.platform != "win32":
import grp
-pytestmark = pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows")
too_long = sbang.system_shebang_limit + 1
-short_line = "#!/this/is/short/bin/bash\n"
-long_line = "#!/this/" + ('x' * too_long) + "/is/long\n"
+short_line = "#!/this/is/short/bin/bash\n"
+long_line = "#!/this/" + ("x" * too_long) + "/is/long\n"
-lua_line = "#!/this/" + ('x' * too_long) + "/is/lua\n"
-lua_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
-lua_line_patched = "--!/this/" + ('x' * too_long) + "/is/lua\n"
+lua_line = "#!/this/" + ("x" * too_long) + "/is/lua\n"
+lua_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
+lua_line_patched = "--!/this/" + ("x" * too_long) + "/is/lua\n"
-luajit_line = "#!/this/" + ('x' * too_long) + "/is/luajit\n"
-luajit_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
-luajit_line_patched = "--!/this/" + ('x' * too_long) + "/is/luajit\n"
+luajit_line = "#!/this/" + ("x" * too_long) + "/is/luajit\n"
+luajit_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
+luajit_line_patched = "--!/this/" + ("x" * too_long) + "/is/luajit\n"
-node_line = "#!/this/" + ('x' * too_long) + "/is/node\n"
-node_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
-node_line_patched = "//!/this/" + ('x' * too_long) + "/is/node\n"
+node_line = "#!/this/" + ("x" * too_long) + "/is/node\n"
+node_in_text = ("line\n") * 100 + "lua\n" + ("line\n" * 100)
+node_line_patched = "//!/this/" + ("x" * too_long) + "/is/node\n"
-php_line = "#!/this/" + ('x' * too_long) + "/is/php\n"
-php_in_text = ("line\n") * 100 + "php\n" + ("line\n" * 100)
-php_line_patched = "<?php #!/this/" + ('x' * too_long) + "/is/php\n"
+php_line = "#!/this/" + ("x" * too_long) + "/is/php\n"
+php_in_text = ("line\n") * 100 + "php\n" + ("line\n" * 100)
+php_line_patched = "<?php #!/this/" + ("x" * too_long) + "/is/php\n"
php_line_patched2 = "?>\n"
-sbang_line = '#!/bin/sh %s/bin/sbang\n' % spack.store.store.unpadded_root
-last_line = "last!\n"
+sbang_line = "#!/bin/sh %s/bin/sbang\n" % spack.store.store.unpadded_root
+last_line = "last!\n"
@pytest.fixture # type: ignore[no-redef]
def sbang_line():
- yield '#!/bin/sh %s/bin/sbang\n' % spack.store.layout.root
+ yield "#!/bin/sh %s/bin/sbang\n" % spack.store.layout.root
class ScriptDirectory(object):
"""Directory full of test scripts to run sbang instrumentation on."""
+
def __init__(self, sbang_line):
self.tempdir = tempfile.mkdtemp()
- self.directory = os.path.join(self.tempdir, 'dir')
+ self.directory = os.path.join(self.tempdir, "dir")
fs.mkdirp(self.directory)
# Script with short shebang
- self.short_shebang = os.path.join(self.tempdir, 'short')
- with open(self.short_shebang, 'w') as f:
+ self.short_shebang = os.path.join(self.tempdir, "short")
+ with open(self.short_shebang, "w") as f:
f.write(short_line)
f.write(last_line)
self.make_executable(self.short_shebang)
# Script with long shebang
- self.long_shebang = os.path.join(self.tempdir, 'long')
- with open(self.long_shebang, 'w') as f:
+ self.long_shebang = os.path.join(self.tempdir, "long")
+ with open(self.long_shebang, "w") as f:
f.write(long_line)
f.write(last_line)
self.make_executable(self.long_shebang)
# Non-executable script with long shebang
- self.nonexec_long_shebang = os.path.join(self.tempdir, 'nonexec_long')
- with open(self.nonexec_long_shebang, 'w') as f:
+ self.nonexec_long_shebang = os.path.join(self.tempdir, "nonexec_long")
+ with open(self.nonexec_long_shebang, "w") as f:
f.write(long_line)
f.write(last_line)
# Lua script with long shebang
- self.lua_shebang = os.path.join(self.tempdir, 'lua')
- with open(self.lua_shebang, 'w') as f:
+ self.lua_shebang = os.path.join(self.tempdir, "lua")
+ with open(self.lua_shebang, "w") as f:
f.write(lua_line)
f.write(last_line)
self.make_executable(self.lua_shebang)
# Lua occurring in text, not in shebang
- self.lua_textbang = os.path.join(self.tempdir, 'lua_in_text')
- with open(self.lua_textbang, 'w') as f:
+ self.lua_textbang = os.path.join(self.tempdir, "lua_in_text")
+ with open(self.lua_textbang, "w") as f:
f.write(short_line)
f.write(lua_in_text)
f.write(last_line)
self.make_executable(self.lua_textbang)
# Luajit script with long shebang
- self.luajit_shebang = os.path.join(self.tempdir, 'luajit')
- with open(self.luajit_shebang, 'w') as f:
+ self.luajit_shebang = os.path.join(self.tempdir, "luajit")
+ with open(self.luajit_shebang, "w") as f:
f.write(luajit_line)
f.write(last_line)
self.make_executable(self.luajit_shebang)
# Luajit occuring in text, not in shebang
- self.luajit_textbang = os.path.join(self.tempdir, 'luajit_in_text')
- with open(self.luajit_textbang, 'w') as f:
+ self.luajit_textbang = os.path.join(self.tempdir, "luajit_in_text")
+ with open(self.luajit_textbang, "w") as f:
f.write(short_line)
f.write(luajit_in_text)
f.write(last_line)
self.make_executable(self.luajit_textbang)
# Node script with long shebang
- self.node_shebang = os.path.join(self.tempdir, 'node')
- with open(self.node_shebang, 'w') as f:
+ self.node_shebang = os.path.join(self.tempdir, "node")
+ with open(self.node_shebang, "w") as f:
f.write(node_line)
f.write(last_line)
self.make_executable(self.node_shebang)
# Node occuring in text, not in shebang
- self.node_textbang = os.path.join(self.tempdir, 'node_in_text')
- with open(self.node_textbang, 'w') as f:
+ self.node_textbang = os.path.join(self.tempdir, "node_in_text")
+ with open(self.node_textbang, "w") as f:
f.write(short_line)
f.write(node_in_text)
f.write(last_line)
self.make_executable(self.node_textbang)
# php script with long shebang
- self.php_shebang = os.path.join(self.tempdir, 'php')
- with open(self.php_shebang, 'w') as f:
+ self.php_shebang = os.path.join(self.tempdir, "php")
+ with open(self.php_shebang, "w") as f:
f.write(php_line)
f.write(last_line)
self.make_executable(self.php_shebang)
# php occuring in text, not in shebang
- self.php_textbang = os.path.join(self.tempdir, 'php_in_text')
- with open(self.php_textbang, 'w') as f:
+ self.php_textbang = os.path.join(self.tempdir, "php_in_text")
+ with open(self.php_textbang, "w") as f:
f.write(short_line)
f.write(php_in_text)
f.write(last_line)
self.make_executable(self.php_textbang)
# Script already using sbang.
- self.has_sbang = os.path.join(self.tempdir, 'shebang')
- with open(self.has_sbang, 'w') as f:
+ self.has_sbang = os.path.join(self.tempdir, "shebang")
+ with open(self.has_sbang, "w") as f:
f.write(sbang_line)
f.write(long_line)
f.write(last_line)
self.make_executable(self.has_sbang)
# Fake binary file.
- self.binary = os.path.join(self.tempdir, 'binary')
- tar = which('tar', required=True)
- tar('czf', self.binary, self.has_sbang)
+ self.binary = os.path.join(self.tempdir, "binary")
+ tar = which("tar", required=True)
+ tar("czf", self.binary, self.has_sbang)
self.make_executable(self.binary)
def destroy(self):
@@ -171,8 +171,7 @@ class ScriptDirectory(object):
def make_executable(self, path):
# make a file executable
st = os.stat(path)
- executable_mode = st.st_mode \
- | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
+ executable_mode = st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
os.chmod(path, executable_mode)
st = os.stat(path)
@@ -186,17 +185,20 @@ def script_dir(sbang_line):
sdir.destroy()
-@pytest.mark.parametrize('shebang,interpreter', [
- (b'#!/path/to/interpreter argument\n', b'/path/to/interpreter'),
- (b'#! /path/to/interpreter truncated-argum', b'/path/to/interpreter'),
- (b'#! \t \t/path/to/interpreter\t \targument', b'/path/to/interpreter'),
- (b'#! \t \t /path/to/interpreter', b'/path/to/interpreter'),
- (b'#!/path/to/interpreter\0', b'/path/to/interpreter'),
- (b'#!/path/to/interpreter multiple args\n', b'/path/to/interpreter'),
- (b'#!\0/path/to/interpreter arg\n', None),
- (b'#!\n/path/to/interpreter arg\n', None),
- (b'#!', None)
-])
+@pytest.mark.parametrize(
+ "shebang,interpreter",
+ [
+ (b"#!/path/to/interpreter argument\n", b"/path/to/interpreter"),
+ (b"#! /path/to/interpreter truncated-argum", b"/path/to/interpreter"),
+ (b"#! \t \t/path/to/interpreter\t \targument", b"/path/to/interpreter"),
+ (b"#! \t \t /path/to/interpreter", b"/path/to/interpreter"),
+ (b"#!/path/to/interpreter\0", b"/path/to/interpreter"),
+ (b"#!/path/to/interpreter multiple args\n", b"/path/to/interpreter"),
+ (b"#!\0/path/to/interpreter arg\n", None),
+ (b"#!\n/path/to/interpreter arg\n", None),
+ (b"#!", None),
+ ],
+)
def test_shebang_interpreter_regex(shebang, interpreter):
sbang.get_interpreter(shebang) == interpreter
@@ -205,50 +207,48 @@ def test_shebang_handling(script_dir, sbang_line):
sbang.filter_shebangs_in_directory(script_dir.tempdir)
# Make sure this is untouched
- with open(script_dir.short_shebang, 'r') as f:
+ with open(script_dir.short_shebang, "r") as f:
assert f.readline() == short_line
assert f.readline() == last_line
# Make sure this got patched.
- with open(script_dir.long_shebang, 'r') as f:
+ with open(script_dir.long_shebang, "r") as f:
assert f.readline() == sbang_line
assert f.readline() == long_line
assert f.readline() == last_line
# Make sure this is untouched
- with open(script_dir.nonexec_long_shebang, 'r') as f:
+ with open(script_dir.nonexec_long_shebang, "r") as f:
assert f.readline() == long_line
assert f.readline() == last_line
# Make sure this got patched.
- with open(script_dir.lua_shebang, 'r') as f:
+ with open(script_dir.lua_shebang, "r") as f:
assert f.readline() == sbang_line
assert f.readline() == lua_line_patched
assert f.readline() == last_line
# Make sure this got patched.
- with open(script_dir.luajit_shebang, 'r') as f:
+ with open(script_dir.luajit_shebang, "r") as f:
assert f.readline() == sbang_line
assert f.readline() == luajit_line_patched
assert f.readline() == last_line
# Make sure this got patched.
- with open(script_dir.node_shebang, 'r') as f:
+ with open(script_dir.node_shebang, "r") as f:
assert f.readline() == sbang_line
assert f.readline() == node_line_patched
assert f.readline() == last_line
- assert filecmp.cmp(script_dir.lua_textbang,
- os.path.join(script_dir.tempdir, 'lua_in_text'))
- assert filecmp.cmp(script_dir.luajit_textbang,
- os.path.join(script_dir.tempdir, 'luajit_in_text'))
- assert filecmp.cmp(script_dir.node_textbang,
- os.path.join(script_dir.tempdir, 'node_in_text'))
- assert filecmp.cmp(script_dir.php_textbang,
- os.path.join(script_dir.tempdir, 'php_in_text'))
+ assert filecmp.cmp(script_dir.lua_textbang, os.path.join(script_dir.tempdir, "lua_in_text"))
+ assert filecmp.cmp(
+ script_dir.luajit_textbang, os.path.join(script_dir.tempdir, "luajit_in_text")
+ )
+ assert filecmp.cmp(script_dir.node_textbang, os.path.join(script_dir.tempdir, "node_in_text"))
+ assert filecmp.cmp(script_dir.php_textbang, os.path.join(script_dir.tempdir, "php_in_text"))
# Make sure this is untouched
- with open(script_dir.has_sbang, 'r') as f:
+ with open(script_dir.has_sbang, "r") as f:
assert f.readline() == sbang_line
assert f.readline() == long_line
assert f.readline() == last_line
@@ -266,29 +266,35 @@ def test_shebang_handles_non_writable_files(script_dir, sbang_line):
assert oct(not_writable_mode) == oct(st.st_mode)
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def configure_group_perms():
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
permissions:
read: world
write: group
group: {0}
-""".format(grp.getgrgid(os.getegid()).gr_name))
- spack.config.set('packages', conf, scope='user')
+""".format(
+ grp.getgrgid(os.getegid()).gr_name
+ )
+ )
+ spack.config.set("packages", conf, scope="user")
yield
-@pytest.fixture(scope='function')
+@pytest.fixture(scope="function")
def configure_user_perms():
- conf = syaml.load_config("""\
+ conf = syaml.load_config(
+ """\
all:
permissions:
read: world
write: user
-""")
- spack.config.set('packages', conf, scope='user')
+"""
+ )
+ spack.config.set("packages", conf, scope="user")
yield
@@ -302,18 +308,18 @@ def check_sbang_installation(group=False):
assert fs.is_exe(sbang_path)
status = os.stat(sbang_bin_dir)
- mode = (status.st_mode & 0o777)
+ mode = status.st_mode & 0o777
if group:
- assert mode == 0o775, 'Unexpected {0}'.format(oct(mode))
+ assert mode == 0o775, "Unexpected {0}".format(oct(mode))
else:
- assert mode == 0o755, 'Unexpected {0}'.format(oct(mode))
+ assert mode == 0o755, "Unexpected {0}".format(oct(mode))
status = os.stat(sbang_path)
- mode = (status.st_mode & 0o777)
+ mode = status.st_mode & 0o777
if group:
- assert mode == 0o775, 'Unexpected {0}'.format(oct(mode))
+ assert mode == 0o775, "Unexpected {0}".format(oct(mode))
else:
- assert mode == 0o755, 'Unexpected {0}'.format(oct(mode))
+ assert mode == 0o755, "Unexpected {0}".format(oct(mode))
def run_test_install_sbang(group):
@@ -349,20 +355,20 @@ def test_install_user_sbang(install_mockery, configure_user_perms):
def test_install_sbang_too_long(tmpdir):
root = str(tmpdir)
- num_extend = sbang.system_shebang_limit - len(root) - len('/bin/sbang')
+ num_extend = sbang.system_shebang_limit - len(root) - len("/bin/sbang")
long_path = root
while num_extend > 1:
add = min(num_extend, 255)
- long_path = os.path.join(long_path, 'e' * add)
+ long_path = os.path.join(long_path, "e" * add)
num_extend -= add
with spack.store.use_store(spack.store.Store(long_path)):
with pytest.raises(sbang.SbangPathError) as exc_info:
sbang.sbang_install_path()
err = str(exc_info.value)
- assert 'root is too long' in err
- assert 'exceeds limit' in err
- assert 'cannot patch' in err
+ assert "root is too long" in err
+ assert "exceeds limit" in err
+ assert "cannot patch" in err
def test_sbang_hook_skips_nonexecutable_blobs(tmpdir):
@@ -370,41 +376,40 @@ def test_sbang_hook_skips_nonexecutable_blobs(tmpdir):
# consisting of invalid UTF-8. The latter is technically not really necessary for
# the test, but binary blobs accidentally starting with b'#!' usually do not contain
# valid UTF-8, so we also ensure that Spack does not attempt to decode as UTF-8.
- contents = b'#!' + b'\x80' * sbang.system_shebang_limit
- file = str(tmpdir.join('non-executable.sh'))
- with open(file, 'wb') as f:
+ contents = b"#!" + b"\x80" * sbang.system_shebang_limit
+ file = str(tmpdir.join("non-executable.sh"))
+ with open(file, "wb") as f:
f.write(contents)
sbang.filter_shebangs_in_directory(str(tmpdir))
# Make sure there is no sbang shebang.
- with open(file, 'rb') as f:
- assert b'sbang' not in f.readline()
+ with open(file, "rb") as f:
+ assert b"sbang" not in f.readline()
def test_sbang_handles_non_utf8_files(tmpdir):
# We have an executable with a copyright sign as filename
- contents = (b'#!' + b'\xa9' * sbang.system_shebang_limit +
- b'\nand another symbol: \xa9')
+ contents = b"#!" + b"\xa9" * sbang.system_shebang_limit + b"\nand another symbol: \xa9"
# Make sure it's indeed valid latin1 but invalid utf-8.
- assert contents.decode('latin1')
+ assert contents.decode("latin1")
with pytest.raises(UnicodeDecodeError):
- contents.decode('utf-8')
+ contents.decode("utf-8")
# Put it in an executable file
- file = str(tmpdir.join('latin1.sh'))
- with open(file, 'wb') as f:
+ file = str(tmpdir.join("latin1.sh"))
+ with open(file, "wb") as f:
f.write(contents)
# Run sbang
assert sbang.filter_shebang(file)
- with open(file, 'rb') as f:
+ with open(file, "rb") as f:
new_contents = f.read()
assert contents in new_contents
- assert b'sbang' in new_contents
+ assert b"sbang" in new_contents
@pytest.fixture
@@ -418,23 +423,23 @@ def shebang_limits_system_8_spack_16():
def test_shebang_exceeds_spack_shebang_limit(shebang_limits_system_8_spack_16, tmpdir):
"""Tests whether shebangs longer than Spack's limit are skipped"""
- file = str(tmpdir.join('longer_than_spack_limit.sh'))
- with open(file, 'wb') as f:
- f.write(b'#!' + b'x' * sbang.spack_shebang_limit)
+ file = str(tmpdir.join("longer_than_spack_limit.sh"))
+ with open(file, "wb") as f:
+ f.write(b"#!" + b"x" * sbang.spack_shebang_limit)
# Then Spack shouldn't try to add a shebang
assert not sbang.filter_shebang(file)
- with open(file, 'rb') as f:
- assert b'sbang' not in f.read()
+ with open(file, "rb") as f:
+ assert b"sbang" not in f.read()
def test_sbang_hook_handles_non_writable_files_preserving_permissions(tmpdir):
- path = str(tmpdir.join('file.sh'))
- with open(path, 'w') as f:
+ path = str(tmpdir.join("file.sh"))
+ with open(path, "w") as f:
f.write(long_line)
os.chmod(path, 0o555)
sbang.filter_shebang(path)
- with open(path, 'r') as f:
- assert 'sbang' in f.readline()
+ with open(path, "r") as f:
+ assert "sbang" in f.readline()
assert os.stat(path).st_mode & 0o777 == 0o555
diff --git a/lib/spack/spack/test/schema.py b/lib/spack/spack/test/schema.py
index 8f9d0132ad..214a2e52fd 100644
--- a/lib/spack/spack/test/schema.py
+++ b/lib/spack/spack/test/schema.py
@@ -17,100 +17,89 @@ import spack.schema
@pytest.fixture()
def validate_spec_schema():
return {
- 'type': 'object',
- 'validate_spec': True,
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'string'
- }
- }
+ "type": "object",
+ "validate_spec": True,
+ "patternProperties": {r"\w[\w-]*": {"type": "string"}},
}
@pytest.fixture()
def module_suffixes_schema():
return {
- 'type': 'object',
- 'properties': {
- 'tcl': {
- 'type': 'object',
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'object',
- 'properties': {
- 'suffixes': {
- 'validate_spec': True,
- 'patternProperties': {
- r'\w[\w-]*': {
- 'type': 'string',
+ "type": "object",
+ "properties": {
+ "tcl": {
+ "type": "object",
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "type": "object",
+ "properties": {
+ "suffixes": {
+ "validate_spec": True,
+ "patternProperties": {
+ r"\w[\w-]*": {
+ "type": "string",
}
- }
+ },
}
- }
+ },
}
- }
+ },
}
- }
+ },
}
-@pytest.fixture(scope='module')
+@pytest.fixture(scope="module")
def meta_schema():
"""Meta schema for JSON schema validation (Draft 4)"""
- meta_schema_file = os.path.join(
- spack.paths.test_path, 'data', 'jsonschema_meta.json'
- )
+ meta_schema_file = os.path.join(spack.paths.test_path, "data", "jsonschema_meta.json")
with open(meta_schema_file) as f:
ms = json.load(f)
return ms
-@pytest.mark.regression('9857')
+@pytest.mark.regression("9857")
def test_validate_spec(validate_spec_schema):
v = spack.schema.Validator(validate_spec_schema)
- data = {'foo@3.7': 'bar'}
+ data = {"foo@3.7": "bar"}
# Validate good data (the key is a spec)
v.validate(data)
# Check that invalid data throws
- data['^python@3.7@'] = 'baz'
+ data["^python@3.7@"] = "baz"
with pytest.raises(jsonschema.ValidationError) as exc_err:
v.validate(data)
- assert 'is an invalid spec' in str(exc_err.value)
+ assert "is an invalid spec" in str(exc_err.value)
-@pytest.mark.regression('9857')
+@pytest.mark.regression("9857")
def test_module_suffixes(module_suffixes_schema):
v = spack.schema.Validator(module_suffixes_schema)
- data = {'tcl': {'all': {'suffixes': {'^python@2.7@': 'py2.7'}}}}
+ data = {"tcl": {"all": {"suffixes": {"^python@2.7@": "py2.7"}}}}
with pytest.raises(jsonschema.ValidationError) as exc_err:
v.validate(data)
- assert 'is an invalid spec' in str(exc_err.value)
+ assert "is an invalid spec" in str(exc_err.value)
-@pytest.mark.regression('10246')
+@pytest.mark.regression("10246")
@pytest.mark.skipif(
- sys.version_info < (2, 7),
- reason='requires python2.7 or higher because of importlib')
-@pytest.mark.parametrize('config_name', [
- 'compilers',
- 'config',
- 'env',
- 'merged',
- 'mirrors',
- 'modules',
- 'packages',
- 'repos'
-])
+ sys.version_info < (2, 7), reason="requires python2.7 or higher because of importlib"
+)
+@pytest.mark.parametrize(
+ "config_name",
+ ["compilers", "config", "env", "merged", "mirrors", "modules", "packages", "repos"],
+)
def test_schema_validation(meta_schema, config_name):
import importlib # novm
- module_name = 'spack.schema.{0}'.format(config_name)
+
+ module_name = "spack.schema.{0}".format(config_name)
module = importlib.import_module(module_name)
- schema = getattr(module, 'schema')
+ schema = getattr(module, "schema")
# If this validation throws the test won't pass
jsonschema.validate(schema, meta_schema)
@@ -118,26 +107,26 @@ def test_schema_validation(meta_schema, config_name):
def test_deprecated_properties(module_suffixes_schema):
# Test that an error is reported when 'error: True'
- msg_fmt = r'deprecated properties detected [properties={properties}]'
- module_suffixes_schema['deprecatedProperties'] = {
- 'properties': ['tcl'],
- 'message': msg_fmt,
- 'error': True
+ msg_fmt = r"deprecated properties detected [properties={properties}]"
+ module_suffixes_schema["deprecatedProperties"] = {
+ "properties": ["tcl"],
+ "message": msg_fmt,
+ "error": True,
}
v = spack.schema.Validator(module_suffixes_schema)
- data = {'tcl': {'all': {'suffixes': {'^python': 'py'}}}}
+ data = {"tcl": {"all": {"suffixes": {"^python": "py"}}}}
- expected_match = 'deprecated properties detected'
+ expected_match = "deprecated properties detected"
with pytest.raises(jsonschema.ValidationError, match=expected_match):
v.validate(data)
# Test that just a warning is reported when 'error: False'
- module_suffixes_schema['deprecatedProperties'] = {
- 'properties': ['tcl'],
- 'message': msg_fmt,
- 'error': False
+ module_suffixes_schema["deprecatedProperties"] = {
+ "properties": ["tcl"],
+ "message": msg_fmt,
+ "error": False,
}
v = spack.schema.Validator(module_suffixes_schema)
- data = {'tcl': {'all': {'suffixes': {'^python': 'py'}}}}
+ data = {"tcl": {"all": {"suffixes": {"^python": "py"}}}}
# The next validation doesn't raise anymore
v.validate(data)
diff --git a/lib/spack/spack/test/spack_yaml.py b/lib/spack/spack/test/spack_yaml.py
index 358460a059..d664cb4263 100644
--- a/lib/spack/spack/test/spack_yaml.py
+++ b/lib/spack/spack/test/spack_yaml.py
@@ -33,26 +33,31 @@ config_file:
def test_parse(data):
expected = {
- 'config_file': syaml.syaml_dict([
- ('x86_64', syaml.syaml_dict([
- ('foo', '/path/to/foo'),
- ('bar', '/path/to/bar'),
- ('baz', '/path/to/baz')])),
- ('some_list', ['item 1', 'item 2', 'item 3']),
- ('another_list', [1, 2, 3]),
- ('some_key', 'some_string')
- ])}
+ "config_file": syaml.syaml_dict(
+ [
+ (
+ "x86_64",
+ syaml.syaml_dict(
+ [("foo", "/path/to/foo"), ("bar", "/path/to/bar"), ("baz", "/path/to/baz")]
+ ),
+ ),
+ ("some_list", ["item 1", "item 2", "item 3"]),
+ ("another_list", [1, 2, 3]),
+ ("some_key", "some_string"),
+ ]
+ )
+ }
assert data == expected
def test_dict_order(data):
- expected_order = ['x86_64', 'some_list', 'another_list', 'some_key']
- assert list(data['config_file'].keys()) == expected_order
+ expected_order = ["x86_64", "some_list", "another_list", "some_key"]
+ assert list(data["config_file"].keys()) == expected_order
- expected_order = ['foo', 'bar', 'baz']
- assert list(data['config_file']['x86_64'].keys()) == expected_order
+ expected_order = ["foo", "bar", "baz"]
+ assert list(data["config_file"]["x86_64"].keys()) == expected_order
def test_line_numbers(data):
@@ -60,32 +65,32 @@ def test_line_numbers(data):
assert obj._start_mark.line == start_line
assert obj._end_mark.line == end_line
- check(data, 0, 12)
- check(data['config_file'], 1, 12)
- check(data['config_file']['x86_64'], 2, 5)
- check(data['config_file']['x86_64']['foo'], 2, 2)
- check(data['config_file']['x86_64']['bar'], 3, 3)
- check(data['config_file']['x86_64']['baz'], 4, 4)
- check(data['config_file']['some_list'], 6, 9)
- check(data['config_file']['some_list'][0], 6, 6)
- check(data['config_file']['some_list'][1], 7, 7)
- check(data['config_file']['some_list'][2], 8, 8)
- check(data['config_file']['another_list'], 10, 10)
- check(data['config_file']['some_key'], 11, 11)
+ check(data, 0, 12)
+ check(data["config_file"], 1, 12)
+ check(data["config_file"]["x86_64"], 2, 5)
+ check(data["config_file"]["x86_64"]["foo"], 2, 2)
+ check(data["config_file"]["x86_64"]["bar"], 3, 3)
+ check(data["config_file"]["x86_64"]["baz"], 4, 4)
+ check(data["config_file"]["some_list"], 6, 9)
+ check(data["config_file"]["some_list"][0], 6, 6)
+ check(data["config_file"]["some_list"][1], 7, 7)
+ check(data["config_file"]["some_list"][2], 8, 8)
+ check(data["config_file"]["another_list"], 10, 10)
+ check(data["config_file"]["some_key"], 11, 11)
def test_yaml_aliases():
- aliased_list_1 = ['foo']
+ aliased_list_1 = ["foo"]
aliased_list_2 = []
dict_with_aliases = {
- 'a': aliased_list_1,
- 'b': aliased_list_1,
- 'c': aliased_list_1,
- 'd': aliased_list_2,
- 'e': aliased_list_2,
- 'f': aliased_list_2,
+ "a": aliased_list_1,
+ "b": aliased_list_1,
+ "c": aliased_list_1,
+ "d": aliased_list_2,
+ "e": aliased_list_2,
+ "f": aliased_list_2,
}
string = syaml.dump(dict_with_aliases)
# ensure no YAML aliases appear in syaml dumps.
- assert '*id' not in string
+ assert "*id" not in string
diff --git a/lib/spack/spack/test/spec_dag.py b/lib/spack/spack/test/spec_dag.py
index b7c0f95332..d7f9a750ee 100644
--- a/lib/spack/spack/test/spec_dag.py
+++ b/lib/spack/spack/test/spec_dag.py
@@ -35,6 +35,7 @@ def set_dependency(saved_deps, monkeypatch):
"""Returns a function that alters the dependency information
for a package in the ``saved_deps`` fixture.
"""
+
def _mock(pkg_name, spec, deptypes=all_deptypes):
"""Alters dependence information for a package.
@@ -49,41 +50,41 @@ def set_dependency(saved_deps, monkeypatch):
cond = Spec(pkg_cls.name)
dependency = Dependency(pkg_cls, spec, type=deptypes)
monkeypatch.setitem(pkg_cls.dependencies, spec.name, {cond: dependency})
+
return _mock
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_test_deptype():
"""Ensure that test-only dependencies are only included for specified
-packages in the following spec DAG::
+ packages in the following spec DAG::
- w
- /|
- x y
- |
- z
+ w
+ /|
+ x y
+ |
+ z
-w->y deptypes are (link, build), w->x and y->z deptypes are (test)
-
-"""
- default = ('build', 'link')
- test_only = ('test',)
+ w->y deptypes are (link, build), w->x and y->z deptypes are (test)
+ """
+ default = ("build", "link")
+ test_only = ("test",)
mock_repo = MockPackageMultiRepo()
- x = mock_repo.add_package('x', [], [])
- z = mock_repo.add_package('z', [], [])
- y = mock_repo.add_package('y', [z], [test_only])
- w = mock_repo.add_package('w', [x, y], [test_only, default])
+ x = mock_repo.add_package("x", [], [])
+ z = mock_repo.add_package("z", [], [])
+ y = mock_repo.add_package("y", [z], [test_only])
+ w = mock_repo.add_package("w", [x, y], [test_only, default])
with spack.repo.use_repositories(mock_repo):
- spec = Spec('w')
+ spec = Spec("w")
spec.concretize(tests=(w.name,))
- assert ('x' in spec)
- assert ('z' not in spec)
+ assert "x" in spec
+ assert "z" not in spec
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_installed_deps(monkeypatch, mock_packages):
"""Ensure that concrete specs and their build deps don't constrain solves.
@@ -96,8 +97,8 @@ def test_installed_deps(monkeypatch, mock_packages):
constrain ``a``'s dependency on ``d``.
"""
- if spack.config.get('config:concretizer') == 'original':
- pytest.xfail('fails with the original concretizer and full hashes')
+ if spack.config.get("config:concretizer") == "original":
+ pytest.xfail("fails with the original concretizer and full hashes")
# see installed-deps-[abcde] test packages.
# a
@@ -115,14 +116,14 @@ def test_installed_deps(monkeypatch, mock_packages):
# (concrete) installation.
c_spec = Spec(c)
c_spec.concretize()
- assert c_spec[d].version == spack.version.Version('2')
+ assert c_spec[d].version == spack.version.Version("2")
installed_names = [s.name for s in c_spec.traverse()]
def _mock_installed(self):
return self.name in installed_names
- monkeypatch.setattr(Spec, 'installed', _mock_installed)
+ monkeypatch.setattr(Spec, "installed", _mock_installed)
# install A, which depends on B, C, D, and E, and force A to
# use the installed C. It should *not* force A to use the installed D
@@ -130,43 +131,42 @@ def test_installed_deps(monkeypatch, mock_packages):
a_spec = Spec(a)
a_spec._add_dependency(c_spec, ("build", "link"))
a_spec.concretize()
- assert spack.version.Version('2') == a_spec[c][d].version
- assert spack.version.Version('2') == a_spec[e].version
- assert spack.version.Version('3') == a_spec[b][d].version
- assert spack.version.Version('3') == a_spec[d].version
+ assert spack.version.Version("2") == a_spec[c][d].version
+ assert spack.version.Version("2") == a_spec[e].version
+ assert spack.version.Version("3") == a_spec[b][d].version
+ assert spack.version.Version("3") == a_spec[d].version
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
def test_specify_preinstalled_dep():
"""Specify the use of a preinstalled package during concretization with a
transitive dependency that is only supplied by the preinstalled package.
"""
- default = ('build', 'link')
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- c = mock_repo.add_package('c', [], [])
- b = mock_repo.add_package('b', [c], [default])
- mock_repo.add_package('a', [b], [default])
+ c = mock_repo.add_package("c", [], [])
+ b = mock_repo.add_package("b", [c], [default])
+ mock_repo.add_package("a", [b], [default])
with spack.repo.use_repositories(mock_repo):
- b_spec = Spec('b')
+ b_spec = Spec("b")
b_spec.concretize()
for spec in b_spec.traverse():
- setattr(spec.package, 'installed', True)
+ setattr(spec.package, "installed", True)
- a_spec = Spec('a')
+ a_spec = Spec("a")
a_spec._add_dependency(b_spec, default)
a_spec.concretize()
- assert set(x.name for x in a_spec.traverse()) == set(['a', 'b', 'c'])
+ assert set(x.name for x in a_spec.traverse()) == set(["a", "b", "c"])
-@pytest.mark.usefixtures('config')
-@pytest.mark.parametrize('spec_str,expr_str,expected', [
- ('x ^y@2', 'y@2', True),
- ('x@1', 'y', False),
- ('x', 'y@3', True)
-])
+@pytest.mark.usefixtures("config")
+@pytest.mark.parametrize(
+ "spec_str,expr_str,expected",
+ [("x ^y@2", "y@2", True), ("x@1", "y", False), ("x", "y@3", True)],
+)
def test_conditional_dep_with_user_constraints(spec_str, expr_str, expected):
"""This sets up packages X->Y such that X depends on Y conditionally. It
then constructs a Spec with X but with no constraints on X, so that the
@@ -177,35 +177,31 @@ def test_conditional_dep_with_user_constraints(spec_str, expr_str, expected):
# FIXME: We need to tweak optimization rules to make this test
# FIXME: not prefer a DAG with fewer nodes wrt more recent
# FIXME: versions of the package
- if spack.config.get('config:concretizer') == 'clingo':
- pytest.xfail('Clingo optimization rules prefer to trim a node')
+ if spack.config.get("config:concretizer") == "clingo":
+ pytest.xfail("Clingo optimization rules prefer to trim a node")
- default = ('build', 'link')
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- y = mock_repo.add_package('y', [], [])
- x_on_y_conditions = {
- y.name: {
- 'x@2:': 'y'
- }
- }
- mock_repo.add_package('x', [y], [default], conditions=x_on_y_conditions)
+ y = mock_repo.add_package("y", [], [])
+ x_on_y_conditions = {y.name: {"x@2:": "y"}}
+ mock_repo.add_package("x", [y], [default], conditions=x_on_y_conditions)
with spack.repo.use_repositories(mock_repo):
spec = Spec(spec_str)
spec.concretize()
result = expr_str in spec
- assert result is expected, '{0} in {1}'.format(expr_str, spec)
+ assert result is expected, "{0} in {1}".format(expr_str, spec)
-@pytest.mark.usefixtures('mutable_mock_repo', 'config')
+@pytest.mark.usefixtures("mutable_mock_repo", "config")
class TestSpecDag(object):
def test_conflicting_package_constraints(self, set_dependency):
- set_dependency('mpileaks', 'mpich@1.0')
- set_dependency('callpath', 'mpich@2.0')
+ set_dependency("mpileaks", "mpich@1.0")
+ set_dependency("callpath", "mpich@2.0")
- spec = Spec('mpileaks ^mpich ^callpath ^dyninst ^libelf ^libdwarf')
+ spec = Spec("mpileaks ^mpich ^callpath ^dyninst ^libelf ^libdwarf")
# TODO: try to do something to show that the issue was with
# TODO: the user's input or with package inconsistencies.
@@ -213,11 +209,10 @@ class TestSpecDag(object):
spec.normalize()
def test_preorder_node_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['mpileaks', 'callpath', 'dyninst', 'libdwarf', 'libelf',
- 'zmpi', 'fake']
+ names = ["mpileaks", "callpath", "dyninst", "libdwarf", "libelf", "zmpi", "fake"]
pairs = list(zip([0, 1, 2, 3, 4, 2, 3], names))
traversal = dag.traverse()
@@ -227,99 +222,132 @@ class TestSpecDag(object):
assert [(x, y.name) for x, y in traversal] == pairs
def test_preorder_edge_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['mpileaks', 'callpath', 'dyninst', 'libdwarf', 'libelf',
- 'libelf', 'zmpi', 'fake', 'zmpi']
+ names = [
+ "mpileaks",
+ "callpath",
+ "dyninst",
+ "libdwarf",
+ "libelf",
+ "libelf",
+ "zmpi",
+ "fake",
+ "zmpi",
+ ]
pairs = list(zip([0, 1, 2, 3, 4, 3, 2, 3, 1], names))
- traversal = dag.traverse(cover='edges')
+ traversal = dag.traverse(cover="edges")
assert [x.name for x in traversal] == names
- traversal = dag.traverse(cover='edges', depth=True)
+ traversal = dag.traverse(cover="edges", depth=True)
assert [(x, y.name) for x, y in traversal] == pairs
def test_preorder_path_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['mpileaks', 'callpath', 'dyninst', 'libdwarf', 'libelf',
- 'libelf', 'zmpi', 'fake', 'zmpi', 'fake']
+ names = [
+ "mpileaks",
+ "callpath",
+ "dyninst",
+ "libdwarf",
+ "libelf",
+ "libelf",
+ "zmpi",
+ "fake",
+ "zmpi",
+ "fake",
+ ]
pairs = list(zip([0, 1, 2, 3, 4, 3, 2, 3, 1, 2], names))
- traversal = dag.traverse(cover='paths')
+ traversal = dag.traverse(cover="paths")
assert [x.name for x in traversal] == names
- traversal = dag.traverse(cover='paths', depth=True)
+ traversal = dag.traverse(cover="paths", depth=True)
assert [(x, y.name) for x, y in traversal] == pairs
def test_postorder_node_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['libelf', 'libdwarf', 'dyninst', 'fake', 'zmpi',
- 'callpath', 'mpileaks']
+ names = ["libelf", "libdwarf", "dyninst", "fake", "zmpi", "callpath", "mpileaks"]
pairs = list(zip([4, 3, 2, 3, 2, 1, 0], names))
- traversal = dag.traverse(order='post')
+ traversal = dag.traverse(order="post")
assert [x.name for x in traversal] == names
- traversal = dag.traverse(depth=True, order='post')
+ traversal = dag.traverse(depth=True, order="post")
assert [(x, y.name) for x, y in traversal] == pairs
def test_postorder_edge_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['libelf', 'libdwarf', 'libelf', 'dyninst', 'fake', 'zmpi',
- 'callpath', 'zmpi', 'mpileaks']
+ names = [
+ "libelf",
+ "libdwarf",
+ "libelf",
+ "dyninst",
+ "fake",
+ "zmpi",
+ "callpath",
+ "zmpi",
+ "mpileaks",
+ ]
pairs = list(zip([4, 3, 3, 2, 3, 2, 1, 1, 0], names))
- traversal = dag.traverse(cover='edges', order='post')
+ traversal = dag.traverse(cover="edges", order="post")
assert [x.name for x in traversal] == names
- traversal = dag.traverse(cover='edges', depth=True, order='post')
+ traversal = dag.traverse(cover="edges", depth=True, order="post")
assert [(x, y.name) for x, y in traversal] == pairs
def test_postorder_path_traversal(self):
- dag = Spec('mpileaks ^zmpi')
+ dag = Spec("mpileaks ^zmpi")
dag.normalize()
- names = ['libelf', 'libdwarf', 'libelf', 'dyninst', 'fake', 'zmpi',
- 'callpath', 'fake', 'zmpi', 'mpileaks']
+ names = [
+ "libelf",
+ "libdwarf",
+ "libelf",
+ "dyninst",
+ "fake",
+ "zmpi",
+ "callpath",
+ "fake",
+ "zmpi",
+ "mpileaks",
+ ]
pairs = list(zip([4, 3, 3, 2, 3, 2, 1, 2, 1, 0], names))
- traversal = dag.traverse(cover='paths', order='post')
+ traversal = dag.traverse(cover="paths", order="post")
assert [x.name for x in traversal] == names
- traversal = dag.traverse(cover='paths', depth=True, order='post')
+ traversal = dag.traverse(cover="paths", depth=True, order="post")
assert [(x, y.name) for x, y in traversal] == pairs
def test_conflicting_spec_constraints(self):
- mpileaks = Spec('mpileaks ^mpich ^callpath ^dyninst ^libelf ^libdwarf')
+ mpileaks = Spec("mpileaks ^mpich ^callpath ^dyninst ^libelf ^libdwarf")
# Normalize then add conflicting constraints to the DAG (this is an
# extremely unlikely scenario, but we test for it anyway)
mpileaks.normalize()
- mpileaks.edges_to_dependencies(
- name='mpich'
- )[0].spec = Spec('mpich@1.0')
+ mpileaks.edges_to_dependencies(name="mpich")[0].spec = Spec("mpich@1.0")
- mpileaks.edges_to_dependencies(
- name='callpath'
- )[0].spec.edges_to_dependencies(
- name='mpich'
- )[0].spec = Spec('mpich@2.0')
+ mpileaks.edges_to_dependencies(name="callpath")[0].spec.edges_to_dependencies(
+ name="mpich"
+ )[0].spec = Spec("mpich@2.0")
with pytest.raises(spack.spec.InconsistentSpecError):
mpileaks.flat_dependencies(copy=False)
def test_normalize_twice(self):
"""Make sure normalize can be run twice on the same spec,
- and that it is idempotent."""
- spec = Spec('mpileaks')
+ and that it is idempotent."""
+ spec = Spec("mpileaks")
spec.normalize()
n1 = spec.copy()
@@ -327,25 +355,26 @@ class TestSpecDag(object):
assert n1 == spec
def test_normalize_a_lot(self):
- spec = Spec('mpileaks')
+ spec = Spec("mpileaks")
spec.normalize()
spec.normalize()
spec.normalize()
spec.normalize()
- def test_normalize_with_virtual_spec(self, ):
- dag = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'dyninst': {
- 'libdwarf': {'libelf': None},
- 'libelf': None
+ def test_normalize_with_virtual_spec(
+ self,
+ ):
+ dag = Spec.from_literal(
+ {
+ "mpileaks": {
+ "callpath": {
+ "dyninst": {"libdwarf": {"libelf": None}, "libelf": None},
+ "mpi": None,
},
- 'mpi': None
- },
- 'mpi': None
+ "mpi": None,
+ }
}
- })
+ )
dag.normalize()
# make sure nothing with the same name occurs twice
@@ -359,53 +388,51 @@ class TestSpecDag(object):
assert counts[name] == 1
def test_dependents_and_dependencies_are_correct(self):
- spec = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'dyninst': {
- 'libdwarf': {'libelf': None},
- 'libelf': None
+ spec = Spec.from_literal(
+ {
+ "mpileaks": {
+ "callpath": {
+ "dyninst": {"libdwarf": {"libelf": None}, "libelf": None},
+ "mpi": None,
},
- 'mpi': None
- },
- 'mpi': None
+ "mpi": None,
+ }
}
- })
+ )
check_links(spec)
spec.normalize()
check_links(spec)
def test_unsatisfiable_version(self, set_dependency):
- set_dependency('mpileaks', 'mpich@1.0')
- spec = Spec('mpileaks ^mpich@2.0 ^callpath ^dyninst ^libelf ^libdwarf')
+ set_dependency("mpileaks", "mpich@1.0")
+ spec = Spec("mpileaks ^mpich@2.0 ^callpath ^dyninst ^libelf ^libdwarf")
with pytest.raises(spack.spec.UnsatisfiableVersionSpecError):
spec.normalize()
def test_unsatisfiable_compiler(self, set_dependency):
- set_dependency('mpileaks', 'mpich%gcc')
- spec = Spec('mpileaks ^mpich%intel ^callpath ^dyninst ^libelf'
- ' ^libdwarf')
+ set_dependency("mpileaks", "mpich%gcc")
+ spec = Spec("mpileaks ^mpich%intel ^callpath ^dyninst ^libelf" " ^libdwarf")
with pytest.raises(spack.spec.UnsatisfiableCompilerSpecError):
spec.normalize()
def test_unsatisfiable_compiler_version(self, set_dependency):
- set_dependency('mpileaks', 'mpich%gcc@4.6')
- spec = Spec('mpileaks ^mpich%gcc@4.5 ^callpath ^dyninst ^libelf'
- ' ^libdwarf')
+ set_dependency("mpileaks", "mpich%gcc@4.6")
+ spec = Spec("mpileaks ^mpich%gcc@4.5 ^callpath ^dyninst ^libelf" " ^libdwarf")
with pytest.raises(spack.spec.UnsatisfiableCompilerSpecError):
spec.normalize()
def test_unsatisfiable_architecture(self, set_dependency):
- set_dependency('mpileaks', 'mpich platform=test target=be')
- spec = Spec('mpileaks ^mpich platform=test target=fe ^callpath'
- ' ^dyninst ^libelf ^libdwarf')
+ set_dependency("mpileaks", "mpich platform=test target=be")
+ spec = Spec(
+ "mpileaks ^mpich platform=test target=fe ^callpath" " ^dyninst ^libelf ^libdwarf"
+ )
with pytest.raises(spack.spec.UnsatisfiableArchitectureSpecError):
spec.normalize()
- @pytest.mark.parametrize('spec_str', [
- 'libelf ^mpich', 'libelf ^libdwarf', 'mpich ^dyninst ^libelf'
- ])
+ @pytest.mark.parametrize(
+ "spec_str", ["libelf ^mpich", "libelf ^libdwarf", "mpich ^dyninst ^libelf"]
+ )
def test_invalid_dep(self, spec_str):
spec = Spec(spec_str)
with pytest.raises(spack.error.SpecError):
@@ -413,45 +440,19 @@ class TestSpecDag(object):
def test_equal(self):
# Different spec structures to test for equality
- flat = Spec.from_literal(
- {'mpileaks ^callpath ^libelf ^libdwarf': None}
+ flat = Spec.from_literal({"mpileaks ^callpath ^libelf ^libdwarf": None})
+
+ flat_init = Spec.from_literal(
+ {"mpileaks": {"callpath": None, "libdwarf": None, "libelf": None}}
)
- flat_init = Spec.from_literal({
- 'mpileaks': {
- 'callpath': None,
- 'libdwarf': None,
- 'libelf': None
- }
- })
+ flip_flat = Spec.from_literal(
+ {"mpileaks": {"libelf": None, "libdwarf": None, "callpath": None}}
+ )
- flip_flat = Spec.from_literal({
- 'mpileaks': {
- 'libelf': None,
- 'libdwarf': None,
- 'callpath': None
- }
- })
-
- dag = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'libdwarf': {
- 'libelf': None
- }
- }
- }
- })
-
- flip_dag = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'libelf': {
- 'libdwarf': None
- }
- }
- }
- })
+ dag = Spec.from_literal({"mpileaks": {"callpath": {"libdwarf": {"libelf": None}}}})
+
+ flip_dag = Spec.from_literal({"mpileaks": {"callpath": {"libelf": {"libdwarf": None}}}})
# All these are equal to each other with regular ==
specs = (flat, flat_init, flip_flat, dag, flip_dag)
@@ -474,52 +475,53 @@ class TestSpecDag(object):
def test_normalize_mpileaks(self):
# Spec parsed in from a string
- spec = Spec.from_literal({
- 'mpileaks ^mpich ^callpath ^dyninst ^libelf@1.8.11 ^libdwarf': None
- })
+ spec = Spec.from_literal(
+ {"mpileaks ^mpich ^callpath ^dyninst ^libelf@1.8.11 ^libdwarf": None}
+ )
# What that spec should look like after parsing
- expected_flat = Spec.from_literal({
- 'mpileaks': {
- 'mpich': None,
- 'callpath': None,
- 'dyninst': None,
- 'libelf@1.8.11': None,
- 'libdwarf': None
+ expected_flat = Spec.from_literal(
+ {
+ "mpileaks": {
+ "mpich": None,
+ "callpath": None,
+ "dyninst": None,
+ "libelf@1.8.11": None,
+ "libdwarf": None,
+ }
}
- })
+ )
# What it should look like after normalization
- mpich = Spec('mpich')
- libelf = Spec('libelf@1.8.11')
- expected_normalized = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'dyninst': {
- 'libdwarf': {libelf: None},
- libelf: None
+ mpich = Spec("mpich")
+ libelf = Spec("libelf@1.8.11")
+ expected_normalized = Spec.from_literal(
+ {
+ "mpileaks": {
+ "callpath": {
+ "dyninst": {"libdwarf": {libelf: None}, libelf: None},
+ mpich: None,
},
- mpich: None
+ mpich: None,
},
- mpich: None
- },
- })
+ }
+ )
# Similar to normalized spec, but now with copies of the same
# libelf node. Normalization should result in a single unique
# node for each package, so this is the wrong DAG.
- non_unique_nodes = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'dyninst': {
- 'libdwarf': {'libelf@1.8.11': None},
- 'libelf@1.8.11': None
+ non_unique_nodes = Spec.from_literal(
+ {
+ "mpileaks": {
+ "callpath": {
+ "dyninst": {"libdwarf": {"libelf@1.8.11": None}, "libelf@1.8.11": None},
+ mpich: None,
},
- mpich: None
- },
- mpich: None
- }
- }, normal=False)
+ mpich: None,
+ }
+ },
+ normal=False,
+ )
# All specs here should be equal under regular equality
specs = (spec, expected_flat, expected_normalized, non_unique_nodes)
@@ -553,36 +555,35 @@ class TestSpecDag(object):
assert not spec.eq_dag(non_unique_nodes, deptypes=True)
def test_normalize_with_virtual_package(self):
- spec = Spec('mpileaks ^mpi ^libelf@1.8.11 ^libdwarf')
+ spec = Spec("mpileaks ^mpi ^libelf@1.8.11 ^libdwarf")
spec.normalize()
- expected_normalized = Spec.from_literal({
- 'mpileaks': {
- 'callpath': {
- 'dyninst': {
- 'libdwarf': {'libelf@1.8.11': None},
- 'libelf@1.8.11': None
+ expected_normalized = Spec.from_literal(
+ {
+ "mpileaks": {
+ "callpath": {
+ "dyninst": {"libdwarf": {"libelf@1.8.11": None}, "libelf@1.8.11": None},
+ "mpi": None,
},
- 'mpi': None
- },
- 'mpi': None
+ "mpi": None,
+ }
}
- })
+ )
assert str(spec) == str(expected_normalized)
def test_contains(self):
- spec = Spec('mpileaks ^mpi ^libelf@1.8.11 ^libdwarf')
- assert Spec('mpi') in spec
- assert Spec('libelf') in spec
- assert Spec('libelf@1.8.11') in spec
- assert Spec('libelf@1.8.12') not in spec
- assert Spec('libdwarf') in spec
- assert Spec('libgoblin') not in spec
- assert Spec('mpileaks') in spec
+ spec = Spec("mpileaks ^mpi ^libelf@1.8.11 ^libdwarf")
+ assert Spec("mpi") in spec
+ assert Spec("libelf") in spec
+ assert Spec("libelf@1.8.11") in spec
+ assert Spec("libelf@1.8.12") not in spec
+ assert Spec("libdwarf") in spec
+ assert Spec("libgoblin") not in spec
+ assert Spec("mpileaks") in spec
def test_copy_simple(self):
- orig = Spec('mpileaks')
+ orig = Spec("mpileaks")
copy = orig.copy()
check_links(copy)
@@ -597,7 +598,7 @@ class TestSpecDag(object):
assert not orig_ids.intersection(copy_ids)
def test_copy_normalized(self):
- orig = Spec('mpileaks')
+ orig = Spec("mpileaks")
orig.normalize()
copy = orig.copy()
check_links(copy)
@@ -611,7 +612,7 @@ class TestSpecDag(object):
assert not orig_ids.intersection(copy_ids)
def test_copy_concretized(self):
- orig = Spec('mpileaks')
+ orig = Spec("mpileaks")
orig.concretize()
copy = orig.copy()
@@ -631,17 +632,17 @@ class TestSpecDag(object):
"""Check that copying dependencies using id(node) as a fast identifier of the
node works when the spec is wrapped in a SpecBuildInterface object.
"""
- s = Spec('mpileaks').concretized()
+ s = Spec("mpileaks").concretized()
c0 = s.copy()
assert c0 == s
# Single indirection
- c1 = s['mpileaks'].copy()
+ c1 = s["mpileaks"].copy()
assert c0 == c1 == s
# Double indirection
- c2 = s['mpileaks']['mpileaks'].copy()
+ c2 = s["mpileaks"]["mpileaks"].copy()
assert c0 == c1 == c2 == s
"""
@@ -671,70 +672,88 @@ class TestSpecDag(object):
"""
def test_deptype_traversal(self):
- dag = Spec('dtuse')
+ dag = Spec("dtuse")
dag.normalize()
- names = ['dtuse', 'dttop', 'dtbuild1', 'dtbuild2', 'dtlink2',
- 'dtlink1', 'dtlink3', 'dtlink4']
-
- traversal = dag.traverse(deptype=('build', 'link'))
+ names = [
+ "dtuse",
+ "dttop",
+ "dtbuild1",
+ "dtbuild2",
+ "dtlink2",
+ "dtlink1",
+ "dtlink3",
+ "dtlink4",
+ ]
+
+ traversal = dag.traverse(deptype=("build", "link"))
assert [x.name for x in traversal] == names
def test_deptype_traversal_with_builddeps(self):
- dag = Spec('dttop')
+ dag = Spec("dttop")
dag.normalize()
- names = ['dttop', 'dtbuild1', 'dtbuild2', 'dtlink2',
- 'dtlink1', 'dtlink3', 'dtlink4']
+ names = ["dttop", "dtbuild1", "dtbuild2", "dtlink2", "dtlink1", "dtlink3", "dtlink4"]
- traversal = dag.traverse(deptype=('build', 'link'))
+ traversal = dag.traverse(deptype=("build", "link"))
assert [x.name for x in traversal] == names
def test_deptype_traversal_full(self):
- dag = Spec('dttop')
+ dag = Spec("dttop")
dag.normalize()
- names = ['dttop', 'dtbuild1', 'dtbuild2', 'dtlink2', 'dtrun2',
- 'dtlink1', 'dtlink3', 'dtlink4', 'dtrun1', 'dtlink5',
- 'dtrun3', 'dtbuild3']
+ names = [
+ "dttop",
+ "dtbuild1",
+ "dtbuild2",
+ "dtlink2",
+ "dtrun2",
+ "dtlink1",
+ "dtlink3",
+ "dtlink4",
+ "dtrun1",
+ "dtlink5",
+ "dtrun3",
+ "dtbuild3",
+ ]
traversal = dag.traverse(deptype=all)
assert [x.name for x in traversal] == names
def test_deptype_traversal_run(self):
- dag = Spec('dttop')
+ dag = Spec("dttop")
dag.normalize()
- names = ['dttop', 'dtrun1', 'dtrun3']
+ names = ["dttop", "dtrun1", "dtrun3"]
- traversal = dag.traverse(deptype='run')
+ traversal = dag.traverse(deptype="run")
assert [x.name for x in traversal] == names
def test_hash_bits(self):
"""Ensure getting first n bits of a base32-encoded DAG hash works."""
# RFC 4648 base32 decode table
- b32 = dict((j, i) for i, j in enumerate('abcdefghijklmnopqrstuvwxyz'))
- b32.update(dict((j, i) for i, j in enumerate('234567', 26)))
+ b32 = dict((j, i) for i, j in enumerate("abcdefghijklmnopqrstuvwxyz"))
+ b32.update(dict((j, i) for i, j in enumerate("234567", 26)))
# some package hashes
tests = [
- '35orsd4cenv743hg4i5vxha2lzayycby',
- '6kfqtj7dap3773rxog6kkmoweix5gpwo',
- 'e6h6ff3uvmjbq3azik2ckr6ckwm3depv',
- 'snz2juf4ij7sv77cq3vs467q6acftmur',
- '4eg47oedi5bbkhpoxw26v3oe6vamkfd7',
- 'vrwabwj6umeb5vjw6flx2rnft3j457rw']
+ "35orsd4cenv743hg4i5vxha2lzayycby",
+ "6kfqtj7dap3773rxog6kkmoweix5gpwo",
+ "e6h6ff3uvmjbq3azik2ckr6ckwm3depv",
+ "snz2juf4ij7sv77cq3vs467q6acftmur",
+ "4eg47oedi5bbkhpoxw26v3oe6vamkfd7",
+ "vrwabwj6umeb5vjw6flx2rnft3j457rw",
+ ]
for test_hash in tests:
# string containing raw bits of hash ('1' and '0')
- expected = ''.join([format(b32[c], '#07b').replace('0b', '')
- for c in test_hash])
+ expected = "".join([format(b32[c], "#07b").replace("0b", "") for c in test_hash])
for bits in (1, 2, 3, 4, 7, 8, 9, 16, 64, 117, 128, 160):
actual_int = hashutil.base32_prefix_bits(test_hash, bits)
fmt = "#0%sb" % (bits + 2)
- actual = format(actual_int, fmt).replace('0b', '')
+ actual = format(actual_int, fmt).replace("0b", "")
assert expected[:bits] == actual
@@ -747,95 +766,58 @@ class TestSpecDag(object):
def test_traversal_directions(self):
"""Make sure child and parent traversals of specs work."""
# Mock spec - d is used for a diamond dependency
- spec = Spec.from_literal({
- 'a': {
- 'b': {
- 'c': {'d': None},
- 'e': None
- },
- 'f': {
- 'g': {'d': None}
- }
- }
- })
+ spec = Spec.from_literal(
+ {"a": {"b": {"c": {"d": None}, "e": None}, "f": {"g": {"d": None}}}}
+ )
- assert (
- ['a', 'b', 'c', 'd', 'e', 'f', 'g'] ==
- [s.name for s in spec.traverse(direction='children')])
+ assert ["a", "b", "c", "d", "e", "f", "g"] == [
+ s.name for s in spec.traverse(direction="children")
+ ]
- assert (
- ['g', 'f', 'a'] ==
- [s.name for s in spec['g'].traverse(direction='parents')])
+ assert ["g", "f", "a"] == [s.name for s in spec["g"].traverse(direction="parents")]
- assert (
- ['d', 'c', 'b', 'a', 'g', 'f'] ==
- [s.name for s in spec['d'].traverse(direction='parents')])
+ assert ["d", "c", "b", "a", "g", "f"] == [
+ s.name for s in spec["d"].traverse(direction="parents")
+ ]
def test_edge_traversals(self):
"""Make sure child and parent traversals of specs work."""
# Mock spec - d is used for a diamond dependency
- spec = Spec.from_literal({
- 'a': {
- 'b': {
- 'c': {'d': None},
- 'e': None
- },
- 'f': {
- 'g': {'d': None}
- }
- }
- })
+ spec = Spec.from_literal(
+ {"a": {"b": {"c": {"d": None}, "e": None}, "f": {"g": {"d": None}}}}
+ )
- assert (
- ['a', 'b', 'c', 'd', 'e', 'f', 'g'] ==
- [s.name for s in spec.traverse(direction='children')])
+ assert ["a", "b", "c", "d", "e", "f", "g"] == [
+ s.name for s in spec.traverse(direction="children")
+ ]
- assert (
- ['g', 'f', 'a'] ==
- [s.name for s in spec['g'].traverse(direction='parents')])
+ assert ["g", "f", "a"] == [s.name for s in spec["g"].traverse(direction="parents")]
- assert (
- ['d', 'c', 'b', 'a', 'g', 'f'] ==
- [s.name for s in spec['d'].traverse(direction='parents')])
+ assert ["d", "c", "b", "a", "g", "f"] == [
+ s.name for s in spec["d"].traverse(direction="parents")
+ ]
def test_copy_dependencies(self):
- s1 = Spec('mpileaks ^mpich2@1.1')
+ s1 = Spec("mpileaks ^mpich2@1.1")
s2 = s1.copy()
- assert '^mpich2@1.1' in s2
- assert '^mpich2' in s2
+ assert "^mpich2@1.1" in s2
+ assert "^mpich2" in s2
def test_construct_spec_with_deptypes(self):
"""Ensure that it is possible to construct a spec with explicit
- dependency types."""
- s = Spec.from_literal({
- 'a': {
- 'b': {'c:build': None},
- 'd': {
- 'e:build,link': {'f:run': None}
- }
- }
- })
-
- assert s['b'].edges_to_dependencies(
- name='c'
- )[0].deptypes == ('build',)
- assert s['d'].edges_to_dependencies(
- name='e'
- )[0].deptypes == ('build', 'link')
- assert s['e'].edges_to_dependencies(
- name='f'
- )[0].deptypes == ('run',)
-
- assert s['c'].edges_from_dependents(
- name='b'
- )[0].deptypes == ('build',)
- assert s['e'].edges_from_dependents(
- name='d'
- )[0].deptypes == ('build', 'link')
- assert s['f'].edges_from_dependents(
- name='e'
- )[0].deptypes == ('run',)
+ dependency types."""
+ s = Spec.from_literal(
+ {"a": {"b": {"c:build": None}, "d": {"e:build,link": {"f:run": None}}}}
+ )
+
+ assert s["b"].edges_to_dependencies(name="c")[0].deptypes == ("build",)
+ assert s["d"].edges_to_dependencies(name="e")[0].deptypes == ("build", "link")
+ assert s["e"].edges_to_dependencies(name="f")[0].deptypes == ("run",)
+
+ assert s["c"].edges_from_dependents(name="b")[0].deptypes == ("build",)
+ assert s["e"].edges_from_dependents(name="d")[0].deptypes == ("build", "link")
+ assert s["f"].edges_from_dependents(name="e")[0].deptypes == ("run",)
def check_diamond_deptypes(self, spec):
"""Validate deptypes in dt-diamond spec.
@@ -844,42 +826,41 @@ class TestSpecDag(object):
depend on the same dependency in different ways.
"""
- assert spec['dt-diamond'].edges_to_dependencies(
- name='dt-diamond-left'
- )[0].deptypes == ('build', 'link')
+ assert spec["dt-diamond"].edges_to_dependencies(name="dt-diamond-left")[0].deptypes == (
+ "build",
+ "link",
+ )
- assert spec['dt-diamond'].edges_to_dependencies(
- name='dt-diamond-right'
- )[0].deptypes == ('build', 'link')
+ assert spec["dt-diamond"].edges_to_dependencies(name="dt-diamond-right")[0].deptypes == (
+ "build",
+ "link",
+ )
- assert spec['dt-diamond-left'].edges_to_dependencies(
- name='dt-diamond-bottom'
- )[0].deptypes == ('build',)
+ assert spec["dt-diamond-left"].edges_to_dependencies(name="dt-diamond-bottom")[
+ 0
+ ].deptypes == ("build",)
- assert spec['dt-diamond-right'].edges_to_dependencies(
- name='dt-diamond-bottom'
- )[0].deptypes == ('build', 'link', 'run')
+ assert spec["dt-diamond-right"].edges_to_dependencies(name="dt-diamond-bottom")[
+ 0
+ ].deptypes == ("build", "link", "run")
def check_diamond_normalized_dag(self, spec):
- dag = Spec.from_literal({
- 'dt-diamond': {
- 'dt-diamond-left:build,link': {
- 'dt-diamond-bottom:build': None
- },
- 'dt-diamond-right:build,link': {
- 'dt-diamond-bottom:build,link,run': None
- },
-
+ dag = Spec.from_literal(
+ {
+ "dt-diamond": {
+ "dt-diamond-left:build,link": {"dt-diamond-bottom:build": None},
+ "dt-diamond-right:build,link": {"dt-diamond-bottom:build,link,run": None},
+ }
}
- })
+ )
assert spec.eq_dag(dag)
def test_normalize_diamond_deptypes(self):
"""Ensure that dependency types are preserved even if the same thing is
- depended on in two different ways."""
- s = Spec('dt-diamond')
+ depended on in two different ways."""
+ s = Spec("dt-diamond")
s.normalize()
self.check_diamond_deptypes(s)
@@ -887,13 +868,13 @@ class TestSpecDag(object):
def test_concretize_deptypes(self):
"""Ensure that dependency types are preserved after concretization."""
- s = Spec('dt-diamond')
+ s = Spec("dt-diamond")
s.concretize()
self.check_diamond_deptypes(s)
def test_copy_deptypes(self):
"""Ensure that dependency types are preserved by spec copy."""
- s1 = Spec('dt-diamond')
+ s1 = Spec("dt-diamond")
s1.normalize()
self.check_diamond_deptypes(s1)
self.check_diamond_normalized_dag(s1)
@@ -902,7 +883,7 @@ class TestSpecDag(object):
self.check_diamond_normalized_dag(s2)
self.check_diamond_deptypes(s2)
- s3 = Spec('dt-diamond')
+ s3 = Spec("dt-diamond")
s3.concretize()
self.check_diamond_deptypes(s3)
@@ -910,45 +891,45 @@ class TestSpecDag(object):
self.check_diamond_deptypes(s4)
def test_getitem_query(self):
- s = Spec('mpileaks')
+ s = Spec("mpileaks")
s.concretize()
# Check a query to a non-virtual package
- a = s['callpath']
+ a = s["callpath"]
query = a.last_query
- assert query.name == 'callpath'
+ assert query.name == "callpath"
assert len(query.extra_parameters) == 0
assert not query.isvirtual
# Check a query to a virtual package
- a = s['mpi']
+ a = s["mpi"]
query = a.last_query
- assert query.name == 'mpi'
+ assert query.name == "mpi"
assert len(query.extra_parameters) == 0
assert query.isvirtual
# Check a query to a virtual package with
# extra parameters after query
- a = s['mpi:cxx,fortran']
+ a = s["mpi:cxx,fortran"]
query = a.last_query
- assert query.name == 'mpi'
+ assert query.name == "mpi"
assert len(query.extra_parameters) == 2
- assert 'cxx' in query.extra_parameters
- assert 'fortran' in query.extra_parameters
+ assert "cxx" in query.extra_parameters
+ assert "fortran" in query.extra_parameters
assert query.isvirtual
def test_getitem_exceptional_paths(self):
- s = Spec('mpileaks')
+ s = Spec("mpileaks")
s.concretize()
# Needed to get a proxy object
- q = s['mpileaks']
+ q = s["mpileaks"]
# Test that the attribute is read-only
with pytest.raises(AttributeError):
- q.libs = 'foo'
+ q.libs = "foo"
with pytest.raises(AttributeError):
q.libs
@@ -956,7 +937,7 @@ class TestSpecDag(object):
def test_canonical_deptype(self):
# special values
assert canonical_deptype(all) == all_deptypes
- assert canonical_deptype('all') == all_deptypes
+ assert canonical_deptype("all") == all_deptypes
with pytest.raises(ValueError):
canonical_deptype(None)
@@ -968,67 +949,55 @@ class TestSpecDag(object):
assert canonical_deptype(v) == (v,)
# tuples
- assert canonical_deptype(('build',)) == ('build',)
- assert canonical_deptype(
- ('build', 'link', 'run')) == ('build', 'link', 'run')
- assert canonical_deptype(
- ('build', 'link')) == ('build', 'link')
- assert canonical_deptype(
- ('build', 'run')) == ('build', 'run')
+ assert canonical_deptype(("build",)) == ("build",)
+ assert canonical_deptype(("build", "link", "run")) == ("build", "link", "run")
+ assert canonical_deptype(("build", "link")) == ("build", "link")
+ assert canonical_deptype(("build", "run")) == ("build", "run")
# lists
- assert canonical_deptype(
- ['build', 'link', 'run']) == ('build', 'link', 'run')
- assert canonical_deptype(
- ['build', 'link']) == ('build', 'link')
- assert canonical_deptype(
- ['build', 'run']) == ('build', 'run')
+ assert canonical_deptype(["build", "link", "run"]) == ("build", "link", "run")
+ assert canonical_deptype(["build", "link"]) == ("build", "link")
+ assert canonical_deptype(["build", "run"]) == ("build", "run")
# sorting
- assert canonical_deptype(
- ('run', 'build', 'link')) == ('build', 'link', 'run')
- assert canonical_deptype(
- ('run', 'link', 'build')) == ('build', 'link', 'run')
- assert canonical_deptype(
- ('run', 'link')) == ('link', 'run')
- assert canonical_deptype(
- ('link', 'build')) == ('build', 'link')
+ assert canonical_deptype(("run", "build", "link")) == ("build", "link", "run")
+ assert canonical_deptype(("run", "link", "build")) == ("build", "link", "run")
+ assert canonical_deptype(("run", "link")) == ("link", "run")
+ assert canonical_deptype(("link", "build")) == ("build", "link")
# can't put 'all' in tuple or list
with pytest.raises(ValueError):
- canonical_deptype(['all'])
+ canonical_deptype(["all"])
with pytest.raises(ValueError):
- canonical_deptype(('all',))
+ canonical_deptype(("all",))
# invalid values
with pytest.raises(ValueError):
- canonical_deptype('foo')
+ canonical_deptype("foo")
with pytest.raises(ValueError):
- canonical_deptype(('foo', 'bar'))
+ canonical_deptype(("foo", "bar"))
with pytest.raises(ValueError):
- canonical_deptype(('foo',))
+ canonical_deptype(("foo",))
def test_invalid_literal_spec(self):
# Can't give type 'build' to a top-level spec
with pytest.raises(spack.spec.SpecParseError):
- Spec.from_literal({'foo:build': None})
+ Spec.from_literal({"foo:build": None})
# Can't use more than one ':' separator
with pytest.raises(KeyError):
- Spec.from_literal({'foo': {'bar:build:link': None}})
+ Spec.from_literal({"foo": {"bar:build:link": None}})
def test_spec_tree_respect_deptypes(self):
# Version-test-root uses version-test-pkg as a build dependency
- s = Spec('version-test-root').concretized()
- out = s.tree(deptypes='all')
- assert 'version-test-pkg' in out
- out = s.tree(deptypes=('link', 'run'))
- assert 'version-test-pkg' not in out
+ s = Spec("version-test-root").concretized()
+ out = s.tree(deptypes="all")
+ assert "version-test-pkg" in out
+ out = s.tree(deptypes=("link", "run"))
+ assert "version-test-pkg" not in out
-def test_synthetic_construction_of_split_dependencies_from_same_package(
- mock_packages, config
-):
+def test_synthetic_construction_of_split_dependencies_from_same_package(mock_packages, config):
# Construct in a synthetic way (i.e. without using the solver)
# the following spec:
#
@@ -1038,20 +1007,20 @@ def test_synthetic_construction_of_split_dependencies_from_same_package(
#
# To demonstrate that a spec can now hold two direct
# dependencies from the same package
- root = Spec('b').concretized()
- link_run_spec = Spec('c@1.0').concretized()
- build_spec = Spec('c@2.0').concretized()
+ root = Spec("b").concretized()
+ link_run_spec = Spec("c@1.0").concretized()
+ build_spec = Spec("c@2.0").concretized()
- root.add_dependency_edge(link_run_spec, deptype='link')
- root.add_dependency_edge(link_run_spec, deptype='run')
- root.add_dependency_edge(build_spec, deptype='build')
+ root.add_dependency_edge(link_run_spec, deptype="link")
+ root.add_dependency_edge(link_run_spec, deptype="run")
+ root.add_dependency_edge(build_spec, deptype="build")
# Check dependencies from the perspective of root
assert len(root.dependencies()) == 2
- assert all(x.name == 'c' for x in root.dependencies())
+ assert all(x.name == "c" for x in root.dependencies())
- assert '@2.0' in root.dependencies(name='c', deptype='build')[0]
- assert '@1.0' in root.dependencies(name='c', deptype=('link', 'run'))[0]
+ assert "@2.0" in root.dependencies(name="c", deptype="build")[0]
+ assert "@1.0" in root.dependencies(name="c", deptype=("link", "run"))[0]
# Check parent from the perspective of the dependencies
assert len(build_spec.dependents()) == 1
@@ -1067,14 +1036,14 @@ def test_synthetic_construction_bootstrapping(mock_packages, config):
# | build
# b@1.0
#
- root = Spec('b@2.0').concretized()
- bootstrap = Spec('b@1.0').concretized()
+ root = Spec("b@2.0").concretized()
+ bootstrap = Spec("b@1.0").concretized()
- root.add_dependency_edge(bootstrap, deptype='build')
+ root.add_dependency_edge(bootstrap, deptype="build")
assert len(root.dependencies()) == 1
- assert root.dependencies()[0].name == 'b'
- assert root.name == 'b'
+ assert root.dependencies()[0].name == "b"
+ assert root.name == "b"
def test_addition_of_different_deptypes_in_multiple_calls(mock_packages, config):
@@ -1085,10 +1054,10 @@ def test_addition_of_different_deptypes_in_multiple_calls(mock_packages, config)
# b@1.0
#
# with three calls and check we always have a single edge
- root = Spec('b@2.0').concretized()
- bootstrap = Spec('b@1.0').concretized()
+ root = Spec("b@2.0").concretized()
+ bootstrap = Spec("b@1.0").concretized()
- for current_deptype in ('build', 'link', 'run'):
+ for current_deptype in ("build", "link", "run"):
root.add_dependency_edge(bootstrap, deptype=current_deptype)
# Check edges in dependencies
@@ -1106,16 +1075,15 @@ def test_addition_of_different_deptypes_in_multiple_calls(mock_packages, config)
assert id(backward_edge.spec) == id(bootstrap)
-@pytest.mark.parametrize('c1_deptypes,c2_deptypes', [
- ('link', ('build', 'link')),
- (('link', 'run'), ('build', 'link'))
-])
+@pytest.mark.parametrize(
+ "c1_deptypes,c2_deptypes", [("link", ("build", "link")), (("link", "run"), ("build", "link"))]
+)
def test_adding_same_deptype_with_the_same_name_raises(
- mock_packages, config, c1_deptypes, c2_deptypes
+ mock_packages, config, c1_deptypes, c2_deptypes
):
- p = Spec('b@2.0').concretized()
- c1 = Spec('b@1.0').concretized()
- c2 = Spec('b@2.0').concretized()
+ p = Spec("b@2.0").concretized()
+ c1 = Spec("b@1.0").concretized()
+ c2 = Spec("b@2.0").concretized()
p.add_dependency_edge(c1, deptype=c1_deptypes)
with pytest.raises(spack.error.SpackError):
diff --git a/lib/spack/spack/test/spec_list.py b/lib/spack/spack/test/spec_list.py
index d5a26cae2d..487417dff1 100644
--- a/lib/spack/spack/test/spec_list.py
+++ b/lib/spack/spack/test/spec_list.py
@@ -11,176 +11,183 @@ from spack.spec_list import SpecList
class TestSpecList(object):
- default_input = ['mpileaks', '$mpis',
- {'matrix': [['hypre'], ['$gccs', '$clangs']]},
- 'libelf']
-
- default_reference = {'gccs': SpecList('gccs', ['%gcc@4.5.0']),
- 'clangs': SpecList('clangs', ['%clang@3.3']),
- 'mpis': SpecList('mpis', ['zmpi@1.0', 'mpich@3.0'])}
-
- default_expansion = ['mpileaks', 'zmpi@1.0', 'mpich@3.0',
- {'matrix': [
- ['hypre'],
- ['%gcc@4.5.0', '%clang@3.3'],
- ]},
- 'libelf']
-
- default_constraints = [[Spec('mpileaks')],
- [Spec('zmpi@1.0')],
- [Spec('mpich@3.0')],
- [Spec('hypre'), Spec('%gcc@4.5.0')],
- [Spec('hypre'), Spec('%clang@3.3')],
- [Spec('libelf')]]
-
- default_specs = [Spec('mpileaks'), Spec('zmpi@1.0'),
- Spec('mpich@3.0'), Spec('hypre%gcc@4.5.0'),
- Spec('hypre%clang@3.3'), Spec('libelf')]
+ default_input = ["mpileaks", "$mpis", {"matrix": [["hypre"], ["$gccs", "$clangs"]]}, "libelf"]
+
+ default_reference = {
+ "gccs": SpecList("gccs", ["%gcc@4.5.0"]),
+ "clangs": SpecList("clangs", ["%clang@3.3"]),
+ "mpis": SpecList("mpis", ["zmpi@1.0", "mpich@3.0"]),
+ }
+
+ default_expansion = [
+ "mpileaks",
+ "zmpi@1.0",
+ "mpich@3.0",
+ {
+ "matrix": [
+ ["hypre"],
+ ["%gcc@4.5.0", "%clang@3.3"],
+ ]
+ },
+ "libelf",
+ ]
+
+ default_constraints = [
+ [Spec("mpileaks")],
+ [Spec("zmpi@1.0")],
+ [Spec("mpich@3.0")],
+ [Spec("hypre"), Spec("%gcc@4.5.0")],
+ [Spec("hypre"), Spec("%clang@3.3")],
+ [Spec("libelf")],
+ ]
+
+ default_specs = [
+ Spec("mpileaks"),
+ Spec("zmpi@1.0"),
+ Spec("mpich@3.0"),
+ Spec("hypre%gcc@4.5.0"),
+ Spec("hypre%clang@3.3"),
+ Spec("libelf"),
+ ]
def test_spec_list_expansions(self):
- speclist = SpecList('specs', self.default_input,
- self.default_reference)
+ speclist = SpecList("specs", self.default_input, self.default_reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
assert speclist.specs == self.default_specs
- @pytest.mark.regression('28749')
- @pytest.mark.parametrize('specs,expected', [
- # Constraints are ordered randomly
- ([{'matrix': [
- ['^zmpi'],
- ['%gcc@4.5.0'],
- ['hypre', 'libelf'],
- ['~shared'],
- ['cflags=-O3', 'cflags="-g -O0"'],
- ['^foo']
- ]}], [
- 'hypre cflags=-O3 ~shared %gcc@4.5.0 ^foo ^zmpi',
- 'hypre cflags="-g -O0" ~shared %gcc@4.5.0 ^foo ^zmpi',
- 'libelf cflags=-O3 ~shared %gcc@4.5.0 ^foo ^zmpi',
- 'libelf cflags="-g -O0" ~shared %gcc@4.5.0 ^foo ^zmpi',
- ]),
- # A constraint affects both the root and a dependency
- ([{'matrix': [
- ['gromacs'],
- ['%gcc'],
- ['+plumed ^plumed%gcc']
- ]}], [
- 'gromacs+plumed%gcc ^plumed%gcc'
- ])
- ])
+ @pytest.mark.regression("28749")
+ @pytest.mark.parametrize(
+ "specs,expected",
+ [
+ # Constraints are ordered randomly
+ (
+ [
+ {
+ "matrix": [
+ ["^zmpi"],
+ ["%gcc@4.5.0"],
+ ["hypre", "libelf"],
+ ["~shared"],
+ ["cflags=-O3", 'cflags="-g -O0"'],
+ ["^foo"],
+ ]
+ }
+ ],
+ [
+ "hypre cflags=-O3 ~shared %gcc@4.5.0 ^foo ^zmpi",
+ 'hypre cflags="-g -O0" ~shared %gcc@4.5.0 ^foo ^zmpi',
+ "libelf cflags=-O3 ~shared %gcc@4.5.0 ^foo ^zmpi",
+ 'libelf cflags="-g -O0" ~shared %gcc@4.5.0 ^foo ^zmpi',
+ ],
+ ),
+ # A constraint affects both the root and a dependency
+ (
+ [{"matrix": [["gromacs"], ["%gcc"], ["+plumed ^plumed%gcc"]]}],
+ ["gromacs+plumed%gcc ^plumed%gcc"],
+ ),
+ ],
+ )
def test_spec_list_constraint_ordering(self, specs, expected):
- speclist = SpecList('specs', specs)
+ speclist = SpecList("specs", specs)
expected_specs = [Spec(x) for x in expected]
assert speclist.specs == expected_specs
def test_spec_list_add(self):
- speclist = SpecList('specs', self.default_input,
- self.default_reference)
+ speclist = SpecList("specs", self.default_input, self.default_reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
assert speclist.specs == self.default_specs
- speclist.add('libdwarf')
+ speclist.add("libdwarf")
- assert speclist.specs_as_yaml_list == self.default_expansion + [
- 'libdwarf']
- assert speclist.specs_as_constraints == self.default_constraints + [
- [Spec('libdwarf')]]
- assert speclist.specs == self.default_specs + [Spec('libdwarf')]
+ assert speclist.specs_as_yaml_list == self.default_expansion + ["libdwarf"]
+ assert speclist.specs_as_constraints == self.default_constraints + [[Spec("libdwarf")]]
+ assert speclist.specs == self.default_specs + [Spec("libdwarf")]
def test_spec_list_remove(self):
- speclist = SpecList('specs', self.default_input,
- self.default_reference)
+ speclist = SpecList("specs", self.default_input, self.default_reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
assert speclist.specs == self.default_specs
- speclist.remove('libelf')
+ speclist.remove("libelf")
- assert speclist.specs_as_yaml_list + [
- 'libelf'
- ] == self.default_expansion
+ assert speclist.specs_as_yaml_list + ["libelf"] == self.default_expansion
- assert speclist.specs_as_constraints + [
- [Spec('libelf')]
- ] == self.default_constraints
+ assert speclist.specs_as_constraints + [[Spec("libelf")]] == self.default_constraints
- assert speclist.specs + [Spec('libelf')] == self.default_specs
+ assert speclist.specs + [Spec("libelf")] == self.default_specs
def test_spec_list_update_reference(self):
- speclist = SpecList('specs', self.default_input,
- self.default_reference)
+ speclist = SpecList("specs", self.default_input, self.default_reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
assert speclist.specs == self.default_specs
- new_mpis = SpecList('mpis', self.default_reference['mpis'].yaml_list)
- new_mpis.add('mpich@3.3')
+ new_mpis = SpecList("mpis", self.default_reference["mpis"].yaml_list)
+ new_mpis.add("mpich@3.3")
new_reference = self.default_reference.copy()
- new_reference['mpis'] = new_mpis
+ new_reference["mpis"] = new_mpis
speclist.update_reference(new_reference)
expansion = list(self.default_expansion)
- expansion.insert(3, 'mpich@3.3')
+ expansion.insert(3, "mpich@3.3")
constraints = list(self.default_constraints)
- constraints.insert(3, [Spec('mpich@3.3')])
+ constraints.insert(3, [Spec("mpich@3.3")])
specs = list(self.default_specs)
- specs.insert(3, Spec('mpich@3.3'))
+ specs.insert(3, Spec("mpich@3.3"))
assert speclist.specs_as_yaml_list == expansion
assert speclist.specs_as_constraints == constraints
assert speclist.specs == specs
def test_spec_list_extension(self):
- speclist = SpecList('specs', self.default_input,
- self.default_reference)
+ speclist = SpecList("specs", self.default_input, self.default_reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
assert speclist.specs == self.default_specs
new_ref = self.default_reference.copy()
- otherlist = SpecList('specs',
- ['zlib', {'matrix': [['callpath'],
- ['%intel@18']]}],
- new_ref)
+ otherlist = SpecList("specs", ["zlib", {"matrix": [["callpath"], ["%intel@18"]]}], new_ref)
speclist.extend(otherlist)
- assert speclist.specs_as_yaml_list == (self.default_expansion +
- otherlist.specs_as_yaml_list)
+ assert speclist.specs_as_yaml_list == (
+ self.default_expansion + otherlist.specs_as_yaml_list
+ )
assert speclist.specs == self.default_specs + otherlist.specs
assert speclist._reference is new_ref
def test_spec_list_nested_matrices(self):
- inner_matrix = [{'matrix': [['zlib', 'libelf'], ['%gcc', '%intel']]}]
- outer_addition = ['+shared', '~shared']
- outer_matrix = [{'matrix': [inner_matrix, outer_addition]}]
- speclist = SpecList('specs', outer_matrix)
-
- expected_components = itertools.product(['zlib', 'libelf'],
- ['%gcc', '%intel'],
- ['+shared', '~shared'])
- expected = [Spec(' '.join(combo)) for combo in expected_components]
+ inner_matrix = [{"matrix": [["zlib", "libelf"], ["%gcc", "%intel"]]}]
+ outer_addition = ["+shared", "~shared"]
+ outer_matrix = [{"matrix": [inner_matrix, outer_addition]}]
+ speclist = SpecList("specs", outer_matrix)
+
+ expected_components = itertools.product(
+ ["zlib", "libelf"], ["%gcc", "%intel"], ["+shared", "~shared"]
+ )
+ expected = [Spec(" ".join(combo)) for combo in expected_components]
assert set(speclist.specs) == set(expected)
- @pytest.mark.regression('16897')
+ @pytest.mark.regression("16897")
def test_spec_list_recursion_specs_as_constraints(self):
- input = ['mpileaks', '$mpis',
- {'matrix': [['hypre'], ['$%gccs', '$%clangs']]},
- 'libelf']
+ input = ["mpileaks", "$mpis", {"matrix": [["hypre"], ["$%gccs", "$%clangs"]]}, "libelf"]
- reference = {'gccs': SpecList('gccs', ['gcc@4.5.0']),
- 'clangs': SpecList('clangs', ['clang@3.3']),
- 'mpis': SpecList('mpis', ['zmpi@1.0', 'mpich@3.0'])}
+ reference = {
+ "gccs": SpecList("gccs", ["gcc@4.5.0"]),
+ "clangs": SpecList("clangs", ["clang@3.3"]),
+ "mpis": SpecList("mpis", ["zmpi@1.0", "mpich@3.0"]),
+ }
- speclist = SpecList('specs', input, reference)
+ speclist = SpecList("specs", input, reference)
assert speclist.specs_as_yaml_list == self.default_expansion
assert speclist.specs_as_constraints == self.default_constraints
@@ -188,7 +195,8 @@ class TestSpecList(object):
def test_spec_list_matrix_exclude(self, mock_packages):
# Test on non-boolean variants for regression for #16841
- matrix = [{'matrix': [['multivalue-variant'], ['foo=bar', 'foo=baz']],
- 'exclude': ['foo=bar']}]
- speclist = SpecList('specs', matrix)
+ matrix = [
+ {"matrix": [["multivalue-variant"], ["foo=bar", "foo=baz"]], "exclude": ["foo=bar"]}
+ ]
+ speclist = SpecList("specs", matrix)
assert len(speclist.specs) == 1
diff --git a/lib/spack/spack/test/spec_semantics.py b/lib/spack/spack/test/spec_semantics.py
index db1f68f396..d417adaa18 100644
--- a/lib/spack/spack/test/spec_semantics.py
+++ b/lib/spack/spack/test/spec_semantics.py
@@ -88,278 +88,242 @@ def check_constrain_not_changed(spec, constraint):
def check_invalid_constraint(spec, constraint):
spec = Spec(spec)
constraint = Spec(constraint)
- with pytest.raises((UnsatisfiableSpecError,
- UnconstrainableDependencySpecError)):
+ with pytest.raises((UnsatisfiableSpecError, UnconstrainableDependencySpecError)):
spec.constrain(constraint)
-@pytest.mark.usefixtures('config', 'mock_packages')
+@pytest.mark.usefixtures("config", "mock_packages")
class TestSpecSematics(object):
"""This tests satisfies(), constrain() and other semantic operations
on specs.
"""
+
def test_satisfies(self):
- check_satisfies('libelf@0.8.13', '@0:1')
- check_satisfies('libdwarf^libelf@0.8.13', '^libelf@0:1')
+ check_satisfies("libelf@0.8.13", "@0:1")
+ check_satisfies("libdwarf^libelf@0.8.13", "^libelf@0:1")
def test_empty_satisfies(self):
# Basic satisfaction
- check_satisfies('libelf', Spec())
- check_satisfies('libdwarf', Spec())
- check_satisfies('%intel', Spec())
- check_satisfies('^mpi', Spec())
- check_satisfies('+debug', Spec())
- check_satisfies('@3:', Spec())
+ check_satisfies("libelf", Spec())
+ check_satisfies("libdwarf", Spec())
+ check_satisfies("%intel", Spec())
+ check_satisfies("^mpi", Spec())
+ check_satisfies("+debug", Spec())
+ check_satisfies("@3:", Spec())
# Concrete (strict) satisfaction
- check_satisfies('libelf', Spec(), True)
- check_satisfies('libdwarf', Spec(), True)
- check_satisfies('%intel', Spec(), True)
- check_satisfies('^mpi', Spec(), True)
+ check_satisfies("libelf", Spec(), True)
+ check_satisfies("libdwarf", Spec(), True)
+ check_satisfies("%intel", Spec(), True)
+ check_satisfies("^mpi", Spec(), True)
# TODO: Variants can't be called concrete while anonymous
# check_satisfies('+debug', Spec(), True)
- check_satisfies('@3:', Spec(), True)
+ check_satisfies("@3:", Spec(), True)
# Reverse (non-strict) satisfaction
- check_satisfies(Spec(), 'libelf')
- check_satisfies(Spec(), 'libdwarf')
- check_satisfies(Spec(), '%intel')
- check_satisfies(Spec(), '^mpi')
+ check_satisfies(Spec(), "libelf")
+ check_satisfies(Spec(), "libdwarf")
+ check_satisfies(Spec(), "%intel")
+ check_satisfies(Spec(), "^mpi")
# TODO: Variant matching is auto-strict
# we should rethink this
# check_satisfies(Spec(), '+debug')
- check_satisfies(Spec(), '@3:')
+ check_satisfies(Spec(), "@3:")
def test_satisfies_namespace(self):
- check_satisfies('builtin.mpich', 'mpich')
- check_satisfies('builtin.mock.mpich', 'mpich')
+ check_satisfies("builtin.mpich", "mpich")
+ check_satisfies("builtin.mock.mpich", "mpich")
# TODO: only works for deps now, but shouldn't we allow for root spec?
# check_satisfies('builtin.mock.mpich', 'mpi')
- check_satisfies('builtin.mock.mpich', 'builtin.mock.mpich')
+ check_satisfies("builtin.mock.mpich", "builtin.mock.mpich")
- check_unsatisfiable('builtin.mock.mpich', 'builtin.mpich')
+ check_unsatisfiable("builtin.mock.mpich", "builtin.mpich")
def test_satisfies_namespaced_dep(self):
"""Ensure spec from same or unspecified namespace satisfies namespace
- constraint."""
- check_satisfies('mpileaks ^builtin.mock.mpich', '^mpich')
+ constraint."""
+ check_satisfies("mpileaks ^builtin.mock.mpich", "^mpich")
- check_satisfies('mpileaks ^builtin.mock.mpich', '^mpi')
- check_satisfies(
- 'mpileaks ^builtin.mock.mpich', '^builtin.mock.mpich')
+ check_satisfies("mpileaks ^builtin.mock.mpich", "^mpi")
+ check_satisfies("mpileaks ^builtin.mock.mpich", "^builtin.mock.mpich")
- check_unsatisfiable(
- 'mpileaks ^builtin.mock.mpich', '^builtin.mpich')
+ check_unsatisfiable("mpileaks ^builtin.mock.mpich", "^builtin.mpich")
def test_satisfies_compiler(self):
- check_satisfies('foo%gcc', '%gcc')
- check_satisfies('foo%intel', '%intel')
- check_unsatisfiable('foo%intel', '%gcc')
- check_unsatisfiable('foo%intel', '%pgi')
+ check_satisfies("foo%gcc", "%gcc")
+ check_satisfies("foo%intel", "%intel")
+ check_unsatisfiable("foo%intel", "%gcc")
+ check_unsatisfiable("foo%intel", "%pgi")
def test_satisfies_compiler_version(self):
- check_satisfies('foo%gcc', '%gcc@4.7.2')
- check_satisfies('foo%intel', '%intel@4.7.2')
+ check_satisfies("foo%gcc", "%gcc@4.7.2")
+ check_satisfies("foo%intel", "%intel@4.7.2")
- check_satisfies('foo%pgi@4.5', '%pgi@4.4:4.6')
- check_satisfies('foo@2.0%pgi@4.5', '@1:3%pgi@4.4:4.6')
+ check_satisfies("foo%pgi@4.5", "%pgi@4.4:4.6")
+ check_satisfies("foo@2.0%pgi@4.5", "@1:3%pgi@4.4:4.6")
- check_unsatisfiable('foo%pgi@4.3', '%pgi@4.4:4.6')
- check_unsatisfiable('foo@4.0%pgi', '@1:3%pgi')
- check_unsatisfiable('foo@4.0%pgi@4.5', '@1:3%pgi@4.4:4.6')
+ check_unsatisfiable("foo%pgi@4.3", "%pgi@4.4:4.6")
+ check_unsatisfiable("foo@4.0%pgi", "@1:3%pgi")
+ check_unsatisfiable("foo@4.0%pgi@4.5", "@1:3%pgi@4.4:4.6")
- check_satisfies('foo %gcc@4.7.3', '%gcc@4.7')
- check_unsatisfiable('foo %gcc@4.7', '%gcc@4.7.3')
+ check_satisfies("foo %gcc@4.7.3", "%gcc@4.7")
+ check_unsatisfiable("foo %gcc@4.7", "%gcc@4.7.3")
def test_satisfies_architecture(self):
+ check_satisfies("foo platform=test", "platform=test")
+ check_satisfies("foo platform=linux", "platform=linux")
+ check_satisfies("foo platform=test", "platform=test target=frontend")
+ check_satisfies("foo platform=test", "platform=test os=frontend target=frontend")
+ check_satisfies("foo platform=test os=frontend target=frontend", "platform=test")
+
+ check_unsatisfiable("foo platform=linux", "platform=test os=redhat6 target=x86")
+ check_unsatisfiable("foo os=redhat6", "platform=test os=debian6 target=x86_64")
+ check_unsatisfiable("foo target=x86_64", "platform=test os=redhat6 target=x86")
+
+ check_satisfies("foo arch=test-None-None", "platform=test")
+ check_satisfies("foo arch=test-None-frontend", "platform=test target=frontend")
check_satisfies(
- 'foo platform=test',
- 'platform=test')
- check_satisfies(
- 'foo platform=linux',
- 'platform=linux')
- check_satisfies(
- 'foo platform=test',
- 'platform=test target=frontend')
- check_satisfies(
- 'foo platform=test',
- 'platform=test os=frontend target=frontend')
- check_satisfies(
- 'foo platform=test os=frontend target=frontend',
- 'platform=test')
-
- check_unsatisfiable(
- 'foo platform=linux',
- 'platform=test os=redhat6 target=x86')
- check_unsatisfiable(
- 'foo os=redhat6',
- 'platform=test os=debian6 target=x86_64')
- check_unsatisfiable(
- 'foo target=x86_64',
- 'platform=test os=redhat6 target=x86')
-
- check_satisfies(
- 'foo arch=test-None-None',
- 'platform=test')
- check_satisfies(
- 'foo arch=test-None-frontend',
- 'platform=test target=frontend')
- check_satisfies(
- 'foo arch=test-frontend-frontend',
- 'platform=test os=frontend target=frontend')
- check_satisfies(
- 'foo arch=test-frontend-frontend',
- 'platform=test')
+ "foo arch=test-frontend-frontend", "platform=test os=frontend target=frontend"
+ )
+ check_satisfies("foo arch=test-frontend-frontend", "platform=test")
check_unsatisfiable(
- 'foo arch=test-frontend-frontend',
- 'platform=test os=frontend target=backend')
+ "foo arch=test-frontend-frontend", "platform=test os=frontend target=backend"
+ )
check_satisfies(
- 'foo platform=test target=frontend os=frontend',
- 'platform=test target=frontend os=frontend')
+ "foo platform=test target=frontend os=frontend",
+ "platform=test target=frontend os=frontend",
+ )
check_satisfies(
- 'foo platform=test target=backend os=backend',
- 'platform=test target=backend os=backend')
+ "foo platform=test target=backend os=backend",
+ "platform=test target=backend os=backend",
+ )
check_satisfies(
- 'foo platform=test target=default_target os=default_os',
- 'platform=test os=default_os')
+ "foo platform=test target=default_target os=default_os", "platform=test os=default_os"
+ )
check_unsatisfiable(
- 'foo platform=test target=x86 os=redhat6',
- 'platform=linux target=x86 os=redhat6')
+ "foo platform=test target=x86 os=redhat6", "platform=linux target=x86 os=redhat6"
+ )
def test_satisfies_dependencies(self):
- check_satisfies('mpileaks^mpich', '^mpich')
- check_satisfies('mpileaks^zmpi', '^zmpi')
+ check_satisfies("mpileaks^mpich", "^mpich")
+ check_satisfies("mpileaks^zmpi", "^zmpi")
- check_unsatisfiable('mpileaks^mpich', '^zmpi')
- check_unsatisfiable('mpileaks^zmpi', '^mpich')
+ check_unsatisfiable("mpileaks^mpich", "^zmpi")
+ check_unsatisfiable("mpileaks^zmpi", "^mpich")
def test_satisfies_dependency_versions(self):
- check_satisfies('mpileaks^mpich@2.0', '^mpich@1:3')
- check_unsatisfiable('mpileaks^mpich@1.2', '^mpich@2.0')
+ check_satisfies("mpileaks^mpich@2.0", "^mpich@1:3")
+ check_unsatisfiable("mpileaks^mpich@1.2", "^mpich@2.0")
- check_satisfies(
- 'mpileaks^mpich@2.0^callpath@1.5', '^mpich@1:3^callpath@1.4:1.6')
- check_unsatisfiable(
- 'mpileaks^mpich@4.0^callpath@1.5', '^mpich@1:3^callpath@1.4:1.6')
- check_unsatisfiable(
- 'mpileaks^mpich@2.0^callpath@1.7', '^mpich@1:3^callpath@1.4:1.6')
- check_unsatisfiable(
- 'mpileaks^mpich@4.0^callpath@1.7', '^mpich@1:3^callpath@1.4:1.6')
+ check_satisfies("mpileaks^mpich@2.0^callpath@1.5", "^mpich@1:3^callpath@1.4:1.6")
+ check_unsatisfiable("mpileaks^mpich@4.0^callpath@1.5", "^mpich@1:3^callpath@1.4:1.6")
+ check_unsatisfiable("mpileaks^mpich@2.0^callpath@1.7", "^mpich@1:3^callpath@1.4:1.6")
+ check_unsatisfiable("mpileaks^mpich@4.0^callpath@1.7", "^mpich@1:3^callpath@1.4:1.6")
def test_satisfies_virtual_dependencies(self):
- check_satisfies('mpileaks^mpi', '^mpi')
- check_satisfies('mpileaks^mpi', '^mpich')
+ check_satisfies("mpileaks^mpi", "^mpi")
+ check_satisfies("mpileaks^mpi", "^mpich")
- check_satisfies('mpileaks^mpi', '^zmpi')
- check_unsatisfiable('mpileaks^mpich', '^zmpi')
+ check_satisfies("mpileaks^mpi", "^zmpi")
+ check_unsatisfiable("mpileaks^mpich", "^zmpi")
def test_satisfies_virtual_dependency_versions(self):
- check_satisfies('mpileaks^mpi@1.5', '^mpi@1.2:1.6')
- check_unsatisfiable('mpileaks^mpi@3', '^mpi@1.2:1.6')
+ check_satisfies("mpileaks^mpi@1.5", "^mpi@1.2:1.6")
+ check_unsatisfiable("mpileaks^mpi@3", "^mpi@1.2:1.6")
- check_satisfies('mpileaks^mpi@2:', '^mpich')
- check_satisfies('mpileaks^mpi@2:', '^mpich@3.0.4')
- check_satisfies('mpileaks^mpi@2:', '^mpich2@1.4')
+ check_satisfies("mpileaks^mpi@2:", "^mpich")
+ check_satisfies("mpileaks^mpi@2:", "^mpich@3.0.4")
+ check_satisfies("mpileaks^mpi@2:", "^mpich2@1.4")
- check_satisfies('mpileaks^mpi@1:', '^mpich2')
- check_satisfies('mpileaks^mpi@2:', '^mpich2')
+ check_satisfies("mpileaks^mpi@1:", "^mpich2")
+ check_satisfies("mpileaks^mpi@2:", "^mpich2")
- check_unsatisfiable('mpileaks^mpi@3:', '^mpich2@1.4')
- check_unsatisfiable('mpileaks^mpi@3:', '^mpich2')
- check_unsatisfiable('mpileaks^mpi@3:', '^mpich@1.0')
+ check_unsatisfiable("mpileaks^mpi@3:", "^mpich2@1.4")
+ check_unsatisfiable("mpileaks^mpi@3:", "^mpich2")
+ check_unsatisfiable("mpileaks^mpi@3:", "^mpich@1.0")
def test_satisfies_matching_variant(self):
- check_satisfies('mpich+foo', 'mpich+foo')
- check_satisfies('mpich~foo', 'mpich~foo')
- check_satisfies('mpich foo=1', 'mpich foo=1')
+ check_satisfies("mpich+foo", "mpich+foo")
+ check_satisfies("mpich~foo", "mpich~foo")
+ check_satisfies("mpich foo=1", "mpich foo=1")
# confirm that synonymous syntax works correctly
- check_satisfies('mpich+foo', 'mpich foo=True')
- check_satisfies('mpich foo=true', 'mpich+foo')
- check_satisfies('mpich~foo', 'mpich foo=FALSE')
- check_satisfies('mpich foo=False', 'mpich~foo')
- check_satisfies('mpich foo=*', 'mpich~foo')
- check_satisfies('mpich +foo', 'mpich foo=*')
+ check_satisfies("mpich+foo", "mpich foo=True")
+ check_satisfies("mpich foo=true", "mpich+foo")
+ check_satisfies("mpich~foo", "mpich foo=FALSE")
+ check_satisfies("mpich foo=False", "mpich~foo")
+ check_satisfies("mpich foo=*", "mpich~foo")
+ check_satisfies("mpich +foo", "mpich foo=*")
def test_satisfies_multi_value_variant(self):
# Check quoting
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'multivalue-variant foo="bar,baz"')
- check_satisfies('multivalue-variant foo=bar,baz',
- 'multivalue-variant foo=bar,baz')
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'multivalue-variant foo=bar,baz')
+ check_satisfies('multivalue-variant foo="bar,baz"', 'multivalue-variant foo="bar,baz"')
+ check_satisfies("multivalue-variant foo=bar,baz", "multivalue-variant foo=bar,baz")
+ check_satisfies('multivalue-variant foo="bar,baz"', "multivalue-variant foo=bar,baz")
# A more constrained spec satisfies a less constrained one
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'multivalue-variant foo=*')
+ check_satisfies('multivalue-variant foo="bar,baz"', "multivalue-variant foo=*")
- check_satisfies('multivalue-variant foo=*',
- 'multivalue-variant foo="bar,baz"')
+ check_satisfies("multivalue-variant foo=*", 'multivalue-variant foo="bar,baz"')
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'multivalue-variant foo="bar"')
+ check_satisfies('multivalue-variant foo="bar,baz"', 'multivalue-variant foo="bar"')
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'multivalue-variant foo="baz"')
+ check_satisfies('multivalue-variant foo="bar,baz"', 'multivalue-variant foo="baz"')
- check_satisfies('multivalue-variant foo="bar,baz,barbaz"',
- 'multivalue-variant foo="bar,baz"')
+ check_satisfies(
+ 'multivalue-variant foo="bar,baz,barbaz"', 'multivalue-variant foo="bar,baz"'
+ )
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'foo="bar,baz"')
+ check_satisfies('multivalue-variant foo="bar,baz"', 'foo="bar,baz"')
- check_satisfies('multivalue-variant foo="bar,baz"',
- 'foo="bar"')
+ check_satisfies('multivalue-variant foo="bar,baz"', 'foo="bar"')
def test_satisfies_single_valued_variant(self):
"""Tests that the case reported in
https://github.com/spack/spack/pull/2386#issuecomment-282147639
is handled correctly.
"""
- a = Spec('a foobar=bar')
+ a = Spec("a foobar=bar")
a.concretize()
- assert a.satisfies('foobar=bar')
- assert a.satisfies('foobar=*')
+ assert a.satisfies("foobar=bar")
+ assert a.satisfies("foobar=*")
# Assert that an autospec generated from a literal
# gives the right result for a single valued variant
- assert 'foobar=bar' in a
- assert 'foobar=baz' not in a
- assert 'foobar=fee' not in a
+ assert "foobar=bar" in a
+ assert "foobar=baz" not in a
+ assert "foobar=fee" not in a
# ... and for a multi valued variant
- assert 'foo=bar' in a
+ assert "foo=bar" in a
# Check that conditional dependencies are treated correctly
- assert '^b' in a
+ assert "^b" in a
def test_unsatisfied_single_valued_variant(self):
- a = Spec('a foobar=baz')
+ a = Spec("a foobar=baz")
a.concretize()
- assert '^b' not in a
+ assert "^b" not in a
- mv = Spec('multivalue-variant')
+ mv = Spec("multivalue-variant")
mv.concretize()
- assert 'a@1.0' not in mv
+ assert "a@1.0" not in mv
def test_indirect_unsatisfied_single_valued_variant(self):
- spec = Spec('singlevalue-variant-dependent')
+ spec = Spec("singlevalue-variant-dependent")
spec.concretize()
- assert 'a@1.0' not in spec
+ assert "a@1.0" not in spec
def test_unsatisfiable_multi_value_variant(self):
# Semantics for a multi-valued variant is different
# Depending on whether the spec is concrete or not
- a = make_spec(
- 'multivalue-variant foo="bar"', concrete=True
- )
+ a = make_spec('multivalue-variant foo="bar"', concrete=True)
spec_str = 'multivalue-variant foo="bar,baz"'
b = Spec(spec_str)
assert not a.satisfies(b)
@@ -377,9 +341,7 @@ class TestSpecSematics(object):
# An abstract spec can instead be constrained
assert a.constrain(b)
- a = make_spec(
- 'multivalue-variant foo="bar,baz"', concrete=True
- )
+ a = make_spec('multivalue-variant foo="bar,baz"', concrete=True)
spec_str = 'multivalue-variant foo="bar,baz,quux"'
b = Spec(spec_str)
assert not a.satisfies(b)
@@ -430,62 +392,60 @@ class TestSpecSematics(object):
check_unsatisfiable(
target_spec='multivalue-variant foo="bar"',
- constraint_spec='multivalue-variant +foo',
- target_concrete=True
+ constraint_spec="multivalue-variant +foo",
+ target_concrete=True,
)
check_unsatisfiable(
target_spec='multivalue-variant foo="bar"',
- constraint_spec='multivalue-variant ~foo',
- target_concrete=True
+ constraint_spec="multivalue-variant ~foo",
+ target_concrete=True,
)
def test_satisfies_unconstrained_variant(self):
# only asked for mpich, no constraints. Either will do.
- check_satisfies('mpich+foo', 'mpich')
- check_satisfies('mpich~foo', 'mpich')
- check_satisfies('mpich foo=1', 'mpich')
+ check_satisfies("mpich+foo", "mpich")
+ check_satisfies("mpich~foo", "mpich")
+ check_satisfies("mpich foo=1", "mpich")
def test_unsatisfiable_variants(self):
# This case is different depending on whether the specs are concrete.
# 'mpich' is not concrete:
- check_satisfies('mpich', 'mpich+foo', False)
- check_satisfies('mpich', 'mpich~foo', False)
- check_satisfies('mpich', 'mpich foo=1', False)
+ check_satisfies("mpich", "mpich+foo", False)
+ check_satisfies("mpich", "mpich~foo", False)
+ check_satisfies("mpich", "mpich foo=1", False)
# 'mpich' is concrete:
- check_unsatisfiable('mpich', 'mpich+foo', True)
- check_unsatisfiable('mpich', 'mpich~foo', True)
- check_unsatisfiable('mpich', 'mpich foo=1', True)
+ check_unsatisfiable("mpich", "mpich+foo", True)
+ check_unsatisfiable("mpich", "mpich~foo", True)
+ check_unsatisfiable("mpich", "mpich foo=1", True)
def test_unsatisfiable_variant_mismatch(self):
# No matchi in specs
- check_unsatisfiable('mpich~foo', 'mpich+foo')
- check_unsatisfiable('mpich+foo', 'mpich~foo')
- check_unsatisfiable('mpich foo=True', 'mpich foo=False')
+ check_unsatisfiable("mpich~foo", "mpich+foo")
+ check_unsatisfiable("mpich+foo", "mpich~foo")
+ check_unsatisfiable("mpich foo=True", "mpich foo=False")
def test_satisfies_matching_compiler_flag(self):
check_satisfies('mpich cppflags="-O3"', 'mpich cppflags="-O3"')
- check_satisfies(
- 'mpich cppflags="-O3 -Wall"', 'mpich cppflags="-O3 -Wall"'
- )
+ check_satisfies('mpich cppflags="-O3 -Wall"', 'mpich cppflags="-O3 -Wall"')
def test_satisfies_unconstrained_compiler_flag(self):
# only asked for mpich, no constraints. Any will do.
- check_satisfies('mpich cppflags="-O3"', 'mpich')
+ check_satisfies('mpich cppflags="-O3"', "mpich")
def test_unsatisfiable_compiler_flag(self):
# This case is different depending on whether the specs are concrete.
# 'mpich' is not concrete:
- check_satisfies('mpich', 'mpich cppflags="-O3"', False)
+ check_satisfies("mpich", 'mpich cppflags="-O3"', False)
# 'mpich' is concrete:
- check_unsatisfiable('mpich', 'mpich cppflags="-O3"', True)
+ check_unsatisfiable("mpich", 'mpich cppflags="-O3"', True)
def test_copy_satisfies_transitive(self):
- spec = Spec('dttop')
+ spec = Spec("dttop")
spec.concretize()
copy = spec.copy()
for s in spec.traverse():
@@ -494,35 +454,26 @@ class TestSpecSematics(object):
def test_unsatisfiable_compiler_flag_mismatch(self):
# No matchi in specs
- check_unsatisfiable(
- 'mpich cppflags="-O3"', 'mpich cppflags="-O2"')
+ check_unsatisfiable('mpich cppflags="-O3"', 'mpich cppflags="-O2"')
def test_satisfies_virtual(self):
# Don't use check_satisfies: it checks constrain() too, and
# you can't constrain a non-virtual by a virtual.
- assert Spec('mpich').satisfies(Spec('mpi'))
- assert Spec('mpich2').satisfies(Spec('mpi'))
- assert Spec('zmpi').satisfies(Spec('mpi'))
+ assert Spec("mpich").satisfies(Spec("mpi"))
+ assert Spec("mpich2").satisfies(Spec("mpi"))
+ assert Spec("zmpi").satisfies(Spec("mpi"))
def test_satisfies_virtual_dep_with_virtual_constraint(self):
"""Ensure we can satisfy virtual constraints when there are multiple
- vdep providers in the specs."""
- assert Spec('netlib-lapack ^openblas').satisfies(
- 'netlib-lapack ^openblas'
- )
- assert not Spec('netlib-lapack ^netlib-blas').satisfies(
- 'netlib-lapack ^openblas'
- )
- assert not Spec('netlib-lapack ^openblas').satisfies(
- 'netlib-lapack ^netlib-blas'
- )
- assert Spec('netlib-lapack ^netlib-blas').satisfies(
- 'netlib-lapack ^netlib-blas'
- )
+ vdep providers in the specs."""
+ assert Spec("netlib-lapack ^openblas").satisfies("netlib-lapack ^openblas")
+ assert not Spec("netlib-lapack ^netlib-blas").satisfies("netlib-lapack ^openblas")
+ assert not Spec("netlib-lapack ^openblas").satisfies("netlib-lapack ^netlib-blas")
+ assert Spec("netlib-lapack ^netlib-blas").satisfies("netlib-lapack ^netlib-blas")
def test_satisfies_same_spec_with_different_hash(self):
"""Ensure that concrete specs are matched *exactly* by hash."""
- s1 = Spec('mpileaks').concretized()
+ s1 = Spec("mpileaks").concretized()
s2 = s1.copy()
assert s1.satisfies(s2)
@@ -539,214 +490,184 @@ class TestSpecSematics(object):
# Indexing specs
# ========================================================================
def test_self_index(self):
- s = Spec('callpath')
- assert s['callpath'] == s
+ s = Spec("callpath")
+ assert s["callpath"] == s
def test_dep_index(self):
- s = Spec('callpath')
+ s = Spec("callpath")
s.normalize()
- assert s['callpath'] == s
- assert type(s['dyninst']) == Spec
- assert type(s['libdwarf']) == Spec
- assert type(s['libelf']) == Spec
- assert type(s['mpi']) == Spec
+ assert s["callpath"] == s
+ assert type(s["dyninst"]) == Spec
+ assert type(s["libdwarf"]) == Spec
+ assert type(s["libelf"]) == Spec
+ assert type(s["mpi"]) == Spec
- assert s['dyninst'].name == 'dyninst'
- assert s['libdwarf'].name == 'libdwarf'
- assert s['libelf'].name == 'libelf'
- assert s['mpi'].name == 'mpi'
+ assert s["dyninst"].name == "dyninst"
+ assert s["libdwarf"].name == "libdwarf"
+ assert s["libelf"].name == "libelf"
+ assert s["mpi"].name == "mpi"
def test_spec_contains_deps(self):
- s = Spec('callpath')
+ s = Spec("callpath")
s.normalize()
- assert 'dyninst' in s
- assert 'libdwarf' in s
- assert 'libelf' in s
- assert 'mpi' in s
+ assert "dyninst" in s
+ assert "libdwarf" in s
+ assert "libelf" in s
+ assert "mpi" in s
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_virtual_index(self):
- s = Spec('callpath')
+ s = Spec("callpath")
s.concretize()
- s_mpich = Spec('callpath ^mpich')
+ s_mpich = Spec("callpath ^mpich")
s_mpich.concretize()
- s_mpich2 = Spec('callpath ^mpich2')
+ s_mpich2 = Spec("callpath ^mpich2")
s_mpich2.concretize()
- s_zmpi = Spec('callpath ^zmpi')
+ s_zmpi = Spec("callpath ^zmpi")
s_zmpi.concretize()
- assert s['mpi'].name != 'mpi'
- assert s_mpich['mpi'].name == 'mpich'
- assert s_mpich2['mpi'].name == 'mpich2'
- assert s_zmpi['zmpi'].name == 'zmpi'
+ assert s["mpi"].name != "mpi"
+ assert s_mpich["mpi"].name == "mpich"
+ assert s_mpich2["mpi"].name == "mpich2"
+ assert s_zmpi["zmpi"].name == "zmpi"
for spec in [s, s_mpich, s_mpich2, s_zmpi]:
- assert 'mpi' in spec
+ assert "mpi" in spec
# ========================================================================
# Constraints
# ========================================================================
def test_constrain_variants(self):
- check_constrain('libelf@2.1:2.5', 'libelf@0:2.5', 'libelf@2.1:3')
- check_constrain(
- 'libelf@2.1:2.5%gcc@4.5:4.6',
- 'libelf@0:2.5%gcc@2:4.6',
- 'libelf@2.1:3%gcc@4.5:4.7'
- )
- check_constrain('libelf+debug+foo', 'libelf+debug', 'libelf+foo')
- check_constrain(
- 'libelf+debug+foo', 'libelf+debug', 'libelf+debug+foo'
- )
+ check_constrain("libelf@2.1:2.5", "libelf@0:2.5", "libelf@2.1:3")
check_constrain(
- 'libelf debug=2 foo=1', 'libelf debug=2', 'libelf foo=1'
- )
- check_constrain(
- 'libelf debug=2 foo=1', 'libelf debug=2', 'libelf debug=2 foo=1'
+ "libelf@2.1:2.5%gcc@4.5:4.6", "libelf@0:2.5%gcc@2:4.6", "libelf@2.1:3%gcc@4.5:4.7"
)
+ check_constrain("libelf+debug+foo", "libelf+debug", "libelf+foo")
+ check_constrain("libelf+debug+foo", "libelf+debug", "libelf+debug+foo")
+ check_constrain("libelf debug=2 foo=1", "libelf debug=2", "libelf foo=1")
+ check_constrain("libelf debug=2 foo=1", "libelf debug=2", "libelf debug=2 foo=1")
- check_constrain('libelf+debug~foo', 'libelf+debug', 'libelf~foo')
- check_constrain(
- 'libelf+debug~foo', 'libelf+debug', 'libelf+debug~foo'
- )
+ check_constrain("libelf+debug~foo", "libelf+debug", "libelf~foo")
+ check_constrain("libelf+debug~foo", "libelf+debug", "libelf+debug~foo")
def test_constrain_multi_value_variant(self):
check_constrain(
'multivalue-variant foo="bar,baz"',
'multivalue-variant foo="bar"',
- 'multivalue-variant foo="baz"'
+ 'multivalue-variant foo="baz"',
)
check_constrain(
'multivalue-variant foo="bar,baz,barbaz"',
'multivalue-variant foo="bar,barbaz"',
- 'multivalue-variant foo="baz"'
+ 'multivalue-variant foo="baz"',
)
- check_constrain(
- 'libelf foo=bar,baz', 'libelf foo=bar,baz', 'libelf foo=*')
- check_constrain(
- 'libelf foo=bar,baz', 'libelf foo=*', 'libelf foo=bar,baz')
+ check_constrain("libelf foo=bar,baz", "libelf foo=bar,baz", "libelf foo=*")
+ check_constrain("libelf foo=bar,baz", "libelf foo=*", "libelf foo=bar,baz")
def test_constrain_compiler_flags(self):
check_constrain(
'libelf cflags="-O3" cppflags="-Wall"',
'libelf cflags="-O3"',
- 'libelf cppflags="-Wall"'
+ 'libelf cppflags="-Wall"',
)
check_constrain(
'libelf cflags="-O3" cppflags="-Wall"',
'libelf cflags="-O3"',
- 'libelf cflags="-O3" cppflags="-Wall"'
+ 'libelf cflags="-O3" cppflags="-Wall"',
)
def test_constrain_architecture(self):
check_constrain(
- 'libelf target=default_target os=default_os',
- 'libelf target=default_target os=default_os',
- 'libelf target=default_target os=default_os'
+ "libelf target=default_target os=default_os",
+ "libelf target=default_target os=default_os",
+ "libelf target=default_target os=default_os",
)
check_constrain(
- 'libelf target=default_target os=default_os',
- 'libelf',
- 'libelf target=default_target os=default_os'
+ "libelf target=default_target os=default_os",
+ "libelf",
+ "libelf target=default_target os=default_os",
)
def test_constrain_compiler(self):
- check_constrain(
- 'libelf %gcc@4.4.7', 'libelf %gcc@4.4.7', 'libelf %gcc@4.4.7'
- )
- check_constrain(
- 'libelf %gcc@4.4.7', 'libelf', 'libelf %gcc@4.4.7'
- )
+ check_constrain("libelf %gcc@4.4.7", "libelf %gcc@4.4.7", "libelf %gcc@4.4.7")
+ check_constrain("libelf %gcc@4.4.7", "libelf", "libelf %gcc@4.4.7")
def test_invalid_constraint(self):
- check_invalid_constraint('libelf@0:2.0', 'libelf@2.1:3')
- check_invalid_constraint(
- 'libelf@0:2.5%gcc@4.8:4.9', 'libelf@2.1:3%gcc@4.5:4.7')
-
- check_invalid_constraint('libelf+debug', 'libelf~debug')
- check_invalid_constraint('libelf+debug~foo', 'libelf+debug+foo')
- check_invalid_constraint('libelf debug=True', 'libelf debug=False')
-
- check_invalid_constraint(
- 'libelf cppflags="-O3"', 'libelf cppflags="-O2"')
- check_invalid_constraint(
- 'libelf platform=test target=be os=be', 'libelf target=fe os=fe'
- )
- check_invalid_constraint('libdwarf', '^%gcc')
+ check_invalid_constraint("libelf@0:2.0", "libelf@2.1:3")
+ check_invalid_constraint("libelf@0:2.5%gcc@4.8:4.9", "libelf@2.1:3%gcc@4.5:4.7")
+
+ check_invalid_constraint("libelf+debug", "libelf~debug")
+ check_invalid_constraint("libelf+debug~foo", "libelf+debug+foo")
+ check_invalid_constraint("libelf debug=True", "libelf debug=False")
+
+ check_invalid_constraint('libelf cppflags="-O3"', 'libelf cppflags="-O2"')
+ check_invalid_constraint("libelf platform=test target=be os=be", "libelf target=fe os=fe")
+ check_invalid_constraint("libdwarf", "^%gcc")
def test_constrain_changed(self):
- check_constrain_changed('libelf', '@1.0')
- check_constrain_changed('libelf', '@1.0:5.0')
- check_constrain_changed('libelf', '%gcc')
- check_constrain_changed('libelf%gcc', '%gcc@4.5')
- check_constrain_changed('libelf', '+debug')
- check_constrain_changed('libelf', 'debug=*')
- check_constrain_changed('libelf', '~debug')
- check_constrain_changed('libelf', 'debug=2')
- check_constrain_changed('libelf', 'cppflags="-O3"')
+ check_constrain_changed("libelf", "@1.0")
+ check_constrain_changed("libelf", "@1.0:5.0")
+ check_constrain_changed("libelf", "%gcc")
+ check_constrain_changed("libelf%gcc", "%gcc@4.5")
+ check_constrain_changed("libelf", "+debug")
+ check_constrain_changed("libelf", "debug=*")
+ check_constrain_changed("libelf", "~debug")
+ check_constrain_changed("libelf", "debug=2")
+ check_constrain_changed("libelf", 'cppflags="-O3"')
platform = spack.platforms.host()
- check_constrain_changed(
- 'libelf', 'target=' + platform.target('default_target').name)
- check_constrain_changed(
- 'libelf', 'os=' + platform.operating_system('default_os').name)
+ check_constrain_changed("libelf", "target=" + platform.target("default_target").name)
+ check_constrain_changed("libelf", "os=" + platform.operating_system("default_os").name)
def test_constrain_not_changed(self):
- check_constrain_not_changed('libelf', 'libelf')
- check_constrain_not_changed('libelf@1.0', '@1.0')
- check_constrain_not_changed('libelf@1.0:5.0', '@1.0:5.0')
- check_constrain_not_changed('libelf%gcc', '%gcc')
- check_constrain_not_changed('libelf%gcc@4.5', '%gcc@4.5')
- check_constrain_not_changed('libelf+debug', '+debug')
- check_constrain_not_changed('libelf~debug', '~debug')
- check_constrain_not_changed('libelf debug=2', 'debug=2')
- check_constrain_not_changed('libelf debug=2', 'debug=*')
- check_constrain_not_changed(
- 'libelf cppflags="-O3"', 'cppflags="-O3"')
+ check_constrain_not_changed("libelf", "libelf")
+ check_constrain_not_changed("libelf@1.0", "@1.0")
+ check_constrain_not_changed("libelf@1.0:5.0", "@1.0:5.0")
+ check_constrain_not_changed("libelf%gcc", "%gcc")
+ check_constrain_not_changed("libelf%gcc@4.5", "%gcc@4.5")
+ check_constrain_not_changed("libelf+debug", "+debug")
+ check_constrain_not_changed("libelf~debug", "~debug")
+ check_constrain_not_changed("libelf debug=2", "debug=2")
+ check_constrain_not_changed("libelf debug=2", "debug=*")
+ check_constrain_not_changed('libelf cppflags="-O3"', 'cppflags="-O3"')
platform = spack.platforms.host()
- default_target = platform.target('default_target').name
- check_constrain_not_changed(
- 'libelf target=' + default_target, 'target=' + default_target)
+ default_target = platform.target("default_target").name
+ check_constrain_not_changed("libelf target=" + default_target, "target=" + default_target)
def test_constrain_dependency_changed(self):
- check_constrain_changed('libelf^foo', 'libelf^foo@1.0')
- check_constrain_changed('libelf^foo', 'libelf^foo@1.0:5.0')
- check_constrain_changed('libelf^foo', 'libelf^foo%gcc')
- check_constrain_changed('libelf^foo%gcc', 'libelf^foo%gcc@4.5')
- check_constrain_changed('libelf^foo', 'libelf^foo+debug')
- check_constrain_changed('libelf^foo', 'libelf^foo~debug')
- check_constrain_changed('libelf', '^foo')
+ check_constrain_changed("libelf^foo", "libelf^foo@1.0")
+ check_constrain_changed("libelf^foo", "libelf^foo@1.0:5.0")
+ check_constrain_changed("libelf^foo", "libelf^foo%gcc")
+ check_constrain_changed("libelf^foo%gcc", "libelf^foo%gcc@4.5")
+ check_constrain_changed("libelf^foo", "libelf^foo+debug")
+ check_constrain_changed("libelf^foo", "libelf^foo~debug")
+ check_constrain_changed("libelf", "^foo")
platform = spack.platforms.host()
- default_target = platform.target('default_target').name
- check_constrain_changed(
- 'libelf^foo', 'libelf^foo target=' + default_target)
+ default_target = platform.target("default_target").name
+ check_constrain_changed("libelf^foo", "libelf^foo target=" + default_target)
def test_constrain_dependency_not_changed(self):
- check_constrain_not_changed('libelf^foo@1.0', 'libelf^foo@1.0')
- check_constrain_not_changed(
- 'libelf^foo@1.0:5.0', 'libelf^foo@1.0:5.0')
- check_constrain_not_changed('libelf^foo%gcc', 'libelf^foo%gcc')
- check_constrain_not_changed(
- 'libelf^foo%gcc@4.5', 'libelf^foo%gcc@4.5')
- check_constrain_not_changed(
- 'libelf^foo+debug', 'libelf^foo+debug')
- check_constrain_not_changed(
- 'libelf^foo~debug', 'libelf^foo~debug')
- check_constrain_not_changed(
- 'libelf^foo cppflags="-O3"', 'libelf^foo cppflags="-O3"')
+ check_constrain_not_changed("libelf^foo@1.0", "libelf^foo@1.0")
+ check_constrain_not_changed("libelf^foo@1.0:5.0", "libelf^foo@1.0:5.0")
+ check_constrain_not_changed("libelf^foo%gcc", "libelf^foo%gcc")
+ check_constrain_not_changed("libelf^foo%gcc@4.5", "libelf^foo%gcc@4.5")
+ check_constrain_not_changed("libelf^foo+debug", "libelf^foo+debug")
+ check_constrain_not_changed("libelf^foo~debug", "libelf^foo~debug")
+ check_constrain_not_changed('libelf^foo cppflags="-O3"', 'libelf^foo cppflags="-O3"')
platform = spack.platforms.host()
- default_target = platform.target('default_target').name
+ default_target = platform.target("default_target").name
check_constrain_not_changed(
- 'libelf^foo target=' + default_target,
- 'libelf^foo target=' + default_target)
+ "libelf^foo target=" + default_target, "libelf^foo target=" + default_target
+ )
def test_exceptional_paths_for_constructor(self):
@@ -754,10 +675,10 @@ class TestSpecSematics(object):
Spec((1, 2))
with pytest.raises(ValueError):
- Spec('')
+ Spec("")
with pytest.raises(ValueError):
- Spec('libelf foo')
+ Spec("libelf foo")
def test_spec_formatting(self):
spec = Spec("multivalue-variant cflags=-O2")
@@ -767,40 +688,46 @@ class TestSpecSematics(object):
# spec is the same as the output of spec.format()
# ignoring whitespace (though should we?) and ignoring dependencies
spec_string = str(spec)
- idx = spec_string.index(' ^')
+ idx = spec_string.index(" ^")
assert spec_string[:idx] == spec.format().strip()
# Testing named strings ie {string} and whether we get
# the correct component
# Mixed case intentional to test both
- package_segments = [("{NAME}", "name"),
- ("{VERSION}", "versions"),
- ("{compiler}", "compiler"),
- ("{compiler_flags}", "compiler_flags"),
- ("{variants}", "variants"),
- ("{architecture}", "architecture")]
-
- sigil_package_segments = [("{@VERSIONS}", '@' + str(spec.version)),
- ("{%compiler}", '%' + str(spec.compiler)),
- ("{arch=architecture}",
- 'arch=' + str(spec.architecture))]
-
- compiler_segments = [("{compiler.name}", "name"),
- ("{compiler.version}", "versions")]
-
- sigil_compiler_segments = [("{%compiler.name}",
- '%' + spec.compiler.name),
- ("{@compiler.version}",
- '@' + str(spec.compiler.version))]
-
- architecture_segments = [("{architecture.platform}", "platform"),
- ("{architecture.os}", "os"),
- ("{architecture.target}", "target")]
-
- other_segments = [('{spack_root}', spack.paths.spack_root),
- ('{spack_install}', spack.store.layout.root),
- ('{hash:7}', spec.dag_hash(7)),
- ('{/hash}', '/' + spec.dag_hash())]
+ package_segments = [
+ ("{NAME}", "name"),
+ ("{VERSION}", "versions"),
+ ("{compiler}", "compiler"),
+ ("{compiler_flags}", "compiler_flags"),
+ ("{variants}", "variants"),
+ ("{architecture}", "architecture"),
+ ]
+
+ sigil_package_segments = [
+ ("{@VERSIONS}", "@" + str(spec.version)),
+ ("{%compiler}", "%" + str(spec.compiler)),
+ ("{arch=architecture}", "arch=" + str(spec.architecture)),
+ ]
+
+ compiler_segments = [("{compiler.name}", "name"), ("{compiler.version}", "versions")]
+
+ sigil_compiler_segments = [
+ ("{%compiler.name}", "%" + spec.compiler.name),
+ ("{@compiler.version}", "@" + str(spec.compiler.version)),
+ ]
+
+ architecture_segments = [
+ ("{architecture.platform}", "platform"),
+ ("{architecture.os}", "os"),
+ ("{architecture.target}", "target"),
+ ]
+
+ other_segments = [
+ ("{spack_root}", spack.paths.spack_root),
+ ("{spack_install}", spack.store.layout.root),
+ ("{hash:7}", spec.dag_hash(7)),
+ ("{/hash}", "/" + spec.dag_hash()),
+ ]
for named_str, prop in package_segments:
expected = getattr(spec, prop, "")
@@ -832,15 +759,15 @@ class TestSpecSematics(object):
assert expected == actual
def test_spec_formatting_escapes(self):
- spec = Spec('multivalue-variant cflags=-O2')
+ spec = Spec("multivalue-variant cflags=-O2")
spec.concretize()
sigil_mismatches = [
- '{@name}',
- '{@version.concrete}',
- '{%compiler.version}',
- '{/hashd}',
- '{arch=architecture.os}'
+ "{@name}",
+ "{@version.concrete}",
+ "{%compiler.version}",
+ "{/hashd}",
+ "{arch=architecture.os}",
]
for fmt_str in sigil_mismatches:
@@ -848,15 +775,15 @@ class TestSpecSematics(object):
spec.format(fmt_str)
bad_formats = [
- r'{}',
- r'name}',
- r'\{name}',
- r'{name',
- r'{name\}',
- r'{_concrete}',
- r'{dag_hash}',
- r'{foo}',
- r'{+variants.debug}'
+ r"{}",
+ r"name}",
+ r"\{name}",
+ r"{name",
+ r"{name\}",
+ r"{_concrete}",
+ r"{dag_hash}",
+ r"{foo}",
+ r"{+variants.debug}",
]
for fmt_str in bad_formats:
@@ -870,24 +797,27 @@ class TestSpecSematics(object):
# Since the default is the full spec see if the string rep of
# spec is the same as the output of spec.format()
# ignoring whitespace (though should we?)
- assert str(spec) == spec.format('$_$@$%@+$+$=').strip()
+ assert str(spec) == spec.format("$_$@$%@+$+$=").strip()
# Testing named strings ie {string} and whether we get
# the correct component
# Mixed case intentional for testing both
- package_segments = [("${PACKAGE}", "name"),
- ("${VERSION}", "versions"),
- ("${compiler}", "compiler"),
- ("${compilerflags}", "compiler_flags"),
- ("${options}", "variants"),
- ("${architecture}", "architecture")]
+ package_segments = [
+ ("${PACKAGE}", "name"),
+ ("${VERSION}", "versions"),
+ ("${compiler}", "compiler"),
+ ("${compilerflags}", "compiler_flags"),
+ ("${options}", "variants"),
+ ("${architecture}", "architecture"),
+ ]
- compiler_segments = [("${compilername}", "name"),
- ("${compilerver}", "versions")]
+ compiler_segments = [("${compilername}", "name"), ("${compilerver}", "versions")]
- architecture_segments = [("${PLATFORM}", "platform"),
- ("${OS}", "os"),
- ("${TARGET}", "target")]
+ architecture_segments = [
+ ("${PLATFORM}", "platform"),
+ ("${OS}", "os"),
+ ("${TARGET}", "target"),
+ ]
for named_str, prop in package_segments:
expected = getattr(spec, prop, "")
@@ -906,103 +836,95 @@ class TestSpecSematics(object):
actual = spec.format(named_str)
assert str(expected) == actual
- @pytest.mark.regression('9908')
+ @pytest.mark.regression("9908")
def test_spec_flags_maintain_order(self):
# Spack was assembling flags in a manner that could result in
# different orderings for repeated concretizations of the same
# spec and config
- spec_str = 'libelf %gcc@4.7.2 os=redhat6'
+ spec_str = "libelf %gcc@4.7.2 os=redhat6"
for _ in range(25):
s = Spec(spec_str).concretized()
assert all(
- s.compiler_flags[x] == ['-O0', '-g']
- for x in ('cflags', 'cxxflags', 'fflags')
+ s.compiler_flags[x] == ["-O0", "-g"] for x in ("cflags", "cxxflags", "fflags")
)
def test_combination_of_wildcard_or_none(self):
# Test that using 'none' and another value raises
with pytest.raises(spack.variant.InvalidVariantValueCombinationError):
- Spec('multivalue-variant foo=none,bar')
+ Spec("multivalue-variant foo=none,bar")
# Test that using wildcard and another value raises
with pytest.raises(spack.variant.InvalidVariantValueCombinationError):
- Spec('multivalue-variant foo=*,bar')
+ Spec("multivalue-variant foo=*,bar")
- @pytest.mark.skipif(
- sys.version_info[0] == 2, reason='__wrapped__ requires python 3'
- )
+ @pytest.mark.skipif(sys.version_info[0] == 2, reason="__wrapped__ requires python 3")
def test_errors_in_variant_directive(self):
variant = spack.directives.variant.__wrapped__
class Pkg(object):
- name = 'PKG'
+ name = "PKG"
# We can't use names that are reserved by Spack
- fn = variant('patches')
+ fn = variant("patches")
with pytest.raises(spack.directives.DirectiveError) as exc_info:
fn(Pkg())
assert "The name 'patches' is reserved" in str(exc_info.value)
# We can't have conflicting definitions for arguments
- fn = variant(
- 'foo', values=spack.variant.any_combination_of('fee', 'foom'),
- default='bar'
- )
+ fn = variant("foo", values=spack.variant.any_combination_of("fee", "foom"), default="bar")
with pytest.raises(spack.directives.DirectiveError) as exc_info:
fn(Pkg())
- assert " it is handled by an attribute of the 'values' " \
- "argument" in str(exc_info.value)
+ assert " it is handled by an attribute of the 'values' " "argument" in str(exc_info.value)
# We can't leave None as a default value
- fn = variant('foo', default=None)
+ fn = variant("foo", default=None)
with pytest.raises(spack.directives.DirectiveError) as exc_info:
fn(Pkg())
- assert "either a default was not explicitly set, or 'None' was used"\
- in str(exc_info.value)
+ assert "either a default was not explicitly set, or 'None' was used" in str(exc_info.value)
# We can't use an empty string as a default value
- fn = variant('foo', default='')
+ fn = variant("foo", default="")
with pytest.raises(spack.directives.DirectiveError) as exc_info:
fn(Pkg())
assert "the default cannot be an empty string" in str(exc_info.value)
def test_abstract_spec_prefix_error(self):
- spec = Spec('libelf')
+ spec = Spec("libelf")
with pytest.raises(SpecError):
spec.prefix
def test_forwarding_of_architecture_attributes(self):
- spec = Spec('libelf target=x86_64').concretized()
+ spec = Spec("libelf target=x86_64").concretized()
# Check that we can still access each member through
# the architecture attribute
- assert 'test' in spec.architecture
- assert 'debian' in spec.architecture
- assert 'x86_64' in spec.architecture
+ assert "test" in spec.architecture
+ assert "debian" in spec.architecture
+ assert "x86_64" in spec.architecture
# Check that we forward the platform and os attribute correctly
- assert spec.platform == 'test'
- assert spec.os == 'debian6'
+ assert spec.platform == "test"
+ assert spec.os == "debian6"
# Check that the target is also forwarded correctly and supports
# all the operators we expect
- assert spec.target == 'x86_64'
- assert spec.target.family == 'x86_64'
- assert 'avx512' not in spec.target
- assert spec.target < 'broadwell'
+ assert spec.target == "x86_64"
+ assert spec.target.family == "x86_64"
+ assert "avx512" not in spec.target
+ assert spec.target < "broadwell"
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice(self, transitive):
# Tests the new splice function in Spec using a somewhat simple case
# with a variant with a conditional dependency.
- spec = Spec('splice-t')
- dep = Spec('splice-h+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-h+foo")
spec.concretize()
dep.concretize()
# Sanity checking that these are not the same thing.
- assert dep.dag_hash() != spec['splice-h'].dag_hash()
+ assert dep.dag_hash() != spec["splice-h"].dag_hash()
# Do the splice.
out = spec.splice(dep, transitive)
@@ -1017,46 +939,45 @@ class TestSpecSematics(object):
# If the splice worked, then the dag hash of the spliced dep should
# now match the dag hash of the build spec of the dependency from the
# returned spec.
- out_h_build = out['splice-h'].build_spec
+ out_h_build = out["splice-h"].build_spec
assert out_h_build.dag_hash() == dep.dag_hash()
# Transitivity should determine whether the transitive dependency was
# changed.
- expected_z = dep['splice-z'] if transitive else spec['splice-z']
- assert out['splice-z'].dag_hash() == expected_z.dag_hash()
+ expected_z = dep["splice-z"] if transitive else spec["splice-z"]
+ assert out["splice-z"].dag_hash() == expected_z.dag_hash()
# Sanity check build spec of out should be the original spec.
- assert (out['splice-t'].build_spec.dag_hash() ==
- spec['splice-t'].dag_hash())
+ assert out["splice-t"].build_spec.dag_hash() == spec["splice-t"].dag_hash()
# Finally, the spec should know it's been spliced:
assert out.spliced
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_with_cached_hashes(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-h+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-h+foo")
spec.concretize()
dep.concretize()
# monkeypatch hashes so we can test that they are cached
- spec._hash = 'aaaaaa'
- dep._hash = 'bbbbbb'
- spec['splice-h']._hash = 'cccccc'
- spec['splice-z']._hash = 'dddddd'
- dep['splice-z']._hash = 'eeeeee'
+ spec._hash = "aaaaaa"
+ dep._hash = "bbbbbb"
+ spec["splice-h"]._hash = "cccccc"
+ spec["splice-z"]._hash = "dddddd"
+ dep["splice-z"]._hash = "eeeeee"
out = spec.splice(dep, transitive=transitive)
- out_z_expected = (dep if transitive else spec)['splice-z']
+ out_z_expected = (dep if transitive else spec)["splice-z"]
assert out.dag_hash() != spec.dag_hash()
- assert (out['splice-h'].dag_hash() == dep.dag_hash()) == transitive
- assert out['splice-z'].dag_hash() == out_z_expected.dag_hash()
+ assert (out["splice-h"].dag_hash() == dep.dag_hash()) == transitive
+ assert out["splice-z"].dag_hash() == out_z_expected.dag_hash()
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_input_unchanged(self, transitive):
- spec = Spec('splice-t').concretized()
- dep = Spec('splice-h+foo').concretized()
+ spec = Spec("splice-t").concretized()
+ dep = Spec("splice-h+foo").concretized()
orig_spec_hash = spec.dag_hash()
orig_dep_hash = dep.dag_hash()
spec.splice(dep, transitive)
@@ -1065,31 +986,30 @@ class TestSpecSematics(object):
assert spec.dag_hash() == orig_spec_hash
assert dep.dag_hash() == orig_dep_hash
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_subsequent(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-h+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-h+foo")
spec.concretize()
dep.concretize()
out = spec.splice(dep, transitive)
# Now we attempt a second splice.
- dep = Spec('splice-z+bar')
+ dep = Spec("splice-z+bar")
dep.concretize()
# Transitivity shouldn't matter since Splice Z has no dependencies.
out2 = out.splice(dep, transitive)
assert out2.concrete
- assert out2['splice-z'].dag_hash() != spec['splice-z'].dag_hash()
- assert out2['splice-z'].dag_hash() != out['splice-z'].dag_hash()
- assert (out2['splice-t'].build_spec.dag_hash() ==
- spec['splice-t'].dag_hash())
+ assert out2["splice-z"].dag_hash() != spec["splice-z"].dag_hash()
+ assert out2["splice-z"].dag_hash() != out["splice-z"].dag_hash()
+ assert out2["splice-t"].build_spec.dag_hash() == spec["splice-t"].dag_hash()
assert out2.spliced
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_dict(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-h+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-h+foo")
spec.concretize()
dep.concretize()
out = spec.splice(dep, transitive)
@@ -1098,17 +1018,17 @@ class TestSpecSematics(object):
assert spec.dag_hash() != dep.dag_hash()
assert out.dag_hash() != dep.dag_hash()
assert out.dag_hash() != spec.dag_hash()
- node_list = out.to_dict()['spec']['nodes']
- root_nodes = [n for n in node_list if n['hash'] == out.dag_hash()]
- build_spec_nodes = [n for n in node_list if n['hash'] == spec.dag_hash()]
+ node_list = out.to_dict()["spec"]["nodes"]
+ root_nodes = [n for n in node_list if n["hash"] == out.dag_hash()]
+ build_spec_nodes = [n for n in node_list if n["hash"] == spec.dag_hash()]
assert spec.dag_hash() == out.build_spec.dag_hash()
assert len(root_nodes) == 1
assert len(build_spec_nodes) == 1
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_dict_roundtrip(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-h+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-h+foo")
spec.concretize()
dep.concretize()
out = spec.splice(dep, transitive)
@@ -1120,8 +1040,8 @@ class TestSpecSematics(object):
out_rt_spec = Spec.from_dict(out.to_dict()) # rt is "round trip"
assert out_rt_spec.dag_hash() == out.dag_hash()
out_rt_spec_bld_hash = out_rt_spec.build_spec.dag_hash()
- out_rt_spec_h_bld_hash = out_rt_spec['splice-h'].build_spec.dag_hash()
- out_rt_spec_z_bld_hash = out_rt_spec['splice-z'].build_spec.dag_hash()
+ out_rt_spec_h_bld_hash = out_rt_spec["splice-h"].build_spec.dag_hash()
+ out_rt_spec_z_bld_hash = out_rt_spec["splice-z"].build_spec.dag_hash()
# In any case, the build spec for splice-t (root) should point to the
# original spec, preserving build provenance.
@@ -1130,69 +1050,70 @@ class TestSpecSematics(object):
# The build spec for splice-h should always point to the introduced
# spec, since that is the spec spliced in.
- assert dep['splice-h'].dag_hash() == out_rt_spec_h_bld_hash
+ assert dep["splice-h"].dag_hash() == out_rt_spec_h_bld_hash
# The build spec for splice-z will depend on whether or not the splice
# was transitive.
- expected_z_bld_hash = (dep['splice-z'].dag_hash() if transitive else
- spec['splice-z'].dag_hash())
+ expected_z_bld_hash = (
+ dep["splice-z"].dag_hash() if transitive else spec["splice-z"].dag_hash()
+ )
assert expected_z_bld_hash == out_rt_spec_z_bld_hash
- @pytest.mark.parametrize('spec,constraint,expected_result', [
- ('libelf target=haswell', 'target=broadwell', False),
- ('libelf target=haswell', 'target=haswell', True),
- ('libelf target=haswell', 'target=x86_64:', True),
- ('libelf target=haswell', 'target=:haswell', True),
- ('libelf target=haswell', 'target=icelake,:nocona', False),
- ('libelf target=haswell', 'target=haswell,:nocona', True),
- # Check that a single target is not treated as the start
- # or the end of an open range
- ('libelf target=haswell', 'target=x86_64', False),
- ('libelf target=x86_64', 'target=haswell', False),
- ])
- @pytest.mark.regression('13111')
+ @pytest.mark.parametrize(
+ "spec,constraint,expected_result",
+ [
+ ("libelf target=haswell", "target=broadwell", False),
+ ("libelf target=haswell", "target=haswell", True),
+ ("libelf target=haswell", "target=x86_64:", True),
+ ("libelf target=haswell", "target=:haswell", True),
+ ("libelf target=haswell", "target=icelake,:nocona", False),
+ ("libelf target=haswell", "target=haswell,:nocona", True),
+ # Check that a single target is not treated as the start
+ # or the end of an open range
+ ("libelf target=haswell", "target=x86_64", False),
+ ("libelf target=x86_64", "target=haswell", False),
+ ],
+ )
+ @pytest.mark.regression("13111")
def test_target_constraints(self, spec, constraint, expected_result):
s = Spec(spec)
assert s.satisfies(constraint) is expected_result
- @pytest.mark.regression('13124')
+ @pytest.mark.regression("13124")
def test_error_message_unknown_variant(self):
- s = Spec('mpileaks +unknown')
- with pytest.raises(UnknownVariantError, match=r'package has no such'):
+ s = Spec("mpileaks +unknown")
+ with pytest.raises(UnknownVariantError, match=r"package has no such"):
s.concretize()
- @pytest.mark.regression('18527')
+ @pytest.mark.regression("18527")
def test_satisfies_dependencies_ordered(self):
- d = Spec('zmpi ^fake')
- s = Spec('mpileaks')
+ d = Spec("zmpi ^fake")
+ s = Spec("mpileaks")
s._add_dependency(d, ())
- assert s.satisfies('mpileaks ^zmpi ^fake', strict=True)
+ assert s.satisfies("mpileaks ^zmpi ^fake", strict=True)
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_swap_names(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-a+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-a+foo")
spec.concretize()
dep.concretize()
out = spec.splice(dep, transitive)
assert dep.name in out
- assert transitive == ('+foo' in out['splice-z'])
+ assert transitive == ("+foo" in out["splice-z"])
- @pytest.mark.parametrize('transitive', [True, False])
+ @pytest.mark.parametrize("transitive", [True, False])
def test_splice_swap_names_mismatch_virtuals(self, transitive):
- spec = Spec('splice-t')
- dep = Spec('splice-vh+foo')
+ spec = Spec("splice-t")
+ dep = Spec("splice-vh+foo")
spec.concretize()
dep.concretize()
- with pytest.raises(spack.spec.SpliceError,
- match='will not provide the same virtuals.'):
+ with pytest.raises(spack.spec.SpliceError, match="will not provide the same virtuals."):
spec.splice(dep, transitive)
-@pytest.mark.regression('3887')
-@pytest.mark.parametrize('spec_str', [
- 'git', 'hdf5', 'py-flake8'
-])
+@pytest.mark.regression("3887")
+@pytest.mark.parametrize("spec_str", ["git", "hdf5", "py-flake8"])
def test_is_extension_after_round_trip_to_dict(config, spec_str):
# x is constructed directly from string, y from a
# round-trip to dict representation
@@ -1206,52 +1127,50 @@ def test_is_extension_after_round_trip_to_dict(config, spec_str):
def test_malformed_spec_dict():
- with pytest.raises(SpecError, match='malformed'):
- Spec.from_dict({'spec': {'nodes': [{'dependencies': {'name': 'foo'}}]}})
+ with pytest.raises(SpecError, match="malformed"):
+ Spec.from_dict({"spec": {"nodes": [{"dependencies": {"name": "foo"}}]}})
def test_spec_dict_hashless_dep():
with pytest.raises(SpecError, match="Couldn't parse"):
Spec.from_dict(
{
- 'spec': {
- 'nodes': [
- {
- 'name': 'foo',
- 'hash': 'thehash',
- 'dependencies': [
- {
- 'name': 'bar'
- }
- ]
- }
+ "spec": {
+ "nodes": [
+ {"name": "foo", "hash": "thehash", "dependencies": [{"name": "bar"}]}
]
}
}
)
-@pytest.mark.parametrize('specs,expected', [
- # Anonymous specs without dependencies
- (['+baz', '+bar'], '+baz+bar'),
- (['@2.0:', '@:5.1', '+bar'], '@2.0:5.1 +bar'),
- # Anonymous specs with dependencies
- (['^mpich@3.2', '^mpich@:4.0+foo'], '^mpich@3.2 +foo'),
- # Mix a real package with a virtual one. This test
- # should fail if we start using the repository
- (['^mpich@3.2', '^mpi+foo'], '^mpich@3.2 ^mpi+foo'),
-])
+@pytest.mark.parametrize(
+ "specs,expected",
+ [
+ # Anonymous specs without dependencies
+ (["+baz", "+bar"], "+baz+bar"),
+ (["@2.0:", "@:5.1", "+bar"], "@2.0:5.1 +bar"),
+ # Anonymous specs with dependencies
+ (["^mpich@3.2", "^mpich@:4.0+foo"], "^mpich@3.2 +foo"),
+ # Mix a real package with a virtual one. This test
+ # should fail if we start using the repository
+ (["^mpich@3.2", "^mpi+foo"], "^mpich@3.2 ^mpi+foo"),
+ ],
+)
def test_merge_abstract_anonymous_specs(specs, expected):
specs = [Spec(x) for x in specs]
result = spack.spec.merge_abstract_anonymous_specs(*specs)
assert result == Spec(expected)
-@pytest.mark.parametrize('anonymous,named,expected', [
- ('+plumed', 'gromacs', 'gromacs+plumed'),
- ('+plumed ^plumed%gcc', 'gromacs', 'gromacs+plumed ^plumed%gcc'),
- ('+plumed', 'builtin.gromacs', 'builtin.gromacs+plumed')
-])
+@pytest.mark.parametrize(
+ "anonymous,named,expected",
+ [
+ ("+plumed", "gromacs", "gromacs+plumed"),
+ ("+plumed ^plumed%gcc", "gromacs", "gromacs+plumed ^plumed%gcc"),
+ ("+plumed", "builtin.gromacs", "builtin.gromacs+plumed"),
+ ],
+)
def test_merge_anonymous_spec_with_named_spec(anonymous, named, expected):
s = Spec(anonymous)
changed = s.constrain(named)
@@ -1276,13 +1195,11 @@ def test_spec_installed(install_mockery, database):
assert not spec.installed
-@pytest.mark.regression('30678')
+@pytest.mark.regression("30678")
def test_call_dag_hash_on_old_dag_hash_spec(mock_packages, config):
# create a concrete spec
a = Spec("a").concretized()
- dag_hashes = {
- spec.name: spec.dag_hash() for spec in a.traverse()
- }
+ dag_hashes = {spec.name: spec.dag_hash() for spec in a.traverse()}
# make it look like an old DAG hash spec with no package hash on the spec.
for spec in a.traverse():
@@ -1292,11 +1209,11 @@ def test_call_dag_hash_on_old_dag_hash_spec(mock_packages, config):
for spec in a.traverse():
assert dag_hashes[spec.name] == spec.dag_hash()
- with pytest.raises(ValueError, match='Cannot call package_hash()'):
+ with pytest.raises(ValueError, match="Cannot call package_hash()"):
spec.package_hash()
-@pytest.mark.regression('30861')
+@pytest.mark.regression("30861")
def test_concretize_partial_old_dag_hash_spec(mock_packages, config):
# create an "old" spec with no package hash
bottom = Spec("dt-diamond-bottom").concretized()
@@ -1320,9 +1237,9 @@ def test_concretize_partial_old_dag_hash_spec(mock_packages, config):
assert spec["dt-diamond-bottom"]._hash == dummy_hash
# make sure package hash is NOT recomputed
- assert not getattr(spec["dt-diamond-bottom"], '_package_hash', None)
+ assert not getattr(spec["dt-diamond-bottom"], "_package_hash", None)
def test_unsupported_compiler():
with pytest.raises(UnsupportedCompilerError):
- Spec('gcc%fake-compiler').validate_or_raise()
+ Spec("gcc%fake-compiler").validate_or_raise()
diff --git a/lib/spack/spack/test/spec_syntax.py b/lib/spack/spack/test/spec_syntax.py
index 815a46847a..956593ceb8 100644
--- a/lib/spack/spack/test/spec_syntax.py
+++ b/lib/spack/spack/test/spec_syntax.py
@@ -32,57 +32,61 @@ from spack.spec import (
from spack.variant import DuplicateVariantError
# Sample output for a complex lexing.
-complex_lex = [Token(sp.ID, 'mvapich_foo'),
- Token(sp.DEP),
- Token(sp.ID, '_openmpi'),
- Token(sp.AT),
- Token(sp.ID, '1.2'),
- Token(sp.COLON),
- Token(sp.ID, '1.4'),
- Token(sp.COMMA),
- Token(sp.ID, '1.6'),
- Token(sp.PCT),
- Token(sp.ID, 'intel'),
- Token(sp.AT),
- Token(sp.ID, '12.1'),
- Token(sp.COLON),
- Token(sp.ID, '12.6'),
- Token(sp.ON),
- Token(sp.ID, 'debug'),
- Token(sp.OFF),
- Token(sp.ID, 'qt_4'),
- Token(sp.DEP),
- Token(sp.ID, 'stackwalker'),
- Token(sp.AT),
- Token(sp.ID, '8.1_1e')]
+complex_lex = [
+ Token(sp.ID, "mvapich_foo"),
+ Token(sp.DEP),
+ Token(sp.ID, "_openmpi"),
+ Token(sp.AT),
+ Token(sp.ID, "1.2"),
+ Token(sp.COLON),
+ Token(sp.ID, "1.4"),
+ Token(sp.COMMA),
+ Token(sp.ID, "1.6"),
+ Token(sp.PCT),
+ Token(sp.ID, "intel"),
+ Token(sp.AT),
+ Token(sp.ID, "12.1"),
+ Token(sp.COLON),
+ Token(sp.ID, "12.6"),
+ Token(sp.ON),
+ Token(sp.ID, "debug"),
+ Token(sp.OFF),
+ Token(sp.ID, "qt_4"),
+ Token(sp.DEP),
+ Token(sp.ID, "stackwalker"),
+ Token(sp.AT),
+ Token(sp.ID, "8.1_1e"),
+]
# Another sample lexer output with a kv pair.
-kv_lex = [Token(sp.ID, 'mvapich_foo'),
- Token(sp.ID, 'debug'),
- Token(sp.EQ),
- Token(sp.VAL, '4'),
- Token(sp.DEP),
- Token(sp.ID, '_openmpi'),
- Token(sp.AT),
- Token(sp.ID, '1.2'),
- Token(sp.COLON),
- Token(sp.ID, '1.4'),
- Token(sp.COMMA),
- Token(sp.ID, '1.6'),
- Token(sp.PCT),
- Token(sp.ID, 'intel'),
- Token(sp.AT),
- Token(sp.ID, '12.1'),
- Token(sp.COLON),
- Token(sp.ID, '12.6'),
- Token(sp.ON),
- Token(sp.ID, 'debug'),
- Token(sp.OFF),
- Token(sp.ID, 'qt_4'),
- Token(sp.DEP),
- Token(sp.ID, 'stackwalker'),
- Token(sp.AT),
- Token(sp.ID, '8.1_1e')]
+kv_lex = [
+ Token(sp.ID, "mvapich_foo"),
+ Token(sp.ID, "debug"),
+ Token(sp.EQ),
+ Token(sp.VAL, "4"),
+ Token(sp.DEP),
+ Token(sp.ID, "_openmpi"),
+ Token(sp.AT),
+ Token(sp.ID, "1.2"),
+ Token(sp.COLON),
+ Token(sp.ID, "1.4"),
+ Token(sp.COMMA),
+ Token(sp.ID, "1.6"),
+ Token(sp.PCT),
+ Token(sp.ID, "intel"),
+ Token(sp.AT),
+ Token(sp.ID, "12.1"),
+ Token(sp.COLON),
+ Token(sp.ID, "12.6"),
+ Token(sp.ON),
+ Token(sp.ID, "debug"),
+ Token(sp.OFF),
+ Token(sp.ID, "qt_4"),
+ Token(sp.DEP),
+ Token(sp.ID, "stackwalker"),
+ Token(sp.AT),
+ Token(sp.ID, "8.1_1e"),
+]
class TestSpecSyntax(object):
@@ -93,21 +97,21 @@ class TestSpecSyntax(object):
def check_parse(self, expected, spec=None):
"""Assert that the provided spec is able to be parsed.
- If this is called with one argument, it assumes that the
- string is canonical (i.e., no spaces and ~ instead of - for
- variants) and that it will convert back to the string it came
- from.
+ If this is called with one argument, it assumes that the
+ string is canonical (i.e., no spaces and ~ instead of - for
+ variants) and that it will convert back to the string it came
+ from.
- If this is called with two arguments, the first argument is
- the expected canonical form and the second is a non-canonical
- input to be parsed.
+ If this is called with two arguments, the first argument is
+ the expected canonical form and the second is a non-canonical
+ input to be parsed.
"""
if spec is None:
spec = expected
output = sp.parse(spec)
- parsed = (" ".join(str(spec) for spec in output))
+ parsed = " ".join(str(spec) for spec in output)
assert expected == parsed
def check_lex(self, tokens, spec):
@@ -141,23 +145,22 @@ class TestSpecSyntax(object):
self.check_parse("^zlib")
self.check_parse("+foo")
self.check_parse("arch=test-None-None", "platform=test")
- self.check_parse('@2.7:')
+ self.check_parse("@2.7:")
def test_anonymous_specs_with_multiple_parts(self):
# Parse anonymous spec with multiple tokens
- self.check_parse('@4.2: languages=go', 'languages=go @4.2:')
- self.check_parse('@4.2: languages=go')
+ self.check_parse("@4.2: languages=go", "languages=go @4.2:")
+ self.check_parse("@4.2: languages=go")
def test_simple_dependence(self):
self.check_parse("openmpi ^hwloc")
self.check_parse("openmpi ^hwloc", "openmpi^hwloc")
self.check_parse("openmpi ^hwloc ^libunwind")
- self.check_parse("openmpi ^hwloc ^libunwind",
- "openmpi^hwloc^libunwind")
+ self.check_parse("openmpi ^hwloc ^libunwind", "openmpi^hwloc^libunwind")
def test_version_after_compiler(self):
- self.check_parse('foo@2.0%bar@1.0', 'foo %bar@1.0 @2.0')
+ self.check_parse("foo@2.0%bar@1.0", "foo %bar@1.0 @2.0")
def test_dependencies_with_versions(self):
self.check_parse("openmpi ^hwloc@1.2e6")
@@ -170,120 +173,103 @@ class TestSpecSyntax(object):
def test_multiple_specs_after_kv(self):
self.check_parse('mvapich cppflags="-O3 -fPIC" emacs')
- self.check_parse('mvapich cflags="-O3" emacs',
- 'mvapich cflags=-O3 emacs')
+ self.check_parse('mvapich cflags="-O3" emacs', "mvapich cflags=-O3 emacs")
def test_multiple_specs_long_second(self):
- self.check_parse('mvapich emacs@1.1.1%intel cflags="-O3"',
- 'mvapich emacs @1.1.1 %intel cflags=-O3')
+ self.check_parse(
+ 'mvapich emacs@1.1.1%intel cflags="-O3"', "mvapich emacs @1.1.1 %intel cflags=-O3"
+ )
self.check_parse('mvapich cflags="-O3 -fPIC" emacs ^ncurses%intel')
- self.check_parse('mvapich cflags="-O3 -fPIC" emacs ^ncurses%intel',
- 'mvapich cflags="-O3 -fPIC" emacs^ncurses%intel')
+ self.check_parse(
+ 'mvapich cflags="-O3 -fPIC" emacs ^ncurses%intel',
+ 'mvapich cflags="-O3 -fPIC" emacs^ncurses%intel',
+ )
def test_full_specs(self):
self.check_parse(
- "mvapich_foo"
- " ^_openmpi@1.2:1.4,1.6%intel@12.1+debug~qt_4"
- " ^stackwalker@8.1_1e")
+ "mvapich_foo" " ^_openmpi@1.2:1.4,1.6%intel@12.1+debug~qt_4" " ^stackwalker@8.1_1e"
+ )
self.check_parse(
- "mvapich_foo"
- " ^_openmpi@1.2:1.4,1.6%intel@12.1~qt_4 debug=2"
- " ^stackwalker@8.1_1e")
+ "mvapich_foo" " ^_openmpi@1.2:1.4,1.6%intel@12.1~qt_4 debug=2" " ^stackwalker@8.1_1e"
+ )
self.check_parse(
- 'mvapich_foo'
+ "mvapich_foo"
' ^_openmpi@1.2:1.4,1.6%intel@12.1 cppflags="-O3" +debug~qt_4'
- ' ^stackwalker@8.1_1e')
+ " ^stackwalker@8.1_1e"
+ )
self.check_parse(
"mvapich_foo"
" ^_openmpi@1.2:1.4,1.6%intel@12.1~qt_4 debug=2"
- " ^stackwalker@8.1_1e arch=test-redhat6-x86")
+ " ^stackwalker@8.1_1e arch=test-redhat6-x86"
+ )
def test_yaml_specs(self):
- self.check_parse(
- "yaml-cpp@0.1.8%intel@12.1"
- " ^boost@3.1.4")
+ self.check_parse("yaml-cpp@0.1.8%intel@12.1" " ^boost@3.1.4")
tempspec = r"builtin.yaml-cpp%gcc"
- self.check_parse(
- tempspec.strip("builtin."),
- spec=tempspec)
+ self.check_parse(tempspec.strip("builtin."), spec=tempspec)
tempspec = r"testrepo.yaml-cpp%gcc"
- self.check_parse(
- tempspec.strip("testrepo."),
- spec=tempspec)
+ self.check_parse(tempspec.strip("testrepo."), spec=tempspec)
tempspec = r"builtin.yaml-cpp@0.1.8%gcc"
- self.check_parse(
- tempspec.strip("builtin."),
- spec=tempspec)
+ self.check_parse(tempspec.strip("builtin."), spec=tempspec)
tempspec = r"builtin.yaml-cpp@0.1.8%gcc@7.2.0"
- self.check_parse(
- tempspec.strip("builtin."),
- spec=tempspec)
- tempspec = r"builtin.yaml-cpp@0.1.8%gcc@7.2.0" \
- r" ^boost@3.1.4"
- self.check_parse(
- tempspec.strip("builtin."),
- spec=tempspec)
+ self.check_parse(tempspec.strip("builtin."), spec=tempspec)
+ tempspec = r"builtin.yaml-cpp@0.1.8%gcc@7.2.0" r" ^boost@3.1.4"
+ self.check_parse(tempspec.strip("builtin."), spec=tempspec)
def test_canonicalize(self):
self.check_parse(
"mvapich_foo"
" ^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug~qt_4"
" ^stackwalker@8.1_1e",
-
"mvapich_foo "
"^_openmpi@1.6,1.2:1.4%intel@12.1:12.6+debug~qt_4 "
- "^stackwalker@8.1_1e")
+ "^stackwalker@8.1_1e",
+ )
self.check_parse(
"mvapich_foo"
" ^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug~qt_4"
" ^stackwalker@8.1_1e",
-
"mvapich_foo "
"^stackwalker@8.1_1e "
- "^_openmpi@1.6,1.2:1.4%intel@12.1:12.6~qt_4+debug")
+ "^_openmpi@1.6,1.2:1.4%intel@12.1:12.6~qt_4+debug",
+ )
self.check_parse(
- "x ^y@1,2:3,4%intel@1,2,3,4+a~b+c~d+e~f",
- "x ^y~f+e~d+c~b+a@4,2:3,1%intel@4,3,2,1")
+ "x ^y@1,2:3,4%intel@1,2,3,4+a~b+c~d+e~f", "x ^y~f+e~d+c~b+a@4,2:3,1%intel@4,3,2,1"
+ )
self.check_parse(
- "x arch=test-redhat6-None"
- " ^y arch=test-None-core2"
- " ^z arch=linux-None-None",
-
- "x os=fe "
- "^y target=be "
- "^z platform=linux")
+ "x arch=test-redhat6-None" " ^y arch=test-None-core2" " ^z arch=linux-None-None",
+ "x os=fe " "^y target=be " "^z platform=linux",
+ )
self.check_parse(
- "x arch=test-debian6-core2"
- " ^y arch=test-debian6-core2",
-
- "x os=default_os target=default_target"
- " ^y os=default_os target=default_target")
+ "x arch=test-debian6-core2" " ^y arch=test-debian6-core2",
+ "x os=default_os target=default_target" " ^y os=default_os target=default_target",
+ )
self.check_parse("x ^y", "x@: ^y@:")
def test_parse_errors(self):
- errors = ['x@@1.2', 'x ^y@@1.2', 'x@1.2::', 'x::']
+ errors = ["x@@1.2", "x ^y@@1.2", "x@1.2::", "x::"]
self._check_raises(SpecParseError, errors)
def _check_hash_parse(self, spec):
"""Check several ways to specify a spec by hash."""
# full hash
- self.check_parse(str(spec), '/' + spec.dag_hash())
+ self.check_parse(str(spec), "/" + spec.dag_hash())
# partial hash
- self.check_parse(str(spec), '/ ' + spec.dag_hash()[:5])
+ self.check_parse(str(spec), "/ " + spec.dag_hash()[:5])
# name + hash
- self.check_parse(str(spec), spec.name + '/' + spec.dag_hash())
+ self.check_parse(str(spec), spec.name + "/" + spec.dag_hash())
# name + version + space + partial hash
self.check_parse(
- str(spec), spec.name + '@' + str(spec.version) +
- ' /' + spec.dag_hash()[:6])
+ str(spec), spec.name + "@" + str(spec.version) + " /" + spec.dag_hash()[:6]
+ )
@pytest.mark.db
def test_spec_by_hash(self, database):
@@ -295,100 +281,103 @@ class TestSpecSyntax(object):
@pytest.mark.db
def test_dep_spec_by_hash(self, database):
- mpileaks_zmpi = database.query_one('mpileaks ^zmpi')
- zmpi = database.query_one('zmpi')
- fake = database.query_one('fake')
+ mpileaks_zmpi = database.query_one("mpileaks ^zmpi")
+ zmpi = database.query_one("zmpi")
+ fake = database.query_one("fake")
- assert 'fake' in mpileaks_zmpi
- assert 'zmpi' in mpileaks_zmpi
+ assert "fake" in mpileaks_zmpi
+ assert "zmpi" in mpileaks_zmpi
- mpileaks_hash_fake = sp.Spec('mpileaks ^/' + fake.dag_hash())
- assert 'fake' in mpileaks_hash_fake
- assert mpileaks_hash_fake['fake'] == fake
+ mpileaks_hash_fake = sp.Spec("mpileaks ^/" + fake.dag_hash())
+ assert "fake" in mpileaks_hash_fake
+ assert mpileaks_hash_fake["fake"] == fake
mpileaks_hash_zmpi = sp.Spec(
- 'mpileaks %' + str(mpileaks_zmpi.compiler) +
- ' ^ / ' + zmpi.dag_hash())
- assert 'zmpi' in mpileaks_hash_zmpi
- assert mpileaks_hash_zmpi['zmpi'] == zmpi
+ "mpileaks %" + str(mpileaks_zmpi.compiler) + " ^ / " + zmpi.dag_hash()
+ )
+ assert "zmpi" in mpileaks_hash_zmpi
+ assert mpileaks_hash_zmpi["zmpi"] == zmpi
assert mpileaks_hash_zmpi.compiler == mpileaks_zmpi.compiler
mpileaks_hash_fake_and_zmpi = sp.Spec(
- 'mpileaks ^/' + fake.dag_hash()[:4] + '^ / ' + zmpi.dag_hash()[:5])
- assert 'zmpi' in mpileaks_hash_fake_and_zmpi
- assert mpileaks_hash_fake_and_zmpi['zmpi'] == zmpi
+ "mpileaks ^/" + fake.dag_hash()[:4] + "^ / " + zmpi.dag_hash()[:5]
+ )
+ assert "zmpi" in mpileaks_hash_fake_and_zmpi
+ assert mpileaks_hash_fake_and_zmpi["zmpi"] == zmpi
- assert 'fake' in mpileaks_hash_fake_and_zmpi
- assert mpileaks_hash_fake_and_zmpi['fake'] == fake
+ assert "fake" in mpileaks_hash_fake_and_zmpi
+ assert mpileaks_hash_fake_and_zmpi["fake"] == fake
@pytest.mark.db
def test_multiple_specs_with_hash(self, database):
- mpileaks_zmpi = database.query_one('mpileaks ^zmpi')
- callpath_mpich2 = database.query_one('callpath ^mpich2')
+ mpileaks_zmpi = database.query_one("mpileaks ^zmpi")
+ callpath_mpich2 = database.query_one("callpath ^mpich2")
# name + hash + separate hash
- specs = sp.parse('mpileaks /' + mpileaks_zmpi.dag_hash() +
- '/' + callpath_mpich2.dag_hash())
+ specs = sp.parse(
+ "mpileaks /" + mpileaks_zmpi.dag_hash() + "/" + callpath_mpich2.dag_hash()
+ )
assert len(specs) == 2
# 2 separate hashes
- specs = sp.parse('/' + mpileaks_zmpi.dag_hash() +
- '/' + callpath_mpich2.dag_hash())
+ specs = sp.parse("/" + mpileaks_zmpi.dag_hash() + "/" + callpath_mpich2.dag_hash())
assert len(specs) == 2
# 2 separate hashes + name
- specs = sp.parse('/' + mpileaks_zmpi.dag_hash() +
- '/' + callpath_mpich2.dag_hash() +
- ' callpath')
+ specs = sp.parse(
+ "/" + mpileaks_zmpi.dag_hash() + "/" + callpath_mpich2.dag_hash() + " callpath"
+ )
assert len(specs) == 3
# hash + 2 names
- specs = sp.parse('/' + mpileaks_zmpi.dag_hash() +
- ' callpath' +
- ' callpath')
+ specs = sp.parse("/" + mpileaks_zmpi.dag_hash() + " callpath" + " callpath")
assert len(specs) == 3
# hash + name + hash
- specs = sp.parse('/' + mpileaks_zmpi.dag_hash() +
- ' callpath' +
- ' / ' + callpath_mpich2.dag_hash())
+ specs = sp.parse(
+ "/" + mpileaks_zmpi.dag_hash() + " callpath" + " / " + callpath_mpich2.dag_hash()
+ )
assert len(specs) == 2
@pytest.mark.db
def test_ambiguous_hash(self, mutable_database):
- x1 = Spec('a')
+ x1 = Spec("a")
x1.concretize()
- x1._hash = 'xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
- x2 = Spec('a')
+ x1._hash = "xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
+ x2 = Spec("a")
x2.concretize()
- x2._hash = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
+ x2._hash = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
mutable_database.add(x1, spack.store.layout)
mutable_database.add(x2, spack.store.layout)
# ambiguity in first hash character
- self._check_raises(AmbiguousHashError, ['/x'])
+ self._check_raises(AmbiguousHashError, ["/x"])
# ambiguity in first hash character AND spec name
- self._check_raises(AmbiguousHashError, ['a/x'])
+ self._check_raises(AmbiguousHashError, ["a/x"])
@pytest.mark.db
def test_invalid_hash(self, database):
- mpileaks_zmpi = database.query_one('mpileaks ^zmpi')
- zmpi = database.query_one('zmpi')
+ mpileaks_zmpi = database.query_one("mpileaks ^zmpi")
+ zmpi = database.query_one("zmpi")
- mpileaks_mpich = database.query_one('mpileaks ^mpich')
- mpich = database.query_one('mpich')
+ mpileaks_mpich = database.query_one("mpileaks ^mpich")
+ mpich = database.query_one("mpich")
# name + incompatible hash
- self._check_raises(InvalidHashError, [
- 'zmpi /' + mpich.dag_hash(),
- 'mpich /' + zmpi.dag_hash()])
+ self._check_raises(
+ InvalidHashError, ["zmpi /" + mpich.dag_hash(), "mpich /" + zmpi.dag_hash()]
+ )
# name + dep + incompatible hash
- self._check_raises(InvalidHashError, [
- 'mpileaks ^mpich /' + mpileaks_zmpi.dag_hash(),
- 'mpileaks ^zmpi /' + mpileaks_mpich.dag_hash()])
+ self._check_raises(
+ InvalidHashError,
+ [
+ "mpileaks ^mpich /" + mpileaks_zmpi.dag_hash(),
+ "mpileaks ^zmpi /" + mpileaks_mpich.dag_hash(),
+ ],
+ )
@pytest.mark.db
def test_nonexistent_hash(self, database):
@@ -396,13 +385,11 @@ class TestSpecSyntax(object):
specs = database.query()
# This hash shouldn't be in the test DB. What are the odds :)
- no_such_hash = 'aaaaaaaaaaaaaaa'
+ no_such_hash = "aaaaaaaaaaaaaaa"
hashes = [s._hash for s in specs]
- assert no_such_hash not in [h[:len(no_such_hash)] for h in hashes]
+ assert no_such_hash not in [h[: len(no_such_hash)] for h in hashes]
- self._check_raises(NoSuchHashError, [
- '/' + no_such_hash,
- 'mpileaks /' + no_such_hash])
+ self._check_raises(NoSuchHashError, ["/" + no_such_hash, "mpileaks /" + no_such_hash])
@pytest.mark.db
def test_redundant_spec(self, database):
@@ -412,45 +399,42 @@ class TestSpecSyntax(object):
specs only raise errors if constraints cause a contradiction?
"""
- mpileaks_zmpi = database.query_one('mpileaks ^zmpi')
- callpath_zmpi = database.query_one('callpath ^zmpi')
- dyninst = database.query_one('dyninst')
+ mpileaks_zmpi = database.query_one("mpileaks ^zmpi")
+ callpath_zmpi = database.query_one("callpath ^zmpi")
+ dyninst = database.query_one("dyninst")
- mpileaks_mpich2 = database.query_one('mpileaks ^mpich2')
+ mpileaks_mpich2 = database.query_one("mpileaks ^mpich2")
redundant_specs = [
# redudant compiler
- '/' + mpileaks_zmpi.dag_hash() + '%' + str(mpileaks_zmpi.compiler),
-
+ "/" + mpileaks_zmpi.dag_hash() + "%" + str(mpileaks_zmpi.compiler),
# redudant version
- 'mpileaks/' + mpileaks_mpich2.dag_hash() +
- '@' + str(mpileaks_mpich2.version),
-
+ "mpileaks/" + mpileaks_mpich2.dag_hash() + "@" + str(mpileaks_mpich2.version),
# redundant dependency
- 'callpath /' + callpath_zmpi.dag_hash() + '^ libelf',
-
+ "callpath /" + callpath_zmpi.dag_hash() + "^ libelf",
# redundant flags
- '/' + dyninst.dag_hash() + ' cflags="-O3 -fPIC"']
+ "/" + dyninst.dag_hash() + ' cflags="-O3 -fPIC"',
+ ]
self._check_raises(RedundantSpecError, redundant_specs)
def test_duplicate_variant(self):
duplicates = [
- 'x@1.2+debug+debug',
- 'x ^y@1.2+debug debug=true',
- 'x ^y@1.2 debug=false debug=true',
- 'x ^y@1.2 debug=false ~debug'
+ "x@1.2+debug+debug",
+ "x ^y@1.2+debug debug=true",
+ "x ^y@1.2 debug=false debug=true",
+ "x ^y@1.2 debug=false ~debug",
]
self._check_raises(DuplicateVariantError, duplicates)
def test_multiple_versions(self):
multiples = [
- 'x@1.2@2.3',
- 'x@1.2:2.3@1.4',
- 'x@1.2@2.3:2.4',
- 'x@1.2@2.3,2.4',
- 'x@1.2 +foo~bar @2.3',
- 'x@1.2%y@1.2@2.3:2.4',
+ "x@1.2@2.3",
+ "x@1.2:2.3@1.4",
+ "x@1.2@2.3:2.4",
+ "x@1.2@2.3,2.4",
+ "x@1.2 +foo~bar @2.3",
+ "x@1.2%y@1.2@2.3:2.4",
]
self._check_raises(MultipleVersionError, multiples)
@@ -464,7 +448,7 @@ class TestSpecSyntax(object):
"x%gcc%intel",
"x ^y%intel%intel",
"x ^y%intel%gcc",
- "x ^y%gcc%intel"
+ "x ^y%gcc%intel",
]
self._check_raises(DuplicateCompilerSpecError, duplicates)
@@ -474,7 +458,7 @@ class TestSpecSyntax(object):
"x arch=linux-rhel7-x86_64 arch=linux-rhel7-ppc64le",
"x arch=linux-rhel7-ppc64le arch=linux-rhel7-x86_64",
"y ^x arch=linux-rhel7-x86_64 arch=linux-rhel7-x86_64",
- "y ^x arch=linux-rhel7-x86_64 arch=linux-rhel7-ppc64le"
+ "y ^x arch=linux-rhel7-x86_64 arch=linux-rhel7-ppc64le",
]
self._check_raises(DuplicateArchitectureError, duplicates)
@@ -486,18 +470,18 @@ class TestSpecSyntax(object):
"x target=fe target=be",
"x platform=test platform=test",
"x os=fe platform=test target=fe os=fe",
- "x target=be platform=test os=be os=fe"
+ "x target=be platform=test os=be os=fe",
]
self._check_raises(DuplicateArchitectureError, duplicates)
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_simple(self, mock_packages, tmpdir):
- s = Spec('libdwarf')
+ s = Spec("libdwarf")
s.concretize()
- specfile = tmpdir.join('libdwarf.yaml')
+ specfile = tmpdir.join("libdwarf.yaml")
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
f.write(s.to_yaml(hash=ht.dag_hash))
# Check an absolute path to spec.yaml by itself:
@@ -507,20 +491,20 @@ class TestSpecSyntax(object):
# Check absolute path to spec.yaml mixed with a clispec, e.g.:
# "spack spec mvapich_foo /path/to/libdwarf.yaml"
- specs = sp.parse('mvapich_foo {0}'.format(specfile.strpath))
+ specs = sp.parse("mvapich_foo {0}".format(specfile.strpath))
assert len(specs) == 2
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_filename_missing_slash_as_spec(self, mock_packages, tmpdir):
"""Ensure that libelf.yaml parses as a spec, NOT a file."""
- s = Spec('libelf')
+ s = Spec("libelf")
s.concretize()
- specfile = tmpdir.join('libelf.yaml')
+ specfile = tmpdir.join("libelf.yaml")
# write the file to the current directory to make sure it exists,
# and that we still do not parse the spec as a file.
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
f.write(s.to_yaml(hash=ht.dag_hash))
# Check the spec `libelf.yaml` in the working directory, which
@@ -540,42 +524,41 @@ class TestSpecSyntax(object):
with pytest.raises(spack.repo.UnknownPackageError) as exc_info:
spec.concretize()
assert exc_info.value.long_message
- assert ("Did you mean to specify a filename with './libelf.yaml'?"
- in exc_info.value.long_message)
+ assert (
+ "Did you mean to specify a filename with './libelf.yaml'?"
+ in exc_info.value.long_message
+ )
# make sure that only happens when the spec ends in yaml
with pytest.raises(spack.repo.UnknownPackageError) as exc_info:
- Spec('builtin.mock.doesnotexist').concretize()
- assert (
- not exc_info.value.long_message or (
- "Did you mean to specify a filename with" not in
- exc_info.value.long_message
- )
+ Spec("builtin.mock.doesnotexist").concretize()
+ assert not exc_info.value.long_message or (
+ "Did you mean to specify a filename with" not in exc_info.value.long_message
)
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_dependency(self, mock_packages, tmpdir):
- s = Spec('libdwarf')
+ s = Spec("libdwarf")
s.concretize()
- specfile = tmpdir.join('libelf.yaml')
+ specfile = tmpdir.join("libelf.yaml")
- with specfile.open('w') as f:
- f.write(s['libelf'].to_yaml(hash=ht.dag_hash))
+ with specfile.open("w") as f:
+ f.write(s["libelf"].to_yaml(hash=ht.dag_hash))
# Make sure we can use yaml path as dependency, e.g.:
# "spack spec libdwarf ^ /path/to/libelf.yaml"
- specs = sp.parse('libdwarf ^ {0}'.format(specfile.strpath))
+ specs = sp.parse("libdwarf ^ {0}".format(specfile.strpath))
assert len(specs) == 1
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_relative_paths(self, mock_packages, tmpdir):
- s = Spec('libdwarf')
+ s = Spec("libdwarf")
s.concretize()
- specfile = tmpdir.join('libdwarf.yaml')
+ specfile = tmpdir.join("libdwarf.yaml")
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
f.write(s.to_yaml(hash=ht.dag_hash))
file_name = specfile.basename
@@ -586,52 +569,51 @@ class TestSpecSyntax(object):
# Test for command like: "spack spec libelf.yaml"
# This should parse a single spec, but should not concretize.
# See test_parse_filename_missing_slash_as_spec()
- specs = sp.parse('{0}'.format(file_name))
+ specs = sp.parse("{0}".format(file_name))
assert len(specs) == 1
# Make sure this also works: "spack spec ./libelf.yaml"
- specs = sp.parse('./{0}'.format(file_name))
+ specs = sp.parse("./{0}".format(file_name))
assert len(specs) == 1
# Should also be accepted: "spack spec ../<cur-dir>/libelf.yaml"
- specs = sp.parse('../{0}/{1}'.format(parent_dir, file_name))
+ specs = sp.parse("../{0}/{1}".format(parent_dir, file_name))
assert len(specs) == 1
# Should also handle mixed clispecs and relative paths, e.g.:
# "spack spec mvapich_foo ../<cur-dir>/libelf.yaml"
- specs = sp.parse('mvapich_foo ../{0}/{1}'.format(
- parent_dir, file_name))
+ specs = sp.parse("mvapich_foo ../{0}/{1}".format(parent_dir, file_name))
assert len(specs) == 2
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_relative_subdir_path(self, mock_packages, tmpdir):
- s = Spec('libdwarf')
+ s = Spec("libdwarf")
s.concretize()
- specfile = tmpdir.mkdir('subdir').join('libdwarf.yaml')
+ specfile = tmpdir.mkdir("subdir").join("libdwarf.yaml")
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
f.write(s.to_yaml(hash=ht.dag_hash))
file_name = specfile.basename
# Relative path to specfile
with tmpdir.as_cwd():
- assert os.path.exists('subdir/{0}'.format(file_name))
+ assert os.path.exists("subdir/{0}".format(file_name))
# Test for command like: "spack spec libelf.yaml"
- specs = sp.parse('subdir/{0}'.format(file_name))
+ specs = sp.parse("subdir/{0}".format(file_name))
assert len(specs) == 1
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_dependency_relative_paths(self, mock_packages, tmpdir):
- s = Spec('libdwarf')
+ s = Spec("libdwarf")
s.concretize()
- specfile = tmpdir.join('libelf.yaml')
+ specfile = tmpdir.join("libelf.yaml")
- with specfile.open('w') as f:
- f.write(s['libelf'].to_yaml(hash=ht.dag_hash))
+ with specfile.open("w") as f:
+ f.write(s["libelf"].to_yaml(hash=ht.dag_hash))
file_name = specfile.basename
parent_dir = os.path.basename(specfile.dirname)
@@ -639,62 +621,67 @@ class TestSpecSyntax(object):
# Relative path to specfile
with fs.working_dir(specfile.dirname):
# Test for command like: "spack spec libelf.yaml"
- specs = sp.parse('libdwarf^{0}'.format(file_name))
+ specs = sp.parse("libdwarf^{0}".format(file_name))
assert len(specs) == 1
# Make sure this also works: "spack spec ./libelf.yaml"
- specs = sp.parse('libdwarf^./{0}'.format(file_name))
+ specs = sp.parse("libdwarf^./{0}".format(file_name))
assert len(specs) == 1
# Should also be accepted: "spack spec ../<cur-dir>/libelf.yaml"
- specs = sp.parse('libdwarf^../{0}/{1}'.format(
- parent_dir, file_name))
+ specs = sp.parse("libdwarf^../{0}/{1}".format(parent_dir, file_name))
assert len(specs) == 1
def test_parse_yaml_error_handling(self):
- self._check_raises(NoSuchSpecFileError, [
- # Single spec that looks like a yaml path
- '/bogus/path/libdwarf.yaml',
- '../../libdwarf.yaml',
- './libdwarf.yaml',
- # Dependency spec that looks like a yaml path
- 'libdwarf^/bogus/path/libelf.yaml',
- 'libdwarf ^../../libelf.yaml',
- 'libdwarf^ ./libelf.yaml',
- # Multiple specs, one looks like a yaml path
- 'mvapich_foo /bogus/path/libelf.yaml',
- 'mvapich_foo ../../libelf.yaml',
- 'mvapich_foo ./libelf.yaml',
- ])
+ self._check_raises(
+ NoSuchSpecFileError,
+ [
+ # Single spec that looks like a yaml path
+ "/bogus/path/libdwarf.yaml",
+ "../../libdwarf.yaml",
+ "./libdwarf.yaml",
+ # Dependency spec that looks like a yaml path
+ "libdwarf^/bogus/path/libelf.yaml",
+ "libdwarf ^../../libelf.yaml",
+ "libdwarf^ ./libelf.yaml",
+ # Multiple specs, one looks like a yaml path
+ "mvapich_foo /bogus/path/libelf.yaml",
+ "mvapich_foo ../../libelf.yaml",
+ "mvapich_foo ./libelf.yaml",
+ ],
+ )
def test_nice_error_for_no_space_after_spec_filename(self):
"""Ensure that omitted spaces don't give weird errors about hashes."""
- self._check_raises(SpecFilenameError, [
- '/bogus/path/libdwarf.yamlfoobar',
- 'libdwarf^/bogus/path/libelf.yamlfoobar ^/path/to/bogus.yaml',
- ])
+ self._check_raises(
+ SpecFilenameError,
+ [
+ "/bogus/path/libdwarf.yamlfoobar",
+ "libdwarf^/bogus/path/libelf.yamlfoobar ^/path/to/bogus.yaml",
+ ],
+ )
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_yaml_spec_not_filename(self, mock_packages, tmpdir):
with pytest.raises(spack.repo.UnknownPackageError):
- Spec('builtin.mock.yaml').concretize()
+ Spec("builtin.mock.yaml").concretize()
with pytest.raises(spack.repo.UnknownPackageError):
- Spec('builtin.mock.yamlfoobar').concretize()
+ Spec("builtin.mock.yamlfoobar").concretize()
- @pytest.mark.usefixtures('config')
+ @pytest.mark.usefixtures("config")
def test_parse_yaml_variant_error(self, mock_packages, tmpdir):
- s = Spec('a')
+ s = Spec("a")
s.concretize()
- specfile = tmpdir.join('a.yaml')
+ specfile = tmpdir.join("a.yaml")
- with specfile.open('w') as f:
+ with specfile.open("w") as f:
f.write(s.to_yaml(hash=ht.dag_hash))
with pytest.raises(RedundantSpecError):
# Trying to change a variant on a concrete spec is an error
- sp.parse('{0} ~bvv'.format(specfile.strpath))
+ sp.parse("{0} ~bvv".format(specfile.strpath))
# ========================================================================
# Lex checks
@@ -707,7 +694,7 @@ class TestSpecSyntax(object):
complex_lex,
"mvapich_foo"
"^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug-qt_4"
- "^stackwalker@8.1_1e"
+ "^stackwalker@8.1_1e",
)
# The following lexes are non-ambiguous (add a space before -qt_4)
@@ -717,99 +704,114 @@ class TestSpecSyntax(object):
complex_lex,
"mvapich_foo"
"^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug -qt_4"
- "^stackwalker@8.1_1e")
+ "^stackwalker@8.1_1e",
+ )
self.check_lex(
complex_lex,
- "mvapich_foo"
- "^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug~qt_4"
- "^stackwalker@8.1_1e")
+ "mvapich_foo" "^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug~qt_4" "^stackwalker@8.1_1e",
+ )
def test_spaces_between_dependences(self):
self.check_lex(
complex_lex,
"mvapich_foo "
"^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug -qt_4 "
- "^stackwalker @ 8.1_1e")
+ "^stackwalker @ 8.1_1e",
+ )
self.check_lex(
complex_lex,
"mvapich_foo "
"^_openmpi@1.2:1.4,1.6%intel@12.1:12.6+debug~qt_4 "
- "^stackwalker @ 8.1_1e")
+ "^stackwalker @ 8.1_1e",
+ )
def test_spaces_between_options(self):
self.check_lex(
complex_lex,
"mvapich_foo "
"^_openmpi @1.2:1.4,1.6 %intel @12.1:12.6 +debug -qt_4 "
- "^stackwalker @8.1_1e")
+ "^stackwalker @8.1_1e",
+ )
def test_way_too_many_spaces(self):
self.check_lex(
complex_lex,
"mvapich_foo "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
self.check_lex(
complex_lex,
"mvapich_foo "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug ~ qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
def test_kv_with_quotes(self):
self.check_lex(
kv_lex,
"mvapich_foo debug='4' "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
self.check_lex(
kv_lex,
'mvapich_foo debug="4" '
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
self.check_lex(
kv_lex,
"mvapich_foo 'debug = 4' "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
def test_kv_without_quotes(self):
self.check_lex(
kv_lex,
"mvapich_foo debug=4 "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
def test_kv_with_spaces(self):
self.check_lex(
kv_lex,
"mvapich_foo debug = 4 "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
self.check_lex(
kv_lex,
"mvapich_foo debug =4 "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
+ "^ stackwalker @ 8.1_1e",
+ )
self.check_lex(
kv_lex,
"mvapich_foo debug= 4 "
"^ _openmpi @1.2 : 1.4 , 1.6 % intel @ 12.1 : 12.6 + debug - qt_4 "
- "^ stackwalker @ 8.1_1e")
-
- @pytest.mark.parametrize('expected_tokens,spec_string', [
- ([Token(sp.ID, 'target'),
- Token(sp.EQ, '='),
- Token(sp.VAL, 'broadwell')],
- 'target=broadwell'),
- ([Token(sp.ID, 'target'),
- Token(sp.EQ, '='),
- Token(sp.VAL, ':broadwell,icelake')],
- 'target=:broadwell,icelake')
- ])
+ "^ stackwalker @ 8.1_1e",
+ )
+
+ @pytest.mark.parametrize(
+ "expected_tokens,spec_string",
+ [
+ (
+ [Token(sp.ID, "target"), Token(sp.EQ, "="), Token(sp.VAL, "broadwell")],
+ "target=broadwell",
+ ),
+ (
+ [Token(sp.ID, "target"), Token(sp.EQ, "="), Token(sp.VAL, ":broadwell,icelake")],
+ "target=:broadwell,icelake",
+ ),
+ ],
+ )
def test_target_tokenization(self, expected_tokens, spec_string):
self.check_lex(expected_tokens, spec_string)
- @pytest.mark.regression('20310')
+ @pytest.mark.regression("20310")
def test_compare_abstract_specs(self):
"""Spec comparisons must be valid for abstract specs.
@@ -818,13 +820,13 @@ class TestSpecSyntax(object):
# Add fields in order they appear in `Spec._cmp_node`
constraints = [
None,
- 'foo',
- 'foo.foo',
- 'foo.foo@foo',
- 'foo.foo@foo+foo',
- 'foo.foo@foo+foo arch=foo-foo-foo',
- 'foo.foo@foo+foo arch=foo-foo-foo %foo',
- 'foo.foo@foo+foo arch=foo-foo-foo %foo cflags=foo',
+ "foo",
+ "foo.foo",
+ "foo.foo@foo",
+ "foo.foo@foo+foo",
+ "foo.foo@foo+foo arch=foo-foo-foo",
+ "foo.foo@foo+foo arch=foo-foo-foo %foo",
+ "foo.foo@foo+foo arch=foo-foo-foo %foo cflags=foo",
]
specs = [Spec(s) for s in constraints]
diff --git a/lib/spack/spack/test/spec_yaml.py b/lib/spack/spack/test/spec_yaml.py
index a13a22aa66..67aecfc698 100644
--- a/lib/spack/spack/test/spec_yaml.py
+++ b/lib/spack/spack/test/spec_yaml.py
@@ -44,22 +44,22 @@ def check_json_round_trip(spec):
def test_simple_spec():
- spec = Spec('mpileaks')
+ spec = Spec("mpileaks")
check_yaml_round_trip(spec)
check_json_round_trip(spec)
def test_read_spec_from_signed_json():
- spec_dir = os.path.join(
- spack.paths.test_path, 'data', 'mirrors', 'signed_json')
+ spec_dir = os.path.join(spack.paths.test_path, "data", "mirrors", "signed_json")
file_name = (
- 'linux-ubuntu18.04-haswell-gcc-8.4.0-'
- 'zlib-1.2.12-g7otk5dra3hifqxej36m5qzm7uyghqgb.spec.json.sig')
+ "linux-ubuntu18.04-haswell-gcc-8.4.0-"
+ "zlib-1.2.12-g7otk5dra3hifqxej36m5qzm7uyghqgb.spec.json.sig"
+ )
spec_path = os.path.join(spec_dir, file_name)
def check_spec(spec_to_check):
- assert(spec_to_check.name == 'zlib')
- assert(spec_to_check._hash == 'g7otk5dra3hifqxej36m5qzm7uyghqgb')
+ assert spec_to_check.name == "zlib"
+ assert spec_to_check._hash == "g7otk5dra3hifqxej36m5qzm7uyghqgb"
with open(spec_path) as fd:
s = Spec.from_signed_json(fd)
@@ -71,17 +71,14 @@ def test_read_spec_from_signed_json():
def test_normal_spec(mock_packages):
- spec = Spec('mpileaks+debug~opt')
+ spec = Spec("mpileaks+debug~opt")
spec.normalize()
check_yaml_round_trip(spec)
check_json_round_trip(spec)
@pytest.mark.parametrize(
- "invalid_yaml",
- [
- "playing_playlist: {{ action }} playlist {{ playlist_name }}"
- ]
+ "invalid_yaml", ["playing_playlist: {{ action }} playlist {{ playlist_name }}"]
)
def test_invalid_yaml_spec(invalid_yaml):
with pytest.raises(SpackYAMLError) as e:
@@ -91,12 +88,7 @@ def test_invalid_yaml_spec(invalid_yaml):
assert invalid_yaml in exc_msg
-@pytest.mark.parametrize(
- "invalid_json, error_message",
- [
- ("{13:", "Expecting property name")
- ]
-)
+@pytest.mark.parametrize("invalid_json, error_message", [("{13:", "Expecting property name")])
def test_invalid_json_spec(invalid_json, error_message):
with pytest.raises(sjson.SpackJSONError) as e:
Spec.from_json(invalid_json)
@@ -106,26 +98,26 @@ def test_invalid_json_spec(invalid_json, error_message):
def test_external_spec(config, mock_packages):
- spec = Spec('externaltool')
+ spec = Spec("externaltool")
spec.concretize()
check_yaml_round_trip(spec)
check_json_round_trip(spec)
- spec = Spec('externaltest')
+ spec = Spec("externaltest")
spec.concretize()
check_yaml_round_trip(spec)
check_json_round_trip(spec)
def test_ambiguous_version_spec(mock_packages):
- spec = Spec('mpileaks@1.0:5.0,6.1,7.3+debug~opt')
+ spec = Spec("mpileaks@1.0:5.0,6.1,7.3+debug~opt")
spec.normalize()
check_yaml_round_trip(spec)
check_json_round_trip(spec)
def test_concrete_spec(config, mock_packages):
- spec = Spec('mpileaks+debug~opt')
+ spec = Spec("mpileaks+debug~opt")
spec.concretize()
check_yaml_round_trip(spec)
check_json_round_trip(spec)
@@ -139,22 +131,23 @@ def test_yaml_multivalue(config, mock_packages):
def test_yaml_subdag(config, mock_packages):
- spec = Spec('mpileaks^mpich+debug')
+ spec = Spec("mpileaks^mpich+debug")
spec.concretize()
yaml_spec = Spec.from_yaml(spec.to_yaml())
json_spec = Spec.from_json(spec.to_json())
- for dep in ('callpath', 'mpich', 'dyninst', 'libdwarf', 'libelf'):
+ for dep in ("callpath", "mpich", "dyninst", "libdwarf", "libelf"):
assert spec[dep].eq_dag(yaml_spec[dep])
assert spec[dep].eq_dag(json_spec[dep])
def test_using_ordered_dict(mock_packages):
- """ Checks that dicts are ordered
+ """Checks that dicts are ordered
Necessary to make sure that dag_hash is stable across python
versions and processes.
"""
+
def descend_and_check(iterable, level=0):
if isinstance(iterable, Mapping):
assert isinstance(iterable, syaml_dict)
@@ -167,7 +160,7 @@ def test_using_ordered_dict(mock_packages):
max_level = nlevel
return max_level
- specs = ['mpileaks ^zmpi', 'dttop', 'dtuse']
+ specs = ["mpileaks ^zmpi", "dttop", "dtuse"]
for spec in specs:
dag = Spec(spec)
dag.normalize()
@@ -177,9 +170,7 @@ def test_using_ordered_dict(mock_packages):
assert level >= 5
-def test_ordered_read_not_required_for_consistent_dag_hash(
- config, mock_packages
-):
+def test_ordered_read_not_required_for_consistent_dag_hash(config, mock_packages):
"""Make sure ordered serialization isn't required to preserve hashes.
For consistent hashes, we require that YAML and json documents
@@ -187,7 +178,7 @@ def test_ordered_read_not_required_for_consistent_dag_hash(
don't want to require them to be serialized in order. This
ensures that is not required.
"""
- specs = ['mpileaks ^zmpi', 'dttop', 'dtuse']
+ specs = ["mpileaks ^zmpi", "dttop", "dtuse"]
for spec in specs:
spec = Spec(spec)
spec.concretize()
@@ -209,8 +200,7 @@ def test_ordered_read_not_required_for_consistent_dag_hash(
# Dump to YAML and JSON
#
yaml_string = syaml.dump(spec_dict, default_flow_style=False)
- reversed_yaml_string = syaml.dump(reversed_spec_dict,
- default_flow_style=False)
+ reversed_yaml_string = syaml.dump(reversed_spec_dict, default_flow_style=False)
json_string = sjson.dump(spec_dict)
reversed_json_string = sjson.dump(reversed_spec_dict)
@@ -230,12 +220,8 @@ def test_ordered_read_not_required_for_consistent_dag_hash(
# build specs from the "wrongly" ordered data
round_trip_yaml_spec = Spec.from_yaml(yaml_string)
round_trip_json_spec = Spec.from_json(json_string)
- round_trip_reversed_yaml_spec = Spec.from_yaml(
- reversed_yaml_string
- )
- round_trip_reversed_json_spec = Spec.from_yaml(
- reversed_json_string
- )
+ round_trip_reversed_yaml_spec = Spec.from_yaml(reversed_yaml_string)
+ round_trip_reversed_json_spec = Spec.from_yaml(reversed_json_string)
# Strip spec if we stripped the yaml
spec = spec.copy(deps=ht.dag_hash.deptype)
@@ -266,10 +252,13 @@ def test_ordered_read_not_required_for_consistent_dag_hash(
assert spec.dag_hash() == round_trip_reversed_json_spec.dag_hash()
-@pytest.mark.parametrize("module", [
- spack.spec,
- spack.version,
-])
+@pytest.mark.parametrize(
+ "module",
+ [
+ spack.spec,
+ spack.version,
+ ],
+)
def test_hashes_use_no_python_dicts(module):
"""Coarse check to make sure we don't use dicts in Spec.to_node_dict().
@@ -285,8 +274,10 @@ def test_hashes_use_no_python_dicts(module):
prints out the line numbers where they occur.
"""
+
class FindFunctions(ast.NodeVisitor):
"""Find a function definition called to_node_dict."""
+
def __init__(self):
self.nodes = []
@@ -296,6 +287,7 @@ def test_hashes_use_no_python_dicts(module):
class FindDicts(ast.NodeVisitor):
"""Find source locations of dicts in an AST."""
+
def __init__(self, filename):
self.nodes = []
self.filename = filename
@@ -316,7 +308,7 @@ def test_hashes_use_no_python_dicts(module):
elif isinstance(node.func, ast.Attribute):
name = node.func.attr
- if name == 'dict':
+ if name == "dict":
self.add_error(node)
find_functions = FindFunctions()
@@ -334,9 +326,9 @@ def test_hashes_use_no_python_dicts(module):
def reverse_all_dicts(data):
"""Descend into data and reverse all the dictionaries"""
if isinstance(data, dict):
- return syaml_dict(reversed(
- [(reverse_all_dicts(k), reverse_all_dicts(v))
- for k, v in data.items()]))
+ return syaml_dict(
+ reversed([(reverse_all_dicts(k), reverse_all_dicts(v)) for k, v in data.items()])
+ )
elif isinstance(data, (list, tuple)):
return type(data)(reverse_all_dicts(elt) for elt in data)
else:
@@ -344,37 +336,37 @@ def reverse_all_dicts(data):
def check_specs_equal(original_spec, spec_yaml_path):
- with open(spec_yaml_path, 'r') as fd:
+ with open(spec_yaml_path, "r") as fd:
spec_yaml = fd.read()
spec_from_yaml = Spec.from_yaml(spec_yaml)
return original_spec.eq_dag(spec_from_yaml)
def test_save_dependency_spec_jsons_subset(tmpdir, config):
- output_path = str(tmpdir.mkdir('spec_jsons'))
+ output_path = str(tmpdir.mkdir("spec_jsons"))
- default = ('build', 'link')
+ default = ("build", "link")
mock_repo = MockPackageMultiRepo()
- g = mock_repo.add_package('g', [], [])
- f = mock_repo.add_package('f', [], [])
- e = mock_repo.add_package('e', [], [])
- d = mock_repo.add_package('d', [f, g], [default, default])
- c = mock_repo.add_package('c', [], [])
- b = mock_repo.add_package('b', [d, e], [default, default])
- mock_repo.add_package('a', [b, c], [default, default])
+ g = mock_repo.add_package("g", [], [])
+ f = mock_repo.add_package("f", [], [])
+ e = mock_repo.add_package("e", [], [])
+ d = mock_repo.add_package("d", [f, g], [default, default])
+ c = mock_repo.add_package("c", [], [])
+ b = mock_repo.add_package("b", [d, e], [default, default])
+ mock_repo.add_package("a", [b, c], [default, default])
with repo.use_repositories(mock_repo):
- spec_a = Spec('a')
+ spec_a = Spec("a")
spec_a.concretize()
- b_spec = spec_a['b']
- c_spec = spec_a['c']
+ b_spec = spec_a["b"]
+ c_spec = spec_a["c"]
spec_a_json = spec_a.to_json()
- save_dependency_specfiles(spec_a_json, output_path, ['b', 'c'])
+ save_dependency_specfiles(spec_a_json, output_path, ["b", "c"])
- assert check_specs_equal(b_spec, os.path.join(output_path, 'b.json'))
- assert check_specs_equal(c_spec, os.path.join(output_path, 'c.json'))
+ assert check_specs_equal(b_spec, os.path.join(output_path, "b.json"))
+ assert check_specs_equal(c_spec, os.path.join(output_path, "c.json"))
def test_legacy_yaml(tmpdir, install_mockery, mock_packages):
@@ -441,60 +433,85 @@ spec:
#: A well ordered Spec dictionary, using ``OrderdDict``.
#: Any operation that transforms Spec dictionaries should
#: preserve this order.
-ordered_spec = collections.OrderedDict([
- ("arch", collections.OrderedDict([
- ("platform", "darwin"),
- ("platform_os", "bigsur"),
- ("target", collections.OrderedDict([
- ("features", [
- "adx",
- "aes",
- "avx",
- "avx2",
- "bmi1",
- "bmi2",
- "clflushopt",
- "f16c",
- "fma",
- "mmx",
- "movbe",
- "pclmulqdq",
- "popcnt",
- "rdrand",
- "rdseed",
- "sse",
- "sse2",
- "sse4_1",
- "sse4_2",
- "ssse3",
- "xsavec",
- "xsaveopt"
- ]),
- ("generation", 0),
- ("name", "skylake"),
- ("parents", ["broadwell"]),
- ("vendor", "GenuineIntel"),
- ])),
- ])),
- ("compiler", collections.OrderedDict([
- ("name", "apple-clang"),
- ("version", "13.0.0"),
- ])),
- ("name", "zlib"),
- ("namespace", "builtin"),
- ("parameters", collections.OrderedDict([
- ("cflags", []),
- ("cppflags", []),
- ("cxxflags", []),
- ("fflags", []),
- ("ldflags", []),
- ("ldlibs", []),
- ("optimize", True),
- ("pic", True),
- ("shared", True),
- ])),
- ("version", "1.2.11"),
-])
+ordered_spec = collections.OrderedDict(
+ [
+ (
+ "arch",
+ collections.OrderedDict(
+ [
+ ("platform", "darwin"),
+ ("platform_os", "bigsur"),
+ (
+ "target",
+ collections.OrderedDict(
+ [
+ (
+ "features",
+ [
+ "adx",
+ "aes",
+ "avx",
+ "avx2",
+ "bmi1",
+ "bmi2",
+ "clflushopt",
+ "f16c",
+ "fma",
+ "mmx",
+ "movbe",
+ "pclmulqdq",
+ "popcnt",
+ "rdrand",
+ "rdseed",
+ "sse",
+ "sse2",
+ "sse4_1",
+ "sse4_2",
+ "ssse3",
+ "xsavec",
+ "xsaveopt",
+ ],
+ ),
+ ("generation", 0),
+ ("name", "skylake"),
+ ("parents", ["broadwell"]),
+ ("vendor", "GenuineIntel"),
+ ]
+ ),
+ ),
+ ]
+ ),
+ ),
+ (
+ "compiler",
+ collections.OrderedDict(
+ [
+ ("name", "apple-clang"),
+ ("version", "13.0.0"),
+ ]
+ ),
+ ),
+ ("name", "zlib"),
+ ("namespace", "builtin"),
+ (
+ "parameters",
+ collections.OrderedDict(
+ [
+ ("cflags", []),
+ ("cppflags", []),
+ ("cxxflags", []),
+ ("fflags", []),
+ ("ldflags", []),
+ ("ldlibs", []),
+ ("optimize", True),
+ ("pic", True),
+ ("shared", True),
+ ]
+ ),
+ ),
+ ("version", "1.2.11"),
+ ]
+)
@pytest.mark.regression("31092")
diff --git a/lib/spack/spack/test/stage.py b/lib/spack/spack/test/stage.py
index 61228dd40c..44294ff6bd 100644
--- a/lib/spack/spack/test/stage.py
+++ b/lib/spack/spack/test/stage.py
@@ -24,15 +24,15 @@ from spack.stage import DIYStage, ResourceStage, Stage, StageComposite
from spack.util.path import canonicalize_path
# The following values are used for common fetch and stage mocking fixtures:
-_archive_base = 'test-files'
-_archive_fn = '%s.tar.gz' % _archive_base
-_extra_fn = 'extra.sh'
-_hidden_fn = '.hidden'
-_readme_fn = 'README.txt'
+_archive_base = "test-files"
+_archive_fn = "%s.tar.gz" % _archive_base
+_extra_fn = "extra.sh"
+_hidden_fn = ".hidden"
+_readme_fn = "README.txt"
-_extra_contents = '#!/bin/sh\n'
-_hidden_contents = ''
-_readme_contents = 'hello world!\n'
+_extra_contents = "#!/bin/sh\n"
+_hidden_contents = ""
+_readme_contents = "hello world!\n"
# TODO: Replace the following with an enum once guarantee supported (or
# include enum34 for python versions < 3.4.
@@ -40,9 +40,9 @@ _include_readme = 1
_include_hidden = 2
_include_extra = 3
-_file_prefix = 'file://'
-if sys.platform == 'win32':
- _file_prefix += '/'
+_file_prefix = "file://"
+if sys.platform == "win32":
+ _file_prefix += "/"
# Mock fetch directories are expected to appear as follows:
@@ -74,7 +74,7 @@ if sys.platform == 'win32':
@pytest.fixture
def clear_stage_root(monkeypatch):
"""Ensure spack.stage._stage_root is not set at test start."""
- monkeypatch.setattr(spack.stage, '_stage_root', None)
+ monkeypatch.setattr(spack.stage, "_stage_root", None)
yield
@@ -190,8 +190,8 @@ def get_stage_path(stage, stage_name):
@pytest.fixture
def tmp_build_stage_dir(tmpdir, clear_stage_root):
"""Use a temporary test directory for the stage root."""
- test_path = str(tmpdir.join('stage'))
- with spack.config.override('config:build_stage', test_path):
+ test_path = str(tmpdir.join("stage"))
+ with spack.config.override("config:build_stage", test_path):
yield tmpdir, spack.stage.get_stage_root()
shutil.rmtree(test_path)
@@ -222,7 +222,7 @@ def mock_stage_archive(tmp_build_stage_dir):
# Create the optional files as requested and make sure expanded
# archive peers are included.
- tar_args = ['czf', str(_archive_fn), _archive_base]
+ tar_args = ["czf", str(_archive_fn), _archive_base]
for _include in expected_file_list:
if _include == _include_hidden:
# The hidden file case stands in for the way Mac OS X tar files
@@ -247,14 +247,13 @@ def mock_stage_archive(tmp_build_stage_dir):
# Create the archive file
with tmpdir.as_cwd():
- tar = spack.util.executable.which('tar', required=True)
+ tar = spack.util.executable.which("tar", required=True)
tar(*tar_args)
- Archive = collections.namedtuple(
- 'Archive', ['url', 'tmpdir', 'stage_path', 'archive_dir']
+ Archive = collections.namedtuple("Archive", ["url", "tmpdir", "stage_path", "archive_dir"])
+ return Archive(
+ url=archive_url, tmpdir=tmpdir, stage_path=test_stage_path, archive_dir=archive_dir
)
- return Archive(url=archive_url, tmpdir=tmpdir,
- stage_path=test_stage_path, archive_dir=archive_dir)
return create_stage_archive
@@ -262,7 +261,7 @@ def mock_stage_archive(tmp_build_stage_dir):
@pytest.fixture
def mock_noexpand_resource(tmpdir):
"""Set up a non-expandable resource in the tmpdir prior to staging."""
- test_resource = tmpdir.join('resource-no-expand.sh')
+ test_resource = tmpdir.join("resource-no-expand.sh")
test_resource.write("an example resource")
return str(test_resource)
@@ -277,45 +276,40 @@ def mock_expand_resource(tmpdir):
# resource-file.txt resource contents (contains 'test content')
# resource.tar.gz archive of resource content
#
- subdir = 'resource-expand'
+ subdir = "resource-expand"
resource_dir = tmpdir.join(subdir)
resource_dir.ensure(dir=True)
- archive_name = 'resource.tar.gz'
+ archive_name = "resource.tar.gz"
archive = tmpdir.join(archive_name)
archive_url = _file_prefix + str(archive)
- filename = 'resource-file.txt'
+ filename = "resource-file.txt"
test_file = resource_dir.join(filename)
- test_file.write('test content\n')
+ test_file.write("test content\n")
with tmpdir.as_cwd():
- tar = spack.util.executable.which('tar', required=True)
- tar('czf', str(archive_name), subdir)
+ tar = spack.util.executable.which("tar", required=True)
+ tar("czf", str(archive_name), subdir)
- MockResource = collections.namedtuple(
- 'MockResource', ['url', 'files'])
+ MockResource = collections.namedtuple("MockResource", ["url", "files"])
return MockResource(archive_url, [filename])
@pytest.fixture
-def composite_stage_with_expanding_resource(
- mock_stage_archive, mock_expand_resource):
+def composite_stage_with_expanding_resource(mock_stage_archive, mock_expand_resource):
"""Sets up a composite for expanding resources prior to staging."""
composite_stage = StageComposite()
archive = mock_stage_archive()
root_stage = Stage(archive.url)
composite_stage.append(root_stage)
- test_resource_fetcher = spack.fetch_strategy.from_kwargs(
- url=mock_expand_resource.url)
+ test_resource_fetcher = spack.fetch_strategy.from_kwargs(url=mock_expand_resource.url)
# Specify that the resource files are to be placed in the 'resource-dir'
# directory
- test_resource = Resource(
- 'test_resource', test_resource_fetcher, '', 'resource-dir')
- resource_stage = ResourceStage(
- test_resource_fetcher, root_stage, test_resource)
+ test_resource = Resource("test_resource", test_resource_fetcher, "", "resource-dir")
+ resource_stage = ResourceStage(test_resource_fetcher, root_stage, test_resource)
composite_stage.append(resource_stage)
return composite_stage, root_stage, resource_stage, mock_expand_resource
@@ -323,26 +317,30 @@ def composite_stage_with_expanding_resource(
@pytest.fixture
def failing_search_fn():
"""Returns a search function that fails! Always!"""
+
def _mock():
raise Exception("This should not have been called")
+
return _mock
@pytest.fixture
def failing_fetch_strategy():
"""Returns a fetch strategy that fails."""
+
class FailingFetchStrategy(spack.fetch_strategy.FetchStrategy):
def fetch(self):
raise spack.fetch_strategy.FailedDownloadError(
- "<non-existent URL>",
- "This implementation of FetchStrategy always fails"
+ "<non-existent URL>", "This implementation of FetchStrategy always fails"
)
+
return FailingFetchStrategy()
@pytest.fixture
def search_fn():
"""Returns a search function that always succeeds."""
+
class _Mock(object):
performed_search = False
@@ -369,8 +367,7 @@ def check_stage_dir_perms(prefix, path):
# Skip processing prefix ancestors since no guarantee they will be in the
# required group (e.g. $TEMPDIR on HPC machines).
skip = prefix if prefix.endswith(os.sep) else prefix + os.sep
- group_paths, user_node, user_paths = partition_path(path.replace(skip, ""),
- user)
+ group_paths, user_node, user_paths = partition_path(path.replace(skip, ""), user)
for p in group_paths:
p_status = os.stat(os.path.join(prefix, p))
@@ -388,10 +385,10 @@ def check_stage_dir_perms(prefix, path):
assert p_status.st_mode & stat.S_IRWXU == stat.S_IRWXU
-@pytest.mark.usefixtures('mock_packages')
+@pytest.mark.usefixtures("mock_packages")
class TestStage(object):
- stage_name = 'spack-test-stage'
+ stage_name = "spack-test-stage"
def test_setup_and_destroy_name_with_tmp(self, mock_stage_archive):
archive = mock_stage_archive()
@@ -411,13 +408,13 @@ class TestStage(object):
check_setup(stage, None, archive)
check_destroy(stage, None)
- def test_noexpand_stage_file(
- self, mock_stage_archive, mock_noexpand_resource):
+ def test_noexpand_stage_file(self, mock_stage_archive, mock_noexpand_resource):
"""When creating a stage with a nonexpanding URL, the 'archive_file'
property of the stage should refer to the path of that file.
"""
test_noexpand_fetcher = spack.fetch_strategy.from_kwargs(
- url=_file_prefix + mock_noexpand_resource, expand=False)
+ url=_file_prefix + mock_noexpand_resource, expand=False
+ )
with Stage(test_noexpand_fetcher) as stage:
stage.fetch()
stage.expand_archive()
@@ -425,19 +422,19 @@ class TestStage(object):
@pytest.mark.disable_clean_stage_check
def test_composite_stage_with_noexpand_resource(
- self, mock_stage_archive, mock_noexpand_resource):
+ self, mock_stage_archive, mock_noexpand_resource
+ ):
archive = mock_stage_archive()
composite_stage = StageComposite()
root_stage = Stage(archive.url)
composite_stage.append(root_stage)
- resource_dst_name = 'resource-dst-name.sh'
+ resource_dst_name = "resource-dst-name.sh"
test_resource_fetcher = spack.fetch_strategy.from_kwargs(
- url=_file_prefix + mock_noexpand_resource, expand=False)
- test_resource = Resource(
- 'test_resource', test_resource_fetcher, resource_dst_name, None)
- resource_stage = ResourceStage(
- test_resource_fetcher, root_stage, test_resource)
+ url=_file_prefix + mock_noexpand_resource, expand=False
+ )
+ test_resource = Resource("test_resource", test_resource_fetcher, resource_dst_name, None)
+ resource_stage = ResourceStage(test_resource_fetcher, root_stage, test_resource)
composite_stage.append(resource_stage)
composite_stage.create()
@@ -445,15 +442,17 @@ class TestStage(object):
composite_stage.expand_archive()
assert composite_stage.expanded # Archive is expanded
- assert os.path.exists(
- os.path.join(composite_stage.source_path, resource_dst_name))
+ assert os.path.exists(os.path.join(composite_stage.source_path, resource_dst_name))
@pytest.mark.disable_clean_stage_check
- def test_composite_stage_with_expand_resource(
- self, composite_stage_with_expanding_resource):
+ def test_composite_stage_with_expand_resource(self, composite_stage_with_expanding_resource):
- composite_stage, root_stage, resource_stage, mock_resource = (
- composite_stage_with_expanding_resource)
+ (
+ composite_stage,
+ root_stage,
+ resource_stage,
+ mock_resource,
+ ) = composite_stage_with_expanding_resource
composite_stage.create()
composite_stage.fetch()
@@ -462,8 +461,7 @@ class TestStage(object):
assert composite_stage.expanded # Archive is expanded
for fname in mock_resource.files:
- file_path = os.path.join(
- root_stage.source_path, 'resource-dir', fname)
+ file_path = os.path.join(root_stage.source_path, "resource-dir", fname)
assert os.path.exists(file_path)
# Perform a little cleanup
@@ -471,15 +469,20 @@ class TestStage(object):
@pytest.mark.disable_clean_stage_check
def test_composite_stage_with_expand_resource_default_placement(
- self, composite_stage_with_expanding_resource):
+ self, composite_stage_with_expanding_resource
+ ):
"""For a resource which refers to a compressed archive which expands
to a directory, check that by default the resource is placed in
the source_path of the root stage with the name of the decompressed
directory.
"""
- composite_stage, root_stage, resource_stage, mock_resource = (
- composite_stage_with_expanding_resource)
+ (
+ composite_stage,
+ root_stage,
+ resource_stage,
+ mock_resource,
+ ) = composite_stage_with_expanding_resource
resource_stage.resource.placement = None
@@ -488,8 +491,7 @@ class TestStage(object):
composite_stage.expand_archive()
for fname in mock_resource.files:
- file_path = os.path.join(
- root_stage.source_path, 'resource-expand', fname)
+ file_path = os.path.join(root_stage.source_path, "resource-expand", fname)
assert os.path.exists(file_path)
# Perform a little cleanup
@@ -501,30 +503,25 @@ class TestStage(object):
check_setup(stage, None, archive)
check_destroy(stage, None)
- @pytest.mark.parametrize('debug', [False, True])
+ @pytest.mark.parametrize("debug", [False, True])
def test_fetch(self, mock_stage_archive, debug):
archive = mock_stage_archive()
- with spack.config.override('config:debug', debug):
+ with spack.config.override("config:debug", debug):
with Stage(archive.url, name=self.stage_name) as stage:
stage.fetch()
check_setup(stage, self.stage_name, archive)
check_fetch(stage, self.stage_name)
check_destroy(stage, self.stage_name)
- def test_no_search_if_default_succeeds(
- self, mock_stage_archive, failing_search_fn):
+ def test_no_search_if_default_succeeds(self, mock_stage_archive, failing_search_fn):
archive = mock_stage_archive()
- stage = Stage(archive.url, name=self.stage_name,
- search_fn=failing_search_fn)
+ stage = Stage(archive.url, name=self.stage_name, search_fn=failing_search_fn)
with stage:
stage.fetch()
check_destroy(stage, self.stage_name)
- def test_no_search_mirror_only(
- self, failing_fetch_strategy, failing_search_fn):
- stage = Stage(failing_fetch_strategy,
- name=self.stage_name,
- search_fn=failing_search_fn)
+ def test_no_search_mirror_only(self, failing_fetch_strategy, failing_search_fn):
+ stage = Stage(failing_fetch_strategy, name=self.stage_name, search_fn=failing_search_fn)
with stage:
try:
stage.fetch(mirror_only=True)
@@ -533,18 +530,17 @@ class TestStage(object):
check_destroy(stage, self.stage_name)
@pytest.mark.parametrize(
- "err_msg,expected", [('Fetch from fetch.test.com',
- 'Fetch from fetch.test.com'),
- (None, 'All fetchers failed')])
- def test_search_if_default_fails(self, failing_fetch_strategy, search_fn,
- err_msg, expected):
- stage = Stage(failing_fetch_strategy,
- name=self.stage_name,
- search_fn=search_fn)
+ "err_msg,expected",
+ [
+ ("Fetch from fetch.test.com", "Fetch from fetch.test.com"),
+ (None, "All fetchers failed"),
+ ],
+ )
+ def test_search_if_default_fails(self, failing_fetch_strategy, search_fn, err_msg, expected):
+ stage = Stage(failing_fetch_strategy, name=self.stage_name, search_fn=search_fn)
with stage:
- with pytest.raises(spack.fetch_strategy.FetchError,
- match=expected):
+ with pytest.raises(spack.fetch_strategy.FetchError, match=expected):
stage.fetch(mirror_only=False, err_msg=err_msg)
check_destroy(stage, self.stage_name)
@@ -558,11 +554,15 @@ class TestStage(object):
spack.fetch_strategy._ensure_one_stage_entry(stage_path)
check_destroy(stage, self.stage_name)
- @pytest.mark.parametrize("expected_file_list", [
- [],
- [_include_readme],
- [_include_extra, _include_readme],
- [_include_hidden, _include_readme]])
+ @pytest.mark.parametrize(
+ "expected_file_list",
+ [
+ [],
+ [_include_readme],
+ [_include_extra, _include_readme],
+ [_include_hidden, _include_readme],
+ ],
+ )
def test_expand_archive(self, expected_file_list, mock_stage_archive):
archive = mock_stage_archive(expected_file_list)
with Stage(archive.url, name=self.stage_name) as stage:
@@ -595,15 +595,15 @@ class TestStage(object):
check_expand_archive(stage, self.stage_name, [_include_readme])
# Try to make a file in the old archive dir
- with open('foobar', 'w') as file:
+ with open("foobar", "w") as file:
file.write("this file is to be destroyed.")
- assert 'foobar' in os.listdir(stage.source_path)
+ assert "foobar" in os.listdir(stage.source_path)
# Make sure the file is not there after restage.
stage.restage()
check_fetch(stage, self.stage_name)
- assert 'foobar' not in os.listdir(stage.source_path)
+ assert "foobar" not in os.listdir(stage.source_path)
check_destroy(stage, self.stage_name)
def test_no_keep_without_exceptions(self, mock_stage_archive):
@@ -662,14 +662,13 @@ class TestStage(object):
assert source_path.endswith(spack.stage._source_path_subdir)
assert not os.path.exists(source_path)
- @pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
- @pytest.mark.skipif(getuid() == 0, reason='user is root')
+ @pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+ @pytest.mark.skipif(getuid() == 0, reason="user is root")
def test_first_accessible_path(self, tmpdir):
"""Test _first_accessible_path names."""
- spack_dir = tmpdir.join('paths')
+ spack_dir = tmpdir.join("paths")
name = str(spack_dir)
- files = [os.path.join(os.path.sep, 'no', 'such', 'path'), name]
+ files = [os.path.join(os.path.sep, "no", "such", "path"), name]
# Ensure the tmpdir path is returned since the user should have access
path = spack.stage._first_accessible_path(files)
@@ -678,7 +677,7 @@ class TestStage(object):
check_stage_dir_perms(str(tmpdir), path)
# Ensure an existing path is returned
- spack_subdir = spack_dir.join('existing').ensure(dir=True)
+ spack_subdir = spack_dir.join("existing").ensure(dir=True)
subdir = str(spack_subdir)
path = spack.stage._first_accessible_path([subdir])
assert path == subdir
@@ -686,7 +685,7 @@ class TestStage(object):
# Ensure a path with a `$user` node has the right permissions
# for its subdirectories.
user = getpass.getuser()
- user_dir = spack_dir.join(user, 'has', 'paths')
+ user_dir = spack_dir.join(user, "has", "paths")
user_path = str(user_dir)
path = spack.stage._first_accessible_path([user_path])
assert path == user_path
@@ -695,11 +694,10 @@ class TestStage(object):
# Cleanup
shutil.rmtree(str(name))
- @pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+ @pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_create_stage_root(self, tmpdir, no_path_access):
"""Test create_stage_root permissions."""
- test_dir = tmpdir.join('path')
+ test_dir = tmpdir.join("path")
test_path = str(test_dir)
try:
@@ -757,7 +755,7 @@ class TestStage(object):
# m.setattr(os, 'stat', _stat)
# spack.stage.create_stage_root(user_path)
# assert os.stat(user_path).st_uid != os.getuid()
- monkeypatch.setattr(os, 'stat', _stat)
+ monkeypatch.setattr(os, "stat", _stat)
spack.stage.create_stage_root(user_path)
# The following check depends on the patched os.stat as a poor
@@ -769,61 +767,65 @@ class TestStage(object):
assert spack.stage._resolve_paths([]) == []
# resolved path without user appends user
- paths = [os.path.join(os.path.sep, 'a', 'b', 'c')]
+ paths = [os.path.join(os.path.sep, "a", "b", "c")]
user = getpass.getuser()
can_paths = [os.path.join(paths[0], user)]
assert spack.stage._resolve_paths(paths) == can_paths
# resolved path with node including user does not append user
- paths = [os.path.join(os.path.sep, 'spack-{0}'.format(user), 'stage')]
+ paths = [os.path.join(os.path.sep, "spack-{0}".format(user), "stage")]
assert spack.stage._resolve_paths(paths) == paths
- tempdir = '$tempdir'
+ tempdir = "$tempdir"
can_tempdir = canonicalize_path(tempdir)
user = getpass.getuser()
temp_has_user = user in can_tempdir.split(os.sep)
- paths = [os.path.join(tempdir, 'stage'),
- os.path.join(tempdir, '$user'),
- os.path.join(tempdir, '$user', '$user'),
- os.path.join(tempdir, '$user', 'stage', '$user')]
+ paths = [
+ os.path.join(tempdir, "stage"),
+ os.path.join(tempdir, "$user"),
+ os.path.join(tempdir, "$user", "$user"),
+ os.path.join(tempdir, "$user", "stage", "$user"),
+ ]
res_paths = [canonicalize_path(p) for p in paths]
if temp_has_user:
res_paths[1] = can_tempdir
res_paths[2] = os.path.join(can_tempdir, user)
- res_paths[3] = os.path.join(can_tempdir, 'stage', user)
+ res_paths[3] = os.path.join(can_tempdir, "stage", user)
else:
res_paths[0] = os.path.join(res_paths[0], user)
assert spack.stage._resolve_paths(paths) == res_paths
- @pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
- @pytest.mark.skipif(getuid() == 0, reason='user is root')
+ @pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+ @pytest.mark.skipif(getuid() == 0, reason="user is root")
def test_get_stage_root_bad_path(self, clear_stage_root):
"""Ensure an invalid stage path root raises a StageError."""
- with spack.config.override('config:build_stage', '/no/such/path'):
- with pytest.raises(spack.stage.StageError,
- match="No accessible stage paths in"):
+ with spack.config.override("config:build_stage", "/no/such/path"):
+ with pytest.raises(spack.stage.StageError, match="No accessible stage paths in"):
spack.stage.get_stage_root()
# Make sure the cached stage path values are unchanged.
assert spack.stage._stage_root is None
@pytest.mark.parametrize(
- 'path,purged', [('spack-stage-1234567890abcdef1234567890abcdef', True),
- ('spack-stage-anything-goes-here', True),
- ('stage-spack', False)])
+ "path,purged",
+ [
+ ("spack-stage-1234567890abcdef1234567890abcdef", True),
+ ("spack-stage-anything-goes-here", True),
+ ("stage-spack", False),
+ ],
+ )
def test_stage_purge(self, tmpdir, clear_stage_root, path, purged):
"""Test purging of stage directories."""
- stage_dir = tmpdir.join('stage')
+ stage_dir = tmpdir.join("stage")
stage_path = str(stage_dir)
test_dir = stage_dir.join(path)
test_dir.ensure(dir=True)
test_path = str(test_dir)
- with spack.config.override('config:build_stage', stage_path):
+ with spack.config.override("config:build_stage", stage_path):
stage_root = spack.stage.get_stage_root()
assert stage_path == stage_root
@@ -844,7 +846,7 @@ class TestStage(object):
def test_stage_constructor_with_path(self, tmpdir):
"""Ensure Stage constructor with a path uses it."""
testpath = str(tmpdir)
- with Stage('file:///does-not-exist', path=testpath) as stage:
+ with Stage("file:///does-not-exist", path=testpath) as stage:
assert stage.path == testpath
def test_diystage_path_none(self):
@@ -855,7 +857,7 @@ class TestStage(object):
def test_diystage_path_invalid(self):
"""Ensure DIYStage for an invalid path behaves as expected."""
with pytest.raises(spack.stage.StagePathError):
- DIYStage('/path/does/not/exist')
+ DIYStage("/path/does/not/exist")
def test_diystage_path_valid(self, tmpdir):
"""Ensure DIYStage for a valid path behaves as expected."""
@@ -904,31 +906,29 @@ class TestStage(object):
_file.read() == _readme_contents
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_stage_create_replace_path(tmp_build_stage_dir):
"""Ensure stage creation replaces a non-directory path."""
_, test_stage_path = tmp_build_stage_dir
mkdirp(test_stage_path)
- nondir = os.path.join(test_stage_path, 'afile')
+ nondir = os.path.join(test_stage_path, "afile")
touch(nondir)
path = str(nondir)
- stage = Stage(path, name='')
+ stage = Stage(path, name="")
stage.create()
# Ensure the stage path is "converted" to a directory
assert os.path.isdir(stage.path)
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_cannot_access(capsys):
"""Ensure can_access dies with the expected error."""
with pytest.raises(SystemExit):
# It's far more portable to use a non-existent filename.
- spack.stage.ensure_access('/no/such/file')
+ spack.stage.ensure_access("/no/such/file")
captured = capsys.readouterr()
- assert 'Insufficient permissions' in str(captured)
+ assert "Insufficient permissions" in str(captured)
diff --git a/lib/spack/spack/test/svn_fetch.py b/lib/spack/spack/test/svn_fetch.py
index 1e6bbb6ed0..4a5a9a5517 100644
--- a/lib/spack/spack/test/svn_fetch.py
+++ b/lib/spack/spack/test/svn_fetch.py
@@ -18,23 +18,17 @@ from spack.stage import Stage
from spack.util.executable import which
from spack.version import ver
-pytestmark = [pytest.mark.skipif(
- not which('svn') or not which('svnadmin'),
- reason='requires subversion to be installed'),
- pytest.mark.skipif(sys.platform == "win32",
- reason="does not run on windows")]
+pytestmark = [
+ pytest.mark.skipif(
+ not which("svn") or not which("svnadmin"), reason="requires subversion to be installed"
+ ),
+ pytest.mark.skipif(sys.platform == "win32", reason="does not run on windows"),
+]
-@pytest.mark.parametrize("type_of_test", ['default', 'rev0'])
+@pytest.mark.parametrize("type_of_test", ["default", "rev0"])
@pytest.mark.parametrize("secure", [True, False])
-def test_fetch(
- type_of_test,
- secure,
- mock_svn_repository,
- config,
- mutable_mock_repo,
- monkeypatch
-):
+def test_fetch(type_of_test, secure, mock_svn_repository, config, mutable_mock_repo, monkeypatch):
"""Tries to:
1. Fetch the repo using a fetch strategy constructed with
@@ -49,12 +43,12 @@ def test_fetch(
h = mock_svn_repository.hash
# Construct the package under test
- s = Spec('svn-test').concretized()
- monkeypatch.setitem(s.package.versions, ver('svn'), t.args)
+ s = Spec("svn-test").concretized()
+ monkeypatch.setitem(s.package.versions, ver("svn"), t.args)
# Enter the stage directory and check some properties
with s.package.stage:
- with spack.config.override('config:verify_ssl', secure):
+ with spack.config.override("config:verify_ssl", secure):
s.package.do_stage()
with working_dir(s.package.stage.source_path):
@@ -67,7 +61,7 @@ def test_fetch(
os.unlink(file_path)
assert not os.path.isfile(file_path)
- untracked_file = 'foobarbaz'
+ untracked_file = "foobarbaz"
touch(untracked_file)
assert os.path.isfile(untracked_file)
s.package.do_restage()
@@ -83,7 +77,7 @@ def test_svn_extra_fetch(tmpdir):
"""Ensure a fetch after downloading is effectively a no-op."""
testpath = str(tmpdir)
- fetcher = SvnFetchStrategy(svn='file:///not-a-real-svn-repo')
+ fetcher = SvnFetchStrategy(svn="file:///not-a-real-svn-repo")
assert fetcher is not None
with Stage(fetcher, path=testpath) as stage:
diff --git a/lib/spack/spack/test/tag.py b/lib/spack/spack/test/tag.py
index 92445dd5cf..6e43ef7d1c 100644
--- a/lib/spack/spack/test/tag.py
+++ b/lib/spack/spack/test/tag.py
@@ -11,11 +11,10 @@ import spack.cmd.install
import spack.tag
from spack.main import SpackCommand
-install = SpackCommand('install')
+install = SpackCommand("install")
# Alternate representation
-tags_json = \
- """
+tags_json = """
{
"tags": {
"no-version": [
@@ -29,8 +28,7 @@ tags_json = \
}
"""
-more_tags_json = \
- """
+more_tags_json = """
{
"tags": {
"merge": [
@@ -51,9 +49,9 @@ def test_tag_copy(mock_packages):
def test_tag_get_all_available(mock_packages):
for skip in [False, True]:
all_pkgs = spack.tag.packages_with_tags(None, False, skip)
- assert sorted(all_pkgs['tag1']) == ['mpich', 'mpich2']
- assert all_pkgs['tag2'] == ['mpich']
- assert all_pkgs['tag3'] == ['mpich2']
+ assert sorted(all_pkgs["tag1"]) == ["mpich", "mpich2"]
+ assert all_pkgs["tag2"] == ["mpich"]
+ assert all_pkgs["tag3"] == ["mpich2"]
def ensure_tags_results_equal(results, expected):
@@ -65,12 +63,15 @@ def ensure_tags_results_equal(results, expected):
assert results == expected
-@pytest.mark.parametrize('tags,expected', [
- (['tag1'], {'tag1': ['mpich', 'mpich2']}),
- (['tag2'], {'tag2': ['mpich']}),
- (['tag3'], {'tag3': ['mpich2']}),
- (['nosuchpackage'], {'nosuchpackage': {}}),
-])
+@pytest.mark.parametrize(
+ "tags,expected",
+ [
+ (["tag1"], {"tag1": ["mpich", "mpich2"]}),
+ (["tag2"], {"tag2": ["mpich"]}),
+ (["tag3"], {"tag3": ["mpich2"]}),
+ (["nosuchpackage"], {"nosuchpackage": {}}),
+ ],
+)
def test_tag_get_available(tags, expected, mock_packages):
# Ensure results for all tags
all_tag_pkgs = spack.tag.packages_with_tags(tags, False, False)
@@ -84,15 +85,14 @@ def test_tag_get_available(tags, expected, mock_packages):
assert not only_pkgs
-def test_tag_get_installed_packages(
- mock_packages, mock_archive, mock_fetch, install_mockery):
- install('mpich')
+def test_tag_get_installed_packages(mock_packages, mock_archive, mock_fetch, install_mockery):
+ install("mpich")
for skip in [False, True]:
all_pkgs = spack.tag.packages_with_tags(None, True, skip)
- assert sorted(all_pkgs['tag1']) == ['mpich']
- assert all_pkgs['tag2'] == ['mpich']
- assert skip or all_pkgs['tag3'] == []
+ assert sorted(all_pkgs["tag1"]) == ["mpich"]
+ assert all_pkgs["tag2"] == ["mpich"]
+ assert skip or all_pkgs["tag3"] == []
def test_tag_index_round_trip(mock_packages):
@@ -144,7 +144,7 @@ def test_tag_not_dict():
def test_tag_no_tags():
- pkg_json = "{\"packages\": []}"
+ pkg_json = '{"packages": []}'
with pytest.raises(spack.tag.TagIndexError) as e:
spack.tag.TagIndex.from_json(StringIO(pkg_json))
assert "does not start with" in str(e)
diff --git a/lib/spack/spack/test/tengine.py b/lib/spack/spack/test/tengine.py
index af653c390a..801568b409 100644
--- a/lib/spack/spack/test/tengine.py
+++ b/lib/spack/spack/test/tengine.py
@@ -12,7 +12,6 @@ from spack.util.path import canonicalize_path
class TestContext(object):
-
class A(tengine.Context):
@tengine.context_property
def foo(self):
@@ -42,37 +41,36 @@ class TestContext(object):
d = a.to_dict()
assert len(d) == 1
- assert 'foo' in d
- assert d['foo'] == 1
+ assert "foo" in d
+ assert d["foo"] == 1
# So does B
b = TestContext.B()
d = b.to_dict()
assert len(d) == 1
- assert 'bar' in d
- assert d['bar'] == 2
+ assert "bar" in d
+ assert d["bar"] == 2
# C derives from both and overrides 'foo'
c = TestContext.C()
d = c.to_dict()
assert len(d) == 3
- for x in ('foo', 'bar', 'foobar'):
+ for x in ("foo", "bar", "foobar"):
assert x in d
- assert d['foo'] == 10
- assert d['bar'] == 2
- assert d['foobar'] == 3
+ assert d["foo"] == 10
+ assert d["bar"] == 2
+ assert d["foobar"] == 3
-@pytest.mark.usefixtures('config')
+@pytest.mark.usefixtures("config")
class TestTengineEnvironment(object):
-
def test_template_retrieval(self):
"""Tests the template retrieval mechanism hooked into config files"""
# Check the directories are correct
- template_dirs = spack.config.get('config:template_dirs')
+ template_dirs = spack.config.get("config:template_dirs")
template_dirs = [canonicalize_path(x) for x in template_dirs]
assert len(template_dirs) == 3
@@ -80,12 +78,12 @@ class TestTengineEnvironment(object):
# Retrieve a.txt, which resides in the second
# template directory specified in the mock configuration
- template = env.get_template('a.txt')
- text = template.render({'word': 'world'})
- assert 'Hello world!' == text
+ template = env.get_template("a.txt")
+ text = template.render({"word": "world"})
+ assert "Hello world!" == text
# Retrieve b.txt, which resides in the third
# template directory specified in the mock configuration
- template = env.get_template('b.txt')
- text = template.render({'word': 'world'})
- assert 'Howdy world!' == text
+ template = env.get_template("b.txt")
+ text = template.render({"word": "world"})
+ assert "Howdy world!" == text
diff --git a/lib/spack/spack/test/test_activations.py b/lib/spack/spack/test/test_activations.py
index a4439f9596..a3addccea7 100644
--- a/lib/spack/spack/test/test_activations.py
+++ b/lib/spack/spack/test/test_activations.py
@@ -20,9 +20,11 @@ from spack.directory_layout import DirectoryLayout
from spack.filesystem_view import YamlFilesystemView
from spack.repo import RepoPath
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Python activation not \
- currently supported on Windows")
+pytestmark = pytest.mark.skipif(
+ sys.platform == "win32",
+ reason="Python activation not \
+ currently supported on Windows",
+)
def create_ext_pkg(name, prefix, extendee_spec, monkeypatch):
@@ -38,8 +40,7 @@ def create_ext_pkg(name, prefix, extendee_spec, monkeypatch):
return ext_pkg
-def create_python_ext_pkg(name, prefix, python_spec, monkeypatch,
- namespace=None):
+def create_python_ext_pkg(name, prefix, python_spec, monkeypatch, namespace=None):
ext_pkg = create_ext_pkg(name, prefix, python_spec, monkeypatch)
ext_pkg.py_namespace = namespace
return ext_pkg
@@ -47,7 +48,7 @@ def create_python_ext_pkg(name, prefix, python_spec, monkeypatch,
def create_dir_structure(tmpdir, dir_structure):
for fname, children in dir_structure.items():
- tmpdir.ensure(fname, dir=fname.endswith('/'))
+ tmpdir.ensure(fname, dir=fname.endswith("/"))
if children:
create_dir_structure(tmpdir.join(fname), children)
@@ -67,48 +68,31 @@ def builtin_and_mock_packages():
@pytest.fixture()
def python_and_extension_dirs(tmpdir, builtin_and_mock_packages):
- python_dirs = {
- 'bin/': {
- 'python': None
- },
- 'lib/': {
- 'python2.7/': {
- 'site-packages/': None
- }
- }
- }
+ python_dirs = {"bin/": {"python": None}, "lib/": {"python2.7/": {"site-packages/": None}}}
- python_name = 'python'
+ python_name = "python"
python_prefix = tmpdir.join(python_name)
create_dir_structure(python_prefix, python_dirs)
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
python_spec.package.spec.prefix = str(python_prefix)
ext_dirs = {
- 'bin/': {
- 'py-ext-tool': None
- },
- 'lib/': {
- 'python2.7/': {
- 'site-packages/': {
- 'py-extension1/': {
- 'sample.py': None
- }
- }
- }
- }
+ "bin/": {"py-ext-tool": None},
+ "lib/": {"python2.7/": {"site-packages/": {"py-extension1/": {"sample.py": None}}}},
}
- ext_name = 'py-extension1'
+ ext_name = "py-extension1"
ext_prefix = tmpdir.join(ext_name)
create_dir_structure(ext_prefix, ext_dirs)
- easy_install_location = 'lib/python2.7/site-packages/easy-install.pth'
- with open(str(ext_prefix.join(easy_install_location)), 'w') as f:
- f.write("""path/to/ext1.egg
-path/to/setuptools.egg""")
+ easy_install_location = "lib/python2.7/site-packages/easy-install.pth"
+ with open(str(ext_prefix.join(easy_install_location)), "w") as f:
+ f.write(
+ """path/to/ext1.egg
+path/to/setuptools.egg"""
+ )
return str(python_prefix), str(ext_prefix)
@@ -116,111 +100,104 @@ path/to/setuptools.egg""")
@pytest.fixture()
def namespace_extensions(tmpdir, builtin_and_mock_packages):
ext1_dirs = {
- 'bin/': {
- 'py-ext-tool1': None
- },
- 'lib/': {
- 'python2.7/': {
- 'site-packages/': {
- 'examplenamespace/': {
- '__init__.py': None,
- 'ext1_sample.py': None
- }
+ "bin/": {"py-ext-tool1": None},
+ "lib/": {
+ "python2.7/": {
+ "site-packages/": {
+ "examplenamespace/": {"__init__.py": None, "ext1_sample.py": None}
}
}
- }
+ },
}
ext2_dirs = {
- 'bin/': {
- 'py-ext-tool2': None
- },
- 'lib/': {
- 'python2.7/': {
- 'site-packages/': {
- 'examplenamespace/': {
- '__init__.py': None,
- 'ext2_sample.py': None
- }
+ "bin/": {"py-ext-tool2": None},
+ "lib/": {
+ "python2.7/": {
+ "site-packages/": {
+ "examplenamespace/": {"__init__.py": None, "ext2_sample.py": None}
}
}
- }
+ },
}
- ext1_name = 'py-extension1'
+ ext1_name = "py-extension1"
ext1_prefix = tmpdir.join(ext1_name)
create_dir_structure(ext1_prefix, ext1_dirs)
- ext2_name = 'py-extension2'
+ ext2_name = "py-extension2"
ext2_prefix = tmpdir.join(ext2_name)
create_dir_structure(ext2_prefix, ext2_dirs)
- return str(ext1_prefix), str(ext2_prefix), 'examplenamespace'
+ return str(ext1_prefix), str(ext2_prefix), "examplenamespace"
-def test_python_activation_with_files(tmpdir, python_and_extension_dirs,
- monkeypatch, builtin_and_mock_packages):
+def test_python_activation_with_files(
+ tmpdir, python_and_extension_dirs, monkeypatch, builtin_and_mock_packages
+):
python_prefix, ext_prefix = python_and_extension_dirs
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
python_spec.package.spec.prefix = python_prefix
- ext_pkg = create_python_ext_pkg(
- 'py-extension1', ext_prefix, python_spec, monkeypatch)
+ ext_pkg = create_python_ext_pkg("py-extension1", ext_prefix, python_spec, monkeypatch)
python_pkg = python_spec.package
python_pkg.activate(ext_pkg, python_pkg.view())
- assert os.path.exists(os.path.join(python_prefix, 'bin/py-ext-tool'))
+ assert os.path.exists(os.path.join(python_prefix, "bin/py-ext-tool"))
- easy_install_location = 'lib/python2.7/site-packages/easy-install.pth'
- with open(os.path.join(python_prefix, easy_install_location), 'r') as f:
+ easy_install_location = "lib/python2.7/site-packages/easy-install.pth"
+ with open(os.path.join(python_prefix, easy_install_location), "r") as f:
easy_install_contents = f.read()
- assert 'ext1.egg' in easy_install_contents
- assert 'setuptools.egg' not in easy_install_contents
+ assert "ext1.egg" in easy_install_contents
+ assert "setuptools.egg" not in easy_install_contents
-def test_python_activation_view(tmpdir, python_and_extension_dirs,
- builtin_and_mock_packages, monkeypatch):
+def test_python_activation_view(
+ tmpdir, python_and_extension_dirs, builtin_and_mock_packages, monkeypatch
+):
python_prefix, ext_prefix = python_and_extension_dirs
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
python_spec.package.spec.prefix = python_prefix
- ext_pkg = create_python_ext_pkg('py-extension1', ext_prefix, python_spec,
- monkeypatch)
+ ext_pkg = create_python_ext_pkg("py-extension1", ext_prefix, python_spec, monkeypatch)
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
python_pkg = python_spec.package
python_pkg.activate(ext_pkg, view)
- assert not os.path.exists(os.path.join(python_prefix, 'bin/py-ext-tool'))
+ assert not os.path.exists(os.path.join(python_prefix, "bin/py-ext-tool"))
- assert os.path.exists(os.path.join(view_dir, 'bin/py-ext-tool'))
+ assert os.path.exists(os.path.join(view_dir, "bin/py-ext-tool"))
def test_python_ignore_namespace_init_conflict(
- tmpdir, namespace_extensions, builtin_and_mock_packages, monkeypatch):
+ tmpdir, namespace_extensions, builtin_and_mock_packages, monkeypatch
+):
"""Test the view update logic in PythonPackage ignores conflicting
- instances of __init__ for packages which are in the same namespace.
+ instances of __init__ for packages which are in the same namespace.
"""
ext1_prefix, ext2_prefix, py_namespace = namespace_extensions
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
- ext1_pkg = create_python_ext_pkg('py-extension1', ext1_prefix, python_spec,
- monkeypatch, py_namespace)
- ext2_pkg = create_python_ext_pkg('py-extension2', ext2_prefix, python_spec,
- monkeypatch, py_namespace)
+ ext1_pkg = create_python_ext_pkg(
+ "py-extension1", ext1_prefix, python_spec, monkeypatch, py_namespace
+ )
+ ext2_pkg = create_python_ext_pkg(
+ "py-extension2", ext2_prefix, python_spec, monkeypatch, py_namespace
+ )
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
@@ -230,9 +207,9 @@ def test_python_ignore_namespace_init_conflict(
view.extensions_layout.add_extension(python_spec, ext1_pkg.spec)
python_pkg.activate(ext2_pkg, view)
- f1 = 'lib/python2.7/site-packages/examplenamespace/ext1_sample.py'
- f2 = 'lib/python2.7/site-packages/examplenamespace/ext2_sample.py'
- init_file = 'lib/python2.7/site-packages/examplenamespace/__init__.py'
+ f1 = "lib/python2.7/site-packages/examplenamespace/ext1_sample.py"
+ f2 = "lib/python2.7/site-packages/examplenamespace/ext2_sample.py"
+ init_file = "lib/python2.7/site-packages/examplenamespace/__init__.py"
assert os.path.exists(os.path.join(view_dir, f1))
assert os.path.exists(os.path.join(view_dir, f2))
@@ -240,22 +217,25 @@ def test_python_ignore_namespace_init_conflict(
def test_python_keep_namespace_init(
- tmpdir, namespace_extensions, builtin_and_mock_packages, monkeypatch):
+ tmpdir, namespace_extensions, builtin_and_mock_packages, monkeypatch
+):
"""Test the view update logic in PythonPackage keeps the namespace
- __init__ file as long as one package in the namespace still
- exists.
+ __init__ file as long as one package in the namespace still
+ exists.
"""
ext1_prefix, ext2_prefix, py_namespace = namespace_extensions
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
- ext1_pkg = create_python_ext_pkg('py-extension1', ext1_prefix, python_spec,
- monkeypatch, py_namespace)
- ext2_pkg = create_python_ext_pkg('py-extension2', ext2_prefix, python_spec,
- monkeypatch, py_namespace)
+ ext1_pkg = create_python_ext_pkg(
+ "py-extension1", ext1_prefix, python_spec, monkeypatch, py_namespace
+ )
+ ext2_pkg = create_python_ext_pkg(
+ "py-extension2", ext2_prefix, python_spec, monkeypatch, py_namespace
+ )
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
@@ -266,8 +246,8 @@ def test_python_keep_namespace_init(
python_pkg.activate(ext2_pkg, view)
view.extensions_layout.add_extension(python_spec, ext2_pkg.spec)
- f1 = 'lib/python2.7/site-packages/examplenamespace/ext1_sample.py'
- init_file = 'lib/python2.7/site-packages/examplenamespace/__init__.py'
+ f1 = "lib/python2.7/site-packages/examplenamespace/ext1_sample.py"
+ init_file = "lib/python2.7/site-packages/examplenamespace/__init__.py"
python_pkg.deactivate(ext1_pkg, view)
view.extensions_layout.remove_extension(python_spec, ext1_pkg.spec)
@@ -281,24 +261,27 @@ def test_python_keep_namespace_init(
assert not os.path.exists(os.path.join(view_dir, init_file))
-def test_python_namespace_conflict(tmpdir, namespace_extensions,
- monkeypatch, builtin_and_mock_packages):
+def test_python_namespace_conflict(
+ tmpdir, namespace_extensions, monkeypatch, builtin_and_mock_packages
+):
"""Test the view update logic in PythonPackage reports an error when two
- python extensions with different namespaces have a conflicting __init__
- file.
+ python extensions with different namespaces have a conflicting __init__
+ file.
"""
ext1_prefix, ext2_prefix, py_namespace = namespace_extensions
- other_namespace = py_namespace + 'other'
+ other_namespace = py_namespace + "other"
- python_spec = spack.spec.Spec('python@2.7.12')
+ python_spec = spack.spec.Spec("python@2.7.12")
python_spec._concrete = True
- ext1_pkg = create_python_ext_pkg('py-extension1', ext1_prefix, python_spec,
- monkeypatch, py_namespace)
- ext2_pkg = create_python_ext_pkg('py-extension2', ext2_prefix, python_spec,
- monkeypatch, other_namespace)
+ ext1_pkg = create_python_ext_pkg(
+ "py-extension1", ext1_prefix, python_spec, monkeypatch, py_namespace
+ )
+ ext2_pkg = create_python_ext_pkg(
+ "py-extension2", ext2_prefix, python_spec, monkeypatch, other_namespace
+ )
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
@@ -312,43 +295,24 @@ def test_python_namespace_conflict(tmpdir, namespace_extensions,
@pytest.fixture()
def perl_and_extension_dirs(tmpdir, builtin_and_mock_packages):
perl_dirs = {
- 'bin/': {
- 'perl': None
- },
- 'lib/': {
- 'site_perl/': {
- '5.24.1/': {
- 'x86_64-linux/': None
- }
- }
- }
+ "bin/": {"perl": None},
+ "lib/": {"site_perl/": {"5.24.1/": {"x86_64-linux/": None}}},
}
- perl_name = 'perl'
+ perl_name = "perl"
perl_prefix = tmpdir.join(perl_name)
create_dir_structure(perl_prefix, perl_dirs)
- perl_spec = spack.spec.Spec('perl@5.24.1')
+ perl_spec = spack.spec.Spec("perl@5.24.1")
perl_spec._concrete = True
perl_spec.package.spec.prefix = str(perl_prefix)
ext_dirs = {
- 'bin/': {
- 'perl-ext-tool': None
- },
- 'lib/': {
- 'site_perl/': {
- '5.24.1/': {
- 'x86_64-linux/': {
- 'TestExt/': {
- }
- }
- }
- }
- }
+ "bin/": {"perl-ext-tool": None},
+ "lib/": {"site_perl/": {"5.24.1/": {"x86_64-linux/": {"TestExt/": {}}}}},
}
- ext_name = 'perl-extension'
+ ext_name = "perl-extension"
ext_prefix = tmpdir.join(ext_name)
create_dir_structure(ext_prefix, ext_dirs)
@@ -357,10 +321,10 @@ def perl_and_extension_dirs(tmpdir, builtin_and_mock_packages):
def test_perl_activation(tmpdir, builtin_and_mock_packages, monkeypatch):
# Note the lib directory is based partly on the perl version
- perl_spec = spack.spec.Spec('perl@5.24.1')
+ perl_spec = spack.spec.Spec("perl@5.24.1")
perl_spec._concrete = True
- perl_name = 'perl'
+ perl_name = "perl"
tmpdir.ensure(perl_name, dir=True)
perl_prefix = str(tmpdir.join(perl_name))
@@ -368,76 +332,73 @@ def test_perl_activation(tmpdir, builtin_and_mock_packages, monkeypatch):
# the original spec
perl_spec.package.spec.prefix = perl_prefix
- ext_name = 'perl-extension'
+ ext_name = "perl-extension"
tmpdir.ensure(ext_name, dir=True)
- ext_pkg = create_ext_pkg(
- ext_name, str(tmpdir.join(ext_name)), perl_spec, monkeypatch)
+ ext_pkg = create_ext_pkg(ext_name, str(tmpdir.join(ext_name)), perl_spec, monkeypatch)
perl_pkg = perl_spec.package
perl_pkg.activate(ext_pkg, perl_pkg.view())
-def test_perl_activation_with_files(tmpdir, perl_and_extension_dirs,
- monkeypatch, builtin_and_mock_packages):
+def test_perl_activation_with_files(
+ tmpdir, perl_and_extension_dirs, monkeypatch, builtin_and_mock_packages
+):
perl_prefix, ext_prefix = perl_and_extension_dirs
- perl_spec = spack.spec.Spec('perl@5.24.1')
+ perl_spec = spack.spec.Spec("perl@5.24.1")
perl_spec._concrete = True
perl_spec.package.spec.prefix = perl_prefix
- ext_pkg = create_ext_pkg(
- 'perl-extension', ext_prefix, perl_spec, monkeypatch)
+ ext_pkg = create_ext_pkg("perl-extension", ext_prefix, perl_spec, monkeypatch)
perl_pkg = perl_spec.package
perl_pkg.activate(ext_pkg, perl_pkg.view())
- assert os.path.exists(os.path.join(perl_prefix, 'bin/perl-ext-tool'))
+ assert os.path.exists(os.path.join(perl_prefix, "bin/perl-ext-tool"))
-def test_perl_activation_view(tmpdir, perl_and_extension_dirs,
- monkeypatch, builtin_and_mock_packages):
+def test_perl_activation_view(
+ tmpdir, perl_and_extension_dirs, monkeypatch, builtin_and_mock_packages
+):
perl_prefix, ext_prefix = perl_and_extension_dirs
- perl_spec = spack.spec.Spec('perl@5.24.1')
+ perl_spec = spack.spec.Spec("perl@5.24.1")
perl_spec._concrete = True
perl_spec.package.spec.prefix = perl_prefix
- ext_pkg = create_ext_pkg(
- 'perl-extension', ext_prefix, perl_spec, monkeypatch)
+ ext_pkg = create_ext_pkg("perl-extension", ext_prefix, perl_spec, monkeypatch)
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
perl_pkg = perl_spec.package
perl_pkg.activate(ext_pkg, view)
- assert not os.path.exists(os.path.join(perl_prefix, 'bin/perl-ext-tool'))
+ assert not os.path.exists(os.path.join(perl_prefix, "bin/perl-ext-tool"))
- assert os.path.exists(os.path.join(view_dir, 'bin/perl-ext-tool'))
+ assert os.path.exists(os.path.join(view_dir, "bin/perl-ext-tool"))
-def test_is_activated_upstream_extendee(tmpdir, builtin_and_mock_packages,
- monkeypatch):
+def test_is_activated_upstream_extendee(tmpdir, builtin_and_mock_packages, monkeypatch):
"""When an extendee is installed upstream, make sure that the extension
spec is never considered to be globally activated for it.
"""
- extendee_spec = spack.spec.Spec('python')
+ extendee_spec = spack.spec.Spec("python")
extendee_spec._concrete = True
- python_name = 'python'
+ python_name = "python"
tmpdir.ensure(python_name, dir=True)
python_prefix = str(tmpdir.join(python_name))
# Set the prefix on the package's spec reference because that is a copy of
# the original spec
extendee_spec.package.spec.prefix = python_prefix
- monkeypatch.setattr(extendee_spec.__class__, 'installed_upstream', True)
+ monkeypatch.setattr(extendee_spec.__class__, "installed_upstream", True)
- ext_name = 'py-extension1'
+ ext_name = "py-extension1"
tmpdir.ensure(ext_name, dir=True)
- ext_pkg = create_ext_pkg(
- ext_name, str(tmpdir.join(ext_name)), extendee_spec, monkeypatch)
+ ext_pkg = create_ext_pkg(ext_name, str(tmpdir.join(ext_name)), extendee_spec, monkeypatch)
# The view should not be checked at all if the extendee is installed
# upstream, so use 'None' here
diff --git a/lib/spack/spack/test/test_suite.py b/lib/spack/spack/test/test_suite.py
index 20d7172eea..0f3fe97f90 100644
--- a/lib/spack/spack/test/test_suite.py
+++ b/lib/spack/spack/test/test_suite.py
@@ -12,15 +12,14 @@ import llnl.util.filesystem as fs
import spack.install_test
import spack.spec
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Tests fail on Windows")
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="Tests fail on Windows")
def test_test_log_pathname(mock_packages, config):
"""Ensure test log path is reasonable."""
- spec = spack.spec.Spec('libdwarf').concretized()
+ spec = spack.spec.Spec("libdwarf").concretized()
- test_name = 'test_name'
+ test_name = "test_name"
test_suite = spack.install_test.TestSuite([spec], test_name)
logfile = test_suite.log_file_for_spec(spec)
@@ -31,9 +30,9 @@ def test_test_log_pathname(mock_packages, config):
def test_test_ensure_stage(mock_test_stage):
"""Make sure test stage directory is properly set up."""
- spec = spack.spec.Spec('libdwarf').concretized()
+ spec = spack.spec.Spec("libdwarf").concretized()
- test_name = 'test_name'
+ test_name = "test_name"
test_suite = spack.install_test.TestSuite([spec], test_name)
test_suite.ensure_stage()
@@ -44,16 +43,16 @@ def test_test_ensure_stage(mock_test_stage):
def test_write_test_result(mock_packages, mock_test_stage):
"""Ensure test results written to a results file."""
- spec = spack.spec.Spec('libdwarf').concretized()
- result = 'TEST'
- test_name = 'write-test'
+ spec = spack.spec.Spec("libdwarf").concretized()
+ result = "TEST"
+ test_name = "write-test"
test_suite = spack.install_test.TestSuite([spec], test_name)
test_suite.ensure_stage()
results_file = test_suite.results_file
test_suite.write_test_result(spec, result)
- with open(results_file, 'r') as f:
+ with open(results_file, "r") as f:
lines = f.readlines()
assert len(lines) == 1
@@ -64,9 +63,9 @@ def test_write_test_result(mock_packages, mock_test_stage):
def test_do_test(mock_packages, install_mockery, mock_test_stage):
"""Perform a stand-alone test with files to copy."""
- spec = spack.spec.Spec('trivial-smoke-test').concretized()
- test_name = 'test_do_test'
- test_filename = 'test_file.in'
+ spec = spack.spec.Spec("trivial-smoke-test").concretized()
+ test_name = "test_do_test"
+ test_filename = "test_file.in"
pkg = spec.package
pkg.create_extra_test_source()
@@ -78,10 +77,8 @@ def test_do_test(mock_packages, install_mockery, mock_test_stage):
# Save off target paths for current spec since test suite processing
# assumes testing multiple specs.
- cached_filename = fs.join_path(test_suite.current_test_cache_dir,
- pkg.test_source_filename)
- data_filename = fs.join_path(test_suite.current_test_data_dir,
- test_filename)
+ cached_filename = fs.join_path(test_suite.current_test_cache_dir, pkg.test_source_filename)
+ data_filename = fs.join_path(test_suite.current_test_data_dir, test_filename)
# Run the test, making sure to retain the test stage directory
# so we can ensure the files were copied.
@@ -91,15 +88,17 @@ def test_do_test(mock_packages, install_mockery, mock_test_stage):
assert os.path.exists(data_filename)
-@pytest.mark.parametrize('arguments,status,msg', [
- ({}, 'SKIPPED', 'Skipped'),
- ({'externals': True}, 'NO-TESTS', 'No tests'),
-])
-def test_test_external(mock_packages, install_mockery, mock_test_stage,
- arguments, status, msg):
+@pytest.mark.parametrize(
+ "arguments,status,msg",
+ [
+ ({}, "SKIPPED", "Skipped"),
+ ({"externals": True}, "NO-TESTS", "No tests"),
+ ],
+)
+def test_test_external(mock_packages, install_mockery, mock_test_stage, arguments, status, msg):
def ensure_results(filename, expected):
assert os.path.exists(filename)
- with open(filename, 'r') as fd:
+ with open(filename, "r") as fd:
lines = fd.readlines()
have = False
for line in lines:
@@ -108,9 +107,9 @@ def test_test_external(mock_packages, install_mockery, mock_test_stage,
break
assert have
- name = 'trivial-smoke-test'
+ name = "trivial-smoke-test"
spec = spack.spec.Spec(name).concretized()
- spec.external_path = '/path/to/external/{0}'.format(name)
+ spec.external_path = "/path/to/external/{0}".format(name)
test_suite = spack.install_test.TestSuite([spec])
test_suite(**arguments)
@@ -127,8 +126,8 @@ def test_test_stage_caches(mock_packages, install_mockery, mock_test_stage):
with pytest.raises(spack.install_test.TestSuiteSpecError):
_ = test_suite.current_test_data_dir
- spec = spack.spec.Spec('libelf').concretized()
- test_suite = spack.install_test.TestSuite([spec], 'test-cache')
+ spec = spack.spec.Spec("libelf").concretized()
+ test_suite = spack.install_test.TestSuite([spec], "test-cache")
# Check no current specs yield failure
ensure_current_cache_fail(test_suite)
@@ -145,8 +144,8 @@ def test_test_stage_caches(mock_packages, install_mockery, mock_test_stage):
def test_test_spec_run_once(mock_packages, install_mockery, mock_test_stage):
- spec = spack.spec.Spec('libelf').concretized()
- test_suite = spack.install_test.TestSuite([spec], 'test-dups')
+ spec = spack.spec.Spec("libelf").concretized()
+ test_suite = spack.install_test.TestSuite([spec], "test-dups")
(test_suite.specs[0]).package.test_suite = test_suite
with pytest.raises(spack.install_test.TestSuiteFailure):
@@ -154,16 +153,16 @@ def test_test_spec_run_once(mock_packages, install_mockery, mock_test_stage):
def test_test_spec_verbose(mock_packages, install_mockery, mock_test_stage):
- spec = spack.spec.Spec('simple-standalone-test').concretized()
+ spec = spack.spec.Spec("simple-standalone-test").concretized()
test_suite = spack.install_test.TestSuite([spec])
test_suite(verbose=True)
passed, msg = False, False
- with open(test_suite.log_file_for_spec(spec), 'r') as fd:
+ with open(test_suite.log_file_for_spec(spec), "r") as fd:
for line in fd:
- if 'simple stand-alone test' in line:
+ if "simple stand-alone test" in line:
msg = True
- elif 'PASSED' in line:
+ elif "PASSED" in line:
passed = True
assert msg
@@ -171,19 +170,19 @@ def test_test_spec_verbose(mock_packages, install_mockery, mock_test_stage):
def test_get_test_suite():
- assert not spack.install_test.get_test_suite('nothing')
+ assert not spack.install_test.get_test_suite("nothing")
def test_get_test_suite_no_name(mock_packages, mock_test_stage):
with pytest.raises(spack.install_test.TestSuiteNameError) as exc_info:
- spack.install_test.get_test_suite('')
+ spack.install_test.get_test_suite("")
- assert 'name is required' in str(exc_info)
+ assert "name is required" in str(exc_info)
def test_get_test_suite_too_many(mock_packages, mock_test_stage):
test_suites = []
- name = 'duplicate-alias'
+ name = "duplicate-alias"
def add_suite(package):
spec = spack.spec.Spec(package).concretized()
@@ -192,11 +191,11 @@ def test_get_test_suite_too_many(mock_packages, mock_test_stage):
spack.install_test.write_test_suite_file(suite)
test_suites.append(suite)
- add_suite('libdwarf')
+ add_suite("libdwarf")
suite = spack.install_test.get_test_suite(name)
assert suite.alias == name
- add_suite('libelf')
+ add_suite("libelf")
with pytest.raises(spack.install_test.TestSuiteNameError) as exc_info:
spack.install_test.get_test_suite(name)
- assert 'many suites named' in str(exc_info)
+ assert "many suites named" in str(exc_info)
diff --git a/lib/spack/spack/test/url_fetch.py b/lib/spack/spack/test/url_fetch.py
index 9d66afb814..2703700233 100644
--- a/lib/spack/spack/test/url_fetch.py
+++ b/lib/spack/spack/test/url_fetch.py
@@ -31,7 +31,8 @@ def checksum_type(request):
@pytest.fixture
def pkg_factory():
Pkg = collections.namedtuple(
- "Pkg", [
+ "Pkg",
+ [
"url_for_version",
"all_urls_for_version",
"find_valid_url_for_version",
@@ -39,11 +40,10 @@ def pkg_factory():
"url",
"versions",
"fetch_options",
- ]
+ ],
)
def factory(url, urls, fetch_options={}):
-
def fn(v):
main_url = url or urls[0]
return spack.url.substitute_version(main_url, v)
@@ -59,28 +59,28 @@ def pkg_factory():
url=url,
urls=(urls,),
versions=collections.defaultdict(dict),
- fetch_options=fetch_options
+ fetch_options=fetch_options,
)
return factory
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
+ with spack.config.override("config:url_fetch_method", _fetch_method):
with pytest.raises(ValueError):
with fs.URLFetchStrategy(None):
pass
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
+ with spack.config.override("config:url_fetch_method", _fetch_method):
with pytest.raises(fs.FailedDownloadError):
- fetcher = fs.URLFetchStrategy(url='file:///does-not-exist')
+ fetcher = fs.URLFetchStrategy(url="file:///does-not-exist")
assert fetcher is not None
with Stage(fetcher, path=testpath) as stage:
@@ -91,10 +91,10 @@ def test_urlfetchstrategy_bad_url(tmpdir, _fetch_method):
def test_fetch_options(tmpdir, mock_archive):
testpath = str(tmpdir)
- with spack.config.override('config:url_fetch_method', 'curl'):
- fetcher = fs.URLFetchStrategy(url=mock_archive.url,
- fetch_options={'cookie': 'True',
- 'timeout': 10})
+ with spack.config.override("config:url_fetch_method", "curl"):
+ fetcher = fs.URLFetchStrategy(
+ url=mock_archive.url, fetch_options={"cookie": "True", "timeout": 10}
+ )
assert fetcher is not None
with Stage(fetcher, path=testpath) as stage:
@@ -103,11 +103,11 @@ def test_fetch_options(tmpdir, mock_archive):
fetcher.fetch()
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
+ 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):
@@ -124,117 +124,101 @@ def test_archive_file_errors(tmpdir, mock_archive, _fetch_method):
with pytest.raises(fs.NoDigestError):
fetcher.check()
assert fetcher.archive_file is not None
- fetcher._fetch_from_url('file:///does-not-exist')
+ fetcher._fetch_from_url("file:///does-not-exist")
-files = [('.tar.gz', 'z'), ('.tgz', 'z')]
+files = [(".tar.gz", "z"), (".tgz", "z")]
if sys.platform != "win32":
- files += [('.tar.bz2', 'j'), ('.tbz2', 'j'),
- ('.tar.xz', 'J'), ('.txz', 'J')]
-
-
-@pytest.mark.parametrize('secure', [True, False])
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
-@pytest.mark.parametrize('mock_archive',
- files,
- indirect=True)
-def test_fetch(
- mock_archive,
- secure,
- _fetch_method,
- checksum_type,
- config,
- mutable_mock_repo
-):
+ files += [(".tar.bz2", "j"), (".tbz2", "j"), (".tar.xz", "J"), (".txz", "J")]
+
+
+@pytest.mark.parametrize("secure", [True, False])
+@pytest.mark.parametrize("_fetch_method", ["curl", "urllib"])
+@pytest.mark.parametrize("mock_archive", files, indirect=True)
+def test_fetch(mock_archive, secure, _fetch_method, checksum_type, config, mutable_mock_repo):
"""Fetch an archive and make sure we can checksum it."""
mock_archive.url
mock_archive.path
algo = crypto.hash_fun_for_algo(checksum_type)()
- with open(mock_archive.archive_file, 'rb') as f:
+ with open(mock_archive.archive_file, "rb") as f:
algo.update(f.read())
checksum = algo.hexdigest()
# Get a spec and tweak the test package with new chcecksum params
- s = Spec('url-test').concretized()
+ s = Spec("url-test").concretized()
s.package.url = mock_archive.url
- s.package.versions[ver('test')] = {checksum_type: checksum, 'url': s.package.url}
+ s.package.versions[ver("test")] = {checksum_type: checksum, "url": s.package.url}
# Enter the stage directory and check some properties
with s.package.stage:
- with spack.config.override('config:verify_ssl', secure):
- with spack.config.override('config:url_fetch_method', _fetch_method):
+ with spack.config.override("config:verify_ssl", secure):
+ with spack.config.override("config:url_fetch_method", _fetch_method):
s.package.do_stage()
with working_dir(s.package.stage.source_path):
- assert os.path.exists('configure')
- assert is_exe('configure')
+ assert os.path.exists("configure")
+ assert is_exe("configure")
- with open('configure') as f:
+ with open("configure") as f:
contents = f.read()
- assert contents.startswith('#!/bin/sh')
- assert 'echo Building...' in contents
+ assert contents.startswith("#!/bin/sh")
+ assert "echo Building..." in contents
# TODO-27021
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-@pytest.mark.parametrize('spec,url,digest', [
- ('url-list-test @0.0.0', 'foo-0.0.0.tar.gz', '00000000000000000000000000000000'),
- ('url-list-test @1.0.0', 'foo-1.0.0.tar.gz', '00000000000000000000000000000100'),
- ('url-list-test @3.0', 'foo-3.0.tar.gz', '00000000000000000000000000000030'),
- ('url-list-test @4.5', 'foo-4.5.tar.gz', '00000000000000000000000000000450'),
- (
- 'url-list-test @2.0.0b2',
- 'foo-2.0.0b2.tar.gz',
- '000000000000000000000000000200b2'
- ),
- ('url-list-test @3.0a1', 'foo-3.0a1.tar.gz', '000000000000000000000000000030a1'),
- (
- 'url-list-test @4.5-rc5',
- 'foo-4.5-rc5.tar.gz',
- '000000000000000000000000000045c5'
- ),
-])
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+@pytest.mark.parametrize(
+ "spec,url,digest",
+ [
+ ("url-list-test @0.0.0", "foo-0.0.0.tar.gz", "00000000000000000000000000000000"),
+ ("url-list-test @1.0.0", "foo-1.0.0.tar.gz", "00000000000000000000000000000100"),
+ ("url-list-test @3.0", "foo-3.0.tar.gz", "00000000000000000000000000000030"),
+ ("url-list-test @4.5", "foo-4.5.tar.gz", "00000000000000000000000000000450"),
+ ("url-list-test @2.0.0b2", "foo-2.0.0b2.tar.gz", "000000000000000000000000000200b2"),
+ ("url-list-test @3.0a1", "foo-3.0a1.tar.gz", "000000000000000000000000000030a1"),
+ ("url-list-test @4.5-rc5", "foo-4.5-rc5.tar.gz", "000000000000000000000000000045c5"),
+ ],
+)
+@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:url_fetch_method', _fetch_method):
+ with spack.config.override("config:url_fetch_method", _fetch_method):
s = Spec(spec).concretized()
fetch_strategy = fs.from_list_url(s.package)
assert isinstance(fetch_strategy, fs.URLFetchStrategy)
assert os.path.basename(fetch_strategy.url) == url
assert fetch_strategy.digest == digest
assert fetch_strategy.extra_options == {}
- s.package.fetch_options = {'timeout': 60}
+ s.package.fetch_options = {"timeout": 60}
fetch_strategy = fs.from_list_url(s.package)
- assert fetch_strategy.extra_options == {'timeout': 60}
+ assert fetch_strategy.extra_options == {"timeout": 60}
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
@pytest.mark.parametrize("_fetch_method", ["curl", "urllib"])
-@pytest.mark.parametrize("requested_version,tarball,digest", [
- # This version is in the web data path (test/data/web/4.html), but not in the
- # url-list-test package. We expect Spack to generate a URL with the new version.
- ("4.5.0", "foo-4.5.0.tar.gz", None),
- # This version is in web data path and not in the package file, BUT the 2.0.0b2
- # version in the package file satisfies 2.0.0, so Spack will use the known version.
- # TODO: this is *probably* not what the user wants, but it's here as an example
- # TODO: for that reason. We can't express "exactly 2.0.0" right now, and we don't
- # TODO: have special cases that would make 2.0.0b2 less than 2.0.0. We should
- # TODO: probably revisit this in our versioning scheme.
- ("2.0.0", "foo-2.0.0b2.tar.gz", "000000000000000000000000000200b2"),
-])
+@pytest.mark.parametrize(
+ "requested_version,tarball,digest",
+ [
+ # This version is in the web data path (test/data/web/4.html), but not in the
+ # url-list-test package. We expect Spack to generate a URL with the new version.
+ ("4.5.0", "foo-4.5.0.tar.gz", None),
+ # This version is in web data path and not in the package file, BUT the 2.0.0b2
+ # version in the package file satisfies 2.0.0, so Spack will use the known version.
+ # TODO: this is *probably* not what the user wants, but it's here as an example
+ # TODO: for that reason. We can't express "exactly 2.0.0" right now, and we don't
+ # TODO: have special cases that would make 2.0.0b2 less than 2.0.0. We should
+ # TODO: probably revisit this in our versioning scheme.
+ ("2.0.0", "foo-2.0.0b2.tar.gz", "000000000000000000000000000200b2"),
+ ],
+)
def test_new_version_from_list_url(
- mock_packages, config, _fetch_method, requested_version, tarball, digest
+ mock_packages, config, _fetch_method, requested_version, tarball, digest
):
- if spack.config.get('config:concretizer') == 'original':
- pytest.skip(
- "Original concretizer doesn't resolve concrete versions to known ones"
- )
+ if spack.config.get("config:concretizer") == "original":
+ pytest.skip("Original concretizer doesn't resolve concrete versions to known ones")
"""Test non-specific URLs from the url-list-test package."""
with spack.config.override("config:url_fetch_method", _fetch_method):
@@ -252,48 +236,48 @@ def test_new_version_from_list_url(
def test_nosource_from_list_url(mock_packages, config):
"""This test confirms BundlePackages do not have list url."""
- s = Spec('nosource').concretized()
+ s = Spec("nosource").concretized()
fetch_strategy = fs.from_list_url(s.package)
assert fetch_strategy is None
def test_hash_detection(checksum_type):
algo = crypto.hash_fun_for_algo(checksum_type)()
- h = 'f' * (algo.digest_size * 2) # hex -> bytes
+ h = "f" * (algo.digest_size * 2) # hex -> bytes
checker = crypto.Checker(h)
assert checker.hash_name == checksum_type
def test_unknown_hash(checksum_type):
with pytest.raises(ValueError):
- crypto.Checker('a')
+ crypto.Checker("a")
-@pytest.mark.skipif(which('curl') is None,
- reason='Urllib does not have built-in status bar')
+@pytest.mark.skipif(which("curl") is None, reason="Urllib does not have built-in status bar")
def test_url_with_status_bar(tmpdir, mock_archive, monkeypatch, capfd):
"""Ensure fetch with status bar option succeeds."""
+
def is_true():
return True
testpath = str(tmpdir)
- monkeypatch.setattr(sys.stdout, 'isatty', is_true)
- monkeypatch.setattr(tty, 'msg_enabled', is_true)
- with spack.config.override('config:url_fetch_method', 'curl'):
+ monkeypatch.setattr(sys.stdout, "isatty", is_true)
+ monkeypatch.setattr(tty, "msg_enabled", is_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
stage.fetch()
status = capfd.readouterr()[1]
- assert '##### 100' in status
+ assert "##### 100" in status
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@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:url_fetch_method', _fetch_method):
+ 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:
@@ -303,33 +287,42 @@ def test_url_extra_fetch(tmpdir, mock_archive, _fetch_method):
fetcher.fetch()
-@pytest.mark.parametrize('url,urls,version,expected', [
- (None,
- ['https://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz',
- 'https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz'],
- '2.62',
- ['https://ftpmirror.gnu.org/autoconf/autoconf-2.62.tar.gz',
- 'https://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz'])
-])
-@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib'])
+@pytest.mark.parametrize(
+ "url,urls,version,expected",
+ [
+ (
+ None,
+ [
+ "https://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz",
+ "https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz",
+ ],
+ "2.62",
+ [
+ "https://ftpmirror.gnu.org/autoconf/autoconf-2.62.tar.gz",
+ "https://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz",
+ ],
+ )
+ ],
+)
+@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:url_fetch_method', _fetch_method):
+ 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
assert f.extra_options == {}
- pkg = pkg_factory(url, urls, fetch_options={'timeout': 60})
+ pkg = pkg_factory(url, urls, fetch_options={"timeout": 60})
f = fs._from_merged_attrs(fs.URLFetchStrategy, pkg, version)
- assert f.extra_options == {'timeout': 60}
+ assert f.extra_options == {"timeout": 60}
-@pytest.mark.regression('19673')
+@pytest.mark.regression("19673")
def test_missing_curl(tmpdir, monkeypatch):
"""Ensure a fetch involving missing curl package reports the error."""
- err_fmt = 'No such command {0}'
+ err_fmt = "No such command {0}"
def _which(*args, **kwargs):
err_msg = err_fmt.format(args[0])
@@ -338,14 +331,14 @@ def test_missing_curl(tmpdir, monkeypatch):
# Patching the 'which' symbol imported by fetch_strategy works
# since it is too late in import processing to patch the defining
# (spack.util.executable) module's symbol.
- monkeypatch.setattr(fs, 'which', _which)
+ monkeypatch.setattr(fs, "which", _which)
testpath = str(tmpdir)
- url = 'http://github.com/spack/spack'
- with spack.config.override('config:url_fetch_method', 'curl'):
+ url = "http://github.com/spack/spack"
+ 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'):
+ with pytest.raises(TypeError, match="object is not callable"):
with Stage(fetcher, path=testpath) as stage:
out = stage.fetch()
- assert err_fmt.format('curl') in out
+ assert err_fmt.format("curl") in out
diff --git a/lib/spack/spack/test/url_parse.py b/lib/spack/spack/test/url_parse.py
index 6175c5ad0f..37b7d9d869 100644
--- a/lib/spack/spack/test/url_parse.py
+++ b/lib/spack/spack/test/url_parse.py
@@ -23,182 +23,240 @@ from spack.url import (
from spack.version import Version
-@pytest.mark.parametrize('url,expected', [
- # No suffix
- ('rgb-1.0.6', 'rgb-1.0.6'),
- # Misleading prefix
- ('jpegsrc.v9b', 'jpegsrc.v9b'),
- ('turbolinux702', 'turbolinux702'),
- ('converge_install_2.3.16', 'converge_install_2.3.16'),
- # Download type - code, source
- ('cistem-1.0.0-beta-source-code', 'cistem-1.0.0-beta'),
- # Download type - src
- ('apache-ant-1.9.7-src', 'apache-ant-1.9.7'),
- ('go1.7.4.src', 'go1.7.4'),
- # Download type - source
- ('bowtie2-2.2.5-source', 'bowtie2-2.2.5'),
- ('grib_api-1.17.0-Source', 'grib_api-1.17.0'),
- # Download type - full
- ('julia-0.4.3-full', 'julia-0.4.3'),
- # Download type - bin
- ('apache-maven-3.3.9-bin', 'apache-maven-3.3.9'),
- # Download type - binary
- ('Jmol-14.8.0-binary', 'Jmol-14.8.0'),
- # Download type - gem
- ('rubysl-date-2.0.9.gem', 'rubysl-date-2.0.9'),
- # Download type - tar
- ('gromacs-4.6.1-tar', 'gromacs-4.6.1'),
- # Download type - sh
- ('Miniconda2-4.3.11-Linux-x86_64.sh', 'Miniconda2-4.3.11'),
- # Download version - release
- ('v1.0.4-release', 'v1.0.4'),
- # Download version - stable
- ('libevent-2.0.21-stable', 'libevent-2.0.21'),
- # Download version - final
- ('2.6.7-final', '2.6.7'),
- # Download version - rel
- ('v1.9.5.1rel', 'v1.9.5.1'),
- # Download version - orig
- ('dash_0.5.5.1.orig', 'dash_0.5.5.1'),
- # Download version - plus
- ('ncbi-blast-2.6.0+-src', 'ncbi-blast-2.6.0'),
- # License
- ('cppad-20170114.gpl', 'cppad-20170114'),
- # Arch
- ('pcraster-4.1.0_x86-64', 'pcraster-4.1.0'),
- ('dislin-11.0.linux.i586_64', 'dislin-11.0'),
- ('PAGIT.V1.01.64bit', 'PAGIT.V1.01'),
- # OS - linux
- ('astyle_2.04_linux', 'astyle_2.04'),
- # OS - unix
- ('install-tl-unx', 'install-tl'),
- # OS - macos
- ('astyle_1.23_macosx', 'astyle_1.23'),
- ('haxe-2.08-osx', 'haxe-2.08'),
- # PyPI - wheel
- ('entrypoints-0.2.2-py2.py3-none-any.whl', 'entrypoints-0.2.2'),
- (
- 'numpy-1.12.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.'
- 'macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl', 'numpy-1.12.0'
- ),
- # PyPI - exe
- ('PyYAML-3.12.win-amd64-py3.5.exe', 'PyYAML-3.12'),
- # Combinations of multiple patterns - bin, release
- ('rocketmq-all-4.5.2-bin-release', 'rocketmq-all-4.5.2'),
- # Combinations of multiple patterns - all
- ('p7zip_9.04_src_all', 'p7zip_9.04'),
- # Combinations of multiple patterns - run
- ('cuda_8.0.44_linux.run', 'cuda_8.0.44'),
- # Combinations of multiple patterns - file
- ('ack-2.14-single-file', 'ack-2.14'),
- # Combinations of multiple patterns - jar
- ('antlr-3.4-complete.jar', 'antlr-3.4'),
- # Combinations of multiple patterns - oss
- ('tbb44_20160128oss_src_0', 'tbb44_20160128'),
- # Combinations of multiple patterns - darwin
- ('ghc-7.0.4-x86_64-apple-darwin', 'ghc-7.0.4'),
- ('ghc-7.0.4-i386-apple-darwin', 'ghc-7.0.4'),
- # Combinations of multiple patterns - centos
- ('sratoolkit.2.8.2-1-centos_linux64', 'sratoolkit.2.8.2-1'),
- # Combinations of multiple patterns - arch
- ('VizGlow_v2.2alpha17-R21November2016-Linux-x86_64-Install',
- 'VizGlow_v2.2alpha17-R21November2016'),
- ('jdk-8u92-linux-x64', 'jdk-8u92'),
- ('cuda_6.5.14_linux_64.run', 'cuda_6.5.14'),
- ('Mathematica_12.0.0_LINUX.sh', 'Mathematica_12.0.0'),
- ('trf407b.linux64', 'trf407b'),
- # Combinations of multiple patterns - with
- ('mafft-7.221-with-extensions-src', 'mafft-7.221'),
- ('spark-2.0.0-bin-without-hadoop', 'spark-2.0.0'),
- ('conduit-v0.3.0-src-with-blt', 'conduit-v0.3.0'),
- # Combinations of multiple patterns - rock
- ('bitlib-23-2.src.rock', 'bitlib-23-2'),
- # Combinations of multiple patterns - public
- ('dakota-6.3-public.src', 'dakota-6.3'),
- # Combinations of multiple patterns - universal
- ('synergy-1.3.6p2-MacOSX-Universal', 'synergy-1.3.6p2'),
- # Combinations of multiple patterns - dynamic
- ('snptest_v2.5.2_linux_x86_64_dynamic', 'snptest_v2.5.2'),
- # Combinations of multiple patterns - other
- ('alglib-3.11.0.cpp.gpl', 'alglib-3.11.0'),
- ('hpcviewer-2019.08-linux.gtk.x86_64', 'hpcviewer-2019.08'),
- ('apache-mxnet-src-1.3.0-incubating', 'apache-mxnet-src-1.3.0'),
-])
+@pytest.mark.parametrize(
+ "url,expected",
+ [
+ # No suffix
+ ("rgb-1.0.6", "rgb-1.0.6"),
+ # Misleading prefix
+ ("jpegsrc.v9b", "jpegsrc.v9b"),
+ ("turbolinux702", "turbolinux702"),
+ ("converge_install_2.3.16", "converge_install_2.3.16"),
+ # Download type - code, source
+ ("cistem-1.0.0-beta-source-code", "cistem-1.0.0-beta"),
+ # Download type - src
+ ("apache-ant-1.9.7-src", "apache-ant-1.9.7"),
+ ("go1.7.4.src", "go1.7.4"),
+ # Download type - source
+ ("bowtie2-2.2.5-source", "bowtie2-2.2.5"),
+ ("grib_api-1.17.0-Source", "grib_api-1.17.0"),
+ # Download type - full
+ ("julia-0.4.3-full", "julia-0.4.3"),
+ # Download type - bin
+ ("apache-maven-3.3.9-bin", "apache-maven-3.3.9"),
+ # Download type - binary
+ ("Jmol-14.8.0-binary", "Jmol-14.8.0"),
+ # Download type - gem
+ ("rubysl-date-2.0.9.gem", "rubysl-date-2.0.9"),
+ # Download type - tar
+ ("gromacs-4.6.1-tar", "gromacs-4.6.1"),
+ # Download type - sh
+ ("Miniconda2-4.3.11-Linux-x86_64.sh", "Miniconda2-4.3.11"),
+ # Download version - release
+ ("v1.0.4-release", "v1.0.4"),
+ # Download version - stable
+ ("libevent-2.0.21-stable", "libevent-2.0.21"),
+ # Download version - final
+ ("2.6.7-final", "2.6.7"),
+ # Download version - rel
+ ("v1.9.5.1rel", "v1.9.5.1"),
+ # Download version - orig
+ ("dash_0.5.5.1.orig", "dash_0.5.5.1"),
+ # Download version - plus
+ ("ncbi-blast-2.6.0+-src", "ncbi-blast-2.6.0"),
+ # License
+ ("cppad-20170114.gpl", "cppad-20170114"),
+ # Arch
+ ("pcraster-4.1.0_x86-64", "pcraster-4.1.0"),
+ ("dislin-11.0.linux.i586_64", "dislin-11.0"),
+ ("PAGIT.V1.01.64bit", "PAGIT.V1.01"),
+ # OS - linux
+ ("astyle_2.04_linux", "astyle_2.04"),
+ # OS - unix
+ ("install-tl-unx", "install-tl"),
+ # OS - macos
+ ("astyle_1.23_macosx", "astyle_1.23"),
+ ("haxe-2.08-osx", "haxe-2.08"),
+ # PyPI - wheel
+ ("entrypoints-0.2.2-py2.py3-none-any.whl", "entrypoints-0.2.2"),
+ (
+ "numpy-1.12.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel."
+ "macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl",
+ "numpy-1.12.0",
+ ),
+ # PyPI - exe
+ ("PyYAML-3.12.win-amd64-py3.5.exe", "PyYAML-3.12"),
+ # Combinations of multiple patterns - bin, release
+ ("rocketmq-all-4.5.2-bin-release", "rocketmq-all-4.5.2"),
+ # Combinations of multiple patterns - all
+ ("p7zip_9.04_src_all", "p7zip_9.04"),
+ # Combinations of multiple patterns - run
+ ("cuda_8.0.44_linux.run", "cuda_8.0.44"),
+ # Combinations of multiple patterns - file
+ ("ack-2.14-single-file", "ack-2.14"),
+ # Combinations of multiple patterns - jar
+ ("antlr-3.4-complete.jar", "antlr-3.4"),
+ # Combinations of multiple patterns - oss
+ ("tbb44_20160128oss_src_0", "tbb44_20160128"),
+ # Combinations of multiple patterns - darwin
+ ("ghc-7.0.4-x86_64-apple-darwin", "ghc-7.0.4"),
+ ("ghc-7.0.4-i386-apple-darwin", "ghc-7.0.4"),
+ # Combinations of multiple patterns - centos
+ ("sratoolkit.2.8.2-1-centos_linux64", "sratoolkit.2.8.2-1"),
+ # Combinations of multiple patterns - arch
+ (
+ "VizGlow_v2.2alpha17-R21November2016-Linux-x86_64-Install",
+ "VizGlow_v2.2alpha17-R21November2016",
+ ),
+ ("jdk-8u92-linux-x64", "jdk-8u92"),
+ ("cuda_6.5.14_linux_64.run", "cuda_6.5.14"),
+ ("Mathematica_12.0.0_LINUX.sh", "Mathematica_12.0.0"),
+ ("trf407b.linux64", "trf407b"),
+ # Combinations of multiple patterns - with
+ ("mafft-7.221-with-extensions-src", "mafft-7.221"),
+ ("spark-2.0.0-bin-without-hadoop", "spark-2.0.0"),
+ ("conduit-v0.3.0-src-with-blt", "conduit-v0.3.0"),
+ # Combinations of multiple patterns - rock
+ ("bitlib-23-2.src.rock", "bitlib-23-2"),
+ # Combinations of multiple patterns - public
+ ("dakota-6.3-public.src", "dakota-6.3"),
+ # Combinations of multiple patterns - universal
+ ("synergy-1.3.6p2-MacOSX-Universal", "synergy-1.3.6p2"),
+ # Combinations of multiple patterns - dynamic
+ ("snptest_v2.5.2_linux_x86_64_dynamic", "snptest_v2.5.2"),
+ # Combinations of multiple patterns - other
+ ("alglib-3.11.0.cpp.gpl", "alglib-3.11.0"),
+ ("hpcviewer-2019.08-linux.gtk.x86_64", "hpcviewer-2019.08"),
+ ("apache-mxnet-src-1.3.0-incubating", "apache-mxnet-src-1.3.0"),
+ ],
+)
def test_url_strip_version_suffixes(url, expected):
stripped = strip_version_suffixes(url)
assert stripped == expected
-@pytest.mark.parametrize('url,version,expected', [
- # No suffix
- ('rgb-1.0.6', '1.0.6', 'rgb'),
- ('nauty26r7', '26r7', 'nauty'),
- ('PAGIT.V1.01', '1.01', 'PAGIT'),
- ('AmpliconNoiseV1.29', '1.29', 'AmpliconNoise'),
- # Download type - install
- ('converge_install_2.3.16', '2.3.16', 'converge'),
- # Download type - src
- ('jpegsrc.v9b', '9b', 'jpeg'),
- ('blatSrc35', '35', 'blat'),
- # Download type - open
- ('RepeatMasker-open-4-0-7', '4-0-7', 'RepeatMasker'),
- # Download type - archive
- ('coinhsl-archive-2014.01.17', '2014.01.17', 'coinhsl'),
- # Download type - std
- ('ghostscript-fonts-std-8.11', '8.11', 'ghostscript-fonts'),
- # Download type - bin
- ('GapCloser-bin-v1.12-r6', '1.12-r6', 'GapCloser'),
- # Download type - software
- ('orthomclSoftware-v2.0.9', '2.0.9', 'orthomcl'),
- # Download version - release
- ('cbench_release_1.3.0.tar.gz', '1.3.0', 'cbench'),
- # Download version - snapshot
- ('gts-snapshot-121130', '121130', 'gts'),
- # Download version - distrib
- ('zoltan_distrib_v3.83', '3.83', 'zoltan'),
- # Download version - latest
- ('Platypus-latest', 'N/A', 'Platypus'),
- # Download version - complex
- ('qt-everywhere-opensource-src-5.7.0', '5.7.0', 'qt'),
- # Arch
- ('VESTA-x86_64', '3.4.6', 'VESTA'),
- # VCS - bazaar
- ('libvterm-0+bzr681', '681', 'libvterm'),
- # License - gpl
- ('PyQt-x11-gpl-4.11.3', '4.11.3', 'PyQt'),
- ('PyQt4_gpl_x11-4.12.3', '4.12.3', 'PyQt4'),
-])
+@pytest.mark.parametrize(
+ "url,version,expected",
+ [
+ # No suffix
+ ("rgb-1.0.6", "1.0.6", "rgb"),
+ ("nauty26r7", "26r7", "nauty"),
+ ("PAGIT.V1.01", "1.01", "PAGIT"),
+ ("AmpliconNoiseV1.29", "1.29", "AmpliconNoise"),
+ # Download type - install
+ ("converge_install_2.3.16", "2.3.16", "converge"),
+ # Download type - src
+ ("jpegsrc.v9b", "9b", "jpeg"),
+ ("blatSrc35", "35", "blat"),
+ # Download type - open
+ ("RepeatMasker-open-4-0-7", "4-0-7", "RepeatMasker"),
+ # Download type - archive
+ ("coinhsl-archive-2014.01.17", "2014.01.17", "coinhsl"),
+ # Download type - std
+ ("ghostscript-fonts-std-8.11", "8.11", "ghostscript-fonts"),
+ # Download type - bin
+ ("GapCloser-bin-v1.12-r6", "1.12-r6", "GapCloser"),
+ # Download type - software
+ ("orthomclSoftware-v2.0.9", "2.0.9", "orthomcl"),
+ # Download version - release
+ ("cbench_release_1.3.0.tar.gz", "1.3.0", "cbench"),
+ # Download version - snapshot
+ ("gts-snapshot-121130", "121130", "gts"),
+ # Download version - distrib
+ ("zoltan_distrib_v3.83", "3.83", "zoltan"),
+ # Download version - latest
+ ("Platypus-latest", "N/A", "Platypus"),
+ # Download version - complex
+ ("qt-everywhere-opensource-src-5.7.0", "5.7.0", "qt"),
+ # Arch
+ ("VESTA-x86_64", "3.4.6", "VESTA"),
+ # VCS - bazaar
+ ("libvterm-0+bzr681", "681", "libvterm"),
+ # License - gpl
+ ("PyQt-x11-gpl-4.11.3", "4.11.3", "PyQt"),
+ ("PyQt4_gpl_x11-4.12.3", "4.12.3", "PyQt4"),
+ ],
+)
def test_url_strip_name_suffixes(url, version, expected):
stripped = strip_name_suffixes(url, version)
assert stripped == expected
-@pytest.mark.parametrize('name,noffset,ver,voffset,path', [
- # Name in path
- ('antlr', 25, '2.7.7', 40, 'https://github.com/antlr/antlr/tarball/v2.7.7'),
- # Name in stem
- ('gmp', 32, '6.0.0a', 36, 'https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2'),
- # Name in suffix
-
- # Don't think I've ever seen one of these before
- # We don't look for it, so it would probably fail anyway
-
- # Version in path
- ('nextflow', 31, '0.20.1', 59, 'https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow'),
- # Version in stem
- ('zlib', 24, '1.2.10', 29, 'http://zlib.net/fossils/zlib-1.2.10.tar.gz'),
- ('slepc', 51, '3.6.2', 57, 'http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz'),
- ('cloog', 61, '0.18.1', 67, 'http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz'),
- ('libxc', 58, '2.2.2', 64, 'http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-2.2.2.tar.gz'),
- # Version in suffix
- ('swiftsim', 36, '0.3.0', 76, 'http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0'),
- ('swiftsim', 55, '0.3.0', 95, 'https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0'),
- ('sionlib', 30, '1.7.1', 59, 'http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1'),
- # Regex in name
- ('voro++', 40, '0.4.6', 47, 'http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz'),
- # SourceForge download
- ('glew', 55, '2.0.0', 60, 'https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download'),
-])
+@pytest.mark.parametrize(
+ "name,noffset,ver,voffset,path",
+ [
+ # Name in path
+ ("antlr", 25, "2.7.7", 40, "https://github.com/antlr/antlr/tarball/v2.7.7"),
+ # Name in stem
+ ("gmp", 32, "6.0.0a", 36, "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2"),
+ # Name in suffix
+ # Don't think I've ever seen one of these before
+ # We don't look for it, so it would probably fail anyway
+ # Version in path
+ (
+ "nextflow",
+ 31,
+ "0.20.1",
+ 59,
+ "https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow",
+ ),
+ # Version in stem
+ ("zlib", 24, "1.2.10", 29, "http://zlib.net/fossils/zlib-1.2.10.tar.gz"),
+ (
+ "slepc",
+ 51,
+ "3.6.2",
+ 57,
+ "http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz",
+ ),
+ (
+ "cloog",
+ 61,
+ "0.18.1",
+ 67,
+ "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz",
+ ),
+ (
+ "libxc",
+ 58,
+ "2.2.2",
+ 64,
+ "http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-2.2.2.tar.gz",
+ ),
+ # Version in suffix
+ (
+ "swiftsim",
+ 36,
+ "0.3.0",
+ 76,
+ "http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0",
+ ),
+ (
+ "swiftsim",
+ 55,
+ "0.3.0",
+ 95,
+ "https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0",
+ ),
+ (
+ "sionlib",
+ 30,
+ "1.7.1",
+ 59,
+ "http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1",
+ ),
+ # Regex in name
+ ("voro++", 40, "0.4.6", 47, "http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz"),
+ # SourceForge download
+ (
+ "glew",
+ 55,
+ "2.0.0",
+ 60,
+ "https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download",
+ ),
+ ],
+)
def test_url_parse_offset(name, noffset, ver, voffset, path):
"""Tests that the name, version and offsets are computed correctly.
@@ -219,335 +277,536 @@ def test_url_parse_offset(name, noffset, ver, voffset, path):
assert vstart == voffset
-@pytest.mark.parametrize('name,version,url', [
- # Common Repositories - github downloads
-
- # name/archive/ver.ver
- ('nco', '4.6.2', 'https://github.com/nco/nco/archive/4.6.2.tar.gz'),
- # name/archive/vver.ver
- ('vim', '8.0.0134', 'https://github.com/vim/vim/archive/v8.0.0134.tar.gz'),
- # name/archive/name-ver.ver
- ('oce', '0.18', 'https://github.com/tpaviot/oce/archive/OCE-0.18.tar.gz'),
- # name/releases/download/vver/name-ver.ver
- ('libmesh', '1.0.0', 'https://github.com/libMesh/libmesh/releases/download/v1.0.0/libmesh-1.0.0.tar.bz2'),
- # name/tarball/vver.ver
- ('git', '2.7.1', 'https://github.com/git/git/tarball/v2.7.1'),
- # name/zipball/vver.ver
- ('git', '2.7.1', 'https://github.com/git/git/zipball/v2.7.1'),
-
- # Common Repositories - gitlab downloads
-
- # name/repository/archive.ext?ref=vver.ver
- ('swiftsim', '0.3.0',
- 'http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0'),
- # /api/v4/projects/NAMESPACE%2Fname/repository/archive.ext?sha=vver.ver
- ('swiftsim', '0.3.0',
- 'https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0'),
- # name/repository/archive.ext?ref=name-ver.ver
- ('icet', '1.2.3',
- 'https://gitlab.kitware.com/icet/icet/repository/archive.tar.gz?ref=IceT-1.2.3'),
- # /api/v4/projects/NAMESPACE%2Fname/repository/archive.ext?sha=name-ver.ver
- ('icet', '1.2.3',
- 'https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-1.2.3'),
-
- # Common Repositories - bitbucket downloads
-
- # name/get/ver.ver
- ('eigen', '3.2.7', 'https://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2'),
- # name/get/vver.ver
- ('hoomd-blue', '1.3.3',
- 'https://bitbucket.org/glotzer/hoomd-blue/get/v1.3.3.tar.bz2'),
- # name/downloads/name-ver.ver
- ('dolfin', '2016.1.0',
- 'https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-2016.1.0.tar.gz'),
-
- # Common Repositories - sourceforge downloads
-
- # name-ver.ver
- ('libpng', '1.6.27',
- 'http://download.sourceforge.net/libpng/libpng-1.6.27.tar.gz'),
- ('lcms2', '2.6',
- 'http://downloads.sourceforge.net/project/lcms/lcms/2.6/lcms2-2.6.tar.gz'),
- ('modules', '3.2.10',
- 'http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz'),
- # name-ver.ver.ext/download
- ('glew', '2.0.0',
- 'https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download'),
-
- # Common Repositories - cran downloads
-
- # name.name_ver.ver-ver.ver
- ('TH.data', '1.0-8', 'https://cran.r-project.org/src/contrib/TH.data_1.0-8.tar.gz'),
- ('knitr', '1.14', 'https://cran.rstudio.com/src/contrib/knitr_1.14.tar.gz'),
- ('devtools', '1.12.0', 'https://cloud.r-project.org/src/contrib/devtools_1.12.0.tar.gz'),
-
- # Common Repositories - pypi downloads
-
- # name.name_name-ver.ver
- ('3to2', '1.1.1', 'https://pypi.python.org/packages/source/3/3to2/3to2-1.1.1.zip'),
- ('mpmath', '0.19',
- 'https://pypi.python.org/packages/source/m/mpmath/mpmath-all-0.19.tar.gz'),
- ('pandas', '0.16.0',
- 'https://pypi.python.org/packages/source/p/pandas/pandas-0.16.0.tar.gz#md5=bfe311f05dc0c351f8955fbd1e296e73'),
- ('sphinx_rtd_theme', '0.1.10a0',
- 'https://pypi.python.org/packages/da/6b/1b75f13d8aa3333f19c6cdf1f0bc9f52ea739cae464fbee050307c121857/sphinx_rtd_theme-0.1.10a0.tar.gz'),
- ('backports.ssl_match_hostname', '3.5.0.1',
- 'https://pypi.io/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz'),
- # Common Repositories - bazaar downloads
- ('libvterm', '681', 'http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr681.tar.gz'),
-
- # Common Tarball Formats
-
- # 1st Pass: Simplest case
- # Assume name contains no digits and version contains no letters
-
- # name-ver.ver
- ('libpng', '1.6.37', 'http://download.sourceforge.net/libpng/libpng-1.6.37.tar.gz'),
-
- # 2nd Pass: Version only
- # Assume version contains no letters
-
- # ver.ver
- ('eigen', '3.2.7', 'https://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2'),
- # ver.ver-ver
- ('ImageMagick', '7.0.2-7', 'https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz'),
- # vver.ver
- ('CGNS', '3.3.0', 'https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz'),
- # vver_ver
- ('luafilesystem', '1_6_3', 'https://github.com/keplerproject/luafilesystem/archive/v1_6_3.tar.gz'),
-
- # 3rd Pass: No separator characters are used
- # Assume name contains no digits
-
- # namever
- ('turbolinux', '702', 'file://{0}/turbolinux702.tar.gz'.format(os.getcwd())),
- ('nauty', '26r7', 'http://pallini.di.uniroma1.it/nauty26r7.tar.gz'),
-
- # 4th Pass: A single separator character is used
- # Assume name contains no digits
-
- # name-name-ver-ver
- ('Trilinos', '12-10-1',
- 'https://github.com/trilinos/Trilinos/archive/trilinos-release-12-10-1.tar.gz'),
- ('panda', '2016-03-07',
- 'http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar'),
- ('gts', '121130',
- 'http://gts.sourceforge.net/tarballs/gts-snapshot-121130.tar.gz'),
- ('cdd', '061a',
- 'http://www.cs.mcgill.ca/~fukuda/download/cdd/cdd-061a.tar.gz'),
- # name_name_ver_ver
- ('tinyxml', '2_6_2',
- 'https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz'),
- ('boost', '1_55_0',
- 'http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'),
- ('yorick', '2_2_04',
- 'https://github.com/dhmunro/yorick/archive/y_2_2_04.tar.gz'),
- ('tbb', '44_20160413',
- 'https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160413oss_src.tgz'),
- # name.name.ver.ver
- ('prank', '150803', 'http://wasabiapp.org/download/prank/prank.source.150803.tgz'),
- ('jpeg', '9b', 'http://www.ijg.org/files/jpegsrc.v9b.tar.gz'),
- ('openjpeg', '2.1',
- 'https://github.com/uclouvain/openjpeg/archive/version.2.1.tar.gz'),
- # name.namever.ver
- ('atlas', '3.11.34',
- 'http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2'),
- ('visit', '2.10.1', 'http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz'),
- ('geant', '4.10.01.p03', 'http://geant4.cern.ch/support/source/geant4.10.01.p03.tar.gz'),
- ('tcl', '8.6.5', 'http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz'),
-
- # 5th Pass: Two separator characters are used
- # Name may contain digits, version may contain letters
-
- # name-name-ver.ver
- ('m4', '1.4.17', 'https://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz'),
- ('gmp', '6.0.0a', 'https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2'),
- ('LaunchMON', '1.0.2',
- 'https://github.com/LLNL/LaunchMON/releases/download/v1.0.2/launchmon-v1.0.2.tar.gz'),
- # name-ver-ver.ver
- ('libedit', '20150325-3.1', 'http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz'),
- # name-name-ver_ver
- ('icu4c', '57_1', 'http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz'),
- # name_name_ver.ver
- ('superlu_dist', '4.1', 'http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_4.1.tar.gz'),
- ('pexsi', '0.9.0', 'https://math.berkeley.edu/~linlin/pexsi/download/pexsi_v0.9.0.tar.gz'),
- # name_name.ver.ver
- ('fer', '696', 'ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v696.tar.gz'),
- # name_name_ver-ver
- ('Bridger', '2014-12-01',
- 'https://downloads.sourceforge.net/project/rnaseqassembly/Bridger_r2014-12-01.tar.gz'),
- # name-name-ver.ver-ver.ver
- ('sowing', '1.1.23-p1', 'http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sowing-1.1.23-p1.tar.gz'),
- ('bib2xhtml', '3.0-15-gf506', 'http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz'),
- # namever.ver-ver.ver
- ('go', '1.4-bootstrap-20161024', 'https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz'),
-
- # 6th Pass: All three separator characters are used
- # Name may contain digits, version may contain letters
-
- # name_name-ver.ver
- ('the_silver_searcher', '0.32.0', 'http://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz'),
- ('sphinx_rtd_theme', '0.1.10a0',
- 'https://pypi.python.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-0.1.10a0.tar.gz'),
- # name.name_ver.ver-ver.ver
- ('TH.data', '1.0-8', 'https://cran.r-project.org/src/contrib/TH.data_1.0-8.tar.gz'),
- ('XML', '3.98-1.4', 'https://cran.r-project.org/src/contrib/XML_3.98-1.4.tar.gz'),
- # name-name-ver.ver_ver.ver
- ('pypar', '2.1.5_108',
- 'https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pypar/pypar-2.1.5_108.tgz'),
- # name-namever.ver_ver.ver
- ('STAR-CCM+', '11.06.010_02',
- 'file://{0}/STAR-CCM+11.06.010_02_linux-x86_64.tar.gz'.format(os.getcwd())),
- # name-name_name-ver.ver
- ('PerlIO-utf8_strict', '0.002',
- 'http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.002.tar.gz'),
-
- # Various extensions
- # .tar.gz
- ('libXcursor', '1.1.14',
- 'https://www.x.org/archive/individual/lib/libXcursor-1.1.14.tar.gz'),
- # .tar.bz2
- ('mpfr', '4.0.1', 'https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tar.bz2'),
- # .tar.xz
- ('pkgconf', '1.5.4',
- 'http://distfiles.dereferenced.org/pkgconf/pkgconf-1.5.4.tar.xz'),
- # .tar.Z
- ('Gblocks', '0.91b',
- 'http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.tar.Z'),
- # .tar.zip
- ('bcl2fastq2', '2.19.1.403',
- 'ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/bcl2fastq2-v2.19.1.403-tar.zip'),
- # .tar, .TAR
- ('python-meep', '1.4.2',
- 'https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar'),
- ('python-meep', '1.4.2',
- 'https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.TAR'),
- # .gz
- ('libXcursor', '1.1.14',
- 'https://www.x.org/archive/individual/lib/libXcursor-1.1.14.gz'),
- # .bz2
- ('mpfr', '4.0.1', 'https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.bz2'),
- # .xz
- ('pkgconf', '1.5.4',
- 'http://distfiles.dereferenced.org/pkgconf/pkgconf-1.5.4.xz'),
- # .Z
- ('Gblocks', '0.91b',
- 'http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.Z'),
- # .zip
- ('bliss', '0.73', 'http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip'),
- # .tgz
- ('ADOL-C', '2.6.1',
- 'http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz'),
- # .tbz
- ('mpfr', '4.0.1', 'https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tbz'),
- # .tbz2
- ('mpfr', '4.0.1', 'https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tbz2'),
- # .txz
- ('kim-api', '2.1.0', 'https://s3.openkim.org/kim-api/kim-api-2.1.0.txz'),
-
- # 8th Pass: Query strings
-
- # suffix queries
- ('swiftsim', '0.3.0', 'http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0'),
- ('swiftsim', '0.3.0',
- 'https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0'),
- ('sionlib', '1.7.1', 'http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1'),
- ('jube2', '2.2.2', 'https://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=2.2.2'),
- ('archive', '1.0.0', 'https://code.ornl.gov/eck/papyrus/repository/archive.tar.bz2?ref=v1.0.0'),
- ('VecGeom', '0.3.rc',
- 'https://gitlab.cern.ch/api/v4/projects/VecGeom%2FVecGeom/repository/archive.tar.gz?sha=v0.3.rc'),
- ('parsplice', '1.1',
- 'https://gitlab.com/api/v4/projects/exaalt%2Fparsplice/repository/archive.tar.gz?sha=v1.1'),
- ('busco', '2.0.1', 'https://gitlab.com/api/v4/projects/ezlab%2Fbusco/repository/archive.tar.gz?sha=2.0.1'),
- ('libaec', '1.0.2',
- 'https://gitlab.dkrz.de/api/v4/projects/k202009%2Flibaec/repository/archive.tar.gz?sha=v1.0.2'),
- ('icet', '2.1.1',
- 'https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-2.1.1'),
- ('vtk-m', '1.3.0',
- 'https://gitlab.kitware.com/api/v4/projects/vtk%2Fvtk-m/repository/archive.tar.gz?sha=v1.3.0'),
- ('GATK', '3.8-1-0-gf15c1c3ef',
- 'https://software.broadinstitute.org/gatk/download/auth?package=GATK-archive&version=3.8-1-0-gf15c1c3ef'),
- # stem queries
- ('slepc', '3.6.2', 'http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz'),
- ('otf', '1.12.5salmon',
- 'http://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz'),
- ('eospac', '6.4.0beta.1',
- 'http://laws-green.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.1_r20171213193219.tgz'),
- ('vampirtrace', '5.14.4',
- 'http://wwwpub.zih.tu-dresden.de/~mlieber/dcount/dcount.php?package=vampirtrace&get=VampirTrace-5.14.4.tar.gz'),
- ('EvtGen', '01.07.00',
- 'https://evtgen.hepforge.org/downloads?f=EvtGen-01.07.00.tar.gz'),
- # (we don't actually look for these, they are picked up
- # during the preliminary stem parsing)
- ('octopus', '6.0', 'http://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz'),
- ('cloog', '0.18.1', 'http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz'),
- ('libxc', '2.2.2', 'http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-2.2.2.tar.gz'),
- ('cistem', '1.0.0-beta',
- 'https://cistem.org/system/tdf/upload3/cistem-1.0.0-beta-source-code.tar.gz?file=1&type=cistem_details&id=37&force=0'),
- ('Magics', '4.1.0',
- 'https://confluence.ecmwf.int/download/attachments/3473464/Magics-4.1.0-Source.tar.gz?api=v2'),
- ('grib_api', '1.17.0',
- 'https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.17.0-Source.tar.gz?api=v2'),
- ('eccodes', '2.2.0',
- 'https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz?api=v2'),
- ('SWFFT', '1.0',
- 'https://xgitlab.cels.anl.gov/api/v4/projects/hacc%2FSWFFT/repository/archive.tar.gz?sha=v1.0'),
-
- # 9th Pass: Version in path
-
- # github.com/repo/name/releases/download/name-vver/name
- ('nextflow', '0.20.1', 'https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow'),
- # ver/name
- ('ncbi', '2.2.26', 'ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz'),
-
- # Other tests for corner cases
-
- # single character name
- ('R', '3.3.2', 'https://cloud.r-project.org/src/base/R-3/R-3.3.2.tar.gz'),
- # name starts with digit
- ('3to2', '1.1.1', 'https://pypi.python.org/packages/source/3/3to2/3to2-1.1.1.zip'),
- # plus in name
- ('gtk+', '2.24.31', 'http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.31.tar.xz'),
- ('voro++', '0.4.6', 'http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz'),
- # Name comes before download.php
- ('sionlib', '1.7.1', 'http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1'),
- # Ignore download.php
- ('slepc', '3.6.2', 'http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz'),
- ('ScientificPython', '2.8.1',
- 'https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz'),
- # gloox beta style
- ('gloox', '1.0-beta7', 'http://camaya.net/download/gloox-1.0-beta7.tar.bz2'),
- # sphinx beta style
- ('sphinx', '1.10-beta', 'http://sphinxsearch.com/downloads/sphinx-1.10-beta.tar.gz'),
- # ruby version style
- ('ruby', '1.9.1-p243', 'ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz'),
- # rc style
- ('libvorbis', '1.2.2rc1', 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.2rc1.tar.bz2'),
- # dash rc style
- ('js', '1.8.0-rc1', 'http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz'),
- # apache version style
- ('apache-cassandra', '1.2.0-rc2',
- 'http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.0/apache-cassandra-1.2.0-rc2-bin.tar.gz'),
- # xaw3d version
- ('Xaw3d', '1.5E', 'ftp://ftp.visi.com/users/hawkeyd/X/Xaw3d-1.5E.tar.gz'),
- # fann version
- ('fann', '2.1.0beta', 'http://downloads.sourceforge.net/project/fann/fann/2.1.0beta/fann-2.1.0beta.zip'),
- # imap version
- ('imap', '2007f', 'ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz'),
- # suite3270 version
- ('suite3270', '3.3.12ga7',
- 'http://sourceforge.net/projects/x3270/files/x3270/3.3.12ga7/suite3270-3.3.12ga7-src.tgz'),
- # scalasca version
- ('cube', '4.2.3', 'http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz'),
- ('cube', '4.3-TP1', 'http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz'),
- # github raw url
- ('CLAMR', '2.0.7', 'https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true'),
- # luaposix version
- ('luaposix', '33.4.0', 'https://github.com/luaposix/luaposix/archive/release-v33.4.0.tar.gz'),
- # nco version
- ('nco', '4.6.2-beta03', 'https://github.com/nco/nco/archive/4.6.2-beta03.tar.gz'),
- ('nco', '4.6.3-alpha04', 'https://github.com/nco/nco/archive/4.6.3-alpha04.tar.gz'),
-])
+@pytest.mark.parametrize(
+ "name,version,url",
+ [
+ # Common Repositories - github downloads
+ # name/archive/ver.ver
+ ("nco", "4.6.2", "https://github.com/nco/nco/archive/4.6.2.tar.gz"),
+ # name/archive/vver.ver
+ ("vim", "8.0.0134", "https://github.com/vim/vim/archive/v8.0.0134.tar.gz"),
+ # name/archive/name-ver.ver
+ ("oce", "0.18", "https://github.com/tpaviot/oce/archive/OCE-0.18.tar.gz"),
+ # name/releases/download/vver/name-ver.ver
+ (
+ "libmesh",
+ "1.0.0",
+ "https://github.com/libMesh/libmesh/releases/download/v1.0.0/libmesh-1.0.0.tar.bz2",
+ ),
+ # name/tarball/vver.ver
+ ("git", "2.7.1", "https://github.com/git/git/tarball/v2.7.1"),
+ # name/zipball/vver.ver
+ ("git", "2.7.1", "https://github.com/git/git/zipball/v2.7.1"),
+ # Common Repositories - gitlab downloads
+ # name/repository/archive.ext?ref=vver.ver
+ (
+ "swiftsim",
+ "0.3.0",
+ "http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0",
+ ),
+ # /api/v4/projects/NAMESPACE%2Fname/repository/archive.ext?sha=vver.ver
+ (
+ "swiftsim",
+ "0.3.0",
+ "https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0",
+ ),
+ # name/repository/archive.ext?ref=name-ver.ver
+ (
+ "icet",
+ "1.2.3",
+ "https://gitlab.kitware.com/icet/icet/repository/archive.tar.gz?ref=IceT-1.2.3",
+ ),
+ # /api/v4/projects/NAMESPACE%2Fname/repository/archive.ext?sha=name-ver.ver
+ (
+ "icet",
+ "1.2.3",
+ "https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-1.2.3",
+ ),
+ # Common Repositories - bitbucket downloads
+ # name/get/ver.ver
+ ("eigen", "3.2.7", "https://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2"),
+ # name/get/vver.ver
+ ("hoomd-blue", "1.3.3", "https://bitbucket.org/glotzer/hoomd-blue/get/v1.3.3.tar.bz2"),
+ # name/downloads/name-ver.ver
+ (
+ "dolfin",
+ "2016.1.0",
+ "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-2016.1.0.tar.gz",
+ ),
+ # Common Repositories - sourceforge downloads
+ # name-ver.ver
+ ("libpng", "1.6.27", "http://download.sourceforge.net/libpng/libpng-1.6.27.tar.gz"),
+ (
+ "lcms2",
+ "2.6",
+ "http://downloads.sourceforge.net/project/lcms/lcms/2.6/lcms2-2.6.tar.gz",
+ ),
+ ("modules", "3.2.10", "http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz"),
+ # name-ver.ver.ext/download
+ (
+ "glew",
+ "2.0.0",
+ "https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download",
+ ),
+ # Common Repositories - cran downloads
+ # name.name_ver.ver-ver.ver
+ ("TH.data", "1.0-8", "https://cran.r-project.org/src/contrib/TH.data_1.0-8.tar.gz"),
+ ("knitr", "1.14", "https://cran.rstudio.com/src/contrib/knitr_1.14.tar.gz"),
+ ("devtools", "1.12.0", "https://cloud.r-project.org/src/contrib/devtools_1.12.0.tar.gz"),
+ # Common Repositories - pypi downloads
+ # name.name_name-ver.ver
+ ("3to2", "1.1.1", "https://pypi.python.org/packages/source/3/3to2/3to2-1.1.1.zip"),
+ (
+ "mpmath",
+ "0.19",
+ "https://pypi.python.org/packages/source/m/mpmath/mpmath-all-0.19.tar.gz",
+ ),
+ (
+ "pandas",
+ "0.16.0",
+ "https://pypi.python.org/packages/source/p/pandas/pandas-0.16.0.tar.gz#md5=bfe311f05dc0c351f8955fbd1e296e73",
+ ),
+ (
+ "sphinx_rtd_theme",
+ "0.1.10a0",
+ "https://pypi.python.org/packages/da/6b/1b75f13d8aa3333f19c6cdf1f0bc9f52ea739cae464fbee050307c121857/sphinx_rtd_theme-0.1.10a0.tar.gz",
+ ),
+ (
+ "backports.ssl_match_hostname",
+ "3.5.0.1",
+ "https://pypi.io/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz",
+ ),
+ # Common Repositories - bazaar downloads
+ ("libvterm", "681", "http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr681.tar.gz"),
+ # Common Tarball Formats
+ # 1st Pass: Simplest case
+ # Assume name contains no digits and version contains no letters
+ # name-ver.ver
+ ("libpng", "1.6.37", "http://download.sourceforge.net/libpng/libpng-1.6.37.tar.gz"),
+ # 2nd Pass: Version only
+ # Assume version contains no letters
+ # ver.ver
+ ("eigen", "3.2.7", "https://bitbucket.org/eigen/eigen/get/3.2.7.tar.bz2"),
+ # ver.ver-ver
+ (
+ "ImageMagick",
+ "7.0.2-7",
+ "https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz",
+ ),
+ # vver.ver
+ ("CGNS", "3.3.0", "https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz"),
+ # vver_ver
+ (
+ "luafilesystem",
+ "1_6_3",
+ "https://github.com/keplerproject/luafilesystem/archive/v1_6_3.tar.gz",
+ ),
+ # 3rd Pass: No separator characters are used
+ # Assume name contains no digits
+ # namever
+ ("turbolinux", "702", "file://{0}/turbolinux702.tar.gz".format(os.getcwd())),
+ ("nauty", "26r7", "http://pallini.di.uniroma1.it/nauty26r7.tar.gz"),
+ # 4th Pass: A single separator character is used
+ # Assume name contains no digits
+ # name-name-ver-ver
+ (
+ "Trilinos",
+ "12-10-1",
+ "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-10-1.tar.gz",
+ ),
+ (
+ "panda",
+ "2016-03-07",
+ "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar",
+ ),
+ ("gts", "121130", "http://gts.sourceforge.net/tarballs/gts-snapshot-121130.tar.gz"),
+ ("cdd", "061a", "http://www.cs.mcgill.ca/~fukuda/download/cdd/cdd-061a.tar.gz"),
+ # name_name_ver_ver
+ (
+ "tinyxml",
+ "2_6_2",
+ "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz",
+ ),
+ (
+ "boost",
+ "1_55_0",
+ "http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2",
+ ),
+ ("yorick", "2_2_04", "https://github.com/dhmunro/yorick/archive/y_2_2_04.tar.gz"),
+ (
+ "tbb",
+ "44_20160413",
+ "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160413oss_src.tgz",
+ ),
+ # name.name.ver.ver
+ ("prank", "150803", "http://wasabiapp.org/download/prank/prank.source.150803.tgz"),
+ ("jpeg", "9b", "http://www.ijg.org/files/jpegsrc.v9b.tar.gz"),
+ ("openjpeg", "2.1", "https://github.com/uclouvain/openjpeg/archive/version.2.1.tar.gz"),
+ # name.namever.ver
+ (
+ "atlas",
+ "3.11.34",
+ "http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2",
+ ),
+ (
+ "visit",
+ "2.10.1",
+ "http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz",
+ ),
+ ("geant", "4.10.01.p03", "http://geant4.cern.ch/support/source/geant4.10.01.p03.tar.gz"),
+ ("tcl", "8.6.5", "http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz"),
+ # 5th Pass: Two separator characters are used
+ # Name may contain digits, version may contain letters
+ # name-name-ver.ver
+ ("m4", "1.4.17", "https://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz"),
+ ("gmp", "6.0.0a", "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2"),
+ (
+ "LaunchMON",
+ "1.0.2",
+ "https://github.com/LLNL/LaunchMON/releases/download/v1.0.2/launchmon-v1.0.2.tar.gz",
+ ),
+ # name-ver-ver.ver
+ ("libedit", "20150325-3.1", "http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz"),
+ # name-name-ver_ver
+ ("icu4c", "57_1", "http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz"),
+ # name_name_ver.ver
+ (
+ "superlu_dist",
+ "4.1",
+ "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_4.1.tar.gz",
+ ),
+ ("pexsi", "0.9.0", "https://math.berkeley.edu/~linlin/pexsi/download/pexsi_v0.9.0.tar.gz"),
+ # name_name.ver.ver
+ ("fer", "696", "ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v696.tar.gz"),
+ # name_name_ver-ver
+ (
+ "Bridger",
+ "2014-12-01",
+ "https://downloads.sourceforge.net/project/rnaseqassembly/Bridger_r2014-12-01.tar.gz",
+ ),
+ # name-name-ver.ver-ver.ver
+ (
+ "sowing",
+ "1.1.23-p1",
+ "http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sowing-1.1.23-p1.tar.gz",
+ ),
+ (
+ "bib2xhtml",
+ "3.0-15-gf506",
+ "http://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-15-gf506.tar.gz",
+ ),
+ # namever.ver-ver.ver
+ (
+ "go",
+ "1.4-bootstrap-20161024",
+ "https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz",
+ ),
+ # 6th Pass: All three separator characters are used
+ # Name may contain digits, version may contain letters
+ # name_name-ver.ver
+ (
+ "the_silver_searcher",
+ "0.32.0",
+ "http://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz",
+ ),
+ (
+ "sphinx_rtd_theme",
+ "0.1.10a0",
+ "https://pypi.python.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-0.1.10a0.tar.gz",
+ ),
+ # name.name_ver.ver-ver.ver
+ ("TH.data", "1.0-8", "https://cran.r-project.org/src/contrib/TH.data_1.0-8.tar.gz"),
+ ("XML", "3.98-1.4", "https://cran.r-project.org/src/contrib/XML_3.98-1.4.tar.gz"),
+ # name-name-ver.ver_ver.ver
+ (
+ "pypar",
+ "2.1.5_108",
+ "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pypar/pypar-2.1.5_108.tgz",
+ ),
+ # name-namever.ver_ver.ver
+ (
+ "STAR-CCM+",
+ "11.06.010_02",
+ "file://{0}/STAR-CCM+11.06.010_02_linux-x86_64.tar.gz".format(os.getcwd()),
+ ),
+ # name-name_name-ver.ver
+ (
+ "PerlIO-utf8_strict",
+ "0.002",
+ "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.002.tar.gz",
+ ),
+ # Various extensions
+ # .tar.gz
+ (
+ "libXcursor",
+ "1.1.14",
+ "https://www.x.org/archive/individual/lib/libXcursor-1.1.14.tar.gz",
+ ),
+ # .tar.bz2
+ ("mpfr", "4.0.1", "https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tar.bz2"),
+ # .tar.xz
+ ("pkgconf", "1.5.4", "http://distfiles.dereferenced.org/pkgconf/pkgconf-1.5.4.tar.xz"),
+ # .tar.Z
+ (
+ "Gblocks",
+ "0.91b",
+ "http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.tar.Z",
+ ),
+ # .tar.zip
+ (
+ "bcl2fastq2",
+ "2.19.1.403",
+ "ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/bcl2fastq2-v2.19.1.403-tar.zip",
+ ),
+ # .tar, .TAR
+ (
+ "python-meep",
+ "1.4.2",
+ "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar",
+ ),
+ (
+ "python-meep",
+ "1.4.2",
+ "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.TAR",
+ ),
+ # .gz
+ ("libXcursor", "1.1.14", "https://www.x.org/archive/individual/lib/libXcursor-1.1.14.gz"),
+ # .bz2
+ ("mpfr", "4.0.1", "https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.bz2"),
+ # .xz
+ ("pkgconf", "1.5.4", "http://distfiles.dereferenced.org/pkgconf/pkgconf-1.5.4.xz"),
+ # .Z
+ (
+ "Gblocks",
+ "0.91b",
+ "http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.Z",
+ ),
+ # .zip
+ ("bliss", "0.73", "http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip"),
+ # .tgz
+ ("ADOL-C", "2.6.1", "http://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.6.1.tgz"),
+ # .tbz
+ ("mpfr", "4.0.1", "https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tbz"),
+ # .tbz2
+ ("mpfr", "4.0.1", "https://ftpmirror.gnu.org/mpfr/mpfr-4.0.1.tbz2"),
+ # .txz
+ ("kim-api", "2.1.0", "https://s3.openkim.org/kim-api/kim-api-2.1.0.txz"),
+ # 8th Pass: Query strings
+ # suffix queries
+ (
+ "swiftsim",
+ "0.3.0",
+ "http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0",
+ ),
+ (
+ "swiftsim",
+ "0.3.0",
+ "https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0",
+ ),
+ ("sionlib", "1.7.1", "http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1"),
+ ("jube2", "2.2.2", "https://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=2.2.2"),
+ (
+ "archive",
+ "1.0.0",
+ "https://code.ornl.gov/eck/papyrus/repository/archive.tar.bz2?ref=v1.0.0",
+ ),
+ (
+ "VecGeom",
+ "0.3.rc",
+ "https://gitlab.cern.ch/api/v4/projects/VecGeom%2FVecGeom/repository/archive.tar.gz?sha=v0.3.rc",
+ ),
+ (
+ "parsplice",
+ "1.1",
+ "https://gitlab.com/api/v4/projects/exaalt%2Fparsplice/repository/archive.tar.gz?sha=v1.1",
+ ),
+ (
+ "busco",
+ "2.0.1",
+ "https://gitlab.com/api/v4/projects/ezlab%2Fbusco/repository/archive.tar.gz?sha=2.0.1",
+ ),
+ (
+ "libaec",
+ "1.0.2",
+ "https://gitlab.dkrz.de/api/v4/projects/k202009%2Flibaec/repository/archive.tar.gz?sha=v1.0.2",
+ ),
+ (
+ "icet",
+ "2.1.1",
+ "https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-2.1.1",
+ ),
+ (
+ "vtk-m",
+ "1.3.0",
+ "https://gitlab.kitware.com/api/v4/projects/vtk%2Fvtk-m/repository/archive.tar.gz?sha=v1.3.0",
+ ),
+ (
+ "GATK",
+ "3.8-1-0-gf15c1c3ef",
+ "https://software.broadinstitute.org/gatk/download/auth?package=GATK-archive&version=3.8-1-0-gf15c1c3ef",
+ ),
+ # stem queries
+ (
+ "slepc",
+ "3.6.2",
+ "http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz",
+ ),
+ (
+ "otf",
+ "1.12.5salmon",
+ "http://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz",
+ ),
+ (
+ "eospac",
+ "6.4.0beta.1",
+ "http://laws-green.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.1_r20171213193219.tgz",
+ ),
+ (
+ "vampirtrace",
+ "5.14.4",
+ "http://wwwpub.zih.tu-dresden.de/~mlieber/dcount/dcount.php?package=vampirtrace&get=VampirTrace-5.14.4.tar.gz",
+ ),
+ ("EvtGen", "01.07.00", "https://evtgen.hepforge.org/downloads?f=EvtGen-01.07.00.tar.gz"),
+ # (we don't actually look for these, they are picked up
+ # during the preliminary stem parsing)
+ ("octopus", "6.0", "http://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz"),
+ (
+ "cloog",
+ "0.18.1",
+ "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz",
+ ),
+ (
+ "libxc",
+ "2.2.2",
+ "http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-2.2.2.tar.gz",
+ ),
+ (
+ "cistem",
+ "1.0.0-beta",
+ "https://cistem.org/system/tdf/upload3/cistem-1.0.0-beta-source-code.tar.gz?file=1&type=cistem_details&id=37&force=0",
+ ),
+ (
+ "Magics",
+ "4.1.0",
+ "https://confluence.ecmwf.int/download/attachments/3473464/Magics-4.1.0-Source.tar.gz?api=v2",
+ ),
+ (
+ "grib_api",
+ "1.17.0",
+ "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.17.0-Source.tar.gz?api=v2",
+ ),
+ (
+ "eccodes",
+ "2.2.0",
+ "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz?api=v2",
+ ),
+ (
+ "SWFFT",
+ "1.0",
+ "https://xgitlab.cels.anl.gov/api/v4/projects/hacc%2FSWFFT/repository/archive.tar.gz?sha=v1.0",
+ ),
+ # 9th Pass: Version in path
+ # github.com/repo/name/releases/download/name-vver/name
+ (
+ "nextflow",
+ "0.20.1",
+ "https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow",
+ ),
+ # ver/name
+ (
+ "ncbi",
+ "2.2.26",
+ "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz",
+ ),
+ # Other tests for corner cases
+ # single character name
+ ("R", "3.3.2", "https://cloud.r-project.org/src/base/R-3/R-3.3.2.tar.gz"),
+ # name starts with digit
+ ("3to2", "1.1.1", "https://pypi.python.org/packages/source/3/3to2/3to2-1.1.1.zip"),
+ # plus in name
+ (
+ "gtk+",
+ "2.24.31",
+ "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.31.tar.xz",
+ ),
+ ("voro++", "0.4.6", "http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz"),
+ # Name comes before download.php
+ ("sionlib", "1.7.1", "http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1"),
+ # Ignore download.php
+ (
+ "slepc",
+ "3.6.2",
+ "http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz",
+ ),
+ (
+ "ScientificPython",
+ "2.8.1",
+ "https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz",
+ ),
+ # gloox beta style
+ ("gloox", "1.0-beta7", "http://camaya.net/download/gloox-1.0-beta7.tar.bz2"),
+ # sphinx beta style
+ ("sphinx", "1.10-beta", "http://sphinxsearch.com/downloads/sphinx-1.10-beta.tar.gz"),
+ # ruby version style
+ ("ruby", "1.9.1-p243", "ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz"),
+ # rc style
+ (
+ "libvorbis",
+ "1.2.2rc1",
+ "http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.2rc1.tar.bz2",
+ ),
+ # dash rc style
+ ("js", "1.8.0-rc1", "http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz"),
+ # apache version style
+ (
+ "apache-cassandra",
+ "1.2.0-rc2",
+ "http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.0/apache-cassandra-1.2.0-rc2-bin.tar.gz",
+ ),
+ # xaw3d version
+ ("Xaw3d", "1.5E", "ftp://ftp.visi.com/users/hawkeyd/X/Xaw3d-1.5E.tar.gz"),
+ # fann version
+ (
+ "fann",
+ "2.1.0beta",
+ "http://downloads.sourceforge.net/project/fann/fann/2.1.0beta/fann-2.1.0beta.zip",
+ ),
+ # imap version
+ ("imap", "2007f", "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz"),
+ # suite3270 version
+ (
+ "suite3270",
+ "3.3.12ga7",
+ "http://sourceforge.net/projects/x3270/files/x3270/3.3.12ga7/suite3270-3.3.12ga7-src.tgz",
+ ),
+ # scalasca version
+ (
+ "cube",
+ "4.2.3",
+ "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz",
+ ),
+ (
+ "cube",
+ "4.3-TP1",
+ "http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz",
+ ),
+ # github raw url
+ (
+ "CLAMR",
+ "2.0.7",
+ "https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true",
+ ),
+ # luaposix version
+ (
+ "luaposix",
+ "33.4.0",
+ "https://github.com/luaposix/luaposix/archive/release-v33.4.0.tar.gz",
+ ),
+ # nco version
+ ("nco", "4.6.2-beta03", "https://github.com/nco/nco/archive/4.6.2-beta03.tar.gz"),
+ ("nco", "4.6.3-alpha04", "https://github.com/nco/nco/archive/4.6.3-alpha04.tar.gz"),
+ ],
+)
def test_url_parse_name_and_version(name, version, url):
# Make sure correct name and version are extracted.
parsed_name, parsed_version = parse_name_and_version(url)
@@ -559,10 +818,13 @@ def test_url_parse_name_and_version(name, version, url):
assert url == substitute_version(url, version)
-@pytest.mark.parametrize('not_detectable_url', [
- 'http://www.netlib.org/blas/blast-forum/cblas.tgz',
- 'http://www.netlib.org/voronoi/triangle.zip',
-])
+@pytest.mark.parametrize(
+ "not_detectable_url",
+ [
+ "http://www.netlib.org/blas/blast-forum/cblas.tgz",
+ "http://www.netlib.org/voronoi/triangle.zip",
+ ],
+)
def test_no_version(not_detectable_url):
with pytest.raises(UndetectableVersionError):
parse_name_and_version(not_detectable_url)
diff --git a/lib/spack/spack/test/url_substitution.py b/lib/spack/spack/test/url_substitution.py
index 50d8eea715..2c18f7c7bc 100644
--- a/lib/spack/spack/test/url_substitution.py
+++ b/lib/spack/spack/test/url_substitution.py
@@ -12,36 +12,65 @@ import pytest
import spack.url
-@pytest.mark.parametrize('base_url,version,expected', [
- # Ensures that substituting the same version results in the same URL
- ('http://www.mr511.de/software/libelf-0.8.13.tar.gz', '0.8.13',
- 'http://www.mr511.de/software/libelf-0.8.13.tar.gz'),
- # Test a completely different version syntax
- ('http://www.prevanders.net/libdwarf-20130729.tar.gz', '8.12',
- 'http://www.prevanders.net/libdwarf-8.12.tar.gz'),
- # Test a URL where the version appears twice
- # It should get substituted both times
- ('https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz', '2.1.3',
- 'https://github.com/hpc/mpileaks/releases/download/v2.1.3/mpileaks-2.1.3.tar.gz'),
- # Test now with a partial prefix earlier in the URL
- # This is hard to figure out so Spack only substitutes
- # the last instance of the version
- ('https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.0.tar.bz2', '2.2.0',
- 'https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.2.0.tar.bz2'),
- ('https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.0.tar.bz2', '2.2',
- 'https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.2.tar.bz2'),
- # No separator between the name and version of the package
- ('file://{0}/turbolinux702.tar.gz'.format(os.getcwd()), '703',
- 'file://{0}/turbolinux703.tar.gz'.format(os.getcwd())),
-
- ('https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true', '2.0.7',
- 'https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true'),
- ('https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true', '4.7',
- 'https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v4.7.tgz?raw=true'),
- # Package name contains regex characters
- ('http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz', '1.2.3',
- 'http://math.lbl.gov/voro++/download/dir/voro++-1.2.3.tar.gz'),
-])
+@pytest.mark.parametrize(
+ "base_url,version,expected",
+ [
+ # Ensures that substituting the same version results in the same URL
+ (
+ "http://www.mr511.de/software/libelf-0.8.13.tar.gz",
+ "0.8.13",
+ "http://www.mr511.de/software/libelf-0.8.13.tar.gz",
+ ),
+ # Test a completely different version syntax
+ (
+ "http://www.prevanders.net/libdwarf-20130729.tar.gz",
+ "8.12",
+ "http://www.prevanders.net/libdwarf-8.12.tar.gz",
+ ),
+ # Test a URL where the version appears twice
+ # It should get substituted both times
+ (
+ "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz",
+ "2.1.3",
+ "https://github.com/hpc/mpileaks/releases/download/v2.1.3/mpileaks-2.1.3.tar.gz",
+ ),
+ # Test now with a partial prefix earlier in the URL
+ # This is hard to figure out so Spack only substitutes
+ # the last instance of the version
+ (
+ "https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.0.tar.bz2",
+ "2.2.0",
+ "https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.2.0.tar.bz2",
+ ),
+ (
+ "https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.0.tar.bz2",
+ "2.2",
+ "https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.2.tar.bz2",
+ ),
+ # No separator between the name and version of the package
+ (
+ "file://{0}/turbolinux702.tar.gz".format(os.getcwd()),
+ "703",
+ "file://{0}/turbolinux703.tar.gz".format(os.getcwd()),
+ ),
+ (
+ "https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true",
+ "2.0.7",
+ "https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true",
+ ),
+ (
+ "https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true",
+ "4.7",
+ "https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v4.7.tgz?raw=true",
+ ),
+ # Package name contains regex characters
+ (
+ "http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz",
+ "1.2.3",
+ "http://math.lbl.gov/voro++/download/dir/voro++-1.2.3.tar.gz",
+ ),
+ ],
+)
def test_url_substitution(base_url, version, expected):
computed = spack.url.substitute_version(base_url, version)
assert computed == expected
diff --git a/lib/spack/spack/test/util/compression.py b/lib/spack/spack/test/util/compression.py
index ed2cf1fa51..13d1a44a73 100644
--- a/lib/spack/spack/test/util/compression.py
+++ b/lib/spack/spack/test/util/compression.py
@@ -14,12 +14,14 @@ from spack.paths import spack_root
from spack.util import compression as scomp
from spack.util.executable import CommandNotFoundError
-datadir = os.path.join(spack_root, 'lib', 'spack',
- 'spack', 'test', 'data', 'compression')
+datadir = os.path.join(spack_root, "lib", "spack", "spack", "test", "data", "compression")
ext_archive = {}
-[ext_archive.update({ext: '.'.join(['Foo', ext])}) for
- ext in scomp.ALLOWED_ARCHIVE_TYPES if 'TAR' not in ext]
+[
+ ext_archive.update({ext: ".".join(["Foo", ext])})
+ for ext in scomp.ALLOWED_ARCHIVE_TYPES
+ if "TAR" not in ext
+]
def support_stub():
@@ -28,23 +30,23 @@ def support_stub():
@pytest.fixture
def compr_support_check(monkeypatch):
- monkeypatch.setattr(scomp, 'lzma_support', support_stub)
- monkeypatch.setattr(scomp, 'tar_support', support_stub)
- monkeypatch.setattr(scomp, 'gzip_support', support_stub)
- monkeypatch.setattr(scomp, 'bz2_support', support_stub)
+ monkeypatch.setattr(scomp, "lzma_support", support_stub)
+ monkeypatch.setattr(scomp, "tar_support", support_stub)
+ monkeypatch.setattr(scomp, "gzip_support", support_stub)
+ monkeypatch.setattr(scomp, "bz2_support", support_stub)
@pytest.fixture
def archive_file(tmpdir_factory, request):
"""Copy example archive to temp directory for test"""
- archive_file_stub = os.path.join(datadir, 'Foo')
+ archive_file_stub = os.path.join(datadir, "Foo")
extension = request.param
- tmpdir = tmpdir_factory.mktemp('compression')
- shutil.copy(archive_file_stub + '.' + extension, str(tmpdir))
- return os.path.join(str(tmpdir), 'Foo.%s' % extension)
+ tmpdir = tmpdir_factory.mktemp("compression")
+ shutil.copy(archive_file_stub + "." + extension, str(tmpdir))
+ return os.path.join(str(tmpdir), "Foo.%s" % extension)
-@pytest.mark.parametrize('archive_file', ext_archive.keys(), indirect=True)
+@pytest.mark.parametrize("archive_file", ext_archive.keys(), indirect=True)
def test_native_unpacking(tmpdir_factory, archive_file):
extension = scomp.extension(archive_file)
util = scomp.decompressor_for(archive_file, extension)
@@ -54,12 +56,12 @@ def test_native_unpacking(tmpdir_factory, archive_file):
util(archive_file)
files = os.listdir(os.getcwd())
assert len(files) == 1
- with open(files[0], 'r') as f:
+ with open(files[0], "r") as f:
contents = f.read()
- assert 'TEST' in contents
+ assert "TEST" in contents
-@pytest.mark.parametrize('archive_file', ext_archive.keys(), indirect=True)
+@pytest.mark.parametrize("archive_file", ext_archive.keys(), indirect=True)
def test_system_unpacking(tmpdir_factory, archive_file, compr_support_check):
extension = scomp.extension(archive_file)
# actually run test
@@ -70,29 +72,29 @@ def test_system_unpacking(tmpdir_factory, archive_file, compr_support_check):
util(archive_file)
files = os.listdir(os.getcwd())
assert len(files) == 1
- with open(files[0], 'r') as f:
+ with open(files[0], "r") as f:
contents = f.read()
- assert 'TEST' in contents
+ assert "TEST" in contents
def test_unallowed_extension():
- bad_ext_archive = 'Foo.py'
+ bad_ext_archive = "Foo.py"
with pytest.raises(CommandNotFoundError):
- scomp.decompressor_for(bad_ext_archive, 'py')
+ scomp.decompressor_for(bad_ext_archive, "py")
-@pytest.mark.parametrize('archive', ext_archive.values())
+@pytest.mark.parametrize("archive", ext_archive.values())
def test_get_extension(archive):
ext = scomp.extension(archive)
assert ext_archive[ext] == archive
def test_get_bad_extension():
- archive = 'Foo.py'
+ archive = "Foo.py"
ext = scomp.extension(archive)
assert ext is None
-@pytest.mark.parametrize('path', ext_archive.values())
+@pytest.mark.parametrize("path", ext_archive.values())
def test_allowed_archvie(path):
assert scomp.allowed_archive(path)
diff --git a/lib/spack/spack/test/util/editor.py b/lib/spack/spack/test/util/editor.py
index 54b1c251fe..2266d96a57 100644
--- a/lib/spack/spack/test/util/editor.py
+++ b/lib/spack/spack/test/util/editor.py
@@ -12,137 +12,136 @@ from llnl.util.filesystem import set_executable
import spack.util.editor as ed
-pytestmark = [pytest.mark.usefixtures('working_env'),
- pytest.mark.skipif(sys.platform == 'win32',
- reason="editor not implemented on windows")]
+pytestmark = [
+ pytest.mark.usefixtures("working_env"),
+ pytest.mark.skipif(sys.platform == "win32", reason="editor not implemented on windows"),
+]
def _make_exe(tmpdir_factory, name, contents=None):
if sys.platform == "win32":
- name += '.exe'
- path = str(tmpdir_factory.mktemp('%s_exe' % name).join(name))
+ name += ".exe"
+ path = str(tmpdir_factory.mktemp("%s_exe" % name).join(name))
if contents is not None:
- with open(path, 'w') as f:
- f.write('#!/bin/sh\n%s\n' % contents)
+ with open(path, "w") as f:
+ f.write("#!/bin/sh\n%s\n" % contents)
set_executable(path)
return path
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def good_exe(tmpdir_factory):
- return _make_exe(tmpdir_factory, 'good', 'exit 0')
+ return _make_exe(tmpdir_factory, "good", "exit 0")
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def bad_exe(tmpdir_factory):
- return _make_exe(tmpdir_factory, 'bad', 'exit 1')
+ return _make_exe(tmpdir_factory, "bad", "exit 1")
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def nosuch_exe(tmpdir_factory):
- return _make_exe(tmpdir_factory, 'nosuch')
+ return _make_exe(tmpdir_factory, "nosuch")
-@pytest.fixture(scope='session')
+@pytest.fixture(scope="session")
def vim_exe(tmpdir_factory):
- return _make_exe(tmpdir_factory, 'vim', 'exit 0')
+ return _make_exe(tmpdir_factory, "vim", "exit 0")
def test_find_exe_from_env_var(good_exe):
- os.environ['EDITOR'] = good_exe
- assert ed._find_exe_from_env_var('EDITOR') == (good_exe, [good_exe])
+ os.environ["EDITOR"] = good_exe
+ assert ed._find_exe_from_env_var("EDITOR") == (good_exe, [good_exe])
def test_find_exe_from_env_var_with_args(good_exe):
- os.environ['EDITOR'] = good_exe + ' a b c'
- assert ed._find_exe_from_env_var('EDITOR') == (
- good_exe, [good_exe, 'a', 'b', 'c'])
+ os.environ["EDITOR"] = good_exe + " a b c"
+ assert ed._find_exe_from_env_var("EDITOR") == (good_exe, [good_exe, "a", "b", "c"])
def test_find_exe_from_env_var_bad_path(nosuch_exe):
- os.environ['EDITOR'] = nosuch_exe
- assert ed._find_exe_from_env_var('FOO') == (None, [])
+ os.environ["EDITOR"] = nosuch_exe
+ assert ed._find_exe_from_env_var("FOO") == (None, [])
def test_find_exe_from_env_var_no_editor():
- if 'FOO' in os.environ:
- os.environ.unset('FOO')
- assert ed._find_exe_from_env_var('FOO') == (None, [])
+ if "FOO" in os.environ:
+ os.environ.unset("FOO")
+ assert ed._find_exe_from_env_var("FOO") == (None, [])
def test_editor_visual(good_exe):
- os.environ['VISUAL'] = good_exe
+ os.environ["VISUAL"] = good_exe
def assert_exec(exe, args):
assert exe == good_exe
- assert args == [good_exe, '/path/to/file']
+ assert args == [good_exe, "/path/to/file"]
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ ed.editor("/path/to/file", _exec_func=assert_exec)
def test_editor_visual_bad(good_exe, bad_exe):
- os.environ['VISUAL'] = bad_exe
- os.environ['EDITOR'] = good_exe
+ os.environ["VISUAL"] = bad_exe
+ os.environ["EDITOR"] = good_exe
def assert_exec(exe, args):
if exe == bad_exe:
raise OSError()
assert exe == good_exe
- assert args == [good_exe, '/path/to/file']
+ assert args == [good_exe, "/path/to/file"]
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ ed.editor("/path/to/file", _exec_func=assert_exec)
def test_editor_no_visual(good_exe):
- if 'VISUAL' in os.environ:
- del os.environ['VISUAL']
- os.environ['EDITOR'] = good_exe
+ if "VISUAL" in os.environ:
+ del os.environ["VISUAL"]
+ os.environ["EDITOR"] = good_exe
def assert_exec(exe, args):
assert exe == good_exe
- assert args == [good_exe, '/path/to/file']
+ assert args == [good_exe, "/path/to/file"]
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ ed.editor("/path/to/file", _exec_func=assert_exec)
def test_editor_no_visual_with_args(good_exe):
- if 'VISUAL' in os.environ:
- del os.environ['VISUAL']
+ if "VISUAL" in os.environ:
+ del os.environ["VISUAL"]
# editor has extra args in the var (e.g., emacs -nw)
- os.environ['EDITOR'] = good_exe + ' -nw --foo'
+ os.environ["EDITOR"] = good_exe + " -nw --foo"
def assert_exec(exe, args):
assert exe == good_exe
- assert args == [good_exe, '-nw', '--foo', '/path/to/file']
+ assert args == [good_exe, "-nw", "--foo", "/path/to/file"]
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ ed.editor("/path/to/file", _exec_func=assert_exec)
def test_editor_both_bad(nosuch_exe, vim_exe):
- os.environ['VISUAL'] = nosuch_exe
- os.environ['EDITOR'] = nosuch_exe
+ os.environ["VISUAL"] = nosuch_exe
+ os.environ["EDITOR"] = nosuch_exe
- os.environ['PATH'] = '%s%s%s' % (
- os.path.dirname(vim_exe), os.pathsep, os.environ['PATH'])
+ os.environ["PATH"] = "%s%s%s" % (os.path.dirname(vim_exe), os.pathsep, os.environ["PATH"])
def assert_exec(exe, args):
assert exe == vim_exe
- assert args == [vim_exe, '/path/to/file']
+ assert args == [vim_exe, "/path/to/file"]
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ ed.editor("/path/to/file", _exec_func=assert_exec)
def test_no_editor():
- if 'VISUAL' in os.environ:
- del os.environ['VISUAL']
- if 'EDITOR' in os.environ:
- del os.environ['EDITOR']
- os.environ['PATH'] = ''
+ if "VISUAL" in os.environ:
+ del os.environ["VISUAL"]
+ if "EDITOR" in os.environ:
+ del os.environ["EDITOR"]
+ os.environ["PATH"] = ""
def assert_exec(exe, args):
assert False
- with pytest.raises(EnvironmentError, match=r'No text editor found.*'):
- ed.editor('/path/to/file', _exec_func=assert_exec)
+ with pytest.raises(EnvironmentError, match=r"No text editor found.*"):
+ ed.editor("/path/to/file", _exec_func=assert_exec)
diff --git a/lib/spack/spack/test/util/environment.py b/lib/spack/spack/test/util/environment.py
index 1e28590e80..fba126058f 100644
--- a/lib/spack/spack/test/util/environment.py
+++ b/lib/spack/spack/test/util/environment.py
@@ -11,135 +11,135 @@ import pytest
import spack.util.environment as envutil
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
@pytest.fixture()
def prepare_environment_for_tests():
- if 'TEST_ENV_VAR' in os.environ:
- del os.environ['TEST_ENV_VAR']
+ if "TEST_ENV_VAR" in os.environ:
+ del os.environ["TEST_ENV_VAR"]
yield
- del os.environ['TEST_ENV_VAR']
+ del os.environ["TEST_ENV_VAR"]
def test_is_system_path():
- sys_path = 'C:\\Users' if is_windows else '/usr/bin'
- assert(envutil.is_system_path(sys_path))
- assert(not envutil.is_system_path('/nonsense_path/bin'))
- assert(not envutil.is_system_path(''))
- assert(not envutil.is_system_path(None))
+ sys_path = "C:\\Users" if is_windows else "/usr/bin"
+ assert envutil.is_system_path(sys_path)
+ assert not envutil.is_system_path("/nonsense_path/bin")
+ assert not envutil.is_system_path("")
+ assert not envutil.is_system_path(None)
if is_windows:
test_paths = [
- 'C:\\Users',
- 'C:\\',
- 'C:\\ProgramData',
- 'C:\\nonsense_path',
- 'C:\\Program Files',
- 'C:\\nonsense_path\\extra\\bin']
+ "C:\\Users",
+ "C:\\",
+ "C:\\ProgramData",
+ "C:\\nonsense_path",
+ "C:\\Program Files",
+ "C:\\nonsense_path\\extra\\bin",
+ ]
else:
- test_paths = ['/usr/bin',
- '/nonsense_path/lib',
- '/usr/local/lib',
- '/bin',
- '/nonsense_path/extra/bin',
- '/usr/lib64']
+ test_paths = [
+ "/usr/bin",
+ "/nonsense_path/lib",
+ "/usr/local/lib",
+ "/bin",
+ "/nonsense_path/extra/bin",
+ "/usr/lib64",
+ ]
def test_filter_system_paths():
- nonsense_prefix = 'C:\\nonsense_path' if is_windows else '/nonsense_path'
+ nonsense_prefix = "C:\\nonsense_path" if is_windows else "/nonsense_path"
expected = [p for p in test_paths if p.startswith(nonsense_prefix)]
filtered = envutil.filter_system_paths(test_paths)
- assert(expected == filtered)
+ assert expected == filtered
def deprioritize_system_paths():
- expected = [p for p in test_paths if p.startswith('/nonsense_path')]
- expected.extend([p for p in test_paths
- if not p.startswith('/nonsense_path')])
+ expected = [p for p in test_paths if p.startswith("/nonsense_path")]
+ expected.extend([p for p in test_paths if not p.startswith("/nonsense_path")])
filtered = envutil.deprioritize_system_paths(test_paths)
- assert(expected == filtered)
+ assert expected == filtered
def test_prune_duplicate_paths():
- test_paths = ['/a/b', '/a/c', '/a/b', '/a/a', '/a/c', '/a/a/..']
- expected = ['/a/b', '/a/c', '/a/a', '/a/a/..']
- assert(expected == envutil.prune_duplicate_paths(test_paths))
+ test_paths = ["/a/b", "/a/c", "/a/b", "/a/a", "/a/c", "/a/a/.."]
+ expected = ["/a/b", "/a/c", "/a/a", "/a/a/.."]
+ assert expected == envutil.prune_duplicate_paths(test_paths)
def test_get_path(prepare_environment_for_tests):
- os.environ['TEST_ENV_VAR'] = os.pathsep.join(['/a', '/b', '/c/d'])
- expected = ['/a', '/b', '/c/d']
- assert(envutil.get_path('TEST_ENV_VAR') == expected)
+ os.environ["TEST_ENV_VAR"] = os.pathsep.join(["/a", "/b", "/c/d"])
+ expected = ["/a", "/b", "/c/d"]
+ assert envutil.get_path("TEST_ENV_VAR") == expected
def test_env_flag(prepare_environment_for_tests):
- assert(not envutil.env_flag('TEST_NO_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = '1'
- assert(envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'TRUE'
- assert(envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'True'
- assert(envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'TRue'
- assert(envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'true'
- assert(envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = '27'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = '-2.3'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = '0'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'False'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'false'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
- os.environ['TEST_ENV_VAR'] = 'garbage'
- assert(not envutil.env_flag('TEST_ENV_VAR'))
+ assert not envutil.env_flag("TEST_NO_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "1"
+ assert envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "TRUE"
+ assert envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "True"
+ assert envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "TRue"
+ assert envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "true"
+ assert envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "27"
+ assert not envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "-2.3"
+ assert not envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "0"
+ assert not envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "False"
+ assert not envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "false"
+ assert not envutil.env_flag("TEST_ENV_VAR")
+ os.environ["TEST_ENV_VAR"] = "garbage"
+ assert not envutil.env_flag("TEST_ENV_VAR")
def test_path_set(prepare_environment_for_tests):
- envutil.path_set('TEST_ENV_VAR', ['/a', '/a/b', '/a/a'])
- assert(os.environ['TEST_ENV_VAR'] == '/a' + os.pathsep
- + '/a/b' + os.pathsep + '/a/a')
+ envutil.path_set("TEST_ENV_VAR", ["/a", "/a/b", "/a/a"])
+ assert os.environ["TEST_ENV_VAR"] == "/a" + os.pathsep + "/a/b" + os.pathsep + "/a/a"
def test_path_put_first(prepare_environment_for_tests):
- envutil.path_set('TEST_ENV_VAR', test_paths)
- expected = ['/usr/bin', '/new_nonsense_path/a/b']
- expected.extend([p for p in test_paths if p != '/usr/bin'])
- envutil.path_put_first('TEST_ENV_VAR', expected)
- assert(envutil.get_path('TEST_ENV_VAR') == expected)
+ envutil.path_set("TEST_ENV_VAR", test_paths)
+ expected = ["/usr/bin", "/new_nonsense_path/a/b"]
+ expected.extend([p for p in test_paths if p != "/usr/bin"])
+ envutil.path_put_first("TEST_ENV_VAR", expected)
+ assert envutil.get_path("TEST_ENV_VAR") == expected
def test_dump_environment(prepare_environment_for_tests, tmpdir):
- test_paths = '/a:/b/x:/b/c'
- os.environ['TEST_ENV_VAR'] = test_paths
- dumpfile_path = str(tmpdir.join('envdump.txt'))
+ test_paths = "/a:/b/x:/b/c"
+ os.environ["TEST_ENV_VAR"] = test_paths
+ dumpfile_path = str(tmpdir.join("envdump.txt"))
envutil.dump_environment(dumpfile_path)
- with open(dumpfile_path, 'r') as dumpfile:
- assert('TEST_ENV_VAR={0}; export TEST_ENV_VAR\n'.format(test_paths)
- in list(dumpfile))
+ with open(dumpfile_path, "r") as dumpfile:
+ assert "TEST_ENV_VAR={0}; export TEST_ENV_VAR\n".format(test_paths) in list(dumpfile)
def test_reverse_environment_modifications(working_env):
start_env = {
- 'PREPEND_PATH': os.sep + os.path.join('path', 'to', 'prepend', 'to'),
- 'APPEND_PATH': os.sep + os.path.join('path', 'to', 'append', 'to'),
- 'UNSET': 'var_to_unset',
- 'APPEND_FLAGS': 'flags to append to',
+ "PREPEND_PATH": os.sep + os.path.join("path", "to", "prepend", "to"),
+ "APPEND_PATH": os.sep + os.path.join("path", "to", "append", "to"),
+ "UNSET": "var_to_unset",
+ "APPEND_FLAGS": "flags to append to",
}
to_reverse = envutil.EnvironmentModifications()
- to_reverse.prepend_path('PREPEND_PATH', '/new/path/prepended')
- to_reverse.append_path('APPEND_PATH', '/new/path/appended')
- to_reverse.set_path('SET_PATH', ['/one/set/path', '/two/set/path'])
- to_reverse.set('SET', 'a var')
- to_reverse.unset('UNSET')
- to_reverse.append_flags('APPEND_FLAGS', 'more_flags')
+ to_reverse.prepend_path("PREPEND_PATH", "/new/path/prepended")
+ to_reverse.append_path("APPEND_PATH", "/new/path/appended")
+ to_reverse.set_path("SET_PATH", ["/one/set/path", "/two/set/path"])
+ to_reverse.set("SET", "a var")
+ to_reverse.unset("UNSET")
+ to_reverse.append_flags("APPEND_FLAGS", "more_flags")
reversal = to_reverse.reversed()
@@ -151,5 +151,5 @@ def test_reverse_environment_modifications(working_env):
reversal.apply_modifications()
print(os.environ)
- start_env.pop('UNSET')
+ start_env.pop("UNSET")
assert os.environ == start_env
diff --git a/lib/spack/spack/test/util/executable.py b/lib/spack/spack/test/util/executable.py
index ea9213f063..8d360ea4e9 100644
--- a/lib/spack/spack/test/util/executable.py
+++ b/lib/spack/spack/test/util/executable.py
@@ -14,77 +14,81 @@ import spack
import spack.util.executable as ex
from spack.hooks.sbang import filter_shebangs_in_directory
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def test_read_unicode(tmpdir, working_env):
- script_name = 'print_unicode.py'
+ script_name = "print_unicode.py"
# read the unicode back in and see whether things work
if is_windows:
- script = ex.Executable('%s %s' % (sys.executable, script_name))
+ script = ex.Executable("%s %s" % (sys.executable, script_name))
else:
- script = ex.Executable('./%s' % script_name)
+ script = ex.Executable("./%s" % script_name)
with tmpdir.as_cwd():
- os.environ['LD_LIBRARY_PATH'] = spack.main.spack_ld_library_path
+ os.environ["LD_LIBRARY_PATH"] = spack.main.spack_ld_library_path
# make a script that prints some unicode
- with open(script_name, 'w') as f:
- f.write('''#!{0}
+ with open(script_name, "w") as f:
+ f.write(
+ """#!{0}
from __future__ import print_function
import sys
if sys.version_info < (3, 0, 0):
reload(sys)
sys.setdefaultencoding('utf8')
print(u'\\xc3')
-'''.format(sys.executable))
+""".format(
+ sys.executable
+ )
+ )
# make it executable
fs.set_executable(script_name)
- filter_shebangs_in_directory('.', [script_name])
+ filter_shebangs_in_directory(".", [script_name])
- assert u'\xc3' == script(output=str).strip()
+ assert u"\xc3" == script(output=str).strip()
def test_which_relative_path_with_slash(tmpdir, working_env):
tmpdir.ensure("exe")
path = str(tmpdir.join("exe"))
- os.environ['PATH'] = ''
+ os.environ["PATH"] = ""
with tmpdir.as_cwd():
- no_exe = ex.which('.{0}exe'.format(os.path.sep))
+ no_exe = ex.which(".{0}exe".format(os.path.sep))
assert no_exe is None
if sys.platform == "win32":
# These checks are for 'executable' files, Windows
# determines this by file extension.
path += ".exe"
- tmpdir.ensure('exe.exe')
+ tmpdir.ensure("exe.exe")
else:
fs.set_executable(path)
- exe = ex.which('.{0}exe'.format(os.path.sep))
+ exe = ex.which(".{0}exe".format(os.path.sep))
assert exe.path == path
def test_which_with_slash_ignores_path(tmpdir, working_env):
- tmpdir.ensure('exe')
- tmpdir.ensure('bin{0}exe'.format(os.path.sep))
+ tmpdir.ensure("exe")
+ tmpdir.ensure("bin{0}exe".format(os.path.sep))
- path = str(tmpdir.join('exe'))
- wrong_path = str(tmpdir.join('bin', 'exe'))
- os.environ['PATH'] = os.path.dirname(wrong_path)
+ path = str(tmpdir.join("exe"))
+ wrong_path = str(tmpdir.join("bin", "exe"))
+ os.environ["PATH"] = os.path.dirname(wrong_path)
with tmpdir.as_cwd():
if sys.platform == "win32":
# For Windows, need to create files with .exe after any assert is none tests
- tmpdir.ensure('exe.exe')
- tmpdir.ensure('bin{0}exe.exe'.format(os.path.sep))
+ tmpdir.ensure("exe.exe")
+ tmpdir.ensure("bin{0}exe.exe".format(os.path.sep))
path = path + ".exe"
wrong_path = wrong_path + ".exe"
else:
fs.set_executable(path)
fs.set_executable(wrong_path)
- exe = ex.which('.{0}exe'.format(os.path.sep))
+ exe = ex.which(".{0}exe".format(os.path.sep))
assert exe.path == path
diff --git a/lib/spack/spack/test/util/file_cache.py b/lib/spack/spack/test/util/file_cache.py
index 815b21fb38..024ce329b3 100644
--- a/lib/spack/spack/test/util/file_cache.py
+++ b/lib/spack/spack/test/util/file_cache.py
@@ -22,12 +22,12 @@ def file_cache(tmpdir):
def test_write_and_read_cache_file(file_cache):
"""Test writing then reading a cached file."""
- with file_cache.write_transaction('test.yaml') as (old, new):
+ with file_cache.write_transaction("test.yaml") as (old, new):
assert old is None
assert new is not None
new.write("foobar\n")
- with file_cache.read_transaction('test.yaml') as stream:
+ with file_cache.read_transaction("test.yaml") as stream:
text = stream.read()
assert text == "foobar\n"
@@ -37,70 +37,69 @@ def test_write_and_remove_cache_file(file_cache):
entry from it.
"""
- with file_cache.write_transaction('test.yaml') as (old, new):
+ with file_cache.write_transaction("test.yaml") as (old, new):
assert old is None
assert new is not None
new.write("foobar\n")
- with file_cache.write_transaction('test.yaml') as (old, new):
+ with file_cache.write_transaction("test.yaml") as (old, new):
assert old is not None
text = old.read()
assert text == "foobar\n"
assert new is not None
new.write("barbaz\n")
- with file_cache.read_transaction('test.yaml') as stream:
+ with file_cache.read_transaction("test.yaml") as stream:
text = stream.read()
assert text == "barbaz\n"
- file_cache.remove('test.yaml')
+ file_cache.remove("test.yaml")
# After removal the file should not exist
- assert not os.path.exists(file_cache.cache_path('test.yaml'))
+ assert not os.path.exists(file_cache.cache_path("test.yaml"))
# Whether the lock file exists is more of an implementation detail, on Linux they
# continue to exist, on Windows they don't.
# assert os.path.exists(file_cache._lock_path('test.yaml'))
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_cache_init_entry_fails(file_cache):
"""Test init_entry failures."""
- relpath = fs.join_path('test-dir', 'read-only-file.txt')
+ relpath = fs.join_path("test-dir", "read-only-file.txt")
cachefile = file_cache.cache_path(relpath)
fs.touchp(cachefile)
# Ensure directory causes exception
- with pytest.raises(CacheError, match='not a file'):
+ with pytest.raises(CacheError, match="not a file"):
file_cache.init_entry(os.path.dirname(relpath))
# Ensure non-readable file causes exception
os.chmod(cachefile, 0o200)
- with pytest.raises(CacheError, match='Cannot access cache file'):
+ with pytest.raises(CacheError, match="Cannot access cache file"):
file_cache.init_entry(relpath)
# Ensure read-only parent causes exception
- relpath = fs.join_path('test-dir', 'another-file.txxt')
+ relpath = fs.join_path("test-dir", "another-file.txxt")
cachefile = file_cache.cache_path(relpath)
os.chmod(os.path.dirname(cachefile), 0o400)
- with pytest.raises(CacheError, match='Cannot access cache dir'):
+ with pytest.raises(CacheError, match="Cannot access cache dir"):
file_cache.init_entry(relpath)
def test_cache_write_readonly_cache_fails(file_cache):
"""Test writing a read-only cached file."""
- filename = 'read-only-file.txt'
+ filename = "read-only-file.txt"
path = file_cache.cache_path(filename)
fs.touch(path)
os.chmod(path, 0o400)
- with pytest.raises(CacheError, match='Insufficient permissions to write'):
+ with pytest.raises(CacheError, match="Insufficient permissions to write"):
file_cache.write_transaction(filename)
-@pytest.mark.regression('31475')
+@pytest.mark.regression("31475")
def test_delete_is_idempotent(file_cache):
"""Deleting a non-existent key should be idempotent, to simplify life when
running delete with multiple processes"""
- file_cache.remove('test.yaml')
+ file_cache.remove("test.yaml")
diff --git a/lib/spack/spack/test/util/log_parser.py b/lib/spack/spack/test/util/log_parser.py
index c8cc30dd00..9ffd7d8958 100644
--- a/lib/spack/spack/test/util/log_parser.py
+++ b/lib/spack/spack/test/util/log_parser.py
@@ -7,10 +7,11 @@ from ctest_log_parser import CTestLogParser
def test_log_parser(tmpdir):
- log_file = tmpdir.join('log.txt')
+ log_file = tmpdir.join("log.txt")
- with log_file.open('w') as f:
- f.write("""#!/bin/sh\n
+ with log_file.open("w") as f:
+ f.write(
+ """#!/bin/sh\n
checking build system type... x86_64-apple-darwin16.6.0
checking host system type... x86_64-apple-darwin16.6.0
error: weird_error.c:145: something weird happened E
@@ -22,13 +23,14 @@ ld: fatal: linker thing happened E
checking for suffix of executables...
configure: error: in /path/to/some/file: E
configure: error: cannot run C compiled programs. E
-""")
+"""
+ )
parser = CTestLogParser()
errors, warnings = parser.parse(str(log_file))
assert len(errors) == 4
- assert all(e.text.endswith('E') for e in errors)
+ assert all(e.text.endswith("E") for e in errors)
assert len(warnings) == 1
- assert all(w.text.endswith('W') for w in warnings)
+ assert all(w.text.endswith("W") for w in warnings)
diff --git a/lib/spack/spack/test/util/mock_package.py b/lib/spack/spack/test/util/mock_package.py
index 177b39cbec..9f8e8e297f 100644
--- a/lib/spack/spack/test/util/mock_package.py
+++ b/lib/spack/spack/test/util/mock_package.py
@@ -9,29 +9,24 @@ from spack.util.mock_package import MockPackageMultiRepo
def test_mock_package_possible_dependencies():
mock_repo = MockPackageMultiRepo()
- e = mock_repo.add_package('e')
- d = mock_repo.add_package('d', [e])
- c = mock_repo.add_package('c', [d])
- b = mock_repo.add_package('b', [d])
- a = mock_repo.add_package('a', [b, c])
+ e = mock_repo.add_package("e")
+ d = mock_repo.add_package("d", [e])
+ c = mock_repo.add_package("c", [d])
+ b = mock_repo.add_package("b", [d])
+ a = mock_repo.add_package("a", [b, c])
with spack.repo.use_repositories(mock_repo):
- assert set(a.possible_dependencies()) == set(['a', 'b', 'c', 'd', 'e'])
- assert set(b.possible_dependencies()) == set(['b', 'd', 'e'])
- assert set(c.possible_dependencies()) == set(['c', 'd', 'e'])
- assert set(d.possible_dependencies()) == set(['d', 'e'])
- assert set(e.possible_dependencies()) == set(['e'])
-
- assert set(
- a.possible_dependencies(transitive=False)) == set(['a', 'b', 'c'])
- assert set(
- b.possible_dependencies(transitive=False)) == set(['b', 'd'])
- assert set(
- c.possible_dependencies(transitive=False)) == set(['c', 'd'])
- assert set(
- d.possible_dependencies(transitive=False)) == set(['d', 'e'])
- assert set(
- e.possible_dependencies(transitive=False)) == set(['e'])
+ assert set(a.possible_dependencies()) == set(["a", "b", "c", "d", "e"])
+ assert set(b.possible_dependencies()) == set(["b", "d", "e"])
+ assert set(c.possible_dependencies()) == set(["c", "d", "e"])
+ assert set(d.possible_dependencies()) == set(["d", "e"])
+ assert set(e.possible_dependencies()) == set(["e"])
+
+ assert set(a.possible_dependencies(transitive=False)) == set(["a", "b", "c"])
+ assert set(b.possible_dependencies(transitive=False)) == set(["b", "d"])
+ assert set(c.possible_dependencies(transitive=False)) == set(["c", "d"])
+ assert set(d.possible_dependencies(transitive=False)) == set(["d", "e"])
+ assert set(e.possible_dependencies(transitive=False)) == set(["e"])
def test_mock_repo_is_virtual():
diff --git a/lib/spack/spack/test/util/package_hash.py b/lib/spack/spack/test/util/package_hash.py
index f8b1bd5067..c4c2083331 100644
--- a/lib/spack/spack/test/util/package_hash.py
+++ b/lib/spack/spack/test/util/package_hash.py
@@ -20,13 +20,9 @@ datadir = os.path.join(spack.paths.test_path, "data", "unparse")
def compare_sans_name(eq, spec1, spec2):
content1 = ph.canonical_source(spec1)
- content1 = content1.replace(
- spack.repo.path.get_pkg_class(spec1.name).__name__, 'TestPackage'
- )
+ content1 = content1.replace(spack.repo.path.get_pkg_class(spec1.name).__name__, "TestPackage")
content2 = ph.canonical_source(spec2)
- content2 = content2.replace(
- spack.repo.path.get_pkg_class(spec2.name).__name__, 'TestPackage'
- )
+ content2 = content2.replace(spack.repo.path.get_pkg_class(spec2.name).__name__, "TestPackage")
if eq:
assert content1 == content2
else:
@@ -36,12 +32,12 @@ def compare_sans_name(eq, spec1, spec2):
def compare_hash_sans_name(eq, spec1, spec2):
content1 = ph.canonical_source(spec1)
pkg_cls1 = spack.repo.path.get_pkg_class(spec1.name)
- content1 = content1.replace(pkg_cls1.__name__, 'TestPackage')
+ content1 = content1.replace(pkg_cls1.__name__, "TestPackage")
hash1 = pkg_cls1(spec1).content_hash(content=content1)
content2 = ph.canonical_source(spec2)
pkg_cls2 = spack.repo.path.get_pkg_class(spec2.name)
- content2 = content2.replace(pkg_cls2.__name__, 'TestPackage')
+ content2 = content2.replace(pkg_cls2.__name__, "TestPackage")
hash2 = pkg_cls2(spec2).content_hash(content=content2)
if eq:
@@ -131,13 +127,13 @@ def test_content_hash_different_variants(mock_packages, config):
def test_content_hash_cannot_get_details_from_ast(mock_packages, config):
"""Packages hash-test1 and hash-test3 would be considered the same
- except that hash-test3 conditionally executes a phase based on
- a "when" directive that Spack cannot evaluate by examining the
- AST. This test ensures that Spack can compute a content hash
- for hash-test3. If Spack cannot determine when a phase applies,
- it adds it by default, so the test also ensures that the hashes
- differ where Spack includes a phase on account of AST-examination
- failure.
+ except that hash-test3 conditionally executes a phase based on
+ a "when" directive that Spack cannot evaluate by examining the
+ AST. This test ensures that Spack can compute a content hash
+ for hash-test3. If Spack cannot determine when a phase applies,
+ it adds it by default, so the test also ensures that the hashes
+ differ where Spack includes a phase on account of AST-examination
+ failure.
"""
spec3 = Spec("hash-test1@1.7").concretized()
spec4 = Spec("hash-test3@1.7").concretized()
@@ -217,9 +213,9 @@ class HasManyDirectives:
pass
{directives}
-""".format(directives="\n".join(
- " %s()" % name for name in spack.directives.directive_names
-))
+""".format(
+ directives="\n".join(" %s()" % name for name in spack.directives.directive_names)
+)
def test_remove_all_directives():
@@ -337,23 +333,26 @@ def test_remove_complex_package_logic_filtered():
assert unparsed == complex_package_logic_filtered
-@pytest.mark.parametrize("package_spec,expected_hash", [
- ("amdfftw", "tivb752zddjgvfkogfs7cnnvp5olj6co"),
- ("grads", "rrlmwml3f2frdnqavmro3ias66h5b2ce"),
- ("llvm", "nufffum5dabmaf4l5tpfcblnbfjknvd3"),
- # has @when("@4.1.0") and raw unicode literals
- ("mfem", "tiiv7uq7v2xtv24vdij5ptcv76dpazrw"),
- ("mfem@4.0.0", "tiiv7uq7v2xtv24vdij5ptcv76dpazrw"),
- ("mfem@4.1.0", "gxastq64to74qt4he4knpyjfdhh5auel"),
- # has @when("@1.5.0:")
- ("py-torch", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"),
- ("py-torch@1.0", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"),
- ("py-torch@1.6", "p4ine4hc6f2ik2f2wyuwieslqbozll5w"),
- # has a print with multiple arguments
- ("legion", "zdpawm4avw3fllxcutvmqb5c3bj5twqt"),
- # has nested `with when()` blocks and loops
- ("trilinos", "vqrgscjrla4hi7bllink7v6v6dwxgc2p"),
-])
+@pytest.mark.parametrize(
+ "package_spec,expected_hash",
+ [
+ ("amdfftw", "tivb752zddjgvfkogfs7cnnvp5olj6co"),
+ ("grads", "rrlmwml3f2frdnqavmro3ias66h5b2ce"),
+ ("llvm", "nufffum5dabmaf4l5tpfcblnbfjknvd3"),
+ # has @when("@4.1.0") and raw unicode literals
+ ("mfem", "tiiv7uq7v2xtv24vdij5ptcv76dpazrw"),
+ ("mfem@4.0.0", "tiiv7uq7v2xtv24vdij5ptcv76dpazrw"),
+ ("mfem@4.1.0", "gxastq64to74qt4he4knpyjfdhh5auel"),
+ # has @when("@1.5.0:")
+ ("py-torch", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"),
+ ("py-torch@1.0", "qs7djgqn7dy7r3ps4g7hv2pjvjk4qkhd"),
+ ("py-torch@1.6", "p4ine4hc6f2ik2f2wyuwieslqbozll5w"),
+ # has a print with multiple arguments
+ ("legion", "zdpawm4avw3fllxcutvmqb5c3bj5twqt"),
+ # has nested `with when()` blocks and loops
+ ("trilinos", "vqrgscjrla4hi7bllink7v6v6dwxgc2p"),
+ ],
+)
def test_package_hash_consistency(package_spec, expected_hash):
"""Ensure that that package hash is consistent python version to version.
diff --git a/lib/spack/spack/test/util/path.py b/lib/spack/spack/test/util/path.py
index 11989517f9..ccefe8ff1f 100644
--- a/lib/spack/spack/test/util/path.py
+++ b/lib/spack/spack/test/util/path.py
@@ -13,7 +13,7 @@ import llnl.util.tty as tty
import spack.config
import spack.util.path as sup
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
#: Some lines with lots of placeholders
@@ -35,20 +35,19 @@ fixed_lines = [
def test_sanitze_file_path(tmpdir):
"""Test filtering illegal characters out of potential file paths"""
# *nix illegal files characters are '/' and none others
- illegal_file_path = str(tmpdir) + '//' + 'abcdefghi.txt'
+ illegal_file_path = str(tmpdir) + "//" + "abcdefghi.txt"
if is_windows:
# Windows has a larger set of illegal characters
illegal_file_path = os.path.join(tmpdir, 'a<b>cd?e:f"g|h*i.txt')
real_path = sup.sanitize_file_path(illegal_file_path)
- assert real_path == os.path.join(str(tmpdir), 'abcdefghi.txt')
+ assert real_path == os.path.join(str(tmpdir), "abcdefghi.txt")
# This class pertains to path string padding manipulation specifically
# which is used for binary caching. This functionality is not supported
# on Windows as of yet.
-@pytest.mark.skipif(is_windows,
- reason='Padding funtionality unsupported on Windows')
-class TestPathPadding():
+@pytest.mark.skipif(is_windows, reason="Padding funtionality unsupported on Windows")
+class TestPathPadding:
@pytest.mark.parametrize("padded,fixed", zip(padded_lines, fixed_lines))
def test_padding_substitution(self, padded, fixed):
"""Ensure that all padded lines are unpadded correctly."""
@@ -56,7 +55,7 @@ class TestPathPadding():
def test_no_substitution(self):
"""Ensure that a line not containing one full path placeholder
- is not modified."""
+ is not modified."""
partial = "--prefix=/Users/gamblin2/padding-log-test/opt/__spack_path_pla/darwin-bigsur-skylake/apple-clang-12.0.5/zlib-1.2.11-74mwnxgn6nujehpyyalhwizwojwn5zga'" # noqa: E501
assert sup.padding_filter(partial) == partial
@@ -74,12 +73,8 @@ class TestPathPadding():
def test_longest_prefix_re(self):
"""Test that longest_prefix_re generates correct regular expressions."""
- assert "(s(?:t(?:r(?:i(?:ng?)?)?)?)?)" == sup.longest_prefix_re(
- "string", capture=True
- )
- assert "(?:s(?:t(?:r(?:i(?:ng?)?)?)?)?)" == sup.longest_prefix_re(
- "string", capture=False
- )
+ assert "(s(?:t(?:r(?:i(?:ng?)?)?)?)?)" == sup.longest_prefix_re("string", capture=True)
+ assert "(?:s(?:t(?:r(?:i(?:ng?)?)?)?)?)" == sup.longest_prefix_re("string", capture=False)
def test_output_filtering(self, capfd, install_mockery, mutable_config):
"""Test filtering padding out of tty messages."""
@@ -87,7 +82,7 @@ class TestPathPadding():
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}):
+ 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)
diff --git a/lib/spack/spack/test/util/prefix.py b/lib/spack/spack/test/util/prefix.py
index 8cd92306b5..479c165e2b 100644
--- a/lib/spack/spack/test/util/prefix.py
+++ b/lib/spack/spack/test/util/prefix.py
@@ -12,36 +12,36 @@ from spack.util.prefix import Prefix
def test_prefix_attributes():
"""Test normal prefix attributes like ``prefix.bin``"""
- prefix = Prefix(os.sep + 'usr')
+ prefix = Prefix(os.sep + "usr")
- assert prefix.bin == os.sep + os.path.join('usr', 'bin')
- assert prefix.lib == os.sep + os.path.join('usr', 'lib')
- assert prefix.include == os.sep + os.path.join('usr', 'include')
+ assert prefix.bin == os.sep + os.path.join("usr", "bin")
+ assert prefix.lib == os.sep + os.path.join("usr", "lib")
+ assert prefix.include == os.sep + os.path.join("usr", "include")
def test_prefix_join():
"""Test prefix join ``prefix.join(...)``"""
- prefix = Prefix(os.sep + 'usr')
+ prefix = Prefix(os.sep + "usr")
- a1 = prefix.join('a_{0}'.format(1)).lib64
- a2 = prefix.join('a-{0}'.format(1)).lib64
- a3 = prefix.join('a.{0}'.format(1)).lib64
+ a1 = prefix.join("a_{0}".format(1)).lib64
+ a2 = prefix.join("a-{0}".format(1)).lib64
+ a3 = prefix.join("a.{0}".format(1)).lib64
- assert a1 == os.sep + os.path.join('usr', 'a_1', 'lib64')
- assert a2 == os.sep + os.path.join('usr', 'a-1', 'lib64')
- assert a3 == os.sep + os.path.join('usr', 'a.1', 'lib64')
+ assert a1 == os.sep + os.path.join("usr", "a_1", "lib64")
+ assert a2 == os.sep + os.path.join("usr", "a-1", "lib64")
+ assert a3 == os.sep + os.path.join("usr", "a.1", "lib64")
assert isinstance(a1, Prefix)
assert isinstance(a2, Prefix)
assert isinstance(a3, Prefix)
- p1 = prefix.bin.join('executable.sh')
- p2 = prefix.share.join('pkg-config').join('foo.pc')
- p3 = prefix.join('dashed-directory').foo
+ p1 = prefix.bin.join("executable.sh")
+ p2 = prefix.share.join("pkg-config").join("foo.pc")
+ p3 = prefix.join("dashed-directory").foo
- assert p1 == os.sep + os.path.join('usr', 'bin', 'executable.sh')
- assert p2 == os.sep + os.path.join('usr', 'share', 'pkg-config', 'foo.pc')
- assert p3 == os.sep + os.path.join('usr', 'dashed-directory', 'foo')
+ assert p1 == os.sep + os.path.join("usr", "bin", "executable.sh")
+ assert p2 == os.sep + os.path.join("usr", "share", "pkg-config", "foo.pc")
+ assert p3 == os.sep + os.path.join("usr", "dashed-directory", "foo")
assert isinstance(p1, Prefix)
assert isinstance(p2, Prefix)
@@ -50,29 +50,29 @@ def test_prefix_join():
def test_multilevel_attributes():
"""Test attributes of attributes, like ``prefix.share.man``"""
- prefix = Prefix(os.sep + 'usr' + os.sep)
+ prefix = Prefix(os.sep + "usr" + os.sep)
- assert prefix.share.man == os.sep + os.path.join('usr', 'share', 'man')
- assert prefix.man.man8 == os.sep + os.path.join('usr', 'man', 'man8')
- assert prefix.foo.bar.baz == os.sep + os.path.join('usr', 'foo', 'bar', 'baz')
+ assert prefix.share.man == os.sep + os.path.join("usr", "share", "man")
+ assert prefix.man.man8 == os.sep + os.path.join("usr", "man", "man8")
+ assert prefix.foo.bar.baz == os.sep + os.path.join("usr", "foo", "bar", "baz")
share = prefix.share
assert isinstance(share, Prefix)
- assert share.man == os.sep + os.path.join('usr', 'share', 'man')
+ assert share.man == os.sep + os.path.join("usr", "share", "man")
def test_string_like_behavior():
"""Test string-like behavior of the prefix object"""
- prefix = Prefix('/usr')
+ prefix = Prefix("/usr")
- assert prefix == '/usr'
+ assert prefix == "/usr"
assert isinstance(prefix, str)
- assert prefix + '/bin' == '/usr/bin'
- assert '--prefix=%s' % prefix == '--prefix=/usr'
- assert '--prefix={0}'.format(prefix) == '--prefix=/usr'
+ assert prefix + "/bin" == "/usr/bin"
+ assert "--prefix=%s" % prefix == "--prefix=/usr"
+ assert "--prefix={0}".format(prefix) == "--prefix=/usr"
- assert prefix.find('u', 1)
- assert prefix.upper() == '/USR'
- assert prefix.lstrip('/') == 'usr'
+ assert prefix.find("u", 1)
+ assert prefix.upper() == "/USR"
+ assert prefix.lstrip("/") == "usr"
diff --git a/lib/spack/spack/test/util/spack_lock_wrapper.py b/lib/spack/spack/test/util/spack_lock_wrapper.py
index 7dd0212279..a590e95804 100644
--- a/lib/spack/spack/test/util/spack_lock_wrapper.py
+++ b/lib/spack/spack/test/util/spack_lock_wrapper.py
@@ -16,11 +16,11 @@ import spack.util.lock as lk
def test_disable_locking(tmpdir):
"""Ensure that locks do no real locking when disabled."""
- lock_path = str(tmpdir.join('lockfile'))
+ lock_path = str(tmpdir.join("lockfile"))
- old_value = spack.config.get('config:locks')
+ old_value = spack.config.get("config:locks")
- with spack.config.override('config:locks', False):
+ with spack.config.override("config:locks", False):
lock = lk.Lock(lock_path)
lock.acquire_read()
@@ -35,7 +35,7 @@ def test_disable_locking(tmpdir):
lock.release_read()
assert not os.path.exists(lock_path)
- assert old_value == spack.config.get('config:locks')
+ assert old_value == spack.config.get("config:locks")
# "Disable" mock_stage fixture to avoid subdir permissions issues on cleanup.
diff --git a/lib/spack/spack/test/util/spack_yaml.py b/lib/spack/spack/test/util/spack_yaml.py
index 8cde827b62..600c6d5bef 100644
--- a/lib/spack/spack/test/util/spack_yaml.py
+++ b/lib/spack/spack/test/util/spack_yaml.py
@@ -8,13 +8,13 @@ import re
import spack.config
from spack.main import SpackCommand
-config_cmd = SpackCommand('config')
+config_cmd = SpackCommand("config")
def get_config_line(pattern, lines):
"""Get a configuration line that matches a particular pattern."""
line = next((x for x in lines if re.search(pattern, x)), None)
- assert line is not None, 'no such line!'
+ assert line is not None, "no such line!"
return line
@@ -29,42 +29,42 @@ def check_blame(element, file_name, line=None):
``file_name``, which may just be a name for a special config scope
like ``_builtin`` or ``command_line``.
"""
- output = config_cmd('blame', 'config')
+ output = config_cmd("blame", "config")
- blame_lines = output.rstrip().split('\n')
- element_line = get_config_line(element + ':', blame_lines)
+ blame_lines = output.rstrip().split("\n")
+ element_line = get_config_line(element + ":", blame_lines)
annotation = file_name
if line is not None:
- annotation += ':%d' % line
+ annotation += ":%d" % line
assert file_name in element_line
def test_config_blame(config):
"""check blame info for elements in mock configuration."""
- config_file = config.get_config_filename('site', 'config')
+ config_file = config.get_config_filename("site", "config")
- check_blame('install_tree', config_file, 2)
- check_blame('source_cache', config_file, 11)
- check_blame('misc_cache', config_file, 12)
- check_blame('verify_ssl', config_file, 13)
- check_blame('checksum', config_file, 14)
- check_blame('dirty', config_file, 15)
+ check_blame("install_tree", config_file, 2)
+ check_blame("source_cache", config_file, 11)
+ check_blame("misc_cache", config_file, 12)
+ check_blame("verify_ssl", config_file, 13)
+ check_blame("checksum", config_file, 14)
+ check_blame("dirty", config_file, 15)
def test_config_blame_with_override(config):
"""check blame for an element from an override scope"""
- config_file = config.get_config_filename('site', 'config')
+ config_file = config.get_config_filename("site", "config")
- with spack.config.override('config:install_tree', {'root': 'foobar'}):
- check_blame('install_tree', 'overrides')
+ with spack.config.override("config:install_tree", {"root": "foobar"}):
+ check_blame("install_tree", "overrides")
- check_blame('source_cache', config_file, 11)
- check_blame('misc_cache', config_file, 12)
- check_blame('verify_ssl', config_file, 13)
- check_blame('checksum', config_file, 14)
- check_blame('dirty', config_file, 15)
+ check_blame("source_cache", config_file, 11)
+ check_blame("misc_cache", config_file, 12)
+ check_blame("verify_ssl", config_file, 13)
+ check_blame("checksum", config_file, 14)
+ check_blame("dirty", config_file, 15)
def test_config_blame_defaults():
diff --git a/lib/spack/spack/test/util/unparse/unparse.py b/lib/spack/spack/test/util/unparse/unparse.py
index f3a74aa9b7..217f67f35d 100644
--- a/lib/spack/spack/test/util/unparse/unparse.py
+++ b/lib/spack/spack/test/util/unparse/unparse.py
@@ -17,8 +17,9 @@ else:
import spack.util.unparse
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason="Test module unsupported on Windows")
+pytestmark = pytest.mark.skipif(
+ sys.platform == "win32", reason="Test module unsupported on Windows"
+)
def read_pyfile(filename):
@@ -193,34 +194,28 @@ def test_core_lib_files():
"""Roundtrip source files from the Python core libs."""
test_directories = [
os.path.join(
- getattr(sys, 'real_prefix', sys.prefix),
- 'lib',
- 'python%s.%s' % sys.version_info[:2]
+ getattr(sys, "real_prefix", sys.prefix), "lib", "python%s.%s" % sys.version_info[:2]
)
]
names = []
for test_dir in test_directories:
for n in os.listdir(test_dir):
- if n.endswith('.py') and not n.startswith('bad'):
+ if n.endswith(".py") and not n.startswith("bad"):
names.append(os.path.join(test_dir, n))
for filename in names:
- print('Testing %s' % filename)
+ print("Testing %s" % filename)
source = read_pyfile(filename)
check_ast_roundtrip(source)
-@pytest.mark.skipif(
- sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater"
-)
+@pytest.mark.skipif(sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater")
def test_simple_fstring():
check_ast_roundtrip("f'{x}'")
-@pytest.mark.skipif(
- sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater"
-)
+@pytest.mark.skipif(sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater")
def test_fstrings():
# See issue 25180
check_ast_roundtrip(r"""f'{f"{0}"*3}'""")
@@ -229,23 +224,20 @@ def test_fstrings():
check_ast_roundtrip('''f"""'end' "quote\\""""''')
-@pytest.mark.skipif(
- sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater"
-)
+@pytest.mark.skipif(sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater")
def test_fstrings_complicated():
# See issue 28002
check_ast_roundtrip("""f'''{"'"}'''""")
check_ast_roundtrip('''f\'\'\'-{f"""*{f"+{f'.{x}.'}+"}*"""}-\'\'\'''')
- check_ast_roundtrip(
- '''f\'\'\'-{f"""*{f"+{f'.{x}.'}+"}*"""}-'single quote\\'\'\'\'''')
- check_ast_roundtrip('f"""{\'\'\'\n\'\'\'}"""')
- check_ast_roundtrip('f"""{g(\'\'\'\n\'\'\')}"""')
+ check_ast_roundtrip('''f\'\'\'-{f"""*{f"+{f'.{x}.'}+"}*"""}-'single quote\\'\'\'\'''')
+ check_ast_roundtrip("f\"\"\"{'''\n'''}\"\"\"")
+ check_ast_roundtrip("f\"\"\"{g('''\n''')}\"\"\"")
check_ast_roundtrip('''f"a\\r\\nb"''')
check_ast_roundtrip('''f"\\u2028{'x'}"''')
def test_parser_modes():
- for mode in ['exec', 'single', 'eval']:
+ for mode in ["exec", "single", "eval"]:
check_ast_roundtrip(code_parseable_in_all_parser_modes, mode=mode)
@@ -294,8 +286,8 @@ def test_min_int27():
@pytest.mark.skipif(not six.PY3, reason="Only works for Python 3")
def test_min_int30():
- check_ast_roundtrip(str(-2**31))
- check_ast_roundtrip(str(-2**63))
+ check_ast_roundtrip(str(-(2 ** 31)))
+ check_ast_roundtrip(str(-(2 ** 63)))
def test_imaginary_literals():
@@ -399,10 +391,7 @@ def test_repr():
check_ast_roundtrip(a_repr)
-@pytest.mark.skipif(
- sys.version_info[:2] < (3, 6),
- reason="Only for Python 3.6 or greater"
-)
+@pytest.mark.skipif(sys.version_info[:2] < (3, 6), reason="Only for Python 3.6 or greater")
def test_complex_f_string():
check_ast_roundtrip(complex_f_string)
diff --git a/lib/spack/spack/test/util/util_gpg.py b/lib/spack/spack/test/util/util_gpg.py
index c37ae0ca4f..b8116561ee 100644
--- a/lib/spack/spack/test/util/util_gpg.py
+++ b/lib/spack/spack/test/util/util_gpg.py
@@ -30,8 +30,8 @@ ssb::2048:1:AAAAAAAAAAAAAAAA:AAAAAAAAAA::::::::::
keys = spack.util.gpg._parse_secret_keys_output(output)
assert len(keys) == 2
- assert keys[0] == 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- assert keys[1] == 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
+ assert keys[0] == "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
+ assert keys[1] == "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
def test_parse_gpg_output_case_two():
@@ -47,7 +47,7 @@ grp:::::::::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:
keys = spack.util.gpg._parse_secret_keys_output(output)
assert len(keys) == 1
- assert keys[0] == 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
+ assert keys[0] == "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
def test_parse_gpg_output_case_three():
@@ -66,28 +66,25 @@ fpr:::::::::ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ:"""
keys = spack.util.gpg._parse_secret_keys_output(output)
assert len(keys) == 2
- assert keys[0] == 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW'
- assert keys[1] == 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
+ assert keys[0] == "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW"
+ assert keys[1] == "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
-@pytest.mark.requires_executables('gpg2')
+@pytest.mark.requires_executables("gpg2")
def test_really_long_gnupghome_dir(tmpdir, has_socket_dir):
if not has_socket_dir:
- pytest.skip('This test requires /var/run/user/$(id -u)')
+ pytest.skip("This test requires /var/run/user/$(id -u)")
N = 960
tdir = str(tmpdir)
while len(tdir) < N:
- tdir = os.path.join(tdir, 'filler')
+ tdir = os.path.join(tdir, "filler")
tdir = tdir[:N].rstrip(os.sep)
- tdir += '0' * (N - len(tdir))
+ tdir += "0" * (N - len(tdir))
with spack.util.gpg.gnupghome_override(tdir):
spack.util.gpg.create(
- name='Spack testing 1',
- email='test@spack.io',
- comment='Spack testing key',
- expires='0'
+ name="Spack testing 1", email="test@spack.io", comment="Spack testing key", expires="0"
)
spack.util.gpg.list(True, True)
diff --git a/lib/spack/spack/test/util/util_string.py b/lib/spack/spack/test/util/util_string.py
index 411f026de6..a1f58600b6 100644
--- a/lib/spack/spack/test/util/util_string.py
+++ b/lib/spack/spack/test/util/util_string.py
@@ -7,8 +7,8 @@ from spack.util.string import plural
def test_plural():
- assert plural(0, 'thing') == '0 things'
- assert plural(1, 'thing') == '1 thing'
- assert plural(2, 'thing') == '2 things'
- assert plural(1, 'thing', 'wombats') == '1 thing'
- assert plural(2, 'thing', 'wombats') == '2 wombats'
+ assert plural(0, "thing") == "0 things"
+ assert plural(1, "thing") == "1 thing"
+ assert plural(2, "thing") == "2 things"
+ assert plural(1, "thing", "wombats") == "1 thing"
+ assert plural(2, "thing", "wombats") == "2 wombats"
diff --git a/lib/spack/spack/test/util/util_url.py b/lib/spack/spack/test/util/util_url.py
index 971375d9cc..38361fbf82 100644
--- a/lib/spack/spack/test/util/util_url.py
+++ b/lib/spack/spack/test/util/util_url.py
@@ -16,214 +16,203 @@ import spack.paths
import spack.util.url as url_util
from spack.util.path import convert_to_posix_path
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
if is_windows:
- drive_m = re.search(r'[A-Za-z]:', spack.paths.test_path)
+ drive_m = re.search(r"[A-Za-z]:", spack.paths.test_path)
drive = drive_m.group() if drive_m else None
def test_url_parse():
- parsed = url_util.parse('/path/to/resource', scheme='fake')
- assert(parsed.scheme == 'fake')
- assert(parsed.netloc == '')
- assert(parsed.path == '/path/to/resource')
-
- parsed = url_util.parse('file:///path/to/resource')
- assert(parsed.scheme == 'file')
- assert(parsed.netloc == '')
- assert(parsed.path == '/path/to/resource')
-
- parsed = url_util.parse('file:///path/to/resource', scheme='fake')
- assert(parsed.scheme == 'file')
- assert(parsed.netloc == '')
- assert(parsed.path == '/path/to/resource')
-
- parsed = url_util.parse('file://path/to/resource')
- assert(parsed.scheme == 'file')
- expected = convert_to_posix_path(
- os.path.abspath(
- posixpath.join('path', 'to', 'resource')))
+ parsed = url_util.parse("/path/to/resource", scheme="fake")
+ assert parsed.scheme == "fake"
+ assert parsed.netloc == ""
+ assert parsed.path == "/path/to/resource"
+
+ parsed = url_util.parse("file:///path/to/resource")
+ assert parsed.scheme == "file"
+ assert parsed.netloc == ""
+ assert parsed.path == "/path/to/resource"
+
+ parsed = url_util.parse("file:///path/to/resource", scheme="fake")
+ assert parsed.scheme == "file"
+ assert parsed.netloc == ""
+ assert parsed.path == "/path/to/resource"
+
+ parsed = url_util.parse("file://path/to/resource")
+ assert parsed.scheme == "file"
+ expected = convert_to_posix_path(os.path.abspath(posixpath.join("path", "to", "resource")))
if is_windows:
expected = expected.lstrip(drive)
- assert(parsed.path == expected)
+ assert parsed.path == expected
if is_windows:
- parsed = url_util.parse('file://%s\\path\\to\\resource' % drive)
- assert(parsed.scheme == 'file')
- expected = '/' + posixpath.join('path', 'to', 'resource')
+ parsed = url_util.parse("file://%s\\path\\to\\resource" % drive)
+ assert parsed.scheme == "file"
+ expected = "/" + posixpath.join("path", "to", "resource")
assert parsed.path == expected
- parsed = url_util.parse('https://path/to/resource')
- assert(parsed.scheme == 'https')
- assert(parsed.netloc == 'path')
- assert(parsed.path == '/to/resource')
+ parsed = url_util.parse("https://path/to/resource")
+ assert parsed.scheme == "https"
+ assert parsed.netloc == "path"
+ assert parsed.path == "/to/resource"
- parsed = url_util.parse('gs://path/to/resource')
- assert(parsed.scheme == 'gs')
- assert(parsed.netloc == 'path')
- assert(parsed.path == '/to/resource')
+ parsed = url_util.parse("gs://path/to/resource")
+ assert parsed.scheme == "gs"
+ assert parsed.netloc == "path"
+ assert parsed.path == "/to/resource"
spack_root = spack.paths.spack_root
- parsed = url_util.parse('file://$spack')
- assert(parsed.scheme == 'file')
+ parsed = url_util.parse("file://$spack")
+ assert parsed.scheme == "file"
if is_windows:
- spack_root = '/' + convert_to_posix_path(spack_root)
+ spack_root = "/" + convert_to_posix_path(spack_root)
- assert(parsed.netloc + parsed.path == spack_root)
+ assert parsed.netloc + parsed.path == spack_root
def test_url_local_file_path():
spack_root = spack.paths.spack_root
sep = os.path.sep
- lfp = url_util.local_file_path('/a/b/c.txt')
- assert(lfp == sep + os.path.join('a', 'b', 'c.txt'))
+ lfp = url_util.local_file_path("/a/b/c.txt")
+ assert lfp == sep + os.path.join("a", "b", "c.txt")
- lfp = url_util.local_file_path('file:///a/b/c.txt')
- assert(lfp == sep + os.path.join('a', 'b', 'c.txt'))
+ lfp = url_util.local_file_path("file:///a/b/c.txt")
+ assert lfp == sep + os.path.join("a", "b", "c.txt")
if is_windows:
- lfp = url_util.local_file_path('file://a/b/c.txt')
- expected = os.path.abspath(os.path.join('a', 'b', 'c.txt'))
- assert(lfp == expected)
+ lfp = url_util.local_file_path("file://a/b/c.txt")
+ expected = os.path.abspath(os.path.join("a", "b", "c.txt"))
+ assert lfp == expected
- lfp = url_util.local_file_path('file://$spack/a/b/c.txt')
- expected = os.path.abspath(os.path.join(spack_root, 'a', 'b', 'c.txt'))
- assert(lfp == expected)
+ lfp = url_util.local_file_path("file://$spack/a/b/c.txt")
+ expected = os.path.abspath(os.path.join(spack_root, "a", "b", "c.txt"))
+ assert lfp == expected
if is_windows:
- lfp = url_util.local_file_path('file:///$spack/a/b/c.txt')
- expected = os.path.abspath(os.path.join(spack_root, 'a', 'b', 'c.txt'))
- assert(lfp == expected)
+ lfp = url_util.local_file_path("file:///$spack/a/b/c.txt")
+ expected = os.path.abspath(os.path.join(spack_root, "a", "b", "c.txt"))
+ assert lfp == expected
- lfp = url_util.local_file_path('file://$spack/a/b/c.txt')
- expected = os.path.abspath(os.path.join(spack_root, 'a', 'b', 'c.txt'))
- assert(lfp == expected)
+ lfp = url_util.local_file_path("file://$spack/a/b/c.txt")
+ expected = os.path.abspath(os.path.join(spack_root, "a", "b", "c.txt"))
+ assert lfp == expected
# not a file:// URL - so no local file path
- lfp = url_util.local_file_path('http:///a/b/c.txt')
- assert(lfp is None)
+ lfp = url_util.local_file_path("http:///a/b/c.txt")
+ assert lfp is None
- lfp = url_util.local_file_path('http://a/b/c.txt')
- assert(lfp is None)
+ lfp = url_util.local_file_path("http://a/b/c.txt")
+ assert lfp is None
- lfp = url_util.local_file_path('http:///$spack/a/b/c.txt')
- assert(lfp is None)
+ lfp = url_util.local_file_path("http:///$spack/a/b/c.txt")
+ assert lfp is None
- lfp = url_util.local_file_path('http://$spack/a/b/c.txt')
- assert(lfp is None)
+ lfp = url_util.local_file_path("http://$spack/a/b/c.txt")
+ assert lfp is None
def test_url_join_local_paths():
# Resolve local link against page URL
# wrong:
- assert(
- url_util.join(
- 's3://bucket/index.html',
- '../other-bucket/document.txt')
- ==
- 's3://bucket/other-bucket/document.txt')
+ assert (
+ url_util.join("s3://bucket/index.html", "../other-bucket/document.txt")
+ == "s3://bucket/other-bucket/document.txt"
+ )
# correct - need to specify resolve_href=True:
- assert(
- url_util.join(
- 's3://bucket/index.html',
- '../other-bucket/document.txt',
- resolve_href=True)
- ==
- 's3://other-bucket/document.txt')
+ assert (
+ url_util.join("s3://bucket/index.html", "../other-bucket/document.txt", resolve_href=True)
+ == "s3://other-bucket/document.txt"
+ )
# same as above: make sure several components are joined together correctly
- assert(
+ assert (
url_util.join(
# with resolve_href=True, first arg is the base url; can not be
# broken up
- 's3://bucket/index.html',
-
+ "s3://bucket/index.html",
# with resolve_href=True, remaining arguments are the components of
# the local href that needs to be resolved
- '..', 'other-bucket', 'document.txt',
- resolve_href=True)
- ==
- 's3://other-bucket/document.txt')
+ "..",
+ "other-bucket",
+ "document.txt",
+ resolve_href=True,
+ )
+ == "s3://other-bucket/document.txt"
+ )
# Append local path components to prefix URL
# wrong:
- assert(
- url_util.join(
- 'https://mirror.spack.io/build_cache',
- 'my-package',
- resolve_href=True)
- ==
- 'https://mirror.spack.io/my-package')
+ assert (
+ url_util.join("https://mirror.spack.io/build_cache", "my-package", resolve_href=True)
+ == "https://mirror.spack.io/my-package"
+ )
# correct - Need to specify resolve_href=False:
- assert(
- url_util.join(
- 'https://mirror.spack.io/build_cache',
- 'my-package',
- resolve_href=False)
- ==
- 'https://mirror.spack.io/build_cache/my-package')
+ assert (
+ url_util.join("https://mirror.spack.io/build_cache", "my-package", resolve_href=False)
+ == "https://mirror.spack.io/build_cache/my-package"
+ )
# same as above; make sure resolve_href=False is default
- assert(
- url_util.join(
- 'https://mirror.spack.io/build_cache',
- 'my-package')
- ==
- 'https://mirror.spack.io/build_cache/my-package')
+ assert (
+ url_util.join("https://mirror.spack.io/build_cache", "my-package")
+ == "https://mirror.spack.io/build_cache/my-package"
+ )
# same as above: make sure several components are joined together correctly
- assert(
+ assert (
url_util.join(
# with resolve_href=False, first arg is just a prefix. No
# resolution is done. So, there should be no difference between
# join('/a/b/c', 'd/e'),
# join('/a/b', 'c', 'd/e'),
# join('/a', 'b/c', 'd', 'e'), etc.
- 'https://mirror.spack.io',
- 'build_cache',
- 'my-package')
- ==
- 'https://mirror.spack.io/build_cache/my-package')
+ "https://mirror.spack.io",
+ "build_cache",
+ "my-package",
+ )
+ == "https://mirror.spack.io/build_cache/my-package"
+ )
# file:// URL path components are *NOT* canonicalized
spack_root = spack.paths.spack_root
- if sys.platform != 'win32':
- join_result = url_util.join('/a/b/c', '$spack')
- assert(join_result == 'file:///a/b/c/$spack') # not canonicalized
+ if sys.platform != "win32":
+ join_result = url_util.join("/a/b/c", "$spack")
+ assert join_result == "file:///a/b/c/$spack" # not canonicalized
format_result = url_util.format(join_result)
# canoncalize by hand
- expected = url_util.format(os.path.abspath(os.path.join(
- '/', 'a', 'b', 'c', '.' + spack_root)))
- assert(format_result == expected)
+ expected = url_util.format(
+ os.path.abspath(os.path.join("/", "a", "b", "c", "." + spack_root))
+ )
+ assert format_result == expected
# see test_url_join_absolute_paths() for more on absolute path components
- join_result = url_util.join('/a/b/c', '/$spack')
- assert(join_result == 'file:///$spack') # not canonicalized
+ join_result = url_util.join("/a/b/c", "/$spack")
+ assert join_result == "file:///$spack" # not canonicalized
format_result = url_util.format(join_result)
expected = url_util.format(spack_root)
- assert(format_result == expected)
+ assert format_result == expected
# For s3:// URLs, the "netloc" (bucket) is considered part of the path.
# Make sure join() can cross bucket boundaries in this case.
- args = ['s3://bucket/a/b', 'new-bucket', 'c']
- assert(url_util.join(*args) == 's3://bucket/a/b/new-bucket/c')
+ args = ["s3://bucket/a/b", "new-bucket", "c"]
+ assert url_util.join(*args) == "s3://bucket/a/b/new-bucket/c"
- args.insert(1, '..')
- assert(url_util.join(*args) == 's3://bucket/a/new-bucket/c')
+ args.insert(1, "..")
+ assert url_util.join(*args) == "s3://bucket/a/new-bucket/c"
- args.insert(1, '..')
- assert(url_util.join(*args) == 's3://bucket/new-bucket/c')
+ args.insert(1, "..")
+ assert url_util.join(*args) == "s3://bucket/new-bucket/c"
# new-bucket is now the "netloc" (bucket name)
- args.insert(1, '..')
- assert(url_util.join(*args) == 's3://new-bucket/c')
+ args.insert(1, "..")
+ assert url_util.join(*args) == "s3://new-bucket/c"
def test_url_join_absolute_paths():
@@ -239,19 +228,15 @@ def test_url_join_absolute_paths():
# such scheme is provided).
# For eaxmple:
- p = '/path/to/resource'
+ p = "/path/to/resource"
# ...is an absolute path
# http:// URL
- assert(
- url_util.join('http://example.com/a/b/c', p)
- == 'http://example.com/path/to/resource')
+ assert url_util.join("http://example.com/a/b/c", p) == "http://example.com/path/to/resource"
# s3:// URL
# also notice how the netloc is treated as part of the path for s3:// URLs
- assert(
- url_util.join('s3://example.com/a/b/c', p)
- == 's3://path/to/resource')
+ assert url_util.join("s3://example.com/a/b/c", p) == "s3://path/to/resource"
# - URL components that specify a scheme are always absolute path
# components. Joining a base URL with these components effectively
@@ -259,28 +244,24 @@ def test_url_join_absolute_paths():
# component in question and using it as the new base URL.
# For eaxmple:
- p = 'http://example.com/path/to'
+ p = "http://example.com/path/to"
# ...is an http:// URL
- join_result = url_util.join(p, 'resource')
- assert(join_result == 'http://example.com/path/to/resource')
+ join_result = url_util.join(p, "resource")
+ assert join_result == "http://example.com/path/to/resource"
# works as if everything before the http:// URL was left out
- assert(
- url_util.join(
- 'literally', 'does', 'not', 'matter',
- p, 'resource')
- == join_result)
+ assert url_util.join("literally", "does", "not", "matter", p, "resource") == join_result
# It's important to keep in mind that this logic applies even if the
# component's path is not an absolute path!
# For eaxmple:
- p = './d'
+ p = "./d"
# ...is *NOT* an absolute path
# ...is also *NOT* an absolute path component
- u = 'file://./d'
+ u = "file://./d"
# ...is a URL
# The path of this URL is *NOT* an absolute path
# HOWEVER, the URL, itself, *is* an absolute path component
@@ -291,106 +272,124 @@ def test_url_join_absolute_paths():
if sys.platform == "win32":
convert_to_posix_path(cwd)
- cwd = '/' + cwd
+ cwd = "/" + cwd
# So, even though parse() assumes "file://" URL, the scheme is still
# significant in URL path components passed to join(), even if the base
# is a file:// URL.
- path_join_result = 'file:///a/b/c/d'
- assert(url_util.join('/a/b/c', p) == path_join_result)
- assert(url_util.join('file:///a/b/c', p) == path_join_result)
+ path_join_result = "file:///a/b/c/d"
+ assert url_util.join("/a/b/c", p) == path_join_result
+ assert url_util.join("file:///a/b/c", p) == path_join_result
- url_join_result = 'file://{CWD}/d'.format(CWD=cwd)
- assert(url_util.join('/a/b/c', u) == url_join_result)
- assert(url_util.join('file:///a/b/c', u) == url_join_result)
+ url_join_result = "file://{CWD}/d".format(CWD=cwd)
+ assert url_util.join("/a/b/c", u) == url_join_result
+ assert url_util.join("file:///a/b/c", u) == url_join_result
# Finally, resolve_href should have no effect for how absolute path
# components are handled because local hrefs can not be absolute path
# components.
- args = ['s3://does', 'not', 'matter',
- 'http://example.com',
- 'also', 'does', 'not', 'matter',
- '/path']
-
- expected = 'http://example.com/path'
- assert(url_util.join(*args, resolve_href=True) == expected)
- assert(url_util.join(*args, resolve_href=False) == expected)
+ args = [
+ "s3://does",
+ "not",
+ "matter",
+ "http://example.com",
+ "also",
+ "does",
+ "not",
+ "matter",
+ "/path",
+ ]
+
+ expected = "http://example.com/path"
+ assert url_util.join(*args, resolve_href=True) == expected
+ assert url_util.join(*args, resolve_href=False) == expected
# resolve_href only matters for the local path components at the end of the
# argument list.
- args[-1] = '/path/to/page'
- args.extend(('..', '..', 'resource'))
-
- assert(url_util.join(*args, resolve_href=True) ==
- 'http://example.com/resource')
-
- assert(url_util.join(*args, resolve_href=False) ==
- 'http://example.com/path/resource')
-
-
-@pytest.mark.parametrize("url,parts", [
- ("ssh://user@host.xz:500/path/to/repo.git/",
- ("ssh", "user", "host.xz", 500, "/path/to/repo.git")),
- ("ssh://user@host.xz/path/to/repo.git/",
- ("ssh", "user", "host.xz", None, "/path/to/repo.git")),
- ("ssh://host.xz:500/path/to/repo.git/",
- ("ssh", None, "host.xz", 500, "/path/to/repo.git")),
- ("ssh://host.xz/path/to/repo.git/",
- ("ssh", None, "host.xz", None, "/path/to/repo.git")),
- ("ssh://user@host.xz/path/to/repo.git/",
- ("ssh", "user", "host.xz", None, "/path/to/repo.git")),
- ("ssh://host.xz/path/to/repo.git/",
- ("ssh", None, "host.xz", None, "/path/to/repo.git")),
- ("ssh://user@host.xz/~user/path/to/repo.git/",
- ("ssh", "user", "host.xz", None, "~user/path/to/repo.git")),
- ("ssh://host.xz/~user/path/to/repo.git/",
- ("ssh", None, "host.xz", None, "~user/path/to/repo.git")),
- ("ssh://user@host.xz/~/path/to/repo.git",
- ("ssh", "user", "host.xz", None, "~/path/to/repo.git")),
- ("ssh://host.xz/~/path/to/repo.git",
- ("ssh", None, "host.xz", None, "~/path/to/repo.git")),
- ("git@github.com:spack/spack.git",
- (None, "git", "github.com", None, "spack/spack.git")),
- ("user@host.xz:/path/to/repo.git/",
- (None, "user", "host.xz", None, "/path/to/repo.git")),
- ("host.xz:/path/to/repo.git/",
- (None, None, "host.xz", None, "/path/to/repo.git")),
- ("user@host.xz:~user/path/to/repo.git/",
- (None, "user", "host.xz", None, "~user/path/to/repo.git")),
- ("host.xz:~user/path/to/repo.git/",
- (None, None, "host.xz", None, "~user/path/to/repo.git")),
- ("user@host.xz:path/to/repo.git",
- (None, "user", "host.xz", None, "path/to/repo.git")),
- ("host.xz:path/to/repo.git",
- (None, None, "host.xz", None, "path/to/repo.git")),
- ("rsync://host.xz/path/to/repo.git/",
- ("rsync", None, "host.xz", None, "/path/to/repo.git")),
- ("git://host.xz/path/to/repo.git/",
- ("git", None, "host.xz", None, "/path/to/repo.git")),
- ("git://host.xz/~user/path/to/repo.git/",
- ("git", None, "host.xz", None, "~user/path/to/repo.git")),
- ("http://host.xz/path/to/repo.git/",
- ("http", None, "host.xz", None, "/path/to/repo.git")),
- ("https://host.xz/path/to/repo.git/",
- ("https", None, "host.xz", None, "/path/to/repo.git")),
- ("https://github.com/spack/spack",
- ("https", None, "github.com", None, "/spack/spack")),
- ("https://github.com/spack/spack/",
- ("https", None, "github.com", None, "/spack/spack")),
- ("file:///path/to/repo.git/",
- ("file", None, None, None, "/path/to/repo.git")),
- ("file://~/path/to/repo.git/",
- ("file", None, None, None, "~/path/to/repo.git")),
- # bad ports should give us None
- ("ssh://host.xz:port/path/to/repo.git/", None),
- # bad ports should give us None
- ("ssh://host-foo.xz:port/path/to/repo.git/", None),
- # regular file paths should give us None
- ("/path/to/repo.git/", None),
- ("path/to/repo.git/", None),
- ("~/path/to/repo.git", None),
-])
+ args[-1] = "/path/to/page"
+ args.extend(("..", "..", "resource"))
+
+ assert url_util.join(*args, resolve_href=True) == "http://example.com/resource"
+
+ assert url_util.join(*args, resolve_href=False) == "http://example.com/path/resource"
+
+
+@pytest.mark.parametrize(
+ "url,parts",
+ [
+ (
+ "ssh://user@host.xz:500/path/to/repo.git/",
+ ("ssh", "user", "host.xz", 500, "/path/to/repo.git"),
+ ),
+ (
+ "ssh://user@host.xz/path/to/repo.git/",
+ ("ssh", "user", "host.xz", None, "/path/to/repo.git"),
+ ),
+ (
+ "ssh://host.xz:500/path/to/repo.git/",
+ ("ssh", None, "host.xz", 500, "/path/to/repo.git"),
+ ),
+ ("ssh://host.xz/path/to/repo.git/", ("ssh", None, "host.xz", None, "/path/to/repo.git")),
+ (
+ "ssh://user@host.xz/path/to/repo.git/",
+ ("ssh", "user", "host.xz", None, "/path/to/repo.git"),
+ ),
+ ("ssh://host.xz/path/to/repo.git/", ("ssh", None, "host.xz", None, "/path/to/repo.git")),
+ (
+ "ssh://user@host.xz/~user/path/to/repo.git/",
+ ("ssh", "user", "host.xz", None, "~user/path/to/repo.git"),
+ ),
+ (
+ "ssh://host.xz/~user/path/to/repo.git/",
+ ("ssh", None, "host.xz", None, "~user/path/to/repo.git"),
+ ),
+ (
+ "ssh://user@host.xz/~/path/to/repo.git",
+ ("ssh", "user", "host.xz", None, "~/path/to/repo.git"),
+ ),
+ ("ssh://host.xz/~/path/to/repo.git", ("ssh", None, "host.xz", None, "~/path/to/repo.git")),
+ ("git@github.com:spack/spack.git", (None, "git", "github.com", None, "spack/spack.git")),
+ ("user@host.xz:/path/to/repo.git/", (None, "user", "host.xz", None, "/path/to/repo.git")),
+ ("host.xz:/path/to/repo.git/", (None, None, "host.xz", None, "/path/to/repo.git")),
+ (
+ "user@host.xz:~user/path/to/repo.git/",
+ (None, "user", "host.xz", None, "~user/path/to/repo.git"),
+ ),
+ (
+ "host.xz:~user/path/to/repo.git/",
+ (None, None, "host.xz", None, "~user/path/to/repo.git"),
+ ),
+ ("user@host.xz:path/to/repo.git", (None, "user", "host.xz", None, "path/to/repo.git")),
+ ("host.xz:path/to/repo.git", (None, None, "host.xz", None, "path/to/repo.git")),
+ (
+ "rsync://host.xz/path/to/repo.git/",
+ ("rsync", None, "host.xz", None, "/path/to/repo.git"),
+ ),
+ ("git://host.xz/path/to/repo.git/", ("git", None, "host.xz", None, "/path/to/repo.git")),
+ (
+ "git://host.xz/~user/path/to/repo.git/",
+ ("git", None, "host.xz", None, "~user/path/to/repo.git"),
+ ),
+ ("http://host.xz/path/to/repo.git/", ("http", None, "host.xz", None, "/path/to/repo.git")),
+ (
+ "https://host.xz/path/to/repo.git/",
+ ("https", None, "host.xz", None, "/path/to/repo.git"),
+ ),
+ ("https://github.com/spack/spack", ("https", None, "github.com", None, "/spack/spack")),
+ ("https://github.com/spack/spack/", ("https", None, "github.com", None, "/spack/spack")),
+ ("file:///path/to/repo.git/", ("file", None, None, None, "/path/to/repo.git")),
+ ("file://~/path/to/repo.git/", ("file", None, None, None, "~/path/to/repo.git")),
+ # bad ports should give us None
+ ("ssh://host.xz:port/path/to/repo.git/", None),
+ # bad ports should give us None
+ ("ssh://host-foo.xz:port/path/to/repo.git/", None),
+ # regular file paths should give us None
+ ("/path/to/repo.git/", None),
+ ("path/to/repo.git/", None),
+ ("~/path/to/repo.git", None),
+ ],
+)
def test_git_url_parse(url, parts):
if parts is None:
with pytest.raises(ValueError):
diff --git a/lib/spack/spack/test/variant.py b/lib/spack/spack/test/variant.py
index b25215bbcc..204514b58d 100644
--- a/lib/spack/spack/test/variant.py
+++ b/lib/spack/spack/test/variant.py
@@ -25,36 +25,35 @@ from spack.variant import (
class TestMultiValuedVariant(object):
-
def test_initialization(self):
# Basic properties
- a = MultiValuedVariant('foo', 'bar,baz')
+ a = MultiValuedVariant("foo", "bar,baz")
assert repr(a) == "MultiValuedVariant('foo', 'bar,baz')"
- assert str(a) == 'foo=bar,baz'
- assert a.value == ('bar', 'baz')
- assert 'bar' in a
- assert 'baz' in a
+ assert str(a) == "foo=bar,baz"
+ assert a.value == ("bar", "baz")
+ assert "bar" in a
+ assert "baz" in a
assert eval(repr(a)) == a
# Spaces are trimmed
- b = MultiValuedVariant('foo', 'bar, baz')
+ b = MultiValuedVariant("foo", "bar, baz")
assert repr(b) == "MultiValuedVariant('foo', 'bar, baz')"
- assert str(b) == 'foo=bar,baz'
- assert b.value == ('bar', 'baz')
- assert 'bar' in b
- assert 'baz' in b
+ assert str(b) == "foo=bar,baz"
+ assert b.value == ("bar", "baz")
+ assert "bar" in b
+ assert "baz" in b
assert a == b
assert hash(a) == hash(b)
assert eval(repr(b)) == a
# Order is not important
- c = MultiValuedVariant('foo', 'baz, bar')
+ c = MultiValuedVariant("foo", "baz, bar")
assert repr(c) == "MultiValuedVariant('foo', 'baz, bar')"
- assert str(c) == 'foo=bar,baz'
- assert c.value == ('bar', 'baz')
- assert 'bar' in c
- assert 'baz' in c
+ assert str(c) == "foo=bar,baz"
+ assert c.value == ("bar", "baz")
+ assert "bar" in c
+ assert "baz" in c
assert a == c
assert hash(a) == hash(c)
assert eval(repr(c)) == a
@@ -63,9 +62,9 @@ class TestMultiValuedVariant(object):
d = a.copy()
assert repr(a) == repr(d)
assert str(a) == str(d)
- assert d.value == ('bar', 'baz')
- assert 'bar' in d
- assert 'baz' in d
+ assert d.value == ("bar", "baz")
+ assert "bar" in d
+ assert "baz" in d
assert a == d
assert a is not d
assert hash(a) == hash(d)
@@ -73,10 +72,10 @@ class TestMultiValuedVariant(object):
def test_satisfies(self):
- a = MultiValuedVariant('foo', 'bar,baz')
- b = MultiValuedVariant('foo', 'bar')
- c = MultiValuedVariant('fee', 'bar,baz')
- d = MultiValuedVariant('foo', 'True')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b = MultiValuedVariant("foo", "bar")
+ c = MultiValuedVariant("fee", "bar,baz")
+ d = MultiValuedVariant("foo", "True")
# 'foo=bar,baz' satisfies 'foo=bar'
assert a.satisfies(b)
@@ -90,27 +89,27 @@ class TestMultiValuedVariant(object):
# Implicit type conversion for variants of other types
- b_sv = SingleValuedVariant('foo', 'bar')
+ b_sv = SingleValuedVariant("foo", "bar")
assert b.satisfies(b_sv)
- d_sv = SingleValuedVariant('foo', 'True')
+ d_sv = SingleValuedVariant("foo", "True")
assert d.satisfies(d_sv)
- almost_d_bv = SingleValuedVariant('foo', 'true')
+ almost_d_bv = SingleValuedVariant("foo", "true")
assert not d.satisfies(almost_d_bv)
- d_bv = BoolValuedVariant('foo', 'True')
+ d_bv = BoolValuedVariant("foo", "True")
assert d.satisfies(d_bv)
# This case is 'peculiar': the two BV instances are
# equivalent, but if converted to MV they are not
# as MV is case sensitive with respect to 'True' and 'False'
- almost_d_bv = BoolValuedVariant('foo', 'true')
+ almost_d_bv = BoolValuedVariant("foo", "true")
assert not d.satisfies(almost_d_bv)
def test_compatible(self):
- a = MultiValuedVariant('foo', 'bar,baz')
- b = MultiValuedVariant('foo', 'True')
- c = MultiValuedVariant('fee', 'bar,baz')
- d = MultiValuedVariant('foo', 'bar,barbaz')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b = MultiValuedVariant("foo", "True")
+ c = MultiValuedVariant("fee", "bar,baz")
+ d = MultiValuedVariant("foo", "bar,barbaz")
# If the name of two multi-valued variants is the same,
# they are compatible
@@ -132,112 +131,111 @@ class TestMultiValuedVariant(object):
# Implicit type conversion for other types
- b_sv = SingleValuedVariant('foo', 'True')
+ b_sv = SingleValuedVariant("foo", "True")
assert b.compatible(b_sv)
assert not c.compatible(b_sv)
- b_bv = BoolValuedVariant('foo', 'True')
+ b_bv = BoolValuedVariant("foo", "True")
assert b.compatible(b_bv)
assert not c.compatible(b_bv)
def test_constrain(self):
# Try to constrain on a value with less constraints than self
- a = MultiValuedVariant('foo', 'bar,baz')
- b = MultiValuedVariant('foo', 'bar')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b = MultiValuedVariant("foo", "bar")
changed = a.constrain(b)
assert not changed
- t = MultiValuedVariant('foo', 'bar,baz')
+ t = MultiValuedVariant("foo", "bar,baz")
assert a == t
# Try to constrain on a value with more constraints than self
- a = MultiValuedVariant('foo', 'bar,baz')
- b = MultiValuedVariant('foo', 'bar')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b = MultiValuedVariant("foo", "bar")
changed = b.constrain(a)
assert changed
- t = MultiValuedVariant('foo', 'bar,baz')
+ t = MultiValuedVariant("foo", "bar,baz")
assert a == t
# Try to constrain on the same value
- a = MultiValuedVariant('foo', 'bar,baz')
+ a = MultiValuedVariant("foo", "bar,baz")
b = a.copy()
changed = a.constrain(b)
assert not changed
- t = MultiValuedVariant('foo', 'bar,baz')
+ t = MultiValuedVariant("foo", "bar,baz")
assert a == t
# Try to constrain on a different name
- a = MultiValuedVariant('foo', 'bar,baz')
- b = MultiValuedVariant('fee', 'bar')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b = MultiValuedVariant("fee", "bar")
with pytest.raises(ValueError):
a.constrain(b)
# Implicit type conversion for variants of other types
- a = MultiValuedVariant('foo', 'bar,baz')
- b_sv = SingleValuedVariant('foo', 'bar')
- c_sv = SingleValuedVariant('foo', 'barbaz')
+ a = MultiValuedVariant("foo", "bar,baz")
+ b_sv = SingleValuedVariant("foo", "bar")
+ c_sv = SingleValuedVariant("foo", "barbaz")
assert not a.constrain(b_sv)
assert a.constrain(c_sv)
- d_bv = BoolValuedVariant('foo', 'True')
+ d_bv = BoolValuedVariant("foo", "True")
assert a.constrain(d_bv)
assert not a.constrain(d_bv)
def test_yaml_entry(self):
- a = MultiValuedVariant('foo', 'bar,baz,barbaz')
- b = MultiValuedVariant('foo', 'bar, baz, barbaz')
- expected = ('foo', sorted(['bar', 'baz', 'barbaz']))
+ a = MultiValuedVariant("foo", "bar,baz,barbaz")
+ b = MultiValuedVariant("foo", "bar, baz, barbaz")
+ expected = ("foo", sorted(["bar", "baz", "barbaz"]))
assert a.yaml_entry() == expected
assert b.yaml_entry() == expected
- a = MultiValuedVariant('foo', 'bar')
- expected = ('foo', sorted(['bar']))
+ a = MultiValuedVariant("foo", "bar")
+ expected = ("foo", sorted(["bar"]))
assert a.yaml_entry() == expected
class TestSingleValuedVariant(object):
-
def test_initialization(self):
# Basic properties
- a = SingleValuedVariant('foo', 'bar')
+ a = SingleValuedVariant("foo", "bar")
assert repr(a) == "SingleValuedVariant('foo', 'bar')"
- assert str(a) == 'foo=bar'
- assert a.value == 'bar'
- assert 'bar' in a
+ assert str(a) == "foo=bar"
+ assert a.value == "bar"
+ assert "bar" in a
assert eval(repr(a)) == a
# Raise if multiple values are passed
with pytest.raises(ValueError):
- SingleValuedVariant('foo', 'bar, baz')
+ SingleValuedVariant("foo", "bar, baz")
# Check the copy
b = a.copy()
assert repr(a) == repr(b)
assert str(a) == str(b)
- assert b.value == 'bar'
- assert 'bar' in b
+ assert b.value == "bar"
+ assert "bar" in b
assert a == b
assert a is not b
assert hash(a) == hash(b)
assert eval(repr(b)) == a
def test_satisfies(self):
- a = SingleValuedVariant('foo', 'bar')
- b = SingleValuedVariant('foo', 'bar')
- c = SingleValuedVariant('foo', 'baz')
- d = SingleValuedVariant('fee', 'bar')
- e = SingleValuedVariant('foo', 'True')
+ a = SingleValuedVariant("foo", "bar")
+ b = SingleValuedVariant("foo", "bar")
+ c = SingleValuedVariant("foo", "baz")
+ d = SingleValuedVariant("fee", "bar")
+ e = SingleValuedVariant("foo", "True")
# 'foo=bar' can only satisfy 'foo=bar'
assert a.satisfies(b)
@@ -254,22 +252,22 @@ class TestSingleValuedVariant(object):
# Implicit type conversion for variants of other types
- a_mv = MultiValuedVariant('foo', 'bar')
+ a_mv = MultiValuedVariant("foo", "bar")
assert a.satisfies(a_mv)
- multiple_values = MultiValuedVariant('foo', 'bar,baz')
+ multiple_values = MultiValuedVariant("foo", "bar,baz")
assert not a.satisfies(multiple_values)
- e_bv = BoolValuedVariant('foo', 'True')
+ e_bv = BoolValuedVariant("foo", "True")
assert e.satisfies(e_bv)
- almost_e_bv = BoolValuedVariant('foo', 'true')
+ almost_e_bv = BoolValuedVariant("foo", "true")
assert not e.satisfies(almost_e_bv)
def test_compatible(self):
- a = SingleValuedVariant('foo', 'bar')
- b = SingleValuedVariant('fee', 'bar')
- c = SingleValuedVariant('foo', 'baz')
- d = SingleValuedVariant('foo', 'bar')
+ a = SingleValuedVariant("foo", "bar")
+ b = SingleValuedVariant("fee", "bar")
+ c = SingleValuedVariant("foo", "baz")
+ d = SingleValuedVariant("foo", "bar")
# If the name of two multi-valued variants is the same,
# they are compatible
@@ -291,10 +289,10 @@ class TestSingleValuedVariant(object):
# Implicit type conversion for variants of other types
- a_mv = MultiValuedVariant('foo', 'bar')
- b_mv = MultiValuedVariant('fee', 'bar')
- c_mv = MultiValuedVariant('foo', 'baz')
- d_mv = MultiValuedVariant('foo', 'bar')
+ a_mv = MultiValuedVariant("foo", "bar")
+ b_mv = MultiValuedVariant("fee", "bar")
+ c_mv = MultiValuedVariant("foo", "baz")
+ d_mv = MultiValuedVariant("foo", "bar")
assert not a.compatible(b_mv)
assert not a.compatible(c_mv)
@@ -312,9 +310,9 @@ class TestSingleValuedVariant(object):
assert not d.compatible(b_mv)
assert not d.compatible(c_mv)
- e = SingleValuedVariant('foo', 'True')
- e_bv = BoolValuedVariant('foo', 'True')
- almost_e_bv = BoolValuedVariant('foo', 'true')
+ e = SingleValuedVariant("foo", "True")
+ e_bv = BoolValuedVariant("foo", "True")
+ almost_e_bv = BoolValuedVariant("foo", "true")
assert e.compatible(e_bv)
assert not e.compatible(almost_e_bv)
@@ -322,59 +320,58 @@ class TestSingleValuedVariant(object):
def test_constrain(self):
# Try to constrain on a value equal to self
- a = SingleValuedVariant('foo', 'bar')
- b = SingleValuedVariant('foo', 'bar')
+ a = SingleValuedVariant("foo", "bar")
+ b = SingleValuedVariant("foo", "bar")
changed = a.constrain(b)
assert not changed
- t = SingleValuedVariant('foo', 'bar')
+ t = SingleValuedVariant("foo", "bar")
assert a == t
# Try to constrain on a value with a different value
- a = SingleValuedVariant('foo', 'bar')
- b = SingleValuedVariant('foo', 'baz')
+ a = SingleValuedVariant("foo", "bar")
+ b = SingleValuedVariant("foo", "baz")
with pytest.raises(UnsatisfiableVariantSpecError):
b.constrain(a)
# Try to constrain on a value with a different value
- a = SingleValuedVariant('foo', 'bar')
- b = SingleValuedVariant('fee', 'bar')
+ a = SingleValuedVariant("foo", "bar")
+ b = SingleValuedVariant("fee", "bar")
with pytest.raises(ValueError):
b.constrain(a)
# Try to constrain on the same value
- a = SingleValuedVariant('foo', 'bar')
+ a = SingleValuedVariant("foo", "bar")
b = a.copy()
changed = a.constrain(b)
assert not changed
- t = SingleValuedVariant('foo', 'bar')
+ t = SingleValuedVariant("foo", "bar")
assert a == t
# Implicit type conversion for variants of other types
- a = SingleValuedVariant('foo', 'True')
- mv = MultiValuedVariant('foo', 'True')
- bv = BoolValuedVariant('foo', 'True')
+ a = SingleValuedVariant("foo", "True")
+ mv = MultiValuedVariant("foo", "True")
+ bv = BoolValuedVariant("foo", "True")
for v in (mv, bv):
assert not a.constrain(v)
def test_yaml_entry(self):
- a = SingleValuedVariant('foo', 'bar')
- expected = ('foo', 'bar')
+ a = SingleValuedVariant("foo", "bar")
+ expected = ("foo", "bar")
assert a.yaml_entry() == expected
class TestBoolValuedVariant(object):
-
def test_initialization(self):
# Basic properties - True value
- for v in (True, 'True', 'TRUE', 'TrUe'):
- a = BoolValuedVariant('foo', v)
+ for v in (True, "True", "TRUE", "TrUe"):
+ a = BoolValuedVariant("foo", v)
assert repr(a) == "BoolValuedVariant('foo', {0})".format(repr(v))
- assert str(a) == '+foo'
+ assert str(a) == "+foo"
assert a.value is True
assert True in a
assert eval(repr(a)) == a
@@ -391,10 +388,10 @@ class TestBoolValuedVariant(object):
assert eval(repr(b)) == a
# Basic properties - False value
- for v in (False, 'False', 'FALSE', 'FaLsE'):
- a = BoolValuedVariant('foo', v)
+ for v in (False, "False", "FALSE", "FaLsE"):
+ a = BoolValuedVariant("foo", v)
assert repr(a) == "BoolValuedVariant('foo', {0})".format(repr(v))
- assert str(a) == '~foo'
+ assert str(a) == "~foo"
assert a.value is False
assert False in a
assert eval(repr(a)) == a
@@ -410,15 +407,15 @@ class TestBoolValuedVariant(object):
assert eval(repr(b)) == a
# Invalid values
- for v in ('bar', 'bar,baz'):
+ for v in ("bar", "bar,baz"):
with pytest.raises(ValueError):
- BoolValuedVariant('foo', v)
+ BoolValuedVariant("foo", v)
def test_satisfies(self):
- a = BoolValuedVariant('foo', True)
- b = BoolValuedVariant('foo', False)
- c = BoolValuedVariant('fee', False)
- d = BoolValuedVariant('foo', 'True')
+ a = BoolValuedVariant("foo", True)
+ b = BoolValuedVariant("foo", False)
+ c = BoolValuedVariant("fee", False)
+ d = BoolValuedVariant("foo", "True")
assert not a.satisfies(b)
assert not a.satisfies(c)
@@ -437,27 +434,27 @@ class TestBoolValuedVariant(object):
assert not d.satisfies(c)
# BV variants are case insensitive to 'True' or 'False'
- d_mv = MultiValuedVariant('foo', 'True')
+ d_mv = MultiValuedVariant("foo", "True")
assert d.satisfies(d_mv)
assert not b.satisfies(d_mv)
- d_mv = MultiValuedVariant('foo', 'FaLsE')
+ d_mv = MultiValuedVariant("foo", "FaLsE")
assert not d.satisfies(d_mv)
assert b.satisfies(d_mv)
- d_mv = MultiValuedVariant('foo', 'bar')
+ d_mv = MultiValuedVariant("foo", "bar")
assert not d.satisfies(d_mv)
assert not b.satisfies(d_mv)
- d_sv = SingleValuedVariant('foo', 'True')
+ d_sv = SingleValuedVariant("foo", "True")
assert d.satisfies(d_sv)
def test_compatible(self):
- a = BoolValuedVariant('foo', True)
- b = BoolValuedVariant('fee', True)
- c = BoolValuedVariant('foo', False)
- d = BoolValuedVariant('foo', 'True')
+ a = BoolValuedVariant("foo", True)
+ b = BoolValuedVariant("fee", True)
+ c = BoolValuedVariant("foo", False)
+ d = BoolValuedVariant("foo", "True")
# If the name of two multi-valued variants is the same,
# they are compatible
@@ -477,197 +474,180 @@ class TestBoolValuedVariant(object):
assert not d.compatible(b)
assert not d.compatible(c)
- for value in ('True', 'TrUe', 'TRUE'):
- d_mv = MultiValuedVariant('foo', value)
+ for value in ("True", "TrUe", "TRUE"):
+ d_mv = MultiValuedVariant("foo", value)
assert d.compatible(d_mv)
assert not c.compatible(d_mv)
- d_sv = SingleValuedVariant('foo', value)
+ d_sv = SingleValuedVariant("foo", value)
assert d.compatible(d_sv)
assert not c.compatible(d_sv)
def test_constrain(self):
# Try to constrain on a value equal to self
- a = BoolValuedVariant('foo', 'True')
- b = BoolValuedVariant('foo', True)
+ a = BoolValuedVariant("foo", "True")
+ b = BoolValuedVariant("foo", True)
changed = a.constrain(b)
assert not changed
- t = BoolValuedVariant('foo', True)
+ t = BoolValuedVariant("foo", True)
assert a == t
# Try to constrain on a value with a different value
- a = BoolValuedVariant('foo', True)
- b = BoolValuedVariant('foo', False)
+ a = BoolValuedVariant("foo", True)
+ b = BoolValuedVariant("foo", False)
with pytest.raises(UnsatisfiableVariantSpecError):
b.constrain(a)
# Try to constrain on a value with a different value
- a = BoolValuedVariant('foo', True)
- b = BoolValuedVariant('fee', True)
+ a = BoolValuedVariant("foo", True)
+ b = BoolValuedVariant("fee", True)
with pytest.raises(ValueError):
b.constrain(a)
# Try to constrain on the same value
- a = BoolValuedVariant('foo', True)
+ a = BoolValuedVariant("foo", True)
b = a.copy()
changed = a.constrain(b)
assert not changed
- t = BoolValuedVariant('foo', True)
+ t = BoolValuedVariant("foo", True)
assert a == t
# Try to constrain on other values
- a = BoolValuedVariant('foo', 'True')
- sv = SingleValuedVariant('foo', 'True')
- mv = MultiValuedVariant('foo', 'True')
+ a = BoolValuedVariant("foo", "True")
+ sv = SingleValuedVariant("foo", "True")
+ mv = MultiValuedVariant("foo", "True")
for v in (sv, mv):
assert not a.constrain(v)
def test_yaml_entry(self):
- a = BoolValuedVariant('foo', 'True')
- expected = ('foo', True)
+ a = BoolValuedVariant("foo", "True")
+ expected = ("foo", True)
assert a.yaml_entry() == expected
- a = BoolValuedVariant('foo', 'False')
- expected = ('foo', False)
+ a = BoolValuedVariant("foo", "False")
+ expected = ("foo", False)
assert a.yaml_entry() == expected
def test_from_node_dict():
- a = MultiValuedVariant.from_node_dict('foo', ['bar'])
+ a = MultiValuedVariant.from_node_dict("foo", ["bar"])
assert type(a) == MultiValuedVariant
- a = MultiValuedVariant.from_node_dict('foo', 'bar')
+ a = MultiValuedVariant.from_node_dict("foo", "bar")
assert type(a) == SingleValuedVariant
- a = MultiValuedVariant.from_node_dict('foo', 'true')
+ a = MultiValuedVariant.from_node_dict("foo", "true")
assert type(a) == BoolValuedVariant
class TestVariant(object):
-
def test_validation(self):
a = Variant(
- 'foo',
- default='',
- description='',
- values=('bar', 'baz', 'foobar'),
- multi=False
+ "foo", default="", description="", values=("bar", "baz", "foobar"), multi=False
)
# Valid vspec, shouldn't raise
- vspec = a.make_variant('bar')
+ vspec = a.make_variant("bar")
a.validate_or_raise(vspec)
# Multiple values are not allowed
with pytest.raises(MultipleValuesInExclusiveVariantError):
- vspec.value = 'bar,baz'
+ vspec.value = "bar,baz"
# Inconsistent vspec
- vspec.name = 'FOO'
+ vspec.name = "FOO"
with pytest.raises(InconsistentValidationError):
a.validate_or_raise(vspec)
# Valid multi-value vspec
a.multi = True
- vspec = a.make_variant('bar,baz')
+ vspec = a.make_variant("bar,baz")
a.validate_or_raise(vspec)
# Add an invalid value
- vspec.value = 'bar,baz,barbaz'
+ vspec.value = "bar,baz,barbaz"
with pytest.raises(InvalidVariantValueError):
a.validate_or_raise(vspec)
def test_callable_validator(self):
-
def validator(x):
try:
return isinstance(int(x), numbers.Integral)
except ValueError:
return False
- a = Variant(
- 'foo',
- default=1024,
- description='',
- values=validator,
- multi=False
- )
+ a = Variant("foo", default=1024, description="", values=validator, multi=False)
vspec = a.make_default()
a.validate_or_raise(vspec)
vspec.value = 2056
a.validate_or_raise(vspec)
- vspec.value = 'foo'
+ vspec.value = "foo"
with pytest.raises(InvalidVariantValueError):
a.validate_or_raise(vspec)
def test_representation(self):
a = Variant(
- 'foo',
- default='',
- description='',
- values=('bar', 'baz', 'foobar'),
- multi=False
+ "foo", default="", description="", values=("bar", "baz", "foobar"), multi=False
)
- assert a.allowed_values == 'bar, baz, foobar'
+ assert a.allowed_values == "bar, baz, foobar"
class TestVariantMapTest(object):
-
def test_invalid_values(self):
# Value with invalid type
a = VariantMap(None)
with pytest.raises(TypeError):
- a['foo'] = 2
+ a["foo"] = 2
# Duplicate variant
- a['foo'] = MultiValuedVariant('foo', 'bar,baz')
+ a["foo"] = MultiValuedVariant("foo", "bar,baz")
with pytest.raises(DuplicateVariantError):
- a['foo'] = MultiValuedVariant('foo', 'bar')
+ a["foo"] = MultiValuedVariant("foo", "bar")
with pytest.raises(DuplicateVariantError):
- a['foo'] = SingleValuedVariant('foo', 'bar')
+ a["foo"] = SingleValuedVariant("foo", "bar")
with pytest.raises(DuplicateVariantError):
- a['foo'] = BoolValuedVariant('foo', True)
+ a["foo"] = BoolValuedVariant("foo", True)
# Non matching names between key and vspec.name
with pytest.raises(KeyError):
- a['bar'] = MultiValuedVariant('foo', 'bar')
+ a["bar"] = MultiValuedVariant("foo", "bar")
def test_set_item(self):
# Check that all the three types of variants are accepted
a = VariantMap(None)
- a['foo'] = BoolValuedVariant('foo', True)
- a['bar'] = SingleValuedVariant('bar', 'baz')
- a['foobar'] = MultiValuedVariant('foobar', 'a, b, c, d, e')
+ a["foo"] = BoolValuedVariant("foo", True)
+ a["bar"] = SingleValuedVariant("bar", "baz")
+ a["foobar"] = MultiValuedVariant("foobar", "a, b, c, d, e")
def test_substitute(self):
# Check substitution of a key that exists
a = VariantMap(None)
- a['foo'] = BoolValuedVariant('foo', True)
- a.substitute(SingleValuedVariant('foo', 'bar'))
+ a["foo"] = BoolValuedVariant("foo", True)
+ a.substitute(SingleValuedVariant("foo", "bar"))
# Trying to substitute something that is not
# in the map will raise a KeyError
with pytest.raises(KeyError):
- a.substitute(BoolValuedVariant('bar', True))
+ a.substitute(BoolValuedVariant("bar", True))
def test_satisfies_and_constrain(self):
# foo=bar foobar=fee feebar=foo
a = VariantMap(None)
- a['foo'] = MultiValuedVariant('foo', 'bar')
- a['foobar'] = SingleValuedVariant('foobar', 'fee')
- a['feebar'] = SingleValuedVariant('feebar', 'foo')
+ a["foo"] = MultiValuedVariant("foo", "bar")
+ a["foobar"] = SingleValuedVariant("foobar", "fee")
+ a["feebar"] = SingleValuedVariant("feebar", "foo")
# foo=bar,baz foobar=fee shared=True
b = VariantMap(None)
- b['foo'] = MultiValuedVariant('foo', 'bar, baz')
- b['foobar'] = SingleValuedVariant('foobar', 'fee')
- b['shared'] = BoolValuedVariant('shared', True)
+ b["foo"] = MultiValuedVariant("foo", "bar, baz")
+ b["foobar"] = SingleValuedVariant("foobar", "fee")
+ b["shared"] = BoolValuedVariant("shared", True)
assert not a.satisfies(b)
assert b.satisfies(a)
@@ -677,83 +657,83 @@ class TestVariantMapTest(object):
# foo=bar,baz foobar=fee feebar=foo shared=True
c = VariantMap(None)
- c['foo'] = MultiValuedVariant('foo', 'bar, baz')
- c['foobar'] = SingleValuedVariant('foobar', 'fee')
- c['feebar'] = SingleValuedVariant('feebar', 'foo')
- c['shared'] = BoolValuedVariant('shared', True)
+ c["foo"] = MultiValuedVariant("foo", "bar, baz")
+ c["foobar"] = SingleValuedVariant("foobar", "fee")
+ c["feebar"] = SingleValuedVariant("feebar", "foo")
+ c["shared"] = BoolValuedVariant("shared", True)
assert a.constrain(b)
assert a == c
def test_copy(self):
a = VariantMap(None)
- a['foo'] = BoolValuedVariant('foo', True)
- a['bar'] = SingleValuedVariant('bar', 'baz')
- a['foobar'] = MultiValuedVariant('foobar', 'a, b, c, d, e')
+ a["foo"] = BoolValuedVariant("foo", True)
+ a["bar"] = SingleValuedVariant("bar", "baz")
+ a["foobar"] = MultiValuedVariant("foobar", "a, b, c, d, e")
c = a.copy()
assert a == c
def test_str(self):
c = VariantMap(None)
- c['foo'] = MultiValuedVariant('foo', 'bar, baz')
- c['foobar'] = SingleValuedVariant('foobar', 'fee')
- c['feebar'] = SingleValuedVariant('feebar', 'foo')
- c['shared'] = BoolValuedVariant('shared', True)
- assert str(c) == '+shared feebar=foo foo=bar,baz foobar=fee'
+ c["foo"] = MultiValuedVariant("foo", "bar, baz")
+ c["foobar"] = SingleValuedVariant("foobar", "fee")
+ c["feebar"] = SingleValuedVariant("feebar", "foo")
+ c["shared"] = BoolValuedVariant("shared", True)
+ assert str(c) == "+shared feebar=foo foo=bar,baz foobar=fee"
def test_disjoint_set_initialization_errors():
# Constructing from non-disjoint sets should raise an exception
with pytest.raises(spack.error.SpecError) as exc_info:
- disjoint_sets(('a', 'b'), ('b', 'c'))
- assert 'sets in input must be disjoint' in str(exc_info.value)
+ disjoint_sets(("a", "b"), ("b", "c"))
+ assert "sets in input must be disjoint" in str(exc_info.value)
# A set containing the reserved item 'none' along with other items
# should raise an exception
with pytest.raises(spack.error.SpecError) as exc_info:
- disjoint_sets(('a', 'b'), ('none', 'c'))
+ disjoint_sets(("a", "b"), ("none", "c"))
assert "The value 'none' represents the empty set," in str(exc_info.value)
def test_disjoint_set_initialization():
# Test that no error is thrown when the sets are disjoint
- d = disjoint_sets(('a',), ('b', 'c'), ('e', 'f'))
+ d = disjoint_sets(("a",), ("b", "c"), ("e", "f"))
- assert d.default == 'none'
+ assert d.default == "none"
assert d.multi is True
- assert set(x for x in d) == set(['none', 'a', 'b', 'c', 'e', 'f'])
+ assert set(x for x in d) == set(["none", "a", "b", "c", "e", "f"])
def test_disjoint_set_fluent_methods():
# Construct an object without the empty set
- d = disjoint_sets(('a',), ('b', 'c'), ('e', 'f')).prohibit_empty_set()
- assert set(('none',)) not in d.sets
+ d = disjoint_sets(("a",), ("b", "c"), ("e", "f")).prohibit_empty_set()
+ assert set(("none",)) not in d.sets
# Call this 2 times to check that no matter whether
# the empty set was allowed or not before, the state
# returned is consistent.
for _ in range(2):
d = d.allow_empty_set()
- assert set(('none',)) in d.sets
- assert 'none' in d
- assert 'none' in [x for x in d]
- assert 'none' in d.feature_values
+ assert set(("none",)) in d.sets
+ assert "none" in d
+ assert "none" in [x for x in d]
+ assert "none" in d.feature_values
# Marking a value as 'non-feature' removes it from the
# list of feature values, but not for the items returned
# when iterating over the object.
- d = d.with_non_feature_values('none')
- assert 'none' in d
- assert 'none' in [x for x in d]
- assert 'none' not in d.feature_values
+ d = d.with_non_feature_values("none")
+ assert "none" in d
+ assert "none" in [x for x in d]
+ assert "none" not in d.feature_values
# Call this 2 times to check that no matter whether
# the empty set was allowed or not before, the state
# returned is consistent.
for _ in range(2):
d = d.prohibit_empty_set()
- assert set(('none',)) not in d.sets
- assert 'none' not in d
- assert 'none' not in [x for x in d]
- assert 'none' not in d.feature_values
+ assert set(("none",)) not in d.sets
+ assert "none" not in d
+ assert "none" not in [x for x in d]
+ assert "none" not in d.feature_values
diff --git a/lib/spack/spack/test/verification.py b/lib/spack/spack/test/verification.py
index ad7373a439..be2fbb3a44 100644
--- a/lib/spack/spack/test/verification.py
+++ b/lib/spack/spack/test/verification.py
@@ -18,103 +18,102 @@ import spack.store
import spack.util.spack_json as sjson
import spack.verify
-pytestmark = pytest.mark.skipif(sys.platform == 'win32',
- reason='Tests fail on Win')
+pytestmark = pytest.mark.skipif(sys.platform == "win32", reason="Tests fail on Win")
def test_link_manifest_entry(tmpdir):
# Test that symlinks are properly checked against the manifest.
# Test that the appropriate errors are generated when the check fails.
- file = str(tmpdir.join('file'))
- open(file, 'a').close()
- link = str(tmpdir.join('link'))
+ file = str(tmpdir.join("file"))
+ open(file, "a").close()
+ link = str(tmpdir.join("link"))
os.symlink(file, link)
data = spack.verify.create_manifest_entry(link)
- assert data['type'] == 'link'
- assert data['dest'] == file
- assert all(x in data for x in ('mode', 'owner', 'group'))
+ assert data["type"] == "link"
+ assert data["dest"] == file
+ assert all(x in data for x in ("mode", "owner", "group"))
results = spack.verify.check_entry(link, data)
assert not results.has_errors()
- data['type'] = 'garbage'
+ data["type"] = "garbage"
results = spack.verify.check_entry(link, data)
assert results.has_errors()
assert link in results.errors
- assert results.errors[link] == ['type']
+ assert results.errors[link] == ["type"]
- data['type'] = 'link'
+ data["type"] = "link"
- file2 = str(tmpdir.join('file2'))
- open(file2, 'a').close()
+ file2 = str(tmpdir.join("file2"))
+ open(file2, "a").close()
os.remove(link)
os.symlink(file2, link)
results = spack.verify.check_entry(link, data)
assert results.has_errors()
assert link in results.errors
- assert results.errors[link] == ['link']
+ assert results.errors[link] == ["link"]
def test_dir_manifest_entry(tmpdir):
# Test that directories are properly checked against the manifest.
# Test that the appropriate errors are generated when the check fails.
- dirent = str(tmpdir.join('dir'))
+ dirent = str(tmpdir.join("dir"))
fs.mkdirp(dirent)
data = spack.verify.create_manifest_entry(dirent)
- assert data['type'] == 'dir'
- assert all(x in data for x in ('mode', 'owner', 'group'))
+ assert data["type"] == "dir"
+ assert all(x in data for x in ("mode", "owner", "group"))
results = spack.verify.check_entry(dirent, data)
assert not results.has_errors()
- data['type'] = 'garbage'
+ data["type"] = "garbage"
results = spack.verify.check_entry(dirent, data)
assert results.has_errors()
assert dirent in results.errors
- assert results.errors[dirent] == ['type']
+ assert results.errors[dirent] == ["type"]
def test_file_manifest_entry(tmpdir):
# Test that files are properly checked against the manifest.
# Test that the appropriate errors are generated when the check fails.
- orig_str = 'This is a file'
- new_str = 'The file has changed'
+ orig_str = "This is a file"
+ new_str = "The file has changed"
- file = str(tmpdir.join('dir'))
- with open(file, 'w') as f:
+ file = str(tmpdir.join("dir"))
+ with open(file, "w") as f:
f.write(orig_str)
data = spack.verify.create_manifest_entry(file)
- assert data['type'] == 'file'
- assert data['size'] == len(orig_str)
- assert all(x in data for x in ('mode', 'owner', 'group'))
+ assert data["type"] == "file"
+ assert data["size"] == len(orig_str)
+ assert all(x in data for x in ("mode", "owner", "group"))
results = spack.verify.check_entry(file, data)
assert not results.has_errors()
- data['type'] = 'garbage'
+ data["type"] = "garbage"
results = spack.verify.check_entry(file, data)
assert results.has_errors()
assert file in results.errors
- assert results.errors[file] == ['type']
+ assert results.errors[file] == ["type"]
- data['type'] = 'file'
+ data["type"] = "file"
- with open(file, 'w') as f:
+ with open(file, "w") as f:
f.write(new_str)
results = spack.verify.check_entry(file, data)
- expected = ['size', 'hash']
+ expected = ["size", "hash"]
mtime = os.stat(file).st_mtime
- if mtime != data['time']:
- expected.append('mtime')
+ if mtime != data["time"]:
+ expected.append("mtime")
assert results.has_errors()
assert file in results.errors
@@ -124,46 +123,46 @@ def test_file_manifest_entry(tmpdir):
def test_check_chmod_manifest_entry(tmpdir):
# Check that the verification properly identifies errors for files whose
# permissions have been modified.
- file = str(tmpdir.join('dir'))
- with open(file, 'w') as f:
- f.write('This is a file')
+ file = str(tmpdir.join("dir"))
+ with open(file, "w") as f:
+ f.write("This is a file")
data = spack.verify.create_manifest_entry(file)
- os.chmod(file, data['mode'] - 1)
+ os.chmod(file, data["mode"] - 1)
results = spack.verify.check_entry(file, data)
assert results.has_errors()
assert file in results.errors
- assert results.errors[file] == ['mode']
+ assert results.errors[file] == ["mode"]
def test_check_prefix_manifest(tmpdir):
# Test the verification of an entire prefix and its contents
- prefix_path = tmpdir.join('prefix')
+ prefix_path = tmpdir.join("prefix")
prefix = str(prefix_path)
- spec = spack.spec.Spec('libelf')
+ spec = spack.spec.Spec("libelf")
spec._mark_concrete()
spec.prefix = prefix
results = spack.verify.check_spec_manifest(spec)
assert results.has_errors()
assert prefix in results.errors
- assert results.errors[prefix] == ['manifest missing']
+ assert results.errors[prefix] == ["manifest missing"]
- metadata_dir = str(prefix_path.join('.spack'))
- bin_dir = str(prefix_path.join('bin'))
- other_dir = str(prefix_path.join('other'))
+ metadata_dir = str(prefix_path.join(".spack"))
+ bin_dir = str(prefix_path.join("bin"))
+ other_dir = str(prefix_path.join("other"))
for d in (metadata_dir, bin_dir, other_dir):
fs.mkdirp(d)
- file = os.path.join(other_dir, 'file')
- with open(file, 'w') as f:
+ file = os.path.join(other_dir, "file")
+ with open(file, "w") as f:
f.write("I'm a little file short and stout")
- link = os.path.join(bin_dir, 'run')
+ link = os.path.join(bin_dir, "run")
symlink(file, link)
spack.verify.write_manifest(spec)
@@ -171,8 +170,8 @@ def test_check_prefix_manifest(tmpdir):
assert not results.has_errors()
os.remove(link)
- malware = os.path.join(metadata_dir, 'hiddenmalware')
- with open(malware, 'w') as f:
+ malware = os.path.join(metadata_dir, "hiddenmalware")
+ with open(malware, "w") as f:
f.write("Foul evil deeds")
results = spack.verify.check_spec_manifest(spec)
@@ -180,54 +179,53 @@ def test_check_prefix_manifest(tmpdir):
assert all(x in results.errors for x in (malware, link))
assert len(results.errors) == 2
- assert results.errors[link] == ['deleted']
- assert results.errors[malware] == ['added']
+ assert results.errors[link] == ["deleted"]
+ assert results.errors[malware] == ["added"]
- manifest_file = os.path.join(spec.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
- with open(manifest_file, 'w') as f:
+ manifest_file = os.path.join(
+ spec.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
+ with open(manifest_file, "w") as f:
f.write("{This) string is not proper json")
results = spack.verify.check_spec_manifest(spec)
assert results.has_errors()
- assert results.errors[spec.prefix] == ['manifest corrupted']
+ assert results.errors[spec.prefix] == ["manifest corrupted"]
def test_single_file_verification(tmpdir):
# Test the API to verify a single file, including finding the package
# to which it belongs
- filedir = os.path.join(str(tmpdir), 'a', 'b', 'c', 'd')
- filepath = os.path.join(filedir, 'file')
+ filedir = os.path.join(str(tmpdir), "a", "b", "c", "d")
+ filepath = os.path.join(filedir, "file")
metadir = os.path.join(str(tmpdir), spack.store.layout.metadata_dir)
fs.mkdirp(filedir)
fs.mkdirp(metadir)
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write("I'm a file")
data = spack.verify.create_manifest_entry(filepath)
- manifest_file = os.path.join(metadir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(metadir, spack.store.layout.manifest_file_name)
- with open(manifest_file, 'w') as f:
+ with open(manifest_file, "w") as f:
sjson.dump({filepath: data}, f)
results = spack.verify.check_file_manifest(filepath)
assert not results.has_errors()
os.utime(filepath, (0, 0))
- with open(filepath, 'w') as f:
+ with open(filepath, "w") as f:
f.write("I changed.")
results = spack.verify.check_file_manifest(filepath)
- expected = ['hash']
+ expected = ["hash"]
mtime = os.stat(filepath).st_mtime
- if mtime != data['time']:
- expected.append('mtime')
+ if mtime != data["time"]:
+ expected.append("mtime")
assert results.has_errors()
assert filepath in results.errors
@@ -236,4 +234,4 @@ def test_single_file_verification(tmpdir):
shutil.rmtree(metadir)
results = spack.verify.check_file_manifest(filepath)
assert results.has_errors()
- assert results.errors[filepath] == ['not owned by any package']
+ assert results.errors[filepath] == ["not owned by any package"]
diff --git a/lib/spack/spack/test/versions.py b/lib/spack/spack/test/versions.py
index bcfebcd264..d73a48cc1b 100644
--- a/lib/spack/spack/test/versions.py
+++ b/lib/spack/spack/test/versions.py
@@ -106,425 +106,428 @@ def check_union(expected, a, b):
def test_string_prefix():
- assert_ver_eq('xsdk-0.2.0', 'xsdk-0.2.0')
- assert_ver_lt('xsdk-0.2.0', 'xsdk-0.3')
- assert_ver_gt('xsdk-0.3', 'xsdk-0.2.0')
+ assert_ver_eq("xsdk-0.2.0", "xsdk-0.2.0")
+ assert_ver_lt("xsdk-0.2.0", "xsdk-0.3")
+ assert_ver_gt("xsdk-0.3", "xsdk-0.2.0")
def test_two_segments():
- assert_ver_eq('1.0', '1.0')
- assert_ver_lt('1.0', '2.0')
- assert_ver_gt('2.0', '1.0')
+ assert_ver_eq("1.0", "1.0")
+ assert_ver_lt("1.0", "2.0")
+ assert_ver_gt("2.0", "1.0")
def test_develop():
- assert_ver_eq('develop', 'develop')
- assert_ver_eq('develop.local', 'develop.local')
- assert_ver_lt('1.0', 'develop')
- assert_ver_gt('develop', '1.0')
- assert_ver_eq('1.develop', '1.develop')
- assert_ver_lt('1.1', '1.develop')
- assert_ver_gt('1.develop', '1.0')
- assert_ver_gt('0.5.develop', '0.5')
- assert_ver_lt('0.5', '0.5.develop')
- assert_ver_lt('1.develop', '2.1')
- assert_ver_gt('2.1', '1.develop')
- assert_ver_lt('1.develop.1', '1.develop.2')
- assert_ver_gt('1.develop.2', '1.develop.1')
- assert_ver_lt('develop.1', 'develop.2')
- assert_ver_gt('develop.2', 'develop.1')
+ assert_ver_eq("develop", "develop")
+ assert_ver_eq("develop.local", "develop.local")
+ assert_ver_lt("1.0", "develop")
+ assert_ver_gt("develop", "1.0")
+ assert_ver_eq("1.develop", "1.develop")
+ assert_ver_lt("1.1", "1.develop")
+ assert_ver_gt("1.develop", "1.0")
+ assert_ver_gt("0.5.develop", "0.5")
+ assert_ver_lt("0.5", "0.5.develop")
+ assert_ver_lt("1.develop", "2.1")
+ assert_ver_gt("2.1", "1.develop")
+ assert_ver_lt("1.develop.1", "1.develop.2")
+ assert_ver_gt("1.develop.2", "1.develop.1")
+ assert_ver_lt("develop.1", "develop.2")
+ assert_ver_gt("develop.2", "develop.1")
# other +infinity versions
- assert_ver_gt('master', '9.0')
- assert_ver_gt('head', '9.0')
- assert_ver_gt('trunk', '9.0')
- assert_ver_gt('develop', '9.0')
+ assert_ver_gt("master", "9.0")
+ assert_ver_gt("head", "9.0")
+ assert_ver_gt("trunk", "9.0")
+ assert_ver_gt("develop", "9.0")
# hierarchical develop-like versions
- assert_ver_gt('develop', 'master')
- assert_ver_gt('master', 'head')
- assert_ver_gt('head', 'trunk')
- assert_ver_gt('9.0', 'system')
+ assert_ver_gt("develop", "master")
+ assert_ver_gt("master", "head")
+ assert_ver_gt("head", "trunk")
+ assert_ver_gt("9.0", "system")
# not develop
- assert_ver_lt('mydevelopmentnightmare', '1.1')
- assert_ver_lt('1.mydevelopmentnightmare', '1.1')
- assert_ver_gt('1.1', '1.mydevelopmentnightmare')
+ assert_ver_lt("mydevelopmentnightmare", "1.1")
+ assert_ver_lt("1.mydevelopmentnightmare", "1.1")
+ assert_ver_gt("1.1", "1.mydevelopmentnightmare")
def test_isdevelop():
- assert ver('develop').isdevelop()
- assert ver('develop.1').isdevelop()
- assert ver('develop.local').isdevelop()
- assert ver('master').isdevelop()
- assert ver('head').isdevelop()
- assert ver('trunk').isdevelop()
- assert ver('1.develop').isdevelop()
- assert ver('1.develop.2').isdevelop()
- assert not ver('1.1').isdevelop()
- assert not ver('1.mydevelopmentnightmare.3').isdevelop()
- assert not ver('mydevelopmentnightmare.3').isdevelop()
+ assert ver("develop").isdevelop()
+ assert ver("develop.1").isdevelop()
+ assert ver("develop.local").isdevelop()
+ assert ver("master").isdevelop()
+ assert ver("head").isdevelop()
+ assert ver("trunk").isdevelop()
+ assert ver("1.develop").isdevelop()
+ assert ver("1.develop.2").isdevelop()
+ assert not ver("1.1").isdevelop()
+ assert not ver("1.mydevelopmentnightmare.3").isdevelop()
+ assert not ver("mydevelopmentnightmare.3").isdevelop()
def test_three_segments():
- assert_ver_eq('2.0.1', '2.0.1')
- assert_ver_lt('2.0', '2.0.1')
- assert_ver_gt('2.0.1', '2.0')
+ assert_ver_eq("2.0.1", "2.0.1")
+ assert_ver_lt("2.0", "2.0.1")
+ assert_ver_gt("2.0.1", "2.0")
def test_alpha():
# TODO: not sure whether I like this. 2.0.1a is *usually*
# TODO: less than 2.0.1, but special-casing it makes version
# TODO: comparison complicated. See version.py
- assert_ver_eq('2.0.1a', '2.0.1a')
- assert_ver_gt('2.0.1a', '2.0.1')
- assert_ver_lt('2.0.1', '2.0.1a')
+ assert_ver_eq("2.0.1a", "2.0.1a")
+ assert_ver_gt("2.0.1a", "2.0.1")
+ assert_ver_lt("2.0.1", "2.0.1a")
def test_patch():
- assert_ver_eq('5.5p1', '5.5p1')
- assert_ver_lt('5.5p1', '5.5p2')
- assert_ver_gt('5.5p2', '5.5p1')
- assert_ver_eq('5.5p10', '5.5p10')
- assert_ver_lt('5.5p1', '5.5p10')
- assert_ver_gt('5.5p10', '5.5p1')
+ assert_ver_eq("5.5p1", "5.5p1")
+ assert_ver_lt("5.5p1", "5.5p2")
+ assert_ver_gt("5.5p2", "5.5p1")
+ assert_ver_eq("5.5p10", "5.5p10")
+ assert_ver_lt("5.5p1", "5.5p10")
+ assert_ver_gt("5.5p10", "5.5p1")
def test_num_alpha_with_no_separator():
- assert_ver_lt('10xyz', '10.1xyz')
- assert_ver_gt('10.1xyz', '10xyz')
- assert_ver_eq('xyz10', 'xyz10')
- assert_ver_lt('xyz10', 'xyz10.1')
- assert_ver_gt('xyz10.1', 'xyz10')
+ assert_ver_lt("10xyz", "10.1xyz")
+ assert_ver_gt("10.1xyz", "10xyz")
+ assert_ver_eq("xyz10", "xyz10")
+ assert_ver_lt("xyz10", "xyz10.1")
+ assert_ver_gt("xyz10.1", "xyz10")
def test_alpha_with_dots():
- assert_ver_eq('xyz.4', 'xyz.4')
- assert_ver_lt('xyz.4', '8')
- assert_ver_gt('8', 'xyz.4')
- assert_ver_lt('xyz.4', '2')
- assert_ver_gt('2', 'xyz.4')
+ assert_ver_eq("xyz.4", "xyz.4")
+ assert_ver_lt("xyz.4", "8")
+ assert_ver_gt("8", "xyz.4")
+ assert_ver_lt("xyz.4", "2")
+ assert_ver_gt("2", "xyz.4")
def test_nums_and_patch():
- assert_ver_lt('5.5p2', '5.6p1')
- assert_ver_gt('5.6p1', '5.5p2')
- assert_ver_lt('5.6p1', '6.5p1')
- assert_ver_gt('6.5p1', '5.6p1')
+ assert_ver_lt("5.5p2", "5.6p1")
+ assert_ver_gt("5.6p1", "5.5p2")
+ assert_ver_lt("5.6p1", "6.5p1")
+ assert_ver_gt("6.5p1", "5.6p1")
def test_rc_versions():
- assert_ver_gt('6.0.rc1', '6.0')
- assert_ver_lt('6.0', '6.0.rc1')
+ assert_ver_gt("6.0.rc1", "6.0")
+ assert_ver_lt("6.0", "6.0.rc1")
def test_alpha_beta():
- assert_ver_gt('10b2', '10a1')
- assert_ver_lt('10a2', '10b2')
+ assert_ver_gt("10b2", "10a1")
+ assert_ver_lt("10a2", "10b2")
def test_double_alpha():
- assert_ver_eq('1.0aa', '1.0aa')
- assert_ver_lt('1.0a', '1.0aa')
- assert_ver_gt('1.0aa', '1.0a')
+ assert_ver_eq("1.0aa", "1.0aa")
+ assert_ver_lt("1.0a", "1.0aa")
+ assert_ver_gt("1.0aa", "1.0a")
def test_padded_numbers():
- assert_ver_eq('10.0001', '10.0001')
- assert_ver_eq('10.0001', '10.1')
- assert_ver_eq('10.1', '10.0001')
- assert_ver_lt('10.0001', '10.0039')
- assert_ver_gt('10.0039', '10.0001')
+ assert_ver_eq("10.0001", "10.0001")
+ assert_ver_eq("10.0001", "10.1")
+ assert_ver_eq("10.1", "10.0001")
+ assert_ver_lt("10.0001", "10.0039")
+ assert_ver_gt("10.0039", "10.0001")
def test_close_numbers():
- assert_ver_lt('4.999.9', '5.0')
- assert_ver_gt('5.0', '4.999.9')
+ assert_ver_lt("4.999.9", "5.0")
+ assert_ver_gt("5.0", "4.999.9")
def test_date_stamps():
- assert_ver_eq('20101121', '20101121')
- assert_ver_lt('20101121', '20101122')
- assert_ver_gt('20101122', '20101121')
+ assert_ver_eq("20101121", "20101121")
+ assert_ver_lt("20101121", "20101122")
+ assert_ver_gt("20101122", "20101121")
def test_underscores():
- assert_ver_eq('2_0', '2_0')
- assert_ver_eq('2.0', '2_0')
- assert_ver_eq('2_0', '2.0')
- assert_ver_eq('2-0', '2_0')
- assert_ver_eq('2_0', '2-0')
+ assert_ver_eq("2_0", "2_0")
+ assert_ver_eq("2.0", "2_0")
+ assert_ver_eq("2_0", "2.0")
+ assert_ver_eq("2-0", "2_0")
+ assert_ver_eq("2_0", "2-0")
def test_rpm_oddities():
- assert_ver_eq('1b.fc17', '1b.fc17')
- assert_ver_lt('1b.fc17', '1.fc17')
- assert_ver_gt('1.fc17', '1b.fc17')
- assert_ver_eq('1g.fc17', '1g.fc17')
- assert_ver_gt('1g.fc17', '1.fc17')
- assert_ver_lt('1.fc17', '1g.fc17')
+ assert_ver_eq("1b.fc17", "1b.fc17")
+ assert_ver_lt("1b.fc17", "1.fc17")
+ assert_ver_gt("1.fc17", "1b.fc17")
+ assert_ver_eq("1g.fc17", "1g.fc17")
+ assert_ver_gt("1g.fc17", "1.fc17")
+ assert_ver_lt("1.fc17", "1g.fc17")
# Stuff below here is not taken from RPM's tests and is
# unique to spack
def test_version_ranges():
- assert_ver_lt('1.2:1.4', '1.6')
- assert_ver_gt('1.6', '1.2:1.4')
- assert_ver_eq('1.2:1.4', '1.2:1.4')
- assert ver('1.2:1.4') != ver('1.2:1.6')
+ assert_ver_lt("1.2:1.4", "1.6")
+ assert_ver_gt("1.6", "1.2:1.4")
+ assert_ver_eq("1.2:1.4", "1.2:1.4")
+ assert ver("1.2:1.4") != ver("1.2:1.6")
- assert_ver_lt('1.2:1.4', '1.5:1.6')
- assert_ver_gt('1.5:1.6', '1.2:1.4')
+ assert_ver_lt("1.2:1.4", "1.5:1.6")
+ assert_ver_gt("1.5:1.6", "1.2:1.4")
def test_contains():
- assert_in('1.3', '1.2:1.4')
- assert_in('1.2.5', '1.2:1.4')
- assert_in('1.3.5', '1.2:1.4')
- assert_in('1.3.5-7', '1.2:1.4')
- assert_not_in('1.1', '1.2:1.4')
- assert_not_in('1.5', '1.2:1.4')
- assert_not_in('1.5', '1.5.1:1.6')
- assert_not_in('1.5', '1.5.1:')
+ assert_in("1.3", "1.2:1.4")
+ assert_in("1.2.5", "1.2:1.4")
+ assert_in("1.3.5", "1.2:1.4")
+ assert_in("1.3.5-7", "1.2:1.4")
+ assert_not_in("1.1", "1.2:1.4")
+ assert_not_in("1.5", "1.2:1.4")
+ assert_not_in("1.5", "1.5.1:1.6")
+ assert_not_in("1.5", "1.5.1:")
- assert_in('1.4.2', '1.2:1.4')
- assert_not_in('1.4.2', '1.2:1.4.0')
+ assert_in("1.4.2", "1.2:1.4")
+ assert_not_in("1.4.2", "1.2:1.4.0")
- assert_in('1.2.8', '1.2.7:1.4')
- assert_in('1.2.7:1.4', ':')
- assert_not_in('1.2.5', '1.2.7:1.4')
+ assert_in("1.2.8", "1.2.7:1.4")
+ assert_in("1.2.7:1.4", ":")
+ assert_not_in("1.2.5", "1.2.7:1.4")
- assert_in('1.4.1', '1.2.7:1.4')
- assert_not_in('1.4.1', '1.2.7:1.4.0')
+ assert_in("1.4.1", "1.2.7:1.4")
+ assert_not_in("1.4.1", "1.2.7:1.4.0")
def test_in_list():
- assert_in('1.2', ['1.5', '1.2', '1.3'])
- assert_in('1.2.5', ['1.5', '1.2:1.3'])
- assert_in('1.5', ['1.5', '1.2:1.3'])
- assert_not_in('1.4', ['1.5', '1.2:1.3'])
+ assert_in("1.2", ["1.5", "1.2", "1.3"])
+ assert_in("1.2.5", ["1.5", "1.2:1.3"])
+ assert_in("1.5", ["1.5", "1.2:1.3"])
+ assert_not_in("1.4", ["1.5", "1.2:1.3"])
- assert_in('1.2.5:1.2.7', [':'])
- assert_in('1.2.5:1.2.7', ['1.5', '1.2:1.3'])
- assert_not_in('1.2.5:1.5', ['1.5', '1.2:1.3'])
- assert_not_in('1.1:1.2.5', ['1.5', '1.2:1.3'])
+ assert_in("1.2.5:1.2.7", [":"])
+ assert_in("1.2.5:1.2.7", ["1.5", "1.2:1.3"])
+ assert_not_in("1.2.5:1.5", ["1.5", "1.2:1.3"])
+ assert_not_in("1.1:1.2.5", ["1.5", "1.2:1.3"])
def test_ranges_overlap():
- assert_overlaps('1.2', '1.2')
- assert_overlaps('1.2.1', '1.2.1')
- assert_overlaps('1.2.1b', '1.2.1b')
-
- assert_overlaps('1.2:1.7', '1.6:1.9')
- assert_overlaps(':1.7', '1.6:1.9')
- assert_overlaps(':1.7', ':1.9')
- assert_overlaps(':1.7', '1.6:')
- assert_overlaps('1.2:', '1.6:1.9')
- assert_overlaps('1.2:', ':1.9')
- assert_overlaps('1.2:', '1.6:')
- assert_overlaps(':', ':')
- assert_overlaps(':', '1.6:1.9')
- assert_overlaps('1.6:1.9', ':')
+ assert_overlaps("1.2", "1.2")
+ assert_overlaps("1.2.1", "1.2.1")
+ assert_overlaps("1.2.1b", "1.2.1b")
+
+ assert_overlaps("1.2:1.7", "1.6:1.9")
+ assert_overlaps(":1.7", "1.6:1.9")
+ assert_overlaps(":1.7", ":1.9")
+ assert_overlaps(":1.7", "1.6:")
+ assert_overlaps("1.2:", "1.6:1.9")
+ assert_overlaps("1.2:", ":1.9")
+ assert_overlaps("1.2:", "1.6:")
+ assert_overlaps(":", ":")
+ assert_overlaps(":", "1.6:1.9")
+ assert_overlaps("1.6:1.9", ":")
def test_overlap_with_containment():
- assert_in('1.6.5', '1.6')
- assert_in('1.6.5', ':1.6')
+ assert_in("1.6.5", "1.6")
+ assert_in("1.6.5", ":1.6")
- assert_overlaps('1.6.5', ':1.6')
- assert_overlaps(':1.6', '1.6.5')
+ assert_overlaps("1.6.5", ":1.6")
+ assert_overlaps(":1.6", "1.6.5")
- assert_not_in(':1.6', '1.6.5')
- assert_in('1.6.5', ':1.6')
+ assert_not_in(":1.6", "1.6.5")
+ assert_in("1.6.5", ":1.6")
def test_lists_overlap():
- assert_overlaps('1.2b:1.7,5', '1.6:1.9,1')
- assert_overlaps('1,2,3,4,5', '3,4,5,6,7')
- assert_overlaps('1,2,3,4,5', '5,6,7')
- assert_overlaps('1,2,3,4,5', '5:7')
- assert_overlaps('1,2,3,4,5', '3, 6:7')
- assert_overlaps('1, 2, 4, 6.5', '3, 6:7')
- assert_overlaps('1, 2, 4, 6.5', ':, 5, 8')
- assert_overlaps('1, 2, 4, 6.5', ':')
- assert_no_overlap('1, 2, 4', '3, 6:7')
- assert_no_overlap('1,2,3,4,5', '6,7')
- assert_no_overlap('1,2,3,4,5', '6:7')
+ assert_overlaps("1.2b:1.7,5", "1.6:1.9,1")
+ assert_overlaps("1,2,3,4,5", "3,4,5,6,7")
+ assert_overlaps("1,2,3,4,5", "5,6,7")
+ assert_overlaps("1,2,3,4,5", "5:7")
+ assert_overlaps("1,2,3,4,5", "3, 6:7")
+ assert_overlaps("1, 2, 4, 6.5", "3, 6:7")
+ assert_overlaps("1, 2, 4, 6.5", ":, 5, 8")
+ assert_overlaps("1, 2, 4, 6.5", ":")
+ assert_no_overlap("1, 2, 4", "3, 6:7")
+ assert_no_overlap("1,2,3,4,5", "6,7")
+ assert_no_overlap("1,2,3,4,5", "6:7")
def test_canonicalize_list():
- assert_canonical(['1.2', '1.3', '1.4'], ['1.2', '1.3', '1.3', '1.4'])
+ assert_canonical(["1.2", "1.3", "1.4"], ["1.2", "1.3", "1.3", "1.4"])
- assert_canonical(['1.2', '1.3:1.4'], ['1.2', '1.3', '1.3:1.4'])
+ assert_canonical(["1.2", "1.3:1.4"], ["1.2", "1.3", "1.3:1.4"])
- assert_canonical(['1.2', '1.3:1.4'], ['1.2', '1.3:1.4', '1.4'])
+ assert_canonical(["1.2", "1.3:1.4"], ["1.2", "1.3:1.4", "1.4"])
- assert_canonical(['1.3:1.4'], ['1.3:1.4', '1.3', '1.3.1', '1.3.9', '1.4'])
+ assert_canonical(["1.3:1.4"], ["1.3:1.4", "1.3", "1.3.1", "1.3.9", "1.4"])
- assert_canonical(['1.3:1.4'], ['1.3', '1.3.1', '1.3.9', '1.4', '1.3:1.4'])
+ assert_canonical(["1.3:1.4"], ["1.3", "1.3.1", "1.3.9", "1.4", "1.3:1.4"])
- assert_canonical(
- ['1.3:1.5'], ['1.3', '1.3.1', '1.3.9', '1.4:1.5', '1.3:1.4']
- )
+ assert_canonical(["1.3:1.5"], ["1.3", "1.3.1", "1.3.9", "1.4:1.5", "1.3:1.4"])
- assert_canonical(['1.3:1.5'], ['1.3, 1.3.1,1.3.9,1.4:1.5,1.3:1.4'])
+ assert_canonical(["1.3:1.5"], ["1.3, 1.3.1,1.3.9,1.4:1.5,1.3:1.4"])
- assert_canonical(['1.3:1.5'], ['1.3, 1.3.1,1.3.9,1.4 : 1.5 , 1.3 : 1.4'])
+ assert_canonical(["1.3:1.5"], ["1.3, 1.3.1,1.3.9,1.4 : 1.5 , 1.3 : 1.4"])
- assert_canonical([':'], [':,1.3, 1.3.1,1.3.9,1.4 : 1.5 , 1.3 : 1.4'])
+ assert_canonical([":"], [":,1.3, 1.3.1,1.3.9,1.4 : 1.5 , 1.3 : 1.4"])
def test_intersection():
- check_intersection('2.5', '1.0:2.5', '2.5:3.0')
- check_intersection('2.5:2.7', '1.0:2.7', '2.5:3.0')
- check_intersection('0:1', ':', '0:1')
+ check_intersection("2.5", "1.0:2.5", "2.5:3.0")
+ check_intersection("2.5:2.7", "1.0:2.7", "2.5:3.0")
+ check_intersection("0:1", ":", "0:1")
- check_intersection(['1.0', '2.5:2.7'], ['1.0:2.7'], ['2.5:3.0', '1.0'])
- check_intersection(['2.5:2.7'], ['1.1:2.7'], ['2.5:3.0', '1.0'])
- check_intersection(['0:1'], [':'], ['0:1'])
+ check_intersection(["1.0", "2.5:2.7"], ["1.0:2.7"], ["2.5:3.0", "1.0"])
+ check_intersection(["2.5:2.7"], ["1.1:2.7"], ["2.5:3.0", "1.0"])
+ check_intersection(["0:1"], [":"], ["0:1"])
def test_intersect_with_containment():
- check_intersection('1.6.5', '1.6.5', ':1.6')
- check_intersection('1.6.5', ':1.6', '1.6.5')
+ check_intersection("1.6.5", "1.6.5", ":1.6")
+ check_intersection("1.6.5", ":1.6", "1.6.5")
- check_intersection('1.6:1.6.5', ':1.6.5', '1.6')
- check_intersection('1.6:1.6.5', '1.6', ':1.6.5')
+ check_intersection("1.6:1.6.5", ":1.6.5", "1.6")
+ check_intersection("1.6:1.6.5", "1.6", ":1.6.5")
- check_intersection('11.2', '11', '11.2')
- check_intersection('11.2', '11.2', '11')
+ check_intersection("11.2", "11", "11.2")
+ check_intersection("11.2", "11.2", "11")
def test_union_with_containment():
- check_union(':1.6', '1.6.5', ':1.6')
- check_union(':1.6', ':1.6', '1.6.5')
+ check_union(":1.6", "1.6.5", ":1.6")
+ check_union(":1.6", ":1.6", "1.6.5")
- check_union(':1.6', ':1.6.5', '1.6')
- check_union(':1.6', '1.6', ':1.6.5')
+ check_union(":1.6", ":1.6.5", "1.6")
+ check_union(":1.6", "1.6", ":1.6.5")
- check_union(':', '1.0:', ':2.0')
+ check_union(":", "1.0:", ":2.0")
- check_union('1:4', '1:3', '2:4')
- check_union('1:4', '2:4', '1:3')
+ check_union("1:4", "1:3", "2:4")
+ check_union("1:4", "2:4", "1:3")
# Tests successor/predecessor case.
- check_union('1:4', '1:2', '3:4')
+ check_union("1:4", "1:2", "3:4")
def test_basic_version_satisfaction():
- assert_satisfies('4.7.3', '4.7.3')
+ assert_satisfies("4.7.3", "4.7.3")
- assert_satisfies('4.7.3', '4.7')
- assert_satisfies('4.7.3b2', '4.7')
- assert_satisfies('4.7b6', '4.7')
+ assert_satisfies("4.7.3", "4.7")
+ assert_satisfies("4.7.3b2", "4.7")
+ assert_satisfies("4.7b6", "4.7")
- assert_satisfies('4.7.3', '4')
- assert_satisfies('4.7.3b2', '4')
- assert_satisfies('4.7b6', '4')
+ assert_satisfies("4.7.3", "4")
+ assert_satisfies("4.7.3b2", "4")
+ assert_satisfies("4.7b6", "4")
- assert_does_not_satisfy('4.8.0', '4.9')
- assert_does_not_satisfy('4.8', '4.9')
- assert_does_not_satisfy('4', '4.9')
+ assert_does_not_satisfy("4.8.0", "4.9")
+ assert_does_not_satisfy("4.8", "4.9")
+ assert_does_not_satisfy("4", "4.9")
def test_basic_version_satisfaction_in_lists():
- assert_satisfies(['4.7.3'], ['4.7.3'])
+ assert_satisfies(["4.7.3"], ["4.7.3"])
- assert_satisfies(['4.7.3'], ['4.7'])
- assert_satisfies(['4.7.3b2'], ['4.7'])
- assert_satisfies(['4.7b6'], ['4.7'])
+ assert_satisfies(["4.7.3"], ["4.7"])
+ assert_satisfies(["4.7.3b2"], ["4.7"])
+ assert_satisfies(["4.7b6"], ["4.7"])
- assert_satisfies(['4.7.3'], ['4'])
- assert_satisfies(['4.7.3b2'], ['4'])
- assert_satisfies(['4.7b6'], ['4'])
+ assert_satisfies(["4.7.3"], ["4"])
+ assert_satisfies(["4.7.3b2"], ["4"])
+ assert_satisfies(["4.7b6"], ["4"])
- assert_does_not_satisfy(['4.8.0'], ['4.9'])
- assert_does_not_satisfy(['4.8'], ['4.9'])
- assert_does_not_satisfy(['4'], ['4.9'])
+ assert_does_not_satisfy(["4.8.0"], ["4.9"])
+ assert_does_not_satisfy(["4.8"], ["4.9"])
+ assert_does_not_satisfy(["4"], ["4.9"])
def test_version_range_satisfaction():
- assert_satisfies('4.7b6', '4.3:4.7')
- assert_satisfies('4.3.0', '4.3:4.7')
- assert_satisfies('4.3.2', '4.3:4.7')
+ assert_satisfies("4.7b6", "4.3:4.7")
+ assert_satisfies("4.3.0", "4.3:4.7")
+ assert_satisfies("4.3.2", "4.3:4.7")
- assert_does_not_satisfy('4.8.0', '4.3:4.7')
- assert_does_not_satisfy('4.3', '4.4:4.7')
+ assert_does_not_satisfy("4.8.0", "4.3:4.7")
+ assert_does_not_satisfy("4.3", "4.4:4.7")
- assert_satisfies('4.7b6', '4.3:4.7')
- assert_does_not_satisfy('4.8.0', '4.3:4.7')
+ assert_satisfies("4.7b6", "4.3:4.7")
+ assert_does_not_satisfy("4.8.0", "4.3:4.7")
def test_version_range_satisfaction_in_lists():
- assert_satisfies(['4.7b6'], ['4.3:4.7'])
- assert_satisfies(['4.3.0'], ['4.3:4.7'])
- assert_satisfies(['4.3.2'], ['4.3:4.7'])
+ assert_satisfies(["4.7b6"], ["4.3:4.7"])
+ assert_satisfies(["4.3.0"], ["4.3:4.7"])
+ assert_satisfies(["4.3.2"], ["4.3:4.7"])
- assert_does_not_satisfy(['4.8.0'], ['4.3:4.7'])
- assert_does_not_satisfy(['4.3'], ['4.4:4.7'])
+ assert_does_not_satisfy(["4.8.0"], ["4.3:4.7"])
+ assert_does_not_satisfy(["4.3"], ["4.4:4.7"])
- assert_satisfies(['4.7b6'], ['4.3:4.7'])
- assert_does_not_satisfy(['4.8.0'], ['4.3:4.7'])
+ assert_satisfies(["4.7b6"], ["4.3:4.7"])
+ assert_does_not_satisfy(["4.8.0"], ["4.3:4.7"])
def test_satisfaction_with_lists():
- assert_satisfies('4.7', '4.3, 4.6, 4.7')
- assert_satisfies('4.7.3', '4.3, 4.6, 4.7')
- assert_satisfies('4.6.5', '4.3, 4.6, 4.7')
- assert_satisfies('4.6.5.2', '4.3, 4.6, 4.7')
+ assert_satisfies("4.7", "4.3, 4.6, 4.7")
+ assert_satisfies("4.7.3", "4.3, 4.6, 4.7")
+ assert_satisfies("4.6.5", "4.3, 4.6, 4.7")
+ assert_satisfies("4.6.5.2", "4.3, 4.6, 4.7")
- assert_does_not_satisfy('4', '4.3, 4.6, 4.7')
- assert_does_not_satisfy('4.8.0', '4.2, 4.3:4.7')
+ assert_does_not_satisfy("4", "4.3, 4.6, 4.7")
+ assert_does_not_satisfy("4.8.0", "4.2, 4.3:4.7")
- assert_satisfies('4.8.0', '4.2, 4.3:4.8')
- assert_satisfies('4.8.2', '4.2, 4.3:4.8')
+ assert_satisfies("4.8.0", "4.2, 4.3:4.8")
+ assert_satisfies("4.8.2", "4.2, 4.3:4.8")
def test_formatted_strings():
versions = (
- '1.2.3b', '1_2_3b', '1-2-3b',
- '1.2-3b', '1.2_3b', '1-2.3b',
- '1-2_3b', '1_2.3b', '1_2-3b'
+ "1.2.3b",
+ "1_2_3b",
+ "1-2-3b",
+ "1.2-3b",
+ "1.2_3b",
+ "1-2.3b",
+ "1-2_3b",
+ "1_2.3b",
+ "1_2-3b",
)
for item in versions:
v = Version(item)
- assert v.dotted.string == '1.2.3b'
- assert v.dashed.string == '1-2-3b'
- assert v.underscored.string == '1_2_3b'
- assert v.joined.string == '123b'
+ assert v.dotted.string == "1.2.3b"
+ assert v.dashed.string == "1-2-3b"
+ assert v.underscored.string == "1_2_3b"
+ assert v.joined.string == "123b"
- assert v.dotted.dashed.string == '1-2-3b'
- assert v.dotted.underscored.string == '1_2_3b'
- assert v.dotted.dotted.string == '1.2.3b'
- assert v.dotted.joined.string == '123b'
+ assert v.dotted.dashed.string == "1-2-3b"
+ assert v.dotted.underscored.string == "1_2_3b"
+ assert v.dotted.dotted.string == "1.2.3b"
+ assert v.dotted.joined.string == "123b"
def test_up_to():
- v = Version('1.23-4_5b')
+ v = Version("1.23-4_5b")
- assert v.up_to(1).string == '1'
- assert v.up_to(2).string == '1.23'
- assert v.up_to(3).string == '1.23-4'
- assert v.up_to(4).string == '1.23-4_5'
- assert v.up_to(5).string == '1.23-4_5b'
+ assert v.up_to(1).string == "1"
+ assert v.up_to(2).string == "1.23"
+ assert v.up_to(3).string == "1.23-4"
+ assert v.up_to(4).string == "1.23-4_5"
+ assert v.up_to(5).string == "1.23-4_5b"
- assert v.up_to(-1).string == '1.23-4_5'
- assert v.up_to(-2).string == '1.23-4'
- assert v.up_to(-3).string == '1.23'
- assert v.up_to(-4).string == '1'
+ assert v.up_to(-1).string == "1.23-4_5"
+ assert v.up_to(-2).string == "1.23-4"
+ assert v.up_to(-3).string == "1.23"
+ assert v.up_to(-4).string == "1"
- assert v.up_to(2).dotted.string == '1.23'
- assert v.up_to(2).dashed.string == '1-23'
- assert v.up_to(2).underscored.string == '1_23'
- assert v.up_to(2).joined.string == '123'
+ assert v.up_to(2).dotted.string == "1.23"
+ assert v.up_to(2).dashed.string == "1-23"
+ assert v.up_to(2).underscored.string == "1_23"
+ assert v.up_to(2).joined.string == "123"
- assert v.dotted.up_to(2).string == '1.23' == v.up_to(2).dotted.string
- assert v.dashed.up_to(2).string == '1-23' == v.up_to(2).dashed.string
- assert v.underscored.up_to(2).string == '1_23'
- assert v.up_to(2).underscored.string == '1_23'
+ assert v.dotted.up_to(2).string == "1.23" == v.up_to(2).dotted.string
+ assert v.dashed.up_to(2).string == "1-23" == v.up_to(2).dashed.string
+ assert v.underscored.up_to(2).string == "1_23"
+ assert v.up_to(2).underscored.string == "1_23"
- assert v.up_to(2).up_to(1).string == '1'
+ assert v.up_to(2).up_to(1).string == "1"
def test_repr_and_str():
-
def check_repr_and_str(vrs):
a = Version(vrs)
assert repr(a) == "VersionBase('" + vrs + "')"
@@ -533,189 +536,183 @@ def test_repr_and_str():
assert str(a) == vrs
assert str(a) == str(b)
- check_repr_and_str('1.2.3')
- check_repr_and_str('R2016a')
- check_repr_and_str('R2016a.2-3_4')
+ check_repr_and_str("1.2.3")
+ check_repr_and_str("R2016a")
+ check_repr_and_str("R2016a.2-3_4")
def test_len():
- a = Version('1.2.3.4')
+ a = Version("1.2.3.4")
assert len(a) == len(a.version)
- assert(len(a) == 4)
- b = Version('2018.0')
- assert(len(b) == 2)
+ assert len(a) == 4
+ b = Version("2018.0")
+ assert len(b) == 2
def test_get_item():
- a = Version('0.1_2-3')
+ a = Version("0.1_2-3")
assert isinstance(a[1], int)
# Test slicing
b = a[0:2]
assert isinstance(b, VersionBase)
- assert b == Version('0.1')
+ assert b == Version("0.1")
assert repr(b) == "VersionBase('0.1')"
- assert str(b) == '0.1'
+ assert str(b) == "0.1"
b = a[0:3]
assert isinstance(b, VersionBase)
- assert b == Version('0.1_2')
+ assert b == Version("0.1_2")
assert repr(b) == "VersionBase('0.1_2')"
- assert str(b) == '0.1_2'
+ assert str(b) == "0.1_2"
b = a[1:]
assert isinstance(b, VersionBase)
- assert b == Version('1_2-3')
+ assert b == Version("1_2-3")
assert repr(b) == "VersionBase('1_2-3')"
- assert str(b) == '1_2-3'
+ assert str(b) == "1_2-3"
# Raise TypeError on tuples
with pytest.raises(TypeError):
b.__getitem__(1, 2)
def test_list_highest():
- vl = VersionList(['master', '1.2.3', 'develop', '3.4.5', 'foobar'])
- assert vl.highest() == Version('develop')
- assert vl.lowest() == Version('foobar')
- assert vl.highest_numeric() == Version('3.4.5')
+ vl = VersionList(["master", "1.2.3", "develop", "3.4.5", "foobar"])
+ assert vl.highest() == Version("develop")
+ assert vl.lowest() == Version("foobar")
+ assert vl.highest_numeric() == Version("3.4.5")
- vl2 = VersionList(['master', 'develop'])
+ vl2 = VersionList(["master", "develop"])
assert vl2.highest_numeric() is None
- assert vl2.preferred() == Version('develop')
- assert vl2.lowest() == Version('master')
+ assert vl2.preferred() == Version("develop")
+ assert vl2.lowest() == Version("master")
-@pytest.mark.parametrize('version_str', [
- "foo 1.2.0",
- "!",
- "1!2"
-])
+@pytest.mark.parametrize("version_str", ["foo 1.2.0", "!", "1!2"])
def test_invalid_versions(version_str):
"""Ensure invalid versions are rejected with a ValueError"""
with pytest.raises(ValueError):
Version(version_str)
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_versions_from_git(mock_git_version_info, monkeypatch, mock_packages):
repo_path, filename, commits = mock_git_version_info
- monkeypatch.setattr(spack.package_base.PackageBase, 'git', 'file://%s' % repo_path,
- raising=False)
+ monkeypatch.setattr(
+ spack.package_base.PackageBase, "git", "file://%s" % repo_path, raising=False
+ )
for commit in commits:
- spec = spack.spec.Spec('git-test-commit@%s' % commit)
+ spec = spack.spec.Spec("git-test-commit@%s" % commit)
version = spec.version
- comparator = [str(v) if not isinstance(v, int) else v
- for v in version._cmp(version.ref_lookup)]
+ comparator = [
+ str(v) if not isinstance(v, int) else v for v in version._cmp(version.ref_lookup)
+ ]
with working_dir(repo_path):
- which('git')('checkout', commit)
- with open(os.path.join(repo_path, filename), 'r') as f:
+ which("git")("checkout", commit)
+ with open(os.path.join(repo_path, filename), "r") as f:
expected = f.read()
assert str(comparator) == expected
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-def test_git_hash_comparisons(
- mock_git_version_info, install_mockery, mock_packages, monkeypatch):
- """Check that hashes compare properly to versions
- """
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+def test_git_hash_comparisons(mock_git_version_info, install_mockery, mock_packages, monkeypatch):
+ """Check that hashes compare properly to versions"""
repo_path, filename, commits = mock_git_version_info
- monkeypatch.setattr(spack.package_base.PackageBase,
- 'git', 'file://%s' % repo_path,
- raising=False)
+ monkeypatch.setattr(
+ spack.package_base.PackageBase, "git", "file://%s" % repo_path, raising=False
+ )
# Spec based on earliest commit
- spec0 = spack.spec.Spec('git-test-commit@%s' % commits[-1])
+ spec0 = spack.spec.Spec("git-test-commit@%s" % commits[-1])
spec0.concretize()
- assert spec0.satisfies('@:0')
- assert not spec0.satisfies('@1.0')
+ assert spec0.satisfies("@:0")
+ assert not spec0.satisfies("@1.0")
# Spec based on second commit (same as version 1.0)
- spec1 = spack.spec.Spec('git-test-commit@%s' % commits[-2])
+ spec1 = spack.spec.Spec("git-test-commit@%s" % commits[-2])
spec1.concretize()
- assert spec1.satisfies('@1.0')
- assert not spec1.satisfies('@1.1:')
+ assert spec1.satisfies("@1.0")
+ assert not spec1.satisfies("@1.1:")
# Spec based on 4th commit (in timestamp order)
- spec4 = spack.spec.Spec('git-test-commit@%s' % commits[-4])
+ spec4 = spack.spec.Spec("git-test-commit@%s" % commits[-4])
spec4.concretize()
- assert spec4.satisfies('@1.1')
- assert spec4.satisfies('@1.0:1.2')
+ assert spec4.satisfies("@1.1")
+ assert spec4.satisfies("@1.0:1.2")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
-def test_git_ref_comparisons(
- mock_git_version_info, install_mockery, mock_packages, monkeypatch):
- """Check that hashes compare properly to versions
- """
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
+def test_git_ref_comparisons(mock_git_version_info, install_mockery, mock_packages, monkeypatch):
+ """Check that hashes compare properly to versions"""
repo_path, filename, commits = mock_git_version_info
- monkeypatch.setattr(spack.package_base.PackageBase,
- 'git', 'file://%s' % repo_path,
- raising=False)
+ monkeypatch.setattr(
+ spack.package_base.PackageBase, "git", "file://%s" % repo_path, raising=False
+ )
# Spec based on tag v1.0
- spec_tag = spack.spec.Spec('git-test-commit@git.v1.0')
+ spec_tag = spack.spec.Spec("git-test-commit@git.v1.0")
spec_tag.concretize()
- assert spec_tag.satisfies('@1.0')
- assert not spec_tag.satisfies('@1.1:')
- assert str(spec_tag.version) == 'git.v1.0'
+ assert spec_tag.satisfies("@1.0")
+ assert not spec_tag.satisfies("@1.1:")
+ assert str(spec_tag.version) == "git.v1.0"
# Spec based on branch 1.x
- spec_branch = spack.spec.Spec('git-test-commit@git.1.x')
+ spec_branch = spack.spec.Spec("git-test-commit@git.1.x")
spec_branch.concretize()
- assert spec_branch.satisfies('@1.2')
- assert spec_branch.satisfies('@1.1:1.3')
- assert str(spec_branch.version) == 'git.1.x'
-
-
-@pytest.mark.parametrize('string,git', [
- ('1.2.9', False),
- ('gitmain', False),
- ('git.foo', True),
- ('git.abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd', True),
- ('abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd', True),
-])
+ assert spec_branch.satisfies("@1.2")
+ assert spec_branch.satisfies("@1.1:1.3")
+ assert str(spec_branch.version) == "git.1.x"
+
+
+@pytest.mark.parametrize(
+ "string,git",
+ [
+ ("1.2.9", False),
+ ("gitmain", False),
+ ("git.foo", True),
+ ("git.abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", True),
+ ("abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd", True),
+ ],
+)
def test_version_git_vs_base(string, git):
assert isinstance(Version(string), GitVersion) == git
def test_version_range_nonempty():
- assert Version('1.2.9') in VersionRange('1.2.0', '1.2')
- assert Version('1.1.1') in ver('1.0:1')
+ assert Version("1.2.9") in VersionRange("1.2.0", "1.2")
+ assert Version("1.1.1") in ver("1.0:1")
def test_empty_version_range_raises():
with pytest.raises(ValueError):
- assert VersionRange('2', '1.0')
+ assert VersionRange("2", "1.0")
with pytest.raises(ValueError):
- assert ver('2:1.0')
+ assert ver("2:1.0")
def test_version_empty_slice():
"""Check an empty slice to confirm get "empty" version instead of
- an IndexError (#25953).
+ an IndexError (#25953).
"""
- assert Version('1.')[1:] == Version('')
+ assert Version("1.")[1:] == Version("")
def test_version_wrong_idx_type():
"""Ensure exception raised if attempt to use non-integer index."""
- v = Version('1.1')
+ v = Version("1.1")
with pytest.raises(TypeError):
- v['0:']
+ v["0:"]
-@pytest.mark.regression('29170')
+@pytest.mark.regression("29170")
def test_version_range_satisfies_means_nonempty_intersection():
- x = VersionRange('3.7.0', '3')
- y = VersionRange('3.6.0', '3.6.0')
+ x = VersionRange("3.7.0", "3")
+ y = VersionRange("3.6.0", "3.6.0")
assert not x.satisfies(y)
assert not y.satisfies(x)
-@pytest.mark.regression('26482')
+@pytest.mark.regression("26482")
def test_version_list_with_range_included_in_concrete_version_interpreted_as_range():
# Note: this test only tests whether we can construct a version list of a range
# and a version, where the range is contained in the version when it is interpreted
@@ -723,10 +720,10 @@ def test_version_list_with_range_included_in_concrete_version_interpreted_as_ran
# Cleary it *shouldn't* be interpreted that way, but that is how Spack currently
# behaves, and this test only ensures that creating a VersionList of this type
# does not throw like reported in the linked Github issue.
- VersionList([Version('3.1'), VersionRange('3.1.1', '3.1.2')])
+ VersionList([Version("3.1"), VersionRange("3.1.1", "3.1.2")])
@pytest.mark.xfail
def test_version_list_with_range_and_concrete_version_is_not_concrete():
- v = VersionList([Version('3.1'), VersionRange('3.1.1', '3.1.2')])
+ v = VersionList([Version("3.1"), VersionRange("3.1.1", "3.1.2")])
assert v.concrete
diff --git a/lib/spack/spack/test/views.py b/lib/spack/spack/test/views.py
index c7e9bb5213..d2801f12ba 100644
--- a/lib/spack/spack/test/views.py
+++ b/lib/spack/spack/test/views.py
@@ -13,38 +13,34 @@ from spack.filesystem_view import YamlFilesystemView
from spack.spec import Spec
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_global_activation(install_mockery, mock_fetch):
"""This test ensures that views which are maintained inside of an extendee
- package's prefix are maintained as expected and are compatible with
- global activations prior to #7152.
+ package's prefix are maintained as expected and are compatible with
+ global activations prior to #7152.
"""
- spec = Spec('extension1').concretized()
+ spec = Spec("extension1").concretized()
pkg = spec.package
pkg.do_install()
pkg.do_activate()
- extendee_spec = spec['extendee']
- extendee_pkg = spec['extendee'].package
+ extendee_spec = spec["extendee"]
+ extendee_pkg = spec["extendee"].package
view = extendee_pkg.view()
assert pkg.is_activated(view)
- expected_path = os.path.join(
- extendee_spec.prefix, '.spack', 'extensions.yaml')
- assert (view.extensions_layout.extension_file_path(extendee_spec) ==
- expected_path)
+ expected_path = os.path.join(extendee_spec.prefix, ".spack", "extensions.yaml")
+ assert view.extensions_layout.extension_file_path(extendee_spec) == expected_path
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_remove_extensions_ordered(install_mockery, mock_fetch, tmpdir):
- view_dir = str(tmpdir.join('view'))
+ view_dir = str(tmpdir.join("view"))
layout = DirectoryLayout(view_dir)
view = YamlFilesystemView(view_dir, layout)
- e2 = Spec('extension2').concretized()
+ e2 = Spec("extension2").concretized()
e2.package.do_install()
view.add_specs(e2)
- e1 = e2['extension1']
+ e1 = e2["extension1"]
view.remove_specs(e1, e2)
diff --git a/lib/spack/spack/test/web.py b/lib/spack/spack/test/web.py
index 72f5c88ad4..21c00e652c 100644
--- a/lib/spack/spack/test/web.py
+++ b/lib/spack/spack/test/web.py
@@ -19,63 +19,70 @@ from spack.version import ver
def _create_url(relative_url):
- web_data_path = posixpath.join(spack.paths.test_path, 'data', 'web')
- return 'file://' + posixpath.join(web_data_path, relative_url)
+ web_data_path = posixpath.join(spack.paths.test_path, "data", "web")
+ return "file://" + posixpath.join(web_data_path, relative_url)
-root = _create_url('index.html')
-root_tarball = _create_url('foo-0.0.0.tar.gz')
-page_1 = _create_url('1.html')
-page_2 = _create_url('2.html')
-page_3 = _create_url('3.html')
-page_4 = _create_url('4.html')
+root = _create_url("index.html")
+root_tarball = _create_url("foo-0.0.0.tar.gz")
+page_1 = _create_url("1.html")
+page_2 = _create_url("2.html")
+page_3 = _create_url("3.html")
+page_4 = _create_url("4.html")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
@pytest.mark.parametrize(
- 'depth,expected_found,expected_not_found,expected_text', [
- (0,
- {'pages': [root], 'links': [page_1]},
- {'pages': [page_1, page_2, page_3, page_4],
- 'links': [root, page_2, page_3, page_4]},
- {root: "This is the root page."}),
- (1,
- {'pages': [root, page_1], 'links': [page_1, page_2]},
- {'pages': [page_2, page_3, page_4],
- 'links': [root, page_3, page_4]},
- {root: "This is the root page.",
- page_1: "This is page 1."}),
- (2,
- {'pages': [root, page_1, page_2],
- 'links': [page_1, page_2, page_3, page_4]},
- {'pages': [page_3, page_4], 'links': [root]},
- {root: "This is the root page.",
- page_1: "This is page 1.",
- page_2: "This is page 2."}),
- (3,
- {'pages': [root, page_1, page_2, page_3, page_4],
- 'links': [root, page_1, page_2, page_3, page_4]},
- {'pages': [], 'links': []},
- {root: "This is the root page.",
- page_1: "This is page 1.",
- page_2: "This is page 2.",
- page_3: "This is page 3.",
- page_4: "This is page 4."}),
- ])
+ "depth,expected_found,expected_not_found,expected_text",
+ [
+ (
+ 0,
+ {"pages": [root], "links": [page_1]},
+ {"pages": [page_1, page_2, page_3, page_4], "links": [root, page_2, page_3, page_4]},
+ {root: "This is the root page."},
+ ),
+ (
+ 1,
+ {"pages": [root, page_1], "links": [page_1, page_2]},
+ {"pages": [page_2, page_3, page_4], "links": [root, page_3, page_4]},
+ {root: "This is the root page.", page_1: "This is page 1."},
+ ),
+ (
+ 2,
+ {"pages": [root, page_1, page_2], "links": [page_1, page_2, page_3, page_4]},
+ {"pages": [page_3, page_4], "links": [root]},
+ {root: "This is the root page.", page_1: "This is page 1.", page_2: "This is page 2."},
+ ),
+ (
+ 3,
+ {
+ "pages": [root, page_1, page_2, page_3, page_4],
+ "links": [root, page_1, page_2, page_3, page_4],
+ },
+ {"pages": [], "links": []},
+ {
+ root: "This is the root page.",
+ page_1: "This is page 1.",
+ page_2: "This is page 2.",
+ page_3: "This is page 3.",
+ page_4: "This is page 4.",
+ },
+ ),
+ ],
+)
def test_spider(depth, expected_found, expected_not_found, expected_text):
pages, links = spack.util.web.spider(root, depth=depth)
- for page in expected_found['pages']:
+ for page in expected_found["pages"]:
assert page in pages
- for page in expected_not_found['pages']:
+ for page in expected_not_found["pages"]:
assert page not in pages
- for link in expected_found['links']:
+ for link in expected_found["links"]:
assert link in links
- for link in expected_not_found['links']:
+ for link in expected_not_found["links"]:
assert link not in links
for page, text in expected_text.items():
@@ -84,148 +91,127 @@ def test_spider(depth, expected_found, expected_not_found, expected_text):
def test_spider_no_response(monkeypatch):
# Mock the absence of a response
- monkeypatch.setattr(
- spack.util.web, 'read_from_url', lambda x, y: (None, None, None)
- )
+ monkeypatch.setattr(spack.util.web, "read_from_url", lambda x, y: (None, None, None))
pages, links = spack.util.web.spider(root, depth=0)
assert not pages and not links
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_versions_of_archive_0():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=0)
- assert ver('0.0.0') in versions
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=0)
+ assert ver("0.0.0") in versions
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_versions_of_archive_1():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=1)
- assert ver('0.0.0') in versions
- assert ver('1.0.0') in versions
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=1)
+ assert ver("0.0.0") in versions
+ assert ver("1.0.0") in versions
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_versions_of_archive_2():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=2)
- assert ver('0.0.0') in versions
- assert ver('1.0.0') in versions
- assert ver('2.0.0') in versions
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=2)
+ assert ver("0.0.0") in versions
+ assert ver("1.0.0") in versions
+ assert ver("2.0.0") in versions
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_exotic_versions_of_archive_2():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=2)
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=2)
# up for grabs to make this better.
- assert ver('2.0.0b2') in versions
+ assert ver("2.0.0b2") in versions
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_versions_of_archive_3():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=3)
- assert ver('0.0.0') in versions
- assert ver('1.0.0') in versions
- assert ver('2.0.0') in versions
- assert ver('3.0') in versions
- assert ver('4.5') in versions
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=3)
+ assert ver("0.0.0") in versions
+ assert ver("1.0.0") in versions
+ assert ver("2.0.0") in versions
+ assert ver("3.0") in versions
+ assert ver("4.5") in versions
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_find_exotic_versions_of_archive_3():
- versions = spack.util.web.find_versions_of_archive(
- root_tarball, root, list_depth=3)
- assert ver('2.0.0b2') in versions
- assert ver('3.0a1') in versions
- assert ver('4.5-rc5') in versions
+ versions = spack.util.web.find_versions_of_archive(root_tarball, root, list_depth=3)
+ assert ver("2.0.0b2") in versions
+ assert ver("3.0a1") in versions
+ assert ver("4.5-rc5") in versions
def test_get_header():
- headers = {
- 'Content-type': 'text/plain'
- }
+ headers = {"Content-type": "text/plain"}
# looking up headers should just work like a plain dict
# lookup when there is an entry with the right key
- assert(spack.util.web.get_header(headers, 'Content-type') == 'text/plain')
+ assert spack.util.web.get_header(headers, "Content-type") == "text/plain"
# looking up headers should still work if there is a fuzzy match
- assert(spack.util.web.get_header(headers, 'contentType') == 'text/plain')
+ assert spack.util.web.get_header(headers, "contentType") == "text/plain"
# ...unless there is an exact match for the "fuzzy" spelling.
- headers['contentType'] = 'text/html'
- assert(spack.util.web.get_header(headers, 'contentType') == 'text/html')
+ headers["contentType"] = "text/html"
+ assert spack.util.web.get_header(headers, "contentType") == "text/html"
# If lookup has to fallback to fuzzy matching and there are more than one
# fuzzy match, the result depends on the internal ordering of the given
# mapping
headers = collections.OrderedDict()
- headers['Content-type'] = 'text/plain'
- headers['contentType'] = 'text/html'
+ headers["Content-type"] = "text/plain"
+ headers["contentType"] = "text/html"
- assert(spack.util.web.get_header(headers, 'CONTENT_TYPE') == 'text/plain')
- del headers['Content-type']
- assert(spack.util.web.get_header(headers, 'CONTENT_TYPE') == 'text/html')
+ assert spack.util.web.get_header(headers, "CONTENT_TYPE") == "text/plain"
+ del headers["Content-type"]
+ assert spack.util.web.get_header(headers, "CONTENT_TYPE") == "text/html"
# Same as above, but different ordering
headers = collections.OrderedDict()
- headers['contentType'] = 'text/html'
- headers['Content-type'] = 'text/plain'
+ headers["contentType"] = "text/html"
+ headers["Content-type"] = "text/plain"
- assert(spack.util.web.get_header(headers, 'CONTENT_TYPE') == 'text/html')
- del headers['contentType']
- assert(spack.util.web.get_header(headers, 'CONTENT_TYPE') == 'text/plain')
+ assert spack.util.web.get_header(headers, "CONTENT_TYPE") == "text/html"
+ del headers["contentType"]
+ assert spack.util.web.get_header(headers, "CONTENT_TYPE") == "text/plain"
# If there isn't even a fuzzy match, raise KeyError
with pytest.raises(KeyError):
- spack.util.web.get_header(headers, 'ContentLength')
+ spack.util.web.get_header(headers, "ContentLength")
-@pytest.mark.skipif(sys.platform == 'win32',
- reason="Not supported on Windows (yet)")
+@pytest.mark.skipif(sys.platform == "win32", reason="Not supported on Windows (yet)")
def test_list_url(tmpdir):
testpath = str(tmpdir)
- os.mkdir(os.path.join(testpath, 'dir'))
+ os.mkdir(os.path.join(testpath, "dir"))
- with open(os.path.join(testpath, 'file-0.txt'), 'w'):
+ with open(os.path.join(testpath, "file-0.txt"), "w"):
pass
- with open(os.path.join(testpath, 'file-1.txt'), 'w'):
+ with open(os.path.join(testpath, "file-1.txt"), "w"):
pass
- with open(os.path.join(testpath, 'file-2.txt'), 'w'):
+ with open(os.path.join(testpath, "file-2.txt"), "w"):
pass
- with open(os.path.join(testpath, 'dir', 'another-file.txt'), 'w'):
+ with open(os.path.join(testpath, "dir", "another-file.txt"), "w"):
pass
- list_url = lambda recursive: list(sorted(
- spack.util.web.list_url(testpath, recursive=recursive)))
+ list_url = lambda recursive: list(
+ sorted(spack.util.web.list_url(testpath, recursive=recursive))
+ )
- assert list_url(False) == ['file-0.txt',
- 'file-1.txt',
- 'file-2.txt']
+ assert list_url(False) == ["file-0.txt", "file-1.txt", "file-2.txt"]
- assert list_url(True) == ['dir/another-file.txt',
- 'file-0.txt',
- 'file-1.txt',
- 'file-2.txt']
+ assert list_url(True) == ["dir/another-file.txt", "file-0.txt", "file-1.txt", "file-2.txt"]
class MockPages(object):
def search(self, *args, **kwargs):
return [
- {'Key': 'keyone'},
- {'Key': 'keytwo'},
- {'Key': 'keythree'},
+ {"Key": "keyone"},
+ {"Key": "keytwo"},
+ {"Key": "keythree"},
]
@@ -236,7 +222,7 @@ class MockPaginator(object):
class MockClientError(Exception):
def __init__(self):
- self.response = {'Error': {'Code': 'NoSuchKey'}}
+ self.response = {"Error": {"Code": "NoSuchKey"}}
class MockS3Client(object):
@@ -245,13 +231,8 @@ class MockS3Client(object):
def delete_objects(self, *args, **kwargs):
return {
- 'Errors': [
- {'Key': 'keyone', 'Message': 'Access Denied'}
- ],
- 'Deleted': [
- {'Key': 'keytwo'},
- {'Key': 'keythree'}
- ],
+ "Errors": [{"Key": "keyone", "Message": "Access Denied"}],
+ "Deleted": [{"Key": "keytwo"}, {"Key": "keythree"}],
}
def delete_object(self, *args, **kwargs):
@@ -259,16 +240,18 @@ class MockS3Client(object):
def get_object(self, Bucket=None, Key=None):
self.ClientError = MockClientError
- if Bucket == 'my-bucket' and Key == 'subdirectory/my-file':
+ if Bucket == "my-bucket" and Key == "subdirectory/my-file":
return True
raise self.ClientError
def test_gather_s3_information(monkeypatch, capfd):
- mock_connection_data = {"access_token": "AAAAAAA",
- "profile": "SPacKDeV",
- "access_pair": ("SPA", "CK"),
- "endpoint_url": "https://127.0.0.1:8888"}
+ mock_connection_data = {
+ "access_token": "AAAAAAA",
+ "profile": "SPacKDeV",
+ "access_pair": ("SPA", "CK"),
+ "endpoint_url": "https://127.0.0.1:8888",
+ }
session_args, client_args = spack.util.s3.get_mirror_s3_connection_info(mock_connection_data)
@@ -288,13 +271,12 @@ def test_gather_s3_information(monkeypatch, capfd):
def test_remove_s3_url(monkeypatch, capfd):
- fake_s3_url = 's3://my-bucket/subdirectory/mirror'
+ fake_s3_url = "s3://my-bucket/subdirectory/mirror"
def mock_create_s3_session(url, connection={}):
return MockS3Client()
- monkeypatch.setattr(
- spack.util.s3, 'create_s3_session', mock_create_s3_session)
+ monkeypatch.setattr(spack.util.s3, "create_s3_session", mock_create_s3_session)
current_debug_level = tty.debug_level()
tty.set_debug(1)
@@ -304,24 +286,24 @@ def test_remove_s3_url(monkeypatch, capfd):
tty.set_debug(current_debug_level)
- assert('Failed to delete keyone (Access Denied)' in err)
- assert('Deleted keythree' in err)
- assert('Deleted keytwo' in err)
+ assert "Failed to delete keyone (Access Denied)" in err
+ assert "Deleted keythree" in err
+ assert "Deleted keytwo" in err
def test_s3_url_exists(monkeypatch, capfd):
def mock_create_s3_session(url, connection={}):
return MockS3Client()
- monkeypatch.setattr(
- spack.util.s3, 'create_s3_session', mock_create_s3_session)
- fake_s3_url_exists = 's3://my-bucket/subdirectory/my-file'
- assert(spack.util.web.url_exists(fake_s3_url_exists))
+ monkeypatch.setattr(spack.util.s3, "create_s3_session", mock_create_s3_session)
+
+ fake_s3_url_exists = "s3://my-bucket/subdirectory/my-file"
+ assert spack.util.web.url_exists(fake_s3_url_exists)
- fake_s3_url_does_not_exist = 's3://my-bucket/subdirectory/my-notfound-file'
- assert(not spack.util.web.url_exists(fake_s3_url_does_not_exist))
+ fake_s3_url_does_not_exist = "s3://my-bucket/subdirectory/my-notfound-file"
+ assert not spack.util.web.url_exists(fake_s3_url_does_not_exist)
def test_s3_url_parsing():
- assert(spack.util.s3._parse_s3_endpoint_url("example.com") == 'https://example.com')
- assert(spack.util.s3._parse_s3_endpoint_url("http://example.com") == 'http://example.com')
+ assert spack.util.s3._parse_s3_endpoint_url("example.com") == "https://example.com"
+ assert spack.util.s3._parse_s3_endpoint_url("http://example.com") == "http://example.com"
diff --git a/lib/spack/spack/url.py b/lib/spack/spack/url.py
index f12a0c88ce..00c7d68063 100644
--- a/lib/spack/spack/url.py
+++ b/lib/spack/spack/url.py
@@ -74,30 +74,26 @@ def find_list_urls(url):
url_types = [
# GitHub
# e.g. https://github.com/llnl/callpath/archive/v1.0.1.tar.gz
- (r'(.*github\.com/[^/]+/[^/]+)',
- lambda m: m.group(1) + '/releases'),
-
+ (r"(.*github\.com/[^/]+/[^/]+)", lambda m: m.group(1) + "/releases"),
# GitLab API endpoint
# e.g. https://gitlab.dkrz.de/api/v4/projects/k202009%2Flibaec/repository/archive.tar.gz?sha=v1.0.2
- (r'(.*gitlab[^/]+)/api/v4/projects/([^/]+)%2F([^/]+)',
- lambda m: m.group(1) + '/' + m.group(2) + '/' + m.group(3) + '/tags'),
-
+ (
+ r"(.*gitlab[^/]+)/api/v4/projects/([^/]+)%2F([^/]+)",
+ lambda m: m.group(1) + "/" + m.group(2) + "/" + m.group(3) + "/tags",
+ ),
# GitLab non-API endpoint
# e.g. https://gitlab.dkrz.de/k202009/libaec/uploads/631e85bcf877c2dcaca9b2e6d6526339/libaec-1.0.0.tar.gz
- (r'(.*gitlab[^/]+/(?!api/v4/projects)[^/]+/[^/]+)',
- lambda m: m.group(1) + '/tags'),
-
+ (r"(.*gitlab[^/]+/(?!api/v4/projects)[^/]+/[^/]+)", lambda m: m.group(1) + "/tags"),
# BitBucket
# e.g. https://bitbucket.org/eigen/eigen/get/3.3.3.tar.bz2
- (r'(.*bitbucket.org/[^/]+/[^/]+)',
- lambda m: m.group(1) + '/downloads/?tab=tags'),
-
+ (r"(.*bitbucket.org/[^/]+/[^/]+)", lambda m: m.group(1) + "/downloads/?tab=tags"),
# CRAN
# e.g. https://cran.r-project.org/src/contrib/Rcpp_0.12.9.tar.gz
# e.g. https://cloud.r-project.org/src/contrib/rgl_0.98.1.tar.gz
- (r'(.*\.r-project\.org/src/contrib)/([^_]+)',
- lambda m: m.group(1) + '/Archive/' + m.group(2)),
-
+ (
+ r"(.*\.r-project\.org/src/contrib)/([^_]+)",
+ lambda m: m.group(1) + "/Archive/" + m.group(2),
+ ),
# PyPI
# e.g. https://pypi.io/packages/source/n/numpy/numpy-1.19.4.zip
# e.g. https://www.pypi.io/packages/source/n/numpy/numpy-1.19.4.zip
@@ -105,15 +101,22 @@ def find_list_urls(url):
# e.g. https://pypi.python.org/packages/source/n/numpy/numpy-1.19.4.zip
# e.g. https://files.pythonhosted.org/packages/source/n/numpy/numpy-1.19.4.zip
# e.g. https://pypi.io/packages/py2.py3/o/opencensus-context/opencensus_context-0.1.1-py2.py3-none-any.whl
- (r'(?:pypi|pythonhosted)[^/]+/packages/[^/]+/./([^/]+)',
- lambda m: 'https://pypi.org/simple/' + m.group(1) + '/'),
-
+ (
+ r"(?:pypi|pythonhosted)[^/]+/packages/[^/]+/./([^/]+)",
+ lambda m: "https://pypi.org/simple/" + m.group(1) + "/",
+ ),
# LuaRocks
# e.g. https://luarocks.org/manifests/gvvaughan/lpeg-1.0.2-1.src.rock
# e.g. https://luarocks.org/manifests/openresty/lua-cjson-2.1.0-1.src.rock
- (r'luarocks[^/]+/(?:modules|manifests)/(?P<org>[^/]+)/'
- + r'(?P<name>.+?)-[0-9.-]*\.src\.rock',
- lambda m: 'https://luarocks.org/modules/' + m.group('org') + '/' + m.group('name') + '/'),
+ (
+ r"luarocks[^/]+/(?:modules|manifests)/(?P<org>[^/]+)/"
+ + r"(?P<name>.+?)-[0-9.-]*\.src\.rock",
+ lambda m: "https://luarocks.org/modules/"
+ + m.group("org")
+ + "/"
+ + m.group("name")
+ + "/",
+ ),
]
list_urls = set([os.path.dirname(url)])
@@ -132,17 +135,17 @@ def strip_query_and_fragment(path):
stripped = components[:3] + (None, None)
query, frag = components[3:5]
- suffix = ''
+ suffix = ""
if query:
- suffix += '?' + query
+ suffix += "?" + query
if frag:
- suffix += '#' + frag
+ suffix += "#" + frag
return (urlunsplit(stripped), suffix)
except ValueError:
tty.debug("Got error parsing path %s" % path)
- return (path, '') # Ignore URL parse errors here
+ return (path, "") # Ignore URL parse errors here
def strip_version_suffixes(path):
@@ -173,102 +176,95 @@ def strip_version_suffixes(path):
suffix_regexes = [
# Download type
- r'[Ii]nstall',
- r'all',
- r'code',
- r'[Ss]ources?',
- r'file',
- r'full',
- r'single',
- r'with[a-zA-Z_-]+',
- r'rock',
- r'src(_0)?',
- r'public',
- r'bin',
- r'binary',
- r'run',
- r'[Uu]niversal',
- r'jar',
- r'complete',
- r'dynamic',
- r'oss',
- r'gem',
- r'tar',
- r'sh',
-
+ r"[Ii]nstall",
+ r"all",
+ r"code",
+ r"[Ss]ources?",
+ r"file",
+ r"full",
+ r"single",
+ r"with[a-zA-Z_-]+",
+ r"rock",
+ r"src(_0)?",
+ r"public",
+ r"bin",
+ r"binary",
+ r"run",
+ r"[Uu]niversal",
+ r"jar",
+ r"complete",
+ r"dynamic",
+ r"oss",
+ r"gem",
+ r"tar",
+ r"sh",
# Download version
- r'release',
- r'bin',
- r'stable',
- r'[Ff]inal',
- r'rel',
- r'orig',
- r'dist',
- r'\+',
-
+ r"release",
+ r"bin",
+ r"stable",
+ r"[Ff]inal",
+ r"rel",
+ r"orig",
+ r"dist",
+ r"\+",
# License
- r'gpl',
-
+ r"gpl",
# Arch
# Needs to come before and after OS, appears in both orders
- r'ia32',
- r'intel',
- r'amd64',
- r'linux64',
- r'x64',
- r'64bit',
- r'x86[_-]64',
- r'i586_64',
- r'x86',
- r'i[36]86',
- r'ppc64(le)?',
- r'armv?(7l|6l|64)',
-
+ r"ia32",
+ r"intel",
+ r"amd64",
+ r"linux64",
+ r"x64",
+ r"64bit",
+ r"x86[_-]64",
+ r"i586_64",
+ r"x86",
+ r"i[36]86",
+ r"ppc64(le)?",
+ r"armv?(7l|6l|64)",
# Other
- r'cpp',
- r'gtk',
- r'incubating',
-
+ r"cpp",
+ r"gtk",
+ r"incubating",
# OS
- r'[Ll]inux(_64)?',
- r'LINUX',
- r'[Uu]ni?x',
- r'[Ss]un[Oo][Ss]',
- r'[Mm]ac[Oo][Ss][Xx]?',
- r'[Oo][Ss][Xx]',
- r'[Dd]arwin(64)?',
- r'[Aa]pple',
- r'[Ww]indows',
- r'[Ww]in(64|32)?',
- r'[Cc]ygwin(64|32)?',
- r'[Mm]ingw',
- r'centos',
-
+ r"[Ll]inux(_64)?",
+ r"LINUX",
+ r"[Uu]ni?x",
+ r"[Ss]un[Oo][Ss]",
+ r"[Mm]ac[Oo][Ss][Xx]?",
+ r"[Oo][Ss][Xx]",
+ r"[Dd]arwin(64)?",
+ r"[Aa]pple",
+ r"[Ww]indows",
+ r"[Ww]in(64|32)?",
+ r"[Cc]ygwin(64|32)?",
+ r"[Mm]ingw",
+ r"centos",
# Arch
# Needs to come before and after OS, appears in both orders
- r'ia32',
- r'intel',
- r'amd64',
- r'linux64',
- r'x64',
- r'64bit',
- r'x86[_-]64',
- r'i586_64',
- r'x86',
- r'i[36]86',
- r'ppc64(le)?',
- r'armv?(7l|6l|64)?',
-
+ r"ia32",
+ r"intel",
+ r"amd64",
+ r"linux64",
+ r"x64",
+ r"64bit",
+ r"x86[_-]64",
+ r"i586_64",
+ r"x86",
+ r"i[36]86",
+ r"ppc64(le)?",
+ r"armv?(7l|6l|64)?",
# PyPI
- r'[._-]py[23].*\.whl',
- r'[._-]cp[23].*\.whl',
- r'[._-]win.*\.exe',
+ r"[._-]py[23].*\.whl",
+ r"[._-]cp[23].*\.whl",
+ r"[._-]win.*\.exe",
]
for regex in suffix_regexes:
# Remove the suffix from the end of the path
# This may be done multiple times
- path = re.sub(r'[._-]?' + regex + '$', '', path)
+ path = re.sub(r"[._-]?" + regex + "$", "", path)
return path
@@ -304,51 +300,43 @@ def strip_name_suffixes(path, version):
suffix_regexes = [
# Strip off the version and anything after it
-
# name-ver
# name_ver
# name.ver
- r'[._-][rvV]?' + str(version) + '.*',
-
+ r"[._-][rvV]?" + str(version) + ".*",
# namever
- r'V?' + str(version) + '.*',
-
+ r"V?" + str(version) + ".*",
# Download type
- r'install',
- r'[Ss]rc',
- r'(open)?[Ss]ources?',
- r'[._-]open',
- r'[._-]archive',
- r'[._-]std',
- r'[._-]bin',
- r'Software',
-
+ r"install",
+ r"[Ss]rc",
+ r"(open)?[Ss]ources?",
+ r"[._-]open",
+ r"[._-]archive",
+ r"[._-]std",
+ r"[._-]bin",
+ r"Software",
# Download version
- r'release',
- r'snapshot',
- r'distrib',
- r'everywhere',
- r'latest',
-
+ r"release",
+ r"snapshot",
+ r"distrib",
+ r"everywhere",
+ r"latest",
# Arch
- r'Linux(64)?',
- r'x86_64',
-
+ r"Linux(64)?",
+ r"x86_64",
# VCS
- r'0\+bzr',
-
+ r"0\+bzr",
# License
- r'gpl',
-
+ r"gpl",
# Needs to come before and after gpl, appears in both orders
- r'[._-]x11',
- r'gpl',
+ r"[._-]x11",
+ r"gpl",
]
for regex in suffix_regexes:
# Remove the suffix from the end of the path
# This may be done multiple times
- path = re.sub('[._-]?' + regex + '$', '', path)
+ path = re.sub("[._-]?" + regex + "$", "", path)
return path
@@ -374,11 +362,11 @@ def split_url_extension(path):
2. ``('http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.0/apache-cassandra-1.2.0-rc2-bin', '.tar.gz', None)``
3. ``('https://gitlab.kitware.com/vtk/vtk/repository/archive', '.tar.bz2', '?ref=v7.0.0')``
"""
- prefix, ext, suffix = path, '', ''
+ prefix, ext, suffix = path, "", ""
# Strip off sourceforge download suffix.
# e.g. https://sourceforge.net/projects/glew/files/glew/2.0.0/glew-2.0.0.tgz/download
- match = re.search(r'(.*(?:sourceforge\.net|sf\.net)/.*)(/download)$', path)
+ match = re.search(r"(.*(?:sourceforge\.net|sf\.net)/.*)(/download)$", path)
if match:
prefix, suffix = match.groups()
@@ -392,27 +380,27 @@ def split_url_extension(path):
prefix = comp.strip_extension(prefix)
suffix = suf + suffix
if ext is None:
- ext = ''
+ ext = ""
return prefix, ext, suffix
def determine_url_file_extension(path):
"""This returns the type of archive a URL refers to. This is
- sometimes confusing because of URLs like:
+ sometimes confusing because of URLs like:
- (1) https://github.com/petdance/ack/tarball/1.93_02
+ (1) https://github.com/petdance/ack/tarball/1.93_02
- Where the URL doesn't actually contain the filename. We need
- to know what type it is so that we can appropriately name files
- in mirrors.
+ Where the URL doesn't actually contain the filename. We need
+ to know what type it is so that we can appropriately name files
+ in mirrors.
"""
- match = re.search(r'github.com/.+/(zip|tar)ball/', path)
+ match = re.search(r"github.com/.+/(zip|tar)ball/", path)
if match:
- if match.group(1) == 'zip':
- return 'zip'
- elif match.group(1) == 'tar':
- return 'tar.gz'
+ if match.group(1) == "zip":
+ return "zip"
+ elif match.group(1) == "tar":
+ return "tar.gz"
prefix, ext, suffix = split_url_extension(path)
return ext
@@ -474,124 +462,93 @@ def parse_version_offset(path):
# 1st Pass: Simplest case
# Assume name contains no digits and version contains no letters
# e.g. libpng-1.6.27
- (r'^[a-zA-Z+._-]+[._-]v?(\d[\d._-]*)$', stem),
-
+ (r"^[a-zA-Z+._-]+[._-]v?(\d[\d._-]*)$", stem),
# 2nd Pass: Version only
# Assume version contains no letters
-
# ver
# e.g. 3.2.7, 7.0.2-7, v3.3.0, v1_6_3
- (r'^v?(\d[\d._-]*)$', stem),
-
+ (r"^v?(\d[\d._-]*)$", stem),
# 3rd Pass: No separator characters are used
# Assume name contains no digits
-
# namever
# e.g. turbolinux702, nauty26r7
- (r'^[a-zA-Z+]*(\d[\da-zA-Z]*)$', stem),
-
+ (r"^[a-zA-Z+]*(\d[\da-zA-Z]*)$", stem),
# 4th Pass: A single separator character is used
# Assume name contains no digits
-
# name-name-ver-ver
# e.g. panda-2016-03-07, gts-snapshot-121130, cdd-061a
- (r'^[a-zA-Z+-]*(\d[\da-zA-Z-]*)$', stem),
-
+ (r"^[a-zA-Z+-]*(\d[\da-zA-Z-]*)$", stem),
# name_name_ver_ver
# e.g. tinyxml_2_6_2, boost_1_55_0, tbb2017_20161128
- (r'^[a-zA-Z+_]*(\d[\da-zA-Z_]*)$', stem),
-
+ (r"^[a-zA-Z+_]*(\d[\da-zA-Z_]*)$", stem),
# name.name.ver.ver
# e.g. prank.source.150803, jpegsrc.v9b, atlas3.11.34, geant4.10.01.p03
- (r'^[a-zA-Z+.]*(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z+.]*(\d[\da-zA-Z.]*)$", stem),
# 5th Pass: Two separator characters are used
# Name may contain digits, version may contain letters
-
# name-name-ver.ver
# e.g. m4-1.4.17, gmp-6.0.0a, launchmon-v1.0.2
- (r'^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z.]*)$", stem),
# name-name-ver_ver
# e.g. icu4c-57_1
- (r'^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z_]*)$', stem),
-
+ (r"^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z_]*)$", stem),
# name_name_ver.ver
# e.g. superlu_dist_4.1, pexsi_v0.9.0
- (r'^[a-zA-Z\d+_]+_v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+_]+_v?(\d[\da-zA-Z.]*)$", stem),
# name_name.ver.ver
# e.g. fer_source.v696
- (r'^[a-zA-Z\d+_]+\.v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+_]+\.v?(\d[\da-zA-Z.]*)$", stem),
# name_ver-ver
# e.g. Bridger_r2014-12-01
- (r'^[a-zA-Z\d+]+_r?(\d[\da-zA-Z-]*)$', stem),
-
+ (r"^[a-zA-Z\d+]+_r?(\d[\da-zA-Z-]*)$", stem),
# name-name-ver.ver-ver.ver
# e.g. sowing-1.1.23-p1, bib2xhtml-v3.0-15-gf506, 4.6.3-alpha04
- (r'^(?:[a-zA-Z\d+-]+-)?v?(\d[\da-zA-Z.-]*)$', stem),
-
+ (r"^(?:[a-zA-Z\d+-]+-)?v?(\d[\da-zA-Z.-]*)$", stem),
# namever.ver-ver.ver
# e.g. go1.4-bootstrap-20161024
- (r'^[a-zA-Z+]+v?(\d[\da-zA-Z.-]*)$', stem),
-
+ (r"^[a-zA-Z+]+v?(\d[\da-zA-Z.-]*)$", stem),
# 6th Pass: All three separator characters are used
# Name may contain digits, version may contain letters
-
# name_name-ver.ver
# e.g. the_silver_searcher-0.32.0, sphinx_rtd_theme-0.1.10a0
- (r'^[a-zA-Z\d+_]+-v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+_]+-v?(\d[\da-zA-Z.]*)$", stem),
# name.name_ver.ver-ver.ver
# e.g. TH.data_1.0-8, XML_3.98-1.4
- (r'^[a-zA-Z\d+.]+_v?(\d[\da-zA-Z.-]*)$', stem),
-
+ (r"^[a-zA-Z\d+.]+_v?(\d[\da-zA-Z.-]*)$", stem),
# name-name-ver.ver_ver.ver
# e.g. pypar-2.1.5_108
- (r'^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z._]*)$', stem),
-
+ (r"^[a-zA-Z\d+-]+-v?(\d[\da-zA-Z._]*)$", stem),
# name.name_name-ver.ver
# e.g. tap.py-1.6, backports.ssl_match_hostname-3.5.0.1
- (r'^[a-zA-Z\d+._]+-v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+._]+-v?(\d[\da-zA-Z.]*)$", stem),
# name-namever.ver_ver.ver
# e.g. STAR-CCM+11.06.010_02
- (r'^[a-zA-Z+-]+(\d[\da-zA-Z._]*)$', stem),
-
+ (r"^[a-zA-Z+-]+(\d[\da-zA-Z._]*)$", stem),
# name-name_name-ver.ver
# e.g. PerlIO-utf8_strict-0.002
- (r'^[a-zA-Z\d+_-]+-v?(\d[\da-zA-Z.]*)$', stem),
-
+ (r"^[a-zA-Z\d+_-]+-v?(\d[\da-zA-Z.]*)$", stem),
# 7th Pass: Specific VCS
-
# bazaar
# e.g. libvterm-0+bzr681
- (r'bzr(\d[\da-zA-Z._-]*)$', stem),
-
+ (r"bzr(\d[\da-zA-Z._-]*)$", stem),
# 8th Pass: Query strings
-
# e.g. https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0
# e.g. https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-2.1.1
# e.g. http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0
# e.g. http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1
# e.g. https://software.broadinstitute.org/gatk/download/auth?package=GATK-archive&version=3.8-1-0-gf15c1c3ef
- (r'[?&](?:sha|ref|version)=[a-zA-Z\d+-]*[_-]?v?(\d[\da-zA-Z._-]*)$', suffix),
-
+ (r"[?&](?:sha|ref|version)=[a-zA-Z\d+-]*[_-]?v?(\d[\da-zA-Z._-]*)$", suffix),
# e.g. http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz
# e.g. http://laws-green.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.1_r20171213193219.tgz
# e.g. https://evtgen.hepforge.org/downloads?f=EvtGen-01.07.00.tar.gz
# e.g. http://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz
- (r'[?&](?:filename|f|get)=[a-zA-Z\d+-]+[_-]v?(\d[\da-zA-Z.]*)', stem),
-
+ (r"[?&](?:filename|f|get)=[a-zA-Z\d+-]+[_-]v?(\d[\da-zA-Z.]*)", stem),
# 9th Pass: Version in path
-
# github.com/repo/name/releases/download/vver/name
# e.g. https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow
- (r'github\.com/[^/]+/[^/]+/releases/download/[a-zA-Z+._-]*v?(\d[\da-zA-Z._-]*)/', path),
-
+ (r"github\.com/[^/]+/[^/]+/releases/download/[a-zA-Z+._-]*v?(\d[\da-zA-Z._-]*)/", path),
# e.g. ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz
- (r'(\d[\da-zA-Z._-]*)/[^/]+$', path),
+ (r"(\d[\da-zA-Z._-]*)/[^/]+$", path),
]
for i, version_regex in enumerate(version_regexes):
@@ -599,7 +556,7 @@ def parse_version_offset(path):
match = re.search(regex, match_string)
if match and match.group(1) is not None:
version = match.group(1)
- start = match.start(1)
+ start = match.start(1)
# If we matched from the stem or suffix, we need to add offset
offset = 0
@@ -660,7 +617,7 @@ def parse_name_offset(path, v=None):
except UndetectableVersionError:
# Not all URLs contain a version. We still want to be able
# to determine a name if possible.
- v = 'unknown'
+ v = "unknown"
# path: The prefix of the URL, everything before the ext and suffix
# ext: The file extension
@@ -687,59 +644,46 @@ def parse_name_offset(path, v=None):
# ones that only catch one or two URLs at the bottom.
name_regexes = [
# 1st Pass: Common repositories
-
# GitHub: github.com/repo/name/
# e.g. https://github.com/nco/nco/archive/4.6.2.tar.gz
- (r'github\.com/[^/]+/([^/]+)', path),
-
+ (r"github\.com/[^/]+/([^/]+)", path),
# GitLab API endpoint: gitlab.*/api/v4/projects/NAMESPACE%2Fname/
# e.g. https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.3.0
- (r'gitlab[^/]+/api/v4/projects/[^/]+%2F([^/]+)', path),
-
+ (r"gitlab[^/]+/api/v4/projects/[^/]+%2F([^/]+)", path),
# GitLab non-API endpoint: gitlab.*/repo/name/
# e.g. http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0
- (r'gitlab[^/]+/(?!api/v4/projects)[^/]+/([^/]+)', path),
-
+ (r"gitlab[^/]+/(?!api/v4/projects)[^/]+/([^/]+)", path),
# Bitbucket: bitbucket.org/repo/name/
# e.g. https://bitbucket.org/glotzer/hoomd-blue/get/v1.3.3.tar.bz2
- (r'bitbucket\.org/[^/]+/([^/]+)', path),
-
+ (r"bitbucket\.org/[^/]+/([^/]+)", path),
# PyPI: pypi.(python.org|io)/packages/source/first-letter/name/
# e.g. https://pypi.python.org/packages/source/m/mpmath/mpmath-all-0.19.tar.gz
# e.g. https://pypi.io/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz
- (r'pypi\.(?:python\.org|io)/packages/source/[A-Za-z\d]/([^/]+)', path),
-
+ (r"pypi\.(?:python\.org|io)/packages/source/[A-Za-z\d]/([^/]+)", path),
# 2nd Pass: Query strings
-
# ?filename=name-ver.ver
# e.g. http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz
- (r'\?filename=([A-Za-z\d+-]+)$', stem),
-
+ (r"\?filename=([A-Za-z\d+-]+)$", stem),
# ?f=name-ver.ver
# e.g. https://evtgen.hepforge.org/downloads?f=EvtGen-01.07.00.tar.gz
- (r'\?f=([A-Za-z\d+-]+)$', stem),
-
+ (r"\?f=([A-Za-z\d+-]+)$", stem),
# ?package=name
# e.g. http://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz
- (r'\?package=([A-Za-z\d+-]+)', stem),
-
+ (r"\?package=([A-Za-z\d+-]+)", stem),
# ?package=name-version
- (r'\?package=([A-Za-z\d]+)', suffix),
-
+ (r"\?package=([A-Za-z\d]+)", suffix),
# download.php
# e.g. http://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.1
- (r'([^/]+)/download.php$', path),
-
+ (r"([^/]+)/download.php$", path),
# 3rd Pass: Name followed by version in archive
-
- (r'^([A-Za-z\d+\._-]+)$', stem),
+ (r"^([A-Za-z\d+\._-]+)$", stem),
]
for i, name_regex in enumerate(name_regexes):
regex, match_string = name_regex
match = re.search(regex, match_string)
if match:
- name = match.group(1)
+ name = match.group(1)
start = match.start(1)
# If we matched from the stem or suffix, we need to add offset
@@ -795,12 +739,14 @@ def parse_name_and_version(path):
def insensitize(string):
"""Change upper and lowercase letters to be case insensitive in
- the provided string. e.g., 'a' becomes '[Aa]', 'B' becomes
- '[bB]', etc. Use for building regexes."""
+ the provided string. e.g., 'a' becomes '[Aa]', 'B' becomes
+ '[bB]', etc. Use for building regexes."""
+
def to_ins(match):
char = match.group(1)
- return '[%s%s]' % (char.lower(), char.upper())
- return re.sub(r'([a-zA-Z])', to_ins, string)
+ return "[%s%s]" % (char.lower(), char.upper())
+
+ return re.sub(r"([a-zA-Z])", to_ins, string)
def cumsum(elts, init=0, fn=lambda x: x):
@@ -831,11 +777,11 @@ def find_all(substring, string):
def substitution_offsets(path):
"""This returns offsets for substituting versions and names in the
- provided path. It is a helper for :func:`substitute_version`.
+ provided path. It is a helper for :func:`substitute_version`.
"""
# Get name and version offsets
try:
- ver, vs, vl, vi, vregex = parse_version_offset(path)
+ ver, vs, vl, vi, vregex = parse_version_offset(path)
name, ns, nl, ni, nregex = parse_name_offset(path, ver)
except UndetectableNameError:
return (None, -1, -1, (), ver, vs, vl, (vs,))
@@ -848,15 +794,14 @@ def substitution_offsets(path):
# Find the index of every occurrence of name and ver in path
name_offsets = find_all(name, path)
- ver_offsets = find_all(ver, path)
+ ver_offsets = find_all(ver, path)
- return (name, ns, nl, name_offsets,
- ver, vs, vl, ver_offsets)
+ return (name, ns, nl, name_offsets, ver, vs, vl, ver_offsets)
def wildcard_version(path):
"""Find the version in the supplied path, and return a regular expression
- that will match this path with any version in its place.
+ that will match this path with any version in its place.
"""
# Get version so we can replace it with a wildcard
version = parse_version(path)
@@ -866,7 +811,7 @@ def wildcard_version(path):
# Replace each version with a generic capture group to find versions
# and escape everything else so it's not interpreted as a regex
- result = r'(\d.*)'.join(re.escape(vp) for vp in vparts)
+ result = r"(\d.*)".join(re.escape(vp) for vp in vparts)
return result
@@ -890,10 +835,9 @@ def substitute_version(path, new_version):
substitute_version('https://www.hdfgroup.org/ftp/HDF/releases/HDF4.2.12/src/hdf-4.2.12.tar.gz', '2.3')
>>> 'https://www.hdfgroup.org/ftp/HDF/releases/HDF2.3/src/hdf-2.3.tar.gz'
"""
- (name, ns, nl, noffs,
- ver, vs, vl, voffs) = substitution_offsets(path)
+ (name, ns, nl, noffs, ver, vs, vl, voffs) = substitution_offsets(path)
- new_path = ''
+ new_path = ""
last = 0
for vo in voffs:
new_path += path[last:vo]
@@ -922,11 +866,10 @@ def color_url(path, **kwargs):
# Allow URLs containing @ and }
path = cescape(path)
- errors = kwargs.get('errors', False)
- subs = kwargs.get('subs', False)
+ errors = kwargs.get("errors", False)
+ subs = kwargs.get("subs", False)
- (name, ns, nl, noffs,
- ver, vs, vl, voffs) = substitution_offsets(path)
+ (name, ns, nl, noffs, ver, vs, vl, voffs) = substitution_offsets(path)
nends = [no + nl - 1 for no in noffs]
vends = [vo + vl - 1 for vo in voffs]
@@ -935,28 +878,28 @@ def color_url(path, **kwargs):
out = StringIO()
for i in range(len(path)):
if i == vs:
- out.write('@c')
+ out.write("@c")
verr += 1
elif i == ns:
- out.write('@r')
+ out.write("@r")
nerr += 1
elif subs:
if i in voffs:
- out.write('@g')
+ out.write("@g")
elif i in noffs:
- out.write('@m')
+ out.write("@m")
out.write(path[i])
if i == vs + vl - 1:
- out.write('@.')
+ out.write("@.")
verr += 1
elif i == ns + nl - 1:
- out.write('@.')
+ out.write("@.")
nerr += 1
elif subs:
if i in vends or i in nends:
- out.write('@.')
+ out.write("@.")
if errors:
if nerr == 0:
@@ -983,8 +926,7 @@ class UndetectableVersionError(UrlParseError):
"""Raised when we can't parse a version from a string."""
def __init__(self, path):
- super(UndetectableVersionError, self).__init__(
- "Couldn't detect version in: " + path, path)
+ super(UndetectableVersionError, self).__init__("Couldn't detect version in: " + path, path)
class UndetectableNameError(UrlParseError):
@@ -992,4 +934,5 @@ class UndetectableNameError(UrlParseError):
def __init__(self, path):
super(UndetectableNameError, self).__init__(
- "Couldn't parse package name in: " + path, path)
+ "Couldn't parse package name in: " + path, path
+ )
diff --git a/lib/spack/spack/user_environment.py b/lib/spack/spack/user_environment.py
index db5a834308..721150aae9 100644
--- a/lib/spack/spack/user_environment.py
+++ b/lib/spack/spack/user_environment.py
@@ -11,7 +11,7 @@ import spack.util.environment as environment
import spack.util.prefix as prefix
#: Environment variable name Spack uses to track individually loaded packages
-spack_loaded_hashes_var = 'SPACK_LOADED_HASHES'
+spack_loaded_hashes_var = "SPACK_LOADED_HASHES"
def prefix_inspections(platform):
@@ -26,27 +26,27 @@ def prefix_inspections(platform):
A dictionary mapping subdirectory names to lists of environment
variables to modify with that directory if it exists.
"""
- inspections = spack.config.get('modules:prefix_inspections', {})
+ inspections = spack.config.get("modules:prefix_inspections", {})
if inspections:
return inspections
inspections = {
- 'bin': ['PATH'],
- 'lib': ['LD_LIBRARY_PATH', 'LIBRARY_PATH'],
- 'lib64': ['LD_LIBRARY_PATH', 'LIBRARY_PATH'],
- 'man': ['MANPATH'],
- 'share/man': ['MANPATH'],
- 'share/aclocal': ['ACLOCAL_PATH'],
- 'include': ['CPATH'],
- 'lib/pkgconfig': ['PKG_CONFIG_PATH'],
- 'lib64/pkgconfig': ['PKG_CONFIG_PATH'],
- 'share/pkgconfig': ['PKG_CONFIG_PATH'],
- '': ['CMAKE_PREFIX_PATH']
+ "bin": ["PATH"],
+ "lib": ["LD_LIBRARY_PATH", "LIBRARY_PATH"],
+ "lib64": ["LD_LIBRARY_PATH", "LIBRARY_PATH"],
+ "man": ["MANPATH"],
+ "share/man": ["MANPATH"],
+ "share/aclocal": ["ACLOCAL_PATH"],
+ "include": ["CPATH"],
+ "lib/pkgconfig": ["PKG_CONFIG_PATH"],
+ "lib64/pkgconfig": ["PKG_CONFIG_PATH"],
+ "share/pkgconfig": ["PKG_CONFIG_PATH"],
+ "": ["CMAKE_PREFIX_PATH"],
}
- if platform == 'darwin':
- for subdir in ('lib', 'lib64'):
- inspections[subdir].append('DYLD_FALLBACK_LIBRARY_PATH')
+ if platform == "darwin":
+ for subdir in ("lib", "lib64"):
+ inspections[subdir].append("DYLD_FALLBACK_LIBRARY_PATH")
return inspections
@@ -85,16 +85,14 @@ def environment_modifications_for_spec(spec, view=None, set_package_py_globals=T
# generic environment modifications determined by inspecting the spec
# prefix
env = environment.inspect_path(
- spec.prefix,
- prefix_inspections(spec.platform),
- exclude=environment.is_system_path
+ spec.prefix, prefix_inspections(spec.platform), exclude=environment.is_system_path
)
# Let the extendee/dependency modify their extensions/dependents
# before asking for package-specific modifications
env.extend(
spack.build_environment.modifications_from_dependencies(
- spec, context='run', set_package_py_globals=set_package_py_globals
+ spec, context="run", set_package_py_globals=set_package_py_globals
)
)
diff --git a/lib/spack/spack/util/classes.py b/lib/spack/spack/util/classes.py
index 42f25083da..cad2de2c48 100644
--- a/lib/spack/spack/util/classes.py
+++ b/lib/spack/spack/util/classes.py
@@ -13,9 +13,7 @@ from llnl.util.lang import list_modules, memoized
from spack.util.naming import mod_to_class
-__all__ = [
- 'list_classes'
-]
+__all__ = ["list_classes"]
@memoized
@@ -27,14 +25,14 @@ def list_classes(parent_module, mod_path):
classes = []
for name in list_modules(mod_path):
- mod_name = '%s.%s' % (parent_module, name)
+ mod_name = "%s.%s" % (parent_module, name)
class_name = mod_to_class(name)
mod = __import__(mod_name, fromlist=[class_name])
if not hasattr(mod, class_name):
- tty.die('No class %s defined in %s' % (class_name, mod_name))
+ tty.die("No class %s defined in %s" % (class_name, mod_name))
cls = getattr(mod, class_name)
if not inspect.isclass(cls):
- tty.die('%s.%s is not a class' % (mod_name, class_name))
+ tty.die("%s.%s is not a class" % (mod_name, class_name))
classes.append(cls)
diff --git a/lib/spack/spack/util/compression.py b/lib/spack/spack/util/compression.py
index a6433b4542..d9c1f5bd18 100644
--- a/lib/spack/spack/util/compression.py
+++ b/lib/spack/spack/util/compression.py
@@ -12,20 +12,22 @@ from itertools import product
from spack.util.executable import CommandNotFoundError, which
# Supported archive extensions.
-PRE_EXTS = ["tar", "TAR"]
-EXTS = ["gz", "bz2", "xz", "Z"]
+PRE_EXTS = ["tar", "TAR"]
+EXTS = ["gz", "bz2", "xz", "Z"]
NOTAR_EXTS = ["zip", "tgz", "tbz", "tbz2", "txz"]
# Add PRE_EXTS and EXTS last so that .tar.gz is matched *before* .tar or .gz
-ALLOWED_ARCHIVE_TYPES = [".".join(ext) for ext in product(
- PRE_EXTS, EXTS)] + PRE_EXTS + EXTS + NOTAR_EXTS
+ALLOWED_ARCHIVE_TYPES = (
+ [".".join(ext) for ext in product(PRE_EXTS, EXTS)] + PRE_EXTS + EXTS + NOTAR_EXTS
+)
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def bz2_support():
try:
- import bz2 # noqa: F401
+ import bz2 # noqa: F401
+
return True
except ImportError:
return False
@@ -33,7 +35,8 @@ def bz2_support():
def gzip_support():
try:
- import gzip # noqa: F401
+ import gzip # noqa: F401
+
return True
except ImportError:
return False
@@ -42,6 +45,7 @@ def gzip_support():
def lzma_support():
try:
import lzma # noqa: F401 # novm
+
return True
except ImportError:
return False
@@ -49,19 +53,19 @@ def lzma_support():
def tar_support():
try:
- import tarfile # noqa: F401
+ import tarfile # noqa: F401
+
return True
except ImportError:
return False
def allowed_archive(path):
- return False if not path else \
- any(path.endswith(t) for t in ALLOWED_ARCHIVE_TYPES)
+ return False if not path else any(path.endswith(t) for t in ALLOWED_ARCHIVE_TYPES)
def _untar(archive_file):
- """ Untar archive. Prefer native Python `tarfile`
+ """Untar archive. Prefer native Python `tarfile`
but fall back to system utility if there is a failure
to find the native Python module (tar on Unix).
Filters archives through native support gzip and xz
@@ -74,14 +78,14 @@ def _untar(archive_file):
_, ext = os.path.splitext(archive_file)
outfile = os.path.basename(archive_file.strip(ext))
- tar = which('tar', required=True)
- tar.add_default_arg('-oxf')
+ tar = which("tar", required=True)
+ tar.add_default_arg("-oxf")
tar(archive_file)
return outfile
def _bunzip2(archive_file):
- """ Use Python's bz2 module to decompress bz2 compressed archives
+ """Use Python's bz2 module to decompress bz2 compressed archives
Fall back to system utility failing to find Python module `bz2`
Args:
@@ -95,20 +99,21 @@ def _bunzip2(archive_file):
copy_path = os.path.join(working_dir, compressed_file_name)
if bz2_support():
import bz2
- f_bz = bz2.BZ2File(archive_file, mode='rb')
- with open(archive_out, 'wb') as ar:
+
+ f_bz = bz2.BZ2File(archive_file, mode="rb")
+ with open(archive_out, "wb") as ar:
shutil.copyfileobj(f_bz, ar)
f_bz.close()
else:
shutil.copy(archive_file, copy_path)
- bunzip2 = which('bunzip2', required=True)
- bunzip2.add_default_arg('-q')
+ bunzip2 = which("bunzip2", required=True)
+ bunzip2.add_default_arg("-q")
return bunzip2(copy_path)
return archive_out
def _gunzip(archive_file):
- """ Decompress `.gz` extensions. Prefer native Python `gzip` module.
+ """Decompress `.gz` extensions. Prefer native Python `gzip` module.
Failing back to system utility gunzip.
Like gunzip, but extracts in the current working directory
instead of in-place.
@@ -122,6 +127,7 @@ def _gunzip(archive_file):
destination_abspath = os.path.join(working_dir, decompressed_file)
if gzip_support():
import gzip
+
f_in = gzip.open(archive_file, "rb")
with open(destination_abspath, "wb") as f_out:
shutil.copyfileobj(f_in, f_out)
@@ -155,11 +161,11 @@ def _unzip(archive_file):
"""
destination_abspath = os.getcwd()
- exe = 'unzip'
- arg = '-q'
+ exe = "unzip"
+ arg = "-q"
if is_windows:
- exe = 'tar'
- arg = '-xf'
+ exe = "tar"
+ arg = "-xf"
unzip = which(exe, required=True)
unzip.add_default_arg(arg)
unzip(archive_file)
@@ -181,10 +187,11 @@ def _lzma_decomp(archive_file):
on Unix and 7z on Windows"""
if lzma_support():
import lzma # novermin
+
_, ext = os.path.splitext(archive_file)
decompressed_file = os.path.basename(archive_file.strip(ext))
archive_out = os.path.join(os.getcwd(), decompressed_file)
- with open(archive_out, 'wb') as ar:
+ with open(archive_out, "wb") as ar:
with lzma.open(archive_file) as lar:
shutil.copyfileobj(lar, ar)
else:
@@ -199,7 +206,7 @@ def _xz(archive_file):
tool. Available only on Unix
"""
if is_windows:
- raise RuntimeError('XZ tool unavailable on Windows')
+ raise RuntimeError("XZ tool unavailable on Windows")
_, ext = os.path.splitext(archive_file)
decompressed_file = os.path.basename(archive_file.strip(ext))
working_dir = os.getcwd()
@@ -207,8 +214,8 @@ def _xz(archive_file):
compressed_file = os.path.basename(archive_file)
copy_path = os.path.join(working_dir, compressed_file)
shutil.copy(archive_file, copy_path)
- xz = which('xz', required=True)
- xz.add_default_arg('-d')
+ xz = which("xz", required=True)
+ xz.add_default_arg("-d")
xz(copy_path)
return destination_abspath
@@ -229,11 +236,14 @@ def _7zip(archive_file):
"""
_, ext = os.path.splitext(archive_file)
outfile = os.path.basename(archive_file.strip(ext))
- _7z = which('7z')
+ _7z = which("7z")
if not _7z:
- raise CommandNotFoundError("7z unavailable,\
-unable to extract %s files. 7z can be installed via Spack" % ext)
- _7z.add_default_arg('e')
+ raise CommandNotFoundError(
+ "7z unavailable,\
+unable to extract %s files. 7z can be installed via Spack"
+ % ext
+ )
+ _7z.add_default_arg("e")
_7z(archive_file)
return outfile
@@ -247,32 +257,35 @@ def decompressor_for(path, ext):
ext (str): Extension of archive file
"""
if not allowed_archive(ext):
- raise CommandNotFoundError("Cannot extract archive, \
-unrecognized file extension: '%s'" % ext)
+ raise CommandNotFoundError(
+ "Cannot extract archive, \
+unrecognized file extension: '%s'"
+ % ext
+ )
- if re.match(r'\.?zip$', ext) or path.endswith('.zip'):
+ if re.match(r"\.?zip$", ext) or path.endswith(".zip"):
return _unzip
- if re.match(r'gz', ext):
+ if re.match(r"gz", ext):
return _gunzip
- if re.match(r'bz2', ext):
+ if re.match(r"bz2", ext):
return _bunzip2
# Python does not have native support
# of any kind for .Z files. In these cases,
# we rely on external tools such as tar,
# 7z, or uncompressZ
- if re.match(r'Z$', ext):
+ if re.match(r"Z$", ext):
return _unZ
# Python and platform may not have support for lzma
# compression. If no lzma support, use tools available on systems
# 7zip on Windows and the xz tool on Unix systems.
- if re.match(r'xz', ext):
+ if re.match(r"xz", ext):
return _lzma_decomp
- if ('xz' in ext or 'Z' in ext) and is_windows:
+ if ("xz" in ext or "Z" in ext) and is_windows:
return _7zip
return _untar
@@ -280,9 +293,9 @@ unrecognized file extension: '%s'" % ext)
def strip_extension(path):
"""Get the part of a path that does not include its compressed
- type extension."""
+ type extension."""
for type in ALLOWED_ARCHIVE_TYPES:
- suffix = r'\.%s$' % type
+ suffix = r"\.%s$" % type
if re.search(suffix, path):
return re.sub(suffix, "", path)
return path
@@ -294,11 +307,11 @@ def extension(path):
raise ValueError("Can't call extension() on None")
# Strip sourceforge suffix.
- if re.search(r'((?:sourceforge.net|sf.net)/.*)/download$', path):
+ if re.search(r"((?:sourceforge.net|sf.net)/.*)/download$", path):
path = os.path.dirname(path)
for t in ALLOWED_ARCHIVE_TYPES:
- suffix = r'\.%s$' % t
+ suffix = r"\.%s$" % t
if re.search(suffix, path):
return t
return None
diff --git a/lib/spack/spack/util/crypto.py b/lib/spack/spack/util/crypto.py
index 8aa4b80e6f..5595d15cd3 100644
--- a/lib/spack/spack/util/crypto.py
+++ b/lib/spack/spack/util/crypto.py
@@ -10,14 +10,7 @@ from typing import Any, Callable, Dict # novm
import llnl.util.tty as tty
#: Set of hash algorithms that Spack can use, mapped to digest size in bytes
-hashes = {
- 'md5': 16,
- 'sha1': 20,
- 'sha224': 28,
- 'sha256': 32,
- 'sha384': 48,
- 'sha512': 64
-}
+hashes = {"md5": 16, "sha1": 20, "sha224": 28, "sha256": 32, "sha384": 48, "sha512": 64}
#: size of hash digests in bytes, mapped to algoritm names
@@ -26,7 +19,7 @@ _size_to_hash = dict((v, k) for k, v in hashes.items())
#: List of deprecated hash functions. On some systems, these cannot be
#: used without special options to hashlib.
-_deprecated_hash_algorithms = ['md5']
+_deprecated_hash_algorithms = ["md5"]
#: cache of hash functions generated
@@ -41,12 +34,12 @@ class DeprecatedHash(object):
def __call__(self, disable_alert=False):
if not disable_alert:
- self.alert_fn("Deprecation warning: {0} checksums will not be"
- " supported in future Spack releases."
- .format(self.hash_alg))
+ self.alert_fn(
+ "Deprecation warning: {0} checksums will not be"
+ " supported in future Spack releases.".format(self.hash_alg)
+ )
if self.disable_security_check:
- return hashlib.new( # novermin
- self.hash_alg, usedforsecurity=False)
+ return hashlib.new(self.hash_alg, usedforsecurity=False) # novermin
else:
return hashlib.new(self.hash_alg)
@@ -57,16 +50,14 @@ def hash_fun_for_algo(algo):
if hash_gen is None:
if algo in _deprecated_hash_algorithms:
try:
- hash_gen = DeprecatedHash(
- algo, tty.debug, disable_security_check=False)
+ hash_gen = DeprecatedHash(algo, tty.debug, disable_security_check=False)
# call once to get a ValueError if usedforsecurity is needed
hash_gen(disable_alert=True)
except ValueError:
# Some systems may support the 'usedforsecurity' option
# so try with that (but display a warning when it is used)
- hash_gen = DeprecatedHash(
- algo, tty.warn, disable_security_check=True)
+ hash_gen = DeprecatedHash(algo, tty.warn, disable_security_check=True)
else:
hash_gen = getattr(hashlib, algo)
_hash_functions[algo] = hash_gen
@@ -78,8 +69,7 @@ def hash_algo_for_digest(hexdigest):
"""Gets name of the hash algorithm for a hex digest."""
bytes = len(hexdigest) / 2
if bytes not in _size_to_hash:
- raise ValueError(
- 'Spack knows no hash algorithm for this digest: %s' % hexdigest)
+ raise ValueError("Spack knows no hash algorithm for this digest: %s" % hexdigest)
return _size_to_hash[bytes]
@@ -90,11 +80,11 @@ def hash_fun_for_digest(hexdigest):
def checksum(hashlib_algo, filename, **kwargs):
"""Returns a hex digest of the filename generated using an
- algorithm from hashlib.
+ algorithm from hashlib.
"""
- block_size = kwargs.get('block_size', 2**20)
+ block_size = kwargs.get("block_size", 2 ** 20)
hasher = hashlib_algo()
- with open(filename, 'rb') as file:
+ with open(filename, "rb") as file:
while True:
data = file.read(block_size)
if not data:
@@ -105,28 +95,28 @@ def checksum(hashlib_algo, filename, **kwargs):
class Checker(object):
"""A checker checks files against one particular hex digest.
- It will automatically determine what hashing algorithm
- to used based on the length of the digest it's initialized
- with. e.g., if the digest is 32 hex characters long this will
- use md5.
+ It will automatically determine what hashing algorithm
+ to used based on the length of the digest it's initialized
+ with. e.g., if the digest is 32 hex characters long this will
+ use md5.
- Example: know your tarball should hash to 'abc123'. You want
- to check files against this. You would use this class like so::
+ Example: know your tarball should hash to 'abc123'. You want
+ to check files against this. You would use this class like so::
- hexdigest = 'abc123'
- checker = Checker(hexdigest)
- success = checker.check('downloaded.tar.gz')
+ hexdigest = 'abc123'
+ checker = Checker(hexdigest)
+ success = checker.check('downloaded.tar.gz')
- After the call to check, the actual checksum is available in
- checker.sum, in case it's needed for error output.
+ After the call to check, the actual checksum is available in
+ checker.sum, in case it's needed for error output.
- You can trade read performance and memory usage by
- adjusting the block_size optional arg. By default it's
- a 1MB (2**20 bytes) buffer.
+ You can trade read performance and memory usage by
+ adjusting the block_size optional arg. By default it's
+ a 1MB (2**20 bytes) buffer.
"""
def __init__(self, hexdigest, **kwargs):
- self.block_size = kwargs.get('block_size', 2**20)
+ self.block_size = kwargs.get("block_size", 2 ** 20)
self.hexdigest = hexdigest
self.sum = None
self.hash_fun = hash_fun_for_digest(hexdigest)
@@ -138,18 +128,17 @@ class Checker(object):
def check(self, filename):
"""Read the file with the specified name and check its checksum
- against self.hexdigest. Return True if they match, False
- otherwise. Actual checksum is stored in self.sum.
+ against self.hexdigest. Return True if they match, False
+ otherwise. Actual checksum is stored in self.sum.
"""
- self.sum = checksum(
- self.hash_fun, filename, block_size=self.block_size)
+ self.sum = checksum(self.hash_fun, filename, block_size=self.block_size)
return self.sum == self.hexdigest
def prefix_bits(byte_array, bits):
"""Return the first <bits> bits of a byte array as an integer."""
if sys.version_info < (3,):
- b2i = ord # In Python 2, indexing byte_array gives str
+ b2i = ord # In Python 2, indexing byte_array gives str
else:
b2i = lambda b: b # In Python 3, indexing byte_array gives int
@@ -161,12 +150,12 @@ def prefix_bits(byte_array, bits):
if n >= bits:
break
- result >>= (n - bits)
+ result >>= n - bits
return result
def bit_length(num):
"""Number of bits required to represent an integer in binary."""
s = bin(num)
- s = s.lstrip('-0b')
+ s = s.lstrip("-0b")
return len(s)
diff --git a/lib/spack/spack/util/debug.py b/lib/spack/spack/util/debug.py
index 64f7132a6f..eb3b59a4fc 100644
--- a/lib/spack/spack/util/debug.py
+++ b/lib/spack/spack/util/debug.py
@@ -20,13 +20,13 @@ import traceback
def debug_handler(sig, frame):
"""Interrupt running process, and provide a python prompt for
interactive debugging."""
- d = {'_frame': frame} # Allow access to frame object.
- d.update(frame.f_globals) # Unless shadowed by global
+ d = {"_frame": frame} # Allow access to frame object.
+ d.update(frame.f_globals) # Unless shadowed by global
d.update(frame.f_locals)
i = code.InteractiveConsole(d)
- message = "Signal received : entering python shell.\nTraceback:\n"
- message += ''.join(traceback.format_stack(frame))
+ message = "Signal received : entering python shell.\nTraceback:\n"
+ message += "".join(traceback.format_stack(frame))
i.interact(message)
os._exit(1) # Use os._exit to avoid test harness.
diff --git a/lib/spack/spack/util/editor.py b/lib/spack/spack/util/editor.py
index 58198907af..3b2359ab03 100644
--- a/lib/spack/spack/util/editor.py
+++ b/lib/spack/spack/util/editor.py
@@ -21,7 +21,7 @@ import spack.config
from spack.util.executable import which_string
#: editors to try if VISUAL and EDITOR are not set
-_default_editors = ['vim', 'vi', 'emacs', 'nano', 'notepad']
+_default_editors = ["vim", "vi", "emacs", "nano", "notepad"]
def _find_exe_from_env_var(var):
@@ -72,7 +72,7 @@ def editor(*args, **kwargs):
"""
# allow this to be customized for testing
- _exec_func = kwargs.get('_exec_func', os.execv)
+ _exec_func = kwargs.get("_exec_func", os.execv)
def try_exec(exe, args, var=None):
"""Try to execute an editor with execv, and warn if it fails.
@@ -86,13 +86,13 @@ def editor(*args, **kwargs):
return True
except OSError as e:
- if spack.config.get('config:debug'):
+ if spack.config.get("config:debug"):
raise
# Show variable we were trying to use, if it's from one
if var:
- exe = '$%s (%s)' % (var, exe)
- tty.warn('Could not execute %s due to error:' % exe, str(e))
+ exe = "$%s (%s)" % (var, exe)
+ tty.warn("Could not execute %s due to error:" % exe, str(e))
return False
def try_env_var(var):
@@ -106,16 +106,16 @@ def editor(*args, **kwargs):
exe, editor_args = _find_exe_from_env_var(var)
if not exe:
- tty.warn('$%s is not an executable:' % var, os.environ[var])
+ tty.warn("$%s is not an executable:" % var, os.environ[var])
return False
full_args = editor_args + list(args)
return try_exec(exe, full_args, var)
# try standard environment variables
- if try_env_var('VISUAL'):
+ if try_env_var("VISUAL"):
return
- if try_env_var('EDITOR'):
+ if try_env_var("EDITOR"):
return
# nothing worked -- try the first default we can find don't bother
@@ -127,5 +127,6 @@ def editor(*args, **kwargs):
# Fail if nothing could be found
raise EnvironmentError(
- 'No text editor found! Please set the VISUAL and/or EDITOR '
- 'environment variable(s) to your preferred text editor.')
+ "No text editor found! Please set the VISUAL and/or EDITOR "
+ "environment variable(s) to your preferred text editor."
+ )
diff --git a/lib/spack/spack/util/environment.py b/lib/spack/spack/util/environment.py
index c90d0ce808..5f3fb7a61a 100644
--- a/lib/spack/spack/util/environment.py
+++ b/lib/spack/spack/util/environment.py
@@ -28,30 +28,30 @@ import spack.util.executable as executable
import spack.util.spack_json as sjson
from spack.util.path import path_to_os_path, system_path_filter
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
-system_paths = ['/', '/usr', '/usr/local'] if \
- not is_windows else ['C:\\', 'C:\\Program Files',
- 'C:\\Program Files (x86)', 'C:\\Users',
- 'C:\\ProgramData']
-suffixes = ['bin', 'bin64', 'include', 'lib', 'lib64'] if not is_windows else []
-system_dirs = [os.path.join(p, s) for s in suffixes for p in system_paths] + \
- system_paths
+system_paths = (
+ ["/", "/usr", "/usr/local"]
+ if not is_windows
+ else ["C:\\", "C:\\Program Files", "C:\\Program Files (x86)", "C:\\Users", "C:\\ProgramData"]
+)
+suffixes = ["bin", "bin64", "include", "lib", "lib64"] if not is_windows else []
+system_dirs = [os.path.join(p, s) for s in suffixes for p in system_paths] + system_paths
_shell_set_strings = {
- 'sh': 'export {0}={1};\n',
- 'csh': 'setenv {0} {1};\n',
- 'fish': 'set -gx {0} {1};\n',
- 'bat': 'set "{0}={1}"\n'
+ "sh": "export {0}={1};\n",
+ "csh": "setenv {0} {1};\n",
+ "fish": "set -gx {0} {1};\n",
+ "bat": 'set "{0}={1}"\n',
}
_shell_unset_strings = {
- 'sh': 'unset {0};\n',
- 'csh': 'unsetenv {0};\n',
- 'fish': 'set -e {0};\n',
- 'bat': 'set "{0}="\n'
+ "sh": "unset {0};\n",
+ "csh": "unsetenv {0};\n",
+ "fish": "set -e {0};\n",
+ "bat": 'set "{0}="\n',
}
@@ -110,7 +110,7 @@ def path_set(var_name, directories):
def path_put_first(var_name, directories):
"""Puts the provided directories first in the path, adding them
- if they're not already there.
+ if they're not already there.
"""
path = os.environ.get(var_name, "").split(os.pathsep)
@@ -122,17 +122,16 @@ def path_put_first(var_name, directories):
path_set(var_name, new_path)
-bash_function_finder = re.compile(r'BASH_FUNC_(.*?)\(\)')
+bash_function_finder = re.compile(r"BASH_FUNC_(.*?)\(\)")
def env_var_to_source_line(var, val):
- if var.startswith('BASH_FUNC'):
- source_line = 'function {fname}{decl}; export -f {fname}'.\
- format(fname=bash_function_finder.sub(r'\1', var),
- decl=val)
+ if var.startswith("BASH_FUNC"):
+ source_line = "function {fname}{decl}; export -f {fname}".format(
+ fname=bash_function_finder.sub(r"\1", var), decl=val
+ )
else:
- source_line = '{var}={val}; export {var}'.format(var=var,
- val=cmd_quote(val))
+ source_line = "{var}={val}; export {var}".format(var=var, val=cmd_quote(val))
return source_line
@@ -140,21 +139,22 @@ def env_var_to_source_line(var, val):
def dump_environment(path, environment=None):
"""Dump an environment dictionary to a source-able file."""
use_env = environment or os.environ
- hidden_vars = set(['PS1', 'PWD', 'OLDPWD', 'TERM_SESSION_ID'])
+ hidden_vars = set(["PS1", "PWD", "OLDPWD", "TERM_SESSION_ID"])
fd = os.open(path, os.O_WRONLY | os.O_CREAT, 0o600)
- with os.fdopen(fd, 'w') as env_file:
+ with os.fdopen(fd, "w") as env_file:
for var, val in sorted(use_env.items()):
- env_file.write(''.join(['#' if var in hidden_vars else '',
- env_var_to_source_line(var, val),
- '\n']))
+ env_file.write(
+ "".join(
+ ["#" if var in hidden_vars else "", env_var_to_source_line(var, val), "\n"]
+ )
+ )
@system_path_filter(arg_slice=slice(1))
def pickle_environment(path, environment=None):
"""Pickle an environment dictionary to a file."""
- cPickle.dump(dict(environment if environment else os.environ),
- open(path, 'wb'), protocol=2)
+ cPickle.dump(dict(environment if environment else os.environ), open(path, "wb"), protocol=2)
def get_host_environment_metadata():
@@ -162,13 +162,16 @@ def get_host_environment_metadata():
the install directory, and add the spack version.
"""
import spack.main
+
environ = get_host_environment()
- return {"host_os": environ['os'],
- "platform": environ['platform'],
- "host_target": environ['target'],
- "hostname": environ['hostname'],
- "spack_version": spack.main.get_version(),
- "kernel_version": platform.version()}
+ return {
+ "host_os": environ["os"],
+ "platform": environ["platform"],
+ "host_target": environ["target"],
+ "hostname": environ["hostname"],
+ "spack_version": spack.main.get_version(),
+ "kernel_version": platform.version(),
+ }
def get_host_environment():
@@ -176,20 +179,18 @@ def get_host_environment():
os.environ).
"""
host_platform = spack.platforms.host()
- host_target = host_platform.target('default_target')
- host_os = host_platform.operating_system('default_os')
- arch_fmt = 'platform={0} os={1} target={2}'
- arch_spec = spack.spec.Spec(
- arch_fmt.format(host_platform, host_os, host_target)
- )
+ host_target = host_platform.target("default_target")
+ host_os = host_platform.operating_system("default_os")
+ arch_fmt = "platform={0} os={1} target={2}"
+ arch_spec = spack.spec.Spec(arch_fmt.format(host_platform, host_os, host_target))
return {
- 'target': str(host_target),
- 'os': str(host_os),
- 'platform': str(host_platform),
- 'arch': arch_spec,
- 'architecture': arch_spec,
- 'arch_str': str(arch_spec),
- 'hostname': socket.gethostname()
+ "target": str(host_target),
+ "os": str(host_os),
+ "platform": str(host_platform),
+ "arch": arch_spec,
+ "architecture": arch_spec,
+ "arch_str": str(arch_spec),
+ "hostname": socket.gethostname(),
}
@@ -221,11 +222,10 @@ def set_env(**kwargs):
class NameModifier(object):
-
def __init__(self, name, **kwargs):
self.name = name
- self.separator = kwargs.get('separator', os.pathsep)
- self.args = {'name': name, 'separator': self.separator}
+ self.separator = kwargs.get("separator", os.pathsep)
+ self.args = {"name": name, "separator": self.separator}
self.args.update(kwargs)
@@ -240,20 +240,21 @@ class NameModifier(object):
class NameValueModifier(object):
-
def __init__(self, name, value, **kwargs):
self.name = name
self.value = value
- self.separator = kwargs.get('separator', os.pathsep)
- self.args = {'name': name, 'value': value, 'separator': self.separator}
+ self.separator = kwargs.get("separator", os.pathsep)
+ self.args = {"name": name, "value": value, "separator": self.separator}
self.args.update(kwargs)
def __eq__(self, other):
if not isinstance(other, NameValueModifier):
return False
- return self.name == other.name and \
- self.value == other.value and \
- self.separator == other.separator
+ return (
+ self.name == other.name
+ and self.value == other.value
+ and self.separator == other.separator
+ )
def update_args(self, **kwargs):
self.__dict__.update(kwargs)
@@ -261,18 +262,14 @@ class NameValueModifier(object):
class SetEnv(NameValueModifier):
-
def execute(self, env):
- tty.debug("SetEnv: {0}={1}".format(self.name, str(self.value)),
- level=3)
+ tty.debug("SetEnv: {0}={1}".format(self.name, str(self.value)), level=3)
env[self.name] = str(self.value)
class AppendFlagsEnv(NameValueModifier):
-
def execute(self, env):
- tty.debug("AppendFlagsEnv: {0}={1}".format(self.name, str(self.value)),
- level=3)
+ tty.debug("AppendFlagsEnv: {0}={1}".format(self.name, str(self.value)), level=3)
if self.name in env and env[self.name]:
env[self.name] += self.separator + str(self.value)
else:
@@ -280,7 +277,6 @@ class AppendFlagsEnv(NameValueModifier):
class UnsetEnv(NameModifier):
-
def execute(self, env):
tty.debug("UnsetEnv: {0}".format(self.name), level=3)
# Avoid throwing if the variable was not set
@@ -288,19 +284,15 @@ class UnsetEnv(NameModifier):
class RemoveFlagsEnv(NameValueModifier):
-
def execute(self, env):
- tty.debug("RemoveFlagsEnv: {0}-{1}".format(self.name, str(self.value)),
- level=3)
- environment_value = env.get(self.name, '')
- flags = environment_value.split(
- self.separator) if environment_value else []
+ tty.debug("RemoveFlagsEnv: {0}-{1}".format(self.name, str(self.value)), level=3)
+ environment_value = env.get(self.name, "")
+ flags = environment_value.split(self.separator) if environment_value else []
flags = [f for f in flags if f != self.value]
env[self.name] = self.separator.join(flags)
class SetPath(NameValueModifier):
-
def execute(self, env):
string_path = concatenate_paths(self.value, separator=self.separator)
tty.debug("SetPath: {0}={1}".format(self.name, string_path), level=3)
@@ -308,66 +300,55 @@ class SetPath(NameValueModifier):
class AppendPath(NameValueModifier):
-
def execute(self, env):
- tty.debug("AppendPath: {0}+{1}".format(self.name, str(self.value)),
- level=3)
- environment_value = env.get(self.name, '')
- directories = environment_value.split(
- self.separator) if environment_value else []
+ tty.debug("AppendPath: {0}+{1}".format(self.name, str(self.value)), level=3)
+ environment_value = env.get(self.name, "")
+ directories = environment_value.split(self.separator) if environment_value else []
directories.append(path_to_os_path(os.path.normpath(self.value)).pop())
env[self.name] = self.separator.join(directories)
class PrependPath(NameValueModifier):
-
def execute(self, env):
- tty.debug("PrependPath: {0}+{1}".format(self.name, str(self.value)),
- level=3)
- environment_value = env.get(self.name, '')
- directories = environment_value.split(
- self.separator) if environment_value else []
- directories = [path_to_os_path(os.path.normpath(self.value)).pop()] \
- + directories
+ tty.debug("PrependPath: {0}+{1}".format(self.name, str(self.value)), level=3)
+ environment_value = env.get(self.name, "")
+ directories = environment_value.split(self.separator) if environment_value else []
+ directories = [path_to_os_path(os.path.normpath(self.value)).pop()] + directories
env[self.name] = self.separator.join(directories)
class RemovePath(NameValueModifier):
-
def execute(self, env):
- tty.debug("RemovePath: {0}-{1}".format(self.name, str(self.value)),
- level=3)
- environment_value = env.get(self.name, '')
- directories = environment_value.split(
- self.separator) if environment_value else []
- directories = [path_to_os_path(os.path.normpath(x)).pop()
- for x in directories
- if x != path_to_os_path(os.path.normpath(self.value)).pop()]
+ tty.debug("RemovePath: {0}-{1}".format(self.name, str(self.value)), level=3)
+ environment_value = env.get(self.name, "")
+ directories = environment_value.split(self.separator) if environment_value else []
+ directories = [
+ path_to_os_path(os.path.normpath(x)).pop()
+ for x in directories
+ if x != path_to_os_path(os.path.normpath(self.value)).pop()
+ ]
env[self.name] = self.separator.join(directories)
class DeprioritizeSystemPaths(NameModifier):
-
def execute(self, env):
tty.debug("DeprioritizeSystemPaths: {0}".format(self.name), level=3)
- environment_value = env.get(self.name, '')
- directories = environment_value.split(
- self.separator) if environment_value else []
+ environment_value = env.get(self.name, "")
+ directories = environment_value.split(self.separator) if environment_value else []
directories = deprioritize_system_paths(
- [path_to_os_path(os.path.normpath(x)).pop() for x in directories])
+ [path_to_os_path(os.path.normpath(x)).pop() for x in directories]
+ )
env[self.name] = self.separator.join(directories)
class PruneDuplicatePaths(NameModifier):
-
def execute(self, env):
- tty.debug("PruneDuplicatePaths: {0}".format(self.name),
- level=3)
- environment_value = env.get(self.name, '')
- directories = environment_value.split(
- self.separator) if environment_value else []
- directories = prune_duplicate_paths([path_to_os_path(os.path.normpath(x)).pop()
- for x in directories])
+ tty.debug("PruneDuplicatePaths: {0}".format(self.name), level=3)
+ environment_value = env.get(self.name, "")
+ directories = environment_value.split(self.separator) if environment_value else []
+ directories = prune_duplicate_paths(
+ [path_to_os_path(os.path.normpath(x)).pop() for x in directories]
+ )
env[self.name] = self.separator.join(directories)
@@ -410,8 +391,7 @@ class EnvironmentModifications(object):
@staticmethod
def _check_other(other):
if not isinstance(other, EnvironmentModifications):
- raise TypeError(
- 'other must be an instance of EnvironmentModifications')
+ raise TypeError("other must be an instance of EnvironmentModifications")
def _maybe_trace(self, kwargs):
"""Provide the modification with stack trace info so that we can track its
@@ -424,10 +404,10 @@ class EnvironmentModifications(object):
_, filename, lineno, _, context, index = stack[2]
context = context[index].strip()
except Exception:
- filename = 'unknown file'
- lineno = 'unknown line'
- context = 'unknown context'
- kwargs.update({'filename': filename, 'lineno': lineno, 'context': context})
+ filename = "unknown file"
+ lineno = "unknown line"
+ context = "unknown context"
+ kwargs.update({"filename": filename, "lineno": lineno, "context": context})
def set(self, name, value, **kwargs):
"""Stores a request to set an environment variable.
@@ -440,7 +420,7 @@ class EnvironmentModifications(object):
item = SetEnv(name, value, **kwargs)
self.env_modifications.append(item)
- def append_flags(self, name, value, sep=' ', **kwargs):
+ def append_flags(self, name, value, sep=" ", **kwargs):
"""
Stores in the current object a request to append to an env variable
@@ -450,7 +430,7 @@ class EnvironmentModifications(object):
Appends with spaces separating different additions to the variable
"""
self._maybe_trace(kwargs)
- kwargs.update({'separator': sep})
+ kwargs.update({"separator": sep})
item = AppendFlagsEnv(name, value, **kwargs)
self.env_modifications.append(item)
@@ -464,7 +444,7 @@ class EnvironmentModifications(object):
item = UnsetEnv(name, **kwargs)
self.env_modifications.append(item)
- def remove_flags(self, name, value, sep=' ', **kwargs):
+ def remove_flags(self, name, value, sep=" ", **kwargs):
"""
Stores in the current object a request to remove flags from an
env variable
@@ -475,7 +455,7 @@ class EnvironmentModifications(object):
sep: separator to assume for environment variable
"""
self._maybe_trace(kwargs)
- kwargs.update({'separator': sep})
+ kwargs.update({"separator": sep})
item = RemoveFlagsEnv(name, value, **kwargs)
self.env_modifications.append(item)
@@ -566,7 +546,7 @@ class EnvironmentModifications(object):
# The last modification must unset the variable for it to be considered
# unset
- return (type(var_updates[-1]) == UnsetEnv)
+ return type(var_updates[-1]) == UnsetEnv
def clear(self):
"""
@@ -588,23 +568,23 @@ class EnvironmentModifications(object):
for envmod in reversed(self.env_modifications):
if type(envmod) == SetEnv:
- tty.debug("Reversing `Set` environment operation may lose "
- "original value")
+ tty.debug("Reversing `Set` environment operation may lose " "original value")
rev.unset(envmod.name)
elif type(envmod) == AppendPath:
rev.remove_path(envmod.name, envmod.value)
elif type(envmod) == PrependPath:
rev.remove_path(envmod.name, envmod.value)
elif type(envmod) == SetPath:
- tty.debug("Reversing `SetPath` environment operation may lose "
- "original value")
+ tty.debug("Reversing `SetPath` environment operation may lose " "original value")
rev.unset(envmod.name)
elif type(envmod) == AppendFlagsEnv:
rev.remove_flags(envmod.name, envmod.value)
else:
# This is an un-reversable operation
- tty.warn("Skipping reversal of unreversable operation"
- "%s %s" % (type(envmod), envmod.name))
+ tty.warn(
+ "Skipping reversal of unreversable operation"
+ "%s %s" % (type(envmod), envmod.name)
+ )
return rev
@@ -621,7 +601,7 @@ class EnvironmentModifications(object):
for x in actions:
x.execute(env)
- def shell_modifications(self, shell='sh', explicit=False, env=None):
+ def shell_modifications(self, shell="sh", explicit=False, env=None):
"""Return shell code to apply the modifications and clears the list."""
modifications = self.group_by_name()
@@ -634,10 +614,10 @@ class EnvironmentModifications(object):
for x in actions:
x.execute(new_env)
- if 'MANPATH' in new_env and not new_env.get('MANPATH').endswith(':'):
- new_env['MANPATH'] += ':'
+ if "MANPATH" in new_env and not new_env.get("MANPATH").endswith(":"):
+ new_env["MANPATH"] += ":"
- cmds = ''
+ cmds = ""
for name in sorted(set(modifications)):
new = new_env.get(name, None)
@@ -647,11 +627,9 @@ class EnvironmentModifications(object):
cmds += _shell_unset_strings[shell].format(name)
else:
if sys.platform != "win32":
- cmd = _shell_set_strings[shell].format(
- name, cmd_quote(new_env[name]))
+ cmd = _shell_set_strings[shell].format(name, cmd_quote(new_env[name]))
else:
- cmd = _shell_set_strings[shell].format(
- name, new_env[name])
+ cmd = _shell_set_strings[shell].format(name, new_env[name])
cmds += cmd
return cmds
@@ -680,44 +658,56 @@ class EnvironmentModifications(object):
clean (bool): in addition to removing empty entries,
also remove duplicate entries (default: False).
"""
- tty.debug("EnvironmentModifications.from_sourcing_file: {0}"
- .format(filename))
+ tty.debug("EnvironmentModifications.from_sourcing_file: {0}".format(filename))
# Check if the file actually exists
if not os.path.isfile(filename):
- msg = 'Trying to source non-existing file: {0}'.format(filename)
+ msg = "Trying to source non-existing file: {0}".format(filename)
raise RuntimeError(msg)
# Prepare include and exclude lists of environment variable names
- exclude = kwargs.get('exclude', [])
- include = kwargs.get('include', [])
- clean = kwargs.get('clean', False)
+ exclude = kwargs.get("exclude", [])
+ include = kwargs.get("include", [])
+ clean = kwargs.get("clean", False)
# Other variables unrelated to sourcing a file
- exclude.extend([
- # Bash internals
- 'SHLVL', '_', 'PWD', 'OLDPWD', 'PS1', 'PS2', 'ENV',
- # Environment modules v4
- 'LOADEDMODULES', '_LMFILES_', 'BASH_FUNC_module()', 'MODULEPATH',
- 'MODULES_(.*)', r'(\w*)_mod(quar|share)',
- # Lmod configuration
- r'LMOD_(.*)', 'MODULERCFILE'
- ])
+ exclude.extend(
+ [
+ # Bash internals
+ "SHLVL",
+ "_",
+ "PWD",
+ "OLDPWD",
+ "PS1",
+ "PS2",
+ "ENV",
+ # Environment modules v4
+ "LOADEDMODULES",
+ "_LMFILES_",
+ "BASH_FUNC_module()",
+ "MODULEPATH",
+ "MODULES_(.*)",
+ r"(\w*)_mod(quar|share)",
+ # Lmod configuration
+ r"LMOD_(.*)",
+ "MODULERCFILE",
+ ]
+ )
# Compute the environments before and after sourcing
before = sanitize(
environment_after_sourcing_files(os.devnull, **kwargs),
- exclude=exclude, include=include
+ exclude=exclude,
+ include=include,
)
file_and_args = (filename,) + arguments
after = sanitize(
environment_after_sourcing_files(file_and_args, **kwargs),
- exclude=exclude, include=include
+ exclude=exclude,
+ include=include,
)
# Delegate to the other factory
- return EnvironmentModifications.from_environment_diff(
- before, after, clean
- )
+ return EnvironmentModifications.from_environment_diff(before, after, clean)
@staticmethod
def from_environment_diff(before, after, clean=False):
@@ -739,15 +729,14 @@ class EnvironmentModifications(object):
unset_variables = list(set(before) - set(after))
# Variables that have been modified
common_variables = set(before).intersection(set(after))
- modified_variables = [x for x in common_variables
- if before[x] != after[x]]
+ modified_variables = [x for x in common_variables if before[x] != after[x]]
# Consistent output order - looks nicer, easier comparison...
new_variables.sort()
unset_variables.sort()
modified_variables.sort()
def return_separator_if_any(*args):
- separators = ':', ';'
+ separators = ":", ";"
for separator in separators:
for arg in args:
if separator in arg:
@@ -761,7 +750,7 @@ class EnvironmentModifications(object):
sep = return_separator_if_any(after[x])
if sep:
env.prepend_path(x, after[x], separator=sep)
- elif 'PATH' in x:
+ elif "PATH" in x:
env.prepend_path(x, after[x])
else:
# We just need to set the variable to the new value
@@ -791,16 +780,14 @@ class EnvironmentModifications(object):
value_after = sep.join(after_list)
# Paths that have been removed
- remove_list = [
- ii for ii in before_list if ii not in after_list]
+ remove_list = [ii for ii in before_list if ii not in after_list]
# Check that nothing has been added in the middle of
# before_list
- remaining_list = [
- ii for ii in before_list if ii in after_list]
+ remaining_list = [ii for ii in before_list if ii in after_list]
try:
start = after_list.index(remaining_list[0])
end = after_list.index(remaining_list[-1])
- search = sep.join(after_list[start:end + 1])
+ search = sep.join(after_list[start : end + 1])
except IndexError:
env.prepend_path(x, value_after)
continue
@@ -815,7 +802,7 @@ class EnvironmentModifications(object):
except KeyError:
prepend_list = []
try:
- append_list = after_list[end + 1:]
+ append_list = after_list[end + 1 :]
except KeyError:
append_list = []
@@ -850,13 +837,14 @@ def set_or_unset_not_first(variable, changes, errstream):
"""Check if we are going to set or unset something after other
modifications have already been requested.
"""
- indexes = [ii for ii, item in enumerate(changes)
- if ii != 0 and
- not item.args.get('force', False) and
- type(item) in [SetEnv, UnsetEnv]]
+ indexes = [
+ ii
+ for ii, item in enumerate(changes)
+ if ii != 0 and not item.args.get("force", False) and type(item) in [SetEnv, UnsetEnv]
+ ]
if indexes:
- good = '\t \t{context} at {filename}:{lineno}'
- nogood = '\t--->\t{context} at {filename}:{lineno}'
+ good = "\t \t{context} at {filename}:{lineno}"
+ nogood = "\t--->\t{context} at {filename}:{lineno}"
message = "Suspicious requests to set or unset '{var}' found"
errstream(message.format(var=variable))
for ii, item in enumerate(changes):
@@ -958,7 +946,7 @@ def preserve_environment(*variables):
for var in variables:
value = cache[var]
- msg = '[PRESERVE_ENVIRONMENT]'
+ msg = "[PRESERVE_ENVIRONMENT]"
if value is not None:
# Print a debug statement if the value changed
if var not in os.environ:
@@ -995,51 +983,51 @@ def environment_after_sourcing_files(*files, **kwargs):
only when the previous command succeeds (default: ``&&``)
"""
# Set the shell executable that will be used to source files
- shell_cmd = kwargs.get('shell', '/bin/bash')
- shell_options = kwargs.get('shell_options', '-c')
- source_command = kwargs.get('source_command', 'source')
- suppress_output = kwargs.get('suppress_output', '&> /dev/null')
- concatenate_on_success = kwargs.get('concatenate_on_success', '&&')
+ shell_cmd = kwargs.get("shell", "/bin/bash")
+ shell_options = kwargs.get("shell_options", "-c")
+ source_command = kwargs.get("source_command", "source")
+ suppress_output = kwargs.get("suppress_output", "&> /dev/null")
+ concatenate_on_success = kwargs.get("concatenate_on_success", "&&")
- shell = executable.Executable(' '.join([shell_cmd, shell_options]))
+ shell = executable.Executable(" ".join([shell_cmd, shell_options]))
def _source_single_file(file_and_args, environment):
source_file = [source_command]
source_file.extend(x for x in file_and_args)
- source_file = ' '.join(source_file)
+ source_file = " ".join(source_file)
# If the environment contains 'python' use it, if not
# go with sys.executable. Below we just need a working
# Python interpreter, not necessarily sys.executable.
- python_cmd = executable.which('python3', 'python', 'python2')
+ python_cmd = executable.which("python3", "python", "python2")
python_cmd = python_cmd.path if python_cmd else sys.executable
- dump_cmd = 'import os, json; print(json.dumps(dict(os.environ)))'
+ dump_cmd = "import os, json; print(json.dumps(dict(os.environ)))"
dump_environment = python_cmd + ' -E -c "{0}"'.format(dump_cmd)
# Try to source the file
- source_file_arguments = ' '.join([
- source_file, suppress_output,
- concatenate_on_success, dump_environment,
- ])
- output = shell(
- source_file_arguments, output=str, env=environment, ignore_quotes=True
+ source_file_arguments = " ".join(
+ [
+ source_file,
+ suppress_output,
+ concatenate_on_success,
+ dump_environment,
+ ]
)
+ output = shell(source_file_arguments, output=str, env=environment, ignore_quotes=True)
environment = json.loads(output)
# If we're in python2, convert to str objects instead of unicode
# like json gives us. We can't put unicode in os.environ anyway.
return sjson.encode_json_dict(environment)
- current_environment = kwargs.get('env', dict(os.environ))
+ current_environment = kwargs.get("env", dict(os.environ))
for f in files:
# Normalize the input to the helper function
if isinstance(f, six.string_types):
f = [f]
- current_environment = _source_single_file(
- f, environment=current_environment
- )
+ current_environment = _source_single_file(f, environment=current_environment)
return current_environment
@@ -1057,7 +1045,7 @@ def sanitize(environment, exclude, include):
def set_intersection(fullset, *args):
# A set intersection using string literals and regexs
- meta = '[' + re.escape('[$()*?[]^{|}') + ']'
+ meta = "[" + re.escape("[$()*?[]^{|}") + "]"
subset = fullset & set(args) # As literal
for name in args:
if re.search(meta, name):
diff --git a/lib/spack/spack/util/executable.py b/lib/spack/spack/util/executable.py
index c424b9cdb5..a046e26eaa 100644
--- a/lib/spack/spack/util/executable.py
+++ b/lib/spack/spack/util/executable.py
@@ -16,7 +16,7 @@ import llnl.util.tty as tty
import spack.error
from spack.util.path import Path, format_os_path, path_to_os_path, system_path_filter
-__all__ = ['Executable', 'which', 'ProcessError']
+__all__ = ["Executable", "which", "ProcessError"]
class Executable(object):
@@ -30,6 +30,7 @@ class Executable(object):
self.exe = path_to_os_path(*self.exe)
self.default_env = {}
from spack.util.environment import EnvironmentModifications # no cycle
+
self.default_envmod = EnvironmentModifications()
self.returncode = None
@@ -62,7 +63,7 @@ class Executable(object):
Returns:
str: The executable and default arguments
"""
- return ' '.join(self.exe)
+ return " ".join(self.exe)
@property
def name(self):
@@ -124,7 +125,7 @@ class Executable(object):
"""
# Environment
- env_arg = kwargs.get('env', None)
+ env_arg = kwargs.get("env", None)
# Setup default environment
env = os.environ.copy() if env_arg is None else {}
@@ -140,30 +141,30 @@ class Executable(object):
env.update(env_arg)
# Apply extra env
- extra_env = kwargs.get('extra_env', {})
+ extra_env = kwargs.get("extra_env", {})
if isinstance(extra_env, EnvironmentModifications):
extra_env.apply_modifications(env)
else:
env.update(extra_env)
- if '_dump_env' in kwargs:
- kwargs['_dump_env'].clear()
- kwargs['_dump_env'].update(env)
+ if "_dump_env" in kwargs:
+ kwargs["_dump_env"].clear()
+ kwargs["_dump_env"].update(env)
- fail_on_error = kwargs.pop('fail_on_error', True)
- ignore_errors = kwargs.pop('ignore_errors', ())
- ignore_quotes = kwargs.pop('ignore_quotes', False)
+ fail_on_error = kwargs.pop("fail_on_error", True)
+ ignore_errors = kwargs.pop("ignore_errors", ())
+ ignore_quotes = kwargs.pop("ignore_quotes", False)
# If they just want to ignore one error code, make it a tuple.
if isinstance(ignore_errors, int):
- ignore_errors = (ignore_errors, )
+ ignore_errors = (ignore_errors,)
- input = kwargs.pop('input', None)
- output = kwargs.pop('output', None)
- error = kwargs.pop('error', None)
+ input = kwargs.pop("input", None)
+ output = kwargs.pop("output", None)
+ error = kwargs.pop("error", None)
if input is str:
- raise ValueError('Cannot use `str` as input stream.')
+ raise ValueError("Cannot use `str` as input stream.")
def streamify(arg, mode):
if isinstance(arg, string_types):
@@ -173,22 +174,21 @@ class Executable(object):
else:
return arg, False
- ostream, close_ostream = streamify(output, 'w')
- estream, close_estream = streamify(error, 'w')
- istream, close_istream = streamify(input, 'r')
+ ostream, close_ostream = streamify(output, "w")
+ estream, close_estream = streamify(error, "w")
+ istream, close_istream = streamify(input, "r")
if not ignore_quotes:
quoted_args = [arg for arg in args if re.search(r'^".*"$|^\'.*\'$', arg)]
if quoted_args:
tty.warn(
- "Quotes in command arguments can confuse scripts like"
- " configure.",
+ "Quotes in command arguments can confuse scripts like" " configure.",
"The following arguments may cause problems when executed:",
str("\n".join([" " + arg for arg in quoted_args])),
"Quotes aren't needed because spack doesn't use a shell. "
"Consider removing them.",
- "If multiple levels of quotation are required, use "
- "`ignore_quotes=True`.")
+ "If multiple levels of quotation are required, use " "`ignore_quotes=True`.",
+ )
cmd = self.exe + list(args)
@@ -203,25 +203,26 @@ class Executable(object):
stderr=estream,
stdout=ostream,
env=env,
- close_fds=False,)
+ close_fds=False,
+ )
out, err = proc.communicate()
result = None
if output in (str, str.split) or error in (str, str.split):
- result = ''
+ result = ""
if output in (str, str.split):
- if sys.platform == 'win32':
- outstr = text_type(out.decode('ISO-8859-1'))
+ if sys.platform == "win32":
+ outstr = text_type(out.decode("ISO-8859-1"))
else:
- outstr = text_type(out.decode('utf-8'))
+ outstr = text_type(out.decode("utf-8"))
result += outstr
if output is str.split:
sys.stdout.write(outstr)
if error in (str, str.split):
- if sys.platform == 'win32':
- errstr = text_type(err.decode('ISO-8859-1'))
+ if sys.platform == "win32":
+ errstr = text_type(err.decode("ISO-8859-1"))
else:
- errstr = text_type(err.decode('utf-8'))
+ errstr = text_type(err.decode("utf-8"))
result += errstr
if error is str.split:
sys.stderr.write(errstr)
@@ -234,22 +235,22 @@ class Executable(object):
# been stored either in the specified files (e.g. if
# 'output' specifies a file) or written to the parent's
# stdout/stderr (e.g. if 'output' is not specified)
- long_msg += '\n' + result
+ long_msg += "\n" + result
- raise ProcessError('Command exited with status %d:' %
- proc.returncode, long_msg)
+ raise ProcessError("Command exited with status %d:" % proc.returncode, long_msg)
return result
except OSError as e:
- raise ProcessError(
- '%s: %s' % (self.exe[0], e.strerror), 'Command: ' + cmd_line_string)
+ raise ProcessError("%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_string))
+ str(e),
+ "\nExit status %d when invoking command: %s"
+ % (proc.returncode, cmd_line_string),
+ )
finally:
if close_ostream:
@@ -260,35 +261,34 @@ class Executable(object):
istream.close()
def __eq__(self, other):
- return hasattr(other, 'exe') and self.exe == other.exe
+ return hasattr(other, "exe") and self.exe == other.exe
def __neq__(self, other):
return not (self == other)
def __hash__(self):
- return hash((type(self), ) + tuple(self.exe))
+ return hash((type(self),) + tuple(self.exe))
def __repr__(self):
- return '<exe: %s>' % self.exe
+ return "<exe: %s>" % self.exe
def __str__(self):
- return ' '.join(self.exe)
+ return " ".join(self.exe)
@system_path_filter
def which_string(*args, **kwargs):
"""Like ``which()``, but return a string instead of an ``Executable``."""
- path = kwargs.get('path', os.environ.get('PATH', ''))
- required = kwargs.get('required', False)
+ path = kwargs.get("path", os.environ.get("PATH", ""))
+ required = kwargs.get("required", False)
if isinstance(path, string_types):
path = path.split(os.pathsep)
for name in args:
win_candidates = []
- if sys.platform == "win32" and (not name.endswith(".exe")
- and not name.endswith(".bat")):
- win_candidates = [name + ext for ext in ['.exe', '.bat']]
+ if sys.platform == "win32" and (not name.endswith(".exe") and not name.endswith(".bat")):
+ win_candidates = [name + ext for ext in [".exe", ".bat"]]
candidate_names = [name] if not win_candidates else win_candidates
for candidate_name in candidate_names:
@@ -304,8 +304,7 @@ def which_string(*args, **kwargs):
return exe
if required:
- raise CommandNotFoundError(
- "spack requires '%s'. Make sure it is in your path." % args[0])
+ raise CommandNotFoundError("spack requires '%s'. Make sure it is in your path." % args[0])
return None
diff --git a/lib/spack/spack/util/file_cache.py b/lib/spack/spack/util/file_cache.py
index eead22980d..759d150045 100644
--- a/lib/spack/spack/util/file_cache.py
+++ b/lib/spack/spack/util/file_cache.py
@@ -61,13 +61,12 @@ class FileCache(object):
keyfile = os.path.basename(key)
keydir = os.path.dirname(key)
- return os.path.join(self.root, keydir, '.' + keyfile + '.lock')
+ return os.path.join(self.root, keydir, "." + keyfile + ".lock")
def _get_lock(self, key):
"""Create a lock for a key, if necessary, and return a lock object."""
if key not in self._locks:
- self._locks[key] = Lock(self._lock_path(key),
- default_timeout=self.lock_timeout)
+ self._locks[key] = Lock(self._lock_path(key), default_timeout=self.lock_timeout)
return self._locks[key]
def init_entry(self, key):
@@ -107,9 +106,7 @@ class FileCache(object):
cache_file.read()
"""
- return ReadTransaction(
- self._get_lock(key), acquire=lambda: open(self.cache_path(key))
- )
+ return ReadTransaction(self._get_lock(key), acquire=lambda: open(self.cache_path(key)))
def write_transaction(self, key):
"""Get a write transaction on a file cache item.
@@ -122,23 +119,22 @@ class FileCache(object):
filename = self.cache_path(key)
if os.path.exists(filename) and not os.access(filename, os.W_OK):
raise CacheError(
- "Insufficient permissions to write to file cache at {0}"
- .format(filename))
+ "Insufficient permissions to write to file cache at {0}".format(filename)
+ )
# TODO: this nested context manager adds a lot of complexity and
# TODO: is pretty hard to reason about in llnl.util.lock. At some
# TODO: point we should just replace it with functions and simplify
# TODO: the locking code.
class WriteContextManager(object):
-
def __enter__(cm):
cm.orig_filename = self.cache_path(key)
cm.orig_file = None
if os.path.exists(cm.orig_filename):
- cm.orig_file = open(cm.orig_filename, 'r')
+ cm.orig_file = open(cm.orig_filename, "r")
- cm.tmp_filename = self.cache_path(key) + '.tmp'
- cm.tmp_file = open(cm.tmp_filename, 'w')
+ cm.tmp_filename = self.cache_path(key) + ".tmp"
+ cm.tmp_file = open(cm.tmp_filename, "w")
return cm.orig_file, cm.tmp_file
@@ -154,8 +150,7 @@ class FileCache(object):
else:
rename(cm.tmp_filename, cm.orig_filename)
- return WriteTransaction(
- self._get_lock(key), acquire=WriteContextManager)
+ return WriteTransaction(self._get_lock(key), acquire=WriteContextManager)
def mtime(self, key):
"""Return modification time of cache file, or 0 if it does not exist.
diff --git a/lib/spack/spack/util/file_permissions.py b/lib/spack/spack/util/file_permissions.py
index 3ed1032392..141af3a9fb 100644
--- a/lib/spack/spack/util/file_permissions.py
+++ b/lib/spack/spack/util/file_permissions.py
@@ -30,16 +30,13 @@ def set_permissions(path, perms, group=None):
# Do not let users create world/group writable suid binaries
if perms & st.S_ISUID:
if perms & st.S_IWOTH:
- raise InvalidPermissionsError(
- "Attempting to set suid with world writable")
+ raise InvalidPermissionsError("Attempting to set suid with world writable")
if perms & st.S_IWGRP:
- raise InvalidPermissionsError(
- "Attempting to set suid with group writable")
+ raise InvalidPermissionsError("Attempting to set suid with group writable")
# Or world writable sgid binaries
if perms & st.S_ISGID:
if perms & st.S_IWOTH:
- raise InvalidPermissionsError(
- "Attempting to set sgid with world writable")
+ raise InvalidPermissionsError("Attempting to set sgid with world writable")
fs.chmod_x(path, perms)
diff --git a/lib/spack/spack/util/gcs.py b/lib/spack/spack/util/gcs.py
index b09e85da77..93efd7be1a 100644
--- a/lib/spack/spack/util/gcs.py
+++ b/lib/spack/spack/util/gcs.py
@@ -23,13 +23,14 @@ def gcs_client():
import google.auth
from google.cloud import storage
except ImportError as ex:
- tty.error('{0}, google-cloud-storage python module is missing.'.format(ex) +
- ' Please install to use the gs:// backend.')
+ tty.error(
+ "{0}, google-cloud-storage python module is missing.".format(ex)
+ + " Please install to use the gs:// backend."
+ )
sys.exit(1)
storage_credentials, storage_project = google.auth.default()
- storage_client = storage.Client(storage_project,
- storage_credentials)
+ storage_client = storage.Client(storage_project, storage_credentials)
return storage_client
@@ -38,20 +39,24 @@ class GCSBucket(object):
Create a wrapper object for a GCS Bucket. Provides methods to wrap spack
related tasks, such as destroy.
"""
+
def __init__(self, url, client=None):
"""Constructor for GCSBucket objects
- Args:
- url (str): The url pointing to the GCS bucket to build an object out of
- client (google.cloud.storage.client.Client): A pre-defined storage
- client that will be used to access the GCS bucket.
+ Args:
+ url (str): The url pointing to the GCS bucket to build an object out of
+ client (google.cloud.storage.client.Client): A pre-defined storage
+ client that will be used to access the GCS bucket.
"""
- if url.scheme != 'gs':
- raise ValueError('Can not create GCS bucket connection with scheme {SCHEME}'
- .format(SCHEME=url.scheme))
+ if url.scheme != "gs":
+ raise ValueError(
+ "Can not create GCS bucket connection with scheme {SCHEME}".format(
+ SCHEME=url.scheme
+ )
+ )
self.url = url
self.name = self.url.netloc
- if self.url.path[0] == '/':
+ if self.url.path[0] == "/":
self.prefix = self.url.path[1:]
else:
self.prefix = self.url.path
@@ -59,12 +64,13 @@ class GCSBucket(object):
self.client = client or gcs_client()
self.bucket = None
- tty.debug('New GCS bucket:')
+ tty.debug("New GCS bucket:")
tty.debug(" name: {0}".format(self.name))
tty.debug(" prefix: {0}".format(self.prefix))
def exists(self):
from google.cloud.exceptions import NotFound
+
if not self.bucket:
try:
self.bucket = self.client.bucket(self.name)
@@ -97,8 +103,7 @@ class GCSBucket(object):
If false, print absolute blob paths (useful for
destruction of bucket)
"""
- tty.debug('Getting GCS blobs... Recurse {0} -- Rel: {1}'.format(
- recursive, relative))
+ tty.debug("Getting GCS blobs... Recurse {0} -- Rel: {1}".format(recursive, relative))
converter = str
if relative:
@@ -108,11 +113,11 @@ class GCSBucket(object):
all_blobs = self.bucket.list_blobs(prefix=self.prefix)
blob_list = []
- base_dirs = len(self.prefix.split('/')) + 1
+ base_dirs = len(self.prefix.split("/")) + 1
for blob in all_blobs:
if not recursive:
- num_dirs = len(blob.name.split('/'))
+ num_dirs = len(blob.name.split("/"))
if num_dirs <= base_dirs:
blob_list.append(converter(blob.name))
else:
@@ -131,6 +136,7 @@ class GCSBucket(object):
Uses GCS Batch operations to bundle several delete operations together.
"""
from google.cloud.exceptions import NotFound
+
tty.debug("Bucket.destroy(recursive={0})".format(recursive))
try:
bucket_blobs = self.get_all_blobs(recursive=recursive, relative=False)
@@ -143,8 +149,7 @@ class GCSBucket(object):
blob = self.blob(bucket_blobs[j])
blob.delete()
except NotFound as ex:
- tty.error("{0}, Could not delete a blob in bucket {1}.".format(
- ex, self.name))
+ tty.error("{0}, Could not delete a blob in bucket {1}.".format(ex, self.name))
sys.exit(1)
@@ -153,25 +158,28 @@ class GCSBlob(object):
Wraps some blob methods for spack functionality
"""
+
def __init__(self, url, client=None):
self.url = url
- if url.scheme != 'gs':
- raise ValueError('Can not create GCS blob connection with scheme: {SCHEME}'
- .format(SCHEME=url.scheme))
+ if url.scheme != "gs":
+ raise ValueError(
+ "Can not create GCS blob connection with scheme: {SCHEME}".format(
+ SCHEME=url.scheme
+ )
+ )
self.client = client or gcs_client()
self.bucket = GCSBucket(url)
- self.blob_path = self.url.path.lstrip('/')
+ self.blob_path = self.url.path.lstrip("/")
tty.debug("New GCSBlob")
tty.debug(" blob_path = {0}".format(self.blob_path))
if not self.bucket.exists():
- tty.warn("The bucket {0} does not exist, it will be created"
- .format(self.bucket.name))
+ tty.warn("The bucket {0} does not exist, it will be created".format(self.bucket.name))
self.bucket.create()
def get(self):
@@ -179,6 +187,7 @@ class GCSBlob(object):
def exists(self):
from google.cloud.exceptions import NotFound
+
try:
blob = self.bucket.blob(self.blob_path)
exists = blob.exists()
@@ -189,6 +198,7 @@ class GCSBlob(object):
def delete_blob(self):
from google.cloud.exceptions import NotFound
+
try:
blob = self.bucket.blob(self.blob_path)
blob.delete()
@@ -200,16 +210,16 @@ class GCSBlob(object):
blob.upload_from_filename(local_file_path)
def get_blob_byte_stream(self):
- return self.bucket.get_blob(self.blob_path).open(mode='rb')
+ return self.bucket.get_blob(self.blob_path).open(mode="rb")
def get_blob_headers(self):
blob = self.bucket.get_blob(self.blob_path)
headers = {
- 'Content-type': blob.content_type,
- 'Content-encoding': blob.content_encoding,
- 'Content-language': blob.content_language,
- 'MD5Hash': blob.md5_hash
+ "Content-type": blob.content_type,
+ "Content-encoding": blob.content_encoding,
+ "Content-language": blob.content_language,
+ "MD5Hash": blob.md5_hash,
}
return headers
diff --git a/lib/spack/spack/util/gpg.py b/lib/spack/spack/util/gpg.py
index 9496e6b063..3f0d74f4b7 100644
--- a/lib/spack/spack/util/gpg.py
+++ b/lib/spack/spack/util/gpg.py
@@ -55,18 +55,16 @@ def init(gnupghome=None, force=False):
return
# Set the value of GNUPGHOME to be used in this module
- GNUPGHOME = (gnupghome or
- os.getenv('SPACK_GNUPGHOME') or
- spack.paths.gpg_path)
+ GNUPGHOME = gnupghome or os.getenv("SPACK_GNUPGHOME") or spack.paths.gpg_path
# Set the executable objects for "gpg" and "gpgconf"
with spack.bootstrap.ensure_bootstrap_configuration():
spack.bootstrap.ensure_gpg_in_path_or_raise()
GPG, GPGCONF = _gpg(), _gpgconf()
- GPG.add_default_env('GNUPGHOME', GNUPGHOME)
+ GPG.add_default_env("GNUPGHOME", GNUPGHOME)
if GPGCONF:
- GPGCONF.add_default_env('GNUPGHOME', GNUPGHOME)
+ GPGCONF.add_default_env("GNUPGHOME", GNUPGHOME)
# Set the socket dir if not using GnuPG defaults
SOCKET_DIR = _socket_dir(GPGCONF)
@@ -80,7 +78,7 @@ def init(gnupghome=None, force=False):
raise SpackGPGError(msg)
if SOCKET_DIR is not None:
- GPGCONF('--create-socketdir')
+ GPGCONF("--create-socketdir")
def _autoinit(func):
@@ -90,10 +88,12 @@ def _autoinit(func):
Args:
func (callable): decorated function
"""
+
@functools.wraps(func)
def _wrapped(*args, **kwargs):
init()
return func(*args, **kwargs)
+
return _wrapped
@@ -124,14 +124,14 @@ def gnupghome_override(dir):
def _parse_secret_keys_output(output):
keys = []
found_sec = False
- for line in output.split('\n'):
+ for line in output.split("\n"):
if found_sec:
- if line.startswith('fpr'):
- keys.append(line.split(':')[9])
+ if line.startswith("fpr"):
+ keys.append(line.split(":")[9])
found_sec = False
- elif line.startswith('ssb'):
+ elif line.startswith("ssb"):
found_sec = False
- elif line.startswith('sec'):
+ elif line.startswith("sec"):
found_sec = True
return keys
@@ -142,25 +142,25 @@ def _parse_public_keys_output(output):
"""
keys = []
found_pub = False
- current_pub_key = ''
- for line in output.split('\n'):
+ current_pub_key = ""
+ for line in output.split("\n"):
if found_pub:
- if line.startswith('fpr'):
- keys.append((current_pub_key, line.split(':')[9]))
+ if line.startswith("fpr"):
+ keys.append((current_pub_key, line.split(":")[9]))
found_pub = False
- elif line.startswith('ssb'):
+ elif line.startswith("ssb"):
found_pub = False
- elif line.startswith('pub'):
- current_pub_key = line.split(':')[4]
+ 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])
+ for line in output.split("\n"):
+ if line.startswith("pub"):
+ keys.append(line.split(":")[4])
return keys
@@ -172,9 +172,10 @@ class SpackGPGError(spack.error.SpackError):
def create(**kwargs):
"""Create a new key pair."""
r, w = os.pipe()
- with contextlib.closing(os.fdopen(r, 'r')) as r:
- with contextlib.closing(os.fdopen(w, 'w')) as w:
- w.write('''
+ with contextlib.closing(os.fdopen(r, "r")) as r:
+ with contextlib.closing(os.fdopen(w, "w")) as w:
+ w.write(
+ """
Key-Type: rsa
Key-Length: 4096
Key-Usage: sign
@@ -184,27 +185,23 @@ Name-Comment: %(comment)s
Expire-Date: %(expires)s
%%no-protection
%%commit
-''' % kwargs)
- GPG('--gen-key', '--batch', input=r)
+"""
+ % kwargs
+ )
+ GPG("--gen-key", "--batch", input=r)
@_autoinit
def signing_keys(*args):
"""Return the keys that can be used to sign binaries."""
- output = GPG(
- '--list-secret-keys', '--with-colons', '--fingerprint',
- *args, output=str
- )
+ output = GPG("--list-secret-keys", "--with-colons", "--fingerprint", *args, output=str)
return _parse_secret_keys_output(output)
@_autoinit
def public_keys_to_fingerprint(*args):
"""Return the keys that can be used to verify binaries."""
- output = GPG(
- '--list-public-keys', '--with-colons', '--fingerprint',
- *args, output=str
- )
+ output = GPG("--list-public-keys", "--with-colons", "--fingerprint", *args, output=str)
return _parse_public_keys_output(output)
@@ -238,11 +235,11 @@ def trust(keyfile):
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)
+ output = GPG("--with-colons", keyfile, output=str, error=str)
keys = _get_unimported_public_keys(output)
# Import them
- GPG('--import', keyfile)
+ GPG("--import", keyfile)
# Set trust to ultimate
key_to_fpr = dict(public_keys_to_fingerprint())
@@ -253,10 +250,10 @@ def trust(keyfile):
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:
+ 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)
+ GPG("--import-ownertrust", input=r)
@_autoinit
@@ -269,10 +266,10 @@ def untrust(signing, *keys):
"""
if signing:
skeys = signing_keys(*keys)
- GPG('--batch', '--yes', '--delete-secret-keys', *skeys)
+ GPG("--batch", "--yes", "--delete-secret-keys", *skeys)
pkeys = public_keys(*keys)
- GPG('--batch', '--yes', '--delete-keys', *pkeys)
+ GPG("--batch", "--yes", "--delete-keys", *pkeys)
@_autoinit
@@ -287,8 +284,8 @@ def sign(key, file, output, clearsign=False):
clearsign (bool): if True wraps the document in an ASCII-armored
signature, if False creates a detached signature
"""
- signopt = '--clearsign' if clearsign else '--detach-sign'
- GPG(signopt, '--armor', '--default-key', key, '--output', output, file)
+ signopt = "--clearsign" if clearsign else "--detach-sign"
+ GPG(signopt, "--armor", "--default-key", key, "--output", output, file)
@_autoinit
@@ -305,8 +302,8 @@ def verify(signature, file=None, suppress_warnings=False):
args = [signature]
if file:
args.append(file)
- kwargs = {'error': str} if suppress_warnings else {}
- GPG('--verify', *args, **kwargs)
+ kwargs = {"error": str} if suppress_warnings else {}
+ GPG("--verify", *args, **kwargs)
@_autoinit
@@ -318,41 +315,39 @@ def list(trusted, signing):
signing (bool): if True list private keys
"""
if trusted:
- GPG('--list-public-keys')
+ GPG("--list-public-keys")
if signing:
- GPG('--list-secret-keys')
+ GPG("--list-secret-keys")
def _verify_exe_or_raise(exe):
msg = (
- 'Spack requires gpgconf version >= 2\n'
- ' To install a suitable version using Spack, run\n'
- ' spack install gnupg@2:\n'
- ' and load it by running\n'
- ' spack load gnupg@2:'
+ "Spack requires gpgconf version >= 2\n"
+ " To install a suitable version using Spack, run\n"
+ " spack install gnupg@2:\n"
+ " and load it by running\n"
+ " spack load gnupg@2:"
)
if not exe:
raise SpackGPGError(msg)
- output = exe('--version', output=str)
+ output = exe("--version", output=str)
match = re.search(r"^gpg(conf)? \(GnuPG\) (.*)$", output, re.M)
if not match:
- raise SpackGPGError(
- 'Could not determine "{0}" version'.format(exe.name)
- )
+ raise SpackGPGError('Could not determine "{0}" version'.format(exe.name))
- if spack.version.Version(match.group(2)) < spack.version.Version('2'):
+ if spack.version.Version(match.group(2)) < spack.version.Version("2"):
raise SpackGPGError(msg)
def _gpgconf():
- exe = spack.util.executable.which('gpgconf', 'gpg2conf', 'gpgconf2')
+ exe = spack.util.executable.which("gpgconf", "gpg2conf", "gpgconf2")
_verify_exe_or_raise(exe)
# ensure that the gpgconf we found can run "gpgconf --create-socketdir"
try:
- exe('--dry-run', '--create-socketdir', output=os.devnull, error=os.devnull)
+ exe("--dry-run", "--create-socketdir", output=os.devnull, error=os.devnull)
except spack.util.executable.ProcessError:
# no dice
exe = None
@@ -361,7 +356,7 @@ def _gpgconf():
def _gpg():
- exe = spack.util.executable.which('gpg2', 'gpg')
+ exe = spack.util.executable.which("gpg2", "gpg")
_verify_exe_or_raise(exe)
return exe
@@ -379,11 +374,11 @@ def _socket_dir(gpgconf):
return None
result = None
- for var_run in ('/run', '/var/run'):
+ for var_run in ("/run", "/var/run"):
if not os.path.exists(var_run):
continue
- var_run_user = os.path.join(var_run, 'user')
+ var_run_user = os.path.join(var_run, "user")
try:
if not os.path.exists(var_run_user):
os.mkdir(var_run_user)
diff --git a/lib/spack/spack/util/hash.py b/lib/spack/spack/util/hash.py
index 0bd4c13230..929c97977c 100644
--- a/lib/spack/spack/util/hash.py
+++ b/lib/spack/spack/util/hash.py
@@ -12,11 +12,11 @@ import spack.util.crypto
def b32_hash(content):
"""Return the b32 encoded sha1 hash of the input string as a string."""
- sha = hashlib.sha1(content.encode('utf-8'))
+ sha = hashlib.sha1(content.encode("utf-8"))
b32_hash = base64.b32encode(sha.digest()).lower()
if sys.version_info[0] >= 3:
- b32_hash = b32_hash.decode('utf-8')
+ b32_hash = b32_hash.decode("utf-8")
return b32_hash
@@ -24,8 +24,7 @@ def b32_hash(content):
def base32_prefix_bits(hash_string, bits):
"""Return the first <bits> bits of a base32 string as an integer."""
if bits > len(hash_string) * 5:
- raise ValueError("Too many bits! Requested %d bit prefix of '%s'."
- % (bits, hash_string))
+ raise ValueError("Too many bits! Requested %d bit prefix of '%s'." % (bits, hash_string))
hash_bytes = base64.b32decode(hash_string, casefold=True)
return spack.util.crypto.prefix_bits(hash_bytes, bits)
diff --git a/lib/spack/spack/util/lock.py b/lib/spack/spack/util/lock.py
index a0ac0f0d64..f89b301b76 100644
--- a/lib/spack/spack/util/lock.py
+++ b/lib/spack/spack/util/lock.py
@@ -21,7 +21,7 @@ import spack.config
import spack.error
import spack.paths
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
class Lock(llnl.util.lock.Lock):
@@ -31,9 +31,10 @@ class Lock(llnl.util.lock.Lock):
``llnl.util.lock`` so that all the lock API calls will succeed, but
the actual locking mechanism can be disabled via ``_enable_locks``.
"""
+
def __init__(self, *args, **kwargs):
super(Lock, self).__init__(*args, **kwargs)
- self._enable = spack.config.get('config:locks', not is_windows)
+ self._enable = spack.config.get("config:locks", not is_windows)
def _lock(self, op, timeout=0):
if self._enable:
@@ -73,15 +74,15 @@ def check_lock_safety(path):
writable = None
if (mode & stat.S_IWGRP) and (uid != gid):
# spack is group-writeable and the group is not the owner
- writable = 'group'
- elif (mode & stat.S_IWOTH):
+ writable = "group"
+ elif mode & stat.S_IWOTH:
# spack is world-writeable
- writable = 'world'
+ writable = "world"
if writable:
- msg = "Refusing to disable locks: spack is {0}-writable.".format(
- writable)
+ msg = "Refusing to disable locks: spack is {0}-writable.".format(writable)
long_msg = (
"Running a shared spack without locks is unsafe. You must "
- "restrict permissions on {0} or enable locks.").format(path)
+ "restrict permissions on {0} or enable locks."
+ ).format(path)
raise spack.error.SpackError(msg, long_msg)
diff --git a/lib/spack/spack/util/log_parse.py b/lib/spack/spack/util/log_parse.py
index b344de43af..e498a41bdf 100644
--- a/lib/spack/spack/util/log_parse.py
+++ b/lib/spack/spack/util/log_parse.py
@@ -13,7 +13,7 @@ from six import StringIO
import llnl.util.tty as tty
from llnl.util.tty.color import cescape, colorize
-__all__ = ['parse_log_events', 'make_log_context']
+__all__ = ["parse_log_events", "make_log_context"]
def parse_log_events(stream, context=6, jobs=None, profile=False):
@@ -51,7 +51,7 @@ def _wrap(text, width):
lines = []
pos = 0
while pos < len(text):
- lines.append(text[pos:pos + width])
+ lines.append(text[pos : pos + width])
pos += width
return lines
@@ -77,8 +77,8 @@ def make_log_context(log_events, width=None):
log_events = sorted(log_events, key=lambda e: e.line_no)
num_width = len(str(max(error_lines or [0]))) + 4
- line_fmt = '%%-%dd%%s' % num_width
- indent = ' ' * (5 + num_width)
+ line_fmt = "%%-%dd%%s" % num_width
+ indent = " " * (5 + num_width)
if width is None:
_, width = tty.terminal_size()
@@ -92,14 +92,14 @@ def make_log_context(log_events, width=None):
start = event.start
if isinstance(event, BuildError):
- color = 'R'
+ color = "R"
elif isinstance(event, BuildWarning):
- color = 'Y'
+ color = "Y"
else:
- color = 'W'
+ color = "W"
if next_line != 1 and start > next_line:
- out.write('\n ...\n\n')
+ out.write("\n ...\n\n")
if start < next_line:
start = next_line
@@ -108,13 +108,12 @@ def make_log_context(log_events, width=None):
# wrap to width
lines = _wrap(event[i], wrap_width)
lines[1:] = [indent + ln for ln in lines[1:]]
- wrapped_line = line_fmt % (i, '\n'.join(lines))
+ wrapped_line = line_fmt % (i, "\n".join(lines))
if i in error_lines:
- out.write(colorize(
- ' @%s{>> %s}\n' % (color, cescape(wrapped_line))))
+ out.write(colorize(" @%s{>> %s}\n" % (color, cescape(wrapped_line))))
else:
- out.write(' %s\n' % wrapped_line)
+ out.write(" %s\n" % wrapped_line)
next_line = event.end
diff --git a/lib/spack/spack/util/mock_package.py b/lib/spack/spack/util/mock_package.py
index 312e3f8f10..356aefbd7a 100644
--- a/lib/spack/spack/util/mock_package.py
+++ b/lib/spack/spack/util/mock_package.py
@@ -20,10 +20,10 @@ class MockPackageBase(object):
Use ``MockPackageMultiRepo.add_package()`` to create new instances.
"""
+
virtual = False
- def __init__(self, dependencies, dependency_types,
- conditions=None, versions=None):
+ def __init__(self, dependencies, dependency_types, conditions=None, versions=None):
"""Instantiate a new MockPackageBase.
This is not for general use; it needs to be constructed by a
@@ -44,8 +44,7 @@ class MockPackageBase(object):
return [v.name for v, c in self.provided]
@classmethod
- def possible_dependencies(
- cls, transitive=True, deptype='all', visited=None, virtuals=None):
+ def possible_dependencies(cls, transitive=True, deptype="all", visited=None, virtuals=None):
visited = {} if visited is None else visited
for name, conditions in cls.dependencies.items():
@@ -65,8 +64,7 @@ class MockPackageBase(object):
if not transitive:
continue
- cls._repo.get(dep_name).possible_dependencies(
- transitive, deptype, visited, virtuals)
+ cls._repo.get(dep_name).possible_dependencies(transitive, deptype, visited, virtuals)
return visited
@@ -81,8 +79,8 @@ class MockPackageMultiRepo(object):
def __init__(self):
self.spec_to_pkg = {}
- self.namespace = 'mock' # repo namespace
- self.full_namespace = 'spack.pkg.mock' # python import namespace
+ self.namespace = "mock" # repo namespace
+ self.full_namespace = "spack.pkg.mock" # python import namespace
def get(self, spec):
if not isinstance(spec, spack.spec.Spec):
@@ -94,8 +92,7 @@ class MockPackageMultiRepo(object):
def get_pkg_class(self, name):
namespace, _, name = name.rpartition(".")
if namespace and namespace != self.namespace:
- raise spack.repo.InvalidNamespaceError(
- "bad namespace: %s" % self.namespace)
+ raise spack.repo.InvalidNamespaceError("bad namespace: %s" % self.namespace)
return self.spec_to_pkg[name]
def exists(self, name):
@@ -105,14 +102,13 @@ class MockPackageMultiRepo(object):
return False
def repo_for_pkg(self, name):
- Repo = collections.namedtuple('Repo', ['namespace'])
- return Repo('mockrepo')
+ Repo = collections.namedtuple("Repo", ["namespace"])
+ return Repo("mockrepo")
def __contains__(self, item):
return item in self.spec_to_pkg
- def add_package(self, name, dependencies=None, dependency_types=None,
- conditions=None):
+ def add_package(self, name, dependencies=None, dependency_types=None, conditions=None):
"""Factory method for creating mock packages.
This creates a new subclass of ``MockPackageBase``, ensures that its
@@ -135,14 +131,14 @@ class MockPackageMultiRepo(object):
dependencies = []
if not dependency_types:
- dependency_types = [
- spack.dependency.default_deptype] * len(dependencies)
+ dependency_types = [spack.dependency.default_deptype] * len(dependencies)
assert len(dependencies) == len(dependency_types)
# new class for the mock package
class MockPackage(MockPackageBase):
pass
+
MockPackage.__name__ = spack.util.naming.mod_to_class(name)
MockPackage.name = name
MockPackage._repo = self
@@ -157,22 +153,20 @@ class MockPackageMultiRepo(object):
dep_conditions = conditions[dep.name]
dep_conditions = dict(
(Spec(x), Dependency(MockPackage, Spec(y), type=dtype))
- for x, y in dep_conditions.items())
+ for x, y in dep_conditions.items()
+ )
MockPackage.dependencies[dep.name] = dep_conditions
# each package has some fake versions
versions = list(Version(x) for x in [1, 2, 3])
- MockPackage.versions = dict(
- (x, {'preferred': False}) for x in versions
- )
+ MockPackage.versions = dict((x, {"preferred": False}) for x in versions)
MockPackage.variants = {}
MockPackage.provided = {}
MockPackage.conflicts = {}
MockPackage.patches = {}
- mock_package = MockPackage(
- dependencies, dependency_types, conditions, versions)
+ mock_package = MockPackage(dependencies, dependency_types, conditions, versions)
self.spec_to_pkg[name] = mock_package
self.spec_to_pkg["mockrepo." + name] = mock_package
diff --git a/lib/spack/spack/util/module_cmd.py b/lib/spack/spack/util/module_cmd.py
index 82ce6c07a4..007861085a 100644
--- a/lib/spack/spack/util/module_cmd.py
+++ b/lib/spack/spack/util/module_cmd.py
@@ -16,34 +16,34 @@ import llnl.util.tty as tty
# This list is not exhaustive. Currently we only use load and unload
# If we need another option that changes the environment, add it here.
-module_change_commands = ['load', 'swap', 'unload', 'purge', 'use', 'unuse']
+module_change_commands = ["load", "swap", "unload", "purge", "use", "unuse"]
# This awk script is a posix alternative to `env -0`
-awk_cmd = (r"""awk 'BEGIN{for(name in ENVIRON)"""
- r"""printf("%s=%s%c", name, ENVIRON[name], 0)}'""")
+awk_cmd = r"""awk 'BEGIN{for(name in ENVIRON)""" r"""printf("%s=%s%c", name, ENVIRON[name], 0)}'"""
def module(*args, **kwargs):
- module_cmd = kwargs.get('module_template', 'module ' + ' '.join(args))
+ module_cmd = kwargs.get("module_template", "module " + " ".join(args))
if args[0] in module_change_commands:
# Suppress module output
- module_cmd += r' >/dev/null 2>&1; ' + awk_cmd
+ module_cmd += r" >/dev/null 2>&1; " + awk_cmd
module_p = subprocess.Popen(
module_cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
shell=True,
- executable="/bin/bash")
+ executable="/bin/bash",
+ )
# In Python 3, keys and values of `environ` are byte strings.
environ = {}
output = module_p.communicate()[0]
# Loop over each environment variable key=value byte string
- for entry in output.strip(b'\0').split(b'\0'):
+ for entry in output.strip(b"\0").split(b"\0"):
# Split variable name and value
- parts = entry.split(b'=', 1)
+ parts = entry.split(b"=", 1)
if len(parts) != 2:
continue
environ[parts[0]] = parts[1]
@@ -57,11 +57,13 @@ def module(*args, **kwargs):
else:
# Simply execute commands that don't change state and return output
- module_p = subprocess.Popen(module_cmd,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- shell=True,
- executable="/bin/bash")
+ module_p = subprocess.Popen(
+ module_cmd,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ shell=True,
+ executable="/bin/bash",
+ )
# Decode and str to return a string object in both python 2 and 3
return str(module_p.communicate()[0].decode())
@@ -76,20 +78,20 @@ def load_module(mod):
# We do this without checking that they are already installed
# for ease of programming because unloading a module that is not
# loaded does nothing.
- text = module('show', mod).split()
+ text = module("show", mod).split()
for i, word in enumerate(text):
- if word == 'conflict':
- module('unload', text[i + 1])
+ if word == "conflict":
+ module("unload", text[i + 1])
# Load the module now that there are no conflicts
# Some module systems use stdout and some use stderr
- module('load', mod)
+ module("load", mod)
def get_path_args_from_module_line(line):
- if '(' in line and ')' in line:
+ if "(" in line and ")" in line:
# Determine which lua quote symbol is being used for the argument
- comma_index = line.index(',')
+ comma_index = line.index(",")
cline = line[comma_index:]
try:
quote_index = min(cline.find(q) for q in ['"', "'"] if q in cline)
@@ -108,7 +110,7 @@ def get_path_args_from_module_line(line):
else:
return []
- paths = path_arg.split(':')
+ paths = path_arg.split(":")
return paths
@@ -127,12 +129,11 @@ def path_from_modules(modules):
best_choice = None
for module_name in modules:
# Read the current module and return a candidate path
- text = module('show', module_name).split('\n')
+ text = module("show", module_name).split("\n")
candidate_path = get_path_from_module_contents(text, module_name)
if candidate_path and not os.path.exists(candidate_path):
- msg = ("Extracted path from module does not exist "
- "[module={0}, path={1}]")
+ msg = "Extracted path from module does not exist " "[module={0}, path={1}]"
tty.warn(msg.format(module_name, candidate_path))
# If anything is found, then it's the best choice. This means
@@ -144,8 +145,8 @@ def path_from_modules(modules):
def get_path_from_module_contents(text, module_name):
tty.debug("Module name: " + module_name)
- pkg_var_prefix = module_name.replace('-', '_').upper()
- components = pkg_var_prefix.split('/')
+ pkg_var_prefix = module_name.replace("-", "_").upper()
+ components = pkg_var_prefix.split("/")
# For modules with multiple components like foo/1.0.1, retrieve the package
# name "foo" from the module name
if len(components) > 1:
@@ -157,9 +158,9 @@ def get_path_from_module_contents(text, module_name):
def strip_path(path, endings):
for ending in endings:
if path.endswith(ending):
- return path[:-len(ending)]
- if path.endswith(ending + '/'):
- return path[:-(len(ending) + 1)]
+ return path[: -len(ending)]
+ if path.endswith(ending + "/"):
+ return path[: -(len(ending) + 1)]
return path
def match_pattern_and_strip(line, pattern, strip=[]):
@@ -174,46 +175,46 @@ def get_path_from_module_contents(text, module_name):
if flag_idx >= 0:
# Search for the first occurence of any separator marking the end of
# the path.
- separators = (' ', '"', "'")
+ separators = (" ", '"', "'")
occurrences = [line.find(s, flag_idx) for s in separators]
indices = [idx for idx in occurrences if idx >= 0]
if indices:
- path = line[flag_idx + len(flag):min(indices)]
+ path = line[flag_idx + len(flag) : min(indices)]
else:
- path = line[flag_idx + len(flag):]
+ path = line[flag_idx + len(flag) :]
path = strip_path(path, strip)
path_occurrences[path] = path_occurrences.get(path, 0) + 1
- lib_endings = ['/lib64', '/lib']
- bin_endings = ['/bin']
- man_endings = ['/share/man', '/man']
+ lib_endings = ["/lib64", "/lib"]
+ bin_endings = ["/bin"]
+ man_endings = ["/share/man", "/man"]
for line in text:
# Check entries of LD_LIBRARY_PATH and CRAY_LD_LIBRARY_PATH
- pattern = r'\W(CRAY_)?LD_LIBRARY_PATH'
+ pattern = r"\W(CRAY_)?LD_LIBRARY_PATH"
match_pattern_and_strip(line, pattern, lib_endings)
# Check {name}_DIR entries
- pattern = r'\W{0}_DIR'.format(pkg_var_prefix)
+ pattern = r"\W{0}_DIR".format(pkg_var_prefix)
match_pattern_and_strip(line, pattern)
# Check {name}_ROOT entries
- pattern = r'\W{0}_ROOT'.format(pkg_var_prefix)
+ pattern = r"\W{0}_ROOT".format(pkg_var_prefix)
match_pattern_and_strip(line, pattern)
# Check entries that update the PATH variable
- pattern = r'\WPATH'
+ pattern = r"\WPATH"
match_pattern_and_strip(line, pattern, bin_endings)
# Check entries that update the MANPATH variable
- pattern = r'MANPATH'
+ pattern = r"MANPATH"
match_pattern_and_strip(line, pattern, man_endings)
# Check entries that add a `-rpath` flag to a variable
- match_flag_and_strip(line, '-rpath', lib_endings)
+ match_flag_and_strip(line, "-rpath", lib_endings)
# Check entries that add a `-L` flag to a variable
- match_flag_and_strip(line, '-L', lib_endings)
+ match_flag_and_strip(line, "-L", lib_endings)
# Whichever path appeared most in the module, we assume is the correct path
if len(path_occurrences) > 0:
diff --git a/lib/spack/spack/util/naming.py b/lib/spack/spack/util/naming.py
index 624bd6ed77..46a2f3528c 100644
--- a/lib/spack/spack/util/naming.py
+++ b/lib/spack/spack/util/naming.py
@@ -15,51 +15,52 @@ from six import StringIO
import spack.error
__all__ = [
- 'mod_to_class',
- 'spack_module_to_python_module',
- 'valid_module_name',
- 'valid_fully_qualified_module_name',
- 'validate_fully_qualified_module_name',
- 'validate_module_name',
- 'possible_spack_module_names',
- 'simplify_name',
- 'NamespaceTrie']
+ "mod_to_class",
+ "spack_module_to_python_module",
+ "valid_module_name",
+ "valid_fully_qualified_module_name",
+ "validate_fully_qualified_module_name",
+ "validate_module_name",
+ "possible_spack_module_names",
+ "simplify_name",
+ "NamespaceTrie",
+]
# Valid module names can contain '-' but can't start with it.
-_valid_module_re = r'^\w[\w-]*$'
+_valid_module_re = r"^\w[\w-]*$"
# Valid module names can contain '-' but can't start with it.
-_valid_fully_qualified_module_re = r'^(\w[\w-]*)(\.\w[\w-]*)*$'
+_valid_fully_qualified_module_re = r"^(\w[\w-]*)(\.\w[\w-]*)*$"
def mod_to_class(mod_name):
"""Convert a name from module style to class name style. Spack mostly
- follows `PEP-8 <http://legacy.python.org/dev/peps/pep-0008/>`_:
+ follows `PEP-8 <http://legacy.python.org/dev/peps/pep-0008/>`_:
- * Module and package names use lowercase_with_underscores.
- * Class names use the CapWords convention.
+ * Module and package names use lowercase_with_underscores.
+ * Class names use the CapWords convention.
- Regular source code follows these convetions. Spack is a bit
- more liberal with its Package names and Compiler names:
+ Regular source code follows these convetions. Spack is a bit
+ more liberal with its Package names and Compiler names:
- * They can contain '-' as well as '_', but cannot start with '-'.
- * They can start with numbers, e.g. "3proxy".
+ * They can contain '-' as well as '_', but cannot start with '-'.
+ * They can start with numbers, e.g. "3proxy".
- This function converts from the module convention to the class
- convention by removing _ and - and converting surrounding
- lowercase text to CapWords. If mod_name starts with a number,
- the class name returned will be prepended with '_' to make a
- valid Python identifier.
+ This function converts from the module convention to the class
+ convention by removing _ and - and converting surrounding
+ lowercase text to CapWords. If mod_name starts with a number,
+ the class name returned will be prepended with '_' to make a
+ valid Python identifier.
"""
validate_module_name(mod_name)
- class_name = re.sub(r'[-_]+', '-', mod_name)
- class_name = string.capwords(class_name, '-')
- class_name = class_name.replace('-', '')
+ class_name = re.sub(r"[-_]+", "-", mod_name)
+ class_name = string.capwords(class_name, "-")
+ class_name = class_name.replace("-", "")
# If a class starts with a number, prefix it with Number_ to make it
# a valid Python class name.
- if re.match(r'^[0-9]', class_name):
+ if re.match(r"^[0-9]", class_name):
class_name = "_%s" % class_name
return class_name
@@ -67,27 +68,27 @@ def mod_to_class(mod_name):
def spack_module_to_python_module(mod_name):
"""Given a Spack module name, returns the name by which it can be
- imported in Python.
+ imported in Python.
"""
- if re.match(r'[0-9]', mod_name):
- mod_name = 'num' + mod_name
+ if re.match(r"[0-9]", mod_name):
+ mod_name = "num" + mod_name
- return mod_name.replace('-', '_')
+ return mod_name.replace("-", "_")
def possible_spack_module_names(python_mod_name):
"""Given a Python module name, return a list of all possible spack module
- names that could correspond to it."""
- mod_name = re.sub(r'^num(\d)', r'\1', python_mod_name)
+ names that could correspond to it."""
+ mod_name = re.sub(r"^num(\d)", r"\1", python_mod_name)
- parts = re.split(r'(_)', mod_name)
- options = [['_', '-']] * mod_name.count('_')
+ parts = re.split(r"(_)", mod_name)
+ options = [["_", "-"]] * mod_name.count("_")
results = []
for subs in itertools.product(*options):
s = list(parts)
s[1::2] = subs
- results.append(''.join(s))
+ results.append("".join(s))
return results
@@ -112,7 +113,7 @@ def simplify_name(name):
# Rename Intel downloads
# e.g. l_daal, l_ipp, l_mkl -> daal, ipp, mkl
- if name.startswith('l_'):
+ if name.startswith("l_"):
name = name[2:]
# Convert UPPERCASE to lowercase
@@ -121,21 +122,21 @@ def simplify_name(name):
# Replace '_' and '.' with '-'
# e.g. backports.ssl_match_hostname -> backports-ssl-match-hostname
- name = name.replace('_', '-')
- name = name.replace('.', '-')
+ name = name.replace("_", "-")
+ name = name.replace(".", "-")
# Replace "++" with "pp" and "+" with "-plus"
# e.g. gtk+ -> gtk-plus
# e.g. voro++ -> voropp
- name = name.replace('++', 'pp')
- name = name.replace('+', '-plus')
+ name = name.replace("++", "pp")
+ name = name.replace("+", "-plus")
# Simplify Lua package names
# We don't want "lua" to occur multiple times in the name
- name = re.sub('^(lua)([^-])', r'\1-\2', name)
+ name = re.sub("^(lua)([^-])", r"\1-\2", name)
# Simplify Bio++ package names
- name = re.sub('^(bpp)([^-])', r'\1-\2', name)
+ name = re.sub("^(bpp)([^-])", r"\1-\2", name)
return name
@@ -166,8 +167,7 @@ class InvalidModuleNameError(spack.error.SpackError):
"""Raised when we encounter a bad module name."""
def __init__(self, name):
- super(InvalidModuleNameError, self).__init__(
- "Invalid module name: " + name)
+ super(InvalidModuleNameError, self).__init__("Invalid module name: " + name)
self.name = name
@@ -176,18 +176,17 @@ class InvalidFullyQualifiedModuleNameError(spack.error.SpackError):
def __init__(self, name):
super(InvalidFullyQualifiedModuleNameError, self).__init__(
- "Invalid fully qualified package name: " + name)
+ "Invalid fully qualified package name: " + name
+ )
self.name = name
class NamespaceTrie(object):
-
class Element(object):
-
def __init__(self, value):
self.value = value
- def __init__(self, separator='.'):
+ def __init__(self, separator="."):
self._subspaces = {}
self._value = None
self._sep = separator
@@ -220,7 +219,7 @@ class NamespaceTrie(object):
def is_prefix(self, namespace):
"""True if the namespace has a value, or if it's the prefix of one that
- does."""
+ does."""
first, sep, rest = namespace.partition(self._sep)
if not first:
return True
@@ -254,11 +253,11 @@ class NamespaceTrie(object):
return self.has_value(namespace)
def _str_helper(self, stream, level=0):
- indent = (level * ' ')
+ indent = level * " "
for name in sorted(self._subspaces):
- stream.write(indent + name + '\n')
+ stream.write(indent + name + "\n")
if self._value:
- stream.write(indent + ' ' + repr(self._value.value))
+ stream.write(indent + " " + repr(self._value.value))
stream.write(self._subspaces[name]._str_helper(stream, level + 1))
def __str__(self):
diff --git a/lib/spack/spack/util/package_hash.py b/lib/spack/spack/util/package_hash.py
index 7b97649eb5..4877748338 100644
--- a/lib/spack/spack/util/package_hash.py
+++ b/lib/spack/spack/util/package_hash.py
@@ -23,6 +23,7 @@ class RemoveDocstrings(ast.NodeTransformer):
the declaration.
"""
+
def remove_docstring(self, node):
def unused_string(node):
"""Criteria for unassigned body strings."""
@@ -75,29 +76,39 @@ class RemoveDirectives(ast.NodeTransformer):
# Note that changes to directives (e.g., a preferred version change or a hash
# chnage on an archive) are already represented in the spec *outside* the
# package hash.
- return None if (
- node.value and isinstance(node.value, ast.Call) and
- isinstance(node.value.func, ast.Name) and
- node.value.func.id in spack.directives.directive_names
- ) else node
+ return (
+ None
+ if (
+ node.value
+ and isinstance(node.value, ast.Call)
+ and isinstance(node.value.func, ast.Name)
+ and node.value.func.id in spack.directives.directive_names
+ )
+ else node
+ )
def visit_Assign(self, node):
# Remove assignments to metadata attributes, b/c they don't affect the build.
- return None if (
- node.targets and isinstance(node.targets[0], ast.Name) and
- node.targets[0].id in self.metadata_attrs
- ) else node
+ return (
+ None
+ if (
+ node.targets
+ and isinstance(node.targets[0], ast.Name)
+ and node.targets[0].id in self.metadata_attrs
+ )
+ else node
+ )
def visit_With(self, node):
- self.generic_visit(node) # visit children
+ self.generic_visit(node) # visit children
return node if node.body else None # remove with statement if it has no body
def visit_For(self, node):
- self.generic_visit(node) # visit children
+ self.generic_visit(node) # visit children
return node if node.body else None # remove loop if it has no body
def visit_While(self, node):
- self.generic_visit(node) # visit children
+ self.generic_visit(node) # visit children
return node if node.body else None # remove loop if it has no body
def visit_If(self, node):
@@ -139,6 +150,7 @@ class RemoveDirectives(ast.NodeTransformer):
class TagMultiMethods(ast.NodeVisitor):
"""Tag @when-decorated methods in a package AST."""
+
def __init__(self, spec):
self.spec = spec
# map from function name to (implementation, condition_list) tuples
@@ -147,7 +159,7 @@ class TagMultiMethods(ast.NodeVisitor):
def visit_FunctionDef(self, func):
conditions = []
for dec in func.decorator_list:
- if isinstance(dec, ast.Call) and dec.func.id == 'when':
+ if isinstance(dec, ast.Call) and dec.func.id == "when":
try:
# evaluate spec condition for any when's
cond = dec.args[0].s
@@ -231,6 +243,7 @@ class ResolveMultiMethods(ast.NodeTransformer):
package hash, because either could be chosen.
"""
+
def __init__(self, methods):
self.methods = methods
@@ -280,8 +293,9 @@ class ResolveMultiMethods(ast.NodeTransformer):
# strip the when decorators (preserve the rest)
func.decorator_list = [
- dec for dec in func.decorator_list
- if not (isinstance(dec, ast.Call) and dec.func.id == 'when')
+ dec
+ for dec in func.decorator_list
+ if not (isinstance(dec, ast.Call) and dec.func.id == "when")
]
return func
diff --git a/lib/spack/spack/util/parallel.py b/lib/spack/spack/util/parallel.py
index a931bba0c6..55caa6a76b 100644
--- a/lib/spack/spack/util/parallel.py
+++ b/lib/spack/spack/util/parallel.py
@@ -15,6 +15,7 @@ from .cpus import cpus_available
class ErrorFromWorker(object):
"""Wrapper class to report an error from a worker process"""
+
def __init__(self, exc_cls, exc, tb):
"""Create an error object from an exception raised from
the worker process.
@@ -27,7 +28,7 @@ class ErrorFromWorker(object):
"""
self.pid = os.getpid()
self.error_message = str(exc)
- self.stacktrace_message = ''.join(traceback.format_exception(exc_cls, exc, tb))
+ self.stacktrace_message = "".join(traceback.format_exception(exc_cls, exc, tb))
@property
def stacktrace(self):
@@ -45,6 +46,7 @@ class Task(object):
We are using a wrapper class instead of a decorator since the class
is pickleable, while a decorator with an inner closure is not.
"""
+
def __init__(self, func):
self.func = func
@@ -67,18 +69,16 @@ def raise_if_errors(*results, **kwargs):
Raise:
RuntimeError: if ErrorFromWorker objects are in the results
"""
- debug = kwargs.get('debug', False) # This can be a keyword only arg in Python 3
+ debug = kwargs.get("debug", False) # This can be a keyword only arg in Python 3
errors = [x for x in results if isinstance(x, ErrorFromWorker)]
if not errors:
return
- msg = '\n'.join([
- error.stacktrace if debug else str(error) for error in errors
- ])
+ msg = "\n".join([error.stacktrace if debug else str(error) for error in errors])
- error_fmt = '{0}'
+ error_fmt = "{0}"
if len(errors) > 1 and not debug:
- error_fmt = 'errors occurred during concretization of the environment:\n{0}'
+ error_fmt = "errors occurred during concretization of the environment:\n{0}"
raise RuntimeError(error_fmt.format(msg))
@@ -127,7 +127,7 @@ def parallel_map(func, arguments, max_processes=None, debug=False):
RuntimeError: if any error occurred in the worker processes
"""
task_wrapper = Task(func)
- if sys.platform != 'darwin' and sys.platform != 'win32':
+ if sys.platform != "darwin" and sys.platform != "win32":
with pool(processes=num_processes(max_processes=max_processes)) as p:
results = p.map(task_wrapper, arguments)
else:
diff --git a/lib/spack/spack/util/path.py b/lib/spack/spack/util/path.py
index f2b52e57c3..4557ed5daf 100644
--- a/lib/spack/spack/util/path.py
+++ b/lib/spack/spack/util/path.py
@@ -22,23 +22,22 @@ from llnl.util.lang import memoized
import spack.util.spack_yaml as syaml
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
-__all__ = [
- 'substitute_config_variables',
- 'substitute_path_variables',
- 'canonicalize_path']
+__all__ = ["substitute_config_variables", "substitute_path_variables", "canonicalize_path"]
# Substitutions to perform
def replacements():
# break circular import from spack.util.executable
import spack.paths
+
return {
- 'spack': spack.paths.prefix,
- 'user': getpass.getuser(),
- 'tempdir': tempfile.gettempdir(),
- 'user_cache_path': spack.paths.user_cache_path}
+ "spack": spack.paths.prefix,
+ "user": getpass.getuser(),
+ "tempdir": tempfile.gettempdir(),
+ "user_cache_path": spack.paths.user_cache_path,
+ }
# This is intended to be longer than the part of the install path
@@ -58,18 +57,18 @@ SPACK_MAX_INSTALL_PATH_LENGTH = 300
#: Padded paths comprise directories with this name (or some prefix of it). :
#: It starts with two underscores to make it unlikely that prefix matches would
#: include some other component of the intallation path.
-SPACK_PATH_PADDING_CHARS = '__spack_path_placeholder__'
+SPACK_PATH_PADDING_CHARS = "__spack_path_placeholder__"
def is_path_url(path):
- if '\\' in path:
+ if "\\" in path:
return False
url_tuple = urlparse(path)
return bool(url_tuple.scheme) and len(url_tuple.scheme) > 1
def win_exe_ext():
- return '.exe'
+ return ".exe"
def path_to_os_path(*pths):
@@ -80,8 +79,7 @@ def path_to_os_path(*pths):
"""
ret_pths = []
for pth in pths:
- if type(pth) is str and\
- not is_path_url(pth):
+ if type(pth) is str and not is_path_url(pth):
pth = convert_to_platform_path(pth)
ret_pths.append(pth)
return ret_pths
@@ -107,18 +105,18 @@ def sanitize_file_path(pth):
pth_cmpnts = pth.split(os.path.sep)
if is_windows:
- drive_match = r'[a-zA-Z]:'
+ drive_match = r"[a-zA-Z]:"
is_abs = bool(re.match(drive_match, pth_cmpnts[0]))
- drive = pth_cmpnts[0] + os.path.sep if is_abs else ''
+ drive = pth_cmpnts[0] + os.path.sep if is_abs else ""
pth_cmpnts = pth_cmpnts[1:] if drive else pth_cmpnts
illegal_chars = r'[<>?:"|*\\]'
else:
- drive = '/' if not pth_cmpnts[0] else ''
- illegal_chars = r'[/]'
+ drive = "/" if not pth_cmpnts[0] else ""
+ illegal_chars = r"[/]"
pth = []
for cmp in pth_cmpnts:
- san_cmp = re.sub(illegal_chars, '', cmp)
+ san_cmp = re.sub(illegal_chars, "", cmp)
pth.append(san_cmp)
return drive + os.path.join(*pth)
@@ -151,7 +149,9 @@ def system_path_filter(_func=None, arg_slice=None):
else:
args = path_to_os_path(*args)
return func(*args, **kwargs)
+
return path_filter_caller
+
if _func:
return holder_func(_func)
return holder_func
@@ -165,14 +165,15 @@ def get_system_path_max():
sys_max_path_length = 260
else:
try:
- path_max_proc = subprocess.Popen(['getconf', 'PATH_MAX', '/'],
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
+ path_max_proc = subprocess.Popen(
+ ["getconf", "PATH_MAX", "/"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT
+ )
proc_output = str(path_max_proc.communicate()[0].decode())
sys_max_path_length = int(proc_output)
except (ValueError, subprocess.CalledProcessError, OSError):
- tty.msg('Unable to find system max path length, using: {0}'.format(
- sys_max_path_length))
+ tty.msg(
+ "Unable to find system max path length, using: {0}".format(sys_max_path_length)
+ )
return sys_max_path_length
@@ -185,10 +186,10 @@ class Path:
exposing the path type of
the current platform.
"""
+
unix = 0
windows = 1
- platform_path = windows if is_windows\
- else unix
+ platform_path = windows if is_windows else unix
def format_os_path(path, mode=Path.unix):
@@ -207,9 +208,9 @@ def format_os_path(path, mode=Path.unix):
if not path:
return path
if mode == Path.windows:
- path = path.replace('/', '\\')
+ path = path.replace("/", "\\")
else:
- path = path.replace('\\', '/')
+ path = path.replace("\\", "/")
return path
@@ -242,21 +243,22 @@ def substitute_config_variables(path):
environment yaml files.
"""
import spack.environment as ev # break circular
+
_replacements = replacements()
env = ev.active_environment()
if env:
- _replacements.update({'env': env.path})
+ _replacements.update({"env": env.path})
else:
# If a previous invocation added env, remove it
- _replacements.pop('env', None)
+ _replacements.pop("env", None)
# Look up replacements
def repl(match):
- m = match.group(0).strip('${}')
+ m = match.group(0).strip("${}")
return _replacements.get(m.lower(), match.group(0))
# Replace $var or ${var}.
- return re.sub(r'(\$\w+\b|\$\{\w+\})', repl, path)
+ return re.sub(r"(\$\w+\b|\$\{\w+\})", repl, path)
def substitute_path_variables(path):
@@ -342,7 +344,7 @@ def longest_prefix_re(string, capture=True):
return "(%s%s%s?)" % (
"" if capture else "?:",
string[0],
- longest_prefix_re(string[1:], capture=False)
+ longest_prefix_re(string[1:], capture=False),
)
@@ -377,7 +379,7 @@ def padding_filter(string):
longest_prefix = longest_prefix_re(pad)
regex = (
r"((?:/[^/\s]*)*?)" # zero or more leading non-whitespace path components
- r"(/{pad})+" # the padding string repeated one or more times
+ r"(/{pad})+" # the padding string repeated one or more times
r"(/{longest_prefix})?(?=/)" # trailing prefix of padding as path component
)
regex = regex.replace("/", os.sep)
@@ -385,11 +387,8 @@ def padding_filter(string):
_filter_re = re.compile(regex)
def replacer(match):
- return "%s%s[padded-to-%d-chars]" % (
- match.group(1),
- os.sep,
- len(match.group(0))
- )
+ return "%s%s[padded-to-%d-chars]" % (match.group(1), os.sep, len(match.group(0)))
+
return _filter_re.sub(replacer, string)
@@ -401,6 +400,7 @@ def filter_padding():
long padded installation path.
"""
import spack.config
+
padding = spack.config.get("config:install_tree:padded_length", None)
if padding:
# filter out all padding from the intsall command output
diff --git a/lib/spack/spack/util/pattern.py b/lib/spack/spack/util/pattern.py
index 220e18b4a3..6732fbf945 100644
--- a/lib/spack/spack/util/pattern.py
+++ b/lib/spack/spack/util/pattern.py
@@ -15,8 +15,7 @@ class Delegate(object):
self.container = container
def __call__(self, *args, **kwargs):
- return [getattr(item, self.name)(*args, **kwargs)
- for item in self.container]
+ return [getattr(item, self.name)(*args, **kwargs) for item in self.container]
class Composite(list):
@@ -24,7 +23,7 @@ class Composite(list):
self.fns_to_delegate = fns_to_delegate
def __getattr__(self, name):
- if name != 'fns_to_delegate' and name in self.fns_to_delegate:
+ if name != "fns_to_delegate" and name in self.fns_to_delegate:
return Delegate(name, self)
else:
return self.__getattribute__(name)
@@ -60,14 +59,14 @@ def composite(interface=None, method_list=None, container=list):
# are defined
if interface is None and method_list is None:
raise TypeError(
- "Either 'interface' or 'method_list' must be defined on a call "
- "to composite")
+ "Either 'interface' or 'method_list' must be defined on a call " "to composite"
+ )
def cls_decorator(cls):
# Retrieve the base class of the composite. Inspect its methods and
# decide which ones will be overridden
def no_special_no_private(x):
- return callable(x) and not x.__name__.startswith('_')
+ return callable(x) and not x.__name__.startswith("_")
# Patch the behavior of each of the methods in the previous list.
# This is done associating an instance of the descriptor below to
@@ -88,6 +87,7 @@ def composite(interface=None, method_list=None, container=list):
def getter(*args, **kwargs):
for item in instance:
getattr(item, self.name)(*args, **kwargs)
+
# If we are using this descriptor to wrap a method from an
# interface, then we must conditionally use the
# `functools.wraps` decorator to set the appropriate fields
@@ -99,26 +99,24 @@ def composite(interface=None, method_list=None, container=list):
# Construct a dictionary with the methods explicitly passed as name
if method_list is not None:
- dictionary_for_type_call.update(
- (name, IterateOver(name)) for name in method_list)
+ dictionary_for_type_call.update((name, IterateOver(name)) for name in method_list)
# Construct a dictionary with the methods inspected from the interface
if interface is not None:
dictionary_for_type_call.update(
(name, IterateOver(name, method))
- for name, method in inspect.getmembers(
- interface, predicate=no_special_no_private))
+ for name, method in inspect.getmembers(interface, predicate=no_special_no_private)
+ )
# Get the methods that are defined in the scope of the composite
# class and override any previous definition
dictionary_for_type_call.update(
- (name, method) for name, method in inspect.getmembers(
- cls, predicate=inspect.ismethod))
+ (name, method) for name, method in inspect.getmembers(cls, predicate=inspect.ismethod)
+ )
# Generate the new class on the fly and return it
# FIXME : inherit from interface if we start to use ABC classes?
- wrapper_class = type(cls.__name__, (cls, container),
- dictionary_for_type_call)
+ wrapper_class = type(cls.__name__, (cls, container), dictionary_for_type_call)
return wrapper_class
return cls_decorator
@@ -133,5 +131,6 @@ class Bunch(object):
class Args(Bunch):
"""Subclass of Bunch to write argparse args more naturally."""
+
def __init__(self, *flags, **kwargs):
super(Args, self).__init__(flags=tuple(flags), kwargs=kwargs)
diff --git a/lib/spack/spack/util/prefix.py b/lib/spack/spack/util/prefix.py
index 7b1d15877c..a4eb30b7c0 100644
--- a/lib/spack/spack/util/prefix.py
+++ b/lib/spack/spack/util/prefix.py
@@ -36,6 +36,7 @@ class Prefix(str):
This prints ``foobar /usr``. All of this is meant to make custom
installs easy.
"""
+
def __getattr__(self, attr):
return Prefix(os.path.join(self, attr))
diff --git a/lib/spack/spack/util/s3.py b/lib/spack/spack/util/s3.py
index 492cb15585..9945ae5e5f 100644
--- a/lib/spack/spack/util/s3.py
+++ b/lib/spack/spack/util/s3.py
@@ -30,8 +30,8 @@ def get_mirror_connection(url, url_type="push"):
def _parse_s3_endpoint_url(endpoint_url):
- if not urllib_parse.urlparse(endpoint_url, scheme='').scheme:
- endpoint_url = '://'.join(('https', endpoint_url))
+ if not urllib_parse.urlparse(endpoint_url, scheme="").scheme:
+ endpoint_url = "://".join(("https", endpoint_url))
return endpoint_url
@@ -49,11 +49,11 @@ def get_mirror_s3_connection_info(connection):
if connection.get("profile"):
s3_connection["profile_name"] = connection["profile"]
- s3_client_args = {"use_ssl": spack.config.get('config:verify_ssl')}
+ s3_client_args = {"use_ssl": spack.config.get("config:verify_ssl")}
- endpoint_url = os.environ.get('S3_ENDPOINT_URL')
+ endpoint_url = os.environ.get("S3_ENDPOINT_URL")
if endpoint_url:
- s3_client_args['endpoint_url'] = _parse_s3_endpoint_url(endpoint_url)
+ s3_client_args["endpoint_url"] = _parse_s3_endpoint_url(endpoint_url)
elif s3_connection_is_dict and connection.get("endpoint_url"):
s3_client_args["endpoint_url"] = _parse_s3_endpoint_url(connection["endpoint_url"])
@@ -62,10 +62,10 @@ def get_mirror_s3_connection_info(connection):
def create_s3_session(url, connection={}):
url = url_util.parse(url)
- if url.scheme != 's3':
+ if url.scheme != "s3":
raise ValueError(
- 'Can not create S3 session from URL with scheme: {SCHEME}'.format(
- SCHEME=url.scheme))
+ "Can not create S3 session from URL with scheme: {SCHEME}".format(SCHEME=url.scheme)
+ )
# NOTE(opadron): import boto and friends as late as possible. We don't
# want to require boto as a dependency unless the user actually wants to
@@ -83,6 +83,6 @@ def create_s3_session(url, connection={}):
s3_client_args["config"] = Config(signature_version=UNSIGNED)
- client = session.client('s3', **s3_client_args)
+ client = session.client("s3", **s3_client_args)
client.ClientError = ClientError
return client
diff --git a/lib/spack/spack/util/spack_json.py b/lib/spack/spack/util/spack_json.py
index b9fcd1f53f..305af820aa 100644
--- a/lib/spack/spack/util/spack_json.py
+++ b/lib/spack/spack/util/spack_json.py
@@ -12,21 +12,18 @@ from six import PY3, iteritems, string_types
import spack.error
-__all__ = ['load', 'dump', 'SpackJSONError', 'encode_json_dict', 'decode_json_dict']
+__all__ = ["load", "dump", "SpackJSONError", "encode_json_dict", "decode_json_dict"]
-_json_dump_args = {
- 'indent': 2,
- 'separators': (',', ': ')
-}
+_json_dump_args = {"indent": 2, "separators": (",", ": ")}
def load(stream):
# type: (Any) -> Dict
"""Spack JSON needs to be ordered to support specs."""
if isinstance(stream, string_types):
- load = json.loads # type: ignore[assignment]
+ load = json.loads # type: ignore[assignment]
else:
- load = json.load # type: ignore[assignment]
+ load = json.load # type: ignore[assignment]
return _strify(load(stream, object_hook=_strify), ignore_dicts=True)
@@ -42,8 +39,8 @@ def dump(data, stream=None):
"""Dump JSON with a reasonable amount of indentation and separation."""
data = _strify(data)
if stream is None:
- return json.dumps(data, **_json_dump_args) # type: ignore[arg-type]
- json.dump(data, stream, **_json_dump_args) # type: ignore[arg-type]
+ return json.dumps(data, **_json_dump_args) # type: ignore[arg-type]
+ json.dump(data, stream, **_json_dump_args) # type: ignore[arg-type]
return None
@@ -64,7 +61,7 @@ def _strify(data, ignore_dicts=False):
# if this is a unicode string in python 2, return its string representation
if isinstance(data, string_types):
- return data.encode('utf-8')
+ return data.encode("utf-8")
# if this is a list of values, return list of byteified values
if isinstance(data, list):
diff --git a/lib/spack/spack/util/spack_yaml.py b/lib/spack/spack/util/spack_yaml.py
index 227b9d7449..a6c2a5660c 100644
--- a/lib/spack/spack/util/spack_yaml.py
+++ b/lib/spack/spack/util/spack_yaml.py
@@ -27,15 +27,15 @@ from llnl.util.tty.color import cextra, clen, colorize
import spack.error
# Only export load and dump
-__all__ = ['load', 'dump', 'SpackYAMLError']
+__all__ = ["load", "dump", "SpackYAMLError"]
# Make new classes so we can add custom attributes.
# Also, use OrderedDict instead of just dict.
class syaml_dict(collections.OrderedDict):
def __repr__(self):
- mappings = ('%r: %r' % (k, v) for k, v in self.items())
- return '{%s}' % ', '.join(mappings)
+ mappings = ("%r: %r" % (k, v) for k, v in self.items())
+ return "{%s}" % ", ".join(mappings)
class syaml_list(list):
@@ -59,9 +59,7 @@ syaml_types = {
}
-markable_types = set(syaml_types) | set([
- yaml.comments.CommentedSeq,
- yaml.comments.CommentedMap])
+markable_types = set(syaml_types) | set([yaml.comments.CommentedSeq, yaml.comments.CommentedMap])
def syaml_type(obj):
@@ -83,34 +81,39 @@ def markable(obj):
def mark(obj, node):
"""Add start and end markers to an object."""
- if hasattr(node, 'start_mark'):
+ if hasattr(node, "start_mark"):
obj._start_mark = node.start_mark
- elif hasattr(node, '_start_mark'):
+ elif hasattr(node, "_start_mark"):
obj._start_mark = node._start_mark
- if hasattr(node, 'end_mark'):
+ if hasattr(node, "end_mark"):
obj._end_mark = node.end_mark
- elif hasattr(node, '_end_mark'):
+ elif hasattr(node, "_end_mark"):
obj._end_mark = node._end_mark
def marked(obj):
"""Whether an object has been marked by spack_yaml."""
- return (hasattr(obj, '_start_mark') and obj._start_mark or
- hasattr(obj, '_end_mark') and obj._end_mark)
+ return (
+ hasattr(obj, "_start_mark")
+ and obj._start_mark
+ or hasattr(obj, "_end_mark")
+ and obj._end_mark
+ )
class OrderedLineLoader(RoundTripLoader):
"""YAML loader specifically intended for reading Spack configuration
- files. It preserves order and line numbers. It also has special-purpose
- logic for handling dictionary keys that indicate a Spack config
- override: namely any key that contains an "extra" ':' character.
+ files. It preserves order and line numbers. It also has special-purpose
+ logic for handling dictionary keys that indicate a Spack config
+ override: namely any key that contains an "extra" ':' character.
- Mappings read in by this loader behave like an ordered dict.
- Sequences, mappings, and strings also have new attributes,
- ``_start_mark`` and ``_end_mark``, that preserve YAML line
- information in the output data.
+ Mappings read in by this loader behave like an ordered dict.
+ Sequences, mappings, and strings also have new attributes,
+ ``_start_mark`` and ``_end_mark``, that preserve YAML line
+ information in the output data.
"""
+
#
# Override construct_yaml_* so that we can apply _start_mark/_end_mark to
# them. The superclass returns CommentedMap/CommentedSeq objects that we
@@ -127,7 +130,7 @@ class OrderedLineLoader(RoundTripLoader):
# so this assumes we are talking about a Spack config override key if
# it ends with a ':' and does not contain a '@' (which can appear
# in config values that refer to Spack specs)
- if value and value.endswith(':') and '@' not in value:
+ if value and value.endswith(":") and "@" not in value:
value = syaml_str(value[:-1])
value.override = True
else:
@@ -155,21 +158,18 @@ class OrderedLineLoader(RoundTripLoader):
# register above new constructors
-OrderedLineLoader.add_constructor(
- 'tag:yaml.org,2002:map', OrderedLineLoader.construct_yaml_map)
-OrderedLineLoader.add_constructor(
- 'tag:yaml.org,2002:seq', OrderedLineLoader.construct_yaml_seq)
-OrderedLineLoader.add_constructor(
- 'tag:yaml.org,2002:str', OrderedLineLoader.construct_yaml_str)
+OrderedLineLoader.add_constructor("tag:yaml.org,2002:map", OrderedLineLoader.construct_yaml_map)
+OrderedLineLoader.add_constructor("tag:yaml.org,2002:seq", OrderedLineLoader.construct_yaml_seq)
+OrderedLineLoader.add_constructor("tag:yaml.org,2002:str", OrderedLineLoader.construct_yaml_str)
class OrderedLineDumper(RoundTripDumper):
"""Dumper that preserves ordering and formats ``syaml_*`` objects.
- This dumper preserves insertion ordering ``syaml_dict`` objects
- when they're written out. It also has some custom formatters
- for ``syaml_*`` objects so that they are formatted like their
- regular Python equivalents, instead of ugly YAML pyobjects.
+ This dumper preserves insertion ordering ``syaml_dict`` objects
+ when they're written out. It also has some custom formatters
+ for ``syaml_*`` objects so that they are formatted like their
+ regular Python equivalents, instead of ugly YAML pyobjects.
"""
@@ -184,13 +184,12 @@ class OrderedLineDumper(RoundTripDumper):
return result
def represent_str(self, data):
- if hasattr(data, 'override') and data.override:
- data = data + ':'
+ if hasattr(data, "override") and data.override:
+ data = data + ":"
return super(OrderedLineDumper, self).represent_str(data)
class SafeDumper(RoundTripDumper):
-
def ignore_aliases(self, _data):
"""Make the dumper NEVER print YAML aliases."""
return True
@@ -209,15 +208,16 @@ maxint = 2 ** (ctypes.sizeof(ctypes.c_int) * 8 - 1) - 1
def dump(obj, default_flow_style=False, stream=None):
- return yaml.dump(obj, default_flow_style=default_flow_style, width=maxint,
- Dumper=SafeDumper, stream=stream)
+ return yaml.dump(
+ obj, default_flow_style=default_flow_style, width=maxint, Dumper=SafeDumper, stream=stream
+ )
def file_line(mark):
"""Format a mark as <file>:<line> information."""
result = mark.name
if mark.line:
- result += ':' + str(mark.line)
+ result += ":" + str(mark.line)
return result
@@ -244,12 +244,13 @@ class LineAnnotationDumper(OrderedLineDumper):
writes to a ``StringIO`` then joins the lines from that with
annotations.
"""
+
saved = None
def __init__(self, *args, **kwargs):
super(LineAnnotationDumper, self).__init__(*args, **kwargs)
del _annotations[:]
- self.colors = 'KgrbmcyGRBMCY'
+ self.colors = "KgrbmcyGRBMCY"
self.filename_colors = {}
def process_scalar(self):
@@ -271,7 +272,7 @@ class LineAnnotationDumper(OrderedLineDumper):
def write_line_break(self):
super(LineAnnotationDumper, self).write_line_break()
if self.saved is None:
- _annotations.append(colorize('@K{---}'))
+ _annotations.append(colorize("@K{---}"))
return
# append annotations at the end of each line
@@ -284,19 +285,19 @@ class LineAnnotationDumper(OrderedLineDumper):
color = self.colors[len(self.filename_colors) % ncolors]
self.filename_colors[mark.name] = color
- fmt = '@%s{%%s}' % color
+ fmt = "@%s{%%s}" % color
ann = fmt % mark.name
if mark.line is not None:
- ann += ':@c{%s}' % (mark.line + 1)
+ ann += ":@c{%s}" % (mark.line + 1)
_annotations.append(colorize(ann))
else:
- _annotations.append('')
+ _annotations.append("")
def load_config(*args, **kwargs):
"""Load but modify the loader instance so that it will add __line__
- attributes to the returned object."""
- kwargs['Loader'] = OrderedLineLoader
+ attributes to the returned object."""
+ kwargs["Loader"] = OrderedLineLoader
return yaml.load(*args, **kwargs)
@@ -305,17 +306,17 @@ def load(*args, **kwargs):
def dump_config(*args, **kwargs):
- blame = kwargs.pop('blame', False)
+ blame = kwargs.pop("blame", False)
if blame:
return dump_annotated(*args, **kwargs)
else:
- kwargs['Dumper'] = OrderedLineDumper
+ kwargs["Dumper"] = OrderedLineDumper
return yaml.dump(*args, **kwargs)
def dump_annotated(data, stream=None, *args, **kwargs):
- kwargs['Dumper'] = LineAnnotationDumper
+ kwargs["Dumper"] = LineAnnotationDumper
sio = StringIO()
yaml.dump(data, sio, *args, **kwargs)
@@ -331,7 +332,7 @@ def dump_annotated(data, stream=None, *args, **kwargs):
# write out annotations and lines, accounting for color
width = max(clen(a) for a in _annotations)
- formats = ['%%-%ds %%s\n' % (width + cextra(a)) for a in _annotations]
+ formats = ["%%-%ds %%s\n" % (width + cextra(a)) for a in _annotations]
for f, a, l in zip(formats, _annotations, lines):
stream.write(f % (a, l))
@@ -358,5 +359,6 @@ def sorted_dict(dict_like):
class SpackYAMLError(spack.error.SpackError):
"""Raised when there are issues with YAML parsing."""
+
def __init__(self, msg, yaml_error):
super(SpackYAMLError, self).__init__(msg, str(yaml_error))
diff --git a/lib/spack/spack/util/string.py b/lib/spack/spack/util/string.py
index e900ccc7c3..a34cd26cf1 100644
--- a/lib/spack/spack/util/string.py
+++ b/lib/spack/spack/util/string.py
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-def comma_list(sequence, article=''):
+def comma_list(sequence, article=""):
if type(sequence) != list:
sequence = list(sequence)
@@ -13,26 +13,26 @@ def comma_list(sequence, article=''):
elif len(sequence) == 1:
return sequence[0]
else:
- out = ', '.join(str(s) for s in sequence[:-1])
+ out = ", ".join(str(s) for s in sequence[:-1])
if len(sequence) != 2:
- out += ',' # oxford comma
- out += ' '
+ out += "," # oxford comma
+ out += " "
if article:
- out += article + ' '
+ out += article + " "
out += str(sequence[-1])
return out
def comma_or(sequence):
- return comma_list(sequence, 'or')
+ return comma_list(sequence, "or")
def comma_and(sequence):
- return comma_list(sequence, 'and')
+ return comma_list(sequence, "and")
def quote(sequence, q="'"):
- return ['%s%s%s' % (q, e, q) for e in sequence]
+ return ["%s%s%s" % (q, e, q) for e in sequence]
def plural(n, singular, plural=None, show_n=True):
@@ -48,7 +48,7 @@ def plural(n, singular, plural=None, show_n=True):
Returns:
(str): "1 thing" if n == 1 or "n things" if n != 1
"""
- number = '%s ' % n if show_n else ''
+ number = "%s " % n if show_n else ""
if n == 1:
return "%s%s" % (number, singular)
elif plural is not None:
diff --git a/lib/spack/spack/util/timer.py b/lib/spack/spack/util/timer.py
index f77b050a3a..f7a9bc8e9d 100644
--- a/lib/spack/spack/util/timer.py
+++ b/lib/spack/spack/util/timer.py
@@ -19,6 +19,7 @@ class Timer(object):
"""
Simple timer for timing phases of a solve or install
"""
+
def __init__(self):
self.start = time.time()
self.last = self.start
@@ -33,8 +34,7 @@ class Timer(object):
@property
def total(self):
- """Return the total time
- """
+ """Return the total time"""
if self.end:
return self.end - self.start
return time.time() - self.start
diff --git a/lib/spack/spack/util/unparse/__init__.py b/lib/spack/spack/util/unparse/__init__.py
index da75271fbf..3469443105 100644
--- a/lib/spack/spack/util/unparse/__init__.py
+++ b/lib/spack/spack/util/unparse/__init__.py
@@ -9,7 +9,7 @@ from six.moves import cStringIO
from .unparser import Unparser
-__version__ = '1.6.3'
+__version__ = "1.6.3"
def unparse(tree, py_ver_consistent=False):
diff --git a/lib/spack/spack/util/unparse/unparser.py b/lib/spack/spack/util/unparse/unparser.py
index 8dbd9083b9..a46d19fa76 100644
--- a/lib/spack/spack/util/unparse/unparser.py
+++ b/lib/spack/spack/util/unparse/unparser.py
@@ -28,22 +28,22 @@ class _Precedence:
"""Precedence table that originated from python grammar."""
TUPLE = 0
- YIELD = 1 # 'yield', 'yield from'
- TEST = 2 # 'if'-'else', 'lambda'
- OR = 3 # 'or'
- AND = 4 # 'and'
- NOT = 5 # 'not'
- CMP = 6 # '<', '>', '==', '>=', '<=', '!=', 'in', 'not in', 'is', 'is not'
+ YIELD = 1 # 'yield', 'yield from'
+ TEST = 2 # 'if'-'else', 'lambda'
+ OR = 3 # 'or'
+ AND = 4 # 'and'
+ NOT = 5 # 'not'
+ CMP = 6 # '<', '>', '==', '>=', '<=', '!=', 'in', 'not in', 'is', 'is not'
EXPR = 7
- BOR = EXPR # '|'
- BXOR = 8 # '^'
- BAND = 9 # '&'
- SHIFT = 10 # '<<', '>>'
- ARITH = 11 # '+', '-'
- TERM = 12 # '*', '@', '/', '%', '//'
- FACTOR = 13 # unary '+', '-', '~'
- POWER = 14 # '**'
- AWAIT = 15 # 'await'
+ BOR = EXPR # '|'
+ BXOR = 8 # '^'
+ BAND = 9 # '&'
+ SHIFT = 10 # '<<', '>>'
+ ARITH = 11 # '+', '-'
+ TERM = 12 # '*', '@', '/', '%', '//'
+ FACTOR = 13 # unary '+', '-', '~'
+ POWER = 14 # '**'
+ AWAIT = 15 # 'await'
ATOM = 16
@@ -52,8 +52,7 @@ def pnext(precedence):
def interleave(inter, f, seq):
- """Call f on each item in seq, calling inter() in between.
- """
+ """Call f on each item in seq, calling inter() in between."""
seq = iter(seq)
try:
f(next(seq))
@@ -79,9 +78,8 @@ def is_simple_tuple(slice_value):
and slice_value.elts
and (
# Python 2 doesn't allow starred elements in tuples like Python 3
- six.PY2 or not any(
- isinstance(elt, ast.Starred) for elt in slice_value.elts
- )
+ six.PY2
+ or not any(isinstance(elt, ast.Starred) for elt in slice_value.elts)
)
)
@@ -89,7 +87,7 @@ def is_simple_tuple(slice_value):
class Unparser:
"""Methods in this class recursively traverse an AST and
output source code for the abstract syntax; original formatting
- is disregarded. """
+ is disregarded."""
def __init__(self, py_ver_consistent=False, _avoid_backslashes=False):
"""Traverse an AST and generate its source.
@@ -153,6 +151,7 @@ class Unparser:
"""A context manager for preparing the source for blocks. It adds
the character ':', increases the indentation on enter and decreases
the indentation on exit."""
+
def __init__(self, unparser):
self.unparser = unparser
@@ -169,7 +168,7 @@ class Unparser:
@contextmanager
def delimit(self, start, end):
"""A context manager for preparing the source for expressions. It adds
- *start* to the buffer and enters, after exit it adds *end*."""
+ *start* to the buffer and enters, after exit it adds *end*."""
self.write(start)
yield
@@ -238,7 +237,7 @@ class Unparser:
def visit_ImportFrom(self, node):
# A from __future__ import may affect unparsing, so record it.
- if node.module and node.module == '__future__':
+ if node.module and node.module == "__future__":
self.future_imports.extend(n.name for n in node.names)
self.fill("from ")
@@ -263,8 +262,7 @@ class Unparser:
def visit_AnnAssign(self, node):
self.fill()
- with self.delimit_if(
- "(", ")", not node.simple and isinstance(node.target, ast.Name)):
+ with self.delimit_if("(", ")", not node.simple and isinstance(node.target, ast.Name)):
self.dispatch(node.target)
self.write(": ")
self.dispatch(node.annotation)
@@ -561,8 +559,7 @@ class Unparser:
with self.block():
self.dispatch(node.body)
# collapse nested ifs into equivalent elifs.
- while (node.orelse and len(node.orelse) == 1 and
- isinstance(node.orelse[0], ast.If)):
+ while node.orelse and len(node.orelse) == 1 and isinstance(node.orelse[0], ast.If):
node = node.orelse[0]
self.fill("elif ")
self.dispatch(node.test)
@@ -586,7 +583,7 @@ class Unparser:
def _generic_With(self, node, async_=False):
self.fill("async with " if async_ else "with ")
- if hasattr(node, 'items'):
+ if hasattr(node, "items"):
interleave(lambda: self.write(", "), self.dispatch, node.items)
else:
self.dispatch(node.context_expr)
@@ -603,11 +600,12 @@ class Unparser:
self._generic_With(node, async_=True)
def _str_literal_helper(
- self, string, quote_types=_ALL_QUOTES, escape_special_whitespace=False
+ self, string, quote_types=_ALL_QUOTES, escape_special_whitespace=False
):
"""Helper for writing string literals, minimizing escapes.
Returns the tuple (string literal to write, possible quote types).
"""
+
def escape_char(c):
# \n and \t are non-printable, but we only escape them if
# escape_special_whitespace is True
@@ -644,10 +642,12 @@ class Unparser:
"""Write string literal value w/a best effort attempt to avoid backslashes."""
string, quote_types = self._str_literal_helper(string, quote_types=quote_types)
quote_type = quote_types[0]
- self.write("{quote_type}{string}{quote_type}".format(
- quote_type=quote_type,
- string=string,
- ))
+ self.write(
+ "{quote_type}{string}{quote_type}".format(
+ quote_type=quote_type,
+ string=string,
+ )
+ )
# expr
def visit_Bytes(self, node):
@@ -702,16 +702,17 @@ class Unparser:
for value, is_constant in buffer:
# Repeatedly narrow down the list of possible quote_types
value, quote_types = self._str_literal_helper(
- value, quote_types=quote_types,
- escape_special_whitespace=is_constant
+ value, quote_types=quote_types, escape_special_whitespace=is_constant
)
new_buffer.append(value)
value = "".join(new_buffer)
quote_type = quote_types[0]
- self.write("{quote_type}{value}{quote_type}".format(
- quote_type=quote_type,
- value=value,
- ))
+ self.write(
+ "{quote_type}{value}{quote_type}".format(
+ quote_type=quote_type,
+ value=value,
+ )
+ )
def visit_FormattedValue(self, node):
# FormattedValue(expr value, int? conversion, expr? format_spec)
@@ -781,7 +782,7 @@ class Unparser:
elif isinstance(value, str) and self._py_ver_consistent:
# emulate a python 2 repr with raw unicode escapes
# see _Str for python 2 counterpart
- raw = repr(value.encode("raw_unicode_escape")).lstrip('b')
+ raw = repr(value.encode("raw_unicode_escape")).lstrip("b")
if raw.startswith(r"'\\u"):
raw = "'\\" + raw[3:]
self.write(raw)
@@ -845,7 +846,7 @@ class Unparser:
self.dispatch(gen)
def visit_comprehension(self, node):
- if getattr(node, 'is_async', False):
+ if getattr(node, "is_async", False):
self.write(" async for ")
else:
self.write(" for ")
@@ -869,7 +870,7 @@ class Unparser:
self.dispatch(node.orelse)
def visit_Set(self, node):
- assert(node.elts) # should be at least one element
+ assert node.elts # should be at least one element
with self.delimit("{", "}"):
interleave(lambda: self.write(", "), self.dispatch, node.elts)
@@ -891,22 +892,13 @@ class Unparser:
write_key_value_pair(k, v)
with self.delimit("{", "}"):
- interleave(
- lambda: self.write(", "),
- write_item,
- zip(node.keys, node.values)
- )
+ interleave(lambda: self.write(", "), write_item, zip(node.keys, node.values))
def visit_Tuple(self, node):
with self.delimit("(", ")"):
self.items_view(self.dispatch, node.elts)
- unop = {
- "Invert": "~",
- "Not": "not",
- "UAdd": "+",
- "USub": "-"
- }
+ unop = {"Invert": "~", "Not": "not", "UAdd": "+", "USub": "-"}
unop_precedence = {
"~": _Precedence.FACTOR,
@@ -926,8 +918,7 @@ class Unparser:
self.write(" ")
self.set_precedence(operator_precedence, node.operand)
- if (six.PY2 and
- isinstance(node.op, ast.USub) and isinstance(node.operand, ast.Num)):
+ if six.PY2 and isinstance(node.op, ast.USub) and isinstance(node.operand, ast.Num):
# If we're applying unary minus to a number, parenthesize the number.
# This is necessary: -2147483648 is different from -(2147483648) on
# a 32-bit machine (the first is an int, the second a long), and
@@ -951,7 +942,7 @@ class Unparser:
"BitXor": "^",
"BitAnd": "&",
"FloorDiv": "//",
- "Pow": "**",
+ "Pow": "**",
}
binop_precedence = {
@@ -1041,7 +1032,7 @@ class Unparser:
# Special case: 3.__abs__() is a syntax error, so if node.value
# is an integer literal then we need to either parenthesize
# it or add an extra space to get 3 .__abs__().
- num_type = getattr(ast, 'Constant', getattr(ast, 'Num', None))
+ num_type = getattr(ast, "Constant", getattr(ast, "Num", None))
if isinstance(node.value, num_type) and isinstance(node.value.n, int):
self.write(" ")
self.write(".")
@@ -1149,7 +1140,7 @@ class Unparser:
self.dispatch(node.step)
def visit_ExtSlice(self, node):
- interleave(lambda: self.write(', '), self.dispatch, node.dims)
+ interleave(lambda: self.write(", "), self.dispatch, node.dims)
# argument
def visit_arg(self, node):
@@ -1162,7 +1153,7 @@ class Unparser:
def visit_arguments(self, node):
first = True
# normal arguments
- all_args = getattr(node, 'posonlyargs', []) + node.args
+ all_args = getattr(node, "posonlyargs", []) + node.args
defaults = [None] * (len(all_args) - len(node.defaults)) + node.defaults
for index, elements in enumerate(zip(all_args, defaults), 1):
a, d = elements
@@ -1174,7 +1165,7 @@ class Unparser:
if d:
self.write("=")
self.dispatch(d)
- if index == len(getattr(node, 'posonlyargs', ())):
+ if index == len(getattr(node, "posonlyargs", ())):
self.write(", /")
# varargs, or bare '*' if no varargs but keyword-only arguments present
@@ -1185,14 +1176,14 @@ class Unparser:
self.write(", ")
self.write("*")
if node.vararg:
- if hasattr(node.vararg, 'arg'):
+ if hasattr(node.vararg, "arg"):
self.write(node.vararg.arg)
if node.vararg.annotation:
self.write(": ")
self.dispatch(node.vararg.annotation)
else:
self.write(node.vararg)
- if getattr(node, 'varargannotation', None):
+ if getattr(node, "varargannotation", None):
self.write(": ")
self.dispatch(node.varargannotation)
@@ -1214,14 +1205,14 @@ class Unparser:
first = False
else:
self.write(", ")
- if hasattr(node.kwarg, 'arg'):
+ if hasattr(node.kwarg, "arg"):
self.write("**" + node.kwarg.arg)
if node.kwarg.annotation:
self.write(": ")
self.dispatch(node.kwarg.annotation)
else:
self.write("**" + node.kwarg)
- if getattr(node, 'kwargannotation', None):
+ if getattr(node, "kwargannotation", None):
self.write(": ")
self.dispatch(node.kwargannotation)
diff --git a/lib/spack/spack/util/url.py b/lib/spack/spack/util/url.py
index 824b5fed57..5ff0a53fa7 100644
--- a/lib/spack/spack/util/url.py
+++ b/lib/spack/spack/util/url.py
@@ -21,7 +21,7 @@ from spack.util.path import (
convert_to_posix_path,
)
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def _split_all(path):
@@ -39,7 +39,7 @@ def _split_all(path):
(old_a, (a, b)) = a, posixpath.split(a)
if a or b:
- result.insert(0, b or '/')
+ result.insert(0, b or "/")
return result
@@ -53,18 +53,18 @@ def local_file_path(url):
if isinstance(url, string_types):
url = parse(url)
- if url.scheme == 'file':
+ if url.scheme == "file":
if is_windows:
pth = convert_to_platform_path(url.netloc + url.path)
- if re.search(r'^\\[A-Za-z]:', pth):
- pth = pth.lstrip('\\')
+ if re.search(r"^\\[A-Za-z]:", pth):
+ pth = pth.lstrip("\\")
return pth
return url.path
return None
-def parse(url, scheme='file'):
+def parse(url, scheme="file"):
"""Parse a url.
For file:// URLs, the netloc and path components are concatenated and
@@ -80,38 +80,37 @@ def parse(url, scheme='file'):
url = escape_file_url(url)
url_obj = (
urllib_parse.urlparse(url, scheme=scheme, allow_fragments=False)
- if isinstance(url, string_types) else url)
+ if isinstance(url, string_types)
+ else url
+ )
(scheme, netloc, path, params, query, _) = url_obj
- scheme = (scheme or 'file').lower()
+ scheme = (scheme or "file").lower()
- if scheme == 'file':
+ if scheme == "file":
# (The user explicitly provides the file:// scheme.)
# examples:
# file://C:\\a\\b\\c
# file://X:/a/b/c
path = canonicalize_path(netloc + path)
- path = re.sub(r'^/+', '/', path)
- netloc = ''
+ path = re.sub(r"^/+", "/", path)
+ netloc = ""
- drive_ltr_lst = re.findall(r'[A-Za-z]:\\', path)
+ drive_ltr_lst = re.findall(r"[A-Za-z]:\\", path)
is_win_path = bool(drive_ltr_lst)
if is_windows and is_win_path:
- drive_ltr = drive_ltr_lst[0].strip('\\')
- path = re.sub(r'[\\]*' + drive_ltr, '', path)
- netloc = '/' + drive_ltr.strip('\\')
+ drive_ltr = drive_ltr_lst[0].strip("\\")
+ path = re.sub(r"[\\]*" + drive_ltr, "", path)
+ netloc = "/" + drive_ltr.strip("\\")
if sys.platform == "win32":
path = convert_to_posix_path(path)
- return urllib_parse.ParseResult(scheme=scheme,
- netloc=netloc,
- path=path,
- params=params,
- query=query,
- fragment=None)
+ return urllib_parse.ParseResult(
+ scheme=scheme, netloc=netloc, path=path, params=params, query=query, fragment=None
+ )
def format(parsed_url):
@@ -180,36 +179,33 @@ def join(base_url, path, *extra, **kwargs):
'file:///opt/spack'
"""
paths = [
- (x) if isinstance(x, string_types)
- else x.geturl()
- for x in itertools.chain((base_url, path), extra)]
+ (x) if isinstance(x, string_types) else x.geturl()
+ for x in itertools.chain((base_url, path), extra)
+ ]
paths = [convert_to_posix_path(x) for x in paths]
n = len(paths)
last_abs_component = None
- scheme = ''
+ scheme = ""
for i in range(n - 1, -1, -1):
- obj = urllib_parse.urlparse(
- paths[i], scheme='', allow_fragments=False)
+ obj = urllib_parse.urlparse(paths[i], scheme="", allow_fragments=False)
scheme = obj.scheme
# in either case the component is absolute
- if scheme or obj.path.startswith('/'):
+ if scheme or obj.path.startswith("/"):
if not scheme:
# Without a scheme, we have to go back looking for the
# next-last component that specifies a scheme.
for j in range(i - 1, -1, -1):
- obj = urllib_parse.urlparse(
- paths[j], scheme='', allow_fragments=False)
+ obj = urllib_parse.urlparse(paths[j], scheme="", allow_fragments=False)
if obj.scheme:
- paths[i] = '{SM}://{NL}{PATH}'.format(
+ paths[i] = "{SM}://{NL}{PATH}".format(
SM=obj.scheme,
- NL=(
- (obj.netloc + '/')
- if obj.scheme != 's3' else ''),
- PATH=paths[i][1:])
+ NL=((obj.netloc + "/") if obj.scheme != "s3" else ""),
+ PATH=paths[i][1:],
+ )
break
last_abs_component = i
@@ -218,20 +214,20 @@ def join(base_url, path, *extra, **kwargs):
if last_abs_component is not None:
paths = paths[last_abs_component:]
if len(paths) == 1:
- result = urllib_parse.urlparse(
- paths[0], scheme='file', allow_fragments=False)
+ result = urllib_parse.urlparse(paths[0], scheme="file", allow_fragments=False)
# another subtlety: If the last argument to join() is an absolute
# file:// URL component with a relative path, the relative path
# needs to be resolved.
- if result.scheme == 'file' and result.netloc:
+ if result.scheme == "file" and result.netloc:
result = urllib_parse.ParseResult(
scheme=result.scheme,
- netloc='',
+ netloc="",
path=posixpath.abspath(result.netloc + result.path),
params=result.params,
query=result.query,
- fragment=None)
+ fragment=None,
+ )
return result.geturl()
@@ -240,24 +236,26 @@ def join(base_url, path, *extra, **kwargs):
def _join(base_url, path, *extra, **kwargs):
base_url = parse(base_url)
- resolve_href = kwargs.get('resolve_href', False)
+ resolve_href = kwargs.get("resolve_href", False)
(scheme, netloc, base_path, params, query, _) = base_url
scheme = scheme.lower()
path_tokens = [
- part for part in itertools.chain(
+ part
+ for part in itertools.chain(
_split_all(path),
- itertools.chain.from_iterable(
- _split_all(extra_path) for extra_path in extra))
- if part and part != '/']
+ itertools.chain.from_iterable(_split_all(extra_path) for extra_path in extra),
+ )
+ if part and part != "/"
+ ]
- base_path_args = ['/fake-root']
- if scheme == 's3':
+ base_path_args = ["/fake-root"]
+ if scheme == "s3":
if netloc:
base_path_args.append(netloc)
- if base_path.startswith('/'):
+ if base_path.startswith("/"):
base_path = base_path[1:]
base_path_args.append(base_path)
@@ -267,34 +265,31 @@ def _join(base_url, path, *extra, **kwargs):
base_path_args = [new_base_path]
base_path_args.extend(path_tokens)
- base_path = posixpath.relpath(posixpath.join(*base_path_args), '/fake-root')
+ base_path = posixpath.relpath(posixpath.join(*base_path_args), "/fake-root")
- if scheme == 's3':
- path_tokens = [
- part for part in _split_all(base_path)
- if part and part != '/']
+ if scheme == "s3":
+ path_tokens = [part for part in _split_all(base_path) if part and part != "/"]
if path_tokens:
netloc = path_tokens.pop(0)
- base_path = posixpath.join('', *path_tokens)
+ base_path = posixpath.join("", *path_tokens)
if sys.platform == "win32":
base_path = convert_to_posix_path(base_path)
- return format(urllib_parse.ParseResult(scheme=scheme,
- netloc=netloc,
- path=base_path,
- params=params,
- query=query,
- fragment=None))
+ return format(
+ urllib_parse.ParseResult(
+ scheme=scheme, netloc=netloc, path=base_path, params=params, query=query, fragment=None
+ )
+ )
git_re = (
- r"^(?:([a-z]+)://)?" # 1. optional scheme
- r"(?:([^@]+)@)?" # 2. optional user
- r"([^:/~]+)?" # 3. optional hostname
- r"(?(1)(?::([^:/]+))?|:)" # 4. :<optional port> if scheme else :
- r"(.*[^/])/?$" # 5. path
+ r"^(?:([a-z]+)://)?" # 1. optional scheme
+ r"(?:([^@]+)@)?" # 2. optional user
+ r"([^:/~]+)?" # 3. optional hostname
+ r"(?(1)(?::([^:/]+))?|:)" # 4. :<optional port> if scheme else :
+ r"(.*[^/])/?$" # 5. path
)
@@ -343,14 +338,14 @@ def parse_git_url(url):
def require_url_format(url):
- ut = re.search(r'^(file://|http://|https://|ftp://|s3://|gs://|ssh://|git://|/)', url)
+ ut = re.search(r"^(file://|http://|https://|ftp://|s3://|gs://|ssh://|git://|/)", url)
if not ut:
- raise ValueError('Invalid url format from url: %s' % url)
+ raise ValueError("Invalid url format from url: %s" % url)
def escape_file_url(url):
- drive_ltr = re.findall(r'[A-Za-z]:\\', url)
+ drive_ltr = re.findall(r"[A-Za-z]:\\", url)
if is_windows and drive_ltr:
- url = url.replace(drive_ltr[0], '/' + drive_ltr[0])
+ url = url.replace(drive_ltr[0], "/" + drive_ltr[0])
return url
diff --git a/lib/spack/spack/util/web.py b/lib/spack/spack/util/web.py
index 73f2c8aca0..a5c96e23da 100644
--- a/lib/spack/spack/util/web.py
+++ b/lib/spack/spack/util/web.py
@@ -52,53 +52,51 @@ else:
class LinkParser(HTMLParser):
"""This parser just takes an HTML page and strips out the hrefs on the
- links. Good enough for a really simple spider. """
+ links. Good enough for a really simple spider."""
def __init__(self):
HTMLParser.__init__(self)
self.links = []
def handle_starttag(self, tag, attrs):
- if tag == 'a':
+ if tag == "a":
for attr, val in attrs:
- if attr == 'href':
+ if attr == "href":
self.links.append(val)
def uses_ssl(parsed_url):
- if parsed_url.scheme == 'https':
+ if parsed_url.scheme == "https":
return True
- if parsed_url.scheme == 's3':
- endpoint_url = os.environ.get('S3_ENDPOINT_URL')
+ if parsed_url.scheme == "s3":
+ endpoint_url = os.environ.get("S3_ENDPOINT_URL")
if not endpoint_url:
return True
- if url_util.parse(endpoint_url, scheme='https').scheme == 'https':
+ if url_util.parse(endpoint_url, scheme="https").scheme == "https":
return True
- elif parsed_url.scheme == 'gs':
+ elif parsed_url.scheme == "gs":
tty.debug("(uses_ssl) GCS Blob is https")
return True
return False
-__UNABLE_TO_VERIFY_SSL = (
- lambda pyver: (
- (pyver < (2, 7, 9)) or
- ((3,) < pyver < (3, 4, 3))
- ))(sys.version_info)
+__UNABLE_TO_VERIFY_SSL = (lambda pyver: ((pyver < (2, 7, 9)) or ((3,) < pyver < (3, 4, 3))))(
+ sys.version_info
+)
def read_from_url(url, accept_content_type=None):
url = url_util.parse(url)
context = None
- verify_ssl = spack.config.get('config:verify_ssl')
+ verify_ssl = spack.config.get("config:verify_ssl")
# Timeout in seconds for web requests
- timeout = spack.config.get('config:connect_timeout', 10)
+ timeout = spack.config.get("config:connect_timeout", 10)
# Don't even bother with a context unless the URL scheme is one that uses
# SSL certs.
@@ -120,10 +118,10 @@ def read_from_url(url, accept_content_type=None):
url = url_util.format(url)
if sys.platform == "win32" and url_scheme == "file":
url = convert_to_posix_path(url)
- req = Request(url, headers={'User-Agent': SPACK_USER_AGENT})
+ req = Request(url, headers={"User-Agent": SPACK_USER_AGENT})
content_type = None
- is_web_url = url_scheme in ('http', 'https')
+ is_web_url = url_scheme in ("http", "https")
if accept_content_type and is_web_url:
# Make a HEAD request first to check the content type. This lets
# us ignore tarballs and gigantic files.
@@ -133,7 +131,7 @@ def read_from_url(url, accept_content_type=None):
req.get_method = lambda: "HEAD"
resp = _urlopen(req, timeout=timeout, context=context)
- content_type = get_header(resp.headers, 'Content-type')
+ content_type = get_header(resp.headers, "Content-type")
# Do the real GET request when we know it's just HTML.
req.get_method = lambda: "GET"
@@ -141,22 +139,21 @@ def read_from_url(url, accept_content_type=None):
try:
response = _urlopen(req, timeout=timeout, context=context)
except URLError as err:
- raise SpackWebError('Download failed: {ERROR}'.format(
- ERROR=str(err)))
+ raise SpackWebError("Download failed: {ERROR}".format(ERROR=str(err)))
if accept_content_type and not is_web_url:
- content_type = get_header(response.headers, 'Content-type')
+ content_type = get_header(response.headers, "Content-type")
- reject_content_type = (
- accept_content_type and (
- content_type is None or
- not content_type.startswith(accept_content_type)))
+ reject_content_type = accept_content_type and (
+ content_type is None or not content_type.startswith(accept_content_type)
+ )
if reject_content_type:
- tty.debug("ignoring page {0}{1}{2}".format(
- url,
- " with content type " if content_type is not None else "",
- content_type or ""))
+ tty.debug(
+ "ignoring page {0}{1}{2}".format(
+ url, " with content type " if content_type is not None else "", content_type or ""
+ )
+ )
return None, None, None
@@ -164,17 +161,18 @@ def read_from_url(url, accept_content_type=None):
def warn_no_ssl_cert_checking():
- tty.warn("Spack will not check SSL certificates. You need to update "
- "your Python to enable certificate verification.")
+ tty.warn(
+ "Spack will not check SSL certificates. You need to update "
+ "your Python to enable certificate verification."
+ )
-def push_to_url(
- local_file_path, remote_path, keep_original=True, extra_args=None):
+def push_to_url(local_file_path, remote_path, keep_original=True, extra_args=None):
if sys.platform == "win32":
- if remote_path[1] == ':':
+ if remote_path[1] == ":":
remote_path = "file://" + remote_path
remote_url = url_util.parse(remote_path)
- verify_ssl = spack.config.get('config:verify_ssl')
+ verify_ssl = spack.config.get("config:verify_ssl")
if __UNABLE_TO_VERIFY_SSL and verify_ssl and uses_ssl(remote_url):
warn_no_ssl_cert_checking()
@@ -198,23 +196,23 @@ def push_to_url(
else:
raise
- elif remote_url.scheme == 's3':
+ elif remote_url.scheme == "s3":
if extra_args is None:
extra_args = {}
remote_path = remote_url.path
- while remote_path.startswith('/'):
+ while remote_path.startswith("/"):
remote_path = remote_path[1:]
- s3 = s3_util.create_s3_session(remote_url,
- connection=s3_util.get_mirror_connection(remote_url))
- s3.upload_file(local_file_path, remote_url.netloc,
- remote_path, ExtraArgs=extra_args)
+ s3 = s3_util.create_s3_session(
+ remote_url, connection=s3_util.get_mirror_connection(remote_url)
+ )
+ s3.upload_file(local_file_path, remote_url.netloc, remote_path, ExtraArgs=extra_args)
if not keep_original:
os.remove(local_file_path)
- elif remote_url.scheme == 'gs':
+ elif remote_url.scheme == "gs":
gcs = gcs_util.GCSBlob(remote_url)
gcs.upload_to_blob(local_file_path)
if not keep_original:
@@ -222,8 +220,8 @@ def push_to_url(
else:
raise NotImplementedError(
- 'Unrecognized URL scheme: {SCHEME}'.format(
- SCHEME=remote_url.scheme))
+ "Unrecognized URL scheme: {SCHEME}".format(SCHEME=remote_url.scheme)
+ )
def url_exists(url):
@@ -232,19 +230,19 @@ def url_exists(url):
if local_path:
return os.path.exists(local_path)
- if url.scheme == 's3':
+ if url.scheme == "s3":
# Check for URL specific connection information
s3 = s3_util.create_s3_session(url, connection=s3_util.get_mirror_connection(url))
try:
- s3.get_object(Bucket=url.netloc, Key=url.path.lstrip('/'))
+ s3.get_object(Bucket=url.netloc, Key=url.path.lstrip("/"))
return True
except s3.ClientError as err:
- if err.response['Error']['Code'] == 'NoSuchKey':
+ if err.response["Error"]["Code"] == "NoSuchKey":
return False
raise err
- elif url.scheme == 'gs':
+ elif url.scheme == "gs":
gcs = gcs_util.GCSBlob(url)
return gcs.exists()
@@ -258,13 +256,12 @@ def url_exists(url):
def _debug_print_delete_results(result):
- if 'Deleted' in result:
- for d in result['Deleted']:
- tty.debug('Deleted {0}'.format(d['Key']))
- if 'Errors' in result:
- for e in result['Errors']:
- tty.debug('Failed to delete {0} ({1})'.format(
- e['Key'], e['Message']))
+ if "Deleted" in result:
+ for d in result["Deleted"]:
+ tty.debug("Deleted {0}".format(d["Key"]))
+ if "Errors" in result:
+ for e in result["Errors"]:
+ tty.debug("Failed to delete {0} ({1})".format(e["Key"], e["Message"]))
def remove_url(url, recursive=False):
@@ -278,40 +275,40 @@ def remove_url(url, recursive=False):
os.remove(local_path)
return
- if url.scheme == 's3':
+ if url.scheme == "s3":
# Try to find a mirror for potential connection information
s3 = s3_util.create_s3_session(url, connection=s3_util.get_mirror_connection(url))
bucket = url.netloc
if recursive:
# Because list_objects_v2 can only return up to 1000 items
# at a time, we have to paginate to make sure we get it all
- prefix = url.path.strip('/')
- paginator = s3.get_paginator('list_objects_v2')
+ prefix = url.path.strip("/")
+ paginator = s3.get_paginator("list_objects_v2")
pages = paginator.paginate(Bucket=bucket, Prefix=prefix)
- delete_request = {'Objects': []}
- for item in pages.search('Contents'):
+ delete_request = {"Objects": []}
+ for item in pages.search("Contents"):
if not item:
continue
- delete_request['Objects'].append({'Key': item['Key']})
+ delete_request["Objects"].append({"Key": item["Key"]})
# Make sure we do not try to hit S3 with a list of more
# than 1000 items
- if len(delete_request['Objects']) >= 1000:
+ if len(delete_request["Objects"]) >= 1000:
r = s3.delete_objects(Bucket=bucket, Delete=delete_request)
_debug_print_delete_results(r)
- delete_request = {'Objects': []}
+ delete_request = {"Objects": []}
# Delete any items that remain
- if len(delete_request['Objects']):
+ if len(delete_request["Objects"]):
r = s3.delete_objects(Bucket=bucket, Delete=delete_request)
_debug_print_delete_results(r)
else:
- s3.delete_object(Bucket=bucket, Key=url.path.lstrip('/'))
+ s3.delete_object(Bucket=bucket, Key=url.path.lstrip("/"))
return
- elif url.scheme == 'gs':
+ elif url.scheme == "gs":
if recursive:
bucket = gcs_util.GCSBucket(url)
bucket.destroy(recursive=recursive)
@@ -325,35 +322,32 @@ def remove_url(url, recursive=False):
def _iter_s3_contents(contents, prefix):
for entry in contents:
- key = entry['Key']
+ key = entry["Key"]
- if not key.startswith('/'):
- key = '/' + key
+ if not key.startswith("/"):
+ key = "/" + key
key = os.path.relpath(key, prefix)
- if key == '.':
+ if key == ".":
continue
yield key
def _list_s3_objects(client, bucket, prefix, num_entries, start_after=None):
- list_args = dict(
- Bucket=bucket,
- Prefix=prefix[1:],
- MaxKeys=num_entries)
+ list_args = dict(Bucket=bucket, Prefix=prefix[1:], MaxKeys=num_entries)
if start_after is not None:
- list_args['StartAfter'] = start_after
+ list_args["StartAfter"] = start_after
result = client.list_objects_v2(**list_args)
last_key = None
- if result['IsTruncated']:
- last_key = result['Contents'][-1]['Key']
+ if result["IsTruncated"]:
+ last_key = result["Contents"][-1]["Key"]
- iter = _iter_s3_contents(result['Contents'], prefix)
+ iter = _iter_s3_contents(result["Contents"], prefix)
return iter, last_key
@@ -361,11 +355,10 @@ def _list_s3_objects(client, bucket, prefix, num_entries, start_after=None):
def _iter_s3_prefix(client, url, num_entries=1024):
key = None
bucket = url.netloc
- prefix = re.sub(r'^/*', '/', url.path)
+ prefix = re.sub(r"^/*", "/", url.path)
while True:
- contents, key = _list_s3_objects(
- client, bucket, prefix, num_entries, start_after=key)
+ contents, key = _list_s3_objects(client, bucket, prefix, num_entries, start_after=key)
for x in contents:
yield x
@@ -387,19 +380,20 @@ def list_url(url, recursive=False):
if local_path:
if recursive:
return list(_iter_local_prefix(local_path))
- return [subpath for subpath in os.listdir(local_path)
- if os.path.isfile(os.path.join(local_path, subpath))]
+ return [
+ subpath
+ for subpath in os.listdir(local_path)
+ if os.path.isfile(os.path.join(local_path, subpath))
+ ]
- if url.scheme == 's3':
+ if url.scheme == "s3":
s3 = s3_util.create_s3_session(url, connection=s3_util.get_mirror_connection(url))
if recursive:
return list(_iter_s3_prefix(s3, url))
- return list(set(
- key.split('/', 1)[0]
- for key in _iter_s3_prefix(s3, url)))
+ return list(set(key.split("/", 1)[0] for key in _iter_s3_prefix(s3, url)))
- elif url.scheme == 'gs':
+ elif url.scheme == "gs":
gcs = gcs_util.GCSBucket(url)
return gcs.get_all_blobs(recursive=recursive)
@@ -445,11 +439,11 @@ def spider(root_urls, depth=0, concurrency=32):
subcalls = []
try:
- response_url, _, response = read_from_url(url, 'text/html')
+ response_url, _, response = read_from_url(url, "text/html")
if not response_url or not response:
return pages, links, subcalls
- page = codecs.getreader('utf-8')(response).read()
+ page = codecs.getreader("utf-8")(response).read()
pages[response_url] = page
# Parse out the links in the page
@@ -458,10 +452,7 @@ def spider(root_urls, depth=0, concurrency=32):
while link_parser.links:
raw_link = link_parser.links.pop()
- abs_link = url_util.join(
- response_url,
- raw_link.strip(),
- resolve_href=True)
+ abs_link = url_util.join(response_url, raw_link.strip(), resolve_href=True)
links.add(abs_link)
# Skip stuff that looks like an archive
@@ -480,11 +471,13 @@ def spider(root_urls, depth=0, concurrency=32):
except URLError as e:
tty.debug(str(e))
- if hasattr(e, 'reason') and isinstance(e.reason, ssl.SSLError):
- tty.warn("Spack was unable to fetch url list due to a "
- "certificate verification problem. You can try "
- "running spack -k, which will not check SSL "
- "certificates. Use this at your own risk.")
+ if hasattr(e, "reason") and isinstance(e.reason, ssl.SSLError):
+ tty.warn(
+ "Spack was unable to fetch url list due to a "
+ "certificate verification problem. You can try "
+ "running spack -k, which will not check SSL "
+ "certificates. Use this at your own risk."
+ )
except HTMLParseError as e:
# This error indicates that Python's HTML parser sucks.
@@ -499,8 +492,7 @@ def spider(root_urls, depth=0, concurrency=32):
except Exception as e:
# Other types of errors are completely ignored,
# except in debug mode
- tty.debug("Error in _spider: %s:%s" % (type(e), str(e)),
- traceback.format_exc())
+ tty.debug("Error in _spider: %s:%s" % (type(e), str(e)), traceback.format_exc())
finally:
tty.debug("SPIDER: [url={0}]".format(url))
@@ -524,8 +516,10 @@ def spider(root_urls, depth=0, concurrency=32):
tp = multiprocessing.pool.ThreadPool(processes=concurrency)
try:
while current_depth <= depth:
- tty.debug("SPIDER: [depth={0}, max_depth={1}, urls={2}]".format(
- current_depth, depth, len(spider_args))
+ tty.debug(
+ "SPIDER: [depth={0}, max_depth={1}, urls={2}]".format(
+ current_depth, depth, len(spider_args)
+ )
)
results = tp.map(llnl.util.lang.star(_spider), spider_args)
spider_args = []
@@ -555,22 +549,24 @@ def _urlopen(req, *args, **kwargs):
# Note: 'context' parameter was only introduced starting
# with versions 2.7.9 and 3.4.3 of Python.
if __UNABLE_TO_VERIFY_SSL:
- del kwargs['context']
+ del kwargs["context"]
opener = urlopen
- if url_util.parse(url).scheme == 's3':
+ if url_util.parse(url).scheme == "s3":
import spack.s3_handler
+
opener = spack.s3_handler.open
- elif url_util.parse(url).scheme == 'gs':
+ elif url_util.parse(url).scheme == "gs":
import spack.gcs_handler
+
opener = spack.gcs_handler.gcs_open
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']
+ if "context" in kwargs and "context" in str(err):
+ del kwargs["context"]
return opener(req, *args, **kwargs)
@@ -613,8 +609,8 @@ def find_versions_of_archive(
# Add '/' to the end of the URL. Some web servers require this.
additional_list_urls = set()
for lurl in list_urls:
- if not lurl.endswith('/'):
- additional_list_urls.add(lurl + '/')
+ if not lurl.endswith("/"):
+ additional_list_urls.add(lurl + "/")
list_urls |= additional_list_urls
# Grab some web pages to scrape.
@@ -639,7 +635,7 @@ def find_versions_of_archive(
# https://cran.r-project.org/src/contrib/enpls_5.7.tar.gz
# https://cran.r-project.org/src/contrib/autopls_1.3.tar.gz
# https://cran.r-project.org/src/contrib/matrixpls_1.0.4.tar.gz
- url_regex = '/' + url_regex
+ url_regex = "/" + url_regex
# We need to add a $ anchor to the end of the regex to prevent
# Spack from picking up signature files like:
@@ -648,10 +644,10 @@ def find_versions_of_archive(
# .sha256
# .sig
# However, SourceForge downloads still need to end in '/download'.
- url_regex += r'(\/download)?'
+ url_regex += r"(\/download)?"
# PyPI adds #sha256=... to the end of the URL
- url_regex += '(#sha256=.*)?'
- url_regex += '$'
+ url_regex += "(#sha256=.*)?"
+ url_regex += "$"
regexes.append(url_regex)
@@ -708,7 +704,7 @@ def get_header(headers, header_name):
"""
def unfuzz(header):
- return re.sub(r'[ _-]', '', header).lower()
+ return re.sub(r"[ _-]", "", header).lower()
try:
return headers[header_name]
@@ -726,8 +722,9 @@ class SpackWebError(spack.error.SpackError):
class NoNetworkConnectionError(SpackWebError):
"""Raised when an operation can't get an internet connection."""
+
def __init__(self, message, url):
super(NoNetworkConnectionError, self).__init__(
- "No network connection: " + str(message),
- "URL was: " + str(url))
+ "No network connection: " + str(message), "URL was: " + str(url)
+ )
self.url = url
diff --git a/lib/spack/spack/variant.py b/lib/spack/spack/variant.py
index f350bc2666..1f21aad89f 100644
--- a/lib/spack/spack/variant.py
+++ b/lib/spack/spack/variant.py
@@ -23,7 +23,7 @@ import spack.directives
import spack.error as error
from spack.util.string import comma_or
-special_variant_values = [None, 'none', '*']
+special_variant_values = [None, "none", "*"]
class Variant(object):
@@ -32,14 +32,14 @@ class Variant(object):
"""
def __init__(
- self,
- name,
- default,
- description,
- values=(True, False),
- multi=False,
- validator=None,
- sticky=False
+ self,
+ name,
+ default,
+ description,
+ values=(True, False),
+ multi=False,
+ validator=None,
+ sticky=False,
):
"""Initialize a package variant.
@@ -62,7 +62,7 @@ class Variant(object):
self.description = str(description)
self.values = None
- if values == '*':
+ if values == "*":
# wildcard is a special case to make it easy to say any value is ok
self.single_value_validator = lambda x: True
@@ -74,6 +74,7 @@ class Variant(object):
return True
except ValueError:
return False
+
self.single_value_validator = isa_type
if callable(values):
@@ -122,14 +123,13 @@ class Variant(object):
# Check and record the values that are not allowed
not_allowed_values = [
- x for x in value
- if x != '*' and self.single_value_validator(x) is False
+ x for x in value if x != "*" and self.single_value_validator(x) is False
]
if not_allowed_values:
raise InvalidVariantValueError(self, not_allowed_values, pkg_cls)
# Validate the group of values if needed
- if self.group_validator is not None and value != ('*',):
+ if self.group_validator is not None and value != ("*",):
self.group_validator(pkg_cls.name, self.name, value)
@property
@@ -143,11 +143,11 @@ class Variant(object):
# Join an explicit set of allowed values
if self.values is not None:
v = tuple(str(x) for x in self.values)
- return ', '.join(v)
+ return ", ".join(v)
# In case we were given a single-value validator
# print the docstring
docstring = inspect.getdoc(self.single_value_validator)
- v = docstring if docstring else ''
+ v = docstring if docstring else ""
return v
def make_default(self):
@@ -182,12 +182,14 @@ class Variant(object):
return SingleValuedVariant
def __eq__(self, other):
- return (self.name == other.name and
- self.default == other.default and
- self.values == other.values and
- self.multi == other.multi and
- self.single_value_validator == other.single_value_validator and
- self.group_validator == other.group_validator)
+ return (
+ self.name == other.name
+ and self.default == other.default
+ and self.values == other.values
+ and self.multi == other.multi
+ and self.single_value_validator == other.single_value_validator
+ and self.group_validator == other.group_validator
+ )
def __ne__(self, other):
return not self == other
@@ -201,6 +203,7 @@ def implicit_variant_conversion(method):
Returns: decorated method
"""
+
@functools.wraps(method)
def convert(self, other):
# We don't care if types are different as long as I can convert
@@ -210,6 +213,7 @@ def implicit_variant_conversion(method):
except (error.SpecError, ValueError):
return False
return method(self, other)
+
return convert
@@ -262,7 +266,7 @@ class AbstractVariant(object):
mvar._original_value = mvar._value
return mvar
- elif str(value).upper() == 'TRUE' or str(value).upper() == 'FALSE':
+ elif str(value).upper() == "TRUE" or str(value).upper() == "FALSE":
return BoolValuedVariant(name, value)
return SingleValuedVariant(name, value)
@@ -297,7 +301,7 @@ class AbstractVariant(object):
# Store a tuple of CSV string representations
# Tuple is necessary here instead of list because the
# values need to be hashed
- value = re.split(r'\s*,\s*', str(value))
+ value = re.split(r"\s*,\s*", str(value))
for val in special_variant_values:
if val in value and len(value) > 1:
@@ -377,16 +381,16 @@ class AbstractVariant(object):
bool: True or False
"""
if self.name != other.name:
- raise ValueError('variants must have the same name')
+ raise ValueError("variants must have the same name")
old_value = self.value
values = list(sorted(set(self.value + other.value)))
# If we constraint wildcard by another value, just take value
- if '*' in values and len(values) > 1:
- values.remove('*')
+ if "*" in values and len(values) > 1:
+ values.remove("*")
- self.value = ','.join(values)
+ self.value = ",".join(values)
return old_value != self.value
def __contains__(self, item):
@@ -394,18 +398,15 @@ class AbstractVariant(object):
def __repr__(self):
cls = type(self)
- return '{0.__name__}({1}, {2})'.format(
- cls, repr(self.name), repr(self._original_value)
- )
+ return "{0.__name__}({1}, {2})".format(cls, repr(self.name), repr(self._original_value))
def __str__(self):
- return '{0}={1}'.format(
- self.name, ','.join(str(x) for x in self.value)
- )
+ return "{0}={1}".format(self.name, ",".join(str(x) for x in self.value))
class MultiValuedVariant(AbstractVariant):
"""A variant that can hold multiple values at once."""
+
@implicit_variant_conversion
def satisfies(self, other):
"""Returns true if ``other.name == self.name`` and ``other.value`` is
@@ -422,11 +423,11 @@ class MultiValuedVariant(AbstractVariant):
if not super_sat:
return False
- if '*' in other or '*' in self:
+ if "*" in other or "*" in self:
return True
# allow prefix find on patches
- if self.name == 'patches':
+ if self.name == "patches":
return all(any(w.startswith(v) for w in self.value) for v in other.value)
# Otherwise we want all the values in `other` to be also in `self`
@@ -439,11 +440,11 @@ class MultiValuedVariant(AbstractVariant):
def __str__(self):
# Special-case patches to not print the full 64 character hashes
- if self.name == 'patches':
- values_str = ','.join(x[:7] for x in self.value)
+ if self.name == "patches":
+ values_str = ",".join(x[:7] for x in self.value)
else:
- values_str = ','.join(str(x) for x in self.value)
- return '{0}={1}'.format(self.name, values_str)
+ values_str = ",".join(str(x) for x in self.value)
+ return "{0}={1}".format(self.name, values_str)
class SingleValuedVariant(AbstractVariant):
@@ -459,14 +460,15 @@ class SingleValuedVariant(AbstractVariant):
self._value = str(self._value[0])
def __str__(self):
- return '{0}={1}'.format(self.name, self.value)
+ return "{0}={1}".format(self.name, self.value)
@implicit_variant_conversion
def satisfies(self, other):
abstract_sat = super(SingleValuedVariant, self).satisfies(other)
- return abstract_sat and (self.value == other.value or
- other.value == '*' or self.value == '*')
+ return abstract_sat and (
+ self.value == other.value or other.value == "*" or self.value == "*"
+ )
def compatible(self, other):
return self.satisfies(other)
@@ -474,12 +476,12 @@ class SingleValuedVariant(AbstractVariant):
@implicit_variant_conversion
def constrain(self, other):
if self.name != other.name:
- raise ValueError('variants must have the same name')
+ raise ValueError("variants must have the same name")
- if other.value == '*':
+ if other.value == "*":
return False
- if self.value == '*':
+ if self.value == "*":
self.value = other.value
return True
@@ -503,25 +505,25 @@ class BoolValuedVariant(SingleValuedVariant):
def _value_setter(self, value):
# Check the string representation of the value and turn
# it to a boolean
- if str(value).upper() == 'TRUE':
+ if str(value).upper() == "TRUE":
self._original_value = value
self._value = True
- elif str(value).upper() == 'FALSE':
+ elif str(value).upper() == "FALSE":
self._original_value = value
self._value = False
- elif str(value) == '*':
+ elif str(value) == "*":
self._original_value = value
- self._value = '*'
+ self._value = "*"
else:
msg = 'cannot construct a BoolValuedVariant for "{0}" from '
- msg += 'a value that does not represent a bool'
+ msg += "a value that does not represent a bool"
raise ValueError(msg.format(self.name))
def __contains__(self, item):
return item is self.value
def __str__(self):
- return '{0}{1}'.format('+' if self.value else '~', self.name)
+ return "{0}{1}".format("+" if self.value else "~", self.name)
class VariantMap(lang.HashableMap):
@@ -536,8 +538,8 @@ class VariantMap(lang.HashableMap):
def __setitem__(self, name, vspec):
# Raise a TypeError if vspec is not of the right type
if not isinstance(vspec, AbstractVariant):
- msg = 'VariantMap accepts only values of variant types'
- msg += ' [got {0} instead]'.format(type(vspec).__name__)
+ msg = "VariantMap accepts only values of variant types"
+ msg += " [got {0} instead]".format(type(vspec).__name__)
raise TypeError(msg)
# Raise an error if the variant was already in this map
@@ -560,7 +562,7 @@ class VariantMap(lang.HashableMap):
vspec: variant spec to be substituted
"""
if vspec.name not in self:
- msg = 'cannot substitute a key that does not exist [{0}]'
+ msg = "cannot substitute a key that does not exist [{0}]"
raise KeyError(msg.format(vspec.name))
# Set the item
@@ -588,8 +590,7 @@ class VariantMap(lang.HashableMap):
if not strict_or_concrete:
to_be_checked = filter(lambda x: x in self, to_be_checked)
- return all(k in self and self[k].satisfies(other[k])
- for k in to_be_checked)
+ return all(k in self and self[k].satisfies(other[k]) for k in to_be_checked)
def constrain(self, other):
"""Add all variants in other that aren't in self to self. Also
@@ -605,7 +606,7 @@ class VariantMap(lang.HashableMap):
if other.spec is not None and other.spec._concrete:
for k in self:
if k not in other:
- raise UnsatisfiableVariantSpecError(self[k], '<absent>')
+ raise UnsatisfiableVariantSpecError(self[k], "<absent>")
changed = False
for k in other:
@@ -629,9 +630,7 @@ class VariantMap(lang.HashableMap):
Returns:
bool: True or False
"""
- return self.spec._concrete or all(
- v in self for v in self.spec.package_class.variants
- )
+ return self.spec._concrete or all(v in self for v in self.spec.package_class.variants)
def copy(self):
"""Return an instance of VariantMap equivalent to self.
@@ -654,8 +653,7 @@ class VariantMap(lang.HashableMap):
bool_keys = []
kv_keys = []
for key in sorted_keys:
- bool_keys.append(key) if isinstance(self[key].value, bool) \
- else kv_keys.append(key)
+ bool_keys.append(key) if isinstance(self[key].value, bool) else kv_keys.append(key)
# add spaces before and after key/value variants.
string = StringIO()
@@ -664,7 +662,7 @@ class VariantMap(lang.HashableMap):
string.write(str(self[key]))
for key in kv_keys:
- string.write(' ')
+ string.write(" ")
string.write(str(self[key]))
return string.getvalue()
@@ -685,7 +683,7 @@ def substitute_abstract_variants(spec):
failed = []
for name, v in spec.variants.items():
if name in spack.directives.reserved_names:
- if name == 'dev_path':
+ if name == "dev_path":
new_variant = SingleValuedVariant(name, v._original_value)
spec.variants.substitute(new_variant)
continue
@@ -714,21 +712,23 @@ class DisjointSetsOfValues(Sequence):
*sets (list): mutually exclusive sets of values
"""
- _empty_set = set(('none',))
+ _empty_set = set(("none",))
def __init__(self, *sets):
self.sets = [set(_flatten(x)) for x in sets]
# 'none' is a special value and can appear only in a set of
# a single element
- if any('none' in s and s != set(('none',)) for s in self.sets):
- raise error.SpecError("The value 'none' represents the empty set,"
- " and must appear alone in a set. Use the "
- "method 'allow_empty_set' to add it.")
+ if any("none" in s and s != set(("none",)) for s in self.sets):
+ raise error.SpecError(
+ "The value 'none' represents the empty set,"
+ " and must appear alone in a set. Use the "
+ "method 'allow_empty_set' to add it."
+ )
# Sets should not intersect with each other
if any(s1 & s2 for s1, s2 in itertools.combinations(self.sets, 2)):
- raise error.SpecError('sets in input must be disjoint')
+ raise error.SpecError("sets in input must be disjoint")
#: Attribute used to track values which correspond to
#: features which can be enabled or disabled as understood by the
@@ -736,9 +736,11 @@ class DisjointSetsOfValues(Sequence):
self.feature_values = tuple(itertools.chain.from_iterable(self.sets))
self.default = None
self.multi = True
- self.error_fmt = "this variant accepts combinations of values from " \
- "exactly one of the following sets '{values}' " \
- "@*r{{[{package}, variant '{variant}']}}"
+ self.error_fmt = (
+ "this variant accepts combinations of values from "
+ "exactly one of the following sets '{values}' "
+ "@*r{{[{package}, variant '{variant}']}}"
+ )
def with_default(self, default):
"""Sets the default value and returns self."""
@@ -752,9 +754,7 @@ class DisjointSetsOfValues(Sequence):
def with_non_feature_values(self, *values):
"""Marks a few values as not being tied to a feature."""
- self.feature_values = tuple(
- x for x in self.feature_values if x not in values
- )
+ self.feature_values = tuple(x for x in self.feature_values if x not in values)
return self
def allow_empty_set(self):
@@ -763,9 +763,9 @@ class DisjointSetsOfValues(Sequence):
return self
# Create a new object to be returned
- object_with_empty_set = type(self)(('none',), *self.sets)
+ object_with_empty_set = type(self)(("none",), *self.sets)
object_with_empty_set.error_fmt = self.error_fmt
- object_with_empty_set.feature_values = self.feature_values + ('none', )
+ object_with_empty_set.feature_values = self.feature_values + ("none",)
return object_with_empty_set
def prohibit_empty_set(self):
@@ -778,7 +778,7 @@ class DisjointSetsOfValues(Sequence):
object_without_empty_set = type(self)(*sets)
object_without_empty_set.error_fmt = self.error_fmt
object_without_empty_set.feature_values = tuple(
- x for x in self.feature_values if x != 'none'
+ x for x in self.feature_values if x != "none"
)
return object_without_empty_set
@@ -795,23 +795,22 @@ class DisjointSetsOfValues(Sequence):
if any(all(x in s for x in values) for s in self.sets):
return
- format_args = {
- 'variant': variant_name, 'package': pkg_name, 'values': values
- }
- msg = self.error_fmt + \
- " @*r{{[{package}, variant '{variant}']}}"
+ format_args = {"variant": variant_name, "package": pkg_name, "values": values}
+ msg = self.error_fmt + " @*r{{[{package}, variant '{variant}']}}"
msg = llnl.util.tty.color.colorize(msg.format(**format_args))
raise error.SpecError(msg)
+
return _disjoint_set_validator
def _a_single_value_or_a_combination(single_value, *values):
- error = "the value '" + single_value + \
- "' is mutually exclusive with any of the other values"
- return DisjointSetsOfValues(
- (single_value,), values
- ).with_default(single_value).with_error(error).\
- with_non_feature_values(single_value)
+ error = "the value '" + single_value + "' is mutually exclusive with any of the other values"
+ return (
+ DisjointSetsOfValues((single_value,), values)
+ .with_default(single_value)
+ .with_error(error)
+ .with_non_feature_values(single_value)
+ )
# TODO: The factories below are used by package writers to set values of
@@ -833,7 +832,7 @@ def any_combination_of(*values):
Returns:
a properly initialized instance of DisjointSetsOfValues
"""
- return _a_single_value_or_a_combination('none', *values)
+ return _a_single_value_or_a_combination("none", *values)
def auto_or_any_combination_of(*values):
@@ -846,7 +845,7 @@ def auto_or_any_combination_of(*values):
Returns:
a properly initialized instance of DisjointSetsOfValues
"""
- return _a_single_value_or_a_combination('auto', *values)
+ return _a_single_value_or_a_combination("auto", *values)
#: Multi-valued variant that allows any combination picking
@@ -865,18 +864,19 @@ def disjoint_sets(*sets):
Returns:
a properly initialized instance of DisjointSetsOfValues
"""
- return DisjointSetsOfValues(*sets).allow_empty_set().with_default('none')
+ return DisjointSetsOfValues(*sets).allow_empty_set().with_default("none")
@functools.total_ordering
class Value(object):
"""Conditional value that might be used in variants."""
+
def __init__(self, value, when):
self.value = value
self.when = when
def __repr__(self):
- return 'Value({0.value}, when={0.when})'.format(self)
+ return "Value({0.value}, when={0.when})".format(self)
def __str__(self):
return str(self.value)
@@ -902,9 +902,9 @@ class _ConditionalVariantValues(lang.TypedMutableSequence):
def conditional(*values, **kwargs):
"""Conditional values that can be used in variant declarations."""
- if len(kwargs) != 1 and 'when' not in kwargs:
+ if len(kwargs) != 1 and "when" not in kwargs:
raise ValueError('conditional statement expects a "when=" parameter only')
- when = kwargs['when']
+ when = kwargs["when"]
return _ConditionalVariantValues([Value(x, when=when) for x in values])
@@ -914,37 +914,37 @@ class DuplicateVariantError(error.SpecError):
class UnknownVariantError(error.SpecError):
"""Raised when an unknown variant occurs in a spec."""
+
def __init__(self, spec, variants):
self.unknown_variants = variants
- variant_str = 'variant' if len(variants) == 1 else 'variants'
- msg = ('trying to set {0} "{1}" in package "{2}", but the package'
- ' has no such {0} [happened during concretization of {3}]')
+ variant_str = "variant" if len(variants) == 1 else "variants"
+ msg = (
+ 'trying to set {0} "{1}" in package "{2}", but the package'
+ " has no such {0} [happened during concretization of {3}]"
+ )
msg = msg.format(variant_str, comma_or(variants), spec.name, spec.root)
super(UnknownVariantError, self).__init__(msg)
class InconsistentValidationError(error.SpecError):
"""Raised if the wrong validator is used to validate a variant."""
+
def __init__(self, vspec, variant):
- msg = ('trying to validate variant "{0.name}" '
- 'with the validator of "{1.name}"')
- super(InconsistentValidationError, self).__init__(
- msg.format(vspec, variant)
- )
+ msg = 'trying to validate variant "{0.name}" ' 'with the validator of "{1.name}"'
+ super(InconsistentValidationError, self).__init__(msg.format(vspec, variant))
class MultipleValuesInExclusiveVariantError(error.SpecError, ValueError):
"""Raised when multiple values are present in a variant that wants
only one.
"""
+
def __init__(self, variant, pkg):
msg = 'multiple values are not allowed for variant "{0.name}"{1}'
- pkg_info = ''
+ pkg_info = ""
if pkg is not None:
pkg_info = ' in package "{0}"'.format(pkg.name)
- super(MultipleValuesInExclusiveVariantError, self).__init__(
- msg.format(variant, pkg_info)
- )
+ super(MultipleValuesInExclusiveVariantError, self).__init__(msg.format(variant, pkg_info))
class InvalidVariantValueCombinationError(error.SpecError):
@@ -956,7 +956,7 @@ class InvalidVariantValueError(error.SpecError):
def __init__(self, variant, invalid_values, pkg):
msg = 'invalid values for variant "{0.name}"{2}: {1}\n'
- pkg_info = ''
+ pkg_info = ""
if pkg is not None:
pkg_info = ' in package "{0}"'.format(pkg.name)
super(InvalidVariantValueError, self).__init__(
@@ -966,17 +966,15 @@ class InvalidVariantValueError(error.SpecError):
class InvalidVariantForSpecError(error.SpecError):
"""Raised when an invalid conditional variant is specified."""
+
def __init__(self, variant, when, spec):
msg = "Invalid variant {0} for spec {1}.\n"
msg += "{0} is only available for {1.name} when satisfying one of {2}."
- super(InvalidVariantForSpecError, self).__init__(
- msg.format(variant, spec, when)
- )
+ super(InvalidVariantForSpecError, self).__init__(msg.format(variant, spec, when))
class UnsatisfiableVariantSpecError(error.UnsatisfiableSpecError):
"""Raised when a spec variant conflicts with package constraints."""
def __init__(self, provided, required):
- super(UnsatisfiableVariantSpecError, self).__init__(
- provided, required, "variant")
+ super(UnsatisfiableVariantSpecError, self).__init__(provided, required, "variant")
diff --git a/lib/spack/spack/verify.py b/lib/spack/spack/verify.py
index dca908f345..9d910bc43d 100644
--- a/lib/spack/spack/verify.py
+++ b/lib/spack/spack/verify.py
@@ -15,7 +15,7 @@ import spack.util.spack_json as sjson
def compute_hash(path):
- with open(path, 'rb') as f:
+ with open(path, "rb") as f:
sha1 = hashlib.sha1(f.read()).digest()
return compat.b32encode(sha1)
@@ -26,30 +26,30 @@ def create_manifest_entry(path):
if os.path.exists(path):
stat = os.stat(path)
- data['mode'] = stat.st_mode
- data['owner'] = stat.st_uid
- data['group'] = stat.st_gid
+ data["mode"] = stat.st_mode
+ data["owner"] = stat.st_uid
+ data["group"] = stat.st_gid
if os.path.islink(path):
- data['type'] = 'link'
- data['dest'] = os.readlink(path)
+ data["type"] = "link"
+ data["dest"] = os.readlink(path)
elif os.path.isdir(path):
- data['type'] = 'dir'
+ data["type"] = "dir"
else:
- data['type'] = 'file'
- data['hash'] = compute_hash(path)
- data['time'] = stat.st_mtime
- data['size'] = stat.st_size
+ data["type"] = "file"
+ data["hash"] = compute_hash(path)
+ data["time"] = stat.st_mtime
+ data["size"] = stat.st_size
return data
def write_manifest(spec):
- manifest_file = os.path.join(spec.prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(
+ spec.prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
if not os.path.exists(manifest_file):
tty.debug("Writing manifest file: No manifest from binary")
@@ -61,7 +61,7 @@ def write_manifest(spec):
manifest[path] = create_manifest_entry(path)
manifest[spec.prefix] = create_manifest_entry(spec.prefix)
- with open(manifest_file, 'w') as f:
+ with open(manifest_file, "w") as f:
sjson.dump(manifest, f)
fp.set_permissions_by_spec(manifest_file, spec)
@@ -71,42 +71,42 @@ def check_entry(path, data):
res = VerificationResults()
if not data:
- res.add_error(path, 'added')
+ res.add_error(path, "added")
return res
stat = os.stat(path)
# Check for all entries
- if stat.st_mode != data['mode']:
- res.add_error(path, 'mode')
- if stat.st_uid != data['owner']:
- res.add_error(path, 'owner')
- if stat.st_gid != data['group']:
- res.add_error(path, 'group')
+ if stat.st_mode != data["mode"]:
+ res.add_error(path, "mode")
+ if stat.st_uid != data["owner"]:
+ res.add_error(path, "owner")
+ if stat.st_gid != data["group"]:
+ res.add_error(path, "group")
# Check for symlink targets and listed as symlink
if os.path.islink(path):
- if data['type'] != 'link':
- res.add_error(path, 'type')
- if os.readlink(path) != data.get('dest', ''):
- res.add_error(path, 'link')
+ if data["type"] != "link":
+ res.add_error(path, "type")
+ if os.readlink(path) != data.get("dest", ""):
+ res.add_error(path, "link")
# Check directories are listed as directory
elif os.path.isdir(path):
- if data['type'] != 'dir':
- res.add_error(path, 'type')
+ if data["type"] != "dir":
+ res.add_error(path, "type")
else:
# Check file contents against hash and listed as file
# Check mtime and size as well
- if stat.st_size != data['size']:
- res.add_error(path, 'size')
- if stat.st_mtime != data['time']:
- res.add_error(path, 'mtime')
- if data['type'] != 'file':
- res.add_error(path, 'type')
- if compute_hash(path) != data.get('hash', ''):
- res.add_error(path, 'hash')
+ if stat.st_size != data["size"]:
+ res.add_error(path, "size")
+ if stat.st_mtime != data["time"]:
+ res.add_error(path, "mtime")
+ if data["type"] != "file":
+ res.add_error(path, "type")
+ if compute_hash(path) != data.get("hash", ""):
+ res.add_error(path, "hash")
return res
@@ -117,20 +117,20 @@ def check_file_manifest(filename):
results = VerificationResults()
while spack.store.layout.metadata_dir not in os.listdir(dirname):
if dirname == os.path.sep:
- results.add_error(filename, 'not owned by any package')
+ results.add_error(filename, "not owned by any package")
return results
dirname = os.path.dirname(dirname)
- manifest_file = os.path.join(dirname,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(
+ dirname, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
if not os.path.exists(manifest_file):
results.add_error(filename, "manifest missing")
return results
try:
- with open(manifest_file, 'r') as f:
+ with open(manifest_file, "r") as f:
manifest = sjson.load(f)
except Exception:
results.add_error(filename, "manifest corrupted")
@@ -139,7 +139,7 @@ def check_file_manifest(filename):
if filename in manifest:
results += check_entry(filename, manifest[filename])
else:
- results.add_error(filename, 'not owned by any package')
+ results.add_error(filename, "not owned by any package")
return results
@@ -147,26 +147,25 @@ def check_spec_manifest(spec):
prefix = spec.prefix
results = VerificationResults()
- manifest_file = os.path.join(prefix,
- spack.store.layout.metadata_dir,
- spack.store.layout.manifest_file_name)
+ manifest_file = os.path.join(
+ prefix, spack.store.layout.metadata_dir, spack.store.layout.manifest_file_name
+ )
if not os.path.exists(manifest_file):
results.add_error(prefix, "manifest missing")
return results
try:
- with open(manifest_file, 'r') as f:
+ with open(manifest_file, "r") as f:
manifest = sjson.load(f)
except Exception:
results.add_error(prefix, "manifest corrupted")
return results
# Get extensions active in spec
- view = spack.filesystem_view.YamlFilesystemView(prefix,
- spack.store.layout)
+ view = spack.filesystem_view.YamlFilesystemView(prefix, spack.store.layout)
active_exts = view.extensions_layout.extension_map(spec).values()
- ext_file = ''
+ ext_file = ""
if active_exts:
# No point checking contents of this file as it is the only source of
# truth for that information.
@@ -178,8 +177,7 @@ def check_spec_manifest(spec):
# This file is linked in by an extension. Belongs to extension
return True
elif os.path.isdir(p) and p not in manifest:
- if all(is_extension_artifact(os.path.join(p, f))
- for f in os.listdir(p)):
+ if all(is_extension_artifact(os.path.join(p, f)) for f in os.listdir(p)):
return True
return False
@@ -205,7 +203,7 @@ def check_spec_manifest(spec):
results += check_entry(prefix, manifest.pop(prefix, {}))
for path in manifest:
- results.add_error(path, 'deleted')
+ results.add_error(path, "deleted")
return results
@@ -229,12 +227,12 @@ class VerificationResults(object):
return sjson.dump(self.errors)
def __str__(self):
- res = ''
+ res = ""
for path, fields in self.errors.items():
- res += '%s verification failed with error(s):\n' % path
+ res += "%s verification failed with error(s):\n" % path
for error in fields:
- res += ' %s\n' % error
+ res += " %s\n" % error
if not res:
- res += 'No Errors'
+ res += "No Errors"
return res
diff --git a/lib/spack/spack/version.py b/lib/spack/spack/version.py
index 4d59394480..efcee74afe 100644
--- a/lib/spack/spack/version.py
+++ b/lib/spack/spack/version.py
@@ -42,24 +42,26 @@ import spack.util.executable
import spack.util.spack_json as sjson
from spack.util.spack_yaml import syaml_dict
-__all__ = ['Version', 'VersionRange', 'VersionList', 'ver']
+__all__ = ["Version", "VersionRange", "VersionList", "ver"]
# Valid version characters
-VALID_VERSION = re.compile(r'^[A-Za-z0-9_.-]+$')
+VALID_VERSION = re.compile(r"^[A-Za-z0-9_.-]+$")
# regex for a commit version
-COMMIT_VERSION = re.compile(r'^[a-f0-9]{40}$')
+COMMIT_VERSION = re.compile(r"^[a-f0-9]{40}$")
# regex for version segments
-SEGMENT_REGEX = re.compile(r'(?:(?P<num>[0-9]+)|(?P<str>[a-zA-Z]+))(?P<sep>[_.-]*)')
+SEGMENT_REGEX = re.compile(r"(?:(?P<num>[0-9]+)|(?P<str>[a-zA-Z]+))(?P<sep>[_.-]*)")
# regular expression for semantic versioning
-SEMVER_REGEX = re.compile(".+(?P<semver>([0-9]+)[.]([0-9]+)[.]([0-9]+)"
- "(?:-([0-9A-Za-z-]+(?:[.][0-9A-Za-z-]+)*))?"
- "(?:[+][0-9A-Za-z-]+)?)")
+SEMVER_REGEX = re.compile(
+ ".+(?P<semver>([0-9]+)[.]([0-9]+)[.]([0-9]+)"
+ "(?:-([0-9A-Za-z-]+(?:[.][0-9A-Za-z-]+)*))?"
+ "(?:[+][0-9A-Za-z-]+)?)"
+)
# Infinity-like versions. The order in the list implies the comparison rules
-infinity_versions = ['develop', 'main', 'master', 'head', 'trunk', 'stable']
+infinity_versions = ["develop", "main", "master", "head", "trunk", "stable"]
iv_min_len = min(len(s) for s in infinity_versions)
@@ -77,6 +79,7 @@ def coerce_versions(a, b):
def check_type(t):
if t not in order:
raise TypeError("coerce_versions cannot be called on %s" % t)
+
check_type(ta)
check_type(tb)
@@ -100,6 +103,7 @@ def coerce_versions(a, b):
def coerced(method):
"""Decorator that ensures that argument types of a method are coerced."""
+
@wraps(method)
def coercing_method(a, b, *args, **kwargs):
if type(a) == type(b) or a is None or b is None:
@@ -107,13 +111,14 @@ def coerced(method):
else:
ca, cb = coerce_versions(a, b)
return getattr(ca, method.__name__)(cb, *args, **kwargs)
+
return coercing_method
class VersionStrComponent(object):
# NOTE: this is intentionally not a UserString, the abc instanceof
# check is slow enough to eliminate all gains
- __slots__ = ['inf_ver', 'data']
+ __slots__ = ["inf_ver", "data"]
def __init__(self, string):
self.inf_ver = None
@@ -162,15 +167,14 @@ class VersionStrComponent(object):
return self < VersionStrComponent(other)
# If we get here, it's an unsupported comparison
- raise ValueError("VersionStrComponent can only be compared with itself, "
- "int and str")
+ raise ValueError("VersionStrComponent can only be compared with itself, " "int and str")
def __gt__(self, other):
return not self.__lt__(other)
def is_git_version(string):
- if string.startswith('git.'):
+ if string.startswith("git."):
return True
elif len(string) == 40 and COMMIT_VERSION.match(string):
return True
@@ -188,6 +192,7 @@ def Version(string): # capitalized for backwards compatibility
class VersionBase(object):
"""Class to represent versions"""
+
__slots__ = [
"version",
"separators",
@@ -207,9 +212,7 @@ class VersionBase(object):
raise ValueError("Bad characters in version string: %s" % string)
segments = SEGMENT_REGEX.findall(string)
- self.version = tuple(
- int(m[0]) if m[0] else VersionStrComponent(m[1]) for m in segments
- )
+ self.version = tuple(int(m[0]) if m[0] else VersionStrComponent(m[1]) for m in segments)
self.separators = tuple(m[2] for m in segments)
@property
@@ -224,7 +227,7 @@ class VersionBase(object):
Returns:
Version: The version with separator characters replaced by dots
"""
- return type(self)(self.string.replace('-', '.').replace('_', '.'))
+ return type(self)(self.string.replace("-", ".").replace("_", "."))
@property
def underscored(self):
@@ -239,7 +242,7 @@ class VersionBase(object):
Version: The version with separator characters replaced by
underscores
"""
- return type(self)(self.string.replace('.', '_').replace('-', '_'))
+ return type(self)(self.string.replace(".", "_").replace("-", "_"))
@property
def dashed(self):
@@ -253,7 +256,7 @@ class VersionBase(object):
Returns:
Version: The version with separator characters replaced by dashes
"""
- return type(self)(self.string.replace('.', '-').replace('_', '-'))
+ return type(self)(self.string.replace(".", "-").replace("_", "-"))
@property
def joined(self):
@@ -267,8 +270,7 @@ class VersionBase(object):
Returns:
Version: The version with separator characters removed
"""
- return type(self)(
- self.string.replace('.', '').replace('-', '').replace('_', ''))
+ return type(self)(self.string.replace(".", "").replace("-", "").replace("_", ""))
def up_to(self, index):
"""The version up to the specified component.
@@ -343,16 +345,16 @@ class VersionBase(object):
if string_arg:
string_arg.pop() # We don't need the last separator
- string_arg = ''.join(string_arg)
+ string_arg = "".join(string_arg)
return cls(string_arg)
else:
- return VersionBase('')
+ return VersionBase("")
- message = '{cls.__name__} indices must be integers'
+ message = "{cls.__name__} indices must be integers"
raise TypeError(message.format(cls=cls))
def __repr__(self):
- return 'VersionBase(' + repr(self.string) + ')'
+ return "VersionBase(" + repr(self.string) + ")"
def __str__(self):
return self.string
@@ -367,9 +369,9 @@ class VersionBase(object):
@coerced
def __lt__(self, other):
"""Version comparison is designed for consistency with the way RPM
- does things. If you need more complicated versions in installed
- packages, you should override your package's version string to
- express it more sensibly.
+ does things. If you need more complicated versions in installed
+ packages, you should override your package's version string to
+ express it more sensibly.
"""
if other is None:
return False
@@ -409,13 +411,13 @@ class VersionBase(object):
if other is None:
return False
- return other.version[:len(self.version)] == self.version
+ return other.version[: len(self.version)] == self.version
@coerced
def is_predecessor(self, other):
"""True if the other version is the immediate predecessor of this one.
- That is, NO non-git versions v exist such that:
- (self < v < other and v not in self).
+ That is, NO non-git versions v exist such that:
+ (self < v < other and v not in self).
"""
if self.version[:-1] != other.version[:-1]:
return False
@@ -457,11 +459,12 @@ class GitVersion(VersionBase):
Non-git versions may be coerced to GitVersion for comparison, but no Spec will ever
have a GitVersion that is not actually referencing a version from git."""
+
def __init__(self, string):
if not isinstance(string, str):
string = str(string) # In case we got a VersionBase or GitVersion object
- git_prefix = string.startswith('git.')
+ git_prefix = string.startswith("git.")
self.ref = string[4:] if git_prefix else string
self.is_commit = len(self.ref) == 40 and COMMIT_VERSION.match(self.ref)
@@ -495,7 +498,7 @@ class GitVersion(VersionBase):
# Extend previous version by empty component and distance
# If commit is exactly a known version, no distance suffix
prev_tuple = VersionBase(prev_version).version if prev_version else ()
- dist_suffix = (VersionStrComponent(''), distance) if distance else ()
+ dist_suffix = (VersionStrComponent(""), distance) if distance else ()
self.ref_version = prev_tuple + dist_suffix
return self.ref_version
@@ -517,14 +520,14 @@ class GitVersion(VersionBase):
return nother <= nself and self_cmp[:nother] == other_cmp
def __repr__(self):
- return 'GitVersion(' + repr(self.string) + ')'
+ return "GitVersion(" + repr(self.string) + ")"
@coerced
def __lt__(self, other):
"""Version comparison is designed for consistency with the way RPM
- does things. If you need more complicated versions in installed
- packages, you should override your package's version string to
- express it more sensibly.
+ does things. If you need more complicated versions in installed
+ packages, you should override your package's version string to
+ express it more sensibly.
"""
if other is None:
return False
@@ -554,13 +557,13 @@ class GitVersion(VersionBase):
return False
self_cmp = self._cmp(other.ref_lookup)
- return other._cmp(self.ref_lookup)[:len(self_cmp)] == self_cmp
+ return other._cmp(self.ref_lookup)[: len(self_cmp)] == self_cmp
@coerced
def is_predecessor(self, other):
"""True if the other version is the immediate predecessor of this one.
- That is, NO non-commit versions v exist such that:
- (self < v < other and v not in self).
+ That is, NO non-commit versions v exist such that:
+ (self < v < other and v not in self).
"""
self_cmp = self._cmp(self.ref_lookup)
other_cmp = other._cmp(other.ref_lookup)
@@ -605,7 +608,6 @@ class GitVersion(VersionBase):
class VersionRange(object):
-
def __init__(self, start, end):
if isinstance(start, string_types):
start = Version(start)
@@ -635,25 +637,26 @@ class VersionRange(object):
@coerced
def __lt__(self, other):
"""Sort VersionRanges lexicographically so that they are ordered first
- by start and then by end. None denotes an open range, so None in
- the start position is less than everything except None, and None in
- the end position is greater than everything but None.
+ by start and then by end. None denotes an open range, so None in
+ the start position is less than everything except None, and None in
+ the end position is greater than everything but None.
"""
if other is None:
return False
s, o = self, other
if s.start != o.start:
- return s.start is None or (
- o.start is not None and s.start < o.start)
- return (s.end != o.end and
- o.end is None or (s.end is not None and s.end < o.end))
+ return s.start is None or (o.start is not None and s.start < o.start)
+ return s.end != o.end and o.end is None or (s.end is not None and s.end < o.end)
@coerced
def __eq__(self, other):
- return (other is not None and
- type(other) == VersionRange and
- self.start == other.start and self.end == other.end)
+ return (
+ other is not None
+ and type(other) == VersionRange
+ and self.start == other.start
+ and self.end == other.end
+ )
@coerced
def __ne__(self, other):
@@ -680,19 +683,21 @@ class VersionRange(object):
if other is None:
return False
- in_lower = (self.start == other.start or
- self.start is None or
- (other.start is not None and (
- self.start < other.start or
- other.start in self.start)))
+ in_lower = (
+ self.start == other.start
+ or self.start is None
+ or (
+ other.start is not None and (self.start < other.start or other.start in self.start)
+ )
+ )
if not in_lower:
return False
- in_upper = (self.end == other.end or
- self.end is None or
- (other.end is not None and (
- self.end > other.end or
- other.end in self.end)))
+ in_upper = (
+ self.end == other.end
+ or self.end is None
+ or (other.end is not None and (self.end > other.end or other.end in self.end))
+ )
return in_upper
@coerced
@@ -717,22 +722,35 @@ class VersionRange(object):
@coerced
def overlaps(self, other):
- return ((self.start is None or other.end is None or
- self.start <= other.end or
- other.end in self.start or self.start in other.end) and
- (other.start is None or self.end is None or
- other.start <= self.end or
- other.start in self.end or self.end in other.start))
+ return (
+ self.start is None
+ or other.end is None
+ or self.start <= other.end
+ or other.end in self.start
+ or self.start in other.end
+ ) and (
+ other.start is None
+ or self.end is None
+ or other.start <= self.end
+ or other.start in self.end
+ or self.end in other.start
+ )
@coerced
def union(self, other):
if not self.overlaps(other):
- if (self.end is not None and other.start is not None and
- self.end.is_predecessor(other.start)):
+ if (
+ self.end is not None
+ and other.start is not None
+ and self.end.is_predecessor(other.start)
+ ):
return VersionRange(self.start, other.end)
- if (other.end is not None and self.start is not None and
- other.end.is_predecessor(self.start)):
+ if (
+ other.end is not None
+ and self.start is not None
+ and other.end.is_predecessor(self.start)
+ ):
return VersionRange(other.start, self.end)
return VersionList([self, other])
@@ -871,9 +889,7 @@ class VersionList(object):
def highest_numeric(self):
"""Get the highest numeric version in the list."""
- numeric_versions = list(filter(
- lambda v: str(v) not in infinity_versions,
- self.versions))
+ numeric_versions = list(filter(lambda v: str(v) not in infinity_versions, self.versions))
if not any(numeric_versions):
return None
else:
@@ -904,34 +920,30 @@ class VersionList(object):
def to_dict(self):
"""Generate human-readable dict for YAML."""
if self.concrete:
- return syaml_dict([
- ('version', str(self[0]))
- ])
+ return syaml_dict([("version", str(self[0]))])
else:
- return syaml_dict([
- ('versions', [str(v) for v in self])
- ])
+ return syaml_dict([("versions", [str(v) for v in self])])
@staticmethod
def from_dict(dictionary):
"""Parse dict from to_dict."""
- if 'versions' in dictionary:
- return VersionList(dictionary['versions'])
- elif 'version' in dictionary:
- return VersionList([dictionary['version']])
+ if "versions" in dictionary:
+ return VersionList(dictionary["versions"])
+ elif "version" in dictionary:
+ return VersionList([dictionary["version"]])
else:
raise ValueError("Dict must have 'version' or 'versions' in it.")
@coerced
def satisfies(self, other, strict=False):
"""A VersionList satisfies another if some version in the list
- would satisfy some version in the other list. This uses
- essentially the same algorithm as overlaps() does for
- VersionList, but it calls satisfies() on member Versions
- and VersionRanges.
+ would satisfy some version in the other list. This uses
+ essentially the same algorithm as overlaps() does for
+ VersionList, but it calls satisfies() on member Versions
+ and VersionRanges.
- If strict is specified, this version list must lie entirely
- *within* the other in order to satisfy it.
+ If strict is specified, this version list must lie entirely
+ *within* the other in order to satisfy it.
"""
if not other or not self:
return False
@@ -976,7 +988,7 @@ class VersionList(object):
Return True if the spec changed as a result; False otherwise
"""
isection = self.intersection(other)
- changed = (isection.versions != self.versions)
+ changed = isection.versions != self.versions
self.versions = isection.versions
return changed
@@ -990,7 +1002,7 @@ class VersionList(object):
if i == 0:
if version not in self[0]:
return False
- elif all(version not in v for v in self[i - 1:]):
+ elif all(version not in v for v in self[i - 1 :]):
return False
return True
@@ -1046,15 +1058,15 @@ class VersionList(object):
def _string_to_version(string):
"""Converts a string to a Version, VersionList, or VersionRange.
- This is private. Client code should use ver().
+ This is private. Client code should use ver().
"""
- string = string.replace(' ', '')
+ string = string.replace(" ", "")
- if ',' in string:
- return VersionList(string.split(','))
+ if "," in string:
+ return VersionList(string.split(","))
- elif ':' in string:
- s, e = string.split(':')
+ elif ":" in string:
+ s, e = string.split(":")
start = Version(s) if s else None
end = Version(e) if e else None
return VersionRange(start, end)
@@ -1065,7 +1077,7 @@ def _string_to_version(string):
def ver(obj):
"""Parses a Version, VersionRange, or VersionList from a string
- or list of strings.
+ or list of strings.
"""
if isinstance(obj, (list, tuple)):
return VersionList(obj)
@@ -1099,6 +1111,7 @@ class CommitLookup(object):
Version.is_ref returns True to allow for comparisons between git refs
and versions as represented by tags in the git repository.
"""
+
def __init__(self, pkg_name):
self.pkg_name = pkg_name
@@ -1116,9 +1129,9 @@ class CommitLookup(object):
@property
def cache_key(self):
if not self._cache_key:
- key_base = 'git_metadata'
- if not self.repository_uri.startswith('/'):
- key_base += '/'
+ key_base = "git_metadata"
+ if not self.repository_uri.startswith("/"):
+ key_base += "/"
self._cache_key = key_base + self.repository_uri
# Cache data in misc_cache
@@ -1129,8 +1142,7 @@ class CommitLookup(object):
@property
def cache_path(self):
if not self._cache_path:
- self._cache_path = spack.caches.misc_cache.cache_path(
- self.cache_key)
+ self._cache_path = spack.caches.misc_cache.cache_path(self.cache_key)
return self._cache_path
@property
@@ -1144,6 +1156,7 @@ class CommitLookup(object):
if not self._fetcher:
# We require the full git repository history
import spack.fetch_strategy # break cycle
+
fetcher = spack.fetch_strategy.GitFetchStrategy(git=self.pkg.git)
fetcher.get_full_repo = True
self._fetcher = fetcher
@@ -1156,9 +1169,9 @@ class CommitLookup(object):
"""
try:
- components = [str(c).lstrip('/')
- for c in spack.util.url.parse_git_url(self.pkg.git)
- if c]
+ components = [
+ str(c).lstrip("/") for c in spack.util.url.parse_git_url(self.pkg.git) if c
+ ]
return os.path.join(*components)
except ValueError:
# If it's not a git url, it's a local path
@@ -1198,7 +1211,7 @@ class CommitLookup(object):
to the commit in the git repo. Those values are used to compare Version objects.
"""
dest = os.path.join(spack.paths.user_repos_cache_path, self.repository_uri)
- if dest.endswith('.git'):
+ if dest.endswith(".git"):
dest = dest[:-4]
# prepare a cache for the repository
@@ -1216,24 +1229,26 @@ class CommitLookup(object):
# remote instance, simply adding '-f' may not be sufficient
# (if commits are deleted on the remote, this command alone
# won't properly update the local rev-list)
- self.fetcher.git("fetch", '--tags', output=os.devnull, error=os.devnull)
+ self.fetcher.git("fetch", "--tags", output=os.devnull, error=os.devnull)
# Ensure ref is a commit object known to git
# Note the brackets are literals, the ref replaces the format string
try:
self.fetcher.git(
- 'cat-file', '-e', '%s^{commit}' % ref,
- output=os.devnull, error=os.devnull
+ "cat-file", "-e", "%s^{commit}" % ref, output=os.devnull, error=os.devnull
)
except spack.util.executable.ProcessError:
- raise VersionLookupError(
- "%s is not a valid git ref for %s" % (ref, self.pkg_name)
- )
+ raise VersionLookupError("%s is not a valid git ref for %s" % (ref, self.pkg_name))
# List tags (refs) by date, so last reference of a tag is newest
tag_info = self.fetcher.git(
- "for-each-ref", "--sort=creatordate", "--format",
- "%(objectname) %(refname)", "refs/tags", output=str).split('\n')
+ "for-each-ref",
+ "--sort=creatordate",
+ "--format",
+ "%(objectname) %(refname)",
+ "refs/tags",
+ output=str,
+ ).split("\n")
# Lookup of commits to spack versions
commit_to_version = {}
@@ -1242,29 +1257,27 @@ class CommitLookup(object):
if not entry:
continue
tag_commit, tag = entry.split()
- tag = tag.replace('refs/tags/', '', 1)
+ tag = tag.replace("refs/tags/", "", 1)
# For each tag, try to match to a version
for v in [v.string for v in self.pkg.versions]:
- if v == tag or 'v' + v == tag:
+ if v == tag or "v" + v == tag:
commit_to_version[tag_commit] = v
break
else:
# try to parse tag to copare versions spack does not know
match = SEMVER_REGEX.match(tag)
if match:
- semver = match.groupdict()['semver']
+ semver = match.groupdict()["semver"]
commit_to_version[tag_commit] = semver
ancestor_commits = []
for tag_commit in commit_to_version:
- self.fetcher.git(
- 'merge-base', '--is-ancestor', tag_commit, ref,
- ignore_errors=[1])
+ self.fetcher.git("merge-base", "--is-ancestor", tag_commit, ref, ignore_errors=[1])
if self.fetcher.git.returncode == 0:
distance = self.fetcher.git(
- 'rev-list', '%s..%s' % (tag_commit, ref), '--count',
- output=str, error=str).strip()
+ "rev-list", "%s..%s" % (tag_commit, ref), "--count", output=str, error=str
+ ).strip()
ancestor_commits.append((tag_commit, int(distance)))
# Get nearest ancestor that is a known version
@@ -1275,15 +1288,15 @@ class CommitLookup(object):
else:
# Get list of all commits, this is in reverse order
# We use this to get the first commit below
- ref_info = self.fetcher.git("log", "--all", "--pretty=format:%H",
- output=str)
- commits = [c for c in ref_info.split('\n') if c]
+ ref_info = self.fetcher.git("log", "--all", "--pretty=format:%H", output=str)
+ commits = [c for c in ref_info.split("\n") if c]
# No previous version and distance from first commit
prev_version = None
- distance = int(self.fetcher.git(
- 'rev-list', '%s..%s' % (commits[-1], ref), '--count',
- output=str, error=str
- ).strip())
+ distance = int(
+ self.fetcher.git(
+ "rev-list", "%s..%s" % (commits[-1], ref), "--count", output=str, error=str
+ ).strip()
+ )
return prev_version, distance
diff --git a/var/spack/repos/builtin.mock/packages/a/package.py b/var/spack/repos/builtin.mock/packages/a/package.py
index 4edee6b144..b556fbf06f 100644
--- a/var/spack/repos/builtin.mock/packages/a/package.py
+++ b/var/spack/repos/builtin.mock/packages/a/package.py
@@ -10,37 +10,32 @@ class A(AutotoolsPackage):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
variant(
- 'foo', description='',
- values=any_combination_of('bar', 'baz', 'fee').with_default('bar'),
+ "foo",
+ description="",
+ values=any_combination_of("bar", "baz", "fee").with_default("bar"),
)
- variant(
- 'foobar',
- values=('bar', 'baz', 'fee'),
- default='bar',
- description='',
- multi=False
- )
+ variant("foobar", values=("bar", "baz", "fee"), default="bar", description="", multi=False)
- variant('lorem_ipsum', description='', default=False)
+ variant("lorem_ipsum", description="", default=False)
- variant('bvv', default=True, description='The good old BV variant')
+ variant("bvv", default=True, description="The good old BV variant")
- depends_on('b', when='foobar=bar')
- depends_on('test-dependency', type='test')
+ depends_on("b", when="foobar=bar")
+ depends_on("test-dependency", type="test")
parallel = False
def with_or_without_fee(self, activated):
if not activated:
- return '--no-fee'
- return '--fee-all-the-time'
+ return "--no-fee"
+ return "--fee-all-the-time"
def autoreconf(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin.mock/packages/archive-files/package.py b/var/spack/repos/builtin.mock/packages/archive-files/package.py
index f168d25173..268ac41305 100644
--- a/var/spack/repos/builtin.mock/packages/archive-files/package.py
+++ b/var/spack/repos/builtin.mock/packages/archive-files/package.py
@@ -12,12 +12,12 @@ class ArchiveFiles(AutotoolsPackage):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
@property
def archive_files(self):
- return super(ArchiveFiles, self).archive_files + ['../../outside.log']
+ return super(ArchiveFiles, self).archive_files + ["../../outside.log"]
def autoreconf(self, spec, prefix):
pass
@@ -27,8 +27,8 @@ class ArchiveFiles(AutotoolsPackage):
def build(self, spec, prefix):
mkdirp(self.build_directory)
- config_log = join_path(self.build_directory, 'config.log')
+ config_log = join_path(self.build_directory, "config.log")
touch(config_log)
def install(self, spec, prefix):
- touch(join_path(prefix, 'deleteme'))
+ touch(join_path(prefix, "deleteme"))
diff --git a/var/spack/repos/builtin.mock/packages/attributes-foo-app/package.py b/var/spack/repos/builtin.mock/packages/attributes-foo-app/package.py
index b4f9ef14ca..a92f36bb3c 100644
--- a/var/spack/repos/builtin.mock/packages/attributes-foo-app/package.py
+++ b/var/spack/repos/builtin.mock/packages/attributes-foo-app/package.py
@@ -7,6 +7,6 @@ from spack.package import *
class AttributesFooApp(BundlePackage):
- version('1.0')
- depends_on('bar')
- depends_on('baz')
+ version("1.0")
+ depends_on("bar")
+ depends_on("baz")
diff --git a/var/spack/repos/builtin.mock/packages/attributes-foo/package.py b/var/spack/repos/builtin.mock/packages/attributes-foo/package.py
index bf68c96a53..f4bb9059a4 100644
--- a/var/spack/repos/builtin.mock/packages/attributes-foo/package.py
+++ b/var/spack/repos/builtin.mock/packages/attributes-foo/package.py
@@ -7,51 +7,51 @@ from spack.package import *
class AttributesFoo(BundlePackage):
- phases = ['install']
- version('1.0')
+ phases = ["install"]
+ version("1.0")
- provides('bar')
- provides('baz')
+ provides("bar")
+ provides("baz")
def install(self, spec, prefix):
- if 'platform=windows' in spec:
- lib_suffix = '.lib'
- elif 'platform=darwin' in spec:
- lib_suffix = '.dylib'
+ if "platform=windows" in spec:
+ lib_suffix = ".lib"
+ elif "platform=darwin" in spec:
+ lib_suffix = ".dylib"
else:
- lib_suffix = '.so'
+ lib_suffix = ".so"
mkdirp(prefix.include)
- touch(prefix.include.join('foo.h'))
+ touch(prefix.include.join("foo.h"))
mkdirp(prefix.include.bar)
- touch(prefix.include.bar.join('bar.h'))
+ touch(prefix.include.bar.join("bar.h"))
mkdirp(prefix.lib64)
- touch(prefix.lib64.join('libFoo' + lib_suffix))
- touch(prefix.lib64.join('libFooBar' + lib_suffix))
+ touch(prefix.lib64.join("libFoo" + lib_suffix))
+ touch(prefix.lib64.join("libFooBar" + lib_suffix))
mkdirp(prefix.baz.include.baz)
- touch(prefix.baz.include.baz.join('baz.h'))
+ touch(prefix.baz.include.baz.join("baz.h"))
mkdirp(prefix.baz.lib)
- touch(prefix.baz.lib.join('libFooBaz' + lib_suffix))
+ touch(prefix.baz.lib.join("libFooBaz" + lib_suffix))
# Headers provided by Foo
@property
def headers(self):
- return find_headers('foo', root=self.home.include, recursive=False)
+ return find_headers("foo", root=self.home.include, recursive=False)
# Libraries provided by Foo
@property
def libs(self):
- return find_libraries('libFoo', root=self.home, recursive=True)
+ return find_libraries("libFoo", root=self.home, recursive=True)
# Header provided by the bar virutal package
@property
def bar_headers(self):
- return find_headers('bar/bar', root=self.home.include, recursive=False)
+ return find_headers("bar/bar", root=self.home.include, recursive=False)
# Libary provided by the bar virtual package
@property
def bar_libs(self):
- return find_libraries('libFooBar', root=self.home, recursive=True)
+ return find_libraries("libFooBar", root=self.home, recursive=True)
# The baz virtual package home
@property
@@ -61,9 +61,9 @@ class AttributesFoo(BundlePackage):
# Header provided by the baz virtual package
@property
def baz_headers(self):
- return find_headers('baz/baz', root=self.baz_home.include, recursive=False)
+ return find_headers("baz/baz", root=self.baz_home.include, recursive=False)
# Library provided by the baz virtual package
@property
def baz_libs(self):
- return find_libraries('libFooBaz', root=self.baz_home, recursive=True)
+ return find_libraries("libFooBaz", root=self.baz_home, recursive=True)
diff --git a/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py b/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py
index ca046c548a..47111cdddd 100644
--- a/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py
@@ -10,5 +10,5 @@ from spack.package import *
class AutotoolsConditionalVariantsTest(AutotoolsPackage):
homepage = "https://www.example.com"
has_code = False
- version('1.0')
- variant('example', default=True, description='nope', when='@2.0:')
+ version("1.0")
+ variant("example", default=True, description="nope", when="@2.0:")
diff --git a/var/spack/repos/builtin.mock/packages/autotools-config-replacement/package.py b/var/spack/repos/builtin.mock/packages/autotools-config-replacement/package.py
index a869a359db..a86ed9cc09 100644
--- a/var/spack/repos/builtin.mock/packages/autotools-config-replacement/package.py
+++ b/var/spack/repos/builtin.mock/packages/autotools-config-replacement/package.py
@@ -17,15 +17,15 @@ class AutotoolsConfigReplacement(AutotoolsPackage):
has_code = False
- version('1.0.0')
- variant('patch_config_files', default=False)
- variant('gnuconfig', default=False)
+ version("1.0.0")
+ variant("patch_config_files", default=False)
+ variant("gnuconfig", default=False)
- depends_on('gnuconfig', type='build', when='+gnuconfig')
+ depends_on("gnuconfig", type="build", when="+gnuconfig")
@property
def patch_config_files(self):
- return self.spec.satisfies('+patch_config_files')
+ return self.spec.satisfies("+patch_config_files")
def autoreconf(self, spec, prefix):
pass
@@ -37,12 +37,12 @@ class AutotoolsConfigReplacement(AutotoolsPackage):
pass
def install(self, spec, prefix):
- broken = os.path.join(self.stage.source_path, 'broken')
- working = os.path.join(self.stage.source_path, 'working')
+ broken = os.path.join(self.stage.source_path, "broken")
+ working = os.path.join(self.stage.source_path, "working")
install_tree(broken, self.prefix.broken)
install_tree(working, self.prefix.working)
- @run_before('autoreconf')
+ @run_before("autoreconf")
def create_the_package_sources(self):
# Creates the following file structure:
# ./broken/config.sub -- not executable
@@ -52,37 +52,37 @@ class AutotoolsConfigReplacement(AutotoolsPackage):
# Automatic config helper script substitution should replace the two
# broken scripts with those from the gnuconfig package.
- broken = os.path.join(self.stage.source_path, 'broken')
- working = os.path.join(self.stage.source_path, 'working')
+ broken = os.path.join(self.stage.source_path, "broken")
+ working = os.path.join(self.stage.source_path, "working")
mkdirp(broken)
mkdirp(working)
# a configure script is required
- configure_script = join_path(self.stage.source_path, 'configure')
- with open(configure_script, 'w') as f:
+ configure_script = join_path(self.stage.source_path, "configure")
+ with open(configure_script, "w") as f:
f.write("#!/bin/sh\nexit 0")
os.chmod(configure_script, 0o775)
# broken config.sub (not executable)
- broken_config_sub = join_path(broken, 'config.sub')
- with open(broken_config_sub, 'w') as f:
+ broken_config_sub = join_path(broken, "config.sub")
+ with open(broken_config_sub, "w") as f:
f.write("#!/bin/sh\nexit 0")
# broken config.guess (exectuable but with error return code)
- broken_config_guess = join_path(broken, 'config.guess')
- with open(broken_config_guess, 'w') as f:
+ broken_config_guess = join_path(broken, "config.guess")
+ with open(broken_config_guess, "w") as f:
f.write("#!/bin/sh\nexit 1")
os.chmod(broken_config_guess, 0o775)
# working config.sub
- working_config_sub = join_path(working, 'config.sub')
- with open(working_config_sub, 'w') as f:
+ working_config_sub = join_path(working, "config.sub")
+ with open(working_config_sub, "w") as f:
f.write("#!/bin/sh\nexit 0")
os.chmod(working_config_sub, 0o775)
# working config.guess
- working_config_guess = join_path(working, 'config.guess')
- with open(working_config_guess, 'w') as f:
+ working_config_guess = join_path(working, "config.guess")
+ with open(working_config_guess, "w") as f:
f.write("#!/bin/sh\nexit 0")
os.chmod(working_config_guess, 0o775)
diff --git a/var/spack/repos/builtin.mock/packages/b/package.py b/var/spack/repos/builtin.mock/packages/b/package.py
index ed328f9268..23bd52e275 100644
--- a/var/spack/repos/builtin.mock/packages/b/package.py
+++ b/var/spack/repos/builtin.mock/packages/b/package.py
@@ -10,9 +10,9 @@ class B(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
- url = "http://www.example.com/b-1.0.tar.gz"
+ url = "http://www.example.com/b-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('0.9', 'abcd456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("0.9", "abcd456789abcdef0123456789abcdef")
- depends_on('test-dependency', type='test')
+ depends_on("test-dependency", type="test")
diff --git a/var/spack/repos/builtin.mock/packages/boost/package.py b/var/spack/repos/builtin.mock/packages/boost/package.py
index 476456a57a..06cca04b9e 100644
--- a/var/spack/repos/builtin.mock/packages/boost/package.py
+++ b/var/spack/repos/builtin.mock/packages/boost/package.py
@@ -10,52 +10,56 @@ class Boost(Package):
"""Fake boost package."""
homepage = "http://www.boost.org"
- url = "http://downloads.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.bz2"
-
- version('1.63.0', '1c837ecd990bb022d07e7aab32b09847')
-
- default_install_libs = set(['atomic',
- 'chrono',
- 'date_time',
- 'filesystem',
- 'graph',
- 'iostreams',
- 'locale',
- 'log',
- 'math',
- 'program_options',
- 'random',
- 'regex',
- 'serialization',
- 'signals',
- 'system',
- 'test',
- 'thread',
- 'timer',
- 'wave'])
+ url = "http://downloads.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.bz2"
+
+ version("1.63.0", "1c837ecd990bb022d07e7aab32b09847")
+
+ default_install_libs = set(
+ [
+ "atomic",
+ "chrono",
+ "date_time",
+ "filesystem",
+ "graph",
+ "iostreams",
+ "locale",
+ "log",
+ "math",
+ "program_options",
+ "random",
+ "regex",
+ "serialization",
+ "signals",
+ "system",
+ "test",
+ "thread",
+ "timer",
+ "wave",
+ ]
+ )
# mpi/python are not installed by default because they pull in many
# dependencies and/or because there is a great deal of customization
# possible (and it would be difficult to choose sensible defaults)
- default_noinstall_libs = set(['mpi', 'python'])
+ default_noinstall_libs = set(["mpi", "python"])
all_libs = default_install_libs | default_noinstall_libs
for lib in all_libs:
- variant(lib, default=(lib not in default_noinstall_libs),
- description="Compile with {0} library".format(lib))
-
- variant('debug', default=False,
- description='Switch to the debug version of Boost')
- variant('shared', default=True,
- description="Additionally build shared libraries")
- variant('multithreaded', default=True,
- description="Build multi-threaded versions of libraries")
- variant('singlethreaded', default=False,
- description="Build single-threaded versions of libraries")
- variant('icu', default=False,
- description="Build with Unicode and ICU suport")
- variant('graph', default=False,
- description="Build the Boost Graph library")
- variant('taggedlayout', default=False,
- description="Augment library names with build options")
+ variant(
+ lib,
+ default=(lib not in default_noinstall_libs),
+ description="Compile with {0} library".format(lib),
+ )
+
+ variant("debug", default=False, description="Switch to the debug version of Boost")
+ variant("shared", default=True, description="Additionally build shared libraries")
+ variant(
+ "multithreaded", default=True, description="Build multi-threaded versions of libraries"
+ )
+ variant(
+ "singlethreaded", default=False, description="Build single-threaded versions of libraries"
+ )
+ variant("icu", default=False, description="Build with Unicode and ICU suport")
+ variant("graph", default=False, description="Build the Boost Graph library")
+ variant("taggedlayout", default=False, description="Augment library names with build options")
diff --git a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-a/package.py b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-a/package.py
index 9dded76188..bea121f6b9 100644
--- a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-a/package.py
+++ b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-a/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class BothLinkAndBuildDepA(Package):
"""
- Structure where c occurs as a build dep down the line and as a direct
- link dep. Useful for testing situations where you copy the parent spec
- just with link deps, and you want to make sure b is not part of that.
- a <--build-- b <-link-- c
- a <--link--- c
+ Structure where c occurs as a build dep down the line and as a direct
+ link dep. Useful for testing situations where you copy the parent spec
+ just with link deps, and you want to make sure b is not part of that.
+ a <--build-- b <-link-- c
+ a <--link--- c
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/1.0.tar.gz"
+ url = "http://www.example.com/1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('both-link-and-build-dep-b', type='build')
- depends_on('both-link-and-build-dep-c', type='link')
+ depends_on("both-link-and-build-dep-b", type="build")
+ depends_on("both-link-and-build-dep-c", type="link")
diff --git a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-b/package.py b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-b/package.py
index f4812e7fc6..43e1305634 100644
--- a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-b/package.py
+++ b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-b/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class BothLinkAndBuildDepB(Package):
"""
- Structure where c occurs as a build dep down the line and as a direct
- link dep. Useful for testing situations where you copy the parent spec
- just with link deps, and you want to make sure b is not part of that.
- a <--build-- b <-link-- c
- a <--link--- c
+ Structure where c occurs as a build dep down the line and as a direct
+ link dep. Useful for testing situations where you copy the parent spec
+ just with link deps, and you want to make sure b is not part of that.
+ a <--build-- b <-link-- c
+ a <--link--- c
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/1.0.tar.gz"
+ url = "http://www.example.com/1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('both-link-and-build-dep-c', type='link')
+ depends_on("both-link-and-build-dep-c", type="link")
diff --git a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-c/package.py b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-c/package.py
index 70a9ce1158..49eda45237 100644
--- a/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-c/package.py
+++ b/var/spack/repos/builtin.mock/packages/both-link-and-build-dep-c/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class BothLinkAndBuildDepC(Package):
"""
- Structure where c occurs as a build dep down the line and as a direct
- link dep. Useful for testing situations where you copy the parent spec
- just with link deps, and you want to make sure b is not part of that.
- a <--build-- b <-link-- c
- a <--link--- c
+ Structure where c occurs as a build dep down the line and as a direct
+ link dep. Useful for testing situations where you copy the parent spec
+ just with link deps, and you want to make sure b is not part of that.
+ a <--build-- b <-link-- c
+ a <--link--- c
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/1.0.tar.gz"
+ url = "http://www.example.com/1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/bowtie/package.py b/var/spack/repos/builtin.mock/packages/bowtie/package.py
index 273619d6cc..24d7312b74 100644
--- a/var/spack/repos/builtin.mock/packages/bowtie/package.py
+++ b/var/spack/repos/builtin.mock/packages/bowtie/package.py
@@ -11,8 +11,8 @@ class Bowtie(Package):
homepage = "http://www.example.org"
url = "http://bowtie-1.2.2.tar.bz2"
- version('1.3.0', '1c837ecd990bb022d07e7aab32b09847')
- version('1.2.2', '1c837ecd990bb022d07e7aab32b09847')
- version('1.2.0', '1c837ecd990bb022d07e7aab32b09847')
+ version("1.3.0", "1c837ecd990bb022d07e7aab32b09847")
+ version("1.2.2", "1c837ecd990bb022d07e7aab32b09847")
+ version("1.2.0", "1c837ecd990bb022d07e7aab32b09847")
- conflicts('%gcc@:4.5.0', when='@1.2.2')
+ conflicts("%gcc@:4.5.0", when="@1.2.2")
diff --git a/var/spack/repos/builtin.mock/packages/brillig/package.py b/var/spack/repos/builtin.mock/packages/brillig/package.py
index cc3d5c94d1..235bca3d43 100644
--- a/var/spack/repos/builtin.mock/packages/brillig/package.py
+++ b/var/spack/repos/builtin.mock/packages/brillig/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class Brillig(Package):
- """ Mock package to test the spack versions command."""
+ """Mock package to test the spack versions command."""
homepage = "https://www.example.com"
- url = "https://github.com/vvolkl/brillig/archive/v2.0.0.tar.gz"
+ url = "https://github.com/vvolkl/brillig/archive/v2.0.0.tar.gz"
- version('2.0.0', sha256='d4bb8f1737d5a7c0321e1675cceccb59dbcb66a94f3a9dd66a37f58bc6df7f15')
- version('1.0.0', sha256='fcef53f45e82b881af9a6f0530b2732cdaf8c5c60e49b27671594ea658bfe315')
+ version("2.0.0", sha256="d4bb8f1737d5a7c0321e1675cceccb59dbcb66a94f3a9dd66a37f58bc6df7f15")
+ version("1.0.0", sha256="fcef53f45e82b881af9a6f0530b2732cdaf8c5c60e49b27671594ea658bfe315")
diff --git a/var/spack/repos/builtin.mock/packages/build-error/package.py b/var/spack/repos/builtin.mock/packages/build-error/package.py
index 7473d11b8d..bb0107987e 100644
--- a/var/spack/repos/builtin.mock/packages/build-error/package.py
+++ b/var/spack/repos/builtin.mock/packages/build-error/package.py
@@ -10,13 +10,14 @@ class BuildError(Package):
"""This package has an install method that fails in a build script."""
homepage = "http://www.example.com/trivial_install"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
- with open('configure', 'w') as f:
- f.write("""#!/bin/sh\n
+ with open("configure", "w") as f:
+ f.write(
+ """#!/bin/sh\n
echo 'checking build system type... x86_64-apple-darwin16.6.0'
echo 'checking host system type... x86_64-apple-darwin16.6.0'
echo 'checking for gcc... /Users/gamblin2/src/spack/lib/spack/env/clang/clang'
@@ -26,5 +27,6 @@ echo 'checking for suffix of executables...'
echo 'configure: error: in /path/to/some/file:'
echo 'configure: error: cannot run C compiled programs.'
exit 1
-""")
+"""
+ )
configure()
diff --git a/var/spack/repos/builtin.mock/packages/build-warnings/package.py b/var/spack/repos/builtin.mock/packages/build-warnings/package.py
index 2dbeec5f0a..f2e49574cd 100644
--- a/var/spack/repos/builtin.mock/packages/build-warnings/package.py
+++ b/var/spack/repos/builtin.mock/packages/build-warnings/package.py
@@ -10,13 +10,14 @@ class BuildWarnings(Package):
"""This package's install fails but only emits warnings."""
homepage = "http://www.example.com/trivial_install"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
- with open('configure', 'w') as f:
- f.write("""#!/bin/sh\n
+ with open("configure", "w") as f:
+ f.write(
+ """#!/bin/sh\n
echo 'checking for gcc... /Users/gamblin2/src/spack/lib/spack/env/clang/clang'
echo 'checking whether the C compiler works... yes'
echo 'checking for C compiler default output file name... a.out'
@@ -24,5 +25,6 @@ echo 'WARNING: ALL CAPITAL WARNING!'
echo 'checking for suffix of executables...'
echo 'foo.c:89: warning: some weird warning!'
exit 1
-""")
+"""
+ )
configure()
diff --git a/var/spack/repos/builtin.mock/packages/c/package.py b/var/spack/repos/builtin.mock/packages/c/package.py
index c94378f404..f57105f2ad 100644
--- a/var/spack/repos/builtin.mock/packages/c/package.py
+++ b/var/spack/repos/builtin.mock/packages/c/package.py
@@ -10,6 +10,6 @@ class C(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
- url = "http://www.example.com/c-1.0.tar.gz"
+ url = "http://www.example.com/c-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/callpath/package.py b/var/spack/repos/builtin.mock/packages/callpath/package.py
index 95056ccce3..2b226444a0 100644
--- a/var/spack/repos/builtin.mock/packages/callpath/package.py
+++ b/var/spack/repos/builtin.mock/packages/callpath/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Callpath(Package):
homepage = "https://github.com/tgamblin/callpath"
- url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
+ url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
- version(0.8, '0123456789abcdef0123456789abcdef')
- version(0.9, '0123456789abcdef0123456789abcdef')
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(0.8, "0123456789abcdef0123456789abcdef")
+ version(0.9, "0123456789abcdef0123456789abcdef")
+ version(1.0, "0123456789abcdef0123456789abcdef")
depends_on("dyninst")
depends_on("mpi")
@@ -23,4 +23,4 @@ class Callpath(Package):
make("install")
def setup_run_environment(self, env):
- env.set('FOOBAR', self.name)
+ env.set("FOOBAR", self.name)
diff --git a/var/spack/repos/builtin.mock/packages/canfail/package.py b/var/spack/repos/builtin.mock/packages/canfail/package.py
index 0fd79aa230..eb35fdec56 100644
--- a/var/spack/repos/builtin.mock/packages/canfail/package.py
+++ b/var/spack/repos/builtin.mock/packages/canfail/package.py
@@ -10,13 +10,13 @@ class Canfail(Package):
"""Package which fails install unless a special attribute is set"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
succeed = False
def install(self, spec, prefix):
if not self.succeed:
raise InstallError("'succeed' was false")
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/cmake-client/package.py b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
index e0e45be508..54842fd2d8 100644
--- a/var/spack/repos/builtin.mock/packages/cmake-client/package.py
+++ b/var/spack/repos/builtin.mock/packages/cmake-client/package.py
@@ -16,18 +16,19 @@ def check(condition, msg):
class CmakeClient(CMakePackage):
"""A dumy package that uses cmake."""
- homepage = 'https://www.example.com'
- url = 'https://www.example.com/cmake-client-1.0.tar.gz'
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ homepage = "https://www.example.com"
+ url = "https://www.example.com/cmake-client-1.0.tar.gz"
+
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
variant(
- 'multi', description='',
- values=any_combination_of('up', 'right', 'back').with_default('up')
+ "multi",
+ description="",
+ values=any_combination_of("up", "right", "back").with_default("up"),
)
- variant('single', description='', default='blue',
- values=('blue', 'red', 'green'), multi=False)
- variant('truthy', description='', default=True)
+ variant("single", description="", default="blue", values=("blue", "red", "green"), multi=False)
+ variant("truthy", description="", default=True)
callback_counter = 0
@@ -36,47 +37,56 @@ class CmakeClient(CMakePackage):
check_this_is_none = None
did_something = False
- @run_after('cmake')
- @run_before('cmake', 'build', 'install')
+ @run_after("cmake")
+ @run_before("cmake", "build", "install")
def increment(self):
self.callback_counter += 1
- @run_after('cmake')
+ @run_after("cmake")
@on_package_attributes(run_this=True, check_this_is_none=None)
def flip(self):
self.flipped = True
- @run_after('cmake')
+ @run_after("cmake")
@on_package_attributes(does_not_exist=None)
def do_not_execute(self):
self.did_something = True
def setup_build_environment(self, spack_env):
- spack_cc # Ensure spack module-scope variable is avaiabl
- check(from_cmake == "from_cmake",
- "setup_build_environment couldn't read global set by cmake.")
+ spack_cc # Ensure spack module-scope variable is avaiabl
+ check(
+ from_cmake == "from_cmake",
+ "setup_build_environment couldn't read global set by cmake.",
+ )
- check(self.spec['cmake'].link_arg == "test link arg",
- "link arg on dependency spec not readable from "
- "setup_build_environment.")
+ check(
+ self.spec["cmake"].link_arg == "test link arg",
+ "link arg on dependency spec not readable from " "setup_build_environment.",
+ )
def setup_dependent_build_environment(self, env, dependent_spec):
- spack_cc # Ensure spack module-scope variable is avaiable
- check(from_cmake == "from_cmake",
- "setup_dependent_build_environment couldn't read global set by cmake.")
+ spack_cc # Ensure spack module-scope variable is avaiable
+ check(
+ from_cmake == "from_cmake",
+ "setup_dependent_build_environment couldn't read global set by cmake.",
+ )
- check(self.spec['cmake'].link_arg == "test link arg",
- "link arg on dependency spec not readable from "
- "setup_dependent_build_environment.")
+ check(
+ self.spec["cmake"].link_arg == "test link arg",
+ "link arg on dependency spec not readable from " "setup_dependent_build_environment.",
+ )
def setup_dependent_package(self, module, dspec):
- spack_cc # Ensure spack module-scope variable is avaiable
- check(from_cmake == "from_cmake",
- "setup_dependent_package couldn't read global set by cmake.")
+ spack_cc # Ensure spack module-scope variable is avaiable
+ check(
+ from_cmake == "from_cmake",
+ "setup_dependent_package couldn't read global set by cmake.",
+ )
- check(self.spec['cmake'].link_arg == "test link arg",
- "link arg on dependency spec not readable from "
- "setup_dependent_package.")
+ check(
+ self.spec["cmake"].link_arg == "test link arg",
+ "link arg on dependency spec not readable from " "setup_dependent_package.",
+ )
def cmake(self, spec, prefix):
assert self.callback_counter == 1
@@ -93,17 +103,20 @@ class CmakeClient(CMakePackage):
check(cmake is not None, "No cmake was in environment!")
# check that which('cmake') returns the right one.
- cmake = which('cmake')
+ cmake = which("cmake")
print(cmake)
print(cmake.exe)
- check(cmake.exe[0].startswith(spec['cmake'].prefix.bin),
- "Wrong cmake was in environment: %s" % cmake)
+ check(
+ cmake.exe[0].startswith(spec["cmake"].prefix.bin),
+ "Wrong cmake was in environment: %s" % cmake,
+ )
- check(from_cmake == "from_cmake",
- "Couldn't read global set by cmake.")
+ check(from_cmake == "from_cmake", "Couldn't read global set by cmake.")
- check(os.environ['from_cmake'] == 'from_cmake',
- "Couldn't read env var set in envieonmnt by dependency")
+ check(
+ os.environ["from_cmake"] == "from_cmake",
+ "Couldn't read env var set in envieonmnt by dependency",
+ )
mkdirp(prefix.bin)
- touch(join_path(prefix.bin, 'dummy'))
+ touch(join_path(prefix.bin, "dummy"))
diff --git a/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py b/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py
index 0ce1bac894..0f7f6ba62d 100644
--- a/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py
@@ -8,5 +8,5 @@ from spack.package import *
class CmakeConditionalVariantsTest(CMakePackage):
homepage = "https://dev.null"
- version('1.0')
- variant('example', default=True, description='nope', when='@2.0:')
+ version("1.0")
+ variant("example", default=True, description="nope", when="@2.0:")
diff --git a/var/spack/repos/builtin.mock/packages/cmake/package.py b/var/spack/repos/builtin.mock/packages/cmake/package.py
index 0aa8f59087..4fe890df1a 100644
--- a/var/spack/repos/builtin.mock/packages/cmake/package.py
+++ b/var/spack/repos/builtin.mock/packages/cmake/package.py
@@ -8,7 +8,7 @@ import sys
from spack.package import *
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
def check(condition, msg):
@@ -19,22 +19,26 @@ def check(condition, msg):
class Cmake(Package):
"""A dumy package for the cmake build system."""
- homepage = 'https://www.cmake.org'
- url = 'https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('3.4.3', '4cb3ff35b2472aae70f542116d616e63',
- url='https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz')
+ homepage = "https://www.cmake.org"
+ url = "https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz"
+
+ version(
+ "3.4.3",
+ "4cb3ff35b2472aae70f542116d616e63",
+ url="https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz",
+ )
def setup_build_environment(self, env):
- spack_cc # Ensure spack module-scope variable is avaiable
- env.set('for_install', 'for_install')
+ spack_cc # Ensure spack module-scope variable is avaiable
+ env.set("for_install", "for_install")
def setup_dependent_build_environment(self, env, dependent_spec):
- spack_cc # Ensure spack module-scope variable is avaiable
- env.set('from_cmake', 'from_cmake')
+ spack_cc # Ensure spack module-scope variable is avaiable
+ env.set("from_cmake", "from_cmake")
def setup_dependent_package(self, module, dspec):
- spack_cc # Ensure spack module-scope variable is avaiable
+ spack_cc # Ensure spack module-scope variable is avaiable
self.spec.from_cmake = "from_cmake"
module.from_cmake = "from_cmake"
@@ -44,9 +48,11 @@ class Cmake(Package):
def install(self, spec, prefix):
mkdirp(prefix.bin)
- check(os.environ['for_install'] == 'for_install',
- "Couldn't read env var set in compile envieonmnt")
- cmake_exe_ext = ".exe" if is_windows else ''
- cmake_exe = join_path(prefix.bin, 'cmake{}'.format(cmake_exe_ext))
+ check(
+ os.environ["for_install"] == "for_install",
+ "Couldn't read env var set in compile envieonmnt",
+ )
+ cmake_exe_ext = ".exe" if is_windows else ""
+ cmake_exe = join_path(prefix.bin, "cmake{}".format(cmake_exe_ext))
touch(cmake_exe)
set_executable(cmake_exe)
diff --git a/var/spack/repos/builtin.mock/packages/conditional-constrained-dependencies/package.py b/var/spack/repos/builtin.mock/packages/conditional-constrained-dependencies/package.py
index 6b9d87a360..f0cc95e3ec 100644
--- a/var/spack/repos/builtin.mock/packages/conditional-constrained-dependencies/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditional-constrained-dependencies/package.py
@@ -9,11 +9,12 @@ class ConditionalConstrainedDependencies(Package):
"""Package that has a variant which adds a dependency forced to
use non default values.
"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
# This variant is on by default and attaches a dependency
# with a lot of variants set at their non-default values
- variant('dep', default=True, description='nope')
- depends_on('dep-with-variants+foo+bar+baz', when='+dep')
+ variant("dep", default=True, description="nope")
+ depends_on("dep-with-variants+foo+bar+baz", when="+dep")
diff --git a/var/spack/repos/builtin.mock/packages/conditional-provider/package.py b/var/spack/repos/builtin.mock/packages/conditional-provider/package.py
index 643944a6f7..f2cc7f12c7 100644
--- a/var/spack/repos/builtin.mock/packages/conditional-provider/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditional-provider/package.py
@@ -9,13 +9,14 @@ class ConditionalProvider(Package):
"""Mimic the real netlib-lapack, that may be built on top of an
optimized blas.
"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- variant('disable-v1', default=False, description='nope')
+ variant("disable-v1", default=False, description="nope")
- provides('v2')
- provides('v1', when='~disable-v1')
+ provides("v2")
+ provides("v1", when="~disable-v1")
- depends_on('v1', when='+disable-v1')
+ depends_on("v1", when="+disable-v1")
diff --git a/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py b/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py
index ffb4a837b5..788141565d 100644
--- a/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditional-values-in-variant/package.py
@@ -7,31 +7,34 @@ from spack.package import *
class ConditionalValuesInVariant(Package):
"""Package with conditional possible values in a variant"""
+
homepage = "https://dev.null"
- version('1.73.0')
- version('1.72.0')
- version('1.62.0')
- version('1.60.0')
- version('1.50.0')
+ version("1.73.0")
+ version("1.72.0")
+ version("1.62.0")
+ version("1.60.0")
+ version("1.50.0")
variant(
- 'cxxstd', default='98',
+ "cxxstd",
+ default="98",
values=(
- '98', '11', '14',
+ "98",
+ "11",
+ "14",
# C++17 is not supported by Boost < 1.63.0.
- conditional('17', when='@1.63.0:'),
+ conditional("17", when="@1.63.0:"),
# C++20/2a is not support by Boost < 1.73.0
- conditional('2a', when='@1.73.0:')
+ conditional("2a", when="@1.73.0:"),
),
multi=False,
- description='Use the specified C++ standard when building.',
- when='@1.60.0:'
+ description="Use the specified C++ standard when building.",
+ when="@1.60.0:",
)
variant(
- 'staging', values=any_combination_of(
- conditional('flexpath', 'dataspaces', when='@1.73.0:')
- ),
- description='Enable dataspaces and/or flexpath staging transports'
+ "staging",
+ values=any_combination_of(conditional("flexpath", "dataspaces", when="@1.73.0:")),
+ description="Enable dataspaces and/or flexpath staging transports",
)
diff --git a/var/spack/repos/builtin.mock/packages/conditional-variant-pkg/package.py b/var/spack/repos/builtin.mock/packages/conditional-variant-pkg/package.py
index 87da713d30..0d5e67e45e 100644
--- a/var/spack/repos/builtin.mock/packages/conditional-variant-pkg/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditional-variant-pkg/package.py
@@ -8,20 +8,29 @@ from spack.package import *
class ConditionalVariantPkg(Package):
"""This package is used to test conditional variants."""
- homepage = "http://www.example.com/conditional-variant-pkg"
- url = "http://www.unit-test-should-replace-this-url/conditional-variant-1.0.tar.gz"
-
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
-
- variant('version_based', default=True, when='@2.0:',
- description="Check that version constraints work")
- variant('variant_based', default=False, when='+version_based',
- description="Check that variants can depend on variants")
-
- variant('two_whens', default=False, when='@1.0')
- variant('two_whens', default=False, when='+variant_based')
+ homepage = "http://www.example.com/conditional-variant-pkg"
+ url = "http://www.unit-test-should-replace-this-url/conditional-variant-1.0.tar.gz"
+
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
+
+ variant(
+ "version_based",
+ default=True,
+ when="@2.0:",
+ description="Check that version constraints work",
+ )
+
+ variant(
+ "variant_based",
+ default=False,
+ when="+version_based",
+ description="Check that variants can depend on variants",
+ )
+
+ variant("two_whens", default=False, when="@1.0")
+ variant("two_whens", default=False, when="+variant_based")
def install(self, spec, prefix):
assert False
diff --git a/var/spack/repos/builtin.mock/packages/conditional-virtual-dependency/package.py b/var/spack/repos/builtin.mock/packages/conditional-virtual-dependency/package.py
index 65d13ba634..9d13b968ef 100644
--- a/var/spack/repos/builtin.mock/packages/conditional-virtual-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditional-virtual-dependency/package.py
@@ -7,12 +7,13 @@ from spack.package import *
class ConditionalVirtualDependency(Package):
"""Brings in a virtual dependency if certain conditions are met."""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- variant('stuff', default=True, description='nope')
- variant('mpi', default=False, description='nope')
+ variant("stuff", default=True, description="nope")
+ variant("mpi", default=False, description="nope")
- depends_on('stuff', when='+stuff')
- depends_on('mpi', when='+mpi')
+ depends_on("stuff", when="+stuff")
+ depends_on("mpi", when="+mpi")
diff --git a/var/spack/repos/builtin.mock/packages/conditionally-patch-dependency/package.py b/var/spack/repos/builtin.mock/packages/conditionally-patch-dependency/package.py
index fddb46d145..57758169d5 100644
--- a/var/spack/repos/builtin.mock/packages/conditionally-patch-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/conditionally-patch-dependency/package.py
@@ -14,6 +14,6 @@ class ConditionallyPatchDependency(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- variant('jasper', default=False)
- depends_on('libelf@0.8.10', patches=[patch('uuid.patch')], when='+jasper')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ variant("jasper", default=False)
+ depends_on("libelf@0.8.10", patches=[patch("uuid.patch")], when="+jasper")
diff --git a/var/spack/repos/builtin.mock/packages/configure-warning/package.py b/var/spack/repos/builtin.mock/packages/configure-warning/package.py
index 6c2418fe99..4108b9bd07 100644
--- a/var/spack/repos/builtin.mock/packages/configure-warning/package.py
+++ b/var/spack/repos/builtin.mock/packages/configure-warning/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class ConfigureWarning(AutotoolsPackage):
"""This package prints output that looks like an error during configure, but
- it actually installs successfully."""
+ it actually installs successfully."""
homepage = "http://www.example.com"
- url = "http://www.example.com/configure-warning-1.0.tar.gz"
+ url = "http://www.example.com/configure-warning-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
parallel = False
@@ -21,7 +21,7 @@ class ConfigureWarning(AutotoolsPackage):
pass
def configure(self, spec, prefix):
- print('foo: No such file or directory')
+ print("foo: No such file or directory")
return 0
def build(self, spec, prefix):
diff --git a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py
index be70a1dfb8..0430b69816 100644
--- a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py
+++ b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py
@@ -7,16 +7,16 @@ from spack.package import *
class ConflictParent(Package):
- homepage = 'https://github.com/tgamblin/callpath'
- url = 'http://github.com/tgamblin/callpath-1.0.tar.gz'
+ homepage = "https://github.com/tgamblin/callpath"
+ url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
- version(0.8, '0123456789abcdef0123456789abcdef')
- version(0.9, '0123456789abcdef0123456789abcdef')
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(0.8, "0123456789abcdef0123456789abcdef")
+ version(0.9, "0123456789abcdef0123456789abcdef")
+ version(1.0, "0123456789abcdef0123456789abcdef")
- depends_on('conflict')
+ depends_on("conflict")
- conflicts('^conflict~foo', when='@0.9')
+ conflicts("^conflict~foo", when="@0.9")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
@@ -24,4 +24,4 @@ class ConflictParent(Package):
make("install")
def setup_run_environment(self, env):
- env.set('FOOBAR', self.name)
+ env.set("FOOBAR", self.name)
diff --git a/var/spack/repos/builtin.mock/packages/conflict/package.py b/var/spack/repos/builtin.mock/packages/conflict/package.py
index 48981b9f65..96295c9ee6 100644
--- a/var/spack/repos/builtin.mock/packages/conflict/package.py
+++ b/var/spack/repos/builtin.mock/packages/conflict/package.py
@@ -7,16 +7,16 @@ from spack.package import *
class Conflict(Package):
- homepage = 'https://github.com/tgamblin/callpath'
- url = 'http://github.com/tgamblin/callpath-1.0.tar.gz'
+ homepage = "https://github.com/tgamblin/callpath"
+ url = "http://github.com/tgamblin/callpath-1.0.tar.gz"
- version(0.8, '0123456789abcdef0123456789abcdef')
- version(0.9, '0123456789abcdef0123456789abcdef')
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(0.8, "0123456789abcdef0123456789abcdef")
+ version(0.9, "0123456789abcdef0123456789abcdef")
+ version(1.0, "0123456789abcdef0123456789abcdef")
- variant('foo', default=True, description='')
+ variant("foo", default=True, description="")
- conflicts('%clang', when='+foo')
+ conflicts("%clang", when="+foo")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
@@ -24,4 +24,4 @@ class Conflict(Package):
make("install")
def setup_run_environment(self, env):
- env.set('FOOBAR', self.name)
+ env.set("FOOBAR", self.name)
diff --git a/var/spack/repos/builtin.mock/packages/conflicting-dependent/package.py b/var/spack/repos/builtin.mock/packages/conflicting-dependent/package.py
index d11b599191..6a307ef5e3 100644
--- a/var/spack/repos/builtin.mock/packages/conflicting-dependent/package.py
+++ b/var/spack/repos/builtin.mock/packages/conflicting-dependent/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class ConflictingDependent(Package):
"""By itself this package does not have conflicts, but it is used to
- ensure that if a user tries to build with an installed instance
- of dependency-install@2 that there is a failure."""
+ ensure that if a user tries to build with an installed instance
+ of dependency-install@2 that there is a failure."""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dependency-install@:1.0')
+ depends_on("dependency-install@:1.0")
diff --git a/var/spack/repos/builtin.mock/packages/corge/package.py b/var/spack/repos/builtin.mock/packages/corge/package.py
index 5846ce3985..c2f4d5d8fd 100644
--- a/var/spack/repos/builtin.mock/packages/corge/package.py
+++ b/var/spack/repos/builtin.mock/packages/corge/package.py
@@ -15,12 +15,12 @@ class Corge(Package):
homepage = "https://www.example.com"
has_code = False
- version('3.0.0')
+ version("3.0.0")
- depends_on('quux')
+ depends_on("quux")
def install(self, spec, prefix):
- corge_cc = '''#include <iostream>
+ corge_cc = """#include <iostream>
#include <stdexcept>
#include "corge.h"
#include "corge_version.h"
@@ -56,8 +56,8 @@ Corge::corgegate() const
return corge_version;
}
-'''
- corge_h = '''#ifndef CORGE_H_
+"""
+ corge_h = """#ifndef CORGE_H_
class Corge
{
@@ -72,12 +72,12 @@ public:
};
#endif // CORGE_H_
-'''
- corge_version_h = '''
+"""
+ corge_version_h = """
const int corge_version_major = %s;
const int corge_version_minor = %s;
-'''
- corgegator_cc = '''
+"""
+ corgegator_cc = """
#include <iostream>
#include "corge.h"
@@ -100,81 +100,120 @@ main(int argc, char* argv[])
std::cout << "done."<<std::endl;
return 0;
}
-'''
- mkdirp('%s/corge' % prefix.include)
- mkdirp('%s/corge' % self.stage.source_path)
- with open('%s/corge_version.h' % self.stage.source_path, 'w') as f:
- f.write(corge_version_h % (self.version[0], self.version[1:]))
- with open('%s/corge/corge.cc' % self.stage.source_path, 'w') as f:
+"""
+ mkdirp("%s/corge" % prefix.include)
+ mkdirp("%s/corge" % self.stage.source_path)
+ with open("%s/corge_version.h" % self.stage.source_path, "w") as f:
+ f.write(corge_version_h % (self.version[0], self.version[1:]))
+ with open("%s/corge/corge.cc" % self.stage.source_path, "w") as f:
f.write(corge_cc % prefix.config)
- with open('%s/corge/corge.h' % self.stage.source_path, 'w') as f:
+ with open("%s/corge/corge.h" % self.stage.source_path, "w") as f:
f.write(corge_h)
- with open('%s/corge/corgegator.cc' % self.stage.source_path, 'w') as f:
+ with open("%s/corge/corgegator.cc" % self.stage.source_path, "w") as f:
f.write(corgegator_cc)
- gpp = which('/usr/bin/g++')
- if sys.platform == 'darwin':
- gpp = which('/usr/bin/clang++')
- gpp('-Dcorge_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-I%s' % spec['quux'].prefix.include,
- '-I%s' % spec['garply'].prefix.include,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'corge.cc.o',
- '-c', 'corge/corge.cc')
- gpp('-Dcorge_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-I%s' % spec['quux'].prefix.include,
- '-I%s' % spec['garply'].prefix.include,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'corgegator.cc.o',
- '-c', 'corge/corgegator.cc')
- if sys.platform == 'darwin':
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-dynamiclib',
- '-install_name', '@rpath/libcorge.dylib',
- '-o', 'libcorge.dylib', 'corge.cc.o',
- '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
- '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
- '%s/libquux.dylib' % spec['quux'].prefix.lib64,
- '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'corgegator.cc.o', '-o', 'corgegator',
- '-Wl,-rpath,%s' % prefix.lib64,
- '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
- '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
- 'libcorge.dylib',
- '%s/libquux.dylib.3.0' % spec['quux'].prefix.lib64,
- '%s/libgarply.dylib.3.0' % spec['garply'].prefix.lib64)
+ gpp = which("/usr/bin/g++")
+ if sys.platform == "darwin":
+ gpp = which("/usr/bin/clang++")
+ gpp(
+ "-Dcorge_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-I%s" % spec["quux"].prefix.include,
+ "-I%s" % spec["garply"].prefix.include,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "corge.cc.o",
+ "-c",
+ "corge/corge.cc",
+ )
+ gpp(
+ "-Dcorge_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-I%s" % spec["quux"].prefix.include,
+ "-I%s" % spec["garply"].prefix.include,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "corgegator.cc.o",
+ "-c",
+ "corge/corgegator.cc",
+ )
+ if sys.platform == "darwin":
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-dynamiclib",
+ "-install_name",
+ "@rpath/libcorge.dylib",
+ "-o",
+ "libcorge.dylib",
+ "corge.cc.o",
+ "-Wl,-rpath,%s" % spec["quux"].prefix.lib64,
+ "-Wl,-rpath,%s" % spec["garply"].prefix.lib64,
+ "%s/libquux.dylib" % spec["quux"].prefix.lib64,
+ "%s/libgarply.dylib" % spec["garply"].prefix.lib64,
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-rdynamic",
+ "corgegator.cc.o",
+ "-o",
+ "corgegator",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "-Wl,-rpath,%s" % spec["quux"].prefix.lib64,
+ "-Wl,-rpath,%s" % spec["garply"].prefix.lib64,
+ "libcorge.dylib",
+ "%s/libquux.dylib.3.0" % spec["quux"].prefix.lib64,
+ "%s/libgarply.dylib.3.0" % spec["garply"].prefix.lib64,
+ )
mkdirp(prefix.lib64)
- copy('libcorge.dylib', '%s/libcorge.dylib' % prefix.lib64)
- os.link('%s/libcorge.dylib' % prefix.lib64,
- '%s/libcorge.dylib.3.0' % prefix.lib64)
+ copy("libcorge.dylib", "%s/libcorge.dylib" % prefix.lib64)
+ os.link("%s/libcorge.dylib" % prefix.lib64, "%s/libcorge.dylib.3.0" % prefix.lib64)
else:
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libcorge.so', '-o', 'libcorge.so', 'corge.cc.o',
- '-Wl,-rpath,%s:%s::::' %
- (spec['quux'].prefix.lib64, spec['garply'].prefix.lib64),
- '%s/libquux.so' % spec['quux'].prefix.lib64,
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'corgegator.cc.o', '-o', 'corgegator',
- '-Wl,-rpath,%s' % prefix.lib64,
- '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
- '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
- 'libcorge.so',
- '%s/libquux.so.3.0' % spec['quux'].prefix.lib64,
- '%s/libgarply.so.3.0' % spec['garply'].prefix.lib64)
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-shared",
+ "-Wl,-soname,libcorge.so",
+ "-o",
+ "libcorge.so",
+ "corge.cc.o",
+ "-Wl,-rpath,%s:%s::::" % (spec["quux"].prefix.lib64, spec["garply"].prefix.lib64),
+ "%s/libquux.so" % spec["quux"].prefix.lib64,
+ "%s/libgarply.so" % spec["garply"].prefix.lib64,
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-rdynamic",
+ "corgegator.cc.o",
+ "-o",
+ "corgegator",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "-Wl,-rpath,%s" % spec["quux"].prefix.lib64,
+ "-Wl,-rpath,%s" % spec["garply"].prefix.lib64,
+ "libcorge.so",
+ "%s/libquux.so.3.0" % spec["quux"].prefix.lib64,
+ "%s/libgarply.so.3.0" % spec["garply"].prefix.lib64,
+ )
mkdirp(prefix.lib64)
- copy('libcorge.so', '%s/libcorge.so' % prefix.lib64)
- os.link('%s/libcorge.so' % prefix.lib64,
- '%s/libcorge.so.3.0' % prefix.lib64)
- copy('corgegator', '%s/corgegator' % prefix.lib64)
- copy('%s/corge/corge.h' % self.stage.source_path,
- '%s/corge/corge.h' % prefix.include)
+ copy("libcorge.so", "%s/libcorge.so" % prefix.lib64)
+ os.link("%s/libcorge.so" % prefix.lib64, "%s/libcorge.so.3.0" % prefix.lib64)
+ copy("corgegator", "%s/corgegator" % prefix.lib64)
+ copy("%s/corge/corge.h" % self.stage.source_path, "%s/corge/corge.h" % prefix.include)
mkdirp(prefix.bin)
- copy('corge_version.h', '%s/corge_version.h' % prefix.bin)
- os.symlink('%s/corgegator' % prefix.lib64,
- '%s/corgegator' % prefix.bin)
- os.symlink('%s/quuxifier' % spec['quux'].prefix.lib64,
- '%s/quuxifier' % prefix.bin)
- os.symlink('%s/garplinator' % spec['garply'].prefix.lib64,
- '%s/garplinator' % prefix.bin)
+ copy("corge_version.h", "%s/corge_version.h" % prefix.bin)
+ os.symlink("%s/corgegator" % prefix.lib64, "%s/corgegator" % prefix.bin)
+ os.symlink("%s/quuxifier" % spec["quux"].prefix.lib64, "%s/quuxifier" % prefix.bin)
+ os.symlink("%s/garplinator" % spec["garply"].prefix.lib64, "%s/garplinator" % prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/cumulative-vrange-bottom/package.py b/var/spack/repos/builtin.mock/packages/cumulative-vrange-bottom/package.py
index c546fbb127..26dbc6d7a6 100644
--- a/var/spack/repos/builtin.mock/packages/cumulative-vrange-bottom/package.py
+++ b/var/spack/repos/builtin.mock/packages/cumulative-vrange-bottom/package.py
@@ -10,10 +10,11 @@ class CumulativeVrangeBottom(Package):
form X.Y:X works and allows for the selection of all the
versions >= X.Y with major == X
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('3.0', '4cb3ff35b2472aae70f542116d616e63')
- version('2.2', '4cb3ff35b2472aae70f542116d616e63')
- version('2.1', '4cb3ff35b2472aae70f542116d616e63')
- version('2.0', '4cb3ff35b2472aae70f542116d616e63')
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
+
+ version("3.0", "4cb3ff35b2472aae70f542116d616e63")
+ version("2.2", "4cb3ff35b2472aae70f542116d616e63")
+ version("2.1", "4cb3ff35b2472aae70f542116d616e63")
+ version("2.0", "4cb3ff35b2472aae70f542116d616e63")
diff --git a/var/spack/repos/builtin.mock/packages/cumulative-vrange-middle/package.py b/var/spack/repos/builtin.mock/packages/cumulative-vrange-middle/package.py
index 1eaeea3c7b..d0b92cffa9 100644
--- a/var/spack/repos/builtin.mock/packages/cumulative-vrange-middle/package.py
+++ b/var/spack/repos/builtin.mock/packages/cumulative-vrange-middle/package.py
@@ -10,9 +10,10 @@ class CumulativeVrangeMiddle(Package):
form X.Y:X works and allows for the selection of all the
versions >= X.Y with major == X
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- depends_on('cumulative-vrange-bottom@2.1:')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
+
+ depends_on("cumulative-vrange-bottom@2.1:")
diff --git a/var/spack/repos/builtin.mock/packages/cumulative-vrange-root/package.py b/var/spack/repos/builtin.mock/packages/cumulative-vrange-root/package.py
index 37e138bf6b..81d1ebdb60 100644
--- a/var/spack/repos/builtin.mock/packages/cumulative-vrange-root/package.py
+++ b/var/spack/repos/builtin.mock/packages/cumulative-vrange-root/package.py
@@ -10,10 +10,11 @@ class CumulativeVrangeRoot(Package):
form X.Y:X works and allows for the selection of all the
versions >= X.Y with major == X
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- depends_on('cumulative-vrange-middle')
- depends_on('cumulative-vrange-bottom@:2')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
+
+ depends_on("cumulative-vrange-middle")
+ depends_on("cumulative-vrange-bottom@:2")
diff --git a/var/spack/repos/builtin.mock/packages/cvs-test/package.py b/var/spack/repos/builtin.mock/packages/cvs-test/package.py
index 85e8a5e888..790e75f586 100644
--- a/var/spack/repos/builtin.mock/packages/cvs-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/cvs-test/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class CvsTest(Package):
"""Mock package that uses cvs for fetching."""
+
homepage = "http://www.cvs-fetch-example.com"
- version('cvs', cvs='to-be-filled-in-by-test')
+ version("cvs", cvs="to-be-filled-in-by-test")
diff --git a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid1/package.py b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid1/package.py
index 2639e7aeac..ad2ef6bb27 100644
--- a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid1/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid1/package.py
@@ -21,7 +21,7 @@ X Y
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# single patch file in repo
- depends_on('patch', patches='mid1.patch')
+ depends_on("patch", patches="mid1.patch")
diff --git a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid2/package.py b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid2/package.py
index 148ebd477e..3a4fc2cdf1 100644
--- a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid2/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-mid2/package.py
@@ -21,10 +21,15 @@ X Y
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# single patch file in repo
- depends_on('patch', patches=[
- patch('http://example.com/urlpatch.patch',
- sha256='mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234'),
- ])
+ depends_on(
+ "patch",
+ patches=[
+ patch(
+ "http://example.com/urlpatch.patch",
+ sha256="mid21234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ ),
+ ],
+ )
diff --git a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-top/package.py b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-top/package.py
index 43de59c8ca..de89121bdb 100644
--- a/var/spack/repos/builtin.mock/packages/dep-diamond-patch-top/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-diamond-patch-top/package.py
@@ -21,9 +21,9 @@ X Y
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# single patch file in repo
- depends_on('patch', patches='top.patch')
- depends_on('dep-diamond-patch-mid1')
- depends_on('dep-diamond-patch-mid2')
+ depends_on("patch", patches="top.patch")
+ depends_on("dep-diamond-patch-mid1")
+ depends_on("dep-diamond-patch-mid2")
diff --git a/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop-root/package.py b/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop-root/package.py
index b3d15c2bc0..c4b937dd6e 100644
--- a/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop-root/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop-root/package.py
@@ -7,8 +7,9 @@ from spack.package import *
class DepWithVariantsIfDevelopRoot(Package):
"""Package that adds a dependency with many variants only at @develop"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- depends_on('dep-with-variants-if-develop')
+ depends_on("dep-with-variants-if-develop")
diff --git a/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop/package.py b/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop/package.py
index 756350dcc1..d5673ad478 100644
--- a/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-with-variants-if-develop/package.py
@@ -7,9 +7,10 @@ from spack.package import *
class DepWithVariantsIfDevelop(Package):
"""Package that adds a dependency with many variants only at @develop"""
+
homepage = "https://dev.null"
- version('develop')
- version('1.0')
+ version("develop")
+ version("1.0")
- depends_on('dep-with-variants', when='@develop')
+ depends_on("dep-with-variants", when="@develop")
diff --git a/var/spack/repos/builtin.mock/packages/dep-with-variants/package.py b/var/spack/repos/builtin.mock/packages/dep-with-variants/package.py
index dd28b07eaa..4641e92791 100644
--- a/var/spack/repos/builtin.mock/packages/dep-with-variants/package.py
+++ b/var/spack/repos/builtin.mock/packages/dep-with-variants/package.py
@@ -9,10 +9,11 @@ class DepWithVariants(Package):
"""Package that has a variant which adds a dependency forced to
use non default values.
"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- variant('foo', default=False, description='nope')
- variant('bar', default=False, description='nope')
- variant('baz', default=False, description='nope')
+ variant("foo", default=False, description="nope")
+ variant("bar", default=False, description="nope")
+ variant("baz", default=False, description="nope")
diff --git a/var/spack/repos/builtin.mock/packages/depb/package.py b/var/spack/repos/builtin.mock/packages/depb/package.py
index ea361f1f7a..f20780a84c 100644
--- a/var/spack/repos/builtin.mock/packages/depb/package.py
+++ b/var/spack/repos/builtin.mock/packages/depb/package.py
@@ -10,11 +10,11 @@ class Depb(AutotoolsPackage):
"""Simple package with one build dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('b')
+ depends_on("b")
def install(self, spec, prefix):
# sanity_check_prefix requires something in the install directory
diff --git a/var/spack/repos/builtin.mock/packages/dependency-install/package.py b/var/spack/repos/builtin.mock/packages/dependency-install/package.py
index 20c1fcd911..76294ab606 100644
--- a/var/spack/repos/builtin.mock/packages/dependency-install/package.py
+++ b/var/spack/repos/builtin.mock/packages/dependency-install/package.py
@@ -10,10 +10,10 @@ class DependencyInstall(Package):
"""Dependency which has a working install method"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
def install(self, spec, prefix):
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/dependent-install/package.py b/var/spack/repos/builtin.mock/packages/dependent-install/package.py
index 9c4308cfb8..05c7123e61 100644
--- a/var/spack/repos/builtin.mock/packages/dependent-install/package.py
+++ b/var/spack/repos/builtin.mock/packages/dependent-install/package.py
@@ -10,13 +10,13 @@ class DependentInstall(Package):
"""Dependent which has a working install method"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "0123456789abcdef0123456789abcdef")
- depends_on('dependency-install@2.0', when='@2.0')
- depends_on('dependency-install@1.0', when='@1.0')
+ depends_on("dependency-install@2.0", when="@2.0")
+ depends_on("dependency-install@1.0", when="@1.0")
def install(self, spec, prefix):
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/dependent-of-dev-build/package.py b/var/spack/repos/builtin.mock/packages/dependent-of-dev-build/package.py
index 4706d439b8..35c9a1a708 100644
--- a/var/spack/repos/builtin.mock/packages/dependent-of-dev-build/package.py
+++ b/var/spack/repos/builtin.mock/packages/dependent-of-dev-build/package.py
@@ -11,10 +11,10 @@ class DependentOfDevBuild(Package):
homepage = "example.com"
url = "fake.com"
- version('0.0.0', sha256='0123456789abcdef0123456789abcdef')
+ version("0.0.0", sha256="0123456789abcdef0123456789abcdef")
- depends_on('dev-build-test-install')
+ depends_on("dev-build-test-install")
def install(self, spec, prefix):
- with open(prefix.filename, 'w') as f:
+ with open(prefix.filename, "w") as f:
f.write("This file is installed")
diff --git a/var/spack/repos/builtin.mock/packages/depends-on-openmpi/package.py b/var/spack/repos/builtin.mock/packages/depends-on-openmpi/package.py
index 94cb686cad..150e4b6df0 100644
--- a/var/spack/repos/builtin.mock/packages/depends-on-openmpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/depends-on-openmpi/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class DependsOnOpenmpi(Package):
"""For testing concretization of packages that use
- `spack external read-cray-manifest`"""
+ `spack external read-cray-manifest`"""
- depends_on('openmpi')
+ depends_on("openmpi")
- version('1.0')
- version('0.9')
+ version("1.0")
+ version("0.9")
diff --git a/var/spack/repos/builtin.mock/packages/depends-on-run-env/package.py b/var/spack/repos/builtin.mock/packages/depends-on-run-env/package.py
index 0ca9fb2cfa..1433092eb0 100644
--- a/var/spack/repos/builtin.mock/packages/depends-on-run-env/package.py
+++ b/var/spack/repos/builtin.mock/packages/depends-on-run-env/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class DependsOnRunEnv(Package):
"""This package has a runtime dependency on another package which needs
- to perform shell modifications to run.
+ to perform shell modifications to run.
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('modifies-run-env', type=('run',))
+ depends_on("modifies-run-env", type=("run",))
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/deprecated-versions/package.py b/var/spack/repos/builtin.mock/packages/deprecated-versions/package.py
index 2480651b2d..bc78301597 100644
--- a/var/spack/repos/builtin.mock/packages/deprecated-versions/package.py
+++ b/var/spack/repos/builtin.mock/packages/deprecated-versions/package.py
@@ -11,5 +11,5 @@ class DeprecatedVersions(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/c-1.0.tar.gz"
- version('1.1.0', '0123456789abcdef0123456789abcdef', deprecated=True)
- version('1.0.0', '0123456789abcdef0123456789abcdef')
+ version("1.1.0", "0123456789abcdef0123456789abcdef", deprecated=True)
+ version("1.0.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dev-build-test-dependent/package.py b/var/spack/repos/builtin.mock/packages/dev-build-test-dependent/package.py
index 8260b23362..44374cd1a7 100644
--- a/var/spack/repos/builtin.mock/packages/dev-build-test-dependent/package.py
+++ b/var/spack/repos/builtin.mock/packages/dev-build-test-dependent/package.py
@@ -11,18 +11,18 @@ class DevBuildTestDependent(Package):
homepage = "example.com"
url = "fake.com"
- version('0.0.0', sha256='0123456789abcdef0123456789abcdef')
+ version("0.0.0", sha256="0123456789abcdef0123456789abcdef")
- phases = ['edit', 'install']
+ phases = ["edit", "install"]
- filename = 'dev-build-test-file.txt'
+ filename = "dev-build-test-file.txt"
original_string = "This file should be edited"
replacement_string = "This file has been edited"
- depends_on('dev-build-test-install')
+ depends_on("dev-build-test-install")
def edit(self, spec, prefix):
- with open(self.filename, 'r+') as f:
+ with open(self.filename, "r+") as f:
assert f.read() == self.original_string
f.seek(0)
f.truncate()
diff --git a/var/spack/repos/builtin.mock/packages/dev-build-test-install-phases/package.py b/var/spack/repos/builtin.mock/packages/dev-build-test-install-phases/package.py
index 4d5b731415..fa0f6b794e 100644
--- a/var/spack/repos/builtin.mock/packages/dev-build-test-install-phases/package.py
+++ b/var/spack/repos/builtin.mock/packages/dev-build-test-install-phases/package.py
@@ -12,9 +12,9 @@ class DevBuildTestInstallPhases(Package):
homepage = "example.com"
url = "fake.com"
- version('0.0.0', sha256='0123456789abcdef0123456789abcdef')
+ version("0.0.0", sha256="0123456789abcdef0123456789abcdef")
- phases = ['one', 'two', 'three', 'install']
+ phases = ["one", "two", "three", "install"]
def one(self, spec, prefix):
sleep(1)
diff --git a/var/spack/repos/builtin.mock/packages/dev-build-test-install/package.py b/var/spack/repos/builtin.mock/packages/dev-build-test-install/package.py
index f21c5ca085..185fe5552c 100644
--- a/var/spack/repos/builtin.mock/packages/dev-build-test-install/package.py
+++ b/var/spack/repos/builtin.mock/packages/dev-build-test-install/package.py
@@ -11,16 +11,16 @@ class DevBuildTestInstall(Package):
homepage = "example.com"
url = "fake.com"
- version('0.0.0', sha256='0123456789abcdef0123456789abcdef')
+ version("0.0.0", sha256="0123456789abcdef0123456789abcdef")
- phases = ['edit', 'install']
+ phases = ["edit", "install"]
- filename = 'dev-build-test-file.txt'
+ filename = "dev-build-test-file.txt"
original_string = "This file should be edited"
replacement_string = "This file has been edited"
def edit(self, spec, prefix):
- with open(self.filename, 'r+') as f:
+ with open(self.filename, "r+") as f:
assert f.read() == self.original_string
f.seek(0)
f.truncate()
diff --git a/var/spack/repos/builtin.mock/packages/develop-test/package.py b/var/spack/repos/builtin.mock/packages/develop-test/package.py
index 2067b9a22f..2ce2ed742d 100644
--- a/var/spack/repos/builtin.mock/packages/develop-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/develop-test/package.py
@@ -8,8 +8,9 @@ from spack.package import *
class DevelopTest(Package):
"""Dummy package with develop version"""
+
homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
- version('develop', git='https://github.com/dummy/repo.git')
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version("develop", git="https://github.com/dummy/repo.git")
+ version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9")
diff --git a/var/spack/repos/builtin.mock/packages/develop-test2/package.py b/var/spack/repos/builtin.mock/packages/develop-test2/package.py
index 33d604ab7f..40fd7fde44 100644
--- a/var/spack/repos/builtin.mock/packages/develop-test2/package.py
+++ b/var/spack/repos/builtin.mock/packages/develop-test2/package.py
@@ -8,8 +8,9 @@ from spack.package import *
class DevelopTest2(Package):
"""Dummy package with develop version"""
+
homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
- version('0.2.15.develop', git='https://github.com/dummy/repo.git')
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version("0.2.15.develop", git="https://github.com/dummy/repo.git")
+ version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9")
diff --git a/var/spack/repos/builtin.mock/packages/direct-mpich/package.py b/var/spack/repos/builtin.mock/packages/direct-mpich/package.py
index 7b5964fb43..9c0b89eea5 100644
--- a/var/spack/repos/builtin.mock/packages/direct-mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/direct-mpich/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class DirectMpich(Package):
homepage = "http://www.example.com"
- url = "http://www.example.com/direct_mpich-1.0.tar.gz"
+ url = "http://www.example.com/direct_mpich-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('mpich')
+ depends_on("mpich")
diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py
index 7f04f20d5e..9f0a4a486f 100644
--- a/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py
+++ b/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py
@@ -8,7 +8,8 @@ from spack.package import *
class DtDiamondBottom(Package):
"""This package has an indirect diamond dependency on dt-diamond-bottom"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-bottom-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py
index 3c3ec9401e..2e1e0ae2fa 100644
--- a/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py
+++ b/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class DtDiamondLeft(Package):
"""This package has an indirect diamond dependency on dt-diamond-bottom"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-left-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dt-diamond-bottom', type='build')
+ depends_on("dt-diamond-bottom", type="build")
diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py
index 8fe65f0219..de7a692cda 100644
--- a/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py
+++ b/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class DtDiamondRight(Package):
"""This package has an indirect diamond dependency on dt-diamond-bottom"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-right-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dt-diamond-bottom', type=('build', 'link', 'run'))
+ depends_on("dt-diamond-bottom", type=("build", "link", "run"))
diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond/package.py
index ef7287bc6a..b4324fc38f 100644
--- a/var/spack/repos/builtin.mock/packages/dt-diamond/package.py
+++ b/var/spack/repos/builtin.mock/packages/dt-diamond/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class DtDiamond(Package):
"""This package has an indirect diamond dependency on dt-diamond-bottom"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/dt-diamond-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dt-diamond-left')
- depends_on('dt-diamond-right')
+ depends_on("dt-diamond-left")
+ depends_on("dt-diamond-right")
diff --git a/var/spack/repos/builtin.mock/packages/dtbuild1/package.py b/var/spack/repos/builtin.mock/packages/dtbuild1/package.py
index c08a9accc4..ab77a38440 100644
--- a/var/spack/repos/builtin.mock/packages/dtbuild1/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtbuild1/package.py
@@ -13,9 +13,9 @@ class Dtbuild1(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild1-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('0.5', 'fedcba9876543210fedcba9876543210')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("0.5", "fedcba9876543210fedcba9876543210")
- depends_on('dtbuild2', type='build')
- depends_on('dtlink2')
- depends_on('dtrun2', type='run')
+ depends_on("dtbuild2", type="build")
+ depends_on("dtlink2")
+ depends_on("dtrun2", type="run")
diff --git a/var/spack/repos/builtin.mock/packages/dtbuild2/package.py b/var/spack/repos/builtin.mock/packages/dtbuild2/package.py
index 4991861202..192ea92abc 100644
--- a/var/spack/repos/builtin.mock/packages/dtbuild2/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtbuild2/package.py
@@ -12,4 +12,4 @@ class Dtbuild2(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild2-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtbuild3/package.py b/var/spack/repos/builtin.mock/packages/dtbuild3/package.py
index 31c7a739af..155d411bc4 100644
--- a/var/spack/repos/builtin.mock/packages/dtbuild3/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtbuild3/package.py
@@ -12,4 +12,4 @@ class Dtbuild3(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtbuild3-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtlink1/package.py b/var/spack/repos/builtin.mock/packages/dtlink1/package.py
index 2b0be1ebdc..64164e45f5 100644
--- a/var/spack/repos/builtin.mock/packages/dtlink1/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtlink1/package.py
@@ -12,6 +12,6 @@ class Dtlink1(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink1-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dtlink3')
+ depends_on("dtlink3")
diff --git a/var/spack/repos/builtin.mock/packages/dtlink2/package.py b/var/spack/repos/builtin.mock/packages/dtlink2/package.py
index 116b0f4fbd..1debd73a1a 100644
--- a/var/spack/repos/builtin.mock/packages/dtlink2/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtlink2/package.py
@@ -12,4 +12,4 @@ class Dtlink2(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink2-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtlink3/package.py b/var/spack/repos/builtin.mock/packages/dtlink3/package.py
index 2784ee04b9..e971ba4fdb 100644
--- a/var/spack/repos/builtin.mock/packages/dtlink3/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtlink3/package.py
@@ -12,7 +12,7 @@ class Dtlink3(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink3-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dtbuild2', type='build')
- depends_on('dtlink4')
+ depends_on("dtbuild2", type="build")
+ depends_on("dtlink4")
diff --git a/var/spack/repos/builtin.mock/packages/dtlink4/package.py b/var/spack/repos/builtin.mock/packages/dtlink4/package.py
index ee3d94de82..68d0e8dec2 100644
--- a/var/spack/repos/builtin.mock/packages/dtlink4/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtlink4/package.py
@@ -12,4 +12,4 @@ class Dtlink4(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink4-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtlink5/package.py b/var/spack/repos/builtin.mock/packages/dtlink5/package.py
index 7ceaeb9a9c..95222e8a55 100644
--- a/var/spack/repos/builtin.mock/packages/dtlink5/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtlink5/package.py
@@ -12,4 +12,4 @@ class Dtlink5(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtlink5-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtrun1/package.py b/var/spack/repos/builtin.mock/packages/dtrun1/package.py
index 2ac34a7b90..10ab104537 100644
--- a/var/spack/repos/builtin.mock/packages/dtrun1/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtrun1/package.py
@@ -12,7 +12,7 @@ class Dtrun1(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun1-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dtlink5')
- depends_on('dtrun3', type='run')
+ depends_on("dtlink5")
+ depends_on("dtrun3", type="run")
diff --git a/var/spack/repos/builtin.mock/packages/dtrun2/package.py b/var/spack/repos/builtin.mock/packages/dtrun2/package.py
index 4b8698fe92..e7c2ac72a5 100644
--- a/var/spack/repos/builtin.mock/packages/dtrun2/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtrun2/package.py
@@ -12,4 +12,4 @@ class Dtrun2(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun2-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/dtrun3/package.py b/var/spack/repos/builtin.mock/packages/dtrun3/package.py
index 99a6121376..69c5fe2cb3 100644
--- a/var/spack/repos/builtin.mock/packages/dtrun3/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtrun3/package.py
@@ -12,6 +12,6 @@ class Dtrun3(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtrun3-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dtbuild3', type='build')
+ depends_on("dtbuild3", type="build")
diff --git a/var/spack/repos/builtin.mock/packages/dttop/package.py b/var/spack/repos/builtin.mock/packages/dttop/package.py
index a238d17b6a..482bb3222f 100644
--- a/var/spack/repos/builtin.mock/packages/dttop/package.py
+++ b/var/spack/repos/builtin.mock/packages/dttop/package.py
@@ -12,8 +12,8 @@ class Dttop(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dttop-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dtbuild1', type='build')
- depends_on('dtlink1')
- depends_on('dtrun1', type='run')
+ depends_on("dtbuild1", type="build")
+ depends_on("dtlink1")
+ depends_on("dtrun1", type="run")
diff --git a/var/spack/repos/builtin.mock/packages/dtuse/package.py b/var/spack/repos/builtin.mock/packages/dtuse/package.py
index 847d4dfff9..63b2df52e9 100644
--- a/var/spack/repos/builtin.mock/packages/dtuse/package.py
+++ b/var/spack/repos/builtin.mock/packages/dtuse/package.py
@@ -12,6 +12,6 @@ class Dtuse(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/dtuse-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dttop')
+ depends_on("dttop")
diff --git a/var/spack/repos/builtin.mock/packages/dyninst/package.py b/var/spack/repos/builtin.mock/packages/dyninst/package.py
index 70bc106c3c..a8a75e9b23 100644
--- a/var/spack/repos/builtin.mock/packages/dyninst/package.py
+++ b/var/spack/repos/builtin.mock/packages/dyninst/package.py
@@ -8,14 +8,23 @@ from spack.package import *
class Dyninst(Package):
homepage = "https://paradyn.org"
- url = "http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz"
+ url = "http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz"
- version('8.2', '0123456789abcdef0123456789abcdef',
- url='http://www.paradyn.org/release8.2/DyninstAPI-8.2.tgz')
- version('8.1.2', 'fedcba9876543210fedcba9876543210',
- url='http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz')
- version('8.1.1', '123456789abcdef0123456789abcdef0',
- url='http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz')
+ version(
+ "8.2",
+ "0123456789abcdef0123456789abcdef",
+ url="http://www.paradyn.org/release8.2/DyninstAPI-8.2.tgz",
+ )
+ version(
+ "8.1.2",
+ "fedcba9876543210fedcba9876543210",
+ url="http://www.paradyn.org/release8.1.2/DyninstAPI-8.1.2.tgz",
+ )
+ version(
+ "8.1.1",
+ "123456789abcdef0123456789abcdef0",
+ url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz",
+ )
depends_on("libelf")
depends_on("libdwarf")
diff --git a/var/spack/repos/builtin.mock/packages/e/package.py b/var/spack/repos/builtin.mock/packages/e/package.py
index 36d7cf1b4c..d3fc99e651 100644
--- a/var/spack/repos/builtin.mock/packages/e/package.py
+++ b/var/spack/repos/builtin.mock/packages/e/package.py
@@ -10,6 +10,6 @@ class E(Package):
"""Simple package with no dependencies"""
homepage = "http://www.example.com"
- url = "http://www.example.com/e-1.0.tar.gz"
+ url = "http://www.example.com/e-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/ecp-viz-sdk/package.py b/var/spack/repos/builtin.mock/packages/ecp-viz-sdk/package.py
index 72ef2afd8b..ac51898582 100644
--- a/var/spack/repos/builtin.mock/packages/ecp-viz-sdk/package.py
+++ b/var/spack/repos/builtin.mock/packages/ecp-viz-sdk/package.py
@@ -10,8 +10,9 @@ class EcpVizSdk(Package):
adds a transitive dependency forced to use non default
values.
"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- depends_on('conditional-constrained-dependencies')
+ depends_on("conditional-constrained-dependencies")
diff --git a/var/spack/repos/builtin.mock/packages/extendee/package.py b/var/spack/repos/builtin.mock/packages/extendee/package.py
index 9d0ab197de..d5d7beec87 100644
--- a/var/spack/repos/builtin.mock/packages/extendee/package.py
+++ b/var/spack/repos/builtin.mock/packages/extendee/package.py
@@ -10,11 +10,11 @@ class Extendee(Package):
"""A package with extensions"""
homepage = "http://www.example.com"
- url = "http://www.example.com/extendee-1.0.tar.gz"
+ url = "http://www.example.com/extendee-1.0.tar.gz"
extendable = True
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/extends-spec/package.py b/var/spack/repos/builtin.mock/packages/extends-spec/package.py
index bd443cba4c..bba5b6c512 100644
--- a/var/spack/repos/builtin.mock/packages/extends-spec/package.py
+++ b/var/spack/repos/builtin.mock/packages/extends-spec/package.py
@@ -12,6 +12,6 @@ class ExtendsSpec(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- extends('extendee@1:')
+ extends("extendee@1:")
diff --git a/var/spack/repos/builtin.mock/packages/extension1/package.py b/var/spack/repos/builtin.mock/packages/extension1/package.py
index c5c08eb32d..5b8ea74afe 100644
--- a/var/spack/repos/builtin.mock/packages/extension1/package.py
+++ b/var/spack/repos/builtin.mock/packages/extension1/package.py
@@ -12,14 +12,14 @@ class Extension1(Package):
"""A package which extends another package"""
homepage = "http://www.example.com"
- url = "http://www.example.com/extension1-1.0.tar.gz"
+ url = "http://www.example.com/extension1-1.0.tar.gz"
- extends('extendee')
+ extends("extendee")
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with open(os.path.join(prefix.bin, 'extension1'), 'w+') as fout:
+ with open(os.path.join(prefix.bin, "extension1"), "w+") as fout:
fout.write(str(spec.version))
diff --git a/var/spack/repos/builtin.mock/packages/extension2/package.py b/var/spack/repos/builtin.mock/packages/extension2/package.py
index 43e14b6ce0..ec34a4db0f 100644
--- a/var/spack/repos/builtin.mock/packages/extension2/package.py
+++ b/var/spack/repos/builtin.mock/packages/extension2/package.py
@@ -10,17 +10,17 @@ from spack.package import *
class Extension2(Package):
"""A package which extends another package. It also depends on another
- package which extends the same package."""
+ package which extends the same package."""
homepage = "http://www.example.com"
- url = "http://www.example.com/extension2-1.0.tar.gz"
+ url = "http://www.example.com/extension2-1.0.tar.gz"
- extends('extendee')
- depends_on('extension1', type=('build', 'run'))
+ extends("extendee")
+ depends_on("extension1", type=("build", "run"))
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with open(os.path.join(prefix.bin, 'extension2'), 'w+') as fout:
+ with open(os.path.join(prefix.bin, "extension2"), "w+") as fout:
fout.write(str(spec.version))
diff --git a/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py b/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py
index eecf3b975e..66a35cba0d 100644
--- a/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-buildable-with-variant/package.py
@@ -10,9 +10,9 @@ class ExternalBuildableWithVariant(Package):
homepage = "http://somewhere.com"
url = "http://somewhere.com/module-1.0.tar.gz"
- version('1.0', '1234567890abcdef1234567890abcdef')
- version('0.9', '1234567890abcdef1234567890abcdef')
+ version("1.0", "1234567890abcdef1234567890abcdef")
+ version("0.9", "1234567890abcdef1234567890abcdef")
- variant('baz', default=False, description='nope')
+ variant("baz", default=False, description="nope")
- depends_on('c@1.0', when='@0.9')
+ depends_on("c@1.0", when="@0.9")
diff --git a/var/spack/repos/builtin.mock/packages/external-common-gdbm/package.py b/var/spack/repos/builtin.mock/packages/external-common-gdbm/package.py
index ae67a75b8a..a14ea6fd89 100644
--- a/var/spack/repos/builtin.mock/packages/external-common-gdbm/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-common-gdbm/package.py
@@ -8,6 +8,6 @@ from spack.package import *
class ExternalCommonGdbm(Package):
homepage = "http://www.gnu.org.ua/software/gdbm/gdbm.html"
- url = "https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz"
+ url = "https://ftpmirror.gnu.org/gdbm/gdbm-1.18.1.tar.gz"
- version('1.18.1', 'be78e48cdfc1a7ad90efff146dce6cfe')
+ version("1.18.1", "be78e48cdfc1a7ad90efff146dce6cfe")
diff --git a/var/spack/repos/builtin.mock/packages/external-common-openssl/package.py b/var/spack/repos/builtin.mock/packages/external-common-openssl/package.py
index cd63be42a0..f4ac3d8c7f 100644
--- a/var/spack/repos/builtin.mock/packages/external-common-openssl/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-common-openssl/package.py
@@ -8,7 +8,7 @@ from spack.package import *
class ExternalCommonOpenssl(Package):
homepage = "http://www.openssl.org"
- url = "http://www.openssl.org/source/openssl-1.1.1i.tar.gz"
+ url = "http://www.openssl.org/source/openssl-1.1.1i.tar.gz"
- version('1.1.1i', 'be78e48cdfc1a7ad90efff146dce6cfe')
- depends_on('external-common-perl')
+ version("1.1.1i", "be78e48cdfc1a7ad90efff146dce6cfe")
+ depends_on("external-common-perl")
diff --git a/var/spack/repos/builtin.mock/packages/external-common-perl/package.py b/var/spack/repos/builtin.mock/packages/external-common-perl/package.py
index fe8e664bfd..9189a2d8a2 100644
--- a/var/spack/repos/builtin.mock/packages/external-common-perl/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-common-perl/package.py
@@ -8,7 +8,7 @@ from spack.package import *
class ExternalCommonPerl(Package):
homepage = "http://www.perl.org"
- url = "http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz"
+ url = "http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz"
- version('5.32.0', 'be78e48cdfc1a7ad90efff146dce6cfe')
- depends_on('external-common-gdbm')
+ version("5.32.0", "be78e48cdfc1a7ad90efff146dce6cfe")
+ depends_on("external-common-gdbm")
diff --git a/var/spack/repos/builtin.mock/packages/external-common-python/package.py b/var/spack/repos/builtin.mock/packages/external-common-python/package.py
index 643a50825a..e02fc07c51 100644
--- a/var/spack/repos/builtin.mock/packages/external-common-python/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-common-python/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class ExternalCommonPython(Package):
homepage = "http://www.python.org"
- url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
+ url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
- version('3.8.7', 'be78e48cdfc1a7ad90efff146dce6cfe')
- depends_on('external-common-openssl')
- depends_on('external-common-gdbm')
+ version("3.8.7", "be78e48cdfc1a7ad90efff146dce6cfe")
+ depends_on("external-common-openssl")
+ depends_on("external-common-gdbm")
diff --git a/var/spack/repos/builtin.mock/packages/external-non-default-variant/package.py b/var/spack/repos/builtin.mock/packages/external-non-default-variant/package.py
index 8995498d84..0fcff8c5cd 100644
--- a/var/spack/repos/builtin.mock/packages/external-non-default-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/external-non-default-variant/package.py
@@ -7,10 +7,11 @@ from spack.package import *
class ExternalNonDefaultVariant(Package):
"""An external that is registered with a non-default value"""
+
homepage = "http://www.python.org"
url = "http://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz"
- version('3.8.7', 'be78e48cdfc1a7ad90efff146dce6cfe')
+ version("3.8.7", "be78e48cdfc1a7ad90efff146dce6cfe")
- variant('foo', default=True, description='just a variant')
- variant('bar', default=True, description='just a variant')
+ variant("foo", default=True, description="just a variant")
+ variant("bar", default=True, description="just a variant")
diff --git a/var/spack/repos/builtin.mock/packages/externalmodule/package.py b/var/spack/repos/builtin.mock/packages/externalmodule/package.py
index 4a38bbb083..b9b64f558d 100644
--- a/var/spack/repos/builtin.mock/packages/externalmodule/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalmodule/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class Externalmodule(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/module-1.0.tar.gz"
+ url = "http://somewhere.com/module-1.0.tar.gz"
- version('1.0', '1234567890abcdef1234567890abcdef')
+ version("1.0", "1234567890abcdef1234567890abcdef")
- depends_on('externalprereq')
+ depends_on("externalprereq")
diff --git a/var/spack/repos/builtin.mock/packages/externalprereq/package.py b/var/spack/repos/builtin.mock/packages/externalprereq/package.py
index 3d36bbd82e..ff98abd214 100644
--- a/var/spack/repos/builtin.mock/packages/externalprereq/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalprereq/package.py
@@ -8,6 +8,6 @@ from spack.package import *
class Externalprereq(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/prereq-1.0.tar.gz"
+ url = "http://somewhere.com/prereq-1.0.tar.gz"
- version('1.4', 'f1234567890abcdef1234567890abcde')
+ version("1.4", "f1234567890abcdef1234567890abcde")
diff --git a/var/spack/repos/builtin.mock/packages/externaltest/package.py b/var/spack/repos/builtin.mock/packages/externaltest/package.py
index eb9da8b196..3bb7ef9712 100644
--- a/var/spack/repos/builtin.mock/packages/externaltest/package.py
+++ b/var/spack/repos/builtin.mock/packages/externaltest/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Externaltest(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/test-1.0.tar.gz"
+ url = "http://somewhere.com/test-1.0.tar.gz"
- version('1.0', '1234567890abcdef1234567890abcdef')
+ version("1.0", "1234567890abcdef1234567890abcdef")
- depends_on('stuff')
- depends_on('externaltool')
+ depends_on("stuff")
+ depends_on("externaltool")
def install(self, spec, prefix):
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/externaltool/package.py b/var/spack/repos/builtin.mock/packages/externaltool/package.py
index 0be498ab12..123c347fc9 100644
--- a/var/spack/repos/builtin.mock/packages/externaltool/package.py
+++ b/var/spack/repos/builtin.mock/packages/externaltool/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class Externaltool(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/tool-1.0.tar.gz"
+ url = "http://somewhere.com/tool-1.0.tar.gz"
- version('1.0', '1234567890abcdef1234567890abcdef')
- version('0.9', '1234567890abcdef1234567890abcdef')
- version('0.8.1', '1234567890abcdef1234567890abcdef')
+ version("1.0", "1234567890abcdef1234567890abcdef")
+ version("0.9", "1234567890abcdef1234567890abcdef")
+ version("0.8.1", "1234567890abcdef1234567890abcdef")
- depends_on('externalprereq')
+ depends_on("externalprereq")
diff --git a/var/spack/repos/builtin.mock/packages/externalvirtual/package.py b/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
index ab36db92ce..603c6c8d4f 100644
--- a/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/externalvirtual/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Externalvirtual(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/stuff-1.0.tar.gz"
+ url = "http://somewhere.com/stuff-1.0.tar.gz"
- version('1.0', '1234567890abcdef1234567890abcdef')
- version('2.0', '234567890abcdef1234567890abcdef1')
- version('2.1', '34567890abcdef1234567890abcdef12')
- version('2.2', '4567890abcdef1234567890abcdef123')
+ version("1.0", "1234567890abcdef1234567890abcdef")
+ version("2.0", "234567890abcdef1234567890abcdef1")
+ version("2.1", "34567890abcdef1234567890abcdef12")
+ version("2.2", "4567890abcdef1234567890abcdef123")
- provides('stuff', when='@1.0:')
+ provides("stuff", when="@1.0:")
diff --git a/var/spack/repos/builtin.mock/packages/failing-build/package.py b/var/spack/repos/builtin.mock/packages/failing-build/package.py
index 3ac8fb5210..2352488c61 100644
--- a/var/spack/repos/builtin.mock/packages/failing-build/package.py
+++ b/var/spack/repos/builtin.mock/packages/failing-build/package.py
@@ -10,9 +10,9 @@ class FailingBuild(Package):
"""This package has a trivial install method that fails."""
homepage = "http://www.example.com/trivial_install"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
raise InstallError("Expected failure.")
diff --git a/var/spack/repos/builtin.mock/packages/failing-empty-install/package.py b/var/spack/repos/builtin.mock/packages/failing-empty-install/package.py
index f068b64499..0e575aaa9e 100644
--- a/var/spack/repos/builtin.mock/packages/failing-empty-install/package.py
+++ b/var/spack/repos/builtin.mock/packages/failing-empty-install/package.py
@@ -7,10 +7,11 @@ from spack.package import *
class FailingEmptyInstall(Package):
"""This package installs nothing, install should fail."""
+
homepage = "http://www.example.com/trivial_install"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin.mock/packages/fake/package.py b/var/spack/repos/builtin.mock/packages/fake/package.py
index a51b02f129..e4cb5121d6 100644
--- a/var/spack/repos/builtin.mock/packages/fake/package.py
+++ b/var/spack/repos/builtin.mock/packages/fake/package.py
@@ -8,6 +8,6 @@ from spack.package import *
class Fake(Package):
homepage = "http://www.fake-spack-example.org"
- url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
+ url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/fetch-options/package.py b/var/spack/repos/builtin.mock/packages/fetch-options/package.py
index 7f6e7d137e..62bf896e5f 100644
--- a/var/spack/repos/builtin.mock/packages/fetch-options/package.py
+++ b/var/spack/repos/builtin.mock/packages/fetch-options/package.py
@@ -11,12 +11,12 @@ class FetchOptions(Package):
homepage = "http://www.fetch-options-example.com"
- url = 'https://example.com/some/tarball-1.0.tar.gz'
+ url = "https://example.com/some/tarball-1.0.tar.gz"
- fetch_options = {'timeout': 42, 'cookie': 'foobar'}
- timeout = {'timeout': 65}
- cookie = {'cookie': 'baz'}
+ fetch_options = {"timeout": 42, "cookie": "foobar"}
+ timeout = {"timeout": 65}
+ cookie = {"cookie": "baz"}
- version('1.2', '00000000000000000000000000000012', fetch_options=cookie)
- version('1.1', '00000000000000000000000000000011', fetch_options=timeout)
- version('1.0', '00000000000000000000000000000010')
+ version("1.2", "00000000000000000000000000000012", fetch_options=cookie)
+ version("1.1", "00000000000000000000000000000011", fetch_options=timeout)
+ version("1.0", "00000000000000000000000000000010")
diff --git a/var/spack/repos/builtin.mock/packages/fftw/package.py b/var/spack/repos/builtin.mock/packages/fftw/package.py
index 237c725b2a..ff42370fe5 100644
--- a/var/spack/repos/builtin.mock/packages/fftw/package.py
+++ b/var/spack/repos/builtin.mock/packages/fftw/package.py
@@ -10,12 +10,13 @@ class Fftw(Package):
cases with the old concretizer have been solved by the
new ones.
"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/fftw-1.0.tar.gz"
- version(2.0, 'abcdef1234567890abcdef1234567890')
- version(1.0, '1234567890abcdef1234567890abcdef')
+ version(2.0, "abcdef1234567890abcdef1234567890")
+ version(1.0, "1234567890abcdef1234567890abcdef")
- variant('mpi', default=False, description='Enable MPI')
+ variant("mpi", default=False, description="Enable MPI")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
diff --git a/var/spack/repos/builtin.mock/packages/find-externals1/package.py b/var/spack/repos/builtin.mock/packages/find-externals1/package.py
index 0b626d4f52..5d7ec0921b 100644
--- a/var/spack/repos/builtin.mock/packages/find-externals1/package.py
+++ b/var/spack/repos/builtin.mock/packages/find-externals1/package.py
@@ -10,27 +10,22 @@ from spack.package import *
class FindExternals1(AutotoolsPackage):
- executables = ['find-externals1-exe']
+ executables = ["find-externals1-exe"]
url = "http://www.example.com/find-externals-1.0.tar.gz"
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("1.0", "abcdef1234567890abcdef1234567890")
@classmethod
def determine_spec_details(cls, prefix, exes_in_prefix):
- exe_to_path = dict(
- (os.path.basename(p), p) for p in exes_in_prefix
- )
- exes = [x for x in exe_to_path.keys() if 'find-externals1-exe' in x]
+ exe_to_path = dict((os.path.basename(p), p) for p in exes_in_prefix)
+ exes = [x for x in exe_to_path.keys() if "find-externals1-exe" in x]
if not exes:
return
- exe = spack.util.executable.Executable(
- exe_to_path[exes[0]])
- output = exe('--version', output=str)
+ exe = spack.util.executable.Executable(exe_to_path[exes[0]])
+ output = exe("--version", output=str)
if output:
- match = re.search(r'find-externals1.*version\s+(\S+)', output)
+ match = re.search(r"find-externals1.*version\s+(\S+)", output)
if match:
version_str = match.group(1)
- return Spec.from_detection(
- 'find-externals1@{0}'.format(version_str)
- )
+ return Spec.from_detection("find-externals1@{0}".format(version_str))
diff --git a/var/spack/repos/builtin.mock/packages/flatten-deps/package.py b/var/spack/repos/builtin.mock/packages/flatten-deps/package.py
index 4dacf0b14d..5e1ea4b63a 100644
--- a/var/spack/repos/builtin.mock/packages/flatten-deps/package.py
+++ b/var/spack/repos/builtin.mock/packages/flatten-deps/package.py
@@ -10,10 +10,10 @@ class FlattenDeps(Package):
"""Example install that flattens dependencies."""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('dependency-install')
+ depends_on("dependency-install")
install = install_dependency_symlinks
diff --git a/var/spack/repos/builtin.mock/packages/garply/package.py b/var/spack/repos/builtin.mock/packages/garply/package.py
index 9efa93b98b..819da45286 100644
--- a/var/spack/repos/builtin.mock/packages/garply/package.py
+++ b/var/spack/repos/builtin.mock/packages/garply/package.py
@@ -15,10 +15,10 @@ class Garply(Package):
homepage = "https://www.example.com"
has_code = False
- version('3.0.0')
+ version("3.0.0")
def install(self, spec, prefix):
- garply_h = '''#ifndef GARPLY_H_
+ garply_h = """#ifndef GARPLY_H_
class Garply
{
@@ -33,8 +33,8 @@ public:
};
#endif // GARPLY_H_
-'''
- garply_cc = '''#include "garply.h"
+"""
+ garply_cc = """#include "garply.h"
#include "garply_version.h"
#include <iostream>
@@ -57,8 +57,8 @@ Garply::garplinate() const
std::cout << "Garply config dir = %s" << std::endl;
return get_version();
}
-'''
- garplinator_cc = '''#include "garply.h"
+"""
+ garplinator_cc = """#include "garply.h"
#include <iostream>
int
@@ -69,64 +69,104 @@ main()
return 0;
}
-'''
- garply_version_h = '''const int garply_version_major = %s;
+"""
+ garply_version_h = """const int garply_version_major = %s;
const int garply_version_minor = %s;
-'''
- mkdirp('%s/garply' % prefix.include)
- mkdirp('%s/garply' % self.stage.source_path)
- with open('%s/garply_version.h' % self.stage.source_path, 'w') as f:
+"""
+ mkdirp("%s/garply" % prefix.include)
+ mkdirp("%s/garply" % self.stage.source_path)
+ with open("%s/garply_version.h" % self.stage.source_path, "w") as f:
f.write(garply_version_h % (self.version[0], self.version[1:]))
- with open('%s/garply/garply.h' % self.stage.source_path, 'w') as f:
+ with open("%s/garply/garply.h" % self.stage.source_path, "w") as f:
f.write(garply_h)
- with open('%s/garply/garply.cc' % self.stage.source_path, 'w') as f:
+ with open("%s/garply/garply.cc" % self.stage.source_path, "w") as f:
f.write(garply_cc % prefix.config)
- with open('%s/garply/garplinator.cc' %
- self.stage.source_path, 'w') as f:
+ with open("%s/garply/garplinator.cc" % self.stage.source_path, "w") as f:
f.write(garplinator_cc)
- gpp = which('/usr/bin/g++')
- if sys.platform == 'darwin':
- gpp = which('/usr/bin/clang++')
- gpp('-Dgarply_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'garply.cc.o',
- '-c', '%s/garply/garply.cc' % self.stage.source_path)
- gpp('-Dgarply_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'garplinator.cc.o',
- '-c', '%s/garply/garplinator.cc' % self.stage.source_path)
- if sys.platform == 'darwin':
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-dynamiclib',
- '-Wl,-headerpad_max_install_names', '-o', 'libgarply.dylib',
- '-install_name', '@rpath/libgarply.dylib',
- 'garply.cc.o')
- gpp('-O2', '-g', '-DNDEBUG', '-Wl,-search_paths_first',
- '-Wl,-headerpad_max_install_names',
- 'garplinator.cc.o', '-o', 'garplinator',
- '-Wl,-rpath,%s' % prefix.lib64,
- 'libgarply.dylib')
+ gpp = which("/usr/bin/g++")
+ if sys.platform == "darwin":
+ gpp = which("/usr/bin/clang++")
+ gpp(
+ "-Dgarply_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "garply.cc.o",
+ "-c",
+ "%s/garply/garply.cc" % self.stage.source_path,
+ )
+ gpp(
+ "-Dgarply_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "garplinator.cc.o",
+ "-c",
+ "%s/garply/garplinator.cc" % self.stage.source_path,
+ )
+ if sys.platform == "darwin":
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-dynamiclib",
+ "-Wl,-headerpad_max_install_names",
+ "-o",
+ "libgarply.dylib",
+ "-install_name",
+ "@rpath/libgarply.dylib",
+ "garply.cc.o",
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-Wl,-search_paths_first",
+ "-Wl,-headerpad_max_install_names",
+ "garplinator.cc.o",
+ "-o",
+ "garplinator",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "libgarply.dylib",
+ )
mkdirp(prefix.lib64)
- copy('libgarply.dylib', '%s/libgarply.dylib' % prefix.lib64)
- os.link('%s/libgarply.dylib' % prefix.lib64,
- '%s/libgarply.dylib.3.0' % prefix.lib64)
+ copy("libgarply.dylib", "%s/libgarply.dylib" % prefix.lib64)
+ os.link("%s/libgarply.dylib" % prefix.lib64, "%s/libgarply.dylib.3.0" % prefix.lib64)
else:
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libgarply.so',
- '-o', 'libgarply.so', 'garply.cc.o')
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'garplinator.cc.o', '-o', 'garplinator',
- '-Wl,-rpath,%s' % prefix.lib64,
- 'libgarply.so')
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-shared",
+ "-Wl,-soname,libgarply.so",
+ "-o",
+ "libgarply.so",
+ "garply.cc.o",
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-rdynamic",
+ "garplinator.cc.o",
+ "-o",
+ "garplinator",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "libgarply.so",
+ )
mkdirp(prefix.lib64)
- copy('libgarply.so', '%s/libgarply.so' % prefix.lib64)
- os.link('%s/libgarply.so' % prefix.lib64,
- '%s/libgarply.so.3.0' % prefix.lib64)
- copy('garplinator', '%s/garplinator' % prefix.lib64)
- copy('%s/garply/garply.h' % self.stage.source_path,
- '%s/garply/garply.h' % prefix.include)
+ copy("libgarply.so", "%s/libgarply.so" % prefix.lib64)
+ os.link("%s/libgarply.so" % prefix.lib64, "%s/libgarply.so.3.0" % prefix.lib64)
+ copy("garplinator", "%s/garplinator" % prefix.lib64)
+ copy("%s/garply/garply.h" % self.stage.source_path, "%s/garply/garply.h" % prefix.include)
mkdirp(prefix.bin)
- copy('garply_version.h', '%s/garply_version.h' % prefix.bin)
- os.symlink('%s/garplinator' % prefix.lib64,
- '%s/garplinator' % prefix.bin)
+ copy("garply_version.h", "%s/garply_version.h" % prefix.bin)
+ os.symlink("%s/garplinator" % prefix.lib64, "%s/garplinator" % prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/gcc/package.py b/var/spack/repos/builtin.mock/packages/gcc/package.py
index 0908431cb6..70dc78fe5e 100644
--- a/var/spack/repos/builtin.mock/packages/gcc/package.py
+++ b/var/spack/repos/builtin.mock/packages/gcc/package.py
@@ -10,17 +10,17 @@ class Gcc(Package):
"""Simple compiler package."""
homepage = "http://www.example.com"
- url = "http://www.example.com/gcc-1.0.tar.gz"
+ url = "http://www.example.com/gcc-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
- version('3.0', 'def0123456789abcdef0123456789abc')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
+ version("3.0", "def0123456789abcdef0123456789abc")
- depends_on('conflict', when='@3.0')
+ depends_on("conflict", when="@3.0")
def install(self, spec, prefix):
# Create the minimal compiler that will fool `spack compiler find`
mkdirp(prefix.bin)
- with open(prefix.bin.gcc, 'w') as f:
+ with open(prefix.bin.gcc, "w") as f:
f.write('#!/bin/bash\necho "%s"' % str(spec.version))
set_executable(prefix.bin.gcc)
diff --git a/var/spack/repos/builtin.mock/packages/git-svn-top-level/package.py b/var/spack/repos/builtin.mock/packages/git-svn-top-level/package.py
index e19b9bc7c7..d7a50ca289 100644
--- a/var/spack/repos/builtin.mock/packages/git-svn-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-svn-top-level/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class GitSvnTopLevel(Package):
"""Mock package that uses git for fetching."""
+
homepage = "http://www.git-fetch-example.com"
# can't have two VCS fetchers.
- git = 'https://example.com/some/git/repo'
- svn = 'https://example.com/some/svn/repo'
+ git = "https://example.com/some/git/repo"
+ svn = "https://example.com/some/svn/repo"
- version('2.0')
+ version("2.0")
diff --git a/var/spack/repos/builtin.mock/packages/git-test-commit/package.py b/var/spack/repos/builtin.mock/packages/git-test-commit/package.py
index 8a5c1e7eb7..1f49a08aaa 100644
--- a/var/spack/repos/builtin.mock/packages/git-test-commit/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-test-commit/package.py
@@ -8,19 +8,20 @@ from spack.package import *
class GitTestCommit(Package):
"""Mock package that tests installing specific commit"""
+
homepage = "http://www.git-fetch-example.com"
# git='to-be-filled-in-by-test'
- version('1.0', tag='v1.0')
- version('1.1', tag='v1.1')
- version('1.2', tag='1.2') # not a typo
- version('2.0', tag='v2.0')
+ version("1.0", tag="v1.0")
+ version("1.1", tag="v1.1")
+ version("1.2", tag="1.2") # not a typo
+ version("2.0", tag="v2.0")
def install(self, spec, prefix):
# It is assumed for the test which installs this package, that it will
# be using the earliest commit, which is contained in the range @:0
- assert spec.satisfies('@:0')
+ assert spec.satisfies("@:0")
mkdir(prefix.bin)
# This will only exist for some second commit
- install('file.txt', prefix.bin)
+ install("file.txt", prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/git-test/package.py b/var/spack/repos/builtin.mock/packages/git-test/package.py
index d46ac339f7..cc64d3c459 100644
--- a/var/spack/repos/builtin.mock/packages/git-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-test/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class GitTest(Package):
"""Mock package that uses git for fetching."""
+
homepage = "http://www.git-fetch-example.com"
# To be set by test
git = None
submodules = True
- version('git', git='to-be-filled-in-by-test')
+ version("git", git="to-be-filled-in-by-test")
diff --git a/var/spack/repos/builtin.mock/packages/git-top-level/package.py b/var/spack/repos/builtin.mock/packages/git-top-level/package.py
index ffdfd96797..03dcf43cb8 100644
--- a/var/spack/repos/builtin.mock/packages/git-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-top-level/package.py
@@ -8,7 +8,8 @@ from spack.package import *
class GitTopLevel(Package):
"""Mock package that uses git for fetching."""
+
homepage = "http://www.git-fetch-example.com"
- git = 'https://example.com/some/git/repo'
- version('1.0')
+ git = "https://example.com/some/git/repo"
+ version("1.0")
diff --git a/var/spack/repos/builtin.mock/packages/git-url-svn-top-level/package.py b/var/spack/repos/builtin.mock/packages/git-url-svn-top-level/package.py
index d3f03eedf4..ce906927ab 100644
--- a/var/spack/repos/builtin.mock/packages/git-url-svn-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-url-svn-top-level/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class GitUrlSvnTopLevel(Package):
"""Mock package that uses git for fetching."""
+
homepage = "http://www.git-fetch-example.com"
# can't have two VCS fetchers.
- url = 'https://example.com/some/tarball-1.0.tar.gz'
- git = 'https://example.com/some/git/repo'
- svn = 'https://example.com/some/svn/repo'
+ url = "https://example.com/some/tarball-1.0.tar.gz"
+ git = "https://example.com/some/git/repo"
+ svn = "https://example.com/some/svn/repo"
- version('2.0')
+ version("2.0")
diff --git a/var/spack/repos/builtin.mock/packages/git-url-top-level/package.py b/var/spack/repos/builtin.mock/packages/git-url-top-level/package.py
index 2798bad9f7..748483f3ad 100644
--- a/var/spack/repos/builtin.mock/packages/git-url-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/git-url-top-level/package.py
@@ -13,50 +13,52 @@ class GitUrlTopLevel(Package):
to the ``version`` directive.
"""
+
homepage = "http://www.git-fetch-example.com"
- git = 'https://example.com/some/git/repo'
- url = 'https://example.com/some/tarball-1.0.tar.gz'
+ git = "https://example.com/some/git/repo"
+ url = "https://example.com/some/tarball-1.0.tar.gz"
# These resolve to git fetchers
- version('develop', branch='develop')
- version('submodules', submodules=True)
- version('3.4', commit='abc34')
- version('3.3', branch='releases/v3.3', commit='abc33')
- version('3.2', branch='releases/v3.2')
- version('3.1', tag='v3.1', commit='abc31')
- version('3.0', tag='v3.0')
+ version("develop", branch="develop")
+ version("submodules", submodules=True)
+ version("3.4", commit="abc34")
+ version("3.3", branch="releases/v3.3", commit="abc33")
+ version("3.2", branch="releases/v3.2")
+ version("3.1", tag="v3.1", commit="abc31")
+ version("3.0", tag="v3.0")
# These resolve to URL fetchers
version(
- '2.3', '0000000000000000000000000000000000000000000000000000000000000023',
- url='https://www.example.com/foo2.3.tar.gz',
+ "2.3",
+ "0000000000000000000000000000000000000000000000000000000000000023",
+ url="https://www.example.com/foo2.3.tar.gz",
)
version(
- '2.2',
- sha256='0000000000000000000000000000000000000000000000000000000000000022',
- url='https://www.example.com/foo2.2.tar.gz',
+ "2.2",
+ sha256="0000000000000000000000000000000000000000000000000000000000000022",
+ url="https://www.example.com/foo2.2.tar.gz",
)
version(
- '2.1',
- sha256='0000000000000000000000000000000000000000000000000000000000000021',
+ "2.1",
+ sha256="0000000000000000000000000000000000000000000000000000000000000021",
)
version(
- '2.0',
- '0000000000000000000000000000000000000000000000000000000000000020',
+ "2.0",
+ "0000000000000000000000000000000000000000000000000000000000000020",
)
# These result in a FetcherConflict b/c we can't tell what to use
version(
- '1.3',
- sha256='f66bbef3ccb8b06542c57d69804c5b0aba72051f693c17761ad8525786d259fa',
- commit='abc13'
+ "1.3",
+ sha256="f66bbef3ccb8b06542c57d69804c5b0aba72051f693c17761ad8525786d259fa",
+ commit="abc13",
)
version(
- '1.2',
- sha512='f66bbef3ccb8b06542c57d69804c5b0aba72051f693c17761ad8525786d259fa'
- '9ed8f2e950a4fb8a4b936f33e689187784699357bc16e49f33dfcda8ab8b00e4',
- branch='releases/v1.2'
+ "1.2",
+ sha512="f66bbef3ccb8b06542c57d69804c5b0aba72051f693c17761ad8525786d259fa"
+ "9ed8f2e950a4fb8a4b936f33e689187784699357bc16e49f33dfcda8ab8b00e4",
+ branch="releases/v1.2",
)
- version('1.1', md5='00000000000000000000000000000011', tag='v1.1')
- version('1.0', '00000000000000000000000000000011', tag='abc123')
+ version("1.1", md5="00000000000000000000000000000011", tag="v1.1")
+ version("1.0", "00000000000000000000000000000011", tag="abc123")
diff --git a/var/spack/repos/builtin.mock/packages/gmt/package.py b/var/spack/repos/builtin.mock/packages/gmt/package.py
index 74c28fb86a..54c0b06417 100644
--- a/var/spack/repos/builtin.mock/packages/gmt/package.py
+++ b/var/spack/repos/builtin.mock/packages/gmt/package.py
@@ -9,7 +9,7 @@ class Gmt(Package):
url = "http://www.example.com/"
url = "http://www.example.com/2.0.tar.gz"
- version('2.0', 'abcdef1234567890abcdef1234567890')
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("2.0", "abcdef1234567890abcdef1234567890")
+ version("1.0", "abcdef1234567890abcdef1234567890")
- depends_on('mvdefaults', when='@1.0')
+ depends_on("mvdefaults", when="@1.0")
diff --git a/var/spack/repos/builtin.mock/packages/gnuconfig/package.py b/var/spack/repos/builtin.mock/packages/gnuconfig/package.py
index 40465e4dbb..46530454c3 100644
--- a/var/spack/repos/builtin.mock/packages/gnuconfig/package.py
+++ b/var/spack/repos/builtin.mock/packages/gnuconfig/package.py
@@ -17,17 +17,17 @@ class Gnuconfig(Package):
has_code = False
- version('2021-08-14')
+ version("2021-08-14")
def install(self, spec, prefix):
- config_sub = join_path(prefix, 'config.sub')
- config_guess = join_path(prefix, 'config.guess')
+ config_sub = join_path(prefix, "config.sub")
+ config_guess = join_path(prefix, "config.guess")
# Create files
- with open(config_sub, 'w') as f:
+ with open(config_sub, "w") as f:
f.write("#!/bin/sh\necho gnuconfig version of config.sub")
- with open(config_guess, 'w') as f:
+ with open(config_guess, "w") as f:
f.write("#!/bin/sh\necho gnuconfig version of config.guess")
# Make executable
diff --git a/var/spack/repos/builtin.mock/packages/hash-test1/package.py b/var/spack/repos/builtin.mock/packages/hash-test1/package.py
index 14d125a3e0..0f717006f0 100644
--- a/var/spack/repos/builtin.mock/packages/hash-test1/package.py
+++ b/var/spack/repos/builtin.mock/packages/hash-test1/package.py
@@ -9,30 +9,29 @@ from spack.package import *
class HashTest1(Package):
- """Used to test package hashing
- """
+ """Used to test package hashing"""
homepage = "http://www.hashtest1.org"
url = "http://www.hashtest1.org/downloads/hashtest1-1.1.tar.bz2"
- version('1.1', 'a' * 32)
- version('1.2', 'b' * 32)
- version('1.3', 'c' * 32)
- version('1.4', 'd' * 32)
- version('1.5', 'd' * 32)
- version('1.6', 'e' * 32)
- version('1.7', 'f' * 32)
+ version("1.1", "a" * 32)
+ version("1.2", "b" * 32)
+ version("1.3", "c" * 32)
+ version("1.4", "d" * 32)
+ version("1.5", "d" * 32)
+ version("1.6", "e" * 32)
+ version("1.7", "f" * 32)
- patch('patch1.patch', when="@1.1")
- patch('patch2.patch', when="@1.4")
+ patch("patch1.patch", when="@1.1")
+ patch("patch2.patch", when="@1.4")
- variant('variantx', default=False, description='Test variant X')
- variant('varianty', default=False, description='Test variant Y')
+ variant("variantx", default=False, description="Test variant X")
+ variant("varianty", default=False, description="Test variant Y")
def setup_dependent_build_environment(self, env, dependent_spec):
pass
- @when('@:1.4')
+ @when("@:1.4")
def install(self, spec, prefix):
print("install 1")
os.listdir(os.getcwd())
@@ -40,13 +39,13 @@ class HashTest1(Package):
# sanity_check_prefix requires something in the install directory
mkdirp(prefix.bin)
- @when('@1.5:')
+ @when("@1.5:")
def install(self, spec, prefix):
os.listdir(os.getcwd())
# sanity_check_prefix requires something in the install directory
mkdirp(prefix.bin)
- @when('@1.5,1.6')
+ @when("@1.5,1.6")
def extra_phase(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin.mock/packages/hash-test2/package.py b/var/spack/repos/builtin.mock/packages/hash-test2/package.py
index ef9b9f70ce..8081da49be 100644
--- a/var/spack/repos/builtin.mock/packages/hash-test2/package.py
+++ b/var/spack/repos/builtin.mock/packages/hash-test2/package.py
@@ -9,21 +9,20 @@ from spack.package import *
class HashTest2(Package):
- """Used to test package hashing
- """
+ """Used to test package hashing"""
homepage = "http://www.hashtest2.org"
url = "http://www.hashtest1.org/downloads/hashtest2-1.1.tar.bz2"
- version('1.1', 'a' * 32)
- version('1.2', 'b' * 32)
- version('1.3', 'c' * 31 + 'x') # Source hash differs from hash-test1@1.3
- version('1.4', 'd' * 32)
+ version("1.1", "a" * 32)
+ version("1.2", "b" * 32)
+ version("1.3", "c" * 31 + "x") # Source hash differs from hash-test1@1.3
+ version("1.4", "d" * 32)
- patch('patch1.patch', when="@1.1")
+ patch("patch1.patch", when="@1.1")
- variant('variantx', default=False, description='Test variant X')
- variant('varianty', default=False, description='Test variant Y')
+ variant("variantx", default=False, description="Test variant X")
+ variant("varianty", default=False, description="Test variant Y")
def setup_dependent_build_environment(self, env, dependent_spec):
pass
diff --git a/var/spack/repos/builtin.mock/packages/hash-test3/package.py b/var/spack/repos/builtin.mock/packages/hash-test3/package.py
index 8a98522975..8e871e5319 100644
--- a/var/spack/repos/builtin.mock/packages/hash-test3/package.py
+++ b/var/spack/repos/builtin.mock/packages/hash-test3/package.py
@@ -9,25 +9,24 @@ from spack.package import *
class HashTest3(Package):
- """Used to test package hashing
- """
+ """Used to test package hashing"""
homepage = "http://www.hashtest3.org"
url = "http://www.hashtest1.org/downloads/hashtest3-1.1.tar.bz2"
- version('1.2', 'b' * 32)
- version('1.3', 'c' * 32)
- version('1.5', 'd' * 32)
- version('1.6', 'e' * 32)
- version('1.7', 'f' * 32)
+ version("1.2", "b" * 32)
+ version("1.3", "c" * 32)
+ version("1.5", "d" * 32)
+ version("1.6", "e" * 32)
+ version("1.7", "f" * 32)
- variant('variantx', default=False, description='Test variant X')
- variant('varianty', default=False, description='Test variant Y')
+ variant("variantx", default=False, description="Test variant X")
+ variant("varianty", default=False, description="Test variant Y")
def setup_dependent_build_environment(self, env, dependent_spec):
pass
- @when('@:1.4')
+ @when("@:1.4")
def install(self, spec, prefix):
print("install 1")
os.listdir(os.getcwd())
@@ -35,14 +34,15 @@ class HashTest3(Package):
# sanity_check_prefix requires something in the install directory
mkdirp(prefix.bin)
- @when('@1.5:')
+ @when("@1.5:")
def install(self, spec, prefix):
os.listdir(os.getcwd())
# sanity_check_prefix requires something in the install directory
mkdirp(prefix.bin)
- for _version_constraint in ['@1.5', '@1.6']:
+ for _version_constraint in ["@1.5", "@1.6"]:
+
@when(_version_constraint)
def extra_phase(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin.mock/packages/hash-test4/package.py b/var/spack/repos/builtin.mock/packages/hash-test4/package.py
index cd00d8f892..d73d493b18 100644
--- a/var/spack/repos/builtin.mock/packages/hash-test4/package.py
+++ b/var/spack/repos/builtin.mock/packages/hash-test4/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class HashTest4(Package):
"""This package isn't compared with others, but it contains constructs
- that package hashing logic has tripped over in the past.
+ that package hashing logic has tripped over in the past.
"""
homepage = "http://www.hashtest4.org"
url = "http://www.hashtest1.org/downloads/hashtest4-1.1.tar.bz2"
- version('1.1', 'a' * 32)
+ version("1.1", "a" * 32)
def install(self, spec, prefix):
pass
@@ -23,5 +23,4 @@ class HashTest4(Package):
def examine_prefix(pkg):
pass
- run_after('install')(
- examine_prefix)
+ run_after("install")(examine_prefix)
diff --git a/var/spack/repos/builtin.mock/packages/hdf5/package.py b/var/spack/repos/builtin.mock/packages/hdf5/package.py
index 1019340e6a..12d96d001f 100644
--- a/var/spack/repos/builtin.mock/packages/hdf5/package.py
+++ b/var/spack/repos/builtin.mock/packages/hdf5/package.py
@@ -9,10 +9,10 @@ from spack.package import *
class Hdf5(Package):
homepage = "http://www.llnl.gov"
- url = "http://www.llnl.gov/hdf5-1.0.tar.gz"
+ url = "http://www.llnl.gov/hdf5-1.0.tar.gz"
- version(2.3, '0123456789abcdef0123456789abcdef')
+ version(2.3, "0123456789abcdef0123456789abcdef")
- variant('mpi', default=True, description='Enable mpi')
+ variant("mpi", default=True, description="Enable mpi")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
diff --git a/var/spack/repos/builtin.mock/packages/hg-test/package.py b/var/spack/repos/builtin.mock/packages/hg-test/package.py
index 2afa5b7bb0..85806f7d6e 100644
--- a/var/spack/repos/builtin.mock/packages/hg-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/hg-test/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class HgTest(Package):
"""Test package that does fetching with mercurial."""
+
homepage = "http://www.hg-fetch-example.com"
- version('hg', hg='to-be-filled-in-by-test')
+ version("hg", hg="to-be-filled-in-by-test")
diff --git a/var/spack/repos/builtin.mock/packages/hg-top-level/package.py b/var/spack/repos/builtin.mock/packages/hg-top-level/package.py
index 0ab5bb94d9..eaff260118 100644
--- a/var/spack/repos/builtin.mock/packages/hg-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/hg-top-level/package.py
@@ -8,7 +8,8 @@ from spack.package import *
class HgTopLevel(Package):
"""Test package that does fetching with mercurial."""
+
homepage = "http://www.hg-fetch-example.com"
- hg = 'https://example.com/some/hg/repo'
- version('1.0')
+ hg = "https://example.com/some/hg/repo"
+ version("1.0")
diff --git a/var/spack/repos/builtin.mock/packages/hpcviewer/package.py b/var/spack/repos/builtin.mock/packages/hpcviewer/package.py
index 867e186fcc..573e15aee3 100644
--- a/var/spack/repos/builtin.mock/packages/hpcviewer/package.py
+++ b/var/spack/repos/builtin.mock/packages/hpcviewer/package.py
@@ -7,10 +7,11 @@ from spack.package import *
class Hpcviewer(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('2019.02', '0123456789abcdef0123456789abcdef')
+ version("2019.02", "0123456789abcdef0123456789abcdef")
- depends_on('java@11:', type=('build', 'run'), when='@2021.0:')
- depends_on('java@8', type=('build', 'run'), when='@:2020')
+ depends_on("java@11:", type=("build", "run"), when="@2021.0:")
+ depends_on("java@8", type=("build", "run"), when="@:2020")
diff --git a/var/spack/repos/builtin.mock/packages/hwloc/package.py b/var/spack/repos/builtin.mock/packages/hwloc/package.py
index bc15bbbf8a..5a6f0beb15 100644
--- a/var/spack/repos/builtin.mock/packages/hwloc/package.py
+++ b/var/spack/repos/builtin.mock/packages/hwloc/package.py
@@ -7,4 +7,4 @@ from spack.package import *
class Hwloc(Package):
- version('2.0.3')
+ version("2.0.3")
diff --git a/var/spack/repos/builtin.mock/packages/hypre/package.py b/var/spack/repos/builtin.mock/packages/hypre/package.py
index dba7a0cd7a..fe077f067d 100644
--- a/var/spack/repos/builtin.mock/packages/hypre/package.py
+++ b/var/spack/repos/builtin.mock/packages/hypre/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class Hypre(Package):
"""Hypre is included here as an example of a package that depends on
- both LAPACK and BLAS."""
+ both LAPACK and BLAS."""
+
homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9")
- depends_on('lapack')
- depends_on('blas')
+ depends_on("lapack")
+ depends_on("blas")
diff --git a/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py b/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py
index 4bdfa8c3aa..c0f2ce8641 100644
--- a/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py
+++ b/var/spack/repos/builtin.mock/packages/impossible-concretization/package.py
@@ -13,6 +13,6 @@ class ImpossibleConcretization(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
- conflicts('target=x86_64:')
+ conflicts("target=x86_64:")
diff --git a/var/spack/repos/builtin.mock/packages/indirect-mpich/package.py b/var/spack/repos/builtin.mock/packages/indirect-mpich/package.py
index 1c38bcecf5..f9895fa837 100644
--- a/var/spack/repos/builtin.mock/packages/indirect-mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/indirect-mpich/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class IndirectMpich(Package):
"""Test case for a package that depends on MPI and one of its
- dependencies requires a *particular version* of MPI.
+ dependencies requires a *particular version* of MPI.
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/indirect_mpich-1.0.tar.gz"
+ url = "http://www.example.com/indirect_mpich-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
- depends_on('mpi')
- depends_on('direct-mpich')
+ depends_on("mpi")
+ depends_on("direct-mpich")
diff --git a/var/spack/repos/builtin.mock/packages/installed-deps-a/package.py b/var/spack/repos/builtin.mock/packages/installed-deps-a/package.py
index 281275a141..0a1b94d02a 100644
--- a/var/spack/repos/builtin.mock/packages/installed-deps-a/package.py
+++ b/var/spack/repos/builtin.mock/packages/installed-deps-a/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class InstalledDepsA(Package):
"""Used by test_installed_deps test case."""
+
# a
# / \
# b c b --> d build/link
@@ -16,7 +17,7 @@ class InstalledDepsA(Package):
# d e c --> e build/link
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
version("1", "0123456789abcdef0123456789abcdef")
version("2", "abcdef0123456789abcdef0123456789")
diff --git a/var/spack/repos/builtin.mock/packages/installed-deps-b/package.py b/var/spack/repos/builtin.mock/packages/installed-deps-b/package.py
index de24108c08..f5990d46d3 100644
--- a/var/spack/repos/builtin.mock/packages/installed-deps-b/package.py
+++ b/var/spack/repos/builtin.mock/packages/installed-deps-b/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class InstalledDepsB(Package):
"""Used by test_installed_deps test case."""
+
# a
# / \
# b c b --> d build/link
@@ -16,7 +17,7 @@ class InstalledDepsB(Package):
# d e c --> e build/link
homepage = "http://www.example.com"
- url = "http://www.example.com/b-1.0.tar.gz"
+ url = "http://www.example.com/b-1.0.tar.gz"
version("1", "0123456789abcdef0123456789abcdef")
version("2", "abcdef0123456789abcdef0123456789")
diff --git a/var/spack/repos/builtin.mock/packages/installed-deps-c/package.py b/var/spack/repos/builtin.mock/packages/installed-deps-c/package.py
index 6d5ce3a5b5..5e4d05b135 100644
--- a/var/spack/repos/builtin.mock/packages/installed-deps-c/package.py
+++ b/var/spack/repos/builtin.mock/packages/installed-deps-c/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class InstalledDepsC(Package):
"""Used by test_installed_deps test case."""
+
# a
# / \
# b c b --> d build/link
@@ -16,7 +17,7 @@ class InstalledDepsC(Package):
# d e c --> e build/link
homepage = "http://www.example.com"
- url = "http://www.example.com/c-1.0.tar.gz"
+ url = "http://www.example.com/c-1.0.tar.gz"
version("1", "0123456789abcdef0123456789abcdef")
version("2", "abcdef0123456789abcdef0123456789")
diff --git a/var/spack/repos/builtin.mock/packages/installed-deps-d/package.py b/var/spack/repos/builtin.mock/packages/installed-deps-d/package.py
index 76eacab2b0..7dbb2feddd 100644
--- a/var/spack/repos/builtin.mock/packages/installed-deps-d/package.py
+++ b/var/spack/repos/builtin.mock/packages/installed-deps-d/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class InstalledDepsD(Package):
"""Used by test_installed_deps test case."""
+
# a
# / \
# b c b --> d build/link
@@ -16,7 +17,7 @@ class InstalledDepsD(Package):
# d e c --> e build/link
homepage = "http://www.example.com"
- url = "http://www.example.com/d-1.0.tar.gz"
+ url = "http://www.example.com/d-1.0.tar.gz"
version("1", "0123456789abcdef0123456789abcdef")
version("2", "abcdef0123456789abcdef0123456789")
diff --git a/var/spack/repos/builtin.mock/packages/installed-deps-e/package.py b/var/spack/repos/builtin.mock/packages/installed-deps-e/package.py
index a3dfb90d6a..a148d83395 100644
--- a/var/spack/repos/builtin.mock/packages/installed-deps-e/package.py
+++ b/var/spack/repos/builtin.mock/packages/installed-deps-e/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class InstalledDepsE(Package):
"""Used by test_installed_deps test case."""
+
# a
# / \
# b c b --> d build/link
@@ -16,7 +17,7 @@ class InstalledDepsE(Package):
# d e c --> e build/link
homepage = "http://www.example.com"
- url = "http://www.example.com/e-1.0.tar.gz"
+ url = "http://www.example.com/e-1.0.tar.gz"
version("1", "0123456789abcdef0123456789abcdef")
version("2", "abcdef0123456789abcdef0123456789")
diff --git a/var/spack/repos/builtin.mock/packages/invalid-github-patch-url/package.py b/var/spack/repos/builtin.mock/packages/invalid-github-patch-url/package.py
index 216ba023ba..932910513c 100644
--- a/var/spack/repos/builtin.mock/packages/invalid-github-patch-url/package.py
+++ b/var/spack/repos/builtin.mock/packages/invalid-github-patch-url/package.py
@@ -12,9 +12,9 @@ class InvalidGithubPatchUrl(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/patch-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
patch(
- 'https://github.com/spack/spack/commit/cc76c0f5f9f8021cfb7423a226bd431c00d791ce.patch',
- sha256='6057c3a8d50a23e93e5642be5a78df1e45d7de85446c2d7a63e3d0d88712b369',
+ "https://github.com/spack/spack/commit/cc76c0f5f9f8021cfb7423a226bd431c00d791ce.patch",
+ sha256="6057c3a8d50a23e93e5642be5a78df1e45d7de85446c2d7a63e3d0d88712b369",
)
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
index ee9397f5e8..a5526351c7 100644
--- a/var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py
@@ -9,7 +9,7 @@ class LeafAddsVirtual(Package):
url = "http://www.example.com/"
url = "http://www.example.com/2.0.tar.gz"
- version('2.0', 'abcdef1234567890abcdef1234567890')
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("2.0", "abcdef1234567890abcdef1234567890")
+ version("1.0", "abcdef1234567890abcdef1234567890")
- depends_on('blas', when='@2.0')
+ depends_on("blas", when="@2.0")
diff --git a/var/spack/repos/builtin.mock/packages/libdwarf/package.py b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
index 6888229653..3071463589 100644
--- a/var/spack/repos/builtin.mock/packages/libdwarf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libdwarf/package.py
@@ -6,18 +6,18 @@
from spack.package import *
# Only build certain parts of dwarf because the other ones break.
-dwarf_dirs = ['libdwarf', 'dwarfdump2']
+dwarf_dirs = ["libdwarf", "dwarfdump2"]
class Libdwarf(Package):
homepage = "http://www.prevanders.net/dwarf.html"
- url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
+ url = "http://www.prevanders.net/libdwarf-20130729.tar.gz"
list_url = homepage
version(20130729, "64b42692e947d5180e162e46c689dfbf")
- version(20130207, '0123456789abcdef0123456789abcdef')
- version(20111030, '0123456789abcdef0123456789abcdef')
- version(20070703, '0123456789abcdef0123456789abcdef')
+ version(20130207, "0123456789abcdef0123456789abcdef")
+ version(20111030, "0123456789abcdef0123456789abcdef")
+ version(20070703, "0123456789abcdef0123456789abcdef")
depends_on("libelf")
diff --git a/var/spack/repos/builtin.mock/packages/libelf/package.py b/var/spack/repos/builtin.mock/packages/libelf/package.py
index 59a670079b..aab43e80f0 100644
--- a/var/spack/repos/builtin.mock/packages/libelf/package.py
+++ b/var/spack/repos/builtin.mock/packages/libelf/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Libelf(Package):
homepage = "http://www.mr511.de/software/english.html"
- url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
+ url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
- version('0.8.13', '4136d7b4c04df68b686570afa26988ac')
- version('0.8.12', 'e21f8273d9f5f6d43a59878dc274fec7')
- version('0.8.10', '9db4d36c283d9790d8fa7df1f4d7b4d9')
+ version("0.8.13", "4136d7b4c04df68b686570afa26988ac")
+ version("0.8.12", "e21f8273d9f5f6d43a59878dc274fec7")
+ version("0.8.10", "9db4d36c283d9790d8fa7df1f4d7b4d9")
- patch('local.patch', when='@0.8.10')
+ patch("local.patch", when="@0.8.10")
def install(self, spec, prefix):
touch(prefix.libelf)
diff --git a/var/spack/repos/builtin.mock/packages/libtool-deletion/package.py b/var/spack/repos/builtin.mock/packages/libtool-deletion/package.py
index 1c7e2afbd8..a169a78d2e 100644
--- a/var/spack/repos/builtin.mock/packages/libtool-deletion/package.py
+++ b/var/spack/repos/builtin.mock/packages/libtool-deletion/package.py
@@ -11,9 +11,10 @@ class LibtoolDeletion(AutotoolsPackage):
"""Mock AutotoolsPackage to check proper deletion
of libtool archives.
"""
+
homepage = "https://www.gnu.org/software/make/"
url = "http://www.example.com/libtool-deletion-1.0.tar.gz"
- version('4.2.1', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7')
+ version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
def do_stage(self):
mkdirp(self.stage.source_path)
@@ -34,4 +35,4 @@ class LibtoolDeletion(AutotoolsPackage):
@property
def libtool_archive_file(self):
- return os.path.join(str(self.prefix.lib), 'libfoo.la')
+ return os.path.join(str(self.prefix.lib), "libfoo.la")
diff --git a/var/spack/repos/builtin.mock/packages/low-priority-provider/package.py b/var/spack/repos/builtin.mock/packages/low-priority-provider/package.py
index 62d2e98d65..83e9be98e7 100644
--- a/var/spack/repos/builtin.mock/packages/low-priority-provider/package.py
+++ b/var/spack/repos/builtin.mock/packages/low-priority-provider/package.py
@@ -12,7 +12,7 @@ class LowPriorityProvider(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('lapack')
- provides('mpi')
+ provides("lapack")
+ provides("mpi")
diff --git a/var/spack/repos/builtin.mock/packages/maintainers-1/package.py b/var/spack/repos/builtin.mock/packages/maintainers-1/package.py
index 9a36d3b052..06d8694278 100644
--- a/var/spack/repos/builtin.mock/packages/maintainers-1/package.py
+++ b/var/spack/repos/builtin.mock/packages/maintainers-1/package.py
@@ -10,8 +10,8 @@ class Maintainers1(Package):
"""Package with a maintainers field."""
homepage = "http://www.example.com"
- url = "http://www.example.com/maintainers-1.0.tar.gz"
+ url = "http://www.example.com/maintainers-1.0.tar.gz"
- maintainers = ['user1', 'user2']
+ maintainers = ["user1", "user2"]
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/maintainers-2/package.py b/var/spack/repos/builtin.mock/packages/maintainers-2/package.py
index b5c78d9ccc..181306d414 100644
--- a/var/spack/repos/builtin.mock/packages/maintainers-2/package.py
+++ b/var/spack/repos/builtin.mock/packages/maintainers-2/package.py
@@ -10,8 +10,8 @@ class Maintainers2(Package):
"""A second package with a maintainers field."""
homepage = "http://www.example.com"
- url = "http://www.example.com/maintainers2-1.0.tar.gz"
+ url = "http://www.example.com/maintainers2-1.0.tar.gz"
- maintainers = ['user2', 'user3']
+ maintainers = ["user2", "user3"]
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/many-virtual-consumer/package.py b/var/spack/repos/builtin.mock/packages/many-virtual-consumer/package.py
index f056c9a65e..74d7cc6514 100644
--- a/var/spack/repos/builtin.mock/packages/many-virtual-consumer/package.py
+++ b/var/spack/repos/builtin.mock/packages/many-virtual-consumer/package.py
@@ -7,15 +7,16 @@ from spack.package import *
class ManyVirtualConsumer(Package):
"""PAckage that depends on many virtual packages"""
+
url = "http://www.example.com/"
url = "http://www.example.com/2.0.tar.gz"
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("1.0", "abcdef1234567890abcdef1234567890")
- depends_on('mpi')
- depends_on('lapack')
+ depends_on("mpi")
+ depends_on("lapack")
# This directive is an example of imposing a constraint on a
# dependency is that dependency is in the DAG. This pattern
# is mainly used with virtual providers.
- depends_on('low-priority-provider@1.0', when='^low-priority-provider')
+ depends_on("low-priority-provider@1.0", when="^low-priority-provider")
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
index 990e0807f8..1eb9c75420 100644
--- a/var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py
@@ -9,6 +9,6 @@ class MiddleAddsVirtual(Package):
url = "http://www.example.com/"
url = "http://www.example.com/2.0.tar.gz"
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("1.0", "abcdef1234567890abcdef1234567890")
- depends_on('leaf-adds-virtual')
+ depends_on("leaf-adds-virtual")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-gnu-broken/package.py b/var/spack/repos/builtin.mock/packages/mirror-gnu-broken/package.py
index 619d432c04..a9f46edac3 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-gnu-broken/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-gnu-broken/package.py
@@ -10,6 +10,6 @@ class MirrorGnuBroken(AutotoolsPackage, GNUMirrorPackage):
"""Simple GNU package"""
homepage = "https://www.gnu.org/software/make/"
- url = "https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz"
+ url = "https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz"
- version('4.2.1', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7')
+ version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-gnu/package.py b/var/spack/repos/builtin.mock/packages/mirror-gnu/package.py
index 89b58ecec3..00e2a4ecab 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-gnu/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-gnu/package.py
@@ -12,4 +12,4 @@ class MirrorGnu(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/make/"
gnu_mirror_path = "make/make-4.2.1.tar.gz"
- version('4.2.1', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7')
+ version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-sourceforge-broken/package.py b/var/spack/repos/builtin.mock/packages/mirror-sourceforge-broken/package.py
index 558e329ed8..fd1e59b5e2 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-sourceforge-broken/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-sourceforge-broken/package.py
@@ -10,6 +10,6 @@ class MirrorSourceforgeBroken(AutotoolsPackage, SourceforgePackage):
"""Simple sourceforge.net package"""
homepage = "http://www.tcl.tk"
- url = "http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz"
+ url = "http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz"
- version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')
+ version("8.6.8", sha256="c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-sourceforge/package.py b/var/spack/repos/builtin.mock/packages/mirror-sourceforge/package.py
index a012be1477..b465e09ec7 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-sourceforge/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-sourceforge/package.py
@@ -12,4 +12,4 @@ class MirrorSourceforge(AutotoolsPackage, SourceforgePackage):
homepage = "http://www.tcl.tk"
sourceforge_mirror_path = "tcl/tcl8.6.5-src.tar.gz"
- version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')
+ version("8.6.8", sha256="c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/mirror-gnu-broken/package.py b/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/mirror-gnu-broken/package.py
index 619d432c04..a9f46edac3 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/mirror-gnu-broken/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/mirror-gnu-broken/package.py
@@ -10,6 +10,6 @@ class MirrorGnuBroken(AutotoolsPackage, GNUMirrorPackage):
"""Simple GNU package"""
homepage = "https://www.gnu.org/software/make/"
- url = "https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz"
+ url = "https://ftpmirror.gnu.org/make/make-4.2.1.tar.gz"
- version('4.2.1', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7')
+ version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/package.py b/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/package.py
index c2a63e3ab4..2c5f344b92 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-sourceware-broken/package.py
@@ -10,6 +10,6 @@ class MirrorSourcewareBroken(AutotoolsPackage, SourcewarePackage):
"""Simple sourceware.org package"""
homepage = "https://sourceware.org/bzip2/"
- url = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
+ url = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
- version('1.0.8', sha256='ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269')
+ version("1.0.8", sha256="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-sourceware/package.py b/var/spack/repos/builtin.mock/packages/mirror-sourceware/package.py
index 5c314119d8..5a45ac4d0a 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-sourceware/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-sourceware/package.py
@@ -12,4 +12,4 @@ class MirrorSourceware(AutotoolsPackage, SourcewarePackage):
homepage = "https://sourceware.org/bzip2/"
sourceware_mirror_path = "bzip2/bzip2-1.0.8.tar.gz"
- version('1.0.8', sha256='ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269')
+ version("1.0.8", sha256="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-xorg-broken/package.py b/var/spack/repos/builtin.mock/packages/mirror-xorg-broken/package.py
index ebc25fb5c8..dc181eb50c 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-xorg-broken/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-xorg-broken/package.py
@@ -10,6 +10,6 @@ class MirrorXorgBroken(AutotoolsPackage, XorgPackage):
"""Simple x.org package"""
homepage = "http://cgit.freedesktop.org/xorg/util/macros/"
- url = "https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2"
+ url = "https://www.x.org/archive/individual/util/util-macros-1.19.1.tar.bz2"
- version('1.19.1', sha256='18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6')
+ version("1.19.1", sha256="18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6")
diff --git a/var/spack/repos/builtin.mock/packages/mirror-xorg/package.py b/var/spack/repos/builtin.mock/packages/mirror-xorg/package.py
index c48e1a8cf4..f75a0d0dff 100644
--- a/var/spack/repos/builtin.mock/packages/mirror-xorg/package.py
+++ b/var/spack/repos/builtin.mock/packages/mirror-xorg/package.py
@@ -12,4 +12,4 @@ class MirrorXorg(AutotoolsPackage, XorgPackage):
homepage = "http://cgit.freedesktop.org/xorg/util/macros/"
xorg_mirror_path = "util/util-macros-1.19.1.tar.bz2"
- version('1.19.1', sha256='18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6')
+ version("1.19.1", sha256="18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6")
diff --git a/var/spack/repos/builtin.mock/packages/missing-dependency/package.py b/var/spack/repos/builtin.mock/packages/missing-dependency/package.py
index a3361a51b3..78a5e2acf0 100644
--- a/var/spack/repos/builtin.mock/packages/missing-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/missing-dependency/package.py
@@ -10,9 +10,9 @@ class MissingDependency(Package):
"""Package with a dependency that does not exist."""
homepage = "http://www.example.com"
- url = "http://www.example.com/missing-dependency-1.0.tar.gz"
+ url = "http://www.example.com/missing-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# intentionally missing to test possible_dependencies()
depends_on("this-is-a-missing-dependency")
diff --git a/var/spack/repos/builtin.mock/packages/mixedversions/package.py b/var/spack/repos/builtin.mock/packages/mixedversions/package.py
index 91a8ed8120..4529b807ef 100644
--- a/var/spack/repos/builtin.mock/packages/mixedversions/package.py
+++ b/var/spack/repos/builtin.mock/packages/mixedversions/package.py
@@ -9,6 +9,6 @@ from spack.package import *
class Mixedversions(Package):
url = "http://www.fake-mixedversions.org/downloads/mixedversions-1.0.tar.gz"
- version('2.0.1', '0000000000000000000000000000000c')
- version('2.0', '0000000000000000000000000000000b')
- version('1.0.1', '0000000000000000000000000000000a')
+ version("2.0.1", "0000000000000000000000000000000c")
+ version("2.0", "0000000000000000000000000000000b")
+ version("1.0.1", "0000000000000000000000000000000a")
diff --git a/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py b/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py
index fa7fe0e134..09270eafb8 100644
--- a/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py
+++ b/var/spack/repos/builtin.mock/packages/modifies-run-env/package.py
@@ -10,12 +10,12 @@ class ModifiesRunEnv(Package):
"""Dependency package which needs to make shell modifications to run"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def setup_run_environment(self, env):
- env.set('DEPENDENCY_ENV_VAR', '1')
+ env.set("DEPENDENCY_ENV_VAR", "1")
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/module-path-separator/package.py b/var/spack/repos/builtin.mock/packages/module-path-separator/package.py
index a45fb7f5d0..5a3ad1169a 100644
--- a/var/spack/repos/builtin.mock/packages/module-path-separator/package.py
+++ b/var/spack/repos/builtin.mock/packages/module-path-separator/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class ModulePathSeparator(Package):
homepage = "http://www.llnl.gov"
- url = "http://www.llnl.gov/module-path-separator-1.0.tar.gz"
+ url = "http://www.llnl.gov/module-path-separator-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
def setup_run_environment(self, env):
env.append_path("COLON", "foo")
diff --git a/var/spack/repos/builtin.mock/packages/mpich/package.py b/var/spack/repos/builtin.mock/packages/mpich/package.py
index 4a6897572e..285bd7bf94 100644
--- a/var/spack/repos/builtin.mock/packages/mpich/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich/package.py
@@ -7,25 +7,24 @@ from spack.package import *
class Mpich(Package):
- homepage = "http://www.mpich.org"
- url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
- list_url = "http://www.mpich.org/static/downloads/"
+ homepage = "http://www.mpich.org"
+ url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
+ list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
- tags = ['tag1', 'tag2']
+ tags = ["tag1", "tag2"]
- variant('debug', default=False,
- description="Compile MPICH with debug flags.")
+ variant("debug", default=False, description="Compile MPICH with debug flags.")
- version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
- version('3.0.3', '0123456789abcdef0123456789abcdef')
- version('3.0.2', '0123456789abcdef0123456789abcdef')
- version('3.0.1', '0123456789abcdef0123456789abcdef')
- version('3.0', '0123456789abcdef0123456789abcdef')
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("3.0.4", "9c5d5d4fe1e17dd12153f40bc5b6dbc0")
+ version("3.0.3", "0123456789abcdef0123456789abcdef")
+ version("3.0.2", "0123456789abcdef0123456789abcdef")
+ version("3.0.1", "0123456789abcdef0123456789abcdef")
+ version("3.0", "0123456789abcdef0123456789abcdef")
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('mpi@:3', when='@3:')
- provides('mpi@:1', when='@:1')
+ provides("mpi@:3", when="@3:")
+ provides("mpi@:1", when="@:1")
def install(self, spec, prefix):
touch(prefix.mpich)
diff --git a/var/spack/repos/builtin.mock/packages/mpich2/package.py b/var/spack/repos/builtin.mock/packages/mpich2/package.py
index 7517c11284..049f956e57 100644
--- a/var/spack/repos/builtin.mock/packages/mpich2/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpich2/package.py
@@ -7,23 +7,23 @@ from spack.package import *
class Mpich2(Package):
- homepage = "http://www.mpich.org"
- url = "http://www.mpich.org/static/downloads/1.5/mpich2-1.5.tar.gz"
- list_url = "http://www.mpich.org/static/downloads/"
+ homepage = "http://www.mpich.org"
+ url = "http://www.mpich.org/static/downloads/1.5/mpich2-1.5.tar.gz"
+ list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
- tags = ['tag1', 'tag3']
+ tags = ["tag1", "tag3"]
- version('1.5', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
- version('1.4', '0123456789abcdef0123456789abcdef')
- version('1.3', '0123456789abcdef0123456789abcdef')
- version('1.2', '0123456789abcdef0123456789abcdef')
- version('1.1', '0123456789abcdef0123456789abcdef')
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.5", "9c5d5d4fe1e17dd12153f40bc5b6dbc0")
+ version("1.4", "0123456789abcdef0123456789abcdef")
+ version("1.3", "0123456789abcdef0123456789abcdef")
+ version("1.2", "0123456789abcdef0123456789abcdef")
+ version("1.1", "0123456789abcdef0123456789abcdef")
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('mpi@:2.0')
- provides('mpi@:2.1', when='@1.1:')
- provides('mpi@:2.2', when='@1.2:')
+ provides("mpi@:2.0")
+ provides("mpi@:2.1", when="@1.1:")
+ provides("mpi@:2.2", when="@1.2:")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin.mock/packages/mpileaks/package.py b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
index 21e6a4f1c9..2cb2e376a9 100644
--- a/var/spack/repos/builtin.mock/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Mpileaks(Package):
homepage = "http://www.llnl.gov"
- url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
+ url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
- version(2.1, '0123456789abcdef0123456789abcdef')
- version(2.2, '0123456789abcdef0123456789abcdef')
- version(2.3, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
+ version(2.1, "0123456789abcdef0123456789abcdef")
+ version(2.2, "0123456789abcdef0123456789abcdef")
+ version(2.3, "0123456789abcdef0123456789abcdef")
- variant('debug', default=False, description='Debug variant')
- variant('opt', default=False, description='Optimized variant')
- variant('shared', default=True, description='Build shared library')
- variant('static', default=True, description='Build static library')
+ variant("debug", default=False, description="Debug variant")
+ variant("opt", default=False, description="Optimized variant")
+ variant("shared", default=True, description="Build shared library")
+ variant("static", default=True, description="Build static library")
depends_on("mpi")
depends_on("callpath")
@@ -31,4 +31,4 @@ class Mpileaks(Package):
mkdirp(prefix.man)
def setup_run_environment(self, env):
- env.set('FOOBAR', self.name)
+ env.set("FOOBAR", self.name)
diff --git a/var/spack/repos/builtin.mock/packages/multi-provider-mpi/package.py b/var/spack/repos/builtin.mock/packages/multi-provider-mpi/package.py
index 33c1091983..a486118793 100644
--- a/var/spack/repos/builtin.mock/packages/multi-provider-mpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/multi-provider-mpi/package.py
@@ -8,22 +8,23 @@ from spack.package import *
class MultiProviderMpi(Package):
"""This is a fake MPI package used to test packages providing multiple
- virtuals at the same version."""
+ virtuals at the same version."""
+
homepage = "http://www.spack-fake-mpi.org"
- url = "http://www.spack-fake-mpi.org/downloads/multi-mpi-1.0.tar.gz"
+ url = "http://www.spack-fake-mpi.org/downloads/multi-mpi-1.0.tar.gz"
- version('2.0.0', '0123456789abcdef0123456789abcdef')
- version('1.10.3', '0123456789abcdef0123456789abcdef')
- version('1.10.2', '0123456789abcdef0123456789abcdef')
- version('1.10.1', '0123456789abcdef0123456789abcdef')
- version('1.10.0', '0123456789abcdef0123456789abcdef')
- version('1.8.8', '0123456789abcdef0123456789abcdef')
- version('1.6.5', '0123456789abcdef0123456789abcdef')
+ version("2.0.0", "0123456789abcdef0123456789abcdef")
+ version("1.10.3", "0123456789abcdef0123456789abcdef")
+ version("1.10.2", "0123456789abcdef0123456789abcdef")
+ version("1.10.1", "0123456789abcdef0123456789abcdef")
+ version("1.10.0", "0123456789abcdef0123456789abcdef")
+ version("1.8.8", "0123456789abcdef0123456789abcdef")
+ version("1.6.5", "0123456789abcdef0123456789abcdef")
- provides('mpi@3.1', when='@2.0.0')
- provides('mpi@3.0', when='@1.10.3')
- provides('mpi@3.0', when='@1.10.2')
- provides('mpi@3.0', when='@1.10.1')
- provides('mpi@3.0', when='@1.10.0')
- provides('mpi@3.0', when='@1.8.8')
- provides('mpi@2.2', when='@1.6.5')
+ provides("mpi@3.1", when="@2.0.0")
+ provides("mpi@3.0", when="@1.10.3")
+ provides("mpi@3.0", when="@1.10.2")
+ provides("mpi@3.0", when="@1.10.1")
+ provides("mpi@3.0", when="@1.10.0")
+ provides("mpi@3.0", when="@1.8.8")
+ provides("mpi@2.2", when="@1.6.5")
diff --git a/var/spack/repos/builtin.mock/packages/multimethod-base/package.py b/var/spack/repos/builtin.mock/packages/multimethod-base/package.py
index 8afd85b345..bafde6b909 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod-base/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod-base/package.py
@@ -14,8 +14,8 @@ class MultimethodBase(Package):
"""
- homepage = 'http://www.example.com/'
- url = 'http://www.example.com/example-1.0.tar.gz'
+ homepage = "http://www.example.com/"
+ url = "http://www.example.com/example-1.0.tar.gz"
def base_method(self):
return "base_method"
diff --git a/var/spack/repos/builtin.mock/packages/multimethod-diamond-parent/package.py b/var/spack/repos/builtin.mock/packages/multimethod-diamond-parent/package.py
index 426fa5094b..19a25976a9 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod-diamond-parent/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod-diamond-parent/package.py
@@ -9,14 +9,14 @@ from spack.pkg.builtin.mock.multimethod_base import MultimethodBase
class MultimethodDiamondParent(MultimethodBase):
"""This package is designed for use with Spack's multimethod test.
- It has a bunch of test cases for the @when decorator that the
- test uses.
+ It has a bunch of test cases for the @when decorator that the
+ test uses.
"""
- @when('@3.0')
+ @when("@3.0")
def diamond_inheritance(self):
return "second_parent"
- @when('@4.0, 2.0')
+ @when("@4.0, 2.0")
def diamond_inheritance(self):
return "should never be reached by diamond inheritance test"
diff --git a/var/spack/repos/builtin.mock/packages/multimethod-diamond/package.py b/var/spack/repos/builtin.mock/packages/multimethod-diamond/package.py
index fe89d871f7..110f9a6250 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod-diamond/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod-diamond/package.py
@@ -10,10 +10,10 @@ from spack.package import *
class MultimethodDiamond(mi.MultimethodInheritor, mp.MultimethodDiamondParent):
"""This package is designed for use with Spack's multimethod test.
- It has a bunch of test cases for the @when decorator that the
- test uses.
+ It has a bunch of test cases for the @when decorator that the
+ test uses.
"""
- @when('@4.0')
+ @when("@4.0")
def diamond_inheritance(self):
- return 'subclass'
+ return "subclass"
diff --git a/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py b/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py
index fef83f6887..a35a04ec78 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py
@@ -9,17 +9,17 @@ from spack.pkg.builtin.mock.multimethod import Multimethod
class MultimethodInheritor(Multimethod):
"""This package is designed for use with Spack's multimethod test.
- It has a bunch of test cases for the @when decorator that the
- test uses.
+ It has a bunch of test cases for the @when decorator that the
+ test uses.
"""
- @when('@1.0')
+ @when("@1.0")
def inherited_and_overridden(self):
return "inheritor@1.0"
#
# Test multi-level inheritance
#
- @when('@2:')
+ @when("@2:")
def base_method(self):
- return 'multimethod-inheritor'
+ return "multimethod-inheritor"
diff --git a/var/spack/repos/builtin.mock/packages/multimethod/package.py b/var/spack/repos/builtin.mock/packages/multimethod/package.py
index 16af9198a0..5c559eab83 100644
--- a/var/spack/repos/builtin.mock/packages/multimethod/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimethod/package.py
@@ -12,35 +12,35 @@ from spack.pkg.builtin.mock.multimethod_base import MultimethodBase
class Multimethod(MultimethodBase):
"""This package is designed for use with Spack's multimethod test.
- It has a bunch of test cases for the @when decorator that the
- test uses.
+ It has a bunch of test cases for the @when decorator that the
+ test uses.
"""
- homepage = 'http://www.example.com/'
- url = 'http://www.example.com/example-1.0.tar.gz'
+ homepage = "http://www.example.com/"
+ url = "http://www.example.com/example-1.0.tar.gz"
- version('5.0', '0123456789abcdef0123456789abcdef')
- version('4.0', '0123456789abcdef0123456789abcdef')
- version('3.0', '0123456789abcdef0123456789abcdef')
- version('2.0', '0123456789abcdef0123456789abcdef')
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("5.0", "0123456789abcdef0123456789abcdef")
+ version("4.0", "0123456789abcdef0123456789abcdef")
+ version("3.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "0123456789abcdef0123456789abcdef")
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('mpi', default=False, description='')
+ variant("mpi", default=False, description="")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
#
# These functions are only valid for versions 1, 3, and 4.
#
- @when('@1.0')
+ @when("@1.0")
def no_version_2(self):
return 1
- @when('@3.0')
+ @when("@3.0")
def no_version_2(self):
return 3
- @when('@4.0')
+ @when("@4.0")
def no_version_2(self):
return 4
@@ -48,11 +48,11 @@ class Multimethod(MultimethodBase):
# These functions overlap, so there is ambiguity, but we'll take
# the first one.
#
- @when('@:4')
+ @when("@:4")
def version_overlap(self):
return 1
- @when('@2:')
+ @when("@2:")
def version_overlap(self):
return 2
@@ -62,15 +62,15 @@ class Multimethod(MultimethodBase):
def mpi_version(self):
return 0
- @when('^mpi@3:')
+ @when("^mpi@3:")
def mpi_version(self):
return 3
- @when('^mpi@2:')
+ @when("^mpi@2:")
def mpi_version(self):
return 2
- @when('^mpi@1:')
+ @when("^mpi@1:")
def mpi_version(self):
return 1
@@ -80,15 +80,15 @@ class Multimethod(MultimethodBase):
# on compilers
#
def has_a_default(self):
- return 'default'
+ return "default"
- @when('%gcc')
+ @when("%gcc")
def has_a_default(self):
- return 'gcc'
+ return "gcc"
- @when('%clang')
+ @when("%clang")
def has_a_default(self):
- return 'clang'
+ return "clang"
#
# Make sure we can switch methods on different target
@@ -99,23 +99,25 @@ class Multimethod(MultimethodBase):
targets = targets[:-1]
for target in targets:
- @when('target=' + target.name)
+
+ @when("target=" + target.name)
def different_by_target(self):
if isinstance(self.spec.architecture.target, string_types):
return self.spec.architecture.target
else:
return self.spec.architecture.target.name
+
#
# Make sure we can switch methods on different dependencies
#
- @when('^mpich')
+ @when("^mpich")
def different_by_dep(self):
- return 'mpich'
+ return "mpich"
- @when('^zmpi')
+ @when("^zmpi")
def different_by_dep(self):
- return 'zmpi'
+ return "zmpi"
#
# Make sure we can switch on virtual dependencies
@@ -123,7 +125,7 @@ class Multimethod(MultimethodBase):
def different_by_virtual_dep(self):
return 1
- @when('^mpi@2:')
+ @when("^mpi@2:")
def different_by_virtual_dep(self):
return 2
@@ -133,7 +135,7 @@ class Multimethod(MultimethodBase):
#
@when("@2:")
def base_method(self):
- return 'multimethod'
+ return "multimethod"
#
# Make sure methods with non-default implementations in a superclass
@@ -151,11 +153,11 @@ class Multimethod(MultimethodBase):
#
# Make sure that multimethods follow MRO properly with diamond inheritance
#
- @when('@2.0')
+ @when("@2.0")
def diamond_inheritance(self):
- return 'first_parent'
+ return "first_parent"
- @when('@4.0')
+ @when("@4.0")
def diamond_inheritance(self):
return "should_not_be_reached by diamond inheritance test"
@@ -164,16 +166,16 @@ class Multimethod(MultimethodBase):
#
@when(True)
def boolean_true_first(self):
- return 'True'
+ return "True"
@when(False)
def boolean_true_first(self):
- return 'False'
+ return "False"
@when(False)
def boolean_false_first(self):
- return 'False'
+ return "False"
@when(True)
def boolean_false_first(self):
- return 'True'
+ return "True"
diff --git a/var/spack/repos/builtin.mock/packages/multimodule-inheritance/package.py b/var/spack/repos/builtin.mock/packages/multimodule-inheritance/package.py
index bfe00fad59..79faf2598d 100644
--- a/var/spack/repos/builtin.mock/packages/multimodule-inheritance/package.py
+++ b/var/spack/repos/builtin.mock/packages/multimodule-inheritance/package.py
@@ -13,6 +13,6 @@ class MultimoduleInheritance(si.BaseWithDirectives):
homepage = "http://www.example.com"
url = "http://www.example.com/multimodule-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('openblas', when='+openblas')
+ depends_on("openblas", when="+openblas")
diff --git a/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py b/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py
index 147e2c84da..4fca7a6c87 100644
--- a/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/multivalue-variant/package.py
@@ -10,31 +10,35 @@ class MultivalueVariant(Package):
homepage = "http://www.llnl.gov"
url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
- version(2.1, '0123456789abcdef0123456789abcdef')
- version(2.2, '0123456789abcdef0123456789abcdef')
- version(2.3, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
+ version(2.1, "0123456789abcdef0123456789abcdef")
+ version(2.2, "0123456789abcdef0123456789abcdef")
+ version(2.3, "0123456789abcdef0123456789abcdef")
- variant('debug', default=False, description='Debug variant')
+ variant("debug", default=False, description="Debug variant")
variant(
- 'foo', description='Multi-valued variant',
- values=any_combination_of('bar', 'baz', 'barbaz'),
+ "foo",
+ description="Multi-valued variant",
+ values=any_combination_of("bar", "baz", "barbaz"),
)
variant(
- 'fee',
- description='Single-valued variant',
- default='bar',
- values=('bar', 'baz', 'barbaz'),
- multi=False
+ "fee",
+ description="Single-valued variant",
+ default="bar",
+ values=("bar", "baz", "barbaz"),
+ multi=False,
)
variant(
- 'libs', default='shared', values=('shared', 'static'), multi=True,
- description='Type of libraries to install'
+ "libs",
+ default="shared",
+ values=("shared", "static"),
+ multi=True,
+ description="Type of libraries to install",
)
- depends_on('mpi')
- depends_on('callpath')
- depends_on('a')
- depends_on('a@1.0', when='fee=barbaz')
+ depends_on("mpi")
+ depends_on("callpath")
+ depends_on("a")
+ depends_on("a@1.0", when="fee=barbaz")
diff --git a/var/spack/repos/builtin.mock/packages/mvapich2/package.py b/var/spack/repos/builtin.mock/packages/mvapich2/package.py
index e45a493342..4f63c32422 100644
--- a/var/spack/repos/builtin.mock/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin.mock/packages/mvapich2/package.py
@@ -9,10 +9,10 @@ class Mvapich2(Package):
homepage = "http://www.homepage.org"
url = "http://www.someurl"
- version('1.5', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
+ version("1.5", "9c5d5d4fe1e17dd12153f40bc5b6dbc0")
variant(
- 'file_systems',
- description='List of the ROMIO file systems to activate',
- values=auto_or_any_combination_of('lustre', 'gpfs', 'nfs', 'ufs'),
+ "file_systems",
+ description="List of the ROMIO file systems to activate",
+ values=auto_or_any_combination_of("lustre", "gpfs", "nfs", "ufs"),
)
diff --git a/var/spack/repos/builtin.mock/packages/mvdefaults/package.py b/var/spack/repos/builtin.mock/packages/mvdefaults/package.py
index 6d7e3c479c..84a5100c53 100644
--- a/var/spack/repos/builtin.mock/packages/mvdefaults/package.py
+++ b/var/spack/repos/builtin.mock/packages/mvdefaults/package.py
@@ -7,9 +7,8 @@ from spack.package import *
class Mvdefaults(Package):
homepage = "http://www.example.com"
- url = "http://www.example.com/mvdefaults-1.0.tar.gz"
+ url = "http://www.example.com/mvdefaults-1.0.tar.gz"
- version('1.0', 'abcdef1234567890abcdef1234567890')
+ version("1.0", "abcdef1234567890abcdef1234567890")
- variant('foo', values=('a', 'b', 'c'), default=('a', 'b', 'c'),
- multi=True, description='')
+ variant("foo", values=("a", "b", "c"), default=("a", "b", "c"), multi=True, description="")
diff --git a/var/spack/repos/builtin.mock/packages/needs-relocation/package.py b/var/spack/repos/builtin.mock/packages/needs-relocation/package.py
index 46f9e39df5..7f8d6f852d 100644
--- a/var/spack/repos/builtin.mock/packages/needs-relocation/package.py
+++ b/var/spack/repos/builtin.mock/packages/needs-relocation/package.py
@@ -14,15 +14,16 @@ def check(condition, msg):
class NeedsRelocation(Package):
"""A dumy package that encodes its prefix."""
- homepage = 'https://www.cmake.org'
- url = 'https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('0.0.0', '12345678qwertyuiasdfghjkzxcvbnm0')
+ homepage = "https://www.cmake.org"
+ url = "https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz"
+
+ version("0.0.0", "12345678qwertyuiasdfghjkzxcvbnm0")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- exe = join_path(prefix.bin, 'exe')
- with open(exe, 'w') as f:
+ exe = join_path(prefix.bin, "exe")
+ with open(exe, "w") as f:
f.write(prefix)
set_executable(exe)
diff --git a/var/spack/repos/builtin.mock/packages/netlib-blas/package.py b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
index 455c539d33..d59b790090 100644
--- a/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
+++ b/var/spack/repos/builtin.mock/packages/netlib-blas/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class NetlibBlas(Package):
homepage = "http://www.netlib.org/lapack/"
- url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
+ url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
- version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
+ version("3.5.0", "b1d3e3e425b2e44a06760ff173104bdf")
- provides('blas')
+ provides("blas")
diff --git a/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
index 4d4c8f05c6..925553dfb4 100644
--- a/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin.mock/packages/netlib-lapack/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class NetlibLapack(Package):
homepage = "http://www.netlib.org/lapack/"
- url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
+ url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
- version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
+ version("3.5.0", "b1d3e3e425b2e44a06760ff173104bdf")
- provides('lapack')
- depends_on('blas')
+ provides("lapack")
+ depends_on("blas")
diff --git a/var/spack/repos/builtin.mock/packages/ninja/package.py b/var/spack/repos/builtin.mock/packages/ninja/package.py
index e90c0569f7..864c58ea10 100644
--- a/var/spack/repos/builtin.mock/packages/ninja/package.py
+++ b/var/spack/repos/builtin.mock/packages/ninja/package.py
@@ -10,6 +10,6 @@ class Ninja(Package):
"""Dummy Ninja Package"""
homepage = "https://ninja-build.org/"
- url = "https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz"
+ url = "https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz"
- version('1.10.2', sha256='ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed')
+ version("1.10.2", sha256="ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed")
diff --git a/var/spack/repos/builtin.mock/packages/non-existing-conditional-dep/package.py b/var/spack/repos/builtin.mock/packages/non-existing-conditional-dep/package.py
index 2b964948c0..253f996f06 100644
--- a/var/spack/repos/builtin.mock/packages/non-existing-conditional-dep/package.py
+++ b/var/spack/repos/builtin.mock/packages/non-existing-conditional-dep/package.py
@@ -10,7 +10,7 @@ class NonExistingConditionalDep(Package):
homepage = "http://www.example.com"
- version('2.0')
- version('1.0')
+ version("2.0")
+ version("1.0")
- depends_on('dep-with-variants@999', when='@2.0')
+ depends_on("dep-with-variants@999", when="@2.0")
diff --git a/var/spack/repos/builtin.mock/packages/nosource-bundle/package.py b/var/spack/repos/builtin.mock/packages/nosource-bundle/package.py
index 801900b0be..28b22df5fe 100644
--- a/var/spack/repos/builtin.mock/packages/nosource-bundle/package.py
+++ b/var/spack/repos/builtin.mock/packages/nosource-bundle/package.py
@@ -12,6 +12,6 @@ class NosourceBundle(BundlePackage):
homepage = "http://www.example.com"
- version('1.0')
+ version("1.0")
- depends_on('dependency-install')
+ depends_on("dependency-install")
diff --git a/var/spack/repos/builtin.mock/packages/nosource-install/package.py b/var/spack/repos/builtin.mock/packages/nosource-install/package.py
index 2e4b6f2795..a1ca724448 100644
--- a/var/spack/repos/builtin.mock/packages/nosource-install/package.py
+++ b/var/spack/repos/builtin.mock/packages/nosource-install/package.py
@@ -11,18 +11,18 @@ class NosourceInstall(BundlePackage):
homepage = "http://www.example.com"
- version('2.0')
- version('1.0')
+ version("2.0")
+ version("1.0")
- depends_on('dependency-install')
+ depends_on("dependency-install")
# The install phase must be specified.
- phases = ['install']
+ phases = ["install"]
# The install method must also be present.
def install(self, spec, prefix):
- touch(join_path(self.prefix, 'install.txt'))
+ touch(join_path(self.prefix, "install.txt"))
- @run_after('install')
+ @run_after("install")
def post_install(self):
- touch(join_path(self.prefix, 'post-install.txt'))
+ touch(join_path(self.prefix, "post-install.txt"))
diff --git a/var/spack/repos/builtin.mock/packages/nosource/package.py b/var/spack/repos/builtin.mock/packages/nosource/package.py
index 5d08ffa3a1..8653125075 100644
--- a/var/spack/repos/builtin.mock/packages/nosource/package.py
+++ b/var/spack/repos/builtin.mock/packages/nosource/package.py
@@ -12,6 +12,6 @@ class Nosource(Package):
homepage = "http://www.example.com"
- version('1.0')
+ version("1.0")
- depends_on('dependency-install')
+ depends_on("dependency-install")
diff --git a/var/spack/repos/builtin.mock/packages/noversion-bundle/package.py b/var/spack/repos/builtin.mock/packages/noversion-bundle/package.py
index 2f612a63a1..cde758c953 100644
--- a/var/spack/repos/builtin.mock/packages/noversion-bundle/package.py
+++ b/var/spack/repos/builtin.mock/packages/noversion-bundle/package.py
@@ -15,4 +15,4 @@ class NoversionBundle(BundlePackage):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- depends_on('dependency-install')
+ depends_on("dependency-install")
diff --git a/var/spack/repos/builtin.mock/packages/noversion/package.py b/var/spack/repos/builtin.mock/packages/noversion/package.py
index d2d987cac0..00f34c0c54 100644
--- a/var/spack/repos/builtin.mock/packages/noversion/package.py
+++ b/var/spack/repos/builtin.mock/packages/noversion/package.py
@@ -13,7 +13,7 @@ class Noversion(Package):
"""
homepage = "http://www.example.com"
- url = "http://www.example.com/a-1.0.tar.gz"
+ url = "http://www.example.com/a-1.0.tar.gz"
def install(self, spec, prefix):
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/old-external/package.py b/var/spack/repos/builtin.mock/packages/old-external/package.py
index 656c4f9db3..23bd506262 100644
--- a/var/spack/repos/builtin.mock/packages/old-external/package.py
+++ b/var/spack/repos/builtin.mock/packages/old-external/package.py
@@ -11,10 +11,10 @@ class OldExternal(Package):
homepage = "https://www.example.com"
url = "https://www.example.com/old-external.tar.gz"
- version('1.2.0', '0123456789abcdef0123456789abcdef')
- version('1.1.4', '0123456789abcdef0123456789abcdef')
- version('1.1.3', '0123456789abcdef0123456789abcdef')
- version('1.1.2', '0123456789abcdef0123456789abcdef')
- version('1.1.1', '0123456789abcdef0123456789abcdef')
- version('1.1.0', '0123456789abcdef0123456789abcdef')
- version('1.0.0', '0123456789abcdef0123456789abcdef')
+ version("1.2.0", "0123456789abcdef0123456789abcdef")
+ version("1.1.4", "0123456789abcdef0123456789abcdef")
+ version("1.1.3", "0123456789abcdef0123456789abcdef")
+ version("1.1.2", "0123456789abcdef0123456789abcdef")
+ version("1.1.1", "0123456789abcdef0123456789abcdef")
+ version("1.1.0", "0123456789abcdef0123456789abcdef")
+ version("1.0.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/old-sbang/package.py b/var/spack/repos/builtin.mock/packages/old-sbang/package.py
index 9c65f692d7..e153dbe97c 100644
--- a/var/spack/repos/builtin.mock/packages/old-sbang/package.py
+++ b/var/spack/repos/builtin.mock/packages/old-sbang/package.py
@@ -11,25 +11,29 @@ class OldSbang(Package):
"""Toy package for testing the old sbang replacement problem"""
homepage = "https://www.example.com"
- url = "https://www.example.com/old-sbang.tar.gz"
+ url = "https://www.example.com/old-sbang.tar.gz"
- version('1.0.0', '0123456789abcdef0123456789abcdef')
+ version("1.0.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- sbang_style_1 = '''#!/bin/bash {0}/bin/sbang
+ sbang_style_1 = """#!/bin/bash {0}/bin/sbang
#!/usr/bin/env python
{1}
-'''.format(spack.paths.prefix, prefix.bin)
- sbang_style_2 = '''#!/bin/sh {0}/bin/sbang
+""".format(
+ spack.paths.prefix, prefix.bin
+ )
+ sbang_style_2 = """#!/bin/sh {0}/bin/sbang
#!/usr/bin/env python
{1}
-'''.format(spack.store.unpadded_root, prefix.bin)
- with open('%s/sbang-style-1.sh' % self.prefix.bin, 'w') as f:
+""".format(
+ spack.store.unpadded_root, prefix.bin
+ )
+ with open("%s/sbang-style-1.sh" % self.prefix.bin, "w") as f:
f.write(sbang_style_1)
- with open('%s/sbang-style-2.sh' % self.prefix.bin, 'w') as f:
+ with open("%s/sbang-style-2.sh" % self.prefix.bin, "w") as f:
f.write(sbang_style_2)
diff --git a/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py b/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
index 59036e8091..78c1eaf93c 100644
--- a/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
+++ b/var/spack/repos/builtin.mock/packages/openblas-with-lapack/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class OpenblasWithLapack(Package):
"""Dummy version of OpenBLAS that also provides LAPACK, for testing."""
+
homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9")
- provides('lapack')
- provides('blas')
+ provides("lapack")
+ provides("blas")
diff --git a/var/spack/repos/builtin.mock/packages/openblas/package.py b/var/spack/repos/builtin.mock/packages/openblas/package.py
index 2bcbece25e..5b8637aca2 100644
--- a/var/spack/repos/builtin.mock/packages/openblas/package.py
+++ b/var/spack/repos/builtin.mock/packages/openblas/package.py
@@ -8,14 +8,15 @@ from spack.package import *
class Openblas(Package):
"""OpenBLAS: An optimized BLAS library"""
+
homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
- version('0.2.14', 'b1190f3d3471685f17cfd1ec1d252ac9')
- version('0.2.13', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version("0.2.15", "b1190f3d3471685f17cfd1ec1d252ac9")
+ version("0.2.14", "b1190f3d3471685f17cfd1ec1d252ac9")
+ version("0.2.13", "b1190f3d3471685f17cfd1ec1d252ac9")
# See #20019 for this conflict
- conflicts('%gcc@:4.4', when='@0.2.14:')
+ conflicts("%gcc@:4.4", when="@0.2.14:")
- provides('blas')
+ provides("blas")
diff --git a/var/spack/repos/builtin.mock/packages/openmpi/package.py b/var/spack/repos/builtin.mock/packages/openmpi/package.py
index 38e1f8b24b..be5690fc97 100644
--- a/var/spack/repos/builtin.mock/packages/openmpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/openmpi/package.py
@@ -7,9 +7,9 @@ from spack.package import *
class Openmpi(Package):
- version('4.1.1')
+ version("4.1.1")
- variant('internal-hwloc', default=False)
- variant('fabrics', values=any_combination_of('psm', 'mxm'))
+ variant("internal-hwloc", default=False)
+ variant("fabrics", values=any_combination_of("psm", "mxm"))
- depends_on('hwloc', when="~internal-hwloc")
+ depends_on("hwloc", when="~internal-hwloc")
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
index e864967d67..493eac0595 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test-2/package.py
@@ -10,12 +10,12 @@ class OptionalDepTest2(Package):
"""Depends on the optional-dep-test package"""
homepage = "http://www.example.com"
- url = "http://www.example.com/optional-dep-test-2-1.0.tar.gz"
+ url = "http://www.example.com/optional-dep-test-2-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('odt', default=False)
- variant('mpi', default=False)
+ variant("odt", default=False)
+ variant("mpi", default=False)
- depends_on('optional-dep-test', when='+odt')
- depends_on('optional-dep-test+mpi', when='+mpi')
+ depends_on("optional-dep-test", when="+odt")
+ depends_on("optional-dep-test+mpi", when="+mpi")
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
index c41cfa8cf8..fffc594563 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test-3/package.py
@@ -10,11 +10,11 @@ class OptionalDepTest3(Package):
"""Depends on the optional-dep-test package"""
homepage = "http://www.example.com"
- url = "http://www.example.com/optional-dep-test-3-1.0.tar.gz"
+ url = "http://www.example.com/optional-dep-test-3-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('var', default=False)
+ variant("var", default=False)
- depends_on('a', when='~var')
- depends_on('b', when='+var')
+ depends_on("a", when="~var")
+ depends_on("b", when="+var")
diff --git a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
index 5fb92bb23a..a9c5df82eb 100644
--- a/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/optional-dep-test/package.py
@@ -10,23 +10,23 @@ class OptionalDepTest(Package):
"""Description"""
homepage = "http://www.example.com"
- url = "http://www.example.com/optional_dep_test-1.0.tar.gz"
+ url = "http://www.example.com/optional_dep_test-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('1.1', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("1.1", "0123456789abcdef0123456789abcdef")
- variant('a', default=False)
- variant('f', default=False)
- variant('mpi', default=False)
+ variant("a", default=False)
+ variant("f", default=False)
+ variant("mpi", default=False)
- depends_on('a', when='+a')
- depends_on('b', when='@1.1')
- depends_on('c', when='%intel')
- depends_on('d', when='%intel@64.1')
- depends_on('e', when='%clang@34:40')
+ depends_on("a", when="+a")
+ depends_on("b", when="@1.1")
+ depends_on("c", when="%intel")
+ depends_on("d", when="%intel@64.1")
+ depends_on("e", when="%clang@34:40")
- depends_on('f', when='+f')
- depends_on('g', when='^f')
- depends_on('mpi', when='^g')
+ depends_on("f", when="+f")
+ depends_on("g", when="^f")
+ depends_on("mpi", when="^g")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
diff --git a/var/spack/repos/builtin.mock/packages/othervirtual/package.py b/var/spack/repos/builtin.mock/packages/othervirtual/package.py
index d47e4efeda..41d9cb695d 100644
--- a/var/spack/repos/builtin.mock/packages/othervirtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/othervirtual/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class Othervirtual(Package):
homepage = "http://somewhere.com"
- url = "http://somewhere.com/stuff-1.0.tar.gz"
+ url = "http://somewhere.com/stuff-1.0.tar.gz"
- version('1.0', '67890abcdef1234567890abcdef12345')
+ version("1.0", "67890abcdef1234567890abcdef12345")
- provides('stuff')
+ provides("stuff")
diff --git a/var/spack/repos/builtin.mock/packages/override-context-templates/package.py b/var/spack/repos/builtin.mock/packages/override-context-templates/package.py
index 8cd53e4b0a..6ab4816a78 100644
--- a/var/spack/repos/builtin.mock/packages/override-context-templates/package.py
+++ b/var/spack/repos/builtin.mock/packages/override-context-templates/package.py
@@ -11,10 +11,11 @@ class OverrideContextTemplates(Package):
And additional lines that shouldn't be in the short description.
"""
+
homepage = "http://www.fake-spack-example.org"
- url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
+ url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- tcl_template = 'extension.tcl'
- tcl_context = {'sentence': "sentence from package"}
+ tcl_template = "extension.tcl"
+ tcl_context = {"sentence": "sentence from package"}
diff --git a/var/spack/repos/builtin.mock/packages/override-module-templates/package.py b/var/spack/repos/builtin.mock/packages/override-module-templates/package.py
index d4e3ae9494..3970e82928 100644
--- a/var/spack/repos/builtin.mock/packages/override-module-templates/package.py
+++ b/var/spack/repos/builtin.mock/packages/override-module-templates/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class OverrideModuleTemplates(Package):
homepage = "http://www.fake-spack-example.org"
- url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
+ url = "http://www.fake-spack-example.org/downloads/fake-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- tcl_template = 'override.txt'
- lmod_template = 'override.txt'
+ tcl_template = "override.txt"
+ lmod_template = "override.txt"
diff --git a/var/spack/repos/builtin.mock/packages/patch-a-dependency/package.py b/var/spack/repos/builtin.mock/packages/patch-a-dependency/package.py
index c347355b0e..f71e779a49 100644
--- a/var/spack/repos/builtin.mock/packages/patch-a-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/patch-a-dependency/package.py
@@ -12,6 +12,6 @@ class PatchADependency(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('libelf', patches=patch('libelf.patch'))
+ depends_on("libelf", patches=patch("libelf.patch"))
diff --git a/var/spack/repos/builtin.mock/packages/patch-several-dependencies/package.py b/var/spack/repos/builtin.mock/packages/patch-several-dependencies/package.py
index cb987a112b..41c3971c9a 100644
--- a/var/spack/repos/builtin.mock/packages/patch-several-dependencies/package.py
+++ b/var/spack/repos/builtin.mock/packages/patch-several-dependencies/package.py
@@ -12,31 +12,41 @@ class PatchSeveralDependencies(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/patch-a-dependency-1.0.tar.gz"
- version('2.0', '0123456789abcdef0123456789abcdef')
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("2.0", "0123456789abcdef0123456789abcdef")
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('foo', default=False,
- description='Forces a version on libelf')
+ variant("foo", default=False, description="Forces a version on libelf")
# demonstrate all the different ways to patch things
# single patch file in repo
- depends_on('libelf', patches='foo.patch')
- depends_on('libelf@0.8.10', patches='foo.patch', when='+foo')
+ depends_on("libelf", patches="foo.patch")
+ depends_on("libelf@0.8.10", patches="foo.patch", when="+foo")
# using a list of patches in one depends_on
- depends_on('libdwarf', patches=[
- patch('bar.patch'), # nested patch directive
- patch('baz.patch', when='@20111030') # and with a conditional
- ], when='@1.0') # with a depends_on conditional
+ depends_on(
+ "libdwarf",
+ patches=[
+ patch("bar.patch"), # nested patch directive
+ patch("baz.patch", when="@20111030"), # and with a conditional
+ ],
+ when="@1.0",
+ ) # with a depends_on conditional
# URL patches
- depends_on('fake', patches=[
- # uncompressed URL patch
- patch('http://example.com/urlpatch.patch',
- sha256='abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234'),
- # compressed URL patch requires separate archive sha
- patch('http://example.com/urlpatch2.patch.gz',
- archive_sha256='abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd',
- sha256='1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd')
- ])
+ depends_on(
+ "fake",
+ patches=[
+ # uncompressed URL patch
+ patch(
+ "http://example.com/urlpatch.patch",
+ sha256="abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ ),
+ # compressed URL patch requires separate archive sha
+ patch(
+ "http://example.com/urlpatch2.patch.gz",
+ archive_sha256="abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd",
+ sha256="1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd",
+ ),
+ ],
+ )
diff --git a/var/spack/repos/builtin.mock/packages/patch/package.py b/var/spack/repos/builtin.mock/packages/patch/package.py
index 433a53e1f9..c132dd8037 100644
--- a/var/spack/repos/builtin.mock/packages/patch/package.py
+++ b/var/spack/repos/builtin.mock/packages/patch/package.py
@@ -12,12 +12,12 @@ class Patch(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/patch-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('1.0.1')
- version('1.0.2')
- version('2.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("1.0.1")
+ version("1.0.2")
+ version("2.0", "0123456789abcdef0123456789abcdef")
- patch('foo.patch')
- patch('bar.patch', when='@2:')
- patch('baz.patch')
- patch('biz.patch', when='@1.0.1:1.0.2')
+ patch("foo.patch")
+ patch("bar.patch", when="@2:")
+ patch("baz.patch")
+ patch("biz.patch", when="@1.0.1:1.0.2")
diff --git a/var/spack/repos/builtin.mock/packages/patchelf/package.py b/var/spack/repos/builtin.mock/packages/patchelf/package.py
index b42a65bff8..123d5700fd 100644
--- a/var/spack/repos/builtin.mock/packages/patchelf/package.py
+++ b/var/spack/repos/builtin.mock/packages/patchelf/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Patchelf(AutotoolsPackage):
"""PatchELF is a small utility to modify the dynamic linker and RPATH of
- ELF executables."""
+ ELF executables."""
homepage = "https://nixos.org/patchelf.html"
- url = "https://nixos.org/releases/patchelf/patchelf-0.10/patchelf-0.10.tar.gz"
+ url = "https://nixos.org/releases/patchelf/patchelf-0.10/patchelf-0.10.tar.gz"
list_url = "https://nixos.org/releases/patchelf/"
list_depth = 1
- version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019')
- version('0.9', sha256='f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a')
- version('0.8', sha256='14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe')
+ version("0.10", sha256="b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019")
+ version("0.9", sha256="f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a")
+ version("0.8", sha256="14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe")
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix)
diff --git a/var/spack/repos/builtin.mock/packages/perl-extension/package.py b/var/spack/repos/builtin.mock/packages/perl-extension/package.py
index a0a21b4d52..132bbaa0b0 100644
--- a/var/spack/repos/builtin.mock/packages/perl-extension/package.py
+++ b/var/spack/repos/builtin.mock/packages/perl-extension/package.py
@@ -11,14 +11,14 @@ class PerlExtension(PerlPackage):
"""A package which extends perl"""
homepage = "http://www.example.com"
- url = "http://www.example.com/extension1-1.0.tar.gz"
+ url = "http://www.example.com/extension1-1.0.tar.gz"
- version('1.0', '00000000000000000000000000000010')
- version('2.0', '00000000000000000000000000000020')
+ version("1.0", "00000000000000000000000000000010")
+ version("2.0", "00000000000000000000000000000020")
extends("perl")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with open(os.path.join(prefix.bin, 'perl-extension'), 'w+') as fout:
+ with open(os.path.join(prefix.bin, "perl-extension"), "w+") as fout:
fout.write(str(spec.version))
diff --git a/var/spack/repos/builtin.mock/packages/perl/package.py b/var/spack/repos/builtin.mock/packages/perl/package.py
index c1dc0a8576..ad4110a1d3 100644
--- a/var/spack/repos/builtin.mock/packages/perl/package.py
+++ b/var/spack/repos/builtin.mock/packages/perl/package.py
@@ -7,9 +7,10 @@ from spack.package import *
class Perl(Package):
"""Dummy Perl package to allow a dummy perl-extension in repo."""
+
homepage = "http://www.python.org"
- url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz"
+ url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz"
extendable = True
- version('0.0.0', 'abcdef1234567890abcdef1234567890')
+ version("0.0.0", "abcdef1234567890abcdef1234567890")
diff --git a/var/spack/repos/builtin.mock/packages/preferred-test/package.py b/var/spack/repos/builtin.mock/packages/preferred-test/package.py
index 5e9fedf7ae..96d51ee312 100644
--- a/var/spack/repos/builtin.mock/packages/preferred-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/preferred-test/package.py
@@ -8,8 +8,13 @@ from spack.package import *
class PreferredTest(Package):
"""Dummy package with develop version and preferred version"""
+
homepage = "https://github.com/LLNL/mpileaks"
- url = "https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
+ url = "https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
- version('develop', git='https://github.com/LLNL/mpileaks.git')
- version('1.0', sha256='2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825', preferred=True)
+ version("develop", git="https://github.com/LLNL/mpileaks.git")
+ version(
+ "1.0",
+ sha256="2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825",
+ preferred=True,
+ )
diff --git a/var/spack/repos/builtin.mock/packages/printing-package/package.py b/var/spack/repos/builtin.mock/packages/printing-package/package.py
index 84de889817..b811c0398a 100644
--- a/var/spack/repos/builtin.mock/packages/printing-package/package.py
+++ b/var/spack/repos/builtin.mock/packages/printing-package/package.py
@@ -11,21 +11,22 @@ class PrintingPackage(Package):
We use this to test whether that output is properly logged.
"""
+
homepage = "http://www.example.com/printing_package"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
print("BEFORE INSTALL")
- configure('--prefix=%s' % prefix)
+ configure("--prefix=%s" % prefix)
make()
- make('install')
+ make("install")
print("AFTER INSTALL")
def test(self):
print("BEFORE TEST")
- self.run_test('true') # run /bin/true
+ self.run_test("true") # run /bin/true
print("AFTER TEST")
diff --git a/var/spack/repos/builtin.mock/packages/py-extension1/package.py b/var/spack/repos/builtin.mock/packages/py-extension1/package.py
index afd644b9bb..cd8755691e 100644
--- a/var/spack/repos/builtin.mock/packages/py-extension1/package.py
+++ b/var/spack/repos/builtin.mock/packages/py-extension1/package.py
@@ -11,17 +11,17 @@ class PyExtension1(PythonPackage):
"""A package which extends python"""
homepage = "http://www.example.com"
- url = "http://www.example.com/extension1-1.0.tar.gz"
+ url = "http://www.example.com/extension1-1.0.tar.gz"
# Override settings in base class
maintainers = []
- version('1.0', '00000000000000000000000000000110')
- version('2.0', '00000000000000000000000000000120')
+ version("1.0", "00000000000000000000000000000110")
+ version("2.0", "00000000000000000000000000000120")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with open(os.path.join(prefix.bin, 'py-extension1'), 'w+') as fout:
+ with open(os.path.join(prefix.bin, "py-extension1"), "w+") as fout:
fout.write(str(spec.version))
- extends('python')
+ extends("python")
diff --git a/var/spack/repos/builtin.mock/packages/py-extension2/package.py b/var/spack/repos/builtin.mock/packages/py-extension2/package.py
index eb9fe7c776..6aef13257c 100644
--- a/var/spack/repos/builtin.mock/packages/py-extension2/package.py
+++ b/var/spack/repos/builtin.mock/packages/py-extension2/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class PyExtension2(PythonPackage):
"""A package which extends python. It also depends on another
- package which extends the same package."""
+ package which extends the same package."""
homepage = "http://www.example.com"
- url = "http://www.example.com/extension2-1.0.tar.gz"
+ url = "http://www.example.com/extension2-1.0.tar.gz"
# Override settings in base class
maintainers = []
extends("python")
- depends_on('py-extension1', type=('build', 'run'))
+ depends_on("py-extension1", type=("build", "run"))
- version('1.0', '00000000000000000000000000000210')
+ version("1.0", "00000000000000000000000000000210")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with open(os.path.join(prefix.bin, 'py-extension2'), 'w+') as fout:
+ with open(os.path.join(prefix.bin, "py-extension2"), "w+") as fout:
fout.write(str(spec.version))
diff --git a/var/spack/repos/builtin.mock/packages/py-extension3/package.py b/var/spack/repos/builtin.mock/packages/py-extension3/package.py
index 89c404899c..a6e0d801ef 100644
--- a/var/spack/repos/builtin.mock/packages/py-extension3/package.py
+++ b/var/spack/repos/builtin.mock/packages/py-extension3/package.py
@@ -14,11 +14,11 @@ class PyExtension3(Package):
url = "http://www.example.com/extension3-1.0.tar.gz"
depends_on("python")
- depends_on('py-extension1', type=('build', 'run'), when='^python@:2.8.0')
+ depends_on("py-extension1", type=("build", "run"), when="^python@:2.8.0")
- depends_on('patchelf@0.9', when='@1.0:1.1 ^python@:2')
- depends_on('patchelf@0.10', when='@1.0:1.1 ^python@3:')
+ depends_on("patchelf@0.9", when="@1.0:1.1 ^python@:2")
+ depends_on("patchelf@0.10", when="@1.0:1.1 ^python@3:")
- version('2.0', '00000000000000000000000000000320')
- version('1.1', '00000000000000000000000000000311')
- version('1.0', '00000000000000000000000000000310')
+ version("2.0", "00000000000000000000000000000320")
+ version("1.1", "00000000000000000000000000000311")
+ version("1.0", "00000000000000000000000000000310")
diff --git a/var/spack/repos/builtin.mock/packages/py-pip/package.py b/var/spack/repos/builtin.mock/packages/py-pip/package.py
index 7e0b7d06ce..437686480b 100644
--- a/var/spack/repos/builtin.mock/packages/py-pip/package.py
+++ b/var/spack/repos/builtin.mock/packages/py-pip/package.py
@@ -10,6 +10,6 @@ class PyPip(Package):
"""Only needed because other mock packages use PythonPackage"""
homepage = "http://www.example.com"
- url = "http://www.example.com/pip-1.0.tar.gz"
+ url = "http://www.example.com/pip-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/py-wheel/package.py b/var/spack/repos/builtin.mock/packages/py-wheel/package.py
index 54128d5a88..c3a23e03a5 100644
--- a/var/spack/repos/builtin.mock/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin.mock/packages/py-wheel/package.py
@@ -10,6 +10,6 @@ class PyWheel(Package):
"""Only needed because other mock packages use PythonPackage"""
homepage = "http://www.example.com"
- url = "http://www.example.com/wheel-1.0.tar.gz"
+ url = "http://www.example.com/wheel-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/python/package.py b/var/spack/repos/builtin.mock/packages/python/package.py
index 4585efc53f..fc091e45e2 100644
--- a/var/spack/repos/builtin.mock/packages/python/package.py
+++ b/var/spack/repos/builtin.mock/packages/python/package.py
@@ -8,14 +8,15 @@ from spack.package import *
class Python(Package):
"""Dummy Python package to demonstrate preferred versions."""
+
homepage = "http://www.python.org"
- url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz"
+ url = "http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz"
extendable = True
- version('3.5.1', 'be78e48cdfc1a7ad90efff146dce6cfe')
- version('3.5.0', 'a56c0c0b45d75a0ec9c6dee933c41c36')
- version('2.7.11', '6b6076ec9e93f05dd63e47eb9c15728b', preferred=True)
- version('2.7.10', 'd7547558fd673bd9d38e2108c6b42521')
- version('2.7.9', '5eebcaa0030dc4061156d3429657fb83')
- version('2.7.8', 'd4bca0159acb0b44a781292b5231936f')
+ version("3.5.1", "be78e48cdfc1a7ad90efff146dce6cfe")
+ version("3.5.0", "a56c0c0b45d75a0ec9c6dee933c41c36")
+ version("2.7.11", "6b6076ec9e93f05dd63e47eb9c15728b", preferred=True)
+ version("2.7.10", "d7547558fd673bd9d38e2108c6b42521")
+ version("2.7.9", "5eebcaa0030dc4061156d3429657fb83")
+ version("2.7.8", "d4bca0159acb0b44a781292b5231936f")
diff --git a/var/spack/repos/builtin.mock/packages/quantum-espresso/package.py b/var/spack/repos/builtin.mock/packages/quantum-espresso/package.py
index 49fa1942e6..ccd361d5d4 100644
--- a/var/spack/repos/builtin.mock/packages/quantum-espresso/package.py
+++ b/var/spack/repos/builtin.mock/packages/quantum-espresso/package.py
@@ -10,18 +10,19 @@ class QuantumEspresso(Package):
cases with the old concretizer have been solved by the
new ones.
"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/qe-1.0.tar.gz"
- version(1.0, '1234567890abcdef1234567890abcdef')
+ version(1.0, "1234567890abcdef1234567890abcdef")
- variant('invino', default=True, description='?')
- variant('veritas', default=True, description='?')
+ variant("invino", default=True, description="?")
+ variant("veritas", default=True, description="?")
- depends_on('fftw@:1.0')
- depends_on('fftw+mpi', when='+invino')
+ depends_on("fftw@:1.0")
+ depends_on("fftw+mpi", when="+invino")
- depends_on('openblas', when='^fftw@:1')
+ depends_on("openblas", when="^fftw@:1")
- depends_on('libelf@0.8.10:')
- depends_on('libelf@:0.8.12', when='+veritas')
+ depends_on("libelf@0.8.10:")
+ depends_on("libelf@:0.8.12", when="+veritas")
diff --git a/var/spack/repos/builtin.mock/packages/quux/package.py b/var/spack/repos/builtin.mock/packages/quux/package.py
index e07ca6ee34..693ef07ba4 100644
--- a/var/spack/repos/builtin.mock/packages/quux/package.py
+++ b/var/spack/repos/builtin.mock/packages/quux/package.py
@@ -15,12 +15,12 @@ class Quux(Package):
homepage = "https://www.example.com"
has_code = False
- version('3.0.0')
+ version("3.0.0")
- depends_on('garply')
+ depends_on("garply")
def install(self, spec, prefix):
- quux_cc = '''#include "quux.h"
+ quux_cc = """#include "quux.h"
#include "garply/garply.h"
#include "quux_version.h"
#include <iostream>
@@ -54,8 +54,8 @@ Quux::quuxify() const
return quux_version;
}
-'''
- quux_h = '''#ifndef QUUX_H_
+"""
+ quux_h = """#ifndef QUUX_H_
class Quux
{
@@ -70,8 +70,8 @@ public:
};
#endif // QUUX_H_
-'''
- quuxifier_cc = '''
+"""
+ quuxifier_cc = """
#include "quux.h"
#include <iostream>
@@ -83,74 +83,113 @@ main()
return 0;
}
-'''
- quux_version_h = '''const int quux_version_major = %s;
+"""
+ quux_version_h = """const int quux_version_major = %s;
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:
+"""
+ 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:
+ with open("%s/quux/quux.cc" % self.stage.source_path, "w") as f:
f.write(quux_cc % (prefix.config))
- with open('%s/quux/quux.h' % self.stage.source_path, 'w') as f:
+ with open("%s/quux/quux.h" % self.stage.source_path, "w") as f:
f.write(quux_h)
- with open('%s/quux/quuxifier.cc' % self.stage.source_path, 'w') as f:
+ with open("%s/quux/quuxifier.cc" % self.stage.source_path, "w") as f:
f.write(quuxifier_cc)
- gpp = which('/usr/bin/g++')
- if sys.platform == 'darwin':
- gpp = which('/usr/bin/clang++')
- gpp('-Dquux_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-I%s' % spec['garply'].prefix.include,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'quux.cc.o',
- '-c', 'quux/quux.cc')
- gpp('-Dquux_EXPORTS',
- '-I%s' % self.stage.source_path,
- '-I%s' % spec['garply'].prefix.include,
- '-O2', '-g', '-DNDEBUG', '-fPIC',
- '-o', 'quuxifier.cc.o',
- '-c', 'quux/quuxifier.cc')
- if sys.platform == 'darwin':
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG',
- '-dynamiclib', '-Wl,-headerpad_max_install_names',
- '-o', 'libquux.dylib',
- '-install_name', '@rpath/libcorge.dylib',
- 'quux.cc.o', '-Wl,-rpath,%s' % prefix.lib64,
- '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
- '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG',
- 'quuxifier.cc.o', '-o', 'quuxifier',
- '-Wl,-rpath,%s' % prefix.lib64,
- '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
- 'libquux.dylib',
- '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
+ gpp = which("/usr/bin/g++")
+ if sys.platform == "darwin":
+ gpp = which("/usr/bin/clang++")
+ gpp(
+ "-Dquux_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-I%s" % spec["garply"].prefix.include,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "quux.cc.o",
+ "-c",
+ "quux/quux.cc",
+ )
+ gpp(
+ "-Dquux_EXPORTS",
+ "-I%s" % self.stage.source_path,
+ "-I%s" % spec["garply"].prefix.include,
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-fPIC",
+ "-o",
+ "quuxifier.cc.o",
+ "-c",
+ "quux/quuxifier.cc",
+ )
+ if sys.platform == "darwin":
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-dynamiclib",
+ "-Wl,-headerpad_max_install_names",
+ "-o",
+ "libquux.dylib",
+ "-install_name",
+ "@rpath/libcorge.dylib",
+ "quux.cc.o",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "-Wl,-rpath,%s" % spec["garply"].prefix.lib64,
+ "%s/libgarply.dylib" % spec["garply"].prefix.lib64,
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "quuxifier.cc.o",
+ "-o",
+ "quuxifier",
+ "-Wl,-rpath,%s" % prefix.lib64,
+ "-Wl,-rpath,%s" % spec["garply"].prefix.lib64,
+ "libquux.dylib",
+ "%s/libgarply.dylib" % spec["garply"].prefix.lib64,
+ )
mkdirp(prefix.lib64)
- copy('libquux.dylib', '%s/libquux.dylib' % prefix.lib64)
- os.link('%s/libquux.dylib' % prefix.lib64,
- '%s/libquux.dylib.3.0' % prefix.lib64)
+ copy("libquux.dylib", "%s/libquux.dylib" % prefix.lib64)
+ os.link("%s/libquux.dylib" % prefix.lib64, "%s/libquux.dylib.3.0" % prefix.lib64)
else:
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libquux.so', '-o', 'libquux.so', 'quux.cc.o',
- '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
- spec['garply'].prefix.lib64),
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'quuxifier.cc.o', '-o', 'quuxifier',
- '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
- spec['garply'].prefix.lib64),
- 'libquux.so',
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ gpp(
+ "-fPIC",
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-shared",
+ "-Wl,-soname,libquux.so",
+ "-o",
+ "libquux.so",
+ "quux.cc.o",
+ "-Wl,-rpath,%s:%s::::" % (prefix.lib64, spec["garply"].prefix.lib64),
+ "%s/libgarply.so" % spec["garply"].prefix.lib64,
+ )
+ gpp(
+ "-O2",
+ "-g",
+ "-DNDEBUG",
+ "-rdynamic",
+ "quuxifier.cc.o",
+ "-o",
+ "quuxifier",
+ "-Wl,-rpath,%s:%s::::" % (prefix.lib64, spec["garply"].prefix.lib64),
+ "libquux.so",
+ "%s/libgarply.so" % spec["garply"].prefix.lib64,
+ )
mkdirp(prefix.lib64)
- copy('libquux.so', '%s/libquux.so' % prefix.lib64)
- os.link('%s/libquux.so' % prefix.lib64,
- '%s/libquux.so.3.0' % prefix.lib64)
- copy('quuxifier', '%s/quuxifier' % prefix.lib64)
- copy('%s/quux/quux.h' % self.stage.source_path,
- '%s/quux/quux.h' % prefix.include)
+ copy("libquux.so", "%s/libquux.so" % prefix.lib64)
+ os.link("%s/libquux.so" % prefix.lib64, "%s/libquux.so.3.0" % prefix.lib64)
+ copy("quuxifier", "%s/quuxifier" % prefix.lib64)
+ copy("%s/quux/quux.h" % self.stage.source_path, "%s/quux/quux.h" % prefix.include)
mkdirp(prefix.bin)
- copy('quux_version.h', '%s/quux_version.h' % prefix.bin)
- os.symlink('%s/quuxifier' % prefix.lib64, '%s/quuxifier' % prefix.bin)
- os.symlink('%s/garplinator' % spec['garply'].prefix.lib64,
- '%s/garplinator' % prefix.bin)
+ copy("quux_version.h", "%s/quux_version.h" % prefix.bin)
+ os.symlink("%s/quuxifier" % prefix.lib64, "%s/quuxifier" % prefix.bin)
+ os.symlink("%s/garplinator" % spec["garply"].prefix.lib64, "%s/garplinator" % prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/raiser/package.py b/var/spack/repos/builtin.mock/packages/raiser/package.py
index daabfc8413..59169a3a12 100644
--- a/var/spack/repos/builtin.mock/packages/raiser/package.py
+++ b/var/spack/repos/builtin.mock/packages/raiser/package.py
@@ -16,28 +16,28 @@ class Raiser(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "0123456789abcdef0123456789abcdef")
+ version("2.0", "abcdef0123456789abcdef0123456789")
variant(
- 'exc_type',
+ "exc_type",
values=lambda x: isinstance(x, str),
- default='RuntimeError',
- description='type of the exception to be raised',
- multi=False
+ default="RuntimeError",
+ description="type of the exception to be raised",
+ multi=False,
)
variant(
- 'msg',
+ "msg",
values=lambda x: isinstance(x, str),
- default='Unknown Exception',
- description='message that will be tied to the exception',
- multi=False
+ default="Unknown Exception",
+ description="message that will be tied to the exception",
+ multi=False,
)
def install(self, spec, prefix):
- print('Raiser will raise ')
- exc_typename = self.spec.variants['exc_type'].value
+ print("Raiser will raise ")
+ exc_typename = self.spec.variants["exc_type"].value
exc_type = getattr(builtins, exc_typename)
- msg = self.spec.variants['msg'].value
+ msg = self.spec.variants["msg"].value
raise exc_type(msg)
diff --git a/var/spack/repos/builtin.mock/packages/requires-virtual/package.py b/var/spack/repos/builtin.mock/packages/requires-virtual/package.py
index 5049f2a9b7..b2afaaf089 100644
--- a/var/spack/repos/builtin.mock/packages/requires-virtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/requires-virtual/package.py
@@ -14,6 +14,6 @@ class RequiresVirtual(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- version('2.0', 'abcdef0123456789abcdef0123456789')
+ version("2.0", "abcdef0123456789abcdef0123456789")
- depends_on('stuff')
+ depends_on("stuff")
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
index 3be035ca4d..e01e28f102 100644
--- a/var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py
+++ b/var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py
@@ -9,6 +9,6 @@ class RootAddsVirtual(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/root-adds-virtual-1.0.tar.gz"
- version('1.0', sha256='abcdef0123456789abcdef0123456789')
+ version("1.0", sha256="abcdef0123456789abcdef0123456789")
- depends_on('middle-adds-virtual')
+ depends_on("middle-adds-virtual")
diff --git a/var/spack/repos/builtin.mock/packages/root/package.py b/var/spack/repos/builtin.mock/packages/root/package.py
index 221f9681e2..26aa0bb1c9 100644
--- a/var/spack/repos/builtin.mock/packages/root/package.py
+++ b/var/spack/repos/builtin.mock/packages/root/package.py
@@ -9,6 +9,6 @@ class Root(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/root-1.0.tar.gz"
- version('1.0', 'abcdef0123456789abcdef0123456789')
+ version("1.0", "abcdef0123456789abcdef0123456789")
- depends_on('gmt')
+ depends_on("gmt")
diff --git a/var/spack/repos/builtin.mock/packages/simple-inheritance/package.py b/var/spack/repos/builtin.mock/packages/simple-inheritance/package.py
index 2461862218..70bb57f835 100644
--- a/var/spack/repos/builtin.mock/packages/simple-inheritance/package.py
+++ b/var/spack/repos/builtin.mock/packages/simple-inheritance/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class BaseWithDirectives(Package):
- depends_on('cmake', type='build')
- depends_on('mpi')
- variant('openblas', description='Activates openblas', default=True)
- provides('service1')
+ depends_on("cmake", type="build")
+ depends_on("mpi")
+ variant("openblas", description="Activates openblas", default=True)
+ provides("service1")
def use_module_variable(self):
"""Must be called in build environment. Allows us to test parent class
- using module variables set up by build_environment."""
- env['TEST_MODULE_VAR'] = 'test_module_variable'
- return env['TEST_MODULE_VAR']
+ using module variables set up by build_environment."""
+ env["TEST_MODULE_VAR"] = "test_module_variable"
+ return env["TEST_MODULE_VAR"]
class SimpleInheritance(BaseWithDirectives):
@@ -26,7 +26,7 @@ class SimpleInheritance(BaseWithDirectives):
homepage = "http://www.example.com"
url = "http://www.example.com/simple-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('openblas', when='+openblas')
- provides('lapack', when='+openblas')
+ depends_on("openblas", when="+openblas")
+ provides("lapack", when="+openblas")
diff --git a/var/spack/repos/builtin.mock/packages/simple-standalone-test/package.py b/var/spack/repos/builtin.mock/packages/simple-standalone-test/package.py
index 8df83c788e..46248253cd 100644
--- a/var/spack/repos/builtin.mock/packages/simple-standalone-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/simple-standalone-test/package.py
@@ -8,13 +8,12 @@ from spack.package import *
class SimpleStandaloneTest(Package):
"""This package has a simple stand-alone test features."""
+
homepage = "http://www.example.com/simple_test"
- url = "http://www.unit-test-should-replace-this-url/simple_test-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/simple_test-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def test(self):
- msg = 'simple stand-alone test'
- self.run_test('echo', [msg],
- expected=[msg],
- purpose='test: running {0}'.format(msg))
+ msg = "simple stand-alone test"
+ self.run_test("echo", [msg], expected=[msg], purpose="test: running {0}".format(msg))
diff --git a/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent-type/package.py b/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent-type/package.py
index 2bb841a466..ae0615f0f7 100644
--- a/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent-type/package.py
+++ b/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent-type/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class SinglevalueVariantDependentType(Package):
"""Simple package with one dependency that has a single-valued
- variant with values=str"""
+ variant with values=str"""
homepage = "http://www.example.com"
- url = "http://www.example.com/archive-1.0.tar.gz"
+ url = "http://www.example.com/archive-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('singlevalue-variant fum=nope')
+ depends_on("singlevalue-variant fum=nope")
diff --git a/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent/package.py b/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent/package.py
index 6d9bfe26c9..418d00d4f2 100644
--- a/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent/package.py
+++ b/var/spack/repos/builtin.mock/packages/singlevalue-variant-dependent/package.py
@@ -10,8 +10,8 @@ class SinglevalueVariantDependent(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/archive-1.0.tar.gz"
+ url = "http://www.example.com/archive-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('multivalue-variant fee=baz')
+ depends_on("multivalue-variant fee=baz")
diff --git a/var/spack/repos/builtin.mock/packages/singlevalue-variant/package.py b/var/spack/repos/builtin.mock/packages/singlevalue-variant/package.py
index 2440da9bb8..cc831186b2 100644
--- a/var/spack/repos/builtin.mock/packages/singlevalue-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/singlevalue-variant/package.py
@@ -11,12 +11,12 @@ class SinglevalueVariant(Package):
homepage = "http://www.llnl.gov"
url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
- version(1.0, '0123456789abcdef0123456789abcdef')
+ version(1.0, "0123456789abcdef0123456789abcdef")
variant(
- 'fum',
- description='Single-valued variant with type in values',
- default='bar',
+ "fum",
+ description="Single-valued variant with type in values",
+ default="bar",
values=str,
- multi=False
+ multi=False,
)
diff --git a/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py b/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py
index 0a024ae4fb..3075049fd1 100644
--- a/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py
+++ b/var/spack/repos/builtin.mock/packages/some-virtual-mv/package.py
@@ -12,11 +12,16 @@ class SomeVirtualMv(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/foo-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('somevirtual')
+ provides("somevirtual")
# This multi valued variant is needed to trigger an optimization
# criteria for clingo
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ 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/some-virtual-preferred/package.py b/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py
index b0b1c9ce17..242c3bb240 100644
--- a/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py
+++ b/var/spack/repos/builtin.mock/packages/some-virtual-preferred/package.py
@@ -12,6 +12,6 @@ class SomeVirtualPreferred(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/foo-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('somevirtual')
+ provides("somevirtual")
diff --git a/var/spack/repos/builtin.mock/packages/splice-a/package.py b/var/spack/repos/builtin.mock/packages/splice-a/package.py
index b8d3dcb243..fd4b952d9c 100644
--- a/var/spack/repos/builtin.mock/packages/splice-a/package.py
+++ b/var/spack/repos/builtin.mock/packages/splice-a/package.py
@@ -10,21 +10,21 @@ class SpliceA(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/splice-a-1.0.tar.gz"
+ url = "http://www.example.com/splice-a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789efghij')
+ version("1.0", "0123456789abcdef0123456789efghij")
- variant('foo', default=False, description='nope')
- variant('bar', default=False, description='nope')
- variant('baz', default=False, description='nope')
+ variant("foo", default=False, description="nope")
+ variant("bar", default=False, description="nope")
+ variant("baz", default=False, description="nope")
- depends_on('splice-z')
- depends_on('splice-z+foo', when='+foo')
+ depends_on("splice-z")
+ depends_on("splice-z+foo", when="+foo")
- provides('something')
- provides('somethingelse')
+ provides("something")
+ provides("somethingelse")
def install(self, spec, prefix):
- with open(prefix.join('splice-a'), 'w') as f:
- f.write('splice-a: {0}'.format(prefix))
- f.write('splice-z: {0}'.format(spec['splice-z'].prefix))
+ with open(prefix.join("splice-a"), "w") as f:
+ f.write("splice-a: {0}".format(prefix))
+ f.write("splice-z: {0}".format(spec["splice-z"].prefix))
diff --git a/var/spack/repos/builtin.mock/packages/splice-h/package.py b/var/spack/repos/builtin.mock/packages/splice-h/package.py
index ecfd2c8b3a..2969b9593f 100644
--- a/var/spack/repos/builtin.mock/packages/splice-h/package.py
+++ b/var/spack/repos/builtin.mock/packages/splice-h/package.py
@@ -10,21 +10,21 @@ class SpliceH(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/splice-h-1.0.tar.gz"
+ url = "http://www.example.com/splice-h-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('foo', default=False, description='nope')
- variant('bar', default=False, description='nope')
- variant('baz', default=False, description='nope')
+ variant("foo", default=False, description="nope")
+ variant("bar", default=False, description="nope")
+ variant("baz", default=False, description="nope")
- depends_on('splice-z')
- depends_on('splice-z+foo', when='+foo')
+ depends_on("splice-z")
+ depends_on("splice-z+foo", when="+foo")
- provides('something')
- provides('somethingelse')
+ provides("something")
+ provides("somethingelse")
def install(self, spec, prefix):
- with open(prefix.join('splice-h'), 'w') as f:
- f.write('splice-h: {0}'.format(prefix))
- f.write('splice-z: {0}'.format(spec['splice-z'].prefix))
+ with open(prefix.join("splice-h"), "w") as f:
+ f.write("splice-h: {0}".format(prefix))
+ f.write("splice-z: {0}".format(spec["splice-z"].prefix))
diff --git a/var/spack/repos/builtin.mock/packages/splice-t/package.py b/var/spack/repos/builtin.mock/packages/splice-t/package.py
index 9cb4a4a70e..e7d58d8da9 100644
--- a/var/spack/repos/builtin.mock/packages/splice-t/package.py
+++ b/var/spack/repos/builtin.mock/packages/splice-t/package.py
@@ -10,15 +10,15 @@ class SpliceT(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/splice-t-1.0.tar.gz"
+ url = "http://www.example.com/splice-t-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('splice-h')
- depends_on('splice-z')
+ depends_on("splice-h")
+ depends_on("splice-z")
def install(self, spec, prefix):
- with open(prefix.join('splice-t'), 'w') as f:
- f.write('splice-t: {0}'.format(prefix))
- f.write('splice-h: {0}'.format(spec['splice-h'].prefix))
- f.write('splice-z: {0}'.format(spec['splice-z'].prefix))
+ with open(prefix.join("splice-t"), "w") as f:
+ f.write("splice-t: {0}".format(prefix))
+ f.write("splice-h: {0}".format(spec["splice-h"].prefix))
+ f.write("splice-z: {0}".format(spec["splice-z"].prefix))
diff --git a/var/spack/repos/builtin.mock/packages/splice-vh/package.py b/var/spack/repos/builtin.mock/packages/splice-vh/package.py
index 424fb5ddcf..c56ceffe2b 100644
--- a/var/spack/repos/builtin.mock/packages/splice-vh/package.py
+++ b/var/spack/repos/builtin.mock/packages/splice-vh/package.py
@@ -10,20 +10,20 @@ class SpliceVh(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/splice-vh-1.0.tar.gz"
+ url = "http://www.example.com/splice-vh-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('foo', default=False, description='nope')
- variant('bar', default=False, description='nope')
- variant('baz', default=False, description='nope')
+ variant("foo", default=False, description="nope")
+ variant("bar", default=False, description="nope")
+ variant("baz", default=False, description="nope")
- depends_on('splice-z')
- depends_on('splice-z+foo', when='+foo')
+ depends_on("splice-z")
+ depends_on("splice-z+foo", when="+foo")
- provides('something')
+ provides("something")
def install(self, spec, prefix):
- with open(prefix.join('splice-vh'), 'w') as f:
- f.write('splice-vh: {0}'.format(prefix))
- f.write('splice-z: {0}'.format(spec['splice-z'].prefix))
+ with open(prefix.join("splice-vh"), "w") as f:
+ f.write("splice-vh: {0}".format(prefix))
+ f.write("splice-z: {0}".format(spec["splice-z"].prefix))
diff --git a/var/spack/repos/builtin.mock/packages/splice-z/package.py b/var/spack/repos/builtin.mock/packages/splice-z/package.py
index c818bc8a2c..a5fe0e5243 100644
--- a/var/spack/repos/builtin.mock/packages/splice-z/package.py
+++ b/var/spack/repos/builtin.mock/packages/splice-z/package.py
@@ -10,13 +10,13 @@ class SpliceZ(Package):
"""Simple package with one optional dependency"""
homepage = "http://www.example.com"
- url = "http://www.example.com/splice-z-1.0.tar.gz"
+ url = "http://www.example.com/splice-z-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('foo', default=False, description='nope')
- variant('bar', default=False, description='nope')
+ variant("foo", default=False, description="nope")
+ variant("bar", default=False, description="nope")
def install(self, spec, prefix):
- with open(prefix.join('splice-z'), 'w') as f:
- f.write('splice-z: {0}'.format(prefix))
+ with open(prefix.join("splice-z"), "w") as f:
+ f.write("splice-z: {0}".format(prefix))
diff --git a/var/spack/repos/builtin.mock/packages/sticky-variant/package.py b/var/spack/repos/builtin.mock/packages/sticky-variant/package.py
index e8a8ee24dd..6d759e39dc 100644
--- a/var/spack/repos/builtin.mock/packages/sticky-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/sticky-variant/package.py
@@ -11,8 +11,8 @@ class StickyVariant(AutotoolsPackage):
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- variant('allow-gcc', description='', default=False, sticky=True)
+ variant("allow-gcc", description="", default=False, sticky=True)
- conflicts('%gcc', when='~allow-gcc')
+ conflicts("%gcc", when="~allow-gcc")
diff --git a/var/spack/repos/builtin.mock/packages/svn-test/package.py b/var/spack/repos/builtin.mock/packages/svn-test/package.py
index ffbdf885df..82155fa294 100644
--- a/var/spack/repos/builtin.mock/packages/svn-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/svn-test/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class SvnTest(Package):
"""Mock package that uses svn for fetching."""
- url = "http://www.example.com/svn-test-1.0.tar.gz"
- version('svn', svn='to-be-filled-in-by-test')
+ url = "http://www.example.com/svn-test-1.0.tar.gz"
+
+ version("svn", svn="to-be-filled-in-by-test")
diff --git a/var/spack/repos/builtin.mock/packages/svn-top-level/package.py b/var/spack/repos/builtin.mock/packages/svn-top-level/package.py
index ea88701eb3..b166fe1adc 100644
--- a/var/spack/repos/builtin.mock/packages/svn-top-level/package.py
+++ b/var/spack/repos/builtin.mock/packages/svn-top-level/package.py
@@ -9,5 +9,5 @@ from spack.package import *
class SvnTopLevel(Package):
"""Mock package that uses svn for fetching."""
- svn = 'https://example.com/some/svn/repo'
- version('1.0')
+ svn = "https://example.com/some/svn/repo"
+ version("1.0")
diff --git a/var/spack/repos/builtin.mock/packages/symly/package.py b/var/spack/repos/builtin.mock/packages/symly/package.py
index 647450dc6d..16ec7f5af4 100644
--- a/var/spack/repos/builtin.mock/packages/symly/package.py
+++ b/var/spack/repos/builtin.mock/packages/symly/package.py
@@ -15,31 +15,29 @@ class Symly(Package):
homepage = "https://www.example.com"
has_code = False
- version('3.0.0')
+ version("3.0.0")
def install(self, spec, prefix):
- symly_c = '''
+ symly_c = """
#include <stdio.h>
int main() {
printf("I'm just here to give the build system something to do...");
return 0;
}
-'''
- mkdirp('%s/symly' % self.stage.source_path)
- with open('%s/symly/symly.c' % self.stage.source_path, 'w') as f:
+"""
+ mkdirp("%s/symly" % self.stage.source_path)
+ with open("%s/symly/symly.c" % self.stage.source_path, "w") as f:
f.write(symly_c)
- gcc = which('/usr/bin/gcc')
- if sys.platform == 'darwin':
- gcc = which('/usr/bin/clang')
+ gcc = which("/usr/bin/gcc")
+ if sys.platform == "darwin":
+ gcc = which("/usr/bin/clang")
mkdirp(prefix.bin)
mkdirp(prefix.lib64)
- gcc('-o', 'symly.bin',
- 'symly/symly.c')
+ gcc("-o", "symly.bin", "symly/symly.c")
print("prefix.bin", prefix.bin)
- copy('symly.bin', '%s/symly' % prefix.bin)
+ copy("symly.bin", "%s/symly" % prefix.bin)
# create a symlinked file.
- os.symlink('%s/symly' % prefix.bin,
- '%s/symly' % prefix.lib64)
+ os.symlink("%s/symly" % prefix.bin, "%s/symly" % prefix.lib64)
# Create a symlinked directory.
os.symlink(prefix.bin, prefix.include)
diff --git a/var/spack/repos/builtin.mock/packages/test-build-callbacks/package.py b/var/spack/repos/builtin.mock/packages/test-build-callbacks/package.py
index 3a60554674..4b4b74e9b3 100644
--- a/var/spack/repos/builtin.mock/packages/test-build-callbacks/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-build-callbacks/package.py
@@ -11,14 +11,14 @@ class TestBuildCallbacks(Package):
"""This package illustrates build callback test failure."""
homepage = "http://www.example.com/test-build-callbacks"
- url = "http://www.test-failure.test/test-build-callbacks-1.0.tar.gz"
+ url = "http://www.test-failure.test/test-build-callbacks-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- phases = ['build', 'install']
+ phases = ["build", "install"]
# Include undefined method (runtime failure) and 'test' (audit failure)
- build_time_test_callbacks = ['undefined-build-test', 'test']
- run_after('build')(Package._run_default_build_time_test_callbacks)
+ build_time_test_callbacks = ["undefined-build-test", "test"]
+ run_after("build")(Package._run_default_build_time_test_callbacks)
def build(self, spec, prefix):
pass
@@ -27,5 +27,5 @@ class TestBuildCallbacks(Package):
mkdirp(prefix.bin)
def test(self):
- print('test: running test-build-callbacks')
- print('PASSED')
+ print("test: running test-build-callbacks")
+ print("PASSED")
diff --git a/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py b/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py
index 9746e5315d..a5d8abcfec 100644
--- a/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-dep-with-imposed-conditions/package.py
@@ -12,6 +12,6 @@ class TestDepWithImposedConditions(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/e-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('c@1.0', type='test')
+ depends_on("c@1.0", type="test")
diff --git a/var/spack/repos/builtin.mock/packages/test-dependency/package.py b/var/spack/repos/builtin.mock/packages/test-dependency/package.py
index 1bdb4f3f47..116530f805 100644
--- a/var/spack/repos/builtin.mock/packages/test-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-dependency/package.py
@@ -9,7 +9,8 @@ class TestDependency(Package):
"""Represent a dependency that is pulled-in to allow testing other
packages.
"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/tdep-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/test-error/package.py b/var/spack/repos/builtin.mock/packages/test-error/package.py
index 783973929e..4ab4027315 100644
--- a/var/spack/repos/builtin.mock/packages/test-error/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-error/package.py
@@ -10,12 +10,12 @@ class TestError(Package):
"""This package has a test method that fails in a subprocess."""
homepage = "http://www.example.com/test-failure"
- url = "http://www.test-failure.test/test-failure-1.0.tar.gz"
+ url = "http://www.test-failure.test/test-failure-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
mkdirp(prefix.bin)
def test(self):
- self.run_test('false')
+ self.run_test("false")
diff --git a/var/spack/repos/builtin.mock/packages/test-fail/package.py b/var/spack/repos/builtin.mock/packages/test-fail/package.py
index 2571b0e44e..8e18fc523f 100644
--- a/var/spack/repos/builtin.mock/packages/test-fail/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-fail/package.py
@@ -10,12 +10,12 @@ class TestFail(Package):
"""This package has a test method that fails in a subprocess."""
homepage = "http://www.example.com/test-failure"
- url = "http://www.test-failure.test/test-failure-1.0.tar.gz"
+ url = "http://www.test-failure.test/test-failure-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
mkdirp(prefix.bin)
def test(self):
- self.run_test('true', expected=['not in the output'])
+ self.run_test("true", expected=["not in the output"])
diff --git a/var/spack/repos/builtin.mock/packages/test-install-callbacks/package.py b/var/spack/repos/builtin.mock/packages/test-install-callbacks/package.py
index 099d04766d..27a31227c3 100644
--- a/var/spack/repos/builtin.mock/packages/test-install-callbacks/package.py
+++ b/var/spack/repos/builtin.mock/packages/test-install-callbacks/package.py
@@ -11,17 +11,17 @@ class TestInstallCallbacks(Package):
"""This package illustrates install callback test failure."""
homepage = "http://www.example.com/test-install-callbacks"
- url = "http://www.test-failure.test/test-install-callbacks-1.0.tar.gz"
+ url = "http://www.test-failure.test/test-install-callbacks-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# Include an undefined callback method
- install_time_test_callbacks = ['undefined-install-test', 'test']
- run_after('install')(Package._run_default_install_time_test_callbacks)
+ install_time_test_callbacks = ["undefined-install-test", "test"]
+ run_after("install")(Package._run_default_install_time_test_callbacks)
def install(self, spec, prefix):
mkdirp(prefix.bin)
def test(self):
- print('test: test-install-callbacks')
- print('PASSED')
+ print("test: test-install-callbacks")
+ print("PASSED")
diff --git a/var/spack/repos/builtin.mock/packages/transitive-conditional-virtual-dependency/package.py b/var/spack/repos/builtin.mock/packages/transitive-conditional-virtual-dependency/package.py
index f0c80a6bc2..a7c4658810 100644
--- a/var/spack/repos/builtin.mock/packages/transitive-conditional-virtual-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/transitive-conditional-virtual-dependency/package.py
@@ -7,9 +7,10 @@ from spack.package import *
class TransitiveConditionalVirtualDependency(Package):
"""Depends on a package with a conditional virtual dependency."""
+
homepage = "https://dev.null"
has_code = False
phases = []
- version('1.0')
- depends_on('conditional-virtual-dependency')
+ version("1.0")
+ depends_on("conditional-virtual-dependency")
diff --git a/var/spack/repos/builtin.mock/packages/trigger-external-non-default-variant/package.py b/var/spack/repos/builtin.mock/packages/trigger-external-non-default-variant/package.py
index a491b164be..1c4df851e9 100644
--- a/var/spack/repos/builtin.mock/packages/trigger-external-non-default-variant/package.py
+++ b/var/spack/repos/builtin.mock/packages/trigger-external-non-default-variant/package.py
@@ -7,9 +7,10 @@ from spack.package import *
class TriggerExternalNonDefaultVariant(Package):
"""This ackage depends on an external with a non-default variant"""
+
homepage = "http://www.example.com"
url = "http://www.someurl.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('external-non-default-variant')
+ depends_on("external-non-default-variant")
diff --git a/var/spack/repos/builtin.mock/packages/trivial-install-test-package/package.py b/var/spack/repos/builtin.mock/packages/trivial-install-test-package/package.py
index 9b251d8e51..95616d6fd7 100644
--- a/var/spack/repos/builtin.mock/packages/trivial-install-test-package/package.py
+++ b/var/spack/repos/builtin.mock/packages/trivial-install-test-package/package.py
@@ -7,11 +7,12 @@ from spack.package import *
class TrivialInstallTestPackage(Package):
"""This package is a stub with a trivial install method. It allows us
- to test the install and uninstall logic of spack."""
+ to test the install and uninstall logic of spack."""
+
homepage = "http://www.example.com/trivial_install"
- url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
def install(self, spec, prefix):
- touch(join_path(prefix, 'an_installation_file'))
+ touch(join_path(prefix, "an_installation_file"))
diff --git a/var/spack/repos/builtin.mock/packages/trivial-pkg-with-valid-hash/package.py b/var/spack/repos/builtin.mock/packages/trivial-pkg-with-valid-hash/package.py
index d99c6f7195..6143df3645 100644
--- a/var/spack/repos/builtin.mock/packages/trivial-pkg-with-valid-hash/package.py
+++ b/var/spack/repos/builtin.mock/packages/trivial-pkg-with-valid-hash/package.py
@@ -9,7 +9,9 @@ from spack.package import *
class TrivialPkgWithValidHash(Package):
url = "http://www.unit-test-should-replace-this-url/trivial_install-1.0"
- version('1.0', '6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72', expand=False)
+ version(
+ "1.0", "6ae8a75555209fd6c44157c0aed8016e763ff435a19cf186f76863140143ff72", expand=False
+ )
hashed_content = "test content"
diff --git a/var/spack/repos/builtin.mock/packages/trivial-smoke-test/package.py b/var/spack/repos/builtin.mock/packages/trivial-smoke-test/package.py
index 9059ad77f4..ec80640d21 100644
--- a/var/spack/repos/builtin.mock/packages/trivial-smoke-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/trivial-smoke-test/package.py
@@ -8,18 +8,19 @@ from spack.package import *
class TrivialSmokeTest(Package):
"""This package is a stub with trivial smoke test features."""
+
homepage = "http://www.example.com/trivial_test"
- url = "http://www.unit-test-should-replace-this-url/trivial_test-1.0.tar.gz"
+ url = "http://www.unit-test-should-replace-this-url/trivial_test-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- test_source_filename = 'cached_file.in'
+ test_source_filename = "cached_file.in"
- @run_before('install')
+ @run_before("install")
def create_extra_test_source(self):
mkdirp(self.install_test_root)
touch(join_path(self.install_test_root, self.test_source_filename))
- @run_after('install')
+ @run_after("install")
def copy_test_sources(self):
self.cache_extra_test_sources([self.test_source_filename])
diff --git a/var/spack/repos/builtin.mock/packages/unconstrainable-conflict/package.py b/var/spack/repos/builtin.mock/packages/unconstrainable-conflict/package.py
index 654d68e0e2..8e17c75868 100644
--- a/var/spack/repos/builtin.mock/packages/unconstrainable-conflict/package.py
+++ b/var/spack/repos/builtin.mock/packages/unconstrainable-conflict/package.py
@@ -10,10 +10,10 @@ class UnconstrainableConflict(Package):
"""Package with a conflict whose trigger cannot constrain its constraint."""
homepage = "http://www.example.com"
- url = "http://www.example.com/unconstrainable-conflict-1.0.tar.gz"
+ url = "http://www.example.com/unconstrainable-conflict-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
# Two conflicts so there's always one that is not the current platform
- conflicts('target=x86_64', when='platform=darwin')
- conflicts('target=aarch64', when='platform=linux')
+ conflicts("target=x86_64", when="platform=darwin")
+ conflicts("target=aarch64", when="platform=linux")
diff --git a/var/spack/repos/builtin.mock/packages/unsat-provider/package.py b/var/spack/repos/builtin.mock/packages/unsat-provider/package.py
index ef280270af..cd62a7e09d 100644
--- a/var/spack/repos/builtin.mock/packages/unsat-provider/package.py
+++ b/var/spack/repos/builtin.mock/packages/unsat-provider/package.py
@@ -7,12 +7,13 @@ from spack.package import *
class UnsatProvider(Package):
"""This package has a dependency on a virtual that cannot be provided"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/v1.0.tgz"
- version('1.0', sha256='0123456789abcdef0123456789abcdef')
+ version("1.0", sha256="0123456789abcdef0123456789abcdef")
- variant('foo', default=True, description='')
+ variant("foo", default=True, description="")
- provides('unsatvdep', when='+foo')
- conflicts('+foo')
+ provides("unsatvdep", when="+foo")
+ conflicts("+foo")
diff --git a/var/spack/repos/builtin.mock/packages/unsat-virtual-dependency/package.py b/var/spack/repos/builtin.mock/packages/unsat-virtual-dependency/package.py
index 2c7efbf943..c248edab40 100644
--- a/var/spack/repos/builtin.mock/packages/unsat-virtual-dependency/package.py
+++ b/var/spack/repos/builtin.mock/packages/unsat-virtual-dependency/package.py
@@ -7,9 +7,10 @@ from spack.package import *
class UnsatVirtualDependency(Package):
"""This package has a dependency on a virtual that cannot be provided"""
+
homepage = "http://www.example.com"
url = "http://www.example.com/v1.0.tgz"
- version('1.0', sha256='0123456789abcdef0123456789abcdef')
+ version("1.0", sha256="0123456789abcdef0123456789abcdef")
- depends_on('unsatvdep')
+ depends_on("unsatvdep")
diff --git a/var/spack/repos/builtin.mock/packages/url-list-test/package.py b/var/spack/repos/builtin.mock/packages/url-list-test/package.py
index 88dd1e7787..b2894bbd05 100644
--- a/var/spack/repos/builtin.mock/packages/url-list-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/url-list-test/package.py
@@ -9,17 +9,18 @@ from spack.package import *
class UrlListTest(Package):
"""Mock package with url_list."""
+
homepage = "http://www.url-list-example.com"
- web_data_path = join_path(spack.paths.test_path, 'data', 'web')
- url = 'file://' + web_data_path + '/foo-0.0.0.tar.gz'
- list_url = 'file://' + web_data_path + '/index.html'
+ web_data_path = join_path(spack.paths.test_path, "data", "web")
+ url = "file://" + web_data_path + "/foo-0.0.0.tar.gz"
+ list_url = "file://" + web_data_path + "/index.html"
list_depth = 3
- version('0.0.0', '00000000000000000000000000000000')
- version('1.0.0', '00000000000000000000000000000100')
- version('3.0', '00000000000000000000000000000030')
- version('4.5', '00000000000000000000000000000450')
- version('2.0.0b2', '000000000000000000000000000200b2')
- version('3.0a1', '000000000000000000000000000030a1')
- version('4.5-rc5', '000000000000000000000000000045c5')
+ version("0.0.0", "00000000000000000000000000000000")
+ version("1.0.0", "00000000000000000000000000000100")
+ version("3.0", "00000000000000000000000000000030")
+ version("4.5", "00000000000000000000000000000450")
+ version("2.0.0b2", "000000000000000000000000000200b2")
+ version("3.0a1", "000000000000000000000000000030a1")
+ version("4.5-rc5", "000000000000000000000000000045c5")
diff --git a/var/spack/repos/builtin.mock/packages/url-only-override-with-gaps/package.py b/var/spack/repos/builtin.mock/packages/url-only-override-with-gaps/package.py
index 10410eb989..cd028f2d58 100644
--- a/var/spack/repos/builtin.mock/packages/url-only-override-with-gaps/package.py
+++ b/var/spack/repos/builtin.mock/packages/url-only-override-with-gaps/package.py
@@ -7,15 +7,24 @@ from spack.package import *
class UrlOnlyOverrideWithGaps(Package):
- homepage = 'http://www.example.com'
+ homepage = "http://www.example.com"
- version('1.0.5', 'abcdef0123456789abcdef0123456789')
- version('1.0.0', 'bcdef0123456789abcdef0123456789a',
- url='http://a.example.com/url_override-1.0.0.tar.gz')
- version('0.9.5', 'cdef0123456789abcdef0123456789ab')
- version('0.9.0', 'def0123456789abcdef0123456789abc',
- url='http://b.example.com/url_override-0.9.0.tar.gz')
- version('0.8.5', 'ef0123456789abcdef0123456789abcd')
- version('0.8.1', 'f0123456789abcdef0123456789abcde',
- url='http://c.example.com/url_override-0.8.1.tar.gz')
- version('0.7.0', '0123456789abcdef0123456789abcdef')
+ version("1.0.5", "abcdef0123456789abcdef0123456789")
+ version(
+ "1.0.0",
+ "bcdef0123456789abcdef0123456789a",
+ url="http://a.example.com/url_override-1.0.0.tar.gz",
+ )
+ version("0.9.5", "cdef0123456789abcdef0123456789ab")
+ version(
+ "0.9.0",
+ "def0123456789abcdef0123456789abc",
+ url="http://b.example.com/url_override-0.9.0.tar.gz",
+ )
+ version("0.8.5", "ef0123456789abcdef0123456789abcd")
+ version(
+ "0.8.1",
+ "f0123456789abcdef0123456789abcde",
+ url="http://c.example.com/url_override-0.8.1.tar.gz",
+ )
+ version("0.7.0", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/url-only-override/package.py b/var/spack/repos/builtin.mock/packages/url-only-override/package.py
index 0eded4b1cb..a121057a0f 100644
--- a/var/spack/repos/builtin.mock/packages/url-only-override/package.py
+++ b/var/spack/repos/builtin.mock/packages/url-only-override/package.py
@@ -7,8 +7,20 @@ from spack.package import *
class UrlOnlyOverride(Package):
- homepage = 'http://www.example.com'
+ homepage = "http://www.example.com"
- version('1.0.0', '0123456789abcdef0123456789abcdef', url='http://a.example.com/url_override-1.0.0.tar.gz')
- version('0.9.0', 'fedcba9876543210fedcba9876543210', url='http://b.example.com/url_override-0.9.0.tar.gz')
- version('0.8.1', '0123456789abcdef0123456789abcdef', url='http://c.example.com/url_override-0.8.1.tar.gz')
+ version(
+ "1.0.0",
+ "0123456789abcdef0123456789abcdef",
+ url="http://a.example.com/url_override-1.0.0.tar.gz",
+ )
+ version(
+ "0.9.0",
+ "fedcba9876543210fedcba9876543210",
+ url="http://b.example.com/url_override-0.9.0.tar.gz",
+ )
+ version(
+ "0.8.1",
+ "0123456789abcdef0123456789abcdef",
+ url="http://c.example.com/url_override-0.8.1.tar.gz",
+ )
diff --git a/var/spack/repos/builtin.mock/packages/url-test/package.py b/var/spack/repos/builtin.mock/packages/url-test/package.py
index 6b3f7136fd..6ceebbe04b 100644
--- a/var/spack/repos/builtin.mock/packages/url-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/url-test/package.py
@@ -8,6 +8,7 @@ from spack.package import *
class UrlTest(Package):
"""Mock package that fetches from a URL."""
+
homepage = "http://www.url-fetch-example.com"
- version('test', url='to-be-filled-in-by-test')
+ version("test", url="to-be-filled-in-by-test")
diff --git a/var/spack/repos/builtin.mock/packages/url_override/package.py b/var/spack/repos/builtin.mock/packages/url_override/package.py
index 428c09b1cf..d019b13063 100644
--- a/var/spack/repos/builtin.mock/packages/url_override/package.py
+++ b/var/spack/repos/builtin.mock/packages/url_override/package.py
@@ -7,9 +7,11 @@ from spack.package import *
class UrlOverride(Package):
- homepage = 'http://www.doesnotexist.org'
- url = 'http://www.doesnotexist.org/url_override-1.0.0.tar.gz'
+ homepage = "http://www.doesnotexist.org"
+ url = "http://www.doesnotexist.org/url_override-1.0.0.tar.gz"
- version('1.0.0', '0123456789abcdef0123456789abcdef')
- version('0.9.0', 'fedcba9876543210fedcba9876543210', url='http://www.anothersite.org/uo-0.9.0.tgz')
- version('0.8.1', '0123456789abcdef0123456789abcdef')
+ version("1.0.0", "0123456789abcdef0123456789abcdef")
+ version(
+ "0.9.0", "fedcba9876543210fedcba9876543210", url="http://www.anothersite.org/uo-0.9.0.tgz"
+ )
+ version("0.8.1", "0123456789abcdef0123456789abcdef")
diff --git a/var/spack/repos/builtin.mock/packages/v1-provider/package.py b/var/spack/repos/builtin.mock/packages/v1-provider/package.py
index 0549c80018..1facd325e4 100644
--- a/var/spack/repos/builtin.mock/packages/v1-provider/package.py
+++ b/var/spack/repos/builtin.mock/packages/v1-provider/package.py
@@ -9,8 +9,9 @@ class V1Provider(Package):
"""Mimic the real netlib-lapack, that may be built on top of an
optimized blas.
"""
+
homepage = "https://dev.null"
- version('1.0')
+ version("1.0")
- provides('v1')
+ provides("v1")
diff --git a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-a/package.py b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-a/package.py
index 9d1bbd0450..277f1054e0 100644
--- a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-a/package.py
+++ b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-a/package.py
@@ -13,9 +13,9 @@ class VariantOnDependencyConditionA(Package):
depends_on('B', when='^A+x')
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
- variant('x', default=True, description='?')
+ variant("x", default=True, description="?")
diff --git a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-b/package.py b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-b/package.py
index 744ff93ba6..bb6aab53d4 100644
--- a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-b/package.py
+++ b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-b/package.py
@@ -12,7 +12,8 @@ class VariantOnDependencyConditionB(Package):
depends_on('A')
depends_on('B', when='^A+x')
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
+
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
diff --git a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-root/package.py b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-root/package.py
index def93d53e1..542bb288a1 100644
--- a/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-root/package.py
+++ b/var/spack/repos/builtin.mock/packages/variant-on-dependency-condition-root/package.py
@@ -13,11 +13,10 @@ class VariantOnDependencyConditionRoot(Package):
depends_on('B', when='^A+x')
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
- depends_on('variant-on-dependency-condition-a')
- depends_on('variant-on-dependency-condition-b',
- when='^variant-on-dependency-condition-a+x')
+ depends_on("variant-on-dependency-condition-a")
+ depends_on("variant-on-dependency-condition-b", when="^variant-on-dependency-condition-a+x")
diff --git a/var/spack/repos/builtin.mock/packages/vdefault-or-external-root/package.py b/var/spack/repos/builtin.mock/packages/vdefault-or-external-root/package.py
index 925ba9dddd..d17a063a0f 100644
--- a/var/spack/repos/builtin.mock/packages/vdefault-or-external-root/package.py
+++ b/var/spack/repos/builtin.mock/packages/vdefault-or-external-root/package.py
@@ -10,9 +10,9 @@ class VdefaultOrExternalRoot(Package):
a default variant value.
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
- depends_on('vdefault-or-external')
+ depends_on("vdefault-or-external")
diff --git a/var/spack/repos/builtin.mock/packages/vdefault-or-external/package.py b/var/spack/repos/builtin.mock/packages/vdefault-or-external/package.py
index c1df533e64..cf1305928f 100644
--- a/var/spack/repos/builtin.mock/packages/vdefault-or-external/package.py
+++ b/var/spack/repos/builtin.mock/packages/vdefault-or-external/package.py
@@ -10,11 +10,11 @@ class VdefaultOrExternal(Package):
a default variant value.
"""
- homepage = 'https://www.example.org'
- url = 'https://example.org/files/v3.4/cmake-3.4.3.tar.gz'
+ homepage = "https://www.example.org"
+ url = "https://example.org/files/v3.4/cmake-3.4.3.tar.gz"
- version('1.0', '4cb3ff35b2472aae70f542116d616e63')
+ version("1.0", "4cb3ff35b2472aae70f542116d616e63")
- variant('external', default=False, description='nope')
+ variant("external", default=False, description="nope")
- depends_on('externaltool', when='+external')
+ depends_on("externaltool", when="+external")
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
index 811173907f..ed28d50a70 100644
--- 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
@@ -10,10 +10,16 @@ class VersionTestDependencyPreferred(AutotoolsPackage):
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')
+ version("5.2.5", sha256="5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ 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
index 92f5dffbba..21971c62b6 100644
--- a/var/spack/repos/builtin.mock/packages/version-test-pkg/package.py
+++ b/var/spack/repos/builtin.mock/packages/version-test-pkg/package.py
@@ -9,14 +9,16 @@ 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'
+ 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
index beb052b9c5..37dd5a21a3 100644
--- a/var/spack/repos/builtin.mock/packages/version-test-root/package.py
+++ b/var/spack/repos/builtin.mock/packages/version-test-root/package.py
@@ -7,8 +7,9 @@ from spack.package import *
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')
+ version("0.1.0", sha256="cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b")
+ depends_on("version-test-pkg", type="build")
diff --git a/var/spack/repos/builtin.mock/packages/view-dir-dir/package.py b/var/spack/repos/builtin.mock/packages/view-dir-dir/package.py
index e0cece6d54..43fc51882c 100644
--- a/var/spack/repos/builtin.mock/packages/view-dir-dir/package.py
+++ b/var/spack/repos/builtin.mock/packages/view-dir-dir/package.py
@@ -10,14 +10,15 @@ from spack.package import *
class ViewDirDir(Package):
"""Installs a <prefix>/bin/x where x is a dir, in contrast to view-dir-file."""
+
homepage = "http://www.spack.org"
url = "http://www.spack.org/downloads/aml-1.0.tar.gz"
has_code = False
- version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b')
+ version("0.1.0", sha256="cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b")
def install(self, spec, prefix):
- os.mkdir(os.path.join(prefix, 'bin'))
- os.mkdir(os.path.join(prefix, 'bin', 'x'))
- with open(os.path.join(prefix, 'bin', 'x', 'file_in_dir'), 'wb') as f:
- f.write(b'hello world')
+ os.mkdir(os.path.join(prefix, "bin"))
+ os.mkdir(os.path.join(prefix, "bin", "x"))
+ with open(os.path.join(prefix, "bin", "x", "file_in_dir"), "wb") as f:
+ f.write(b"hello world")
diff --git a/var/spack/repos/builtin.mock/packages/view-dir-file/package.py b/var/spack/repos/builtin.mock/packages/view-dir-file/package.py
index f448910c8e..1c73ddcce9 100644
--- a/var/spack/repos/builtin.mock/packages/view-dir-file/package.py
+++ b/var/spack/repos/builtin.mock/packages/view-dir-file/package.py
@@ -10,13 +10,14 @@ from spack.package import *
class ViewDirFile(Package):
"""Installs a <prefix>/bin/x where x is a file, in contrast to view-dir-dir"""
+
homepage = "http://www.spack.org"
url = "http://www.spack.org/downloads/aml-1.0.tar.gz"
has_code = False
- version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b')
+ version("0.1.0", sha256="cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b")
def install(self, spec, prefix):
- os.mkdir(os.path.join(prefix, 'bin'))
- with open(os.path.join(prefix, 'bin', 'x'), 'wb') as f:
- f.write(b'file')
+ os.mkdir(os.path.join(prefix, "bin"))
+ with open(os.path.join(prefix, "bin", "x"), "wb") as f:
+ f.write(b"file")
diff --git a/var/spack/repos/builtin.mock/packages/view-dir-symlinked-dir/package.py b/var/spack/repos/builtin.mock/packages/view-dir-symlinked-dir/package.py
index 3520373e4d..50daf30bfd 100644
--- a/var/spack/repos/builtin.mock/packages/view-dir-symlinked-dir/package.py
+++ b/var/spack/repos/builtin.mock/packages/view-dir-symlinked-dir/package.py
@@ -11,15 +11,16 @@ from spack.package import *
class ViewDirSymlinkedDir(Package):
"""Installs <prefix>/bin/x/file_in_symlinked_dir where x -> y is a symlinked dir.
This should be mergeable with view-dir-dir, but not with view-dir-file."""
+
homepage = "http://www.spack.org"
url = "http://www.spack.org/downloads/aml-1.0.tar.gz"
has_code = False
- version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b')
+ version("0.1.0", sha256="cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b")
def install(self, spec, prefix):
- os.mkdir(os.path.join(prefix, 'bin'))
- os.mkdir(os.path.join(prefix, 'bin', 'y'))
- with open(os.path.join(prefix, 'bin', 'y', 'file_in_symlinked_dir'), 'wb') as f:
- f.write(b'hello world')
- os.symlink('y', os.path.join(prefix, 'bin', 'x'))
+ os.mkdir(os.path.join(prefix, "bin"))
+ os.mkdir(os.path.join(prefix, "bin", "y"))
+ with open(os.path.join(prefix, "bin", "y", "file_in_symlinked_dir"), "wb") as f:
+ f.write(b"hello world")
+ os.symlink("y", os.path.join(prefix, "bin", "x"))
diff --git a/var/spack/repos/builtin.mock/packages/virtual-with-versions/package.py b/var/spack/repos/builtin.mock/packages/virtual-with-versions/package.py
index f5eb282412..21c0a5a57f 100644
--- a/var/spack/repos/builtin.mock/packages/virtual-with-versions/package.py
+++ b/var/spack/repos/builtin.mock/packages/virtual-with-versions/package.py
@@ -7,17 +7,18 @@ from spack.package import *
class VirtualWithVersions(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('17.0.1', '0123456789abcdef0123456789abcdef')
- version('16.0.1', '0123456789abcdef0123456789abcdef')
- version('11.0.1', '0123456789abcdef0123456789abcdef')
- version('1.8.0', '0123456789abcdef0123456789abcdef')
+ version("17.0.1", "0123456789abcdef0123456789abcdef")
+ version("16.0.1", "0123456789abcdef0123456789abcdef")
+ version("11.0.1", "0123456789abcdef0123456789abcdef")
+ version("1.8.0", "0123456789abcdef0123456789abcdef")
- provides('java@17', when='@17.0:17.9')
- provides('java@16', when='@16.0:16.9')
- provides('java@11', when='@11.0:11.9')
- provides('java@10', when='@10.0:10.9')
- provides('java@9', when='@9.0:9.9')
- provides('java@8', when='@1.8.0:1.8.9')
+ provides("java@17", when="@17.0:17.9")
+ provides("java@16", when="@16.0:16.9")
+ provides("java@11", when="@11.0:11.9")
+ provides("java@10", when="@10.0:10.9")
+ provides("java@9", when="@9.0:9.9")
+ provides("java@8", when="@1.8.0:1.8.9")
diff --git a/var/spack/repos/builtin.mock/packages/when-directives-false/package.py b/var/spack/repos/builtin.mock/packages/when-directives-false/package.py
index c366161dca..b1da16b0cb 100644
--- a/var/spack/repos/builtin.mock/packages/when-directives-false/package.py
+++ b/var/spack/repos/builtin.mock/packages/when-directives-false/package.py
@@ -12,14 +12,18 @@ class WhenDirectivesFalse(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- patch('https://example.com/foo.patch',
- sha256='abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- when=False)
- extends('extendee', when=False)
- depends_on('b', when=False)
- conflicts('@1.0', when=False)
- resource(url="http://www.example.com/example-1.0-resource.tar.gz",
- md5='0123456789abcdef0123456789abcdef',
- when=False)
+ patch(
+ "https://example.com/foo.patch",
+ sha256="abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ when=False,
+ )
+ extends("extendee", when=False)
+ depends_on("b", when=False)
+ conflicts("@1.0", when=False)
+ resource(
+ url="http://www.example.com/example-1.0-resource.tar.gz",
+ md5="0123456789abcdef0123456789abcdef",
+ when=False,
+ )
diff --git a/var/spack/repos/builtin.mock/packages/when-directives-true/package.py b/var/spack/repos/builtin.mock/packages/when-directives-true/package.py
index 7fa155ec43..17b50a347f 100644
--- a/var/spack/repos/builtin.mock/packages/when-directives-true/package.py
+++ b/var/spack/repos/builtin.mock/packages/when-directives-true/package.py
@@ -12,14 +12,18 @@ class WhenDirectivesTrue(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- patch('https://example.com/foo.patch',
- sha256='abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234',
- when=True)
- extends('extendee', when=True)
- depends_on('b', when=True)
- conflicts('@1.0', when=True)
- resource(url="http://www.example.com/example-1.0-resource.tar.gz",
- md5='0123456789abcdef0123456789abcdef',
- when=True)
+ patch(
+ "https://example.com/foo.patch",
+ sha256="abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234",
+ when=True,
+ )
+ extends("extendee", when=True)
+ depends_on("b", when=True)
+ conflicts("@1.0", when=True)
+ resource(
+ url="http://www.example.com/example-1.0-resource.tar.gz",
+ md5="0123456789abcdef0123456789abcdef",
+ when=True,
+ )
diff --git a/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py b/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py
index 2ccdd5d0b0..ffaaa86f42 100644
--- a/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py
+++ b/var/spack/repos/builtin.mock/packages/with-constraint-met/package.py
@@ -12,12 +12,12 @@ class WithConstraintMet(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/example-1.0.tar.gz"
- version('2.0', '0123456789abcdef0123456789abcdef')
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("2.0", "0123456789abcdef0123456789abcdef")
+ version("1.0", "0123456789abcdef0123456789abcdef")
- with when('@1.0'):
- depends_on('b')
- conflicts('%gcc', when='+foo')
+ with when("@1.0"):
+ depends_on("b")
+ conflicts("%gcc", when="+foo")
- with when('@0.14: ^b@:4.0'):
- depends_on('c', when='@:15 ^b@3.8:')
+ with when("@0.14: ^b@:4.0"):
+ depends_on("c", when="@:15 ^b@3.8:")
diff --git a/var/spack/repos/builtin.mock/packages/wrong-variant-in-conflicts/package.py b/var/spack/repos/builtin.mock/packages/wrong-variant-in-conflicts/package.py
index 0c04cd4606..b7708cd2e9 100644
--- a/var/spack/repos/builtin.mock/packages/wrong-variant-in-conflicts/package.py
+++ b/var/spack/repos/builtin.mock/packages/wrong-variant-in-conflicts/package.py
@@ -11,6 +11,6 @@ class WrongVariantInConflicts(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/b-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- conflicts('+foo', when='@1.0')
+ conflicts("+foo", when="@1.0")
diff --git a/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py b/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py
index e771d79766..28b9d87b4d 100644
--- a/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py
+++ b/var/spack/repos/builtin.mock/packages/wrong-variant-in-depends-on/package.py
@@ -11,6 +11,6 @@ class WrongVariantInDependsOn(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/b-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- depends_on('b+doesnotexist')
+ depends_on("b+doesnotexist")
diff --git a/var/spack/repos/builtin.mock/packages/zlib/package.py b/var/spack/repos/builtin.mock/packages/zlib/package.py
index 4af5f065b3..f74df69de2 100644
--- a/var/spack/repos/builtin.mock/packages/zlib/package.py
+++ b/var/spack/repos/builtin.mock/packages/zlib/package.py
@@ -18,41 +18,36 @@ class Zlib(Package):
# URL must remain http:// so Spack can bootstrap curl
url = "http://zlib.net/fossils/zlib-1.2.11.tar.gz"
- version('1.2.11', sha256='c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1')
+ version("1.2.11", sha256="c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1")
# Due to the bug fixes, any installations of 1.2.9 or 1.2.10 should be
# immediately replaced with 1.2.11.
- version('1.2.8', sha256='36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d')
- version('1.2.3', sha256='1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e')
+ version("1.2.8", sha256="36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d")
+ version("1.2.3", sha256="1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e")
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('shared', default=True,
- description='Enables the build of shared libraries.')
- variant('optimize', default=True,
- description='Enable -O2 for a more optimized lib')
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("shared", default=True, description="Enables the build of shared libraries.")
+ variant("optimize", default=True, description="Enable -O2 for a more optimized lib")
- patch('w_patch.patch', when="@1.2.11%cce")
+ patch("w_patch.patch", when="@1.2.11%cce")
@property
def libs(self):
- shared = '+shared' in self.spec
- return find_libraries(
- ['libz'], root=self.prefix, recursive=True, shared=shared
- )
+ shared = "+shared" in self.spec
+ return find_libraries(["libz"], root=self.prefix, recursive=True, shared=shared)
def setup_build_environment(self, env):
- if '+pic' in self.spec:
- env.append_flags('CFLAGS', self.compiler.cc_pic_flag)
- if '+optimize' in self.spec:
- env.append_flags('CFLAGS', '-O2')
+ if "+pic" in self.spec:
+ env.append_flags("CFLAGS", self.compiler.cc_pic_flag)
+ if "+optimize" in self.spec:
+ env.append_flags("CFLAGS", "-O2")
def install(self, spec, prefix):
config_args = []
- if '~shared' in spec:
- config_args.append('--static')
- configure('--prefix={0}'.format(prefix), *config_args)
+ if "~shared" in spec:
+ config_args.append("--static")
+ configure("--prefix={0}".format(prefix), *config_args)
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
diff --git a/var/spack/repos/builtin.mock/packages/zmpi/package.py b/var/spack/repos/builtin.mock/packages/zmpi/package.py
index 0a673b087d..5bc512575e 100644
--- a/var/spack/repos/builtin.mock/packages/zmpi/package.py
+++ b/var/spack/repos/builtin.mock/packages/zmpi/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class Zmpi(Package):
"""This is a fake MPI package used to demonstrate virtual package providers
- with dependencies."""
+ with dependencies."""
+
homepage = "http://www.spack-fake-zmpi.org"
- url = "http://www.spack-fake-zmpi.org/downloads/zmpi-1.0.tar.gz"
+ url = "http://www.spack-fake-zmpi.org/downloads/zmpi-1.0.tar.gz"
- version('1.0', '0123456789abcdef0123456789abcdef')
+ version("1.0", "0123456789abcdef0123456789abcdef")
- provides('mpi@:10.0')
- depends_on('fake')
+ provides("mpi@:10.0")
+ depends_on("fake")
diff --git a/var/spack/repos/builtin/packages/3dtk/package.py b/var/spack/repos/builtin/packages/3dtk/package.py
index 84f02ebfe4..96ec281498 100644
--- a/var/spack/repos/builtin/packages/3dtk/package.py
+++ b/var/spack/repos/builtin/packages/3dtk/package.py
@@ -19,72 +19,87 @@ class _3dtk(CMakePackage):
# Repo seems to be in the process of switching to git:
# https://github.com/3DTK/3DTK
- version('trunk', svn='https://svn.code.sf.net/p/slam6d/code/trunk', preferred=True)
- version('1.2', svn='https://svn.code.sf.net/p/slam6d/code/branches/3dtk-release-1.2')
+ version("trunk", svn="https://svn.code.sf.net/p/slam6d/code/trunk", preferred=True)
+ version("1.2", svn="https://svn.code.sf.net/p/slam6d/code/branches/3dtk-release-1.2")
- variant('cgal', default=False, description='Compile with CGAL support')
- variant('opengl', default=True, description='Compile with OpenGL support')
- variant('opencv', default=True, description='Compile with OpenCV support')
- variant('compact_octree', default=False, description='Whether to use the compact octree display')
- variant('cuda', default=False, description='Whether to build CUDA accelerated collision detection tools')
- variant('openmp', default=False, description='Whether to use parallel processing capabilities of OPENMP')
+ variant("cgal", default=False, description="Compile with CGAL support")
+ variant("opengl", default=True, description="Compile with OpenGL support")
+ variant("opencv", default=True, description="Compile with OpenCV support")
+ variant(
+ "compact_octree", default=False, description="Whether to use the compact octree display"
+ )
+ variant(
+ "cuda",
+ default=False,
+ description="Whether to build CUDA accelerated collision detection tools",
+ )
+ variant(
+ "openmp",
+ default=False,
+ description="Whether to use parallel processing capabilities of OPENMP",
+ )
- conflicts('~opencv', when='platform=darwin')
- conflicts('+compact_octree', when='~opengl')
+ conflicts("~opencv", when="platform=darwin")
+ conflicts("+compact_octree", when="~opengl")
- generator = 'Ninja'
+ generator = "Ninja"
- depends_on('cmake@3.5:', when='@trunk', type='build')
- depends_on('cmake@2.6.1:2', when='@1.2', type='build')
- depends_on('ninja', type='build')
- depends_on('boost@:1.75+serialization+graph+regex+filesystem+system+thread+date_time+program_options')
- depends_on('suite-sparse')
- depends_on('zlib')
- depends_on('libpng')
- depends_on('eigen')
- depends_on('cgal', when='+cgal')
- depends_on('gl', when='+opengl')
- depends_on('glew', when='+opengl')
- depends_on('freeglut', when='+opengl')
- depends_on('opencv+aruco+calib3d+features2d+ffmpeg+highgui+imgcodecs+imgproc+ml+videoio+flann', when='+opencv')
- depends_on('cuda', when='+cuda')
+ depends_on("cmake@3.5:", when="@trunk", type="build")
+ depends_on("cmake@2.6.1:2", when="@1.2", type="build")
+ depends_on("ninja", type="build")
+ depends_on(
+ "boost@:1.75+serialization+graph+regex+filesystem+system+thread+date_time+program_options"
+ )
+ depends_on("suite-sparse")
+ depends_on("zlib")
+ depends_on("libpng")
+ depends_on("eigen")
+ depends_on("cgal", when="+cgal")
+ depends_on("gl", when="+opengl")
+ depends_on("glew", when="+opengl")
+ depends_on("freeglut", when="+opengl")
+ depends_on(
+ "opencv+aruco+calib3d+features2d+ffmpeg+highgui+imgcodecs+imgproc+ml+videoio+flann",
+ when="+opencv",
+ )
+ depends_on("cuda", when="+cuda")
# TODO: add Spack packages for these instead of using vendored copies
# depends_on('ann')
# depends_on('newmat')
- patch('homebrew.patch', when='platform=darwin')
+ patch("homebrew.patch", when="platform=darwin")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['eigen'].prefix.include)
+ env.prepend_path("CPATH", self.spec["eigen"].prefix.include)
def cmake_args(self):
return [
- self.define_from_variant('WITH_CGAL', 'cgal'),
- self.define('WITH_GMP', False),
- self.define('WITH_LIBZIP', False),
- self.define_from_variant('WITH_OPENGL', 'opengl'),
- self.define_from_variant('WITH_OPENCV', 'opencv'),
- self.define('WITH_QT', False),
- self.define('WITH_GLFW', False),
- self.define('WITH_FTGL', False),
- self.define('WITH_XMLRPC', False),
- self.define('WITH_LIBCONFIG', False),
- self.define('WITH_ROS', False),
- self.define('WITH_PYTHON', False),
- self.define('WITH_WXWIDGETS', False),
- self.define_from_variant('WITH_COMPACT_OCTREE', 'compact_octree'),
- self.define('WITH_GLEE', False),
- self.define('WITH_LASLIB', False),
- self.define('WITH_E57', False),
- self.define('WITH_3DMOUSE', False),
- self.define_from_variant('WITH_CUDA', 'cuda'),
- self.define('WITH_RIVLIB', False),
- self.define('WITH_MICROEPSILONLIB', False),
- self.define_from_variant('WITH_OPENMP', 'openmp'),
- self.define('WITH_METRICS', False),
- self.define('WITH_ADDONS', False),
+ self.define_from_variant("WITH_CGAL", "cgal"),
+ self.define("WITH_GMP", False),
+ self.define("WITH_LIBZIP", False),
+ self.define_from_variant("WITH_OPENGL", "opengl"),
+ self.define_from_variant("WITH_OPENCV", "opencv"),
+ self.define("WITH_QT", False),
+ self.define("WITH_GLFW", False),
+ self.define("WITH_FTGL", False),
+ self.define("WITH_XMLRPC", False),
+ self.define("WITH_LIBCONFIG", False),
+ self.define("WITH_ROS", False),
+ self.define("WITH_PYTHON", False),
+ self.define("WITH_WXWIDGETS", False),
+ self.define_from_variant("WITH_COMPACT_OCTREE", "compact_octree"),
+ self.define("WITH_GLEE", False),
+ self.define("WITH_LASLIB", False),
+ self.define("WITH_E57", False),
+ self.define("WITH_3DMOUSE", False),
+ self.define_from_variant("WITH_CUDA", "cuda"),
+ self.define("WITH_RIVLIB", False),
+ self.define("WITH_MICROEPSILONLIB", False),
+ self.define_from_variant("WITH_OPENMP", "openmp"),
+ self.define("WITH_METRICS", False),
+ self.define("WITH_ADDONS", False),
]
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/3proxy/package.py b/var/spack/repos/builtin/packages/3proxy/package.py
index d11f619e24..7f7d9a801a 100644
--- a/var/spack/repos/builtin/packages/3proxy/package.py
+++ b/var/spack/repos/builtin/packages/3proxy/package.py
@@ -12,20 +12,21 @@ class _3proxy(MakefilePackage):
"""3proxy - tiny free proxy server"""
homepage = "https://3proxy.org"
- url = "https://github.com/z3APA3A/3proxy/archive/0.8.13.tar.gz"
+ url = "https://github.com/z3APA3A/3proxy/archive/0.8.13.tar.gz"
- version('0.8.13', sha256='a6d3cf9dd264315fa6ec848f6fe6c9057db005ce4ca8ed1deb00f6e1c3900f88')
- version('0.8.12', sha256='c2ad3798b4f0df06cfcc7b49f658304e451d60e4834e2705ef83ddb85a03f849')
- version('0.8.11', sha256='fc4295e1a462baa61977fcc21747db7861c4e3d0dcca86cbaa3e06017e5c66c9')
+ version("0.8.13", sha256="a6d3cf9dd264315fa6ec848f6fe6c9057db005ce4ca8ed1deb00f6e1c3900f88")
+ version("0.8.12", sha256="c2ad3798b4f0df06cfcc7b49f658304e451d60e4834e2705ef83ddb85a03f849")
+ version("0.8.11", sha256="fc4295e1a462baa61977fcc21747db7861c4e3d0dcca86cbaa3e06017e5c66c9")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def build(self, spec, prefix):
- make('-f', 'Makefile.{0}'.format(platform.system()))
+ make("-f", "Makefile.{0}".format(platform.system()))
def install(self, spec, prefix):
- make('-f', 'Makefile.{0}'.format(platform.system()),
- 'prefix={0}'.format(prefix), 'install')
+ make(
+ "-f", "Makefile.{0}".format(platform.system()), "prefix={0}".format(prefix), "install"
+ )
diff --git a/var/spack/repos/builtin/packages/7zip/package.py b/var/spack/repos/builtin/packages/7zip/package.py
index 215cd257d0..286ea1c0bf 100644
--- a/var/spack/repos/builtin/packages/7zip/package.py
+++ b/var/spack/repos/builtin/packages/7zip/package.py
@@ -16,40 +16,44 @@ class _7zip(SourceforgePackage, Package):
"""7-Zip is a file archiver for Windows"""
homepage = "https://sourceforge.net/projects/sevenzip"
- sourceforge_mirror_path = 'sevenzip/files/7z2107-src.tar.xz'
+ sourceforge_mirror_path = "sevenzip/files/7z2107-src.tar.xz"
- executables = ['7z']
+ executables = ["7z"]
- version('21.07', sha256='213d594407cb8efcba36610b152ca4921eda14163310b43903d13e68313e1e39')
+ version("21.07", sha256="213d594407cb8efcba36610b152ca4921eda14163310b43903d13e68313e1e39")
- variant('link_type', default='shared',
- description='build shared and/or static libraries',
- values=('static', 'shared'), multi=True)
+ variant(
+ "link_type",
+ default="shared",
+ description="build shared and/or static libraries",
+ values=("static", "shared"),
+ multi=True,
+ )
- phases = ['build', 'install']
+ phases = ["build", "install"]
- conflicts('platform=linux')
- conflicts('platform=darwin')
- conflicts('platform=cray')
+ conflicts("platform=linux")
+ conflicts("platform=darwin")
+ conflicts("platform=cray")
# TODO: Patch on WinSDK version 10.0.20348.0 when SDK is introduced to Spack
# This patch solves a known bug in that SDK version on the 7zip side
# right now patch for all versions to prevent build errors
- patch('noexcept_typedef.patch', when='platform=windows')
+ patch("noexcept_typedef.patch", when="platform=windows")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--help', output=str, error=str)
- match = re.search(r'7-Zip ([0-9][0-9]*.[0-9][0-9])', output)
+ output = Executable(exe)("--help", output=str, error=str)
+ match = re.search(r"7-Zip ([0-9][0-9]*.[0-9][0-9])", output)
return match.group(1) if match else None
def url_version(self, version):
- ver_str = str(version).replace('.', '')
- return '7z' + ver_str
+ ver_str = str(version).replace(".", "")
+ return "7z" + ver_str
@property
def _7z_src_dir(self):
- return os.path.join(self.stage.source_path, 'CPP', '7zip')
+ return os.path.join(self.stage.source_path, "CPP", "7zip")
@property
def plat_arch(self):
@@ -58,37 +62,44 @@ class _7zip(SourceforgePackage, Package):
filtered through 7zip's Windows build file
"""
arch = platform.machine()
- if arch.lower() == 'amd64':
- arch = 'x64'
- elif arch.lower() == 'i386':
- arch = 'x86'
+ if arch.lower() == "amd64":
+ arch = "x64"
+ elif arch.lower() == "i386":
+ arch = "x86"
return arch
def is_64bit(self):
- return platform.machine().endswith('64')
+ return platform.machine().endswith("64")
def build(self, spec, prefix):
- link_type = '1' if 'static' in spec.variants['link_type'].value else '0'
- nmake_args = ['PLATFORM=%s' % self.plat_arch,
- 'MY_STATIC_LINK=%s' % link_type,
- 'NEW_COMPILER=1']
+ link_type = "1" if "static" in spec.variants["link_type"].value else "0"
+ nmake_args = [
+ "PLATFORM=%s" % self.plat_arch,
+ "MY_STATIC_LINK=%s" % link_type,
+ "NEW_COMPILER=1",
+ ]
# 7zips makefile is configured in such as way that if this value is set
# compiler paths with spaces are incorrectly parsed. Compiler will be infered
# from VCVARs on Windows
- os.environ.pop('CC', None)
+ os.environ.pop("CC", None)
with working_dir(self._7z_src_dir):
nmake(*nmake_args)
def install(self, spec, prefix):
"""7Zip exports no install target so we must hand install"""
- arch_prefix = 'x64' if self.is_64bit() else 'x86'
- path_roots = ['Bundles', 'UI']
- exts = ['*.exe', '*.dll']
+ arch_prefix = "x64" if self.is_64bit() else "x86"
+ path_roots = ["Bundles", "UI"]
+ exts = ["*.exe", "*.dll"]
with working_dir(self._7z_src_dir):
for root in path_roots:
- pth = os.path.join(root, '*', arch_prefix)
+ pth = os.path.join(root, "*", arch_prefix)
for ext in exts:
glob_str = os.path.join(pth, ext)
files = glob.glob(glob_str)
- [shutil.copy(os.path.join(self._7z_src_dir, x),
- os.path.join(prefix, os.path.basename(x))) for x in files]
+ [
+ shutil.copy(
+ os.path.join(self._7z_src_dir, x),
+ os.path.join(prefix, os.path.basename(x)),
+ )
+ for x in files
+ ]
diff --git a/var/spack/repos/builtin/packages/abacus/package.py b/var/spack/repos/builtin/packages/abacus/package.py
index 4306c6bd05..e31f13f001 100644
--- a/var/spack/repos/builtin/packages/abacus/package.py
+++ b/var/spack/repos/builtin/packages/abacus/package.py
@@ -56,17 +56,12 @@ class Abacus(MakefilePackage):
if "+openmp" in spec:
inc_var = "_openmp-"
- system_var = (
- "ELPA_LIB = -L${ELPA_LIB_DIR} -lelpa_openmp -Wl, -rpath=${ELPA_LIB_DIR}"
- )
+ system_var = "ELPA_LIB = -L${ELPA_LIB_DIR} -lelpa_openmp -Wl, -rpath=${ELPA_LIB_DIR}"
else:
inc_var = "-"
- system_var = (
- "ELPA_LIB = -L${ELPA_LIB_DIR} -lelpa -Wl,-rpath=${ELPA_LIB_DIR}"
- )
+ system_var = "ELPA_LIB = -L${ELPA_LIB_DIR} -lelpa -Wl,-rpath=${ELPA_LIB_DIR}"
- tempInc = (
- "\
+ tempInc = "\
FORTRAN = ifort\n\
CPLUSPLUS = icpc\n\
CPLUSPLUS_MPI = mpiicpc\n\
@@ -77,14 +72,12 @@ ELPA_INCLUDE = -I${ELPA_DIR}/include/elpa%s%s\n\
CEREAL_DIR = %s\n\
OBJ_DIR = obj\n\
OBJ_DIR_serial = obj\n\
-NP = 14\n"
- % (
- spec["fftw"].prefix,
- spec["elpa"].prefix,
- inc_var,
- "{0}".format(spec["elpa"].version),
- spec["cereal"].prefix,
- )
+NP = 14\n" % (
+ spec["fftw"].prefix,
+ spec["elpa"].prefix,
+ inc_var,
+ "{0}".format(spec["elpa"].version),
+ spec["cereal"].prefix,
)
with open(self.build_directory + "/Makefile.vars", "w") as f:
diff --git a/var/spack/repos/builtin/packages/abduco/package.py b/var/spack/repos/builtin/packages/abduco/package.py
index 6d763c528f..98c07d5d85 100644
--- a/var/spack/repos/builtin/packages/abduco/package.py
+++ b/var/spack/repos/builtin/packages/abduco/package.py
@@ -14,11 +14,11 @@ class Abduco(MakefilePackage):
tmux or screen."""
homepage = "https://github.com/martanne/abduco"
- url = "https://github.com/martanne/abduco/archive/v0.6.tar.gz"
+ url = "https://github.com/martanne/abduco/archive/v0.6.tar.gz"
- version('0.6', sha256='647d0381418f43a38f861d151b0efb2e3458ec651914e7d477956768b0af9bb7')
- version('0.5', sha256='bf22226a4488355a7001a5dabbd1e8e3b7e7645efd1519274b956fcb8bcff086')
- version('0.4', sha256='bda3729df116ce41f9a087188d71d934da2693ffb1ebcf33b803055eb478bcbb')
+ version("0.6", sha256="647d0381418f43a38f861d151b0efb2e3458ec651914e7d477956768b0af9bb7")
+ version("0.5", sha256="bf22226a4488355a7001a5dabbd1e8e3b7e7645efd1519274b956fcb8bcff086")
+ version("0.4", sha256="bda3729df116ce41f9a087188d71d934da2693ffb1ebcf33b803055eb478bcbb")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/abi-compliance-checker/package.py b/var/spack/repos/builtin/packages/abi-compliance-checker/package.py
index be4656d882..7e23775ff0 100644
--- a/var/spack/repos/builtin/packages/abi-compliance-checker/package.py
+++ b/var/spack/repos/builtin/packages/abi-compliance-checker/package.py
@@ -10,16 +10,16 @@ class AbiComplianceChecker(MakefilePackage):
"""A tool for checking backward compatibility of a C/C++ library API."""
homepage = "https://github.com/lvc/abi-compliance-checker"
- url = "https://github.com/lvc/abi-compliance-checker/archive/2.3.tar.gz"
+ url = "https://github.com/lvc/abi-compliance-checker/archive/2.3.tar.gz"
- version('2.3', sha256='b1e32a484211ec05d7f265ab4d2c1c52dcdb610708cb3f74d8aaeb7fe9685d64')
- version('2.2', sha256='9fb7b17e33d49e301d02a6374fbd2596feb53ecc77194879a4e1c2d1e24b4ddb')
- version('2.1', sha256='0e19ea16b6c6aa6c7b222063127427bef3b835adbbd9e6606a972a912599d014')
+ version("2.3", sha256="b1e32a484211ec05d7f265ab4d2c1c52dcdb610708cb3f74d8aaeb7fe9685d64")
+ version("2.2", sha256="9fb7b17e33d49e301d02a6374fbd2596feb53ecc77194879a4e1c2d1e24b4ddb")
+ version("2.1", sha256="0e19ea16b6c6aa6c7b222063127427bef3b835adbbd9e6606a972a912599d014")
- depends_on('abi-dumper@1.1:')
- depends_on('perl@5:')
- depends_on('binutils')
- depends_on('universal-ctags')
+ depends_on("abi-dumper@1.1:")
+ depends_on("perl@5:")
+ depends_on("binutils")
+ depends_on("universal-ctags")
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/abi-dumper/package.py b/var/spack/repos/builtin/packages/abi-dumper/package.py
index c6c6cc9c33..830e264c2d 100644
--- a/var/spack/repos/builtin/packages/abi-dumper/package.py
+++ b/var/spack/repos/builtin/packages/abi-dumper/package.py
@@ -13,16 +13,16 @@ class AbiDumper(Package):
homepage = "https://github.com/lvc/abi-dumper"
url = "https://github.com/lvc/abi-dumper/archive/1.2.tar.gz"
- version('1.2', sha256='8a9858c91b4e9222c89b676d59422053ad560fa005a39443053568049bd4d27e')
- version('1.1', sha256='ef63201368e0d76a29d2f7aed98c488f6fb71898126762d65baed1e762988083')
- version('1.0', sha256='bfa0189a172fa788afc603b1ae675808a57556a77a008e4af8f643d396c34bbb')
- version('0.99.19', sha256='6bbc35795839a04523d9e7bdb07806b9a661e17d8be0e755c99e4235805d4528')
+ version("1.2", sha256="8a9858c91b4e9222c89b676d59422053ad560fa005a39443053568049bd4d27e")
+ version("1.1", sha256="ef63201368e0d76a29d2f7aed98c488f6fb71898126762d65baed1e762988083")
+ version("1.0", sha256="bfa0189a172fa788afc603b1ae675808a57556a77a008e4af8f643d396c34bbb")
+ version("0.99.19", sha256="6bbc35795839a04523d9e7bdb07806b9a661e17d8be0e755c99e4235805d4528")
- depends_on('perl@5:')
- depends_on('elfutils')
- depends_on('binutils')
- depends_on('universal-ctags')
- depends_on('vtable-dumper@1.1:')
+ depends_on("perl@5:")
+ depends_on("elfutils")
+ depends_on("binutils")
+ depends_on("universal-ctags")
+ depends_on("vtable-dumper@1.1:")
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py
index 023663da3c..d0d3728dac 100644
--- a/var/spack/repos/builtin/packages/abinit/package.py
+++ b/var/spack/repos/builtin/packages/abinit/package.py
@@ -24,263 +24,268 @@ class Abinit(AutotoolsPackage):
programs are provided.
"""
- homepage = 'https://www.abinit.org/'
- url = 'https://www.abinit.org/sites/default/files/packages/abinit-8.6.3.tar.gz'
-
- version('9.6.1', sha256='b6a12760fd728eb4aacca431ae12150609565bedbaa89763f219fcd869f79ac6')
- version('9.4.2', sha256='d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc')
- version('8.10.3', sha256='ed626424b4472b93256622fbb9c7645fa3ffb693d4b444b07d488771ea7eaa75')
- version('8.10.2', sha256='4ee2e0329497bf16a9b2719fe0536cc50c5d5a07c65e18edaf15ba02251cbb73')
- version('8.8.2', sha256='15216703bd56a799a249a112b336d07d733627d3756487a4b1cb48ebb625c3e7')
- version('8.6.3', sha256='82e8d071088ab8dc1b3a24380e30b68c544685678314df1213180b449c84ca65')
- version('8.2.2', sha256='e43544a178d758b0deff3011c51ef7c957d7f2df2ce8543366d68016af9f3ea1')
+ homepage = "https://www.abinit.org/"
+ url = "https://www.abinit.org/sites/default/files/packages/abinit-8.6.3.tar.gz"
+
+ version("9.6.1", sha256="b6a12760fd728eb4aacca431ae12150609565bedbaa89763f219fcd869f79ac6")
+ version("9.4.2", sha256="d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc")
+ version("8.10.3", sha256="ed626424b4472b93256622fbb9c7645fa3ffb693d4b444b07d488771ea7eaa75")
+ version("8.10.2", sha256="4ee2e0329497bf16a9b2719fe0536cc50c5d5a07c65e18edaf15ba02251cbb73")
+ version("8.8.2", sha256="15216703bd56a799a249a112b336d07d733627d3756487a4b1cb48ebb625c3e7")
+ version("8.6.3", sha256="82e8d071088ab8dc1b3a24380e30b68c544685678314df1213180b449c84ca65")
+ version("8.2.2", sha256="e43544a178d758b0deff3011c51ef7c957d7f2df2ce8543366d68016af9f3ea1")
# Versions before 8.0.8b are not supported.
- version('8.0.8b', sha256='37ad5f0f215d2a36e596383cb6e54de3313842a0390ce8d6b48a423d3ee25af2')
+ version("8.0.8b", sha256="37ad5f0f215d2a36e596383cb6e54de3313842a0390ce8d6b48a423d3ee25af2")
- variant('mpi', default=True,
- description='Builds with MPI support. Requires MPI2+')
- variant('openmp', default=False,
- description='Enables OpenMP threads. Use threaded FFTW3')
- variant('scalapack', default=False,
- description='Enables scalapack support. Requires MPI')
+ variant("mpi", default=True, description="Builds with MPI support. Requires MPI2+")
+ variant("openmp", default=False, description="Enables OpenMP threads. Use threaded FFTW3")
+ variant("scalapack", default=False, description="Enables scalapack support. Requires MPI")
- variant('wannier90', default=False,
- description='Enables the Wannier90 library')
- variant('libxml2', default=False,
- description='Enable libxml2 support, used by multibinit')
+ variant("wannier90", default=False, description="Enables the Wannier90 library")
+ variant("libxml2", default=False, description="Enable libxml2 support, used by multibinit")
- variant('optimization-flavor', default='standard', multi=False,
- values=('safe', 'standard', 'aggressive'),
- description='Select the optimization flavor to use.')
+ variant(
+ "optimization-flavor",
+ default="standard",
+ multi=False,
+ values=("safe", "standard", "aggressive"),
+ description="Select the optimization flavor to use.",
+ )
- variant('install-tests', default=False,
- description='Install test cases')
+ variant("install-tests", default=False, description="Install test cases")
# Add dependencies
- depends_on('atompaw')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("atompaw")
+ depends_on("blas")
+ depends_on("lapack")
# Require MPI2+
- depends_on('mpi@2:', when='+mpi')
+ depends_on("mpi@2:", when="+mpi")
- depends_on('scalapack', when='+scalapack+mpi')
+ depends_on("scalapack", when="+scalapack+mpi")
- depends_on('fftw-api')
+ depends_on("fftw-api")
- depends_on('netcdf-fortran')
- depends_on('netcdf-c+mpi', when='+mpi')
- depends_on('netcdf-c~mpi', when='~mpi')
- depends_on('hdf5+mpi', when='+mpi')
- depends_on('hdf5~mpi', when='~mpi')
- depends_on("wannier90+shared", when='+wannier90+mpi')
+ depends_on("netcdf-fortran")
+ depends_on("netcdf-c+mpi", when="+mpi")
+ depends_on("netcdf-c~mpi", when="~mpi")
+ depends_on("hdf5+mpi", when="+mpi")
+ depends_on("hdf5~mpi", when="~mpi")
+ depends_on("wannier90+shared", when="+wannier90+mpi")
# constrain libxc version
- depends_on('libxc')
- depends_on('libxc@:2', when='@:8')
+ depends_on("libxc")
+ depends_on("libxc@:2", when="@:8")
# libxml2
- depends_on('libxml2', when='@9:+libxml2')
+ depends_on("libxml2", when="@9:+libxml2")
# Cannot ask for +scalapack if it does not depend on MPI
- conflicts('+scalapack', when='~mpi')
+ conflicts("+scalapack", when="~mpi")
# Cannot ask for +wannier90 if it does not depend on MPI
- conflicts('+wannier90', when='~mpi')
+ conflicts("+wannier90", when="~mpi")
# libxml2 needs version 9 and above
- conflicts('+libxml2', when='@:8')
+ conflicts("+libxml2", when="@:8")
- conflicts('%gcc@7:', when='@:8.8')
- conflicts('%gcc@9:', when='@:8.10')
+ conflicts("%gcc@7:", when="@:8.8")
+ conflicts("%gcc@9:", when="@:8.10")
# need openmp threading for abinit+openmp
# TODO: The logic here can be reversed with the new concretizer. Instead of
# using `conflicts`, `depends_on` could be used instead.
- for fftw in ['amdfftw', 'cray-fftw', 'fujitsu-fftw', 'fftw']:
- conflicts('+openmp', when='^{0}~openmp'.format(fftw),
- msg='Need to request {0} +openmp'.format(fftw))
-
- mkl_message = 'Need to set dependent variant to threads=openmp'
- conflicts('+openmp',
- when='^intel-mkl threads=none',
- msg=mkl_message)
- conflicts('+openmp',
- when='^intel-mkl threads=tbb',
- msg=mkl_message)
- conflicts('+openmp',
- when='^intel-parallel-studio +mkl threads=none',
- msg=mkl_message)
-
- conflicts('+openmp',
- when='^fujitsu-ssl2 ~parallel',
- msg='Need to request fujitsu-ssl2 +parallel')
-
- conflicts('~openmp',
- when='^fujitsu-ssl2 +parallel',
- msg='Need to request fujitsu-ssl2 ~parallel')
-
- patch('rm_march_settings.patch', when='@:8')
- patch('rm_march_settings_v9.patch', when='@9:')
+ for fftw in ["amdfftw", "cray-fftw", "fujitsu-fftw", "fftw"]:
+ conflicts(
+ "+openmp",
+ when="^{0}~openmp".format(fftw),
+ msg="Need to request {0} +openmp".format(fftw),
+ )
+
+ mkl_message = "Need to set dependent variant to threads=openmp"
+ conflicts("+openmp", when="^intel-mkl threads=none", msg=mkl_message)
+ conflicts("+openmp", when="^intel-mkl threads=tbb", msg=mkl_message)
+ conflicts("+openmp", when="^intel-parallel-studio +mkl threads=none", msg=mkl_message)
+
+ conflicts(
+ "+openmp", when="^fujitsu-ssl2 ~parallel", msg="Need to request fujitsu-ssl2 +parallel"
+ )
+
+ conflicts(
+ "~openmp", when="^fujitsu-ssl2 +parallel", msg="Need to request fujitsu-ssl2 ~parallel"
+ )
+
+ patch("rm_march_settings.patch", when="@:8")
+ patch("rm_march_settings_v9.patch", when="@9:")
# Fix detection of Fujitsu compiler
# Fix configure not to collect the option that causes an error
# Fix intent(out) and unnecessary rewind to avoid compile error
- patch('fix_for_fujitsu.patch', when='@:8 %fj')
- patch('fix_for_fujitsu.v9.patch', when='@9: %fj')
+ patch("fix_for_fujitsu.patch", when="@:8 %fj")
+ patch("fix_for_fujitsu.v9.patch", when="@9: %fj")
def configure_args(self):
spec = self.spec
options = []
- options += self.with_or_without('libxml2')
+ options += self.with_or_without("libxml2")
oapp = options.append
- if '@:8' in spec:
- oapp('--enable-optim={0}'
- .format(self.spec.variants['optimization-flavor'].value))
+ if "@:8" in spec:
+ oapp("--enable-optim={0}".format(self.spec.variants["optimization-flavor"].value))
else:
- oapp('--with-optim-flavor={0}'
- .format(self.spec.variants['optimization-flavor'].value))
-
- if '+wannier90' in spec:
- if '@:8' in spec:
- oapp('--with-wannier90-libs=-L{0}'
- .format(spec['wannier90'].prefix.lib + ' -lwannier -lm'))
- oapp('--with-wannier90-incs=-I{0}'
- .format(spec['wannier90'].prefix.modules))
- oapp('--with-wannier90-bins={0}'
- .format(spec['wannier90'].prefix.bin))
- oapp('--enable-connectors')
- oapp('--with-dft-flavor=atompaw+libxc+wannier90')
+ oapp("--with-optim-flavor={0}".format(self.spec.variants["optimization-flavor"].value))
+
+ if "+wannier90" in spec:
+ if "@:8" in spec:
+ oapp(
+ "--with-wannier90-libs=-L{0}".format(
+ spec["wannier90"].prefix.lib + " -lwannier -lm"
+ )
+ )
+ oapp("--with-wannier90-incs=-I{0}".format(spec["wannier90"].prefix.modules))
+ oapp("--with-wannier90-bins={0}".format(spec["wannier90"].prefix.bin))
+ oapp("--enable-connectors")
+ oapp("--with-dft-flavor=atompaw+libxc+wannier90")
else:
- options.extend([
- 'WANNIER90_CPPFLAGS=-I{0}'.format(
- spec['wannier90'].prefix.modules),
- 'WANNIER90_LIBS=-L{0} {1}'.format(
- spec['wannier90'].prefix.lib, '-lwannier'),
- ])
+ options.extend(
+ [
+ "WANNIER90_CPPFLAGS=-I{0}".format(spec["wannier90"].prefix.modules),
+ "WANNIER90_LIBS=-L{0} {1}".format(
+ spec["wannier90"].prefix.lib, "-lwannier"
+ ),
+ ]
+ )
else:
- if '@:8' in spec:
- oapp('--with-dft-flavor=atompaw+libxc')
+ if "@:8" in spec:
+ oapp("--with-dft-flavor=atompaw+libxc")
else:
- '--without-wannier90',
+ "--without-wannier90",
- if '+mpi' in spec:
- oapp('CC={0}'.format(spec['mpi'].mpicc))
- oapp('CXX={0}'.format(spec['mpi'].mpicxx))
- oapp('FC={0}'.format(spec['mpi'].mpifc))
+ if "+mpi" in spec:
+ oapp("CC={0}".format(spec["mpi"].mpicc))
+ oapp("CXX={0}".format(spec["mpi"].mpicxx))
+ oapp("FC={0}".format(spec["mpi"].mpifc))
# MPI version:
# let the configure script auto-detect MPI support from mpi_prefix
- if '@:8' in spec:
- oapp('--enable-mpi=yes')
+ if "@:8" in spec:
+ oapp("--enable-mpi=yes")
else:
- oapp('--with-mpi')
+ oapp("--with-mpi")
else:
- if '@:8' in spec:
- oapp('--enable-mpi=no')
+ if "@:8" in spec:
+ oapp("--enable-mpi=no")
else:
- oapp('--without-mpi')
+ oapp("--without-mpi")
# Activate OpenMP in Abinit Fortran code.
- if '+openmp' in spec:
- oapp('--enable-openmp=yes')
+ if "+openmp" in spec:
+ oapp("--enable-openmp=yes")
else:
- oapp('--enable-openmp=no')
+ oapp("--enable-openmp=no")
# BLAS/LAPACK/SCALAPACK-ELPA
- linalg = spec['lapack'].libs + spec['blas'].libs
- if '^mkl' in spec:
- linalg_flavor = 'mkl'
- elif '@9:' in spec and '^openblas' in spec:
- linalg_flavor = 'openblas'
- elif '@9:' in spec and '^fujitsu-ssl2' in spec:
- linalg_flavor = 'openblas'
+ linalg = spec["lapack"].libs + spec["blas"].libs
+ if "^mkl" in spec:
+ linalg_flavor = "mkl"
+ elif "@9:" in spec and "^openblas" in spec:
+ linalg_flavor = "openblas"
+ elif "@9:" in spec and "^fujitsu-ssl2" in spec:
+ linalg_flavor = "openblas"
else:
- linalg_flavor = 'custom'
+ linalg_flavor = "custom"
- if '+scalapack' in spec:
- linalg = spec['scalapack'].libs + linalg
- if '@:8' in spec:
- linalg_flavor = 'scalapack+{0}'.format(linalg_flavor)
+ if "+scalapack" in spec:
+ linalg = spec["scalapack"].libs + linalg
+ if "@:8" in spec:
+ linalg_flavor = "scalapack+{0}".format(linalg_flavor)
- if '@:8' in spec:
- oapp('--with-linalg-libs={0}'.format(linalg.ld_flags))
+ if "@:8" in spec:
+ oapp("--with-linalg-libs={0}".format(linalg.ld_flags))
else:
- oapp('LINALG_LIBS={0}'.format(linalg.ld_flags))
+ oapp("LINALG_LIBS={0}".format(linalg.ld_flags))
- oapp('--with-linalg-flavor={0}'.format(linalg_flavor))
+ oapp("--with-linalg-flavor={0}".format(linalg_flavor))
- if '^mkl' in spec:
- fftflavor = 'dfti'
+ if "^mkl" in spec:
+ fftflavor = "dfti"
else:
- if '+openmp' in spec:
- fftflavor, fftlibs = 'fftw3-threads', '-lfftw3_omp -lfftw3 -lfftw3f'
+ if "+openmp" in spec:
+ fftflavor, fftlibs = "fftw3-threads", "-lfftw3_omp -lfftw3 -lfftw3f"
else:
- fftflavor, fftlibs = 'fftw3', '-lfftw3 -lfftw3f'
+ fftflavor, fftlibs = "fftw3", "-lfftw3 -lfftw3f"
- oapp('--with-fft-flavor={0}'.format(fftflavor))
+ oapp("--with-fft-flavor={0}".format(fftflavor))
- if '@:8' in spec:
- if '^mkl' in spec:
- oapp('--with-fft-incs={0}'.format(spec['fftw-api'].headers.cpp_flags))
- oapp('--with-fft-libs={0}'.format(spec['fftw-api'].libs.ld_flags))
+ if "@:8" in spec:
+ if "^mkl" in spec:
+ oapp("--with-fft-incs={0}".format(spec["fftw-api"].headers.cpp_flags))
+ oapp("--with-fft-libs={0}".format(spec["fftw-api"].libs.ld_flags))
else:
- options.extend([
- '--with-fft-incs={0}'.format(spec['fftw-api'].headers.cpp_flags),
- '--with-fft-libs=-L{0} {1}'.format(
- spec['fftw-api'].prefix.lib, fftlibs),
- ])
+ options.extend(
+ [
+ "--with-fft-incs={0}".format(spec["fftw-api"].headers.cpp_flags),
+ "--with-fft-libs=-L{0} {1}".format(spec["fftw-api"].prefix.lib, fftlibs),
+ ]
+ )
else:
- if '^mkl' in spec:
- options.extend([
- 'FFT_CPPFLAGS={0}'.format(spec['fftw-api'].headers.cpp_flags),
- 'FFT_LIBs={0}'.format(spec['fftw-api'].libs.ld_flags),
- ])
+ if "^mkl" in spec:
+ options.extend(
+ [
+ "FFT_CPPFLAGS={0}".format(spec["fftw-api"].headers.cpp_flags),
+ "FFT_LIBs={0}".format(spec["fftw-api"].libs.ld_flags),
+ ]
+ )
else:
- options.extend([
- 'FFTW3_CPPFLAGS={0}'.format(spec['fftw-api'].headers.cpp_flags),
- 'FFTW3_LIBS=-L{0} {1}'.format(
- spec['fftw-api'].prefix.lib, fftlibs),
- ])
+ options.extend(
+ [
+ "FFTW3_CPPFLAGS={0}".format(spec["fftw-api"].headers.cpp_flags),
+ "FFTW3_LIBS=-L{0} {1}".format(spec["fftw-api"].prefix.lib, fftlibs),
+ ]
+ )
# LibXC library
- libxc = spec['libxc:fortran']
- if '@:8' in spec:
- options.extend([
- '--with-libxc-incs={0}'.format(libxc.headers.cpp_flags),
- '--with-libxc-libs={0}'.format(libxc.libs.ld_flags + ' -lm')
- ])
+ libxc = spec["libxc:fortran"]
+ if "@:8" in spec:
+ options.extend(
+ [
+ "--with-libxc-incs={0}".format(libxc.headers.cpp_flags),
+ "--with-libxc-libs={0}".format(libxc.libs.ld_flags + " -lm"),
+ ]
+ )
else:
- oapp('--with-libxc={0}'.format(libxc.prefix))
+ oapp("--with-libxc={0}".format(libxc.prefix))
# Netcdf4/HDF5
- hdf5 = spec['hdf5:hl']
- netcdfc = spec['netcdf-c']
- netcdff = spec['netcdf-fortran:shared']
- if '@:8' in spec:
- oapp('--with-trio-flavor=netcdf')
+ hdf5 = spec["hdf5:hl"]
+ netcdfc = spec["netcdf-c"]
+ netcdff = spec["netcdf-fortran:shared"]
+ if "@:8" in spec:
+ oapp("--with-trio-flavor=netcdf")
# Since version 8, Abinit started to use netcdf4 + hdf5 and we have
# to link with the high level HDF5 library
- options.extend([
- '--with-netcdf-incs={0}'.format(
- netcdfc.headers.cpp_flags + ' ' +
- netcdff.headers.cpp_flags),
- '--with-netcdf-libs={0}'.format(
- netcdff.libs.ld_flags + ' ' + hdf5.libs.ld_flags
- ),
- ])
+ options.extend(
+ [
+ "--with-netcdf-incs={0}".format(
+ netcdfc.headers.cpp_flags + " " + netcdff.headers.cpp_flags
+ ),
+ "--with-netcdf-libs={0}".format(
+ netcdff.libs.ld_flags + " " + hdf5.libs.ld_flags
+ ),
+ ]
+ )
else:
- options.extend([
- '--with-netcdf={0}'.format(netcdfc.prefix),
- '--with-netcdf-fortran={0}'.format(netcdff.prefix),
- ])
+ options.extend(
+ [
+ "--with-netcdf={0}".format(netcdfc.prefix),
+ "--with-netcdf-fortran={0}".format(netcdff.prefix),
+ ]
+ )
- if self.spec.satisfies('%fj'):
- oapp('FCFLAGS_MODDIR=-M{0}'.format(join_path(
- self.stage.source_path, 'src/mods')))
+ if self.spec.satisfies("%fj"):
+ oapp("FCFLAGS_MODDIR=-M{0}".format(join_path(self.stage.source_path, "src/mods")))
return options
@@ -288,15 +293,15 @@ class Abinit(AutotoolsPackage):
"""This method is called after the build phase if tests have been
explicitly activated by user.
"""
- make('check')
+ make("check")
# the tests directly execute abinit. thus failing with MPI
# TODO: run tests in tests/ via the builtin runtests.py
# requires Python with numpy, pyyaml, pandas
- if '~mpi' in self.spec:
- make('tests_in')
+ if "~mpi" in self.spec:
+ make("tests_in")
def install(self, spec, prefix):
- make('install')
- if '+install-tests' in spec:
- install_tree('tests', spec.prefix.tests)
+ make("install")
+ if "+install-tests" in spec:
+ install_tree("tests", spec.prefix.tests)
diff --git a/var/spack/repos/builtin/packages/abseil-cpp/package.py b/var/spack/repos/builtin/packages/abseil-cpp/package.py
index ddcdf73fe1..099ad77459 100644
--- a/var/spack/repos/builtin/packages/abseil-cpp/package.py
+++ b/var/spack/repos/builtin/packages/abseil-cpp/package.py
@@ -7,40 +7,63 @@ from spack.package import *
class AbseilCpp(CMakePackage):
- """Abseil Common Libraries (C++) """
+ """Abseil Common Libraries (C++)"""
homepage = "https://abseil.io/"
- url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
+ url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
- maintainers = ['jcftang']
+ maintainers = ["jcftang"]
- version('20220623.0', sha256='4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602')
- version('20211102.0', sha256='dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4')
- version('20210324.2', sha256='59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f')
- version('20210324.1', sha256='441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6')
- version('20210324.0', sha256='dd7db6815204c2a62a2160e32c55e97113b0a0178b2f090d6bab5ce36111db4b')
- version('20200923.3', sha256='ebe2ad1480d27383e4bf4211e2ca2ef312d5e6a09eba869fd2e8a5c5d553ded2')
- version('20200923.2', sha256='bf3f13b13a0095d926b25640e060f7e13881bd8a792705dd9e161f3c2b9aa976')
- version('20200923.1', sha256='808350c4d7238315717749bab0067a1acd208023d41eaf0c7360f29cc8bc8f21')
- version('20200225.2', sha256='f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111')
- version('20200225.1', sha256='0db0d26f43ba6806a8a3338da3e646bb581f0ca5359b3a201d8fb8e4752fd5f8')
- version('20190808', sha256='8100085dada279bf3ee00cd064d43b5f55e5d913be0dfe2906f06f8f28d5b37e')
- version('20181200', sha256='e2b53bfb685f5d4130b84c4f3050c81bf48c497614dc85d91dbd3ed9129bce6d')
- version('20180600', sha256='794d483dd9a19c43dc1fbbe284ce8956eb7f2600ef350dac4c602f9b4eb26e90')
+ version(
+ "20220623.0", sha256="4208129b49006089ba1d6710845a45e31c59b0ab6bff9e5788a87f55c5abd602"
+ )
+ version(
+ "20211102.0", sha256="dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4"
+ )
+ version(
+ "20210324.2", sha256="59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f"
+ )
+ version(
+ "20210324.1", sha256="441db7c09a0565376ecacf0085b2d4c2bbedde6115d7773551bc116212c2a8d6"
+ )
+ version(
+ "20210324.0", sha256="dd7db6815204c2a62a2160e32c55e97113b0a0178b2f090d6bab5ce36111db4b"
+ )
+ version(
+ "20200923.3", sha256="ebe2ad1480d27383e4bf4211e2ca2ef312d5e6a09eba869fd2e8a5c5d553ded2"
+ )
+ version(
+ "20200923.2", sha256="bf3f13b13a0095d926b25640e060f7e13881bd8a792705dd9e161f3c2b9aa976"
+ )
+ version(
+ "20200923.1", sha256="808350c4d7238315717749bab0067a1acd208023d41eaf0c7360f29cc8bc8f21"
+ )
+ version(
+ "20200225.2", sha256="f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111"
+ )
+ version(
+ "20200225.1", sha256="0db0d26f43ba6806a8a3338da3e646bb581f0ca5359b3a201d8fb8e4752fd5f8"
+ )
+ version("20190808", sha256="8100085dada279bf3ee00cd064d43b5f55e5d913be0dfe2906f06f8f28d5b37e")
+ version("20181200", sha256="e2b53bfb685f5d4130b84c4f3050c81bf48c497614dc85d91dbd3ed9129bce6d")
+ version("20180600", sha256="794d483dd9a19c43dc1fbbe284ce8956eb7f2600ef350dac4c602f9b4eb26e90")
- variant('shared', default=True,
- description='Build shared instead of static libraries')
+ variant("shared", default=True, description="Build shared instead of static libraries")
- conflicts('+shared', when='@:20190808')
+ conflicts("+shared", when="@:20190808")
- variant('cxxstd', values=('11', '14', '17', '20'), default='11',
- description="C++ standard used during compilation")
+ variant(
+ "cxxstd",
+ values=("11", "14", "17", "20"),
+ default="11",
+ description="C++ standard used during compilation",
+ )
def cmake_args(self):
- shared = 'ON' if '+shared' in self.spec else 'OFF'
- cxxstd = self.spec.variants['cxxstd'].value
+ shared = "ON" if "+shared" in self.spec else "OFF"
+ cxxstd = self.spec.variants["cxxstd"].value
return [
- self.define('BUILD_TESTING', 'OFF'),
- self.define('BUILD_SHARED_LIBS:Bool', shared),
- self.define('CMAKE_CXX_STANDARD', cxxstd)
+ self.define("BUILD_TESTING", "OFF"),
+ self.define("BUILD_SHARED_LIBS:Bool", shared),
+ self.define("CMAKE_CXX_STANDARD", cxxstd),
]
diff --git a/var/spack/repos/builtin/packages/abyss/package.py b/var/spack/repos/builtin/packages/abyss/package.py
index 7052232547..73e4f4db09 100644
--- a/var/spack/repos/builtin/packages/abyss/package.py
+++ b/var/spack/repos/builtin/packages/abyss/package.py
@@ -10,59 +10,63 @@ from spack.pkg.builtin.boost import Boost
def is_multiple_32(x):
- """multiple of 32 """
+ """multiple of 32"""
try:
- return isinstance(int(x), numbers.Integral) and \
- not isinstance(x, bool) and int(x) % 32 == 0
+ return (
+ isinstance(int(x), numbers.Integral) and not isinstance(x, bool) and int(x) % 32 == 0
+ )
except ValueError:
return False
class Abyss(AutotoolsPackage):
"""ABySS is a de novo, parallel, paired-end sequence assembler
- that is designed for short reads. The single-processor version
- is useful for assembling genomes up to 100 Mbases in size."""
+ that is designed for short reads. The single-processor version
+ is useful for assembling genomes up to 100 Mbases in size."""
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"
+ url = "https://github.com/bcgsc/abyss/releases/download/2.3.1/abyss-2.3.1.tar.gz"
- version('2.3.1', sha256='664045e7903e9732411effc38edb9ebb1a0c1b7636c64b3a14a681f465f43677')
- version('2.3.0', sha256='3df923b0699187fb27948cae43293eeb5745161d5dc484b9befbe2ca8efb6ad7')
- version('2.2.5', sha256='38e886f455074c76b32dd549e94cc345f46cb1d33ab11ad3e8e1f5214fc65521')
- version('2.1.4', sha256='2145a1727556104d6a14db06a9c06f47b96c31cc5ac595ae9c92224349bdbcfc')
- version('2.0.2', sha256='d87b76edeac3a6fb48f24a1d63f243d8278a324c9a5eb29027b640f7089422df')
- version('1.5.2', sha256='8a52387f963afb7b63db4c9b81c053ed83956ea0a3981edcad554a895adf84b1')
+ version("2.3.1", sha256="664045e7903e9732411effc38edb9ebb1a0c1b7636c64b3a14a681f465f43677")
+ version("2.3.0", sha256="3df923b0699187fb27948cae43293eeb5745161d5dc484b9befbe2ca8efb6ad7")
+ version("2.2.5", sha256="38e886f455074c76b32dd549e94cc345f46cb1d33ab11ad3e8e1f5214fc65521")
+ version("2.1.4", sha256="2145a1727556104d6a14db06a9c06f47b96c31cc5ac595ae9c92224349bdbcfc")
+ version("2.0.2", sha256="d87b76edeac3a6fb48f24a1d63f243d8278a324c9a5eb29027b640f7089422df")
+ version("1.5.2", sha256="8a52387f963afb7b63db4c9b81c053ed83956ea0a3981edcad554a895adf84b1")
- variant('maxk', default=128, values=is_multiple_32,
- description='set the maximum k-mer length.')
+ variant(
+ "maxk", default=128, values=is_multiple_32, description="set the maximum k-mer length."
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('bwa', type='run')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("bwa", type="run")
- depends_on('mpi')
- depends_on('boost@:1.50.0,1.53.0:', when='@2.0.2:')
- depends_on('boost@:1.50.0,1.53.0:1.59.0', when='@:1.5.2')
+ depends_on("mpi")
+ depends_on("boost@:1.50.0,1.53.0:", when="@2.0.2:")
+ depends_on("boost@:1.50.0,1.53.0:1.59.0", when="@:1.5.2")
# Maintainers: Is boost really a dependency? In what conditions?
depends_on(Boost.with_default_variants)
- depends_on('sparsehash')
- depends_on('sqlite')
- depends_on('libtool')
+ depends_on("sparsehash")
+ depends_on("sqlite")
+ depends_on("libtool")
- conflicts('^intel-mpi')
- conflicts('^intel-parallel-studio+mpi')
- conflicts('^mvapich2')
- conflicts('^spectrum-mpi')
+ conflicts("^intel-mpi")
+ conflicts("^intel-parallel-studio+mpi")
+ conflicts("^mvapich2")
+ conflicts("^spectrum-mpi")
def configure_args(self):
- maxk = int(self.spec.variants['maxk'].value)
- args = ['--with-boost=%s' % self.spec['boost'].prefix,
- '--with-sqlite=%s' % self.spec['sqlite'].prefix,
- '--with-mpi=%s' % self.spec['mpi'].prefix]
+ maxk = int(self.spec.variants["maxk"].value)
+ args = [
+ "--with-boost=%s" % self.spec["boost"].prefix,
+ "--with-sqlite=%s" % self.spec["sqlite"].prefix,
+ "--with-mpi=%s" % self.spec["mpi"].prefix,
+ ]
if maxk:
- args.append('--enable-maxk=%s' % maxk)
- if self.spec['mpi'].name == 'mpich':
- args.append('--enable-mpich')
+ args.append("--enable-maxk=%s" % maxk)
+ if self.spec["mpi"].name == "mpich":
+ args.append("--enable-mpich")
return args
- patch('fix_BloomFilter.hpp.patch', when='@2.0.0:2.1.4')
+ patch("fix_BloomFilter.hpp.patch", when="@2.0.0:2.1.4")
diff --git a/var/spack/repos/builtin/packages/accfft/package.py b/var/spack/repos/builtin/packages/accfft/package.py
index d3e56d1ca1..05d751f86c 100644
--- a/var/spack/repos/builtin/packages/accfft/package.py
+++ b/var/spack/repos/builtin/packages/accfft/package.py
@@ -12,39 +12,35 @@ class Accfft(CMakePackage, CudaPackage):
"""
homepage = "http://accfft.org"
- git = "https://github.com/amirgholami/accfft.git"
+ git = "https://github.com/amirgholami/accfft.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- variant('pnetcdf', default=True, description='Add support for parallel NetCDF')
- variant('shared', default=True, description='Enables the build of shared libraries')
+ variant("pnetcdf", default=True, description="Add support for parallel NetCDF")
+ variant("shared", default=True, description="Enables the build of shared libraries")
# See: http://accfft.org/articles/install/#installing-dependencies
- depends_on('fftw precision=float,double ~mpi+openmp')
+ depends_on("fftw precision=float,double ~mpi+openmp")
- depends_on('parallel-netcdf', when='+pnetcdf')
+ depends_on("parallel-netcdf", when="+pnetcdf")
# fix error [-Wc++11-narrowing]
- patch('fix_narrowing_error.patch')
+ patch("fix_narrowing_error.patch")
parallel = False
def cmake_args(self):
spec = self.spec
args = [
- '-DFFTW_ROOT={0}'.format(spec['fftw'].prefix),
- '-DFFTW_USE_STATIC_LIBS=false',
- '-DBUILD_GPU={0}'.format('true' if '+cuda' in spec else 'false'),
- '-DBUILD_SHARED={0}'.format(
- 'true' if '+shared' in spec else 'false'
- ),
+ "-DFFTW_ROOT={0}".format(spec["fftw"].prefix),
+ "-DFFTW_USE_STATIC_LIBS=false",
+ "-DBUILD_GPU={0}".format("true" if "+cuda" in spec else "false"),
+ "-DBUILD_SHARED={0}".format("true" if "+shared" in spec else "false"),
]
- if '+cuda' in spec:
- cuda_arch = [x for x in spec.variants['cuda_arch'].value if x]
+ if "+cuda" in spec:
+ cuda_arch = [x for x in spec.variants["cuda_arch"].value if x]
if cuda_arch:
- args.append('-DCUDA_NVCC_FLAGS={0}'.format(
- ' '.join(self.cuda_flags(cuda_arch))
- ))
+ args.append("-DCUDA_NVCC_FLAGS={0}".format(" ".join(self.cuda_flags(cuda_arch))))
return args
diff --git a/var/spack/repos/builtin/packages/acct/package.py b/var/spack/repos/builtin/packages/acct/package.py
index 254377bd07..2151d41961 100644
--- a/var/spack/repos/builtin/packages/acct/package.py
+++ b/var/spack/repos/builtin/packages/acct/package.py
@@ -10,15 +10,15 @@ class Acct(AutotoolsPackage):
"""Utilities for monitoring process activities."""
homepage = "https://www.gnu.org/software/acct"
- url = "https://ftp.gnu.org/gnu/acct/acct-6.6.4.tar.gz"
+ url = "https://ftp.gnu.org/gnu/acct/acct-6.6.4.tar.gz"
- version('6.6.4', sha256='4c15bf2b58b16378bcc83f70e77d4d40ab0b194acf2ebeefdb507f151faa663f')
- version('6.6.3', sha256='5eae79323bf1ce403704d2b70483c46e7c853276ee7b5ad561ec3ccae9fca093')
- version('6.6.2', sha256='8ed47b2f893b08f0d67720880adbb48b835a826c314fa52fd52af1cee6870101')
+ version("6.6.4", sha256="4c15bf2b58b16378bcc83f70e77d4d40ab0b194acf2ebeefdb507f151faa663f")
+ version("6.6.3", sha256="5eae79323bf1ce403704d2b70483c46e7c853276ee7b5ad561ec3ccae9fca093")
+ version("6.6.2", sha256="8ed47b2f893b08f0d67720880adbb48b835a826c314fa52fd52af1cee6870101")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def installcheck(self):
- """"Runs standard check if all programs support --help but not all do"""
+ """ "Runs standard check if all programs support --help but not all do"""
pass
diff --git a/var/spack/repos/builtin/packages/accumulo/package.py b/var/spack/repos/builtin/packages/accumulo/package.py
index ffef83bf7f..88473fc176 100644
--- a/var/spack/repos/builtin/packages/accumulo/package.py
+++ b/var/spack/repos/builtin/packages/accumulo/package.py
@@ -12,12 +12,12 @@ class Accumulo(MavenPackage):
provides robust, scalable data storage and retrieval."""
homepage = "https://accumulo.apache.org/"
- url = "https://github.com/apache/accumulo/archive/rel/2.0.1.tar.gz"
+ url = "https://github.com/apache/accumulo/archive/rel/2.0.1.tar.gz"
- version('2.0.1', sha256='2756ac14e850b30ad9bd1043418d621b93307d083f84904cd8fac5c8beec751b')
- version('2.0.0', sha256='2564056dc24398aa464763c21bae10ef09356fe3261600d27744071cf965c265')
- version('1.9.3', sha256='d9548d5b9cf9f494f027f0fe59d5d6d45d09064359d7761cade62991ce2a5d0c')
- version('1.9.2', sha256='11ab028143ad6313cd5fc701b36b4c35e46a4a3fa2ce663869860b9f6bf5ee4d')
+ version("2.0.1", sha256="2756ac14e850b30ad9bd1043418d621b93307d083f84904cd8fac5c8beec751b")
+ version("2.0.0", sha256="2564056dc24398aa464763c21bae10ef09356fe3261600d27744071cf965c265")
+ version("1.9.3", sha256="d9548d5b9cf9f494f027f0fe59d5d6d45d09064359d7761cade62991ce2a5d0c")
+ version("1.9.2", sha256="11ab028143ad6313cd5fc701b36b4c35e46a4a3fa2ce663869860b9f6bf5ee4d")
- depends_on('java@8:', type=('build', 'run'))
- depends_on('maven@3.5.0:', type='build')
+ depends_on("java@8:", type=("build", "run"))
+ depends_on("maven@3.5.0:", type="build")
diff --git a/var/spack/repos/builtin/packages/ace/package.py b/var/spack/repos/builtin/packages/ace/package.py
index cad16b2d4a..2aabcf38a8 100644
--- a/var/spack/repos/builtin/packages/ace/package.py
+++ b/var/spack/repos/builtin/packages/ace/package.py
@@ -8,38 +8,39 @@ from spack.package import *
class Ace(MakefilePackage):
"""ACE is an open-source framework that provides many components and
- patterns for developing high-performance, distributed real-time and
- embedded systems. ACE provides powerful, yet efficient abstractions
- for sockets, demultiplexing loops, threads, synchronization
- primitives."""
+ patterns for developing high-performance, distributed real-time and
+ embedded systems. ACE provides powerful, yet efficient abstractions
+ for sockets, demultiplexing loops, threads, synchronization
+ primitives."""
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')
- version('6.5.1', '1f318adadb19da23c9be570a9c600a330056b18950fe0bf0eb1cf5cac8b72a32')
- version('6.5.0', 'b6f9ec922fbdcecb4348e16d851d0d1f135df1836dfe77d2e0b64295ddb83066')
+ version("6.5.12", "de96c68a6262d6b9ba76b5057c02c7e6964c070b1328a63bf70259e9530a7996")
+ version("6.5.6", "7717cad84d4a9c3d6b2c47963eb555d96de0be657870bcab6fcef4c0423af0de")
+ version("6.5.1", "1f318adadb19da23c9be570a9c600a330056b18950fe0bf0eb1cf5cac8b72a32")
+ version("6.5.0", "b6f9ec922fbdcecb4348e16d851d0d1f135df1836dfe77d2e0b64295ddb83066")
def edit(self, spec, prefix):
# Dictionary mapping: compiler-name : ACE config-label
- supported = {'intel': '_icc', 'gcc': ''}
+ supported = {"intel": "_icc", "gcc": ""}
- if not(self.compiler.name in supported):
- raise Exception('compiler ' + self.compiler.name +
- ' not supported in ace spack-package')
+ if not (self.compiler.name in supported):
+ raise Exception(
+ "compiler " + self.compiler.name + " not supported in ace spack-package"
+ )
- env['ACE_ROOT'] = self.stage.source_path
+ env["ACE_ROOT"] = self.stage.source_path
- with working_dir('./ace'):
- with open('config.h', 'w') as f:
+ with working_dir("./ace"):
+ with open("config.h", "w") as f:
f.write('#include "ace/config-linux.h"\n')
- with working_dir(join_path(self.stage.source_path,
- 'include/makeinclude')):
- with open('platform_macros.GNU', 'w') as f:
- f.write("include $(ACE_ROOT)/include/makeinclude/"
- "platform_linux" + supported[self.compiler.name]
- + ".GNU\n")
+ with working_dir(join_path(self.stage.source_path, "include/makeinclude")):
+ with open("platform_macros.GNU", "w") as f:
+ f.write(
+ "include $(ACE_ROOT)/include/makeinclude/"
+ "platform_linux" + supported[self.compiler.name] + ".GNU\n"
+ )
f.write("INSTALL_PREFIX=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/ack/package.py b/var/spack/repos/builtin/packages/ack/package.py
index 255a2cc4c5..06ef661115 100644
--- a/var/spack/repos/builtin/packages/ack/package.py
+++ b/var/spack/repos/builtin/packages/ack/package.py
@@ -9,23 +9,39 @@ from spack.package import *
class Ack(Package):
"""ack 2.14 is a tool like grep, optimized for programmers.
- Designed for programmers with large heterogeneous trees of
- source code, ack is written purely in portable Perl 5 and takes
- advantage of the power of Perl's regular expressions."""
+ Designed for programmers with large heterogeneous trees of
+ source code, ack is written purely in portable Perl 5 and takes
+ advantage of the power of Perl's regular expressions."""
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)
- version('2.16', sha256='7f39f08ebb78ed160a41293d7f42ff1bdcdaf57aee859bc4c4888bdf4abee7f2', expand=False)
- version('2.14', sha256='1d203cfbc52ce8f49e3992be1cd3e4d7d5dfb7daa3739e8628aa9858ccc5b9df', expand=False)
-
- depends_on('perl')
+ url = "https://beyondgrep.com/ack-2.14-single-file"
+
+ version(
+ "2.22",
+ sha256="fd0617585b88517a3d41d3d206c1dc38058c57b90dfd88c278049a41aeb5be38",
+ expand=False,
+ )
+ version(
+ "2.18",
+ sha256="6e41057c8f50f661d800099471f769209480efa53b8a886969d7ec6db60a2208",
+ expand=False,
+ )
+ version(
+ "2.16",
+ sha256="7f39f08ebb78ed160a41293d7f42ff1bdcdaf57aee859bc4c4888bdf4abee7f2",
+ expand=False,
+ )
+ version(
+ "2.14",
+ sha256="1d203cfbc52ce8f49e3992be1cd3e4d7d5dfb7daa3739e8628aa9858ccc5b9df",
+ expand=False,
+ )
+
+ depends_on("perl")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- ack_source = 'ack-{0}-single-file'.format(self.version)
+ ack_source = "ack-{0}-single-file".format(self.version)
ack_installed = join_path(prefix.bin, "ack")
# install source
@@ -33,5 +49,5 @@ class Ack(Package):
set_executable(ack_installed)
# rewrite the script's #! line to call the perl dependency
- shbang = '#!' + spec['perl'].command.path
- filter_file(r'^#!/usr/bin/env perl', shbang, ack_installed)
+ shbang = "#!" + spec["perl"].command.path
+ filter_file(r"^#!/usr/bin/env perl", shbang, ack_installed)
diff --git a/var/spack/repos/builtin/packages/acl/package.py b/var/spack/repos/builtin/packages/acl/package.py
index 9129ef9752..b045722dc7 100644
--- a/var/spack/repos/builtin/packages/acl/package.py
+++ b/var/spack/repos/builtin/packages/acl/package.py
@@ -10,25 +10,25 @@ class Acl(AutotoolsPackage):
"""Commands for Manipulating POSIX Access Control Lists."""
homepage = "https://savannah.nongnu.org/projects/acl"
- 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')
- version('2.2.51', sha256='31a43d96a274a39bfcb805fb903d45840515344884d224cef166b482693a9f48')
- version('2.2.50', sha256='39e21d623a9f0da8c042cde346c01871b498d51400e92c2ab1490d5ffd724401')
- version('2.2.49', sha256='c6e01460cac4e47673dd60a7f57b970b49f6998bb564eff141cca129aa8940d1')
- version('2.2.48', sha256='877eaeccc1500baec58391935b46ac7dfc5ffd8c54fbc0385ccd8b2b18ac3fa6')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('attr')
- depends_on('gettext')
+ 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")
+ version("2.2.51", sha256="31a43d96a274a39bfcb805fb903d45840515344884d224cef166b482693a9f48")
+ version("2.2.50", sha256="39e21d623a9f0da8c042cde346c01871b498d51400e92c2ab1490d5ffd724401")
+ version("2.2.49", sha256="c6e01460cac4e47673dd60a7f57b970b49f6998bb564eff141cca129aa8940d1")
+ version("2.2.48", sha256="877eaeccc1500baec58391935b46ac7dfc5ffd8c54fbc0385ccd8b2b18ac3fa6")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("attr")
+ depends_on("gettext")
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', '-lintl')
+ env.append_flags("LDFLAGS", "-lintl")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/acpica-tools/package.py b/var/spack/repos/builtin/packages/acpica-tools/package.py
index 025428d3f0..c8c0e44817 100644
--- a/var/spack/repos/builtin/packages/acpica-tools/package.py
+++ b/var/spack/repos/builtin/packages/acpica-tools/package.py
@@ -10,13 +10,13 @@ class AcpicaTools(MakefilePackage):
"""Debian packaging for the ACPICA user space tools"""
homepage = "https://github.com/ahs3/acpica-tools"
- url = "https://github.com/ahs3/acpica-tools/archive/upstream/20200528.tar.gz"
+ url = "https://github.com/ahs3/acpica-tools/archive/upstream/20200528.tar.gz"
- version('20200528', sha256='07cd3e370b695ab787d25a7165e37eb7b150dca7908f047a6a6486d216cf05a8')
- version('20200430', sha256='e3118583bf6e4bb4745d642a863cce1b4fcfdf67558e4ae53df367b7e26b89ac')
+ version("20200528", sha256="07cd3e370b695ab787d25a7165e37eb7b150dca7908f047a6a6486d216cf05a8")
+ version("20200430", sha256="e3118583bf6e4bb4745d642a863cce1b4fcfdf67558e4ae53df367b7e26b89ac")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/acpid/package.py b/var/spack/repos/builtin/packages/acpid/package.py
index 3011f84a50..dad617f06b 100644
--- a/var/spack/repos/builtin/packages/acpid/package.py
+++ b/var/spack/repos/builtin/packages/acpid/package.py
@@ -14,15 +14,15 @@ class Acpid(AutotoolsPackage):
This is how you make it do stuff. See the man page for details."""
homepage = "http://www.tedfelix.com"
- url = "https://github.com/Distrotech/acpid/archive/2.0.28.tar.gz"
+ url = "https://github.com/Distrotech/acpid/archive/2.0.28.tar.gz"
- version('2.0.28', sha256='cb5709b96f85e1bfee7a3fc17e56bef7244caa1b0ad762a4813fe731ef3c8438')
- version('2.0.27', sha256='da4691f408d9ef201937eaab7c894072ee8aa0ba35794f2388b606b3208fab07')
- version('2.0.26', sha256='ac7238dc5ecc9a915e95d5b54be12b6221d0a0ad09109f9024e50946ecd3c602')
- version('2.0.25', sha256='947d2e4f9b2d61a728ce5d6139901f1b666dcef5e2a48833cb33d82895e261cf')
- version('2.0.24', sha256='05903901369c4ebea1d24e445b4a1d516dd3b07e7864cc752a2d09b4147e1985')
+ version("2.0.28", sha256="cb5709b96f85e1bfee7a3fc17e56bef7244caa1b0ad762a4813fe731ef3c8438")
+ version("2.0.27", sha256="da4691f408d9ef201937eaab7c894072ee8aa0ba35794f2388b606b3208fab07")
+ version("2.0.26", sha256="ac7238dc5ecc9a915e95d5b54be12b6221d0a0ad09109f9024e50946ecd3c602")
+ version("2.0.25", sha256="947d2e4f9b2d61a728ce5d6139901f1b666dcef5e2a48833cb33d82895e261cf")
+ version("2.0.24", sha256="05903901369c4ebea1d24e445b4a1d516dd3b07e7864cc752a2d09b4147e1985")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/activeharmony/package.py b/var/spack/repos/builtin/packages/activeharmony/package.py
index 18767ab7e5..742acfa408 100644
--- a/var/spack/repos/builtin/packages/activeharmony/package.py
+++ b/var/spack/repos/builtin/packages/activeharmony/package.py
@@ -11,23 +11,27 @@ class Activeharmony(MakefilePackage):
values to improve the performance of a target application)."""
homepage = "https://www.dyninst.org/harmony"
- url = "https://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
+ 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')
+ version("4.6.0", sha256="9ce5009cfd8e2f4cf5f3536e1fea9993414fc25920fc90d0a2cb56f044787dbb")
+ version("4.5", sha256="31d9990c8dd36724d336707d260aa4d976e11eaa899c4c7cc11f80a56cdac684")
- patch('fix_logical_bug_in_slave_list_parsing.patch', sha256='3e000616f84de80b262efcae7559d65eed0efcd53e915580dab63b0ffbbb8bf2', when='@4.6.0')
+ patch(
+ "fix_logical_bug_in_slave_list_parsing.patch",
+ sha256="3e000616f84de80b262efcae7559d65eed0efcd53e915580dab63b0ffbbb8bf2",
+ when="@4.6.0",
+ )
- cflags = ['-O3', '-fPIC']
+ cflags = ["-O3", "-fPIC"]
def setup_build_environment(self, spack_env):
- spack_env.set('CFLAGS', ' '.join(self.cflags))
+ spack_env.set("CFLAGS", " ".join(self.cflags))
- @when('@:4.5')
+ @when("@:4.5")
def install(self, spec, prefix):
- make("install", 'PREFIX=%s' % prefix)
+ make("install", "PREFIX=%s" % prefix)
- @when('@4.6.0:')
+ @when("@4.6.0:")
def install(self, spec, prefix):
make("install")
install_tree("./bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/activemq/package.py b/var/spack/repos/builtin/packages/activemq/package.py
index 53e80fef1e..1a8895ac31 100644
--- a/var/spack/repos/builtin/packages/activemq/package.py
+++ b/var/spack/repos/builtin/packages/activemq/package.py
@@ -13,9 +13,9 @@ class Activemq(Package):
"""
homepage = "https://archive.apache.org/dist/activemq"
- url = "https://archive.apache.org/dist/activemq/5.14.0/apache-activemq-5.14.0-bin.tar.gz"
+ url = "https://archive.apache.org/dist/activemq/5.14.0/apache-activemq-5.14.0-bin.tar.gz"
- version('5.14.0', sha256='81c623465af277dd50a141a8d9308d6ec8e1b78d9019b845873dc12d117aa9a6')
+ version("5.14.0", sha256="81c623465af277dd50a141a8d9308d6ec8e1b78d9019b845873dc12d117aa9a6")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/acts-dd4hep/package.py b/var/spack/repos/builtin/packages/acts-dd4hep/package.py
index 0cb599c8ea..3cc0431ce1 100644
--- a/var/spack/repos/builtin/packages/acts-dd4hep/package.py
+++ b/var/spack/repos/builtin/packages/acts-dd4hep/package.py
@@ -10,10 +10,10 @@ class ActsDd4hep(CMakePackage):
"""Glue library to connect Acts to DD4hep"""
homepage = "https://github.com/acts-project/acts-dd4hep"
- url = "https://github.com/acts-project/acts-dd4hep/archive/refs/tags/v1.0.0.tar.gz"
+ url = "https://github.com/acts-project/acts-dd4hep/archive/refs/tags/v1.0.0.tar.gz"
- maintainers = ['HadrianG2', 'wdconinc']
+ maintainers = ["HadrianG2", "wdconinc"]
- version('1.0.0', sha256='991f996944c88efa837880f919239e50d12c5c9361e220bc9422438dd608308c')
+ version("1.0.0", sha256="991f996944c88efa837880f919239e50d12c5c9361e220bc9422438dd608308c")
- depends_on('dd4hep@1.11: +dddetectors')
+ depends_on("dd4hep@1.11: +dddetectors")
diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py
index 9c6a4f4205..5ff6c7b84a 100644
--- a/var/spack/repos/builtin/packages/acts/package.py
+++ b/var/spack/repos/builtin/packages/acts/package.py
@@ -30,166 +30,227 @@ class Acts(CMakePackage, CudaPackage):
"""
homepage = "https://acts.web.cern.ch/ACTS/"
- git = "https://github.com/acts-project/acts.git"
+ git = "https://github.com/acts-project/acts.git"
list_url = "https://github.com/acts-project/acts/releases/"
- maintainers = ['HadrienG2']
+ maintainers = ["HadrienG2"]
- tags = ['hep']
+ tags = ["hep"]
# Supported Acts versions
- version('main', branch='main')
- version('master', branch='main', deprecated=True) # For compatibility
- version('19.3.0', commit='747053f60254c5ad3aa1fe7b18ae89c19029f4a6', submodules=True)
- version('19.2.0', commit='adf079e0f7e278837093bf53988da73730804e22', submodules=True)
- version('19.1.0', commit='82f42a2cc80d4259db251275c09b84ee97a7bd22', submodules=True)
- version('19.0.0', commit='1ce9c583150060ba8388051685433899713d56d9', submodules=True)
- version('18.0.0', commit='fe03b5af6ca2b092dec87c4cef77dd552bbbe719', submodules=True)
- version('17.1.0', commit='0d9c3a6da022da48d6401e10c273896a1f775a9e', submodules=True)
- version('17.0.0', commit='ccbf4c7d4ec3698bac4db9687fab2455a3f9c203', submodules=True)
- version('16.0.0', commit='9bd86921155e708189417b5a8019add10fd5b273', submodules=True)
- version('15.1.0', commit='a96e6db7de6075e85b6d5346bc89845eeb89b324', submodules=True)
- version('15.0.1', commit='b9469b8914f6a1bc47af0998eb7c9e8e20e4debc', submodules=True)
- version('15.0.0', commit='0fef9e0831a90e946745390882aac871b211eaac', submodules=True)
- version('14.1.0', commit='e883ab6acfe5033509ad1c27e8e2ba980dfa59f6', submodules=True)
- version('14.0.0', commit='f902bef81b60133994315c13f7d32d60048c79d8', submodules=True)
- version('13.0.0', commit='ad05672e48b693fd37156f1ad62ed57aa82f858c', submodules=True)
- 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')
- version('9.01.0', commit='bf8fd4c03dd94f497d8501df510d8f6a48434afd')
- version('9.00.1', commit='7d59bc508d898d2cb67ba05a7150a978b9fcc32d')
- version('9.00.0', commit='e6e3092bf3a9411aac7c11a24d7586abddb75d59')
- version('8.03.0', commit='601c0a18b6738cae81c3e23422cfeb3ec7bddce9')
- version('8.02.0', commit='f25cf639915fc2ac65b03882ad3eb11fb037ed00')
- version('8.01.0', commit='ccc8c77bbc011f3adc020c565a509815be0ea029')
- version('8.00.0', commit='50c972823144c007b406ae12d7ca25a1e0c35532')
- version('7.00.0', commit='e663df7ab023bdb5ef206202efc2e54ccb71d416')
- version('6.00.0', commit='a5cf04acd4b1a2c625e0826189109472a3392558')
- version('5.00.0', commit='df77b91a7d37b8db6ed028a4d737014b5ad86bb7')
- version('4.01.0', commit='c383bf434ef69939b47e840e0eac0ba632e6af9f')
- version('4.00.0', commit='ed64b4b88d366b63adc4a8d1afe5bc97aa5751eb')
- version('3.00.0', commit='e20260fccb469f4253519d3f0ddb3191b7046db3')
- version('2.00.0', commit='8708eae2b2ccdf57ab7b451cfbba413daa1fc43c')
- version('1.02.1', commit='f6ebeb9a28297ba8c54fd08b700057dd4ff2a311')
- version('1.02.0', commit='e69b95acc9a264e63aded7d1714632066e090542')
- version('1.01.0', commit='836fddd02c3eff33825833ff97d6abda5b5c20a0')
- version('1.00.0', commit='ec9ce0bcdc837f568d42a12ddf3fc9c80db62f5d')
- version('0.32.0', commit='a4cedab7e727e1327f2835db29d147cc86b21054')
- version('0.31.0', commit='cfbd901555579a2f32f4efe2b76a7048442b42c3')
- version('0.30.0', commit='a71ef0a9c742731611645214079884585a92b15e')
- version('0.29.0', commit='33aa3e701728112e8908223c4a7fd521907c8ea4')
- version('0.28.0', commit='55626b7401eeb93fc562e79bcf385f0ad0ac48bf')
- version('0.27.1', commit='8ba3010a532137bc0ab6cf83a38b483cef646a01')
- version('0.27.0', commit='f7b1a1c27d5a95d08bb67236ad0e117fcd1c679f')
- version('0.26.0', commit='cf542b108b31fcc349fc18fb0466f889e4e42aa6')
- version('0.25.2', commit='76bf1f3e4be51d4d27126b473a2caa8d8a72b320')
- version('0.25.1', commit='6e8a1ea6d2c7385a78e3e190efb2a8a0c1fa957f')
- version('0.25.0', commit='0aca171951a214299e8ff573682b1c5ecec63d42')
- version('0.24.0', commit='ef4699c8500bfea59a5fe88bed67fde2f00f0adf')
- version('0.23.0', commit='dc443dd7e663bc4d7fb3c1e3f1f75aaf57ffd4e4')
- version('0.22.1', commit='ca1b8b1645db6b552f44c48d2ff34c8c29618f3a')
- version('0.22.0', commit='2c8228f5843685fc0ae69a8b95dd8fc001139efb')
- version('0.21.0', commit='10b719e68ddaca15b28ac25b3daddce8c0d3368d')
- version('0.20.0', commit='1d37a849a9c318e8ca4fa541ef8433c1f004637b')
- version('0.19.0', commit='408335636486c421c6222a64372250ef12544df6')
- version('0.18.0', commit='d58a68cf75b52a5e0f563bc237f09250aa9da80c')
- version('0.17.0', commit='0789f654ff484b013fd27e5023cf342785ea8d97')
- version('0.16.0', commit='b3d965fe0b8ae335909d79114ef261c6b996773a')
- version('0.15.0', commit='267c28f69c561e64369661a6235b03b5a610d6da')
- version('0.14.0', commit='38d678fcb205b77d60326eae913fbb1b054acea1')
- version('0.13.0', commit='b33f7270ddbbb33050b7ec60b4fa255dc2bfdc88')
- version('0.12.1', commit='a8b3d36e7c6cb86487637589e0eff7bbe626054a')
- version('0.12.0', commit='f9cda77299606d78c889fb1db2576c1971a271c4')
- version('0.11.1', commit='c21196cd6c3ecc6da0f14d0a9ef227a274be584b')
- version('0.11.0', commit='22bcea1f19adb0021ca61b843b95cfd2462dd31d')
- version('0.10.5', commit='b6f7234ca8f18ee11e57709d019c14bf41cf9b19')
- version('0.10.4', commit='42cbc359c209f5cf386e620b5a497192c024655e')
- version('0.10.3', commit='a3bb86b79a65b3d2ceb962b60411fd0df4cf274c')
- version('0.10.2', commit='64cbf28c862d8b0f95232b00c0e8c38949d5015d')
- version('0.10.1', commit='0692dcf7824efbc504fb16f7aa00a50df395adbc')
- version('0.10.0', commit='30ef843cb00427f9959b7de4d1b9843413a13f02')
- version('0.09.5', commit='12b11fe8b0d428ccb8e92dda7dc809198f828672')
- version('0.09.4', commit='e5dd9fbe179201e70347d1a3b9fa1899c226798f')
- version('0.09.3', commit='a8f31303ee8720ed2946bfe2d59e81d0f70e307e')
- version('0.09.2', commit='4e1f7fa73ffe07457080d787e206bf6466fe1680')
- version('0.09.1', commit='69c451035516cb683b8f7bc0bab1a25893e9113d')
- version('0.09.0', commit='004888b0a412f5bbaeef2ffaaeaf2aa182511494')
- version('0.08.2', commit='c5d7568714e69e7344582b93b8d24e45d6b81bf9')
- version('0.08.1', commit='289bdcc320f0b3ff1d792e29e462ec2d3ea15df6')
- version('0.08.0', commit='99eedb38f305e3a1cd99d9b4473241b7cd641fa9')
+ version("main", branch="main")
+ version("master", branch="main", deprecated=True) # For compatibility
+ version("19.3.0", commit="747053f60254c5ad3aa1fe7b18ae89c19029f4a6", submodules=True)
+ version("19.2.0", commit="adf079e0f7e278837093bf53988da73730804e22", submodules=True)
+ version("19.1.0", commit="82f42a2cc80d4259db251275c09b84ee97a7bd22", submodules=True)
+ version("19.0.0", commit="1ce9c583150060ba8388051685433899713d56d9", submodules=True)
+ version("18.0.0", commit="fe03b5af6ca2b092dec87c4cef77dd552bbbe719", submodules=True)
+ version("17.1.0", commit="0d9c3a6da022da48d6401e10c273896a1f775a9e", submodules=True)
+ version("17.0.0", commit="ccbf4c7d4ec3698bac4db9687fab2455a3f9c203", submodules=True)
+ version("16.0.0", commit="9bd86921155e708189417b5a8019add10fd5b273", submodules=True)
+ version("15.1.0", commit="a96e6db7de6075e85b6d5346bc89845eeb89b324", submodules=True)
+ version("15.0.1", commit="b9469b8914f6a1bc47af0998eb7c9e8e20e4debc", submodules=True)
+ version("15.0.0", commit="0fef9e0831a90e946745390882aac871b211eaac", submodules=True)
+ version("14.1.0", commit="e883ab6acfe5033509ad1c27e8e2ba980dfa59f6", submodules=True)
+ version("14.0.0", commit="f902bef81b60133994315c13f7d32d60048c79d8", submodules=True)
+ version("13.0.0", commit="ad05672e48b693fd37156f1ad62ed57aa82f858c", submodules=True)
+ 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")
+ version("9.01.0", commit="bf8fd4c03dd94f497d8501df510d8f6a48434afd")
+ version("9.00.1", commit="7d59bc508d898d2cb67ba05a7150a978b9fcc32d")
+ version("9.00.0", commit="e6e3092bf3a9411aac7c11a24d7586abddb75d59")
+ version("8.03.0", commit="601c0a18b6738cae81c3e23422cfeb3ec7bddce9")
+ version("8.02.0", commit="f25cf639915fc2ac65b03882ad3eb11fb037ed00")
+ version("8.01.0", commit="ccc8c77bbc011f3adc020c565a509815be0ea029")
+ version("8.00.0", commit="50c972823144c007b406ae12d7ca25a1e0c35532")
+ version("7.00.0", commit="e663df7ab023bdb5ef206202efc2e54ccb71d416")
+ version("6.00.0", commit="a5cf04acd4b1a2c625e0826189109472a3392558")
+ version("5.00.0", commit="df77b91a7d37b8db6ed028a4d737014b5ad86bb7")
+ version("4.01.0", commit="c383bf434ef69939b47e840e0eac0ba632e6af9f")
+ version("4.00.0", commit="ed64b4b88d366b63adc4a8d1afe5bc97aa5751eb")
+ version("3.00.0", commit="e20260fccb469f4253519d3f0ddb3191b7046db3")
+ version("2.00.0", commit="8708eae2b2ccdf57ab7b451cfbba413daa1fc43c")
+ version("1.02.1", commit="f6ebeb9a28297ba8c54fd08b700057dd4ff2a311")
+ version("1.02.0", commit="e69b95acc9a264e63aded7d1714632066e090542")
+ version("1.01.0", commit="836fddd02c3eff33825833ff97d6abda5b5c20a0")
+ version("1.00.0", commit="ec9ce0bcdc837f568d42a12ddf3fc9c80db62f5d")
+ version("0.32.0", commit="a4cedab7e727e1327f2835db29d147cc86b21054")
+ version("0.31.0", commit="cfbd901555579a2f32f4efe2b76a7048442b42c3")
+ version("0.30.0", commit="a71ef0a9c742731611645214079884585a92b15e")
+ version("0.29.0", commit="33aa3e701728112e8908223c4a7fd521907c8ea4")
+ version("0.28.0", commit="55626b7401eeb93fc562e79bcf385f0ad0ac48bf")
+ version("0.27.1", commit="8ba3010a532137bc0ab6cf83a38b483cef646a01")
+ version("0.27.0", commit="f7b1a1c27d5a95d08bb67236ad0e117fcd1c679f")
+ version("0.26.0", commit="cf542b108b31fcc349fc18fb0466f889e4e42aa6")
+ version("0.25.2", commit="76bf1f3e4be51d4d27126b473a2caa8d8a72b320")
+ version("0.25.1", commit="6e8a1ea6d2c7385a78e3e190efb2a8a0c1fa957f")
+ version("0.25.0", commit="0aca171951a214299e8ff573682b1c5ecec63d42")
+ version("0.24.0", commit="ef4699c8500bfea59a5fe88bed67fde2f00f0adf")
+ version("0.23.0", commit="dc443dd7e663bc4d7fb3c1e3f1f75aaf57ffd4e4")
+ version("0.22.1", commit="ca1b8b1645db6b552f44c48d2ff34c8c29618f3a")
+ version("0.22.0", commit="2c8228f5843685fc0ae69a8b95dd8fc001139efb")
+ version("0.21.0", commit="10b719e68ddaca15b28ac25b3daddce8c0d3368d")
+ version("0.20.0", commit="1d37a849a9c318e8ca4fa541ef8433c1f004637b")
+ version("0.19.0", commit="408335636486c421c6222a64372250ef12544df6")
+ version("0.18.0", commit="d58a68cf75b52a5e0f563bc237f09250aa9da80c")
+ version("0.17.0", commit="0789f654ff484b013fd27e5023cf342785ea8d97")
+ version("0.16.0", commit="b3d965fe0b8ae335909d79114ef261c6b996773a")
+ version("0.15.0", commit="267c28f69c561e64369661a6235b03b5a610d6da")
+ version("0.14.0", commit="38d678fcb205b77d60326eae913fbb1b054acea1")
+ version("0.13.0", commit="b33f7270ddbbb33050b7ec60b4fa255dc2bfdc88")
+ version("0.12.1", commit="a8b3d36e7c6cb86487637589e0eff7bbe626054a")
+ version("0.12.0", commit="f9cda77299606d78c889fb1db2576c1971a271c4")
+ version("0.11.1", commit="c21196cd6c3ecc6da0f14d0a9ef227a274be584b")
+ version("0.11.0", commit="22bcea1f19adb0021ca61b843b95cfd2462dd31d")
+ version("0.10.5", commit="b6f7234ca8f18ee11e57709d019c14bf41cf9b19")
+ version("0.10.4", commit="42cbc359c209f5cf386e620b5a497192c024655e")
+ version("0.10.3", commit="a3bb86b79a65b3d2ceb962b60411fd0df4cf274c")
+ version("0.10.2", commit="64cbf28c862d8b0f95232b00c0e8c38949d5015d")
+ version("0.10.1", commit="0692dcf7824efbc504fb16f7aa00a50df395adbc")
+ version("0.10.0", commit="30ef843cb00427f9959b7de4d1b9843413a13f02")
+ version("0.09.5", commit="12b11fe8b0d428ccb8e92dda7dc809198f828672")
+ version("0.09.4", commit="e5dd9fbe179201e70347d1a3b9fa1899c226798f")
+ version("0.09.3", commit="a8f31303ee8720ed2946bfe2d59e81d0f70e307e")
+ version("0.09.2", commit="4e1f7fa73ffe07457080d787e206bf6466fe1680")
+ version("0.09.1", commit="69c451035516cb683b8f7bc0bab1a25893e9113d")
+ version("0.09.0", commit="004888b0a412f5bbaeef2ffaaeaf2aa182511494")
+ version("0.08.2", commit="c5d7568714e69e7344582b93b8d24e45d6b81bf9")
+ version("0.08.1", commit="289bdcc320f0b3ff1d792e29e462ec2d3ea15df6")
+ version("0.08.0", commit="99eedb38f305e3a1cd99d9b4473241b7cd641fa9")
# Variants that affect the core Acts library
- variant('benchmarks', default=False, description='Build the performance benchmarks', when='@0.16:')
- variant('examples', default=False, description='Build the examples', when='@0.23:16 +digitization +fatras +identification +json +tgeo')
- variant('examples', default=False, description='Build the examples', when='@17: +fatras +identification +json +tgeo')
- variant('integration_tests', default=False, description='Build the integration tests')
- variant('unit_tests', default=False, description='Build the unit tests')
- variant('log_failure_threshold', default='MAX', description='Log level above which examples should auto-crash')
+ variant(
+ "benchmarks", default=False, description="Build the performance benchmarks", when="@0.16:"
+ )
+ variant(
+ "examples",
+ default=False,
+ description="Build the examples",
+ when="@0.23:16 +digitization +fatras +identification +json +tgeo",
+ )
+ variant(
+ "examples",
+ default=False,
+ description="Build the examples",
+ when="@17: +fatras +identification +json +tgeo",
+ )
+ variant("integration_tests", default=False, description="Build the integration tests")
+ variant("unit_tests", default=False, description="Build the unit tests")
+ variant(
+ "log_failure_threshold",
+ default="MAX",
+ description="Log level above which examples should auto-crash",
+ )
# Variants that enable / disable Acts plugins
- variant('alignment', default=False, description='Build the alignment package', when='@13:')
- variant('autodiff', default=False, description='Build the auto-differentiation plugin', when='@1.2:')
- variant('dd4hep', default=False, description='Build the DD4hep plugin', when='+tgeo')
- variant('digitization', default=False, description='Build the geometric digitization plugin', when='@:16')
+ variant("alignment", default=False, description="Build the alignment package", when="@13:")
+ variant(
+ "autodiff",
+ default=False,
+ description="Build the auto-differentiation plugin",
+ when="@1.2:",
+ )
+ variant("dd4hep", default=False, description="Build the DD4hep plugin", when="+tgeo")
+ variant(
+ "digitization",
+ default=False,
+ description="Build the geometric digitization plugin",
+ when="@:16",
+ )
# FIXME: Can't build Exa.TrkX plugin+examples yet, missing cuGraph dep
- variant('fatras', default=False, description='Build the FAst TRAcking Simulation package', when='@0.16:')
- variant('fatras_geant4', default=False, description='Build Geant4 Fatras package')
- variant('identification', default=False, description='Build the Identification plugin')
- variant('json', default=False, description='Build the Json plugin')
- variant('legacy', default=False, description='Build the Legacy package')
- variant('onnx', default=False, description="Build ONNX plugin")
- variant('odd', default=False, description='Build the Open Data Detector', when='@19.1:')
- variant('profilecpu', default=False, description='Enable CPU profiling using gperftools', when='@19.3:')
- variant('profilemem', default=False, description='Enable memory profiling using gperftools', when='@19.3:')
+ variant(
+ "fatras",
+ default=False,
+ description="Build the FAst TRAcking Simulation package",
+ when="@0.16:",
+ )
+ variant("fatras_geant4", default=False, description="Build Geant4 Fatras package")
+ variant("identification", default=False, description="Build the Identification plugin")
+ variant("json", default=False, description="Build the Json plugin")
+ variant("legacy", default=False, description="Build the Legacy package")
+ variant("onnx", default=False, description="Build ONNX plugin")
+ variant("odd", default=False, description="Build the Open Data Detector", when="@19.1:")
+ variant(
+ "profilecpu",
+ default=False,
+ description="Enable CPU profiling using gperftools",
+ when="@19.3:",
+ )
+ variant(
+ "profilemem",
+ default=False,
+ description="Enable memory profiling using gperftools",
+ when="@19.3:",
+ )
# FIXME: Cannot build SyCL plugin yet as Spack doesn't have SyCL support
- variant('tgeo', default=False, description='Build the TGeo plugin', when='+identification')
+ variant("tgeo", default=False, description="Build the TGeo plugin", when="+identification")
# Variants that only affect Acts examples for now
- variant('geant4', default=False, description='Build the Geant4-based examples', when='@0.23: +examples')
- variant('hepmc3', default=False, description='Build the HepMC3-based examples', when='@0.23: +examples')
- variant('pythia8', default=False, description='Build the Pythia8-based examples', when='@0.23: +examples')
- variant('python', default=False, description='Build python bindings for the examples', when='@14: +examples')
- variant('analysis', default=False, description='Build analysis applications in the examples')
+ variant(
+ "geant4",
+ default=False,
+ description="Build the Geant4-based examples",
+ when="@0.23: +examples",
+ )
+ variant(
+ "hepmc3",
+ default=False,
+ description="Build the HepMC3-based examples",
+ when="@0.23: +examples",
+ )
+ variant(
+ "pythia8",
+ default=False,
+ description="Build the Pythia8-based examples",
+ when="@0.23: +examples",
+ )
+ variant(
+ "python",
+ default=False,
+ description="Build python bindings for the examples",
+ when="@14: +examples",
+ )
+ variant("analysis", default=False, description="Build analysis applications in the examples")
# Build dependencies
# FIXME: Use spack's vecmem package once there is one
# (https://github.com/acts-project/acts/pull/998)
- depends_on('acts-dd4hep', when='@19.1: +dd4hep')
- depends_on('autodiff @0.6:', when='@17: +autodiff')
- depends_on('autodiff @0.5.11:0.5.99', when='@1.2:16 +autodiff')
- depends_on('boost @1.62:1.69 +program_options +test', when='@:0.10.3')
- depends_on('boost @1.71: +filesystem +program_options +test', when='@0.10.4:')
- depends_on('cmake @3.14:', type='build')
- depends_on('dd4hep @1.11: +dddetectors +ddrec', when='+dd4hep')
- depends_on('dd4hep +ddg4', when='+dd4hep +geant4 +examples')
- depends_on('eigen @3.3.7:', when='@15.1:')
- depends_on('eigen @3.3.7:3.3.99', when='@:15.0')
- depends_on('geant4', when='+fatras_geant4')
- depends_on('geant4', when='+geant4')
- depends_on('gperftools', when='+profilecpu')
- depends_on('gperftools', when='+profilemem')
- depends_on('hepmc3 @3.2.1:', when='+hepmc3')
- depends_on('heppdt', when='+hepmc3 @:4.0')
- depends_on('intel-tbb @2020.1:', when='+examples')
- depends_on('nlohmann-json @3.9.1:', when='@0.14: +json')
- depends_on('pythia8', when='+pythia8')
- depends_on('python', when='+python')
- depends_on('py-onnx-runtime', when='+onnx')
- depends_on('py-pybind11 @2.6.2:', when='+python @18:')
- depends_on('py-pytest', when='+python +unit_tests')
- depends_on('root @6.10: cxxstd=14', when='+tgeo @:0.8.0')
- depends_on('root @6.20: cxxstd=17', when='+tgeo @0.8.1:')
+ depends_on("acts-dd4hep", when="@19.1: +dd4hep")
+ depends_on("autodiff @0.6:", when="@17: +autodiff")
+ depends_on("autodiff @0.5.11:0.5.99", when="@1.2:16 +autodiff")
+ depends_on("boost @1.62:1.69 +program_options +test", when="@:0.10.3")
+ depends_on("boost @1.71: +filesystem +program_options +test", when="@0.10.4:")
+ depends_on("cmake @3.14:", type="build")
+ depends_on("dd4hep @1.11: +dddetectors +ddrec", when="+dd4hep")
+ depends_on("dd4hep +ddg4", when="+dd4hep +geant4 +examples")
+ depends_on("eigen @3.3.7:", when="@15.1:")
+ depends_on("eigen @3.3.7:3.3.99", when="@:15.0")
+ depends_on("geant4", when="+fatras_geant4")
+ depends_on("geant4", when="+geant4")
+ depends_on("gperftools", when="+profilecpu")
+ depends_on("gperftools", when="+profilemem")
+ depends_on("hepmc3 @3.2.1:", when="+hepmc3")
+ depends_on("heppdt", when="+hepmc3 @:4.0")
+ depends_on("intel-tbb @2020.1:", when="+examples")
+ depends_on("nlohmann-json @3.9.1:", when="@0.14: +json")
+ depends_on("pythia8", when="+pythia8")
+ depends_on("python", when="+python")
+ depends_on("py-onnx-runtime", when="+onnx")
+ depends_on("py-pybind11 @2.6.2:", when="+python @18:")
+ depends_on("py-pytest", when="+python +unit_tests")
+ depends_on("root @6.10: cxxstd=14", when="+tgeo @:0.8.0")
+ depends_on("root @6.20: cxxstd=17", when="+tgeo @0.8.1:")
# ACTS has been using C++17 for a while, which precludes use of old GCC
- conflicts('%gcc@:7', when='@0.23:')
+ conflicts("%gcc@:7", when="@0.23:")
def cmake_args(self):
spec = self.spec
def cmake_variant(cmake_label, spack_variant):
- enabled = spec.satisfies('+' + spack_variant)
+ enabled = spec.satisfies("+" + spack_variant)
return "-DACTS_BUILD_{0}={1}".format(cmake_label, enabled)
def enable_cmake_variant(cmake_label, spack_variant):
@@ -197,11 +258,11 @@ class Acts(CMakePackage, CudaPackage):
return "-DACTS_ENABLE_{0}={1}".format(cmake_label, enabled)
def example_cmake_variant(cmake_label, spack_variant):
- enabled = spec.satisfies('+examples +' + spack_variant)
+ enabled = spec.satisfies("+examples +" + spack_variant)
return "-DACTS_BUILD_EXAMPLES_{0}={1}".format(cmake_label, enabled)
def plugin_label(plugin_name):
- if spec.satisfies('@0.33:'):
+ if spec.satisfies("@0.33:"):
return "PLUGIN_" + plugin_name
else:
return plugin_name + "_PLUGIN"
@@ -212,10 +273,10 @@ class Acts(CMakePackage, CudaPackage):
integration_tests_label = "INTEGRATIONTESTS"
unit_tests_label = "UNITTESTS"
legacy_plugin_label = "LEGACY_PLUGIN"
- if spec.satisfies('@:0.15'):
+ if spec.satisfies("@:0.15"):
integration_tests_label = "INTEGRATION_TESTS"
unit_tests_label = "TESTS"
- if spec.satisfies('@:0.32'):
+ if spec.satisfies("@:0.32"):
legacy_plugin_label = "LEGACY"
args = [
@@ -242,36 +303,36 @@ class Acts(CMakePackage, CudaPackage):
example_cmake_variant("PYTHIA8", "pythia8"),
example_cmake_variant("PYTHON_BINDINGS", "python"),
plugin_cmake_variant("TGEO", "tgeo"),
- cmake_variant(unit_tests_label, "unit_tests")
+ cmake_variant(unit_tests_label, "unit_tests"),
]
- log_failure_threshold = spec.variants['log_failure_threshold'].value
+ log_failure_threshold = spec.variants["log_failure_threshold"].value
args.append("-DACTS_LOG_FAILURE_THRESHOLD={0}".format(log_failure_threshold))
- if spec.satisfies('+autodiff'):
+ if spec.satisfies("+autodiff"):
args.append("-DACTS_USE_SYSTEM_AUTODIFF=ON")
- if '+cuda' in spec:
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
+ if "+cuda" in spec:
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
+ args.append("-DCUDA_FLAGS=-arch=sm_{0}".format(cuda_arch[0]))
- if spec.satisfies('@19.1: +dd4hep'):
- args.append('-DACTS_USE_SYSTEM_ACTSDD4HEP=ON')
+ if spec.satisfies("@19.1: +dd4hep"):
+ args.append("-DACTS_USE_SYSTEM_ACTSDD4HEP=ON")
- if spec.satisfies('@:16'):
+ if spec.satisfies("@:16"):
args.append(plugin_cmake_variant("DIGITIZATION", "digitization"))
- if spec.satisfies('@0.33: +json'):
+ if spec.satisfies("@0.33: +json"):
args.append("-DACTS_USE_SYSTEM_NLOHMANN_JSON=ON")
- elif spec.satisfies('@0.14.0: +json'):
+ elif spec.satisfies("@0.14.0: +json"):
args.append("-DACTS_USE_BUNDLED_NLOHMANN_JSON=OFF")
- if spec.satisfies('@18: +python'):
+ if spec.satisfies("@18: +python"):
args.append("-DACTS_USE_SYSTEM_PYBIND11=ON")
- if 'root' in spec:
- cxxstd = spec['root'].variants['cxxstd'].value
+ if "root" in spec:
+ cxxstd = spec["root"].variants["cxxstd"].value
args.append("-DCMAKE_CXX_STANDARD={0}".format(cxxstd))
return args
diff --git a/var/spack/repos/builtin/packages/addrwatch/package.py b/var/spack/repos/builtin/packages/addrwatch/package.py
index f5e73cb4f5..03013cb651 100644
--- a/var/spack/repos/builtin/packages/addrwatch/package.py
+++ b/var/spack/repos/builtin/packages/addrwatch/package.py
@@ -11,10 +11,10 @@ class Addrwatch(AutotoolsPackage):
pairing monitoring."""
homepage = "https://github.com/fln/addrwatch"
- url = "https://github.com/fln/addrwatch/releases/download/v1.0.2/addrwatch-1.0.2.tar.gz"
+ url = "https://github.com/fln/addrwatch/releases/download/v1.0.2/addrwatch-1.0.2.tar.gz"
- version('1.0.2', sha256='f04e143da881cd63c299125b592cfb85e4812abbd146f419a1894c00f2ae6208')
- version('1.0.1', sha256='f772b62b1c6570b577473e7c98614dad1124352b377324cbebb36360d8f4ce5a')
+ version("1.0.2", sha256="f04e143da881cd63c299125b592cfb85e4812abbd146f419a1894c00f2ae6208")
+ version("1.0.1", sha256="f772b62b1c6570b577473e7c98614dad1124352b377324cbebb36360d8f4ce5a")
- depends_on('libevent')
- depends_on('libpcap')
+ depends_on("libevent")
+ depends_on("libpcap")
diff --git a/var/spack/repos/builtin/packages/adept-utils/package.py b/var/spack/repos/builtin/packages/adept-utils/package.py
index 642b51c4f2..7217238df4 100644
--- a/var/spack/repos/builtin/packages/adept-utils/package.py
+++ b/var/spack/repos/builtin/packages/adept-utils/package.py
@@ -10,11 +10,11 @@ class AdeptUtils(CMakePackage):
"""Utility libraries for LLNL performance tools."""
homepage = "https://github.com/llnl/adept-utils"
- url = "https://github.com/llnl/adept-utils/archive/v1.0.tar.gz"
+ url = "https://github.com/llnl/adept-utils/archive/v1.0.tar.gz"
- version('1.0.1', sha256='259f777aeb368ede3583d3617bb779f0fde778319bf2122fdd216bdf223c015e')
- version('1.0', sha256='fed29366c9bcf5f3799220ae3b351d2cb338e2aa42133d61584ea650aa8d6ff7')
+ version("1.0.1", sha256="259f777aeb368ede3583d3617bb779f0fde778319bf2122fdd216bdf223c015e")
+ version("1.0", sha256="fed29366c9bcf5f3799220ae3b351d2cb338e2aa42133d61584ea650aa8d6ff7")
- depends_on('boost@:1.72.0')
- depends_on('mpi')
- depends_on('cmake@2.8:', type='build')
+ depends_on("boost@:1.72.0")
+ depends_on("mpi")
+ depends_on("cmake@2.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/adf/package.py b/var/spack/repos/builtin/packages/adf/package.py
index dc153d81dc..303126f641 100644
--- a/var/spack/repos/builtin/packages/adf/package.py
+++ b/var/spack/repos/builtin/packages/adf/package.py
@@ -16,23 +16,22 @@ class Adf(Package):
homepage = "https://www.scm.com/product/adf/"
manual_download = True
- version('2017.113', '666ef15d253b74c707dd14da35e7cf283ca20e21e24ed43cb953fb9d1f2f1e15')
+ version("2017.113", "666ef15d253b74c707dd14da35e7cf283ca20e21e24ed43cb953fb9d1f2f1e15")
def url_for_version(self, version):
- return "file://{0}/adf/adf{1}.pc64_linux.openmpi.bin.tgz".format(
- os.getcwd(), version)
+ return "file://{0}/adf/adf{1}.pc64_linux.openmpi.bin.tgz".format(os.getcwd(), version)
# Licensing
license_required = True
- license_files = ['license.txt']
- license_vars = ['SCMLICENSE']
+ license_files = ["license.txt"]
+ license_vars = ["SCMLICENSE"]
def setup_run_environment(self, env):
- env.set('ADFHOME', self.prefix)
- env.set('ADFBIN', self.prefix.bin)
- env.set('ADFRESOURCES', self.prefix.atomicdata)
- env.set('SCMLICENSE', join_path(self.prefix, 'license.txt'))
- env.set('SCM_TMPDIR', '/tmp')
+ env.set("ADFHOME", self.prefix)
+ env.set("ADFBIN", self.prefix.bin)
+ env.set("ADFRESOURCES", self.prefix.atomicdata)
+ env.set("SCMLICENSE", join_path(self.prefix, "license.txt"))
+ env.set("SCM_TMPDIR", "/tmp")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/adiak/package.py b/var/spack/repos/builtin/packages/adiak/package.py
index 3c5e7f5956..ff7413d589 100644
--- a/var/spack/repos/builtin/packages/adiak/package.py
+++ b/var/spack/repos/builtin/packages/adiak/package.py
@@ -8,40 +8,44 @@ from spack.package import *
class Adiak(CMakePackage):
"""Adiak collects metadata about HPC application runs and provides it
- to tools."""
+ to tools."""
homepage = "https://github.com/LLNL/Adiak"
- url = "https://github.com/LLNL/Adiak/releases/download/v0.1/adiak-v0.1.1.tar.gz"
- git = "https://github.com/LLNL/Adiak"
+ url = "https://github.com/LLNL/Adiak/releases/download/v0.1/adiak-v0.1.1.tar.gz"
+ git = "https://github.com/LLNL/Adiak"
maintainers = ["daboehme", "mplegendre"]
- variant('mpi', default=True, description='Build with MPI support')
- variant('shared', default=True, description='Build dynamic libraries')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("shared", default=True, description="Build dynamic libraries")
- version('0.2.2', commit='3aedd494c81c01df1183af28bc09bade2fabfcd3',
- submodules=True, preferred=True)
- version('0.3.0-alpha', commit='054d2693a977ed0e1f16c665b4966bb90924779e',
- submodules=True, deprecated=True)
- version('0.2.1', commit='950e3bfb91519ecb7b7ee7fa3063bfab23c0e2c9',
- submodules=True)
- version('0.1.1', sha256='438e4652e15e206cd0019423d829fd4f2329323ff0c8861d9586bae051d9624b')
+ version(
+ "0.2.2", commit="3aedd494c81c01df1183af28bc09bade2fabfcd3", submodules=True, preferred=True
+ )
+ version(
+ "0.3.0-alpha",
+ commit="054d2693a977ed0e1f16c665b4966bb90924779e",
+ submodules=True,
+ deprecated=True,
+ )
+ version("0.2.1", commit="950e3bfb91519ecb7b7ee7fa3063bfab23c0e2c9", submodules=True)
+ version("0.1.1", sha256="438e4652e15e206cd0019423d829fd4f2329323ff0c8861d9586bae051d9624b")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
args = []
- if self.spec.satisfies('+mpi'):
- args.append('-DMPI_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx)
- args.append('-DMPI_C_COMPILER=%s' % self.spec['mpi'].mpicc)
- args.append('-DENABLE_MPI=ON')
+ if self.spec.satisfies("+mpi"):
+ args.append("-DMPI_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx)
+ args.append("-DMPI_C_COMPILER=%s" % self.spec["mpi"].mpicc)
+ args.append("-DENABLE_MPI=ON")
else:
- args.append('-DENABLE_MPI=OFF')
+ args.append("-DENABLE_MPI=OFF")
- if (self.spec.satisfies('+shared')):
- args.append('-DBUILD_SHARED_LIBS=ON')
+ if self.spec.satisfies("+shared"):
+ args.append("-DBUILD_SHARED_LIBS=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
+ args.append("-DBUILD_SHARED_LIBS=OFF")
- args.append('-DENABLE_TESTS=OFF')
+ args.append("-DENABLE_TESTS=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py
index bbd6ee69dd..2fdb15acf8 100644
--- a/var/spack/repos/builtin/packages/adios/package.py
+++ b/var/spack/repos/builtin/packages/adios/package.py
@@ -14,100 +14,95 @@ class Adios(AutotoolsPackage):
"""
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"
+ url = "https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz"
+ git = "https://github.com/ornladios/ADIOS.git"
- maintainers = ['ax3l']
+ 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')
- version('1.11.0', sha256='e89d14ccbe7181777225e0ba6c272c0941539b8ccd440e72ed5a9457441dae83')
- version('1.10.0', sha256='6713069259ee7bfd4d03f47640bf841874e9114bab24e7b0c58e310c42a0ec48')
- version('1.9.0', sha256='23b2bb70540d51ab0855af0b205ca484fd1bd963c39580c29e3133f9e6fffd46')
+ 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")
+ version("1.11.0", sha256="e89d14ccbe7181777225e0ba6c272c0941539b8ccd440e72ed5a9457441dae83")
+ version("1.10.0", sha256="6713069259ee7bfd4d03f47640bf841874e9114bab24e7b0c58e310c42a0ec48")
+ version("1.9.0", sha256="23b2bb70540d51ab0855af0b205ca484fd1bd963c39580c29e3133f9e6fffd46")
- variant('shared', default=True,
- description='Builds a shared version of the library')
+ variant("shared", default=True, description="Builds a shared version of the library")
- variant('fortran', default=False,
- description='Enable Fortran bindings support')
+ variant("fortran", default=False, description="Enable Fortran bindings support")
- variant('mpi', default=True,
- description='Enable MPI support')
- variant('infiniband', default=False,
- description='Enable infiniband support')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("infiniband", default=False, description="Enable infiniband support")
# transforms
- variant('zlib', default=True,
- description='Enable zlib transform support')
- variant('bzip2', default=False,
- description='Enable bzip2 transform support')
- variant('szip', default=False,
- description='Enable szip transform support')
- variant('zfp', default=True,
- description='Enable ZFP transform support')
- variant('sz', default=True,
- description='Enable SZ transform support')
- variant('lz4', default=True,
- description='Enable LZ4 transform support')
- variant('blosc', default=True,
- description='Enable Blosc transform support')
+ variant("zlib", default=True, description="Enable zlib transform support")
+ variant("bzip2", default=False, description="Enable bzip2 transform support")
+ variant("szip", default=False, description="Enable szip transform support")
+ variant("zfp", default=True, description="Enable ZFP transform support")
+ variant("sz", default=True, description="Enable SZ transform support")
+ variant("lz4", default=True, description="Enable LZ4 transform support")
+ variant("blosc", default=True, description="Enable Blosc transform support")
# transports and serial file converters
- variant('hdf5', default=False,
- description='Enable parallel HDF5 transport and serial bp2h5 ' +
- 'converter')
- variant('netcdf', default=False, description='Enable netcdf support')
+ variant(
+ "hdf5",
+ default=False,
+ description="Enable parallel HDF5 transport and serial bp2h5 " + "converter",
+ )
+ variant("netcdf", default=False, description="Enable netcdf support")
variant(
- 'staging', values=any_combination_of('flexpath', 'dataspaces'),
- description='Enable dataspaces and/or flexpath staging transports'
+ "staging",
+ values=any_combination_of("flexpath", "dataspaces"),
+ description="Enable dataspaces and/or flexpath staging transports",
)
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
- depends_on('python', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
+ depends_on("python", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# optional transformations
- depends_on('zlib', when='+zlib')
- depends_on('bzip2', when='+bzip2')
- depends_on('szip', when='+szip')
- depends_on('sz@:1.4.10', when='@:1.12.0 +sz')
- depends_on('sz@1.4.11.0:1.4.11', when='@1.13.0 +sz')
- depends_on('sz@1.4.12.3:1.4.12', when='@1.13.1: +sz')
- depends_on('zfp@0.5.1:0.5', when='+zfp')
- depends_on('lz4', when='+lz4')
- depends_on('c-blosc@1.12.0:', when='+blosc')
+ depends_on("zlib", when="+zlib")
+ depends_on("bzip2", when="+bzip2")
+ depends_on("szip", when="+szip")
+ depends_on("sz@:1.4.10", when="@:1.12.0 +sz")
+ depends_on("sz@1.4.11.0:1.4.11", when="@1.13.0 +sz")
+ depends_on("sz@1.4.12.3:1.4.12", when="@1.13.1: +sz")
+ depends_on("zfp@0.5.1:0.5", when="+zfp")
+ depends_on("lz4", when="+lz4")
+ depends_on("c-blosc@1.12.0:", when="+blosc")
# optional transports & file converters
- depends_on('hdf5@1.8:+hl+mpi', when='+hdf5')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('libevpath', when='staging=flexpath')
- depends_on('dataspaces+mpi', when='staging=dataspaces')
+ depends_on("hdf5@1.8:+hl+mpi", when="+hdf5")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("libevpath", when="staging=flexpath")
+ depends_on("dataspaces+mpi", when="staging=dataspaces")
- for p in ['+hdf5', '+netcdf', 'staging=flexpath', 'staging=dataspaces']:
- conflicts(p, when='~mpi')
+ for p in ["+hdf5", "+netcdf", "staging=flexpath", "staging=dataspaces"]:
+ conflicts(p, when="~mpi")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
# ADIOS uses the absolute Python path, which is too long and results in
# "bad interpreter" errors - but not applicable for 1.9.0
- patch('python.patch', when='@1.10.0:')
+ patch("python.patch", when="@1.10.0:")
# Fix ADIOS <=1.10.0 compile error on HDF5 1.10+
# https://github.com/ornladios/ADIOS/commit/3b21a8a41509
# https://github.com/spack/spack/issues/1683
- patch('adios_1100.patch', when='@:1.10.0^hdf5@1.10:')
+ patch("adios_1100.patch", when="@:1.10.0^hdf5@1.10:")
# ADIOS 1.13.1 is written for ZFP 0.5.0 interfaces
# https://github.com/ornladios/ADIOS/pull/204
- patch('zfp051.patch', when='@1.11.0:1.13.1')
+ patch("zfp051.patch", when="@1.11.0:1.13.1")
# Fix a bug in configure.ac that causes automake issues on RHEL 7.7
- patch('https://github.com/ornladios/ADIOS/pull/207.patch?full_index=1', when='@1.12.0: +mpi',
- sha256='aea47e56013b57c2d5d36e23e0ae6010541c3333a84003784437768c2e350b05')
+ patch(
+ "https://github.com/ornladios/ADIOS/pull/207.patch?full_index=1",
+ when="@1.12.0: +mpi",
+ sha256="aea47e56013b57c2d5d36e23e0ae6010541c3333a84003784437768c2e350b05",
+ )
def validate(self, spec):
"""Checks if incompatible variants have been activated at the same time
@@ -118,23 +113,21 @@ class Adios(AutotoolsPackage):
Raises:
RuntimeError: in case of inconsistencies
"""
- if '+fortran' in spec and not self.compiler.fc:
- msg = 'cannot build a fortran variant without a fortran compiler'
+ if "+fortran" in spec and not self.compiler.fc:
+ msg = "cannot build a fortran variant without a fortran compiler"
raise RuntimeError(msg)
def with_or_without_hdf5(self, activated):
if activated:
- return '--with-phdf5={0}'.format(
- self.spec['hdf5'].prefix
- )
+ return "--with-phdf5={0}".format(self.spec["hdf5"].prefix)
- return '--without-phdf5'
+ return "--without-phdf5"
def setup_build_environment(self, env):
# https://github.com/ornladios/ADIOS/issues/206
- if self.spec.satisfies('%gcc@10: +fortran'):
- env.set('FCFLAGS', '-fallow-argument-mismatch')
+ if self.spec.satisfies("%gcc@10: +fortran"):
+ env.set("FCFLAGS", "-fallow-argument-mismatch")
def configure_args(self):
spec = self.spec
@@ -142,46 +135,42 @@ class Adios(AutotoolsPackage):
extra_args = [
# required, otherwise building its python bindings will fail
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag)
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag)
]
- extra_args += self.enable_or_disable('shared')
- extra_args += self.enable_or_disable('fortran')
+ extra_args += self.enable_or_disable("shared")
+ extra_args += self.enable_or_disable("fortran")
- if '+mpi' in spec:
- env['MPICC'] = spec['mpi'].mpicc
- env['MPICXX'] = spec['mpi'].mpicxx
+ if "+mpi" in spec:
+ env["MPICC"] = spec["mpi"].mpicc
+ env["MPICXX"] = spec["mpi"].mpicxx
- extra_args += self.with_or_without('mpi', activation_value='prefix')
- extra_args += self.with_or_without('infiniband')
+ extra_args += self.with_or_without("mpi", activation_value="prefix")
+ extra_args += self.with_or_without("infiniband")
# Transforms
- variants = ['zlib', 'bzip2', 'szip']
- if spec.satisfies('@1.11.0:'):
- variants += ['zfp']
- if spec.satisfies('@1.12.0:'):
- variants += ['sz', 'lz4']
- if spec.satisfies('@1.13.0:'):
+ variants = ["zlib", "bzip2", "szip"]
+ if spec.satisfies("@1.11.0:"):
+ variants += ["zfp"]
+ if spec.satisfies("@1.12.0:"):
+ variants += ["sz", "lz4"]
+ if spec.satisfies("@1.13.0:"):
extra_args += self.with_or_without(
- 'blosc',
- activation_value=lambda x: spec['c-blosc'].prefix
+ "blosc", activation_value=lambda x: spec["c-blosc"].prefix
)
# External I/O libraries
- variants += ['hdf5', 'netcdf']
+ variants += ["hdf5", "netcdf"]
for x in variants:
- extra_args += self.with_or_without(x, activation_value='prefix')
+ extra_args += self.with_or_without(x, activation_value="prefix")
# Staging transports
def with_staging(name):
- if name == 'flexpath':
- return spec['libevpath'].prefix
+ if name == "flexpath":
+ return spec["libevpath"].prefix
return spec[name].prefix
- extra_args += self.with_or_without(
- 'staging',
- activation_value=with_staging
- )
+ extra_args += self.with_or_without("staging", activation_value=with_staging)
return extra_args
diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py
index 64b1f6a122..412914c2c9 100644
--- a/var/spack/repos/builtin/packages/adios2/package.py
+++ b/var/spack/repos/builtin/packages/adios2/package.py
@@ -16,25 +16,28 @@ class Adios2(CMakePackage, CudaPackage):
url = "https://github.com/ornladios/ADIOS2/archive/v2.8.0.tar.gz"
git = "https://github.com/ornladios/ADIOS2.git"
- maintainers = ['ax3l', 'chuckatkins', 'williamfgc']
+ maintainers = ["ax3l", "chuckatkins", "williamfgc"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('2.8.2', sha256='9909f6409dc44b2c28c1fda0042dab4b711f25ec3277ef0cb6ffc40f5483910d')
- version('2.8.1', sha256='3f515b442bbd52e3189866b121613fe3b59edb8845692ea86fad83d1eba35d93')
- version('2.8.0', sha256='5af3d950e616989133955c2430bd09bcf6bad3a04cf62317b401eaf6e7c2d479')
- version('2.7.1', sha256='c8e237fd51f49d8a62a0660db12b72ea5067512aa7970f3fcf80b70e3f87ca3e')
- version('2.7.0', sha256='4b5df1a1f92d7ff380416dec7511cfcfe3dc44da27e486ed63c3e6cffb173924')
- version('2.6.0', sha256='45b41889065f8b840725928db092848b8a8b8d1bfae1b92e72f8868d1c76216c')
- version('2.5.0', sha256='7c8ff3bf5441dd662806df9650c56a669359cb0185ea232ecb3578de7b065329')
- version('2.4.0', sha256='50ecea04b1e41c88835b4b3fd4e7bf0a0a2a3129855c9cc4ba6cf6a1575106e2')
- version('2.3.1', sha256='3bf81ccc20a7f2715935349336a76ba4c8402355e1dc3848fcd6f4c3c5931893')
+ version("master", branch="master")
+ version("2.8.2", sha256="9909f6409dc44b2c28c1fda0042dab4b711f25ec3277ef0cb6ffc40f5483910d")
+ version("2.8.1", sha256="3f515b442bbd52e3189866b121613fe3b59edb8845692ea86fad83d1eba35d93")
+ version("2.8.0", sha256="5af3d950e616989133955c2430bd09bcf6bad3a04cf62317b401eaf6e7c2d479")
+ version("2.7.1", sha256="c8e237fd51f49d8a62a0660db12b72ea5067512aa7970f3fcf80b70e3f87ca3e")
+ version("2.7.0", sha256="4b5df1a1f92d7ff380416dec7511cfcfe3dc44da27e486ed63c3e6cffb173924")
+ version("2.6.0", sha256="45b41889065f8b840725928db092848b8a8b8d1bfae1b92e72f8868d1c76216c")
+ version("2.5.0", sha256="7c8ff3bf5441dd662806df9650c56a669359cb0185ea232ecb3578de7b065329")
+ version("2.4.0", sha256="50ecea04b1e41c88835b4b3fd4e7bf0a0a2a3129855c9cc4ba6cf6a1575106e2")
+ version("2.3.1", sha256="3bf81ccc20a7f2715935349336a76ba4c8402355e1dc3848fcd6f4c3c5931893")
# General build options
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
# There's not really any consistency about how static and shared libs are
# implemented across spack. What we're trying to support is specifically three
@@ -49,152 +52,156 @@ class Adios2(CMakePackage, CudaPackage):
# Independent # Code by design. We're not inherently tied to this approach and can
# change how we're supporting differnt library types in the package at anytime if
# spack decides on a standardized way of doing it across packages
- variant('shared', default=True, when='+pic', description='Build shared libraries')
- variant('pic', default=True, description='Build pic-enabled static libraries')
+ variant("shared", default=True, when="+pic", description="Build shared libraries")
+ variant("pic", default=True, description="Build pic-enabled static libraries")
# Features
- variant('mpi', default=True, description='Enable MPI')
+ variant("mpi", default=True, description="Enable MPI")
# Compression libraries
- variant('blosc', default=True, when='@2.4:', description='Enable Blosc compression')
- variant('bzip2', default=True, when='@2.4:', description='Enable BZip2 compression')
- variant('zfp', default=True, description='Enable ZFP compression')
- variant('png', default=True, when='@2.4:', description='Enable PNG compression')
- variant('sz', default=True, description='Enable SZ compression')
+ variant("blosc", default=True, when="@2.4:", description="Enable Blosc compression")
+ variant("bzip2", default=True, when="@2.4:", description="Enable BZip2 compression")
+ variant("zfp", default=True, description="Enable ZFP compression")
+ variant("png", default=True, when="@2.4:", description="Enable PNG compression")
+ variant("sz", default=True, description="Enable SZ compression")
# Rransport engines
- variant('sst', default=True, description='Enable the SST staging engine')
- variant('dataman', default=False, when='+shared',
- description='Enable the DataMan engine for WAN transports')
- variant('dataspaces', default=False, when='@2.5:',
- description='Enable support for DATASPACES')
- variant('ssc', default=True, description='Enable the SSC staging engine')
- variant('hdf5', default=False, description='Enable the HDF5 engine')
+ variant("sst", default=True, description="Enable the SST staging engine")
+ variant(
+ "dataman",
+ default=False,
+ when="+shared",
+ description="Enable the DataMan engine for WAN transports",
+ )
+ variant("dataspaces", default=False, when="@2.5:", description="Enable support for DATASPACES")
+ variant("ssc", default=True, description="Enable the SSC staging engine")
+ variant("hdf5", default=False, description="Enable the HDF5 engine")
# Optional language bindings, C++11 and C always provided
- variant('cuda', default=False, when='@2.8:', description='Enable CUDA support')
- variant('python', default=False, description='Enable the Python bindings')
- variant('fortran', default=True, description='Enable the Fortran bindings')
+ variant("cuda", default=False, when="@2.8:", description="Enable CUDA support")
+ variant("python", default=False, description="Enable the Python bindings")
+ variant("fortran", default=True, description="Enable the Fortran bindings")
# Requires mature C++11 implementations
- conflicts('%gcc@:4.7')
- conflicts('%intel@:15')
- conflicts('%pgi@:14')
+ conflicts("%gcc@:4.7")
+ conflicts("%intel@:15")
+ conflicts("%pgi@:14")
- depends_on('cmake@3.12.0:', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("cmake@3.12.0:", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('libffi', when='+sst') # optional in DILL
- depends_on('libfabric@1.6.0:', when='+sst') # optional in EVPath and SST
+ depends_on("libffi", when="+sst") # optional in DILL
+ depends_on("libfabric@1.6.0:", when="+sst") # optional in EVPath and SST
# depends_on('bison', when='+sst') # optional in FFS, broken package
# depends_on('flex', when='+sst') # optional in FFS, depends on BISON
- depends_on('mpi', when='+mpi')
- depends_on('libzmq', when='+dataman')
- depends_on('dataspaces@1.8.0:', when='+dataspaces')
+ depends_on("mpi", when="+mpi")
+ depends_on("libzmq", when="+dataman")
+ depends_on("dataspaces@1.8.0:", when="+dataspaces")
- depends_on('hdf5~mpi', when='+hdf5~mpi')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
+ depends_on("hdf5~mpi", when="+hdf5~mpi")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
- depends_on('c-blosc', when='+blosc')
- depends_on('bzip2', when='+bzip2')
- depends_on('libpng@1.6:', when='+png')
- depends_on('zfp@0.5.1:', when='+zfp')
- depends_on('sz@2.0.2.0:', when='+sz')
+ depends_on("c-blosc", when="+blosc")
+ depends_on("bzip2", when="+bzip2")
+ depends_on("libpng@1.6:", when="+png")
+ depends_on("zfp@0.5.1:", when="+zfp")
+ depends_on("sz@2.0.2.0:", when="+sz")
- extends('python', when='+python')
- depends_on('python@2.7:2.8,3.5:', when='@:2.4.0 +python', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@:2.4.0', type='test')
- depends_on('python@3.5:', when='@2.5.0: +python', type=('build', 'run'))
- depends_on('python@3.5:', when='@2.5.0:', type='test')
- depends_on('py-numpy@1.6.1:', when='+python', type=('build', 'run'))
- depends_on('py-mpi4py@2.0.0:', when='+mpi +python', type=('build', 'run'))
+ extends("python", when="+python")
+ depends_on("python@2.7:2.8,3.5:", when="@:2.4.0 +python", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@:2.4.0", type="test")
+ depends_on("python@3.5:", when="@2.5.0: +python", type=("build", "run"))
+ depends_on("python@3.5:", when="@2.5.0:", type="test")
+ depends_on("py-numpy@1.6.1:", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py@2.0.0:", when="+mpi +python", type=("build", "run"))
# Fix findmpi when called by dependees
# See https://github.com/ornladios/ADIOS2/pull/1632
- patch('cmake-update-findmpi.patch', when='@2.4.0')
+ patch("cmake-update-findmpi.patch", when="@2.4.0")
# Fix the signature of the builtin clear_cache function in the
# third-party dill library.
# See https://github.com/ornladios/ADIOS2/pull/1899
- patch('2.5-fix-clear_cache.patch', when='@2.5.0')
+ patch("2.5-fix-clear_cache.patch", when="@2.5.0")
# Fix an unnecessary python dependency when testing is disabled
# See https://github.com/ornladios/ADIOS2/pull/2596
- patch('2.7-fix-python-test-deps.patch', when='@2.5.0:2.7.0')
+ patch("2.7-fix-python-test-deps.patch", when="@2.5.0:2.7.0")
# Fix unresolved symbols when built with gcc10.
# See https://github.com/ornladios/ADIOS2/pull/2714
- patch('2.6-fix-gcc10-symbols.patch', when='@2.6.0')
+ patch("2.6-fix-gcc10-symbols.patch", when="@2.6.0")
# Add missing include <memory>
# https://github.com/ornladios/adios2/pull/2710
- patch('https://github.com/ornladios/adios2/pull/2710.patch?full_index=1', when='@:2.7.1',
- sha256='8221073d1b2f8944395a88a5d60a15c7370646b62f5fc6309867bbb6a8c2096c')
+ patch(
+ "https://github.com/ornladios/adios2/pull/2710.patch?full_index=1",
+ when="@:2.7.1",
+ sha256="8221073d1b2f8944395a88a5d60a15c7370646b62f5fc6309867bbb6a8c2096c",
+ )
- @when('%fj')
+ @when("%fj")
def patch(self):
- """ add fujitsu mpi commands #16864 """
- f = join_path('cmake', 'upstream', 'FindMPI.cmake')
- filter_file('mpcc_r)', 'mpcc_r mpifcc)', f, string=True)
- filter_file('mpc++_r)', 'mpcc_r mpiFCC)', f, string=True)
- filter_file('mpf77_r', 'mpf77_r mpifrt', f, string=True)
+ """add fujitsu mpi commands #16864"""
+ f = join_path("cmake", "upstream", "FindMPI.cmake")
+ filter_file("mpcc_r)", "mpcc_r mpifcc)", f, string=True)
+ filter_file("mpc++_r)", "mpcc_r mpiFCC)", f, string=True)
+ filter_file("mpf77_r", "mpf77_r mpifrt", f, string=True)
def setup_build_environment(self, env):
# https://github.com/ornladios/ADIOS2/issues/2228
- if self.spec.satisfies('%gcc@10: +fortran'):
- env.set('FFLAGS', '-fallow-argument-mismatch')
- elif self.spec.satisfies('%fj +fortran'):
- env.set('FFLAGS', '-Ccpp')
+ if self.spec.satisfies("%gcc@10: +fortran"):
+ env.set("FFLAGS", "-fallow-argument-mismatch")
+ elif self.spec.satisfies("%fj +fortran"):
+ env.set("FFLAGS", "-Ccpp")
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant
args = [
- from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('ADIOS2_USE_Blosc', 'blosc'),
- from_variant('ADIOS2_USE_BZip2', 'bzip2'),
- from_variant('ADIOS2_USE_DataMan', 'dataman'),
- from_variant('ADIOS2_USE_DataSpaces', 'dataspaces'),
- from_variant('ADIOS2_USE_Fortran', 'fortran'),
- from_variant('ADIOS2_USE_HDF5', 'hdf5'),
- from_variant('ADIOS2_USE_MPI', 'mpi'),
- from_variant('ADIOS2_USE_PNG', 'png'),
- from_variant('ADIOS2_USE_Python', 'python'),
- from_variant('ADIOS2_USE_SSC', 'ssc'),
- from_variant('ADIOS2_USE_SST', 'sst'),
- from_variant('ADIOS2_USE_SZ', 'sz'),
- from_variant('ADIOS2_USE_ZFP', 'zfp'),
- from_variant('ADIOS2_USE_CUDA', 'cuda'),
- self.define('BUILD_TESTING', self.run_tests),
- self.define('ADIOS2_BUILD_EXAMPLES', False),
- self.define('ADIOS2_USE_Endian_Reverse', True),
- self.define('ADIOS2_USE_IME', False),
- self.define('ADIOS2_USE_MGARD', False)
+ from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("ADIOS2_USE_Blosc", "blosc"),
+ from_variant("ADIOS2_USE_BZip2", "bzip2"),
+ from_variant("ADIOS2_USE_DataMan", "dataman"),
+ from_variant("ADIOS2_USE_DataSpaces", "dataspaces"),
+ from_variant("ADIOS2_USE_Fortran", "fortran"),
+ from_variant("ADIOS2_USE_HDF5", "hdf5"),
+ from_variant("ADIOS2_USE_MPI", "mpi"),
+ from_variant("ADIOS2_USE_PNG", "png"),
+ from_variant("ADIOS2_USE_Python", "python"),
+ from_variant("ADIOS2_USE_SSC", "ssc"),
+ from_variant("ADIOS2_USE_SST", "sst"),
+ from_variant("ADIOS2_USE_SZ", "sz"),
+ from_variant("ADIOS2_USE_ZFP", "zfp"),
+ from_variant("ADIOS2_USE_CUDA", "cuda"),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define("ADIOS2_BUILD_EXAMPLES", False),
+ self.define("ADIOS2_USE_Endian_Reverse", True),
+ self.define("ADIOS2_USE_IME", False),
+ self.define("ADIOS2_USE_MGARD", False),
]
- if '+sst' in spec:
- args.extend([
- # Broken dependency package
- '-DCMAKE_DISABLE_FIND_PACKAGE_BISON=TRUE',
- # Depends on ^
- '-DCMAKE_DISABLE_FIND_PACKAGE_FLEX=TRUE',
-
- # Not yet packaged
- '-DCMAKE_DISABLE_FIND_PACKAGE_CrayDRC=TRUE',
- '-DCMAKE_DISABLE_FIND_PACKAGE_NVSTREAM=TRUE'
- ])
-
- if '%fj' in spec:
- args.extend([
- '-DCMAKE_Fortran_SUBMODULE_EXT=.smod',
- '-DCMAKE_Fortran_SUBMODULE_SEP=.'
- ])
-
- if '+python' in spec or self.run_tests:
- args.append('-DPYTHON_EXECUTABLE:FILEPATH=%s' % spec['python'].command.path)
+ if "+sst" in spec:
+ args.extend(
+ [
+ # Broken dependency package
+ "-DCMAKE_DISABLE_FIND_PACKAGE_BISON=TRUE",
+ # Depends on ^
+ "-DCMAKE_DISABLE_FIND_PACKAGE_FLEX=TRUE",
+ # Not yet packaged
+ "-DCMAKE_DISABLE_FIND_PACKAGE_CrayDRC=TRUE",
+ "-DCMAKE_DISABLE_FIND_PACKAGE_NVSTREAM=TRUE",
+ ]
+ )
+
+ if "%fj" in spec:
+ args.extend(["-DCMAKE_Fortran_SUBMODULE_EXT=.smod", "-DCMAKE_Fortran_SUBMODULE_SEP=."])
+
+ if "+python" in spec or self.run_tests:
+ args.append("-DPYTHON_EXECUTABLE:FILEPATH=%s" % spec["python"].command.path)
return args
@@ -203,35 +210,36 @@ class Adios2(CMakePackage, CudaPackage):
spec = self.spec
libs_to_seek = set()
- if '@2.6:' in spec:
- libs_to_seek.add('libadios2_core')
- libs_to_seek.add('libadios2_c')
- libs_to_seek.add('libadios2_cxx11')
- if '+fortran' in spec:
- libs_to_seek.add('libadios2_fortran')
+ if "@2.6:" in spec:
+ libs_to_seek.add("libadios2_core")
+ libs_to_seek.add("libadios2_c")
+ libs_to_seek.add("libadios2_cxx11")
+ if "+fortran" in spec:
+ libs_to_seek.add("libadios2_fortran")
- if '+mpi' in spec:
- libs_to_seek.add('libadios2_core_mpi')
- libs_to_seek.add('libadios2_c_mpi')
- libs_to_seek.add('libadios2_cxx11_mpi')
- if '+fortran' in spec:
- libs_to_seek.add('libadios2_fortran_mpi')
+ if "+mpi" in spec:
+ libs_to_seek.add("libadios2_core_mpi")
+ libs_to_seek.add("libadios2_c_mpi")
+ libs_to_seek.add("libadios2_cxx11_mpi")
+ if "+fortran" in spec:
+ libs_to_seek.add("libadios2_fortran_mpi")
- if '@2.7: +shared+hdf5' in spec and '@1.12:' in spec['hdf5']:
- libs_to_seek.add('libadios2_h5vol')
+ if "@2.7: +shared+hdf5" in spec and "@1.12:" in spec["hdf5"]:
+ libs_to_seek.add("libadios2_h5vol")
else:
- libs_to_seek.add('libadios2')
- if '+fortran' in spec:
- libs_to_seek.add('libadios2_fortran')
+ libs_to_seek.add("libadios2")
+ if "+fortran" in spec:
+ libs_to_seek.add("libadios2_fortran")
- return find_libraries(list(libs_to_seek), root=self.spec.prefix,
- shared=('+shared' in spec), recursive=True)
+ return find_libraries(
+ list(libs_to_seek), root=self.spec.prefix, shared=("+shared" in spec), recursive=True
+ )
def setup_run_environment(self, env):
try:
all_libs = self.libs
- idx = all_libs.basenames.index('libadios2_h5vol.so')
- env.prepend_path('HDF5_PLUGIN_PATH', os.path.dirname(all_libs[idx]))
+ idx = all_libs.basenames.index("libadios2_h5vol.so")
+ env.prepend_path("HDF5_PLUGIN_PATH", os.path.dirname(all_libs[idx]))
except ValueError:
pass
diff --git a/var/spack/repos/builtin/packages/adlbx/package.py b/var/spack/repos/builtin/packages/adlbx/package.py
index db821ffa12..5d69554116 100644
--- a/var/spack/repos/builtin/packages/adlbx/package.py
+++ b/var/spack/repos/builtin/packages/adlbx/package.py
@@ -10,37 +10,37 @@ from spack.package import *
class Adlbx(AutotoolsPackage):
"""ADLB/X: Master-worker library + work stealing and data dependencies"""
- homepage = 'http://swift-lang.org/Swift-T'
- 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')
- version('1.0.0', sha256='9d547b1d36e5af1b11c97d0b700c6cb1fec2661cf583553e22b090e3619caba7')
- version('0.9.2', sha256='524902d648001b689a98492402d754a607b8c1d0734699154063c1a4f3410d4a')
- version('0.9.1', sha256='8913493fe0c097ff13c721ab057514e5bdb55f6318d4e3512692ab739c3190b3')
-
- depends_on('exmcutils@master', when='@master')
- depends_on('exmcutils@:0.5.7', when='@:0.9.2')
- depends_on('exmcutils', when='@0.9.1:')
- 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('mpi')
+ homepage = "http://swift-lang.org/Swift-T"
+ 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")
+ version("1.0.0", sha256="9d547b1d36e5af1b11c97d0b700c6cb1fec2661cf583553e22b090e3619caba7")
+ version("0.9.2", sha256="524902d648001b689a98492402d754a607b8c1d0734699154063c1a4f3410d4a")
+ version("0.9.1", sha256="8913493fe0c097ff13c721ab057514e5bdb55f6318d4e3512692ab739c3190b3")
+
+ depends_on("exmcutils@master", when="@master")
+ depends_on("exmcutils@:0.5.7", when="@:0.9.2")
+ depends_on("exmcutils", when="@0.9.1:")
+ 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("mpi")
def setup_build_environment(self, env):
spec = self.spec
- env.set('CC', spec['mpi'].mpicc)
- env.set('CXX', spec['mpi'].mpicxx)
- env.set('CXXLD', spec['mpi'].mpicxx)
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("CXX", spec["mpi"].mpicxx)
+ env.set("CXXLD", spec["mpi"].mpicxx)
@property
def configure_directory(self):
- if self.version == Version('master'):
- return 'lb/code'
+ if self.version == Version("master"):
+ return "lb/code"
else:
- return '.'
+ return "."
def configure_args(self):
- args = ['--with-c-utils=' + self.spec['exmcutils'].prefix]
+ args = ["--with-c-utils=" + self.spec["exmcutils"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/admixtools/package.py b/var/spack/repos/builtin/packages/admixtools/package.py
index 83aa7b5daa..836398ea0c 100644
--- a/var/spack/repos/builtin/packages/admixtools/package.py
+++ b/var/spack/repos/builtin/packages/admixtools/package.py
@@ -12,35 +12,37 @@ class Admixtools(MakefilePackage):
of the methods and algorithm can be found in this paper.."""
homepage = "https://github.com/DReichLab/AdmixTools"
- url = "https://github.com/DReichLab/AdmixTools/archive/v7.0.2.tar.gz"
+ url = "https://github.com/DReichLab/AdmixTools/archive/v7.0.2.tar.gz"
- version('7.0.2', sha256='d1dc1963e01017f40e05e28009008e14388a14a3facc75cff46653da585bd91e')
- version('7.0.1', sha256='182dd6f55109e9a1569b47843b0d1aa89fe4cf4a05f9292519b9811faea67a20')
- version('7.0', sha256='c00faab626f02bbf9c25c6d2dcf661db225776e9ed61251f164e5edeb5a448e5')
- version('6.0', sha256='8fcd6c6834c7b33afdd7188516856d9c66b53c33dc82e133b72b56714fb67ad5')
- version('5.1', sha256='42b584cc785abfdfa9f39a341bdf81f800639737feaf3d07702de4a2e373557e')
- version('5.0', sha256='9f00637eac84c1ca152b65313d803616ee62c4156c7c737a33f5b31aeeac1367')
- version('1.0.1', sha256='ef3afff161e6a24c0857678373138edb1251c24d7b5308a07f10bdb0dedd44d0')
- version('1.0', sha256='cf0d6950285e801e8a99c2a0b3dbbbc941a78e867af1767b1d002ec3f5803c4b')
+ version("7.0.2", sha256="d1dc1963e01017f40e05e28009008e14388a14a3facc75cff46653da585bd91e")
+ version("7.0.1", sha256="182dd6f55109e9a1569b47843b0d1aa89fe4cf4a05f9292519b9811faea67a20")
+ version("7.0", sha256="c00faab626f02bbf9c25c6d2dcf661db225776e9ed61251f164e5edeb5a448e5")
+ version("6.0", sha256="8fcd6c6834c7b33afdd7188516856d9c66b53c33dc82e133b72b56714fb67ad5")
+ version("5.1", sha256="42b584cc785abfdfa9f39a341bdf81f800639737feaf3d07702de4a2e373557e")
+ version("5.0", sha256="9f00637eac84c1ca152b65313d803616ee62c4156c7c737a33f5b31aeeac1367")
+ version("1.0.1", sha256="ef3afff161e6a24c0857678373138edb1251c24d7b5308a07f10bdb0dedd44d0")
+ version("1.0", sha256="cf0d6950285e801e8a99c2a0b3dbbbc941a78e867af1767b1d002ec3f5803c4b")
- depends_on('lapack')
- depends_on('gsl')
+ depends_on("lapack")
+ depends_on("gsl")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
- makefile = FileFilter('src/Makefile')
+ makefile = FileFilter("src/Makefile")
- lapackflags = spec['lapack'].libs.ld_flags
+ lapackflags = spec["lapack"].libs.ld_flags
- makefile.filter('override LDLIBS += -lgsl -lopenblas -lm -lnick',
- 'override LDLIBS += -lgsl -lm -lnick ' + lapackflags)
+ makefile.filter(
+ "override LDLIBS += -lgsl -lopenblas -lm -lnick",
+ "override LDLIBS += -lgsl -lm -lnick " + lapackflags,
+ )
- makefile.filter('TOP=../bin', 'TOP=./bin')
+ makefile.filter("TOP=../bin", "TOP=./bin")
def install(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
- make('install')
- install_tree('bin', prefix.bin)
- install('twtable', prefix.bin)
+ make("install")
+ install_tree("bin", prefix.bin)
+ install("twtable", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/adms/package.py b/var/spack/repos/builtin/packages/adms/package.py
index b952dc2650..c8ebe9d745 100644
--- a/var/spack/repos/builtin/packages/adms/package.py
+++ b/var/spack/repos/builtin/packages/adms/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class Adms(AutotoolsPackage):
"""ADMS is a code generator that converts electrical compact device models
- specified in high-level description language into ready-to-compile c code
- for the API of spice simulators."""
+ specified in high-level description language into ready-to-compile c code
+ for the API of spice simulators."""
homepage = "https://sourceforge.net/projects/mot-adms/"
- url = "https://github.com/Qucs/ADMS/releases/download/release-2.3.7/adms-2.3.7.tar.gz"
- git = "https://github.com/Qucs/ADMS.git"
+ url = "https://github.com/Qucs/ADMS/releases/download/release-2.3.7/adms-2.3.7.tar.gz"
+ git = "https://github.com/Qucs/ADMS.git"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('master', branch='master')
- version('2.3.7', sha256='3a78e1283ecdc3f356410474b3ff44c4dcc82cb89772087fd3bbde8a1038ce08')
+ version("master", branch="master")
+ version("2.3.7", sha256="3a78e1283ecdc3f356410474b3ff44c4dcc82cb89772087fd3bbde8a1038ce08")
- depends_on('bison@2.5:', type='build')
- depends_on('flex', type='build')
- depends_on('perl-xml-libxml', type='build')
+ depends_on("bison@2.5:", type="build")
+ depends_on("flex", type="build")
+ depends_on("perl-xml-libxml", type="build")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('./bootstrap.sh')
+ sh = which("sh")
+ sh("./bootstrap.sh")
diff --git a/var/spack/repos/builtin/packages/adol-c/package.py b/var/spack/repos/builtin/packages/adol-c/package.py
index a303b32968..4bd16a604b 100644
--- a/var/spack/repos/builtin/packages/adol-c/package.py
+++ b/var/spack/repos/builtin/packages/adol-c/package.py
@@ -12,44 +12,52 @@ class AdolC(AutotoolsPackage):
overloading."""
homepage = "https://github.com/coin-or/ADOL-C"
- url = "https://github.com/coin-or/ADOL-C/archive/releases/2.7.2.tar.gz"
- git = "https://github.com/coin-or/ADOL-C.git"
- maintainers = ['jppelteret']
-
- version('master', branch='master')
- version('2.7.2', sha256='701e0856baae91b98397960d5e0a87a549988de9d4002d0e9a56fa08f5455f6e')
- version('2.7.1', sha256='a05422cc7faff5700e134e113822d1934fb540ad247e63778524d5d6d75bb0ef')
- version('2.7.0', sha256='a75cfa6240de8692b2a3e8e782319efefc316f1e595234fcee972ab0e7afa3cd')
- version('2.6.3', sha256='9750a0a06dcab9a0dba2010f07872ea9057ed29781e9e7d571691c27aa559b04')
- version('2.6.2', sha256='4ef6ff15b4691235c0ea6580917c7eb17d09ded485ac524a0a33ac7e99ab004b')
- version('2.6.1', sha256='48b41c40d1c8437fb98eeed4b24deaf3e59da804f34ac9c848da1b049b3b071a')
- version('2.6.0', sha256='26a1fcb8561f15781f645d245fc345c83497147ec7bb64d4bfc96e32c34c6c1c')
- version('2.5.2', sha256='390edb1513f749b2dbf6fb90db12ce786f6532af80e589f161ff43646b3a78a6')
- version('2.5.1', sha256='dedb93c3bb291366d799014b04b6d1ec63ca4e7216edf16167776c07961e3b4a')
- version('2.5.0', sha256='9d51c426d831884aac8f418be410c001eb62f3a11cb8f30c66af0b842edffb96')
-
- variant('advanced_branching', default=False,
- description='Enable advanced branching to reduce retaping')
- variant('atrig_erf', default=True,
- description='Enable arc-trig and error functions')
- variant('traceless_refcounting', default=True,
- description='Enable reference counting for tapeless numbers')
- variant('stdczero', default=True,
- description='Enable default initialization for the adouble datatype')
- variant('doc', default=True, description='Install documentation')
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('sparse', default=False, description='Enable sparse drivers')
- variant('examples', default=True, description='Install examples')
- variant('boost', default=False, description='Enable boost')
+ url = "https://github.com/coin-or/ADOL-C/archive/releases/2.7.2.tar.gz"
+ git = "https://github.com/coin-or/ADOL-C.git"
+ maintainers = ["jppelteret"]
+
+ version("master", branch="master")
+ version("2.7.2", sha256="701e0856baae91b98397960d5e0a87a549988de9d4002d0e9a56fa08f5455f6e")
+ version("2.7.1", sha256="a05422cc7faff5700e134e113822d1934fb540ad247e63778524d5d6d75bb0ef")
+ version("2.7.0", sha256="a75cfa6240de8692b2a3e8e782319efefc316f1e595234fcee972ab0e7afa3cd")
+ version("2.6.3", sha256="9750a0a06dcab9a0dba2010f07872ea9057ed29781e9e7d571691c27aa559b04")
+ version("2.6.2", sha256="4ef6ff15b4691235c0ea6580917c7eb17d09ded485ac524a0a33ac7e99ab004b")
+ version("2.6.1", sha256="48b41c40d1c8437fb98eeed4b24deaf3e59da804f34ac9c848da1b049b3b071a")
+ version("2.6.0", sha256="26a1fcb8561f15781f645d245fc345c83497147ec7bb64d4bfc96e32c34c6c1c")
+ version("2.5.2", sha256="390edb1513f749b2dbf6fb90db12ce786f6532af80e589f161ff43646b3a78a6")
+ version("2.5.1", sha256="dedb93c3bb291366d799014b04b6d1ec63ca4e7216edf16167776c07961e3b4a")
+ version("2.5.0", sha256="9d51c426d831884aac8f418be410c001eb62f3a11cb8f30c66af0b842edffb96")
+
+ variant(
+ "advanced_branching",
+ default=False,
+ description="Enable advanced branching to reduce retaping",
+ )
+ variant("atrig_erf", default=True, description="Enable arc-trig and error functions")
+ variant(
+ "traceless_refcounting",
+ default=True,
+ description="Enable reference counting for tapeless numbers",
+ )
+ variant(
+ "stdczero",
+ default=True,
+ description="Enable default initialization for the adouble datatype",
+ )
+ variant("doc", default=True, description="Install documentation")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("sparse", default=False, description="Enable sparse drivers")
+ variant("examples", default=True, description="Install examples")
+ variant("boost", default=False, description="Enable boost")
# Build dependencies
- depends_on('automake', type='build', when='@develop')
- depends_on('autoconf', type='build', when='@develop')
- depends_on('libtool', type='build', when='@develop')
- depends_on('m4', type='build', when='@develop')
+ depends_on("automake", type="build", when="@develop")
+ depends_on("autoconf", type="build", when="@develop")
+ depends_on("libtool", type="build", when="@develop")
+ depends_on("m4", type="build", when="@develop")
# Link dependencies
- depends_on('boost+system', when='+boost')
+ depends_on("boost+system", when="+boost")
# FIXME: add
# --with-colpack=DIR path to the colpack library and headers
@@ -65,85 +73,78 @@ class AdolC(AutotoolsPackage):
# it which leads to a cascade of unwanted features to be enabled and
# ultimately a compilation failure.
# See https://github.com/xsdk-project/xsdk-examples/issues/16
- patch('disable_colpack.patch', when='@2.7.2:')
+ patch("disable_colpack.patch", when="@2.7.2:")
- patch('openmp_exam_261.patch', when='@2.6.1')
+ patch("openmp_exam_261.patch", when="@2.6.1")
def configure_args(self):
spec = self.spec
configure_args = []
- if '+boost' in spec:
- configure_args.append(
- '--with-boost={0}'.format(spec['boost'].prefix)
- )
+ if "+boost" in spec:
+ configure_args.append("--with-boost={0}".format(spec["boost"].prefix))
else:
- configure_args.append(
- '--with-boost=no'
- )
+ configure_args.append("--with-boost=no")
- if '+openmp' in spec:
- configure_args.append(
- '--with-openmp-flag={0}'.format(self.compiler.openmp_flag)
- )
+ if "+openmp" in spec:
+ configure_args.append("--with-openmp-flag={0}".format(self.compiler.openmp_flag))
- configure_args.extend(self.enable_or_disable('advanced-branching',
- variant='advanced_branching'))
- configure_args.extend(self.enable_or_disable('atrig-erf', variant='atrig_erf'))
- configure_args.extend(self.enable_or_disable('traceless-refcounting',
- variant='traceless_refcounting'))
- configure_args.extend(self.enable_or_disable('sparse'))
- configure_args.extend(self.enable_or_disable('stdczero'))
+ configure_args.extend(
+ self.enable_or_disable("advanced-branching", variant="advanced_branching")
+ )
+ configure_args.extend(self.enable_or_disable("atrig-erf", variant="atrig_erf"))
+ configure_args.extend(
+ self.enable_or_disable("traceless-refcounting", variant="traceless_refcounting")
+ )
+ configure_args.extend(self.enable_or_disable("sparse"))
+ configure_args.extend(self.enable_or_disable("stdczero"))
# We can simply use the bundled examples to check
# whether Adol-C works as expected
- if '+examples' in spec:
- configure_args.extend([
- '--enable-docexa', # Documented examples
- '--enable-addexa' # Additional examples
- ])
- if '+openmp' in spec:
- configure_args.append(
- '--enable-parexa' # Parallel examples
- )
+ if "+examples" in spec:
+ configure_args.extend(
+ [
+ "--enable-docexa", # Documented examples
+ "--enable-addexa", # Additional examples
+ ]
+ )
+ if "+openmp" in spec:
+ configure_args.append("--enable-parexa") # Parallel examples
return configure_args
- @run_after('install')
+ @run_after("install")
def install_additional_files(self):
spec = self.spec
prefix = self.prefix
# Copy the config.h file, as some packages might require it
source_directory = self.stage.source_path
- config_h = join_path(source_directory, 'ADOL-C', 'src', 'config.h')
- install(config_h, join_path(prefix.include, 'adolc'))
+ config_h = join_path(source_directory, "ADOL-C", "src", "config.h")
+ install(config_h, join_path(prefix.include, "adolc"))
# Install documentation to {prefix}/share
- if '+doc' in spec:
- install_tree(join_path('ADOL-C', 'doc'),
- join_path(prefix.share, 'doc'))
+ if "+doc" in spec:
+ install_tree(join_path("ADOL-C", "doc"), join_path(prefix.share, "doc"))
# Install examples to {prefix}/share
- if '+examples' in spec:
- install_tree(join_path('ADOL-C', 'examples'),
- join_path(prefix.share, 'examples'))
+ if "+examples" in spec:
+ install_tree(join_path("ADOL-C", "examples"), join_path(prefix.share, "examples"))
# Run some examples that don't require user input
# TODO: Check that bundled examples produce the correct results
- with working_dir(join_path(
- source_directory, 'ADOL-C', 'examples')):
- Executable('./tapeless_scalar')()
- Executable('./tapeless_vector')()
-
- with working_dir(join_path(
- source_directory,
- 'ADOL-C', 'examples', 'additional_examples')):
- Executable('./checkpointing/checkpointing')()
-
- if '+openmp' in spec:
- with working_dir(join_path(
- source_directory,
- 'ADOL-C', 'examples', 'additional_examples')):
- Executable('./checkpointing/checkpointing')()
+ with working_dir(join_path(source_directory, "ADOL-C", "examples")):
+ Executable("./tapeless_scalar")()
+ Executable("./tapeless_vector")()
+
+ with working_dir(
+ join_path(source_directory, "ADOL-C", "examples", "additional_examples")
+ ):
+ Executable("./checkpointing/checkpointing")()
+
+ if "+openmp" in spec:
+ with working_dir(
+ join_path(source_directory, "ADOL-C", "examples", "additional_examples")
+ ):
+ Executable("./checkpointing/checkpointing")()
diff --git a/var/spack/repos/builtin/packages/advancecomp/package.py b/var/spack/repos/builtin/packages/advancecomp/package.py
index 97cac4df62..3f2c944620 100644
--- a/var/spack/repos/builtin/packages/advancecomp/package.py
+++ b/var/spack/repos/builtin/packages/advancecomp/package.py
@@ -11,15 +11,15 @@ class Advancecomp(AutotoolsPackage):
.png images, .mng video clips and .gz files."""
homepage = "https://www.advancemame.it"
- url = "https://github.com/amadvance/advancecomp/archive/v2.1.tar.gz"
+ url = "https://github.com/amadvance/advancecomp/archive/v2.1.tar.gz"
- version('2.1', sha256='6113c2b6272334af710ba486e8312faa3cee5bd6dc8ca422d00437725e2b602a')
- version('2.0', sha256='caa63332cd141db17988eb89c662cf76bdde72f60d4de7cb0fe8c7e51eb40eb7')
- version('1.23', sha256='fe89d6ab382efc6b6be536b8d58113f36b83d82783d5215c261c14374cba800a')
- version('1.22', sha256='b8c482027a5f78d9a7f871cbba19cc896ed61653d1d93034c9dbe55484952605')
+ version("2.1", sha256="6113c2b6272334af710ba486e8312faa3cee5bd6dc8ca422d00437725e2b602a")
+ version("2.0", sha256="caa63332cd141db17988eb89c662cf76bdde72f60d4de7cb0fe8c7e51eb40eb7")
+ version("1.23", sha256="fe89d6ab382efc6b6be536b8d58113f36b83d82783d5215c261c14374cba800a")
+ version("1.22", sha256="b8c482027a5f78d9a7f871cbba19cc896ed61653d1d93034c9dbe55484952605")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('zlib', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("zlib", type="link")
diff --git a/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py b/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py
index 750550d9ac..6c38e07ad5 100644
--- a/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py
+++ b/var/spack/repos/builtin/packages/adwaita-icon-theme/package.py
@@ -10,18 +10,18 @@ class AdwaitaIconTheme(AutotoolsPackage):
"""Mostly private use system icons."""
homepage = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme"
- url = "https://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.38/adwaita-icon-theme-3.38.0.tar.xz"
+ url = "https://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.38/adwaita-icon-theme-3.38.0.tar.xz"
- version('3.38.0', sha256='6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97')
+ version("3.38.0", sha256="6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97")
depends_on("gdk-pixbuf", type="build")
depends_on("librsvg", type="build")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/aegean/package.py b/var/spack/repos/builtin/packages/aegean/package.py
index 921c20cb1b..ee15d44091 100644
--- a/var/spack/repos/builtin/packages/aegean/package.py
+++ b/var/spack/repos/builtin/packages/aegean/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Aegean(MakefilePackage):
"""The AEGeAn Toolkit is designed for the Analysis and Evaluation of
- Genome Annotations. The toolkit includes a variety of analysis programs
- as well as a C library whose API provides access to AEGeAn's core
- functions and data structures."""
+ Genome Annotations. The toolkit includes a variety of analysis programs
+ as well as a C library whose API provides access to AEGeAn's core
+ functions and data structures."""
homepage = "https://brendelgroup.github.io/AEGeAn/"
- url = "https://github.com/BrendelGroup/AEGeAn/archive/v0.15.2.tar.gz"
+ url = "https://github.com/BrendelGroup/AEGeAn/archive/v0.15.2.tar.gz"
- version('0.15.2', sha256='734c9dd23ab3415c3966083bfde5fb72c81e6ace84e08ee3fe0d4c338331d975')
+ version("0.15.2", sha256="734c9dd23ab3415c3966083bfde5fb72c81e6ace84e08ee3fe0d4c338331d975")
- depends_on('genometools')
+ depends_on("genometools")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- if spec.target.family == 'aarch64':
- makefile.filter('-m64', '')
+ makefile = FileFilter("Makefile")
+ if spec.target.family == "aarch64":
+ makefile.filter("-m64", "")
- makefile.filter('/usr/local', prefix)
+ makefile.filter("/usr/local", prefix)
diff --git a/var/spack/repos/builtin/packages/aeskeyfind/package.py b/var/spack/repos/builtin/packages/aeskeyfind/package.py
index abb33121fc..92961fca65 100644
--- a/var/spack/repos/builtin/packages/aeskeyfind/package.py
+++ b/var/spack/repos/builtin/packages/aeskeyfind/package.py
@@ -11,10 +11,10 @@ class Aeskeyfind(MakefilePackage):
and 256-bit AES keys in a captured memory image."""
homepage = "https://github.com/makomk/aeskeyfind"
- git = "https://github.com/makomk/aeskeyfind.git"
+ git = "https://github.com/makomk/aeskeyfind.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('aeskeyfind', prefix.bin)
+ install("aeskeyfind", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/aespipe/package.py b/var/spack/repos/builtin/packages/aespipe/package.py
index a332cccf88..ca28c18529 100644
--- a/var/spack/repos/builtin/packages/aespipe/package.py
+++ b/var/spack/repos/builtin/packages/aespipe/package.py
@@ -11,12 +11,12 @@ class Aespipe(AutotoolsPackage):
standard input and writes to standard output."""
homepage = "http://loop-aes.sourceforge.net/"
- url = "https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4f/aespipe-v2.4f.tar.bz2"
+ url = "https://sourceforge.net/projects/loop-aes/files/aespipe/v2.4f/aespipe-v2.4f.tar.bz2"
- version('2.4f', sha256='b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96')
- version('2.4e', sha256='bad5abb8678c2a6062d22b893171623e0c8e6163b5c1e6e5086e2140e606b93a')
- version('2.4d', sha256='c5ce656e0ade49b93e1163ec7b35450721d5743d8d804ad3a9e39add0389e50f')
- version('2.4c', sha256='260190beea911190a839e711f610ec3454a9b13985d35479775b7e26ad4c845e')
- version('2.4b', sha256='4f08611966998f66266f03d40d0597f94096164393c8f303b2dfd565e9d9b59d')
- version('2.3e', sha256='4e63a5709fdd0bffdb555582f9fd7a0bd1842e429420159accaf7f60c5d3c70f')
- version('2.3d', sha256='70330cd0710446c9ddf8148a7713fd73f1dc5e0b13fc4d3c75590305b2e3f008')
+ version("2.4f", sha256="b135e1659f58dc9be5e3c88923cd03d2a936096ab8cd7f2b3af4cb7a844cef96")
+ version("2.4e", sha256="bad5abb8678c2a6062d22b893171623e0c8e6163b5c1e6e5086e2140e606b93a")
+ version("2.4d", sha256="c5ce656e0ade49b93e1163ec7b35450721d5743d8d804ad3a9e39add0389e50f")
+ version("2.4c", sha256="260190beea911190a839e711f610ec3454a9b13985d35479775b7e26ad4c845e")
+ version("2.4b", sha256="4f08611966998f66266f03d40d0597f94096164393c8f303b2dfd565e9d9b59d")
+ version("2.3e", sha256="4e63a5709fdd0bffdb555582f9fd7a0bd1842e429420159accaf7f60c5d3c70f")
+ version("2.3d", sha256="70330cd0710446c9ddf8148a7713fd73f1dc5e0b13fc4d3c75590305b2e3f008")
diff --git a/var/spack/repos/builtin/packages/agile/package.py b/var/spack/repos/builtin/packages/agile/package.py
index 815f497c19..b5ecd35c2b 100644
--- a/var/spack/repos/builtin/packages/agile/package.py
+++ b/var/spack/repos/builtin/packages/agile/package.py
@@ -11,23 +11,25 @@ class Agile(AutotoolsPackage):
event generators.."""
homepage = "https://agile.hepforge.org/"
- url = "http://www.hepforge.org/archive/agile/AGILe-1.4.1.tar.gz"
+ url = "http://www.hepforge.org/archive/agile/AGILe-1.4.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.5.1', sha256='e38536300060e4b845ccaaed824c7495944f9117a0d7e4ee74a18bf278e2012f')
+ version("1.5.1", sha256="e38536300060e4b845ccaaed824c7495944f9117a0d7e4ee74a18bf278e2012f")
- depends_on('hepmc')
- depends_on('boost')
+ depends_on("hepmc")
+ depends_on("boost")
def configure_args(self):
- options = ['--prefix=%s' % self.spec.prefix,
- '--with-hepmc=%s' % self.spec['hepmc'].prefix,
- '--with-boost=%s' % self.spec['boost'].prefix,
- '--disable-pyext', # probably only works with python2
- 'CFLAGS=-g0 -O2',
- 'CXXFLAGS=-g0 -O2',
- 'FFLAGS=-g0 -O2']
+ options = [
+ "--prefix=%s" % self.spec.prefix,
+ "--with-hepmc=%s" % self.spec["hepmc"].prefix,
+ "--with-boost=%s" % self.spec["boost"].prefix,
+ "--disable-pyext", # probably only works with python2
+ "CFLAGS=-g0 -O2",
+ "CXXFLAGS=-g0 -O2",
+ "FFLAGS=-g0 -O2",
+ ]
return options
diff --git a/var/spack/repos/builtin/packages/agrep/package.py b/var/spack/repos/builtin/packages/agrep/package.py
index 0e28ed6004..a6c3ec0b92 100644
--- a/var/spack/repos/builtin/packages/agrep/package.py
+++ b/var/spack/repos/builtin/packages/agrep/package.py
@@ -14,10 +14,10 @@ class Agrep(MakefilePackage):
of Arizona."""
homepage = "https://www.tgries.de/agrep"
- url = "https://www.tgries.de/agrep/agrep-3.41.tgz"
+ url = "https://www.tgries.de/agrep/agrep-3.41.tgz"
- version('3.41', sha256='0508eafaf9725fc67cc955eb6d32ba4f50138443a4fea4275508d2c3f67a234e')
+ version("3.41", sha256="0508eafaf9725fc67cc955eb6d32ba4f50138443a4fea4275508d2c3f67a234e")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('agrep', prefix.bin)
+ install("agrep", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/aida/package.py b/var/spack/repos/builtin/packages/aida/package.py
index 153b294b73..cb78b1ebf9 100644
--- a/var/spack/repos/builtin/packages/aida/package.py
+++ b/var/spack/repos/builtin/packages/aida/package.py
@@ -10,12 +10,12 @@ class Aida(Package):
"""Abstract Interfaces for Data Analysis"""
homepage = "https://aida.freehep.org/"
- url = "ftp://ftp.slac.stanford.edu/software/freehep/AIDA/v3.2.1/aida-3.2.1.tar.gz"
+ url = "ftp://ftp.slac.stanford.edu/software/freehep/AIDA/v3.2.1/aida-3.2.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('3.2.1', sha256='c51da83e99c0985a7ef3e8bc5a60c3ae61f3ca603b61100c2438b4cdadd5bb2e')
+ version("3.2.1", sha256="c51da83e99c0985a7ef3e8bc5a60c3ae61f3ca603b61100c2438b4cdadd5bb2e")
def install(self, spec, prefix):
- install_tree('src/cpp', prefix.include)
- install_tree('lib', prefix)
+ install_tree("src/cpp", prefix.include)
+ install_tree("lib", prefix)
diff --git a/var/spack/repos/builtin/packages/akantu/package.py b/var/spack/repos/builtin/packages/akantu/package.py
index acd139c472..b54f5e6cb0 100644
--- a/var/spack/repos/builtin/packages/akantu/package.py
+++ b/var/spack/repos/builtin/packages/akantu/package.py
@@ -14,80 +14,88 @@ class Akantu(CMakePackage):
has the ambition to be generic and efficient.
"""
+
homepage = "https://akantu.ch"
- url = "https://gitlab.com/akantu/akantu/-/archive/v3.0.0/akantu-v3.0.0.tar.gz"
- git = "https://gitlab.com/akantu/akantu.git"
+ url = "https://gitlab.com/akantu/akantu/-/archive/v3.0.0/akantu-v3.0.0.tar.gz"
+ git = "https://gitlab.com/akantu/akantu.git"
- maintainers = ['nrichart']
+ maintainers = ["nrichart"]
- version('master', branch='master')
- version('3.0.0', sha256='7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db')
+ version("master", branch="master")
+ version("3.0.0", sha256="7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db")
- variant('external_solvers', values=any_combination_of('mumps', 'petsc'),
- description="Activates the implicit solver")
- variant('mpi', default=True,
- description="Activates parallel capabilities")
- variant('python', default=False,
- description="Activates python bindings")
+ variant(
+ "external_solvers",
+ values=any_combination_of("mumps", "petsc"),
+ description="Activates the implicit solver",
+ )
+ variant("mpi", default=True, description="Activates parallel capabilities")
+ variant("python", default=False, description="Activates python bindings")
- depends_on('boost@:1.66', when='@:3.0')
+ depends_on("boost@:1.66", when="@:3.0")
depends_on(Boost.with_default_variants)
- depends_on('lapack')
- depends_on('cmake@3.5.1:', type='build')
- depends_on('python', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('build', 'run'))
- depends_on('py-pybind11', when='@3.1:+python', type=('build', 'run'))
+ depends_on("lapack")
+ depends_on("cmake@3.5.1:", type="build")
+ depends_on("python", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("build", "run"))
+ depends_on("py-pybind11", when="@3.1:+python", type=("build", "run"))
- depends_on('mumps', when='~mpi external_solvers=mumps')
- depends_on('mumps+mpi', when='+mpi external_solvers=mumps')
- depends_on('netlib-scalapack', when='+mpi external_solvers=mumps')
- depends_on('petsc+double', when='~mpi external_solvers=petsc')
- depends_on('petsc+double+mpi', when='+mpi external_solvers=petsc')
+ depends_on("mumps", when="~mpi external_solvers=mumps")
+ depends_on("mumps+mpi", when="+mpi external_solvers=mumps")
+ depends_on("netlib-scalapack", when="+mpi external_solvers=mumps")
+ depends_on("petsc+double", when="~mpi external_solvers=petsc")
+ depends_on("petsc+double+mpi", when="+mpi external_solvers=petsc")
- depends_on('mpi', when='+mpi')
- depends_on('scotch', when='+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("scotch", when="+mpi")
- extends('python', when='+python')
+ extends("python", when="+python")
- conflicts('%gcc@:5.3')
- conflicts('@:3.0 external_solvers=petsc')
- conflicts('@:3.0 +python')
+ conflicts("%gcc@:5.3")
+ conflicts("@:3.0 external_solvers=petsc")
+ conflicts("@:3.0 +python")
def cmake_args(self):
spec = self.spec
args = [
- '-DAKANTU_COHESIVE_ELEMENT:BOOL=ON',
- '-DAKANTU_DAMAGE_NON_LOCAL:BOOL=ON',
- '-DAKANTU_HEAT_TRANSFER:BOOL=ON',
- '-DAKANTU_SOLID_MECHANICS:BOOL=ON',
- '-DAKANTU_STRUCTURAL_MECHANICS:BOOL=OFF',
- '-DAKANTU_PARALLEL:BOOL={0}'.format(
- 'ON' if spec.satisfies('+mpi') else 'OFF'),
- '-DAKANTU_PYTHON_INTERFACE:BOOL={0}'.format(
- 'ON' if spec.satisfies('+python') else 'OFF'),
+ "-DAKANTU_COHESIVE_ELEMENT:BOOL=ON",
+ "-DAKANTU_DAMAGE_NON_LOCAL:BOOL=ON",
+ "-DAKANTU_HEAT_TRANSFER:BOOL=ON",
+ "-DAKANTU_SOLID_MECHANICS:BOOL=ON",
+ "-DAKANTU_STRUCTURAL_MECHANICS:BOOL=OFF",
+ "-DAKANTU_PARALLEL:BOOL={0}".format("ON" if spec.satisfies("+mpi") else "OFF"),
+ "-DAKANTU_PYTHON_INTERFACE:BOOL={0}".format(
+ "ON" if spec.satisfies("+python") else "OFF"
+ ),
]
- if spec.satisfies('@:3.0'):
- args.extend(['-DCMAKE_CXX_FLAGS=-Wno-class-memaccess',
- '-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=OFF'])
+ if spec.satisfies("@:3.0"):
+ args.extend(
+ [
+ "-DCMAKE_CXX_FLAGS=-Wno-class-memaccess",
+ "-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=OFF",
+ ]
+ )
else:
- args.append('-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=ON')
+ args.append("-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=ON")
solvers = []
- if spec.satisfies('external_solvers=mumps'):
- solvers.append('Mumps')
- args.append('-DMUMPS_DIR:PATH=${0}'.format(spec['mumps'].prefix))
- if spec.satisfies('external_solvers=petsc'):
- solvers.append('PETSc')
+ if spec.satisfies("external_solvers=mumps"):
+ solvers.append("Mumps")
+ args.append("-DMUMPS_DIR:PATH=${0}".format(spec["mumps"].prefix))
+ if spec.satisfies("external_solvers=petsc"):
+ solvers.append("PETSc")
if len(solvers) > 0:
- args.extend([
- '-DAKANTU_IMPLICIT_SOLVER:STRING={0}'.format(
- '+'.join(solvers)),
- '-DAKANTU_IMPLICIT:BOOL=ON'])
+ args.extend(
+ [
+ "-DAKANTU_IMPLICIT_SOLVER:STRING={0}".format("+".join(solvers)),
+ "-DAKANTU_IMPLICIT:BOOL=ON",
+ ]
+ )
else:
- args.append('-DAKANTU_IMPLICIT:BOOL=OFF')
+ args.append("-DAKANTU_IMPLICIT:BOOL=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/alan/package.py b/var/spack/repos/builtin/packages/alan/package.py
index f2b9481dc6..c7586e8280 100644
--- a/var/spack/repos/builtin/packages/alan/package.py
+++ b/var/spack/repos/builtin/packages/alan/package.py
@@ -10,10 +10,10 @@ class Alan(Package):
"""Alignment viewer for linux terminal"""
homepage = "https://github.com/mpdunne/alan"
- url = "https://github.com/mpdunne/alan/archive/2.1.1.tar.gz"
+ url = "https://github.com/mpdunne/alan/archive/2.1.1.tar.gz"
- version('2.1.1', sha256='c92ac570be6da490a0b3178c565cf649414829d74a14e9f6ec32c5a05caa1755')
+ version("2.1.1", sha256="c92ac570be6da490a0b3178c565cf649414829d74a14e9f6ec32c5a05caa1755")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('alan', prefix.bin)
+ install("alan", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/albany/package.py b/var/spack/repos/builtin/packages/albany/package.py
index 7706e404dc..7ddefc9348 100644
--- a/var/spack/repos/builtin/packages/albany/package.py
+++ b/var/spack/repos/builtin/packages/albany/package.py
@@ -8,85 +8,71 @@ from spack.package import *
class Albany(CMakePackage):
"""Albany is an implicit, unstructured grid, finite element code for the
- solution and analysis of multiphysics problems. The Albany repository
- on the GitHub site contains hundreds of regression tests and examples
- that demonstrate the code's capabilities on a wide variety of problems
- including fluid mechanics, solid mechanics (elasticity and plasticity),
- ice-sheet flow, quantum device modeling, and many other applications."""
+ solution and analysis of multiphysics problems. The Albany repository
+ on the GitHub site contains hundreds of regression tests and examples
+ that demonstrate the code's capabilities on a wide variety of problems
+ including fluid mechanics, solid mechanics (elasticity and plasticity),
+ ice-sheet flow, quantum device modeling, and many other applications."""
homepage = "http://gahansen.github.io/Albany"
- git = "https://github.com/gahansen/Albany.git"
+ git = "https://github.com/gahansen/Albany.git"
- maintainers = ['gahansen']
+ maintainers = ["gahansen"]
- version('develop', branch='master')
+ version("develop", branch="master")
- variant('lcm', default=True,
- description='Enable LCM')
- variant('aeras', default=False,
- description='Enable AERAS')
- variant('qcad', default=False,
- description='Enable QCAD')
- variant('hydride', default=False,
- description='Enable HYDRIDE')
- variant('lcm_spec', default=False,
- description='Enable LCM_SPECULATIVE')
- variant('lame', default=False,
- description='Enable LAME')
- variant('debug', default=False,
- description='Enable DEBUGGING')
- variant('fpe', default=False,
- description='Enable CHECK_FPE')
- variant('scorec', default=False,
- description='Enable SCOREC')
- variant('felix', default=False,
- description='Enable FELIX')
- variant('mor', default=False,
- description='Enable MOR')
- variant('confgui', default=False,
- description='Enable Albany configuration (CI) GUI')
- variant('ascr', default=False,
- description='Enable ALBANY_ASCR')
- variant('perf', default=False,
- description='Enable PERFORMANCE_TESTS')
- variant('64bit', default=True,
- description='Enable 64BIT')
+ variant("lcm", default=True, description="Enable LCM")
+ variant("aeras", default=False, description="Enable AERAS")
+ variant("qcad", default=False, description="Enable QCAD")
+ variant("hydride", default=False, description="Enable HYDRIDE")
+ variant("lcm_spec", default=False, description="Enable LCM_SPECULATIVE")
+ variant("lame", default=False, description="Enable LAME")
+ variant("debug", default=False, description="Enable DEBUGGING")
+ variant("fpe", default=False, description="Enable CHECK_FPE")
+ variant("scorec", default=False, description="Enable SCOREC")
+ variant("felix", default=False, description="Enable FELIX")
+ variant("mor", default=False, description="Enable MOR")
+ variant("confgui", default=False, description="Enable Albany configuration (CI) GUI")
+ variant("ascr", default=False, description="Enable ALBANY_ASCR")
+ variant("perf", default=False, description="Enable PERFORMANCE_TESTS")
+ variant("64bit", default=True, description="Enable 64BIT")
# Add dependencies
- depends_on('mpi')
+ depends_on("mpi")
depends_on(
- 'trilinos'
- '~superlu-dist+isorropia+tempus+rythmos+teko+intrepid+intrepid2'
- '+minitensor+phalanx+nox+piro+rol+shards+stk+superlu'
- '@master'
+ "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
- trilinos_dir = spec['trilinos'].prefix
+ trilinos_dir = spec["trilinos"].prefix
options = []
- options.extend([
- '-DALBANY_TRILINOS_DIR:FILEPATH={0}'.format(trilinos_dir),
- '-DINSTALL_ALBANY:BOOL=ON'
- ])
+ options.extend(
+ ["-DALBANY_TRILINOS_DIR:FILEPATH={0}".format(trilinos_dir), "-DINSTALL_ALBANY:BOOL=ON"]
+ )
- options.extend([
- self.define_from_variant('ENABLE_LCM', 'lcm'),
- self.define_from_variant('ENABLE_AERAS', 'aeras'),
- self.define_from_variant('ENABLE_QCAD', 'qcad'),
- self.define_from_variant('ENABLE_HYDRIDE', 'hydride'),
- self.define_from_variant('ENABLE_LCM_SPECULATIVE', 'lcm_spec'),
- self.define_from_variant('ENABLE_LAME', 'lame'),
- self.define_from_variant('ENABLE_DEBUGGING', 'debug'),
- self.define_from_variant('ENABLE_CHECK_FPE', 'fpe'),
- self.define_from_variant('ENABLE_SCOREC', 'scorec'),
- self.define_from_variant('ENABLE_FELIX', 'felix'),
- self.define_from_variant('ENABLE_MOR', 'mor'),
- self.define_from_variant('ENABLE_ALBANY_CI', 'ci'),
- self.define_from_variant('ENABLE_ASCR', 'ascr'),
- self.define_from_variant('ENABLE_PERFORMANCE_TESTS', 'perf'),
- self.define_from_variant('ENABLE_64BIT_INT', '64bit')
- ])
+ options.extend(
+ [
+ self.define_from_variant("ENABLE_LCM", "lcm"),
+ self.define_from_variant("ENABLE_AERAS", "aeras"),
+ self.define_from_variant("ENABLE_QCAD", "qcad"),
+ self.define_from_variant("ENABLE_HYDRIDE", "hydride"),
+ self.define_from_variant("ENABLE_LCM_SPECULATIVE", "lcm_spec"),
+ self.define_from_variant("ENABLE_LAME", "lame"),
+ self.define_from_variant("ENABLE_DEBUGGING", "debug"),
+ self.define_from_variant("ENABLE_CHECK_FPE", "fpe"),
+ self.define_from_variant("ENABLE_SCOREC", "scorec"),
+ self.define_from_variant("ENABLE_FELIX", "felix"),
+ self.define_from_variant("ENABLE_MOR", "mor"),
+ self.define_from_variant("ENABLE_ALBANY_CI", "ci"),
+ self.define_from_variant("ENABLE_ASCR", "ascr"),
+ self.define_from_variant("ENABLE_PERFORMANCE_TESTS", "perf"),
+ self.define_from_variant("ENABLE_64BIT_INT", "64bit"),
+ ]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/albert/package.py b/var/spack/repos/builtin/packages/albert/package.py
index c97e4037e3..778f8abf42 100644
--- a/var/spack/repos/builtin/packages/albert/package.py
+++ b/var/spack/repos/builtin/packages/albert/package.py
@@ -11,13 +11,13 @@ class Albert(MakefilePackage):
specialist in the study of nonassociative algebra."""
homepage = "https://people.cs.clemson.edu/~dpj/albertstuff/albert.html"
- url = "https://github.com/kentavv/Albert/archive/v4.0a_opt4.tar.gz"
+ url = "https://github.com/kentavv/Albert/archive/v4.0a_opt4.tar.gz"
- version('4.0a_opt4', sha256='80b9ee774789c9cd123072523cfb693c443c3624708a58a5af177a51f36b2c79')
- version('4.0a', sha256='caf49e24fb9bf2a09053d9bf022c4737ffe61d62ce9c6bc32aa03dded2a14913')
+ version("4.0a_opt4", sha256="80b9ee774789c9cd123072523cfb693c443c3624708a58a5af177a51f36b2c79")
+ version("4.0a", sha256="caf49e24fb9bf2a09053d9bf022c4737ffe61d62ce9c6bc32aa03dded2a14913")
- depends_on('readline')
+ depends_on("readline")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('albert', join_path(prefix.bin))
+ install("albert", join_path(prefix.bin))
diff --git a/var/spack/repos/builtin/packages/alembic/package.py b/var/spack/repos/builtin/packages/alembic/package.py
index 02643a62d9..3cc16ce686 100644
--- a/var/spack/repos/builtin/packages/alembic/package.py
+++ b/var/spack/repos/builtin/packages/alembic/package.py
@@ -13,26 +13,24 @@ class Alembic(CMakePackage):
geometric results."""
homepage = "https://www.alembic.io"
- url = "https://github.com/alembic/alembic/archive/1.7.16.tar.gz"
+ url = "https://github.com/alembic/alembic/archive/1.7.16.tar.gz"
- version('1.7.16', sha256='2529586c89459af34d27a36ab114ad1d43dafd44061e65cfcfc73b7457379e7c')
+ version("1.7.16", sha256="2529586c89459af34d27a36ab114ad1d43dafd44061e65cfcfc73b7457379e7c")
- variant('python', default=False, description='Python support')
- variant('hdf5', default=False, description='HDF5 support')
+ variant("python", default=False, description="Python support")
+ variant("hdf5", default=False, description="HDF5 support")
- depends_on('cmake@2.8.11:', type='build')
- depends_on('openexr@2.2.0:')
- depends_on('hdf5@1.8.9:', when="+hdf5")
- depends_on('boost@1.55:')
- depends_on('zlib')
- depends_on('py-ilmbase', when="+python")
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("openexr@2.2.0:")
+ depends_on("hdf5@1.8.9:", when="+hdf5")
+ depends_on("boost@1.55:")
+ depends_on("zlib")
+ depends_on("py-ilmbase", when="+python")
def cmake_args(self):
- args = [
- self.define_from_variant('USE_HDF5', 'hdf5')
- ]
+ args = [self.define_from_variant("USE_HDF5", "hdf5")]
- if self.spec.satisfies('+python') and self.spec['python'].satisfies('@3:'):
- args.append('-DPython_ADDITIONAL_VERSIONS=3')
+ if self.spec.satisfies("+python") and self.spec["python"].satisfies("@3:"):
+ args.append("-DPython_ADDITIONAL_VERSIONS=3")
return args
diff --git a/var/spack/repos/builtin/packages/alglib/package.py b/var/spack/repos/builtin/packages/alglib/package.py
index d6b3bfd1a6..8f116c13ea 100644
--- a/var/spack/repos/builtin/packages/alglib/package.py
+++ b/var/spack/repos/builtin/packages/alglib/package.py
@@ -14,30 +14,29 @@ class Alglib(MakefilePackage):
library."""
homepage = "https://www.alglib.net/"
- url = "https://www.alglib.net/translator/re/alglib-3.11.0.cpp.gpl.tgz"
+ url = "https://www.alglib.net/translator/re/alglib-3.11.0.cpp.gpl.tgz"
- version('3.11.0', sha256='34e391594aac89fb354bdaf58c42849489cd1199197398ba98bb69961f42bdb0')
+ version("3.11.0", sha256="34e391594aac89fb354bdaf58c42849489cd1199197398ba98bb69961f42bdb0")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
# this package has no build system!
- make_file_src = join_path(os.path.dirname(self.module.__file__),
- 'Makefile')
- make_file = join_path(self.stage.source_path, 'src', 'Makefile')
+ make_file_src = join_path(os.path.dirname(self.module.__file__), "Makefile")
+ make_file = join_path(self.stage.source_path, "src", "Makefile")
copy(make_file_src, make_file)
- filter_file(r'so', dso_suffix, make_file)
+ filter_file(r"so", dso_suffix, make_file)
def install(self, spec, prefix):
- name = 'libalglib.{0}'.format(dso_suffix)
- with working_dir('src'):
+ name = "libalglib.{0}".format(dso_suffix)
+ with working_dir("src"):
mkdirp(prefix.lib)
install(name, prefix.lib)
mkdirp(prefix.include)
- install('*.h', prefix.include)
+ install("*.h", prefix.include)
- @run_after('install')
+ @run_after("install")
def fix_darwin_install(self):
# The shared libraries are not installed correctly on Darwin:
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
fix_darwin_install_name(self.spec.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/allpaths-lg/package.py b/var/spack/repos/builtin/packages/allpaths-lg/package.py
index fb79d71a75..712d18745b 100644
--- a/var/spack/repos/builtin/packages/allpaths-lg/package.py
+++ b/var/spack/repos/builtin/packages/allpaths-lg/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class AllpathsLg(AutotoolsPackage):
"""ALLPATHS-LG is our original short read assembler and it works on both
- small and large (mammalian size) genomes."""
+ small and large (mammalian size) genomes."""
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"
+ url = "ftp://ftp.broadinstitute.org/pub/crd/ALLPATHS/Release-LG/latest_source_code/allpathslg-52488.tar.gz"
- version('52488', sha256='035b49cb21b871a6b111976757d7aee9c2513dd51af04678f33375e620998542')
+ version("52488", sha256="035b49cb21b871a6b111976757d7aee9c2513dd51af04678f33375e620998542")
# compiles with gcc 4.7.0 to 4.9.4)
- conflicts('%gcc@:4.6.4,5.1.0:')
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%gcc@:4.6.4,5.1.0:")
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
diff --git a/var/spack/repos/builtin/packages/alluxio/package.py b/var/spack/repos/builtin/packages/alluxio/package.py
index ceeb0330dc..d84ec6d8c6 100644
--- a/var/spack/repos/builtin/packages/alluxio/package.py
+++ b/var/spack/repos/builtin/packages/alluxio/package.py
@@ -13,15 +13,15 @@ class Alluxio(Package):
storage systems through a common interface."""
homepage = "https://www.alluxio.io"
- url = "https://downloads.alluxio.io/downloads/files/2.2.1/alluxio-2.2.1-bin.tar.gz"
+ url = "https://downloads.alluxio.io/downloads/files/2.2.1/alluxio-2.2.1-bin.tar.gz"
list_url = "https://downloads.alluxio.io/downloads/files"
list_depth = 1
- version('2.7.2', sha256='e428acfe0704cc68801ae2aa7b7ba920a0e35af9dded66b280649fc1d280a3d4')
- version('2.2.1', sha256='0c6b0afcc4013437afb8113e1dfda9777561512269ea349c7fbf353dc0efd28a')
- version('2.2.0', sha256='635847ea1a0f8ad04c99518620de035d4962fbfa9e5920bb0911ccf8e5ea82fc')
+ version("2.7.2", sha256="e428acfe0704cc68801ae2aa7b7ba920a0e35af9dded66b280649fc1d280a3d4")
+ version("2.2.1", sha256="0c6b0afcc4013437afb8113e1dfda9777561512269ea349c7fbf353dc0efd28a")
+ version("2.2.0", sha256="635847ea1a0f8ad04c99518620de035d4962fbfa9e5920bb0911ccf8e5ea82fc")
- depends_on('java@8', type='run')
+ depends_on("java@8", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/alpaka/package.py b/var/spack/repos/builtin/packages/alpaka/package.py
index f038c6aa3b..5f15120bee 100644
--- a/var/spack/repos/builtin/packages/alpaka/package.py
+++ b/var/spack/repos/builtin/packages/alpaka/package.py
@@ -11,34 +11,63 @@ class Alpaka(CMakePackage, CudaPackage):
"""Abstraction Library for Parallel Kernel Acceleration."""
homepage = "https://alpaka.readthedocs.io"
- url = "https://github.com/alpaka-group/alpaka/archive/refs/tags/0.6.0.tar.gz"
- git = "https://github.com/alpaka-group/alpaka.git"
+ url = "https://github.com/alpaka-group/alpaka/archive/refs/tags/0.6.0.tar.gz"
+ git = "https://github.com/alpaka-group/alpaka.git"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('develop', branch='develop')
- version('0.8.0', sha256='e01bc377a7657d9a3e0c5f8d3f83dffbd7d0b830283c59efcbc1fb98cf88de43')
- version('0.7.0', sha256='4b61119a7b3b073f281ba15b63430db98b77dbd9420bc290a114f80121fbdd97')
- version('0.6.0', sha256='7424ecaee3af15e587b327e983998410fa379c61d987bfe923c7e95d65db11a3')
- version('0.5.0', sha256='0ba08ea19961dd986160219ba00d6162fe7758980d88a606eff6494d7b3a6cd1')
- version('0.4.0', sha256='ad7905b13c22abcee4344ba225a65078e3f452ad45a9eda907e7d27c08315e46')
+ version("develop", branch="develop")
+ version("0.8.0", sha256="e01bc377a7657d9a3e0c5f8d3f83dffbd7d0b830283c59efcbc1fb98cf88de43")
+ version("0.7.0", sha256="4b61119a7b3b073f281ba15b63430db98b77dbd9420bc290a114f80121fbdd97")
+ version("0.6.0", sha256="7424ecaee3af15e587b327e983998410fa379c61d987bfe923c7e95d65db11a3")
+ version("0.5.0", sha256="0ba08ea19961dd986160219ba00d6162fe7758980d88a606eff6494d7b3a6cd1")
+ version("0.4.0", sha256="ad7905b13c22abcee4344ba225a65078e3f452ad45a9eda907e7d27c08315e46")
- variant("backend", multi=True, values=('serial', 'threads', 'fiber', 'tbb', 'omp2_gridblock', 'omp2_blockthread', 'omp5', 'oacc', 'cuda', 'cuda_only', 'hip', 'hip_only'), description="Backends to enable", default='serial')
+ variant(
+ "backend",
+ multi=True,
+ values=(
+ "serial",
+ "threads",
+ "fiber",
+ "tbb",
+ "omp2_gridblock",
+ "omp2_blockthread",
+ "omp5",
+ "oacc",
+ "cuda",
+ "cuda_only",
+ "hip",
+ "hip_only",
+ ),
+ description="Backends to enable",
+ default="serial",
+ )
variant("examples", default=False, description="Build alpaka examples")
- depends_on('boost')
- depends_on('boost+fiber', when="backend=fiber")
- depends_on('cmake@3.18:', when='@0.7.0:')
+ depends_on("boost")
+ depends_on("boost+fiber", when="backend=fiber")
+ depends_on("cmake@3.18:", when="@0.7.0:")
# make sure no other backend is enabled if using cuda_only or hip_only
- for v in ('serial', 'threads', 'fiber', 'tbb', 'oacc',
- 'omp2_gridblock', 'omp2_blockthread', 'omp5', 'cuda', 'hip'):
- conflicts('backend=cuda_only,%s' % v)
- conflicts('backend=hip_only,%s' % v)
- conflicts('backend=cuda_only,hip_only')
- for v in ('omp2_blockthread', 'omp2_blockthread', 'omp5'):
- conflicts('backend=oacc,%s' % v)
+ for v in (
+ "serial",
+ "threads",
+ "fiber",
+ "tbb",
+ "oacc",
+ "omp2_gridblock",
+ "omp2_blockthread",
+ "omp5",
+ "cuda",
+ "hip",
+ ):
+ conflicts("backend=cuda_only,%s" % v)
+ conflicts("backend=hip_only,%s" % v)
+ conflicts("backend=cuda_only,hip_only")
+ for v in ("omp2_blockthread", "omp2_blockthread", "omp5"):
+ conflicts("backend=oacc,%s" % v)
# todo: add conflict between cuda 11.3 and gcc 10.3.0
# see https://github.com/alpaka-group/alpaka/issues/1297
@@ -46,35 +75,34 @@ class Alpaka(CMakePackage, CudaPackage):
def cmake_args(self):
spec = self.spec
args = []
- if 'backend=serial' in spec:
+ if "backend=serial" in spec:
args.append(self.define("ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE", True))
- if 'backend=threads' in self.spec:
+ if "backend=threads" in self.spec:
args.append(self.define("ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE", True))
- if 'backend=fiber' in spec:
+ if "backend=fiber" in spec:
args.append(self.define("ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE", True))
- if 'backend=tbb' in spec:
+ if "backend=tbb" in spec:
args.append(self.define("ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE", True))
- if 'backend=omp2_gridblock' in spec:
+ if "backend=omp2_gridblock" in spec:
args.append(self.define("ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE", True))
- if 'backend=omp2_blockthread' in spec:
+ if "backend=omp2_blockthread" in spec:
args.append(self.define("ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE", True))
- if 'backend=omp5' in spec:
+ if "backend=omp5" in spec:
args.append(self.define("ALPAKA_ACC_ANY_BT_OMP5_ENABLE", True))
- if 'backend=oacc' in spec:
+ if "backend=oacc" in spec:
args.append(self.define("ALPAKA_ACC_ANY_BT_OACC_ENABLE", True))
- if 'backend=cuda' in spec:
+ if "backend=cuda" in spec:
args.append(self.define("ALPAKA_ACC_GPU_CUDA_ENABLE", True))
- if 'backend=cuda_only' in spec:
+ if "backend=cuda_only" in spec:
args.append(self.define("ALPAKA_ACC_GPU_CUDA_ENABLE", True))
args.append(self.define("ALPAKA_ACC_GPU_CUDA_ONLY_MODE", True))
- if 'backend=hip' in spec:
+ if "backend=hip" in spec:
args.append(self.define("ALPAKA_ACC_GPU_HIP_ENABLE", True))
- if 'backend=hip_only' in spec:
+ if "backend=hip_only" in spec:
args.append(self.define("ALPAKA_ACC_GPU_HIP_ENABLE", True))
args.append(self.define("ALPAKA_ACC_GPU_HIP_ONLY_MODE", True))
- args.append(self.define_from_variant("alpaka_BUILD_EXAMPLES",
- "examples"))
+ args.append(self.define_from_variant("alpaka_BUILD_EXAMPLES", "examples"))
# need to define, as it is explicitly declared as an option by alpaka:
args.append(self.define("BUILD_TESTING", self.run_tests))
return args
diff --git a/var/spack/repos/builtin/packages/alpgen/package.py b/var/spack/repos/builtin/packages/alpgen/package.py
index d496b08040..717b513cc3 100644
--- a/var/spack/repos/builtin/packages/alpgen/package.py
+++ b/var/spack/repos/builtin/packages/alpgen/package.py
@@ -10,27 +10,30 @@ from spack.package import *
class Alpgen(MakefilePackage):
"""A collection of codes for the generation of
- multi-parton processes in hadronic collisions."""
+ multi-parton processes in hadronic collisions."""
homepage = "http://mlm.home.cern.ch/mlm/alpgen/"
- url = "http://mlm.home.cern.ch/mlm/alpgen/V2.1/v214.tgz"
+ url = "http://mlm.home.cern.ch/mlm/alpgen/V2.1/v214.tgz"
- maintainers = ['iarspider']
- tags = ['hep']
+ maintainers = ["iarspider"]
+ tags = ["hep"]
- patch('alpgen-214.patch', when='recipe=cms')
- patch('alpgen-214-Darwin-x86_84-gfortran.patch', when='platform=darwin recipe=cms')
- patch('alpgen-2.1.4-sft.patch', when='recipe=sft', level=0)
+ patch("alpgen-214.patch", when="recipe=cms")
+ patch("alpgen-214-Darwin-x86_84-gfortran.patch", when="platform=darwin recipe=cms")
+ patch("alpgen-2.1.4-sft.patch", when="recipe=sft", level=0)
- depends_on('cmake', type='build', when='recipe=sft')
+ depends_on("cmake", type="build", when="recipe=sft")
- variant('recipe', values=('cms', 'sft'), default='sft',
- description='Select build recipe: CMS for CMS experiment, ' +
- 'SFT for ATLAS/LHCb/others.')
+ variant(
+ "recipe",
+ values=("cms", "sft"),
+ default="sft",
+ description="Select build recipe: CMS for CMS experiment, " + "SFT for ATLAS/LHCb/others.",
+ )
- version('2.1.4', sha256='2f43f7f526793fe5f81a3a3e1adeffe21b653a7f5851efc599ed69ea13985c5e')
+ version("2.1.4", sha256="2f43f7f526793fe5f81a3a3e1adeffe21b653a7f5851efc599ed69ea13985c5e")
- phases = ['cmake', 'build', 'install']
+ phases = ["cmake", "build", "install"]
# copied from CMakePackage
@property
@@ -39,7 +42,7 @@ class Alpgen(MakefilePackage):
:return: name of the subdirectory for building the package
"""
- return 'spack-build-%s' % self.spec.dag_hash(7)
+ return "spack-build-%s" % self.spec.dag_hash(7)
@property
def build_directory(self):
@@ -82,63 +85,61 @@ class Alpgen(MakefilePackage):
"""
# standard CMake arguments
std_cmake_args = CMakePackage._std_args(self)
- std_cmake_args += getattr(self, 'cmake_flag_args', [])
+ std_cmake_args += getattr(self, "cmake_flag_args", [])
return std_cmake_args
# end
def url_for_version(self, version):
- root = self.url.rsplit('/', 2)[0]
+ root = self.url.rsplit("/", 2)[0]
return "{0}/V{1}/v{2}.tgz".format(root, version.up_to(2), version.joined)
def patch(self):
- if self.spec.satisfies('recipe=sft'):
- copy(join_path(os.path.dirname(__file__), 'CMakeLists.txt'),
- 'CMakeLists.txt')
+ if self.spec.satisfies("recipe=sft"):
+ copy(join_path(os.path.dirname(__file__), "CMakeLists.txt"), "CMakeLists.txt")
- if self.spec.satisfies('recipe=cms'):
- filter_file('-fno-automatic', '-fno-automatic -std=legacy', 'compile.mk')
- copy(join_path(os.path.dirname(__file__), 'cms_build.sh'), 'cms_build.sh')
- copy(join_path(os.path.dirname(__file__), 'cms_install.sh'),
- 'cms_install.sh')
+ if self.spec.satisfies("recipe=cms"):
+ filter_file("-fno-automatic", "-fno-automatic -std=legacy", "compile.mk")
+ copy(join_path(os.path.dirname(__file__), "cms_build.sh"), "cms_build.sh")
+ copy(join_path(os.path.dirname(__file__), "cms_install.sh"), "cms_install.sh")
- @when('recipe=cms')
+ @when("recipe=cms")
def cmake(self, spec, prefix):
return
- @when('recipe=cms')
+ @when("recipe=cms")
def build(self, spec, prefix):
- bash = which('bash')
- bash('./cms_build.sh')
+ bash = which("bash")
+ bash("./cms_build.sh")
- @when('recipe=cms')
+ @when("recipe=cms")
def install(self, spec, prefix):
- bash = which('bash')
- bash('./cms_install.sh', prefix)
+ bash = which("bash")
+ bash("./cms_install.sh", prefix)
for root, dirs, files in os.walk(prefix):
set_install_permissions(root)
for file in files:
set_install_permissions(join_path(root, file))
- @when('recipe=sft')
+ @when("recipe=sft")
def cmake(self, spec, prefix):
"""Runs ``cmake`` in the build directory"""
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_x = which('cmake')
+ cmake_x = which("cmake")
cmake_x(*options)
- @when('recipe=sft')
+ @when("recipe=sft")
def build(self, spec, prefix):
"""Make the build targets"""
with working_dir(self.build_directory):
make()
- @when('recipe=sft')
+ @when("recipe=sft")
def install(self, spec, prefix):
"""Make the install targets"""
with working_dir(self.build_directory):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/alps/package.py b/var/spack/repos/builtin/packages/alps/package.py
index 58cc24cead..651c204864 100644
--- a/var/spack/repos/builtin/packages/alps/package.py
+++ b/var/spack/repos/builtin/packages/alps/package.py
@@ -10,6 +10,7 @@ from spack.package import *
# https://github.com/easybuilders/easybuild-easyconfigs/tree/master/easybuild/easyconfigs/a/ALPS
# https://github.com/conda-forge/alps-feedstock/tree/master/recipe
+
class Alps(CMakePackage):
"""Algorithms for Physics Simulations
@@ -17,48 +18,48 @@ class Alps(CMakePackage):
"""
homepage = "https://alps.comp-phys.org"
- url = "https://alps.comp-phys.org/static/software/releases/alps-2.3.0-src.tar.gz"
+ url = "https://alps.comp-phys.org/static/software/releases/alps-2.3.0-src.tar.gz"
- version('2.3.0', sha256='e64208d1e5acdd6f569277413c4867e1fa366cf4a224570eacbf1e9939fca2d2')
+ version("2.3.0", sha256="e64208d1e5acdd6f569277413c4867e1fa366cf4a224570eacbf1e9939fca2d2")
# Package failed to build with boost version >= 1.64
depends_on(
- 'boost@:1.63.0'
- '+chrono +date_time +filesystem +iostreams +mpi +numpy +program_options'
- '+python +regex +serialization +system +test +thread +timer'
+ "boost@:1.63.0"
+ "+chrono +date_time +filesystem +iostreams +mpi +numpy +program_options"
+ "+python +regex +serialization +system +test +thread +timer"
)
- depends_on('fftw')
- depends_on('hdf5 ~mpi+hl')
- depends_on('lapack')
+ depends_on("fftw")
+ depends_on("hdf5 ~mpi+hl")
+ depends_on("lapack")
# build fails for latest python@3.7
- depends_on('python@:3.6', type=('build', 'link', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("python@:3.6", type=("build", "link", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
# use depends_on to help with dependency resolution
- depends_on('py-numpy@:1.19', when='^python@:3.6')
- depends_on('py-scipy@:1.5', when='^python@:3.6')
+ depends_on("py-numpy@:1.19", when="^python@:3.6")
+ depends_on("py-scipy@:1.5", when="^python@:3.6")
# fix for gcc@7:
- patch('alps_newgcc.patch', when='%gcc@7:')
+ patch("alps_newgcc.patch", when="%gcc@7:")
# remove a problematic build variable
- patch('mpi.patch')
+ patch("mpi.patch")
# include climits to use INT_MAX
- patch('alps_climit.patch')
+ patch("alps_climit.patch")
# ctest tries to test '/usr/bin/time'
- patch('alps_cmake_time.patch')
+ patch("alps_cmake_time.patch")
- extends('python')
+ extends("python")
- root_cmakelists_dir = 'alps'
+ root_cmakelists_dir = "alps"
def cmake_args(self):
args = []
- args.append('Boost_ROOT_DIR=' + self.spec['boost'].prefix)
+ args.append("Boost_ROOT_DIR=" + self.spec["boost"].prefix)
args.append("-DCMAKE_CXX_FLAGS={0}".format(self.compiler.cxx98_flag))
return args
@@ -66,25 +67,19 @@ class Alps(CMakePackage):
troot = self.prefix.tutorials
copy_tree(join_path(troot, target), target)
- if target == 'dmrg-01-dmrg':
+ if target == "dmrg-01-dmrg":
test_dir = self.test_suite.current_test_data_dir
copy(join_path(test_dir, dataname), target)
- self.run_test('parameter2xml',
- options=[dataname, 'SEED=123456'],
- work_dir=target
- )
+ self.run_test("parameter2xml", options=[dataname, "SEED=123456"], work_dir=target)
options = []
options.extend(opts)
- options.extend(['--write-xml', '{0}.in.xml'.format(dataname)])
- self.run_test(exename,
- options=options,
- expected=['Finished with everything.'],
- work_dir=target
- )
+ options.extend(["--write-xml", "{0}.in.xml".format(dataname)])
+ self.run_test(
+ exename, options=options, expected=["Finished with everything."], work_dir=target
+ )
def test(self):
- self._single_test('mc-02-susceptibilities', 'spinmc', 'parm2a',
- ['--Tmin', '10'])
- self._single_test('ed-01-sparsediag', 'sparsediag', 'parm1a')
- self._single_test('dmrg-01-dmrg', 'dmrg', 'spin_one_half')
+ self._single_test("mc-02-susceptibilities", "spinmc", "parm2a", ["--Tmin", "10"])
+ self._single_test("ed-01-sparsediag", "sparsediag", "parm1a")
+ self._single_test("dmrg-01-dmrg", "dmrg", "spin_one_half")
diff --git a/var/spack/repos/builtin/packages/alquimia/package.py b/var/spack/repos/builtin/packages/alquimia/package.py
index 15194c0f10..bd99e2d817 100644
--- a/var/spack/repos/builtin/packages/alquimia/package.py
+++ b/var/spack/repos/builtin/packages/alquimia/package.py
@@ -11,50 +11,49 @@ class Alquimia(CMakePackage):
of mature geochemistry codes such as CrunchFlow and PFLOTRAN"""
homepage = "https://github.com/LBL-EESA/alquimia-dev"
- git = "https://github.com/LBL-EESA/alquimia-dev.git"
-
- maintainers = ['smolins', 'balay']
-
- version('develop')
- version('1.0.9', commit='2ee3bcfacc63f685864bcac2b6868b48ad235225') # tag v.1.0.9
- version('xsdk-0.6.0', commit='9a0aedd3a927d4d5e837f8fd18b74ad5a78c3821')
- version('xsdk-0.5.0', commit='8397c3b00a09534c5473ff3ab21f0e32bb159380')
- version('xsdk-0.4.0', commit='2edad6733106142d014bb6e6a73c2b21d5e3cf2d')
- version('xsdk-0.3.0', tag='xsdk-0.3.0')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
-
- depends_on('mpi')
- depends_on('hdf5')
- depends_on('pflotran@3.0.2', when='@1.0.9')
- depends_on('pflotran@xsdk-0.6.0', when='@xsdk-0.6.0')
- depends_on('pflotran@xsdk-0.5.0', when='@xsdk-0.5.0')
- depends_on('pflotran@xsdk-0.4.0', when='@xsdk-0.4.0')
- depends_on('pflotran@xsdk-0.3.0', when='@xsdk-0.3.0')
- depends_on('pflotran@develop', when='@develop')
- depends_on('petsc@3.10.0:3.10', when='@xsdk-0.4.0')
- depends_on('petsc@3.8.0:3.8', when='@xsdk-0.3.0')
- depends_on('petsc@3.10:', when='@develop')
+ git = "https://github.com/LBL-EESA/alquimia-dev.git"
+
+ maintainers = ["smolins", "balay"]
+
+ version("develop")
+ version("1.0.9", commit="2ee3bcfacc63f685864bcac2b6868b48ad235225") # tag v.1.0.9
+ version("xsdk-0.6.0", commit="9a0aedd3a927d4d5e837f8fd18b74ad5a78c3821")
+ version("xsdk-0.5.0", commit="8397c3b00a09534c5473ff3ab21f0e32bb159380")
+ version("xsdk-0.4.0", commit="2edad6733106142d014bb6e6a73c2b21d5e3cf2d")
+ version("xsdk-0.3.0", tag="xsdk-0.3.0")
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+
+ depends_on("mpi")
+ depends_on("hdf5")
+ depends_on("pflotran@3.0.2", when="@1.0.9")
+ depends_on("pflotran@xsdk-0.6.0", when="@xsdk-0.6.0")
+ depends_on("pflotran@xsdk-0.5.0", when="@xsdk-0.5.0")
+ depends_on("pflotran@xsdk-0.4.0", when="@xsdk-0.4.0")
+ depends_on("pflotran@xsdk-0.3.0", when="@xsdk-0.3.0")
+ depends_on("pflotran@develop", when="@develop")
+ depends_on("petsc@3.10.0:3.10", when="@xsdk-0.4.0")
+ depends_on("petsc@3.8.0:3.8", when="@xsdk-0.3.0")
+ depends_on("petsc@3.10:", when="@develop")
def cmake_args(self):
spec = self.spec
- options = ['-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DUSE_XSDK_DEFAULTS=YES',
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DTPL_ENABLE_MPI:BOOL=ON',
- '-DMPI_BASE_DIR:PATH=%s' % spec['mpi'].prefix,
- '-DTPL_ENABLE_HDF5:BOOL=ON',
- '-DXSDK_WITH_PFLOTRAN:BOOL=ON',
- # This is not good.
- # It assumes that the .a file exists and is not a .so
- '-DTPL_PFLOTRAN_LIBRARIES=%s' % (
- spec['pflotran'].prefix.lib + "/libpflotranchem.a"),
- '-DTPL_PFLOTRAN_INCLUDE_DIRS=%s' % (
- spec['pflotran'].prefix.include),
- '-DTPL_ENABLE_PETSC:BOOL=ON',
- '-DPETSC_EXECUTABLE_RUNS=ON',
- '-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix]
+ options = [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DUSE_XSDK_DEFAULTS=YES",
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DTPL_ENABLE_MPI:BOOL=ON",
+ "-DMPI_BASE_DIR:PATH=%s" % spec["mpi"].prefix,
+ "-DTPL_ENABLE_HDF5:BOOL=ON",
+ "-DXSDK_WITH_PFLOTRAN:BOOL=ON",
+ # This is not good.
+ # It assumes that the .a file exists and is not a .so
+ "-DTPL_PFLOTRAN_LIBRARIES=%s" % (spec["pflotran"].prefix.lib + "/libpflotranchem.a"),
+ "-DTPL_PFLOTRAN_INCLUDE_DIRS=%s" % (spec["pflotran"].prefix.include),
+ "-DTPL_ENABLE_PETSC:BOOL=ON",
+ "-DPETSC_EXECUTABLE_RUNS=ON",
+ "-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib" % self.prefix,
+ ]
return options
diff --git a/var/spack/repos/builtin/packages/alsa-lib/package.py b/var/spack/repos/builtin/packages/alsa-lib/package.py
index 390bc9befe..369a88aa05 100644
--- a/var/spack/repos/builtin/packages/alsa-lib/package.py
+++ b/var/spack/repos/builtin/packages/alsa-lib/package.py
@@ -12,32 +12,26 @@ class AlsaLib(AutotoolsPackage):
space library that developers compile ALSA applications against."""
homepage = "https://www.alsa-project.org"
- url = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.2.3.2.tar.bz2"
+ url = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.2.3.2.tar.bz2"
- version('1.2.3.2', sha256='e81fc5b7afcaee8c9fd7f64a1e3043e88d62e9ad2c4cff55f578df6b0a9abe15')
- version('1.2.2', sha256='d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec')
- version('1.1.4.1', sha256='91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76')
+ version("1.2.3.2", sha256="e81fc5b7afcaee8c9fd7f64a1e3043e88d62e9ad2c4cff55f578df6b0a9abe15")
+ version("1.2.2", sha256="d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec")
+ version("1.1.4.1", sha256="91bb870c14d1c7c269213285eeed874fa3d28112077db061a3af8010d0885b76")
- variant('python', default=False, description='enable python')
+ variant("python", default=False, description="enable python")
- patch('python.patch', when='@1.1.4:1.1.5 +python')
+ patch("python.patch", when="@1.1.4:1.1.5 +python")
- depends_on('python', type=('link', 'run'), when='+python')
+ depends_on("python", type=("link", "run"), when="+python")
- conflicts('platform=darwin', msg='ALSA only works for Linux')
+ conflicts("platform=darwin", msg="ALSA only works for Linux")
def configure_args(self):
spec = self.spec
args = []
- if spec.satisfies('+python'):
- args.append(
- '--with-pythonlibs={0}'.format(spec['python'].libs.ld_flags)
- )
- args.append(
- '--with-pythonincludes={0}'.format(
- spec['python'].headers.include_flags
- )
- )
+ if spec.satisfies("+python"):
+ args.append("--with-pythonlibs={0}".format(spec["python"].libs.ld_flags))
+ args.append("--with-pythonincludes={0}".format(spec["python"].headers.include_flags))
else:
- args.append('--disable-python')
+ args.append("--disable-python")
return args
diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py
index 8be4c789f1..fbe4d3d37f 100644
--- a/var/spack/repos/builtin/packages/aluminum/package.py
+++ b/var/spack/repos/builtin/packages/aluminum/package.py
@@ -17,119 +17,130 @@ class Aluminum(CMakePackage, CudaPackage, ROCmPackage):
situations."""
homepage = "https://github.com/LLNL/Aluminum"
- url = "https://github.com/LLNL/Aluminum/archive/v0.1.tar.gz"
- git = "https://github.com/LLNL/Aluminum.git"
- tags = ['ecp', 'radiuss']
-
- maintainers = ['bvanessen']
-
- version('master', branch='master')
- version('1.0.0-lbann', tag='v1.0.0-lbann')
- version('1.0.0', sha256='028d12e271817214db5c07c77b0528f88862139c3e442e1b12f58717290f414a')
- version('0.7.0', sha256='bbb73d2847c56efbe6f99e46b41d837763938483f2e2d1982ccf8350d1148caa')
- version('0.6.0', sha256='6ca329951f4c7ea52670e46e5020e7e7879d9b56fed5ff8c5df6e624b313e925')
- version('0.5.0', sha256='dc365a5849eaba925355a8efb27005c5f22bcd1dca94aaed8d0d29c265c064c1')
- version('0.4.0', sha256='4d6fab5481cc7c994b32fb23a37e9ee44041a9f91acf78f981a97cb8ef57bb7d')
- version('0.3.3', sha256='26e7f263f53c6c6ee0fe216e981a558dfdd7ec997d0dd2a24285a609a6c68f3b')
- version('0.3.2', sha256='09b6d1bcc02ac54ba269b1123eee7be20f0104b93596956c014b794ba96b037f')
- version('0.2.1-1', sha256='066b750e9d1134871709a3e2414b96b166e0e24773efc7d512df2f1d96ee8eef')
- version('0.2.1', sha256='3d5d15853cccc718f60df68205e56a2831de65be4d96e7f7e8497097e7905f89')
- version('0.2', sha256='fc8f06c6d8faab17a2aedd408d3fe924043bf857da1094d5553f35c4d2af893b')
- version('0.1', sha256='3880b736866e439dd94e6a61eeeb5bb2abccebbac82b82d52033bc6c94950bdb')
-
- variant('nccl', default=False, description='Builds with support for NCCL communication lib')
- variant('ht', default=False, description='Builds with support for host-enabled MPI'
- ' communication of accelerator data')
- variant('cuda_rma', default=False, description='Builds with support for CUDA intra-node '
- ' Put/Get and IPC RMA functionality')
- variant('rccl', default=False, description='Builds with support for NCCL communication lib')
-
- depends_on('cmake@3.21.0:', type='build', when='@1.0.1:')
- depends_on('cmake@3.17.0:', type='build', when='@:1.0.0')
- depends_on('mpi')
- depends_on('nccl@2.7.0-0:', when='+nccl')
- depends_on('hwloc@1.11:')
- depends_on('hwloc +cuda +nvml', when='+cuda')
- depends_on('hwloc@2.3.0:', when='+rocm')
- depends_on('cub', when='@:0.1,0.6.0: +cuda ^cuda@:10')
- depends_on('hipcub', when='@:0.1,0.6.0: +rocm')
-
- conflicts('~cuda', when='+cuda_rma', msg='CUDA RMA support requires CUDA')
- conflicts('+cuda', when='+rocm', msg='CUDA and ROCm support are mutually exclusive')
-
- generator = 'Ninja'
- depends_on('ninja', type='build')
+ url = "https://github.com/LLNL/Aluminum/archive/v0.1.tar.gz"
+ git = "https://github.com/LLNL/Aluminum.git"
+ tags = ["ecp", "radiuss"]
+
+ maintainers = ["bvanessen"]
+
+ version("master", branch="master")
+ version("1.0.0-lbann", tag="v1.0.0-lbann")
+ version("1.0.0", sha256="028d12e271817214db5c07c77b0528f88862139c3e442e1b12f58717290f414a")
+ version("0.7.0", sha256="bbb73d2847c56efbe6f99e46b41d837763938483f2e2d1982ccf8350d1148caa")
+ version("0.6.0", sha256="6ca329951f4c7ea52670e46e5020e7e7879d9b56fed5ff8c5df6e624b313e925")
+ version("0.5.0", sha256="dc365a5849eaba925355a8efb27005c5f22bcd1dca94aaed8d0d29c265c064c1")
+ version("0.4.0", sha256="4d6fab5481cc7c994b32fb23a37e9ee44041a9f91acf78f981a97cb8ef57bb7d")
+ version("0.3.3", sha256="26e7f263f53c6c6ee0fe216e981a558dfdd7ec997d0dd2a24285a609a6c68f3b")
+ version("0.3.2", sha256="09b6d1bcc02ac54ba269b1123eee7be20f0104b93596956c014b794ba96b037f")
+ version("0.2.1-1", sha256="066b750e9d1134871709a3e2414b96b166e0e24773efc7d512df2f1d96ee8eef")
+ version("0.2.1", sha256="3d5d15853cccc718f60df68205e56a2831de65be4d96e7f7e8497097e7905f89")
+ version("0.2", sha256="fc8f06c6d8faab17a2aedd408d3fe924043bf857da1094d5553f35c4d2af893b")
+ version("0.1", sha256="3880b736866e439dd94e6a61eeeb5bb2abccebbac82b82d52033bc6c94950bdb")
+
+ variant("nccl", default=False, description="Builds with support for NCCL communication lib")
+ variant(
+ "ht",
+ default=False,
+ description="Builds with support for host-enabled MPI"
+ " communication of accelerator data",
+ )
+ variant(
+ "cuda_rma",
+ default=False,
+ description="Builds with support for CUDA intra-node "
+ " Put/Get and IPC RMA functionality",
+ )
+ variant("rccl", default=False, description="Builds with support for NCCL communication lib")
+
+ depends_on("cmake@3.21.0:", type="build", when="@1.0.1:")
+ depends_on("cmake@3.17.0:", type="build", when="@:1.0.0")
+ depends_on("mpi")
+ depends_on("nccl@2.7.0-0:", when="+nccl")
+ depends_on("hwloc@1.11:")
+ depends_on("hwloc +cuda +nvml", when="+cuda")
+ depends_on("hwloc@2.3.0:", when="+rocm")
+ depends_on("cub", when="@:0.1,0.6.0: +cuda ^cuda@:10")
+ depends_on("hipcub", when="@:0.1,0.6.0: +rocm")
+
+ conflicts("~cuda", when="+cuda_rma", msg="CUDA RMA support requires CUDA")
+ conflicts("+cuda", when="+rocm", msg="CUDA and ROCm support are mutually exclusive")
+
+ generator = "Ninja"
+ depends_on("ninja", type="build")
def cmake_args(self):
spec = self.spec
args = [
- '-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)]
+ "-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 not spec.satisfies('^cmake@3.23.0'):
+ if not spec.satisfies("^cmake@3.23.0"):
# There is a bug with using Ninja generator in this version
# of CMake
- args.append('-DCMAKE_EXPORT_COMPILE_COMMANDS=ON')
-
- if '+cuda' in spec:
- if self.spec.satisfies('%clang'):
- for flag in self.spec.compiler_flags['cxxflags']:
- if 'gcc-toolchain' in flag:
- args.append('-DCMAKE_CUDA_FLAGS=-Xcompiler={0}'.format(flag))
- if spec.satisfies('^cuda@11.0:'):
- args.append('-DCMAKE_CUDA_STANDARD=17')
+ args.append("-DCMAKE_EXPORT_COMPILE_COMMANDS=ON")
+
+ if "+cuda" in spec:
+ if self.spec.satisfies("%clang"):
+ for flag in self.spec.compiler_flags["cxxflags"]:
+ if "gcc-toolchain" in flag:
+ args.append("-DCMAKE_CUDA_FLAGS=-Xcompiler={0}".format(flag))
+ 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':
+ args.append("-DCMAKE_CUDA_STANDARD=14")
+ archs = spec.variants["cuda_arch"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append('-DCMAKE_CUDA_ARCHITECTURES=%s' % arch_str)
-
- if (spec.satisfies('%cce') and
- spec.satisfies('^cuda+allow-unsupported-compilers')):
- args.append('-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler')
-
- if spec.satisfies('@0.5:'):
- args.extend([
- '-DALUMINUM_ENABLE_HOST_TRANSFER:BOOL=%s' % ('+ht' in spec),
- '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' %
- ('+cuda_rma' in spec),
- '-DALUMINUM_ENABLE_MPI_CUDA_RMA:BOOL=%s' %
- ('+cuda_rma' in spec)])
+ args.append("-DCMAKE_CUDA_ARCHITECTURES=%s" % arch_str)
+
+ if spec.satisfies("%cce") and spec.satisfies("^cuda+allow-unsupported-compilers"):
+ args.append("-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler")
+
+ if spec.satisfies("@0.5:"):
+ args.extend(
+ [
+ "-DALUMINUM_ENABLE_HOST_TRANSFER:BOOL=%s" % ("+ht" in spec),
+ "-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s" % ("+cuda_rma" in spec),
+ "-DALUMINUM_ENABLE_MPI_CUDA_RMA:BOOL=%s" % ("+cuda_rma" in spec),
+ ]
+ )
else:
- args.append(
- '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+ht' in spec))
+ args.append("-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s" % ("+ht" in spec))
- if spec.satisfies('@:0.1,0.6.0: +cuda ^cuda@:10'):
- args.append(
- '-DCUB_DIR:FILEPATH=%s' % spec['cub'].prefix)
+ if spec.satisfies("@:0.1,0.6.0: +cuda ^cuda@:10"):
+ args.append("-DCUB_DIR:FILEPATH=%s" % spec["cub"].prefix)
# Add support for OS X to find OpenMP (LLVM installed via brew)
- if self.spec.satisfies('%clang platform=darwin'):
+ if self.spec.satisfies("%clang platform=darwin"):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
- args.extend([
- '-DOpenMP_DIR={0}'.format(clang_root)])
-
- if '+rocm' in spec:
- args.extend([
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix),
- '-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':
+ args.extend(["-DOpenMP_DIR={0}".format(clang_root)])
+
+ if "+rocm" in spec:
+ args.extend(
+ [
+ "-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix),
+ "-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 -std=c++17'.format(arch_str)
+ "-DHIP_HIPCC_FLAGS=--amdgpu-target={0}"
+ " -g -fsized-deallocation -fPIC -std=c++17".format(arch_str)
+ )
+ args.extend(
+ [
+ "-DCMAKE_HIP_ARCHITECTURES=%s" % arch_str,
+ "-DAMDGPU_TARGETS=%s" % arch_str,
+ "-DGPU_TARGETS=%s" % arch_str,
+ ]
)
- args.extend([
- '-DCMAKE_HIP_ARCHITECTURES=%s' % arch_str,
- '-DAMDGPU_TARGETS=%s' % arch_str,
- '-DGPU_TARGETS=%s' % arch_str,
- ])
return args
diff --git a/var/spack/repos/builtin/packages/ambari/package.py b/var/spack/repos/builtin/packages/ambari/package.py
index 31323de2af..68fcdac590 100644
--- a/var/spack/repos/builtin/packages/ambari/package.py
+++ b/var/spack/repos/builtin/packages/ambari/package.py
@@ -12,14 +12,14 @@ class Ambari(PythonPackage):
a browser-based management interface."""
homepage = "https://cwiki.apache.org/confluence/display/AMBARI/Ambari"
- url = "https://github.com/apache/ambari/archive/release-2.7.5.tar.gz"
+ url = "https://github.com/apache/ambari/archive/release-2.7.5.tar.gz"
- version('2.7.5', sha256='f8c8687b7a61b633b92f83b1c104fd75b1e13836cd8a0e0df6db7b483b23a354')
- version('2.7.4', sha256='d6796c7ea913d39c93dad52b4cb74ef411a7dce4ebf68f11b12718117f2c01a4')
- version('2.7.3', sha256='30fe72e60fa6b62fe032bd193ebd0cef20b65c54b57cad92f6f44daabd3771cf')
- version('2.7.1', sha256='ea4eb28f377ce9d0b9b7648f2020dda4be974c6d9a22ebaafbf1bc97890e4e42')
+ version("2.7.5", sha256="f8c8687b7a61b633b92f83b1c104fd75b1e13836cd8a0e0df6db7b483b23a354")
+ version("2.7.4", sha256="d6796c7ea913d39c93dad52b4cb74ef411a7dce4ebf68f11b12718117f2c01a4")
+ version("2.7.3", sha256="30fe72e60fa6b62fe032bd193ebd0cef20b65c54b57cad92f6f44daabd3771cf")
+ version("2.7.1", sha256="ea4eb28f377ce9d0b9b7648f2020dda4be974c6d9a22ebaafbf1bc97890e4e42")
- depends_on('python@:2.7', type=('build', 'run'))
- depends_on('py-setuptools@:44', type='build')
- depends_on('py-mock', type='test')
- depends_on('py-coilmq', type=('build', 'run'))
+ depends_on("python@:2.7", type=("build", "run"))
+ depends_on("py-setuptools@:44", type="build")
+ depends_on("py-mock", type="test")
+ depends_on("py-coilmq", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/amber/package.py b/var/spack/repos/builtin/packages/amber/package.py
index 43912c9bdf..403219facc 100644
--- a/var/spack/repos/builtin/packages/amber/package.py
+++ b/var/spack/repos/builtin/packages/amber/package.py
@@ -11,151 +11,144 @@ from spack.package import *
class Amber(Package, CudaPackage):
"""Amber is a suite of biomolecular simulation programs together
- with Amber tools.
+ with Amber tools.
- A manual download is required for Ambers. Spack will search your current
- directory for the download files. Alternatively, add the files to a mirror
- so that Spack can find them. For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html
+ A manual download is required for Ambers. Spack will search your current
+ directory for the download files. Alternatively, add the files to a mirror
+ so that Spack can find them. For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html
- Note: Only certain versions of ambertools are compatible with amber.
- Only the latter version of ambertools for each amber version is supported.
- """
+ Note: Only certain versions of ambertools are compatible with amber.
+ Only the latter version of ambertools for each amber version is supported.
+ """
homepage = "https://ambermd.org/"
url = "file://{0}/Amber18.tar.bz2".format(os.getcwd())
manual_download = True
- maintainers = ['hseara']
+ maintainers = ["hseara"]
+ version("20", sha256="a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75")
+ version("18", sha256="2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277")
version(
- '20', sha256='a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75')
- version(
- '18', sha256='2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277')
- version(
- '16', sha256='3b7ef281fd3c46282a51b6a6deed9ed174a1f6d468002649d84bfc8a2577ae5d',
- deprecated=True)
+ "16",
+ sha256="3b7ef281fd3c46282a51b6a6deed9ed174a1f6d468002649d84bfc8a2577ae5d",
+ deprecated=True,
+ )
resources = {
# [version amber, version ambertools , sha256sum]
- '20': ('21', 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd'),
+ "20": ("21", "f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd"),
# '20': ('20', 'b1e1f8f277c54e88abc9f590e788bbb2f7a49bcff5e8d8a6eacfaf332a4890f9'),
- '18': ('19', '0c86937904854b64e4831e047851f504ec45b42e593db4ded92c1bee5973e699'),
- '16': ('16', '7b876afe566e9dd7eb6a5aa952a955649044360f15c1f5d4d91ba7f41f3105fa'),
+ "18": ("19", "0c86937904854b64e4831e047851f504ec45b42e593db4ded92c1bee5973e699"),
+ "16": ("16", "7b876afe566e9dd7eb6a5aa952a955649044360f15c1f5d4d91ba7f41f3105fa"),
}
for ver, (ambertools_ver, ambertools_checksum) in resources.items():
- resource(when='@{0}'.format(ver),
- name='AmberTools',
- url='file://{0}/AmberTools{1}.tar.bz2'.format(
- os.getcwd(), ambertools_ver),
- sha256=ambertools_checksum,
- destination='',
- placement='ambertools_tmpdir',
- )
+ resource(
+ when="@{0}".format(ver),
+ name="AmberTools",
+ url="file://{0}/AmberTools{1}.tar.bz2".format(os.getcwd(), ambertools_ver),
+ sha256=ambertools_checksum,
+ destination="",
+ placement="ambertools_tmpdir",
+ )
patches = [
- ('20', '1', '10780cb91a022b49ffdd7b1e2bf4a572fa4edb7745f0fc4e5d93b158d6168e42'),
- ('20', '2', '9c973e3f8f33a271d60787e8862901e8f69e94e7d80cda1695f7fad7bc396093'),
- ('20', '3', 'acb359dc9b1bcff7e0f1965baa9f3f3dc18eeae99c49f1103c1e2986c0bbeed8'),
- ('20', '4', 'fd93c74f5ec80689023648cdd12b2c5fb21a3898c81ebc3fa256ef244932562a'),
- ('20', '5', '8e46d5be28c002f560050a71f4851b01ef45a3eb66ac90d7e23553fae1370e68'),
- ('20', '6', '8cf9707b3d08ad9242326f02d1861831ad782c9bfb0c46e7b1f0d4640571d5c1'),
- ('20', '7', '143b6a09f774aeae8b002afffb00839212020139a11873a3a1a34d4a63fa995d'),
- ('20', '8', 'a6fc6d5c8ba0aad3a8afe44d1539cc299ef78ab53721e28244198fd5425d14ad'),
- ('20', '9', '5ce6b534bab869b1e9bfefa353d7f578750e54fa72c8c9d74ddf129d993e78cf'),
- ('20', '10', '76a683435be7cbb860f5bd26f09a0548c2e77c5a481fc6d64b55a3a443ce481d'),
- ('20', '11', 'f40b3612bd3e59efa2fa1ec06ed6fd92446ee0f1d5d99d0f7796f66b18e64060'),
- ('20', '12', '194119aed03f80677c4bab78a20fc09b0b3dc17c41a57c5eb3c912b2d73b18ab'),
- ('18', '1', '3cefac9a24ece99176d5d2d58fea2722de3e235be5138a128428b9260fe922ad'),
- ('18', '2', '3a0707a9a59dcbffa765dcf87b68001450095c51b96ec39d21260ba548a2f66a'),
- ('18', '3', '24c2e06f71ae553a408caa3f722254db2cbf1ca4db274542302184e3d6ca7015'),
- ('18', '4', '51de613e8fda20cc92979265cf7179288df8c1af4202f02794ad7327fda2657b'),
- ('18', '5', 'c70354bfa312603e4819efce11a242ddcc3830895453d9424f0c83f7ae98bc5b'),
- ('18', '6', '3450433a8697b27e43172043be68d31515a7c7c00b2b248f84043dd70a2f59a8'),
- ('18', '7', '10ba41422b7a3eb5b32bc6453231100544cf620c764ab8332c629a3b9fc749d4'),
- ('18', '8', '73968dc0fd99bcbd5eae2223bd54f414879c062ac933948ba6b8b67383dc6a53'),
- ('18', '9', 'e7d72fa31560f1e8ea572b8c73259d9fe512f56fbeb1b58ae014c43b9b5b6290'),
- ('18', '10', '1bee419a3b0b686a729aa12515b0f96a9a8f43478ca2c01ea1661cc1698c6266'),
- ('18', '11', '926557f0c137ea8dbf99a0487b25e131b12dfd39977d3e515f01f49187e6a09c'),
- ('18', '12', '7e2645d539d257f7064808308048622818c9083dedfa4ac0a958cd15181231ac'),
- ('18', '13', '95d2e33d0d05b8f9b6d8091d1c804271ec3a69e9aef792cc3b1ab8a2165eca3e'),
- ('18', '14', 'a1adfb072f60ffcb67adb589df7c5578629441bee4ccb89ab635a6e8d7a35277'),
- ('18', '15', '4deb3df329c05729561dcc7310e49059eaddc504c4210ad31fad11dc70f61742'),
- ('18', '16', 'cf02f9b949127363bad1aa700ab662a3c7cf9ce0e2e4750e066d2204b9500a99'),
- ('18', '17', '480300f949e0dd6402051810a9714adb388cf96e454a55346c76954cdd69413d'),
- ('16', '1.txt', 'c7ef2303bb35131a48e2256c5a3c7b391efa73e2acf757d7e39760efb6320ed4'),
- ('16', '2', 'a4db183f7c337a67f5d6b5015e3ae0af0d0edaa56894f0e9e3469c99708fed1c'),
- ('16', '3', '5b279531c42445c6f58281dd94588460218d2258ec9013c8447f3e2b7b81bf02'),
- ('16', '4', '035bddd63bc9d5fd6de26beab31887e5c14c3caa4958d2424d72f3c49832bd42'),
- ('16', '5', '02d8a1fcb6baa466de4e3683afa48076394acd805f490fbbe50ab19040675136'),
- ('16', '6', '69a3e64d75255d9179c98a2b3a63fe76d5be08c9fc41f27ac197663c97915113'),
- ('16', '7', '0d674c907758e90a168345e6b35b7a0de79c2ead390ab372465a354fcab67d17'),
- ('16', '8', 'd722c0db46af905a5bd13b60e3130c4ddfb0c9da86df0a33253e5f8d53068946'),
- ('16', '9', 'b563e744fbc50c1240d23df369750879df2cec69fba933704b97a73a66d9c4f1'),
- ('16', '10', '99affc65740080b7a1ab87c5c9119bf5be7cf47b2b2d8fc13407d35bd2ba6238'),
- ('16', '11', '86b89dbcae80ef48720fd3c7da88cffbdabfd4021af5a827339b56a33ddae27a'),
- ('16', '12', 'c8d61d1efbd44086f88d74ad9e07dfdc3737dc7053c7d2503131ba0918973a03'),
- ('16', '13', '5ce28e6e0118a4780ad72fc096e617c874cde7d140e15f87451babb25aaf2d8f'),
- ('16', '14', '93703e734e76da30a5e050189a66d5a4d6bec5885752503c4c798e2f44049080'),
- ('16', '15', 'a156ec246cd06688043cefde24de0d715fd46b08f5c0235015c2c5c3c6e37488'),
+ ("20", "1", "10780cb91a022b49ffdd7b1e2bf4a572fa4edb7745f0fc4e5d93b158d6168e42"),
+ ("20", "2", "9c973e3f8f33a271d60787e8862901e8f69e94e7d80cda1695f7fad7bc396093"),
+ ("20", "3", "acb359dc9b1bcff7e0f1965baa9f3f3dc18eeae99c49f1103c1e2986c0bbeed8"),
+ ("20", "4", "fd93c74f5ec80689023648cdd12b2c5fb21a3898c81ebc3fa256ef244932562a"),
+ ("20", "5", "8e46d5be28c002f560050a71f4851b01ef45a3eb66ac90d7e23553fae1370e68"),
+ ("20", "6", "8cf9707b3d08ad9242326f02d1861831ad782c9bfb0c46e7b1f0d4640571d5c1"),
+ ("20", "7", "143b6a09f774aeae8b002afffb00839212020139a11873a3a1a34d4a63fa995d"),
+ ("20", "8", "a6fc6d5c8ba0aad3a8afe44d1539cc299ef78ab53721e28244198fd5425d14ad"),
+ ("20", "9", "5ce6b534bab869b1e9bfefa353d7f578750e54fa72c8c9d74ddf129d993e78cf"),
+ ("20", "10", "76a683435be7cbb860f5bd26f09a0548c2e77c5a481fc6d64b55a3a443ce481d"),
+ ("20", "11", "f40b3612bd3e59efa2fa1ec06ed6fd92446ee0f1d5d99d0f7796f66b18e64060"),
+ ("20", "12", "194119aed03f80677c4bab78a20fc09b0b3dc17c41a57c5eb3c912b2d73b18ab"),
+ ("18", "1", "3cefac9a24ece99176d5d2d58fea2722de3e235be5138a128428b9260fe922ad"),
+ ("18", "2", "3a0707a9a59dcbffa765dcf87b68001450095c51b96ec39d21260ba548a2f66a"),
+ ("18", "3", "24c2e06f71ae553a408caa3f722254db2cbf1ca4db274542302184e3d6ca7015"),
+ ("18", "4", "51de613e8fda20cc92979265cf7179288df8c1af4202f02794ad7327fda2657b"),
+ ("18", "5", "c70354bfa312603e4819efce11a242ddcc3830895453d9424f0c83f7ae98bc5b"),
+ ("18", "6", "3450433a8697b27e43172043be68d31515a7c7c00b2b248f84043dd70a2f59a8"),
+ ("18", "7", "10ba41422b7a3eb5b32bc6453231100544cf620c764ab8332c629a3b9fc749d4"),
+ ("18", "8", "73968dc0fd99bcbd5eae2223bd54f414879c062ac933948ba6b8b67383dc6a53"),
+ ("18", "9", "e7d72fa31560f1e8ea572b8c73259d9fe512f56fbeb1b58ae014c43b9b5b6290"),
+ ("18", "10", "1bee419a3b0b686a729aa12515b0f96a9a8f43478ca2c01ea1661cc1698c6266"),
+ ("18", "11", "926557f0c137ea8dbf99a0487b25e131b12dfd39977d3e515f01f49187e6a09c"),
+ ("18", "12", "7e2645d539d257f7064808308048622818c9083dedfa4ac0a958cd15181231ac"),
+ ("18", "13", "95d2e33d0d05b8f9b6d8091d1c804271ec3a69e9aef792cc3b1ab8a2165eca3e"),
+ ("18", "14", "a1adfb072f60ffcb67adb589df7c5578629441bee4ccb89ab635a6e8d7a35277"),
+ ("18", "15", "4deb3df329c05729561dcc7310e49059eaddc504c4210ad31fad11dc70f61742"),
+ ("18", "16", "cf02f9b949127363bad1aa700ab662a3c7cf9ce0e2e4750e066d2204b9500a99"),
+ ("18", "17", "480300f949e0dd6402051810a9714adb388cf96e454a55346c76954cdd69413d"),
+ ("16", "1.txt", "c7ef2303bb35131a48e2256c5a3c7b391efa73e2acf757d7e39760efb6320ed4"),
+ ("16", "2", "a4db183f7c337a67f5d6b5015e3ae0af0d0edaa56894f0e9e3469c99708fed1c"),
+ ("16", "3", "5b279531c42445c6f58281dd94588460218d2258ec9013c8447f3e2b7b81bf02"),
+ ("16", "4", "035bddd63bc9d5fd6de26beab31887e5c14c3caa4958d2424d72f3c49832bd42"),
+ ("16", "5", "02d8a1fcb6baa466de4e3683afa48076394acd805f490fbbe50ab19040675136"),
+ ("16", "6", "69a3e64d75255d9179c98a2b3a63fe76d5be08c9fc41f27ac197663c97915113"),
+ ("16", "7", "0d674c907758e90a168345e6b35b7a0de79c2ead390ab372465a354fcab67d17"),
+ ("16", "8", "d722c0db46af905a5bd13b60e3130c4ddfb0c9da86df0a33253e5f8d53068946"),
+ ("16", "9", "b563e744fbc50c1240d23df369750879df2cec69fba933704b97a73a66d9c4f1"),
+ ("16", "10", "99affc65740080b7a1ab87c5c9119bf5be7cf47b2b2d8fc13407d35bd2ba6238"),
+ ("16", "11", "86b89dbcae80ef48720fd3c7da88cffbdabfd4021af5a827339b56a33ddae27a"),
+ ("16", "12", "c8d61d1efbd44086f88d74ad9e07dfdc3737dc7053c7d2503131ba0918973a03"),
+ ("16", "13", "5ce28e6e0118a4780ad72fc096e617c874cde7d140e15f87451babb25aaf2d8f"),
+ ("16", "14", "93703e734e76da30a5e050189a66d5a4d6bec5885752503c4c798e2f44049080"),
+ ("16", "15", "a156ec246cd06688043cefde24de0d715fd46b08f5c0235015c2c5c3c6e37488"),
]
for ver, num, checksum in patches:
- patch_url_str = 'https://ambermd.org/bugfixes/{0}.0/update.{1}'
- patch(patch_url_str.format(ver, num),
- sha256=checksum, level=0, when='@{0}'.format(ver))
+ patch_url_str = "https://ambermd.org/bugfixes/{0}.0/update.{1}"
+ patch(patch_url_str.format(ver, num), sha256=checksum, level=0, when="@{0}".format(ver))
# Patch to move the namelist sebomd after the variable declarations
# Taken from http://archive.ambermd.org/202105/0098.html
- patch('sebomd_fix.patch', when='@20')
+ patch("sebomd_fix.patch", when="@20")
# Patch to add ppc64le in config.guess
- patch('ppc64le.patch', when='@18: target=ppc64le:')
+ patch("ppc64le.patch", when="@18: target=ppc64le:")
# Patch to add aarch64 in config.guess
- patch('aarch64.patch', when='@18: target=aarch64:')
+ patch("aarch64.patch", when="@18: target=aarch64:")
# Workaround to modify the AmberTools script when using the NVIDIA
# compilers
- patch('nvhpc.patch', when='@18: %nvhpc')
+ patch("nvhpc.patch", when="@18: %nvhpc")
# Workaround to use NVIDIA compilers to build the bundled Boost
- patch('nvhpc-boost.patch', when='@18: %nvhpc')
-
- variant('mpi', description='Build MPI executables',
- default=True)
- variant('openmp', description='Use OpenMP pragmas to parallelize',
- default=False)
- variant('x11', description='Build programs that require X11',
- default=False)
- variant('update', description='Update the sources prior compilation',
- default=False)
-
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('netcdf-fortran')
- depends_on('parallel-netcdf', when='@20:') # when='AmberTools@21:'
- depends_on('tcsh', type=('build'), when='@20') # when='AmberTools@21:'
+ patch("nvhpc-boost.patch", when="@18: %nvhpc")
+
+ variant("mpi", description="Build MPI executables", default=True)
+ variant("openmp", description="Use OpenMP pragmas to parallelize", default=False)
+ variant("x11", description="Build programs that require X11", default=False)
+ variant("update", description="Update the sources prior compilation", default=False)
+
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("netcdf-fortran")
+ depends_on("parallel-netcdf", when="@20:") # when='AmberTools@21:'
+ depends_on("tcsh", type=("build"), when="@20") # when='AmberTools@21:'
# Potential issues with openmpi 4
# (http://archive.ambermd.org/201908/0105.html)
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# Cuda dependencies
# /AmberTools/src/configure2:1329
- depends_on('cuda@:11.1', when='@20:+cuda') # when='AmberTools@21:'
- depends_on('cuda@:10.2.89', when='@18+cuda')
- depends_on('cuda@7.5.18', when='@:16+cuda')
+ depends_on("cuda@:11.1", when="@20:+cuda") # when='AmberTools@21:'
+ depends_on("cuda@:10.2.89", when="@18+cuda")
+ depends_on("cuda@7.5.18", when="@:16+cuda")
# conflicts
- conflicts('+x11', when='platform=cray',
- msg='x11 amber applications not available for cray')
- conflicts('+openmp', when='%clang',
- msg='OpenMP not available for the clang compiler')
- conflicts('+openmp', when='%apple-clang',
- msg='OpenMP not available for the Apple clang compiler')
- conflicts('+openmp', when='%pgi',
- msg='OpenMP not available for the pgi compiler')
+ conflicts("+x11", when="platform=cray", msg="x11 amber applications not available for cray")
+ conflicts("+openmp", when="%clang", msg="OpenMP not available for the clang compiler")
+ conflicts(
+ "+openmp", when="%apple-clang", msg="OpenMP not available for the Apple clang compiler"
+ )
+ conflicts("+openmp", when="%pgi", msg="OpenMP not available for the pgi compiler")
def url_for_version(self, version):
url = "file://{0}/Amber{1}.tar.bz2".format(os.getcwd(), version)
@@ -163,96 +156,102 @@ class Amber(Package, CudaPackage):
def setup_build_environment(self, env):
amber_src = self.stage.source_path
- env.set('AMBERHOME', amber_src)
+ env.set("AMBERHOME", amber_src)
# The bundled Boost does not detect the bzip2 package, but
# will silently fall back to a system install (if available).
# Force it to use the bzip2 package.
- env.prepend_path('CPATH', self.spec['bzip2'].prefix.include)
+ env.prepend_path("CPATH", self.spec["bzip2"].prefix.include)
# CUDA
- if self.spec.satisfies('+cuda'):
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ if self.spec.satisfies("+cuda"):
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
def install(self, spec, prefix):
# The resource command does not allow us to expand the package in the
# root stage folder as required, as it already contains files. Here we
# install AmberTools where it should be, which results in 3 copies of
# the ambertools (~9 GB). This has to be improved in the future.
- install_tree('ambertools_tmpdir', '.')
- shutil.rmtree(join_path(self.stage.source_path, 'ambertools_tmpdir'))
+ install_tree("ambertools_tmpdir", ".")
+ shutil.rmtree(join_path(self.stage.source_path, "ambertools_tmpdir"))
# Select compiler style
- if self.spec.satisfies('%cce'):
- compiler = 'cray'
- elif self.spec.satisfies('%gcc'):
- compiler = 'gnu'
- elif self.spec.satisfies('%intel'):
- compiler = 'intel'
- elif self.spec.satisfies('%pgi'):
- compiler = 'pgi'
- elif self.spec.satisfies('%nvhpc'):
- compiler = 'pgi'
- elif self.spec.satisfies('%clang'):
- compiler = 'clang'
+ if self.spec.satisfies("%cce"):
+ compiler = "cray"
+ elif self.spec.satisfies("%gcc"):
+ compiler = "gnu"
+ elif self.spec.satisfies("%intel"):
+ compiler = "intel"
+ elif self.spec.satisfies("%pgi"):
+ compiler = "pgi"
+ elif self.spec.satisfies("%nvhpc"):
+ compiler = "pgi"
+ elif self.spec.satisfies("%clang"):
+ compiler = "clang"
else:
- raise InstallError('Unknown compiler, exiting!!!')
+ raise InstallError("Unknown compiler, exiting!!!")
# Alternative way to make csh/tcsh detection work with modules
- filter_file(r'-x /bin/csh', 'command -v csh &> /dev/null/',
- 'AmberTools/src/configure2', string=True)
+ filter_file(
+ r"-x /bin/csh",
+ "command -v csh &> /dev/null/",
+ "AmberTools/src/configure2",
+ string=True,
+ )
# Base configuration
- conf = Executable('./configure')
- base_args = ['--skip-python',
- '--with-netcdf', self.spec['netcdf-fortran'].prefix,
- ]
- if self.spec.satisfies('~x11'):
- base_args += ['-noX11']
+ conf = Executable("./configure")
+ base_args = [
+ "--skip-python",
+ "--with-netcdf",
+ self.spec["netcdf-fortran"].prefix,
+ ]
+ if self.spec.satisfies("~x11"):
+ base_args += ["-noX11"]
# Update the sources: Apply all upstream patches
- if self.spec.satisfies('+update'):
- update = Executable('./update_amber')
- update(*(['--update']))
+ if self.spec.satisfies("+update"):
+ update = Executable("./update_amber")
+ update(*(["--update"]))
else:
- base_args += ['--no-updates']
+ base_args += ["--no-updates"]
# Non-x86 architecture
- if self.spec.target.family != 'x86_64':
- base_args += ['-nosse']
+ if self.spec.target.family != "x86_64":
+ base_args += ["-nosse"]
# Single core
conf(*(base_args + [compiler]))
- make('install')
+ make("install")
# CUDA
- if self.spec.satisfies('+cuda'):
- conf(*(base_args + ['-cuda', compiler]))
- make('install')
+ if self.spec.satisfies("+cuda"):
+ conf(*(base_args + ["-cuda", compiler]))
+ make("install")
# MPI
- if self.spec.satisfies('+mpi'):
- conf(*(base_args + ['-mpi', compiler]))
- make('install')
+ if self.spec.satisfies("+mpi"):
+ conf(*(base_args + ["-mpi", compiler]))
+ make("install")
# Openmp
- if self.spec.satisfies('+openmp'):
- make('clean')
- conf(*(base_args + ['-openmp', compiler]))
- make('openmp')
+ if self.spec.satisfies("+openmp"):
+ make("clean")
+ conf(*(base_args + ["-openmp", compiler]))
+ make("openmp")
# CUDA + MPI
- if self.spec.satisfies('+cuda') and self.spec.satisfies('+mpi'):
- make('clean')
- conf(*(base_args + ['-cuda', '-mpi', compiler]))
- make('install')
+ if self.spec.satisfies("+cuda") and self.spec.satisfies("+mpi"):
+ make("clean")
+ conf(*(base_args + ["-cuda", "-mpi", compiler]))
+ make("install")
# just install everything that was built
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.set('AMBER_PREFIX', self.prefix)
- env.set('AMBERHOME', self.prefix)
+ env.set("AMBER_PREFIX", self.prefix)
+ env.set("AMBERHOME", self.prefix)
# CUDA
- if self.spec.satisfies('+cuda'):
- env.prepend_path('LD_LIBRARY_PATH', self.spec['cuda'].prefix.lib)
+ if self.spec.satisfies("+cuda"):
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix.lib)
diff --git a/var/spack/repos/builtin/packages/amd-aocl/package.py b/var/spack/repos/builtin/packages/amd-aocl/package.py
index 2eadbb71c4..698f616813 100644
--- a/var/spack/repos/builtin/packages/amd-aocl/package.py
+++ b/var/spack/repos/builtin/packages/amd-aocl/package.py
@@ -8,29 +8,35 @@ from spack.package import *
class AmdAocl(BundlePackage):
"""AMD Optimizing CPU Libraries (AOCL) - AOCL is a set of numerical
- libraries tuned specifically for AMD EPYC processor family. They have a
- simple interface to take advantage of the latest hardware innovations.
- The tuned implementations of industry standard math libraries enable
- fast development of scientific and high performance computing projects"""
+ libraries tuned specifically for AMD EPYC processor family. They have a
+ simple interface to take advantage of the latest hardware innovations.
+ The tuned implementations of industry standard math libraries enable
+ fast development of scientific and high performance computing projects"""
homepage = "https://developer.amd.com/amd-aocl/"
- maintainers = ['amd-toolchain-support']
-
- version('3.2')
- version('3.1')
- version('3.0')
- version('2.2')
-
- variant('openmp', default=False, description="Enable OpenMP support.")
-
- for vers in ['2.2', '3.0', '3.1', '3.2']:
- depends_on('amdblis@{0} threads=openmp'.format(vers), when='@{0} +openmp'.format(vers))
- depends_on('amdblis@{0} threads=none'.format(vers), when='@{0} ~openmp'.format(vers))
- depends_on('amdfftw@{0} +openmp'.format(vers), when='@{0} +openmp'.format(vers))
- depends_on('amdfftw@{0} ~openmp'.format(vers), when='@{0} ~openmp'.format(vers))
- depends_on('amdlibflame@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('amdlibm@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('amdscalapack@{0} ^amdblis@{0} threads=none'.format(vers), when='@{0} ~openmp'.format(vers))
- depends_on('amdscalapack@{0} ^amdblis@{0} threads=openmp'.format(vers), when='@{0} +openmp'.format(vers))
- depends_on('aocl-sparse@{0}'.format(vers), when='@{0}'.format(vers))
+ maintainers = ["amd-toolchain-support"]
+
+ version("3.2")
+ version("3.1")
+ version("3.0")
+ version("2.2")
+
+ variant("openmp", default=False, description="Enable OpenMP support.")
+
+ for vers in ["2.2", "3.0", "3.1", "3.2"]:
+ depends_on("amdblis@{0} threads=openmp".format(vers), when="@{0} +openmp".format(vers))
+ depends_on("amdblis@{0} threads=none".format(vers), when="@{0} ~openmp".format(vers))
+ depends_on("amdfftw@{0} +openmp".format(vers), when="@{0} +openmp".format(vers))
+ depends_on("amdfftw@{0} ~openmp".format(vers), when="@{0} ~openmp".format(vers))
+ depends_on("amdlibflame@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("amdlibm@{0}".format(vers), when="@{0}".format(vers))
+ depends_on(
+ "amdscalapack@{0} ^amdblis@{0} threads=none".format(vers),
+ when="@{0} ~openmp".format(vers),
+ )
+ depends_on(
+ "amdscalapack@{0} ^amdblis@{0} threads=openmp".format(vers),
+ when="@{0} +openmp".format(vers),
+ )
+ depends_on("aocl-sparse@{0}".format(vers), when="@{0}".format(vers))
diff --git a/var/spack/repos/builtin/packages/amdblis/package.py b/var/spack/repos/builtin/packages/amdblis/package.py
index 715c4d653b..478b632a76 100644
--- a/var/spack/repos/builtin/packages/amdblis/package.py
+++ b/var/spack/repos/builtin/packages/amdblis/package.py
@@ -16,38 +16,38 @@ class Amdblis(BlisBase):
computationally intensive operations.
"""
- _name = 'amdblis'
+ _name = "amdblis"
homepage = "https://developer.amd.com/amd-aocl/blas-library/"
url = "https://github.com/amd/blis/archive/3.0.tar.gz"
git = "https://github.com/amd/blis.git"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('3.2', sha256='5a400ee4fc324e224e12f73cc37b915a00f92b400443b15ce3350278ad46fff6')
- version('3.1', sha256='2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf')
- version('3.0.1', sha256='dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e')
- version('3.0', sha256='ac848c040cd6c3550fe49148dbdf109216cad72d3235763ee7ee8134e1528517')
- version('2.2', sha256='e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9')
+ version("3.2", sha256="5a400ee4fc324e224e12f73cc37b915a00f92b400443b15ce3350278ad46fff6")
+ version("3.1", sha256="2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf")
+ version("3.0.1", sha256="dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e")
+ version("3.0", sha256="ac848c040cd6c3550fe49148dbdf109216cad72d3235763ee7ee8134e1528517")
+ version("2.2", sha256="e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9")
- variant('ilp64', default=False, when='@3.0.1:', description='ILP64 support')
+ variant("ilp64", default=False, when="@3.0.1:", description="ILP64 support")
def configure_args(self):
spec = self.spec
args = super(Amdblis, self).configure_args()
- if spec.satisfies('+ilp64'):
- args.append('--blas-int-size=64')
+ if spec.satisfies("+ilp64"):
+ args.append("--blas-int-size=64")
# To enable Fortran to C calling convention for
# complex types when compiling with aocc flang
if self.spec.satisfies("@3.0 %aocc"):
- args.append('CFLAGS={0}'.format("-DAOCL_F2C"))
- args.append('CXXFLAGS={0}'.format("-DAOCL_F2C"))
+ args.append("CFLAGS={0}".format("-DAOCL_F2C"))
+ args.append("CXXFLAGS={0}".format("-DAOCL_F2C"))
elif self.spec.satisfies("@3.0.1: %aocc"):
- args.append('--complex-return=intel')
+ args.append("--complex-return=intel")
if self.spec.satisfies("@3.1:"):
- args.append('--disable-aocl-dynamic')
+ args.append("--disable-aocl-dynamic")
return args
diff --git a/var/spack/repos/builtin/packages/amdfftw/package.py b/var/spack/repos/builtin/packages/amdfftw/package.py
index 72b375a422..58a61167af 100644
--- a/var/spack/repos/builtin/packages/amdfftw/package.py
+++ b/var/spack/repos/builtin/packages/amdfftw/package.py
@@ -24,207 +24,180 @@ class Amdfftw(FftwBase):
Example : spack install amdfftw precision=float
"""
- _name = 'amdfftw'
+ _name = "amdfftw"
homepage = "https://developer.amd.com/amd-aocl/fftw/"
url = "https://github.com/amd/amd-fftw/archive/3.0.tar.gz"
git = "https://github.com/amd/amd-fftw.git"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('3.2', sha256='31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0')
- version('3.1', sha256='3e777f3acef13fa1910db097e818b1d0d03a6a36ef41186247c6ab1ab0afc132')
- version('3.0.1', sha256='87030c6bbb9c710f0a64f4f306ba6aa91dc4b182bb804c9022b35aef274d1a4c')
- version('3.0', sha256='a69deaf45478a59a69f77c4f7e9872967f1cfe996592dd12beb6318f18ea0bcd')
- version('2.2', sha256='de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8')
+ version("3.2", sha256="31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0")
+ version("3.1", sha256="3e777f3acef13fa1910db097e818b1d0d03a6a36ef41186247c6ab1ab0afc132")
+ version("3.0.1", sha256="87030c6bbb9c710f0a64f4f306ba6aa91dc4b182bb804c9022b35aef274d1a4c")
+ version("3.0", sha256="a69deaf45478a59a69f77c4f7e9872967f1cfe996592dd12beb6318f18ea0bcd")
+ version("2.2", sha256="de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8")
- variant('shared', default=True,
- description='Builds a shared version of the library')
- variant('openmp', default=True,
- description='Enable OpenMP support')
- variant('threads', default=False,
- description='Enable SMP threads support')
- variant('debug', default=False,
- description='Builds a debug version of the library')
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("threads", default=False, description="Enable SMP threads support")
+ variant("debug", default=False, description="Builds a debug version of the library")
variant(
- 'amd-fast-planner',
+ "amd-fast-planner",
default=False,
- description='Option to reduce the planning time without much'
- 'tradeoff in the performance. It is supported for'
- 'Float and double precisions only.')
+ description="Option to reduce the planning time without much"
+ "tradeoff in the performance. It is supported for"
+ "Float and double precisions only.",
+ )
+ variant("amd-top-n-planner", default=False, description="Build with amd-top-n-planner support")
variant(
- 'amd-top-n-planner',
- default=False,
- description='Build with amd-top-n-planner support')
- variant(
- 'amd-mpi-vader-limit',
- default=False,
- description='Build with amd-mpi-vader-limit support')
- variant(
- 'static',
- default=False,
- description='Build with static suppport')
+ "amd-mpi-vader-limit", default=False, description="Build with amd-mpi-vader-limit support"
+ )
+ variant("static", default=False, description="Build with static suppport")
+ variant("amd-trans", default=False, description="Build with amd-trans suppport")
+ variant("amd-app-opt", default=False, description="Build with amd-app-opt suppport")
variant(
- 'amd-trans',
+ "amd-dynamic-dispatcher",
default=False,
- description='Build with amd-trans suppport')
- variant(
- 'amd-app-opt',
- default=False,
- description='Build with amd-app-opt suppport')
- variant(
- 'amd-dynamic-dispatcher',
- default=False,
- when='@3.2:',
- description='Single portable optimized library'
- ' to execute on different x86 CPU architectures')
-
- depends_on('texinfo')
-
- provides('fftw-api@3', when='@2:')
-
- conflicts(
- 'precision=quad',
- when='@2.2 %aocc',
- msg='Quad precision is not supported by AOCC clang version 2.2')
- conflicts(
- '+debug',
- when='@2.2 %aocc',
- msg='debug mode is not supported by AOCC clang version 2.2')
- conflicts(
- '%gcc@:7.2',
- when='@2.2:',
- msg='GCC version above 7.2 is required for AMDFFTW')
- conflicts(
- '+amd-fast-planner',
- when='@2.2',
- msg='amd-fast-planner is supported from 3.0 onwards')
- conflicts(
- '+amd-fast-planner',
- when='precision=quad',
- msg='Quad precision is not supported with amd-fast-planner')
- conflicts(
- '+amd-fast-planner',
- when='precision=long_double',
- msg='long_double precision is not supported with amd-fast-planner')
- conflicts(
- '+amd-top-n-planner',
- when='@:3.0.0',
- msg='amd-top-n-planner is supported from 3.0.1 onwards')
- conflicts(
- '+amd-top-n-planner',
- when='precision=long_double',
- msg='long_double precision is not supported with amd-top-n-planner')
- conflicts(
- '+amd-top-n-planner',
- when='precision=quad',
- msg='Quad precision is not supported with amd-top-n-planner')
- conflicts(
- '+amd-top-n-planner',
- when='+amd-fast-planner',
- msg='amd-top-n-planner cannot be used with amd-fast-planner')
- conflicts(
- '+amd-top-n-planner',
- when='+threads',
- msg='amd-top-n-planner works only for single thread')
- conflicts(
- '+amd-top-n-planner',
- when='+mpi',
- msg='mpi thread is not supported with amd-top-n-planner')
- conflicts(
- '+amd-top-n-planner',
- when='+openmp',
- msg='openmp thread is not supported with amd-top-n-planner')
- conflicts(
- '+amd-mpi-vader-limit',
- when='@:3.0.0',
- msg='amd-mpi-vader-limit is supported from 3.0.1 onwards')
- conflicts(
- '+amd-mpi-vader-limit',
- when='precision=quad',
- msg='Quad precision is not supported with amd-mpi-vader-limit')
- conflicts(
- '+amd-trans',
- when='+threads',
- msg='amd-trans works only for single thread')
- conflicts(
- '+amd-trans',
- when='+mpi',
- msg='mpi thread is not supported with amd-trans')
- conflicts(
- '+amd-trans',
- when='+openmp',
- msg='openmp thread is not supported with amd-trans')
- conflicts(
- '+amd-trans',
- when='precision=long_double',
- msg='long_double precision is not supported with amd-trans')
- conflicts(
- '+amd-trans',
- when='precision=quad',
- msg='Quad precision is not supported with amd-trans')
- conflicts(
- '+amd-app-opt',
- when='@:3.0.1',
- msg='amd-app-opt is supported from 3.1 onwards')
- conflicts(
- '+amd-app-opt',
- when='+mpi',
- msg='mpi thread is not supported with amd-app-opt')
- conflicts(
- '+amd-app-opt',
- when='precision=long_double',
- msg='long_double precision is not supported with amd-app-opt')
- conflicts(
- '+amd-app-opt',
- when='precision=quad',
- msg='Quad precision is not supported with amd-app-opt')
- conflicts(
- '+amd-dynamic-dispatcher',
- when='%aocc',
- msg='dynamic-dispatcher is not supported by AOCC clang compiler')
+ when="@3.2:",
+ description="Single portable optimized library"
+ " to execute on different x86 CPU architectures",
+ )
+
+ depends_on("texinfo")
+
+ provides("fftw-api@3", when="@2:")
+
+ conflicts(
+ "precision=quad",
+ when="@2.2 %aocc",
+ msg="Quad precision is not supported by AOCC clang version 2.2",
+ )
+ conflicts(
+ "+debug", when="@2.2 %aocc", msg="debug mode is not supported by AOCC clang version 2.2"
+ )
+ conflicts("%gcc@:7.2", when="@2.2:", msg="GCC version above 7.2 is required for AMDFFTW")
+ conflicts(
+ "+amd-fast-planner", when="@2.2", msg="amd-fast-planner is supported from 3.0 onwards"
+ )
+ conflicts(
+ "+amd-fast-planner",
+ when="precision=quad",
+ msg="Quad precision is not supported with amd-fast-planner",
+ )
+ conflicts(
+ "+amd-fast-planner",
+ when="precision=long_double",
+ msg="long_double precision is not supported with amd-fast-planner",
+ )
+ conflicts(
+ "+amd-top-n-planner",
+ when="@:3.0.0",
+ msg="amd-top-n-planner is supported from 3.0.1 onwards",
+ )
+ conflicts(
+ "+amd-top-n-planner",
+ when="precision=long_double",
+ msg="long_double precision is not supported with amd-top-n-planner",
+ )
+ conflicts(
+ "+amd-top-n-planner",
+ when="precision=quad",
+ msg="Quad precision is not supported with amd-top-n-planner",
+ )
+ conflicts(
+ "+amd-top-n-planner",
+ when="+amd-fast-planner",
+ msg="amd-top-n-planner cannot be used with amd-fast-planner",
+ )
+ conflicts(
+ "+amd-top-n-planner", when="+threads", msg="amd-top-n-planner works only for single thread"
+ )
+ conflicts(
+ "+amd-top-n-planner", when="+mpi", msg="mpi thread is not supported with amd-top-n-planner"
+ )
+ conflicts(
+ "+amd-top-n-planner",
+ when="+openmp",
+ msg="openmp thread is not supported with amd-top-n-planner",
+ )
+ conflicts(
+ "+amd-mpi-vader-limit",
+ when="@:3.0.0",
+ msg="amd-mpi-vader-limit is supported from 3.0.1 onwards",
+ )
+ conflicts(
+ "+amd-mpi-vader-limit",
+ when="precision=quad",
+ msg="Quad precision is not supported with amd-mpi-vader-limit",
+ )
+ conflicts("+amd-trans", when="+threads", msg="amd-trans works only for single thread")
+ conflicts("+amd-trans", when="+mpi", msg="mpi thread is not supported with amd-trans")
+ conflicts("+amd-trans", when="+openmp", msg="openmp thread is not supported with amd-trans")
+ conflicts(
+ "+amd-trans",
+ when="precision=long_double",
+ msg="long_double precision is not supported with amd-trans",
+ )
+ conflicts(
+ "+amd-trans", when="precision=quad", msg="Quad precision is not supported with amd-trans"
+ )
+ conflicts("+amd-app-opt", when="@:3.0.1", msg="amd-app-opt is supported from 3.1 onwards")
+ conflicts("+amd-app-opt", when="+mpi", msg="mpi thread is not supported with amd-app-opt")
+ conflicts(
+ "+amd-app-opt",
+ when="precision=long_double",
+ msg="long_double precision is not supported with amd-app-opt",
+ )
+ conflicts(
+ "+amd-app-opt",
+ when="precision=quad",
+ msg="Quad precision is not supported with amd-app-opt",
+ )
+ conflicts(
+ "+amd-dynamic-dispatcher",
+ when="%aocc",
+ msg="dynamic-dispatcher is not supported by AOCC clang compiler",
+ )
def configure(self, spec, prefix):
"""Configure function"""
# Base options
- options = [
- '--prefix={0}'.format(prefix),
- '--enable-amd-opt'
- ]
+ options = ["--prefix={0}".format(prefix), "--enable-amd-opt"]
# Dynamic dispatcher builds a single portable optimized library
# that can execute on different x86 CPU architectures.
# It is supported for GCC compiler and Linux based systems only.
- if '+amd-dynamic-dispatcher' in self.spec:
- options.append('--enable-dynamic-dispatcher')
+ if "+amd-dynamic-dispatcher" in self.spec:
+ options.append("--enable-dynamic-dispatcher")
# Check if compiler is AOCC
- if '%aocc' in spec:
- options.append('CC={0}'.format(os.path.basename(spack_cc)))
- options.append('FC={0}'.format(os.path.basename(spack_fc)))
- options.append('F77={0}'.format(os.path.basename(spack_fc)))
+ if "%aocc" in spec:
+ options.append("CC={0}".format(os.path.basename(spack_cc)))
+ options.append("FC={0}".format(os.path.basename(spack_fc)))
+ options.append("F77={0}".format(os.path.basename(spack_fc)))
- if '+debug' in spec:
- options.append('--enable-debug')
+ if "+debug" in spec:
+ options.append("--enable-debug")
- if '+mpi' in spec:
- options.append('--enable-mpi')
- options.append('--enable-amd-mpifft')
+ if "+mpi" in spec:
+ options.append("--enable-mpi")
+ options.append("--enable-amd-mpifft")
else:
- options.append('--disable-mpi')
- options.append('--disable-amd-mpifft')
-
- options.extend(self.enable_or_disable('shared'))
- options.extend(self.enable_or_disable('openmp'))
- options.extend(self.enable_or_disable('threads'))
- options.extend(self.enable_or_disable('amd-fast-planner'))
- options.extend(self.enable_or_disable('amd-top-n-planner'))
- options.extend(self.enable_or_disable('amd-mpi-vader-limit'))
- options.extend(self.enable_or_disable('static'))
- options.extend(self.enable_or_disable('amd-trans'))
- options.extend(self.enable_or_disable('amd-app-opt'))
+ options.append("--disable-mpi")
+ options.append("--disable-amd-mpifft")
+
+ options.extend(self.enable_or_disable("shared"))
+ options.extend(self.enable_or_disable("openmp"))
+ options.extend(self.enable_or_disable("threads"))
+ options.extend(self.enable_or_disable("amd-fast-planner"))
+ options.extend(self.enable_or_disable("amd-top-n-planner"))
+ options.extend(self.enable_or_disable("amd-mpi-vader-limit"))
+ options.extend(self.enable_or_disable("static"))
+ options.extend(self.enable_or_disable("amd-trans"))
+ options.extend(self.enable_or_disable("amd-app-opt"))
if not self.compiler.f77 or not self.compiler.fc:
- options.append('--disable-fortran')
+ options.append("--disable-fortran")
# Cross compilation is supported in amd-fftw by making use of target
# variable to set AMD_ARCH configure option.
@@ -232,17 +205,16 @@ class Amdfftw(FftwBase):
# use target variable to set appropriate -march option in AMD_ARCH.
arch = spec.architecture
options.append(
- 'AMD_ARCH={0}'.format(
- arch.target.optimization_flags(
- spec.compiler).split('=')[-1]))
+ "AMD_ARCH={0}".format(arch.target.optimization_flags(spec.compiler).split("=")[-1])
+ )
# Specific SIMD support.
# float and double precisions are supported
- simd_features = ['sse2', 'avx', 'avx2']
+ simd_features = ["sse2", "avx", "avx2"]
simd_options = []
for feature in simd_features:
- msg = '--enable-{0}' if feature in spec.target else '--disable-{0}'
+ msg = "--enable-{0}" if feature in spec.target else "--disable-{0}"
simd_options.append(msg.format(feature))
# When enabling configure option "--enable-amd-opt", do not use the
@@ -252,20 +224,20 @@ class Amdfftw(FftwBase):
# Double is the default precision, for all the others we need
# to enable the corresponding option.
enable_precision = {
- 'float': ['--enable-float'],
- 'double': None,
- 'long_double': ['--enable-long-double'],
- 'quad': ['--enable-quad-precision']
+ "float": ["--enable-float"],
+ "double": None,
+ "long_double": ["--enable-long-double"],
+ "quad": ["--enable-quad-precision"],
}
# Different precisions must be configured and compiled one at a time
- configure = Executable('../configure')
+ configure = Executable("../configure")
for precision in self.selected_precisions:
opts = (enable_precision[precision] or []) + options[:]
# SIMD optimizations are available only for float and double
- if precision in ('float', 'double'):
+ if precision in ("float", "double"):
opts += simd_options
with working_dir(precision, create=True):
diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py
index 61f490a1e1..fa664f1fe9 100644
--- a/var/spack/repos/builtin/packages/amdlibflame/package.py
+++ b/var/spack/repos/builtin/packages/amdlibflame/package.py
@@ -30,42 +30,37 @@ class Amdlibflame(LibflameBase):
high performing LAPACK functionalities on AMD platform.
"""
- _name = 'amdlibflame'
+ _name = "amdlibflame"
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"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('3.2', sha256='6b5337fb668b82d0ed0a4ab4b5af4e2f72e4cedbeeb4a8b6eb9a3ef057fb749a')
- version('3.1', sha256='4520fb93fcc89161f65a40810cae0fa1f87cecb242da4a69655f502545a53426')
- version('3.0.1', sha256='5859e7b39ffbe73115dd598b035f212d36310462cf3a45e555a5087301710776')
- version('3.0', sha256='d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced')
- version('2.2', sha256='12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc')
+ version("3.2", sha256="6b5337fb668b82d0ed0a4ab4b5af4e2f72e4cedbeeb4a8b6eb9a3ef057fb749a")
+ version("3.1", sha256="4520fb93fcc89161f65a40810cae0fa1f87cecb242da4a69655f502545a53426")
+ version("3.0.1", sha256="5859e7b39ffbe73115dd598b035f212d36310462cf3a45e555a5087301710776")
+ version("3.0", sha256="d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced")
+ version("2.2", sha256="12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc")
- variant('ilp64', default=False, description='Build with ILP64 support')
+ variant("ilp64", default=False, description="Build with ILP64 support")
- conflicts('+ilp64', when="@:3.0.0",
- msg="ILP64 is supported from 3.0.1 onwards")
- conflicts('threads=pthreads',
- msg='pthread is not supported')
- conflicts('threads=openmp',
- msg='openmp is not supported')
+ conflicts("+ilp64", when="@:3.0.0", msg="ILP64 is supported from 3.0.1 onwards")
+ conflicts("threads=pthreads", msg="pthread is not supported")
+ conflicts("threads=openmp", msg="openmp is not supported")
- patch('aocc-2.2.0.patch', when="@:2", level=1)
- patch('cray-compiler-wrapper.patch', when="@:3.0.0", level=1)
+ patch("aocc-2.2.0.patch", when="@:2", level=1)
+ patch("cray-compiler-wrapper.patch", when="@:3.0.0", level=1)
- provides('flame@5.2', when='@2:')
+ provides("flame@5.2", when="@2:")
- depends_on('python+pythoncmd', type='build')
+ depends_on("python+pythoncmd", type="build")
@property
def lapack_libs(self):
"""find lapack_libs function"""
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libflame', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libflame", root=self.prefix, shared=shared, recursive=True)
def configure_args(self):
"""configure_args function"""
@@ -99,17 +94,15 @@ class Amdlibflame(LibflameBase):
return args
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check(self):
"""make check for single and multithread"""
- blas_flags = self.spec['blas'].libs.ld_flags
- if self.spec.variants['threads'].value != 'none':
- make('check',
- 'LIBBLAS = -fopenmp {0}'.format(blas_flags), parallel=False)
+ blas_flags = self.spec["blas"].libs.ld_flags
+ if self.spec.variants["threads"].value != "none":
+ make("check", "LIBBLAS = -fopenmp {0}".format(blas_flags), parallel=False)
else:
- make('check',
- 'LIBBLAS = {0}'.format(blas_flags), parallel=False)
+ make("check", "LIBBLAS = {0}".format(blas_flags), parallel=False)
def install(self, spec, prefix):
"""make install function"""
diff --git a/var/spack/repos/builtin/packages/amdlibm/package.py b/var/spack/repos/builtin/packages/amdlibm/package.py
index 5e4ee6183b..3956a9bf1e 100644
--- a/var/spack/repos/builtin/packages/amdlibm/package.py
+++ b/var/spack/repos/builtin/packages/amdlibm/package.py
@@ -31,8 +31,7 @@ class Amdlibm(SConsPackage):
version("3.0", branch="aocl-3.0")
version("2.2", commit="4033e022da428125747e118ccd6fdd9cee21c470")
- variant("verbose", default=False,
- description="Building with verbosity")
+ variant("verbose", default=False, description="Building with verbosity")
# Mandatory dependencies
depends_on("python@3.6.2", when="%aocc@3.2.0:", type=("build", "run"))
@@ -43,19 +42,16 @@ class Amdlibm(SConsPackage):
patch("0001-libm-ose-Scripts-cleanup-pyc-files.patch", when="@2.2")
patch("0002-libm-ose-prevent-log-v3.c-from-building.patch", when="@2.2")
+ conflicts("%gcc@:9.1.0", msg="Minimum required GCC version is 9.2.0")
+ conflicts("%gcc@11.2.0:", msg="Maximum required GCC version is 11.1.0")
conflicts(
- '%gcc@:9.1.0',
- msg='Minimum required GCC version is 9.2.0')
- conflicts(
- '%gcc@11.2.0:',
- msg='Maximum required GCC version is 11.1.0')
- conflicts(
- '%aocc@3.2.0',
- when='@2.2:3.0',
- msg='amdlibm 2.2 and 3.0 versions are not supported with AOCC 3.2.0')
+ "%aocc@3.2.0",
+ when="@2.2:3.0",
+ msg="amdlibm 2.2 and 3.0 versions are not supported with AOCC 3.2.0",
+ )
def build_args(self, spec, prefix):
- """Setting build arguments for amdlibm """
+ """Setting build arguments for amdlibm"""
args = ["--prefix={0}".format(prefix)]
# we are circumventing the use of
@@ -64,7 +60,7 @@ class Amdlibm(SConsPackage):
if spec.satisfies("@:3.0 %aocc"):
args.append("--compiler=aocc")
- var_prefix = '' if spec.satisfies("@:3.0") else 'ALM_'
+ var_prefix = "" if spec.satisfies("@:3.0") else "ALM_"
args.append("{0}CC={1}".format(var_prefix, self.compiler.cc))
args.append("{0}CXX={1}".format(var_prefix, self.compiler.cxx))
@@ -77,9 +73,9 @@ class Amdlibm(SConsPackage):
install_args = build_args
- @run_after('install')
+ @run_after("install")
def create_symlink(self):
"""Symbolic link for backward compatibility"""
with working_dir(self.prefix.lib):
- os.symlink('libalm.a', 'libamdlibm.a')
- os.symlink('libalm.so', 'libamdlibm.so')
+ os.symlink("libalm.a", "libamdlibm.a")
+ os.symlink("libalm.so", "libamdlibm.so")
diff --git a/var/spack/repos/builtin/packages/amdscalapack/package.py b/var/spack/repos/builtin/packages/amdscalapack/package.py
index 76d309dad9..24c3b013ec 100644
--- a/var/spack/repos/builtin/packages/amdscalapack/package.py
+++ b/var/spack/repos/builtin/packages/amdscalapack/package.py
@@ -18,55 +18,56 @@ class Amdscalapack(ScalapackBase):
solvers for AMD EPYC processor family CPUs.
"""
- _name = 'amdscalapack'
+ _name = "amdscalapack"
homepage = "https://developer.amd.com/amd-aocl/scalapack/"
git = "https://github.com/amd/scalapack.git"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('3.2', sha256='9e00979bb1be39d627bdacb01774bc043029840d542fafc934d16fec3e3b0892')
- version('3.1', sha256='4c2ee2c44644a0feec0c6fc1b1a413fa9028f14d7035d43a398f5afcfdbacb98')
- version('3.0', sha256='6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f')
- version('2.2', sha256='2d64926864fc6d12157b86e3f88eb1a5205e7fc157bf67e7577d0f18b9a7484c')
+ version("3.2", sha256="9e00979bb1be39d627bdacb01774bc043029840d542fafc934d16fec3e3b0892")
+ version("3.1", sha256="4c2ee2c44644a0feec0c6fc1b1a413fa9028f14d7035d43a398f5afcfdbacb98")
+ version("3.0", sha256="6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f")
+ version("2.2", sha256="2d64926864fc6d12157b86e3f88eb1a5205e7fc157bf67e7577d0f18b9a7484c")
- variant(
- 'ilp64',
- default=False,
- description='Build with ILP64 support')
+ variant("ilp64", default=False, description="Build with ILP64 support")
- conflicts('+ilp64', when="@:3.0",
- msg="ILP64 is supported from 3.1 onwards")
+ conflicts("+ilp64", when="@:3.0", msg="ILP64 is supported from 3.1 onwards")
def url_for_version(self, version):
vers = "https://github.com/amd/{0}/archive/{1}.tar.gz"
- if version >= Version('3.1'):
- return vers.format('aocl-scalapack', version)
+ if version >= Version("3.1"):
+ return vers.format("aocl-scalapack", version)
else:
- return vers.format('scalapack', version)
+ return vers.format("scalapack", version)
def cmake_args(self):
- """ cmake_args function"""
+ """cmake_args function"""
args = super(Amdscalapack, self).cmake_args()
spec = self.spec
- if spec.satisfies('%gcc@10:'):
- args.extend(['-DCMAKE_Fortran_FLAGS={0}'.format(
- "-fallow-argument-mismatch")])
+ if spec.satisfies("%gcc@10:"):
+ args.extend(["-DCMAKE_Fortran_FLAGS={0}".format("-fallow-argument-mismatch")])
- if spec.satisfies('@2.2'):
- args.extend(['-DUSE_DOTC_WRAPPER:BOOL=%s' % (
- 'ON' if spec.satisfies('%aocc ^amdblis') else 'OFF')])
+ if spec.satisfies("@2.2"):
+ args.extend(
+ [
+ "-DUSE_DOTC_WRAPPER:BOOL=%s"
+ % ("ON" if spec.satisfies("%aocc ^amdblis") else "OFF")
+ ]
+ )
# -DENABLE_ILP64:BOOL=ON
- args.extend([self.define_from_variant('ENABLE_ILP64', 'ilp64')])
+ args.extend([self.define_from_variant("ENABLE_ILP64", "ilp64")])
# -DUSE_F2C:BOOL=ON
- args.extend([self.define('USE_F2C', spec.satisfies('@:3.0'))])
-
- args.extend([
- '-DLAPACK_FOUND=true',
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- ])
+ args.extend([self.define("USE_F2C", spec.satisfies("@:3.0"))])
+
+ args.extend(
+ [
+ "-DLAPACK_FOUND=true",
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/amg/package.py b/var/spack/repos/builtin/packages/amg/package.py
index 0d9199473c..cab4e70623 100644
--- a/var/spack/repos/builtin/packages/amg/package.py
+++ b/var/spack/repos/builtin/packages/amg/package.py
@@ -8,50 +8,51 @@ from spack.package import *
class Amg(MakefilePackage):
"""AMG is a parallel algebraic multigrid solver for linear systems arising
- from problems on unstructured grids. The driver provided with AMG
- builds linear systems for various 3-dimensional problems.
+ from problems on unstructured grids. The driver provided with AMG
+ builds linear systems for various 3-dimensional problems.
"""
- tags = ['proxy-app', 'ecp-proxy-app']
+
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://computing.llnl.gov/projects/co-design/amg2013"
- git = "https://github.com/LLNL/AMG.git"
+ git = "https://github.com/LLNL/AMG.git"
- version('develop', branch='master')
- version('1.2', tag='1.2')
- version('1.1', tag='1.1')
- version('1.0', tag='1.0')
+ version("develop", branch="master")
+ version("1.2", tag="1.2")
+ version("1.1", tag="1.1")
+ version("1.0", tag="1.0")
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('optflags', default=False, description='Additional optimizations')
- variant('int64', default=False, description='Use 64-bit integers for global variables')
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("optflags", default=False, description="Additional optimizations")
+ variant("int64", default=False, description="Use 64-bit integers for global variables")
- depends_on('mpi')
+ depends_on("mpi")
@property
def build_targets(self):
targets = []
- include_cflags = ['-DTIMER_USE_MPI']
- include_lflags = ['-lm']
+ include_cflags = ["-DTIMER_USE_MPI"]
+ include_lflags = ["-lm"]
- if '+openmp' in self.spec:
- include_cflags.append('-DHYPRE_USING_OPENMP')
+ if "+openmp" in self.spec:
+ include_cflags.append("-DHYPRE_USING_OPENMP")
include_cflags.append(self.compiler.openmp_flag)
include_lflags.append(self.compiler.openmp_flag)
- if '+optflags' in self.spec:
- include_cflags.append('-DHYPRE_USING_PERSISTENT_COMM')
- include_cflags.append('-DHYPRE_HOPSCOTCH')
+ if "+optflags" in self.spec:
+ include_cflags.append("-DHYPRE_USING_PERSISTENT_COMM")
+ include_cflags.append("-DHYPRE_HOPSCOTCH")
- if '+int64' in self.spec:
- include_cflags.append('-DHYPRE_BIGINT')
+ if "+int64" in self.spec:
+ include_cflags.append("-DHYPRE_BIGINT")
- targets.append('INCLUDE_CFLAGS={0}'.format(' '.join(include_cflags)))
- targets.append('INCLUDE_LFLAGS={0}'.format(' '.join(include_lflags)))
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ targets.append("INCLUDE_CFLAGS={0}".format(" ".join(include_cflags)))
+ targets.append("INCLUDE_LFLAGS={0}".format(" ".join(include_lflags)))
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('test/amg', prefix.bin)
- install_tree('docs', prefix.docs)
+ install("test/amg", prefix.bin)
+ install_tree("docs", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/amg2013/package.py b/var/spack/repos/builtin/packages/amg2013/package.py
index b4b2182ff5..9c78fe87f0 100644
--- a/var/spack/repos/builtin/packages/amg2013/package.py
+++ b/var/spack/repos/builtin/packages/amg2013/package.py
@@ -13,46 +13,54 @@ class Amg2013(MakefilePackage):
hypre library, a large linear solver library that is being developed
in the Center for Applied Scientific Computing (CASC) at LLNL.
"""
- tags = ['proxy-app']
+
+ tags = ["proxy-app"]
homepage = "https://computing.llnl.gov/projects/co-design/amg2013"
- url = "https://computing.llnl.gov/projects/co-design/download/amg2013.tgz"
+ url = "https://computing.llnl.gov/projects/co-design/download/amg2013.tgz"
- version('master', sha256='b03771d84a04e3dbbbe32ba5648cd7b789e5853b938dd501e17d23d43f13c50f',
- url='https://computing.llnl.gov/projects/co-design/download/amg2013.tgz')
+ version(
+ "master",
+ sha256="b03771d84a04e3dbbbe32ba5648cd7b789e5853b938dd501e17d23d43f13c50f",
+ url="https://computing.llnl.gov/projects/co-design/download/amg2013.tgz",
+ )
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('assumedpartition', default=False, description='Use assumed partition (for thousands of processors)')
- variant('int64', default=False, description='Use 64-bit integers for global variables')
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant(
+ "assumedpartition",
+ default=False,
+ description="Use assumed partition (for thousands of processors)",
+ )
+ variant("int64", default=False, description="Use 64-bit integers for global variables")
- depends_on('mpi')
+ depends_on("mpi")
@property
def build_targets(self):
targets = []
- include_cflags = ['-DTIMER_USE_MPI']
- include_lflags = ['-lm']
+ include_cflags = ["-DTIMER_USE_MPI"]
+ include_lflags = ["-lm"]
- if '+openmp' in self.spec:
- include_cflags.append('-DHYPRE_USING_OPENMP')
+ if "+openmp" in self.spec:
+ include_cflags.append("-DHYPRE_USING_OPENMP")
include_cflags.append(self.compiler.openmp_flag)
include_lflags.append(self.compiler.openmp_flag)
- if '+assumedpartition' in self.spec:
- include_cflags.append('-DHYPRE_NO_GLOBAL_PARTITION')
+ if "+assumedpartition" in self.spec:
+ include_cflags.append("-DHYPRE_NO_GLOBAL_PARTITION")
- if '+int64' in self.spec:
- include_cflags.append('-DHYPRE_LONG_LONG')
+ if "+int64" in self.spec:
+ include_cflags.append("-DHYPRE_LONG_LONG")
- targets.append('INCLUDE_CFLAGS={0}'.format(' '.join(include_cflags)))
- targets.append('INCLUDE_LFLAGS={0}'.format(' '.join(include_lflags)))
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ targets.append("INCLUDE_CFLAGS={0}".format(" ".join(include_cflags)))
+ targets.append("INCLUDE_LFLAGS={0}".format(" ".join(include_lflags)))
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('test/amg2013', prefix.bin)
- install_tree('docs', prefix.docs)
- install('COPYRIGHT', prefix.docs)
- install('COPYING.LESSER', prefix.docs)
+ install("test/amg2013", prefix.bin)
+ install_tree("docs", prefix.docs)
+ install("COPYRIGHT", prefix.docs)
+ install("COPYING.LESSER", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/amgx/package.py b/var/spack/repos/builtin/packages/amgx/package.py
index 15979c0a58..f6a5c30a55 100644
--- a/var/spack/repos/builtin/packages/amgx/package.py
+++ b/var/spack/repos/builtin/packages/amgx/package.py
@@ -17,42 +17,39 @@ class Amgx(CMakePackage, CudaPackage):
preconditioners."""
homepage = "https://developer.nvidia.com/amgx"
- url = "https://github.com/nvidia/amgx/archive/v2.1.0.tar.gz"
+ url = "https://github.com/nvidia/amgx/archive/v2.1.0.tar.gz"
- maintainers = ['js947']
+ maintainers = ["js947"]
- version('2.1.0', sha256='6245112b768a1dc3486b2b3c049342e232eb6281a6021fffa8b20c11631f63cc')
- version('2.0.1', sha256='6f9991f1836fbf4ba2114ce9f49febd0edc069a24f533bd94fd9aa9be72435a7')
- version('2.0.0', sha256='8ec7ea8412be3de216fcf7243c4e2a8bcf76878e6865468e4238630a082a431b')
+ version("2.1.0", sha256="6245112b768a1dc3486b2b3c049342e232eb6281a6021fffa8b20c11631f63cc")
+ version("2.0.1", sha256="6f9991f1836fbf4ba2114ce9f49febd0edc069a24f533bd94fd9aa9be72435a7")
+ version("2.0.0", sha256="8ec7ea8412be3de216fcf7243c4e2a8bcf76878e6865468e4238630a082a431b")
- variant('cuda', default=True, description='Build with CUDA')
- variant('mpi', default=True, description='Enable MPI support')
- variant('mkl', default=False, description='Enable MKL support')
- variant('magma', default=False, description='Enable Magma support')
+ variant("cuda", default=True, description="Build with CUDA")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("mkl", default=False, description="Enable MKL support")
+ variant("magma", default=False, description="Enable Magma support")
- depends_on('mpi', when='+mpi')
- depends_on('mkl', when='+mkl')
- depends_on('magma', when='+magma')
+ depends_on("mpi", when="+mpi")
+ depends_on("mkl", when="+mkl")
+ depends_on("magma", when="+magma")
def cmake_args(self):
args = []
- args.append("-DCMAKE_NO_MPI={0}".format(
- '1' if '+mpi' not in self.spec else '0'))
-
- if '+cuda' in self.spec:
- args.append('-DWITH_CUDA=ON')
- cuda_arch = self.spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DCUDA_ARCH={0}'.format(cuda_arch[0]))
+ args.append("-DCMAKE_NO_MPI={0}".format("1" if "+mpi" not in self.spec else "0"))
+
+ if "+cuda" in self.spec:
+ args.append("-DWITH_CUDA=ON")
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
+ args.append("-DCUDA_ARCH={0}".format(cuda_arch[0]))
else:
- args.append('-DWITH_CUDA=OFF')
+ args.append("-DWITH_CUDA=OFF")
- if '+mkl' in self.spec:
- args.append('-DMKL_ROOT_DIR={0}'.format(
- self.spec['mkl'].prefix))
+ if "+mkl" in self.spec:
+ args.append("-DMKL_ROOT_DIR={0}".format(self.spec["mkl"].prefix))
- if '+magma' in self.spec:
- args.append('-DMAGMA_ROOT_DIR={0}'.format(
- self.spec['magma'].prefix))
+ if "+magma" in self.spec:
+ args.append("-DMAGMA_ROOT_DIR={0}".format(self.spec["magma"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/aml/package.py b/var/spack/repos/builtin/packages/aml/package.py
index d1a7168523..9d8e9e7159 100644
--- a/var/spack/repos/builtin/packages/aml/package.py
+++ b/var/spack/repos/builtin/packages/aml/package.py
@@ -14,55 +14,59 @@ class Aml(AutotoolsPackage):
homepage = "https://argo-aml.readthedocs.io/"
url = "https://www.mcs.anl.gov/research/projects/argo/downloads/aml-0.1.0.tar.gz"
git = "https://github.com/anlsys/aml.git"
- maintainers = ['perarnau']
+ maintainers = ["perarnau"]
test_requires_compiler = True
- tags = ['e4s']
+ tags = ["e4s"]
- version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b')
- version('master', branch='master', submodules=True)
+ version("0.1.0", sha256="cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b")
+ version("master", branch="master", submodules=True)
- depends_on('numactl')
+ depends_on("numactl")
- with when('@master'):
- 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')
+ @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(['tests', join_path('include', 'config.h')])
+ self.cache_extra_test_sources(["tests", join_path("include", "config.h")])
def run_area_test(self):
"""Run stand alone test: test_area"""
- test_dir = join_path(self.test_suite.current_test_cache_dir, 'tests', 'area')
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "tests", "area")
if not os.path.exists(test_dir):
- print('Skipping aml test')
+ print("Skipping aml test")
return
- exe = 'test_area'
-
- self.run_test('gcc',
- options=['-o', exe, join_path(test_dir, 'test_area.c'),
- '-I{0}'.format(join_path(
- self.test_suite.current_test_cache_dir,
- 'include')),
- '-I{0}'.format(self.prefix.include),
- '-I{0}'.format(self.spec['numactl'].prefix.include),
- '-L{0}'.format(self.prefix.lib),
- '-laml', '-lexcit', '-lpthread'],
- 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)
+ exe = "test_area"
+
+ self.run_test(
+ "gcc",
+ options=[
+ "-o",
+ exe,
+ join_path(test_dir, "test_area.c"),
+ "-I{0}".format(join_path(self.test_suite.current_test_cache_dir, "include")),
+ "-I{0}".format(self.prefix.include),
+ "-I{0}".format(self.spec["numactl"].prefix.include),
+ "-L{0}".format(self.prefix.lib),
+ "-laml",
+ "-lexcit",
+ "-lpthread",
+ ],
+ 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_area_test()
diff --git a/var/spack/repos/builtin/packages/amp/package.py b/var/spack/repos/builtin/packages/amp/package.py
index 05cdc2caca..7660d7cbc7 100644
--- a/var/spack/repos/builtin/packages/amp/package.py
+++ b/var/spack/repos/builtin/packages/amp/package.py
@@ -17,97 +17,110 @@ class Amp(CMakePackage):
homepage = "https://bitbucket.org/AdvancedMultiPhysics/amp"
hg = homepage
- version('develop')
-
- variant('boost', default=True, description='Build with support for Boost')
- variant('hdf5', default=True, description='Build with support for HDF5')
- variant('hypre', default=True, description='Build with support for hypre')
- variant('libmesh', default=True, description='Build with libmesh support')
- variant('mpi', default=True, description='Build with MPI support')
- variant('netcdf', default=True, description='Build with NetCDF support')
- variant('petsc', default=True, description='Build with Petsc support')
- variant('shared', default=True, description='Build shared libraries')
- variant('silo', default=True, description='Build with support for Silo')
- variant('sundials', default=True, description='Build with support for Sundials')
- variant('trilinos', default=True, description='Build with support for Trilinos')
- variant('zlib', default=True, description='Build with support for zlib')
+ version("develop")
+
+ variant("boost", default=True, description="Build with support for Boost")
+ variant("hdf5", default=True, description="Build with support for HDF5")
+ variant("hypre", default=True, description="Build with support for hypre")
+ variant("libmesh", default=True, description="Build with libmesh support")
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("netcdf", default=True, description="Build with NetCDF support")
+ variant("petsc", default=True, description="Build with Petsc support")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("silo", default=True, description="Build with support for Silo")
+ variant("sundials", default=True, description="Build with support for Sundials")
+ variant("trilinos", default=True, description="Build with support for Trilinos")
+ variant("zlib", default=True, description="Build with support for zlib")
# Everything should be compiled position independent (-fpic)
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('hdf5', when='+hdf5')
- depends_on('hypre', when='+hypre')
- depends_on('libmesh', when='+libmesh')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('petsc', when='+petsc')
- depends_on('silo', when='+silo')
- depends_on('sundials', when='+sundials')
- depends_on('trilinos', when='+trilinos')
- depends_on('zlib', when="+zlib")
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hypre", when="+hypre")
+ depends_on("libmesh", when="+libmesh")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("petsc", when="+petsc")
+ depends_on("silo", when="+silo")
+ depends_on("sundials", when="+sundials")
+ depends_on("trilinos", when="+trilinos")
+ depends_on("zlib", when="+zlib")
# MPI related dependencies
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
spec = self.spec
options = [
- self.define('TPL_URL', 'https://bitbucket.org/AdvancedMultiPhysics/tpl-builder'),
- self.define('AMP_DATA_URL', 'https://bitbucket.org/AdvancedMultiPhysics/amp/downloads/AMP-Data.tar.gz'),
- self.define('AMP_ENABLE_TESTS', 'OFF'),
- self.define('AMP_ENABLE_EXAMPLES', 'OFF'),
- self.define('AMP_ENABLE_CXX11', 'ON'),
- self.define('CXX_STD', '11'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('USE_MPI', '0'),
+ self.define("TPL_URL", "https://bitbucket.org/AdvancedMultiPhysics/tpl-builder"),
+ self.define(
+ "AMP_DATA_URL",
+ "https://bitbucket.org/AdvancedMultiPhysics/amp/downloads/AMP-Data.tar.gz",
+ ),
+ self.define("AMP_ENABLE_TESTS", "OFF"),
+ self.define("AMP_ENABLE_EXAMPLES", "OFF"),
+ self.define("AMP_ENABLE_CXX11", "ON"),
+ self.define("CXX_STD", "11"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("USE_MPI", "0"),
]
- if '+mpi' in spec:
- options.extend([
- self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc),
- self.define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx),
- self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- self.define('MPI_COMPILER', '1'),
- self.define('MPIEXEC', spec['mpi'].prefix.bin),
- ])
+ if "+mpi" in spec:
+ options.extend(
+ [
+ self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
+ self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
+ self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ self.define("MPI_COMPILER", "1"),
+ self.define("MPIEXEC", spec["mpi"].prefix.bin),
+ ]
+ )
else:
- options.extend([
- self.define('CMAKE_C_COMPILER', self.compiler.cc),
- self.define('CMAKE_CXX_COMPILER', self.compiler.cxx),
- self.define('CMAKE_Fortran_COMPILER', self.compiler.fc),
- ])
+ options.extend(
+ [
+ self.define("CMAKE_C_COMPILER", self.compiler.cc),
+ self.define("CMAKE_CXX_COMPILER", self.compiler.cxx),
+ self.define("CMAKE_Fortran_COMPILER", self.compiler.fc),
+ ]
+ )
tpl_list = ["LAPACK"]
- blas, lapack = spec['blas'].libs, spec['lapack'].libs
- options.extend([
- self.define('TPL_LAPACK_INSTALL_DIR', spec['lapack'].prefix),
- self.define('TPL_BLAS_LIBRARY_NAMES', ';'.join(blas.names)),
- self.define('TPL_BLAS_LIBRARY_DIRS', ';'.join(blas.directories)),
- self.define('TPL_LAPACK_LIBRARY_NAMES', ';'.join(lapack.names)),
- self.define('TPL_LAPACK_LIBRARY_DIRS', ';'.join(lapack.directories)),
- ])
+ blas, lapack = spec["blas"].libs, spec["lapack"].libs
+ options.extend(
+ [
+ self.define("TPL_LAPACK_INSTALL_DIR", spec["lapack"].prefix),
+ self.define("TPL_BLAS_LIBRARY_NAMES", ";".join(blas.names)),
+ self.define("TPL_BLAS_LIBRARY_DIRS", ";".join(blas.directories)),
+ self.define("TPL_LAPACK_LIBRARY_NAMES", ";".join(lapack.names)),
+ self.define("TPL_LAPACK_LIBRARY_DIRS", ";".join(lapack.directories)),
+ ]
+ )
for vname in (
- 'boost', 'hdf5', 'hypre', 'libmesh', 'petsc',
- 'silo', 'sundials', 'trilinos', 'zlib',
+ "boost",
+ "hdf5",
+ "hypre",
+ "libmesh",
+ "petsc",
+ "silo",
+ "sundials",
+ "trilinos",
+ "zlib",
):
- if '+' + vname in spec:
+ if "+" + vname in spec:
tpl_list.append(vname.upper())
- options.append(self.define(
- 'TPL_{0}_INSTALL_DIR'.format(vname.upper()),
- spec[vname].prefix
- ))
+ options.append(
+ self.define("TPL_{0}_INSTALL_DIR".format(vname.upper()), spec[vname].prefix)
+ )
- if '+netcdf' in spec:
+ if "+netcdf" in spec:
tpl_list.append("NETCDF")
- options.append(self.define(
- 'TPL_NETCDF_INSTALL_DIR', spec['netcdf-c'].prefix
- ))
+ options.append(self.define("TPL_NETCDF_INSTALL_DIR", spec["netcdf-c"].prefix))
- options.append(self.define('TPL_LIST', ';'.join(tpl_list)))
+ options.append(self.define("TPL_LIST", ";".join(tpl_list)))
return options
diff --git a/var/spack/repos/builtin/packages/ampl/package.py b/var/spack/repos/builtin/packages/ampl/package.py
index 6e59a7e964..ed2eed2051 100644
--- a/var/spack/repos/builtin/packages/ampl/package.py
+++ b/var/spack/repos/builtin/packages/ampl/package.py
@@ -17,39 +17,39 @@ class Ampl(Package):
homepage = "https://ampl.com/"
manual_download = True
- maintainers = ['robgics']
+ 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')
- version('20190529', sha256='c35a87d85055ae5fe41b68d4b4458f1fdbf80643890501eeaad35b134cb11a2d')
+ version("20210226", sha256="d9ffaed591c0491e311a44c2b246d9d81785f6c0b2747a7e32a783e522e18450")
+ version("20190529", sha256="c35a87d85055ae5fe41b68d4b4458f1fdbf80643890501eeaad35b134cb11a2d")
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['ampl.lic']
- license_url = 'https://ampl.com/resources/floating-licenses/installation/'
+ license_comment = "#"
+ license_files = ["ampl.lic"]
+ license_url = "https://ampl.com/resources/floating-licenses/installation/"
resource(
- name='amplapi',
- url='file://{0}/amplapi-linux64.2.0.0.zip'.format(os.getcwd()),
- sha256='a4abe111f142b862f11fcd8700f964b688d5d2291e9e055f6e7adbd92b0e243a',
- destination='',
- placement='amplapi'
+ 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'
+ 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=''
+ 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):
@@ -57,13 +57,13 @@ class Ampl(Package):
def setup_run_environment(self, env):
env.prepend_path("PATH", self.prefix)
- env.prepend_path("PATH", join_path(self.prefix, 'amplide'))
+ env.prepend_path("PATH", join_path(self.prefix, "amplide"))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
for key in self.resources:
for res in self.resources[key]:
- if res.name == 'ampl_lic':
+ if res.name == "ampl_lic":
res_path = join_path(res.fetcher.stage.source_path, res.name)
install(res_path, prefix)
diff --git a/var/spack/repos/builtin/packages/ampliconnoise/package.py b/var/spack/repos/builtin/packages/ampliconnoise/package.py
index d176c3c56c..ba9c8fed63 100644
--- a/var/spack/repos/builtin/packages/ampliconnoise/package.py
+++ b/var/spack/repos/builtin/packages/ampliconnoise/package.py
@@ -10,43 +10,41 @@ from spack.package import *
class Ampliconnoise(MakefilePackage):
"""AmpliconNoise is a collection of programs for the removal of noise
- from 454 sequenced PCR amplicons."""
+ from 454 sequenced PCR amplicons."""
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"
+ url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ampliconnoise/AmpliconNoiseV1.29.tar.gz"
- version('1.29', sha256='0bf946806d77ecaf0994ad8ebf9a5e98ad33c809f6def5c9340a16c367918167')
+ version("1.29", sha256="0bf946806d77ecaf0994ad8ebf9a5e98ad33c809f6def5c9340a16c367918167")
- depends_on('mpi@2:')
- depends_on('gsl')
+ depends_on("mpi@2:")
+ depends_on("gsl")
- patch('Fix-return-type.patch')
+ patch("Fix-return-type.patch")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.Scripts)
- env.set('PYRO_LOOKUP_FILE', os.path.join(self.prefix, 'Data',
- 'LookUp_E123.dat'))
- env.set('SEQ_LOOKUP_FILE', os.path.join(self.prefix, 'Data',
- 'Tran.dat'))
+ env.prepend_path("PATH", self.prefix.Scripts)
+ env.set("PYRO_LOOKUP_FILE", os.path.join(self.prefix, "Data", "LookUp_E123.dat"))
+ env.set("SEQ_LOOKUP_FILE", os.path.join(self.prefix, "Data", "Tran.dat"))
def install(self, spec, prefix):
- make('install')
- install_tree('bin', prefix.bin)
- install_tree('Data', prefix.Data)
- install_tree('FastaUnique', prefix.FastaUnique)
- install_tree('FCluster', prefix.FCluster)
- install_tree('NDist', prefix.NDist)
- install_tree('Perseus', prefix.Perseus)
- install_tree('PerseusD', prefix.PerseusD)
- install_tree('PyroDist', prefix.PyroDist)
- install_tree('PyroNoise', prefix.PyroNoise)
- install_tree('PyroNoiseM', prefix.PyroNoiseM)
- install_tree('Scripts', prefix.Scripts)
- install_tree('SeqDist', prefix.SeqDist)
- install_tree('SeqNoise', prefix.SeqNoise)
- install_tree('SplitClusterClust', prefix.SplitClusterClust)
- install_tree('SplitClusterEven', prefix.SplitClusterEven)
- install_tree('Test', prefix.Test)
- install_tree('TestFLX', prefix.TestFLX)
- install_tree('TestTitanium', prefix.TestTitanium)
- install_tree('TestTitaniumFast', prefix.TestTitaniumFast)
+ make("install")
+ install_tree("bin", prefix.bin)
+ install_tree("Data", prefix.Data)
+ install_tree("FastaUnique", prefix.FastaUnique)
+ install_tree("FCluster", prefix.FCluster)
+ install_tree("NDist", prefix.NDist)
+ install_tree("Perseus", prefix.Perseus)
+ install_tree("PerseusD", prefix.PerseusD)
+ install_tree("PyroDist", prefix.PyroDist)
+ install_tree("PyroNoise", prefix.PyroNoise)
+ install_tree("PyroNoiseM", prefix.PyroNoiseM)
+ install_tree("Scripts", prefix.Scripts)
+ install_tree("SeqDist", prefix.SeqDist)
+ install_tree("SeqNoise", prefix.SeqNoise)
+ install_tree("SplitClusterClust", prefix.SplitClusterClust)
+ install_tree("SplitClusterEven", prefix.SplitClusterEven)
+ install_tree("Test", prefix.Test)
+ install_tree("TestFLX", prefix.TestFLX)
+ install_tree("TestTitanium", prefix.TestTitanium)
+ install_tree("TestTitaniumFast", prefix.TestTitaniumFast)
diff --git a/var/spack/repos/builtin/packages/ampt/package.py b/var/spack/repos/builtin/packages/ampt/package.py
index c18f21b12f..f3e62e1353 100644
--- a/var/spack/repos/builtin/packages/ampt/package.py
+++ b/var/spack/repos/builtin/packages/ampt/package.py
@@ -9,28 +9,37 @@ from spack.package import *
class Ampt(MakefilePackage):
"""A Multi-Phase Transport (AMPT) model is a Monte Carlo transport model for
- nuclear collisions at relativistic energies."""
+ nuclear collisions at relativistic energies."""
homepage = "http://myweb.ecu.edu/linz/ampt/"
- url = "http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip"
-
- maintainers = ['vvolkl']
-
- tags = ['hep']
-
- patch('https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/ampt-2.26t9b_atlas.patch', level=0,
- sha256='7a9a4f175f84dc3021301dae5d48adab1fc714fccf44ec17128a3ba1608bff4c',
- when='@2.26-t9b_atlas')
-
- version('2.26-t9b_atlas', sha256='9441b5f77c2ab91a57b291abd4afd12de7968f9cbe9f3cc8dbe60fbf5293ed55',
- url='http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip')
- version('2.26-t9', sha256='9441b5f77c2ab91a57b291abd4afd12de7968f9cbe9f3cc8dbe60fbf5293ed55',
- url='http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip')
+ url = "http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip"
+
+ maintainers = ["vvolkl"]
+
+ tags = ["hep"]
+
+ patch(
+ "https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/ampt-2.26t9b_atlas.patch",
+ level=0,
+ sha256="7a9a4f175f84dc3021301dae5d48adab1fc714fccf44ec17128a3ba1608bff4c",
+ when="@2.26-t9b_atlas",
+ )
+
+ version(
+ "2.26-t9b_atlas",
+ sha256="9441b5f77c2ab91a57b291abd4afd12de7968f9cbe9f3cc8dbe60fbf5293ed55",
+ url="http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip",
+ )
+ version(
+ "2.26-t9",
+ sha256="9441b5f77c2ab91a57b291abd4afd12de7968f9cbe9f3cc8dbe60fbf5293ed55",
+ url="http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip",
+ )
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.share)
mkdir(prefix.share.ampt)
- install('ampt', prefix.bin)
- install('input.ampt', prefix.share.ampt)
- install('readme', prefix.share.ampt)
+ install("ampt", prefix.bin)
+ install("input.ampt", prefix.share.ampt)
+ install("readme", prefix.share.ampt)
diff --git a/var/spack/repos/builtin/packages/amr-wind/package.py b/var/spack/repos/builtin/packages/amr-wind/package.py
index d2e510f250..d714a76c7e 100644
--- a/var/spack/repos/builtin/packages/amr-wind/package.py
+++ b/var/spack/repos/builtin/packages/amr-wind/package.py
@@ -8,98 +8,96 @@ from spack.package import *
class AmrWind(CMakePackage, CudaPackage, ROCmPackage):
"""AMR-Wind is a massively parallel, block-structured adaptive-mesh,
- incompressible flow sover for wind turbine and wind farm simulations. """
+ 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"
-
- maintainers = ['jrood-nrel']
-
- tags = ['ecp', 'ecp-apps']
-
- version('main', branch='main', submodules=True)
-
- variant('hypre', default=True,
- description='Enable Hypre integration')
- variant('ascent', default=False,
- description='Enable Ascent integration')
- variant('masa', default=False,
- description='Enable MASA integration')
- variant('mpi', default=True,
- description='Enable MPI support')
- variant('netcdf', default=True,
- description='Enable NetCDF support')
- variant('openfast', default=False,
- description='Enable OpenFAST integration')
- variant('openmp', default=False,
- description='Enable OpenMP for CPU builds')
- variant('shared', default=True,
- description='Build shared libraries')
- variant('tests', default=True,
- description='Activate regression tests')
-
- depends_on('hypre~int64+shared@2.20.0:', when='+hypre')
- depends_on('hypre+mpi', when='+hypre+mpi')
+ git = "https://github.com/Exawind/amr-wind.git"
+
+ maintainers = ["jrood-nrel"]
+
+ tags = ["ecp", "ecp-apps"]
+
+ version("main", branch="main", submodules=True)
+
+ variant("hypre", default=True, description="Enable Hypre integration")
+ variant("ascent", default=False, description="Enable Ascent integration")
+ variant("masa", default=False, description="Enable MASA integration")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("netcdf", default=True, description="Enable NetCDF support")
+ variant("openfast", default=False, description="Enable OpenFAST integration")
+ variant("openmp", default=False, description="Enable OpenMP for CPU builds")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("tests", default=True, description="Activate regression tests")
+
+ depends_on("hypre~int64+shared@2.20.0:", when="+hypre")
+ depends_on("hypre+mpi", when="+hypre+mpi")
for arch in CudaPackage.cuda_arch_values:
- depends_on('hypre+cuda cuda_arch=%s' % arch,
- when='+cuda+hypre cuda_arch=%s' % arch)
+ depends_on("hypre+cuda cuda_arch=%s" % arch, when="+cuda+hypre cuda_arch=%s" % arch)
for arch in ROCmPackage.amdgpu_targets:
- depends_on('hypre+rocm amdgpu_target=%s' % arch,
- when='+rocm+hypre amdgpu_target=%s' % arch)
- depends_on('masa', when='+masa')
+ depends_on(
+ "hypre+rocm amdgpu_target=%s" % arch, when="+rocm+hypre amdgpu_target=%s" % arch
+ )
+ depends_on("masa", when="+masa")
# propagate variants to ascent
- depends_on('ascent~mpi', when='+ascent~mpi')
- depends_on('ascent+mpi', when='+ascent+mpi')
- depends_on('ascent~shared', when='+ascent~shared')
- depends_on('ascent+shared', when='+ascent+shared')
- depends_on('ascent~openmp', when='+ascent~openmp')
- depends_on('ascent+openmp', when='+ascent+openmp')
+ depends_on("ascent~mpi", when="+ascent~mpi")
+ depends_on("ascent+mpi", when="+ascent+mpi")
+ depends_on("ascent~shared", when="+ascent~shared")
+ depends_on("ascent+shared", when="+ascent+shared")
+ depends_on("ascent~openmp", when="+ascent~openmp")
+ depends_on("ascent+openmp", when="+ascent+openmp")
for arch in CudaPackage.cuda_arch_values:
- depends_on('ascent+cuda cuda_arch=%s' % arch,
- when='+ascent+cuda cuda_arch=%s' % arch)
+ depends_on("ascent+cuda cuda_arch=%s" % arch, when="+ascent+cuda cuda_arch=%s" % arch)
- depends_on('mpi', when='+mpi')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('openfast+cxx@2.6.0:', when='+openfast')
- depends_on('py-matplotlib', when='+masa')
- depends_on('py-pandas', when='+masa')
+ depends_on("mpi", when="+mpi")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("openfast+cxx@2.6.0:", when="+openfast")
+ depends_on("py-matplotlib", when="+masa")
+ depends_on("py-pandas", when="+masa")
- conflicts('+openmp', when='+cuda')
- conflicts('+shared', when='+cuda')
+ conflicts("+openmp", when="+cuda")
+ conflicts("+shared", when="+cuda")
def setup_build_environment(self, env):
# Avoid compile errors with Intel interprocedural optimization
- if '%intel' in self.spec:
- env.append_flags('CXXFLAGS', '-no-ipo')
+ if "%intel" in self.spec:
+ env.append_flags("CXXFLAGS", "-no-ipo")
def cmake_args(self):
define = CMakePackage.define
- vs = ["mpi", "cuda", "openmp", "netcdf", "hypre", "masa",
- "ascent", "openfast", "rocm", "tests"]
- args = [
- self.define_from_variant("AMR_WIND_ENABLE_%s" % v.upper(), v)
- for v in vs
+ vs = [
+ "mpi",
+ "cuda",
+ "openmp",
+ "netcdf",
+ "hypre",
+ "masa",
+ "ascent",
+ "openfast",
+ "rocm",
+ "tests",
]
+ args = [self.define_from_variant("AMR_WIND_ENABLE_%s" % v.upper(), v) for v in vs]
args += [
- define('AMR_WIND_ENABLE_ALL_WARNINGS', True),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ define("AMR_WIND_ENABLE_ALL_WARNINGS", True),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
- if '+mpi' in self.spec:
- args.append(define('MPI_HOME', self.spec['mpi'].prefix))
+ if "+mpi" in self.spec:
+ args.append(define("MPI_HOME", self.spec["mpi"].prefix))
- if '+cuda' in self.spec:
- amrex_arch = ['{0:.1f}'.format(float(i) / 10.0)
- for i in self.spec.variants['cuda_arch'].value]
+ if "+cuda" in self.spec:
+ amrex_arch = [
+ "{0:.1f}".format(float(i) / 10.0) for i in self.spec.variants["cuda_arch"].value
+ ]
if amrex_arch:
- args.append(define('AMReX_CUDA_ARCH', amrex_arch))
+ args.append(define("AMReX_CUDA_ARCH", amrex_arch))
- if '+rocm' in self.spec:
- args.append(define('CMAKE_CXX_COMPILER', self.spec['hip'].hipcc))
- targets = self.spec.variants['amdgpu_target'].value
- args.append('-DAMReX_AMD_ARCH=' + ';'.join(str(x) for x in targets))
+ if "+rocm" in self.spec:
+ args.append(define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc))
+ targets = self.spec.variants["amdgpu_target"].value
+ args.append("-DAMReX_AMD_ARCH=" + ";".join(str(x) for x in targets))
return args
diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py
index 8600698463..fcf222c8fd 100644
--- a/var/spack/repos/builtin/packages/amrex/package.py
+++ b/var/spack/repos/builtin/packages/amrex/package.py
@@ -12,253 +12,270 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
mesh refinement (AMR) applications."""
homepage = "https://amrex-codes.github.io/amrex/"
- url = "https://github.com/AMReX-Codes/amrex/releases/download/22.07/amrex-22.07.tar.gz"
- git = "https://github.com/AMReX-Codes/amrex.git"
+ url = "https://github.com/AMReX-Codes/amrex/releases/download/22.07/amrex-22.07.tar.gz"
+ git = "https://github.com/AMReX-Codes/amrex.git"
test_requires_compiler = True
- tags = ['ecp', 'e4s']
-
- maintainers = ['WeiqunZhang', 'asalmgren', 'etpalmer63']
-
- version('develop', branch='development')
- version('22.07', sha256='7df433c780ab8429362df8d6d995c95d87a7c3f31ab81d5b0f416203dece086d')
- version('22.06', sha256='d8aa58e72c86a3da9a7be5a5947294fd3eaac6b233f563366f9e000d833726db')
- version('22.05', sha256='a760c7ca12915ca56b60d1f3c44103185db21ec2b8c01bc7b6762ff9c84e3f53')
- version('22.04', sha256='c33f5bdbc1ca21d8dd34b494a9c6c67a7eda4f42403cec3a7c13963f9140ebcf')
- version('22.03', sha256='2a67233e55f20b937e2da97f1ed3ab0666e12ef283b4d14c9456ebf21f36b77c')
- version('22.02', sha256='5d8dd3fa3c416b04e70188e06b7e8fc2838d78b43a2cf33a285184c77f0c1e1e')
- version('22.01', sha256='857df5b2fa8e3010b8856b81879a5be32ba7cc2e575474256eae7ef815b8354d')
- version('21.12', sha256='439f9ebf2b440fc739a7976f3ade188ec3e1de5f51a0b151e6b8dda36fa67278')
- version('21.11', sha256='2edb72d7cf7e86340fcaceb325368560957bcd952fd34cd501bfdf038e1338a4')
- version('21.10', sha256='a11954c03b1ec26c26b676460dc5de5195469e813b70fbcea6dfdefeafaf5407')
- version('21.09', sha256='983b41d93bf9417c032080fd2ec7c04d0d2b820e613a076bd07566aa5a8aa4bd')
- version('21.08', sha256='34fb6c72735c74820b27db1138e5bc9fe698ffbd8344aae10a5fbdace479b57f')
- version('21.07', sha256='9630b8c0c7ffbf3f5ea4d973a3fdb40b9b10fec0f8df33b9e24d76d2c1d15771')
- version('21.06', sha256='6982c22837d7c0bc4583065d9da55e0aebcf07b54386e4b90a779391fe73fd53')
- version('21.05', sha256='eb6d21e48279ad67278413c77b29a1754c18ffe741aa6b3a9f3f01eeac13177f')
- version('21.04', sha256='1c610e4b0800b16f7f1da74193ff11af0abfb12198b36a7e565a6a7f793087fa')
- version('21.03', sha256='6307bf75c80c2076bf5bd1cff4d12483280a32b5175fe117f32eed9c89cd1ac5')
- version('21.02', sha256='4a7ef997c43f9f03f1b06dd1aafa01218773a3265a5c1811f77eb4521b5e75b3')
- version('21.01', sha256='59de3ed429347ee6a7ad4f09c0c431248f2e081f59c301db37cacb36993622f4')
- version('20.12', sha256='a8ba1d605780250da77619939582ce44b33cd286f2dbcc0dfd5cdbaf209140a5')
- version('20.11', sha256='b86f4f2ebf414cec050e562d4ab81545944bda581b496d69767b4bf6a3060855')
- version('20.10', sha256='92def480d1f0bcb5bcb9dfae2ddc8997060414386a1d71ccbfdad785fa2e46fa')
- version('20.09', sha256='3ae203f18656117d8201da16e899a6144ec217817a2a5d9b7649e2eef9cacdf9')
- version('20.08', sha256='a202430cd8dbef2de29b20fe9b5881cc58ee762326556ec3c0ad9c3f85ddfc2f')
- version('20.07', sha256='c386f566f4c57ee56b5630f79ce2c6117d5a612a4aab69b7b26e48d577251165')
- version('20.06', sha256='be2f2a5107111fcb8b3928b76024b370c7cb01a9e5dd79484cf7fcf59d0b4858')
- version('20.05', sha256='97d753bb75e845a0a959ec1a044a48e6adb86dd008b5e29ce7a01d49ed276338')
- version('20.04', sha256='a7ece54d5d89cc00fd555551902a0d4d0fb50db15d2600f441353eed0dddd83b')
- version('20.03', sha256='9728f20c0d7297c935fe5cbc63c1ee60f983b833a735c797340ee2765d626165')
- version('20.02', sha256='2eda858b43e7455718ccb96c18f678da1778ec61031e90effdcb9c3e7e6f9bb5')
- version('20.01', sha256='957e7a7fe90a0a9f4ae10bf9e46dba68d72448d0bec69a4a4e66a544930caca3')
- version('19.10', sha256='9f30a2b3ec13711dfc6a1b59af59bd7df78449b5846ac6457b5dbbdecb20c576')
- version('19.08', sha256='94b1e9a9dcfb8c5b52aef91a2ed373aef504d766dd7d0aba6731ceb94e48e940')
- version('18.10.1', sha256='e648465c9c3b7ff4c696dfa8b6d079b4f61c80d96c51e27af210951c9367c201')
- version('18.10', sha256='298eba03ef03d617c346079433af1089d38076d6fab2c34476c687740c1f4234')
- version('18.09.1', sha256='a065ee4d1d98324b6c492ae20ea63ba12a4a4e23432bf5b3fe9788d44aa4398e')
+ tags = ["ecp", "e4s"]
+
+ maintainers = ["WeiqunZhang", "asalmgren", "etpalmer63"]
+
+ version("develop", branch="development")
+ version("22.07", sha256="7df433c780ab8429362df8d6d995c95d87a7c3f31ab81d5b0f416203dece086d")
+ version("22.06", sha256="d8aa58e72c86a3da9a7be5a5947294fd3eaac6b233f563366f9e000d833726db")
+ version("22.05", sha256="a760c7ca12915ca56b60d1f3c44103185db21ec2b8c01bc7b6762ff9c84e3f53")
+ version("22.04", sha256="c33f5bdbc1ca21d8dd34b494a9c6c67a7eda4f42403cec3a7c13963f9140ebcf")
+ version("22.03", sha256="2a67233e55f20b937e2da97f1ed3ab0666e12ef283b4d14c9456ebf21f36b77c")
+ version("22.02", sha256="5d8dd3fa3c416b04e70188e06b7e8fc2838d78b43a2cf33a285184c77f0c1e1e")
+ version("22.01", sha256="857df5b2fa8e3010b8856b81879a5be32ba7cc2e575474256eae7ef815b8354d")
+ version("21.12", sha256="439f9ebf2b440fc739a7976f3ade188ec3e1de5f51a0b151e6b8dda36fa67278")
+ version("21.11", sha256="2edb72d7cf7e86340fcaceb325368560957bcd952fd34cd501bfdf038e1338a4")
+ version("21.10", sha256="a11954c03b1ec26c26b676460dc5de5195469e813b70fbcea6dfdefeafaf5407")
+ version("21.09", sha256="983b41d93bf9417c032080fd2ec7c04d0d2b820e613a076bd07566aa5a8aa4bd")
+ version("21.08", sha256="34fb6c72735c74820b27db1138e5bc9fe698ffbd8344aae10a5fbdace479b57f")
+ version("21.07", sha256="9630b8c0c7ffbf3f5ea4d973a3fdb40b9b10fec0f8df33b9e24d76d2c1d15771")
+ version("21.06", sha256="6982c22837d7c0bc4583065d9da55e0aebcf07b54386e4b90a779391fe73fd53")
+ version("21.05", sha256="eb6d21e48279ad67278413c77b29a1754c18ffe741aa6b3a9f3f01eeac13177f")
+ version("21.04", sha256="1c610e4b0800b16f7f1da74193ff11af0abfb12198b36a7e565a6a7f793087fa")
+ version("21.03", sha256="6307bf75c80c2076bf5bd1cff4d12483280a32b5175fe117f32eed9c89cd1ac5")
+ version("21.02", sha256="4a7ef997c43f9f03f1b06dd1aafa01218773a3265a5c1811f77eb4521b5e75b3")
+ version("21.01", sha256="59de3ed429347ee6a7ad4f09c0c431248f2e081f59c301db37cacb36993622f4")
+ version("20.12", sha256="a8ba1d605780250da77619939582ce44b33cd286f2dbcc0dfd5cdbaf209140a5")
+ version("20.11", sha256="b86f4f2ebf414cec050e562d4ab81545944bda581b496d69767b4bf6a3060855")
+ version("20.10", sha256="92def480d1f0bcb5bcb9dfae2ddc8997060414386a1d71ccbfdad785fa2e46fa")
+ version("20.09", sha256="3ae203f18656117d8201da16e899a6144ec217817a2a5d9b7649e2eef9cacdf9")
+ version("20.08", sha256="a202430cd8dbef2de29b20fe9b5881cc58ee762326556ec3c0ad9c3f85ddfc2f")
+ version("20.07", sha256="c386f566f4c57ee56b5630f79ce2c6117d5a612a4aab69b7b26e48d577251165")
+ version("20.06", sha256="be2f2a5107111fcb8b3928b76024b370c7cb01a9e5dd79484cf7fcf59d0b4858")
+ version("20.05", sha256="97d753bb75e845a0a959ec1a044a48e6adb86dd008b5e29ce7a01d49ed276338")
+ version("20.04", sha256="a7ece54d5d89cc00fd555551902a0d4d0fb50db15d2600f441353eed0dddd83b")
+ version("20.03", sha256="9728f20c0d7297c935fe5cbc63c1ee60f983b833a735c797340ee2765d626165")
+ version("20.02", sha256="2eda858b43e7455718ccb96c18f678da1778ec61031e90effdcb9c3e7e6f9bb5")
+ version("20.01", sha256="957e7a7fe90a0a9f4ae10bf9e46dba68d72448d0bec69a4a4e66a544930caca3")
+ version("19.10", sha256="9f30a2b3ec13711dfc6a1b59af59bd7df78449b5846ac6457b5dbbdecb20c576")
+ version("19.08", sha256="94b1e9a9dcfb8c5b52aef91a2ed373aef504d766dd7d0aba6731ceb94e48e940")
+ version("18.10.1", sha256="e648465c9c3b7ff4c696dfa8b6d079b4f61c80d96c51e27af210951c9367c201")
+ version("18.10", sha256="298eba03ef03d617c346079433af1089d38076d6fab2c34476c687740c1f4234")
+ version("18.09.1", sha256="a065ee4d1d98324b6c492ae20ea63ba12a4a4e23432bf5b3fe9788d44aa4398e")
# Config options
- variant('dimensions', default='3',
- description='Dimensionality', values=('2', '3'))
- variant('shared', default=False,
- description='Build shared library')
- variant('mpi', default=True,
- description='Build with MPI support')
- variant('openmp', default=False,
- description='Build with OpenMP support')
- variant('precision', default='double',
- description='Real precision (double/single)',
- values=('single', 'double'))
- variant('eb', default=False,
- description='Build Embedded Boundary classes')
- variant('fortran', default=False,
- description='Build Fortran API')
- variant('linear_solvers', default=True,
- description='Build linear solvers')
- variant('amrdata', default=False,
- description='Build data services')
- variant('particles', default=False,
- description='Build particle classes')
- variant('plotfile_tools', default=False,
- description='Build plotfile_tools like fcompare')
- variant('tiny_profile', default=False,
- description='Enable tiny profiling')
- variant('hdf5', default=False,
- description='Enable HDF5-based I/O')
- variant('hypre', default=False,
- description='Enable Hypre interfaces')
- variant('petsc', default=False,
- description='Enable PETSc interfaces')
- variant('sundials', default=False,
- description='Enable SUNDIALS interfaces')
- variant('pic', default=False,
- description='Enable PIC')
+ variant("dimensions", default="3", description="Dimensionality", values=("2", "3"))
+ variant("shared", default=False, description="Build shared library")
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant(
+ "precision",
+ default="double",
+ description="Real precision (double/single)",
+ values=("single", "double"),
+ )
+ variant("eb", default=False, description="Build Embedded Boundary classes")
+ variant("fortran", default=False, description="Build Fortran API")
+ variant("linear_solvers", default=True, description="Build linear solvers")
+ variant("amrdata", default=False, description="Build data services")
+ variant("particles", default=False, description="Build particle classes")
+ variant("plotfile_tools", default=False, description="Build plotfile_tools like fcompare")
+ variant("tiny_profile", default=False, description="Enable tiny profiling")
+ variant("hdf5", default=False, description="Enable HDF5-based I/O")
+ variant("hypre", default=False, description="Enable Hypre interfaces")
+ variant("petsc", default=False, description="Enable PETSc interfaces")
+ variant("sundials", default=False, description="Enable SUNDIALS interfaces")
+ variant("pic", default=False, description="Enable PIC")
# Build dependencies
- depends_on('mpi', when='+mpi')
- depends_on('sundials@4.0.0:4.1.0 +ARKODE +CVODE', when='@19.08:20.11 +sundials')
- depends_on('sundials@5.7.0: +ARKODE +CVODE', when='@21.07:22.04 +sundials')
- depends_on('sundials@6.0.0: +ARKODE +CVODE', when='@22.05: +sundials')
+ depends_on("mpi", when="+mpi")
+ depends_on("sundials@4.0.0:4.1.0 +ARKODE +CVODE", when="@19.08:20.11 +sundials")
+ depends_on("sundials@5.7.0: +ARKODE +CVODE", when="@21.07:22.04 +sundials")
+ depends_on("sundials@6.0.0: +ARKODE +CVODE", when="@22.05: +sundials")
for arch in CudaPackage.cuda_arch_values:
- depends_on('sundials@5.7.0: +ARKODE +CVODE +cuda cuda_arch=%s' % arch, when='@21.07:22.04 +sundials +cuda cuda_arch=%s' % arch)
- depends_on('sundials@6.0.0: +ARKODE +CVODE +cuda cuda_arch=%s' % arch, when='@22.05: +sundials +cuda cuda_arch=%s' % arch)
+ depends_on(
+ "sundials@5.7.0: +ARKODE +CVODE +cuda cuda_arch=%s" % arch,
+ when="@21.07:22.04 +sundials +cuda cuda_arch=%s" % arch,
+ )
+ depends_on(
+ "sundials@6.0.0: +ARKODE +CVODE +cuda cuda_arch=%s" % arch,
+ when="@22.05: +sundials +cuda cuda_arch=%s" % arch,
+ )
for tgt in ROCmPackage.amdgpu_targets:
- depends_on('sundials@5.7.0: +ARKODE +CVODE +rocm amdgpu_target=%s' % tgt, when='@21.07:22.04 +sundials +rocm amdgpu_target=%s' % tgt)
- depends_on('sundials@6.0.0: +ARKODE +CVODE +rocm amdgpu_target=%s' % tgt, when='@22.05: +sundials +rocm amdgpu_target=%s' % tgt)
-
- depends_on('cuda@9.0.0:', when='@:22.04 +cuda')
- depends_on('cuda@10.0.0:', when='@22.05: +cuda')
- depends_on('python@2.7:', type='build', when='@:20.04')
- depends_on('cmake@3.5:', type='build', when='@:18.10')
- depends_on('cmake@3.13:', type='build', when='@18.11:19.03')
- depends_on('cmake@3.14:', type='build', when='@19.04:')
+ depends_on(
+ "sundials@5.7.0: +ARKODE +CVODE +rocm amdgpu_target=%s" % tgt,
+ when="@21.07:22.04 +sundials +rocm amdgpu_target=%s" % tgt,
+ )
+ depends_on(
+ "sundials@6.0.0: +ARKODE +CVODE +rocm amdgpu_target=%s" % tgt,
+ when="@22.05: +sundials +rocm amdgpu_target=%s" % tgt,
+ )
+
+ depends_on("cuda@9.0.0:", when="@:22.04 +cuda")
+ depends_on("cuda@10.0.0:", when="@22.05: +cuda")
+ depends_on("python@2.7:", type="build", when="@:20.04")
+ depends_on("cmake@3.5:", type="build", when="@:18.10")
+ depends_on("cmake@3.13:", type="build", when="@18.11:19.03")
+ depends_on("cmake@3.14:", type="build", when="@19.04:")
# cmake @3.17: is necessary to handle cuda @11: correctly
- depends_on('cmake@3.17:', type='build', when='^cuda @11:')
- depends_on('cmake@3.17:', type='build', when='@22.06:')
- depends_on('cmake@3.20:', type='build', when='+rocm')
- depends_on('hdf5@1.10.4: +mpi', when='+hdf5')
- depends_on('rocrand', type='build', when='+rocm')
- depends_on('rocprim', type='build', when='@21.05: +rocm')
- depends_on('hypre@2.18.2:', type='link', when='@:21.02 +hypre')
- depends_on('hypre@2.19.0:', type='link', when='@21.03: ~cuda +hypre')
- depends_on('hypre@2.20.0:', type='link', when='@21.03: +cuda +hypre')
- depends_on('petsc', type='link', when='+petsc')
+ depends_on("cmake@3.17:", type="build", when="^cuda @11:")
+ depends_on("cmake@3.17:", type="build", when="@22.06:")
+ depends_on("cmake@3.20:", type="build", when="+rocm")
+ depends_on("hdf5@1.10.4: +mpi", when="+hdf5")
+ depends_on("rocrand", type="build", when="+rocm")
+ depends_on("rocprim", type="build", when="@21.05: +rocm")
+ depends_on("hypre@2.18.2:", type="link", when="@:21.02 +hypre")
+ depends_on("hypre@2.19.0:", type="link", when="@21.03: ~cuda +hypre")
+ depends_on("hypre@2.20.0:", type="link", when="@21.03: +cuda +hypre")
+ depends_on("petsc", type="link", when="+petsc")
# these versions of gcc have lambda function issues
# see https://github.com/spack/spack/issues/22310
- conflicts('%gcc@8.1.0:8.3.0', when='@21.03')
- conflicts('%gcc@8.1.0:8.2.0', when='@21.01:21.02')
+ conflicts("%gcc@8.1.0:8.3.0", when="@21.03")
+ conflicts("%gcc@8.1.0:8.2.0", when="@21.01:21.02")
# Check options compatibility
- conflicts('+sundials', when='@19.08:20.11 ~fortran',
- msg='AMReX SUNDIALS support needs AMReX Fortran API (+fortran)')
- conflicts('+sundials', when='@20.12:21.06',
- msg='AMReX 20.12 -- 21.06 does not support SUNDIALS interfaces')
- conflicts('+hdf5', when='@:20.06',
- msg='AMReX HDF5 support needs AMReX newer than version 20.06')
- conflicts('+hypre', when='@:20.06',
- msg='AMReX Hypre support needs AMReX newer than version 20.06')
- conflicts('+hypre', when='@:20.07 ~fortran',
- msg='AMReX < 20.08 needs the Fortran API (+fortran) for Hypre support')
- conflicts('+hypre', when='~linear_solvers',
- msg='AMReX Hypre support needs variant +linear_solvers')
- conflicts('+petsc', when='@:20.06',
- msg='PETSc support needs AMReX newer than version 20.06')
- conflicts('+petsc', when='@:20.07 ~fortran',
- msg='AMReX < 20.08 needs the Fortran API (+fortran) for PETSc support')
- conflicts('+petsc', when='~linear_solvers',
- msg='AMReX PETSc support needs variant +linear_solvers')
- conflicts('+cuda', when='@:19.08',
- msg='AMReX CUDA support needs AMReX newer than version 19.08')
- conflicts('cuda_arch=10', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=11', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=12', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=13', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=20', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=21', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=30', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=32', when='+cuda', msg='AMReX only supports compute capabilities >= 3.5')
- conflicts('+rocm', when='@:20.11', msg='AMReX HIP support needs AMReX newer than version 20.11')
- conflicts('%rocm@4.2.0:4.2', when='+rocm',
- msg='AMReX does not support rocm-4.2 due to a compiler bug')
- conflicts('+cuda', when='+rocm', msg='CUDA and HIP support are exclusive')
+ conflicts(
+ "+sundials",
+ when="@19.08:20.11 ~fortran",
+ msg="AMReX SUNDIALS support needs AMReX Fortran API (+fortran)",
+ )
+ conflicts(
+ "+sundials",
+ when="@20.12:21.06",
+ msg="AMReX 20.12 -- 21.06 does not support SUNDIALS interfaces",
+ )
+ conflicts(
+ "+hdf5", when="@:20.06", msg="AMReX HDF5 support needs AMReX newer than version 20.06"
+ )
+ conflicts(
+ "+hypre", when="@:20.06", msg="AMReX Hypre support needs AMReX newer than version 20.06"
+ )
+ conflicts(
+ "+hypre",
+ when="@:20.07 ~fortran",
+ msg="AMReX < 20.08 needs the Fortran API (+fortran) for Hypre support",
+ )
+ conflicts(
+ "+hypre", when="~linear_solvers", msg="AMReX Hypre support needs variant +linear_solvers"
+ )
+ conflicts("+petsc", when="@:20.06", msg="PETSc support needs AMReX newer than version 20.06")
+ conflicts(
+ "+petsc",
+ when="@:20.07 ~fortran",
+ msg="AMReX < 20.08 needs the Fortran API (+fortran) for PETSc support",
+ )
+ conflicts(
+ "+petsc", when="~linear_solvers", msg="AMReX PETSc support needs variant +linear_solvers"
+ )
+ conflicts(
+ "+cuda", when="@:19.08", msg="AMReX CUDA support needs AMReX newer than version 19.08"
+ )
+ conflicts("cuda_arch=10", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=11", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=12", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=13", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=20", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=21", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=30", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts("cuda_arch=32", when="+cuda", msg="AMReX only supports compute capabilities >= 3.5")
+ conflicts(
+ "+rocm", when="@:20.11", msg="AMReX HIP support needs AMReX newer than version 20.11"
+ )
+ conflicts(
+ "%rocm@4.2.0:4.2",
+ when="+rocm",
+ msg="AMReX does not support rocm-4.2 due to a compiler bug",
+ )
+ conflicts("+cuda", when="+rocm", msg="CUDA and HIP support are exclusive")
def url_for_version(self, version):
- if version >= Version('20.05'):
+ if version >= Version("20.05"):
url = "https://github.com/AMReX-Codes/amrex/releases/download/{0}/amrex-{0}.tar.gz"
else:
url = "https://github.com/AMReX-Codes/amrex/archive/{0}.tar.gz"
return url.format(version.dotted)
def get_cuda_arch_string(self, values):
- if 'none' in values:
- return 'Auto'
+ if "none" in values:
+ return "Auto"
else:
# Use format x.y instead of CudaPackage xy format
vf = tuple(float(x) / 10.0 for x in values)
- return ';'.join(str(x) for x in vf)
+ return ";".join(str(x) for x in vf)
#
# For versions > 20.11
#
- @when('@20.12:,develop')
+ @when("@20.12:,develop")
def cmake_args(self):
args = [
- '-DUSE_XSDK_DEFAULTS=ON',
- self.define_from_variant('AMReX_SPACEDIM', 'dimensions'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('AMReX_MPI', 'mpi'),
- self.define_from_variant('AMReX_OMP', 'openmp'),
- '-DXSDK_PRECISION:STRING=%s' %
- self.spec.variants['precision'].value.upper(),
- self.define_from_variant('XSDK_ENABLE_Fortran', 'fortran'),
- self.define_from_variant('AMReX_FORTRAN_INTERFACES', 'fortran'),
- self.define_from_variant('AMReX_EB', 'eb'),
- self.define_from_variant('AMReX_LINEAR_SOLVERS', 'linear_solvers'),
- self.define_from_variant('AMReX_AMRDATA', 'amrdata'),
- self.define_from_variant('AMReX_PARTICLES', 'particles'),
- self.define_from_variant('AMReX_PLOTFILE_TOOLS', 'plotfile_tools'),
- self.define_from_variant('AMReX_TINY_PROFILE', 'tiny_profile'),
- self.define_from_variant('AMReX_HDF5', 'hdf5'),
- self.define_from_variant('AMReX_HYPRE', 'hypre'),
- self.define_from_variant('AMReX_PETSC', 'petsc'),
- self.define_from_variant('AMReX_SUNDIALS', 'sundials'),
- self.define_from_variant('AMReX_PIC', 'pic'),
+ "-DUSE_XSDK_DEFAULTS=ON",
+ self.define_from_variant("AMReX_SPACEDIM", "dimensions"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("AMReX_MPI", "mpi"),
+ self.define_from_variant("AMReX_OMP", "openmp"),
+ "-DXSDK_PRECISION:STRING=%s" % self.spec.variants["precision"].value.upper(),
+ self.define_from_variant("XSDK_ENABLE_Fortran", "fortran"),
+ self.define_from_variant("AMReX_FORTRAN_INTERFACES", "fortran"),
+ self.define_from_variant("AMReX_EB", "eb"),
+ self.define_from_variant("AMReX_LINEAR_SOLVERS", "linear_solvers"),
+ self.define_from_variant("AMReX_AMRDATA", "amrdata"),
+ self.define_from_variant("AMReX_PARTICLES", "particles"),
+ self.define_from_variant("AMReX_PLOTFILE_TOOLS", "plotfile_tools"),
+ self.define_from_variant("AMReX_TINY_PROFILE", "tiny_profile"),
+ self.define_from_variant("AMReX_HDF5", "hdf5"),
+ self.define_from_variant("AMReX_HYPRE", "hypre"),
+ self.define_from_variant("AMReX_PETSC", "petsc"),
+ self.define_from_variant("AMReX_SUNDIALS", "sundials"),
+ self.define_from_variant("AMReX_PIC", "pic"),
]
- if self.spec.satisfies('%fj'):
- args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
+ if self.spec.satisfies("%fj"):
+ args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")
- if '+cuda' in self.spec:
- args.append('-DAMReX_GPU_BACKEND=CUDA')
- args.append('-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON')
- args.append('-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON')
- cuda_arch = self.spec.variants['cuda_arch'].value
- args.append('-DAMReX_CUDA_ARCH=' + self.get_cuda_arch_string(cuda_arch))
+ if "+cuda" in self.spec:
+ args.append("-DAMReX_GPU_BACKEND=CUDA")
+ args.append("-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON")
+ args.append("-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON")
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ args.append("-DAMReX_CUDA_ARCH=" + self.get_cuda_arch_string(cuda_arch))
- if '+rocm' in self.spec:
- args.append('-DCMAKE_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc))
- args.append('-DAMReX_GPU_BACKEND=HIP')
- targets = self.spec.variants['amdgpu_target'].value
- args.append('-DAMReX_AMD_ARCH=' + ';'.join(str(x) for x in targets))
+ if "+rocm" in self.spec:
+ args.append("-DCMAKE_CXX_COMPILER={0}".format(self.spec["hip"].hipcc))
+ args.append("-DAMReX_GPU_BACKEND=HIP")
+ targets = self.spec.variants["amdgpu_target"].value
+ args.append("-DAMReX_AMD_ARCH=" + ";".join(str(x) for x in targets))
return args
#
# For versions <= 20.11
#
- @when('@:20.11')
+ @when("@:20.11")
def cmake_args(self):
args = [
- '-DUSE_XSDK_DEFAULTS=ON',
- self.define_from_variant('DIM', 'dimensions'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('ENABLE_MPI', 'mpi'),
- self.define_from_variant('ENABLE_OMP', 'openmp'),
- '-DXSDK_PRECISION:STRING=%s' %
- self.spec.variants['precision'].value.upper(),
- self.define_from_variant('XSDK_ENABLE_Fortran', 'fortran'),
- self.define_from_variant('ENABLE_FORTRAN_INTERFACES', 'fortran'),
- self.define_from_variant('ENABLE_EB', 'eb'),
- self.define_from_variant('ENABLE_LINEAR_SOLVERS',
- 'linear_solvers'),
- self.define_from_variant('ENABLE_AMRDATA', 'amrdata'),
- self.define_from_variant('ENABLE_PARTICLES', 'particles'),
- self.define_from_variant('ENABLE_SUNDIALS', 'sundials'),
- self.define_from_variant('ENABLE_HDF5', 'hdf5'),
- self.define_from_variant('ENABLE_HYPRE', 'hypre'),
- self.define_from_variant('ENABLE_PETSC', 'petsc'),
- self.define_from_variant('ENABLE_CUDA', 'cuda'),
+ "-DUSE_XSDK_DEFAULTS=ON",
+ self.define_from_variant("DIM", "dimensions"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
+ self.define_from_variant("ENABLE_OMP", "openmp"),
+ "-DXSDK_PRECISION:STRING=%s" % self.spec.variants["precision"].value.upper(),
+ self.define_from_variant("XSDK_ENABLE_Fortran", "fortran"),
+ self.define_from_variant("ENABLE_FORTRAN_INTERFACES", "fortran"),
+ self.define_from_variant("ENABLE_EB", "eb"),
+ self.define_from_variant("ENABLE_LINEAR_SOLVERS", "linear_solvers"),
+ self.define_from_variant("ENABLE_AMRDATA", "amrdata"),
+ self.define_from_variant("ENABLE_PARTICLES", "particles"),
+ self.define_from_variant("ENABLE_SUNDIALS", "sundials"),
+ self.define_from_variant("ENABLE_HDF5", "hdf5"),
+ self.define_from_variant("ENABLE_HYPRE", "hypre"),
+ self.define_from_variant("ENABLE_PETSC", "petsc"),
+ self.define_from_variant("ENABLE_CUDA", "cuda"),
]
- if self.spec.satisfies('%fj'):
- args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
+ if self.spec.satisfies("%fj"):
+ args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- args.append('-DCUDA_ARCH=' + self.get_cuda_arch_string(cuda_arch))
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ args.append("-DCUDA_ARCH=" + self.get_cuda_arch_string(cuda_arch))
return args
@@ -267,29 +284,29 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
# tests can access build dependencies through self.spec['cmake'].
def cmake_bin(self, set=True):
"""(Hack) Set/get cmake dependency path."""
- filepath = join_path(self.install_test_root, 'cmake_bin_path.txt')
+ filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
if set:
- with open(filepath, 'w') as out_file:
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- out_file.write('{0}\n'.format(cmake_bin))
+ with open(filepath, "w") as out_file:
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ out_file.write("{0}\n".format(cmake_bin))
else:
- with open(filepath, 'r') as in_file:
+ with open(filepath, "r") as in_file:
return in_file.read().strip()
- @run_after('build')
+ @run_after("build")
def setup_smoke_test(self):
"""Skip setup smoke tests for AMReX versions less than 21.12."""
- if self.spec.satisfies('@:21.11'):
+ if self.spec.satisfies("@:21.11"):
return
- self.cache_extra_test_sources(['Tests'])
+ self.cache_extra_test_sources(["Tests"])
# TODO: Remove once self.spec['cmake'] is available here
self.cmake_bin(set=True)
def test(self):
"""Skip smoke tests for AMReX versions less than 21.12."""
- if self.spec.satisfies('@:21.11'):
+ if self.spec.satisfies("@:21.11"):
print("SKIPPED: Stand-alone tests not supported for this version of AMReX.")
return
@@ -298,20 +315,20 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
cmake_bin = self.cmake_bin(set=False)
args = []
- args.append('-S./cache/amrex/Tests/SpackSmokeTest')
- args.append('-DAMReX_ROOT=' + self.prefix)
- args.append('-DMPI_C_COMPILER=' + self.spec['mpi'].mpicc)
- args.append('-DMPI_CXX_COMPILER=' + self.spec['mpi'].mpicxx)
+ args.append("-S./cache/amrex/Tests/SpackSmokeTest")
+ args.append("-DAMReX_ROOT=" + self.prefix)
+ args.append("-DMPI_C_COMPILER=" + self.spec["mpi"].mpicc)
+ args.append("-DMPI_CXX_COMPILER=" + self.spec["mpi"].mpicxx)
args.extend(self.cmake_args())
- self.run_test(cmake_bin,
- args,
- purpose='Configure with CMake')
-
- self.run_test('make', [], purpose='Compile')
-
- self.run_test('install_test',
- ['./cache/amrex/Tests/Amr/Advection_AmrCore/Exec/inputs-ci'],
- ['finalized'],
- installed=False,
- purpose='AMReX Stand-Alone Smoke Test -- AmrCore',
- skip_missing=False)
+ self.run_test(cmake_bin, args, purpose="Configure with CMake")
+
+ self.run_test("make", [], purpose="Compile")
+
+ self.run_test(
+ "install_test",
+ ["./cache/amrex/Tests/Amr/Advection_AmrCore/Exec/inputs-ci"],
+ ["finalized"],
+ installed=False,
+ purpose="AMReX Stand-Alone Smoke Test -- AmrCore",
+ skip_missing=False,
+ )
diff --git a/var/spack/repos/builtin/packages/amrfinder/package.py b/var/spack/repos/builtin/packages/amrfinder/package.py
index ce7278293d..32cce65ab1 100644
--- a/var/spack/repos/builtin/packages/amrfinder/package.py
+++ b/var/spack/repos/builtin/packages/amrfinder/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class Amrfinder(MakefilePackage):
"""NCBI AMRFinderPlus: This software and the accompanying database identify
- acquired antimicrobial resistance genes in bacterial protein and/or
- assembled nucleotide sequences as well as known resistance-associated
- point mutations for several taxa. With AMRFinderPlus we added select
- members of additional classes of genes such as virulence factors,
- biocide, heat, acid, and metal resistance genes."""
+ acquired antimicrobial resistance genes in bacterial protein and/or
+ assembled nucleotide sequences as well as known resistance-associated
+ point mutations for several taxa. With AMRFinderPlus we added select
+ members of additional classes of genes such as virulence factors,
+ biocide, heat, acid, and metal resistance genes."""
homepage = "https://github.com/ncbi/amr/wiki"
- url = "https://github.com/ncbi/amr/archive/refs/tags/amrfinder_v3.10.30.tar.gz"
+ url = "https://github.com/ncbi/amr/archive/refs/tags/amrfinder_v3.10.30.tar.gz"
- version('3.10.30', sha256='2f1e30b86935a27cee740bd7229a41fbce278f2f60b33b8e51592bab8bdf23f1')
- version('3.10.24', sha256='fce299c980cda740dcc4f53f9b2dc9061c856213e5bdbc2c339185a5fb7dcf6a')
+ version("3.10.30", sha256="2f1e30b86935a27cee740bd7229a41fbce278f2f60b33b8e51592bab8bdf23f1")
+ version("3.10.24", sha256="fce299c980cda740dcc4f53f9b2dc9061c856213e5bdbc2c339185a5fb7dcf6a")
- depends_on('blast-plus')
- depends_on('hmmer')
- depends_on('curl')
+ depends_on("blast-plus")
+ depends_on("hmmer")
+ depends_on("curl")
def setup_build_environment(self, env):
- env.set('INSTALL_DIR', prefix.bin)
- env.set('DEFAULT_DB_DIR', prefix.share)
+ env.set("INSTALL_DIR", prefix.bin)
+ env.set("DEFAULT_DB_DIR", prefix.share)
- @run_before('build')
+ @run_before("build")
def create_bin_and_share(self):
mkdirp(self.spec.prefix.bin)
mkdirp(self.spec.prefix.share)
diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py
index 9b63bbbdbd..b7d5037183 100644
--- a/var/spack/repos/builtin/packages/amrvis/package.py
+++ b/var/spack/repos/builtin/packages/amrvis/package.py
@@ -9,167 +9,120 @@ from spack.package import *
class Amrvis(MakefilePackage):
"""Amrvis is a visualization package specifically designed to
- read and display output and profiling data from codes built
- on the AMReX framework.
+ read and display output and profiling data from codes built
+ on the AMReX framework.
"""
homepage = "https://github.com/AMReX-Codes/Amrvis"
- git = "https://github.com/AMReX-Codes/Amrvis.git"
+ git = "https://github.com/AMReX-Codes/Amrvis.git"
- maintainers = ['etpalmer63']
+ maintainers = ["etpalmer63"]
- version('main', tag='main')
+ version("main", tag="main")
variant(
- 'dims',
- default='3',
- values=('1', '2', '3'),
+ "dims",
+ default="3",
+ values=("1", "2", "3"),
multi=False,
- description='Number of spatial dimensions'
+ description="Number of spatial dimensions",
)
variant(
- 'prec',
- default='DOUBLE',
- values=('FLOAT', 'DOUBLE'),
+ "prec",
+ default="DOUBLE",
+ values=("FLOAT", "DOUBLE"),
multi=False,
- description='Floating point precision'
- )
- variant('mpi', default=True, description='Enable MPI parallel support')
- variant('debug', default=False, description='Enable debugging features')
- variant('profiling', default=False,
- description='Enable AMReX profiling features')
-
- depends_on('gmake', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('libsm')
- depends_on('libice')
- depends_on('libxpm')
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxext')
- depends_on('motif')
- depends_on('flex')
- depends_on('bison')
-
- conflicts(
- '+profiling', when='dims=1',
- msg='Amrvis profiling support requires a 2D build'
- )
- conflicts(
- '+profiling', when='dims=3',
- msg='Amrvis profiling support requires a 2D build'
+ description="Floating point precision",
)
+ variant("mpi", default=True, description="Enable MPI parallel support")
+ variant("debug", default=False, description="Enable debugging features")
+ variant("profiling", default=False, description="Enable AMReX profiling features")
+
+ depends_on("gmake", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("libsm")
+ depends_on("libice")
+ depends_on("libxpm")
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxext")
+ depends_on("motif")
+ depends_on("flex")
+ depends_on("bison")
+
+ conflicts("+profiling", when="dims=1", msg="Amrvis profiling support requires a 2D build")
+ conflicts("+profiling", when="dims=3", msg="Amrvis profiling support requires a 2D build")
# Only doing gcc and clang at the moment.
# Intel currently fails searching for mpiicc, mpiicpc, etc.
- for comp in ['%intel', '%cce', '%nag', '%pgi', '%xl', '%xl_r']:
- conflicts(
- comp,
- msg='Amrvis currently only builds with gcc and clang'
- )
+ for comp in ["%intel", "%cce", "%nag", "%pgi", "%xl", "%xl_r"]:
+ conflicts(comp, msg="Amrvis currently only builds with gcc and clang")
# Need to clone AMReX into Amrvis because Amrvis uses AMReX's source
- resource(name='amrex',
- git='https://github.com/AMReX-Codes/amrex.git',
- tag='development',
- placement='amrex')
+ resource(
+ name="amrex",
+ git="https://github.com/AMReX-Codes/amrex.git",
+ tag="development",
+ placement="amrex",
+ )
def edit(self, spec, prefix):
# libquadmath is only available x86_64 and powerle
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85440
- if self.spec.target.family not in ['x86_64', 'ppc64le']:
- comps = join_path('amrex', 'Tools', 'GNUMake', 'comps')
+ if self.spec.target.family not in ["x86_64", "ppc64le"]:
+ comps = join_path("amrex", "Tools", "GNUMake", "comps")
maks = [
- join_path(comps, 'gnu.mak'),
- join_path(comps, 'llvm.mak'),
+ join_path(comps, "gnu.mak"),
+ join_path(comps, "llvm.mak"),
]
for mak in maks:
- filter_file('-lquadmath', '', mak)
+ filter_file("-lquadmath", "", mak)
# Set all available makefile options to values we want
- makefile = FileFilter('GNUmakefile')
- makefile.filter(
- r'^AMREX_HOME\s*\?=.*',
- 'AMREX_HOME = {0}'.format('./amrex')
- )
+ makefile = FileFilter("GNUmakefile")
+ makefile.filter(r"^AMREX_HOME\s*\?=.*", "AMREX_HOME = {0}".format("./amrex"))
+ makefile.filter(r"^PRECISION\s*=.*", "PRECISION = {0}".format(spec.variants["prec"].value))
+ makefile.filter(r"^DIM\s*=.*", "DIM = {0}".format(spec.variants["dims"].value))
makefile.filter(
- r'^PRECISION\s*=.*',
- 'PRECISION = {0}'.format(spec.variants['prec'].value)
+ r"^PROFILE\s*=.*", "PROFILE = {0}".format(spec.variants["profiling"].value).upper()
)
makefile.filter(
- r'^DIM\s*=.*',
- 'DIM = {0}'.format(spec.variants['dims'].value)
+ r"^TRACE_PROFILE\s*=.*",
+ "TRACE_PROFILE = {0}".format(spec.variants["profiling"].value).upper(),
)
makefile.filter(
- r'^PROFILE\s*=.*',
- 'PROFILE = {0}'.format(
- spec.variants['profiling'].value
- ).upper()
+ r"^COMM_PROFILE\s*=.*",
+ "COMM_PROFILE = {0}".format(spec.variants["profiling"].value).upper(),
)
+ makefile.filter(r"^COMP\s*=.*", "COMP = {0}".format(self.compiler.name))
makefile.filter(
- r'^TRACE_PROFILE\s*=.*',
- 'TRACE_PROFILE = {0}'.format(
- spec.variants['profiling'].value
- ).upper()
+ r"^DEBUG\s*=.*", "DEBUG = {0}".format(spec.variants["debug"].value).upper()
)
+ makefile.filter(r"^USE_ARRAYVIEW\s*=.*", "USE_ARRAY_VIEW = FALSE")
makefile.filter(
- r'^COMM_PROFILE\s*=.*',
- 'COMM_PROFILE = {0}'.format(
- spec.variants['profiling'].value
- ).upper()
+ r"^USE_MPI\s*=.*", "USE_MPI = {0}".format(spec.variants["mpi"].value).upper()
)
+ makefile.filter(r"^USE_CXX11\s*=.*", "USE_CXX11 = TRUE")
+ makefile.filter(r"^USE_VOLRENDER\s*=.*", "USE_VOLRENDER = FALSE")
+ makefile.filter(r"^USE_PARALLELVOLRENDER\s*=.*", "USE_PARALLELVOLRENDER = FALSE")
makefile.filter(
- r'^COMP\s*=.*',
- 'COMP = {0}'.format(self.compiler.name)
- )
- makefile.filter(
- r'^DEBUG\s*=.*',
- 'DEBUG = {0}'.format(spec.variants['debug'].value).upper()
- )
- makefile.filter(
- r'^USE_ARRAYVIEW\s*=.*',
- 'USE_ARRAY_VIEW = FALSE'
- )
- makefile.filter(
- r'^USE_MPI\s*=.*',
- 'USE_MPI = {0}'.format(spec.variants['mpi'].value).upper()
- )
- makefile.filter(
- r'^USE_CXX11\s*=.*',
- 'USE_CXX11 = TRUE'
- )
- makefile.filter(
- r'^USE_VOLRENDER\s*=.*',
- 'USE_VOLRENDER = FALSE'
- )
- makefile.filter(
- r'^USE_PARALLELVOLRENDER\s*=.*',
- 'USE_PARALLELVOLRENDER = FALSE'
- )
- makefile.filter(
- r'^USE_PROFPARSER\s*=.*',
- 'USE_PROFPARSER = {0}'.format(
- spec.variants['profiling'].value
- ).upper()
+ r"^USE_PROFPARSER\s*=.*",
+ "USE_PROFPARSER = {0}".format(spec.variants["profiling"].value).upper(),
)
# A bit risky here deleting all /usr and /opt X
# library default search paths in makefile
makefile.filter(
- r'^.*\b(usr|opt)\b.*$',
- '# Spack removed INCLUDE_LOCATIONS and LIBRARY_LOCATIONS'
+ r"^.*\b(usr|opt)\b.*$", "# Spack removed INCLUDE_LOCATIONS and LIBRARY_LOCATIONS"
)
# Rewrite configuration file with location of
# the color palette after install
configfile = FileFilter("amrvis.defaults")
- configfile.filter(
- r'^palette\s*Palette\s*',
- 'palette {0}/etc/Palette\n'.format(prefix)
- )
+ configfile.filter(r"^palette\s*Palette\s*", "palette {0}/etc/Palette\n".format(prefix))
# Read GNUmakefile into array
- with open('GNUmakefile', 'r') as file:
+ with open("GNUmakefile", "r") as file:
contents = file.readlines()
# Edit GNUmakefile includes and libraries to point to Spack
@@ -178,41 +131,39 @@ class Amrvis(MakefilePackage):
# INCLUDE_LOCATIONS at the beginning of the makefile.
line_offset = 0
count = 0
- for lib in ['libsm', 'libice', 'libxpm', 'libx11',
- 'libxt', 'libxext', 'motif']:
+ for lib in ["libsm", "libice", "libxpm", "libx11", "libxt", "libxext", "motif"]:
contents.insert(
- line_offset + count,
- 'LIBRARY_LOCATIONS += {0}\n'.format(spec[lib].prefix.lib)
+ line_offset + count, "LIBRARY_LOCATIONS += {0}\n".format(spec[lib].prefix.lib)
)
contents.insert(
line_offset + count + 1,
- 'INCLUDE_LOCATIONS += {0}\n'.format(spec[lib].prefix.include)
+ "INCLUDE_LOCATIONS += {0}\n".format(spec[lib].prefix.include),
)
count += 1
# Write GNUmakefile
- with open('GNUmakefile', 'w') as file:
+ with open("GNUmakefile", "w") as file:
file.writelines(contents)
def setup_build_environment(self, env):
# We don't want an AMREX_HOME the user may have set already
- env.unset('AMREX_HOME')
+ env.unset("AMREX_HOME")
# Help force Amrvis to not pick up random system compilers
- if '+mpi' in self.spec:
- env.set('MPI_HOME', self.spec['mpi'].prefix)
- env.set('CC', self.spec['mpi'].mpicc)
- env.set('CXX', self.spec['mpi'].mpicxx)
- env.set('F77', self.spec['mpi'].mpif77)
- env.set('FC', self.spec['mpi'].mpifc)
+ if "+mpi" in self.spec:
+ env.set("MPI_HOME", self.spec["mpi"].prefix)
+ env.set("CC", self.spec["mpi"].mpicc)
+ env.set("CXX", self.spec["mpi"].mpicxx)
+ env.set("F77", self.spec["mpi"].mpif77)
+ env.set("FC", self.spec["mpi"].mpifc)
# Set CONFIG_FILEPATH so Amrvis can find the configuration
# file, amrvis.defaults.
- env.set('CONFIG_FILEPATH', self.spec.prefix.etc)
+ env.set("CONFIG_FILEPATH", self.spec.prefix.etc)
def install(self, spec, prefix):
# Install exe manually
mkdirp(prefix.bin)
- install('*.ex', prefix.bin)
+ install("*.ex", prefix.bin)
# Install configuration file and default color Palette
mkdirp(prefix.etc)
- install('amrvis.defaults', prefix.etc)
- install('Palette', prefix.etc)
+ install("amrvis.defaults", prefix.etc)
+ install("Palette", prefix.etc)
diff --git a/var/spack/repos/builtin/packages/anaconda2/package.py b/var/spack/repos/builtin/packages/anaconda2/package.py
index 286ec90193..d46498f7d0 100644
--- a/var/spack/repos/builtin/packages/anaconda2/package.py
+++ b/var/spack/repos/builtin/packages/anaconda2/package.py
@@ -11,43 +11,127 @@ from spack.util.environment import EnvironmentModifications
class Anaconda2(Package):
"""Anaconda is a free and open-source distribution of the Python and
- R programming languages for scientific computing, that aims to
- simplify package management and deployment. Package versions are
- managed by the package management system conda.
+ R programming languages for scientific computing, that aims to
+ simplify package management and deployment. Package versions are
+ managed by the package management system conda.
"""
homepage = "https://www.anaconda.com"
- url = "https://repo.anaconda.com/archive/Anaconda2-2019.10-Linux-x86_64.sh"
-
- maintainers = ['ajkotobi']
-
- version('2019.10', sha256='8b2e7dea2da7d8cc18e822e8ec1804052102f4eefb94c1b3d0e586e126e8cd2f', expand=False)
- version('2019.07', sha256='189e16e7adf9ba4b7b7d06ecdc10ce4ad4153e5e3505b9331f3d142243e18e97', expand=False)
- version('2019.03', sha256='cedfee5b5a3f62fcdac0a1d2d12396d0f232d2213d24d6dc893df5d8e64b8773', expand=False)
- version('2018.12', sha256='1821d4b623ed449e0acb6df3ecbabd3944cffa98f96a5234b7a102a7c0853dc6', expand=False)
- version('5.3.1', sha256='f0650ad2f9ca4ae3f3162d7204a32950bc794f37f322eb47b5ad9412454f998c', expand=False)
- version('5.3.0', sha256='50eeaab24bfa2472bc6485fe8f0e612ed67e561eda1ff9fbf07b62c96443c1be', expand=False)
- version('5.2.0', sha256='cb0d7a08b0e2cec4372033d3269979b4e72e2353ffd1444f57cb38bc9621219f', expand=False)
- version('5.1.0', sha256='5f26ee92860d1dffdcd20910ff2cf75572c39d2892d365f4e867a611cca2af5b', expand=False)
- version('5.0.1', sha256='23c676510bc87c95184ecaeb327c0b2c88007278e0d698622e2dd8fb14d9faa4', expand=False)
- version('5.0.0.1', sha256='18730808d863a5c194ab3f59dd395c1a63cbd769c9bfb1df65efe61ee62fc6d6', expand=False)
- version('5.0.0', sha256='58a7117f89c40275114bf7e824a613a963da2b0fe63f2ec3c1175fea785b468e', expand=False)
- version('4.4.0', sha256='2d30b91ed4d215b6b4a15162a3389e9057b15445a0c02da71bd7bd272e7b824e', expand=False)
- version('4.3.1', sha256='e9b8f2645df6b1527ba56d61343162e0794acc3ee8dde2a6bba353719e2d878d', expand=False)
- version('4.3.0', sha256='7c52e6e99aabb24a49880130615a48e685da444c3c14eb48d6a65f3313bf745c', expand=False)
- version('4.2.0', sha256='beee286d24fb37dd6555281bba39b3deb5804baec509a9dc5c69185098cf661a', expand=False)
- version('4.1.1', sha256='9413b1d3ca9498ba6f53913df9c43d685dd973440ff10b7fe0c45b1cbdcb582e', expand=False)
- version('4.1.0', sha256='3b7e504ca0132fb555d1f10e174cae07007f1bc6898cad0f7d416a68aca01f45', expand=False)
- version('4.0.0', sha256='ae312143952ca00e061a656c2080e0e4fd3532721282ba8e2978177cad71a5f0', expand=False)
- version('2.5.0', sha256='e10abf459cde4a838bd6fc5ca03023c3401b81ad470627acde5a298d56715321', expand=False)
- version('2.4.1', sha256='2de682c96edf8cca2852071a84ff860025fbe8c502218e1995acd5ab47e8c9ac', expand=False)
- version('2.4.0', sha256='49d19834da06b1b82b6fa85bc647d2e78fa5957d0cbae3ccd6c695a541befa6b', expand=False)
+ url = "https://repo.anaconda.com/archive/Anaconda2-2019.10-Linux-x86_64.sh"
+
+ maintainers = ["ajkotobi"]
+
+ version(
+ "2019.10",
+ sha256="8b2e7dea2da7d8cc18e822e8ec1804052102f4eefb94c1b3d0e586e126e8cd2f",
+ expand=False,
+ )
+ version(
+ "2019.07",
+ sha256="189e16e7adf9ba4b7b7d06ecdc10ce4ad4153e5e3505b9331f3d142243e18e97",
+ expand=False,
+ )
+ version(
+ "2019.03",
+ sha256="cedfee5b5a3f62fcdac0a1d2d12396d0f232d2213d24d6dc893df5d8e64b8773",
+ expand=False,
+ )
+ version(
+ "2018.12",
+ sha256="1821d4b623ed449e0acb6df3ecbabd3944cffa98f96a5234b7a102a7c0853dc6",
+ expand=False,
+ )
+ version(
+ "5.3.1",
+ sha256="f0650ad2f9ca4ae3f3162d7204a32950bc794f37f322eb47b5ad9412454f998c",
+ expand=False,
+ )
+ version(
+ "5.3.0",
+ sha256="50eeaab24bfa2472bc6485fe8f0e612ed67e561eda1ff9fbf07b62c96443c1be",
+ expand=False,
+ )
+ version(
+ "5.2.0",
+ sha256="cb0d7a08b0e2cec4372033d3269979b4e72e2353ffd1444f57cb38bc9621219f",
+ expand=False,
+ )
+ version(
+ "5.1.0",
+ sha256="5f26ee92860d1dffdcd20910ff2cf75572c39d2892d365f4e867a611cca2af5b",
+ expand=False,
+ )
+ version(
+ "5.0.1",
+ sha256="23c676510bc87c95184ecaeb327c0b2c88007278e0d698622e2dd8fb14d9faa4",
+ expand=False,
+ )
+ version(
+ "5.0.0.1",
+ sha256="18730808d863a5c194ab3f59dd395c1a63cbd769c9bfb1df65efe61ee62fc6d6",
+ expand=False,
+ )
+ version(
+ "5.0.0",
+ sha256="58a7117f89c40275114bf7e824a613a963da2b0fe63f2ec3c1175fea785b468e",
+ expand=False,
+ )
+ version(
+ "4.4.0",
+ sha256="2d30b91ed4d215b6b4a15162a3389e9057b15445a0c02da71bd7bd272e7b824e",
+ expand=False,
+ )
+ version(
+ "4.3.1",
+ sha256="e9b8f2645df6b1527ba56d61343162e0794acc3ee8dde2a6bba353719e2d878d",
+ expand=False,
+ )
+ version(
+ "4.3.0",
+ sha256="7c52e6e99aabb24a49880130615a48e685da444c3c14eb48d6a65f3313bf745c",
+ expand=False,
+ )
+ version(
+ "4.2.0",
+ sha256="beee286d24fb37dd6555281bba39b3deb5804baec509a9dc5c69185098cf661a",
+ expand=False,
+ )
+ version(
+ "4.1.1",
+ sha256="9413b1d3ca9498ba6f53913df9c43d685dd973440ff10b7fe0c45b1cbdcb582e",
+ expand=False,
+ )
+ version(
+ "4.1.0",
+ sha256="3b7e504ca0132fb555d1f10e174cae07007f1bc6898cad0f7d416a68aca01f45",
+ expand=False,
+ )
+ version(
+ "4.0.0",
+ sha256="ae312143952ca00e061a656c2080e0e4fd3532721282ba8e2978177cad71a5f0",
+ expand=False,
+ )
+ version(
+ "2.5.0",
+ sha256="e10abf459cde4a838bd6fc5ca03023c3401b81ad470627acde5a298d56715321",
+ expand=False,
+ )
+ version(
+ "2.4.1",
+ sha256="2de682c96edf8cca2852071a84ff860025fbe8c502218e1995acd5ab47e8c9ac",
+ expand=False,
+ )
+ version(
+ "2.4.0",
+ sha256="49d19834da06b1b82b6fa85bc647d2e78fa5957d0cbae3ccd6c695a541befa6b",
+ expand=False,
+ )
def install(self, spec, prefix):
dir, anaconda_script = split(self.stage.archive_file)
- bash = which('bash')
- bash(anaconda_script, '-b', '-f', '-p', self.prefix)
+ bash = which("bash")
+ bash(anaconda_script, "-b", "-f", "-p", self.prefix)
def setup_run_environment(self, env):
- filename = self.prefix.etc.join('profile.d').join('conda.sh')
+ filename = self.prefix.etc.join("profile.d").join("conda.sh")
env.extend(EnvironmentModifications.from_sourcing_file(filename))
diff --git a/var/spack/repos/builtin/packages/anaconda3/package.py b/var/spack/repos/builtin/packages/anaconda3/package.py
index 2211e456b9..9a451a529c 100644
--- a/var/spack/repos/builtin/packages/anaconda3/package.py
+++ b/var/spack/repos/builtin/packages/anaconda3/package.py
@@ -11,53 +11,174 @@ from spack.util.environment import EnvironmentModifications
class Anaconda3(Package):
"""
- Anaconda is a free and open-source distribution of the Python and R
- programming languages for scientific computing, that aims to simplify
- package management and deployment. Package versions are managed by
- the package management system conda.
+ Anaconda is a free and open-source distribution of the Python and R
+ programming languages for scientific computing, that aims to simplify
+ package management and deployment. Package versions are managed by
+ the package management system conda.
"""
+
homepage = "https://www.anaconda.com"
- url = "https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh"
-
- 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)
- version('2019.10', sha256='46d762284d252e51cd58a8ca6c8adc9da2eadc82c342927b2f66ed011d1d8b53', expand=False)
- version('2019.07', sha256='69581cf739365ec7fb95608eef694ba959d7d33b36eb961953f2b82cb25bdf5a', expand=False)
- version('2019.03', sha256='45c851b7497cc14d5ca060064394569f724b67d9b5f98a926ed49b834a6bb73a', expand=False)
- version('2018.12', sha256='1019d0857e5865f8a6861eaf15bfe535b87e92b72ce4f531000dc672be7fce00', expand=False)
- version('5.3.1', sha256='d4c4256a8f46173b675dd6a62d12f566ed3487f932bab6bb7058f06c124bcc27', expand=False)
- version('5.3.0', sha256='cfbf5fe70dd1b797ec677e63c61f8efc92dad930fd1c94d60390bb07fdc09959', expand=False)
- version('5.2.0', sha256='09f53738b0cd3bb96f5b1bac488e5528df9906be2480fe61df40e0e0d19e3d48', expand=False)
- version('5.1.0', sha256='7e6785caad25e33930bc03fac4994a434a21bc8401817b7efa28f53619fa9c29', expand=False)
- version('5.0.1', sha256='55e4db1919f49c92d5abbf27a4be5986ae157f074bf9f8238963cd4582a4068a', expand=False)
- version('5.0.0.1', sha256='092c92427f44687d789a41922ce8426fbdc3c529cc9d6d4ee6de5b62954b93b2', expand=False)
- version('5.0.0', sha256='67f5c20232a3e493ea3f19a8e273e0618ab678fa14b03b59b1783613062143e9', expand=False)
- version('4.4.0', sha256='3301b37e402f3ff3df216fe0458f1e6a4ccbb7e67b4d626eae9651de5ea3ab63', expand=False)
- version('4.3.1', sha256='4447b93d2c779201e5fb50cfc45de0ec96c3804e7ad0fe201ab6b99f73e90302', expand=False)
- version('4.3.0', sha256='e9169c3a5029aa820393ac92704eb9ee0701778a085ca7bdc3c57b388ac1beb6', expand=False)
- version('4.2.0', sha256='73b51715a12b6382dd4df3dd1905b531bd6792d4aa7273b2377a0436d45f0e78', expand=False)
- version('4.1.1', sha256='4f5c95feb0e7efeadd3d348dcef117d7787c799f24b0429e45017008f3534e55', expand=False)
- version('4.1.0', sha256='11d32cf4026603d3b327dc4299863be6b815905ff51a80329085e1bb9f96c8bd', expand=False)
- version('4.0.0', sha256='36a558a1109868661a5735f5f32607643f6dc05cf581fefb1c10fb8abbe22f39', expand=False)
- version('2.5.0', sha256='addadcb927f15cb0b5b6e36890563d3352a8ff6a901ea753d389047d274a29a9', expand=False)
- version('2.4.1', sha256='0735e69199fc37135930ea2fd4fb6ad0adef215a2a7ba9fd6b0a0a4daaadb1cf', expand=False)
- version('2.4.0', sha256='fb4e480059e991f2fa632b5a9bcdd284c7f0677814cd719c11d524453f96a40d', expand=False)
- version('2.3.0', sha256='3be5410b2d9db45882c7de07c554cf4f1034becc274ec9074b23fd37a5c87a6f', expand=False)
- version('2.2.0', sha256='4aac68743e7706adb93f042f970373a6e7e087dbf4b02ac467c94ca4ce33d2d1', expand=False)
- version('2.1.0', sha256='af3225ccbe8df0ffb918939e009aa57740e35058ebf9dfcf5fec794a77556c3c', expand=False)
- version('2.0.1', sha256='3c3b834793e461f3316ad1d9a9178c67859a9d74aaf7bcade076f04134dd1e26', expand=False)
- version('2.0.0', sha256='57ce4f97e300cf94c5724f72d992e9eecef708fdaa13bc672ae9779773056540', expand=False)
+ url = "https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh"
+
+ 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,
+ )
+ version(
+ "2019.10",
+ sha256="46d762284d252e51cd58a8ca6c8adc9da2eadc82c342927b2f66ed011d1d8b53",
+ expand=False,
+ )
+ version(
+ "2019.07",
+ sha256="69581cf739365ec7fb95608eef694ba959d7d33b36eb961953f2b82cb25bdf5a",
+ expand=False,
+ )
+ version(
+ "2019.03",
+ sha256="45c851b7497cc14d5ca060064394569f724b67d9b5f98a926ed49b834a6bb73a",
+ expand=False,
+ )
+ version(
+ "2018.12",
+ sha256="1019d0857e5865f8a6861eaf15bfe535b87e92b72ce4f531000dc672be7fce00",
+ expand=False,
+ )
+ version(
+ "5.3.1",
+ sha256="d4c4256a8f46173b675dd6a62d12f566ed3487f932bab6bb7058f06c124bcc27",
+ expand=False,
+ )
+ version(
+ "5.3.0",
+ sha256="cfbf5fe70dd1b797ec677e63c61f8efc92dad930fd1c94d60390bb07fdc09959",
+ expand=False,
+ )
+ version(
+ "5.2.0",
+ sha256="09f53738b0cd3bb96f5b1bac488e5528df9906be2480fe61df40e0e0d19e3d48",
+ expand=False,
+ )
+ version(
+ "5.1.0",
+ sha256="7e6785caad25e33930bc03fac4994a434a21bc8401817b7efa28f53619fa9c29",
+ expand=False,
+ )
+ version(
+ "5.0.1",
+ sha256="55e4db1919f49c92d5abbf27a4be5986ae157f074bf9f8238963cd4582a4068a",
+ expand=False,
+ )
+ version(
+ "5.0.0.1",
+ sha256="092c92427f44687d789a41922ce8426fbdc3c529cc9d6d4ee6de5b62954b93b2",
+ expand=False,
+ )
+ version(
+ "5.0.0",
+ sha256="67f5c20232a3e493ea3f19a8e273e0618ab678fa14b03b59b1783613062143e9",
+ expand=False,
+ )
+ version(
+ "4.4.0",
+ sha256="3301b37e402f3ff3df216fe0458f1e6a4ccbb7e67b4d626eae9651de5ea3ab63",
+ expand=False,
+ )
+ version(
+ "4.3.1",
+ sha256="4447b93d2c779201e5fb50cfc45de0ec96c3804e7ad0fe201ab6b99f73e90302",
+ expand=False,
+ )
+ version(
+ "4.3.0",
+ sha256="e9169c3a5029aa820393ac92704eb9ee0701778a085ca7bdc3c57b388ac1beb6",
+ expand=False,
+ )
+ version(
+ "4.2.0",
+ sha256="73b51715a12b6382dd4df3dd1905b531bd6792d4aa7273b2377a0436d45f0e78",
+ expand=False,
+ )
+ version(
+ "4.1.1",
+ sha256="4f5c95feb0e7efeadd3d348dcef117d7787c799f24b0429e45017008f3534e55",
+ expand=False,
+ )
+ version(
+ "4.1.0",
+ sha256="11d32cf4026603d3b327dc4299863be6b815905ff51a80329085e1bb9f96c8bd",
+ expand=False,
+ )
+ version(
+ "4.0.0",
+ sha256="36a558a1109868661a5735f5f32607643f6dc05cf581fefb1c10fb8abbe22f39",
+ expand=False,
+ )
+ version(
+ "2.5.0",
+ sha256="addadcb927f15cb0b5b6e36890563d3352a8ff6a901ea753d389047d274a29a9",
+ expand=False,
+ )
+ version(
+ "2.4.1",
+ sha256="0735e69199fc37135930ea2fd4fb6ad0adef215a2a7ba9fd6b0a0a4daaadb1cf",
+ expand=False,
+ )
+ version(
+ "2.4.0",
+ sha256="fb4e480059e991f2fa632b5a9bcdd284c7f0677814cd719c11d524453f96a40d",
+ expand=False,
+ )
+ version(
+ "2.3.0",
+ sha256="3be5410b2d9db45882c7de07c554cf4f1034becc274ec9074b23fd37a5c87a6f",
+ expand=False,
+ )
+ version(
+ "2.2.0",
+ sha256="4aac68743e7706adb93f042f970373a6e7e087dbf4b02ac467c94ca4ce33d2d1",
+ expand=False,
+ )
+ version(
+ "2.1.0",
+ sha256="af3225ccbe8df0ffb918939e009aa57740e35058ebf9dfcf5fec794a77556c3c",
+ expand=False,
+ )
+ version(
+ "2.0.1",
+ sha256="3c3b834793e461f3316ad1d9a9178c67859a9d74aaf7bcade076f04134dd1e26",
+ expand=False,
+ )
+ version(
+ "2.0.0",
+ sha256="57ce4f97e300cf94c5724f72d992e9eecef708fdaa13bc672ae9779773056540",
+ expand=False,
+ )
def install(self, spec, prefix):
dir, anaconda_script = split(self.stage.archive_file)
- bash = which('bash')
- bash(anaconda_script, '-b', '-f', '-p', self.prefix)
+ bash = which("bash")
+ bash(anaconda_script, "-b", "-f", "-p", self.prefix)
def setup_run_environment(self, env):
- filename = self.prefix.etc.join('profile.d').join('conda.sh')
+ filename = self.prefix.etc.join("profile.d").join("conda.sh")
env.extend(EnvironmentModifications.from_sourcing_file(filename))
diff --git a/var/spack/repos/builtin/packages/andi/package.py b/var/spack/repos/builtin/packages/andi/package.py
index f3734f210b..3088a1d56f 100644
--- a/var/spack/repos/builtin/packages/andi/package.py
+++ b/var/spack/repos/builtin/packages/andi/package.py
@@ -11,16 +11,16 @@ class Andi(AutotoolsPackage):
evolutionary distance between closely related genomes."""
homepage = "https://github.com/EvolBioInf/andi"
- url = "https://github.com/EvolBioInf/andi/archive/v0.10.tar.gz"
- maintainers = ['snehring']
+ url = "https://github.com/EvolBioInf/andi/archive/v0.10.tar.gz"
+ maintainers = ["snehring"]
- version('0.14', sha256='2c9e11524f38e74fe3f981e6acd9527c1a1ca30994a30c5e86808ba5165a25b7')
- version('0.10', sha256='1ff371de0b6db4080e402ded2687947dc2d6913e28626edec21dcf5149489ee8')
+ version("0.14", sha256="2c9e11524f38e74fe3f981e6acd9527c1a1ca30994a30c5e86808ba5165a25b7")
+ version("0.10", sha256="1ff371de0b6db4080e402ded2687947dc2d6913e28626edec21dcf5149489ee8")
- depends_on('pkgconfig', type='build')
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gsl')
- depends_on('libdivsufsort')
+ depends_on("pkgconfig", type="build")
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gsl")
+ depends_on("libdivsufsort")
diff --git a/var/spack/repos/builtin/packages/angsd/package.py b/var/spack/repos/builtin/packages/angsd/package.py
index 7d5675f142..771e296933 100644
--- a/var/spack/repos/builtin/packages/angsd/package.py
+++ b/var/spack/repos/builtin/packages/angsd/package.py
@@ -15,37 +15,35 @@ class Angsd(MakefilePackage):
"""
homepage = "https://github.com/ANGSD/angsd"
- url = "https://github.com/ANGSD/angsd/archive/0.935.tar.gz"
+ url = "https://github.com/ANGSD/angsd/archive/0.935.tar.gz"
- version('0.935', sha256='15000281330fa59ddf745cb84eeaa653acf6da34a4ac6c3df7c5835d1d01ba16')
- version('0.933', sha256='2f992325dc08fa25ac525d9300ef6bd61808e74c521b4cc72a2ce00d98f402bb')
- version('0.921', sha256='8892d279ce1804f9e17fe2fc65a47e5498e78fc1c1cb84d2ca2527fd5c198772')
- version('0.919', sha256='c2ea718ca5a5427109f4c3415e963dcb4da9afa1b856034e25c59c003d21822a')
+ version("0.935", sha256="15000281330fa59ddf745cb84eeaa653acf6da34a4ac6c3df7c5835d1d01ba16")
+ version("0.933", sha256="2f992325dc08fa25ac525d9300ef6bd61808e74c521b4cc72a2ce00d98f402bb")
+ version("0.921", sha256="8892d279ce1804f9e17fe2fc65a47e5498e78fc1c1cb84d2ca2527fd5c198772")
+ version("0.919", sha256="c2ea718ca5a5427109f4c3415e963dcb4da9afa1b856034e25c59c003d21822a")
- variant('r', default=True, description='Enable R dependency')
+ variant("r", default=True, description="Enable R dependency")
- depends_on('htslib')
- conflicts('^htslib@1.6:', when='@0.919')
+ depends_on("htslib")
+ conflicts("^htslib@1.6:", when="@0.919")
- depends_on('zlib')
- depends_on('lzma')
- depends_on('curl')
+ depends_on("zlib")
+ depends_on("lzma")
+ depends_on("curl")
- depends_on('r', type='run', when='+r')
+ depends_on("r", type="run", when="+r")
def setup_run_environment(self, env):
- env.set('R_LIBS', self.prefix.R)
+ env.set("R_LIBS", self.prefix.R)
def install(self, spec, prefix):
- binaries = [
- 'angsd', 'misc/realSFS', 'misc/thetaStat'
- ]
+ binaries = ["angsd", "misc/realSFS", "misc/thetaStat"]
mkdirp(prefix.bin)
for b in binaries:
install(b, join_path(prefix.bin))
- install_tree('R', prefix.R)
- install_tree('RES', prefix.RES)
- install_tree('scripts', prefix.scripts)
+ install_tree("R", prefix.R)
+ install_tree("RES", prefix.RES)
+ install_tree("scripts", prefix.scripts)
diff --git a/var/spack/repos/builtin/packages/ant/package.py b/var/spack/repos/builtin/packages/ant/package.py
index 7691bb8ba3..4c42bf5960 100644
--- a/var/spack/repos/builtin/packages/ant/package.py
+++ b/var/spack/repos/builtin/packages/ant/package.py
@@ -8,29 +8,29 @@ from spack.package import *
class Ant(Package):
"""Apache Ant is a Java library and command-line tool whose mission is to
- drive processes described in build files as targets and extension points
- dependent upon each other
+ drive processes described in build files as targets and extension points
+ dependent upon each other
"""
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')
- version('1.10.6', sha256='c641721ae844196b28780e7999d2ae886085b89433438ab797d531413a924311')
- version('1.10.5', sha256='5937cf11d74d75d6e8927402950b012e037e362f9f728262ce432ad289b9f6ca')
- version('1.10.4', sha256='b0718c6c1b2b8d3bc77cd1e30ea183cd7741cfb52222a97c754e02b8e38d1948')
- version('1.10.3', sha256='988b0cac947559f7347f314b9a3dae1af0dfdcc254de56d1469de005bf281c5a')
- version('1.10.2', sha256='f3cf217b9befae2fef7198b51911e33a8809d98887cc971c8957596f459c6285')
- version('1.10.1', sha256='68f7ced0aa15d1f9f672f23d67c86deaf728e9576936313cfbff4f7a0e6ce382')
- version('1.10.0', sha256='1f78036c38753880e16fb755516c8070187a78fe4b2e99b59eda5b81b58eccaf')
- version('1.9.9', sha256='d6a0c93777ab27db36212d77c5733ac80d17fe24e83f947df23a8e0ad4ac48cc')
- version('1.9.8', sha256='5f4daf56e66fc7a71de772920ca27c15eac80cf1fcf41f3b4f2d535724942681')
- version('1.9.7', sha256='648b3f3787bb0cb6226978b6d4898eb7e21ae391385357a5f824972dd910a1c8')
- version('1.9.6', sha256='550d2aaf828785e30870c227056942c2a552da961db6010cedb2fbcfa8e3268d')
+ version("1.10.7", sha256="2f9c4ef094581663b41a7412324f65b854f17622e5b2da9fcb9541ca8737bd52")
+ version("1.10.6", sha256="c641721ae844196b28780e7999d2ae886085b89433438ab797d531413a924311")
+ version("1.10.5", sha256="5937cf11d74d75d6e8927402950b012e037e362f9f728262ce432ad289b9f6ca")
+ version("1.10.4", sha256="b0718c6c1b2b8d3bc77cd1e30ea183cd7741cfb52222a97c754e02b8e38d1948")
+ version("1.10.3", sha256="988b0cac947559f7347f314b9a3dae1af0dfdcc254de56d1469de005bf281c5a")
+ version("1.10.2", sha256="f3cf217b9befae2fef7198b51911e33a8809d98887cc971c8957596f459c6285")
+ version("1.10.1", sha256="68f7ced0aa15d1f9f672f23d67c86deaf728e9576936313cfbff4f7a0e6ce382")
+ version("1.10.0", sha256="1f78036c38753880e16fb755516c8070187a78fe4b2e99b59eda5b81b58eccaf")
+ version("1.9.9", sha256="d6a0c93777ab27db36212d77c5733ac80d17fe24e83f947df23a8e0ad4ac48cc")
+ version("1.9.8", sha256="5f4daf56e66fc7a71de772920ca27c15eac80cf1fcf41f3b4f2d535724942681")
+ version("1.9.7", sha256="648b3f3787bb0cb6226978b6d4898eb7e21ae391385357a5f824972dd910a1c8")
+ version("1.9.6", sha256="550d2aaf828785e30870c227056942c2a552da961db6010cedb2fbcfa8e3268d")
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
- env['ANT_HOME'] = self.prefix
- bash = which('bash')
- bash('./build.sh', 'install-lite')
+ env["ANT_HOME"] = self.prefix
+ bash = which("bash")
+ bash("./build.sh", "install-lite")
diff --git a/var/spack/repos/builtin/packages/antimony/package.py b/var/spack/repos/builtin/packages/antimony/package.py
index 77a81c968a..2775e81c35 100644
--- a/var/spack/repos/builtin/packages/antimony/package.py
+++ b/var/spack/repos/builtin/packages/antimony/package.py
@@ -10,45 +10,45 @@ class Antimony(CMakePackage):
"""Human readable language for modifying sbml"""
homepage = "http://antimony.sourceforge.net/"
- url = "antimony"
+ url = "antimony"
- maintainers = ['rblake-llnl']
+ maintainers = ["rblake-llnl"]
- version('2.8', sha256='7e3e38706c074b72e241ac56ef4ce23e87ef8c718c70f29b2207f1847c43770f')
- version('2.7', sha256='7ad181cac632282ae77ced09388dd92db87ea4683eed8c45f2b43861ae2acad4')
- version('2.6', sha256='afc8dc5ec6bc2cd3085038f80362327456f219171b09a13f775b50550c8b1d87')
- version('2.5', sha256='138d6b45df62198ca71bd3b3c8fd06920f8a78d7de7f6dbc1b89fa7ea7c7d215')
- version('2.4', sha256='1597efa823f9a48f5a40373cbd40386207764807fbc0b79cf20d0f8570a7e54b')
- version('2.2', sha256='795c777dd90c28fd8c3f4f8896702744b7389cff2fcf40e797b4bfafbb6f7251')
- version('2.0', sha256='778146206e5f420d0e3d30dc25eabc9bad2759bfaf6b4b355bb1f72c5bc9593f')
+ version("2.8", sha256="7e3e38706c074b72e241ac56ef4ce23e87ef8c718c70f29b2207f1847c43770f")
+ version("2.7", sha256="7ad181cac632282ae77ced09388dd92db87ea4683eed8c45f2b43861ae2acad4")
+ version("2.6", sha256="afc8dc5ec6bc2cd3085038f80362327456f219171b09a13f775b50550c8b1d87")
+ version("2.5", sha256="138d6b45df62198ca71bd3b3c8fd06920f8a78d7de7f6dbc1b89fa7ea7c7d215")
+ version("2.4", sha256="1597efa823f9a48f5a40373cbd40386207764807fbc0b79cf20d0f8570a7e54b")
+ version("2.2", sha256="795c777dd90c28fd8c3f4f8896702744b7389cff2fcf40e797b4bfafbb6f7251")
+ version("2.0", sha256="778146206e5f420d0e3d30dc25eabc9bad2759bfaf6b4b355bb1f72c5bc9593f")
def url_for_version(self, version):
- url = "https://downloads.sourceforge.net/project/antimony/Antimony source/{0}/antimony_src_v{1}.tar.gz".format(version, version)
+ url = "https://downloads.sourceforge.net/project/antimony/Antimony source/{0}/antimony_src_v{1}.tar.gz".format(
+ version, version
+ )
return url
- variant("qt", default=False,
- description="Build the QT editor.")
- variant("python", default=False,
- description="Build python bindings.")
+ variant("qt", default=False, description="Build the QT editor.")
+ variant("python", default=False, description="Build python bindings.")
- depends_on('sbml~cpp')
- depends_on('swig')
- depends_on('qt', when="+qt")
- depends_on('python', when="+python")
+ depends_on("sbml~cpp")
+ depends_on("swig")
+ depends_on("qt", when="+qt")
+ depends_on("python", when="+python")
def cmake_args(self):
spec = self.spec
args = [
- '-DWITH_SBML:BOOL=ON',
- '-DWITH_COMP_SBML:BOOL=ON',
- '-DWITH_LIBSBML_EXPAT:BOOL=OFF',
- '-DWITH_LIBSBML_LIBXML:BOOL=ON',
- '-DWITH_LIBSBML_XERCES:BOOL=OFF',
- '-DLIBSBML_INSTALL_DIR:PATH=' + spec['sbml'].prefix,
- '-DWITH_CELLML:BOOL=OFF',
- '-DWITH_SBW:BOOL=OFF',
- '-DWITH_SWIG:BOOL=ON',
+ "-DWITH_SBML:BOOL=ON",
+ "-DWITH_COMP_SBML:BOOL=ON",
+ "-DWITH_LIBSBML_EXPAT:BOOL=OFF",
+ "-DWITH_LIBSBML_LIBXML:BOOL=ON",
+ "-DWITH_LIBSBML_XERCES:BOOL=OFF",
+ "-DLIBSBML_INSTALL_DIR:PATH=" + spec["sbml"].prefix,
+ "-DWITH_CELLML:BOOL=OFF",
+ "-DWITH_SBW:BOOL=OFF",
+ "-DWITH_SWIG:BOOL=ON",
]
- args.append(self.define_from_variant('WITH_PYTHON', 'python'))
- args.append(self.define_from_variant('WITH_QTANTIMONY', "qt"))
+ args.append(self.define_from_variant("WITH_PYTHON", "python"))
+ args.append(self.define_from_variant("WITH_QTANTIMONY", "qt"))
return args
diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py
index d155c5b2d2..c507875ba7 100644
--- a/var/spack/repos/builtin/packages/antlr/package.py
+++ b/var/spack/repos/builtin/packages/antlr/package.py
@@ -14,26 +14,26 @@ class Antlr(AutotoolsPackage):
walk parse trees."""
homepage = "https://www.antlr2.org/"
- url = "http://www.antlr2.org/download/antlr-2.7.7.tar.gz"
+ url = "http://www.antlr2.org/download/antlr-2.7.7.tar.gz"
- version('2.7.7', sha256='853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9')
+ version("2.7.7", sha256="853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9")
# Fixes build with recent versions of GCC
- patch('gcc.patch')
+ patch("gcc.patch")
- variant('cxx', default=True, description='Enable ANTLR for C++')
- variant('java', default=False, description='Enable ANTLR for Java')
- variant('python', default=False, description='Enable ANTLR for Python')
+ variant("cxx", default=True, description="Enable ANTLR for C++")
+ variant("java", default=False, description="Enable ANTLR for Java")
+ variant("python", default=False, description="Enable ANTLR for Python")
- extends('python', when='+python')
- depends_on('java', type=('build', 'run'), when='+java')
+ extends("python", when="+python")
+ depends_on("java", type=("build", "run"), when="+java")
def configure_args(self):
spec = self.spec
return [
- '--disable-csharp',
- '--{0}-cxx'.format('enable' if '+cxx' in spec else 'disable'),
- '--{0}-java'.format('enable' if '+java' in spec else 'disable'),
- '--{0}-python'.format('enable' if '+python' in spec else 'disable')
+ "--disable-csharp",
+ "--{0}-cxx".format("enable" if "+cxx" in spec else "disable"),
+ "--{0}-java".format("enable" if "+java" in spec else "disable"),
+ "--{0}-python".format("enable" if "+python" in spec else "disable"),
]
diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py
index 6b9bd9cb46..a20f2d746e 100644
--- a/var/spack/repos/builtin/packages/ants/package.py
+++ b/var/spack/repos/builtin/packages/ants/package.py
@@ -8,39 +8,36 @@ from spack.package import *
class Ants(CMakePackage):
"""ANTs extracts information from complex datasets that include imaging.
- Paired with ANTsR (answer), ANTs is useful for managing, interpreting
- and visualizing multidimensional data. ANTs is popularly considered a
- state-of-the-art medical image registration and segmentation toolkit.
- ANTs depends on the Insight ToolKit (ITK), a widely used medical image
- processing library to which ANTs developers contribute.
+ Paired with ANTsR (answer), ANTs is useful for managing, interpreting
+ and visualizing multidimensional data. ANTs is popularly considered a
+ state-of-the-art medical image registration and segmentation toolkit.
+ ANTs depends on the Insight ToolKit (ITK), a widely used medical image
+ processing library to which ANTs developers contribute.
"""
homepage = "https://stnava.github.io/ANTs/"
- git = "https://github.com/ANTsX/ANTs.git"
- url = "https://github.com/ANTsX/ANTs/archive/v2.2.0.tar.gz"
+ git = "https://github.com/ANTsX/ANTs.git"
+ url = "https://github.com/ANTsX/ANTs/archive/v2.2.0.tar.gz"
- version('2.4.0', sha256='a8ff78f4d2b16e495f340c9b0647f56c92cc4fc40b6ae04a60b941e5e239f9be')
- version('20220205', commit='6f07ac55569d0d085d2adf7888d1c7a2bd563bfe')
- version('2.3.5', sha256='2fddfd5f274a47f1c383e734a7e763b627c4a8383d2d3b9971561f335016bb0a')
- version('2.2.0', sha256='62f8f9ae141cb45025f4bb59277c053acf658d4a3ba868c9e0f609af72e66b4a')
+ version("2.4.0", sha256="a8ff78f4d2b16e495f340c9b0647f56c92cc4fc40b6ae04a60b941e5e239f9be")
+ version("20220205", commit="6f07ac55569d0d085d2adf7888d1c7a2bd563bfe")
+ version("2.3.5", sha256="2fddfd5f274a47f1c383e734a7e763b627c4a8383d2d3b9971561f335016bb0a")
+ version("2.2.0", sha256="62f8f9ae141cb45025f4bb59277c053acf658d4a3ba868c9e0f609af72e66b4a")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
- variant('minc', default=True, description='Build ITK with MINC support')
+ variant("minc", default=True, description="Build ITK with MINC support")
def cmake_args(self):
return [
"-DBUILD_TESTING=OFF", # needed for <= 2.3.5 due to ANTs/#1236
- self.define_from_variant('ITK_BUILD_MINC_SUPPORT', 'minc')
+ self.define_from_variant("ITK_BUILD_MINC_SUPPORT", "minc"),
]
def install(self, spec, prefix):
- with working_dir(
- join_path(self.build_directory, 'ANTS-build'),
- create=False
- ):
+ with working_dir(join_path(self.build_directory, "ANTS-build"), create=False):
make("install")
- install_tree('Scripts', prefix.bin)
+ install_tree("Scripts", prefix.bin)
def setup_run_environment(self, env):
- env.set('ANTSPATH', self.prefix.bin)
+ env.set("ANTSPATH", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/aocc/package.py b/var/spack/repos/builtin/packages/aocc/package.py
index 4f455c2ac6..4a182d059b 100644
--- a/var/spack/repos/builtin/packages/aocc/package.py
+++ b/var/spack/repos/builtin/packages/aocc/package.py
@@ -8,7 +8,7 @@ from spack.package import *
class Aocc(Package):
- '''
+ """
The AOCC compiler system is a high performance,
production quality code generation tool.
The AOCC environment provides various options to developers when
@@ -26,52 +26,72 @@ class Aocc(Package):
Please install only if you agree to terms and conditions depicted
under : https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf
Example for installation: \'spack install aocc +license-agreed\'
- '''
- family = 'compiler'
+ """
+
+ family = "compiler"
homepage = "https://developer.amd.com/amd-aocc/"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version(ver="3.2.0", sha256='8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec',
- url='https://developer.amd.com/wordpress/media/files/aocc-compiler-3.2.0.tar')
- version(ver="3.1.0", sha256='1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c',
- url='https://developer.amd.com/wordpress/media/files/aocc-compiler-3.1.0.tar')
- version(ver="3.0.0", sha256='4ff269b1693856b9920f57e3c85ce488c8b81123ddc88682a3ff283979362227',
- url='https://developer.amd.com/wordpress/media/files/aocc-compiler-3.0.0.tar')
- version(ver="2.3.0", sha256='9f8a1544a5268a7fb8cd21ac4bdb3f8d1571949d1de5ca48e2d3309928fc3d15',
- url='https://developer.amd.com/wordpress/media/files/aocc-compiler-2.3.0.tar')
- version(ver="2.2.0", sha256='500940ce36c19297dfba3aa56dcef33b6145867a1f34890945172ac2be83b286',
- url='https://developer.amd.com/wordpress/media/files/aocc-compiler-2.2.0.tar')
+ version(
+ ver="3.2.0",
+ sha256="8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec",
+ url="https://developer.amd.com/wordpress/media/files/aocc-compiler-3.2.0.tar",
+ )
+ version(
+ ver="3.1.0",
+ sha256="1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c",
+ url="https://developer.amd.com/wordpress/media/files/aocc-compiler-3.1.0.tar",
+ )
+ version(
+ ver="3.0.0",
+ sha256="4ff269b1693856b9920f57e3c85ce488c8b81123ddc88682a3ff283979362227",
+ url="https://developer.amd.com/wordpress/media/files/aocc-compiler-3.0.0.tar",
+ )
+ version(
+ ver="2.3.0",
+ sha256="9f8a1544a5268a7fb8cd21ac4bdb3f8d1571949d1de5ca48e2d3309928fc3d15",
+ url="https://developer.amd.com/wordpress/media/files/aocc-compiler-2.3.0.tar",
+ )
+ version(
+ ver="2.2.0",
+ sha256="500940ce36c19297dfba3aa56dcef33b6145867a1f34890945172ac2be83b286",
+ url="https://developer.amd.com/wordpress/media/files/aocc-compiler-2.2.0.tar",
+ )
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['AOCC_EULA.pdf']
- license_url = 'https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf'
+ license_comment = "#"
+ license_files = ["AOCC_EULA.pdf"]
+ license_url = "https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf"
install_example = "spack install aocc +license-agreed"
- depends_on('libxml2')
- depends_on('zlib')
- depends_on('ncurses')
- depends_on('libtool')
- depends_on('texinfo')
+ depends_on("libxml2")
+ depends_on("zlib")
+ depends_on("ncurses")
+ depends_on("libtool")
+ depends_on("texinfo")
- variant('license-agreed', default=False,
- description='Agree to terms and conditions depicted under : {0}'
- .format(license_url))
+ variant(
+ "license-agreed",
+ default=False,
+ description="Agree to terms and conditions depicted under : {0}".format(license_url),
+ )
- @run_before('install')
+ @run_before("install")
def abort_without_license_agreed(self):
- license_url = 'https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf'
+ license_url = "https://developer.amd.com/wordpress/media/files/AOCC_EULA.pdf"
install_example = "spack install aocc +license-agreed"
- if not self.spec.variants['license-agreed'].value:
- raise InstallError("\n\n\nNOTE:\nUse +license-agreed " +
- "during installation " +
- "to accept terms and conditions " +
- "depicted under following link \n" +
- " {0}\n".format(license_url) +
- "Example: \'{0}\' \n".format(install_example))
+ if not self.spec.variants["license-agreed"].value:
+ raise InstallError(
+ "\n\n\nNOTE:\nUse +license-agreed "
+ + "during installation "
+ + "to accept terms and conditions "
+ + "depicted under following link \n"
+ + " {0}\n".format(license_url)
+ + "Example: '{0}' \n".format(install_example)
+ )
def install(self, spec, prefix):
print("Installing AOCC Compiler ... ")
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/aocl-sparse/package.py b/var/spack/repos/builtin/packages/aocl-sparse/package.py
index 5cebde6d9e..6c61d1a333 100644
--- a/var/spack/repos/builtin/packages/aocl-sparse/package.py
+++ b/var/spack/repos/builtin/packages/aocl-sparse/package.py
@@ -18,25 +18,26 @@ class AoclSparse(CMakePackage):
url = "https://github.com/amd/aocl-sparse/archive/3.0.tar.gz"
git = "https://github.com/amd/aocl-sparse.git"
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('3.2', sha256='db7d681a8697d6ef49acf3e97e8bec35b048ce0ad74549c3b738bbdff496618f')
- version('3.1', sha256='8536f06095c95074d4297a3d2910654085dd91bce82e116c10368a9f87e9c7b9')
- version('3.0', sha256='1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e')
- version('2.2', sha256='33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664')
+ version("3.2", sha256="db7d681a8697d6ef49acf3e97e8bec35b048ce0ad74549c3b738bbdff496618f")
+ version("3.1", sha256="8536f06095c95074d4297a3d2910654085dd91bce82e116c10368a9f87e9c7b9")
+ version("3.0", sha256="1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e")
+ version("2.2", sha256="33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664")
conflicts("%gcc@:9.1", msg="Minimum required GCC version is 9.2.0")
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release'))
- variant('shared', default=True,
- description='Build shared library')
- variant('ilp64', default=False,
- description='Build with ILP64 support')
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release"),
+ )
+ variant("shared", default=True, description="Build shared library")
+ variant("ilp64", default=False, description="Build with ILP64 support")
- depends_on('boost', when='@2.2')
- depends_on('cmake@3.5:', type='build')
+ depends_on("boost", when="@2.2")
+ depends_on("cmake@3.5:", type="build")
@property
def build_directory(self):
@@ -47,10 +48,10 @@ class AoclSparse(CMakePackage):
build_directory = self.stage.source_path
- if self.spec.variants['build_type'].value == 'Debug':
- build_directory = join_path(build_directory, 'build', 'debug')
+ if self.spec.variants["build_type"].value == "Debug":
+ build_directory = join_path(build_directory, "build", "debug")
else:
- build_directory = join_path(build_directory, 'build', 'release')
+ build_directory = join_path(build_directory, "build", "release")
return build_directory
@@ -61,48 +62,45 @@ class AoclSparse(CMakePackage):
args = [
"../..",
"-DCMAKE_INSTALL_PREFIX:PATH={0}".format(spec.prefix),
- "-DCMAKE_CXX_COMPILER={0}".format(os.path.basename(spack_cxx))
+ "-DCMAKE_CXX_COMPILER={0}".format(os.path.basename(spack_cxx)),
]
- if spec.variants['build_type'].value == 'Debug':
+ if spec.variants["build_type"].value == "Debug":
args.append("-DCMAKE_BUILD_TYPE=Debug")
else:
args.append("-DCMAKE_BUILD_TYPE=Release")
- args.extend([
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ args.extend(
+ [
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DBUILD_CLIENTS_BENCHMARKS:BOOL=%s" % ("ON" if self.run_tests else "OFF"),
+ ]
+ )
- "-DBUILD_CLIENTS_BENCHMARKS:BOOL=%s" % (
- 'ON' if self.run_tests else 'OFF')
- ])
-
- if spec.satisfies('@3.0:'):
- args.extend([
- self.define_from_variant('BUILD_ILP64', 'ilp64')
- ])
+ if spec.satisfies("@3.0:"):
+ args.extend([self.define_from_variant("BUILD_ILP64", "ilp64")])
return args
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check(self):
- """ Simple test to test the built library by running
+ """Simple test to test the built library by running
one of the aocl-sparse examples, after compiling the
library with benchmarks.
"""
- dso_suffix = 'so' if '+shared' in self.spec else 'a'
+ dso_suffix = "so" if "+shared" in self.spec else "a"
- if self.spec.variants['build_type'].value == 'Debug':
- lib_path = join_path(self.build_directory,
- 'library',
- 'libaoclsparse-d.{0}'.format(dso_suffix))
+ if self.spec.variants["build_type"].value == "Debug":
+ lib_path = join_path(
+ self.build_directory, "library", "libaoclsparse-d.{0}".format(dso_suffix)
+ )
else:
- lib_path = join_path(self.build_directory,
- 'library',
- 'libaoclsparse.{0}'.format(dso_suffix))
+ lib_path = join_path(
+ self.build_directory, "library", "libaoclsparse.{0}".format(dso_suffix)
+ )
- test_bench_bin = join_path(self.build_directory, 'tests',
- 'staging', 'aoclsparse-bench')
+ test_bench_bin = join_path(self.build_directory, "tests", "staging", "aoclsparse-bench")
test_args = " --function=csrmv --precision=d "
test_args += "--sizem=1000 --sizen=1000 --sizennz=4000 --verify=1 "
os.system(test_bench_bin + test_args + lib_path)
diff --git a/var/spack/repos/builtin/packages/aoflagger/package.py b/var/spack/repos/builtin/packages/aoflagger/package.py
index 1e75b5fe24..d9405a9b44 100644
--- a/var/spack/repos/builtin/packages/aoflagger/package.py
+++ b/var/spack/repos/builtin/packages/aoflagger/package.py
@@ -12,18 +12,18 @@ class Aoflagger(CMakePackage):
for astronomical radio observations."""
homepage = "https://sourceforge.net/projects/aoflagger/"
- url = "https://downloads.sourceforge.net/project/aoflagger/aoflagger-2.10.0/aoflagger-2.10.0.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/aoflagger/aoflagger-2.10.0/aoflagger-2.10.0.tar.bz2"
- version('2.10.0', sha256='3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d')
+ version("2.10.0", sha256="3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d")
- depends_on('casacore+python~fftpack@1.10:')
- depends_on('fftw~mpi@3.0:')
- depends_on('boost+python@:1.66.99')
+ depends_on("casacore+python~fftpack@1.10:")
+ depends_on("fftw~mpi@3.0:")
+ depends_on("boost+python@:1.66.99")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('libxml2')
- depends_on('lapack')
- depends_on('cfitsio')
+ depends_on("libxml2")
+ depends_on("lapack")
+ depends_on("cfitsio")
diff --git a/var/spack/repos/builtin/packages/aom/package.py b/var/spack/repos/builtin/packages/aom/package.py
index 956f564f3a..72e29b2327 100644
--- a/var/spack/repos/builtin/packages/aom/package.py
+++ b/var/spack/repos/builtin/packages/aom/package.py
@@ -8,12 +8,13 @@ from spack.package import *
class Aom(CMakePackage):
"""Alliance for Open Media AOM AV1 Codec Library"""
+
homepage = "https://aomedia.googlesource.com/aom"
- git = "https://aomedia.googlesource.com/aom"
- version('v1.0.0-errata1', commit='29d8ce4836630df5cc7ab58f1afc4836765fc212')
- depends_on('yasm')
+ git = "https://aomedia.googlesource.com/aom"
+ version("v1.0.0-errata1", commit="29d8ce4836630df5cc7ab58f1afc4836765fc212")
+ depends_on("yasm")
def cmake_args(self):
args = []
- args.append('-DBUILD_SHARED_LIBS=ON')
+ args.append("-DBUILD_SHARED_LIBS=ON")
return args
diff --git a/var/spack/repos/builtin/packages/aomp/package.py b/var/spack/repos/builtin/packages/aomp/package.py
index c86c5160fd..490bda2f22 100644
--- a/var/spack/repos/builtin/packages/aomp/package.py
+++ b/var/spack/repos/builtin/packages/aomp/package.py
@@ -7,8 +7,8 @@ import re
from spack.package import *
-tools_url = 'https://github.com/ROCm-Developer-Tools'
-compute_url = 'https://github.com/RadeonOpenCompute'
+tools_url = "https://github.com/ROCm-Developer-Tools"
+compute_url = "https://github.com/RadeonOpenCompute"
aomp = [
@@ -16,7 +16,7 @@ aomp = [
"970374c3acb9dda8b9a17d7a579dbaab48fac731db8fdce566a65abee37e5ed3",
"86f90d6505eccdb2840069cadf57f7111d4685653c4974cf65fb22b172e55478",
"14fc6867af0b17e3bff8cb42cb36f509c95a29b7a933a106bf6778de21f6c123",
- "ce29cead5391a4a13f2c567e2e059de9291888d24985460725e43a91b740be7a"
+ "ce29cead5391a4a13f2c567e2e059de9291888d24985460725e43a91b740be7a",
]
devlib = [
@@ -24,7 +24,7 @@ devlib = [
"b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d",
"e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574",
"c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7",
- "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc"
+ "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc",
]
llvm = [
@@ -32,7 +32,7 @@ llvm = [
"89b967de5e79f6df7c62fdc12529671fa30989ae7b634d5a7c7996629ec1140e",
"98deabedb6cb3067ee960a643099631902507f236e4d9dc65b3e0f8d659eb55c",
"f0a0b9fec0626878340a15742e73a56f155090011716461edcb069dcf05e6b30",
- "3ff18a8bd31d5b55232327e574dfa3556cf26787e105d0ba99411c5687325a8d"
+ "3ff18a8bd31d5b55232327e574dfa3556cf26787e105d0ba99411c5687325a8d",
]
flang = [
@@ -40,7 +40,7 @@ flang = [
"1fe07a0da20eb66a2a2aa8d354bf95c6f216ec38cc4a051e98041e0d13c34b36",
"54cc6a9706dba6d7808258632ed40fa6493838edb309709d3b25e0f9b02507f8",
"43d57bcc87fab092ac242e36da62588a87b6fa91f9e81fdb330159497afdecb3",
- "81674bf3c9d8fd9b16fb3e5c66a870537c25ff8302fc1b162ab9e95944167163"
+ "81674bf3c9d8fd9b16fb3e5c66a870537c25ff8302fc1b162ab9e95944167163",
]
extras = [
@@ -48,41 +48,34 @@ extras = [
"adaf7670b2497ff3ac09636e0dd30f666a5a5b742ecdcb8551d722102dcfbd85",
"4460a4f4b03022947f536221483e85dcd9b07064a54516ec103a1939c3f587b5",
"014fca1fba54997c6db0e84822df274fb6807698b6856da4f737f38f10ab0e5d",
- "ee146cff4b9ee7aae90d7bb1d6b4957839232be0e7dab1865e0ae39832f8f795"
+ "ee146cff4b9ee7aae90d7bb1d6b4957839232be0e7dab1865e0ae39832f8f795",
]
# Used only for 3.5.0
-hip = [
- "86eb7749ff6f6c5f6851cd6c528504d42f9286967324a50dd0dd54a6a74cacc7"
-]
+hip = ["86eb7749ff6f6c5f6851cd6c528504d42f9286967324a50dd0dd54a6a74cacc7"]
-vdi = [
- "b21866c7c23dc536356db139b88b6beb3c97f58658836974a7fc167feb31ad7f"
-]
+vdi = ["b21866c7c23dc536356db139b88b6beb3c97f58658836974a7fc167feb31ad7f"]
-opencl = [
- "8963fcd5a167583b3db8b94363778d4df4593bfce8141e1d3c32a59fb64a0cf6"
-]
+opencl = ["8963fcd5a167583b3db8b94363778d4df4593bfce8141e1d3c32a59fb64a0cf6"]
-versions = ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0']
+versions = ["3.5.0", "3.7.0", "3.8.0", "3.9.0", "3.10.0"]
versions_dict = dict() # type: Dict[str, Dict[str, str]]
hashes = [aomp, devlib, llvm, flang, extras]
hashes_35 = [aomp, devlib, llvm, flang, extras, hip, vdi, opencl]
-components = ['aomp', 'devlib', 'llvm', 'flang', 'extras']
-components_35 = [
- 'aomp', 'devlib', 'llvm', 'flang', 'extras', 'hip', 'vdi', 'opencl'
-]
+components = ["aomp", "devlib", "llvm", "flang", "extras"]
+components_35 = ["aomp", "devlib", "llvm", "flang", "extras", "hip", "vdi", "opencl"]
for outer_index, item in enumerate(versions):
- if item == '3.5.0':
+ if item == "3.5.0":
use_components = components_35
use_hashes = hashes_35
else:
use_components = components
use_hashes = hashes
for inner_index, component in enumerate(use_hashes):
- versions_dict.setdefault(item, {})[use_components[inner_index]] = \
- use_hashes[inner_index][outer_index]
+ versions_dict.setdefault(item, {})[use_components[inner_index]] = use_hashes[inner_index][
+ outer_index
+ ]
class Aomp(Package):
@@ -91,399 +84,436 @@ class Aomp(Package):
homepage = tools_url + "/aomp"
url = tools_url + "/aomp/archive/rocm-3.10.0.tar.gz"
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'estewart08']
+ maintainers = ["srekolam", "arjun-raj-kuppala", "estewart08"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('3.10.0', sha256=versions_dict['3.10.0']['aomp'])
- version('3.9.0', sha256=versions_dict['3.9.0']['aomp'])
- version('3.8.0', sha256=versions_dict['3.8.0']['aomp'])
- version('3.7.0', sha256=versions_dict['3.7.0']['aomp'])
- version('3.5.0', sha256=versions_dict['3.5.0']['aomp'])
+ version("3.10.0", sha256=versions_dict["3.10.0"]["aomp"])
+ version("3.9.0", sha256=versions_dict["3.9.0"]["aomp"])
+ version("3.8.0", sha256=versions_dict["3.8.0"]["aomp"])
+ version("3.7.0", sha256=versions_dict["3.7.0"]["aomp"])
+ version("3.5.0", sha256=versions_dict["3.5.0"]["aomp"])
# Cmake above 3.18 would fail the build on 3.5.0
- depends_on('cmake@3:', type='build')
- depends_on('cmake@3:3.17', when='@3.5.0', type='build')
+ depends_on("cmake@3:", type="build")
+ depends_on("cmake@3:3.17", when="@3.5.0", type="build")
# Python 2 is needed for 3.5.0 and 3.8.0, limit py-setuptools
# to avoid spec error
- depends_on('python@2.7:2.8', when='@3.5.0:3.8.0', type='build')
- depends_on('py-setuptools@:44', when='@3.5.0:3.8.0',
- type='build')
-
- depends_on('python@3:', type='build', when='@3.9.0:')
- depends_on('py-setuptools', when='@3.9.0:', type='build')
-
- depends_on('gl@4.5:', type=('build', 'link'))
- depends_on('py-pip', when='@3.8.0:', type='build')
- depends_on('py-wheel', when='@3.8.0:', type=('build', 'run'))
- depends_on('perl-data-dumper', type='build')
- depends_on('awk', type='build')
- depends_on('elfutils', type=('build', 'link'))
- depends_on('libffi', type=('build', 'link'))
-
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, type='build', when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('rocm-device-libs@' + ver, when='@' + ver)
-
- if ver != '3.5.0':
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('hip-rocclr@' + ver, when='@' + ver)
-
- if ver == '3.9.0' or ver == '3.10.0':
- depends_on('rocm-gdb@' + ver, when='@' + ver)
+ depends_on("python@2.7:2.8", when="@3.5.0:3.8.0", type="build")
+ depends_on("py-setuptools@:44", when="@3.5.0:3.8.0", type="build")
+
+ depends_on("python@3:", type="build", when="@3.9.0:")
+ depends_on("py-setuptools", when="@3.9.0:", type="build")
+
+ depends_on("gl@4.5:", type=("build", "link"))
+ depends_on("py-pip", when="@3.8.0:", type="build")
+ depends_on("py-wheel", when="@3.8.0:", type=("build", "run"))
+ depends_on("perl-data-dumper", type="build")
+ depends_on("awk", type="build")
+ depends_on("elfutils", type=("build", "link"))
+ depends_on("libffi", type=("build", "link"))
+
+ for ver in ["3.5.0", "3.7.0", "3.8.0", "3.9.0", "3.10.0"]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, type="build", when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("rocm-device-libs@" + ver, when="@" + ver)
+
+ if ver != "3.5.0":
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("hip-rocclr@" + ver, when="@" + ver)
+
+ if ver == "3.9.0" or ver == "3.10.0":
+ depends_on("rocm-gdb@" + ver, when="@" + ver)
resource(
- name='rocm-device-libs',
- url=compute_url +
- '/ROCm-Device-Libs/archive/rocm-' + ver + '.tar.gz',
- sha256=versions_dict[ver]['devlib'],
+ name="rocm-device-libs",
+ url=compute_url + "/ROCm-Device-Libs/archive/rocm-" + ver + ".tar.gz",
+ sha256=versions_dict[ver]["devlib"],
expand=True,
- destination='aomp-dir',
- placement='rocm-device-libs',
- when='@' + ver)
+ destination="aomp-dir",
+ placement="rocm-device-libs",
+ when="@" + ver,
+ )
resource(
- name='amd-llvm-project',
- url=tools_url + '/amd-llvm-project/archive/rocm-' + ver
- + '.tar.gz',
- sha256=versions_dict[ver]['llvm'],
+ name="amd-llvm-project",
+ url=tools_url + "/amd-llvm-project/archive/rocm-" + ver + ".tar.gz",
+ sha256=versions_dict[ver]["llvm"],
expand=True,
- destination='aomp-dir',
- placement='amd-llvm-project',
- when='@' + ver)
+ destination="aomp-dir",
+ placement="amd-llvm-project",
+ when="@" + ver,
+ )
resource(
- name='flang',
- url=tools_url + '/flang/archive/rocm-' + ver + '.tar.gz',
- sha256=versions_dict[ver]['flang'],
+ name="flang",
+ url=tools_url + "/flang/archive/rocm-" + ver + ".tar.gz",
+ sha256=versions_dict[ver]["flang"],
expand=True,
- destination='aomp-dir',
- placement='flang',
- when='@' + ver)
+ destination="aomp-dir",
+ placement="flang",
+ when="@" + ver,
+ )
resource(
- name='aomp-extras',
- url=tools_url + '/aomp-extras/archive/rocm-' + ver + '.tar.gz',
- sha256=versions_dict[ver]['extras'],
+ name="aomp-extras",
+ url=tools_url + "/aomp-extras/archive/rocm-" + ver + ".tar.gz",
+ sha256=versions_dict[ver]["extras"],
expand=True,
- destination='aomp-dir',
- placement='aomp-extras',
- when='@' + ver)
+ destination="aomp-dir",
+ placement="aomp-extras",
+ when="@" + ver,
+ )
- if ver == '3.5.0':
+ if ver == "3.5.0":
resource(
- name='hip-on-vdi',
- url=tools_url + '/hip/archive/aomp-3.5.0.tar.gz',
- sha256=versions_dict['3.5.0']['hip'],
+ name="hip-on-vdi",
+ url=tools_url + "/hip/archive/aomp-3.5.0.tar.gz",
+ sha256=versions_dict["3.5.0"]["hip"],
expand=True,
- destination='aomp-dir',
- placement='hip-on-vdi',
- when='@3.5.0')
+ destination="aomp-dir",
+ placement="hip-on-vdi",
+ when="@3.5.0",
+ )
resource(
- name='vdi',
- url=tools_url + '/rocclr/archive/aomp-3.5.0.tar.gz',
- sha256=versions_dict['3.5.0']['vdi'],
+ name="vdi",
+ url=tools_url + "/rocclr/archive/aomp-3.5.0.tar.gz",
+ sha256=versions_dict["3.5.0"]["vdi"],
expand=True,
- destination='aomp-dir',
- placement='vdi',
- when='@3.5.0')
+ destination="aomp-dir",
+ placement="vdi",
+ when="@3.5.0",
+ )
resource(
- name='opencl-on-vdi',
- sha256=versions_dict['3.5.0']['opencl'],
- url=compute_url +
- '/ROCm-OpenCL-Runtime/archive/aomp-3.5.0.tar.gz',
+ name="opencl-on-vdi",
+ sha256=versions_dict["3.5.0"]["opencl"],
+ url=compute_url + "/ROCm-OpenCL-Runtime/archive/aomp-3.5.0.tar.gz",
expand=True,
- destination='aomp-dir',
- placement='opencl-on-vdi',
- when='@3.5.0')
+ destination="aomp-dir",
+ placement="opencl-on-vdi",
+ when="@3.5.0",
+ )
# Copy source files over for debug build in 3.9.0
- patch('0001-Add-cmake-option-for-copying-source-for-debugging.patch',
- working_dir='aomp-dir/amd-llvm-project', when='@3.9.0:')
+ patch(
+ "0001-Add-cmake-option-for-copying-source-for-debugging.patch",
+ working_dir="aomp-dir/amd-llvm-project",
+ when="@3.9.0:",
+ )
# Revert back to .amdgcn.bc naming scheme for 3.8.0
- patch('0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch',
- working_dir='aomp-dir/amd-llvm-project', when='@3.8.0')
+ patch(
+ "0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch",
+ working_dir="aomp-dir/amd-llvm-project",
+ when="@3.8.0",
+ )
# Revert back to .amdgcn.bc naming scheme for 3.7.0
- patch('0001-Add-amdgcn-to-devicelibs-bitcode-names.patch',
- working_dir='aomp-dir/amd-llvm-project', when='@3.7.0')
+ patch(
+ "0001-Add-amdgcn-to-devicelibs-bitcode-names.patch",
+ working_dir="aomp-dir/amd-llvm-project",
+ when="@3.7.0",
+ )
def patch(self):
# Make sure python2.7 is used for the generation of hip header
- if self.spec.version == Version('3.5.0'):
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- with working_dir('aomp-dir/hip-on-vdi'):
- match = '^#!/usr/bin/python'
- python = self.spec['python'].command.path
+ if self.spec.version == Version("3.5.0"):
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ with working_dir("aomp-dir/hip-on-vdi"):
+ match = "^#!/usr/bin/python"
+ python = self.spec["python"].command.path
substitute = "#!{python}".format(python=python)
- files = [
- 'hip_prof_gen.py', 'vdi/hip_prof_gen.py'
- ]
+ files = ["hip_prof_gen.py", "vdi/hip_prof_gen.py"]
filter_file(match, substitute, *files, **kwargs)
src = self.stage.source_path
- libomptarget = '{0}/aomp-dir/amd-llvm-project/openmp/libomptarget'
- aomp_extras = '{0}/aomp-dir/aomp-extras/aomp-device-libs'
- flang = '{0}/aomp-dir/flang/'
+ libomptarget = "{0}/aomp-dir/amd-llvm-project/openmp/libomptarget"
+ aomp_extras = "{0}/aomp-dir/aomp-extras/aomp-device-libs"
+ flang = "{0}/aomp-dir/flang/"
- if self.spec.version >= Version('3.9.0'):
+ if self.spec.version >= Version("3.9.0"):
filter_file(
- 'ADDITIONAL_VERSIONS 2.7', 'ADDITIONAL_VERSIONS 3',
- flang.format(src) + 'CMakeLists.txt')
+ "ADDITIONAL_VERSIONS 2.7",
+ "ADDITIONAL_VERSIONS 3",
+ flang.format(src) + "CMakeLists.txt",
+ )
- if self.spec.version >= Version('3.8.0'):
+ if self.spec.version >= Version("3.8.0"):
filter_file(
- '{CMAKE_INSTALL_PREFIX}', '{HSA_INCLUDE}',
- libomptarget.format(src) + '/hostrpc/services/CMakeLists.txt')
+ "{CMAKE_INSTALL_PREFIX}",
+ "{HSA_INCLUDE}",
+ libomptarget.format(src) + "/hostrpc/services/CMakeLists.txt",
+ )
filter_file(
- 'CONFIG',
- 'CONFIG PATHS ${CMAKE_INSTALL_PREFIX} NO_DEFAULT_PATH',
- libomptarget.format(src) + '/../libompd/test/CMakeLists.txt')
+ "CONFIG",
+ "CONFIG PATHS ${CMAKE_INSTALL_PREFIX} NO_DEFAULT_PATH",
+ libomptarget.format(src) + "/../libompd/test/CMakeLists.txt",
+ )
- if self.spec.version != Version('3.5.0'):
+ if self.spec.version != Version("3.5.0"):
filter_file(
- '{ROCM_DIR}/aomp/amdgcn/bitcode', '{DEVICE_LIBS_DIR}',
- libomptarget.format(src) + '/hostrpc/CMakeLists.txt',
- libomptarget.format(src) + '/deviceRTLs/amdgcn/CMakeLists.txt')
+ "{ROCM_DIR}/aomp/amdgcn/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ libomptarget.format(src) + "/hostrpc/CMakeLists.txt",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ )
- if self.spec.version == Version('3.5.0'):
+ if self.spec.version == Version("3.5.0"):
filter_file(
- '{ROCM_DIR}/lib/bitcode', '{DEVICE_LIBS_DIR}',
- libomptarget.format(src) +
- '/deviceRTLs/hostcall/CMakeLists.txt')
+ "{ROCM_DIR}/lib/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ libomptarget.format(src) + "/deviceRTLs/hostcall/CMakeLists.txt",
+ )
filter_file(
- '{ROCM_DIR}/lib/bitcode', '{DEVICE_LIBS_DIR}',
- aomp_extras.format(src) + '/aompextras/CMakeLists.txt',
- aomp_extras.format(src) + '/libm/CMakeLists.txt',
- libomptarget.format(src) + '/deviceRTLs/amdgcn/CMakeLists.txt',
- string=True)
+ "{ROCM_DIR}/lib/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ aomp_extras.format(src) + "/aompextras/CMakeLists.txt",
+ aomp_extras.format(src) + "/libm/CMakeLists.txt",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ string=True,
+ )
filter_file(
- r'${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa',
- '${HSA_INCLUDE}/hsa/include ${HSA_INCLUDE}/hsa/include/hsa',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt',
- string=True)
+ r"${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa",
+ "${HSA_INCLUDE}/hsa/include ${HSA_INCLUDE}/hsa/include/hsa",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ string=True,
+ )
filter_file(
- '{ROCM_DIR}/hsa/lib', '{HSA_LIB}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt')
+ "{ROCM_DIR}/hsa/lib",
+ "{HSA_LIB}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ )
filter_file(
- r'{ROCM_DIR}/lib\)',
- '{HSAKMT_LIB})\nset(HSAKMT_LIB64 ${HSAKMT_LIB64})',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt')
+ r"{ROCM_DIR}/lib\)",
+ "{HSAKMT_LIB})\nset(HSAKMT_LIB64 ${HSAKMT_LIB64})",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ )
filter_file(
- r'-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}',
- '-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS} -L${HSAKMT_LIB64}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt',
- string=True)
+ r"-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}",
+ "-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS} -L${HSAKMT_LIB64}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ string=True,
+ )
filter_file(
- r'-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}',
- '-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}' +
- ',-rpath,${HSAKMT_LIB64}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt',
- string=True)
+ r"-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}",
+ "-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}" + ",-rpath,${HSAKMT_LIB64}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ string=True,
+ )
filter_file(
- '{ROCM_DIR}/include', '{COMGR_INCLUDE}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt')
+ "{ROCM_DIR}/include",
+ "{COMGR_INCLUDE}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ )
filter_file(
- '{ROCM_DIR}/include', '{COMGR_INCLUDE}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt')
+ "{ROCM_DIR}/include",
+ "{COMGR_INCLUDE}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ )
filter_file(
- r'-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}',
- '-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX} -L${COMGR_LIB}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt',
- string=True)
+ r"-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}",
+ "-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX} -L${COMGR_LIB}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ string=True,
+ )
filter_file(
- r'rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}',
- 'rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}' +
- '-Wl,-rpath,${COMGR_LIB}',
- libomptarget.format(src) + '/plugins/hsa/CMakeLists.txt',
- string=True)
+ r"rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}",
+ "rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}" + "-Wl,-rpath,${COMGR_LIB}",
+ libomptarget.format(src) + "/plugins/hsa/CMakeLists.txt",
+ string=True,
+ )
def setup_run_environment(self, env):
- devlibs_prefix = self.spec['rocm-device-libs'].prefix
- aomp_prefix = self.spec['aomp'].prefix
- env.set('HIP_DEVICE_LIB_PATH',
- '{0}/amdgcn/bitcode'.format(format(devlibs_prefix)))
- env.set('AOMP', '{0}'.format(format(aomp_prefix)))
+ devlibs_prefix = self.spec["rocm-device-libs"].prefix
+ aomp_prefix = self.spec["aomp"].prefix
+ env.set("HIP_DEVICE_LIB_PATH", "{0}/amdgcn/bitcode".format(format(devlibs_prefix)))
+ env.set("AOMP", "{0}".format(format(aomp_prefix)))
def setup_build_environment(self, env):
- aomp_prefix = self.spec['aomp'].prefix
- env.set('AOMP', '{0}'.format(format(aomp_prefix)))
- env.set('FC', '{0}/bin/flang'.format(format(aomp_prefix)))
- env.set(
- 'GFXLIST',
- 'gfx700 gfx701 gfx801 gfx803 gfx900 gfx902 gfx906 gfx908')
+ aomp_prefix = self.spec["aomp"].prefix
+ env.set("AOMP", "{0}".format(format(aomp_prefix)))
+ env.set("FC", "{0}/bin/flang".format(format(aomp_prefix)))
+ env.set("GFXLIST", "gfx700 gfx701 gfx801 gfx803 gfx900 gfx902 gfx906 gfx908")
def install(self, spec, prefix):
src = self.stage.source_path
gfx_list = "gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906;gfx908"
- aomp_prefix = self.spec['aomp'].prefix
- devlibs_prefix = self.spec['rocm-device-libs'].prefix
- hsa_prefix = self.spec['hsa-rocr-dev'].prefix
- hsakmt_prefix = self.spec['hsakmt-roct'].prefix
- comgr_prefix = self.spec['comgr'].prefix
- opencl_src = '/aomp-dir/opencl-on-vdi/api/opencl'
- omp_src = '/aomp-dir/amd-llvm-project/openmp'
- debug_map_format = \
- '-fdebug-prefix-map={0}{1}={2}'.format(src, omp_src, aomp_prefix)
-
- if self.spec.version >= Version('3.9.0'):
- bitcode_dir = '/amdgcn/bitcode'
+ aomp_prefix = self.spec["aomp"].prefix
+ devlibs_prefix = self.spec["rocm-device-libs"].prefix
+ hsa_prefix = self.spec["hsa-rocr-dev"].prefix
+ hsakmt_prefix = self.spec["hsakmt-roct"].prefix
+ comgr_prefix = self.spec["comgr"].prefix
+ opencl_src = "/aomp-dir/opencl-on-vdi/api/opencl"
+ omp_src = "/aomp-dir/amd-llvm-project/openmp"
+ debug_map_format = "-fdebug-prefix-map={0}{1}={2}".format(src, omp_src, aomp_prefix)
+
+ if self.spec.version >= Version("3.9.0"):
+ bitcode_dir = "/amdgcn/bitcode"
else:
- bitcode_dir = '/lib'
+ bitcode_dir = "/lib"
components = dict()
- components['amd-llvm-project'] = [
- '../aomp-dir/amd-llvm-project/llvm',
- '-DLLVM_ENABLE_PROJECTS=clang;lld;compiler-rt',
- '-DCMAKE_BUILD_TYPE=release',
- '-DLLVM_ENABLE_ASSERTIONS=ON',
- '-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86',
- '-DCMAKE_C_COMPILER={0}'.format(self.compiler.cc),
- '-DCMAKE_CXX_COMPILER={0}'.format(self.compiler.cxx),
- '-DCMAKE_ASM_COMPILER={0}'.format(self.compiler.cc),
- '-DBUG_REPORT_URL=https://github.com/ROCm-Developer-Tools/aomp',
- '-DLLVM_ENABLE_BINDINGS=OFF',
- '-DLLVM_INCLUDE_BENCHMARKS=OFF',
- '-DLLVM_BUILD_TESTS=OFF',
- '-DLLVM_INCLUDE_TESTS=OFF',
- '-DCLANG_INCLUDE_TESTS=OFF',
- '-DCMAKE_VERBOSE_MAKEFILE=1',
- '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE'
+ components["amd-llvm-project"] = [
+ "../aomp-dir/amd-llvm-project/llvm",
+ "-DLLVM_ENABLE_PROJECTS=clang;lld;compiler-rt",
+ "-DCMAKE_BUILD_TYPE=release",
+ "-DLLVM_ENABLE_ASSERTIONS=ON",
+ "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86",
+ "-DCMAKE_C_COMPILER={0}".format(self.compiler.cc),
+ "-DCMAKE_CXX_COMPILER={0}".format(self.compiler.cxx),
+ "-DCMAKE_ASM_COMPILER={0}".format(self.compiler.cc),
+ "-DBUG_REPORT_URL=https://github.com/ROCm-Developer-Tools/aomp",
+ "-DLLVM_ENABLE_BINDINGS=OFF",
+ "-DLLVM_INCLUDE_BENCHMARKS=OFF",
+ "-DLLVM_BUILD_TESTS=OFF",
+ "-DLLVM_INCLUDE_TESTS=OFF",
+ "-DCLANG_INCLUDE_TESTS=OFF",
+ "-DCMAKE_VERBOSE_MAKEFILE=1",
+ "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE",
]
- if self.spec.version == Version('3.5.0'):
- components['vdi'] = [
- '../aomp-dir/vdi',
- '-DUSE_COMGR_LIBRARY=yes',
- '-DOPENCL_DIR={0}{1}'.format(src, opencl_src)
+ if self.spec.version == Version("3.5.0"):
+ components["vdi"] = [
+ "../aomp-dir/vdi",
+ "-DUSE_COMGR_LIBRARY=yes",
+ "-DOPENCL_DIR={0}{1}".format(src, opencl_src),
]
- components['hip-on-vdi'] = [
- '../aomp-dir/hip-on-vdi',
- '-DVDI_ROOT={0}/aomp-dir/vdi'.format(src),
- '-DHIP_COMPILER=clang',
- '-DHIP_PLATFORM=vdi',
- '-DVDI_DIR={0}/aomp-dir/vdi'.format(src),
- '-DHSA_PATH={0}'.format(hsa_prefix),
- '-DLIBVDI_STATIC_DIR={0}/spack-build-vdi'.format(src),
- '-DCMAKE_CXX_FLAGS=-Wno-ignored-attributes'
+ components["hip-on-vdi"] = [
+ "../aomp-dir/hip-on-vdi",
+ "-DVDI_ROOT={0}/aomp-dir/vdi".format(src),
+ "-DHIP_COMPILER=clang",
+ "-DHIP_PLATFORM=vdi",
+ "-DVDI_DIR={0}/aomp-dir/vdi".format(src),
+ "-DHSA_PATH={0}".format(hsa_prefix),
+ "-DLIBVDI_STATIC_DIR={0}/spack-build-vdi".format(src),
+ "-DCMAKE_CXX_FLAGS=-Wno-ignored-attributes",
]
- components['aomp-extras'] = [
- '../aomp-dir/aomp-extras',
- '-DROCM_PATH=$ROCM_DIR ',
- '-DDEVICE_LIBS_DIR={0}{1}'.format(devlibs_prefix, bitcode_dir),
- '-DAOMP_STANDALONE_BUILD=0',
- '-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs'.format(src),
- '-DCMAKE_VERBOSE_MAKEFILE=1'
+ components["aomp-extras"] = [
+ "../aomp-dir/aomp-extras",
+ "-DROCM_PATH=$ROCM_DIR ",
+ "-DDEVICE_LIBS_DIR={0}{1}".format(devlibs_prefix, bitcode_dir),
+ "-DAOMP_STANDALONE_BUILD=0",
+ "-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs".format(src),
+ "-DCMAKE_VERBOSE_MAKEFILE=1",
]
openmp_common_args = [
- '-DROCM_DIR={0}'.format(hsa_prefix),
- '-DDEVICE_LIBS_DIR={0}{1}'.format(devlibs_prefix, bitcode_dir),
- '-DAOMP_STANDALONE_BUILD=0',
- '-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs'.format(src),
- '-DOPENMP_TEST_C_COMPILER={0}/bin/clang'.format(aomp_prefix),
- '-DOPENMP_TEST_CXX_COMPILER={0}/bin/clang++'.format(aomp_prefix),
- '-DLIBOMPTARGET_AMDGCN_GFXLIST={0}'.format(gfx_list),
- '-DLIBOMP_COPY_EXPORTS=OFF',
- '-DHSA_INCLUDE={0}'.format(hsa_prefix),
- '-DHSA_LIB={0}/lib'.format(hsa_prefix),
- '-DHSAKMT_LIB={0}/lib'.format(hsakmt_prefix),
- '-DHSAKMT_LIB64={0}/lib64'.format(hsakmt_prefix),
- '-DCOMGR_INCLUDE={0}/include'.format(comgr_prefix),
- '-DCOMGR_LIB={0}/lib'.format(comgr_prefix),
- '-DOPENMP_ENABLE_LIBOMPTARGET=1',
- '-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1'
+ "-DROCM_DIR={0}".format(hsa_prefix),
+ "-DDEVICE_LIBS_DIR={0}{1}".format(devlibs_prefix, bitcode_dir),
+ "-DAOMP_STANDALONE_BUILD=0",
+ "-DDEVICELIBS_ROOT={0}/aomp-dir/rocm-device-libs".format(src),
+ "-DOPENMP_TEST_C_COMPILER={0}/bin/clang".format(aomp_prefix),
+ "-DOPENMP_TEST_CXX_COMPILER={0}/bin/clang++".format(aomp_prefix),
+ "-DLIBOMPTARGET_AMDGCN_GFXLIST={0}".format(gfx_list),
+ "-DLIBOMP_COPY_EXPORTS=OFF",
+ "-DHSA_INCLUDE={0}".format(hsa_prefix),
+ "-DHSA_LIB={0}/lib".format(hsa_prefix),
+ "-DHSAKMT_LIB={0}/lib".format(hsakmt_prefix),
+ "-DHSAKMT_LIB64={0}/lib64".format(hsakmt_prefix),
+ "-DCOMGR_INCLUDE={0}/include".format(comgr_prefix),
+ "-DCOMGR_LIB={0}/lib".format(comgr_prefix),
+ "-DOPENMP_ENABLE_LIBOMPTARGET=1",
+ "-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1",
]
- components['openmp'] = ['../aomp-dir/amd-llvm-project/openmp']
- components['openmp'] += openmp_common_args
+ components["openmp"] = ["../aomp-dir/amd-llvm-project/openmp"]
+ components["openmp"] += openmp_common_args
- components['openmp-debug'] = [
- '../aomp-dir/amd-llvm-project/openmp',
- '-DLIBOMPTARGET_NVPTX_DEBUG=ON',
- '-DOPENMP_ENABLE_LIBOMPTARGET=1',
- '-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1'
- '-DCMAKE_CXX_FLAGS=-g',
- '-DCMAKE_C_FLAGS=-g'
+ components["openmp-debug"] = [
+ "../aomp-dir/amd-llvm-project/openmp",
+ "-DLIBOMPTARGET_NVPTX_DEBUG=ON",
+ "-DOPENMP_ENABLE_LIBOMPTARGET=1",
+ "-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1" "-DCMAKE_CXX_FLAGS=-g",
+ "-DCMAKE_C_FLAGS=-g",
]
- if self.spec.version >= Version('3.9.0'):
- components['openmp-debug'] += [
- '-DENABLE_SOURCE_COPY=ON',
- '-DOPENMP_SOURCE_DEBUG_MAP={0}'.format(debug_map_format)
+ if self.spec.version >= Version("3.9.0"):
+ components["openmp-debug"] += [
+ "-DENABLE_SOURCE_COPY=ON",
+ "-DOPENMP_SOURCE_DEBUG_MAP={0}".format(debug_map_format),
]
- if self.spec.version >= Version('3.8.0'):
- components['openmp-debug'] += [
- '-DLIBOMP_ARCH=x86_64',
- '-DLIBOMP_OMP_VERSION=50',
- '-DLIBOMP_OMPT_SUPPORT=ON',
- '-DLIBOMP_USE_DEBUGGER=ON',
- '-DLIBOMP_CFLAGS=-O0',
- '-DLIBOMP_CPPFLAGS=-O0',
- '-DLIBOMP_OMPD_ENABLED=ON',
- '-DLIBOMP_OMPD_SUPPORT=ON',
- '-DLIBOMP_OMPT_DEBUG=ON'
+ if self.spec.version >= Version("3.8.0"):
+ components["openmp-debug"] += [
+ "-DLIBOMP_ARCH=x86_64",
+ "-DLIBOMP_OMP_VERSION=50",
+ "-DLIBOMP_OMPT_SUPPORT=ON",
+ "-DLIBOMP_USE_DEBUGGER=ON",
+ "-DLIBOMP_CFLAGS=-O0",
+ "-DLIBOMP_CPPFLAGS=-O0",
+ "-DLIBOMP_OMPD_ENABLED=ON",
+ "-DLIBOMP_OMPD_SUPPORT=ON",
+ "-DLIBOMP_OMPT_DEBUG=ON",
]
- components['openmp-debug'] += openmp_common_args
+ components["openmp-debug"] += openmp_common_args
flang_common_args = [
- '-DLLVM_ENABLE_ASSERTIONS=ON',
- '-DLLVM_CONFIG={0}/bin/llvm-config'.format(aomp_prefix),
- '-DCMAKE_CXX_COMPILER={0}/bin/clang++'.format(aomp_prefix),
- '-DCMAKE_C_COMPILER={0}/bin/clang'.format(aomp_prefix),
- '-DCMAKE_Fortran_COMPILER={0}/bin/flang'.format(aomp_prefix),
- '-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86'
+ "-DLLVM_ENABLE_ASSERTIONS=ON",
+ "-DLLVM_CONFIG={0}/bin/llvm-config".format(aomp_prefix),
+ "-DCMAKE_CXX_COMPILER={0}/bin/clang++".format(aomp_prefix),
+ "-DCMAKE_C_COMPILER={0}/bin/clang".format(aomp_prefix),
+ "-DCMAKE_Fortran_COMPILER={0}/bin/flang".format(aomp_prefix),
+ "-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86",
]
- components['pgmath'] = ['../aomp-dir/flang/runtime/libpgmath']
- components['pgmath'] += flang_common_args
+ components["pgmath"] = ["../aomp-dir/flang/runtime/libpgmath"]
+ components["pgmath"] += flang_common_args
- components['flang'] = [
- '../aomp-dir/flang',
- '-DFLANG_OPENMP_GPU_AMD=ON',
- '-DFLANG_OPENMP_GPU_NVIDIA=ON'
+ components["flang"] = [
+ "../aomp-dir/flang",
+ "-DFLANG_OPENMP_GPU_AMD=ON",
+ "-DFLANG_OPENMP_GPU_NVIDIA=ON",
]
- components['flang'] += flang_common_args
+ components["flang"] += flang_common_args
- components['flang-runtime'] = [
- '../aomp-dir/flang',
- '-DLLVM_INSTALL_RUNTIME=ON',
- '-DFLANG_BUILD_RUNTIME=ON',
- '-DOPENMP_BUILD_DIR={0}/spack-build-openmp/runtime/src'.format(src)
+ components["flang-runtime"] = [
+ "../aomp-dir/flang",
+ "-DLLVM_INSTALL_RUNTIME=ON",
+ "-DFLANG_BUILD_RUNTIME=ON",
+ "-DOPENMP_BUILD_DIR={0}/spack-build-openmp/runtime/src".format(src),
]
- components['flang-runtime'] += flang_common_args
+ components["flang-runtime"] += flang_common_args
- if self.spec.version != Version('3.5.0'):
+ if self.spec.version != Version("3.5.0"):
build_order = [
- "amd-llvm-project", "aomp-extras",
- "openmp", "openmp-debug", "pgmath", "flang", "flang-runtime"
+ "amd-llvm-project",
+ "aomp-extras",
+ "openmp",
+ "openmp-debug",
+ "pgmath",
+ "flang",
+ "flang-runtime",
]
- elif self.spec.version == Version('3.5.0'):
+ elif self.spec.version == Version("3.5.0"):
build_order = [
- "amd-llvm-project", "vdi", "hip-on-vdi", "aomp-extras",
- "openmp", "openmp-debug", "pgmath", "flang", "flang-runtime"
+ "amd-llvm-project",
+ "vdi",
+ "hip-on-vdi",
+ "aomp-extras",
+ "openmp",
+ "openmp-debug",
+ "pgmath",
+ "flang",
+ "flang-runtime",
]
# Override standard CMAKE_BUILD_TYPE
@@ -493,7 +523,7 @@ class Aomp(Package):
std_cmake_args.remove(arg)
for component in build_order:
- with working_dir('spack-build-{0}'.format(component), create=True):
+ with working_dir("spack-build-{0}".format(component), create=True):
cmake_args = components[component]
cmake_args.extend(std_cmake_args)
# OpenMP build needs to be run twice(Release, Debug)
diff --git a/var/spack/repos/builtin/packages/apachetop/package.py b/var/spack/repos/builtin/packages/apachetop/package.py
index aad9801c4e..4a5c86c3b4 100644
--- a/var/spack/repos/builtin/packages/apachetop/package.py
+++ b/var/spack/repos/builtin/packages/apachetop/package.py
@@ -13,15 +13,15 @@ class Apachetop(AutotoolsPackage):
since v0.11)"""
homepage = "https://github.com/tessus/apachetop"
- url = "https://github.com/tessus/apachetop/archive/0.19.7.tar.gz"
+ url = "https://github.com/tessus/apachetop/archive/0.19.7.tar.gz"
- version('0.19.7', sha256='88abf58ee5d7882e4cc3fa2462865ebbf0e8f872fdcec5186abe16e7bff3d4a5')
- version('0.18.4', sha256='1cbbfd1bf12275fb21e0cb6068b9050b2fee8c276887054a015bf103a1ae9cc6')
- version('0.17.4', sha256='892ed3b83b45eb38811e74d068089b1e8c34707787f240ce133d8c93198d7ff0')
- version('0.15.6', sha256='7343caeb1adab795439b7be9cf47ce6049751ae948537d5f27251c075264801a')
+ version("0.19.7", sha256="88abf58ee5d7882e4cc3fa2462865ebbf0e8f872fdcec5186abe16e7bff3d4a5")
+ version("0.18.4", sha256="1cbbfd1bf12275fb21e0cb6068b9050b2fee8c276887054a015bf103a1ae9cc6")
+ version("0.17.4", sha256="892ed3b83b45eb38811e74d068089b1e8c34707787f240ce133d8c93198d7ff0")
+ version("0.15.6", sha256="7343caeb1adab795439b7be9cf47ce6049751ae948537d5f27251c075264801a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('readline')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("readline")
diff --git a/var/spack/repos/builtin/packages/apcomp/package.py b/var/spack/repos/builtin/packages/apcomp/package.py
index 050ff94ee8..a3ce86fba3 100644
--- a/var/spack/repos/builtin/packages/apcomp/package.py
+++ b/var/spack/repos/builtin/packages/apcomp/package.py
@@ -28,36 +28,37 @@ def cmake_cache_entry(name, value, vtype=None):
class Apcomp(Package):
"""A multi use-case image compositor"""
- homepage = 'https://github.com/Alpine-DAV/ap_compositor'
- git = 'https://github.com/Alpine-DAV/ap_compositor.git'
- url = "https://github.com/Alpine-DAV/ap_compositor/releases/download/v0.0.1/apcomp-v0.0.1.tar.gz"
-
- maintainers = ['cyrush']
-
- version('master', branch='master', submodules='True')
- version('0.0.4', sha256="061876dd55e443de91a40d10662496f6bb58b0a3835aec78f5710f5a737d0494")
- version('0.0.3', sha256="07e8c1d6a23205f4cc66d0a030e65a69e8344545f4d56213d968b67a410adc6e")
- version('0.0.2', sha256="cb2e2c4524889408de2dd3d29665512c99763db13e6f5e35c3b55e52948c649c")
- version('0.0.1', sha256="cbf85fe58d5d5bc2f468d081386cc8b79861046b3bb7e966edfa3f8e95b998b2")
-
- variant('openmp', default=True, description='Build with openmp support')
- variant('mpi', default=True, description='Build with MPI support')
- variant('shared', default=True, description='Build Shared Library')
+ homepage = "https://github.com/Alpine-DAV/ap_compositor"
+ git = "https://github.com/Alpine-DAV/ap_compositor.git"
+ url = (
+ "https://github.com/Alpine-DAV/ap_compositor/releases/download/v0.0.1/apcomp-v0.0.1.tar.gz"
+ )
+
+ maintainers = ["cyrush"]
+
+ version("master", branch="master", submodules="True")
+ version("0.0.4", sha256="061876dd55e443de91a40d10662496f6bb58b0a3835aec78f5710f5a737d0494")
+ version("0.0.3", sha256="07e8c1d6a23205f4cc66d0a030e65a69e8344545f4d56213d968b67a410adc6e")
+ version("0.0.2", sha256="cb2e2c4524889408de2dd3d29665512c99763db13e6f5e35c3b55e52948c649c")
+ version("0.0.1", sha256="cbf85fe58d5d5bc2f468d081386cc8b79861046b3bb7e966edfa3f8e95b998b2")
+
+ variant("openmp", default=True, description="Build with openmp support")
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("shared", default=True, description="Build Shared Library")
# set to false for systems that implicitly link mpi
- variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
+ variant("blt_find_mpi", default=True, description="Use BLT CMake Find MPI logic")
- depends_on('cmake@3.9:', type='build')
+ depends_on("cmake@3.9:", type="build")
depends_on("mpi", when="+mpi")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def install(self, spec, prefix):
"""
Build and install APComp
"""
- with working_dir('spack-build', create=True):
- host_cfg_fname = self.create_host_config(spec,
- prefix)
+ with working_dir("spack-build", create=True):
+ host_cfg_fname = self.create_host_config(spec, prefix)
cmake_args = []
# if we have a static build, we need to avoid any of
# spack's default cmake settings related to rpaths
@@ -105,17 +106,15 @@ class Apcomp(Package):
##############################################
if "+cmake" in spec:
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
else:
cmake_exe = which("cmake")
if cmake_exe is None:
- msg = 'failed to find CMake (and cmake variant is off)'
+ msg = "failed to find CMake (and cmake variant is off)"
raise RuntimeError(msg)
cmake_exe = cmake_exe.path
- host_cfg_fname = "%s-%s-%s-apcomp.cmake" % (socket.gethostname(),
- sys_type,
- spec.compiler)
+ host_cfg_fname = "%s-%s-%s-apcomp.cmake" % (socket.gethostname(), sys_type, spec.compiler)
cfg = open(host_cfg_fname, "w")
cfg.write("##################################\n")
@@ -151,8 +150,8 @@ class Apcomp(Package):
cfg.write(cmake_cache_entry("ENABLE_OPENMP", "OFF"))
if "+mpi" in spec:
- mpicc_path = spec['mpi'].mpicc
- mpicxx_path = spec['mpi'].mpicxx
+ mpicc_path = spec["mpi"].mpicc
+ mpicxx_path = spec["mpi"].mpicxx
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
@@ -167,16 +166,14 @@ class Apcomp(Package):
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "ON"))
else:
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "OFF"))
- mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec")
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
- mpiexe_bin))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE", mpiexe_bin))
else:
- cfg.write(cmake_cache_entry("MPIEXEC",
- mpiexe_bin))
+ cfg.write(cmake_cache_entry("MPIEXEC", mpiexe_bin))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
diff --git a/var/spack/repos/builtin/packages/ape/package.py b/var/spack/repos/builtin/packages/ape/package.py
index a614bf78aa..00b2e284a2 100644
--- a/var/spack/repos/builtin/packages/ape/package.py
+++ b/var/spack/repos/builtin/packages/ape/package.py
@@ -11,21 +11,23 @@ class Ape(Package):
Theory framework"""
homepage = "https://www.tddft.org/programs/APE/"
- url = "http://www.tddft.org/programs/APE/sites/default/files/ape-2.2.1.tar.gz"
+ url = "http://www.tddft.org/programs/APE/sites/default/files/ape-2.2.1.tar.gz"
- version('2.2.1', sha256='1bdb7f987fde81f8a5f335da6b59fa884e6d185d4a0995c90fde7c04376ce9e3')
+ version("2.2.1", sha256="1bdb7f987fde81f8a5f335da6b59fa884e6d185d4a0995c90fde7c04376ce9e3")
- depends_on('gsl')
- depends_on('libxc@:4', when='@2.3.0:')
- depends_on('libxc@:2.2.2', when='@:2.2.1')
+ depends_on("gsl")
+ depends_on("libxc@:4", when="@2.3.0:")
+ depends_on("libxc@:2.2.2", when="@:2.2.1")
def install(self, spec, prefix):
args = []
- args.extend([
- '--prefix=%s' % prefix,
- '--with-gsl-prefix=%s' % spec['gsl'].prefix,
- '--with-libxc-prefix=%s' % spec['libxc'].prefix
- ])
+ args.extend(
+ [
+ "--prefix=%s" % prefix,
+ "--with-gsl-prefix=%s" % spec["gsl"].prefix,
+ "--with-libxc-prefix=%s" % spec["libxc"].prefix,
+ ]
+ )
# When preprocessor expands macros (i.e. CFLAGS) defined as quoted
# strings the result may be > 132 chars and is terminated.
@@ -34,13 +36,9 @@ class Ape(Package):
# let compiler know that the entire line is meaningful.
# TODO: For the lack of better approach, assume that clang is mixed
# TODO: with GNU fortran.
- if (spec.satisfies('%apple-clang') or
- spec.satisfies('%clang') or
- spec.satisfies('%gcc')):
- args.extend([
- 'FCFLAGS=-O2 -ffree-line-length-none'
- ])
+ if spec.satisfies("%apple-clang") or spec.satisfies("%clang") or spec.satisfies("%gcc"):
+ args.extend(["FCFLAGS=-O2 -ffree-line-length-none"])
configure(*args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/aperture-photometry/package.py b/var/spack/repos/builtin/packages/aperture-photometry/package.py
index d709f3eace..2e80219803 100644
--- a/var/spack/repos/builtin/packages/aperture-photometry/package.py
+++ b/var/spack/repos/builtin/packages/aperture-photometry/package.py
@@ -12,23 +12,26 @@ class AperturePhotometry(Package):
"""Aperture Photometry Tool APT is software for astronomical research"""
homepage = "http://www.aperturephotometry.org/"
- url = "https://web.ipac.caltech.edu/staff/laher/apt/APT_v2.8.4.tar.gz"
- maintainers = ['snehring']
+ url = "https://web.ipac.caltech.edu/staff/laher/apt/APT_v2.8.4.tar.gz"
+ maintainers = ["snehring"]
- version('3.0.2', '8ac430079825ba274567fb998dd693bb6f99490f5b896d4746178ba796bfdead')
- version('2.8.4', '28ae136c708a3ebcb83632230e119a03ca1a65499006ab69dc76e21b4921f465')
- version('2.8.2', 'cb29eb39a630dc5d17c02fb824c69571fe1870a910a6acf9115c5f76fd89dd7e', deprecated=True)
+ version("3.0.2", "8ac430079825ba274567fb998dd693bb6f99490f5b896d4746178ba796bfdead")
+ version("2.8.4", "28ae136c708a3ebcb83632230e119a03ca1a65499006ab69dc76e21b4921f465")
+ version(
+ "2.8.2",
+ "cb29eb39a630dc5d17c02fb824c69571fe1870a910a6acf9115c5f76fd89dd7e",
+ deprecated=True,
+ )
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('APT.jar', prefix.bin)
- java = join_path(self.spec['java'].prefix, 'bin', 'java')
+ install("APT.jar", prefix.bin)
+ java = join_path(self.spec["java"].prefix, "bin", "java")
script_sh = join_path(os.path.dirname(__file__), "APT.sh")
script = join_path(prefix.bin, "apt")
install(script_sh, script)
set_executable(script)
- filter_file('^java', java, script)
- filter_file('APT.jar', join_path(prefix.bin, 'APT.jar'),
- script)
+ filter_file("^java", java, script)
+ filter_file("APT.jar", join_path(prefix.bin, "APT.jar"), script)
diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py
index 1e1b9f6c9f..6f40aceac2 100644
--- a/var/spack/repos/builtin/packages/apex/package.py
+++ b/var/spack/repos/builtin/packages/apex/package.py
@@ -11,132 +11,132 @@ from spack.package import *
class Apex(CMakePackage):
"""Autonomic Performance Environment for eXascale (APEX)."""
- maintainers = ['khuck']
+ maintainers = ["khuck"]
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.5.1', sha256='c01016e6a8a3a77e1021281ae53681cb83ea7a369c346ef85d45d27bacca2fca')
- version('2.5.0', sha256='d4a95f6226985acf2143e2b779b7bba3caf823564b04826b022f1a0c31093a0f')
- version('2.4.1', sha256='055d09dd36c529ebd3bab4defbec4ad1d227c004a291faf26e77e4ab79ce470c')
- version('2.4.0', sha256='15d8957da7b37d2c684a6f0f32aef65b0b26be6558da17963cf71f3fd3cfdf2f')
- version('2.3.2', sha256='acf37c024a2283cafbf206f508929208b62c8f800af22ad7c74c570863a31bb4')
- version('2.3.1', sha256='86bf6933f2c53531fcb24cda9fc7dc9919909bed54740d1e0bc3e7ce6ed78091')
- version('2.3.0', sha256='7e1d16c9651b913c5e28abdbad75f25c55ba25e9fa35f5d979c1d3f9b9852c58')
- version('2.2.0', sha256='cd5eddb1f6d26b7dbb4a8afeca2aa28036c7d0987e0af0400f4f96733889c75c')
+ 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.5.1", sha256="c01016e6a8a3a77e1021281ae53681cb83ea7a369c346ef85d45d27bacca2fca")
+ version("2.5.0", sha256="d4a95f6226985acf2143e2b779b7bba3caf823564b04826b022f1a0c31093a0f")
+ version("2.4.1", sha256="055d09dd36c529ebd3bab4defbec4ad1d227c004a291faf26e77e4ab79ce470c")
+ version("2.4.0", sha256="15d8957da7b37d2c684a6f0f32aef65b0b26be6558da17963cf71f3fd3cfdf2f")
+ version("2.3.2", sha256="acf37c024a2283cafbf206f508929208b62c8f800af22ad7c74c570863a31bb4")
+ version("2.3.1", sha256="86bf6933f2c53531fcb24cda9fc7dc9919909bed54740d1e0bc3e7ce6ed78091")
+ version("2.3.0", sha256="7e1d16c9651b913c5e28abdbad75f25c55ba25e9fa35f5d979c1d3f9b9852c58")
+ version("2.2.0", sha256="cd5eddb1f6d26b7dbb4a8afeca2aa28036c7d0987e0af0400f4f96733889c75c")
# Disable some default dependencies on Darwin/OSX
darwin_default = False
- if sys.platform != 'darwin':
+ if sys.platform != "darwin":
darwin_default = True
# Enable by default
- variant('activeharmony', default=True, description='Enables Active Harmony support')
- variant('plugins', default=True, description='Enables Policy Plugin support')
- variant('binutils', default=True, description='Enables Binutils support')
- variant('otf2', default=True, description='Enables OTF2 support')
- variant('gperftools', default=darwin_default, description='Enables Google PerfTools TCMalloc support')
- variant('openmp', default=darwin_default, description='Enables OpenMP support')
- variant('papi', default=darwin_default, description='Enables PAPI support')
+ variant("activeharmony", default=True, description="Enables Active Harmony support")
+ variant("plugins", default=True, description="Enables Policy Plugin support")
+ variant("binutils", default=True, description="Enables Binutils support")
+ variant("otf2", default=True, description="Enables OTF2 support")
+ variant(
+ "gperftools",
+ default=darwin_default,
+ description="Enables Google PerfTools TCMalloc support",
+ )
+ variant("openmp", default=darwin_default, description="Enables OpenMP support")
+ variant("papi", default=darwin_default, description="Enables PAPI support")
# Disable by default
- variant('cuda', default=False, description='Enables CUDA support')
- variant('hip', default=False, description='Enables ROCm/HIP support')
- variant('boost', default=False, description='Enables Boost support')
- variant('jemalloc', default=False, description='Enables JEMalloc support')
- variant('lmsensors', default=False, description='Enables LM-Sensors support')
- variant('mpi', default=False, description='Enables MPI support')
- variant('tests', default=False, description='Build Unit Tests')
- variant('examples', default=False, description='Build Examples')
+ variant("cuda", default=False, description="Enables CUDA support")
+ variant("hip", default=False, description="Enables ROCm/HIP support")
+ variant("boost", default=False, description="Enables Boost support")
+ variant("jemalloc", default=False, description="Enables JEMalloc support")
+ variant("lmsensors", default=False, description="Enables LM-Sensors support")
+ variant("mpi", default=False, description="Enables MPI support")
+ variant("tests", default=False, description="Build Unit Tests")
+ variant("examples", default=False, description="Build Examples")
# Dependencies
- depends_on('zlib')
- depends_on('cmake@3.10.0:', type='build')
- depends_on('binutils@2.33:+libiberty+headers', when='+binutils')
- depends_on('gettext', when='+binutils ^binutils+nls')
- depends_on('activeharmony@4.6:', when='+activeharmony')
- depends_on('activeharmony@4.6:', when='+plugins')
- depends_on('otf2@2.1:', when='+otf2')
- depends_on('mpi', when='+mpi')
- depends_on('gperftools', when='+gperftools')
- depends_on('jemalloc', when='+jemalloc')
- depends_on('lm-sensors', when='+lmsensors')
- depends_on('papi@5.7.0:', when='+papi')
- depends_on('cuda', when='+cuda')
- depends_on('hip', when='+hip')
- depends_on('roctracer-dev', when='+hip')
- depends_on('rocm-smi-lib', when='+hip')
- depends_on('boost@1.54: +exception+chrono+system+atomic+container+regex+thread', when='+boost')
+ depends_on("zlib")
+ depends_on("cmake@3.10.0:", type="build")
+ depends_on("binutils@2.33:+libiberty+headers", when="+binutils")
+ depends_on("gettext", when="+binutils ^binutils+nls")
+ depends_on("activeharmony@4.6:", when="+activeharmony")
+ depends_on("activeharmony@4.6:", when="+plugins")
+ depends_on("otf2@2.1:", when="+otf2")
+ depends_on("mpi", when="+mpi")
+ depends_on("gperftools", when="+gperftools")
+ depends_on("jemalloc", when="+jemalloc")
+ depends_on("lm-sensors", when="+lmsensors")
+ depends_on("papi@5.7.0:", when="+papi")
+ depends_on("cuda", when="+cuda")
+ depends_on("hip", when="+hip")
+ depends_on("roctracer-dev", when="+hip")
+ depends_on("rocm-smi-lib", when="+hip")
+ depends_on("boost@1.54: +exception+chrono+system+atomic+container+regex+thread", when="+boost")
# Conflicts
- conflicts('+jemalloc', when='+gperftools')
- conflicts('+plugins', when='~activeharmony')
+ conflicts("+jemalloc", when="+gperftools")
+ conflicts("+plugins", when="~activeharmony")
# Patches
# This patch ensures that the missing dependency_tree.hpp header is
# installed
- patch('install-includes.patch', when='@2.3.2:2.4.1')
+ patch("install-includes.patch", when="@2.3.2:2.4.1")
def cmake_args(self):
args = []
spec = self.spec
# CMake variables were updated in version 2.3.0, to make
- prefix = 'APEX_WITH'
- test_prefix = 'APEX_'
- if '@2.2.0' in spec:
- prefix = 'USE'
- test_prefix = ''
-
- args.append(self.define_from_variant(prefix + '_ACTIVEHARMONY',
- 'activeharmony'))
- args.append(self.define_from_variant(prefix + '_BFD', 'binutils'))
- args.append(self.define_from_variant('APEX_WITH_CUDA', 'cuda'))
- args.append(self.define_from_variant('APEX_WITH_HIP', 'hip'))
- args.append(self.define_from_variant(prefix + '_MPI', 'mpi'))
- args.append(self.define_from_variant(prefix + '_OMPT', 'openmp'))
- args.append(self.define_from_variant(prefix + '_OTF2', 'otf2'))
- args.append(self.define_from_variant(prefix + '_PAPI', 'papi'))
- args.append(self.define_from_variant(prefix + '_PLUGINS', 'plugins'))
- args.append(self.define_from_variant(prefix + '_LM_SENSORS', 'lmsensors'))
- args.append(self.define_from_variant(prefix + '_TCMALLOC', 'gperftools'))
- args.append(self.define_from_variant(prefix + '_JEMALLOC', 'jemalloc'))
- args.append(self.define_from_variant(test_prefix + 'BUILD_TESTS', 'tests'))
- args.append(self.define_from_variant(test_prefix + 'BUILD_EXAMPLES',
- 'examples'))
-
- if '+activeharmony' in spec:
- args.append('-DACTIVEHARMONY_ROOT={0}'.format(
- spec['activeharmony'].prefix))
-
- if '+binutils' in spec:
- args.append('-DBFD_ROOT={0}'.format(spec['binutils'].prefix))
-
- if '+binutils ^binutils+nls' in spec:
- args.append('-DCMAKE_SHARED_LINKER_FLAGS=-lintl')
-
- if '+otf2' in spec:
- args.append('-DOTF2_ROOT={0}'.format(spec['otf2'].prefix))
-
- if '+papi' in spec:
- args.append('-DPAPI_ROOT={0}'.format(spec['papi'].prefix))
-
- if '+gperftools' in spec:
- args.append('-DGPERFTOOLS_ROOT={0}'.format(
- spec['gperftools'].prefix))
-
- if '+jemalloc' in spec:
- args.append('-DJEMALLOC_ROOT={0}'.format(spec['jemalloc'].prefix))
-
- if '+boost' in spec:
- args.append('-DBOOST_ROOT={0}'.format(spec['boost'].prefix))
-
- if '+hip' in spec:
- args.append('-DROCM_ROOT={0}'.format(spec['hip'].prefix))
- args.append('-DROCTRACER_ROOT={0}'.format(spec['roctracer-dev'].prefix))
- args.append('-DROCTX_ROOT={0}'.format(spec['roctracer-dev'].prefix))
- args.append('-DRSMI_ROOT={0}'.format(spec['rocm-smi-lib'].prefix))
+ prefix = "APEX_WITH"
+ test_prefix = "APEX_"
+ if "@2.2.0" in spec:
+ prefix = "USE"
+ test_prefix = ""
+
+ args.append(self.define_from_variant(prefix + "_ACTIVEHARMONY", "activeharmony"))
+ args.append(self.define_from_variant(prefix + "_BFD", "binutils"))
+ args.append(self.define_from_variant("APEX_WITH_CUDA", "cuda"))
+ args.append(self.define_from_variant("APEX_WITH_HIP", "hip"))
+ args.append(self.define_from_variant(prefix + "_MPI", "mpi"))
+ args.append(self.define_from_variant(prefix + "_OMPT", "openmp"))
+ args.append(self.define_from_variant(prefix + "_OTF2", "otf2"))
+ args.append(self.define_from_variant(prefix + "_PAPI", "papi"))
+ args.append(self.define_from_variant(prefix + "_PLUGINS", "plugins"))
+ args.append(self.define_from_variant(prefix + "_LM_SENSORS", "lmsensors"))
+ args.append(self.define_from_variant(prefix + "_TCMALLOC", "gperftools"))
+ args.append(self.define_from_variant(prefix + "_JEMALLOC", "jemalloc"))
+ args.append(self.define_from_variant(test_prefix + "BUILD_TESTS", "tests"))
+ args.append(self.define_from_variant(test_prefix + "BUILD_EXAMPLES", "examples"))
+
+ if "+activeharmony" in spec:
+ args.append("-DACTIVEHARMONY_ROOT={0}".format(spec["activeharmony"].prefix))
+
+ if "+binutils" in spec:
+ args.append("-DBFD_ROOT={0}".format(spec["binutils"].prefix))
+
+ if "+binutils ^binutils+nls" in spec:
+ args.append("-DCMAKE_SHARED_LINKER_FLAGS=-lintl")
+
+ if "+otf2" in spec:
+ args.append("-DOTF2_ROOT={0}".format(spec["otf2"].prefix))
+
+ if "+papi" in spec:
+ args.append("-DPAPI_ROOT={0}".format(spec["papi"].prefix))
+
+ if "+gperftools" in spec:
+ args.append("-DGPERFTOOLS_ROOT={0}".format(spec["gperftools"].prefix))
+
+ if "+jemalloc" in spec:
+ args.append("-DJEMALLOC_ROOT={0}".format(spec["jemalloc"].prefix))
+
+ if "+boost" in spec:
+ args.append("-DBOOST_ROOT={0}".format(spec["boost"].prefix))
+
+ if "+hip" in spec:
+ args.append("-DROCM_ROOT={0}".format(spec["hip"].prefix))
+ args.append("-DROCTRACER_ROOT={0}".format(spec["roctracer-dev"].prefix))
+ args.append("-DROCTX_ROOT={0}".format(spec["roctracer-dev"].prefix))
+ args.append("-DRSMI_ROOT={0}".format(spec["rocm-smi-lib"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/apfel/package.py b/var/spack/repos/builtin/packages/apfel/package.py
index 905fa0c033..70dd8921fa 100644
--- a/var/spack/repos/builtin/packages/apfel/package.py
+++ b/var/spack/repos/builtin/packages/apfel/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Apfel(AutotoolsPackage):
"""APFEL is a library able to perform DGLAP evolution up to NNLO in QCD and
- to NLO in QED, both with pole and MSbar masses. The coupled DGLAP
- QCD+QED evolution equations are solved in x-space by means of higher
- order interpolations and Runge-Kutta techniques."""
+ to NLO in QED, both with pole and MSbar masses. The coupled DGLAP
+ QCD+QED evolution equations are solved in x-space by means of higher
+ order interpolations and Runge-Kutta techniques."""
homepage = "https://github.com/scarrazza/apfel"
- url = "https://github.com/scarrazza/apfel/archive/3.0.4.tar.gz"
+ url = "https://github.com/scarrazza/apfel/archive/3.0.4.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('3.0.4', sha256='c7bfae7fe2dc0185981850f2fe6ae4842749339d064c25bf525b4ef412bbb224')
+ version("3.0.4", sha256="c7bfae7fe2dc0185981850f2fe6ae4842749339d064c25bf525b4ef412bbb224")
- depends_on('swig', when='+python')
- depends_on('python', type=('build', 'run'))
- depends_on('lhapdf', when='+lhapdf', type=('build', 'run'))
+ depends_on("swig", when="+python")
+ depends_on("python", type=("build", "run"))
+ depends_on("lhapdf", when="+lhapdf", type=("build", "run"))
- variant('python', description='Build python wrapper', default=False)
- variant('lhapdf', description='Link to LHAPDF', default=False)
+ variant("python", description="Build python wrapper", default=False)
+ variant("lhapdf", description="Link to LHAPDF", default=False)
def configure_args(self):
args = []
- if self.spec.satisfies('~python'):
- args.append('--disable-pywrap')
+ if self.spec.satisfies("~python"):
+ args.append("--disable-pywrap")
else:
- args.append('--enable-pywrap')
+ args.append("--enable-pywrap")
- args += self.enable_or_disable('lhapdf')
+ args += self.enable_or_disable("lhapdf")
return args
diff --git a/var/spack/repos/builtin/packages/apktool/package.py b/var/spack/repos/builtin/packages/apktool/package.py
index f18c6ffae0..d35d257bf9 100644
--- a/var/spack/repos/builtin/packages/apktool/package.py
+++ b/var/spack/repos/builtin/packages/apktool/package.py
@@ -11,29 +11,28 @@ class Apktool(Package):
Android apps."""
homepage = "https://ibotpeaches.github.io/Apktool/"
- url = "https://github.com/iBotPeaches/Apktool/archive/refs/tags/v2.6.0.tar.gz"
+ url = "https://github.com/iBotPeaches/Apktool/archive/refs/tags/v2.6.0.tar.gz"
- version('2.6.1', sha256='8932e77d963b9e0e07227422d82ed4a355e8aa268bad1361e5cfaffa8e4d52ee')
- version('2.6.0', sha256='74739cdb1434ca35ec34e51ca7272ad3f378ae3ed0a2d5805d9a2fab5016037f')
+ version("2.6.1", sha256="8932e77d963b9e0e07227422d82ed4a355e8aa268bad1361e5cfaffa8e4d52ee")
+ version("2.6.0", sha256="74739cdb1434ca35ec34e51ca7272ad3f378ae3ed0a2d5805d9a2fab5016037f")
- depends_on('java@8:', type=('build', 'run'))
+ depends_on("java@8:", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('LC_ALL', 'en_US.UTF-8')
+ env.set("LC_ALL", "en_US.UTF-8")
def install(self, spec, prefix):
- gradlew = Executable('./gradlew')
- gradlew('--info', '--debug', 'build', 'shadowJar')
- ln = which('ln')
- mkdir(join_path(prefix, 'bin'))
+ gradlew = Executable("./gradlew")
+ gradlew("--info", "--debug", "build", "shadowJar")
+ ln = which("ln")
+ mkdir(join_path(prefix, "bin"))
install(
- join_path('brut.apktool', 'apktool-cli', 'build', 'libs',
- 'apktool-cli-all.jar'),
- join_path(prefix, 'bin'))
- install(
- join_path('scripts', 'linux', 'apktool'),
- join_path(prefix, 'bin'))
+ join_path("brut.apktool", "apktool-cli", "build", "libs", "apktool-cli-all.jar"),
+ join_path(prefix, "bin"),
+ )
+ install(join_path("scripts", "linux", "apktool"), join_path(prefix, "bin"))
ln(
- '-s',
- join_path(prefix, 'bin', 'apktool-cli-all.jar'),
- join_path(prefix, 'bin', 'apktool.jar'))
+ "-s",
+ join_path(prefix, "bin", "apktool-cli-all.jar"),
+ join_path(prefix, "bin", "apktool.jar"),
+ )
diff --git a/var/spack/repos/builtin/packages/apple-libunwind/package.py b/var/spack/repos/builtin/packages/apple-libunwind/package.py
index 02f54bd0fd..58d593278b 100644
--- a/var/spack/repos/builtin/packages/apple-libunwind/package.py
+++ b/var/spack/repos/builtin/packages/apple-libunwind/package.py
@@ -11,15 +11,15 @@ class AppleLibunwind(Package):
homepage = "https://opensource.apple.com/source/libunwind/libunwind-35.3/"
- provides('unwind')
+ provides("unwind")
# The 'conflicts' directive only accepts valid spack specs;
# platforms cannot be negated -- 'platform!=darwin' is not a valid
# spec -- so expressing a conflict for any platform that isn't
# Darwin must be expressed by listing a conflict with every
# platform that isn't Darwin/macOS
- conflicts('platform=linux')
- conflicts('platform=cray')
+ conflicts("platform=linux")
+ conflicts("platform=cray")
# Override the fetcher method to throw a useful error message;
# avoids GitHub issue (#7061) in which the opengl placeholder
@@ -67,17 +67,13 @@ class AppleLibunwind(Package):
it will link dynamically to `/usr/lib/system/libunwind.dylib`.
"""
- libs = find_libraries('libSystem',
- self.prefix.lib,
- shared=True, recursive=False)
+ libs = find_libraries("libSystem", self.prefix.lib, shared=True, recursive=False)
if libs:
return libs
return None
@property
def headers(self):
- """ Export the Apple libunwind header
- """
- hdrs = HeaderList(find(self.prefix.include, 'libunwind.h',
- recursive=False))
+ """Export the Apple libunwind header"""
+ hdrs = HeaderList(find(self.prefix.include, "libunwind.h", recursive=False))
return hdrs or None
diff --git a/var/spack/repos/builtin/packages/apple-libuuid/package.py b/var/spack/repos/builtin/packages/apple-libuuid/package.py
index e4a8bf3334..0b16cb6a9f 100644
--- a/var/spack/repos/builtin/packages/apple-libuuid/package.py
+++ b/var/spack/repos/builtin/packages/apple-libuuid/package.py
@@ -11,13 +11,13 @@ class AppleLibuuid(BundlePackage):
homepage = "https://opensource.apple.com/tarballs/Libsystem/"
- version('1353.100.2')
+ version("1353.100.2")
- provides('uuid')
+ provides("uuid")
# Only supported on 'platform=darwin'
- conflicts('platform=linux')
- conflicts('platform=cray')
+ conflicts("platform=linux")
+ conflicts("platform=cray")
@property
def libs(self):
@@ -37,9 +37,9 @@ class AppleLibuuid(BundlePackage):
confirms that it will link dynamically to
`/usr/lib/system/libsystem_c.dylib`."""
- return LibraryList('/usr/lib/libSystem.dylib')
+ return LibraryList("/usr/lib/libSystem.dylib")
@property
def headers(self):
"""Export the Apple libuuid header."""
- return HeaderList(self.prefix.include.uuid.join('uuid.h'))
+ return HeaderList(self.prefix.include.uuid.join("uuid.h"))
diff --git a/var/spack/repos/builtin/packages/applewmproto/package.py b/var/spack/repos/builtin/packages/applewmproto/package.py
index f9fad5fb1f..d23e90e4a1 100644
--- a/var/spack/repos/builtin/packages/applewmproto/package.py
+++ b/var/spack/repos/builtin/packages/applewmproto/package.py
@@ -16,7 +16,7 @@ class Applewmproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/applewmproto"
xorg_mirror_path = "proto/applewmproto-1.4.2.tar.gz"
- version('1.4.2', sha256='ff8ac07d263a23357af2d6ff0cca3c1d56b043ddf7797a5a92ec624f4704df2e')
+ version("1.4.2", sha256="ff8ac07d263a23357af2d6ff0cca3c1d56b043ddf7797a5a92ec624f4704df2e")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/appres/package.py b/var/spack/repos/builtin/packages/appres/package.py
index 3a911519cc..b9a1bc3651 100644
--- a/var/spack/repos/builtin/packages/appres/package.py
+++ b/var/spack/repos/builtin/packages/appres/package.py
@@ -15,11 +15,11 @@ class Appres(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/appres"
xorg_mirror_path = "app/appres-1.0.4.tar.gz"
- version('1.0.4', sha256='22cb6f639c891ffdbb5371bc50a88278185789eae6907d05e9e0bd1086a80803')
+ version("1.0.4", sha256="22cb6f639c891ffdbb5371bc50a88278185789eae6907d05e9e0bd1086a80803")
- depends_on('libx11')
- depends_on('libxt')
+ depends_on("libx11")
+ depends_on("libxt")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/apptainer/package.py b/var/spack/repos/builtin/packages/apptainer/package.py
index 2e54089b1d..39c3d7019f 100644
--- a/var/spack/repos/builtin/packages/apptainer/package.py
+++ b/var/spack/repos/builtin/packages/apptainer/package.py
@@ -10,27 +10,27 @@ from spack.pkg.builtin.singularityce import SingularityBase
# Apptainer is the new name of Singularity, piggy-back on the original package
class Apptainer(SingularityBase):
- '''Apptainer is an open source container platform designed to be simple, fast, and
- secure. Many container platforms are available, but Apptainer is designed for
- ease-of-use on shared systems and in high performance computing (HPC)
- environments.
+ """Apptainer is an open source container platform designed to be simple, fast, and
+ secure. Many container platforms are available, but Apptainer is designed for
+ ease-of-use on shared systems and in high performance computing (HPC)
+ environments.
- Needs post-install chmod/chown steps to enable full functionality.
- See package definition or `spack-build-out.txt` build log for details,
- e.g.::
+ Needs post-install chmod/chown steps to enable full functionality.
+ See package definition or `spack-build-out.txt` build log for details,
+ e.g.::
- tail -15 $(spack location -i apptainer)/.spack/spack-build-out.txt
- '''
+ tail -15 $(spack location -i apptainer)/.spack/spack-build-out.txt
+ """
homepage = "https://apptainer.org"
- url = "https://github.com/apptainer/apptainer/releases/download/v1.0.2/apptainer-1.0.2.tar.gz"
- git = "https://github.com/apptainer/apptainer.git"
+ url = "https://github.com/apptainer/apptainer/releases/download/v1.0.2/apptainer-1.0.2.tar.gz"
+ git = "https://github.com/apptainer/apptainer.git"
- version('main', branch='main')
- version('1.0.2', sha256='2d7a9d0a76d5574459d249c3415e21423980d9154ce85e8c34b0600782a7dfd3')
+ version("main", branch="main")
+ version("1.0.2", sha256="2d7a9d0a76d5574459d249c3415e21423980d9154ce85e8c34b0600782a7dfd3")
- singularity_org = 'apptainer'
- singularity_name = 'apptainer'
+ singularity_org = "apptainer"
+ singularity_name = "apptainer"
singularity_security_urls = (
"https://apptainer.org/docs/admin/main/security.html",
"https://apptainer.org/docs/admin/main/admin_quickstart.html#apptainer-security",
diff --git a/var/spack/repos/builtin/packages/apr-util/package.py b/var/spack/repos/builtin/packages/apr-util/package.py
index a8c6c7ee95..5ef9ab7f85 100644
--- a/var/spack/repos/builtin/packages/apr-util/package.py
+++ b/var/spack/repos/builtin/packages/apr-util/package.py
@@ -9,33 +9,33 @@ from spack.package import *
class AprUtil(AutotoolsPackage):
"""Apache Portable Runtime Utility"""
- homepage = 'https://apr.apache.org/'
- url = 'https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz'
+ homepage = "https://apr.apache.org/"
+ url = "https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz"
- version('1.6.1', sha256='b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459')
- version('1.6.0', sha256='483ef4d59e6ac9a36c7d3fd87ad7b9db7ad8ae29c06b9dd8ff22dda1cc416389')
- version('1.5.4', sha256='976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19')
+ version("1.6.1", sha256="b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459")
+ version("1.6.0", sha256="483ef4d59e6ac9a36c7d3fd87ad7b9db7ad8ae29c06b9dd8ff22dda1cc416389")
+ version("1.5.4", sha256="976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19")
- variant('crypto', default=True, description='Enable crypto support')
- variant('gdbm', default=False, description='Enable GDBM support')
- variant('pgsql', default=False, description='Enable PostgreSQL support')
- variant('sqlite', default=False, description='Enable sqlite DBD driver')
- variant('odbc', default=False, description='Enalbe ODBC support')
+ variant("crypto", default=True, description="Enable crypto support")
+ variant("gdbm", default=False, description="Enable GDBM support")
+ variant("pgsql", default=False, description="Enable PostgreSQL support")
+ variant("sqlite", default=False, description="Enable sqlite DBD driver")
+ variant("odbc", default=False, description="Enalbe ODBC support")
- depends_on('apr')
- depends_on('expat')
- depends_on('iconv')
+ depends_on("apr")
+ depends_on("expat")
+ depends_on("iconv")
- depends_on('openssl', when='+crypto')
- depends_on('gdbm', when='+gdbm')
- depends_on('postgresql', when='+pgsql')
- depends_on('sqlite', when='+sqlite')
- depends_on('unixodbc', when='+odbc')
+ depends_on("openssl", when="+crypto")
+ depends_on("gdbm", when="+gdbm")
+ depends_on("postgresql", when="+pgsql")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("unixodbc", when="+odbc")
@property
def libs(self):
return find_libraries(
- ['libaprutil-{0}'.format(self.version.up_to(1))],
+ ["libaprutil-{0}".format(self.version.up_to(1))],
root=self.prefix,
recursive=True,
)
@@ -44,55 +44,63 @@ class AprUtil(AutotoolsPackage):
spec = self.spec
args = [
- '--with-apr={0}'.format(spec['apr'].prefix),
- '--with-expat={0}'.format(spec['expat'].prefix),
- '--with-iconv={0}'.format(spec['iconv'].prefix),
+ "--with-apr={0}".format(spec["apr"].prefix),
+ "--with-expat={0}".format(spec["expat"].prefix),
+ "--with-iconv={0}".format(spec["iconv"].prefix),
# TODO: Add support for the following database managers
- '--without-ndbm',
- '--without-berkeley-db',
- '--without-mysql',
- '--without-oracle',
+ "--without-ndbm",
+ "--without-berkeley-db",
+ "--without-mysql",
+ "--without-oracle",
]
- if '+crypto' in spec:
- args.extend([
- '--with-crypto',
- '--with-openssl={0}'.format(spec['openssl'].prefix),
- ])
+ if "+crypto" in spec:
+ args.extend(
+ [
+ "--with-crypto",
+ "--with-openssl={0}".format(spec["openssl"].prefix),
+ ]
+ )
else:
- args.append('--without-crypto')
+ args.append("--without-crypto")
- if '+gdbm' in spec:
- args.append('--with-gdbm={0}'.format(spec['gdbm'].prefix))
+ if "+gdbm" in spec:
+ args.append("--with-gdbm={0}".format(spec["gdbm"].prefix))
else:
- args.append('--without-gdbm')
+ args.append("--without-gdbm")
- if '+pgsql' in spec:
- args.append('--with-pgsql={0}'.format(spec['postgresql'].prefix))
+ if "+pgsql" in spec:
+ args.append("--with-pgsql={0}".format(spec["postgresql"].prefix))
else:
- args.append('--without-pgsql')
-
- if '+sqlite' in spec:
- if spec.satisfies('^sqlite@3.0:3'):
- args.extend([
- '--with-sqlite3={0}'.format(spec['sqlite'].prefix),
- '--without-sqlite2',
- ])
- elif spec.satisfies('^sqlite@2.0:2'):
- args.extend([
- '--with-sqlite2={0}'.format(spec['sqlite'].prefix),
- '--without-sqlite3',
- ])
+ args.append("--without-pgsql")
+
+ if "+sqlite" in spec:
+ if spec.satisfies("^sqlite@3.0:3"):
+ args.extend(
+ [
+ "--with-sqlite3={0}".format(spec["sqlite"].prefix),
+ "--without-sqlite2",
+ ]
+ )
+ elif spec.satisfies("^sqlite@2.0:2"):
+ args.extend(
+ [
+ "--with-sqlite2={0}".format(spec["sqlite"].prefix),
+ "--without-sqlite3",
+ ]
+ )
else:
- args.extend([
- '--without-sqlite2',
- '--without-sqlite3',
- ])
-
- if '+odbc' in spec:
- args.append('--with-odbc={0}'.format(spec['unixodbc'].prefix))
+ args.extend(
+ [
+ "--without-sqlite2",
+ "--without-sqlite3",
+ ]
+ )
+
+ if "+odbc" in spec:
+ args.append("--with-odbc={0}".format(spec["unixodbc"].prefix))
else:
- args.append('--without-odbc')
+ args.append("--without-odbc")
return args
@@ -104,4 +112,4 @@ class AprUtil(AutotoolsPackage):
# Failed to load driver file apr_dbd_odbc.so
# Tests occassionally fail when run in parallel
- make('check', parallel=False)
+ make("check", parallel=False)
diff --git a/var/spack/repos/builtin/packages/apr/package.py b/var/spack/repos/builtin/packages/apr/package.py
index cc623114ff..15fae122bb 100644
--- a/var/spack/repos/builtin/packages/apr/package.py
+++ b/var/spack/repos/builtin/packages/apr/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class Apr(AutotoolsPackage):
"""Apache portable runtime."""
- homepage = 'https://apr.apache.org/'
- url = 'https://archive.apache.org/dist/apr/apr-1.7.0.tar.gz'
+ homepage = "https://apr.apache.org/"
+ url = "https://archive.apache.org/dist/apr/apr-1.7.0.tar.gz"
- version('1.7.0', sha256='48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2')
- version('1.6.2', sha256='4fc24506c968c5faf57614f5d0aebe0e9d0b90afa47a883e1a1ca94f15f4a42e')
- version('1.5.2', sha256='1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb')
+ version("1.7.0", sha256="48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2")
+ version("1.6.2", sha256="4fc24506c968c5faf57614f5d0aebe0e9d0b90afa47a883e1a1ca94f15f4a42e")
+ version("1.5.2", sha256="1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb")
- patch('missing_includes.patch', when='@1.7.0')
+ patch("missing_includes.patch", when="@1.7.0")
- depends_on('uuid', type='link')
+ depends_on("uuid", type="link")
@property
def libs(self):
return find_libraries(
- ['libapr-{0}'.format(self.version.up_to(1))],
+ ["libapr-{0}".format(self.version.up_to(1))],
root=self.prefix,
recursive=True,
)
diff --git a/var/spack/repos/builtin/packages/aragorn/package.py b/var/spack/repos/builtin/packages/aragorn/package.py
index 3b22ea382a..a7f39d6e92 100644
--- a/var/spack/repos/builtin/packages/aragorn/package.py
+++ b/var/spack/repos/builtin/packages/aragorn/package.py
@@ -11,14 +11,19 @@ class Aragorn(Package):
sequences."""
homepage = "http://mbio-serv2.mbioekol.lu.se/ARAGORN"
- url = "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn1.2.38.tgz"
+ url = "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn1.2.38.tgz"
- version('1.2.38', sha256='4b84e3397755fb22cc931c0e7b9d50eaba2a680df854d7a35db46a13cecb2126')
- version('1.2.36', sha256='ab06032589e45aa002f8616333568e9ab11034b3a675f922421e5f1c3e95e7b5')
+ version("1.2.38", sha256="4b84e3397755fb22cc931c0e7b9d50eaba2a680df854d7a35db46a13cecb2126")
+ version("1.2.36", sha256="ab06032589e45aa002f8616333568e9ab11034b3a675f922421e5f1c3e95e7b5")
def install(self, spec, prefix):
cc = Executable(spack_cc)
- cc('-O3', '-ffast-math', '-finline-functions',
- '-oaragorn', 'aragorn' + format(spec.version.dotted) + '.c')
+ cc(
+ "-O3",
+ "-ffast-math",
+ "-finline-functions",
+ "-oaragorn",
+ "aragorn" + format(spec.version.dotted) + ".c",
+ )
mkdirp(prefix.bin)
- install('aragorn', prefix.bin)
+ install("aragorn", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/arborx/package.py b/var/spack/repos/builtin/packages/arborx/package.py
index ac8a3a8d33..cf9d0cc084 100644
--- a/var/spack/repos/builtin/packages/arborx/package.py
+++ b/var/spack/repos/builtin/packages/arborx/package.py
@@ -10,45 +10,48 @@ class Arborx(CMakePackage, CudaPackage, ROCmPackage):
"""ArborX is a performance-portable library for geometric search"""
homepage = "https://github.com/arborx/arborx"
- url = "https://github.com/arborx/arborx/archive/v1.1.tar.gz"
- git = "https://github.com/arborx/arborx.git"
+ url = "https://github.com/arborx/arborx/archive/v1.1.tar.gz"
+ git = "https://github.com/arborx/arborx.git"
- tags = ['e4s', 'ecp']
+ tags = ["e4s", "ecp"]
- maintainers = ['aprokop']
+ maintainers = ["aprokop"]
- version('master', branch='master')
- version('1.2', sha256='ed1939110b2330b7994dcbba649b100c241a2353ed2624e627a200a398096c20')
- version('1.1', sha256='2b5f2d2d5cec57c52f470c2bf4f42621b40271f870b4f80cb57e52df1acd90ce')
- version('1.0', sha256='9b5f45c8180622c907ef0b7cc27cb18ba272ac6558725d9e460c3f3e764f1075')
- version('0.9-beta', sha256='b349b5708d1aa00e8c20c209ac75dc2d164ff9bf1b85adb5437346d194ba6c0d', deprecated=True)
+ version("master", branch="master")
+ version("1.2", sha256="ed1939110b2330b7994dcbba649b100c241a2353ed2624e627a200a398096c20")
+ version("1.1", sha256="2b5f2d2d5cec57c52f470c2bf4f42621b40271f870b4f80cb57e52df1acd90ce")
+ version("1.0", sha256="9b5f45c8180622c907ef0b7cc27cb18ba272ac6558725d9e460c3f3e764f1075")
+ version(
+ "0.9-beta",
+ sha256="b349b5708d1aa00e8c20c209ac75dc2d164ff9bf1b85adb5437346d194ba6c0d",
+ deprecated=True,
+ )
# ArborX relies on Kokkos to provide devices, providing one-to-one matching
# variants. The only way to disable those devices is to make sure Kokkos
# does not provide them.
kokkos_backends = {
- 'serial': (True, "enable Serial backend (default)"),
- 'openmp': (False, "enable OpenMP backend"),
- 'sycl': (False, "enable SYCL backend")
+ "serial": (True, "enable Serial backend (default)"),
+ "openmp": (False, "enable OpenMP backend"),
+ "sycl": (False, "enable SYCL backend"),
}
- variant('mpi', default=True, description='enable MPI')
+ variant("mpi", default=True, description="enable MPI")
for backend in kokkos_backends:
deflt, descr = kokkos_backends[backend]
variant(backend.lower(), default=deflt, description=descr)
- variant('trilinos', default=False, description='use Kokkos from Trilinos')
+ variant("trilinos", default=False, description="use Kokkos from Trilinos")
- depends_on('cmake@3.12:', type='build')
- depends_on('cmake@3.16:', type='build', when='@1.0:')
- depends_on('mpi', when='+mpi')
- depends_on('rocthrust', when='+rocm')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("cmake@3.16:", type="build", when="@1.0:")
+ depends_on("mpi", when="+mpi")
+ depends_on("rocthrust", when="+rocm")
# Standalone Kokkos
- depends_on('kokkos@3.1.00:', when='~trilinos')
- depends_on('kokkos@3.4.00:', when='@1.2:~trilinos')
+ depends_on("kokkos@3.1.00:", when="~trilinos")
+ depends_on("kokkos@3.4.00:", when="@1.2:~trilinos")
for backend in kokkos_backends:
- depends_on('kokkos+%s' % backend.lower(), when='~trilinos+%s' %
- backend.lower())
+ depends_on("kokkos+%s" % backend.lower(), when="~trilinos+%s" % backend.lower())
for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch)
@@ -58,40 +61,38 @@ class Arborx(CMakePackage, CudaPackage, ROCmPackage):
rocm_dep = "+rocm amdgpu_target={0}".format(arch)
depends_on("kokkos {0}".format(rocm_dep), when=rocm_dep)
- depends_on('kokkos+cuda_lambda', when='~trilinos+cuda')
+ depends_on("kokkos+cuda_lambda", when="~trilinos+cuda")
# Trilinos/Kokkos
# Notes:
# - current version of Trilinos package does not allow disabling Serial
# - current version of Trilinos package does not allow enabling CUDA
- depends_on('trilinos+kokkos', when='+trilinos')
- depends_on('trilinos+openmp', when='+trilinos+openmp')
- depends_on('trilinos@13.2.0:', when='@1.2:+trilinos')
- conflicts('~serial', when='+trilinos')
- conflicts('+cuda', when='+trilinos')
+ depends_on("trilinos+kokkos", when="+trilinos")
+ depends_on("trilinos+openmp", when="+trilinos+openmp")
+ depends_on("trilinos@13.2.0:", when="@1.2:+trilinos")
+ conflicts("~serial", when="+trilinos")
+ conflicts("+cuda", when="+trilinos")
def cmake_args(self):
spec = self.spec
options = [
- '-DKokkos_ROOT=%s' % (spec['kokkos'].prefix if '~trilinos' in spec
- else spec['trilinos'].prefix),
- self.define_from_variant('ARBORX_ENABLE_MPI', 'mpi')
+ "-DKokkos_ROOT=%s"
+ % (spec["kokkos"].prefix if "~trilinos" in spec else spec["trilinos"].prefix),
+ self.define_from_variant("ARBORX_ENABLE_MPI", "mpi"),
]
- if '+cuda' in spec:
+ if "+cuda" in spec:
# Only Kokkos allows '+cuda' for now
- options.append(
- '-DCMAKE_CXX_COMPILER=%s' % spec["kokkos"].kokkos_cxx)
- if '+rocm' in spec:
- options.append(
- '-DCMAKE_CXX_COMPILER=%s' % spec["hip"].hipcc)
+ options.append("-DCMAKE_CXX_COMPILER=%s" % spec["kokkos"].kokkos_cxx)
+ if "+rocm" in spec:
+ options.append("-DCMAKE_CXX_COMPILER=%s" % spec["hip"].hipcc)
return options
examples_src_dir = "examples"
- @run_after('install')
+ @run_after("install")
def setup_build_tests(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -100,37 +101,44 @@ class Arborx(CMakePackage, CudaPackage, ROCmPackage):
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
+ return join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
def build_tests(self):
"""Build the stand-alone/smoke test."""
- arborx_dir = self.spec['arborx'].prefix
+ arborx_dir = self.spec["arborx"].prefix
cmake_prefix_path = "-DCMAKE_PREFIX_PATH={0}".format(arborx_dir)
- if '+mpi' in self.spec:
- cmake_prefix_path += ";{0}".format(self.spec['mpi'].prefix)
-
- cmake_args = [".",
- cmake_prefix_path,
- "-DCMAKE_CXX_COMPILER={0}".format(self.compiler.cxx),
- self.define('Kokkos_ROOT', self.spec['kokkos'].prefix
- if '~trilinos' in self.spec
- else self.spec['trilinos'].prefix)]
+ if "+mpi" in self.spec:
+ cmake_prefix_path += ";{0}".format(self.spec["mpi"].prefix)
+
+ cmake_args = [
+ ".",
+ cmake_prefix_path,
+ "-DCMAKE_CXX_COMPILER={0}".format(self.compiler.cxx),
+ self.define(
+ "Kokkos_ROOT",
+ self.spec["kokkos"].prefix
+ if "~trilinos" in self.spec
+ else self.spec["trilinos"].prefix,
+ ),
+ ]
- self.run_test("cmake", cmake_args,
- purpose="test: calling cmake",
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "cmake", cmake_args, purpose="test: calling cmake", work_dir=self.cached_tests_work_dir
+ )
- self.run_test("make", [],
- purpose="test: building the tests",
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "make", [], purpose="test: building the tests", work_dir=self.cached_tests_work_dir
+ )
def test(self):
"""Perform stand-alone/smoke tests on the installed package."""
self.build_tests()
- self.run_test("ctest", ["-V"],
- purpose="test: running the tests",
- installed=False,
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "ctest",
+ ["-V"],
+ purpose="test: running the tests",
+ installed=False,
+ work_dir=self.cached_tests_work_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/archer/package.py b/var/spack/repos/builtin/packages/archer/package.py
index 8d516b51aa..2ce0fedc40 100644
--- a/var/spack/repos/builtin/packages/archer/package.py
+++ b/var/spack/repos/builtin/packages/archer/package.py
@@ -13,61 +13,62 @@ class Archer(CMakePackage):
"""ARCHER, a data race detection tool for large OpenMP applications."""
homepage = "https://github.com/PRUNERS/ARCHER"
- url = "https://github.com/PRUNERS/archer/archive/v1.0.0.tar.gz"
+ url = "https://github.com/PRUNERS/archer/archive/v1.0.0.tar.gz"
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('2.0.0', sha256='3241cadb0078403368b69166b27f815e12c350486d4ceb3fb33147895b9ebde8')
- version('1.0.0', sha256='df814a475606b83c659932caa30a68bed1c62e713386b375c1b78eb8d60e0d15')
+ version("2.0.0", sha256="3241cadb0078403368b69166b27f815e12c350486d4ceb3fb33147895b9ebde8")
+ version("1.0.0", sha256="df814a475606b83c659932caa30a68bed1c62e713386b375c1b78eb8d60e0d15")
- depends_on('cmake@3.4.3:', type='build')
- depends_on('llvm@:8.0.0')
- depends_on('ninja@1.5:', type='build')
- depends_on('llvm-openmp-ompt@tr6_forwards')
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("llvm@:8.0.0")
+ depends_on("ninja@1.5:", type="build")
+ depends_on("llvm-openmp-ompt@tr6_forwards")
- generator = 'Ninja'
+ generator = "Ninja"
def patch(self):
- if self.spec.satisfies('^llvm@8.0.0:'):
- filter_file(r'add_llvm_loadable_module\(LLVMArcher',
- 'add_llvm_library(LLVMArcher MODULE',
- 'lib/CMakeLists.txt')
+ if self.spec.satisfies("^llvm@8.0.0:"):
+ filter_file(
+ r"add_llvm_loadable_module\(LLVMArcher",
+ "add_llvm_library(LLVMArcher MODULE",
+ "lib/CMakeLists.txt",
+ )
def cmake_args(self):
return [
- '-DCMAKE_C_COMPILER=clang',
- '-DCMAKE_CXX_COMPILER=clang++',
- '-DOMP_PREFIX:PATH=%s' % self.spec['llvm-openmp-ompt'].prefix,
+ "-DCMAKE_C_COMPILER=clang",
+ "-DCMAKE_CXX_COMPILER=clang++",
+ "-DOMP_PREFIX:PATH=%s" % self.spec["llvm-openmp-ompt"].prefix,
]
- @run_after('install')
+ @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(['test'])
+ self.cache_extra_test_sources(["test"])
def run_parallel_example_test(self):
"""Run stand alone test: parallel-simple"""
- test_dir = join_path(self.test_suite.current_test_cache_dir, 'test', 'parallel')
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "test", "parallel")
if not os.path.exists(test_dir):
- print('Skipping archer test')
+ print("Skipping archer test")
return
- exe = 'parallel-simple'
+ exe = "parallel-simple"
- self.run_test('clang-archer',
- options=['-o', exe,
- '{0}'.format(join_path(test_dir, 'parallel-simple.c'))],
- purpose='test: compile {0} example'.format(exe),
- work_dir=test_dir)
+ self.run_test(
+ "clang-archer",
+ options=["-o", exe, "{0}".format(join_path(test_dir, "parallel-simple.c"))],
+ 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)
+ self.run_test(exe, purpose="test: run {0} example".format(exe), work_dir=test_dir)
def test(self):
self.run_parallel_example_test()
diff --git a/var/spack/repos/builtin/packages/argobots/package.py b/var/spack/repos/builtin/packages/argobots/package.py
index 1bd02d9b82..00f240e283 100644
--- a/var/spack/repos/builtin/packages/argobots/package.py
+++ b/var/spack/repos/builtin/packages/argobots/package.py
@@ -16,11 +16,11 @@ class Argobots(AutotoolsPackage):
execution model and a memory model."""
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']
+ 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"]
- tags = ['e4s']
+ tags = ["e4s"]
version("main", branch="main")
version("1.1", sha256="f0f971196fc8354881681c2282a2f2adb6d48ff5e84cf820ca657daad1549005")
@@ -31,8 +31,13 @@ class Argobots(AutotoolsPackage):
variant("valgrind", default=False, description="Enable Valgrind")
variant("debug", default=False, description="Compiled with debugging symbols")
variant("stackunwind", default=False, description="Enable function stack unwinding")
- variant("stackguard", default="none", description="Enable stack guard",
- values=('none', 'canary-32', 'mprotect', 'mprotect-strict'), multi=False)
+ variant(
+ "stackguard",
+ default="none",
+ description="Enable stack guard",
+ values=("none", "canary-32", "mprotect", "mprotect-strict"),
+ multi=False,
+ )
variant("tool", default=False, description="Enable ABT_tool interface")
variant("affinity", default=False, description="Enable affinity setting")
@@ -45,31 +50,31 @@ class Argobots(AutotoolsPackage):
def configure_args(self):
args = []
- if '+perf' in self.spec:
- args.append('--enable-perf-opt')
+ if "+perf" in self.spec:
+ args.append("--enable-perf-opt")
- if '+valgrind' in self.spec:
- args.append('--enable-valgrind')
+ if "+valgrind" in self.spec:
+ args.append("--enable-valgrind")
else:
- args.append('--disable-valgrind')
+ args.append("--disable-valgrind")
- if '+debug' in self.spec:
- args.append('--enable-debug=yes')
+ if "+debug" in self.spec:
+ args.append("--enable-debug=yes")
else:
- args.append('--disable-debug')
+ args.append("--disable-debug")
- if '+stackunwind' in self.spec:
- args.append('--enable-stack-unwind')
- args.append('--with-libunwind={0}'.format(self.spec['libunwind'].prefix))
+ if "+stackunwind" in self.spec:
+ args.append("--enable-stack-unwind")
+ args.append("--with-libunwind={0}".format(self.spec["libunwind"].prefix))
- stackguard = self.spec.variants['stackguard'].value
- if stackguard != 'none':
- args.append('--enable-stack-overflow-check={0}'.format(stackguard))
+ stackguard = self.spec.variants["stackguard"].value
+ if stackguard != "none":
+ args.append("--enable-stack-overflow-check={0}".format(stackguard))
- if '+tool' in self.spec:
- args.append('--enable-tool')
+ if "+tool" in self.spec:
+ args.append("--enable-tool")
- if '+affinity' in self.spec:
- args.append('--enable-affinity')
+ if "+affinity" in self.spec:
+ args.append("--enable-affinity")
return args
diff --git a/var/spack/repos/builtin/packages/argon2/package.py b/var/spack/repos/builtin/packages/argon2/package.py
index dafddfb09d..14e84ac8b7 100644
--- a/var/spack/repos/builtin/packages/argon2/package.py
+++ b/var/spack/repos/builtin/packages/argon2/package.py
@@ -13,11 +13,11 @@ class Argon2(MakefilePackage):
applications."""
homepage = "https://password-hashing.net/"
- url = "https://github.com/P-H-C/phc-winner-argon2/archive/20190702.tar.gz"
+ url = "https://github.com/P-H-C/phc-winner-argon2/archive/20190702.tar.gz"
- version('20190702', sha256='daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c')
- version('20171227', sha256='eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8')
- version('20161029', sha256='fe0049728b946b58b94cc6db89b34e2d050c62325d16316a534d2bedd78cd5e7')
+ version("20190702", sha256="daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c")
+ version("20171227", sha256="eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8")
+ version("20161029", sha256="fe0049728b946b58b94cc6db89b34e2d050c62325d16316a534d2bedd78cd5e7")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install', 'LIBRARY_REL=lib')
+ make("PREFIX={0}".format(prefix), "install", "LIBRARY_REL=lib")
diff --git a/var/spack/repos/builtin/packages/argp-standalone/package.py b/var/spack/repos/builtin/packages/argp-standalone/package.py
index 1e5ebb4698..b452ca1f36 100644
--- a/var/spack/repos/builtin/packages/argp-standalone/package.py
+++ b/var/spack/repos/builtin/packages/argp-standalone/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class ArgpStandalone(AutotoolsPackage):
"""Standalone version of the argp interface from glibc for parsing
- unix-style arguments. """
+ unix-style arguments."""
homepage = "https://www.lysator.liu.se/~nisse/misc"
- url = "https://www.lysator.liu.se/~nisse/misc/argp-standalone-1.3.tar.gz"
+ url = "https://www.lysator.liu.se/~nisse/misc/argp-standalone-1.3.tar.gz"
- version('1.3', sha256='dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be')
+ version("1.3", sha256="dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be")
# Homebrew (https://github.com/Homebrew/homebrew-core) patches
# argp-standalone to work on Darwin; the patchfile below was taken
# from
# https://raw.githubusercontent.com/Homebrew/formula-patches/b5f0ad3/argp-standalone/patch-argp-fmtstream.h
- patch('argp-fmtstream.h.patch', 0, 'platform=darwin', '.')
+ patch("argp-fmtstream.h.patch", 0, "platform=darwin", ".")
def install(self, spec, prefix):
- make('install')
- make('check')
+ make("install")
+ make("check")
mkdirp(self.spec.prefix.lib)
- install('libargp.a', join_path(self.spec.prefix.lib, 'libargp.a'))
+ install("libargp.a", join_path(self.spec.prefix.lib, "libargp.a"))
mkdirp(self.spec.prefix.include)
- install('argp.h', join_path(self.spec.prefix.include, 'argp.h'))
+ install("argp.h", join_path(self.spec.prefix.include, "argp.h"))
diff --git a/var/spack/repos/builtin/packages/args/package.py b/var/spack/repos/builtin/packages/args/package.py
index 292149ebb6..623a5d44e1 100644
--- a/var/spack/repos/builtin/packages/args/package.py
+++ b/var/spack/repos/builtin/packages/args/package.py
@@ -13,8 +13,8 @@ class Args(CMakePackage):
necessarily the API)."""
homepage = "https://taywee.github.io/args"
- url = "https://github.com/Taywee/args/archive/6.2.3.tar.gz"
+ url = "https://github.com/Taywee/args/archive/6.2.3.tar.gz"
- version('6.2.3', sha256='c202d15fc4b30519a08bae7df9e6f4fdc40ac2434ba65d83a108ebbf6e4822c2')
- version('6.2.2', sha256='8016fb0fc079d746433be3df9cf662e3e931e730aaf9f69f2287eac79ac643c1')
- version('6.2.1', sha256='699b91fae4509b09974274838e2038612da24eeae89e62d0bc580457a9e261b0')
+ version("6.2.3", sha256="c202d15fc4b30519a08bae7df9e6f4fdc40ac2434ba65d83a108ebbf6e4822c2")
+ version("6.2.2", sha256="8016fb0fc079d746433be3df9cf662e3e931e730aaf9f69f2287eac79ac643c1")
+ version("6.2.1", sha256="699b91fae4509b09974274838e2038612da24eeae89e62d0bc580457a9e261b0")
diff --git a/var/spack/repos/builtin/packages/argtable/package.py b/var/spack/repos/builtin/packages/argtable/package.py
index 8017424144..1b9252e32e 100644
--- a/var/spack/repos/builtin/packages/argtable/package.py
+++ b/var/spack/repos/builtin/packages/argtable/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class Argtable(AutotoolsPackage):
"""Argtable is an ANSI C library for parsing GNU style command line
- options with a minimum of fuss.
+ options with a minimum of fuss.
"""
homepage = "http://argtable.sourceforge.net/"
- url = "https://sourceforge.net/projects/argtable/files/argtable/argtable-2.13/argtable2-13.tar.gz/download"
+ url = "https://sourceforge.net/projects/argtable/files/argtable/argtable-2.13/argtable2-13.tar.gz/download"
- version('2-13', sha256='8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf')
+ version("2-13", sha256="8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf")
diff --git a/var/spack/repos/builtin/packages/aria2/package.py b/var/spack/repos/builtin/packages/aria2/package.py
index 7bfaf03c39..572f00562b 100644
--- a/var/spack/repos/builtin/packages/aria2/package.py
+++ b/var/spack/repos/builtin/packages/aria2/package.py
@@ -11,15 +11,15 @@ class Aria2(AutotoolsPackage):
"""An ultra fast download utility"""
homepage = "https://aria2.github.io"
- url = "https://github.com/aria2/aria2/releases/download/release-1.36.0/aria2-1.36.0.tar.gz"
+ url = "https://github.com/aria2/aria2/releases/download/release-1.36.0/aria2-1.36.0.tar.gz"
- version('1.36.0', sha256='b593b2fd382489909c96c62c6e180054c3332b950be3d73e0cb0d21ea8afb3c5')
- version('1.35.0', sha256='fd85589416f8246cefc4e6ba2fa52da54fdf11fd5602a2db4b6749f7c33b5b2d')
- version('1.34.0', sha256='ec4866985760b506aa36dc9021dbdc69551c1a647823cae328c30a4f3affaa6c')
+ version("1.36.0", sha256="b593b2fd382489909c96c62c6e180054c3332b950be3d73e0cb0d21ea8afb3c5")
+ version("1.35.0", sha256="fd85589416f8246cefc4e6ba2fa52da54fdf11fd5602a2db4b6749f7c33b5b2d")
+ version("1.34.0", sha256="ec4866985760b506aa36dc9021dbdc69551c1a647823cae328c30a4f3affaa6c")
- depends_on('libxml2')
- depends_on('libssh2')
- depends_on('libgcrypt')
- depends_on('zlib')
- depends_on('c-ares')
- depends_on('sqlite')
+ depends_on("libxml2")
+ depends_on("libssh2")
+ depends_on("libgcrypt")
+ depends_on("zlib")
+ depends_on("c-ares")
+ depends_on("sqlite")
diff --git a/var/spack/repos/builtin/packages/arm-forge/package.py b/var/spack/repos/builtin/packages/arm-forge/package.py
index 4a46192af5..b6624aa652 100644
--- a/var/spack/repos/builtin/packages/arm-forge/package.py
+++ b/var/spack/repos/builtin/packages/arm-forge/package.py
@@ -22,49 +22,107 @@ class ArmForge(Package):
# versions (and checksums) based on the target platform shows up
if platform.machine() == "aarch64":
- version("22.0.3", sha256="ee460b33a7c94c1dccc400a9b6565d22d1dce76739342c8a768d878777f0f35a")
- version("22.0.2", sha256="8b78c9db5582ebdf18584e7baa170a2ae22a995aaf441c0957d80c49c732c37b")
- version("22.0.1", sha256="89237d85cdecf6481c1aa72f3a7c60145ff2f1efcf588aa382b98ee8046d1bd5")
- version("22.0", sha256="30328b3f92d3284c632c196690a36bce8f3c83b17f2c810deb31797a9ac69432")
- version("21.1.3", sha256="4a4ff7372aad5a31fc9e18b7b6c493691ab37d8d44a3158584e62d1ab82b0eeb")
- version("21.1.2", sha256="9d62bb0b9411663693a4431c993a5a81ce84fc7d58c08d32c77e87fac7c44eb0")
- version("21.1.1", sha256="9215180dc42565c2ac45db8851d3ee5fcfe11f06ccbf655c2e800f32a3479f5d")
- version("21.1", sha256="d6f6444eb2d47fd884d8b125f890d6a02a9d5bcfc10950af46b11d3b1e1189fd")
- version("21.0.3", sha256="371f4e3087af329bee155ceb50b9adaf006d3b8602fb1b6bbdc710ab0f74368d")
- version("21.0.2", sha256="ca547d11086ddd2704468166ad01f34132fcfa8d416239ad85c87a6c5f042298")
- version("21.0.1", sha256="bb76207b47079db843f189f604cffd00cffa49963c3e515092b67392047b92d2")
- version("21.0", sha256="2bcc745d0049d6b25c77c97b2d7bad7b4f804180972a2306a8599ce41f6a4573")
+ version(
+ "22.0.3", sha256="ee460b33a7c94c1dccc400a9b6565d22d1dce76739342c8a768d878777f0f35a"
+ )
+ version(
+ "22.0.2", sha256="8b78c9db5582ebdf18584e7baa170a2ae22a995aaf441c0957d80c49c732c37b"
+ )
+ version(
+ "22.0.1", sha256="89237d85cdecf6481c1aa72f3a7c60145ff2f1efcf588aa382b98ee8046d1bd5"
+ )
+ version("22.0", sha256="30328b3f92d3284c632c196690a36bce8f3c83b17f2c810deb31797a9ac69432")
+ version(
+ "21.1.3", sha256="4a4ff7372aad5a31fc9e18b7b6c493691ab37d8d44a3158584e62d1ab82b0eeb"
+ )
+ version(
+ "21.1.2", sha256="9d62bb0b9411663693a4431c993a5a81ce84fc7d58c08d32c77e87fac7c44eb0"
+ )
+ version(
+ "21.1.1", sha256="9215180dc42565c2ac45db8851d3ee5fcfe11f06ccbf655c2e800f32a3479f5d"
+ )
+ version("21.1", sha256="d6f6444eb2d47fd884d8b125f890d6a02a9d5bcfc10950af46b11d3b1e1189fd")
+ version(
+ "21.0.3", sha256="371f4e3087af329bee155ceb50b9adaf006d3b8602fb1b6bbdc710ab0f74368d"
+ )
+ version(
+ "21.0.2", sha256="ca547d11086ddd2704468166ad01f34132fcfa8d416239ad85c87a6c5f042298"
+ )
+ version(
+ "21.0.1", sha256="bb76207b47079db843f189f604cffd00cffa49963c3e515092b67392047b92d2"
+ )
+ version("21.0", sha256="2bcc745d0049d6b25c77c97b2d7bad7b4f804180972a2306a8599ce41f6a4573")
elif platform.machine() == "ppc64le":
- version("22.0.3", sha256="de2debac40b6cfc61868237d4c04ab929fe26fdeecaee017f948426047fe0f07")
- version("22.0.2", sha256="bb61e202974ce997510af4ca5ea1a9d0e0fc7850682cbfee052768717636cfa6")
- version("22.0.1", sha256="7499462f2f24a556b504c10e56cce61d8e29630ac99aa7a9a59f60e7ce474877")
- version("22.0", sha256="dbe1248ba683b2b1374c888805c608252daade47f904fb91a4a4803bf11ea5fa")
- version("21.1.3", sha256="eecbc5686d60994c5468b2d7cd37bebe5d9ac0ba37bd1f98fbfc69b071db541e")
- version("21.1.2", sha256="3c1006e3a3ee0c3a1e73f984da19d9953fa48f31c89f8774954c885a070a76d8")
- version("21.1.1", sha256="305ee145040db30b7c7af6a05364030fe753c40cbf5cf3b4ea04a8812c2c3b49")
- version("21.1", sha256="24e6fb120fcecf854a069ce6c993d430e892a18f415603009768e43317980491")
- version("21.0.3", sha256="a1dad6efdfa6bf95e5ec02f771217bf98d7d010c6bfdd5caf0796f0e75ef0fab")
- version("21.0.2", sha256="302cadf6c6ddd6f41fafb0d490a92ae0919a7b24d6c212228311253cec2ff1b7")
- version("21.0.1", sha256="fa9c1fbb115d34533f4dc449cb49c7eca0472205973ed1e9ab5ccd916c85a6f9")
- version("21.0", sha256="60cfa7dd1cd131ec85e67cb660f2f84cf30bb700d8979cae1f5f88af658fd249")
+ version(
+ "22.0.3", sha256="de2debac40b6cfc61868237d4c04ab929fe26fdeecaee017f948426047fe0f07"
+ )
+ version(
+ "22.0.2", sha256="bb61e202974ce997510af4ca5ea1a9d0e0fc7850682cbfee052768717636cfa6"
+ )
+ version(
+ "22.0.1", sha256="7499462f2f24a556b504c10e56cce61d8e29630ac99aa7a9a59f60e7ce474877"
+ )
+ version("22.0", sha256="dbe1248ba683b2b1374c888805c608252daade47f904fb91a4a4803bf11ea5fa")
+ version(
+ "21.1.3", sha256="eecbc5686d60994c5468b2d7cd37bebe5d9ac0ba37bd1f98fbfc69b071db541e"
+ )
+ version(
+ "21.1.2", sha256="3c1006e3a3ee0c3a1e73f984da19d9953fa48f31c89f8774954c885a070a76d8"
+ )
+ version(
+ "21.1.1", sha256="305ee145040db30b7c7af6a05364030fe753c40cbf5cf3b4ea04a8812c2c3b49"
+ )
+ version("21.1", sha256="24e6fb120fcecf854a069ce6c993d430e892a18f415603009768e43317980491")
+ version(
+ "21.0.3", sha256="a1dad6efdfa6bf95e5ec02f771217bf98d7d010c6bfdd5caf0796f0e75ef0fab"
+ )
+ version(
+ "21.0.2", sha256="302cadf6c6ddd6f41fafb0d490a92ae0919a7b24d6c212228311253cec2ff1b7"
+ )
+ version(
+ "21.0.1", sha256="fa9c1fbb115d34533f4dc449cb49c7eca0472205973ed1e9ab5ccd916c85a6f9"
+ )
+ version("21.0", sha256="60cfa7dd1cd131ec85e67cb660f2f84cf30bb700d8979cae1f5f88af658fd249")
elif platform.machine() == "x86_64":
- version("22.0.3", sha256="4dc8d0bb3923810cf78279dd446d5a529af523271111249b795cef01f86bd0fd")
- version("22.0.2", sha256="3db0c3993d1db617f850c48d25c9239f06a018c895ea305786a7ad836a44496d")
- version("22.0.1", sha256="8f8a61c159665d3de3bc5334ed97bdb4966bfbdb91b65d32d162d489eb2219ac")
- version("22.0", sha256="4e63758bd474e9640700673625eb2adfe2bdf875eaacfe67862d184ae08f542f")
- version("21.1.3", sha256="03dc82f1d075deb6f08d1e3e6592dc9b630d406c08a1316d89c436b5874f3407")
- version("21.1.2", sha256="ebc99fa3461d2cd968e4d304c11b70cc8d9c5a2acd68681cec2067c128255cd5")
- version("21.1.1", sha256="b1f4a6cffca069b10bcee66ace38bd1a515f48fbae3c44ff6faef6825a633df5")
- version("21.1", sha256="933dce5980ab0f977a79d24eecf4464bd7c5ff22fa74fb2758f68d1ccb7723d2")
- version("21.0.3", sha256="24708b363a8d3a82879ab4f60fe08faeb936e1e8286b324928a86a2d707071e8")
- version("21.0.2", sha256="741ff2a995c8cf7ce5d346a3f7d2a552ec602b995e477e9a5a3a6319d3907980")
- version("21.0.1", sha256="849c1443af3315b0b4dc2d8b337200cd92351cb11448bd3364428d8b6325ae5a")
- version("21.0", sha256="71b713a05d431a3c26bd83cc4d0b65a0afd7d7f5bf57aa11edfb41da90f01774")
+ version(
+ "22.0.3", sha256="4dc8d0bb3923810cf78279dd446d5a529af523271111249b795cef01f86bd0fd"
+ )
+ version(
+ "22.0.2", sha256="3db0c3993d1db617f850c48d25c9239f06a018c895ea305786a7ad836a44496d"
+ )
+ version(
+ "22.0.1", sha256="8f8a61c159665d3de3bc5334ed97bdb4966bfbdb91b65d32d162d489eb2219ac"
+ )
+ version("22.0", sha256="4e63758bd474e9640700673625eb2adfe2bdf875eaacfe67862d184ae08f542f")
+ version(
+ "21.1.3", sha256="03dc82f1d075deb6f08d1e3e6592dc9b630d406c08a1316d89c436b5874f3407"
+ )
+ version(
+ "21.1.2", sha256="ebc99fa3461d2cd968e4d304c11b70cc8d9c5a2acd68681cec2067c128255cd5"
+ )
+ version(
+ "21.1.1", sha256="b1f4a6cffca069b10bcee66ace38bd1a515f48fbae3c44ff6faef6825a633df5"
+ )
+ version("21.1", sha256="933dce5980ab0f977a79d24eecf4464bd7c5ff22fa74fb2758f68d1ccb7723d2")
+ version(
+ "21.0.3", sha256="24708b363a8d3a82879ab4f60fe08faeb936e1e8286b324928a86a2d707071e8"
+ )
+ version(
+ "21.0.2", sha256="741ff2a995c8cf7ce5d346a3f7d2a552ec602b995e477e9a5a3a6319d3907980"
+ )
+ version(
+ "21.0.1", sha256="849c1443af3315b0b4dc2d8b337200cd92351cb11448bd3364428d8b6325ae5a"
+ )
+ version("21.0", sha256="71b713a05d431a3c26bd83cc4d0b65a0afd7d7f5bf57aa11edfb41da90f01774")
- variant('probe', default=False, description='Detect available PMU counters via "forge-probe" during install')
+ variant(
+ "probe",
+ default=False,
+ description='Detect available PMU counters via "forge-probe" during install',
+ )
# forge-probe executes with "/usr/bin/env python"
- depends_on('python@2.7:', type='build', when='+probe')
+ depends_on("python@2.7:", type="build", when="+probe")
# Licensing
license_required = True
@@ -79,11 +137,14 @@ class ArmForge(Package):
license_url = "https://developer.arm.com/tools-and-software/server-and-hpc/help/help-and-tutorials/system-administration/licensing/arm-licence-server"
def url_for_version(self, version):
- return "https://content.allinea.com/downloads/arm-forge-%s-linux-%s.tar" % (version, platform.machine())
+ return "https://content.allinea.com/downloads/arm-forge-%s-linux-%s.tar" % (
+ version,
+ platform.machine(),
+ )
def install(self, spec, prefix):
subprocess.call(["./textinstall.sh", "--accept-licence", prefix])
- if spec.satisfies('+probe'):
+ if spec.satisfies("+probe"):
probe = join_path(prefix, "bin", "forge-probe")
subprocess.call([probe, "--install", "global"])
diff --git a/var/spack/repos/builtin/packages/arm/package.py b/var/spack/repos/builtin/packages/arm/package.py
index 6d0ccfe783..01ed34cd65 100644
--- a/var/spack/repos/builtin/packages/arm/package.py
+++ b/var/spack/repos/builtin/packages/arm/package.py
@@ -7,54 +7,51 @@ import re
from spack.package import *
_os_map = {
- 'ubuntu18.04': 'Ubuntu-18.04',
- 'ubuntu20.04': 'Ubuntu-20.04',
- 'sles15': 'SLES-15',
- 'centos7': 'RHEL-7',
- 'centos8': 'RHEL-8',
- 'amzn2': 'RHEL-7'
+ "ubuntu18.04": "Ubuntu-18.04",
+ "ubuntu20.04": "Ubuntu-20.04",
+ "sles15": "SLES-15",
+ "centos7": "RHEL-7",
+ "centos8": "RHEL-8",
+ "amzn2": "RHEL-7",
}
_versions = {
- '22.0.1': {
- 'RHEL-7': (
- '6b0ab76dce3fd44aab1e679baef01367c86f6bbd3544e04f9642b6685482cd76',
- 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_RHEL-7_aarch64.tar'
+ "22.0.1": {
+ "RHEL-7": (
+ "6b0ab76dce3fd44aab1e679baef01367c86f6bbd3544e04f9642b6685482cd76",
+ "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_RHEL-7_aarch64.tar",
),
- 'RHEL-8': (
- '41e5bffc52701b1e8a606f8db09c3c02e35ae39eae0ebeed5fbb41a13e61f057',
- 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_RHEL-8_aarch64.tar'
+ "RHEL-8": (
+ "41e5bffc52701b1e8a606f8db09c3c02e35ae39eae0ebeed5fbb41a13e61f057",
+ "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_RHEL-8_aarch64.tar",
),
- 'SLES-15': (
- 'b578ff517dec7fa23c4b7353a1a7c958f28cc9c9447f71f7c4e83de2e2c5538f',
- 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_SLES-15_aarch64.tar'
+ "SLES-15": (
+ "b578ff517dec7fa23c4b7353a1a7c958f28cc9c9447f71f7c4e83de2e2c5538f",
+ "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_SLES-15_aarch64.tar",
),
- 'Ubuntu-18.04': (
- 'becc6826ce0f6e696092e79a40f758d7cd0302227f6cfc7c2215f6483ade9748',
- 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_Ubuntu-18.04_aarch64.tar'
+ "Ubuntu-18.04": (
+ "becc6826ce0f6e696092e79a40f758d7cd0302227f6cfc7c2215f6483ade9748",
+ "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_Ubuntu-18.04_aarch64.tar",
+ ),
+ "Ubuntu-20.04": (
+ "dea136238fc2855c41b8a8154bf279b7df5df8dba48d8f29121fa26f343e7cdb",
+ "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_Ubuntu-20.04_aarch64.tar",
),
- 'Ubuntu-20.04': (
- 'dea136238fc2855c41b8a8154bf279b7df5df8dba48d8f29121fa26f343e7cdb',
- 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/22-0-1/arm-compiler-for-linux_22.0.1_Ubuntu-20.04_aarch64.tar'
- )
}
}
def get_os():
spack_os = spack.platforms.host().default_os
- return _os_map.get(spack_os, 'RHEL-7')
+ return _os_map.get(spack_os, "RHEL-7")
def get_acfl_prefix(spec):
acfl_prefix = spec.prefix
return join_path(
acfl_prefix,
- 'arm-linux-compiler-{0}_Generic-AArch64_{1}_aarch64-linux'.format(
- spec.version,
- get_os()
- )
+ "arm-linux-compiler-{0}_Generic-AArch64_{1}_aarch64-linux".format(spec.version, get_os()),
)
@@ -66,7 +63,7 @@ class Arm(Package):
homepage = "https://developer.arm.com/tools-and-software/server-and-hpc/arm-allinea-studio"
url = "https://developer.arm.com/-/media/Files/downloads/hpc/arm-allinea-studio/20-2-1/Ubuntu16.04/arm-compiler-for-linux_20.2.1_Ubuntu-16.04_aarch64.tar"
- maintainers = ['OliverPerks']
+ maintainers = ["OliverPerks"]
# Build Versions: establish OS for URL
acfl_os = get_os()
@@ -78,33 +75,28 @@ class Arm(Package):
version(ver, sha256=pkg[0], url=pkg[1])
# Only install for Aarch64
- conflicts('target=x86_64:', msg='Only available on Aarch64')
- conflicts('target=ppc64:', msg='Only available on Aarch64')
- conflicts('target=ppc64le:', msg='Only available on Aarch64')
+ conflicts("target=x86_64:", msg="Only available on Aarch64")
+ conflicts("target=ppc64:", msg="Only available on Aarch64")
+ conflicts("target=ppc64le:", msg="Only available on Aarch64")
- executables = [r'armclang', r'armclang\+\+', r'armflang']
+ executables = [r"armclang", r"armclang\+\+", r"armflang"]
# Licensing - Not required from 22.0.1 on.
# Run the installer with the desired install directory
def install(self, spec, prefix):
- exe = Executable('./arm-compiler-for-linux_{0}_{1}.sh'.format(
- spec.version, get_os())
- )
+ exe = Executable("./arm-compiler-for-linux_{0}_{1}.sh".format(spec.version, get_os()))
exe("--accept", "--force", "--install-to", prefix)
@classmethod
def determine_version(cls, exe):
- regex_str = r'Arm C\/C\+\+\/Fortran Compiler version ([\d\.]+) '\
- r'\(build number (\d+)\) '
+ regex_str = r"Arm C\/C\+\+\/Fortran Compiler version ([\d\.]+) " r"\(build number (\d+)\) "
version_regex = re.compile(regex_str)
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '--version'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "--version")
match = version_regex.search(output)
if match:
- if match.group(1).count('.') == 1:
+ if match.group(1).count(".") == 1:
return match.group(1) + ".0." + match.group(2)
return match.group(1) + "." + match.group(2)
except spack.util.executable.ProcessError:
@@ -116,44 +108,44 @@ class Arm(Package):
def determine_variants(cls, exes, version_str):
compilers = {}
for exe in exes:
- if 'armclang' in exe:
- compilers['c'] = exe
- if 'armclang++' in exe:
- compilers['cxx'] = exe
- if 'armflang' in exe:
- compilers['fortran'] = exe
- return '', {'compilers': compilers}
+ if "armclang" in exe:
+ compilers["c"] = exe
+ if "armclang++" in exe:
+ compilers["cxx"] = exe
+ if "armflang" in exe:
+ compilers["fortran"] = exe
+ return "", {"compilers": compilers}
@property
def cc(self):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('c', None)
- return join_path(get_acfl_prefix(self.spec), 'bin', 'armclang')
+ return self.spec.extra_attributes["compilers"].get("c", None)
+ return join_path(get_acfl_prefix(self.spec), "bin", "armclang")
@property
def cxx(self):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('cxx', None)
- return join_path(get_acfl_prefix(self.spec), 'bin', 'armclang++')
+ return self.spec.extra_attributes["compilers"].get("cxx", None)
+ return join_path(get_acfl_prefix(self.spec), "bin", "armclang++")
@property
def fortran(self):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fortran', None)
- return join_path(get_acfl_prefix(self.spec), 'bin', 'armflang')
+ return self.spec.extra_attributes["compilers"].get("fortran", None)
+ return join_path(get_acfl_prefix(self.spec), "bin", "armflang")
def setup_run_environment(self, env):
arm_dir = get_acfl_prefix(self.spec)
env.set("ARM_LINUX_COMPILER_DIR", arm_dir)
- env.set("ARM_LINUX_COMPILER_INCLUDES", join_path(arm_dir, 'includes'))
- env.prepend_path("LD_LIBRARY_PATH", join_path(arm_dir, 'lib'))
- env.prepend_path("PATH", join_path(arm_dir, 'bin'))
- env.prepend_path("CPATH", join_path(arm_dir, 'include'))
- env.prepend_path("MANPATH", join_path(arm_dir, 'share', 'man'))
- env.prepend_path("ARM_LICENSE_DIR", join_path(self.prefix, 'licences'))
+ env.set("ARM_LINUX_COMPILER_INCLUDES", join_path(arm_dir, "includes"))
+ env.prepend_path("LD_LIBRARY_PATH", join_path(arm_dir, "lib"))
+ env.prepend_path("PATH", join_path(arm_dir, "bin"))
+ env.prepend_path("CPATH", join_path(arm_dir, "include"))
+ env.prepend_path("MANPATH", join_path(arm_dir, "share", "man"))
+ env.prepend_path("ARM_LICENSE_DIR", join_path(self.prefix, "licences"))
diff --git a/var/spack/repos/builtin/packages/armadillo/package.py b/var/spack/repos/builtin/packages/armadillo/package.py
index d1052f51a3..3d19e472f1 100644
--- a/var/spack/repos/builtin/packages/armadillo/package.py
+++ b/var/spack/repos/builtin/packages/armadillo/package.py
@@ -14,66 +14,63 @@ class Armadillo(CMakePackage):
homepage = "http://arma.sourceforge.net/"
url = "http://sourceforge.net/projects/arma/files/armadillo-8.100.1.tar.xz"
- version('10.5.0', sha256='ea990c34dc6d70d7c95b4354d9f3b0819bde257dbb67796348e91e196082cb87')
- version('9.800.3', sha256='a481e1dc880b7cb352f8a28b67fe005dc1117d4341277f12999a2355d40d7599')
- version('8.100.1', sha256='54773f7d828bd3885c598f90122b530ded65d9b195c9034e082baea737cd138d')
- version('7.950.1', sha256='a32da32a0ea420b8397a53e4b40ed279c1a5fc791dd492a2ced81ffb14ad0d1b')
+ version("10.5.0", sha256="ea990c34dc6d70d7c95b4354d9f3b0819bde257dbb67796348e91e196082cb87")
+ version("9.800.3", sha256="a481e1dc880b7cb352f8a28b67fe005dc1117d4341277f12999a2355d40d7599")
+ version("8.100.1", sha256="54773f7d828bd3885c598f90122b530ded65d9b195c9034e082baea737cd138d")
+ version("7.950.1", sha256="a32da32a0ea420b8397a53e4b40ed279c1a5fc791dd492a2ced81ffb14ad0d1b")
- variant('hdf5', default=False, description='Include HDF5 support')
+ variant("hdf5", default=False, description="Include HDF5 support")
- depends_on('cmake@2.8.12:', type='build')
- depends_on('arpack-ng') # old arpack causes undefined symbols
- depends_on('blas')
- depends_on('lapack')
- depends_on('superlu@5.2:')
- depends_on('hdf5', when='+hdf5')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("arpack-ng") # old arpack causes undefined symbols
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("superlu@5.2:")
+ depends_on("hdf5", when="+hdf5")
# Adds an `#undef linux` to prevent preprocessor expansion of include
# directories with `linux` in them getting transformed into a 1.
# E.g. `/path/linux-x86_64/dir` -> `/path/1-x86_64/dir` if/when a linux
# platform's compiler is adding `#define linux 1`.
- patch('undef_linux.patch', when='platform=linux')
+ patch("undef_linux.patch", when="platform=linux")
def patch(self):
# Do not include Find{BLAS_type} because we are specifying the
# BLAS/LAPACK libraries explicitly.
- filter_file(r'include(ARMA_FindMKL)',
- '#include(ARMA_FindMKL)',
- 'CMakeLists.txt',
- string=True)
- filter_file(r'include(ARMA_FindOpenBLAS)',
- '#include(ARMA_FindOpenBLAS)',
- 'CMakeLists.txt',
- string=True)
- filter_file(r'include(ARMA_FindATLAS)',
- '#include(ARMA_FindATLAS)',
- 'CMakeLists.txt',
- string=True)
+ filter_file(
+ r"include(ARMA_FindMKL)", "#include(ARMA_FindMKL)", "CMakeLists.txt", string=True
+ )
+ filter_file(
+ r"include(ARMA_FindOpenBLAS)",
+ "#include(ARMA_FindOpenBLAS)",
+ "CMakeLists.txt",
+ string=True,
+ )
+ filter_file(
+ r"include(ARMA_FindATLAS)", "#include(ARMA_FindATLAS)", "CMakeLists.txt", string=True
+ )
# Comment out deprecated call to GET_FILENAME_COMPONENT. This allows
# armadillo to be built with MKL.
- with working_dir(join_path(self.stage.source_path,
- 'cmake_aux', 'Modules')):
- filter_file('GET_FILENAME_COMPONENT',
- '#GET_FILENAME_COMPONENT',
- 'ARMA_FindBLAS.cmake')
- filter_file('GET_FILENAME_COMPONENT',
- '#GET_FILENAME_COMPONENT',
- 'ARMA_FindLAPACK.cmake')
+ with working_dir(join_path(self.stage.source_path, "cmake_aux", "Modules")):
+ filter_file("GET_FILENAME_COMPONENT", "#GET_FILENAME_COMPONENT", "ARMA_FindBLAS.cmake")
+ filter_file(
+ "GET_FILENAME_COMPONENT", "#GET_FILENAME_COMPONENT", "ARMA_FindLAPACK.cmake"
+ )
def cmake_args(self):
spec = self.spec
return [
# ARPACK support
- '-DARPACK_LIBRARY={0}'.format(spec['arpack-ng'].libs.joined(";")),
+ "-DARPACK_LIBRARY={0}".format(spec["arpack-ng"].libs.joined(";")),
# BLAS support
- '-DBLAS_LIBRARY={0}'.format(spec['blas'].libs.joined(";")),
+ "-DBLAS_LIBRARY={0}".format(spec["blas"].libs.joined(";")),
# LAPACK support
- '-DLAPACK_LIBRARY={0}'.format(spec['lapack'].libs.joined(";")),
+ "-DLAPACK_LIBRARY={0}".format(spec["lapack"].libs.joined(";")),
# SuperLU support
- '-DSuperLU_INCLUDE_DIR={0}'.format(spec['superlu'].prefix.include),
- '-DSuperLU_LIBRARY={0}'.format(spec['superlu'].libs.joined(";")),
+ "-DSuperLU_INCLUDE_DIR={0}".format(spec["superlu"].prefix.include),
+ "-DSuperLU_LIBRARY={0}".format(spec["superlu"].libs.joined(";")),
# HDF5 support
- '-DDETECT_HDF5={0}'.format('ON' if '+hdf5' in spec else 'OFF')
+ "-DDETECT_HDF5={0}".format("ON" if "+hdf5" in spec else "OFF"),
]
diff --git a/var/spack/repos/builtin/packages/armpl-gcc/package.py b/var/spack/repos/builtin/packages/armpl-gcc/package.py
index a4f78ab8c5..9c283a6319 100644
--- a/var/spack/repos/builtin/packages/armpl-gcc/package.py
+++ b/var/spack/repos/builtin/packages/armpl-gcc/package.py
@@ -8,100 +8,99 @@ import os
from spack.package import *
_os_map = {
- 'ubuntu18.04': 'Ubuntu-18.04',
- 'ubuntu20.04': 'Ubuntu-20.04',
- 'sles15': 'SLES-15',
- 'centos7': 'RHEL-7',
- 'centos8': 'RHEL-8',
- 'amzn2': 'RHEL-7'
+ "ubuntu18.04": "Ubuntu-18.04",
+ "ubuntu20.04": "Ubuntu-20.04",
+ "sles15": "SLES-15",
+ "centos7": "RHEL-7",
+ "centos8": "RHEL-8",
+ "amzn2": "RHEL-7",
}
_versions = {
- '22.0.2_gcc-11.2': {
- 'RHEL-7': ('c8191f3a65762955714f020caf2a89e37ff7f9cb2326dc180c746acd8a018acd'),
- 'RHEL-8': ('d69432a3148c9d2745c70859a0143285537e06920ecfdb4669ff364a9d24972c'),
- 'SLES-15': ('dab5efa8cad15cc78212a085e7ed9125725fb51924cb79bd556229cde3c4f1a3'),
- 'Ubuntu-18.04': ('38a9a2f8bf5101dd7a8b66b3eec7647730434b8ee5e4c5efd17a172e2ea1357e'),
- 'Ubuntu-20.04': ('b7322d0e824615cd6fe784bfd4eeed359f11aa4eeb01a52cb61863844d79791f')
+ "22.0.2_gcc-11.2": {
+ "RHEL-7": ("c8191f3a65762955714f020caf2a89e37ff7f9cb2326dc180c746acd8a018acd"),
+ "RHEL-8": ("d69432a3148c9d2745c70859a0143285537e06920ecfdb4669ff364a9d24972c"),
+ "SLES-15": ("dab5efa8cad15cc78212a085e7ed9125725fb51924cb79bd556229cde3c4f1a3"),
+ "Ubuntu-18.04": ("38a9a2f8bf5101dd7a8b66b3eec7647730434b8ee5e4c5efd17a172e2ea1357e"),
+ "Ubuntu-20.04": ("b7322d0e824615cd6fe784bfd4eeed359f11aa4eeb01a52cb61863844d79791f"),
},
- '22.0.2_gcc-10.2': {
- 'RHEL-7': ('1b728f7551db8b3d6a710151f24872d6ba8c97a7572581680161441268b9e500'),
- 'RHEL-8': ('d0e2101db55f25a3ee5723c14c4209d5b082c6b737bad6121ae692e829b50038'),
- 'SLES-15': ('4de686744937345bc7eeac06db2086535e0230813b87d6b4013f1336a54324a3'),
- 'Ubuntu-18.04': ('ca08d6942352f4cdec634b5e8c3bfe46a05f04f19d957e6af56c25a433682e66'),
- 'Ubuntu-20.04': ('25c5288c285fc08160a104dd2c36d2adab7f72b42b99771f93b0dfcb2b3e3230')
+ "22.0.2_gcc-10.2": {
+ "RHEL-7": ("1b728f7551db8b3d6a710151f24872d6ba8c97a7572581680161441268b9e500"),
+ "RHEL-8": ("d0e2101db55f25a3ee5723c14c4209d5b082c6b737bad6121ae692e829b50038"),
+ "SLES-15": ("4de686744937345bc7eeac06db2086535e0230813b87d6b4013f1336a54324a3"),
+ "Ubuntu-18.04": ("ca08d6942352f4cdec634b5e8c3bfe46a05f04f19d957e6af56c25a433682e66"),
+ "Ubuntu-20.04": ("25c5288c285fc08160a104dd2c36d2adab7f72b42b99771f93b0dfcb2b3e3230"),
},
- '22.0.2_gcc-9.3': {
- 'RHEL-7': ('2c2bc000d9819cae7785880b3bab00556fcc5eda3fb48356300048df28876e09'),
- 'RHEL-8': ('1e992d603af0d1f80f05fffb0d57e3f66a5457fb82c56e38d5aec380f66b7bd9'),
- 'SLES-15': ('e30b6d989b97f2065f981ce6061a00377455c84018c4639865c774994bab0c71'),
- 'Ubuntu-18.04': ('fa0fa8367aa18169e045d9ba40f339629f14fdd6e7087b946b9bea9588213d5f'),
- 'Ubuntu-20.04': ('7d3f6661304ecc7111e8b67b745d6d7fc15306e04e87dac4561e6040ac5f68b0')
+ "22.0.2_gcc-9.3": {
+ "RHEL-7": ("2c2bc000d9819cae7785880b3bab00556fcc5eda3fb48356300048df28876e09"),
+ "RHEL-8": ("1e992d603af0d1f80f05fffb0d57e3f66a5457fb82c56e38d5aec380f66b7bd9"),
+ "SLES-15": ("e30b6d989b97f2065f981ce6061a00377455c84018c4639865c774994bab0c71"),
+ "Ubuntu-18.04": ("fa0fa8367aa18169e045d9ba40f339629f14fdd6e7087b946b9bea9588213d5f"),
+ "Ubuntu-20.04": ("7d3f6661304ecc7111e8b67b745d6d7fc15306e04e87dac4561e6040ac5f68b0"),
},
- '22.0.2_gcc-8.2': {
- 'RHEL-7': ('5a8cdbdfceb53252358842e505cfdc35c50af06d8d17d073bab41efdb78a38b5'),
- 'RHEL-8': ('564f3e2fcdadc831d010aed0a938a419321a9ba8c18978bdad08f53924bd3986'),
- 'SLES-15': ('c4d43e1ba84e2f09b6223ac148be3f7b4c7f83a4af77255dd1cb7ad0034c713a'),
- 'Ubuntu-18.04': ('98c752dc997a3abe4ac4db16fd684bdd8aa8d4482bccf93948a593d523e477e0')
+ "22.0.2_gcc-8.2": {
+ "RHEL-7": ("5a8cdbdfceb53252358842e505cfdc35c50af06d8d17d073bab41efdb78a38b5"),
+ "RHEL-8": ("564f3e2fcdadc831d010aed0a938a419321a9ba8c18978bdad08f53924bd3986"),
+ "SLES-15": ("c4d43e1ba84e2f09b6223ac148be3f7b4c7f83a4af77255dd1cb7ad0034c713a"),
+ "Ubuntu-18.04": ("98c752dc997a3abe4ac4db16fd684bdd8aa8d4482bccf93948a593d523e477e0"),
},
- '22.0.2_gcc-7.5': {
- 'RHEL-7': ('adc76d9b1375330dd424dd85cd1aefa7bceaa3b25a353157d493d98850c0d8fa'),
- 'Ubuntu-18.04': ('331846312e579e954dac54f69b1ffcda96ab51984050659f2314269e55b58b9e')
+ "22.0.2_gcc-7.5": {
+ "RHEL-7": ("adc76d9b1375330dd424dd85cd1aefa7bceaa3b25a353157d493d98850c0d8fa"),
+ "Ubuntu-18.04": ("331846312e579e954dac54f69b1ffcda96ab51984050659f2314269e55b58b9e"),
},
- '22.0.1_gcc-11.2': {
- 'RHEL-7': ('32529fdc70c39084eafe746db6baa487815bb49dae1588ccf2f7bd7929c10f7c'),
- 'RHEL-8': ('1abd0b1c47cae65ee74510cf6e25946c66f9f4244e4674d5e9f73c442901482c'),
- 'SLES-15': ('631261d7b29e85e99d208bdd397bdb5fcb0b53fd834b4b5a9cf963789e29f96e'),
- 'Ubuntu-18.04': ('2ec210ff3c33d94a7cbe0cd7ea92add0b954ab1b1dc438dffa1d5f516e80e3ec'),
- 'Ubuntu-20.04': ('13e9b98afc01c5444799c7f2ef84716f8a7be11df93b71fe9cfdc7fc6162f6d5')
+ "22.0.1_gcc-11.2": {
+ "RHEL-7": ("32529fdc70c39084eafe746db6baa487815bb49dae1588ccf2f7bd7929c10f7c"),
+ "RHEL-8": ("1abd0b1c47cae65ee74510cf6e25946c66f9f4244e4674d5e9f73c442901482c"),
+ "SLES-15": ("631261d7b29e85e99d208bdd397bdb5fcb0b53fd834b4b5a9cf963789e29f96e"),
+ "Ubuntu-18.04": ("2ec210ff3c33d94a7cbe0cd7ea92add0b954ab1b1dc438dffa1d5f516e80e3ec"),
+ "Ubuntu-20.04": ("13e9b98afc01c5444799c7f2ef84716f8a7be11df93b71fe9cfdc7fc6162f6d5"),
},
- '22.0.1_gcc-10.2': {
- 'RHEL-7': ('d2d91f43872e072ccec0cfab61eccf531daf6f02997e29fef3d738178c023d7a'),
- 'RHEL-8': ('d642f55937410d2d402589f09e985c05b577d1227063b8247dc5733199e124a4'),
- 'SLES-15': ('6746de2db361a65edac2ff8dcd4fc84a314fd919df3758c9bad7027dcfadfea2'),
- 'Ubuntu-18.04': ('f3a7a7cb1768046ef742110fa311c65504074f1a381d295d583848221e267bd9'),
- 'Ubuntu-20.04': ('5da7450196d94b0aea613cf8e7c4083ae3eb2e905d049db3b300059a9fbf169b')
+ "22.0.1_gcc-10.2": {
+ "RHEL-7": ("d2d91f43872e072ccec0cfab61eccf531daf6f02997e29fef3d738178c023d7a"),
+ "RHEL-8": ("d642f55937410d2d402589f09e985c05b577d1227063b8247dc5733199e124a4"),
+ "SLES-15": ("6746de2db361a65edac2ff8dcd4fc84a314fd919df3758c9bad7027dcfadfea2"),
+ "Ubuntu-18.04": ("f3a7a7cb1768046ef742110fa311c65504074f1a381d295d583848221e267bd9"),
+ "Ubuntu-20.04": ("5da7450196d94b0aea613cf8e7c4083ae3eb2e905d049db3b300059a9fbf169b"),
},
- '22.0.1_gcc-9.3': {
- 'RHEL-7': ('8df55f83ccebf9c1de5291c701d7cbeb051ce194ffe2d1f1148b2a6be0d7ea1c'),
- 'RHEL-8': ('b0e26004c40db3138939b7bddc4bbe54ec7de4e548b5dc697cce5c85a8acbb27'),
- 'SLES-15': ('963278d35485ec28a8b17a89efcfe0f82d84edc4ff8af838d56648917ec7b547'),
- 'Ubuntu-18.04': ('3c7d2f7d102954440539d5b541dd1f669d2ccb3daaa14de1f04d6790368d6794'),
- 'Ubuntu-20.04': ('8e78bef6517f42efd878579aee2cae4e439e3cd5c8a28e3f3fa83254f7189a2f')
+ "22.0.1_gcc-9.3": {
+ "RHEL-7": ("8df55f83ccebf9c1de5291c701d7cbeb051ce194ffe2d1f1148b2a6be0d7ea1c"),
+ "RHEL-8": ("b0e26004c40db3138939b7bddc4bbe54ec7de4e548b5dc697cce5c85a8acbb27"),
+ "SLES-15": ("963278d35485ec28a8b17a89efcfe0f82d84edc4ff8af838d56648917ec7b547"),
+ "Ubuntu-18.04": ("3c7d2f7d102954440539d5b541dd1f669d2ccb3daaa14de1f04d6790368d6794"),
+ "Ubuntu-20.04": ("8e78bef6517f42efd878579aee2cae4e439e3cd5c8a28e3f3fa83254f7189a2f"),
},
- '22.0.1_gcc-8.2': {
- 'RHEL-7': ('1e682e319c3b07236acc3870bf291a1d0cba884112b447dad7e356fdc42bd06a'),
- 'RHEL-8': ('1fad5a0de02cda0a23a7864cca653a04ceb4244e362073d2959ce7db4144bb20'),
- 'SLES-15': ('fa6111264c3fbe29ec084e7322c794640a1b3c40b2f0e01f7637f3f0d87d03e2'),
- 'Ubuntu-18.04': ('3d092ecd98620b31e813ad726244ff40fdcb012aa055b6695dff51bc1578039d')
+ "22.0.1_gcc-8.2": {
+ "RHEL-7": ("1e682e319c3b07236acc3870bf291a1d0cba884112b447dad7e356fdc42bd06a"),
+ "RHEL-8": ("1fad5a0de02cda0a23a7864cca653a04ceb4244e362073d2959ce7db4144bb20"),
+ "SLES-15": ("fa6111264c3fbe29ec084e7322c794640a1b3c40b2f0e01f7637f3f0d87d03e2"),
+ "Ubuntu-18.04": ("3d092ecd98620b31e813ad726244ff40fdcb012aa055b6695dff51bc1578039d"),
+ },
+ "22.0.1_gcc-7.5": {
+ "RHEL-7": ("e23702a9fecfc64aa6bd56439a602f0c25b0febce059cb6c0192b575758c6f1a"),
+ "Ubuntu-18.04": ("bf4e6327eedec656b696f98735aa988a75b0c60185f3c22af6b7e608abbdb305"),
},
- '22.0.1_gcc-7.5': {
- 'RHEL-7': ('e23702a9fecfc64aa6bd56439a602f0c25b0febce059cb6c0192b575758c6f1a'),
- 'Ubuntu-18.04': ('bf4e6327eedec656b696f98735aa988a75b0c60185f3c22af6b7e608abbdb305')
- }
}
def get_os():
spack_os = spack.platforms.host().default_os
- return _os_map.get(spack_os, 'RHEL-7')
+ return _os_map.get(spack_os, "RHEL-7")
def get_package_url(version):
os = get_os()
- os_no_dash = get_os().replace('-', '')
- base_url = 'https://developer.arm.com/-/media/Files/downloads/hpc/arm-performance-libraries/'
- armpl_version = version.split('_')[0]
- armpl_version_dashed = armpl_version.replace('.', '-')
- gcc_version = version.split('_')[1]
- filename = 'arm-performance-libraries_' + armpl_version + '_' + os + '_'\
- + gcc_version + '.tar'
- return (base_url + armpl_version_dashed + '/' + os_no_dash + '/' + filename)
+ os_no_dash = get_os().replace("-", "")
+ base_url = "https://developer.arm.com/-/media/Files/downloads/hpc/arm-performance-libraries/"
+ armpl_version = version.split("_")[0]
+ armpl_version_dashed = armpl_version.replace(".", "-")
+ gcc_version = version.split("_")[1]
+ filename = "arm-performance-libraries_" + armpl_version + "_" + os + "_" + gcc_version + ".tar"
+ return base_url + armpl_version_dashed + "/" + os_no_dash + "/" + filename
def get_armpl_prefix(spec):
- return os.path.join(spec.prefix, 'armpl_' + spec.version.string)
+ return os.path.join(spec.prefix, "armpl_" + spec.version.string)
class ArmplGcc(Package):
@@ -111,7 +110,7 @@ class ArmplGcc(Package):
homepage = "https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries"
url = "https://developer.arm.com/-/media/Files/downloads/hpc/arm-performance-libraries/22-0-2/RHEL7/arm-performance-libraries_22.0.2_RHEL-7_gcc-11.2.tar"
- maintainers = ['annop-w']
+ maintainers = ["annop-w"]
for ver, packages in _versions.items():
key = "{0}".format(get_os())
@@ -120,42 +119,43 @@ class ArmplGcc(Package):
if sha256sum:
version(ver, sha256=sha256sum, url=url)
- conflicts('target=x86:', msg='Only available on Aarch64')
- conflicts('target=ppc64:', msg='Only available on Aarch64')
- conflicts('target=ppc64le:', msg='Only available on Aarch64')
+ conflicts("target=x86:", msg="Only available on Aarch64")
+ conflicts("target=ppc64:", msg="Only available on Aarch64")
+ conflicts("target=ppc64le:", msg="Only available on Aarch64")
- conflicts('%gcc@:11.0', when='@22.0.2_gcc-11.2')
- conflicts('%gcc@:10.0', when='@22.0.2_gcc-10.2')
- conflicts('%gcc@:9.0', when='@22.0.2_gcc-9.3')
- conflicts('%gcc@:8.0', when='@22.0.2_gcc-8.2')
- conflicts('%gcc@:7.0', when='@22.0.2_gcc-7.5')
+ conflicts("%gcc@:11.0", when="@22.0.2_gcc-11.2")
+ conflicts("%gcc@:10.0", when="@22.0.2_gcc-10.2")
+ conflicts("%gcc@:9.0", when="@22.0.2_gcc-9.3")
+ conflicts("%gcc@:8.0", when="@22.0.2_gcc-8.2")
+ conflicts("%gcc@:7.0", when="@22.0.2_gcc-7.5")
- conflicts('%gcc@:11.0', when='@22.0.1_gcc-11.2')
- conflicts('%gcc@:10.0', when='@22.0.1_gcc-10.2')
- conflicts('%gcc@:9.0', when='@22.0.1_gcc-9.3')
- conflicts('%gcc@:8.0', when='@22.0.1_gcc-8.2')
- conflicts('%gcc@:7.0', when='@22.0.1_gcc-7.5')
+ conflicts("%gcc@:11.0", when="@22.0.1_gcc-11.2")
+ conflicts("%gcc@:10.0", when="@22.0.1_gcc-10.2")
+ conflicts("%gcc@:9.0", when="@22.0.1_gcc-9.3")
+ conflicts("%gcc@:8.0", when="@22.0.1_gcc-8.2")
+ conflicts("%gcc@:7.0", when="@22.0.1_gcc-7.5")
- variant('ilp64', default=False, description='use ilp64 specific Armpl library')
- variant('shared', default=True, description='enable shared libs')
+ variant("ilp64", default=False, description="use ilp64 specific Armpl library")
+ variant("shared", default=True, description="enable shared libs")
variant(
- 'threads', default='none',
- description='Multithreading support',
- values=('openmp', 'none'),
- multi=False
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("openmp", "none"),
+ multi=False,
)
- provides('blas')
- provides('lapack')
- provides('fftw-api@3')
+ provides("blas")
+ provides("lapack")
+ provides("fftw-api@3")
# Run the installer with the desired install directory
def install(self, spec, prefix):
- if self.compiler.name != 'gcc':
- raise spack.error.SpackError(('Only compatible with GCC.\n'))
+ if self.compiler.name != "gcc":
+ raise spack.error.SpackError(("Only compatible with GCC.\n"))
- exe = Executable('./arm-performance-libraries_{0}_{1}.sh'.format(
- spec.version.up_to(3), get_os())
+ exe = Executable(
+ "./arm-performance-libraries_{0}_{1}.sh".format(spec.version.up_to(3), get_os())
)
exe("--accept", "--force", "--install-to", prefix)
@@ -164,24 +164,22 @@ class ArmplGcc(Package):
armpl_prefix = get_armpl_prefix(self.spec)
- shared = True if '+shared' in self.spec else False
- if '+ilp64' in self.spec and self.spec.satisfies('threads=openmp'):
- libname = 'libarmpl_ilp64_mp'
- elif '+ilp64' in self.spec:
- libname = 'libarmpl_ilp64'
- elif self.spec.satisfies('threads=openmp'):
- libname = 'libarmpl_mp'
+ shared = True if "+shared" in self.spec else False
+ if "+ilp64" in self.spec and self.spec.satisfies("threads=openmp"):
+ libname = "libarmpl_ilp64_mp"
+ elif "+ilp64" in self.spec:
+ libname = "libarmpl_ilp64"
+ elif self.spec.satisfies("threads=openmp"):
+ libname = "libarmpl_mp"
else:
- libname = 'libarmpl'
+ libname = "libarmpl"
# Get ArmPL Lib
armpl_libs = find_libraries(
- [libname, 'libamath', 'libastring'],
- root=armpl_prefix,
- shared=shared,
- recursive=True)
+ [libname, "libamath", "libastring"], root=armpl_prefix, shared=shared, recursive=True
+ )
- armpl_libs += find_system_libraries(['libm'])
+ armpl_libs += find_system_libraries(["libm"])
return armpl_libs
@@ -200,11 +198,11 @@ class ArmplGcc(Package):
@property
def headers(self):
armpl_dir = get_armpl_prefix(self.spec)
- suffix = 'include'
- if self.spec.satisfies('+ilp64'):
- suffix += '_ilp64'
- if self.spec.satisfies('threads=openmp'):
- suffix += '_mp'
+ suffix = "include"
+ if self.spec.satisfies("+ilp64"):
+ suffix += "_ilp64"
+ if self.spec.satisfies("threads=openmp"):
+ suffix += "_mp"
incdir = join_path(armpl_dir, suffix)
hlist = find_all_headers(incdir)
diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py
index 9015ee2223..20357d7c25 100644
--- a/var/spack/repos/builtin/packages/arpack-ng/package.py
+++ b/var/spack/repos/builtin/packages/arpack-ng/package.py
@@ -34,134 +34,138 @@ class ArpackNg(Package):
arpack-ng is replacing arpack almost everywhere.
"""
- homepage = 'https://github.com/opencollab/arpack-ng'
- url = 'https://github.com/opencollab/arpack-ng/archive/3.3.0.tar.gz'
- git = 'https://github.com/opencollab/arpack-ng.git'
-
- version('develop', branch='master')
- version('3.8.0', sha256='ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d')
- version('3.7.0', sha256='972e3fc3cd0b9d6b5a737c9bf6fd07515c0d6549319d4ffb06970e64fa3cc2d6')
- version('3.6.3', sha256='64f3551e5a2f8497399d82af3076b6a33bf1bc95fc46bbcabe66442db366f453')
- version('3.6.2', sha256='673c8202de996fd3127350725eb1818e534db4e79de56d5dcee8c00768db599a')
- version('3.6.0', sha256='3c88e74cc10bba81dc2c72c4f5fff38a800beebaa0b4c64d321c28c9203b37ea')
- version('3.5.0', sha256='50f7a3e3aec2e08e732a487919262238f8504c3ef927246ec3495617dde81239')
- version('3.4.0', sha256='69e9fa08bacb2475e636da05a6c222b17c67f1ebeab3793762062248dd9d842f')
- version('3.3.0', sha256='ad59811e7d79d50b8ba19fd908f92a3683d883597b2c7759fdcc38f6311fe5b3', deprecated=True)
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('mpi', default=True, description='Activates MPI support')
+ homepage = "https://github.com/opencollab/arpack-ng"
+ url = "https://github.com/opencollab/arpack-ng/archive/3.3.0.tar.gz"
+ git = "https://github.com/opencollab/arpack-ng.git"
+
+ version("develop", branch="master")
+ version("3.8.0", sha256="ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d")
+ version("3.7.0", sha256="972e3fc3cd0b9d6b5a737c9bf6fd07515c0d6549319d4ffb06970e64fa3cc2d6")
+ version("3.6.3", sha256="64f3551e5a2f8497399d82af3076b6a33bf1bc95fc46bbcabe66442db366f453")
+ version("3.6.2", sha256="673c8202de996fd3127350725eb1818e534db4e79de56d5dcee8c00768db599a")
+ version("3.6.0", sha256="3c88e74cc10bba81dc2c72c4f5fff38a800beebaa0b4c64d321c28c9203b37ea")
+ version("3.5.0", sha256="50f7a3e3aec2e08e732a487919262238f8504c3ef927246ec3495617dde81239")
+ version("3.4.0", sha256="69e9fa08bacb2475e636da05a6c222b17c67f1ebeab3793762062248dd9d842f")
+ version(
+ "3.3.0",
+ sha256="ad59811e7d79d50b8ba19fd908f92a3683d883597b2c7759fdcc38f6311fe5b3",
+ deprecated=True,
+ )
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=True, description="Activates MPI support")
# The function pdlamch10 does not set the return variable.
# This is fixed upstream
# see https://github.com/opencollab/arpack-ng/issues/34
- patch('pdlamch10.patch', when='@3.3.0')
+ patch("pdlamch10.patch", when="@3.3.0")
- patch('make_install.patch', when='@3.4.0')
- patch('parpack_cmake.patch', when='@3.4.0')
+ patch("make_install.patch", when="@3.4.0")
+ patch("parpack_cmake.patch", when="@3.4.0")
# Fujitsu compiler does not support 'isnan' function.
# isnan: function that determines whether it is NaN.
- patch('incompatible_isnan_fix.patch', when='%fj')
- patch('incompatible_isnan_fix.patch', when='@3.7.0%xl')
- patch('incompatible_isnan_fix.patch', when='@3.7.0%xl_r')
+ patch("incompatible_isnan_fix.patch", when="%fj")
+ patch("incompatible_isnan_fix.patch", when="@3.7.0%xl")
+ patch("incompatible_isnan_fix.patch", when="@3.7.0%xl_r")
- patch('xlf.patch', when='@3.7.0%xl', level=0)
- patch('xlf.patch', when='@3.7.0%xl_r', level=0)
+ patch("xlf.patch", when="@3.7.0%xl", level=0)
+ patch("xlf.patch", when="@3.7.0%xl_r", level=0)
- depends_on('blas')
- depends_on('lapack')
- depends_on('automake', when='@3.3.0', type='build')
- depends_on('autoconf', when='@3.3.0', type='build')
- depends_on('libtool@2.4.2:', when='@3.3.0', type='build')
- depends_on('cmake@2.8.6:', when='@3.4.0:', type='build')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("automake", when="@3.3.0", type="build")
+ depends_on("autoconf", when="@3.3.0", type="build")
+ depends_on("libtool@2.4.2:", when="@3.3.0", type="build")
+ depends_on("cmake@2.8.6:", when="@3.4.0:", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
@property
def libs(self):
# TODO: do we need spec['arpack-ng:parallel'].libs ?
# query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libarpack']
+ libraries = ["libarpack"]
- if '+mpi' in self.spec:
- libraries = ['libparpack'] + libraries
+ if "+mpi" in self.spec:
+ libraries = ["libparpack"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
- @when('@:3.7.0 %gcc@10:')
+ @when("@:3.7.0 %gcc@10:")
def setup_build_environment(self, env):
# version up to and including 3.7.0 are not ported to gcc 10
# https://github.com/opencollab/arpack-ng/issues/242
- env.set('FFLAGS', '-fallow-argument-mismatch')
+ env.set("FFLAGS", "-fallow-argument-mismatch")
- @when('@3.4.0:')
+ @when("@3.4.0:")
def install(self, spec, prefix):
- options = ['-DEXAMPLES=ON']
+ options = ["-DEXAMPLES=ON"]
options.extend(std_cmake_args)
- options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
+ options.append("-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib" % prefix)
# Make sure we use Spack's blas/lapack:
- lapack_libs = spec['lapack'].libs.joined(';')
- blas_libs = spec['blas'].libs.joined(';')
-
- options.extend([
- '-DLAPACK_FOUND=true',
- '-DLAPACK_INCLUDE_DIRS={0}'.format(spec['lapack'].prefix.include),
- '-DLAPACK_LIBRARIES={0}'.format(lapack_libs),
- '-DBLAS_FOUND=true',
- '-DBLAS_INCLUDE_DIRS={0}'.format(spec['blas'].prefix.include),
- '-DBLAS_LIBRARIES={0}'.format(blas_libs)
- ])
+ lapack_libs = spec["lapack"].libs.joined(";")
+ blas_libs = spec["blas"].libs.joined(";")
+
+ options.extend(
+ [
+ "-DLAPACK_FOUND=true",
+ "-DLAPACK_INCLUDE_DIRS={0}".format(spec["lapack"].prefix.include),
+ "-DLAPACK_LIBRARIES={0}".format(lapack_libs),
+ "-DBLAS_FOUND=true",
+ "-DBLAS_INCLUDE_DIRS={0}".format(spec["blas"].prefix.include),
+ "-DBLAS_LIBRARIES={0}".format(blas_libs),
+ ]
+ )
- if '+mpi' in spec:
- options.append('-DMPI=ON')
+ if "+mpi" in spec:
+ options.append("-DMPI=ON")
# If 64-bit BLAS is used:
- if (spec.satisfies('^openblas+ilp64') or
- spec.satisfies('^intel-mkl+ilp64') or
- spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
- options.append('-DINTERFACE64=1')
-
- if '+shared' in spec:
- options.append('-DBUILD_SHARED_LIBS=ON')
+ if (
+ spec.satisfies("^openblas+ilp64")
+ or spec.satisfies("^intel-mkl+ilp64")
+ or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
+ ):
+ options.append("-DINTERFACE64=1")
+
+ 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')
+ options.append("-DBUILD_SHARED_LIBS=OFF")
+ options.append("-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true")
- cmake('.', *options)
+ cmake(".", *options)
make()
if self.run_tests:
- make('test')
- make('install')
+ make("test")
+ make("install")
- @when('@3.3.0')
+ @when("@3.3.0")
def install(self, spec, prefix):
# Apparently autotools are not bootstrapped
- which('libtoolize')()
- bootstrap = Executable('./bootstrap')
+ which("libtoolize")()
+ bootstrap = Executable("./bootstrap")
- options = ['--prefix=%s' % prefix]
+ options = ["--prefix=%s" % prefix]
- if '+mpi' in spec:
- options.extend([
- '--enable-mpi',
- 'F77=%s' % spec['mpi'].mpif77
- ])
+ if "+mpi" in spec:
+ options.extend(["--enable-mpi", "F77=%s" % spec["mpi"].mpif77])
- options.extend([
- '--with-blas={0}'.format(spec['blas'].libs.ld_flags),
- '--with-lapack={0}'.format(spec['lapack'].libs.ld_flags)
- ])
- if '+shared' not in spec:
- options.append('--enable-shared=no')
+ options.extend(
+ [
+ "--with-blas={0}".format(spec["blas"].libs.ld_flags),
+ "--with-lapack={0}".format(spec["lapack"].libs.ld_flags),
+ ]
+ )
+ if "+shared" not in spec:
+ options.append("--enable-shared=no")
bootstrap()
configure(*options)
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
diff --git a/var/spack/repos/builtin/packages/arrayfire/package.py b/var/spack/repos/builtin/packages/arrayfire/package.py
index 83f83c17a2..81dc2ba598 100644
--- a/var/spack/repos/builtin/packages/arrayfire/package.py
+++ b/var/spack/repos/builtin/packages/arrayfire/package.py
@@ -12,78 +12,86 @@ class Arrayfire(CMakePackage, CudaPackage):
programming more accessible."""
homepage = "https://arrayfire.org/docs/index.htm"
- git = "https://github.com/arrayfire/arrayfire.git"
- maintainers = ['umar456']
-
- version('master')
- version('3.8.1', commit='823e8e399fe8c120c6ec7ec75f09e6106b3074ca', tag='v3.8.1')
- version('3.7.3', commit='59ac7b980d1ae124aae914fb29cbf086c948954d', submodules=True, tag='v3.7.3')
- version('3.7.2', commit='218dd2c99300e77496239ade76e94b0def65d032', submodules=True, tag='v3.7.2')
- version('3.7.0', commit='fbea2aeb6f7f2d277dcb0ab425a77bb18ed22291', submodules=True, tag='v3.7.0')
-
- variant('forge', default=False, description='Enable graphics library')
- variant('opencl', default=False, description='Enable OpenCL backend')
-
- depends_on('boost@1.70:')
- depends_on('fftw-api@3:')
- depends_on('blas')
- depends_on('cuda@7.5:', when='+cuda')
- depends_on('cudnn', when='+cuda')
- depends_on('opencl +icd', when='+opencl')
+ git = "https://github.com/arrayfire/arrayfire.git"
+ maintainers = ["umar456"]
+
+ version("master")
+ version("3.8.1", commit="823e8e399fe8c120c6ec7ec75f09e6106b3074ca", tag="v3.8.1")
+ version(
+ "3.7.3", commit="59ac7b980d1ae124aae914fb29cbf086c948954d", submodules=True, tag="v3.7.3"
+ )
+ version(
+ "3.7.2", commit="218dd2c99300e77496239ade76e94b0def65d032", submodules=True, tag="v3.7.2"
+ )
+ version(
+ "3.7.0", commit="fbea2aeb6f7f2d277dcb0ab425a77bb18ed22291", submodules=True, tag="v3.7.0"
+ )
+
+ variant("forge", default=False, description="Enable graphics library")
+ variant("opencl", default=False, description="Enable OpenCL backend")
+
+ depends_on("boost@1.70:")
+ depends_on("fftw-api@3:")
+ depends_on("blas")
+ depends_on("cuda@7.5:", when="+cuda")
+ depends_on("cudnn", when="+cuda")
+ depends_on("opencl +icd", when="+opencl")
# TODO add more opencl backends:
# currently only Cuda backend is enabled
# https://github.com/arrayfire/arrayfire/wiki/Build-Instructions-for-Linux#opencl-backend-dependencies
- depends_on('fontconfig', when='+forge')
- depends_on('glfw@3.1.4:', when='+forge')
+ depends_on("fontconfig", when="+forge")
+ depends_on("glfw@3.1.4:", when="+forge")
- conflicts('cuda_arch=none', when='+cuda',
- msg='CUDA architecture is required')
+ conflicts("cuda_arch=none", when="+cuda", msg="CUDA architecture is required")
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
libraries = []
- if 'cpu' in query_parameters:
- libraries.append('libafcpu')
- if 'cuda' in query_parameters and '+cuda' in self.spec:
- libraries.append('libafcuda')
- if 'opencl' in query_parameters and '+opencl' in self.spec:
- libraries.append('libafopencl')
- if not query_parameters or 'unified' in query_parameters:
- libraries.append('libaf')
+ if "cpu" in query_parameters:
+ libraries.append("libafcpu")
+ if "cuda" in query_parameters and "+cuda" in self.spec:
+ libraries.append("libafcuda")
+ if "opencl" in query_parameters and "+opencl" in self.spec:
+ libraries.append("libafopencl")
+ if not query_parameters or "unified" in query_parameters:
+ libraries.append("libaf")
return find_libraries(libraries, root=self.prefix, recursive=True)
def cmake_args(self):
args = []
- args.extend([
- self.define_from_variant('AF_BUILD_CUDA', 'cuda'),
- self.define_from_variant('AF_BUILD_FORGE', 'forge'),
- self.define_from_variant('AF_BUILD_OPENCL', 'opencl'),
- self.define('BUILD_TESTING', self.run_tests),
- ])
-
- if '+cuda' in self.spec:
- arch_list = ['{}.{}'.format(arch[:-1], arch[-1])
- for arch in self.spec.variants['cuda_arch'].value]
- args.append(self.define('CUDA_architecture_build_targets',
- arch_list))
-
- if '^mkl' in self.spec:
- if self.version >= Version('3.8.0'):
- args.append(self.define('AF_COMPUTE_LIBRARY', 'Intel-MKL'))
+ args.extend(
+ [
+ self.define_from_variant("AF_BUILD_CUDA", "cuda"),
+ self.define_from_variant("AF_BUILD_FORGE", "forge"),
+ self.define_from_variant("AF_BUILD_OPENCL", "opencl"),
+ self.define("BUILD_TESTING", self.run_tests),
+ ]
+ )
+
+ if "+cuda" in self.spec:
+ arch_list = [
+ "{}.{}".format(arch[:-1], arch[-1])
+ for arch in self.spec.variants["cuda_arch"].value
+ ]
+ args.append(self.define("CUDA_architecture_build_targets", arch_list))
+
+ if "^mkl" in self.spec:
+ if self.version >= Version("3.8.0"):
+ args.append(self.define("AF_COMPUTE_LIBRARY", "Intel-MKL"))
else:
- args.append(self.define('USE_CPU_MKL', True))
- args.append(self.define('USE_OPENCL_MKL', True))
- if '%intel' not in self.spec:
- args.append(self.define('MKL_THREAD_LAYER', 'GNU OpenMP'))
+ args.append(self.define("USE_CPU_MKL", True))
+ args.append(self.define("USE_OPENCL_MKL", True))
+ if "%intel" not in self.spec:
+ args.append(self.define("MKL_THREAD_LAYER", "GNU OpenMP"))
else:
- if self.version >= Version('3.8.0'):
- args.append(self.define('AF_COMPUTE_LIBRARY', 'FFTW/LAPACK/BLAS'))
+ if self.version >= Version("3.8.0"):
+ args.append(self.define("AF_COMPUTE_LIBRARY", "FFTW/LAPACK/BLAS"))
else:
- args.append(self.define('USE_CPU_MKL', False))
- args.append(self.define('USE_OPENCL_MKL', False))
+ args.append(self.define("USE_CPU_MKL", False))
+ args.append(self.define("USE_OPENCL_MKL", False))
return args
diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py
index c546a404c8..7870a7258a 100644
--- a/var/spack/repos/builtin/packages/arrow/package.py
+++ b/var/spack/repos/builtin/packages/arrow/package.py
@@ -13,53 +13,55 @@ class Arrow(CMakePackage, CudaPackage):
"""
homepage = "https://arrow.apache.org"
- url = "https://github.com/apache/arrow/archive/apache-arrow-0.9.0.tar.gz"
-
- version('8.0.0', sha256='19ece12de48e51ce4287d2dee00dc358fbc5ff02f41629d16076f77b8579e272')
- version('7.0.0', sha256='57e13c62f27b710e1de54fd30faed612aefa22aa41fa2c0c3bacd204dd18a8f3')
- 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')
- version('0.14.1', sha256='69d9de9ec60a3080543b28a5334dbaf892ca34235b8bd8f8c1c01a33253926c1')
- version('0.12.1', sha256='aae68622edc3dcadaa16b2d25ae3f00290d5233100321993427b03bcf5b1dd3b')
- version('0.11.0', sha256='0ac629a7775d86108e403eb66d9f1a3d3bdd6b3a497a86228aa4e8143364b7cc')
- version('0.9.0', sha256='65f89a3910b6df02ac71e4d4283db9b02c5b3f1e627346c7b6a5982ae994af91')
- version('0.8.0', sha256='c61a60c298c30546fc0b418a35be66ef330fb81b06c49928acca7f1a34671d54')
-
- depends_on('boost@1.60:')
+ url = "https://github.com/apache/arrow/archive/apache-arrow-0.9.0.tar.gz"
+
+ version("8.0.0", sha256="19ece12de48e51ce4287d2dee00dc358fbc5ff02f41629d16076f77b8579e272")
+ version("7.0.0", sha256="57e13c62f27b710e1de54fd30faed612aefa22aa41fa2c0c3bacd204dd18a8f3")
+ 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")
+ version("0.14.1", sha256="69d9de9ec60a3080543b28a5334dbaf892ca34235b8bd8f8c1c01a33253926c1")
+ version("0.12.1", sha256="aae68622edc3dcadaa16b2d25ae3f00290d5233100321993427b03bcf5b1dd3b")
+ version("0.11.0", sha256="0ac629a7775d86108e403eb66d9f1a3d3bdd6b3a497a86228aa4e8143364b7cc")
+ version("0.9.0", sha256="65f89a3910b6df02ac71e4d4283db9b02c5b3f1e627346c7b6a5982ae994af91")
+ version("0.8.0", sha256="c61a60c298c30546fc0b418a35be66ef330fb81b06c49928acca7f1a34671d54")
+
+ depends_on("boost@1.60:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cmake@3.2.0:', type='build')
- depends_on('flatbuffers build_type=Release') # only Release contains flatc
- depends_on('python', when='+python')
- depends_on('py-numpy', when='+python')
- depends_on('rapidjson')
- depends_on('snappy~shared')
- depends_on('zlib+pic')
- depends_on('zstd')
- depends_on('thrift+pic', when='+parquet')
- depends_on('orc', when='+orc')
-
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'FastDebug', 'Release'))
- variant('python', default=False, description='Build Python interface')
- variant('parquet', default=False, description='Build Parquet interface')
- variant('orc', default=False, description='Build ORC support')
-
- root_cmakelists_dir = 'cpp'
+ depends_on("cmake@3.2.0:", type="build")
+ depends_on("flatbuffers build_type=Release") # only Release contains flatc
+ depends_on("python", when="+python")
+ depends_on("py-numpy", when="+python")
+ depends_on("rapidjson")
+ depends_on("snappy~shared")
+ depends_on("zlib+pic")
+ depends_on("zstd")
+ depends_on("thrift+pic", when="+parquet")
+ depends_on("orc", when="+orc")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "FastDebug", "Release"),
+ )
+ variant("python", default=False, description="Build Python interface")
+ variant("parquet", default=False, description="Build Parquet interface")
+ variant("orc", default=False, description="Build ORC support")
+
+ root_cmakelists_dir = "cpp"
def patch(self):
- """Prevent `-isystem /usr/include` from appearing, since this confuses gcc.
- """
- filter_file(r'(include_directories\()SYSTEM ',
- r'\1',
- 'cpp/cmake_modules/ThirdpartyToolchain.cmake')
+ """Prevent `-isystem /usr/include` from appearing, since this confuses gcc."""
+ filter_file(
+ r"(include_directories\()SYSTEM ", r"\1", "cpp/cmake_modules/ThirdpartyToolchain.cmake"
+ )
def cmake_args(self):
args = [
@@ -71,28 +73,27 @@ class Arrow(CMakePackage, CudaPackage):
"-DARROW_WITH_LZ4=OFF",
]
- if self.spec.satisfies('+cuda'):
- args.append('-DARROW_CUDA:BOOL=ON')
+ if self.spec.satisfies("+cuda"):
+ args.append("-DARROW_CUDA:BOOL=ON")
else:
- args.append('-DARROW_CUDA:BOOL=OFF')
+ args.append("-DARROW_CUDA:BOOL=OFF")
- if self.spec.satisfies('+python'):
+ if self.spec.satisfies("+python"):
args.append("-DARROW_PYTHON:BOOL=ON")
else:
- args.append('-DARROW_PYTHON:BOOL=OFF')
+ args.append("-DARROW_PYTHON:BOOL=OFF")
- if self.spec.satisfies('+parquet'):
+ if self.spec.satisfies("+parquet"):
args.append("-DARROW_PARQUET:BOOL=ON")
else:
args.append("-DARROW_PARQUET:BOOL=OFF")
- if self.spec.satisfies('+orc'):
- args.append('-DARROW_ORC:BOOL=ON')
+ if self.spec.satisfies("+orc"):
+ args.append("-DARROW_ORC:BOOL=ON")
else:
- args.append('-DARROW_ORC:BOOL=OFF')
+ args.append("-DARROW_ORC:BOOL=OFF")
- for dep in ('flatbuffers', 'rapidjson', 'snappy', 'zlib', 'zstd'):
- args.append("-D{0}_HOME={1}".format(dep.upper(),
- self.spec[dep].prefix))
- args.append("-DZLIB_LIBRARIES={0}".format(self.spec['zlib'].libs))
+ for dep in ("flatbuffers", "rapidjson", "snappy", "zlib", "zstd"):
+ args.append("-D{0}_HOME={1}".format(dep.upper(), self.spec[dep].prefix))
+ args.append("-DZLIB_LIBRARIES={0}".format(self.spec["zlib"].libs))
return args
diff --git a/var/spack/repos/builtin/packages/asagi/package.py b/var/spack/repos/builtin/packages/asagi/package.py
index 9248871b54..7012b17325 100644
--- a/var/spack/repos/builtin/packages/asagi/package.py
+++ b/var/spack/repos/builtin/packages/asagi/package.py
@@ -17,55 +17,54 @@ class Asagi(CMakePackage):
# fetching the package via git with submodules
# is preferred to satisfy internal-dependencies
- version('1.0.1', commit='f633f96931ae00805f599078d5a1a6a830881554',
- submodules=True)
+ version("1.0.1", commit="f633f96931ae00805f599078d5a1a6a830881554", submodules=True)
# fetching the package via git with submodules
# is preferred to satisfy internal-dependencies
- version('1.0', commit='f67250798b435c308b9a1e7516f916f7855534ec',
- submodules=True)
+ version("1.0", commit="f67250798b435c308b9a1e7516f916f7855534ec", submodules=True)
- variant('link_type', default='shared',
- description='build shared and/or static libraries',
- values=('static', 'shared'), multi=True)
+ variant(
+ "link_type",
+ default="shared",
+ description="build shared and/or static libraries",
+ values=("static", "shared"),
+ multi=True,
+ )
- variant('fortran', default=True, description="enable fortran support")
- variant('max_dimensions', default=4,
- description="max. number of dimensions supported")
- variant('numa', default=True, description="enable NUMA support")
- variant('mpi', default=True, description="enable MPI")
- variant('threadsafe', default=True,
- description="enable threadsafe ASAGI-functions")
- variant('threadsafe_counter', default=False,
- description="enable threadsafe access counters")
- variant('threadsafe_mpi', default=True,
- description="make MPI calls threadsafe")
- variant('mpi3', default=True,
- description="enable MPI-3 (enables additional features)")
- variant('tests', default=False, description="compile tests")
- variant('examples', default=False, description="compile examples")
+ variant("fortran", default=True, description="enable fortran support")
+ variant("max_dimensions", default=4, description="max. number of dimensions supported")
+ variant("numa", default=True, description="enable NUMA support")
+ variant("mpi", default=True, description="enable MPI")
+ variant("threadsafe", default=True, description="enable threadsafe ASAGI-functions")
+ variant("threadsafe_counter", default=False, description="enable threadsafe access counters")
+ variant("threadsafe_mpi", default=True, description="make MPI calls threadsafe")
+ variant("mpi3", default=True, description="enable MPI-3 (enables additional features)")
+ variant("tests", default=False, description="compile tests")
+ variant("examples", default=False, description="compile examples")
- depends_on('mpi', when="+mpi")
- depends_on('mpi@3:', when="+mpi3")
- depends_on('netcdf-c +mpi', when="+mpi")
- depends_on('netcdf-c ~mpi', when="~mpi")
- depends_on('numactl', when="+numa")
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi@3:", when="+mpi3")
+ depends_on("netcdf-c +mpi", when="+mpi")
+ depends_on("netcdf-c ~mpi", when="~mpi")
+ depends_on("numactl", when="+numa")
- conflicts('%gcc@5:', when='@:1.0.0')
+ conflicts("%gcc@5:", when="@:1.0.0")
def cmake_args(self):
- link_type = self.spec.variants['link_type'].value
+ link_type = self.spec.variants["link_type"].value
spec = self.spec
- args = ['-DMAX_DIMENSIONS=' + spec.variants['max_dimensions'].value,
- '-DSHARED_LIB=' + ('ON' if 'shared' in link_type else 'OFF'),
- '-DSTATIC_LIB=' + ('ON' if 'static' in link_type else 'OFF'),
- self.define_from_variant('FORTRAN_SUPPORT', 'fortran'),
- self.define_from_variant('THREADSAFE', 'threadsafe'),
- '-DNOMPI=' + ('ON' if '~mpi' in spec else 'OFF'),
- self.define_from_variant('MPI3', 'mpi3'),
- '-DNONUMA=' + ('ON' if '~numa' in spec else 'OFF'),
- self.define_from_variant('TESTS', 'tests'),
- self.define_from_variant('EXAMPLES', 'examples'),
- self.define_from_variant('THREADSAFE_COUNTER', 'threadsafe_counter'),
- self.define_from_variant('THREADSAFE_MPI', 'threadsafe_mpi'), ]
+ args = [
+ "-DMAX_DIMENSIONS=" + spec.variants["max_dimensions"].value,
+ "-DSHARED_LIB=" + ("ON" if "shared" in link_type else "OFF"),
+ "-DSTATIC_LIB=" + ("ON" if "static" in link_type else "OFF"),
+ self.define_from_variant("FORTRAN_SUPPORT", "fortran"),
+ self.define_from_variant("THREADSAFE", "threadsafe"),
+ "-DNOMPI=" + ("ON" if "~mpi" in spec else "OFF"),
+ self.define_from_variant("MPI3", "mpi3"),
+ "-DNONUMA=" + ("ON" if "~numa" in spec else "OFF"),
+ self.define_from_variant("TESTS", "tests"),
+ self.define_from_variant("EXAMPLES", "examples"),
+ self.define_from_variant("THREADSAFE_COUNTER", "threadsafe_counter"),
+ self.define_from_variant("THREADSAFE_MPI", "threadsafe_mpi"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py
index f3e0f13d0f..38a3c2a2ab 100644
--- a/var/spack/repos/builtin/packages/ascent/package.py
+++ b/var/spack/repos/builtin/packages/ascent/package.py
@@ -30,12 +30,12 @@ def cmake_cache_entry(name, value, vtype=None):
def propagate_cuda_arch(package, spec=None):
if not spec:
- spec = ''
+ spec = ""
for cuda_arch in CudaPackage.cuda_arch_values:
- depends_on('{0} +cuda cuda_arch={1}'
- .format(package, cuda_arch),
- when='{0} +cuda cuda_arch={1}'
- .format(spec, cuda_arch))
+ depends_on(
+ "{0} +cuda cuda_arch={1}".format(package, cuda_arch),
+ when="{0} +cuda cuda_arch={1}".format(spec, cuda_arch),
+ )
class Ascent(CMakePackage, CudaPackage):
@@ -44,43 +44,32 @@ class Ascent(CMakePackage, CudaPackage):
simulations."""
homepage = "https://github.com/Alpine-DAV/ascent"
- git = "https://github.com/Alpine-DAV/ascent.git"
- url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.1/ascent-v0.5.1-src-with-blt.tar.gz"
- tags = ['radiuss', 'e4s']
+ git = "https://github.com/Alpine-DAV/ascent.git"
+ url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.1/ascent-v0.5.1-src-with-blt.tar.gz"
+ tags = ["radiuss", "e4s"]
- maintainers = ['cyrush']
+ maintainers = ["cyrush"]
- version('develop',
- branch='develop',
- submodules=True)
+ version("develop", branch="develop", submodules=True)
- version('0.8.0',
- tag='v0.8.0',
- submodules=True,
- preferred=True)
+ version("0.8.0", tag="v0.8.0", submodules=True, preferred=True)
- version('0.7.1',
- tag='v0.7.1',
- submodules=True)
+ version("0.7.1", tag="v0.7.1", submodules=True)
- version('0.7.0',
- tag='v0.7.0',
- submodules=True)
+ version("0.7.0", tag="v0.7.0", submodules=True)
- version('0.6.0',
- tag='v0.6.0',
- submodules=True)
+ version("0.6.0", tag="v0.6.0", submodules=True)
###########################################################################
# package variants
###########################################################################
variant("shared", default=True, description="Build Ascent as shared libs")
- variant('test', default=True, description='Enable Ascent unit tests')
+ variant("test", default=True, description="Enable Ascent unit tests")
variant("mpi", default=True, description="Build Ascent MPI Support")
# set to false for systems that implicitly link mpi
- variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
+ variant("blt_find_mpi", default=True, description="Use BLT CMake Find MPI logic")
variant("serial", default=True, description="build serial (non-mpi) libraries")
# variants for language support
@@ -88,11 +77,9 @@ class Ascent(CMakePackage, CudaPackage):
variant("fortran", default=True, description="Build Ascent Fortran support")
# variants for runtime features
- variant("vtkh", default=True,
- description="Build VTK-h filter and rendering support")
+ variant("vtkh", default=True, description="Build VTK-h filter and rendering support")
- variant("openmp", default=(sys.platform != 'darwin'),
- description="build openmp support")
+ variant("openmp", default=(sys.platform != "darwin"), description="build openmp support")
variant("mfem", default=False, description="Build MFEM filter support")
variant("dray", default=False, description="Build with Devil Ray support")
variant("adios2", default=False, description="Build Adios2 filter support")
@@ -113,19 +100,19 @@ class Ascent(CMakePackage, CudaPackage):
# patch for allowing +shared+cuda
# https://github.com/Alpine-DAV/ascent/pull/903
- patch('ascent-shared-cuda-pr903.patch', when='@0.8.0')
+ patch("ascent-shared-cuda-pr903.patch", when="@0.8.0")
# patch for finding ADIOS2 more reliably
# https://github.com/Alpine-DAV/ascent/pull/922
- patch('ascent-find-adios2-pr922.patch', when='@0.8.0')
+ patch("ascent-find-adios2-pr922.patch", when="@0.8.0")
# patch for finding Conduit python more reliably
# https://github.com/Alpine-DAV/ascent/pull/935
- patch('ascent-find-conduit-python-pr935.patch', when='@0.8.0')
+ patch("ascent-find-conduit-python-pr935.patch", when="@0.8.0")
##########################################################################
# package dependencies
###########################################################################
# Certain CMake versions have been found to break for our use cases
- depends_on("cmake@3.14.1:3.14,3.18.2:", type='build')
+ depends_on("cmake@3.14.1:3.14,3.18.2:", type="build")
#######################
# Conduit
@@ -142,11 +129,11 @@ class Ascent(CMakePackage, CudaPackage):
#######################
# we need a shared version of python b/c linking with static python lib
# causes duplicate state issues when running compiled python modules.
- with when('+python'):
+ with when("+python"):
depends_on("python+shared")
extends("python")
- depends_on("py-numpy", type=('build', 'run'))
- depends_on("py-pip", type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pip", type=("build", "run"))
#######################
# MPI
@@ -157,8 +144,8 @@ class Ascent(CMakePackage, CudaPackage):
#######################
# BabelFlow
#######################
- depends_on('babelflow', when='+babelflow+mpi')
- depends_on('parallelmergetree', when='+babelflow+mpi')
+ depends_on("babelflow", when="+babelflow+mpi")
+ depends_on("parallelmergetree", when="+babelflow+mpi")
#############################
# TPLs for Runtime Features
@@ -172,7 +159,7 @@ class Ascent(CMakePackage, CudaPackage):
depends_on("vtk-h~openmp", when="+vtkh~openmp")
depends_on("vtk-h+cuda", when="+vtkh+cuda")
depends_on("vtk-h~cuda", when="+vtkh~cuda")
- propagate_cuda_arch('vtk-h', '+vtkh')
+ propagate_cuda_arch("vtk-h", "+vtkh")
depends_on("vtk-h+shared", when="+vtkh+shared")
depends_on("vtk-h~shared", when="+vtkh~shared")
# When using VTK-h ascent also needs VTK-m
@@ -192,41 +179,42 @@ class Ascent(CMakePackage, CudaPackage):
# devil ray variants with mpi
# we have to specify both because mfem makes us
- depends_on('dray~test~utils', when='+dray')
- depends_on('dray@0.1.8:', when='@0.8: +dray')
+ depends_on("dray~test~utils", when="+dray")
+ depends_on("dray@0.1.8:", when="@0.8: +dray")
# propagate relevent variants to dray
- depends_on('dray+cuda', when='+dray+cuda')
- depends_on('dray~cuda', when='+dray~cuda')
- propagate_cuda_arch('dray', '+dray')
- depends_on('dray+mpi', when='+dray+mpi')
- depends_on('dray~mpi', when='+dray~mpi')
- depends_on('dray+shared', when='+dray+shared')
- depends_on('dray~shared', when='+dray~shared')
- depends_on('dray+openmp', when='+dray+openmp')
- depends_on('dray~openmp', when='+dray~openmp')
+ depends_on("dray+cuda", when="+dray+cuda")
+ depends_on("dray~cuda", when="+dray~cuda")
+ propagate_cuda_arch("dray", "+dray")
+ depends_on("dray+mpi", when="+dray+mpi")
+ depends_on("dray~mpi", when="+dray~mpi")
+ depends_on("dray+shared", when="+dray+shared")
+ depends_on("dray~shared", when="+dray~shared")
+ depends_on("dray+openmp", when="+dray+openmp")
+ depends_on("dray~openmp", when="+dray~openmp")
# Adios2
- depends_on('adios2', when='+adios2')
+ depends_on("adios2", when="+adios2")
# propagate relevent variants to adios2
- depends_on('adios2+mpi', when='+adios2+mpi')
- depends_on('adios2~mpi', when='+adios2~mpi')
- depends_on('adios2+shared', when='+adios2+shared')
- depends_on('adios2~shared', when='+adios2~shared')
+ depends_on("adios2+mpi", when="+adios2+mpi")
+ depends_on("adios2~mpi", when="+adios2~mpi")
+ depends_on("adios2+shared", when="+adios2+shared")
+ depends_on("adios2~shared", when="+adios2~shared")
#######################
# Documentation related
#######################
- depends_on("py-sphinx", when="+python+doc", type='build')
- depends_on("py-sphinx-rtd-theme", when="+python+doc", type='build')
+ depends_on("py-sphinx", when="+python+doc", type="build")
+ depends_on("py-sphinx-rtd-theme", when="+python+doc", type="build")
###########
# Conflicts
###########
- conflicts("+shared", when="@:0.7 +cuda",
- msg="Ascent needs to be built with ~shared for CUDA builds.")
+ conflicts(
+ "+shared", when="@:0.7 +cuda", msg="Ascent needs to be built with ~shared for CUDA builds."
+ )
def setup_build_environment(self, env):
- env.set('CTEST_OUTPUT_ON_FAILURE', '1')
+ env.set("CTEST_OUTPUT_ON_FAILURE", "1")
####################################################################
# Note: cmake, build, and install stages are handled by CMakePackage
@@ -236,10 +224,10 @@ class Ascent(CMakePackage, CudaPackage):
def cmake_args(self):
host_config = self._get_host_config_path(self.spec)
options = []
- options.extend(['-C', host_config, "../spack-src/src/"])
+ options.extend(["-C", host_config, "../spack-src/src/"])
return options
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
"""
@@ -249,34 +237,28 @@ class Ascent(CMakePackage, CudaPackage):
print("Checking Ascent installation...")
spec = self.spec
install_prefix = spec.prefix
- example_src_dir = join_path(install_prefix,
- "examples",
- "ascent",
- "using-with-cmake")
+ example_src_dir = join_path(install_prefix, "examples", "ascent", "using-with-cmake")
print("Checking using-with-cmake example...")
- with working_dir("check-ascent-using-with-cmake-example",
- create=True):
- cmake_args = ["-DASCENT_DIR={0}".format(install_prefix),
- "-DCONDUIT_DIR={0}".format(spec['conduit'].prefix),
- "-DVTKM_DIR={0}".format(spec['vtk-m'].prefix),
- "-DVTKH_DIR={0}".format(spec['vtk-h'].prefix),
- example_src_dir]
+ with working_dir("check-ascent-using-with-cmake-example", create=True):
+ cmake_args = [
+ "-DASCENT_DIR={0}".format(install_prefix),
+ "-DCONDUIT_DIR={0}".format(spec["conduit"].prefix),
+ "-DVTKM_DIR={0}".format(spec["vtk-m"].prefix),
+ "-DVTKH_DIR={0}".format(spec["vtk-h"].prefix),
+ example_src_dir,
+ ]
cmake(*cmake_args)
make()
- example = Executable('./ascent_render_example')
+ example = Executable("./ascent_render_example")
example()
print("Checking using-with-make example...")
- example_src_dir = join_path(install_prefix,
- "examples",
- "ascent",
- "using-with-make")
+ example_src_dir = join_path(install_prefix, "examples", "ascent", "using-with-make")
example_files = glob.glob(join_path(example_src_dir, "*"))
- with working_dir("check-ascent-using-with-make-example",
- create=True):
+ with working_dir("check-ascent-using-with-make-example", create=True):
for example_file in example_files:
shutil.copy(example_file, ".")
make("ASCENT_DIR={0}".format(install_prefix))
- example = Executable('./ascent_render_example')
+ example = Executable("./ascent_render_example")
example()
def _get_host_config_path(self, spec):
@@ -284,16 +266,14 @@ class Ascent(CMakePackage, CudaPackage):
# if on llnl systems, we can use the SYS_TYPE
if "SYS_TYPE" in env:
sys_type = env["SYS_TYPE"]
- host_config_path = "{0}-{1}-{2}-ascent-{3}.cmake".format(socket.gethostname(),
- sys_type,
- spec.compiler,
- spec.dag_hash())
+ host_config_path = "{0}-{1}-{2}-ascent-{3}.cmake".format(
+ socket.gethostname(), sys_type, spec.compiler, spec.dag_hash()
+ )
dest_dir = spec.prefix
- host_config_path = os.path.abspath(join_path(dest_dir,
- host_config_path))
+ host_config_path = os.path.abspath(join_path(dest_dir, host_config_path))
return host_config_path
- @run_before('cmake')
+ @run_before("cmake")
def hostconfig(self):
"""
This method creates a 'host-config' file that specifies
@@ -331,11 +311,11 @@ class Ascent(CMakePackage, CudaPackage):
##############################################
if "+cmake" in spec:
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
else:
cmake_exe = which("cmake")
if cmake_exe is None:
- msg = 'failed to find CMake (and cmake variant is off)'
+ msg = "failed to find CMake (and cmake variant is off)"
raise RuntimeError(msg)
cmake_exe = cmake_exe.path
@@ -367,8 +347,7 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write("# fortran compiler used by spack\n")
if "+fortran" in spec:
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "ON"))
- cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER",
- f_compiler))
+ cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER", f_compiler))
else:
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "OFF"))
@@ -379,18 +358,18 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "OFF"))
# use global spack compiler flags
- cppflags = ' '.join(spec.compiler_flags['cppflags'])
+ cppflags = " ".join(spec.compiler_flags["cppflags"])
if cppflags:
# avoid always ending up with ' ' with no flags defined
- cppflags += ' '
- cflags = cppflags + ' '.join(spec.compiler_flags['cflags'])
+ cppflags += " "
+ cflags = cppflags + " ".join(spec.compiler_flags["cflags"])
if cflags:
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
- cxxflags = cppflags + ' '.join(spec.compiler_flags['cxxflags'])
+ cxxflags = cppflags + " ".join(spec.compiler_flags["cxxflags"])
if cxxflags:
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
- fflags = ' '.join(spec.compiler_flags['fflags'])
- if self.spec.satisfies('%cce'):
+ fflags = " ".join(spec.compiler_flags["fflags"])
+ if self.spec.satisfies("%cce"):
fflags += " -ef"
if fflags:
cfg.write(cmake_cache_entry("CMAKE_Fortran_FLAGS", fflags))
@@ -412,7 +391,7 @@ class Ascent(CMakePackage, CudaPackage):
#######################
cfg.write("# conduit from spack \n")
- cfg.write(cmake_cache_entry("CONDUIT_DIR", spec['conduit'].prefix))
+ cfg.write(cmake_cache_entry("CONDUIT_DIR", spec["conduit"].prefix))
#######################################################################
# Optional Dependencies
@@ -428,12 +407,10 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write("# Enable python module builds\n")
cfg.write(cmake_cache_entry("ENABLE_PYTHON", "ON"))
cfg.write("# python from spack \n")
- cfg.write(cmake_cache_entry("PYTHON_EXECUTABLE",
- spec['python'].command.path))
+ cfg.write(cmake_cache_entry("PYTHON_EXECUTABLE", spec["python"].command.path))
try:
cfg.write("# python module install dir\n")
- cfg.write(cmake_cache_entry("PYTHON_MODULE_INSTALL_PREFIX",
- python_platlib))
+ cfg.write(cmake_cache_entry("PYTHON_MODULE_INSTALL_PREFIX", python_platlib))
except NameError:
# spack's won't exist in a subclass
pass
@@ -444,8 +421,7 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("ENABLE_DOCS", "ON"))
cfg.write("# sphinx from spack \n")
- sphinx_build_exe = join_path(spec['py-sphinx'].prefix.bin,
- "sphinx-build")
+ sphinx_build_exe = join_path(spec["py-sphinx"].prefix.bin, "sphinx-build")
cfg.write(cmake_cache_entry("SPHINX_EXECUTABLE", sphinx_build_exe))
else:
cfg.write(cmake_cache_entry("ENABLE_DOCS", "OFF"))
@@ -466,9 +442,9 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write("# MPI Support\n")
if "+mpi" in spec:
- mpicc_path = spec['mpi'].mpicc
- mpicxx_path = spec['mpi'].mpicxx
- mpifc_path = spec['mpi'].mpifc
+ mpicc_path = spec["mpi"].mpicc
+ mpicxx_path = spec["mpi"].mpicxx
+ mpifc_path = spec["mpi"].mpifc
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
@@ -481,16 +457,14 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path))
cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path))
cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path))
- mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec")
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
- mpiexe_bin))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE", mpiexe_bin))
else:
- cfg.write(cmake_cache_entry("MPIEXEC",
- mpiexe_bin))
+ cfg.write(cmake_cache_entry("MPIEXEC", mpiexe_bin))
if "+blt_find_mpi" in spec:
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "ON"))
@@ -501,10 +475,8 @@ class Ascent(CMakePackage, CudaPackage):
###################################
if "+babelflow" in spec:
cfg.write(cmake_cache_entry("ENABLE_BABELFLOW", "ON"))
- cfg.write(cmake_cache_entry("BabelFlow_DIR",
- spec['babelflow'].prefix))
- cfg.write(cmake_cache_entry("PMT_DIR",
- spec['parallelmergetree'].prefix))
+ cfg.write(cmake_cache_entry("BabelFlow_DIR", spec["babelflow"].prefix))
+ cfg.write(cmake_cache_entry("PMT_DIR", spec["parallelmergetree"].prefix))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
@@ -532,15 +504,14 @@ class Ascent(CMakePackage, CudaPackage):
if "+vtkh" in spec:
cfg.write("# vtk-m from spack\n")
- cfg.write(cmake_cache_entry("VTKM_DIR", spec['vtk-m'].prefix))
+ cfg.write(cmake_cache_entry("VTKM_DIR", spec["vtk-m"].prefix))
cfg.write("# vtk-h from spack\n")
- cfg.write(cmake_cache_entry("VTKH_DIR", spec['vtk-h'].prefix))
+ cfg.write(cmake_cache_entry("VTKH_DIR", spec["vtk-h"].prefix))
if "+cuda" in spec:
cfg.write(cmake_cache_entry("VTKm_ENABLE_CUDA", "ON"))
- cfg.write(cmake_cache_entry("CMAKE_CUDA_HOST_COMPILER",
- env["SPACK_CXX"]))
+ cfg.write(cmake_cache_entry("CMAKE_CUDA_HOST_COMPILER", env["SPACK_CXX"]))
else:
cfg.write(cmake_cache_entry("VTKm_ENABLE_CUDA", "OFF"))
@@ -552,7 +523,7 @@ class Ascent(CMakePackage, CudaPackage):
#######################
if "+mfem" in spec:
cfg.write("# mfem from spack \n")
- cfg.write(cmake_cache_entry("MFEM_DIR", spec['mfem'].prefix))
+ cfg.write(cmake_cache_entry("MFEM_DIR", spec["mfem"].prefix))
else:
cfg.write("# mfem not built by spack \n")
@@ -561,7 +532,7 @@ class Ascent(CMakePackage, CudaPackage):
#######################
if "+dray" in spec:
cfg.write("# devil ray from spack \n")
- cfg.write(cmake_cache_entry("DRAY_DIR", spec['dray'].prefix))
+ cfg.write(cmake_cache_entry("DRAY_DIR", spec["dray"].prefix))
else:
cfg.write("# devil ray not built by spack \n")
@@ -571,7 +542,7 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write("# adios2 support\n")
if "+adios2" in spec:
- cfg.write(cmake_cache_entry("ADIOS2_DIR", spec['adios2'].prefix))
+ cfg.write(cmake_cache_entry("ADIOS2_DIR", spec["adios2"].prefix))
else:
cfg.write("# adios2 not built by spack \n")
@@ -581,7 +552,7 @@ class Ascent(CMakePackage, CudaPackage):
cfg.write("# Fides support\n")
if "+fides" in spec:
- cfg.write(cmake_cache_entry("FIDES_DIR", spec['fides'].prefix))
+ cfg.write(cmake_cache_entry("FIDES_DIR", spec["fides"].prefix))
else:
cfg.write("# fides not built by spack \n")
diff --git a/var/spack/repos/builtin/packages/asciidoc-py3/package.py b/var/spack/repos/builtin/packages/asciidoc-py3/package.py
index a7dda0a75a..b6f9108e37 100644
--- a/var/spack/repos/builtin/packages/asciidoc-py3/package.py
+++ b/var/spack/repos/builtin/packages/asciidoc-py3/package.py
@@ -15,16 +15,16 @@ class AsciidocPy3(AutotoolsPackage):
EPUB, man page."""
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"
+ 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')
+ 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")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('libxml2', type=('build', 'run'))
- depends_on('libxslt', type=('build', 'run'))
- depends_on('docbook-xml', type=('build', 'run'))
- depends_on('docbook-xsl', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("libxml2", type=("build", "run"))
+ depends_on("libxslt", type=("build", "run"))
+ depends_on("docbook-xml", type=("build", "run"))
+ depends_on("docbook-xsl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/asciidoc/package.py b/var/spack/repos/builtin/packages/asciidoc/package.py
index 730d9cfe63..7d7377d461 100644
--- a/var/spack/repos/builtin/packages/asciidoc/package.py
+++ b/var/spack/repos/builtin/packages/asciidoc/package.py
@@ -12,35 +12,35 @@ class Asciidoc(AutotoolsPackage):
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"
-
- version('master', branch='master')
- version('9.1.0', sha256='5056c20157349f8dc74f005b6e88ccbf1078c4e26068876f13ca3d1d7d045fe7')
- version('9.0.5', sha256='edc8328c3682a8568172656f6fc309b189f65219a49517966c7ea144cb25f8b2')
- version('9.0.4', sha256='fb0e683ae6a4baf34a8969c3af764ca729526196576729ee9275b9f39fd8b79c')
- version('9.0.3', sha256='b6ef4accd7959f51b532ab4d3aaa211e15f18fd544c4c3cc3ed712f5590a50de')
- version('9.0.2', sha256='93fbe32d56380afee2f26389d8ebfdf33de72536449d53308120d3c20d2c1e17')
- version('8.6.10', sha256='22d6793d4f48cefb4a6963853212a214591a591ece1bcbc56af3c67c642003ea')
- version('8.6.9', sha256='45e95bed1e341980f7de0a66fdc467090956fe55d4625bdad8057cd926e0c6c6')
-
- depends_on('libxml2', type=('build', 'run'))
- depends_on('libxslt', type=('build', 'run'))
- depends_on('docbook-xml', type=('build', 'run'))
- depends_on('docbook-xsl', type=('build', 'run'))
- depends_on('python@2.3.0:2.7', when='@:8.6.9', type=('build', 'run'))
- depends_on('python@3.5:', when='@9.0.2:', type=('build', 'run'))
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
-
- @when('@:8.6.9')
+ url = "https://github.com/asciidoc-py/asciidoc-py/archive/8.6.10.tar.gz"
+ git = "https://github.com/asciidoc-py/asciidoc-py.git"
+
+ version("master", branch="master")
+ version("9.1.0", sha256="5056c20157349f8dc74f005b6e88ccbf1078c4e26068876f13ca3d1d7d045fe7")
+ version("9.0.5", sha256="edc8328c3682a8568172656f6fc309b189f65219a49517966c7ea144cb25f8b2")
+ version("9.0.4", sha256="fb0e683ae6a4baf34a8969c3af764ca729526196576729ee9275b9f39fd8b79c")
+ version("9.0.3", sha256="b6ef4accd7959f51b532ab4d3aaa211e15f18fd544c4c3cc3ed712f5590a50de")
+ version("9.0.2", sha256="93fbe32d56380afee2f26389d8ebfdf33de72536449d53308120d3c20d2c1e17")
+ version("8.6.10", sha256="22d6793d4f48cefb4a6963853212a214591a591ece1bcbc56af3c67c642003ea")
+ version("8.6.9", sha256="45e95bed1e341980f7de0a66fdc467090956fe55d4625bdad8057cd926e0c6c6")
+
+ depends_on("libxml2", type=("build", "run"))
+ depends_on("libxslt", type=("build", "run"))
+ depends_on("docbook-xml", type=("build", "run"))
+ depends_on("docbook-xsl", type=("build", "run"))
+ depends_on("python@2.3.0:2.7", when="@:8.6.9", type=("build", "run"))
+ depends_on("python@3.5:", when="@9.0.2:", type=("build", "run"))
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+
+ @when("@:8.6.9")
def install(self, spec, prefix):
# Old release demands python2
- mpythpath = spec['python'].command.path
- exes = ['asciidoc', 'a2x']
+ mpythpath = spec["python"].command.path
+ exes = ["asciidoc", "a2x"]
for exe in exes:
- fthfile = FileFilter(exe + '.py')
- fthfile.filter('#!/usr/bin/env python', '#!' + mpythpath)
+ fthfile = FileFilter(exe + ".py")
+ fthfile.filter("#!/usr/bin/env python", "#!" + mpythpath)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/asdcplib/package.py b/var/spack/repos/builtin/packages/asdcplib/package.py
index 67d31f5c18..98b0d5d317 100644
--- a/var/spack/repos/builtin/packages/asdcplib/package.py
+++ b/var/spack/repos/builtin/packages/asdcplib/package.py
@@ -10,23 +10,23 @@ class Asdcplib(AutotoolsPackage):
"""AS-DCP and AS-02 File Access Library."""
homepage = "https://github.com/cinecert/asdcplib"
- url = "https://github.com/cinecert/asdcplib/archive/rel_2_10_35.tar.gz"
+ url = "https://github.com/cinecert/asdcplib/archive/rel_2_10_35.tar.gz"
- version('2_10_35', sha256='a68eec9ae0cc363f75331dc279c6dd6d3a9999a9e5f0a4405fd9afa8a29ca27b')
- version('2_10_34', sha256='faa54ee407c1afceb141e08dae9ebf83b3f839e9c49a1793ac741ec6cdee5c3c')
- version('2_10_33', sha256='16fafb5da3d46b0f44570ef9780c85dd82cca60106a9e005e538809ea1a95373')
- version('2_10_32', sha256='fe5123c49980ee3fa25dea876286f2ac974d203bfcc6c77fc288a59025dee3ee')
+ version("2_10_35", sha256="a68eec9ae0cc363f75331dc279c6dd6d3a9999a9e5f0a4405fd9afa8a29ca27b")
+ version("2_10_34", sha256="faa54ee407c1afceb141e08dae9ebf83b3f839e9c49a1793ac741ec6cdee5c3c")
+ version("2_10_33", sha256="16fafb5da3d46b0f44570ef9780c85dd82cca60106a9e005e538809ea1a95373")
+ version("2_10_32", sha256="fe5123c49980ee3fa25dea876286f2ac974d203bfcc6c77fc288a59025dee3ee")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('openssl', type=('build', 'link'))
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("openssl", type=("build", "link"))
def configure_args(self):
spec = self.spec
- args = ['--with-openssl={0}'.format(spec['openssl'].prefix)]
+ args = ["--with-openssl={0}".format(spec["openssl"].prefix)]
return args
diff --git a/var/spack/repos/builtin/packages/asdf-cxx/package.py b/var/spack/repos/builtin/packages/asdf-cxx/package.py
index eb27445ec7..8f21d38552 100644
--- a/var/spack/repos/builtin/packages/asdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/asdf-cxx/package.py
@@ -10,41 +10,41 @@ class AsdfCxx(CMakePackage):
"""ASDF - Advanced Scientific Data Format, a C++ implementation"""
homepage = "https://github.com/eschnett/asdf-cxx"
- url = "https://github.com/eschnett/asdf-cxx/archive/version/1.0.0.tar.gz"
-
- maintainers = ['eschnett']
-
- version('7.2.1', sha256='40864f4f27d3ce8acb5169b57211ce6ac3805f0a6de9c1dfd5f994f4a5beccda')
- version('7.2.0', sha256='faded85d44288afb83f13634d2139adee07e06f7ea60960c6f2ef8d898c0aa09')
- version('7.1.0', sha256='81fd8c7f91f8daf0f85a1486480ae9e736b9712e82ccb858271f7ee2c2b425f7')
- version('7.0.0', sha256='a50718dfa68b86b0c3e280e6a9d0a4edb03d500ba70244bd38fa86bac1433979')
- version('6.3.0', sha256='44a24cc490cf776106edcfded6006d63d28889dfe985cce3bd565d5151add9c8')
- version('6.0.0', sha256='76ab0a893191a33a88a753d09a20135470f809c66173794fa3e37a2437ea3cde')
- version('5.0.0', sha256='876c83bcc7514f2584dbf5462bd5b7de89b41301ec127451342079e703cd6a67')
- version('4.0.1', sha256='c4597b8353b0e181d97c6702dae0cb69a558ae5b553945298757433615bb199b')
- version('3.1.0', sha256='15de5156460ed581e1e755955e6a1b557758a6497d083c4873d143c05e720078')
- version('3.0.0', sha256='a6d42f7d875eff2f1ff6af836a44e7a44fcc6be3409605d45f236e07d70c65db')
- version('2.6.1', sha256='631426bd2784c2175b5a5035c12e91b0b0d36691f9972df427b41080ace43fc3')
- version('2.5.1', sha256='d3c1f690716bd0883c4d429c9fa895ce41e6223bafa87624f9f1530c0d2e654c')
- version('2.5.0', sha256='916e9021063c41eb7922ed69c958ea87757cdfcb7263d0d3fda31f0233dbbaaf')
- version('2.4.1', sha256='a300bf11d4fd9923eb109c5f8e1067f2ef96f284ea43fafd871b469118d42597')
- version('2.4.0', sha256='965360858bcacb6df4602fdff55924f7b9daf0750b27ac3f31781e23b54e8f93')
- version('2.3.1', sha256='7c3ecf4fdafff5da57edb8b0c75b2e1f9c6bf42097c483025ff49f0a65094e22')
- version('2.2.1', sha256='a34679d8690ff118bedd20652caebdb9c3fb5f628aca7ed2f535a026b28b3853')
- version('2.1.1', sha256='f1a801b82facb2c0913ca3dce9c62970651e58fae8bc232f5079a1c4773ec6fa')
- version('2.1.0', sha256='066c2c1033be41e10b874ceec1e87267fd792c40d46cbc768b05ba94cca234a1')
- version('1.1.0', sha256='3e23b9cd16254f5adbf878145e320f56b4d3ad75de23d2c761eb7f04150926c5')
- version('1.0.0', sha256='0b63594a1dec27cc85d25adbf900b6e936b5015f579b9b892b983151bec96775')
-
- variant('python', default=True, description="Enable Python support")
-
- depends_on('bzip2')
- depends_on('openssl')
- depends_on('py-numpy', type=('build', 'run'), when='+python')
- depends_on('python', type=('build', 'run'), when='+python')
+ url = "https://github.com/eschnett/asdf-cxx/archive/version/1.0.0.tar.gz"
+
+ maintainers = ["eschnett"]
+
+ version("7.2.1", sha256="40864f4f27d3ce8acb5169b57211ce6ac3805f0a6de9c1dfd5f994f4a5beccda")
+ version("7.2.0", sha256="faded85d44288afb83f13634d2139adee07e06f7ea60960c6f2ef8d898c0aa09")
+ version("7.1.0", sha256="81fd8c7f91f8daf0f85a1486480ae9e736b9712e82ccb858271f7ee2c2b425f7")
+ version("7.0.0", sha256="a50718dfa68b86b0c3e280e6a9d0a4edb03d500ba70244bd38fa86bac1433979")
+ version("6.3.0", sha256="44a24cc490cf776106edcfded6006d63d28889dfe985cce3bd565d5151add9c8")
+ version("6.0.0", sha256="76ab0a893191a33a88a753d09a20135470f809c66173794fa3e37a2437ea3cde")
+ version("5.0.0", sha256="876c83bcc7514f2584dbf5462bd5b7de89b41301ec127451342079e703cd6a67")
+ version("4.0.1", sha256="c4597b8353b0e181d97c6702dae0cb69a558ae5b553945298757433615bb199b")
+ version("3.1.0", sha256="15de5156460ed581e1e755955e6a1b557758a6497d083c4873d143c05e720078")
+ version("3.0.0", sha256="a6d42f7d875eff2f1ff6af836a44e7a44fcc6be3409605d45f236e07d70c65db")
+ version("2.6.1", sha256="631426bd2784c2175b5a5035c12e91b0b0d36691f9972df427b41080ace43fc3")
+ version("2.5.1", sha256="d3c1f690716bd0883c4d429c9fa895ce41e6223bafa87624f9f1530c0d2e654c")
+ version("2.5.0", sha256="916e9021063c41eb7922ed69c958ea87757cdfcb7263d0d3fda31f0233dbbaaf")
+ version("2.4.1", sha256="a300bf11d4fd9923eb109c5f8e1067f2ef96f284ea43fafd871b469118d42597")
+ version("2.4.0", sha256="965360858bcacb6df4602fdff55924f7b9daf0750b27ac3f31781e23b54e8f93")
+ version("2.3.1", sha256="7c3ecf4fdafff5da57edb8b0c75b2e1f9c6bf42097c483025ff49f0a65094e22")
+ version("2.2.1", sha256="a34679d8690ff118bedd20652caebdb9c3fb5f628aca7ed2f535a026b28b3853")
+ version("2.1.1", sha256="f1a801b82facb2c0913ca3dce9c62970651e58fae8bc232f5079a1c4773ec6fa")
+ version("2.1.0", sha256="066c2c1033be41e10b874ceec1e87267fd792c40d46cbc768b05ba94cca234a1")
+ version("1.1.0", sha256="3e23b9cd16254f5adbf878145e320f56b4d3ad75de23d2c761eb7f04150926c5")
+ version("1.0.0", sha256="0b63594a1dec27cc85d25adbf900b6e936b5015f579b9b892b983151bec96775")
+
+ variant("python", default=True, description="Enable Python support")
+
+ depends_on("bzip2")
+ depends_on("openssl")
+ depends_on("py-numpy", type=("build", "run"), when="+python")
+ depends_on("python", type=("build", "run"), when="+python")
# An error in the cmake script requires swig all the time, not only when
# Python bindings are used
- depends_on('swig @3.0.0:3', type='build')
+ depends_on("swig @3.0.0:3", type="build")
# Neither earlier nor later versions of yaml-cpp work
- depends_on('yaml-cpp @0.6.3')
- depends_on('zlib')
+ depends_on("yaml-cpp @0.6.3")
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/asio/package.py b/var/spack/repos/builtin/packages/asio/package.py
index f3f8c79e4b..c4c50a814e 100644
--- a/var/spack/repos/builtin/packages/asio/package.py
+++ b/var/spack/repos/builtin/packages/asio/package.py
@@ -16,17 +16,17 @@ class Asio(AutotoolsPackage):
git = "https://github.com/chriskohlhoff/asio.git"
maintainers = ["msimberg"]
- version('1.21.0', sha256='5d2d2dcb7bfb39bff941cabbfc8c27ee322a495470bf0f3a7c5238648cf5e6a9')
- version('1.20.0', sha256='34a8f07be6f54e3753874d46ecfa9b7ab7051c4e3f67103c52a33dfddaea48e6')
- version('1.19.2', sha256='5ee191aee825dfb1325cbacf643d599b186de057c88464ea98f1bae5ba4ff47a')
- version('1.19.1', sha256='2555e0a29256de5c77d6a34b14faefd28c76555e094ba0371acb0b91d483520e')
- version('1.19.0', sha256='11bc0e22fcdfb3f0b77574ac33760a3592c0dac7e7eece7668b823c158243629')
- version('1.18.2', sha256='8d67133b89e0f8b212e9f82fdcf1c7b21a978d453811e2cd941c680e72c2ca32')
- version('1.18.1', sha256='39c721b987b7a0d2fe2aee64310bd128cd8cc10f43481604d18cb2d8b342fd40')
- version('1.18.0', sha256='820688d1e0387ff55194ae20036cbae0fb3c7d11b7c3f46492369723c01df96f')
- version('1.17.0', sha256='46406a830f8334b3789e7352ed7309a39c7c30b685b0499d289eda4fd4ae2067')
- version('1.16.1', sha256='e40bbd531530f08318b7c7d7e84e457176d8eae6f5ad2e3714dc27b9131ecd35')
- version('1.16.0', sha256='c87410ea62de6245aa239b9ed2057edf01d7f66acc3f5e50add9a29343c87512')
+ version("1.21.0", sha256="5d2d2dcb7bfb39bff941cabbfc8c27ee322a495470bf0f3a7c5238648cf5e6a9")
+ version("1.20.0", sha256="34a8f07be6f54e3753874d46ecfa9b7ab7051c4e3f67103c52a33dfddaea48e6")
+ version("1.19.2", sha256="5ee191aee825dfb1325cbacf643d599b186de057c88464ea98f1bae5ba4ff47a")
+ version("1.19.1", sha256="2555e0a29256de5c77d6a34b14faefd28c76555e094ba0371acb0b91d483520e")
+ version("1.19.0", sha256="11bc0e22fcdfb3f0b77574ac33760a3592c0dac7e7eece7668b823c158243629")
+ version("1.18.2", sha256="8d67133b89e0f8b212e9f82fdcf1c7b21a978d453811e2cd941c680e72c2ca32")
+ version("1.18.1", sha256="39c721b987b7a0d2fe2aee64310bd128cd8cc10f43481604d18cb2d8b342fd40")
+ version("1.18.0", sha256="820688d1e0387ff55194ae20036cbae0fb3c7d11b7c3f46492369723c01df96f")
+ version("1.17.0", sha256="46406a830f8334b3789e7352ed7309a39c7c30b685b0499d289eda4fd4ae2067")
+ version("1.16.1", sha256="e40bbd531530f08318b7c7d7e84e457176d8eae6f5ad2e3714dc27b9131ecd35")
+ version("1.16.0", sha256="c87410ea62de6245aa239b9ed2057edf01d7f66acc3f5e50add9a29343c87512")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
diff --git a/var/spack/repos/builtin/packages/aspa/package.py b/var/spack/repos/builtin/packages/aspa/package.py
index aa75e22bcd..1df8f33b37 100644
--- a/var/spack/repos/builtin/packages/aspa/package.py
+++ b/var/spack/repos/builtin/packages/aspa/package.py
@@ -15,30 +15,32 @@ class Aspa(MakefilePackage):
"""
homepage = "http://www.exmatex.org/aspa.html"
- git = "https://github.com/exmatex/ASPA.git"
+ git = "https://github.com/exmatex/ASPA.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('master', branch='master')
+ version("master", branch="master")
- variant('mpi', default=True, description='Build with MPI Support')
+ variant("mpi", default=True, description="Build with MPI Support")
- depends_on('lapack')
- depends_on('blas')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5')
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5")
- patch('fix_common_errors.patch')
+ patch("fix_common_errors.patch")
@property
def build_targets(self):
targets = [
- '--directory=exec',
- '--file=Makefile',
- 'LIBS={0} {1} {2}'.format(self.spec['lapack'].libs.ld_flags,
- self.spec['blas'].libs.ld_flags,
- self.spec['hdf5'].libs.ld_flags),
- 'CXX={0}'.format(self.spec['mpi'].mpicxx)
+ "--directory=exec",
+ "--file=Makefile",
+ "LIBS={0} {1} {2}".format(
+ self.spec["lapack"].libs.ld_flags,
+ self.spec["blas"].libs.ld_flags,
+ self.spec["hdf5"].libs.ld_flags,
+ ),
+ "CXX={0}".format(self.spec["mpi"].mpicxx),
]
return targets
@@ -46,10 +48,10 @@ class Aspa(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc)
mkdirp(prefix.input)
- install('exec/aspa', prefix.bin)
- install('exec/README', prefix.doc)
- install('exec/aspa.inp', prefix.input)
- install('exec/kriging_model_centers.txt', prefix.input)
- install('exec/point_data.txt', prefix.input)
- install('exec/value_data.txt', prefix.input)
- install('doc/*.*', prefix.doc)
+ install("exec/aspa", prefix.bin)
+ install("exec/README", prefix.doc)
+ install("exec/aspa.inp", prefix.input)
+ install("exec/kriging_model_centers.txt", prefix.input)
+ install("exec/point_data.txt", prefix.input)
+ install("exec/value_data.txt", prefix.input)
+ install("doc/*.*", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/aspcud/package.py b/var/spack/repos/builtin/packages/aspcud/package.py
index 8a1e28eeca..ecf991deb3 100644
--- a/var/spack/repos/builtin/packages/aspcud/package.py
+++ b/var/spack/repos/builtin/packages/aspcud/package.py
@@ -9,27 +9,29 @@ from spack.package import *
class Aspcud(CMakePackage):
"""Aspcud: Package dependency solver
- Aspcud is a solver for package dependencies. A package universe
- and a request to install, remove, or upgrade packages have to
- be encoded in the CUDF format. Such a CUDF document can then be
- passed to aspcud along with an optimization criteria to obtain
- a solution to the given package problem."""
+ Aspcud is a solver for package dependencies. A package universe
+ and a request to install, remove, or upgrade packages have to
+ be encoded in the CUDF format. Such a CUDF document can then be
+ passed to aspcud along with an optimization criteria to obtain
+ a solution to the given package problem."""
homepage = "https://potassco.org/aspcud"
- url = "https://github.com/potassco/aspcud/archive/v1.9.4.tar.gz"
+ url = "https://github.com/potassco/aspcud/archive/v1.9.4.tar.gz"
- version('1.9.5', sha256='9cd3a9490d377163d87b16fa1a10cc7254bc2dbb9f60e846961ac8233f3835cf')
- version('1.9.4', sha256='3645f08b079e1cc80e24cd2d7ae5172a52476d84e3ec5e6a6c0034492a6ea885')
+ version("1.9.5", sha256="9cd3a9490d377163d87b16fa1a10cc7254bc2dbb9f60e846961ac8233f3835cf")
+ version("1.9.4", sha256="3645f08b079e1cc80e24cd2d7ae5172a52476d84e3ec5e6a6c0034492a6ea885")
- depends_on('boost@1.74:+exception+serialization+container', type=('build'), when='@1.9.5:')
- depends_on('cmake', type=('build'))
- depends_on('re2c', type=('build'))
- depends_on('clingo')
+ depends_on("boost@1.74:+exception+serialization+container", type=("build"), when="@1.9.5:")
+ depends_on("cmake", type=("build"))
+ depends_on("re2c", type=("build"))
+ depends_on("clingo")
def cmake_args(self):
spec = self.spec
- gringo_path = join_path(spec['clingo'].prefix.bin, 'gringo')
- clasp_path = join_path(spec['clingo'].prefix.bin, 'clasp')
- args = ['-DASPCUD_GRINGO_PATH={0}'.format(gringo_path),
- '-DASPCUD_CLASP_PATH={0}'.format(clasp_path)]
+ gringo_path = join_path(spec["clingo"].prefix.bin, "gringo")
+ clasp_path = join_path(spec["clingo"].prefix.bin, "clasp")
+ args = [
+ "-DASPCUD_GRINGO_PATH={0}".format(gringo_path),
+ "-DASPCUD_CLASP_PATH={0}".format(clasp_path),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/aspect/package.py b/var/spack/repos/builtin/packages/aspect/package.py
index db430acb90..17e86403ae 100644
--- a/var/spack/repos/builtin/packages/aspect/package.py
+++ b/var/spack/repos/builtin/packages/aspect/package.py
@@ -11,33 +11,34 @@ class Aspect(CMakePackage):
Earth's mantle and elsewhere."""
homepage = "https://aspect.geodynamics.org"
- url = "https://github.com/geodynamics/aspect/releases/download/v2.1.0/aspect-2.1.0.tar.gz"
- git = "https://github.com/geodynamics/aspect.git"
-
- maintainers = ['tjhei']
-
- version('develop', branch='main')
- version('2.3.0', sha256='d97885e502e99ca22af3933c3b1c0b30b0b5e4dc0421e7f6e4d6b378e997faf8')
- version('2.2.0', sha256='6dc31c4b991c8a96495ba0e9a3c92e57f9305ba94b8dbed3c8c5cfbab91ec5c1')
- version('2.1.0', sha256='bd574d60ed9df1f4b98e68cd526a074d0527c0792763187c9851912327d861a3')
- version('2.0.1', sha256='0bf5600c42afce9d39c1d285b0654ecfdeb0f30e9f3421651c95f54ca01ac165')
- version('2.0.0', sha256='d485c07f54248e824bdfa35f3eec8971b65e8b7114552ffa2c771bc0dede8cc0')
-
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
- variant('gui', default=False, description='Enable the deal.II parameter GUI')
- variant('fpe', default=False, description='Enable floating point exception checks')
- variant('opendap', default=False, description='Enable OPeNDAP support for remote file access')
-
- depends_on('dealii+p4est+trilinos+mpi')
- depends_on('dealii-parameter-gui', when='+gui')
- depends_on('libdap4', when='+opendap')
+ url = "https://github.com/geodynamics/aspect/releases/download/v2.1.0/aspect-2.1.0.tar.gz"
+ git = "https://github.com/geodynamics/aspect.git"
+
+ maintainers = ["tjhei"]
+
+ version("develop", branch="main")
+ version("2.3.0", sha256="d97885e502e99ca22af3933c3b1c0b30b0b5e4dc0421e7f6e4d6b378e997faf8")
+ version("2.2.0", sha256="6dc31c4b991c8a96495ba0e9a3c92e57f9305ba94b8dbed3c8c5cfbab91ec5c1")
+ version("2.1.0", sha256="bd574d60ed9df1f4b98e68cd526a074d0527c0792763187c9851912327d861a3")
+ version("2.0.1", sha256="0bf5600c42afce9d39c1d285b0654ecfdeb0f30e9f3421651c95f54ca01ac165")
+ version("2.0.0", sha256="d485c07f54248e824bdfa35f3eec8971b65e8b7114552ffa2c771bc0dede8cc0")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+ variant("gui", default=False, description="Enable the deal.II parameter GUI")
+ variant("fpe", default=False, description="Enable floating point exception checks")
+ variant("opendap", default=False, description="Enable OPeNDAP support for remote file access")
+
+ depends_on("dealii+p4est+trilinos+mpi")
+ depends_on("dealii-parameter-gui", when="+gui")
+ depends_on("libdap4", when="+opendap")
def cmake_args(self):
- return [
- self.define_from_variant('ASPECT_USE_FP_EXCEPTIONS', 'fpe')
- ]
+ return [self.define_from_variant("ASPECT_USE_FP_EXCEPTIONS", "fpe")]
def setup_run_environment(self, env):
- env.set('Aspect_DIR', self.prefix)
+ env.set("Aspect_DIR", self.prefix)
diff --git a/var/spack/repos/builtin/packages/aspell/package.py b/var/spack/repos/builtin/packages/aspell/package.py
index bc9aea616f..27b49d8cef 100644
--- a/var/spack/repos/builtin/packages/aspell/package.py
+++ b/var/spack/repos/builtin/packages/aspell/package.py
@@ -16,7 +16,7 @@ class Aspell(AutotoolsPackage, GNUMirrorPackage):
extendable = True # support activating dictionaries
- version('0.60.6.1', sha256='f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1')
+ version("0.60.6.1", sha256="f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1")
- patch('fix_cpp.patch')
- patch('issue-519.patch', when='@:0.60.6.1')
+ patch("fix_cpp.patch")
+ patch("issue-519.patch", when="@:0.60.6.1")
diff --git a/var/spack/repos/builtin/packages/aspell6-de/package.py b/var/spack/repos/builtin/packages/aspell6-de/package.py
index a30b30f6d0..19ec1d89f4 100644
--- a/var/spack/repos/builtin/packages/aspell6-de/package.py
+++ b/var/spack/repos/builtin/packages/aspell6-de/package.py
@@ -12,4 +12,7 @@ class Aspell6De(AspellDictPackage, GNUMirrorPackage):
homepage = "http://aspell.net/"
gnu_mirror_path = "aspell/dict/de/aspell6-de-20030222-1.tar.bz2"
- version('6-de-20030222-1', sha256='ba6c94e11bc2e0e6e43ce0f7822c5bba5ca5ac77129ef90c190b33632416e906')
+ version(
+ "6-de-20030222-1",
+ sha256="ba6c94e11bc2e0e6e43ce0f7822c5bba5ca5ac77129ef90c190b33632416e906",
+ )
diff --git a/var/spack/repos/builtin/packages/aspell6-en/package.py b/var/spack/repos/builtin/packages/aspell6-en/package.py
index b17059083f..732a7d86c8 100644
--- a/var/spack/repos/builtin/packages/aspell6-en/package.py
+++ b/var/spack/repos/builtin/packages/aspell6-en/package.py
@@ -12,4 +12,6 @@ class Aspell6En(AspellDictPackage, GNUMirrorPackage):
homepage = "http://aspell.net/"
gnu_mirror_path = "aspell/dict/en/aspell6-en-2017.01.22-0.tar.bz2"
- version('2017.01.22-0', sha256='93c73fae3eab5ea3ca6db3cea8770715a820f1b7d6ea2b932dd66a17f8fd55e1')
+ version(
+ "2017.01.22-0", sha256="93c73fae3eab5ea3ca6db3cea8770715a820f1b7d6ea2b932dd66a17f8fd55e1"
+ )
diff --git a/var/spack/repos/builtin/packages/aspell6-es/package.py b/var/spack/repos/builtin/packages/aspell6-es/package.py
index 0839a3f430..bca114bc4e 100644
--- a/var/spack/repos/builtin/packages/aspell6-es/package.py
+++ b/var/spack/repos/builtin/packages/aspell6-es/package.py
@@ -12,4 +12,4 @@ class Aspell6Es(AspellDictPackage, GNUMirrorPackage):
homepage = "http://aspell.net/"
gnu_mirror_path = "aspell/dict/es/aspell6-es-1.11-2.tar.bz2"
- version('1.11-2', sha256='ad367fa1e7069c72eb7ae37e4d39c30a44d32a6aa73cedccbd0d06a69018afcc')
+ version("1.11-2", sha256="ad367fa1e7069c72eb7ae37e4d39c30a44d32a6aa73cedccbd0d06a69018afcc")
diff --git a/var/spack/repos/builtin/packages/aspera-cli/package.py b/var/spack/repos/builtin/packages/aspera-cli/package.py
index 046d89ac86..ca0ef59f09 100644
--- a/var/spack/repos/builtin/packages/aspera-cli/package.py
+++ b/var/spack/repos/builtin/packages/aspera-cli/package.py
@@ -12,25 +12,30 @@ class AsperaCli(Package):
"""The Aspera CLI client for the Fast and Secure Protocol (FASP)."""
homepage = "https://asperasoft.com"
- url = "https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh"
+ url = "https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh"
- version('3.7.7', sha256='83efd03b699bdb1cac6c62befb3812342d6122217f4944f732ae7a135d578966',
- url='https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh',
- expand=False)
+ version(
+ "3.7.7",
+ sha256="83efd03b699bdb1cac6c62befb3812342d6122217f4944f732ae7a135d578966",
+ url="https://download.asperasoft.com/download/sw/cli/3.7.7/aspera-cli-3.7.7.608.927cce8-linux-64-release.sh",
+ expand=False,
+ )
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.cli.bin)
+ env.prepend_path("PATH", self.prefix.cli.bin)
def install(self, spec, prefix):
- runfile = glob(join_path(self.stage.source_path, 'aspera-cli*.sh'))[0]
+ runfile = glob(join_path(self.stage.source_path, "aspera-cli*.sh"))[0]
# Update destination path
- filter_file('INSTALL_DIR=~/.aspera',
- 'INSTALL_DIR=%s' % prefix,
- runfile,
- string=True,
- stop_at='__ARCHIVE_FOLLOWS__')
+ filter_file(
+ "INSTALL_DIR=~/.aspera",
+ "INSTALL_DIR=%s" % prefix,
+ runfile,
+ string=True,
+ stop_at="__ARCHIVE_FOLLOWS__",
+ )
# Install
- chmod = which('chmod')
- chmod('+x', runfile)
+ chmod = which("chmod")
+ chmod("+x", runfile)
runfile = which(runfile)
runfile()
diff --git a/var/spack/repos/builtin/packages/assimp/package.py b/var/spack/repos/builtin/packages/assimp/package.py
index 33b19fd7b8..7b192e3b96 100644
--- a/var/spack/repos/builtin/packages/assimp/package.py
+++ b/var/spack/repos/builtin/packages/assimp/package.py
@@ -11,46 +11,47 @@ class Assimp(CMakePackage):
import various well-known 3D model formats in a uniform manner."""
homepage = "https://www.assimp.org"
- url = "https://github.com/assimp/assimp/archive/v4.0.1.tar.gz"
- git = "https://github.com/assimp/assimp.git"
+ url = "https://github.com/assimp/assimp/archive/v4.0.1.tar.gz"
+ git = "https://github.com/assimp/assimp.git"
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
- version('master', branch='master')
- version('5.2.4', sha256='6a4ff75dc727821f75ef529cea1c4fc0a7b5fc2e0a0b2ff2f6b7993fe6cb54ba')
- version('5.2.3', sha256='b20fc41af171f6d8f1f45d4621f18e6934ab7264e71c37cd72fd9832509af2a8')
- version('5.2.2', sha256='ad76c5d86c380af65a9d9f64e8fc57af692ffd80a90f613dfc6bd945d0b80bb4')
- version('5.2.1', sha256='c9cbbc8589639cd8c13f65e94a90422a70454e8fa150cf899b6038ba86e9ecff')
- version('5.1.4', sha256='bd32cdc27e1f8b7ac09d914ab92dd81d799c97e9e47315c1f40dcb7c6f7938c6')
- version('5.1.3', sha256='50a7bd2c8009945e1833c591d16f4f7c491a3c6190f69d9d007167aadb175c35')
- version('5.0.1', sha256='11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc')
- version('4.0.1', sha256='60080d8ab4daaab309f65b3cffd99f19eb1af8d05623fff469b9b652818e286e')
+ version("master", branch="master")
+ version("5.2.4", sha256="6a4ff75dc727821f75ef529cea1c4fc0a7b5fc2e0a0b2ff2f6b7993fe6cb54ba")
+ version("5.2.3", sha256="b20fc41af171f6d8f1f45d4621f18e6934ab7264e71c37cd72fd9832509af2a8")
+ version("5.2.2", sha256="ad76c5d86c380af65a9d9f64e8fc57af692ffd80a90f613dfc6bd945d0b80bb4")
+ version("5.2.1", sha256="c9cbbc8589639cd8c13f65e94a90422a70454e8fa150cf899b6038ba86e9ecff")
+ version("5.1.4", sha256="bd32cdc27e1f8b7ac09d914ab92dd81d799c97e9e47315c1f40dcb7c6f7938c6")
+ version("5.1.3", sha256="50a7bd2c8009945e1833c591d16f4f7c491a3c6190f69d9d007167aadb175c35")
+ version("5.0.1", sha256="11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc")
+ version("4.0.1", sha256="60080d8ab4daaab309f65b3cffd99f19eb1af8d05623fff469b9b652818e286e")
- patch('https://patch-diff.githubusercontent.com/raw/assimp/assimp/pull/4203.patch?full_index=1',
- sha256='24135e88bcef205e118f7a3f99948851c78d3f3e16684104dc603439dd790d74',
- when='@5.1:5.2.2')
+ patch(
+ "https://patch-diff.githubusercontent.com/raw/assimp/assimp/pull/4203.patch?full_index=1",
+ sha256="24135e88bcef205e118f7a3f99948851c78d3f3e16684104dc603439dd790d74",
+ when="@5.1:5.2.2",
+ )
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ variant("shared", default=True, description="Enables the build of shared libraries")
- depends_on('pkgconfig', type='build')
- depends_on('zlib')
+ depends_on("pkgconfig", type="build")
+ depends_on("zlib")
def patch(self):
- filter_file('-Werror', '', 'code/CMakeLists.txt')
+ filter_file("-Werror", "", "code/CMakeLists.txt")
def cmake_args(self):
args = [
- '-DASSIMP_HUNTER_ENABLED=OFF',
- '-DASSIMP_BUILD_ZLIB=OFF',
- '-DASSIMP_BUILD_MINIZIP=OFF',
- '-DASSIMP_BUILD_TESTS=OFF',
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ "-DASSIMP_HUNTER_ENABLED=OFF",
+ "-DASSIMP_BUILD_ZLIB=OFF",
+ "-DASSIMP_BUILD_MINIZIP=OFF",
+ "-DASSIMP_BUILD_TESTS=OFF",
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
return args
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/astra/package.py b/var/spack/repos/builtin/packages/astra/package.py
index 2148722a77..2a58cbdb29 100644
--- a/var/spack/repos/builtin/packages/astra/package.py
+++ b/var/spack/repos/builtin/packages/astra/package.py
@@ -11,10 +11,12 @@ class Astra(Package):
homepage = "https://www.desy.de/~mpyflo/"
- version('2020-02-03',
- sha256='ca9ee7d3d369f9040fbd595f57f3153f712d789b66385fd2d2de88a69a774b83',
- expand=False,
- url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/Astra')
+ version(
+ "2020-02-03",
+ sha256="ca9ee7d3d369f9040fbd595f57f3153f712d789b66385fd2d2de88a69a774b83",
+ expand=False,
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/Astra",
+ )
# no longer available?
# version('2016-11-30',
@@ -22,51 +24,66 @@ class Astra(Package):
# expand=False,
# url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/Astra')
- variant('gui', default=False, description='Install plotting/gui tools')
+ variant("gui", default=False, description="Install plotting/gui tools")
- resource(name='generator', url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/generator',
- sha256='d31cf9fcfeb90ce0e729d8af628caf4a23f7e588a3d412d5b19241e8c684e531',
- expand=False,
- placement='generator')
- resource(name='postpro', url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/postpro',
- sha256='f47efb14748ce1da62bcd33c9411482bee89bcab75b28a678fc764db0c21ee8d',
- expand=False,
- when='+gui',
- placement='postpro')
- resource(name='fieldplot', url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/fieldplot',
- sha256='89df1da96bfd9f165fa148b84376af558e6633ab2dda837273706143ff863c96',
- expand=False,
- when='+gui',
- placement='fieldplot')
- resource(name='lineplot', url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/lineplot',
- sha256='d2d5702be9cb3d96391c6a0ca37366d580ced1f0f722fb33a6039ad7fd43b69a',
- expand=False,
- when='+gui',
- placement='lineplot')
- resource(name='pgxwin_server', url='https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/pgxwin_server',
- sha256='d2d5702be9cb3d96391c6a0ca37366d580ced1f0f722fb33a6039ad7fd43b69a',
- expand=False,
- when='+gui',
- placement='pgxwin_server')
+ resource(
+ name="generator",
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/generator",
+ sha256="d31cf9fcfeb90ce0e729d8af628caf4a23f7e588a3d412d5b19241e8c684e531",
+ expand=False,
+ placement="generator",
+ )
+ resource(
+ name="postpro",
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/postpro",
+ sha256="f47efb14748ce1da62bcd33c9411482bee89bcab75b28a678fc764db0c21ee8d",
+ expand=False,
+ when="+gui",
+ placement="postpro",
+ )
+ resource(
+ name="fieldplot",
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/fieldplot",
+ sha256="89df1da96bfd9f165fa148b84376af558e6633ab2dda837273706143ff863c96",
+ expand=False,
+ when="+gui",
+ placement="fieldplot",
+ )
+ resource(
+ name="lineplot",
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/lineplot",
+ sha256="d2d5702be9cb3d96391c6a0ca37366d580ced1f0f722fb33a6039ad7fd43b69a",
+ expand=False,
+ when="+gui",
+ placement="lineplot",
+ )
+ resource(
+ name="pgxwin_server",
+ url="https://www.desy.de/~mpyflo/Astra_for_64_Bit_Linux/pgxwin_server",
+ sha256="d2d5702be9cb3d96391c6a0ca37366d580ced1f0f722fb33a6039ad7fd43b69a",
+ expand=False,
+ when="+gui",
+ placement="pgxwin_server",
+ )
- depends_on('libxcb', when='+gui')
- depends_on('libx11', when='+gui')
+ depends_on("libxcb", when="+gui")
+ depends_on("libx11", when="+gui")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('Astra', prefix.bin)
- install('generator/generator', prefix.bin)
- if spec.satisfies('+gui'):
- install('postpro/postpro', prefix.bin)
- install('fieldplot/fieldplot', prefix.bin)
- install('lineplot/lineplot', prefix.bin)
- install('pgxwin_server/pgxwin_server', prefix.bin)
+ install("Astra", prefix.bin)
+ install("generator/generator", prefix.bin)
+ if spec.satisfies("+gui"):
+ install("postpro/postpro", prefix.bin)
+ install("fieldplot/fieldplot", prefix.bin)
+ install("lineplot/lineplot", prefix.bin)
+ install("pgxwin_server/pgxwin_server", prefix.bin)
- chmod = which('chmod')
- chmod('+x', join_path(prefix.bin, 'Astra'))
- chmod('+x', join_path(prefix.bin, 'generator'))
- if spec.satisfies('+gui'):
- chmod('+x', join_path(prefix.bin, 'postpro'))
- chmod('+x', join_path(prefix.bin, 'fieldplot'))
- chmod('+x', join_path(prefix.bin, 'lineplot'))
- chmod('+x', join_path(prefix.bin, 'pgxwin_server'))
+ chmod = which("chmod")
+ chmod("+x", join_path(prefix.bin, "Astra"))
+ chmod("+x", join_path(prefix.bin, "generator"))
+ if spec.satisfies("+gui"):
+ chmod("+x", join_path(prefix.bin, "postpro"))
+ chmod("+x", join_path(prefix.bin, "fieldplot"))
+ chmod("+x", join_path(prefix.bin, "lineplot"))
+ chmod("+x", join_path(prefix.bin, "pgxwin_server"))
diff --git a/var/spack/repos/builtin/packages/astral/package.py b/var/spack/repos/builtin/packages/astral/package.py
index f84f958c65..4de115a543 100644
--- a/var/spack/repos/builtin/packages/astral/package.py
+++ b/var/spack/repos/builtin/packages/astral/package.py
@@ -10,25 +10,28 @@ from spack.package import *
class Astral(Package):
"""ASTRAL is a tool for estimating an unrooted species tree given a set of
- unrooted gene trees."""
+ unrooted gene trees."""
homepage = "https://github.com/smirarab/ASTRAL"
- url = "https://github.com/smirarab/ASTRAL/archive/v4.10.7.tar.gz"
+ url = "https://github.com/smirarab/ASTRAL/archive/v4.10.7.tar.gz"
- version('5.7.1', sha256='8aa6fd4324efca325d3dde432517090fac314bea95f407b1dd59977181fec77e')
- version('5.6.1', sha256='b49a67c9fe19c0c92a89dc2f1a3928840e698a53054a595c61546ca98448a076',
- url='https://github.com/smirarab/ASTRAL/archive/untagged-697f19dbce69929ece09.tar.gz')
- version('4.10.7', sha256='314b49e0129ec06a7c78a1b60d590259ede6a5e75253407031e108d8048fcc79')
+ version("5.7.1", sha256="8aa6fd4324efca325d3dde432517090fac314bea95f407b1dd59977181fec77e")
+ version(
+ "5.6.1",
+ sha256="b49a67c9fe19c0c92a89dc2f1a3928840e698a53054a595c61546ca98448a076",
+ url="https://github.com/smirarab/ASTRAL/archive/untagged-697f19dbce69929ece09.tar.gz",
+ )
+ version("4.10.7", sha256="314b49e0129ec06a7c78a1b60d590259ede6a5e75253407031e108d8048fcc79")
- depends_on('java', type=('build', 'run'))
- depends_on('zip', type='build')
+ depends_on("java", type=("build", "run"))
+ depends_on("zip", type="build")
def install(self, spec, prefix):
- make = Executable('./make.sh')
+ make = Executable("./make.sh")
make()
mkdirp(prefix.bin)
- install_tree('lib', prefix.tools.lib)
- jar_file = 'astral.{v}.jar'.format(v=self.version)
+ install_tree("lib", prefix.tools.lib)
+ jar_file = "astral.{v}.jar".format(v=self.version)
install(jar_file, prefix.tools)
script_sh = join_path(os.path.dirname(__file__), "astral.sh")
@@ -36,11 +39,10 @@ class Astral(Package):
install(script_sh, script)
set_executable(script)
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('astral.jar', join_path(prefix.tools, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("astral.jar", join_path(prefix.tools, jar_file), script, **kwargs)
def setup_run_environment(self, env):
- env.set('ASTRAL_HOME', self.prefix.tools)
+ env.set("ASTRAL_HOME", self.prefix.tools)
diff --git a/var/spack/repos/builtin/packages/astyle/package.py b/var/spack/repos/builtin/packages/astyle/package.py
index 1e2a16cdc5..79dc4183e4 100644
--- a/var/spack/repos/builtin/packages/astyle/package.py
+++ b/var/spack/repos/builtin/packages/astyle/package.py
@@ -16,25 +16,25 @@ class Astyle(MakefilePackage):
# Gentoo alternative
# url = "https://distfiles.gentoo.org/distfiles/astyle_3.0.1_linux.tar.gz"
- version('3.1', sha256='cbcc4cf996294534bb56f025d6f199ebfde81aa4c271ccbd5ee1c1a3192745d7')
- version('3.0.1', sha256='6c3ab029e0e4a75e2e603d449014374aa8269218fdd03a4aaa46ab743b1912fd')
- version('2.06', sha256='3b7212210dc139e8f648e004b758c0be1b3ceb1694b22a879202d2b833db7c7e')
- version('2.05.1', sha256='fbdfc6f1966a972d19a215927266c76d4183eee235ed1e2bd7ec551c2a270eac')
- version('2.04', sha256='70b37f4853c418d1e2632612967eebf1bdb93dfbe558c51d7d013c9b4e116b60')
+ version("3.1", sha256="cbcc4cf996294534bb56f025d6f199ebfde81aa4c271ccbd5ee1c1a3192745d7")
+ version("3.0.1", sha256="6c3ab029e0e4a75e2e603d449014374aa8269218fdd03a4aaa46ab743b1912fd")
+ version("2.06", sha256="3b7212210dc139e8f648e004b758c0be1b3ceb1694b22a879202d2b833db7c7e")
+ version("2.05.1", sha256="fbdfc6f1966a972d19a215927266c76d4183eee235ed1e2bd7ec551c2a270eac")
+ version("2.04", sha256="70b37f4853c418d1e2632612967eebf1bdb93dfbe558c51d7d013c9b4e116b60")
parallel = False
@property
def build_directory(self):
- return join_path(self.stage.source_path, 'build', self.compiler.name)
+ return join_path(self.stage.source_path, "build", self.compiler.name)
def edit(self, spec, prefix):
- makefile = join_path(self.build_directory, 'Makefile')
- filter_file(r'^CXX\s*=.*', 'CXX=%s' % spack_cxx, makefile)
+ makefile = join_path(self.build_directory, "Makefile")
+ filter_file(r"^CXX\s*=.*", "CXX=%s" % spack_cxx, makefile)
# If the group is not a user account, the installation will fail,
# so remove the -o $ (USER) -g $ (USER) parameter.
- filter_file(r'^INSTALL=.*', 'INSTALL=install', makefile)
+ filter_file(r"^INSTALL=.*", "INSTALL=install", makefile)
@property
def install_targets(self):
- return ['install', 'prefix={0}'.format(self.prefix)]
+ return ["install", "prefix={0}".format(self.prefix)]
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 57dd162847..18ef21c6c0 100644
--- a/var/spack/repos/builtin/packages/at-spi2-atk/package.py
+++ b/var/spack/repos/builtin/packages/at-spi2-atk/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class AtSpi2Atk(MesonPackage):
"""The At-Spi2 Atk package contains a library that bridges ATK to
- At-Spi2 D-Bus service."""
+ At-Spi2 D-Bus service."""
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"
+ 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
- version('2.38.0', sha256='cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f')
- version('2.34.2', sha256='901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0')
- version('2.26.2', sha256='61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e')
- version('2.26.1', sha256='b4f0c27b61dbffba7a5b5ba2ff88c8cee10ff8dac774fa5b79ce906853623b75')
+ version("2.38.0", sha256="cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f")
+ version("2.34.2", sha256="901323cee0eef05c01ec4dee06c701aeeca81a314a7d60216fa363005e27f4f0")
+ version("2.26.2", sha256="61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e")
+ version("2.26.1", sha256="b4f0c27b61dbffba7a5b5ba2ff88c8cee10ff8dac774fa5b79ce906853623b75")
- depends_on('pkgconfig', type='build')
- depends_on('at-spi2-core@2.28.0:')
- depends_on('atk@2.28.1:')
+ depends_on("pkgconfig", type="build")
+ depends_on("at-spi2-core@2.28.0:")
+ depends_on("atk@2.28.1:")
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
- url = 'http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk'
- return url + '/%s/at-spi2-atk-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk"
+ return url + "/%s/at-spi2-atk-%s.tar.xz" % (version.up_to(2), version)
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 1d1df37fe6..b52e6b4d1d 100644
--- a/var/spack/repos/builtin/packages/at-spi2-core/package.py
+++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py
@@ -8,54 +8,51 @@ from spack.package import *
class AtSpi2Core(MesonPackage):
"""The At-Spi2 Core package provides a Service Provider Interface for the
- Assistive Technologies available on the GNOME platform and a library
- against which applications can be linked."""
+ Assistive Technologies available on the GNOME platform and a library
+ against which applications can be linked."""
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"
+ 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
- version('2.40.1', sha256='9f66e3a4ee42db897af478a826b1366d7011a6d55ddb7e9d4bfeb3300ab23856')
- version('2.38.0', sha256='84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5')
- version('2.36.0', sha256='88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a')
- version('2.28.0', sha256='42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87')
-
- depends_on('meson@0.46.0:', type='build')
- depends_on('glib@2.56.1:')
- depends_on('dbus@1.12.8:')
- depends_on('gettext')
- depends_on('libx11')
- depends_on('libxi')
- depends_on('libxtst')
- depends_on('recordproto')
- depends_on('inputproto')
- depends_on('fixesproto')
- depends_on('pkgconfig', type='build')
- depends_on('python', type='build')
- depends_on('gobject-introspection')
-
- @when('@2.40.1:')
+ version("2.40.1", sha256="9f66e3a4ee42db897af478a826b1366d7011a6d55ddb7e9d4bfeb3300ab23856")
+ version("2.38.0", sha256="84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5")
+ version("2.36.0", sha256="88da57de0a7e3c60bc341a974a80fdba091612db3547c410d6deab039ca5c05a")
+ version("2.28.0", sha256="42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87")
+
+ depends_on("meson@0.46.0:", type="build")
+ depends_on("glib@2.56.1:")
+ depends_on("dbus@1.12.8:")
+ depends_on("gettext")
+ depends_on("libx11")
+ depends_on("libxi")
+ depends_on("libxtst")
+ depends_on("recordproto")
+ depends_on("inputproto")
+ depends_on("fixesproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("python", type="build")
+ depends_on("gobject-introspection")
+
+ @when("@2.40.1:")
def patch(self):
- filter_file(r'dbus_broker.found\(\)', 'false', 'bus/meson.build')
+ filter_file(r"dbus_broker.found\(\)", "false", "bus/meson.build")
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
- url = 'http://ftp.gnome.org/pub/gnome/sources/at-spi2-core'
- return url + '/%s/at-spi2-core-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-core"
+ return url + "/%s/at-spi2-core-%s.tar.xz" % (version.up_to(2), version)
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_build_environment(self, env):
# this avoids an "import site" error in the build
- env.unset('PYTHONHOME')
+ env.unset("PYTHONHOME")
diff --git a/var/spack/repos/builtin/packages/atf/package.py b/var/spack/repos/builtin/packages/atf/package.py
index 1236db8428..04c158a611 100644
--- a/var/spack/repos/builtin/packages/atf/package.py
+++ b/var/spack/repos/builtin/packages/atf/package.py
@@ -11,13 +11,13 @@ class Atf(AutotoolsPackage):
to write test programs in C, C++ and POSIX shell."""
homepage = "https://github.com/jmmv/atf"
- url = "https://github.com/jmmv/atf/archive/atf-0.21.tar.gz"
+ url = "https://github.com/jmmv/atf/archive/atf-0.21.tar.gz"
- version('0.21', sha256='da6b02d6e7242f768a7aaa7b7e52378680456e4bd9a913b6636187079c98f3cd')
- version('0.20', sha256='3677cf957d7f574835b8bdd385984ba928d5695b3ff28f958e4227f810483ab7')
- version('0.19', sha256='f9b1d76dad7c34ae61a75638edc517fc05b10fa4c8f97b1d13d739bffee79b16')
+ version("0.21", sha256="da6b02d6e7242f768a7aaa7b7e52378680456e4bd9a913b6636187079c98f3cd")
+ version("0.20", sha256="3677cf957d7f574835b8bdd385984ba928d5695b3ff28f958e4227f810483ab7")
+ version("0.19", sha256="f9b1d76dad7c34ae61a75638edc517fc05b10fa4c8f97b1d13d739bffee79b16")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/athena/package.py b/var/spack/repos/builtin/packages/athena/package.py
index 6eb245e787..aff811233e 100644
--- a/var/spack/repos/builtin/packages/athena/package.py
+++ b/var/spack/repos/builtin/packages/athena/package.py
@@ -12,258 +12,292 @@ class Athena(AutotoolsPackage):
star formation, and accretion flows."""
homepage = "https://princetonuniversity.github.io/Athena-Cversion/"
- url = "https://github.com/PrincetonUniversity/Athena-Cversion/archive/version-4.2.tar.gz"
- git = "https://github.com/PrincetonUniversity/Athena-Cversion.git"
+ url = "https://github.com/PrincetonUniversity/Athena-Cversion/archive/version-4.2.tar.gz"
+ git = "https://github.com/PrincetonUniversity/Athena-Cversion.git"
- version('master', branch='master')
- version('4.2', sha256='6334848d7f1325aa44859418feac8ce223b56793ae8907103000af5b27f50e7e')
+ version("master", branch="master")
+ version("4.2", sha256="6334848d7f1325aa44859418feac8ce223b56793ae8907103000af5b27f50e7e")
# PHYSICS "packages":
- variant('problem', default='linear_wave', description='Problem generator',
- values=[
- 'blast',
- 'carbuncle',
- 'collapse3d',
- 'cpaw',
- 'cshock1d',
- 'current_sheet',
- 'cyladvect',
- 'cylblast',
- 'cylbphi',
- 'cylbr',
- 'cylcvmri',
- 'cyldiff',
- 'cylfieldloop',
- 'cylnewtmri',
- 'cylrayleigh',
- 'cylspiral',
- 'cylwind',
- 'cylwindrot',
- 'cylwindrotb',
- 'dmr',
- 'fft_test',
- 'field_loop',
- 'firehose',
- 'hall_drift',
- 'hb3',
- 'hgb',
- 'hkdisk',
- 'jeans',
- 'jet',
- 'kh',
- 'linear_wave',
- 'lw_implode',
- 'msa',
- 'noh',
- 'orszag-tang',
- 'par_collision',
- 'par_epicycle',
- 'par_strat2d',
- 'par_strat3d',
- 'pgflow',
- 'rotor',
- 'rt',
- 'shk_cloud',
- 'shkset1d',
- 'shkset2d',
- 'shkset3d',
- 'shu-osher',
- 'strat',
- 'streaming2d_multi',
- 'streaming2d_single',
- 'streaming3d_multi',
- 'streaming3d_single',
- 'twoibw'
- ])
- variant('gas', default='mhd', description='Gas properties',
- values=['mhd', 'hydro'])
- variant('eos', default='adiabatic', description='Equation of state',
- values=['adiabatic', 'isothermal'])
- variant('nscalars', default=0, description='Number of advected scalars')
- variant('gravity', default='none', description='Algorithm for self gravity',
- values=['fft', 'fft_disk', 'fft_obc', 'multigrid', 'none'])
- variant('particles', default='none',
- description='Dust particle integration algorithm',
- values=['feedback', 'passive', 'none'])
- variant('coord', default='cartesian', description='Coordinate System',
- values=['cartesian', 'cylindrical'])
+ variant(
+ "problem",
+ default="linear_wave",
+ description="Problem generator",
+ values=[
+ "blast",
+ "carbuncle",
+ "collapse3d",
+ "cpaw",
+ "cshock1d",
+ "current_sheet",
+ "cyladvect",
+ "cylblast",
+ "cylbphi",
+ "cylbr",
+ "cylcvmri",
+ "cyldiff",
+ "cylfieldloop",
+ "cylnewtmri",
+ "cylrayleigh",
+ "cylspiral",
+ "cylwind",
+ "cylwindrot",
+ "cylwindrotb",
+ "dmr",
+ "fft_test",
+ "field_loop",
+ "firehose",
+ "hall_drift",
+ "hb3",
+ "hgb",
+ "hkdisk",
+ "jeans",
+ "jet",
+ "kh",
+ "linear_wave",
+ "lw_implode",
+ "msa",
+ "noh",
+ "orszag-tang",
+ "par_collision",
+ "par_epicycle",
+ "par_strat2d",
+ "par_strat3d",
+ "pgflow",
+ "rotor",
+ "rt",
+ "shk_cloud",
+ "shkset1d",
+ "shkset2d",
+ "shkset3d",
+ "shu-osher",
+ "strat",
+ "streaming2d_multi",
+ "streaming2d_single",
+ "streaming3d_multi",
+ "streaming3d_single",
+ "twoibw",
+ ],
+ )
+ variant("gas", default="mhd", description="Gas properties", values=["mhd", "hydro"])
+ variant(
+ "eos",
+ default="adiabatic",
+ description="Equation of state",
+ values=["adiabatic", "isothermal"],
+ )
+ variant("nscalars", default=0, description="Number of advected scalars")
+ variant(
+ "gravity",
+ default="none",
+ description="Algorithm for self gravity",
+ values=["fft", "fft_disk", "fft_obc", "multigrid", "none"],
+ )
+ variant(
+ "particles",
+ default="none",
+ description="Dust particle integration algorithm",
+ values=["feedback", "passive", "none"],
+ )
+ variant(
+ "coord",
+ default="cartesian",
+ description="Coordinate System",
+ values=["cartesian", "cylindrical"],
+ )
# PHYSICS "features":
- variant('conduction', default=False, description='Enable thermal conduction')
- variant('resistivity', default=False, description='Enable resistivity')
- variant('special_relativity', default=False, description='Enable special relativistic hydro or MHD')
- variant('viscosity', default=False, description='Enable viscosity')
+ variant("conduction", default=False, description="Enable thermal conduction")
+ variant("resistivity", default=False, description="Enable resistivity")
+ variant(
+ "special_relativity", default=False, description="Enable special relativistic hydro or MHD"
+ )
+ variant("viscosity", default=False, description="Enable viscosity")
# ALGORITHM "packages":
- variant('order', default='2',
- description='Order and type of spatial reconstruction',
- values=['1', '2', '3', '2p', '3p'])
- variant('flux', default='roe', description='Flux function', values=[
- 'roe', 'hllc', 'hlld', 'hlle', 'force', 'exact', 'two-shock'
- ])
- variant('integrator', default='ctu',
- description='Unsplit integration algorithm',
- values=['ctu', 'vl'])
- variant('cflags', default='opt', description='Compiler flags',
- values=['opt', 'debug', 'profile'])
+ variant(
+ "order",
+ default="2",
+ description="Order and type of spatial reconstruction",
+ values=["1", "2", "3", "2p", "3p"],
+ )
+ variant(
+ "flux",
+ default="roe",
+ description="Flux function",
+ values=["roe", "hllc", "hlld", "hlle", "force", "exact", "two-shock"],
+ )
+ variant(
+ "integrator",
+ default="ctu",
+ description="Unsplit integration algorithm",
+ values=["ctu", "vl"],
+ )
+ variant(
+ "cflags", default="opt", description="Compiler flags", values=["opt", "debug", "profile"]
+ )
# ALGORITHM "features":
- variant('fargo', default=False, description='Enable FARGO algorithm')
- variant('fft', default=False, description='Use FFTW block decomposition')
- variant('fofc', default=False, description='Enable first-order flux correction')
- variant('ghost', default=False, description='Write ghost zones')
- variant('h_correction', default=False, description='Turn on H-correction')
- variant('mpi', default=True, description='Enable MPI parallelization')
- variant('shearing_box', default=False, description='Turn on shearing-box')
- variant('single', default=False, description='Use single-precision instead of double-precision')
- variant('sts', default=False, description='Turn on super timestepping')
- variant('smr', default=False, description='Use static mesh refinement')
- variant('rotating_frame', default=False, description='Turn on rotating_frame')
- variant('l1_inflow', default=False, description='Enable inflow from L1 point')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('fftw', when='+fft')
-
- conflicts('flux=hllc', when='gas=mhd')
- conflicts('flux=exact', when='gas=mhd')
- conflicts('flux=two-shock', when='gas=mhd')
- conflicts('+h_correction', when='flux=hllc')
- conflicts('+h_correction', when='flux=hlld')
- conflicts('+h_correction', when='flux=hlle')
- conflicts('+h_correction', when='flux=force')
- conflicts('+h_correction', when='flux=exact')
- conflicts('+h_correction', when='flux=two-shock')
- conflicts('coord=cylindrical', when='gravity=none')
- conflicts('coord=cylindrical', when='particles=none')
- conflicts('integrator=vl', when='order=3')
- conflicts('integrator=vl', when='order=2')
-
- build_targets = ['all']
-
- patch('missing-separator.patch')
+ variant("fargo", default=False, description="Enable FARGO algorithm")
+ variant("fft", default=False, description="Use FFTW block decomposition")
+ variant("fofc", default=False, description="Enable first-order flux correction")
+ variant("ghost", default=False, description="Write ghost zones")
+ variant("h_correction", default=False, description="Turn on H-correction")
+ variant("mpi", default=True, description="Enable MPI parallelization")
+ variant("shearing_box", default=False, description="Turn on shearing-box")
+ variant(
+ "single", default=False, description="Use single-precision instead of double-precision"
+ )
+ variant("sts", default=False, description="Turn on super timestepping")
+ variant("smr", default=False, description="Use static mesh refinement")
+ variant("rotating_frame", default=False, description="Turn on rotating_frame")
+ variant("l1_inflow", default=False, description="Enable inflow from L1 point")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("fftw", when="+fft")
+
+ conflicts("flux=hllc", when="gas=mhd")
+ conflicts("flux=exact", when="gas=mhd")
+ conflicts("flux=two-shock", when="gas=mhd")
+ conflicts("+h_correction", when="flux=hllc")
+ conflicts("+h_correction", when="flux=hlld")
+ conflicts("+h_correction", when="flux=hlle")
+ conflicts("+h_correction", when="flux=force")
+ conflicts("+h_correction", when="flux=exact")
+ conflicts("+h_correction", when="flux=two-shock")
+ conflicts("coord=cylindrical", when="gravity=none")
+ conflicts("coord=cylindrical", when="particles=none")
+ conflicts("integrator=vl", when="order=3")
+ conflicts("integrator=vl", when="order=2")
+
+ build_targets = ["all"]
+
+ patch("missing-separator.patch")
def setup_build_environment(self, env):
spec = self.spec
- env.set('OPT', '-O3')
+ env.set("OPT", "-O3")
- if '+mpi' in spec:
- env.set('CC', spec['mpi'].mpicc)
- env.set('LDR', spec['mpi'].mpicc)
- env.set('MPILIB', spec['mpi'].libs.ld_flags)
- env.set('MPIINC', spec['mpi'].headers.include_flags)
+ if "+mpi" in spec:
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("LDR", spec["mpi"].mpicc)
+ env.set("MPILIB", spec["mpi"].libs.ld_flags)
+ env.set("MPIINC", spec["mpi"].headers.include_flags)
else:
- env.set('CC', spack_cc)
- env.set('LDR', spack_cc)
+ env.set("CC", spack_cc)
+ env.set("LDR", spack_cc)
- if '+fft' in spec:
- env.set('FFTWLIB', spec['fftw'].libs.ld_flags)
- env.set('FFTWINC', spec['fftw'].headers.include_flags)
+ if "+fft" in spec:
+ env.set("FFTWLIB", spec["fftw"].libs.ld_flags)
+ env.set("FFTWINC", spec["fftw"].headers.include_flags)
def configure_args(self):
spec = self.spec
args = []
- if '+conduction' in spec:
- args.append('--enable-conduction')
+ if "+conduction" in spec:
+ args.append("--enable-conduction")
else:
- args.append('--disable-conduction')
+ args.append("--disable-conduction")
- if '+resistivity' in spec:
- args.append('--enable-resistivity')
+ if "+resistivity" in spec:
+ args.append("--enable-resistivity")
else:
- args.append('--disable-resistivity')
+ args.append("--disable-resistivity")
- if '+special_relativity' in spec:
- args.append('--enable-special-relativity')
+ if "+special_relativity" in spec:
+ args.append("--enable-special-relativity")
else:
- args.append('--disable-special-relativity')
+ args.append("--disable-special-relativity")
- if '+viscosity' in spec:
- args.append('--enable-viscosity')
+ if "+viscosity" in spec:
+ args.append("--enable-viscosity")
else:
- args.append('--disable-viscosity')
+ args.append("--disable-viscosity")
- if '+single' in spec:
- args.append('--enable-single')
+ if "+single" in spec:
+ args.append("--enable-single")
else:
- args.append('--disable-single')
+ args.append("--disable-single")
- if '+ghost' in spec:
- args.append('--enable-ghost')
+ if "+ghost" in spec:
+ args.append("--enable-ghost")
else:
- args.append('--disable-ghost')
+ args.append("--disable-ghost")
- if '+mpi' in spec:
- args.append('--enable-mpi')
+ if "+mpi" in spec:
+ args.append("--enable-mpi")
else:
- args.append('--disable-mpi')
+ args.append("--disable-mpi")
- if '+h_correction' in spec:
- args.append('--enable-h-correction')
+ if "+h_correction" in spec:
+ args.append("--enable-h-correction")
else:
- args.append('--disable-h-correction')
+ args.append("--disable-h-correction")
- if '+fft' in spec:
- args.append('--enable-fft')
+ if "+fft" in spec:
+ args.append("--enable-fft")
else:
- args.append('--disable-fft')
+ args.append("--disable-fft")
- if '+shearing_box' in spec:
- args.append('--enable-shearing-box')
+ if "+shearing_box" in spec:
+ args.append("--enable-shearing-box")
else:
- args.append('--disable-shearing-box')
+ args.append("--disable-shearing-box")
- if '+fargo' in spec:
- args.append('--enable-fargo')
+ if "+fargo" in spec:
+ args.append("--enable-fargo")
else:
- args.append('--disable-fargo')
+ args.append("--disable-fargo")
- if '+sts' in spec:
- args.append('--enable-sts')
+ if "+sts" in spec:
+ args.append("--enable-sts")
else:
- args.append('--disable-sts')
+ args.append("--disable-sts")
- if '+smr' in spec:
- args.append('--enable-smr')
+ if "+smr" in spec:
+ args.append("--enable-smr")
else:
- args.append('--disable-smr')
+ args.append("--disable-smr")
- if '+fofc' in spec:
- args.append('--enable-fofc')
+ if "+fofc" in spec:
+ args.append("--enable-fofc")
else:
- args.append('--disable-fofc')
+ args.append("--disable-fofc")
- if '+rotating_frame' in spec:
- args.append('--enable-rotating_frame')
+ if "+rotating_frame" in spec:
+ args.append("--enable-rotating_frame")
else:
- args.append('--disable-rotating_frame')
+ args.append("--disable-rotating_frame")
- if '+l1_inflow' in spec:
- args.append('--enable-l1_inflow')
+ if "+l1_inflow" in spec:
+ args.append("--enable-l1_inflow")
else:
- args.append('--disable-l1_inflow')
-
- args.extend([
- '--with-problem=' + spec.variants['problem'].value,
- '--with-gas=' + spec.variants['gas'].value,
- '--with-eos=' + spec.variants['eos'].value,
- '--with-nscalars=' + spec.variants['nscalars'].value,
- '--with-gravity=' + spec.variants['gravity'].value,
- '--with-particles=' + spec.variants['particles'].value,
- '--with-coord=' + spec.variants['coord'].value,
- '--with-order=' + spec.variants['order'].value,
- '--with-flux=' + spec.variants['flux'].value,
- '--with-integrator=' + spec.variants['integrator'].value,
- '--with-cflags=' + spec.variants['cflags'].value,
- ])
+ args.append("--disable-l1_inflow")
+
+ args.extend(
+ [
+ "--with-problem=" + spec.variants["problem"].value,
+ "--with-gas=" + spec.variants["gas"].value,
+ "--with-eos=" + spec.variants["eos"].value,
+ "--with-nscalars=" + spec.variants["nscalars"].value,
+ "--with-gravity=" + spec.variants["gravity"].value,
+ "--with-particles=" + spec.variants["particles"].value,
+ "--with-coord=" + spec.variants["coord"].value,
+ "--with-order=" + spec.variants["order"].value,
+ "--with-flux=" + spec.variants["flux"].value,
+ "--with-integrator=" + spec.variants["integrator"].value,
+ "--with-cflags=" + spec.variants["cflags"].value,
+ ]
+ )
return args
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('bin/athena', prefix.bin)
+ install("bin/athena", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/atk/package.py b/var/spack/repos/builtin/packages/atk/package.py
index 1db677f784..6080ae09b7 100644
--- a/var/spack/repos/builtin/packages/atk/package.py
+++ b/var/spack/repos/builtin/packages/atk/package.py
@@ -8,60 +8,65 @@ from spack.package import *
class Atk(Package):
"""ATK provides the set of accessibility interfaces that are
- implemented by other toolkits and applications. Using the ATK
- interfaces, accessibility tools have full access to view and
- control running applications."""
+ implemented by other toolkits and applications. Using the ATK
+ interfaces, accessibility tools have full access to view and
+ control running applications."""
homepage = "https://developer.gnome.org/atk/"
- url = "https://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.tar.xz"
+ url = "https://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.tar.xz"
list_url = "https://ftp.gnome.org/pub/gnome/sources/atk"
list_depth = 1
- version('2.36.0', sha256='fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788')
- version('2.30.0', sha256='dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b')
- version('2.28.1', sha256='cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc')
- version('2.20.0', sha256='493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0', deprecated=True)
- version('2.14.0', sha256='2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad', deprecated=True)
+ version("2.36.0", sha256="fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788")
+ version("2.30.0", sha256="dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b")
+ version("2.28.1", sha256="cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc")
+ version(
+ "2.20.0",
+ sha256="493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0",
+ deprecated=True,
+ )
+ version(
+ "2.14.0",
+ sha256="2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad",
+ deprecated=True,
+ )
- depends_on('meson@0.40.1:', type='build', when='@2.28:')
- depends_on('meson@0.46.0:', type='build', when='@2.29:')
- depends_on('glib')
- depends_on('gettext')
- depends_on('pkgconfig', type='build')
- depends_on('gobject-introspection')
- depends_on('libffi')
+ depends_on("meson@0.40.1:", type="build", when="@2.28:")
+ depends_on("meson@0.46.0:", type="build", when="@2.29:")
+ depends_on("glib")
+ depends_on("gettext")
+ depends_on("pkgconfig", type="build")
+ depends_on("gobject-introspection")
+ depends_on("libffi")
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
- url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
- return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/gnome/sources/atk"
+ return url + "/%s/atk-%s.tar.xz" % (version.up_to(2), version)
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
- meson('..', *std_meson_args)
- ninja('-v')
- ninja('install')
+ with working_dir("spack-build", create=True):
+ meson("..", *std_meson_args)
+ ninja("-v")
+ ninja("install")
- @when('@:2.27')
+ @when("@:2.27")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix))
+ configure("--prefix={0}".format(prefix))
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
diff --git a/var/spack/repos/builtin/packages/atlas/package.py b/var/spack/repos/builtin/packages/atlas/package.py
index 0126c7a3f2..730ffcec9e 100644
--- a/var/spack/repos/builtin/packages/atlas/package.py
+++ b/var/spack/repos/builtin/packages/atlas/package.py
@@ -16,51 +16,62 @@ class Atlas(Package):
of linear algebra kernels known as the Basic Linear Algebra Subroutines
(BLAS), and a subset of the linear algebra routines in the LAPACK library.
"""
+
homepage = "http://math-atlas.sourceforge.net/"
# Developer (unstable)
- version('3.11.41', sha256='477d567a8d683e891d786e9e8bb6ad6659daa9ba18e8dd0e2f70b7a54095f8de')
- version('3.11.39', sha256='584bd44572746142bf19348139530c18f4538ce41d94330ff86ede38c36eddc9')
- version('3.11.34', sha256='b6d42af3afd4fe54ef3a04a070fc7e75f6d8ac9f7d4886b636fe27ebfcbdf91f')
+ version("3.11.41", sha256="477d567a8d683e891d786e9e8bb6ad6659daa9ba18e8dd0e2f70b7a54095f8de")
+ version("3.11.39", sha256="584bd44572746142bf19348139530c18f4538ce41d94330ff86ede38c36eddc9")
+ version("3.11.34", sha256="b6d42af3afd4fe54ef3a04a070fc7e75f6d8ac9f7d4886b636fe27ebfcbdf91f")
# Stable
- version('3.10.3', sha256='2688eb733a6c5f78a18ef32144039adcd62fabce66f2eb51dd59dde806a6d2b7', preferred=True)
- version('3.10.2', sha256='3aab139b118bf3fcdb4956fbd71676158d713ab0d3bccb2ae1dc3769db22102f')
+ version(
+ "3.10.3",
+ sha256="2688eb733a6c5f78a18ef32144039adcd62fabce66f2eb51dd59dde806a6d2b7",
+ preferred=True,
+ )
+ version("3.10.2", sha256="3aab139b118bf3fcdb4956fbd71676158d713ab0d3bccb2ae1dc3769db22102f")
# not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0
# Lapack routines. Stick with 3.5.0 until this is fixed.
- resource(name='lapack',
- url='https://www.netlib.org/lapack/lapack-3.5.0.tgz',
- sha256='9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352',
- destination='spack-resource-lapack',
- when='@3:')
+ resource(
+ name="lapack",
+ url="https://www.netlib.org/lapack/lapack-3.5.0.tgz",
+ sha256="9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352",
+ destination="spack-resource-lapack",
+ when="@3:",
+ )
- variant('shared', default=True, description='Builds shared library')
+ variant("shared", default=True, description="Builds shared library")
variant(
- 'threads', default='none',
- description='Multithreading support',
- values=('pthreads', 'none'),
- multi=False
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("pthreads", "none"),
+ multi=False,
)
- variant('tune_cpu', default=-1, multi=False,
- description="Number of threads to tune to, "
- "-1 for autodetect, 0 for no threading")
+ variant(
+ "tune_cpu",
+ default=-1,
+ multi=False,
+ description="Number of threads to tune to, " "-1 for autodetect, 0 for no threading",
+ )
- provides('blas')
- provides('lapack')
- provides('lapack@3.6.1')
+ provides("blas")
+ provides("lapack")
+ provides("lapack@3.6.1")
parallel = False
def url_for_version(self, version):
- url = 'https://sourceforge.net/projects/math-atlas/files/'
+ url = "https://sourceforge.net/projects/math-atlas/files/"
- if version >= Version('3.11'):
- url += 'Developer%20%28unstable%29/{0}/atlas{0}.tar.bz2'
+ if version >= Version("3.11"):
+ url += "Developer%20%28unstable%29/{0}/atlas{0}.tar.bz2"
else:
- url += 'Stable/{0}/atlas{0}.tar.bz2'
+ url += "Stable/{0}/atlas{0}.tar.bz2"
return url.format(version)
@@ -68,8 +79,7 @@ class Atlas(Package):
# Disable thread check. LLNL's environment does not allow
# disabling of CPU throttling in a way that ATLAS actually
# understands.
- filter_file(r'^\s+if \(thrchk\) exit\(1\);', 'if (0) exit(1);',
- 'CONFIG/src/config.c')
+ filter_file(r"^\s+if \(thrchk\) exit\(1\);", "if (0) exit(1);", "CONFIG/src/config.c")
# TODO: investigate a better way to add the check back in
# TODO: using, say, MSRs. Or move this to a variant.
@@ -79,48 +89,38 @@ class Atlas(Package):
# https://github.com/macports/macports-ports/blob/master/math/atlas/Portfile
# https://github.com/Homebrew/homebrew-science/pull/3571
options = []
- if '+shared' in spec:
- options.extend([
- '--shared'
- ])
+ if "+shared" in spec:
+ options.extend(["--shared"])
# TODO: for non GNU add '-Fa', 'alg', '-fPIC' ?
# configure for 64-bit build
- options.extend([
- '-b', '64'
- ])
+ options.extend(["-b", "64"])
# set number of cpu's to tune to
- options.extend([
- '-t', spec.variants['tune_cpu'].value
- ])
+ options.extend(["-t", spec.variants["tune_cpu"].value])
# set compilers:
- options.extend([
- '-C', 'ic', spack_cc,
- '-C', 'if', spack_f77
- ])
+ options.extend(["-C", "ic", spack_cc, "-C", "if", spack_f77])
# Workaround for macOS Clang:
# http://math-atlas.sourceforge.net/atlas_install/node66.html
- if spec.satisfies('@3.10.3: %apple-clang'):
- options.append('--force-clang=' + spack_cc)
+ if spec.satisfies("@3.10.3: %apple-clang"):
+ options.append("--force-clang=" + spack_cc)
# Lapack resource to provide full lapack build. Note that
# ATLAS only provides a few LAPACK routines natively.
- options.append('--with-netlib-lapack-tarfile=%s' %
- self.stage[1].archive_file)
+ options.append("--with-netlib-lapack-tarfile=%s" % self.stage[1].archive_file)
- with working_dir('spack-build', create=True):
- configure = Executable('../configure')
- configure('--prefix=%s' % prefix, *options)
+ with working_dir("spack-build", create=True):
+ configure = Executable("../configure")
+ configure("--prefix=%s" % prefix, *options)
make()
- make('check')
- make('ptcheck')
- make('time')
- if '+shared' in spec:
- with working_dir('lib'):
- make('shared_all')
+ make("check")
+ make("ptcheck")
+ make("time")
+ if "+shared" in spec:
+ with working_dir("lib"):
+ make("shared_all")
make("install")
if self.run_tests:
@@ -131,32 +131,24 @@ class Atlas(Package):
# libsatlas.[so,dylib,dll ] contains all serial APIs (serial lapack,
# serial BLAS), and all ATLAS symbols needed to support them. Whereas
# libtatlas.[so,dylib,dll ] is parallel (multithreaded) version.
- is_threaded = self.spec.satisfies('threads=pthreads')
- if '+shared' in self.spec:
- to_find = ['libtatlas'] if is_threaded else ['libsatlas']
+ is_threaded = self.spec.satisfies("threads=pthreads")
+ if "+shared" in self.spec:
+ to_find = ["libtatlas"] if is_threaded else ["libsatlas"]
shared = True
else:
- interfaces = [
- 'libptcblas',
- 'libptf77blas'
- ] if is_threaded else [
- 'libcblas',
- 'libf77blas'
- ]
- to_find = ['liblapack'] + interfaces + ['libatlas']
+ interfaces = (
+ ["libptcblas", "libptf77blas"] if is_threaded else ["libcblas", "libf77blas"]
+ )
+ to_find = ["liblapack"] + interfaces + ["libatlas"]
shared = False
- return find_libraries(
- to_find, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(to_find, root=self.prefix, shared=shared, recursive=True)
def install_test(self):
- source_file = join_path(os.path.dirname(self.module.__file__),
- 'test_cblas_dgemm.c')
- blessed_file = join_path(os.path.dirname(self.module.__file__),
- 'test_cblas_dgemm.output')
+ source_file = join_path(os.path.dirname(self.module.__file__), "test_cblas_dgemm.c")
+ blessed_file = join_path(os.path.dirname(self.module.__file__), "test_cblas_dgemm.output")
include_flags = ["-I%s" % self.spec.prefix.include]
- link_flags = self.spec['atlas'].libs.ld_flags.split()
+ link_flags = self.spec["atlas"].libs.ld_flags.split()
output = compile_c_and_execute(source_file, include_flags, link_flags)
compare_output_file(output, blessed_file)
diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py
index e65d499ca2..7e4c71249f 100644
--- a/var/spack/repos/builtin/packages/atmi/package.py
+++ b/var/spack/repos/builtin/packages/atmi/package.py
@@ -9,59 +9,117 @@ from spack.package import *
class Atmi(CMakePackage):
"""Asynchronous Task and Memory Interface, or ATMI, is a runtime framework
- and programming model for heterogeneous CPU-GPU systems. It provides a
- consistent, declarative API to create task graphs on CPUs and GPUs
- (integrated and discrete)."""
+ and programming model for heterogeneous CPU-GPU systems. It provides a
+ consistent, declarative API to create task graphs on CPUs and GPUs
+ (integrated and discrete)."""
homepage = "https://github.com/RadeonOpenCompute/atmi"
- git = "https://github.com/RadeonOpenCompute/atmi.git"
- url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/RadeonOpenCompute/atmi.git"
+ url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('5.1.3', sha256='a43448d77705b2b07e1758ffe8035aa6ba146abc2167984e8cb0f1615797b341')
- version('5.1.0', sha256='6a758f5a8332e6774cd8e14a4e5ce05e43b1e05298d817b4068c35fa1793d333')
- version('5.0.2', sha256='3aea040f5a246539ab118f2183cf3e802a21e0e6215a53025eda77f382341747')
- version('5.0.0', sha256='208c1773170722b60b74357e264e698df5871e9d9d490d64011e6ea76750d9cf')
- version('4.5.2', sha256='c235cfb8bdd89deafecf9123264217b8cc5577a5469e3e1f24587fa820d0792e')
- version('4.5.0', sha256='64eeb0244cedae99db7dfdb365e0ad624106cc1090a531f94885ae81e254aabf')
- version('4.3.1', sha256='4497fa6d33547b946e2a51619f2777ec36e9cff1b07fd534eb8a5ef0d8e30650', deprecated=True)
- version('4.3.0', sha256='1cbe0e9258ce7cce7b7ccc288335dffbac821ceb745c4f3fd48e2a258abada89', deprecated=True)
- version('4.2.0', sha256='c1c89c00d2dc3e764c63b2e51ff7fd5c06d5881ed56aed0adf639582d3389585', deprecated=True)
- version('4.1.0', sha256='b31849f86c79f90466a9d67f0a28a93c1675181e38e2a5f571ffc963e4b06f5f', deprecated=True)
- version('4.0.0', sha256='8a2e5789ee7165aff0f0669eecd23ac0a5c8a5bfbc1acd9380fe9a8ed5bffe3a', deprecated=True)
- version('3.10.0', sha256='387e87c622ec334d3ba7a2f4f015ea9a219712722f4c56c1ef572203d0d072ea', deprecated=True)
- version('3.9.0', sha256='0a305e85bab210dd9a0410aa01d46227e00b59141e4675c50d731ad1232ab828', deprecated=True)
- version('3.8.0', sha256='039f0c2b369d0dbc01000754893d9210828f4cb9b36c3e70da8c3819b131c933', deprecated=True)
- version('3.7.0', sha256='8df08489a10ee04cea911811393e0e7d91bd437fc1fd81a23a4e7ab924a974f3', deprecated=True)
- version('3.5.0', sha256='3fb57d2e583fab82bd0582d0c2bccff059ca91122c18ac49a7770a8bb041a37b', deprecated=True)
+ version("5.1.3", sha256="a43448d77705b2b07e1758ffe8035aa6ba146abc2167984e8cb0f1615797b341")
+ version("5.1.0", sha256="6a758f5a8332e6774cd8e14a4e5ce05e43b1e05298d817b4068c35fa1793d333")
+ version("5.0.2", sha256="3aea040f5a246539ab118f2183cf3e802a21e0e6215a53025eda77f382341747")
+ version("5.0.0", sha256="208c1773170722b60b74357e264e698df5871e9d9d490d64011e6ea76750d9cf")
+ version("4.5.2", sha256="c235cfb8bdd89deafecf9123264217b8cc5577a5469e3e1f24587fa820d0792e")
+ version("4.5.0", sha256="64eeb0244cedae99db7dfdb365e0ad624106cc1090a531f94885ae81e254aabf")
+ version(
+ "4.3.1",
+ sha256="4497fa6d33547b946e2a51619f2777ec36e9cff1b07fd534eb8a5ef0d8e30650",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="1cbe0e9258ce7cce7b7ccc288335dffbac821ceb745c4f3fd48e2a258abada89",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="c1c89c00d2dc3e764c63b2e51ff7fd5c06d5881ed56aed0adf639582d3389585",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="b31849f86c79f90466a9d67f0a28a93c1675181e38e2a5f571ffc963e4b06f5f",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="8a2e5789ee7165aff0f0669eecd23ac0a5c8a5bfbc1acd9380fe9a8ed5bffe3a",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="387e87c622ec334d3ba7a2f4f015ea9a219712722f4c56c1ef572203d0d072ea",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="0a305e85bab210dd9a0410aa01d46227e00b59141e4675c50d731ad1232ab828",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="039f0c2b369d0dbc01000754893d9210828f4cb9b36c3e70da8c3819b131c933",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="8df08489a10ee04cea911811393e0e7d91bd437fc1fd81a23a4e7ab924a974f3",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="3fb57d2e583fab82bd0582d0c2bccff059ca91122c18ac49a7770a8bb041a37b",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3:', type='build')
- depends_on('rsync')
+ depends_on("cmake@3:", type="build")
+ depends_on("rsync")
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('comgr@' + ver, type='link', when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
- depends_on('elf', type='link', 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("comgr@" + ver, type="link", when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver)
+ depends_on("elf", type="link", when="@" + ver)
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
- patch('0001-Remove-relative-link-paths-to-external-libraries.patch', when='@3.5.0')
- patch('0002-Remove-usr-bin-rsync-reference.patch', when='@4.0.0:')
+ patch("0001-Remove-relative-link-paths-to-external-libraries.patch", when="@3.5.0")
+ patch("0002-Remove-usr-bin-rsync-reference.patch", when="@4.0.0:")
def cmake_args(self):
- args = [
- '-DROCM_VERSION={0}'.format(self.spec.version)
- ]
- if self.spec.satisfies('@5.0.2:'):
- args.append(self.define('FILE_REORG_BACKWARD_COMPATIBILITY', 'OFF'))
+ args = ["-DROCM_VERSION={0}".format(self.spec.version)]
+ if self.spec.satisfies("@5.0.2:"):
+ args.append(self.define("FILE_REORG_BACKWARD_COMPATIBILITY", "OFF"))
return args
- @run_after('install')
+ @run_after("install")
def install_stub(self):
- install('include/atmi_interop_hsa.h', self.prefix.include)
+ install("include/atmi_interop_hsa.h", self.prefix.include)
diff --git a/var/spack/repos/builtin/packages/atom-dft/package.py b/var/spack/repos/builtin/packages/atom-dft/package.py
index 5d8e50e4f3..1275d11ff5 100644
--- a/var/spack/repos/builtin/packages/atom-dft/package.py
+++ b/var/spack/repos/builtin/packages/atom-dft/package.py
@@ -8,25 +8,27 @@ from spack.package import *
class AtomDft(MakefilePackage):
"""ATOM is a program for DFT calculations in atoms and pseudopotential
- generation."""
+ generation."""
homepage = "https://departments.icmab.es/leem/siesta/Pseudopotentials/"
- url = "https://departments.icmab.es/leem/siesta/Pseudopotentials/Code/atom-4.2.6.tgz"
+ url = "https://departments.icmab.es/leem/siesta/Pseudopotentials/Code/atom-4.2.6.tgz"
- version('4.2.6', sha256='489f0d883af35525647a8b8f691e7845c92fe6b5a25b13e1ed368edfd0391ed2')
+ version("4.2.6", sha256="489f0d883af35525647a8b8f691e7845c92fe6b5a25b13e1ed368edfd0391ed2")
- depends_on('libgridxc')
- depends_on('xmlf90')
+ depends_on("libgridxc")
+ depends_on("xmlf90")
def edit(self, spec, prefix):
- copy('arch.make.sample', 'arch.make')
+ copy("arch.make.sample", "arch.make")
@property
def build_targets(self):
- return ['XMLF90_ROOT=%s' % self.spec['xmlf90'].prefix,
- 'GRIDXC_ROOT=%s' % self.spec['libgridxc'].prefix,
- 'FC=fc']
+ return [
+ "XMLF90_ROOT=%s" % self.spec["xmlf90"].prefix,
+ "GRIDXC_ROOT=%s" % self.spec["libgridxc"].prefix,
+ "FC=fc",
+ ]
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('atm', prefix.bin)
+ install("atm", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/atompaw/package.py b/var/spack/repos/builtin/packages/atompaw/package.py
index b1942132f9..f409f929b4 100644
--- a/var/spack/repos/builtin/packages/atompaw/package.py
+++ b/var/spack/repos/builtin/packages/atompaw/package.py
@@ -15,37 +15,38 @@ class Atompaw(AutotoolsPackage):
User's guide: ~/doc/atompaw-usersguide.pdf
"""
+
homepage = "https://users.wfu.edu/natalie/papers/pwpaw/man.html"
url = "https://users.wfu.edu/natalie/papers/pwpaw/atompaw-4.0.0.13.tar.gz"
- version('4.2.0.1', sha256='d3476a5aa5f80f9430b81f28273c2c2a9b6e7d9c3d08c65544247bb76cd5a114')
- version('4.2.0.0', sha256='9ab4f4ab78a720fbcd95bbbc1403e8ff348d15570e7c694932a56be15985e93d')
- version('4.1.1.0', sha256='b1ee2b53720066655d98523ef337e54850cb1e68b3a2da04ff5a1576d3893891')
- version('4.0.0.13', sha256='cbd73f11f3e9cc3ff2e5f3ec87498aeaf439555903d0b95a72f3b0a021902020')
- version('3.1.0.3', sha256='15fe9a0369bdcc366370a0ecaa67e803ae54534b479ad63c4c7494a04fa3ea78')
+ version("4.2.0.1", sha256="d3476a5aa5f80f9430b81f28273c2c2a9b6e7d9c3d08c65544247bb76cd5a114")
+ version("4.2.0.0", sha256="9ab4f4ab78a720fbcd95bbbc1403e8ff348d15570e7c694932a56be15985e93d")
+ version("4.1.1.0", sha256="b1ee2b53720066655d98523ef337e54850cb1e68b3a2da04ff5a1576d3893891")
+ version("4.0.0.13", sha256="cbd73f11f3e9cc3ff2e5f3ec87498aeaf439555903d0b95a72f3b0a021902020")
+ version("3.1.0.3", sha256="15fe9a0369bdcc366370a0ecaa67e803ae54534b479ad63c4c7494a04fa3ea78")
depends_on("lapack")
depends_on("blas")
# libxc
- depends_on('libxc')
- depends_on('libxc@:2', when='@:4.0')
+ depends_on("libxc")
+ depends_on("libxc@:2", when="@:4.0")
- patch('atompaw-4.1.1.0-fix-ifort.patch', when='@4.1.1.0:4.2.0.0')
- patch('atompaw-4.1.1.0-fix-fujitsu.patch', when='@4.1.1.0 %fj')
+ patch("atompaw-4.1.1.0-fix-ifort.patch", when="@4.1.1.0:4.2.0.0")
+ patch("atompaw-4.1.1.0-fix-fujitsu.patch", when="@4.1.1.0 %fj")
parallel = False
def flag_handler(self, name, flags):
- if self.spec.satisfies('%fj') and name == 'fflags':
+ if self.spec.satisfies("%fj") and name == "fflags":
opt_flag_found = any(f in self.compiler.opt_flags for f in flags)
if not opt_flag_found:
- flags.append('-Kfast')
+ flags.append("-Kfast")
return (flags, None, None)
def configure_args(self):
spec = self.spec
- linalg = spec['lapack'].libs + spec['blas'].libs
+ linalg = spec["lapack"].libs + spec["blas"].libs
return [
"--with-linalg-libs=%s" % linalg.ld_flags,
"--enable-libxc",
diff --git a/var/spack/repos/builtin/packages/atop/package.py b/var/spack/repos/builtin/packages/atop/package.py
index 8d837d8c4b..876e4d7c38 100644
--- a/var/spack/repos/builtin/packages/atop/package.py
+++ b/var/spack/repos/builtin/packages/atop/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Atop(Package):
"""Atop is an ASCII full-screen performance monitor for Linux"""
+
homepage = "https://www.atoptool.nl/index.php"
- url = "https://www.atoptool.nl/download/atop-2.2-3.tar.gz"
+ url = "https://www.atoptool.nl/download/atop-2.2-3.tar.gz"
- version('2.5.0', sha256='4b911057ce50463b6e8b3016c5963d48535c0cddeebc6eda817e292b22f93f33')
- version('2.4.0', sha256='be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69')
- version('2.3.0', sha256='73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264')
- version('2.2.6', sha256='d0386840ee4df36e5d0ad55f144661b434d9ad35d94deadc0405b514485db615')
- version('2.2-3', sha256='c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d')
+ version("2.5.0", sha256="4b911057ce50463b6e8b3016c5963d48535c0cddeebc6eda817e292b22f93f33")
+ version("2.4.0", sha256="be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69")
+ version("2.3.0", sha256="73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264")
+ version("2.2.6", sha256="d0386840ee4df36e5d0ad55f144661b434d9ad35d94deadc0405b514485db615")
+ version("2.2-3", sha256="c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d")
- depends_on('zlib')
- depends_on('ncurses')
+ depends_on("zlib")
+ depends_on("ncurses")
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', '-ltinfo')
+ env.append_flags("LDFLAGS", "-ltinfo")
def install(self, spec, prefix):
make()
mkdirp(prefix.bin)
install("atop", join_path(prefix.bin, "atop"))
mkdirp(join_path(prefix.man, "man1"))
- install(join_path("man", "atop.1"),
- join_path(prefix.man, "man1", "atop.1"))
+ install(join_path("man", "atop.1"), join_path(prefix.man, "man1", "atop.1"))
diff --git a/var/spack/repos/builtin/packages/attr/package.py b/var/spack/repos/builtin/packages/attr/package.py
index 982b1614f8..73c12de997 100644
--- a/var/spack/repos/builtin/packages/attr/package.py
+++ b/var/spack/repos/builtin/packages/attr/package.py
@@ -10,27 +10,27 @@ class Attr(AutotoolsPackage):
"""Commands for Manipulating Filesystem Extended Attributes"""
homepage = "https://savannah.nongnu.org/projects/attr"
- url = "http://download.savannah.gnu.org/releases/attr/attr-2.4.47.src.tar.gz"
+ url = "http://download.savannah.gnu.org/releases/attr/attr-2.4.47.src.tar.gz"
- version('2.4.48', sha256='5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7')
- version('2.4.47', sha256='25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859')
- version('2.4.46', sha256='dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f')
+ version("2.4.48", sha256="5ead72b358ec709ed00bbf7a9eaef1654baad937c001c044fe8b74c57f5324e7")
+ version("2.4.47", sha256="25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859")
+ version("2.4.46", sha256="dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f")
def url_for_version(self, version):
- if version >= Version('2.4.48'):
- url = 'http://download.savannah.gnu.org/releases/attr/attr-{0}.tar.gz'
+ if version >= Version("2.4.48"):
+ url = "http://download.savannah.gnu.org/releases/attr/attr-{0}.tar.gz"
else:
- url = 'http://download.savannah.gnu.org/releases/attr/attr-{0}.src.tar.gz'
+ url = "http://download.savannah.gnu.org/releases/attr/attr-{0}.src.tar.gz"
return url.format(version)
def configure_args(self):
args = []
- args.append('--disable-static')
+ args.append("--disable-static")
return args
# Ref. https://www.linuxfromscratch.org/blfs/view/7.5/postlfs/attr.html
def install(self, spec, prefix):
- if self.version >= Version('2.4.48'):
- make('install')
+ if self.version >= Version("2.4.48"):
+ make("install")
else:
- make('install', 'install-dev', 'install-lib')
+ make("install", "install-dev", "install-lib")
diff --git a/var/spack/repos/builtin/packages/audacious/package.py b/var/spack/repos/builtin/packages/audacious/package.py
index d084f74b1e..d929efaec8 100644
--- a/var/spack/repos/builtin/packages/audacious/package.py
+++ b/var/spack/repos/builtin/packages/audacious/package.py
@@ -9,28 +9,28 @@ class Audacious(AutotoolsPackage):
"""A lightweight and versatile audio player."""
homepage = "https://audacious-media-player.org/"
- url = "https://github.com/audacious-media-player/audacious/archive/audacious-4.0.2.tar.gz"
+ url = "https://github.com/audacious-media-player/audacious/archive/audacious-4.0.2.tar.gz"
- version('4.0.2', sha256='92f30a78353c50f99b536061b9d94b6b9128760d546fddbf863e3591c4ac5a8d')
- version('4.0.1', sha256='203195cf0d3c2e40d23c9895269ca0ace639c4a2b4dceb624169d75337059985')
- version('4.0', sha256='cdfffd0eb966856980328ebb0fff9cbce57f99db9bda15e7e839d26c89e953e6')
- version('3.10.1', sha256='c478939b4bcf6704c26eee87d48cab26547e92a83741f437711178c433373fa1')
- version('3.10', sha256='82710d6ac90931c2cc4a0f0fcb6380ac21ed42a7a50856d16a67d3179a96e9ae')
+ version("4.0.2", sha256="92f30a78353c50f99b536061b9d94b6b9128760d546fddbf863e3591c4ac5a8d")
+ version("4.0.1", sha256="203195cf0d3c2e40d23c9895269ca0ace639c4a2b4dceb624169d75337059985")
+ version("4.0", sha256="cdfffd0eb966856980328ebb0fff9cbce57f99db9bda15e7e839d26c89e953e6")
+ version("3.10.1", sha256="c478939b4bcf6704c26eee87d48cab26547e92a83741f437711178c433373fa1")
+ version("3.10", sha256="82710d6ac90931c2cc4a0f0fcb6380ac21ed42a7a50856d16a67d3179a96e9ae")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gettext')
- depends_on('iconv', type='link')
- depends_on('glib')
- depends_on('qt')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gettext")
+ depends_on("iconv", type="link")
+ depends_on("glib")
+ depends_on("qt")
def patch(self):
- search_path_args = ' '.join(self.autoreconf_search_path_args)
- search_path_str = '-I m4 {0}'.format(search_path_args)
- filter_file('-I m4', search_path_str, 'autogen.sh')
+ search_path_args = " ".join(self.autoreconf_search_path_args)
+ search_path_str = "-I m4 {0}".format(search_path_args)
+ filter_file("-I m4", search_path_str, "autogen.sh")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/audacity/package.py b/var/spack/repos/builtin/packages/audacity/package.py
index b2e56e9cad..2968f185dd 100644
--- a/var/spack/repos/builtin/packages/audacity/package.py
+++ b/var/spack/repos/builtin/packages/audacity/package.py
@@ -14,10 +14,10 @@ class Audacity(CMakePackage):
and the audio I/O supports PulseAudio, OSS and ALSA under Linux."""
homepage = "http://audacity.sourceforge.net"
- url = "https://github.com/audacity/audacity/archive/Audacity-2.4.2.tar.gz"
+ url = "https://github.com/audacity/audacity/archive/Audacity-2.4.2.tar.gz"
- version('2.4.2', sha256='cdb4800c8e9d1d4ca19964caf8d24000f80286ebd8a4db566c2622449744c099')
- version('2.4.1', sha256='50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f')
- version('2.4.0', sha256='5d1c096d7b04ff8d5dbca3dca5b9d9f8e62093b5ea6e57ae5f821ae3132dc88f')
+ version("2.4.2", sha256="cdb4800c8e9d1d4ca19964caf8d24000f80286ebd8a4db566c2622449744c099")
+ version("2.4.1", sha256="50240f07471373a7e5c2df65cc26eeeaaced9a0850ad1f95cb795f171ea3009f")
+ version("2.4.0", sha256="5d1c096d7b04ff8d5dbca3dca5b9d9f8e62093b5ea6e57ae5f821ae3132dc88f")
- depends_on('wxwidgets')
+ depends_on("wxwidgets")
diff --git a/var/spack/repos/builtin/packages/audit-userspace/package.py b/var/spack/repos/builtin/packages/audit-userspace/package.py
index 720625df54..c4f37edc7d 100644
--- a/var/spack/repos/builtin/packages/audit-userspace/package.py
+++ b/var/spack/repos/builtin/packages/audit-userspace/package.py
@@ -10,16 +10,16 @@ class AuditUserspace(AutotoolsPackage):
"""Linux audit userspace"""
homepage = "https://github.com/linux-audit/audit-userspace"
- url = "https://github.com/linux-audit/audit-userspace/archive/v2.8.5.tar.gz"
+ url = "https://github.com/linux-audit/audit-userspace/archive/v2.8.5.tar.gz"
- version('2.8.5', sha256='835ffdd65056ba0c26509dbf48882713b00dbe70e1d8cf25d538501136c2e3e9')
- version('2.8.4', sha256='089dfdceb38edf056202a6de4892fd0c9aaa964c08bd7806c5d0c7c33f09e18d')
- version('2.8.3', sha256='c239e3813b84bc264aaf2f796c131c1fe02960244f789ec2bd8d88aad4561b29')
- version('2.8.2', sha256='0a312a8487190d97715d46abb30aa2abd464b55f21d5c2d24428baa320ee4ce2')
+ version("2.8.5", sha256="835ffdd65056ba0c26509dbf48882713b00dbe70e1d8cf25d538501136c2e3e9")
+ version("2.8.4", sha256="089dfdceb38edf056202a6de4892fd0c9aaa964c08bd7806c5d0c7c33f09e18d")
+ version("2.8.3", sha256="c239e3813b84bc264aaf2f796c131c1fe02960244f789ec2bd8d88aad4561b29")
+ version("2.8.2", sha256="0a312a8487190d97715d46abb30aa2abd464b55f21d5c2d24428baa320ee4ce2")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('openldap')
- depends_on('swig')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("openldap")
+ depends_on("swig")
diff --git a/var/spack/repos/builtin/packages/augustus/package.py b/var/spack/repos/builtin/packages/augustus/package.py
index afac299ac6..962ce2faa1 100644
--- a/var/spack/repos/builtin/packages/augustus/package.py
+++ b/var/spack/repos/builtin/packages/augustus/package.py
@@ -11,177 +11,177 @@ from spack.pkg.builtin.boost import Boost
class Augustus(MakefilePackage):
"""AUGUSTUS is a program that predicts genes in eukaryotic
- genomic sequences"""
+ genomic sequences"""
homepage = "https://bioinf.uni-greifswald.de/augustus/"
- url = "https://github.com/Gaius-Augustus/Augustus/archive/v3.3.4.tar.gz"
+ url = "https://github.com/Gaius-Augustus/Augustus/archive/v3.3.4.tar.gz"
# Releases have moved to github
- version('3.4.0', sha256='2c06cf5953da5afdce1478fa10fcd3c280a3b050f1b2367bf3e731d7374d9bb8')
- version('3.3.2', sha256='d09f972cfd88deb34b19b69878eb8af3bbbe4f1cde1434b69cedc2aa6247a0f2')
- version('3.3.1-tag1', sha256='011379606f381ee21b9716f83e8a1a57b2aaa01aefeebd2748104efa08c47cab',
- url='https://github.com/Gaius-Augustus/Augustus/archive/v3.3.1-tag1.tar.gz')
- version('3.3', sha256='b5eb811a4c33a2cc3bbd16355e19d530eeac6d1ac923e59f48d7a79f396234ee',
- url='https://bioinf.uni-greifswald.de/augustus/binaries/old/augustus-3.3.tar.gz')
- version('3.2.3', sha256='a1af128aefd228dea0c46d6f5234910fdf068a2b9133175ca8da3af639cb4514',
- url='https://bioinf.uni-greifswald.de/augustus/binaries/old/augustus-3.2.3.tar.gz')
-
- depends_on('perl', type=('build', 'run'))
- depends_on('python', when='@3.3.1:', type=('build', 'run'))
- depends_on('bamtools')
- depends_on('gsl')
+ version("3.4.0", sha256="2c06cf5953da5afdce1478fa10fcd3c280a3b050f1b2367bf3e731d7374d9bb8")
+ version("3.3.2", sha256="d09f972cfd88deb34b19b69878eb8af3bbbe4f1cde1434b69cedc2aa6247a0f2")
+ version(
+ "3.3.1-tag1",
+ sha256="011379606f381ee21b9716f83e8a1a57b2aaa01aefeebd2748104efa08c47cab",
+ url="https://github.com/Gaius-Augustus/Augustus/archive/v3.3.1-tag1.tar.gz",
+ )
+ version(
+ "3.3",
+ sha256="b5eb811a4c33a2cc3bbd16355e19d530eeac6d1ac923e59f48d7a79f396234ee",
+ url="https://bioinf.uni-greifswald.de/augustus/binaries/old/augustus-3.3.tar.gz",
+ )
+ version(
+ "3.2.3",
+ sha256="a1af128aefd228dea0c46d6f5234910fdf068a2b9133175ca8da3af639cb4514",
+ url="https://bioinf.uni-greifswald.de/augustus/binaries/old/augustus-3.2.3.tar.gz",
+ )
+
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", when="@3.3.1:", type=("build", "run"))
+ depends_on("bamtools")
+ depends_on("gsl")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('zlib')
- depends_on('htslib')
- depends_on('bcftools')
- depends_on('samtools')
- depends_on('ncurses')
- depends_on('curl', when='@3.3.1:')
- depends_on('sqlite', when='@3.4.0:')
- depends_on('mysql-client', when='@3.4.0:')
- depends_on('mysqlpp', when='@3.4.0:')
- depends_on('lp-solve', when='@3.4.0:')
- depends_on('suite-sparse', when='@3.4.0:')
+ depends_on("zlib")
+ depends_on("htslib")
+ depends_on("bcftools")
+ depends_on("samtools")
+ depends_on("ncurses")
+ depends_on("curl", when="@3.3.1:")
+ depends_on("sqlite", when="@3.4.0:")
+ depends_on("mysql-client", when="@3.4.0:")
+ depends_on("mysqlpp", when="@3.4.0:")
+ depends_on("lp-solve", when="@3.4.0:")
+ depends_on("suite-sparse", when="@3.4.0:")
# Trying to use filter_file here got too complicated so use a patch with a
# corresponding environment variable
- patch('bam2wig_Makefile.patch', when='@3.4.0:')
+ patch("bam2wig_Makefile.patch", when="@3.4.0:")
def edit(self, spec, prefix):
# Set compile commands for each compiler and
# Fix for using 'boost' on Spack. (only after ver.3.3.1-tag1)
- if self.version >= Version('3.3.1-tag1'):
- with working_dir(join_path('auxprogs', 'utrrnaseq', 'Debug')):
- filter_file('g++', spack_cxx, 'makefile', string=True)
- filter_file('g++ -I/usr/include/boost', '{0} -I{1}'
- .format(spack_cxx,
- self.spec['boost'].prefix.include),
- 'src/subdir.mk', string=True)
+ if self.version >= Version("3.3.1-tag1"):
+ with working_dir(join_path("auxprogs", "utrrnaseq", "Debug")):
+ filter_file("g++", spack_cxx, "makefile", string=True)
+ filter_file(
+ "g++ -I/usr/include/boost",
+ "{0} -I{1}".format(spack_cxx, self.spec["boost"].prefix.include),
+ "src/subdir.mk",
+ string=True,
+ )
# Makefiles to set spack compiler over gcc/g++
makefiles = [
- 'auxprogs/aln2wig/Makefile',
- 'auxprogs/bam2hints/Makefile',
- 'auxprogs/bam2wig/Makefile',
- 'auxprogs/compileSpliceCands/Makefile',
- 'auxprogs/homGeneMapping/src/Makefile',
- 'auxprogs/joingenes/Makefile',
- 'src/Makefile',
+ "auxprogs/aln2wig/Makefile",
+ "auxprogs/bam2hints/Makefile",
+ "auxprogs/bam2wig/Makefile",
+ "auxprogs/compileSpliceCands/Makefile",
+ "auxprogs/homGeneMapping/src/Makefile",
+ "auxprogs/joingenes/Makefile",
+ "src/Makefile",
]
- if self.version < Version('3.4.0'):
- makefiles.append('auxprogs/checkTargetSortedness/Makefile')
+ if self.version < Version("3.4.0"):
+ makefiles.append("auxprogs/checkTargetSortedness/Makefile")
- if self.version >= Version('3.4.0'):
- makefiles.extend([
- 'auxprogs/filterBam/src/Makefile',
- 'src/unittests/Makefile',
- ])
+ if self.version >= Version("3.4.0"):
+ makefiles.extend(
+ [
+ "auxprogs/filterBam/src/Makefile",
+ "src/unittests/Makefile",
+ ]
+ )
for makefile in makefiles:
- filter_file('gcc', spack_cc, makefile, string=True)
- filter_file('g++', spack_cxx, makefile, string=True)
-
- bamtools = self.spec['bamtools'].prefix
- bcftools = self.spec['bcftools'].prefix
- htslib = self.spec['htslib'].prefix
- samtools = self.spec['samtools'].prefix
-
- with working_dir(join_path('auxprogs', 'filterBam', 'src')):
- makefile = FileFilter('Makefile')
- makefile.filter('BAMTOOLS = .*', 'BAMTOOLS = {0}'.format(bamtools))
- makefile.filter('INCLUDES = *',
- 'INCLUDES = -I$(BAMTOOLS)/include/bamtools ')
- if 'bamtools@2.5:' in spec:
- makefile.filter('LIBS = -lbamtools -lz',
- 'LIBS = $(BAMTOOLS)/lib64'
- '/libbamtools.a -lz')
- if 'bamtools@:2.4' in spec:
- makefile.filter('LIBS = -lbamtools -lz',
- 'LIBS = $(BAMTOOLS)/lib/bamtools'
- '/libbamtools.a -lz')
- with working_dir(join_path('auxprogs', 'bam2hints')):
- makefile = FileFilter('Makefile')
- makefile.filter('/usr/include/bamtools',
- '{0}/include/bamtools'.format(bamtools))
- if 'bamtools@2.5:' in spec:
- makefile.filter('LIBS = -lbamtools -lz',
- 'LIBS = {0}/lib64'
- '/libbamtools.a -lz'.format(bamtools))
- if 'bamtools@:2.4' in spec:
- makefile.filter('LIBS = -lbamtools -lz',
- 'LIBS = {0}/lib/bamtools'
- '/libbamtools.a -lz'.format(bamtools))
-
- if self.version < Version('3.4.0'):
- with working_dir(join_path('auxprogs', 'bam2wig')):
- makefile = FileFilter('Makefile')
+ filter_file("gcc", spack_cc, makefile, string=True)
+ filter_file("g++", spack_cxx, makefile, string=True)
+
+ bamtools = self.spec["bamtools"].prefix
+ bcftools = self.spec["bcftools"].prefix
+ htslib = self.spec["htslib"].prefix
+ samtools = self.spec["samtools"].prefix
+
+ with working_dir(join_path("auxprogs", "filterBam", "src")):
+ makefile = FileFilter("Makefile")
+ makefile.filter("BAMTOOLS = .*", "BAMTOOLS = {0}".format(bamtools))
+ makefile.filter("INCLUDES = *", "INCLUDES = -I$(BAMTOOLS)/include/bamtools ")
+ if "bamtools@2.5:" in spec:
+ makefile.filter(
+ "LIBS = -lbamtools -lz", "LIBS = $(BAMTOOLS)/lib64" "/libbamtools.a -lz"
+ )
+ if "bamtools@:2.4" in spec:
+ makefile.filter(
+ "LIBS = -lbamtools -lz", "LIBS = $(BAMTOOLS)/lib/bamtools" "/libbamtools.a -lz"
+ )
+ with working_dir(join_path("auxprogs", "bam2hints")):
+ makefile = FileFilter("Makefile")
+ makefile.filter("/usr/include/bamtools", "{0}/include/bamtools".format(bamtools))
+ if "bamtools@2.5:" in spec:
+ makefile.filter(
+ "LIBS = -lbamtools -lz",
+ "LIBS = {0}/lib64" "/libbamtools.a -lz".format(bamtools),
+ )
+ if "bamtools@:2.4" in spec:
+ makefile.filter(
+ "LIBS = -lbamtools -lz",
+ "LIBS = {0}/lib/bamtools" "/libbamtools.a -lz".format(bamtools),
+ )
+
+ if self.version < Version("3.4.0"):
+ with working_dir(join_path("auxprogs", "bam2wig")):
+ makefile = FileFilter("Makefile")
# point tools to spack installations
- makefile.filter('BCFTOOLS=.*$',
- 'BCFTOOLS={0}/include'.format(bcftools))
- makefile.filter('SAMTOOLS=.*$',
- 'SAMTOOLS={0}/include'.format(samtools))
- makefile.filter('HTSLIB=.*$',
- 'HTSLIB={0}/include'.format(htslib))
+ makefile.filter("BCFTOOLS=.*$", "BCFTOOLS={0}/include".format(bcftools))
+ makefile.filter("SAMTOOLS=.*$", "SAMTOOLS={0}/include".format(samtools))
+ makefile.filter("HTSLIB=.*$", "HTSLIB={0}/include".format(htslib))
# fix bad linking dirs
- makefile.filter('$(SAMTOOLS)/libbam.a',
- '$(SAMTOOLS)/../lib/libbam.a', string=True)
- makefile.filter('$(HTSLIB)/libhts.a',
- '$(HTSLIB)/../lib/libhts.a', string=True)
- with working_dir(join_path('auxprogs', 'checkTargetSortedness')):
- makefile = FileFilter('Makefile')
- makefile.filter('SAMTOOLS.*=.*$',
- 'SAMTOOLS={0}/include'.format(samtools))
- makefile.filter('LIBS=-lbam',
- 'LIBS=$(SAMTOOLS)/../lib/libbam.a',
- string=True)
+ makefile.filter("$(SAMTOOLS)/libbam.a", "$(SAMTOOLS)/../lib/libbam.a", string=True)
+ makefile.filter("$(HTSLIB)/libhts.a", "$(HTSLIB)/../lib/libhts.a", string=True)
+ with working_dir(join_path("auxprogs", "checkTargetSortedness")):
+ makefile = FileFilter("Makefile")
+ makefile.filter("SAMTOOLS.*=.*$", "SAMTOOLS={0}/include".format(samtools))
+ makefile.filter("LIBS=-lbam", "LIBS=$(SAMTOOLS)/../lib/libbam.a", string=True)
else:
- mysql = self.spec['mysql-client'].prefix
- mysqlpp = self.spec['mysqlpp'].prefix
- lpsolve = self.spec['lp-solve'].prefix
-
- with working_dir('src'):
- makefile = FileFilter('Makefile')
- makefile.filter(r'/usr/include/mysql\+\+',
- '{0}/include/mysql++'.format(mysqlpp))
- if '^mariadb-c-client' in spec:
- makefile.filter('/usr/include/mysql',
- '{0}/include/mariadb'.format(mysql))
+ mysql = self.spec["mysql-client"].prefix
+ mysqlpp = self.spec["mysqlpp"].prefix
+ lpsolve = self.spec["lp-solve"].prefix
+
+ with working_dir("src"):
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"/usr/include/mysql\+\+", "{0}/include/mysql++".format(mysqlpp))
+ if "^mariadb-c-client" in spec:
+ makefile.filter("/usr/include/mysql", "{0}/include/mariadb".format(mysql))
else:
- makefile.filter('/usr/include/mysql',
- '{0}/include/mysql'.format(mysql))
- makefile.filter('/usr/include/lpsolve',
- '{0}/include/lpsolve'.format(lpsolve))
+ makefile.filter("/usr/include/mysql", "{0}/include/mysql".format(mysql))
+ makefile.filter("/usr/include/lpsolve", "{0}/include/lpsolve".format(lpsolve))
def install(self, spec, prefix):
- install_tree('bin', join_path(self.spec.prefix, 'bin'))
- install_tree('config', join_path(self.spec.prefix, 'config'))
- install_tree('scripts', join_path(self.spec.prefix, 'scripts'))
+ install_tree("bin", join_path(self.spec.prefix, "bin"))
+ install_tree("config", join_path(self.spec.prefix, "config"))
+ install_tree("scripts", join_path(self.spec.prefix, "scripts"))
- @run_after('install')
+ @run_after("install")
def filter_sbang(self):
with working_dir(self.prefix.scripts):
- pattern = '^#!.*'
- repl = '#!{0}'.format(self.spec['perl'].command.path)
+ pattern = "^#!.*"
+ repl = "#!{0}".format(self.spec["perl"].command.path)
files = glob.glob("*.pl")
for file in files:
filter_file(pattern, repl, *files, backup=False)
- repl = '#!{0}'.format(self.spec['python'].command.path)
+ repl = "#!{0}".format(self.spec["python"].command.path)
files = glob.glob("*.py")
for file in files:
filter_file(pattern, repl, *files, backup=False)
def setup_build_environment(self, env):
- if self.version >= Version('3.4.0'):
- htslib = self.spec['htslib'].prefix
- env.set('HTSLIBDIR', htslib)
+ if self.version >= Version("3.4.0"):
+ htslib = self.spec["htslib"].prefix
+ env.set("HTSLIBDIR", htslib)
def setup_run_environment(self, env):
- env.set('AUGUSTUS_CONFIG_PATH', join_path(
- self.prefix, 'config'))
- env.prepend_path('PATH', join_path(self.prefix, 'scripts'))
+ env.set("AUGUSTUS_CONFIG_PATH", join_path(self.prefix, "config"))
+ env.prepend_path("PATH", join_path(self.prefix, "scripts"))
diff --git a/var/spack/repos/builtin/packages/authd/package.py b/var/spack/repos/builtin/packages/authd/package.py
index c015855d3d..abe2e0a70c 100644
--- a/var/spack/repos/builtin/packages/authd/package.py
+++ b/var/spack/repos/builtin/packages/authd/package.py
@@ -12,12 +12,12 @@ class Authd(MakefilePackage):
IPv4 as well as the more popular features of pidentd."""
homepage = "https://github.com/InfrastructureServices/authd"
- url = "https://github.com/InfrastructureServices/authd/releases/download/v1.4.4/authd-1.4.4.tar.gz"
+ url = "https://github.com/InfrastructureServices/authd/releases/download/v1.4.4/authd-1.4.4.tar.gz"
- version('1.4.4', sha256='71ee3d1c3e107c93e082148f75ee460c949b203c861dd20d48f7c5cfdc272bf8')
+ version("1.4.4", sha256="71ee3d1c3e107c93e082148f75ee460c949b203c861dd20d48f7c5cfdc272bf8")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/authselect/package.py b/var/spack/repos/builtin/packages/authselect/package.py
index 6b7d29ff04..cb51a159cf 100644
--- a/var/spack/repos/builtin/packages/authselect/package.py
+++ b/var/spack/repos/builtin/packages/authselect/package.py
@@ -10,14 +10,14 @@ class Authselect(AutotoolsPackage):
"""Select authentication and indentity profile to use on the system."""
homepage = "https://github.com/authselect/authselect"
- url = "https://github.com/authselect/authselect/archive/1.2.1.tar.gz"
+ url = "https://github.com/authselect/authselect/archive/1.2.1.tar.gz"
- version('1.2.1', sha256='6f58c36d8b405da836dc9d1f44c1a22660c60f9e7ece327138d1b2492cb57749')
- version('1.2', sha256='c354c87a0115612cb51b09b5157f151569e16384cdd69f32b8515209036531b4')
- version('1.1', sha256='39b888575980c1ecac7022dfe5a5452eef59cef850b8544ed5f928e2e8a335dd')
+ version("1.2.1", sha256="6f58c36d8b405da836dc9d1f44c1a22660c60f9e7ece327138d1b2492cb57749")
+ version("1.2", sha256="c354c87a0115612cb51b09b5157f151569e16384cdd69f32b8515209036531b4")
+ version("1.1", sha256="39b888575980c1ecac7022dfe5a5452eef59cef850b8544ed5f928e2e8a335dd")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('popt')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("popt")
diff --git a/var/spack/repos/builtin/packages/autoconf-archive/package.py b/var/spack/repos/builtin/packages/autoconf-archive/package.py
index b57ddb07b3..138aa4b565 100644
--- a/var/spack/repos/builtin/packages/autoconf-archive/package.py
+++ b/var/spack/repos/builtin/packages/autoconf-archive/package.py
@@ -14,12 +14,16 @@ class AutoconfArchive(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/autoconf-archive/"
gnu_mirror_path = "autoconf-archive/autoconf-archive-2019.01.06.tar.xz"
- version('2022.02.11', sha256='78a61b611e2eeb55a89e0398e0ce387bcaf57fe2dd53c6fe427130f777ad1e8c')
- version('2019.01.06', sha256='17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f')
+ version(
+ "2022.02.11", sha256="78a61b611e2eeb55a89e0398e0ce387bcaf57fe2dd53c6fe427130f777ad1e8c"
+ )
+ version(
+ "2019.01.06", sha256="17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f"
+ )
# https://github.com/autoconf-archive/autoconf-archive/pull/251
- patch('2022.02.11-ax_cc_maxopt-nvhpc.patch', when='@2022.02.11')
+ patch("2022.02.11-ax_cc_maxopt-nvhpc.patch", when="@2022.02.11")
def setup_dependent_build_environment(self, env, dependent_spec):
"""Adds the ACLOCAL path for autotools."""
- env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
+ env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal)
diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py
index e1e6e9c8dd..615221527a 100644
--- a/var/spack/repos/builtin/packages/autoconf/package.py
+++ b/var/spack/repos/builtin/packages/autoconf/package.py
@@ -11,85 +11,101 @@ from spack.package import *
class Autoconf(AutotoolsPackage, GNUMirrorPackage):
"""Autoconf -- system configuration part of autotools"""
- homepage = 'https://www.gnu.org/software/autoconf/'
- gnu_mirror_path = 'autoconf/autoconf-2.69.tar.gz'
-
- version('2.71', sha256='431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c')
- version('2.70', sha256='f05f410fda74323ada4bdc4610db37f8dbd556602ba65bc843edb4d4d4a1b2b7')
- version('2.69', sha256='954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969',
- preferred=True)
- version('2.62', sha256='83aa747e6443def0ebd1882509c53f5a2133f502ddefa21b3de141c433914bdd')
- version('2.59', sha256='9cd05c73c5fcb1f5ccae53dd6cac36bb8cb9c7b3e97ffae5a7c05c72594c88d8')
+ homepage = "https://www.gnu.org/software/autoconf/"
+ gnu_mirror_path = "autoconf/autoconf-2.69.tar.gz"
+
+ version("2.71", sha256="431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c")
+ version("2.70", sha256="f05f410fda74323ada4bdc4610db37f8dbd556602ba65bc843edb4d4d4a1b2b7")
+ version(
+ "2.69",
+ sha256="954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969",
+ preferred=True,
+ )
+ version("2.62", sha256="83aa747e6443def0ebd1882509c53f5a2133f502ddefa21b3de141c433914bdd")
+ version("2.59", sha256="9cd05c73c5fcb1f5ccae53dd6cac36bb8cb9c7b3e97ffae5a7c05c72594c88d8")
# https://savannah.gnu.org/support/?110396
- patch('https://git.savannah.gnu.org/cgit/autoconf.git/patch/?id=05972f49ee632cd98057a3caf82ebfb9574846da',
- sha256='eaa3f69d927a853313a0b06e2117c51adab6377a2278549b05abc5df93643e16',
- when='@2.70')
+ patch(
+ "https://git.savannah.gnu.org/cgit/autoconf.git/patch/?id=05972f49ee632cd98057a3caf82ebfb9574846da",
+ sha256="eaa3f69d927a853313a0b06e2117c51adab6377a2278549b05abc5df93643e16",
+ when="@2.70",
+ )
# Apply long-time released and already in-use upstream patches to fix test cases:
# tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the older `quote'
- patch('http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-fix-libtool-test.patch',
- sha256='7793209b33013dc0f81208718c68440c5aae80e7a1c4b8d336e382525af791a7',
- when='@2.69')
+ patch(
+ "http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-fix-libtool-test.patch",
+ sha256="7793209b33013dc0f81208718c68440c5aae80e7a1c4b8d336e382525af791a7",
+ when="@2.69",
+ )
# Fix bin/autoscan.in for current perl releases (reported already in January 2013)
- patch('http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-perl-5.26.patch',
- sha256='35c449281546376449766f92d49fc121ca50e330e60fefcfc9be2af3253082c2',
- when='@2.62:2.69 ^perl@5.17:')
+ patch(
+ "http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-perl-5.26.patch",
+ sha256="35c449281546376449766f92d49fc121ca50e330e60fefcfc9be2af3253082c2",
+ when="@2.62:2.69 ^perl@5.17:",
+ )
# Fix bin/autoheader.in for current perl relases not having "." in @INC:
- patch('http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-perl-5.26-2.patch',
- sha256='a49dd5bac3b62daa0ff688ab4d508d71dbd2f4f8d7e2a02321926346161bf3ee',
- when='@2.62:2.69 ^perl@5.17:')
+ patch(
+ "http://mirrors.mit.edu/gentoo-portage/sys-devel/autoconf/files/autoconf-2.69-perl-5.26-2.patch",
+ sha256="a49dd5bac3b62daa0ff688ab4d508d71dbd2f4f8d7e2a02321926346161bf3ee",
+ when="@2.62:2.69 ^perl@5.17:",
+ )
# Note: m4 is not a pure build-time dependency of autoconf. m4 is
# needed when autoconf runs, not only when autoconf is built.
- depends_on('m4@1.4.6:', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
+ depends_on("m4@1.4.6:", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- tags = ['build-tools']
+ tags = ["build-tools"]
executables = [
- '^autoconf$', '^autoheader$', '^autom4te$', '^autoreconf$',
- '^autoscan$', '^autoupdate$', '^ifnames$'
+ "^autoconf$",
+ "^autoheader$",
+ "^autom4te$",
+ "^autoreconf$",
+ "^autoscan$",
+ "^autoupdate$",
+ "^ifnames$",
]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'\(GNU Autoconf\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"\(GNU Autoconf\)\s+(\S+)", output)
return match.group(1) if match else None
def patch(self):
# The full perl shebang might be too long; we have to fix this here
# because autom4te is called during the build
- patched_file = 'bin/autom4te.in'
+ patched_file = "bin/autom4te.in"
# We save and restore the modification timestamp of the file to prevent
# regeneration of the respective man page:
with keep_modification_time(patched_file):
- filter_file('^#! @PERL@ -w',
- '#! /usr/bin/env perl',
- patched_file)
- if self.version == Version('2.62'):
+ filter_file("^#! @PERL@ -w", "#! /usr/bin/env perl", patched_file)
+ if self.version == Version("2.62"):
# skip help2man for patched autoheader.in and autoscan.in
- touch('man/autoheader.1')
- touch('man/autoscan.1')
+ touch("man/autoheader.1")
+ touch("man/autoscan.1")
# make installcheck would execute the testsuite a 2nd time, skip it
def installcheck(self):
pass
- @run_after('install')
+ @run_after("install")
def filter_sbang(self):
# We have to do this after install because otherwise the install
# target will try to rebuild the binaries (filter_file updates the
# timestamps)
# Revert sbang, so Spack's sbang hook can fix it up
- filter_file('^#! /usr/bin/env perl',
- '#! {0} -w'.format(self.spec['perl'].command.path),
- self.prefix.bin.autom4te,
- backup=False)
+ filter_file(
+ "^#! /usr/bin/env perl",
+ "#! {0} -w".format(self.spec["perl"].command.path),
+ self.prefix.bin.autom4te,
+ backup=False,
+ )
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
@@ -97,12 +113,14 @@ class Autoconf(AutotoolsPackage, GNUMirrorPackage):
def setup_dependent_package(self, module, dependent_spec):
# Autoconf is very likely to be a build dependency,
# so we add the tools it provides to the dependent module
- executables = ['autoconf',
- 'autoheader',
- 'autom4te',
- 'autoreconf',
- 'autoscan',
- 'autoupdate',
- 'ifnames']
+ executables = [
+ "autoconf",
+ "autoheader",
+ "autom4te",
+ "autoreconf",
+ "autoscan",
+ "autoupdate",
+ "ifnames",
+ ]
for name in executables:
setattr(module, name, self._make_executable(name))
diff --git a/var/spack/repos/builtin/packages/autodiff/package.py b/var/spack/repos/builtin/packages/autodiff/package.py
index d960d44b69..7b9e6b0595 100644
--- a/var/spack/repos/builtin/packages/autodiff/package.py
+++ b/var/spack/repos/builtin/packages/autodiff/package.py
@@ -10,26 +10,33 @@ class Autodiff(CMakePackage):
"""autodiff is automatic differentiation made easier for C++."""
homepage = "https://autodiff.github.io"
- url = "https://github.com/autodiff/autodiff/archive/refs/tags/v0.6.4.tar.gz"
+ url = "https://github.com/autodiff/autodiff/archive/refs/tags/v0.6.4.tar.gz"
list_url = "https://github.com/autodiff/autodiff/releases"
- git = "https://github.com/autodiff/autodiff.git"
+ git = "https://github.com/autodiff/autodiff.git"
- maintainers = ['wdconinc', 'HadrienG2']
+ maintainers = ["wdconinc", "HadrienG2"]
- version('0.6.4', sha256='cfe0bb7c0de10979caff9d9bfdad7e6267faea2b8d875027397486b47a7edd75')
- version('0.5.13', sha256='a73dc571bcaad6b44f74865fed51af375f5a877db44321b5568d94a4358b77a1')
+ version("0.6.4", sha256="cfe0bb7c0de10979caff9d9bfdad7e6267faea2b8d875027397486b47a7edd75")
+ version("0.5.13", sha256="a73dc571bcaad6b44f74865fed51af375f5a877db44321b5568d94a4358b77a1")
- variant('python', default='False', description='Enable the compilation of the python bindings.')
- variant('examples', default='False', description='Enable the compilation of the example files.')
+ variant(
+ "python", default="False", description="Enable the compilation of the python bindings."
+ )
+ variant(
+ "examples", default="False", description="Enable the compilation of the example files."
+ )
- depends_on('cmake@3.0:', type='build')
- depends_on('eigen')
- depends_on('py-pybind11', type=('build', 'run'))
+ depends_on("cmake@3.0:", type="build")
+ depends_on("eigen")
+ depends_on("py-pybind11", type=("build", "run"))
def cmake_args(self):
args = [
- self.define('AUTODIFF_BUILD_TESTS', self.run_tests),
- self.define_from_variant('AUTODIFF_BUILD_PYTHON', 'python'),
- self.define_from_variant('AUTODIFF_BUILD_EXAMPLES', 'examples',)
+ self.define("AUTODIFF_BUILD_TESTS", self.run_tests),
+ self.define_from_variant("AUTODIFF_BUILD_PYTHON", "python"),
+ self.define_from_variant(
+ "AUTODIFF_BUILD_EXAMPLES",
+ "examples",
+ ),
]
return args
diff --git a/var/spack/repos/builtin/packages/autodock-gpu/package.py b/var/spack/repos/builtin/packages/autodock-gpu/package.py
index 61fc8623f3..3773c59ec3 100644
--- a/var/spack/repos/builtin/packages/autodock-gpu/package.py
+++ b/var/spack/repos/builtin/packages/autodock-gpu/package.py
@@ -14,28 +14,33 @@ class AutodockGpu(MakefilePackage):
"""
homepage = "https://ccsb.scripps.edu/autodock"
- git = "https://github.com/ccsb-scripps/AutoDock-GPU.git"
+ git = "https://github.com/ccsb-scripps/AutoDock-GPU.git"
- maintainers = ['RemiLacroix-IDRIS']
+ maintainers = ["RemiLacroix-IDRIS"]
- version('develop', branch='develop')
+ version("develop", branch="develop")
- variant('device', default='cuda', description='Acceletor runtime',
- values=('cuda', 'oclgpu'), multi=False)
- variant('overlap', default=False, description='Overlap CPU and GPU operations')
+ variant(
+ "device",
+ default="cuda",
+ description="Acceletor runtime",
+ values=("cuda", "oclgpu"),
+ multi=False,
+ )
+ variant("overlap", default=False, description="Overlap CPU and GPU operations")
- depends_on('cuda')
+ depends_on("cuda")
@property
def build_targets(self):
spec = self.spec
return [
- 'DEVICE={0}'.format(spec.variants['device'].value.upper()),
- 'GPU_INCLUDE_PATH={0}'.format(spec['cuda'].prefix.include),
- 'GPU_LIBRARY_PATH={0}'.format(spec['cuda'].libs.directories[0]),
- 'OVERLAP={0}'.format('ON' if '+overlap' in spec else 'OFF'),
+ "DEVICE={0}".format(spec.variants["device"].value.upper()),
+ "GPU_INCLUDE_PATH={0}".format(spec["cuda"].prefix.include),
+ "GPU_LIBRARY_PATH={0}".format(spec["cuda"].libs.directories[0]),
+ "OVERLAP={0}".format("ON" if "+overlap" in spec else "OFF"),
]
def install(self, spec, prefix):
- ignore_gitkeep = lambda p: p.endswith('.gitkeep')
- install_tree('bin', prefix.bin, ignore=ignore_gitkeep)
+ ignore_gitkeep = lambda p: p.endswith(".gitkeep")
+ install_tree("bin", prefix.bin, ignore=ignore_gitkeep)
diff --git a/var/spack/repos/builtin/packages/autodock-vina/package.py b/var/spack/repos/builtin/packages/autodock-vina/package.py
index 9c141a7244..f762af4ad8 100644
--- a/var/spack/repos/builtin/packages/autodock-vina/package.py
+++ b/var/spack/repos/builtin/packages/autodock-vina/package.py
@@ -15,30 +15,39 @@ class AutodockVina(MakefilePackage):
homepage = "http://vina.scripps.edu/"
url = "https://github.com/ccsb-scripps/AutoDock-Vina/archive/refs/tags/v1.2.3.tar.gz"
- version('1.2.3', sha256='22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0')
- version('1.2.2', sha256='b9c28df478f90d64dbbb5f4a53972bddffffb017b7bb58581a1a0034fff1b400')
- version('1.2.1', sha256='2d8d9871a5a95265c03c621c0584d9f06b202303116e6c87e23c935f7b694f74')
- version('1.2.0', sha256='9c9a85766b4d124d7c1d92e767aa8b4580c6175836b8aa2c28f88a9c40a5b90e')
- version('1.1.2', sha256='65422b2240c75d40417872a48e98043e7a7c435300dc8490af0c1f752f1ca4a2',
- url='https://github.com/ccsb-scripps/AutoDock-Vina/archive/refs/tags/v1.1.2-boost-new.tar.gz')
-
- depends_on('boost@1.50.0:1.75.0 +filesystem +program_options +serialization +system +thread', when='@1.1.2')
- depends_on('boost@1.54.0: +filesystem +program_options +serialization +system +thread', when='@1.2.0:')
+ version("1.2.3", sha256="22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0")
+ version("1.2.2", sha256="b9c28df478f90d64dbbb5f4a53972bddffffb017b7bb58581a1a0034fff1b400")
+ version("1.2.1", sha256="2d8d9871a5a95265c03c621c0584d9f06b202303116e6c87e23c935f7b694f74")
+ version("1.2.0", sha256="9c9a85766b4d124d7c1d92e767aa8b4580c6175836b8aa2c28f88a9c40a5b90e")
+ version(
+ "1.1.2",
+ sha256="65422b2240c75d40417872a48e98043e7a7c435300dc8490af0c1f752f1ca4a2",
+ url="https://github.com/ccsb-scripps/AutoDock-Vina/archive/refs/tags/v1.1.2-boost-new.tar.gz",
+ )
+
+ depends_on(
+ "boost@1.50.0:1.75.0 +filesystem +program_options +serialization +system +thread",
+ when="@1.1.2",
+ )
+ depends_on(
+ "boost@1.54.0: +filesystem +program_options +serialization +system +thread", when="@1.2.0:"
+ )
@property
def build_directory(self):
if sys.platform == "darwin":
- return join_path('build', 'mac', 'release')
+ return join_path("build", "mac", "release")
else:
- return join_path('build', 'linux', 'release')
+ return join_path("build", "linux", "release")
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- makefile = FileFilter('Makefile')
- makefile.filter('BOOST_INCLUDE = .*', 'BOOST_INCLUDE = %s' %
- self.spec['boost'].prefix.include)
- makefile.filter('C_PLATFORM=.*', 'C_PLATFORM=-pthread')
- makefile.filter('GPP=.*', 'GPP=%s' % spack_cxx)
+ makefile = FileFilter("Makefile")
+ makefile.filter(
+ "BOOST_INCLUDE = .*", "BOOST_INCLUDE = %s" % self.spec["boost"].prefix.include
+ )
+ makefile.filter("C_PLATFORM=.*", "C_PLATFORM=-pthread")
+ makefile.filter("GPP=.*", "GPP=%s" % spack_cxx)
def build(self, spec, prefix):
with working_dir(self.build_directory):
@@ -47,5 +56,5 @@ class AutodockVina(MakefilePackage):
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- install('vina', prefix.bin)
- install('vina_split', prefix.bin)
+ install("vina", prefix.bin)
+ install("vina_split", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/autofact/package.py b/var/spack/repos/builtin/packages/autofact/package.py
index 28a14f39b2..bbab2e229c 100644
--- a/var/spack/repos/builtin/packages/autofact/package.py
+++ b/var/spack/repos/builtin/packages/autofact/package.py
@@ -12,26 +12,26 @@ class Autofact(Package):
"""An Automatic Functional Annotation and Classification Tool"""
homepage = "https://megasun.bch.umontreal.ca/Software/AutoFACT.htm"
- url = "https://megasun.bch.umontreal.ca/Software/AutoFACT_v3_4.tar"
+ url = "https://megasun.bch.umontreal.ca/Software/AutoFACT_v3_4.tar"
- version('3_4', sha256='1465d263b19adb42f01f6e636ac40ef1c2e3dbd63461f977b89da9493fe9c6f4')
+ version("3_4", sha256="1465d263b19adb42f01f6e636ac40ef1c2e3dbd63461f977b89da9493fe9c6f4")
- depends_on('perl', type='run')
- depends_on('perl-bioperl', type='run')
- depends_on('perl-io-string', type='run')
- depends_on('perl-libwww-perl', type='run')
- depends_on('blast-legacy', type='run')
+ depends_on("perl", type="run")
+ depends_on("perl-bioperl", type="run")
+ depends_on("perl-io-string", type="run")
+ depends_on("perl-libwww-perl", type="run")
+ depends_on("blast-legacy", type="run")
def patch(self):
- with working_dir('scripts'):
+ with working_dir("scripts"):
files = glob.iglob("*.pl")
for file in files:
change = FileFilter(file)
- change.filter('usr/bin/perl', 'usr/bin/env perl')
+ change.filter("usr/bin/perl", "usr/bin/env perl")
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.scripts)
- env.set('PATH2AUTOFACT', self.prefix)
+ env.prepend_path("PATH", self.prefix.scripts)
+ env.set("PATH2AUTOFACT", self.prefix)
diff --git a/var/spack/repos/builtin/packages/autogen/package.py b/var/spack/repos/builtin/packages/autogen/package.py
index 11b26c21fe..5db4338a4a 100644
--- a/var/spack/repos/builtin/packages/autogen/package.py
+++ b/var/spack/repos/builtin/packages/autogen/package.py
@@ -17,14 +17,14 @@ class Autogen(AutotoolsPackage, GNUMirrorPackage):
list_url = "https://ftp.gnu.org/gnu/autogen"
list_depth = 1
- version('5.18.12', sha256='805c20182f3cb0ebf1571d3b01972851c56fb34348dfdc38799fd0ec3b2badbe')
+ version("5.18.12", sha256="805c20182f3cb0ebf1571d3b01972851c56fb34348dfdc38799fd0ec3b2badbe")
- variant('xml', default=True, description='Enable XML support')
+ variant("xml", default=True, description="Enable XML support")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
- depends_on('guile@1.8:2.0')
- depends_on('libxml2', when='+xml')
+ depends_on("guile@1.8:2.0")
+ depends_on("libxml2", when="+xml")
def configure_args(self):
spec = self.spec
@@ -32,12 +32,12 @@ class Autogen(AutotoolsPackage, GNUMirrorPackage):
args = [
# `make check` fails without this
# Adding a gettext dependency does not help
- '--disable-nls',
+ "--disable-nls",
]
- if '+xml' in spec:
- args.append('--with-libxml2={0}'.format(spec['libxml2'].prefix))
+ if "+xml" in spec:
+ args.append("--with-libxml2={0}".format(spec["libxml2"].prefix))
else:
- args.append('--without-libxml2')
+ args.append("--without-libxml2")
return args
diff --git a/var/spack/repos/builtin/packages/automaded/package.py b/var/spack/repos/builtin/packages/automaded/package.py
index e316c68534..6d744e5e40 100644
--- a/var/spack/repos/builtin/packages/automaded/package.py
+++ b/var/spack/repos/builtin/packages/automaded/package.py
@@ -9,29 +9,29 @@ from spack.pkg.builtin.boost import Boost
class Automaded(CMakePackage):
"""AutomaDeD (Automata-based Debugging for Dissimilar parallel
- tasks) is a tool for automatic diagnosis of performance and
- correctness problems in MPI applications. It creates
- control-flow models of each MPI process and, when a failure
- occurs, these models are leveraged to find the origin of
- problems automatically. MPI calls are intercepted (using
- wrappers) to create the models. When an MPI application hangs,
- AutomaDeD creates a progress-dependence graph that helps
- finding the process (or group of processes) that caused the hang.
+ tasks) is a tool for automatic diagnosis of performance and
+ correctness problems in MPI applications. It creates
+ control-flow models of each MPI process and, when a failure
+ occurs, these models are leveraged to find the origin of
+ problems automatically. MPI calls are intercepted (using
+ wrappers) to create the models. When an MPI application hangs,
+ AutomaDeD creates a progress-dependence graph that helps
+ finding the process (or group of processes) that caused the hang.
"""
homepage = "https://github.com/llnl/AutomaDeD"
- url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
+ url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
- version('1.0', sha256='600740cdd594cc6968c7bcb285d0829eb0ddbd5597c32c06c6ae5d9929a2625d')
+ version("1.0", sha256="600740cdd594cc6968c7bcb285d0829eb0ddbd5597c32c06c6ae5d9929a2625d")
- depends_on('mpi')
+ depends_on("mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('callpath')
- depends_on('cmake@2.8:', type='build')
+ depends_on("callpath")
+ depends_on("cmake@2.8:", type="build")
def cmake_args(self):
- return ['-DSTATE_TRACKER_WITH_CALLPATH=ON']
+ return ["-DSTATE_TRACKER_WITH_CALLPATH=ON"]
diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py
index 4172c59b45..68fe69bc16 100644
--- a/var/spack/repos/builtin/packages/automake/package.py
+++ b/var/spack/repos/builtin/packages/automake/package.py
@@ -10,49 +10,49 @@ from spack.package import *
class Automake(AutotoolsPackage, GNUMirrorPackage):
"""Automake -- make file builder part of autotools"""
- homepage = 'https://www.gnu.org/software/automake/'
- gnu_mirror_path = 'automake/automake-1.15.tar.gz'
+ homepage = "https://www.gnu.org/software/automake/"
+ gnu_mirror_path = "automake/automake-1.15.tar.gz"
- version('1.16.5', sha256='07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605')
- version('1.16.3', sha256='ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f')
- version('1.16.2', sha256='b2f361094b410b4acbf4efba7337bdb786335ca09eb2518635a09fb7319ca5c1')
- version('1.16.1', sha256='608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8')
- version('1.15.1', sha256='988e32527abe052307d21c8ca000aa238b914df363a617e38f4fb89f5abf6260')
- version('1.15', sha256='7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924')
- version('1.14.1', sha256='814c2333f350ce00034a1fe718e0e4239998ceea7b0aff67e9fd273ed6dfc23b')
- version('1.13.4', sha256='4c93abc0bff54b296f41f92dd3aa1e73e554265a6f719df465574983ef6f878c')
- version('1.11.6', sha256='53dbf1945401c43f4ce19c1971baecdbf8bc32e0f37fa3f49fe7b6992d0d2030')
+ version("1.16.5", sha256="07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605")
+ version("1.16.3", sha256="ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f")
+ version("1.16.2", sha256="b2f361094b410b4acbf4efba7337bdb786335ca09eb2518635a09fb7319ca5c1")
+ version("1.16.1", sha256="608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8")
+ version("1.15.1", sha256="988e32527abe052307d21c8ca000aa238b914df363a617e38f4fb89f5abf6260")
+ version("1.15", sha256="7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924")
+ version("1.14.1", sha256="814c2333f350ce00034a1fe718e0e4239998ceea7b0aff67e9fd273ed6dfc23b")
+ version("1.13.4", sha256="4c93abc0bff54b296f41f92dd3aa1e73e554265a6f719df465574983ef6f878c")
+ version("1.11.6", sha256="53dbf1945401c43f4ce19c1971baecdbf8bc32e0f37fa3f49fe7b6992d0d2030")
- depends_on('autoconf', type='build')
- depends_on('perl', type=('build', 'run'))
+ depends_on("autoconf", type="build")
+ depends_on("perl", type=("build", "run"))
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^automake$']
+ executables = ["^automake$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU automake\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU automake\)\s+(\S+)", output)
return match.group(1) if match else None
def patch(self):
# The full perl shebang might be too long
- files_to_be_patched_fmt = 'bin/{0}.in'
- if '@:1.15.1' in self.spec:
- files_to_be_patched_fmt = 't/wrap/{0}.in'
+ files_to_be_patched_fmt = "bin/{0}.in"
+ if "@:1.15.1" in self.spec:
+ files_to_be_patched_fmt = "t/wrap/{0}.in"
- if '@1.16.3:' in self.spec:
- shebang_string = '^#!@PERL@'
+ if "@1.16.3:" in self.spec:
+ shebang_string = "^#!@PERL@"
else:
- shebang_string = '^#!@PERL@ -w'
+ shebang_string = "^#!@PERL@ -w"
- for file in ('aclocal', 'automake'):
- filter_file(shebang_string,
- '#!/usr/bin/env perl',
- files_to_be_patched_fmt.format(file))
+ for file in ("aclocal", "automake"):
+ filter_file(
+ shebang_string, "#!/usr/bin/env perl", files_to_be_patched_fmt.format(file)
+ )
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
@@ -60,6 +60,6 @@ class Automake(AutotoolsPackage, GNUMirrorPackage):
def setup_dependent_package(self, module, dependent_spec):
# Automake is very likely to be a build dependency,
# so we add the tools it provides to the dependent module
- executables = ['aclocal', 'automake']
+ executables = ["aclocal", "automake"]
for name in executables:
setattr(module, name, self._make_executable(name))
diff --git a/var/spack/repos/builtin/packages/avizo/package.py b/var/spack/repos/builtin/packages/avizo/package.py
index 0f95a1037e..6c1bc0a02d 100644
--- a/var/spack/repos/builtin/packages/avizo/package.py
+++ b/var/spack/repos/builtin/packages/avizo/package.py
@@ -21,63 +21,69 @@ class Avizo(Package):
manual_download = True
- version('2020.1',
- sha256='9321aaa276567eebf116e268353c33a4c930d768d22793f921338e1d8cefe991',
- url="file://{0}/Avizo-20201-Linux64-gcc48.bin".format(os.getcwd()),
- expand=False)
- version('2019.4',
- sha256='a637720535bcbe254ab56368004a9544c64ec36186373fa24f26cee279685248',
- url="file://{0}/Avizo-20194-Linux64-gcc48.bin".format(os.getcwd()),
- expand=False)
- version('2019.3',
- sha256='be109df81e2f7238f234862367841dae05e76cc62218c1f36b1d9bc9514ce5f7',
- url="file://{0}/Avizo-20193-Linux64-gcc48.bin".format(os.getcwd()),
- expand=False)
- version('9.7.0',
- sha256='9c9b9e81957387f4218df0c5adbb80717e9ae80ab3ca6ff8da523f7f499dcc5b',
- url="file://{0}/Avizo-970-Linux64-gcc44.bin".format(os.getcwd()),
- expand=False)
+ version(
+ "2020.1",
+ sha256="9321aaa276567eebf116e268353c33a4c930d768d22793f921338e1d8cefe991",
+ url="file://{0}/Avizo-20201-Linux64-gcc48.bin".format(os.getcwd()),
+ expand=False,
+ )
+ version(
+ "2019.4",
+ sha256="a637720535bcbe254ab56368004a9544c64ec36186373fa24f26cee279685248",
+ url="file://{0}/Avizo-20194-Linux64-gcc48.bin".format(os.getcwd()),
+ expand=False,
+ )
+ version(
+ "2019.3",
+ sha256="be109df81e2f7238f234862367841dae05e76cc62218c1f36b1d9bc9514ce5f7",
+ url="file://{0}/Avizo-20193-Linux64-gcc48.bin".format(os.getcwd()),
+ expand=False,
+ )
+ version(
+ "9.7.0",
+ sha256="9c9b9e81957387f4218df0c5adbb80717e9ae80ab3ca6ff8da523f7f499dcc5b",
+ url="file://{0}/Avizo-970-Linux64-gcc44.bin".format(os.getcwd()),
+ expand=False,
+ )
- gcc_ver = {
- "9.7.0": "44",
- "2019.3": "48",
- "2019.4": "48",
- "2020.1": "48"
- }
+ gcc_ver = {"9.7.0": "44", "2019.3": "48", "2019.4": "48", "2020.1": "48"}
install_dir = {
- "9.7.0": 'Avizo-9.7.0',
- "2019.3": join_path('..', 'Avizo'),
- "2019.4": join_path('..', 'Avizo'),
- "2020.1": join_path('..', 'Avizo')
+ "9.7.0": "Avizo-9.7.0",
+ "2019.3": join_path("..", "Avizo"),
+ "2019.4": join_path("..", "Avizo"),
+ "2020.1": join_path("..", "Avizo"),
}
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['share/license/password.dat']
- license_vars = ['MCSLMD_LICENSE_FILE']
+ license_comment = "#"
+ license_files = ["share/license/password.dat"]
+ license_vars = ["MCSLMD_LICENSE_FILE"]
def setup_run_environment(self, env):
- env.set('MCSLMD_LICENSE_FILE', join_path(self.prefix.share.license,
- 'password.dat'))
+ env.set("MCSLMD_LICENSE_FILE", join_path(self.prefix.share.license, "password.dat"))
def install(self, spec, prefix):
ver = self.version.joined
- sh = which('sh')
- sh('Avizo-{0}-Linux64-gcc{1}.bin'
- .format(ver, self.gcc_ver[self.version.string]),
- '--noexec', '--keep')
+ sh = which("sh")
+ sh(
+ "Avizo-{0}-Linux64-gcc{1}.bin".format(ver, self.gcc_ver[self.version.string]),
+ "--noexec",
+ "--keep",
+ )
- with working_dir('Avizo'):
- avizo_tar = tarfile.open(name='Avizo-{0}-Linux64-gcc{1}.tar.bz2'
- .format(self.version, self.gcc_ver
- [self.version.string]))
+ with working_dir("Avizo"):
+ avizo_tar = tarfile.open(
+ name="Avizo-{0}-Linux64-gcc{1}.tar.bz2".format(
+ self.version, self.gcc_ver[self.version.string]
+ )
+ )
avizo_tar.extractall()
with working_dir(self.install_dir[self.version.string]):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('data', prefix.data)
- install_tree('share', prefix.share)
- install_tree('python', prefix.python)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("data", prefix.data)
+ install_tree("share", prefix.share)
+ install_tree("python", prefix.python)
diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
index 61013ac3d4..e4254f6e2c 100644
--- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
+++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
@@ -16,74 +16,87 @@ class AwsParallelcluster(PythonPackage):
pypi = "aws-parallelcluster/aws-parallelcluster-2.11.7.tar.gz"
maintainers = [
- 'charlesg3', 'chenwany', 'demartinofra', 'enrico-usai', 'francesco-giordano',
- 'gmarciani', 'hanwen-pcluste', 'lukeseawalker',
+ "charlesg3",
+ "chenwany",
+ "demartinofra",
+ "enrico-usai",
+ "francesco-giordano",
+ "gmarciani",
+ "hanwen-pcluste",
+ "lukeseawalker",
]
- version('2.11.7', sha256='f7c51cf1c94787f56e0661e39860ecc9275efeacc88716b7c9f14053ec7fbd35')
- version('2.11.6', sha256='4df4bcf966f523bcdf5b4f68ed0ef347eebae70a074cd098b15bc8a6be27217c')
- version('2.11.5', sha256='7499f88387cbe2cb73f9fddeee3363117f7ef1524d6a73e77bb07900040baebb')
- version('2.11.4', sha256='449537ccda57f91f4ec6ae0c94a8e2b1a789f08f80245fadb28f44a4351d5da4')
- version('2.11.3', sha256='7c1d74123f2f670846aed8fe1fcca5908bb46ec014e2dfc7d3ec8994447a37a0')
- version('2.11.2', sha256='60d96a5ea4dca4816ceffc4546549743abd1f6207c62f016c9c348adc64b2ec0')
- version('2.11.1', sha256='dc102eeb0db30fb183c1ee076e340223095fde7d9079004fde401b7ad658242d')
- version('2.11.0', sha256='ec2f54f752a355649ca065a41fa4ac19697f570a136e10e0a6548f5abad3ea8a')
- version('2.10.4', sha256='487dbf3e79f3e9b6750b1075cef4eb24956f7b310e5bd8de662b98d87491736c')
- version('2.10.3', sha256='02016358932375c1abb566c6b7f1c891fa617fc4a4ec4ce9969f87758d4039c7')
- version('2.10.2', sha256='95853535b82e8087c6635a946556ed886e68d3a77d67a375830c57d80f2bbd6e')
- version('2.10.1', sha256='b3d2ea836c08c9be1667d55a8999aae412d7c2b20f958ca5842e8fa440eb24e0')
- version('2.10.0', sha256='a7a27871b4f54cb913b0c1233e675131e9b2099549af0840d32c36b7e91b104b')
- version('2.9.1', sha256='12dc22286cd447a16931f1f8619bdd47d4543fd0de7905d52b6c6f83ff9db8a3')
- version('2.9.0', sha256='e98a8426bc46aca0860d9a2be89bbc4a90aab3ed2f60ca6c385b595fbbe79a78')
- version('2.8.1', sha256='c183dc3f053bc2445db724e561cea7f633dd5e7d467a7b3f9b2f2f703f7d5d49')
- version('2.8.0', sha256='4e67539d49fe987884a3ed7198dc13bc8a3a1778f0b3656dfe0ae899138678f2')
- version('2.7.0', sha256='7c34995acfcc256a6996541d330575fc711e1fd5735bf3d734d4e96c1dc8df60')
- version('2.6.1', sha256='2ce9015d90b5d4dc88b46a44cb8a82e8fb0bb2b4cca30335fc5759202ec1b343')
- version('2.6.0', sha256='aaed6962cf5027206834ac24b3d312da91e0f96ae8607f555e12cb124b869f0c')
- version('2.5.1', sha256='4fd6e14583f8cf81f9e4aa1d6188e3708d3d14e6ae252de0a94caaf58be76303')
- version('2.5.0', sha256='3b0209342ea0d9d8cc95505456103ad87c2d4e35771aa838765918194efd0ad3')
-
- depends_on('python@3.6:', when='@2.11:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@:2.10', type=('build', 'run'))
-
- depends_on('py-future@0.16.0:0.18.2', when='@:2.10', type=('build', 'run'))
-
- depends_on('py-ipaddress@1.0.22:', type=('build', 'run'))
-
- depends_on('py-configparser@3.5.0:3.8.1', when='^python@:2', type=('build', 'run'))
-
- depends_on('py-tabulate@0.8.3:0.8.9', when='@2.11:', type=('build', 'run'))
- depends_on('py-tabulate@0.8.2:0.8.3', when='@:2.8', type=('build', 'run'))
- depends_on('py-tabulate@0.8.5', when='@2.9: ^python@3.0:3.4', type=('build', 'run'))
- depends_on('py-tabulate@0.8.2:0.8.7', when='@2.9: ^python@:2,3.5:', type=('build', 'run'))
-
- depends_on('py-pyyaml@5.3.1:', when='@2.11:', type=('build', 'run'))
- depends_on('py-pyyaml@5.3.1:', when='@2.9:2.10 ^python@:2,3.5:', type=('build', 'run'))
- depends_on('py-pyyaml@5.2', when='@2.6:2.10 ^python@3.0:3.4', type=('build', 'run'))
- depends_on('py-pyyaml@5.1.2:', when='@2.6:2.8 ^python@:2,3.5:', type=('build', 'run'))
- depends_on('py-pyyaml@5.1.2:', when='@:2.5', type=('build', 'run'))
-
- depends_on('py-jinja2@2.11.3:', when='@2.11:', type=('build', 'run'))
- depends_on('py-jinja2@2.10.1', when='@2.9: ^python@3.0:3.4', type=('build', 'run'))
- depends_on('py-jinja2@2.11.0:', when='@2.9: ^python@:2,3.5:', type=('build', 'run'))
-
- depends_on('py-boto3@1.17.27:', when='@2.11:', type=('build', 'run'))
- depends_on('py-boto3@1.16.14:', when='@2.10:', type=('build', 'run'))
- depends_on('py-boto3@1.14.3:', when='@2.8:2.9', type=('build', 'run'))
- depends_on('py-boto3@1.10.15:', when='@:2.7', type=('build', 'run'))
-
- depends_on('py-setuptools', type=('build', 'run'))
-
- depends_on('py-enum34@1.1.6:', when='^python@:3.3', type=('build', 'run'))
+ version("2.11.7", sha256="f7c51cf1c94787f56e0661e39860ecc9275efeacc88716b7c9f14053ec7fbd35")
+ version("2.11.6", sha256="4df4bcf966f523bcdf5b4f68ed0ef347eebae70a074cd098b15bc8a6be27217c")
+ version("2.11.5", sha256="7499f88387cbe2cb73f9fddeee3363117f7ef1524d6a73e77bb07900040baebb")
+ version("2.11.4", sha256="449537ccda57f91f4ec6ae0c94a8e2b1a789f08f80245fadb28f44a4351d5da4")
+ version("2.11.3", sha256="7c1d74123f2f670846aed8fe1fcca5908bb46ec014e2dfc7d3ec8994447a37a0")
+ version("2.11.2", sha256="60d96a5ea4dca4816ceffc4546549743abd1f6207c62f016c9c348adc64b2ec0")
+ version("2.11.1", sha256="dc102eeb0db30fb183c1ee076e340223095fde7d9079004fde401b7ad658242d")
+ version("2.11.0", sha256="ec2f54f752a355649ca065a41fa4ac19697f570a136e10e0a6548f5abad3ea8a")
+ version("2.10.4", sha256="487dbf3e79f3e9b6750b1075cef4eb24956f7b310e5bd8de662b98d87491736c")
+ version("2.10.3", sha256="02016358932375c1abb566c6b7f1c891fa617fc4a4ec4ce9969f87758d4039c7")
+ version("2.10.2", sha256="95853535b82e8087c6635a946556ed886e68d3a77d67a375830c57d80f2bbd6e")
+ version("2.10.1", sha256="b3d2ea836c08c9be1667d55a8999aae412d7c2b20f958ca5842e8fa440eb24e0")
+ version("2.10.0", sha256="a7a27871b4f54cb913b0c1233e675131e9b2099549af0840d32c36b7e91b104b")
+ version("2.9.1", sha256="12dc22286cd447a16931f1f8619bdd47d4543fd0de7905d52b6c6f83ff9db8a3")
+ version("2.9.0", sha256="e98a8426bc46aca0860d9a2be89bbc4a90aab3ed2f60ca6c385b595fbbe79a78")
+ version("2.8.1", sha256="c183dc3f053bc2445db724e561cea7f633dd5e7d467a7b3f9b2f2f703f7d5d49")
+ version("2.8.0", sha256="4e67539d49fe987884a3ed7198dc13bc8a3a1778f0b3656dfe0ae899138678f2")
+ version("2.7.0", sha256="7c34995acfcc256a6996541d330575fc711e1fd5735bf3d734d4e96c1dc8df60")
+ version("2.6.1", sha256="2ce9015d90b5d4dc88b46a44cb8a82e8fb0bb2b4cca30335fc5759202ec1b343")
+ version("2.6.0", sha256="aaed6962cf5027206834ac24b3d312da91e0f96ae8607f555e12cb124b869f0c")
+ version("2.5.1", sha256="4fd6e14583f8cf81f9e4aa1d6188e3708d3d14e6ae252de0a94caaf58be76303")
+ version("2.5.0", sha256="3b0209342ea0d9d8cc95505456103ad87c2d4e35771aa838765918194efd0ad3")
+
+ depends_on("python@3.6:", when="@2.11:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@:2.10", type=("build", "run"))
+
+ depends_on("py-future@0.16.0:0.18.2", when="@:2.10", type=("build", "run"))
+
+ depends_on("py-ipaddress@1.0.22:", type=("build", "run"))
+
+ depends_on("py-configparser@3.5.0:3.8.1", when="^python@:2", type=("build", "run"))
+
+ depends_on("py-tabulate@0.8.3:0.8.9", when="@2.11:", type=("build", "run"))
+ depends_on("py-tabulate@0.8.2:0.8.3", when="@:2.8", type=("build", "run"))
+ depends_on("py-tabulate@0.8.5", when="@2.9: ^python@3.0:3.4", type=("build", "run"))
+ depends_on("py-tabulate@0.8.2:0.8.7", when="@2.9: ^python@:2,3.5:", type=("build", "run"))
+
+ depends_on("py-pyyaml@5.3.1:", when="@2.11:", type=("build", "run"))
+ depends_on("py-pyyaml@5.3.1:", when="@2.9:2.10 ^python@:2,3.5:", type=("build", "run"))
+ depends_on("py-pyyaml@5.2", when="@2.6:2.10 ^python@3.0:3.4", type=("build", "run"))
+ depends_on("py-pyyaml@5.1.2:", when="@2.6:2.8 ^python@:2,3.5:", type=("build", "run"))
+ depends_on("py-pyyaml@5.1.2:", when="@:2.5", type=("build", "run"))
+
+ depends_on("py-jinja2@2.11.3:", when="@2.11:", type=("build", "run"))
+ depends_on("py-jinja2@2.10.1", when="@2.9: ^python@3.0:3.4", type=("build", "run"))
+ depends_on("py-jinja2@2.11.0:", when="@2.9: ^python@:2,3.5:", type=("build", "run"))
+
+ depends_on("py-boto3@1.17.27:", when="@2.11:", type=("build", "run"))
+ depends_on("py-boto3@1.16.14:", when="@2.10:", type=("build", "run"))
+ depends_on("py-boto3@1.14.3:", when="@2.8:2.9", type=("build", "run"))
+ depends_on("py-boto3@1.10.15:", when="@:2.7", type=("build", "run"))
+
+ depends_on("py-setuptools", type=("build", "run"))
+
+ depends_on("py-enum34@1.1.6:", when="^python@:3.3", type=("build", "run"))
# https://github.com/aws/aws-parallelcluster/pull/1633
- patch('enum34.patch', when='@:2.5.1')
+ patch("enum34.patch", when="@:2.5.1")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
# Make sure executables work
- for exe in ['awsbhosts', 'awsbkill', 'awsbout', 'awsbqueues',
- 'awsbstat', 'awsbsub', 'pcluster']:
+ for exe in [
+ "awsbhosts",
+ "awsbkill",
+ "awsbout",
+ "awsbqueues",
+ "awsbstat",
+ "awsbsub",
+ "pcluster",
+ ]:
exe = Executable(os.path.join(self.prefix.bin, exe))
- exe('--help')
+ exe("--help")
diff --git a/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py b/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py
index 89e81a31aa..d1e6b8499d 100644
--- a/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py
+++ b/var/spack/repos/builtin/packages/aws-sdk-cpp/package.py
@@ -18,13 +18,15 @@ class AwsSdkCpp(CMakePackage):
homepage = "https://github.com/aws/aws-sdk-cpp"
git = "https://github.com/aws/aws-sdk-cpp.git"
- version('1.9.247', tag='1.9.247', submodules=True)
+ version("1.9.247", tag="1.9.247", submodules=True)
- depends_on('cmake@3.1:', type='build')
- depends_on('zlib')
- depends_on('curl')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("zlib")
+ depends_on("curl")
# https://github.com/aws/aws-sdk-cpp/issues/1816
- patch('https://github.com/aws/aws-sdk-cpp/pull/1937.patch?full_index=1',
- sha256='ba86e0556322604fb4b70e2dd4f4fb874701868b07353fc1d5c329d90777bf45',
- when='@1.9.247')
+ patch(
+ "https://github.com/aws/aws-sdk-cpp/pull/1937.patch?full_index=1",
+ sha256="ba86e0556322604fb4b70e2dd4f4fb874701868b07353fc1d5c329d90777bf45",
+ when="@1.9.247",
+ )
diff --git a/var/spack/repos/builtin/packages/awscli/package.py b/var/spack/repos/builtin/packages/awscli/package.py
index e9696432c6..0378c94402 100644
--- a/var/spack/repos/builtin/packages/awscli/package.py
+++ b/var/spack/repos/builtin/packages/awscli/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class Awscli(PythonPackage):
"""This package provides a unified command line interface to
- Amazon Web Services"""
+ Amazon Web Services"""
pypi = "awscli/awscli-1.16.308.tar.gz"
- version('1.16.308', sha256='3632fb1db2538128509a7b5e89f2a2c4ea3426bec139944247bddc4d79bf7603')
- version('1.16.179', sha256='6a87114d1325358d000abe22b2103baae7b91f053ff245b9fde33cb0affb5e4f')
+ version("1.16.308", sha256="3632fb1db2538128509a7b5e89f2a2c4ea3426bec139944247bddc4d79bf7603")
+ version("1.16.179", sha256="6a87114d1325358d000abe22b2103baae7b91f053ff245b9fde33cb0affb5e4f")
- depends_on('py-setuptools', type='build')
- depends_on('py-botocore@1.13.44', when='@1.16.308', type=('build', 'run'))
- depends_on('py-botocore@1.12.169', when='@1.16.179', type=('build', 'run'))
- depends_on('py-docutils@0.10:0.15', type=('build', 'run'))
- depends_on('py-rsa@3.1.2:3.5.0', type=('build', 'run'))
- depends_on('py-s3transfer@0.2.0:0.2', type=('build', 'run'))
- depends_on('py-argparse@1.1:', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-pyyaml@3.10:3.13', when='^python@:2.6,3.0:3.3', type=('build', 'run'))
- depends_on('py-pyyaml@3.10:5.2', when='^python@3.4:', type=('build', 'run'))
- depends_on('py-colorama@0.2.5:0.3.9', when='^python@:2.6,3.0:3.3', type=('build', 'run'))
- depends_on('py-colorama@0.2.5:0.4.1', when='^python@3.4:', type=('build', 'run'))
- depends_on('py-nose', type='test')
- depends_on('py-mock@1.3.0:', type='test')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-botocore@1.13.44", when="@1.16.308", type=("build", "run"))
+ depends_on("py-botocore@1.12.169", when="@1.16.179", type=("build", "run"))
+ depends_on("py-docutils@0.10:0.15", type=("build", "run"))
+ depends_on("py-rsa@3.1.2:3.5.0", type=("build", "run"))
+ depends_on("py-s3transfer@0.2.0:0.2", type=("build", "run"))
+ depends_on("py-argparse@1.1:", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-pyyaml@3.10:3.13", when="^python@:2.6,3.0:3.3", type=("build", "run"))
+ depends_on("py-pyyaml@3.10:5.2", when="^python@3.4:", type=("build", "run"))
+ depends_on("py-colorama@0.2.5:0.3.9", when="^python@:2.6,3.0:3.3", type=("build", "run"))
+ depends_on("py-colorama@0.2.5:0.4.1", when="^python@3.4:", type=("build", "run"))
+ depends_on("py-nose", type="test")
+ depends_on("py-mock@1.3.0:", type="test")
diff --git a/var/spack/repos/builtin/packages/axel/package.py b/var/spack/repos/builtin/packages/axel/package.py
index e3220d4228..f2a2a42b8d 100644
--- a/var/spack/repos/builtin/packages/axel/package.py
+++ b/var/spack/repos/builtin/packages/axel/package.py
@@ -10,15 +10,15 @@ class Axel(AutotoolsPackage):
"""Axel is a light command line download accelerator for Linux and Unix"""
homepage = "https://github.com/axel-download-accelerator/axel"
- url = 'https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.bz2'
+ url = "https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.bz2"
- version('2.17.10', sha256='c0d26eba6b94945cd98c5b69ca6df2744639d17bfd49047ef51a8a48f067de10')
- version('2.16.1', sha256='763066efc61e4f7be2eb59afa049bdbc520837e01c95a78f403e542ad82f2719')
+ version("2.17.10", sha256="c0d26eba6b94945cd98c5b69ca6df2744639d17bfd49047ef51a8a48f067de10")
+ version("2.16.1", sha256="763066efc61e4f7be2eb59afa049bdbc520837e01c95a78f403e542ad82f2719")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# For systems not providing libintl APU in the system libc (glibc integrated it)
- depends_on('gettext')
- depends_on('openssl')
+ depends_on("gettext")
+ depends_on("openssl")
def installcheck(self):
- Executable(self.prefix.bin.axel)('--version')
+ Executable(self.prefix.bin.axel)("--version")
diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py
index 52e9314cc5..915ed6bc62 100644
--- a/var/spack/repos/builtin/packages/axl/package.py
+++ b/var/spack/repos/builtin/packages/axl/package.py
@@ -8,86 +8,97 @@ from spack.package import *
def async_api_validator(pkg_name, variant_name, values):
- if 'none' in values and len(values) != 1:
- raise SpackError("The value 'none' is not usable"
- " with other async_api values.")
- if 'intel_cppr' in values and 'cray_dw' in values:
- raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous"
- " APIs are incompatible.")
+ if "none" in values and len(values) != 1:
+ raise SpackError("The value 'none' is not usable" " with other async_api values.")
+ if "intel_cppr" in values and "cray_dw" in values:
+ raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous" " APIs are incompatible.")
class Axl(CMakePackage):
"""Asynchronous transfer library"""
homepage = "https://github.com/ecp-veloc/AXL"
- url = "https://github.com/ecp-veloc/AXL/archive/v0.4.0.tar.gz"
- git = "https://github.com/ecp-veloc/axl.git"
- tags = ['ecp']
-
- maintainers = ['CamStan', 'gonsie']
-
- version('main', branch='main')
- version('0.7.0', sha256='840ef61eadc9aa277d128df08db4cdf6cfa46b8fcf47b0eee0972582a61fbc50')
- version('0.6.0', sha256='86edb35f99b63c0ffb9dd644a019a63b062923b4efc95c377e92a1b13e79f537')
- version('0.5.0', sha256='9f3bbb4de563896551bdb68e889ba93ea1984586961ad8c627ed766bff020acf')
- version('0.4.0', sha256='0530142629d77406a00643be32492760c2cf12d1b56c6b6416791c8ff5298db2')
- version('0.3.0', sha256='737d616b669109805f7aed1858baac36c97bf0016e1115b5c56ded05d792613e')
- version('0.2.0', sha256='d04a445f102b438fe96a1ff3429790b0c035f0d23c2797bb5601a00b582a71fc', deprecated=True)
- version('0.1.1', sha256='36edac007938fe47d979679414c5c27938944d32536e2e149f642916c5c08eaa', deprecated=True)
-
- depends_on('kvtree')
- depends_on('zlib', type='link')
-
- depends_on('kvtree@main', when='@main')
- depends_on('kvtree@1.3.0', when='@0.6.0')
-
- variant('async_api', default='daemon',
- description='Set of async transfer APIs to enable',
- values=['cray_dw', 'intel_cppr', 'daemon', 'none'], multi=True,
- validator=async_api_validator)
-
- variant('pthreads', default=True, description='Enable Pthread support', when='@0.6:')
-
- variant('bbapi', default=True, description='Enable IBM BBAPI support')
-
- variant('bbapi_fallback', default=False,
- description='Using BBAPI, if source or destination don\'t support \
- file extents then fallback to pthreads')
-
- variant('dw', default=False, description='Enable Cray DataWarp support')
-
- variant('shared', default=True, description='Build with shared libraries')
- depends_on('kvtree+shared', when='@0.5: +shared')
- depends_on('kvtree~shared', when='@0.5: ~shared')
+ url = "https://github.com/ecp-veloc/AXL/archive/v0.4.0.tar.gz"
+ git = "https://github.com/ecp-veloc/axl.git"
+ tags = ["ecp"]
+
+ maintainers = ["CamStan", "gonsie"]
+
+ version("main", branch="main")
+ version("0.7.0", sha256="840ef61eadc9aa277d128df08db4cdf6cfa46b8fcf47b0eee0972582a61fbc50")
+ version("0.6.0", sha256="86edb35f99b63c0ffb9dd644a019a63b062923b4efc95c377e92a1b13e79f537")
+ version("0.5.0", sha256="9f3bbb4de563896551bdb68e889ba93ea1984586961ad8c627ed766bff020acf")
+ version("0.4.0", sha256="0530142629d77406a00643be32492760c2cf12d1b56c6b6416791c8ff5298db2")
+ version("0.3.0", sha256="737d616b669109805f7aed1858baac36c97bf0016e1115b5c56ded05d792613e")
+ version(
+ "0.2.0",
+ sha256="d04a445f102b438fe96a1ff3429790b0c035f0d23c2797bb5601a00b582a71fc",
+ deprecated=True,
+ )
+ version(
+ "0.1.1",
+ sha256="36edac007938fe47d979679414c5c27938944d32536e2e149f642916c5c08eaa",
+ deprecated=True,
+ )
+
+ depends_on("kvtree")
+ depends_on("zlib", type="link")
+
+ depends_on("kvtree@main", when="@main")
+ depends_on("kvtree@1.3.0", when="@0.6.0")
+
+ variant(
+ "async_api",
+ default="daemon",
+ description="Set of async transfer APIs to enable",
+ values=["cray_dw", "intel_cppr", "daemon", "none"],
+ multi=True,
+ validator=async_api_validator,
+ )
+
+ variant("pthreads", default=True, description="Enable Pthread support", when="@0.6:")
+
+ variant("bbapi", default=True, description="Enable IBM BBAPI support")
+
+ variant(
+ "bbapi_fallback",
+ default=False,
+ description="Using BBAPI, if source or destination don't support \
+ file extents then fallback to pthreads",
+ )
+
+ variant("dw", default=False, description="Enable Cray DataWarp support")
+
+ variant("shared", default=True, description="Build with shared libraries")
+ depends_on("kvtree+shared", when="@0.5: +shared")
+ depends_on("kvtree~shared", when="@0.5: ~shared")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix))
+ args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix))
- if spec.satisfies('@:0.3.0'):
- apis = list(spec.variants['async_api'].value)
- if 'daemon' in apis:
- args.append('-DAXL_ASYNC_DAEMON=ON')
- apis.remove('daemon')
+ if spec.satisfies("@:0.3.0"):
+ apis = list(spec.variants["async_api"].value)
+ if "daemon" in apis:
+ args.append("-DAXL_ASYNC_DAEMON=ON")
+ apis.remove("daemon")
for api in apis:
- args.append('-DAXL_ASYNC_API={0}'.format(api.upper()))
+ args.append("-DAXL_ASYNC_API={0}".format(api.upper()))
- if spec.satisfies('@0.4.0:'):
- args.append(self.define_from_variant(
- 'ENABLE_BBAPI_FALLBACK', 'bbapi_fallback'
- ))
+ if spec.satisfies("@0.4.0:"):
+ args.append(self.define_from_variant("ENABLE_BBAPI_FALLBACK", "bbapi_fallback"))
- if spec.satisfies('@0.5.0:'):
- args.append(self.define_from_variant('ENABLE_IBM_BBAPI', 'bbapi'))
- args.append(self.define_from_variant('ENABLE_CRAY_DW', 'dw'))
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.5.0:"):
+ args.append(self.define_from_variant("ENABLE_IBM_BBAPI", "bbapi"))
+ args.append(self.define_from_variant("ENABLE_CRAY_DW", "dw"))
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('AXL_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("AXL_LINK_STATIC", True))
- if spec.satisfies('@0.6.0:'):
- args.append(self.define_from_variant('ENABLE_PTHREADS', 'pthreads'))
+ if spec.satisfies("@0.6.0:"):
+ args.append(self.define_from_variant("ENABLE_PTHREADS", "pthreads"))
return args
diff --git a/var/spack/repos/builtin/packages/axom/package.py b/var/spack/repos/builtin/packages/axom/package.py
index cf9788d943..a916ade88c 100644
--- a/var/spack/repos/builtin/packages/axom/package.py
+++ b/var/spack/repos/builtin/packages/axom/package.py
@@ -12,7 +12,7 @@ from spack.package import *
def get_spec_path(spec, package_name, path_replacements={}, use_bin=False):
"""Extracts the prefix path for the given spack package
- path_replacements is a dictionary with string replacements for the path.
+ path_replacements is a dictionary with string replacements for the path.
"""
if not use_bin:
@@ -30,61 +30,59 @@ def get_spec_path(spec, package_name, path_replacements={}, use_bin=False):
class Axom(CachedCMakePackage, CudaPackage):
"""Axom provides a robust, flexible software infrastructure for the development
- of multi-physics applications and computational tools."""
+ of multi-physics applications and computational tools."""
- maintainers = ['white238']
+ maintainers = ["white238"]
homepage = "https://github.com/LLNL/axom"
- git = "https://github.com/LLNL/axom.git"
- tags = ['radiuss']
-
- version('main', branch='main')
- version('develop', branch='develop')
- version('0.6.1', tag='v0.6.1')
- version('0.6.0', tag='v0.6.0')
- version('0.5.0', tag='v0.5.0')
- version('0.4.0', tag='v0.4.0')
- version('0.3.3', tag='v0.3.3')
- version('0.3.2', tag='v0.3.2')
- version('0.3.1', tag='v0.3.1')
- version('0.3.0', tag='v0.3.0')
- version('0.2.9', tag='v0.2.9')
+ git = "https://github.com/LLNL/axom.git"
+ tags = ["radiuss"]
+
+ version("main", branch="main")
+ version("develop", branch="develop")
+ version("0.6.1", tag="v0.6.1")
+ version("0.6.0", tag="v0.6.0")
+ version("0.5.0", tag="v0.5.0")
+ version("0.4.0", tag="v0.4.0")
+ version("0.3.3", tag="v0.3.3")
+ version("0.3.2", tag="v0.3.2")
+ version("0.3.1", tag="v0.3.1")
+ version("0.3.0", tag="v0.3.0")
+ version("0.2.9", tag="v0.2.9")
@property
def submodules(self):
return True
- patch('scr_examples_gtest.patch', when='@0.6.0:0.6.1')
+ patch("scr_examples_gtest.patch", when="@0.6.0:0.6.1")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
# -----------------------------------------------------------------------
# Variants
# -----------------------------------------------------------------------
- variant('shared', default=True,
- description='Enable build of shared libraries')
- variant('debug', default=False,
- description='Build debug instead of optimized version')
+ variant("shared", default=True, description="Enable build of shared libraries")
+ variant("debug", default=False, description="Build debug instead of optimized version")
- variant('examples', default=True, description='Build examples')
- variant('tools', default=True, description='Build tools')
+ variant("examples", default=True, description="Build examples")
+ variant("tools", default=True, description="Build tools")
- variant('cpp14', default=True, description="Build with C++14 support")
+ variant("cpp14", default=True, description="Build with C++14 support")
- variant('fortran', default=True, description="Build with Fortran support")
+ variant("fortran", default=True, description="Build with Fortran support")
- variant("python", default=False, description="Build python support")
+ variant("python", default=False, description="Build python support")
- variant("mpi", default=True, description="Build MPI support")
- variant('openmp', default=True, description='Turn on OpenMP support.')
+ variant("mpi", default=True, description="Build MPI support")
+ variant("openmp", default=True, description="Turn on OpenMP support.")
- variant("mfem", default=False, description="Build with mfem")
- variant("hdf5", default=True, description="Build with hdf5")
- variant("lua", default=True, description="Build with Lua")
- variant("scr", default=False, description="Build with SCR")
- variant("umpire", default=True, description="Build with umpire")
+ variant("mfem", default=False, description="Build with mfem")
+ variant("hdf5", default=True, description="Build with hdf5")
+ variant("lua", default=True, description="Build with Lua")
+ variant("scr", default=False, description="Build with SCR")
+ variant("umpire", default=True, description="Build with umpire")
- variant("raja", default=True, description="Build with raja")
+ variant("raja", default=True, description="Build with raja")
varmsg = "Build development tools (such as Sphinx, Doxygen, etc...)"
variant("devtools", default=False, description=varmsg)
@@ -93,7 +91,7 @@ class Axom(CachedCMakePackage, CudaPackage):
# Dependencies
# -----------------------------------------------------------------------
# Basics
- depends_on("cmake@3.8.2:", type='build')
+ depends_on("cmake@3.8.2:", type="build")
depends_on("mpi", when="+mpi")
# Libraries
@@ -108,24 +106,22 @@ class Axom(CachedCMakePackage, CudaPackage):
depends_on("kvtree@main", when="+scr")
depends_on("dtcmp", when="+scr")
- with when('+umpire'):
- depends_on('umpire@6.0.0:', when='@0.6.0:')
- depends_on('umpire@5:5.0.1', when='@:0.5.0')
- depends_on('umpire +openmp', when='+openmp')
- depends_on('umpire +cuda', when='+cuda')
+ with when("+umpire"):
+ depends_on("umpire@6.0.0:", when="@0.6.0:")
+ depends_on("umpire@5:5.0.1", when="@:0.5.0")
+ depends_on("umpire +openmp", when="+openmp")
+ depends_on("umpire +cuda", when="+cuda")
- with when('+raja'):
- depends_on('raja@0.14.0:', when='@0.6.0:')
- depends_on('raja@:0.13.0', when='@:0.5.0')
+ with when("+raja"):
+ depends_on("raja@0.14.0:", when="@0.6.0:")
+ depends_on("raja@:0.13.0", when="@:0.5.0")
depends_on("raja~openmp", when="~openmp")
depends_on("raja+openmp", when="+openmp")
depends_on("raja+cuda", when="+cuda")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('raja cuda_arch={0}'.format(sm_),
- when='+raja cuda_arch={0}'.format(sm_))
- depends_on('umpire cuda_arch={0}'.format(sm_),
- when='+umpire cuda_arch={0}'.format(sm_))
+ depends_on("raja cuda_arch={0}".format(sm_), when="+raja cuda_arch={0}".format(sm_))
+ depends_on("umpire cuda_arch={0}".format(sm_), when="+umpire cuda_arch={0}".format(sm_))
depends_on("mfem", when="+mfem")
depends_on("mfem~mpi", when="+mfem~mpi")
@@ -139,7 +135,7 @@ class Axom(CachedCMakePackage, CudaPackage):
depends_on("python", when="+devtools")
depends_on("py-sphinx", when="+devtools")
depends_on("py-shroud", when="+devtools")
- depends_on("llvm+clang@10.0.0", when="+devtools", type='build')
+ depends_on("llvm+clang@10.0.0", when="+devtools", type="build")
# Conduit's cmake config files moved and < 0.4.0 can't find it
conflicts("^conduit@0.7.2:", when="@:0.4.0")
@@ -148,10 +144,10 @@ class Axom(CachedCMakePackage, CudaPackage):
conflicts("^conduit@:0.6.0", when="@0.5.0:")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%cce') and name == 'fflags':
- flags.append('-ef')
+ if self.spec.satisfies("%cce") and name == "fflags":
+ flags.append("-ef")
- if name in ('cflags', 'cxxflags', 'cppflags', 'fflags'):
+ if name in ("cflags", "cxxflags", "cppflags", "fflags"):
return (None, None, None) # handled in the cmake cache
return (flags, None, None)
@@ -167,12 +163,12 @@ class Axom(CachedCMakePackage, CudaPackage):
hostname = socket.gethostname()
if "SYS_TYPE" in env:
# Are we on a LLNL system then strip node number
- hostname = hostname.rstrip('1234567890')
+ hostname = hostname.rstrip("1234567890")
return "{0}-{1}-{2}@{3}.cmake".format(
hostname,
self._get_sys_type(self.spec),
self.spec.compiler.name,
- self.spec.compiler.version
+ self.spec.compiler.version,
)
def initconfig_compiler_entries(self):
@@ -184,19 +180,19 @@ class Axom(CachedCMakePackage, CudaPackage):
else:
entries.append(cmake_cache_option("ENABLE_FORTRAN", False))
- if ((self.compiler.fc is not None)
- and ("gfortran" in self.compiler.fc)
- and ("clang" in self.compiler.cxx)):
- libdir = pjoin(os.path.dirname(
- os.path.dirname(self.compiler.cxx)), "lib")
+ if (
+ (self.compiler.fc is not None)
+ and ("gfortran" in self.compiler.fc)
+ and ("clang" in self.compiler.cxx)
+ ):
+ libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.cxx)), "lib")
flags = ""
for _libpath in [libdir, libdir + "64"]:
if os.path.exists(_libpath):
flags += " -Wl,-rpath,{0}".format(_libpath)
- description = ("Adds a missing libstdc++ rpath")
+ description = "Adds a missing libstdc++ rpath"
if flags:
- entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags,
- description))
+ entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags, description))
if "+cpp14" in spec:
entries.append(cmake_cache_string("BLT_CXX_STD", "c++14", ""))
@@ -209,86 +205,73 @@ class Axom(CachedCMakePackage, CudaPackage):
if "+cuda" in spec:
entries.append(cmake_cache_option("ENABLE_CUDA", True))
- entries.append(cmake_cache_option("CUDA_SEPARABLE_COMPILATION",
- True))
+ entries.append(cmake_cache_option("CUDA_SEPARABLE_COMPILATION", True))
- entries.append(
- cmake_cache_option("AXOM_ENABLE_ANNOTATIONS", True))
+ entries.append(cmake_cache_option("AXOM_ENABLE_ANNOTATIONS", True))
# CUDA_FLAGS
- cudaflags = "-restrict --expt-extended-lambda "
-
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value[0]
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_ARCHITECTURES",
- cuda_arch))
- cudaflags += '-arch sm_${CMAKE_CUDA_ARCHITECTURES} '
+ cudaflags = "-restrict --expt-extended-lambda "
+
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value[0]
+ entries.append(cmake_cache_string("CMAKE_CUDA_ARCHITECTURES", cuda_arch))
+ cudaflags += "-arch sm_${CMAKE_CUDA_ARCHITECTURES} "
else:
- entries.append(
- "# cuda_arch could not be determined\n\n")
+ entries.append("# cuda_arch could not be determined\n\n")
if "+cpp14" in spec:
cudaflags += " -std=c++14"
else:
cudaflags += " -std=c++11"
- entries.append(
- cmake_cache_string("CMAKE_CUDA_FLAGS", cudaflags))
+ entries.append(cmake_cache_string("CMAKE_CUDA_FLAGS", cudaflags))
- entries.append(
- "# nvcc does not like gtest's 'pthreads' flag\n")
- entries.append(
- cmake_cache_option("gtest_disable_pthreads", True))
+ entries.append("# nvcc does not like gtest's 'pthreads' flag\n")
+ entries.append(cmake_cache_option("gtest_disable_pthreads", True))
entries.append("#------------------{0}".format("-" * 30))
entries.append("# Hardware Specifics")
entries.append("#------------------{0}\n".format("-" * 30))
# OpenMP
- entries.append(cmake_cache_option("ENABLE_OPENMP",
- spec.satisfies('+openmp')))
+ entries.append(cmake_cache_option("ENABLE_OPENMP", spec.satisfies("+openmp")))
# Enable death tests
- entries.append(cmake_cache_option(
- "ENABLE_GTEST_DEATH_TESTS",
- not spec.satisfies('+cuda target=ppc64le:')
- ))
+ entries.append(
+ cmake_cache_option(
+ "ENABLE_GTEST_DEATH_TESTS", not spec.satisfies("+cuda target=ppc64le:")
+ )
+ )
if (self.compiler.fc is not None) and ("xlf" in self.compiler.fc):
# Grab lib directory for the current fortran compiler
- libdir = pjoin(os.path.dirname(
- os.path.dirname(self.compiler.fc)),
- "lib")
- description = ("Adds a missing rpath for libraries "
- "associated with the fortran compiler")
+ libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.fc)), "lib")
+ description = (
+ "Adds a missing rpath for libraries " "associated with the fortran compiler"
+ )
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
- entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS",
- linker_flags, description))
+ entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", linker_flags, description))
if "+shared" in spec:
- linker_flags = "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath," \
- + libdir
- entries.append(cmake_cache_string(
- "CMAKE_SHARED_LINKER_FLAGS",
- linker_flags, description))
-
- description = ("Converts C-style comments to Fortran style "
- "in preprocessed files")
- entries.append(cmake_cache_string(
- "BLT_FORTRAN_FLAGS",
- "-WF,-C! -qxlf2003=polymorphic",
- description))
-
- if spec.satisfies('target=ppc64le:'):
+ linker_flags = "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath," + libdir
+ entries.append(
+ cmake_cache_string("CMAKE_SHARED_LINKER_FLAGS", linker_flags, description)
+ )
+
+ description = "Converts C-style comments to Fortran style " "in preprocessed files"
+ entries.append(
+ cmake_cache_string(
+ "BLT_FORTRAN_FLAGS", "-WF,-C! -qxlf2003=polymorphic", description
+ )
+ )
+
+ if spec.satisfies("target=ppc64le:"):
# Fix for working around CMake adding implicit link directories
# returned by the BlueOS compilers to link executables with
# non-system default stdlib
- _roots = ["/usr/tce/packages/gcc/gcc-4.9.3",
- "/usr/tce/packages/gcc/gcc-4.9.3/gnu"]
- _subdirs = ["lib64",
- "lib64/gcc/powerpc64le-unknown-linux-gnu/4.9.3"]
+ _roots = ["/usr/tce/packages/gcc/gcc-4.9.3", "/usr/tce/packages/gcc/gcc-4.9.3/gnu"]
+ _subdirs = ["lib64", "lib64/gcc/powerpc64le-unknown-linux-gnu/4.9.3"]
_existing_paths = []
for root in _roots:
for subdir in _subdirs:
@@ -296,9 +279,12 @@ class Axom(CachedCMakePackage, CudaPackage):
if os.path.exists(_curr_path):
_existing_paths.append(_curr_path)
if _existing_paths:
- entries.append(cmake_cache_string(
- "BLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDE",
- ";".join(_existing_paths)))
+ entries.append(
+ cmake_cache_string(
+ "BLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDE",
+ ";".join(_existing_paths),
+ )
+ )
return entries
@@ -308,9 +294,8 @@ class Axom(CachedCMakePackage, CudaPackage):
if "+mpi" in spec:
entries.append(cmake_cache_option("ENABLE_MPI", True))
- if spec['mpi'].name == 'spectrum-mpi':
- entries.append(cmake_cache_string("BLT_MPI_COMMAND_APPEND",
- "mpibind"))
+ if spec["mpi"].name == "spectrum-mpi":
+ entries.append(cmake_cache_string("BLT_MPI_COMMAND_APPEND", "mpibind"))
else:
entries.append(cmake_cache_option("ENABLE_MPI", False))
@@ -327,7 +312,7 @@ class Axom(CachedCMakePackage, CudaPackage):
# Try to find the common prefix of the TPL directory, including the
# compiler. If found, we will use this in the TPL paths
- compiler_str = str(spec.compiler).replace('@', '-')
+ compiler_str = str(spec.compiler).replace("@", "-")
prefix_paths = prefix.split(compiler_str)
path_replacements = {}
@@ -341,25 +326,24 @@ class Axom(CachedCMakePackage, CudaPackage):
entries.append(cmake_cache_path("CONDUIT_DIR", conduit_dir))
# optional tpls
- for dep in ('mfem', 'hdf5', 'lua', 'raja', 'umpire'):
- if '+%s' % dep in spec:
+ for dep in ("mfem", "hdf5", "lua", "raja", "umpire"):
+ if "+%s" % dep in spec:
dep_dir = get_spec_path(spec, dep, path_replacements)
- entries.append(cmake_cache_path('%s_DIR' % dep.upper(),
- dep_dir))
+ entries.append(cmake_cache_path("%s_DIR" % dep.upper(), dep_dir))
else:
- entries.append('# %s not built\n' % dep.upper())
+ entries.append("# %s not built\n" % dep.upper())
- if '+scr' in spec:
- dep_dir = get_spec_path(spec, 'scr', path_replacements)
- entries.append(cmake_cache_path('SCR_DIR', dep_dir))
+ if "+scr" in spec:
+ dep_dir = get_spec_path(spec, "scr", path_replacements)
+ entries.append(cmake_cache_path("SCR_DIR", dep_dir))
# scr's dependencies
- for dep in ('kvtree', 'dtcmp'):
- if spec.satisfies('^{0}'.format(dep)):
+ for dep in ("kvtree", "dtcmp"):
+ if spec.satisfies("^{0}".format(dep)):
dep_dir = get_spec_path(spec, dep, path_replacements)
- entries.append(cmake_cache_path('%s_DIR' % dep.upper(), dep_dir))
+ entries.append(cmake_cache_path("%s_DIR" % dep.upper(), dep_dir))
else:
- entries.append('# scr not built\n')
+ entries.append("# scr not built\n")
##################################
# Devtools
@@ -376,47 +360,41 @@ class Axom(CachedCMakePackage, CudaPackage):
path2 = os.path.realpath(spec["doxygen"].prefix)
devtools_root = os.path.commonprefix([path1, path2])[:-1]
path_replacements[devtools_root] = "${DEVTOOLS_ROOT}"
- entries.append(
- "# Root directory for generated developer tools\n")
+ entries.append("# Root directory for generated developer tools\n")
entries.append(cmake_cache_path("DEVTOOLS_ROOT", devtools_root))
# Only turn on clangformat support if devtools is on
- clang_fmt_path = spec['llvm'].prefix.bin.join('clang-format')
- entries.append(cmake_cache_path(
- "CLANGFORMAT_EXECUTABLE", clang_fmt_path))
+ clang_fmt_path = spec["llvm"].prefix.bin.join("clang-format")
+ entries.append(cmake_cache_path("CLANGFORMAT_EXECUTABLE", clang_fmt_path))
else:
entries.append("# ClangFormat disabled due to disabled devtools\n")
entries.append(cmake_cache_option("ENABLE_CLANGFORMAT", False))
- if spec.satisfies('^python') or "+devtools" in spec:
- python_path = os.path.realpath(spec['python'].command.path)
+ if spec.satisfies("^python") or "+devtools" in spec:
+ python_path = os.path.realpath(spec["python"].command.path)
for key in path_replacements:
python_path = python_path.replace(key, path_replacements[key])
entries.append(cmake_cache_path("PYTHON_EXECUTABLE", python_path))
- enable_docs = spec.satisfies('^doxygen') or spec.satisfies('^py-sphinx')
+ enable_docs = spec.satisfies("^doxygen") or spec.satisfies("^py-sphinx")
entries.append(cmake_cache_option("ENABLE_DOCS", enable_docs))
- if spec.satisfies('^py-sphinx'):
- python_bin_dir = get_spec_path(spec, "python",
- path_replacements,
- use_bin=True)
- entries.append(cmake_cache_path("SPHINX_EXECUTABLE",
- pjoin(python_bin_dir,
- "sphinx-build")))
-
- if spec.satisfies('^py-shroud'):
- shroud_bin_dir = get_spec_path(spec, "py-shroud",
- path_replacements, use_bin=True)
- entries.append(cmake_cache_path("SHROUD_EXECUTABLE",
- pjoin(shroud_bin_dir, "shroud")))
-
- for dep in ('cppcheck', 'doxygen'):
- if spec.satisfies('^%s' % dep):
- dep_bin_dir = get_spec_path(spec, dep, path_replacements,
- use_bin=True)
- entries.append(cmake_cache_path('%s_EXECUTABLE' % dep.upper(),
- pjoin(dep_bin_dir, dep)))
+ if spec.satisfies("^py-sphinx"):
+ python_bin_dir = get_spec_path(spec, "python", path_replacements, use_bin=True)
+ entries.append(
+ cmake_cache_path("SPHINX_EXECUTABLE", pjoin(python_bin_dir, "sphinx-build"))
+ )
+
+ if spec.satisfies("^py-shroud"):
+ shroud_bin_dir = get_spec_path(spec, "py-shroud", path_replacements, use_bin=True)
+ entries.append(cmake_cache_path("SHROUD_EXECUTABLE", pjoin(shroud_bin_dir, "shroud")))
+
+ for dep in ("cppcheck", "doxygen"):
+ if spec.satisfies("^%s" % dep):
+ dep_bin_dir = get_spec_path(spec, dep, path_replacements, use_bin=True)
+ entries.append(
+ cmake_cache_path("%s_EXECUTABLE" % dep.upper(), pjoin(dep_bin_dir, dep))
+ )
return entries
@@ -424,21 +402,20 @@ class Axom(CachedCMakePackage, CudaPackage):
options = []
if self.run_tests is False:
- options.append('-DENABLE_TESTS=OFF')
+ options.append("-DENABLE_TESTS=OFF")
else:
- options.append('-DENABLE_TESTS=ON')
+ options.append("-DENABLE_TESTS=ON")
- options.append(self.define_from_variant(
- 'BUILD_SHARED_LIBS', 'shared'))
- options.append(self.define_from_variant(
- 'AXOM_ENABLE_EXAMPLES', 'examples'))
- options.append(self.define_from_variant(
- 'AXOM_ENABLE_TOOLS', 'tools'))
+ options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
+ options.append(self.define_from_variant("AXOM_ENABLE_EXAMPLES", "examples"))
+ options.append(self.define_from_variant("AXOM_ENABLE_TOOLS", "tools"))
return options
def patch(self):
- if self.spec.satisfies('%cce'):
- filter_file('PROPERTIES LINKER_LANGUAGE CXX',
- 'PROPERTIES LINKER_LANGUAGE CXX \n LINK_FLAGS "-fopenmp"',
- 'src/axom/quest/examples/CMakeLists.txt')
+ if self.spec.satisfies("%cce"):
+ filter_file(
+ "PROPERTIES LINKER_LANGUAGE CXX",
+ 'PROPERTIES LINKER_LANGUAGE CXX \n LINK_FLAGS "-fopenmp"',
+ "src/axom/quest/examples/CMakeLists.txt",
+ )
diff --git a/var/spack/repos/builtin/packages/babelflow/package.py b/var/spack/repos/builtin/packages/babelflow/package.py
index b881aeb041..1af192a3cc 100644
--- a/var/spack/repos/builtin/packages/babelflow/package.py
+++ b/var/spack/repos/builtin/packages/babelflow/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Babelflow(CMakePackage):
"""BabelFlow is an Embedded Domain Specific Language to describe
- algorithms using a task graph abstraction which allows them to be
- executed on top of one of several available runtime systems."""
+ algorithms using a task graph abstraction which allows them to be
+ executed on top of one of several available runtime systems."""
homepage = "https://github.com/sci-visus/BabelFlow"
- url = "https://github.com/sci-visus/BabelFlow/archive/v1.1.0.tar.gz"
- git = 'https://github.com/sci-visus/BabelFlow.git'
+ url = "https://github.com/sci-visus/BabelFlow/archive/v1.1.0.tar.gz"
+ git = "https://github.com/sci-visus/BabelFlow.git"
- maintainers = ['spetruzza']
+ maintainers = ["spetruzza"]
- version('1.1.0', sha256='6436b0e6b2f57fbe0cb9127dc9e7f513167de89de2a8c145055434013714989f')
- version('1.0.1', sha256='b7817870b7a1d7ae7ae2eff1a1acec2824675fb856f666d5dc95c41ce453ae91')
- version('1.0.0', sha256='4c4d7ddf60e25e8d3550c07875dba3e46e7c9e61b309cc47a409461b7ffa405e')
+ version("1.1.0", sha256="6436b0e6b2f57fbe0cb9127dc9e7f513167de89de2a8c145055434013714989f")
+ version("1.0.1", sha256="b7817870b7a1d7ae7ae2eff1a1acec2824675fb856f666d5dc95c41ce453ae91")
+ version("1.0.0", sha256="4c4d7ddf60e25e8d3550c07875dba3e46e7c9e61b309cc47a409461b7ffa405e")
- depends_on('mpi')
+ depends_on("mpi")
variant("shared", default=True, description="Build Babelflow as shared libs")
# Fix missing implicit includes
- @when('%gcc@7:')
+ @when("%gcc@7:")
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', '-include limits')
+ env.append_flags("CXXFLAGS", "-include limits")
def cmake_args(self):
- args = [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
return args
diff --git a/var/spack/repos/builtin/packages/babeltrace/package.py b/var/spack/repos/builtin/packages/babeltrace/package.py
index 7af1dc88ec..058f396b0c 100644
--- a/var/spack/repos/builtin/packages/babeltrace/package.py
+++ b/var/spack/repos/builtin/packages/babeltrace/package.py
@@ -12,10 +12,10 @@ class Babeltrace(AutotoolsPackage):
into a human-readable text output ordered by time."""
homepage = "https://www.efficios.com/babeltrace"
- url = "https://www.efficios.com/files/babeltrace/babeltrace-1.2.4.tar.bz2"
+ url = "https://www.efficios.com/files/babeltrace/babeltrace-1.2.4.tar.bz2"
- version('1.2.4', sha256='666e3a1ad2dc7d5703059963056e7800f0eab59c8eeb6be2efe4f3acc5209eb1')
+ version("1.2.4", sha256="666e3a1ad2dc7d5703059963056e7800f0eab59c8eeb6be2efe4f3acc5209eb1")
- depends_on('glib@2.22:', type=('build', 'link'))
- depends_on('uuid')
- depends_on('popt')
+ depends_on("glib@2.22:", type=("build", "link"))
+ depends_on("uuid")
+ depends_on("popt")
diff --git a/var/spack/repos/builtin/packages/bacio/package.py b/var/spack/repos/builtin/packages/bacio/package.py
index 961b723886..1ea68a56f6 100644
--- a/var/spack/repos/builtin/packages/bacio/package.py
+++ b/var/spack/repos/builtin/packages/bacio/package.py
@@ -12,14 +12,18 @@ class Bacio(CMakePackage):
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"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-bacio/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['t-brown', 'edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- version('2.5.0', sha256='540a0ed73941d70dbf5d7b21d5d0a441e76fad2bfe37dfdfea0db3e98fc0fbfb')
+ version("2.5.0", sha256="540a0ed73941d70dbf5d7b21d5d0a441e76fad2bfe37dfdfea0db3e98fc0fbfb")
# Prefer version 2.4.1 because the library and include directory
# names changed in verion 2.5.0 (dropping the "_4" they used to
# contain.) We need some time to let all the using packages adjust
# to the new names.
- version('2.4.1', sha256='7b9b6ba0a288f438bfba6a08b6e47f8133f7dba472a74ac56a5454e2260a7200', preferred=True)
+ version(
+ "2.4.1",
+ sha256="7b9b6ba0a288f438bfba6a08b6e47f8133f7dba472a74ac56a5454e2260a7200",
+ preferred=True,
+ )
diff --git a/var/spack/repos/builtin/packages/backupninja/package.py b/var/spack/repos/builtin/packages/backupninja/package.py
index c40fc5dc66..e986845eb4 100644
--- a/var/spack/repos/builtin/packages/backupninja/package.py
+++ b/var/spack/repos/builtin/packages/backupninja/package.py
@@ -10,16 +10,16 @@ class Backupninja(AutotoolsPackage):
"""Backupninja backup tool."""
homepage = "https://github.com/lelutin/backupninja"
- git = "https://github.com/lelutin/backupninja.git"
+ git = "https://github.com/lelutin/backupninja.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('bash', type='build')
- depends_on('gawk', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("bash", type="build")
+ depends_on("gawk", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/bam-readcount/package.py b/var/spack/repos/builtin/packages/bam-readcount/package.py
index bd995218bb..ac54e7cc90 100644
--- a/var/spack/repos/builtin/packages/bam-readcount/package.py
+++ b/var/spack/repos/builtin/packages/bam-readcount/package.py
@@ -10,6 +10,6 @@ class BamReadcount(CMakePackage):
"""Bam-readcount generates metrics at single nucleotide positions."""
homepage = "https://github.com/genome/bam-readcount"
- url = "https://github.com/genome/bam-readcount/archive/v0.8.0.tar.gz"
+ url = "https://github.com/genome/bam-readcount/archive/v0.8.0.tar.gz"
- version('0.8.0', sha256='4f4dd558e3c6bfb24d6a57ec441568f7524be6639b24f13ea6f2bb350c7ea65f')
+ version("0.8.0", sha256="4f4dd558e3c6bfb24d6a57ec441568f7524be6639b24f13ea6f2bb350c7ea65f")
diff --git a/var/spack/repos/builtin/packages/bamaddrg/package.py b/var/spack/repos/builtin/packages/bamaddrg/package.py
index 0f4a333fff..d22d47ce59 100644
--- a/var/spack/repos/builtin/packages/bamaddrg/package.py
+++ b/var/spack/repos/builtin/packages/bamaddrg/package.py
@@ -11,14 +11,14 @@ class Bamaddrg(MakefilePackage):
streams BAM output on stdout"""
homepage = "https://github.com/ekg/bamaddrg"
- url = "https://github.com/ilbiondo/bamaddrg/archive/v0.1.tar.gz"
- git = "https://github.com/ilbiondo/bamaddrg.git"
+ url = "https://github.com/ilbiondo/bamaddrg/archive/v0.1.tar.gz"
+ git = "https://github.com/ilbiondo/bamaddrg.git"
- version('0.1', sha256='725a689d8326d72f865837b231005a9211d6c70a25b7a3a754df4f90d2996355')
+ version("0.1", sha256="725a689d8326d72f865837b231005a9211d6c70a25b7a3a754df4f90d2996355")
depends_on("bamtools", type="build")
def setup_build_environment(self, env):
- env.set('BAMTOOLS_ROOT', self.spec['bamtools'].prefix)
- env.set('PREFIX', self.prefix)
+ env.set("BAMTOOLS_ROOT", self.spec["bamtools"].prefix)
+ env.set("PREFIX", self.prefix)
diff --git a/var/spack/repos/builtin/packages/bamdst/package.py b/var/spack/repos/builtin/packages/bamdst/package.py
index 0dfae3f1c6..05aef2935f 100644
--- a/var/spack/repos/builtin/packages/bamdst/package.py
+++ b/var/spack/repos/builtin/packages/bamdst/package.py
@@ -10,18 +10,18 @@ class Bamdst(MakefilePackage):
"""Bamdst is a a lightweight bam file depth statistical tool."""
homepage = "https://github.com/shiquan/bamdst"
- git = "https://github.com/shiquan/bamdst.git"
+ git = "https://github.com/shiquan/bamdst.git"
- version('master', git='https://github.com/shiquan/bamdst.git')
+ version("master", git="https://github.com/shiquan/bamdst.git")
- depends_on('zlib')
+ depends_on("zlib")
parallel = False
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('CC= .*', 'CC = cc')
+ makefile = FileFilter("Makefile")
+ makefile.filter("CC= .*", "CC = cc")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('bamdst', prefix.bin)
+ install("bamdst", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bamtools/package.py b/var/spack/repos/builtin/packages/bamtools/package.py
index 141b350c54..b30ddfe092 100644
--- a/var/spack/repos/builtin/packages/bamtools/package.py
+++ b/var/spack/repos/builtin/packages/bamtools/package.py
@@ -12,22 +12,22 @@ class Bamtools(CMakePackage):
"""C++ API & command-line toolkit for working with BAM data."""
homepage = "https://github.com/pezmaster31/bamtools"
- url = "https://github.com/pezmaster31/bamtools/archive/v2.5.2.tar.gz"
+ url = "https://github.com/pezmaster31/bamtools/archive/v2.5.2.tar.gz"
- version('2.5.2', sha256='4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8')
- version('2.5.1', sha256='4abd76cbe1ca89d51abc26bf43a92359e5677f34a8258b901a01f38c897873fc')
- version('2.5.0', sha256='85e02e04998a67cbda7ab68cdab36cee133db024e814b34e06bb617b627caf9c')
- version('2.4.1', sha256='933a0c1a83c88c1dac8078c0c0e82f6794c75cb927265399404bc2cc2611204b')
- version('2.4.0', sha256='f1fe82b8871719e0fb9ed7be73885f5d0815dd5c7277ee33bd8f67ace961e13e')
- version('2.3.0', sha256='288046e6d5d41afdc5fce8608c5641cf2b8e670644587c1315b90bbe92f039af')
- version('2.2.3', sha256='92ddef44801a1f8f01ce1a397f83e0f8b5e1ae8ad92c620f2dafaaf8d54cf178')
+ version("2.5.2", sha256="4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8")
+ version("2.5.1", sha256="4abd76cbe1ca89d51abc26bf43a92359e5677f34a8258b901a01f38c897873fc")
+ version("2.5.0", sha256="85e02e04998a67cbda7ab68cdab36cee133db024e814b34e06bb617b627caf9c")
+ version("2.4.1", sha256="933a0c1a83c88c1dac8078c0c0e82f6794c75cb927265399404bc2cc2611204b")
+ version("2.4.0", sha256="f1fe82b8871719e0fb9ed7be73885f5d0815dd5c7277ee33bd8f67ace961e13e")
+ version("2.3.0", sha256="288046e6d5d41afdc5fce8608c5641cf2b8e670644587c1315b90bbe92f039af")
+ version("2.2.3", sha256="92ddef44801a1f8f01ce1a397f83e0f8b5e1ae8ad92c620f2dafaaf8d54cf178")
- depends_on('zlib', type='link')
- depends_on('jsoncpp')
+ depends_on("zlib", type="link")
+ depends_on("jsoncpp")
def cmake_args(self):
args = []
rpath = self.rpath
rpath.append(os.path.join(self.prefix.lib, "bamtools"))
- args.append("-DCMAKE_INSTALL_RPATH=%s" % ':'.join(rpath))
+ args.append("-DCMAKE_INSTALL_RPATH=%s" % ":".join(rpath))
return args
diff --git a/var/spack/repos/builtin/packages/bamutil/package.py b/var/spack/repos/builtin/packages/bamutil/package.py
index fb085cd215..f0498db389 100644
--- a/var/spack/repos/builtin/packages/bamutil/package.py
+++ b/var/spack/repos/builtin/packages/bamutil/package.py
@@ -8,39 +8,42 @@ from spack.package import *
class Bamutil(MakefilePackage):
"""bamUtil is a repository that contains several programs
- that perform operations on SAM/BAM files. All of these programs
- are built into a single executable, bam.
+ that perform operations on SAM/BAM files. All of these programs
+ are built into a single executable, bam.
"""
homepage = "https://genome.sph.umich.edu/wiki/BamUtil"
- url = "https://github.com/statgen/bamUtil/archive/refs/tags/v1.0.15.tar.gz"
- git = "https://github.com/statgen/bamUtil.git"
- maintainers = ['snehring']
-
- version('1.0.15', sha256='24ac4bdb81eded6e33f60dba85ec3d32ebdb06d42f75df775c2632bbfbd8cce9')
- version('1.0.13', sha256='16c1d01c37d1f98b98c144f3dd0fda6068c1902f06bd0989f36ce425eb0c592b',
- url='https://genome.sph.umich.edu/w/images/7/70/BamUtilLibStatGen.1.0.13.tgz')
-
- depends_on('zlib')
- depends_on('git', type='build', when='@1.0.15:')
-
- patch('libstatgen-issue-9.patch', when='@1.0.13')
- patch('libstatgen-issue-19.patch', when='@1.0.13')
- patch('libstatgen-issue-17.patch', when='@1.0.13')
- patch('libstatgen-issue-7.patch', when='@1.0.13')
- patch('verifybamid-issue-8.patch', when='@1.0.13')
+ url = "https://github.com/statgen/bamUtil/archive/refs/tags/v1.0.15.tar.gz"
+ git = "https://github.com/statgen/bamUtil.git"
+ maintainers = ["snehring"]
+
+ version("1.0.15", sha256="24ac4bdb81eded6e33f60dba85ec3d32ebdb06d42f75df775c2632bbfbd8cce9")
+ version(
+ "1.0.13",
+ sha256="16c1d01c37d1f98b98c144f3dd0fda6068c1902f06bd0989f36ce425eb0c592b",
+ url="https://genome.sph.umich.edu/w/images/7/70/BamUtilLibStatGen.1.0.13.tgz",
+ )
+
+ depends_on("zlib")
+ depends_on("git", type="build", when="@1.0.15:")
+
+ patch("libstatgen-issue-9.patch", when="@1.0.13")
+ patch("libstatgen-issue-19.patch", when="@1.0.13")
+ patch("libstatgen-issue-17.patch", when="@1.0.13")
+ patch("libstatgen-issue-7.patch", when="@1.0.13")
+ patch("verifybamid-issue-8.patch", when="@1.0.13")
parallel = False
- @when('@1.0.15')
+ @when("@1.0.15")
def edit(self, spec, prefix):
- filter_file('git://', 'https://', 'Makefile.inc', String=True)
+ filter_file("git://", "https://", "Makefile.inc", String=True)
- @when('@1.0.15:')
+ @when("@1.0.15:")
def build(self, spec, prefix):
- make('cloneLib')
+ make("cloneLib")
make()
@property
def install_targets(self):
- return ['install', 'INSTALLDIR={0}'.format(self.prefix.bin)]
+ return ["install", "INSTALLDIR={0}".format(self.prefix.bin)]
diff --git a/var/spack/repos/builtin/packages/banner/package.py b/var/spack/repos/builtin/packages/banner/package.py
index 561bcbd417..f578d2fb82 100644
--- a/var/spack/repos/builtin/packages/banner/package.py
+++ b/var/spack/repos/builtin/packages/banner/package.py
@@ -13,11 +13,13 @@ class Banner(AutotoolsPackage):
The banner program prints a short string to the console in very large letters."""
homepage = "https://github.com/pronovic/banner"
- url = "https://github.com/pronovic/banner/archive/refs/tags/BANNER_V1.3.5.tar.gz"
+ url = "https://github.com/pronovic/banner/archive/refs/tags/BANNER_V1.3.5.tar.gz"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('1.3.5', sha256='fb21c42620a0a668334b5732a6216b23b3990ca5d87cf3b15f0689dc617e7fdc')
+ version("1.3.5", sha256="fb21c42620a0a668334b5732a6216b23b3990ca5d87cf3b15f0689dc617e7fdc")
def url_for_version(self, version):
- return "https://github.com/pronovic/banner/archive/refs/tags/BANNER_V{0}.tar.gz".format(version)
+ return "https://github.com/pronovic/banner/archive/refs/tags/BANNER_V{0}.tar.gz".format(
+ version
+ )
diff --git a/var/spack/repos/builtin/packages/bannergrab/package.py b/var/spack/repos/builtin/packages/bannergrab/package.py
index cec6f1aef6..2f1271f3a3 100644
--- a/var/spack/repos/builtin/packages/bannergrab/package.py
+++ b/var/spack/repos/builtin/packages/bannergrab/package.py
@@ -13,13 +13,11 @@ class Bannergrab(MakefilePackage):
responses. Bannergrab defaults to sending triggers."""
homepage = "https://github.com/johanburati/bannergrab"
- git = "https://github.com/johanburati/bannergrab.git"
+ git = "https://github.com/johanburati/bannergrab.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man1)
- make('BINPATH={0}'.format(prefix.bin),
- 'MANPATH={0}/'.format(prefix),
- 'install')
+ make("BINPATH={0}".format(prefix.bin), "MANPATH={0}/".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/barrnap/package.py b/var/spack/repos/builtin/packages/barrnap/package.py
index 64ca1c5033..12e78f6302 100644
--- a/var/spack/repos/builtin/packages/barrnap/package.py
+++ b/var/spack/repos/builtin/packages/barrnap/package.py
@@ -10,14 +10,14 @@ class Barrnap(Package):
"""Barrnap predicts the location of ribosomal RNA genes in genomes."""
homepage = "https://github.com/tseemann/barrnap"
- url = "https://github.com/tseemann/barrnap/archive/0.8.tar.gz"
+ url = "https://github.com/tseemann/barrnap/archive/0.8.tar.gz"
- version('0.8', sha256='82004930767e92b61539c0de27ff837b8b7af01236e565f1473c63668cf0370f')
- version('0.7', sha256='ef2173e250f06cca7569c03404c9d4ab6a908ef7643e28901fbe9a732d20c09b')
- version('0.6', sha256='272642a41634623bda34dccdce487ab791925fa769e3e575d53014956a1f9dce')
+ version("0.8", sha256="82004930767e92b61539c0de27ff837b8b7af01236e565f1473c63668cf0370f")
+ version("0.7", sha256="ef2173e250f06cca7569c03404c9d4ab6a908ef7643e28901fbe9a732d20c09b")
+ version("0.6", sha256="272642a41634623bda34dccdce487ab791925fa769e3e575d53014956a1f9dce")
- depends_on('hmmer@3.1b:', type='run')
+ depends_on("hmmer@3.1b:", type="run")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('db', prefix.db)
+ install_tree("bin", prefix.bin)
+ install_tree("db", prefix.db)
diff --git a/var/spack/repos/builtin/packages/bart/package.py b/var/spack/repos/builtin/packages/bart/package.py
index 7182b7dd39..3d36286711 100644
--- a/var/spack/repos/builtin/packages/bart/package.py
+++ b/var/spack/repos/builtin/packages/bart/package.py
@@ -10,78 +10,78 @@ class Bart(MakefilePackage, CudaPackage):
"""BART: Toolbox for Computational Magnetic Resonance Imaging"""
homepage = "https://mrirecon.github.io/bart/"
- url = "https://github.com/mrirecon/bart/archive/v0.5.00.tar.gz"
+ url = "https://github.com/mrirecon/bart/archive/v0.5.00.tar.gz"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('0.7.00', sha256='a16afc4b632c703d95b5c34e47acd82fafc19f51f9aff442373eecfef08bfc41')
- version('0.6.00', sha256='dbbd33d1e3ed3324fe21f90a3b62cb51765fe369f21df100b46a32004928f18d')
- version('0.5.00', sha256='30eedcda0f0ef3808157542e0d67df5be49ee41e4f41487af5c850632788f643')
+ version("0.7.00", sha256="a16afc4b632c703d95b5c34e47acd82fafc19f51f9aff442373eecfef08bfc41")
+ version("0.6.00", sha256="dbbd33d1e3ed3324fe21f90a3b62cb51765fe369f21df100b46a32004928f18d")
+ version("0.5.00", sha256="30eedcda0f0ef3808157542e0d67df5be49ee41e4f41487af5c850632788f643")
# patch to fix build with MKL
- patch('https://github.com/mrirecon/bart/commit/b62ca4972d5ac41a44217a5c27123c15daae74db.patch?full_index=1',
- sha256='501ca985df2324fc02e32cc4ffb32ce5c235fe83a59f5b853eb78ad0f2d6629c',
- when='@0.5.00')
+ patch(
+ "https://github.com/mrirecon/bart/commit/b62ca4972d5ac41a44217a5c27123c15daae74db.patch?full_index=1",
+ sha256="501ca985df2324fc02e32cc4ffb32ce5c235fe83a59f5b853eb78ad0f2d6629c",
+ when="@0.5.00",
+ )
# patch to fix Makefile for openblas and cuda
- patch('Makefile.patch', when='@:0.6.00')
- patch('Makefile-0.7.00.patch', when='@0.7.00:')
+ patch("Makefile.patch", when="@:0.6.00")
+ patch("Makefile-0.7.00.patch", when="@0.7.00:")
# patch to set path to bart
- patch('bart_path-0.5.00.patch', when='@0.5.00')
- patch('bart_path-0.6.00.patch', when='@0.6.00:')
+ patch("bart_path-0.5.00.patch", when="@0.5.00")
+ patch("bart_path-0.6.00.patch", when="@0.6.00:")
- depends_on('libpng')
- depends_on('fftw')
- depends_on('blas')
- depends_on('lapack')
- depends_on('py-numpy', type='run')
- depends_on('py-matplotlib', type='run')
- extends('python')
+ depends_on("libpng")
+ depends_on("fftw")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("py-numpy", type="run")
+ depends_on("py-matplotlib", type="run")
+ extends("python")
- conflicts('^atlas', msg='BART does not currently support atlas')
+ conflicts("^atlas", msg="BART does not currently support atlas")
def edit(self, spec, prefix):
- env['PREFIX'] = prefix
- env['FFTW_BASE'] = spec['fftw'].prefix
+ env["PREFIX"] = prefix
+ env["FFTW_BASE"] = spec["fftw"].prefix
- if spec['blas'].name == 'openblas':
- env['OPENBLAS'] = '1'
+ if spec["blas"].name == "openblas":
+ env["OPENBLAS"] = "1"
- if '^mkl' in spec:
- env['MKL'] = '1'
- env['MKL_BASE'] = spec['mkl'].prefix.mkl
+ if "^mkl" in spec:
+ env["MKL"] = "1"
+ env["MKL_BASE"] = spec["mkl"].prefix.mkl
else:
- env['BLAS_BASE'] = spec['blas'].prefix
+ env["BLAS_BASE"] = spec["blas"].prefix
- if '^netlib-lapack+lapacke' not in spec:
- env['NOLAPACKE'] = '1'
+ if "^netlib-lapack+lapacke" not in spec:
+ env["NOLAPACKE"] = "1"
- if '+cuda' in spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- env['CUDA'] = '1'
- env['CUDA_BASE'] = spec['cuda'].prefix
- env['GPUARCH_FLAGS'] = ' '.join(self.cuda_flags(cuda_arch))
+ if "+cuda" in spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ env["CUDA"] = "1"
+ env["CUDA_BASE"] = spec["cuda"].prefix
+ env["GPUARCH_FLAGS"] = " ".join(self.cuda_flags(cuda_arch))
def install(self, spec, prefix):
- make('install')
+ make("install")
- install_tree('scripts', prefix.scripts)
- install_tree('matlab', prefix.matlab)
- install('startup.m', prefix)
+ install_tree("scripts", prefix.scripts)
+ install_tree("matlab", prefix.matlab)
+ install("startup.m", prefix)
- install('python/bart.py', python_platlib)
- install('python/cfl.py', python_platlib)
- install('python/wslsupport.py', python_platlib)
+ install("python/bart.py", python_platlib)
+ install("python/cfl.py", python_platlib)
+ install("python/wslsupport.py", python_platlib)
- if '^python@3:' in spec:
- install('python/bartview3.py', join_path(prefix.bin, 'bartview'))
- filter_file(r'#!/usr/bin/python3', '#!/usr/bin/env python',
- prefix.bin.bartview)
+ if "^python@3:" in spec:
+ install("python/bartview3.py", join_path(prefix.bin, "bartview"))
+ filter_file(r"#!/usr/bin/python3", "#!/usr/bin/env python", prefix.bin.bartview)
else:
- install('python/bartview.py', join_path(prefix.bin, 'bartview'))
- filter_file(r'#!/usr/bin/python', '#!/usr/bin/env python',
- prefix.bin.bartview)
+ install("python/bartview.py", join_path(prefix.bin, "bartview"))
+ filter_file(r"#!/usr/bin/python", "#!/usr/bin/env python", prefix.bin.bartview)
def setup_run_environment(self, env):
- env.set('TOOLBOX_PATH', self.prefix)
+ env.set("TOOLBOX_PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/barvinok/package.py b/var/spack/repos/builtin/packages/barvinok/package.py
index 4548dd2213..3fc1795f8e 100644
--- a/var/spack/repos/builtin/packages/barvinok/package.py
+++ b/var/spack/repos/builtin/packages/barvinok/package.py
@@ -10,27 +10,29 @@ class Barvinok(AutotoolsPackage):
"""barvinok is a library for counting the number of integer points in parametric and
non-parametric polytopes."""
- maintainers = ['vmiheer']
+ maintainers = ["vmiheer"]
homepage = "https://barvinok.gforge.inria.fr"
- url = "http://barvinok.gforge.inria.fr/barvinok-0.41.5.tar.bz2"
+ url = "http://barvinok.gforge.inria.fr/barvinok-0.41.5.tar.bz2"
- version('0.41.5', sha256='e70493318fe76c0c202f98d7861bdf5dda8c4d79c21024af2e04b009ffa79734')
- variant('pet', default=False, description="Enable pet support (Generate polyhedral model from c code)")
+ version("0.41.5", sha256="e70493318fe76c0c202f98d7861bdf5dda8c4d79c21024af2e04b009ffa79734")
+ variant(
+ "pet",
+ default=False,
+ description="Enable pet support (Generate polyhedral model from c code)",
+ )
- depends_on('gmp')
- depends_on('ntl')
- depends_on('llvm +clang', when='+pet')
- depends_on('libyaml', when='+pet')
+ depends_on("gmp")
+ depends_on("ntl")
+ depends_on("llvm +clang", when="+pet")
+ depends_on("libyaml", when="+pet")
def setup_build_environment(self, env):
- env.set('CFLAGS', '-pthread')
+ env.set("CFLAGS", "-pthread")
def configure_args(self):
spec = self.spec
- args = [
- '--with-gmp-prefix={0}'.format(self.spec['gmp'].prefix)
- ]
+ args = ["--with-gmp-prefix={0}".format(self.spec["gmp"].prefix)]
- if '+pet' in spec:
- args.append('--with-pet=bundled')
+ if "+pet" in spec:
+ args.append("--with-pet=bundled")
return args
diff --git a/var/spack/repos/builtin/packages/bash-completion/package.py b/var/spack/repos/builtin/packages/bash-completion/package.py
index b04f62caff..2bed28d950 100644
--- a/var/spack/repos/builtin/packages/bash-completion/package.py
+++ b/var/spack/repos/builtin/packages/bash-completion/package.py
@@ -10,39 +10,36 @@ class BashCompletion(AutotoolsPackage):
"""Programmable completion functions for bash."""
homepage = "https://github.com/scop/bash-completion"
- url = "https://github.com/scop/bash-completion/archive/2.3.tar.gz"
- git = "https://github.com/scop/bash-completion.git"
+ url = "https://github.com/scop/bash-completion/archive/2.3.tar.gz"
+ git = "https://github.com/scop/bash-completion.git"
- version('develop', branch='master')
- version('2.7', sha256='dba2b88c363178622b61258f35d82df64dc8d279359f599e3b93eac0375a416c')
- version('2.3', sha256='d92fcef5f6e3bbc68a84f0a7b063a1cd07b4000cc6e275cd1ff83863ab3b322a')
+ version("develop", branch="master")
+ version("2.7", sha256="dba2b88c363178622b61258f35d82df64dc8d279359f599e3b93eac0375a416c")
+ version("2.3", sha256="d92fcef5f6e3bbc68a84f0a7b063a1cd07b4000cc6e275cd1ff83863ab3b322a")
# Build dependencies
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
# Other dependencies
- depends_on('bash@4.1:', type='run')
+ depends_on("bash@4.1:", type="run")
- @run_before('install')
+ @run_before("install")
def create_install_directory(self):
- mkdirp(join_path(self.prefix.share, 'bash-completion', 'completions'))
+ mkdirp(join_path(self.prefix.share, "bash-completion", "completions"))
- @run_after('install')
+ @run_after("install")
def show_message_to_user(self):
prefix = self.prefix
# Guidelines for individual user as provided by the author at
# https://github.com/scop/bash-completion
- print('=====================================================')
- print('Bash completion has been installed. To use it, please')
- print('include the following lines in your ~/.bash_profile :')
- print('')
- print('# Use bash-completion, if available')
- print(
- '[[ $PS1 && -f %s/share/bash-completion/bash_completion ]] && \\'
- % prefix
- )
- print(' . %s/share/bash-completion/bash_completion' % prefix)
- print('')
- print('=====================================================')
+ print("=====================================================")
+ print("Bash completion has been installed. To use it, please")
+ print("include the following lines in your ~/.bash_profile :")
+ print("")
+ print("# Use bash-completion, if available")
+ print("[[ $PS1 && -f %s/share/bash-completion/bash_completion ]] && \\" % prefix)
+ print(" . %s/share/bash-completion/bash_completion" % prefix)
+ print("")
+ print("=====================================================")
diff --git a/var/spack/repos/builtin/packages/bash/package.py b/var/spack/repos/builtin/packages/bash/package.py
index ca1c6a839a..bf27908938 100644
--- a/var/spack/repos/builtin/packages/bash/package.py
+++ b/var/spack/repos/builtin/packages/bash/package.py
@@ -14,136 +14,139 @@ class Bash(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/bash/"
gnu_mirror_path = "bash/bash-5.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('5.1', sha256='cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa')
- version('5.0', sha256='b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d')
- version('4.4', sha256='d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb')
- version('4.3', sha256='afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4')
+ version("5.1", sha256="cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa")
+ version("5.0", sha256="b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d")
+ version("4.4", sha256="d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb")
+ version("4.3", sha256="afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4")
- depends_on('ncurses')
- depends_on('readline@5.0:')
- depends_on('iconv')
+ depends_on("ncurses")
+ depends_on("readline@5.0:")
+ depends_on("iconv")
patches = [
- ('5.1', '001', 'ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa'),
- ('5.1', '002', '15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe'),
- ('5.1', '003', '22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1'),
- ('5.1', '004', '9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86'),
- ('5.1', '005', 'cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5'),
- ('5.1', '006', '75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14'),
- ('5.1', '007', 'acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a'),
- ('5.1', '008', 'f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1'),
-
- ('5.0', '001', 'f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289'),
- ('5.0', '002', '87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707'),
- ('5.0', '003', '4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b'),
- ('5.0', '004', '14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08'),
- ('5.0', '005', '5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276'),
- ('5.0', '006', 'd68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420'),
- ('5.0', '007', '17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b'),
- ('5.0', '008', 'eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3'),
- ('5.0', '009', 'ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903'),
- ('5.0', '010', 'd6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11'),
- ('5.0', '011', '2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea'),
- ('5.0', '012', '2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233'),
- ('5.0', '013', 'f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a'),
- ('5.0', '014', '5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589'),
- ('5.0', '015', 'a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e'),
- ('5.0', '016', 'ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d'),
- ('5.0', '017', '4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31'),
- ('5.0', '018', '7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3'),
-
- ('4.4', '001', '3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f'),
- ('4.4', '002', '7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53'),
- ('4.4', '003', '51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2'),
- ('4.4', '004', 'ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3'),
- ('4.4', '005', '221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529'),
- ('4.4', '006', '6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8'),
- ('4.4', '007', 'de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf'),
- ('4.4', '008', '86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba'),
- ('4.4', '009', '0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c'),
- ('4.4', '010', '8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06'),
- ('4.4', '011', 'dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d'),
- ('4.4', '012', 'fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e'),
- ('4.4', '013', '1b25efacbc1c4683b886d065b7a089a3601964555bcbf11f3a58989d38e853b6'),
- ('4.4', '014', 'a7f75cedb43c5845ab1c60afade22dcb5e5dc12dd98c0f5a3abcfb9f309bb17c'),
- ('4.4', '015', 'd37602ecbeb62d5a22c8167ea1e621fcdbaaa79925890a973a45c810dd01c326'),
- ('4.4', '016', '501f91cc89fadced16c73aa8858796651473602c722bb29f86a8ba588d0ff1b1'),
- ('4.4', '017', '773f90b98768d4662a22470ea8eec5fdd8e3439f370f94638872aaf884bcd270'),
- ('4.4', '018', '5bc494b42f719a8b0d844b7bd9ad50ebaae560e97f67c833c9e7e9d53981a8cc'),
- ('4.4', '019', '27170d6edfe8819835407fdc08b401d2e161b1400fe9d0c5317a51104c89c11e'),
- ('4.4', '020', '1840e2cbf26ba822913662f74037594ed562361485390c52813b38156c99522c'),
- ('4.4', '021', 'bd8f59054a763ec1c64179ad5cb607f558708a317c2bdb22b814e3da456374c1'),
- ('4.4', '022', '45331f0936e36ab91bfe44b936e33ed8a1b1848fa896e8a1d0f2ef74f297cb79'),
- ('4.4', '023', '4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6'),
-
- ('4.3', '001', 'ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742'),
- ('4.3', '002', 'eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b'),
- ('4.3', '003', '000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d'),
- ('4.3', '004', '5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338'),
- ('4.3', '005', '1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa'),
- ('4.3', '006', 'a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213'),
- ('4.3', '007', '1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3'),
- ('4.3', '008', '9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e'),
- ('4.3', '009', 'c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5'),
- ('4.3', '010', 'ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7'),
- ('4.3', '011', '7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b'),
- ('4.3', '012', '3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12'),
- ('4.3', '013', 'bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79'),
- ('4.3', '014', '5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13'),
- ('4.3', '015', '13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d'),
- ('4.3', '016', '92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773'),
- ('4.3', '017', '1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780'),
- ('4.3', '018', '7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58'),
- ('4.3', '019', 'a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23'),
- ('4.3', '020', 'ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98'),
- ('4.3', '021', '41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9'),
- ('4.3', '022', 'fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88'),
- ('4.3', '023', '9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4'),
- ('4.3', '024', '3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c'),
- ('4.3', '025', '1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251'),
- ('4.3', '026', '2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d'),
- ('4.3', '027', '1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe'),
- ('4.3', '028', 'e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d'),
- ('4.3', '029', '4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292'),
- ('4.3', '030', '85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b'),
- ('4.3', '031', 'cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d'),
- ('4.3', '032', '889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a'),
- ('4.3', '033', 'fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16'),
- ('4.3', '034', 'f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889'),
- ('4.3', '035', '370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3'),
- ('4.3', '036', 'ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c'),
- ('4.3', '037', '33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813'),
- ('4.3', '038', 'adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367'),
- ('4.3', '039', 'ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec'),
- ('4.3', '040', '84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b'),
- ('4.3', '041', '4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a'),
- ('4.3', '042', 'ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919'),
- ('4.3', '043', '47a8a3c005b46e25821f4d8f5ccb04c1d653b1c829cb40568d553dc44f7a6180'),
- ('4.3', '044', '9338820630bf67373b44d8ea68409f65162ea7a47b9b29ace06a0aed12567f99'),
- ('4.3', '045', 'ba6ec3978e9eaa1eb3fabdaf3cc6fdf8c4606ac1c599faaeb4e2d69864150023'),
- ('4.3', '046', 'b3b456a6b690cd293353f17e22d92a202b3c8bce587ae5f2667c20c9ab6f688f'),
- ('4.3', '047', 'c69248de7e78ba6b92f118fe1ef47bc86479d5040fe0b1f908ace1c9e3c67c4a'),
- ('4.3', '048', '5b8215451c5d096ca1e115307ffe6613553551a70369525a0778f216c3a4dfa2'),
+ ("5.1", "001", "ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa"),
+ ("5.1", "002", "15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe"),
+ ("5.1", "003", "22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1"),
+ ("5.1", "004", "9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86"),
+ ("5.1", "005", "cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5"),
+ ("5.1", "006", "75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14"),
+ ("5.1", "007", "acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a"),
+ ("5.1", "008", "f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1"),
+ ("5.0", "001", "f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289"),
+ ("5.0", "002", "87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707"),
+ ("5.0", "003", "4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b"),
+ ("5.0", "004", "14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08"),
+ ("5.0", "005", "5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276"),
+ ("5.0", "006", "d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420"),
+ ("5.0", "007", "17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b"),
+ ("5.0", "008", "eec64588622a82a5029b2776e218a75a3640bef4953f09d6ee1f4199670ad7e3"),
+ ("5.0", "009", "ed3ca21767303fc3de93934aa524c2e920787c506b601cc40a4897d4b094d903"),
+ ("5.0", "010", "d6fbc325f0b5dc54ddbe8ee43020bced8bd589ddffea59d128db14b2e52a8a11"),
+ ("5.0", "011", "2c4de332b91eaf797abbbd6c79709690b5cbd48b12e8dfe748096dbd7bf474ea"),
+ ("5.0", "012", "2943ee19688018296f2a04dbfe30b7138b889700efa8ff1c0524af271e0ee233"),
+ ("5.0", "013", "f5d7178d8da30799e01b83a0802018d913d6aa972dd2ddad3b927f3f3eb7099a"),
+ ("5.0", "014", "5d6eee6514ee6e22a87bba8d22be0a8621a0ae119246f1c5a9a35db1f72af589"),
+ ("5.0", "015", "a517df2dda93b26d5cbf00effefea93e3a4ccd6652f152f4109170544ebfa05e"),
+ ("5.0", "016", "ffd1d7a54a99fa7f5b1825e4f7e95d8c8876bc2ca151f150e751d429c650b06d"),
+ ("5.0", "017", "4cf3b9fafb8a66d411dd5fc9120032533a4012df1dc6ee024c7833373e2ddc31"),
+ ("5.0", "018", "7c314e375a105a6642e8ed44f3808b9def89d15f7492fe2029a21ba9c0de81d3"),
+ ("4.4", "001", "3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f"),
+ ("4.4", "002", "7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53"),
+ ("4.4", "003", "51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2"),
+ ("4.4", "004", "ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3"),
+ ("4.4", "005", "221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529"),
+ ("4.4", "006", "6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8"),
+ ("4.4", "007", "de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf"),
+ ("4.4", "008", "86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba"),
+ ("4.4", "009", "0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c"),
+ ("4.4", "010", "8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06"),
+ ("4.4", "011", "dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d"),
+ ("4.4", "012", "fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e"),
+ ("4.4", "013", "1b25efacbc1c4683b886d065b7a089a3601964555bcbf11f3a58989d38e853b6"),
+ ("4.4", "014", "a7f75cedb43c5845ab1c60afade22dcb5e5dc12dd98c0f5a3abcfb9f309bb17c"),
+ ("4.4", "015", "d37602ecbeb62d5a22c8167ea1e621fcdbaaa79925890a973a45c810dd01c326"),
+ ("4.4", "016", "501f91cc89fadced16c73aa8858796651473602c722bb29f86a8ba588d0ff1b1"),
+ ("4.4", "017", "773f90b98768d4662a22470ea8eec5fdd8e3439f370f94638872aaf884bcd270"),
+ ("4.4", "018", "5bc494b42f719a8b0d844b7bd9ad50ebaae560e97f67c833c9e7e9d53981a8cc"),
+ ("4.4", "019", "27170d6edfe8819835407fdc08b401d2e161b1400fe9d0c5317a51104c89c11e"),
+ ("4.4", "020", "1840e2cbf26ba822913662f74037594ed562361485390c52813b38156c99522c"),
+ ("4.4", "021", "bd8f59054a763ec1c64179ad5cb607f558708a317c2bdb22b814e3da456374c1"),
+ ("4.4", "022", "45331f0936e36ab91bfe44b936e33ed8a1b1848fa896e8a1d0f2ef74f297cb79"),
+ ("4.4", "023", "4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6"),
+ ("4.3", "001", "ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742"),
+ ("4.3", "002", "eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b"),
+ ("4.3", "003", "000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d"),
+ ("4.3", "004", "5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338"),
+ ("4.3", "005", "1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa"),
+ ("4.3", "006", "a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213"),
+ ("4.3", "007", "1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3"),
+ ("4.3", "008", "9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e"),
+ ("4.3", "009", "c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5"),
+ ("4.3", "010", "ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7"),
+ ("4.3", "011", "7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b"),
+ ("4.3", "012", "3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12"),
+ ("4.3", "013", "bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79"),
+ ("4.3", "014", "5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13"),
+ ("4.3", "015", "13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d"),
+ ("4.3", "016", "92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773"),
+ ("4.3", "017", "1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780"),
+ ("4.3", "018", "7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58"),
+ ("4.3", "019", "a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23"),
+ ("4.3", "020", "ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98"),
+ ("4.3", "021", "41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9"),
+ ("4.3", "022", "fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88"),
+ ("4.3", "023", "9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4"),
+ ("4.3", "024", "3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c"),
+ ("4.3", "025", "1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251"),
+ ("4.3", "026", "2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d"),
+ ("4.3", "027", "1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe"),
+ ("4.3", "028", "e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d"),
+ ("4.3", "029", "4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292"),
+ ("4.3", "030", "85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b"),
+ ("4.3", "031", "cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d"),
+ ("4.3", "032", "889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a"),
+ ("4.3", "033", "fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16"),
+ ("4.3", "034", "f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889"),
+ ("4.3", "035", "370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3"),
+ ("4.3", "036", "ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c"),
+ ("4.3", "037", "33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813"),
+ ("4.3", "038", "adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367"),
+ ("4.3", "039", "ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec"),
+ ("4.3", "040", "84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b"),
+ ("4.3", "041", "4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a"),
+ ("4.3", "042", "ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919"),
+ ("4.3", "043", "47a8a3c005b46e25821f4d8f5ccb04c1d653b1c829cb40568d553dc44f7a6180"),
+ ("4.3", "044", "9338820630bf67373b44d8ea68409f65162ea7a47b9b29ace06a0aed12567f99"),
+ ("4.3", "045", "ba6ec3978e9eaa1eb3fabdaf3cc6fdf8c4606ac1c599faaeb4e2d69864150023"),
+ ("4.3", "046", "b3b456a6b690cd293353f17e22d92a202b3c8bce587ae5f2667c20c9ab6f688f"),
+ ("4.3", "047", "c69248de7e78ba6b92f118fe1ef47bc86479d5040fe0b1f908ace1c9e3c67c4a"),
+ ("4.3", "048", "5b8215451c5d096ca1e115307ffe6613553551a70369525a0778f216c3a4dfa2"),
]
# TODO: patches below are not managed by the GNUMirrorPackage base class
for verstr, num, checksum in patches:
ver = Version(verstr)
- patch('https://ftpmirror.gnu.org/bash/bash-{0}-patches/bash{1}-{2}'.format(ver, ver.joined, num),
- level=0, when='@{0}'.format(ver), sha256=checksum)
+ patch(
+ "https://ftpmirror.gnu.org/bash/bash-{0}-patches/bash{1}-{2}".format(
+ ver, ver.joined, num
+ ),
+ level=0,
+ when="@{0}".format(ver),
+ sha256=checksum,
+ )
# Modified from:
# https://github.com/macports/macports-ports/blob/master/shells/bash/files/patch-configure.diff
- patch('patch-configure.diff', when='@:5.0 %apple-clang@12:')
+ patch("patch-configure.diff", when="@:5.0 %apple-clang@12:")
- executables = ['^bash$']
+ executables = ["^bash$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU bash, version ([\d.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU bash, version ([\d.]+)", output)
return match.group(1) if match else None
def configure_args(self):
@@ -152,22 +155,22 @@ class Bash(AutotoolsPackage, GNUMirrorPackage):
return [
# https://github.com/Homebrew/legacy-homebrew/pull/23234
# https://trac.macports.org/ticket/40603
- 'CFLAGS=-DSSH_SOURCE_BASHRC',
- 'LIBS=' + spec['ncurses'].libs.link_flags,
- '--with-curses',
- '--enable-readline',
- '--with-installed-readline',
- '--with-libiconv-prefix={0}'.format(spec['iconv'].prefix),
+ "CFLAGS=-DSSH_SOURCE_BASHRC",
+ "LIBS=" + spec["ncurses"].libs.link_flags,
+ "--with-curses",
+ "--enable-readline",
+ "--with-installed-readline",
+ "--with-libiconv-prefix={0}".format(spec["iconv"].prefix),
]
def check(self):
- make('tests')
+ make("tests")
@property
def install_targets(self):
- args = ['install']
+ args = ["install"]
- if self.spec.satisfies('@4.4:'):
- args.append('install-headers')
+ if self.spec.satisfies("@4.4:"):
+ args.append("install-headers")
return args
diff --git a/var/spack/repos/builtin/packages/bashtop/package.py b/var/spack/repos/builtin/packages/bashtop/package.py
index af3353c4cb..eb3c4e77a6 100644
--- a/var/spack/repos/builtin/packages/bashtop/package.py
+++ b/var/spack/repos/builtin/packages/bashtop/package.py
@@ -10,19 +10,19 @@ class Bashtop(Package):
"""Linux resource monitor."""
homepage = "https://github.com/aristocratos/bashtop"
- url = "https://github.com/aristocratos/bashtop/archive/v0.8.17.tar.gz"
+ url = "https://github.com/aristocratos/bashtop/archive/v0.8.17.tar.gz"
- version('0.8.17', sha256='853a7143de533437cc1654b853bc89da54ff91c629820ac45b7c8708dababf1f')
- version('0.8.16', sha256='6249e5c678fdb0a2a87d6fa13b9fe1f6bd56f7dbcaba0066d2a5275a7f9a9355')
- version('0.8.15', sha256='617aab0a23b1a9430f2ef7d51e4f89eb06c5b3f2ff40768cb6849fc2899ffc6a')
- version('0.8.14', sha256='e2e05a36a8fb3984f256af62f66562c8bd13a901e5f2ef7b7b0056ef40e57543')
- version('0.8.13', sha256='50eda3c91f36a49d7696585fce5b44ba0df53879758f30d94477010bd56c4ff1')
- version('0.8.12', sha256='1e762e40527f454da0f1d050a251a1c288cbbe49645f4ee31aa30afe44e70a0f')
- version('0.8.11', sha256='bf4b3f109819450ee52f42a32d1b46bf2524ae3b1def83fcafba1b8427c71241')
- version('0.8.10', sha256='eac071d68d2ec08869dea696b886bbc0fc33e596e9efa73563e71b4af27c0947')
- version('0.8.9', sha256='af2ba211d3bc1fbe910cd33c447686a6f39c2c731aaba54355b9e66184a0aec1')
- version('0.8.8', sha256='63e88c6f91fdfb3c5265f347e48d7a54a3ad0582407e9adbb70694eb9039ce3f')
+ version("0.8.17", sha256="853a7143de533437cc1654b853bc89da54ff91c629820ac45b7c8708dababf1f")
+ version("0.8.16", sha256="6249e5c678fdb0a2a87d6fa13b9fe1f6bd56f7dbcaba0066d2a5275a7f9a9355")
+ version("0.8.15", sha256="617aab0a23b1a9430f2ef7d51e4f89eb06c5b3f2ff40768cb6849fc2899ffc6a")
+ version("0.8.14", sha256="e2e05a36a8fb3984f256af62f66562c8bd13a901e5f2ef7b7b0056ef40e57543")
+ version("0.8.13", sha256="50eda3c91f36a49d7696585fce5b44ba0df53879758f30d94477010bd56c4ff1")
+ version("0.8.12", sha256="1e762e40527f454da0f1d050a251a1c288cbbe49645f4ee31aa30afe44e70a0f")
+ version("0.8.11", sha256="bf4b3f109819450ee52f42a32d1b46bf2524ae3b1def83fcafba1b8427c71241")
+ version("0.8.10", sha256="eac071d68d2ec08869dea696b886bbc0fc33e596e9efa73563e71b4af27c0947")
+ version("0.8.9", sha256="af2ba211d3bc1fbe910cd33c447686a6f39c2c731aaba54355b9e66184a0aec1")
+ version("0.8.8", sha256="63e88c6f91fdfb3c5265f347e48d7a54a3ad0582407e9adbb70694eb9039ce3f")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bashtop', prefix.bin)
+ install("bashtop", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bat/package.py b/var/spack/repos/builtin/packages/bat/package.py
index 56be073385..41273396d0 100644
--- a/var/spack/repos/builtin/packages/bat/package.py
+++ b/var/spack/repos/builtin/packages/bat/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class Bat(Package):
"""A cat(1) clone with wings."""
- homepage = 'https://github.com/sharkdp/bat'
- url = 'https://github.com/sharkdp/bat/archive/v0.13.0.tar.gz'
+ homepage = "https://github.com/sharkdp/bat"
+ url = "https://github.com/sharkdp/bat/archive/v0.13.0.tar.gz"
- version('0.21.0', sha256='3dff1e52d577d0a105f4afe3fe7722a4a2b8bb2eb3e7a6a5284ac7add586a3ee')
- version('0.13.0', sha256='f4aee370013e2a3bc84c405738ed0ab6e334d3a9f22c18031a7ea008cd5abd2a')
- version('0.12.1', sha256='1dd184ddc9e5228ba94d19afc0b8b440bfc1819fef8133fe331e2c0ec9e3f8e2')
+ version("0.21.0", sha256="3dff1e52d577d0a105f4afe3fe7722a4a2b8bb2eb3e7a6a5284ac7add586a3ee")
+ version("0.13.0", sha256="f4aee370013e2a3bc84c405738ed0ab6e334d3a9f22c18031a7ea008cd5abd2a")
+ version("0.12.1", sha256="1dd184ddc9e5228ba94d19afc0b8b440bfc1819fef8133fe331e2c0ec9e3f8e2")
- depends_on('rust')
+ depends_on("rust")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/batchedblas/package.py b/var/spack/repos/builtin/packages/batchedblas/package.py
index c135c5ecf1..fe2240896b 100644
--- a/var/spack/repos/builtin/packages/batchedblas/package.py
+++ b/var/spack/repos/builtin/packages/batchedblas/package.py
@@ -12,30 +12,30 @@ class Batchedblas(MakefilePackage):
execute multiple independent BLAS operations as a single subroutine call"""
homepage = "https://www.r-ccs.riken.jp/labs/lpnctrt/projects/batchedblas/index.html"
- url = "https://www.r-ccs.riken.jp/labs/lpnctrt/projects/batchedblas/BatchedBLAS-1.0.tar.gz"
+ url = "https://www.r-ccs.riken.jp/labs/lpnctrt/projects/batchedblas/BatchedBLAS-1.0.tar.gz"
- version('1.0', sha256='798ae4e7cc4ad5c3d5f3479f3d001da566d7d5205779103aaf10cd5b956ba433')
+ version("1.0", sha256="798ae4e7cc4ad5c3d5f3479f3d001da566d7d5205779103aaf10cd5b956ba433")
- depends_on('blas')
+ depends_on("blas")
- patch('AVX2.patch')
+ patch("AVX2.patch")
def edit(self, spec, prefix):
- CCFLAGS = [self.compiler.openmp_flag, '-I./', '-O3']
- BLAS = ['-lm', spec['blas'].libs.ld_flags]
- if not spec.satisfies('^mkl'):
- CCFLAGS.append('-D_CBLAS_')
- if spec.satisfies('%intel'):
- CCFLAGS.extend(['-Os'])
- elif spec.satisfies('%fj'):
- CCFLAGS.extend(['-std=gnu11', '-Kfast,ocl', '-Nclang'])
- makefile_src = FileFilter('bblas_src/Makefile')
- makefile_src.filter(r'^\s*CCFLAG\s*=.*', 'CCFLAG = %s' % ' '.join(CCFLAGS))
- makefile_src.filter(r'^\s*BLAS\s*=.*', 'BLAS = %s' % ' '.join(BLAS))
+ CCFLAGS = [self.compiler.openmp_flag, "-I./", "-O3"]
+ BLAS = ["-lm", spec["blas"].libs.ld_flags]
+ if not spec.satisfies("^mkl"):
+ CCFLAGS.append("-D_CBLAS_")
+ if spec.satisfies("%intel"):
+ CCFLAGS.extend(["-Os"])
+ elif spec.satisfies("%fj"):
+ CCFLAGS.extend(["-std=gnu11", "-Kfast,ocl", "-Nclang"])
+ makefile_src = FileFilter("bblas_src/Makefile")
+ makefile_src.filter(r"^\s*CCFLAG\s*=.*", "CCFLAG = %s" % " ".join(CCFLAGS))
+ makefile_src.filter(r"^\s*BLAS\s*=.*", "BLAS = %s" % " ".join(BLAS))
def install(self, spec, prefix):
mkdirp(prefix.lib)
mkdirp(prefix.include)
- install(join_path('bblas_src', '*.h'), prefix.include)
- install(join_path('bblas_src', 'libbblas.a'), prefix.lib)
- install(join_path('bblas_src', 'libbblas.so'), prefix.lib)
+ install(join_path("bblas_src", "*.h"), prefix.include)
+ install(join_path("bblas_src", "libbblas.a"), prefix.lib)
+ install(join_path("bblas_src", "libbblas.so"), prefix.lib)
diff --git a/var/spack/repos/builtin/packages/batctl/package.py b/var/spack/repos/builtin/packages/batctl/package.py
index a810f9cbeb..ab4ac4d798 100644
--- a/var/spack/repos/builtin/packages/batctl/package.py
+++ b/var/spack/repos/builtin/packages/batctl/package.py
@@ -10,15 +10,15 @@ class Batctl(MakefilePackage):
"""B.A.T.M.A.N. advanced control and management tool"""
homepage = "https://github.com/open-mesh-mirror/batctl"
- url = "https://github.com/open-mesh-mirror/batctl/archive/v2019.5.tar.gz"
+ url = "https://github.com/open-mesh-mirror/batctl/archive/v2019.5.tar.gz"
- version('2019.5', sha256='ffe5857a33068ec174140c154610d76d833524d840a2fc2d1a15e16686213cad')
- version('2019.4', sha256='a3564eb9727335352dc0cfa2f2b29474c2c837384689ac5fcb387784a56e7685')
- version('2019.3', sha256='2bd93fa14925a8dc63a67e64266c8ccd2fa3ac44b10253d93e6f8a630350070c')
- version('2019.2', sha256='fb656208ff7d4cd8b1b422f60c9e6d8747302a347cbf6c199d7afa9b80f80ea3')
+ version("2019.5", sha256="ffe5857a33068ec174140c154610d76d833524d840a2fc2d1a15e16686213cad")
+ version("2019.4", sha256="a3564eb9727335352dc0cfa2f2b29474c2c837384689ac5fcb387784a56e7685")
+ version("2019.3", sha256="2bd93fa14925a8dc63a67e64266c8ccd2fa3ac44b10253d93e6f8a630350070c")
+ version("2019.2", sha256="fb656208ff7d4cd8b1b422f60c9e6d8747302a347cbf6c199d7afa9b80f80ea3")
- depends_on('libnl')
+ depends_on("libnl")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('batctl', prefix.bin)
+ install("batctl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bats/package.py b/var/spack/repos/builtin/packages/bats/package.py
index 2dc4bca6b9..3a92c67bfa 100644
--- a/var/spack/repos/builtin/packages/bats/package.py
+++ b/var/spack/repos/builtin/packages/bats/package.py
@@ -10,10 +10,10 @@ class Bats(Package):
"""Bats is a TAP-compliant testing framework for Bash."""
homepage = "https://github.com/sstephenson/bats"
- url = "https://github.com/sstephenson/bats/archive/v0.4.0.tar.gz"
+ url = "https://github.com/sstephenson/bats/archive/v0.4.0.tar.gz"
- version('0.4.0', sha256='480d8d64f1681eee78d1002527f3f06e1ac01e173b761bc73d0cf33f4dc1d8d7')
+ version("0.4.0", sha256="480d8d64f1681eee78d1002527f3f06e1ac01e173b761bc73d0cf33f4dc1d8d7")
def install(self, spec, prefix):
bash = which("bash")
- bash('install.sh', prefix)
+ bash("install.sh", prefix)
diff --git a/var/spack/repos/builtin/packages/baurmc/package.py b/var/spack/repos/builtin/packages/baurmc/package.py
index 3d2f74ae2d..bbe2987e4c 100644
--- a/var/spack/repos/builtin/packages/baurmc/package.py
+++ b/var/spack/repos/builtin/packages/baurmc/package.py
@@ -14,29 +14,23 @@ class Baurmc(AutotoolsPackage):
higher order QCD corrections as well."""
homepage = "https://twiki.cern.ch/twiki/bin/view/Sandbox/BaurMCInteface"
- url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/MCGeneratorsTarFiles/baurmc-1.0-src.tgz"
+ url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/MCGeneratorsTarFiles/baurmc-1.0-src.tgz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.0', sha256='de5027ed2e66028bed890760bee9d869e1e330ac7f7112ee5cb25868cea5c35b')
+ version("1.0", sha256="de5027ed2e66028bed890760bee9d869e1e330ac7f7112ee5cb25868cea5c35b")
@property
def configure_directory(self):
return os.path.join(self.stage.source_path, str(self.spec.version))
def patch(self):
- filter_file('FC=g77',
- 'FC=gfortran',
- str(self.spec.version) + '/configure',
- string=True)
+ filter_file("FC=g77", "FC=gfortran", str(self.spec.version) + "/configure", string=True)
def configure_args(self):
- return [
- '--userfflags=-fno-automatic',
- '--enable-shared'
- ]
+ return ["--userfflags=-fno-automatic", "--enable-shared"]
def install(self, spec, prefix):
build_libdir = os.path.join(str(spec.version), "lib")
diff --git a/var/spack/repos/builtin/packages/bazel/package.py b/var/spack/repos/builtin/packages/bazel/package.py
index cc4279c9b0..7101a979e1 100644
--- a/var/spack/repos/builtin/packages/bazel/package.py
+++ b/var/spack/repos/builtin/packages/bazel/package.py
@@ -16,252 +16,260 @@ class Bazel(Package):
numbers of users."""
homepage = "https://bazel.build/"
- url = "https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-dist.zip"
-
- tags = ['build-tools']
-
- version('5.2.0', sha256='820a94dbb14071ed6d8c266cf0c080ecb265a5eea65307579489c4662c2d582a')
- version('5.1.1', sha256='7f5d3bc1d344692b2400f3765fd4b5c0b636eb4e7a8a7b17923095c7b56a4f78')
- version('5.1.0', sha256='4de301f509fc6d0cbc697b2017384ecdc94df8f36245bbcbedc7ea6780acc9f5')
- version('5.0.0', sha256='072dd62d237dbc11e0bac02e118d8c2db4d0ba3ba09f1a0eb1e2a460fb8419db')
- version('4.2.2', sha256='9981d0d53a356c4e87962847750a97c9e8054e460854748006c80f0d7e2b2d33')
- version('4.2.1', sha256='12ea7aa11e2bdb12de1dceb9939a22e96f5a480437cb17c123379d8e0fdf5e82')
- version('4.2.0', sha256='74814b63920aaee47dbbbee7082e5c4317e4eebaf07e03c5fb5626e1716f1034')
- version('4.1.0', sha256='f377d755c96a50f6bd2f423562598d822f43356783330a0b780ad442864d6eeb')
- version('4.0.0', sha256='d350f80e70654932db252db380d2ec0144a00e86f8d9f2b4c799ffdb48e9cdd1')
- version('3.7.2', sha256='de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1')
- version('3.7.1', sha256='c9244e5905df6b0190113e26082c72d58b56b1b0dec66d076f083ce4089b0307')
- version('3.7.0', sha256='63873623917c756d1be49ff4d5fc23049736180e6b9a7d5236c6f204eddae3cc')
- version('3.6.0', sha256='3a18f24febb5203f11b0985b27e120ac623058d1d5ca79cd6df992e67d57240a')
- version('3.5.1', sha256='67eae714578b22d24192b0eb3a2d35b07578bbd57a33c50f1e74f8acd6378b3c')
- version('3.5.0', sha256='334429059cf82e222ca8a9d9dbbd26f8e1eb308613463c2b8655dd4201b127ec')
- version('3.4.1', sha256='27af1f11c8f23436915925b25cf6e1fb07fccf2d2a193a307c93437c60f63ba8')
- version('3.4.0', sha256='7583abf8905ba9dd5394294e815e8873635ac4e5067e63392e8a33b397e450d8')
- version('3.3.1', sha256='e0f1f43c65c4e0a38522b37e81f6129d8a1f7cd3d8884847be306544a7492747')
- version('3.3.0', sha256='05a03960de09d5775839c5766ad8a0a30f261feaba5fa53ce3e49168d1eee826')
- version('3.2.0', sha256='44ec129436f6de45f2230e14100104919443a1364c2491f5601666b358738bfa')
- version('3.1.0', sha256='d7f40d0cac95a06cea6cb5b7f7769085257caebc3ee84269dd9298da760d5615')
- version('3.0.0', sha256='530f5132e0a50da7ebb0ed08d9b6f1ddfd0d7d9b5d0beb2df5d687a4c8daf6b3')
- version('2.2.0', sha256='9379878a834d105a47a87d3d7b981852dd9f64bc16620eacd564b48533e169a7')
- version('2.1.1', sha256='83f67f28f4e47ff69043307d1791c9bffe83949e84165d49058b84eded932647')
- version('2.1.0', sha256='3371cd9050989173a3b27364668328653a65653a50a85c320adc53953b4d5f46')
- version('2.0.1', sha256='a863ed9e6fc420fbd92e63a12fe1a5b9be1a7a36f11f61f1fdc582c813bbe543')
- version('2.0.0', sha256='724da3c656f68e787a86ebb9844773aa1c2e3a873cc39462a8f1b336153d6cbb')
- version('1.2.1', sha256='255da49d0f012bc4f2c1d6d3ccdbe578e22fe97b8d124e1629a486fe2a09d3e1')
- version('1.2.0', sha256='9cb46b0a18b9166730307a0e82bf4c02281a1cc6da0fb11239e6fe4147bdee6e')
- version('1.1.0', sha256='4b66a8c93af7832ed32e7236cf454a05f3aa06d25a8576fc3f83114f142f95ab')
- version('1.0.1', sha256='f4d2dfad011ff03a5fae41b9b02cd96cd7297c1205d496603d66516934fbcfee')
- version('1.0.0', sha256='c61daf0b69dd95205c695b2f9022d296d052c727062cfd396d54ffb2154f8cac')
- version('0.29.1', sha256='872a52cff208676e1169b3e1cae71b1fe572c4109cbd66eab107d8607c378de5')
- version('0.29.0', sha256='01cb6f2e808bd016cf0e217e12373c9efb808123e58b37885be8364458d3a40a')
- version('0.28.1', sha256='2cea463d611f5255d2f3d41c8de5dcc0961adccb39cf0ac036f07070ba720314')
- version('0.28.0', sha256='26ad8cdadd413b8432cf46d9fc3801e8db85d9922f85dd8a7f5a92fec876557f')
- version('0.27.2', sha256='5e1bf2b48e54eb7e518430667d29aef53695d6dd7c718665a52131ab27aadab2')
- version('0.27.1', sha256='8051d77da4ec338acd91770f853e4c25f4407115ed86fd35a6de25921673e779')
- version('0.27.0', sha256='c3080d3b959ac08502ad5c84a51608c291accb1481baad88a628bbf79b30c67a')
- version('0.26.1', sha256='c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600')
- version('0.26.0', sha256='d26dadf62959255d58e523da3448a6222af768fe1224e321b120c1d5bbe4b4f2')
- version('0.25.3', sha256='23eafd3e439bc71baba9c592b52cb742dabc8640a13b9da1751fec090a2dda99')
- version('0.25.2', sha256='7456032199852c043e6c5b3e4c71dd8089c1158f72ec554e6ec1c77007f0ab51')
- version('0.25.1', sha256='a52bb31aeb1f821e649d25ef48023cfb54a12887aff875c6349ebcac36c2f056')
- version('0.25.0', sha256='f624fe9ca8d51de192655369ac538c420afb7cde16e1ad052554b582fff09287')
- version('0.24.1', sha256='56ea1b199003ad832813621744178e42b39e6206d34fbae342562c287da0cd54')
- version('0.24.0', sha256='621d2a97899a88850a913eabf9285778331a309fd4658b225b1377f80060fa85')
- version('0.23.2', sha256='293a5a7d851e0618eeb5e6958d94a11d45b6a00f2ba9376de61ac2bd5f917439')
- version('0.23.1', sha256='dd47199f92452bf67b2c5d60ad4b7143554eaf2c6196ab6e8713449d81a0491d')
- version('0.23.0', sha256='2daf9c2c6498836ed4ebae7706abb809748b1350cacd35b9f89452f31ac0acc1')
- version('0.22.0', sha256='6860a226c8123770b122189636fb0c156c6e5c9027b5b245ac3b2315b7b55641')
- version('0.21.0', sha256='6ccb831e683179e0cfb351cb11ea297b4db48f9eab987601c038aa0f83037db4')
- version('0.20.0', sha256='1945afa84fd8858b0a3c68c09915a4bc81065c61df2591387b2985e2297d30bd')
- version('0.19.2', sha256='11234cce4f6bdc62c3ac688f41c7b5c178eecb6f7e2c4ba0bcf00ba8565b1d19')
- version('0.19.1', sha256='c9405f7b8c79ebc81f9f0e49bb656df4a0da246771d010c2cdd6bb30e2500ac0')
- version('0.19.0', sha256='ee6135c5c47306c8421d43ad83aabc4f219cb065376ee37797f2c8ba9a615315')
- version('0.18.1', sha256='baed9f28c317000a4ec1ad2571b3939356d22746ca945ac2109148d7abb860d4')
- version('0.18.0', sha256='d0e86d2f7881ec8742a9823a986017452d2da0dfe4e989111da787cb89257155')
- version('0.17.2', sha256='b6e87acfa0a405bb8b3417c58477b66d5bc27dc0d31ba6fa12bc255b9278d33b')
- version('0.17.1', sha256='23e4281c3628cbd746da3f51330109bbf69780bd64461b63b386efae37203f20')
- version('0.16.1', sha256='09c66b94356c82c52f212af52a81ac28eb06de1313755a2f23eeef84d167b36c')
- version('0.16.0', sha256='c730593916ef0ba62f3d113cc3a268e45f7e8039daf7b767c8641b6999bd49b1')
- version('0.15.2', sha256='bf53ec73be3a6d412d85ef612cec6e9c85db45da42001fab0cf1dad44cfc03f1')
- version('0.15.1', sha256='c62b351fa4c1ba5aeb34d0a137176f8e8f1d89a32f548a10e96c11df176ffc6c')
- version('0.15.0', sha256='c3b716e6625e6b8c323350c95cd3ae0f56aeb00458dddd10544d5bead8a7b602')
- version('0.14.1', sha256='d49cdcd82618ae7a7a190e6f0a80d9bf85c1a66b732f994f37732dc14ffb0025')
- version('0.14.0', sha256='259627de8b9d415cc80904523facf3d50e6e8e68448ab968eb1c9cb8ca1ef843')
- version('0.13.1', sha256='b0269e75b40d87ff87886e5f3432cbf88f70c96f907ab588e6c21b2922d72db0')
- version('0.13.0', sha256='82e9035084660b9c683187618a29aa896f8b05b5f16ae4be42a80b5e5b6a7690')
- version('0.12.0', sha256='3b3e7dc76d145046fdc78db7cac9a82bc8939d3b291e53a7ce85315feb827754')
- version('0.11.1', sha256='e8d762bcc01566fa50952c8028e95cfbe7545a39b8ceb3a0d0d6df33b25b333f')
- version('0.11.0', sha256='abfeccc94728cb46be8dbb3507a23ccffbacef9fbda96a977ef4ea8d6ab0d384')
- version('0.10.1', sha256='708248f6d92f2f4d6342006c520f22dffa2f8adb0a9dc06a058e3effe7fee667')
- version('0.10.0', sha256='47e0798caaac4df499bce5fe554a914abd884a855a27085a4473de1d737d9548')
- version('0.9.0', sha256='efb28fed4ffcfaee653e0657f6500fc4cbac61e32104f4208da385676e76312a')
- version('0.8.1', sha256='dfd0761e0b7e36c1d74c928ad986500c905be5ebcfbc29914d574af1db7218cf')
- version('0.8.0', sha256='aa840321d056abd3c6be10c4a1e98a64f9f73fff9aa89c468dae8c003974a078')
- version('0.7.0', sha256='a084a9c5d843e2343bf3f319154a48abe3d35d52feb0ad45dec427a1c4ffc416')
- version('0.6.1', sha256='dada1f60a512789747011184b2767d2b44136ef3b036d86947f1896d200d2ba7')
- version('0.6.0', sha256='a0e53728a9541ef87934831f3d05f2ccfdc3b8aeffe3e037be2b92b12400598e')
- version('0.5.4', sha256='2157b05309614d6af0e4bbc6065987aede590822634a0522161f3af5d647abc9')
- version('0.5.3', sha256='76b5c5880a0b15f5b91f7d626c5bc3b76ce7e5d21456963c117ab711bf1c5333')
- version('0.5.2', sha256='2418c619bdd44257a170b85b9d2ecb75def29e751b725e27186468ada2e009ea')
- version('0.5.1', sha256='85e6a18b111afeea2e475fe991db2a441ec3824211d659bee7b0012c36be9a40')
- version('0.5.0', sha256='ebba7330a8715e96a6d6dc0aa085125d529d0740d788f0544c6169d892e4f861')
- version('0.4.5', sha256='2b737be42678900470ae9e48c975ac5b2296d9ae23c007bf118350dbe7c0552b')
- version('0.4.4', sha256='d52a21dda271ae645711ce99c70cf44c5d3a809138e656bbff00998827548ebb')
- version('0.4.3', sha256='cbd2ab580181c17317cf18b2bf825bcded2d97cab01cd5b5fe4f4d520b64f90f')
- version('0.4.2', sha256='8e6f41252abadcdb2cc7a07f910ec4b45fb12c46f0a578672c6a186c7efcdb36')
- version('0.4.1', sha256='008c648d3c46ece063ae8b5008480d8ae6d359d35967356685d1c09da07e1064')
- version('0.4.0', sha256='6474714eee72ba2d4e271ed00ce8c05d67a9d15327bc03962b821b2af2c5ca36')
- version('0.3.2', sha256='ca5caf7b2b48c7639f45d815b32e76d69650f3199eb8caa541d402722e3f6c10')
- version('0.3.1', sha256='218d0e28b4d1ee34585f2ac6b18d169c81404d93958815e73e60cc0368efcbb7')
- version('0.3.0', sha256='357fd8bdf86034b93902616f0844bd52e9304cccca22971ab7007588bf9d5fb3')
- version('0.2.0', sha256='54669662f7751d9fc9959207e13d9a171bda15be9087703d3dbd3968fed12b27')
- version('0.1.4', sha256='f3c395f5cd78cfef96f4008fe842f327bc8b03b77f46999387bc0ad223b5d970')
- version('0.1.1', sha256='c6ae19610b936a0aa940b44a3626d6e660fc457a8187d295cdf0b21169453d20')
+ url = "https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-dist.zip"
+
+ tags = ["build-tools"]
+
+ version("5.2.0", sha256="820a94dbb14071ed6d8c266cf0c080ecb265a5eea65307579489c4662c2d582a")
+ version("5.1.1", sha256="7f5d3bc1d344692b2400f3765fd4b5c0b636eb4e7a8a7b17923095c7b56a4f78")
+ version("5.1.0", sha256="4de301f509fc6d0cbc697b2017384ecdc94df8f36245bbcbedc7ea6780acc9f5")
+ version("5.0.0", sha256="072dd62d237dbc11e0bac02e118d8c2db4d0ba3ba09f1a0eb1e2a460fb8419db")
+ version("4.2.2", sha256="9981d0d53a356c4e87962847750a97c9e8054e460854748006c80f0d7e2b2d33")
+ version("4.2.1", sha256="12ea7aa11e2bdb12de1dceb9939a22e96f5a480437cb17c123379d8e0fdf5e82")
+ version("4.2.0", sha256="74814b63920aaee47dbbbee7082e5c4317e4eebaf07e03c5fb5626e1716f1034")
+ version("4.1.0", sha256="f377d755c96a50f6bd2f423562598d822f43356783330a0b780ad442864d6eeb")
+ version("4.0.0", sha256="d350f80e70654932db252db380d2ec0144a00e86f8d9f2b4c799ffdb48e9cdd1")
+ version("3.7.2", sha256="de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1")
+ version("3.7.1", sha256="c9244e5905df6b0190113e26082c72d58b56b1b0dec66d076f083ce4089b0307")
+ version("3.7.0", sha256="63873623917c756d1be49ff4d5fc23049736180e6b9a7d5236c6f204eddae3cc")
+ version("3.6.0", sha256="3a18f24febb5203f11b0985b27e120ac623058d1d5ca79cd6df992e67d57240a")
+ version("3.5.1", sha256="67eae714578b22d24192b0eb3a2d35b07578bbd57a33c50f1e74f8acd6378b3c")
+ version("3.5.0", sha256="334429059cf82e222ca8a9d9dbbd26f8e1eb308613463c2b8655dd4201b127ec")
+ version("3.4.1", sha256="27af1f11c8f23436915925b25cf6e1fb07fccf2d2a193a307c93437c60f63ba8")
+ version("3.4.0", sha256="7583abf8905ba9dd5394294e815e8873635ac4e5067e63392e8a33b397e450d8")
+ version("3.3.1", sha256="e0f1f43c65c4e0a38522b37e81f6129d8a1f7cd3d8884847be306544a7492747")
+ version("3.3.0", sha256="05a03960de09d5775839c5766ad8a0a30f261feaba5fa53ce3e49168d1eee826")
+ version("3.2.0", sha256="44ec129436f6de45f2230e14100104919443a1364c2491f5601666b358738bfa")
+ version("3.1.0", sha256="d7f40d0cac95a06cea6cb5b7f7769085257caebc3ee84269dd9298da760d5615")
+ version("3.0.0", sha256="530f5132e0a50da7ebb0ed08d9b6f1ddfd0d7d9b5d0beb2df5d687a4c8daf6b3")
+ version("2.2.0", sha256="9379878a834d105a47a87d3d7b981852dd9f64bc16620eacd564b48533e169a7")
+ version("2.1.1", sha256="83f67f28f4e47ff69043307d1791c9bffe83949e84165d49058b84eded932647")
+ version("2.1.0", sha256="3371cd9050989173a3b27364668328653a65653a50a85c320adc53953b4d5f46")
+ version("2.0.1", sha256="a863ed9e6fc420fbd92e63a12fe1a5b9be1a7a36f11f61f1fdc582c813bbe543")
+ version("2.0.0", sha256="724da3c656f68e787a86ebb9844773aa1c2e3a873cc39462a8f1b336153d6cbb")
+ version("1.2.1", sha256="255da49d0f012bc4f2c1d6d3ccdbe578e22fe97b8d124e1629a486fe2a09d3e1")
+ version("1.2.0", sha256="9cb46b0a18b9166730307a0e82bf4c02281a1cc6da0fb11239e6fe4147bdee6e")
+ version("1.1.0", sha256="4b66a8c93af7832ed32e7236cf454a05f3aa06d25a8576fc3f83114f142f95ab")
+ version("1.0.1", sha256="f4d2dfad011ff03a5fae41b9b02cd96cd7297c1205d496603d66516934fbcfee")
+ version("1.0.0", sha256="c61daf0b69dd95205c695b2f9022d296d052c727062cfd396d54ffb2154f8cac")
+ version("0.29.1", sha256="872a52cff208676e1169b3e1cae71b1fe572c4109cbd66eab107d8607c378de5")
+ version("0.29.0", sha256="01cb6f2e808bd016cf0e217e12373c9efb808123e58b37885be8364458d3a40a")
+ version("0.28.1", sha256="2cea463d611f5255d2f3d41c8de5dcc0961adccb39cf0ac036f07070ba720314")
+ version("0.28.0", sha256="26ad8cdadd413b8432cf46d9fc3801e8db85d9922f85dd8a7f5a92fec876557f")
+ version("0.27.2", sha256="5e1bf2b48e54eb7e518430667d29aef53695d6dd7c718665a52131ab27aadab2")
+ version("0.27.1", sha256="8051d77da4ec338acd91770f853e4c25f4407115ed86fd35a6de25921673e779")
+ version("0.27.0", sha256="c3080d3b959ac08502ad5c84a51608c291accb1481baad88a628bbf79b30c67a")
+ version("0.26.1", sha256="c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600")
+ version("0.26.0", sha256="d26dadf62959255d58e523da3448a6222af768fe1224e321b120c1d5bbe4b4f2")
+ version("0.25.3", sha256="23eafd3e439bc71baba9c592b52cb742dabc8640a13b9da1751fec090a2dda99")
+ version("0.25.2", sha256="7456032199852c043e6c5b3e4c71dd8089c1158f72ec554e6ec1c77007f0ab51")
+ version("0.25.1", sha256="a52bb31aeb1f821e649d25ef48023cfb54a12887aff875c6349ebcac36c2f056")
+ version("0.25.0", sha256="f624fe9ca8d51de192655369ac538c420afb7cde16e1ad052554b582fff09287")
+ version("0.24.1", sha256="56ea1b199003ad832813621744178e42b39e6206d34fbae342562c287da0cd54")
+ version("0.24.0", sha256="621d2a97899a88850a913eabf9285778331a309fd4658b225b1377f80060fa85")
+ version("0.23.2", sha256="293a5a7d851e0618eeb5e6958d94a11d45b6a00f2ba9376de61ac2bd5f917439")
+ version("0.23.1", sha256="dd47199f92452bf67b2c5d60ad4b7143554eaf2c6196ab6e8713449d81a0491d")
+ version("0.23.0", sha256="2daf9c2c6498836ed4ebae7706abb809748b1350cacd35b9f89452f31ac0acc1")
+ version("0.22.0", sha256="6860a226c8123770b122189636fb0c156c6e5c9027b5b245ac3b2315b7b55641")
+ version("0.21.0", sha256="6ccb831e683179e0cfb351cb11ea297b4db48f9eab987601c038aa0f83037db4")
+ version("0.20.0", sha256="1945afa84fd8858b0a3c68c09915a4bc81065c61df2591387b2985e2297d30bd")
+ version("0.19.2", sha256="11234cce4f6bdc62c3ac688f41c7b5c178eecb6f7e2c4ba0bcf00ba8565b1d19")
+ version("0.19.1", sha256="c9405f7b8c79ebc81f9f0e49bb656df4a0da246771d010c2cdd6bb30e2500ac0")
+ version("0.19.0", sha256="ee6135c5c47306c8421d43ad83aabc4f219cb065376ee37797f2c8ba9a615315")
+ version("0.18.1", sha256="baed9f28c317000a4ec1ad2571b3939356d22746ca945ac2109148d7abb860d4")
+ version("0.18.0", sha256="d0e86d2f7881ec8742a9823a986017452d2da0dfe4e989111da787cb89257155")
+ version("0.17.2", sha256="b6e87acfa0a405bb8b3417c58477b66d5bc27dc0d31ba6fa12bc255b9278d33b")
+ version("0.17.1", sha256="23e4281c3628cbd746da3f51330109bbf69780bd64461b63b386efae37203f20")
+ version("0.16.1", sha256="09c66b94356c82c52f212af52a81ac28eb06de1313755a2f23eeef84d167b36c")
+ version("0.16.0", sha256="c730593916ef0ba62f3d113cc3a268e45f7e8039daf7b767c8641b6999bd49b1")
+ version("0.15.2", sha256="bf53ec73be3a6d412d85ef612cec6e9c85db45da42001fab0cf1dad44cfc03f1")
+ version("0.15.1", sha256="c62b351fa4c1ba5aeb34d0a137176f8e8f1d89a32f548a10e96c11df176ffc6c")
+ version("0.15.0", sha256="c3b716e6625e6b8c323350c95cd3ae0f56aeb00458dddd10544d5bead8a7b602")
+ version("0.14.1", sha256="d49cdcd82618ae7a7a190e6f0a80d9bf85c1a66b732f994f37732dc14ffb0025")
+ version("0.14.0", sha256="259627de8b9d415cc80904523facf3d50e6e8e68448ab968eb1c9cb8ca1ef843")
+ version("0.13.1", sha256="b0269e75b40d87ff87886e5f3432cbf88f70c96f907ab588e6c21b2922d72db0")
+ version("0.13.0", sha256="82e9035084660b9c683187618a29aa896f8b05b5f16ae4be42a80b5e5b6a7690")
+ version("0.12.0", sha256="3b3e7dc76d145046fdc78db7cac9a82bc8939d3b291e53a7ce85315feb827754")
+ version("0.11.1", sha256="e8d762bcc01566fa50952c8028e95cfbe7545a39b8ceb3a0d0d6df33b25b333f")
+ version("0.11.0", sha256="abfeccc94728cb46be8dbb3507a23ccffbacef9fbda96a977ef4ea8d6ab0d384")
+ version("0.10.1", sha256="708248f6d92f2f4d6342006c520f22dffa2f8adb0a9dc06a058e3effe7fee667")
+ version("0.10.0", sha256="47e0798caaac4df499bce5fe554a914abd884a855a27085a4473de1d737d9548")
+ version("0.9.0", sha256="efb28fed4ffcfaee653e0657f6500fc4cbac61e32104f4208da385676e76312a")
+ version("0.8.1", sha256="dfd0761e0b7e36c1d74c928ad986500c905be5ebcfbc29914d574af1db7218cf")
+ version("0.8.0", sha256="aa840321d056abd3c6be10c4a1e98a64f9f73fff9aa89c468dae8c003974a078")
+ version("0.7.0", sha256="a084a9c5d843e2343bf3f319154a48abe3d35d52feb0ad45dec427a1c4ffc416")
+ version("0.6.1", sha256="dada1f60a512789747011184b2767d2b44136ef3b036d86947f1896d200d2ba7")
+ version("0.6.0", sha256="a0e53728a9541ef87934831f3d05f2ccfdc3b8aeffe3e037be2b92b12400598e")
+ version("0.5.4", sha256="2157b05309614d6af0e4bbc6065987aede590822634a0522161f3af5d647abc9")
+ version("0.5.3", sha256="76b5c5880a0b15f5b91f7d626c5bc3b76ce7e5d21456963c117ab711bf1c5333")
+ version("0.5.2", sha256="2418c619bdd44257a170b85b9d2ecb75def29e751b725e27186468ada2e009ea")
+ version("0.5.1", sha256="85e6a18b111afeea2e475fe991db2a441ec3824211d659bee7b0012c36be9a40")
+ version("0.5.0", sha256="ebba7330a8715e96a6d6dc0aa085125d529d0740d788f0544c6169d892e4f861")
+ version("0.4.5", sha256="2b737be42678900470ae9e48c975ac5b2296d9ae23c007bf118350dbe7c0552b")
+ version("0.4.4", sha256="d52a21dda271ae645711ce99c70cf44c5d3a809138e656bbff00998827548ebb")
+ version("0.4.3", sha256="cbd2ab580181c17317cf18b2bf825bcded2d97cab01cd5b5fe4f4d520b64f90f")
+ version("0.4.2", sha256="8e6f41252abadcdb2cc7a07f910ec4b45fb12c46f0a578672c6a186c7efcdb36")
+ version("0.4.1", sha256="008c648d3c46ece063ae8b5008480d8ae6d359d35967356685d1c09da07e1064")
+ version("0.4.0", sha256="6474714eee72ba2d4e271ed00ce8c05d67a9d15327bc03962b821b2af2c5ca36")
+ version("0.3.2", sha256="ca5caf7b2b48c7639f45d815b32e76d69650f3199eb8caa541d402722e3f6c10")
+ version("0.3.1", sha256="218d0e28b4d1ee34585f2ac6b18d169c81404d93958815e73e60cc0368efcbb7")
+ version("0.3.0", sha256="357fd8bdf86034b93902616f0844bd52e9304cccca22971ab7007588bf9d5fb3")
+ version("0.2.0", sha256="54669662f7751d9fc9959207e13d9a171bda15be9087703d3dbd3968fed12b27")
+ version("0.1.4", sha256="f3c395f5cd78cfef96f4008fe842f327bc8b03b77f46999387bc0ad223b5d970")
+ version("0.1.1", sha256="c6ae19610b936a0aa940b44a3626d6e660fc457a8187d295cdf0b21169453d20")
variant(
- 'nodepfail',
+ "nodepfail",
default=True,
- description='Disable failing dependency checks due to injected absolute paths - '
- 'required for most builds using bazel with spack'
+ description="Disable failing dependency checks due to injected absolute paths - "
+ "required for most builds using bazel with spack",
)
- depends_on('java', type=('build', 'run'))
- depends_on('java@11', when='@5.3:', type=('build', 'run'))
- depends_on('java@8,11', when='@3.3:5.2', type=('build', 'run'))
- depends_on('java@8', when='@0.6:3.2', type=('build', 'run'))
- depends_on('java@7:8', when='@:0.5', type=('build', 'run'))
- depends_on('python+pythoncmd', type=('build', 'run'))
- depends_on('zip', when='platform=linux', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
+ depends_on("java@11", when="@5.3:", type=("build", "run"))
+ depends_on("java@8,11", when="@3.3:5.2", type=("build", "run"))
+ depends_on("java@8", when="@0.6:3.2", type=("build", "run"))
+ depends_on("java@7:8", when="@:0.5", type=("build", "run"))
+ depends_on("python+pythoncmd", type=("build", "run"))
+ depends_on("zip", when="platform=linux", type=("build", "run"))
# Pass Spack environment variables to the build
- patch('bazelruleclassprovider-0.25.patch', when='@0.25:')
- patch('bazelruleclassprovider-0.14.patch', when='@0.14:0.24')
- patch('bazelconfiguration-0.3.patch', when='@:0.13')
+ patch("bazelruleclassprovider-0.25.patch", when="@0.25:")
+ patch("bazelruleclassprovider-0.14.patch", when="@0.14:0.24")
+ patch("bazelconfiguration-0.3.patch", when="@:0.13")
# Inject include paths
- patch('unix_cc_configure-3.0.patch', when='@3:')
- patch('unix_cc_configure-0.15.patch', when='@0.15:2')
- patch('unix_cc_configure-0.10.patch', when='@0.10:0.14')
- patch('unix_cc_configure-0.5.3.patch', when='@0.5.3:0.9')
- patch('cc_configure-0.5.0.patch', when='@0.5.0:0.5.2')
- patch('cc_configure-0.3.0.patch', when='@:0.4')
+ patch("unix_cc_configure-3.0.patch", when="@3:")
+ patch("unix_cc_configure-0.15.patch", when="@0.15:2")
+ patch("unix_cc_configure-0.10.patch", when="@0.10:0.14")
+ patch("unix_cc_configure-0.5.3.patch", when="@0.5.3:0.9")
+ patch("cc_configure-0.5.0.patch", when="@0.5.0:0.5.2")
+ patch("cc_configure-0.3.0.patch", when="@:0.4")
# Set CC and CXX
- patch('compile-0.29.patch', when='@0.29:')
- patch('compile-0.21.patch', when='@0.21:0.28')
- patch('compile-0.16.patch', when='@0.16:0.20')
- patch('compile-0.13.patch', when='@0.13:0.15')
- patch('compile-0.9.patch', when='@0.9:0.12')
- patch('compile-0.6.patch', when='@0.6:0.8')
- patch('compile-0.4.patch', when='@0.4:0.5')
- patch('compile-0.3.patch', when='@:0.3')
+ patch("compile-0.29.patch", when="@0.29:")
+ patch("compile-0.21.patch", when="@0.21:0.28")
+ patch("compile-0.16.patch", when="@0.16:0.20")
+ patch("compile-0.13.patch", when="@0.13:0.15")
+ patch("compile-0.9.patch", when="@0.9:0.12")
+ patch("compile-0.6.patch", when="@0.6:0.8")
+ patch("compile-0.4.patch", when="@0.4:0.5")
+ patch("compile-0.3.patch", when="@:0.3")
# Disable dependency search
- patch('cppcompileaction-0.3.2.patch', when='@0.3.2:+nodepfail')
- patch('cppcompileaction-0.3.0.patch', when='@0.3.0:0.3.1+nodepfail')
+ patch("cppcompileaction-0.3.2.patch", when="@0.3.2:+nodepfail")
+ patch("cppcompileaction-0.3.0.patch", when="@0.3.0:0.3.1+nodepfail")
# Fix build on power9 (2x commits)
# https://github.com/bazelbuild/bazel/commit/5cff4f1edf8b95bf0612791632255852332f72b5
# https://github.com/bazelbuild/bazel/commit/ab62a6e097590dac5ec946ad7a796ea0e8593ae0
- patch('build-0.29.1.patch', when='@0.29.1')
+ patch("build-0.29.1.patch", when="@0.29.1")
# Fix build with Fujitsu compiler
- patch('blaze_util_posix-0.29.1.patch', when='@0.29.1:%fj')
- patch('unix_cc_configure_fj-5.2.patch', when='@5.2:%fj')
- patch('unix_cc_configure_fj-5.0.patch', when='@5.0:5.1%fj')
- patch('unix_cc_configure_fj-0.29.1.patch', when='@0.29.1:4%fj')
- patch('bazelruleclassprovider_fj-0.25.patch', when='@0.25:%fj')
+ patch("blaze_util_posix-0.29.1.patch", when="@0.29.1:%fj")
+ patch("unix_cc_configure_fj-5.2.patch", when="@5.2:%fj")
+ patch("unix_cc_configure_fj-5.0.patch", when="@5.0:5.1%fj")
+ patch("unix_cc_configure_fj-0.29.1.patch", when="@0.29.1:4%fj")
+ patch("bazelruleclassprovider_fj-0.25.patch", when="@0.25:%fj")
conflicts(
- '%fj',
- when='@:0.24.1',
- msg='Fujitsu Compiler cannot build 0.24.1 or less, '
- 'please use a newer release.'
+ "%fj",
+ when="@:0.24.1",
+ msg="Fujitsu Compiler cannot build 0.24.1 or less, " "please use a newer release.",
)
# https://blog.bazel.build/2021/05/21/bazel-4-1.html
- conflicts('platform=darwin target=aarch64:', when='@:4.0')
+ conflicts("platform=darwin target=aarch64:", when="@:4.0")
- executables = ['^bazel$']
+ executables = ["^bazel$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('version', output=str, error=str)
- match = re.search(r'Build label: ([\d.]+)', output)
+ output = Executable(exe)("version", output=str, error=str)
+ match = re.search(r"Build label: ([\d.]+)", output)
return match.group(1) if match else None
def url_for_version(self, version):
- if version >= Version('0.4.1'):
- url = 'https://github.com/bazelbuild/bazel/releases/download/{0}/bazel-{0}-dist.zip'
+ if version >= Version("0.4.1"):
+ url = "https://github.com/bazelbuild/bazel/releases/download/{0}/bazel-{0}-dist.zip"
else:
- url = 'https://github.com/bazelbuild/bazel/archive/{0}.tar.gz'
+ url = "https://github.com/bazelbuild/bazel/archive/{0}.tar.gz"
return url.format(version)
def setup_build_environment(self, env):
# fix the broken linking (on power9)
# https://github.com/bazelbuild/bazel/issues/10327
- env.set('BAZEL_LINKOPTS', '')
- env.set('BAZEL_LINKLIBS', '-lstdc++')
-
- env.set('EXTRA_BAZEL_ARGS',
- # Spack's logs don't handle colored output well
- '--color=no --host_javabase=@local_jdk//:jdk'
- # Enable verbose output for failures
- ' --verbose_failures'
- # Ask bazel to explain what it's up to
- # Needs a filename as argument
- ' --explain=explainlogfile.txt'
- # Increase verbosity of explanation,
- ' --verbose_explanations'
- # Show (formatted) subcommands being executed
- ' --subcommands=pretty_print'
- ' --jobs={0}'.format(make_jobs))
-
- @run_before('install')
+ env.set("BAZEL_LINKOPTS", "")
+ env.set("BAZEL_LINKLIBS", "-lstdc++")
+
+ env.set(
+ "EXTRA_BAZEL_ARGS",
+ # Spack's logs don't handle colored output well
+ "--color=no --host_javabase=@local_jdk//:jdk"
+ # Enable verbose output for failures
+ " --verbose_failures"
+ # Ask bazel to explain what it's up to
+ # Needs a filename as argument
+ " --explain=explainlogfile.txt"
+ # Increase verbosity of explanation,
+ " --verbose_explanations"
+ # Show (formatted) subcommands being executed
+ " --subcommands=pretty_print" " --jobs={0}".format(make_jobs),
+ )
+
+ @run_before("install")
def bootstrap(self):
- bash = which('bash')
- bash('./compile.sh')
+ bash = which("bash")
+ bash("./compile.sh")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('output/bazel', prefix.bin)
+ install("output/bazel", prefix.bin)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/bazel.rb
# Bazel does not work properly on NFS, switch to /tmp
- with working_dir('/tmp/spack/bazel/spack-test', create=True):
- touch('WORKSPACE')
+ with working_dir("/tmp/spack/bazel/spack-test", create=True):
+ touch("WORKSPACE")
- with open('ProjectRunner.java', 'w') as f:
- f.write("""\
+ with open("ProjectRunner.java", "w") as f:
+ f.write(
+ """\
public class ProjectRunner {
public static void main(String args[]) {
System.out.println("Hi!");
}
-}""")
+}"""
+ )
- with open('BUILD', 'w') as f:
- f.write("""\
+ with open("BUILD", "w") as f:
+ f.write(
+ """\
java_binary(
name = "bazel-test",
srcs = glob(["*.java"]),
main_class = "ProjectRunner",
-)""")
+)"""
+ )
# Spack's logs don't handle colored output well
bazel = Executable(self.prefix.bin.bazel)
- bazel('--output_user_root=/tmp/spack/bazel/spack-test',
- 'build', '--color=no', '//:bazel-test')
+ bazel(
+ "--output_user_root=/tmp/spack/bazel/spack-test",
+ "build",
+ "--color=no",
+ "//:bazel-test",
+ )
- exe = Executable('bazel-bin/bazel-test')
- assert exe(output=str) == 'Hi!\n'
+ exe = Executable("bazel-bin/bazel-test")
+ assert exe(output=str) == "Hi!\n"
def setup_dependent_package(self, module, dependent_spec):
- module.bazel = Executable('bazel')
+ module.bazel = Executable("bazel")
@property
def parallel(self):
- return not self.spec.satisfies('%fj')
+ return not self.spec.satisfies("%fj")
diff --git a/var/spack/repos/builtin/packages/bbcp/package.py b/var/spack/repos/builtin/packages/bbcp/package.py
index 4fbb6e3d4c..c3b7b1986a 100644
--- a/var/spack/repos/builtin/packages/bbcp/package.py
+++ b/var/spack/repos/builtin/packages/bbcp/package.py
@@ -10,13 +10,13 @@ class Bbcp(Package):
"""Securely and quickly copy data from source to target"""
homepage = "https://www.slac.stanford.edu/~abh/bbcp/"
- git = "https://www.slac.stanford.edu/~abh/bbcp/bbcp.git"
+ git = "https://www.slac.stanford.edu/~abh/bbcp/bbcp.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('zlib')
- depends_on('openssl')
- depends_on('libnsl')
+ depends_on("zlib")
+ depends_on("openssl")
+ depends_on("libnsl")
def install(self, spec, prefix):
cd("src")
@@ -24,8 +24,7 @@ class Bbcp(Package):
# BBCP wants to build the executable in a directory whose name depends
# on the system type
makesname = Executable("../MakeSname")
- bbcp_executable_path = "../bin/%s/bbcp" % makesname(
- output=str).rstrip("\n")
+ bbcp_executable_path = "../bin/%s/bbcp" % makesname(output=str).rstrip("\n")
destination_path = "%s/bin/" % prefix
mkdirp(destination_path)
install(bbcp_executable_path, destination_path)
diff --git a/var/spack/repos/builtin/packages/bbmap/package.py b/var/spack/repos/builtin/packages/bbmap/package.py
index 3a8bb2da8c..a4f953f230 100644
--- a/var/spack/repos/builtin/packages/bbmap/package.py
+++ b/var/spack/repos/builtin/packages/bbmap/package.py
@@ -12,14 +12,14 @@ class Bbmap(Package, SourceforgePackage):
homepage = "https://sourceforge.net/projects/bbmap/"
sourceforge_mirror_path = "bbmap/BBMap_38.63.tar.gz"
- version('38.63', sha256='089064104526c8d696164aefa067f935b888bc71ef95527c72a98c17ee90a01f')
- version('37.36', sha256='befe76d7d6f3d0f0cd79b8a01004a2283bdc0b5ab21b0743e9dbde7c7d79e8a9')
+ version("38.63", sha256="089064104526c8d696164aefa067f935b888bc71ef95527c72a98c17ee90a01f")
+ version("37.36", sha256="befe76d7d6f3d0f0cd79b8a01004a2283bdc0b5ab21b0743e9dbde7c7d79e8a9")
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
def setup_run_environment(self, env):
- env.set('BBMAP_CONFIG', self.prefix.bin.config)
- env.set('BBMAP_RESOURCES', self.prefix.bin.resources)
+ env.set("BBMAP_CONFIG", self.prefix.bin.config)
+ env.set("BBMAP_RESOURCES", self.prefix.bin.resources)
diff --git a/var/spack/repos/builtin/packages/bc/package.py b/var/spack/repos/builtin/packages/bc/package.py
index 1c351dfa7f..a670937fb6 100644
--- a/var/spack/repos/builtin/packages/bc/package.py
+++ b/var/spack/repos/builtin/packages/bc/package.py
@@ -14,9 +14,9 @@ class Bc(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/bc"
gnu_mirror_path = "bc/bc-1.07.tar.gz"
- version('1.07', sha256='55cf1fc33a728d7c3d386cc7b0cb556eb5bacf8e0cb5a3fcca7f109fc61205ad')
+ version("1.07", sha256="55cf1fc33a728d7c3d386cc7b0cb556eb5bacf8e0cb5a3fcca7f109fc61205ad")
- depends_on('ed', type='build')
- depends_on('texinfo', type='build')
+ depends_on("ed", type="build")
+ depends_on("texinfo", type="build")
parallel = False
diff --git a/var/spack/repos/builtin/packages/bcache/package.py b/var/spack/repos/builtin/packages/bcache/package.py
index a2894fdd97..61ee6ff5ea 100644
--- a/var/spack/repos/builtin/packages/bcache/package.py
+++ b/var/spack/repos/builtin/packages/bcache/package.py
@@ -11,27 +11,30 @@ class Bcache(MakefilePackage):
devices."""
homepage = "https://bcache.evilpiepirate.org/"
- url = "https://github.com/g2p/bcache-tools/archive/v1.0.8.tar.gz"
+ url = "https://github.com/g2p/bcache-tools/archive/v1.0.8.tar.gz"
- version('1.0.8', sha256='d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c')
- version('1.0.7', sha256='64d76d1085afba8c3d5037beb67bf9d69ee163f357016e267bf328c0b1807abd')
- version('1.0.6', sha256='9677c6da3ceac4e1799d560617c4d00ea7e9d26031928f8f94b8ab327496d4e0')
- version('1.0.5', sha256='1449294ef545b3dc6f715f7b063bc2c8656984ad73bcd81a0dc048cbba416ea9')
- version('1.0.4', sha256='102ffc3a8389180f4b491188c3520f8a4b1a84e5a7ca26d2bd6de1821f4d913d')
+ version("1.0.8", sha256="d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c")
+ version("1.0.7", sha256="64d76d1085afba8c3d5037beb67bf9d69ee163f357016e267bf328c0b1807abd")
+ version("1.0.6", sha256="9677c6da3ceac4e1799d560617c4d00ea7e9d26031928f8f94b8ab327496d4e0")
+ version("1.0.5", sha256="1449294ef545b3dc6f715f7b063bc2c8656984ad73bcd81a0dc048cbba416ea9")
+ version("1.0.4", sha256="102ffc3a8389180f4b491188c3520f8a4b1a84e5a7ca26d2bd6de1821f4d913d")
- depends_on('uuid')
- depends_on('util-linux')
- depends_on('gettext')
- depends_on('pkgconfig', type='build')
+ depends_on("uuid")
+ depends_on("util-linux")
+ depends_on("gettext")
+ depends_on("pkgconfig", type="build")
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', '-lintl')
+ env.append_flags("LDFLAGS", "-lintl")
- patch('func_crc64.patch', sha256='558b35cadab4f410ce8f87f0766424a429ca0611aa2fd247326ad10da115737d')
+ patch(
+ "func_crc64.patch",
+ sha256="558b35cadab4f410ce8f87f0766424a429ca0611aa2fd247326ad10da115737d",
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bcache-register', prefix.bin)
- install('bcache-super-show', prefix.bin)
- install('make-bcache', prefix.bin)
- install('probe-bcache', prefix.bin)
+ install("bcache-register", prefix.bin)
+ install("bcache-super-show", prefix.bin)
+ install("make-bcache", prefix.bin)
+ install("probe-bcache", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py
index 9a48ac1da5..f9796b7903 100644
--- a/var/spack/repos/builtin/packages/bcftools/package.py
+++ b/var/spack/repos/builtin/packages/bcftools/package.py
@@ -9,104 +9,107 @@ from spack.package import *
class Bcftools(AutotoolsPackage):
"""BCFtools is a set of utilities that manipulate variant calls in the
- Variant Call Format (VCF) and its binary counterpart BCF. All
- commands work transparently with both VCFs and BCFs, both
- uncompressed and BGZF-compressed."""
+ Variant Call Format (VCF) and its binary counterpart BCF. All
+ commands work transparently with both VCFs and BCFs, both
+ uncompressed and BGZF-compressed."""
homepage = "https://samtools.github.io/bcftools/"
- url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
-
- version('1.14', sha256='b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb')
- version('1.13', sha256='13bfa1da2a5edda8fa51196a47a0b4afb3fef17516451e4f0e78477f3dd30b90')
- version('1.12', sha256='7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5')
- version('1.10.2', sha256='f57301869d0055ce3b8e26d8ad880c0c1989bf25eaec8ea5db99b60e31354e2c')
- version('1.9', sha256='6f36d0e6f16ec4acf88649fb1565d443acf0ba40f25a9afd87f14d14d13070c8')
- version('1.8', sha256='4acbfd691f137742e0be63d09f516434f0faf617a5c60f466140e0677915fced')
- version('1.7', sha256='dd4f63d91b0dffb0f0ce88ac75c2387251930c8063f7799611265083f8d302d1')
- version('1.6', sha256='293010736b076cf684d2873928924fcc3d2c231a091084c2ac23a8045c7df982')
- version('1.4', sha256='8fb1b0a47ed4e1f9d7c70129d7993aa650da1688fd931b10646d1c4707ae234d')
- version('1.3.1', sha256='12c37a4054cbf1980223e2b3a80a7fdb3fd850324a4ba6832e38fdba91f1b924')
- version('1.2', sha256='53c628339020dd45334a007c9cefdaf1cba3f1032492ec813b116379fa684fd6')
-
- variant('libgsl',
- default=False,
- description='build options that require the GNU scientific '
- 'library')
-
- variant('perl-filters',
- default=False,
- description='build in support for PERL scripts in -i/-e '
- 'filtering expressions, for versions >= 1.8.')
-
- depends_on('gsl', when='+libgsl')
- depends_on('py-matplotlib', when='@1.6:', type='run')
- depends_on('perl', when='@1.8:~perl-filters', type='run')
- depends_on('perl', when='@1.8:+perl-filters', type=('build', 'run'))
-
- depends_on('htslib@1.14', when='@1.14')
- depends_on('htslib@1.13', when='@1.13')
- depends_on('htslib@1.12', when='@1.12')
- depends_on('htslib@1.10.2', when='@1.10.2')
- depends_on('htslib@1.9', when='@1.9')
- depends_on('htslib@1.8', when='@1.8')
- depends_on('htslib@1.7', when='@1.7')
- depends_on('htslib@1.6', when='@1.6')
- depends_on('htslib@1.4', when='@1.4')
- depends_on('htslib@1.3.1', when='@1.3.1')
- depends_on('htslib@1.2', when='@1.2')
-
- patch('makefile_12.patch', when='@1.2')
- patch('fix_mk.patch', when='@1.2')
- patch('makefile_13.patch', when='@1.3')
- patch('makefile_14.patch', when='@1.4')
- patch('guess-ploidy.py_2to3.patch', when='@1.6:1.9')
-
- @when('@1.5:')
+ url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
+
+ version("1.14", sha256="b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb")
+ version("1.13", sha256="13bfa1da2a5edda8fa51196a47a0b4afb3fef17516451e4f0e78477f3dd30b90")
+ version("1.12", sha256="7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5")
+ version("1.10.2", sha256="f57301869d0055ce3b8e26d8ad880c0c1989bf25eaec8ea5db99b60e31354e2c")
+ version("1.9", sha256="6f36d0e6f16ec4acf88649fb1565d443acf0ba40f25a9afd87f14d14d13070c8")
+ version("1.8", sha256="4acbfd691f137742e0be63d09f516434f0faf617a5c60f466140e0677915fced")
+ version("1.7", sha256="dd4f63d91b0dffb0f0ce88ac75c2387251930c8063f7799611265083f8d302d1")
+ version("1.6", sha256="293010736b076cf684d2873928924fcc3d2c231a091084c2ac23a8045c7df982")
+ version("1.4", sha256="8fb1b0a47ed4e1f9d7c70129d7993aa650da1688fd931b10646d1c4707ae234d")
+ version("1.3.1", sha256="12c37a4054cbf1980223e2b3a80a7fdb3fd850324a4ba6832e38fdba91f1b924")
+ version("1.2", sha256="53c628339020dd45334a007c9cefdaf1cba3f1032492ec813b116379fa684fd6")
+
+ variant(
+ "libgsl",
+ default=False,
+ description="build options that require the GNU scientific " "library",
+ )
+
+ variant(
+ "perl-filters",
+ default=False,
+ description="build in support for PERL scripts in -i/-e "
+ "filtering expressions, for versions >= 1.8.",
+ )
+
+ depends_on("gsl", when="+libgsl")
+ depends_on("py-matplotlib", when="@1.6:", type="run")
+ depends_on("perl", when="@1.8:~perl-filters", type="run")
+ depends_on("perl", when="@1.8:+perl-filters", type=("build", "run"))
+
+ depends_on("htslib@1.14", when="@1.14")
+ depends_on("htslib@1.13", when="@1.13")
+ depends_on("htslib@1.12", when="@1.12")
+ depends_on("htslib@1.10.2", when="@1.10.2")
+ depends_on("htslib@1.9", when="@1.9")
+ depends_on("htslib@1.8", when="@1.8")
+ depends_on("htslib@1.7", when="@1.7")
+ depends_on("htslib@1.6", when="@1.6")
+ depends_on("htslib@1.4", when="@1.4")
+ depends_on("htslib@1.3.1", when="@1.3.1")
+ depends_on("htslib@1.2", when="@1.2")
+
+ patch("makefile_12.patch", when="@1.2")
+ patch("fix_mk.patch", when="@1.2")
+ patch("makefile_13.patch", when="@1.3")
+ patch("makefile_14.patch", when="@1.4")
+ patch("guess-ploidy.py_2to3.patch", when="@1.6:1.9")
+
+ @when("@1.5:")
def configure_args(self):
args = []
- args.append('--with-htslib={0}'.format(self.spec['htslib'].prefix))
- args.extend(self.enable_or_disable('libgsl'))
+ args.append("--with-htslib={0}".format(self.spec["htslib"].prefix))
+ args.extend(self.enable_or_disable("libgsl"))
- if self.spec.satisfies('@1.8:'):
- args.extend(self.enable_or_disable('perl-filters'))
+ if self.spec.satisfies("@1.8:"):
+ args.extend(self.enable_or_disable("perl-filters"))
return args
- @when('@1.2:1.4')
+ @when("@1.2:1.4")
def set_make_options(self):
options = []
- options.append('prefix={0}'.format(self.prefix))
- options.append('HTSDIR={0}'.format(self.spec['htslib'].prefix))
+ options.append("prefix={0}".format(self.prefix))
+ options.append("HTSDIR={0}".format(self.spec["htslib"].prefix))
- if '+libgsl' in self.spec:
- options.append('USE_GPL=1')
+ if "+libgsl" in self.spec:
+ options.append("USE_GPL=1")
return options
- @when('@1.2:1.4')
+ @when("@1.2:1.4")
def autoreconf(self, spec, prefix):
- touch('configure')
+ touch("configure")
- @when('@1.2:1.4')
+ @when("@1.2:1.4")
def configure(self, spec, prefix):
pass
- @when('@1.2:1.4')
+ @when("@1.2:1.4")
def build(self, spec, prefix):
make_options = self.set_make_options()
make(*make_options)
- @when('@1.2:1.4')
+ @when("@1.2:1.4")
def install(self, spec, prefix):
make_options = self.set_make_options()
- make('install', *make_options)
+ make("install", *make_options)
- if spec.satisfies('@1.2'):
+ if spec.satisfies("@1.2"):
mkdirp(self.prefix.libexec.bcftools)
- install('plugins/*.so', self.prefix.libexec.bcftools)
+ install("plugins/*.so", self.prefix.libexec.bcftools)
- @when('@1.2')
+ @when("@1.2")
def setup_run_environment(self, env):
- env.set('BCFTOOLS_PLUGINS', self.prefix.libexec.bcftools)
+ env.set("BCFTOOLS_PLUGINS", self.prefix.libexec.bcftools)
diff --git a/var/spack/repos/builtin/packages/bcl2fastq2/package.py b/var/spack/repos/builtin/packages/bcl2fastq2/package.py
index 433e27fed7..957a965733 100644
--- a/var/spack/repos/builtin/packages/bcl2fastq2/package.py
+++ b/var/spack/repos/builtin/packages/bcl2fastq2/package.py
@@ -17,44 +17,47 @@ from spack.pkg.builtin.boost import Boost
# their way.
class Bcl2fastq2(Package):
"""The bcl2fastq2 Conversion Software converts base
- call (BCL) files from a sequencing run into FASTQ
- files."""
+ call (BCL) files from a sequencing run into FASTQ
+ files."""
homepage = "https://support.illumina.com/downloads/bcl2fastq-conversion-software-v2-20.html"
- version('2.20.0.422', sha256='8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3')
- version('2.19.1.403', sha256='cf13580f2c1ebcc3642b4d98a02ad01e41a44e644db7d31730f9767b25521806')
+ version(
+ "2.20.0.422", sha256="8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3"
+ )
+ version(
+ "2.19.1.403", sha256="cf13580f2c1ebcc3642b4d98a02ad01e41a44e644db7d31730f9767b25521806"
+ )
- conflicts('platform=darwin',
- msg='malloc.h/etc requirements break build on macs')
+ conflicts("platform=darwin", msg="malloc.h/etc requirements break build on macs")
- depends_on('boost@1.54.0:1.55')
+ depends_on("boost@1.54.0:1.55")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cmake@2.8.9:', type='build')
- depends_on('libxml2@2.7.8')
- depends_on('libxslt@1.1.26~crypto')
- depends_on('libgcrypt')
- depends_on('zlib')
+ depends_on("cmake@2.8.9:", type="build")
+ depends_on("libxml2@2.7.8")
+ depends_on("libxslt@1.1.26~crypto")
+ depends_on("libgcrypt")
+ depends_on("zlib")
# Their cmake macros don't set the flag when they find a library
# that makes them happy.
- patch('cmake-macros.patch')
+ patch("cmake-macros.patch")
# After finding the libxslt bits, cmake still needs to wire in the
# libexslt bits.
- patch('cxxConfigure-cmake.patch')
+ patch("cxxConfigure-cmake.patch")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
# v2.17.1.14 and v2.18.0.12 were available via HTTP.
# v2.19.1.403 is only available via ftp.
# who knows what the future will hold.
def url_for_version(self, version):
url = "ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/bcl2fastq2-v{0}-tar.zip"
- if version.string == '2.19.1.403':
+ if version.string == "2.19.1.403":
return url.format(version.up_to(3).dotted)
else:
return url.format(version.up_to(3).dashed)
@@ -71,15 +74,13 @@ class Bcl2fastq2(Package):
def unpack_it(self, f):
def wrap():
- f() # call the original expand_archive()
+ f() # call the original expand_archive()
# The tarfile should now reside in the well-known source
# directory (i.e., self.stage.source_path).
with working_dir(self.stage.path):
- source_subdir = os.path.relpath(self.stage.source_path,
- self.stage.path)
- files = glob.glob(os.path.join(source_subdir,
- 'bcl2fastq2*.tar.gz'))
+ source_subdir = os.path.relpath(self.stage.source_path, self.stage.path)
+ files = glob.glob(os.path.join(source_subdir, "bcl2fastq2*.tar.gz"))
if len(files) == 1:
# Rename the tarball so it resides in self.stage.path
# alongside the original zip file before unpacking it.
@@ -87,12 +88,12 @@ class Bcl2fastq2(Package):
basename = os.path.basename(tarball)
os.rename(tarball, basename)
tty.msg("Unpacking bcl2fastq2 tarball")
- tar = which('tar')
- tar('-xf', basename)
+ tar = which("tar")
+ tar("-xf", basename)
# Rename the unpacked directory to the well-known
# source path self.stage.source_path.
- os.rename('bcl2fastq', source_subdir)
+ os.rename("bcl2fastq", source_subdir)
tty.msg("Finished unpacking bcl2fastq2 tarball")
elif self.stage.expanded:
@@ -103,9 +104,11 @@ class Bcl2fastq2(Package):
return wrap
def install(self, spec, prefix):
- bash = which('bash')
- bash("src/configure", "--prefix={0}".format(prefix),
- "--with-cmake={0}".format(join_path(spec['cmake'].prefix.bin,
- "cmake")))
+ bash = which("bash")
+ bash(
+ "src/configure",
+ "--prefix={0}".format(prefix),
+ "--with-cmake={0}".format(join_path(spec["cmake"].prefix.bin, "cmake")),
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/bdftopcf/package.py b/var/spack/repos/builtin/packages/bdftopcf/package.py
index b13daad96e..803ec0fbd3 100644
--- a/var/spack/repos/builtin/packages/bdftopcf/package.py
+++ b/var/spack/repos/builtin/packages/bdftopcf/package.py
@@ -17,11 +17,11 @@ class Bdftopcf(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/bdftopcf"
xorg_mirror_path = "app/bdftopcf-1.0.5.tar.gz"
- version('1.0.5', sha256='78a5ec945de1d33e6812167b1383554fda36e38576849e74a9039dc7364ff2c3')
+ version("1.0.5", sha256="78a5ec945de1d33e6812167b1383554fda36e38576849e74a9039dc7364ff2c3")
- depends_on('libxfont')
+ depends_on("libxfont")
- depends_on('pkgconfig', type='build')
- depends_on('xproto')
- depends_on('fontsproto')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("xproto")
+ depends_on("fontsproto")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/bdii/package.py b/var/spack/repos/builtin/packages/bdii/package.py
index 8885afdd2c..19478fc0ef 100644
--- a/var/spack/repos/builtin/packages/bdii/package.py
+++ b/var/spack/repos/builtin/packages/bdii/package.py
@@ -15,12 +15,12 @@ class Bdii(MakefilePackage):
update the database."""
homepage = "https://github.com/EGI-Foundation/bdii"
- url = "https://github.com/EGI-Foundation/bdii/archive/v5.2.25.tar.gz"
+ url = "https://github.com/EGI-Foundation/bdii/archive/v5.2.25.tar.gz"
- version('5.2.25', sha256='6abc3ed872538a12dc470a1d30bf4ae1ca4d6302eb6b50370413940f9e9259ca')
- version('5.2.24', sha256='5d09ed06b8b09ce372b3489fab93e25302f68ca80d8fcc600c2535648c861a3a')
+ version("5.2.25", sha256="6abc3ed872538a12dc470a1d30bf4ae1ca4d6302eb6b50370413940f9e9259ca")
+ version("5.2.24", sha256="5d09ed06b8b09ce372b3489fab93e25302f68ca80d8fcc600c2535648c861a3a")
- depends_on('openldap', type='run')
+ depends_on("openldap", type="run")
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/bdsim/package.py b/var/spack/repos/builtin/packages/bdsim/package.py
index 7d99e17913..1ed911369e 100644
--- a/var/spack/repos/builtin/packages/bdsim/package.py
+++ b/var/spack/repos/builtin/packages/bdsim/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class Bdsim(CMakePackage):
"""Beam Delivery Simulation (BDSIM) is a C++ program that utilises the Geant4 toolkit
- to simulate both the transport of particles in an accelerator and their
- interaction with the accelerator material"""
+ to simulate both the transport of particles in an accelerator and their
+ interaction with the accelerator material"""
homepage = "http://www.pp.rhul.ac.uk/bdsim/manual/index.html"
- url = "https://bitbucket.org/jairhul/bdsim/get/v1.6.0.tar.gz"
- git = "https://bitbucket.org/jairhul/bdsim/src/master/"
+ url = "https://bitbucket.org/jairhul/bdsim/get/v1.6.0.tar.gz"
+ git = "https://bitbucket.org/jairhul/bdsim/src/master/"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['gganis']
+ maintainers = ["gganis"]
- version('develop', branch='develop')
- version('1.6.0', sha256='e3241d2d097cb4e22249e315c1474da9b3657b9c6893232d9f9e543a5323f717')
+ version("develop", branch="develop")
+ version("1.6.0", sha256="e3241d2d097cb4e22249e315c1474da9b3657b9c6893232d9f9e543a5323f717")
- depends_on('cmake')
- depends_on('geant4')
- depends_on('geant4@:10.7.3', when='@:1.6.0')
- depends_on('root')
- depends_on('clhep')
- depends_on('flex')
- depends_on('bison')
+ depends_on("cmake")
+ depends_on("geant4")
+ depends_on("geant4@:10.7.3", when="@:1.6.0")
+ depends_on("root")
+ depends_on("clhep")
+ depends_on("flex")
+ depends_on("bison")
diff --git a/var/spack/repos/builtin/packages/bdw-gc/package.py b/var/spack/repos/builtin/packages/bdw-gc/package.py
index 173ae75b02..e25bbccc77 100644
--- a/var/spack/repos/builtin/packages/bdw-gc/package.py
+++ b/var/spack/repos/builtin/packages/bdw-gc/package.py
@@ -11,33 +11,31 @@ class BdwGc(AutotoolsPackage):
collecting replacement for C malloc or C++ new."""
homepage = "https://www.hboehm.info/gc/"
- url = "https://github.com/ivmai/bdwgc/releases/download/v8.0.6/gc-8.0.6.tar.gz"
+ url = "https://github.com/ivmai/bdwgc/releases/download/v8.0.6/gc-8.0.6.tar.gz"
- version('8.0.6', sha256='3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11')
- version('8.0.0', sha256='8f23f9a20883d00af2bff122249807e645bdf386de0de8cbd6cce3e0c6968f04')
- version('7.6.0', sha256='a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90')
- version('7.4.4', sha256='e5ca9b628b765076b6ab26f882af3a1a29cde786341e08b9f366604f74e4db84')
+ version("8.0.6", sha256="3b4914abc9fa76593596773e4da671d7ed4d5390e3d46fbf2e5f155e121bea11")
+ version("8.0.0", sha256="8f23f9a20883d00af2bff122249807e645bdf386de0de8cbd6cce3e0c6968f04")
+ version("7.6.0", sha256="a14a28b1129be90e55cd6f71127ffc5594e1091d5d54131528c24cd0c03b7d90")
+ version("7.4.4", sha256="e5ca9b628b765076b6ab26f882af3a1a29cde786341e08b9f366604f74e4db84")
- variant('libatomic-ops', default=True,
- description='Use external libatomic-ops')
+ variant("libatomic-ops", default=True, description="Use external libatomic-ops")
variant(
- 'threads',
- default='none',
- values=('none', 'posix', 'dgux386'),
+ "threads",
+ default="none",
+ values=("none", "posix", "dgux386"),
multi=False,
- description='Multithreading support'
+ description="Multithreading support",
)
- depends_on('libatomic-ops', when='+libatomic-ops')
+ depends_on("libatomic-ops", when="+libatomic-ops")
def configure_args(self):
spec = self.spec
config_args = [
- '--enable-static',
- '--with-libatomic-ops={0}'.format(
- 'yes' if '+libatomic-ops' in spec else 'no'),
- "--enable-threads={0}".format(spec.variants['threads'].value)
+ "--enable-static",
+ "--with-libatomic-ops={0}".format("yes" if "+libatomic-ops" in spec else "no"),
+ "--enable-threads={0}".format(spec.variants["threads"].value),
]
return config_args
diff --git a/var/spack/repos/builtin/packages/beagle/package.py b/var/spack/repos/builtin/packages/beagle/package.py
index 467db14fd1..5a16c6a181 100644
--- a/var/spack/repos/builtin/packages/beagle/package.py
+++ b/var/spack/repos/builtin/packages/beagle/package.py
@@ -10,21 +10,37 @@ from spack.package import *
class Beagle(Package):
"""Beagle is a software package for phasing genotypes and for imputing
- ungenotyped markers."""
+ ungenotyped markers."""
homepage = "https://faculty.washington.edu/browning/beagle/beagle.html"
- maintainers = ['snehring']
-
- version('5.4', sha256='bcdc78b7229b2e7ffd779bc6131a9c45a1bdb509afbb9fac41e6d5cb39aed19c',
- expand=False, url='https://faculty.washington.edu/browning/beagle/beagle.19Apr22.7c0.jar')
- version('5.1', sha256='994f926a4ec0eac665631f37c4a961d3f75c966c71841079275364013c90996c',
- expand=False, url='https://faculty.washington.edu/browning/beagle/beagle.25Nov19.28d.jar')
- version('5.0', sha256='8390fe18b53786b676b67dddae6d1c086d6225e518f6a82047f4138196b48621',
- expand=False, url='https://faculty.washington.edu/browning/beagle/beagle.12Jul19.0df.jar')
- version('4.1', sha256='6c94610b278fc108c3e80b1134226911be1fc92b7d378ba648ac3eb97c5a3207',
- expand=False, url='https://faculty.washington.edu/browning/beagle/beagle.27Jan18.7e1.jar')
-
- depends_on('java@8:', type='run')
+ maintainers = ["snehring"]
+
+ version(
+ "5.4",
+ sha256="bcdc78b7229b2e7ffd779bc6131a9c45a1bdb509afbb9fac41e6d5cb39aed19c",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/beagle.19Apr22.7c0.jar",
+ )
+ version(
+ "5.1",
+ sha256="994f926a4ec0eac665631f37c4a961d3f75c966c71841079275364013c90996c",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/beagle.25Nov19.28d.jar",
+ )
+ version(
+ "5.0",
+ sha256="8390fe18b53786b676b67dddae6d1c086d6225e518f6a82047f4138196b48621",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/beagle.12Jul19.0df.jar",
+ )
+ version(
+ "4.1",
+ sha256="6c94610b278fc108c3e80b1134226911be1fc92b7d378ba648ac3eb97c5a3207",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/beagle.27Jan18.7e1.jar",
+ )
+
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
@@ -40,8 +56,7 @@ class Beagle(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('beagle.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("beagle.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/beakerlib/package.py b/var/spack/repos/builtin/packages/beakerlib/package.py
index c571924b85..c8f51f06dd 100644
--- a/var/spack/repos/builtin/packages/beakerlib/package.py
+++ b/var/spack/repos/builtin/packages/beakerlib/package.py
@@ -12,11 +12,11 @@ class Beakerlib(MakefilePackage):
of integration and blackbox tests."""
homepage = "https://github.com/beakerlib/beakerlib"
- url = "https://github.com/beakerlib/beakerlib/archive/1.20.tar.gz"
+ url = "https://github.com/beakerlib/beakerlib/archive/1.20.tar.gz"
- version('1.20', sha256='81f39a0b67adff4c3f4c051ffd26bcf45e19068dee7e81e3b00ee4698587f4e9')
- version('1.19', sha256='4dcaddf70a057ea5810c967cf5194d11850c8b5263ca25533e9e381067288460')
- version('1.18.1', sha256='65e6f81f17fd87f9db783d0b7a7216387a337f4692d3d9e1c40ef427d977c3d5')
+ version("1.20", sha256="81f39a0b67adff4c3f4c051ffd26bcf45e19068dee7e81e3b00ee4698587f4e9")
+ version("1.19", sha256="4dcaddf70a057ea5810c967cf5194d11850c8b5263ca25533e9e381067288460")
+ version("1.18.1", sha256="65e6f81f17fd87f9db783d0b7a7216387a337f4692d3d9e1c40ef427d977c3d5")
def install(self, spec, prefix):
- make('DESTDIR={0}'.format(prefix), 'PKGDOCDIR=', 'install')
+ make("DESTDIR={0}".format(prefix), "PKGDOCDIR=", "install")
diff --git a/var/spack/repos/builtin/packages/bear/package.py b/var/spack/repos/builtin/packages/bear/package.py
index 23ba171951..c9e89296c9 100644
--- a/var/spack/repos/builtin/packages/bear/package.py
+++ b/var/spack/repos/builtin/packages/bear/package.py
@@ -9,20 +9,21 @@ from spack.package import *
class Bear(CMakePackage):
"""Bear is a tool that generates a compilation database for clang tooling
from non-cmake build systems."""
+
homepage = "https://github.com/rizsotto/Bear"
- git = "git@github.com:rizsotto/Bear.git"
- url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
- maintainers = ['vmiheer', 'trws']
+ git = "git@github.com:rizsotto/Bear.git"
+ url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
+ maintainers = ["vmiheer", "trws"]
- version('3.0.19', sha256='2fcfe2c6e029182cfc54ed26b3505c0ef12b0f43df03fb587f335afdc2ca9431')
- version('3.0.18', sha256='ae94047c79b4f48462b66981f66a67b6a833d75d4c40e7afead491b1865f1142')
- version('3.0.0', sha256='7b68aad69e887d945ad20f8e9f3a8c33cf2d59cc80da7e52d931d8c685fe2f79')
- version('2.2.0', sha256='6bd61a6d64a24a61eab17e7f2950e688820c72635e1cf7ea8ea7bf9482f3b612')
- version('2.0.4', sha256='33ea117b09068aa2cd59c0f0f7535ad82c5ee473133779f1cc20f6f99793a63e')
+ version("3.0.19", sha256="2fcfe2c6e029182cfc54ed26b3505c0ef12b0f43df03fb587f335afdc2ca9431")
+ version("3.0.18", sha256="ae94047c79b4f48462b66981f66a67b6a833d75d4c40e7afead491b1865f1142")
+ version("3.0.0", sha256="7b68aad69e887d945ad20f8e9f3a8c33cf2d59cc80da7e52d931d8c685fe2f79")
+ version("2.2.0", sha256="6bd61a6d64a24a61eab17e7f2950e688820c72635e1cf7ea8ea7bf9482f3b612")
+ version("2.0.4", sha256="33ea117b09068aa2cd59c0f0f7535ad82c5ee473133779f1cc20f6f99793a63e")
- depends_on('fmt', when='@3.0.0:')
- depends_on('grpc', when='@3.0.0:')
- depends_on('nlohmann-json', when='@3.0.0:')
- depends_on('spdlog', when='@3.0.0:')
- depends_on('cmake@2.8:', type='build')
- depends_on('python', type='build')
+ depends_on("fmt", when="@3.0.0:")
+ depends_on("grpc", when="@3.0.0:")
+ depends_on("nlohmann-json", when="@3.0.0:")
+ depends_on("spdlog", when="@3.0.0:")
+ depends_on("cmake@2.8:", type="build")
+ depends_on("python", type="build")
diff --git a/var/spack/repos/builtin/packages/beast-tracer/package.py b/var/spack/repos/builtin/packages/beast-tracer/package.py
index 3ce5be9a25..9abcd92016 100644
--- a/var/spack/repos/builtin/packages/beast-tracer/package.py
+++ b/var/spack/repos/builtin/packages/beast-tracer/package.py
@@ -10,20 +10,20 @@ from spack.package import *
class BeastTracer(Package):
"""Tracer is a graphical tool for visualization and diagnostics of MCMC
- output."""
+ output."""
homepage = "https://beast.community/tracer"
- url = "https://github.com/beast-dev/tracer/archive/v1.7.1.tar.gz"
+ url = "https://github.com/beast-dev/tracer/archive/v1.7.1.tar.gz"
- version('1.7.1', sha256='947d51c5afa52354099b9b182ba6036e352356bd62df94031f33cdcb7e8effd3')
+ version("1.7.1", sha256="947d51c5afa52354099b9b182ba6036e352356bd62df94031f33cdcb7e8effd3")
- depends_on('ant', type='build')
- depends_on('java', type=('build', 'run'))
+ depends_on("ant", type="build")
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
- ant = which('ant')
- ant('dist')
+ ant = which("ant")
+ ant("dist")
mkdirp(prefix.bin)
- install(join_path(path.dirname(__file__), 'tracer'), prefix.bin)
- install('build/dist/tracer.jar', prefix.bin)
+ install(join_path(path.dirname(__file__), "tracer"), prefix.bin)
+ install("build/dist/tracer.jar", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/beast1/package.py b/var/spack/repos/builtin/packages/beast1/package.py
index 00b923b5a6..a2842ee188 100644
--- a/var/spack/repos/builtin/packages/beast1/package.py
+++ b/var/spack/repos/builtin/packages/beast1/package.py
@@ -8,29 +8,29 @@ from spack.package import *
class Beast1(Package):
"""BEAST is a cross-platform program for Bayesian
- analysis of molecular sequences using MCMC."""
+ analysis of molecular sequences using MCMC."""
homepage = "https://beast.community/"
- version('1.10.4', sha256='be652c4d55953f7c6c7a9d3eb3de203c77dc380e81ad81cfe0492408990c36a8')
- version('1.8.4', sha256='c14e93976008463108aefa34ecc23287ab70703caccf4962e36e295207120d78')
+ version("1.10.4", sha256="be652c4d55953f7c6c7a9d3eb3de203c77dc380e81ad81cfe0492408990c36a8")
+ version("1.8.4", sha256="c14e93976008463108aefa34ecc23287ab70703caccf4962e36e295207120d78")
- variant('beagle', default=True, description='Build with libbeagle support')
+ variant("beagle", default=True, description="Build with libbeagle support")
- depends_on('java', type='run')
- depends_on('libbeagle', type=('build', 'link', 'run'), when="+beagle")
+ depends_on("java", type="run")
+ depends_on("libbeagle", type=("build", "link", "run"), when="+beagle")
def url_for_version(self, ver):
- base = 'https://github.com/beast-dev/beast-mcmc/releases/download'
- return '{0}/v{1}/BEASTv{1}.tgz'.format(base, ver.dotted)
+ base = "https://github.com/beast-dev/beast-mcmc/releases/download"
+ return "{0}/v{1}/BEASTv{1}.tgz".format(base, ver.dotted)
def setup_run_environment(self, env):
- env.set('BEAST1', self.prefix)
- env.set('BEAST_LIB', self.prefix.lib)
+ env.set("BEAST1", self.prefix)
+ env.set("BEAST_LIB", self.prefix.lib)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('examples', prefix.examples)
- install_tree('images', prefix.images)
- install_tree('lib', prefix.lib)
- install_tree('doc', prefix.doc)
+ install_tree("bin", prefix.bin)
+ install_tree("examples", prefix.examples)
+ install_tree("images", prefix.images)
+ install_tree("lib", prefix.lib)
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/beast2/package.py b/var/spack/repos/builtin/packages/beast2/package.py
index d61eaefa37..1b42a55db6 100644
--- a/var/spack/repos/builtin/packages/beast2/package.py
+++ b/var/spack/repos/builtin/packages/beast2/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Beast2(Package):
"""BEAST is a cross-platform program for Bayesian inference using MCMC
- of molecular sequences. It is entirely orientated towards rooted,
- time-measured phylogenies inferred using strict or relaxed molecular
- clock models. It can be used as a method of reconstructing phylogenies
- but is also a framework for testing evolutionary hypotheses without
- conditioning on a single tree topology."""
+ of molecular sequences. It is entirely orientated towards rooted,
+ time-measured phylogenies inferred using strict or relaxed molecular
+ clock models. It can be used as a method of reconstructing phylogenies
+ but is also a framework for testing evolutionary hypotheses without
+ conditioning on a single tree topology."""
homepage = "http://beast2.org/"
- url = "https://github.com/CompEvol/beast2/releases/download/v2.6.4/BEAST.v2.6.4.Linux.tgz"
+ url = "https://github.com/CompEvol/beast2/releases/download/v2.6.4/BEAST.v2.6.4.Linux.tgz"
- version('2.6.4', sha256='4f80e2920eb9d87f3e9f64433119774dc67aca390fbd13dd480f852e3f8701a4')
- version('2.6.3', sha256='8899277b0d7124ab04dc512444d45f0f1a13505f3ce641e1f117098be3e2e20d')
- version('2.5.2', sha256='2feb2281b4f7cf8f7de1a62de50f52a8678ed0767fc72f2322e77dde9b8cd45f')
- version('2.4.6', sha256='84029c5680cc22f95bef644824130090f5f12d3d7f48d45cb4efc8e1d6b75e93')
+ version("2.6.4", sha256="4f80e2920eb9d87f3e9f64433119774dc67aca390fbd13dd480f852e3f8701a4")
+ version("2.6.3", sha256="8899277b0d7124ab04dc512444d45f0f1a13505f3ce641e1f117098be3e2e20d")
+ version("2.5.2", sha256="2feb2281b4f7cf8f7de1a62de50f52a8678ed0767fc72f2322e77dde9b8cd45f")
+ version("2.4.6", sha256="84029c5680cc22f95bef644824130090f5f12d3d7f48d45cb4efc8e1d6b75e93")
- depends_on('java')
+ depends_on("java")
def setup_run_environment(self, env):
- env.set('BEAST', self.prefix)
+ env.set("BEAST", self.prefix)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('examples', join_path(self.prefix, 'examples'))
- install_tree('images', join_path(self.prefix, 'images'))
- install_tree('lib', prefix.lib)
- install_tree('templates', join_path(self.prefix, 'templates'))
+ install_tree("bin", prefix.bin)
+ install_tree("examples", join_path(self.prefix, "examples"))
+ install_tree("images", join_path(self.prefix, "images"))
+ install_tree("lib", prefix.lib)
+ install_tree("templates", join_path(self.prefix, "templates"))
diff --git a/var/spack/repos/builtin/packages/bedops/package.py b/var/spack/repos/builtin/packages/bedops/package.py
index ac0e656c01..2f9abe2457 100644
--- a/var/spack/repos/builtin/packages/bedops/package.py
+++ b/var/spack/repos/builtin/packages/bedops/package.py
@@ -13,20 +13,20 @@ class Bedops(MakefilePackage):
arbitrary scale."""
homepage = "https://bedops.readthedocs.io"
- url = "https://github.com/bedops/bedops/archive/v2.4.39.tar.gz"
+ url = "https://github.com/bedops/bedops/archive/v2.4.39.tar.gz"
- maintainers = ['jacorvar']
- version('2.4.40', sha256='8c01db76669dc58c595e2e1b9bdb6d462f3363fc569b15c460a63a63b8b6bf30')
- version('2.4.39', sha256='f8bae10c6e1ccfb873be13446c67fc3a54658515fb5071663883f788fc0e4912')
- version('2.4.35', sha256='da0265cf55ef5094834318f1ea4763d7a3ce52a6900e74f532dd7d3088c191fa')
- version('2.4.34', sha256='533a62a403130c048d3378e6a975b73ea88d156d4869556a6b6f58d90c52ed95')
- version('2.4.30', sha256='218e0e367aa79747b2f90341d640776eea17befc0fdc35b0cec3c6184098d462')
+ maintainers = ["jacorvar"]
+ version("2.4.40", sha256="8c01db76669dc58c595e2e1b9bdb6d462f3363fc569b15c460a63a63b8b6bf30")
+ version("2.4.39", sha256="f8bae10c6e1ccfb873be13446c67fc3a54658515fb5071663883f788fc0e4912")
+ version("2.4.35", sha256="da0265cf55ef5094834318f1ea4763d7a3ce52a6900e74f532dd7d3088c191fa")
+ version("2.4.34", sha256="533a62a403130c048d3378e6a975b73ea88d156d4869556a6b6f58d90c52ed95")
+ version("2.4.30", sha256="218e0e367aa79747b2f90341d640776eea17befc0fdc35b0cec3c6184098d462")
@property
def build_targets(self):
# avoid static linking with glibc for all invocations
- return ['SFLAGS=']
+ return ["SFLAGS="]
def install(self, spec, prefix):
mkdirp(prefix.bin)
- make('install', "BINDIR=%s" % prefix.bin)
+ make("install", "BINDIR=%s" % prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bedtools2/package.py b/var/spack/repos/builtin/packages/bedtools2/package.py
index cee52a5824..968ce4cb98 100644
--- a/var/spack/repos/builtin/packages/bedtools2/package.py
+++ b/var/spack/repos/builtin/packages/bedtools2/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Bedtools2(Package):
"""Collectively, the bedtools utilities are a swiss-army knife of
- tools for a wide-range of genomics analysis tasks. The most
- widely-used tools enable genome arithmetic: that is, set theory
- on the genome."""
+ tools for a wide-range of genomics analysis tasks. The most
+ widely-used tools enable genome arithmetic: that is, set theory
+ on the genome."""
homepage = "https://github.com/arq5x/bedtools2"
- url = "https://github.com/arq5x/bedtools2/archive/v2.30.0.tar.gz"
+ url = "https://github.com/arq5x/bedtools2/archive/v2.30.0.tar.gz"
- version('2.30.0', sha256='c575861ec746322961cd15d8c0b532bb2a19333f1cf167bbff73230a7d67302f')
- version('2.29.2', sha256='bc2f36b5d4fc9890c69f607d54da873032628462e88c545dd633d2c787a544a5')
- version('2.27.1', sha256='edcac089d84e63a51f85c3c189469daa7d42180272130b046856faad3cf79112')
- version('2.27.0', sha256='e91390b567e577d337c15ca301e264b0355441f5ab90fa4f971622e3043e0ca0')
- version('2.26.0', sha256='15db784f60a11b104ccbc9f440282e5780e0522b8d55d359a8318a6b61897977')
- version('2.25.0', sha256='159122afb9978015f7ec85d7b17739b01415a5738086b20a48147eeefcf08cfb')
- version('2.23.0', sha256='9dacaa561d11ce9835d1d51e5aeb092bcbe117b7119663ec9a671abac6a36056')
+ version("2.30.0", sha256="c575861ec746322961cd15d8c0b532bb2a19333f1cf167bbff73230a7d67302f")
+ version("2.29.2", sha256="bc2f36b5d4fc9890c69f607d54da873032628462e88c545dd633d2c787a544a5")
+ version("2.27.1", sha256="edcac089d84e63a51f85c3c189469daa7d42180272130b046856faad3cf79112")
+ version("2.27.0", sha256="e91390b567e577d337c15ca301e264b0355441f5ab90fa4f971622e3043e0ca0")
+ version("2.26.0", sha256="15db784f60a11b104ccbc9f440282e5780e0522b8d55d359a8318a6b61897977")
+ version("2.25.0", sha256="159122afb9978015f7ec85d7b17739b01415a5738086b20a48147eeefcf08cfb")
+ version("2.23.0", sha256="9dacaa561d11ce9835d1d51e5aeb092bcbe117b7119663ec9a671abac6a36056")
- depends_on('zlib')
- depends_on('bzip2', when='@2.29:')
- depends_on('xz', when='@2.29:')
- depends_on('python', type='build')
+ depends_on("zlib")
+ depends_on("bzip2", when="@2.29:")
+ depends_on("xz", when="@2.29:")
+ depends_on("python", type="build")
def install(self, spec, prefix):
make("prefix=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/beforelight/package.py b/var/spack/repos/builtin/packages/beforelight/package.py
index a19d9b7855..1bf951358d 100644
--- a/var/spack/repos/builtin/packages/beforelight/package.py
+++ b/var/spack/repos/builtin/packages/beforelight/package.py
@@ -15,11 +15,11 @@ class Beforelight(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/beforelight"
xorg_mirror_path = "app/beforelight-1.0.5.tar.gz"
- version('1.0.5', sha256='93bb3c457d6d5e8def3180fdee07bc84d1b7f0e5378a95812e2193cd51455cdc')
+ version("1.0.5", sha256="93bb3c457d6d5e8def3180fdee07bc84d1b7f0e5378a95812e2193cd51455cdc")
- depends_on('libx11')
- depends_on('libxscrnsaver')
- depends_on('libxt')
+ depends_on("libx11")
+ depends_on("libxscrnsaver")
+ depends_on("libxt")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/benchmark/package.py b/var/spack/repos/builtin/packages/benchmark/package.py
index 5014bc2b6f..c75f54278c 100644
--- a/var/spack/repos/builtin/packages/benchmark/package.py
+++ b/var/spack/repos/builtin/packages/benchmark/package.py
@@ -10,31 +10,33 @@ class Benchmark(CMakePackage):
"""A microbenchmark support library"""
homepage = "https://github.com/google/benchmark"
- url = "https://github.com/google/benchmark/archive/v1.6.0.tar.gz"
- git = "https://github.com/google/benchmark.git"
+ url = "https://github.com/google/benchmark/archive/v1.6.0.tar.gz"
+ git = "https://github.com/google/benchmark.git"
# first properly installed CMake config packages in
# 1.2.0 release: https://github.com/google/benchmark/issues/363
- version('develop', branch='master')
- version('1.6.0', sha256='1f71c72ce08d2c1310011ea6436b31e39ccab8c2db94186d26657d41747c85d6')
- version('1.5.5', sha256='3bff5f237c317ddfd8d5a9b96b3eede7c0802e799db520d38ce756a2a46a18a0')
- version('1.5.4', sha256='e3adf8c98bb38a198822725c0fc6c0ae4711f16fbbf6aeb311d5ad11e5a081b5')
- version('1.5.0', sha256='3c6a165b6ecc948967a1ead710d4a181d7b0fbcaa183ef7ea84604994966221a')
- version('1.4.1', sha256='f8e525db3c42efc9c7f3bc5176a8fa893a9a9920bbd08cef30fb56a51854d60d')
- version('1.4.0', sha256='616f252f37d61b15037e3c2ef956905baf9c9eecfeab400cb3ad25bae714e214')
- version('1.3.0', sha256='f19559475a592cbd5ac48b61f6b9cedf87f0b6775d1443de54cfe8f53940b28d')
- version('1.2.0', sha256='3dcc90c158838e2ac4a7ad06af9e28eb5877cf28252a81e55eb3c836757d3070')
- version('1.1.0', sha256='e7334dd254434c6668e33a54c8f839194c7c61840d52f4b6258eee28e9f3b20e')
- version('1.0.0', sha256='d2206c263fc1a7803d4b10e164e0c225f6bcf0d5e5f20b87929f137dee247b54')
-
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo',
- 'MinSizeRel', 'Coverage'))
+ version("develop", branch="master")
+ version("1.6.0", sha256="1f71c72ce08d2c1310011ea6436b31e39ccab8c2db94186d26657d41747c85d6")
+ version("1.5.5", sha256="3bff5f237c317ddfd8d5a9b96b3eede7c0802e799db520d38ce756a2a46a18a0")
+ version("1.5.4", sha256="e3adf8c98bb38a198822725c0fc6c0ae4711f16fbbf6aeb311d5ad11e5a081b5")
+ version("1.5.0", sha256="3c6a165b6ecc948967a1ead710d4a181d7b0fbcaa183ef7ea84604994966221a")
+ version("1.4.1", sha256="f8e525db3c42efc9c7f3bc5176a8fa893a9a9920bbd08cef30fb56a51854d60d")
+ version("1.4.0", sha256="616f252f37d61b15037e3c2ef956905baf9c9eecfeab400cb3ad25bae714e214")
+ version("1.3.0", sha256="f19559475a592cbd5ac48b61f6b9cedf87f0b6775d1443de54cfe8f53940b28d")
+ version("1.2.0", sha256="3dcc90c158838e2ac4a7ad06af9e28eb5877cf28252a81e55eb3c836757d3070")
+ version("1.1.0", sha256="e7334dd254434c6668e33a54c8f839194c7c61840d52f4b6258eee28e9f3b20e")
+ version("1.0.0", sha256="d2206c263fc1a7803d4b10e164e0c225f6bcf0d5e5f20b87929f137dee247b54")
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel", "Coverage"),
+ )
depends_on("cmake@2.8.11:", type="build", when="@:1.1.0")
depends_on("cmake@2.8.12:", type="build", when="@1.2.0:1.4")
- depends_on("cmake@3.5.1:", type="build", when="@1.5.0:")
+ depends_on("cmake@3.5.1:", type="build", when="@1.5.0:")
def cmake_args(self):
# No need for testing for the install
@@ -43,12 +45,12 @@ class Benchmark(CMakePackage):
def patch(self):
filter_file(
- r'add_cxx_compiler_flag..fstrict.aliasing.',
- r'##### add_cxx_compiler_flag(-fstrict-aliasing)',
- 'CMakeLists.txt'
+ r"add_cxx_compiler_flag..fstrict.aliasing.",
+ r"##### add_cxx_compiler_flag(-fstrict-aliasing)",
+ "CMakeLists.txt",
)
filter_file(
- r'add_cxx_compiler_flag..Werror',
- r'##### add_cxx_compiler_flag(-Werror',
- 'CMakeLists.txt'
+ r"add_cxx_compiler_flag..Werror",
+ r"##### add_cxx_compiler_flag(-Werror",
+ "CMakeLists.txt",
)
diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py
index 5f1e68914f..9d0f89c4c2 100644
--- a/var/spack/repos/builtin/packages/berkeley-db/package.py
+++ b/var/spack/repos/builtin/packages/berkeley-db/package.py
@@ -12,30 +12,38 @@ class BerkeleyDb(AutotoolsPackage):
homepage = "https://www.oracle.com/database/technologies/related/berkeleydb.html"
# URL must remain http:// so Spack can bootstrap curl
- url = "https://download.oracle.com/berkeley-db/db-18.1.40.tar.gz"
+ url = "https://download.oracle.com/berkeley-db/db-18.1.40.tar.gz"
- executables = [r'^db_load$'] # One should be sufficient
+ executables = [r"^db_load$"] # One should be sufficient
version("18.1.40", sha256="0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8")
- version('18.1.32', sha256='fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654', deprecated=True)
- version('6.2.32', sha256='a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb')
- version('6.1.29', sha256='b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d')
- version('6.0.35', sha256='24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55', deprecated=True)
- version('5.3.28', sha256='e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628')
-
- variant('docs', default=False)
- variant('cxx', default=True, description='Build with C++ API')
- variant('stl', default=True, description='Build with C++ STL API')
-
- configure_directory = 'dist'
- build_directory = 'build_unix'
-
- patch("drop-docs.patch", when='~docs')
-
- conflicts('%clang@7:', when='@5.3.28')
- conflicts('%gcc@8:', when='@5.3.28')
-
- conflicts('+stl', when='~cxx', msg='+stl implies +cxx')
+ version(
+ "18.1.32",
+ sha256="fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654",
+ deprecated=True,
+ )
+ version("6.2.32", sha256="a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb")
+ version("6.1.29", sha256="b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d")
+ version(
+ "6.0.35",
+ sha256="24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55",
+ deprecated=True,
+ )
+ version("5.3.28", sha256="e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628")
+
+ variant("docs", default=False)
+ variant("cxx", default=True, description="Build with C++ API")
+ variant("stl", default=True, description="Build with C++ STL API")
+
+ configure_directory = "dist"
+ build_directory = "build_unix"
+
+ patch("drop-docs.patch", when="~docs")
+
+ conflicts("%clang@7:", when="@5.3.28")
+ conflicts("%gcc@8:", when="@5.3.28")
+
+ conflicts("+stl", when="~cxx", msg="+stl implies +cxx")
@classmethod
def determine_version(cls, exe):
@@ -45,48 +53,60 @@ class BerkeleyDb(AutotoolsPackage):
Arguments:
exe (str): absolute path to the executable being examined
"""
- output = Executable(exe)('-V', output=str, error=str)
- match = re.search(r'Berkeley DB\s+([\d\.]+)', output)
+ output = Executable(exe)("-V", output=str, error=str)
+ match = re.search(r"Berkeley DB\s+([\d\.]+)", output)
return match.group(1) if match else None
def patch(self):
# some of the docs are missing in 18.1.40
if self.spec.satisfies("@18.1.40"):
- filter_file(r'bdb-sql', '', 'dist/Makefile.in')
- filter_file(r'gsg_db_server', '', 'dist/Makefile.in')
+ filter_file(r"bdb-sql", "", "dist/Makefile.in")
+ filter_file(r"gsg_db_server", "", "dist/Makefile.in")
def configure_args(self):
spec = self.spec
config_args = [
- '--disable-static',
- '--enable-dbm',
+ "--disable-static",
+ "--enable-dbm",
# compat with system berkeley-db on darwin
"--enable-compat185",
# SSL support requires OpenSSL, but OpenSSL depends on Perl, which
# depends on Berkey DB, creating a circular dependency
- '--with-repmgr-ssl=no',
+ "--with-repmgr-ssl=no",
]
- config_args += self.enable_or_disable('cxx')
- config_args += self.enable_or_disable('stl')
+ config_args += self.enable_or_disable("cxx")
+ config_args += self.enable_or_disable("stl")
# The default glibc provided by CentOS 7 and Red Hat 8 does not provide
# proper atomic support when using the NVIDIA compilers
- if (spec.satisfies('%nvhpc')
- and (spec.satisfies('os=centos7') or spec.satisfies('os=rhel8'))):
- config_args.append('--disable-atomicsupport')
+ if spec.satisfies("%nvhpc") and (
+ spec.satisfies("os=centos7") or spec.satisfies("os=rhel8")
+ ):
+ config_args.append("--disable-atomicsupport")
return config_args
def test(self):
"""Perform smoke tests on the installed package binaries."""
exes = [
- 'db_checkpoint', 'db_deadlock', 'db_dump', 'db_load',
- 'db_printlog', 'db_stat', 'db_upgrade', 'db_verify'
+ "db_checkpoint",
+ "db_deadlock",
+ "db_dump",
+ "db_load",
+ "db_printlog",
+ "db_stat",
+ "db_upgrade",
+ "db_verify",
]
for exe in exes:
- reason = 'test version of {0} is {1}'.format(exe,
- self.spec.version)
- self.run_test(exe, ['-V'], [self.spec.version.string],
- installed=True, purpose=reason, skip_missing=True)
+ reason = "test version of {0} is {1}".format(exe, self.spec.version)
+ self.run_test(
+ exe,
+ ["-V"],
+ [self.spec.version.string],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ )
diff --git a/var/spack/repos/builtin/packages/berkeleygw/package.py b/var/spack/repos/builtin/packages/berkeleygw/package.py
index dd5e02fe71..afd6519af5 100644
--- a/var/spack/repos/builtin/packages/berkeleygw/package.py
+++ b/var/spack/repos/builtin/packages/berkeleygw/package.py
@@ -14,208 +14,215 @@ class Berkeleygw(MakefilePackage):
homepage = "https://berkeleygw.org"
- maintainers = ['migueldiascosta']
-
- version('3.0.1',
- '7d8c2cc1ee679afb48efbdd676689d4d537226b50e13a049dbcb052aaaf3654f',
- url='https://berkeley.box.com/shared/static/m1dgnhiemo47lhxczrn6si71bwxoxor8.gz',
- expand=False)
- version('3.0',
- 'ab411acead5e979fd42b8d298dbb0a12ce152e7be9eee0bb87e9e5a06a638e2a',
- url='https://berkeley.box.com/shared/static/lp6hj4kxr459l5a6t05qfuzl2ucyo03q.gz',
- expand=False)
- version('2.1',
- '31f3b643dd937350c3866338321d675d4a1b1f54c730b43ad74ae67e75a9e6f2',
- url='https://berkeley.box.com/shared/static/ze3azi5vlyw7hpwvl9i5f82kaiid6g0x.gz',
- expand=False)
-
- variant('mpi', default=True, description='Builds with MPI support')
- variant('elpa', default=True, description='Build with ELPA support')
- variant('python', default=False, description='Build with Python support')
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('scalapack', default=True, description='Build with ScaLAPACK support')
- variant('hdf5', default=True, description='Builds with HDF5 support')
- variant('debug', default=False, description='Builds with DEBUG flag')
- variant('verbose', default=False, description='Builds with VERBOSE flag')
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5+fortran+hl', when='+hdf5~mpi')
- depends_on('hdf5+fortran+hl+mpi', when='+hdf5+mpi')
- depends_on('scalapack', when='+scalapack+mpi')
- depends_on('elpa+openmp', when='+elpa+openmp')
- depends_on('elpa~openmp', when='+elpa~openmp')
- depends_on('fftw-api@3+openmp', when='+openmp')
- depends_on('fftw-api@3~openmp', when='~openmp')
-
- depends_on('python@:2', type=('build', 'run'), when='+python')
- depends_on('py-numpy@:1.16', type=('build', 'run'), when='+python')
- depends_on('py-setuptools@:44', type=('build', 'run'), when='+python')
- depends_on('py-h5py@:2', type=('build', 'run'), when='+hdf5+python')
-
- depends_on('perl', type='test')
+ maintainers = ["migueldiascosta"]
- conflicts(
- '+scalapack',
- when='~mpi',
- msg='scalapack is a parallel library and needs MPI support'
+ version(
+ "3.0.1",
+ "7d8c2cc1ee679afb48efbdd676689d4d537226b50e13a049dbcb052aaaf3654f",
+ url="https://berkeley.box.com/shared/static/m1dgnhiemo47lhxczrn6si71bwxoxor8.gz",
+ expand=False,
+ )
+ version(
+ "3.0",
+ "ab411acead5e979fd42b8d298dbb0a12ce152e7be9eee0bb87e9e5a06a638e2a",
+ url="https://berkeley.box.com/shared/static/lp6hj4kxr459l5a6t05qfuzl2ucyo03q.gz",
+ expand=False,
)
+ version(
+ "2.1",
+ "31f3b643dd937350c3866338321d675d4a1b1f54c730b43ad74ae67e75a9e6f2",
+ url="https://berkeley.box.com/shared/static/ze3azi5vlyw7hpwvl9i5f82kaiid6g0x.gz",
+ expand=False,
+ )
+
+ variant("mpi", default=True, description="Builds with MPI support")
+ variant("elpa", default=True, description="Build with ELPA support")
+ variant("python", default=False, description="Build with Python support")
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("scalapack", default=True, description="Build with ScaLAPACK support")
+ variant("hdf5", default=True, description="Builds with HDF5 support")
+ variant("debug", default=False, description="Builds with DEBUG flag")
+ variant("verbose", default=False, description="Builds with VERBOSE flag")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5+fortran+hl", when="+hdf5~mpi")
+ depends_on("hdf5+fortran+hl+mpi", when="+hdf5+mpi")
+ depends_on("scalapack", when="+scalapack+mpi")
+ depends_on("elpa+openmp", when="+elpa+openmp")
+ depends_on("elpa~openmp", when="+elpa~openmp")
+ depends_on("fftw-api@3+openmp", when="+openmp")
+ depends_on("fftw-api@3~openmp", when="~openmp")
+
+ depends_on("python@:2", type=("build", "run"), when="+python")
+ depends_on("py-numpy@:1.16", type=("build", "run"), when="+python")
+ depends_on("py-setuptools@:44", type=("build", "run"), when="+python")
+ depends_on("py-h5py@:2", type=("build", "run"), when="+hdf5+python")
+
+ depends_on("perl", type="test")
conflicts(
- '+elpa',
- when='~mpi',
- msg='elpa is a parallel library and needs MPI support'
+ "+scalapack", when="~mpi", msg="scalapack is a parallel library and needs MPI support"
)
+ conflicts("+elpa", when="~mpi", msg="elpa is a parallel library and needs MPI support")
+
# Force openmp propagation on some providers of blas / fftw-api
- with when('+openmp'):
- depends_on('fftw+openmp', when='^fftw')
- depends_on('amdfftw+openmp', when='^amdfftw')
- depends_on('openblas threads=openmp', when='^openblas')
- depends_on('amdblis threads=openmp', when='^amdblis')
+ with when("+openmp"):
+ depends_on("fftw+openmp", when="^fftw")
+ depends_on("amdfftw+openmp", when="^amdfftw")
+ depends_on("openblas threads=openmp", when="^openblas")
+ depends_on("amdblis threads=openmp", when="^amdblis")
parallel = False
def edit(self, spec, prefix):
# archive is a tar file, despite the .gz expension
- tar = which('tar')
- tar('-x', '-f', self.stage.archive_file, '--strip-components=1')
+ tar = which("tar")
+ tar("-x", "-f", self.stage.archive_file, "--strip-components=1")
# get generic arch.mk template
- copy(join_path(self.stage.source_path, 'config', 'generic.mpi.linux.mk'),
- 'arch.mk')
+ copy(join_path(self.stage.source_path, "config", "generic.mpi.linux.mk"), "arch.mk")
- if self.version == Version('2.1'):
+ if self.version == Version("2.1"):
# don't try to install missing file
- filter_file('install manual.html', '#install manual.html', 'Makefile')
+ filter_file("install manual.html", "#install manual.html", "Makefile")
# don't rebuild in the install and test steps
- filter_file('install: all', 'install:', 'Makefile')
- filter_file('check: all', 'check:', 'Makefile')
+ filter_file("install: all", "install:", "Makefile")
+ filter_file("check: all", "check:", "Makefile")
# use parallelization in tests
- filter_file(r'cd testsuite \&\& \$\(MAKE\) check$',
- 'cd testsuite && $(MAKE) check-parallel',
- 'Makefile')
+ filter_file(
+ r"cd testsuite \&\& \$\(MAKE\) check$",
+ "cd testsuite && $(MAKE) check-parallel",
+ "Makefile",
+ )
# remove stack ulimit in order to run openmp tests
- filter_file(r'function run_testsuite\(\) {',
- 'function run_testsuite() {\nulimit -s unlimited',
- 'testsuite/run_testsuite.sh')
+ filter_file(
+ r"function run_testsuite\(\) {",
+ "function run_testsuite() {\nulimit -s unlimited",
+ "testsuite/run_testsuite.sh",
+ )
def setup_build_environment(self, env):
if self.run_tests:
- env.set('OMP_NUM_THREADS', '2')
- env.set('BGW_TEST_MPI_NPROCS', '2')
+ env.set("OMP_NUM_THREADS", "2")
+ env.set("BGW_TEST_MPI_NPROCS", "2")
def build(self, spec, prefix):
buildopts = []
paraflags = []
- if '+mpi' in spec:
- paraflags.append('-DMPI')
+ if "+mpi" in spec:
+ paraflags.append("-DMPI")
- if '+openmp' in spec:
- paraflags.append('-DOMP')
- spec.compiler_flags['fflags'].append(self.compiler.openmp_flag)
+ if "+openmp" in spec:
+ paraflags.append("-DOMP")
+ spec.compiler_flags["fflags"].append(self.compiler.openmp_flag)
- buildopts.append('C_PARAFLAG=-DPARA')
- buildopts.append('PARAFLAG=%s' % ' '.join(paraflags))
+ buildopts.append("C_PARAFLAG=-DPARA")
+ buildopts.append("PARAFLAG=%s" % " ".join(paraflags))
debugflag = ""
- if '+debug' in spec:
+ if "+debug" in spec:
debugflag += "-DDEBUG "
- if '+verbose' in spec:
+ if "+verbose" in spec:
debugflag += "-DVERBOSE "
- buildopts.append('DEBUGFLAG=%s' % debugflag)
+ buildopts.append("DEBUGFLAG=%s" % debugflag)
- buildopts.append('LINK=%s' % spec['mpi'].mpifc)
- buildopts.append('C_LINK=%s' % spec['mpi'].mpicxx)
+ buildopts.append("LINK=%s" % spec["mpi"].mpifc)
+ buildopts.append("C_LINK=%s" % spec["mpi"].mpicxx)
- buildopts.append('FOPTS=%s' % ' '.join(spec.compiler_flags['fflags']))
- buildopts.append('C_OPTS=%s' % ' '.join(spec.compiler_flags['cflags']))
+ buildopts.append("FOPTS=%s" % " ".join(spec.compiler_flags["fflags"]))
+ buildopts.append("C_OPTS=%s" % " ".join(spec.compiler_flags["cflags"]))
mathflags = []
- mathflags.append('-DUSEFFTW3')
- buildopts.append('FFTWINCLUDE=%s' % spec['fftw-api'].prefix.include)
- fftwspec = spec['fftw-api:openmp' if '+openmp' in spec else 'fftw-api']
- buildopts.append('FFTWLIB=%s' % fftwspec.libs.ld_flags)
-
- buildopts.append('LAPACKLIB=%s' % spec['lapack'].libs.ld_flags)
-
- if '+scalapack' in spec:
- mathflags.append('-DUSESCALAPACK')
- buildopts.append('SCALAPACKLIB=%s' % spec['scalapack'].libs.ld_flags)
-
- if spec.satisfies('%intel'):
- buildopts.append('COMPFLAG=-DINTEL')
- buildopts.append('MOD_OPT=-module ')
- buildopts.append('F90free=%s -free' % spec['mpi'].mpifc)
- buildopts.append('FCPP=cpp -C -P -ffreestanding')
- buildopts.append('C_COMP=%s' % spec['mpi'].mpicc)
- buildopts.append('CC_COMP=%s' % spec['mpi'].mpicxx)
- buildopts.append('BLACSDIR=%s' % spec['scalapack'].libs)
- buildopts.append('BLACS=%s' % spec['scalapack'].libs.ld_flags)
- buildopts.append('FOPTS=%s' % ' '.join(spec.compiler_flags['fflags']))
- elif spec.satisfies('%gcc'):
- c_flags = '-std=c99'
- cxx_flags = '-std=c++0x'
+ mathflags.append("-DUSEFFTW3")
+ buildopts.append("FFTWINCLUDE=%s" % spec["fftw-api"].prefix.include)
+ fftwspec = spec["fftw-api:openmp" if "+openmp" in spec else "fftw-api"]
+ buildopts.append("FFTWLIB=%s" % fftwspec.libs.ld_flags)
+
+ buildopts.append("LAPACKLIB=%s" % spec["lapack"].libs.ld_flags)
+
+ if "+scalapack" in spec:
+ mathflags.append("-DUSESCALAPACK")
+ buildopts.append("SCALAPACKLIB=%s" % spec["scalapack"].libs.ld_flags)
+
+ if spec.satisfies("%intel"):
+ buildopts.append("COMPFLAG=-DINTEL")
+ buildopts.append("MOD_OPT=-module ")
+ buildopts.append("F90free=%s -free" % spec["mpi"].mpifc)
+ buildopts.append("FCPP=cpp -C -P -ffreestanding")
+ buildopts.append("C_COMP=%s" % spec["mpi"].mpicc)
+ buildopts.append("CC_COMP=%s" % spec["mpi"].mpicxx)
+ buildopts.append("BLACSDIR=%s" % spec["scalapack"].libs)
+ buildopts.append("BLACS=%s" % spec["scalapack"].libs.ld_flags)
+ buildopts.append("FOPTS=%s" % " ".join(spec.compiler_flags["fflags"]))
+ elif spec.satisfies("%gcc"):
+ c_flags = "-std=c99"
+ cxx_flags = "-std=c++0x"
f90_flags = "-ffree-form -ffree-line-length-none -fno-second-underscore"
- if spec.satisfies('%gcc@10:'):
- c_flags += ' -fcommon'
- cxx_flags += ' -fcommon'
- f90_flags += ' -fallow-argument-mismatch'
- buildopts.append('COMPFLAG=-DGNU')
- buildopts.append('MOD_OPT=-J ')
- buildopts.append('F90free=%s %s' % (spec['mpi'].mpifc, f90_flags))
- buildopts.append('FCPP=cpp -C -nostdinc')
- buildopts.append('C_COMP=%s %s' % (spec['mpi'].mpicc, c_flags))
- buildopts.append('CC_COMP=%s %s' % (spec['mpi'].mpicxx, cxx_flags))
- buildopts.append('FOPTS=%s' % ' '.join(spec.compiler_flags['fflags']))
- elif spec.satisfies('%fj'):
- c_flags = '-std=c99'
- cxx_flags = '-std=c++0x'
+ if spec.satisfies("%gcc@10:"):
+ c_flags += " -fcommon"
+ cxx_flags += " -fcommon"
+ f90_flags += " -fallow-argument-mismatch"
+ buildopts.append("COMPFLAG=-DGNU")
+ buildopts.append("MOD_OPT=-J ")
+ buildopts.append("F90free=%s %s" % (spec["mpi"].mpifc, f90_flags))
+ buildopts.append("FCPP=cpp -C -nostdinc")
+ buildopts.append("C_COMP=%s %s" % (spec["mpi"].mpicc, c_flags))
+ buildopts.append("CC_COMP=%s %s" % (spec["mpi"].mpicxx, cxx_flags))
+ buildopts.append("FOPTS=%s" % " ".join(spec.compiler_flags["fflags"]))
+ elif spec.satisfies("%fj"):
+ c_flags = "-std=c99"
+ cxx_flags = "-std=c++0x"
f90_flags = "-Free"
- buildopts.append('COMPFLAG=')
- buildopts.append('MOD_OPT=-module ')
- buildopts.append('F90free=%s %s' % (spec['mpi'].mpifc, f90_flags))
- buildopts.append('FCPP=cpp -C -nostdinc')
- buildopts.append('C_COMP=%s %s' % (spec['mpi'].mpicc, c_flags))
- buildopts.append('CC_COMP=%s %s' % (spec['mpi'].mpicxx, cxx_flags))
- buildopts.append('FOPTS=-Kfast -Knotemparraystack %s' %
- ' '.join(spec.compiler_flags['fflags']))
+ buildopts.append("COMPFLAG=")
+ buildopts.append("MOD_OPT=-module ")
+ buildopts.append("F90free=%s %s" % (spec["mpi"].mpifc, f90_flags))
+ buildopts.append("FCPP=cpp -C -nostdinc")
+ buildopts.append("C_COMP=%s %s" % (spec["mpi"].mpicc, c_flags))
+ buildopts.append("CC_COMP=%s %s" % (spec["mpi"].mpicxx, cxx_flags))
+ buildopts.append(
+ "FOPTS=-Kfast -Knotemparraystack %s" % " ".join(spec.compiler_flags["fflags"])
+ )
else:
- raise InstallError("Spack does not yet have support for building "
- "BerkeleyGW with compiler %s" % spec.compiler)
-
- if '+hdf5' in spec:
- mathflags.append('-DHDF5')
- buildopts.append('HDF5INCLUDE=%s' % spec['hdf5'].prefix.include)
- buildopts.append('HDF5LIB=%s' % spec['hdf5:hl,fortran'].libs.ld_flags)
-
- if '+elpa' in spec:
- mathflags.append('-DUSEELPA')
- elpa = spec['elpa']
-
- if '+openmp' in spec:
- elpa_suffix = '_openmp'
+ raise InstallError(
+ "Spack does not yet have support for building "
+ "BerkeleyGW with compiler %s" % spec.compiler
+ )
+
+ if "+hdf5" in spec:
+ mathflags.append("-DHDF5")
+ buildopts.append("HDF5INCLUDE=%s" % spec["hdf5"].prefix.include)
+ buildopts.append("HDF5LIB=%s" % spec["hdf5:hl,fortran"].libs.ld_flags)
+
+ if "+elpa" in spec:
+ mathflags.append("-DUSEELPA")
+ elpa = spec["elpa"]
+
+ if "+openmp" in spec:
+ elpa_suffix = "_openmp"
else:
- elpa_suffix = ''
+ elpa_suffix = ""
elpa_incdir = elpa.headers.directories[0]
- elpa_libs = join_path(elpa.libs.directories[0],
- 'libelpa%s.%s' % (elpa_suffix, dso_suffix))
+ elpa_libs = join_path(
+ elpa.libs.directories[0], "libelpa%s.%s" % (elpa_suffix, dso_suffix)
+ )
- buildopts.append('ELPALIB=%s' % elpa_libs)
- buildopts.append('ELPAINCLUDE=%s' % join_path(elpa_incdir, 'modules'))
+ buildopts.append("ELPALIB=%s" % elpa_libs)
+ buildopts.append("ELPAINCLUDE=%s" % join_path(elpa_incdir, "modules"))
- buildopts.append('MATHFLAG=%s' % ' '.join(mathflags))
+ buildopts.append("MATHFLAG=%s" % " ".join(mathflags))
- make('all-flavors', *buildopts)
+ make("all-flavors", *buildopts)
def install(self, spec, prefix):
- make('install', 'INSTDIR=%s' % prefix)
+ make("install", "INSTDIR=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/bertini/package.py b/var/spack/repos/builtin/packages/bertini/package.py
index bc62d79094..3370f1b3a6 100644
--- a/var/spack/repos/builtin/packages/bertini/package.py
+++ b/var/spack/repos/builtin/packages/bertini/package.py
@@ -12,14 +12,14 @@ class Bertini(AutotoolsPackage):
solution of systems of polynomial equations using homotopy continuation."""
homepage = "https://bertini.nd.edu/"
- url = "https://bertini.nd.edu/BertiniSource_v1.5.tar.gz"
+ url = "https://bertini.nd.edu/BertiniSource_v1.5.tar.gz"
- version('1.5', sha256='a9a68a96e180fe6a93ba1bc1d61f522784c9a053b049b2cbd98008b5b6deec3c')
+ version("1.5", sha256="a9a68a96e180fe6a93ba1bc1d61f522784c9a053b049b2cbd98008b5b6deec3c")
- variant('mpi', default=True, description='Compile in parallel')
+ variant("mpi", default=True, description="Compile in parallel")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('gmp')
- depends_on('mpfr')
- depends_on('mpi', when='+mpi')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("gmp")
+ depends_on("mpfr")
+ depends_on("mpi", when="+mpi")
diff --git a/var/spack/repos/builtin/packages/bgpdump/package.py b/var/spack/repos/builtin/packages/bgpdump/package.py
index bc91a04b70..47d8ea83a5 100644
--- a/var/spack/repos/builtin/packages/bgpdump/package.py
+++ b/var/spack/repos/builtin/packages/bgpdump/package.py
@@ -10,12 +10,12 @@ class Bgpdump(AutotoolsPackage):
"""Utility and C Library for parsing MRT files"""
homepage = "https://github.com/RIPE-NCC/bgpdump/wiki"
- git = "https://github.com/RIPE-NCC/bgpdump.git"
+ git = "https://github.com/RIPE-NCC/bgpdump.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('bzip2')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("bzip2")
diff --git a/var/spack/repos/builtin/packages/bib2xhtml/package.py b/var/spack/repos/builtin/packages/bib2xhtml/package.py
index 31fe143a5b..6d623eb510 100644
--- a/var/spack/repos/builtin/packages/bib2xhtml/package.py
+++ b/var/spack/repos/builtin/packages/bib2xhtml/package.py
@@ -9,23 +9,28 @@ from spack.package import *
class Bib2xhtml(Package):
"""bib2xhtml is a program that converts BibTeX files into HTML."""
+
homepage = "https://www.spinellis.gr/sw/textproc/bib2xhtml/"
- url = 'https://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-79-ge935.tar.gz'
+ url = "https://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-79-ge935.tar.gz"
- version('3.0-79-ge935', sha256='4a2d2d89dd2f3fed1c735055b806809b5cc1cde32dee1aa5987097ec5bf2181f')
+ version(
+ "3.0-79-ge935", sha256="4a2d2d89dd2f3fed1c735055b806809b5cc1cde32dee1aa5987097ec5bf2181f"
+ )
- depends_on('texlive', type='run')
+ depends_on("texlive", type="run")
def install(self, spec, prefix):
# Add the bst include files to the install directory
- bst_include = join_path(prefix.share, 'bib2xhtml')
+ bst_include = join_path(prefix.share, "bib2xhtml")
mkdirp(bst_include)
- install('html-*bst', bst_include)
+ install("html-*bst", bst_include)
# Install the script and point it at the user's favorite perl
# and the bst include directory.
mkdirp(prefix.bin)
- install('bib2xhtml', prefix.bin)
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env BSTINPUTS=%s perl' % bst_include,
- join_path(prefix.bin, 'bib2xhtml'))
+ install("bib2xhtml", prefix.bin)
+ filter_file(
+ r"#!/usr/bin/perl",
+ "#!/usr/bin/env BSTINPUTS=%s perl" % bst_include,
+ join_path(prefix.bin, "bib2xhtml"),
+ )
diff --git a/var/spack/repos/builtin/packages/bigdft-atlab/package.py b/var/spack/repos/builtin/packages/bigdft-atlab/package.py
index 2b27738ef7..899c0230e3 100644
--- a/var/spack/repos/builtin/packages/bigdft-atlab/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-atlab/package.py
@@ -10,74 +10,72 @@ class BigdftAtlab(AutotoolsPackage):
"""BigDFT-atlab: library for ATomic related operations."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('openbabel', default=False, description='Enable detection of openbabel compilation')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("openbabel", default=False, description="Enable detection of openbabel compilation")
- depends_on('mpi', when='+mpi')
- depends_on('openbabel', when='+openbabel')
+ depends_on("mpi", when="+mpi")
+ depends_on("openbabel", when="+openbabel")
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
build_directory = "atlab"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].prefix.include,
- "--with-moduledir=%s" % prefix.include,
- "--prefix=%s" % prefix,
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].prefix.include,
+ "--with-moduledir=%s" % prefix.include,
+ "--prefix=%s" % prefix,
"--without-etsf-io",
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
- if '+openbabel' in spec:
+ if "+openbabel" in spec:
args.append("--enable-openbabel")
- args.append("--with-openbabel-libs=%s" % spec['openbabel'].prefix.lib)
- args.append("--with-openbabel-incs=%s" % spec['openbabel'].prefix.include)
+ args.append("--with-openbabel-libs=%s" % spec["openbabel"].prefix.lib)
+ args.append("--with-openbabel-incs=%s" % spec["openbabel"].prefix.include)
return args
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libatlab-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libatlab-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-chess/package.py b/var/spack/repos/builtin/packages/bigdft-chess/package.py
index 4df4653cb2..e068f87d84 100644
--- a/var/spack/repos/builtin/packages/bigdft-chess/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-chess/package.py
@@ -8,104 +8,103 @@ from spack.package import *
class BigdftChess(AutotoolsPackage, CudaPackage):
"""BigDFT-CheSS: A module for performing Fermi Operator Expansions
- via Chebyshev Polynomials."""
+ via Chebyshev Polynomials."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('scalapack', default=True, description='Enable SCALAPACK support')
- variant('ntpoly', default=False, description='Option to use NTPoly')
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("scalapack", default=True, description="Enable SCALAPACK support")
+ variant("ntpoly", default=False, description="Option to use NTPoly")
# variant('minpack', default=False, description='Give the link-line for MINPACK')
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
- depends_on('blas')
- depends_on('lapack')
- depends_on('py-pyyaml')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
- depends_on('ntpoly', when='+ntpoly')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("py-pyyaml")
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("ntpoly", when="+ntpoly")
# depends_on('netlib-minpack', when='+minpack')
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
- for vers in ['1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-atlab@{0}'.format(vers), when='@{0}'.format(vers))
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
+ for vers in ["1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-atlab@{0}".format(vers), when="@{0}".format(vers))
build_directory = "chess"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
- python_version = spec['python'].version.up_to(2)
- pyyaml = join_path(spec['py-pyyaml'].prefix.lib,
- 'python{0}'.format(python_version))
+ python_version = spec["python"].version.up_to(2)
+ pyyaml = join_path(spec["py-pyyaml"].prefix.lib, "python{0}".format(python_version))
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
linalg = []
- if '+scalapack' in spec:
- linalg.append(spec['scalapack'].libs.ld_flags)
+ if "+scalapack" in spec:
+ linalg.append(spec["scalapack"].libs.ld_flags)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-ext-linalg=%s" % " ".join(linalg),
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].headers.include_flags,
- "--with-moduledir=%s" % prefix.include,
- "--prefix=%s" % prefix,
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
+ "--with-moduledir=%s" % prefix.include,
+ "--prefix=%s" % prefix,
"--without-etsf-io",
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
- if spec.satisfies('@1.8.3:') or spec.satisfies('@develop'):
- args.append("--with-atlab-libs=%s" % spec['bigdft-atlab'].prefix.lib)
+ if spec.satisfies("@1.8.3:") or spec.satisfies("@develop"):
+ args.append("--with-atlab-libs=%s" % spec["bigdft-atlab"].prefix.lib)
- if '+cuda' in spec:
+ if "+cuda" in spec:
args.append("--enable-cuda-gpu")
- args.append("--with-cuda-path=%s" % spec['cuda'].prefix)
- args.append("--with-cuda-libs=%s" % spec['cuda'].libs.link_flags)
+ args.append("--with-cuda-path=%s" % spec["cuda"].prefix)
+ args.append("--with-cuda-libs=%s" % spec["cuda"].libs.link_flags)
- if '+minpack' in spec:
+ if "+minpack" in spec:
args.append("--with-minpack")
- if '+ntpoly' in spec:
+ if "+ntpoly" in spec:
args.append("--enable-ntpoly")
return args
@@ -113,6 +112,4 @@ class BigdftChess(AutotoolsPackage, CudaPackage):
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libCheSS-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libCheSS-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-core/package.py b/var/spack/repos/builtin/packages/bigdft-core/package.py
index 539d93a9ae..38973b9931 100644
--- a/var/spack/repos/builtin/packages/bigdft-core/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-core/package.py
@@ -8,125 +8,122 @@ from spack.package import *
class BigdftCore(AutotoolsPackage, CudaPackage):
"""BigDFT-core: the core components of BigDFT, an electronic structure calculation
- based on Daubechies wavelets."""
+ based on Daubechies wavelets."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('scalapack', default=True, description='Enable SCALAPACK support')
- variant('openbabel', default=False, description='Enable detection of openbabel compilation')
-
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('py-pyyaml')
- depends_on('libgain')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
- depends_on('openbabel', when='+openbabel')
- depends_on('libxc@:2.2.2', when='@:1.9.1')
- depends_on('libxc@:4.3.4', when='@1.9.2:')
- depends_on('libxc@:4.3.4', when='@develop')
-
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-chess@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-psolver@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-libabinit@{0}'.format(vers), when='@{0}'.format(vers))
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("scalapack", default=True, description="Enable SCALAPACK support")
+ variant("openbabel", default=False, description="Enable detection of openbabel compilation")
+
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("py-pyyaml")
+ depends_on("libgain")
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("openbabel", when="+openbabel")
+ depends_on("libxc@:2.2.2", when="@:1.9.1")
+ depends_on("libxc@:4.3.4", when="@1.9.2:")
+ depends_on("libxc@:4.3.4", when="@develop")
+
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-chess@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-psolver@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-libabinit@{0}".format(vers), when="@{0}".format(vers))
build_directory = "bigdft"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
- python_version = spec['python'].version.up_to(2)
- pyyaml = join_path(spec['py-pyyaml'].prefix.lib,
- 'python{0}'.format(python_version))
+ python_version = spec["python"].version.up_to(2)
+ pyyaml = join_path(spec["py-pyyaml"].prefix.lib, "python{0}".format(python_version))
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
linalg = []
- if '+scalapack' in spec:
- linalg.append(spec['scalapack'].libs.ld_flags)
- linalg.append(spec['lapack'].libs.ld_flags)
- linalg.append(spec['blas'].libs.ld_flags)
+ if "+scalapack" in spec:
+ linalg.append(spec["scalapack"].libs.ld_flags)
+ linalg.append(spec["lapack"].libs.ld_flags)
+ linalg.append(spec["blas"].libs.ld_flags)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-ext-linalg=%s" % " ".join(linalg),
- "--with-pyyaml-path=%s" % pyyaml,
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].headers.include_flags,
- "--with-chess-libs=%s" % spec['bigdft-chess'].prefix.lib,
- "--with-chess-incs=%s" % spec['bigdft-chess'].headers.include_flags,
- "--with-psolver-libs=%s" % spec['bigdft-psolver'].prefix.lib,
- "--with-psolver-incs=%s" % spec['bigdft-psolver'].headers.include_flags,
- "--with-libABINIT-libs=%s" % spec['bigdft-libabinit'].prefix.lib,
- "--with-libABINIT-incs=%s" % spec['bigdft-libabinit'].headers.include_flags,
- "--with-libgain-libs=%s" % spec['libgain'].libs.ld_flags,
- "--with-libgain-incs=%s" % spec['libgain'].headers.include_flags,
- "--with-libxc-libs=%s %s" % (spec['libxc'].libs.ld_flags,
- spec['libxc'].libs.ld_flags + "f90"),
- "--with-libxc-incs=%s" % spec['libxc'].headers.include_flags,
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-ext-linalg=%s" % " ".join(linalg),
+ "--with-pyyaml-path=%s" % pyyaml,
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
+ "--with-chess-libs=%s" % spec["bigdft-chess"].prefix.lib,
+ "--with-chess-incs=%s" % spec["bigdft-chess"].headers.include_flags,
+ "--with-psolver-libs=%s" % spec["bigdft-psolver"].prefix.lib,
+ "--with-psolver-incs=%s" % spec["bigdft-psolver"].headers.include_flags,
+ "--with-libABINIT-libs=%s" % spec["bigdft-libabinit"].prefix.lib,
+ "--with-libABINIT-incs=%s" % spec["bigdft-libabinit"].headers.include_flags,
+ "--with-libgain-libs=%s" % spec["libgain"].libs.ld_flags,
+ "--with-libgain-incs=%s" % spec["libgain"].headers.include_flags,
+ "--with-libxc-libs=%s %s"
+ % (spec["libxc"].libs.ld_flags, spec["libxc"].libs.ld_flags + "f90"),
+ "--with-libxc-incs=%s" % spec["libxc"].headers.include_flags,
"--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,
"--without-etsf-io",
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
- if '+cuda' in spec:
+ if "+cuda" in spec:
args.append("--enable-opencl")
- args.append("--with-ocl-path=%s" % spec['cuda'].prefix)
+ args.append("--with-ocl-path=%s" % spec["cuda"].prefix)
args.append("--enable-cuda-gpu")
- args.append("--with-cuda-path=%s" % spec['cuda'].prefix)
- args.append("--with-cuda-libs=%s" % spec['cuda'].libs.link_flags)
+ args.append("--with-cuda-path=%s" % spec["cuda"].prefix)
+ args.append("--with-cuda-libs=%s" % spec["cuda"].libs.link_flags)
- if '+openbabel' in spec:
+ if "+openbabel" in spec:
args.append("--enable-openbabel")
- args.append("--with-openbabel-libs=%s" % spec['openbabel'].prefix.lib)
- args.append("--with-openbabel-incs=%s" % spec['openbabel'].prefix.include)
+ args.append("--with-openbabel-libs=%s" % spec["openbabel"].prefix.lib)
+ args.append("--with-openbabel-incs=%s" % spec["openbabel"].prefix.include)
return args
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libbigdft-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libbigdft-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-futile/package.py b/var/spack/repos/builtin/packages/bigdft-futile/package.py
index cbc0752823..db9561384b 100644
--- a/var/spack/repos/builtin/packages/bigdft-futile/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-futile/package.py
@@ -8,91 +8,88 @@ from spack.package import *
class BigdftFutile(AutotoolsPackage, CudaPackage):
"""BigDFT-futile: a library handling most common FORTRAN low-level operations,
- like memory managment, profiling routines, I/O operations.
- It also supports yaml output and parsing for fortran programs.
- It also provides wrappers routines to MPI and linear algebra operations.
- This library is intensively used in BigDFT packages."""
+ like memory managment, profiling routines, I/O operations.
+ It also supports yaml output and parsing for fortran programs.
+ It also provides wrappers routines to MPI and linear algebra operations.
+ This library is intensively used in BigDFT packages."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
-
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('libyaml')
- depends_on('py-pyyaml')
- depends_on('mpi', when='+mpi')
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("libyaml")
+ depends_on("py-pyyaml")
+ depends_on("mpi", when="+mpi")
build_directory = "futile"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
- linalg = [spec['blas'].libs.ld_flags, spec['lapack'].libs.ld_flags]
+ linalg = [spec["blas"].libs.ld_flags, spec["lapack"].libs.ld_flags]
- python_version = spec['python'].version.up_to(2)
- pyyaml = join_path(spec['py-pyyaml'].prefix.lib,
- 'python{0}'.format(python_version))
+ python_version = spec["python"].version.up_to(2)
+ pyyaml = join_path(spec["py-pyyaml"].prefix.lib, "python{0}".format(python_version))
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-ext-linalg=%s" % " ".join(linalg),
- "--with-yaml-path=%s" % spec['libyaml'].prefix,
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-ext-linalg=%s" % " ".join(linalg),
+ "--with-yaml-path=%s" % spec["libyaml"].prefix,
"--with-pyyaml-path=%s" % pyyaml,
"--prefix=%s" % prefix,
]
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+cuda' in spec:
+ if "+cuda" in spec:
args.append("--enable-opencl")
- args.append("--with-ocl-path=%s" % spec['cuda'].prefix)
+ args.append("--with-ocl-path=%s" % spec["cuda"].prefix)
args.append("--enable-cuda-gpu")
- args.append("--with-cuda-path=%s" % spec['cuda'].prefix)
+ args.append("--with-cuda-path=%s" % spec["cuda"].prefix)
return args
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libfutile-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libfutile-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-libabinit/package.py b/var/spack/repos/builtin/packages/bigdft-libabinit/package.py
index 85fe42648b..62791417c9 100644
--- a/var/spack/repos/builtin/packages/bigdft-libabinit/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-libabinit/package.py
@@ -8,69 +8,69 @@ from spack.package import *
class BigdftLibabinit(AutotoolsPackage):
"""BigDFT-libABINIT: this is a subsection of files coming from ABINIT software package,
- to which BigDFT has been coupled since the early days. It handles different parts
- like symmetries, ewald corrections, PAW routines, density and potential mixing
- routines and some MD minimizers."""
+ to which BigDFT has been coupled since the early days. It handles different parts
+ like symmetries, ewald corrections, PAW routines, density and potential mixing
+ routines and some MD minimizers."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
- depends_on('mpi', when='+mpi')
- depends_on('libxc@:2.2.2', when='@:1.9.1')
- depends_on('libxc@:4.3.4', when='@1.9.1:')
- depends_on('libxc@:4.3.4', when='@develop')
+ depends_on("mpi", when="+mpi")
+ depends_on("libxc@:2.2.2", when="@:1.9.1")
+ depends_on("libxc@:4.3.4", when="@1.9.1:")
+ depends_on("libxc@:4.3.4", when="@develop")
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
- patch('m_libpaw_mpi.F90.patch', when='@:1.8.2')
+ patch("m_libpaw_mpi.F90.patch", when="@:1.8.2")
build_directory = "libABINIT"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- if spec.satisfies('@:1.8.2'):
- autoreconf('-i')
+ if spec.satisfies("@:1.8.2"):
+ autoreconf("-i")
else:
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
args = [
- "--with-libxc-libs=%s %s" % (spec['libxc'].libs.ld_flags,
- spec['libxc'].libs.ld_flags + "f90"),
- "--with-libxc-incs=%s" % spec['libxc'].headers.include_flags,
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].headers.include_flags,
- "--with-moduledir=%s" % prefix.include,
+ "--with-libxc-libs=%s %s"
+ % (spec["libxc"].libs.ld_flags, spec["libxc"].libs.ld_flags + "f90"),
+ "--with-libxc-incs=%s" % spec["libxc"].headers.include_flags,
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
+ "--with-moduledir=%s" % prefix.include,
"--prefix=%s" % prefix,
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
@@ -79,6 +79,4 @@ class BigdftLibabinit(AutotoolsPackage):
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libabinit', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libabinit", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-psolver/package.py b/var/spack/repos/builtin/packages/bigdft-psolver/package.py
index 04e8179c60..a1cbcc84d9 100644
--- a/var/spack/repos/builtin/packages/bigdft-psolver/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-psolver/package.py
@@ -8,104 +8,101 @@ from spack.package import *
class BigdftPsolver(AutotoolsPackage, CudaPackage):
"""BigDFT-Psolver: a flexible real-space Poisson Solver based on
- Interpolating Scaling Functions. It constitutes a fundamental building block
- of BigDFT code, and it can also be used separately and linked to other codes."""
+ Interpolating Scaling Functions. It constitutes a fundamental building block
+ of BigDFT code, and it can also be used separately and linked to other codes."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('scalapack', default=True, description='Enable SCALAPACK support')
-
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('py-pyyaml')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
-
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
- for vers in ['1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-atlab@{0}'.format(vers), when='@{0}'.format(vers))
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("scalapack", default=True, description="Enable SCALAPACK support")
+
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("py-pyyaml")
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
+
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
+ for vers in ["1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-atlab@{0}".format(vers), when="@{0}".format(vers))
build_directory = "psolver"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
- python_version = spec['python'].version.up_to(2)
- pyyaml = join_path(spec['py-pyyaml'].prefix.lib,
- 'python{0}'.format(python_version))
+ python_version = spec["python"].version.up_to(2)
+ pyyaml = join_path(spec["py-pyyaml"].prefix.lib, "python{0}".format(python_version))
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
linalg = []
- if '+scalapack' in spec:
- linalg.append(spec['scalapack'].libs.ld_flags)
- linalg.append(spec['lapack'].libs.ld_flags)
- linalg.append(spec['blas'].libs.ld_flags)
+ if "+scalapack" in spec:
+ linalg.append(spec["scalapack"].libs.ld_flags)
+ linalg.append(spec["lapack"].libs.ld_flags)
+ linalg.append(spec["blas"].libs.ld_flags)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-ext-linalg=%s" % " ".join(linalg),
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-ext-linalg=%s" % " ".join(linalg),
"--with-pyyaml-path=%s" % pyyaml,
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].headers.include_flags,
- "--with-moduledir=%s" % prefix.include,
- "--prefix=%s" % prefix,
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
+ "--with-moduledir=%s" % prefix.include,
+ "--prefix=%s" % prefix,
"--without-etsf-io",
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
- if spec.satisfies('@1.8.3:') or spec.satisfies('@develop'):
- args.append("--with-atlab-libs=%s" % spec['bigdft-atlab'].prefix.lib)
+ if spec.satisfies("@1.8.3:") or spec.satisfies("@develop"):
+ args.append("--with-atlab-libs=%s" % spec["bigdft-atlab"].prefix.lib)
- if '+cuda' in spec:
+ if "+cuda" in spec:
args.append("--enable-cuda-gpu")
- args.append("--with-cuda-path=%s" % spec['cuda'].prefix)
- args.append("--with-cuda-libs=%s" % spec['cuda'].libs.link_flags)
+ args.append("--with-cuda-path=%s" % spec["cuda"].prefix)
+ args.append("--with-cuda-libs=%s" % spec["cuda"].libs.link_flags)
return args
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libPSolver-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libPSolver-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-spred/package.py b/var/spack/repos/builtin/packages/bigdft-spred/package.py
index 01481cd6cc..fc48a7a843 100644
--- a/var/spack/repos/builtin/packages/bigdft-spred/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-spred/package.py
@@ -8,89 +8,88 @@ from spack.package import *
class BigdftSpred(AutotoolsPackage):
"""BigDFT-spred: a library for structure prediction tools,
- that is compiled on top of BigDFT routines."""
+ that is compiled on top of BigDFT routines."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('scalapack', default=True, description='Enable SCALAPACK support')
-
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('py-pyyaml')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
-
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-psolver@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-core@{0}'.format(vers), when='@{0}'.format(vers))
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("scalapack", default=True, description="Enable SCALAPACK support")
+
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("py-pyyaml")
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
+
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-psolver@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-core@{0}".format(vers), when="@{0}".format(vers))
build_directory = "spred"
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.build_directory):
- autoreconf('-fi')
+ autoreconf("-fi")
def configure_args(self):
spec = self.spec
prefix = self.prefix
- python_version = spec['python'].version.up_to(2)
- pyyaml = join_path(spec['py-pyyaml'].prefix.lib,
- 'python{0}'.format(python_version))
+ python_version = spec["python"].version.up_to(2)
+ pyyaml = join_path(spec["py-pyyaml"].prefix.lib, "python{0}".format(python_version))
openmp_flag = []
- if '+openmp' in spec:
+ if "+openmp" in spec:
openmp_flag.append(self.compiler.openmp_flag)
linalg = []
- if '+scalapack' in spec:
- linalg.append(spec['scalapack'].libs.ld_flags)
- linalg.append(spec['lapack'].libs.ld_flags)
- linalg.append(spec['blas'].libs.ld_flags)
+ if "+scalapack" in spec:
+ linalg.append(spec["scalapack"].libs.ld_flags)
+ linalg.append(spec["lapack"].libs.ld_flags)
+ linalg.append(spec["blas"].libs.ld_flags)
args = [
- "FCFLAGS=%s" % " ".join(openmp_flag),
- "--with-ext-linalg=%s" % " ".join(linalg),
- "--with-pyyaml-path=%s" % pyyaml,
- "--with-futile-libs=%s" % spec['bigdft-futile'].prefix.lib,
- "--with-futile-incs=%s" % spec['bigdft-futile'].headers.include_flags,
- "--with-psolver-libs=%s" % spec['bigdft-psolver'].prefix.lib,
- "--with-psolver-incs=%s" % spec['bigdft-psolver'].headers.include_flags,
- "--with-core-libs=%s" % spec['bigdft-core'].prefix.lib,
- "--with-core-incs=%s" % spec['bigdft-core'].headers.include_flags,
- "--with-moduledir=%s" % prefix.include,
- "--prefix=%s" % prefix,
+ "FCFLAGS=%s" % " ".join(openmp_flag),
+ "--with-ext-linalg=%s" % " ".join(linalg),
+ "--with-pyyaml-path=%s" % pyyaml,
+ "--with-futile-libs=%s" % spec["bigdft-futile"].prefix.lib,
+ "--with-futile-incs=%s" % spec["bigdft-futile"].headers.include_flags,
+ "--with-psolver-libs=%s" % spec["bigdft-psolver"].prefix.lib,
+ "--with-psolver-incs=%s" % spec["bigdft-psolver"].headers.include_flags,
+ "--with-core-libs=%s" % spec["bigdft-core"].prefix.lib,
+ "--with-core-incs=%s" % spec["bigdft-core"].headers.include_flags,
+ "--with-moduledir=%s" % prefix.include,
+ "--prefix=%s" % prefix,
]
- if '+mpi' in spec:
- args.append("CC=%s" % spec['mpi'].mpicc)
- args.append("CXX=%s" % spec['mpi'].mpicxx)
- args.append("FC=%s" % spec['mpi'].mpifc)
- args.append("F90=%s" % spec['mpi'].mpifc)
- args.append("F77=%s" % spec['mpi'].mpif77)
+ if "+mpi" in spec:
+ args.append("CC=%s" % spec["mpi"].mpicc)
+ args.append("CXX=%s" % spec["mpi"].mpicxx)
+ args.append("FC=%s" % spec["mpi"].mpifc)
+ args.append("F90=%s" % spec["mpi"].mpifc)
+ args.append("F77=%s" % spec["mpi"].mpif77)
else:
args.append("--disable-mpi")
- if '+openmp' in spec:
+ if "+openmp" in spec:
args.append("--with-openmp")
else:
args.append("--without-openmp")
@@ -100,6 +99,4 @@ class BigdftSpred(AutotoolsPackage):
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libspred-*', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libspred-*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/bigdft-suite/package.py b/var/spack/repos/builtin/packages/bigdft-suite/package.py
index 0b44a55e46..5ef93b9427 100644
--- a/var/spack/repos/builtin/packages/bigdft-suite/package.py
+++ b/var/spack/repos/builtin/packages/bigdft-suite/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class BigdftSuite(BundlePackage):
"""BigDFT-suite: the complete suite of BigDFT for electronic structure calculation
- based on Daubechies wavelets."""
+ based on Daubechies wavelets."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
- version('1.8.3', sha256='f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909')
- version('1.8.2', sha256='042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61')
- version('1.8.1', sha256='e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3')
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+ version("1.8.3", sha256="f112bb08833da4d11dd0f14f7ab10d740b62bc924806d77c985eb04ae0629909")
+ version("1.8.2", sha256="042e5a3b478b1a4c050c450a9b1be7bcf8e13eacbce4759b7f2d79268b298d61")
+ version("1.8.1", sha256="e09ff0ba381f6ffbe6a3c0cb71db5b73117874beb41f22a982a7e5ba32d018b3")
- depends_on('python@:2.8', type=('run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('run'), when="@develop")
+ depends_on("python@:2.8", type=("run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("run"), when="@develop")
- for vers in ['1.8.1', '1.8.2', '1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-psolver@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-libabinit@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-chess@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-core@{0}'.format(vers), when='@{0}'.format(vers))
- depends_on('bigdft-spred@{0}'.format(vers), when='@{0}'.format(vers))
- for vers in ['1.8.3', '1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-atlab@{0}'.format(vers), when='@{0}'.format(vers))
- for vers in ['1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('py-bigdft@{0}'.format(vers), when='@{0}'.format(vers))
+ for vers in ["1.8.1", "1.8.2", "1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-psolver@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-libabinit@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-chess@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-core@{0}".format(vers), when="@{0}".format(vers))
+ depends_on("bigdft-spred@{0}".format(vers), when="@{0}".format(vers))
+ for vers in ["1.8.3", "1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-atlab@{0}".format(vers), when="@{0}".format(vers))
+ for vers in ["1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("py-bigdft@{0}".format(vers), when="@{0}".format(vers))
diff --git a/var/spack/repos/builtin/packages/bigreqsproto/package.py b/var/spack/repos/builtin/packages/bigreqsproto/package.py
index 45bb41c01d..699d9b88ad 100644
--- a/var/spack/repos/builtin/packages/bigreqsproto/package.py
+++ b/var/spack/repos/builtin/packages/bigreqsproto/package.py
@@ -15,7 +15,7 @@ class Bigreqsproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/bigreqsproto"
xorg_mirror_path = "proto/bigreqsproto-1.1.2.tar.gz"
- version('1.1.2', sha256='de68a1a9dd1a1219ad73531bff9f662bc62fcd777387549c43cd282399f4a6ea')
+ version("1.1.2", sha256="de68a1a9dd1a1219ad73531bff9f662bc62fcd777387549c43cd282399f4a6ea")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/bind9/package.py b/var/spack/repos/builtin/packages/bind9/package.py
index c507fa25b8..fc0272f10a 100644
--- a/var/spack/repos/builtin/packages/bind9/package.py
+++ b/var/spack/repos/builtin/packages/bind9/package.py
@@ -12,16 +12,19 @@ class Bind9(AutotoolsPackage):
"""
homepage = "https://github.com/isc-projects/bind9"
- url = "https://github.com/isc-projects/bind9/archive/v9_14_6.tar.gz"
+ url = "https://github.com/isc-projects/bind9/archive/v9_14_6.tar.gz"
- version('9_14_6', sha256='98be7a7b6d614b519f6c8d6ec7a8a39759ae9604d87228d9dc7c034471e5433e')
+ version("9_14_6", sha256="98be7a7b6d614b519f6c8d6ec7a8a39759ae9604d87228d9dc7c034471e5433e")
- depends_on('libuv', type='link')
- depends_on('pkgconfig', type='build')
- depends_on('openssl', type='link')
- depends_on('libiconv', type='link')
+ depends_on("libuv", type="link")
+ depends_on("pkgconfig", type="build")
+ depends_on("openssl", type="link")
+ depends_on("libiconv", type="link")
def configure_args(self):
- args = ["--without-python", "--disable-linux-caps",
- '--with-openssl={0}'.format(self.spec['openssl'].prefix)]
+ args = [
+ "--without-python",
+ "--disable-linux-caps",
+ "--with-openssl={0}".format(self.spec["openssl"].prefix),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py
index 7d7167442c..9ba963b019 100644
--- a/var/spack/repos/builtin/packages/binutils/package.py
+++ b/var/spack/repos/builtin/packages/binutils/package.py
@@ -13,71 +13,73 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/binutils/"
gnu_mirror_path = "binutils/binutils-2.28.tar.bz2"
- maintainers = ['alalazo']
-
- tags = ['build-tools', 'core-packages']
-
- executables = ['^nm$', '^readelf$']
-
- version('2.38', sha256='070ec71cf077a6a58e0b959f05a09a35015378c2d8a51e90f3aeabfe30590ef8')
- version('2.37', sha256='67fc1a4030d08ee877a4867d3dcab35828148f87e1fd05da6db585ed5a166bd4')
- version('2.36.1', sha256='5b4bd2e79e30ce8db0abd76dd2c2eae14a94ce212cfc59d3c37d23e24bc6d7a3')
- version('2.35.2', sha256='cfa7644dbecf4591e136eb407c1c1da16578bd2b03f0c2e8acdceba194bb9d61')
- version('2.35.1', sha256='320e7a1d0f46fcd9f413f1046e216cbe23bb2bce6deb6c6a63304425e48b1942')
- version('2.35', sha256='7d24660f87093670738e58bcc7b7b06f121c0fcb0ca8fc44368d675a5ef9cff7')
- version('2.34', sha256='89f010078b6cf69c23c27897d686055ab89b198dddf819efb0a4f2c38a0b36e6')
- version('2.33.1', sha256='0cb4843da15a65a953907c96bad658283f3c4419d6bcc56bf2789db16306adb2')
- version('2.32', sha256='de38b15c902eb2725eac6af21183a5f34ea4634cb0bcef19612b50e5ed31072d')
- version('2.31.1', sha256='ffcc382695bf947da6135e7436b8ed52d991cf270db897190f19d6f9838564d0')
- version('2.29.1', sha256='1509dff41369fb70aed23682351b663b56db894034773e6dbf7d5d6071fc55cc')
- version('2.28', sha256='6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72')
- version('2.27', sha256='369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88')
- version('2.26', sha256='c2ace41809542f5237afc7e3b8f32bb92bc7bc53c6232a84463c423b0714ecd9')
- version('2.25.1', sha256='b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22')
- version('2.25', sha256='22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923')
- version('2.24', sha256='e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137')
- version('2.23.2', sha256='fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097')
- version('2.20.1', sha256='71d37c96451333c5c0b84b170169fdcb138bbb27397dc06281905d9717c8ed64')
-
- variant('plugins', default=True,
- description="enable plugins, needed for gold linker")
- variant('gold', default=False,
- description="build the gold linker")
- variant('libiberty', default=False, description='Also install libiberty.')
- variant('nls', default=True, description='Enable Native Language Support')
- variant('headers', default=False, description='Install extra headers (e.g. ELF)')
- variant('lto', default=False, description='Enable lto.')
- variant('ld', default=False, description='Enable ld.')
- variant('gas', default=False, description='Enable as assembler.')
- variant('interwork', default=False, description='Enable interwork.')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
-
- patch('cr16.patch', when='@:2.29.1')
- patch('update_symbol-2.26.patch', when='@2.26')
+ maintainers = ["alalazo"]
+
+ tags = ["build-tools", "core-packages"]
+
+ executables = ["^nm$", "^readelf$"]
+
+ version("2.38", sha256="070ec71cf077a6a58e0b959f05a09a35015378c2d8a51e90f3aeabfe30590ef8")
+ version("2.37", sha256="67fc1a4030d08ee877a4867d3dcab35828148f87e1fd05da6db585ed5a166bd4")
+ version("2.36.1", sha256="5b4bd2e79e30ce8db0abd76dd2c2eae14a94ce212cfc59d3c37d23e24bc6d7a3")
+ version("2.35.2", sha256="cfa7644dbecf4591e136eb407c1c1da16578bd2b03f0c2e8acdceba194bb9d61")
+ version("2.35.1", sha256="320e7a1d0f46fcd9f413f1046e216cbe23bb2bce6deb6c6a63304425e48b1942")
+ version("2.35", sha256="7d24660f87093670738e58bcc7b7b06f121c0fcb0ca8fc44368d675a5ef9cff7")
+ version("2.34", sha256="89f010078b6cf69c23c27897d686055ab89b198dddf819efb0a4f2c38a0b36e6")
+ version("2.33.1", sha256="0cb4843da15a65a953907c96bad658283f3c4419d6bcc56bf2789db16306adb2")
+ version("2.32", sha256="de38b15c902eb2725eac6af21183a5f34ea4634cb0bcef19612b50e5ed31072d")
+ version("2.31.1", sha256="ffcc382695bf947da6135e7436b8ed52d991cf270db897190f19d6f9838564d0")
+ version("2.29.1", sha256="1509dff41369fb70aed23682351b663b56db894034773e6dbf7d5d6071fc55cc")
+ version("2.28", sha256="6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72")
+ version("2.27", sha256="369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88")
+ version("2.26", sha256="c2ace41809542f5237afc7e3b8f32bb92bc7bc53c6232a84463c423b0714ecd9")
+ version("2.25.1", sha256="b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22")
+ version("2.25", sha256="22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923")
+ version("2.24", sha256="e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137")
+ version("2.23.2", sha256="fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097")
+ version("2.20.1", sha256="71d37c96451333c5c0b84b170169fdcb138bbb27397dc06281905d9717c8ed64")
+
+ variant("plugins", default=True, description="enable plugins, needed for gold linker")
+ variant("gold", default=False, description="build the gold linker")
+ variant("libiberty", default=False, description="Also install libiberty.")
+ variant("nls", default=True, description="Enable Native Language Support")
+ variant("headers", default=False, description="Install extra headers (e.g. ELF)")
+ variant("lto", default=False, description="Enable lto.")
+ variant("ld", default=False, description="Enable ld.")
+ variant("gas", default=False, description="Enable as assembler.")
+ variant("interwork", default=False, description="Enable interwork.")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+
+ patch("cr16.patch", when="@:2.29.1")
+ patch("update_symbol-2.26.patch", when="@2.26")
# 2.36 is missing some dependencies, this patch allows a parallel build.
# https://sourceware.org/bugzilla/show_bug.cgi?id=27482
- patch('parallel-build-2.36.patch', when='@2.36')
+ patch("parallel-build-2.36.patch", when="@2.36")
- depends_on('zlib')
- depends_on('diffutils', type='build')
- depends_on('gettext', when='+nls')
+ depends_on("zlib")
+ depends_on("diffutils", type="build")
+ depends_on("gettext", when="+nls")
# Prior to 2.30, gold did not distribute the generated files and
# thus needs bison, even for a one-time build.
- depends_on('m4', type='build', when='@:2.29 +gold')
- depends_on('bison', type='build', when='@:2.29 +gold')
+ depends_on("m4", type="build", when="@:2.29 +gold")
+ depends_on("bison", type="build", when="@:2.29 +gold")
# 2.38 with +gas needs makeinfo due to a bug, see:
# https://sourceware.org/bugzilla/show_bug.cgi?id=28909
- depends_on('texinfo', type='build', when='@2.38 +gas')
+ depends_on("texinfo", type="build", when="@2.38 +gas")
# 2.34 needs makeinfo due to a bug, see:
# https://sourceware.org/bugzilla/show_bug.cgi?id=25491
- depends_on('texinfo', type='build', when='@2.34')
+ depends_on("texinfo", type="build", when="@2.34")
- conflicts('+gold', when='platform=darwin',
- msg="Binutils cannot build linkers on macOS")
+ conflicts("+gold", when="platform=darwin", msg="Binutils cannot build linkers on macOS")
# When you build binutils with ~ld and +gas and load it in your PATH, you
# may end up with incompatibilities between a potentially older system ld
@@ -85,77 +87,76 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage):
# binutils 2.26 and the assembler from binutils 2.36.1 will result in:
# "unable to initialize decompress status for section .debug_info"
# when compiling with debug symbols on gcc.
- conflicts('+gas', '~ld', msg="Assembler not always compatible with system ld")
+ conflicts("+gas", "~ld", msg="Assembler not always compatible with system ld")
# When you build ld.gold you automatically get ld, even when you add the
# --disable-ld flag
- conflicts('~ld', '+gold')
+ conflicts("~ld", "+gold")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU (nm|readelf).* (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU (nm|readelf).* (\S+)", output)
return Version(match.group(2)).dotted.up_to(3) if match else None
def setup_build_environment(self, env):
- if self.spec.satisfies('%cce'):
- env.append_flags('LDFLAGS', '-Wl,-z,muldefs')
+ if self.spec.satisfies("%cce"):
+ env.append_flags("LDFLAGS", "-Wl,-z,muldefs")
- if '+nls' in self.spec:
- env.append_flags('LDFLAGS', '-lintl')
+ if "+nls" in self.spec:
+ env.append_flags("LDFLAGS", "-lintl")
def configure_args(self):
spec = self.spec
args = [
- '--disable-dependency-tracking',
- '--disable-werror',
- '--enable-multilib',
- '--enable-64-bit-bfd',
- '--enable-targets=all',
- '--with-system-zlib',
- '--with-sysroot=/',
+ "--disable-dependency-tracking",
+ "--disable-werror",
+ "--enable-multilib",
+ "--enable-64-bit-bfd",
+ "--enable-targets=all",
+ "--with-system-zlib",
+ "--with-sysroot=/",
]
- args += self.enable_or_disable('libs')
- args += self.enable_or_disable('lto')
- args += self.enable_or_disable('ld')
- args += self.enable_or_disable('gas')
- args += self.enable_or_disable('interwork')
- args += self.enable_or_disable('gold')
- args += self.enable_or_disable('plugins')
+ args += self.enable_or_disable("libs")
+ args += self.enable_or_disable("lto")
+ args += self.enable_or_disable("ld")
+ args += self.enable_or_disable("gas")
+ args += self.enable_or_disable("interwork")
+ args += self.enable_or_disable("gold")
+ args += self.enable_or_disable("plugins")
- if '+libiberty' in spec:
- args.append('--enable-install-libiberty')
+ if "+libiberty" in spec:
+ args.append("--enable-install-libiberty")
else:
- args.append('--disable-install-libiberty')
+ args.append("--disable-install-libiberty")
- if '+nls' in spec:
- args.append('--enable-nls')
+ if "+nls" in spec:
+ args.append("--enable-nls")
else:
- args.append('--disable-nls')
+ args.append("--disable-nls")
# To avoid namespace collisions with Darwin/BSD system tools,
# prefix executables with "g", e.g., gar, gnm; see Homebrew
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/binutils.rb
- if spec.satisfies('platform=darwin'):
- args.append('--program-prefix=g')
+ if spec.satisfies("platform=darwin"):
+ args.append("--program-prefix=g")
return args
- @run_after('install')
+ @run_after("install")
def install_headers(self):
# some packages (like TAU) need the ELF headers, so install them
# as a subdirectory in include/extras
- if '+headers' in self.spec:
- extradir = join_path(self.prefix.include, 'extra')
+ if "+headers" in self.spec:
+ extradir = join_path(self.prefix.include, "extra")
mkdirp(extradir)
# grab the full binutils set of headers
- install_tree('include', extradir)
+ install_tree("include", extradir)
# also grab the headers from the bfd directory
- install(join_path(self.build_directory, 'bfd', '*.h'),
- extradir)
+ install(join_path(self.build_directory, "bfd", "*.h"), extradir)
def flag_handler(self, name, flags):
spec = self.spec
@@ -164,43 +165,42 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage):
iflags = []
# To ignore the errors of narrowing conversions for
# the Fujitsu compiler
- if name == 'cxxflags' and (
- spec.satisfies('@:2.31.1') and
- self.compiler.name in ('fj', 'clang', 'apple-clang')
+ if name == "cxxflags" and (
+ spec.satisfies("@:2.31.1") and self.compiler.name in ("fj", "clang", "apple-clang")
):
- iflags.append('-Wno-narrowing')
- elif name == 'cflags':
- if spec.satisfies('@:2.34 %gcc@10:'):
- iflags.append('-fcommon')
- if spec.satisfies('%cce') or spec.satisfies('@2.38 %gcc'):
- iflags.extend([self.compiler.cc_pic_flag, '-fcommon'])
- elif name == 'ldflags':
- if spec.satisfies('%cce') or spec.satisfies('@2.38 %gcc'):
- iflags.append('-Wl,-z,notext')
+ iflags.append("-Wno-narrowing")
+ elif name == "cflags":
+ if spec.satisfies("@:2.34 %gcc@10:"):
+ iflags.append("-fcommon")
+ if spec.satisfies("%cce") or spec.satisfies("@2.38 %gcc"):
+ iflags.extend([self.compiler.cc_pic_flag, "-fcommon"])
+ elif name == "ldflags":
+ if spec.satisfies("%cce") or spec.satisfies("@2.38 %gcc"):
+ iflags.append("-Wl,-z,notext")
return (iflags, None, flags)
def test(self):
spec_vers = str(self.spec.version)
checks = {
- 'ar': spec_vers,
- 'c++filt': spec_vers,
- 'coffdump': spec_vers,
- 'dlltool': spec_vers,
- 'elfedit': spec_vers,
- 'gprof': spec_vers,
- 'ld': spec_vers,
- 'nm': spec_vers,
- 'objdump': spec_vers,
- 'ranlib': spec_vers,
- 'readelf': spec_vers,
- 'size': spec_vers,
- 'strings': spec_vers,
+ "ar": spec_vers,
+ "c++filt": spec_vers,
+ "coffdump": spec_vers,
+ "dlltool": spec_vers,
+ "elfedit": spec_vers,
+ "gprof": spec_vers,
+ "ld": spec_vers,
+ "nm": spec_vers,
+ "objdump": spec_vers,
+ "ranlib": spec_vers,
+ "readelf": spec_vers,
+ "size": spec_vers,
+ "strings": spec_vers,
}
for exe in checks:
expected = checks[exe]
- reason = 'test: ensuring version of {0} is {1}' \
- .format(exe, expected)
- self.run_test(exe, '--version', expected, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test: ensuring version of {0} is {1}".format(exe, expected)
+ self.run_test(
+ exe, "--version", expected, installed=True, purpose=reason, skip_missing=True
+ )
diff --git a/var/spack/repos/builtin/packages/bioawk/package.py b/var/spack/repos/builtin/packages/bioawk/package.py
index 373e6a2d1c..6e4f67d6a0 100644
--- a/var/spack/repos/builtin/packages/bioawk/package.py
+++ b/var/spack/repos/builtin/packages/bioawk/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Bioawk(MakefilePackage):
"""Bioawk is an extension to Brian Kernighan's awk, adding the support of
- several common biological data formats, including optionally gzip'ed
- BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names.
+ several common biological data formats, including optionally gzip'ed
+ BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names.
"""
homepage = "https://github.com/lh3/bioawk"
url = "https://github.com/lh3/bioawk/archive/v1.0.zip"
- version('1.0', sha256='316a6561dda41e8327b85106db3704e94e23d7a89870392d19ef8559f7859e2d')
+ version("1.0", sha256="316a6561dda41e8327b85106db3704e94e23d7a89870392d19ef8559f7859e2d")
- depends_on('zlib')
- depends_on('bison', type=('build'))
+ depends_on("zlib")
+ depends_on("bison", type=("build"))
parallel = False
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bioawk', prefix.bin)
- install('maketab', prefix.bin)
+ install("bioawk", prefix.bin)
+ install("maketab", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/biobambam2/package.py b/var/spack/repos/builtin/packages/biobambam2/package.py
index 2566771889..3d52326b95 100644
--- a/var/spack/repos/builtin/packages/biobambam2/package.py
+++ b/var/spack/repos/builtin/packages/biobambam2/package.py
@@ -10,29 +10,32 @@ class Biobambam2(AutotoolsPackage):
"""Tools for early stage alignment file processing"""
homepage = "https://gitlab.com/german.tischler/biobambam2"
- url = "https://gitlab.com/german.tischler/biobambam2/-/archive/2.0.177-release-20201112105453/biobambam2-2.0.177-release-20201112105453.tar.gz"
+ url = "https://gitlab.com/german.tischler/biobambam2/-/archive/2.0.177-release-20201112105453/biobambam2-2.0.177-release-20201112105453.tar.gz"
- version('2.0.177', sha256='ad0a418fb49a31996a105a1a275c0d1dfc8b84aa91d48fa1efb6ff4fe1e74181',
- url='https://gitlab.com/german.tischler/biobambam2/-/archive/2.0.177-release-20201112105453/biobambam2-2.0.177-release-20201112105453.tar.gz')
+ version(
+ "2.0.177",
+ sha256="ad0a418fb49a31996a105a1a275c0d1dfc8b84aa91d48fa1efb6ff4fe1e74181",
+ url="https://gitlab.com/german.tischler/biobambam2/-/archive/2.0.177-release-20201112105453/biobambam2-2.0.177-release-20201112105453.tar.gz",
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libmaus2')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libmaus2")
- test_src_dir = 'test'
+ test_src_dir = "test"
def configure_args(self):
- args = ['--with-libmaus2={0}'.format(self.spec['libmaus2'].prefix)]
+ args = ["--with-libmaus2={0}".format(self.spec["libmaus2"].prefix)]
return args
def _fix_shortsort(self):
"""Fix the testshortsort.sh file copied during installation."""
test_dir = join_path(self.install_test_root, self.test_src_dir)
- filter_file('../src/', '', join_path(test_dir, 'testshortsort.sh'))
+ filter_file("../src/", "", join_path(test_dir, "testshortsort.sh"))
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Copy the test source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -41,9 +44,11 @@ class Biobambam2(AutotoolsPackage):
def test(self):
"""Perform stand-alone/smoke test on installed package."""
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- self.test_src_dir)
- self.run_test('sh', ['testshortsort.sh'],
- expected='Alignments sorted by coordinate.',
- purpose='test: checking alignments',
- work_dir=test_dir)
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir)
+ self.run_test(
+ "sh",
+ ["testshortsort.sh"],
+ expected="Alignments sorted by coordinate.",
+ purpose="test: checking alignments",
+ work_dir=test_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/biobloom/package.py b/var/spack/repos/builtin/packages/biobloom/package.py
index 460c8e89f0..d68c71b165 100644
--- a/var/spack/repos/builtin/packages/biobloom/package.py
+++ b/var/spack/repos/builtin/packages/biobloom/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Biobloom(AutotoolsPackage):
"""BioBloom Tools (BBT) provides the means to create filters for a given
- reference and then to categorize sequences."""
+ reference and then to categorize sequences."""
homepage = "https://github.com/bcgsc/biobloom"
- url = "https://github.com/bcgsc/biobloom/releases/download/2.2.0/biobloomtools-2.2.0.tar.gz"
+ url = "https://github.com/bcgsc/biobloom/releases/download/2.2.0/biobloomtools-2.2.0.tar.gz"
- version('2.2.0', sha256='5d09f8690f0b6402f967ac09c5b0f769961f3fe3791000f8f73af6af7324f02c')
+ version("2.2.0", sha256="5d09f8690f0b6402f967ac09c5b0f769961f3fe3791000f8f73af6af7324f02c")
- depends_on('boost+exception+math+serialization+container')
- depends_on('sdsl-lite')
- depends_on('sparsehash')
- depends_on('zlib')
+ depends_on("boost+exception+math+serialization+container")
+ depends_on("sdsl-lite")
+ depends_on("sparsehash")
+ depends_on("zlib")
def configure_args(self):
# newer versions of sdsl-lite introduce tolerable warnings
# they must disabled to allow the build to continue
- return ['CXXFLAGS=-w', 'CPPFLAGS=-w']
+ return ["CXXFLAGS=-w", "CPPFLAGS=-w"]
diff --git a/var/spack/repos/builtin/packages/biopieces/package.py b/var/spack/repos/builtin/packages/biopieces/package.py
index a28e58c5cf..3a3eadd65e 100644
--- a/var/spack/repos/builtin/packages/biopieces/package.py
+++ b/var/spack/repos/builtin/packages/biopieces/package.py
@@ -8,58 +8,57 @@ from spack.package import *
class Biopieces(Package):
"""The Biopieces are a collection of bioinformatics tools that can be
- pieced together in a very easy and flexible manner to perform both
- simple and complex tasks."""
+ pieced together in a very easy and flexible manner to perform both
+ simple and complex tasks."""
homepage = "https://maasha.github.io/biopieces/"
- git = "https://github.com/maasha/biopieces.git"
+ git = "https://github.com/maasha/biopieces.git"
- version('2016-04-12', commit='982f80f7c55e2cae67737d80fe35a4e784762856',
- submodules=True)
+ version("2016-04-12", commit="982f80f7c55e2cae67737d80fe35a4e784762856", submodules=True)
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-module-build', type=('build', 'run'))
- depends_on('perl-bit-vector', type=('build', 'run'))
- depends_on('perl-svg', type=('build', 'run'))
- depends_on('perl-termreadkey', type=('build', 'run'))
- depends_on('perl-time-hires', type=('build', 'run'))
- depends_on('perl-dbi', type=('build', 'run'))
- depends_on('perl-xml-parser', type=('build', 'run'))
- depends_on('perl-carp-clan', type=('build', 'run'))
- depends_on('perl-class-inspector', type=('build', 'run'))
- depends_on('perl-html-parser', type=('build', 'run'))
- depends_on('perl-libwww-perl', type=('build', 'run'))
- depends_on('perl-soap-lite', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-inline', type=('build', 'run'))
- depends_on('perl-inline-c', type=('build', 'run'))
- depends_on('perl-parse-recdescent', type=('build', 'run'))
- depends_on('perl-perl-version', type=('build', 'run'))
- depends_on('perl-db-file', type=('build', 'run'))
- depends_on('perl-dbd-mysql', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-module-build", type=("build", "run"))
+ depends_on("perl-bit-vector", type=("build", "run"))
+ depends_on("perl-svg", type=("build", "run"))
+ depends_on("perl-termreadkey", type=("build", "run"))
+ depends_on("perl-time-hires", type=("build", "run"))
+ depends_on("perl-dbi", type=("build", "run"))
+ depends_on("perl-xml-parser", type=("build", "run"))
+ depends_on("perl-carp-clan", type=("build", "run"))
+ depends_on("perl-class-inspector", type=("build", "run"))
+ depends_on("perl-html-parser", type=("build", "run"))
+ depends_on("perl-libwww-perl", type=("build", "run"))
+ depends_on("perl-soap-lite", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-inline", type=("build", "run"))
+ depends_on("perl-inline-c", type=("build", "run"))
+ depends_on("perl-parse-recdescent", type=("build", "run"))
+ depends_on("perl-perl-version", type=("build", "run"))
+ depends_on("perl-db-file", type=("build", "run"))
+ depends_on("perl-dbd-mysql", type=("build", "run"))
- depends_on('ruby@1.9:')
- depends_on('ruby-gnuplot')
- depends_on('ruby-narray')
- depends_on('ruby-rubyinline')
- depends_on('ruby-terminal-table')
+ depends_on("ruby@1.9:")
+ depends_on("ruby-gnuplot")
+ depends_on("ruby-narray")
+ depends_on("ruby-rubyinline")
+ depends_on("ruby-terminal-table")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('blast-plus')
- depends_on('muscle')
- depends_on('mummer')
- depends_on('blat')
- depends_on('vmatch')
- depends_on('bowtie')
- depends_on('bwa')
- depends_on('usearch')
- depends_on('velvet')
- depends_on('idba')
- depends_on('ray')
- depends_on('scan-for-matches')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("blast-plus")
+ depends_on("muscle")
+ depends_on("mummer")
+ depends_on("blat")
+ depends_on("vmatch")
+ depends_on("bowtie")
+ depends_on("bwa")
+ depends_on("usearch")
+ depends_on("velvet")
+ depends_on("idba")
+ depends_on("ray")
+ depends_on("scan-for-matches")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
# Note: user will need to set environment variables on their own,
@@ -67,4 +66,4 @@ class Biopieces(Package):
# BP_DATA - Contains genomic data etc.
# BP_TMP - Required temporary directory
# BP_LOG - Required log directory
- env.prepend_path('BP_DIR', self.prefix)
+ env.prepend_path("BP_DIR", self.prefix)
diff --git a/var/spack/repos/builtin/packages/bird/package.py b/var/spack/repos/builtin/packages/bird/package.py
index ff076a76f6..065b28bf53 100644
--- a/var/spack/repos/builtin/packages/bird/package.py
+++ b/var/spack/repos/builtin/packages/bird/package.py
@@ -14,16 +14,16 @@ class Bird(AutotoolsPackage):
systems and distributed under the GNU General Public License."""
homepage = "https://bird.network.cz/"
- url = "https://github.com/BIRD/bird/archive/v2.0.2.tar.gz"
+ url = "https://github.com/BIRD/bird/archive/v2.0.2.tar.gz"
- version('2.0.2', sha256='bd42d48fbcc2c0046d544f1183cd98193ff15b792d332ff45f386b0180b09335')
- version('2.0.1', sha256='cd6ea4a39ca97ad16d364bf80f919f0e75eba02dd7fe46be40f55d78d022244a')
+ version("2.0.2", sha256="bd42d48fbcc2c0046d544f1183cd98193ff15b792d332ff45f386b0180b09335")
+ version("2.0.1", sha256="cd6ea4a39ca97ad16d364bf80f919f0e75eba02dd7fe46be40f55d78d022244a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('ncurses')
- depends_on('readline')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("ncurses")
+ depends_on("readline")
diff --git a/var/spack/repos/builtin/packages/bismark/package.py b/var/spack/repos/builtin/packages/bismark/package.py
index dd44817a21..66b4bdeb86 100644
--- a/var/spack/repos/builtin/packages/bismark/package.py
+++ b/var/spack/repos/builtin/packages/bismark/package.py
@@ -11,26 +11,26 @@ class Bismark(Package):
methylation states"""
homepage = "https://www.bioinformatics.babraham.ac.uk/projects/bismark"
- url = "https://github.com/FelixKrueger/Bismark/archive/0.23.0.tar.gz"
+ url = "https://github.com/FelixKrueger/Bismark/archive/0.23.0.tar.gz"
- version('0.23.0', sha256='ea1625808487c1442dbf825d9cbe5c0cbc37ea5bd1460f59e1e0ccc80cc01c9e')
- version('0.19.0', sha256='91707737f96a0574956a282b635abad7560e7d90bee188a67a7807b2470deae2')
- version('0.18.2', sha256='83391c5b5af33047178e7774ac25f5a69ce9315c13ae02f016baf7c50b73e702')
+ version("0.23.0", sha256="ea1625808487c1442dbf825d9cbe5c0cbc37ea5bd1460f59e1e0ccc80cc01c9e")
+ version("0.19.0", sha256="91707737f96a0574956a282b635abad7560e7d90bee188a67a7807b2470deae2")
+ version("0.18.2", sha256="83391c5b5af33047178e7774ac25f5a69ce9315c13ae02f016baf7c50b73e702")
- depends_on('bowtie2', type='run')
- depends_on('perl', type='run')
- depends_on('samtools', type='run')
+ depends_on("bowtie2", type="run")
+ depends_on("perl", type="run")
+ depends_on("samtools", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bam2nuc', prefix.bin)
- install('bismark', prefix.bin)
- install('bismark_genome_preparation', prefix.bin)
- install('bismark_methylation_extractor', prefix.bin)
- install('bismark2bedGraph', prefix.bin)
- install('bismark2report', prefix.bin)
- install('bismark2summary', prefix.bin)
- install('coverage2cytosine', prefix.bin)
- install('deduplicate_bismark', prefix.bin)
- install('filter_non_conversion', prefix.bin)
- install('NOMe_filtering', prefix.bin)
+ install("bam2nuc", prefix.bin)
+ install("bismark", prefix.bin)
+ install("bismark_genome_preparation", prefix.bin)
+ install("bismark_methylation_extractor", prefix.bin)
+ install("bismark2bedGraph", prefix.bin)
+ install("bismark2report", prefix.bin)
+ install("bismark2summary", prefix.bin)
+ install("coverage2cytosine", prefix.bin)
+ install("deduplicate_bismark", prefix.bin)
+ install("filter_non_conversion", prefix.bin)
+ install("NOMe_filtering", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py
index 39fcae64a5..d940561be7 100644
--- a/var/spack/repos/builtin/packages/bison/package.py
+++ b/var/spack/repos/builtin/packages/bison/package.py
@@ -18,61 +18,60 @@ class Bison(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/bison/"
gnu_mirror_path = "bison/bison-3.6.4.tar.gz"
- tags = ['build-tools']
-
- executables = ['^bison$']
-
- version('3.8.2', sha256='06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb')
- version('3.8.1', sha256='ce318a47196155fb7c26912b513102f3d0e14757c2e495e34608757b61339c5c')
- version('3.8', sha256='d5d184d421aee15603939973a6b0f372f908edfb24c5bc740697497021ad9458')
- version('3.7.6', sha256='69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea')
- version('3.7.5', sha256='151cb5f12716e3fe93a27a317cd44878329659f275b342779bfaef4a526bbf70')
- version('3.7.4', sha256='fbabc7359ccd8b4b36d47bfe37ebbce44805c052526d5558b95eda125d1677e2')
- version('3.7.3', sha256='104fe912f2212ab4e4a59df888a93b719a046ffc38d178e943f6c54b1f27b3c7')
- version('3.7.2', sha256='415cd91044517bbfd8d135dea24e054501db238a5515edd9cdbb795ba3e82a84')
- version('3.7.1', sha256='1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13')
- version('3.7', sha256='492ad61202de893ca21a99b621d63fa5389da58804ad79d3f226b8d04b803998')
- version('3.6.4', sha256='8183de64b5383f3634942c7b151bf2577f74273b2731574cdda8a8f3a0ab13e9')
- version('3.6.3', sha256='4b4c4943931e811f1073006ce3d8ee022a02b11b501e9cbf4def3613b24a3e63')
- version('3.6.2', sha256='e28ed3aad934de2d1df68be209ac0b454f7b6d3c3d6d01126e5cd2cbadba089a')
- version('3.6.1', sha256='1120f8bfe2cc13e5e1e3f671dc41b1a535ca5a75a70d5b349c19da9d4389f74d')
- version('3.6', sha256='f630645e330bde5847266cc5c8194f0135ced75cced150358d9abe572b95f81c')
- version('3.5.3', sha256='34e201d963156618a0ea5bc87220f660a1e08403dd3c7c7903d4f38db3f40039')
- version('3.5.2', sha256='b4dbb6dd080f4db7f344f16506502973ca2b15f15c7dbbd1c1c278a456d094fa')
- version('3.5.1', sha256='4cef2322d96751be1c0d04f3e57adbb30e7fea83af9c00f98efa6e7509296f25')
- version('3.5', sha256='0b36200b9868ee289b78cefd1199496b02b76899bbb7e84ff1c0733a991313d1')
- version('3.4.2', sha256='ff3922af377d514eca302a6662d470e857bd1a591e96a2050500df5a9d59facf')
- version('3.4.1', sha256='7007fc89c216fbfaff5525359b02a7e5b612694df5168c74673f67055f015095')
- version('3.3.2', sha256='0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1')
- version('3.0.5', sha256='cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566')
- version('3.0.4', sha256='b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e')
- version('2.7', sha256='19bbe7374fd602f7a6654c131c21a15aebdc06cc89493e8ff250cb7f9ed0a831')
+ tags = ["build-tools"]
+
+ executables = ["^bison$"]
+
+ version("3.8.2", sha256="06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb")
+ version("3.8.1", sha256="ce318a47196155fb7c26912b513102f3d0e14757c2e495e34608757b61339c5c")
+ version("3.8", sha256="d5d184d421aee15603939973a6b0f372f908edfb24c5bc740697497021ad9458")
+ version("3.7.6", sha256="69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea")
+ version("3.7.5", sha256="151cb5f12716e3fe93a27a317cd44878329659f275b342779bfaef4a526bbf70")
+ version("3.7.4", sha256="fbabc7359ccd8b4b36d47bfe37ebbce44805c052526d5558b95eda125d1677e2")
+ version("3.7.3", sha256="104fe912f2212ab4e4a59df888a93b719a046ffc38d178e943f6c54b1f27b3c7")
+ version("3.7.2", sha256="415cd91044517bbfd8d135dea24e054501db238a5515edd9cdbb795ba3e82a84")
+ version("3.7.1", sha256="1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13")
+ version("3.7", sha256="492ad61202de893ca21a99b621d63fa5389da58804ad79d3f226b8d04b803998")
+ version("3.6.4", sha256="8183de64b5383f3634942c7b151bf2577f74273b2731574cdda8a8f3a0ab13e9")
+ version("3.6.3", sha256="4b4c4943931e811f1073006ce3d8ee022a02b11b501e9cbf4def3613b24a3e63")
+ version("3.6.2", sha256="e28ed3aad934de2d1df68be209ac0b454f7b6d3c3d6d01126e5cd2cbadba089a")
+ version("3.6.1", sha256="1120f8bfe2cc13e5e1e3f671dc41b1a535ca5a75a70d5b349c19da9d4389f74d")
+ version("3.6", sha256="f630645e330bde5847266cc5c8194f0135ced75cced150358d9abe572b95f81c")
+ version("3.5.3", sha256="34e201d963156618a0ea5bc87220f660a1e08403dd3c7c7903d4f38db3f40039")
+ version("3.5.2", sha256="b4dbb6dd080f4db7f344f16506502973ca2b15f15c7dbbd1c1c278a456d094fa")
+ version("3.5.1", sha256="4cef2322d96751be1c0d04f3e57adbb30e7fea83af9c00f98efa6e7509296f25")
+ version("3.5", sha256="0b36200b9868ee289b78cefd1199496b02b76899bbb7e84ff1c0733a991313d1")
+ version("3.4.2", sha256="ff3922af377d514eca302a6662d470e857bd1a591e96a2050500df5a9d59facf")
+ version("3.4.1", sha256="7007fc89c216fbfaff5525359b02a7e5b612694df5168c74673f67055f015095")
+ version("3.3.2", sha256="0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1")
+ version("3.0.5", sha256="cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566")
+ version("3.0.4", sha256="b67fd2daae7a64b5ba862c66c07c1addb9e6b1b05c5f2049392cfd8a2172952e")
+ version("2.7", sha256="19bbe7374fd602f7a6654c131c21a15aebdc06cc89493e8ff250cb7f9ed0a831")
# https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00008.html
- patch('parallel.patch', when='@3.4.2')
+ patch("parallel.patch", when="@3.4.2")
- provides('yacc')
+ provides("yacc")
- depends_on('diffutils', type='build')
- depends_on('m4', type=('build', 'run'))
- depends_on('perl', type='build')
+ depends_on("diffutils", type="build")
+ depends_on("m4", type=("build", "run"))
+ depends_on("perl", type="build")
- patch('pgi.patch', when='@3.0.4')
+ patch("pgi.patch", when="@3.0.4")
# The NVIDIA compilers do not currently support some GNU builtins.
# Detect this case and use the fallback path.
- patch('nvhpc-3.6.patch', when='@3.6.0:3.6 %nvhpc')
- patch('nvhpc-3.7.patch', when='@3.7.0:3.7 %nvhpc')
+ patch("nvhpc-3.6.patch", when="@3.6.0:3.6 %nvhpc")
+ patch("nvhpc-3.7.patch", when="@3.7.0:3.7 %nvhpc")
- conflicts('%intel@:14', when='@3.4.2:',
- msg="Intel 14 has immature C11 support")
+ conflicts("%intel@:14", when="@3.4.2:", msg="Intel 14 has immature C11 support")
- if sys.platform == 'darwin' and macos_version() >= Version('10.13'):
- patch('secure_snprintf.patch', level=0, when='@3.0.4')
+ if sys.platform == "darwin" and macos_version() >= Version("10.13"):
+ patch("secure_snprintf.patch", level=0, when="@3.0.4")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'bison \(GNU Bison\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"bison \(GNU Bison\)\s+(\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/bitlbee/package.py b/var/spack/repos/builtin/packages/bitlbee/package.py
index c2f07853fd..211703e758 100644
--- a/var/spack/repos/builtin/packages/bitlbee/package.py
+++ b/var/spack/repos/builtin/packages/bitlbee/package.py
@@ -10,12 +10,12 @@ class Bitlbee(AutotoolsPackage):
"""An IRC to other chat networks gateway."""
homepage = "https://www.bitlbee.org/"
- url = "https://github.com/bitlbee/bitlbee/archive/3.5.1.tar.gz"
+ url = "https://github.com/bitlbee/bitlbee/archive/3.5.1.tar.gz"
- version('3.6-1', sha256='81c6357fe08a8941221472e3790e2b351e3a8a41f9af0cf35395fdadbc8ac6cb')
- version('3.6', sha256='6ec3a1054eaa98eaaabe6159cb4912cfd6286f71adcfa970419b273b38fdfe0c')
- version('3.5-2', sha256='cdcf3ed829d1905b73687b6aa189bbfaf9194f886d9fc7156646827dc0384fdb')
+ version("3.6-1", sha256="81c6357fe08a8941221472e3790e2b351e3a8a41f9af0cf35395fdadbc8ac6cb")
+ version("3.6", sha256="6ec3a1054eaa98eaaabe6159cb4912cfd6286f71adcfa970419b273b38fdfe0c")
+ version("3.5-2", sha256="cdcf3ed829d1905b73687b6aa189bbfaf9194f886d9fc7156646827dc0384fdb")
- depends_on('glib')
- depends_on('gnutls')
- depends_on('libgcrypt')
+ depends_on("glib")
+ depends_on("gnutls")
+ depends_on("libgcrypt")
diff --git a/var/spack/repos/builtin/packages/bitmap/package.py b/var/spack/repos/builtin/packages/bitmap/package.py
index 28fa34500d..1fb6b38ae1 100644
--- a/var/spack/repos/builtin/packages/bitmap/package.py
+++ b/var/spack/repos/builtin/packages/bitmap/package.py
@@ -12,15 +12,15 @@ class Bitmap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/bitmap"
xorg_mirror_path = "app/bitmap-1.0.8.tar.gz"
- version('1.0.8', sha256='1a2fbd10a2ca5cd93f7b77bbb0555b86d8b35e0fc18d036b1607c761755006fc')
+ version("1.0.8", sha256="1a2fbd10a2ca5cd93f7b77bbb0555b86d8b35e0fc18d036b1607c761755006fc")
- depends_on('libx11')
- depends_on('libxmu')
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
+ depends_on("libx11")
+ depends_on("libxmu")
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
- depends_on('xbitmaps')
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xbitmaps")
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/bitsery/package.py b/var/spack/repos/builtin/packages/bitsery/package.py
index 8c55ecec87..f6609e4a64 100644
--- a/var/spack/repos/builtin/packages/bitsery/package.py
+++ b/var/spack/repos/builtin/packages/bitsery/package.py
@@ -11,6 +11,6 @@ class Bitsery(CMakePackage):
games."""
homepage = "https://github.com/fraillt/bitsery"
- url = "https://github.com/fraillt/bitsery/archive/v5.1.0.tar.gz"
+ url = "https://github.com/fraillt/bitsery/archive/v5.1.0.tar.gz"
- version('5.1.0', sha256='8f46667db5d0b62fdaab33612108498bcbcbe9cfa48d2cd220b2129734440a8d')
+ version("5.1.0", sha256="8f46667db5d0b62fdaab33612108498bcbcbe9cfa48d2cd220b2129734440a8d")
diff --git a/var/spack/repos/builtin/packages/blackhat/package.py b/var/spack/repos/builtin/packages/blackhat/package.py
index fb9be30b69..5625e00289 100644
--- a/var/spack/repos/builtin/packages/blackhat/package.py
+++ b/var/spack/repos/builtin/packages/blackhat/package.py
@@ -10,22 +10,23 @@ class Blackhat(AutotoolsPackage):
"""Blackhat MC generator"""
homepage = "https://blackhat.hepforge.org"
- git = "https://github.com/cms-externals/blackhat.git"
+ git = "https://github.com/cms-externals/blackhat.git"
- version('0.9.9', branch='cms/v0.9.9')
+ version("0.9.9", branch="cms/v0.9.9")
- depends_on('qd')
- depends_on('python')
- extends('python')
+ depends_on("qd")
+ depends_on("python")
+ extends("python")
def patch(self):
- filter_file('else return Cached_OLHA_user_normal',
- 'else return new Cached_OLHA_user_normal',
- 'src/cached_OLHA.cpp')
+ filter_file(
+ "else return Cached_OLHA_user_normal",
+ "else return new Cached_OLHA_user_normal",
+ "src/cached_OLHA.cpp",
+ )
def configure_args(self):
- return ['--with-QDpath=' + self.spec['qd'].prefix,
- '--enable-pythoninterface=no']
+ return ["--with-QDpath=" + self.spec["qd"].prefix, "--enable-pythoninterface=no"]
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', '-Wno-deprecated')
+ env.append_flags("CXXFLAGS", "-Wno-deprecated")
diff --git a/var/spack/repos/builtin/packages/blaspp/package.py b/var/spack/repos/builtin/packages/blaspp/package.py
index a0fd3ffb63..403e7c0ded 100644
--- a/var/spack/repos/builtin/packages/blaspp/package.py
+++ b/var/spack/repos/builtin/packages/blaspp/package.py
@@ -10,68 +10,80 @@ from spack.package import *
class Blaspp(CMakePackage, CudaPackage, ROCmPackage):
"""C++ API for the Basic Linear Algebra Subroutines. Developed by the
- Innovative Computing Laboratory at the University of Tennessee,
- Knoxville."""
+ Innovative Computing Laboratory at the University of Tennessee,
+ Knoxville."""
- homepage = 'https://bitbucket.org/icl/blaspp'
+ homepage = "https://bitbucket.org/icl/blaspp"
git = homepage
- url = 'https://bitbucket.org/icl/blaspp/downloads/blaspp-2020.09.00.tar.gz'
- maintainers = ['teonnik', 'Sely85', 'G-Ragghianti', 'mgates3']
-
- version('master', branch='master')
- version('2022.05.00', sha256='696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e')
- version('2021.04.01', sha256='11fc7b7e725086532ada58c0de53f30e480c2a06f1497b8081ea6d8f97e26150')
- version('2020.10.02', sha256='36e45bb5a8793ba5d7bc7c34fc263f91f92b0946634682937041221a6bf1a150')
- version('2020.10.01', sha256='1a05dbc46caf797d59a7c189216b876fdb1b2ff3e2eb48f1e6ca4b2756c59153')
- version('2020.10.00', sha256='ce148cfe397428d507c72d7d9eba5e9d3f55ad4cd842e6e873c670183dcb7795')
-
- variant('openmp', default=True, description='Use OpenMP internally.')
- variant('shared', default=True, description='Build shared libraries')
-
- depends_on('cmake@3.15.0:', type='build')
- depends_on('blas')
- depends_on('llvm-openmp', when='%apple-clang +openmp')
- depends_on('rocblas', when='+rocm')
+ url = "https://bitbucket.org/icl/blaspp/downloads/blaspp-2020.09.00.tar.gz"
+ maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"]
+
+ version("master", branch="master")
+ version(
+ "2022.05.00", sha256="696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e"
+ )
+ version(
+ "2021.04.01", sha256="11fc7b7e725086532ada58c0de53f30e480c2a06f1497b8081ea6d8f97e26150"
+ )
+ version(
+ "2020.10.02", sha256="36e45bb5a8793ba5d7bc7c34fc263f91f92b0946634682937041221a6bf1a150"
+ )
+ version(
+ "2020.10.01", sha256="1a05dbc46caf797d59a7c189216b876fdb1b2ff3e2eb48f1e6ca4b2756c59153"
+ )
+ version(
+ "2020.10.00", sha256="ce148cfe397428d507c72d7d9eba5e9d3f55ad4cd842e6e873c670183dcb7795"
+ )
+
+ variant("openmp", default=True, description="Use OpenMP internally.")
+ variant("shared", default=True, description="Build shared libraries")
+
+ depends_on("cmake@3.15.0:", type="build")
+ depends_on("blas")
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
+ depends_on("rocblas", when="+rocm")
# only supported with clingo solver: virtual dependency preferences
# depends_on('openblas threads=openmp', when='+openmp ^openblas')
# BLAS++ tests will fail when using openblas > 0.3.5 without multithreading support
# locking is only supported in openblas 3.7+
- conflicts('^openblas@0.3.6 threads=none', msg='BLAS++ requires a threadsafe openblas')
- conflicts('^openblas@0.3.7: ~locking', msg='BLAS++ requires a threadsafe openblas')
+ conflicts("^openblas@0.3.6 threads=none", msg="BLAS++ requires a threadsafe openblas")
+ conflicts("^openblas@0.3.7: ~locking", msg="BLAS++ requires a threadsafe openblas")
- conflicts('+rocm', when='@:2020.10.02', msg='ROCm support requires BLAS++ 2021.04.00 or greater')
- conflicts('+rocm', when='+cuda', msg='BLAS++ can only support one GPU backend at a time')
+ conflicts(
+ "+rocm", when="@:2020.10.02", msg="ROCm support requires BLAS++ 2021.04.00 or greater"
+ )
+ conflicts("+rocm", when="+cuda", msg="BLAS++ can only support one GPU backend at a time")
def cmake_args(self):
spec = self.spec
- backend_config = '-Duse_cuda=%s' % ('+cuda' in spec)
- if self.version >= Version('2021.04.01'):
- backend = 'none'
- if '+cuda' in spec:
- backend = 'cuda'
- if '+rocm' in spec:
- backend = 'hip'
- backend_config = '-Dgpu_backend=%s' % backend
+ backend_config = "-Duse_cuda=%s" % ("+cuda" in spec)
+ if self.version >= Version("2021.04.01"):
+ backend = "none"
+ if "+cuda" in spec:
+ backend = "cuda"
+ if "+rocm" in spec:
+ backend = "hip"
+ backend_config = "-Dgpu_backend=%s" % backend
args = [
- '-Dbuild_tests=%s' % self.run_tests,
- '-Duse_openmp=%s' % ('+openmp' in spec),
- '-DBUILD_SHARED_LIBS=%s' % ('+shared' in spec),
+ "-Dbuild_tests=%s" % self.run_tests,
+ "-Duse_openmp=%s" % ("+openmp" in spec),
+ "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec),
backend_config,
- '-DBLAS_LIBRARIES=%s' % spec['blas'].libs.joined(';')
+ "-DBLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"),
]
- if spec['blas'].name == 'cray-libsci':
- args.append(self.define('BLA_VENDOR', 'CRAY'))
+ if spec["blas"].name == "cray-libsci":
+ args.append(self.define("BLA_VENDOR", "CRAY"))
return args
def check(self):
# If the tester fails to build, ensure that the check() fails.
- if os.path.isfile(join_path(self.build_directory, 'test', 'tester')):
+ if os.path.isfile(join_path(self.build_directory, "test", "tester")):
with working_dir(self.build_directory):
- make('check')
+ make("check")
else:
- raise Exception('The tester was not built!')
+ raise Exception("The tester was not built!")
diff --git a/var/spack/repos/builtin/packages/blasr-libcpp/package.py b/var/spack/repos/builtin/packages/blasr-libcpp/package.py
index bf7255f07d..b43919c9c8 100644
--- a/var/spack/repos/builtin/packages/blasr-libcpp/package.py
+++ b/var/spack/repos/builtin/packages/blasr-libcpp/package.py
@@ -14,49 +14,46 @@ class BlasrLibcpp(Package):
loadPulses for analyzing PacBio sequences."""
homepage = "https://github.com/PacificBiosciences/blasr_libcpp"
- url = "https://github.com/PacificBiosciences/blasr_libcpp/archive/5.3.1.tar.gz"
+ url = "https://github.com/PacificBiosciences/blasr_libcpp/archive/5.3.1.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('5.3.1', sha256='45a673255bfe7e29ed1f5bdb6410aa45cb6b907400d038c3da9daf1058b09156')
+ version("5.3.1", sha256="45a673255bfe7e29ed1f5bdb6410aa45cb6b907400d038c3da9daf1058b09156")
- depends_on('pbbam')
- depends_on('hdf5+cxx@1.8.12:1.8')
+ depends_on("pbbam")
+ depends_on("hdf5+cxx@1.8.12:1.8")
# maximum version is 1.8.20 currently. There doesn't appear to be a
# major version 1.9 and the 1.10.1 version doesn't build correctly.
# https://github.com/PacificBiosciences/blasr/issues/355
- depends_on('python@2.7:2.8', type='build')
+ depends_on("python@2.7:2.8", type="build")
- @run_before('install')
+ @run_before("install")
def configure(self, spec, prefix):
configure_args = [
- 'PBBAM_INC={0}'.format(self.spec['pbbam'].prefix.include),
- 'PBBAM_LIB={0}'.format(self.spec['pbbam'].prefix.lib),
- 'HDF5_INC={0}'.format(self.spec['hdf5'].prefix.include),
- 'HDF5_LIB={0}'.format(self.spec['hdf5'].prefix.lib)
+ "PBBAM_INC={0}".format(self.spec["pbbam"].prefix.include),
+ "PBBAM_LIB={0}".format(self.spec["pbbam"].prefix.lib),
+ "HDF5_INC={0}".format(self.spec["hdf5"].prefix.include),
+ "HDF5_LIB={0}".format(self.spec["hdf5"].prefix.lib),
]
- python('configure.py', *configure_args)
+ python("configure.py", *configure_args)
- @run_before('install')
+ @run_before("install")
def build(self, spec, prefix):
- os.environ['CPLUS_INCLUDE_PATH'] = self.stage.source_path
+ os.environ["CPLUS_INCLUDE_PATH"] = self.stage.source_path
make()
def install(self, spec, prefix):
- install_tree('alignment', prefix.alignment)
- install_tree('hdf', prefix.hdf)
- install_tree('pbdata', prefix.pbdata)
+ install_tree("alignment", prefix.alignment)
+ install_tree("hdf", prefix.hdf)
+ install_tree("pbdata", prefix.pbdata)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.hdf)
- env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.alignment)
- env.prepend_path('LD_LIBRARY_PATH', self.spec.prefix.pbdata)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec.prefix.hdf)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec.prefix.alignment)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec.prefix.pbdata)
def setup_run_environment(self, env):
- env.prepend_path('LD_LIBRARY_PATH',
- self.spec['blasr-libcpp'].prefix.pbdata)
- env.prepend_path('LD_LIBRARY_PATH',
- self.spec['blasr-libcpp'].prefix.alignment)
- env.prepend_path('LD_LIBRARY_PATH',
- self.spec['blasr-libcpp'].prefix.hdf)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["blasr-libcpp"].prefix.pbdata)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["blasr-libcpp"].prefix.alignment)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["blasr-libcpp"].prefix.hdf)
diff --git a/var/spack/repos/builtin/packages/blasr/package.py b/var/spack/repos/builtin/packages/blasr/package.py
index bc3ae0933f..79ae59cd55 100644
--- a/var/spack/repos/builtin/packages/blasr/package.py
+++ b/var/spack/repos/builtin/packages/blasr/package.py
@@ -13,71 +13,66 @@ class Blasr(Package):
"""The PacBio long read aligner."""
homepage = "https://github.com/PacificBiosciences/blasr/wiki"
- url = "https://github.com/PacificBiosciences/blasr/archive/5.3.1.tar.gz"
+ url = "https://github.com/PacificBiosciences/blasr/archive/5.3.1.tar.gz"
- version('5.3.1', sha256='ff7da5a03096294572e6c64340354da5c5ee1c86c277e7b899f2c170c1ac4049')
+ version("5.3.1", sha256="ff7da5a03096294572e6c64340354da5c5ee1c86c277e7b899f2c170c1ac4049")
- depends_on('ncurses')
- depends_on('hdf5+cxx@1.8.12:1.8')
- depends_on('htslib')
- depends_on('zlib')
+ depends_on("ncurses")
+ depends_on("hdf5+cxx@1.8.12:1.8")
+ depends_on("htslib")
+ depends_on("zlib")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('pbbam')
- depends_on('blasr-libcpp')
- depends_on('python', type='build')
+ depends_on("pbbam")
+ depends_on("blasr-libcpp")
+ depends_on("python", type="build")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix)
- env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.pbdata)
- env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.alignment)
- env.prepend_path('CPATH', self.spec['blasr-libcpp'].prefix.hdf)
+ env.prepend_path("CPATH", self.spec["blasr-libcpp"].prefix)
+ env.prepend_path("CPATH", self.spec["blasr-libcpp"].prefix.pbdata)
+ env.prepend_path("CPATH", self.spec["blasr-libcpp"].prefix.alignment)
+ env.prepend_path("CPATH", self.spec["blasr-libcpp"].prefix.hdf)
# hdf has +mpi by default, so handle that possibility
- if ('+mpi' in self.spec['hdf5']):
- env.set('CC', self.spec['mpi'].mpicc)
- env.set('CXX', self.spec['mpi'].mpicxx)
+ if "+mpi" in self.spec["hdf5"]:
+ env.set("CC", self.spec["mpi"].mpicc)
+ env.set("CXX", self.spec["mpi"].mpicxx)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix.utils)
+ env.prepend_path("PATH", self.spec.prefix.utils)
- @run_before('install')
+ @run_before("install")
def configure(self, spec, prefix):
configure_args = [
- 'LIBPBDATA_INC={0}'.format(
- self.spec['blasr-libcpp'].prefix),
- 'LIBPBDATA_LIB={0}'.format(
- self.spec['blasr-libcpp'].prefix.pbdata),
- 'LIBBLASR_LIB={0}'.format(
- self.spec['blasr-libcpp'].prefix.alignment),
- 'LIBBLASR_INC={0}'.format(
- self.spec['blasr-libcpp'].prefix),
- 'LIBPBIHDF_INC={0}'.format(self.spec['blasr-libcpp'].prefix),
- 'LIBPBIHDF_LIB={0}'.format(self.spec['blasr-libcpp'].prefix.hdf),
- 'HDF5_INC={0}'.format(self.spec['hdf5'].prefix.include),
- 'HDF5_LIB={0}'.format(self.spec['hdf5'].prefix.lib),
- '--shared'
+ "LIBPBDATA_INC={0}".format(self.spec["blasr-libcpp"].prefix),
+ "LIBPBDATA_LIB={0}".format(self.spec["blasr-libcpp"].prefix.pbdata),
+ "LIBBLASR_LIB={0}".format(self.spec["blasr-libcpp"].prefix.alignment),
+ "LIBBLASR_INC={0}".format(self.spec["blasr-libcpp"].prefix),
+ "LIBPBIHDF_INC={0}".format(self.spec["blasr-libcpp"].prefix),
+ "LIBPBIHDF_LIB={0}".format(self.spec["blasr-libcpp"].prefix.hdf),
+ "HDF5_INC={0}".format(self.spec["hdf5"].prefix.include),
+ "HDF5_LIB={0}".format(self.spec["hdf5"].prefix.lib),
+ "--shared",
]
- python('configure.py', *configure_args)
+ python("configure.py", *configure_args)
- @run_before('install')
+ @run_before("install")
def build(self, spec, prefix):
- os.environ['CPLUS_INCLUDE_PATH'] = join_path(
- self.stage.source_path, 'include')
+ os.environ["CPLUS_INCLUDE_PATH"] = join_path(self.stage.source_path, "include")
make()
def install(self, spec, prefix):
mkdir(prefix.utils)
mkdir(prefix.bin)
- install('blasr', prefix.bin.blasr)
- install('utils/loadPulses', prefix.utils)
- install('utils/pls2fasta', prefix.utils)
- install('utils/samFilter', prefix.utils)
- install('utils/samtoh5', prefix.utils)
- install('utils/samtom4', prefix.utils)
- install('utils/sawriter', prefix.utils)
- install('utils/sdpMatcher', prefix.utils)
- install('utils/toAfg', prefix.utils)
+ install("blasr", prefix.bin.blasr)
+ install("utils/loadPulses", prefix.utils)
+ install("utils/pls2fasta", prefix.utils)
+ install("utils/samFilter", prefix.utils)
+ install("utils/samtoh5", prefix.utils)
+ install("utils/samtom4", prefix.utils)
+ install("utils/sawriter", prefix.utils)
+ install("utils/sdpMatcher", prefix.utils)
+ install("utils/toAfg", prefix.utils)
diff --git a/var/spack/repos/builtin/packages/blast-legacy/package.py b/var/spack/repos/builtin/packages/blast-legacy/package.py
index fdb4b2d456..23f0e2a29f 100644
--- a/var/spack/repos/builtin/packages/blast-legacy/package.py
+++ b/var/spack/repos/builtin/packages/blast-legacy/package.py
@@ -10,28 +10,31 @@ from spack.package import *
class BlastLegacy(Package):
"""Legacy NCBI BLAST distribution -- no longer supported.
- Contains older programs including `blastall'"""
+ Contains older programs including `blastall'"""
homepage = "https://www.ncbi.nlm.nih.gov/"
- url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz"
+ url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/2.2.26/ncbi.tar.gz"
- version('2.2.26', sha256='d8fffac25efc8ca894c707c840a4797a8a949ae6fd983d2f91c9972f788efb7d', deprecated=True)
+ version(
+ "2.2.26",
+ sha256="d8fffac25efc8ca894c707c840a4797a8a949ae6fd983d2f91c9972f788efb7d",
+ deprecated=True,
+ )
- depends_on('tcsh', type='build')
+ depends_on("tcsh", type="build")
def install(self, spec, prefix):
- filter_file('/bin/csh -f', '/usr/bin/env tcsh', 'make/ln-if-absent',
- string=True)
+ filter_file("/bin/csh -f", "/usr/bin/env tcsh", "make/ln-if-absent", string=True)
- symlink(self.stage.source_path, '../ncbi')
- tcsh = which('tcsh')
- with working_dir('..'):
- tcsh('./ncbi/make/makedis.csh')
+ symlink(self.stage.source_path, "../ncbi")
+ tcsh = which("tcsh")
+ with working_dir(".."):
+ tcsh("./ncbi/make/makedis.csh")
# depends on local data in the source tree
- install_path = join_path(prefix, 'usr/local/blast-legacy')
+ install_path = join_path(prefix, "usr/local/blast-legacy")
mkdirp(install_path)
- install_tree('.', install_path)
+ install_tree(".", install_path)
# symlink build output with binaries
- symlink(join_path(install_path, 'build'), prefix.bin)
+ symlink(join_path(install_path, "build"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/blast-plus/package.py b/var/spack/repos/builtin/packages/blast-plus/package.py
index e886d0ac3b..9faef127ed 100644
--- a/var/spack/repos/builtin/packages/blast-plus/package.py
+++ b/var/spack/repos/builtin/packages/blast-plus/package.py
@@ -10,17 +10,17 @@ class BlastPlus(AutotoolsPackage):
"""Basic Local Alignment Search Tool."""
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"
+ url = "https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.12.0/ncbi-blast-2.12.0+-src.tar.gz"
- maintainers = ['weijianwen']
+ maintainers = ["weijianwen"]
- version('2.12.0', sha256='fda3c9c9d488cad6c1880a98a236d842bcf3610e3e702af61f7a48cf0a714b88')
- version('2.11.0', sha256='d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954')
- version('2.9.0', sha256='a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257')
- version('2.8.1', sha256='e03dd1a30e37cb8a859d3788a452c5d70ee1f9102d1ee0f93b2fbd145925118f')
- version('2.7.1', sha256='10a78d3007413a6d4c983d2acbf03ef84b622b82bd9a59c6bd9fbdde9d0298ca')
- version('2.6.0', sha256='0510e1d607d0fb4389eca50d434d5a0be787423b6850b3a4f315abc2ef19c996')
- version('2.2.30', sha256='26f72d51c81b9497f33b7274109565c36692572faef4d72377f79b7e59910e40')
+ version("2.12.0", sha256="fda3c9c9d488cad6c1880a98a236d842bcf3610e3e702af61f7a48cf0a714b88")
+ version("2.11.0", sha256="d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954")
+ version("2.9.0", sha256="a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257")
+ version("2.8.1", sha256="e03dd1a30e37cb8a859d3788a452c5d70ee1f9102d1ee0f93b2fbd145925118f")
+ version("2.7.1", sha256="10a78d3007413a6d4c983d2acbf03ef84b622b82bd9a59c6bd9fbdde9d0298ca")
+ version("2.6.0", sha256="0510e1d607d0fb4389eca50d434d5a0be787423b6850b3a4f315abc2ef19c996")
+ version("2.2.30", sha256="26f72d51c81b9497f33b7274109565c36692572faef4d72377f79b7e59910e40")
# homebrew sez: Fixed upstream in future version > 2.6
# But this bug sez that it will be fixed in 2.6
@@ -30,110 +30,90 @@ class BlastPlus(AutotoolsPackage):
# On the other hand, the `find` command is broken and there
# aren't any .svn dirs in the tree, so I've updated their patch
# to just comment out the block.
- patch('blast-make-fix2.5.0.diff', when="@2.5.0:2.6.0")
+ patch("blast-make-fix2.5.0.diff", when="@2.5.0:2.6.0")
# See https://github.com/Homebrew/homebrew-science/issues/2337#issuecomment-170011511
- @when('@:2.2.31')
+ @when("@:2.2.31")
def patch(self):
- filter_file("2.95* | 2.96* | 3.* | 4.* )",
- "2.95* | 2.96* | 3.* | 4.* | 5.* )",
- "c++/src/build-system/configure",
- string=True)
+ filter_file(
+ "2.95* | 2.96* | 3.* | 4.* )",
+ "2.95* | 2.96* | 3.* | 4.* | 5.* )",
+ "c++/src/build-system/configure",
+ string=True,
+ )
# No...
# depends_on :mysql => :optional
- variant('static', default=False,
- description='Build with static linkage')
- variant('jpeg', default=True,
- description='Build with jpeg support')
- variant('png', default=True,
- description='Build with png support')
- variant('freetype', default=True,
- description='Build with freetype support')
+ variant("static", default=False, description="Build with static linkage")
+ variant("jpeg", default=True, description="Build with jpeg support")
+ variant("png", default=True, description="Build with png support")
+ variant("freetype", default=True, description="Build with freetype support")
# variant('hdf5', default=True,
# description='Build with hdf5 support')
- variant('gnutls', default=True,
- description='Build with gnutls support')
- variant('openssl', default=True,
- description='Build with openssl support')
- variant('zlib', default=True,
- description='Build with zlib support')
- variant('bzip2', default=True,
- description='Build with bzip2 support')
- variant('lzo', default=True,
- description='Build with lzo support')
- variant('pcre', default=True,
- description='Build with pcre support')
- variant('perl', default=True,
- description='Build with perl support')
- variant('python', default=True,
- description='Build with python support')
-
- depends_on('jpeg', when='+jpeg')
- depends_on('libpng', when='+png')
- depends_on('freetype', when='+freetype')
+ variant("gnutls", default=True, description="Build with gnutls support")
+ variant("openssl", default=True, description="Build with openssl support")
+ variant("zlib", default=True, description="Build with zlib support")
+ variant("bzip2", default=True, description="Build with bzip2 support")
+ variant("lzo", default=True, description="Build with lzo support")
+ variant("pcre", default=True, description="Build with pcre support")
+ variant("perl", default=True, description="Build with perl support")
+ variant("python", default=True, description="Build with python support")
+
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libpng", when="+png")
+ depends_on("freetype", when="+freetype")
# depends_on('hdf5', when='+hdf5')
- depends_on('gnutls', when='+gnutls')
- depends_on('openssl', when='+openssl')
- depends_on('zlib', when='+zlib')
- depends_on('bzip2', when='+bzip2')
- depends_on('lzo', when='+lzo')
- depends_on('pcre', when='+pcre')
+ depends_on("gnutls", when="+gnutls")
+ depends_on("openssl", when="+openssl")
+ depends_on("zlib", when="+zlib")
+ depends_on("bzip2", when="+bzip2")
+ depends_on("lzo", when="+lzo")
+ depends_on("pcre", when="+pcre")
- depends_on('python', when='+python')
- depends_on('perl', when='+perl')
+ depends_on("python", when="+python")
+ depends_on("perl", when="+perl")
- depends_on('lmdb', when='@2.7.1:')
+ depends_on("lmdb", when="@2.7.1:")
- configure_directory = 'c++'
+ configure_directory = "c++"
def configure_args(self):
- spec = self.spec
+ spec = self.spec
config_args = [
- '--with-bin-release',
- '--without-debug',
- '--with-mt',
- '--without-boost',
+ "--with-bin-release",
+ "--without-debug",
+ "--with-mt",
+ "--without-boost",
]
- if spec.target.family != 'aarch64':
- config_args.append('--with-64')
- if '+static' in spec:
- config_args.append('--with-static')
+ if spec.target.family != "aarch64":
+ config_args.append("--with-64")
+ if "+static" in spec:
+ config_args.append("--with-static")
# FIXME
# args << "--with-static-exe" unless OS.linux?
# args << "--with-dll" if build.with? "dll"
else:
- config_args.extend([
- '--with-dll',
- '--without-static',
- '--without-static-exe'
- ])
-
- if '+jpeg' in spec:
- config_args.append(
- '--with-jpeg={0}'.format(self.spec['jpeg'].prefix)
- )
+ config_args.extend(["--with-dll", "--without-static", "--without-static-exe"])
+
+ if "+jpeg" in spec:
+ config_args.append("--with-jpeg={0}".format(self.spec["jpeg"].prefix))
else:
- config_args.append('--without-jpeg')
+ config_args.append("--without-jpeg")
- if '+png' in spec:
- config_args.append(
- '--with-png={0}'.format(self.spec['libpng'].prefix)
- )
+ if "+png" in spec:
+ config_args.append("--with-png={0}".format(self.spec["libpng"].prefix))
else:
- config_args.append('--without-png')
+ config_args.append("--without-png")
- if '+freetype' in spec:
- config_args.append(
- '--with-freetype={0}'.format(self.spec['freetype'].prefix)
- )
+ if "+freetype" in spec:
+ config_args.append("--with-freetype={0}".format(self.spec["freetype"].prefix))
else:
- config_args.append('--without-freetype')
+ config_args.append("--without-freetype")
- config_args.append('--without-hdf5')
+ config_args.append("--without-hdf5")
# if '+hdf5' in spec:
# # FIXME
# config_args.append(
@@ -142,60 +122,44 @@ class BlastPlus(AutotoolsPackage):
# else:
# config_args.append('--without-hdf5')
- if '+zlib' in spec:
- config_args.append(
- '--with-z={0}'.format(self.spec['zlib'].prefix)
- )
+ if "+zlib" in spec:
+ config_args.append("--with-z={0}".format(self.spec["zlib"].prefix))
else:
- config_args.append('--without-z')
+ config_args.append("--without-z")
- if '+bzip2' in spec:
- config_args.append(
- '--with-bz2={0}'.format(self.spec['bzip2'].prefix)
- )
+ if "+bzip2" in spec:
+ config_args.append("--with-bz2={0}".format(self.spec["bzip2"].prefix))
else:
- config_args.append('--without-bz2')
+ config_args.append("--without-bz2")
- if '+lzo' in spec:
- config_args.append(
- '--with-lzo={0}'.format(self.spec['lzo'].prefix)
- )
+ if "+lzo" in spec:
+ config_args.append("--with-lzo={0}".format(self.spec["lzo"].prefix))
else:
- config_args.append('--without-lzo')
+ config_args.append("--without-lzo")
- if '+gnutls' in spec:
- config_args.append(
- '--with-gnutls={0}'.format(self.spec['gnutls'].prefix)
- )
+ if "+gnutls" in spec:
+ config_args.append("--with-gnutls={0}".format(self.spec["gnutls"].prefix))
else:
- config_args.append('--without-gnutls')
+ config_args.append("--without-gnutls")
- if '+openssl' in spec:
- config_args.append(
- '--with-openssl={0}'.format(self.spec['openssl'].prefix)
- )
+ if "+openssl" in spec:
+ config_args.append("--with-openssl={0}".format(self.spec["openssl"].prefix))
else:
- config_args.append('--without-openssl')
+ config_args.append("--without-openssl")
- if '+pcre' in spec:
- config_args.append(
- '--with-pcre={0}'.format(self.spec['pcre'].prefix)
- )
+ if "+pcre" in spec:
+ config_args.append("--with-pcre={0}".format(self.spec["pcre"].prefix))
else:
- config_args.append('--without-pcre')
+ config_args.append("--without-pcre")
- if '+python' in spec:
- config_args.append(
- '--with-python={0}'.format(self.spec['python'].home)
- )
+ if "+python" in spec:
+ config_args.append("--with-python={0}".format(self.spec["python"].home))
else:
- config_args.append('--without-python')
+ config_args.append("--without-python")
- if '+perl' in spec:
- config_args.append(
- '--with-perl={0}'.format(self.spec['perl'].prefix)
- )
+ if "+perl" in spec:
+ config_args.append("--with-perl={0}".format(self.spec["perl"].prefix))
else:
- config_args.append('--without-python')
+ config_args.append("--without-python")
return config_args
diff --git a/var/spack/repos/builtin/packages/blast2go/package.py b/var/spack/repos/builtin/packages/blast2go/package.py
index 2ae56e63eb..df43442db1 100644
--- a/var/spack/repos/builtin/packages/blast2go/package.py
+++ b/var/spack/repos/builtin/packages/blast2go/package.py
@@ -10,23 +10,24 @@ from spack.package import *
class Blast2go(Package):
"""Blast2GO is a bioinformatics platform for high-quality functional
- annotation and analysis of genomic datasets."""
+ annotation and analysis of genomic datasets."""
homepage = "https://www.blast2go.com/"
- version('5.2.5', sha256='c37aeda25f96ac0553b52da6b5af3167d50671ddbfb3b39bcb11afe5d0643891')
+ version("5.2.5", sha256="c37aeda25f96ac0553b52da6b5af3167d50671ddbfb3b39bcb11afe5d0643891")
- for t in set([str(x.family) for x in archspec.cpu.TARGETS.values()
- if str(x.family) != 'x86_64']):
- conflicts('target={0}:'.format(t), msg='blast2go is available x86_64 only')
+ for t in set(
+ [str(x.family) for x in archspec.cpu.TARGETS.values() if str(x.family) != "x86_64"]
+ ):
+ conflicts("target={0}:".format(t), msg="blast2go is available x86_64 only")
- depends_on('bash', type='build')
- depends_on('blast-plus', type='run')
- depends_on('java', type='build')
+ depends_on("bash", type="build")
+ depends_on("blast-plus", type="run")
+ depends_on("java", type="build")
def url_for_version(self, version):
- fname = 'Blast2GO_unix_{0}.zip'.format(version.underscored)
- return 'http://resources.biobam.com/software/blast2go/nico/%s' % fname
+ fname = "Blast2GO_unix_{0}.zip".format(version.underscored)
+ return "http://resources.biobam.com/software/blast2go/nico/%s" % fname
def install(self, spec, prefix):
# blast2go install script prompts for the following:
@@ -36,18 +37,18 @@ class Blast2go(Package):
# desktop icon [y/n] => n
# run blast2go? [y/n] => n
- config_input_file = 'spack-config.in'
+ config_input_file = "spack-config.in"
config_input_data = [
- 'o\n',
- prefix.bin + '\n',
- 'n\n',
- 'n\n',
+ "o\n",
+ prefix.bin + "\n",
+ "n\n",
+ "n\n",
]
- with open(config_input_file, 'w') as f:
+ with open(config_input_file, "w") as f:
f.writelines(config_input_data)
- with open(config_input_file, 'r') as f:
- bash = which('bash')
- bash('Blast2GO_unix_%s.sh' % self.version.underscored, input=f)
+ with open(config_input_file, "r") as f:
+ bash = which("bash")
+ bash("Blast2GO_unix_%s.sh" % self.version.underscored, input=f)
diff --git a/var/spack/repos/builtin/packages/blat/package.py b/var/spack/repos/builtin/packages/blat/package.py
index d4fc510e7e..b6bb60945e 100644
--- a/var/spack/repos/builtin/packages/blat/package.py
+++ b/var/spack/repos/builtin/packages/blat/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class Blat(Package):
"""BLAT (BLAST-like alignment tool) is a pairwise sequence
- alignment algorithm."""
+ alignment algorithm."""
homepage = "https://genome.ucsc.edu/FAQ/FAQblat.html"
- url = "https://genome-test.gi.ucsc.edu/~kent/src/blatSrc35.zip"
- maintainers = ['snehring']
+ url = "https://genome-test.gi.ucsc.edu/~kent/src/blatSrc35.zip"
+ maintainers = ["snehring"]
- version('37', sha256='88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2')
- version('35', sha256='06d9bcf114ec4a4b21fef0540a0532556b6602322a5a2b33f159dc939ae53620')
+ version("37", sha256="88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2")
+ version("35", sha256="06d9bcf114ec4a4b21fef0540a0532556b6602322a5a2b33f159dc939ae53620")
- depends_on('libpng')
- depends_on('libuuid', when='@37:')
- depends_on('mysql-client', when='@37:')
+ depends_on("libpng")
+ depends_on("libuuid", when="@37:")
+ depends_on("mysql-client", when="@37:")
- @when('@37')
+ @when("@37")
def patch(self):
- filter_file(r',src\/hg\/', ',NOMATCHME', 'inc/userApp.mk')
+ filter_file(r",src\/hg\/", ",NOMATCHME", "inc/userApp.mk")
def flag_handler(self, name, flags):
- if self.spec.satisfies('@35') and name.lower() == 'cflags':
- flags.append('-fcommon')
+ if self.spec.satisfies("@35") and name.lower() == "cflags":
+ flags.append("-fcommon")
return (flags, None, None)
def setup_build_environment(self, env):
- env.set('MACHTYPE', 'x86_64')
+ env.set("MACHTYPE", "x86_64")
def install(self, spec, prefix):
- filter_file('CC=.*', 'CC={0}'.format(spack_cc), 'inc/common.mk')
+ filter_file("CC=.*", "CC={0}".format(spack_cc), "inc/common.mk")
mkdirp(prefix.bin)
make("BINDIR=%s" % prefix.bin)
diff --git a/var/spack/repos/builtin/packages/blaze/package.py b/var/spack/repos/builtin/packages/blaze/package.py
index 8b41d06493..7c62993a14 100644
--- a/var/spack/repos/builtin/packages/blaze/package.py
+++ b/var/spack/repos/builtin/packages/blaze/package.py
@@ -16,34 +16,34 @@ class Blaze(CMakePackage):
"""
homepage = "https://bitbucket.org/blaze-lib/blaze/overview"
- url = "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.tar.gz"
- git = "https://bitbucket.org/blaze-lib/blaze.git"
+ url = "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.tar.gz"
+ git = "https://bitbucket.org/blaze-lib/blaze.git"
- maintainers = ['nilsvu']
+ maintainers = ["nilsvu"]
- version('master', branch='master')
- version('3.8', sha256='dfaae1a3a9fea0b3cc92e78c9858dcc6c93301d59f67de5d388a3a41c8a629ae')
- version('3.7', sha256='ef3cbc5db7d62dcdde0af88d3c951051254afd750d26773406fddb6afc5ad890')
- version('3.6', sha256='2ebbadacaf3f066e27352c1e413ead127b7ced8a3b202ae45f39c8f5f12324cc')
- version('3.5', sha256='f50d4a57796b8012d3e6d416667d9abe6f4d95994eb9deb86cd4491381dec624')
- version('3.4', sha256='fd474ab479e81d31edf27d4a529706b418f874caa7b046c67489128c20dda66f')
- version('3.3', sha256='138cbb7b95775c10bf56a5ab3596a32205751299b19699984b6ed55b1bf989d0')
- version('3.2', sha256='fb7e83d3a8c1ba04d3a51234708092b75a1abf3b7c4d0db5e6cf3cbed771b869')
- version('3.1', sha256='a122d6758d9ada7ab516417f7b5ad186a4a9b390bba682f009df6585f5550716')
- version('3.0', sha256='d66abaf4633d60b6e6472f6ecd7db7b4fb5f74a4afcfdf00c92e1ea61f2e0870')
- version('2.6', sha256='a6b927db14b43fad483670dfa2acd7ecc94fd53085cdf18f262d2dc613857fb6')
- version('2.5', sha256='5faeca8a26e04f70a5b3f94e88ef1fbe96a89e3722cd89e5f9d4bc8267b33d41')
- version('2.4', sha256='34af70c8bb4da5fd0017b7c47e5efbfef9aadbabc5aae416582901a4059d1fa3')
- version('2.3', sha256='785089db7f15684c24018b931f9f564954a79389166ac1f3e256a56c667d49f2')
- version('2.2', sha256='448e70a440d71afa6325bae254ca7367b10e61431084adbf2ac679dbd5da78d2')
- version('2.1', sha256='b982c03236c6a7ae396850eba0ef8fb1642ddf6448531063bf7239d9ff3290fd')
- version('2.0', sha256='7bdf555e97455a2f42f40396b32caa9cf3e52bdd1877e0289115825113f4dcb2')
- version('1.5', sha256='5c69b605b712616dcd29fa25abecb20b977ef318207ef96176ab67b2ad891e1e')
- version('1.4', sha256='2e48d2e5a3a06abb23716829501bb0b825c58ad156faab6df0cfeef1bcdfbc82')
- version('1.3', sha256='361bfbf2d2bf8557d123da3af8abc70e4c3b13d9c94a8227aeb751e06acdb8cf')
- version('1.2', sha256='16f56d4f61dca229fa7e17a0d1e348a1f3246c65cded2df5db33babebf8f9b9d')
- version('1.1', sha256='6add20eb9c176ea9f8091c49b101f46d1a1a6bd9c31553a6eff5e53603f0527f')
- version('1.0', sha256='ee13cfd467c1a4b0fe7cc58b61b846eae862167a90dd2e60559626a30418b5a3')
+ version("master", branch="master")
+ version("3.8", sha256="dfaae1a3a9fea0b3cc92e78c9858dcc6c93301d59f67de5d388a3a41c8a629ae")
+ version("3.7", sha256="ef3cbc5db7d62dcdde0af88d3c951051254afd750d26773406fddb6afc5ad890")
+ version("3.6", sha256="2ebbadacaf3f066e27352c1e413ead127b7ced8a3b202ae45f39c8f5f12324cc")
+ version("3.5", sha256="f50d4a57796b8012d3e6d416667d9abe6f4d95994eb9deb86cd4491381dec624")
+ version("3.4", sha256="fd474ab479e81d31edf27d4a529706b418f874caa7b046c67489128c20dda66f")
+ version("3.3", sha256="138cbb7b95775c10bf56a5ab3596a32205751299b19699984b6ed55b1bf989d0")
+ version("3.2", sha256="fb7e83d3a8c1ba04d3a51234708092b75a1abf3b7c4d0db5e6cf3cbed771b869")
+ version("3.1", sha256="a122d6758d9ada7ab516417f7b5ad186a4a9b390bba682f009df6585f5550716")
+ version("3.0", sha256="d66abaf4633d60b6e6472f6ecd7db7b4fb5f74a4afcfdf00c92e1ea61f2e0870")
+ version("2.6", sha256="a6b927db14b43fad483670dfa2acd7ecc94fd53085cdf18f262d2dc613857fb6")
+ version("2.5", sha256="5faeca8a26e04f70a5b3f94e88ef1fbe96a89e3722cd89e5f9d4bc8267b33d41")
+ version("2.4", sha256="34af70c8bb4da5fd0017b7c47e5efbfef9aadbabc5aae416582901a4059d1fa3")
+ version("2.3", sha256="785089db7f15684c24018b931f9f564954a79389166ac1f3e256a56c667d49f2")
+ version("2.2", sha256="448e70a440d71afa6325bae254ca7367b10e61431084adbf2ac679dbd5da78d2")
+ version("2.1", sha256="b982c03236c6a7ae396850eba0ef8fb1642ddf6448531063bf7239d9ff3290fd")
+ version("2.0", sha256="7bdf555e97455a2f42f40396b32caa9cf3e52bdd1877e0289115825113f4dcb2")
+ version("1.5", sha256="5c69b605b712616dcd29fa25abecb20b977ef318207ef96176ab67b2ad891e1e")
+ version("1.4", sha256="2e48d2e5a3a06abb23716829501bb0b825c58ad156faab6df0cfeef1bcdfbc82")
+ version("1.3", sha256="361bfbf2d2bf8557d123da3af8abc70e4c3b13d9c94a8227aeb751e06acdb8cf")
+ version("1.2", sha256="16f56d4f61dca229fa7e17a0d1e348a1f3246c65cded2df5db33babebf8f9b9d")
+ version("1.1", sha256="6add20eb9c176ea9f8091c49b101f46d1a1a6bd9c31553a6eff5e53603f0527f")
+ version("1.0", sha256="ee13cfd467c1a4b0fe7cc58b61b846eae862167a90dd2e60559626a30418b5a3")
# These configuration options set defaults for dependent packages and
# control Blaze dependencies. They can also be enabled or disabled with
@@ -51,26 +51,30 @@ class Blaze(CMakePackage):
# library.
# - BLAS mode is turned off by default in the Blaze CMake configuration (as
# of v3.8), so we turn it off by default here as well.
- variant('blas', default=False, description='Enable BLAS kernels')
+ variant("blas", default=False, description="Enable BLAS kernels")
# - LAPACK is only a link-time dependency, but Blaze provides a CMake
# configuration check. It is enabled by default in the Blaze CMake
# configuration (as of v3.8).
- variant('lapack', default=True, description='Enable LAPACK kernels')
+ variant("lapack", default=True, description="Enable LAPACK kernels")
# - SMP mode is set to OpenMP by default in the Blaze CMake configuration
# (as of v3.8), but isn't a required dependency.
- variant('smp', values=['none', 'openmp', 'cpp11', 'boost', 'hpx'],
- default='openmp', description='Shared memory parallelization mode')
+ variant(
+ "smp",
+ values=["none", "openmp", "cpp11", "boost", "hpx"],
+ default="openmp",
+ description="Shared memory parallelization mode",
+ )
# Blaze requires at least cmake 3.8.0 for C++14 features.
- depends_on('cmake@3.8.0:', type='build')
- depends_on('blas', when='+blas')
- depends_on('lapack', when='+lapack')
- depends_on('boost@1.54.0: +thread', when='smp=boost')
- depends_on('hpx', when='smp=hpx')
+ depends_on("cmake@3.8.0:", type="build")
+ depends_on("blas", when="+blas")
+ depends_on("lapack", when="+lapack")
+ depends_on("boost@1.54.0: +thread", when="smp=boost")
+ depends_on("hpx", when="smp=hpx")
def cmake_args(self):
args = [
- self.define_from_variant('BLAZE_BLAS_MODE', 'blas'),
+ self.define_from_variant("BLAZE_BLAS_MODE", "blas"),
# These flags can be set at compile time, but it would be useful to
# determine them from the BLAS provider if possible and pass them to
# the CMake configuration:
@@ -80,21 +84,26 @@ class Blaze(CMakePackage):
# builds will fail if `BLAZE_BLAS_MODE` is enabled but the header
# file is missing:
# - BLAZE_BLAS_INCLUDE_FILE (defaults to <cblas.h>)
- self.define_from_variant('USE_LAPACK', 'lapack'),
+ self.define_from_variant("USE_LAPACK", "lapack"),
]
# SMP mode
- if self.spec.variants['smp'].value == 'none':
- args.append(self.define('BLAZE_SHARED_MEMORY_PARALLELIZATION', False))
+ if self.spec.variants["smp"].value == "none":
+ args.append(self.define("BLAZE_SHARED_MEMORY_PARALLELIZATION", False))
else:
- args.extend([
- self.define('BLAZE_SHARED_MEMORY_PARALLELIZATION', True),
- self.define('BLAZE_SMP_THREADS', {
- 'openmp': 'OpenMP',
- 'cpp11': 'C++11',
- 'boost': 'Boost',
- 'hpx': 'HPX',
- }[self.spec.variants['smp'].value])
- ])
+ args.extend(
+ [
+ self.define("BLAZE_SHARED_MEMORY_PARALLELIZATION", True),
+ self.define(
+ "BLAZE_SMP_THREADS",
+ {
+ "openmp": "OpenMP",
+ "cpp11": "C++11",
+ "boost": "Boost",
+ "hpx": "HPX",
+ }[self.spec.variants["smp"].value],
+ ),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/blis/package.py b/var/spack/repos/builtin/packages/blis/package.py
index 44cacfbe0b..1fda84e6a0 100644
--- a/var/spack/repos/builtin/packages/blis/package.py
+++ b/var/spack/repos/builtin/packages/blis/package.py
@@ -15,15 +15,26 @@ class BlisBase(MakefilePackage):
"""Base class for building BLIS, shared with the AMD optimized version
of the library in the 'amdblis' package.
"""
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- variant('threads', default='none', values=('pthreads', 'openmp', 'none'),
- description='Multithreading support', multi=False)
-
- variant('blas', default=True, description='BLAS compatibility')
- variant('cblas', default=True, description='CBLAS compatibility')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+
+ variant(
+ "threads",
+ default="none",
+ values=("pthreads", "openmp", "none"),
+ description="Multithreading support",
+ multi=False,
+ )
+
+ variant("blas", default=True, description="BLAS compatibility")
+ variant("cblas", default=True, description="CBLAS compatibility")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
# TODO: add cpu variants. Currently using auto.
# If one knl, should the default be memkind ?
@@ -31,34 +42,32 @@ class BlisBase(MakefilePackage):
# BLIS has it's own API but can be made compatible with BLAS
# enabling CBLAS automatically enables BLAS.
- provides('blas', when="+blas")
- provides('blas', when="+cblas")
+ provides("blas", when="+blas")
+ provides("blas", when="+cblas")
- conflicts('%nvhpc')
- conflicts('%pgi')
+ conflicts("%nvhpc")
+ conflicts("%pgi")
def configure_args(self):
spec = self.spec
- config_args = [
- "--enable-threading={0}".format(spec.variants['threads'].value)
- ]
+ config_args = ["--enable-threading={0}".format(spec.variants["threads"].value)]
- if '+cblas' in spec:
+ if "+cblas" in spec:
config_args.append("--enable-cblas")
else:
config_args.append("--disable-cblas")
- if '+blas' in spec:
+ if "+blas" in spec:
config_args.append("--enable-blas")
else:
config_args.append("--disable-blas")
- if spec.satisfies('libs=shared'):
+ if spec.satisfies("libs=shared"):
config_args.append("--enable-shared")
else:
config_args.append("--disable-shared")
- if spec.satisfies('libs=static'):
+ if spec.satisfies("libs=static"):
config_args.append("--enable-static")
else:
config_args.append("--disable-static")
@@ -67,20 +76,22 @@ class BlisBase(MakefilePackage):
def edit(self, spec, prefix):
# To ensure auto should always be the last argument for base and derived class
- config_args = self.configure_args() + ['auto']
+ config_args = self.configure_args() + ["auto"]
configure("--prefix={0}".format(prefix), *config_args)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
@property
def libs(self):
return find_libraries(
- ["libblis", "libblis-mt"], root=self.prefix,
- shared=self.spec.satisfies('libs=shared'), recursive=True
+ ["libblis", "libblis-mt"],
+ root=self.prefix,
+ shared=self.spec.satisfies("libs=shared"),
+ recursive=True,
)
@@ -102,20 +113,20 @@ class Blis(BlisBase):
url = "https://github.com/flame/blis/archive/0.7.0.tar.gz"
git = "https://github.com/flame/blis.git"
- version('master', branch='master')
- version('0.9.0', sha256='1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308')
- version('0.8.1', sha256='729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b')
- version('0.8.0', sha256='5e05868c4a6cf5032a7492f8861653e939a8f907a4fa524bbb6e14394e170a3d')
- version('0.7.0', sha256='7e345d666799e15bba570bd125f97042f17bf752a61dcf314486a6cd096d5f68')
- version('0.6.1', sha256='76b22f29b7789cf117c0873d2a6b2a6d61f903869168148f2e7306353c105c37')
- version('0.6.0', sha256='ad5765cc3f492d0c663f494850dafc4d72f901c332eb442f404814ff2995e5a9')
- version('0.5.0', sha256='1a004d69c139e8a0448c6a6007863af3a8c3551b8d9b8b73fe08e8009f165fa8')
- version('0.4.0', sha256='9c7efd75365a833614c01b5adfba93210f869d92e7649e0b5d9edc93fc20ea76')
- version('0.3.2', sha256='b87e42c73a06107d647a890cbf12855925777dc7124b0c7698b90c5effa7f58f')
- version('0.3.1', sha256='957f28d47c5cf71ffc62ce8cc1277e17e44d305b1c2fa8506b0b55617a9f28e4')
- version('0.3.0', sha256='d34d17df7bdc2be8771fe0b7f867109fd10437ac91e2a29000a4a23164c7f0da')
- version('0.2.2', sha256='4a7ecb56034fb20e9d1d8b16e2ef587abbc3d30cb728e70629ca7e795a7998e8')
+ version("master", branch="master")
+ version("0.9.0", sha256="1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308")
+ version("0.8.1", sha256="729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b")
+ version("0.8.0", sha256="5e05868c4a6cf5032a7492f8861653e939a8f907a4fa524bbb6e14394e170a3d")
+ version("0.7.0", sha256="7e345d666799e15bba570bd125f97042f17bf752a61dcf314486a6cd096d5f68")
+ version("0.6.1", sha256="76b22f29b7789cf117c0873d2a6b2a6d61f903869168148f2e7306353c105c37")
+ version("0.6.0", sha256="ad5765cc3f492d0c663f494850dafc4d72f901c332eb442f404814ff2995e5a9")
+ version("0.5.0", sha256="1a004d69c139e8a0448c6a6007863af3a8c3551b8d9b8b73fe08e8009f165fa8")
+ version("0.4.0", sha256="9c7efd75365a833614c01b5adfba93210f869d92e7649e0b5d9edc93fc20ea76")
+ version("0.3.2", sha256="b87e42c73a06107d647a890cbf12855925777dc7124b0c7698b90c5effa7f58f")
+ version("0.3.1", sha256="957f28d47c5cf71ffc62ce8cc1277e17e44d305b1c2fa8506b0b55617a9f28e4")
+ version("0.3.0", sha256="d34d17df7bdc2be8771fe0b7f867109fd10437ac91e2a29000a4a23164c7f0da")
+ version("0.2.2", sha256="4a7ecb56034fb20e9d1d8b16e2ef587abbc3d30cb728e70629ca7e795a7998e8")
# Problems with permissions on installed libraries:
# https://github.com/flame/blis/issues/343
- patch('Makefile_0.6.0.patch', when='@0.4.0:0.6.0')
+ patch("Makefile_0.6.0.patch", when="@0.4.0:0.6.0")
diff --git a/var/spack/repos/builtin/packages/bliss/package.py b/var/spack/repos/builtin/packages/bliss/package.py
index f09dc4a86f..d4478a16d8 100644
--- a/var/spack/repos/builtin/packages/bliss/package.py
+++ b/var/spack/repos/builtin/packages/bliss/package.py
@@ -14,19 +14,23 @@ class Bliss(Package):
homepage = "http://www.tcs.hut.fi/Software/bliss/"
url = "http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip"
- version('0.73', sha256='f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84')
+ version("0.73", sha256="f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84")
# Note: Bliss can also be built without gmp, but we don't support this yet
depends_on("gmp")
- depends_on("libtool", type='build')
+ depends_on("libtool", type="build")
patch("Makefile.spack.patch")
def install(self, spec, prefix):
- filter_file('__DATE__', ' __DATE__ ', 'bliss.cc')
+ filter_file("__DATE__", " __DATE__ ", "bliss.cc")
# The Makefile isn't portable; use our own instead
- makeargs = ["-f", "Makefile.spack",
- "PREFIX=%s" % prefix, "GMP_PREFIX=%s" % spec["gmp"].prefix]
+ makeargs = [
+ "-f",
+ "Makefile.spack",
+ "PREFIX=%s" % prefix,
+ "GMP_PREFIX=%s" % spec["gmp"].prefix,
+ ]
make(*makeargs)
make("install", *makeargs)
diff --git a/var/spack/repos/builtin/packages/blitz/package.py b/var/spack/repos/builtin/packages/blitz/package.py
index c0451122f2..02d2d876e1 100644
--- a/var/spack/repos/builtin/packages/blitz/package.py
+++ b/var/spack/repos/builtin/packages/blitz/package.py
@@ -8,18 +8,19 @@ from spack.package import *
class Blitz(AutotoolsPackage):
"""N-dimensional arrays for C++"""
+
homepage = "https://github.com/blitzpp/blitz"
url = "https://github.com/blitzpp/blitz/archive/1.0.2.tar.gz"
- version('1.0.2', sha256='500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2')
- version('1.0.1', sha256='b62fc3f07b64b264307b01fec5e4f2793e09a68dcb5378984aedbc2e4b3adcef')
- version('1.0.0', sha256='79c06ea9a0585ba0e290c8140300e3ad19491c45c1d90feb52819abc3b58a0c1')
+ version("1.0.2", sha256="500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2")
+ version("1.0.1", sha256="b62fc3f07b64b264307b01fec5e4f2793e09a68dcb5378984aedbc2e4b3adcef")
+ version("1.0.0", sha256="79c06ea9a0585ba0e290c8140300e3ad19491c45c1d90feb52819abc3b58a0c1")
- depends_on('python@:2.7', type='build', when='@:1.0.1')
- depends_on('python@3:', type='build', when='@1.0.2:')
+ depends_on("python@:2.7", type="build", when="@:1.0.1")
+ depends_on("python@3:", type="build", when="@1.0.2:")
- build_targets = ['lib']
+ build_targets = ["lib"]
def check(self):
- make('check-testsuite')
- make('check-examples')
+ make("check-testsuite")
+ make("check-examples")
diff --git a/var/spack/repos/builtin/packages/blktrace/package.py b/var/spack/repos/builtin/packages/blktrace/package.py
index ccb9b54932..b6976fffb5 100644
--- a/var/spack/repos/builtin/packages/blktrace/package.py
+++ b/var/spack/repos/builtin/packages/blktrace/package.py
@@ -16,23 +16,22 @@ class Blktrace(MakefilePackage):
"""
homepage = "https://brick.kernel.dk"
- url = "https://brick.kernel.dk/snaps/blktrace-1.2.0.tar.gz"
+ url = "https://brick.kernel.dk/snaps/blktrace-1.2.0.tar.gz"
- version('1.2.0', sha256='d14029bc096026dacb206bf115c912dcdb795320b5aba6dff3e46d7f94c5242d')
- version('1.1.0', sha256='dc1e5da64b8fef454ec24aa4fcc760112b4ea7c973e2485961aa5668b3a8ce1d')
- version('1.0.5', sha256='783b4c8743498de74b3492725815d31f3842828baf8710c53bc4e7e82cee387c')
- version('1.0.4', sha256='c1b53e2382f7309e822d48fef187cf44e84bb44df52a0a9786d447d127af75cf')
- version('1.0.3', sha256='78c6825212fe6700039fab77d53bc02e6b324e712caea718fff190e4e034cfa8')
- version('1.0.2', sha256='15f01e2a952919ba3c7b90f8bd891d1a98c454626501094030df632666786343')
+ version("1.2.0", sha256="d14029bc096026dacb206bf115c912dcdb795320b5aba6dff3e46d7f94c5242d")
+ version("1.1.0", sha256="dc1e5da64b8fef454ec24aa4fcc760112b4ea7c973e2485961aa5668b3a8ce1d")
+ version("1.0.5", sha256="783b4c8743498de74b3492725815d31f3842828baf8710c53bc4e7e82cee387c")
+ version("1.0.4", sha256="c1b53e2382f7309e822d48fef187cf44e84bb44df52a0a9786d447d127af75cf")
+ version("1.0.3", sha256="78c6825212fe6700039fab77d53bc02e6b324e712caea718fff190e4e034cfa8")
+ version("1.0.2", sha256="15f01e2a952919ba3c7b90f8bd891d1a98c454626501094030df632666786343")
- depends_on('libaio')
+ depends_on("libaio")
def edit(self, spec, prefix):
- makefiles = ['Makefile', 'btreplay/Makefile',
- 'btt/Makefile', 'iowatcher/Makefile']
+ makefiles = ["Makefile", "btreplay/Makefile", "btt/Makefile", "iowatcher/Makefile"]
for m in makefiles:
makefile = FileFilter(m)
- makefile.filter('CC.*=.*', 'CC = {0}'.format(spack_cc))
+ makefile.filter("CC.*=.*", "CC = {0}".format(spack_cc))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/bloaty/package.py b/var/spack/repos/builtin/packages/bloaty/package.py
index 2cbb731b2f..7a9aa50105 100644
--- a/var/spack/repos/builtin/packages/bloaty/package.py
+++ b/var/spack/repos/builtin/packages/bloaty/package.py
@@ -10,9 +10,8 @@ class Bloaty(CMakePackage):
"""Bloaty McBloatface: a size profiler for binaries."""
homepage = "https://github.com/google/bloaty"
- url = "https://github.com/google/bloaty/releases/download/v1.1/bloaty-1.1.tar.bz2"
+ url = "https://github.com/google/bloaty/releases/download/v1.1/bloaty-1.1.tar.bz2"
maintiners = ["cyrush"]
- version('1.1',
- sha256='a308d8369d5812aba45982e55e7c3db2ea4780b7496a5455792fb3dcba9abd6f')
+ version("1.1", sha256="a308d8369d5812aba45982e55e7c3db2ea4780b7496a5455792fb3dcba9abd6f")
diff --git a/var/spack/repos/builtin/packages/blogbench/package.py b/var/spack/repos/builtin/packages/blogbench/package.py
index 285ecf1b9d..68cade1e13 100644
--- a/var/spack/repos/builtin/packages/blogbench/package.py
+++ b/var/spack/repos/builtin/packages/blogbench/package.py
@@ -10,7 +10,7 @@ class Blogbench(AutotoolsPackage):
"""A filesystem benchmark tool that simulates a realistic load."""
homepage = "https://openbenchmarking.org/test/pts/blogbench"
- url = "https://download.pureftpd.org/pub/blogbench/blogbench-1.1.tar.gz"
+ url = "https://download.pureftpd.org/pub/blogbench/blogbench-1.1.tar.gz"
- version('1.1', sha256='8cded059bfdbccb7be35bb6a2272ecfdbe3fbea43d53c92ba5572ac24f26c4df')
- version('1.0', sha256='dc29261a19064a8fb64d39b27607f19d3b33ce3795908e717404167687ef33be')
+ version("1.1", sha256="8cded059bfdbccb7be35bb6a2272ecfdbe3fbea43d53c92ba5572ac24f26c4df")
+ version("1.0", sha256="dc29261a19064a8fb64d39b27607f19d3b33ce3795908e717404167687ef33be")
diff --git a/var/spack/repos/builtin/packages/blt/package.py b/var/spack/repos/builtin/packages/blt/package.py
index 3d1b23b9a9..bb2a12f6a5 100644
--- a/var/spack/repos/builtin/packages/blt/package.py
+++ b/var/spack/repos/builtin/packages/blt/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class Blt(Package):
"""BLT is a streamlined CMake-based foundation for Building, Linking and
- Testing large-scale high performance computing (HPC) applications."""
+ Testing large-scale high performance computing (HPC) applications."""
homepage = "https://github.com/LLNL/blt"
- url = "https://github.com/LLNL/blt/archive/v0.4.0.tar.gz"
- git = "https://github.com/LLNL/blt.git"
- tags = ['radiuss']
+ url = "https://github.com/LLNL/blt/archive/v0.4.0.tar.gz"
+ git = "https://github.com/LLNL/blt.git"
+ tags = ["radiuss"]
- maintainers = ['white238', 'davidbeckingsale']
+ maintainers = ["white238", "davidbeckingsale"]
- version('develop', branch='develop')
- version('main', branch='main')
+ version("develop", branch="develop")
+ version("main", branch="main")
# Note: 0.4.0+ contains a breaking change to BLT created targets
# if you export targets this could cause problems in downstream
# projects if not handled properly. More info here:
# https://llnl-blt.readthedocs.io/en/develop/tutorial/exporting_targets.html
- version('0.5.1', sha256='ff7e87eefc48704a0721b66174612b945955adaa0a56aa69dd0473074fa4badf')
- version('0.5.0', sha256='5f680ef922d0e0a7ff1b1a5fc8aa107cd4f543ad888cbc9b12639bea72a6ab1f')
- version('0.4.1', sha256='16cc3e067ddcf48b99358107e5035a17549f52dcc701a35cd18a9d9f536826c1')
- version('0.4.0', sha256='f3bc45d28b9b2eb6df43b75d4f6f89a1557d73d012da7b75bac1be0574767193')
- version('0.3.6', sha256='6276317c29e7ff8524fbea47d9288ddb40ac06e9f9da5e878bf9011e2c99bf71')
- version('0.3.5', sha256='68a1c224bb9203461ae6f5ab0ff3c50b4a58dcce6c2d2799489a1811f425fb84')
- version('0.3.0', sha256='bb917a67cb7335d6721c997ba9c5dca70506006d7bba5e0e50033dd0836481a5')
- version('0.2.5', sha256='3a000f60194e47b3e5623cc528cbcaf88f7fea4d9620b3c7446ff6658dc582a5')
- version('0.2.0', sha256='c0cadf1269c2feb189e398a356e3c49170bc832df95e5564e32bdbb1eb0fa1b3')
-
- depends_on('cmake', type='run')
+ version("0.5.1", sha256="ff7e87eefc48704a0721b66174612b945955adaa0a56aa69dd0473074fa4badf")
+ version("0.5.0", sha256="5f680ef922d0e0a7ff1b1a5fc8aa107cd4f543ad888cbc9b12639bea72a6ab1f")
+ version("0.4.1", sha256="16cc3e067ddcf48b99358107e5035a17549f52dcc701a35cd18a9d9f536826c1")
+ version("0.4.0", sha256="f3bc45d28b9b2eb6df43b75d4f6f89a1557d73d012da7b75bac1be0574767193")
+ version("0.3.6", sha256="6276317c29e7ff8524fbea47d9288ddb40ac06e9f9da5e878bf9011e2c99bf71")
+ version("0.3.5", sha256="68a1c224bb9203461ae6f5ab0ff3c50b4a58dcce6c2d2799489a1811f425fb84")
+ version("0.3.0", sha256="bb917a67cb7335d6721c997ba9c5dca70506006d7bba5e0e50033dd0836481a5")
+ version("0.2.5", sha256="3a000f60194e47b3e5623cc528cbcaf88f7fea4d9620b3c7446ff6658dc582a5")
+ version("0.2.0", sha256="c0cadf1269c2feb189e398a356e3c49170bc832df95e5564e32bdbb1eb0fa1b3")
+
+ depends_on("cmake", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/bmake/package.py b/var/spack/repos/builtin/packages/bmake/package.py
index ed451942dc..c4f4b1757d 100644
--- a/var/spack/repos/builtin/packages/bmake/package.py
+++ b/var/spack/repos/builtin/packages/bmake/package.py
@@ -12,20 +12,19 @@ class Bmake(Package):
homepage = "https://www.crufty.net/help/sjg/bmake.htm"
url = "https://www.crufty.net/ftp/pub/sjg/bmake-20180512.tar.gz"
- version('20220330', sha256='4b46d95b6ae4b3311ba805ff7d5a19b9e37ac0e86880e296e2111f565b545092')
- version('20200710', sha256='6538fc4319ef79d178dca76d3b869f7aa93a9bb7b510df08a7d872c01a56b76c')
- version('20180512', sha256='ac3cd262065fcc20c1dec7c95f06306c8138b3e17025b949343a06a8980a5508')
- version('20171207', sha256='1703667e53a0498c0903b20612ebcbb41b886a94b238624cfeadd91a4111d39a')
+ version("20220330", sha256="4b46d95b6ae4b3311ba805ff7d5a19b9e37ac0e86880e296e2111f565b545092")
+ version("20200710", sha256="6538fc4319ef79d178dca76d3b869f7aa93a9bb7b510df08a7d872c01a56b76c")
+ version("20180512", sha256="ac3cd262065fcc20c1dec7c95f06306c8138b3e17025b949343a06a8980a5508")
+ version("20171207", sha256="1703667e53a0498c0903b20612ebcbb41b886a94b238624cfeadd91a4111d39a")
def patch(self):
# Do not pre-roff cat pages
- filter_file('MANTARGET?', 'MANTARGET', 'mk/man.mk', string=True)
+ filter_file("MANTARGET?", "MANTARGET", "mk/man.mk", string=True)
# boot-strap hardcodes the directory it expects to be extracted to
- filter_file('GetDir /bmake', 'GetDir ' + self.stage.source_path,
- 'boot-strap', string=True)
+ filter_file("GetDir /bmake", "GetDir " + self.stage.source_path, "boot-strap", string=True)
def install(self, spec, prefix):
- sh = which('sh')
- sh('boot-strap', 'op=configure')
- sh('boot-strap', 'op=build')
- sh('boot-strap', '--prefix={0}'.format(prefix), 'op=install')
+ sh = which("sh")
+ sh("boot-strap", "op=configure")
+ sh("boot-strap", "op=build")
+ sh("boot-strap", "--prefix={0}".format(prefix), "op=install")
diff --git a/var/spack/repos/builtin/packages/bmi/package.py b/var/spack/repos/builtin/packages/bmi/package.py
index 3d5bdbf6a3..9997ad0a10 100644
--- a/var/spack/repos/builtin/packages/bmi/package.py
+++ b/var/spack/repos/builtin/packages/bmi/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class Bmi(AutotoolsPackage):
"""a communications framework and network abstraction layer"""
- homepage = 'https://github.com/radix-io/bmi/'
- git = 'https://github.com/radix-io/bmi.git'
- url = 'https://github.com/radix-io/bmi/archive/v2.8.1.tar.gz'
+ homepage = "https://github.com/radix-io/bmi/"
+ git = "https://github.com/radix-io/bmi.git"
+ url = "https://github.com/radix-io/bmi/archive/v2.8.1.tar.gz"
- maintainers = ['carns']
+ maintainers = ["carns"]
- version('main', branch='main')
- version('2.8.1', sha256='28aa4341f0456cf20ee762f712d7c749ab8f864003329f9327c18ea03fc7ffdb')
+ version("main", branch="main")
+ version("2.8.1", sha256="28aa4341f0456cf20ee762f712d7c749ab8f864003329f9327c18ea03fc7ffdb")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
# need to override 'autoreconf' so we can run BMI's 'prepare' script
def autoreconf(self, spec, prefix):
- Executable('./prepare')()
+ Executable("./prepare")()
def configure_args(self):
args = ["--enable-shared", "--enable-bmi-only"]
diff --git a/var/spack/repos/builtin/packages/bml/package.py b/var/spack/repos/builtin/packages/bml/package.py
index 9fafba5a55..a9fc4e66ec 100644
--- a/var/spack/repos/builtin/packages/bml/package.py
+++ b/var/spack/repos/builtin/packages/bml/package.py
@@ -12,36 +12,34 @@ class Bml(CMakePackage):
matrix operations."""
homepage = "https://lanl.github.io/bml/"
- url = "https://github.com/lanl/bml/tarball/v1.2.2"
- git = "https://github.com/lanl/bml.git"
+ url = "https://github.com/lanl/bml/tarball/v1.2.2"
+ git = "https://github.com/lanl/bml.git"
- version('develop', branch='master')
- version('1.3.1', sha256='17145eda96aa5e550dcbff1ee7ce62b45723af8210b1ab70c5975ec792fa3d13')
- version('1.3.0', sha256='d9465079fe77210eb2af2dcf8ed96802edf5bb76bfbfdbcc97e206c8cd460b07')
- version('1.2.3', sha256='9a2ee6c47d2445bfdb34495497ea338a047e9e4767802af47614d9ff94b0c523')
- version('1.2.2', sha256='89ab78f9fe8395fe019cc0495a1d7b69875b5708069faeb831ddb9a6a9280a8a')
- version('1.1.0', sha256='29162f1f7355ad28b44d3358206ccd3c7ac7794ee13788483abcbd2f8063e7fc')
+ version("develop", branch="master")
+ version("1.3.1", sha256="17145eda96aa5e550dcbff1ee7ce62b45723af8210b1ab70c5975ec792fa3d13")
+ version("1.3.0", sha256="d9465079fe77210eb2af2dcf8ed96802edf5bb76bfbfdbcc97e206c8cd460b07")
+ version("1.2.3", sha256="9a2ee6c47d2445bfdb34495497ea338a047e9e4767802af47614d9ff94b0c523")
+ version("1.2.2", sha256="89ab78f9fe8395fe019cc0495a1d7b69875b5708069faeb831ddb9a6a9280a8a")
+ version("1.1.0", sha256="29162f1f7355ad28b44d3358206ccd3c7ac7794ee13788483abcbd2f8063e7fc")
- variant('shared', default=True, description='Build shared libs')
- variant('mpi', default=True, description='Build with MPI Support')
+ variant("shared", default=True, description="Build shared libs")
+ variant("mpi", default=True, description="Build with MPI Support")
- conflicts('+mpi', when='@:1.2.2')
+ conflicts("+mpi", when="@:1.2.2")
depends_on("blas")
depends_on("lapack")
- depends_on('mpi', when='+mpi')
- depends_on('python', type='build')
+ depends_on("mpi", when="+mpi")
+ depends_on("python", type="build")
def cmake_args(self):
- args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
- ]
+ args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
spec = self.spec
- if '+mpi' in spec:
- args.append('-DBML_MPI=True')
- args.append('-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc)
- args.append('-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx)
- args.append('-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc)
+ if "+mpi" in spec:
+ args.append("-DBML_MPI=True")
+ args.append("-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc)
+ args.append("-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx)
+ args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc)
else:
- args.append('-DBML_MPI=False')
+ args.append("-DBML_MPI=False")
return args
diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py
index 49a159af05..e4c9efec9a 100644
--- a/var/spack/repos/builtin/packages/bohrium/package.py
+++ b/var/spack/repos/builtin/packages/bohrium/package.py
@@ -16,63 +16,56 @@ class Bohrium(CMakePackage, CudaPackage):
"""Library for automatic acceleration of array operations"""
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"
+ url = "https://github.com/bh107/bohrium/archive/v0.9.0.tar.gz"
+ git = "https://github.com/bh107/bohrium.git"
- maintainers = ['mfherbst']
+ maintainers = ["mfherbst"]
#
# Versions
#
version("develop", branch="master")
- version('0.9.1', sha256='a8675db35ea4587ef12d5885a1aa19b59fd9c3f1366e239059de8b0f3cf51e04')
- version('0.9.0', sha256='6f6379f1555de5a6a19138beac891a470df7df1fc9594e2b9404cf01b6e17d93')
+ version("0.9.1", sha256="a8675db35ea4587ef12d5885a1aa19b59fd9c3f1366e239059de8b0f3cf51e04")
+ version("0.9.0", sha256="6f6379f1555de5a6a19138beac891a470df7df1fc9594e2b9404cf01b6e17d93")
#
# Variants
#
- variant("cuda", default=True,
- description="Build with CUDA code generator")
- variant('opencl', default=True,
- description="Build with OpenCL code generator")
- variant('openmp', default=True,
- description="Build with OpenMP code generator")
-
- variant('node', default=True,
- description="Build the node vector engine manager")
- variant('proxy', default=False,
- description="Build the proxy vector engine manager")
- variant('python', default=True,
- description="Build the numpy-like bridge "
- "to enable use from python")
- variant('cbridge', default=True,
- description="Build the bridge interface towards plain C")
-
- variant('blas', default=True,
- description="Build with BLAS extension methods")
- variant('lapack', default=True,
- description="Build with LAPACK extension methods")
- variant('opencv', default=True,
- description="Build with OpenCV extension methods")
+ variant("cuda", default=True, description="Build with CUDA code generator")
+ variant("opencl", default=True, description="Build with OpenCL code generator")
+ variant("openmp", default=True, description="Build with OpenMP code generator")
+
+ variant("node", default=True, description="Build the node vector engine manager")
+ variant("proxy", default=False, description="Build the proxy vector engine manager")
+ variant(
+ "python",
+ default=True,
+ description="Build the numpy-like bridge " "to enable use from python",
+ )
+ variant("cbridge", default=True, description="Build the bridge interface towards plain C")
+
+ variant("blas", default=True, description="Build with BLAS extension methods")
+ variant("lapack", default=True, description="Build with LAPACK extension methods")
+ variant("opencv", default=True, description="Build with OpenCV extension methods")
#
# Conflicts and extensions
#
- conflicts('%intel')
- conflicts('%clang@:3.5')
- conflicts('%gcc@:4.7')
- extends('python', when="+python")
+ conflicts("%intel")
+ conflicts("%clang@:3.5")
+ conflicts("%gcc@:4.7")
+ extends("python", when="+python")
# Bohrium needs at least one vector engine and
# at least one vector engine manager
- conflicts('~node~proxy')
- conflicts('~openmp~opencl~cuda')
+ conflicts("~node~proxy")
+ conflicts("~openmp~opencl~cuda")
#
# Dependencies
#
- depends_on('cmake@2.8:', type="build")
- depends_on('boost+system+serialization+filesystem+regex')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("boost+system+serialization+filesystem+regex")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -80,31 +73,31 @@ class Bohrium(CMakePackage, CudaPackage):
depends_on(Boost.with_default_variants)
# cuda dependencies managed by CudaPackage class
- depends_on('opencl', when="+opencl")
+ depends_on("opencl", when="+opencl")
# NOTE The lapacke interface and hence netlib-lapack
# is the strictly required lapack provider
# for bohrium right now.
- depends_on('netlib-lapack+lapacke', when="+lapack")
- depends_on('blas', when="+blas")
+ depends_on("netlib-lapack+lapacke", when="+lapack")
+ depends_on("blas", when="+blas")
# Make sure an appropriate opencv is used
- depends_on('opencv@:3+imgproc', when="+opencv")
- depends_on('opencv+cudev', when="+opencv+cuda")
- depends_on('opencv+openmp', when="+opencv+openmp")
+ depends_on("opencv@:3+imgproc", when="+opencv")
+ depends_on("opencv+cudev", when="+opencv+cuda")
+ depends_on("opencv+openmp", when="+opencv+openmp")
- depends_on('python', type="build", when="~python")
- depends_on('python', type=("build", "link", "test"), when="+python")
- depends_on('py-numpy', type=("build", "test", "run"), when="+python")
- depends_on('swig', type="build", when="+python")
- depends_on('py-cython', type="build", when="+python")
- depends_on('py-virtualenv', type="build", when="+python")
- depends_on('py-pip', type="build", when="+python")
- depends_on('py-wheel', type="build", when="+python")
+ depends_on("python", type="build", when="~python")
+ depends_on("python", type=("build", "link", "test"), when="+python")
+ depends_on("py-numpy", type=("build", "test", "run"), when="+python")
+ depends_on("swig", type="build", when="+python")
+ depends_on("py-cython", type="build", when="+python")
+ depends_on("py-virtualenv", type="build", when="+python")
+ depends_on("py-pip", type="build", when="+python")
+ depends_on("py-wheel", type="build", when="+python")
- depends_on('zlib', when="+proxy")
+ depends_on("zlib", when="+proxy")
- depends_on('libsigsegv')
+ depends_on("libsigsegv")
@property
def config_file(self):
@@ -125,7 +118,7 @@ class Bohrium(CMakePackage, CudaPackage):
args = [
# Choose a particular python version
- "-DPYTHON_EXECUTABLE:FILEPATH=" + spec['python'].command.path,
+ "-DPYTHON_EXECUTABLE:FILEPATH=" + spec["python"].command.path,
#
# Hard-disable Jupyter, since this would override a config
# file in the user's home directory in some cases during
@@ -200,7 +193,7 @@ class Bohrium(CMakePackage, CudaPackage):
# TODO Other extension methods are not ready yet,
# because of missing packages in Spack
args += [
- "-DEXT_CLBLAS=OFF", # clBLAS missing
+ "-DEXT_CLBLAS=OFF", # clBLAS missing
# Bohrium visualizer extension method
"-DEXT_VISUALIZER=OFF", # freeglut missing
]
@@ -218,7 +211,7 @@ class Bohrium(CMakePackage, CudaPackage):
#
# Quick tests
#
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
spec = self.spec
@@ -230,7 +223,7 @@ class Bohrium(CMakePackage, CudaPackage):
# Remove the lib/spackenv directory from the PATH variable when
# executing the tests, becauses it messes with the JIT compilation
# inside Bohrium
- paths = os.environ['PATH'].split(':')
+ paths = os.environ["PATH"].split(":")
paths = [p for p in paths if "spack/env" not in p]
test_env["PATH"] = ":".join(paths)
@@ -250,20 +243,25 @@ class Bohrium(CMakePackage, CudaPackage):
# C++ compiler and compiler flags
cxx = Executable(self.compiler.cxx)
- cxx_flags = ["-I", self.prefix.include,
- "-I", self.prefix.include.bohrium,
- "-L", self.prefix.lib, "-lbh", "-lbhxx"]
+ cxx_flags = [
+ "-I",
+ self.prefix.include,
+ "-I",
+ self.prefix.include.bohrium,
+ "-L",
+ self.prefix.lib,
+ "-lbh",
+ "-lbhxx",
+ ]
# Compile C++ test program
- file_cxxadd = join_path(os.path.dirname(self.module.__file__),
- "cxxadd.cpp")
+ file_cxxadd = join_path(os.path.dirname(self.module.__file__), "cxxadd.cpp")
cxx("-o", "test_cxxadd", file_cxxadd, *cxx_flags)
test_cxxadd = Executable("./test_cxxadd")
# Build python test commandline
- file_pyadd = join_path(os.path.dirname(self.module.__file__),
- "pyadd.py")
- test_pyadd = Executable(spec['python'].command.path + " " + file_pyadd)
+ file_pyadd = join_path(os.path.dirname(self.module.__file__), "pyadd.py")
+ test_pyadd = Executable(spec["python"].command.path + " " + file_pyadd)
# Run tests for each available stack
for bh_stack in stacks:
diff --git a/var/spack/repos/builtin/packages/boinc-client/package.py b/var/spack/repos/builtin/packages/boinc-client/package.py
index 89f0030a41..c2119243d1 100644
--- a/var/spack/repos/builtin/packages/boinc-client/package.py
+++ b/var/spack/repos/builtin/packages/boinc-client/package.py
@@ -15,38 +15,38 @@ class BoincClient(AutotoolsPackage):
applications."""
homepage = "https://boinc.berkeley.edu/"
- url = "https://github.com/BOINC/boinc/archive/client_release/7.16/7.16.5.tar.gz"
+ url = "https://github.com/BOINC/boinc/archive/client_release/7.16/7.16.5.tar.gz"
- version('7.16.5', sha256='33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a')
+ version("7.16.5", sha256="33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a")
- variant('manager', default=False, description='Builds the client manager')
- variant('graphics', default=False, description='Graphic apps support')
+ variant("manager", default=False, description="Builds the client manager")
+ variant("graphics", default=False, description="Graphic apps support")
# Dependency documentation:
# https://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix
- conflicts('%gcc@:3.0.4')
+ conflicts("%gcc@:3.0.4")
- depends_on('autoconf@2.58:', type='build')
- depends_on('automake@1.8:', type='build')
- depends_on('libtool@1.5:', type='build')
- depends_on('m4@1.4:', type='build')
+ depends_on("autoconf@2.58:", type="build")
+ depends_on("automake@1.8:", type="build")
+ depends_on("libtool@1.5:", type="build")
+ depends_on("m4@1.4:", type="build")
- depends_on('curl@7.17.1:')
- depends_on('openssl@0.9.8:')
+ depends_on("curl@7.17.1:")
+ depends_on("openssl@0.9.8:")
- depends_on('freeglut@3:', when='+graphics')
- depends_on('libsm', when='+graphics')
- depends_on('libice', when='+graphics')
- depends_on('libxmu', when='+graphics')
- depends_on('libxi', when='+graphics')
- depends_on('libx11', when='+graphics')
- depends_on('libjpeg', when='+graphics')
+ depends_on("freeglut@3:", when="+graphics")
+ depends_on("libsm", when="+graphics")
+ depends_on("libice", when="+graphics")
+ depends_on("libxmu", when="+graphics")
+ depends_on("libxi", when="+graphics")
+ depends_on("libx11", when="+graphics")
+ depends_on("libjpeg", when="+graphics")
- depends_on('wxwidgets@3.0.0:', when='+manager')
- depends_on('libnotify', when='+manager')
- depends_on('sqlite@3.1:', when='+manager')
+ depends_on("wxwidgets@3.0.0:", when="+manager")
+ depends_on("libnotify", when="+manager")
+ depends_on("sqlite@3.1:", when="+manager")
- patch('systemd-fix.patch')
+ patch("systemd-fix.patch")
def configure_args(self):
spec = self.spec
@@ -55,9 +55,9 @@ class BoincClient(AutotoolsPackage):
args.append("--disable-server")
args.append("--enable-client")
- if '+manager' in spec:
- args.append('--enable-manager')
+ if "+manager" in spec:
+ args.append("--enable-manager")
else:
- args.append('--disable-manager')
+ args.append("--disable-manager")
return args
diff --git a/var/spack/repos/builtin/packages/bolt/package.py b/var/spack/repos/builtin/packages/bolt/package.py
index 64b8a5f5fc..92b5150cad 100644
--- a/var/spack/repos/builtin/packages/bolt/package.py
+++ b/var/spack/repos/builtin/packages/bolt/package.py
@@ -22,11 +22,11 @@ class Bolt(CMakePackage):
OpenMP compiler, and GCC."""
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']
+ 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"]
- tags = ['e4s']
+ tags = ["e4s"]
version("main", branch="main")
version("2.0", sha256="f84b6a525953edbaa5d28748ef3ab172a3b6f6899b07092065ba7d1ccc6eb5ac")
@@ -35,49 +35,53 @@ class Bolt(CMakePackage):
test_requires_compiler = True
- depends_on('argobots')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("argobots")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def cmake_args(self):
spec = self.spec
options = [
- '-DLIBOMP_USE_ARGOBOTS=on',
- '-DLIBOMP_ARGOBOTS_INSTALL_DIR=' + spec['argobots'].prefix
+ "-DLIBOMP_USE_ARGOBOTS=on",
+ "-DLIBOMP_ARGOBOTS_INSTALL_DIR=" + spec["argobots"].prefix,
]
return options
- @run_after('install')
+ @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(['examples'])
+ self.cache_extra_test_sources(["examples"])
def run_sample_nested_example(self):
"""Run stand alone test: sample_nested"""
- test_dir = join_path(self.test_suite.current_test_cache_dir, 'examples')
- exe = 'sample_nested'
- source_file = 'sample_nested.c'
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "examples")
+ exe = "sample_nested"
+ source_file = "sample_nested.c"
if not os.path.isfile(join_path(test_dir, source_file)):
- tty.warn('Skipping bolt test:'
- '{0} does not exist'.format(source_file))
+ tty.warn("Skipping bolt test:" "{0} does not exist".format(source_file))
return
- self.run_test(exe=os.environ['CXX'],
- options=['-L{0}'.format(self.prefix.lib),
- '-I{0}'.format(self.prefix.include),
- '{0}'.format(join_path(test_dir, source_file)),
- '-o', exe, '-lomp', '-lbolt'],
- 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)
+ self.run_test(
+ exe=os.environ["CXX"],
+ options=[
+ "-L{0}".format(self.prefix.lib),
+ "-I{0}".format(self.prefix.include),
+ "{0}".format(join_path(test_dir, source_file)),
+ "-o",
+ exe,
+ "-lomp",
+ "-lbolt",
+ ],
+ 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_sample_nested_example()
diff --git a/var/spack/repos/builtin/packages/bonniepp/package.py b/var/spack/repos/builtin/packages/bonniepp/package.py
index deb957a139..2a382582bf 100644
--- a/var/spack/repos/builtin/packages/bonniepp/package.py
+++ b/var/spack/repos/builtin/packages/bonniepp/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Bonniepp(AutotoolsPackage):
"""Bonnie++ is a benchmark suite that is aimed at performing a number of
- simple tests of hard drive and file system performance."""
+ simple tests of hard drive and file system performance."""
homepage = "https://doc.coker.com.au/projects/bonnie"
- url = "https://www.coker.com.au/bonnie++/bonnie++-1.98.tgz"
+ url = "https://www.coker.com.au/bonnie++/bonnie++-1.98.tgz"
- version('1.98', sha256='6e0bcbc08b78856fd998dd7bcb352d4615a99c26c2dc83d5b8345b102bad0b04')
+ version("1.98", sha256="6e0bcbc08b78856fd998dd7bcb352d4615a99c26c2dc83d5b8345b102bad0b04")
def configure_args(self):
configure_args = []
- configure_args.append('--enable-debug')
+ configure_args.append("--enable-debug")
return configure_args
def setup_run_environment(self, env):
"""Prepend the sbin directory to PATH."""
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/bookleaf-cpp/package.py b/var/spack/repos/builtin/packages/bookleaf-cpp/package.py
index e84d01ecf9..51db40c5bf 100644
--- a/var/spack/repos/builtin/packages/bookleaf-cpp/package.py
+++ b/var/spack/repos/builtin/packages/bookleaf-cpp/package.py
@@ -10,41 +10,41 @@ class BookleafCpp(CMakePackage):
"""BookLeaf is a 2D unstructured hydrodynamics mini-app."""
homepage = "https://github.com/UK-MAC/BookLeaf_Cpp"
- url = "https://github.com/UK-MAC/BookLeaf_Cpp/archive/v2.0.tar.gz"
- git = "https://github.com/UK-MAC/BookLeaf_Cpp.git"
+ url = "https://github.com/UK-MAC/BookLeaf_Cpp/archive/v2.0.tar.gz"
+ git = "https://github.com/UK-MAC/BookLeaf_Cpp.git"
- version('develop', branch='develop')
+ version("develop", branch="develop")
- version('2.0.2', sha256='787ade5045415d71d9bad55fe9f93598f3a0548d13e2ff80e752cc99f62fe6d3')
- version('2.0.1', sha256='1286f916f59d1f3bf325041854e8c203894e293c5e26d5b19b9362ee02082983')
- version('2.0', sha256='3c14344c31385bec9e089f9babf815566c4fcf98a47822f663afa2cefb0e90e1')
+ version("2.0.2", sha256="787ade5045415d71d9bad55fe9f93598f3a0548d13e2ff80e752cc99f62fe6d3")
+ version("2.0.1", sha256="1286f916f59d1f3bf325041854e8c203894e293c5e26d5b19b9362ee02082983")
+ version("2.0", sha256="3c14344c31385bec9e089f9babf815566c4fcf98a47822f663afa2cefb0e90e1")
- variant('typhon', default=True, description='Use Typhon')
- variant('parmetis', default=False, description='Use ParMETIS')
- variant('silo', default=False, description='Use Silo')
- variant('caliper', default=False, description='Use Caliper')
+ variant("typhon", default=True, description="Use Typhon")
+ variant("parmetis", default=False, description="Use ParMETIS")
+ variant("silo", default=False, description="Use Silo")
+ variant("caliper", default=False, description="Use Caliper")
- depends_on('caliper', when='+caliper')
- depends_on('parmetis', when='+parmetis')
- depends_on('silo', when='+silo')
- depends_on('typhon', when='+typhon')
- depends_on('mpi', when='+typhon')
- depends_on('yaml-cpp@0.6.0:')
+ depends_on("caliper", when="+caliper")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("silo", when="+silo")
+ depends_on("typhon", when="+typhon")
+ depends_on("mpi", when="+typhon")
+ depends_on("yaml-cpp@0.6.0:")
def cmake_args(self):
spec = self.spec
cmake_args = []
- if '+typhon' in spec:
- cmake_args.append('-DENABLE_TYPHON=ON')
+ if "+typhon" in spec:
+ cmake_args.append("-DENABLE_TYPHON=ON")
- if '+parmetis' in spec:
- cmake_args.append('-DENABLE_PARMETIS=ON')
+ if "+parmetis" in spec:
+ cmake_args.append("-DENABLE_PARMETIS=ON")
- if '+silo' in spec:
- cmake_args.append('-DENABLE_SILO=ON')
+ if "+silo" in spec:
+ cmake_args.append("-DENABLE_SILO=ON")
- if '+caliper' in spec:
- cmake_args.append('-DENABLE_CALIPER=ON')
+ if "+caliper" in spec:
+ cmake_args.append("-DENABLE_CALIPER=ON")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 2badcfd26c..32c57bcd3b 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -11,90 +11,94 @@ from spack.package import *
class Boost(Package):
"""Boost provides free peer-reviewed portable C++ source
- libraries, emphasizing libraries that work well with the C++
- Standard Library.
+ libraries, emphasizing libraries that work well with the C++
+ Standard Library.
- Boost libraries are intended to be widely useful, and usable
- across a broad spectrum of applications. The Boost license
- encourages both commercial and non-commercial use.
+ Boost libraries are intended to be widely useful, and usable
+ across a broad spectrum of applications. The Boost license
+ encourages both commercial and non-commercial use.
"""
+
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"
+ 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 = "https://sourceforge.net/projects/boost/files/boost/"
list_depth = 1
- maintainers = ['hainest']
-
- version('develop', branch='develop', submodules=True)
- version('1.79.0', sha256='475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39')
- version('1.78.0', sha256='8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc')
- version('1.77.0', sha256='fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854')
- version('1.76.0', sha256='f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41')
- version('1.75.0', sha256='953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb')
- version('1.74.0', sha256='83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1')
- version('1.73.0', sha256='4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402')
- version('1.72.0', sha256='59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722')
- version('1.71.0', sha256='d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee')
- version('1.70.0', sha256='430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778')
- version('1.69.0', sha256='8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406')
- version('1.68.0', sha256='7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7')
- version('1.67.0', sha256='2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba')
- version('1.66.0', sha256='5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9')
- version('1.65.1', sha256='9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81')
- version('1.65.0', sha256='ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c')
+ maintainers = ["hainest"]
+
+ version("develop", branch="develop", submodules=True)
+ version("1.79.0", sha256="475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39")
+ version("1.78.0", sha256="8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc")
+ version("1.77.0", sha256="fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854")
+ version("1.76.0", sha256="f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41")
+ version("1.75.0", sha256="953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb")
+ version("1.74.0", sha256="83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1")
+ version("1.73.0", sha256="4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402")
+ version("1.72.0", sha256="59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722")
+ version("1.71.0", sha256="d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee")
+ version("1.70.0", sha256="430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778")
+ version("1.69.0", sha256="8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406")
+ version("1.68.0", sha256="7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7")
+ version("1.67.0", sha256="2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba")
+ version("1.66.0", sha256="5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9")
+ version("1.65.1", sha256="9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81")
+ version("1.65.0", sha256="ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c")
# NOTE: 1.64.0 seems fine for *most* applications, but if you need
# +python and +mpi, there seem to be errors with out-of-date
# API calls from mpi/python.
# See: https://github.com/spack/spack/issues/3963
- version('1.64.0', sha256='7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332')
- version('1.63.0', sha256='beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0')
- version('1.62.0', sha256='36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0')
- version('1.61.0', sha256='a547bd06c2fd9a71ba1d169d9cf0339da7ebf4753849a8f7d6fdb8feee99b640')
- version('1.60.0', sha256='686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b')
- version('1.59.0', sha256='727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca')
- version('1.58.0', sha256='fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5')
- version('1.57.0', sha256='910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967')
- version('1.56.0', sha256='134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d')
- version('1.55.0', sha256='fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52')
- version('1.54.0', sha256='047e927de336af106a24bceba30069980c191529fd76b8dff8eb9a328b48ae1d')
- version('1.53.0', sha256='f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196')
- version('1.52.0', sha256='222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92')
- version('1.51.0', sha256='fb2d2335a29ee7fe040a197292bfce982af84a645c81688a915c84c925b69696')
- version('1.50.0', sha256='c9ace2b8c81fa6703d1d17c7e478de3bc51101c5adbdeb3f6cb72cf3045a8529')
- version('1.49.0', sha256='dd748a7f5507a7e7af74f452e1c52a64e651ed1f7263fce438a06641d2180d3c')
- version('1.48.0', sha256='1bf254b2d69393ccd57a3cdd30a2f80318a005de8883a0792ed2f5e2598e5ada')
- version('1.47.0', sha256='815a5d9faac4dbd523fbcf3fe1065e443c0bbf43427c44aa423422c6ec4c2e31')
- version('1.46.1', sha256='e1dfbf42b16e5015c46b98e9899c423ca4d04469cbeee05e43ea19236416d883')
- version('1.46.0', sha256='2f90f60792fdc25e674b8a857a0bcbb8d01199651719c90d5c4f8c61c08eba59')
- version('1.45.0', sha256='55ed3ec51d5687e8224c988e22bef215dacce04e037d9f689569a80c4377a6d5')
- version('1.44.0', sha256='45c328029d97d1f1dc7ff8c9527cd0c5cc356636084a800bca2ee4bfab1978db')
- version('1.43.0', sha256='344f100b1aa410e812cabf0e4130728a80be042bf346135516b9187853806120')
- version('1.42.0', sha256='4b1eb95bd250ce15ac66435d6167f225b072b0d3a7eb72477a31847a9ca9e609')
- version('1.41.0', sha256='1ef94e6749eaf13318284b4f629be063544c7015b45e38113b975ac1945cc726')
- version('1.40.0', sha256='36cf4a239b587067a4923fdf6e290525a14c3af29829524fa73f3dec6841530c')
- version('1.39.0', sha256='44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd')
-
- with_default_variants = 'boost' + ''.join([
- '+atomic',
- '+chrono',
- '+date_time',
- '+exception',
- '+filesystem',
- '+graph',
- '+iostreams',
- '+locale',
- '+log',
- '+math',
- '+program_options',
- '+random',
- '+regex',
- '+serialization',
- '+signals',
- '+system',
- '+test',
- '+thread',
- '+timer',
- '+wave'])
+ version("1.64.0", sha256="7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332")
+ version("1.63.0", sha256="beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0")
+ version("1.62.0", sha256="36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0")
+ version("1.61.0", sha256="a547bd06c2fd9a71ba1d169d9cf0339da7ebf4753849a8f7d6fdb8feee99b640")
+ version("1.60.0", sha256="686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b")
+ version("1.59.0", sha256="727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca")
+ version("1.58.0", sha256="fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5")
+ version("1.57.0", sha256="910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967")
+ version("1.56.0", sha256="134732acaf3a6e7eba85988118d943f0fa6b7f0850f65131fff89823ad30ff1d")
+ version("1.55.0", sha256="fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52")
+ version("1.54.0", sha256="047e927de336af106a24bceba30069980c191529fd76b8dff8eb9a328b48ae1d")
+ version("1.53.0", sha256="f88a041b01882b0c9c5c05b39603ec8383fb881f772f6f9e6e6fd0e0cddb9196")
+ version("1.52.0", sha256="222b6afd7723f396f5682c20130314a10196d3999feab5ba920d2a6bf53bac92")
+ version("1.51.0", sha256="fb2d2335a29ee7fe040a197292bfce982af84a645c81688a915c84c925b69696")
+ version("1.50.0", sha256="c9ace2b8c81fa6703d1d17c7e478de3bc51101c5adbdeb3f6cb72cf3045a8529")
+ version("1.49.0", sha256="dd748a7f5507a7e7af74f452e1c52a64e651ed1f7263fce438a06641d2180d3c")
+ version("1.48.0", sha256="1bf254b2d69393ccd57a3cdd30a2f80318a005de8883a0792ed2f5e2598e5ada")
+ version("1.47.0", sha256="815a5d9faac4dbd523fbcf3fe1065e443c0bbf43427c44aa423422c6ec4c2e31")
+ version("1.46.1", sha256="e1dfbf42b16e5015c46b98e9899c423ca4d04469cbeee05e43ea19236416d883")
+ version("1.46.0", sha256="2f90f60792fdc25e674b8a857a0bcbb8d01199651719c90d5c4f8c61c08eba59")
+ version("1.45.0", sha256="55ed3ec51d5687e8224c988e22bef215dacce04e037d9f689569a80c4377a6d5")
+ version("1.44.0", sha256="45c328029d97d1f1dc7ff8c9527cd0c5cc356636084a800bca2ee4bfab1978db")
+ version("1.43.0", sha256="344f100b1aa410e812cabf0e4130728a80be042bf346135516b9187853806120")
+ version("1.42.0", sha256="4b1eb95bd250ce15ac66435d6167f225b072b0d3a7eb72477a31847a9ca9e609")
+ version("1.41.0", sha256="1ef94e6749eaf13318284b4f629be063544c7015b45e38113b975ac1945cc726")
+ version("1.40.0", sha256="36cf4a239b587067a4923fdf6e290525a14c3af29829524fa73f3dec6841530c")
+ version("1.39.0", sha256="44785eae8c6cce61a29a8a51f9b737e57b34d66baa7c0bcd4af188832b8018fd")
+
+ with_default_variants = "boost" + "".join(
+ [
+ "+atomic",
+ "+chrono",
+ "+date_time",
+ "+exception",
+ "+filesystem",
+ "+graph",
+ "+iostreams",
+ "+locale",
+ "+log",
+ "+math",
+ "+program_options",
+ "+random",
+ "+regex",
+ "+serialization",
+ "+signals",
+ "+system",
+ "+test",
+ "+thread",
+ "+timer",
+ "+wave",
+ ]
+ )
# mpi/python are not installed by default because they pull in many
# dependencies and/or because there is a great deal of customization
@@ -104,139 +108,150 @@ class Boost(Package):
# indicates the compiled version which requires Extended Allocator
# support. The header-only library is installed when no variant is given.
all_libs = [
- 'atomic',
- 'chrono',
- 'container',
- 'context',
- 'contract',
- 'coroutine',
- 'date_time',
- 'exception',
- 'fiber',
- 'filesystem',
- 'graph',
- 'graph_parallel',
- 'iostreams',
- 'json',
- 'locale',
- 'log',
- 'math',
- 'mpi',
- 'nowide',
- 'program_options',
- 'python',
- 'random',
- 'regex',
- 'serialization',
- 'signals',
- 'stacktrace',
- 'system',
- 'test',
- 'thread',
- 'timer',
- 'type_erasure',
- 'wave',
+ "atomic",
+ "chrono",
+ "container",
+ "context",
+ "contract",
+ "coroutine",
+ "date_time",
+ "exception",
+ "fiber",
+ "filesystem",
+ "graph",
+ "graph_parallel",
+ "iostreams",
+ "json",
+ "locale",
+ "log",
+ "math",
+ "mpi",
+ "nowide",
+ "program_options",
+ "python",
+ "random",
+ "regex",
+ "serialization",
+ "signals",
+ "stacktrace",
+ "system",
+ "test",
+ "thread",
+ "timer",
+ "type_erasure",
+ "wave",
]
for lib in all_libs:
- variant(lib, default=False,
- description="Compile with {0} library".format(lib))
+ variant(lib, default=False, description="Compile with {0} library".format(lib))
@property
def libs(self):
query = self.spec.last_query.extra_parameters
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- libnames = query if query else [lib for lib in self.all_libs
- if self.spec.satisfies('+%s' % lib)]
- libnames += ['monitor']
- libraries = ['libboost_*%s*' % lib for lib in libnames]
-
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
+ libnames = (
+ query if query else [lib for lib in self.all_libs if self.spec.satisfies("+%s" % lib)]
)
-
- variant('context-impl',
- default='fcontext',
- values=('fcontext', 'ucontext', 'winfib'),
- multi=False,
- description='Use the specified backend for boost-context',
- when='@1.65.0: +context')
-
- variant('cxxstd',
- default='98',
- values=(
- '98', '11', '14',
- # C++17 is not supported by Boost < 1.63.0.
- conditional('17', when='@1.63.0:'),
- # C++20/2a is not support by Boost < 1.73.0
- conditional('2a', when='@1.73.0:')
- ),
- multi=False,
- description='Use the specified C++ standard when building.')
- variant('debug', default=False,
- description='Switch to the debug version of Boost')
- variant('shared', default=True,
- description="Additionally build shared libraries")
- variant('multithreaded', default=True,
- description="Build multi-threaded versions of libraries")
- variant('singlethreaded', default=False,
- description="Build single-threaded versions of libraries")
- variant('icu', default=False,
- description="Build with Unicode and ICU suport")
- variant('taggedlayout', default=False,
- description="Augment library names with build options")
- variant('versionedlayout', default=False,
- description="Augment library layout with versioned subdirs")
- variant('clanglibcpp', default=False,
- description='Compile with clang libc++ instead of libstdc++')
- variant('numpy', default=False,
- description='Build the Boost NumPy library (requires +python)')
- variant('pic', default=False,
- description='Generate position-independent code (PIC), useful '
- 'for building static libraries')
+ libnames += ["monitor"]
+ libraries = ["libboost_*%s*" % lib for lib in libnames]
+
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
+
+ variant(
+ "context-impl",
+ default="fcontext",
+ values=("fcontext", "ucontext", "winfib"),
+ multi=False,
+ description="Use the specified backend for boost-context",
+ when="@1.65.0: +context",
+ )
+
+ variant(
+ "cxxstd",
+ default="98",
+ values=(
+ "98",
+ "11",
+ "14",
+ # C++17 is not supported by Boost < 1.63.0.
+ conditional("17", when="@1.63.0:"),
+ # C++20/2a is not support by Boost < 1.73.0
+ conditional("2a", when="@1.73.0:"),
+ ),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+ variant("debug", default=False, description="Switch to the debug version of Boost")
+ variant("shared", default=True, description="Additionally build shared libraries")
+ variant(
+ "multithreaded", default=True, description="Build multi-threaded versions of libraries"
+ )
+ variant(
+ "singlethreaded", default=False, description="Build single-threaded versions of libraries"
+ )
+ variant("icu", default=False, description="Build with Unicode and ICU suport")
+ variant("taggedlayout", default=False, description="Augment library names with build options")
+ variant(
+ "versionedlayout",
+ default=False,
+ description="Augment library layout with versioned subdirs",
+ )
+ variant(
+ "clanglibcpp", default=False, description="Compile with clang libc++ instead of libstdc++"
+ )
+ variant("numpy", default=False, description="Build the Boost NumPy library (requires +python)")
+ variant(
+ "pic",
+ default=False,
+ description="Generate position-independent code (PIC), useful "
+ "for building static libraries",
+ )
# https://boostorg.github.io/build/manual/develop/index.html#bbv2.builtin.features.visibility
- variant('visibility', values=('global', 'protected', 'hidden'),
- default='hidden', multi=False,
- description='Default symbol visibility in compiled libraries '
- '(1.69.0 or later)')
+ variant(
+ "visibility",
+ values=("global", "protected", "hidden"),
+ default="hidden",
+ multi=False,
+ description="Default symbol visibility in compiled libraries " "(1.69.0 or later)",
+ )
# Unicode support
- depends_on('icu4c', when='+icu')
- depends_on('icu4c cxxstd=11', when='+icu cxxstd=11')
- depends_on('icu4c cxxstd=14', when='+icu cxxstd=14')
- depends_on('icu4c cxxstd=17', when='+icu cxxstd=17')
- conflicts('cxxstd=98', when='+icu') # Requires c++11 at least
-
- depends_on('python', when='+python')
- depends_on('mpi', when='+mpi')
- depends_on('bzip2', when='+iostreams')
- depends_on('zlib', when='+iostreams')
- depends_on('py-numpy', when='+numpy', type=('build', 'run'))
+ depends_on("icu4c", when="+icu")
+ depends_on("icu4c cxxstd=11", when="+icu cxxstd=11")
+ depends_on("icu4c cxxstd=14", when="+icu cxxstd=14")
+ depends_on("icu4c cxxstd=17", when="+icu cxxstd=17")
+ conflicts("cxxstd=98", when="+icu") # Requires c++11 at least
+
+ depends_on("python", when="+python")
+ depends_on("mpi", when="+mpi")
+ depends_on("bzip2", when="+iostreams")
+ depends_on("zlib", when="+iostreams")
+ depends_on("py-numpy", when="+numpy", type=("build", "run"))
# Improve the error message when the context-impl variant is conflicting
- conflicts('context-impl=fcontext', when='@:1.65.0')
- conflicts('context-impl=ucontext', when='@:1.65.0')
- conflicts('context-impl=winfib', when='@:1.65.0')
+ conflicts("context-impl=fcontext", when="@:1.65.0")
+ conflicts("context-impl=ucontext", when="@:1.65.0")
+ conflicts("context-impl=winfib", when="@:1.65.0")
# Coroutine, Context, Fiber, etc., are not straightforward.
- conflicts('+context', when='@:1.50') # Context since 1.51.0.
- conflicts('cxxstd=98', when='+context') # Context requires >=C++11.
- conflicts('+coroutine', when='@:1.52') # Context since 1.53.0.
- conflicts('~context', when='+coroutine') # Coroutine requires Context.
- conflicts('+fiber', when='@:1.61') # Fiber since 1.62.0.
- conflicts('cxxstd=98', when='+fiber') # Fiber requires >=C++11.
- conflicts('~context', when='+fiber') # Fiber requires Context.
+ conflicts("+context", when="@:1.50") # Context since 1.51.0.
+ conflicts("cxxstd=98", when="+context") # Context requires >=C++11.
+ conflicts("+coroutine", when="@:1.52") # Context since 1.53.0.
+ conflicts("~context", when="+coroutine") # Coroutine requires Context.
+ conflicts("+fiber", when="@:1.61") # Fiber since 1.62.0.
+ conflicts("cxxstd=98", when="+fiber") # Fiber requires >=C++11.
+ conflicts("~context", when="+fiber") # Fiber requires Context.
- conflicts('+taggedlayout', when='+versionedlayout')
- conflicts('+numpy', when='~python')
+ conflicts("+taggedlayout", when="+versionedlayout")
+ conflicts("+numpy", when="~python")
# boost-python in 1.72.0 broken with cxxstd=98
- conflicts('cxxstd=98', when='+mpi+python @1.72.0')
+ conflicts("cxxstd=98", when="+mpi+python @1.72.0")
# Container's Extended Allocators were not added until 1.56.0
- conflicts('+container', when='@:1.55')
+ conflicts("+container", when="@:1.55")
# Boost.System till 1.76 (included) was relying on mutex, which was not
# detected correctly on Darwin platform when using GCC
@@ -244,87 +259,91 @@ class Boost(Package):
# More details here:
# https://github.com/STEllAR-GROUP/hpx/issues/5442#issuecomment-878889166
# https://github.com/STEllAR-GROUP/hpx/issues/5442#issuecomment-878913339
- conflicts('%gcc', when='@:1.76 +system platform=darwin')
+ conflicts("%gcc", when="@:1.76 +system platform=darwin")
# Patch fix from https://svn.boost.org/trac/boost/ticket/11856
- patch('boost_11856.patch', when='@1.60.0%gcc@4.4.7')
+ patch("boost_11856.patch", when="@1.60.0%gcc@4.4.7")
# Patch fix from https://svn.boost.org/trac/boost/ticket/11120
- patch('python_jam-1_77.patch', when='@1.77: ^python@3:')
- patch('python_jam.patch', when='@1.56:1.76 ^python@3:')
- patch('python_jam_pre156.patch', when='@:1.55.0 ^python@3:')
+ patch("python_jam-1_77.patch", when="@1.77: ^python@3:")
+ patch("python_jam.patch", when="@1.56:1.76 ^python@3:")
+ patch("python_jam_pre156.patch", when="@:1.55.0 ^python@3:")
# Patch fix for IBM XL compiler
- patch('xl_1_62_0_le.patch', when='@1.62.0%xl_r')
- patch('xl_1_62_0_le.patch', when='@1.62.0%xl')
+ patch("xl_1_62_0_le.patch", when="@1.62.0%xl_r")
+ patch("xl_1_62_0_le.patch", when="@1.62.0%xl")
# Patch fix from https://svn.boost.org/trac/boost/ticket/10125
- patch('call_once_variadic.patch', when='@1.54.0:1.55%gcc@5.0:')
+ patch("call_once_variadic.patch", when="@1.54.0:1.55%gcc@5.0:")
# Patch fix for PGI compiler
- patch('boost_1.67.0_pgi.patch', when='@1.67.0:1.68%pgi')
- patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi')
- patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4')
+ patch("boost_1.67.0_pgi.patch", when="@1.67.0:1.68%pgi")
+ patch("boost_1.63.0_pgi.patch", when="@1.63.0%pgi")
+ patch("boost_1.63.0_pgi_17.4_workaround.patch", when="@1.63.0%pgi@17.4")
# Patch to override the PGI toolset when using the NVIDIA compilers
- patch('nvhpc-1.74.patch', when='@1.74.0:1.75%nvhpc')
- patch('nvhpc-1.76.patch', when='@1.76.0:1.76%nvhpc')
+ patch("nvhpc-1.74.patch", when="@1.74.0:1.75%nvhpc")
+ patch("nvhpc-1.76.patch", when="@1.76.0:1.76%nvhpc")
# Patch to workaround compiler bug
- patch('nvhpc-find_address.patch', when='@1.75.0:1.76%nvhpc')
+ patch("nvhpc-find_address.patch", when="@1.75.0:1.76%nvhpc")
# Fix for version comparison on newer Clang on darwin
# See: https://github.com/boostorg/build/issues/440
# See: https://github.com/macports/macports-ports/pull/6726
- patch('darwin_clang_version.patch', level=0,
- when='@1.56.0:1.72.0 platform=darwin')
+ patch("darwin_clang_version.patch", level=0, when="@1.56.0:1.72.0 platform=darwin")
# Fix missing declaration of uintptr_t with glibc>=2.17 - https://bugs.gentoo.org/482372
- patch('https://482372.bugs.gentoo.org/attachment.cgi?id=356970', when='@1.53.0:1.54',
- sha256='b6f6ce68282159d46c716a1e6c819c815914bdb096cddc516fa48134209659f2')
+ patch(
+ "https://482372.bugs.gentoo.org/attachment.cgi?id=356970",
+ when="@1.53.0:1.54",
+ sha256="b6f6ce68282159d46c716a1e6c819c815914bdb096cddc516fa48134209659f2",
+ )
# Fix: "Unable to compile code using boost/process.hpp"
# See: https://github.com/boostorg/process/issues/116
# Patch: https://github.com/boostorg/process/commit/6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0.patch
- patch('1.72_boost_process.patch', level=2, when='@1.72.0')
+ patch("1.72_boost_process.patch", level=2, when="@1.72.0")
# Fix the bootstrap/bjam build for Cray
- patch('bootstrap-path.patch', when='@1.39.0: platform=cray')
+ patch("bootstrap-path.patch", when="@1.39.0: platform=cray")
# Patch fix for warnings from commits 2d37749, af1dc84, c705bab, and
# 0134441 on https://github.com/boostorg/system.
- patch('system-non-virtual-dtor-include.patch', when='@1.69.0',
- level=2)
- patch('system-non-virtual-dtor-test.patch', when='@1.69.0',
- working_dir='libs/system', level=1)
+ patch("system-non-virtual-dtor-include.patch", when="@1.69.0", level=2)
+ patch("system-non-virtual-dtor-test.patch", when="@1.69.0", working_dir="libs/system", level=1)
# Change the method for version analysis when using Fujitsu compiler.
- patch('fujitsu_version_analysis.patch', when='@1.67.0:1.76.0%fj')
- patch('fujitsu_version_analysis-1.77.patch', when='@1.77.0:%fj')
+ patch("fujitsu_version_analysis.patch", when="@1.67.0:1.76.0%fj")
+ patch("fujitsu_version_analysis-1.77.patch", when="@1.77.0:%fj")
# Add option to C/C++ compile commands in clang-linux.jam
- patch('clang-linux_add_option.patch', when='@1.56.0:1.63.0')
- patch('clang-linux_add_option2.patch', when='@1.47.0:1.55.0')
+ patch("clang-linux_add_option.patch", when="@1.56.0:1.63.0")
+ patch("clang-linux_add_option2.patch", when="@1.47.0:1.55.0")
# C++20 concepts fix for Beast
# See https://github.com/boostorg/beast/pull/1927 for details
- patch('https://www.boost.org/patches/1_73_0/0002-beast-coroutines.patch',
- sha256='4dd507e1f5a29e3b87b15321a4d8c74afdc8331433edabf7aeab89b3c405d556',
- when='@1.73.0')
+ patch(
+ "https://www.boost.org/patches/1_73_0/0002-beast-coroutines.patch",
+ sha256="4dd507e1f5a29e3b87b15321a4d8c74afdc8331433edabf7aeab89b3c405d556",
+ when="@1.73.0",
+ )
# Cloning a status_code with indirecting_domain leads to segmentation fault
# See https://github.com/ned14/outcome/issues/223 for details
- patch('https://www.boost.org/patches/1_73_0/0001-outcome-assert.patch',
- sha256='246508e052c44b6f4e8c2542a71c06cacaa72cd1447ab8d2a542b987bc35ace9',
- when='@1.73.0')
+ patch(
+ "https://www.boost.org/patches/1_73_0/0001-outcome-assert.patch",
+ sha256="246508e052c44b6f4e8c2542a71c06cacaa72cd1447ab8d2a542b987bc35ace9",
+ when="@1.73.0",
+ )
# Support bzip2 and gzip in other directory
# See https://github.com/boostorg/build/pull/154
- patch('boost_154.patch', when='@1.56.0:1.63')
+ patch("boost_154.patch", when="@1.56.0:1.63")
# Backport Python3 import problem
# See https://github.com/boostorg/python/pull/218
- patch('boost_218.patch', when='@1.63.0:1.67')
+ patch("boost_218.patch", when="@1.63.0:1.67")
# Fix B2 bootstrap toolset during installation
# See https://github.com/spack/spack/issues/20757
@@ -341,16 +360,20 @@ class Boost(Package):
# 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?full_index=1",
- sha256="666eec8cfb0f71a87443ab27d179a9771bda32bcb8ff5e16afa3767f7b7f1e70",
- when="@:1.76%cce",
- level=2)
+ patch(
+ "https://github.com/boostorg/config/commit/fee1ad07968386b6d547f089311b7a2c1bf7fa55.patch?full_index=1",
+ sha256="666eec8cfb0f71a87443ab27d179a9771bda32bcb8ff5e16afa3767f7b7f1e70",
+ when="@:1.76%cce",
+ level=2,
+ )
# Fix building with Intel compilers
- patch("https://github.com/bfgroup/b2/commit/23212066f0f20358db54568bb16b3fe1d76f88ce.patch?full_index=1",
- sha256="4849671f9df4b8f3c962130d7f6d44eba3b20d113e84f9faade75e6469e90310",
- when="@1.77.0",
- working_dir="tools/build")
+ patch(
+ "https://github.com/bfgroup/b2/commit/23212066f0f20358db54568bb16b3fe1d76f88ce.patch?full_index=1",
+ sha256="4849671f9df4b8f3c962130d7f6d44eba3b20d113e84f9faade75e6469e90310",
+ when="@1.77.0",
+ working_dir="tools/build",
+ )
# Fix issues with PTHREAD_STACK_MIN not being a DEFINED constant in newer glibc
# See https://github.com/spack/spack/issues/28273
@@ -361,23 +384,21 @@ class Boost(Package):
def patch(self):
# Disable SSSE3 and AVX2 when using the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('dump_avx2', '', 'libs/log/build/Jamfile.v2')
- filter_file('<define>BOOST_LOG_USE_AVX2', '',
- 'libs/log/build/Jamfile.v2')
- filter_file('dump_ssse3', '', 'libs/log/build/Jamfile.v2')
- filter_file('<define>BOOST_LOG_USE_SSSE3', '',
- 'libs/log/build/Jamfile.v2')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file("dump_avx2", "", "libs/log/build/Jamfile.v2")
+ filter_file("<define>BOOST_LOG_USE_AVX2", "", "libs/log/build/Jamfile.v2")
+ filter_file("dump_ssse3", "", "libs/log/build/Jamfile.v2")
+ filter_file("<define>BOOST_LOG_USE_SSSE3", "", "libs/log/build/Jamfile.v2")
- filter_file('-fast', '-O1', 'tools/build/src/tools/pgi.jam')
- filter_file('-fast', '-O1', 'tools/build/src/engine/build.sh')
+ filter_file("-fast", "-O1", "tools/build/src/tools/pgi.jam")
+ filter_file("-fast", "-O1", "tools/build/src/engine/build.sh")
# Fixes https://github.com/spack/spack/issues/29352
- if self.spec.satisfies('@1.78 %intel') or self.spec.satisfies('@1.78 %oneapi'):
- filter_file('-static', '', 'tools/build/src/engine/build.sh')
+ if self.spec.satisfies("@1.78 %intel") or self.spec.satisfies("@1.78 %oneapi"):
+ filter_file("-static", "", "tools/build/src/engine/build.sh")
def url_for_version(self, version):
- if version >= Version('1.63.0'):
+ if version >= Version("1.63.0"):
url = "https://boostorg.jfrog.io/artifactory/main/release/{0}/source/boost_{1}.tar.bz2"
else:
url = "http://downloads.sourceforge.net/project/boost/boost/{0}/boost_{1}.tar.bz2"
@@ -385,184 +406,188 @@ class Boost(Package):
return url.format(version.dotted, version.underscored)
def determine_toolset(self, spec):
- toolsets = {'g++': 'gcc',
- 'icpc': 'intel',
- 'icpx': 'intel',
- 'clang++': 'clang',
- 'armclang++': 'clang',
- 'xlc++': 'xlcpp',
- 'xlc++_r': 'xlcpp',
- 'pgc++': 'pgi',
- 'nvc++': 'pgi',
- 'FCC': 'clang'}
-
- if spec.satisfies('@1.47:'):
- toolsets['icpc'] += '-linux'
- toolsets['icpx'] += '-linux'
+ toolsets = {
+ "g++": "gcc",
+ "icpc": "intel",
+ "icpx": "intel",
+ "clang++": "clang",
+ "armclang++": "clang",
+ "xlc++": "xlcpp",
+ "xlc++_r": "xlcpp",
+ "pgc++": "pgi",
+ "nvc++": "pgi",
+ "FCC": "clang",
+ }
+
+ if spec.satisfies("@1.47:"):
+ toolsets["icpc"] += "-linux"
+ toolsets["icpx"] += "-linux"
for cc, toolset in toolsets.items():
if cc in self.compiler.cxx_names:
return toolset
# fallback to gcc if no toolset found
- return 'gcc'
+ return "gcc"
def bjam_python_line(self, spec):
# avoid "ambiguous key" error
- if spec.satisfies('@:1.58'):
- return ''
-
- return 'using python : {0} : {1} : {2} : {3} ;\n'.format(
- spec['python'].version.up_to(2),
- spec['python'].command.path,
- spec['python'].headers.directories[0],
- spec['python'].libs[0]
+ if spec.satisfies("@:1.58"):
+ return ""
+
+ return "using python : {0} : {1} : {2} : {3} ;\n".format(
+ spec["python"].version.up_to(2),
+ spec["python"].command.path,
+ spec["python"].headers.directories[0],
+ spec["python"].libs[0],
)
def determine_bootstrap_options(self, spec, with_libs, options):
boost_toolset_id = self.determine_toolset(spec)
# Arm compiler bootstraps with 'gcc' (but builds as 'clang')
- if spec.satisfies('%arm') or spec.satisfies('%fj'):
- options.append('--with-toolset=gcc')
+ if spec.satisfies("%arm") or spec.satisfies("%fj"):
+ options.append("--with-toolset=gcc")
else:
- options.append('--with-toolset=%s' % boost_toolset_id)
- options.append("--with-libraries=%s" % ','.join(with_libs))
+ options.append("--with-toolset=%s" % boost_toolset_id)
+ options.append("--with-libraries=%s" % ",".join(with_libs))
- if '+python' in spec:
- options.append('--with-python=%s' % spec['python'].command.path)
+ if "+python" in spec:
+ options.append("--with-python=%s" % spec["python"].command.path)
- if '+icu' in spec:
- options.append('--with-icu')
+ if "+icu" in spec:
+ options.append("--with-icu")
else:
- options.append('--without-icu')
+ options.append("--without-icu")
- with open('user-config.jam', 'w') as f:
+ with open("user-config.jam", "w") as f:
# Boost may end up using gcc even though clang+gfortran is set in
# compilers.yaml. Make sure this does not happen:
- f.write("using {0} : : {1} ;\n".format(boost_toolset_id,
- spack_cxx))
+ f.write("using {0} : : {1} ;\n".format(boost_toolset_id, spack_cxx))
- if '+mpi' in spec:
+ if "+mpi" in spec:
# Use the correct mpi compiler. If the compiler options are
# empty or undefined, Boost will attempt to figure out the
# correct options by running "${mpicxx} -show" or something
# similar, but that doesn't work with the Cray compiler
# wrappers. Since Boost doesn't use the MPI C++ bindings,
# that can be used as a compiler option instead.
- mpi_line = 'using mpi : %s' % spec['mpi'].mpicxx
+ mpi_line = "using mpi : %s" % spec["mpi"].mpicxx
- if 'platform=cray' in spec:
- mpi_line += ' : <define>MPICH_SKIP_MPICXX'
+ if "platform=cray" in spec:
+ mpi_line += " : <define>MPICH_SKIP_MPICXX"
- f.write(mpi_line + ' ;\n')
+ f.write(mpi_line + " ;\n")
- if '+python' in spec:
+ if "+python" in spec:
f.write(self.bjam_python_line(spec))
def determine_b2_options(self, spec, options):
- if '+debug' in spec:
- options.append('variant=debug')
+ if "+debug" in spec:
+ options.append("variant=debug")
else:
- options.append('variant=release')
+ options.append("variant=release")
- if '+icu' in spec:
- options.extend(['-s', 'ICU_PATH=%s' % spec['icu4c'].prefix])
+ if "+icu" in spec:
+ options.extend(["-s", "ICU_PATH=%s" % spec["icu4c"].prefix])
else:
- options.append('--disable-icu')
-
- if '+iostreams' in spec:
- options.extend([
- '-s', 'BZIP2_INCLUDE=%s' % spec['bzip2'].prefix.include,
- '-s', 'BZIP2_LIBPATH=%s' % spec['bzip2'].prefix.lib,
- '-s', 'ZLIB_INCLUDE=%s' % spec['zlib'].prefix.include,
- '-s', 'ZLIB_LIBPATH=%s' % spec['zlib'].prefix.lib,
- '-s', 'NO_LZMA=1',
- '-s', 'NO_ZSTD=1'])
-
- link_types = ['static']
- if '+shared' in spec:
- link_types.append('shared')
+ options.append("--disable-icu")
+
+ if "+iostreams" in spec:
+ options.extend(
+ [
+ "-s",
+ "BZIP2_INCLUDE=%s" % spec["bzip2"].prefix.include,
+ "-s",
+ "BZIP2_LIBPATH=%s" % spec["bzip2"].prefix.lib,
+ "-s",
+ "ZLIB_INCLUDE=%s" % spec["zlib"].prefix.include,
+ "-s",
+ "ZLIB_LIBPATH=%s" % spec["zlib"].prefix.lib,
+ "-s",
+ "NO_LZMA=1",
+ "-s",
+ "NO_ZSTD=1",
+ ]
+ )
+
+ link_types = ["static"]
+ if "+shared" in spec:
+ link_types.append("shared")
threading_opts = []
- if '+multithreaded' in spec:
- threading_opts.append('multi')
- if '+singlethreaded' in spec:
- threading_opts.append('single')
+ if "+multithreaded" in spec:
+ threading_opts.append("multi")
+ if "+singlethreaded" in spec:
+ threading_opts.append("single")
if not threading_opts:
- raise RuntimeError("At least one of {singlethreaded, " +
- "multithreaded} must be enabled")
+ raise RuntimeError(
+ "At least one of {singlethreaded, " + "multithreaded} must be enabled"
+ )
# If we are building context, tell b2 which backend to use
- if '+context' in spec and 'context-impl' in spec.variants:
- options.extend(['context-impl=%s' % spec.variants['context-impl'].value])
+ if "+context" in spec and "context-impl" in spec.variants:
+ options.extend(["context-impl=%s" % spec.variants["context-impl"].value])
- if '+taggedlayout' in spec:
- layout = 'tagged'
- elif '+versionedlayout' in spec:
- layout = 'versioned'
+ if "+taggedlayout" in spec:
+ layout = "tagged"
+ elif "+versionedlayout" in spec:
+ layout = "versioned"
else:
if len(threading_opts) > 1:
- raise RuntimeError("Cannot build both single and " +
- "multi-threaded targets with system layout")
- layout = 'system'
+ raise RuntimeError(
+ "Cannot build both single and " + "multi-threaded targets with system layout"
+ )
+ layout = "system"
- options.extend([
- 'link=%s' % ','.join(link_types),
- '--layout=%s' % layout
- ])
+ options.extend(["link=%s" % ",".join(link_types), "--layout=%s" % layout])
- if not spec.satisfies('@:1.75 %intel'):
+ if not spec.satisfies("@:1.75 %intel"):
# When building any version >= 1.76, the toolset must be specified.
# Earlier versions could not specify Intel as the toolset
# as that was considered to be redundant/conflicting with
# --with-toolset in bootstrap.
# (although it is not currently known if 1.76 is the earliest
# version that requires specifying the toolset for Intel)
- options.extend([
- 'toolset=%s' % self.determine_toolset(spec)
- ])
+ options.extend(["toolset=%s" % self.determine_toolset(spec)])
# Other C++ flags.
cxxflags = []
# Deal with C++ standard.
- if spec.satisfies('@1.66:'):
- options.append('cxxstd={0}'.format(spec.variants['cxxstd'].value))
+ if spec.satisfies("@1.66:"):
+ options.append("cxxstd={0}".format(spec.variants["cxxstd"].value))
else: # Add to cxxflags for older Boost.
- cxxstd = spec.variants['cxxstd'].value
- flag = getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd))
+ cxxstd = spec.variants["cxxstd"].value
+ flag = getattr(self.compiler, "cxx{0}_flag".format(cxxstd))
if flag:
cxxflags.append(flag)
- if '+pic' in self.spec:
+ if "+pic" in self.spec:
cxxflags.append(self.compiler.cxx_pic_flag)
# clang is not officially supported for pre-compiled headers
# and at least in clang 3.9 still fails to build
# https://www.boost.org/build/doc/html/bbv2/reference/precompiled_headers.html
# https://svn.boost.org/trac/boost/ticket/12496
- if (spec.satisfies('%apple-clang') or
- spec.satisfies('%clang') or
- spec.satisfies('%fj')):
- options.extend(['pch=off'])
- if '+clanglibcpp' in spec:
- cxxflags.append('-stdlib=libc++')
- options.extend(['toolset=clang',
- 'linkflags="-stdlib=libc++"'])
- elif spec.satisfies('%xl') or spec.satisfies('%xl_r'):
+ if spec.satisfies("%apple-clang") or spec.satisfies("%clang") or spec.satisfies("%fj"):
+ options.extend(["pch=off"])
+ if "+clanglibcpp" in spec:
+ cxxflags.append("-stdlib=libc++")
+ options.extend(["toolset=clang", 'linkflags="-stdlib=libc++"'])
+ elif spec.satisfies("%xl") or spec.satisfies("%xl_r"):
# see also: https://lists.boost.org/boost-users/2019/09/89953.php
# the cxxstd setting via spack is not sufficient to drive the
# change into boost compilation
- if spec.variants['cxxstd'].value == '11':
- cxxflags.append('-std=c++11')
+ if spec.variants["cxxstd"].value == "11":
+ cxxflags.append("-std=c++11")
if cxxflags:
- options.append('cxxflags="{0}"'.format(' '.join(cxxflags)))
+ options.append('cxxflags="{0}"'.format(" ".join(cxxflags)))
# Visibility was added in 1.69.0.
- if spec.satisfies('@1.69.0:'):
- options.append('visibility=%s' % spec.variants['visibility'].value)
+ if spec.satisfies("@1.69.0:"):
+ options.append("visibility=%s" % spec.variants["visibility"].value)
return threading_opts
@@ -570,19 +595,19 @@ class Boost(Package):
with working_dir(prefix.lib):
for lib in os.listdir(os.curdir):
if os.path.isfile(lib):
- prefix, remainder = lib.split('.', 1)
- symlink(lib, '%s-mt.%s' % (prefix, remainder))
+ prefix, remainder = lib.split(".", 1)
+ symlink(lib, "%s-mt.%s" % (prefix, remainder))
def install(self, spec, prefix):
# On Darwin, Boost expects the Darwin libtool. However, one of the
# dependencies may have pulled in Spack's GNU libtool, and these two
# are not compatible. We thus create a symlink to Darwin's libtool
# and add it at the beginning of PATH.
- if sys.platform == 'darwin':
- newdir = os.path.abspath('darwin-libtool')
+ if sys.platform == "darwin":
+ newdir = os.path.abspath("darwin-libtool")
mkdirp(newdir)
- force_symlink('/usr/bin/libtool', join_path(newdir, 'libtool'))
- env['PATH'] = newdir + ':' + env['PATH']
+ force_symlink("/usr/bin/libtool", join_path(newdir, "libtool"))
+ env["PATH"] = newdir + ":" + env["PATH"]
with_libs = list()
for lib in Boost.all_libs:
@@ -590,105 +615,108 @@ class Boost(Package):
with_libs.append(lib)
# Remove libraries that the release version does not support
- if spec.satisfies('@1.69.0:') and 'signals' in with_libs:
- with_libs.remove('signals')
- if not spec.satisfies('@1.54.0:') and 'log' in with_libs:
- with_libs.remove('log')
- if not spec.satisfies('@1.53.0:') and 'atomic' in with_libs:
- with_libs.remove('atomic')
- if not spec.satisfies('@1.48.0:') and 'locale' in with_libs:
- with_libs.remove('locale')
- if not spec.satisfies('@1.47.0:') and 'chrono' in with_libs:
- with_libs.remove('chrono')
- if not spec.satisfies('@1.43.0:') and 'random' in with_libs:
- with_libs.remove('random')
- if not spec.satisfies('@1.39.0:') and 'exception' in with_libs:
- with_libs.remove('exception')
- if '+graph' in spec and '+mpi' in spec:
- with_libs.append('graph_parallel')
+ if spec.satisfies("@1.69.0:") and "signals" in with_libs:
+ with_libs.remove("signals")
+ if not spec.satisfies("@1.54.0:") and "log" in with_libs:
+ with_libs.remove("log")
+ if not spec.satisfies("@1.53.0:") and "atomic" in with_libs:
+ with_libs.remove("atomic")
+ if not spec.satisfies("@1.48.0:") and "locale" in with_libs:
+ with_libs.remove("locale")
+ if not spec.satisfies("@1.47.0:") and "chrono" in with_libs:
+ with_libs.remove("chrono")
+ if not spec.satisfies("@1.43.0:") and "random" in with_libs:
+ with_libs.remove("random")
+ if not spec.satisfies("@1.39.0:") and "exception" in with_libs:
+ with_libs.remove("exception")
+ if "+graph" in spec and "+mpi" in spec:
+ with_libs.append("graph_parallel")
if not with_libs:
# if no libraries are specified for compilation, then you dont have
# to configure/build anything, just copy over to the prefix
# directory.
- src = join_path(self.stage.source_path, 'boost')
- mkdirp(join_path(prefix, 'include'))
- dst = join_path(prefix, 'include', 'boost')
+ src = join_path(self.stage.source_path, "boost")
+ mkdirp(join_path(prefix, "include"))
+ dst = join_path(prefix, "include", "boost")
install_tree(src, dst)
return
# to make Boost find the user-config.jam
- env['BOOST_BUILD_PATH'] = self.stage.source_path
+ env["BOOST_BUILD_PATH"] = self.stage.source_path
- bootstrap = Executable('./bootstrap.sh')
+ bootstrap = Executable("./bootstrap.sh")
- bootstrap_options = ['--prefix=%s' % prefix]
+ bootstrap_options = ["--prefix=%s" % prefix]
self.determine_bootstrap_options(spec, with_libs, bootstrap_options)
bootstrap(*bootstrap_options)
# strip the toolchain to avoid double include errors (intel) or
# user-config being overwritten (again intel, but different boost version)
- filter_file(r'^\s*using {0}.*'.format(self.determine_toolset(spec)), '',
- os.path.join(self.stage.source_path, 'project-config.jam'))
+ filter_file(
+ r"^\s*using {0}.*".format(self.determine_toolset(spec)),
+ "",
+ os.path.join(self.stage.source_path, "project-config.jam"),
+ )
# b2 used to be called bjam, before 1.47 (sigh)
- b2name = './b2' if spec.satisfies('@1.47:') else './bjam'
+ b2name = "./b2" if spec.satisfies("@1.47:") else "./bjam"
b2 = Executable(b2name)
jobs = make_jobs
# in 1.59 max jobs became dynamic
- if jobs > 64 and spec.satisfies('@:1.58'):
+ if jobs > 64 and spec.satisfies("@:1.58"):
jobs = 64
b2_options = [
- '-j', '%s' % jobs,
- '--user-config=%s' % os.path.join(
- self.stage.source_path, 'user-config.jam')
+ "-j",
+ "%s" % jobs,
+ "--user-config=%s" % os.path.join(self.stage.source_path, "user-config.jam"),
]
threading_opts = self.determine_b2_options(spec, b2_options)
# Create headers if building from a git checkout
- if '@develop' in spec:
- b2('headers', *b2_options)
+ if "@develop" in spec:
+ b2("headers", *b2_options)
- b2('--clean', *b2_options)
+ b2("--clean", *b2_options)
# In theory it could be done on one call but it fails on
# Boost.MPI if the threading options are not separated.
for threading_opt in threading_opts:
- b2('install', 'threading=%s' % threading_opt, *b2_options)
+ b2("install", "threading=%s" % threading_opt, *b2_options)
- if '+multithreaded' in spec and '~taggedlayout' in spec:
+ if "+multithreaded" in spec and "~taggedlayout" in spec:
self.add_buildopt_symlinks(prefix)
# The shared libraries are not installed correctly
# on Darwin; correct this
- if (sys.platform == 'darwin') and ('+shared' in spec):
+ if (sys.platform == "darwin") and ("+shared" in spec):
fix_darwin_install_name(prefix.lib)
def setup_run_environment(self, env):
- env.set('BOOST_ROOT', self.prefix)
+ env.set("BOOST_ROOT", self.prefix)
def setup_dependent_package(self, module, dependent_spec):
# Disable find package's config mode for versions of Boost that
# didn't provide it. See https://github.com/spack/spack/issues/20169
# and https://cmake.org/cmake/help/latest/module/FindBoost.html
is_cmake = isinstance(dependent_spec.package, CMakePackage)
- if self.spec.satisfies('boost@:1.69.0') and is_cmake:
+ if self.spec.satisfies("boost@:1.69.0") and is_cmake:
args_fn = type(dependent_spec.package).cmake_args
def _cmake_args(self):
- return ['-DBoost_NO_BOOST_CMAKE=ON'] + args_fn(self)
+ return ["-DBoost_NO_BOOST_CMAKE=ON"] + args_fn(self)
type(dependent_spec.package).cmake_args = _cmake_args
def setup_dependent_build_environment(self, env, dependent_spec):
- if '+context' in self.spec and 'context-impl' in self.spec.variants:
- context_impl = self.spec.variants['context-impl'].value
+ if "+context" in self.spec and "context-impl" in self.spec.variants:
+ context_impl = self.spec.variants["context-impl"].value
# fcontext, as the default, has no corresponding macro
- if context_impl == 'ucontext':
- env.append_flags('CXXFLAGS', '-DBOOST_USE_UCONTEXT')
- elif context_impl == 'winfib':
- env.append_flags('CXXFLAGS', '-DBOOST_USE_WINFIB')
+ if context_impl == "ucontext":
+ env.append_flags("CXXFLAGS", "-DBOOST_USE_UCONTEXT")
+ elif context_impl == "winfib":
+ env.append_flags("CXXFLAGS", "-DBOOST_USE_WINFIB")
diff --git a/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py b/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py
index 1e4408c1d0..5aa869a6b2 100644
--- a/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py
+++ b/var/spack/repos/builtin/packages/boostmplcartesianproduct/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class Boostmplcartesianproduct(Package):
"""Cartesian_product is an extension to the Boost.MPL library and as such
- requires a version of the Boost libraries on your system.
+ requires a version of the Boost libraries on your system.
"""
homepage = "http://www.organicvectory.com/index.php?option=com_content&view=article&id=75:boostmplcartesianproduct&catid=42:boost&Itemid=78"
- url = "https://github.com/quinoacomputing/BoostMPLCartesianProduct/tarball/20161205"
+ url = "https://github.com/quinoacomputing/BoostMPLCartesianProduct/tarball/20161205"
- version('20161205', sha256='1fa8e367e4dc545b34016bf57d802858ce38baf40aff20f7c93b329895a18572')
+ version("20161205", sha256="1fa8e367e4dc545b34016bf57d802858ce38baf40aff20f7c93b329895a18572")
def install(self, spec, prefix):
- install_tree('boost/mpl', join_path(prefix.include, 'boost', 'mpl'))
+ install_tree("boost/mpl", join_path(prefix.include, "boost", "mpl"))
diff --git a/var/spack/repos/builtin/packages/botan/package.py b/var/spack/repos/builtin/packages/botan/package.py
index 440b9f9139..a83cfb4eb8 100644
--- a/var/spack/repos/builtin/packages/botan/package.py
+++ b/var/spack/repos/builtin/packages/botan/package.py
@@ -10,41 +10,41 @@ class Botan(MakefilePackage):
"""Crypto and TLS for Modern C++"""
homepage = "https://botan.randombit.net/"
- url = "https://botan.randombit.net/releases/Botan-2.13.0.tar.xz"
-
- maintainers = ['aumuell']
-
- version('2.19.1', sha256='e26e00cfefda64082afdd540d3c537924f645d6a674afed2cd171005deff5560')
- version('2.19.0', sha256='240d9e56e6acb91ef4cf06a8a1c6c0f101c61d40cf48cccf139faef821d7040b')
- version('2.18.2', sha256='541a3b13f1b9d30f977c6c1ae4c7bfdfda763cda6e44de807369dce79f42307e')
- version('2.18.1', sha256='f8c7b46222a857168a754a5cc329bb780504122b270018dda5304c98db28ae29')
- version('2.18.0', sha256='cc64852e1e0c5bb30ecd052e4a12d5136125a8ce5c3be2efb6fb061c8677e327')
- version('2.17.3', sha256='79123b654445a4abba486e09a431788545c708237382a3e765664c9f55b03b88')
- version('2.17.2', sha256='ebe27dfe2b55d7e02bf520e926606c48b76b22facb483256b13ab38e018e1e6c')
- version('2.17.1', sha256='741358b3f1638ed7d9b2f59b4e344aa46f4966b15958b5434c0ac1580df0c0c1')
- version('2.17.0', sha256='b97044b312aa718349af7851331b064bc7bd5352400d5f80793bace427d01343')
- version('2.16.0', sha256='92ed6ebc918d86bd1b04221ca518af4cf29cc326c4760740bd2d22e61cea2628')
- version('2.15.0', sha256='d88af1307f1fefac79aa4f2f524699478d69ce15a857cf2d0a90ac6bf2a50009')
- version('2.14.0', sha256='0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5')
- version('2.13.0', sha256='f57ae42a41e1091bca58f44f41addebd9a390b651603952c881ec89d50187e90')
- version('2.12.1', sha256='7e035f142a51fca1359705792627a282456d49749bf62a37a8e48375d41baaa9')
- version('2.12.0', sha256='1eaefd459d52f27de1805cff8c68792e0610919648ee98e101980e94edb90a63')
- version('2.11.0', sha256='f7874da2aeb8c018fd77df40b2137879bf90b66f5589490c991e83fb3e8094be')
-
- variant('doc', default=False, description='Build documentation')
-
- depends_on('python', type='build')
- depends_on('py-sphinx@1.2:', type='build', when='+doc')
+ url = "https://botan.randombit.net/releases/Botan-2.13.0.tar.xz"
+
+ maintainers = ["aumuell"]
+
+ version("2.19.1", sha256="e26e00cfefda64082afdd540d3c537924f645d6a674afed2cd171005deff5560")
+ version("2.19.0", sha256="240d9e56e6acb91ef4cf06a8a1c6c0f101c61d40cf48cccf139faef821d7040b")
+ version("2.18.2", sha256="541a3b13f1b9d30f977c6c1ae4c7bfdfda763cda6e44de807369dce79f42307e")
+ version("2.18.1", sha256="f8c7b46222a857168a754a5cc329bb780504122b270018dda5304c98db28ae29")
+ version("2.18.0", sha256="cc64852e1e0c5bb30ecd052e4a12d5136125a8ce5c3be2efb6fb061c8677e327")
+ version("2.17.3", sha256="79123b654445a4abba486e09a431788545c708237382a3e765664c9f55b03b88")
+ version("2.17.2", sha256="ebe27dfe2b55d7e02bf520e926606c48b76b22facb483256b13ab38e018e1e6c")
+ version("2.17.1", sha256="741358b3f1638ed7d9b2f59b4e344aa46f4966b15958b5434c0ac1580df0c0c1")
+ version("2.17.0", sha256="b97044b312aa718349af7851331b064bc7bd5352400d5f80793bace427d01343")
+ version("2.16.0", sha256="92ed6ebc918d86bd1b04221ca518af4cf29cc326c4760740bd2d22e61cea2628")
+ version("2.15.0", sha256="d88af1307f1fefac79aa4f2f524699478d69ce15a857cf2d0a90ac6bf2a50009")
+ version("2.14.0", sha256="0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5")
+ version("2.13.0", sha256="f57ae42a41e1091bca58f44f41addebd9a390b651603952c881ec89d50187e90")
+ version("2.12.1", sha256="7e035f142a51fca1359705792627a282456d49749bf62a37a8e48375d41baaa9")
+ version("2.12.0", sha256="1eaefd459d52f27de1805cff8c68792e0610919648ee98e101980e94edb90a63")
+ version("2.11.0", sha256="f7874da2aeb8c018fd77df40b2137879bf90b66f5589490c991e83fb3e8094be")
+
+ variant("doc", default=False, description="Build documentation")
+
+ depends_on("python", type="build")
+ depends_on("py-sphinx@1.2:", type="build", when="+doc")
def edit(self, spec, prefix):
- configure = Executable('./configure.py')
+ configure = Executable("./configure.py")
configure(*self.configure_args())
def configure_args(self):
spec = self.spec
- args = ['--prefix={0}'.format(self.prefix)]
- if '+doc' in spec:
- args.append('--with-documentation')
+ args = ["--prefix={0}".format(self.prefix)]
+ if "+doc" in spec:
+ args.append("--with-documentation")
else:
- args.append('--without-documentation')
+ args.append("--without-documentation")
return args
diff --git a/var/spack/repos/builtin/packages/bowtie/package.py b/var/spack/repos/builtin/packages/bowtie/package.py
index 386af9d210..46d4954dab 100644
--- a/var/spack/repos/builtin/packages/bowtie/package.py
+++ b/var/spack/repos/builtin/packages/bowtie/package.py
@@ -11,10 +11,10 @@ class Bowtie(MakefilePackage):
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
- url = "https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz"
+ url = "https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz"
- version('1.3.0', sha256='d7c2d982a67884909f284a0ff150b56b20127cd7a1ced461c3c4c03e6a6374c5')
- version('1.2.3', sha256='86402114caeacbb3a3030509cb59f0b7e96361c7b3ee2dd50e2cd68200898823')
+ version("1.3.0", sha256="d7c2d982a67884909f284a0ff150b56b20127cd7a1ced461c3c4c03e6a6374c5")
+ version("1.2.3", sha256="86402114caeacbb3a3030509cb59f0b7e96361c7b3ee2dd50e2cd68200898823")
# The bowtie project git tagged and GitHub released a v1.2.2,
# discovered/fixed a bug, git tagged a v1.2.2_p1 and moved the
# 1.2.2 release to use it rather than making a new `1.2.2_p1`
@@ -22,48 +22,56 @@ class Bowtie(MakefilePackage):
#
# We point both of the Spack versions at the same tarball so they
# build the binaries that are on the release page as v1.2.2
- version('1.2.2_p1', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1')
- version('1.2.2', sha256='e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1', url="https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz")
- version('1.2.1.1', sha256='1b38408b88f61d18d7ff28b2470a8cfeefccb3fc59fd46e4cc62e23874e52c20')
- version('1.2.1', sha256='b2a7c8c879cb08f00a82665bee43e1d4861de44a87912c54d168e44c90869728')
- version('1.2.0', sha256='dc4e7951b8eca56ce7714c47fd4e84f72badd5312ee9546c912af1963570f894')
+ version("1.2.2_p1", sha256="e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1")
+ version(
+ "1.2.2",
+ sha256="e1b02b2e77a0d44a3dd411209fa1f44f0c4ee304ef5cc83f098275085740d5a1",
+ url="https://github.com/BenLangmead/bowtie/archive/v1.2.2_p1.tar.gz",
+ )
+ version("1.2.1.1", sha256="1b38408b88f61d18d7ff28b2470a8cfeefccb3fc59fd46e4cc62e23874e52c20")
+ version("1.2.1", sha256="b2a7c8c879cb08f00a82665bee43e1d4861de44a87912c54d168e44c90869728")
+ version("1.2.0", sha256="dc4e7951b8eca56ce7714c47fd4e84f72badd5312ee9546c912af1963570f894")
# Keeping the old 1.2 version around for reproducibility, it's not
# clearly identical to 1.2.0.
- version('1.2', sha256='b1052de4253007890f6436e6361d40148bc2a5a9dd01827bb9f34097747e65f8', url='https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip')
+ version(
+ "1.2",
+ sha256="b1052de4253007890f6436e6361d40148bc2a5a9dd01827bb9f34097747e65f8",
+ url="https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.0/bowtie-1.2-source.zip",
+ )
# 1.2.2 and 1.2.2_p1 fail to build with %gcc@8.3.0
# with and without issue-87 patch
- conflicts('%gcc@8:', when='@1.2.2')
- conflicts('%gcc@8:', when='@1.2.2_p1')
+ conflicts("%gcc@8:", when="@1.2.2")
+ conflicts("%gcc@8:", when="@1.2.2_p1")
- variant('tbb', default=False, description='Use Intel thread building block')
+ variant("tbb", default=False, description="Use Intel thread building block")
- depends_on('tbb', when='+tbb')
- depends_on('zlib')
+ depends_on("tbb", when="+tbb")
+ depends_on("zlib")
# See: https://github.com/BenLangmead/bowtie/issues/87, a
# different fix is in the FreeBSD ports/package tree
# https://svnweb.freebsd.org/ports?view=revision&revision=483954
- patch('issue-87.patch', when='@:1.2.2 %gcc@8.0.0:')
+ patch("issue-87.patch", when="@:1.2.2 %gcc@8.0.0:")
# correspond to 'aarch64' architecture
# reference: https://github.com/BenLangmead/bowtie/pull/13
- patch('for_aarch64.patch', when='@1.2.0:1.2 target=aarch64:')
+ patch("for_aarch64.patch", when="@1.2.0:1.2 target=aarch64:")
# measures for narrowing error
- patch('fix_narrowing_err.patch', when='@1.2.1:1.2.3')
- patch('fix_narrowing_err_1.3.0.patch', when='@1.3.0:')
+ patch("fix_narrowing_err.patch", when="@1.2.1:1.2.3")
+ patch("fix_narrowing_err_1.3.0.patch", when="@1.3.0:")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('CC = .*', 'CC = ' + env['CC'])
- makefile.filter('CXX = .*', 'CPP = ' + env['CXX'])
+ makefile = FileFilter("Makefile")
+ makefile.filter("CC = .*", "CC = " + env["CC"])
+ makefile.filter("CXX = .*", "CPP = " + env["CXX"])
def build(self, spec, prefix):
- if '+tbb' in spec:
+ if "+tbb" in spec:
make()
else:
- make('NO_TBB=1')
+ make("NO_TBB=1")
def install(self, spec, prefix):
- make('prefix={0}'.format(self.prefix), 'install')
+ make("prefix={0}".format(self.prefix), "install")
diff --git a/var/spack/repos/builtin/packages/bowtie2/package.py b/var/spack/repos/builtin/packages/bowtie2/package.py
index 43f9c3ba22..1ba9e3a63f 100644
--- a/var/spack/repos/builtin/packages/bowtie2/package.py
+++ b/var/spack/repos/builtin/packages/bowtie2/package.py
@@ -9,71 +9,74 @@ from spack.package import *
class Bowtie2(MakefilePackage):
"""Bowtie 2 is an ultrafast and memory-efficient tool for aligning
- sequencing reads to long reference sequences"""
+ sequencing reads to long reference sequences"""
homepage = "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml"
- url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.3.1/bowtie2-2.3.1-source.zip"
+ url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.3.1/bowtie2-2.3.1-source.zip"
- version('2.4.2', sha256='4cc555eeeeb8ae2d47aaa1551f3f01b57f567a013e4e0d1f30e90f462865027e')
- version('2.4.1', sha256='566d6fb01a361883747103d797308ee4bdb70f6db7d27bfc72a520587815df22')
- version('2.3.5.1', sha256='335c8dafb1487a4a9228ef922fbce4fffba3ce8bc211e2d7085aac092155a53f')
- version('2.3.5', sha256='2b6b2c46fbb5565ba6206b47d07ece8754b295714522149d92acebefef08347b')
- version('2.3.4.1', sha256='a1efef603b91ecc11cfdb822087ae00ecf2dd922e03c85eea1ed7f8230c119dc')
- version('2.3.1', sha256='33bd54f5041a31878e7e450cdcf0afba08345fa1133ce8ac6fd00bf7e521a443')
- version('2.3.0', sha256='f9f841e780e78b1ae24b17981e2469e6d5add90ec22ef563af23ae2dd5ca003c')
- version('2.2.5', sha256='e22766dd9421c10e82a3e207ee1f0eb924c025b909ad5fffa36633cd7978d3b0')
+ version("2.4.2", sha256="4cc555eeeeb8ae2d47aaa1551f3f01b57f567a013e4e0d1f30e90f462865027e")
+ version("2.4.1", sha256="566d6fb01a361883747103d797308ee4bdb70f6db7d27bfc72a520587815df22")
+ version("2.3.5.1", sha256="335c8dafb1487a4a9228ef922fbce4fffba3ce8bc211e2d7085aac092155a53f")
+ version("2.3.5", sha256="2b6b2c46fbb5565ba6206b47d07ece8754b295714522149d92acebefef08347b")
+ version("2.3.4.1", sha256="a1efef603b91ecc11cfdb822087ae00ecf2dd922e03c85eea1ed7f8230c119dc")
+ version("2.3.1", sha256="33bd54f5041a31878e7e450cdcf0afba08345fa1133ce8ac6fd00bf7e521a443")
+ version("2.3.0", sha256="f9f841e780e78b1ae24b17981e2469e6d5add90ec22ef563af23ae2dd5ca003c")
+ version("2.2.5", sha256="e22766dd9421c10e82a3e207ee1f0eb924c025b909ad5fffa36633cd7978d3b0")
- depends_on('tbb', when='@2.3.0:')
- depends_on('readline', when='@2.3.1:')
- depends_on('perl', type='run')
- depends_on('python', type='run')
- depends_on('zlib', when='@2.3.1:')
- depends_on('simde', when='@2.4.0: target=aarch64:', type='link')
- depends_on('simde', when='@2.4.0: target=ppc64le:', type='link')
+ depends_on("tbb", when="@2.3.0:")
+ depends_on("readline", when="@2.3.1:")
+ depends_on("perl", type="run")
+ depends_on("python", type="run")
+ depends_on("zlib", when="@2.3.1:")
+ depends_on("simde", when="@2.4.0: target=aarch64:", type="link")
+ depends_on("simde", when="@2.4.0: target=ppc64le:", type="link")
- patch('bowtie2-2.2.5.patch', when='@2.2.5', level=0)
- patch('bowtie2-2.3.1.patch', when='@2.3.1', level=0)
- patch('bowtie2-2.3.0.patch', when='@2.3.0', level=0)
+ patch("bowtie2-2.2.5.patch", when="@2.2.5", level=0)
+ patch("bowtie2-2.3.1.patch", when="@2.3.1", level=0)
+ patch("bowtie2-2.3.0.patch", when="@2.3.0", level=0)
# seems to have trouble with 6's -std=gnu++14
- conflicts('%gcc@6:', when='@:2.3.1')
- conflicts('^intel-oneapi-tbb', when='@:2.3.5.1')
- conflicts('@:2.3.5.0', when='target=aarch64:')
- conflicts('@2.4.1', when='target=aarch64:')
+ conflicts("%gcc@6:", when="@:2.3.1")
+ conflicts("^intel-oneapi-tbb", when="@:2.3.5.1")
+ conflicts("@:2.3.5.0", when="target=aarch64:")
+ conflicts("@2.4.1", when="target=aarch64:")
def edit(self, spec, prefix):
- kwargs = {'ignore_absent': True, 'backup': False, 'string': False}
+ kwargs = {"ignore_absent": True, "backup": False, "string": False}
- match = '^#!/usr/bin/env perl'
- perl = spec['perl'].command
+ match = "^#!/usr/bin/env perl"
+ perl = spec["perl"].command
substitute = "#!{perl}".format(perl=perl)
- files = ['bowtie2', ]
+ files = [
+ "bowtie2",
+ ]
filter_file(match, substitute, *files, **kwargs)
- match = '^#!/usr/bin/env python.*'
- python = spec['python'].command
+ match = "^#!/usr/bin/env python.*"
+ python = spec["python"].command
substitute = "#!{python}".format(python=python)
- files = ['bowtie2-build', 'bowtie2-inspect']
+ files = ["bowtie2-build", "bowtie2-inspect"]
filter_file(match, substitute, *files, **kwargs)
- if (self.spec.satisfies('@2.4.0:2.4.2 target=aarch64:') or
- self.spec.satisfies('@2.4.0:2.4.2 target=ppc64le:')):
- match = '-Ithird_party/simde'
- simdepath = spec['simde'].prefix.include
+ if self.spec.satisfies("@2.4.0:2.4.2 target=aarch64:") or self.spec.satisfies(
+ "@2.4.0:2.4.2 target=ppc64le:"
+ ):
+ match = "-Ithird_party/simde"
+ simdepath = spec["simde"].prefix.include
substitute = "-I{simdepath}".format(simdepath=simdepath)
- files = ['Makefile']
+ files = ["Makefile"]
filter_file(match, substitute, *files, **kwargs)
@property
def build_targets(self):
- make_arg = ['PREFIX={0}'.format(self.prefix)]
- if self.spec.satisfies('target=aarch64:'):
- make_arg.append('POPCNT_CAPABILITY=0')
+ make_arg = ["PREFIX={0}".format(self.prefix)]
+ if self.spec.satisfies("target=aarch64:"):
+ make_arg.append("POPCNT_CAPABILITY=0")
return make_arg
@property
def install_targets(self):
- if self.spec.satisfies('@:2.3.9'):
- return ['prefix={0}'.format(self.prefix), 'install']
+ if self.spec.satisfies("@:2.3.9"):
+ return ["prefix={0}".format(self.prefix), "install"]
else:
- return ['PREFIX={0}'.format(self.prefix), 'install']
+ return ["PREFIX={0}".format(self.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/boxlib/package.py b/var/spack/repos/builtin/packages/boxlib/package.py
index 36e4ddeed1..419d4802e4 100644
--- a/var/spack/repos/builtin/packages/boxlib/package.py
+++ b/var/spack/repos/builtin/packages/boxlib/package.py
@@ -8,29 +8,36 @@ from spack.package import *
class Boxlib(CMakePackage):
"""BoxLib, a software framework for massively parallel
- block-structured adaptive mesh refinement (AMR) codes."""
+ block-structured adaptive mesh refinement (AMR) codes."""
homepage = "https://ccse.lbl.gov/BoxLib/"
url = "https://github.com/BoxLib-Codes/BoxLib/archive/16.12.2.tar.gz"
- version('16.12.2', sha256='e87faeccfcb14b3436d36c45fcd9f46ea20f65298d35c6db2a80d6332b036dd2')
+ version("16.12.2", sha256="e87faeccfcb14b3436d36c45fcd9f46ea20f65298d35c6db2a80d6332b036dd2")
- depends_on('mpi')
+ depends_on("mpi")
- variant('dims', default='3', values=('1', '2', '3'), multi=False,
- description='Number of spatial dimensions')
+ variant(
+ "dims",
+ default="3",
+ values=("1", "2", "3"),
+ multi=False,
+ description="Number of spatial dimensions",
+ )
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DBL_SPACEDIM=%d' % int(spec.variants['dims'].value),
- '-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON',
- '-DENABLE_FBASELIB=ON',
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc
- ])
+ options.extend(
+ [
+ "-DBL_SPACEDIM=%d" % int(spec.variants["dims"].value),
+ "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON",
+ "-DENABLE_FBASELIB=ON",
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ ]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/bpp-core/package.py b/var/spack/repos/builtin/packages/bpp-core/package.py
index d654631f8f..1c870a7685 100644
--- a/var/spack/repos/builtin/packages/bpp-core/package.py
+++ b/var/spack/repos/builtin/packages/bpp-core/package.py
@@ -10,21 +10,25 @@ class BppCore(CMakePackage):
"""Bio++ core library."""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
- url = "https://github.com/BioPP/bpp-core/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-core/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.4.1', sha256='1150b8ced22cff23dd4770d7c23fad11239070b44007740e77407f0d746c0af6')
- version('2.2.0', sha256='aacd4afddd1584ab6bfa1ff6931259408f1d39958a0bdc5f78bf1f9ee4e98b79', deprecated=True)
+ version("2.4.1", sha256="1150b8ced22cff23dd4770d7c23fad11239070b44007740e77407f0d746c0af6")
+ version(
+ "2.2.0",
+ sha256="aacd4afddd1584ab6bfa1ff6931259408f1d39958a0bdc5f78bf1f9ee4e98b79",
+ deprecated=True,
+ )
- depends_on('cmake@2.6:', type='build')
+ depends_on("cmake@2.6:", type="build")
# Clarify isnan's namespace, because Fujitsu compiler can't
# resolve ambiguous of 'isnan' function.
- patch('clarify_isnan.patch', when='%fj')
+ patch("clarify_isnan.patch", when="%fj")
# This is fixed in master, next release should be fine
- patch('global-graph-limits.patch', when='@2.4.1')
+ patch("global-graph-limits.patch", when="@2.4.1")
def cmake_args(self):
- return ['-DBUILD_TESTING=FALSE']
+ return ["-DBUILD_TESTING=FALSE"]
diff --git a/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py b/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py
index 588af071df..a34154b426 100644
--- a/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py
+++ b/var/spack/repos/builtin/packages/bpp-phyl-omics/package.py
@@ -10,16 +10,16 @@ class BppPhylOmics(CMakePackage):
"""Bio++ Phylogenetic Omics Library"""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
- url = "https://github.com/BioPP/bpp-phyl-omics/archive/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-phyl-omics/archive/v2.4.1.tar.gz"
- version('2.4.1', sha256='fb0908422e59c71065db874e68d5c71acddf66d8a51776f7e04a5f8d5f0f6577')
- version('2.4.0', sha256='56cc0da613e72dbb8d0ed10d8209e182804a850fd96df1481e4710df97f18435')
- version('2.3.2', sha256='2320e2d33f7bc66bd1a1f0771a8d85e41ad3cec0347cef0f09463ba86f6efa96')
- version('2.3.1', sha256='f4853b99bf0baacf96c9ba567a5875242283cba5fb6f066d74716c6f7d84bd34')
- version('2.3.0', sha256='c4dc3aa39826c50bd8fe7ee4c56a92c8eb9922edc143864a0e2da34481036009')
+ version("2.4.1", sha256="fb0908422e59c71065db874e68d5c71acddf66d8a51776f7e04a5f8d5f0f6577")
+ version("2.4.0", sha256="56cc0da613e72dbb8d0ed10d8209e182804a850fd96df1481e4710df97f18435")
+ version("2.3.2", sha256="2320e2d33f7bc66bd1a1f0771a8d85e41ad3cec0347cef0f09463ba86f6efa96")
+ version("2.3.1", sha256="f4853b99bf0baacf96c9ba567a5875242283cba5fb6f066d74716c6f7d84bd34")
+ version("2.3.0", sha256="c4dc3aa39826c50bd8fe7ee4c56a92c8eb9922edc143864a0e2da34481036009")
- depends_on('cmake@2.6:', type='build')
- depends_on('bpp-core')
- depends_on('bpp-phyl')
- depends_on('bpp-seq')
- depends_on('bpp-seq-omics')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("bpp-core")
+ depends_on("bpp-phyl")
+ depends_on("bpp-seq")
+ depends_on("bpp-seq-omics")
diff --git a/var/spack/repos/builtin/packages/bpp-phyl/package.py b/var/spack/repos/builtin/packages/bpp-phyl/package.py
index e668894171..d8b392668c 100644
--- a/var/spack/repos/builtin/packages/bpp-phyl/package.py
+++ b/var/spack/repos/builtin/packages/bpp-phyl/package.py
@@ -10,20 +10,24 @@ class BppPhyl(CMakePackage):
"""Bio++ phylogeny library."""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
- url = "https://github.com/BioPP/bpp-phyl/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-phyl/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.4.1', sha256='e7bf7d4570f756b7773904ffa600ffcd77c965553ddb5cbc252092d1da962ff2')
- version('2.2.0', sha256='f346d87bbc7858924f3c99d7d74eb4a1f7a1b926746c68d8c28e07396c64237b', deprecated=True)
+ version("2.4.1", sha256="e7bf7d4570f756b7773904ffa600ffcd77c965553ddb5cbc252092d1da962ff2")
+ version(
+ "2.2.0",
+ sha256="f346d87bbc7858924f3c99d7d74eb4a1f7a1b926746c68d8c28e07396c64237b",
+ deprecated=True,
+ )
- depends_on('cmake@2.6:', type='build')
- depends_on('bpp-core')
- depends_on('bpp-seq')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("bpp-core")
+ depends_on("bpp-seq")
# Clarify isnan's namespace, because Fujitsu compiler can't
# resolve ambiguous of 'isnan' function.
- patch('clarify_isnan.patch', when='%fj')
+ patch("clarify_isnan.patch", when="%fj")
def cmake_args(self):
- return ['-DBUILD_TESTING=FALSE']
+ return ["-DBUILD_TESTING=FALSE"]
diff --git a/var/spack/repos/builtin/packages/bpp-popgen/package.py b/var/spack/repos/builtin/packages/bpp-popgen/package.py
index ee19838b90..decc107a5e 100644
--- a/var/spack/repos/builtin/packages/bpp-popgen/package.py
+++ b/var/spack/repos/builtin/packages/bpp-popgen/package.py
@@ -10,10 +10,10 @@ class BppPopgen(CMakePackage):
"""The Bio++ Population Genetics Library"""
homepage = "https://https://github.com/BioPP/bpp-popgen"
- url = "https://github.com/BioPP/bpp-popgen/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-popgen/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.4.1', sha256='03b57d71a63c8fa7f11c085e531d0d691fc1d40d4ea541070dabde0ab3baf413')
+ version("2.4.1", sha256="03b57d71a63c8fa7f11c085e531d0d691fc1d40d4ea541070dabde0ab3baf413")
- depends_on('bpp-seq')
+ depends_on("bpp-seq")
diff --git a/var/spack/repos/builtin/packages/bpp-seq-omics/package.py b/var/spack/repos/builtin/packages/bpp-seq-omics/package.py
index cb0a4b6097..ccd538cb38 100644
--- a/var/spack/repos/builtin/packages/bpp-seq-omics/package.py
+++ b/var/spack/repos/builtin/packages/bpp-seq-omics/package.py
@@ -10,13 +10,13 @@ class BppSeqOmics(CMakePackage):
"""Bio++ Sequence Omics Library"""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
- url = "https://github.com/BioPP/bpp-seq-omics/archive/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-seq-omics/archive/v2.4.1.tar.gz"
- version('2.4.1', sha256='200da925b42065998d825f0b2a37e26b00a865883c85bc332beb3a94cae1e08b')
- version('2.4.0', sha256='3217c7d6253f32c101d628aa039f2b3c49c3990de46c6842f2b88637da408e21')
- version('2.3.2', sha256='2254ffe181bb7582b73ca186cd366c321423177ea07866fd7c04c8a4bbcf5ac3')
- version('2.3.1', sha256='3217b35fa98e94824e19e5e2765f4561cb5d5ec0f93f5f4e7fc213e6b5b59e83')
- version('2.3.0', sha256='be0c8c593e48cd94a2a878e8635609788dfa806179f7844ecf8243e548bfe0fa')
+ version("2.4.1", sha256="200da925b42065998d825f0b2a37e26b00a865883c85bc332beb3a94cae1e08b")
+ version("2.4.0", sha256="3217c7d6253f32c101d628aa039f2b3c49c3990de46c6842f2b88637da408e21")
+ version("2.3.2", sha256="2254ffe181bb7582b73ca186cd366c321423177ea07866fd7c04c8a4bbcf5ac3")
+ version("2.3.1", sha256="3217b35fa98e94824e19e5e2765f4561cb5d5ec0f93f5f4e7fc213e6b5b59e83")
+ version("2.3.0", sha256="be0c8c593e48cd94a2a878e8635609788dfa806179f7844ecf8243e548bfe0fa")
- depends_on('bpp-core')
- depends_on('bpp-seq')
+ depends_on("bpp-core")
+ depends_on("bpp-seq")
diff --git a/var/spack/repos/builtin/packages/bpp-seq/package.py b/var/spack/repos/builtin/packages/bpp-seq/package.py
index a5749d1849..0564dbd8f2 100644
--- a/var/spack/repos/builtin/packages/bpp-seq/package.py
+++ b/var/spack/repos/builtin/packages/bpp-seq/package.py
@@ -10,15 +10,19 @@ class BppSeq(CMakePackage):
"""Bio++ seq library."""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/Installation"
- url = "https://github.com/BioPP/bpp-seq/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bpp-seq/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.4.1', sha256='dbfcb04803e4b7f08f9f159da8a947c91906c3ca8b20683ac193f6dc524d4655')
- version('2.2.0', sha256='0927d7fb0301c1b99a7353d5876deadb4a3040776cc74e8fe1c366fe920e7b6b', deprecated=True)
+ version("2.4.1", sha256="dbfcb04803e4b7f08f9f159da8a947c91906c3ca8b20683ac193f6dc524d4655")
+ version(
+ "2.2.0",
+ sha256="0927d7fb0301c1b99a7353d5876deadb4a3040776cc74e8fe1c366fe920e7b6b",
+ deprecated=True,
+ )
- depends_on('cmake@2.6:', type='build')
- depends_on('bpp-core')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("bpp-core")
def cmake_args(self):
- return ['-DBUILD_TESTING=FALSE']
+ return ["-DBUILD_TESTING=FALSE"]
diff --git a/var/spack/repos/builtin/packages/bpp-suite/package.py b/var/spack/repos/builtin/packages/bpp-suite/package.py
index 9f0366eb1e..08cf9f585d 100644
--- a/var/spack/repos/builtin/packages/bpp-suite/package.py
+++ b/var/spack/repos/builtin/packages/bpp-suite/package.py
@@ -8,23 +8,27 @@ from spack.package import *
class BppSuite(CMakePackage):
"""BppSuite is a suite of ready-to-use programs for phylogenetic and
- sequence analysis."""
+ sequence analysis."""
homepage = "http://biopp.univ-montp2.fr/wiki/index.php/BppSuite"
- url = "https://github.com/BioPP/bppsuite/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/BioPP/bppsuite/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.4.1', sha256='0485adcc17e37439069d27e4fac144e5ae38036ba21f31e6d21f070ce4ea5199')
- version('2.2.0', sha256='761fa5eec794af221d971ae70fd8c43171ad71a6bb5f20549263a1797b43f138', deprecated=True)
+ version("2.4.1", sha256="0485adcc17e37439069d27e4fac144e5ae38036ba21f31e6d21f070ce4ea5199")
+ version(
+ "2.2.0",
+ sha256="761fa5eec794af221d971ae70fd8c43171ad71a6bb5f20549263a1797b43f138",
+ deprecated=True,
+ )
- depends_on('cmake@2.6:', type='build')
- depends_on('texinfo', type='build')
- depends_on('bpp-core')
- depends_on('bpp-seq')
- depends_on('bpp-phyl')
- depends_on('bpp-popgen', when='@2.4.1:')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("bpp-core")
+ depends_on("bpp-seq")
+ depends_on("bpp-phyl")
+ depends_on("bpp-popgen", when="@2.4.1:")
# Clarify isinf's namespace, because Fujitsu compiler can't
# resolve ambiguous of 'isinf' function.
- patch('clarify_isinf.patch', when='%fj')
+ patch("clarify_isinf.patch", when="%fj")
diff --git a/var/spack/repos/builtin/packages/bracken/package.py b/var/spack/repos/builtin/packages/bracken/package.py
index 3d26980341..73e2ae1cd3 100644
--- a/var/spack/repos/builtin/packages/bracken/package.py
+++ b/var/spack/repos/builtin/packages/bracken/package.py
@@ -14,47 +14,41 @@ class Bracken(Package):
sequences from a metagenomics sample."""
homepage = "https://ccb.jhu.edu/software/bracken"
- url = "https://github.com/jenniferlu717/Bracken/archive/1.0.0.tar.gz"
+ url = "https://github.com/jenniferlu717/Bracken/archive/1.0.0.tar.gz"
- version('1.0.0', sha256='8ee736535ad994588339d94d0db4c0b1ba554a619f5f96332ee09f2aabdfe176')
+ version("1.0.0", sha256="8ee736535ad994588339d94d0db4c0b1ba554a619f5f96332ee09f2aabdfe176")
- depends_on('perl', type=('build', 'link', 'run'))
- depends_on('python@2.7:', type=('build', 'link', 'run'))
- depends_on('perl-exporter-tiny')
- depends_on('perl-list-moreutils')
- depends_on('perl-parallel-forkmanager')
+ depends_on("perl", type=("build", "link", "run"))
+ depends_on("python@2.7:", type=("build", "link", "run"))
+ depends_on("perl-exporter-tiny")
+ depends_on("perl-list-moreutils")
+ depends_on("perl-parallel-forkmanager")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('sample_data', prefix.sample_data)
+ install_tree("sample_data", prefix.sample_data)
- filter_file(
- r'#!/bin/env perl',
- '#!/usr/bin/env perl',
- 'count-kmer-abundances.pl'
- )
+ filter_file(r"#!/bin/env perl", "#!/usr/bin/env perl", "count-kmer-abundances.pl")
filter_file(
- r'#!/usr/bin/python',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path)),
- 'est_abundance.py'
+ r"#!/usr/bin/python",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ "est_abundance.py",
)
filter_file(
- r'#!/usr/bin/python',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path)),
- 'generate_kmer_distribution.py'
+ r"#!/usr/bin/python",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ "generate_kmer_distribution.py",
)
files = (
- 'count-kmer-abundances.pl',
- 'est_abundance.py',
- 'generate_kmer_distribution.py',
+ "count-kmer-abundances.pl",
+ "est_abundance.py",
+ "generate_kmer_distribution.py",
)
- chmod = which('chmod')
+ chmod = which("chmod")
for name in files:
install(name, prefix.bin)
- chmod('+x', join_path(self.prefix.bin, name))
+ chmod("+x", join_path(self.prefix.bin, name))
diff --git a/var/spack/repos/builtin/packages/braker/package.py b/var/spack/repos/builtin/packages/braker/package.py
index 08c48b7cf6..7428c1fd7e 100644
--- a/var/spack/repos/builtin/packages/braker/package.py
+++ b/var/spack/repos/builtin/packages/braker/package.py
@@ -10,55 +10,58 @@ from spack.package import *
class Braker(Package):
"""BRAKER is a pipeline for unsupervised RNA-Seq-based genome annotation
- that combines the advantages of GeneMark-ET and AUGUSTUS"""
+ that combines the advantages of GeneMark-ET and AUGUSTUS"""
homepage = "http://exon.gatech.edu/braker1.html"
- url = "https://github.com/Gaius-Augustus/BRAKER/archive/v2.1.4.tar.gz"
+ url = "https://github.com/Gaius-Augustus/BRAKER/archive/v2.1.4.tar.gz"
list_url = "http://bioinf.uni-greifswald.de/augustus/binaries/old"
- version('2.1.6', sha256='eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06')
- version('2.1.4', sha256='d48af5649cc879343046f9ddf180fe2c709b5810e0b78cf314bf298514d31d52')
- version('1.11', sha256='cb2d9abe1720ed58753d362eee4af3791007efc617754804882d31f9fe2eab00',
- url='https://bioinf.uni-greifswald.de/augustus/binaries/old/BRAKER1_v1.11.tar.gz')
+ version("2.1.6", sha256="eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06")
+ version("2.1.4", sha256="d48af5649cc879343046f9ddf180fe2c709b5810e0b78cf314bf298514d31d52")
+ version(
+ "1.11",
+ sha256="cb2d9abe1720ed58753d362eee4af3791007efc617754804882d31f9fe2eab00",
+ url="https://bioinf.uni-greifswald.de/augustus/binaries/old/BRAKER1_v1.11.tar.gz",
+ )
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-scalar-util-numeric', type=('build', 'run'))
- depends_on('perl-parallel-forkmanager', type=('build', 'run'))
- depends_on('perl-file-which', type=('build', 'run'))
- depends_on('perl-yaml', type=('build', 'run'))
- depends_on('perl-hash-merge', type=('build', 'run'))
- depends_on('perl-logger-simple', type=('build', 'run'))
- depends_on('perl-file-homedir', when='@2.1.4:', type=('build', 'run'))
- depends_on('augustus')
- depends_on('augustus@3.2.3', when='@:2.1.0')
- depends_on('genemark-et')
- depends_on('bamtools')
- depends_on('samtools')
- depends_on('diamond')
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-scalar-util-numeric", type=("build", "run"))
+ depends_on("perl-parallel-forkmanager", type=("build", "run"))
+ depends_on("perl-file-which", type=("build", "run"))
+ depends_on("perl-yaml", type=("build", "run"))
+ depends_on("perl-hash-merge", type=("build", "run"))
+ depends_on("perl-logger-simple", type=("build", "run"))
+ depends_on("perl-file-homedir", when="@2.1.4:", type=("build", "run"))
+ depends_on("augustus")
+ depends_on("augustus@3.2.3", when="@:2.1.0")
+ depends_on("genemark-et")
+ depends_on("bamtools")
+ depends_on("samtools")
+ depends_on("diamond")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.lib)
- if self.version < Version('2.1.2'):
- install('braker.pl', prefix.bin)
- install('filterGenemark.pl', prefix.bin)
- install('filterIntronsFindStrand.pl', prefix.bin)
- install('helpMod.pm', prefix.lib)
+ if self.version < Version("2.1.2"):
+ install("braker.pl", prefix.bin)
+ install("filterGenemark.pl", prefix.bin)
+ install("filterIntronsFindStrand.pl", prefix.bin)
+ install("helpMod.pm", prefix.lib)
else:
- install_tree('docs', prefix.docs)
- install_tree('example', prefix.example)
- with working_dir('scripts'):
- install('helpMod.pm', prefix.lib)
- install('*.pl', prefix.bin)
+ install_tree("docs", prefix.docs)
+ install_tree("example", prefix.example)
+ with working_dir("scripts"):
+ install("helpMod.pm", prefix.lib)
+ install("*.pl", prefix.bin)
- @run_after('install')
+ @run_after("install")
def filter_sbang(self):
with working_dir(self.prefix.bin):
- pattern = '^#!.*/usr/bin/env perl'
- repl = '#!{0}'.format(self.spec['perl'].command.path)
+ pattern = "^#!.*/usr/bin/env perl"
+ repl = "#!{0}".format(self.spec["perl"].command.path)
files = glob.iglob("*.pl")
for file in files:
filter_file(pattern, repl, *files, backup=False)
def setup_run_environment(self, env):
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/branson/package.py b/var/spack/repos/builtin/packages/branson/package.py
index be6b1d4c40..eb82922b67 100644
--- a/var/spack/repos/builtin/packages/branson/package.py
+++ b/var/spack/repos/builtin/packages/branson/package.py
@@ -13,40 +13,43 @@ class Branson(CMakePackage):
methods for domain decomposition."""
homepage = "https://github.com/lanl/branson"
- url = "https://github.com/lanl/branson/archive/0.82.tar.gz"
- git = "https://github.com/lanl/branson.git"
+ url = "https://github.com/lanl/branson/archive/0.82.tar.gz"
+ git = "https://github.com/lanl/branson.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('develop', branch='develop')
+ version("develop", branch="develop")
- version('0.82', sha256='7d83d41d0c7ab9c1c906a902165af31182da4604dd0b69aec28d709fe4d7a6ec',
- preferred=True)
- version('0.81', sha256='493f720904791f06b49ff48c17a681532c6a4d9fa59636522cf3f9700e77efe4')
- version('0.8', sha256='85ffee110f89be00c37798700508b66b0d15de1d98c54328b6d02a9eb2cf1cb8')
+ version(
+ "0.82",
+ sha256="7d83d41d0c7ab9c1c906a902165af31182da4604dd0b69aec28d709fe4d7a6ec",
+ preferred=True,
+ )
+ version("0.81", sha256="493f720904791f06b49ff48c17a681532c6a4d9fa59636522cf3f9700e77efe4")
+ version("0.8", sha256="85ffee110f89be00c37798700508b66b0d15de1d98c54328b6d02a9eb2cf1cb8")
- depends_on('mpi@2:')
+ depends_on("mpi@2:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:0.81')
- depends_on('metis')
- depends_on('parmetis', when='@:0.81')
+ depends_on(Boost.with_default_variants, when="@:0.81")
+ depends_on("metis")
+ depends_on("parmetis", when="@:0.81")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def cmake_args(self):
spec = self.spec
args = []
- args.append('-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc)
- args.append('-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx)
- args.append('-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc)
+ args.append("-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc)
+ args.append("-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx)
+ args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc)
return args
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.doc)
- install(join_path(self.build_directory, 'BRANSON'), prefix.bin)
- install('LICENSE.md', prefix.doc)
- install('README.md', prefix.doc)
+ install(join_path(self.build_directory, "BRANSON"), prefix.bin)
+ install("LICENSE.md", prefix.doc)
+ install("README.md", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/breakdancer/package.py b/var/spack/repos/builtin/packages/breakdancer/package.py
index 53f5fed6df..e3538ea8a6 100644
--- a/var/spack/repos/builtin/packages/breakdancer/package.py
+++ b/var/spack/repos/builtin/packages/breakdancer/package.py
@@ -18,22 +18,26 @@ class Breakdancer(CMakePackage):
100bp) using normally mapped read pairs.."""
homepage = "https://gmt.genome.wustl.edu/packages/breakdancer"
- url = "https://github.com/genome/breakdancer/archive/v1.4.5.tar.gz"
+ url = "https://github.com/genome/breakdancer/archive/v1.4.5.tar.gz"
- version('1.4.5', sha256='5d74f3a90f5c69026ebb4cf4cb9ccc51ec8dd49ac7a88595a1efabd5a73e92b6')
- version('master', submodules='true',
- git='https://github.com/genome/breakdancer.git', preferred=True)
+ version("1.4.5", sha256="5d74f3a90f5c69026ebb4cf4cb9ccc51ec8dd49ac7a88595a1efabd5a73e92b6")
+ version(
+ "master",
+ submodules="true",
+ git="https://github.com/genome/breakdancer.git",
+ preferred=True,
+ )
- depends_on('zlib')
+ depends_on("zlib")
- depends_on('ncurses', type='link')
+ depends_on("ncurses", type="link")
- depends_on('perl-statistics-descriptive', type='run')
- depends_on('perl-math-cdf', type='run')
- depends_on('perl-gdgraph', type='run')
- depends_on('perl-gdgraph-histogram', type='run')
- depends_on('perl-list-moreutils', type='run')
- depends_on('perl-exporter-tiny', type='run')
+ depends_on("perl-statistics-descriptive", type="run")
+ depends_on("perl-math-cdf", type="run")
+ depends_on("perl-gdgraph", type="run")
+ depends_on("perl-gdgraph-histogram", type="run")
+ depends_on("perl-list-moreutils", type="run")
+ depends_on("perl-exporter-tiny", type="run")
# TODO: remove git submodules, and depend on boost & samtools
@@ -41,13 +45,14 @@ class Breakdancer(CMakePackage):
def setup_run_environment(self, env):
# get the perl tools in the path
- env.prepend_path('PATH', self.prefix.lib)
+ env.prepend_path("PATH", self.prefix.lib)
- @run_before('cmake')
+ @run_before("cmake")
def edit(self):
# perl tools end up in a silly lib subdirectory, fixing that
- filter_file(r'set\(SUPPORT_LIBDIR lib\/breakdancer-max\$ \
- \{EXE_VERSION_SUFFIX\}\)',
- 'set(SUPPORT_LIBDIR lib)',
- join_path(self.stage.source_path,
- 'perl', 'CMakeLists.txt'))
+ filter_file(
+ r"set\(SUPPORT_LIBDIR lib\/breakdancer-max\$ \
+ \{EXE_VERSION_SUFFIX\}\)",
+ "set(SUPPORT_LIBDIR lib)",
+ join_path(self.stage.source_path, "perl", "CMakeLists.txt"),
+ )
diff --git a/var/spack/repos/builtin/packages/bref3/package.py b/var/spack/repos/builtin/packages/bref3/package.py
index a187918502..33407eabef 100644
--- a/var/spack/repos/builtin/packages/bref3/package.py
+++ b/var/spack/repos/builtin/packages/bref3/package.py
@@ -13,13 +13,25 @@ class Bref3(Package):
homepage = "https://faculty.washington.edu/browning/beagle/beagle.html"
- version('2019-11-25', sha256='969c0881050c4a48d19be9ea64bf49fa68c1403b69f9f739bbfd865dda639b2d',
- expand=False, url='https://faculty.washington.edu/browning/beagle/bref3.25Nov19.28d.jar')
- version('2019-07-12', sha256='8a9c3b6c38e36ef4c05a61108f083005fd985026c67d75a8173088f88816a202',
- expand=False, url='https://faculty.washington.edu/browning/beagle/bref3.12Jul19.0df.jar')
- version('2018-01-27', sha256='4d32f0b6d536c88d5332d961309466c8c3dd9572907a3755450d26d7ba841083',
- expand=False, url='https://faculty.washington.edu/browning/beagle/bref.27Jan18.7e1.jar')
- depends_on('java@8', type='run')
+ version(
+ "2019-11-25",
+ sha256="969c0881050c4a48d19be9ea64bf49fa68c1403b69f9f739bbfd865dda639b2d",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/bref3.25Nov19.28d.jar",
+ )
+ version(
+ "2019-07-12",
+ sha256="8a9c3b6c38e36ef4c05a61108f083005fd985026c67d75a8173088f88816a202",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/bref3.12Jul19.0df.jar",
+ )
+ version(
+ "2018-01-27",
+ sha256="4d32f0b6d536c88d5332d961309466c8c3dd9572907a3755450d26d7ba841083",
+ expand=False,
+ url="https://faculty.washington.edu/browning/beagle/bref.27Jan18.7e1.jar",
+ )
+ depends_on("java@8", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
@@ -29,7 +41,7 @@ class Bref3(Package):
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
- if self.version >= Version('2019'):
+ if self.version >= Version("2019"):
script = prefix.bin.bref3
else:
script = prefix.bin.bref
@@ -40,8 +52,7 @@ class Bref3(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('bref.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("bref.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/breseq/package.py b/var/spack/repos/builtin/packages/breseq/package.py
index 2adfd2eeb9..c67222f461 100644
--- a/var/spack/repos/builtin/packages/breseq/package.py
+++ b/var/spack/repos/builtin/packages/breseq/package.py
@@ -12,24 +12,24 @@ class Breseq(AutotoolsPackage):
microbial-sized genomes."""
homepage = "https://barricklab.org/breseq"
- url = "https://github.com/barricklab/breseq/archive/v0.31.1.tar.gz"
+ url = "https://github.com/barricklab/breseq/archive/v0.31.1.tar.gz"
- version('0.33.2', sha256='c698d2d25cc7ed251ff916343a8c04f79b5540281288cb7c955f458255ac21de')
- version('0.33.1', sha256='e24a50e254ad026c519747313b9e42bbeb32bd766a6a06ed369bd5b9dc50e84d')
- version('0.31.1', sha256='ffc8a7f40a5ad918234e465e9d4cdf74be02fd29091b13720c2cab1dc238cf5c')
+ version("0.33.2", sha256="c698d2d25cc7ed251ff916343a8c04f79b5540281288cb7c955f458255ac21de")
+ version("0.33.1", sha256="e24a50e254ad026c519747313b9e42bbeb32bd766a6a06ed369bd5b9dc50e84d")
+ version("0.31.1", sha256="ffc8a7f40a5ad918234e465e9d4cdf74be02fd29091b13720c2cab1dc238cf5c")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('zlib', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("zlib", type="link")
- depends_on('bedtools2', type='run')
- depends_on('r', type='run')
+ depends_on("bedtools2", type="run")
+ depends_on("r", type="run")
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.3')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.3")
def setup_build_environment(self, env):
- env.set('LDFLAGS', "-L{0}".format(self.spec['zlib'].prefix.lib))
- env.set('CFLAGS', "-I{0}".format(self.spec['zlib'].prefix.include))
+ env.set("LDFLAGS", "-L{0}".format(self.spec["zlib"].prefix.lib))
+ env.set("CFLAGS", "-I{0}".format(self.spec["zlib"].prefix.include))
diff --git a/var/spack/repos/builtin/packages/bricks/package.py b/var/spack/repos/builtin/packages/bricks/package.py
index 1ba0bd81b1..a18cfb3fd5 100644
--- a/var/spack/repos/builtin/packages/bricks/package.py
+++ b/var/spack/repos/builtin/packages/bricks/package.py
@@ -3,37 +3,37 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class Bricks(CMakePackage):
"""Bricks is a data layout and code generation framework,
- enabling performance-portable stencil computations across
- a multitude of architectures."""
+ enabling performance-portable stencil computations across
+ a multitude of architectures."""
# url for your package's homepage here.
homepage = "https://bricks.run/"
- git = 'https://github.com/CtopCsUtahEdu/bricklib.git'
+ git = "https://github.com/CtopCsUtahEdu/bricklib.git"
test_requires_compiler = True
# List of GitHub accounts to notify when the package is updated.
- maintainers = ['ztuowen', 'drhansj']
+ maintainers = ["ztuowen", "drhansj"]
- version('r0.1', branch='r0.1')
+ version("r0.1", branch="r0.1")
- variant('cuda', default=False, description='Build bricks with CUDA enabled')
+ variant("cuda", default=False, description="Build bricks with CUDA enabled")
# Building a variant of cmake without openssl is to match how the
# ECP E4S project builds cmake in their e4s-base-cuda Docker image
- depends_on('cmake', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('opencl-clhpp', when='+cuda')
- depends_on('cuda', when='+cuda')
- depends_on('mpi')
+ depends_on("cmake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("opencl-clhpp", when="+cuda")
+ depends_on("cuda", when="+cuda")
+ depends_on("mpi")
def cmake_args(self):
"""CMake arguments for configure stage"""
@@ -43,7 +43,7 @@ class Bricks(CMakePackage):
def flag_handler(self, name, flags):
"""Set build flags as needed"""
- if name in ['cflags', 'cxxflags', 'cppflags']:
+ if name in ["cflags", "cxxflags", "cppflags"]:
# There are many vector instrinsics used in this package. If
# the package is built on a native architecture, then it likely
# will not run (illegal instruction fault) on a less feature-
@@ -53,36 +53,40 @@ class Bricks(CMakePackage):
# with "target=x86_64". This will ensure that all Intel
# architectures can use the libraries and tests in this
# project by forceing the AVX2 flag in gcc.
- if name == 'cxxflags' and self.spec.target == 'x86_64':
- flags.append('-mavx2')
+ if name == "cxxflags" and self.spec.target == "x86_64":
+ flags.append("-mavx2")
return (None, flags, None)
- return(flags, None, None)
+ return (flags, None, None)
- @run_after('install')
+ @run_after("install")
def copy_test_sources(self):
"""Files to copy into test cache"""
- srcs = [join_path('examples', 'external', 'CMakeLists.txt'),
- join_path('examples', 'external', 'main.cpp'),
- join_path('examples', 'external', '7pt.py')]
+ srcs = [
+ join_path("examples", "external", "CMakeLists.txt"),
+ join_path("examples", "external", "main.cpp"),
+ join_path("examples", "external", "7pt.py"),
+ ]
self.cache_extra_test_sources(srcs)
def test(self):
"""Test bricklib package"""
# Test prebuilt binary
- source_dir = join_path(self.test_suite.current_test_cache_dir,
- 'examples', 'external')
-
- self.run_test(exe='cmake',
- options=['.'],
- purpose='Configure bricklib example',
- work_dir=source_dir)
-
- self.run_test(exe='cmake',
- options=['--build', '.'],
- purpose='Build bricklib example',
- work_dir=source_dir)
-
- self.run_test(exe=join_path(source_dir, 'example'),
- options=[],
- purpose='Execute bricklib example',
- work_dir=source_dir)
+ source_dir = join_path(self.test_suite.current_test_cache_dir, "examples", "external")
+
+ self.run_test(
+ exe="cmake", options=["."], purpose="Configure bricklib example", work_dir=source_dir
+ )
+
+ self.run_test(
+ exe="cmake",
+ options=["--build", "."],
+ purpose="Build bricklib example",
+ work_dir=source_dir,
+ )
+
+ self.run_test(
+ exe=join_path(source_dir, "example"),
+ options=[],
+ purpose="Execute bricklib example",
+ work_dir=source_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/bridger/package.py b/var/spack/repos/builtin/packages/bridger/package.py
index f85fbb99b1..10ca8679cc 100644
--- a/var/spack/repos/builtin/packages/bridger/package.py
+++ b/var/spack/repos/builtin/packages/bridger/package.py
@@ -10,30 +10,31 @@ from spack.package import *
class Bridger(MakefilePackage, SourceforgePackage):
"""Bridger : An Efficient De novo Transcriptome Assembler For
- RNA-Seq Data"""
+ RNA-Seq Data"""
homepage = "https://sourceforge.net/projects/rnaseqassembly/"
sourceforge_mirror_path = "rnaseqassembly/Bridger_r2014-12-01.tar.gz"
- version('2014-12-01', sha256='8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737')
- depends_on('boost + exception + filesystem + system + serialization + graph')
- depends_on('perl', type='run')
+ version(
+ "2014-12-01", sha256="8fbec8603ea8ad2162cbd0c658e4e0a4af6453bdb53310b4b7e0d112e40b5737"
+ )
+ depends_on("boost + exception + filesystem + system + serialization + graph")
+ depends_on("perl", type="run")
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
# some of the plugins require gnu extensions
- flags.append('-std=gnu99')
- if name == 'cxxflags':
- flags.append('-std=c++03')
+ flags.append("-std=gnu99")
+ if name == "cxxflags":
+ flags.append("-std=c++03")
return (flags, None, None)
def install(self, spec, prefix):
# bridger depends very much on perl scripts/etc in the source tree
- install_path = join_path(prefix, 'usr/local/bridger')
+ install_path = join_path(prefix, "usr/local/bridger")
mkdirp(install_path)
- install_tree('.', install_path)
+ install_tree(".", install_path)
# symlink the init script to /bin
mkdirp(prefix.bin)
- symlink(join_path(install_path, 'Bridger.pl'),
- join_path(prefix.bin, 'Bridger.pl'))
+ symlink(join_path(install_path, "Bridger.pl"), join_path(prefix.bin, "Bridger.pl"))
diff --git a/var/spack/repos/builtin/packages/brigand/package.py b/var/spack/repos/builtin/packages/brigand/package.py
index dc48d78340..2240272e03 100644
--- a/var/spack/repos/builtin/packages/brigand/package.py
+++ b/var/spack/repos/builtin/packages/brigand/package.py
@@ -11,19 +11,17 @@ class Brigand(CMakePackage):
"""Brigand Meta-programming library"""
homepage = "https://github.com/edouarda/brigand"
- url = "https://github.com/edouarda/brigand/archive/1.0.0.tar.gz"
- git = "https://github.com/edouarda/brigand.git"
+ url = "https://github.com/edouarda/brigand/archive/1.0.0.tar.gz"
+ git = "https://github.com/edouarda/brigand.git"
- maintainers = ['nilsvu']
+ maintainers = ["nilsvu"]
- version('master', branch='master')
- version('1.3.0', sha256='2468107c5b9ab0b56d84797dfc6636d0aae0507ae9cd6cb1acc1de85e5787acd')
- version('1.2.0', sha256='4287fa7278cc000a63e90f1a1b903952b7f606b1a3cf95c23a422d2fe96ca50d')
- version('1.1.0', sha256='afdcc6909ebff6994269d3039c31698c2b511a70280072f73382b26855221f64')
- version('1.0.0', sha256='8daf7686ff39792f851ef1977323808b80aab31c5f38ef0ba4e6a8faae491f8d')
+ version("master", branch="master")
+ version("1.3.0", sha256="2468107c5b9ab0b56d84797dfc6636d0aae0507ae9cd6cb1acc1de85e5787acd")
+ version("1.2.0", sha256="4287fa7278cc000a63e90f1a1b903952b7f606b1a3cf95c23a422d2fe96ca50d")
+ version("1.1.0", sha256="afdcc6909ebff6994269d3039c31698c2b511a70280072f73382b26855221f64")
+ version("1.0.0", sha256="8daf7686ff39792f851ef1977323808b80aab31c5f38ef0ba4e6a8faae491f8d")
def cmake_args(self):
- args = [
- self.define('BUILD_TESTING', self.run_tests)
- ]
+ args = [self.define("BUILD_TESTING", self.run_tests)]
return args
diff --git a/var/spack/repos/builtin/packages/brltty/package.py b/var/spack/repos/builtin/packages/brltty/package.py
index eef92baac0..074995dd20 100644
--- a/var/spack/repos/builtin/packages/brltty/package.py
+++ b/var/spack/repos/builtin/packages/brltty/package.py
@@ -12,20 +12,20 @@ class Brltty(AutotoolsPackage):
a refreshable braille display."""
homepage = "https://brltty.app/"
- url = "https://github.com/brltty/brltty/archive/BRLTTY-6.0.tar.gz"
+ url = "https://github.com/brltty/brltty/archive/BRLTTY-6.0.tar.gz"
- version('6.0', sha256='acfea5274bdc9230b0ea1a87f8796e241615d4d2c1ba08d87601b9d116c7804c')
- version('5.6', sha256='74f35043943525396b340b9f65f0d73c3cc4054a8f63d1c685f27ccf59f46c5d')
- version('5.5', sha256='cd80a0d225f13779791dc3a72d7f137c06c48e5f2c9600e80a565d2378422207')
- version('5.4', sha256='9ad5a540d29438a755f8b8f1f1534e0eba601c604f3d8223fa00b802959ec636')
+ version("6.0", sha256="acfea5274bdc9230b0ea1a87f8796e241615d4d2c1ba08d87601b9d116c7804c")
+ version("5.6", sha256="74f35043943525396b340b9f65f0d73c3cc4054a8f63d1c685f27ccf59f46c5d")
+ version("5.5", sha256="cd80a0d225f13779791dc3a72d7f137c06c48e5f2c9600e80a565d2378422207")
+ version("5.4", sha256="9ad5a540d29438a755f8b8f1f1534e0eba601c604f3d8223fa00b802959ec636")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('expat')
- depends_on('alsa-lib', when='platform=linux', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("expat")
+ depends_on("alsa-lib", when="platform=linux", type="link")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('autogen')
+ bash = which("bash")
+ bash("autogen")
diff --git a/var/spack/repos/builtin/packages/brotli/package.py b/var/spack/repos/builtin/packages/brotli/package.py
index 4893b87df2..5696128e52 100644
--- a/var/spack/repos/builtin/packages/brotli/package.py
+++ b/var/spack/repos/builtin/packages/brotli/package.py
@@ -10,12 +10,12 @@ class Brotli(CMakePackage):
"""Brotli is a generic-purpose lossless compression algorithm"""
homepage = "https://github.com/google/brotli"
- url = "https://github.com/google/brotli/archive/v1.0.7.tar.gz"
+ url = "https://github.com/google/brotli/archive/v1.0.7.tar.gz"
- version('1.0.7', sha256='4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c')
+ version("1.0.7", sha256="4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c")
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/brpc/package.py b/var/spack/repos/builtin/packages/brpc/package.py
index ea680029bf..6dedbeb4cc 100644
--- a/var/spack/repos/builtin/packages/brpc/package.py
+++ b/var/spack/repos/builtin/packages/brpc/package.py
@@ -13,15 +13,19 @@ class Brpc(CMakePackage):
on is opensourced right now."""
homepage = "https://github.com/apache/incubator-brpc"
- url = "https://github.com/apache/incubator-brpc/archive/0.9.7.tar.gz"
+ url = "https://github.com/apache/incubator-brpc/archive/0.9.7.tar.gz"
- version('0.9.7', sha256='722cd342baf3b05189ca78ecf6c56ea6ffec22e62fc2938335e4e5bab545a49c')
- version('0.9.6', sha256='b872ca844999e0ba768acd823b409761f126590fb34cb0183da915a595161446')
- version('0.9.5', sha256='11ca8942242a4c542c11345b7463a4aea33a11ca33e91d9a2f64f126df8c70e9')
+ version("0.9.7", sha256="722cd342baf3b05189ca78ecf6c56ea6ffec22e62fc2938335e4e5bab545a49c")
+ version("0.9.6", sha256="b872ca844999e0ba768acd823b409761f126590fb34cb0183da915a595161446")
+ version("0.9.5", sha256="11ca8942242a4c542c11345b7463a4aea33a11ca33e91d9a2f64f126df8c70e9")
- depends_on('gflags')
- depends_on('protobuf')
- depends_on('leveldb')
- depends_on('openssl')
+ depends_on("gflags")
+ depends_on("protobuf")
+ depends_on("leveldb")
+ depends_on("openssl")
- patch('narrow.patch', sha256='d7393029443853ddda6c09e3d2185ac2f60920a36a8b685eb83b6b80c1535539', when='@:0.9.7')
+ patch(
+ "narrow.patch",
+ sha256="d7393029443853ddda6c09e3d2185ac2f60920a36a8b685eb83b6b80c1535539",
+ when="@:0.9.7",
+ )
diff --git a/var/spack/repos/builtin/packages/brunsli/package.py b/var/spack/repos/builtin/packages/brunsli/package.py
index 882f03004a..7e0a7c6ac5 100644
--- a/var/spack/repos/builtin/packages/brunsli/package.py
+++ b/var/spack/repos/builtin/packages/brunsli/package.py
@@ -12,12 +12,12 @@ class Brunsli(CMakePackage):
homepage = "https://github.com/google/brunsli"
git = "https://github.com/google/brunsli.git"
- version('0.1', tag='v0.1', submodules=True)
+ version("0.1", tag="v0.1", submodules=True)
- depends_on('cmake@3.1:', type='build')
+ depends_on("cmake@3.1:", type="build")
@property
def libs(self):
return find_libraries(
- ['libbrunslidec-c', 'libbrunslienc-c'], root=self.prefix, recursive=True
+ ["libbrunslidec-c", "libbrunslienc-c"], root=self.prefix, recursive=True
)
diff --git a/var/spack/repos/builtin/packages/brynet/package.py b/var/spack/repos/builtin/packages/brynet/package.py
index e2e5b1586d..14e75290a5 100644
--- a/var/spack/repos/builtin/packages/brynet/package.py
+++ b/var/spack/repos/builtin/packages/brynet/package.py
@@ -11,15 +11,15 @@ class Brynet(CMakePackage):
using C++ 11."""
homepage = "https://github.com/IronsDu/brynet"
- url = "https://github.com/IronsDu/brynet/archive/v1.0.8.tar.gz"
+ url = "https://github.com/IronsDu/brynet/archive/v1.0.8.tar.gz"
- version('1.10.0', sha256='a7bc20c4a2cc2f0f29af56e9355b8769256785850ddedcef226e9562e97d05cf')
- version('1.0.8', sha256='e37dee5fa14acec99bdd7ce8530a00ff5116f608f0a5401cd2e32e10f23975fc')
- version('1.0.7', sha256='60116fccff108d03f3ff0a3d5c1fb5ad442bad7ef155bf1a3c7819ffc9d57524')
- version('1.0.6', sha256='5e94b5b64fbdfbcb4e33b11fb7832cf0ca3898ab6b6461867182598bab7ca65f')
+ version("1.10.0", sha256="a7bc20c4a2cc2f0f29af56e9355b8769256785850ddedcef226e9562e97d05cf")
+ version("1.0.8", sha256="e37dee5fa14acec99bdd7ce8530a00ff5116f608f0a5401cd2e32e10f23975fc")
+ version("1.0.7", sha256="60116fccff108d03f3ff0a3d5c1fb5ad442bad7ef155bf1a3c7819ffc9d57524")
+ version("1.0.6", sha256="5e94b5b64fbdfbcb4e33b11fb7832cf0ca3898ab6b6461867182598bab7ca65f")
def cmake_args(self):
args = []
- args.append('-Dbrynet_BUILD_EXAMPLES=ON')
- args.append('-Dbrynet_BUILD_TESTS=ON')
+ args.append("-Dbrynet_BUILD_EXAMPLES=ON")
+ args.append("-Dbrynet_BUILD_TESTS=ON")
return args
diff --git a/var/spack/repos/builtin/packages/bsseeker2/package.py b/var/spack/repos/builtin/packages/bsseeker2/package.py
index 31d6ce9b27..8ed6ecb83d 100644
--- a/var/spack/repos/builtin/packages/bsseeker2/package.py
+++ b/var/spack/repos/builtin/packages/bsseeker2/package.py
@@ -10,25 +10,31 @@ class Bsseeker2(Package):
"""A versatile aligning pipeline for bisulfite sequencing data."""
homepage = "http://pellegrini.mcdb.ucla.edu/BS_Seeker2"
- url = "https://github.com/BSSeeker/BSseeker2/archive/BSseeker2-v2.1.8.tar.gz"
+ url = "https://github.com/BSSeeker/BSseeker2/archive/BSseeker2-v2.1.8.tar.gz"
- version('2.1.8', sha256='34ebedce36a0fca9e22405d4c2c20bc978439d4a34d1d543657fbc53ff847934')
- version('2.1.7', sha256='ac90fb4ad8853ee920f1ffea2b1a8cfffcdb1508ff34be0091d5a9c90ac8c74a',
- url='https://github.com/BSSeeker/BSseeker2/archive/v2.1.7.tar.gz')
- version('2.1.2', sha256='08055dd314f85a9b74c259c2cb894ea2affdab2c7a120af3589c649e1900c5c6',
- url='https://github.com/BSSeeker/BSseeker2/archive/v2.1.2.tar.gz')
+ version("2.1.8", sha256="34ebedce36a0fca9e22405d4c2c20bc978439d4a34d1d543657fbc53ff847934")
+ version(
+ "2.1.7",
+ sha256="ac90fb4ad8853ee920f1ffea2b1a8cfffcdb1508ff34be0091d5a9c90ac8c74a",
+ url="https://github.com/BSSeeker/BSseeker2/archive/v2.1.7.tar.gz",
+ )
+ version(
+ "2.1.2",
+ sha256="08055dd314f85a9b74c259c2cb894ea2affdab2c7a120af3589c649e1900c5c6",
+ url="https://github.com/BSSeeker/BSseeker2/archive/v2.1.2.tar.gz",
+ )
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('Antisense.py', prefix.bin)
- install_tree('bs_index', prefix.bin.bs_index)
- install('bs_seeker2-build.py', prefix.bin)
- install_tree('bs_utils', prefix.bin.bs_utils)
- install_tree('galaxy', prefix.bin.galaxy)
- install_tree('bs_align', prefix.bin.bs_align)
- install('bs_seeker2-align.py', prefix.bin)
- install('bs_seeker2-call_methylation.py', prefix.bin)
- install('FilterReads.py', prefix.bin)
+ install("Antisense.py", prefix.bin)
+ install_tree("bs_index", prefix.bin.bs_index)
+ install("bs_seeker2-build.py", prefix.bin)
+ install_tree("bs_utils", prefix.bin.bs_utils)
+ install_tree("galaxy", prefix.bin.galaxy)
+ install_tree("bs_align", prefix.bin.bs_align)
+ install("bs_seeker2-align.py", prefix.bin)
+ install("bs_seeker2-call_methylation.py", prefix.bin)
+ install("FilterReads.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/bubblewrap/package.py b/var/spack/repos/builtin/packages/bubblewrap/package.py
index d0ca3253df..30b2616336 100644
--- a/var/spack/repos/builtin/packages/bubblewrap/package.py
+++ b/var/spack/repos/builtin/packages/bubblewrap/package.py
@@ -10,23 +10,25 @@ class Bubblewrap(AutotoolsPackage):
"""Unprivileged sandboxing tool"""
homepage = "https://github.com/containers/bubblewrap"
- url = "https://github.com/containers/bubblewrap/releases/download/v0.3.0/bubblewrap-0.3.0.tar.xz"
- maintainers = ['haampie']
+ url = (
+ "https://github.com/containers/bubblewrap/releases/download/v0.3.0/bubblewrap-0.3.0.tar.xz"
+ )
+ maintainers = ["haampie"]
- version('0.6.1', sha256='9609c7dc162bc68abc29abfab566934fdca37520a15ed01b675adcf3a4303282')
- version('0.6.0', sha256='11393cf2058f22e6a6c6e9cca3c85ff4c4239806cb28fee657c62a544df35693')
- version('0.5.0', sha256='16fdaf33799d63104e347e0133f909196fe90d0c50515d010bcb422eb5a00818')
- version('0.4.1', sha256='b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03')
- version('0.4.0', sha256='e5fe7d2f74bd7029b5306b0b70587cec31f74357739295e5276b4a3718712023')
- version('0.3.3', sha256='c6a45f51794a908b76833b132471397a7413f07620af08e76c273d9f7b364dff')
- version('0.3.1', sha256='deca6b608c54df4be0669b8bb6d254858924588e9f86e116eb04656a3b6d4bf8')
+ version("0.6.1", sha256="9609c7dc162bc68abc29abfab566934fdca37520a15ed01b675adcf3a4303282")
+ version("0.6.0", sha256="11393cf2058f22e6a6c6e9cca3c85ff4c4239806cb28fee657c62a544df35693")
+ version("0.5.0", sha256="16fdaf33799d63104e347e0133f909196fe90d0c50515d010bcb422eb5a00818")
+ version("0.4.1", sha256="b9c69b9b1c61a608f34325c8e1a495229bacf6e4a07cbb0c80cf7a814d7ccc03")
+ version("0.4.0", sha256="e5fe7d2f74bd7029b5306b0b70587cec31f74357739295e5276b4a3718712023")
+ version("0.3.3", sha256="c6a45f51794a908b76833b132471397a7413f07620af08e76c273d9f7b364dff")
+ version("0.3.1", sha256="deca6b608c54df4be0669b8bb6d254858924588e9f86e116eb04656a3b6d4bf8")
def configure_args(self):
return [
- '--disable-sudo',
- '--disable-man',
- '--without-bash-completion-dir',
+ "--disable-sudo",
+ "--disable-man",
+ "--without-bash-completion-dir",
]
- depends_on('pkgconfig', type='build')
- depends_on('libcap')
+ depends_on("pkgconfig", type="build")
+ depends_on("libcap")
diff --git a/var/spack/repos/builtin/packages/bucky/package.py b/var/spack/repos/builtin/packages/bucky/package.py
index 746b017bc9..2c8b9f5312 100644
--- a/var/spack/repos/builtin/packages/bucky/package.py
+++ b/var/spack/repos/builtin/packages/bucky/package.py
@@ -8,40 +8,40 @@ from spack.package import *
class Bucky(MakefilePackage):
"""BUCKy is a free program to combine molecular data from multiple loci.
- BUCKy estimates the dominant history of sampled individuals, and how
- much of the genome supports each relationship, using Bayesian
- concordance analysis."""
+ BUCKy estimates the dominant history of sampled individuals, and how
+ much of the genome supports each relationship, using Bayesian
+ concordance analysis."""
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"
- maintainers = ['snehring']
+ url = "http://dstats.net/download/http://www.stat.wisc.edu/~ane/bucky/v1.4/bucky-1.4.4.tgz"
+ maintainers = ["snehring"]
- version('1.4.4', sha256='1621fee0d42314d9aa45d0082b358d4531e7d1d1a0089c807c1b21fbdc4e4592')
+ version("1.4.4", sha256="1621fee0d42314d9aa45d0082b358d4531e7d1d1a0089c807c1b21fbdc4e4592")
# Compilation requires gcc
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- filter_file('g++', spack_cxx, 'makefile', string=True)
+ filter_file("g++", spack_cxx, "makefile", string=True)
def install(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
mkdirp(prefix.bin)
- install('bucky', prefix.bin)
- install('mbsum', prefix.bin)
- install_tree('data', prefix.data)
- install_tree('doc', prefix.doc)
- install_tree('scripts', prefix.scripts)
+ install("bucky", prefix.bin)
+ install("mbsum", prefix.bin)
+ install_tree("data", prefix.data)
+ install_tree("doc", prefix.doc)
+ install_tree("scripts", prefix.scripts)
def flag_handler(self, name, flags):
- if self.spec.satisfies('%gcc@5:') and name.lower() == 'cxxflags':
+ if self.spec.satisfies("%gcc@5:") and name.lower() == "cxxflags":
flags.append(self.compiler.cxx98_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/buddy/package.py b/var/spack/repos/builtin/packages/buddy/package.py
index 5fcff8914e..70ce3f5144 100644
--- a/var/spack/repos/builtin/packages/buddy/package.py
+++ b/var/spack/repos/builtin/packages/buddy/package.py
@@ -12,15 +12,15 @@ class Buddy(AutotoolsPackage):
"""A Binary Decision Diagram library."""
homepage = "https://sourceforge.net/projects/buddy/"
- url = "https://sourceforge.net/projects/buddy/files/buddy/BuDDy%202.4/buddy-2.4.tar.gz"
+ url = "https://sourceforge.net/projects/buddy/files/buddy/BuDDy%202.4/buddy-2.4.tar.gz"
list_url = "https://sourceforge.net/projects/buddy/files/buddy"
list_depth = 1
- version('2.4', sha256='d3df80a6a669d9ae408cb46012ff17bd33d855529d20f3a7e563d0d913358836')
+ version("2.4", sha256="d3df80a6a669d9ae408cb46012ff17bd33d855529d20f3a7e563d0d913358836")
def configure_args(self):
- if platform.machine() == 'aarch64':
+ if platform.machine() == "aarch64":
config_args = [
- '--build=aarch64-unknown-linux-gnu',
+ "--build=aarch64-unknown-linux-gnu",
]
return config_args
diff --git a/var/spack/repos/builtin/packages/bueno/package.py b/var/spack/repos/builtin/packages/bueno/package.py
index 5005bbb9a1..029a348990 100644
--- a/var/spack/repos/builtin/packages/bueno/package.py
+++ b/var/spack/repos/builtin/packages/bueno/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class Bueno(PythonPackage):
"""Bueno: Well-Provenanced Benchmarking"""
- homepage = "https://lanl.github.io/bueno"
- url = "https://github.com/lanl/bueno/archive/refs/tags/v0.0.1.tar.gz"
- git = "https://github.com/lanl/bueno.git"
+ homepage = "https://lanl.github.io/bueno"
+ url = "https://github.com/lanl/bueno/archive/refs/tags/v0.0.1.tar.gz"
+ git = "https://github.com/lanl/bueno.git"
- maintainers = ['rbberger']
+ maintainers = ["rbberger"]
version("master", branch="master")
- depends_on('python@3.7:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
- depends_on("py-pyyaml", type=('build', 'run'))
- depends_on("py-lark@1.0.0", type=('build', 'run'))
- depends_on("py-pika@1.2.0", type=('build', 'run'))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-lark@1.0.0", type=("build", "run"))
+ depends_on("py-pika@1.2.0", type=("build", "run"))
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/bufr/package.py b/var/spack/repos/builtin/packages/bufr/package.py
index aec108852f..05c9350854 100644
--- a/var/spack/repos/builtin/packages/bufr/package.py
+++ b/var/spack/repos/builtin/packages/bufr/package.py
@@ -15,31 +15,30 @@ class Bufr(CMakePackage):
"""
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"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-bufr/archive/refs/tags/bufr_v11.5.0.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'edwardhartnett', 'Hang-Lei-NOAA',
- 'jbathegit']
+ maintainers = ["t-brown", "kgerheiser", "edwardhartnett", "Hang-Lei-NOAA", "jbathegit"]
- version('11.5.0', sha256='d154839e29ef1fe82e58cf20232e9f8a4f0610f0e8b6a394b7ca052e58f97f43')
+ version("11.5.0", sha256="d154839e29ef1fe82e58cf20232e9f8a4f0610f0e8b6a394b7ca052e58f97f43")
def _setup_bufr_environment(self, env, suffix):
- libname = 'libufr_{0}'.format(suffix)
- lib = find_libraries(libname, root=self.prefix,
- shared=False, recursive=True)
- lib_envname = 'BUFR_LIB{0}'.format(suffix)
- inc_envname = 'BUFR_INC{0}'.format(suffix)
- include_dir = 'include_{0}'.format(suffix)
+ libname = "libufr_{0}".format(suffix)
+ lib = find_libraries(libname, root=self.prefix, shared=False, recursive=True)
+ lib_envname = "BUFR_LIB{0}".format(suffix)
+ inc_envname = "BUFR_INC{0}".format(suffix)
+ include_dir = "include_{0}".format(suffix)
env.set(lib_envname, lib[0])
env.set(inc_envname, include_dir)
# Bufr has _DA (dynamic allocation) libs in versions <= 11.5.0
- if self.spec.satisfies('@:11.5.0'):
- da_lib = find_libraries(libname + "_DA", root=self.prefix,
- shared=False, recursive=True)
- env.set(lib_envname + '_DA', da_lib[0])
- env.set(inc_envname + '_DA', include_dir)
+ if self.spec.satisfies("@:11.5.0"):
+ da_lib = find_libraries(
+ libname + "_DA", root=self.prefix, shared=False, recursive=True
+ )
+ env.set(lib_envname + "_DA", da_lib[0])
+ env.set(inc_envname + "_DA", include_dir)
def setup_run_environment(self, env):
- for suffix in ('4', '8', 'd'):
+ for suffix in ("4", "8", "d"):
self._setup_bufr_environment(env, suffix)
diff --git a/var/spack/repos/builtin/packages/bumpversion/package.py b/var/spack/repos/builtin/packages/bumpversion/package.py
index 212c4d3b5d..26ae2190ed 100644
--- a/var/spack/repos/builtin/packages/bumpversion/package.py
+++ b/var/spack/repos/builtin/packages/bumpversion/package.py
@@ -11,7 +11,7 @@ class Bumpversion(PythonPackage):
pypi = "bumpversion/bumpversion-0.5.0.tar.gz"
- version('0.5.3', sha256='6744c873dd7aafc24453d8b6a1a0d6d109faf63cd0cd19cb78fd46e74932c77e')
- version('0.5.0', sha256='030832b9b46848e1c1ac6678dba8242a021e35e908b65565800c9650291117dc')
+ version("0.5.3", sha256="6744c873dd7aafc24453d8b6a1a0d6d109faf63cd0cd19cb78fd46e74932c77e")
+ version("0.5.0", sha256="030832b9b46848e1c1ac6678dba8242a021e35e908b65565800c9650291117dc")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/busco/package.py b/var/spack/repos/builtin/packages/busco/package.py
index b6afedb449..8e9087d7f3 100644
--- a/var/spack/repos/builtin/packages/busco/package.py
+++ b/var/spack/repos/builtin/packages/busco/package.py
@@ -8,44 +8,44 @@ from spack.package import *
class Busco(PythonPackage):
"""Assesses genome assembly and annotation completeness with Benchmarking
- Universal Single-Copy Orthologs"""
+ Universal Single-Copy Orthologs"""
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"
+ url = "https://gitlab.com/api/v4/projects/ezlab%2Fbusco/repository/archive.tar.gz?sha=2.0.1"
+ git = "https://gitlab.com/ezlab/busco.git"
- version('4.1.3', sha256='08ded26aeb4f6aef791cd88524c3c00792a054c7672ea05219f468d495e7b072')
+ version("4.1.3", sha256="08ded26aeb4f6aef791cd88524c3c00792a054c7672ea05219f468d495e7b072")
# TODO: check the installation procedure for version 3.0.2
# and uncomment the following line
# version('3.0.2', sha256='dbea093315b766b0f7c4fe3cafbbdf51ade79ec84bde04f1f437b48333200f34')
# There is no tag for version 3.0.1
- version('3.0.1', commit='078252e00399550d7b0e8941cd4d986c8e868a83')
- version('2.0.1', sha256='bd72a79b880370e9b61b8c722e171818c7c85d46cc1e2f80595df2738a7e220c')
+ version("3.0.1", commit="078252e00399550d7b0e8941cd4d986c8e868a83")
+ version("2.0.1", sha256="bd72a79b880370e9b61b8c722e171818c7c85d46cc1e2f80595df2738a7e220c")
# https://busco.ezlab.org/busco_userguide.html#manual-installation
- depends_on('python@3.3:', when='@4:', type=('build', 'run'))
+ depends_on("python@3.3:", when="@4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', when='@3:', type='build')
- depends_on('blast-plus')
- depends_on('hmmer')
- depends_on('augustus')
- depends_on('py-biopython', when='@4.1.3', type=('build', 'run'))
+ depends_on("py-setuptools", when="@3:", type="build")
+ depends_on("blast-plus")
+ depends_on("hmmer")
+ depends_on("augustus")
+ depends_on("py-biopython", when="@4.1.3", type=("build", "run"))
def install(self, spec, prefix):
- if self.spec.satisfies('@4.1.3'):
- install_tree('bin', prefix.bin)
- install_tree('config', prefix.config)
+ if self.spec.satisfies("@4.1.3"):
+ install_tree("bin", prefix.bin)
+ install_tree("config", prefix.config)
super(self, PythonPackage).install(spec, prefix)
- if self.spec.satisfies('@3.0.1'):
- with working_dir('scripts'):
+ if self.spec.satisfies("@3.0.1"):
+ with working_dir("scripts"):
mkdirp(prefix.bin)
- install('generate_plot.py', prefix.bin)
- install('run_BUSCO.py', prefix.bin)
- install_tree('config', prefix.config)
+ install("generate_plot.py", prefix.bin)
+ install("run_BUSCO.py", prefix.bin)
+ install_tree("config", prefix.config)
super(self, PythonPackage).install(spec, prefix)
- if self.spec.satisfies('@2.0.1'):
+ if self.spec.satisfies("@2.0.1"):
mkdirp(prefix.bin)
- install('BUSCO.py', prefix.bin)
- install('BUSCO_plot.py', prefix.bin)
+ install("BUSCO.py", prefix.bin)
+ install("BUSCO_plot.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/busybox/package.py b/var/spack/repos/builtin/packages/busybox/package.py
index 0a14c6d73f..7516b5db7b 100644
--- a/var/spack/repos/builtin/packages/busybox/package.py
+++ b/var/spack/repos/builtin/packages/busybox/package.py
@@ -12,17 +12,17 @@ class Busybox(MakefilePackage):
the utilities you usually find in GNU fileutils, shellutils, etc"""
homepage = "https://busybox.net"
- url = "https://busybox.net/downloads/busybox-1.31.0.tar.bz2"
+ url = "https://busybox.net/downloads/busybox-1.31.0.tar.bz2"
- version('1.31.1', sha256='d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998')
- version('1.31.0', sha256='0e4925392fd9f3743cc517e031b68b012b24a63b0cf6c1ff03cce7bb3846cc99')
- version('1.30.1', sha256='3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc')
- version('1.30.0', sha256='9553da068c0a30b1b8b72479908c1ba58672e2be7b535363a88de5e0f7bc04ce')
+ version("1.31.1", sha256="d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998")
+ version("1.31.0", sha256="0e4925392fd9f3743cc517e031b68b012b24a63b0cf6c1ff03cce7bb3846cc99")
+ version("1.30.1", sha256="3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc")
+ version("1.30.0", sha256="9553da068c0a30b1b8b72479908c1ba58672e2be7b535363a88de5e0f7bc04ce")
def build(self, spec, prefix):
- make('defconfig')
+ make("defconfig")
make()
def install(self, spec, prefix):
- make('install')
- install_tree('.', prefix)
+ make("install")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/butter/package.py b/var/spack/repos/builtin/packages/butter/package.py
index e7cd45a42d..080b6896da 100644
--- a/var/spack/repos/builtin/packages/butter/package.py
+++ b/var/spack/repos/builtin/packages/butter/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Butter(Package):
"""butter: Bowtie UTilizing iTerative placEment of Repetitive small rnas.
- A wrapper for bowtie to produce small RNA-seq alignments where
- multimapped small RNAs tend to be placed near regions of confidently
- high density."""
+ A wrapper for bowtie to produce small RNA-seq alignments where
+ multimapped small RNAs tend to be placed near regions of confidently
+ high density."""
homepage = "https://github.com/MikeAxtell/butter"
- url = "https://github.com/MikeAxtell/butter/archive/v0.3.3.tar.gz"
+ url = "https://github.com/MikeAxtell/butter/archive/v0.3.3.tar.gz"
- version('0.3.3', sha256='862cbe06d51fdefca18e5fe4cfa8e4df6ce92686ccbc389affe05b199ea9243b')
+ version("0.3.3", sha256="862cbe06d51fdefca18e5fe4cfa8e4df6ce92686ccbc389affe05b199ea9243b")
- depends_on('perl', type=('build', 'run'))
- depends_on('samtools')
- depends_on('bowtie')
+ depends_on("perl", type=("build", "run"))
+ depends_on("samtools")
+ depends_on("bowtie")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('butter', prefix.bin)
- install('bam2wig', prefix.bin)
+ install("butter", prefix.bin)
+ install("bam2wig", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/butterflypack/package.py b/var/spack/repos/builtin/packages/butterflypack/package.py
index ac64479398..6459f6ed50 100644
--- a/var/spack/repos/builtin/packages/butterflypack/package.py
+++ b/var/spack/repos/builtin/packages/butterflypack/package.py
@@ -21,46 +21,45 @@ class Butterflypack(CMakePackage):
equations or highly oscillatory integral operators."""
homepage = "https://github.com/liuyangzhuan/ButterflyPACK"
- git = "https://github.com/liuyangzhuan/ButterflyPACK.git"
- url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v2.1.1.tar.gz"
- maintainers = ['liuyangzhuan']
+ git = "https://github.com/liuyangzhuan/ButterflyPACK.git"
+ url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v2.1.1.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('master', branch='master')
- version('2.1.1', sha256='0d4a1ce540c84de37e4398f72ecf685ea0c4eabceba13015add5b445a4ca3a15')
- version('2.1.0', sha256='ac76cc8d431797c1a3641b23124e3de5eb8c3a3afb71c336e7ba69c6cdf150ef')
- version('2.0.0', sha256='84f0e5ac40997409f3c80324238a07f9c700a1263b84140ed97275d67b577b80')
- version('1.2.1', sha256='cd61b0e033f55a932f13d9902e28a7abbf029c279cec9ab1b2a063525d036fa2')
- version('1.2.0', sha256='870b8acd826eb414dc38fa25e22c9c09ddeb5ca595b1dfdaa1fd65ae964d4e94')
- version('1.1.0', sha256='0e6fd0f9e27b3ee8a273dc52f4d24b8737e7279dc26d461ef5658b317215f1dc')
- version('1.0.3', sha256='acf9bc98dd7fea31ab73756b68b3333228b53ab0e85400a8250fcc749a1a6656')
- version('1.0.1', sha256='e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5')
- version('1.0.0', sha256='86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232')
+ version("master", branch="master")
+ version("2.1.1", sha256="0d4a1ce540c84de37e4398f72ecf685ea0c4eabceba13015add5b445a4ca3a15")
+ version("2.1.0", sha256="ac76cc8d431797c1a3641b23124e3de5eb8c3a3afb71c336e7ba69c6cdf150ef")
+ version("2.0.0", sha256="84f0e5ac40997409f3c80324238a07f9c700a1263b84140ed97275d67b577b80")
+ version("1.2.1", sha256="cd61b0e033f55a932f13d9902e28a7abbf029c279cec9ab1b2a063525d036fa2")
+ version("1.2.0", sha256="870b8acd826eb414dc38fa25e22c9c09ddeb5ca595b1dfdaa1fd65ae964d4e94")
+ version("1.1.0", sha256="0e6fd0f9e27b3ee8a273dc52f4d24b8737e7279dc26d461ef5658b317215f1dc")
+ version("1.0.3", sha256="acf9bc98dd7fea31ab73756b68b3333228b53ab0e85400a8250fcc749a1a6656")
+ version("1.0.1", sha256="e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5")
+ version("1.0.0", sha256="86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack')
- depends_on('arpack-ng')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack")
+ depends_on("arpack-ng")
- patch('longline.patch', when='%fj')
- patch('fjfortran.patch', when='%fj')
- patch('isnan.patch', when='%fj')
+ patch("longline.patch", when="%fj")
+ patch("fjfortran.patch", when="%fj")
+ patch("isnan.patch", when="%fj")
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
- '-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
- '-DTPL_SCALAPACK_LIBRARIES=%s' % spec['scalapack'].
- libs.joined(";"),
- '-DTPL_ARPACK_LIBRARIES=%s' % spec['arpack-ng'].libs.joined(";"),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DTPL_BLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"),
+ "-DTPL_LAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
+ "-DTPL_SCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs.joined(";"),
+ "-DTPL_ARPACK_LIBRARIES=%s" % spec["arpack-ng"].libs.joined(";"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
return args
diff --git a/var/spack/repos/builtin/packages/bwa/package.py b/var/spack/repos/builtin/packages/bwa/package.py
index 0ff97300a0..c41bddcbfd 100644
--- a/var/spack/repos/builtin/packages/bwa/package.py
+++ b/var/spack/repos/builtin/packages/bwa/package.py
@@ -12,45 +12,55 @@ class Bwa(Package):
"""Burrow-Wheeler Aligner for pairwise alignment between DNA sequences."""
homepage = "https://github.com/lh3/bwa"
- url = "https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2"
+ url = "https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2"
- version('0.7.17', sha256='de1b4d4e745c0b7fc3e107b5155a51ac063011d33a5d82696331ecf4bed8d0fd')
- version('0.7.15', sha256='2f56afefa49acc9bf45f12edb58e412565086cc20be098b8bf15ec07de8c0515')
- version('0.7.13', sha256='559b3c63266e5d5351f7665268263dbb9592f3c1c4569e7a4a75a15f17f0aedc')
- version('0.7.12', sha256='285f55b7fa1f9e873eda9a9b06752378a799ecdecbc886bbd9ba238045bf62e0',
- url='https://github.com/lh3/bwa/archive/0.7.12.tar.gz')
+ version("0.7.17", sha256="de1b4d4e745c0b7fc3e107b5155a51ac063011d33a5d82696331ecf4bed8d0fd")
+ version("0.7.15", sha256="2f56afefa49acc9bf45f12edb58e412565086cc20be098b8bf15ec07de8c0515")
+ version("0.7.13", sha256="559b3c63266e5d5351f7665268263dbb9592f3c1c4569e7a4a75a15f17f0aedc")
+ version(
+ "0.7.12",
+ sha256="285f55b7fa1f9e873eda9a9b06752378a799ecdecbc886bbd9ba238045bf62e0",
+ url="https://github.com/lh3/bwa/archive/0.7.12.tar.gz",
+ )
- depends_on('zlib')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('bwa_for_aarch64.patch', sha256='b77213b16cf8760f01e32f9a0b2cd8988cf7bac48a11267100f703cbd55c4bfd', when='target=aarch64:')
+ patch(
+ "bwa_for_aarch64.patch",
+ sha256="b77213b16cf8760f01e32f9a0b2cd8988cf7bac48a11267100f703cbd55c4bfd",
+ when="target=aarch64:",
+ )
def install(self, spec, prefix):
- zlib_inc_path = spec['zlib'].prefix.include
- if platform.machine() == 'aarch64':
- sse2neon_inc_path = spec['sse2neon'].prefix.include
- filter_file(r'^INCLUDES=', "INCLUDES=-I%s -I%s" %
- (zlib_inc_path, sse2neon_inc_path),
- 'Makefile')
+ zlib_inc_path = spec["zlib"].prefix.include
+ if platform.machine() == "aarch64":
+ sse2neon_inc_path = spec["sse2neon"].prefix.include
+ filter_file(
+ r"^INCLUDES=",
+ "INCLUDES=-I%s -I%s" % (zlib_inc_path, sse2neon_inc_path),
+ "Makefile",
+ )
else:
- filter_file(r'^INCLUDES=', "INCLUDES=-I%s" %
- zlib_inc_path, 'Makefile')
- filter_file(r'^LIBS=', "LIBS=-L%s " % spec['zlib'].prefix.lib,
- 'Makefile')
+ filter_file(r"^INCLUDES=", "INCLUDES=-I%s" % zlib_inc_path, "Makefile")
+ filter_file(r"^LIBS=", "LIBS=-L%s " % spec["zlib"].prefix.lib, "Makefile")
# use spack C compiler
- filter_file('^CC=.*', 'CC={0}'.format(spack_cc), 'Makefile')
+ filter_file("^CC=.*", "CC={0}".format(spack_cc), "Makefile")
# fix gcc 10+ errors
- if self.spec.satisfies('%gcc@10:'):
- filter_file('const uint8_t rle_auxtab[8]',
- 'extern const uint8_t rle_auxtab[8]',
- 'rle.h', string=True)
+ if self.spec.satisfies("%gcc@10:"):
+ filter_file(
+ "const uint8_t rle_auxtab[8]",
+ "extern const uint8_t rle_auxtab[8]",
+ "rle.h",
+ string=True,
+ )
make()
mkdirp(prefix.bin)
- install('bwa', join_path(prefix.bin, 'bwa'))
- set_executable(join_path(prefix.bin, 'bwa'))
+ install("bwa", join_path(prefix.bin, "bwa"))
+ set_executable(join_path(prefix.bin, "bwa"))
mkdirp(prefix.doc)
- install('README.md', prefix.doc)
- install('NEWS.md', prefix.doc)
+ install("README.md", prefix.doc)
+ install("NEWS.md", prefix.doc)
mkdirp(prefix.man.man1)
- install('bwa.1', prefix.man.man1)
+ install("bwa.1", prefix.man.man1)
diff --git a/var/spack/repos/builtin/packages/bwtool/package.py b/var/spack/repos/builtin/packages/bwtool/package.py
index c05474625c..5700867bed 100644
--- a/var/spack/repos/builtin/packages/bwtool/package.py
+++ b/var/spack/repos/builtin/packages/bwtool/package.py
@@ -10,8 +10,8 @@ class Bwtool(AutotoolsPackage):
"""bwtool is a command-line utility for bigWig files."""
homepage = "https://github.com/CRG-Barcelona/bwtool"
- url = "https://github.com/CRG-Barcelona/bwtool/archive/1.0.tar.gz"
+ url = "https://github.com/CRG-Barcelona/bwtool/archive/1.0.tar.gz"
- version('1.0', sha256='2e177573602c129e1d37e07288bdc04bef14d2c25c39636aea8c9a359400594a')
+ version("1.0", sha256="2e177573602c129e1d37e07288bdc04bef14d2c25c39636aea8c9a359400594a")
- depends_on('libbeato')
+ depends_on("libbeato")
diff --git a/var/spack/repos/builtin/packages/byacc/package.py b/var/spack/repos/builtin/packages/byacc/package.py
index e13fbff1b3..de8ba4202f 100644
--- a/var/spack/repos/builtin/packages/byacc/package.py
+++ b/var/spack/repos/builtin/packages/byacc/package.py
@@ -14,14 +14,14 @@ class Byacc(AutotoolsPackage):
features of AT&T Yacc will probably be rejected."""
homepage = "https://invisible-island.net/byacc/byacc.html"
- url = "ftp://ftp.invisible-island.net/pub/byacc/byacc-20210808.tgz"
+ url = "ftp://ftp.invisible-island.net/pub/byacc/byacc-20210808.tgz"
# Check FTP directory ftp://ftp.invisible-island.net/byacc/ to find the latest version
- version('20210808', sha256='f158529be9d0594263c7f11a87616a49ea23e55ac63691252a2304fbbc7d3a83')
+ version("20210808", sha256="f158529be9d0594263c7f11a87616a49ea23e55ac63691252a2304fbbc7d3a83")
- provides('yacc')
+ provides("yacc")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/byobu/package.py b/var/spack/repos/builtin/packages/byobu/package.py
index 4a89d0216a..292b9cd244 100644
--- a/var/spack/repos/builtin/packages/byobu/package.py
+++ b/var/spack/repos/builtin/packages/byobu/package.py
@@ -11,13 +11,13 @@ class Byobu(AutotoolsPackage):
"""Byobu: Text-based window manager and terminal multiplexer."""
homepage = "https://www.byobu.co/"
- url = "https://launchpad.net/byobu/trunk/5.123/+download/byobu_5.123.orig.tar.gz"
+ url = "https://launchpad.net/byobu/trunk/5.123/+download/byobu_5.123.orig.tar.gz"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('5.131', sha256='77ac751ae79d8e3f0377ac64b64bc9738fa68d68466b8d2ff652b63b1d985e52')
- version('5.127', sha256='4bafc7cb69ff5b0ab6998816d58cd1ef7175e5de75abc1dd7ffd6d5288a4f63b')
- version('5.125', sha256='5022c82705a5d57f1d4e8dcb1819fd04628af2d4b4618b7d44fa27ebfcdda9db')
- version('5.123', sha256='2e5a5425368d2f74c0b8649ce88fc653420c248f6c7945b4b718f382adc5a67d')
+ version("5.131", sha256="77ac751ae79d8e3f0377ac64b64bc9738fa68d68466b8d2ff652b63b1d985e52")
+ version("5.127", sha256="4bafc7cb69ff5b0ab6998816d58cd1ef7175e5de75abc1dd7ffd6d5288a4f63b")
+ version("5.125", sha256="5022c82705a5d57f1d4e8dcb1819fd04628af2d4b4618b7d44fa27ebfcdda9db")
+ version("5.123", sha256="2e5a5425368d2f74c0b8649ce88fc653420c248f6c7945b4b718f382adc5a67d")
- depends_on('tmux', type=('build', 'run'))
+ depends_on("tmux", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/byte-unixbench/package.py b/var/spack/repos/builtin/packages/byte-unixbench/package.py
index 29148774a3..37859c1031 100644
--- a/var/spack/repos/builtin/packages/byte-unixbench/package.py
+++ b/var/spack/repos/builtin/packages/byte-unixbench/package.py
@@ -10,12 +10,12 @@ class ByteUnixbench(MakefilePackage):
"""UnixBench is the original BYTE UNIX benchmark suite."""
homepage = "https://github.com/kdlucas/byte-unixbench"
- url = "https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz"
+ url = "https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz"
- version('5.1.3', sha256='3a6bb00f270a5329682dff20fd2c1ab5332ef046eb54a96a0d7bd371005d31a3')
+ version("5.1.3", sha256="3a6bb00f270a5329682dff20fd2c1ab5332ef046eb54a96a0d7bd371005d31a3")
- build_directory = 'UnixBench'
+ build_directory = "UnixBench"
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/byteman/package.py b/var/spack/repos/builtin/packages/byteman/package.py
index 0b359e72fa..96c841812d 100644
--- a/var/spack/repos/builtin/packages/byteman/package.py
+++ b/var/spack/repos/builtin/packages/byteman/package.py
@@ -11,11 +11,11 @@ class Byteman(MavenPackage):
the behaviour of Java application and JDK runtime code."""
homepage = "https://www.jboss.org/byteman"
- url = "https://github.com/bytemanproject/byteman/archive/4.0.12.tar.gz"
+ url = "https://github.com/bytemanproject/byteman/archive/4.0.12.tar.gz"
- version('4.0.12', sha256='72fdc904d7b8df9e743fbb5ae84e51ffc81d32b6e0b0b80fc7ac165dd8c9c7c2')
- version('4.0.11', sha256='8e4af6019702c8b22f354962f35f197f9ba2c8699235aac77ebd9263ac12261b')
- version('4.0.10', sha256='1b3c9e66fc3f230e407904db1ac43eb5cd4c33620f0d0f9f6c0cb23e4d28784e')
- version('4.0.9', sha256='4ffffa9e0bbc45d5c47d443dcae21191531e8b68ade9423d109d40826bf0bd2b')
- version('4.0.8', sha256='f357d759c1dad52f4ae626d07fb2cf7c62855b7421723633d90ac49d83bd154b')
- version('4.0.7', sha256='542d688c804cd7baa7efad59a94ef8e5d21cc81f3e897f31152c96a7df896aa5')
+ version("4.0.12", sha256="72fdc904d7b8df9e743fbb5ae84e51ffc81d32b6e0b0b80fc7ac165dd8c9c7c2")
+ version("4.0.11", sha256="8e4af6019702c8b22f354962f35f197f9ba2c8699235aac77ebd9263ac12261b")
+ version("4.0.10", sha256="1b3c9e66fc3f230e407904db1ac43eb5cd4c33620f0d0f9f6c0cb23e4d28784e")
+ version("4.0.9", sha256="4ffffa9e0bbc45d5c47d443dcae21191531e8b68ade9423d109d40826bf0bd2b")
+ version("4.0.8", sha256="f357d759c1dad52f4ae626d07fb2cf7c62855b7421723633d90ac49d83bd154b")
+ version("4.0.7", sha256="542d688c804cd7baa7efad59a94ef8e5d21cc81f3e897f31152c96a7df896aa5")
diff --git a/var/spack/repos/builtin/packages/bzip2/package.py b/var/spack/repos/builtin/packages/bzip2/package.py
index b0d7107e7c..c4d497e6a8 100644
--- a/var/spack/repos/builtin/packages/bzip2/package.py
+++ b/var/spack/repos/builtin/packages/bzip2/package.py
@@ -18,112 +18,106 @@ class Bzip2(Package, SourcewarePackage):
homepage = "https://sourceware.org/bzip2/"
sourceware_mirror_path = "bzip2/bzip2-1.0.8.tar.gz"
- executables = [r'^bzip2$']
+ executables = [r"^bzip2$"]
- version('1.0.8', sha256='ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269')
- version('1.0.7', sha256='e768a87c5b1a79511499beb41500bcc4caf203726fff46a6f5f9ad27fe08ab2b')
- version('1.0.6', sha256='a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd')
+ version("1.0.8", sha256="ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269")
+ version("1.0.7", sha256="e768a87c5b1a79511499beb41500bcc4caf203726fff46a6f5f9ad27fe08ab2b")
+ version("1.0.6", sha256="a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd")
- variant('shared', default=True, description='Enables the build of shared libraries.')
- variant('pic', default=False, description='Build static libraries with PIC')
- variant('debug', default=False, description='Enable debug symbols and disable optimization')
+ variant("shared", default=True, description="Enables the build of shared libraries.")
+ variant("pic", default=False, description="Build static libraries with PIC")
+ variant("debug", default=False, description="Enable debug symbols and disable optimization")
- depends_on('diffutils', type='build')
+ depends_on("diffutils", type="build")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--help', output=str, error=str)
- match = re.search(r'bzip2, a block-sorting file compressor.'
- ' Version ([^,]+)', output)
+ output = Executable(exe)("--help", output=str, error=str)
+ match = re.search(r"bzip2, a block-sorting file compressor." " Version ([^,]+)", output)
return match.group(1) if match else None
# override default implementation
@property
def libs(self):
- shared = '+shared' in self.spec
- return find_libraries(
- 'libbz2', root=self.prefix, shared=shared, recursive=True
- )
+ shared = "+shared" in self.spec
+ return find_libraries("libbz2", root=self.prefix, shared=shared, recursive=True)
def flag_handler(self, name, flags):
- if name == 'cflags':
- if '+pic' in self.spec:
+ if name == "cflags":
+ if "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
- if '+debug' in self.spec:
- flags.append('-g')
- return(flags, None, None)
+ if "+debug" in self.spec:
+ flags.append("-g")
+ return (flags, None, None)
def patch(self):
- if self.spec.satisfies('+debug'):
- for makefile in ['Makefile', 'Makefile-libbz2_so']:
- filter_file(r'-O ', '-O0 ', makefile)
- filter_file(r'-O2 ', '-O0 ', makefile)
+ if self.spec.satisfies("+debug"):
+ for makefile in ["Makefile", "Makefile-libbz2_so"]:
+ filter_file(r"-O ", "-O0 ", makefile)
+ filter_file(r"-O2 ", "-O0 ", makefile)
# bzip2 comes with two separate Makefiles for static and dynamic builds
# Tell both to use Spack's compiler wrapper instead of GCC
- filter_file(r'^CC=gcc', 'CC={0}'.format(spack_cc), 'Makefile')
- filter_file(
- r'^CC=gcc', 'CC={0}'.format(spack_cc), 'Makefile-libbz2_so'
- )
+ filter_file(r"^CC=gcc", "CC={0}".format(spack_cc), "Makefile")
+ filter_file(r"^CC=gcc", "CC={0}".format(spack_cc), "Makefile-libbz2_so")
# The Makefiles use GCC flags that are incompatible with PGI
- if self.spec.satisfies('%pgi') or self.spec.satisfies('%nvhpc@:20.11'):
- filter_file('-Wall -Winline', '-Minform=inform', 'Makefile')
- filter_file('-Wall -Winline', '-Minform=inform',
- 'Makefile-libbz2_so')
+ if self.spec.satisfies("%pgi") or self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file("-Wall -Winline", "-Minform=inform", "Makefile")
+ filter_file("-Wall -Winline", "-Minform=inform", "Makefile-libbz2_so")
# Patch the link line to use RPATHs on macOS
- if 'darwin' in self.spec.architecture:
+ if "darwin" in self.spec.architecture:
v = self.spec.version
v1, v2, v3 = (v.up_to(i) for i in (1, 2, 3))
- kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
+ kwargs = {"ignore_absent": False, "backup": False, "string": True}
- mf = FileFilter('Makefile-libbz2_so')
+ mf = FileFilter("Makefile-libbz2_so")
mf.filter(
- '$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(
+ "$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)".format(
v2, v3
),
(
- '$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib '
- '-current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'
- ) .format(v1, v2, v3, v3),
+ "$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib "
+ "-current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)"
+ ).format(v1, v2, v3, v3),
**kwargs
)
mf.filter(
- '$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3),
- '$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'
- .format(v3), **kwargs)
+ "$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}".format(v3),
+ "$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib".format(v3),
+ **kwargs
+ )
mf.filter(
- 'rm -f libbz2.so.{0}'.format(v2),
- 'rm -f libbz2.{0}.dylib'.format(v2), **kwargs)
+ "rm -f libbz2.so.{0}".format(v2), "rm -f libbz2.{0}.dylib".format(v2), **kwargs
+ )
mf.filter(
- 'ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
- 'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2),
- **kwargs)
+ "ln -s libbz2.so.{0} libbz2.so.{1}".format(v3, v2),
+ "ln -s libbz2.{0}.dylib libbz2.{1}.dylib".format(v3, v2),
+ **kwargs
+ )
def install(self, spec, prefix):
# Build the dynamic library first
- if '+shared' in spec:
- make('-f', 'Makefile-libbz2_so')
+ if "+shared" in spec:
+ make("-f", "Makefile-libbz2_so")
# Build the static library and everything else
make()
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
- if '+shared' in spec:
- install('bzip2-shared', join_path(prefix.bin, 'bzip2'))
+ if "+shared" in spec:
+ install("bzip2-shared", join_path(prefix.bin, "bzip2"))
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1, 2, 3))
- if 'darwin' in self.spec.architecture:
- lib = 'libbz2.dylib'
- lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v)
- for v in (v1, v2, v3))
+ if "darwin" in self.spec.architecture:
+ lib = "libbz2.dylib"
+ lib1, lib2, lib3 = ("libbz2.{0}.dylib".format(v) for v in (v1, v2, v3))
else:
- lib = 'libbz2.so'
- lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v)
- for v in (v1, v2, v3))
+ lib = "libbz2.so"
+ lib1, lib2, lib3 = ("libbz2.so.{0}".format(v) for v in (v1, v2, v3))
install(lib3, join_path(prefix.lib, lib3))
with working_dir(prefix.lib):
@@ -131,6 +125,6 @@ class Bzip2(Package, SourcewarePackage):
symlink(lib3, libname)
with working_dir(prefix.bin):
- force_remove('bunzip2', 'bzcat')
- symlink('bzip2', 'bunzip2')
- symlink('bzip2', 'bzcat')
+ force_remove("bunzip2", "bzcat")
+ symlink("bzip2", "bunzip2")
+ symlink("bzip2", "bzcat")
diff --git a/var/spack/repos/builtin/packages/c-ares/package.py b/var/spack/repos/builtin/packages/c-ares/package.py
index 86c3ae6a28..4918e698d7 100644
--- a/var/spack/repos/builtin/packages/c-ares/package.py
+++ b/var/spack/repos/builtin/packages/c-ares/package.py
@@ -10,12 +10,12 @@ class CAres(CMakePackage):
"""c-ares: A C library for asynchronous DNS requests"""
homepage = "https://c-ares.haxx.se"
- url = "https://github.com/c-ares/c-ares/archive/cares-1_15_0.tar.gz"
- git = "https://github.com/c-ares/c-ares.git"
+ url = "https://github.com/c-ares/c-ares/archive/cares-1_15_0.tar.gz"
+ git = "https://github.com/c-ares/c-ares.git"
- version('master', branch='master')
- version('1.15.0', sha256='7deb7872cbd876c29036d5f37e30c4cbc3cc068d59d8b749ef85bb0736649f04')
- version('1.13.0', sha256='7c48c57706a38691041920e705d2a04426ad9c68d40edd600685323f214b2d57')
+ version("master", branch="master")
+ version("1.15.0", sha256="7deb7872cbd876c29036d5f37e30c4cbc3cc068d59d8b749ef85bb0736649f04")
+ version("1.13.0", sha256="7c48c57706a38691041920e705d2a04426ad9c68d40edd600685323f214b2d57")
def url_for_version(self, version):
url = "https://github.com/c-ares/c-ares/archive/cares-{0}.tar.gz"
@@ -23,4 +23,4 @@ class CAres(CMakePackage):
@property
def libs(self):
- return find_libraries(['libcares'], root=self.prefix, recursive=True)
+ return find_libraries(["libcares"], root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/c-blosc/package.py b/var/spack/repos/builtin/packages/c-blosc/package.py
index 3bbba347c9..2a5094902f 100644
--- a/var/spack/repos/builtin/packages/c-blosc/package.py
+++ b/var/spack/repos/builtin/packages/c-blosc/package.py
@@ -11,61 +11,62 @@ from spack.package import *
class CBlosc(CMakePackage):
"""Blosc, an extremely fast, multi-threaded, meta-compressor library"""
+
homepage = "https://www.blosc.org"
- url = "https://github.com/Blosc/c-blosc/archive/v1.11.1.tar.gz"
-
- version('1.21.1', sha256='f387149eab24efa01c308e4cba0f59f64ccae57292ec9c794002232f7903b55b')
- version('1.21.0', sha256='b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d')
- version('1.17.0', sha256='75d98c752b8cf0d4a6380a3089d56523f175b0afa2d0cf724a1bd0a1a8f975a4')
- version('1.16.3', sha256='bec56cb0956725beb93d50478e918aca09f489f1bfe543dbd3087827a7344396')
- version('1.15.0', sha256='dbbb01f9fedcdf2c2ff73296353a9253f44ce9de89c081cbd8146170dce2ba8f')
- version('1.12.1', sha256='e04535e816bb942bedc9a0ba209944d1eb34e26e2d9cca37f114e8ee292cb3c8')
- version('1.11.1', sha256='d15937961d37b0780b8fb0641483eb9f6d4c379f88ac7ee84ff5dd06c2b72360')
- version('1.9.2', sha256='6349ab927705a451439b2e23ec5c3473f6b7e444e6d4aafaff76b789713e9fee')
- version('1.9.1', sha256='e4433fb0708517607cf4377837c4589807b9a8c112b94f7978cc8aaffb719bf0')
- version('1.9.0', sha256='0cb5b5f7a25f71227e3dced7a6035e8ffd94736f7ae9fae546efa3b7c6e7a852')
- version('1.8.1', sha256='1abf048634c37aeca53eeb6a9248ea235074077028d12b3560eccf1dff7143b8')
- version('1.8.0', sha256='e0f8b9e12e86776a1b037385826c55006da6e2ae4973dac5b5ad3cfcf01e9043')
-
- variant('avx2', default=True, description='Enable AVX2 support')
-
- depends_on('cmake@2.8.10:', type='build')
- depends_on('snappy')
- depends_on('zlib')
- depends_on('zstd')
- depends_on('lz4')
-
- patch('gcc.patch', when="@1.12.1:1.17.0")
- patch('test_forksafe.patch', when='@1.15.0:1.17.0%intel')
+ url = "https://github.com/Blosc/c-blosc/archive/v1.11.1.tar.gz"
+
+ version("1.21.1", sha256="f387149eab24efa01c308e4cba0f59f64ccae57292ec9c794002232f7903b55b")
+ version("1.21.0", sha256="b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d")
+ version("1.17.0", sha256="75d98c752b8cf0d4a6380a3089d56523f175b0afa2d0cf724a1bd0a1a8f975a4")
+ version("1.16.3", sha256="bec56cb0956725beb93d50478e918aca09f489f1bfe543dbd3087827a7344396")
+ version("1.15.0", sha256="dbbb01f9fedcdf2c2ff73296353a9253f44ce9de89c081cbd8146170dce2ba8f")
+ version("1.12.1", sha256="e04535e816bb942bedc9a0ba209944d1eb34e26e2d9cca37f114e8ee292cb3c8")
+ version("1.11.1", sha256="d15937961d37b0780b8fb0641483eb9f6d4c379f88ac7ee84ff5dd06c2b72360")
+ version("1.9.2", sha256="6349ab927705a451439b2e23ec5c3473f6b7e444e6d4aafaff76b789713e9fee")
+ version("1.9.1", sha256="e4433fb0708517607cf4377837c4589807b9a8c112b94f7978cc8aaffb719bf0")
+ version("1.9.0", sha256="0cb5b5f7a25f71227e3dced7a6035e8ffd94736f7ae9fae546efa3b7c6e7a852")
+ version("1.8.1", sha256="1abf048634c37aeca53eeb6a9248ea235074077028d12b3560eccf1dff7143b8")
+ version("1.8.0", sha256="e0f8b9e12e86776a1b037385826c55006da6e2ae4973dac5b5ad3cfcf01e9043")
+
+ variant("avx2", default=True, description="Enable AVX2 support")
+
+ depends_on("cmake@2.8.10:", type="build")
+ depends_on("snappy")
+ depends_on("zlib")
+ depends_on("zstd")
+ depends_on("lz4")
+
+ patch("gcc.patch", when="@1.12.1:1.17.0")
+ patch("test_forksafe.patch", when="@1.15.0:1.17.0%intel")
@property
def libs(self):
- return find_libraries('libblosc', root=self.prefix, recursive=True)
+ return find_libraries("libblosc", root=self.prefix, recursive=True)
def cmake_args(self):
args = []
- if '+avx2' in self.spec:
- args.append('-DDEACTIVATE_AVX2=OFF')
+ if "+avx2" in self.spec:
+ args.append("-DDEACTIVATE_AVX2=OFF")
else:
- args.append('-DDEACTIVATE_AVX2=ON')
+ args.append("-DDEACTIVATE_AVX2=ON")
- if self.spec.satisfies('@1.12.0:'):
- args.append('-DPREFER_EXTERNAL_SNAPPY=ON')
- args.append('-DPREFER_EXTERNAL_ZLIB=ON')
- args.append('-DPREFER_EXTERNAL_ZSTD=ON')
- args.append('-DPREFER_EXTERNAL_LZ4=ON')
+ if self.spec.satisfies("@1.12.0:"):
+ args.append("-DPREFER_EXTERNAL_SNAPPY=ON")
+ args.append("-DPREFER_EXTERNAL_ZLIB=ON")
+ args.append("-DPREFER_EXTERNAL_ZSTD=ON")
+ args.append("-DPREFER_EXTERNAL_LZ4=ON")
if self.run_tests:
- args.append('-DBUILD_TESTS=ON')
- args.append('-DBUILD_BENCHMARKS=ON')
+ args.append("-DBUILD_TESTS=ON")
+ args.append("-DBUILD_BENCHMARKS=ON")
else:
- args.append('-DBUILD_TESTS=OFF')
- args.append('-DBUILD_BENCHMARKS=OFF')
+ args.append("-DBUILD_TESTS=OFF")
+ args.append("-DBUILD_BENCHMARKS=OFF")
return args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/c-blosc2/package.py b/var/spack/repos/builtin/packages/c-blosc2/package.py
index 0886a69d5d..8c2ff56cd7 100644
--- a/var/spack/repos/builtin/packages/c-blosc2/package.py
+++ b/var/spack/repos/builtin/packages/c-blosc2/package.py
@@ -8,66 +8,55 @@ from spack.package import *
class CBlosc2(CMakePackage):
"""Next generation c-blosc with a new API, a new container and
- other bells and whistles"""
+ other bells and whistles"""
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"
-
- maintainers = ['ax3l', 'robert-mijakovic']
-
- version('develop', branch='master')
- version('2.2.0', sha256='66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e')
- version('2.1.1', sha256='a8cbedefb8ed3b83629534ec8b4a822ffcdb1576e13dfb93107361551d32e6e9')
- version('2.1.0', sha256='a9570f4101654c2fe2a706adcab0821cdbcf7523fcb6602407dda21b67fdacfd')
- version('2.0.4', sha256='90c78edcc262759dd16d243141513310624bb4fda3d98ac34dcfb78255e151c1')
- version('2.0.2', sha256='fba51ba601610441eea6046e384284b2d8d7884922060cf15369d01d713b9b77')
- version('2.0.1', sha256='35b93dfed479b1dfd9372d41d7843b60254ed1d71792577b95e489c28705874f')
-
- variant('avx2', default=True, description='Enable AVX2 support')
-
- variant('lizard', default=True,
- description='support for LIZARD (LZ5)')
- variant('lz4', default=True,
- description='support for LZ4')
- variant('snappy', default=True,
- description='support for SNAPPY')
- variant('zlib', default=True,
- description='support for ZLIB')
- variant('zstd', default=True,
- description='support for ZSTD')
-
- depends_on('cmake@2.8.10:', type='build')
- depends_on('lizard', when='+lizard')
- depends_on('lz4', when='+lz4')
- depends_on('snappy', when='+snappy')
- depends_on('zlib', when='+zlib')
- depends_on('zstd', when='+zstd')
+ url = "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.0.1.tar.gz"
+ git = "https://github.com/Blosc/c-blosc2.git"
+
+ maintainers = ["ax3l", "robert-mijakovic"]
+
+ version("develop", branch="master")
+ version("2.2.0", sha256="66f9977de26d6bc9ea1c0e623d873c3225e4fff709aa09b3335fd09d41d57c0e")
+ version("2.1.1", sha256="a8cbedefb8ed3b83629534ec8b4a822ffcdb1576e13dfb93107361551d32e6e9")
+ version("2.1.0", sha256="a9570f4101654c2fe2a706adcab0821cdbcf7523fcb6602407dda21b67fdacfd")
+ version("2.0.4", sha256="90c78edcc262759dd16d243141513310624bb4fda3d98ac34dcfb78255e151c1")
+ version("2.0.2", sha256="fba51ba601610441eea6046e384284b2d8d7884922060cf15369d01d713b9b77")
+ version("2.0.1", sha256="35b93dfed479b1dfd9372d41d7843b60254ed1d71792577b95e489c28705874f")
+
+ variant("avx2", default=True, description="Enable AVX2 support")
+
+ variant("lizard", default=True, description="support for LIZARD (LZ5)")
+ variant("lz4", default=True, description="support for LZ4")
+ variant("snappy", default=True, description="support for SNAPPY")
+ variant("zlib", default=True, description="support for ZLIB")
+ variant("zstd", default=True, description="support for ZSTD")
+
+ depends_on("cmake@2.8.10:", type="build")
+ depends_on("lizard", when="+lizard")
+ depends_on("lz4", when="+lz4")
+ depends_on("snappy", when="+snappy")
+ depends_on("zlib", when="+zlib")
+ depends_on("zstd", when="+zstd")
def cmake_args(self):
spec = self.spec
args = [
- '-DDEACTIVATE_LZ4={0}'.format(
- 'ON' if '~lz4' in spec else 'OFF'),
- '-DDEACTIVATE_LIZARD={0}'.format(
- 'ON' if '~lizard' in spec else 'OFF'),
- '-DDEACTIVATE_SNAPPY={0}'.format(
- 'ON' if '~snappy' in spec else 'OFF'),
- '-DDEACTIVATE_ZLIB={0}'.format(
- 'ON' if '~zlib' in spec else 'OFF'),
- '-DDEACTIVATE_ZSTD={0}'.format(
- 'ON' if '~zstd' in spec else 'OFF'),
- '-DPREFER_EXTERNAL_LIZARD=ON',
- '-DPREFER_EXTERNAL_LZ4=ON',
+ "-DDEACTIVATE_LZ4={0}".format("ON" if "~lz4" in spec else "OFF"),
+ "-DDEACTIVATE_LIZARD={0}".format("ON" if "~lizard" in spec else "OFF"),
+ "-DDEACTIVATE_SNAPPY={0}".format("ON" if "~snappy" in spec else "OFF"),
+ "-DDEACTIVATE_ZLIB={0}".format("ON" if "~zlib" in spec else "OFF"),
+ "-DDEACTIVATE_ZSTD={0}".format("ON" if "~zstd" in spec else "OFF"),
+ "-DPREFER_EXTERNAL_LIZARD=ON",
+ "-DPREFER_EXTERNAL_LZ4=ON",
# snappy is supported via external install only
- '-DPREFER_EXTERNAL_ZLIB=ON',
- '-DPREFER_EXTERNAL_ZSTD=ON',
- '-DDEACTIVATE_AVX2={0}'.format(
- 'ON' if '~avx2' in spec else 'OFF'),
- self.define('BUILD_TESTS', self.run_tests),
- self.define('BUILD_BENCHMARKS', self.run_tests),
- self.define('BUILD_EXAMPLES', self.run_tests)
+ "-DPREFER_EXTERNAL_ZLIB=ON",
+ "-DPREFER_EXTERNAL_ZSTD=ON",
+ "-DDEACTIVATE_AVX2={0}".format("ON" if "~avx2" in spec else "OFF"),
+ self.define("BUILD_TESTS", self.run_tests),
+ self.define("BUILD_BENCHMARKS", self.run_tests),
+ self.define("BUILD_EXAMPLES", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/c-lime/package.py b/var/spack/repos/builtin/packages/c-lime/package.py
index 08b573eadb..30fb99c9e9 100644
--- a/var/spack/repos/builtin/packages/c-lime/package.py
+++ b/var/spack/repos/builtin/packages/c-lime/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class CLime(AutotoolsPackage):
"""LIME (which can stand for Lattice QCD Interchange Message Encapsulation
- or more generally, Large Internet Message Encapsulation) is a simple
- packaging scheme for combining records containing ASCII and/or binary
- data."""
+ or more generally, Large Internet Message Encapsulation) is a simple
+ packaging scheme for combining records containing ASCII and/or binary
+ data."""
homepage = "https://usqcd-software.github.io/c-lime/"
- url = "https://github.com/usqcd-software/c-lime/archive/qio2-3-9.tar.gz"
+ url = "https://github.com/usqcd-software/c-lime/archive/qio2-3-9.tar.gz"
- version('2-3-9', sha256='7b9aeadd4dfec50e24da3e7e729f56abf95c9192612c41515fe27b2158773aac')
+ version("2-3-9", sha256="7b9aeadd4dfec50e24da3e7e729f56abf95c9192612c41515fe27b2158773aac")
diff --git a/var/spack/repos/builtin/packages/c/package.py b/var/spack/repos/builtin/packages/c/package.py
index 2ca19a8301..3fd6a419e2 100644
--- a/var/spack/repos/builtin/packages/c/package.py
+++ b/var/spack/repos/builtin/packages/c/package.py
@@ -10,7 +10,8 @@ from spack.package import *
class C(Package):
"""Virtual package for C compilers."""
- homepage = 'http://open-std.org/JTC1/SC22/WG14/www/standards'
+
+ homepage = "http://open-std.org/JTC1/SC22/WG14/www/standards"
virtual = True
def test(self):
@@ -18,12 +19,12 @@ class C(Package):
for test in os.listdir(test_source):
filepath = test_source.join(test)
- exe_name = '%s.exe' % test
+ exe_name = "%s.exe" % test
- cc_exe = os.environ['CC']
- cc_opts = ['-o', exe_name, filepath]
+ cc_exe = os.environ["CC"]
+ cc_opts = ["-o", exe_name, filepath]
compiled = self.run_test(cc_exe, options=cc_opts, installed=True)
if compiled:
- expected = ['Hello world', 'YES!']
+ expected = ["Hello world", "YES!"]
self.run_test(exe_name, expected=expected)
diff --git a/var/spack/repos/builtin/packages/c3d/package.py b/var/spack/repos/builtin/packages/c3d/package.py
index 3a7d0b7f48..5b49f763ef 100644
--- a/var/spack/repos/builtin/packages/c3d/package.py
+++ b/var/spack/repos/builtin/packages/c3d/package.py
@@ -7,16 +7,15 @@ from spack.package import *
class C3d(CMakePackage):
- """Image processing and conversion tool based on ITK.
- """
+ """Image processing and conversion tool based on ITK."""
homepage = "https://github.com/pyushkevich/c3d"
- git = "https://github.com/pyushkevich/c3d.git"
- url = "https://github.com/pyushkevich/c3d/archive/refs/tags/v1.3.0.tar.gz"
+ git = "https://github.com/pyushkevich/c3d.git"
+ url = "https://github.com/pyushkevich/c3d/archive/refs/tags/v1.3.0.tar.gz"
- version('1.3.0', sha256="bd45482247fa4ac5ab98b3a775b5438390671e3e224a42f73967904b3895050d")
+ version("1.3.0", sha256="bd45482247fa4ac5ab98b3a775b5438390671e3e224a42f73967904b3895050d")
- depends_on('itk')
+ depends_on("itk")
def cmake_args(self):
return ["-DCONVERT3D_USE_ITK_REMOTE_MODULES=OFF"]
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 19f834a86e..5588d85842 100644
--- a/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py
+++ b/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py
@@ -10,27 +10,95 @@ class CaCertificatesMozilla(Package):
"""The Mozilla CA certificate store in PEM format"""
homepage = "https://curl.se/docs/caextract.html"
- url = "https://curl.se/ca/cacert-2021-04-13.pem"
-
- maintainers = ['haampie']
-
- version('2022-03-29', sha256='1979e7fe618c51ed1c9df43bba92f977a0d3fe7497ffa2a5e80dfc559a1e5a29', expand=False)
- version('2022-03-18', sha256='2d0575e481482551a6a4f9152e7d2ab4bafaeaee5f2606edb829c2fdb3713336', expand=False)
- version('2022-02-01', sha256='1d9195b76d2ea25c2b5ae9bee52d05075244d78fcd9c58ee0b6fac47d395a5eb', expand=False)
- version('2021-10-26', sha256='ae31ecb3c6e9ff3154cb7a55f017090448f88482f0e94ac927c0c67a1f33b9cf', expand=False)
- version('2021-09-30', sha256='f524fc21859b776e18df01a87880efa198112214e13494275dbcbd9bcb71d976', expand=False)
- 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)
- version('2020-10-14', sha256='bb28d145ed1a4ee67253d8ddb11268069c9dafe3db25a9eee654974c4e43eee5', expand=False)
- version('2020-07-22', sha256='2782f0f8e89c786f40240fc1916677be660fb8d8e25dede50c9f6f7b0c2c2178', expand=False)
- version('2020-06-24', sha256='726889705b00f736200ed7999f7a50021b8735d53228d679c4e6665aa3b44987', expand=False)
- version('2020-01-01', sha256='adf770dfd574a0d6026bfaa270cb6879b063957177a991d453ff1d302c02081f', expand=False)
- version('2019-11-27', sha256='0d98a1a961aab523c9dc547e315e1d79e887dea575426ff03567e455fc0b66b4', expand=False)
- version('2019-10-16', sha256='5cd8052fcf548ba7e08899d8458a32942bf70450c9af67a0850b4c711804a2e4', expand=False)
- version('2019-08-28', sha256='38b6230aa4bee062cd34ee0ff6da173250899642b1937fc130896290b6bd91e3', expand=False)
+ url = "https://curl.se/ca/cacert-2021-04-13.pem"
+
+ maintainers = ["haampie"]
+
+ version(
+ "2022-03-29",
+ sha256="1979e7fe618c51ed1c9df43bba92f977a0d3fe7497ffa2a5e80dfc559a1e5a29",
+ expand=False,
+ )
+ version(
+ "2022-03-18",
+ sha256="2d0575e481482551a6a4f9152e7d2ab4bafaeaee5f2606edb829c2fdb3713336",
+ expand=False,
+ )
+ version(
+ "2022-02-01",
+ sha256="1d9195b76d2ea25c2b5ae9bee52d05075244d78fcd9c58ee0b6fac47d395a5eb",
+ expand=False,
+ )
+ version(
+ "2021-10-26",
+ sha256="ae31ecb3c6e9ff3154cb7a55f017090448f88482f0e94ac927c0c67a1f33b9cf",
+ expand=False,
+ )
+ version(
+ "2021-09-30",
+ sha256="f524fc21859b776e18df01a87880efa198112214e13494275dbcbd9bcb71d976",
+ expand=False,
+ )
+ 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,
+ )
+ version(
+ "2020-10-14",
+ sha256="bb28d145ed1a4ee67253d8ddb11268069c9dafe3db25a9eee654974c4e43eee5",
+ expand=False,
+ )
+ version(
+ "2020-07-22",
+ sha256="2782f0f8e89c786f40240fc1916677be660fb8d8e25dede50c9f6f7b0c2c2178",
+ expand=False,
+ )
+ version(
+ "2020-06-24",
+ sha256="726889705b00f736200ed7999f7a50021b8735d53228d679c4e6665aa3b44987",
+ expand=False,
+ )
+ version(
+ "2020-01-01",
+ sha256="adf770dfd574a0d6026bfaa270cb6879b063957177a991d453ff1d302c02081f",
+ expand=False,
+ )
+ version(
+ "2019-11-27",
+ sha256="0d98a1a961aab523c9dc547e315e1d79e887dea575426ff03567e455fc0b66b4",
+ expand=False,
+ )
+ version(
+ "2019-10-16",
+ sha256="5cd8052fcf548ba7e08899d8458a32942bf70450c9af67a0850b4c711804a2e4",
+ expand=False,
+ )
+ version(
+ "2019-08-28",
+ sha256="38b6230aa4bee062cd34ee0ff6da173250899642b1937fc130896290b6bd91e3",
+ expand=False,
+ )
# Make spack checksum work
def url_for_version(self, version):
@@ -38,11 +106,10 @@ class CaCertificatesMozilla(Package):
def setup_dependent_package(self, module, dep_spec):
"""Returns the absolute path to the bundled certificates"""
- self.spec.pem_path = join_path(self.prefix.share, 'cacert.pem')
+ self.spec.pem_path = join_path(self.prefix.share, "cacert.pem")
# Install the the pem file as share/cacert.pem
def install(self, spec, prefix):
- share = join_path(prefix, 'share')
+ share = join_path(prefix, "share")
mkdir(share)
- install("cacert-{0}.pem".format(spec.version),
- join_path(share, "cacert.pem"))
+ install("cacert-{0}.pem".format(spec.version), join_path(share, "cacert.pem"))
diff --git a/var/spack/repos/builtin/packages/cabana/package.py b/var/spack/repos/builtin/packages/cabana/package.py
index a4aae73e9d..bc90aa98ec 100644
--- a/var/spack/repos/builtin/packages/cabana/package.py
+++ b/var/spack/repos/builtin/packages/cabana/package.py
@@ -8,59 +8,53 @@ from spack.pkg.builtin.kokkos import Kokkos
class Cabana(CMakePackage):
- """The Exascale Co-Design Center for Particle Applications Toolkit
- """
+ """The Exascale Co-Design Center for Particle Applications Toolkit"""
+
homepage = "https://github.com/ECP-copa/Cabana"
- git = "https://github.com/ECP-copa/Cabana.git"
- url = "https://github.com/ECP-copa/Cabana/archive/0.5.0.tar.gz"
+ git = "https://github.com/ECP-copa/Cabana.git"
+ url = "https://github.com/ECP-copa/Cabana/archive/0.5.0.tar.gz"
maintainers = ["junghans", "streeve", "sslattery"]
- tags = ['e4s', 'ecp']
+ tags = ["e4s", "ecp"]
- version('master', branch='master')
- version('0.5.0', sha256='b7579d44e106d764d82b0539285385d28f7bbb911a572efd05c711b28b85d8b1')
- version('0.4.0', sha256='c347d23dc4a5204f9cc5906ccf3454f0b0b1612351bbe0d1c58b14cddde81e85')
- version('0.3.0', sha256='fb67ab9aaf254b103ae0eb5cc913ddae3bf3cd0cf6010e9686e577a2981ca84f')
- version('0.2.0', sha256='3e0c0e224e90f4997f6c7e2b92f00ffa18f8bcff72f789e0908cea0828afc2cb')
- version('0.1.0', sha256='3280712facf6932b9d1aff375b24c932abb9f60a8addb0c0a1950afd0cb9b9cf')
- version('0.1.0-rc0', sha256='73754d38aaa0c2a1e012be6959787108fec142294774c23f70292f59c1bdc6c5')
+ version("master", branch="master")
+ version("0.5.0", sha256="b7579d44e106d764d82b0539285385d28f7bbb911a572efd05c711b28b85d8b1")
+ version("0.4.0", sha256="c347d23dc4a5204f9cc5906ccf3454f0b0b1612351bbe0d1c58b14cddde81e85")
+ version("0.3.0", sha256="fb67ab9aaf254b103ae0eb5cc913ddae3bf3cd0cf6010e9686e577a2981ca84f")
+ version("0.2.0", sha256="3e0c0e224e90f4997f6c7e2b92f00ffa18f8bcff72f789e0908cea0828afc2cb")
+ version("0.1.0", sha256="3280712facf6932b9d1aff375b24c932abb9f60a8addb0c0a1950afd0cb9b9cf")
+ version("0.1.0-rc0", sha256="73754d38aaa0c2a1e012be6959787108fec142294774c23f70292f59c1bdc6c5")
_kokkos_backends = Kokkos.devices_variants
for _backend in _kokkos_backends:
_deflt, _descr = _kokkos_backends[_backend]
variant(_backend.lower(), default=_deflt, description=_descr)
- variant('shared', default=True, description='Build shared libraries')
- variant('mpi', default=True, description='Build with mpi support')
- variant('arborx', default=False, description='Build with ArborX support')
- variant('heffte', default=False, description='Build with heFFTe support')
- variant('hypre', default=False, description='Build with HYPRE support')
- variant('cajita', default=False, description='Build Cajita subpackage')
- variant('testing', default=False, description='Build unit tests')
- variant('examples', default=False, description='Build tutorial examples')
- variant('performance_testing', default=False, description='Build performance tests')
-
- depends_on("cmake@3.9:", type='build', when="@:0.4.0")
- depends_on("cmake@3.16:", type='build', when="@0.5.0:")
- depends_on("googletest", type='build', when="testing")
- _versions = {
- ":0.2.0": "-legacy",
- "0.3.0": "@3.1:",
- "0.4.0": "@3.2:",
- "0.5.0": "@3.2:"
- }
+ variant("shared", default=True, description="Build shared libraries")
+ variant("mpi", default=True, description="Build with mpi support")
+ variant("arborx", default=False, description="Build with ArborX support")
+ variant("heffte", default=False, description="Build with heFFTe support")
+ variant("hypre", default=False, description="Build with HYPRE support")
+ variant("cajita", default=False, description="Build Cajita subpackage")
+ variant("testing", default=False, description="Build unit tests")
+ variant("examples", default=False, description="Build tutorial examples")
+ variant("performance_testing", default=False, description="Build performance tests")
+
+ depends_on("cmake@3.9:", type="build", when="@:0.4.0")
+ depends_on("cmake@3.16:", type="build", when="@0.5.0:")
+ depends_on("googletest", type="build", when="testing")
+ _versions = {":0.2.0": "-legacy", "0.3.0": "@3.1:", "0.4.0": "@3.2:", "0.5.0": "@3.2:"}
for _version in _versions:
_kk_version = _versions[_version]
for _backend in _kokkos_backends:
- if (_kk_version == "-legacy" and _backend == 'pthread'):
- _kk_spec = 'kokkos-legacy+pthreads'
- elif (_kk_version == "-legacy" and
- _backend not in ['serial', 'openmp', 'cuda']):
+ if _kk_version == "-legacy" and _backend == "pthread":
+ _kk_spec = "kokkos-legacy+pthreads"
+ elif _kk_version == "-legacy" and _backend not in ["serial", "openmp", "cuda"]:
continue
else:
- _kk_spec = 'kokkos{0}+{1}'.format(_kk_version, _backend)
- depends_on(_kk_spec, when='@{0}+{1}'.format(_version, _backend))
+ _kk_spec = "kokkos{0}+{1}".format(_kk_version, _backend)
+ depends_on(_kk_spec, when="@{0}+{1}".format(_version, _backend))
depends_on("arborx", when="@0.3.0:+arborx")
depends_on("hypre-cmake@2.22.0:", when="@0.4.0:+hypre")
depends_on("hypre-cmake@2.22.1:", when="@0.5.0:+hypre")
@@ -68,7 +62,7 @@ class Cabana(CMakePackage):
# compatibilty to later minor versions.
depends_on("heffte@2.0.0", when="@0.4.0+heffte")
depends_on("heffte@2.1.0", when="@0.5.0:+heffte")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
conflicts("+cajita ~mpi")
@@ -76,24 +70,24 @@ class Cabana(CMakePackage):
conflicts("+sycl", when="@:0.3.0")
def cmake_args(self):
- options = [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ options = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
- enable = ['CAJITA', 'TESTING', 'EXAMPLES', 'PERFORMANCE_TESTING']
- require = ['ARBORX', 'HEFFTE', 'HYPRE']
+ enable = ["CAJITA", "TESTING", "EXAMPLES", "PERFORMANCE_TESTING"]
+ require = ["ARBORX", "HEFFTE", "HYPRE"]
# These variables were removed in 0.3.0 (where backends are
# automatically used from Kokkos)
- if self.spec.satisfies('@:0.2.0'):
- enable += ['Serial', 'OpenMP', 'Cuda']
+ if self.spec.satisfies("@:0.2.0"):
+ enable += ["Serial", "OpenMP", "Cuda"]
# MPI was changed from ENABLE to REQUIRE in 0.4.0
- if self.spec.satisfies('@:0.3.0'):
- enable += ['MPI']
+ if self.spec.satisfies("@:0.3.0"):
+ enable += ["MPI"]
else:
- require += ['MPI']
+ require += ["MPI"]
for category, cname in zip([enable, require], ["ENABLE", "REQUIRE"]):
for var in category:
- cbn_option = 'Cabana_{0}_{1}'.format(cname, var)
+ cbn_option = "Cabana_{0}_{1}".format(cname, var)
options.append(self.define_from_variant(cbn_option, var.lower()))
return options
diff --git a/var/spack/repos/builtin/packages/cachefilesd/package.py b/var/spack/repos/builtin/packages/cachefilesd/package.py
index 4f0fe74de3..1df630c745 100644
--- a/var/spack/repos/builtin/packages/cachefilesd/package.py
+++ b/var/spack/repos/builtin/packages/cachefilesd/package.py
@@ -12,21 +12,21 @@ class Cachefilesd(MakefilePackage):
persistent caching to the local disk."""
homepage = "https://people.redhat.com/~dhowells/fscache"
- url = "https://people.redhat.com/~dhowells/fscache/cachefilesd-0.10.tar.bz2"
+ url = "https://people.redhat.com/~dhowells/fscache/cachefilesd-0.10.tar.bz2"
- version('0.10.10', sha256='0d0309851efabd02b7c849f73535b8ad3f831570e83e4f65e42354da18e11a02')
- version('0.10.9', sha256='c897ec6704615f26de3ddc20ff30a191ce995cb8973d2cde88b4b28c1a1e6bca')
- version('0.10.7', sha256='193cca5efb37ee460a4ed8e1ed4878e3718e432ebe690ec4fe02486ef3f2494e')
- version('0.10.6', sha256='aaaaea887a5850c6fa01d09c80946e987411f6b550261f83967c671c65af959d')
- version('0.10.5', sha256='125ea4f6aef4bf8e936a7cc747b59e074537a8aed74cd1bab3f05d7fbc47287f')
+ version("0.10.10", sha256="0d0309851efabd02b7c849f73535b8ad3f831570e83e4f65e42354da18e11a02")
+ version("0.10.9", sha256="c897ec6704615f26de3ddc20ff30a191ce995cb8973d2cde88b4b28c1a1e6bca")
+ version("0.10.7", sha256="193cca5efb37ee460a4ed8e1ed4878e3718e432ebe690ec4fe02486ef3f2494e")
+ version("0.10.6", sha256="aaaaea887a5850c6fa01d09c80946e987411f6b550261f83967c671c65af959d")
+ version("0.10.5", sha256="125ea4f6aef4bf8e936a7cc747b59e074537a8aed74cd1bab3f05d7fbc47287f")
- @when('target=aarch64:')
+ @when("target=aarch64:")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter(r'-m64', '', string=True)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"-m64", "", string=True)
def install(self, spec, prefix):
- make('DESTDIR={0}'.format(prefix), 'install')
+ make("DESTDIR={0}".format(prefix), "install")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/caffe/package.py b/var/spack/repos/builtin/packages/caffe/package.py
index 93fa63fa44..704c117199 100644
--- a/var/spack/repos/builtin/packages/caffe/package.py
+++ b/var/spack/repos/builtin/packages/caffe/package.py
@@ -9,93 +9,89 @@ from spack.pkg.builtin.boost import Boost
class Caffe(CMakePackage, CudaPackage):
"""Caffe is a deep learning framework made with expression, speed, and
- modularity in mind. It is developed by the Berkeley Vision and Learning
- Center (BVLC) and by community contributors."""
+ modularity in mind. It is developed by the Berkeley Vision and Learning
+ Center (BVLC) and by community contributors."""
homepage = "https://caffe.berkeleyvision.org"
- url = "https://github.com/BVLC/caffe/archive/1.0.tar.gz"
-
- version('1.0', sha256='71d3c9eb8a183150f965a465824d01fe82826c22505f7aa314f700ace03fa77f')
- version('rc5', sha256='06592aa8f5254335df3e244dafacc15765e2c60479b4bf2e7c887e8e023802fb')
- version('rc4', sha256='018792411d75ee34b6107216550cca2a1d668d45cb366033ba3c647e6a3018df')
- version('rc3', sha256='0884207bfba0fbc8b263b87d30f9304f7094eec3a48f975177d142f8c72b6e3b')
- version('rc2', sha256='55c9c20870b30ce398e19e4f1a62ade1eff08fce51e28fa5604035b711978eec')
-
- variant('cuda', default=False,
- description='Builds with support for GPUs via CUDA and cuDNN')
- variant('opencv', default=True,
- description='Build with OpenCV support')
- variant('leveldb', default=True,
- description="Build with levelDB")
- variant('lmdb', default=True,
- description="Build with lmdb")
- variant('python', default=False,
- description='Build python wrapper and caffe python layer')
- variant('matlab', default=False,
- description='Build Matlab wrapper')
-
- depends_on('boost +python', when='+python')
+ url = "https://github.com/BVLC/caffe/archive/1.0.tar.gz"
+
+ version("1.0", sha256="71d3c9eb8a183150f965a465824d01fe82826c22505f7aa314f700ace03fa77f")
+ version("rc5", sha256="06592aa8f5254335df3e244dafacc15765e2c60479b4bf2e7c887e8e023802fb")
+ version("rc4", sha256="018792411d75ee34b6107216550cca2a1d668d45cb366033ba3c647e6a3018df")
+ version("rc3", sha256="0884207bfba0fbc8b263b87d30f9304f7094eec3a48f975177d142f8c72b6e3b")
+ version("rc2", sha256="55c9c20870b30ce398e19e4f1a62ade1eff08fce51e28fa5604035b711978eec")
+
+ variant("cuda", default=False, description="Builds with support for GPUs via CUDA and cuDNN")
+ variant("opencv", default=True, description="Build with OpenCV support")
+ variant("leveldb", default=True, description="Build with levelDB")
+ variant("lmdb", default=True, description="Build with lmdb")
+ variant("python", default=False, description="Build python wrapper and caffe python layer")
+ variant("matlab", default=False, description="Build Matlab wrapper")
+
+ depends_on("boost +python", when="+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+python')
- depends_on('cuda', when='+cuda')
- depends_on('blas')
- depends_on('protobuf@:3.17')
- depends_on('glog')
- depends_on('gflags')
- depends_on('hdf5 +hl +cxx')
+ depends_on(Boost.with_default_variants, when="+python")
+ depends_on("cuda", when="+cuda")
+ depends_on("blas")
+ depends_on("protobuf@:3.17")
+ depends_on("glog")
+ depends_on("gflags")
+ depends_on("hdf5 +hl +cxx")
# Optional dependencies
- depends_on('opencv@:3+highgui+imgproc+imgcodecs', when='+opencv')
- depends_on('leveldb', when='+leveldb')
- depends_on('lmdb', when='+lmdb')
- depends_on('python@2.7:', when='+python')
- depends_on('py-numpy@1.7:', when='+python', type=('build', 'run'))
- depends_on('matlab', when='+matlab')
+ depends_on("opencv@:3+highgui+imgproc+imgcodecs", when="+opencv")
+ depends_on("leveldb", when="+leveldb")
+ depends_on("lmdb", when="+lmdb")
+ depends_on("python@2.7:", when="+python")
+ depends_on("py-numpy@1.7:", when="+python", type=("build", "run"))
+ depends_on("matlab", when="+matlab")
- extends('python', when='+python')
+ extends("python", when="+python")
def cmake_args(self):
spec = self.spec
- args = ['-DBLAS={0}'.format('open' if spec['blas'].name == 'openblas'
- else spec['blas'].name),
- '-DCPU_ONLY=%s' % ('~cuda' in spec),
- '-DUSE_CUDNN=%s' % ('+cuda' in spec),
- '-DBUILD_python=%s' % ('+python' in spec),
- '-DBUILD_python_layer=%s' % ('+python' in spec),
- '-DBUILD_matlab=%s' % ('+matlab' in spec),
- '-DUSE_OPENCV=%s' % ('+opencv' in spec),
- '-DUSE_LEVELDB=%s' % ('+leveldb' in spec),
- '-DUSE_LMDB=%s' % ('+lmdb' in spec),
- '-DGFLAGS_ROOT_DIR=%s' % spec['gflags'].prefix,
- '-DGLOG_ROOT_DIR=%s' % spec['glog'].prefix,
+ args = [
+ "-DBLAS={0}".format("open" if spec["blas"].name == "openblas" else spec["blas"].name),
+ "-DCPU_ONLY=%s" % ("~cuda" in spec),
+ "-DUSE_CUDNN=%s" % ("+cuda" in spec),
+ "-DBUILD_python=%s" % ("+python" in spec),
+ "-DBUILD_python_layer=%s" % ("+python" in spec),
+ "-DBUILD_matlab=%s" % ("+matlab" in spec),
+ "-DUSE_OPENCV=%s" % ("+opencv" in spec),
+ "-DUSE_LEVELDB=%s" % ("+leveldb" in spec),
+ "-DUSE_LMDB=%s" % ("+lmdb" in spec),
+ "-DGFLAGS_ROOT_DIR=%s" % spec["gflags"].prefix,
+ "-DGLOG_ROOT_DIR=%s" % spec["glog"].prefix,
+ ]
+
+ if spec.satisfies("^openblas"):
+ env["OpenBLAS_HOME"] = spec["openblas"].prefix
+
+ if spec.satisfies("+lmdb"):
+ env["LMDB_DIR"] = spec["lmdb"].prefix
+
+ if spec.satisfies("+leveldb"):
+ env["LEVELDB_ROOT"] = spec["leveldb"].prefix
+
+ if spec.satisfies("+python"):
+ version = spec["python"].version.up_to(1)
+ args.append("-Dpython_version=%s" % version)
+
+ if spec["hdf5"].satisfies("+mpi"):
+ args.extend(
+ [
+ "-DCMAKE_C_COMPILER={0}".format(self.spec["mpi"].mpicc),
+ "-DCMAKE_CXX_COMPILER={0}".format(self.spec["mpi"].mpicxx),
]
+ )
- if spec.satisfies('^openblas'):
- env['OpenBLAS_HOME'] = spec['openblas'].prefix
-
- if spec.satisfies('+lmdb'):
- env['LMDB_DIR'] = spec['lmdb'].prefix
-
- if spec.satisfies('+leveldb'):
- env['LEVELDB_ROOT'] = spec['leveldb'].prefix
-
- if spec.satisfies('+python'):
- version = spec['python'].version.up_to(1)
- args.append('-Dpython_version=%s' % version)
-
- if spec['hdf5'].satisfies('+mpi'):
- args.extend([
- '-DCMAKE_C_COMPILER={0}'.format(self.spec['mpi'].mpicc),
- '-DCMAKE_CXX_COMPILER={0}'.format(self.spec['mpi'].mpicxx)
- ])
-
- if '+cuda' in spec:
- if spec.variants['cuda_arch'].value[0] != 'none':
- cuda_arch = spec.variants['cuda_arch'].value
- args.append(self.define('CUDA_ARCH_NAME', 'Manual'))
- args.append(self.define('CUDA_ARCH_BIN', ' '.join(cuda_arch)))
+ if "+cuda" in spec:
+ if spec.variants["cuda_arch"].value[0] != "none":
+ cuda_arch = spec.variants["cuda_arch"].value
+ args.append(self.define("CUDA_ARCH_NAME", "Manual"))
+ args.append(self.define("CUDA_ARCH_BIN", " ".join(cuda_arch)))
return args
diff --git a/var/spack/repos/builtin/packages/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py
index 9a16bd1157..a61ec15cf9 100644
--- a/var/spack/repos/builtin/packages/cairo/package.py
+++ b/var/spack/repos/builtin/packages/cairo/package.py
@@ -11,71 +11,78 @@ class Cairo(AutotoolsPackage):
devices."""
homepage = "https://www.cairographics.org/"
- url = "https://www.cairographics.org/releases/cairo-1.16.0.tar.xz"
+ url = "https://www.cairographics.org/releases/cairo-1.16.0.tar.xz"
- version('1.17.4', sha256='74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705',
- url='https://cairographics.org/snapshots/cairo-1.17.4.tar.xz') # Snapshot
- version('1.17.2', sha256='6b70d4655e2a47a22b101c666f4b29ba746eda4aa8a0f7255b32b2e9408801df',
- url='https://cairographics.org/snapshots/cairo-1.17.2.tar.xz') # Snapshot
- version('1.16.0', sha256='5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331', preferred=True)
- version('1.14.12', sha256='8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16')
- version('1.14.8', sha256='d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20')
- version('1.14.0', sha256='2cf5f81432e77ea4359af9dcd0f4faf37d015934501391c311bfd2d19a0134b7')
+ version(
+ "1.17.4",
+ sha256="74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705",
+ url="https://cairographics.org/snapshots/cairo-1.17.4.tar.xz",
+ ) # Snapshot
+ version(
+ "1.17.2",
+ sha256="6b70d4655e2a47a22b101c666f4b29ba746eda4aa8a0f7255b32b2e9408801df",
+ url="https://cairographics.org/snapshots/cairo-1.17.2.tar.xz",
+ ) # Snapshot
+ version(
+ "1.16.0",
+ sha256="5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331",
+ preferred=True,
+ )
+ version("1.14.12", sha256="8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16")
+ version("1.14.8", sha256="d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20")
+ version("1.14.0", sha256="2cf5f81432e77ea4359af9dcd0f4faf37d015934501391c311bfd2d19a0134b7")
- variant('X', default=False, description="Build with X11 support")
- variant('pdf', default=False, description="Enable cairo's PDF surface backend feature")
- variant('gobject', default=False, description="Enable cairo's gobject functions feature")
- variant('ft', default=False, description="Enable cairo's FreeType font backend feature")
- variant('fc', default=False, description="Enable cairo's Fontconfig font backend feature")
- variant('png', default=False, description="Enable cairo's PNG functions feature")
- variant('svg', default=False, description="Enable cairo's SVN functions feature")
+ variant("X", default=False, description="Build with X11 support")
+ variant("pdf", default=False, description="Enable cairo's PDF surface backend feature")
+ variant("gobject", default=False, description="Enable cairo's gobject functions feature")
+ variant("ft", default=False, description="Enable cairo's FreeType font backend feature")
+ variant("fc", default=False, description="Enable cairo's Fontconfig font backend feature")
+ variant("png", default=False, description="Enable cairo's PNG functions feature")
+ variant("svg", default=False, description="Enable cairo's SVN functions feature")
- depends_on('libx11', when='+X')
- depends_on('libxext', when='+X')
- depends_on('libxrender', when='+X')
- depends_on('libxcb', when='+X')
- depends_on('python', when='+X', type='build')
- depends_on('libpng', when='+png')
- depends_on('librsvg', when='+svg')
- depends_on('glib')
- depends_on('pixman@0.36.0:', when='@1.17.2:')
- depends_on('pixman')
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('freetype', when='+ft')
- depends_on('pkgconfig', type='build')
- depends_on('fontconfig@2.10.91:', when='+fc') # Require newer version of fontconfig.
+ depends_on("libx11", when="+X")
+ depends_on("libxext", when="+X")
+ depends_on("libxrender", when="+X")
+ depends_on("libxcb", when="+X")
+ depends_on("python", when="+X", type="build")
+ depends_on("libpng", when="+png")
+ depends_on("librsvg", when="+svg")
+ depends_on("glib")
+ depends_on("pixman@0.36.0:", when="@1.17.2:")
+ depends_on("pixman")
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("freetype", when="+ft")
+ depends_on("pkgconfig", type="build")
+ depends_on("fontconfig@2.10.91:", when="+fc") # Require newer version of fontconfig.
- conflicts('+png', when='platform=darwin')
- conflicts('+svg', when='platform=darwin')
+ conflicts("+png", when="platform=darwin")
+ conflicts("+svg", when="platform=darwin")
# patch from https://gitlab.freedesktop.org/cairo/cairo/issues/346
- patch('fontconfig.patch', when='@1.16.0:1.17.2')
+ patch("fontconfig.patch", when="@1.16.0:1.17.2")
# Don't regenerate docs to avoid a dependency on gtk-doc
- patch('disable-gtk-docs.patch', when='^autoconf@2.70:')
+ patch("disable-gtk-docs.patch", when="^autoconf@2.70:")
def autoreconf(self, spec, prefix):
# Regenerate, directing the script *not* to call configure before Spack
# does
- which('sh')('./autogen.sh', extra_env={'NOCONFIGURE': '1'})
+ which("sh")("./autogen.sh", extra_env={"NOCONFIGURE": "1"})
def configure_args(self):
- args = [
- '--disable-trace', # can cause problems with libiberty
- '--enable-tee'
- ]
+ args = ["--disable-trace", "--enable-tee"] # can cause problems with libiberty
- if '+X' in self.spec:
- args.extend(['--enable-xlib', '--enable-xcb'])
+ if "+X" in self.spec:
+ args.extend(["--enable-xlib", "--enable-xcb"])
else:
- args.extend(['--disable-xlib', '--disable-xcb'])
+ args.extend(["--disable-xlib", "--disable-xcb"])
- args.extend(self.enable_or_disable('pdf'))
- args.extend(self.enable_or_disable('gobject'))
- args.extend(self.enable_or_disable('ft'))
- args.extend(self.enable_or_disable('fc'))
+ args.extend(self.enable_or_disable("pdf"))
+ args.extend(self.enable_or_disable("gobject"))
+ args.extend(self.enable_or_disable("ft"))
+ args.extend(self.enable_or_disable("fc"))
return args
diff --git a/var/spack/repos/builtin/packages/cairomm/package.py b/var/spack/repos/builtin/packages/cairomm/package.py
index 96ec1311de..dd0c71fad8 100644
--- a/var/spack/repos/builtin/packages/cairomm/package.py
+++ b/var/spack/repos/builtin/packages/cairomm/package.py
@@ -10,11 +10,11 @@ class Cairomm(AutotoolsPackage):
"""Cairomm is a C++ wrapper for the cairo graphics library."""
homepage = "https://www.cairographics.org/cairomm/"
- url = "https://cairographics.org/releases/cairomm-1.6.4.tar.gz"
+ url = "https://cairographics.org/releases/cairomm-1.6.4.tar.gz"
- version('1.6.4', sha256='3cb2c898d0ceb94ad2deb722b50a3a6ee46abdda741ecd6e5a40517c85ecea4c')
- version('1.6.2', sha256='068edc1743d92ff1d102141ba7597ba02a47379f9cb97799b0c3310848b56eff')
+ version("1.6.4", sha256="3cb2c898d0ceb94ad2deb722b50a3a6ee46abdda741ecd6e5a40517c85ecea4c")
+ version("1.6.2", sha256="068edc1743d92ff1d102141ba7597ba02a47379f9cb97799b0c3310848b56eff")
- depends_on('cairo')
- depends_on('libsigcpp')
- depends_on('pkgconfig', type='build')
+ depends_on("cairo")
+ depends_on("libsigcpp")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py
index 1e7f15c4da..9c77ea262e 100644
--- a/var/spack/repos/builtin/packages/caliper/package.py
+++ b/var/spack/repos/builtin/packages/caliper/package.py
@@ -19,153 +19,142 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
"""
homepage = "https://github.com/LLNL/Caliper"
- git = "https://github.com/LLNL/Caliper.git"
- url = "https://github.com/LLNL/Caliper/archive/v2.8.0.tar.gz"
- tags = ['e4s', 'radiuss']
+ git = "https://github.com/LLNL/Caliper.git"
+ url = "https://github.com/LLNL/Caliper/archive/v2.8.0.tar.gz"
+ tags = ["e4s", "radiuss"]
maintainers = ["daboehme"]
test_requires_compiler = True
- version('master', branch='master')
- version('2.8.0', sha256='17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4')
- version('2.7.0', sha256='b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b')
- version('2.6.0', sha256='6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f')
- version('2.5.0', sha256='d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c')
- version('2.4.0', tag='v2.4.0')
- version('2.3.0', tag='v2.3.0')
- version('2.2.0', tag='v2.2.0')
- version('2.1.1', tag='v2.1.1')
- version('2.0.1', tag='v2.0.1')
- version('1.9.1', tag='v1.9.1')
- version('1.9.0', tag='v1.9.0')
- version('1.8.0', tag='v1.8.0')
- version('1.7.0', tag='v1.7.0')
-
- is_linux = sys.platform.startswith('linux')
- variant('shared', default=True,
- description='Build shared libraries')
- variant('adiak', default=True,
- description='Enable Adiak support')
- variant('mpi', default=True,
- description='Enable MPI wrappers')
+ version("master", branch="master")
+ version("2.8.0", sha256="17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4")
+ version("2.7.0", sha256="b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b")
+ version("2.6.0", sha256="6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f")
+ version("2.5.0", sha256="d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c")
+ version("2.4.0", tag="v2.4.0")
+ version("2.3.0", tag="v2.3.0")
+ version("2.2.0", tag="v2.2.0")
+ version("2.1.1", tag="v2.1.1")
+ version("2.0.1", tag="v2.0.1")
+ version("1.9.1", tag="v1.9.1")
+ version("1.9.0", tag="v1.9.0")
+ version("1.8.0", tag="v1.8.0")
+ version("1.7.0", tag="v1.7.0")
+
+ is_linux = sys.platform.startswith("linux")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("adiak", default=True, description="Enable Adiak support")
+ variant("mpi", default=True, description="Enable MPI wrappers")
# libunwind has some issues on Mac
- variant('libunwind', default=sys.platform != 'darwin',
- description='Enable stack unwind support')
- variant('libdw', default=is_linux,
- description='Enable DWARF symbol lookup')
+ variant(
+ "libunwind", default=sys.platform != "darwin", description="Enable stack unwind support"
+ )
+ variant("libdw", default=is_linux, description="Enable DWARF symbol lookup")
# pthread_self() signature is incompatible with PAPI_thread_init() on Mac
- variant('papi', default=sys.platform != 'darwin',
- description='Enable PAPI service')
- variant('libpfm', default=False,
- description='Enable libpfm (perf_events) service')
+ variant("papi", default=sys.platform != "darwin", description="Enable PAPI service")
+ variant("libpfm", default=False, description="Enable libpfm (perf_events) service")
# Gotcha is Linux-only
- variant('gotcha', default=is_linux,
- description='Enable GOTCHA support')
- variant('sampler', default=is_linux,
- description='Enable sampling support on Linux')
- variant('sosflow', default=False,
- description='Enable SOSflow support')
- variant('fortran', default=False,
- description='Enable Fortran support')
+ variant("gotcha", default=is_linux, description="Enable GOTCHA support")
+ variant("sampler", default=is_linux, description="Enable sampling support on Linux")
+ variant("sosflow", default=False, description="Enable SOSflow support")
+ variant("fortran", default=False, description="Enable Fortran support")
- depends_on('adiak@0.1:0', when='@2.2: +adiak')
+ depends_on("adiak@0.1:0", when="@2.2: +adiak")
- depends_on('papi@5.3:5', when='@:2.2 +papi')
- depends_on('papi@5.3:6', when='@2.3: +papi')
+ depends_on("papi@5.3:5", when="@:2.2 +papi")
+ depends_on("papi@5.3:6", when="@2.3: +papi")
- depends_on('libpfm4@4.8:4', when='+libpfm')
+ depends_on("libpfm4@4.8:4", when="+libpfm")
- depends_on('mpi', when='+mpi')
- depends_on('unwind@1.2:1', when='+libunwind')
- depends_on('elfutils', when='+libdw')
+ depends_on("mpi", when="+mpi")
+ depends_on("unwind@1.2:1", when="+libunwind")
+ depends_on("elfutils", when="+libdw")
- depends_on('sosflow@spack', when='@1.0:1+sosflow')
+ depends_on("sosflow@spack", when="@1.0:1+sosflow")
- depends_on('cmake', type='build')
- depends_on('python', type='build')
+ depends_on("cmake", type="build")
+ depends_on("python", type="build")
# sosflow support not yet in 2.0
- conflicts('+sosflow', '@2.0.0:2.8')
- conflicts('+adiak', '@:2.1')
- conflicts('+libdw', '@:2.4')
- conflicts('+rocm', '@:2.7')
- conflicts('+rocm+cuda')
+ conflicts("+sosflow", "@2.0.0:2.8")
+ conflicts("+adiak", "@:2.1")
+ conflicts("+libdw", "@:2.4")
+ conflicts("+rocm", "@:2.7")
+ conflicts("+rocm+cuda")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def cmake_args(self):
spec = self.spec
args = [
- ('-DPYTHON_EXECUTABLE=%s' %
- spec['python'].command.path),
- '-DBUILD_TESTING=Off',
- '-DBUILD_DOCS=Off',
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('WITH_ADIAK', 'adiak'),
- self.define_from_variant('WITH_GOTCHA', 'gotcha'),
- self.define_from_variant('WITH_PAPI', 'papi'),
- self.define_from_variant('WITH_LIBDW', 'libdw'),
- self.define_from_variant('WITH_LIBPFM', 'libpfm'),
- self.define_from_variant('WITH_SOSFLOW', 'sosflow'),
- self.define_from_variant('WITH_SAMPLER', 'sampler'),
- self.define_from_variant('WITH_MPI', 'mpi'),
- self.define_from_variant('WITH_FORTRAN', 'fortran'),
- self.define_from_variant('WITH_CUPTI', 'cuda'),
- self.define_from_variant('WITH_NVTX', 'cuda'),
- self.define_from_variant('WITH_ROCTRACER', 'rocm'),
- self.define_from_variant('WITH_ROCTX', 'rocm')
+ ("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path),
+ "-DBUILD_TESTING=Off",
+ "-DBUILD_DOCS=Off",
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("WITH_ADIAK", "adiak"),
+ self.define_from_variant("WITH_GOTCHA", "gotcha"),
+ self.define_from_variant("WITH_PAPI", "papi"),
+ self.define_from_variant("WITH_LIBDW", "libdw"),
+ self.define_from_variant("WITH_LIBPFM", "libpfm"),
+ self.define_from_variant("WITH_SOSFLOW", "sosflow"),
+ self.define_from_variant("WITH_SAMPLER", "sampler"),
+ self.define_from_variant("WITH_MPI", "mpi"),
+ self.define_from_variant("WITH_FORTRAN", "fortran"),
+ self.define_from_variant("WITH_CUPTI", "cuda"),
+ self.define_from_variant("WITH_NVTX", "cuda"),
+ self.define_from_variant("WITH_ROCTRACER", "rocm"),
+ self.define_from_variant("WITH_ROCTX", "rocm"),
]
- if '+papi' in spec:
- args.append('-DPAPI_PREFIX=%s' % spec['papi'].prefix)
- if '+libdw' in spec:
- args.append('-DLIBDW_PREFIX=%s' % spec['elfutils'].prefix)
- if '+libpfm' in spec:
- args.append('-DLIBPFM_INSTALL=%s' % spec['libpfm4'].prefix)
- if '+sosflow' in spec:
- args.append('-DSOS_PREFIX=%s' % spec['sosflow'].prefix)
+ if "+papi" in spec:
+ args.append("-DPAPI_PREFIX=%s" % spec["papi"].prefix)
+ if "+libdw" in spec:
+ args.append("-DLIBDW_PREFIX=%s" % spec["elfutils"].prefix)
+ if "+libpfm" in spec:
+ args.append("-DLIBPFM_INSTALL=%s" % spec["libpfm4"].prefix)
+ if "+sosflow" in spec:
+ args.append("-DSOS_PREFIX=%s" % spec["sosflow"].prefix)
# -DWITH_CALLPATH was renamed -DWITH_LIBUNWIND in 2.5
- callpath_flag = 'LIBUNWIND' if spec.satisfies('@2.5:') else 'CALLPATH'
- if '+libunwind' in spec:
- args.append('-DLIBUNWIND_PREFIX=%s' % spec['unwind'].prefix)
- args.append('-DWITH_%s=On' % callpath_flag)
+ callpath_flag = "LIBUNWIND" if spec.satisfies("@2.5:") else "CALLPATH"
+ if "+libunwind" in spec:
+ args.append("-DLIBUNWIND_PREFIX=%s" % spec["unwind"].prefix)
+ args.append("-DWITH_%s=On" % callpath_flag)
else:
- args.append('-DWITH_%s=Off' % callpath_flag)
+ args.append("-DWITH_%s=Off" % callpath_flag)
- if '+mpi' in spec:
- args.append('-DMPI_C_COMPILER=%s' % spec['mpi'].mpicc)
- args.append('-DMPI_CXX_COMPILER=%s' % spec['mpi'].mpicxx)
+ if "+mpi" in spec:
+ args.append("-DMPI_C_COMPILER=%s" % spec["mpi"].mpicc)
+ args.append("-DMPI_CXX_COMPILER=%s" % spec["mpi"].mpicxx)
- if '+cuda' in spec:
- args.append('-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix)
+ if "+cuda" in spec:
+ args.append("-DCUDA_TOOLKIT_ROOT_DIR=%s" % spec["cuda"].prefix)
# technically only works with cuda 10.2+, otherwise cupti is in
# ${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI
- args.append('-DCUPTI_PREFIX=%s' % spec['cuda'].prefix)
+ args.append("-DCUPTI_PREFIX=%s" % spec["cuda"].prefix)
- if '+rocm' in spec:
- args.append('-DROCM_PREFIX=%s' % spec['hsa-rocr-dev'].prefix)
+ if "+rocm" in spec:
+ args.append("-DROCM_PREFIX=%s" % spec["hsa-rocr-dev"].prefix)
return args
- @run_after('install')
+ @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')])
+ self.cache_extra_test_sources([join_path("examples", "apps")])
def run_cxx_example_test(self):
"""Run stand alone test: cxx_example"""
test_dir = self.test_suite.current_test_cache_dir.examples.apps
- exe = 'cxx-example'
- source_file = 'cxx-example.cpp'
+ exe = "cxx-example"
+ source_file = "cxx-example.cpp"
if not os.path.isfile(join_path(test_dir, source_file)):
- tty.warn('Skipping caliper test:'
- '{0} does not exist'.format(source_file))
+ tty.warn("Skipping caliper test:" "{0} does not exist".format(source_file))
return
if os.path.exists(self.prefix.lib):
@@ -173,22 +162,28 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
else:
lib_dir = self.prefix.lib64
- options = ['-L{0}'.format(lib_dir),
- '-I{0}'.format(self.prefix.include),
- '{0}'.format(join_path(test_dir, source_file)),
- '-o', exe, '-std=c++11', '-lcaliper', '-lstdc++']
+ options = [
+ "-L{0}".format(lib_dir),
+ "-I{0}".format(self.prefix.include),
+ "{0}".format(join_path(test_dir, source_file)),
+ "-o",
+ exe,
+ "-std=c++11",
+ "-lcaliper",
+ "-lstdc++",
+ ]
- if not self.run_test(exe=os.environ['CXX'],
- options=options,
- purpose='test: compile {0} example'.format(exe),
- work_dir=test_dir):
- tty.warn('Skipping caliper test: failed to compile example')
+ if not self.run_test(
+ exe=os.environ["CXX"],
+ options=options,
+ purpose="test: compile {0} example".format(exe),
+ work_dir=test_dir,
+ ):
+ tty.warn("Skipping caliper test: failed to compile example")
return
- if not self.run_test(exe,
- purpose='test: run {0} example'.format(exe),
- work_dir=test_dir):
- tty.warn('Skipping caliper test: failed to run example')
+ if not self.run_test(exe, purpose="test: run {0} example".format(exe), work_dir=test_dir):
+ tty.warn("Skipping caliper test: failed to run example")
def test(self):
self.run_cxx_example_test()
diff --git a/var/spack/repos/builtin/packages/callflow/package.py b/var/spack/repos/builtin/packages/callflow/package.py
index 6b1d9e448a..3dc5ad4ff1 100644
--- a/var/spack/repos/builtin/packages/callflow/package.py
+++ b/var/spack/repos/builtin/packages/callflow/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class Callflow(PythonPackage):
"""CallFlow is an interactive visual analysis tool that provides a
- high-level overview of CCTs together with semantic refinement
- operations to progressively explore the CCTs."""
+ high-level overview of CCTs together with semantic refinement
+ operations to progressively explore the CCTs."""
homepage = "https://github.com/LLNL/CallFlow"
- url = "https://github.com/LLNL/CallFlow/archive/v1.1.0.tar.gz"
- git = 'https://github.com/LLNL/CallFlow.git'
+ url = "https://github.com/LLNL/CallFlow/archive/v1.1.0.tar.gz"
+ git = "https://github.com/LLNL/CallFlow.git"
maintainers = ["bhatiaharsh", "jarusified"]
- version('develop', branch='develop')
- version('1.1.2', sha256='60d2327843469f42be9366ff31d7a6afc85021af4e38b7d6704b2d8c3da7ed36')
- version('1.1.1', sha256='a52e6e0697a406dfe391225d3cc3c5c5a12a6c86b68f0f8e47777c79fd45cb28')
- version('1.1.0', sha256='f8b875eb62fbac04b117e3c23fccff99d768158226a9b7fa222a2b2a6acafa44')
+ version("develop", branch="develop")
+ version("1.1.2", sha256="60d2327843469f42be9366ff31d7a6afc85021af4e38b7d6704b2d8c3da7ed36")
+ version("1.1.1", sha256="a52e6e0697a406dfe391225d3cc3c5c5a12a6c86b68f0f8e47777c79fd45cb28")
+ version("1.1.0", sha256="f8b875eb62fbac04b117e3c23fccff99d768158226a9b7fa222a2b2a6acafa44")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-hatchet', type=('build', 'run'))
- depends_on('py-statsmodels', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-hatchet", type=("build", "run"))
+ depends_on("py-statsmodels", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
- depends_on('py-colorlog', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
+ depends_on("py-colorlog", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
- depends_on('py-ipython', type=('build', 'run'))
- depends_on('py-flask-socketio', type=('build', 'run'))
- depends_on('py-flask-cors', type=('build', 'run'))
+ depends_on("py-ipython", type=("build", "run"))
+ depends_on("py-flask-socketio", type=("build", "run"))
+ depends_on("py-flask-cors", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/callpath/package.py b/var/spack/repos/builtin/packages/callpath/package.py
index a74a746b6e..2d11048d0c 100644
--- a/var/spack/repos/builtin/packages/callpath/package.py
+++ b/var/spack/repos/builtin/packages/callpath/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Callpath(CMakePackage):
"""Library for representing callpaths consistently in
- distributed-memory performance tools."""
+ distributed-memory performance tools."""
homepage = "https://github.com/llnl/callpath"
- url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
+ url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
- version('1.0.4', sha256='4949974d60f18bb34e44e5a4e60032c39624dde5c3f16d557b3a6845eead4e2e')
- version('1.0.2', sha256='cbe42bba8b9dda259dcbe7e16ebd7ecd005eabf7e9ccf169535b03110df75c84')
- version('1.0.1', sha256='9bd9723126f80d0b518c28e5298ad0fa8d8dbc6a3f03fee5ae5449cf4c9a550f')
+ version("1.0.4", sha256="4949974d60f18bb34e44e5a4e60032c39624dde5c3f16d557b3a6845eead4e2e")
+ version("1.0.2", sha256="cbe42bba8b9dda259dcbe7e16ebd7ecd005eabf7e9ccf169535b03110df75c84")
+ version("1.0.1", sha256="9bd9723126f80d0b518c28e5298ad0fa8d8dbc6a3f03fee5ae5449cf4c9a550f")
- depends_on('elf', type='link')
- depends_on('libdwarf')
- depends_on('dyninst')
- depends_on('adept-utils')
- depends_on('mpi')
- depends_on('cmake@2.8:', type='build')
+ depends_on("elf", type="link")
+ depends_on("libdwarf")
+ depends_on("dyninst")
+ depends_on("adept-utils")
+ depends_on("mpi")
+ depends_on("cmake@2.8:", type="build")
def cmake_args(self):
# TODO: offer options for the walker used.
@@ -30,7 +30,6 @@ class Callpath(CMakePackage):
if self.spec.satisfies("^dyninst@9.3.0:"):
std_flag = self.compiler.cxx11_flag
- args.append("-DCMAKE_CXX_FLAGS='{0} -fpermissive'".format(
- std_flag))
+ args.append("-DCMAKE_CXX_FLAGS='{0} -fpermissive'".format(std_flag))
return args
diff --git a/var/spack/repos/builtin/packages/camellia/package.py b/var/spack/repos/builtin/packages/camellia/package.py
index e96351039b..9dc8cf8539 100644
--- a/var/spack/repos/builtin/packages/camellia/package.py
+++ b/var/spack/repos/builtin/packages/camellia/package.py
@@ -8,47 +8,48 @@ from spack.package import *
class Camellia(CMakePackage):
"""Camellia: user-friendly MPI-parallel adaptive finite element package,
- with support for DPG and other hybrid methods, built atop Trilinos.
+ with support for DPG and other hybrid methods, built atop Trilinos.
"""
homepage = "https://bitbucket.org/nateroberts/Camellia"
- git = "https://bitbucket.org/nateroberts/camellia.git"
+ git = "https://bitbucket.org/nateroberts/camellia.git"
- maintainers = ['CamelliaDPG']
+ maintainers = ["CamelliaDPG"]
- version('master', branch='master')
+ version("master", branch="master")
- variant('moab', default=True, description='Compile with MOAB to include support for reading standard mesh formats')
+ 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+mpi'
- '@master,12.12.1:'
+ "trilinos"
+ "+amesos+amesos2+belos+epetra+epetraext+exodus+ifpack+ifpack2+intrepid+intrepid2"
+ "+kokkos+ml+muelu+sacado+shards+tpetra+zoltan+mumps+superlu-dist+hdf5+mpi"
+ "@master,12.12.1:"
)
- depends_on('moab@:4', when='+moab')
+ depends_on("moab@:4", when="+moab")
# Cameilla needs hdf5 but the description "hdf5@:1.8" is
# determined that "1.8.10" or "1.8.21" does not work.
# See https://github.com/spack/spack/pull/8337
- depends_on('hdf5@:1.8.21')
+ depends_on("hdf5@:1.8.21")
- depends_on('mpi')
+ depends_on("mpi")
def cmake_args(self):
spec = self.spec
options = [
- '-DTrilinos_PATH:PATH=%s' % spec['trilinos'].prefix,
- '-DMPI_DIR:PATH=%s' % spec['mpi'].prefix,
- '-DBUILD_FOR_INSTALL:BOOL=ON'
+ "-DTrilinos_PATH:PATH=%s" % spec["trilinos"].prefix,
+ "-DMPI_DIR:PATH=%s" % spec["mpi"].prefix,
+ "-DBUILD_FOR_INSTALL:BOOL=ON",
]
- if '+moab' in spec:
- options.extend([
- '-DENABLE_MOAB:BOOL=ON',
- '-DMOAB_PATH:PATH=%s' % spec['moab'].prefix
- ])
+ if "+moab" in spec:
+ options.extend(["-DENABLE_MOAB:BOOL=ON", "-DMOAB_PATH:PATH=%s" % spec["moab"].prefix])
else:
- options.append('-DENABLE_MOAB:BOOL=OFF')
+ options.append("-DENABLE_MOAB:BOOL=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/camp/package.py b/var/spack/repos/builtin/packages/camp/package.py
index 353753ccb6..bca4754e61 100644
--- a/var/spack/repos/builtin/packages/camp/package.py
+++ b/var/spack/repos/builtin/packages/camp/package.py
@@ -13,60 +13,55 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage):
"""
homepage = "https://github.com/LLNL/camp"
- git = "https://github.com/LLNL/camp.git"
- url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
+ git = "https://github.com/LLNL/camp.git"
+ url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
- maintainers = ['trws']
+ maintainers = ["trws"]
- version('main', branch='main', submodules='True')
- version('2022.03.0', sha256='e9090d5ee191ea3a8e36b47a8fe78f3ac95d51804f1d986d931e85b8f8dad721')
- version('0.3.0', sha256='129431a049ca5825443038ad5a37a86ba6d09b2618d5fe65d35f83136575afdb')
- version('0.2.3', sha256='58a0f3bd5eadb588d7dc83f3d050aff8c8db639fc89e8d6553f9ce34fc2421a7')
- version('0.2.2', sha256='194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819')
- version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc')
+ version("main", branch="main", submodules="True")
+ version("2022.03.0", sha256="e9090d5ee191ea3a8e36b47a8fe78f3ac95d51804f1d986d931e85b8f8dad721")
+ version("0.3.0", sha256="129431a049ca5825443038ad5a37a86ba6d09b2618d5fe65d35f83136575afdb")
+ version("0.2.3", sha256="58a0f3bd5eadb588d7dc83f3d050aff8c8db639fc89e8d6553f9ce34fc2421a7")
+ version("0.2.2", sha256="194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819")
+ version("0.1.0", sha256="fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc")
# TODO: figure out gtest dependency and then set this default True.
- variant('tests', default=False, description='Build tests')
+ variant("tests", default=False, description="Build tests")
- depends_on('cub', when='+cuda')
+ depends_on("cub", when="+cuda")
- depends_on('blt')
+ depends_on("blt")
def cmake_args(self):
spec = self.spec
options = []
- options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix))
+ options.append("-DBLT_SOURCE_DIR={0}".format(spec["blt"].prefix))
- if '+cuda' in spec:
- options.extend([
- '-DENABLE_CUDA=ON',
- '-DCUDA_TOOLKIT_ROOT_DIR=%s' % (spec['cuda'].prefix)])
+ if "+cuda" in spec:
+ options.extend(
+ ["-DENABLE_CUDA=ON", "-DCUDA_TOOLKIT_ROOT_DIR=%s" % (spec["cuda"].prefix)]
+ )
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- options.append('-DCMAKE_CUDA_ARCHITECTURES={0}'.format(cuda_arch[0]))
- options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
- flag = '-arch sm_{0}'.format(cuda_arch[0])
- options.append('-DCMAKE_CUDA_FLAGS:STRING={0}'.format(flag))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ options.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch[0]))
+ options.append("-DCUDA_ARCH=sm_{0}".format(cuda_arch[0]))
+ flag = "-arch sm_{0}".format(cuda_arch[0])
+ options.append("-DCMAKE_CUDA_FLAGS:STRING={0}".format(flag))
else:
- options.append('-DENABLE_CUDA=OFF')
-
- if '+rocm' in spec:
- options.extend([
- '-DENABLE_HIP=ON',
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix)
- ])
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ options.append("-DENABLE_CUDA=OFF")
+
+ if "+rocm" in spec:
+ options.extend(["-DENABLE_HIP=ON", "-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix)])
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- options.append(
- '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.format(arch_str)
- )
+ options.append("-DHIP_HIPCC_FLAGS=--amdgpu-target={0}".format(arch_str))
else:
- options.append('-DENABLE_HIP=OFF')
+ options.append("-DENABLE_HIP=OFF")
- options.append(self.define_from_variant('ENABLE_TESTS', 'tests'))
+ options.append(self.define_from_variant("ENABLE_TESTS", "tests"))
return options
diff --git a/var/spack/repos/builtin/packages/camx/package.py b/var/spack/repos/builtin/packages/camx/package.py
index 97aaca7987..a1d982dc5b 100644
--- a/var/spack/repos/builtin/packages/camx/package.py
+++ b/var/spack/repos/builtin/packages/camx/package.py
@@ -10,34 +10,43 @@ from spack.package import *
class Camx(MakefilePackage):
- '''Comprehensive Air Quality Model with Extensions.'''
+ """Comprehensive Air Quality Model with Extensions."""
- homepage = 'https://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.
- version('6.50',
- url='http://www.camx.com/getmedia/caaf7983-616b-4207-bd10-c2b404bda78d/CAMx_v6-50-src-180430.tgz',
- sha256='4a53f78e0722d85a9c7d8ed6732aff55163a4ce06f69b6bbc9e00a3bf36a756c')
- resource(when='@6.50',
- name='user_manual',
- url='http://www.camx.com/files/camxusersguide_v6-50.pdf',
- sha256='b02d9826d59f22f9daa5955bb7b9fd3e0ca86eb73017c5845896d40391c64588',
- expand=False,
- placement='doc')
- resource(when='@6.50',
- name='input_data',
- url='http://www.camx.com/getmedia/77ad8028-9388-4f5d-bcab-a418e15dde68/v6-50-specific-inputs-180430.tgz',
- sha256='89b58283e37b8e2bd550a8ec62208f241be72c78dc26da9c42ad63c34f54ebfb',
- placement='data')
+ version(
+ "6.50",
+ url="http://www.camx.com/getmedia/caaf7983-616b-4207-bd10-c2b404bda78d/CAMx_v6-50-src-180430.tgz",
+ sha256="4a53f78e0722d85a9c7d8ed6732aff55163a4ce06f69b6bbc9e00a3bf36a756c",
+ )
+ resource(
+ when="@6.50",
+ name="user_manual",
+ url="http://www.camx.com/files/camxusersguide_v6-50.pdf",
+ sha256="b02d9826d59f22f9daa5955bb7b9fd3e0ca86eb73017c5845896d40391c64588",
+ expand=False,
+ placement="doc",
+ )
+ resource(
+ when="@6.50",
+ name="input_data",
+ url="http://www.camx.com/getmedia/77ad8028-9388-4f5d-bcab-a418e15dde68/v6-50-specific-inputs-180430.tgz",
+ sha256="89b58283e37b8e2bd550a8ec62208f241be72c78dc26da9c42ad63c34f54ebfb",
+ placement="data",
+ )
- variant('mpi', default=True, description='Enable MPI')
+ variant("mpi", default=True, description="Enable MPI")
variant(
- 'threads', default='pthread', description='Multithreading support',
- values=('pthread', 'openmp'), multi=False
+ "threads",
+ default="pthread",
+ description="Multithreading support",
+ values=("pthread", "openmp"),
+ multi=False,
)
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
parallel = False
@@ -48,86 +57,84 @@ class Camx(MakefilePackage):
# A parameter in the camx.prm is not sufficiently large.
# Please change the value for parameter: MXCELLS
# It should be set to a value of at least: 396
- with working_dir('Includes'):
- duplicate = 'camx.prm'
+ with working_dir("Includes"):
+ duplicate = "camx.prm"
os.remove(duplicate)
- orig = 'camx.prm.v{0}'.format(self.spec.version)
+ orig = "camx.prm.v{0}".format(self.spec.version)
prm = FileFilter(orig)
- prm.filter(r'MXCELLS = [^)]+', 'MXCELLS = 400 ')
- prm.filter(r'MXPTSRC = [^)]+', 'MXPTSRC = 1355961 ')
- prm.filter(r'MXLAYER = [^)]+', 'MXLAYER = 40 ')
- prm.filter(r'MXPIG = [^)]+', 'MXPIG = 100000 ')
+ prm.filter(r"MXCELLS = [^)]+", "MXCELLS = 400 ")
+ prm.filter(r"MXPTSRC = [^)]+", "MXPTSRC = 1355961 ")
+ prm.filter(r"MXLAYER = [^)]+", "MXLAYER = 40 ")
+ prm.filter(r"MXPIG = [^)]+", "MXPIG = 100000 ")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- if spec.target.family == 'aarch64':
- makefile.filter('-mcmodel=medium', '-mcmodel=large')
- makefile = FileFilter('./MPI/util/Makefile')
- makefile.filter('-mcmodel=medium', '-mcmodel=large')
+ makefile = FileFilter("Makefile")
+ if spec.target.family == "aarch64":
+ makefile.filter("-mcmodel=medium", "-mcmodel=large")
+ makefile = FileFilter("./MPI/util/Makefile")
+ makefile.filter("-mcmodel=medium", "-mcmodel=large")
# Support Intel MPI.
- if spec['mpi'].name == 'intel-mpi':
+ if spec["mpi"].name == "intel-mpi":
makefile.filter(
- 'else ifneq (, $(findstring $(MPI),openmpi openMPI OPENMPI))',
- '''else ifneq (, $(findstring $(MPI),intel-mpi intel impi))
+ "else ifneq (, $(findstring $(MPI),openmpi openMPI OPENMPI))",
+ """else ifneq (, $(findstring $(MPI),intel-mpi intel impi))
MPI_ECHO = "* MPI will be built in using Intel MPI"
MPI_INC = $(MPI_INST)/include
- MPI_LIBS = -L$(CAMX_MPI)/util -lutil -lparlib ''' +
- spec['mpi'].libs.ld_flags +
- '''
+ MPI_LIBS = -L$(CAMX_MPI)/util -lutil -lparlib """
+ + spec["mpi"].libs.ld_flags
+ + """
MPI_STRING = IntelMPI
FC = $(MPI_INST)/bin64/mpifort
CC = $(MPI_INST)/bin64/mpicc
-else ifneq (, $(findstring $(MPI),openmpi openMPI OPENMPI))''',
- string=True)
- makefile.filter('OPENMPI MVAPICH',
- 'OPENMPI MVAPICH IntelMPI',
- string=True)
+else ifneq (, $(findstring $(MPI),openmpi openMPI OPENMPI))""",
+ string=True,
+ )
+ makefile.filter("OPENMPI MVAPICH", "OPENMPI MVAPICH IntelMPI", string=True)
- if '+mpi' in spec:
+ if "+mpi" in spec:
# Substitute CC, FC.
- makefile.filter('CC = .*', 'CC = ' + spec['mpi'].mpicc)
- makefile.filter('FC = .*', 'FC = ' + spec['mpi'].mpifc)
+ makefile.filter("CC = .*", "CC = " + spec["mpi"].mpicc)
+ makefile.filter("FC = .*", "FC = " + spec["mpi"].mpifc)
# Fix parlib not being compiled.
- makefile.filter('all: comp_$(COMPILER)',
- # Yes, flake8, Makefile rules needs tabs!
- '''all: parlib comp_$(COMPILER)
+ makefile.filter(
+ "all: comp_$(COMPILER)",
+ # Yes, flake8, Makefile rules needs tabs!
+ """all: parlib comp_$(COMPILER)
parlib :
$(MAKE) -C $(CAMX_MPI)/util # noqa: E101,W191
-''',
- string=True) # noqa: E101
- makefile_parlib = FileFilter('MPI/util/Makefile')
- makefile_parlib.filter('CC = .*',
- 'CC = ' + spec['mpi'].mpicc)
- makefile_parlib.filter('LIBS = .*',
- 'LIBS = ' + spec['mpi'].libs.ld_flags)
- makefile_parlib.filter('MPI_INST = .*',
- 'MPI_INST = ' + spec['mpi'].prefix)
+""",
+ string=True,
+ ) # noqa: E101
+ makefile_parlib = FileFilter("MPI/util/Makefile")
+ makefile_parlib.filter("CC = .*", "CC = " + spec["mpi"].mpicc)
+ makefile_parlib.filter("LIBS = .*", "LIBS = " + spec["mpi"].libs.ld_flags)
+ makefile_parlib.filter("MPI_INST = .*", "MPI_INST = " + spec["mpi"].prefix)
else:
# Substitute CC, FC.
- makefile.filter('CC = .*', 'CC = ' + env['CC'])
- makefile.filter('FC = .*', 'FC = ' + env['FC'])
+ makefile.filter("CC = .*", "CC = " + env["CC"])
+ makefile.filter("FC = .*", "FC = " + env["FC"])
@property
def build_targets(self):
# Set compiler.
- omp = ['', 'omp'][self.spec.satisfies('threads=openmp')]
- compiler = os.path.basename(env['FC']) + omp
- args = ['COMPILER={0}'.format(compiler)]
+ omp = ["", "omp"][self.spec.satisfies("threads=openmp")]
+ compiler = os.path.basename(env["FC"]) + omp
+ args = ["COMPILER={0}".format(compiler)]
# Set MPI.
- if '+mpi' in self.spec:
- mpi = self.spec['mpi']
+ if "+mpi" in self.spec:
+ mpi = self.spec["mpi"]
args += [
- 'MPI={0}'.format(mpi.name),
- 'MPI_INST={0}'.format(mpi.prefix),
+ "MPI={0}".format(mpi.name),
+ "MPI_INST={0}".format(mpi.prefix),
]
return args
def install(self, spec, prefix):
- exe = glob.glob('CAMx.*')[0]
+ exe = glob.glob("CAMx.*")[0]
mkdir(prefix.bin)
install(exe, prefix.bin.camx)
mkdirp(prefix.share.doc)
- install_tree('doc', prefix.share.doc, symlinks=False)
+ install_tree("doc", prefix.share.doc, symlinks=False)
mkdir(prefix.share.data)
- install_tree('data', prefix.share.data)
+ install_tree("data", prefix.share.data)
diff --git a/var/spack/repos/builtin/packages/canal/package.py b/var/spack/repos/builtin/packages/canal/package.py
index 115ddf539e..6a046fbb4e 100644
--- a/var/spack/repos/builtin/packages/canal/package.py
+++ b/var/spack/repos/builtin/packages/canal/package.py
@@ -11,8 +11,8 @@ class Canal(MavenPackage):
"""Alibaba MySQL binlog incremental subscription & consumer components."""
homepage = "https://github.com/alibaba/canal/wiki"
- url = "https://github.com/alibaba/canal/archive/canal-1.1.4.tar.gz"
+ url = "https://github.com/alibaba/canal/archive/canal-1.1.4.tar.gz"
- version('1.1.4', sha256='740e0adac56d7f281cba21eca173eef3e8d42aa3e0fb49709f92cb6a1451dfbc')
- version('1.1.3', sha256='3fe75ca5eb5cb97eb35818426c1427542ccddb0de052cf154e948ef321822cbc')
- version('1.1.2', sha256='097190f952bdf09b835ed68966f5a98fa8308322a6aab11c1bfd16cec1800cf2')
+ version("1.1.4", sha256="740e0adac56d7f281cba21eca173eef3e8d42aa3e0fb49709f92cb6a1451dfbc")
+ version("1.1.3", sha256="3fe75ca5eb5cb97eb35818426c1427542ccddb0de052cf154e948ef321822cbc")
+ version("1.1.2", sha256="097190f952bdf09b835ed68966f5a98fa8308322a6aab11c1bfd16cec1800cf2")
diff --git a/var/spack/repos/builtin/packages/candle-benchmarks/package.py b/var/spack/repos/builtin/packages/candle-benchmarks/package.py
index 594b936a72..c436cb8cd0 100644
--- a/var/spack/repos/builtin/packages/candle-benchmarks/package.py
+++ b/var/spack/repos/builtin/packages/candle-benchmarks/package.py
@@ -10,28 +10,28 @@ class CandleBenchmarks(Package):
"""ECP-CANDLE Benchmarks"""
homepage = "https://github.com/ECP-CANDLE/Benchmarks"
- url = "https://github.com/ECP-CANDLE/Benchmarks/archive/v0.1.tar.gz"
-
- tags = ['proxy-app', 'ecp-proxy-app']
-
- version('0.1', sha256='767f74f43ee3a5d4e0f26750f2a96b8433e25a9cd4f2d29938ac8acf263ab58d')
- version('0.0', sha256='faa0d24355071de0e375d72ed1a39dcf30006602210cf8cf09db568b5d0b679f')
-
- variant('mpi', default=True, description='Build with MPI support')
-
- extends('python')
- depends_on('python@2.7:')
- depends_on('py-theano +cuda', type=('build', 'run'))
- depends_on('py-keras', type=('build', 'run'))
- depends_on('py-matplotlib +image@:2.2.3', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('opencv@3.2.0: +highgui +imgproc +jpeg +png +tiff ~dnn ~eigen ~gtk')
- depends_on('py-mdanalysis', type=('build', 'run'))
- depends_on('py-mpi4py', when='+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-requests', type=('build', 'run'))
+ url = "https://github.com/ECP-CANDLE/Benchmarks/archive/v0.1.tar.gz"
+
+ tags = ["proxy-app", "ecp-proxy-app"]
+
+ version("0.1", sha256="767f74f43ee3a5d4e0f26750f2a96b8433e25a9cd4f2d29938ac8acf263ab58d")
+ version("0.0", sha256="faa0d24355071de0e375d72ed1a39dcf30006602210cf8cf09db568b5d0b679f")
+
+ variant("mpi", default=True, description="Build with MPI support")
+
+ extends("python")
+ depends_on("python@2.7:")
+ depends_on("py-theano +cuda", type=("build", "run"))
+ depends_on("py-keras", type=("build", "run"))
+ depends_on("py-matplotlib +image@:2.2.3", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("opencv@3.2.0: +highgui +imgproc +jpeg +png +tiff ~dnn ~eigen ~gtk")
+ depends_on("py-mdanalysis", type=("build", "run"))
+ depends_on("py-mpi4py", when="+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-requests", type=("build", "run"))
# see #3244, but use external for now
# depends_on('tensorflow')
diff --git a/var/spack/repos/builtin/packages/cans/package.py b/var/spack/repos/builtin/packages/cans/package.py
index 5aceb26e1d..b1ca2298a7 100644
--- a/var/spack/repos/builtin/packages/cans/package.py
+++ b/var/spack/repos/builtin/packages/cans/package.py
@@ -16,30 +16,30 @@ class Cans(MakefilePackage):
in a 3D Cartesian grid."""
homepage = "https://github.com/p-costa/CaNS"
- url = "https://github.com/p-costa/CaNS/archive/refs/tags/v1.1.4.tar.gz"
+ url = "https://github.com/p-costa/CaNS/archive/refs/tags/v1.1.4.tar.gz"
- maintainers = ['lhxone', 'p-costa', 'nscapin', 'GabrieleBoga']
+ maintainers = ["lhxone", "p-costa", "nscapin", "GabrieleBoga"]
- version('1.1.4', sha256='8334c67810472edc18d5403a0bcb27fd57a620722c1e8c317518db4506867b81')
- version('1.1.3', sha256='01fa42e51ddcf6161fb63a124a0f2218c67f85ff4cc5236b995a5650d85e7615')
- version('1.1.2', sha256='31c8d6c1f619fb60b7919922c7a3a64dd614a1a2f89f38560184f75ed0526171')
- version('1.1.0', sha256='e3fd84902e18715c6476fe780e2395ca04db9e6b0c830b55a7aa9204b1fd0886')
+ version("1.1.4", sha256="8334c67810472edc18d5403a0bcb27fd57a620722c1e8c317518db4506867b81")
+ version("1.1.3", sha256="01fa42e51ddcf6161fb63a124a0f2218c67f85ff4cc5236b995a5650d85e7615")
+ version("1.1.2", sha256="31c8d6c1f619fb60b7919922c7a3a64dd614a1a2f89f38560184f75ed0526171")
+ version("1.1.0", sha256="e3fd84902e18715c6476fe780e2395ca04db9e6b0c830b55a7aa9204b1fd0886")
- depends_on('mpi')
- depends_on('fftw')
+ depends_on("mpi")
+ depends_on("fftw")
def edit(self, spec, prefix):
- with working_dir('src'):
- makefile = FileFilter('Makefile')
+ with working_dir("src"):
+ makefile = FileFilter("Makefile")
makefile.filter(
- 'LIBS =.*', 'LIBS = -L{} -lfftw3 -lfftw3_threads'
- .format(spec['fftw'].prefix.lib))
+ "LIBS =.*", "LIBS = -L{} -lfftw3 -lfftw3_threads".format(spec["fftw"].prefix.lib)
+ )
def build(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
make()
def install(self, spec, prefix):
mkdir(prefix.bin)
- with working_dir('src'):
- install('cans', prefix.bin)
+ with working_dir("src"):
+ install("cans", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py
index 54ef7076ac..435b1d31b4 100644
--- a/var/spack/repos/builtin/packages/cantera/package.py
+++ b/var/spack/repos/builtin/packages/cantera/package.py
@@ -14,153 +14,162 @@ class Cantera(SConsPackage):
involving chemical kinetics, thermodynamics, and/or transport processes."""
homepage = "https://www.cantera.org/docs/sphinx/html/index.html"
- url = "https://github.com/Cantera/cantera/archive/v2.5.1.tar.gz"
+ url = "https://github.com/Cantera/cantera/archive/v2.5.1.tar.gz"
- version('2.5.1', sha256='59f673cec686bc9b1eeccc1b1c9158a3978a3abe7491d00e8b355908c1c3be0a')
- version('2.4.0', sha256='0dc771693b657d8f4ba835dd229939e5b9cfd8348d2f5ba82775451a524365a5')
- version('2.3.0', sha256='06624f0f06bdd2acc9c0dba13443d945323ba40f68a9d422d95247c02e539b57')
- version('2.2.1', sha256='c7bca241848f541466f56e479402521c618410168e8983e2b54ae48888480e1e')
+ version("2.5.1", sha256="59f673cec686bc9b1eeccc1b1c9158a3978a3abe7491d00e8b355908c1c3be0a")
+ version("2.4.0", sha256="0dc771693b657d8f4ba835dd229939e5b9cfd8348d2f5ba82775451a524365a5")
+ version("2.3.0", sha256="06624f0f06bdd2acc9c0dba13443d945323ba40f68a9d422d95247c02e539b57")
+ version("2.2.1", sha256="c7bca241848f541466f56e479402521c618410168e8983e2b54ae48888480e1e")
- variant('python', default=False,
- description='Build the Cantera Python module')
- variant('matlab', default=False,
- description='Build the Cantera Matlab toolbox')
- variant('sundials', default=True,
- description='Build with Sundials')
+ variant("python", default=False, description="Build the Cantera Python module")
+ variant("matlab", default=False, description="Build the Cantera Matlab toolbox")
+ variant("sundials", default=True, description="Build with Sundials")
# Required dependencies
- depends_on('fmt@3.0.0:3.0.2', when='@2.3.0:')
- depends_on('googletest+gmock', when='@2.3.0:')
- depends_on('eigen', when='@2.3.0:')
+ depends_on("fmt@3.0.0:3.0.2", when="@2.3.0:")
+ depends_on("googletest+gmock", when="@2.3.0:")
+ depends_on("eigen", when="@2.3.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('sundials@:3.1.2+lapack', when='+sundials') # must be compiled with -fPIC
- depends_on('blas')
- depends_on('lapack')
- depends_on('yaml-cpp')
+ depends_on("sundials@:3.1.2+lapack", when="+sundials") # must be compiled with -fPIC
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("yaml-cpp")
# Python module dependencies
- extends('python', when='+python')
- depends_on('py-cython', when='+python', type='build')
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('build', 'run'))
- depends_on('py-3to2', when='+python', type=('build', 'run'))
- depends_on('py-unittest2', when='+python^python@2.6.0:2.6', type=('build', 'run'))
- depends_on('py-unittest2py3k', when='+python^python@3.1.0:3.1', type=('build', 'run'))
+ extends("python", when="+python")
+ depends_on("py-cython", when="+python", type="build")
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("build", "run"))
+ depends_on("py-3to2", when="+python", type=("build", "run"))
+ depends_on("py-unittest2", when="+python^python@2.6.0:2.6", type=("build", "run"))
+ depends_on("py-unittest2py3k", when="+python^python@3.1.0:3.1", type=("build", "run"))
# Matlab toolbox dependencies
- extends('matlab', when='+matlab')
+ extends("matlab", when="+matlab")
- conflicts('~sundials', when='@2.3.0:')
+ conflicts("~sundials", when="@2.3.0:")
def build_args(self, spec, prefix):
# Valid args can be found by running `scons help`
# Required args
args = [
- 'build',
- 'prefix={0}'.format(prefix),
- 'VERBOSE=yes',
- 'CC={0}'.format(spack_cc),
- 'CXX={0}'.format(spack_cxx),
- 'FORTRAN={0}'.format(spack_fc),
- 'cc_flags={0}'.format(self.compiler.cc_pic_flag),
+ "build",
+ "prefix={0}".format(prefix),
+ "VERBOSE=yes",
+ "CC={0}".format(spack_cc),
+ "CXX={0}".format(spack_cxx),
+ "FORTRAN={0}".format(spack_fc),
+ "cc_flags={0}".format(self.compiler.cc_pic_flag),
# Allow Spack environment variables to propagate through to SCons
- 'env_vars=all'
+ "env_vars=all",
]
- if spec.satisfies('@:2.2.1'):
- args.append('F77={0}'.format(spack_f77))
+ if spec.satisfies("@:2.2.1"):
+ args.append("F77={0}".format(spack_f77))
# fmt support
- if spec.satisfies('@2.3.0:'):
- args.append('system_fmt=y')
+ if spec.satisfies("@2.3.0:"):
+ args.append("system_fmt=y")
# Googletest support
- if spec.satisfies('@2.3.0:'):
- args.append('system_googletest=y')
+ if spec.satisfies("@2.3.0:"):
+ args.append("system_googletest=y")
# Eigen support
- if spec.satisfies('@2.3.0:'):
- args.extend([
- 'system_eigen=y',
- 'extra_inc_dirs={0}'.format(
- join_path(spec['eigen'].prefix.include, 'eigen{0}'.format(
- spec['eigen'].version.up_to(1)))),
- ])
+ if spec.satisfies("@2.3.0:"):
+ args.extend(
+ [
+ "system_eigen=y",
+ "extra_inc_dirs={0}".format(
+ join_path(
+ spec["eigen"].prefix.include,
+ "eigen{0}".format(spec["eigen"].version.up_to(1)),
+ )
+ ),
+ ]
+ )
# BLAS/LAPACK support
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- args.extend([
- 'blas_lapack_libs={0}'.format(','.join(lapack_blas.names)),
- 'blas_lapack_dir={0}'.format(spec['lapack'].prefix.lib)
- ])
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ args.extend(
+ [
+ "blas_lapack_libs={0}".format(",".join(lapack_blas.names)),
+ "blas_lapack_dir={0}".format(spec["lapack"].prefix.lib),
+ ]
+ )
# Boost support
- if spec.satisfies('@2.3.0:'):
- args.append('boost_inc_dir={0}'.format(
- spec['boost'].prefix.include))
+ if spec.satisfies("@2.3.0:"):
+ args.append("boost_inc_dir={0}".format(spec["boost"].prefix.include))
else:
- args.extend([
- 'build_thread_safe=yes',
- 'boost_inc_dir={0}'.format(spec['boost'].prefix.include),
- 'boost_lib_dir={0}'.format(spec['boost'].prefix.lib),
- ])
+ args.extend(
+ [
+ "build_thread_safe=yes",
+ "boost_inc_dir={0}".format(spec["boost"].prefix.include),
+ "boost_lib_dir={0}".format(spec["boost"].prefix.lib),
+ ]
+ )
# Sundials support
- if '+sundials' in spec:
- if spec.satisfies('@2.3.0:'):
- args.append('system_sundials=y')
+ if "+sundials" in spec:
+ if spec.satisfies("@2.3.0:"):
+ args.append("system_sundials=y")
else:
- args.extend([
- 'use_sundials=y',
- 'sundials_license={0}'.format(
- spec['sundials'].prefix.LICENSE)
- ])
-
- args.extend([
- 'sundials_include={0}'.format(spec['sundials'].prefix.include),
- 'sundials_libdir={0}'.format(spec['sundials'].prefix.lib),
- ])
+ args.extend(
+ [
+ "use_sundials=y",
+ "sundials_license={0}".format(spec["sundials"].prefix.LICENSE),
+ ]
+ )
+
+ args.extend(
+ [
+ "sundials_include={0}".format(spec["sundials"].prefix.include),
+ "sundials_libdir={0}".format(spec["sundials"].prefix.lib),
+ ]
+ )
# Python module
- if '+python' in spec:
- args.extend([
- 'python_package=full',
- 'python_cmd={0}'.format(spec['python'].command.path),
- ])
- if spec['python'].satisfies('@3:'):
- args.extend([
- 'python3_package=y',
- 'python3_cmd={0}'.format(spec['python'].command.path),
- ])
+ if "+python" in spec:
+ args.extend(
+ [
+ "python_package=full",
+ "python_cmd={0}".format(spec["python"].command.path),
+ ]
+ )
+ if spec["python"].satisfies("@3:"):
+ args.extend(
+ [
+ "python3_package=y",
+ "python3_cmd={0}".format(spec["python"].command.path),
+ ]
+ )
else:
- args.append('python3_package=n')
+ args.append("python3_package=n")
else:
- args.append('python_package=none')
- args.append('python3_package=n')
+ args.append("python_package=none")
+ args.append("python3_package=n")
# Matlab toolbox
- if '+matlab' in spec:
- args.extend([
- 'matlab_toolbox=y',
- 'matlab_path={0}'.format(spec['matlab'].prefix)
- ])
+ if "+matlab" in spec:
+ args.extend(["matlab_toolbox=y", "matlab_path={0}".format(spec["matlab"].prefix)])
else:
- args.append('matlab_toolbox=n')
+ args.append("matlab_toolbox=n")
return args
def build_test(self):
- if '+python' in self.spec:
+ if "+python" in self.spec:
# Tests will always fail if Python dependencies aren't built
# In addition, 3 of the tests fail when run in parallel
- scons('test', parallel=False)
+ scons("test", parallel=False)
- @run_after('install')
+ @run_after("install")
def filter_compilers(self):
"""Run after install to tell the Makefile and SConstruct files to use
the compilers that Spack built the package with.
@@ -169,41 +178,46 @@ class Cantera(SConsPackage):
generic cc, c++, f77, and f90. We want them to be bound to whatever
compiler they were built with."""
- kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
- dirname = os.path.join(self.prefix, 'share/cantera/samples')
+ kwargs = {"ignore_absent": True, "backup": False, "string": True}
+ dirname = os.path.join(self.prefix, "share/cantera/samples")
cc_files = [
- 'cxx/rankine/Makefile', 'cxx/NASA_coeffs/Makefile',
- 'cxx/kinetics1/Makefile', 'cxx/flamespeed/Makefile',
- 'cxx/combustor/Makefile', 'f77/SConstruct'
+ "cxx/rankine/Makefile",
+ "cxx/NASA_coeffs/Makefile",
+ "cxx/kinetics1/Makefile",
+ "cxx/flamespeed/Makefile",
+ "cxx/combustor/Makefile",
+ "f77/SConstruct",
]
cxx_files = [
- 'cxx/rankine/Makefile', 'cxx/NASA_coeffs/Makefile',
- 'cxx/kinetics1/Makefile', 'cxx/flamespeed/Makefile',
- 'cxx/combustor/Makefile'
+ "cxx/rankine/Makefile",
+ "cxx/NASA_coeffs/Makefile",
+ "cxx/kinetics1/Makefile",
+ "cxx/flamespeed/Makefile",
+ "cxx/combustor/Makefile",
]
- f77_files = [
- 'f77/Makefile', 'f77/SConstruct'
- ]
+ f77_files = ["f77/Makefile", "f77/SConstruct"]
- fc_files = [
- 'f90/Makefile', 'f90/SConstruct'
- ]
+ fc_files = ["f90/Makefile", "f90/SConstruct"]
for filename in cc_files:
- filter_file(os.environ['CC'], self.compiler.cc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["CC"], self.compiler.cc, os.path.join(dirname, filename), **kwargs
+ )
for filename in cxx_files:
- filter_file(os.environ['CXX'], self.compiler.cxx,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["CXX"], self.compiler.cxx, os.path.join(dirname, filename), **kwargs
+ )
for filename in f77_files:
- filter_file(os.environ['F77'], self.compiler.f77,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["F77"], self.compiler.f77, os.path.join(dirname, filename), **kwargs
+ )
for filename in fc_files:
- filter_file(os.environ['FC'], self.compiler.fc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs
+ )
diff --git a/var/spack/repos/builtin/packages/canu/package.py b/var/spack/repos/builtin/packages/canu/package.py
index c4567a26e3..32f9a37971 100644
--- a/var/spack/repos/builtin/packages/canu/package.py
+++ b/var/spack/repos/builtin/packages/canu/package.py
@@ -9,37 +9,39 @@ from spack.pkg.builtin.boost import Boost
class Canu(MakefilePackage):
"""A single molecule sequence assembler for genomes large and
- small."""
+ small."""
homepage = "https://canu.readthedocs.io/"
- url = "https://github.com/marbl/canu/archive/v1.5.tar.gz"
+ url = "https://github.com/marbl/canu/archive/v1.5.tar.gz"
- version('2.0', sha256='e2e6e8b5ec4dd4cfba5e372f4a64b2c01fbd544d4b5867746021f10771a6f4ef')
- version('1.8', sha256='30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4')
- version('1.7.1', sha256='c314659c929ee05fd413274f391463a93f19b8337eabb7ee5de1ecfc061caafa')
- version('1.7', sha256='c5be54b0ad20729093413e7e722a19637d32e966dc8ecd2b579ba3e4958d378a')
- version('1.5', sha256='06e2c6d7b9f6d325b3b468e9c1a5de65e4689aed41154f2cee5ccd2cef0d5cf6')
+ version("2.0", sha256="e2e6e8b5ec4dd4cfba5e372f4a64b2c01fbd544d4b5867746021f10771a6f4ef")
+ version("1.8", sha256="30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4")
+ version("1.7.1", sha256="c314659c929ee05fd413274f391463a93f19b8337eabb7ee5de1ecfc061caafa")
+ version("1.7", sha256="c5be54b0ad20729093413e7e722a19637d32e966dc8ecd2b579ba3e4958d378a")
+ version("1.5", sha256="06e2c6d7b9f6d325b3b468e9c1a5de65e4689aed41154f2cee5ccd2cef0d5cf6")
- depends_on('gnuplot', type='run')
- depends_on('java', type='run')
- depends_on('perl', type='run')
+ depends_on("gnuplot", type="run")
+ depends_on("java", type="run")
+ depends_on("perl", type="run")
# build fail when using boost@1.71.0:1.73.0 by canu@1.8:2.0
- depends_on('boost@:1.70.0')
+ depends_on("boost@:1.70.0")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- build_directory = 'src'
- build_targets = ['clean']
+ build_directory = "src"
+ build_targets = ["clean"]
def patch(self):
# Use our perl, not whatever is in the environment
- filter_file(r'^#!/usr/bin/env perl',
- '#!{0}'.format(self.spec['perl'].command.path),
- 'src/pipelines/canu.pl')
+ filter_file(
+ r"^#!/usr/bin/env perl",
+ "#!{0}".format(self.spec["perl"].command.path),
+ "src/pipelines/canu.pl",
+ )
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('all', 'TARGET_DIR={0}'.format(prefix))
+ make("all", "TARGET_DIR={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/cap3/package.py b/var/spack/repos/builtin/packages/cap3/package.py
index 0d1b201873..c168fc2625 100644
--- a/var/spack/repos/builtin/packages/cap3/package.py
+++ b/var/spack/repos/builtin/packages/cap3/package.py
@@ -10,15 +10,18 @@ class Cap3(Package):
"""CAP3 is DNA Sequence Assembly Program"""
homepage = "http://seq.cs.iastate.edu/"
- url = "http://seq.cs.iastate.edu/CAP3/cap3.linux.x86_64.tar"
+ url = "http://seq.cs.iastate.edu/CAP3/cap3.linux.x86_64.tar"
- version('2015-02-11', sha256='3aff30423e052887925b32f31bdd76764406661f2be3750afbf46341c3d38a06',
- url='http://seq.cs.iastate.edu/CAP3/cap3.linux.x86_64.tar')
+ version(
+ "2015-02-11",
+ sha256="3aff30423e052887925b32f31bdd76764406661f2be3750afbf46341c3d38a06",
+ url="http://seq.cs.iastate.edu/CAP3/cap3.linux.x86_64.tar",
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('cap3', prefix.bin)
- install('formcon', prefix.bin)
+ install("cap3", prefix.bin)
+ install("formcon", prefix.bin)
mkdirp(prefix.doc)
- install('doc', prefix.doc)
- install('aceform', prefix.doc)
+ install("doc", prefix.doc)
+ install("aceform", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/capnproto/package.py b/var/spack/repos/builtin/packages/capnproto/package.py
index 031b3a5131..453864aede 100644
--- a/var/spack/repos/builtin/packages/capnproto/package.py
+++ b/var/spack/repos/builtin/packages/capnproto/package.py
@@ -12,11 +12,11 @@ class Capnproto(AutotoolsPackage):
"""
homepage = "https://capnproto.org/"
- url = "https://capnproto.org/capnproto-c++-0.7.0.tar.gz"
- git = "https://github.com/capnproto/capnproto"
+ url = "https://capnproto.org/capnproto-c++-0.7.0.tar.gz"
+ git = "https://github.com/capnproto/capnproto"
- version('0.8.0', sha256='d1f40e47574c65700f0ec98bf66729378efabe3c72bc0cda795037498541c10d')
- version('0.7.0', sha256='c9a4c0bd88123064d483ab46ecee777f14d933359e23bff6fb4f4dbd28b4cd41')
+ version("0.8.0", sha256="d1f40e47574c65700f0ec98bf66729378efabe3c72bc0cda795037498541c10d")
+ version("0.7.0", sha256="c9a4c0bd88123064d483ab46ecee777f14d933359e23bff6fb4f4dbd28b4cd41")
def configure_args(self):
- return ['--without-openssl']
+ return ["--without-openssl"]
diff --git a/var/spack/repos/builtin/packages/capstone/package.py b/var/spack/repos/builtin/packages/capstone/package.py
index d0ffc6270f..fa9e064831 100644
--- a/var/spack/repos/builtin/packages/capstone/package.py
+++ b/var/spack/repos/builtin/packages/capstone/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Capstone(CMakePackage):
"""Capstone is a lightweight multi-platform,
- multi-architecture disassembly framework."""
+ multi-architecture disassembly framework."""
homepage = "https://www.capstone-engine.org/"
- url = "https://github.com/capstone-engine/capstone/archive/4.0.1.tar.gz"
- git = "https://github.com/capstone-engine/capstone.git"
+ url = "https://github.com/capstone-engine/capstone/archive/4.0.1.tar.gz"
+ git = "https://github.com/capstone-engine/capstone.git"
- version('next', branch='next')
- version('4.0.2', sha256='7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a')
- version('4.0.1', sha256='79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7')
+ version("next", branch="next")
+ version("4.0.2", sha256="7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a")
+ version("4.0.1", sha256="79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7")
diff --git a/var/spack/repos/builtin/packages/cardioid/package.py b/var/spack/repos/builtin/packages/cardioid/package.py
index ed588e4d6c..bf20fd9e49 100644
--- a/var/spack/repos/builtin/packages/cardioid/package.py
+++ b/var/spack/repos/builtin/packages/cardioid/package.py
@@ -9,48 +9,45 @@ from spack.package import *
class Cardioid(CMakePackage):
"""Cardiac simulation suite."""
- homepage = 'https://baasic.llnl.gov/comp-bio/cardioid-code.php'
+ homepage = "https://baasic.llnl.gov/comp-bio/cardioid-code.php"
git = "https://github.com/LLNL/cardioid.git"
- maintainers = ['rblake-llnl']
+ maintainers = ["rblake-llnl"]
- version('develop', branch='master')
- version('elecfem', branch='elec-fem')
+ version("develop", branch="master")
+ version("elecfem", branch="elec-fem")
- variant('cuda', default=False,
- description='Build with cuda support')
- variant('mfem', default=False,
- description='Build with mfem support')
+ variant("cuda", default=False, description="Build with cuda support")
+ variant("mfem", default=False, description="Build with mfem support")
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi')
- depends_on('cuda', when="+cuda")
- depends_on('mfem+mpi+superlu-dist+lapack', when="+mfem")
- depends_on('hypre+cuda', when="+mfem+cuda")
- depends_on('cmake@3.1:', type='build')
- depends_on('perl', type='build')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi")
+ depends_on("cuda", when="+cuda")
+ depends_on("mfem+mpi+superlu-dist+lapack", when="+mfem")
+ depends_on("hypre+cuda", when="+mfem+cuda")
+ depends_on("cmake@3.1:", type="build")
+ depends_on("perl", type="build")
def cmake_args(self):
spec = self.spec
args = [
- "-DLAPACK_LIB:PATH=" + ";".join(spec['lapack'].libs.libraries),
- "-DBLAS_LIB:PATH=" + ";".join(spec['blas'].libs.libraries),
+ "-DLAPACK_LIB:PATH=" + ";".join(spec["lapack"].libs.libraries),
+ "-DBLAS_LIB:PATH=" + ";".join(spec["blas"].libs.libraries),
"-DENABLE_OPENMP:BOOL=ON",
-
"-DENABLE_MPI:BOOL=ON",
"-DENABLE_FIND_MPI:BOOL=OFF",
- "-DMPI_C_COMPILER:STRING=" + spec['mpi'].mpicc,
- "-DMPI_CXX_COMPILER:STRING=" + spec['mpi'].mpicxx,
- "-DCMAKE_C_COMPILER:STRING=" + spec['mpi'].mpicc,
- "-DCMAKE_CXX_COMPILER:STRING=" + spec['mpi'].mpicxx,
+ "-DMPI_C_COMPILER:STRING=" + spec["mpi"].mpicc,
+ "-DMPI_CXX_COMPILER:STRING=" + spec["mpi"].mpicxx,
+ "-DCMAKE_C_COMPILER:STRING=" + spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER:STRING=" + spec["mpi"].mpicxx,
]
if "+cuda" in self.spec:
args.append("-DENABLE_CUDA:BOOL=ON")
- args.append("-DCUDA_TOOLKIT_ROOT:PATH=" + spec['cuda'].prefix)
+ args.append("-DCUDA_TOOLKIT_ROOT:PATH=" + spec["cuda"].prefix)
else:
args.append("-DENABLE_CUDA:BOOL=OFF")
if "+mfem" in self.spec:
- args.append("-DMFEM_DIR:PATH=" + spec['mfem'].prefix)
+ args.append("-DMFEM_DIR:PATH=" + spec["mfem"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/care/package.py b/var/spack/repos/builtin/packages/care/package.py
index 2e86701cb7..3ffe48c737 100644
--- a/var/spack/repos/builtin/packages/care/package.py
+++ b/var/spack/repos/builtin/packages/care/package.py
@@ -12,121 +12,124 @@ class Care(CMakePackage, CudaPackage, ROCmPackage):
"""
homepage = "https://github.com/LLNL/CARE"
- git = "https://github.com/LLNL/CARE.git"
- tags = ['radiuss']
-
- version('develop', branch='develop', submodules='True')
- version('master', branch='main', submodules='True')
- version('0.3.0', tag='v0.3.0', submodules='True')
- version('0.2.0', tag='v0.2.0', submodules='True')
-
- variant('openmp', default=False, description='Build Shared Libs')
- variant('implicit_conversions', default=True, description='Enable implicit'
- 'conversions to/from raw pointers')
- variant('benchmarks', default=True, description='Build benchmarks.')
- variant('examples', default=True, description='Build examples.')
- variant('docs', default=False, description='Build documentation')
- variant('tests', default=False, description='Build tests')
- variant('loop_fuser', default=False, description='Enable loop fusion capability')
-
- depends_on('blt@0.4.0:', type='build', when='@0.3.1:')
- depends_on('blt@:0.3.6', type='build', when='@:0.3.0')
-
- depends_on('camp')
- depends_on('umpire@develop')
- depends_on('raja@develop')
- depends_on('chai@develop+enable_pick~benchmarks')
+ git = "https://github.com/LLNL/CARE.git"
+ tags = ["radiuss"]
+
+ version("develop", branch="develop", submodules="True")
+ version("master", branch="main", submodules="True")
+ version("0.3.0", tag="v0.3.0", submodules="True")
+ version("0.2.0", tag="v0.2.0", submodules="True")
+
+ variant("openmp", default=False, description="Build Shared Libs")
+ variant(
+ "implicit_conversions",
+ default=True,
+ description="Enable implicit" "conversions to/from raw pointers",
+ )
+ variant("benchmarks", default=True, description="Build benchmarks.")
+ variant("examples", default=True, description="Build examples.")
+ variant("docs", default=False, description="Build documentation")
+ variant("tests", default=False, description="Build tests")
+ variant("loop_fuser", default=False, description="Enable loop fusion capability")
+
+ depends_on("blt@0.4.0:", type="build", when="@0.3.1:")
+ depends_on("blt@:0.3.6", type="build", when="@:0.3.0")
+
+ depends_on("camp")
+ depends_on("umpire@develop")
+ depends_on("raja@develop")
+ depends_on("chai@develop+enable_pick~benchmarks")
# WARNING: this package currently only supports an internal cub
# package. This will cause a race condition if compiled with another
# package that uses cub. TODO: have all packages point to the same external
# cub package.
- depends_on('camp+cuda', when='+cuda')
- depends_on('umpire+cuda~shared', when='+cuda')
- depends_on('cub', when='+cuda')
- depends_on('raja+cuda~openmp', when='+cuda')
- depends_on('chai+cuda~shared', when='+cuda')
+ depends_on("camp+cuda", when="+cuda")
+ depends_on("umpire+cuda~shared", when="+cuda")
+ depends_on("cub", when="+cuda")
+ depends_on("raja+cuda~openmp", when="+cuda")
+ depends_on("chai+cuda~shared", when="+cuda")
# variants +rocm and amdgpu_targets are not automatically passed to
# dependencies, so do it manually.
- depends_on('camp+rocm', when='+rocm')
- depends_on('umpire+rocm', when='+rocm')
- depends_on('raja+rocm~openmp', when='+rocm')
- depends_on('chai+rocm', when='+rocm')
+ depends_on("camp+rocm", when="+rocm")
+ depends_on("umpire+rocm", when="+rocm")
+ depends_on("raja+rocm~openmp", when="+rocm")
+ depends_on("chai+rocm", when="+rocm")
for val in ROCmPackage.amdgpu_targets:
- depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('umpire amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('raja amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('chai amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
+ depends_on("camp amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
+ depends_on("umpire amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
+ depends_on("raja amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
+ depends_on("chai amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
- conflicts('+openmp', when='+rocm')
- conflicts('+openmp', when='+cuda')
+ conflicts("+openmp", when="+rocm")
+ conflicts("+openmp", when="+cuda")
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant
options = []
- options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix))
-
- if '+cuda' in spec:
- options.extend([
- '-DENABLE_CUDA=ON',
- '-DCUDA_TOOLKIT_ROOT_DIR=' + spec['cuda'].prefix,
- '-DNVTOOLSEXT_DIR=' + spec['cuda'].prefix,
- '-DCUB_DIR=' + spec['cub'].prefix])
-
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
+ options.append("-DBLT_SOURCE_DIR={0}".format(spec["blt"].prefix))
+
+ if "+cuda" in spec:
+ options.extend(
+ [
+ "-DENABLE_CUDA=ON",
+ "-DCUDA_TOOLKIT_ROOT_DIR=" + spec["cuda"].prefix,
+ "-DNVTOOLSEXT_DIR=" + spec["cuda"].prefix,
+ "-DCUB_DIR=" + spec["cub"].prefix,
+ ]
+ )
+
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
# Please note that within care, CUDA_ARCH is assigned to -code
# and likewise CUDA_CODE is assigned to -arch, so these are
# intentionally flipped here.
- options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
- options.append('-DCUDA_CODE=compute_{0}'.format(cuda_arch[0]))
+ options.append("-DCUDA_ARCH=sm_{0}".format(cuda_arch[0]))
+ options.append("-DCUDA_CODE=compute_{0}".format(cuda_arch[0]))
else:
- options.append('-DENABLE_CUDA=OFF')
+ options.append("-DENABLE_CUDA=OFF")
- if '+rocm' in spec:
- options.extend([
- '-DENABLE_HIP=ON',
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix)])
+ if "+rocm" in spec:
+ options.extend(["-DENABLE_HIP=ON", "-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix)])
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- options.append(
- '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.format(arch_str)
- )
+ options.append("-DHIP_HIPCC_FLAGS=--amdgpu-target={0}".format(arch_str))
else:
- options.append('-DENABLE_HIP=OFF')
-
- options.extend([
- from_variant('CARE_ENABLE_IMPLICIT_CONVERSIONS',
- 'implicit_conversions'),
- from_variant('CARE_ENABLE_LOOP_FUSER', 'loop_fuser'),
- self.define('CAMP_DIR', spec['camp'].prefix.share.camp.cmake),
- self.define('UMPIRE_DIR', spec['umpire'].prefix.share.umpire.cmake),
- self.define('RAJA_DIR', spec['raja'].prefix.share.raja.cmake),
- self.define('CHAI_DIR', spec['chai'].prefix.share.chai.cmake),
- from_variant('CARE_ENABLE_TESTS', 'tests'),
- ])
+ options.append("-DENABLE_HIP=OFF")
+
+ options.extend(
+ [
+ from_variant("CARE_ENABLE_IMPLICIT_CONVERSIONS", "implicit_conversions"),
+ from_variant("CARE_ENABLE_LOOP_FUSER", "loop_fuser"),
+ self.define("CAMP_DIR", spec["camp"].prefix.share.camp.cmake),
+ self.define("UMPIRE_DIR", spec["umpire"].prefix.share.umpire.cmake),
+ self.define("RAJA_DIR", spec["raja"].prefix.share.raja.cmake),
+ self.define("CHAI_DIR", spec["chai"].prefix.share.chai.cmake),
+ from_variant("CARE_ENABLE_TESTS", "tests"),
+ ]
+ )
# For tests to work, we also need BLT_ENABLE_TESTS to be on.
# This will take care of the gtest dependency. CARE developers should
# consider consolidating these flags in the future.
- options.append(from_variant('BLT_ENABLE_TESTS', 'tests'))
+ options.append(from_variant("BLT_ENABLE_TESTS", "tests"))
# There are both CARE_ENABLE_* and ENABLE_* variables in here because
# one controls the BLT infrastructure and the other controls the CARE
# infrastructure. The goal is to just be able to use the CARE_ENABLE_*
# variables, but CARE isn't set up correctly for that yet.
- options.append(from_variant('ENABLE_BENCHMARKS', 'benchmarks'))
- options.append(from_variant('CARE_ENABLE_BENCHMARKS', 'benchmarks'))
+ options.append(from_variant("ENABLE_BENCHMARKS", "benchmarks"))
+ options.append(from_variant("CARE_ENABLE_BENCHMARKS", "benchmarks"))
- options.append(from_variant('ENABLE_EXAMPLES', 'examples'))
- options.append(from_variant('CARE_ENABLE_EXAMPLES', 'examples'))
+ options.append(from_variant("ENABLE_EXAMPLES", "examples"))
+ options.append(from_variant("CARE_ENABLE_EXAMPLES", "examples"))
- options.append(from_variant('ENABLE_DOCS', 'docs'))
- options.append(from_variant('CARE_ENABLE_DOCS', 'docs'))
+ options.append(from_variant("ENABLE_DOCS", "docs"))
+ options.append(from_variant("CARE_ENABLE_DOCS", "docs"))
return options
diff --git a/var/spack/repos/builtin/packages/casacore/package.py b/var/spack/repos/builtin/packages/casacore/package.py
index 04426a9309..16ca2a0d50 100644
--- a/var/spack/repos/builtin/packages/casacore/package.py
+++ b/var/spack/repos/builtin/packages/casacore/package.py
@@ -13,97 +13,97 @@ class Casacore(CMakePackage):
"""A suite of c++ libraries for radio astronomy data processing."""
homepage = "https://github.com/casacore/casacore"
- url = "https://github.com/casacore/casacore/archive/v2.4.1.tar.gz"
+ url = "https://github.com/casacore/casacore/archive/v2.4.1.tar.gz"
- maintainers = ['mpokorny']
+ maintainers = ["mpokorny"]
- version('3.4.0', sha256='31f02ad2e26f29bab4a47a2a69e049d7bc511084a0b8263360e6157356f92ae1')
- version('3.3.0', sha256='3a714644b908ef6e81489b792cc9b80f6d8267a275e15d38a42a6a5137d39d3d')
- version('3.2.0', sha256='ae5d3786cb6dfdd7ebc5eecc0c724ff02bbf6929720bc23be43a027978e79a5f')
- version('3.1.2', sha256='ac94f4246412eb45d503f1019cabe2bb04e3861e1f3254b832d9b1164ea5f281')
- version('3.1.1', sha256='85d2b17d856592fb206b17e0a344a29330650a4269c80b87f8abb3eaf3dadad4')
- version('3.1.0', sha256='a6adf2d77ad0d6f32995b1e297fd88d31ded9c3e0bb8f28966d7b35a969f7897')
- version('3.0.0', sha256='6f0e68fd77b5c96299f7583a03a53a90980ec347bff9dfb4c0abb0e2933e6bcb')
- version('2.4.1', sha256='58eccc875053b2c6fe44fe53b6463030ef169597ec29926936f18d27b5087d63')
+ version("3.4.0", sha256="31f02ad2e26f29bab4a47a2a69e049d7bc511084a0b8263360e6157356f92ae1")
+ version("3.3.0", sha256="3a714644b908ef6e81489b792cc9b80f6d8267a275e15d38a42a6a5137d39d3d")
+ version("3.2.0", sha256="ae5d3786cb6dfdd7ebc5eecc0c724ff02bbf6929720bc23be43a027978e79a5f")
+ version("3.1.2", sha256="ac94f4246412eb45d503f1019cabe2bb04e3861e1f3254b832d9b1164ea5f281")
+ version("3.1.1", sha256="85d2b17d856592fb206b17e0a344a29330650a4269c80b87f8abb3eaf3dadad4")
+ version("3.1.0", sha256="a6adf2d77ad0d6f32995b1e297fd88d31ded9c3e0bb8f28966d7b35a969f7897")
+ version("3.0.0", sha256="6f0e68fd77b5c96299f7583a03a53a90980ec347bff9dfb4c0abb0e2933e6bcb")
+ version("2.4.1", sha256="58eccc875053b2c6fe44fe53b6463030ef169597ec29926936f18d27b5087d63")
- depends_on('cmake@3.7.1:', type='build')
+ depends_on("cmake@3.7.1:", type="build")
- variant('openmp', default=False, description='Build OpenMP support')
- variant('shared', default=True, description='Build shared libraries')
- variant('readline', default=True, description='Build readline support')
+ variant("openmp", default=False, description="Build OpenMP support")
+ variant("shared", default=True, description="Build shared libraries")
+ 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')
+ 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")
# Force dependency on readline in v3.2 and earlier. Although the
# presence of readline is tested in CMakeLists.txt, and casacore
# can be built without it, there's no way to control that
# dependency at build time; since many systems come with readline,
# it's better to explicitly depend on it here always.
- depends_on('readline', when='@:3.2.0')
- depends_on('readline', when='+readline')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('blas')
- depends_on('lapack')
- depends_on('cfitsio')
- depends_on('wcslib@4.20:+cfitsio')
- depends_on('fftw@3.0.0: precision=float,double', when='@3.4.0:')
- depends_on('fftw@3.0.0: precision=float,double', when='~fftpack')
+ depends_on("readline", when="@:3.2.0")
+ depends_on("readline", when="+readline")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("cfitsio")
+ depends_on("wcslib@4.20:+cfitsio")
+ depends_on("fftw@3.0.0: precision=float,double", when="@3.4.0:")
+ depends_on("fftw@3.0.0: precision=float,double", when="~fftpack")
# SOFA dependency suffers the same problem in CMakeLists.txt as readline;
# 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("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")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+python')
- depends_on('py-numpy', when='+python')
+ depends_on(Boost.with_default_variants, when="+python")
+ depends_on("py-numpy", when="+python")
def cmake_args(self):
args = []
spec = self.spec
- args.append(self.define_from_variant('ENABLE_SHARED', 'shared'))
- 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))
+ args.append(self.define_from_variant("ENABLE_SHARED", "shared"))
+ 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
# always require FFTW3 dependency with the optional addition
# of FFTPack. In older casacore versions, only one of FFTW3 or
# FFTPack can be selected.
- if spec.satisfies('@3.4.0:'):
- if spec.satisfies('+fftpack'):
- args.append('-DBUILD_FFTPACK_DEPRECATED=YES')
- args.append(self.define('USE_FFTW3', True))
+ if spec.satisfies("@3.4.0:"):
+ if spec.satisfies("+fftpack"):
+ args.append("-DBUILD_FFTPACK_DEPRECATED=YES")
+ args.append(self.define("USE_FFTW3", True))
else:
- args.append(self.define('USE_FFTW3', spec.satisfies('~fftpack')))
+ args.append(self.define("USE_FFTW3", spec.satisfies("~fftpack")))
# Python2 and Python3 binding
- if spec.satisfies('~python'):
- args.extend(['-DBUILD_PYTHON=NO', '-DBUILD_PYTHON3=NO'])
- elif spec.satisfies('^python@3.0.0:'):
- args.extend(['-DBUILD_PYTHON=NO', '-DBUILD_PYTHON3=YES'])
+ if spec.satisfies("~python"):
+ args.extend(["-DBUILD_PYTHON=NO", "-DBUILD_PYTHON3=NO"])
+ elif spec.satisfies("^python@3.0.0:"):
+ args.extend(["-DBUILD_PYTHON=NO", "-DBUILD_PYTHON3=YES"])
else:
- args.extend(['-DBUILD_PYTHON=YES', '-DBUILD_PYTHON3=NO'])
+ args.extend(["-DBUILD_PYTHON=YES", "-DBUILD_PYTHON3=NO"])
- args.append('-DBUILD_TESTING=OFF')
+ args.append("-DBUILD_TESTING=OFF")
return args
def patch(self):
# Rely on CMake ability to find hdf5, available since CMake 3.7.X
- os.remove('cmake/FindHDF5.cmake')
+ os.remove("cmake/FindHDF5.cmake")
diff --git a/var/spack/repos/builtin/packages/cask/package.py b/var/spack/repos/builtin/packages/cask/package.py
index c97fe476fc..44f51a964a 100644
--- a/var/spack/repos/builtin/packages/cask/package.py
+++ b/var/spack/repos/builtin/packages/cask/package.py
@@ -10,24 +10,25 @@ from spack.package import *
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."""
+ development cycle; development, dependencies, testing, building,
+ packaging and more."""
+
homepage = "https://cask.readthedocs.io/en/latest/"
- url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz"
+ url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz"
- version('0.8.1', sha256='8739ba608f23c79b3426faa8b068d5d1bc096c7305ce30b1163babd354be821c')
+ version("0.8.1", sha256="8739ba608f23c79b3426faa8b068d5d1bc096c7305ce30b1163babd354be821c")
# version 0.8.0 is broken
- version('0.7.4', sha256='b183ea1c50fc215c9040f402b758ecc335901fbc2c3afd4a7302386c888d437d')
+ version("0.7.4", sha256="b183ea1c50fc215c9040f402b758ecc335901fbc2c3afd4a7302386c888d437d")
- depends_on('emacs', type=('build', 'run'))
+ depends_on("emacs", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bin/cask', prefix.bin)
- install_tree('templates', join_path(prefix, 'templates'))
+ install("bin/cask", prefix.bin)
+ install_tree("templates", join_path(prefix, "templates"))
for el_file in glob("*.el"):
install(el_file, prefix)
- for misc_file in ['COPYING', 'cask.png', 'README.md']:
+ for misc_file in ["COPYING", "cask.png", "README.md"]:
install(misc_file, prefix)
# disable cask's automatic upgrading feature
touch(join_path(prefix, ".no-upgrade"))
diff --git a/var/spack/repos/builtin/packages/casper/package.py b/var/spack/repos/builtin/packages/casper/package.py
index fd4d68d7a5..ec7f3889d7 100644
--- a/var/spack/repos/builtin/packages/casper/package.py
+++ b/var/spack/repos/builtin/packages/casper/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class Casper(MakefilePackage):
"""CASPER (Context-Aware Scheme for Paired-End Read) is state-of-the art
- merging tool in terms of accuracy and robustness. Using this
- sophisticated merging method, we could get elongated reads from the
- forward and reverse reads."""
+ merging tool in terms of accuracy and robustness. Using this
+ sophisticated merging method, we could get elongated reads from the
+ forward and reverse reads."""
homepage = "http://best.snu.ac.kr/casper/index.php?name=main"
- url = "http://best.snu.ac.kr/casper/program/casper_v0.8.2.tar.gz"
+ url = "http://best.snu.ac.kr/casper/program/casper_v0.8.2.tar.gz"
- version('0.8.2', sha256='3005e165cebf8ce4e12815b7660a833e0733441b5c7e5ecbfdccef7414b0c914')
+ version("0.8.2", sha256="3005e165cebf8ce4e12815b7660a833e0733441b5c7e5ecbfdccef7414b0c914")
- depends_on('jellyfish@2.2.3:')
- depends_on('boost+exception')
+ depends_on("jellyfish@2.2.3:")
+ depends_on("boost+exception")
- conflicts('%gcc@7.1.0')
+ conflicts("%gcc@7.1.0")
def flag_handler(self, name, flags):
- if name.lower() == 'cxxflags':
+ if name.lower() == "cxxflags":
flags.append(self.compiler.cxx98_flag)
return (flags, None, None)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix)
+ env.prepend_path("PATH", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/cassandra/package.py b/var/spack/repos/builtin/packages/cassandra/package.py
index 101042b708..ecded30fe4 100644
--- a/var/spack/repos/builtin/packages/cassandra/package.py
+++ b/var/spack/repos/builtin/packages/cassandra/package.py
@@ -13,16 +13,24 @@ class Cassandra(Package):
"""
homepage = "https://github.com/apache/cassandra"
- url = "https://archive.apache.org/dist/cassandra/4.0.1/apache-cassandra-4.0.1-bin.tar.gz"
+ url = "https://archive.apache.org/dist/cassandra/4.0.1/apache-cassandra-4.0.1-bin.tar.gz"
- version('4.0.1', sha256='ed7022e30d9b77d9ce1072f8de95ab01ef7c5c6ed30f304e413dd5a3f92a52f8')
- version('3.11.11', sha256='a5639af781005410995a96f512d505c1def7b70cf5bbbec52e7cd5ff31b6cea3')
- version('3.11.6', sha256='ce34edebd1b6bb35216ae97bd06d3efc338c05b273b78267556a99f85d30e45b', deprecated=True)
- version('3.11.5', sha256='a765adcaa42a6c881f5e79d030854d082900992cc11da40eee413bb235970a6a', deprecated=True)
- version('2.2.19', sha256='5496c0254a66b6d50bde7999d1bab9129b0406b71ad3318558f4d7dbfbed0ab9')
+ version("4.0.1", sha256="ed7022e30d9b77d9ce1072f8de95ab01ef7c5c6ed30f304e413dd5a3f92a52f8")
+ version("3.11.11", sha256="a5639af781005410995a96f512d505c1def7b70cf5bbbec52e7cd5ff31b6cea3")
+ version(
+ "3.11.6",
+ sha256="ce34edebd1b6bb35216ae97bd06d3efc338c05b273b78267556a99f85d30e45b",
+ deprecated=True,
+ )
+ version(
+ "3.11.5",
+ sha256="a765adcaa42a6c881f5e79d030854d082900992cc11da40eee413bb235970a6a",
+ deprecated=True,
+ )
+ version("2.2.19", sha256="5496c0254a66b6d50bde7999d1bab9129b0406b71ad3318558f4d7dbfbed0ab9")
- depends_on('java@9:', type=('build', 'run'), when='@4.0.0:')
- depends_on('java@:8', type=('build', 'run'), when='@:3.11.11')
+ depends_on("java@9:", type=("build", "run"), when="@4.0.0:")
+ depends_on("java@:8", type=("build", "run"), when="@:3.11.11")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/catalyst/package.py b/var/spack/repos/builtin/packages/catalyst/package.py
index 3f4a54f448..4cf688c158 100644
--- a/var/spack/repos/builtin/packages/catalyst/package.py
+++ b/var/spack/repos/builtin/packages/catalyst/package.py
@@ -20,36 +20,40 @@ class Catalyst(CMakePackage):
"""
- homepage = 'http://www.paraview.org'
- url = "https://www.paraview.org/files/v5.5/ParaView-v5.5.2.tar.gz"
- _urlfmt_gz = 'https://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.gz'
- _urlfmt_xz = 'https://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.xz'
-
- maintainers = ['chuckatkins', 'danlipsa']
-
- version('5.6.0', sha256='5b49cb96ab78eee0427e25200530ac892f9a3da7725109ce1790f8010cb5b377')
- version('5.5.2', sha256='64561f34c4402b88f3cb20a956842394dde5838efd7ebb301157a837114a0e2d')
- version('5.5.1', sha256='a6e67a95a7a5711a2b5f95f38ccbff4912262b3e1b1af7d6b9afe8185aa85c0d')
- version('5.5.0', sha256='1b619e326ff574de808732ca9a7447e4cd14e94ae6568f55b6581896cd569dff')
- version('5.4.1', sha256='390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4')
- version('5.4.0', sha256='f488d84a53b1286d2ee1967e386626c8ad05a6fe4e6cbdaa8d5e042f519f94a9')
- version('5.3.0', sha256='046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0')
- version('5.2.0', sha256='894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96')
- version('5.1.2', sha256='ff02b7307a256b7c6e8ad900dee5796297494df7f9a0804fe801eb2f66e6a187')
- version('5.0.1', sha256='caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb')
- version('4.4.0', sha256='c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73')
-
- variant('python', default=False, description='Enable Python support')
- variant('python3', default=False, description='Enable Python3 support')
- variant('essentials', default=False, description='Enable Essentials support')
- variant('extras', default=False, description='Enable Extras support. Implies Essentials.')
- variant('rendering', default=True, description='Enable Rendering support. Implies Extras and Essentials.')
- variant('osmesa', default=True, description='Use offscreen rendering')
- conflicts('+osmesa', when='~rendering')
-
- conflicts('+python', when='+python3')
- conflicts('+python', when='@5.6:')
- conflicts('+python3', when='@:5.5')
+ homepage = "http://www.paraview.org"
+ url = "https://www.paraview.org/files/v5.5/ParaView-v5.5.2.tar.gz"
+ _urlfmt_gz = "https://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.gz"
+ _urlfmt_xz = "https://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.xz"
+
+ maintainers = ["chuckatkins", "danlipsa"]
+
+ version("5.6.0", sha256="5b49cb96ab78eee0427e25200530ac892f9a3da7725109ce1790f8010cb5b377")
+ version("5.5.2", sha256="64561f34c4402b88f3cb20a956842394dde5838efd7ebb301157a837114a0e2d")
+ version("5.5.1", sha256="a6e67a95a7a5711a2b5f95f38ccbff4912262b3e1b1af7d6b9afe8185aa85c0d")
+ version("5.5.0", sha256="1b619e326ff574de808732ca9a7447e4cd14e94ae6568f55b6581896cd569dff")
+ version("5.4.1", sha256="390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4")
+ version("5.4.0", sha256="f488d84a53b1286d2ee1967e386626c8ad05a6fe4e6cbdaa8d5e042f519f94a9")
+ version("5.3.0", sha256="046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0")
+ version("5.2.0", sha256="894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96")
+ version("5.1.2", sha256="ff02b7307a256b7c6e8ad900dee5796297494df7f9a0804fe801eb2f66e6a187")
+ version("5.0.1", sha256="caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb")
+ version("4.4.0", sha256="c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73")
+
+ variant("python", default=False, description="Enable Python support")
+ variant("python3", default=False, description="Enable Python3 support")
+ variant("essentials", default=False, description="Enable Essentials support")
+ variant("extras", default=False, description="Enable Extras support. Implies Essentials.")
+ variant(
+ "rendering",
+ default=True,
+ description="Enable Rendering support. Implies Extras and Essentials.",
+ )
+ variant("osmesa", default=True, description="Use offscreen rendering")
+ conflicts("+osmesa", when="~rendering")
+
+ conflicts("+python", when="+python3")
+ conflicts("+python", when="@5.6:")
+ conflicts("+python3", when="@:5.5")
# Workaround for
# adding the following to your packages.yaml
@@ -61,73 +65,71 @@ class Catalyst(CMakePackage):
# for `spack spec paraview+python`
# see spack pull request #11539
# extends('python', when='+python')
- extends('python', when='+python')
- extends('python', when='+python3')
+ extends("python", when="+python")
+ extends("python", when="+python3")
# VTK < 8.2.1 can't handle Python 3.8
# This affects Paraview <= 5.7 (VTK 8.2.0)
# https://gitlab.kitware.com/vtk/vtk/-/issues/17670
- depends_on('python@3:3.7', when='@:5.7 +python3', type=('build', 'run'))
- depends_on('python@3:', when='@5.8:+python3', type=('build', 'run'))
- depends_on('python@2.7:2.8', when='+python', type=('build', 'link', 'run'))
+ depends_on("python@3:3.7", when="@:5.7 +python3", type=("build", "run"))
+ depends_on("python@3:", when="@5.8:+python3", type=("build", "run"))
+ depends_on("python@2.7:2.8", when="+python", type=("build", "link", "run"))
- depends_on('git', type='build')
- depends_on('mpi')
+ depends_on("git", type="build")
+ depends_on("mpi")
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python3', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python3', type=('build', 'run'))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python3", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python3", type=("build", "run"))
- depends_on('gl@3.2:', when='+rendering')
- depends_on('osmesa', when='+osmesa')
- depends_on('glx', when='~osmesa')
- depends_on('cmake@3.3:', type='build')
+ depends_on("gl@3.2:", when="+rendering")
+ depends_on("osmesa", when="+osmesa")
+ depends_on("glx", when="~osmesa")
+ depends_on("cmake@3.3:", type="build")
- @when('@5.5.0:5.5.2')
+ @when("@5.5.0:5.5.2")
def patch(self):
"""Apply the patch (it should be fixed in Paraview 5.6)
at the package dir to the source code in
root_cmakelists_dir."""
- patch_name = 'vtkm-catalyst-pv551.patch'
+ patch_name = "vtkm-catalyst-pv551.patch"
patch = which("patch", required=True)
with working_dir(self.root_cmakelists_dir):
- patch('-s', '-p', '1', '-i',
- join_path(self.package_dir, patch_name),
- "-d", '.')
+ patch("-s", "-p", "1", "-i", join_path(self.package_dir, patch_name), "-d", ".")
def url_for_version(self, version):
"""Handle ParaView version-based custom URLs."""
- if version < Version('5.1.0'):
- return self._urlfmt_gz.format(version.up_to(2), version, '-source')
- elif version < Version('5.6.0'):
- return self._urlfmt_gz.format(version.up_to(2), version, '')
+ if version < Version("5.1.0"):
+ return self._urlfmt_gz.format(version.up_to(2), version, "-source")
+ elif version < Version("5.6.0"):
+ return self._urlfmt_gz.format(version.up_to(2), version, "")
else:
- return self._urlfmt_xz.format(version.up_to(2), version, '')
+ return self._urlfmt_xz.format(version.up_to(2), version, "")
@property
def paraview_subdir(self):
"""The paraview subdirectory name as paraview-major.minor"""
- return 'paraview-{0}'.format(self.spec.version.up_to(2))
+ return "paraview-{0}".format(self.spec.version.up_to(2))
@property
def editions(self):
"""Transcribe spack variants into names of Catalyst Editions"""
- selected = ['Base'] # Always required
+ selected = ["Base"] # Always required
- if '+python' in self.spec or '+python3' in self.spec:
- selected.append('Enable-Python')
+ if "+python" in self.spec or "+python3" in self.spec:
+ selected.append("Enable-Python")
- if '+essentials' in self.spec:
- selected.append('Essentials')
+ if "+essentials" in self.spec:
+ selected.append("Essentials")
- if '+extras' in self.spec:
- selected.append('Essentials')
- selected.append('Extras')
+ if "+extras" in self.spec:
+ selected.append("Essentials")
+ selected.append("Extras")
- if '+rendering' in self.spec:
- selected.append('Essentials')
- selected.append('Extras')
- selected.append('Rendering-Base')
+ if "+rendering" in self.spec:
+ selected.append("Essentials")
+ selected.append("Extras")
+ selected.append("Rendering-Base")
return selected
@@ -137,31 +139,34 @@ class Catalyst(CMakePackage):
super(Catalyst, self).do_stage(mirror_only)
# extract the catalyst part
- catalyst_script = os.path.join(self.stage.source_path, 'Catalyst',
- 'catalyze.py')
- editions_dir = os.path.join(self.stage.source_path, 'Catalyst',
- 'Editions')
+ catalyst_script = os.path.join(self.stage.source_path, "Catalyst", "catalyze.py")
+ editions_dir = os.path.join(self.stage.source_path, "Catalyst", "Editions")
catalyst_source_dir = os.path.abspath(self.root_cmakelists_dir)
- python_path = (os.path.realpath(
- self.spec['python'].command.path
- if ('+python3' in self.spec or '+python' in self.spec)
- else sys.executable))
-
- command = [python_path, catalyst_script,
- '-r', self.stage.source_path,
- '-o', catalyst_source_dir]
+ python_path = os.path.realpath(
+ self.spec["python"].command.path
+ if ("+python3" in self.spec or "+python" in self.spec)
+ else sys.executable
+ )
+
+ command = [
+ python_path,
+ catalyst_script,
+ "-r",
+ self.stage.source_path,
+ "-o",
+ catalyst_source_dir,
+ ]
for edition in self.editions:
- command.extend(['-i', os.path.join(editions_dir, edition)])
+ command.extend(["-i", os.path.join(editions_dir, edition)])
if not os.path.isdir(catalyst_source_dir):
os.mkdir(catalyst_source_dir)
subprocess.check_call(command)
tty.msg("Generated catalyst source in %s" % self.stage.source_path)
else:
- tty.msg("Already generated %s in %s" % (self.name,
- self.stage.source_path))
+ tty.msg("Already generated %s in %s" % (self.name, self.stage.source_path))
def setup_run_environment(self, env):
# paraview 5.5 and later
@@ -173,20 +178,21 @@ class Catalyst(CMakePackage):
else:
lib_dir = self.prefix.lib
- if self.spec.version <= Version('5.4.1'):
+ if self.spec.version <= Version("5.4.1"):
lib_dir = join_path(lib_dir, paraview_subdir)
- env.set('ParaView_DIR', self.prefix)
- env.prepend_path('LIBRARY_PATH', lib_dir)
- env.prepend_path('LD_LIBRARY_PATH', lib_dir)
+ env.set("ParaView_DIR", self.prefix)
+ env.prepend_path("LIBRARY_PATH", lib_dir)
+ env.prepend_path("LD_LIBRARY_PATH", lib_dir)
- if '+python' in self.spec or '+python3' in self.spec:
- python_version = self.spec['python'].version.up_to(2)
- env.prepend_path('PYTHONPATH', join_path(lib_dir,
- 'python{0}'.format(python_version),
- 'site-packages'))
+ if "+python" in self.spec or "+python3" in self.spec:
+ python_version = self.spec["python"].version.up_to(2)
+ env.prepend_path(
+ "PYTHONPATH",
+ join_path(lib_dir, "python{0}".format(python_version), "site-packages"),
+ )
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('ParaView_DIR', self.prefix)
+ env.set("ParaView_DIR", self.prefix)
@property
def root_cmakelists_dir(self):
@@ -197,8 +203,7 @@ class Catalyst(CMakePackage):
:return: directory containing CMakeLists.txt
"""
- return os.path.join(self.stage.source_path,
- 'Catalyst-v' + str(self.version))
+ return os.path.join(self.stage.source_path, "Catalyst-v" + str(self.version))
@property
def build_directory(self):
@@ -206,14 +211,13 @@ class Catalyst(CMakePackage):
:return: directory where to build the package
"""
- return join_path(os.path.abspath(self.root_cmakelists_dir),
- 'spack-build')
+ return join_path(os.path.abspath(self.root_cmakelists_dir), "spack-build")
def cmake_args(self):
"""Populate cmake arguments for Catalyst."""
spec = self.spec
- def variant_bool(feature, on='ON', off='OFF'):
+ def variant_bool(feature, on="ON", off="OFF"):
"""Ternary for spec variant to ON/OFF string"""
if feature in spec:
return on
@@ -221,37 +225,38 @@ class Catalyst(CMakePackage):
def nvariant_bool(feature):
"""Negated ternary for spec variant to OFF/ON string"""
- return variant_bool(feature, on='OFF', off='ON')
+ return variant_bool(feature, on="OFF", off="ON")
cmake_args = [
- '-DPARAVIEW_GIT_DESCRIBE=v%s' % str(self.version),
- '-DVTK_USE_SYSTEM_EXPAT:BOOL=ON',
- '-DVTK_USE_X:BOOL=%s' % nvariant_bool('+osmesa'),
- '-DVTK_USE_OFFSCREEN:BOOL=%s' % variant_bool('+osmesa'),
- '-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' % variant_bool('+osmesa'),
+ "-DPARAVIEW_GIT_DESCRIBE=v%s" % str(self.version),
+ "-DVTK_USE_SYSTEM_EXPAT:BOOL=ON",
+ "-DVTK_USE_X:BOOL=%s" % nvariant_bool("+osmesa"),
+ "-DVTK_USE_OFFSCREEN:BOOL=%s" % variant_bool("+osmesa"),
+ "-DVTK_OPENGL_HAS_OSMESA:BOOL=%s" % variant_bool("+osmesa"),
]
- if '+python' in spec or '+python3' in spec:
- cmake_args.extend([
- '-DPARAVIEW_ENABLE_PYTHON:BOOL=ON',
- '-DPYTHON_EXECUTABLE:FILEPATH=%s' %
- spec['python'].command.path,
- '-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON'
- ])
+ if "+python" in spec or "+python3" in spec:
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_ENABLE_PYTHON:BOOL=ON",
+ "-DPYTHON_EXECUTABLE:FILEPATH=%s" % spec["python"].command.path,
+ "-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON",
+ ]
+ )
else:
- cmake_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF')
+ cmake_args.append("-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF")
- if spec.platform == 'linux' and spec.target.family == 'aarch64':
- cmake_args.append('-DCMAKE_CXX_FLAGS=-DPNG_ARM_NEON_OPT=0')
- cmake_args.append('-DCMAKE_C_FLAGS=-DPNG_ARM_NEON_OPT=0')
+ if spec.platform == "linux" and spec.target.family == "aarch64":
+ cmake_args.append("-DCMAKE_CXX_FLAGS=-DPNG_ARM_NEON_OPT=0")
+ cmake_args.append("-DCMAKE_C_FLAGS=-DPNG_ARM_NEON_OPT=0")
return cmake_args
def cmake(self, spec, prefix):
"""Runs ``cmake`` in the build directory through the cmake.sh script"""
- cmake_script_path = os.path.join(
- os.path.abspath(self.root_cmakelists_dir),
- 'cmake.sh')
+ cmake_script_path = os.path.join(os.path.abspath(self.root_cmakelists_dir), "cmake.sh")
with working_dir(self.build_directory, create=True):
- subprocess.check_call([cmake_script_path,
- os.path.abspath(self.root_cmakelists_dir)] +
- self.cmake_args() + self.std_cmake_args)
+ subprocess.check_call(
+ [cmake_script_path, os.path.abspath(self.root_cmakelists_dir)]
+ + self.cmake_args()
+ + self.std_cmake_args
+ )
diff --git a/var/spack/repos/builtin/packages/catch2/package.py b/var/spack/repos/builtin/packages/catch2/package.py
index fa667056ae..cfb87a1c1d 100644
--- a/var/spack/repos/builtin/packages/catch2/package.py
+++ b/var/spack/repos/builtin/packages/catch2/package.py
@@ -11,108 +11,111 @@ class Catch2(CMakePackage):
supports Objective-C (and maybe C)."""
homepage = "https://github.com/catchorg/Catch2"
- url = "https://github.com/catchorg/Catch2/archive/v2.9.1.tar.gz"
- git = "https://github.com/catchorg/Catch2.git"
+ url = "https://github.com/catchorg/Catch2/archive/v2.9.1.tar.gz"
+ git = "https://github.com/catchorg/Catch2.git"
maintainers = ["ax3l", "AndrewGaspar"]
# In-Development
- version('develop', branch='devel')
+ version("develop", branch="devel")
# Releases
- version('3.0.1', sha256='8c4173c68ae7da1b5b505194a0c2d6f1b2aef4ec1e3e7463bde451f26bbaf4e7')
- version('3.0.0-preview4', sha256='2458d47d923b65ab611656cb7669d1810bcc4faa62e4c054a7405b1914cd4aee')
- version('3.0.0-preview3', sha256='06a4f903858f21c553e988f8b76c9c6915d1f95f95512d6a58c421e02a2c4975')
- version('2.13.8', sha256='b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a')
- version('2.13.7', sha256='3cdb4138a072e4c0290034fe22d9f0a80d3bcfb8d7a8a5c49ad75d3a5da24fae')
- version('2.13.6', sha256='48dfbb77b9193653e4e72df9633d2e0383b9b625a47060759668480fdf24fbd4')
- version('2.13.5', sha256='7fee7d643599d10680bfd482799709f14ed282a8b7db82f54ec75ec9af32fa76')
- version('2.13.4', sha256='e7eb70b3d0ac2ed7dcf14563ad808740c29e628edde99e973adad373a2b5e4df')
- version('2.13.3', sha256='fedc5b008f7eb574f45098e7c7138211c543f0f8ad04792090e790511697a877')
- version('2.13.2', sha256='5e39d9199f4f174dc3c8896fb4cf0a2ce9b9c358ae759b87fade6d615ca2d27e')
- version('2.13.1', sha256='36bcc9e6190923961be11e589d747e606515de95f10779e29853cfeae560bd6c')
- version('2.13.0', sha256='4e6608d3fb0247e2aa988735bae2064381b0ec712f47beb766dd761838a546b6')
- version('2.12.4', sha256='5436725bbc6ee131a0bc9545bef31f0adabbb21fbc39fb6f1b2a42c12e4f8107')
- version('2.12.3', sha256='78425e7055cea5bad1ff8db7ea0d6dfc0722ece156be1ccf3597c15e674e6943')
- version('2.12.1', sha256='e5635c082282ea518a8dd7ee89796c8026af8ea9068cd7402fb1615deacd91c3')
- version('2.12.0', sha256='6606b754363d3a4521bfecf717dc1972c50dca282bd428dfb1370ec8b9c26918')
- version('2.11.3', sha256='9a6967138062688f04374698fce4ce65908f907d8c0fe5dfe8dc33126bd46543')
- version('2.11.2', sha256='a96203fa531092375678ad2d81c43317ee58c684787f24b2a55748f6c6839799')
- version('2.11.1', sha256='9af06ca5b10362620c6c9c729821367e1aeb0f76adfc7bc3a468da83db3c50c6')
- version('2.11.0', sha256='b9957af46a04327d80833960ae51cf5e67765fd264389bd1e275294907f1a3e0')
- version('2.10.2', sha256='79aa46ee6c5a87bc5306bfffc6ecde6a1ad6327715b208ee2e846873f282a494')
- version('2.10.1', sha256='dcbbe0a5f4d2a4330bdf5bcb9ef6a02303d679d46596e4ed06ca462f2372d4de')
- version('2.10.0', sha256='a3beaa8ba6238c189e1f81238ab38e585836af13204a7099e22eff6c25b98558')
- version('2.9.2', sha256='54bea6d80a388a80f895cd0e2343fca72b0d9093a776af40904aefce49c13bda')
- version('2.9.1', sha256='0b36488aca6265e7be14da2c2d0c748b4ddb9c70a1ea4da75736699c629f14ac')
- version('2.9.0', sha256='00040cad9b6d6bb817ebd5853ff6dda23f9957153d8c4eedf85def0c9e787c42')
- version('2.8.0', sha256='b567c37446cd22c8550bfeb7e2fe3f981b8f3ab8b2148499a522e7f61b8a481d')
- version('2.7.2', sha256='9f4116da13d8402b5145f95ab91ae0173cd27b804152d3bb2d4f9b6e64852af7')
- version('2.7.1', sha256='04b303517284572c277597004a33c3f8c02a4d12ba73d5a4cb73b4a369dfef0b')
- version('2.7.0', sha256='d4655e87c0ccda5a2e78bf4256fce8036feb969399503dcc8272f4c90347d9c0')
- version('2.6.1', sha256='b57c2d3362102a77955d3cd0181b792c496520349bfefee8379b9d35b8819f80')
- version('2.6.0', sha256='4c94a685557328eb1b0ed1017ca37c3a378742dc03b558cf02267b6ba8579577')
- version('2.5.0', sha256='720c84d18f4dc9eb23379941df2054e7bcd5ff9c215e4d620f8533a130d128ae')
- version('2.4.2', sha256='9f3caf00749f9aa378d40db5a04019c684419457fd56cee625714de1bff45a92')
- version('2.4.1', sha256='e1b559d77bd857cb0f773e3e826ac1d7e016cf14057fd14b9e99ec3b2c6b809f')
- version('2.4.0', sha256='ab176de36b886a33aa745fcf34642eac853bf677bda518a88655dc750c72d756')
- version('2.3.0', sha256='aaf6bbf81ce8522131bae2ea4d013a77b003bbb2017614f5872d5787687f8f5f')
+ version("3.0.1", sha256="8c4173c68ae7da1b5b505194a0c2d6f1b2aef4ec1e3e7463bde451f26bbaf4e7")
+ version(
+ "3.0.0-preview4", sha256="2458d47d923b65ab611656cb7669d1810bcc4faa62e4c054a7405b1914cd4aee"
+ )
+ version(
+ "3.0.0-preview3", sha256="06a4f903858f21c553e988f8b76c9c6915d1f95f95512d6a58c421e02a2c4975"
+ )
+ version("2.13.8", sha256="b9b592bd743c09f13ee4bf35fc30eeee2748963184f6bea836b146e6cc2a585a")
+ version("2.13.7", sha256="3cdb4138a072e4c0290034fe22d9f0a80d3bcfb8d7a8a5c49ad75d3a5da24fae")
+ version("2.13.6", sha256="48dfbb77b9193653e4e72df9633d2e0383b9b625a47060759668480fdf24fbd4")
+ version("2.13.5", sha256="7fee7d643599d10680bfd482799709f14ed282a8b7db82f54ec75ec9af32fa76")
+ version("2.13.4", sha256="e7eb70b3d0ac2ed7dcf14563ad808740c29e628edde99e973adad373a2b5e4df")
+ version("2.13.3", sha256="fedc5b008f7eb574f45098e7c7138211c543f0f8ad04792090e790511697a877")
+ version("2.13.2", sha256="5e39d9199f4f174dc3c8896fb4cf0a2ce9b9c358ae759b87fade6d615ca2d27e")
+ version("2.13.1", sha256="36bcc9e6190923961be11e589d747e606515de95f10779e29853cfeae560bd6c")
+ version("2.13.0", sha256="4e6608d3fb0247e2aa988735bae2064381b0ec712f47beb766dd761838a546b6")
+ version("2.12.4", sha256="5436725bbc6ee131a0bc9545bef31f0adabbb21fbc39fb6f1b2a42c12e4f8107")
+ version("2.12.3", sha256="78425e7055cea5bad1ff8db7ea0d6dfc0722ece156be1ccf3597c15e674e6943")
+ version("2.12.1", sha256="e5635c082282ea518a8dd7ee89796c8026af8ea9068cd7402fb1615deacd91c3")
+ version("2.12.0", sha256="6606b754363d3a4521bfecf717dc1972c50dca282bd428dfb1370ec8b9c26918")
+ version("2.11.3", sha256="9a6967138062688f04374698fce4ce65908f907d8c0fe5dfe8dc33126bd46543")
+ version("2.11.2", sha256="a96203fa531092375678ad2d81c43317ee58c684787f24b2a55748f6c6839799")
+ version("2.11.1", sha256="9af06ca5b10362620c6c9c729821367e1aeb0f76adfc7bc3a468da83db3c50c6")
+ version("2.11.0", sha256="b9957af46a04327d80833960ae51cf5e67765fd264389bd1e275294907f1a3e0")
+ version("2.10.2", sha256="79aa46ee6c5a87bc5306bfffc6ecde6a1ad6327715b208ee2e846873f282a494")
+ version("2.10.1", sha256="dcbbe0a5f4d2a4330bdf5bcb9ef6a02303d679d46596e4ed06ca462f2372d4de")
+ version("2.10.0", sha256="a3beaa8ba6238c189e1f81238ab38e585836af13204a7099e22eff6c25b98558")
+ version("2.9.2", sha256="54bea6d80a388a80f895cd0e2343fca72b0d9093a776af40904aefce49c13bda")
+ version("2.9.1", sha256="0b36488aca6265e7be14da2c2d0c748b4ddb9c70a1ea4da75736699c629f14ac")
+ version("2.9.0", sha256="00040cad9b6d6bb817ebd5853ff6dda23f9957153d8c4eedf85def0c9e787c42")
+ version("2.8.0", sha256="b567c37446cd22c8550bfeb7e2fe3f981b8f3ab8b2148499a522e7f61b8a481d")
+ version("2.7.2", sha256="9f4116da13d8402b5145f95ab91ae0173cd27b804152d3bb2d4f9b6e64852af7")
+ version("2.7.1", sha256="04b303517284572c277597004a33c3f8c02a4d12ba73d5a4cb73b4a369dfef0b")
+ version("2.7.0", sha256="d4655e87c0ccda5a2e78bf4256fce8036feb969399503dcc8272f4c90347d9c0")
+ version("2.6.1", sha256="b57c2d3362102a77955d3cd0181b792c496520349bfefee8379b9d35b8819f80")
+ version("2.6.0", sha256="4c94a685557328eb1b0ed1017ca37c3a378742dc03b558cf02267b6ba8579577")
+ version("2.5.0", sha256="720c84d18f4dc9eb23379941df2054e7bcd5ff9c215e4d620f8533a130d128ae")
+ version("2.4.2", sha256="9f3caf00749f9aa378d40db5a04019c684419457fd56cee625714de1bff45a92")
+ version("2.4.1", sha256="e1b559d77bd857cb0f773e3e826ac1d7e016cf14057fd14b9e99ec3b2c6b809f")
+ version("2.4.0", sha256="ab176de36b886a33aa745fcf34642eac853bf677bda518a88655dc750c72d756")
+ version("2.3.0", sha256="aaf6bbf81ce8522131bae2ea4d013a77b003bbb2017614f5872d5787687f8f5f")
# releases 2.3.0+ changed to "catch2/catch.hpp" header
- version('2.2.3', sha256='45e5e12cc5a98e098b0960d70c0d99b7168b711e85fb947dcd4d68ec3f8b8826')
- version('2.2.2', sha256='e93aacf012579093fe6b4e686ff0488975cabee1e6b4e4f27a0acd898e8f09fd')
- version('2.2.1', sha256='3938bc896f8de570bc56d25606fc128437ee53590a95cf3e005710176a1a1ce4')
+ version("2.2.3", sha256="45e5e12cc5a98e098b0960d70c0d99b7168b711e85fb947dcd4d68ec3f8b8826")
+ version("2.2.2", sha256="e93aacf012579093fe6b4e686ff0488975cabee1e6b4e4f27a0acd898e8f09fd")
+ version("2.2.1", sha256="3938bc896f8de570bc56d25606fc128437ee53590a95cf3e005710176a1a1ce4")
# releases 2.1.2+ added a CMake config package
- version('2.1.0', sha256='a8f9805174916c23bf59ed45f72c21ce092e2848c139f4c6d396aeeb5ce2dfb3')
- version('2.0.1', sha256='5f31b93712e65d363f257ad0f0c02cfbed7a3988979d5f320ad7771e513d4cc8')
+ version("2.1.0", sha256="a8f9805174916c23bf59ed45f72c21ce092e2848c139f4c6d396aeeb5ce2dfb3")
+ version("2.0.1", sha256="5f31b93712e65d363f257ad0f0c02cfbed7a3988979d5f320ad7771e513d4cc8")
# releases 2.0.1+ added a pkg-config package
- version('1.12.1', sha256='9a0b4722a9864fa0728241ecca2e4c1b3de8e60a5d6fe3f92dec7b8bbfbc850d')
- version('1.12.0', sha256='adab7275bddcd8b5ba28478db513371137188beef5ef40489edb1c34fe2bf421')
- version('1.11.0', sha256='b6f30b548aa15e42d299f3fdb15f69df4777c1b20ca24d8d7dee552d76870eff')
- version('1.10.0', sha256='6e5e686c9e83ff92d622dd04281e9893957a812cfc97d2d1028a988e4bc6a31e')
- version('1.9.7', sha256='175245fba4e76dca8528289c0ae23690c2270bd0fde51b8b145a5576cf70e785')
- version('1.9.6', sha256='5dc4b9b38d8755173987bb47af29491656e413b64eb06e1a03cfb9c26bae0a0e')
- version('1.9.5', sha256='6531b3817066ea8ab96e7a7fbda7e68a43134e6e62fdc5d8c394a451d54b1b9b')
- version('1.9.4', sha256='d40a17198b0c45c1f8164e3af71a2ce759e71d08772c9066b36ccd7781fb5e64')
- version('1.9.3', sha256='2e3a48781d7e57cb7afdfc3c189c8a05d99ebb7f62cc8813b63c9b75cd6045dc')
- version('1.9.2', sha256='b42070df2ff568bb407d327c431cfbc19a40bd06a19228956772dc32e8c9eb45')
- version('1.9.1', sha256='d3fd58730471969b46ed234f5995927cf4324b33474c3746bf17ad3cbc40132d')
- version('1.9.0', sha256='acf3d9c864e06866f9993c71017d672fa7b951347402155b365e58e117ec9c2c')
- version('1.8.2', sha256='85e7acf9df4763e7df3e832df393eaf52b52a1d0bfc4ab751566e3bdbe616642')
- version('1.8.1', sha256='12fd706b63251f8fae1c32013815de33decec4e63a4a8f99af0af1fe0690c53d')
- version('1.8.0', sha256='713d6a6d98f7402bcc2d10a00121a37aec284e6b34b34121d2a09fc1c838e5bc')
- version('1.7.2', sha256='4aeca774db0ebbea0f86548e1c742fbc4c67c8cf0da550fbfe3e55efa1cc2178')
- version('1.7.1', sha256='46b289866f9b44c850cc1e48d0ead479494fd8ef0cdb9eda88b1dfd5b990556a')
- version('1.7.0', sha256='55ff8904d1215aadaa003ae50e1ad82747c655004b43bf30c656cb20e1c89050')
+ version("1.12.1", sha256="9a0b4722a9864fa0728241ecca2e4c1b3de8e60a5d6fe3f92dec7b8bbfbc850d")
+ version("1.12.0", sha256="adab7275bddcd8b5ba28478db513371137188beef5ef40489edb1c34fe2bf421")
+ version("1.11.0", sha256="b6f30b548aa15e42d299f3fdb15f69df4777c1b20ca24d8d7dee552d76870eff")
+ version("1.10.0", sha256="6e5e686c9e83ff92d622dd04281e9893957a812cfc97d2d1028a988e4bc6a31e")
+ version("1.9.7", sha256="175245fba4e76dca8528289c0ae23690c2270bd0fde51b8b145a5576cf70e785")
+ version("1.9.6", sha256="5dc4b9b38d8755173987bb47af29491656e413b64eb06e1a03cfb9c26bae0a0e")
+ version("1.9.5", sha256="6531b3817066ea8ab96e7a7fbda7e68a43134e6e62fdc5d8c394a451d54b1b9b")
+ version("1.9.4", sha256="d40a17198b0c45c1f8164e3af71a2ce759e71d08772c9066b36ccd7781fb5e64")
+ version("1.9.3", sha256="2e3a48781d7e57cb7afdfc3c189c8a05d99ebb7f62cc8813b63c9b75cd6045dc")
+ version("1.9.2", sha256="b42070df2ff568bb407d327c431cfbc19a40bd06a19228956772dc32e8c9eb45")
+ version("1.9.1", sha256="d3fd58730471969b46ed234f5995927cf4324b33474c3746bf17ad3cbc40132d")
+ version("1.9.0", sha256="acf3d9c864e06866f9993c71017d672fa7b951347402155b365e58e117ec9c2c")
+ version("1.8.2", sha256="85e7acf9df4763e7df3e832df393eaf52b52a1d0bfc4ab751566e3bdbe616642")
+ version("1.8.1", sha256="12fd706b63251f8fae1c32013815de33decec4e63a4a8f99af0af1fe0690c53d")
+ version("1.8.0", sha256="713d6a6d98f7402bcc2d10a00121a37aec284e6b34b34121d2a09fc1c838e5bc")
+ version("1.7.2", sha256="4aeca774db0ebbea0f86548e1c742fbc4c67c8cf0da550fbfe3e55efa1cc2178")
+ version("1.7.1", sha256="46b289866f9b44c850cc1e48d0ead479494fd8ef0cdb9eda88b1dfd5b990556a")
+ version("1.7.0", sha256="55ff8904d1215aadaa003ae50e1ad82747c655004b43bf30c656cb20e1c89050")
# releases 1.7.0+ added "make install"
- version('1.6.1', sha256='83ad2744529b3b507eee188dba23baf6b5c038fccbbe4b3256172c04420292e4')
- version('1.6.0', sha256='9a7aed27cc58eee0e694135503dcc7fc99c7ec254416cff44fe10166a5f1f68c')
- version('1.5.9', sha256='0ba04d0eefcf5a1d4c9e9e79f051f1f93de704ea4429a247f69ec76c2c6647cd')
- version('1.5.0', sha256='bbf0ce7f72a1a8892956bc4caba9ead930b8662d908baa0b2e2ec6b164307d22')
- version('1.4.0', sha256='57512b298ca3e2ff44e87c17c926d5f9edf29e13549480e912fddfab5ba63b74')
- version('1.3.5', sha256='f15730d81b4173fb860ce3561768de7d41bbefb67dc031d7d1f5ae2c07f0a472')
- version('1.3.0', sha256='245f6ee73e2fea66311afa1da59e5087ddab8b37ce64994ad88506e8af28c6ac')
+ version("1.6.1", sha256="83ad2744529b3b507eee188dba23baf6b5c038fccbbe4b3256172c04420292e4")
+ version("1.6.0", sha256="9a7aed27cc58eee0e694135503dcc7fc99c7ec254416cff44fe10166a5f1f68c")
+ version("1.5.9", sha256="0ba04d0eefcf5a1d4c9e9e79f051f1f93de704ea4429a247f69ec76c2c6647cd")
+ version("1.5.0", sha256="bbf0ce7f72a1a8892956bc4caba9ead930b8662d908baa0b2e2ec6b164307d22")
+ version("1.4.0", sha256="57512b298ca3e2ff44e87c17c926d5f9edf29e13549480e912fddfab5ba63b74")
+ version("1.3.5", sha256="f15730d81b4173fb860ce3561768de7d41bbefb67dc031d7d1f5ae2c07f0a472")
+ version("1.3.0", sha256="245f6ee73e2fea66311afa1da59e5087ddab8b37ce64994ad88506e8af28c6ac")
def cmake_args(self):
spec = self.spec
args = []
# 1.7.0-1.9.3: no control over test builds
- if spec.satisfies('@1.9.4:2.1.0'):
- args.append('-DNO_SELFTEST={0}'.format(
- 'OFF' if self.run_tests else 'ON'))
- elif spec.satisfies('@2.1.1:'):
- args.append(self.define('BUILD_TESTING', self.run_tests))
+ if spec.satisfies("@1.9.4:2.1.0"):
+ args.append("-DNO_SELFTEST={0}".format("OFF" if self.run_tests else "ON"))
+ elif spec.satisfies("@2.1.1:"):
+ args.append(self.define("BUILD_TESTING", self.run_tests))
return args
- @when('@:1.6')
+ @when("@:1.6")
def cmake(self, spec, prefix):
pass
- @when('@:1.6')
+ @when("@:1.6")
def build(self, spec, prefix):
pass
- @when('@:1.6')
+ @when("@:1.6")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install(join_path('single_include', 'catch.hpp'), prefix.include)
+ install(join_path("single_include", "catch.hpp"), prefix.include)
# fakes out spack so it installs a module file
- mkdirp(join_path(prefix, 'bin'))
+ mkdirp(join_path(prefix, "bin"))
diff --git a/var/spack/repos/builtin/packages/cbc/package.py b/var/spack/repos/builtin/packages/cbc/package.py
index ec8081e7c7..6d9e84e10b 100644
--- a/var/spack/repos/builtin/packages/cbc/package.py
+++ b/var/spack/repos/builtin/packages/cbc/package.py
@@ -12,12 +12,12 @@ class Cbc(AutotoolsPackage):
callable library or using a stand-alone executable."""
homepage = "https://projects.coin-or.org/Cbc"
- url = "https://github.com/coin-or/Cbc/archive/releases/2.10.5.tar.gz"
+ url = "https://github.com/coin-or/Cbc/archive/releases/2.10.5.tar.gz"
- depends_on('coinutils')
- depends_on('osi')
- depends_on('cgl')
+ depends_on("coinutils")
+ depends_on("osi")
+ depends_on("cgl")
- version('2.10.5', sha256='cc44c1950ff4615e7791d7e03ea34318ca001d3cac6dc3f7f5ee392459ce6719')
+ version("2.10.5", sha256="cc44c1950ff4615e7791d7e03ea34318ca001d3cac6dc3f7f5ee392459ce6719")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/cbench/package.py b/var/spack/repos/builtin/packages/cbench/package.py
index 6400429577..fd8aebe000 100644
--- a/var/spack/repos/builtin/packages/cbench/package.py
+++ b/var/spack/repos/builtin/packages/cbench/package.py
@@ -13,62 +13,62 @@ class Cbench(MakefilePackage):
of a Linux parallel compute cluster."""
homepage = "https://sourceforge.net/projects/cbench/"
- url = "https://sourceforge.net/projects/cbench/files/cbench/1.3.0/cbench_release_1.3.0.tar.gz/download"
+ url = "https://sourceforge.net/projects/cbench/files/cbench/1.3.0/cbench_release_1.3.0.tar.gz/download"
list_url = "https://sourceforge.net/projects/cbench/files/cbench/"
list_depth = 1
- version('1.3.0', sha256='b40fdafd14869b86819e5906a107b0735290a1e58bae229d8166514a72f58732')
+ version("1.3.0", sha256="b40fdafd14869b86819e5906a107b0735290a1e58bae229d8166514a72f58732")
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw")
# The following compilers are not supported by Cbench:
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%nag')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%nag")
+ conflicts("%xl")
+ conflicts("%xl_r")
def setup_build_environment(self, env):
# The location of the Cbench source tree
- env.set('CBENCHOME', self.stage.source_path)
+ env.set("CBENCHOME", self.stage.source_path)
# The location that will contain all of your tests and their results
- env.set('CBENCHTEST', self.prefix)
+ env.set("CBENCHTEST", self.prefix)
# The location of the system MPI tree
- env.set('MPIHOME', self.spec['mpi'].prefix)
+ env.set("MPIHOME", self.spec["mpi"].prefix)
# Pick the compiler collection/chain you want to compile with.
# Examples include: intel, gcc, pgi.
- env.set('COMPILERCOLLECTION', self.compiler.name)
+ env.set("COMPILERCOLLECTION", self.compiler.name)
# Linking flags for BLAS/LAPACK and FFTW
- env.set('BLASLIB', self.spec['blas'].libs.ld_flags)
- env.set('LAPACKLIB', self.spec['lapack'].libs.ld_flags)
- env.set('FFTWLIB', self.spec['fftw'].libs.ld_flags)
+ env.set("BLASLIB", self.spec["blas"].libs.ld_flags)
+ env.set("LAPACKLIB", self.spec["lapack"].libs.ld_flags)
+ env.set("FFTWLIB", self.spec["fftw"].libs.ld_flags)
# The number of make jobs (commands) to run simultaneously
- env.set('JOBS', str(make_jobs))
+ env.set("JOBS", str(make_jobs))
- @run_before('build')
+ @run_before("build")
@on_package_attributes(run_tests=True)
def test_blas_linkage(self):
"""Quick test to ensure that BLAS linkage is working correctly."""
- make('-C', 'opensource/maketests', 'clean')
- make('-C', 'opensource/maketests', 'dummy_blas')
- make('-C', 'opensource/maketests', 'linkstatus')
+ make("-C", "opensource/maketests", "clean")
+ make("-C", "opensource/maketests", "dummy_blas")
+ make("-C", "opensource/maketests", "linkstatus")
def install(self, spec, prefix):
# Install binaries in $CBENCHOME/bin
- make('install')
+ make("install")
# This creates a testing tree (if one doesn't already exist) and
# copies the binaries from `$CBENCHOME/bin` to `$CBENCHTEST/bin`.
# This allows you to use the testing tree independently of the
# source tree in the future.
- make('installtests')
+ make("installtests")
diff --git a/var/spack/repos/builtin/packages/cbflib/package.py b/var/spack/repos/builtin/packages/cbflib/package.py
index c874ee6af9..785c048086 100644
--- a/var/spack/repos/builtin/packages/cbflib/package.py
+++ b/var/spack/repos/builtin/packages/cbflib/package.py
@@ -14,31 +14,38 @@ class Cbflib(MakefilePackage):
Image-supporting CIF (imgCIF) files."""
homepage = "http://www.bernstein-plus-sons.com/software/CBF/"
- url = "https://downloads.sourceforge.net/project/cbflib/cbflib/CBFlib_0.9.2/CBFlib-0.9.2.tar.gz"
+ url = (
+ "https://downloads.sourceforge.net/project/cbflib/cbflib/CBFlib_0.9.2/CBFlib-0.9.2.tar.gz"
+ )
- version('0.9.2', sha256='367e37e1908a65d5472e921150291332823a751206804866e752b793bca17afc')
+ version("0.9.2", sha256="367e37e1908a65d5472e921150291332823a751206804866e752b793bca17afc")
- depends_on('m4', type='build')
+ depends_on("m4", type="build")
- patch('cbf_f16.patch')
- patch('cbf_int.patch')
+ patch("cbf_f16.patch")
+ patch("cbf_int.patch")
def setup_build_environment(self, env):
ce = Executable(self.compiler.cc)
- ce('-E', join_path(os.path.dirname(__file__), "checkint.c"),
- output=str, error=str, fail_on_error=False)
+ ce(
+ "-E",
+ join_path(os.path.dirname(__file__), "checkint.c"),
+ output=str,
+ error=str,
+ fail_on_error=False,
+ )
if ce.returncode != 0:
- env.set('CBF_DONT_USE_LONG_LONG', '1')
+ env.set("CBF_DONT_USE_LONG_LONG", "1")
def edit(self, spec, prefix):
- mf = FileFilter('Makefile')
- mf.filter(r'^CC.+', "CC = {0}".format(spack_cc))
- mf.filter(r'^C\+\+.+', "C++ = {0}".format(spack_cxx))
- mf.filter('gfortran', spack_fc)
- mf.filter(r'^INSTALLDIR .+', "INSTALLDIR = {0}".format(prefix))
+ mf = FileFilter("Makefile")
+ mf.filter(r"^CC.+", "CC = {0}".format(spack_cc))
+ mf.filter(r"^C\+\+.+", "C++ = {0}".format(spack_cxx))
+ mf.filter("gfortran", spack_fc)
+ mf.filter(r"^INSTALLDIR .+", "INSTALLDIR = {0}".format(prefix))
def build(self, spec, prefix):
pass
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/cblas/package.py b/var/spack/repos/builtin/packages/cblas/package.py
index 58eb96da92..7741745573 100644
--- a/var/spack/repos/builtin/packages/cblas/package.py
+++ b/var/spack/repos/builtin/packages/cblas/package.py
@@ -8,32 +8,34 @@ from spack.package import *
class Cblas(Package):
"""The BLAS (Basic Linear Algebra Subprograms) are routines that
- provide standard building blocks for performing basic vector and
- matrix operations."""
+ provide standard building blocks for performing basic vector and
+ matrix operations."""
homepage = "http://www.netlib.org/blas/#_cblas"
# tarball has no version, but on the date below, this MD5 was correct.
- version('2015-06-06', sha256='0f6354fd67fabd909baf57ced2ef84e962db58fae126e4f41b21dd4fec60a2a3',
- url='https://www.netlib.org/blas/blast-forum/cblas.tgz')
+ version(
+ "2015-06-06",
+ sha256="0f6354fd67fabd909baf57ced2ef84e962db58fae126e4f41b21dd4fec60a2a3",
+ url="https://www.netlib.org/blas/blast-forum/cblas.tgz",
+ )
- depends_on('blas')
+ depends_on("blas")
parallel = False
def patch(self):
- mf = FileFilter('Makefile.in')
+ mf = FileFilter("Makefile.in")
- mf.filter('^BLLIB =.*', 'BLLIB = {0}'.format(
- ' '.join(self.spec['blas'].libs.libraries)))
- mf.filter('^CC =.*', 'CC = cc')
- mf.filter('^FC =.*', 'FC = fc')
+ mf.filter("^BLLIB =.*", "BLLIB = {0}".format(" ".join(self.spec["blas"].libs.libraries)))
+ mf.filter("^CC =.*", "CC = cc")
+ mf.filter("^FC =.*", "FC = fc")
def install(self, spec, prefix):
- make('all')
+ make("all")
mkdirp(prefix.lib)
mkdirp(prefix.include)
# Rename the generated lib file to libcblas.a
- install('lib/cblas_LINUX.a', prefix.lib.join('libcblas.a'))
- install('include/cblas.h', prefix.include)
- install('include/cblas_f77.h', prefix.include)
+ install("lib/cblas_LINUX.a", prefix.lib.join("libcblas.a"))
+ install("include/cblas.h", prefix.include)
+ install("include/cblas_f77.h", prefix.include)
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 73437aad48..44c05f350d 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py
@@ -11,17 +11,18 @@ from spack.pkg.builtin.boost import Boost
class CbtfArgonavisGui(QMakePackage):
"""CBTF Argo Navis GUI project contains the GUI that views OpenSpeedShop
- performance information by loading in the Sqlite database files.
+ performance information by loading in the Sqlite database files.
"""
+
homepage = "https://sourceforge.net/p/cbtf/wiki/Home/"
- git = "https://github.com/OpenSpeedShop/cbtf-argonavis-gui.git"
+ git = "https://github.com/OpenSpeedShop/cbtf-argonavis-gui.git"
- version('develop', branch='master')
- version('1.3.0.0', branch='1.3.0.0')
+ version("develop", branch="master")
+ version("1.3.0.0", branch="1.3.0.0")
- depends_on("cmake@3.0.2:", type='build')
+ depends_on("cmake@3.0.2:", type="build")
- depends_on('qt@5.10.0:')
+ depends_on("qt@5.10.0:")
depends_on("boost@1.66.0:1.69.0")
@@ -31,29 +32,29 @@ class CbtfArgonavisGui(QMakePackage):
depends_on(Boost.with_default_variants)
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.3.0.0:9999')
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop")
+ depends_on("mrnet@5.0.1-3+lwthreads", when="@1.3.0.0:9999")
# Dependencies for the openspeedshop cbtf packages.
- depends_on("cbtf@develop", when='@develop')
- depends_on("cbtf@1.9.3:9999", when='@1.3.0.0:9999')
+ depends_on("cbtf@develop", when="@develop")
+ depends_on("cbtf@1.9.3:9999", when="@1.3.0.0:9999")
- depends_on("cbtf-krell@develop", when='@develop')
- depends_on("cbtf-krell@1.9.3:9999", when='@1.3.0.0:9999')
+ depends_on("cbtf-krell@develop", when="@develop")
+ depends_on("cbtf-krell@1.9.3:9999", when="@1.3.0.0:9999")
- depends_on("cbtf-argonavis@develop", when='@develop')
- depends_on("cbtf-argonavis@1.9.3:9999", when='@1.3.0.0:9999')
+ depends_on("cbtf-argonavis@develop", when="@develop")
+ depends_on("cbtf-argonavis@1.9.3:9999", when="@1.3.0.0:9999")
depends_on("cuda")
- depends_on("openspeedshop-utils+cuda@develop", when='@develop')
- depends_on("openspeedshop-utils@2.4.0:+cuda", when='@1.3.0.0:9999')
+ depends_on("openspeedshop-utils+cuda@develop", when="@develop")
+ depends_on("openspeedshop-utils@2.4.0:+cuda", when="@1.3.0.0:9999")
# For Xerces-C
depends_on("xerces-c")
- depends_on("graphviz@2.40.1:", when='@develop')
- depends_on("graphviz@2.40.1", when='@1.3.0.0:9999')
+ depends_on("graphviz@2.40.1:", when="@develop")
+ depends_on("graphviz@2.40.1", when="@1.3.0.0:9999")
depends_on("qtgraph")
@@ -61,17 +62,16 @@ class CbtfArgonavisGui(QMakePackage):
def setup_build_environment(self, env):
"""Set up the build environment for this package."""
- env.set('BOOSTROOT', self.spec['boost'].prefix)
- env.set('CBTF_ROOT', self.spec['cbtf'].prefix)
- env.set('CBTF_KRELL_ROOT', self.spec['cbtf-krell'].prefix)
- env.set('CBTF_ARGONAVIS_ROOT',
- self.spec['cbtf-argonavis'].prefix)
- env.set('OSS_CBTF_ROOT', self.spec['openspeedshop-utils'].prefix)
- env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix)
- env.set('QTGRAPHLIB_ROOT', self.spec['qtgraph'].prefix)
- env.set('KRELL_ROOT_MRNET', self.spec['mrnet'].prefix)
- env.set('KRELL_ROOT_XERCES', self.spec['xerces-c'].prefix)
- env.set('INSTALL_ROOT', self.spec.prefix)
+ env.set("BOOSTROOT", self.spec["boost"].prefix)
+ env.set("CBTF_ROOT", self.spec["cbtf"].prefix)
+ env.set("CBTF_KRELL_ROOT", self.spec["cbtf-krell"].prefix)
+ env.set("CBTF_ARGONAVIS_ROOT", self.spec["cbtf-argonavis"].prefix)
+ env.set("OSS_CBTF_ROOT", self.spec["openspeedshop-utils"].prefix)
+ env.set("GRAPHVIZ_ROOT", self.spec["graphviz"].prefix)
+ env.set("QTGRAPHLIB_ROOT", self.spec["qtgraph"].prefix)
+ env.set("KRELL_ROOT_MRNET", self.spec["mrnet"].prefix)
+ env.set("KRELL_ROOT_XERCES", self.spec["xerces-c"].prefix)
+ env.set("INSTALL_ROOT", self.spec.prefix)
def setup_run_environment(self, env):
"""Set up the runtime environment for this package."""
@@ -79,21 +79,20 @@ class CbtfArgonavisGui(QMakePackage):
# The implementor of qtgraph has set up the library and include
# paths in a non-conventional way. We reflect that here.
# What library suffix should be used based on library existence
- if os.path.isdir(self.spec['qtgraph'].prefix.lib64):
- qtgraph_lib_dir = self.spec['qtgraph'].prefix.lib64
+ if os.path.isdir(self.spec["qtgraph"].prefix.lib64):
+ qtgraph_lib_dir = self.spec["qtgraph"].prefix.lib64
else:
- qtgraph_lib_dir = self.spec['qtgraph'].prefix.lib
+ qtgraph_lib_dir = self.spec["qtgraph"].prefix.lib
env.prepend_path(
- 'LD_LIBRARY_PATH', join_path(
- qtgraph_lib_dir,
- '{0}'.format(self.spec['qt'].version.up_to(3))))
+ "LD_LIBRARY_PATH",
+ join_path(qtgraph_lib_dir, "{0}".format(self.spec["qt"].version.up_to(3))),
+ )
# The openspeedshop libraries are needed to actually load the
# performance information into the GUI.
- env.prepend_path(
- 'LD_LIBRARY_PATH', self.spec['openspeedshop-utils'].prefix.lib64)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["openspeedshop-utils"].prefix.lib64)
def qmake_args(self):
- options = ['-o', 'Makefile', 'openss-gui.pro']
+ options = ["-o", "Makefile", "openss-gui.pro"]
return options
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
index 41a9bbf232..6868853fca 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -9,27 +9,35 @@ from spack.pkg.builtin.boost import Boost
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.
+ libraries that was done as a result of a DOE SBIR grant.
"""
- homepage = "https://sourceforge.net/p/cbtf/wiki/Home/"
- git = "https://github.com/OpenSpeedShop/cbtf-argonavis.git"
-
- version('develop', branch='master')
- version('1.9.4.1', branch='1.9.4.1')
- version('1.9.4', branch='1.9.4')
- version('1.9.3', branch='1.9.3')
-
- variant('crayfe', default=False,
- description="build only the FE tool using the runtime_dir \
- to point to target build.")
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
-
- depends_on("cmake@3.0.2:", type='build')
+ homepage = "https://sourceforge.net/p/cbtf/wiki/Home/"
+ git = "https://github.com/OpenSpeedShop/cbtf-argonavis.git"
+
+ version("develop", branch="master")
+ version("1.9.4.1", branch="1.9.4.1")
+ version("1.9.4", branch="1.9.4")
+ version("1.9.3", branch="1.9.3")
+
+ variant(
+ "crayfe",
+ default=False,
+ description="build only the FE tool using the runtime_dir \
+ to point to target build.",
+ )
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+
+ depends_on("cmake@3.0.2:", type="build")
# To specify ^elfutils@0.170 on the command line spack
# apparently needs/wants this dependency explicity here
@@ -45,72 +53,75 @@ class CbtfArgonavis(CMakePackage):
depends_on(Boost.with_default_variants)
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop", type=("build", "link", "run"))
+ depends_on("mrnet@5.0.1-3+lwthreads", when="@1.9.3:9999", type=("build", "link", "run"))
# For CBTF
- depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf@1.9.3:9999", when="@1.9.3:9999", type=("build", "link", "run"))
# For CBTF with runtime
- depends_on("cbtf@develop+runtime", when='@develop+runtime', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop+runtime", when="@develop+runtime", type=("build", "link", "run"))
+ depends_on(
+ "cbtf@1.9.3:9999+runtime", when="@1.9.3:9999+runtime", type=("build", "link", "run")
+ )
# For libmonitor
- depends_on("libmonitor@2013.02.18+commrank", type=('build', 'link', 'run'))
+ depends_on("libmonitor@2013.02.18+commrank", type=("build", "link", "run"))
# For PAPI
- depends_on("papi@5.4.1:", type=('build', 'link', 'run'))
+ depends_on("papi@5.4.1:", type=("build", "link", "run"))
# For CBTF-KRELL
- depends_on("cbtf-krell@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf-krell@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
+ depends_on("cbtf-krell@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf-krell@1.9.3:9999", when="@1.9.3:9999", type=("build", "link", "run"))
- depends_on('cbtf-krell@develop+runtime', when='@develop+runtime', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+runtime', when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
+ depends_on(
+ "cbtf-krell@develop+runtime", when="@develop+runtime", type=("build", "link", "run")
+ )
+ depends_on(
+ "cbtf-krell@1.9.3:9999+runtime", when="@1.9.3:9999+runtime", type=("build", "link", "run")
+ )
# For CUDA
depends_on("cuda")
parallel = False
- build_directory = 'build_cbtf_argonavis'
+ build_directory = "build_cbtf_argonavis"
def cmake_args(self):
spec = self.spec
compile_flags = "-O2 -g -Wall"
cmake_args = [
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DCUDA_DIR=%s' % spec['cuda'].prefix,
- '-DCUDA_INSTALL_PATH=%s' % spec['cuda'].prefix,
- '-DCUDA_TOOLKIT_ROOT_DIR=%s' % spec['cuda'].prefix,
- '-DCUPTI_DIR=%s' % spec['cuda'].prefix.extras.CUPTI,
- '-DCUPTI_ROOT=%s' % spec['cuda'].prefix.extras.CUPTI,
- '-DPAPI_ROOT=%s' % spec['papi'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBoost_NO_BOOST_CMAKE=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DBoost_DIR=%s' % spec['boost'].prefix,
- '-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix]
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DCUDA_DIR=%s" % spec["cuda"].prefix,
+ "-DCUDA_INSTALL_PATH=%s" % spec["cuda"].prefix,
+ "-DCUDA_TOOLKIT_ROOT_DIR=%s" % spec["cuda"].prefix,
+ "-DCUPTI_DIR=%s" % spec["cuda"].prefix.extras.CUPTI,
+ "-DCUPTI_ROOT=%s" % spec["cuda"].prefix.extras.CUPTI,
+ "-DPAPI_ROOT=%s" % spec["papi"].prefix,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DBoost_NO_SYSTEM_PATHS=TRUE",
+ "-DBoost_NO_BOOST_CMAKE=TRUE",
+ "-DBOOST_ROOT=%s" % spec["boost"].prefix,
+ "-DBoost_DIR=%s" % spec["boost"].prefix,
+ "-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ "-DLIBMONITOR_DIR=%s" % spec["libmonitor"].prefix,
+ ]
return cmake_args
def setup_run_environment(self, env):
"""Set up the compile and runtime environments for a package."""
- env.prepend_path(
- 'LD_LIBRARY_PATH',
- self.spec['cuda'].prefix + '/extras/CUPTI/lib64')
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix + "/extras/CUPTI/lib64")
def setup_build_environment(self, env):
"""Set up the compile and runtime environments for a package."""
- env.prepend_path(
- 'LD_LIBRARY_PATH',
- self.spec['cuda'].prefix + '/extras/CUPTI/lib64')
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["cuda"].prefix + "/extras/CUPTI/lib64")
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
index a48c11141d..6ce8791635 100644
--- a/var/spack/repos/builtin/packages/cbtf-krell/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -10,44 +10,52 @@ from spack.pkg.builtin.boost import Boost
class CbtfKrell(CMakePackage):
"""CBTF Krell project contains collector and runtime contributions
- to the CBTF project. These contributions include many performance
- data collectors and support libraries as well as some example tools
- that drive the data collection at HPC levels of scale.
+ to the CBTF project. These contributions include many performance
+ data collectors and support libraries as well as some example tools
+ that drive the data collection at HPC levels of scale.
"""
+
homepage = "https://sourceforge.net/p/cbtf/wiki/Home/"
- git = "https://github.com/OpenSpeedShop/cbtf-krell.git"
+ git = "https://github.com/OpenSpeedShop/cbtf-krell.git"
- version('develop', branch='master')
- version('1.9.4.1', branch='1.9.4.1')
- version('1.9.4', branch='1.9.4')
- version('1.9.3', branch='1.9.3')
+ version("develop", branch="master")
+ version("1.9.4.1", branch="1.9.4.1")
+ version("1.9.4", branch="1.9.4")
+ version("1.9.3", branch="1.9.3")
# MPI variants
- variant('openmpi', default=False,
- description="Build mpi experiment collector for openmpi MPI..")
- variant('mpt', default=False,
- description="Build mpi experiment collector for SGI MPT MPI.")
- variant('mvapich2', default=False,
- description="Build mpi experiment collector for mvapich2 MPI.")
- variant('mpich2', default=False,
- description="Build mpi experiment collector for mpich2 MPI.")
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
- variant('crayfe', default=False,
- description="build only the FE tool using the runtime_dir \
- to point to target build.")
+ variant(
+ "openmpi", default=False, description="Build mpi experiment collector for openmpi MPI.."
+ )
+ variant("mpt", default=False, description="Build mpi experiment collector for SGI MPT MPI.")
+ variant(
+ "mvapich2", default=False, description="Build mpi experiment collector for mvapich2 MPI."
+ )
+ variant("mpich2", default=False, description="Build mpi experiment collector for mpich2 MPI.")
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+ variant(
+ "crayfe",
+ default=False,
+ description="build only the FE tool using the runtime_dir \
+ to point to target build.",
+ )
# Dependencies for cbtf-krell
- depends_on("cmake@3.0.2:", type='build')
+ depends_on("cmake@3.0.2:", type="build")
# For rpcgen
- depends_on("rpcsvc-proto", type='build')
+ depends_on("rpcsvc-proto", type="build")
# For rpc
- depends_on("libtirpc", type='link')
+ depends_on("libtirpc", type="link")
# For binutils
depends_on("binutils+plugins~gold@2.32")
@@ -61,57 +69,59 @@ class CbtfKrell(CMakePackage):
depends_on(Boost.with_default_variants)
# For Dyninst
- depends_on("dyninst@10.1.0", when='@develop')
- depends_on("dyninst@10.1.0", when='@1.9.3:9999')
+ depends_on("dyninst@10.1.0", when="@develop")
+ depends_on("dyninst@10.1.0", when="@1.9.3:9999")
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop", type=("build", "link", "run"))
+ depends_on("mrnet@5.0.1-3+lwthreads", when="@1.9.3:9999", type=("build", "link", "run"))
# For Xerces-C
depends_on("xerces-c")
# For CBTF
- depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf@1.9.3:9999", when="@1.9.3:9999", type=("build", "link", "run"))
# For CBTF with runtime
- depends_on("cbtf@develop+runtime", when='@develop+runtime', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop+runtime", when="@develop+runtime", type=("build", "link", "run"))
+ depends_on(
+ "cbtf@1.9.3:9999+runtime", when="@1.9.3:9999+runtime", type=("build", "link", "run")
+ )
# for services and collectors
- depends_on("libmonitor@2013.02.18+commrank", type=('build', 'link', 'run'))
+ depends_on("libmonitor@2013.02.18+commrank", type=("build", "link", "run"))
- depends_on("libunwind", when='@develop')
- depends_on("libunwind@1.2.1", when='@1.9.3:9999')
+ depends_on("libunwind", when="@develop")
+ depends_on("libunwind@1.2.1", when="@1.9.3:9999")
- depends_on("papi@5.4.1:", type=('build', 'link', 'run'))
+ depends_on("papi@5.4.1:", type=("build", "link", "run"))
depends_on("llvm-openmp-ompt@tr6_forwards+standalone")
# MPI Installations
- depends_on("openmpi", when='+openmpi')
- depends_on("mpich@2:", when='+mpich2')
- depends_on("mvapich2@2:", when='+mvapich2')
- depends_on("mpt", when='+mpt')
+ depends_on("openmpi", when="+openmpi")
+ depends_on("mpich@2:", when="+mpich2")
+ depends_on("mvapich2@2:", when="+mvapich2")
+ depends_on("mpt", when="+mpt")
- depends_on("python", when='@develop', type=('build', 'run'))
- depends_on("python@2.7.14:2.7.15", when='@2.3.1.3:9999', type=('build', 'run'))
+ depends_on("python", when="@develop", type=("build", "run"))
+ depends_on("python@2.7.14:2.7.15", when="@2.3.1.3:9999", type=("build", "run"))
depends_on("gotcha")
- patch('arm.patch', when='target=aarch64:')
+ patch("arm.patch", when="target=aarch64:")
parallel = False
- build_directory = 'build_cbtf_krell'
+ build_directory = "build_cbtf_krell"
def set_rt_only_cmake_options(self, spec, cmake_options):
# Appends to cmake_options the options that will enable the appropriate
# MPI implementations
rt_only_options = []
- rt_only_options.append('-DRUNTIME_ONLY=true')
+ rt_only_options.append("-DRUNTIME_ONLY=true")
cmake_options.extend(rt_only_options)
def set_mpi_cmake_options(self, spec, cmake_options):
@@ -121,17 +131,17 @@ class CbtfKrell(CMakePackage):
mpi_options = []
# openmpi
- if spec.satisfies('+openmpi'):
- mpi_options.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix)
+ if spec.satisfies("+openmpi"):
+ mpi_options.append("-DOPENMPI_DIR=%s" % spec["openmpi"].prefix)
# mpich2
- if spec.satisfies('+mpich2'):
- mpi_options.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix)
+ if spec.satisfies("+mpich2"):
+ mpi_options.append("-DMPICH2_DIR=%s" % spec["mpich2"].prefix)
# mvapich2
- if spec.satisfies('+mvapich2'):
- mpi_options.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix)
+ if spec.satisfies("+mvapich2"):
+ mpi_options.append("-DMVAPICH2_DIR=%s" % spec["mvapich2"].prefix)
# mpt
- if spec.satisfies('+mpt'):
- mpi_options.append('-DMPT_DIR=%s' % spec['mpt'].prefix)
+ if spec.satisfies("+mpt"):
+ mpi_options.append("-DMPT_DIR=%s" % spec["mpt"].prefix)
cmake_options.extend(mpi_options)
@@ -147,39 +157,29 @@ class CbtfKrell(CMakePackage):
# the login node components with this spack invocation. We
# need these paths to be the ones created in the CNL
# spack invocation.
- be_cbtf = spack.store.db.query_one('cbtf arch=cray-CNL-haswell')
- be_cbtfk = spack.store.db.query_one('cbtf-krell arch=cray-CNL-haswell')
- be_papi = spack.store.db.query_one('papi arch=cray-CNL-haswell')
- be_boost = spack.store.db.query_one('boost arch=cray-CNL-haswell')
- be_mont = spack.store.db.query_one('libmonitor arch=cray-CNL-haswell')
- be_unw = spack.store.db.query_one('libunwind arch=cray-CNL-haswell')
- be_xer = spack.store.db.query_one('xerces-c arch=cray-CNL-haswell')
- be_dyn = spack.store.db.query_one('dyninst arch=cray-CNL-haswell')
- be_mrnet = spack.store.db.query_one('mrnet arch=cray-CNL-haswell')
-
- cray_login_node_options.append(
- '-DCN_RUNTIME_PLATFORM=%s' % rt_platform)
+ be_cbtf = spack.store.db.query_one("cbtf arch=cray-CNL-haswell")
+ be_cbtfk = spack.store.db.query_one("cbtf-krell arch=cray-CNL-haswell")
+ be_papi = spack.store.db.query_one("papi arch=cray-CNL-haswell")
+ be_boost = spack.store.db.query_one("boost arch=cray-CNL-haswell")
+ be_mont = spack.store.db.query_one("libmonitor arch=cray-CNL-haswell")
+ be_unw = spack.store.db.query_one("libunwind arch=cray-CNL-haswell")
+ be_xer = spack.store.db.query_one("xerces-c arch=cray-CNL-haswell")
+ be_dyn = spack.store.db.query_one("dyninst arch=cray-CNL-haswell")
+ be_mrnet = spack.store.db.query_one("mrnet arch=cray-CNL-haswell")
+
+ cray_login_node_options.append("-DCN_RUNTIME_PLATFORM=%s" % rt_platform)
# Use install directories as CMAKE args for the building
# of login cbtf-krell
- cray_login_node_options.append(
- '-DCBTF_CN_RUNTIME_DIR=%s' % be_cbtf.prefix)
- cray_login_node_options.append(
- '-DCBTF_KRELL_CN_RUNTIME_DIR=%s' % be_cbtfk.prefix)
- cray_login_node_options.append(
- '-DPAPI_CN_RUNTIME_DIR=%s' % be_papi.prefix)
- cray_login_node_options.append(
- '-DBOOST_CN_RUNTIME_DIR=%s' % be_boost.prefix)
- cray_login_node_options.append(
- '-DLIBMONITOR_CN_RUNTIME_DIR=%s' % be_mont.prefix)
- cray_login_node_options.append(
- '-DLIBUNWIND_CN_RUNTIME_DIR=%s' % be_unw.prefix)
- cray_login_node_options.append(
- '-DXERCESC_CN_RUNTIME_DIR=%s' % be_xer.prefix)
- cray_login_node_options.append(
- '-DDYNINST_CN_RUNTIME_DIR=%s' % be_dyn.prefix)
- cray_login_node_options.append(
- '-DMRNET_CN_RUNTIME_DIR=%s' % be_mrnet.prefix)
+ cray_login_node_options.append("-DCBTF_CN_RUNTIME_DIR=%s" % be_cbtf.prefix)
+ cray_login_node_options.append("-DCBTF_KRELL_CN_RUNTIME_DIR=%s" % be_cbtfk.prefix)
+ cray_login_node_options.append("-DPAPI_CN_RUNTIME_DIR=%s" % be_papi.prefix)
+ cray_login_node_options.append("-DBOOST_CN_RUNTIME_DIR=%s" % be_boost.prefix)
+ cray_login_node_options.append("-DLIBMONITOR_CN_RUNTIME_DIR=%s" % be_mont.prefix)
+ cray_login_node_options.append("-DLIBUNWIND_CN_RUNTIME_DIR=%s" % be_unw.prefix)
+ cray_login_node_options.append("-DXERCESC_CN_RUNTIME_DIR=%s" % be_xer.prefix)
+ cray_login_node_options.append("-DDYNINST_CN_RUNTIME_DIR=%s" % be_dyn.prefix)
+ cray_login_node_options.append("-DMRNET_CN_RUNTIME_DIR=%s" % be_mrnet.prefix)
cmake_options.extend(cray_login_node_options)
@@ -191,31 +191,32 @@ class CbtfKrell(CMakePackage):
# Add in paths for finding package config files that tell us
# where to find these packages
cmake_args = [
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix,
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DBoost_NO_BOOST_CMAKE=TRUE',
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DBoost_DIR=%s' % spec['boost'].prefix,
- '-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
- '-DLIBIOMP_DIR=%s' % spec['llvm-openmp-ompt'].prefix,
- '-DGOTCHA_DIR=%s' % spec['gotcha'].prefix,
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix]
-
- if self.spec.satisfies('+runtime'):
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DBINUTILS_DIR=%s" % spec["binutils"].prefix,
+ "-DLIBMONITOR_DIR=%s" % spec["libmonitor"].prefix,
+ "-DLIBUNWIND_DIR=%s" % spec["libunwind"].prefix,
+ "-DPAPI_DIR=%s" % spec["papi"].prefix,
+ "-DBoost_NO_SYSTEM_PATHS=TRUE",
+ "-DBoost_NO_BOOST_CMAKE=TRUE",
+ "-DBOOST_ROOT=%s" % spec["boost"].prefix,
+ "-DBoost_DIR=%s" % spec["boost"].prefix,
+ "-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ "-DDYNINST_DIR=%s" % spec["dyninst"].prefix,
+ "-DLIBIOMP_DIR=%s" % spec["llvm-openmp-ompt"].prefix,
+ "-DGOTCHA_DIR=%s" % spec["gotcha"].prefix,
+ "-DXERCESC_DIR=%s" % spec["xerces-c"].prefix,
+ ]
+
+ if self.spec.satisfies("+runtime"):
self.set_rt_only_cmake_options(spec, cmake_args)
# Add any MPI implementations coming from variant settings
self.set_mpi_cmake_options(spec, cmake_args)
- if self.spec.satisfies('+crayfe'):
+ if self.spec.satisfies("+crayfe"):
# We need to build target/compute node components/libraries first
# then pass those libraries to the cbtf-krell login node build
self.set_cray_login_node_cmake_options(spec, cmake_args)
@@ -227,10 +228,10 @@ class CbtfKrell(CMakePackage):
# Environment settings for cbtf-krell, bin is automatically
# added to the path in the module file
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
- env.set('XPLAT_RSH', 'ssh')
- env.set('MRNET_COMM_PATH', self.prefix.sbin.cbtf_mrnet_commnode)
+ env.set("XPLAT_RSH", "ssh")
+ env.set("MRNET_COMM_PATH", self.prefix.sbin.cbtf_mrnet_commnode)
# Set CBTF_MPI_IMPLEMENTATON to the appropriate mpi implementation
# This is needed by CBTF tools to deploy the correct
@@ -238,18 +239,17 @@ class CbtfKrell(CMakePackage):
# Users may have to set the CBTF_MPI_IMPLEMENTATION variable
# manually if multiple mpi's are specified in the build
- if self.spec.satisfies('+mvapich2'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
+ if self.spec.satisfies("+mvapich2"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mvapich2")
- if self.spec.satisfies('+mpt'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
+ if self.spec.satisfies("+mpt"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mpt")
- if self.spec.satisfies('+openmpi'):
- env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
+ if self.spec.satisfies("+openmpi"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "openmpi")
- env.set('CBTF_MRNET_BACKEND_PATH',
- self.prefix.sbin.cbtf_libcbtf_mrnet_backend)
+ env.set("CBTF_MRNET_BACKEND_PATH", self.prefix.sbin.cbtf_libcbtf_mrnet_backend)
- env.prepend_path('PATH', self.spec['libmonitor'].prefix.bin)
- env.prepend_path('PATH', self.spec['papi'].prefix.bin)
- env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
+ env.prepend_path("PATH", self.spec["libmonitor"].prefix.bin)
+ env.prepend_path("PATH", self.spec["papi"].prefix.bin)
+ env.prepend_path("PATH", self.spec["mrnet"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
index 704fdd9cbf..9753cf4f04 100644
--- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -8,50 +8,54 @@ from spack.package import *
class CbtfLanl(CMakePackage):
"""CBTF LANL project contains a memory tool and data center type system
- command monitoring tool."""
+ command monitoring tool."""
homepage = "https://sourceforge.net/p/cbtf/wiki/Home/"
- git = "https://github.com/OpenSpeedShop/cbtf-lanl.git"
+ git = "https://github.com/OpenSpeedShop/cbtf-lanl.git"
- version('develop', branch='master')
- version('1.9.4.1', branch='1.9.4.1')
- version('1.9.4', branch='1.9.4')
- version('1.9.3', branch='1.9.3')
+ version("develop", branch="master")
+ version("1.9.4.1", branch="1.9.4.1")
+ version("1.9.4", branch="1.9.4")
+ version("1.9.3", branch="1.9.3")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
- depends_on("cmake@3.0.2:", type='build')
+ depends_on("cmake@3.0.2:", type="build")
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999')
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop")
+ depends_on("mrnet@5.0.1-3+lwthreads", when="@1.9.3:9999")
# For Xerces-C
depends_on("xerces-c")
# For CBTF
- depends_on("cbtf@develop", when='@develop')
- depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999')
+ depends_on("cbtf@develop", when="@develop")
+ depends_on("cbtf@1.9.3:9999", when="@1.9.3:9999")
# For CBTF with runtime
- depends_on("cbtf@develop+runtime", when='@develop+runtime')
- depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime')
+ depends_on("cbtf@develop+runtime", when="@develop+runtime")
+ depends_on("cbtf@1.9.3:9999+runtime", when="@1.9.3:9999+runtime")
# For CBTF-KRELL
- depends_on("cbtf-krell@develop", when='@develop')
- depends_on("cbtf-krell@1.9.3:9999", when='@1.9.3:9999')
+ depends_on("cbtf-krell@develop", when="@develop")
+ depends_on("cbtf-krell@1.9.3:9999", when="@1.9.3:9999")
- depends_on('cbtf-krell@develop+runtime', when='@develop+runtime')
- depends_on('cbtf-krell@1.9.3:9999+runtime', when='@1.9.3:9999+runtime')
+ depends_on("cbtf-krell@develop+runtime", when="@develop+runtime")
+ depends_on("cbtf-krell@1.9.3:9999+runtime", when="@1.9.3:9999+runtime")
parallel = False
- build_directory = 'build_cbtf_lanl'
+ build_directory = "build_cbtf_lanl"
def cmake_args(self):
@@ -59,13 +63,13 @@ class CbtfLanl(CMakePackage):
compile_flags = "-O2 -g -Wall"
cmake_args = [
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DCMAKE_MODULE_PATH=%s' % join_path(
- prefix.share, 'KrellInstitute', 'cmake')]
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ "-DXERCESC_DIR=%s" % spec["xerces-c"].prefix,
+ "-DCMAKE_MODULE_PATH=%s" % join_path(prefix.share, "KrellInstitute", "cmake"),
+ ]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
index 29899251ec..ce73d99e76 100644
--- a/var/spack/repos/builtin/packages/cbtf/package.py
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -9,33 +9,38 @@ from spack.pkg.builtin.boost import Boost
class Cbtf(CMakePackage):
"""CBTF project contains the base code for CBTF that supports creating
- components, component networks and the support to connect these
- components and component networks into sequential and distributed
- network tools.
+ components, component networks and the support to connect these
+ components and component networks into sequential and distributed
+ network tools.
"""
+
homepage = "https://sourceforge.net/p/cbtf/wiki/Home"
- git = "https://github.com/OpenSpeedShop/cbtf.git"
+ git = "https://github.com/OpenSpeedShop/cbtf.git"
- version('develop', branch='master')
- version('1.9.4.1', branch='1.9.4.1')
- version('1.9.4', branch='1.9.4')
- version('1.9.3', branch='1.9.3')
+ version("develop", branch="master")
+ version("1.9.4.1", branch="1.9.4.1")
+ version("1.9.4", branch="1.9.4")
+ version("1.9.3", branch="1.9.3")
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
- depends_on("cmake@3.0.2:", type='build')
+ depends_on("cmake@3.0.2:", type="build")
# for rpcgen
depends_on("rpcsvc-proto")
# for rpc
- depends_on("libtirpc", type='link')
+ depends_on("libtirpc", type="link")
depends_on("boost@1.70.0:")
@@ -45,8 +50,8 @@ class Cbtf(CMakePackage):
depends_on(Boost.with_default_variants)
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999')
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop")
+ depends_on("mrnet@5.0.1-3+lwthreads", when="@1.9.3:9999")
# For Xerces-C
depends_on("xerces-c")
@@ -56,7 +61,7 @@ class Cbtf(CMakePackage):
parallel = False
- build_directory = 'build_cbtf'
+ build_directory = "build_cbtf"
def cmake_args(self):
@@ -69,30 +74,30 @@ class Cbtf(CMakePackage):
compile_flags = "-O2 -g -Wall"
- if spec.satisfies('+runtime'):
+ if spec.satisfies("+runtime"):
# Install message tag include file for use in Intel MIC
# cbtf-krell build
# FIXME
cmake_args = [
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DRUNTIME_ONLY=TRUE',
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DCMAKE_MODULE_PATH=%s' % join_path(
- prefix.share, 'KrellInstitute', 'cmake')]
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DRUNTIME_ONLY=TRUE",
+ "-DBoost_NO_SYSTEM_PATHS=TRUE",
+ "-DXERCESC_DIR=%s" % spec["xerces-c"].prefix,
+ "-DBOOST_ROOT=%s" % spec["boost"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ "-DCMAKE_MODULE_PATH=%s" % join_path(prefix.share, "KrellInstitute", "cmake"),
+ ]
else:
cmake_args = [
- '-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DBoost_NO_SYSTEM_PATHS=TRUE',
- '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
- '-DBOOST_ROOT=%s' % spec['boost'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
- '-DCMAKE_MODULE_PATH=%s' % join_path(
- prefix.share, 'KrellInstitute', 'cmake')]
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DBoost_NO_SYSTEM_PATHS=TRUE",
+ "-DXERCESC_DIR=%s" % spec["xerces-c"].prefix,
+ "-DBOOST_ROOT=%s" % spec["boost"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ "-DCMAKE_MODULE_PATH=%s" % join_path(prefix.share, "KrellInstitute", "cmake"),
+ ]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/cc65/package.py b/var/spack/repos/builtin/packages/cc65/package.py
index cdd1b2ed33..9bfd4f6a74 100644
--- a/var/spack/repos/builtin/packages/cc65/package.py
+++ b/var/spack/repos/builtin/packages/cc65/package.py
@@ -12,13 +12,13 @@ class Cc65(MakefilePackage):
and several other tools."""
homepage = "https://cc65.github.io/"
- url = "https://github.com/cc65/cc65/archive/V2.18.tar.gz"
+ url = "https://github.com/cc65/cc65/archive/V2.18.tar.gz"
- version('2.18', sha256='d14a22fb87c7bcbecd8a83d5362d5d317b19c6ce2433421f2512f28293a6eaab')
- version('2.17', sha256='73b89634655bfc6cef9aa0b8950f19657a902ee5ef0c045886e418bb116d2eac')
- version('2.16', sha256='fdbbf1efbf2324658a5774fdceef4a1b202322a04f895688d95694843df76792')
- version('2.15', sha256='adeac1a4b04183dd77fba1d69e56bbf4a6d358e0b253ee43ef4cac2391ba848a')
- version('2.14', sha256='128bda63490eb43ad25fd3615adee4c819c0b7da4b9b8f1801df36bd19e3bdf8')
+ version("2.18", sha256="d14a22fb87c7bcbecd8a83d5362d5d317b19c6ce2433421f2512f28293a6eaab")
+ version("2.17", sha256="73b89634655bfc6cef9aa0b8950f19657a902ee5ef0c045886e418bb116d2eac")
+ version("2.16", sha256="fdbbf1efbf2324658a5774fdceef4a1b202322a04f895688d95694843df76792")
+ version("2.15", sha256="adeac1a4b04183dd77fba1d69e56bbf4a6d358e0b253ee43ef4cac2391ba848a")
+ version("2.14", sha256="128bda63490eb43ad25fd3615adee4c819c0b7da4b9b8f1801df36bd19e3bdf8")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/ccache/package.py b/var/spack/repos/builtin/packages/ccache/package.py
index e36cc4f17b..58d1cfc4c0 100644
--- a/var/spack/repos/builtin/packages/ccache/package.py
+++ b/var/spack/repos/builtin/packages/ccache/package.py
@@ -14,70 +14,70 @@ class Ccache(CMakePackage):
again."""
homepage = "https://ccache.dev/"
- url = "https://github.com/ccache/ccache/releases/download/v4.2.1/ccache-4.2.1.tar.gz"
- maintainers = ['haampie']
-
- tags = ['build-tools']
-
- executables = ['^ccache$']
-
- version('4.6.1', sha256='59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc')
- version('4.6', sha256='73a1767ac6b7c0404a1a55f761a746d338e702883c7137fbf587023062258625')
- version('4.5.1', sha256='f0d3cff5d555d6868f14a7d05696f0370074e475304fd5aa152b98f892364981')
- version('4.5', sha256='8f1c6495a06ae0a9ff311c9d43096233702a2045c476ca1ae393b434abf1f528')
- version('4.4.2', sha256='357a2ac55497b39ad6885c14b00cda6cf21d1851c6290f4288e62972665de417')
- version('4.4.1', sha256='e20632f040a7d50bc622c10b2ab4c7a4a5dc2730c18492543d49ce4cf51b4c54')
- version('4.4', sha256='61a993d62216aff35722a8d0e8ffef9b677fc3f6accd8944ffc2a6db98fb3142')
- version('4.3', sha256='b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533')
- version('4.2.1', sha256='320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62')
- version('4.2', sha256='dbf139ff32031b54cb47f2d7983269f328df14b5a427882f89f7721e5c411b7e')
- version('4.1', sha256='cdeefb827b3eef3b42b5454858123881a4a90abbd46cc72cf8c20b3bd039deb7')
- version('4.0', sha256='ac97af86679028ebc8555c99318352588ff50f515fc3a7f8ed21a8ad367e3d45')
- version('3.7.11', sha256='34309a59d4b6b6b33756366aa9d3144a4655587be9f914476b4c0e2d36365f01')
- version('3.7.9', sha256='92838e2133c9e704fdab9ee2608dad86c99021278b9ac47d065aa8ff2ea8ce36')
- version('3.7.1', sha256='e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8')
- version('3.3.4', sha256='1348b54e7c35dd2f8d17923389e03c546e599cfbde6459d2f31cf6f1521ec538')
- version('3.3.3', sha256='87a399a2267cfac3f36411fbc12ff8959f408cffd050ad15fe423df88e977e8f')
- version('3.3.2', sha256='bf4a150dea611a206a933e122bd545dd6c5111d319505e0e30fef75f88651847')
- version('3.3.1', sha256='4101f9937cd6e8f50d0a5882f7e9a7312ba42c01ff41e4f359c94ae2c9b87879')
- version('3.3', sha256='b220fce435fe3d86b8b90097e986a17f6c1f971e0841283dd816adb238c5fd6a')
- version('3.2.9', sha256='1e13961b83a3d215c4013469c149414a79312a22d3c7bf9f946abac9ee33e63f')
-
- depends_on('cmake@3.15:', when='@4.7:', type='build')
- depends_on('cmake@3.10:', when='@4.4:', type='build')
- depends_on('cmake@3.4.3:', when='@4.0:', type='build')
-
- depends_on('gperf', when='@:3')
- depends_on('libxslt', when='@:3')
- depends_on('zlib', when='@:3')
-
- depends_on('zstd', when='@4.0:')
-
- depends_on('hiredis@0.13.3:', when='@4.4:')
- depends_on('pkgconfig', type='build', when='@4.4:')
-
- conflicts('%gcc@:5', when='@4.4:')
- conflicts('%clang@:4', when='@4.4:')
+ url = "https://github.com/ccache/ccache/releases/download/v4.2.1/ccache-4.2.1.tar.gz"
+ maintainers = ["haampie"]
+
+ tags = ["build-tools"]
+
+ executables = ["^ccache$"]
+
+ version("4.6.1", sha256="59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc")
+ version("4.6", sha256="73a1767ac6b7c0404a1a55f761a746d338e702883c7137fbf587023062258625")
+ version("4.5.1", sha256="f0d3cff5d555d6868f14a7d05696f0370074e475304fd5aa152b98f892364981")
+ version("4.5", sha256="8f1c6495a06ae0a9ff311c9d43096233702a2045c476ca1ae393b434abf1f528")
+ version("4.4.2", sha256="357a2ac55497b39ad6885c14b00cda6cf21d1851c6290f4288e62972665de417")
+ version("4.4.1", sha256="e20632f040a7d50bc622c10b2ab4c7a4a5dc2730c18492543d49ce4cf51b4c54")
+ version("4.4", sha256="61a993d62216aff35722a8d0e8ffef9b677fc3f6accd8944ffc2a6db98fb3142")
+ version("4.3", sha256="b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533")
+ version("4.2.1", sha256="320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62")
+ version("4.2", sha256="dbf139ff32031b54cb47f2d7983269f328df14b5a427882f89f7721e5c411b7e")
+ version("4.1", sha256="cdeefb827b3eef3b42b5454858123881a4a90abbd46cc72cf8c20b3bd039deb7")
+ version("4.0", sha256="ac97af86679028ebc8555c99318352588ff50f515fc3a7f8ed21a8ad367e3d45")
+ version("3.7.11", sha256="34309a59d4b6b6b33756366aa9d3144a4655587be9f914476b4c0e2d36365f01")
+ version("3.7.9", sha256="92838e2133c9e704fdab9ee2608dad86c99021278b9ac47d065aa8ff2ea8ce36")
+ version("3.7.1", sha256="e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8")
+ version("3.3.4", sha256="1348b54e7c35dd2f8d17923389e03c546e599cfbde6459d2f31cf6f1521ec538")
+ version("3.3.3", sha256="87a399a2267cfac3f36411fbc12ff8959f408cffd050ad15fe423df88e977e8f")
+ version("3.3.2", sha256="bf4a150dea611a206a933e122bd545dd6c5111d319505e0e30fef75f88651847")
+ version("3.3.1", sha256="4101f9937cd6e8f50d0a5882f7e9a7312ba42c01ff41e4f359c94ae2c9b87879")
+ version("3.3", sha256="b220fce435fe3d86b8b90097e986a17f6c1f971e0841283dd816adb238c5fd6a")
+ version("3.2.9", sha256="1e13961b83a3d215c4013469c149414a79312a22d3c7bf9f946abac9ee33e63f")
+
+ depends_on("cmake@3.15:", when="@4.7:", type="build")
+ depends_on("cmake@3.10:", when="@4.4:", type="build")
+ depends_on("cmake@3.4.3:", when="@4.0:", type="build")
+
+ depends_on("gperf", when="@:3")
+ depends_on("libxslt", when="@:3")
+ depends_on("zlib", when="@:3")
+
+ depends_on("zstd", when="@4.0:")
+
+ depends_on("hiredis@0.13.3:", when="@4.4:")
+ depends_on("pkgconfig", type="build", when="@4.4:")
+
+ conflicts("%gcc@:5", when="@4.4:")
+ conflicts("%clang@:4", when="@4.4:")
def cmake_args(self):
- return [self.define('ENABLE_TESTING', False)]
+ return [self.define("ENABLE_TESTING", False)]
# Before 4.0 this was an Autotools package
- @when('@:3')
+ @when("@:3")
def cmake(self, spec, prefix):
configure_args = ["--prefix=" + prefix]
configure(*configure_args)
- @when('@:3')
+ @when("@:3")
def build(self, spec, prefix):
make()
- @when('@:3')
+ @when("@:3")
def install(self, spec, prefix):
make("install")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'ccache.*version\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"ccache.*version\s+(\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/ccfits/package.py b/var/spack/repos/builtin/packages/ccfits/package.py
index 5ad1d2eaea..44e66e1055 100644
--- a/var/spack/repos/builtin/packages/ccfits/package.py
+++ b/var/spack/repos/builtin/packages/ccfits/package.py
@@ -11,13 +11,13 @@ class Ccfits(AutotoolsPackage):
It is designed to make the capabilities of cfitsio available to programmers
working in C++. It is written in ANSI C++ and implemented using the C++
Standard Library with namespaces, exception handling, and member template
- functions. """
+ functions."""
homepage = "https://heasarc.gsfc.nasa.gov/fitsio/CCfits/"
- url = "https://heasarc.gsfc.nasa.gov/fitsio/CCfits/CCfits-2.5.tar.gz"
+ url = "https://heasarc.gsfc.nasa.gov/fitsio/CCfits/CCfits-2.5.tar.gz"
- version('2.6', sha256='2bb439db67e537d0671166ad4d522290859e8e56c2f495c76faa97bc91b28612')
- version('2.5', sha256='938ecd25239e65f519b8d2b50702416edc723de5f0a5387cceea8c4004a44740')
- version('2.4', sha256='ba6c5012b260adf7633f92581279ea582e331343d8c973981aa7de07242bd7f8')
+ version("2.6", sha256="2bb439db67e537d0671166ad4d522290859e8e56c2f495c76faa97bc91b28612")
+ version("2.5", sha256="938ecd25239e65f519b8d2b50702416edc723de5f0a5387cceea8c4004a44740")
+ version("2.4", sha256="ba6c5012b260adf7633f92581279ea582e331343d8c973981aa7de07242bd7f8")
- depends_on('cfitsio')
+ depends_on("cfitsio")
diff --git a/var/spack/repos/builtin/packages/ccls/package.py b/var/spack/repos/builtin/packages/ccls/package.py
index 71d2da5487..0bd1cdf485 100644
--- a/var/spack/repos/builtin/packages/ccls/package.py
+++ b/var/spack/repos/builtin/packages/ccls/package.py
@@ -10,17 +10,25 @@ class Ccls(CMakePackage):
"""C/C++ language server"""
homepage = "https://github.com/MaskRay/ccls"
- git = "https://github.com/MaskRay/ccls.git"
- url = "https://github.com/MaskRay/ccls/archive/0.20201025.tar.gz"
+ git = "https://github.com/MaskRay/ccls.git"
+ url = "https://github.com/MaskRay/ccls/archive/0.20201025.tar.gz"
- maintainers = ['jacobmerson']
+ maintainers = ["jacobmerson"]
- version('0.20210330', sha256='28c228f49dfc0f23cb5d581b7de35792648f32c39f4ca35f68ff8c9cb5ce56c2')
- version('0.20201025', sha256='1470797b2c1a466e2d8a069efd807aac6fefdef8a556e1edf2d44f370c949221')
+ version(
+ "0.20210330", sha256="28c228f49dfc0f23cb5d581b7de35792648f32c39f4ca35f68ff8c9cb5ce56c2"
+ )
+ version(
+ "0.20201025", sha256="1470797b2c1a466e2d8a069efd807aac6fefdef8a556e1edf2d44f370c949221"
+ )
- variant('build_type', default='Release', description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
depends_on("cmake@3.8:", type="build")
- depends_on('llvm@7:')
- depends_on('rapidjson')
+ depends_on("llvm@7:")
+ depends_on("rapidjson")
diff --git a/var/spack/repos/builtin/packages/ccs-qcd/package.py b/var/spack/repos/builtin/packages/ccs-qcd/package.py
index 87cf452a27..c49f5a8c02 100644
--- a/var/spack/repos/builtin/packages/ccs-qcd/package.py
+++ b/var/spack/repos/builtin/packages/ccs-qcd/package.py
@@ -11,68 +11,89 @@ def class_validator(values):
"""1, 2, 3, 4, 5, 6"""
values = int(values[0])
if values < 1 or values > 6:
- error_msg = ("class: Choose one of the following:\n"
- "1 - 8x8x8x32 (default MPI config: 1x1x1)\n"
- "2 - 32x32x32x32 (default MPI config: 4x4x4)\n"
- "3 - 64x64x64x32 (default MPI config: 8x8x8)\n"
- "4 - 160x160x160x160 (default MPI config: 20x20x20)\n"
- "5 - 256x256x256x256 (default MPI config: 32x32x32)\n"
- "6 - 192x192x192x192 (default MPI config: 24x24x24)")
+ error_msg = (
+ "class: Choose one of the following:\n"
+ "1 - 8x8x8x32 (default MPI config: 1x1x1)\n"
+ "2 - 32x32x32x32 (default MPI config: 4x4x4)\n"
+ "3 - 64x64x64x32 (default MPI config: 8x8x8)\n"
+ "4 - 160x160x160x160 (default MPI config: 20x20x20)\n"
+ "5 - 256x256x256x256 (default MPI config: 32x32x32)\n"
+ "6 - 192x192x192x192 (default MPI config: 24x24x24)"
+ )
raise SpackError(error_msg)
class CcsQcd(MakefilePackage):
"""This program benchmarks the performance of a linear equation solver
- with a large sparse coefficient matrix appering in a lattice QCD
- probrem. Lattice QCD describes the property of protons, neutrons and
- neucleons in terms of more fundamental interacting elementary particles
- gluon and quarks."""
+ with a large sparse coefficient matrix appering in a lattice QCD
+ probrem. Lattice QCD describes the property of protons, neutrons and
+ neucleons in terms of more fundamental interacting elementary particles
+ gluon and quarks."""
homepage = "https://github.com/fiber-miniapp/ccs-qcd"
- git = "https://github.com/fiber-miniapp/ccs-qcd.git"
+ git = "https://github.com/fiber-miniapp/ccs-qcd.git"
- tags = ['hep']
+ tags = ["hep"]
- version('master', branch='master')
- version('1.2.1', commit='d7c6b6923f35a824e997ba8db5bd12dc20dda45c')
+ version("master", branch="master")
+ version("1.2.1", commit="d7c6b6923f35a824e997ba8db5bd12dc20dda45c")
- variant('class', default=1, values=class_validator,
- description='This miniapp has five problem classes, for which the'
- ' first three are relatively small problems just for testing'
- ' this miniapp itself. The remaining two are the target problem'
- ' sizes for the HPCI FS evaluation.',
- multi=False)
+ variant(
+ "class",
+ default=1,
+ values=class_validator,
+ description="This miniapp has five problem classes, for which the"
+ " first three are relatively small problems just for testing"
+ " this miniapp itself. The remaining two are the target problem"
+ " sizes for the HPCI FS evaluation.",
+ multi=False,
+ )
- depends_on('mpi')
+ depends_on("mpi")
parallel = False
def edit(self, spec, prefix):
- if spec.satisfies('%gcc') and spec.satisfies('arch=aarch64:'):
- chgopt = 'FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp' \
- ' -mcmodel=large -funderscoring'
- filter_file('FFLAGS =.*', chgopt, join_path(
- self.stage.source_path, 'src', 'make.gfortran.inc'))
- if '%fj' in spec:
- filter_file('mpifrtpx', spec['mpi'].mpifc, join_path(
- self.stage.source_path, 'src', 'make.fx10.inc'))
- filter_file('mpifccpx', spec['mpi'].mpicc, join_path(
- self.stage.source_path, 'src', 'make.fx10.inc'))
+ if spec.satisfies("%gcc") and spec.satisfies("arch=aarch64:"):
+ chgopt = (
+ "FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp" " -mcmodel=large -funderscoring"
+ )
+ filter_file(
+ "FFLAGS =.*",
+ chgopt,
+ join_path(self.stage.source_path, "src", "make.gfortran.inc"),
+ )
+ if "%fj" in spec:
+ filter_file(
+ "mpifrtpx",
+ spec["mpi"].mpifc,
+ join_path(self.stage.source_path, "src", "make.fx10.inc"),
+ )
+ filter_file(
+ "mpifccpx",
+ spec["mpi"].mpicc,
+ join_path(self.stage.source_path, "src", "make.fx10.inc"),
+ )
else:
- filter_file('mpif90', spec['mpi'].mpifc, join_path(
- self.stage.source_path, 'src', 'make.gfortran.inc'))
- filter_file('mpicc', spec['mpi'].mpicc, join_path(
- self.stage.source_path, 'src', 'make.gfortran.inc'))
+ filter_file(
+ "mpif90",
+ spec["mpi"].mpifc,
+ join_path(self.stage.source_path, "src", "make.gfortran.inc"),
+ )
+ filter_file(
+ "mpicc",
+ spec["mpi"].mpicc,
+ join_path(self.stage.source_path, "src", "make.gfortran.inc"),
+ )
def build(self, spec, prefix):
- ccs_class = 'CLASS=' + spec.variants['class'].value
- with working_dir('src'):
- if '%fj' in spec:
- make('MAKE_INC=make.fx10.inc', ccs_class)
+ ccs_class = "CLASS=" + spec.variants["class"].value
+ with working_dir("src"):
+ if "%fj" in spec:
+ make("MAKE_INC=make.fx10.inc", ccs_class)
else:
- make('MAKE_INC=make.gfortran.inc', ccs_class)
+ make("MAKE_INC=make.gfortran.inc", ccs_class)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('./src/ccs_qcd_solver_bench_class' +
- spec.variants['class'].value, prefix.bin)
+ install("./src/ccs_qcd_solver_bench_class" + spec.variants["class"].value, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cctools/package.py b/var/spack/repos/builtin/packages/cctools/package.py
index 52fc9623ab..3ddb493135 100644
--- a/var/spack/repos/builtin/packages/cctools/package.py
+++ b/var/spack/repos/builtin/packages/cctools/package.py
@@ -10,39 +10,39 @@ from spack.package import *
class Cctools(AutotoolsPackage):
"""The Cooperative Computing Tools (cctools) enable large scale
- distributed computations to harness hundreds to thousands of
- machines from clusters, clouds, and grids.
+ distributed computations to harness hundreds to thousands of
+ machines from clusters, clouds, and grids.
"""
homepage = "https://cctools.readthedocs.io"
- url = "https://ccl.cse.nd.edu/software/files/cctools-7.4.2-source.tar.gz"
- maintainers = ['dthain', 'btovar']
-
- version('7.4.2', sha256='7c8c86f09bcb9ad23ab44e52dfb5bf3a4e4a1ad84ef51e500a9c8c2371770f4b')
- version('7.2.10', sha256='4a604329896ae5e0fad7451a3814f531ff2f00a41c96e971ac08276208aa1650')
- version('7.2.4', sha256='36d36465a14b503a27c4739ebe0e11e00970ef6abb07c0365a46670753dddbd0')
- version('7.2.3', sha256='c9d32f9e9d4886ef88b79cc7c898c26e8369a004132080697b8523560cb8765b')
- version('7.2.2', sha256='3eee05826954792e3ef974fefe3b8e436f09cd368b195287639b67f5acfa050f')
- version('7.2.1', sha256='8f847fef9bca1ebd23a93d74fc093807d2c3e584111c087cf25e070e130eb820')
- version('7.1.7', sha256='63cbfabe52591d41a1b27040bf27700d2a11b2f30cb2e25132e0016fb1aade03')
- version('7.1.5', sha256='c01415fd47a1d9626b6c556e0dc0a6b0d3cd67224fa060cabd44ff78eede1d8a')
- version('7.1.3', sha256='b937878ab429dda31bc692e5d9ffb402b9eb44bb674c07a934bb769cee4165ba')
- version('7.1.2', sha256='ca871e9fe245d047d4c701271cf2b868e6e3a170e8834c1887157ed855985131')
- version('7.1.0', sha256='84748245db10ff26c0c0a7b9fd3ec20fbbb849dd4aadc5e8531fd1671abe7a81')
- version('7.0.18', sha256='5b6f3c87ae68dd247534a5c073eb68cb1a60176a7f04d82699fbc05e649a91c2')
- version('6.1.1', sha256='97f073350c970d6157f80891b3bf6d4f3eedb5f031fea386dc33e22f22b8af9d')
-
- depends_on('openssl')
- depends_on('perl+shared', type=('build', 'run'))
- depends_on('python', type=('build', 'run'))
- depends_on('readline')
- depends_on('gettext') # Corrects python linking of -lintl flag.
- depends_on('swig')
+ url = "https://ccl.cse.nd.edu/software/files/cctools-7.4.2-source.tar.gz"
+ maintainers = ["dthain", "btovar"]
+
+ version("7.4.2", sha256="7c8c86f09bcb9ad23ab44e52dfb5bf3a4e4a1ad84ef51e500a9c8c2371770f4b")
+ version("7.2.10", sha256="4a604329896ae5e0fad7451a3814f531ff2f00a41c96e971ac08276208aa1650")
+ version("7.2.4", sha256="36d36465a14b503a27c4739ebe0e11e00970ef6abb07c0365a46670753dddbd0")
+ version("7.2.3", sha256="c9d32f9e9d4886ef88b79cc7c898c26e8369a004132080697b8523560cb8765b")
+ version("7.2.2", sha256="3eee05826954792e3ef974fefe3b8e436f09cd368b195287639b67f5acfa050f")
+ version("7.2.1", sha256="8f847fef9bca1ebd23a93d74fc093807d2c3e584111c087cf25e070e130eb820")
+ version("7.1.7", sha256="63cbfabe52591d41a1b27040bf27700d2a11b2f30cb2e25132e0016fb1aade03")
+ version("7.1.5", sha256="c01415fd47a1d9626b6c556e0dc0a6b0d3cd67224fa060cabd44ff78eede1d8a")
+ version("7.1.3", sha256="b937878ab429dda31bc692e5d9ffb402b9eb44bb674c07a934bb769cee4165ba")
+ version("7.1.2", sha256="ca871e9fe245d047d4c701271cf2b868e6e3a170e8834c1887157ed855985131")
+ version("7.1.0", sha256="84748245db10ff26c0c0a7b9fd3ec20fbbb849dd4aadc5e8531fd1671abe7a81")
+ version("7.0.18", sha256="5b6f3c87ae68dd247534a5c073eb68cb1a60176a7f04d82699fbc05e649a91c2")
+ version("6.1.1", sha256="97f073350c970d6157f80891b3bf6d4f3eedb5f031fea386dc33e22f22b8af9d")
+
+ depends_on("openssl")
+ depends_on("perl+shared", type=("build", "run"))
+ depends_on("python", type=("build", "run"))
+ depends_on("readline")
+ depends_on("gettext") # Corrects python linking of -lintl flag.
+ depends_on("swig")
# depends_on('xrootd')
- depends_on('zlib')
- patch('arm.patch', when='target=aarch64:')
- patch('cctools_7.0.18.python.patch', when='@7.0.18')
- patch('cctools_6.1.1.python.patch', when='@6.1.1')
+ depends_on("zlib")
+ patch("arm.patch", when="target=aarch64:")
+ patch("cctools_7.0.18.python.patch", when="@7.0.18")
+ patch("cctools_6.1.1.python.patch", when="@6.1.1")
# Generally SYS_foo is defined to __NR_foo (sys/syscall.h) which
# is then defined to a syscall number (asm/unistd_64.h). Certain
@@ -50,15 +50,15 @@ class Cctools(AutotoolsPackage):
# __NR_memfd_create but are missing the second definition.
# This is a belt and suspenders solution to the problem.
def patch(self):
- before = '#if defined(__linux__) && defined(SYS_memfd_create)'
- after = '#if defined(__linux__) && defined(SYS_memfd_create) && defined(__NR_memfd_create)'
- f = 'dttools/src/memfdexe.c'
- kwargs = {'ignore_absent': False, 'backup': True, 'string': True}
+ before = "#if defined(__linux__) && defined(SYS_memfd_create)"
+ after = "#if defined(__linux__) && defined(SYS_memfd_create) && defined(__NR_memfd_create)"
+ f = "dttools/src/memfdexe.c"
+ kwargs = {"ignore_absent": False, "backup": True, "string": True}
filter_file(before, after, f, **kwargs)
- if self.spec.satisfies('%fj'):
- makefiles = ['chirp/src/Makefile', 'grow/src/Makefile']
+ if self.spec.satisfies("%fj"):
+ makefiles = ["chirp/src/Makefile", "grow/src/Makefile"]
for m in makefiles:
- filter_file('-fstack-protector-all', '', m)
+ filter_file("-fstack-protector-all", "", m)
# Remove two troublesome test cases:
@@ -74,47 +74,37 @@ class Cctools(AutotoolsPackage):
args = []
# make sure we do not pick a python outside spack:
- if self.spec.satisfies('@6.1.1'):
- if self.spec.satisfies('^python@3:'):
- args.extend([
- '--with-python3-path', self.spec['python'].prefix,
- '--with-python-path', 'no'
- ])
- elif self.spec.satisfies('^python@:2.9'):
- args.extend([
- '--with-python-path', self.spec['python'].prefix,
- '--with-python3-path', 'no'
- ])
+ if self.spec.satisfies("@6.1.1"):
+ if self.spec.satisfies("^python@3:"):
+ args.extend(
+ ["--with-python3-path", self.spec["python"].prefix, "--with-python-path", "no"]
+ )
+ elif self.spec.satisfies("^python@:2.9"):
+ args.extend(
+ ["--with-python-path", self.spec["python"].prefix, "--with-python3-path", "no"]
+ )
else:
- args.extend([
- '--with-python-path', 'no',
- '--with-python3-path', 'no'
- ])
+ args.extend(["--with-python-path", "no", "--with-python3-path", "no"])
else:
# versions 7 and above, where --with-python-path recognized the
# python version:
- if self.spec.satisfies('^python@3:'):
- args.extend([
- '--with-python-path', self.spec['python'].prefix,
- '--with-python2-path', 'no'
- ])
- elif self.spec.satisfies('^python@:2.9'):
- args.extend([
- '--with-python-path', self.spec['python'].prefix,
- '--with-python3-path', 'no'
- ])
+ if self.spec.satisfies("^python@3:"):
+ args.extend(
+ ["--with-python-path", self.spec["python"].prefix, "--with-python2-path", "no"]
+ )
+ elif self.spec.satisfies("^python@:2.9"):
+ args.extend(
+ ["--with-python-path", self.spec["python"].prefix, "--with-python3-path", "no"]
+ )
else:
- args.extend([
- '--with-python2-path', 'no',
- '--with-python3-path', 'no'
- ])
+ args.extend(["--with-python2-path", "no", "--with-python3-path", "no"])
# disable these bits
- for p in ['mysql', 'xrootd']:
- args.append('--with-{0}-path=no'.format(p))
+ for p in ["mysql", "xrootd"]:
+ args.append("--with-{0}-path=no".format(p))
# point these bits at the Spack installations
- for p in ['openssl', 'perl', 'readline', 'swig', 'zlib']:
- args.append('--with-{0}-path={1}'.format(p, self.spec[p].prefix))
+ for p in ["openssl", "perl", "readline", "swig", "zlib"]:
+ args.append("--with-{0}-path={1}".format(p, self.spec[p].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/cdbfasta/package.py b/var/spack/repos/builtin/packages/cdbfasta/package.py
index b1c6aaa623..f52368e0b6 100644
--- a/var/spack/repos/builtin/packages/cdbfasta/package.py
+++ b/var/spack/repos/builtin/packages/cdbfasta/package.py
@@ -10,13 +10,13 @@ class Cdbfasta(MakefilePackage):
"""Fast indexing and retrieval of fasta records from flat file databases"""
homepage = "https://github.com/gpertea/cdbfasta"
- git = "https://github.com/gpertea/cdbfasta.git"
+ git = "https://github.com/gpertea/cdbfasta.git"
- version('2017-03-16', commit='b3e481fe02dfbc767a3842bcb1b687c60376a5e8')
+ version("2017-03-16", commit="b3e481fe02dfbc767a3842bcb1b687c60376a5e8")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('cdbfasta', prefix.bin)
- install('cdbyank', prefix.bin)
+ install("cdbfasta", prefix.bin)
+ install("cdbyank", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cdd/package.py b/var/spack/repos/builtin/packages/cdd/package.py
index cb0d7e4948..a02f16aa84 100644
--- a/var/spack/repos/builtin/packages/cdd/package.py
+++ b/var/spack/repos/builtin/packages/cdd/package.py
@@ -13,10 +13,11 @@ class Cdd(Package):
generating all vertices (i.e. extreme points) and extreme rays of
a general convex polyhedron given by a system of linear
inequalities"""
+
homepage = "https://www.inf.ethz.ch/personal/fukudak/cdd_home/cdd.html"
- url = "https://www.cs.mcgill.ca/~fukuda/download/cdd/cdd-061a.tar.gz"
+ url = "https://www.cs.mcgill.ca/~fukuda/download/cdd/cdd-061a.tar.gz"
- version('0.61a', sha256='637a1909bbd8aa4d32667da08f9e9ac687bf7d3ef1b8af5bd227e91a3cd4019b')
+ version("0.61a", sha256="637a1909bbd8aa4d32667da08f9e9ac687bf7d3ef1b8af5bd227e91a3cd4019b")
depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/cddlib/package.py b/var/spack/repos/builtin/packages/cddlib/package.py
index be67daf1e3..898458c501 100644
--- a/var/spack/repos/builtin/packages/cddlib/package.py
+++ b/var/spack/repos/builtin/packages/cddlib/package.py
@@ -14,16 +14,16 @@ class Cddlib(AutotoolsPackage):
of linear inequalities"""
homepage = "https://people.inf.ethz.ch/fukudak/cdd_home"
- url = "https://github.com/cddlib/cddlib/archive/refs/tags/0.94m.tar.gz"
- maintainers = ['NessieCanCode']
- version('0.94m', sha256='70dffdb3369b8704dc75428a1b3c42ab9047b81ce039f12f427e2eb2b1b0dee2')
- version('0.94h', sha256='7382782c3834214b022c8b2898ed775a7bf915f2cb2acb73fa045d6fd9a3de33')
+ url = "https://github.com/cddlib/cddlib/archive/refs/tags/0.94m.tar.gz"
+ maintainers = ["NessieCanCode"]
+ version("0.94m", sha256="70dffdb3369b8704dc75428a1b3c42ab9047b81ce039f12f427e2eb2b1b0dee2")
+ version("0.94h", sha256="7382782c3834214b022c8b2898ed775a7bf915f2cb2acb73fa045d6fd9a3de33")
- depends_on("gmp", when='@0.94h')
+ depends_on("gmp", when="@0.94h")
def url_for_version(self, version):
- if self.spec.satisfies('@:0.94i'):
+ if self.spec.satisfies("@:0.94i"):
url = "https://github.com/cddlib/cddlib/archive/refs/tags/{0}.tar.gz"
- elif self.spec.satisfies('@0.94j:'):
+ elif self.spec.satisfies("@0.94j:"):
url = "https://github.com/cddlib/cddlib/releases/download/{0}/cddlib-{0}.tar.gz"
return url.format(version.dotted)
diff --git a/var/spack/repos/builtin/packages/cdecimal/package.py b/var/spack/repos/builtin/packages/cdecimal/package.py
index 2a0a79fc3a..6c454472d5 100644
--- a/var/spack/repos/builtin/packages/cdecimal/package.py
+++ b/var/spack/repos/builtin/packages/cdecimal/package.py
@@ -11,8 +11,8 @@ class Cdecimal(AutotoolsPackage):
Python's standard library."""
homepage = "https://www.bytereef.org/mpdecimal/"
- url = "https://www.bytereef.org/software/mpdecimal/releases/cdecimal-2.3.tar.gz"
+ url = "https://www.bytereef.org/software/mpdecimal/releases/cdecimal-2.3.tar.gz"
- version('2.3', sha256='d737cbe43ed1f6ad9874fb86c3db1e9bbe20c0c750868fde5be3f379ade83d8b')
+ version("2.3", sha256="d737cbe43ed1f6ad9874fb86c3db1e9bbe20c0c750868fde5be3f379ade83d8b")
- patch('darwin_install_name.patch', when='platform=darwin')
+ patch("darwin_install_name.patch", when="platform=darwin")
diff --git a/var/spack/repos/builtin/packages/cdhit/package.py b/var/spack/repos/builtin/packages/cdhit/package.py
index a6ca22b3c1..9e5e219ca4 100644
--- a/var/spack/repos/builtin/packages/cdhit/package.py
+++ b/var/spack/repos/builtin/packages/cdhit/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Cdhit(MakefilePackage):
"""CD-HIT is a very widely used program for clustering and comparing
- protein or nucleotide sequences."""
+ protein or nucleotide sequences."""
homepage = "http://cd-hit.org/"
- url = "https://github.com/weizhongli/cdhit/archive/V4.6.8.tar.gz"
+ url = "https://github.com/weizhongli/cdhit/archive/V4.6.8.tar.gz"
- version('4.8.1', sha256='f8bc3cdd7aebb432fcd35eed0093e7a6413f1e36bbd2a837ebc06e57cdb20b70')
- version('4.6.8', sha256='37d685e4aa849314401805fe4d4db707e1d06070368475e313d6f3cb8fb65949')
+ version("4.8.1", sha256="f8bc3cdd7aebb432fcd35eed0093e7a6413f1e36bbd2a837ebc06e57cdb20b70")
+ version("4.6.8", sha256="37d685e4aa849314401805fe4d4db707e1d06070368475e313d6f3cb8fb65949")
- variant('openmp', default=True, description='Compile with multi-threading support')
- variant('zlib', default=True, description='Compile with zlib')
+ variant("openmp", default=True, description="Compile with multi-threading support")
+ variant("zlib", default=True, description="Compile with zlib")
- depends_on('perl', type=('build', 'run'))
- depends_on('zlib', when='+zlib', type='link')
+ depends_on("perl", type=("build", "run"))
+ depends_on("zlib", when="+zlib", type="link")
def build(self, spec, prefix):
mkdirp(prefix.bin)
make_args = []
- if '~openmp' in spec:
- make_args.append('openmp=no')
- if '~zlib' in spec:
- make_args.append('zlib=no')
+ if "~openmp" in spec:
+ make_args.append("openmp=no")
+ if "~zlib" in spec:
+ make_args.append("zlib=no")
make(*make_args)
def setup_build_environment(self, env):
- env.set('PREFIX', self.prefix.bin)
+ env.set("PREFIX", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cdo/package.py b/var/spack/repos/builtin/packages/cdo/package.py
index 7b14b8a692..7427dd7e32 100644
--- a/var/spack/repos/builtin/packages/cdo/package.py
+++ b/var/spack/repos/builtin/packages/cdo/package.py
@@ -11,83 +11,163 @@ from spack.util.environment import is_system_path
class Cdo(AutotoolsPackage):
"""CDO is a collection of command line Operators to manipulate and analyse
- Climate and NWP model Data.
+ Climate and NWP model Data.
"""
- homepage = 'https://code.mpimet.mpg.de/projects/cdo'
- url = 'https://code.mpimet.mpg.de/attachments/download/12760/cdo-1.7.2.tar.gz'
- list_url = 'https://code.mpimet.mpg.de/projects/cdo/files'
-
- maintainers = ['skosukhin', 'Try2Code']
-
- version('2.0.5', sha256='edeebbf1c3b1a1f0c642dae6bc8c7624e0c54babe461064dc5c7daca4a5b0dce', url='https://code.mpimet.mpg.de/attachments/download/26823/cdo-2.0.5.tar.gz')
- version('2.0.4', sha256='73c0c1e5348632e6e8452ea8e617c35499bc55c845ee2c1d42b912a7e00e5533', url='https://code.mpimet.mpg.de/attachments/download/26761/cdo-2.0.4.tar.gz')
- version('2.0.3', sha256='25520260ccb4e5324c27fa2160dfafc8152b180dd7f0133bd80425df3ef7c65a', url='https://code.mpimet.mpg.de/attachments/download/26676/cdo-2.0.3.tar.gz')
- version('2.0.2', sha256='34dfdd0d4126cfd35fc69e37e60901c8622d13ec5b3fa5f0fe6a1cc866cc5a70', url='https://code.mpimet.mpg.de/attachments/download/26654/cdo-2.0.2.tar.gz')
- version('2.0.1', sha256='d0794d261e22efa0adac8e6d18de2b60d54de5e1a4df6127c65fc417feb8fdac', url='https://code.mpimet.mpg.de/attachments/download/26477/cdo-2.0.1.tar.gz')
- version('2.0.0', sha256='6bca54e9d69d8c1f072f1996547b7347a65743d15ba751967e9bb16e0ff7a843', url='https://code.mpimet.mpg.de/attachments/download/26370/cdo-2.0.0.tar.gz')
- version('1.9.10', sha256='cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e', url='https://code.mpimet.mpg.de/attachments/download/24638/cdo-1.9.10.tar.gz')
- version('1.9.9', sha256='959b5b58f495d521a7fd1daa84644888ec87d6a0df43f22ad950d17aee5ba98d', url='https://code.mpimet.mpg.de/attachments/download/23323/cdo-1.9.9.tar.gz')
- version('1.9.8', sha256='f2660ac6f8bf3fa071cf2a3a196b3ec75ad007deb3a782455e80f28680c5252a', url='https://code.mpimet.mpg.de/attachments/download/20826/cdo-1.9.8.tar.gz')
- version('1.9.7.1', sha256='3771952e065bcf935d43e492707370ed2a0ecb59a06bea24f9ab69d77943962c', url='https://code.mpimet.mpg.de/attachments/download/20124/cdo-1.9.7.1.tar.gz')
- version('1.9.6', sha256='b31474c94548d21393758caa33f35cf7f423d5dfc84562ad80a2bdcb725b5585', url='https://code.mpimet.mpg.de/attachments/download/19299/cdo-1.9.6.tar.gz')
- version('1.9.5', sha256='48ed65cc5b436753c8e7f9eadd8aa97376698ce230ceafed2a4350a5b1a27148', url='https://code.mpimet.mpg.de/attachments/download/18264/cdo-1.9.5.tar.gz')
- version('1.9.4', sha256='3d1c0fd3f7d38c5d3d88139ca1546c9d24e1b1ff752a794a4194dfe624695def', url='https://code.mpimet.mpg.de/attachments/download/17374/cdo-1.9.4.tar.gz')
- version('1.9.3', sha256='e83a3de7b402600c0d9a5df18073d36d133ff9719d3c561a0efa90f9c1599f3f', url='https://code.mpimet.mpg.de/attachments/download/16435/cdo-1.9.3.tar.gz')
- version('1.9.2', sha256='d1c5092167034a48e4b8ada24cf78a1d4b84e364ffbb08b9ca70d13f428f300c', url='https://code.mpimet.mpg.de/attachments/download/16035/cdo-1.9.2.tar.gz')
- version('1.9.1', sha256='33cba3cfcc27e5896769143c5f8e2f300ca14c7a40d1f19ffd1ed24b49ea3d55', url='https://code.mpimet.mpg.de/attachments/download/15653/cdo-1.9.1.tar.gz')
- version('1.9.0', sha256='df367f8c3abf4ab085bcfc61e0205b28a5ecc69b7b83ba398b4d3c874dd69008', url='https://code.mpimet.mpg.de/attachments/download/15187/cdo-1.9.0.tar.gz')
- version('1.8.2', sha256='6ca6c1263af2237737728ac937a275f8aa27680507636a6b6320f347c69a369a', url='https://code.mpimet.mpg.de/attachments/download/14686/cdo-1.8.2.tar.gz')
- version('1.7.2', sha256='4c43eba7a95f77457bfe0d30fb82382b3b5f2b0cf90aca6f0f0a008f6cc7e697', url='https://code.mpimet.mpg.de/attachments/download/12760/cdo-1.7.2.tar.gz')
-
- variant('netcdf', default=True, description='Enable NetCDF support')
- variant('grib2', default='eccodes', values=('eccodes', 'grib-api', 'none'),
- description='Specify GRIB2 backend')
- variant('external-grib1', default=False,
- description='Ignore the built-in support and use the external '
- 'GRIB2 backend for GRIB1 files')
- variant('szip', default=True,
- description='Enable szip compression for GRIB1')
- variant('hdf5', default=True, description='Enable HDF5 support')
-
- variant('udunits2', default=True, description='Enable UDUNITS2 support')
- variant('libxml2', default=True, description='Enable libxml2 support')
- variant('proj', default=True,
- description='Enable PROJ library for cartographic projections')
- variant('curl', default=False, description='Enable curl support')
- variant('fftw3', default=True, description='Enable support for fftw3')
- variant('magics', default=False,
- description='Enable Magics library support')
- variant('openmp', default=True, description='Enable OpenMP support')
-
- depends_on('pkgconfig', type='build')
-
- depends_on('netcdf-c', when='+netcdf')
+ homepage = "https://code.mpimet.mpg.de/projects/cdo"
+ url = "https://code.mpimet.mpg.de/attachments/download/12760/cdo-1.7.2.tar.gz"
+ list_url = "https://code.mpimet.mpg.de/projects/cdo/files"
+
+ maintainers = ["skosukhin", "Try2Code"]
+
+ version(
+ "2.0.5",
+ sha256="edeebbf1c3b1a1f0c642dae6bc8c7624e0c54babe461064dc5c7daca4a5b0dce",
+ url="https://code.mpimet.mpg.de/attachments/download/26823/cdo-2.0.5.tar.gz",
+ )
+ version(
+ "2.0.4",
+ sha256="73c0c1e5348632e6e8452ea8e617c35499bc55c845ee2c1d42b912a7e00e5533",
+ url="https://code.mpimet.mpg.de/attachments/download/26761/cdo-2.0.4.tar.gz",
+ )
+ version(
+ "2.0.3",
+ sha256="25520260ccb4e5324c27fa2160dfafc8152b180dd7f0133bd80425df3ef7c65a",
+ url="https://code.mpimet.mpg.de/attachments/download/26676/cdo-2.0.3.tar.gz",
+ )
+ version(
+ "2.0.2",
+ sha256="34dfdd0d4126cfd35fc69e37e60901c8622d13ec5b3fa5f0fe6a1cc866cc5a70",
+ url="https://code.mpimet.mpg.de/attachments/download/26654/cdo-2.0.2.tar.gz",
+ )
+ version(
+ "2.0.1",
+ sha256="d0794d261e22efa0adac8e6d18de2b60d54de5e1a4df6127c65fc417feb8fdac",
+ url="https://code.mpimet.mpg.de/attachments/download/26477/cdo-2.0.1.tar.gz",
+ )
+ version(
+ "2.0.0",
+ sha256="6bca54e9d69d8c1f072f1996547b7347a65743d15ba751967e9bb16e0ff7a843",
+ url="https://code.mpimet.mpg.de/attachments/download/26370/cdo-2.0.0.tar.gz",
+ )
+ version(
+ "1.9.10",
+ sha256="cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e",
+ url="https://code.mpimet.mpg.de/attachments/download/24638/cdo-1.9.10.tar.gz",
+ )
+ version(
+ "1.9.9",
+ sha256="959b5b58f495d521a7fd1daa84644888ec87d6a0df43f22ad950d17aee5ba98d",
+ url="https://code.mpimet.mpg.de/attachments/download/23323/cdo-1.9.9.tar.gz",
+ )
+ version(
+ "1.9.8",
+ sha256="f2660ac6f8bf3fa071cf2a3a196b3ec75ad007deb3a782455e80f28680c5252a",
+ url="https://code.mpimet.mpg.de/attachments/download/20826/cdo-1.9.8.tar.gz",
+ )
+ version(
+ "1.9.7.1",
+ sha256="3771952e065bcf935d43e492707370ed2a0ecb59a06bea24f9ab69d77943962c",
+ url="https://code.mpimet.mpg.de/attachments/download/20124/cdo-1.9.7.1.tar.gz",
+ )
+ version(
+ "1.9.6",
+ sha256="b31474c94548d21393758caa33f35cf7f423d5dfc84562ad80a2bdcb725b5585",
+ url="https://code.mpimet.mpg.de/attachments/download/19299/cdo-1.9.6.tar.gz",
+ )
+ version(
+ "1.9.5",
+ sha256="48ed65cc5b436753c8e7f9eadd8aa97376698ce230ceafed2a4350a5b1a27148",
+ url="https://code.mpimet.mpg.de/attachments/download/18264/cdo-1.9.5.tar.gz",
+ )
+ version(
+ "1.9.4",
+ sha256="3d1c0fd3f7d38c5d3d88139ca1546c9d24e1b1ff752a794a4194dfe624695def",
+ url="https://code.mpimet.mpg.de/attachments/download/17374/cdo-1.9.4.tar.gz",
+ )
+ version(
+ "1.9.3",
+ sha256="e83a3de7b402600c0d9a5df18073d36d133ff9719d3c561a0efa90f9c1599f3f",
+ url="https://code.mpimet.mpg.de/attachments/download/16435/cdo-1.9.3.tar.gz",
+ )
+ version(
+ "1.9.2",
+ sha256="d1c5092167034a48e4b8ada24cf78a1d4b84e364ffbb08b9ca70d13f428f300c",
+ url="https://code.mpimet.mpg.de/attachments/download/16035/cdo-1.9.2.tar.gz",
+ )
+ version(
+ "1.9.1",
+ sha256="33cba3cfcc27e5896769143c5f8e2f300ca14c7a40d1f19ffd1ed24b49ea3d55",
+ url="https://code.mpimet.mpg.de/attachments/download/15653/cdo-1.9.1.tar.gz",
+ )
+ version(
+ "1.9.0",
+ sha256="df367f8c3abf4ab085bcfc61e0205b28a5ecc69b7b83ba398b4d3c874dd69008",
+ url="https://code.mpimet.mpg.de/attachments/download/15187/cdo-1.9.0.tar.gz",
+ )
+ version(
+ "1.8.2",
+ sha256="6ca6c1263af2237737728ac937a275f8aa27680507636a6b6320f347c69a369a",
+ url="https://code.mpimet.mpg.de/attachments/download/14686/cdo-1.8.2.tar.gz",
+ )
+ version(
+ "1.7.2",
+ sha256="4c43eba7a95f77457bfe0d30fb82382b3b5f2b0cf90aca6f0f0a008f6cc7e697",
+ url="https://code.mpimet.mpg.de/attachments/download/12760/cdo-1.7.2.tar.gz",
+ )
+
+ variant("netcdf", default=True, description="Enable NetCDF support")
+ variant(
+ "grib2",
+ default="eccodes",
+ values=("eccodes", "grib-api", "none"),
+ description="Specify GRIB2 backend",
+ )
+ variant(
+ "external-grib1",
+ default=False,
+ description="Ignore the built-in support and use the external "
+ "GRIB2 backend for GRIB1 files",
+ )
+ variant("szip", default=True, description="Enable szip compression for GRIB1")
+ variant("hdf5", default=True, description="Enable HDF5 support")
+
+ variant("udunits2", default=True, description="Enable UDUNITS2 support")
+ variant("libxml2", default=True, description="Enable libxml2 support")
+ variant("proj", default=True, description="Enable PROJ library for cartographic projections")
+ variant("curl", default=False, description="Enable curl support")
+ variant("fftw3", default=True, description="Enable support for fftw3")
+ variant("magics", default=False, description="Enable Magics library support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+
+ depends_on("pkgconfig", type="build")
+
+ depends_on("netcdf-c", when="+netcdf")
# The internal library of CDO implicitly links to hdf5.
# We also need the backend of netcdf to be thread safe.
- depends_on('hdf5+threadsafe', when='+netcdf')
+ depends_on("hdf5+threadsafe", when="+netcdf")
- depends_on('grib-api', when='grib2=grib-api')
- depends_on('eccodes', when='grib2=eccodes')
+ depends_on("grib-api", when="grib2=grib-api")
+ depends_on("eccodes", when="grib2=eccodes")
- depends_on('szip', when='+szip')
+ depends_on("szip", when="+szip")
- depends_on('hdf5+threadsafe', when='+hdf5')
+ depends_on("hdf5+threadsafe", when="+hdf5")
- depends_on('udunits', when='+udunits2')
- depends_on('libxml2', when='+libxml2')
- depends_on('proj@:5', when='@:1.9.6+proj')
- depends_on('proj@:7', when='@1.9.7+proj')
- depends_on('proj@5:', when='@1.9.8:+proj')
- depends_on('curl', when='+curl')
- depends_on('fftw-api@3:', when='+fftw3')
- depends_on('magics', when='+magics')
- depends_on('uuid')
+ depends_on("udunits", when="+udunits2")
+ depends_on("libxml2", when="+libxml2")
+ depends_on("proj@:5", when="@:1.9.6+proj")
+ depends_on("proj@:7", when="@1.9.7+proj")
+ depends_on("proj@5:", when="@1.9.8:+proj")
+ depends_on("curl", when="+curl")
+ depends_on("fftw-api@3:", when="+fftw3")
+ depends_on("magics", when="+magics")
+ depends_on("uuid")
- conflicts('+szip', when='+external-grib1 grib2=none',
- msg='The configuration does not support GRIB1')
- conflicts('%gcc@9:', when='@:1.9.6',
- msg='GCC 9 changed OpenMP data sharing behavior')
+ conflicts(
+ "+szip", when="+external-grib1 grib2=none", msg="The configuration does not support GRIB1"
+ )
+ conflicts("%gcc@9:", when="@:1.9.6", msg="GCC 9 changed OpenMP data sharing behavior")
def configure_args(self):
config_args = []
@@ -96,94 +176,89 @@ class Cdo(AutotoolsPackage):
def yes_or_prefix(spec_name):
prefix = self.spec[spec_name].prefix
- return 'yes' if is_system_path(prefix) else prefix
+ return "yes" if is_system_path(prefix) else prefix
- if '+netcdf' in self.spec:
- config_args.append('--with-netcdf=' + yes_or_prefix('netcdf-c'))
+ if "+netcdf" in self.spec:
+ config_args.append("--with-netcdf=" + yes_or_prefix("netcdf-c"))
# We need to make sure that the libtool script of libcdi - the
# internal library of CDO - finds the correct version of hdf5.
# Note that the argument of --with-hdf5 is not passed to the
# configure script of libcdi, therefore we have to provide
# additional flags regardless of whether hdf5 support is enabled.
- hdf5_spec = self.spec['hdf5']
+ hdf5_spec = self.spec["hdf5"]
if not is_system_path(hdf5_spec.prefix):
- flags['LDFLAGS'].append(self.spec['hdf5'].libs.search_flags)
+ flags["LDFLAGS"].append(self.spec["hdf5"].libs.search_flags)
else:
- config_args.append('--without-netcdf')
+ config_args.append("--without-netcdf")
- if self.spec.variants['grib2'].value == 'eccodes':
- if self.spec.satisfies('@1.9:'):
- config_args.append('--with-eccodes=' + yes_or_prefix('eccodes'))
- config_args.append('--without-grib_api')
+ if self.spec.variants["grib2"].value == "eccodes":
+ if self.spec.satisfies("@1.9:"):
+ config_args.append("--with-eccodes=" + yes_or_prefix("eccodes"))
+ config_args.append("--without-grib_api")
else:
- config_args.append('--with-grib_api=yes')
- eccodes_spec = self.spec['eccodes']
+ config_args.append("--with-grib_api=yes")
+ eccodes_spec = self.spec["eccodes"]
eccodes_libs = eccodes_spec.libs
- flags['LIBS'].append(eccodes_libs.link_flags)
+ flags["LIBS"].append(eccodes_libs.link_flags)
if not is_system_path(eccodes_spec.prefix):
- flags['LDFLAGS'].append(eccodes_libs.search_flags)
- elif self.spec.variants['grib2'].value == 'grib-api':
- config_args.append('--with-grib_api=' + yes_or_prefix('grib-api'))
- if self.spec.satisfies('@1.9:'):
- config_args.append('--without-eccodes')
+ flags["LDFLAGS"].append(eccodes_libs.search_flags)
+ elif self.spec.variants["grib2"].value == "grib-api":
+ config_args.append("--with-grib_api=" + yes_or_prefix("grib-api"))
+ if self.spec.satisfies("@1.9:"):
+ config_args.append("--without-eccodes")
else:
- config_args.append('--without-grib_api')
- if self.spec.satisfies('@1.9:'):
- config_args.append('--without-eccodes')
+ config_args.append("--without-grib_api")
+ if self.spec.satisfies("@1.9:"):
+ config_args.append("--without-eccodes")
- if '+external-grib1' in self.spec:
- config_args.append('--disable-cgribex')
+ if "+external-grib1" in self.spec:
+ config_args.append("--disable-cgribex")
else:
- config_args.append('--enable-cgribex')
+ config_args.append("--enable-cgribex")
- if '+szip' in self.spec:
- config_args.append('--with-szlib=' + yes_or_prefix('szip'))
+ if "+szip" in self.spec:
+ config_args.append("--with-szlib=" + yes_or_prefix("szip"))
else:
- config_args.append('--without-szlib')
+ config_args.append("--without-szlib")
- config_args += self.with_or_without('hdf5',
- activation_value=yes_or_prefix)
+ config_args += self.with_or_without("hdf5", activation_value=yes_or_prefix)
config_args += self.with_or_without(
- 'udunits2',
- activation_value=lambda x: yes_or_prefix('udunits'))
+ "udunits2", activation_value=lambda x: yes_or_prefix("udunits")
+ )
- if '+libxml2' in self.spec:
- libxml2_spec = self.spec['libxml2']
+ if "+libxml2" in self.spec:
+ libxml2_spec = self.spec["libxml2"]
if is_system_path(libxml2_spec.prefix):
- config_args.append('--with-libxml2=yes')
+ config_args.append("--with-libxml2=yes")
# Spack does not inject the header search flag in this case,
# which is still required, unless libxml2 is installed to '/usr'
# (handled by the configure script of CDO).
- if libxml2_spec.prefix != '/usr':
- flags['CPPFLAGS'].append(libxml2_spec.headers.include_flags)
+ if libxml2_spec.prefix != "/usr":
+ flags["CPPFLAGS"].append(libxml2_spec.headers.include_flags)
else:
- config_args.append('--with-libxml2=' + libxml2_spec.prefix)
+ config_args.append("--with-libxml2=" + libxml2_spec.prefix)
else:
- config_args.append('--without-libxml2')
+ config_args.append("--without-libxml2")
- config_args += self.with_or_without('proj',
- activation_value=yes_or_prefix)
+ config_args += self.with_or_without("proj", activation_value=yes_or_prefix)
- config_args += self.with_or_without('curl',
- activation_value=yes_or_prefix)
+ config_args += self.with_or_without("curl", activation_value=yes_or_prefix)
- config_args += self.with_or_without('magics',
- activation_value=yes_or_prefix)
+ config_args += self.with_or_without("magics", activation_value=yes_or_prefix)
- config_args += self.with_or_without('fftw3')
+ config_args += self.with_or_without("fftw3")
- config_args += self.enable_or_disable('openmp')
+ config_args += self.enable_or_disable("openmp")
# Starting version 1.9.0 CDO is a C++ program but it uses the C
# interface of HDF5 without the parallel features. To avoid
# unnecessary dependencies on mpi's cxx library, we need to set the
# following flags. This works for OpenMPI, MPICH, MVAPICH, Intel MPI,
# IBM Spectrum MPI, bullx MPI, and Cray MPI.
- if self.spec.satisfies('@1.9:+hdf5^hdf5+mpi'):
- flags['CPPFLAGS'].append('-DOMPI_SKIP_MPICXX -DMPICH_SKIP_MPICXX')
+ if self.spec.satisfies("@1.9:+hdf5^hdf5+mpi"):
+ flags["CPPFLAGS"].append("-DOMPI_SKIP_MPICXX -DMPICH_SKIP_MPICXX")
- config_args.extend(['{0}={1}'.format(var, ' '.join(val))
- for var, val in flags.items()])
+ config_args.extend(["{0}={1}".format(var, " ".join(val)) for var, val in flags.items()])
return config_args
diff --git a/var/spack/repos/builtin/packages/ceed/package.py b/var/spack/repos/builtin/packages/ceed/package.py
index 1731b4d57f..e2fb0ffb4f 100644
--- a/var/spack/repos/builtin/packages/ceed/package.py
+++ b/var/spack/repos/builtin/packages/ceed/package.py
@@ -8,304 +8,326 @@ from spack.package import *
class Ceed(BundlePackage, CudaPackage, ROCmPackage):
"""Ceed is a collection of benchmarks, miniapps, software libraries and
- APIs for efficient high-order finite element and spectral element
- discretizations for exascale applications developed in the Department of
- Energy (DOE) and partially supported by the Exascale Computing Project
- (ECP). This is a Spack bundle package that installs the CEED software
- components."""
+ APIs for efficient high-order finite element and spectral element
+ discretizations for exascale applications developed in the Department of
+ Energy (DOE) and partially supported by the Exascale Computing Project
+ (ECP). This is a Spack bundle package that installs the CEED software
+ components."""
homepage = "https://ceed.exascaleproject.org"
- maintainers = ['jedbrown', 'v-dobrev', 'tzanio']
+ maintainers = ["jedbrown", "v-dobrev", "tzanio"]
- version('5.0.0')
- version('4.0.0')
- version('3.0.0')
- version('2.0.0')
- version('1.0.0')
+ version("5.0.0")
+ version("4.0.0")
+ version("3.0.0")
+ version("2.0.0")
+ version("1.0.0")
- variant('mfem', default=True, description='Build MFEM, Laghos and Remhos')
- variant('nek', default=True,
- description='Build Nek5000, GSLIB, Nekbone, and NekCEM')
- variant('occa', default=True,
- description='Enable OCCA support')
- variant('petsc', default=True,
- description='Build PETSc and HPGMG')
- variant('pumi', default=True,
- description='Build PUMI')
- variant('omega-h', default=True,
- description='Build Omega_h')
- variant('quickbuild', default=True,
- description='Speed-up the build by disabling variants in packages')
+ variant("mfem", default=True, description="Build MFEM, Laghos and Remhos")
+ variant("nek", default=True, description="Build Nek5000, GSLIB, Nekbone, and NekCEM")
+ variant("occa", default=True, description="Enable OCCA support")
+ variant("petsc", default=True, description="Build PETSc and HPGMG")
+ variant("pumi", default=True, description="Build PUMI")
+ variant("omega-h", default=True, description="Build Omega_h")
+ variant(
+ "quickbuild",
+ default=True,
+ description="Speed-up the build by disabling variants in packages",
+ )
# TODO: Add 'int64' variant?
# LibCEED
# ceed 5.0
- with when('@5.0.0'):
- depends_on('libceed@0.10~occa')
- depends_on('libceed~cuda', when='~cuda')
+ with when("@5.0.0"):
+ depends_on("libceed@0.10~occa")
+ depends_on("libceed~cuda", when="~cuda")
for arch in CudaPackage.cuda_arch_values:
- depends_on('libceed+cuda+magma cuda_arch={0}'.format(arch),
- when='+cuda cuda_arch={0}'.format(arch))
- depends_on('libceed~rocm', when='~rocm')
+ depends_on(
+ "libceed+cuda+magma cuda_arch={0}".format(arch),
+ when="+cuda cuda_arch={0}".format(arch),
+ )
+ depends_on("libceed~rocm", when="~rocm")
for target in ROCmPackage.amdgpu_targets:
- depends_on('libceed+rocm amdgpu_target={0}'.format(target),
- when='+rocm amdgpu_target={0}'.format(target))
+ depends_on(
+ "libceed+rocm amdgpu_target={0}".format(target),
+ when="+rocm amdgpu_target={0}".format(target),
+ )
# ceed 4.0
- depends_on('libceed@0.8~cuda', when='@4.0.0~cuda')
+ depends_on("libceed@0.8~cuda", when="@4.0.0~cuda")
for arch in CudaPackage.cuda_arch_values:
- depends_on('libceed@0.8+cuda+magma cuda_arch={0}'.format(arch),
- when='@4.0.0+cuda cuda_arch={0}'.format(arch))
- depends_on('libceed@0.8~rocm', when='@4.0.0~rocm')
+ depends_on(
+ "libceed@0.8+cuda+magma cuda_arch={0}".format(arch),
+ when="@4.0.0+cuda cuda_arch={0}".format(arch),
+ )
+ depends_on("libceed@0.8~rocm", when="@4.0.0~rocm")
for target in ROCmPackage.amdgpu_targets:
- depends_on('libceed@0.8+rocm amdgpu_target={0}'.format(target),
- when='@4.0.0+rocm amdgpu_target={0}'.format(target))
- depends_on('libceed@0.8+occa', when='@4.0.0+occa')
- depends_on('libceed@0.8~occa', when='@4.0.0~occa')
+ depends_on(
+ "libceed@0.8+rocm amdgpu_target={0}".format(target),
+ when="@4.0.0+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on("libceed@0.8+occa", when="@4.0.0+occa")
+ depends_on("libceed@0.8~occa", when="@4.0.0~occa")
# ceed-3.0
- depends_on('libceed@0.6~cuda', when='@3.0.0~cuda')
- depends_on('libceed@0.6+cuda+magma', when='@3.0.0+cuda')
- depends_on('libceed@0.6+occa', when='@3.0.0+occa')
- depends_on('libceed@0.6~occa', when='@3.0.0~occa')
+ depends_on("libceed@0.6~cuda", when="@3.0.0~cuda")
+ depends_on("libceed@0.6+cuda+magma", when="@3.0.0+cuda")
+ depends_on("libceed@0.6+occa", when="@3.0.0+occa")
+ depends_on("libceed@0.6~occa", when="@3.0.0~occa")
# ceed-2.0
- depends_on('libceed@0.4~cuda', when='@2.0.0~cuda')
- depends_on('libceed@0.4+cuda', when='@2.0.0+cuda')
- depends_on('libceed@0.4+occa', when='@2.0.0+occa')
- depends_on('libceed@0.4~occa', when='@2.0.0~occa')
+ depends_on("libceed@0.4~cuda", when="@2.0.0~cuda")
+ depends_on("libceed@0.4+cuda", when="@2.0.0+cuda")
+ depends_on("libceed@0.4+occa", when="@2.0.0+occa")
+ depends_on("libceed@0.4~occa", when="@2.0.0~occa")
# ceed-1.0
- depends_on('libceed@0.2~cuda', when='@1.0.0~cuda')
- depends_on('libceed@0.2+cuda', when='@1.0.0+cuda')
- depends_on('libceed@0.2+occa', when='@1.0.0+occa')
- depends_on('libceed@0.2~occa', when='@1.0.0~occa')
+ depends_on("libceed@0.2~cuda", when="@1.0.0~cuda")
+ depends_on("libceed@0.2+cuda", when="@1.0.0+cuda")
+ depends_on("libceed@0.2+occa", when="@1.0.0+occa")
+ depends_on("libceed@0.2~occa", when="@1.0.0~occa")
# FMS
# ceed-5.0
- depends_on('libfms@0.2.0', when='@5.0.0')
- depends_on('libfms@0.2.0~conduit', when='@5.0.0+quickbuild')
+ depends_on("libfms@0.2.0", when="@5.0.0")
+ depends_on("libfms@0.2.0~conduit", when="@5.0.0+quickbuild")
# OCCA
# ceed-5.0
- depends_on('occa@1.1.0~cuda', when='@5.0.0+occa~cuda')
- depends_on('occa@1.1.0+cuda', when='@5.0.0+occa+cuda')
+ depends_on("occa@1.1.0~cuda", when="@5.0.0+occa~cuda")
+ depends_on("occa@1.1.0+cuda", when="@5.0.0+occa+cuda")
# ceed-4.0
- depends_on('occa@1.1.0~cuda', when='@4.0.0+occa~cuda')
- depends_on('occa@1.1.0+cuda', when='@4.0.0+occa+cuda')
+ depends_on("occa@1.1.0~cuda", when="@4.0.0+occa~cuda")
+ depends_on("occa@1.1.0+cuda", when="@4.0.0+occa+cuda")
# ceed-3.0
- depends_on('occa@1.0.9~cuda', when='@3.0.0+occa~cuda')
- depends_on('occa@1.0.9+cuda', when='@3.0.0+occa+cuda')
+ depends_on("occa@1.0.9~cuda", when="@3.0.0+occa~cuda")
+ depends_on("occa@1.0.9+cuda", when="@3.0.0+occa+cuda")
# ceed-2.0
- depends_on('occa@1.0.8~cuda', when='@2.0.0+occa~cuda')
- depends_on('occa@1.0.8+cuda', when='@2.0.0+occa+cuda')
+ depends_on("occa@1.0.8~cuda", when="@2.0.0+occa~cuda")
+ depends_on("occa@1.0.8+cuda", when="@2.0.0+occa+cuda")
# ceed-1.0
- depends_on('occa@1.0.0-alpha.5~cuda', when='@1.0.0+occa~cuda')
- depends_on('occa@1.0.0-alpha.5+cuda', when='@1.0.0+occa+cuda')
+ depends_on("occa@1.0.0-alpha.5~cuda", when="@1.0.0+occa~cuda")
+ depends_on("occa@1.0.0-alpha.5+cuda", when="@1.0.0+occa+cuda")
# NekRS
# ceed-4.0 and ceed-5.0
- depends_on('nekrs@21.0%gcc', when='@4.0.0:5+nek')
+ depends_on("nekrs@21.0%gcc", when="@4.0.0:5+nek")
for arch in CudaPackage.cuda_arch_values:
- depends_on('nekrs@21.0+cuda cuda_arch={0}'.format(arch),
- when='@4.0.0:5+nek+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "nekrs@21.0+cuda cuda_arch={0}".format(arch),
+ when="@4.0.0:5+nek+cuda cuda_arch={0}".format(arch),
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('nekrs@21.0+rocm amdgpu_target={0}'.format(target),
- when='@4.0.0:5+nek+rocm amdgpu_target={0}'.format(target))
+ depends_on(
+ "nekrs@21.0+rocm amdgpu_target={0}".format(target),
+ when="@4.0.0:5+nek+rocm amdgpu_target={0}".format(target),
+ )
# Nek5000, GSLIB, Nekbone, and NekCEM
# ceed-5.0 - specific
- depends_on('gslib@1.0.7', when='@5.0.0+nek')
+ depends_on("gslib@1.0.7", when="@5.0.0+nek")
# ceed-3.0, ceed-4.0, and ceed-5.0
- depends_on('nek5000@19.0', when='@3.0.0:5+nek')
- depends_on('nektools@19.0%gcc', when='@3.0.0:5+nek')
- depends_on('gslib@1.0.6', when='@3.0.0:4+nek')
- depends_on('nekbone@17.0', when='@3.0.0:5+nek')
- depends_on('nekcem@c8db04b', when='@3.0.0:5+nek')
+ depends_on("nek5000@19.0", when="@3.0.0:5+nek")
+ depends_on("nektools@19.0%gcc", when="@3.0.0:5+nek")
+ depends_on("gslib@1.0.6", when="@3.0.0:4+nek")
+ depends_on("nekbone@17.0", when="@3.0.0:5+nek")
+ depends_on("nekcem@c8db04b", when="@3.0.0:5+nek")
# ceed-2.0
- depends_on('nek5000@17.0', when='@2.0.0+nek')
- depends_on('nektools@17.0%gcc', when='@2.0.0+nek')
- depends_on('gslib@1.0.2', when='@2.0.0+nek')
- depends_on('nekbone@17.0', when='@2.0.0+nek')
- depends_on('nekcem@7332619', when='@2.0.0+nek')
+ depends_on("nek5000@17.0", when="@2.0.0+nek")
+ depends_on("nektools@17.0%gcc", when="@2.0.0+nek")
+ depends_on("gslib@1.0.2", when="@2.0.0+nek")
+ depends_on("nekbone@17.0", when="@2.0.0+nek")
+ depends_on("nekcem@7332619", when="@2.0.0+nek")
# ceed-1.0
- depends_on('nek5000@17.0', when='@1.0.0+nek')
- depends_on('nektools@17.0%gcc', when='@1.0.0+nek')
- depends_on('gslib@1.0.2', when='@1.0.0+nek')
- depends_on('nekbone@17.0', when='@1.0.0+nek')
- depends_on('nekcem@0b8bedd', when='@1.0.0+nek')
+ depends_on("nek5000@17.0", when="@1.0.0+nek")
+ depends_on("nektools@17.0%gcc", when="@1.0.0+nek")
+ depends_on("gslib@1.0.2", when="@1.0.0+nek")
+ depends_on("nekbone@17.0", when="@1.0.0+nek")
+ depends_on("nekcem@0b8bedd", when="@1.0.0+nek")
# PETSc
# ceed 5.0
- with when('@5.0.0+petsc'):
- depends_on('petsc@3.17')
- depends_on('ratel@0.1.2')
+ with when("@5.0.0+petsc"):
+ depends_on("petsc@3.17")
+ depends_on("ratel@0.1.2")
for arch in CudaPackage.cuda_arch_values:
- depends_on('petsc+cuda cuda_arch={0}'.format(arch),
- when='+cuda cuda_arch={0}'.format(arch))
- depends_on('ratel+cuda cuda_arch={0}'.format(arch),
- when='+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "petsc+cuda cuda_arch={0}".format(arch), when="+cuda cuda_arch={0}".format(arch)
+ )
+ depends_on(
+ "ratel+cuda cuda_arch={0}".format(arch), when="+cuda cuda_arch={0}".format(arch)
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('petsc+rocm amdgpu_target={0}'.format(target),
- when='+rocm amdgpu_target={0}'.format(target))
- depends_on('ratel+rocm amdgpu_target={0}'.format(target),
- when='+rocm amdgpu_target={0}'.format(target))
- depends_on('petsc~hdf5~superlu-dist', when='+quickbuild')
+ depends_on(
+ "petsc+rocm amdgpu_target={0}".format(target),
+ when="+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on(
+ "ratel+rocm amdgpu_target={0}".format(target),
+ when="+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on("petsc~hdf5~superlu-dist", when="+quickbuild")
# ceed 4.0
- depends_on('petsc@3.15.0:3.15', when='@4.0.0:4+petsc')
+ depends_on("petsc@3.15.0:3.15", when="@4.0.0:4+petsc")
for arch in CudaPackage.cuda_arch_values:
- depends_on('petsc+cuda cuda_arch={0}'.format(arch),
- when='@4.0.0+petsc+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "petsc+cuda cuda_arch={0}".format(arch),
+ when="@4.0.0+petsc+cuda cuda_arch={0}".format(arch),
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('petsc@3.15.0:3.15+rocm amdgpu_target={0}'.format(target),
- when='@4.0.0:4+petsc+rocm amdgpu_target={0}'.format(target))
- depends_on('petsc@3.15.0:3.15~hdf5~superlu-dist',
- when='@4.0.0+petsc+quickbuild')
- depends_on('petsc@3.15.0:3.15+mpi+double~int64', when='@4.0.0:4+petsc~mfem')
+ depends_on(
+ "petsc@3.15.0:3.15+rocm amdgpu_target={0}".format(target),
+ when="@4.0.0:4+petsc+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on("petsc@3.15.0:3.15~hdf5~superlu-dist", when="@4.0.0+petsc+quickbuild")
+ depends_on("petsc@3.15.0:3.15+mpi+double~int64", when="@4.0.0:4+petsc~mfem")
# ceed-3.0
- depends_on('petsc+cuda', when='@3.0.0+petsc+cuda')
+ depends_on("petsc+cuda", when="@3.0.0+petsc+cuda")
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc.
- depends_on('petsc@3.13.0:3.13~hdf5~superlu-dist',
- when='@3.0.0+petsc+quickbuild')
- depends_on('petsc@3.13.0:3.13+mpi+double~int64', when='@3.0.0+petsc~mfem')
+ depends_on("petsc@3.13.0:3.13~hdf5~superlu-dist", when="@3.0.0+petsc+quickbuild")
+ depends_on("petsc@3.13.0:3.13+mpi+double~int64", when="@3.0.0+petsc~mfem")
# Coax concretizer to use version of hypre required by transitive
# dependencies (mfem, petsc)
- depends_on('hypre@:2.18.2', when='@3.0.0+mfem')
+ depends_on("hypre@:2.18.2", when="@3.0.0+mfem")
# The mfem petsc examples need the petsc variants +hypre, +suite-sparse,
# and +mumps:
- depends_on('petsc@3.13.0:3.13+mpi+hypre+suite-sparse+mumps+double~int64',
- when='@3.0.0+petsc+mfem')
+ depends_on(
+ "petsc@3.13.0:3.13+mpi+hypre+suite-sparse+mumps+double~int64", when="@3.0.0+petsc+mfem"
+ )
# ceed-2.0
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc.
# Ideally, these can be turned into recommendations to Spack for
# concretizing the PETSc spec, if Spack ever supports recommendations.
- depends_on('petsc@3.11.1~hdf5~superlu-dist',
- when='@2.0.0+petsc+quickbuild')
- depends_on('petsc@3.11.1+mpi+double~int64', when='@2.0.0+petsc~mfem')
+ depends_on("petsc@3.11.1~hdf5~superlu-dist", when="@2.0.0+petsc+quickbuild")
+ depends_on("petsc@3.11.1+mpi+double~int64", when="@2.0.0+petsc~mfem")
# The mfem petsc examples need the petsc variants +hypre, +suite-sparse,
# and +mumps:
- depends_on('petsc@3.11.1+mpi+hypre+suite-sparse+mumps+double~int64',
- when='@2.0.0+petsc+mfem')
- depends_on('hpgmg@0.4+fe', when='@2.0.0+petsc')
+ depends_on("petsc@3.11.1+mpi+hypre+suite-sparse+mumps+double~int64", when="@2.0.0+petsc+mfem")
+ depends_on("hpgmg@0.4+fe", when="@2.0.0+petsc")
# ceed-1.0
# For a +quickbuild we disable hdf5, and superlu-dist in PETSc.
# Ideally, these can be turned into recommendations to Spack for
# concretizing the PETSc spec, if Spack ever supports recommendations.
- depends_on('petsc@3.8.3~hdf5~superlu-dist',
- when='@1.0.0+petsc+quickbuild')
- depends_on('petsc@3.8.3+mpi+double~int64', when='@1.0.0+petsc~mfem')
+ depends_on("petsc@3.8.3~hdf5~superlu-dist", when="@1.0.0+petsc+quickbuild")
+ depends_on("petsc@3.8.3+mpi+double~int64", when="@1.0.0+petsc~mfem")
# The mfem petsc examples need the petsc variants +hypre, +suite-sparse,
# and +mumps:
- depends_on('petsc@3.8.3+mpi+hypre+suite-sparse+mumps+double~int64',
- when='@1.0.0+petsc+mfem')
- depends_on('hpgmg@a0a5510df23b+fe', when='@1.0.0+petsc')
+ depends_on("petsc@3.8.3+mpi+hypre+suite-sparse+mumps+double~int64", when="@1.0.0+petsc+mfem")
+ depends_on("hpgmg@a0a5510df23b+fe", when="@1.0.0+petsc")
# MAGMA
# ceed 5.0
for arch in CudaPackage.cuda_arch_values:
- depends_on('magma@2.6.2+cuda cuda_arch={0}'.format(arch),
- when='@5.0.0+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "magma@2.6.2+cuda cuda_arch={0}".format(arch),
+ when="@5.0.0+cuda cuda_arch={0}".format(arch),
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('magma@2.6.2~cuda+rocm amdgpu_target={0}'.format(target),
- when='@5.0.0+rocm amdgpu_target={0}'.format(target))
+ depends_on(
+ "magma@2.6.2~cuda+rocm amdgpu_target={0}".format(target),
+ when="@5.0.0+rocm amdgpu_target={0}".format(target),
+ )
# ceed-4.0
for arch in CudaPackage.cuda_arch_values:
- depends_on('magma@2.5.4 cuda_arch={0}'.format(arch),
- when='@4.0.0+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "magma@2.5.4 cuda_arch={0}".format(arch), when="@4.0.0+cuda cuda_arch={0}".format(arch)
+ )
# ceed-3.0
- depends_on('magma@2.5.3', when='@3.0.0+cuda')
+ depends_on("magma@2.5.3", when="@3.0.0+cuda")
# ceed-2.0
- depends_on('magma@2.5.0', when='@2.0.0+cuda')
+ depends_on("magma@2.5.0", when="@2.0.0+cuda")
# ceed-1.0
- depends_on('magma@2.3.0', when='@1.0.0+cuda')
+ depends_on("magma@2.3.0", when="@1.0.0+cuda")
# PUMI
# ceed-5.0
- depends_on('pumi@2.2.7', when='@5.0.0+pumi')
+ depends_on("pumi@2.2.7", when="@5.0.0+pumi")
# ceed-4.0
- depends_on('pumi@2.2.5', when='@4.0.0+pumi')
+ depends_on("pumi@2.2.5", when="@4.0.0+pumi")
# ceed-3.0
- depends_on('pumi@2.2.2', when='@3.0.0+pumi')
+ depends_on("pumi@2.2.2", when="@3.0.0+pumi")
# ceed-2.0
- depends_on('pumi@2.2.0', when='@2.0.0+pumi')
+ depends_on("pumi@2.2.0", when="@2.0.0+pumi")
# ceed-1.0
- depends_on('pumi@2.1.0', when='@1.0.0+pumi')
+ depends_on("pumi@2.1.0", when="@1.0.0+pumi")
# Omega_h
# ceed-5.0
- depends_on('omega-h@scorec.10.1.0', when='@5.0.0+omega-h')
- depends_on('omega-h~trilinos', when='@5.0.0+omega-h+quickbuild')
+ depends_on("omega-h@scorec.10.1.0", when="@5.0.0+omega-h")
+ depends_on("omega-h~trilinos", when="@5.0.0+omega-h+quickbuild")
# MFEM, Laghos, Remhos
# ceed 5.0
- with when('@5.0.0+mfem'):
- depends_on('mfem@4.4.0+mpi+examples+miniapps')
- depends_on('mfem+petsc', when='+petsc')
- depends_on('mfem+pumi', when='+pumi')
- depends_on('mfem+gslib', when='+nek')
- depends_on('mfem+libceed+fms')
+ with when("@5.0.0+mfem"):
+ depends_on("mfem@4.4.0+mpi+examples+miniapps")
+ depends_on("mfem+petsc", when="+petsc")
+ depends_on("mfem+pumi", when="+pumi")
+ depends_on("mfem+gslib", when="+nek")
+ depends_on("mfem+libceed+fms")
for arch in CudaPackage.cuda_arch_values:
- depends_on('mfem+cuda cuda_arch={0}'.format(arch),
- when='+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "mfem+cuda cuda_arch={0}".format(arch), when="+cuda cuda_arch={0}".format(arch)
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('mfem+rocm amdgpu_target={0}'.format(target),
- when='+rocm amdgpu_target={0}'.format(target))
- depends_on('mfem+occa', when='+occa')
- depends_on('laghos@3.1')
- depends_on('remhos@1.0')
+ depends_on(
+ "mfem+rocm amdgpu_target={0}".format(target),
+ when="+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on("mfem+occa", when="+occa")
+ depends_on("laghos@3.1")
+ depends_on("remhos@1.0")
# ceed-4.0
- depends_on('mfem@4.2.0+mpi+examples+miniapps', when='@4.0.0+mfem~petsc')
- depends_on('mfem@4.2.0+mpi+petsc+examples+miniapps',
- when='@4.0.0+mfem+petsc')
- depends_on('mfem@4.2.0+pumi', when='@4.0.0+mfem+pumi')
- depends_on('mfem@4.2.0+gslib', when='@4.0.0+mfem+nek')
- depends_on('mfem@4.2.0+libceed', when='@4.0.0+mfem')
+ depends_on("mfem@4.2.0+mpi+examples+miniapps", when="@4.0.0+mfem~petsc")
+ depends_on("mfem@4.2.0+mpi+petsc+examples+miniapps", when="@4.0.0+mfem+petsc")
+ depends_on("mfem@4.2.0+pumi", when="@4.0.0+mfem+pumi")
+ depends_on("mfem@4.2.0+gslib", when="@4.0.0+mfem+nek")
+ depends_on("mfem@4.2.0+libceed", when="@4.0.0+mfem")
for arch in CudaPackage.cuda_arch_values:
- depends_on('mfem@4.2.0+cuda cuda_arch={0}'.format(arch),
- when='@4.0.0+mfem+cuda cuda_arch={0}'.format(arch))
+ depends_on(
+ "mfem@4.2.0+cuda cuda_arch={0}".format(arch),
+ when="@4.0.0+mfem+cuda cuda_arch={0}".format(arch),
+ )
for target in ROCmPackage.amdgpu_targets:
- depends_on('mfem@4.2.0+rocm amdgpu_target={0}'.format(target),
- when='@4.0.0+mfem+rocm amdgpu_target={0}'.format(target))
- depends_on('mfem@4.2.0+occa', when='@4.0.0+mfem+occa')
- depends_on('laghos@3.1', when='@4.0.0+mfem')
- depends_on('remhos@1.0', when='@4.0.0+mfem')
+ depends_on(
+ "mfem@4.2.0+rocm amdgpu_target={0}".format(target),
+ when="@4.0.0+mfem+rocm amdgpu_target={0}".format(target),
+ )
+ depends_on("mfem@4.2.0+occa", when="@4.0.0+mfem+occa")
+ depends_on("laghos@3.1", when="@4.0.0+mfem")
+ depends_on("remhos@1.0", when="@4.0.0+mfem")
# ceed-3.0
- depends_on('mfem@4.1.0+mpi+examples+miniapps', when='@3.0.0+mfem~petsc')
- depends_on('mfem@4.1.0+mpi+petsc+examples+miniapps',
- when='@3.0.0+mfem+petsc')
- depends_on('mfem@4.1.0+pumi', when='@3.0.0+mfem+pumi')
- depends_on('mfem@4.1.0+gslib', when='@3.0.0+mfem+nek')
- depends_on('mfem@4.1.0+libceed', when='@3.0.0+mfem')
- depends_on('mfem@4.1.0+cuda', when='@3.0.0+mfem+cuda')
- depends_on('mfem@4.1.0+occa', when='@3.0.0+mfem+occa')
- depends_on('laghos@3.0', when='@3.0.0+mfem')
- depends_on('remhos@1.0', when='@3.0.0+mfem')
+ depends_on("mfem@4.1.0+mpi+examples+miniapps", when="@3.0.0+mfem~petsc")
+ depends_on("mfem@4.1.0+mpi+petsc+examples+miniapps", when="@3.0.0+mfem+petsc")
+ depends_on("mfem@4.1.0+pumi", when="@3.0.0+mfem+pumi")
+ depends_on("mfem@4.1.0+gslib", when="@3.0.0+mfem+nek")
+ depends_on("mfem@4.1.0+libceed", when="@3.0.0+mfem")
+ depends_on("mfem@4.1.0+cuda", when="@3.0.0+mfem+cuda")
+ depends_on("mfem@4.1.0+occa", when="@3.0.0+mfem+occa")
+ depends_on("laghos@3.0", when="@3.0.0+mfem")
+ depends_on("remhos@1.0", when="@3.0.0+mfem")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
- depends_on('suite-sparse@:5.1.0', when='@3.0.0%gcc@:4.8+mfem+petsc')
+ depends_on("suite-sparse@:5.1.0", when="@3.0.0%gcc@:4.8+mfem+petsc")
# ceed-2.0
- depends_on('mfem@3.4.0+mpi+examples+miniapps', when='@2.0.0+mfem~petsc')
- depends_on('mfem@3.4.0+mpi+petsc+examples+miniapps',
- when='@2.0.0+mfem+petsc')
- depends_on('mfem@3.4.0+pumi', when='@2.0.0+mfem+pumi')
- depends_on('laghos@2.0', when='@2.0.0+mfem')
+ depends_on("mfem@3.4.0+mpi+examples+miniapps", when="@2.0.0+mfem~petsc")
+ depends_on("mfem@3.4.0+mpi+petsc+examples+miniapps", when="@2.0.0+mfem+petsc")
+ depends_on("mfem@3.4.0+pumi", when="@2.0.0+mfem+pumi")
+ depends_on("laghos@2.0", when="@2.0.0+mfem")
# Help the spack concretizer find a suitable version of hypre:
- depends_on('hypre~internal-superlu', when='@2.0.0+mfem')
- depends_on('hypre~internal-superlu~superlu-dist',
- when='@2.0.0+mfem+quickbuild')
+ depends_on("hypre~internal-superlu", when="@2.0.0+mfem")
+ depends_on("hypre~internal-superlu~superlu-dist", when="@2.0.0+mfem+quickbuild")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
- depends_on('suite-sparse@:5.1.0', when='@2.0.0%gcc@:4.8+mfem+petsc')
+ depends_on("suite-sparse@:5.1.0", when="@2.0.0%gcc@:4.8+mfem+petsc")
# ceed-1.0
- depends_on('mfem@3.3.2+mpi+examples+miniapps', when='@1.0.0+mfem~petsc')
- depends_on('mfem@3.3.2+mpi+petsc+examples+miniapps',
- when='@1.0.0+mfem+petsc')
- depends_on('laghos@1.0', when='@1.0.0+mfem')
+ depends_on("mfem@3.3.2+mpi+examples+miniapps", when="@1.0.0+mfem~petsc")
+ depends_on("mfem@3.3.2+mpi+petsc+examples+miniapps", when="@1.0.0+mfem+petsc")
+ depends_on("laghos@1.0", when="@1.0.0+mfem")
# The next line seems to be necessary because the concretizer somehow
# decides that mfem requires 'hypre+internal-superlu' even though the mfem
# package lists simply 'hypre' as dependency. This is only an issue because
# petsc explicitly requires 'hypre~internal-superlu' which for the
# concretizer is a conflict.
- depends_on('hypre~internal-superlu', when='@1.0.0+mfem')
+ depends_on("hypre~internal-superlu", when="@1.0.0+mfem")
# If using gcc version <= 4.8 build suite-sparse version <= 5.1.0
- depends_on('suite-sparse@:5.1.0', when='@1.0.0%gcc@:4.8+mfem+petsc')
+ depends_on("suite-sparse@:5.1.0", when="@1.0.0%gcc@:4.8+mfem+petsc")
diff --git a/var/spack/repos/builtin/packages/cereal/package.py b/var/spack/repos/builtin/packages/cereal/package.py
index 538e5783ea..9ae9ff91cb 100644
--- a/var/spack/repos/builtin/packages/cereal/package.py
+++ b/var/spack/repos/builtin/packages/cereal/package.py
@@ -8,27 +8,28 @@ from spack.package import *
class Cereal(CMakePackage):
"""cereal is a header-only C++11 serialization library. cereal takes
- arbitrary data types and reversibly turns them into different
- representations, such as compact binary encodings, XML, or
- JSON. cereal was designed to be fast, light-weight, and easy to
- extend - it has no external dependencies and can be easily bundled
- with other code or used standalone.
+ arbitrary data types and reversibly turns them into different
+ representations, such as compact binary encodings, XML, or
+ JSON. cereal was designed to be fast, light-weight, and easy to
+ extend - it has no external dependencies and can be easily bundled
+ with other code or used standalone.
"""
+
homepage = "https://uscilab.github.io/cereal/"
- url = "https://github.com/USCiLab/cereal/archive/v1.3.2.tar.gz"
-
- version('1.3.2', sha256='16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f')
- version('1.3.1', sha256='65ea6ddda98f4274f5c10fb3e07b2269ccdd1e5cbb227be6a2fd78b8f382c976')
- version('1.3.0', sha256='329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5')
- version('1.2.2', sha256='1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4')
- version('1.2.1', sha256='7d321c22ea1280b47ddb06f3e9702fcdbb2910ff2f3df0a2554804210714434e')
- version('1.2.0', sha256='1ccf3ed205a7a2f0d6a060415b123f1ae0d984cd4435db01af8de11a2eda49c1')
- version('1.1.2', sha256='45607d0de1d29e84d03bf8eecf221eb2912005b63f02314fbade9fbabfd37b8d')
- version('1.1.1', sha256='ec5e2b2c8f145d86eb7c079300360bb06f708527187834f3f127e9a12b07e9cf')
- version('1.1.0', sha256='69113debdac9de561f499af4cf7755b2e8c3afa92649b8178b34a7c6bbe4f12f')
- version('1.0.0', sha256='51c31c84d4c9e410e56d8bfc3424076b3234f11aa349ac8cda3db9f18118c125')
- version('0.9.1', sha256='2a99722df9c3d0f75267f732808a4d7e564cb5a35318a3d1c00086e2ef139385')
+ url = "https://github.com/USCiLab/cereal/archive/v1.3.2.tar.gz"
+
+ version("1.3.2", sha256="16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f")
+ version("1.3.1", sha256="65ea6ddda98f4274f5c10fb3e07b2269ccdd1e5cbb227be6a2fd78b8f382c976")
+ version("1.3.0", sha256="329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5")
+ version("1.2.2", sha256="1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4")
+ version("1.2.1", sha256="7d321c22ea1280b47ddb06f3e9702fcdbb2910ff2f3df0a2554804210714434e")
+ version("1.2.0", sha256="1ccf3ed205a7a2f0d6a060415b123f1ae0d984cd4435db01af8de11a2eda49c1")
+ version("1.1.2", sha256="45607d0de1d29e84d03bf8eecf221eb2912005b63f02314fbade9fbabfd37b8d")
+ version("1.1.1", sha256="ec5e2b2c8f145d86eb7c079300360bb06f708527187834f3f127e9a12b07e9cf")
+ version("1.1.0", sha256="69113debdac9de561f499af4cf7755b2e8c3afa92649b8178b34a7c6bbe4f12f")
+ version("1.0.0", sha256="51c31c84d4c9e410e56d8bfc3424076b3234f11aa349ac8cda3db9f18118c125")
+ version("0.9.1", sha256="2a99722df9c3d0f75267f732808a4d7e564cb5a35318a3d1c00086e2ef139385")
patch("Boost.patch", when="@:1.3.0")
patch("Boost2.patch", when="@1.2.2:1.3.0")
@@ -36,14 +37,14 @@ class Cereal(CMakePackage):
# fixed in HEAD but not released yet
patch("LockGuard-default-ctor.patch", when="@:1.3.0")
- depends_on('cmake@2.6.2:', type='build')
- depends_on('cmake@3.6.0:', when="@1.3.0:", type='build')
+ depends_on("cmake@2.6.2:", type="build")
+ depends_on("cmake@3.6.0:", when="@1.3.0:", type="build")
def cmake_args(self):
# Boost is only used for self-tests, which we are not running (yet?)
return [
- '-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE',
- '-DSKIP_PORTABILITY_TEST=TRUE',
- '-DJUST_INSTALL_CEREAL=On',
- '-DWITH_WERROR=Off',
+ "-DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE",
+ "-DSKIP_PORTABILITY_TEST=TRUE",
+ "-DJUST_INSTALL_CEREAL=On",
+ "-DWITH_WERROR=Off",
]
diff --git a/var/spack/repos/builtin/packages/ceres-solver/package.py b/var/spack/repos/builtin/packages/ceres-solver/package.py
index 0014b5138d..f31af9d684 100644
--- a/var/spack/repos/builtin/packages/ceres-solver/package.py
+++ b/var/spack/repos/builtin/packages/ceres-solver/package.py
@@ -15,41 +15,36 @@ class CeresSolver(CMakePackage):
"""
homepage = "http://ceres-solver.org"
- url = "http://ceres-solver.org/ceres-solver-1.12.0.tar.gz"
+ url = "http://ceres-solver.org/ceres-solver-1.12.0.tar.gz"
- version('2.0.0', sha256='10298a1d75ca884aa0507d1abb0e0f04800a92871cd400d4c361b56a777a7603')
- version('1.14.0', sha256='4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e')
- version('1.12.0', sha256='745bfed55111e086954126b748eb9efe20e30be5b825c6dec3c525cf20afc895')
+ version("2.0.0", sha256="10298a1d75ca884aa0507d1abb0e0f04800a92871cd400d4c361b56a777a7603")
+ version("1.14.0", sha256="4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e")
+ version("1.12.0", sha256="745bfed55111e086954126b748eb9efe20e30be5b825c6dec3c525cf20afc895")
- variant('suitesparse', default=False, description='Build with SuiteSparse')
- variant('shared', default=True, description='Build shared libraries')
- variant('examples', default=False, description='Build examples')
+ variant("suitesparse", default=False, description="Build with SuiteSparse")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("examples", default=False, description="Build examples")
- depends_on('eigen@3:')
- depends_on('lapack')
- depends_on('glog')
+ depends_on("eigen@3:")
+ depends_on("lapack")
+ depends_on("glog")
def cmake_args(self):
- args = [
- '-DCXSPARSE=OFF',
- '-DEIGENSPARSE=ON',
- '-DLAPACK=ON',
- '-DSCHUR_SPECIALIZATIONS=OFF'
- ]
-
- if '+suitesparse' in self.spec:
- args.append('-DSUITESPARSE=ON')
+ args = ["-DCXSPARSE=OFF", "-DEIGENSPARSE=ON", "-DLAPACK=ON", "-DSCHUR_SPECIALIZATIONS=OFF"]
+
+ if "+suitesparse" in self.spec:
+ args.append("-DSUITESPARSE=ON")
else:
- args.append('-DSUITESPARSE=OFF')
+ args.append("-DSUITESPARSE=OFF")
- if '+shared' in self.spec:
- args.append('-DBUILD_SHARED_LIBS=ON')
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
+ args.append("-DBUILD_SHARED_LIBS=OFF")
- if '+examples' in self.spec:
- args.append('-DBUILD_EXAMPLES=ON')
+ if "+examples" in self.spec:
+ args.append("-DBUILD_EXAMPLES=ON")
else:
- args.append('-DBUILD_EXAMPLES=OFF')
+ args.append("-DBUILD_EXAMPLES=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py
index b50d5795bf..5d73f2dcd9 100644
--- a/var/spack/repos/builtin/packages/cfitsio/package.py
+++ b/var/spack/repos/builtin/packages/cfitsio/package.py
@@ -11,45 +11,45 @@ class Cfitsio(AutotoolsPackage):
data files in FITS (Flexible Image Transport System) data format.
"""
- homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/'
- url = 'https://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('4.1.0', sha256='b367c695d2831958e7166921c3b356d5dfa51b1ecee505b97416ba39d1b6c17a')
- version('4.0.0', sha256='b2a8efba0b9f86d3e1bd619f662a476ec18112b4f27cc441cc680a4e3777425e')
- version('3.49', sha256='5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3')
- version('3.48', sha256='91b48ffef544eb8ea3908543052331072c99bf09ceb139cb3c6977fc3e47aac1')
- version('3.47', sha256='418516f10ee1e0f1b520926eeca6b77ce639bed88804c7c545e74f26b3edf4ef')
- version('3.45', sha256='bf6012dbe668ecb22c399c4b7b2814557ee282c74a7d5dc704eb17c30d9fb92e')
- version('3.42', sha256='6c10aa636118fa12d9a5e2e66f22c6436fb358da2af6dbf7e133c142e2ac16b8')
- version('3.41', sha256='a556ac7ea1965545dcb4d41cfef8e4915eeb8c0faa1b52f7ff70870f8bb5734c')
- version('3.37', sha256='092897c6dae4dfe42d91d35a738e45e8236aa3d8f9b3ffc7f0e6545b8319c63a')
+ version("4.1.0", sha256="b367c695d2831958e7166921c3b356d5dfa51b1ecee505b97416ba39d1b6c17a")
+ version("4.0.0", sha256="b2a8efba0b9f86d3e1bd619f662a476ec18112b4f27cc441cc680a4e3777425e")
+ version("3.49", sha256="5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3")
+ version("3.48", sha256="91b48ffef544eb8ea3908543052331072c99bf09ceb139cb3c6977fc3e47aac1")
+ version("3.47", sha256="418516f10ee1e0f1b520926eeca6b77ce639bed88804c7c545e74f26b3edf4ef")
+ version("3.45", sha256="bf6012dbe668ecb22c399c4b7b2814557ee282c74a7d5dc704eb17c30d9fb92e")
+ version("3.42", sha256="6c10aa636118fa12d9a5e2e66f22c6436fb358da2af6dbf7e133c142e2ac16b8")
+ version("3.41", sha256="a556ac7ea1965545dcb4d41cfef8e4915eeb8c0faa1b52f7ff70870f8bb5734c")
+ version("3.37", sha256="092897c6dae4dfe42d91d35a738e45e8236aa3d8f9b3ffc7f0e6545b8319c63a")
- variant('bzip2', default=True, description='Enable bzip2 support')
- variant('shared', default=True, description='Build shared libraries')
+ variant("bzip2", default=True, description="Enable bzip2 support")
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('curl')
- depends_on('bzip2', when='+bzip2')
+ depends_on("curl")
+ depends_on("bzip2", when="+bzip2")
def url_for_version(self, version):
- if version >= Version('3.47'):
+ if version >= Version("3.47"):
return super(Cfitsio, self).url_for_version(version)
- url = 'http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio{0}0.tar.gz'
+ url = "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio{0}0.tar.gz"
return url.format(version.joined)
def configure_args(self):
spec = self.spec
extra_args = []
- if '+bzip2' in spec:
- extra_args.append('--with-bzip2=%s' % spec['bzip2'].prefix),
+ if "+bzip2" in spec:
+ extra_args.append("--with-bzip2=%s" % spec["bzip2"].prefix),
return extra_args
@property
def build_targets(self):
- targets = ['all']
+ targets = ["all"]
# Build shared if variant is set.
- if '+shared' in self.spec:
- targets += ['shared']
+ if "+shared" in self.spec:
+ targets += ["shared"]
return targets
diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py
index dcbf581a72..0adcd6fe71 100644
--- a/var/spack/repos/builtin/packages/cgal/package.py
+++ b/var/spack/repos/builtin/packages/cgal/package.py
@@ -13,28 +13,30 @@ class Cgal(CMakePackage):
computation, such as geographic information systems, computer aided design,
molecular biology, medical imaging, computer graphics, and robotics.
"""
- homepage = 'https://www.cgal.org/'
- url = "https://github.com/CGAL/cgal/releases/download/v5.4.1/CGAL-5.4.1.tar.xz"
-
- version('5.4.1', sha256='4c3dd7ee4d36d237111a4d72b6e14170093271595d5b695148532daa95323d76')
- version('5.1.5', sha256='b1bb8a6053aa12baa5981aef20a542cd3e617a86826963fb8fb6852b1a0da97c')
- version('5.0.3', sha256='e5a3672e35e5e92e3c1b4452cd3c1d554f3177dc512bd98b29edf21866a4288c')
- version('5.0', sha256='e1e7e932988c5d149aa471c1afd69915b7603b5b31b9b317a0debb20ecd42dcc')
- version('4.13', sha256='3e3dd7a64febda58be54c3cbeba329ab6a73b72d4d7647ba4931ecd1fad0e3bc')
- version('4.12', sha256='442ef4fffb2ad6e4141e5a7902993ae6a4e73f7cb641fae1010bb586f6ca5e3f')
- version('4.11', sha256='27a7762e5430f5392a1fe12a3a4abdfe667605c40224de1c6599f49d66cfbdd2')
- version('4.9.1', sha256='56557da971b5310c2678ffc5def4109266666ff3adc7babbe446797ee2b90cca')
- version('4.9', sha256='63ac5df71f912f34f2f0f2e54a303578df51f4ec2627db593a65407d791f9039')
- version('4.7', sha256='50bd0a1cad7a8957b09012f831eebaf7d670e2a3467e8f365ec0c71fa5436369')
- version('4.6.3', sha256='e338027b8767c0a7a6e4fd8679182d1b83b5b1a0da0a1fe4546e7c0ca094fc21')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
- variant('header_only', default=False,
- description='Install in header only mode')
+
+ homepage = "https://www.cgal.org/"
+ url = "https://github.com/CGAL/cgal/releases/download/v5.4.1/CGAL-5.4.1.tar.xz"
+
+ version("5.4.1", sha256="4c3dd7ee4d36d237111a4d72b6e14170093271595d5b695148532daa95323d76")
+ version("5.1.5", sha256="b1bb8a6053aa12baa5981aef20a542cd3e617a86826963fb8fb6852b1a0da97c")
+ version("5.0.3", sha256="e5a3672e35e5e92e3c1b4452cd3c1d554f3177dc512bd98b29edf21866a4288c")
+ version("5.0", sha256="e1e7e932988c5d149aa471c1afd69915b7603b5b31b9b317a0debb20ecd42dcc")
+ version("4.13", sha256="3e3dd7a64febda58be54c3cbeba329ab6a73b72d4d7647ba4931ecd1fad0e3bc")
+ version("4.12", sha256="442ef4fffb2ad6e4141e5a7902993ae6a4e73f7cb641fae1010bb586f6ca5e3f")
+ version("4.11", sha256="27a7762e5430f5392a1fe12a3a4abdfe667605c40224de1c6599f49d66cfbdd2")
+ version("4.9.1", sha256="56557da971b5310c2678ffc5def4109266666ff3adc7babbe446797ee2b90cca")
+ version("4.9", sha256="63ac5df71f912f34f2f0f2e54a303578df51f4ec2627db593a65407d791f9039")
+ version("4.7", sha256="50bd0a1cad7a8957b09012f831eebaf7d670e2a3467e8f365ec0c71fa5436369")
+ version("4.6.3", sha256="e338027b8767c0a7a6e4fd8679182d1b83b5b1a0da0a1fe4546e7c0ca094fc21")
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+ variant("header_only", default=False, description="Install in header only mode")
# ---- See "7 CGAL Libraries" at:
# https://doc.cgal.org/latest/Manual/installation.html
@@ -42,32 +44,28 @@ class Cgal(CMakePackage):
# The CORE library provides exact arithmetic for geometric computations.
# See: https://cs.nyu.edu/exact/core_pages/
# https://cs.nyu.edu/exact/core_pages/svn-core.html
- variant('core', default=False,
- description='Build the CORE library for algebraic numbers')
- variant('imageio', default=False,
- description='Build utilities to read/write image files')
- variant('demos', default=False,
- description='Build CGAL demos')
- variant('eigen', default=True,
- description='Build with Eigen support')
+ variant("core", default=False, description="Build the CORE library for algebraic numbers")
+ variant("imageio", default=False, description="Build utilities to read/write image files")
+ variant("demos", default=False, description="Build CGAL demos")
+ variant("eigen", default=True, description="Build with Eigen support")
- depends_on('cmake@2.8.11:', type='build')
+ depends_on("cmake@2.8.11:", type="build")
# Essential Third Party Libraries
- depends_on('boost+exception+math+random+container')
- depends_on('gmp')
- depends_on('mpfr')
+ depends_on("boost+exception+math+random+container")
+ depends_on("gmp")
+ depends_on("mpfr")
# Required for CGAL_ImageIO
# depends_on('opengl', when='+imageio') # not yet in Spack
- depends_on('zlib')
+ depends_on("zlib")
# Optional to build CGAL_Qt5 (demos)
# depends_on('opengl', when='+demos') # not yet in Spack
- depends_on('qt@5:', when='+demos')
+ depends_on("qt@5:", when="+demos")
# Optional Third Party Libraries
- depends_on('eigen', when='+eigen')
+ depends_on("eigen", when="+eigen")
# depends_on('leda')
# depends_on('mpfi')
@@ -78,13 +76,15 @@ class Cgal(CMakePackage):
# depends_on('esbtl')
# depends_on('intel-tbb')
- conflicts('~header_only', when='@:4.9',
- msg="Header only builds became optional in 4.9,"
- " default thereafter")
+ conflicts(
+ "~header_only",
+ when="@:4.9",
+ msg="Header only builds became optional in 4.9," " default thereafter",
+ )
def url_for_version(self, version):
url = "https://github.com/CGAL/cgal/releases/download/"
- if version <= Version('5.0.3'):
+ if version <= Version("5.0.3"):
url += "releases/CGAL-{0}/CGAL-{0}.tar.xz"
else:
url += "v{0}/CGAL-{0}.tar.xz"
@@ -94,11 +94,11 @@ class Cgal(CMakePackage):
def setup_build_environment(self, env):
spec = self.spec
- env.set('BOOST_INCLUDEDIR', spec['boost'].headers.directories[0])
- env.set('BOOST_LIBRARYDIR', spec['boost'].libs.directories[0])
+ env.set("BOOST_INCLUDEDIR", spec["boost"].headers.directories[0])
+ env.set("BOOST_LIBRARYDIR", spec["boost"].libs.directories[0])
- if '+eigen' in spec:
- env.set('EIGEN3_INC_DIR', spec['eigen'].headers.directories[0])
+ if "+eigen" in spec:
+ env.set("EIGEN3_INC_DIR", spec["eigen"].headers.directories[0])
def cmake_args(self):
# Installation instructions:
@@ -107,22 +107,12 @@ class Cgal(CMakePackage):
variant_bool = lambda feature: str(feature in spec)
cmake_args = []
- cmake_args.append(
- '-DBUILD_SHARED_LIBS:BOOL=%s' % variant_bool('+shared')
- )
- cmake_args.append(
- '-DWITH_CGAL_Core:BOOL=%s' % variant_bool('+core')
- )
- cmake_args.append(
- '-DWITH_CGAL_ImageIO:BOOL=%s' % variant_bool('+imageio')
- )
- cmake_args.append(
- '-DWITH_CGAL_Qt5:BOOL=%s' % variant_bool('+demos')
- )
-
- if spec.satisfies('@4.9:'):
- cmake_args.append(
- '-DCGAL_HEADER_ONLY:BOOL=%s' % variant_bool('+header_only')
- )
+ cmake_args.append("-DBUILD_SHARED_LIBS:BOOL=%s" % variant_bool("+shared"))
+ cmake_args.append("-DWITH_CGAL_Core:BOOL=%s" % variant_bool("+core"))
+ cmake_args.append("-DWITH_CGAL_ImageIO:BOOL=%s" % variant_bool("+imageio"))
+ cmake_args.append("-DWITH_CGAL_Qt5:BOOL=%s" % variant_bool("+demos"))
+
+ if spec.satisfies("@4.9:"):
+ cmake_args.append("-DCGAL_HEADER_ONLY:BOOL=%s" % variant_bool("+header_only"))
return cmake_args
diff --git a/var/spack/repos/builtin/packages/cgdb/package.py b/var/spack/repos/builtin/packages/cgdb/package.py
index d893216f3a..66228b53d5 100644
--- a/var/spack/repos/builtin/packages/cgdb/package.py
+++ b/var/spack/repos/builtin/packages/cgdb/package.py
@@ -9,36 +9,36 @@ from spack.package import *
class Cgdb(AutotoolsPackage):
"""A curses front-end to GDB"""
- maintainers = ['tuxfan']
- homepage = 'https://cgdb.github.io'
- url = 'https://cgdb.me/files/cgdb-0.7.1.tar.gz'
- git = 'https://github.com/cgdb/cgdb.git'
+ maintainers = ["tuxfan"]
+ homepage = "https://cgdb.github.io"
+ url = "https://cgdb.me/files/cgdb-0.7.1.tar.gz"
+ git = "https://github.com/cgdb/cgdb.git"
- version('master', branch='master', submodule=False, preferred=True)
- version('0.7.1', sha256='bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198')
- version('0.7.0', sha256='bf7a9264668db3f9342591b08b2cc3bbb08e235ba2372877b4650b70c6fb5423')
+ version("master", branch="master", submodule=False, preferred=True)
+ version("0.7.1", sha256="bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198")
+ version("0.7.0", sha256="bf7a9264668db3f9342591b08b2cc3bbb08e235ba2372877b4650b70c6fb5423")
# Required dependency
- depends_on('gdb', type='run')
- depends_on('ncurses')
- depends_on('readline')
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('m4', type='build', when='@master')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('texinfo', type='build')
-
- @when('@master')
+ depends_on("gdb", type="run")
+ depends_on("ncurses")
+ depends_on("readline")
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("m4", type="build", when="@master")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("texinfo", type="build")
+
+ @when("@master")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
spec = self.spec
return [
- '--with-ncurses={0}'.format(spec['ncurses'].prefix),
- '--with-readline={0}'.format(spec['readline'].prefix)
+ "--with-ncurses={0}".format(spec["ncurses"].prefix),
+ "--with-readline={0}".format(spec["readline"].prefix),
]
diff --git a/var/spack/repos/builtin/packages/cgdcbxd/package.py b/var/spack/repos/builtin/packages/cgdcbxd/package.py
index 71236390df..f6947e958e 100644
--- a/var/spack/repos/builtin/packages/cgdcbxd/package.py
+++ b/var/spack/repos/builtin/packages/cgdcbxd/package.py
@@ -12,25 +12,25 @@ class Cgdcbxd(AutotoolsPackage):
and priority mappings in sync with DCBX Application events"""
homepage = "https://github.com/jrfastab/cgdcbxd"
- url = "https://github.com/jrfastab/cgdcbxd/archive/v1.0.2.tar.gz"
+ url = "https://github.com/jrfastab/cgdcbxd/archive/v1.0.2.tar.gz"
- version('1.0.2', sha256='ef626c60e27005d3cae1e19a60d0133be0d1f0a012b695f7f1f6ad5a2afa4166')
- version('1.0.1', sha256='663b87a5ab4a760e2446e479fec36f6300d53e6113af1408efc156325219900c')
+ version("1.0.2", sha256="ef626c60e27005d3cae1e19a60d0133be0d1f0a012b695f7f1f6ad5a2afa4166")
+ version("1.0.1", sha256="663b87a5ab4a760e2446e479fec36f6300d53e6113af1408efc156325219900c")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libcgroup@0.32:')
- depends_on('libmnl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libcgroup@0.32:")
+ depends_on("libmnl")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap.sh')
+ bash = which("bash")
+ bash("./bootstrap.sh")
@property
def install_targets(self):
# Without DESTDIR=self.prefix, an attempt would be made to install
# configuration files to /etc, which would faild the build and even
# when privileges for this exist, spack could not remove it on uninstall:
- return ['install', 'DESTDIR={0}'.format(self.prefix)]
+ return ["install", "DESTDIR={0}".format(self.prefix)]
diff --git a/var/spack/repos/builtin/packages/cget/package.py b/var/spack/repos/builtin/packages/cget/package.py
index 392830d618..16a2a11da5 100644
--- a/var/spack/repos/builtin/packages/cget/package.py
+++ b/var/spack/repos/builtin/packages/cget/package.py
@@ -12,9 +12,9 @@ class Cget(PythonPackage):
homepage = "https://github.com/pfultz2/cget"
pypi = "cget/cget-0.1.9.tar.gz"
- version('0.1.9', sha256='2a7913b601bec615208585eda7e69998a43cc17080d36c2ff2ce8742c9794bf6')
+ version("0.1.9", sha256="2a7913b601bec615208585eda7e69998a43cc17080d36c2ff2ce8742c9794bf6")
- depends_on("py-setuptools", type='build')
- depends_on("py-six@1.10:", type=('build', 'run'))
- depends_on("py-click@6.6:", type=('build', 'run'))
- depends_on('py-subprocess32', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.10:", type=("build", "run"))
+ depends_on("py-click@6.6:", type=("build", "run"))
+ depends_on("py-subprocess32", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/cgl/package.py b/var/spack/repos/builtin/packages/cgl/package.py
index 899ca7aacd..3a9587fcdb 100644
--- a/var/spack/repos/builtin/packages/cgl/package.py
+++ b/var/spack/repos/builtin/packages/cgl/package.py
@@ -15,12 +15,12 @@ class Cgl(AutotoolsPackage):
with a solver. It does not directly call a solver."""
homepage = "https://projects.coin-or.org/Cgl"
- url = "https://github.com/coin-or/Cgl/archive/releases/0.60.3.tar.gz"
+ url = "https://github.com/coin-or/Cgl/archive/releases/0.60.3.tar.gz"
- depends_on('coinutils')
- depends_on('osi')
- depends_on('clp')
+ depends_on("coinutils")
+ depends_on("osi")
+ depends_on("clp")
- version('0.60.3', sha256='cfeeedd68feab7c0ce377eb9c7b61715120478f12c4dd0064b05ad640e20f3fb')
+ version("0.60.3", sha256="cfeeedd68feab7c0ce377eb9c7b61715120478f12c4dd0064b05ad640e20f3fb")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/cgm/package.py b/var/spack/repos/builtin/packages/cgm/package.py
index 605642e7bc..7180101af7 100644
--- a/var/spack/repos/builtin/packages/cgm/package.py
+++ b/var/spack/repos/builtin/packages/cgm/package.py
@@ -8,46 +8,49 @@ from spack.package import *
class Cgm(AutotoolsPackage):
"""The Common Geometry Module, Argonne (CGMA) is a code library
- which provides geometry functionality used for mesh generation and
- other applications."""
+ which provides geometry functionality used for mesh generation and
+ other applications."""
+
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')
- version('13.1.0', sha256='c81bead4b919bd0cea9dbc61b219e316718d940bd3dc70825c58efbf0a0acdc3')
- version('13.1', sha256='985aa6c5db4257999af6f2bdfcb24f2bce74191cdcd98e937700db7fd9f6b549')
+ version("16.0", sha256="b98afe70c64efa19decc5ff01602e8c7afc6b22ce646cad30dc92ecfdce6e23d")
+ version("13.1.1", sha256="ffde54f0c86055b06cad911bbd4297b88c3fb124c873b03ebee626f807b8ab87")
+ version("13.1.0", sha256="c81bead4b919bd0cea9dbc61b219e316718d940bd3dc70825c58efbf0a0acdc3")
+ version("13.1", sha256="985aa6c5db4257999af6f2bdfcb24f2bce74191cdcd98e937700db7fd9f6b549")
- variant("mpi", default=True, description='enable mpi support')
- variant("oce", default=False, description='enable oce geometry kernel')
- variant("debug", default=False, description='enable debug symbols')
- variant("shared", default=False, description='enable shared builds')
+ variant("mpi", default=True, description="enable mpi support")
+ variant("oce", default=False, description="enable oce geometry kernel")
+ variant("debug", default=False, description="enable debug symbols")
+ variant("shared", default=False, description="enable shared builds")
- depends_on('mpi', when='+mpi')
- depends_on('oce+X11', when='+oce')
+ depends_on("mpi", when="+mpi")
+ depends_on("oce+X11", when="+oce")
def configure_args(self):
spec = self.spec
args = []
- if '+mpi' in spec:
- args.extend([
- "--with-mpi",
- "CC={0}".format(spec['mpi'].mpicc),
- "CXX={0}".format(spec['mpi'].mpicxx)
- ])
+ if "+mpi" in spec:
+ args.extend(
+ [
+ "--with-mpi",
+ "CC={0}".format(spec["mpi"].mpicc),
+ "CXX={0}".format(spec["mpi"].mpicxx),
+ ]
+ )
else:
args.append("--without-mpi")
- if '+oce' in spec:
- args.append("--with-occ={0}".format(spec['oce'].prefix))
+ if "+oce" in spec:
+ args.append("--with-occ={0}".format(spec["oce"].prefix))
else:
args.append("--without-occ")
- if '+debug' in spec:
+ if "+debug" in spec:
args.append("--enable-debug")
- if '+shared' in spec:
+ if "+shared" in spec:
args.append("--enable-shared")
return args
diff --git a/var/spack/repos/builtin/packages/cgns/package.py b/var/spack/repos/builtin/packages/cgns/package.py
index 4809efe647..a4f47d5a7f 100644
--- a/var/spack/repos/builtin/packages/cgns/package.py
+++ b/var/spack/repos/builtin/packages/cgns/package.py
@@ -14,91 +14,91 @@ class Cgns(CMakePackage):
fluid dynamics (CFD) analysis data."""
homepage = "https://cgns.github.io/"
- url = "https://github.com/CGNS/CGNS/archive/v4.3.0.tar.gz"
- git = "https://github.com/CGNS/CGNS"
- maintainers = ['gsjaardema']
+ url = "https://github.com/CGNS/CGNS/archive/v4.3.0.tar.gz"
+ git = "https://github.com/CGNS/CGNS"
+ maintainers = ["gsjaardema"]
parallel = False
- version('develop', branch='develop')
- version('master', branch='master')
- version('4.3.0', sha256='7709eb7d99731dea0dd1eff183f109eaef8d9556624e3fbc34dc5177afc0a032')
- version('4.2.0', sha256='090ec6cb0916d90c16790183fc7c2bd2bd7e9a5e3764b36c8196ba37bf1dc817')
- version('4.1.2', sha256='951653956f509b8a64040f1440c77f5ee0e6e2bf0a9eef1248d370f60a400050')
- version('4.1.1', sha256='055d345c3569df3ae832fb2611cd7e0bc61d56da41b2be1533407e949581e226')
- version('4.1.0', sha256='4674de1fac3c47998248725fd670377be497f568312c5903d1bb8090a3cf4da0')
- version('4.0.0', sha256='748585a8e52dff4d250d6b603e6b847d05498e4566aba2dc3d7a7d85c4d55849')
- version('3.4.1', sha256='d32595e7737b9332243bd3de1eb8c018a272f620f09b289dea8292eba1365994')
- version('3.4.0', sha256='6372196caf25b27d38cf6f056258cb0bdd45757f49d9c59372b6dbbddb1e05da')
- version('3.3.1', sha256='81093693b2e21a99c5640b82b267a495625b663d7b8125d5f1e9e7aaa1f8d469')
- version('3.3.0', sha256='8422c67994f8dc6a2f201523a14f6c7d7e16313bdd404c460c16079dbeafc662')
-
- variant('hdf5', default=True, description='Enable HDF5 interface')
- variant('fortran', default=False, description='Enable Fortran interface')
- variant('base_scope', default=False, description='Enable base scope')
- variant('scoping', default=True, description='Enable scoping')
- variant('mpi', default=True, description='Enable parallel cgns')
- variant('int64', default=False, description='Build with 64-bit integers')
- variant('shared', default=True, description='Enable shared library')
- variant('static', default=False, description='Build static libraries')
- variant('testing', default=False, description='Build CGNS testing')
- variant('legacy', default=False, description='Enable legacy options')
- variant('mem_debug', default=False, description='Enable memory debugging option')
-
- depends_on('cmake@3.12:', when='@4.3:', type='build')
- depends_on('cmake@3.8:', when='@4.2:', type='build')
- depends_on('cmake@2.8:', when='@:4.1', type='build')
- depends_on('hdf5~mpi', when='+hdf5~mpi')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('mpi', when='+mpi')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("4.3.0", sha256="7709eb7d99731dea0dd1eff183f109eaef8d9556624e3fbc34dc5177afc0a032")
+ version("4.2.0", sha256="090ec6cb0916d90c16790183fc7c2bd2bd7e9a5e3764b36c8196ba37bf1dc817")
+ version("4.1.2", sha256="951653956f509b8a64040f1440c77f5ee0e6e2bf0a9eef1248d370f60a400050")
+ version("4.1.1", sha256="055d345c3569df3ae832fb2611cd7e0bc61d56da41b2be1533407e949581e226")
+ version("4.1.0", sha256="4674de1fac3c47998248725fd670377be497f568312c5903d1bb8090a3cf4da0")
+ version("4.0.0", sha256="748585a8e52dff4d250d6b603e6b847d05498e4566aba2dc3d7a7d85c4d55849")
+ version("3.4.1", sha256="d32595e7737b9332243bd3de1eb8c018a272f620f09b289dea8292eba1365994")
+ version("3.4.0", sha256="6372196caf25b27d38cf6f056258cb0bdd45757f49d9c59372b6dbbddb1e05da")
+ version("3.3.1", sha256="81093693b2e21a99c5640b82b267a495625b663d7b8125d5f1e9e7aaa1f8d469")
+ version("3.3.0", sha256="8422c67994f8dc6a2f201523a14f6c7d7e16313bdd404c460c16079dbeafc662")
+
+ variant("hdf5", default=True, description="Enable HDF5 interface")
+ variant("fortran", default=False, description="Enable Fortran interface")
+ variant("base_scope", default=False, description="Enable base scope")
+ variant("scoping", default=True, description="Enable scoping")
+ variant("mpi", default=True, description="Enable parallel cgns")
+ variant("int64", default=False, description="Build with 64-bit integers")
+ variant("shared", default=True, description="Enable shared library")
+ variant("static", default=False, description="Build static libraries")
+ variant("testing", default=False, description="Build CGNS testing")
+ variant("legacy", default=False, description="Enable legacy options")
+ variant("mem_debug", default=False, description="Enable memory debugging option")
+
+ depends_on("cmake@3.12:", when="@4.3:", type="build")
+ depends_on("cmake@3.8:", when="@4.2:", type="build")
+ depends_on("cmake@2.8:", when="@:4.1", type="build")
+ depends_on("hdf5~mpi", when="+hdf5~mpi")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- self.define_from_variant('CGNS_ENABLE_FORTRAN', 'fortran'),
- self.define_from_variant('CGNS_ENABLE_SCOPING', 'scoping'),
- self.define_from_variant('CGNS_ENABLE_PARALLEL', 'mpi'),
- '-DCGNS_ENABLE_TESTS:BOOL=OFF',
- self.define_from_variant('CGNS_BUILD_TESTING', 'testing'),
- '-DCGNS_BUILD_CGNSTOOLS:BOOL=OFF',
- self.define_from_variant('CGNS_BUILD_SHARED', 'shared'),
- self.define_from_variant('CGNS_BUILD_STATIC', 'static'),
- self.define_from_variant('CGNS_ENABLE_BASE_SCOPE', 'base_scope'),
- self.define_from_variant('CGNS_ENABLE_LEGACY', 'legacy'),
- self.define_from_variant('CGNS_ENABLE_MEM_DEBUG', 'mem_debug')
- ])
-
- if '+mpi' in spec:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc
- ])
-
- options.append(
- self.define_from_variant('CGNS_ENABLE_64BIT', 'int64'))
-
- if '+hdf5' in spec:
- options.extend([
- '-DCGNS_ENABLE_HDF5:BOOL=ON',
- '-DHDF5_NEED_ZLIB:BOOL=ON',
- '-DHDF5_INCLUDE_DIR:PATH=%s' % spec['hdf5'].prefix.include,
- '-DHDF5_LIBRARY_DIR:PATH=%s' % spec['hdf5'].prefix.lib
- ])
- if '+mpi' in spec:
- options.extend([
- '-DHDF5_NEED_MPI:BOOL=ON',
- '-DHDF5_ENABLE_PARALLEL:BOOL=ON'
- ])
+ options.extend(
+ [
+ self.define_from_variant("CGNS_ENABLE_FORTRAN", "fortran"),
+ self.define_from_variant("CGNS_ENABLE_SCOPING", "scoping"),
+ self.define_from_variant("CGNS_ENABLE_PARALLEL", "mpi"),
+ "-DCGNS_ENABLE_TESTS:BOOL=OFF",
+ self.define_from_variant("CGNS_BUILD_TESTING", "testing"),
+ "-DCGNS_BUILD_CGNSTOOLS:BOOL=OFF",
+ self.define_from_variant("CGNS_BUILD_SHARED", "shared"),
+ self.define_from_variant("CGNS_BUILD_STATIC", "static"),
+ self.define_from_variant("CGNS_ENABLE_BASE_SCOPE", "base_scope"),
+ self.define_from_variant("CGNS_ENABLE_LEGACY", "legacy"),
+ self.define_from_variant("CGNS_ENABLE_MEM_DEBUG", "mem_debug"),
+ ]
+ )
+
+ if "+mpi" in spec:
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ ]
+ )
+
+ options.append(self.define_from_variant("CGNS_ENABLE_64BIT", "int64"))
+
+ if "+hdf5" in spec:
+ options.extend(
+ [
+ "-DCGNS_ENABLE_HDF5:BOOL=ON",
+ "-DHDF5_NEED_ZLIB:BOOL=ON",
+ "-DHDF5_INCLUDE_DIR:PATH=%s" % spec["hdf5"].prefix.include,
+ "-DHDF5_LIBRARY_DIR:PATH=%s" % spec["hdf5"].prefix.lib,
+ ]
+ )
+ if "+mpi" in spec:
+ options.extend(["-DHDF5_NEED_MPI:BOOL=ON", "-DHDF5_ENABLE_PARALLEL:BOOL=ON"])
else:
- options.extend(['-DCGNS_ENABLE_HDF5=OFF'])
+ options.extend(["-DCGNS_ENABLE_HDF5=OFF"])
- if self.version <= Version('3.3.1'):
- if sys.platform == 'darwin':
- options.extend([
- '-DCMAKE_MACOSX_RPATH:BOOL=ON'
- ])
+ if self.version <= Version("3.3.1"):
+ if sys.platform == "darwin":
+ options.extend(["-DCMAKE_MACOSX_RPATH:BOOL=ON"])
return options
diff --git a/var/spack/repos/builtin/packages/chaco/package.py b/var/spack/repos/builtin/packages/chaco/package.py
index d7a2494c38..83af2db031 100644
--- a/var/spack/repos/builtin/packages/chaco/package.py
+++ b/var/spack/repos/builtin/packages/chaco/package.py
@@ -10,20 +10,19 @@ class Chaco(CMakePackage):
"""Graph partitioning library"""
homepage = "https://gitlab.com/truchas/tpl-forks/chaco"
- git = "https://gitlab.com/truchas/tpl-forks/chaco.git"
+ git = "https://gitlab.com/truchas/tpl-forks/chaco.git"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch="truchas")
- version('2020-07-16', commit='92a877b381933d12b02507413897f696d81b4682', preferred=True)
+ version("develop", branch="truchas")
+ version("2020-07-16", commit="92a877b381933d12b02507413897f696d81b4682", preferred=True)
- variant('shared', default=True, description="build shared library")
+ variant("shared", default=True, description="build shared library")
- depends_on('cmake@3.16:', type='build')
+ depends_on("cmake@3.16:", type="build")
def cmake_args(self):
- opts = [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
- if self.spec.satisfies('%apple-clang@12:'):
- opts.append(self.define("CMAKE_C_FLAGS",
- "-Wno-error=implicit-function-declaration"))
+ opts = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
+ if self.spec.satisfies("%apple-clang@12:"):
+ opts.append(self.define("CMAKE_C_FLAGS", "-Wno-error=implicit-function-declaration"))
return opts
diff --git a/var/spack/repos/builtin/packages/chai/package.py b/var/spack/repos/builtin/packages/chai/package.py
index 8a18c8c386..6687b5092b 100644
--- a/var/spack/repos/builtin/packages/chai/package.py
+++ b/var/spack/repos/builtin/packages/chai/package.py
@@ -14,84 +14,85 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage):
"""
homepage = "https://github.com/LLNL/CHAI"
- git = "https://github.com/LLNL/CHAI.git"
- tags = ['ecp', 'e4s', 'radiuss']
-
- maintainers = ['davidbeckingsale']
-
- version('develop', branch='develop', submodules=False)
- version('main', branch='main', submodules=False)
- version('2022.03.0', tag='v2022.03.0', submodules=False)
- 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)
- version('2.2.0', tag='v2.2.0', submodules=True)
- version('2.1.1', tag='v2.1.1', submodules=True)
- version('2.1.0', tag='v2.1.0', submodules=True)
- version('2.0.0', tag='v2.0.0', submodules=True)
- version('1.2.0', tag='v1.2.0', submodules=True)
- version('1.1.0', tag='v1.1.0', submodules=True)
- version('1.0', tag='v1.0', submodules=True)
-
- variant('enable_pick', default=False, description='Enable pick method')
- variant('shared', default=True, description='Build Shared Libs')
- 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')
+ git = "https://github.com/LLNL/CHAI.git"
+ tags = ["ecp", "e4s", "radiuss"]
+
+ maintainers = ["davidbeckingsale"]
+
+ version("develop", branch="develop", submodules=False)
+ version("main", branch="main", submodules=False)
+ version("2022.03.0", tag="v2022.03.0", submodules=False)
+ 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)
+ version("2.2.0", tag="v2.2.0", submodules=True)
+ version("2.1.1", tag="v2.1.1", submodules=True)
+ version("2.1.0", tag="v2.1.0", submodules=True)
+ version("2.0.0", tag="v2.0.0", submodules=True)
+ version("1.2.0", tag="v1.2.0", submodules=True)
+ version("1.1.0", tag="v1.1.0", submodules=True)
+ version("1.0", tag="v1.0", submodules=True)
+
+ variant("enable_pick", default=False, description="Enable pick method")
+ variant("shared", default=True, description="Build Shared Libs")
+ 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')
+ variant("tests", default=False, description="Build tests")
- depends_on('cmake@3.8:', type='build')
- depends_on('cmake@3.9:', type='build', when="+cuda")
- depends_on('cmake@3.14:', when='@2022.03.0:')
+ depends_on("cmake@3.8:", type="build")
+ depends_on("cmake@3.9:", type="build", when="+cuda")
+ depends_on("cmake@3.14:", when="@2022.03.0:")
- depends_on('blt@0.5.0:', type='build', when='@2022.03.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("blt@0.5.0:", type="build", when="@2022.03.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('umpire@2022.03.0:', when='@2022.03.0:')
- 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")
+ depends_on("umpire@2022.03.0:", when="@2022.03.0:")
+ 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")
- with when('+cuda'):
- depends_on('umpire+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_))
+ depends_on("umpire+cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_))
- with when('+rocm'):
- depends_on('umpire+rocm')
+ 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@2022.03.0:', when='@2022.03.0:')
- depends_on('raja@main', when='@main')
-
- with when('+cuda'):
- depends_on('raja+cuda')
+ 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@2022.03.0:", when="@2022.03.0:")
+ 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')
+ 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))
+ depends_on(
+ "raja+rocm amdgpu_target={0}".format(arch),
+ when="amdgpu_target={0}".format(arch),
+ )
- conflicts('+benchmarks', when='~tests')
+ conflicts("+benchmarks", when="~tests")
def _get_sys_type(self, spec):
sys_type = spec.architecture
@@ -103,46 +104,45 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage):
def cache_name(self):
hostname = socket.gethostname()
if "SYS_TYPE" in env:
- hostname = hostname.rstrip('1234567890')
+ hostname = hostname.rstrip("1234567890")
return "{0}-{1}-{2}@{3}.cmake".format(
hostname,
self._get_sys_type(self.spec),
self.spec.compiler.name,
- self.spec.compiler.version
+ self.spec.compiler.version,
)
def initconfig_hardware_entries(self):
spec = self.spec
entries = super(Chai, self).initconfig_hardware_entries()
- entries.append(cmake_cache_option("ENABLE_OPENMP", '+openmp' in spec))
+ entries.append(cmake_cache_option("ENABLE_OPENMP", "+openmp" in spec))
- if '+cuda' in spec:
+ if "+cuda" in spec:
entries.append(cmake_cache_option("ENABLE_CUDA", True))
entries.append(cmake_cache_option("CMAKE_CUDA_SEPARABLE_COMPILATION", True))
entries.append(cmake_cache_option("CUDA_SEPARABLE_COMPILATION", True))
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- entries.append(cmake_cache_string(
- "CUDA_ARCH", 'sm_{0}'.format(cuda_arch[0])))
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_ARCHITECTURES", '{0}'.format(cuda_arch[0])))
- flag = '-arch sm_{0}'.format(cuda_arch[0])
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_FLAGS", '{0}'.format(flag)))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ entries.append(cmake_cache_string("CUDA_ARCH", "sm_{0}".format(cuda_arch[0])))
+ entries.append(
+ cmake_cache_string("CMAKE_CUDA_ARCHITECTURES", "{0}".format(cuda_arch[0]))
+ )
+ flag = "-arch sm_{0}".format(cuda_arch[0])
+ entries.append(cmake_cache_string("CMAKE_CUDA_FLAGS", "{0}".format(flag)))
else:
entries.append(cmake_cache_option("ENABLE_CUDA", False))
- if '+rocm' in spec:
+ if "+rocm" in spec:
entries.append(cmake_cache_option("ENABLE_HIP", True))
- entries.append(cmake_cache_path(
- "HIP_ROOT_DIR", '{0}'.format(spec['hip'].prefix)))
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ entries.append(cmake_cache_path("HIP_ROOT_DIR", "{0}".format(spec["hip"].prefix)))
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- entries.append(cmake_cache_string(
- "HIP_HIPCC_FLAGS", '--amdgpu-target={0}'.format(arch_str)))
+ entries.append(
+ cmake_cache_string("HIP_HIPCC_FLAGS", "--amdgpu-target={0}".format(arch_str))
+ )
else:
entries.append(cmake_cache_option("ENABLE_HIP", False))
@@ -154,20 +154,20 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage):
option_prefix = "CHAI_" if spec.satisfies("@2022.03.0:") else ""
- entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec['blt'].prefix))
- if '+raja' in spec:
- entries.append(cmake_cache_option(
- "{}ENABLE_RAJA_PLUGIN".format(option_prefix), True))
- entries.append(cmake_cache_path("RAJA_DIR", spec['raja'].prefix))
- entries.append(cmake_cache_option(
- "{}ENABLE_PICK".format(option_prefix), '+enable_pick' in spec))
- entries.append(cmake_cache_path(
- "umpire_DIR", spec['umpire'].prefix.share.umpire.cmake))
- entries.append(cmake_cache_option("ENABLE_TESTS", '+tests' in spec))
- entries.append(cmake_cache_option("ENABLE_BENCHMARKS", '+benchmarks' in spec))
- entries.append(cmake_cache_option(
- "{}ENABLE_EXAMPLES".format(option_prefix), '+examples' in spec))
- entries.append(cmake_cache_option("BUILD_SHARED_LIBS", '+shared' in spec))
+ entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix))
+ if "+raja" in spec:
+ entries.append(cmake_cache_option("{}ENABLE_RAJA_PLUGIN".format(option_prefix), True))
+ entries.append(cmake_cache_path("RAJA_DIR", spec["raja"].prefix))
+ entries.append(
+ cmake_cache_option("{}ENABLE_PICK".format(option_prefix), "+enable_pick" in spec)
+ )
+ entries.append(cmake_cache_path("umpire_DIR", spec["umpire"].prefix.share.umpire.cmake))
+ entries.append(cmake_cache_option("ENABLE_TESTS", "+tests" in spec))
+ entries.append(cmake_cache_option("ENABLE_BENCHMARKS", "+benchmarks" in spec))
+ entries.append(
+ cmake_cache_option("{}ENABLE_EXAMPLES".format(option_prefix), "+examples" in spec)
+ )
+ entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec))
return entries
diff --git a/var/spack/repos/builtin/packages/chameleon/package.py b/var/spack/repos/builtin/packages/chameleon/package.py
index 9e5205c295..f73cd82e16 100644
--- a/var/spack/repos/builtin/packages/chameleon/package.py
+++ b/var/spack/repos/builtin/packages/chameleon/package.py
@@ -9,42 +9,56 @@ from spack.package import *
class Chameleon(CMakePackage, CudaPackage):
"""Dense Linear Algebra for Scalable Multi-core Architectures and GPGPUs"""
+
homepage = "https://gitlab.inria.fr/solverstack/chameleon"
- url = "https://gitlab.inria.fr/solverstack/chameleon/uploads/b299d6037d7636c6be16108c89bc2aab/chameleon-1.1.0.tar.gz"
- git = "https://gitlab.inria.fr/solverstack/chameleon.git"
- maintainers = ['fpruvost']
+ url = "https://gitlab.inria.fr/solverstack/chameleon/uploads/b299d6037d7636c6be16108c89bc2aab/chameleon-1.1.0.tar.gz"
+ git = "https://gitlab.inria.fr/solverstack/chameleon.git"
+ maintainers = ["fpruvost"]
- version('master', branch='master', submodules=True)
- version('1.1.0', 'e64d0438dfaf5effb3740e53f3ab017d12744b85a138b2ef702a81df559126df')
+ version("master", branch="master", submodules=True)
+ version("1.1.0", "e64d0438dfaf5effb3740e53f3ab017d12744b85a138b2ef702a81df559126df")
# cmake's specific
- variant('shared', default=True, description='Build chameleon as a shared library')
+ variant("shared", default=True, description="Build chameleon as a shared library")
# chameleon's specific
variant(
- 'runtime', default='starpu', description='Runtime support',
- values=('openmp', 'starpu'), multi=False
+ "runtime",
+ default="starpu",
+ description="Runtime support",
+ values=("openmp", "starpu"),
+ multi=False,
+ )
+ variant("mpi", default=True, when="runtime=starpu", description="Enable MPI")
+ variant("cuda", default=False, when="runtime=starpu", description="Enable CUDA")
+ variant(
+ "fxt",
+ default=False,
+ when="runtime=starpu",
+ description="Enable FxT tracing support through StarPU",
+ )
+ variant(
+ "simgrid",
+ default=False,
+ when="runtime=starpu",
+ description="Enable simulation mode through StarPU+SimGrid",
)
- variant('mpi', default=True, when='runtime=starpu', description='Enable MPI')
- variant('cuda', default=False, when='runtime=starpu', description='Enable CUDA')
- variant('fxt', default=False, when='runtime=starpu', description='Enable FxT tracing support through StarPU')
- variant('simgrid', default=False, when='runtime=starpu', description='Enable simulation mode through StarPU+SimGrid')
# dependencies
- depends_on("pkgconfig", type='build')
+ depends_on("pkgconfig", type="build")
with when("runtime=starpu"):
depends_on("starpu")
- depends_on("starpu~mpi", when='~mpi')
- depends_on("starpu+mpi", when='+mpi')
- depends_on("starpu~cuda", when='~cuda')
- depends_on("starpu+cuda", when='+cuda')
+ depends_on("starpu~mpi", when="~mpi")
+ depends_on("starpu+mpi", when="+mpi")
+ depends_on("starpu~cuda", when="~cuda")
+ depends_on("starpu+cuda", when="+cuda")
with when("+simgrid"):
depends_on("starpu+simgrid")
- depends_on("starpu+mpi~shared+simgrid", when='+mpi')
+ depends_on("starpu+mpi~shared+simgrid", when="+mpi")
with when("~simgrid"):
- depends_on("mpi", when='+mpi')
- depends_on("cuda", when='+cuda')
+ depends_on("mpi", when="+mpi")
+ depends_on("cuda", when="+cuda")
with when("+fxt"):
depends_on("fxt")
depends_on("starpu+fxt")
@@ -64,38 +78,42 @@ class Chameleon(CMakePackage, CudaPackage):
self.define("CHAMELEON_ENABLE_TESTING", "ON"),
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
self.define_from_variant("CHAMELEON_USE_MPI", "mpi"),
- self.define_from_variant("CHAMELEON_USE_CUDA", "cuda"),
- self.define_from_variant("CHAMELEON_SIMULATION", "simgrid")
+ self.define_from_variant("CHAMELEON_USE_CUDA", "cuda"),
+ self.define_from_variant("CHAMELEON_SIMULATION", "simgrid"),
]
- if spec.satisfies('runtime=openmp'):
+ if spec.satisfies("runtime=openmp"):
args.extend([self.define("CHAMELEON_SCHED", "OPENMP")])
- if spec.satisfies('runtime=starpu'):
+ if spec.satisfies("runtime=starpu"):
args.extend([self.define("CHAMELEON_SCHED", "STARPU")])
- if spec.satisfies('+mpi +simgrid'):
- args.extend([
- self.define("MPI_C_COMPILER", self.spec['simgrid'].smpicc),
- self.define("MPI_CXX_COMPILER", self.spec['simgrid'].smpicxx),
- self.define("MPI_Fortran_COMPILER", self.spec['simgrid'].smpifc)
- ])
-
- if spec.satisfies('+mpi ~simgrid'):
- args.extend([
- self.define("MPI_C_COMPILER", self.spec['mpi'].mpicc),
- self.define("MPI_CXX_COMPILER", self.spec['mpi'].mpicxx),
- self.define("MPI_Fortran_COMPILER", self.spec['mpi'].mpifc)
- ])
-
- if spec.satisfies('~simgrid'):
- if ('^intel-mkl' in spec or '^intel-parallel-studio+mkl' in spec):
- if ('threads=none' in spec):
+ if spec.satisfies("+mpi +simgrid"):
+ args.extend(
+ [
+ self.define("MPI_C_COMPILER", self.spec["simgrid"].smpicc),
+ self.define("MPI_CXX_COMPILER", self.spec["simgrid"].smpicxx),
+ self.define("MPI_Fortran_COMPILER", self.spec["simgrid"].smpifc),
+ ]
+ )
+
+ if spec.satisfies("+mpi ~simgrid"):
+ args.extend(
+ [
+ self.define("MPI_C_COMPILER", self.spec["mpi"].mpicc),
+ self.define("MPI_CXX_COMPILER", self.spec["mpi"].mpicxx),
+ self.define("MPI_Fortran_COMPILER", self.spec["mpi"].mpifc),
+ ]
+ )
+
+ if spec.satisfies("~simgrid"):
+ if "^intel-mkl" in spec or "^intel-parallel-studio+mkl" in spec:
+ if "threads=none" in spec:
args.extend([self.define("BLA_VENDOR", "Intel10_64lp_seq")])
else:
args.extend([self.define("BLA_VENDOR", "Intel10_64lp")])
- elif '^netlib-lapack' in spec:
+ elif "^netlib-lapack" in spec:
args.extend([self.define("BLA_VENDOR", "Generic")])
- elif '^openblas' in spec:
+ elif "^openblas" in spec:
args.extend([self.define("BLA_VENDOR", "OpenBLAS")])
return args
diff --git a/var/spack/repos/builtin/packages/changa/package.py b/var/spack/repos/builtin/packages/changa/package.py
index 314a85d19a..de5830bcea 100644
--- a/var/spack/repos/builtin/packages/changa/package.py
+++ b/var/spack/repos/builtin/packages/changa/package.py
@@ -17,30 +17,29 @@ class Changa(AutotoolsPackage):
integrator with individual timesteps for each particle."""
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"
+ url = "https://github.com/N-BodyShop/changa/archive/v3.4.tar.gz"
+ git = "https://github.com/N-BodyShop/changa.git"
- version('master', branch='master')
- version('3.4', sha256='c2bceb6ac00025dfd704bb6960bc17c6df7c746872185845d1e75f47e6ce2a94')
+ version("master", branch="master")
+ version("3.4", sha256="c2bceb6ac00025dfd704bb6960bc17c6df7c746872185845d1e75f47e6ce2a94")
patch("fix_configure_path.patch")
resource(
name="utility",
url="https://github.com/N-BodyShop/utility/archive/v3.4.tar.gz",
sha256="19f9f09023ce9d642e848a36948788fb29cd7deb8e9346cdaac4c945f1416667",
- placement="utility"
+ placement="utility",
)
depends_on("charmpp build-target=ChaNGa")
def configure_args(self):
args = []
- args.append("STRUCT_DIR={0}/utility/structures"
- .format(self.stage.source_path))
+ args.append("STRUCT_DIR={0}/utility/structures".format(self.stage.source_path))
return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- install('ChaNGa', prefix.bin)
- install('charmrun', prefix.bin)
+ install("ChaNGa", prefix.bin)
+ install("charmrun", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/channelflow/package.py b/var/spack/repos/builtin/packages/channelflow/package.py
index e3cdd4dfba..8afbb3b927 100644
--- a/var/spack/repos/builtin/packages/channelflow/package.py
+++ b/var/spack/repos/builtin/packages/channelflow/package.py
@@ -12,76 +12,67 @@ class Channelflow(CMakePackage):
incompressible fluid flow in channel geometries, written in C++.
"""
- homepage = 'https://github.com/epfl-ecps/channelflow'
- git = 'https://github.com/epfl-ecps/channelflow.git'
+ homepage = "https://github.com/epfl-ecps/channelflow"
+ git = "https://github.com/epfl-ecps/channelflow.git"
- version('master', branch='master')
+ version("master", branch="master")
- variant('shared', default=True, description='Build shared libs')
- variant('mpi', default=True, description='Enable MPI parallelism')
- variant('hdf5', default=True, description='Enable support for HDF5 I/O')
+ variant("shared", default=True, description="Build shared libs")
+ variant("mpi", default=True, description="Enable MPI parallelism")
+ variant("hdf5", default=True, description="Enable support for HDF5 I/O")
variant(
- 'netcdf', default='serial', values=('none', 'serial', 'parallel'),
- multi=False, description='Level of support for NetCDF I/O'
+ "netcdf",
+ default="serial",
+ values=("none", "serial", "parallel"),
+ multi=False,
+ description="Level of support for NetCDF I/O",
)
- variant('python', default=False, description='Build python bindings')
+ variant("python", default=False, description="Build python bindings")
- depends_on('eigen')
- depends_on('fftw')
+ depends_on("eigen")
+ depends_on("fftw")
# MPI related constraints
- depends_on('mpi', when='+mpi')
- depends_on('fftw+mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("fftw+mpi", when="+mpi")
# Support for different I/O formats
- depends_on('hdf5+cxx', when='+hdf5')
- depends_on('netcdf-c', when='netcdf=serial')
- depends_on('netcdf-c+mpi', when='netcdf=parallel')
+ depends_on("hdf5+cxx", when="+hdf5")
+ depends_on("netcdf-c", when="netcdf=serial")
+ depends_on("netcdf-c+mpi", when="netcdf=parallel")
# Python bindings
- depends_on('boost+python', when='+python')
+ depends_on("boost+python", when="+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+python')
+ depends_on(Boost.with_default_variants, when="+python")
- conflicts('~mpi', when='netcdf=parallel', msg='Parallel NetCDF requires MPI')
+ conflicts("~mpi", when="netcdf=parallel", msg="Parallel NetCDF requires MPI")
conflicts(
- '+mpi', when='+python',
- msg='Building python bindings is possible only for the serial code'
+ "+mpi", when="+python", msg="Building python bindings is possible only for the serial code"
)
- conflicts('~mpi', when='^mpi',
- msg='There should be no MPI in the DAG when ~mpi is active')
+ conflicts("~mpi", when="^mpi", msg="There should be no MPI in the DAG when ~mpi is active")
def cmake_args(self):
spec = self.spec
- on_or_off = lambda predicate: 'ON' if predicate else 'OFF'
+ on_or_off = lambda predicate: "ON" if predicate else "OFF"
args = [
- '-DBUILD_SHARED_LIBS:BOOL={0}'.format(
- on_or_off('+shared' in spec)
- ),
- '-DUSE_MPI:BOOL={0}'.format(on_or_off('+mpi' in spec)),
- '-DWITH_HDF5CXX:BOOL={0}'.format(on_or_off('+hdf5' in spec)),
- '-DWITH_PYTHON:BOOL={0}'.format(on_or_off('+python' in spec))
+ "-DBUILD_SHARED_LIBS:BOOL={0}".format(on_or_off("+shared" in spec)),
+ "-DUSE_MPI:BOOL={0}".format(on_or_off("+mpi" in spec)),
+ "-DWITH_HDF5CXX:BOOL={0}".format(on_or_off("+hdf5" in spec)),
+ "-DWITH_PYTHON:BOOL={0}".format(on_or_off("+python" in spec)),
]
- netcdf_str = {
- 'none': 'OFF',
- 'serial': 'Serial',
- 'parallel': 'Parallel'
- }
+ netcdf_str = {"none": "OFF", "serial": "Serial", "parallel": "Parallel"}
- args.append('-DWITH_NETCDF:STRING={0}'.format(
- netcdf_str[spec.variants['netcdf'].value]
- ))
+ args.append("-DWITH_NETCDF:STRING={0}".format(netcdf_str[spec.variants["netcdf"].value]))
# Set an MPI compiler for parallel builds
- if '+mpi' in spec:
- args.append(
- '-DCMAKE_CXX_COMPILER:PATH={0}'.format(spec['mpi'].mpicxx)
- )
+ if "+mpi" in spec:
+ args.append("-DCMAKE_CXX_COMPILER:PATH={0}".format(spec["mpi"].mpicxx))
return args
diff --git a/var/spack/repos/builtin/packages/chaparral/package.py b/var/spack/repos/builtin/packages/chaparral/package.py
index 66c78696be..d0a387c8f3 100644
--- a/var/spack/repos/builtin/packages/chaparral/package.py
+++ b/var/spack/repos/builtin/packages/chaparral/package.py
@@ -10,23 +10,21 @@ class Chaparral(CMakePackage):
"""Radiation view factor library"""
homepage = "https://gitlab.com/truchas/tpl-forks/chaparral"
- git = "https://gitlab.com/truchas/tpl-forks/chaparral.git"
+ git = "https://gitlab.com/truchas/tpl-forks/chaparral.git"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch='truchas')
- version('2020-08-28',
- commit='c8a190bb74ef33ad8b2f7b67d20590f393fde32a',
- preferred=True)
+ version("develop", branch="truchas")
+ version("2020-08-28", commit="c8a190bb74ef33ad8b2f7b67d20590f393fde32a", preferred=True)
- variant('shared', default=True, description='Build shared library')
- variant('mpi', default=True, description='Build parallel library')
+ variant("shared", default=True, description="Build shared library")
+ variant("mpi", default=True, description="Build parallel library")
- depends_on('mpi', when="+mpi")
- depends_on('cmake@3.16:', type='build')
+ depends_on("mpi", when="+mpi")
+ depends_on("cmake@3.16:", type="build")
def cmake_args(self):
return [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('ENABLE_MPI', 'mpi')
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
]
diff --git a/var/spack/repos/builtin/packages/chapel/package.py b/var/spack/repos/builtin/packages/chapel/package.py
index e14f7b20d3..7faa6c828a 100644
--- a/var/spack/repos/builtin/packages/chapel/package.py
+++ b/var/spack/repos/builtin/packages/chapel/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Chapel(AutotoolsPackage):
"""Chapel is a modern programming language that is parallel, productive,
- portable, scalable and open-source."""
+ portable, scalable and open-source."""
homepage = "https://chapel-lang.org/"
- url = "https://github.com/chapel-lang/chapel/releases/download/1.24.1/chapel-1.24.1.tar.gz"
+ url = "https://github.com/chapel-lang/chapel/releases/download/1.24.1/chapel-1.24.1.tar.gz"
- version('1.24.1', sha256='f898f266fccaa34d937b38730a361d42efb20753ba43a95e5682816e008ce5e4')
- version('1.24.0', sha256='77c6087f3e0837268470915f2ad260d49cf7ac4adf16f5b44862ae624c1be801')
- version('1.23.0', sha256='7ae2c8f17a7b98ac68378e94a842cf16d4ab0bcfeabc0fee5ab4aaa07b205661')
- version('1.22.1', sha256='8235eb0869c9b04256f2e5ce3ac4f9eff558401582fba0eba05f254449a24989')
- version('1.22.0', sha256='57ba6ee5dfc36efcd66854ecb4307e1c054700ea201eff73012bd8b4572c2ce6')
- version('1.21.0', sha256='886f7ba0e0e86c86dba99417e3165f90b1d3eca59c8cd5a7f645ce28cb5d82a0')
- version('1.20.0', sha256='08bc86df13e4ad56d0447f52628b0f8e36b0476db4e19a90eeb2bd5f260baece')
- version('1.19.0', sha256='c2b68a20d87cc382c2f73dd1ecc6a4f42fb2f590b0b10fbc577382dd35c9e9bd')
- version('1.18.0', sha256='68471e1f398b074edcc28cae0be26a481078adc3edea4df663f01c6bd3b6ae0d')
+ version("1.24.1", sha256="f898f266fccaa34d937b38730a361d42efb20753ba43a95e5682816e008ce5e4")
+ version("1.24.0", sha256="77c6087f3e0837268470915f2ad260d49cf7ac4adf16f5b44862ae624c1be801")
+ version("1.23.0", sha256="7ae2c8f17a7b98ac68378e94a842cf16d4ab0bcfeabc0fee5ab4aaa07b205661")
+ version("1.22.1", sha256="8235eb0869c9b04256f2e5ce3ac4f9eff558401582fba0eba05f254449a24989")
+ version("1.22.0", sha256="57ba6ee5dfc36efcd66854ecb4307e1c054700ea201eff73012bd8b4572c2ce6")
+ version("1.21.0", sha256="886f7ba0e0e86c86dba99417e3165f90b1d3eca59c8cd5a7f645ce28cb5d82a0")
+ version("1.20.0", sha256="08bc86df13e4ad56d0447f52628b0f8e36b0476db4e19a90eeb2bd5f260baece")
+ version("1.19.0", sha256="c2b68a20d87cc382c2f73dd1ecc6a4f42fb2f590b0b10fbc577382dd35c9e9bd")
+ version("1.18.0", sha256="68471e1f398b074edcc28cae0be26a481078adc3edea4df663f01c6bd3b6ae0d")
diff --git a/var/spack/repos/builtin/packages/chaplin/package.py b/var/spack/repos/builtin/packages/chaplin/package.py
index 1222145bf7..4db5668484 100644
--- a/var/spack/repos/builtin/packages/chaplin/package.py
+++ b/var/spack/repos/builtin/packages/chaplin/package.py
@@ -13,10 +13,10 @@ class Chaplin(AutotoolsPackage):
complex argument."""
homepage = "https://chaplin.hepforge.org"
- url = "https://chaplin.hepforge.org/code/chaplin-1.2.tar"
+ url = "https://chaplin.hepforge.org/code/chaplin-1.2.tar"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.2', sha256='f17c2d985fd4e4ce36cede945450416d3fa940af68945c91fa5d3ca1d76d4b49')
+ version("1.2", sha256="f17c2d985fd4e4ce36cede945450416d3fa940af68945c91fa5d3ca1d76d4b49")
diff --git a/var/spack/repos/builtin/packages/charliecloud/package.py b/var/spack/repos/builtin/packages/charliecloud/package.py
index 9718d9f24e..ce2d906c68 100644
--- a/var/spack/repos/builtin/packages/charliecloud/package.py
+++ b/var/spack/repos/builtin/packages/charliecloud/package.py
@@ -9,64 +9,63 @@ from spack.package import *
class Charliecloud(AutotoolsPackage):
"""Lightweight user-defined software stacks for HPC."""
- maintainers = ['j-ogas', 'reidpr']
+ maintainers = ["j-ogas", "reidpr"]
homepage = "https://hpc.github.io/charliecloud"
- url = "https://github.com/hpc/charliecloud/releases/download/v0.18/charliecloud-0.18.tar.gz"
- git = "https://github.com/hpc/charliecloud.git"
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('0.27', sha256='1142938ce73ec8a5dfe3a19a241b1f1ffbb63b582ac63d459aebec842c3f4b72')
- version('0.26', sha256='5e1e64e869c59905fac0cbbd6ceb82340ee54728415d28ef588fd5de5557038a')
- version('0.25', sha256='62d6fd211e3a573f54578e1b01d5c298f9788b7eaf2db46ac94c2dcef604cc94')
- version('0.24', sha256='63379bcbad7b90b33457251696d6720416e4acefcf2b49cd6cb495a567e511c2')
- version('0.23', sha256='5e458b943ad0e27d1264bb089e48d4a676219179b0e96a7d761387a36c45b4d9')
- version('0.22', sha256='f65e4111ce87e449c656032da69f3b1cfc70a5a416a5e410329c1b0b2e953907')
- version('0.21', sha256='024884074d283c4a0387d899161610fa4ae739ac1efcc9e53d7d626ddc20359f')
- version('0.19', sha256='99619fd86860cda18f7f7a7cf7391f702ec9ebd3193791320dea647769996447')
- version('0.18', sha256='15ce63353afe1fc6bcc10979496a54fcd5628f997cb13c827c9fc7afb795bdc5')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
-
- depends_on('python@3.5:', type='run')
+ url = "https://github.com/hpc/charliecloud/releases/download/v0.18/charliecloud-0.18.tar.gz"
+ git = "https://github.com/hpc/charliecloud.git"
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("0.27", sha256="1142938ce73ec8a5dfe3a19a241b1f1ffbb63b582ac63d459aebec842c3f4b72")
+ version("0.26", sha256="5e1e64e869c59905fac0cbbd6ceb82340ee54728415d28ef588fd5de5557038a")
+ version("0.25", sha256="62d6fd211e3a573f54578e1b01d5c298f9788b7eaf2db46ac94c2dcef604cc94")
+ version("0.24", sha256="63379bcbad7b90b33457251696d6720416e4acefcf2b49cd6cb495a567e511c2")
+ version("0.23", sha256="5e458b943ad0e27d1264bb089e48d4a676219179b0e96a7d761387a36c45b4d9")
+ version("0.22", sha256="f65e4111ce87e449c656032da69f3b1cfc70a5a416a5e410329c1b0b2e953907")
+ version("0.21", sha256="024884074d283c4a0387d899161610fa4ae739ac1efcc9e53d7d626ddc20359f")
+ version("0.19", sha256="99619fd86860cda18f7f7a7cf7391f702ec9ebd3193791320dea647769996447")
+ version("0.18", sha256="15ce63353afe1fc6bcc10979496a54fcd5628f997cb13c827c9fc7afb795bdc5")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+
+ depends_on("python@3.5:", type="run")
# Version 0.25+ bundle the preferred lark version.
- depends_on('py-lark', type='run', when='@:0.24')
- depends_on('py-requests', type='run')
+ depends_on("py-lark", type="run", when="@:0.24")
+ depends_on("py-requests", type="run")
# autogen.sh requires pip and wheel (only needed for git checkouts)
- depends_on('py-pip@21.1.2:', type='build', when='@master')
- depends_on('py-wheel', type='build', when='@master')
+ depends_on("py-pip@21.1.2:", type="build", when="@master")
+ depends_on("py-wheel", type="build", when="@master")
# Man pages and html docs variant.
- variant('docs', default=False, description='Build man pages and html docs')
- depends_on('rsync', type='build', when='+docs')
- depends_on('py-sphinx', type='build', when='+docs')
- depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
+ variant("docs", default=False, description="Build man pages and html docs")
+ depends_on("rsync", type="build", when="+docs")
+ depends_on("py-sphinx", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
# See https://github.com/spack/spack/pull/16049.
- conflicts('platform=darwin', msg='This package does not build on macOS')
+ conflicts("platform=darwin", msg="This package does not build on macOS")
# Bash automated testing harness (bats).
- depends_on('bats@0.4.0', type='test')
+ depends_on("bats@0.4.0", type="test")
def autoreconf(self, spec, prefix):
- which('sh')('autogen.sh')
+ which("sh")("autogen.sh")
def configure_args(self):
args = []
- py_path = self.spec['python'].command.path
- args.append('--with-python={0}'.format(py_path))
-
- if '+docs' in self.spec:
- sphinx_bin = '{0}'.format(self.spec['py-sphinx'].prefix.bin)
- args.append('--enable-html')
- args.append('--with-sphinx-build={0}'.format(sphinx_bin.join(
- 'sphinx-build')))
+ py_path = self.spec["python"].command.path
+ args.append("--with-python={0}".format(py_path))
+
+ if "+docs" in self.spec:
+ sphinx_bin = "{0}".format(self.spec["py-sphinx"].prefix.bin)
+ args.append("--enable-html")
+ args.append("--with-sphinx-build={0}".format(sphinx_bin.join("sphinx-build")))
else:
- args.append('--disable-html')
+ args.append("--disable-html")
return args
diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py
index 10146956f0..36c832d103 100644
--- a/var/spack/repos/builtin/packages/charmpp/package.py
+++ b/var/spack/repos/builtin/packages/charmpp/package.py
@@ -19,17 +19,17 @@ class Charmpp(Package):
(your laptop) to the largest supercomputers."""
homepage = "https://charmplusplus.org"
- url = "https://charm.cs.illinois.edu/distrib/charm-6.8.2.tar.gz"
- git = "https://github.com/UIUC-PPL/charm.git"
+ url = "https://charm.cs.illinois.edu/distrib/charm-6.8.2.tar.gz"
+ git = "https://github.com/UIUC-PPL/charm.git"
maintainers = ["matthiasdiener"]
version("main", branch="main")
- version('7.0.0', sha256='9c247b421bb157bdf9bc0ced3e25738c7a1dc1f7ec57b7943a7faf97f7e4fb2e')
- version('6.10.2', sha256='7abb4cace8aebdfbb8006eac03eb766897c009cfb919da0d0a33f74c3b4e6deb')
- version('6.10.1', sha256='ab96198105daabbb8c8bdf370f87b0523521ce502c656cb6cd5b89f69a2c70a8')
- version('6.10.0', sha256='7c526a78aa0c202b7f0418b345138e7dc40496f0bb7b9e301e0381980450b25c')
+ version("7.0.0", sha256="9c247b421bb157bdf9bc0ced3e25738c7a1dc1f7ec57b7943a7faf97f7e4fb2e")
+ version("6.10.2", sha256="7abb4cace8aebdfbb8006eac03eb766897c009cfb919da0d0a33f74c3b4e6deb")
+ version("6.10.1", sha256="ab96198105daabbb8c8bdf370f87b0523521ce502c656cb6cd5b89f69a2c70a8")
+ version("6.10.0", sha256="7c526a78aa0c202b7f0418b345138e7dc40496f0bb7b9e301e0381980450b25c")
version("6.9.0", sha256="85ed660e46eeb7a6fc6b32deab08226f647c244241948f6b592ebcd2b6050cbd")
version("6.8.2", sha256="08e6001b0e9cd00ebde179f76098767149bf7e454f29028fb9a8bfb55778698e")
version("6.8.1", sha256="bf39666bb9f8bad1cd17dafa3cdf35c7ef64dfaeda835cf66ae530b7baab7583")
@@ -46,8 +46,8 @@ class Charmpp(Package):
patch("mpi.patch", when="@:6.7.1")
# Patch for AOCC
- patch('charm_6.7.1_aocc.patch', when="@6.7.1 %aocc", level=1)
- patch('charm_6.8.2_aocc.patch', when="@6.8.2 %aocc", level=3)
+ patch("charm_6.7.1_aocc.patch", when="@6.7.1 %aocc", level=1)
+ patch("charm_6.8.2_aocc.patch", when="@6.8.2 %aocc", level=3)
# support Fujitsu compiler
patch("fj.patch", when="%fj")
@@ -65,7 +65,7 @@ class Charmpp(Package):
default="LIBS",
# AMPI also builds charm++, LIBS also builds AMPI and charm++
values=("charm++", "AMPI", "LIBS", "ChaNGa"),
- description="Specify the target to build"
+ description="Specify the target to build",
)
# Communication mechanisms (choose exactly one)
@@ -78,9 +78,8 @@ class Charmpp(Package):
variant(
"backend",
default=backend_default,
- values=("mpi", "multicore", "netlrts", "verbs", "gni",
- "ucx", "ofi", "pami", "pamilrts"),
- description="Set the backend to use"
+ values=("mpi", "multicore", "netlrts", "verbs", "gni", "ucx", "ofi", "pami", "pamilrts"),
+ description="Set the backend to use",
)
# Process management interface
@@ -88,15 +87,14 @@ class Charmpp(Package):
"pmi",
default="none",
values=("none", "simplepmi", "slurmpmi", "slurmpmi2", "pmix"),
- description="The ucx/ofi/gni backends need PMI to run!"
+ description="The ucx/ofi/gni backends need PMI to run!",
)
# Other options
variant("papi", default=False, description="Enable PAPI integration")
variant("syncft", default=False, description="Compile with Charm++ fault tolerance support")
variant("smp", default=True, description="Enable SMP parallelism")
- variant("tcp", default=False,
- description="Use TCP as transport mechanism (requires +net)")
+ variant("tcp", default=False, description="Use TCP as transport mechanism (requires +net)")
variant("omp", default=False, description="Support for the integrated LLVM OpenMP runtime")
variant("pthreads", default=False, description="Compile with pthreads Converse threads")
variant("cuda", default=False, description="Enable CUDA toolkit")
@@ -107,7 +105,7 @@ class Charmpp(Package):
# Versions 7.0.0+ use CMake by default when it's available. It's more
# robust.
- depends_on('cmake@3.4:', when='@7.0.0:', type='build')
+ depends_on("cmake@3.4:", when="@7.0.0:", type="build")
depends_on("mpi", when="backend=mpi")
depends_on("papi", when="+papi")
@@ -132,8 +130,7 @@ class Charmpp(Package):
conflicts("~tracing", "+papi")
- conflicts("backend=multicore", when="~smp",
- msg="The 'multicore' backend always uses SMP")
+ conflicts("backend=multicore", when="~smp", msg="The 'multicore' backend always uses SMP")
conflicts("backend=ucx", when="@:6.9")
# Shared-lib builds with GCC are broken on macOS:
@@ -170,55 +167,52 @@ class Charmpp(Package):
elif mach.startswith("arm"):
mach = "arm"
- comm = self.spec.variants['backend'].value
+ comm = self.spec.variants["backend"].value
# Define Charm++ version names for various (plat, mach, comm)
# combinations. Note that not all combinations are supported.
versions = {
- ("darwin", "x86_64", "mpi"): "mpi-darwin-x86_64",
- ("darwin", "x86_64", "multicore"): "multicore-darwin-x86_64",
- ("darwin", "x86_64", "netlrts"): "netlrts-darwin-x86_64",
- ("linux", "x86_64", "mpi"): "mpi-linux-x86_64",
- ("linux", "x86_64", "multicore"): "multicore-linux-x86_64",
- ("linux", "x86_64", "netlrts"): "netlrts-linux-x86_64",
- ("linux", "x86_64", "verbs"): "verbs-linux-x86_64",
- ("linux", "x86_64", "ofi"): "ofi-linux-x86_64",
- ("linux", "x86_64", "ucx"): "ucx-linux-x86_64",
- ("linux", "ppc", "mpi"): "mpi-linux-ppc",
- ("linux", "ppc", "multicore"): "multicore-linux-ppc",
- ("linux", "ppc", "netlrts"): "netlrts-linux-ppc",
- ("linux", "ppc", "pami"): "pami-linux-ppc64le",
- ("linux", "ppc", "verbs"): "verbs-linux-ppc64le",
- ("linux", "arm", "netlrts"): "netlrts-linux-arm7",
- ("linux", "arm", "multicore"): "multicore-arm7",
- ("linux", "aarch64", "netlrts"): "netlrts-linux-arm8",
- ("linux", "aarch64", "multicore"): "multicore-arm8",
- ("win", "x86_64", "mpi"): "mpi-win-x86_64",
- ("win", "x86_64", "multicore"): "multicore-win-x86_64",
- ("win", "x86_64", "netlrts"): "netlrts-win-x86_64",
- ("cnl", "x86_64", "gni"): "gni-crayxc",
- ("cnl", "x86_64", "mpi"): "mpi-crayxc",
+ ("darwin", "x86_64", "mpi"): "mpi-darwin-x86_64",
+ ("darwin", "x86_64", "multicore"): "multicore-darwin-x86_64",
+ ("darwin", "x86_64", "netlrts"): "netlrts-darwin-x86_64",
+ ("linux", "x86_64", "mpi"): "mpi-linux-x86_64",
+ ("linux", "x86_64", "multicore"): "multicore-linux-x86_64",
+ ("linux", "x86_64", "netlrts"): "netlrts-linux-x86_64",
+ ("linux", "x86_64", "verbs"): "verbs-linux-x86_64",
+ ("linux", "x86_64", "ofi"): "ofi-linux-x86_64",
+ ("linux", "x86_64", "ucx"): "ucx-linux-x86_64",
+ ("linux", "ppc", "mpi"): "mpi-linux-ppc",
+ ("linux", "ppc", "multicore"): "multicore-linux-ppc",
+ ("linux", "ppc", "netlrts"): "netlrts-linux-ppc",
+ ("linux", "ppc", "pami"): "pami-linux-ppc64le",
+ ("linux", "ppc", "verbs"): "verbs-linux-ppc64le",
+ ("linux", "arm", "netlrts"): "netlrts-linux-arm7",
+ ("linux", "arm", "multicore"): "multicore-arm7",
+ ("linux", "aarch64", "netlrts"): "netlrts-linux-arm8",
+ ("linux", "aarch64", "multicore"): "multicore-arm8",
+ ("win", "x86_64", "mpi"): "mpi-win-x86_64",
+ ("win", "x86_64", "multicore"): "multicore-win-x86_64",
+ ("win", "x86_64", "netlrts"): "netlrts-win-x86_64",
+ ("cnl", "x86_64", "gni"): "gni-crayxc",
+ ("cnl", "x86_64", "mpi"): "mpi-crayxc",
}
# Some versions were renamed/removed in 6.11
if self.spec.version < Version("6.11.0"):
- versions.update({("linux", "i386", "mpi"): "mpi-linux"})
- versions.update({("linux", "i386", "multicore"):
- "multicore-linux"})
- versions.update({("linux", "i386", "netlrts"): "netlrts-linux"})
- versions.update({("linux", "i386", "uth"): "uth-linux"})
+ versions.update({("linux", "i386", "mpi"): "mpi-linux"})
+ versions.update({("linux", "i386", "multicore"): "multicore-linux"})
+ versions.update({("linux", "i386", "netlrts"): "netlrts-linux"})
+ versions.update({("linux", "i386", "uth"): "uth-linux"})
else:
- versions.update({("linux", "i386", "mpi"): "mpi-linux-i386"})
- versions.update({("linux", "i386", "multicore"):
- "multicore-linux-i386"})
- versions.update({("linux", "i386", "netlrts"):
- "netlrts-linux-i386"})
+ versions.update({("linux", "i386", "mpi"): "mpi-linux-i386"})
+ versions.update({("linux", "i386", "multicore"): "multicore-linux-i386"})
+ versions.update({("linux", "i386", "netlrts"): "netlrts-linux-i386"})
if (plat, mach, comm) not in versions:
raise InstallError(
"The communication mechanism %s is not supported "
- "on a %s platform with a %s CPU" %
- (comm, plat, mach))
+ "on a %s platform with a %s CPU" % (comm, plat, mach)
+ )
return versions[(plat, mach, comm)]
@@ -233,30 +227,39 @@ class Charmpp(Package):
def install(self, spec, prefix):
- if not("backend=mpi" in self.spec) or \
- not("backend=netlrts" in self.spec):
- if ("+pthreads" in self.spec):
- raise InstallError("The pthreads option is only\
+ if not ("backend=mpi" in self.spec) or not ("backend=netlrts" in self.spec):
+ if "+pthreads" in self.spec:
+ raise InstallError(
+ "The pthreads option is only\
available on the Netlrts and MPI \
- network layers.")
-
- if ("backend=ucx" in self.spec) or \
- ("backend=ofi" in self.spec) or \
- ("backend=gni" in self.spec):
- if ("pmi=none" in self.spec):
- raise InstallError("The UCX/OFI/GNI backends need \
+ network layers."
+ )
+
+ if (
+ ("backend=ucx" in self.spec)
+ or ("backend=ofi" in self.spec)
+ or ("backend=gni" in self.spec)
+ ):
+ if "pmi=none" in self.spec:
+ raise InstallError(
+ "The UCX/OFI/GNI backends need \
PMI to run. Please add pmi=... \
Note that PMIx is the preferred \
- option.")
-
- if ("pmi=simplepmi" in self.spec) or \
- ("pmi=slurmpmi" in self.spec) or \
- ("pmi=slurmpmi2" in self.spec):
- if ("^openmpi" in self.spec):
- raise InstallError("To use any process management \
+ option."
+ )
+
+ if (
+ ("pmi=simplepmi" in self.spec)
+ or ("pmi=slurmpmi" in self.spec)
+ or ("pmi=slurmpmi2" in self.spec)
+ ):
+ if "^openmpi" in self.spec:
+ raise InstallError(
+ "To use any process management \
interface other than PMIx, \
a non OpenMPI based MPI must be \
- present on the system")
+ present on the system"
+ )
target = spec.variants["build-target"].value
builddir = prefix
@@ -264,11 +267,9 @@ class Charmpp(Package):
# We assume that Spack's compiler wrappers make this work. If
# not, then we need to query the compiler vendor from Spack
# here.
- options = [
- os.path.basename(self.compiler.cc)
- ]
+ options = [os.path.basename(self.compiler.cc)]
- if '@:6.8.2 %aocc' not in spec:
+ if "@:6.8.2 %aocc" not in spec:
options.append(os.path.basename(self.compiler.fc))
options.append("-j%d" % make_jobs)
@@ -282,35 +283,33 @@ class Charmpp(Package):
options.append("ompipmix")
options.extend(["--basedir=%s" % spec["openmpi"].prefix])
- if 'backend=mpi' in spec:
+ if "backend=mpi" in spec:
# in intelmpi <prefix>/include and <prefix>/lib fails so --basedir
# cannot be used
- options.extend([
- '--incdir={0}'.format(incdir)
- for incdir in spec["mpi"].headers.directories
- ])
- options.extend([
- '--libdir={0}'.format(libdir)
- for libdir in spec["mpi"].libs.directories
- ])
+ options.extend(
+ ["--incdir={0}".format(incdir) for incdir in spec["mpi"].headers.directories]
+ )
+ options.extend(
+ ["--libdir={0}".format(libdir) for libdir in spec["mpi"].libs.directories]
+ )
if "backend=ucx" in spec:
options.extend(["--basedir=%s" % spec["ucx"].prefix])
if "+papi" in spec:
options.extend(["papi", "--basedir=%s" % spec["papi"].prefix])
- if "+smp" in spec and 'backend=multicore' not in spec:
+ if "+smp" in spec and "backend=multicore" not in spec:
# The 'multicore' backend always uses SMP, so we don't have to
# append the 'smp' option when the 'multicore' backend is active. As
# of Charm++ v7.0.0 it is actually a build error to append 'smp'
# with the 'multicore' backend.
options.append("smp")
if "+tcp" in spec:
- if 'backend=netlrts' not in spec:
+ if "backend=netlrts" not in spec:
# This is a Charm++ limitation; it would lead to a
# build error
raise InstallError(
- "The +tcp variant requires "
- "the backend=netlrts communication mechanism")
+ "The +tcp variant requires " "the backend=netlrts communication mechanism"
+ )
options.append("tcp")
if "+omp" in spec:
options.append("omp")
@@ -354,7 +353,7 @@ class Charmpp(Package):
if not os.path.islink(tmp_path):
shutil.rmtree(tmp_path)
- if self.spec.satisfies('@6.9.99'):
+ if self.spec.satisfies("@6.9.99"):
# A broken 'doc' link in the prefix can break the build.
# Remove it and replace it if it is broken.
try:
@@ -363,22 +362,27 @@ class Charmpp(Package):
os.remove(prefix.doc)
mkdirp(prefix.doc)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_build(self):
- make('-C', join_path(self.stage.source_path, 'tests'),
- 'test', 'TESTOPTS=++local', parallel=False)
+ make(
+ "-C",
+ join_path(self.stage.source_path, "tests"),
+ "test",
+ "TESTOPTS=++local",
+ parallel=False,
+ )
def setup_dependent_build_environment(self, env, dependent_spec):
if not self.spec.satisfies("backend=mpi"):
- env.set('MPICC', self.prefix.bin.ampicc)
- env.set('MPICXX', self.prefix.bin.ampicxx)
- env.set('MPIF77', self.prefix.bin.ampif77)
- env.set('MPIF90', self.prefix.bin.ampif90)
+ env.set("MPICC", self.prefix.bin.ampicc)
+ env.set("MPICXX", self.prefix.bin.ampicxx)
+ env.set("MPIF77", self.prefix.bin.ampif77)
+ env.set("MPIF90", self.prefix.bin.ampif90)
def setup_dependent_package(self, module, dependent_spec):
- self.spec.mpicc = self.prefix.bin.ampicc
- self.spec.mpicxx = self.prefix.bin.ampicxx
- self.spec.mpifc = self.prefix.bin.ampif90
- self.spec.mpif77 = self.prefix.bin.ampif77
+ self.spec.mpicc = self.prefix.bin.ampicc
+ self.spec.mpicxx = self.prefix.bin.ampicxx
+ self.spec.mpifc = self.prefix.bin.ampif90
+ self.spec.mpif77 = self.prefix.bin.ampif77
self.spec.charmarch = self.charmarch
diff --git a/var/spack/repos/builtin/packages/chatterbug/package.py b/var/spack/repos/builtin/packages/chatterbug/package.py
index ea968becfc..8676666b64 100644
--- a/var/spack/repos/builtin/packages/chatterbug/package.py
+++ b/var/spack/repos/builtin/packages/chatterbug/package.py
@@ -8,39 +8,40 @@ from spack.package import *
class Chatterbug(MakefilePackage):
"""A suite of communication-intensive proxy applications that mimic
- commonly found communication patterns in HPC codes. These codes can be
- used as synthetic codes for benchmarking, or for trace generation using
- Score-P / OTF2.
+ commonly found communication patterns in HPC codes. These codes can be
+ used as synthetic codes for benchmarking, or for trace generation using
+ Score-P / OTF2.
"""
- tags = ['proxy-app']
+
+ tags = ["proxy-app"]
homepage = "https://chatterbug.readthedocs.io"
- git = "https://github.com/LLNL/chatterbug.git"
+ git = "https://github.com/LLNL/chatterbug.git"
- version('develop', branch='master')
- version('1.0', tag='v1.0')
+ version("develop", branch="master")
+ version("1.0", tag="v1.0")
- variant('scorep', default=False, description='Build with Score-P tracing')
+ variant("scorep", default=False, description="Build with Score-P tracing")
- depends_on('mpi')
- depends_on('scorep', when='+scorep')
+ depends_on("mpi")
+ depends_on("scorep", when="+scorep")
@property
def build_targets(self):
targets = []
- targets.append('MPICXX = {0}'.format(self.spec['mpi'].mpicxx))
+ targets.append("MPICXX = {0}".format(self.spec["mpi"].mpicxx))
return targets
def build(self, spec, prefix):
if "+scorep" in spec:
- make('WITH_OTF2=YES')
+ make("WITH_OTF2=YES")
else:
make()
def install(self, spec, prefix):
if "+scorep" in spec:
- make('WITH_OTF2=YES', 'PREFIX=' + spec.prefix, 'install')
+ make("WITH_OTF2=YES", "PREFIX=" + spec.prefix, "install")
else:
- make('PREFIX=' + spec.prefix, 'install')
+ make("PREFIX=" + spec.prefix, "install")
diff --git a/var/spack/repos/builtin/packages/check/package.py b/var/spack/repos/builtin/packages/check/package.py
index 652f16a2e9..5b1ffbd8c6 100644
--- a/var/spack/repos/builtin/packages/check/package.py
+++ b/var/spack/repos/builtin/packages/check/package.py
@@ -15,8 +15,8 @@ class Check(AutotoolsPackage):
logging format."""
homepage = "https://libcheck.github.io/check/index.html"
- url = "https://github.com/libcheck/check/releases/download/0.12.0/check-0.12.0.tar.gz"
+ url = "https://github.com/libcheck/check/releases/download/0.12.0/check-0.12.0.tar.gz"
- version('0.12.0', sha256='464201098bee00e90f5c4bdfa94a5d3ead8d641f9025b560a27755a83b824234')
- version('0.11.0', sha256='24f7a48aae6b74755bcbe964ce8bc7240f6ced2141f8d9cf480bc3b3de0d5616')
- version('0.10.0', sha256='f5f50766aa6f8fe5a2df752666ca01a950add45079aa06416b83765b1cf71052')
+ version("0.12.0", sha256="464201098bee00e90f5c4bdfa94a5d3ead8d641f9025b560a27755a83b824234")
+ version("0.11.0", sha256="24f7a48aae6b74755bcbe964ce8bc7240f6ced2141f8d9cf480bc3b3de0d5616")
+ version("0.10.0", sha256="f5f50766aa6f8fe5a2df752666ca01a950add45079aa06416b83765b1cf71052")
diff --git a/var/spack/repos/builtin/packages/chgcentre/package.py b/var/spack/repos/builtin/packages/chgcentre/package.py
index 02ff04859c..71124c31d6 100644
--- a/var/spack/repos/builtin/packages/chgcentre/package.py
+++ b/var/spack/repos/builtin/packages/chgcentre/package.py
@@ -12,9 +12,9 @@ class Chgcentre(CMakePackage):
to change the phase centre of a measurement set."""
homepage = "https://sourceforge.net/p/wsclean/wiki/chgcentre/"
- url = "https://downloads.sourceforge.net/project/wsclean/chgcentre-1.6/chgcentre-1.6.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/wsclean/chgcentre-1.6/chgcentre-1.6.tar.bz2"
- version('1.6', sha256='5b14f9f56b900072c42dab2a8217cd399fb1bb50aae20f9e3b6ff30ec5b12008')
+ version("1.6", sha256="5b14f9f56b900072c42dab2a8217cd399fb1bb50aae20f9e3b6ff30ec5b12008")
- depends_on('casacore')
- depends_on('gsl')
+ depends_on("casacore")
+ depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/chill/package.py b/var/spack/repos/builtin/packages/chill/package.py
index c6951f6b30..64a188d513 100644
--- a/var/spack/repos/builtin/packages/chill/package.py
+++ b/var/spack/repos/builtin/packages/chill/package.py
@@ -11,80 +11,82 @@ class Chill(AutotoolsPackage):
"""A polyheadral compiler for autotuning"""
homepage = "https://github.com/CtopCsUtahEdu/chill"
- url = "https://github.com/CtopCsUtahEdu/chill/archive/v0.3.tar.gz"
- git = "https://github.com/CtopCsUtahEdu/chill.git"
+ url = "https://github.com/CtopCsUtahEdu/chill/archive/v0.3.tar.gz"
+ git = "https://github.com/CtopCsUtahEdu/chill.git"
- maintainers = ['dhuth']
+ maintainers = ["dhuth"]
- version('master', branch='master')
- version('0.3', sha256='574b622368a6bfaadbe9c1fa02fabefdc6c006069246f67d299f943b7e1d8aa3')
+ version("master", branch="master")
+ version("0.3", sha256="574b622368a6bfaadbe9c1fa02fabefdc6c006069246f67d299f943b7e1d8aa3")
- depends_on('boost@1.66.0 cxxstd=11', type='build')
+ depends_on("boost@1.66.0 cxxstd=11", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='build')
- depends_on('rose@0.9.13.0: +cxx11', type=('build', 'run'))
- depends_on('autoconf', type='build')
- depends_on('automake@1.14:', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('iegenlib', type=('build', 'run'))
- depends_on('bison@3.4.2:', type='build')
- depends_on('flex', type='build')
+ depends_on(Boost.with_default_variants, type="build")
+ depends_on("rose@0.9.13.0: +cxx11", type=("build", "run"))
+ depends_on("autoconf", type="build")
+ depends_on("automake@1.14:", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("iegenlib", type=("build", "run"))
+ depends_on("bison@3.4.2:", type="build")
+ depends_on("flex", type="build")
# Does not currrently work with Python3
- depends_on('python@2.7:2.8')
- depends_on('isl', type='build')
- depends_on('gmp', type='build')
+ depends_on("python@2.7:2.8")
+ depends_on("isl", type="build")
+ depends_on("gmp", type="build")
- patch('Add-ISLHOME-option.patch')
- patch('Add-GMPHOME-option.patch')
- patch('Add-GCC-libquadmath-for-rose.patch')
+ patch("Add-ISLHOME-option.patch")
+ patch("Add-GMPHOME-option.patch")
+ patch("Add-GCC-libquadmath-for-rose.patch")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
def setup_build_environment(self, env):
- rose_home = self.spec['rose'].prefix
- boost_home = self.spec['boost'].prefix
- iegen_home = self.spec['iegenlib'].prefix
- isl_home = self.spec['isl'].prefix
- gmp_home = self.spec['gmp'].prefix
-
- env.set('ROSEHOME', rose_home)
- env.set('BOOSTHOME', boost_home)
- env.set('IEGENHOME', iegen_home)
- env.set('ISLHOME', isl_home)
- env.set('GMPHOME', gmp_home)
-
- env.append_path('LD_LIBRARY_PATH', rose_home.lib)
- env.append_path('LD_LIBRARY_PATH', boost_home.lib)
- env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
- env.append_path('LD_LIBRARY_PATH', isl_home.lib)
- env.append_path('LD_LIBRARY_PATH', gmp_home.lib)
+ rose_home = self.spec["rose"].prefix
+ boost_home = self.spec["boost"].prefix
+ iegen_home = self.spec["iegenlib"].prefix
+ isl_home = self.spec["isl"].prefix
+ gmp_home = self.spec["gmp"].prefix
+
+ env.set("ROSEHOME", rose_home)
+ env.set("BOOSTHOME", boost_home)
+ env.set("IEGENHOME", iegen_home)
+ env.set("ISLHOME", isl_home)
+ env.set("GMPHOME", gmp_home)
+
+ env.append_path("LD_LIBRARY_PATH", rose_home.lib)
+ env.append_path("LD_LIBRARY_PATH", boost_home.lib)
+ env.append_path("LD_LIBRARY_PATH", iegen_home.lib)
+ env.append_path("LD_LIBRARY_PATH", isl_home.lib)
+ env.append_path("LD_LIBRARY_PATH", gmp_home.lib)
def setup_run_environment(self, env):
- rose_home = self.spec['rose'].prefix
- boost_home = self.spec['boost'].prefix
- iegen_home = self.spec['iegenlib'].prefix
- isl_home = self.spec['isl'].prefix
- gmp_home = self.spec['gmp'].prefix
-
- env.append_path('LD_LIBRARY_PATH', rose_home.lib)
- env.append_path('LD_LIBRARY_PATH', boost_home.lib)
- env.append_path('LD_LIBRARY_PATH', iegen_home.lib)
- env.append_path('LD_LIBRARY_PATH', isl_home.lib)
- env.append_path('LD_LIBRARY_PATH', gmp_home.lib)
+ rose_home = self.spec["rose"].prefix
+ boost_home = self.spec["boost"].prefix
+ iegen_home = self.spec["iegenlib"].prefix
+ isl_home = self.spec["isl"].prefix
+ gmp_home = self.spec["gmp"].prefix
+
+ env.append_path("LD_LIBRARY_PATH", rose_home.lib)
+ env.append_path("LD_LIBRARY_PATH", boost_home.lib)
+ env.append_path("LD_LIBRARY_PATH", iegen_home.lib)
+ env.append_path("LD_LIBRARY_PATH", isl_home.lib)
+ env.append_path("LD_LIBRARY_PATH", gmp_home.lib)
def configure_args(self):
- args = ['--with-rose={0}'.format(self.spec['rose'].prefix),
- '--with-boost={0}'.format(self.spec['boost'].prefix),
- '--with-iegen={0}'.format(self.spec['iegenlib'].prefix),
- '--with-isl={0}'.format(self.spec['isl'].prefix),
- '--with-gmp={0}'.format(self.spec['gmp'].prefix)]
+ args = [
+ "--with-rose={0}".format(self.spec["rose"].prefix),
+ "--with-boost={0}".format(self.spec["boost"].prefix),
+ "--with-iegen={0}".format(self.spec["iegenlib"].prefix),
+ "--with-isl={0}".format(self.spec["isl"].prefix),
+ "--with-gmp={0}".format(self.spec["gmp"].prefix),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/chlorop/package.py b/var/spack/repos/builtin/packages/chlorop/package.py
index 1b9a076d9a..74e4594f41 100644
--- a/var/spack/repos/builtin/packages/chlorop/package.py
+++ b/var/spack/repos/builtin/packages/chlorop/package.py
@@ -19,17 +19,17 @@ class Chlorop(Package):
a temporary directory."""
homepage = "https://www.cbs.dtu.dk/services/ChloroP/"
- url = "file://{0}/chlorop-1.1.Linux.tar.gz".format(os.getcwd())
+ url = "file://{0}/chlorop-1.1.Linux.tar.gz".format(os.getcwd())
manual_download = True
- version('1.1', 'eb0ba6b28dfa735163ad5fc70e30139e46e33f6ae27f87666a7167a4ac5f71d9')
+ version("1.1", "eb0ba6b28dfa735163ad5fc70e30139e46e33f6ae27f87666a7167a4ac5f71d9")
- depends_on('awk', type='run')
- patch('chlorop.patch')
+ depends_on("awk", type="run")
+ patch("chlorop.patch")
def install(self, spec, prefix):
- os.rename('chlorop', 'bin/chlorop')
- install_tree('.', prefix)
+ os.rename("chlorop", "bin/chlorop")
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.set('CHLOROP', self.prefix)
+ env.set("CHLOROP", self.prefix)
diff --git a/var/spack/repos/builtin/packages/chombo/package.py b/var/spack/repos/builtin/packages/chombo/package.py
index 3ae69285cd..47accf14fa 100644
--- a/var/spack/repos/builtin/packages/chombo/package.py
+++ b/var/spack/repos/builtin/packages/chombo/package.py
@@ -10,116 +10,113 @@ from spack.package import *
class Chombo(MakefilePackage):
"""The Chombo package provides a set of tools for implementing finite
- difference and finite-volume methods for the solution of partial
- differential equations on block-structured adaptively refined
- logically rectangular (i.e. Cartesian) grids."""
+ difference and finite-volume methods for the solution of partial
+ differential equations on block-structured adaptively refined
+ logically rectangular (i.e. Cartesian) grids."""
homepage = "https://commons.lbl.gov/display/chombo"
- git = "https://bitbucket.org/drhansj/chombo-xsdk.git"
+ git = "https://bitbucket.org/drhansj/chombo-xsdk.git"
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
# Use whatever path Brian V. and Terry L. agreed upon, but preserve version
- version('3.2', commit='71d856c')
- version('develop', tag='master')
-
- variant('mpi', default=True, description='Enable MPI parallel support')
- variant('hdf5', default=True, description='Enable HDF5 support')
- variant('dims', default='3', values=('1', '2', '3', '4', '5', '6'),
- multi=False, description='Number of PDE dimensions [1-6]')
-
- patch('hdf5-16api.patch', when='@3.2', level=0)
- patch('Make.defs.local.template.patch', when='@3.2', level=0)
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('gmake', type='build')
- depends_on('tcsh', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5', when='+hdf5')
- depends_on('hdf5+mpi', when='+mpi+hdf5')
+ version("3.2", commit="71d856c")
+ version("develop", tag="master")
+
+ variant("mpi", default=True, description="Enable MPI parallel support")
+ variant("hdf5", default=True, description="Enable HDF5 support")
+ variant(
+ "dims",
+ default="3",
+ values=("1", "2", "3", "4", "5", "6"),
+ multi=False,
+ description="Number of PDE dimensions [1-6]",
+ )
+
+ patch("hdf5-16api.patch", when="@3.2", level=0)
+ patch("Make.defs.local.template.patch", when="@3.2", level=0)
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("gmake", type="build")
+ depends_on("tcsh", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hdf5+mpi", when="+mpi+hdf5")
def edit(self, spec, prefix):
- files = glob.glob('lib/mk/local/*.csh')
- files += ['fixIncludes', 'lib/mk/Make.rules', 'lib/mk/reverse']
- files += ['lib/test/BoxTools/mpirun.sh']
- filter_file('/bin/csh', 'env csh', *files)
+ files = glob.glob("lib/mk/local/*.csh")
+ files += ["fixIncludes", "lib/mk/Make.rules", "lib/mk/reverse"]
+ files += ["lib/test/BoxTools/mpirun.sh"]
+ filter_file("/bin/csh", "env csh", *files)
# Set fortran name mangling in Make.defs
- defs_file = FileFilter('./lib/mk/Make.defs')
- defs_file.filter(r'^#\s*cppcallsfort\s*=.*',
- 'cppcallsfort = -DCH_FORT_UNDERSCORE')
+ defs_file = FileFilter("./lib/mk/Make.defs")
+ defs_file.filter(r"^#\s*cppcallsfort\s*=.*", "cppcallsfort = -DCH_FORT_UNDERSCORE")
# Set remaining variables in Make.defs.local
# Make.defs.local.template.patch ensures lines for USE_TIMER,
# USE_LAPACK and lapackincflags are present
- copy('./lib/mk/Make.defs.local.template',
- './lib/mk/Make.defs.local')
+ copy("./lib/mk/Make.defs.local.template", "./lib/mk/Make.defs.local")
- defs_file = FileFilter('./lib/mk/Make.defs.local')
+ defs_file = FileFilter("./lib/mk/Make.defs.local")
# Unconditional settings
- defs_file.filter(r'^#\s*DEBUG\s*=.*', 'DEBUG = FALSE')
- defs_file.filter(r'^#\s*OPT\s*=.*', 'OPT = TRUE')
+ defs_file.filter(r"^#\s*DEBUG\s*=.*", "DEBUG = FALSE")
+ defs_file.filter(r"^#\s*OPT\s*=.*", "OPT = TRUE")
# timer code frequently fails compiles. So disable it.
- defs_file.filter(r'^#\s*USE_TIMER\s*=.*', 'USE_TIMER = FALSE')
+ defs_file.filter(r"^#\s*USE_TIMER\s*=.*", "USE_TIMER = FALSE")
# LAPACK setup
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- defs_file.filter(r'^#\s*USE_LAPACK\s*=.*', 'USE_LAPACK = TRUE')
- defs_file.filter(
- r'^#\s*lapackincflags\s*=.*',
- 'lapackincflags = -I%s' % spec['lapack'].prefix.include)
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ defs_file.filter(r"^#\s*USE_LAPACK\s*=.*", "USE_LAPACK = TRUE")
defs_file.filter(
- r'^#\s*syslibflags\s*=.*',
- 'syslibflags = %s' % lapack_blas.ld_flags)
+ r"^#\s*lapackincflags\s*=.*", "lapackincflags = -I%s" % spec["lapack"].prefix.include
+ )
+ defs_file.filter(r"^#\s*syslibflags\s*=.*", "syslibflags = %s" % lapack_blas.ld_flags)
# Compilers and Compiler flags
- defs_file.filter(r'^#\s*CXX\s*=.*', 'CXX = %s' % spack_cxx)
- defs_file.filter(r'^#\s*FC\s*=.*', 'FC = %s' % spack_fc)
- if '+mpi' in spec:
- defs_file.filter(
- r'^#\s*MPICXX\s*=.*',
- 'MPICXX = %s' % self.spec['mpi'].mpicxx)
+ defs_file.filter(r"^#\s*CXX\s*=.*", "CXX = %s" % spack_cxx)
+ defs_file.filter(r"^#\s*FC\s*=.*", "FC = %s" % spack_fc)
+ if "+mpi" in spec:
+ defs_file.filter(r"^#\s*MPICXX\s*=.*", "MPICXX = %s" % self.spec["mpi"].mpicxx)
# Conditionally determined settings
- defs_file.filter(
- r'^#\s*MPI\s*=.*',
- 'MPI = %s' % ('TRUE' if '+mpi' in spec else 'FALSE'))
- defs_file.filter(
- r'^#\s*DIM\s*=.*',
- 'DIM = %s' % spec.variants['dims'].value)
+ defs_file.filter(r"^#\s*MPI\s*=.*", "MPI = %s" % ("TRUE" if "+mpi" in spec else "FALSE"))
+ defs_file.filter(r"^#\s*DIM\s*=.*", "DIM = %s" % spec.variants["dims"].value)
# HDF5 settings
- if '+hdf5' in spec:
- defs_file.filter(r'^#\s*USE_HDF5\s*=.*', 'USE_HDF5 = TRUE')
+ if "+hdf5" in spec:
+ defs_file.filter(r"^#\s*USE_HDF5\s*=.*", "USE_HDF5 = TRUE")
defs_file.filter(
- r'^#\s*HDFINCFLAGS\s*=.*',
- 'HDFINCFLAGS = -I%s' % spec['hdf5'].prefix.include)
+ r"^#\s*HDFINCFLAGS\s*=.*", "HDFINCFLAGS = -I%s" % spec["hdf5"].prefix.include
+ )
defs_file.filter(
- r'^#\s*HDFLIBFLAGS\s*=.*',
- 'HDFLIBFLAGS = %s' % spec['hdf5'].libs.ld_flags)
- if '+mpi' in spec:
+ r"^#\s*HDFLIBFLAGS\s*=.*", "HDFLIBFLAGS = %s" % spec["hdf5"].libs.ld_flags
+ )
+ if "+mpi" in spec:
defs_file.filter(
- r'^#\s*HDFMPIINCFLAGS\s*=.*',
- 'HDFMPIINCFLAGS = -I%s' % spec['hdf5'].prefix.include)
+ r"^#\s*HDFMPIINCFLAGS\s*=.*",
+ "HDFMPIINCFLAGS = -I%s" % spec["hdf5"].prefix.include,
+ )
defs_file.filter(
- r'^#\s*HDFMPILIBFLAGS\s*=.*',
- 'HDFMPILIBFLAGS = %s' % spec['hdf5'].libs.ld_flags)
+ r"^#\s*HDFMPILIBFLAGS\s*=.*",
+ "HDFMPILIBFLAGS = %s" % spec["hdf5"].libs.ld_flags,
+ )
def build(self, spec, prefix):
- with working_dir('lib'):
- gmake('all')
+ with working_dir("lib"):
+ gmake("all")
def install(self, spec, prefix):
- with working_dir('lib'):
- install_tree('include', prefix.include)
+ with working_dir("lib"):
+ install_tree("include", prefix.include)
# The package only builds static libs on Linux,
# maybe it builds shared libs on another OS.
# This restores the originally impemented install:
- libfiles = glob.glob('lib*.a')
- libfiles += glob.glob('lib*.so')
- libfiles += glob.glob('lib*.dylib')
+ libfiles = glob.glob("lib*.a")
+ libfiles += glob.glob("lib*.so")
+ libfiles += glob.glob("lib*.dylib")
mkdirp(prefix.lib)
for lib in libfiles:
install(lib, prefix.lib)
diff --git a/var/spack/repos/builtin/packages/chrony/package.py b/var/spack/repos/builtin/packages/chrony/package.py
index 2c379870ef..9080681528 100644
--- a/var/spack/repos/builtin/packages/chrony/package.py
+++ b/var/spack/repos/builtin/packages/chrony/package.py
@@ -13,15 +13,15 @@ class Chrony(AutotoolsPackage):
input using wristwatch and keyboard."""
homepage = "https://chrony.tuxfamily.org/"
- url = "https://github.com/mlichvar/chrony/archive/3.5.1.tar.gz"
+ url = "https://github.com/mlichvar/chrony/archive/3.5.1.tar.gz"
- version('3.5.1', sha256='881085b944a14853402e1c5cff4de5d815ff104ec6e12eea51c12e42f32f71bd')
- version('3.5', sha256='145a270fe4df42931f175e37dd3771a7e714122ae361921a4b93082e648a08c5')
- version('3.4', sha256='85fbe433f5a3ee961a20c47a72367760b074448587a9e2d3a6788a95750ed77e')
- version('3.3', sha256='0dd7323b5ed9e3208236c1b39fcabf2ad03469fa07ac516ba9c682206133f66d')
+ version("3.5.1", sha256="881085b944a14853402e1c5cff4de5d815ff104ec6e12eea51c12e42f32f71bd")
+ version("3.5", sha256="145a270fe4df42931f175e37dd3771a7e714122ae361921a4b93082e648a08c5")
+ version("3.4", sha256="85fbe433f5a3ee961a20c47a72367760b074448587a9e2d3a6788a95750ed77e")
+ version("3.3", sha256="0dd7323b5ed9e3208236c1b39fcabf2ad03469fa07ac516ba9c682206133f66d")
- depends_on('ruby-asciidoctor')
- depends_on('bison', type='build')
+ depends_on("ruby-asciidoctor")
+ depends_on("bison", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/chrpath/package.py b/var/spack/repos/builtin/packages/chrpath/package.py
index 2f8d2458ca..f89ca2e800 100644
--- a/var/spack/repos/builtin/packages/chrpath/package.py
+++ b/var/spack/repos/builtin/packages/chrpath/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class Chrpath(AutotoolsPackage):
"""chrpath: Modifies the dynamic library load path (rpath and runpath)
- of compiled programs and libraries."""
+ of compiled programs and libraries."""
homepage = "https://directory.fsf.org/wiki/Chrpath"
- url = "https://cfhcable.dl.sourceforge.net/project/pisilinux/source/chrpath-0.16.tar.gz"
+ url = "https://cfhcable.dl.sourceforge.net/project/pisilinux/source/chrpath-0.16.tar.gz"
- version('0.16', sha256='bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b')
+ version("0.16", sha256="bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b")
diff --git a/var/spack/repos/builtin/packages/cinch/package.py b/var/spack/repos/builtin/packages/cinch/package.py
index 3796c5e1f6..dc7c5ff9ba 100644
--- a/var/spack/repos/builtin/packages/cinch/package.py
+++ b/var/spack/repos/builtin/packages/cinch/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Cinch(Package):
"""
- Cinch is a set of utilities and configuration options designed to make
- cmake builds easy to use and manage.
+ Cinch is a set of utilities and configuration options designed to make
+ cmake builds easy to use and manage.
"""
homepage = "https://github.com/laristra/cinch"
url = "https://github.com/laristra/cinch/archive/1.0.zip"
- git = "https://github.com/laristra/cinch.git"
+ git = "https://github.com/laristra/cinch.git"
- version('master', branch='master', submodules=False)
- version('1.0', sha256='98b73473829b478191481621d84c3d63c662da6e951321f858a032eae3ca07b7')
+ version("master", branch="master", submodules=False)
+ version("1.0", sha256="98b73473829b478191481621d84c3d63c662da6e951321f858a032eae3ca07b7")
def install(self, spec, prefix):
# (CMake) Header Only library so just copy
install_tree(self.stage.source_path, prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('CMAKE_PREFIX_PATH', self.prefix)
- env.set('CINCH_SOURCE_DIR', self.prefix)
+ env.prepend_path("CMAKE_PREFIX_PATH", self.prefix)
+ env.set("CINCH_SOURCE_DIR", self.prefix)
diff --git a/var/spack/repos/builtin/packages/circos/package.py b/var/spack/repos/builtin/packages/circos/package.py
index 68ee499531..7bd3d943d0 100644
--- a/var/spack/repos/builtin/packages/circos/package.py
+++ b/var/spack/repos/builtin/packages/circos/package.py
@@ -12,33 +12,32 @@ class Circos(Package):
"""Circos is a software package for visualizing data and information."""
homepage = "http://circos.ca/"
- url = "http://circos.ca/distribution/circos-0.69-6.tgz"
-
- version('0.69-6', sha256='52d29bfd294992199f738a8d546a49754b0125319a1685a28daca71348291566')
-
- depends_on('perl', type='run')
- depends_on('perl-clone', type='run')
- depends_on('perl-config-general', type='run')
- depends_on('perl-exporter-tiny', type='run')
- depends_on('perl-font-ttf', type='run')
- depends_on('perl-gd', type='run')
- depends_on('perl-io-string', type='run')
- depends_on('perl-list-moreutils', type='run')
- depends_on('perl-math-round', type='run')
- depends_on('perl-math-bezier', type='run')
- depends_on('perl-math-vecstat', type='run')
- depends_on('perl-params-validate', type='run')
- depends_on('perl-readonly', type='run')
- depends_on('perl-regexp-common', type='run')
- depends_on('perl-set-intspan', type='run')
- depends_on('perl-statistics-basic', type='run')
- depends_on('perl-svg', type='run')
- depends_on('perl-text-format', type='run')
+ url = "http://circos.ca/distribution/circos-0.69-6.tgz"
+
+ version("0.69-6", sha256="52d29bfd294992199f738a8d546a49754b0125319a1685a28daca71348291566")
+
+ depends_on("perl", type="run")
+ depends_on("perl-clone", type="run")
+ depends_on("perl-config-general", type="run")
+ depends_on("perl-exporter-tiny", type="run")
+ depends_on("perl-font-ttf", type="run")
+ depends_on("perl-gd", type="run")
+ depends_on("perl-io-string", type="run")
+ depends_on("perl-list-moreutils", type="run")
+ depends_on("perl-math-round", type="run")
+ depends_on("perl-math-bezier", type="run")
+ depends_on("perl-math-vecstat", type="run")
+ depends_on("perl-params-validate", type="run")
+ depends_on("perl-readonly", type="run")
+ depends_on("perl-regexp-common", type="run")
+ depends_on("perl-set-intspan", type="run")
+ depends_on("perl-statistics-basic", type="run")
+ depends_on("perl-svg", type="run")
+ depends_on("perl-text-format", type="run")
def install(self, spec, prefix):
basedir = prefix.lib.circos
- install_tree('.', basedir)
+ install_tree(".", basedir)
mkdirp(prefix.bin)
- symlink(basedir.bin.circos,
- prefix.bin.circos)
+ symlink(basedir.bin.circos, prefix.bin.circos)
diff --git a/var/spack/repos/builtin/packages/cistem/package.py b/var/spack/repos/builtin/packages/cistem/package.py
index b805f7d2f3..b73354c2eb 100644
--- a/var/spack/repos/builtin/packages/cistem/package.py
+++ b/var/spack/repos/builtin/packages/cistem/package.py
@@ -9,14 +9,16 @@ from spack.package import *
class Cistem(AutotoolsPackage):
"""cisTEM is user-friendly software to process cryo-EM images of
- macromolecular complexes and obtain high-resolution 3D reconstructions
- from them."""
+ macromolecular complexes and obtain high-resolution 3D reconstructions
+ from them."""
homepage = "https://cistem.org/"
- url = "https://cistem.org/system/tdf/upload3/cistem-1.0.0-beta-source-code.tar.gz?file=1&type=cistem_details&id=37&force=0"
+ url = "https://cistem.org/system/tdf/upload3/cistem-1.0.0-beta-source-code.tar.gz?file=1&type=cistem_details&id=37&force=0"
- version('1.0.0-beta', sha256='c62068f53d0a269ffa1bfff34641597d3795989a930686437fba9eed7a991af6')
+ version(
+ "1.0.0-beta", sha256="c62068f53d0a269ffa1bfff34641597d3795989a930686437fba9eed7a991af6"
+ )
- depends_on('wxwidgets@3.0.2')
- depends_on('fftw')
- depends_on('libtiff')
+ depends_on("wxwidgets@3.0.2")
+ depends_on("fftw")
+ depends_on("libtiff")
diff --git a/var/spack/repos/builtin/packages/citcoms/package.py b/var/spack/repos/builtin/packages/citcoms/package.py
index 2fb39fc4fa..18279085b1 100644
--- a/var/spack/repos/builtin/packages/citcoms/package.py
+++ b/var/spack/repos/builtin/packages/citcoms/package.py
@@ -11,63 +11,65 @@ class Citcoms(AutotoolsPackage):
thermochemical convection problems relevant to Earth's mantle."""
homepage = "https://geodynamics.org/cig/software/citcoms/"
- url = "https://github.com/geodynamics/citcoms/releases/download/v3.3.1/CitcomS-3.3.1.tar.gz"
- git = "https://github.com/geodynamics/citcoms.git"
+ url = "https://github.com/geodynamics/citcoms/releases/download/v3.3.1/CitcomS-3.3.1.tar.gz"
+ git = "https://github.com/geodynamics/citcoms.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master', submodules=True)
- version('3.3.1', sha256='e3520e0a933e4699d31e86fe309b8c154ea6ecb0f42a1cf6f25e8d13d825a4b3')
- version('3.2.0', sha256='773a14d91ecbb4a4d1e04317635fab79819d83c57b47f19380ff30b9b19cb07a')
+ version("master", branch="master", submodules=True)
+ version("3.3.1", sha256="e3520e0a933e4699d31e86fe309b8c154ea6ecb0f42a1cf6f25e8d13d825a4b3")
+ version("3.2.0", sha256="773a14d91ecbb4a4d1e04317635fab79819d83c57b47f19380ff30b9b19cb07a")
- variant('ggrd', default=False, description='use GGRD file support')
- variant('cuda', default=False, description='use CUDA')
- variant('hdf5', default=False, description='add HDF5 support')
+ variant("ggrd", default=False, description="use GGRD file support")
+ variant("cuda", default=False, description="use CUDA")
+ variant("hdf5", default=False, description="add HDF5 support")
# Required dependencies
- depends_on('mpi')
- depends_on('zlib')
- depends_on('python@:2', type='run') # needed for post-processing scripts
- depends_on('automake', when='@master', type='build')
- depends_on('autoconf', when='@master', type='build')
- depends_on('libtool', when='@master', type='build')
- depends_on('m4', when='@master', type='build')
+ depends_on("mpi")
+ depends_on("zlib")
+ depends_on("python@:2", type="run") # needed for post-processing scripts
+ depends_on("automake", when="@master", type="build")
+ depends_on("autoconf", when="@master", type="build")
+ depends_on("libtool", when="@master", type="build")
+ depends_on("m4", when="@master", type="build")
# Optional dependencies
- depends_on('hc', when='+ggrd')
- depends_on('cuda', when='+cuda')
- depends_on('hdf5+mpi', when='+hdf5')
+ depends_on("hc", when="+ggrd")
+ depends_on("cuda", when="+cuda")
+ depends_on("hdf5+mpi", when="+hdf5")
def setup_build_environment(self, env):
- if '+ggrd' in self.spec:
- env.set('HC_HOME', self.spec['hc'].prefix)
+ if "+ggrd" in self.spec:
+ env.set("HC_HOME", self.spec["hc"].prefix)
def configure_args(self):
- args = ['CC={0}'.format(self.spec['mpi'].mpicc)]
+ args = ["CC={0}".format(self.spec["mpi"].mpicc)]
# Flags only valid in 3.2
- if self.spec.satisfies('@:3.2'):
- args.append('--without-pyre')
- args.append('--without-exchanger')
+ if self.spec.satisfies("@:3.2"):
+ args.append("--without-pyre")
+ args.append("--without-exchanger")
- if '+ggrd' in self.spec:
- args.append('--with-ggrd')
+ if "+ggrd" in self.spec:
+ args.append("--with-ggrd")
else:
- args.append('--without-ggrd')
+ args.append("--without-ggrd")
- if '+cuda' in self.spec:
- args.append('--with-cuda')
+ if "+cuda" in self.spec:
+ args.append("--with-cuda")
else:
- args.append('--without-cuda')
-
- if '+hdf5' in self.spec:
- args.extend([
- '--with-hdf5',
- # https://github.com/geodynamics/citcoms/issues/2
- 'CPPFLAGS=-DH5_USE_16_API',
- 'CFLAGS=-DH5_USE_16_API'
- ])
+ args.append("--without-cuda")
+
+ if "+hdf5" in self.spec:
+ args.extend(
+ [
+ "--with-hdf5",
+ # https://github.com/geodynamics/citcoms/issues/2
+ "CPPFLAGS=-DH5_USE_16_API",
+ "CFLAGS=-DH5_USE_16_API",
+ ]
+ )
else:
- args.append('--without-hdf5')
+ args.append("--without-hdf5")
return args
diff --git a/var/spack/repos/builtin/packages/cityhash/package.py b/var/spack/repos/builtin/packages/cityhash/package.py
index 3ec5907325..a7617b93ce 100644
--- a/var/spack/repos/builtin/packages/cityhash/package.py
+++ b/var/spack/repos/builtin/packages/cityhash/package.py
@@ -10,10 +10,10 @@ class Cityhash(AutotoolsPackage):
"""CityHash, a family of hash functions for strings."""
homepage = "https://github.com/google/cityhash"
- git = "https://github.com/google/cityhash.git"
+ git = "https://github.com/google/cityhash.git"
- version('master', branch='master')
- version('2013-07-31', commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
+ version("master", branch="master")
+ version("2013-07-31", commit="8af9b8c2b889d80c22d6bc26ba0df1afb79a30db")
def configure_args(self):
- return ['--enable-sse4.2']
+ return ["--enable-sse4.2"]
diff --git a/var/spack/repos/builtin/packages/cjson/package.py b/var/spack/repos/builtin/packages/cjson/package.py
index 8f114b69b3..3670760907 100644
--- a/var/spack/repos/builtin/packages/cjson/package.py
+++ b/var/spack/repos/builtin/packages/cjson/package.py
@@ -9,8 +9,8 @@ from spack.package import *
class Cjson(CMakePackage):
"""Ultralightweight JSON parser in ANSI C."""
- homepage = 'https://github.com/DaveGamble/cJSON'
- git = 'https://github.com/DaveGamble/cJSON'
- url = 'https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.15.zip'
+ homepage = "https://github.com/DaveGamble/cJSON"
+ git = "https://github.com/DaveGamble/cJSON"
+ url = "https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.15.zip"
- version('1.7.15', sha256='c55519316d940757ef93a779f1db1ca809dbf979c551861f339d35aaea1c907c')
+ version("1.7.15", sha256="c55519316d940757ef93a779f1db1ca809dbf979c551861f339d35aaea1c907c")
diff --git a/var/spack/repos/builtin/packages/ck/package.py b/var/spack/repos/builtin/packages/ck/package.py
index 288a5bfef4..1364b3a236 100644
--- a/var/spack/repos/builtin/packages/ck/package.py
+++ b/var/spack/repos/builtin/packages/ck/package.py
@@ -11,11 +11,11 @@ class Ck(MavenPackage):
projects by means of static analysis (i.e. no need for compiled code)."""
homepage = "https://github.com/mauricioaniche/ck"
- url = "https://github.com/mauricioaniche/ck/archive/ck-0.6.2.tar.gz"
+ url = "https://github.com/mauricioaniche/ck/archive/ck-0.6.2.tar.gz"
- version('0.6.2', sha256='ee16d209f05852230504dea1af39cdb1cfc8e9b56f4708ed1afcd5ce44af76eb')
- version('0.6.1', sha256='1db1fef7111bb485d5554d5927611761a102133a41b88e8fb20cd44494411ac4')
- version('0.6.0', sha256='8a1affad047fbefda5d2dad1a795204ffd06c50e2fba830f87cf6c7518423137')
- version('0.5.2', sha256='35f610f5d97ca31a62903ba368be7e0b74764daccd95afa3eb9ff04e0326a7ca')
- version('0.5.1', sha256='732849ae7b26d01ee082283396a6fdd7823282c368ae6fd05966acb4598ccebe')
- version('0.5.0', sha256='3923d25ff4941a6207d644fd1ba3115b5ad303ef953285610e836bc59a4cbcb7')
+ version("0.6.2", sha256="ee16d209f05852230504dea1af39cdb1cfc8e9b56f4708ed1afcd5ce44af76eb")
+ version("0.6.1", sha256="1db1fef7111bb485d5554d5927611761a102133a41b88e8fb20cd44494411ac4")
+ version("0.6.0", sha256="8a1affad047fbefda5d2dad1a795204ffd06c50e2fba830f87cf6c7518423137")
+ version("0.5.2", sha256="35f610f5d97ca31a62903ba368be7e0b74764daccd95afa3eb9ff04e0326a7ca")
+ version("0.5.1", sha256="732849ae7b26d01ee082283396a6fdd7823282c368ae6fd05966acb4598ccebe")
+ version("0.5.0", sha256="3923d25ff4941a6207d644fd1ba3115b5ad303ef953285610e836bc59a4cbcb7")
diff --git a/var/spack/repos/builtin/packages/clamav/package.py b/var/spack/repos/builtin/packages/clamav/package.py
index 8348c8862b..99c8ff7d0c 100644
--- a/var/spack/repos/builtin/packages/clamav/package.py
+++ b/var/spack/repos/builtin/packages/clamav/package.py
@@ -11,27 +11,27 @@ class Clamav(AutotoolsPackage):
viruses, malware & other malicious threats."""
homepage = "https://www.clamav.net/"
- url = "https://www.clamav.net/downloads/production/clamav-0.101.2.tar.gz"
+ url = "https://www.clamav.net/downloads/production/clamav-0.101.2.tar.gz"
- version('0.101.2', sha256='0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634')
+ version("0.101.2", sha256="0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634")
- depends_on('pkgconfig', type='build')
- depends_on('json-c')
- depends_on('openssl')
- depends_on('pcre')
- depends_on('yara')
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('curl', type='link')
+ depends_on("pkgconfig", type="build")
+ depends_on("json-c")
+ depends_on("openssl")
+ depends_on("pcre")
+ depends_on("yara")
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("curl", type="link")
def configure_args(self):
spec = self.spec
args = [
- '--enable-llvm=no',
- '--with-libjson=%s' % spec['json-c'].prefix,
- '--with-openssl=%s' % spec['openssl'].prefix,
- '--with-pcre=%s' % spec['pcre'].prefix,
- '--with-zlib=%s' % spec['zlib'].prefix,
- '--with-bzip2=%s' % spec['bzip2'].prefix
+ "--enable-llvm=no",
+ "--with-libjson=%s" % spec["json-c"].prefix,
+ "--with-openssl=%s" % spec["openssl"].prefix,
+ "--with-pcre=%s" % spec["pcre"].prefix,
+ "--with-zlib=%s" % spec["zlib"].prefix,
+ "--with-bzip2=%s" % spec["bzip2"].prefix,
]
return args
diff --git a/var/spack/repos/builtin/packages/clamr/package.py b/var/spack/repos/builtin/packages/clamr/package.py
index f11224caf0..4399fa641a 100644
--- a/var/spack/repos/builtin/packages/clamr/package.py
+++ b/var/spack/repos/builtin/packages/clamr/package.py
@@ -13,48 +13,52 @@ class Clamr(CMakePackage):
"""
homepage = "https://github.com/lanl/CLAMR"
- git = "https://github.com/lanl/CLAMR.git"
- tags = ['proxy-app']
+ git = "https://github.com/lanl/CLAMR.git"
+ tags = ["proxy-app"]
- version('master')
+ version("master")
variant(
- 'graphics', default='opengl',
- values=('opengl', 'mpe', 'none'),
- description='Build with specified graphics support')
+ "graphics",
+ default="opengl",
+ values=("opengl", "mpe", "none"),
+ description="Build with specified graphics support",
+ )
variant(
- 'precision', default='mixed',
- values=('single', 'mixed', 'full'),
- description='single, mixed, or full double precision values')
+ "precision",
+ default="mixed",
+ values=("single", "mixed", "full"),
+ description="single, mixed, or full double precision values",
+ )
- depends_on('cmake@3.1:', type='build')
- depends_on('mpi')
- depends_on('mpe', when='graphics=mpe')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("mpi")
+ depends_on("mpe", when="graphics=mpe")
def cmake_args(self):
spec = self.spec
cmake_args = []
- if 'graphics=none' in spec:
- cmake_args.append('-DGRAPHICS_TYPE=None')
- elif 'graphics=mpe' in spec:
- cmake_args.append('-DGRAPHICS_TYPE=MPE')
+ if "graphics=none" in spec:
+ cmake_args.append("-DGRAPHICS_TYPE=None")
+ elif "graphics=mpe" in spec:
+ cmake_args.append("-DGRAPHICS_TYPE=MPE")
else:
- cmake_args.append('-DGRAPHICS_TYPE=OpenGL')
+ cmake_args.append("-DGRAPHICS_TYPE=OpenGL")
- if 'precision=full' in spec:
- cmake_args.append('-DPRECISION_TYPE=full_precision')
- elif 'precision=single' in spec:
- cmake_args.append('-DPRECISION_TYPE=minimum_precision')
+ if "precision=full" in spec:
+ cmake_args.append("-DPRECISION_TYPE=full_precision")
+ elif "precision=single" in spec:
+ cmake_args.append("-DPRECISION_TYPE=minimum_precision")
else:
- cmake_args.append('-DPRECISION_TYPE=mixed_precision')
+ cmake_args.append("-DPRECISION_TYPE=mixed_precision")
# if MIC, then -DMIC_NATIVE=yes
return cmake_args
def install(self, spec, prefix):
- install('README', prefix)
- install('LICENSE', prefix)
- install_tree('docs', join_path(prefix, 'docs'))
- install_tree('tests', join_path(prefix, 'tests'))
+ install("README", prefix)
+ install("LICENSE", prefix)
+ install_tree("docs", join_path(prefix, "docs"))
+ install_tree("tests", join_path(prefix, "tests"))
with working_dir(self.build_directory):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/clapack/package.py b/var/spack/repos/builtin/packages/clapack/package.py
index d8036a8a71..13db729357 100644
--- a/var/spack/repos/builtin/packages/clapack/package.py
+++ b/var/spack/repos/builtin/packages/clapack/package.py
@@ -16,29 +16,26 @@ class Clapack(MakefilePackage):
compiler."""
homepage = "https://www.netlib.org/clapack/"
- url = "https://www.netlib.org/clapack/clapack.tgz"
+ url = "https://www.netlib.org/clapack/clapack.tgz"
- version('3.2.1', sha256='6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac')
+ version("3.2.1", sha256="6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac")
- variant('external-blas', default=True,
- description='Build with external BLAS (ATLAS here).')
+ variant("external-blas", default=True, description="Build with external BLAS (ATLAS here).")
- depends_on('atlas', when='+external-blas')
+ depends_on("atlas", when="+external-blas")
def edit(self, spec, prefix):
- copy('make.inc.example', 'make.inc')
- if '+external-blas' in spec:
- make_inc = FileFilter('make.inc')
- make_inc.filter(r'^BLASLIB.*',
- 'BLASLIB = ../../libcblaswr.a -lcblas -latlas')
- makefile = FileFilter('Makefile')
- makefile.filter(r'^lib.*',
- 'lib: variants lapacklib tmglib')
+ copy("make.inc.example", "make.inc")
+ if "+external-blas" in spec:
+ make_inc = FileFilter("make.inc")
+ make_inc.filter(r"^BLASLIB.*", "BLASLIB = ../../libcblaswr.a -lcblas -latlas")
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"^lib.*", "lib: variants lapacklib tmglib")
def build(self, spec, prefix):
- make('f2clib')
- make('cblaswrap' if '+external-blas' in spec else 'blaslib')
- make('lib')
+ make("f2clib")
+ make("cblaswrap" if "+external-blas" in spec else "blaslib")
+ make("lib")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/clara/package.py b/var/spack/repos/builtin/packages/clara/package.py
index d3e5f60e0e..3eaea61ce5 100644
--- a/var/spack/repos/builtin/packages/clara/package.py
+++ b/var/spack/repos/builtin/packages/clara/package.py
@@ -11,29 +11,28 @@ class Clara(CMakePackage):
and beyond."""
homepage = "https://github.com/catchorg/Clara"
- url = "https://github.com/catchorg/Clara/archive/v1.1.5.tar.gz"
+ url = "https://github.com/catchorg/Clara/archive/v1.1.5.tar.gz"
- maintainers = ['bvanessen']
+ maintainers = ["bvanessen"]
- variant('single_header', default=True,
- description='Install a single header only.')
+ variant("single_header", default=True, description="Install a single header only.")
- version('1.1.5', sha256='767dc1718e53678cbea00977adcd0a8a195802a505aec3c537664cf25a173142')
- version('1.1.4', sha256='ed3f9cc32e4ea6075c26caff63ee14a87e43dee1f3010c02bd041b9a0c86f72d')
- version('1.1.3', sha256='a8132befb6b32bf447a74f7e758ac0b63e7bab86974aeb55ee2fd1cd77385f9e')
- version('1.1.2', sha256='87c8e9440cc339c2a7b7efa0313070ff0081eca7780f098f6aff624ffa640c16')
- version('1.1.1', sha256='10915a49a94d371f05af360d40e9cc9615ab86f200d261edf196a8ddd7efa7f8')
- version('1.1.0', sha256='29ca29d843150aabad702356f79009f5b30dda05ac9674a064362b7edcba5477')
+ version("1.1.5", sha256="767dc1718e53678cbea00977adcd0a8a195802a505aec3c537664cf25a173142")
+ version("1.1.4", sha256="ed3f9cc32e4ea6075c26caff63ee14a87e43dee1f3010c02bd041b9a0c86f72d")
+ version("1.1.3", sha256="a8132befb6b32bf447a74f7e758ac0b63e7bab86974aeb55ee2fd1cd77385f9e")
+ version("1.1.2", sha256="87c8e9440cc339c2a7b7efa0313070ff0081eca7780f098f6aff624ffa640c16")
+ version("1.1.1", sha256="10915a49a94d371f05af360d40e9cc9615ab86f200d261edf196a8ddd7efa7f8")
+ version("1.1.0", sha256="29ca29d843150aabad702356f79009f5b30dda05ac9674a064362b7edcba5477")
- @when('+single_header')
+ @when("+single_header")
def cmake(self, spec, prefix):
pass
- @when('+single_header')
+ @when("+single_header")
def build(self, spec, prefix):
pass
- @when('+single_header')
+ @when("+single_header")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install_tree('single_include', prefix.include)
+ install_tree("single_include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/claw/package.py b/var/spack/repos/builtin/packages/claw/package.py
index 628cd8d73d..904bdc94b8 100644
--- a/var/spack/repos/builtin/packages/claw/package.py
+++ b/var/spack/repos/builtin/packages/claw/package.py
@@ -8,67 +8,72 @@ from spack.package import *
class Claw(CMakePackage):
"""CLAW Compiler targets performance portability problem in climate and
- weather application written in Fortran. From a single source code, it
- generates architecture specific code decorated with OpenMP or OpenACC"""
-
- homepage = 'https://claw-project.github.io/'
- git = 'https://github.com/claw-project/claw-compiler.git'
- maintainers = ['clementval', 'skosukhin']
-
- 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')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
-
- depends_on('java@8:', when="@2.0:")
- depends_on('java@7:', when="@1.1.0:1.2.3")
- depends_on('libxml2')
+ weather application written in Fortran. From a single source code, it
+ generates architecture specific code decorated with OpenMP or OpenACC"""
+
+ homepage = "https://claw-project.github.io/"
+ git = "https://github.com/claw-project/claw-compiler.git"
+ maintainers = ["clementval", "skosukhin"]
+
+ 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")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+
+ depends_on("java@8:", when="@2.0:")
+ depends_on("java@7:", when="@1.1.0:1.2.3")
+ depends_on("libxml2")
# 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?full_index=1',
- sha256='262799fde57cb32f1514db22a7757e994bd8b97090ce0a5f55249fd56d0e5c29',
- when='@:2.0.2%intel')
+ patch(
+ "https://github.com/claw-project/claw-compiler/commit/e9fe6dbd291454ce34dd58f21d102f7f1bdff874.patch?full_index=1",
+ sha256="262799fde57cb32f1514db22a7757e994bd8b97090ce0a5f55249fd56d0e5c29",
+ when="@:2.0.2%intel",
+ )
# Fix the dependency preprocessing for compilers that cannot use
# redirection > to save file (cce is currently the only known case):
- patch('https://github.com/claw-project/claw-compiler/commit/4d8bc7a794af3651b8b61501388fc00096b23a85.patch?full_index=1',
- sha256='a20427456560070e284ff44edb658383b635042be91d2ffbe7aeb7afbd8f02bc',
- when='@2.0.2%cce')
+ patch(
+ "https://github.com/claw-project/claw-compiler/commit/4d8bc7a794af3651b8b61501388fc00096b23a85.patch?full_index=1",
+ sha256="a20427456560070e284ff44edb658383b635042be91d2ffbe7aeb7afbd8f02bc",
+ when="@2.0.2%cce",
+ )
# Cache ANT dependencies in the stage directory.
# Otherwise, they are cached to the user's home directory.
- patch('ivy_local_cache.patch')
+ patch("ivy_local_cache.patch")
# https://github.com/claw-project/claw-compiler/pull/586
- conflicts('%nag', when='@:2.0.1')
+ conflicts("%nag", when="@:2.0.1")
- filter_compiler_wrappers('claw_f.conf', relative_root='etc')
+ filter_compiler_wrappers("claw_f.conf", relative_root="etc")
def flag_handler(self, name, flags):
- if name == 'cflags':
- if any([self.spec.compiler.satisfies(s) for s in
- ['gcc@10:', 'clang@11:', 'cce@11:', 'aocc@3:']]):
+ if name == "cflags":
+ if any(
+ [
+ self.spec.compiler.satisfies(s)
+ for s in ["gcc@10:", "clang@11:", "cce@11:", "aocc@3:"]
+ ]
+ ):
# https://gcc.gnu.org/gcc-10/porting_to.html
# https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html#modified-compiler-flags
- flags.append('-fcommon')
+ flags.append("-fcommon")
return flags, None, None
def cmake_args(self):
- args = [
- '-DOMNI_CONF_OPTION=--with-libxml2=%s' %
- self.spec['libxml2'].prefix
- ]
+ args = ["-DOMNI_CONF_OPTION=--with-libxml2=%s" % self.spec["libxml2"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/clblast/package.py b/var/spack/repos/builtin/packages/clblast/package.py
index 454e61875d..fa0a36de1c 100644
--- a/var/spack/repos/builtin/packages/clblast/package.py
+++ b/var/spack/repos/builtin/packages/clblast/package.py
@@ -8,44 +8,44 @@ from spack.package import *
class Clblast(CMakePackage):
- """ CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS
+ """CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS
library written in C++11. It is designed to leverage the full performance
potential of a wide variety of OpenCL devices from different vendors,
including desktop and laptop GPUs, embedded GPUs, and other accelerators.
CLBlast implements BLAS routines: basic linear algebra subprograms
operating on vectors and matrices."""
- homepage = 'https://cnugteren.github.io/clblast/clblast.html'
- git = 'https://github.com/CNugteren/CLBlast'
- url = 'https://github.com/CNugteren/CLBlast/archive/refs/tags/1.5.2.zip'
+ homepage = "https://cnugteren.github.io/clblast/clblast.html"
+ git = "https://github.com/CNugteren/CLBlast"
+ url = "https://github.com/CNugteren/CLBlast/archive/refs/tags/1.5.2.zip"
- maintainers = ['umar456']
+ maintainers = ["umar456"]
- version('master', branch='master')
- version('1.5.2', sha256='0e3a017c3aa352e0bf94ea65cfc9609beb2c22204d31c2ef43d0478178cfee00')
- version('1.5.1', sha256='a0f0cb7308b59a495c23beaef1674093ed26996f66d439623808755dbf568c3f')
- version('1.5.0', sha256='1bf8584ee4370d5006a467a1206276ab23e32ba03fd1bd0f1c6da6a6c9f03bc9')
- version('1.4.1', sha256='c22dab892641301b24bd90f5a6916a10b5a877c5f5f90c2dc348a58d39a278a7')
- version('1.4.0', sha256='ae00393fab7f7a85a6058ffb336670d1a529213eea288af4d657a32f2834564a')
- version('1.3.0', sha256='cf314e976329dd2dfd467b713247c020b06c0fc17d4261d94c4aabbf34f5827f')
- version('1.2.0', sha256='3adfd5b5ffa2725e3c172de7cde8cc7019cd295fac4e37d39839e176db0db652')
- version('1.1.0', sha256='2896f5c8ac6580b1adf026770ef5a664b209484c47189c55466f8884ffd33052')
- version('1.0.1', sha256='6c9415a1394c554debce85c47349ecaaebdc9d5baa187d3ecb84be00ae9c70f0')
- version('1.0.0', sha256='230a55a868bdd21425867cbd0dcb7ec046aa5ca522fb5694e42740b5b16d0f59')
+ version("master", branch="master")
+ version("1.5.2", sha256="0e3a017c3aa352e0bf94ea65cfc9609beb2c22204d31c2ef43d0478178cfee00")
+ version("1.5.1", sha256="a0f0cb7308b59a495c23beaef1674093ed26996f66d439623808755dbf568c3f")
+ version("1.5.0", sha256="1bf8584ee4370d5006a467a1206276ab23e32ba03fd1bd0f1c6da6a6c9f03bc9")
+ version("1.4.1", sha256="c22dab892641301b24bd90f5a6916a10b5a877c5f5f90c2dc348a58d39a278a7")
+ version("1.4.0", sha256="ae00393fab7f7a85a6058ffb336670d1a529213eea288af4d657a32f2834564a")
+ version("1.3.0", sha256="cf314e976329dd2dfd467b713247c020b06c0fc17d4261d94c4aabbf34f5827f")
+ version("1.2.0", sha256="3adfd5b5ffa2725e3c172de7cde8cc7019cd295fac4e37d39839e176db0db652")
+ version("1.1.0", sha256="2896f5c8ac6580b1adf026770ef5a664b209484c47189c55466f8884ffd33052")
+ version("1.0.1", sha256="6c9415a1394c554debce85c47349ecaaebdc9d5baa187d3ecb84be00ae9c70f0")
+ version("1.0.0", sha256="230a55a868bdd21425867cbd0dcb7ec046aa5ca522fb5694e42740b5b16d0f59")
- depends_on('opencl +icd')
+ depends_on("opencl +icd")
- variant('shared', description='Build a shared libraries', default=True)
- variant('tuners', description='Enable compilation of the tuners', default=False)
- variant('netlib', description='Enable compilation of the CBLAS Netlib API', default=False)
+ variant("shared", description="Build a shared libraries", default=True)
+ variant("tuners", description="Enable compilation of the tuners", default=False)
+ variant("netlib", description="Enable compilation of the CBLAS Netlib API", default=False)
- provides('blas', when='+netlib')
+ provides("blas", when="+netlib")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('TESTS', self.run_tests),
- self.define_from_variant('TUNERS'),
- self.define_from_variant('NETLIB')
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("TESTS", self.run_tests),
+ self.define_from_variant("TUNERS"),
+ self.define_from_variant("NETLIB"),
]
return args
diff --git a/var/spack/repos/builtin/packages/cleaveland4/package.py b/var/spack/repos/builtin/packages/cleaveland4/package.py
index 4a3d1fca57..456faa33ce 100644
--- a/var/spack/repos/builtin/packages/cleaveland4/package.py
+++ b/var/spack/repos/builtin/packages/cleaveland4/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Cleaveland4(Package):
"""CleaveLand4: Analysis of degradome data to find sliced miRNA and siRNA
- targets"""
+ targets"""
homepage = "https://github.com/MikeAxtell/CleaveLand4"
- url = "https://github.com/MikeAxtell/CleaveLand4/archive/v4.4.tar.gz"
+ url = "https://github.com/MikeAxtell/CleaveLand4/archive/v4.4.tar.gz"
- version('4.4', sha256='bf7fe6ad730ea2bfb2e0c0f863734f189073a69b1754532012f1261b368b24e7')
+ version("4.4", sha256="bf7fe6ad730ea2bfb2e0c0f863734f189073a69b1754532012f1261b368b24e7")
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-math-cdf', type=('build', 'run'))
- depends_on('bowtie')
- depends_on('viennarna')
- depends_on('r', type=('build', 'run'))
- depends_on('samtools')
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-math-cdf", type=("build", "run"))
+ depends_on("bowtie")
+ depends_on("viennarna")
+ depends_on("r", type=("build", "run"))
+ depends_on("samtools")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('CleaveLand4.pl', prefix.bin)
- with working_dir('GSTAr_v1-0'):
- install('GSTAr.pl', prefix.bin)
+ install("CleaveLand4.pl", prefix.bin)
+ with working_dir("GSTAr_v1-0"):
+ install("GSTAr.pl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py
index 309664f9f9..fca5d7b68c 100644
--- a/var/spack/repos/builtin/packages/cleverleaf/package.py
+++ b/var/spack/repos/builtin/packages/cleverleaf/package.py
@@ -9,32 +9,32 @@ from spack.pkg.builtin.boost import Boost
class Cleverleaf(CMakePackage):
"""CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with
- Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
- Livermore National Laboratory. The primary goal of CleverLeaf is
- to evaluate the application of AMR to the Lagrangian-Eulerian
- hydrodynamics scheme used by CloverLeaf.
+ Adaptive Mesh Refinement using the SAMRAI toolkit from Lawrence
+ Livermore National Laboratory. The primary goal of CleverLeaf is
+ to evaluate the application of AMR to the Lagrangian-Eulerian
+ hydrodynamics scheme used by CloverLeaf.
"""
homepage = "https://uk-mac.github.io/CleverLeaf/"
- git = "https://github.com/UK-MAC/CleverLeaf_ref.git"
+ git = "https://github.com/UK-MAC/CleverLeaf_ref.git"
- version('develop', branch='develop')
+ version("develop", branch="develop")
- depends_on('samrai@3.8.0:')
- depends_on('hdf5+mpi')
+ depends_on("samrai@3.8.0:")
+ depends_on("hdf5+mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cmake@3.1:', type='build')
+ depends_on("cmake@3.1:", type="build")
# The Fujitsu compiler requires the '--linkfortran'
# option to combine C++ and Fortran programs.
- patch('fujitsu_add_link_flags.patch', when='%fj')
+ patch("fujitsu_add_link_flags.patch", when="%fj")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%intel') and name in ['cppflags', 'cxxflags']:
+ if self.spec.satisfies("%intel") and name in ["cppflags", "cxxflags"]:
flags.append(self.compiler.cxx11_flag)
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/clfft/package.py b/var/spack/repos/builtin/packages/clfft/package.py
index 6d93a62d25..721564b601 100644
--- a/var/spack/repos/builtin/packages/clfft/package.py
+++ b/var/spack/repos/builtin/packages/clfft/package.py
@@ -11,29 +11,31 @@ class Clfft(CMakePackage):
"""a software library containing FFT functions written in OpenCL"""
homepage = "https://github.com/clMathLibraries/clFFT"
- url = "https://github.com/clMathLibraries/clFFT/archive/v2.12.2.tar.gz"
+ url = "https://github.com/clMathLibraries/clFFT/archive/v2.12.2.tar.gz"
- version('2.12.2', sha256='e7348c146ad48c6a3e6997b7702202ad3ee3b5df99edf7ef00bbacc21e897b12')
+ version("2.12.2", sha256="e7348c146ad48c6a3e6997b7702202ad3ee3b5df99edf7ef00bbacc21e897b12")
- variant('client', default=True,
- description='build client and callback client')
+ variant("client", default=True, description="build client and callback client")
- depends_on('opencl@1.2:')
- depends_on('boost@1.33.0:', when='+client')
+ depends_on("opencl@1.2:")
+ depends_on("boost@1.33.0:", when="+client")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+client')
+ depends_on(Boost.with_default_variants, when="+client")
- patch('https://github.com/clMathLibraries/clFFT/commit/eea7dbc888367b8dbea602ba539eb1a9cbc118d9.patch?full_index=1',
- sha256='9ee126955f0bb9469c8302d8b08672d60a493d3373dbad06bdfda0b5c7893488', when='@2.12.2')
+ patch(
+ "https://github.com/clMathLibraries/clFFT/commit/eea7dbc888367b8dbea602ba539eb1a9cbc118d9.patch?full_index=1",
+ sha256="9ee126955f0bb9469c8302d8b08672d60a493d3373dbad06bdfda0b5c7893488",
+ when="@2.12.2",
+ )
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_CLIENT', 'client'),
- self.define_from_variant('BUILD_CALLBACK_CLIENT', 'client')
+ self.define_from_variant("BUILD_CLIENT", "client"),
+ self.define_from_variant("BUILD_CALLBACK_CLIENT", "client"),
]
return args
diff --git a/var/spack/repos/builtin/packages/clhep/package.py b/var/spack/repos/builtin/packages/clhep/package.py
index 2192d91121..889efa2c88 100644
--- a/var/spack/repos/builtin/packages/clhep/package.py
+++ b/var/spack/repos/builtin/packages/clhep/package.py
@@ -8,60 +8,66 @@ from spack.package import *
class Clhep(CMakePackage):
- """CLHEP is a C++ Class Library for High Energy Physics. """
+ """CLHEP is a C++ Class Library for High Energy Physics."""
+
homepage = "https://proj-clhep.web.cern.ch/proj-clhep/"
- url = "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.1.3.tgz"
+ url = "https://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
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
- version('2.4.5.1', sha256='2517c9b344ad9f55974786ae6e7a0ef8b22f4abcbf506df91194ea2299ce3813')
- version('2.4.4.0', sha256='5df78c11733a091da9ae5a24ce31161d44034dd45f20455587db85f1ca1ba539')
- version('2.4.1.3', sha256='27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913')
- version('2.4.1.2', sha256='ff96e7282254164380460bc8cf2dff2b58944084eadcd872b5661eb5a33fa4b8')
- version('2.4.1.0', sha256='d14736eb5c3d21f86ce831dc1afcf03d423825b35c84deb6f8fd16773528c54d')
- version('2.4.0.4', sha256='eb013841c57990befa1e977a11a552ab8328733c1c3b6cecfde86da40dc22113')
- version('2.4.0.2', sha256='1e9891c5badb718c24933e7a5c6ee4d64fd4d5cf3a40c150ad18e864ec86b8a4')
- version('2.4.0.1', sha256='4c7e2c6ac63e0237100e4ddcbfdc3d7e7dc6592f95bdbdcc0e43a6892b9fd6e0')
- version('2.4.0.0', sha256='5e5cf284323898b4c807db6e684d65d379ade65fe0e93f7b10456890a6dee8cc')
- version('2.3.4.6', sha256='3e53947036f8570c7a08bed670a862426dbca17328afcecd6c875d8487fef204')
- version('2.3.4.5', sha256='1199d04626cb8bc1307e282b143018691077cc61fe2f286a382030262eda8764')
- version('2.3.4.4', sha256='e54de15ffa5108a1913c4910845436345c89ddb83480cd03277a795fafabfb9d')
- version('2.3.4.3', sha256='1019479265f956bd660c11cb439e1443d4fd1655e8d51accf8b1e703e4262dff')
- version('2.3.4.2', sha256='6d1e15ccbe1ca6e71d541e78ca7e8c9f3d986ee0da5177a4b8cda00c619dc691')
- version('2.3.3.2', sha256='4e69a5afb1b7ecc435395195140afc85bbbb9f4d3572f59451c3882f3015a7c1')
- version('2.3.3.1', sha256='cd74bfae4773620dd0c7cc9c1696a08386931d7e47a3906aa632cc5cb44ed6bd')
- version('2.3.3.0', sha256='0bcae1bed8d3aa4256e3a553a4f60484312f2121dcc83492a40f08a70881c8c0')
- version('2.3.2.2', sha256='885481ae32c2f31c3b7f14a5e5d68bc56dc3df0c597be464d7ffa265b8a5a1af')
- version('2.3.1.1', sha256='0e2b170df99176feb0aa4f20ea3b33463193c086682749790c5b9b79388d0ff4')
- version('2.3.1.0', sha256='66272ae3100d3aec096b1298e1e24ec25b80e4dac28332b45ec3284023592963')
- version('2.3.0.0', sha256='63e77f4f34baa5eaa0adb1ca2438734f2d6f5ca112d830650dd005a6109f2397')
- version('2.2.0.8', sha256='f735e236b1f023ba7399269733b2e84eaed4de615081555b1ab3af25a1e92112')
- version('2.2.0.5', sha256='92e8b5d32ae96154edd27d0c641ba048ad33cb69dd4f1cfb72fc578770a34818')
- version('2.2.0.4', sha256='9bf7fcd9892313c8d1436bc4a4a285a016c4f8e81e1fc65bdf6783207ae57550')
+ version("2.4.5.1", sha256="2517c9b344ad9f55974786ae6e7a0ef8b22f4abcbf506df91194ea2299ce3813")
+ version("2.4.4.0", sha256="5df78c11733a091da9ae5a24ce31161d44034dd45f20455587db85f1ca1ba539")
+ version("2.4.1.3", sha256="27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913")
+ version("2.4.1.2", sha256="ff96e7282254164380460bc8cf2dff2b58944084eadcd872b5661eb5a33fa4b8")
+ version("2.4.1.0", sha256="d14736eb5c3d21f86ce831dc1afcf03d423825b35c84deb6f8fd16773528c54d")
+ version("2.4.0.4", sha256="eb013841c57990befa1e977a11a552ab8328733c1c3b6cecfde86da40dc22113")
+ version("2.4.0.2", sha256="1e9891c5badb718c24933e7a5c6ee4d64fd4d5cf3a40c150ad18e864ec86b8a4")
+ version("2.4.0.1", sha256="4c7e2c6ac63e0237100e4ddcbfdc3d7e7dc6592f95bdbdcc0e43a6892b9fd6e0")
+ version("2.4.0.0", sha256="5e5cf284323898b4c807db6e684d65d379ade65fe0e93f7b10456890a6dee8cc")
+ version("2.3.4.6", sha256="3e53947036f8570c7a08bed670a862426dbca17328afcecd6c875d8487fef204")
+ version("2.3.4.5", sha256="1199d04626cb8bc1307e282b143018691077cc61fe2f286a382030262eda8764")
+ version("2.3.4.4", sha256="e54de15ffa5108a1913c4910845436345c89ddb83480cd03277a795fafabfb9d")
+ version("2.3.4.3", sha256="1019479265f956bd660c11cb439e1443d4fd1655e8d51accf8b1e703e4262dff")
+ version("2.3.4.2", sha256="6d1e15ccbe1ca6e71d541e78ca7e8c9f3d986ee0da5177a4b8cda00c619dc691")
+ version("2.3.3.2", sha256="4e69a5afb1b7ecc435395195140afc85bbbb9f4d3572f59451c3882f3015a7c1")
+ version("2.3.3.1", sha256="cd74bfae4773620dd0c7cc9c1696a08386931d7e47a3906aa632cc5cb44ed6bd")
+ version("2.3.3.0", sha256="0bcae1bed8d3aa4256e3a553a4f60484312f2121dcc83492a40f08a70881c8c0")
+ version("2.3.2.2", sha256="885481ae32c2f31c3b7f14a5e5d68bc56dc3df0c597be464d7ffa265b8a5a1af")
+ version("2.3.1.1", sha256="0e2b170df99176feb0aa4f20ea3b33463193c086682749790c5b9b79388d0ff4")
+ version("2.3.1.0", sha256="66272ae3100d3aec096b1298e1e24ec25b80e4dac28332b45ec3284023592963")
+ version("2.3.0.0", sha256="63e77f4f34baa5eaa0adb1ca2438734f2d6f5ca112d830650dd005a6109f2397")
+ version("2.2.0.8", sha256="f735e236b1f023ba7399269733b2e84eaed4de615081555b1ab3af25a1e92112")
+ version("2.2.0.5", sha256="92e8b5d32ae96154edd27d0c641ba048ad33cb69dd4f1cfb72fc578770a34818")
+ version("2.2.0.4", sha256="9bf7fcd9892313c8d1436bc4a4a285a016c4f8e81e1fc65bdf6783207ae57550")
- variant('cxxstd',
- default='11',
- values=('11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- conflicts('cxxstd=17', when='@:2.3.4.2')
+ conflicts("cxxstd=17", when="@:2.3.4.2")
- depends_on('cmake@2.8.12.2:', when='@2.2.0.4:2.3.0.0', type='build')
- depends_on('cmake@3.2:', when='@2.3.0.1:', type='build')
+ depends_on("cmake@2.8.12.2:", when="@2.2.0.4:2.3.0.0", type="build")
+ depends_on("cmake@3.2:", when="@2.3.0.1:", type="build")
- root_cmakelists_dir = 'CLHEP' # Extra directory layer.
+ root_cmakelists_dir = "CLHEP" # Extra directory layer.
def patch(self):
- filter_file('SET CMP0042 OLD',
- 'SET CMP0042 NEW',
- '%s/CLHEP/CMakeLists.txt' % self.stage.source_path)
+ filter_file(
+ "SET CMP0042 OLD",
+ "SET CMP0042 NEW",
+ "%s/CLHEP/CMakeLists.txt" % self.stage.source_path,
+ )
def cmake_args(self):
- cmake_args = ['-DCLHEP_BUILD_CXXSTD=-std=c++{0}'.format(
- self.spec.variants['cxxstd'].value)]
+ cmake_args = [
+ "-DCLHEP_BUILD_CXXSTD=-std=c++{0}".format(self.spec.variants["cxxstd"].value)
+ ]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/cli11/package.py b/var/spack/repos/builtin/packages/cli11/package.py
index 2df382a5e9..414c39ee88 100644
--- a/var/spack/repos/builtin/packages/cli11/package.py
+++ b/var/spack/repos/builtin/packages/cli11/package.py
@@ -11,20 +11,20 @@ class Cli11(CMakePackage):
feature set with a simple and intuitive interface."""
homepage = "https://cliutils.github.io/CLI11/book/"
- url = "https://github.com/CLIUtils/CLI11/archive/v1.9.1.tar.gz"
- maintainers = ['nightlark']
+ url = "https://github.com/CLIUtils/CLI11/archive/v1.9.1.tar.gz"
+ maintainers = ["nightlark"]
- version('2.1.1', sha256='d69023d1d0ab6a22be86b4f59d449422bc5efd9121868f4e284d6042e52f682e')
- version('2.1.0', sha256='2661b0112b02478bad3dc7f1749c4825bfc7e37b440cbb4c8c0e2ffaa3999112')
- version('2.0.0', sha256='2c672f17bf56e8e6223a3bfb74055a946fa7b1ff376510371902adb9cb0ab6a3')
- version('1.9.1', sha256='c780cf8cf3ba5ec2648a7eeb20a47e274493258f38a9b417628e0576f473a50b')
+ version("2.1.1", sha256="d69023d1d0ab6a22be86b4f59d449422bc5efd9121868f4e284d6042e52f682e")
+ version("2.1.0", sha256="2661b0112b02478bad3dc7f1749c4825bfc7e37b440cbb4c8c0e2ffaa3999112")
+ version("2.0.0", sha256="2c672f17bf56e8e6223a3bfb74055a946fa7b1ff376510371902adb9cb0ab6a3")
+ version("1.9.1", sha256="c780cf8cf3ba5ec2648a7eeb20a47e274493258f38a9b417628e0576f473a50b")
- depends_on('cmake@3.4:', type='build')
+ depends_on("cmake@3.4:", type="build")
def cmake_args(self):
args = [
- '-DCLI11_BUILD_EXAMPLES=OFF',
- '-DCLI11_BUILD_DOCS=OFF',
- '-DCLI11_BUILD_TESTS=OFF',
+ "-DCLI11_BUILD_EXAMPLES=OFF",
+ "-DCLI11_BUILD_DOCS=OFF",
+ "-DCLI11_BUILD_TESTS=OFF",
]
return args
diff --git a/var/spack/repos/builtin/packages/clinfo/package.py b/var/spack/repos/builtin/packages/clinfo/package.py
index 21b02b75c7..3db9453130 100644
--- a/var/spack/repos/builtin/packages/clinfo/package.py
+++ b/var/spack/repos/builtin/packages/clinfo/package.py
@@ -12,15 +12,21 @@ class Clinfo(MakefilePackage):
devices in the system."""
homepage = "https://github.com/Oblomov/clinfo"
- url = "https://github.com/Oblomov/clinfo/archive/2.2.18.04.06.tar.gz"
+ url = "https://github.com/Oblomov/clinfo/archive/2.2.18.04.06.tar.gz"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('3.0.21.02.21', sha256='e52f5c374a10364999d57a1be30219b47fb0b4f090e418f2ca19a0c037c1e694')
- version('3.0.20.11.20', sha256='3c506083e72e9ee09fc7d5de513be7c5eff0284f198a60fb60ab493f6f0a549a')
- version('2.2.18.04.06', sha256='f77021a57b3afcdebc73107e2254b95780026a9df9aa4f8db6aff11c03f0ec6c')
+ version(
+ "3.0.21.02.21", sha256="e52f5c374a10364999d57a1be30219b47fb0b4f090e418f2ca19a0c037c1e694"
+ )
+ version(
+ "3.0.20.11.20", sha256="3c506083e72e9ee09fc7d5de513be7c5eff0284f198a60fb60ab493f6f0a549a"
+ )
+ version(
+ "2.2.18.04.06", sha256="f77021a57b3afcdebc73107e2254b95780026a9df9aa4f8db6aff11c03f0ec6c"
+ )
- depends_on('opencl')
+ depends_on("opencl")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/clingo-bootstrap/package.py b/var/spack/repos/builtin/packages/clingo-bootstrap/package.py
index 990c4be6c4..fa0f6b543a 100644
--- a/var/spack/repos/builtin/packages/clingo-bootstrap/package.py
+++ b/var/spack/repos/builtin/packages/clingo-bootstrap/package.py
@@ -9,67 +9,68 @@ from spack.pkg.builtin.clingo import Clingo
class ClingoBootstrap(Clingo):
"""Clingo with some options used for bootstrapping"""
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- variant('build_type', default='Release', values=('Release',),
- description='CMake build type')
+ variant("build_type", default="Release", values=("Release",), description="CMake build type")
- variant('static_libstdcpp', default=False,
- description='Require a static version of libstdc++')
+ variant("static_libstdcpp", default=False, description="Require a static version of libstdc++")
# CMake at version 3.16.0 or higher has the possibility to force the
# Python interpreter, which is crucial to build against external Python
# in environment where more than one interpreter is in the same prefix
- depends_on('cmake@3.16.0:', type='build')
+ depends_on("cmake@3.16.0:", type="build")
# On Linux we bootstrap with GCC
- for compiler_spec in [
- c for c in spack.compilers.supported_compilers()
- if c != 'gcc'
- ]:
- conflicts('%{0}'.format(compiler_spec), when='platform=linux',
- msg='GCC is required to bootstrap clingo on Linux')
- conflicts('%{0}'.format(compiler_spec), when='platform=cray',
- msg='GCC is required to bootstrap clingo on Cray')
- conflicts(
- '%gcc@:5', msg='C++14 support is required to bootstrap clingo'
- )
+ for compiler_spec in [c for c in spack.compilers.supported_compilers() if c != "gcc"]:
+ conflicts(
+ "%{0}".format(compiler_spec),
+ when="platform=linux",
+ msg="GCC is required to bootstrap clingo on Linux",
+ )
+ conflicts(
+ "%{0}".format(compiler_spec),
+ when="platform=cray",
+ msg="GCC is required to bootstrap clingo on Cray",
+ )
+ conflicts("%gcc@:5", msg="C++14 support is required to bootstrap clingo")
# On Darwin we bootstrap with Apple Clang
- for compiler_spec in [
- c for c in spack.compilers.supported_compilers()
- if c != 'apple-clang'
- ]:
- conflicts('%{0}'.format(compiler_spec), when='platform=darwin',
- msg='Apple-clang is required to bootstrap clingo on MacOS')
+ for compiler_spec in [c for c in spack.compilers.supported_compilers() if c != "apple-clang"]:
+ conflicts(
+ "%{0}".format(compiler_spec),
+ when="platform=darwin",
+ msg="Apple-clang is required to bootstrap clingo on MacOS",
+ )
# Clingo needs the Python module to be usable by Spack
- conflicts('~python', msg='Python support is required to bootstrap Spack')
+ conflicts("~python", msg="Python support is required to bootstrap Spack")
@property
def cmake_py_shared(self):
- return self.define('CLINGO_BUILD_PY_SHARED', 'OFF')
+ return self.define("CLINGO_BUILD_PY_SHARED", "OFF")
def cmake_args(self):
args = super(ClingoBootstrap, self).cmake_args()
- args.extend([
- # Avoid building the clingo executable
- self.define('CLINGO_BUILD_APPS', 'OFF'),
- ])
+ args.extend(
+ [
+ # Avoid building the clingo executable
+ self.define("CLINGO_BUILD_APPS", "OFF"),
+ ]
+ )
return args
def setup_build_environment(self, env):
opts = None
- if '%apple-clang platform=darwin' in self.spec:
- opts = '-mmacosx-version-min=10.13'
- elif '%gcc' in self.spec:
- if '+static_libstdcpp' in self.spec:
+ if "%apple-clang platform=darwin" in self.spec:
+ opts = "-mmacosx-version-min=10.13"
+ elif "%gcc" in self.spec:
+ if "+static_libstdcpp" in self.spec:
# This is either linux or cray
- opts = '-static-libstdc++ -static-libgcc -Wl,--exclude-libs,ALL'
+ opts = "-static-libstdc++ -static-libgcc -Wl,--exclude-libs,ALL"
else:
msg = 'unexpected compiler for spec "{0}"'.format(self.spec)
raise RuntimeError(msg)
if opts:
- env.set('CXXFLAGS', opts)
- env.set('LDFLAGS', opts)
+ env.set("CXXFLAGS", opts)
+ env.set("LDFLAGS", opts)
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
index abe7a32edf..27dd3473e5 100644
--- a/var/spack/repos/builtin/packages/clingo/package.py
+++ b/var/spack/repos/builtin/packages/clingo/package.py
@@ -10,95 +10,97 @@ from spack.package import *
class Clingo(CMakePackage):
"""Clingo: A grounder and solver for logic programs
- Clingo is part of the Potassco project for Answer Set
- Programming (ASP). ASP offers a simple and powerful modeling
- language to describe combinatorial problems as logic
- programs. The clingo system then takes such a logic program and
- computes answer sets representing solutions to the given
- problem."""
+ Clingo is part of the Potassco project for Answer Set
+ Programming (ASP). ASP offers a simple and powerful modeling
+ language to describe combinatorial problems as logic
+ programs. The clingo system then takes such a logic program and
+ computes answer sets representing solutions to the given
+ problem."""
homepage = "https://potassco.org/clingo/"
- url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz"
- git = 'https://github.com/potassco/clingo.git'
+ url = "https://github.com/potassco/clingo/archive/v5.2.2.tar.gz"
+ git = "https://github.com/potassco/clingo.git"
maintainers = ["tgamblin", "alalazo"]
- version('master', branch='master', submodules=True)
- version('spack', commit='2a025667090d71b2c9dce60fe924feb6bde8f667', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("spack", commit="2a025667090d71b2c9dce60fe924feb6bde8f667", submodules=True)
- version('5.5.2', sha256='a2a0a590485e26dce18860ac002576232d70accc5bfcb11c0c22e66beb23baa6')
- version('5.5.1', sha256='b9cf2ba2001f8241b8b1d369b6f353e628582e2a00f13566e51c03c4dd61f67e')
- version('5.5.0', sha256='c9d7004a0caec61b636ad1c1960fbf339ef8fdee9719321fc1b6b210613a8499')
- version('5.4.1', sha256='ac6606388abfe2482167ce8fd4eb0737ef6abeeb35a9d3ac3016c6f715bfee02')
- version('5.4.0', sha256='e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3')
- version('5.3.0', sha256='b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976')
- version('5.2.2', sha256='da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf')
+ version("5.5.2", sha256="a2a0a590485e26dce18860ac002576232d70accc5bfcb11c0c22e66beb23baa6")
+ version("5.5.1", sha256="b9cf2ba2001f8241b8b1d369b6f353e628582e2a00f13566e51c03c4dd61f67e")
+ version("5.5.0", sha256="c9d7004a0caec61b636ad1c1960fbf339ef8fdee9719321fc1b6b210613a8499")
+ version("5.4.1", sha256="ac6606388abfe2482167ce8fd4eb0737ef6abeeb35a9d3ac3016c6f715bfee02")
+ version("5.4.0", sha256="e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3")
+ version("5.3.0", sha256="b0d406d2809352caef7fccf69e8864d55e81ee84f4888b0744894977f703f976")
+ version("5.2.2", sha256="da1ef8142e75c5a6f23c9403b90d4f40b9f862969ba71e2aaee9a257d058bfcf")
variant("docs", default=False, description="build documentation with Doxygen")
variant("python", default=True, description="build with python bindings")
# See https://github.com/potassco/clingo/blob/v5.5.2/INSTALL.md
- depends_on('cmake@3.1:', type='build')
- depends_on('cmake@3.18:', type='build', when='@5.5:')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("cmake@3.18:", type="build", when="@5.5:")
- depends_on('doxygen', type="build", when="+docs")
+ depends_on("doxygen", type="build", when="+docs")
- with when('@spack,master'):
- depends_on('re2c@0.13:', type="build")
- depends_on('bison@2.5:', type="build")
+ with when("@spack,master"):
+ depends_on("re2c@0.13:", type="build")
+ depends_on("bison@2.5:", type="build")
- with when('+python'):
- extends('python')
- depends_on('python', type=("build", "link", "run"))
+ with when("+python"):
+ extends("python")
+ depends_on("python", type=("build", "link", "run"))
# Clingo 5.5.0 supports Python 3.6 or later and needs CFFI
- depends_on('python@3.6.0:', type=('build', 'link', 'run'), when='@5.5.0:')
- depends_on('py-cffi', type=('build', 'run'), when='@5.5.0:')
+ depends_on("python@3.6.0:", type=("build", "link", "run"), when="@5.5.0:")
+ depends_on("py-cffi", type=("build", "run"), when="@5.5.0:")
- patch('python38.patch', when="@5.3:5.4.0")
+ patch("python38.patch", when="@5.3:5.4.0")
def patch(self):
# Doxygen is optional but can't be disabled with a -D, so patch
# it out if it's really supposed to be disabled
- if '+docs' not in self.spec:
- filter_file(r'find_package\(Doxygen\)',
- 'message("Doxygen disabled for Spack build.")',
- 'clasp/CMakeLists.txt',
- 'clasp/libpotassco/CMakeLists.txt')
+ if "+docs" not in self.spec:
+ filter_file(
+ r"find_package\(Doxygen\)",
+ 'message("Doxygen disabled for Spack build.")',
+ "clasp/CMakeLists.txt",
+ "clasp/libpotassco/CMakeLists.txt",
+ )
@property
def cmake_python_hints(self):
"""Return standard CMake defines to ensure that the
current spec is the one found by CMake find_package(Python, ...)
"""
- python = self.spec['python']
+ python = self.spec["python"]
return [
- self.define('Python_EXECUTABLE', str(python.command)),
- self.define('Python_INCLUDE_DIR', python.package.config_vars['include'])
+ self.define("Python_EXECUTABLE", str(python.command)),
+ self.define("Python_INCLUDE_DIR", python.package.config_vars["include"]),
]
@property
def cmake_py_shared(self):
- return self.define('CLINGO_BUILD_PY_SHARED', 'ON')
+ return self.define("CLINGO_BUILD_PY_SHARED", "ON")
def cmake_args(self):
try:
self.compiler.cxx14_flag
except UnsupportedCompilerFlag:
- InstallError('clingo requires a C++14-compliant C++ compiler')
+ InstallError("clingo requires a C++14-compliant C++ compiler")
- args = ['-DCLINGO_BUILD_WITH_LUA=OFF']
+ args = ["-DCLINGO_BUILD_WITH_LUA=OFF"]
- if '+python' in self.spec:
+ if "+python" in self.spec:
args += [
- '-DCLINGO_REQUIRE_PYTHON=ON',
- '-DCLINGO_BUILD_WITH_PYTHON=ON',
- '-DPYCLINGO_USER_INSTALL=OFF',
- '-DPYCLINGO_USE_INSTALL_PREFIX=ON',
- self.cmake_py_shared
+ "-DCLINGO_REQUIRE_PYTHON=ON",
+ "-DCLINGO_BUILD_WITH_PYTHON=ON",
+ "-DPYCLINGO_USER_INSTALL=OFF",
+ "-DPYCLINGO_USE_INSTALL_PREFIX=ON",
+ self.cmake_py_shared,
]
- if self.spec['cmake'].satisfies('@3.16.0:'):
+ if self.spec["cmake"].satisfies("@3.16.0:"):
args += self.cmake_python_hints
else:
- args += ['-DCLINGO_BUILD_WITH_PYTHON=OFF']
+ args += ["-DCLINGO_BUILD_WITH_PYTHON=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/cln/package.py b/var/spack/repos/builtin/packages/cln/package.py
index 26be3701dd..f3f33dabbb 100644
--- a/var/spack/repos/builtin/packages/cln/package.py
+++ b/var/spack/repos/builtin/packages/cln/package.py
@@ -16,69 +16,64 @@ class Cln(AutotoolsPackage):
more."""
homepage = "https://www.ginac.de/CLN/"
- url = "https://www.ginac.de/CLN/cln-1.3.6.tar.bz2"
- git = "git://www.ginac.de/cln.git"
-
- version('master', branch='master')
- version('1.3.6', commit='d4ba1cc869be2c647c4ab48ac571b1fc9c2021a9')
- version('1.3.5', commit='b221c033c082b462455502b7e63702a9c466aede')
- version('1.3.4', commit='9b86a7fc69feb1b288469982001af565f73057eb')
- version('1.3.3', commit='1c9bd61ff0b89b0bf8030e44cb398e8f75112222')
- version('1.3.2', commit='00817f7b60a961b860f6d305ac82dd51b70d6ba6')
- version('1.3.1', commit='196fee3778494b69063f2a1b018e70de351b336f')
- version('1.3.0', commit='8e19c1a9d9ea4116112490d6f43904258b928649')
- version('1.2.2', commit='cd3ea9b9889856c6b54266fdb13b54dd3c53931a')
- version('1.2.1', commit='567378ab4cbfd443c3d82d810599860c769251fe')
- version('1.2.0', commit='679a0a8927f011fb32411f8a31070c77a9901094')
-
- variant('gmp', default=True, description='Enable GMP multiprecision library')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gmp@4.1:', when='+gmp')
- depends_on('texinfo', type='build')
+ url = "https://www.ginac.de/CLN/cln-1.3.6.tar.bz2"
+ git = "git://www.ginac.de/cln.git"
+
+ version("master", branch="master")
+ version("1.3.6", commit="d4ba1cc869be2c647c4ab48ac571b1fc9c2021a9")
+ version("1.3.5", commit="b221c033c082b462455502b7e63702a9c466aede")
+ version("1.3.4", commit="9b86a7fc69feb1b288469982001af565f73057eb")
+ version("1.3.3", commit="1c9bd61ff0b89b0bf8030e44cb398e8f75112222")
+ version("1.3.2", commit="00817f7b60a961b860f6d305ac82dd51b70d6ba6")
+ version("1.3.1", commit="196fee3778494b69063f2a1b018e70de351b336f")
+ version("1.3.0", commit="8e19c1a9d9ea4116112490d6f43904258b928649")
+ version("1.2.2", commit="cd3ea9b9889856c6b54266fdb13b54dd3c53931a")
+ version("1.2.1", commit="567378ab4cbfd443c3d82d810599860c769251fe")
+ version("1.2.0", commit="679a0a8927f011fb32411f8a31070c77a9901094")
+
+ variant("gmp", default=True, description="Enable GMP multiprecision library")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gmp@4.1:", when="+gmp")
+ depends_on("texinfo", type="build")
# Dependencies required to define macro AC_LIB_LINKFLAGS_FROM_LIBS
- depends_on('gettext', type='build')
+ depends_on("gettext", type="build")
def autoreconf(self, spec, prefix):
- autoreconf_args = ['-i']
+ autoreconf_args = ["-i"]
- aclocal_pkg_list = ['gettext']
- aclocal_path = os.path.join('share', 'aclocal')
+ aclocal_pkg_list = ["gettext"]
+ aclocal_path = os.path.join("share", "aclocal")
for pkg in aclocal_pkg_list:
- autoreconf_args += ['-I',
- os.path.join(spec[pkg].prefix, aclocal_path)]
+ autoreconf_args += ["-I", os.path.join(spec[pkg].prefix, aclocal_path)]
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
autoreconf(*autoreconf_args)
- @run_before('autoreconf')
+ @run_before("autoreconf")
def force_config_rpath(self):
source_directory = self.stage.source_path
- build_aux_directory = os.path.join(source_directory, 'build-aux')
+ build_aux_directory = os.path.join(source_directory, "build-aux")
- mkdir = which('mkdir')
+ mkdir = which("mkdir")
mkdir(build_aux_directory)
- touch = which('touch')
- touch(os.path.join(build_aux_directory, 'config.rpath'))
+ touch = which("touch")
+ touch(os.path.join(build_aux_directory, "config.rpath"))
def configure_args(self):
spec = self.spec
configure_args = []
- if '+gmp' in spec:
- configure_args.append(
- '--with-gmp={0}'.format(spec['gmp'].prefix)
- )
+ if "+gmp" in spec:
+ configure_args.append("--with-gmp={0}".format(spec["gmp"].prefix))
else:
- configure_args.append(
- '--without-gmp'
- )
+ configure_args.append("--without-gmp")
return configure_args
diff --git a/var/spack/repos/builtin/packages/cloc/package.py b/var/spack/repos/builtin/packages/cloc/package.py
index 9ee42bd620..56f71c6c38 100644
--- a/var/spack/repos/builtin/packages/cloc/package.py
+++ b/var/spack/repos/builtin/packages/cloc/package.py
@@ -10,25 +10,26 @@ class Cloc(Package):
"""Count, or compute differences of, physical lines of source code in the
given files (may be archives such as compressed tarballs or zip files)
and/or recursively below the given directories."""
+
homepage = "https://github.com/AlDanial/cloc/"
- url = "https://github.com/AlDanial/cloc/archive/v1.90.tar.gz"
+ url = "https://github.com/AlDanial/cloc/archive/v1.90.tar.gz"
- version('1.90', sha256='60b429dd2aa5cd65707b359dcbcbeb710c8e4db880886528ced0962c67e52548')
- version('1.84', sha256='c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254')
- version('1.80', sha256='082f53530eee3f9ee84ec449eca59a77ff114250cd7daf9519679537b5b21d67')
- version('1.74', sha256='55ac423d5766c74236700a47838ed66bea47ba42e1d594fdd894074ba3eb0567')
+ version("1.90", sha256="60b429dd2aa5cd65707b359dcbcbeb710c8e4db880886528ced0962c67e52548")
+ version("1.84", sha256="c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254")
+ version("1.80", sha256="082f53530eee3f9ee84ec449eca59a77ff114250cd7daf9519679537b5b21d67")
+ version("1.74", sha256="55ac423d5766c74236700a47838ed66bea47ba42e1d594fdd894074ba3eb0567")
- depends_on('perl')
+ depends_on("perl")
def install(self, spec, prefix):
# rewrite the script's #! line to call the perl dependency
- shbang = '#!' + spec['perl'].command.path
- filter_file(r'^#!/usr/bin/env perl', shbang, 'cloc')
- filter_file(r'^#!/usr/bin/env perl', shbang, 'sqlite_formatter')
+ shbang = "#!" + spec["perl"].command.path
+ filter_file(r"^#!/usr/bin/env perl", shbang, "cloc")
+ filter_file(r"^#!/usr/bin/env perl", shbang, "sqlite_formatter")
# cloc doesn't have a build system. We have to do our own install here.
mkdirp(prefix.bin)
- install('cloc', join_path(prefix.bin, "cloc"))
- install('sqlite_formatter', join_path(prefix.bin, "sqlite_formatter"))
- install('./LICENSE', "%s" % prefix)
- install('./README.md', "%s" % prefix)
+ install("cloc", join_path(prefix.bin, "cloc"))
+ install("sqlite_formatter", join_path(prefix.bin, "sqlite_formatter"))
+ install("./LICENSE", "%s" % prefix)
+ install("./README.md", "%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/cloog/package.py b/var/spack/repos/builtin/packages/cloog/package.py
index a77691b410..dbc37b5dc7 100644
--- a/var/spack/repos/builtin/packages/cloog/package.py
+++ b/var/spack/repos/builtin/packages/cloog/package.py
@@ -13,20 +13,22 @@ class Cloog(Package):
parameterized polyhedra."""
homepage = "http://www.cloog.org"
- url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz"
+ url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.18.1.tar.gz"
list_url = "http://www.bastoul.net/cloog/pages/download"
- version('0.18.1', sha256='02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196')
- version('0.18.0', sha256='1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228')
- version('0.17.0', sha256='f265f5069830c03d2919a7673c0963495437d6d79a8cbd3474cde2d4e3291e04')
+ version("0.18.1", sha256="02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196")
+ version("0.18.0", sha256="1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228")
+ version("0.17.0", sha256="f265f5069830c03d2919a7673c0963495437d6d79a8cbd3474cde2d4e3291e04")
depends_on("gmp")
depends_on("isl")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--with-osl=no",
- "--with-isl=%s" % spec['isl'].prefix,
- "--with-gmp=%s" % spec['gmp'].prefix)
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-osl=no",
+ "--with-isl=%s" % spec["isl"].prefix,
+ "--with-gmp=%s" % spec["gmp"].prefix,
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/cloverleaf/package.py b/var/spack/repos/builtin/packages/cloverleaf/package.py
index b5d62603e9..c2415cbcc2 100644
--- a/var/spack/repos/builtin/packages/cloverleaf/package.py
+++ b/var/spack/repos/builtin/packages/cloverleaf/package.py
@@ -9,100 +9,103 @@ from spack.package import *
class Cloverleaf(MakefilePackage):
"""Proxy Application. CloverLeaf is a miniapp that solves the
- compressible Euler equations on a Cartesian grid,
- using an explicit, second-order accurate method.
+ compressible Euler equations on a Cartesian grid,
+ using an explicit, second-order accurate method.
"""
homepage = "https://uk-mac.github.io/CloverLeaf"
- url = "https://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')
- depends_on('mpi', when='build=openacc_cray')
- 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")
-
- @run_before('build')
+ url = "https://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")
+ depends_on("mpi", when="build=openacc_cray")
+ 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")
+
+ @run_before("build")
def patch_for_reference_module(self):
if self.spec.satisfies("@master %aocc"):
fp = join_path(self.package_dir, "aocc_support.patch")
- which('patch')('-s', '-p0', '-i', '{0}'.format(fp), '-d', '.')
+ which("patch")("-s", "-p0", "-i", "{0}".format(fp), "-d", ".")
@property
def type_of_build(self):
- build = 'ref'
-
- if 'build=cuda' in self.spec:
- build = 'CUDA'
- elif 'build=mpi_only' in self.spec:
- build = 'MPI'
- elif 'build=openacc_cray' in self.spec:
- build = 'OpenACC_CRAY'
- elif 'build=openmp_only' in self.spec:
- build = 'OpenMP'
- elif 'build=serial' in self.spec:
- build = 'Serial'
+ build = "ref"
+
+ if "build=cuda" in self.spec:
+ build = "CUDA"
+ elif "build=mpi_only" in self.spec:
+ build = "MPI"
+ elif "build=openacc_cray" in self.spec:
+ build = "OpenACC_CRAY"
+ elif "build=openmp_only" in self.spec:
+ build = "OpenMP"
+ elif "build=serial" in self.spec:
+ build = "Serial"
return build
@property
def build_targets(self):
- targets = ['--directory=CloverLeaf_{0}'.format(self.type_of_build)]
+ targets = ["--directory=CloverLeaf_{0}".format(self.type_of_build)]
- if 'mpi' in self.spec:
- targets.append('MPI_COMPILER={0}'.format(self.spec['mpi'].mpifc))
- targets.append('C_MPI_COMPILER={0}'.format(self.spec['mpi'].mpicc))
+ if "mpi" in self.spec:
+ targets.append("MPI_COMPILER={0}".format(self.spec["mpi"].mpifc))
+ targets.append("C_MPI_COMPILER={0}".format(self.spec["mpi"].mpicc))
else:
- targets.append('MPI_COMPILER=f90')
- targets.append('C_MPI_COMPILER=cc')
-
- 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 '%aocc' in self.spec:
- targets.append('COMPILER=AOCC')
- 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=')
+ targets.append("MPI_COMPILER=f90")
+ targets.append("C_MPI_COMPILER=cc")
+
+ 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 "%aocc" in self.spec:
+ targets.append("COMPILER=AOCC")
+ 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=")
# Explicit mention of else clause is not working as expected
# So, not mentioning them
- if '+debug' in self.spec:
- targets.append('DEBUG=1')
+ if "+debug" in self.spec:
+ targets.append("DEBUG=1")
- if '+ieee' in self.spec:
- targets.append('IEEE=1')
+ if "+ieee" in self.spec:
+ targets.append("IEEE=1")
return targets
@@ -111,12 +114,9 @@ class Cloverleaf(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc.tests)
- install('README.md', prefix.doc)
- install('documentation.txt', prefix.doc)
+ install("README.md", prefix.doc)
+ install("documentation.txt", prefix.doc)
- install('CloverLeaf_{0}/clover_leaf'.format(self.type_of_build),
- prefix.bin)
- install('CloverLeaf_{0}/clover.in'.format(self.type_of_build),
- prefix.bin)
- install('CloverLeaf_{0}/*.in'.format(self.type_of_build),
- prefix.doc.tests)
+ install("CloverLeaf_{0}/clover_leaf".format(self.type_of_build), prefix.bin)
+ install("CloverLeaf_{0}/clover.in".format(self.type_of_build), prefix.bin)
+ install("CloverLeaf_{0}/*.in".format(self.type_of_build), prefix.doc.tests)
diff --git a/var/spack/repos/builtin/packages/cloverleaf3d/package.py b/var/spack/repos/builtin/packages/cloverleaf3d/package.py
index 4740453e33..afbfc72d1f 100644
--- a/var/spack/repos/builtin/packages/cloverleaf3d/package.py
+++ b/var/spack/repos/builtin/packages/cloverleaf3d/package.py
@@ -21,9 +21,7 @@ class Cloverleaf3d(MakefilePackage):
maintainers = ["s1913388"]
- version(
- "1.0", sha256="78d591728c61bdfd6175b3930df7652e09ed04fbcd01b3fc86fb2aa0f237a8ef"
- )
+ version("1.0", sha256="78d591728c61bdfd6175b3930df7652e09ed04fbcd01b3fc86fb2aa0f237a8ef")
variant("opencl", default=False, description="Enable OpenCL Support")
diff --git a/var/spack/repos/builtin/packages/clp/package.py b/var/spack/repos/builtin/packages/clp/package.py
index 3a04479ada..2ceb1a6ba8 100644
--- a/var/spack/repos/builtin/packages/clp/package.py
+++ b/var/spack/repos/builtin/packages/clp/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Clp(AutotoolsPackage):
"""Clp (Coin-or linear programming) is an open-source
- linear programming solver written in C++."""
+ linear programming solver written in C++."""
homepage = "https://projects.coin-or.org/Clp"
- url = "https://github.com/coin-or/Clp/archive/releases/1.17.6.tar.gz"
+ url = "https://github.com/coin-or/Clp/archive/releases/1.17.6.tar.gz"
- depends_on('coinutils')
- depends_on('osi')
+ depends_on("coinutils")
+ depends_on("osi")
- version('1.17.6', sha256='afff465b1620cfcbb7b7c17b5d331d412039650ff471c4160c7eb24ae01284c9')
- version('1.17.4', sha256='ef412cde00cb1313d9041115a700d8d59d4b8b8b5e4dde43e9deb5108fcfbea8')
- version('1.16.11', sha256='b525451423a9a09a043e6a13d9436e13e3ee7a7049f558ad41a110742fa65f39')
+ version("1.17.6", sha256="afff465b1620cfcbb7b7c17b5d331d412039650ff471c4160c7eb24ae01284c9")
+ version("1.17.4", sha256="ef412cde00cb1313d9041115a700d8d59d4b8b8b5e4dde43e9deb5108fcfbea8")
+ version("1.16.11", sha256="b525451423a9a09a043e6a13d9436e13e3ee7a7049f558ad41a110742fa65f39")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/clustal-omega/package.py b/var/spack/repos/builtin/packages/clustal-omega/package.py
index e35ec5111a..fff91298b3 100644
--- a/var/spack/repos/builtin/packages/clustal-omega/package.py
+++ b/var/spack/repos/builtin/packages/clustal-omega/package.py
@@ -10,8 +10,8 @@ class ClustalOmega(AutotoolsPackage):
"""Clustal Omega: the last alignment program you'll ever need."""
homepage = "http://www.clustal.org/omega/"
- url = "http://www.clustal.org/omega/clustal-omega-1.2.4.tar.gz"
+ url = "http://www.clustal.org/omega/clustal-omega-1.2.4.tar.gz"
- version('1.2.4', sha256='8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee')
+ version("1.2.4", sha256="8683d2286d663a46412c12a0c789e755e7fd77088fb3bc0342bb71667f05a3ee")
- depends_on('argtable')
+ depends_on("argtable")
diff --git a/var/spack/repos/builtin/packages/clustalw/package.py b/var/spack/repos/builtin/packages/clustalw/package.py
index 3aa556f896..be2e2ff182 100644
--- a/var/spack/repos/builtin/packages/clustalw/package.py
+++ b/var/spack/repos/builtin/packages/clustalw/package.py
@@ -10,6 +10,6 @@ class Clustalw(AutotoolsPackage):
"""Multiple alignment of nucleic acid and protein sequences."""
homepage = "http://www.clustal.org/clustal2/"
- url = "http://www.clustal.org/download/2.1/clustalw-2.1.tar.gz"
+ url = "http://www.clustal.org/download/2.1/clustalw-2.1.tar.gz"
- version('2.1', sha256='e052059b87abfd8c9e695c280bfba86a65899138c82abccd5b00478a80f49486')
+ version("2.1", sha256="e052059b87abfd8c9e695c280bfba86a65899138c82abccd5b00478a80f49486")
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index d06ba4695c..1a7ede538b 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -10,378 +10,404 @@ import sys
import spack.build_environment
from spack.package import *
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
class Cmake(Package):
"""A cross-platform, open-source build system. CMake is a family of
tools designed to build, test and package software.
"""
- 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.23.2', sha256='f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa')
- version('3.23.1', sha256='33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3')
- version('3.23.0', sha256='5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82')
- version('3.22.5', sha256='d3987c3f7759fa0a401c5fcd5076be44a19613bfaa8baee1b5d1835750dc5375')
- version('3.22.4', sha256='5c55d0b0bc4c191549e3502b8f99a4fe892077611df22b4178cc020626e22a47')
- version('3.22.3', sha256='9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0')
- version('3.22.2', sha256='3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced')
- version('3.22.1', sha256='0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0')
- version('3.22.0', sha256='998c7ba34778d2dfdb3df8a695469e24b11e2bfa21fbe41b361a3f45e1c9345e')
- version('3.21.7', sha256='3523c4a5afc61ac3d7c92835301cdf092129c9b672a6ee17e68c92e928c1375a')
- version('3.21.6', sha256='b7c3ac35ca7ed3cce8c192c9c873e6061aaecc8b2bc564290e629b10bff59f3c')
- version('3.21.5', sha256='c73587b5ab827d56c09f0a1e256b12743ff200495e31fc9686f2b9dc8a28897f')
- version('3.21.4', sha256='d9570a95c215f4c9886dd0f0564ca4ef8d18c30750f157238ea12669c2985978')
- version('3.21.3', sha256='d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f')
- version('3.21.2', sha256='94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659')
- version('3.21.1', sha256='fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4')
- version('3.21.0', sha256='4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab')
- version('3.20.6', sha256='a0bd485e1a38dd13c0baec89d5f4adbf61c7fd32fddb38eabc69a75bc0b65d72')
- version('3.20.5', sha256='12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0')
- version('3.20.4', sha256='87a4060298f2c6bb09d479de1400bc78195a5b55a65622a7dceeb3d1090a1b16')
- version('3.20.3', sha256='4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8')
- version('3.20.2', sha256='aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e')
- version('3.20.1', sha256='3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0')
- version('3.20.0', sha256='9c06b2ddf7c337e31d8201f6ebcd3bba86a9a033976a9aee207fe0c6971f4755')
- version('3.19.8', sha256='09b4fa4837aae55c75fb170f6a6e2b44818deba48335d1969deddfbb34e30369')
- version('3.19.7', sha256='58a15f0d56a0afccc3cc5371234fce73fcc6c8f9dbd775d898e510b83175588e')
- version('3.19.6', sha256='ec87ab67c45f47c4285f204280c5cde48e1c920cfcfed1555b27fb3b1a1d20ba')
- version('3.19.5', sha256='c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce')
- version('3.19.4', sha256='7d0232b9f1c57e8de81f38071ef8203e6820fe7eec8ae46a1df125d88dbcc2e1')
- version('3.19.3', sha256='3faca7c131494a1e34d66e9f8972ff5369e48d419ea8ceaa3dc15b4c11367732')
- version('3.19.2', sha256='e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0')
- version('3.19.1', sha256='1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba')
- version('3.19.0', sha256='fdda688155aa7e72b7c63ef6f559fca4b6c07382ea6dca0beb5f45aececaf493')
- version('3.18.6', sha256='124f571ab70332da97a173cb794dfa09a5b20ccbb80a08e56570a500f47b6600')
- version('3.18.5', sha256='080bf24b0f73f4bf3ec368d2be1aa59369b9bb1cd693deeb6f18fe553ca74ab4')
- version('3.18.4', sha256='597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77')
- version('3.18.3', sha256='2c89f4e30af4914fd6fb5d00f863629812ada848eee4e2d29ec7e456d7fa32e5')
- version('3.18.2', sha256='5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e')
- version('3.18.1', sha256='c0e3338bd37e67155b9d1e9526fec326b5c541f74857771b7ffed0c46ad62508')
- version('3.18.0', sha256='83b4ffcb9482a73961521d2bafe4a16df0168f03f56e6624c419c461e5317e29')
- version('3.17.5', sha256='8c3083d98fd93c1228d5e4e40dbff2dd88f4f7b73b9fa24a2938627b8bc28f1a')
- version('3.17.4', sha256='86985d73d0a63ec99c236aab5287316e252164f33d7c4cb160954a980c71f36f')
- version('3.17.3', sha256='0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40')
- version('3.17.1', sha256='3aa9114485da39cbd9665a0bfe986894a282d5f0882b1dea960a739496620727')
- version('3.17.0', sha256='b74c05b55115eacc4fa2b77a814981dbda05cdc95a53e279fe16b7b272f00847')
- version('3.16.9', sha256='1708361827a5a0de37d55f5c9698004c035abb1de6120a376d5d59a81630191f')
- version('3.16.8', sha256='177434021132686cb901fea7db9fa2345efe48d566b998961594d5cc346ac588')
- version('3.16.7', sha256='5f49c95a2933b1800f14840f3a389f4cef0b19093985a35053b43f38ec21358f')
- version('3.16.6', sha256='6f6ff1a197851b0fa8412ff5de602e6717a4eb9509b2c385b08589c4e7a16b62')
- version('3.16.5', sha256='5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc')
- version('3.16.4', sha256='9bcc8c114d9da603af9512083ed7d4a39911d16105466beba165ba8fe939ac2c')
- version('3.16.3', sha256='e54f16df9b53dac30fd626415833a6e75b0e47915393843da1825b096ee60668')
- version('3.16.2', sha256='8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9')
- version('3.16.1', sha256='a275b3168fa8626eca4465da7bb159ff07c8c6cb0fb7179be59e12cbdfa725fd')
- version('3.16.0', sha256='6da56556c63cab6e9a3e1656e8763ed4a841ac9859fefb63cbe79472e67e8c5f')
- version('3.15.7', sha256='71999d8a14c9b51708847371250a61533439a7331eb7702ac105cfb3cb1be54b')
- version('3.15.6', sha256='3fa17992ac97d3fc856ffba5d3b10578744ea5b4736818f01e6067f0253b2db5')
- version('3.15.5', sha256='fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4')
- version('3.15.4', sha256='8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a')
- version('3.15.3', sha256='13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5')
- version('3.15.2', sha256='539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768')
- version('3.15.1', sha256='18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7')
- version('3.15.0', sha256='0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5')
- version('3.14.7', sha256='9221993e0af3e6d10124d840ff24f5b2f3b884416fca04d3312cb0388dec1385')
- version('3.14.6', sha256='4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9')
- version('3.14.5', sha256='505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06')
- version('3.14.4', sha256='00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9')
- version('3.14.3', sha256='215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632')
- version('3.14.2', sha256='a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e')
- version('3.14.1', sha256='7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f')
- version('3.14.0', sha256='aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502')
- version('3.13.5', sha256='526db6a4b47772d1943b2f86de693e712f9dacf3d7c13b19197c9bef133766a5')
- version('3.13.4', sha256='fdd928fee35f472920071d1c7f1a6a2b72c9b25e04f7a37b409349aef3f20e9b')
- version('3.13.3', sha256='665f905036b1f731a2a16f83fb298b1fb9d0f98c382625d023097151ad016b25')
- version('3.13.2', sha256='c925e7d2c5ba511a69f43543ed7b4182a7d446c274c7480d0e42cd933076ae25')
- version('3.13.1', sha256='befe1ce6d672f2881350e94d4e3cc809697dd2c09e5b708b76c1dae74e1b2210')
- version('3.13.0', sha256='4058b2f1a53c026564e8936698d56c3b352d90df067b195cb749a97a3d273c90')
- version('3.12.4', sha256='5255584bfd043eb717562cff8942d472f1c0e4679c4941d84baadaa9b28e3194')
- version('3.12.3', sha256='acbf13af31a741794106b76e5d22448b004a66485fc99f6d7df4d22e99da164a')
- version('3.12.2', sha256='0f97485799e51a7070cc11494f3e02349b0fc3a24cc12b082e737bf67a0581a4')
- version('3.12.1', sha256='c53d5c2ce81d7a957ee83e3e635c8cda5dfe20c9d501a4828ee28e1615e57ab2')
- version('3.12.0', sha256='d0781a90f6cdb9049d104ac16a150f9350b693498b9dea8a0331e799db6b9d69')
- version('3.11.4', sha256='8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5')
- version('3.11.3', sha256='287135b6beb7ffc1ccd02707271080bbf14c21d80c067ae2c0040e5f3508c39a')
- version('3.11.2', sha256='5ebc22bbcf2b4c7a20c4190d42c084cf38680a85b1a7980a2f1d5b4a52bf5248')
- version('3.11.1', sha256='57bebc6ca4d1d42c6385249d148d9216087e0fda57a47dc5c858790a70217d0c')
- version('3.11.0', sha256='c313bee371d4d255be2b4e96fd59b11d58bc550a7c78c021444ae565709a656b')
- version('3.10.3', sha256='0c3a1dcf0be03e40cf4f341dda79c96ffb6c35ae35f2f911845b72dab3559cf8')
- version('3.10.2', sha256='80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b')
- version('3.10.1', sha256='7be36ee24b0f5928251b644d29f5ff268330a916944ef4a75e23ba01e7573284')
- version('3.10.0', sha256='b3345c17609ea0f039960ef470aa099de9942135990930a57c14575aae884987')
- version('3.9.6', sha256='7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218')
- version('3.9.4', sha256='b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1')
- version('3.9.2', sha256='954a5801a456ee48e76f01107c9a4961677dd0f3e115275bbd18410dc22ba3c1')
- version('3.9.0', sha256='167701525183dbb722b9ffe69fb525aa2b81798cf12f5ce1c020c93394dfae0f')
- version('3.8.2', sha256='da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d')
- version('3.8.1', sha256='ce5d9161396e06501b00e52933783150a87c33080d4bdcef461b5b7fd24ac228')
- version('3.8.0', sha256='cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969')
- version('3.7.2', sha256='dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0')
- version('3.7.1', sha256='449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1')
- version('3.6.1', sha256='28ee98ec40427d41a45673847db7a905b59ce9243bb866eaf59dce0f58aaef11')
- version('3.6.0', sha256='fd05ed40cc40ef9ef99fac7b0ece2e0b871858a82feade48546f5d2940147670')
- version('3.5.2', sha256='92d8410d3d981bb881dfff2aed466da55a58d34c7390d50449aa59b32bb5e62a')
- version('3.5.1', sha256='93d651a754bcf6f0124669646391dd5774c0fc4d407c384e3ae76ef9a60477e8')
- version('3.5.0', sha256='92c83ad8a4fd6224cf6319a60b399854f55b38ebe9d297c942408b792b1a9efa')
- version('3.4.3', sha256='b73f8c1029611df7ed81796bf5ca8ba0ef41c6761132340c73ffe42704f980fa')
- version('3.4.0', sha256='a5b82bf6ace6c481cdb911fd5d372a302740cbefd387e05297cb37f7468d1cea')
- version('3.3.1', sha256='cd65022c6a0707f1c7112f99e9c981677fdd5518f7ddfa0f778d4cee7113e3d6')
- version('3.1.0', sha256='8bdc3fa3f2da81bc10c772a6b64cc9052acc2901d42e1e1b2588b40df224aad9')
- version('3.0.2', sha256='6b4ea61eadbbd9bec0ccb383c29d1f4496eacc121ef7acf37c7a24777805693e')
- version('2.8.10.2', sha256='ce524fb39da06ee6d47534bbcec6e0b50422e18b62abc4781a4ba72ea2910eb1')
-
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+
+ 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.23.2", sha256="f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa")
+ version("3.23.1", sha256="33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3")
+ version("3.23.0", sha256="5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82")
+ version("3.22.5", sha256="d3987c3f7759fa0a401c5fcd5076be44a19613bfaa8baee1b5d1835750dc5375")
+ version("3.22.4", sha256="5c55d0b0bc4c191549e3502b8f99a4fe892077611df22b4178cc020626e22a47")
+ version("3.22.3", sha256="9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0")
+ version("3.22.2", sha256="3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced")
+ version("3.22.1", sha256="0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0")
+ version("3.22.0", sha256="998c7ba34778d2dfdb3df8a695469e24b11e2bfa21fbe41b361a3f45e1c9345e")
+ version("3.21.7", sha256="3523c4a5afc61ac3d7c92835301cdf092129c9b672a6ee17e68c92e928c1375a")
+ version("3.21.6", sha256="b7c3ac35ca7ed3cce8c192c9c873e6061aaecc8b2bc564290e629b10bff59f3c")
+ version("3.21.5", sha256="c73587b5ab827d56c09f0a1e256b12743ff200495e31fc9686f2b9dc8a28897f")
+ version("3.21.4", sha256="d9570a95c215f4c9886dd0f0564ca4ef8d18c30750f157238ea12669c2985978")
+ version("3.21.3", sha256="d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f")
+ version("3.21.2", sha256="94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659")
+ version("3.21.1", sha256="fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4")
+ version("3.21.0", sha256="4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab")
+ version("3.20.6", sha256="a0bd485e1a38dd13c0baec89d5f4adbf61c7fd32fddb38eabc69a75bc0b65d72")
+ version("3.20.5", sha256="12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0")
+ version("3.20.4", sha256="87a4060298f2c6bb09d479de1400bc78195a5b55a65622a7dceeb3d1090a1b16")
+ version("3.20.3", sha256="4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8")
+ version("3.20.2", sha256="aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e")
+ version("3.20.1", sha256="3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0")
+ version("3.20.0", sha256="9c06b2ddf7c337e31d8201f6ebcd3bba86a9a033976a9aee207fe0c6971f4755")
+ version("3.19.8", sha256="09b4fa4837aae55c75fb170f6a6e2b44818deba48335d1969deddfbb34e30369")
+ version("3.19.7", sha256="58a15f0d56a0afccc3cc5371234fce73fcc6c8f9dbd775d898e510b83175588e")
+ version("3.19.6", sha256="ec87ab67c45f47c4285f204280c5cde48e1c920cfcfed1555b27fb3b1a1d20ba")
+ version("3.19.5", sha256="c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce")
+ version("3.19.4", sha256="7d0232b9f1c57e8de81f38071ef8203e6820fe7eec8ae46a1df125d88dbcc2e1")
+ version("3.19.3", sha256="3faca7c131494a1e34d66e9f8972ff5369e48d419ea8ceaa3dc15b4c11367732")
+ version("3.19.2", sha256="e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0")
+ version("3.19.1", sha256="1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba")
+ version("3.19.0", sha256="fdda688155aa7e72b7c63ef6f559fca4b6c07382ea6dca0beb5f45aececaf493")
+ version("3.18.6", sha256="124f571ab70332da97a173cb794dfa09a5b20ccbb80a08e56570a500f47b6600")
+ version("3.18.5", sha256="080bf24b0f73f4bf3ec368d2be1aa59369b9bb1cd693deeb6f18fe553ca74ab4")
+ version("3.18.4", sha256="597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77")
+ version("3.18.3", sha256="2c89f4e30af4914fd6fb5d00f863629812ada848eee4e2d29ec7e456d7fa32e5")
+ version("3.18.2", sha256="5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e")
+ version("3.18.1", sha256="c0e3338bd37e67155b9d1e9526fec326b5c541f74857771b7ffed0c46ad62508")
+ version("3.18.0", sha256="83b4ffcb9482a73961521d2bafe4a16df0168f03f56e6624c419c461e5317e29")
+ version("3.17.5", sha256="8c3083d98fd93c1228d5e4e40dbff2dd88f4f7b73b9fa24a2938627b8bc28f1a")
+ version("3.17.4", sha256="86985d73d0a63ec99c236aab5287316e252164f33d7c4cb160954a980c71f36f")
+ version("3.17.3", sha256="0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40")
+ version("3.17.1", sha256="3aa9114485da39cbd9665a0bfe986894a282d5f0882b1dea960a739496620727")
+ version("3.17.0", sha256="b74c05b55115eacc4fa2b77a814981dbda05cdc95a53e279fe16b7b272f00847")
+ version("3.16.9", sha256="1708361827a5a0de37d55f5c9698004c035abb1de6120a376d5d59a81630191f")
+ version("3.16.8", sha256="177434021132686cb901fea7db9fa2345efe48d566b998961594d5cc346ac588")
+ version("3.16.7", sha256="5f49c95a2933b1800f14840f3a389f4cef0b19093985a35053b43f38ec21358f")
+ version("3.16.6", sha256="6f6ff1a197851b0fa8412ff5de602e6717a4eb9509b2c385b08589c4e7a16b62")
+ version("3.16.5", sha256="5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc")
+ version("3.16.4", sha256="9bcc8c114d9da603af9512083ed7d4a39911d16105466beba165ba8fe939ac2c")
+ version("3.16.3", sha256="e54f16df9b53dac30fd626415833a6e75b0e47915393843da1825b096ee60668")
+ version("3.16.2", sha256="8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9")
+ version("3.16.1", sha256="a275b3168fa8626eca4465da7bb159ff07c8c6cb0fb7179be59e12cbdfa725fd")
+ version("3.16.0", sha256="6da56556c63cab6e9a3e1656e8763ed4a841ac9859fefb63cbe79472e67e8c5f")
+ version("3.15.7", sha256="71999d8a14c9b51708847371250a61533439a7331eb7702ac105cfb3cb1be54b")
+ version("3.15.6", sha256="3fa17992ac97d3fc856ffba5d3b10578744ea5b4736818f01e6067f0253b2db5")
+ version("3.15.5", sha256="fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4")
+ version("3.15.4", sha256="8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a")
+ version("3.15.3", sha256="13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5")
+ version("3.15.2", sha256="539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768")
+ version("3.15.1", sha256="18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7")
+ version("3.15.0", sha256="0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5")
+ version("3.14.7", sha256="9221993e0af3e6d10124d840ff24f5b2f3b884416fca04d3312cb0388dec1385")
+ version("3.14.6", sha256="4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9")
+ version("3.14.5", sha256="505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06")
+ version("3.14.4", sha256="00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9")
+ version("3.14.3", sha256="215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632")
+ version("3.14.2", sha256="a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e")
+ version("3.14.1", sha256="7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f")
+ version("3.14.0", sha256="aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502")
+ version("3.13.5", sha256="526db6a4b47772d1943b2f86de693e712f9dacf3d7c13b19197c9bef133766a5")
+ version("3.13.4", sha256="fdd928fee35f472920071d1c7f1a6a2b72c9b25e04f7a37b409349aef3f20e9b")
+ version("3.13.3", sha256="665f905036b1f731a2a16f83fb298b1fb9d0f98c382625d023097151ad016b25")
+ version("3.13.2", sha256="c925e7d2c5ba511a69f43543ed7b4182a7d446c274c7480d0e42cd933076ae25")
+ version("3.13.1", sha256="befe1ce6d672f2881350e94d4e3cc809697dd2c09e5b708b76c1dae74e1b2210")
+ version("3.13.0", sha256="4058b2f1a53c026564e8936698d56c3b352d90df067b195cb749a97a3d273c90")
+ version("3.12.4", sha256="5255584bfd043eb717562cff8942d472f1c0e4679c4941d84baadaa9b28e3194")
+ version("3.12.3", sha256="acbf13af31a741794106b76e5d22448b004a66485fc99f6d7df4d22e99da164a")
+ version("3.12.2", sha256="0f97485799e51a7070cc11494f3e02349b0fc3a24cc12b082e737bf67a0581a4")
+ version("3.12.1", sha256="c53d5c2ce81d7a957ee83e3e635c8cda5dfe20c9d501a4828ee28e1615e57ab2")
+ version("3.12.0", sha256="d0781a90f6cdb9049d104ac16a150f9350b693498b9dea8a0331e799db6b9d69")
+ version("3.11.4", sha256="8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5")
+ version("3.11.3", sha256="287135b6beb7ffc1ccd02707271080bbf14c21d80c067ae2c0040e5f3508c39a")
+ version("3.11.2", sha256="5ebc22bbcf2b4c7a20c4190d42c084cf38680a85b1a7980a2f1d5b4a52bf5248")
+ version("3.11.1", sha256="57bebc6ca4d1d42c6385249d148d9216087e0fda57a47dc5c858790a70217d0c")
+ version("3.11.0", sha256="c313bee371d4d255be2b4e96fd59b11d58bc550a7c78c021444ae565709a656b")
+ version("3.10.3", sha256="0c3a1dcf0be03e40cf4f341dda79c96ffb6c35ae35f2f911845b72dab3559cf8")
+ version("3.10.2", sha256="80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b")
+ version("3.10.1", sha256="7be36ee24b0f5928251b644d29f5ff268330a916944ef4a75e23ba01e7573284")
+ version("3.10.0", sha256="b3345c17609ea0f039960ef470aa099de9942135990930a57c14575aae884987")
+ version("3.9.6", sha256="7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218")
+ version("3.9.4", sha256="b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1")
+ version("3.9.2", sha256="954a5801a456ee48e76f01107c9a4961677dd0f3e115275bbd18410dc22ba3c1")
+ version("3.9.0", sha256="167701525183dbb722b9ffe69fb525aa2b81798cf12f5ce1c020c93394dfae0f")
+ version("3.8.2", sha256="da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d")
+ version("3.8.1", sha256="ce5d9161396e06501b00e52933783150a87c33080d4bdcef461b5b7fd24ac228")
+ version("3.8.0", sha256="cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969")
+ version("3.7.2", sha256="dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0")
+ version("3.7.1", sha256="449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1")
+ version("3.6.1", sha256="28ee98ec40427d41a45673847db7a905b59ce9243bb866eaf59dce0f58aaef11")
+ version("3.6.0", sha256="fd05ed40cc40ef9ef99fac7b0ece2e0b871858a82feade48546f5d2940147670")
+ version("3.5.2", sha256="92d8410d3d981bb881dfff2aed466da55a58d34c7390d50449aa59b32bb5e62a")
+ version("3.5.1", sha256="93d651a754bcf6f0124669646391dd5774c0fc4d407c384e3ae76ef9a60477e8")
+ version("3.5.0", sha256="92c83ad8a4fd6224cf6319a60b399854f55b38ebe9d297c942408b792b1a9efa")
+ version("3.4.3", sha256="b73f8c1029611df7ed81796bf5ca8ba0ef41c6761132340c73ffe42704f980fa")
+ version("3.4.0", sha256="a5b82bf6ace6c481cdb911fd5d372a302740cbefd387e05297cb37f7468d1cea")
+ version("3.3.1", sha256="cd65022c6a0707f1c7112f99e9c981677fdd5518f7ddfa0f778d4cee7113e3d6")
+ version("3.1.0", sha256="8bdc3fa3f2da81bc10c772a6b64cc9052acc2901d42e1e1b2588b40df224aad9")
+ version("3.0.2", sha256="6b4ea61eadbbd9bec0ccb383c29d1f4496eacc121ef7acf37c7a24777805693e")
+ version("2.8.10.2", sha256="ce524fb39da06ee6d47534bbcec6e0b50422e18b62abc4781a4ba72ea2910eb1")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
# Revert the change that introduced a regression when parsing mpi link
# flags, see: https://gitlab.kitware.com/cmake/cmake/issues/19516
- patch('cmake-revert-findmpi-link-flag-list.patch', when='@3.15.0')
+ patch("cmake-revert-findmpi-link-flag-list.patch", when="@3.15.0")
# Fix linker error when using external libs on darwin.
# See https://gitlab.kitware.com/cmake/cmake/merge_requests/2873
- patch('cmake-macos-add-coreservices.patch', when='@3.11.0:3.13.3')
+ patch("cmake-macos-add-coreservices.patch", when="@3.11.0:3.13.3")
# Fix builds with XLF + Ninja generator
# https://gitlab.kitware.com/cmake/cmake/merge_requests/4075
- patch('fix-xlf-ninja-mr-4075.patch', sha256="42d8b2163a2f37a745800ec13a96c08a3a20d5e67af51031e51f63313d0dedd1", when="@3.15.5")
+ patch(
+ "fix-xlf-ninja-mr-4075.patch",
+ sha256="42d8b2163a2f37a745800ec13a96c08a3a20d5e67af51031e51f63313d0dedd1",
+ when="@3.15.5",
+ )
- depends_on('ninja', when='platform=windows')
+ depends_on("ninja", when="platform=windows")
# We default ownlibs to true because it greatly speeds up the CMake
# build, and CMake is built frequently. Also, CMake is almost always
# a build dependency, and its libs will not interfere with others in
# the build.
- variant('ownlibs', default=True, description='Use CMake-provided third-party libraries')
- variant('qt', default=False, description='Enables the build of cmake-gui')
- variant('doc', default=False, description='Enables the generation of html and man page documentation')
- variant('ncurses', default=not is_windows, description='Enables the build of the ncurses gui')
+ variant("ownlibs", default=True, description="Use CMake-provided third-party libraries")
+ variant("qt", default=False, description="Enables the build of cmake-gui")
+ variant(
+ "doc",
+ default=False,
+ description="Enables the generation of html and man page documentation",
+ )
+ variant("ncurses", default=not is_windows, description="Enables the build of the ncurses gui")
# See https://gitlab.kitware.com/cmake/cmake/-/issues/21135
- conflicts('%gcc platform=darwin', when='@:3.17',
- msg='CMake <3.18 does not compile with GCC on macOS, '
- 'please use %apple-clang or a newer CMake release. '
- 'See: https://gitlab.kitware.com/cmake/cmake/-/issues/21135')
+ conflicts(
+ "%gcc platform=darwin",
+ when="@:3.17",
+ msg="CMake <3.18 does not compile with GCC on macOS, "
+ "please use %apple-clang or a newer CMake release. "
+ "See: https://gitlab.kitware.com/cmake/cmake/-/issues/21135",
+ )
# Vendored dependencies do not build with nvhpc; it's also more
# transparent to patch Spack's versions of CMake's dependencies.
- conflicts('+ownlibs %nvhpc')
+ conflicts("+ownlibs %nvhpc")
- with when('~ownlibs'):
- depends_on('curl')
- depends_on('expat')
- depends_on('zlib')
+ with when("~ownlibs"):
+ depends_on("curl")
+ depends_on("expat")
+ depends_on("zlib")
# expat/zlib are used in CMake/CTest, so why not require them in libarchive.
- depends_on('libarchive@3.1.0: xar=expat compression=zlib')
- depends_on('libarchive@3.3.3:', when='@3.15.0:')
- depends_on('libuv@1.0.0:1.10', when='@3.7.0:3.10.3')
- depends_on('libuv@1.10.0:1.10', when='@3.11.0:3.11')
- depends_on('libuv@1.10.0:', when='@3.12.0:')
- depends_on('rhash', when='@3.8.0:')
+ depends_on("libarchive@3.1.0: xar=expat compression=zlib")
+ depends_on("libarchive@3.3.3:", when="@3.15.0:")
+ depends_on("libuv@1.0.0:1.10", when="@3.7.0:3.10.3")
+ depends_on("libuv@1.10.0:1.10", when="@3.11.0:3.11")
+ depends_on("libuv@1.10.0:", when="@3.12.0:")
+ depends_on("rhash", when="@3.8.0:")
- for plat in ['darwin', 'linux', 'cray']:
- with when('+ownlibs platform=%s' % plat):
- depends_on('openssl')
- depends_on('openssl@:1.0', when='@:3.6.9')
+ for plat in ["darwin", "linux", "cray"]:
+ with when("+ownlibs platform=%s" % plat):
+ depends_on("openssl")
+ depends_on("openssl@:1.0", when="@:3.6.9")
- depends_on('qt', when='+qt')
- depends_on('ncurses', when='+ncurses')
+ depends_on("qt", when="+qt")
+ depends_on("ncurses", when="+ncurses")
- with when('+doc'):
- depends_on('python@2.7.11:', type='build')
- depends_on('py-sphinx', type='build')
+ with when("+doc"):
+ depends_on("python@2.7.11:", type="build")
+ depends_on("py-sphinx", type="build")
# TODO: update curl package to build with Windows SSL implementation
# at which point we can build with +ownlibs on Windows
- conflicts('~ownlibs', when='platform=windows')
+ conflicts("~ownlibs", when="platform=windows")
# Cannot build with Intel, should be fixed in 3.6.2
# https://gitlab.kitware.com/cmake/cmake/issues/16226
- patch('intel-c-gnu11.patch', when='@3.6.0:3.6.1')
+ patch("intel-c-gnu11.patch", when="@3.6.0:3.6.1")
# Cannot build with Intel again, should be fixed in 3.17.4 and 3.18.1
# https://gitlab.kitware.com/cmake/cmake/-/issues/21013
- patch('intel-cxx-bootstrap.patch', when='@3.17.0:3.17.3,3.18.0')
+ patch("intel-cxx-bootstrap.patch", when="@3.17.0:3.17.3,3.18.0")
# https://gitlab.kitware.com/cmake/cmake/issues/18232
- patch('nag-response-files.patch', when='@3.7:3.12')
+ patch("nag-response-files.patch", when="@3.7:3.12")
# Cray libhugetlbfs and icpc warnings failing CXX tests
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4698
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4681
- patch('ignore_crayxc_warnings.patch', when='@3.7:3.17.2')
+ patch("ignore_crayxc_warnings.patch", when="@3.7:3.17.2")
# The Fujitsu compiler requires the '--linkfortran' option
# to combine C++ and Fortran programs.
- patch('fujitsu_add_linker_option.patch', when='%fj')
+ patch("fujitsu_add_linker_option.patch", when="%fj")
# Remove -A from the C++ flags we use when CXX_EXTENSIONS is OFF
# Should be fixed in 3.19.
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5025
- patch('pgi-cxx-ansi.patch', when='@3.15:3.18')
+ patch("pgi-cxx-ansi.patch", when="@3.15:3.18")
# Adds CCE v11+ fortran preprocessing definition.
# requires Cmake 3.19+
# https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5882
- patch('5882-enable-cce-fortran-preprocessing.patch',
- sha256='b48396c0e4f61756248156b6cebe9bc0d7a22228639b47b5aa77c9330588ce88',
- when='@3.19.0:3.19')
+ patch(
+ "5882-enable-cce-fortran-preprocessing.patch",
+ sha256="b48396c0e4f61756248156b6cebe9bc0d7a22228639b47b5aa77c9330588ce88",
+ when="@3.19.0:3.19",
+ )
- conflicts('+qt', when='^qt@5.4.0') # qt-5.4.0 has broken CMake modules
+ conflicts("+qt", when="^qt@5.4.0") # qt-5.4.0 has broken CMake modules
# https://gitlab.kitware.com/cmake/cmake/issues/18166
- conflicts('%intel', when='@3.11.0:3.11.4')
- conflicts('%intel@:14', when='@3.14:',
- msg="Intel 14 has immature C++11 support")
-
- resource(name='cmake-bootstrap',
- url='https://cmake.org/files/v3.21/cmake-3.21.2-windows-x86_64.zip',
- checksum='213a4e6485b711cb0a48cbd97b10dfe161a46bfe37b8f3205f47e99ffec434d2',
- placement='cmake-bootstrap',
- when='@3.0.2: platform=windows')
-
- resource(name='cmake-bootstrap',
- url='https://cmake.org/files/v2.8/cmake-2.8.4-win32-x86.zip',
- checksum='8b9b520f3372ce67e33d086421c1cb29a5826d0b9b074f44a8a0304e44cf88f3',
- placement='cmake-bootstrap',
- when='@:2.8.10.2 platform=windows')
-
- phases = ['bootstrap', 'build', 'install']
+ conflicts("%intel", when="@3.11.0:3.11.4")
+ conflicts("%intel@:14", when="@3.14:", msg="Intel 14 has immature C++11 support")
+
+ resource(
+ name="cmake-bootstrap",
+ url="https://cmake.org/files/v3.21/cmake-3.21.2-windows-x86_64.zip",
+ checksum="213a4e6485b711cb0a48cbd97b10dfe161a46bfe37b8f3205f47e99ffec434d2",
+ placement="cmake-bootstrap",
+ when="@3.0.2: platform=windows",
+ )
+
+ resource(
+ name="cmake-bootstrap",
+ url="https://cmake.org/files/v2.8/cmake-2.8.4-win32-x86.zip",
+ checksum="8b9b520f3372ce67e33d086421c1cb29a5826d0b9b074f44a8a0304e44cf88f3",
+ placement="cmake-bootstrap",
+ when="@:2.8.10.2 platform=windows",
+ )
+
+ phases = ["bootstrap", "build", "install"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'cmake.*version\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"cmake.*version\s+(\S+)", output)
return match.group(1) if match else None
def flag_handler(self, name, flags):
- if name == 'cxxflags' and self.compiler.name == 'fj':
- cxx11plus_flags = (self.compiler.cxx11_flag,
- self.compiler.cxx14_flag)
- cxxpre11_flags = (self.compiler.cxx98_flag)
+ if name == "cxxflags" and self.compiler.name == "fj":
+ cxx11plus_flags = (self.compiler.cxx11_flag, self.compiler.cxx14_flag)
+ cxxpre11_flags = self.compiler.cxx98_flag
if any(f in flags for f in cxxpre11_flags):
- raise ValueError('cannot build cmake pre-c++11 standard')
+ raise ValueError("cannot build cmake pre-c++11 standard")
elif not any(f in flags for f in cxx11plus_flags):
flags.append(self.compiler.cxx11_flag)
return (flags, None, None)
def setup_build_environment(self, env):
spec = self.spec
- if '+ownlibs' in spec and 'platform=windows' not in spec:
- env.set('OPENSSL_ROOT_DIR', spec['openssl'].prefix)
+ if "+ownlibs" in spec and "platform=windows" not in spec:
+ env.set("OPENSSL_ROOT_DIR", spec["openssl"].prefix)
def bootstrap_args(self):
spec = self.spec
args = []
self.generator = make
- if not sys.platform == 'win32':
- args.append('--prefix={0}'.format(self.prefix))
+ if not sys.platform == "win32":
+ args.append("--prefix={0}".format(self.prefix))
if spack.build_environment.should_set_parallel_jobs(jobserver_support=True):
- args.append('--parallel={0}'.format(make_jobs))
+ args.append("--parallel={0}".format(make_jobs))
- if '+ownlibs' in spec:
+ if "+ownlibs" in spec:
# Build and link to the CMake-provided third-party libraries
- args.append('--no-system-libs')
+ args.append("--no-system-libs")
else:
# Build and link to the Spack-installed third-party libraries
- args.append('--system-libs')
+ args.append("--system-libs")
- if spec.satisfies('@3.2:'):
+ if spec.satisfies("@3.2:"):
# jsoncpp requires CMake to build
# use CMake-provided library to avoid circular dependency
- args.append('--no-system-jsoncpp')
+ args.append("--no-system-jsoncpp")
- if '+qt' in spec:
- args.append('--qt-gui')
+ if "+qt" in spec:
+ args.append("--qt-gui")
else:
- args.append('--no-qt-gui')
+ args.append("--no-qt-gui")
- if '+doc' in spec:
- args.append('--sphinx-html')
- args.append('--sphinx-man')
+ if "+doc" in spec:
+ args.append("--sphinx-html")
+ args.append("--sphinx-man")
# Now for CMake arguments to pass after the initial bootstrap
- args.append('--')
+ args.append("--")
else:
- args.append('-DCMAKE_INSTALL_PREFIX=%s' % self.prefix)
- if self.spec.satisfies('platform=windows'):
- args.append('-GNinja')
+ args.append("-DCMAKE_INSTALL_PREFIX=%s" % self.prefix)
+ if self.spec.satisfies("platform=windows"):
+ args.append("-GNinja")
self.generator = ninja
- args.append('-DCMAKE_BUILD_TYPE={0}'.format(
- self.spec.variants['build_type'].value))
+ args.append("-DCMAKE_BUILD_TYPE={0}".format(self.spec.variants["build_type"].value))
# Install CMake correctly, even if `spack install` runs
# inside a ctest environment
- args.append('-DCMake_TEST_INSTALL=OFF')
+ args.append("-DCMake_TEST_INSTALL=OFF")
# When building our own private copy of curl we still require an
# external openssl.
- if '+ownlibs' in spec:
- if 'platform=windows' in spec:
- args.append('-DCMAKE_USE_OPENSSL=OFF')
+ if "+ownlibs" in spec:
+ if "platform=windows" in spec:
+ args.append("-DCMAKE_USE_OPENSSL=OFF")
else:
- args.append('-DCMAKE_USE_OPENSSL=ON')
+ args.append("-DCMAKE_USE_OPENSSL=ON")
- args.append('-DBUILD_CursesDialog=%s' % str('+ncurses' in spec))
+ args.append("-DBUILD_CursesDialog=%s" % str("+ncurses" in spec))
# Make CMake find its own dependencies.
rpaths = spack.build_environment.get_rpaths(self)
prefixes = spack.build_environment.get_cmake_prefix_path(self)
- args.extend([
- '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON',
- '-DCMAKE_INSTALL_RPATH={0}'.format(";".join(str(v) for v in rpaths)),
- '-DCMAKE_PREFIX_PATH={0}'.format(";".join(str(v) for v in prefixes))
- ])
+ args.extend(
+ [
+ "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON",
+ "-DCMAKE_INSTALL_RPATH={0}".format(";".join(str(v) for v in rpaths)),
+ "-DCMAKE_PREFIX_PATH={0}".format(";".join(str(v) for v in prefixes)),
+ ]
+ )
return args
def cmake_bootstrap(self):
exe_prefix = self.stage.source_path
- relative_cmake_exe = os.path.join('cmake-bootstrap', 'bin', 'cmake.exe')
+ relative_cmake_exe = os.path.join("cmake-bootstrap", "bin", "cmake.exe")
return Executable(os.path.join(exe_prefix, relative_cmake_exe))
def bootstrap(self, spec, prefix):
bootstrap_args = self.bootstrap_args()
- if sys.platform == 'win32':
+ if sys.platform == "win32":
bootstrap = self.cmake_bootstrap()
- bootstrap_args.extend(['.'])
+ bootstrap_args.extend(["."])
else:
- bootstrap = Executable('./bootstrap')
+ bootstrap = Executable("./bootstrap")
bootstrap(*bootstrap_args)
def build(self, spec, prefix):
self.generator()
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def build_test(self):
# Some tests fail, takes forever
- self.generator('test')
+ self.generator("test")
def install(self, spec, prefix):
- self.generator('install')
+ self.generator("install")
- if spec.satisfies('%fj'):
- for f in find(self.prefix, 'FindMPI.cmake', recursive=True):
- filter_file('mpcc_r)', 'mpcc_r mpifcc)', f, string=True)
- filter_file('mpc++_r)', 'mpc++_r mpiFCC)', f, string=True)
- filter_file('mpifc)', 'mpifc mpifrt)', f, string=True)
+ if spec.satisfies("%fj"):
+ for f in find(self.prefix, "FindMPI.cmake", recursive=True):
+ filter_file("mpcc_r)", "mpcc_r mpifcc)", f, string=True)
+ filter_file("mpc++_r)", "mpc++_r mpiFCC)", f, string=True)
+ filter_file("mpifc)", "mpifc mpifrt)", f, string=True)
def test(self):
"""Perform smoke tests on the installed package."""
- spec_vers_str = 'version {0}'.format(self.spec.version)
-
- for exe in ['ccmake', 'cmake', 'cpack', 'ctest']:
- 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=True)
+ spec_vers_str = "version {0}".format(self.spec.version)
+
+ for exe in ["ccmake", "cmake", "cpack", "ctest"]:
+ 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=True,
+ )
diff --git a/var/spack/repos/builtin/packages/cmaq/package.py b/var/spack/repos/builtin/packages/cmaq/package.py
index c8fa1137ad..abae762b0f 100644
--- a/var/spack/repos/builtin/packages/cmaq/package.py
+++ b/var/spack/repos/builtin/packages/cmaq/package.py
@@ -9,13 +9,20 @@ from spack.package import *
class Cmaq(Package):
"""Code base for the U.S. EPA's Community Multiscale Air Quality Model
(CMAQ)."""
+
homepage = "https://www.epa.gov/CMAQ"
- url = "https://github.com/USEPA/CMAQ/archive/CMAQv5.3.1_19Dec2019.tar.gz"
+ url = "https://github.com/USEPA/CMAQ/archive/CMAQv5.3.1_19Dec2019.tar.gz"
- version('5.3.1', sha256='659156bba27f33010e0fdc157a8d33f3b5b779b95511e2ade870284b6bcb4bc8',
- url='https://github.com/USEPA/CMAQ/archive/CMAQv5.3.1_19Dec2019.tar.gz')
- version('5.3', sha256='e245c291c7e88d481b13f577d1af9aeb5aef4de8c59f7fa06fa41d19bb2ed18c',
- url='https://github.com/USEPA/CMAQ/archive/CMAQv5.3_27Aug2019.tar.gz')
+ version(
+ "5.3.1",
+ sha256="659156bba27f33010e0fdc157a8d33f3b5b779b95511e2ade870284b6bcb4bc8",
+ url="https://github.com/USEPA/CMAQ/archive/CMAQv5.3.1_19Dec2019.tar.gz",
+ )
+ version(
+ "5.3",
+ sha256="e245c291c7e88d481b13f577d1af9aeb5aef4de8c59f7fa06fa41d19bb2ed18c",
+ url="https://github.com/USEPA/CMAQ/archive/CMAQv5.3_27Aug2019.tar.gz",
+ )
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cmark/package.py b/var/spack/repos/builtin/packages/cmark/package.py
index 75dd257f27..fb32764250 100644
--- a/var/spack/repos/builtin/packages/cmark/package.py
+++ b/var/spack/repos/builtin/packages/cmark/package.py
@@ -11,11 +11,11 @@ class Cmark(CMakePackage):
a rationalized version of Markdown syntax with a spec."""
homepage = "https://commonmark.org/"
- url = "https://github.com/commonmark/cmark/archive/0.29.0.tar.gz"
+ url = "https://github.com/commonmark/cmark/archive/0.29.0.tar.gz"
- version('0.29.0', sha256='2558ace3cbeff85610de3bda32858f722b359acdadf0c4691851865bb84924a6')
- version('0.28.3', sha256='acc98685d3c1b515ff787ac7c994188dadaf28a2d700c10c1221da4199bae1fc')
- version('0.28.2', sha256='fe4b04fcccb2dc72641096de02a8eefb53059e85f9dd904f0386dc86326cc414')
- version('0.28.1', sha256='dda7b8b5974815b7cbc8f12f509ad419250571f258ee697db2efe3deae01aaf8')
- version('0.28.0', sha256='68cf191f4a78494a43b7e1663506635e370f0ba4c67c9ee9518e295685bbfe0e')
- version('0.27.1', sha256='669b4c19355e8cb90139fdd03b02283b97130e92ea99a104552a2976751446b5')
+ version("0.29.0", sha256="2558ace3cbeff85610de3bda32858f722b359acdadf0c4691851865bb84924a6")
+ version("0.28.3", sha256="acc98685d3c1b515ff787ac7c994188dadaf28a2d700c10c1221da4199bae1fc")
+ version("0.28.2", sha256="fe4b04fcccb2dc72641096de02a8eefb53059e85f9dd904f0386dc86326cc414")
+ version("0.28.1", sha256="dda7b8b5974815b7cbc8f12f509ad419250571f258ee697db2efe3deae01aaf8")
+ version("0.28.0", sha256="68cf191f4a78494a43b7e1663506635e370f0ba4c67c9ee9518e295685bbfe0e")
+ version("0.27.1", sha256="669b4c19355e8cb90139fdd03b02283b97130e92ea99a104552a2976751446b5")
diff --git a/var/spack/repos/builtin/packages/cminpack/package.py b/var/spack/repos/builtin/packages/cminpack/package.py
index 04a8fe2fbf..ae827a5e80 100644
--- a/var/spack/repos/builtin/packages/cminpack/package.py
+++ b/var/spack/repos/builtin/packages/cminpack/package.py
@@ -13,26 +13,25 @@ class Cminpack(CMakePackage):
"""
homepage = "http://devernay.free.fr/hacks/cminpack"
- url = "https://github.com/devernay/cminpack/archive/v1.3.6.tar.gz"
- git = 'https://github.com/devernay/cminpack.git'
+ url = "https://github.com/devernay/cminpack/archive/v1.3.6.tar.gz"
+ git = "https://github.com/devernay/cminpack.git"
- version('master', branch='master')
- version('1.3.6', sha256='3c07fd21308c96477a2c900032e21d937739c233ee273b4347a0d4a84a32d09f')
+ version("master", branch="master")
+ version("1.3.6", sha256="3c07fd21308c96477a2c900032e21d937739c233ee273b4347a0d4a84a32d09f")
- variant('shared', default=False, description='Build shared libraries')
- variant('blas', default=True, description='Compile with BLAS')
+ variant("shared", default=False, description="Build shared libraries")
+ variant("blas", default=True, description="Compile with BLAS")
- depends_on('blas', when='+blas')
+ depends_on("blas", when="+blas")
# Backport a pull request for correctly linking blas.
# See https://github.com/devernay/cminpack/pull/21
- patch('link_with_blas_pr_21.patch', when='@:1.3.6')
+ patch("link_with_blas_pr_21.patch", when="@:1.3.6")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DUSE_BLAS=%s' % (
- 'ON' if 'blas' in self.spec else 'OFF')
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DUSE_BLAS=%s" % ("ON" if "blas" in self.spec else "OFF"),
]
return args
diff --git a/var/spack/repos/builtin/packages/cmocka/package.py b/var/spack/repos/builtin/packages/cmocka/package.py
index b3d281fb57..00c27f51bf 100644
--- a/var/spack/repos/builtin/packages/cmocka/package.py
+++ b/var/spack/repos/builtin/packages/cmocka/package.py
@@ -8,12 +8,13 @@ from spack.package import *
class Cmocka(CMakePackage):
"""Unit-testing framework in pure C"""
+
homepage = "https://cmocka.org/"
- url = "https://cmocka.org/files/1.1/cmocka-1.1.1.tar.xz"
+ url = "https://cmocka.org/files/1.1/cmocka-1.1.1.tar.xz"
- version('1.1.1', sha256='f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389')
- version('1.1.0', sha256='e960d3bf1be618634a4b924f18bb4d6f20a825c109a8ad6d1af03913ba421330')
+ version("1.1.1", sha256="f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389")
+ version("1.1.0", sha256="e960d3bf1be618634a4b924f18bb4d6f20a825c109a8ad6d1af03913ba421330")
- depends_on('cmake@2.6.0:', type='build')
+ depends_on("cmake@2.6.0:", type="build")
parallel = False
diff --git a/var/spack/repos/builtin/packages/cmockery/package.py b/var/spack/repos/builtin/packages/cmockery/package.py
index 8ca98f4145..e3b054babf 100644
--- a/var/spack/repos/builtin/packages/cmockery/package.py
+++ b/var/spack/repos/builtin/packages/cmockery/package.py
@@ -11,17 +11,17 @@ class Cmockery(AutotoolsPackage):
writing unit tests for C applications."""
homepage = "https://github.com/google/cmockery"
- url = "https://github.com/google/cmockery/archive/v0.1.2.tar.gz"
+ url = "https://github.com/google/cmockery/archive/v0.1.2.tar.gz"
- version('0.1.2', sha256='d40135ae9179201c01bde725fa64fc32d86b5899972e0ce4ad51668d261edbae')
- version('0.1.1', sha256='a801d17976f781fff6dc49042ff109e55ca4ebe8efb13757fa1a511ca52316be')
- version('0.1.0', sha256='9e017d48e56ab9d2ebcf5286fa54e37d42fe308d3c01fbc367793da2b9ad95e7')
+ version("0.1.2", sha256="d40135ae9179201c01bde725fa64fc32d86b5899972e0ce4ad51668d261edbae")
+ version("0.1.1", sha256="a801d17976f781fff6dc49042ff109e55ca4ebe8efb13757fa1a511ca52316be")
+ version("0.1.0", sha256="9e017d48e56ab9d2ebcf5286fa54e37d42fe308d3c01fbc367793da2b9ad95e7")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/cmor/package.py b/var/spack/repos/builtin/packages/cmor/package.py
index 90fc809b9e..9ef89399ba 100644
--- a/var/spack/repos/builtin/packages/cmor/package.py
+++ b/var/spack/repos/builtin/packages/cmor/package.py
@@ -15,49 +15,49 @@ class Cmor(AutotoolsPackage):
homepage = "https://cmor.llnl.gov"
url = "https://github.com/PCMDI/cmor/archive/3.6.1.tar.gz"
- version('3.6.1', sha256='991035a41424f72ea6f0f85653fc13730eb035e63c7dff6ca740aa7a70976fb4')
- version('3.6.0', sha256='1608904a35106e83d365f27522209c325bd4bfc19d022b1a8abfb12cdf85fe20')
- version('3.5.0', sha256='37ce11332f9adfd4fa7560dfb358d14b300315221614c4a44c7407297103c62a')
- version('3.4.0', sha256='e700a6d50f435e6ffdedf23bf6832b7d37fe21dc78815e1372f218d1d52bd2cb')
- version('3.3.0', sha256='b763707272c470fc6f7077d9c541591a60f9075b52f5f0298eaf2cb2f2fff4d2')
- version('3.2.0', sha256='8d49899549dd4c08197739300d507e6fc2b4a5cfe2bfd3e6b44e8e3eaf79b132')
- version('3.1.2', sha256='ee58b6d405f081e4e0633af931b7992f1a570953b71ece17c01ab9e15889211a')
+ version("3.6.1", sha256="991035a41424f72ea6f0f85653fc13730eb035e63c7dff6ca740aa7a70976fb4")
+ version("3.6.0", sha256="1608904a35106e83d365f27522209c325bd4bfc19d022b1a8abfb12cdf85fe20")
+ version("3.5.0", sha256="37ce11332f9adfd4fa7560dfb358d14b300315221614c4a44c7407297103c62a")
+ version("3.4.0", sha256="e700a6d50f435e6ffdedf23bf6832b7d37fe21dc78815e1372f218d1d52bd2cb")
+ version("3.3.0", sha256="b763707272c470fc6f7077d9c541591a60f9075b52f5f0298eaf2cb2f2fff4d2")
+ version("3.2.0", sha256="8d49899549dd4c08197739300d507e6fc2b4a5cfe2bfd3e6b44e8e3eaf79b132")
+ version("3.1.2", sha256="ee58b6d405f081e4e0633af931b7992f1a570953b71ece17c01ab9e15889211a")
- variant('fortran', default=True, description='Enable Fortran API')
- variant('python', default=False, description='Enable PYTHON support')
+ variant("fortran", default=True, description="Enable Fortran API")
+ variant("python", default=False, description="Enable PYTHON support")
# older releases require another implementation providing uuid_create()
# 3.6.1 requires libuuid(only the lib) or util-linux-uuid providing uuid_generate()
- depends_on('hdf5')
- depends_on('hdf5@:1.8.19', when='@:3.4.0')
- depends_on('ossp-uuid', when='@:3.4.0')
- depends_on('util-linux-uuid', when='@3.5.0:')
- depends_on('json-c', when='@3.5.0:')
- depends_on('netcdf-c')
- depends_on('udunits')
-
- extends('python', when='+python')
- depends_on('python@:2', when='@:3.3 +python', type=('build', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-numpy', type=('build', 'run'), when='+python')
-
- @run_before('configure')
+ depends_on("hdf5")
+ depends_on("hdf5@:1.8.19", when="@:3.4.0")
+ depends_on("ossp-uuid", when="@:3.4.0")
+ depends_on("util-linux-uuid", when="@3.5.0:")
+ depends_on("json-c", when="@3.5.0:")
+ depends_on("netcdf-c")
+ depends_on("udunits")
+
+ extends("python", when="+python")
+ depends_on("python@:2", when="@:3.3 +python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-numpy", type=("build", "run"), when="+python")
+
+ @run_before("configure")
def validate(self):
- if '+fortran' in self.spec and not self.compiler.fc:
- msg = 'cannot build a fortran variant without a fortran compiler'
+ if "+fortran" in self.spec and not self.compiler.fc:
+ msg = "cannot build a fortran variant without a fortran compiler"
raise RuntimeError(msg)
def configure_args(self):
- extra_args = ['--disable-debug']
+ extra_args = ["--disable-debug"]
- if '+fortran' in self.spec:
- extra_args.append('--enable-fortran')
+ if "+fortran" in self.spec:
+ extra_args.append("--enable-fortran")
else:
- extra_args.append('--disable-fortran')
+ extra_args.append("--disable-fortran")
- if '+python' in self.spec:
- extra_args.append('--with-python={0}'.format(self.spec['python'].prefix))
+ if "+python" in self.spec:
+ extra_args.append("--with-python={0}".format(self.spec["python"].prefix))
return extra_args
@@ -66,8 +66,8 @@ class Cmor(AutotoolsPackage):
pass
def install(self, spec, prefix):
- make('install')
+ make("install")
- if '+python' in spec:
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ if "+python" in spec:
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/cni-plugins/package.py b/var/spack/repos/builtin/packages/cni-plugins/package.py
index 72bb8ab523..6f5b92b8d8 100644
--- a/var/spack/repos/builtin/packages/cni-plugins/package.py
+++ b/var/spack/repos/builtin/packages/cni-plugins/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class CniPlugins(Package):
"""Standard networking plugins for container networking"""
- homepage = 'https://github.com/containernetworking/plugins'
- url = 'https://github.com/containernetworking/plugins/archive/v1.0.1.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/containernetworking/plugins"
+ url = "https://github.com/containernetworking/plugins/archive/v1.0.1.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('1.0.1', sha256='2ba3cd9f341a7190885b60d363f6f23c6d20d975a7a0ab579dd516f8c6117619')
+ version("1.0.1", sha256="2ba3cd9f341a7190885b60d363f6f23c6d20d975a7a0ab579dd516f8c6117619")
- depends_on('go', type='build')
+ depends_on("go", type="build")
def install(self, spec, prefix):
- utils = 'github.com/containernetworking/plugins/pkg/utils/buildversion'
- which('./build_linux.sh')(
- '-ldflags',
- '-extldflags -static -X {0}.BuildVersion={1}'.format(utils, self.version),
+ utils = "github.com/containernetworking/plugins/pkg/utils/buildversion"
+ which("./build_linux.sh")(
+ "-ldflags",
+ "-extldflags -static -X {0}.BuildVersion={1}".format(utils, self.version),
)
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cnmem/package.py b/var/spack/repos/builtin/packages/cnmem/package.py
index 85cd91679a..6015fcec5a 100644
--- a/var/spack/repos/builtin/packages/cnmem/package.py
+++ b/var/spack/repos/builtin/packages/cnmem/package.py
@@ -10,8 +10,8 @@ class Cnmem(CMakePackage):
"""CNMem mempool for CUDA devices"""
homepage = "https://github.com/NVIDIA/cnmem"
- git = "https://github.com/NVIDIA/cnmem.git"
+ git = "https://github.com/NVIDIA/cnmem.git"
- version('git', branch='master')
+ version("git", branch="master")
- depends_on('cmake@2.8.8:', type='build')
+ depends_on("cmake@2.8.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/cnpy/package.py b/var/spack/repos/builtin/packages/cnpy/package.py
index 23fb39eca7..8bc5292cce 100644
--- a/var/spack/repos/builtin/packages/cnpy/package.py
+++ b/var/spack/repos/builtin/packages/cnpy/package.py
@@ -12,15 +12,15 @@ class Cnpy(CMakePackage):
"""cnpy: library to read/write .npy and .npz files in C/C++."""
homepage = "https://github.com/rogersce/cnpy"
- git = "https://github.com/rogersce/cnpy.git"
+ git = "https://github.com/rogersce/cnpy.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def cmake_args(self):
args = []
- if sys.platform == 'darwin':
- args.extend(['-DCMAKE_MACOSX_RPATH=ON'])
+ if sys.platform == "darwin":
+ args.extend(["-DCMAKE_MACOSX_RPATH=ON"])
return args
diff --git a/var/spack/repos/builtin/packages/cntk/package.py b/var/spack/repos/builtin/packages/cntk/package.py
index b92d519cfb..709f920768 100644
--- a/var/spack/repos/builtin/packages/cntk/package.py
+++ b/var/spack/repos/builtin/packages/cntk/package.py
@@ -15,114 +15,107 @@ class Cntk(Package):
via a directed graph."""
homepage = "https://www.microsoft.com/en-us/research/product/cognitive-toolkit"
- url = "https://github.com/Microsoft/CNTK/archive/v2.0.tar.gz"
- git = "https://github.com/Microsoft/CNTK.git"
+ url = "https://github.com/Microsoft/CNTK/archive/v2.0.tar.gz"
+ git = "https://github.com/Microsoft/CNTK.git"
# CNTK is not an active project since April 2019.
- version('master', branch='master')
- version('2.0', sha256='3adee17f166e2a682dfb551ca017ae5c3836ca9772c0af14215a7e76254f201c')
-
- variant('opencv', default=False, description="Enable OpenCV support.")
- variant('kaldi', default=False, description="Enable Kaldi support.")
- variant('asgd', default=True, description="Enable DataParallelASGD powered by Multiverso.")
- variant('1bitsgd', default=False, description="Enable 1bitsgd support.")
- variant('cuda', default=False, description="Enable CUDA support.")
- variant('debug', default=False, description="Debug build.")
-
- depends_on('libzip')
- depends_on('openblas')
- depends_on('mpi')
+ version("master", branch="master")
+ version("2.0", sha256="3adee17f166e2a682dfb551ca017ae5c3836ca9772c0af14215a7e76254f201c")
+
+ variant("opencv", default=False, description="Enable OpenCV support.")
+ variant("kaldi", default=False, description="Enable Kaldi support.")
+ variant("asgd", default=True, description="Enable DataParallelASGD powered by Multiverso.")
+ variant("1bitsgd", default=False, description="Enable 1bitsgd support.")
+ variant("cuda", default=False, description="Enable CUDA support.")
+ variant("debug", default=False, description="Debug build.")
+
+ depends_on("libzip")
+ depends_on("openblas")
+ depends_on("mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('protobuf@3.10')
+ depends_on("protobuf@3.10")
# CNTK depends on kaldi@c02e8.
# See https://github.com/Microsoft/CNTK/blob/master/Tools/docker/CNTK-CPUOnly-Image/Dockerfile#L105-L125
- depends_on('kaldi@2015-10-07', when='+kaldi')
- depends_on('opencv@:3+imgcodecs+imgproc', when='+opencv')
- depends_on('cuda', when='+cuda')
- depends_on('cub@1.4.1', when='+cuda')
- depends_on('cudnn@5.1', when='+cuda')
- depends_on('nccl', when='+cuda')
- depends_on('cntk1bitsgd@c8b77d', when='+1bitsgd')
- depends_on('multiverso@143187', when='+asgd')
+ depends_on("kaldi@2015-10-07", when="+kaldi")
+ depends_on("opencv@:3+imgcodecs+imgproc", when="+opencv")
+ depends_on("cuda", when="+cuda")
+ depends_on("cub@1.4.1", when="+cuda")
+ depends_on("cudnn@5.1", when="+cuda")
+ depends_on("nccl", when="+cuda")
+ depends_on("cntk1bitsgd@c8b77d", when="+1bitsgd")
+ depends_on("multiverso@143187", when="+asgd")
# Patch CNTN's build process to use libs installed outside CNTK source tree
# multiverso, kaldi, openfst
- patch('build.patch')
+ patch("build.patch")
# Patch to fix BLAS inconsistency between CNTK and KaldiReader
- patch('kaldireader-openblas.patch')
+ patch("kaldireader-openblas.patch")
# Patch to change behaviour of lock file - https://github.com/Microsoft/CNTK/issues/62
- patch('lock-file.patch')
+ patch("lock-file.patch")
# It seems that cntk, at least version 2.0, can not be built with GCC
# beyond 4.8.5.
- conflicts('%gcc@5:')
+ conflicts("%gcc@5:")
def patch(self):
- protobuf_path = os.path.split(self.spec['protobuf'].libs[0])
- protobuf_ld_flags = self.spec['protobuf'].libs.ld_flags
+ protobuf_path = os.path.split(self.spec["protobuf"].libs[0])
+ protobuf_ld_flags = self.spec["protobuf"].libs.ld_flags
- filter_file(r'(protobuf_check=)lib/libprotobuf\.a',
- r'\1{0}/{1}'.format(os.path.basename(protobuf_path[0]),
- protobuf_path[1]),
- 'configure')
- filter_file(r'\$\(PROTOBUF_PATH\)/lib/libprotobuf.a',
- protobuf_ld_flags,
- 'Makefile')
+ filter_file(
+ r"(protobuf_check=)lib/libprotobuf\.a",
+ r"\1{0}/{1}".format(os.path.basename(protobuf_path[0]), protobuf_path[1]),
+ "configure",
+ )
+ filter_file(r"\$\(PROTOBUF_PATH\)/lib/libprotobuf.a", protobuf_ld_flags, "Makefile")
def install(self, spec, prefix):
args = []
- args.append('--with-mpi=' + spec['mpi'].prefix)
- args.append('--with-openblas=' + spec['openblas'].prefix)
- args.append('--with-libzip=' + spec['libzip'].prefix)
- args.append('--with-boost=' + spec['boost'].prefix)
- args.append('--with-protobuf=' + spec['protobuf'].prefix)
+ args.append("--with-mpi=" + spec["mpi"].prefix)
+ args.append("--with-openblas=" + spec["openblas"].prefix)
+ args.append("--with-libzip=" + spec["libzip"].prefix)
+ args.append("--with-boost=" + spec["boost"].prefix)
+ args.append("--with-protobuf=" + spec["protobuf"].prefix)
- if '+debug' in spec:
- args.append('--with-buildtype=debug')
+ if "+debug" in spec:
+ args.append("--with-buildtype=debug")
else:
- args.append('--with-buildtype=release')
+ args.append("--with-buildtype=release")
- if '+1bitsgd' in spec:
- args.append('--1bitsgd=yes')
- args.append('--with-1bitsgd={0}/include'
- .format(spec['cntk1bitsgd'].prefix))
+ if "+1bitsgd" in spec:
+ args.append("--1bitsgd=yes")
+ args.append("--with-1bitsgd={0}/include".format(spec["cntk1bitsgd"].prefix))
- if '+asgd' in spec:
- args.append('--asgd=yes')
- args.append('--with-multiverso={0}'
- .format(spec['multiverso'].prefix))
+ if "+asgd" in spec:
+ args.append("--asgd=yes")
+ args.append("--with-multiverso={0}".format(spec["multiverso"].prefix))
else:
- args.append('--asgd=no')
-
- if '+opencv' in spec:
- args.append('--with-opencv=' + spec['opencv'].prefix)
-
- if '+kaldi' in spec:
- args.append('--with-kaldi=' + spec['kaldi'].prefix)
- args.append('--with-openfst=' + spec['openfst'].prefix)
-
- if '+cuda' in spec:
- args.append('--cuda=yes')
- args.append('--with-cuda={0}'.format(spec['cuda'].prefix))
- args.append('--with-cub={0}'
- .format(spec['cub'].prefix.include))
- args.append('--with-cudnn={0}'
- .format(spec['cudnn'].prefix))
- args.append('--with-nccl={0}'.format(spec['nccl'].prefix))
- args.append('--with-gdk-include={0}'
- .format(spec['cuda'].prefix.include))
- args.append('--with-gdk-nvml-lib={0}/stubs'
- .format(spec['cuda'].prefix.lib64))
+ args.append("--asgd=no")
+
+ if "+opencv" in spec:
+ args.append("--with-opencv=" + spec["opencv"].prefix)
+
+ if "+kaldi" in spec:
+ args.append("--with-kaldi=" + spec["kaldi"].prefix)
+ args.append("--with-openfst=" + spec["openfst"].prefix)
+
+ if "+cuda" in spec:
+ args.append("--cuda=yes")
+ args.append("--with-cuda={0}".format(spec["cuda"].prefix))
+ args.append("--with-cub={0}".format(spec["cub"].prefix.include))
+ args.append("--with-cudnn={0}".format(spec["cudnn"].prefix))
+ args.append("--with-nccl={0}".format(spec["nccl"].prefix))
+ args.append("--with-gdk-include={0}".format(spec["cuda"].prefix.include))
+ args.append("--with-gdk-nvml-lib={0}/stubs".format(spec["cuda"].prefix.lib64))
configure(*args)
make()
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('Examples', join_path(prefix, 'Examples'))
- install_tree('Tutorials', join_path(prefix, 'Tutorials'))
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("Examples", join_path(prefix, "Examples"))
+ install_tree("Tutorials", join_path(prefix, "Tutorials"))
diff --git a/var/spack/repos/builtin/packages/cntk1bitsgd/package.py b/var/spack/repos/builtin/packages/cntk1bitsgd/package.py
index dc3787de08..74e7d9da04 100644
--- a/var/spack/repos/builtin/packages/cntk1bitsgd/package.py
+++ b/var/spack/repos/builtin/packages/cntk1bitsgd/package.py
@@ -14,13 +14,13 @@ class Cntk1bitsgd(Package):
the Computational Network Toolkit (CNTK)."""
homepage = "https://github.com/CNTK-components/CNTK1bitSGD"
- git = "https://github.com/CNTK-components/CNTK1bitSGD.git"
+ git = "https://github.com/CNTK-components/CNTK1bitSGD.git"
- version('master')
- version('c8b77d', commit='c8b77d6e325a4786547b27624890276c1483aed1')
+ version("master")
+ version("c8b77d", commit="c8b77d6e325a4786547b27624890276c1483aed1")
def install(self, spec, prefix):
mkdirp(prefix.include)
- for file in listdir('.'):
- if file.endswith('.h'):
+ for file in listdir("."):
+ if file.endswith(".h"):
install(file, prefix.include)
diff --git a/var/spack/repos/builtin/packages/cnvnator/package.py b/var/spack/repos/builtin/packages/cnvnator/package.py
index 22311c2fa5..f9ce5de8ae 100644
--- a/var/spack/repos/builtin/packages/cnvnator/package.py
+++ b/var/spack/repos/builtin/packages/cnvnator/package.py
@@ -11,51 +11,54 @@ class Cnvnator(MakefilePackage):
from depth-of-coverage by mapped reads."""
homepage = "https://github.com/abyzovlab/CNVnator"
- url = "https://github.com/abyzovlab/CNVnator/archive/v0.3.3.tar.gz"
+ url = "https://github.com/abyzovlab/CNVnator/archive/v0.3.3.tar.gz"
- version('0.3.3', sha256='58c5acf61f9a1e5febf546c196f8917a5e084b729e5c4cfd3eba83471b3fe5c1')
+ version("0.3.3", sha256="58c5acf61f9a1e5febf546c196f8917a5e084b729e5c4cfd3eba83471b3fe5c1")
- depends_on('samtools@:1.13')
- depends_on('htslib')
- depends_on('root')
- depends_on('bzip2')
- depends_on('curl')
- depends_on('xz')
- depends_on('zlib')
- depends_on('libdeflate')
- depends_on('openssl')
+ depends_on("samtools@:1.13")
+ depends_on("htslib")
+ depends_on("root")
+ depends_on("bzip2")
+ depends_on("curl")
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("libdeflate")
+ depends_on("openssl")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
# Replace -fopenmp with self.compiler.openmp_flag
- makefile.filter('-fopenmp', self.compiler.openmp_flag)
+ makefile.filter("-fopenmp", self.compiler.openmp_flag)
# Replace CXX with CXXFLAGS
- makefile.filter('CXX.*=.*',
- r'CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\"'
- ' $(OMPFLAGS)'
- ' {0}'.format(self.compiler.cxx11_flag))
- makefile.filter('$(CXX)', '$(CXX) $(CXXFLAGS)', string=True)
+ makefile.filter(
+ "CXX.*=.*",
+ r"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\""
+ " $(OMPFLAGS)"
+ " {0}".format(self.compiler.cxx11_flag),
+ )
+ makefile.filter("$(CXX)", "$(CXX) $(CXXFLAGS)", string=True)
# Replace -I$(SAMDIR) with -I$(SAMINC)
- makefile.filter('-I$(SAMDIR)', '-I$(SAMINC)', string=True)
+ makefile.filter("-I$(SAMDIR)", "-I$(SAMINC)", string=True)
# Link more libs
ldflags = [
- spec['zlib'].libs.ld_flags,
- spec['bzip2'].libs.ld_flags,
- spec['curl'].libs.ld_flags,
- spec['xz'].libs.ld_flags,
- spec['libdeflate'].libs.ld_flags,
- spec['openssl'].libs.ld_flags,
+ spec["zlib"].libs.ld_flags,
+ spec["bzip2"].libs.ld_flags,
+ spec["curl"].libs.ld_flags,
+ spec["xz"].libs.ld_flags,
+ spec["libdeflate"].libs.ld_flags,
+ spec["openssl"].libs.ld_flags,
]
- makefile.filter('^override LIBS.*',
- 'override LIBS += {0}'.format(' '.join(ldflags)))
+ makefile.filter("^override LIBS.*", "override LIBS += {0}".format(" ".join(ldflags)))
def build(self, spec, prefix):
- make('ROOTSYS={0}'.format(spec['root'].prefix),
- 'SAMINC={0}'.format(spec['samtools'].prefix.include),
- 'SAMDIR={0}'.format(spec['samtools'].prefix.lib),
- 'HTSDIR={0}'.format(spec['htslib'].prefix.lib))
+ make(
+ "ROOTSYS={0}".format(spec["root"].prefix),
+ "SAMINC={0}".format(spec["samtools"].prefix.include),
+ "SAMDIR={0}".format(spec["samtools"].prefix.lib),
+ "HTSDIR={0}".format(spec["htslib"].prefix.lib),
+ )
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('cnvnator', prefix.bin)
+ install("cnvnator", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/codar-cheetah/package.py b/var/spack/repos/builtin/packages/codar-cheetah/package.py
index b5a044cba9..bc8acb6845 100644
--- a/var/spack/repos/builtin/packages/codar-cheetah/package.py
+++ b/var/spack/repos/builtin/packages/codar-cheetah/package.py
@@ -11,16 +11,16 @@ class CodarCheetah(PythonPackage):
The CODAR Experiment Harness for Exascale science applications.
"""
- maintainers = ['kshitij-v-mehta']
+ maintainers = ["kshitij-v-mehta"]
homepage = "https://github.com/CODARcode/cheetah"
- url = "https://github.com/CODARcode/cheetah/archive/v1.1.0.tar.gz"
- git = "https://github.com/CODARcode/cheetah.git"
+ url = "https://github.com/CODARcode/cheetah/archive/v1.1.0.tar.gz"
+ git = "https://github.com/CODARcode/cheetah.git"
- version('develop', branch='dev')
- version('1.1.0', sha256='519a47e4fc5b124b443839fde10b8b72120ab768398628df43e0b570a266434c')
- version('1.0.0', sha256='1f935fbc1475a654f3b6d2140d8b2a6079a65c8701655e544ba1fab3a7c1bc19')
- version('0.5', sha256='f37a554741eff4bb8407a68f799dd042dfc4df525e84896cad70fccbd6aca6ee')
+ version("develop", branch="dev")
+ version("1.1.0", sha256="519a47e4fc5b124b443839fde10b8b72120ab768398628df43e0b570a266434c")
+ version("1.0.0", sha256="1f935fbc1475a654f3b6d2140d8b2a6079a65c8701655e544ba1fab3a7c1bc19")
+ version("0.5", sha256="f37a554741eff4bb8407a68f799dd042dfc4df525e84896cad70fccbd6aca6ee")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/code-server/package.py b/var/spack/repos/builtin/packages/code-server/package.py
index ad541017f5..0dd3c6134d 100644
--- a/var/spack/repos/builtin/packages/code-server/package.py
+++ b/var/spack/repos/builtin/packages/code-server/package.py
@@ -11,53 +11,57 @@ class CodeServer(Package):
accessible through the browser."""
homepage = "https://coder.com/docs/code-server/latest"
- url = "https://github.com/coder/code-server/releases/download/v4.4.0/code-server-4.4.0-linux-amd64.tar.gz"
-
- version('4.4.0', sha256='e3dd265acb18c2230c72d19bbce619ac5c1bd800ebb26e5e169c4d613069500d')
- version('4.3.0', sha256='42c71e98de85270b164b023ef8eb0692cf7700c03081ba5a44eaca014a92eb57')
- version('4.2.0', sha256='98be5bc43ac604c49ae11da259e318b581757a59a25edeee5cf55317ca589ec6')
- version('4.1.0', sha256='f720b20d1f615b78f3a1be9b1614f3d99ed722b8da3047a4143dbe5835e52ce3')
- version('4.0.2', sha256='68c11afa3288707a6880920013d8bac7404cd590eb4f63cac92979d0b0bf4fd1')
- version('4.0.1', sha256='5fe6d26e9d19e685946f0f392d9c822e5303a800cac3ac54a6a2c26104d239fd')
- version('3.12.0', sha256='d3ca41a55e36d73d80300702af2687e25d440cff6b613bb58a2c88d9b8a0a38f')
- version('3.11.1', sha256='d34b0b79582196d59d44ac971aabb7f15cb05d837318b94f62470dc8475665e9')
- version('3.11.0', sha256='dddb97f044ed615a4b8a526328fca6ad703b9c671a28a6090d84668a18755589')
- version('3.10.2', sha256='47154a6b9e61a0313ba499dd5d948613a17841c2f580612f9721c31964622bf5')
- version('3.10.1', sha256='18175624df78976488dbcc2a26f2582a71cef5ca0a419e691b1b70da0b27c7ef')
- version('3.10.0', sha256='5dfce848747f3dd5074cba435cca6730ac99d6d3aa3f50e0a9bf222ad12d3e97')
- version('3.9.3', sha256='eba42eaf868c2144795b1ac54929e3b252ae35403bf8553b3412a5ac4f365a41')
- version('3.9.2', sha256='5dbda5ac598223006f72bcb700b133a752aabe4468ed8105806d1d69b5364408')
- version('3.9.1', sha256='f2648a4387c5a5be8666fb82a7b8a58274c45b91942251ab337e202e078ae8a5')
- version('3.9.0', sha256='229b0fb95d78a7f7ff0dd55bc151a7521fcd699af50151faf67f6c7ce51110f4')
- version('3.8.1', sha256='130cf94e3921d0e2adfa33e875bf1aa81fd28548aac94fd31fbc589baa68d45f')
- version('3.8.0', sha256='70b069f26b30c38cca5fa07b5f25db4d15976de80af3a644b9105d1b5e23e7d5')
- version('3.7.4', sha256='01ca0e48df44df70cdf702644b013102024a5b30edf6c1fbb2e10b0310056382')
- version('3.7.3', sha256='7a90f3171c9bc6f65266066e35cc34d48a032910c136ea21116d28f3d7214547')
- version('3.7.2', sha256='c3054f214392b1b2eb4c77c57cb950ac5d733d349a426975e8bf32028e65a226')
- version('3.7.1', sha256='bebd9e0c46e0fd4b4f295fd91fc2db135a694614db972095e9842bf7969f4cee')
- version('3.7.0', sha256='5f8df8ed3924e8e594674d73fb50b00a06efa529f96a0495a5ee8c39c68f3ce1')
- version('3.6.2', sha256='fd4ac7d61f3e1b2a5034f1706e409c77fad299adef0ede204828d8ecfe317e45')
- version('3.6.1', sha256='bbe4ef9585e093b3521deb34a0820d2136172271862d6396df21c2e9a26c6374')
- version('3.6.0', sha256='d1ae4f7263741e0551358d3ed77dad587b33b352d827623d4df25e98f9e21019')
- version('3.5.0', sha256='90c19c84611becac4af1fb0bd5324ab30f9200769fa7914cd10ccb6b88c657bb')
- version('3.4.1', sha256='afdb89f4dc7201c03cb35d4f8dc1ccb6060bd0da324a6789089de264d3406817')
- version('3.4.0', sha256='918c28696b73b96dc9361977f93e788d5c8884b5d4a088d206f05d5b8bccb738')
- version('3.3.1', sha256='57b9855b20f511e22776ee8a53d1ff30f864498814c4c0b0af3510f71d7a2969')
- version('3.3.0', sha256='6ca5148a447b41753d5151c5a49a8af24122c7b0808609782aec454e66be4f2c')
- version('3.2.0', sha256='a8157e8766d6a0e255c72db25e8677a57adb8d889d653e78750b4d26a6ff7400')
- version('3.1.1', sha256='5dd922d28b2e351c146081849d987fb1e439ee7d53b941434b2eecb2a194da71')
- version('3.1.0', sha256='5ef85c8f280ce781a176a8b77386b333efe892755a5c325a1782e4eac6016e59')
- version('3.0.2', sha256='04367cfeb23991f3dc3f1ef8e3dfe5e9d683bb50c9e1fa69e3c21757facfd7ee')
+ url = "https://github.com/coder/code-server/releases/download/v4.4.0/code-server-4.4.0-linux-amd64.tar.gz"
+
+ version("4.4.0", sha256="e3dd265acb18c2230c72d19bbce619ac5c1bd800ebb26e5e169c4d613069500d")
+ version("4.3.0", sha256="42c71e98de85270b164b023ef8eb0692cf7700c03081ba5a44eaca014a92eb57")
+ version("4.2.0", sha256="98be5bc43ac604c49ae11da259e318b581757a59a25edeee5cf55317ca589ec6")
+ version("4.1.0", sha256="f720b20d1f615b78f3a1be9b1614f3d99ed722b8da3047a4143dbe5835e52ce3")
+ version("4.0.2", sha256="68c11afa3288707a6880920013d8bac7404cd590eb4f63cac92979d0b0bf4fd1")
+ version("4.0.1", sha256="5fe6d26e9d19e685946f0f392d9c822e5303a800cac3ac54a6a2c26104d239fd")
+ version("3.12.0", sha256="d3ca41a55e36d73d80300702af2687e25d440cff6b613bb58a2c88d9b8a0a38f")
+ version("3.11.1", sha256="d34b0b79582196d59d44ac971aabb7f15cb05d837318b94f62470dc8475665e9")
+ version("3.11.0", sha256="dddb97f044ed615a4b8a526328fca6ad703b9c671a28a6090d84668a18755589")
+ version("3.10.2", sha256="47154a6b9e61a0313ba499dd5d948613a17841c2f580612f9721c31964622bf5")
+ version("3.10.1", sha256="18175624df78976488dbcc2a26f2582a71cef5ca0a419e691b1b70da0b27c7ef")
+ version("3.10.0", sha256="5dfce848747f3dd5074cba435cca6730ac99d6d3aa3f50e0a9bf222ad12d3e97")
+ version("3.9.3", sha256="eba42eaf868c2144795b1ac54929e3b252ae35403bf8553b3412a5ac4f365a41")
+ version("3.9.2", sha256="5dbda5ac598223006f72bcb700b133a752aabe4468ed8105806d1d69b5364408")
+ version("3.9.1", sha256="f2648a4387c5a5be8666fb82a7b8a58274c45b91942251ab337e202e078ae8a5")
+ version("3.9.0", sha256="229b0fb95d78a7f7ff0dd55bc151a7521fcd699af50151faf67f6c7ce51110f4")
+ version("3.8.1", sha256="130cf94e3921d0e2adfa33e875bf1aa81fd28548aac94fd31fbc589baa68d45f")
+ version("3.8.0", sha256="70b069f26b30c38cca5fa07b5f25db4d15976de80af3a644b9105d1b5e23e7d5")
+ version("3.7.4", sha256="01ca0e48df44df70cdf702644b013102024a5b30edf6c1fbb2e10b0310056382")
+ version("3.7.3", sha256="7a90f3171c9bc6f65266066e35cc34d48a032910c136ea21116d28f3d7214547")
+ version("3.7.2", sha256="c3054f214392b1b2eb4c77c57cb950ac5d733d349a426975e8bf32028e65a226")
+ version("3.7.1", sha256="bebd9e0c46e0fd4b4f295fd91fc2db135a694614db972095e9842bf7969f4cee")
+ version("3.7.0", sha256="5f8df8ed3924e8e594674d73fb50b00a06efa529f96a0495a5ee8c39c68f3ce1")
+ version("3.6.2", sha256="fd4ac7d61f3e1b2a5034f1706e409c77fad299adef0ede204828d8ecfe317e45")
+ version("3.6.1", sha256="bbe4ef9585e093b3521deb34a0820d2136172271862d6396df21c2e9a26c6374")
+ version("3.6.0", sha256="d1ae4f7263741e0551358d3ed77dad587b33b352d827623d4df25e98f9e21019")
+ version("3.5.0", sha256="90c19c84611becac4af1fb0bd5324ab30f9200769fa7914cd10ccb6b88c657bb")
+ version("3.4.1", sha256="afdb89f4dc7201c03cb35d4f8dc1ccb6060bd0da324a6789089de264d3406817")
+ version("3.4.0", sha256="918c28696b73b96dc9361977f93e788d5c8884b5d4a088d206f05d5b8bccb738")
+ version("3.3.1", sha256="57b9855b20f511e22776ee8a53d1ff30f864498814c4c0b0af3510f71d7a2969")
+ version("3.3.0", sha256="6ca5148a447b41753d5151c5a49a8af24122c7b0808609782aec454e66be4f2c")
+ version("3.2.0", sha256="a8157e8766d6a0e255c72db25e8677a57adb8d889d653e78750b4d26a6ff7400")
+ version("3.1.1", sha256="5dd922d28b2e351c146081849d987fb1e439ee7d53b941434b2eecb2a194da71")
+ version("3.1.0", sha256="5ef85c8f280ce781a176a8b77386b333efe892755a5c325a1782e4eac6016e59")
+ version("3.0.2", sha256="04367cfeb23991f3dc3f1ef8e3dfe5e9d683bb50c9e1fa69e3c21757facfd7ee")
def url_for_version(self, version):
- if version <= Version('3.2.0'):
- return "https://github.com/coder/code-server/releases/download/{0}/code-server-{0}-linux-x86_64.tar.gz".format(version)
+ if version <= Version("3.2.0"):
+ return "https://github.com/coder/code-server/releases/download/{0}/code-server-{0}-linux-x86_64.tar.gz".format(
+ version
+ )
else:
- return "https://github.com/coder/code-server/releases/download/v{0}/code-server-{0}-linux-amd64.tar.gz".format(version)
+ return "https://github.com/coder/code-server/releases/download/v{0}/code-server-{0}-linux-amd64.tar.gz".format(
+ version
+ )
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
- if spec.version <= Version('3.1.1'):
+ if spec.version <= Version("3.1.1"):
mkdir(prefix.bin)
- symlink('{0}/code-server'.format(prefix), prefix.bin)
+ symlink("{0}/code-server".format(prefix), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/codec2/package.py b/var/spack/repos/builtin/packages/codec2/package.py
index 04017392bc..1256d452db 100644
--- a/var/spack/repos/builtin/packages/codec2/package.py
+++ b/var/spack/repos/builtin/packages/codec2/package.py
@@ -12,6 +12,6 @@ class Codec2(CMakePackage):
HF/VHF digital radio."""
homepage = "https://www.rowetel.com/?page_id=452"
- url = "https://github.com/drowe67/codec2/archive/v0.9.2.tar.gz"
+ url = "https://github.com/drowe67/codec2/archive/v0.9.2.tar.gz"
- version('0.9.2', sha256='19181a446f4df3e6d616b50cabdac4485abb9cd3242cf312a0785f892ed4c76c')
+ version("0.9.2", sha256="19181a446f4df3e6d616b50cabdac4485abb9cd3242cf312a0785f892ed4c76c")
diff --git a/var/spack/repos/builtin/packages/codes/package.py b/var/spack/repos/builtin/packages/codes/package.py
index 0214ea62fb..9120fcf2de 100644
--- a/var/spack/repos/builtin/packages/codes/package.py
+++ b/var/spack/repos/builtin/packages/codes/package.py
@@ -7,46 +7,45 @@ from spack.package import *
class Codes(AutotoolsPackage):
- """ CO-Design of multi-layer Exascale Storage (CODES) simulation framework
- """
+ """CO-Design of multi-layer Exascale Storage (CODES) simulation framework"""
homepage = "https://www.mcs.anl.gov/projects/codes"
- git = "https://xgitlab.cels.anl.gov/codes/codes.git"
+ git = "https://xgitlab.cels.anl.gov/codes/codes.git"
- version('develop', branch='master')
- version('1.1.0', tag='1.1.0')
- version('1.0.0', tag='1.0.0')
+ version("develop", branch="master")
+ version("1.1.0", tag="1.1.0")
+ version("1.0.0", tag="1.0.0")
- variant('dumpi', default=False, description="Enable DUMPI support")
+ variant("dumpi", default=False, description="Enable DUMPI support")
# Build dependencies
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
-
- depends_on('mpi')
- depends_on('ross')
- depends_on('sst-dumpi', when="+dumpi")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+
+ depends_on("mpi")
+ depends_on("ross")
+ depends_on("sst-dumpi", when="+dumpi")
# add the local m4 directory to the search path
autoreconf_extra_args = ["-Im4"]
# Testing if srcdir is '.' in configure.ac does not work with spack
- patch('codes-1.0.0.patch')
+ patch("codes-1.0.0.patch")
def configure_args(self):
spec = self.spec
config_args = [
- "CC=%s" % spec['mpi'].mpicc,
- "CXX=%s" % spec['mpi'].mpicxx,
- "PKG_CONFIG_PATH=%s/pkgconfig" % spec['ross'].prefix.lib]
+ "CC=%s" % spec["mpi"].mpicc,
+ "CXX=%s" % spec["mpi"].mpicxx,
+ "PKG_CONFIG_PATH=%s/pkgconfig" % spec["ross"].prefix.lib,
+ ]
if "+dumpi" in spec:
- config_args.extend([
- '--with-dumpi=%s' % spec['sst-dumpi'].prefix])
+ config_args.extend(["--with-dumpi=%s" % spec["sst-dumpi"].prefix])
return config_args
diff --git a/var/spack/repos/builtin/packages/coevp/package.py b/var/spack/repos/builtin/packages/coevp/package.py
index ba0b56fe16..858c73b6e9 100644
--- a/var/spack/repos/builtin/packages/coevp/package.py
+++ b/var/spack/repos/builtin/packages/coevp/package.py
@@ -19,59 +19,60 @@ class Coevp(MakefilePackage):
application provides the coarse-scale model implementation and the ASPA
proxy application provides the adaptive sampling support."""
- homepage = 'https://github.com/exmatex/CoEVP'
- git = 'https://github.com/exmatex/CoEVP.git'
+ homepage = "https://github.com/exmatex/CoEVP"
+ git = "https://github.com/exmatex/CoEVP.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- variant('mpi', default=True, description='Build with MPI Support')
- variant('silo', default=False, description='Build with silo Support')
- variant('flann', default=False, description='Build with flann Support')
+ variant("mpi", default=True, description="Build with MPI Support")
+ variant("silo", default=False, description="Build with silo Support")
+ variant("flann", default=False, description="Build with flann Support")
- depends_on('mpi', when='+mpi')
- depends_on('silo', when='+silo')
- depends_on('flann@1.8.1', when='+flann')
- depends_on('lapack')
+ depends_on("mpi", when="+mpi")
+ depends_on("silo", when="+silo")
+ depends_on("flann@1.8.1", when="+flann")
+ depends_on("lapack")
- tags = ['proxy-app']
+ tags = ["proxy-app"]
@property
def build_targets(self):
targets = []
- if '+mpi' in self.spec:
- targets.append('COEVP_MPI=yes')
+ if "+mpi" in self.spec:
+ targets.append("COEVP_MPI=yes")
else:
- targets.append('COEVP_MPI=no')
- if '+flann' in self.spec:
- targets.append('FLANN=yes')
- targets.append('FLANN_TARGET=')
- targets.append('FLANN_LOC={0}'.format(
- join_path(self.spec['flann'].prefix.include, 'flann')))
+ targets.append("COEVP_MPI=no")
+ if "+flann" in self.spec:
+ targets.append("FLANN=yes")
+ targets.append("FLANN_TARGET=")
+ targets.append(
+ "FLANN_LOC={0}".format(join_path(self.spec["flann"].prefix.include, "flann"))
+ )
else:
- targets.append('FLANN=no')
- targets.append('REDIS=no')
- if '+silo' in self.spec:
- targets.append('SILO=yes')
- targets.append('SILO_TARGET=')
- targets.append('SILO_LOC={0}'.format(self.spec['silo'].prefix))
+ targets.append("FLANN=no")
+ targets.append("REDIS=no")
+ if "+silo" in self.spec:
+ targets.append("SILO=yes")
+ targets.append("SILO_TARGET=")
+ targets.append("SILO_LOC={0}".format(self.spec["silo"].prefix))
else:
- targets.append('SILO=no')
- targets.append('TWEMPROXY=no')
- targets.append('LAPACK=%s' % self.spec['lapack'].libs.ld_flags)
+ targets.append("SILO=no")
+ targets.append("TWEMPROXY=no")
+ targets.append("LAPACK=%s" % self.spec["lapack"].libs.ld_flags)
return targets
def edit(self, spec, prefix):
# libquadmath is only available x86_64 and powerle
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85440
- if self.spec.target.family not in ['x86_64', 'ppc64le']:
- comps = join_path('LULESH', 'Makefile')
- filter_file('-lquadmath', '', comps)
+ if self.spec.target.family not in ["x86_64", "ppc64le"]:
+ comps = join_path("LULESH", "Makefile")
+ filter_file("-lquadmath", "", comps)
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.doc)
- install('LULESH/lulesh', prefix.bin)
- install('COPYRIGHT', prefix.doc)
- install('README.md', prefix.doc)
- install('CoEVP.pdf', prefix.doc)
+ install("LULESH/lulesh", prefix.bin)
+ install("COPYRIGHT", prefix.doc)
+ install("README.md", prefix.doc)
+ install("CoEVP.pdf", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/cohmm/package.py b/var/spack/repos/builtin/packages/cohmm/package.py
index 52b76282e9..a88a664fc9 100644
--- a/var/spack/repos/builtin/packages/cohmm/package.py
+++ b/var/spack/repos/builtin/packages/cohmm/package.py
@@ -9,32 +9,33 @@ from spack.package import *
class Cohmm(MakefilePackage):
"""An anticipated important use-case for next-generation supercomputing
- is multiscale modeling, in which continuum equations for large-scale
- material deformation are augmented with high-fidelity, fine-scale
- simulations that provide constitutive data on demand.
+ is multiscale modeling, in which continuum equations for large-scale
+ material deformation are augmented with high-fidelity, fine-scale
+ simulations that provide constitutive data on demand.
"""
- tags = ['proxy-app']
+
+ tags = ["proxy-app"]
homepage = "http://www.exmatex.org/cohmm.html"
- git = "https://github.com/exmatex/CoHMM.git"
+ git = "https://github.com/exmatex/CoHMM.git"
- version('develop', branch='sad')
+ version("develop", branch="sad")
- variant('openmp', default=True, description='Build with OpenMP Support')
- variant('gnuplot', default=False, description='Enable gnu plot Support')
- depends_on('gnuplot', when='+gnuplot')
+ variant("openmp", default=True, description="Build with OpenMP Support")
+ variant("gnuplot", default=False, description="Enable gnu plot Support")
+ depends_on("gnuplot", when="+gnuplot")
def edit(self, spec, prefix):
- if '+openmp' in spec:
- filter_file('DO_OPENMP = O.*', 'DO_OPENMP = ON', 'Makefile')
- if '+gnuplot' in spec:
- filter_file('DO_GNUPLOT = O.*', 'DO_GNUPLOT = ON', 'Makefile')
+ if "+openmp" in spec:
+ filter_file("DO_OPENMP = O.*", "DO_OPENMP = ON", "Makefile")
+ if "+gnuplot" in spec:
+ filter_file("DO_GNUPLOT = O.*", "DO_GNUPLOT = ON", "Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.input)
mkdirp(prefix.doc)
- install('cohmm', prefix.bin)
- install('README.md', prefix.doc)
- install('LICENSE.md', prefix.doc)
- install('input/*.*', prefix.input)
+ install("cohmm", prefix.bin)
+ install("README.md", prefix.doc)
+ install("LICENSE.md", prefix.doc)
+ install("input/*.*", prefix.input)
diff --git a/var/spack/repos/builtin/packages/coin3d/package.py b/var/spack/repos/builtin/packages/coin3d/package.py
index 4685aa851c..8248342549 100644
--- a/var/spack/repos/builtin/packages/coin3d/package.py
+++ b/var/spack/repos/builtin/packages/coin3d/package.py
@@ -9,49 +9,49 @@ from spack.pkg.builtin.boost import Boost
class Coin3d(AutotoolsPackage):
"""Coin is an OpenGL-based, 3D graphics library that has its roots in the
- Open Inventor 2.1 API, which Coin still is compatible with."""
+ Open Inventor 2.1 API, which Coin still is compatible with."""
homepage = "https://github.com/coin3d/coin"
- url = "https://github.com/coin3d/coin/archive/Coin-4.0.0.tar.gz"
+ url = "https://github.com/coin3d/coin/archive/Coin-4.0.0.tar.gz"
- version('3.1.0', sha256='70dd5ef39406e1d9e05eeadd54a5b51884a143e127530876a97744ca54173dc3')
- version('3.0.0', sha256='d5c2eb0ecaa5c83d93daf0e9e275e58a6a8dfadc74c873d51b0c939011f81bfa')
- version('2.0.0', sha256='6d26435aa962d085b7accd306a0b478069a7de1bc5ca24e22344971852dd097c')
+ version("3.1.0", sha256="70dd5ef39406e1d9e05eeadd54a5b51884a143e127530876a97744ca54173dc3")
+ version("3.0.0", sha256="d5c2eb0ecaa5c83d93daf0e9e275e58a6a8dfadc74c873d51b0c939011f81bfa")
+ version("2.0.0", sha256="6d26435aa962d085b7accd306a0b478069a7de1bc5ca24e22344971852dd097c")
- depends_on('boost@1.45.0:', type='build')
+ depends_on("boost@1.45.0:", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='build')
- depends_on('doxygen', when='+html', type='build')
- depends_on('perl', when='+html', type='build')
- depends_on('glu', type='link')
- depends_on('gl', type='link')
- depends_on('libsm', type='link')
- depends_on('libxext', type='link')
- depends_on('libice', type='link')
- depends_on('uuid', type='link')
- depends_on('libxcb', type='link')
- depends_on('libxau', type='link')
-
- variant('html', default=False, description='Build and install Coin HTML documentation')
- variant('man', default=False, description='Build and install Coin man pages')
-
- variant('framework', default=False, description="Do 'UNIX-style' installation on Mac OS X")
- variant('shared', default=True, description='Build shared library (off: build static library)')
- variant('debug', default=False, description='Make debug build')
- variant('symbols', default=False, description='Enable debug symbols')
+ depends_on(Boost.with_default_variants, type="build")
+ depends_on("doxygen", when="+html", type="build")
+ depends_on("perl", when="+html", type="build")
+ depends_on("glu", type="link")
+ depends_on("gl", type="link")
+ depends_on("libsm", type="link")
+ depends_on("libxext", type="link")
+ depends_on("libice", type="link")
+ depends_on("uuid", type="link")
+ depends_on("libxcb", type="link")
+ depends_on("libxau", type="link")
+
+ variant("html", default=False, description="Build and install Coin HTML documentation")
+ variant("man", default=False, description="Build and install Coin man pages")
+
+ variant("framework", default=False, description="Do 'UNIX-style' installation on Mac OS X")
+ variant("shared", default=True, description="Build shared library (off: build static library)")
+ variant("debug", default=False, description="Make debug build")
+ variant("symbols", default=False, description="Enable debug symbols")
def configure_args(self):
args = []
- args += self.enable_or_disable('framework')
- args += self.enable_or_disable('shared')
- args += self.enable_or_disable('html')
- args += self.enable_or_disable('man')
- args += self.enable_or_disable('symbols')
- args += self.enable_or_disable('debug')
- args.append("--with-boost=" + self.spec['boost'].prefix)
- args.append("--with-boost-libdir=" + self.spec['boost'].prefix.lib)
+ args += self.enable_or_disable("framework")
+ args += self.enable_or_disable("shared")
+ args += self.enable_or_disable("html")
+ args += self.enable_or_disable("man")
+ args += self.enable_or_disable("symbols")
+ args += self.enable_or_disable("debug")
+ args.append("--with-boost=" + self.spec["boost"].prefix)
+ args.append("--with-boost-libdir=" + self.spec["boost"].prefix.lib)
return args
diff --git a/var/spack/repos/builtin/packages/coinhsl/package.py b/var/spack/repos/builtin/packages/coinhsl/package.py
index f6ac234bf1..49145e56b0 100644
--- a/var/spack/repos/builtin/packages/coinhsl/package.py
+++ b/var/spack/repos/builtin/packages/coinhsl/package.py
@@ -34,38 +34,47 @@ class Coinhsl(AutotoolsPackage):
# version available via an "academic license" that can be used for
# personal teaching and research purposes only. For a full list of
# conditions, see https://www.hsl.rl.ac.uk/academic.html.
- version('2019.05.21', sha256='95ce1160f0b013151a3e25d40337775c760a8f3a79d801a1d190598bf4e4c0c3')
+ version(
+ "2019.05.21", sha256="95ce1160f0b013151a3e25d40337775c760a8f3a79d801a1d190598bf4e4c0c3"
+ )
# Version 2015.06.23 is a full-featured "stable"
# version available via an "academic license" that can be used for
# personal teaching and research purposes only. For a full list of
# conditions, see https://www.hsl.rl.ac.uk/academic.html.
- version('2015.06.23', sha256='3e955a2072f669b8f357ae746531b37aea921552e415dc219a5dd13577575fb3',
- preferred=True)
+ version(
+ "2015.06.23",
+ sha256="3e955a2072f669b8f357ae746531b37aea921552e415dc219a5dd13577575fb3",
+ preferred=True,
+ )
# Version 2014.01.17 is a full-featured "stable" version available
# via an "academic license" that can be used for personal teaching
# and research purposes only.
- version('2014.01.17', sha256='ed49fea62692c5d2f928d4007988930da9ff9a2e944e4c559d028671d122437b')
+ version(
+ "2014.01.17", sha256="ed49fea62692c5d2f928d4007988930da9ff9a2e944e4c559d028671d122437b"
+ )
# Version 2014.01.10 only has MA27, MA28, and MC19, and is
# available as a "personal license" that is free to all, and
# permits commercial use, but *not redistribution* (emphasis from
# original source).
- version('2014.01.10', sha256='7c2be60a3913b406904c66ee83acdbd0709f229b652c4e39ee5d0876f6b2e907')
+ version(
+ "2014.01.10", sha256="7c2be60a3913b406904c66ee83acdbd0709f229b652c4e39ee5d0876f6b2e907"
+ )
# CoinHSL fails to build in parallel
parallel = False
- variant('blas', default=False, description='Link to external BLAS library')
+ variant("blas", default=False, description="Link to external BLAS library")
- depends_on('blas', when='+blas')
+ depends_on("blas", when="+blas")
def configure_args(self):
spec = self.spec
args = []
- if spec.satisfies('+blas'):
- args.append('--with-blas={0}'.format(spec['blas'].libs.ld_flags))
+ if spec.satisfies("+blas"):
+ args.append("--with-blas={0}".format(spec["blas"].libs.ld_flags))
return args
diff --git a/var/spack/repos/builtin/packages/coinutils/package.py b/var/spack/repos/builtin/packages/coinutils/package.py
index c9c8a91e9f..6b4f75a378 100644
--- a/var/spack/repos/builtin/packages/coinutils/package.py
+++ b/var/spack/repos/builtin/packages/coinutils/package.py
@@ -12,8 +12,8 @@ class Coinutils(AutotoolsPackage):
projects."""
homepage = "https://projects.coin-or.org/Coinutils"
- url = "https://github.com/coin-or/CoinUtils/archive/releases/2.11.4.tar.gz"
+ url = "https://github.com/coin-or/CoinUtils/archive/releases/2.11.4.tar.gz"
- version('2.11.4', sha256='d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81')
+ version("2.11.4", sha256="d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/collectd/package.py b/var/spack/repos/builtin/packages/collectd/package.py
index e81511dff5..1fda5bd543 100644
--- a/var/spack/repos/builtin/packages/collectd/package.py
+++ b/var/spack/repos/builtin/packages/collectd/package.py
@@ -10,10 +10,10 @@ class Collectd(AutotoolsPackage):
"""The system statistics collection daemon."""
homepage = "https://collectd.org/"
- url = "https://github.com/collectd/collectd/releases/download/collectd-5.11.0/collectd-5.11.0.tar.bz2"
+ url = "https://github.com/collectd/collectd/releases/download/collectd-5.11.0/collectd-5.11.0.tar.bz2"
- version('5.12.0', sha256='5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6')
- version('5.11.0', sha256='37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2')
- version('5.10.0', sha256='a03359f563023e744c2dc743008a00a848f4cd506e072621d86b6d8313c0375b')
+ version("5.12.0", sha256="5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6")
+ version("5.11.0", sha256="37b10a806e34aa8570c1cafa6006c604796fae13cc2e1b3e630d33dcba9e5db2")
+ version("5.10.0", sha256="a03359f563023e744c2dc743008a00a848f4cd506e072621d86b6d8313c0375b")
- depends_on('valgrind', type='test')
+ depends_on("valgrind", type="test")
diff --git a/var/spack/repos/builtin/packages/collier/package.py b/var/spack/repos/builtin/packages/collier/package.py
index 4050b63543..665c87ac82 100644
--- a/var/spack/repos/builtin/packages/collier/package.py
+++ b/var/spack/repos/builtin/packages/collier/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class Collier(CMakePackage):
"""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. """
+ 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"
+ url = "https://collier.hepforge.org/downloads/?f=collier-1.2.5.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.2.5', sha256='3ec58a975ff0c3b1ca870bc38973476c923ff78fd3dd5850e296037852b94a8b')
- version('1.2.4', sha256='92ae8f61461b232fbd47a6d8e832e1a726d504f9390b7edc49a68fceedff8857')
- version('1.2.3', sha256='e6f72df223654df59113b0067a4bebe9f8c20227bb81371d3193e1557bdf56fb')
- version('1.2.2', sha256='140029e36635565262719124dcda2fa7d66fd468442cb268f6da16d4cbbab29a')
- version('1.2.1', sha256='7f5bc81a00de071e2451ba3e11cad726df0ae18bd973dba4aeba165897d48c2d')
- version('1.2.0', sha256='e5b2def953d7f9f4f2cacd4616aa65c77e2b9adf7eed2ca3531b993e529fbafd')
- version('1.1', sha256='80fd54e2c30029d3d7d646738ae9469ad3a6f5ea7aa1179b951030df048e36bc')
- version('1.0', sha256='54f40c1ed07a6829230af400abfe48791e74e56eac2709c0947cec3410a4473d')
+ version("1.2.5", sha256="3ec58a975ff0c3b1ca870bc38973476c923ff78fd3dd5850e296037852b94a8b")
+ version("1.2.4", sha256="92ae8f61461b232fbd47a6d8e832e1a726d504f9390b7edc49a68fceedff8857")
+ version("1.2.3", sha256="e6f72df223654df59113b0067a4bebe9f8c20227bb81371d3193e1557bdf56fb")
+ version("1.2.2", sha256="140029e36635565262719124dcda2fa7d66fd468442cb268f6da16d4cbbab29a")
+ version("1.2.1", sha256="7f5bc81a00de071e2451ba3e11cad726df0ae18bd973dba4aeba165897d48c2d")
+ version("1.2.0", sha256="e5b2def953d7f9f4f2cacd4616aa65c77e2b9adf7eed2ca3531b993e529fbafd")
+ version("1.1", sha256="80fd54e2c30029d3d7d646738ae9469ad3a6f5ea7aa1179b951030df048e36bc")
+ version("1.0", sha256="54f40c1ed07a6829230af400abfe48791e74e56eac2709c0947cec3410a4473d")
@property
def parallel(self):
- return not self.spec.satisfies('@:1.2.4')
+ return not self.spec.satisfies("@:1.2.4")
def cmake_args(self):
- args = ['-Dstatic=ON']
+ args = ["-Dstatic=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/colm/package.py b/var/spack/repos/builtin/packages/colm/package.py
index 86df039f0b..dc718e2234 100644
--- a/var/spack/repos/builtin/packages/colm/package.py
+++ b/var/spack/repos/builtin/packages/colm/package.py
@@ -14,6 +14,6 @@ class Colm(AutotoolsPackage):
"""
homepage = "https://www.colm.net/open-source/colm"
- url = "https://www.colm.net/files/colm/colm-0.12.0.tar.gz"
+ url = "https://www.colm.net/files/colm/colm-0.12.0.tar.gz"
- version('0.12.0', sha256='7b545d74bd139f5c622975d243c575310af1e4985059a1427b6fdbb1fb8d6e4d')
+ version("0.12.0", sha256="7b545d74bd139f5c622975d243c575310af1e4985059a1427b6fdbb1fb8d6e4d")
diff --git a/var/spack/repos/builtin/packages/colordiff/package.py b/var/spack/repos/builtin/packages/colordiff/package.py
index 697e7d6a4f..fddb232c28 100644
--- a/var/spack/repos/builtin/packages/colordiff/package.py
+++ b/var/spack/repos/builtin/packages/colordiff/package.py
@@ -10,13 +10,18 @@ class Colordiff(Package):
"""Colorful diff utility."""
homepage = "https://www.colordiff.org"
- url = "https://www.colordiff.org/archive/colordiff-1.0.18.tar.gz"
+ url = "https://www.colordiff.org/archive/colordiff-1.0.18.tar.gz"
- version('1.0.19', sha256='46e8c14d87f6c4b77a273cdd97020fda88d5b2be42cf015d5d84aca3dfff3b19')
- version('1.0.18', sha256='29cfecd8854d6e19c96182ee13706b84622d7b256077df19fbd6a5452c30d6e0')
+ version("1.0.19", sha256="46e8c14d87f6c4b77a273cdd97020fda88d5b2be42cf015d5d84aca3dfff3b19")
+ version("1.0.18", sha256="29cfecd8854d6e19c96182ee13706b84622d7b256077df19fbd6a5452c30d6e0")
- depends_on('perl')
+ depends_on("perl")
def install(self, spec, prefix):
- make("INSTALL_DIR=" + prefix.bin, "ETC_DIR=" + prefix.etc,
- "MAN_DIR=" + prefix.man, 'install', parallel=False)
+ make(
+ "INSTALL_DIR=" + prefix.bin,
+ "ETC_DIR=" + prefix.etc,
+ "MAN_DIR=" + prefix.man,
+ "install",
+ parallel=False,
+ )
diff --git a/var/spack/repos/builtin/packages/comd/package.py b/var/spack/repos/builtin/packages/comd/package.py
index d2873ad513..bf20e48653 100644
--- a/var/spack/repos/builtin/packages/comd/package.py
+++ b/var/spack/repos/builtin/packages/comd/package.py
@@ -16,77 +16,76 @@ class Comd(MakefilePackage):
versions of CoMD will be released to incorporate the lessons learned from
the co-design process."""
- tags = ['proxy-app']
+ tags = ["proxy-app"]
homepage = "http://www.exmatex.org/comd.html"
- url = "https://github.com/ECP-copa/CoMD/archive/v1.1.tar.gz"
- git = "https://github.com/ECP-copa/CoMD.git"
+ url = "https://github.com/ECP-copa/CoMD/archive/v1.1.tar.gz"
+ git = "https://github.com/ECP-copa/CoMD.git"
- version('develop', branch='master')
- version('1.1', sha256='4e85f86f043681a1ef72940fc24a4c71356a36afa45446f7cfe776abad6aa252')
+ version("develop", branch="master")
+ version("1.1", sha256="4e85f86f043681a1ef72940fc24a4c71356a36afa45446f7cfe776abad6aa252")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=False, description='Build with OpenMP support')
- variant('precision', default=True, description='Toggle Precesion Options')
- variant('graphs', default=False, description='Enable graph visuals')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("precision", default=True, description="Toggle Precesion Options")
+ variant("graphs", default=False, description="Enable graph visuals")
- depends_on('mpi', when='+mpi')
- depends_on('graphviz', when='+graphs')
+ depends_on("mpi", when="+mpi")
+ depends_on("graphviz", when="+graphs")
- conflicts('+openmp', when='+mpi')
+ conflicts("+openmp", when="+mpi")
def edit(self, spec, prefix):
- with working_dir('src-mpi') or working_dir('src-openmp'):
- copy('Makefile.vanilla', 'Makefile')
+ with working_dir("src-mpi") or working_dir("src-openmp"):
+ copy("Makefile.vanilla", "Makefile")
@property
def build_targets(self):
targets = []
- cflags = ' -std=c99 '
- optflags = ' -g -O5 '
- clib = ' -lm '
- comd_variant = 'CoMD'
+ cflags = " -std=c99 "
+ optflags = " -g -O5 "
+ clib = " -lm "
+ comd_variant = "CoMD"
cc = spack_cc
- if '+openmp' in self.spec:
- targets.append('--directory=src-openmp')
- comd_variant += '-openmp'
- cflags += ' -fopenmp '
- if '+mpi' in self.spec:
- comd_variant += '-mpi'
- targets.append('CC = {0}'.format(self.spec['mpi'].mpicc))
+ if "+openmp" in self.spec:
+ targets.append("--directory=src-openmp")
+ comd_variant += "-openmp"
+ cflags += " -fopenmp "
+ if "+mpi" in self.spec:
+ comd_variant += "-mpi"
+ targets.append("CC = {0}".format(self.spec["mpi"].mpicc))
else:
- targets.append('CC = {0}'.format('spack_cc'))
+ targets.append("CC = {0}".format("spack_cc"))
else:
- targets.append('--directory=src-mpi')
- if '~mpi' in self.spec:
- comd_variant += '-serial'
- targets.append('CC = {0}'.format(cc))
+ targets.append("--directory=src-mpi")
+ if "~mpi" in self.spec:
+ comd_variant += "-serial"
+ targets.append("CC = {0}".format(cc))
else:
- comd_variant += '-mpi'
- targets.append('CC = {0}'.format(self.spec['mpi'].mpicc))
- if '+mpi' in self.spec:
- cflags += '-DDO_MPI'
- targets.append(
- 'INCLUDES = {0}'.format(self.spec['mpi'].prefix.include))
-
- if '+precision' in self.spec:
- cflags += ' -DDOUBLE '
+ comd_variant += "-mpi"
+ targets.append("CC = {0}".format(self.spec["mpi"].mpicc))
+ if "+mpi" in self.spec:
+ cflags += "-DDO_MPI"
+ targets.append("INCLUDES = {0}".format(self.spec["mpi"].prefix.include))
+
+ if "+precision" in self.spec:
+ cflags += " -DDOUBLE "
else:
- cflags += ' -DSINGLE '
+ cflags += " -DSINGLE "
- targets.append('CoMD_VARIANT = {0}'.format(comd_variant))
- targets.append('CFLAGS = {0}'.format(cflags))
- targets.append('OPTFLAGS = {0}'.format(optflags))
- targets.append('C_LIB = {0}'.format(clib))
+ targets.append("CoMD_VARIANT = {0}".format(comd_variant))
+ targets.append("CFLAGS = {0}".format(cflags))
+ targets.append("OPTFLAGS = {0}".format(optflags))
+ targets.append("C_LIB = {0}".format(clib))
return targets
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('examples', prefix.examples)
- install_tree('pots', prefix.pots)
+ install_tree("bin", prefix.bin)
+ install_tree("examples", prefix.examples)
+ install_tree("pots", prefix.pots)
mkdirp(prefix.doc)
- install('README.md', prefix.doc)
- install('LICENSE.md', prefix.doc)
+ install("README.md", prefix.doc)
+ install("LICENSE.md", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py
index fd5a6b75e5..fb5308c14d 100644
--- a/var/spack/repos/builtin/packages/comgr/package.py
+++ b/var/spack/repos/builtin/packages/comgr/package.py
@@ -10,70 +10,132 @@ from spack.package import *
class Comgr(CMakePackage):
"""This provides various Lightning Compiler related services. It currently
- contains one library, the Code Object Manager (Comgr)"""
+ contains one library, the Code Object Manager (Comgr)"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
- git = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git"
- url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['libamd_comgr']
-
- version('master', branch='amd-stg-open')
-
- version('5.1.3', sha256='3078c10e9a852fe8357712a263ad775b15944e083f93a879935c877511066ac9')
- version('5.1.0', sha256='1cdcfe5acb768ef50fb0026d4ee7ba01e615251ad3c27bb2593cdcf8c070a894')
- version('5.0.2', sha256='20d733f70d8edb573d8c92707f663d7d46dcaff08026cd6addbb83266679f92a')
- version('5.0.0', sha256='da1bbc694bd930a504406eb0a0018c2e317d8b2c136fb2cab8de426870efe9a8')
- version('4.5.2', sha256='e45f387fb6635fc1713714d09364204cd28fea97655b313c857beb1f8524e593')
- version('4.5.0', sha256='03c5880e0922fcff31306f7da2eb9d3a3709d9b5b75b3524dcfae85f4b181678')
- version('4.3.1', sha256='f1d99550383ed7b3a01d304eedc3d86a8e45b271aa5a80b1dd099c22fda3f745', deprecated=True)
- version('4.3.0', sha256='f77b505abb474078374701dfc49e651ad3eeec5349ce6edda54549943a3775ee', deprecated=True)
- version('4.2.0', sha256='40a1ea50d2aea0cf75c4d17cdd6a7fe44ae999bf0147d24a756ca4675ce24e36', deprecated=True)
- version('4.1.0', sha256='ffb625978555c63582aa46857672431793261166aa31761eff4fe5c2cab661ae', deprecated=True)
- version('4.0.0', sha256='f389601fb70b2d9a60d0e2798919af9ddf7b8376a2e460141507fe50073dfb31', deprecated=True)
- version('3.10.0', sha256='b44ee5805a6236213d758fa4b612bb859d8f774b9b4bdc3a2699bb009dd631bc', deprecated=True)
- version('3.9.0', sha256='6600e144d72dadb6d893a3388b42af103b9443755ce556f4e9e205ccd8ec0c83', deprecated=True)
- version('3.8.0', sha256='62a35480dfabaa98883d91ed0f7c490daa9bbd424af37e07e5d85a6e8030b146', deprecated=True)
- version('3.7.0', sha256='73e56ec3c63dade24ad351e9340e2f8e127694028c1fb7cec5035376bf098432', deprecated=True)
- version('3.5.0', sha256='25c963b46a82d76d55b2302e0e18aac8175362656a465549999ad13d07b689b9', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ git = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git"
+ url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["libamd_comgr"]
+
+ version("master", branch="amd-stg-open")
+
+ version("5.1.3", sha256="3078c10e9a852fe8357712a263ad775b15944e083f93a879935c877511066ac9")
+ version("5.1.0", sha256="1cdcfe5acb768ef50fb0026d4ee7ba01e615251ad3c27bb2593cdcf8c070a894")
+ version("5.0.2", sha256="20d733f70d8edb573d8c92707f663d7d46dcaff08026cd6addbb83266679f92a")
+ version("5.0.0", sha256="da1bbc694bd930a504406eb0a0018c2e317d8b2c136fb2cab8de426870efe9a8")
+ version("4.5.2", sha256="e45f387fb6635fc1713714d09364204cd28fea97655b313c857beb1f8524e593")
+ version("4.5.0", sha256="03c5880e0922fcff31306f7da2eb9d3a3709d9b5b75b3524dcfae85f4b181678")
+ version(
+ "4.3.1",
+ sha256="f1d99550383ed7b3a01d304eedc3d86a8e45b271aa5a80b1dd099c22fda3f745",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="f77b505abb474078374701dfc49e651ad3eeec5349ce6edda54549943a3775ee",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="40a1ea50d2aea0cf75c4d17cdd6a7fe44ae999bf0147d24a756ca4675ce24e36",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="ffb625978555c63582aa46857672431793261166aa31761eff4fe5c2cab661ae",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="f389601fb70b2d9a60d0e2798919af9ddf7b8376a2e460141507fe50073dfb31",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="b44ee5805a6236213d758fa4b612bb859d8f774b9b4bdc3a2699bb009dd631bc",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="6600e144d72dadb6d893a3388b42af103b9443755ce556f4e9e205ccd8ec0c83",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="62a35480dfabaa98883d91ed0f7c490daa9bbd424af37e07e5d85a6e8030b146",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="73e56ec3c63dade24ad351e9340e2f8e127694028c1fb7cec5035376bf098432",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="25c963b46a82d76d55b2302e0e18aac8175362656a465549999ad13d07b689b9",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
# 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', when='@:4.2.0')
-
- depends_on('cmake@3.2.0:', type='build', when='@:3.8')
- depends_on('cmake@3.13.4:', type='build', when='@3.9.0:')
-
- depends_on('zlib', type='link')
- depends_on('z3', type='link')
- depends_on('ncurses', type='link')
-
- depends_on('rocm-cmake@3.5.0:', 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
+ patch("hip-tests.patch", when="@:4.2.0")
+
+ depends_on("cmake@3.2.0:", type="build", when="@:3.8")
+ depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
+
+ depends_on("zlib", type="link")
+ depends_on("z3", type="link")
+ depends_on("ncurses", type="link")
+
+ depends_on("rocm-cmake@3.5.0:", 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
# llvm libs are linked statically, so this *could* be a build dep
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
# aomp may not build rocm-device-libs as part of llvm-amdgpu, so make
# that a conditional dependency
- depends_on('rocm-device-libs@' + ver, when='@{0} ^llvm-amdgpu ~rocm-device-libs'.format(ver))
+ depends_on(
+ "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
+ )
- root_cmakelists_dir = join_path('lib', 'comgr')
+ root_cmakelists_dir = join_path("lib", "comgr")
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
diff --git a/var/spack/repos/builtin/packages/commons-lang/package.py b/var/spack/repos/builtin/packages/commons-lang/package.py
index dbdc0b3cac..6ba3d55c41 100644
--- a/var/spack/repos/builtin/packages/commons-lang/package.py
+++ b/var/spack/repos/builtin/packages/commons-lang/package.py
@@ -19,13 +19,13 @@ class CommonsLang(Package):
equals."""
homepage = "https://commons.apache.org/proper/commons-lang/"
- url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang-2.6-bin.tar.gz"
+ url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang-2.6-bin.tar.gz"
- version('2.6', sha256='ff6a244bb71a9a1c859e81cb744d0ce698c20e04f13a7ef7dbffb99c8122752c')
- version('2.4', sha256='00e6b3174e31196d726c14302c8e7e9ba9b8409d57a8a9821c7648beeda31c5e')
+ version("2.6", sha256="ff6a244bb71a9a1c859e81cb744d0ce698c20e04f13a7ef7dbffb99c8122752c")
+ version("2.4", sha256="00e6b3174e31196d726c14302c8e7e9ba9b8409d57a8a9821c7648beeda31c5e")
- extends('openjdk')
- depends_on('java@2:', type='run')
+ extends("openjdk")
+ depends_on("java@2:", type="run")
def install(self, spec, prefix):
- install('commons-lang-{0}.jar'.format(self.version), prefix)
+ install("commons-lang-{0}.jar".format(self.version), prefix)
diff --git a/var/spack/repos/builtin/packages/commons-lang3/package.py b/var/spack/repos/builtin/packages/commons-lang3/package.py
index 3a1be91d2d..07852bbe13 100644
--- a/var/spack/repos/builtin/packages/commons-lang3/package.py
+++ b/var/spack/repos/builtin/packages/commons-lang3/package.py
@@ -19,12 +19,12 @@ class CommonsLang3(Package):
equals."""
homepage = "https://commons.apache.org/proper/commons-lang/"
- url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang3-3.7-bin.tar.gz"
+ url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang3-3.7-bin.tar.gz"
- version('3.7', sha256='94dc8289ce90b77b507d9257784d9a43b402786de40c164f6e3990e221a2a4d2')
+ version("3.7", sha256="94dc8289ce90b77b507d9257784d9a43b402786de40c164f6e3990e221a2a4d2")
- extends('openjdk')
- depends_on('java@7:', type='run')
+ extends("openjdk")
+ depends_on("java@7:", type="run")
def install(self, spec, prefix):
- install('commons-lang3-{0}.jar'.format(self.version), prefix)
+ install("commons-lang3-{0}.jar".format(self.version), prefix)
diff --git a/var/spack/repos/builtin/packages/commons-logging/package.py b/var/spack/repos/builtin/packages/commons-logging/package.py
index 73b1eded1c..6165f159b9 100644
--- a/var/spack/repos/builtin/packages/commons-logging/package.py
+++ b/var/spack/repos/builtin/packages/commons-logging/package.py
@@ -19,14 +19,14 @@ class CommonsLogging(Package):
adapters for others is a reasonably simple task."""
homepage = "https://commons.apache.org/proper/commons-logging/"
- url = "https://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin.tar.gz"
+ url = "https://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin.tar.gz"
- version('1.2', sha256='3f758805c7290d9c6d22d1451587c9f7232744aef4c984e88aa683cdea0587bd')
- version('1.1.3', sha256='9e7093c93529792563b5c19ab5cccb73ef4ca7d82b886bdec6d0af182ba9908a')
- version('1.1.1', sha256='88c721d66f570a87f710a2449f0e3bffea86489d9dd2fa70b805104c4f8d69e6')
+ version("1.2", sha256="3f758805c7290d9c6d22d1451587c9f7232744aef4c984e88aa683cdea0587bd")
+ version("1.1.3", sha256="9e7093c93529792563b5c19ab5cccb73ef4ca7d82b886bdec6d0af182ba9908a")
+ version("1.1.1", sha256="88c721d66f570a87f710a2449f0e3bffea86489d9dd2fa70b805104c4f8d69e6")
- extends('openjdk')
- depends_on('java', type='run')
+ extends("openjdk")
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install('commons-logging-{0}.jar'.format(self.version), prefix)
+ install("commons-logging-{0}.jar".format(self.version), prefix)
diff --git a/var/spack/repos/builtin/packages/compadre/package.py b/var/spack/repos/builtin/packages/compadre/package.py
index 253a962bca..0980627eea 100644
--- a/var/spack/repos/builtin/packages/compadre/package.py
+++ b/var/spack/repos/builtin/packages/compadre/package.py
@@ -15,44 +15,49 @@ class Compadre(CMakePackage):
constitute the rows of some globally sparse matrix.
"""
- homepage = 'https://github.com/SNLComputation/compadre'
- git = 'https://github.com/SNLComputation/compadre.git'
- url = 'https://github.com/SNLComputation/compadre/archive/v1.3.0.tar.gz'
- maintainers = ['kuberry']
+ homepage = "https://github.com/SNLComputation/compadre"
+ git = "https://github.com/SNLComputation/compadre.git"
+ url = "https://github.com/SNLComputation/compadre/archive/v1.3.0.tar.gz"
+ maintainers = ["kuberry"]
- version('master', branch='master', preferred=True)
- version('1.3.0', 'f711a840fd921e84660451ded408023ec3bcfc98fd0a7dc4a299bfae6ab489c2')
+ version("master", branch="master", preferred=True)
+ version("1.3.0", "f711a840fd921e84660451ded408023ec3bcfc98fd0a7dc4a299bfae6ab489c2")
- depends_on('kokkos@3.3.01:main')
- depends_on('kokkos-kernels@3.3.01:main')
- depends_on('cmake@3.13:', type='build')
+ depends_on("kokkos@3.3.01:main")
+ depends_on("kokkos-kernels@3.3.01:main")
+ depends_on("cmake@3.13:", type="build")
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
- variant('mpi', default=False, description='Enable MPI support')
- depends_on('mpi', when='+mpi')
+ variant("mpi", default=False, description="Enable MPI support")
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
spec = self.spec
- kokkos = spec['kokkos']
- kokkos_kernels = spec['kokkos-kernels']
+ kokkos = spec["kokkos"]
+ kokkos_kernels = spec["kokkos-kernels"]
options = []
- options.extend([
- '-DKokkosCore_PREFIX={0}'.format(kokkos.prefix),
- '-DKokkosKernels_PREFIX={0}'.format(kokkos_kernels.prefix),
- '-DCMAKE_CXX_COMPILER:STRING={0}'.format(spec["kokkos"].kokkos_cxx),
- ])
-
- if '+mpi' in spec:
- options.append('-DCompadre_USE_MPI:BOOL=ON')
-
- if '+shared' in spec:
- options.append('-DBUILD_SHARED_LIBS:BOOL=ON')
+ options.extend(
+ [
+ "-DKokkosCore_PREFIX={0}".format(kokkos.prefix),
+ "-DKokkosKernels_PREFIX={0}".format(kokkos_kernels.prefix),
+ "-DCMAKE_CXX_COMPILER:STRING={0}".format(spec["kokkos"].kokkos_cxx),
+ ]
+ )
+
+ if "+mpi" in spec:
+ options.append("-DCompadre_USE_MPI:BOOL=ON")
+
+ if "+shared" in spec:
+ options.append("-DBUILD_SHARED_LIBS:BOOL=ON")
else:
- options.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
+ options.append("-DBUILD_SHARED_LIBS:BOOL=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/compiz/package.py b/var/spack/repos/builtin/packages/compiz/package.py
index 7e0fc5c186..681a84590d 100644
--- a/var/spack/repos/builtin/packages/compiz/package.py
+++ b/var/spack/repos/builtin/packages/compiz/package.py
@@ -17,22 +17,22 @@ class Compiz(AutotoolsPackage, XorgPackage):
homepage = "http://www.compiz.org/"
xorg_mirror_path = "app/compiz-0.7.8.tar.gz"
- version('0.7.8', sha256='b46f52b776cc78e85357a07688d04b36ec19c65eadeaf6f6cfcca7b8515e6503')
-
- depends_on('libxcb')
- depends_on('libxcomposite')
- depends_on('libxfixes')
- depends_on('libxdamage')
- depends_on('libxrandr')
- depends_on('libxinerama')
- depends_on('libice')
- depends_on('libsm')
- depends_on('libxml2')
- depends_on('libxslt')
+ version("0.7.8", sha256="b46f52b776cc78e85357a07688d04b36ec19c65eadeaf6f6cfcca7b8515e6503")
+
+ depends_on("libxcb")
+ depends_on("libxcomposite")
+ depends_on("libxfixes")
+ depends_on("libxdamage")
+ depends_on("libxrandr")
+ depends_on("libxinerama")
+ depends_on("libice")
+ depends_on("libsm")
+ depends_on("libxml2")
+ depends_on("libxslt")
# TODO: add dependencies
# libstartup-notification-1.0 >= 0.7
- depends_on('libxrender')
- depends_on('libpng')
- depends_on('glib')
- depends_on('gconf')
+ depends_on("libxrender")
+ depends_on("libpng")
+ depends_on("glib")
+ depends_on("gconf")
diff --git a/var/spack/repos/builtin/packages/compose/package.py b/var/spack/repos/builtin/packages/compose/package.py
index 0aa8a34df1..59807f209c 100644
--- a/var/spack/repos/builtin/packages/compose/package.py
+++ b/var/spack/repos/builtin/packages/compose/package.py
@@ -14,8 +14,8 @@ class Compose(MakefilePackage):
in astrophysical applications, nuclear physics and beyond."""
homepage = "https://compose.obspm.fr/home"
- url = "https://compose.obspm.fr/download/code/codehdf5.zip"
- maintainers = ['eschnett']
+ url = "https://compose.obspm.fr/download/code/codehdf5.zip"
+ maintainers = ["eschnett"]
# Spack must not modify our url which doesn't contain a version number
def url_for_version(self, version):
@@ -23,13 +23,13 @@ class Compose(MakefilePackage):
# There is no version number for the zip file itself. This is the version
# number output by the `compose` executable.
- version('2.17', sha256='f3f68203a50bb898abe31ee0b3dc750a1f1164c9e5d7fb9c4546b4eaa0cd172b')
+ version("2.17", sha256="f3f68203a50bb898abe31ee0b3dc750a1f1164c9e5d7fb9c4546b4eaa0cd172b")
- depends_on('hdf5 +fortran')
+ depends_on("hdf5 +fortran")
parallel = False
- executables = ['compose', 'test_read_hdf5', 'test_read_opacity']
+ executables = ["compose", "test_read_hdf5", "test_read_opacity"]
@property
def build_targets(self):
diff --git a/var/spack/repos/builtin/packages/compositeproto/package.py b/var/spack/repos/builtin/packages/compositeproto/package.py
index d6a9b98fd0..f8efae9e8a 100644
--- a/var/spack/repos/builtin/packages/compositeproto/package.py
+++ b/var/spack/repos/builtin/packages/compositeproto/package.py
@@ -15,7 +15,7 @@ class Compositeproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/compositeproto"
xorg_mirror_path = "proto/compositeproto-0.4.2.tar.gz"
- version('0.4.2', sha256='22195b7e50036440b1c6b3b2d63eb03dfa6e71c8a1263ed1f07b0f31ae7dad50')
+ version("0.4.2", sha256="22195b7e50036440b1c6b3b2d63eb03dfa6e71c8a1263ed1f07b0f31ae7dad50")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/conda4aarch64/package.py b/var/spack/repos/builtin/packages/conda4aarch64/package.py
index d92a795c15..6d916829b2 100644
--- a/var/spack/repos/builtin/packages/conda4aarch64/package.py
+++ b/var/spack/repos/builtin/packages/conda4aarch64/package.py
@@ -11,19 +11,23 @@ class Conda4aarch64(Package):
"""Conda for aarch64"""
homepage = "https://anaconda.org/c4aarch64/"
- url = "https://github.com/jjhelmus/conda4aarch64/releases/download/1.0.0/c4aarch64_installer-1.0.0-Linux-aarch64.sh"
+ url = "https://github.com/jjhelmus/conda4aarch64/releases/download/1.0.0/c4aarch64_installer-1.0.0-Linux-aarch64.sh"
- conflicts('arch=x86_64:')
- conflicts('arch=ppc64:')
- conflicts('arch=ppc64le:')
+ conflicts("arch=x86_64:")
+ conflicts("arch=ppc64:")
+ conflicts("arch=ppc64le:")
- version('1.0.0', sha256='165565dc7e7cc74c9ef8fd75d309fb7b81a6d1bc5e2eab48aafa7b836a7427af', expand=False)
+ version(
+ "1.0.0",
+ sha256="165565dc7e7cc74c9ef8fd75d309fb7b81a6d1bc5e2eab48aafa7b836a7427af",
+ expand=False,
+ )
def install(self, spec, prefix):
conda_script = self.stage.archive_file
- bash = which('bash')
- bash(conda_script, '-b', '-f', '-p', self.prefix)
+ bash = which("bash")
+ bash(conda_script, "-b", "-f", "-p", self.prefix)
def setup_run_environment(self, env):
- filename = self.prefix.etc.join('profile.d').join('conda.sh')
+ filename = self.prefix.etc.join("profile.d").join("conda.sh")
env.extend(EnvironmentModifications.from_sourcing_file(filename))
diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py
index 27ab1c4148..d9980d341d 100644
--- a/var/spack/repos/builtin/packages/conduit/package.py
+++ b/var/spack/repos/builtin/packages/conduit/package.py
@@ -34,40 +34,40 @@ class Conduit(CMakePackage):
coupling between packages in-core, serialization, and I/O tasks."""
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"
- tags = ['radiuss', 'e4s']
+ 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"
+ tags = ["radiuss", "e4s"]
- version('develop', branch='develop', submodules=True)
+ version("develop", branch="develop", submodules=True)
# note: the main branch in conduit was renamed to develop, this next entry
# is to bridge any spack dependencies that are still using the name master
- version('master', branch='develop', submodules=True)
+ version("master", branch="develop", submodules=True)
# note: 2021-05-05 latest tagged release is now preferred instead of develop
- version('0.8.3', sha256='a9e60945366f3b8c37ee6a19f62d79a8d5888be7e230eabc31af2f837283ed1a')
- version('0.8.2', sha256='928eb8496bc50f6d8404f5bfa70220250876645d68d4f35ce0b99ecb85546284')
- version('0.8.1', sha256='488f22135a35136de592173131d123f7813818b7336c3b18e04646318ad3cbee')
- version('0.8.0', sha256='0607dcf9ced44f95e0b9549f5bbf7a332afd84597c52e293d7ca8d83117b5119')
- version('0.7.2', sha256='359fd176297700cdaed2c63e3b72d236ff3feec21a655c7c8292033d21d5228a')
- version('0.7.1', sha256='460a480cf08fedbf5b38f707f94f20828798327adadb077f80dbab048fd0a07d')
- version('0.7.0', sha256='ecaa9668ebec5d4efad19b104d654a587c0adbd5f502128f89601408cb4d7d0c')
- version('0.6.0', sha256='078f086a13b67a97e4ab6fe1063f2fef2356df297e45b43bb43d74635f80475d')
- version('0.5.1', sha256='68a3696d1ec6d3a4402b44a464d723e6529ec41016f9b44c053676affe516d44')
- version('0.5.0', sha256='7efac668763d02bd0a2c0c1b134d9f5ee27e99008183905bb0512e5502b8b4fe')
- version('0.4.0', sha256='c228e6f0ce5a9c0ffb98e0b3d886f2758ace1a4b40d00f3f118542c0747c1f52')
- version('0.3.1', sha256='7b358ca03bb179876291d4a55d6a1c944b7407a80a588795b9e47940b1990521')
- version('0.3.0', sha256='52e9cf5720560e5f7492876c39ef2ea20ae73187338361d2744bdf67567da155')
+ version("0.8.3", sha256="a9e60945366f3b8c37ee6a19f62d79a8d5888be7e230eabc31af2f837283ed1a")
+ version("0.8.2", sha256="928eb8496bc50f6d8404f5bfa70220250876645d68d4f35ce0b99ecb85546284")
+ version("0.8.1", sha256="488f22135a35136de592173131d123f7813818b7336c3b18e04646318ad3cbee")
+ version("0.8.0", sha256="0607dcf9ced44f95e0b9549f5bbf7a332afd84597c52e293d7ca8d83117b5119")
+ version("0.7.2", sha256="359fd176297700cdaed2c63e3b72d236ff3feec21a655c7c8292033d21d5228a")
+ version("0.7.1", sha256="460a480cf08fedbf5b38f707f94f20828798327adadb077f80dbab048fd0a07d")
+ version("0.7.0", sha256="ecaa9668ebec5d4efad19b104d654a587c0adbd5f502128f89601408cb4d7d0c")
+ version("0.6.0", sha256="078f086a13b67a97e4ab6fe1063f2fef2356df297e45b43bb43d74635f80475d")
+ version("0.5.1", sha256="68a3696d1ec6d3a4402b44a464d723e6529ec41016f9b44c053676affe516d44")
+ version("0.5.0", sha256="7efac668763d02bd0a2c0c1b134d9f5ee27e99008183905bb0512e5502b8b4fe")
+ version("0.4.0", sha256="c228e6f0ce5a9c0ffb98e0b3d886f2758ace1a4b40d00f3f118542c0747c1f52")
+ version("0.3.1", sha256="7b358ca03bb179876291d4a55d6a1c944b7407a80a588795b9e47940b1990521")
+ version("0.3.0", sha256="52e9cf5720560e5f7492876c39ef2ea20ae73187338361d2744bdf67567da155")
# note: checksums on github automatic release source tars changed ~9/17
- version('0.2.1', sha256='796576b9c69717c52f0035542c260eb7567aa351ee892d3fbe3521c38f1520c4')
- version('0.2.0', sha256='31eff8dbc654a4b235cfcbc326a319e1752728684296721535c7ca1c9b463061')
+ version("0.2.1", sha256="796576b9c69717c52f0035542c260eb7567aa351ee892d3fbe3521c38f1520c4")
+ version("0.2.0", sha256="31eff8dbc654a4b235cfcbc326a319e1752728684296721535c7ca1c9b463061")
- maintainers = ['cyrush']
+ maintainers = ["cyrush"]
###########################################################################
# package variants
###########################################################################
variant("shared", default=True, description="Build Conduit as shared libs")
- variant("test", default=True, description='Enable Conduit unit tests')
+ variant("test", default=True, description="Enable Conduit unit tests")
# variants for python support
variant("python", default=False, description="Build Conduit Python support")
@@ -76,12 +76,16 @@ class Conduit(CMakePackage):
# variants for comm and i/o
variant("mpi", default=True, description="Build Conduit MPI Support")
# set to false for systems that implicitly link mpi
- variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
+ variant("blt_find_mpi", default=True, description="Use BLT CMake Find MPI logic")
variant("hdf5", default=True, description="Build Conduit HDF5 support")
# TODO: remove 'compat' variant when VisIt starts distributing HDF5
# binaries
- variant("hdf5_compat", default=True, when='+hdf5',
- description="Build Conduit with HDF5 1.8.x (compatibility mode)")
+ variant(
+ "hdf5_compat",
+ default=True,
+ when="+hdf5",
+ 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=True, description="Build Conduit Parmetis support")
@@ -103,15 +107,15 @@ class Conduit(CMakePackage):
# CMake
#######################
# cmake 3.14.1 or newer
- depends_on("cmake@3.14.1:", type='build')
+ depends_on("cmake@3.14.1:", type="build")
#######################
# Python
#######################
depends_on("python", when="+python")
extends("python", when="+python")
- depends_on("py-numpy", when="+python", type=('build', 'run'))
- depends_on("py-mpi4py", when="+python+mpi", type=('build', 'run'))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python+mpi", type=("build", "run"))
#######################
# I/O Packages
@@ -135,9 +139,9 @@ class Conduit(CMakePackage):
###############
# ADIOS
###############
- depends_on("adios+mpi~hdf5+shared", when="+adios+mpi+shared")
+ depends_on("adios+mpi~hdf5+shared", when="+adios+mpi+shared")
depends_on("adios+mpi~hdf5~shared~blosc", when="+adios+mpi~shared")
- depends_on("adios~mpi~hdf5+shared", when="+adios~mpi+shared")
+ depends_on("adios~mpi~hdf5+shared", when="+adios~mpi+shared")
depends_on("adios~mpi~hdf5~shared~blosc", when="+adios~mpi~shared")
#######################
@@ -162,26 +166,29 @@ class Conduit(CMakePackage):
#######################
# Documentation related
#######################
- depends_on("py-sphinx", when="+python+doc", type='build')
- depends_on("py-sphinx-rtd-theme", when="+python+doc", type='build')
+ depends_on("py-sphinx", when="+python+doc", type="build")
+ depends_on("py-sphinx-rtd-theme", when="+python+doc", type="build")
depends_on("doxygen", when="+doc+doxygen")
# Tentative patch for fj compiler
# Cmake will support fj compiler and this patch will be removed
- patch('fj_flags.patch', when='%fj')
- patch('bpparametis.patch', when='@0.8.1')
+ patch("fj_flags.patch", when="%fj")
+ patch("bpparametis.patch", when="@0.8.1")
# Add missing include for numeric_limits
# https://github.com/LLNL/conduit/pull/773
- patch('https://github.com/LLNL/conduit/pull/773.patch?full_index=1', when='@:0.7.2',
- sha256='784d74942a63acf698c31b39848b46b4b755bf06faa6aa6fb81be61783ec0c30')
+ patch(
+ "https://github.com/LLNL/conduit/pull/773.patch?full_index=1",
+ when="@:0.7.2",
+ sha256="784d74942a63acf698c31b39848b46b4b755bf06faa6aa6fb81be61783ec0c30",
+ )
def setup_build_environment(self, env):
- env.set('CTEST_OUTPUT_ON_FAILURE', '1')
+ env.set("CTEST_OUTPUT_ON_FAILURE", "1")
# conduit uses a <=1.10 api version before 0.8
- if '@:0.7 +hdf5' in self.spec and '@1.10:' in self.spec['hdf5']:
- env.append_flags('CFLAGS', '-DH5_USE_110_API')
- env.append_flags('CXXFLAGS', '-DH5_USE_110_API')
+ if "@:0.7 +hdf5" in self.spec and "@1.10:" in self.spec["hdf5"]:
+ env.append_flags("CFLAGS", "-DH5_USE_110_API")
+ env.append_flags("CXXFLAGS", "-DH5_USE_110_API")
def url_for_version(self, version):
"""
@@ -197,7 +204,9 @@ class Conduit(CMakePackage):
# (https://github.com/llnl/blt) as a submodule, since github does
# not automatically package source from submodules, conduit
# provides a custom src tarball
- return "https://github.com/LLNL/conduit/releases/download/v{0}/conduit-v{1}-src-with-blt.tar.gz".format(v, v)
+ return "https://github.com/LLNL/conduit/releases/download/v{0}/conduit-v{1}-src-with-blt.tar.gz".format(
+ v, v
+ )
return url
####################################################################
@@ -208,17 +217,17 @@ class Conduit(CMakePackage):
def cmake_args(self):
host_config = self._get_host_config_path(self.spec)
options = []
- options.extend(['-C', host_config, "../spack-src/src/"])
+ options.extend(["-C", host_config, "../spack-src/src/"])
return options
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def build_test(self):
- with working_dir('spack-build'):
+ with working_dir("spack-build"):
print("Running Conduit Unit Tests...")
make("test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
"""
@@ -228,31 +237,22 @@ class Conduit(CMakePackage):
print("Checking Conduit installation...")
spec = self.spec
install_prefix = spec.prefix
- example_src_dir = join_path(install_prefix,
- "examples",
- "conduit",
- "using-with-cmake")
+ example_src_dir = join_path(install_prefix, "examples", "conduit", "using-with-cmake")
print("Checking using-with-cmake example...")
- with working_dir("check-conduit-using-with-cmake-example",
- create=True):
- cmake_args = ["-DCONDUIT_DIR={0}".format(install_prefix),
- example_src_dir]
+ with working_dir("check-conduit-using-with-cmake-example", create=True):
+ cmake_args = ["-DCONDUIT_DIR={0}".format(install_prefix), example_src_dir]
cmake(*cmake_args)
make()
- example = Executable('./conduit_example')
+ example = Executable("./conduit_example")
example()
print("Checking using-with-make example...")
- example_src_dir = join_path(install_prefix,
- "examples",
- "conduit",
- "using-with-make")
+ example_src_dir = join_path(install_prefix, "examples", "conduit", "using-with-make")
example_files = glob.glob(join_path(example_src_dir, "*"))
- with working_dir("check-conduit-using-with-make-example",
- create=True):
+ with working_dir("check-conduit-using-with-make-example", create=True):
for example_file in example_files:
shutil.copy(example_file, ".")
make("CONDUIT_DIR={0}".format(install_prefix))
- example = Executable('./conduit_example')
+ example = Executable("./conduit_example")
example()
def _get_host_config_path(self, spec):
@@ -260,16 +260,14 @@ class Conduit(CMakePackage):
# if on llnl systems, we can use the SYS_TYPE
if "SYS_TYPE" in env:
sys_type = env["SYS_TYPE"]
- host_config_path = "{0}-{1}-{2}-conduit-{3}.cmake".format(socket.gethostname(),
- sys_type,
- spec.compiler,
- spec.dag_hash())
+ host_config_path = "{0}-{1}-{2}-conduit-{3}.cmake".format(
+ socket.gethostname(), sys_type, spec.compiler, spec.dag_hash()
+ )
dest_dir = spec.prefix
- host_config_path = os.path.abspath(join_path(dest_dir,
- host_config_path))
+ host_config_path = os.path.abspath(join_path(dest_dir, host_config_path))
return host_config_path
- @run_before('cmake')
+ @run_before("cmake")
def hostconfig(self):
"""
This method creates a 'host-config' file that specifies
@@ -303,13 +301,13 @@ class Conduit(CMakePackage):
sys_type = env["SYS_TYPE"]
# are we on a specific machine
- on_blueos = 'blueos' in sys_type
+ on_blueos = "blueos" in sys_type
##############################################
# Find and record what CMake is used
##############################################
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
# get hostconfig name
host_cfg_fname = self._get_host_config_path(spec)
@@ -340,8 +338,7 @@ class Conduit(CMakePackage):
cfg.write("# fortran compiler used by spack\n")
if "+fortran" in spec:
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "ON"))
- cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER",
- f_compiler))
+ cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER", f_compiler))
else:
cfg.write(cmake_cache_entry("ENABLE_FORTRAN", "OFF"))
@@ -351,35 +348,31 @@ class Conduit(CMakePackage):
cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "OFF"))
# use global spack compiler flags
- cppflags = ' '.join(spec.compiler_flags['cppflags'])
+ cppflags = " ".join(spec.compiler_flags["cppflags"])
if cppflags:
# avoid always ending up with ' ' with no flags defined
- cppflags += ' '
- cflags = cppflags + ' '.join(spec.compiler_flags['cflags'])
+ cppflags += " "
+ cflags = cppflags + " ".join(spec.compiler_flags["cflags"])
if cflags:
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
- cxxflags = cppflags + ' '.join(spec.compiler_flags['cxxflags'])
+ cxxflags = cppflags + " ".join(spec.compiler_flags["cxxflags"])
if cxxflags:
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
- fflags = ' '.join(spec.compiler_flags['fflags'])
- if self.spec.satisfies('%cce'):
+ fflags = " ".join(spec.compiler_flags["fflags"])
+ if self.spec.satisfies("%cce"):
fflags += " -ef"
if fflags:
cfg.write(cmake_cache_entry("CMAKE_Fortran_FLAGS", fflags))
- if ((f_compiler is not None)
- and ("gfortran" in f_compiler)
- and ("clang" in cpp_compiler)):
- libdir = os.path.join(os.path.dirname(
- os.path.dirname(f_compiler)), "lib")
+ if (f_compiler is not None) and ("gfortran" in f_compiler) and ("clang" in cpp_compiler):
+ libdir = os.path.join(os.path.dirname(os.path.dirname(f_compiler)), "lib")
flags = ""
for _libpath in [libdir, libdir + "64"]:
if os.path.exists(_libpath):
flags += " -Wl,-rpath,{0}".format(_libpath)
- description = ("Adds a missing libstdc++ rpath")
+ description = "Adds a missing libstdc++ rpath"
if flags:
- cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS", flags,
- description))
+ cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS", flags, description))
#######################
# Unit Tests
@@ -400,26 +393,21 @@ class Conduit(CMakePackage):
if "+fortran" in spec:
if "xlf" in f_compiler:
- cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER_ID",
- "XL"))
+ cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER_ID", "XL"))
if (f_compiler is not None) and ("xlf" in f_compiler):
# Fix missing std linker flag in xlc compiler
flags = "-WF,-C! -qxlf2003=polymorphic"
- cfg.write(cmake_cache_entry("BLT_FORTRAN_FLAGS",
- flags))
+ cfg.write(cmake_cache_entry("BLT_FORTRAN_FLAGS", flags))
# Grab lib directory for the current fortran compiler
- libdir = os.path.join(os.path.dirname(
- os.path.dirname(f_compiler)), "lib")
+ libdir = os.path.join(os.path.dirname(os.path.dirname(f_compiler)), "lib")
rpaths = "-Wl,-rpath,{0} -Wl,-rpath,{0}64".format(libdir)
- flags = "${BLT_EXE_LINKER_FLAGS} -lstdc++ " + rpaths
- cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS",
- flags))
+ flags = "${BLT_EXE_LINKER_FLAGS} -lstdc++ " + rpaths
+ cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS", flags))
if "+shared" in spec:
flags = "${CMAKE_SHARED_LINKER_FLAGS} " + rpaths
- cfg.write(cmake_cache_entry(
- "CMAKE_SHARED_LINKER_FLAGS", flags))
+ cfg.write(cmake_cache_entry("CMAKE_SHARED_LINKER_FLAGS", flags))
#######################
# Python
@@ -431,12 +419,10 @@ class Conduit(CMakePackage):
cfg.write("# Enable python module builds\n")
cfg.write(cmake_cache_entry("ENABLE_PYTHON", "ON"))
cfg.write("# python from spack \n")
- cfg.write(cmake_cache_entry("PYTHON_EXECUTABLE",
- spec['python'].command.path))
+ cfg.write(cmake_cache_entry("PYTHON_EXECUTABLE", spec["python"].command.path))
try:
cfg.write("# python module install dir\n")
- cfg.write(cmake_cache_entry("PYTHON_MODULE_INSTALL_PREFIX",
- python_platlib))
+ cfg.write(cmake_cache_entry("PYTHON_MODULE_INSTALL_PREFIX", python_platlib))
except NameError:
# spack's won't exist in a subclass
pass
@@ -448,13 +434,11 @@ class Conduit(CMakePackage):
cfg.write(cmake_cache_entry("ENABLE_DOCS", "ON"))
cfg.write("# sphinx from spack \n")
- sphinx_build_exe = join_path(spec['py-sphinx'].prefix.bin,
- "sphinx-build")
- cfg.write(cmake_cache_entry("SPHINX_EXECUTABLE",
- sphinx_build_exe))
+ sphinx_build_exe = join_path(spec["py-sphinx"].prefix.bin, "sphinx-build")
+ cfg.write(cmake_cache_entry("SPHINX_EXECUTABLE", sphinx_build_exe))
if "+doxygen" in spec:
cfg.write("# doxygen from uberenv\n")
- doxygen_exe = spec['doxygen'].command.path
+ doxygen_exe = spec["doxygen"].command.path
cfg.write(cmake_cache_entry("DOXYGEN_EXECUTABLE", doxygen_exe))
else:
cfg.write(cmake_cache_entry("ENABLE_DOCS", "OFF"))
@@ -466,14 +450,14 @@ class Conduit(CMakePackage):
cfg.write("# MPI Support\n")
if "+mpi" in spec:
- mpicc_path = spec['mpi'].mpicc
- mpicxx_path = spec['mpi'].mpicxx
- mpifc_path = spec['mpi'].mpifc
+ mpicc_path = spec["mpi"].mpicc
+ mpicxx_path = spec["mpi"].mpicxx
+ mpifc_path = spec["mpi"].mpifc
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
# which can trip up mpi detection in CMake 3.14
- if spec['mpi'].mpicc == spack_cc:
+ if spec["mpi"].mpicc == spack_cc:
mpicc_path = c_compiler
mpicxx_path = cpp_compiler
mpifc_path = f_compiler
@@ -485,19 +469,16 @@ class Conduit(CMakePackage):
else:
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "OFF"))
if "+fortran" in spec:
- cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER",
- mpifc_path))
+ cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path))
- mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec")
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
- mpiexe_bin))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE", mpiexe_bin))
else:
- cfg.write(cmake_cache_entry("MPIEXEC",
- mpiexe_bin))
+ cfg.write(cmake_cache_entry("MPIEXEC", mpiexe_bin))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
@@ -506,7 +487,7 @@ class Conduit(CMakePackage):
#######################
cfg.write("# zfp from spack \n")
if "+zfp" in spec:
- cfg.write(cmake_cache_entry("ZFP_DIR", spec['zfp'].prefix))
+ cfg.write(cmake_cache_entry("ZFP_DIR", spec["zfp"].prefix))
else:
cfg.write("# zfp not built by spack \n")
@@ -523,10 +504,10 @@ class Conduit(CMakePackage):
cfg.write("# hdf5 from spack \n")
if "+hdf5" in spec:
- cfg.write(cmake_cache_entry("HDF5_DIR", spec['hdf5'].prefix))
- if 'zlib' in spec:
+ cfg.write(cmake_cache_entry("HDF5_DIR", spec["hdf5"].prefix))
+ if "zlib" in spec:
# HDF5 depends on zlib
- cfg.write(cmake_cache_entry("ZLIB_DIR", spec['zlib'].prefix))
+ cfg.write(cmake_cache_entry("ZLIB_DIR", spec["zlib"].prefix))
else:
cfg.write("# hdf5 not built by spack \n")
@@ -537,7 +518,7 @@ class Conduit(CMakePackage):
cfg.write("# h5z-zfp from spack \n")
if "+hdf5+zfp" in spec:
- cfg.write(cmake_cache_entry("H5ZZFP_DIR", spec['h5z-zfp'].prefix))
+ cfg.write(cmake_cache_entry("H5ZZFP_DIR", spec["h5z-zfp"].prefix))
else:
cfg.write("# h5z-zfp not built by spack \n")
@@ -548,7 +529,7 @@ class Conduit(CMakePackage):
cfg.write("# silo from spack \n")
if "+silo" in spec:
- cfg.write(cmake_cache_entry("SILO_DIR", spec['silo'].prefix))
+ cfg.write(cmake_cache_entry("SILO_DIR", spec["silo"].prefix))
else:
cfg.write("# silo not built by spack \n")
@@ -559,7 +540,7 @@ class Conduit(CMakePackage):
cfg.write("# ADIOS from spack \n")
if "+adios" in spec:
- cfg.write(cmake_cache_entry("ADIOS_DIR", spec['adios'].prefix))
+ cfg.write(cmake_cache_entry("ADIOS_DIR", spec["adios"].prefix))
else:
cfg.write("# adios not built by spack \n")
@@ -570,8 +551,8 @@ class Conduit(CMakePackage):
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))
+ 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")
diff --git a/var/spack/repos/builtin/packages/conmon/package.py b/var/spack/repos/builtin/packages/conmon/package.py
index 463782580d..7e4714f50b 100644
--- a/var/spack/repos/builtin/packages/conmon/package.py
+++ b/var/spack/repos/builtin/packages/conmon/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class Conmon(MakefilePackage):
"""An OCI container runtime monitor"""
- homepage = 'https://github.com/containers/conmon'
- url = 'https://github.com/containers/conmon/archive/v2.0.30.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/containers/conmon"
+ url = "https://github.com/containers/conmon/archive/v2.0.30.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('2.0.30', sha256='4b0a98fbe8a63c42f60edac25c19aa6606caa7b1e4fe7846fc7f7de0b566ba25')
+ version("2.0.30", sha256="4b0a98fbe8a63c42f60edac25c19aa6606caa7b1e4fe7846fc7f7de0b566ba25")
- depends_on('go', type='build')
- depends_on('go-md2man', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libseccomp')
- depends_on('glib')
+ depends_on("go", type="build")
+ depends_on("go-md2man", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libseccomp")
+ depends_on("glib")
def install(self, spec, prefix):
- make('install', 'PREFIX=' + prefix)
+ make("install", "PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/connect-proxy/package.py b/var/spack/repos/builtin/packages/connect-proxy/package.py
index 52f77dad84..f52c31ebb7 100644
--- a/var/spack/repos/builtin/packages/connect-proxy/package.py
+++ b/var/spack/repos/builtin/packages/connect-proxy/package.py
@@ -13,10 +13,10 @@ class ConnectProxy(MakefilePackage):
"""
homepage = "https://manpages.debian.org/testing/connect-proxy/connect-proxy.1.en.html"
- url = "https://bitbucket.org/gotoh/connect/get/1.105.tar.bz2"
+ url = "https://bitbucket.org/gotoh/connect/get/1.105.tar.bz2"
- version('1.105', sha256='07366026b1f81044ecd8da9b5b5b51321327ecdf6ba23576271a311bbd69d403')
+ version("1.105", sha256="07366026b1f81044ecd8da9b5b5b51321327ecdf6ba23576271a311bbd69d403")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('connect', prefix.bin)
+ install("connect", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/conserver/package.py b/var/spack/repos/builtin/packages/conserver/package.py
index 3071af3160..5f2d20da4b 100644
--- a/var/spack/repos/builtin/packages/conserver/package.py
+++ b/var/spack/repos/builtin/packages/conserver/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Conserver(AutotoolsPackage):
"""Conserver is an application that allows multiple users to
- watch a serial console at the same time. """
+ watch a serial console at the same time."""
homepage = "https://www.conserver.com/"
- url = "https://github.com/bstansell/conserver/releases/download/v8.2.5/conserver-8.2.5.tar.gz"
+ url = "https://github.com/bstansell/conserver/releases/download/v8.2.5/conserver-8.2.5.tar.gz"
- version('8.2.5', sha256='7db192f304126d7e5c15421c4c83cd5c08039f2f2b3c61b2998e71881ae47eea')
- version('8.2.4', sha256='a591eabb4abb632322d2f3058a2f0bd6502754069a99a153efe2d6d05bd97f6f')
- version('8.2.3', sha256='764443b2798047f7429747510eeb3207240260590551700d13dbbad8a5bdee08')
- version('8.2.2', sha256='05ea1693bf92b42ad2f0a9389c60352ccd35c2ea93c8fc8e618d0153362a7d81')
- version('8.2.1', sha256='251ae01997e8f3ee75106a5b84ec6f2a8eb5ff2f8092438eba34384a615153d0')
+ version("8.2.5", sha256="7db192f304126d7e5c15421c4c83cd5c08039f2f2b3c61b2998e71881ae47eea")
+ version("8.2.4", sha256="a591eabb4abb632322d2f3058a2f0bd6502754069a99a153efe2d6d05bd97f6f")
+ version("8.2.3", sha256="764443b2798047f7429747510eeb3207240260590551700d13dbbad8a5bdee08")
+ version("8.2.2", sha256="05ea1693bf92b42ad2f0a9389c60352ccd35c2ea93c8fc8e618d0153362a7d81")
+ version("8.2.1", sha256="251ae01997e8f3ee75106a5b84ec6f2a8eb5ff2f8092438eba34384a615153d0")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/console-bridge/package.py b/var/spack/repos/builtin/packages/console-bridge/package.py
index e03b51036b..45440e7391 100644
--- a/var/spack/repos/builtin/packages/console-bridge/package.py
+++ b/var/spack/repos/builtin/packages/console-bridge/package.py
@@ -13,11 +13,11 @@ class ConsoleBridge(CMakePackage):
that are not necessarily using ROS."""
homepage = "https://github.com/ros/console_bridge/"
- url = "https://github.com/ros/console_bridge/archive/1.0.1.tar.gz"
+ url = "https://github.com/ros/console_bridge/archive/1.0.1.tar.gz"
- version('1.0.1', sha256='2ff175a9bb2b1849f12a6bf972ce7e4313d543a2bbc83b60fdae7db6e0ba353f')
- version('1.0.0', sha256='880bbded7fcdc71479e9b1efc3ba5353f08eed23f0009c93d6bea8ba3974d078')
- version('0.5.1', sha256='c4ad60c82cd510d4078273a9e210faed572bef6014322456afd14999d2daf130')
- version('0.5.0', sha256='1cecdf232b1eb883b41cc50d1d38443b2163fdc0497072dc1aa6e7ba30696060')
- version('0.4.4', sha256='1147af6ad6477fcfd640c543684e17ee540e434aa70d6f31c1d137bc86fb937c')
- version('0.4.3', sha256='9f024a38f0947ed9fa67f58829980c2d90d84740e6de20d75cb00866f07a7a0b')
+ version("1.0.1", sha256="2ff175a9bb2b1849f12a6bf972ce7e4313d543a2bbc83b60fdae7db6e0ba353f")
+ version("1.0.0", sha256="880bbded7fcdc71479e9b1efc3ba5353f08eed23f0009c93d6bea8ba3974d078")
+ version("0.5.1", sha256="c4ad60c82cd510d4078273a9e210faed572bef6014322456afd14999d2daf130")
+ version("0.5.0", sha256="1cecdf232b1eb883b41cc50d1d38443b2163fdc0497072dc1aa6e7ba30696060")
+ version("0.4.4", sha256="1147af6ad6477fcfd640c543684e17ee540e434aa70d6f31c1d137bc86fb937c")
+ version("0.4.3", sha256="9f024a38f0947ed9fa67f58829980c2d90d84740e6de20d75cb00866f07a7a0b")
diff --git a/var/spack/repos/builtin/packages/constype/package.py b/var/spack/repos/builtin/packages/constype/package.py
index 31974bfc39..141fd10448 100644
--- a/var/spack/repos/builtin/packages/constype/package.py
+++ b/var/spack/repos/builtin/packages/constype/package.py
@@ -16,7 +16,7 @@ class Constype(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/constype"
xorg_mirror_path = "app/constype-1.0.4.tar.gz"
- version('1.0.4', sha256='ec09aff369cf1d527fd5b8075fb4dd0ecf89d905190cf1a0a0145d5e523f913d')
+ version("1.0.4", sha256="ec09aff369cf1d527fd5b8075fb4dd0ecf89d905190cf1a0a0145d5e523f913d")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/consul/package.py b/var/spack/repos/builtin/packages/consul/package.py
index 17752755de..e9c24fdd2b 100644
--- a/var/spack/repos/builtin/packages/consul/package.py
+++ b/var/spack/repos/builtin/packages/consul/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Consul(MakefilePackage):
"""Consul is a distributed, highly available,
- and data center aware solution to connect and configure applications
- across dynamic, distributed infrastructure."""
+ and data center aware solution to connect and configure applications
+ across dynamic, distributed infrastructure."""
homepage = "https://www.consul.io"
- url = "https://github.com/hashicorp/consul/archive/v1.8.1.tar.gz"
+ url = "https://github.com/hashicorp/consul/archive/v1.8.1.tar.gz"
- version('1.8.1', sha256='c173e9866e6181b3679a942233adade118976414f6ca2da8deaea0fa2bba9b06')
- version('1.8.0', sha256='a87925bde6aecddf532dfd050e907b6a0a6447cdd5dc4f49b46d97c9f73b58f9')
- version('1.7.6', sha256='893abad7563c1f085303705f72d8789b338236972123f0ab6d2be24dbb58c2ac')
+ version("1.8.1", sha256="c173e9866e6181b3679a942233adade118976414f6ca2da8deaea0fa2bba9b06")
+ version("1.8.0", sha256="a87925bde6aecddf532dfd050e907b6a0a6447cdd5dc4f49b46d97c9f73b58f9")
+ version("1.7.6", sha256="893abad7563c1f085303705f72d8789b338236972123f0ab6d2be24dbb58c2ac")
- depends_on('go@1.14:')
+ depends_on("go@1.14:")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/converge/package.py b/var/spack/repos/builtin/packages/converge/package.py
index e42d7bfceb..0c70608760 100644
--- a/var/spack/repos/builtin/packages/converge/package.py
+++ b/var/spack/repos/builtin/packages/converge/package.py
@@ -22,21 +22,30 @@ class Converge(Package):
computationally efficient as possible."""
homepage = "https://www.convergecfd.com/"
- url = "https://download.convergecfd.com/download/CONVERGE_2.4/Full_Solver_Packages/converge_install_2.4.10.tar.gz"
+ url = "https://download.convergecfd.com/download/CONVERGE_2.4/Full_Solver_Packages/converge_install_2.4.10.tar.gz"
# In order to view available versions, you need to register for an account:
# https://download.convergecfd.com/wp-login.php?action=register
- version('2.4.10', sha256='5d3c39894598d2395149cfcc653af13b8b1091177290edd62fcf22c7e830d410')
- version('2.3.23', sha256='1217d16eaf9d263f917ee468778508bad9dacb7e4397a293cfa6467f39fb4c52')
- version('2.2.0', sha256='3885acbaf352c718ea69f0206c858a01be02f0928ffee738e4aceb1dd939a77a',
- url="https://download.convergecfd.com/download/CONVERGE_2.2/Full_Solver_Packages/converge_install_2.2.0_042916.tar.gz")
- version('2.1.0', sha256='6b8896d42cf7b9013cae5456f4dc118306a5bd271d4a15945ceb7dae913e825a',
- url="https://download.convergecfd.com/download/CONVERGE_2.1/Full_Solver_Packages/converge_install_2.1.0_111615.tar.gz")
- version('2.0.0', sha256='f32c4824eb33724d85e283481d67ebd0630b1406011c528d775028bb2546f34e',
- url="https://download.convergecfd.com/download/CONVERGE_2.0/Full_Solver_Packages/converge_install_2.0.0_090214.tar.gz")
-
- variant('mpi', default=True, description='Build with MPI support')
+ version("2.4.10", sha256="5d3c39894598d2395149cfcc653af13b8b1091177290edd62fcf22c7e830d410")
+ version("2.3.23", sha256="1217d16eaf9d263f917ee468778508bad9dacb7e4397a293cfa6467f39fb4c52")
+ version(
+ "2.2.0",
+ sha256="3885acbaf352c718ea69f0206c858a01be02f0928ffee738e4aceb1dd939a77a",
+ url="https://download.convergecfd.com/download/CONVERGE_2.2/Full_Solver_Packages/converge_install_2.2.0_042916.tar.gz",
+ )
+ version(
+ "2.1.0",
+ sha256="6b8896d42cf7b9013cae5456f4dc118306a5bd271d4a15945ceb7dae913e825a",
+ url="https://download.convergecfd.com/download/CONVERGE_2.1/Full_Solver_Packages/converge_install_2.1.0_111615.tar.gz",
+ )
+ version(
+ "2.0.0",
+ sha256="f32c4824eb33724d85e283481d67ebd0630b1406011c528d775028bb2546f34e",
+ url="https://download.convergecfd.com/download/CONVERGE_2.0/Full_Solver_Packages/converge_install_2.0.0_090214.tar.gz",
+ )
+
+ variant("mpi", default=True, description="Build with MPI support")
# The following MPI libraries are compatible with CONVERGE:
#
@@ -58,7 +67,7 @@ class Converge(Package):
# the version of libmpi.so must match exactly, or else
# you will end up with missing libraries and symbols.
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# FIXME: Concretization is currently broken, so this causes:
# $ spack spec converge
@@ -66,23 +75,23 @@ class Converge(Package):
# $ spack spec converge@2.4.10 +mpi ^openmpi@:1.10
#
# TODO: Add version ranges for other MPI libraries
- depends_on('openmpi@1.10.0:1.10', when='@2.4.0:2.4+mpi^openmpi')
- depends_on('openmpi@1.5:1.8', when='@2.2:2.3+mpi^openmpi')
- depends_on('openmpi@:1.4', when='@:2.1+mpi^openmpi')
+ depends_on("openmpi@1.10.0:1.10", when="@2.4.0:2.4+mpi^openmpi")
+ depends_on("openmpi@1.5:1.8", when="@2.2:2.3+mpi^openmpi")
+ depends_on("openmpi@:1.4", when="@:2.1+mpi^openmpi")
# TODO: Add packages for hp-mpi and platform-mpi
# conflicts('^hp-mpi', when='@2.4:')
- conflicts('^intel-mpi', when='@:2.3')
- conflicts('^intel-parallel-studio+mpi', when='@:2.3')
+ conflicts("^intel-mpi", when="@:2.3")
+ conflicts("^intel-parallel-studio+mpi", when="@:2.3")
# conflicts('^platform-mpi', when='@:2.1')
- conflicts('^spectrum-mpi')
+ conflicts("^spectrum-mpi")
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['license/license.lic']
- license_vars = ['RLM_LICENSE']
- license_url = 'https://www.reprisesoftware.com/RLM_License_Administration.pdf'
+ license_comment = "#"
+ license_files = ["license/license.lic"]
+ license_vars = ["RLM_LICENSE"]
+ license_url = "https://www.reprisesoftware.com/RLM_License_Administration.pdf"
def url_for_version(self, version):
url = "https://download.convergecfd.com/download/CONVERGE_{0}/Full_Solver_Packages/converge_install_{1}.tar.gz"
@@ -144,56 +153,56 @@ class Converge(Package):
# The CONVERGE tarball comes with binaries for several MPI libraries.
# Only install the binary that matches the MPI we are building with.
- with working_dir('l_x86_64/bin'):
- if '~mpi' in spec:
- converge = glob.glob('converge-*-serial*')
- post_convert = glob.glob('post_convert_serial*')
- elif 'hp-mpi' in spec:
- converge = glob.glob('converge-*-hpmpi*')
+ with working_dir("l_x86_64/bin"):
+ if "~mpi" in spec:
+ converge = glob.glob("converge-*-serial*")
+ post_convert = glob.glob("post_convert_serial*")
+ elif "hp-mpi" in spec:
+ converge = glob.glob("converge-*-hpmpi*")
# No HP-MPI version of post_convert
- post_convert = glob.glob('post_convert_serial*')
- elif 'intel-mpi' in spec or 'intel-parallel-studio+mpi' in spec:
- converge = glob.glob('converge-*-intel*')
+ post_convert = glob.glob("post_convert_serial*")
+ elif "intel-mpi" in spec or "intel-parallel-studio+mpi" in spec:
+ converge = glob.glob("converge-*-intel*")
# No Intel MPI version of post_convert
- post_convert = glob.glob('post_convert_serial*')
- elif 'mpich' in spec:
- converge = glob.glob('converge-*-mpich*')
- post_convert = glob.glob('post_convert_mpich*')
- elif 'mvapich2' in spec:
- converge = glob.glob('converge-*-mvapich*')
+ post_convert = glob.glob("post_convert_serial*")
+ elif "mpich" in spec:
+ converge = glob.glob("converge-*-mpich*")
+ post_convert = glob.glob("post_convert_mpich*")
+ elif "mvapich2" in spec:
+ converge = glob.glob("converge-*-mvapich*")
# MVAPICH2 hasn't been supported since CONVERGE
# came with a single serial post_convert
- post_convert = glob.glob('post_convert')
- elif 'openmpi' in spec:
- converge = glob.glob('converge-*-o*mpi*')
- post_convert = glob.glob('post_convert_o*mpi*')
- elif 'platform-mpi' in spec:
- converge = glob.glob('converge-*-pmpi*')
- post_convert = glob.glob('post_convert_pmpi*')
+ post_convert = glob.glob("post_convert")
+ elif "openmpi" in spec:
+ converge = glob.glob("converge-*-o*mpi*")
+ post_convert = glob.glob("post_convert_o*mpi*")
+ elif "platform-mpi" in spec:
+ converge = glob.glob("converge-*-pmpi*")
+ post_convert = glob.glob("post_convert_pmpi*")
else:
- raise InstallError('Unsupported MPI provider')
+ raise InstallError("Unsupported MPI provider")
- make_surface = glob.glob('make_surface*')
+ make_surface = glob.glob("make_surface*")
# Old versions of CONVERGE come with a single serial post_convert
if not post_convert:
- post_convert = glob.glob('post_convert')
+ post_convert = glob.glob("post_convert")
# Make sure glob actually found something
if not converge:
- raise InstallError('converge executable not found')
+ raise InstallError("converge executable not found")
if not post_convert:
- raise InstallError('post_convert executable not found')
+ raise InstallError("post_convert executable not found")
if not make_surface:
- raise InstallError('make_surface executable not found')
+ raise InstallError("make_surface executable not found")
# Make sure glob didn't find multiple matches
if len(converge) > 1:
- raise InstallError('multiple converge executables found')
+ raise InstallError("multiple converge executables found")
if len(post_convert) > 1:
- raise InstallError('multiple post_convert executables found')
+ raise InstallError("multiple post_convert executables found")
if len(make_surface) > 1:
- raise InstallError('multiple make_surface executables found')
+ raise InstallError("multiple make_surface executables found")
converge = converge[0]
post_convert = post_convert[0]
@@ -202,20 +211,20 @@ class Converge(Package):
mkdir(prefix.bin)
# Install the executables
- install(converge, join_path(prefix.bin, converge))
+ install(converge, join_path(prefix.bin, converge))
install(post_convert, join_path(prefix.bin, post_convert))
install(make_surface, join_path(prefix.bin, make_surface))
with working_dir(prefix.bin):
# Create generic symlinks to all executables
- if not os.path.exists('converge'):
- os.symlink(converge, 'converge')
- if not os.path.exists('post_convert'):
- os.symlink(post_convert, 'post_convert')
- if not os.path.exists('make_surface'):
- os.symlink(make_surface, 'make_surface')
+ if not os.path.exists("converge"):
+ os.symlink(converge, "converge")
+ if not os.path.exists("post_convert"):
+ os.symlink(post_convert, "post_convert")
+ if not os.path.exists("make_surface"):
+ os.symlink(make_surface, "make_surface")
def setup_run_environment(self, env):
# CONVERGE searches for a valid license file in:
# $CONVERGE_ROOT/license/license.lic
- env.set('CONVERGE_ROOT', self.prefix)
+ env.set("CONVERGE_ROOT", self.prefix)
diff --git a/var/spack/repos/builtin/packages/cool/package.py b/var/spack/repos/builtin/packages/cool/package.py
index 6a2dd0696e..a95778bd1f 100644
--- a/var/spack/repos/builtin/packages/cool/package.py
+++ b/var/spack/repos/builtin/packages/cool/package.py
@@ -8,64 +8,74 @@ from spack.package import *
class Cool(CMakePackage):
"""COOL provides specific software components and tools for the handling of the time
- variation and versioning of the experiment conditions data."""
+ variation and versioning of the experiment conditions data."""
homepage = "https://coral-cool.docs.cern.ch/"
- git = "https://gitlab.cern.ch/lcgcool/cool.git"
+ git = "https://gitlab.cern.ch/lcgcool/cool.git"
- tags = ['hep']
- maintainers = ['iarspider']
+ tags = ["hep"]
+ maintainers = ["iarspider"]
- version('3.3.10', tag='COOL_3_3_10')
- version('3.3.7', tag='COOL_3_3_7')
- version('3.3.5', tag='COOL_3_3_5')
- version('3.3.4', tag='COOL_3_3_4')
- version('3.3.3', tag='COOL_3_3_3')
+ version("3.3.10", tag="COOL_3_3_10")
+ version("3.3.7", tag="COOL_3_3_7")
+ version("3.3.5", tag="COOL_3_3_5")
+ version("3.3.4", tag="COOL_3_3_4")
+ version("3.3.3", tag="COOL_3_3_3")
# Spack-specific patches:
# * Create python/PyCool/_internal directory
# (only necessary for Spack builds, for some reason)
# * Explicitly request Boost components
- patch('cool.patch', level=0, when='@:3.3.8')
+ patch("cool.patch", level=0, when="@:3.3.8")
- @when('@3.3.9:')
+ @when("@3.3.9:")
def patch(self):
- filter_file("find_package(Boost REQUIRED)",
- "find_package(Boost REQUIRED chrono system thread)",
- "src/RelationalCool/CMakeLists.txt")
+ filter_file(
+ "find_package(Boost REQUIRED)",
+ "find_package(Boost REQUIRED chrono system thread)",
+ "src/RelationalCool/CMakeLists.txt",
+ )
# BINARY_TAG is a combination of target, os, compiler name and build type (opt/dbg)
# If you override it, please also override it for CORAL
- variant('binary_tag', default='auto',
- description='Force specific BINARY_TAG, "auto" ' +
- 'will determine the correct value at buildtime')
+ variant(
+ "binary_tag",
+ default="auto",
+ description='Force specific BINARY_TAG, "auto" '
+ + "will determine the correct value at buildtime",
+ )
- depends_on('coral')
- depends_on('root')
- depends_on('vdt')
- depends_on('xz')
- depends_on('qt@5:', when='platform=linux')
- depends_on('boost+chrono+system+thread')
- depends_on('python')
+ depends_on("coral")
+ depends_on("root")
+ depends_on("vdt")
+ depends_on("xz")
+ depends_on("qt@5:", when="platform=linux")
+ depends_on("boost+chrono+system+thread")
+ depends_on("python")
def determine_binary_tag(self):
# As far as I can tell from reading the source code, `binary_tag`
# can be almost arbitrary. The only real difference it makes is
# disabling oracle dependency for non-x86 platforms.
- if self.spec.variants['binary_tag'].value != 'auto':
- return self.spec.variants['binary_tag'].value
+ if self.spec.variants["binary_tag"].value != "auto":
+ return self.spec.variants["binary_tag"].value
- binary_tag = str(self.spec.target.family) + \
- '-' + self.spec.os + \
- '-' + self.spec.compiler.name + str(self.spec.compiler.version.joined) + \
- ('-opt' if 'Rel' in self.spec.variants['build_type'].value else '-dbg')
+ binary_tag = (
+ str(self.spec.target.family)
+ + "-"
+ + self.spec.os
+ + "-"
+ + self.spec.compiler.name
+ + str(self.spec.compiler.version.joined)
+ + ("-opt" if "Rel" in self.spec.variants["build_type"].value else "-dbg")
+ )
return binary_tag
def cmake_args(self):
binary_tag = self.determine_binary_tag()
- args = ['-DBINARY_TAG=' + binary_tag]
- if self.spec['python'].version >= Version("3.0.0"):
- args.append('-DLCG_python3=on')
+ args = ["-DBINARY_TAG=" + binary_tag]
+ if self.spec["python"].version >= Version("3.0.0"):
+ args.append("-DLCG_python3=on")
return args
diff --git a/var/spack/repos/builtin/packages/coral/package.py b/var/spack/repos/builtin/packages/coral/package.py
index 9358d1054d..734f414100 100644
--- a/var/spack/repos/builtin/packages/coral/package.py
+++ b/var/spack/repos/builtin/packages/coral/package.py
@@ -8,54 +8,59 @@ from spack.package import *
class Coral(CMakePackage):
"""CORAL is an abstraction layer with an SQL-free API to access data stored
- using relational database technologies. It is used directly by
- experiment-specific applications and internally by COOL."""
+ using relational database technologies. It is used directly by
+ experiment-specific applications and internally by COOL."""
homepage = "https://coral-cool.docs.cern.ch/"
- git = "https://gitlab.cern.ch/lcgcoral/coral.git"
-
- tags = ['hep']
-
- version('3.3.10', tag='CORAL_3_3_10')
- version('3.3.3', tag='CORAL_3_3_3')
- variant('binary_tag', default='auto')
-
- depends_on('ninja')
- depends_on('ccache')
- depends_on('boost')
- depends_on('cppunit')
- depends_on('expat')
- depends_on('frontier-client')
- depends_on('libaio')
- depends_on('mariadb')
- depends_on('python')
-# depends_on('qmtest')
- depends_on('xerces-c')
- depends_on('sqlite')
- depends_on('gperftools')
- depends_on('igprof')
- depends_on('libunwind')
- depends_on('valgrind')
- depends_on('oracle-instant-client')
- depends_on('libtirpc')
+ git = "https://gitlab.cern.ch/lcgcoral/coral.git"
+
+ tags = ["hep"]
+
+ version("3.3.10", tag="CORAL_3_3_10")
+ version("3.3.3", tag="CORAL_3_3_3")
+ variant("binary_tag", default="auto")
+
+ depends_on("ninja")
+ depends_on("ccache")
+ depends_on("boost")
+ depends_on("cppunit")
+ depends_on("expat")
+ depends_on("frontier-client")
+ depends_on("libaio")
+ depends_on("mariadb")
+ depends_on("python")
+ # depends_on('qmtest')
+ depends_on("xerces-c")
+ depends_on("sqlite")
+ depends_on("gperftools")
+ depends_on("igprof")
+ depends_on("libunwind")
+ depends_on("valgrind")
+ depends_on("oracle-instant-client")
+ depends_on("libtirpc")
def determine_binary_tag(self):
# As far as I can tell from reading the source code, `binary_tag`
# can be almost arbitraryThe only real difference it makes is
# disabling oracle dependency for non-x86 platforms
- if self.spec.variants['binary_tag'].value != 'auto':
- return self.spec.variants['binary_tag'].value
+ if self.spec.variants["binary_tag"].value != "auto":
+ return self.spec.variants["binary_tag"].value
- binary_tag = str(self.spec.target.family) + \
- '-' + self.spec.os + \
- '-' + self.spec.compiler.name + str(self.spec.compiler.version.joined) + \
- ('-opt' if 'Rel' in self.spec.variants['build_type'].value else '-dbg')
+ binary_tag = (
+ str(self.spec.target.family)
+ + "-"
+ + self.spec.os
+ + "-"
+ + self.spec.compiler.name
+ + str(self.spec.compiler.version.joined)
+ + ("-opt" if "Rel" in self.spec.variants["build_type"].value else "-dbg")
+ )
return binary_tag
def cmake_args(self):
- args = ['-DBINARY_TAG=' + self.determine_binary_tag()]
- if self.spec['python'].version >= Version("3.0.0"):
- args.append('-DLCG_python3=on')
+ args = ["-DBINARY_TAG=" + self.determine_binary_tag()]
+ if self.spec["python"].version >= Version("3.0.0"):
+ args.append("-DLCG_python3=on")
return args
diff --git a/var/spack/repos/builtin/packages/corenlp/package.py b/var/spack/repos/builtin/packages/corenlp/package.py
index 664f3b48e9..afdce12516 100644
--- a/var/spack/repos/builtin/packages/corenlp/package.py
+++ b/var/spack/repos/builtin/packages/corenlp/package.py
@@ -19,34 +19,38 @@ class Corenlp(Package):
mentions, get the quotes people said, etc."""
homepage = "https://stanfordnlp.github.io/CoreNLP/index.html"
- url = "https://github.com/stanfordnlp/CoreNLP/archive/v4.0.0.tar.gz"
+ url = "https://github.com/stanfordnlp/CoreNLP/archive/v4.0.0.tar.gz"
- version('4.0.0', sha256='07195eed46dd39bdc364d3988da8ec6a5fc9fed8c17613cfe5a8b84d649c8f0f')
+ version("4.0.0", sha256="07195eed46dd39bdc364d3988da8ec6a5fc9fed8c17613cfe5a8b84d649c8f0f")
resources = [
- ('4.0.0', 'f45bde062fb368d72f7d3c7ac1ddc6cfb61d3badc1152572bde17f1a5ed9ec94'),
+ ("4.0.0", "f45bde062fb368d72f7d3c7ac1ddc6cfb61d3badc1152572bde17f1a5ed9ec94"),
]
for ver, checksum in resources:
- jarfile = 'stanford-corenlp-{0}-models.jar'.format(ver)
- resource(when='@{0}'.format(ver),
- name=jarfile,
- url='https://repo1.maven.org/maven2/edu/stanford/nlp/stanford-corenlp/{0}/{1}'.format(ver, jarfile),
- expand=False,
- destination='',
- placement=jarfile,
- sha256=checksum)
+ jarfile = "stanford-corenlp-{0}-models.jar".format(ver)
+ resource(
+ when="@{0}".format(ver),
+ name=jarfile,
+ url="https://repo1.maven.org/maven2/edu/stanford/nlp/stanford-corenlp/{0}/{1}".format(
+ ver, jarfile
+ ),
+ expand=False,
+ destination="",
+ placement=jarfile,
+ sha256=checksum,
+ )
- depends_on('ant', type='build')
+ depends_on("ant", type="build")
def install(self, spec, prefix):
- ant = self.spec['ant'].command
+ ant = self.spec["ant"].command
ant()
- with working_dir('classes'):
- jar = Executable('jar')
- jar('-cf', '../stanford-corenlp.jar', 'edu')
+ with working_dir("classes"):
+ jar = Executable("jar")
+ jar("-cf", "../stanford-corenlp.jar", "edu")
- install_tree('.', prefix.lib)
+ install_tree(".", prefix.lib)
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
@@ -58,12 +62,12 @@ class Corenlp(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
def setup_run_environment(self, run_env):
class_paths = []
- class_paths.extend(find(prefix.lib, '*.jar'))
+ class_paths.extend(find(prefix.lib, "*.jar"))
classpath = os.pathsep.join(class_paths)
- run_env.prepend_path('CLASSPATH', classpath)
+ run_env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/coreutils/package.py b/var/spack/repos/builtin/packages/coreutils/package.py
index 1d1aea4331..e937d9a698 100644
--- a/var/spack/repos/builtin/packages/coreutils/package.py
+++ b/var/spack/repos/builtin/packages/coreutils/package.py
@@ -8,43 +8,49 @@ from spack.package import *
class Coreutils(AutotoolsPackage, GNUMirrorPackage):
"""The GNU Core Utilities are the basic file, shell and text
- manipulation utilities of the GNU operating system. These are
- the core utilities which are expected to exist on every
- operating system.
+ manipulation utilities of the GNU operating system. These are
+ the core utilities which are expected to exist on every
+ operating system.
"""
- homepage = 'https://www.gnu.org/software/coreutils/'
- gnu_mirror_path = 'coreutils/coreutils-8.26.tar.xz'
+ homepage = "https://www.gnu.org/software/coreutils/"
+ gnu_mirror_path = "coreutils/coreutils-8.26.tar.xz"
- tags = ['core-packages']
+ tags = ["core-packages"]
- version('9.1', sha256='61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423')
- version('9.0', sha256='ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce')
- version('8.32', sha256='4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa')
- version('8.31', sha256='ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd')
- version('8.30', sha256='e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057')
- version('8.29', sha256='92d0fa1c311cacefa89853bdb53c62f4110cdfda3820346b59cbd098f40f955e')
- version('8.26', sha256='155e94d748f8e2bc327c66e0cbebdb8d6ab265d2f37c3c928f7bf6c3beba9a8e')
- version('8.23', sha256='ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d')
+ version("9.1", sha256="61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423")
+ version("9.0", sha256="ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce")
+ version("8.32", sha256="4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa")
+ version("8.31", sha256="ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd")
+ version("8.30", sha256="e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057")
+ version("8.29", sha256="92d0fa1c311cacefa89853bdb53c62f4110cdfda3820346b59cbd098f40f955e")
+ version("8.26", sha256="155e94d748f8e2bc327c66e0cbebdb8d6ab265d2f37c3c928f7bf6c3beba9a8e")
+ version("8.23", sha256="ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d")
- variant("gprefix", default=False, description="prefix commands with 'g', to avoid conflicts with OS utilities")
+ variant(
+ "gprefix",
+ default=False,
+ description="prefix commands with 'g', to avoid conflicts with OS utilities",
+ )
# gnulib bug introced in commit cbdb5ea63cb5348d9ead16dc46bedda77a4c3d7d.
# fix is from commit 84863a1c4dc8cca8fb0f6f670f67779cdd2d543b
- patch('gnulib.patch', when='@9.1')
- patch('https://src.fedoraproject.org/rpms/coreutils/raw/6b50cb9f/f/coreutils-8.32-ls-removed-dir.patch',
- when='@8.32 target=aarch64:',
- sha256='5878894375a8fda98150783430b30c0b7104899dc5522034ebcaf8c961183b7e')
+ patch("gnulib.patch", when="@9.1")
+ 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'
+ build_directory = "spack-build"
def configure_args(self):
spec = self.spec
configure_args = []
- if spec.satisfies('platform=darwin'):
+ if spec.satisfies("platform=darwin"):
if "+gprefix" in self.spec:
- configure_args.append('--program-prefix=g')
- configure_args.append('--without-gmp')
- configure_args.append('gl_cv_func_ftello_works=yes')
+ configure_args.append("--program-prefix=g")
+ configure_args.append("--without-gmp")
+ configure_args.append("gl_cv_func_ftello_works=yes")
return configure_args
diff --git a/var/spack/repos/builtin/packages/corset/package.py b/var/spack/repos/builtin/packages/corset/package.py
index d355c7849c..daec8ea834 100644
--- a/var/spack/repos/builtin/packages/corset/package.py
+++ b/var/spack/repos/builtin/packages/corset/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Corset(Package):
"""Corset is a command-line software program to go from a de novo
- transcriptome assembly to gene-level counts."""
+ transcriptome assembly to gene-level counts."""
homepage = "https://github.com/Oshlack/Corset/wiki"
- url = "https://github.com/Oshlack/Corset/releases/download/version-1.09/corset-1.09-linux64.tar.gz"
+ url = "https://github.com/Oshlack/Corset/releases/download/version-1.09/corset-1.09-linux64.tar.gz"
- version('1.09', sha256='9c349afc5a66c43e6b73c62f5d3166dac2fd06696aa40cff648226a5d0427a59')
- version('1.06', sha256='4aff83844461cea1edfce3d89776236c300650fc02b497cc9f11eba42d161b60')
+ version("1.09", sha256="9c349afc5a66c43e6b73c62f5d3166dac2fd06696aa40cff648226a5d0427a59")
+ version("1.06", sha256="4aff83844461cea1edfce3d89776236c300650fc02b497cc9f11eba42d161b60")
def url_for_version(self, version):
- url = 'https://github.com/Oshlack/Corset/releases/download/version-{0}/corset-{0}-linux64.tar.gz'
+ url = "https://github.com/Oshlack/Corset/releases/download/version-{0}/corset-{0}-linux64.tar.gz"
return url.format(version)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('corset', prefix.bin)
- install('corset_fasta_ID_changer', prefix.bin)
+ install("corset", prefix.bin)
+ install("corset_fasta_ID_changer", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cosbench/package.py b/var/spack/repos/builtin/packages/cosbench/package.py
index 7335841644..d0acf532b7 100644
--- a/var/spack/repos/builtin/packages/cosbench/package.py
+++ b/var/spack/repos/builtin/packages/cosbench/package.py
@@ -16,14 +16,14 @@ class Cosbench(Package):
"""
homepage = "https://github.com/intel-cloud/cosbench"
- url = "https://github.com/intel-cloud/cosbench/releases/download/v0.4.2/0.4.2.zip"
+ url = "https://github.com/intel-cloud/cosbench/releases/download/v0.4.2/0.4.2.zip"
- version('0.4.2', sha256='9e82518d4fac3c23cfac47c8a571d4a61bf8e5f11286606c79a0f923e983dc61')
- version('0.4.1.0', sha256='a044cd232b3cc376802aa6a4a697988ec690a8b1d70040641710066acd322c5a')
- version('0.4.0.1', sha256='384e4de218a9a61040f45cf9aa0a555e88ff25fb2b5cd11c540627cd604b4961')
+ version("0.4.2", sha256="9e82518d4fac3c23cfac47c8a571d4a61bf8e5f11286606c79a0f923e983dc61")
+ version("0.4.1.0", sha256="a044cd232b3cc376802aa6a4a697988ec690a8b1d70040641710066acd322c5a")
+ version("0.4.0.1", sha256="384e4de218a9a61040f45cf9aa0a555e88ff25fb2b5cd11c540627cd604b4961")
- depends_on('java@6:', type='run')
- depends_on('curl@7.22.0:', type='run')
+ depends_on("java@6:", type="run")
+ depends_on("curl@7.22.0:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cosign/package.py b/var/spack/repos/builtin/packages/cosign/package.py
index adb549c803..a97feb993c 100644
--- a/var/spack/repos/builtin/packages/cosign/package.py
+++ b/var/spack/repos/builtin/packages/cosign/package.py
@@ -15,17 +15,17 @@ class Cosign(Package):
"""
homepage = "https://github.com/sigstore/cosign"
- url = "https://github.com/sigstore/cosign/archive/refs/tags/v1.3.1.tar.gz"
- git = "https://github.com/sigstore/cosign.git"
+ url = "https://github.com/sigstore/cosign/archive/refs/tags/v1.3.1.tar.gz"
+ git = "https://github.com/sigstore/cosign.git"
- version('main', branch='main')
- version('1.3.1', sha256='7f7e0af52ee8d795440e66dcc1a7a25783e22d30935f4f957779628b348f38af')
+ version("main", branch="main")
+ version("1.3.1", sha256="7f7e0af52ee8d795440e66dcc1a7a25783e22d30935f4f957779628b348f38af")
- depends_on("go", type='build')
+ depends_on("go", type="build")
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
- env.prepend_path('GOPATH', self.stage.path)
+ env.prepend_path("GOPATH", self.stage.path)
def install(self, spec, prefix):
go = which("go")
diff --git a/var/spack/repos/builtin/packages/cosma/package.py b/var/spack/repos/builtin/packages/cosma/package.py
index dc53c17b51..7b52650c81 100644
--- a/var/spack/repos/builtin/packages/cosma/package.py
+++ b/var/spack/repos/builtin/packages/cosma/package.py
@@ -12,87 +12,89 @@ class Cosma(CMakePackage):
Distributed Communication-Optimal Matrix-Matrix Multiplication Library
"""
- maintainers = ['haampie', 'kabicm', 'teonnik']
- homepage = 'https://github.com/eth-cscs/COSMA'
- url = 'https://github.com/eth-cscs/COSMA/releases/download/v2.5.1/COSMA-v2.5.1.tar.gz'
- git = 'https://github.com/eth-cscs/COSMA.git'
+ maintainers = ["haampie", "kabicm", "teonnik"]
+ homepage = "https://github.com/eth-cscs/COSMA"
+ url = "https://github.com/eth-cscs/COSMA/releases/download/v2.5.1/COSMA-v2.5.1.tar.gz"
+ git = "https://github.com/eth-cscs/COSMA.git"
# note: The default archives produced with github do not have the archives
# of the submodules.
- version('master', branch='master', submodules=True)
- version('2.5.1', sha256='085b7787597374244bbb1eb89bc69bf58c35f6c85be805e881e1c0b25166c3ce')
- version('2.5.0', sha256='7f68bb0ee5c80f9b8df858afcbd017ad4ed87ac09439d13d7d890844dbdd3d54')
- version('2.4.0', sha256='5714315ce06d48037f86cfee2d7f19340643fee95e9d7f1e92dc1b623b67e395')
- version('2.3.0', sha256='0c01c2deb5a0cd177952178350188a62c42ce55e604d7948ac472f55bf0d4815')
- version('2.2.0', sha256='1eb92a98110df595070a12193b9221eecf9d103ced8836c960f6c79a2bd553ca')
- version('2.0.7', sha256='8d70bfcbda6239b6a8fbeaca138790bbe58c0c3aa576879480d2632d4936cf7e')
- version('2.0.2', sha256='4f3354828bc718f3eef2f0098c3bdca3499297497a220da32db1acd57920c68d')
+ version("master", branch="master", submodules=True)
+ version("2.5.1", sha256="085b7787597374244bbb1eb89bc69bf58c35f6c85be805e881e1c0b25166c3ce")
+ version("2.5.0", sha256="7f68bb0ee5c80f9b8df858afcbd017ad4ed87ac09439d13d7d890844dbdd3d54")
+ version("2.4.0", sha256="5714315ce06d48037f86cfee2d7f19340643fee95e9d7f1e92dc1b623b67e395")
+ version("2.3.0", sha256="0c01c2deb5a0cd177952178350188a62c42ce55e604d7948ac472f55bf0d4815")
+ version("2.2.0", sha256="1eb92a98110df595070a12193b9221eecf9d103ced8836c960f6c79a2bd553ca")
+ version("2.0.7", sha256="8d70bfcbda6239b6a8fbeaca138790bbe58c0c3aa576879480d2632d4936cf7e")
+ version("2.0.2", sha256="4f3354828bc718f3eef2f0098c3bdca3499297497a220da32db1acd57920c68d")
# We just need the libraries of cuda and rocm, so no need to extend
# CudaPackage or ROCmPackage.
- variant('cuda', default=False, description='Build with cuBLAS support')
- variant('rocm', default=False, description='Build with rocBLAS support')
- variant('scalapack', default=False, description='Build with ScaLAPACK API')
+ variant("cuda", default=False, description="Build with cuBLAS support")
+ variant("rocm", default=False, description="Build with rocBLAS support")
+ variant("scalapack", default=False, description="Build with ScaLAPACK API")
- depends_on('cmake@3.12:', type='build')
- depends_on('mpi@3:')
- depends_on('blas', when='~cuda ~rocm')
- depends_on('scalapack', when='+scalapack')
- depends_on('cuda', when='+cuda')
- depends_on('rocblas', when='+rocm')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("mpi@3:")
+ depends_on("blas", when="~cuda ~rocm")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("cuda", when="+cuda")
+ depends_on("rocblas", when="+rocm")
def url_for_version(self, version):
- if version <= Version('2.3.0'):
- return 'https://github.com/eth-cscs/COSMA/releases/download/v{0}/cosma.tar.gz'.format(version)
+ if version <= Version("2.3.0"):
+ return "https://github.com/eth-cscs/COSMA/releases/download/v{0}/cosma.tar.gz".format(
+ version
+ )
- return 'https://github.com/eth-cscs/COSMA/releases/download/v{0}/COSMA-v{1}.tar.gz'.format(version, version)
+ return "https://github.com/eth-cscs/COSMA/releases/download/v{0}/COSMA-v{1}.tar.gz".format(
+ version, version
+ )
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- env.set('CUDA_PATH', self.spec['cuda'].prefix)
+ if "+cuda" in self.spec:
+ env.set("CUDA_PATH", self.spec["cuda"].prefix)
def cosma_blas_cmake_arg(self):
query_to_cmake_arg = [
- ('^intel-mkl', 'MKL'),
- ('^intel-oneapi-mkl', 'MKL'),
- ('^cray-libsci', 'CRAY_LIBSCI'),
- ('^netlib-lapack', 'CUSTOM'),
- ('^openblas', 'OPENBLAS'),
- ('+cuda', 'CUDA'),
- ('+rocm', 'ROCM')
+ ("^intel-mkl", "MKL"),
+ ("^intel-oneapi-mkl", "MKL"),
+ ("^cray-libsci", "CRAY_LIBSCI"),
+ ("^netlib-lapack", "CUSTOM"),
+ ("^openblas", "OPENBLAS"),
+ ("+cuda", "CUDA"),
+ ("+rocm", "ROCM"),
]
- if self.version >= Version('2.4.0'):
- query_to_cmake_arg.extend([
- ('^blis', 'BLIS'),
- ('^amdblis', 'BLIS'),
- ('^atlas', 'ATLAS')
- ])
+ if self.version >= Version("2.4.0"):
+ query_to_cmake_arg.extend(
+ [("^blis", "BLIS"), ("^amdblis", "BLIS"), ("^atlas", "ATLAS")]
+ )
for (query, cmake_arg) in query_to_cmake_arg:
if query in self.spec:
return cmake_arg
- return 'CUSTOM'
+ return "CUSTOM"
def cosma_scalapack_cmake_arg(self):
spec = self.spec
- if '~scalapack' in spec:
- return 'OFF'
- elif '^intel-mkl' in spec or '^intel-oneapi-mkl' in spec:
- return 'MKL'
- elif '^cray-libsci' in spec:
- return 'CRAY_LIBSCI'
+ if "~scalapack" in spec:
+ return "OFF"
+ elif "^intel-mkl" in spec or "^intel-oneapi-mkl" in spec:
+ return "MKL"
+ elif "^cray-libsci" in spec:
+ return "CRAY_LIBSCI"
- return 'CUSTOM'
+ return "CUSTOM"
def cmake_args(self):
return [
- self.define('COSMA_WITH_TESTS', 'OFF'),
- self.define('COSMA_WITH_APPS', 'OFF'),
- self.define('COSMA_WITH_PROFILING', 'OFF'),
- self.define('COSMA_WITH_BENCHMARKS', 'OFF'),
- self.define('COSMA_BLAS', self.cosma_blas_cmake_arg()),
- self.define('COSMA_SCALAPACK', self.cosma_scalapack_cmake_arg())
+ self.define("COSMA_WITH_TESTS", "OFF"),
+ self.define("COSMA_WITH_APPS", "OFF"),
+ self.define("COSMA_WITH_PROFILING", "OFF"),
+ self.define("COSMA_WITH_BENCHMARKS", "OFF"),
+ self.define("COSMA_BLAS", self.cosma_blas_cmake_arg()),
+ self.define("COSMA_SCALAPACK", self.cosma_scalapack_cmake_arg()),
]
diff --git a/var/spack/repos/builtin/packages/cosmoflow-benchmark/package.py b/var/spack/repos/builtin/packages/cosmoflow-benchmark/package.py
index 54f553dac9..611e94d678 100644
--- a/var/spack/repos/builtin/packages/cosmoflow-benchmark/package.py
+++ b/var/spack/repos/builtin/packages/cosmoflow-benchmark/package.py
@@ -12,27 +12,27 @@ class CosmoflowBenchmark(Package, CudaPackage):
and uses Horovod for distributed training."""
homepage = "https://github.com/sparticlesteve/cosmoflow-benchmark"
- git = "https://github.com/sparticlesteve/cosmoflow-benchmark.git"
+ git = "https://github.com/sparticlesteve/cosmoflow-benchmark.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-horovod', type=('build', 'run'))
- depends_on('py-mpi4py', type=('build', 'run'))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-horovod", type=("build", "run"))
+ depends_on("py-mpi4py", type=("build", "run"))
- depends_on('py-tensorflow+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-tensorflow~cuda~nccl', when='~cuda', type=('build', 'run'))
- depends_on('py-torch+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch~cuda~cudnn~nccl', when='~cuda', type=('build', 'run'))
- depends_on('py-horovod tensor_ops=mpi', when='~cuda', type=('build', 'run'))
+ depends_on("py-tensorflow+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-tensorflow~cuda~nccl", when="~cuda", type=("build", "run"))
+ depends_on("py-torch+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch~cuda~cudnn~nccl", when="~cuda", type=("build", "run"))
+ depends_on("py-horovod tensor_ops=mpi", when="~cuda", type=("build", "run"))
def install(self, spec, prefix):
# Mostly about providing an environment so just copy everything
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cosmomc/package.py b/var/spack/repos/builtin/packages/cosmomc/package.py
index 0f31776f08..77c9fb165a 100644
--- a/var/spack/repos/builtin/packages/cosmomc/package.py
+++ b/var/spack/repos/builtin/packages/cosmomc/package.py
@@ -12,181 +12,178 @@ from spack.package import *
class Cosmomc(Package):
"""CosmoMC is a Fortran 2008 Markov-Chain Monte-Carlo (MCMC) engine
- for exploring cosmological parameter space, together with
- Fortran and python code for analysing Monte-Carlo samples and
- importance sampling (plus a suite of scripts for building grids
- of runs, plotting and presenting results)."""
+ for exploring cosmological parameter space, together with
+ Fortran and python code for analysing Monte-Carlo samples and
+ importance sampling (plus a suite of scripts for building grids
+ of runs, plotting and presenting results)."""
homepage = "https://cosmologist.info/cosmomc/"
- url = "https://github.com/cmbant/CosmoMC/archive/Nov2016.tar.gz"
+ url = "https://github.com/cmbant/CosmoMC/archive/Nov2016.tar.gz"
- version('2016.11', sha256='b83edbf043ff83a4dde9bc14c56a09737dbc41ffe247a8e9c9a26892ed8745ba')
- version('2016.06', sha256='23fa23eef40846c17d3740be63a7fefde13880cbb81545a44d14034277d9ffc0')
+ version("2016.11", sha256="b83edbf043ff83a4dde9bc14c56a09737dbc41ffe247a8e9c9a26892ed8745ba")
+ version("2016.06", sha256="23fa23eef40846c17d3740be63a7fefde13880cbb81545a44d14034277d9ffc0")
def url_for_version(self, version):
- names = {'2016.11': "Nov2016",
- '2016.06': "June2016"}
- return ("https://github.com/cmbant/CosmoMC/archive/%s.tar.gz" %
- names[str(version)])
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('planck', default=False,
- description='Enable Planck Likelihood code and baseline data')
- variant('python', default=True, description='Enable Python bindings')
-
- extends('python', when='+python')
-
- depends_on('mpi', when='+mpi')
- depends_on('planck-likelihood', when='+planck')
- depends_on('py-matplotlib', type=('build', 'run'), when='+python')
- depends_on('py-numpy', type=('build', 'run'), when='+python')
- depends_on('py-pandas', type=('build', 'run'), when='+python')
- depends_on('py-scipy', type=('build', 'run'), when='+python')
- depends_on('py-six', type=('build', 'run'), when='+python')
- depends_on('python @2.7:2,3.4:', type=('build', 'run'), when='+python')
-
- patch('Makefile.patch')
- patch('errorstop.patch')
+ names = {"2016.11": "Nov2016", "2016.06": "June2016"}
+ return "https://github.com/cmbant/CosmoMC/archive/%s.tar.gz" % names[str(version)]
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("planck", default=False, description="Enable Planck Likelihood code and baseline data")
+ variant("python", default=True, description="Enable Python bindings")
+
+ extends("python", when="+python")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("planck-likelihood", when="+planck")
+ depends_on("py-matplotlib", type=("build", "run"), when="+python")
+ depends_on("py-numpy", type=("build", "run"), when="+python")
+ depends_on("py-pandas", type=("build", "run"), when="+python")
+ depends_on("py-scipy", type=("build", "run"), when="+python")
+ depends_on("py-six", type=("build", "run"), when="+python")
+ depends_on("python @2.7:2,3.4:", type=("build", "run"), when="+python")
+
+ patch("Makefile.patch")
+ patch("errorstop.patch")
parallel = False
def install(self, spec, prefix):
# Clean up environment to avoid configure problems
- os.environ.pop('LINKMPI', '')
- os.environ.pop('NERSC_HOST', '')
- os.environ.pop('NONCLIKLIKE', '')
- os.environ.pop('PICO', '')
- os.environ.pop('PRECISION', '')
- os.environ.pop('RECOMBINATION', '')
- os.environ.pop('WMAP', '')
+ os.environ.pop("LINKMPI", "")
+ os.environ.pop("NERSC_HOST", "")
+ os.environ.pop("NONCLIKLIKE", "")
+ os.environ.pop("PICO", "")
+ os.environ.pop("PRECISION", "")
+ os.environ.pop("RECOMBINATION", "")
+ os.environ.pop("WMAP", "")
# Set up Planck data if requested
- clikdir = join_path('data', 'clik')
+ clikdir = join_path("data", "clik")
try:
os.remove(clikdir)
except OSError:
pass
- if '+planck' in spec:
- os.symlink(join_path(os.environ['CLIK_DATA'], 'plc_2.0'), clikdir)
+ if "+planck" in spec:
+ os.symlink(join_path(os.environ["CLIK_DATA"], "plc_2.0"), clikdir)
else:
- os.environ.pop('CLIK_DATA', '')
- os.environ.pop('CLIK_PATH', '')
- os.environ.pop('CLIK_PLUGIN', '')
+ os.environ.pop("CLIK_DATA", "")
+ os.environ.pop("CLIK_PATH", "")
+ os.environ.pop("CLIK_PLUGIN", "")
# Choose compiler
# Note: Instead of checking the compiler vendor, we should
# rewrite the Makefile to use Spack's options all the time
- if spec.satisfies('%gcc'):
- if not spec.satisfies('%gcc@6:'):
+ if spec.satisfies("%gcc"):
+ if not spec.satisfies("%gcc@6:"):
raise InstallError(
- "When using GCC, "
- "CosmoMC requires version gcc@6: for building")
- choosecomp = 'ifortErr=1' # choose gfortran
- elif spec.satisfies('%intel'):
- if not spec.satifies('%intel@14:'):
+ "When using GCC, " "CosmoMC requires version gcc@6: for building"
+ )
+ choosecomp = "ifortErr=1" # choose gfortran
+ elif spec.satisfies("%intel"):
+ if not spec.satifies("%intel@14:"):
raise InstallError(
"When using the Intel compiler, "
- "CosmoMC requires version intel@14: for building")
- choosecomp = 'ifortErr=0' # choose ifort
+ "CosmoMC requires version intel@14: for building"
+ )
+ choosecomp = "ifortErr=0" # choose ifort
else:
raise InstallError("Only GCC and Intel compilers are supported")
# Configure MPI
- if '+mpi' in spec:
- wantmpi = 'BUILD=MPI'
- mpif90 = 'MPIF90C=%s' % spec['mpi'].mpifc
+ if "+mpi" in spec:
+ wantmpi = "BUILD=MPI"
+ mpif90 = "MPIF90C=%s" % spec["mpi"].mpifc
else:
- wantmpi = 'BUILD=NOMPI'
- mpif90 = 'MPIF90C='
+ wantmpi = "BUILD=NOMPI"
+ mpif90 = "MPIF90C="
# Choose BLAS and LAPACK
- lapack = ("LAPACKL=%s" %
- (spec['lapack'].libs + spec['blas'].libs).ld_flags)
+ lapack = "LAPACKL=%s" % (spec["lapack"].libs + spec["blas"].libs).ld_flags
# Build
make(choosecomp, wantmpi, mpif90, lapack)
# Install
mkdirp(prefix.bin)
- install('cosmomc', prefix.bin)
- root = join_path(prefix.share, 'cosmomc')
+ install("cosmomc", prefix.bin)
+ root = join_path(prefix.share, "cosmomc")
mkdirp(root)
entries = [
- 'batch1',
- 'batch2',
- 'batch3',
- 'camb',
- 'chains',
- 'clik_latex.paramnames',
- 'clik_units.paramnames',
- 'cosmomc.cbp',
- 'data',
- 'distgeneric.ini',
- 'distparams.ini',
- 'disttest.ini',
- 'docs',
- 'job_script',
- 'job_script_MOAB',
- 'job_script_SLURM',
- 'paramnames',
- 'params_generic.ini',
- 'planck_covmats',
- 'scripts',
+ "batch1",
+ "batch2",
+ "batch3",
+ "camb",
+ "chains",
+ "clik_latex.paramnames",
+ "clik_units.paramnames",
+ "cosmomc.cbp",
+ "data",
+ "distgeneric.ini",
+ "distparams.ini",
+ "disttest.ini",
+ "docs",
+ "job_script",
+ "job_script_MOAB",
+ "job_script_SLURM",
+ "paramnames",
+ "params_generic.ini",
+ "planck_covmats",
+ "scripts",
# don't copy 'source'
- 'test.ini',
- 'test_pico.ini',
- 'test_planck.ini',
- 'tests',
+ "test.ini",
+ "test_pico.ini",
+ "test_planck.ini",
+ "tests",
]
- if '+python' in spec:
- entries += ['python']
+ if "+python" in spec:
+ entries += ["python"]
for entry in entries:
if os.path.isfile(entry):
install(entry, root)
else:
install_tree(entry, join_path(root, entry))
for dirpath, dirnames, filenames in os.walk(prefix):
- for filename in fnmatch.filter(filenames, '*~'):
+ for filename in fnmatch.filter(filenames, "*~"):
os.remove(os.path.join(dirpath, filename))
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
prefix = self.prefix
spec = self.spec
- os.environ.pop('LINKMPI', '')
- os.environ.pop('NERSC_HOST', '')
- os.environ.pop('NONCLIKLIKE', '')
- os.environ.pop('PICO', '')
- os.environ.pop('PRECISION', '')
- os.environ.pop('RECOMBINATION', '')
- os.environ.pop('WMAP', '')
+ os.environ.pop("LINKMPI", "")
+ os.environ.pop("NERSC_HOST", "")
+ os.environ.pop("NONCLIKLIKE", "")
+ os.environ.pop("PICO", "")
+ os.environ.pop("PRECISION", "")
+ os.environ.pop("RECOMBINATION", "")
+ os.environ.pop("WMAP", "")
- os.environ.pop('COSMOMC_LOCATION', '')
- os.environ.pop('PLC_LOCATION', '')
+ os.environ.pop("COSMOMC_LOCATION", "")
+ os.environ.pop("PLC_LOCATION", "")
- os.environ.pop('CLIKPATH', '')
- os.environ.pop('PLANCKLIKE', '')
+ os.environ.pop("CLIKPATH", "")
+ os.environ.pop("PLANCKLIKE", "")
- exe = spec['cosmomc'].command.path
+ exe = spec["cosmomc"].command.path
args = []
- if '+mpi' in spec:
+ if "+mpi" in spec:
# Add mpirun prefix
- args = ['-np', '1', exe]
- exe = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ args = ["-np", "1", exe]
+ exe = join_path(spec["mpi"].prefix.bin, "mpiexec")
cosmomc = Executable(exe)
- with working_dir('spack-check', create=True):
+ with working_dir("spack-check", create=True):
for entry in [
- 'camb',
- 'chains',
- 'data',
- 'paramnames',
- 'planck_covmats',
+ "camb",
+ "chains",
+ "data",
+ "paramnames",
+ "planck_covmats",
]:
- os.symlink(join_path(prefix.share, 'cosmomc', entry), entry)
- inifile = join_path(prefix.share, 'cosmomc', 'test.ini')
+ os.symlink(join_path(prefix.share, "cosmomc", entry), entry)
+ inifile = join_path(prefix.share, "cosmomc", "test.ini")
cosmomc(*(args + [inifile]))
- if '+planck' in spec:
- inifile = join_path(prefix.share, 'cosmomc', 'test_planck.ini')
+ if "+planck" in spec:
+ inifile = join_path(prefix.share, "cosmomc", "test_planck.ini")
cosmomc(*(args + [inifile]))
diff --git a/var/spack/repos/builtin/packages/cosp2/package.py b/var/spack/repos/builtin/packages/cosp2/package.py
index 3c4826fd33..d6fa75d762 100644
--- a/var/spack/repos/builtin/packages/cosp2/package.py
+++ b/var/spack/repos/builtin/packages/cosp2/package.py
@@ -8,46 +8,44 @@ from spack.package import *
class Cosp2(MakefilePackage):
"""Proxy Application. CoSP2 represents a sparse linear algebra
- parallel algorithm for calculating the density matrix in electronic
- tructure theory. The algorithm is based on a recursive second-order
- Fermi-Operator expansion method (SP2) and is tailored for density
- functional based tight-binding calculations of non-metallic systems.
+ parallel algorithm for calculating the density matrix in electronic
+ tructure theory. The algorithm is based on a recursive second-order
+ Fermi-Operator expansion method (SP2) and is tailored for density
+ functional based tight-binding calculations of non-metallic systems.
"""
- tags = ['proxy-app']
+ tags = ["proxy-app"]
homepage = "http://www.exmatex.org/cosp2.html"
- git = "https://github.com/exmatex/CoSP2.git"
+ git = "https://github.com/exmatex/CoSP2.git"
- version('master', branch='master')
+ version("master", branch="master")
- variant('double', default=True,
- description='Build with double precision.')
- variant('mpi', default=True, description='Build with MPI Support')
+ variant("double", default=True, description="Build with double precision.")
+ variant("mpi", default=True, description="Build with MPI Support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- build_directory = 'src-mpi'
+ build_directory = "src-mpi"
def edit(self, spec, prefix):
cc = spack_cc
- if '+mpi' in spec:
- cc = spec['mpi'].mpicc
+ if "+mpi" in spec:
+ cc = spec["mpi"].mpicc
with working_dir(self.build_directory):
- makefile = FileFilter('Makefile.vanilla')
- makefile.filter(r'^CC\s*=.*', 'CC = {0}'.format(cc))
+ makefile = FileFilter("Makefile.vanilla")
+ makefile.filter(r"^CC\s*=.*", "CC = {0}".format(cc))
- if '+double' in spec:
- filter_file('DOUBLE_PRECISION = O.*', 'DOUBLE_PRECISION = OFF',
- 'Makefile.vanilla')
- copy('Makefile.vanilla', 'Makefile')
+ if "+double" in spec:
+ filter_file("DOUBLE_PRECISION = O.*", "DOUBLE_PRECISION = OFF", "Makefile.vanilla")
+ copy("Makefile.vanilla", "Makefile")
def install(self, spec, prefix):
- install_tree('bin/', prefix.bin)
- install_tree('examples/', prefix.examples)
- install_tree('doc/', prefix.doc)
- install('src-mpi/Doxyfile', prefix.doc)
- install('README.md', prefix.doc)
- install('LICENSE.md', prefix.doc)
+ install_tree("bin/", prefix.bin)
+ install_tree("examples/", prefix.examples)
+ install_tree("doc/", prefix.doc)
+ install("src-mpi/Doxyfile", prefix.doc)
+ install("README.md", prefix.doc)
+ install("LICENSE.md", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/costa/package.py b/var/spack/repos/builtin/packages/costa/package.py
index a16b4c7dfc..70c2fc8457 100644
--- a/var/spack/repos/builtin/packages/costa/package.py
+++ b/var/spack/repos/builtin/packages/costa/package.py
@@ -13,25 +13,27 @@ class Costa(CMakePackage):
Based on the paper: https://arxiv.org/abs/2106.06601
"""
- maintainers = ['haampie', 'kabicm']
- homepage = 'https://github.com/eth-cscs/COSTA'
- url = 'https://github.com/eth-cscs/COSTA/releases/download/v2.0/COSTA-v2.0.tar.gz'
- git = 'https://github.com/eth-cscs/COSTA.git'
+ maintainers = ["haampie", "kabicm"]
+ homepage = "https://github.com/eth-cscs/COSTA"
+ url = "https://github.com/eth-cscs/COSTA/releases/download/v2.0/COSTA-v2.0.tar.gz"
+ git = "https://github.com/eth-cscs/COSTA.git"
# note: The default archives produced with github do not have the archives
# of the submodules.
- version('master', branch='master', submodules=True)
- version('2.0', sha256='de250197f31f7d23226c6956a687c3ff46fb0ff6c621a932428236c3f7925fe4')
+ version("master", branch="master", submodules=True)
+ version("2.0", sha256="de250197f31f7d23226c6956a687c3ff46fb0ff6c621a932428236c3f7925fe4")
- variant('scalapack', default=False, description='Build with ScaLAPACK API')
- variant('shared', default=False, description="Build shared libraries")
+ variant("scalapack", default=False, description="Build with ScaLAPACK API")
+ variant("shared", default=False, description="Build shared libraries")
- depends_on('cmake@3.12:', type='build')
- depends_on('mpi@3:')
- depends_on('scalapack', when='+scalapack')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("mpi@3:")
+ depends_on("scalapack", when="+scalapack")
def url_for_version(self, version):
- return 'https://github.com/eth-cscs/COSTA/releases/download/v{0}/COSTA-v{1}.tar.gz'.format(version, version)
+ return "https://github.com/eth-cscs/COSTA/releases/download/v{0}/COSTA-v{1}.tar.gz".format(
+ version, version
+ )
def setup_build_environment(self, env):
return
@@ -39,21 +41,21 @@ class Costa(CMakePackage):
def costa_scalapack_cmake_arg(self):
spec = self.spec
- if '~scalapack' in spec:
- return 'OFF'
- elif '^intel-mkl' in spec or '^intel-oneapi-mkl' in spec:
- return 'MKL'
- elif '^cray-libsci' in spec:
- return 'CRAY_LIBSCI'
+ if "~scalapack" in spec:
+ return "OFF"
+ elif "^intel-mkl" in spec or "^intel-oneapi-mkl" in spec:
+ return "MKL"
+ elif "^cray-libsci" in spec:
+ return "CRAY_LIBSCI"
- return 'CUSTOM'
+ return "CUSTOM"
def cmake_args(self):
return [
- self.define('COSTA_WITH_BENCHMARKS', 'OFF'),
- self.define('COSTA_WITH_APPS', 'OFF'),
- self.define('COSTA_WITH_TESTS', 'OFF'),
- self.define('COSTA_WITH_PROFILING', 'OFF'),
- self.define('COSTA_SCALAPACK', self.costa_scalapack_cmake_arg()),
- self.define('BUILD_SHARED_LIBS', '+shared' in self.spec)
+ self.define("COSTA_WITH_BENCHMARKS", "OFF"),
+ self.define("COSTA_WITH_APPS", "OFF"),
+ self.define("COSTA_WITH_TESTS", "OFF"),
+ self.define("COSTA_WITH_PROFILING", "OFF"),
+ self.define("COSTA_SCALAPACK", self.costa_scalapack_cmake_arg()),
+ self.define("BUILD_SHARED_LIBS", "+shared" in self.spec),
]
diff --git a/var/spack/repos/builtin/packages/cotter/package.py b/var/spack/repos/builtin/packages/cotter/package.py
index 6f6bf396e9..4cb5d19128 100644
--- a/var/spack/repos/builtin/packages/cotter/package.py
+++ b/var/spack/repos/builtin/packages/cotter/package.py
@@ -10,11 +10,11 @@ class Cotter(CMakePackage):
"""Andre Offringa's cotter pre-processing pipeline."""
homepage = "https://github.com/MWATelescope/cotter"
- git = "https://github.com/MWATelescope/cotter.git"
+ git = "https://github.com/MWATelescope/cotter.git"
- version('master', branch='master')
- version('20190205', commit='b7b07f3298a8d57b9dfff0b72fc21e68b23a42da')
+ version("master", branch="master")
+ version("20190205", commit="b7b07f3298a8d57b9dfff0b72fc21e68b23a42da")
- depends_on('erfa')
- depends_on('pal')
- depends_on('aoflagger')
+ depends_on("erfa")
+ depends_on("pal")
+ depends_on("aoflagger")
diff --git a/var/spack/repos/builtin/packages/couchdb/package.py b/var/spack/repos/builtin/packages/couchdb/package.py
index 3682b3bab4..65cd32d299 100644
--- a/var/spack/repos/builtin/packages/couchdb/package.py
+++ b/var/spack/repos/builtin/packages/couchdb/package.py
@@ -12,30 +12,30 @@ class Couchdb(AutotoolsPackage):
for reading and updating (add, edit, delete) database documents."""
homepage = "https://couchdb.apache.org/"
- url = "https://archive.apache.org/dist/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz"
-
- version('3.1.0', sha256='4867c796a1ff6f0794b7bd3863089ea6397bd5c47544f9b97db8cdacff90f8ed')
- version('3.0.1', sha256='08d61d5c779957d074d5097f28a2dfc9eb518af3c479d5318135ff31212cc522')
- version('3.0.0', sha256='d109bb1a70fe746c04a9bf79a2bb1096cb949c750c29dbd196e9c2efd4167fd9')
-
- depends_on('icu4c')
- depends_on('openssl')
- depends_on('curl')
- depends_on('node-js@6:')
- depends_on('mozjs@1.8.5')
- depends_on('gmake', type='build')
- depends_on('help2man', type='build')
- depends_on('python', type=('build', 'run'))
- depends_on('erlang@:22', type=('build', 'run'))
+ url = "https://archive.apache.org/dist/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz"
+
+ version("3.1.0", sha256="4867c796a1ff6f0794b7bd3863089ea6397bd5c47544f9b97db8cdacff90f8ed")
+ version("3.0.1", sha256="08d61d5c779957d074d5097f28a2dfc9eb518af3c479d5318135ff31212cc522")
+ version("3.0.0", sha256="d109bb1a70fe746c04a9bf79a2bb1096cb949c750c29dbd196e9c2efd4167fd9")
+
+ depends_on("icu4c")
+ depends_on("openssl")
+ depends_on("curl")
+ depends_on("node-js@6:")
+ depends_on("mozjs@1.8.5")
+ depends_on("gmake", type="build")
+ depends_on("help2man", type="build")
+ depends_on("python", type=("build", "run"))
+ depends_on("erlang@:22", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('CPATH', self.spec['mozjs'].prefix.include.js)
+ env.set("CPATH", self.spec["mozjs"].prefix.include.js)
def configure_args(self):
- args = ['--disable-docs']
+ args = ["--disable-docs"]
return args
def install(self, spec, prefix):
- make('release')
- with working_dir('rel/couchdb/'):
- install_tree('.', prefix)
+ make("release")
+ with working_dir("rel/couchdb/"):
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cowsay/package.py b/var/spack/repos/builtin/packages/cowsay/package.py
index 813c39dd70..aaa774615e 100644
--- a/var/spack/repos/builtin/packages/cowsay/package.py
+++ b/var/spack/repos/builtin/packages/cowsay/package.py
@@ -10,12 +10,12 @@ class Cowsay(Package):
"""A program that generates ASCII pictures of a cow with a message."""
homepage = "https://github.com/tnalpgge/rank-amateur-cowsay"
- url = "https://github.com/tnalpgge/rank-amateur-cowsay/archive/cowsay-3.04.tar.gz"
+ url = "https://github.com/tnalpgge/rank-amateur-cowsay/archive/cowsay-3.04.tar.gz"
- version('3.04', sha256='d8b871332cfc1f0b6c16832ecca413ca0ac14d58626491a6733829e3d655878b')
+ version("3.04", sha256="d8b871332cfc1f0b6c16832ecca413ca0ac14d58626491a6733829e3d655878b")
- depends_on('perl', type=('run'))
+ depends_on("perl", type=("run"))
def install(self, spec, prefix):
- install_sh = Executable('./install.sh')
+ install_sh = Executable("./install.sh")
install_sh(prefix)
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py
index e4d5e20eb5..b62e0c8450 100644
--- a/var/spack/repos/builtin/packages/cp2k/package.py
+++ b/var/spack/repos/builtin/packages/cp2k/package.py
@@ -15,430 +15,452 @@ class Cp2k(MakefilePackage, CudaPackage):
that can perform atomistic simulations of solid state, liquid, molecular,
periodic, material, crystal, and biological systems
"""
- homepage = 'https://www.cp2k.org'
- url = 'https://github.com/cp2k/cp2k/releases/download/v3.0.0/cp2k-3.0.tar.bz2'
- git = 'https://github.com/cp2k/cp2k.git'
- list_url = 'https://github.com/cp2k/cp2k/releases'
-
- maintainers = ['dev-zero']
-
- version('9.1', sha256='fedb4c684a98ad857cd49b69a3ae51a73f85a9c36e9cb63e3b02320c74454ce6')
- version('8.2', sha256='2e24768720efed1a5a4a58e83e2aca502cd8b95544c21695eb0de71ed652f20a')
- version('8.1', sha256='7f37aead120730234a60b2989d0547ae5e5498d93b1e9b5eb548c041ee8e7772')
- version('7.1', sha256='ccd711a09a426145440e666310dd01cc5772ab103493c4ae6a3470898cd0addb')
- version('6.1', sha256='af803558e0a6b9e9d9ce8a3ab955ba32bacd179922455424e061c82c9fefa34b')
- version('5.1', sha256='e23613b593354fa82e0b8410e17d94c607a0b8c6d9b5d843528403ab09904412')
- version('4.1', sha256='4a3e4a101d8a35ebd80a9e9ecb02697fb8256364f1eccdbe4e5a85d31fe21343')
- version('3.0', sha256='1acfacef643141045b7cbade7006f9b7538476d861eeecd9658c9e468dc61151')
- version('master', branch='master', submodules="True")
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('smm', default='libxsmm', values=('libxsmm', 'libsmm', 'blas'),
- description='Library for small matrix multiplications')
- variant('plumed', default=False, description='Enable PLUMED support')
- variant('libint', default=True,
- description='Use libint, required for HFX (and possibly others)')
- variant('libxc', default=True,
- description='Support additional functionals via libxc')
- variant('pexsi', default=False,
- description=('Enable the alternative PEXSI method'
- 'for density matrix evaluation'))
- variant('elpa', default=False,
- description='Enable optimised diagonalisation routines from ELPA')
- variant('sirius', default=False,
- description=('Enable planewave electronic structure'
- ' calculations via SIRIUS'))
- variant('cosma', default=False, description='Use COSMA for p?gemm')
- variant('libvori', default=False,
- description=('Enable support for Voronoi integration'
- ' and BQB compression'))
- variant('spglib', default=False, description='Enable support for spglib')
-
- with when('+cuda'):
- variant('cuda_arch_35_k20x', default=False,
- description=('CP2K (resp. DBCSR) has specific parameter sets for'
- ' different GPU models. Enable this when building'
- ' with cuda_arch=35 for a K20x instead of a K40'))
- variant('cuda_fft', default=False,
- description=('Use CUDA also for FFTs in the PW part of CP2K'))
- variant('cuda_blas', default=False, when='@:7', # req in CP2K v8+
- description=('Use CUBLAS for general matrix operations in DBCSR'))
+
+ homepage = "https://www.cp2k.org"
+ url = "https://github.com/cp2k/cp2k/releases/download/v3.0.0/cp2k-3.0.tar.bz2"
+ git = "https://github.com/cp2k/cp2k.git"
+ list_url = "https://github.com/cp2k/cp2k/releases"
+
+ maintainers = ["dev-zero"]
+
+ version("9.1", sha256="fedb4c684a98ad857cd49b69a3ae51a73f85a9c36e9cb63e3b02320c74454ce6")
+ version("8.2", sha256="2e24768720efed1a5a4a58e83e2aca502cd8b95544c21695eb0de71ed652f20a")
+ version("8.1", sha256="7f37aead120730234a60b2989d0547ae5e5498d93b1e9b5eb548c041ee8e7772")
+ version("7.1", sha256="ccd711a09a426145440e666310dd01cc5772ab103493c4ae6a3470898cd0addb")
+ version("6.1", sha256="af803558e0a6b9e9d9ce8a3ab955ba32bacd179922455424e061c82c9fefa34b")
+ version("5.1", sha256="e23613b593354fa82e0b8410e17d94c607a0b8c6d9b5d843528403ab09904412")
+ version("4.1", sha256="4a3e4a101d8a35ebd80a9e9ecb02697fb8256364f1eccdbe4e5a85d31fe21343")
+ version("3.0", sha256="1acfacef643141045b7cbade7006f9b7538476d861eeecd9658c9e468dc61151")
+ version("master", branch="master", submodules="True")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant(
+ "smm",
+ default="libxsmm",
+ values=("libxsmm", "libsmm", "blas"),
+ description="Library for small matrix multiplications",
+ )
+ variant("plumed", default=False, description="Enable PLUMED support")
+ variant(
+ "libint", default=True, description="Use libint, required for HFX (and possibly others)"
+ )
+ variant("libxc", default=True, description="Support additional functionals via libxc")
+ variant(
+ "pexsi",
+ default=False,
+ description=("Enable the alternative PEXSI method" "for density matrix evaluation"),
+ )
+ variant(
+ "elpa", default=False, description="Enable optimised diagonalisation routines from ELPA"
+ )
+ variant(
+ "sirius",
+ default=False,
+ description=("Enable planewave electronic structure" " calculations via SIRIUS"),
+ )
+ variant("cosma", default=False, description="Use COSMA for p?gemm")
+ variant(
+ "libvori",
+ default=False,
+ description=("Enable support for Voronoi integration" " and BQB compression"),
+ )
+ variant("spglib", default=False, description="Enable support for spglib")
+
+ with when("+cuda"):
+ variant(
+ "cuda_arch_35_k20x",
+ default=False,
+ description=(
+ "CP2K (resp. DBCSR) has specific parameter sets for"
+ " different GPU models. Enable this when building"
+ " with cuda_arch=35 for a K20x instead of a K40"
+ ),
+ )
+ variant(
+ "cuda_fft",
+ default=False,
+ description=("Use CUDA also for FFTs in the PW part of CP2K"),
+ )
+ variant(
+ "cuda_blas",
+ default=False,
+ when="@:7", # req in CP2K v8+
+ description=("Use CUBLAS for general matrix operations in DBCSR"),
+ )
HFX_LMAX_RANGE = range(4, 8)
- variant('lmax',
- description='Maximum supported angular momentum (HFX and others)',
- default='5',
- values=[str(x) for x in HFX_LMAX_RANGE],
- multi=False)
+ variant(
+ "lmax",
+ description="Maximum supported angular momentum (HFX and others)",
+ default="5",
+ values=[str(x) for x in HFX_LMAX_RANGE],
+ multi=False,
+ )
- depends_on('python', type='build')
- depends_on('python@3:', when='@8:', type='build')
+ depends_on("python", type="build")
+ depends_on("python@3:", when="@8:", type="build")
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw-api@3')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw-api@3")
# Force openmp propagation on some providers of blas / fftw-api
- with when('+openmp'):
- depends_on('fftw+openmp', when='^fftw')
- depends_on('amdfftw+openmp', when='^amdfftw')
- depends_on('cray-fftw+openmp', when='^cray-fftw')
- depends_on('openblas threads=openmp', when='^openblas')
+ with when("+openmp"):
+ depends_on("fftw+openmp", when="^fftw")
+ depends_on("amdfftw+openmp", when="^amdfftw")
+ depends_on("cray-fftw+openmp", when="^cray-fftw")
+ depends_on("openblas threads=openmp", when="^openblas")
# The Cray compiler wrappers will automatically add libsci_mp with
# -fopenmp. Since CP2K unconditionally links blas/lapack/scalapack
# we have to be consistent.
- depends_on('cray-libsci+openmp', when='^cray-libsci')
+ depends_on("cray-libsci+openmp", when="^cray-libsci")
- with when('smm=libxsmm'):
- depends_on('libxsmm@1.17:~header-only', when='@9.1:')
+ with when("smm=libxsmm"):
+ depends_on("libxsmm@1.17:~header-only", when="@9.1:")
# require libxsmm-1.11+ since 1.10 can leak file descriptors in Fortran
- depends_on('libxsmm@1.11:~header-only', when="@:8.9")
+ depends_on("libxsmm@1.11:~header-only", when="@:8.9")
# use pkg-config (support added in libxsmm-1.10) to link to libxsmm
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# please set variants: smm=blas by configuring packages.yaml or install
# cp2k with option smm=blas on aarch64
- conflicts('target=aarch64:', msg='libxsmm is not available on arm')
+ conflicts("target=aarch64:", msg="libxsmm is not available on arm")
- with when('+libint'):
+ with when("+libint"):
# ... and in CP2K 7.0+ for linking to libint2
- depends_on('pkgconfig', type='build', when='@7.0:')
+ depends_on("pkgconfig", type="build", when="@7.0:")
# libint & libxc are always statically linked
- depends_on('libint@1.1.4:1.2', when='@3.0:6.9')
+ depends_on("libint@1.1.4:1.2", when="@3.0:6.9")
for lmax in HFX_LMAX_RANGE:
# libint2 can be linked dynamically again
- depends_on('libint@2.6.0:+fortran tune=cp2k-lmax-{0}'.format(lmax),
- when='@7.0: lmax={0}'.format(lmax))
-
- with when('+libxc'):
- depends_on('pkgconfig', type='build', when='@7.0:')
- depends_on('libxc@2.2.2:3', when='@:5', type='build')
- depends_on('libxc@4.0.3:4', when='@6.0:6.9', type='build')
- depends_on('libxc@4.0.3:4', when='@7.0:8.1')
- depends_on('libxc@5.1.3:5.1', when='@8.2:8')
- depends_on('libxc@5.1.7:5.1', when='@9:')
-
- with when('+mpi'):
- depends_on('mpi@2:')
- depends_on('scalapack')
-
- with when('+cosma'):
- depends_on('cosma+scalapack')
- depends_on('cosma@2.5.1:', when='@9:')
- depends_on('cosma+cuda', when='+cuda')
- conflicts('~mpi')
+ depends_on(
+ "libint@2.6.0:+fortran tune=cp2k-lmax-{0}".format(lmax),
+ when="@7.0: lmax={0}".format(lmax),
+ )
+
+ with when("+libxc"):
+ depends_on("pkgconfig", type="build", when="@7.0:")
+ depends_on("libxc@2.2.2:3", when="@:5", type="build")
+ depends_on("libxc@4.0.3:4", when="@6.0:6.9", type="build")
+ depends_on("libxc@4.0.3:4", when="@7.0:8.1")
+ depends_on("libxc@5.1.3:5.1", when="@8.2:8")
+ depends_on("libxc@5.1.7:5.1", when="@9:")
+
+ with when("+mpi"):
+ depends_on("mpi@2:")
+ depends_on("scalapack")
+
+ with when("+cosma"):
+ depends_on("cosma+scalapack")
+ depends_on("cosma@2.5.1:", when="@9:")
+ depends_on("cosma+cuda", when="+cuda")
+ conflicts("~mpi")
# COSMA support was introduced in 8+
- conflicts('@:7')
-
- with when('+elpa'):
- conflicts('~mpi', msg='elpa requires MPI')
- depends_on('elpa+openmp', when='+openmp')
- depends_on('elpa~openmp', when='~openmp')
- depends_on('elpa@2011.12:2016.13', when='@:5')
- depends_on('elpa@2011.12:2017.11', when='@6.0:6')
- depends_on('elpa@2018.05:2020.11.001', when='@7.0:8.2')
- depends_on('elpa@2021.05:', when='@8.3:')
- depends_on('elpa@2021.11.001:', when='@9.1:')
-
- with when('+plumed'):
- depends_on('plumed+shared')
- depends_on('plumed+mpi', when='+mpi')
- depends_on('plumed~mpi', when='~mpi')
+ conflicts("@:7")
+
+ with when("+elpa"):
+ conflicts("~mpi", msg="elpa requires MPI")
+ depends_on("elpa+openmp", when="+openmp")
+ depends_on("elpa~openmp", when="~openmp")
+ depends_on("elpa@2011.12:2016.13", when="@:5")
+ depends_on("elpa@2011.12:2017.11", when="@6.0:6")
+ depends_on("elpa@2018.05:2020.11.001", when="@7.0:8.2")
+ depends_on("elpa@2021.05:", when="@8.3:")
+ depends_on("elpa@2021.11.001:", when="@9.1:")
+
+ with when("+plumed"):
+ depends_on("plumed+shared")
+ depends_on("plumed+mpi", when="+mpi")
+ depends_on("plumed~mpi", when="~mpi")
# while we link statically against PEXSI, its own deps may be linked in
# dynamically, therefore can't set this as pure build-type dependency.
- with when('+pexsi'):
- conflicts('~mpi', msg='pexsi requires MPI')
- depends_on('pexsi+fortran@0.9.0:0.9', when='@:4')
- depends_on('pexsi+fortran@0.10.0:', when='@5.0:')
+ with when("+pexsi"):
+ conflicts("~mpi", msg="pexsi requires MPI")
+ depends_on("pexsi+fortran@0.9.0:0.9", when="@:4")
+ depends_on("pexsi+fortran@0.10.0:", when="@5.0:")
# only OpenMP should be consistently used, all other common things
# 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+shared')
- depends_on('sirius+openmp', when='+openmp')
- depends_on('sirius~openmp', when='~openmp')
- depends_on('sirius@:6', when='@:7')
- depends_on('sirius@7.0.0:7.0', when='@8:8.2')
- depends_on('sirius@7.2', when='@8.3:8.9')
- depends_on('sirius@7.3:', when='@9.1')
- conflicts('~mpi')
+ with when("+sirius"):
+ depends_on("sirius+fortran+shared")
+ depends_on("sirius+openmp", when="+openmp")
+ depends_on("sirius~openmp", when="~openmp")
+ depends_on("sirius@:6", when="@:7")
+ depends_on("sirius@7.0.0:7.0", when="@8:8.2")
+ depends_on("sirius@7.2", when="@8.3:8.9")
+ depends_on("sirius@7.3:", when="@9.1")
+ conflicts("~mpi")
# sirius support was introduced in 7+
- conflicts('@:6')
+ conflicts("@:6")
- with when('+libvori'):
- depends_on('libvori@201219:', when='@8.1', type='build')
- depends_on('libvori@210412:', when='@8.2:', type='build')
+ with when("+libvori"):
+ depends_on("libvori@201219:", when="@8.1", type="build")
+ depends_on("libvori@210412:", when="@8.2:", type="build")
# libvori support was introduced in 8+
- conflicts('@:7')
+ conflicts("@:7")
# the bundled libcusmm uses numpy in the parameter prediction (v7+)
# which is written using Python 3
- depends_on('py-numpy', when='@7:+cuda', type='build')
- depends_on('python@3.6:', when='@7:+cuda', type='build')
+ depends_on("py-numpy", when="@7:+cuda", type="build")
+ depends_on("python@3.6:", when="@7:+cuda", type="build")
- depends_on('spglib', when='+spglib')
+ depends_on("spglib", when="+spglib")
# Apparently cp2k@4.1 needs an "experimental" version of libwannier.a
# which is only available contacting the developer directly. See INSTALL
# in the stage of cp2k@4.1
- depends_on('wannier90', when='@3.0+mpi', type='build')
+ depends_on("wannier90", when="@3.0+mpi", type="build")
# CP2K needs compiler specific compilation flags, e.g. optflags
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%nag')
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%nag")
- conflicts('~openmp', when='@8:', msg='Building without OpenMP is not supported in CP2K 8+')
+ conflicts("~openmp", when="@8:", msg="Building without OpenMP is not supported in CP2K 8+")
# We only support specific cuda_archs for which we have parameter files
# for optimal kernels. Note that we don't override the cuda_archs property
# from the parent class, since the parent class defines constraints for all
# versions. Instead just mark all unsupported cuda archs as conflicting.
- dbcsr_cuda_archs = ('35', '37', '60', '70')
- cuda_msg = 'cp2k only supports cuda_arch {0}'.format(dbcsr_cuda_archs)
+ dbcsr_cuda_archs = ("35", "37", "60", "70")
+ cuda_msg = "cp2k only supports cuda_arch {0}".format(dbcsr_cuda_archs)
for arch in CudaPackage.cuda_arch_values:
if arch not in dbcsr_cuda_archs:
- conflicts('+cuda', when='cuda_arch={0}'.format(arch), msg=cuda_msg)
+ conflicts("+cuda", when="cuda_arch={0}".format(arch), msg=cuda_msg)
- conflicts('+cuda', when='cuda_arch=none', msg=cuda_msg)
+ conflicts("+cuda", when="cuda_arch=none", msg=cuda_msg)
# Fix 2- and 3-center integral calls to libint
- patch("https://github.com/cp2k/cp2k/commit/5eaf864ed2bd21fb1b05a9173bb77a815ad4deda.patch?full_index=1",
- sha256="3617abb877812c4b933f601438c70f95e21c6161bea177277b1d4125fd1c0bf9",
- when="@8.2")
+ patch(
+ "https://github.com/cp2k/cp2k/commit/5eaf864ed2bd21fb1b05a9173bb77a815ad4deda.patch?full_index=1",
+ sha256="3617abb877812c4b933f601438c70f95e21c6161bea177277b1d4125fd1c0bf9",
+ when="@8.2",
+ )
@property
def makefile_architecture(self):
- return '{0.architecture}-{0.compiler.name}'.format(self.spec)
+ return "{0.architecture}-{0.compiler.name}".format(self.spec)
@property
def makefile_version(self):
- return '{prefix}{suffix}'.format(
- prefix='p' if '+mpi' in self.spec else 's',
- suffix='smp' if '+openmp' in self.spec else 'opt'
+ return "{prefix}{suffix}".format(
+ prefix="p" if "+mpi" in self.spec else "s",
+ suffix="smp" if "+openmp" in self.spec else "opt",
)
@property
def makefile(self):
- makefile_basename = '.'.join([
- self.makefile_architecture, self.makefile_version
- ])
- return join_path('arch', makefile_basename)
+ makefile_basename = ".".join([self.makefile_architecture, self.makefile_version])
+ return join_path("arch", makefile_basename)
@property
def archive_files(self):
return [join_path(self.stage.source_path, self.makefile)]
def edit(self, spec, prefix):
- pkgconf = which('pkg-config')
+ pkgconf = which("pkg-config")
- if '^fftw' in spec:
- fftw = spec['fftw:openmp' if '+openmp' in spec else 'fftw']
+ if "^fftw" in spec:
+ fftw = spec["fftw:openmp" if "+openmp" in spec else "fftw"]
fftw_header_dir = fftw.headers.directories[0]
- elif '^amdfftw' in spec:
- fftw = spec['amdfftw:openmp' if '+openmp' in spec else 'amdfftw']
+ elif "^amdfftw" in spec:
+ fftw = spec["amdfftw:openmp" if "+openmp" in spec else "amdfftw"]
fftw_header_dir = fftw.headers.directories[0]
- elif '^intel-mkl' in spec:
- fftw = spec['intel-mkl']
- fftw_header_dir = fftw.headers.directories[0] + '/fftw'
- elif '^intel-oneapi-mkl' in spec:
- fftw = spec['intel-oneapi-mkl']
- fftw_header_dir = fftw.headers.directories[0] + '/fftw'
- elif '^intel-parallel-studio+mkl' in spec:
- fftw = spec['intel-parallel-studio']
- fftw_header_dir = '<NOTFOUND>'
- for incdir in [join_path(f, 'fftw')
- for f in fftw.headers.directories]:
+ elif "^intel-mkl" in spec:
+ fftw = spec["intel-mkl"]
+ fftw_header_dir = fftw.headers.directories[0] + "/fftw"
+ elif "^intel-oneapi-mkl" in spec:
+ fftw = spec["intel-oneapi-mkl"]
+ fftw_header_dir = fftw.headers.directories[0] + "/fftw"
+ elif "^intel-parallel-studio+mkl" in spec:
+ fftw = spec["intel-parallel-studio"]
+ fftw_header_dir = "<NOTFOUND>"
+ for incdir in [join_path(f, "fftw") for f in fftw.headers.directories]:
if os.path.exists(incdir):
fftw_header_dir = incdir
break
- elif '^cray-fftw' in spec:
- fftw = spec['cray-fftw']
+ elif "^cray-fftw" in spec:
+ fftw = spec["cray-fftw"]
fftw_header_dir = fftw.headers.directories[0]
optimization_flags = {
- 'gcc': [
- '-O2',
- '-funroll-loops',
- '-ftree-vectorize',
+ "gcc": [
+ "-O2",
+ "-funroll-loops",
+ "-ftree-vectorize",
],
- 'intel': ['-O2', '-pc64', '-unroll', ],
- 'pgi': ['-fast'],
- 'nvhpc': ['-fast'],
- 'cce': ['-O2'],
- 'xl': ['-O3'],
- 'aocc': ['-O1'],
+ "intel": [
+ "-O2",
+ "-pc64",
+ "-unroll",
+ ],
+ "pgi": ["-fast"],
+ "nvhpc": ["-fast"],
+ "cce": ["-O2"],
+ "xl": ["-O3"],
+ "aocc": ["-O1"],
}
- dflags = ['-DNDEBUG']
+ dflags = ["-DNDEBUG"]
cppflags = [
- '-D__FFTW3',
- '-I{0}'.format(fftw_header_dir),
+ "-D__FFTW3",
+ "-I{0}".format(fftw_header_dir),
]
- if '^mpi@3:' in spec:
- cppflags.append('-D__MPI_VERSION=3')
- elif '^mpi@2:' in spec:
- cppflags.append('-D__MPI_VERSION=2')
+ if "^mpi@3:" in spec:
+ cppflags.append("-D__MPI_VERSION=3")
+ elif "^mpi@2:" in spec:
+ cppflags.append("-D__MPI_VERSION=2")
cflags = optimization_flags[self.spec.compiler.name][:]
cxxflags = optimization_flags[self.spec.compiler.name][:]
fcflags = optimization_flags[self.spec.compiler.name][:]
- nvflags = ['-O3']
+ nvflags = ["-O3"]
ldflags = []
libs = []
- gpuver = ''
+ gpuver = ""
- if '%intel' in spec:
- cflags.append('-fp-model precise')
- cxxflags.append('-fp-model precise')
+ if "%intel" in spec:
+ cflags.append("-fp-model precise")
+ cxxflags.append("-fp-model precise")
fcflags += [
- '-fp-model precise',
- '-heap-arrays 64',
- '-g',
- '-traceback',
+ "-fp-model precise",
+ "-heap-arrays 64",
+ "-g",
+ "-traceback",
]
- elif '%gcc' in spec:
+ elif "%gcc" in spec:
fcflags += [
- '-ffree-form',
- '-ffree-line-length-none',
- '-ggdb', # make sure we get proper Fortran backtraces
+ "-ffree-form",
+ "-ffree-line-length-none",
+ "-ggdb", # make sure we get proper Fortran backtraces
]
- elif '%aocc' in spec:
+ elif "%aocc" in spec:
fcflags += [
- '-ffree-form',
- '-Mbackslash',
+ "-ffree-form",
+ "-Mbackslash",
]
- elif '%pgi' in spec or '%nvhpc' in spec:
- fcflags += ['-Mfreeform', '-Mextend']
- elif '%cce' in spec:
- fcflags += ['-emf', '-ffree', '-hflex_mp=strict']
- elif '%xl' in spec:
- 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:
+ elif "%pgi" in spec or "%nvhpc" in spec:
+ fcflags += ["-Mfreeform", "-Mextend"]
+ elif "%cce" in spec:
+ fcflags += ["-emf", "-ffree", "-hflex_mp=strict"]
+ elif "%xl" in spec:
+ 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)
fcflags.append(self.compiler.openmp_flag)
ldflags.append(self.compiler.openmp_flag)
- nvflags.append('-Xcompiler="{0}"'.format(
- self.compiler.openmp_flag))
- elif '%cce' in spec: # Cray enables OpenMP by default
- cflags += ['-hnoomp']
- cxxflags += ['-hnoomp']
- fcflags += ['-hnoomp']
- ldflags += ['-hnoomp']
-
- if '@7:' in spec: # recent versions of CP2K use C++14 CUDA code
+ nvflags.append('-Xcompiler="{0}"'.format(self.compiler.openmp_flag))
+ elif "%cce" in spec: # Cray enables OpenMP by default
+ cflags += ["-hnoomp"]
+ cxxflags += ["-hnoomp"]
+ fcflags += ["-hnoomp"]
+ ldflags += ["-hnoomp"]
+
+ if "@7:" in spec: # recent versions of CP2K use C++14 CUDA code
cxxflags.append(self.compiler.cxx14_flag)
nvflags.append(self.compiler.cxx14_flag)
ldflags.append(fftw.libs.search_flags)
- if 'superlu-dist@4.3' in spec:
- ldflags.insert(0, '-Wl,--allow-multiple-definition')
+ if "superlu-dist@4.3" in spec:
+ ldflags.insert(0, "-Wl,--allow-multiple-definition")
- if '+plumed' in self.spec:
- dflags.extend(['-D__PLUMED2'])
- cppflags.extend(['-D__PLUMED2'])
- libs.extend([
- join_path(self.spec['plumed'].prefix.lib,
- 'libplumed.{0}'.format(dso_suffix))
- ])
+ if "+plumed" in self.spec:
+ dflags.extend(["-D__PLUMED2"])
+ cppflags.extend(["-D__PLUMED2"])
+ libs.extend(
+ [join_path(self.spec["plumed"].prefix.lib, "libplumed.{0}".format(dso_suffix))]
+ )
- cc = spack_cc if '~mpi' in spec else spec['mpi'].mpicc
- cxx = spack_cxx if '~mpi' in spec else spec['mpi'].mpicxx
- fc = spack_fc if '~mpi' in spec else spec['mpi'].mpifc
+ cc = spack_cc if "~mpi" in spec else spec["mpi"].mpicc
+ cxx = spack_cxx if "~mpi" in spec else spec["mpi"].mpicxx
+ fc = spack_fc if "~mpi" in spec else spec["mpi"].mpifc
# Intel
- if '%intel' in spec:
- cppflags.extend([
- '-D__INTEL',
- '-D__HAS_ISO_C_BINDING',
- '-D__USE_CP2K_TRACE',
- ])
- fcflags.extend([
- '-diag-disable 8290,8291,10010,10212,11060',
- '-free',
- '-fpp'
- ])
+ if "%intel" in spec:
+ cppflags.extend(
+ [
+ "-D__INTEL",
+ "-D__HAS_ISO_C_BINDING",
+ "-D__USE_CP2K_TRACE",
+ ]
+ )
+ fcflags.extend(["-diag-disable 8290,8291,10010,10212,11060", "-free", "-fpp"])
# FFTW, LAPACK, BLAS
- lapack = spec['lapack'].libs
- blas = spec['blas'].libs
+ lapack = spec["lapack"].libs
+ blas = spec["blas"].libs
ldflags.append((lapack + blas).search_flags)
libs.extend([str(x) for x in (fftw.libs, lapack, blas)])
- if any(p in spec for p in ('^intel-mkl',
- '^intel-parallel-studio+mkl',
- '^intel-oneapi-mkl')):
- cppflags += ['-D__MKL']
- elif '^accelerate' in spec:
- cppflags += ['-D__ACCELERATE']
+ if any(
+ p in spec for p in ("^intel-mkl", "^intel-parallel-studio+mkl", "^intel-oneapi-mkl")
+ ):
+ cppflags += ["-D__MKL"]
+ elif "^accelerate" in spec:
+ cppflags += ["-D__ACCELERATE"]
- if '+cosma' in spec:
+ if "+cosma" in spec:
# add before ScaLAPACK to override the p?gemm symbols
- cosma = spec['cosma'].libs
+ cosma = spec["cosma"].libs
ldflags.append(cosma.search_flags)
libs.extend(cosma)
# MPI
- if '+mpi' in spec:
- cppflags.extend([
- '-D__parallel',
- '-D__SCALAPACK'
- ])
-
- if '^intel-oneapi-mpi' in spec:
- mpi = [join_path(
- spec['intel-oneapi-mpi'].libs.directories[0],
- 'libmpi.so')]
+ if "+mpi" in spec:
+ cppflags.extend(["-D__parallel", "-D__SCALAPACK"])
+
+ if "^intel-oneapi-mpi" in spec:
+ mpi = [join_path(spec["intel-oneapi-mpi"].libs.directories[0], "libmpi.so")]
else:
- mpi = spec['mpi:cxx'].libs
+ mpi = spec["mpi:cxx"].libs
# while intel-mkl has a mpi variant and adds the scalapack
# libs to its libs, intel-oneapi-mkl does not.
- if '^intel-oneapi-mkl' in spec:
- mpi_impl = 'openmpi' if '^openmpi' in spec else 'intelmpi'
+ if "^intel-oneapi-mkl" in spec:
+ mpi_impl = "openmpi" if "^openmpi" in spec else "intelmpi"
scalapack = [
join_path(
- spec['intel-oneapi-mkl'].libs.directories[0],
- 'libmkl_scalapack_lp64.so'),
+ spec["intel-oneapi-mkl"].libs.directories[0], "libmkl_scalapack_lp64.so"
+ ),
join_path(
- spec['intel-oneapi-mkl'].libs.directories[0],
- 'libmkl_blacs_{0}_lp64.so'.format(mpi_impl)
- )
+ spec["intel-oneapi-mkl"].libs.directories[0],
+ "libmkl_blacs_{0}_lp64.so".format(mpi_impl),
+ ),
]
else:
- scalapack = spec['scalapack'].libs
+ scalapack = spec["scalapack"].libs
ldflags.append(scalapack.search_flags)
libs.extend(scalapack)
libs.extend(mpi)
libs.extend(self.compiler.stdcxx_libs)
- if 'wannier90' in spec:
- cppflags.append('-D__WANNIER90')
- wannier = join_path(
- spec['wannier90'].libs.directories[0], 'libwannier.a'
- )
+ if "wannier90" in spec:
+ cppflags.append("-D__WANNIER90")
+ wannier = join_path(spec["wannier90"].libs.directories[0], "libwannier.a")
libs.append(wannier)
- if '+libint' in spec:
- cppflags += ['-D__LIBINT']
+ if "+libint" in spec:
+ cppflags += ["-D__LIBINT"]
- if '@:6.9' in spec:
+ if "@:6.9" in spec:
cppflags += [
- '-D__LIBINT_MAX_AM=6',
- '-D__LIBDERIV_MAX_AM1=5',
+ "-D__LIBINT_MAX_AM=6",
+ "-D__LIBDERIV_MAX_AM1=5",
]
# libint-1.x.y has to be linked statically to work around
@@ -446,168 +468,179 @@ class Cp2k(MakefilePackage, CudaPackage):
# (short-int vs int) which otherwise causes segfaults at
# runtime due to wrong offsets into the shared library
# symbols.
- libs.extend([
- join_path(
- spec['libint'].libs.directories[0], 'libderiv.a'),
- join_path(
- spec['libint'].libs.directories[0], 'libint.a'),
- ])
+ libs.extend(
+ [
+ join_path(spec["libint"].libs.directories[0], "libderiv.a"),
+ join_path(spec["libint"].libs.directories[0], "libint.a"),
+ ]
+ )
else:
- fcflags += pkgconf('--cflags', 'libint2', output=str).split()
- libs += pkgconf('--libs', 'libint2', output=str).split()
+ fcflags += pkgconf("--cflags", "libint2", output=str).split()
+ libs += pkgconf("--libs", "libint2", output=str).split()
- if '+libxc' in spec:
- cppflags += ['-D__LIBXC']
+ if "+libxc" in spec:
+ cppflags += ["-D__LIBXC"]
- if '@:6.9' in spec:
- libxc = spec['libxc:fortran,static']
+ if "@:6.9" in spec:
+ libxc = spec["libxc:fortran,static"]
cppflags += [libxc.headers.cpp_flags]
ldflags.append(libxc.libs.search_flags)
libs.append(str(libxc.libs))
else:
- fcflags += pkgconf('--cflags', 'libxcf03', output=str).split()
+ fcflags += pkgconf("--cflags", "libxcf03", output=str).split()
# some Fortran functions seem to be direct wrappers of the
# C functions such that we get a direct dependency on them,
# requiring `-lxc` to be present in addition to `-lxcf03`
- libs += pkgconf('--libs', 'libxcf03', 'libxc', output=str).split()
-
- if '+pexsi' in spec:
- cppflags.append('-D__LIBPEXSI')
- fcflags.append('-I' + join_path(
- spec['pexsi'].prefix, 'fortran'))
- libs.extend([
- join_path(spec['pexsi'].libs.directories[0], 'libpexsi.a'),
- join_path(spec['superlu-dist'].libs.directories[0],
- 'libsuperlu_dist.a'),
- join_path(
- spec['parmetis'].libs.directories[0],
- 'libparmetis.{0}'.format(dso_suffix)
- ),
- join_path(
- spec['metis'].libs.directories[0],
- 'libmetis.{0}'.format(dso_suffix)
- ),
- ])
-
- if '+elpa' in spec:
- elpa = spec['elpa']
- elpa_suffix = '_openmp' if '+openmp' in elpa else ''
+ libs += pkgconf("--libs", "libxcf03", "libxc", output=str).split()
+
+ if "+pexsi" in spec:
+ cppflags.append("-D__LIBPEXSI")
+ fcflags.append("-I" + join_path(spec["pexsi"].prefix, "fortran"))
+ libs.extend(
+ [
+ join_path(spec["pexsi"].libs.directories[0], "libpexsi.a"),
+ join_path(spec["superlu-dist"].libs.directories[0], "libsuperlu_dist.a"),
+ join_path(
+ spec["parmetis"].libs.directories[0], "libparmetis.{0}".format(dso_suffix)
+ ),
+ join_path(
+ spec["metis"].libs.directories[0], "libmetis.{0}".format(dso_suffix)
+ ),
+ ]
+ )
+
+ if "+elpa" in spec:
+ elpa = spec["elpa"]
+ elpa_suffix = "_openmp" if "+openmp" in elpa else ""
elpa_incdir = elpa.headers.directories[0]
- fcflags += ['-I{0}'.format(join_path(elpa_incdir, 'modules'))]
+ fcflags += ["-I{0}".format(join_path(elpa_incdir, "modules"))]
# Currently AOCC support only static libraries of ELPA
- if '%aocc' in spec:
- libs.append(join_path(elpa.prefix.lib,
- ('libelpa{elpa_suffix}.a'
- .format(elpa_suffix=elpa_suffix))))
+ if "%aocc" in spec:
+ libs.append(
+ join_path(
+ elpa.prefix.lib, ("libelpa{elpa_suffix}.a".format(elpa_suffix=elpa_suffix))
+ )
+ )
else:
- libs.append(join_path(elpa.libs.directories[0],
- ('libelpa{elpa_suffix}.{dso_suffix}'
- .format(elpa_suffix=elpa_suffix,
- dso_suffix=dso_suffix))))
-
- if spec.satisfies('@:4'):
- if elpa.satisfies('@:2014.5'):
- cppflags.append('-D__ELPA')
- elif elpa.satisfies('@2014.6:2015.10'):
- cppflags.append('-D__ELPA2')
+ libs.append(
+ join_path(
+ elpa.libs.directories[0],
+ (
+ "libelpa{elpa_suffix}.{dso_suffix}".format(
+ elpa_suffix=elpa_suffix, dso_suffix=dso_suffix
+ )
+ ),
+ )
+ )
+
+ if spec.satisfies("@:4"):
+ if elpa.satisfies("@:2014.5"):
+ cppflags.append("-D__ELPA")
+ elif elpa.satisfies("@2014.6:2015.10"):
+ cppflags.append("-D__ELPA2")
else:
- cppflags.append('-D__ELPA3')
+ cppflags.append("-D__ELPA3")
else:
- cppflags.append('-D__ELPA={0}{1:02d}'
- .format(elpa.version[0],
- int(elpa.version[1])))
- fcflags += ['-I{0}'.format(join_path(elpa_incdir, 'elpa'))]
-
- if '+cuda' in spec and '+cuda' in elpa:
- cppflags += ['-D__ELPA_NVIDIA_GPU']
-
- if spec.satisfies('+sirius'):
- sirius = spec['sirius']
- cppflags.append('-D__SIRIUS')
- fcflags += ['-I{0}'.format(sirius.prefix.include.sirius)]
+ cppflags.append(
+ "-D__ELPA={0}{1:02d}".format(elpa.version[0], int(elpa.version[1]))
+ )
+ fcflags += ["-I{0}".format(join_path(elpa_incdir, "elpa"))]
+
+ if "+cuda" in spec and "+cuda" in elpa:
+ cppflags += ["-D__ELPA_NVIDIA_GPU"]
+
+ if spec.satisfies("+sirius"):
+ sirius = spec["sirius"]
+ cppflags.append("-D__SIRIUS")
+ fcflags += ["-I{0}".format(sirius.prefix.include.sirius)]
libs += list(sirius.libs)
- if spec.satisfies('+cuda'):
+ if spec.satisfies("+cuda"):
libs += [
- '-L{}'.format(spec['cuda'].libs.directories[0]),
- '-L{}/stubs'.format(spec['cuda'].libs.directories[0]),
- '-lcuda', '-lcudart', '-lnvrtc', '-lstdc++']
+ "-L{}".format(spec["cuda"].libs.directories[0]),
+ "-L{}/stubs".format(spec["cuda"].libs.directories[0]),
+ "-lcuda",
+ "-lcudart",
+ "-lnvrtc",
+ "-lstdc++",
+ ]
- if spec.satisfies('@9:'):
- acc_compiler_var = 'OFFLOAD_CC'
- acc_flags_var = 'OFFLOAD_FLAGS'
+ if spec.satisfies("@9:"):
+ acc_compiler_var = "OFFLOAD_CC"
+ acc_flags_var = "OFFLOAD_FLAGS"
cppflags += [
- '-D__DBCSR_ACC',
- '-D__GRID_CUDA',
- '-DOFFLOAD_TARGET=cuda',
+ "-D__DBCSR_ACC",
+ "-D__GRID_CUDA",
+ "-DOFFLOAD_TARGET=cuda",
]
- libs += ['-lcublas']
+ libs += ["-lcublas"]
else:
- acc_compiler_var = 'NVCC'
- acc_flags_var = 'NVFLAGS'
- cppflags += ['-D__ACC']
- if spec.satisfies('+cuda_blas'):
- cppflags += ['-D__DBCSR_ACC=2']
- libs += ['-lcublas']
+ acc_compiler_var = "NVCC"
+ acc_flags_var = "NVFLAGS"
+ cppflags += ["-D__ACC"]
+ if spec.satisfies("+cuda_blas"):
+ cppflags += ["-D__DBCSR_ACC=2"]
+ libs += ["-lcublas"]
else:
- cppflags += ['-D__DBCSR_ACC']
+ cppflags += ["-D__DBCSR_ACC"]
- if spec.satisfies('+cuda_fft'):
- cppflags += ['-D__PW_CUDA']
- libs += ['-lcufft', '-lcublas']
+ if spec.satisfies("+cuda_fft"):
+ cppflags += ["-D__PW_CUDA"]
+ libs += ["-lcufft", "-lcublas"]
- cuda_arch = spec.variants['cuda_arch'].value[0]
+ cuda_arch = spec.variants["cuda_arch"].value[0]
if cuda_arch:
gpuver = {
- '35': 'K40',
- '37': 'K80',
- '60': 'P100',
- '70': 'V100',
+ "35": "K40",
+ "37": "K80",
+ "60": "P100",
+ "70": "V100",
}[cuda_arch]
- if (cuda_arch == '35'
- and spec.satisfies('+cuda_arch_35_k20x')):
- gpuver = 'K20X'
+ if cuda_arch == "35" and spec.satisfies("+cuda_arch_35_k20x"):
+ gpuver = "K20X"
- if 'smm=libsmm' in spec:
- lib_dir = join_path(
- 'lib', self.makefile_architecture, self.makefile_version
- )
+ if "smm=libsmm" in spec:
+ lib_dir = join_path("lib", self.makefile_architecture, self.makefile_version)
mkdirp(lib_dir)
try:
- copy(env['LIBSMM_PATH'], join_path(lib_dir, 'libsmm.a'))
+ copy(env["LIBSMM_PATH"], join_path(lib_dir, "libsmm.a"))
except KeyError:
- raise KeyError('Point environment variable LIBSMM_PATH to '
- 'the absolute path of the libsmm.a file')
+ raise KeyError(
+ "Point environment variable LIBSMM_PATH to "
+ "the absolute path of the libsmm.a file"
+ )
except IOError:
- raise IOError('The file LIBSMM_PATH pointed to does not '
- 'exist. Note that it must be absolute path.')
- cppflags.extend([
- '-D__HAS_smm_dnn',
- '-D__HAS_smm_vec',
- ])
- libs.append('-lsmm')
-
- elif 'smm=libxsmm' in spec:
- cppflags += ['-D__LIBXSMM']
- cppflags += pkgconf('--cflags-only-other', 'libxsmmf',
- output=str).split()
- fcflags += pkgconf('--cflags-only-I', 'libxsmmf',
- output=str).split()
- libs += pkgconf('--libs', 'libxsmmf', output=str).split()
-
- if '+libvori' in spec:
- cppflags += ['-D__LIBVORI']
- libvori = spec['libvori'].libs
+ raise IOError(
+ "The file LIBSMM_PATH pointed to does not "
+ "exist. Note that it must be absolute path."
+ )
+ cppflags.extend(
+ [
+ "-D__HAS_smm_dnn",
+ "-D__HAS_smm_vec",
+ ]
+ )
+ libs.append("-lsmm")
+
+ elif "smm=libxsmm" in spec:
+ cppflags += ["-D__LIBXSMM"]
+ cppflags += pkgconf("--cflags-only-other", "libxsmmf", output=str).split()
+ fcflags += pkgconf("--cflags-only-I", "libxsmmf", output=str).split()
+ libs += pkgconf("--libs", "libxsmmf", output=str).split()
+
+ if "+libvori" in spec:
+ cppflags += ["-D__LIBVORI"]
+ libvori = spec["libvori"].libs
ldflags += [libvori.search_flags]
libs += libvori
- libs += ['-lstdc++']
+ libs += ["-lstdc++"]
- if '+spglib' in spec:
- cppflags += ['-D__SPGLIB']
- spglib = spec['spglib'].libs
+ if "+spglib" in spec:
+ cppflags += ["-D__SPGLIB"]
+ spglib = spec["spglib"].libs
ldflags += [spglib.search_flags]
libs += spglib
@@ -617,22 +650,20 @@ class Cp2k(MakefilePackage, CudaPackage):
fcflags.extend(cppflags)
nvflags.extend(cppflags)
- with open(self.makefile, 'w') as mkf:
- if '+plumed' in spec:
- mkf.write('# include Plumed.inc as recommended by'
- 'PLUMED to include libraries and flags')
- mkf.write('include {0}\n'.format(
- spec['plumed'].package.plumed_inc
- ))
-
- mkf.write('\n# COMPILER, LINKER, TOOLS\n\n')
- mkf.write('FC = {0}\n'
- 'CC = {1}\n'
- 'CXX = {2}\n'
- 'LD = {3}\n'
- .format(fc, cc, cxx, fc))
-
- if '%intel' in spec:
+ with open(self.makefile, "w") as mkf:
+ if "+plumed" in spec:
+ mkf.write(
+ "# include Plumed.inc as recommended by"
+ "PLUMED to include libraries and flags"
+ )
+ mkf.write("include {0}\n".format(spec["plumed"].package.plumed_inc))
+
+ mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
+ mkf.write(
+ "FC = {0}\n" "CC = {1}\n" "CXX = {2}\n" "LD = {3}\n".format(fc, cc, cxx, fc)
+ )
+
+ if "%intel" in spec:
intel_bin_dir = ancestor(self.compiler.cc)
# CPP is a commented command in Intel arch of CP2K
# This is the hack through which cp2k developers avoid doing :
@@ -640,60 +671,60 @@ class Cp2k(MakefilePackage, CudaPackage):
# ${CPP} <file>.F > <file>.f90
#
# and use `-fpp` instead
- mkf.write('CPP = # {0} -P\n'.format(spack_cc))
- mkf.write('AR = {0}/xiar -r\n'.format(intel_bin_dir))
+ mkf.write("CPP = # {0} -P\n".format(spack_cc))
+ mkf.write("AR = {0}/xiar -r\n".format(intel_bin_dir))
else:
- mkf.write('CPP = # {0} -E\n'.format(spack_cc))
- mkf.write('AR = ar -r\n')
+ mkf.write("CPP = # {0} -E\n".format(spack_cc))
+ mkf.write("AR = ar -r\n")
- if '+cuda' in spec:
- mkf.write('{0} = {1}\n'.format(
- acc_compiler_var,
- join_path(spec['cuda'].prefix, 'bin', 'nvcc')))
+ if "+cuda" in spec:
+ mkf.write(
+ "{0} = {1}\n".format(
+ acc_compiler_var, join_path(spec["cuda"].prefix, "bin", "nvcc")
+ )
+ )
# Write compiler flags to file
def fflags(var, lst):
- return '{0} = {1}\n\n'.format(
- var,
- ' \\\n\t'.join(lst))
-
- mkf.write('\n# FLAGS & LIBRARIES\n')
- mkf.write(fflags('DFLAGS', dflags))
- mkf.write(fflags('CPPFLAGS', cppflags))
- mkf.write(fflags('CFLAGS', cflags))
- mkf.write(fflags('CXXFLAGS', cxxflags))
- if '+cuda' in spec:
+ return "{0} = {1}\n\n".format(var, " \\\n\t".join(lst))
+
+ mkf.write("\n# FLAGS & LIBRARIES\n")
+ mkf.write(fflags("DFLAGS", dflags))
+ mkf.write(fflags("CPPFLAGS", cppflags))
+ mkf.write(fflags("CFLAGS", cflags))
+ mkf.write(fflags("CXXFLAGS", cxxflags))
+ if "+cuda" in spec:
mkf.write(fflags(acc_flags_var, nvflags))
- mkf.write(fflags('FCFLAGS', fcflags))
- mkf.write(fflags('LDFLAGS', ldflags))
- mkf.write(fflags('LIBS', libs))
+ mkf.write(fflags("FCFLAGS", fcflags))
+ mkf.write(fflags("LDFLAGS", ldflags))
+ mkf.write(fflags("LIBS", libs))
- if '%intel' in spec:
- mkf.write(fflags('LDFLAGS_C', ldflags + ['-nofor-main']))
+ if "%intel" in spec:
+ mkf.write(fflags("LDFLAGS_C", ldflags + ["-nofor-main"]))
- mkf.write('# CP2K-specific flags\n\n')
- mkf.write('GPUVER = {0}\n'.format(gpuver))
- mkf.write('DATA_DIR = {0}\n'.format(self.prefix.share.data))
+ mkf.write("# CP2K-specific flags\n\n")
+ mkf.write("GPUVER = {0}\n".format(gpuver))
+ mkf.write("DATA_DIR = {0}\n".format(self.prefix.share.data))
@property
def build_directory(self):
build_dir = self.stage.source_path
- if self.spec.satisfies('@:6'):
+ if self.spec.satisfies("@:6"):
# prior to version 7.1 was the Makefile located in makefiles/
- build_dir = join_path(build_dir, 'makefiles')
+ build_dir = join_path(build_dir, "makefiles")
return build_dir
@property
def build_targets(self):
return [
- 'ARCH={0}'.format(self.makefile_architecture),
- 'VERSION={0}'.format(self.makefile_version)
+ "ARCH={0}".format(self.makefile_architecture),
+ "VERSION={0}".format(self.makefile_version),
]
def build(self, spec, prefix):
- if '+cuda' in spec and len(spec.variants['cuda_arch'].value) > 1:
+ if "+cuda" in spec and len(spec.variants["cuda_arch"].value) > 1:
raise InstallError("cp2k supports only one cuda_arch at a time")
# Apparently the Makefile bases its paths on PWD
@@ -702,16 +733,15 @@ class Cp2k(MakefilePackage, CudaPackage):
super(Cp2k, self).build(spec, prefix)
def install(self, spec, prefix):
- exe_dir = join_path('exe', self.makefile_architecture)
+ exe_dir = join_path("exe", self.makefile_architecture)
install_tree(exe_dir, self.prefix.bin)
- install_tree('data', self.prefix.share.data)
+ install_tree("data", self.prefix.share.data)
def check(self):
- data_dir = join_path(self.stage.source_path, 'data')
+ data_dir = join_path(self.stage.source_path, "data")
# CP2K < 7 still uses $PWD to detect the current working dir
# and Makefile is in a subdir, account for both facts here:
- with spack.util.environment.set_env(CP2K_DATA_DIR=data_dir,
- PWD=self.build_directory):
+ with spack.util.environment.set_env(CP2K_DATA_DIR=data_dir, PWD=self.build_directory):
with working_dir(self.build_directory):
- make('test', *self.build_targets)
+ make("test", *self.build_targets)
diff --git a/var/spack/repos/builtin/packages/cpio/package.py b/var/spack/repos/builtin/packages/cpio/package.py
index ca0a6fb86c..2538960e6f 100644
--- a/var/spack/repos/builtin/packages/cpio/package.py
+++ b/var/spack/repos/builtin/packages/cpio/package.py
@@ -10,35 +10,36 @@ from spack.package import *
class Cpio(AutotoolsPackage, GNUMirrorPackage):
"""GNU cpio copies files into or out of a cpio or tar archive and the file system.
- The archive can be another file on the disk, a magnetic tape, or a pipe.
+ The archive can be another file on the disk, a magnetic tape, or a pipe.
"""
+
homepage = "https://www.gnu.org/software/cpio/"
gnu_mirror_path = "cpio/cpio-2.13.tar.gz"
- executables = ['^cpio$']
+ executables = ["^cpio$"]
- version('2.13', sha256='e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88')
+ version("2.13", sha256="e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def patch(self):
"""Fix mutiple definition of char *program_name for gcc@10: and clang"""
- filter_file(r'char \*program_name;', '', 'src/global.c')
+ filter_file(r"char \*program_name;", "", "src/global.c")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'\(GNU cpio\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"\(GNU cpio\)\s+(\S+)", output)
return match.group(1) if match else None
def flag_handler(self, name, flags):
spec = self.spec
- if name == 'cflags':
- if '%intel@:17' in spec:
- flags.append('-no-gcc')
+ if name == "cflags":
+ if "%intel@:17" in spec:
+ flags.append("-no-gcc")
- elif '%clang' in spec or '%fj' in spec:
- flags.append('--rtlib=compiler-rt')
+ elif "%clang" in spec or "%fj" in spec:
+ flags.append("--rtlib=compiler-rt")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/cpmd/package.py b/var/spack/repos/builtin/packages/cpmd/package.py
index 944be0f218..18d7cad4ed 100644
--- a/var/spack/repos/builtin/packages/cpmd/package.py
+++ b/var/spack/repos/builtin/packages/cpmd/package.py
@@ -20,87 +20,109 @@ class Cpmd(MakefilePackage):
url = "file://{0}/cpmd-v4.3.tar.gz".format(basedir)
manual_download = True
- version('4.3', sha256='4f31ddf045f1ae5d6f25559d85ddbdab4d7a6200362849df833632976d095df4')
-
- variant('omp', description='Enables the use of OMP instructions',
- default=False)
- variant('mpi', description='Build with MPI support', default=False)
-
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
-
- conflicts('^openblas threads=none', when='+omp')
- conflicts('^openblas threads=pthreads', when='+omp')
-
- patch('file://{0}/patch.to.4612'.format(basedir), sha256='3b7d91e04c40418ad958069234ec7253fbf6c4be361a1d5cfd804774eeb44915', level=0, when='@4.3')
- patch('file://{0}/patch.to.4615'.format(basedir), sha256='5ec5790fb6ca64632bcc1b0f5b8f3423c54455766a0979ff4136624bbe8d49eb', level=0, when='@4.3')
- patch('file://{0}/patch.to.4616'.format(basedir), sha256='ac0bc215c4259f55da4dc59803fe636f797e241f8a01974e05730c9778ad44c4', level=0, when='@4.3')
- patch('file://{0}/patch.to.4621'.format(basedir), sha256='2d2bc7e37246032fc354f51da7dbdb5a219dd228867399931b0e94da1265d5ca', level=0, when='@4.3')
- patch('file://{0}/patch.to.4624'.format(basedir), sha256='0a19687528264bf91c9f50ffdc0b920a8511eecf5259b667c8c29350f9dabc53', level=0, when='@4.3')
+ version("4.3", sha256="4f31ddf045f1ae5d6f25559d85ddbdab4d7a6200362849df833632976d095df4")
+
+ variant("omp", description="Enables the use of OMP instructions", default=False)
+ variant("mpi", description="Build with MPI support", default=False)
+
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+
+ conflicts("^openblas threads=none", when="+omp")
+ conflicts("^openblas threads=pthreads", when="+omp")
+
+ patch(
+ "file://{0}/patch.to.4612".format(basedir),
+ sha256="3b7d91e04c40418ad958069234ec7253fbf6c4be361a1d5cfd804774eeb44915",
+ level=0,
+ when="@4.3",
+ )
+ patch(
+ "file://{0}/patch.to.4615".format(basedir),
+ sha256="5ec5790fb6ca64632bcc1b0f5b8f3423c54455766a0979ff4136624bbe8d49eb",
+ level=0,
+ when="@4.3",
+ )
+ patch(
+ "file://{0}/patch.to.4616".format(basedir),
+ sha256="ac0bc215c4259f55da4dc59803fe636f797e241f8a01974e05730c9778ad44c4",
+ level=0,
+ when="@4.3",
+ )
+ patch(
+ "file://{0}/patch.to.4621".format(basedir),
+ sha256="2d2bc7e37246032fc354f51da7dbdb5a219dd228867399931b0e94da1265d5ca",
+ level=0,
+ when="@4.3",
+ )
+ patch(
+ "file://{0}/patch.to.4624".format(basedir),
+ sha256="0a19687528264bf91c9f50ffdc0b920a8511eecf5259b667c8c29350f9dabc53",
+ level=0,
+ when="@4.3",
+ )
def edit(self, spec, prefix):
# patch configure file
- cbase = 'LINUX-GFORTRAN'
- cp = FileFilter(join_path('configure', cbase))
+ cbase = "LINUX-GFORTRAN"
+ cp = FileFilter(join_path("configure", cbase))
# Compilers
- if spec.satisfies('+mpi'):
+ if spec.satisfies("+mpi"):
fc = spec["mpi"].mpifc
cc = spec["mpi"].mpicc
else:
fc = spack_fc
cc = spack_cc
- cp.filter('FC=.+', "FC='{0}'".format(fc))
- cp.filter('CC=.+', "CC='{0}'".format(cc))
- cp.filter('LD=.+', "LD='{0}'".format(fc))
+ cp.filter("FC=.+", "FC='{0}'".format(fc))
+ cp.filter("CC=.+", "CC='{0}'".format(cc))
+ cp.filter("LD=.+", "LD='{0}'".format(fc))
# MPI flag
- if spec.satisfies('+mpi'):
- cp.filter('-D__Linux', '-D__Linux -D__PARALLEL')
+ if spec.satisfies("+mpi"):
+ cp.filter("-D__Linux", "-D__Linux -D__PARALLEL")
# OMP flag
- if spec.satisfies('+omp'):
- cp.filter('-fopenmp', self.compiler.openmp_flag)
+ if spec.satisfies("+omp"):
+ cp.filter("-fopenmp", self.compiler.openmp_flag)
# lapack
- cp.filter(
- 'LIBS=.+',
- "LIBS='{0}'".format(spec['lapack'].libs.ld_flags)
- )
+ cp.filter("LIBS=.+", "LIBS='{0}'".format(spec["lapack"].libs.ld_flags))
# LFLAGS
- cp.filter("'-static '", '')
+ cp.filter("'-static '", "")
# Compiler specific
- if spec.satisfies('%fj'):
- cp.filter('-ffixed-form', '-Fixed')
- cp.filter('-ffree-line-length-none', '')
- cp.filter('-falign-commons', '-Kalign_commons')
+ if spec.satisfies("%fj"):
+ cp.filter("-ffixed-form", "-Fixed")
+ cp.filter("-ffree-line-length-none", "")
+ cp.filter("-falign-commons", "-Kalign_commons")
# create Makefile
- bash = which('bash')
- if spec.satisfies('+omp'):
- bash('./configure.sh', '-omp', cbase)
+ bash = which("bash")
+ if spec.satisfies("+omp"):
+ bash("./configure.sh", "-omp", cbase)
else:
- bash('./configure.sh', cbase)
+ bash("./configure.sh", cbase)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def test(self):
test_dir = self.test_suite.current_test_data_dir
- test_file = join_path(test_dir, '1-h2o-pbc-geoopt.inp')
+ test_file = join_path(test_dir, "1-h2o-pbc-geoopt.inp")
opts = []
- if self.spec.satisfies('+mpi'):
- exe_name = self.spec['mpi'].prefix.bin.mpirun
- opts.extend(['-n', '2'])
- opts.append(join_path(self.prefix.bin, 'cpmd.x'))
+ if self.spec.satisfies("+mpi"):
+ exe_name = self.spec["mpi"].prefix.bin.mpirun
+ opts.extend(["-n", "2"])
+ opts.append(join_path(self.prefix.bin, "cpmd.x"))
else:
- exe_name = 'cpmd.x'
+ exe_name = "cpmd.x"
opts.append(test_file)
opts.append(test_dir)
- expected = ['2 1 H O 1.84444 0.97604',
- '3 1 H O 1.84444 0.97604',
- '2 1 3 H O H 103.8663'
- ]
+ expected = [
+ "2 1 H O 1.84444 0.97604",
+ "3 1 H O 1.84444 0.97604",
+ "2 1 3 H O H 103.8663",
+ ]
self.run_test(exe_name, options=opts, expected=expected)
diff --git a/var/spack/repos/builtin/packages/cpp-argparse/package.py b/var/spack/repos/builtin/packages/cpp-argparse/package.py
index 4f4f9c466a..ba997ff7ce 100644
--- a/var/spack/repos/builtin/packages/cpp-argparse/package.py
+++ b/var/spack/repos/builtin/packages/cpp-argparse/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class CppArgparse(CMakePackage):
"""Argument Parser for Modern C++"""
+
homepage = "https://github.com/p-ranav/argparse/"
- url = "https://github.com/p-ranav/argparse/archive/refs/tags/v2.2.tar.gz"
+ url = "https://github.com/p-ranav/argparse/archive/refs/tags/v2.2.tar.gz"
- maintainers = ['qoelet']
+ maintainers = ["qoelet"]
- version('2.2', sha256='f0fc6ab7e70ac24856c160f44ebb0dd79dc1f7f4a614ee2810d42bb73799872b')
+ version("2.2", sha256="f0fc6ab7e70ac24856c160f44ebb0dd79dc1f7f4a614ee2810d42bb73799872b")
diff --git a/var/spack/repos/builtin/packages/cpp-httplib/package.py b/var/spack/repos/builtin/packages/cpp-httplib/package.py
index 7420bd6417..aefbd0383e 100644
--- a/var/spack/repos/builtin/packages/cpp-httplib/package.py
+++ b/var/spack/repos/builtin/packages/cpp-httplib/package.py
@@ -10,18 +10,18 @@ class CppHttplib(CMakePackage):
"""A C++ header-only HTTP/HTTPS server and client library."""
homepage = "https://github.com/yhirose/cpp-httplib/"
- url = "https://github.com/yhirose/cpp-httplib/archive/v0.5.10.tar.gz"
+ url = "https://github.com/yhirose/cpp-httplib/archive/v0.5.10.tar.gz"
- version('0.5.9', sha256='c9e7aef3b0d4e80ee533d10413508d8a6e09a67d0d59646c43111f3993de006e')
- version('0.5.8', sha256='184d4fe79fc836ee26aa8635b3240879af4c6f17257fc7063d0b77a0cf856dfc')
- version('0.5.7', sha256='27b7f6346bdeb1ead9d17bd7cea89d9ad491f50f0479081053cc6e5742a89e64')
- version('0.5.6', sha256='06ebc94edcdf23d66692bf1d128f6c65bb0ec36ce5e2f8ee61990bc74e838868')
- version('0.5.5', sha256='e18dab82b3b395290514baf3804c7b74892beb654bd8020600a9d9dfdc49c32a')
- version('0.5.4', sha256='40dcce66ec002e2631ef918e1b3bfc9ec1662d02007291ea4743e17ac9c7d43f')
- version('0.5.3', sha256='d9d62ae15d5a2f4404286d5f6ec48daef27e24b5aab98d0505e24ee2b187d3f5')
- version('0.5.2', sha256='a28cc74d3b46e2ba60311b9229375599b513151e39a7d8df6fe1fb797fc1be3a')
- version('0.5.1', sha256='e079d1803e4fdbaf8bed5b414f6045c78273082eec7ac0d4802029175f2a1448')
- version('0.4.2', sha256='ceaf50e2a9fce48910b244d33c6824e55aef688ad5bc181f4b9504242c2447ff')
- version('0.3.3', sha256='476471c6fcd4b39fc79a5dd6ad343a2428cb69b4d528557abb6a0b7bf8186e34')
- version('0.2.6', sha256='8678afc0e69bc198edcb8fe0066e46a87373221232ebabde2d78c237f31d3c3d')
- version('0.2.1', sha256='94a6ddd25088b66b7b9e57b9d0ea138c984967e91b21395401642027bf279438')
+ version("0.5.9", sha256="c9e7aef3b0d4e80ee533d10413508d8a6e09a67d0d59646c43111f3993de006e")
+ version("0.5.8", sha256="184d4fe79fc836ee26aa8635b3240879af4c6f17257fc7063d0b77a0cf856dfc")
+ version("0.5.7", sha256="27b7f6346bdeb1ead9d17bd7cea89d9ad491f50f0479081053cc6e5742a89e64")
+ version("0.5.6", sha256="06ebc94edcdf23d66692bf1d128f6c65bb0ec36ce5e2f8ee61990bc74e838868")
+ version("0.5.5", sha256="e18dab82b3b395290514baf3804c7b74892beb654bd8020600a9d9dfdc49c32a")
+ version("0.5.4", sha256="40dcce66ec002e2631ef918e1b3bfc9ec1662d02007291ea4743e17ac9c7d43f")
+ version("0.5.3", sha256="d9d62ae15d5a2f4404286d5f6ec48daef27e24b5aab98d0505e24ee2b187d3f5")
+ version("0.5.2", sha256="a28cc74d3b46e2ba60311b9229375599b513151e39a7d8df6fe1fb797fc1be3a")
+ version("0.5.1", sha256="e079d1803e4fdbaf8bed5b414f6045c78273082eec7ac0d4802029175f2a1448")
+ version("0.4.2", sha256="ceaf50e2a9fce48910b244d33c6824e55aef688ad5bc181f4b9504242c2447ff")
+ version("0.3.3", sha256="476471c6fcd4b39fc79a5dd6ad343a2428cb69b4d528557abb6a0b7bf8186e34")
+ version("0.2.6", sha256="8678afc0e69bc198edcb8fe0066e46a87373221232ebabde2d78c237f31d3c3d")
+ version("0.2.1", sha256="94a6ddd25088b66b7b9e57b9d0ea138c984967e91b21395401642027bf279438")
diff --git a/var/spack/repos/builtin/packages/cpp-termcolor/package.py b/var/spack/repos/builtin/packages/cpp-termcolor/package.py
index f876c77b38..7d95076e7c 100644
--- a/var/spack/repos/builtin/packages/cpp-termcolor/package.py
+++ b/var/spack/repos/builtin/packages/cpp-termcolor/package.py
@@ -13,15 +13,13 @@ class CppTermcolor(CMakePackage):
"""
homepage = "https://github.com/ikalnytskyi/termcolor"
- url = "https://github.com/ikalnytskyi/termcolor/archive/refs/tags/v2.0.0.tar.gz"
+ url = "https://github.com/ikalnytskyi/termcolor/archive/refs/tags/v2.0.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('2.0.0', sha256='4a73a77053822ca1ed6d4a2af416d31028ec992fb0ffa794af95bd6216bb6a20')
+ version("2.0.0", sha256="4a73a77053822ca1ed6d4a2af416d31028ec992fb0ffa794af95bd6216bb6a20")
- depends_on('cmake@3.0:', type='build')
+ depends_on("cmake@3.0:", type="build")
def cmake_args(self):
- return [
- self.define('TERMCOLOR_TESTS', 'OFF')
- ]
+ return [self.define("TERMCOLOR_TESTS", "OFF")]
diff --git a/var/spack/repos/builtin/packages/cppad/package.py b/var/spack/repos/builtin/packages/cppad/package.py
index 69c3fdb129..ca737f886c 100644
--- a/var/spack/repos/builtin/packages/cppad/package.py
+++ b/var/spack/repos/builtin/packages/cppad/package.py
@@ -10,16 +10,13 @@ class Cppad(CMakePackage):
"""A Package for Differentiation of C++ Algorithms."""
homepage = "https://www.coin-or.org/CppAD/"
- url = "http://www.coin-or.org/download/source/CppAD/cppad-20170114.gpl.tgz"
- git = "https://github.com/coin-or/CppAD.git"
+ url = "http://www.coin-or.org/download/source/CppAD/cppad-20170114.gpl.tgz"
+ git = "https://github.com/coin-or/CppAD.git"
- version('develop', branch='master')
- version('20170114', sha256='fa3980a882be2a668a7522146273a1b4f1d8dabe66ad4aafa8964c8c1fd6f957')
+ version("develop", branch="master")
+ version("20170114", sha256="fa3980a882be2a668a7522146273a1b4f1d8dabe66ad4aafa8964c8c1fd6f957")
def cmake_args(self):
# This package does not obey CMAKE_INSTALL_PREFIX
- args = [
- "-Dcppad_prefix=%s" % (self.prefix),
- "-Dcmake_install_docdir=share/cppad/doc"
- ]
+ args = ["-Dcppad_prefix=%s" % (self.prefix), "-Dcmake_install_docdir=share/cppad/doc"]
return args
diff --git a/var/spack/repos/builtin/packages/cppcheck/package.py b/var/spack/repos/builtin/packages/cppcheck/package.py
index fd521386e4..63ee7385e9 100644
--- a/var/spack/repos/builtin/packages/cppcheck/package.py
+++ b/var/spack/repos/builtin/packages/cppcheck/package.py
@@ -8,44 +8,45 @@ from spack.package import *
class Cppcheck(CMakePackage):
"""A tool for static C/C++ code analysis."""
+
homepage = "http://cppcheck.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/cppcheck/cppcheck/1.78/cppcheck-1.78.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/cppcheck/cppcheck/1.78/cppcheck-1.78.tar.bz2"
- maintainers = ['white238']
+ maintainers = ["white238"]
- version('2.8', sha256='a5ed97a99173d2952cd93fcb028a3405a7b3b992e7168e2ae9d527b991770203')
- version('2.7', sha256='ac74c0973c46a052760f4ff7ca6a84616ca5795510542d195a6f122c53079291')
- version('2.1', sha256='ab26eeef039e5b58aac01efb8cb664f2cc16bf9879c61bc93cd00c95be89a5f7')
- version('2.0', sha256='5f77d36a37ed9ef58ea8b499e4b1db20468114c9ca12b5fb39b95906cab25a3f')
- version('1.90', sha256='43758d56613596c29440e55ea96a5a13e36f81ca377a8939648b5242faf61883')
- version('1.89', sha256='5f02389cb24554f5a7ac3d29db8ac19c740f23c92e97eb7fec3881fe86c26f2c')
- version('1.88', sha256='bb25441749977713476dc630dfe7617b3d9e95c46fec0edbec4ff8ff6fda38ca')
- version('1.87', sha256='e3b0a46747822471df275417d4b74b56ecac88367433e7428f39288a32c581ca')
- version('1.81', sha256='bb694f37ae0b5fed48c6cdc2fb5e528daf32cefc64e16b1a520c5411323cf27e')
- version('1.78', sha256='e42696f7d6321b98cb479ad9728d051effe543b26aca8102428f60b9850786b1')
- version('1.72', sha256='9460b184ff2d8dd15344f3e2f42f634c86e4dd3303e1e9b3f13dc67536aab420')
- version('1.68', sha256='add6e5e12b05ca02b356cd0ec7420ae0dcafddeaef183b4dfbdef59c617349b1')
+ version("2.8", sha256="a5ed97a99173d2952cd93fcb028a3405a7b3b992e7168e2ae9d527b991770203")
+ version("2.7", sha256="ac74c0973c46a052760f4ff7ca6a84616ca5795510542d195a6f122c53079291")
+ version("2.1", sha256="ab26eeef039e5b58aac01efb8cb664f2cc16bf9879c61bc93cd00c95be89a5f7")
+ version("2.0", sha256="5f77d36a37ed9ef58ea8b499e4b1db20468114c9ca12b5fb39b95906cab25a3f")
+ version("1.90", sha256="43758d56613596c29440e55ea96a5a13e36f81ca377a8939648b5242faf61883")
+ version("1.89", sha256="5f02389cb24554f5a7ac3d29db8ac19c740f23c92e97eb7fec3881fe86c26f2c")
+ version("1.88", sha256="bb25441749977713476dc630dfe7617b3d9e95c46fec0edbec4ff8ff6fda38ca")
+ version("1.87", sha256="e3b0a46747822471df275417d4b74b56ecac88367433e7428f39288a32c581ca")
+ version("1.81", sha256="bb694f37ae0b5fed48c6cdc2fb5e528daf32cefc64e16b1a520c5411323cf27e")
+ version("1.78", sha256="e42696f7d6321b98cb479ad9728d051effe543b26aca8102428f60b9850786b1")
+ version("1.72", sha256="9460b184ff2d8dd15344f3e2f42f634c86e4dd3303e1e9b3f13dc67536aab420")
+ version("1.68", sha256="add6e5e12b05ca02b356cd0ec7420ae0dcafddeaef183b4dfbdef59c617349b1")
- variant('rules', default=False, description="Enable rules (requires PCRE)")
- variant('htmlreport', default=False, description="Install cppcheck-htmlreport")
+ variant("rules", default=False, description="Enable rules (requires PCRE)")
+ variant("htmlreport", default=False, description="Install cppcheck-htmlreport")
- depends_on('pcre', when='+rules', type='build')
- depends_on('py-pygments', when='+htmlreport', type='run')
+ depends_on("pcre", when="+rules", type="build")
+ depends_on("py-pygments", when="+htmlreport", type="run")
def cmake_args(self):
args = []
if self.run_tests is False:
- args.append('-DBUILD_TESTS=OFF')
+ args.append("-DBUILD_TESTS=OFF")
else:
- args.append('-DBUILD_TESTS=ON')
+ args.append("-DBUILD_TESTS=ON")
- args.append(self.define_from_variant('HAVE_RULES', 'rules'))
+ args.append(self.define_from_variant("HAVE_RULES", "rules"))
return args
def install(self, spec, prefix):
super(Cppcheck, self).install(spec, prefix)
# Manually install the final cppcheck binary
- if spec.satisfies('+htmlreport'):
- install('htmlreport/cppcheck-htmlreport', prefix.bin)
+ if spec.satisfies("+htmlreport"):
+ install("htmlreport/cppcheck-htmlreport", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cppcodec/package.py b/var/spack/repos/builtin/packages/cppcodec/package.py
index cb4659ea16..7c0f9e5971 100644
--- a/var/spack/repos/builtin/packages/cppcodec/package.py
+++ b/var/spack/repos/builtin/packages/cppcodec/package.py
@@ -11,10 +11,10 @@ class Cppcodec(CMakePackage):
base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus
Crockford's base32. MIT licensed with consistent, flexible API."""
- maintainers = ['vmiheer']
+ maintainers = ["vmiheer"]
homepage = "https://github.com/tplgy/cppcodec"
url = "https://github.com/tplgy/cppcodec/archive/refs/tags/v0.2.tar.gz"
- version('0.2', sha256='0edaea2a9d9709d456aa99a1c3e17812ed130f9ef2b5c2d152c230a5cbc5c482')
+ version("0.2", sha256="0edaea2a9d9709d456aa99a1c3e17812ed130f9ef2b5c2d152c230a5cbc5c482")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/cppcoro/package.py b/var/spack/repos/builtin/packages/cppcoro/package.py
index 1b55071319..7088b4acbb 100644
--- a/var/spack/repos/builtin/packages/cppcoro/package.py
+++ b/var/spack/repos/builtin/packages/cppcoro/package.py
@@ -10,11 +10,11 @@ class Cppcoro(CMakePackage):
"""A library of C++ coroutine abstractions."""
homepage = "https://github.com/andreasbuhr/cppcoro"
- git = "https://github.com/andreasbuhr/cppcoro.git"
+ git = "https://github.com/andreasbuhr/cppcoro.git"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch="master")
- version('2021-01-13', commit='7cc9433436fe8f2482138019cfaafce8e1d7a896')
+ version("develop", branch="master")
+ version("2021-01-13", commit="7cc9433436fe8f2482138019cfaafce8e1d7a896")
- depends_on('cmake@3.12:', type='build')
+ depends_on("cmake@3.12:", type="build")
diff --git a/var/spack/repos/builtin/packages/cppgsl/package.py b/var/spack/repos/builtin/packages/cppgsl/package.py
index a2967b75cd..b0c4a6201f 100644
--- a/var/spack/repos/builtin/packages/cppgsl/package.py
+++ b/var/spack/repos/builtin/packages/cppgsl/package.py
@@ -10,25 +10,27 @@ class Cppgsl(CMakePackage):
"""C++ Guideline Support Library"""
homepage = "https://github.com/Microsoft/GSL"
- url = "https://github.com/Microsoft/GSL/archive/v2.0.0.tar.gz"
- git = "https://github.com/Microsoft/GSL.git"
+ url = "https://github.com/Microsoft/GSL/archive/v2.0.0.tar.gz"
+ git = "https://github.com/Microsoft/GSL.git"
- version('main', branch='main')
- version('3.1.0', sha256='d3234d7f94cea4389e3ca70619b82e8fb4c2f33bb3a070799f1e18eef500a083')
- version('2.1.0', sha256='ef73814657b073e1be86c8f7353718771bf4149b482b6cb54f99e79b23ff899d')
- version('2.0.0', sha256='6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e')
- version('1.0.0', sha256='9694b04cd78e5b1a769868f19fdd9eea2002de3d4c3a81a1b769209364543c36')
+ version("main", branch="main")
+ version("3.1.0", sha256="d3234d7f94cea4389e3ca70619b82e8fb4c2f33bb3a070799f1e18eef500a083")
+ version("2.1.0", sha256="ef73814657b073e1be86c8f7353718771bf4149b482b6cb54f99e79b23ff899d")
+ version("2.0.0", sha256="6cce6fb16b651e62711a4f58e484931013c33979b795d1b1f7646f640cfa9c8e")
+ version("1.0.0", sha256="9694b04cd78e5b1a769868f19fdd9eea2002de3d4c3a81a1b769209364543c36")
- variant('cxxstd',
- default='14',
- values=('14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="14",
+ values=("14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('cmake@3.1.3:', type='build')
+ depends_on("cmake@3.1.3:", type="build")
def cmake_args(self):
return [
- self.define_from_variant('GSL_CXX_STANDARD', 'cxxstd'),
- self.define('GSL_TEST', self.run_tests)
+ self.define_from_variant("GSL_CXX_STANDARD", "cxxstd"),
+ self.define("GSL_TEST", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/cpprestsdk/package.py b/var/spack/repos/builtin/packages/cpprestsdk/package.py
index 9d148b619c..c8d585679d 100644
--- a/var/spack/repos/builtin/packages/cpprestsdk/package.py
+++ b/var/spack/repos/builtin/packages/cpprestsdk/package.py
@@ -8,29 +8,34 @@ from spack.package import *
class Cpprestsdk(CMakePackage):
"""The C++ REST SDK is a Microsoft project for cloud-based client-server
- communication in native code using a modern asynchronous C++ API design.
- This project aims to help C++ developers connect to and interact with
- services. """
+ communication in native code using a modern asynchronous C++ API design.
+ This project aims to help C++ developers connect to and interact with
+ services."""
homepage = "https://github.com/Microsoft/cpprestsdk"
- url = "https://github.com/Microsoft/cpprestsdk/archive/v2.9.1.tar.gz"
+ url = "https://github.com/Microsoft/cpprestsdk/archive/v2.9.1.tar.gz"
- version('2.10.16', git='https://github.com/Microsoft/cpprestsdk', branch='v2.10.16', submodules=True)
- version('2.9.1', sha256='537358760acd782f4d2ed3a85d92247b4fc423aff9c85347dc31dbb0ab9bab16')
+ version(
+ "2.10.16",
+ git="https://github.com/Microsoft/cpprestsdk",
+ branch="v2.10.16",
+ submodules=True,
+ )
+ version("2.9.1", sha256="537358760acd782f4d2ed3a85d92247b4fc423aff9c85347dc31dbb0ab9bab16")
- depends_on('boost@1.69.0: +random+chrono+locale+filesystem+system+exception+regex+thread+date_time')
- depends_on('openssl')
+ depends_on(
+ "boost@1.69.0: +random+chrono+locale+filesystem+system+exception+regex+thread+date_time"
+ )
+ depends_on("openssl")
# Ref: https://github.com/microsoft/cpprestsdk/commit/f9f518e4ad84577eb684ad8235181e4495299af4
# Ref: https://github.com/Microsoft/cpprestsdk/commit/6b2e0480018530b616f61d5cdc786c92ba148bb7
# Ref: https://github.com/microsoft/cpprestsdk/commit/70c1b14f39f5d47984fdd8a31fc357ebb5a37851
- patch('Release.patch', when='@2.9.1')
+ patch("Release.patch", when="@2.9.1")
- root_cmakelists_dir = 'Release'
+ root_cmakelists_dir = "Release"
def cmake_args(self):
- args = [
- '-DWERROR:BOOL=Off'
- ]
+ args = ["-DWERROR:BOOL=Off"]
return args
diff --git a/var/spack/repos/builtin/packages/cppunit/package.py b/var/spack/repos/builtin/packages/cppunit/package.py
index c233a80071..be3515ab31 100644
--- a/var/spack/repos/builtin/packages/cppunit/package.py
+++ b/var/spack/repos/builtin/packages/cppunit/package.py
@@ -12,20 +12,23 @@ class Cppunit(AutotoolsPackage):
homepage = "https://wiki.freedesktop.org/www/Software/cppunit/"
url = "https://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz"
- version('1.14.0', sha256='3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780')
- version('1.13.2', sha256='3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f')
+ version("1.14.0", sha256="3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780")
+ version("1.13.2", sha256="3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f")
- variant('cxxstd',
- default='default',
- values=('default', '98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="default",
+ values=("default", "98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
def setup_build_environment(self, env):
- cxxstd = self.spec.variants['cxxstd'].value
- cxxstdflag = '' if cxxstd == 'default' else \
- getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd))
- env.append_flags('CXXFLAGS', cxxstdflag)
+ cxxstd = self.spec.variants["cxxstd"].value
+ cxxstdflag = (
+ "" if cxxstd == "default" else getattr(self.compiler, "cxx{0}_flag".format(cxxstd))
+ )
+ env.append_flags("CXXFLAGS", cxxstdflag)
def configure_args(self):
args = ["--disable-doxygen"]
diff --git a/var/spack/repos/builtin/packages/cppzmq/package.py b/var/spack/repos/builtin/packages/cppzmq/package.py
index b402b9fed9..5e6983560c 100644
--- a/var/spack/repos/builtin/packages/cppzmq/package.py
+++ b/var/spack/repos/builtin/packages/cppzmq/package.py
@@ -10,26 +10,25 @@ class Cppzmq(CMakePackage):
"""C++ binding for 0MQ"""
homepage = "https://www.zeromq.org"
- url = "https://github.com/zeromq/cppzmq/archive/v4.2.2.tar.gz"
- git = "https://github.com/zeromq/cppzmq.git"
-
- version('master', branch='master')
- version('4.7.1', sha256='9853e0437d834cbed5d3c223bf1d755cadee70e7c964c6e42c4c6783dee5d02c')
- version('4.6.0', sha256='e9203391a0b913576153a2ad22a2dc1479b1ec325beb6c46a3237c669aef5a52')
- version('4.5.0', sha256='64eb4e58eaf0c77505391c6c9a606cffcb57c6086f3431567a1ef4a25b01fa36')
- version('4.4.1', sha256='117fc1ca24d98dbe1a60c072cde13be863d429134907797f8e03f654ce679385')
- version('4.4.0', sha256='118b9ff117f07d1aabadfb905d7227362049d7940d16b7863b3dd3cebd28be85')
- version('4.3.0', sha256='27d1f56406ba94ee779e639203218820975cf68174f92fbeae0f645df0fcada4')
- version('4.2.3', sha256='3e6b57bf49115f4ae893b1ff7848ead7267013087dc7be1ab27636a97144d373')
- version('4.2.2', sha256='3ef50070ac5877c06c6bb25091028465020e181bbfd08f110294ed6bc419737d')
-
- variant("drafts", default=False,
- description="Build and install draft classes and methods")
-
- depends_on('cmake@3.0.0:', type='build')
- depends_on('libzmq')
- depends_on('libzmq@4.2.2', when='@4.2.2:4.2.3')
- depends_on('libzmq+drafts', when='+drafts')
+ url = "https://github.com/zeromq/cppzmq/archive/v4.2.2.tar.gz"
+ git = "https://github.com/zeromq/cppzmq.git"
+
+ version("master", branch="master")
+ version("4.7.1", sha256="9853e0437d834cbed5d3c223bf1d755cadee70e7c964c6e42c4c6783dee5d02c")
+ version("4.6.0", sha256="e9203391a0b913576153a2ad22a2dc1479b1ec325beb6c46a3237c669aef5a52")
+ version("4.5.0", sha256="64eb4e58eaf0c77505391c6c9a606cffcb57c6086f3431567a1ef4a25b01fa36")
+ version("4.4.1", sha256="117fc1ca24d98dbe1a60c072cde13be863d429134907797f8e03f654ce679385")
+ version("4.4.0", sha256="118b9ff117f07d1aabadfb905d7227362049d7940d16b7863b3dd3cebd28be85")
+ version("4.3.0", sha256="27d1f56406ba94ee779e639203218820975cf68174f92fbeae0f645df0fcada4")
+ version("4.2.3", sha256="3e6b57bf49115f4ae893b1ff7848ead7267013087dc7be1ab27636a97144d373")
+ version("4.2.2", sha256="3ef50070ac5877c06c6bb25091028465020e181bbfd08f110294ed6bc419737d")
+
+ variant("drafts", default=False, description="Build and install draft classes and methods")
+
+ depends_on("cmake@3.0.0:", type="build")
+ depends_on("libzmq")
+ depends_on("libzmq@4.2.2", when="@4.2.2:4.2.3")
+ depends_on("libzmq+drafts", when="+drafts")
def cmake_args(self):
args = []
@@ -38,5 +37,5 @@ class Cppzmq(CMakePackage):
# https://github.com/zeromq/cppzmq/issues/422
# https://github.com/zeromq/cppzmq/pull/288
- args.append('-DCPPZMQ_BUILD_TESTS=OFF')
+ args.append("-DCPPZMQ_BUILD_TESTS=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/cpu-features/package.py b/var/spack/repos/builtin/packages/cpu-features/package.py
index fc0e6c243c..b828c805cf 100644
--- a/var/spack/repos/builtin/packages/cpu-features/package.py
+++ b/var/spack/repos/builtin/packages/cpu-features/package.py
@@ -10,14 +10,12 @@ class CpuFeatures(CMakePackage):
"""A cross platform C99 library to get cpu features at runtime."""
homepage = "https://github.com/google/cpu_features"
- git = "https://github.com/google/cpu_features.git"
+ git = "https://github.com/google/cpu_features.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('cmake@3.0.0:', type='build')
+ depends_on("cmake@3.0.0:", type="build")
def cmake_args(self):
- args = [
- '-DBUILD_TESTING:BOOL=OFF'
- ]
+ args = ["-DBUILD_TESTING:BOOL=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/cpuinfo/package.py b/var/spack/repos/builtin/packages/cpuinfo/package.py
index 18c806a9ae..4f8b734f96 100644
--- a/var/spack/repos/builtin/packages/cpuinfo/package.py
+++ b/var/spack/repos/builtin/packages/cpuinfo/package.py
@@ -11,44 +11,47 @@ class Cpuinfo(CMakePackage):
for performance optimization information about host CPU."""
homepage = "https://github.com/Maratyszcza/cpuinfo/"
- git = "https://github.com/Maratyszcza/cpuinfo.git"
+ git = "https://github.com/Maratyszcza/cpuinfo.git"
- version('master', branch='master')
- version('2020-12-17', commit='5916273f79a21551890fd3d56fc5375a78d1598d') # py-torch@1.8:1.9
- version('2020-06-11', commit='63b254577ed77a8004a9be6ac707f3dccc4e1fd9') # py-torch@1.6:1.7
- version('2020-01-21', commit='0e6bde92b343c5fbcfe34ecd41abf9515d54b4a7') # py-torch@1.5
- version('2019-01-17', commit='89fe1695edf9ee14c22f815f24bac45577a4f135') # py-torch@1.0.1:1.4
- version('2018-10-05', commit='c342292afb040c868849bc15e96ab894dceba2bc') # py-torch@1.0.0
- version('2018-05-13', commit='1e6c8c99d27f2b5eb9d2e6231055c6a4115b85e5') # py-torch@0.4.1
- version('2018-04-04', commit='831dc28341b5f20d13e840caf87eaba644d82643') # py-torch@:0.4.0
+ version("master", branch="master")
+ version("2020-12-17", commit="5916273f79a21551890fd3d56fc5375a78d1598d") # py-torch@1.8:1.9
+ version("2020-06-11", commit="63b254577ed77a8004a9be6ac707f3dccc4e1fd9") # py-torch@1.6:1.7
+ version("2020-01-21", commit="0e6bde92b343c5fbcfe34ecd41abf9515d54b4a7") # py-torch@1.5
+ version("2019-01-17", commit="89fe1695edf9ee14c22f815f24bac45577a4f135") # py-torch@1.0.1:1.4
+ version("2018-10-05", commit="c342292afb040c868849bc15e96ab894dceba2bc") # py-torch@1.0.0
+ version("2018-05-13", commit="1e6c8c99d27f2b5eb9d2e6231055c6a4115b85e5") # py-torch@0.4.1
+ version("2018-04-04", commit="831dc28341b5f20d13e840caf87eaba644d82643") # py-torch@:0.4.0
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.10.0.zip',
- sha256='94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/release-1.10.0.zip",
+ sha256="94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91",
+ destination="deps",
+ placement="googletest",
)
resource(
- name='googlebenchmark',
- url='https://github.com/google/benchmark/archive/v1.2.0.zip',
- sha256='cc463b28cb3701a35c0855fbcefb75b29068443f1952b64dd5f4f669272e95ea',
- destination='deps',
- placement='googlebenchmark',
+ name="googlebenchmark",
+ url="https://github.com/google/benchmark/archive/v1.2.0.zip",
+ sha256="cc463b28cb3701a35c0855fbcefb75b29068443f1952b64dd5f4f669272e95ea",
+ destination="deps",
+ placement="googlebenchmark",
)
- generator = 'Ninja'
+ generator = "Ninja"
def cmake_args(self):
return [
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
- self.define('CPUINFO_BUILD_UNIT_TESTS', self.run_tests),
- self.define('CPUINFO_BUILD_MOCK_TESTS', self.run_tests),
- self.define('CPUINFO_BUILD_BENCHMARKS', self.run_tests),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define(
+ "GOOGLEBENCHMARK_SOURCE_DIR",
+ join_path(self.stage.source_path, "deps", "googlebenchmark"),
+ ),
+ self.define("CPUINFO_BUILD_UNIT_TESTS", self.run_tests),
+ self.define("CPUINFO_BUILD_MOCK_TESTS", self.run_tests),
+ self.define("CPUINFO_BUILD_BENCHMARKS", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/cqrlib/package.py b/var/spack/repos/builtin/packages/cqrlib/package.py
index 4a9119a0ca..2a838974b4 100644
--- a/var/spack/repos/builtin/packages/cqrlib/package.py
+++ b/var/spack/repos/builtin/packages/cqrlib/package.py
@@ -10,19 +10,21 @@ class Cqrlib(MakefilePackage):
"""CQRlib -- ANSI C API for Quaternion Rotations"""
homepage = "http://cqrlib.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/cqrlib/cqrlib/CQRlib-1.1.2/CQRlib-1.1.2.tar.gz"
+ url = (
+ "https://downloads.sourceforge.net/project/cqrlib/cqrlib/CQRlib-1.1.2/CQRlib-1.1.2.tar.gz"
+ )
- version('1.1.2', sha256='af3cf2402974579f3c6efc6a6174a5da52786db4bfee9d38d504d93bc42410fd')
+ version("1.1.2", sha256="af3cf2402974579f3c6efc6a6174a5da52786db4bfee9d38d504d93bc42410fd")
- depends_on('libtool', type='build')
+ depends_on("libtool", type="build")
- patch('cqr.patch')
+ patch("cqr.patch")
def edit(self, spec, prefix):
- mf = FileFilter('Makefile')
- mf.filter(r'^CC.+', "CC = {0}".format(spack_cc))
- mf.filter(r'^CXX.+', "CXX = {0}".format(spack_cxx))
- mf.filter(r'^INSTALLDIR .+', "INSTALLDIR = {0}".format(prefix))
+ mf = FileFilter("Makefile")
+ mf.filter(r"^CC.+", "CC = {0}".format(spack_cc))
+ mf.filter(r"^CXX.+", "CXX = {0}".format(spack_cxx))
+ mf.filter(r"^INSTALLDIR .+", "INSTALLDIR = {0}".format(prefix))
def build(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin/packages/cquery/package.py b/var/spack/repos/builtin/packages/cquery/package.py
index c2e44a9589..4de95650e8 100644
--- a/var/spack/repos/builtin/packages/cquery/package.py
+++ b/var/spack/repos/builtin/packages/cquery/package.py
@@ -7,21 +7,18 @@ from spack.package import *
class Cquery(CMakePackage):
- """a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees.
- """
+ """a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees."""
homepage = "https://github.com/cquery-project/cquery"
- git = "https://github.com/cquery-project/cquery.git"
+ git = "https://github.com/cquery-project/cquery.git"
- version('2018-08-23', commit='70c755b2e390d3edfb594a84a7531beb26b2bc07',
- submodules=True)
+ version("2018-08-23", commit="70c755b2e390d3edfb594a84a7531beb26b2bc07", submodules=True)
- depends_on('llvm')
+ depends_on("llvm")
# trivial patch (missing header) by mueller@kip.uni-heidelberg.de
- patch('fix-gcc10.patch', level=0, when='%gcc@10.0:')
+ patch("fix-gcc10.patch", level=0, when="%gcc@10.0:")
def cmake_args(self):
- args = ['-DCMAKE_EXPORT_COMPILE_COMMANDS=YES',
- '-DSYSTEM_CLANG=ON']
+ args = ["-DCMAKE_EXPORT_COMPILE_COMMANDS=YES", "-DSYSTEM_CLANG=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/cracklib/package.py b/var/spack/repos/builtin/packages/cracklib/package.py
index 45cf9acd51..d24df7bfa4 100644
--- a/var/spack/repos/builtin/packages/cracklib/package.py
+++ b/var/spack/repos/builtin/packages/cracklib/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class Cracklib(AutotoolsPackage):
"""CrackLib tests passwords to determine whether they match certain
security-oriented characteristics, with the purpose of stopping users
- from choosing passwords that are easy to guess. """
+ from choosing passwords that are easy to guess."""
homepage = "https://github.com/cracklib/cracklib"
- url = "https://github.com/cracklib/cracklib/archive/v2.9.7.tar.gz"
+ url = "https://github.com/cracklib/cracklib/archive/v2.9.7.tar.gz"
- version('2.9.7', sha256='ff4e6c3f86494c93719f5e4186e2c3ea9e265f41972ec21f7b87852aced704e6')
- version('2.9.6', sha256='7cd2c01365f199c466b490ad2585beccbe0108ccd606c1bcc6c1e52800e627fe')
- version('2.9.5', sha256='b3fcf3fba2f4566f8eb2b79502d1a66198a71c557d2ab1011c78001489f0fe26')
+ version("2.9.7", sha256="ff4e6c3f86494c93719f5e4186e2c3ea9e265f41972ec21f7b87852aced704e6")
+ version("2.9.6", sha256="7cd2c01365f199c466b490ad2585beccbe0108ccd606c1bcc6c1e52800e627fe")
+ version("2.9.5", sha256="b3fcf3fba2f4566f8eb2b79502d1a66198a71c557d2ab1011c78001489f0fe26")
- depends_on('python', type=('build', 'run'))
- depends_on('gettext')
- depends_on('fmt')
- depends_on('zlib')
+ depends_on("python", type=("build", "run"))
+ depends_on("gettext")
+ depends_on("fmt")
+ depends_on("zlib")
- configure_directory = 'src'
+ configure_directory = "src"
def autoreconf(self, spec, prefix):
- with working_dir('src'):
- sh = which('sh')
- sh('./autogen.sh')
+ with working_dir("src"):
+ sh = which("sh")
+ sh("./autogen.sh")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/cradl/package.py b/var/spack/repos/builtin/packages/cradl/package.py
index c699bd9893..49df5ee0ff 100644
--- a/var/spack/repos/builtin/packages/cradl/package.py
+++ b/var/spack/repos/builtin/packages/cradl/package.py
@@ -12,21 +12,21 @@ class Cradl(Package):
hydrodynamics codes."""
homepage = "https://github.com/LLNL/CRADL"
- url = "https://github.com/LLNL/CRADL/archive/master.zip"
- git = "https://github.com/LLNL/CRADL.git"
+ url = "https://github.com/LLNL/CRADL/archive/master.zip"
+ git = "https://github.com/LLNL/CRADL.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('py-pandas')
- depends_on('py-torch')
- depends_on('py-torchvision')
- depends_on('py-apex')
- depends_on('py-gputil')
- depends_on('py-matplotlib')
- depends_on('py-mpi4py')
+ depends_on("py-pandas")
+ depends_on("py-torch")
+ depends_on("py-torchvision")
+ depends_on("py-apex")
+ depends_on("py-gputil")
+ depends_on("py-matplotlib")
+ depends_on("py-mpi4py")
def install(self, spec, prefix):
# Mostly about providing an environment so just copy everything
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cram/package.py b/var/spack/repos/builtin/packages/cram/package.py
index 289aef1f66..73be88b645 100644
--- a/var/spack/repos/builtin/packages/cram/package.py
+++ b/var/spack/repos/builtin/packages/cram/package.py
@@ -8,12 +8,13 @@ from spack.package import *
class Cram(CMakePackage):
"""Cram runs many small MPI jobs inside one large MPI job."""
+
homepage = "https://github.com/llnl/cram"
- url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
+ url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
- version('1.0.1', sha256='985888018f6481c3e9ab4f1d1788e25725d8b92a1cf52b1366ee93793614709a')
+ version("1.0.1", sha256="985888018f6481c3e9ab4f1d1788e25725d8b92a1cf52b1366ee93793614709a")
- extends('python')
- depends_on('python@2.7:')
- depends_on('mpi')
- depends_on('cmake@2.8:', type='build')
+ extends("python")
+ depends_on("python@2.7:")
+ depends_on("mpi")
+ depends_on("cmake@2.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/cray-fftw/package.py b/var/spack/repos/builtin/packages/cray-fftw/package.py
index 376f154406..a9cdaa9445 100644
--- a/var/spack/repos/builtin/packages/cray-fftw/package.py
+++ b/var/spack/repos/builtin/packages/cray-fftw/package.py
@@ -8,69 +8,71 @@ from spack.package import *
class CrayFftw(Package):
"""FFTW is a C subroutine library for computing the discrete Fourier
- transform (DFT) in one or more dimensions, of arbitrary input
- size, and of both real and complex data (as well as of even/odd
- data, i.e. the discrete cosine/sine transforms or DCT/DST).
- This package is a wrapper for Cray's version of FFTW.
+ transform (DFT) in one or more dimensions, of arbitrary input
+ size, and of both real and complex data (as well as of even/odd
+ data, i.e. the discrete cosine/sine transforms or DCT/DST).
+ This package is a wrapper for Cray's version of FFTW.
- To install this package, list it as an external package in packages.yaml,
- and make sure to load the correct cray-fftw module. In some cases you
- need to load cray-mpich before cray-fftw.
- """
+ To install this package, list it as an external package in packages.yaml,
+ and make sure to load the correct cray-fftw module. In some cases you
+ need to load cray-mpich before cray-fftw.
+ """
homepage = "https://support.hpe.com/"
- has_code = False # Skip attempts to fetch source that is not available
+ has_code = False # Skip attempts to fetch source that is not available
- maintainers = ['haampie', 'lukebroskop']
+ maintainers = ["haampie", "lukebroskop"]
- version('3.3.8.12')
- version('3.3.8.8')
- version('3.3.8.7')
+ version("3.3.8.12")
+ version("3.3.8.8")
+ version("3.3.8.7")
- provides('fftw-api@3')
+ provides("fftw-api@3")
variant(
- 'precision', values=any_combination_of(
- 'float', 'double'
- ).prohibit_empty_set().with_default('float,double'),
- description='Build the selected floating-point precision libraries'
+ "precision",
+ values=any_combination_of("float", "double")
+ .prohibit_empty_set()
+ .with_default("float,double"),
+ description="Build the selected floating-point precision libraries",
)
- variant('openmp', default=False, description="Enable OpenMP support.")
- variant('mpi', default=True, description='Activate MPI support')
- depends_on('mpi', when='+mpi')
+ variant("openmp", default=False, description="Enable OpenMP support.")
+ variant("mpi", default=True, description="Activate MPI support")
+ depends_on("mpi", when="+mpi")
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
@property
def libs(self):
# Reduce repetitions of entries
- query_parameters = list(llnl.util.lang.dedupe(
- self.spec.last_query.extra_parameters
- ))
+ query_parameters = list(llnl.util.lang.dedupe(self.spec.last_query.extra_parameters))
# List of all the suffixes associated with float precisions
precisions = [
- ('float', 'f'),
- ('double', ''),
+ ("float", "f"),
+ ("double", ""),
]
# Retrieve the correct suffixes, or use double as a default
- suffixes = [v for k, v in precisions if k in query_parameters] or ['']
+ suffixes = [v for k, v in precisions if k in query_parameters] or [""]
# Construct the list of libraries that needs to be found
libraries = []
for sfx in suffixes:
- if 'mpi' in query_parameters and '+mpi' in self.spec:
- libraries.append('libfftw3' + sfx + '_mpi')
+ if "mpi" in query_parameters and "+mpi" in self.spec:
+ libraries.append("libfftw3" + sfx + "_mpi")
- if 'openmp' in query_parameters and '+openmp' in self.spec:
- libraries.append('libfftw3' + sfx + '_omp')
+ if "openmp" in query_parameters and "+openmp" in self.spec:
+ libraries.append("libfftw3" + sfx + "_omp")
- libraries.append('libfftw3' + sfx)
+ libraries.append("libfftw3" + sfx)
return find_libraries(libraries, root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/cray-libsci/package.py b/var/spack/repos/builtin/packages/cray-libsci/package.py
index fc8fcb5656..b485a2e19e 100644
--- a/var/spack/repos/builtin/packages/cray-libsci/package.py
+++ b/var/spack/repos/builtin/packages/cray-libsci/package.py
@@ -11,7 +11,7 @@ class CrayLibsci(Package):
numerical routines optimized for best performance on Cray systems."""
homepage = "https://docs.nersc.gov/development/libraries/libsci/"
- has_code = False # Skip attempts to fetch source that is not available
+ has_code = False # Skip attempts to fetch source that is not available
version("21.08.1.2")
version("20.06.1")
@@ -21,7 +21,7 @@ class CrayLibsci(Package):
version("18.11.1.2")
version("16.11.1")
version("16.09.1")
- version('16.07.1')
+ version("16.07.1")
version("16.06.1")
version("16.03.1")
@@ -34,13 +34,13 @@ class CrayLibsci(Package):
provides("scalapack", when="+mpi")
canonical_names = {
- 'gcc': 'GNU',
- 'cce': 'CRAY',
- 'intel': 'INTEL',
- 'clang': 'ALLINEA',
- 'aocc': 'AOCC',
- 'nvhpc': 'NVIDIA',
- 'rocmcc': 'AMD'
+ "gcc": "GNU",
+ "cce": "CRAY",
+ "intel": "INTEL",
+ "clang": "ALLINEA",
+ "aocc": "AOCC",
+ "nvhpc": "NVIDIA",
+ "rocmcc": "AMD",
}
@property
@@ -74,11 +74,7 @@ class CrayLibsci(Package):
for lib_fmt in lib:
libname.append(lib_fmt.format(self.canonical_names[compiler].lower()))
- return find_libraries(
- libname,
- root=self.prefix.lib,
- shared=shared,
- recursive=False)
+ return find_libraries(libname, root=self.prefix.lib, shared=shared, recursive=False)
@property
def lapack_libs(self):
@@ -94,5 +90,8 @@ class CrayLibsci(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/cray-mpich/package.py b/var/spack/repos/builtin/packages/cray-mpich/package.py
index 12d910287e..663998c320 100644
--- a/var/spack/repos/builtin/packages/cray-mpich/package.py
+++ b/var/spack/repos/builtin/packages/cray-mpich/package.py
@@ -14,33 +14,32 @@ class CrayMpich(Package):
the Message Passing Interface (MPI) standard."""
homepage = "https://docs.nersc.gov/development/compilers/wrappers/"
- has_code = False # Skip attempts to fetch source that is not available
+ has_code = False # Skip attempts to fetch source that is not available
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('8.1.7')
- version('8.1.0')
- version('8.0.16')
- version('8.0.14')
- version('8.0.11')
- version('8.0.9')
- version('7.7.16')
- version('7.7.15')
- version('7.7.14')
- version('7.7.13')
+ version("8.1.7")
+ version("8.1.0")
+ version("8.0.16")
+ version("8.0.14")
+ version("8.0.11")
+ version("8.0.9")
+ version("7.7.16")
+ version("7.7.15")
+ version("7.7.14")
+ version("7.7.13")
# cray-mpich 8.1.7: features MPI compiler wrappers
- variant('wrappers', default=True, when='@8.1.7:',
- description='enable MPI wrappers')
+ variant("wrappers", default=True, when="@8.1.7:", description="enable MPI wrappers")
- provides('mpi@3')
+ provides("mpi@3")
canonical_names = {
- 'gcc': 'GNU',
- 'cce': 'CRAY',
- 'intel': 'INTEL',
- 'clang': 'ALLINEA',
- 'aocc': 'AOCC'
+ "gcc": "GNU",
+ "cce": "CRAY",
+ "intel": "INTEL",
+ "clang": "ALLINEA",
+ "aocc": "AOCC",
}
@property
@@ -63,32 +62,32 @@ class CrayMpich(Package):
return os.path.dirname(os.path.normpath(libdir))
def setup_run_environment(self, env):
- if '+wrappers' in self.spec:
- 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'))
+ if "+wrappers" in self.spec:
+ 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"))
else:
- env.set('MPICC', spack_cc)
- env.set('MPICXX', spack_cxx)
- env.set('MPIF77', spack_fc)
- env.set('MPIF90', spack_fc)
+ env.set("MPICC", spack_cc)
+ env.set("MPICXX", spack_cxx)
+ env.set("MPIF77", spack_fc)
+ env.set("MPIF90", spack_fc)
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)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_dependent_package(self, module, dependent_spec):
spec = self.spec
- if '+wrappers' in spec:
- 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')
+ if "+wrappers" in spec:
+ 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")
else:
spec.mpicc = spack_cc
spec.mpicxx = spack_cxx
@@ -97,12 +96,15 @@ class CrayMpich(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
@property
def headers(self):
- hdrs = find_headers('mpi', self.prefix.include, recursive=True)
+ hdrs = find_headers("mpi", self.prefix.include, recursive=True)
hdrs.directories = os.path.dirname(hdrs[0])
return hdrs
@@ -110,17 +112,16 @@ class CrayMpich(Package):
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpich']
+ libraries = ["libmpich"]
- if 'cxx' in query_parameters:
- libraries.extend(['libmpicxx', 'libmpichcxx'])
+ if "cxx" in query_parameters:
+ libraries.extend(["libmpicxx", "libmpichcxx"])
- if 'f77' in query_parameters:
- libraries.extend(['libmpifort', 'libmpichfort',
- 'libfmpi', 'libfmpich'])
+ if "f77" in query_parameters:
+ libraries.extend(["libmpifort", "libmpichfort", "libfmpi", "libfmpich"])
- if 'f90' in query_parameters:
- libraries.extend(['libmpif90', 'libmpichf90'])
+ if "f90" in query_parameters:
+ libraries.extend(["libmpif90", "libmpichf90"])
libs = find_libraries(libraries, root=self.prefix.lib, recursive=True)
libs += find_libraries(libraries, root=self.prefix.lib64, recursive=True)
diff --git a/var/spack/repos/builtin/packages/cray-mvapich2/package.py b/var/spack/repos/builtin/packages/cray-mvapich2/package.py
index f6f2739f6d..a604ba1b3c 100644
--- a/var/spack/repos/builtin/packages/cray-mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/cray-mvapich2/package.py
@@ -10,36 +10,36 @@ class CrayMvapich2(Package):
"""Cray/HPE packaging of MVAPICH2 for HPE Apollo systems"""
homepage = "https://docs.nersc.gov/development/compilers/wrappers/"
- has_code = False # Skip attempts to fetch source that is not available
+ has_code = False # Skip attempts to fetch source that is not available
- maintainers = ['hppritcha']
+ maintainers = ["hppritcha"]
- version('8.1.0')
- version('8.0.16')
- version('8.0.14')
- version('8.0.11')
- version('8.0.9')
- version('7.7.16')
- version('7.7.15')
- version('7.7.14')
- version('7.7.13')
+ version("8.1.0")
+ version("8.0.16")
+ version("8.0.14")
+ version("8.0.11")
+ version("8.0.9")
+ version("7.7.16")
+ version("7.7.15")
+ version("7.7.14")
+ version("7.7.13")
- provides('mpi@3')
+ provides("mpi@3")
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)
+ env.set("MPICC", spack_cc)
+ env.set("MPICXX", spack_cxx)
+ env.set("MPIF77", spack_fc)
+ env.set("MPIF90", spack_fc)
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)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_dependent_package(self, module, dependent_spec):
spec = self.spec
@@ -49,11 +49,14 @@ class CrayMvapich2(Package):
spec.mpif77 = spack_f77
spec.mpicxx_shared_libs = [
- join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ join_path(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ join_path(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/cray-pmi/package.py b/var/spack/repos/builtin/packages/cray-pmi/package.py
index bc7e6b6ef5..d9f0a48cec 100644
--- a/var/spack/repos/builtin/packages/cray-pmi/package.py
+++ b/var/spack/repos/builtin/packages/cray-pmi/package.py
@@ -10,18 +10,18 @@ class CrayPmi(Package):
"""Cray's Process Management Interface library"""
homepage = "https://docs.nersc.gov/development/compilers/wrappers/"
- has_code = False # Skip attempts to fetch source that is not available
+ has_code = False # Skip attempts to fetch source that is not available
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('5.0.17')
- version('5.0.16')
- version('5.0.11')
+ version("5.0.17")
+ version("5.0.16")
+ version("5.0.11")
@property
def headers(self):
- return find_headers('pmi', self.prefix.include, recursive=True)
+ return find_headers("pmi", self.prefix.include, recursive=True)
@property
def libs(self):
- return find_libraries(['libpmi'], root=self.prefix, recursive=True)
+ return find_libraries(["libpmi"], root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/creduce/package.py b/var/spack/repos/builtin/packages/creduce/package.py
index 66779d0912..916da19d30 100644
--- a/var/spack/repos/builtin/packages/creduce/package.py
+++ b/var/spack/repos/builtin/packages/creduce/package.py
@@ -13,20 +13,20 @@ class Creduce(CMakePackage):
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']
+ 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')
+ 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')
- 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')
+ depends_on("flex")
+ depends_on("libxml2")
+ depends_on("llvm@8.0.0", when="@:2.10")
+ 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/crmc/package.py b/var/spack/repos/builtin/packages/crmc/package.py
index 4ace2c932f..b2f96a2ef0 100644
--- a/var/spack/repos/builtin/packages/crmc/package.py
+++ b/var/spack/repos/builtin/packages/crmc/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class Crmc(CMakePackage):
"""CRMC (Cosmic Ray Monte Carlo package). CRMC is a package providing
- a common interface to access the output from event generators used
- to model the secondary particle production in hadronic collisons."""
+ a common interface to access the output from event generators used
+ to model the secondary particle production in hadronic collisons."""
homepage = "https://web.ikp.kit.edu/rulrich/crmc.html"
# Original URL has non-recognized certificate + is password-protected
@@ -18,31 +18,38 @@ class Crmc(CMakePackage):
# Version 1.7.0 has issues linking phojet, devs contacted but no response
# version('1.7.0', sha256='59086f4e654d775a4f6c3974ae89bbfd995391c4677f266881604878b47563d1')
- version('1.6.0', sha256='ae2ba5aa2a483d20aa60bef35080f555b365715d1a8fae54b473c275813345c1')
- version('1.5.7', sha256='ec7456c08b60a40665e9ff31d6029e0151b0cdf2ca98bd09a8b570b1e33f6053')
- version('1.5.6', sha256='a546a9352dcbdb8a1df3d63530eacf16f8b64a190e224b72afd434f78388a8a0')
-
- depends_on('hepmc')
- depends_on('boost')
- depends_on('root')
-
- patch('https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/crmc-1.6.0.patch',
- sha256='af07d9abbf8883dfbf54959f0e971e1429c5a1c43a602afa25dc790ba9758f15',
- when='@1.6.0', level=0)
- patch('https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/crmc-1.5.6.patch',
- sha256='fcf767b821cca404569d558f748acb83f692d5b4aca6fd6c8473fcf06c734cf6',
- when='@1.5.6:1.5.7', level=0)
+ version("1.6.0", sha256="ae2ba5aa2a483d20aa60bef35080f555b365715d1a8fae54b473c275813345c1")
+ version("1.5.7", sha256="ec7456c08b60a40665e9ff31d6029e0151b0cdf2ca98bd09a8b570b1e33f6053")
+ version("1.5.6", sha256="a546a9352dcbdb8a1df3d63530eacf16f8b64a190e224b72afd434f78388a8a0")
+
+ depends_on("hepmc")
+ depends_on("boost")
+ depends_on("root")
+
+ patch(
+ "https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/crmc-1.6.0.patch",
+ sha256="af07d9abbf8883dfbf54959f0e971e1429c5a1c43a602afa25dc790ba9758f15",
+ when="@1.6.0",
+ level=0,
+ )
+ patch(
+ "https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/crmc-1.5.6.patch",
+ sha256="fcf767b821cca404569d558f748acb83f692d5b4aca6fd6c8473fcf06c734cf6",
+ when="@1.5.6:1.5.7",
+ level=0,
+ )
def cmake_args(self):
- args = ['-D__PYTHIA__=ON',
- '-D__SIBYLL__=ON',
- '-D__PHOJET__=ON',
- '-D__DPMJET__=ON',
- '-D__QGSJETII04__=ON',
- '-DCMAKE_CXX_FLAGS=-std=c++' +
- self.spec['root'].variants['cxxstd'].value]
- if self.spec.satisfies('@1.6.0:'):
- args.append('-D__HIJING__=ON')
- if self.spec.satisfies('%gcc@9:'):
- args.append('-DCMAKE_Fortran_FLAGS=-fallow-argument-mismatch')
+ args = [
+ "-D__PYTHIA__=ON",
+ "-D__SIBYLL__=ON",
+ "-D__PHOJET__=ON",
+ "-D__DPMJET__=ON",
+ "-D__QGSJETII04__=ON",
+ "-DCMAKE_CXX_FLAGS=-std=c++" + self.spec["root"].variants["cxxstd"].value,
+ ]
+ if self.spec.satisfies("@1.6.0:"):
+ args.append("-D__HIJING__=ON")
+ if self.spec.satisfies("%gcc@9:"):
+ args.append("-DCMAKE_Fortran_FLAGS=-fallow-argument-mismatch")
return args
diff --git a/var/spack/repos/builtin/packages/cromwell-womtool/package.py b/var/spack/repos/builtin/packages/cromwell-womtool/package.py
index aca12da441..ab4d2bac5b 100644
--- a/var/spack/repos/builtin/packages/cromwell-womtool/package.py
+++ b/var/spack/repos/builtin/packages/cromwell-womtool/package.py
@@ -10,19 +10,23 @@ from spack.package import *
class CromwellWomtool(Package):
"""Command line utilities for interacting with the
- Workflow Object Model (WOM).
+ Workflow Object Model (WOM).
"""
homepage = "https://cromwell.readthedocs.io/en/stable/WOMtool/"
- url = "https://github.com/broadinstitute/cromwell/releases/download/44/womtool-44.jar"
+ url = "https://github.com/broadinstitute/cromwell/releases/download/44/womtool-44.jar"
- version('44', sha256='b17c0f4933d7b136c7d9760f7858f6439e3c6371f12492e2aeaab3209c28f80a', expand=False)
+ version(
+ "44",
+ sha256="b17c0f4933d7b136c7d9760f7858f6439e3c6371f12492e2aeaab3209c28f80a",
+ expand=False,
+ )
- depends_on('java@8', type='run')
+ depends_on("java@8", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'womtool-{0}.jar'.format(self.version)
+ jar_file = "womtool-{0}.jar".format(self.version)
install(jar_file, prefix.bin)
# Set up a helper script to call java on the jar file,
@@ -34,8 +38,7 @@ class CromwellWomtool(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('womtool.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("womtool.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/cromwell/package.py b/var/spack/repos/builtin/packages/cromwell/package.py
index 9b904c65a4..236109e06c 100644
--- a/var/spack/repos/builtin/packages/cromwell/package.py
+++ b/var/spack/repos/builtin/packages/cromwell/package.py
@@ -10,19 +10,23 @@ from spack.package import *
class Cromwell(Package):
"""Cromwell is a Workflow Management System geared towards scientific
- workflows.
+ workflows.
"""
homepage = "https://cromwell.readthedocs.io/"
- url = "https://github.com/broadinstitute/cromwell/releases/download/44/cromwell-44.jar"
+ url = "https://github.com/broadinstitute/cromwell/releases/download/44/cromwell-44.jar"
- version('44', sha256='8b411673f6b3c835c6031db3094a7404b9a371133794046fd295719d61e56db0', expand=False)
+ version(
+ "44",
+ sha256="8b411673f6b3c835c6031db3094a7404b9a371133794046fd295719d61e56db0",
+ expand=False,
+ )
- depends_on('java@8', type='run')
+ depends_on("java@8", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'cromwell-{0}.jar'.format(self.version)
+ jar_file = "cromwell-{0}.jar".format(self.version)
install(jar_file, prefix.bin)
# Set up a helper script to call java on the jar file,
@@ -34,8 +38,7 @@ class Cromwell(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('cromwell.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("cromwell.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/cronie/package.py b/var/spack/repos/builtin/packages/cronie/package.py
index 65b0d3bc72..6627640385 100644
--- a/var/spack/repos/builtin/packages/cronie/package.py
+++ b/var/spack/repos/builtin/packages/cronie/package.py
@@ -11,13 +11,13 @@ class Cronie(AutotoolsPackage):
programs at scheduled times and related tools."""
homepage = "https://github.com/cronie-crond/cronie"
- url = "https://github.com/cronie-crond/cronie/archive/cronie-1.5.5.tar.gz"
+ url = "https://github.com/cronie-crond/cronie/archive/cronie-1.5.5.tar.gz"
- version('1.5.5', sha256='22c2a2b22577c0f776c1268d0e0f305c5c041e10155022a345b43b665da0ffe9')
+ version("1.5.5", sha256="22c2a2b22577c0f776c1268d0e0f305c5c041e10155022a345b43b665da0ffe9")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/crtm/package.py b/var/spack/repos/builtin/packages/crtm/package.py
index cdfa1cbd3e..92f5a6c08b 100644
--- a/var/spack/repos/builtin/packages/crtm/package.py
+++ b/var/spack/repos/builtin/packages/crtm/package.py
@@ -13,8 +13,8 @@ class Crtm(CMakePackage):
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"
+ url = "https://github.com/NOAA-EMC/EMC_crtm/archive/refs/tags/v2.3.0.tar.gz"
- maintainers = ['t-brown', 'edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- version('2.3.0', sha256='3e2c87ae5498c33dd98f9ede5c39e33ee7f298c7317b12adeb552e3a572700ce')
+ version("2.3.0", sha256="3e2c87ae5498c33dd98f9ede5c39e33ee7f298c7317b12adeb552e3a572700ce")
diff --git a/var/spack/repos/builtin/packages/cryptopp/package.py b/var/spack/repos/builtin/packages/cryptopp/package.py
index 0637411e51..8fb3f19e6c 100644
--- a/var/spack/repos/builtin/packages/cryptopp/package.py
+++ b/var/spack/repos/builtin/packages/cryptopp/package.py
@@ -14,41 +14,41 @@ class Cryptopp(MakefilePackage):
algorithms (MD5, Panama)."""
homepage = "https://www.cryptopp.com"
- url = "https://www.cryptopp.com/cryptopp700.zip"
+ url = "https://www.cryptopp.com/cryptopp700.zip"
- version('7.0.0', sha256='a4bc939910edd3d29fb819a6fc0dfdc293f686fa62326f61c56d72d0a366ceb0')
- version('6.1.0', sha256='21289d2511101a9350c87c8eb1f4982d4a266e8037b19dab79a32cc13ea108c7')
- version('6.0.0', sha256='64ac2db96b3f1b7a23675e2be95d16c96055edffa2d5e2de6245fdb6baa92dda')
- version('5.6.5', sha256='a75ef486fe3128008bbb201efee3dcdcffbe791120952910883b26337ec32c34')
- version('5.6.4', sha256='be430377b05c15971d5ccb6e44b4d95470f561024ed6d701fe3da3a188c84ad7')
- version('5.6.3', sha256='9390670a14170dd0f48a6b6b06f74269ef4b056d4718a1a329f6f6069dc957c9')
- version('5.6.2', sha256='5cbfd2fcb4a6b3aab35902e2e0f3b59d9171fee12b3fc2b363e1801dfec53574')
- version('5.6.1', sha256='98e74d8cb17a38033354519ac8ba9c5d98a6dc00bf5d1ec3c533c2e8ec86f268')
+ version("7.0.0", sha256="a4bc939910edd3d29fb819a6fc0dfdc293f686fa62326f61c56d72d0a366ceb0")
+ version("6.1.0", sha256="21289d2511101a9350c87c8eb1f4982d4a266e8037b19dab79a32cc13ea108c7")
+ version("6.0.0", sha256="64ac2db96b3f1b7a23675e2be95d16c96055edffa2d5e2de6245fdb6baa92dda")
+ version("5.6.5", sha256="a75ef486fe3128008bbb201efee3dcdcffbe791120952910883b26337ec32c34")
+ version("5.6.4", sha256="be430377b05c15971d5ccb6e44b4d95470f561024ed6d701fe3da3a188c84ad7")
+ version("5.6.3", sha256="9390670a14170dd0f48a6b6b06f74269ef4b056d4718a1a329f6f6069dc957c9")
+ version("5.6.2", sha256="5cbfd2fcb4a6b3aab35902e2e0f3b59d9171fee12b3fc2b363e1801dfec53574")
+ version("5.6.1", sha256="98e74d8cb17a38033354519ac8ba9c5d98a6dc00bf5d1ec3c533c2e8ec86f268")
- variant('shared', default=True, description="Build shared object versions of libraries.")
+ variant("shared", default=True, description="Build shared object versions of libraries.")
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
def url_for_version(self, version):
- url = '{0}/{1}{2}.zip'
+ url = "{0}/{1}{2}.zip"
return url.format(self.homepage, self.name, version.joined)
def build(self, spec, prefix):
cxx_flags = []
- if '+shared' in spec:
+ if "+shared" in spec:
cxx_flags.append(self.compiler.cxx_pic_flag)
target = self.spec.target
- if 'sse4.1' not in target:
- cxx_flags.append('-DCRYPTOPP_DISABLE_SSE4')
- if 'ssse3' not in target:
- cxx_flags.append('-DCRYPTOPP_DISABLE_SSSE3')
- if 'sse2' not in target:
- cxx_flags.append('-DCRYPTOPP_DISABLE_SSE2')
+ if "sse4.1" not in target:
+ cxx_flags.append("-DCRYPTOPP_DISABLE_SSE4")
+ if "ssse3" not in target:
+ cxx_flags.append("-DCRYPTOPP_DISABLE_SSSE3")
+ if "sse2" not in target:
+ cxx_flags.append("-DCRYPTOPP_DISABLE_SSE2")
- make_target = 'dynamic' if '+shared' in spec else 'static'
- make(make_target, 'CXXFLAGS={0}'.format(' '.join(cxx_flags)))
+ make_target = "dynamic" if "+shared" in spec else "static"
+ make(make_target, "CXXFLAGS={0}".format(" ".join(cxx_flags)))
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/cryptsetup/package.py b/var/spack/repos/builtin/packages/cryptsetup/package.py
index 51bc04a429..1e5e8b1ee4 100644
--- a/var/spack/repos/builtin/packages/cryptsetup/package.py
+++ b/var/spack/repos/builtin/packages/cryptsetup/package.py
@@ -10,41 +10,41 @@ class Cryptsetup(AutotoolsPackage):
"""Cryptsetup and LUKS - open-source disk encryption."""
homepage = "https://gitlab.com/cryptsetup/cryptsetup"
- url = "https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/cryptsetup-2.2.1.tar.xz"
+ url = "https://www.kernel.org/pub/linux/utils/cryptsetup/v2.2/cryptsetup-2.2.1.tar.xz"
list_url = "https://www.kernel.org/pub/linux/utils/cryptsetup/"
list_depth = 1
# If you're adding newer versions, check whether the patch below
# still needs to be applied.
- version('2.3.5', sha256='ced9946f444d132536daf92fc8aca4277638a3c2d96e20540b2bae4d36fd70c1')
- version('2.3.4', sha256='9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773')
- version('2.3.1', sha256='92aba4d559a2cf7043faed92e0f22c5addea36bd63f8c039ba5a8f3a159fe7d2')
- version('2.2.3', sha256='2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46')
- version('2.2.2', sha256='2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46')
- version('2.2.1', sha256='94e79a31ed38bdb0acd9af7ccca1605a2ac62ca850ed640202876b1ee11c1c61')
+ version("2.3.5", sha256="ced9946f444d132536daf92fc8aca4277638a3c2d96e20540b2bae4d36fd70c1")
+ version("2.3.4", sha256="9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773")
+ version("2.3.1", sha256="92aba4d559a2cf7043faed92e0f22c5addea36bd63f8c039ba5a8f3a159fe7d2")
+ version("2.2.3", sha256="2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46")
+ version("2.2.2", sha256="2af0ec9551ab9c870074cae9d3f68d82cab004f4095fa89db0e4413713424a46")
+ version("2.2.1", sha256="94e79a31ed38bdb0acd9af7ccca1605a2ac62ca850ed640202876b1ee11c1c61")
- depends_on('uuid', type=('build', 'link'))
- depends_on('lvm2', type=('build', 'link'))
- depends_on('popt', type=('build', 'link'))
- depends_on('json-c', type=('build', 'link'))
- depends_on('util-linux', type=('build', 'link'))
- depends_on('gettext', type=('build', 'link'))
+ depends_on("uuid", type=("build", "link"))
+ depends_on("lvm2", type=("build", "link"))
+ depends_on("popt", type=("build", "link"))
+ depends_on("json-c", type=("build", "link"))
+ depends_on("util-linux", type=("build", "link"))
+ depends_on("gettext", type=("build", "link"))
- depends_on('pkgconfig', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('automake@:1.16.1', when='@2.2.1', type='build')
- depends_on('openssl')
+ depends_on("automake@:1.16.1", when="@2.2.1", type="build")
+ depends_on("openssl")
# Upstream includes support for discovering the location of the libintl
# library but is missing the bit in the Makefile.ac that includes it in
# the LDFLAGS. See https://gitlab.com/cryptsetup/cryptsetup/issues/479
# This *should* be unnecessary starting with release 2.2.2, see
# https://gitlab.com/cryptsetup/cryptsetup/issues/479#note_227617031
- patch('autotools-libintl.patch', when='@:2.2.1')
+ patch("autotools-libintl.patch", when="@:2.2.1")
def url_for_version(self, version):
url = "https://www.kernel.org/pub/linux/utils/cryptsetup/v{0}/cryptsetup-{1}.tar.xz"
@@ -52,15 +52,15 @@ class Cryptsetup(AutotoolsPackage):
def configure_args(self):
args = [
- 'systemd_tmpfilesdir={0}/tmpfiles.d'.format(self.prefix),
- '--with-crypto_backend=openssl',
+ "systemd_tmpfilesdir={0}/tmpfiles.d".format(self.prefix),
+ "--with-crypto_backend=openssl",
]
return args
def setup_dependent_build_environment(self, env, dependent_spec):
"""Prepend the sbin directory to PATH."""
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Prepend the sbin directory to PATH."""
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/csa-c/package.py b/var/spack/repos/builtin/packages/csa-c/package.py
index 6103f495e6..db2d0a0d0b 100644
--- a/var/spack/repos/builtin/packages/csa-c/package.py
+++ b/var/spack/repos/builtin/packages/csa-c/package.py
@@ -12,8 +12,8 @@ class CsaC(AutotoolsPackage):
a C library and a command line utility csabathy."""
homepage = "https://github.com/sakov/csa-c"
- git = "https://github.com/sakov/csa-c.git"
+ git = "https://github.com/sakov/csa-c.git"
- version('master', branch='master')
+ version("master", branch="master")
- configure_directory = 'csa'
+ configure_directory = "csa"
diff --git a/var/spack/repos/builtin/packages/cscope/package.py b/var/spack/repos/builtin/packages/cscope/package.py
index 65e0d11a55..31d9f06430 100644
--- a/var/spack/repos/builtin/packages/cscope/package.py
+++ b/var/spack/repos/builtin/packages/cscope/package.py
@@ -12,20 +12,20 @@ class Cscope(AutotoolsPackage):
homepage = "http://cscope.sourceforge.net/"
url = "https://sourceforge.net/projects/cscope/files/cscope/v15.9/cscope-15.9.tar.gz"
- version('15.9', sha256='c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159')
- version('15.8b', sha256='4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af')
+ version("15.9", sha256="c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159")
+ version("15.8b", sha256="4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af")
- depends_on('ncurses')
+ depends_on("ncurses")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
- build_targets = ['CURSES_LIBS=-lncursesw -ltinfow']
+ build_targets = ["CURSES_LIBS=-lncursesw -ltinfow"]
def url_for_version(self, version):
url = "https://sourceforge.net/projects/cscope/files/cscope/{0}{1}/cscope-{1}.tar.gz"
- if version >= Version('15.9'):
- return url.format('v', version)
+ if version >= Version("15.9"):
+ return url.format("v", version)
else:
- return url.format('', version)
+ return url.format("", version)
diff --git a/var/spack/repos/builtin/packages/csdp/package.py b/var/spack/repos/builtin/packages/csdp/package.py
index c6be029ac4..bbb7e47d05 100644
--- a/var/spack/repos/builtin/packages/csdp/package.py
+++ b/var/spack/repos/builtin/packages/csdp/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Csdp(MakefilePackage):
"""CSDP is a library of routines that implements a predictor corrector
- variant of the semidefinite programming algorithm of Helmberg, Rendl,
- Vanderbei, and Wolkowicz"""
+ variant of the semidefinite programming algorithm of Helmberg, Rendl,
+ Vanderbei, and Wolkowicz"""
homepage = "https://projects.coin-or.org/Csdp"
- url = "https://www.coin-or.org/download/source/Csdp/Csdp-6.1.1.tgz"
+ url = "https://www.coin-or.org/download/source/Csdp/Csdp-6.1.1.tgz"
- version('6.1.1', sha256='0558a46ac534e846bf866b76a9a44e8a854d84558efa50988ffc092f99a138b9')
+ version("6.1.1", sha256="0558a46ac534e846bf866b76a9a44e8a854d84558efa50988ffc092f99a138b9")
- depends_on('atlas')
+ depends_on("atlas")
def edit(self, spec, prefix):
mkdirp(prefix.bin)
- makefile = FileFilter('Makefile')
- makefile.filter('/usr/local/bin', prefix.bin)
+ makefile = FileFilter("Makefile")
+ makefile.filter("/usr/local/bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ctffind/package.py b/var/spack/repos/builtin/packages/ctffind/package.py
index 55fe2e92cf..7d4914465a 100644
--- a/var/spack/repos/builtin/packages/ctffind/package.py
+++ b/var/spack/repos/builtin/packages/ctffind/package.py
@@ -10,41 +10,49 @@ class Ctffind(AutotoolsPackage):
"""Fast and accurate defocus estimation from electron micrographs."""
homepage = "https://grigoriefflab.umassmed.edu/ctffind4"
- url = "https://grigoriefflab.umassmed.edu/system/tdf?path=ctffind-4.1.8.tar.gz&file=1&type=node&id=26"
-
- version('4.1.14',
- sha256='db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5',
- extension='tar.gz')
- version('4.1.8',
- sha256='bec43c0b8d32878c740d6284ef6d9d22718c80dc62270be18d1d44e8b84b2729',
- extension='tar.gz')
+ url = "https://grigoriefflab.umassmed.edu/system/tdf?path=ctffind-4.1.8.tar.gz&file=1&type=node&id=26"
+
+ version(
+ "4.1.14",
+ sha256="db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5",
+ extension="tar.gz",
+ )
+ version(
+ "4.1.8",
+ sha256="bec43c0b8d32878c740d6284ef6d9d22718c80dc62270be18d1d44e8b84b2729",
+ extension="tar.gz",
+ )
def url_for_version(self, version):
url = "https://grigoriefflab.umassmed.edu/system/tdf?path=ctffind-{0}.tar.gz&file=1&type=node&id=26"
return url.format(version)
- depends_on('wxwidgets')
- depends_on('fftw-api')
- depends_on('libtiff')
- depends_on('jpeg')
+ depends_on("wxwidgets")
+ depends_on("fftw-api")
+ depends_on("libtiff")
+ depends_on("jpeg")
- patch('configure.patch', when='@4.1.8')
- patch('power9.patch', when='@4.1.14 target=power9le')
+ patch("configure.patch", when="@4.1.8")
+ patch("power9.patch", when="@4.1.14 target=power9le")
def configure_args(self):
config_args = []
- if '^mkl' in self.spec:
- config_args.extend([
- '--enable-mkl',
- 'CPPFLAGS=-I{0}'.format(
- join_path(
- self.spec['fftw-api'].headers.directories[0], 'fftw')),
- ])
+ if "^mkl" in self.spec:
+ config_args.extend(
+ [
+ "--enable-mkl",
+ "CPPFLAGS=-I{0}".format(
+ join_path(self.spec["fftw-api"].headers.directories[0], "fftw")
+ ),
+ ]
+ )
else:
- config_args.extend([
- '--disable-mkl',
- 'CPPFLAGS={0}'.format(self.spec['fftw-api'].headers.include_flags),
- ])
+ config_args.extend(
+ [
+ "--disable-mkl",
+ "CPPFLAGS={0}".format(self.spec["fftw-api"].headers.include_flags),
+ ]
+ )
return config_args
diff --git a/var/spack/repos/builtin/packages/ctpl/package.py b/var/spack/repos/builtin/packages/ctpl/package.py
index 33003b9226..15bbdd8501 100644
--- a/var/spack/repos/builtin/packages/ctpl/package.py
+++ b/var/spack/repos/builtin/packages/ctpl/package.py
@@ -11,18 +11,18 @@ class Ctpl(AutotoolsPackage):
under the terms of the GNU GPL."""
homepage = "https://github.com/b4n/ctpl"
- url = "https://github.com/b4n/ctpl/archive/0.3.tar.gz"
+ url = "https://github.com/b4n/ctpl/archive/0.3.tar.gz"
- version('0.3', sha256='034875ba8e1ce87b7ee85bc7146a6a2b2a6ac0518482b36d65eb67dd09c03d0a')
+ version("0.3", sha256="034875ba8e1ce87b7ee85bc7146a6a2b2a6ac0518482b36d65eb67dd09c03d0a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext', type='build')
- depends_on('gtk-doc')
- depends_on('glib@2.10:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext", type="build")
+ depends_on("gtk-doc")
+ depends_on("glib@2.10:")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/ctre/package.py b/var/spack/repos/builtin/packages/ctre/package.py
index 4c1de7a021..1f38c456f9 100644
--- a/var/spack/repos/builtin/packages/ctre/package.py
+++ b/var/spack/repos/builtin/packages/ctre/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Ctre(CMakePackage):
"""Compile time regular expressions for C++"""
- homepage = 'https://compile-time.re/'
- url = 'https://github.com/hanickadot/compile-time-regular-expressions/archive/v2.8.3.tar.gz'
- git = 'https://github.com/hanickadot/compile-time-regular-expressions.git'
+ homepage = "https://compile-time.re/"
+ url = "https://github.com/hanickadot/compile-time-regular-expressions/archive/v2.8.3.tar.gz"
+ git = "https://github.com/hanickadot/compile-time-regular-expressions.git"
- version('master', branch='master')
- version('2.8.4', sha256='99b981857f1b66cab5e71161ae74deca268ed39a96ec6507def92d4f445cadd6')
- version('2.8.3', sha256='5833a9d0fbce39ee39bd6e29df2f7fcafc82e41c373e8675ed0774bcf76fdc7a')
- version('2.8.2', sha256='f89494f52ec31e5854fff3d2c5825474201476636c5d82a9365dad5188396314')
- version('2.8.1', sha256='a6153629751ba0adc039551d8ff8d7018972ce362d20c0f70135496d4e7721df')
- version('2.8', sha256='44ccdaa299dd43c351f208c5906422eb000e7cdcb53e4f3b7c7c094d0461ab2c')
- version('2.7', sha256='ccbf42515b27d542cd36104eb9548f288b0c1989cb584a518900ba1ca3619e12')
- version('2.6.4', sha256='ce216cfae0e7e1e8c7d7531cfcf81fa18f9bdbfcb800a3119788ca323bedbdac')
- version('2.6.3', sha256='bdf668b02f0b986dfc0fbc6066f446e2d0a9faa3347f00f53b19131297c84c4a')
- version('2.6.2', sha256='e82c87aeb0fc3f21ae8a2d3ffce2b1ef970fbea9c3e846ef1a6e5f81790f2946')
- version('2.6.1', sha256='58c623d9ea1cb7890aaa63c1a87f1a60a8acf31dbd4061ab672bea287ed689ac')
+ version("master", branch="master")
+ version("2.8.4", sha256="99b981857f1b66cab5e71161ae74deca268ed39a96ec6507def92d4f445cadd6")
+ version("2.8.3", sha256="5833a9d0fbce39ee39bd6e29df2f7fcafc82e41c373e8675ed0774bcf76fdc7a")
+ version("2.8.2", sha256="f89494f52ec31e5854fff3d2c5825474201476636c5d82a9365dad5188396314")
+ version("2.8.1", sha256="a6153629751ba0adc039551d8ff8d7018972ce362d20c0f70135496d4e7721df")
+ version("2.8", sha256="44ccdaa299dd43c351f208c5906422eb000e7cdcb53e4f3b7c7c094d0461ab2c")
+ version("2.7", sha256="ccbf42515b27d542cd36104eb9548f288b0c1989cb584a518900ba1ca3619e12")
+ version("2.6.4", sha256="ce216cfae0e7e1e8c7d7531cfcf81fa18f9bdbfcb800a3119788ca323bedbdac")
+ version("2.6.3", sha256="bdf668b02f0b986dfc0fbc6066f446e2d0a9faa3347f00f53b19131297c84c4a")
+ version("2.6.2", sha256="e82c87aeb0fc3f21ae8a2d3ffce2b1ef970fbea9c3e846ef1a6e5f81790f2946")
+ version("2.6.1", sha256="58c623d9ea1cb7890aaa63c1a87f1a60a8acf31dbd4061ab672bea287ed689ac")
diff --git a/var/spack/repos/builtin/packages/cub/package.py b/var/spack/repos/builtin/packages/cub/package.py
index c38bccd5aa..c704b47319 100644
--- a/var/spack/repos/builtin/packages/cub/package.py
+++ b/var/spack/repos/builtin/packages/cub/package.py
@@ -11,32 +11,34 @@ class Cub(Package):
and other utilities for CUDA kernel programming."""
homepage = "https://nvlabs.github.com/cub"
- url = "https://github.com/NVIDIA/cub/archive/1.12.0.zip"
- git = "https://github.com/NVIDIA/cub.git"
+ url = "https://github.com/NVIDIA/cub/archive/1.12.0.zip"
+ git = "https://github.com/NVIDIA/cub.git"
- version('1.16.0', sha256='a9e327d46c82025d17ed3ab5a10da006bcdaef5dcbd294b332ef0a572f58445b')
- version('1.15.0', sha256='dcb75744650deb42e9123509482e0f84944c1dbd60d5cd909a416d953d3a6903')
- version('1.14.0', sha256='d83ac193b6acdb9281ca130fbe9590728c018c98f38916f903181b6f9410a829')
- version('1.13.1', sha256='e17f8edee401527be626a7bd21ad85aaf903e12de3445f23d617d465d5171f61')
- version('1.13.0', sha256='741a3f26cd5b0a90421744f7112fe1e5d98fc71f4ba08a2bee1f36ac6add1fb4')
- version('1.12.1', sha256='ecf2023ae1aa669c815cc687fdbfdf60967769f301ae4a972c1aebff9719949a')
- version('1.12.0', sha256='92f0f39235db787f4850d5c4ffdaa7d5367a2f153bdd3b4a1161a6a2fefb7bfc')
- version('1.12.0-rc0', sha256='c9470cb5a23849e3143a3b2f07fe4d48ed3c8e0ec862b4d4c02ec15afb4fc331')
- version('1.11.0', sha256='4c5d6a42350e010273be33f72af8c9b6253cfe55e2a0584fe7bf9f84dc338d00')
- version('1.10.0', sha256='d6be1acfa65be4e25be40f576687fed19c00896390cbc6205888c69ac2f150de')
- version('1.9.10-1', sha256='6f0e6a6b2996000cefbe9bff1716689fd71c2cd4004d23b238a9cb90c4421bdc')
- version('1.9.10', sha256='063fea7c9bf87677a5fc5889e3fcd51582b77a2b3af9fa599d846a9c98ce9407')
- version('1.9.9', sha256='162514b3cc264ac89d91898b58450190b8192e2af1142cf8ccac2d59aa160dda')
- version('1.9.8-1', sha256='f61d05367bd8fe8bfb0eafa20f7b14d27deb8b25a398c53d8a97a01a2399431b')
- version('1.9.8', sha256='694845bdca04fcc67d52c14d1fe6d9b627f41e6bfec0e0987d846a4e93a136f4')
- version('1.8.0', sha256='6bfa06ab52a650ae7ee6963143a0bbc667d6504822cbd9670369b598f18c58c3')
- version('1.7.5', sha256='8f8e0b101324a9839003ff1154c8439137cd38b2039f403a92e76d5c52cee23f')
- version('1.7.4', sha256='20a1a39fd97e5da7f40f5f2e7fd73fd2ea59f9dc4bb8a6c5f228aa543e727e31')
- version('1.7.3', sha256='b7ead9e291d34ffa8074243541c1380d63be63f88de23de8ee548db573b72ebe')
- version('1.7.2', sha256='09b478d4df8e6c62f8425d23ade9e2a52bc279a20057c7d22ce2160f3923764a')
- version('1.7.1', sha256='50b8777b83093fdfdab429a61fccdbfbbb991b3bbc08385118e5ad58e8f62e1d')
- version('1.4.1', sha256='7c3784cf59f02d4a88099d6a11e357032bac9eac2b9c78aaec947d1270e21871')
+ version("1.16.0", sha256="a9e327d46c82025d17ed3ab5a10da006bcdaef5dcbd294b332ef0a572f58445b")
+ version("1.15.0", sha256="dcb75744650deb42e9123509482e0f84944c1dbd60d5cd909a416d953d3a6903")
+ version("1.14.0", sha256="d83ac193b6acdb9281ca130fbe9590728c018c98f38916f903181b6f9410a829")
+ version("1.13.1", sha256="e17f8edee401527be626a7bd21ad85aaf903e12de3445f23d617d465d5171f61")
+ version("1.13.0", sha256="741a3f26cd5b0a90421744f7112fe1e5d98fc71f4ba08a2bee1f36ac6add1fb4")
+ version("1.12.1", sha256="ecf2023ae1aa669c815cc687fdbfdf60967769f301ae4a972c1aebff9719949a")
+ version("1.12.0", sha256="92f0f39235db787f4850d5c4ffdaa7d5367a2f153bdd3b4a1161a6a2fefb7bfc")
+ version(
+ "1.12.0-rc0", sha256="c9470cb5a23849e3143a3b2f07fe4d48ed3c8e0ec862b4d4c02ec15afb4fc331"
+ )
+ version("1.11.0", sha256="4c5d6a42350e010273be33f72af8c9b6253cfe55e2a0584fe7bf9f84dc338d00")
+ version("1.10.0", sha256="d6be1acfa65be4e25be40f576687fed19c00896390cbc6205888c69ac2f150de")
+ version("1.9.10-1", sha256="6f0e6a6b2996000cefbe9bff1716689fd71c2cd4004d23b238a9cb90c4421bdc")
+ version("1.9.10", sha256="063fea7c9bf87677a5fc5889e3fcd51582b77a2b3af9fa599d846a9c98ce9407")
+ version("1.9.9", sha256="162514b3cc264ac89d91898b58450190b8192e2af1142cf8ccac2d59aa160dda")
+ version("1.9.8-1", sha256="f61d05367bd8fe8bfb0eafa20f7b14d27deb8b25a398c53d8a97a01a2399431b")
+ version("1.9.8", sha256="694845bdca04fcc67d52c14d1fe6d9b627f41e6bfec0e0987d846a4e93a136f4")
+ version("1.8.0", sha256="6bfa06ab52a650ae7ee6963143a0bbc667d6504822cbd9670369b598f18c58c3")
+ version("1.7.5", sha256="8f8e0b101324a9839003ff1154c8439137cd38b2039f403a92e76d5c52cee23f")
+ version("1.7.4", sha256="20a1a39fd97e5da7f40f5f2e7fd73fd2ea59f9dc4bb8a6c5f228aa543e727e31")
+ version("1.7.3", sha256="b7ead9e291d34ffa8074243541c1380d63be63f88de23de8ee548db573b72ebe")
+ version("1.7.2", sha256="09b478d4df8e6c62f8425d23ade9e2a52bc279a20057c7d22ce2160f3923764a")
+ version("1.7.1", sha256="50b8777b83093fdfdab429a61fccdbfbbb991b3bbc08385118e5ad58e8f62e1d")
+ version("1.4.1", sha256="7c3784cf59f02d4a88099d6a11e357032bac9eac2b9c78aaec947d1270e21871")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install_tree('cub', join_path(prefix.include, 'cub'))
+ install_tree("cub", join_path(prefix.include, "cub"))
diff --git a/var/spack/repos/builtin/packages/cube-blade/package.py b/var/spack/repos/builtin/packages/cube-blade/package.py
index 7464e3050a..624d9224eb 100644
--- a/var/spack/repos/builtin/packages/cube-blade/package.py
+++ b/var/spack/repos/builtin/packages/cube-blade/package.py
@@ -10,14 +10,14 @@ class CubeBlade(AutotoolsPackage):
"""Simple OTF2 trace explorer"""
homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
- url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.5/dist/blade-0.2.tar.gz"
+ url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.5/dist/blade-0.2.tar.gz"
- version('0.2', sha256='ab3c5bbca79e2ec599166e75b3c96a8f6a18b3064414fc39e56f78aaae9c165c')
+ version("0.2", sha256="ab3c5bbca79e2ec599166e75b3c96a8f6a18b3064414fc39e56f78aaae9c165c")
- depends_on('cube@4.5:')
- depends_on('cubelib@4.5:')
- depends_on('qt@5.9.1:')
- depends_on('otf2@2.1.1:')
+ depends_on("cube@4.5:")
+ depends_on("cubelib@4.5:")
+ depends_on("qt@5.9.1:")
+ depends_on("otf2@2.1.1:")
# Without this patch, the Blade plugin crashes Cube on startup
- patch('return-bool.patch')
+ patch("return-bool.patch")
diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py
index 5551c6cd59..f921d9e1cb 100644
--- a/var/spack/repos/builtin/packages/cube/package.py
+++ b/var/spack/repos/builtin/packages/cube/package.py
@@ -15,57 +15,57 @@ class Cube(AutotoolsPackage):
"""
homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
- url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubegui-4.4.2.tar.gz"
+ url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubegui-4.4.2.tar.gz"
- version('4.6', sha256='1871c6736121d94a22314cb5daa8f3cbb978b58bfe54f677c4c9c9693757d0c5')
- version('4.5', sha256='ffe84108adce0adf06dca80820d941b1a60a5580a8bacc8f7c1b6989c8ab1bfa')
- version('4.4.4', sha256='9b7b96d5a64b558a9017cc3599bba93a42095534e018e3de9b1f80ab6d04cc34')
- version('4.4.3', sha256='bf4b0f2ff68507ff82ba24eb4895aed961710dae16d783c222a12f152440cf36')
- version('4.4.2', sha256='29b6479616a524f8325f5031a883963bf965fb92569de33271a020f08650ec7b')
- version('4.4', sha256='0620bae3ac357d0486ce7f5f97e448eeb2494c9a31865b679380ee08c6750e70')
- version('4.3.5', sha256='1dc26f473e8bb4cdbdd411224c3c2026a394f3e936f1918000dc65a222753912')
- version('4.3.4', sha256='34c55fc5d0c84942c0845a7324d84cde09f3bc1b3fae6a0f9556f7ea0e201065')
- version('4.3.3', sha256='ce8e1bff5a208fe5700a0194170be85bbd8f554e1aa1514b4afc5129326c7f83')
- version('4.2.3', sha256='b30c6998bcc54f795bcd6de3cfbef9c3cec094f782820174b533f628b0e60765')
+ version("4.6", sha256="1871c6736121d94a22314cb5daa8f3cbb978b58bfe54f677c4c9c9693757d0c5")
+ version("4.5", sha256="ffe84108adce0adf06dca80820d941b1a60a5580a8bacc8f7c1b6989c8ab1bfa")
+ version("4.4.4", sha256="9b7b96d5a64b558a9017cc3599bba93a42095534e018e3de9b1f80ab6d04cc34")
+ version("4.4.3", sha256="bf4b0f2ff68507ff82ba24eb4895aed961710dae16d783c222a12f152440cf36")
+ version("4.4.2", sha256="29b6479616a524f8325f5031a883963bf965fb92569de33271a020f08650ec7b")
+ version("4.4", sha256="0620bae3ac357d0486ce7f5f97e448eeb2494c9a31865b679380ee08c6750e70")
+ version("4.3.5", sha256="1dc26f473e8bb4cdbdd411224c3c2026a394f3e936f1918000dc65a222753912")
+ version("4.3.4", sha256="34c55fc5d0c84942c0845a7324d84cde09f3bc1b3fae6a0f9556f7ea0e201065")
+ version("4.3.3", sha256="ce8e1bff5a208fe5700a0194170be85bbd8f554e1aa1514b4afc5129326c7f83")
+ version("4.2.3", sha256="b30c6998bcc54f795bcd6de3cfbef9c3cec094f782820174b533f628b0e60765")
- variant('gui', default=True, description='Build Cube GUI')
+ variant("gui", default=True, description="Build Cube GUI")
- patch('qt-version.patch', when='@4.3.0:4.3 +gui')
+ patch("qt-version.patch", when="@4.3.0:4.3 +gui")
- depends_on('cubelib@4.6', when='@4.6')
- depends_on('cubelib@4.5', when='@4.5')
+ depends_on("cubelib@4.6", when="@4.6")
+ depends_on("cubelib@4.5", when="@4.5")
# There is a backwards dependency in series 4
- depends_on('cubelib@4.4:4.4.4', when='@4.4.4')
- depends_on('cubelib@4.4:4.4.3', when='@4.4.3')
- depends_on('cubelib@4.4:4.4.2', when='@4.4.2')
- depends_on('cubelib@4.4', when='@4.4')
+ depends_on("cubelib@4.4:4.4.4", when="@4.4.4")
+ depends_on("cubelib@4.4:4.4.3", when="@4.4.3")
+ depends_on("cubelib@4.4:4.4.2", when="@4.4.2")
+ depends_on("cubelib@4.4", when="@4.4")
- depends_on('pkgconfig', type='build')
- depends_on('dbus')
- depends_on('zlib')
+ depends_on("pkgconfig", type="build")
+ depends_on("dbus")
+ depends_on("zlib")
- depends_on('qt@5:', when='@4.3.0: +gui')
- depends_on('qt@4.8:', when='@4.2.0:4.2 +gui')
+ depends_on("qt@5:", when="@4.3.0: +gui")
+ depends_on("qt@4.8:", when="@4.2.0:4.2 +gui")
- conflicts('~gui', when='@4.4:')
+ conflicts("~gui", when="@4.4:")
def url_for_version(self, version):
- if version >= Version('4.4'):
- url = 'http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubegui-{1}.tar.gz'
+ if version >= Version("4.4"):
+ url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubegui-{1}.tar.gz"
else:
- url = 'http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cube-{1}.tar.gz'
+ url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cube-{1}.tar.gz"
return url.format(version.up_to(2), version)
def configure_args(self):
spec = self.spec
- configure_args = ['--enable-shared']
+ configure_args = ["--enable-shared"]
- if '+gui' not in spec:
- configure_args.append('--without-gui')
+ if "+gui" not in spec:
+ configure_args.append("--without-gui")
return configure_args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/cubelib/package.py b/var/spack/repos/builtin/packages/cubelib/package.py
index 8df9ca31fd..8ed565ba6a 100644
--- a/var/spack/repos/builtin/packages/cubelib/package.py
+++ b/var/spack/repos/builtin/packages/cubelib/package.py
@@ -7,30 +7,30 @@ from spack.package import *
class Cubelib(AutotoolsPackage):
- """Component of CubeBundle: General purpose C++ library and tools """
+ """Component of CubeBundle: General purpose C++ library and tools"""
homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubelib-4.4.tar.gz"
- version('4.6', sha256='36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b')
- version('4.5', sha256='98f66837b4a834b1aacbcd4480a242d7a8c4a1b8dd44e02e836b8c7a4f0ffd98')
- version('4.4.4', sha256='adb8216ee3b7701383884417374e7ff946edb30e56640307c65465187dca7512')
- version('4.4.3', sha256='bcd4fa81a5ba37194e590a5d7c3e6c44b448f5e156a175837b77c21206847a8d')
- version('4.4.2', sha256='843335c7d238493f1b4cb8e07555ccfe99a3fa521bf162e9d8eaa6733aa1f949')
- version('4.4', sha256='77548e1732fa5e82b13cc8465c8a21349bf42b45a382217d2e70d18576741d5c')
+ version("4.6", sha256="36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b")
+ version("4.5", sha256="98f66837b4a834b1aacbcd4480a242d7a8c4a1b8dd44e02e836b8c7a4f0ffd98")
+ version("4.4.4", sha256="adb8216ee3b7701383884417374e7ff946edb30e56640307c65465187dca7512")
+ version("4.4.3", sha256="bcd4fa81a5ba37194e590a5d7c3e6c44b448f5e156a175837b77c21206847a8d")
+ version("4.4.2", sha256="843335c7d238493f1b4cb8e07555ccfe99a3fa521bf162e9d8eaa6733aa1f949")
+ version("4.4", sha256="77548e1732fa5e82b13cc8465c8a21349bf42b45a382217d2e70d18576741d5c")
- depends_on('pkgconfig', type='build')
- depends_on('zlib')
+ depends_on("pkgconfig", type="build")
+ depends_on("zlib")
def url_for_version(self, version):
- url = 'http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubelib-{1}.tar.gz'
+ url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubelib-{1}.tar.gz"
return url.format(version.up_to(2), version)
def configure_args(self):
- configure_args = ['--enable-shared']
+ configure_args = ["--enable-shared"]
return configure_args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/cubew/package.py b/var/spack/repos/builtin/packages/cubew/package.py
index 70c235d9b8..ede8a85850 100644
--- a/var/spack/repos/builtin/packages/cubew/package.py
+++ b/var/spack/repos/builtin/packages/cubew/package.py
@@ -7,30 +7,30 @@ from spack.package import *
class Cubew(AutotoolsPackage):
- """Component of CubeBundle: High performance C Writer library """
+ """Component of CubeBundle: High performance C Writer library"""
homepage = "https://www.scalasca.org/software/cube-4.x/download.html"
url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubew-4.4.tar.gz"
- version('4.6', sha256='99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8')
- version('4.5', sha256='16bd8fd864197a74ca65f7325761ad75d73d555072326e95e1338cff39f28a5c')
- version('4.4.3', sha256='93fff6cc1e8b0780f0171ef5302a2e1a257f99b6383fbfc1b9b82f925ceff501')
- version('4.4.2', sha256='31a71e9a05e6523de2b86b4026821bbb75fb411eb5b18ae38b27c1f44158014a')
- version('4.4.1', sha256='c09e3f5a3533ebedee2cc7dfaacd7bac4680c14c3fa540669466583a23f04b67')
- version('4.4', sha256='b1d6fecb546bc645ced430ea3fc166e85835f3b997d4e5f0dece71919fc95a99')
+ version("4.6", sha256="99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8")
+ version("4.5", sha256="16bd8fd864197a74ca65f7325761ad75d73d555072326e95e1338cff39f28a5c")
+ version("4.4.3", sha256="93fff6cc1e8b0780f0171ef5302a2e1a257f99b6383fbfc1b9b82f925ceff501")
+ version("4.4.2", sha256="31a71e9a05e6523de2b86b4026821bbb75fb411eb5b18ae38b27c1f44158014a")
+ version("4.4.1", sha256="c09e3f5a3533ebedee2cc7dfaacd7bac4680c14c3fa540669466583a23f04b67")
+ version("4.4", sha256="b1d6fecb546bc645ced430ea3fc166e85835f3b997d4e5f0dece71919fc95a99")
- depends_on('pkgconfig', type='build')
- depends_on('zlib')
+ depends_on("pkgconfig", type="build")
+ depends_on("zlib")
def url_for_version(self, version):
- url = 'http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubew-{1}.tar.gz'
+ url = "http://apps.fz-juelich.de/scalasca/releases/cube/{0}/dist/cubew-{1}.tar.gz"
return url.format(version.up_to(2), version)
def configure_args(self):
- configure_args = ['--enable-shared']
+ configure_args = ["--enable-shared"]
return configure_args
def install(self, spec, prefix):
- make('install', parallel=True)
+ make("install", parallel=True)
diff --git a/var/spack/repos/builtin/packages/cubist/package.py b/var/spack/repos/builtin/packages/cubist/package.py
index bf86947c0e..4703da669e 100644
--- a/var/spack/repos/builtin/packages/cubist/package.py
+++ b/var/spack/repos/builtin/packages/cubist/package.py
@@ -17,16 +17,16 @@ class Cubist(MakefilePackage):
while also being easier to understand than neural networks."""
homepage = "https://www.rulequest.com"
- url = "https://www.rulequest.com/GPL/Cubist.tgz"
+ url = "https://www.rulequest.com/GPL/Cubist.tgz"
- version('2.07', 'f2b20807cd3275e775c42263a4efd3f50df6e495a8b6dc8989ea2d41b973ac1a')
+ version("2.07", "f2b20807cd3275e775c42263a4efd3f50df6e495a8b6dc8989ea2d41b973ac1a")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
makefile.filter("SHELL .*", "SHELL = /bin/bash")
def install(self, spec, prefix):
mkdirp(self.prefix.bin)
- install('cubist', prefix.bin)
- install('summary', prefix.bin)
- install('xval', prefix.bin)
+ install("cubist", prefix.bin)
+ install("summary", prefix.bin)
+ install("xval", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cuda-memtest/package.py b/var/spack/repos/builtin/packages/cuda-memtest/package.py
index 41ff914c46..7cee5e799c 100644
--- a/var/spack/repos/builtin/packages/cuda-memtest/package.py
+++ b/var/spack/repos/builtin/packages/cuda-memtest/package.py
@@ -16,12 +16,12 @@ class CudaMemtest(CMakePackage):
"""
homepage = "https://github.com/ComputationalRadiationPhysics/cuda_memtest"
- git = "https://github.com/ComputationalRadiationPhysics/cuda_memtest.git"
+ git = "https://github.com/ComputationalRadiationPhysics/cuda_memtest.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('master', branch='dev')
+ version("master", branch="dev")
- depends_on('cmake@2.8.5:', type='build')
+ depends_on("cmake@2.8.5:", type="build")
# depends_on('nvml', when='+nvml')
- depends_on('cuda@5.0:')
+ depends_on("cuda@5.0:")
diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py
index 01be188ae4..fd76aabebd 100644
--- a/var/spack/repos/builtin/packages/cuda/package.py
+++ b/var/spack/repos/builtin/packages/cuda/package.py
@@ -24,114 +24,374 @@ from spack.package import *
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
- '11.7.0': {
- 'Linux-aarch64': ('e777839a618ca9a3d5ad42ded43a1b6392af2321a7327635a4afcc986876a21b', 'https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux_sbsa.run'),
- 'Linux-x86_64': ('087fdfcbba1f79543b1f78e43a8dfdac5f6db242d042dde820e16dc185892f26', 'https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run'),
- 'Linux-ppc64le': ('74a507ac54067c258e6b7c9063c98d411116ecc5c5397b1f6e6a999e86dff08a', 'https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux_ppc64le.run')},
- '11.6.2': {
- 'Linux-aarch64': ('b20c014c6bba36b13c50da167ad42e9bd1cea24f3b6297b495ea129c0889f36e', 'https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux_sbsa.run'),
- 'Linux-x86_64': ('99b7a73dcc52a52cef4c1fceb4a60c3015ac9b6404082c1677d9efdaba1d4593', 'https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run'),
- 'Linux-ppc64le': ('869232ff8dbf295a71609738ac9e1b0079ca75597b427f1c026f42b36896afe8', 'https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux_ppc64le.run')},
- '11.6.1': {
- 'Linux-aarch64': ('80586b003d58030004d465f5331dc69ee26c95a29516fb2488ff10f034139cb2', 'https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux_sbsa.run'),
- 'Linux-x86_64': ('ab219afce00b74200113269866fbff75ead037bcfc23551a8338c2684c984d7e', 'https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run'),
- 'Linux-ppc64le': ('ef762efbc00b67d572823c6ec338cc2c0cf0c096f41e6bce18e8d4501f260956', 'https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux_ppc64le.run')},
- '11.6.0': {
- 'Linux-aarch64': ('5898579f5e59b708520883cb161089f5e4f3426158d1e9f973c49d224085d1d2', 'https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux_sbsa.run'),
- 'Linux-x86_64': ('1783da6d63970786040980b57fa3cb6420142159fc7d0e66f8f05c4905d98c83', 'https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run'),
- 'Linux-ppc64le': ('c86b866a42baf59ddc6f1f4a79e6d77213c90749e77e574f0e0d796a749ab7d0', 'https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux_ppc64le.run')},
- '11.5.2': {
- 'Linux-aarch64': ('31337c8bdc224fa1bd07bc4b6a745798392428118cc8ea0fa4446ee4ad47dd30', 'https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux_sbsa.run'),
- 'Linux-x86_64': ('74959abf02bcba526f0a3aae322c7641b25da040ccd6236d07038f81997b73a6', 'https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux.run'),
- 'Linux-ppc64le': ('45c468f430436b3e95d5e485a6ba0ec1fa2b23dc6c551c1307b79996ecf0a7ed', 'https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux_ppc64le.run')},
- '11.5.1': {
- 'Linux-aarch64': ('73e1d0e97c7fa686efe7e00fb1e5f179372c4eec8e14d4f44ab58d5f6cf57f63', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_sbsa.run'),
- 'Linux-x86_64': ('60bea2fc0fac95574015f865355afbf599422ec2c85554f5f052b292711a4bca', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux.run'),
- 'Linux-ppc64le': ('9e0e494d945634fe8ad3e12d7b91806aa4220ed27487bb211030d651b27c67a9', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_ppc64le.run')},
- '11.5.0': {
- 'Linux-aarch64': ('6ea9d520cc956cc751a5ac54f4acc39109627f4e614dd0b1a82cc86f2aa7d8c4', 'https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux_sbsa.run'),
- 'Linux-x86_64': ('ae0a1693d9497cf3d81e6948943e3794636900db71c98d58eefdacaf7f1a1e4c', 'https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run'),
- 'Linux-ppc64le': ('95baefdc5adf165189407b119861ffb2e9800fd94d7fc81d10fb81ed36dc12db', 'https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux_ppc64le.run')},
- '11.4.4': {
- 'Linux-aarch64': ('c5c08531e48e8fdc2704fa1c1f7195f2c7edd2ee10a466d0e24d05b77d109435', 'https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux_sbsa.run'),
- 'Linux-x86_64': ('44545a7abb4b66dfc201dcad787b5e8352e5b7ddf3e3cc5b2e9177af419c25c8', 'https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run'),
- 'Linux-ppc64le': ('c71cd4e6c05fde11c0485369a73e7f356080e7a18f0e3ad7244e8fc03a9dd3e2', 'https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux_ppc64le.run')},
- '11.4.3': {
- 'Linux-aarch64': ('e02db34a487ea3de3eec9db80efd09f12eb69d55aca686cecaeae96a9747b1d4', 'https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux_sbsa.run'),
- 'Linux-x86_64': ('749183821ffc051e123f12ebdeb171b263d55b86f0dd7c8f23611db1802d6c37', 'https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux.run'),
- 'Linux-ppc64le': ('08f29cc3ed0b3b82dd9b007186237be2352bb552f99230c450a25e768f5754ee', 'https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux_ppc64le.run')},
- '11.4.2': {
- 'Linux-aarch64': ('f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8', 'https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_sbsa.run'),
- 'Linux-x86_64': ('bbd87ca0e913f837454a796367473513cddef555082e4d86ed9a38659cc81f0a', 'https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run'),
- 'Linux-ppc64le': ('a917c2e53dc13fdda7def71fd40920bf3809d5a2caa3e9acfe377fb9fb22f12d', 'https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_ppc64le.run')},
- '11.4.1': {
- 'Linux-aarch64': ('8efa725a41dfd3c0c0f453c2dd535d149154102bf2b791718859417b4f84f922', 'https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_sbsa.run'),
- 'Linux-x86_64': ('dd6c339a719989d2518f5d54eeac1ed707d0673f8664ba0c4d4b2af7c3ba0005', 'https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run'),
- 'Linux-ppc64le': ('dd92ca04f76ad938da3480e2901c0e52dbff6028ada63c09071ed9e3055dc361', 'https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_ppc64le.run')},
- '11.4.0': {
- 'Linux-aarch64': ('f0c8e80d98a601ddca031b6764459984366008c7d3847e7c7f99b36bd4438e3c', 'https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run'),
- 'Linux-x86_64': ('d219db30f7415a115a4ea22bdbb5984b0a18f7f891cad6074c5da45d223aaa4b', 'https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run'),
- 'Linux-ppc64le': ('6eb2fd0d9d5bc39fb243b5e1789ff827f325d098cd1fbb828a0499552b9544cc', 'https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_ppc64le.run')},
- '11.3.1': {
- 'Linux-aarch64': ('39990d3da88b21289ac20850bc183f0b66275f32e1f562b551c05843bf506e4c', 'https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux_sbsa.run'),
- 'Linux-x86_64': ('ad93ea98efced35855c58d3a0fc326377c60917cb3e8c017d3e6d88819bf2934', 'https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run'),
- 'Linux-ppc64le': ('220f2c10a21500d62b03c6848c1659ebb3a8e10dc0915ab87b86b397058407c5', 'https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux_ppc64le.run')},
- '11.3.0': {
- 'Linux-aarch64': ('f7b284cf055fcf18be9a9aa216e3c7968d3e011446eb0c7200a3353c223ce718', 'https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux_sbsa.run'),
- 'Linux-x86_64': ('262da7f77db177b153a6b70b5812210f3f72f00eb608ab9cf2a4582328c4bf5c', 'https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run'),
- 'Linux-ppc64le': ('c0010107933b575a87e27b1293e5dc32b74201486f4ae2f4c8695ea727d22857', 'https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux_ppc64le.run')},
- '11.2.2': {
- 'Linux-aarch64': ('2f915ad631331eebdafaabd971723a60290ae8bb090d771075b9e6a0b28cbae6', 'https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux_sbsa.run'),
- 'Linux-x86_64': ('0a2e477224af7f6003b49edfd2bfee07667a8148fe3627cfd2765f6ad72fa19d', 'https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run'),
- 'Linux-ppc64le': ('2304ec235fe5d1f8bf75f00dc2c2d11473759dc23428dbbd5fb5040bc8c757e3', 'https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux_ppc64le.run')},
- '11.2.1': {
- 'Linux-aarch64': ('4b322fa6477d1a2cd2f2f526fa520c0f90bef2c264ef8435cb016bebb5456c5e', 'https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux_sbsa.run'),
- 'Linux-x86_64': ('1da98cb897cc5f58a7445a4a66ca4f6926867706cb3af58a669cdcd8dc3d17c8', 'https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run'),
- 'Linux-ppc64le': ('b3e8b6cd76872deb3acd050d32e197bc1c655e142b169070f0f9753680461a3f', 'https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux_ppc64le.run')},
- '11.2.0': {
- 'Linux-aarch64': ('c11dc274660e9b47b0f25ca66861a7406246a7191f1b04d0710515fcac0fa6cd', 'https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux_sbsa.run'),
- 'Linux-x86_64': ('9c50283241ac325d3085289ed9b9c170531369de41165ce271352d4a898cbdce', 'https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run'),
- 'Linux-ppc64le': ('adc3267df5dbfdaf51cb4c9b227ba6bfd979a39d9b4136bba0eba6b1dd2a2731', 'https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux_ppc64le.run')},
- '11.1.1': {
- 'Linux-aarch64': ('9ab1dbafba205c06bea8c88e38cdadb3038af19cb56e7b3ba734d3d7a84b8f02', 'https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux_sbsa.run'),
- 'Linux-x86_64': ('3eae6727086024925ebbcef3e9a45ad379d8490768fd00f9c2d8b6fd9cd8dd8f', 'https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run'),
- 'Linux-ppc64le': ('023e571fe26ee829c98138dfc305a92279854aac7d184d255fd58c06c6af3c17', 'https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux_ppc64le.run')},
- '11.1.0': {
- 'Linux-aarch64': ('878cbd36c5897468ef28f02da50b2f546af0434a8a89d1c724a4d2013d6aa993', 'https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux_sbsa.run'),
- 'Linux-x86_64': ('858cbab091fde94556a249b9580fadff55a46eafbcb4d4a741d2dcd358ab94a5', 'https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run'),
- 'Linux-ppc64le': ('a561e6f7f659bc4100e4713523b0b8aad6b36aa77fac847f6423e7780c750064', 'https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux_ppc64le.run')},
- '11.0.3': {
- 'Linux-aarch64': ('1e24f61f79c1043aa3d1d126ff6158daa03a62a51b5195a2ed5fbe75c3b718f3', 'https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux_sbsa.run'),
- 'Linux-x86_64': ('b079c4e408adf88c3f1ffb8418a97dc4227c37935676b4bf4ca0beec6c328cc0', 'https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run'),
- 'Linux-ppc64le': ('4775b21df004b1433bafff9b48a324075c008509f4c0fe28cd060d042d2e0794', 'https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux_ppc64le.run')},
- '11.0.2': {
- 'Linux-aarch64': ('23851e30f7c47a1baad92891abde0adbc783de5962c7480b9725198ceacda4a0', 'https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux_sbsa.run'),
- 'Linux-x86_64': ('48247ada0e3f106051029ae8f70fbd0c238040f58b0880e55026374a959a69c1', 'https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run'),
- 'Linux-ppc64le': ('db06d0f3fbf6f7aa1f106fc921ad1c86162210a26e8cb65b171c5240a3bf75da', 'https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux_ppc64le.run')},
- '10.2.89': {
- 'Linux-x86_64': ('560d07fdcf4a46717f2242948cd4f92c5f9b6fc7eae10dd996614da913d5ca11', 'https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run'),
- 'Linux-ppc64le': ('5227774fcb8b10bd2d8714f0a716a75d7a2df240a9f2a49beb76710b1c0fc619', 'https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux_ppc64le.run')},
- '10.1.243': {
- 'Linux-x86_64': ('e7c22dc21278eb1b82f34a60ad7640b41ad3943d929bebda3008b72536855d31', 'https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run'),
- 'Linux-ppc64le': ('b198002eef010bab9e745ae98e47567c955d00cf34cc8f8d2f0a6feb810523bf', 'https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux_ppc64le.run')},
- '10.0.130': {
- 'Linux-x86_64': ('92351f0e4346694d0fcb4ea1539856c9eb82060c25654463bfd8574ec35ee39a', 'https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux')},
- '9.2.88': {
- 'Linux-x86_64': ('8d02cc2a82f35b456d447df463148ac4cc823891be8820948109ad6186f2667c', 'https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda_9.2.88_396.26_linux')},
- '9.1.85': {
- 'Linux-x86_64': ('8496c72b16fee61889f9281449b5d633d0b358b46579175c275d85c9205fe953', 'https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux')},
- '9.0.176': {
- 'Linux-x86_64': ('96863423feaa50b5c1c5e1b9ec537ef7ba77576a3986652351ae43e66bcd080c', 'https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run')},
- '8.0.61': {
- 'Linux-x86_64': ('9ceca9c2397f841024e03410bfd6eabfd72b384256fbed1c1e4834b5b0ce9dc4', 'https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run')},
- '8.0.44': {
- 'Linux-x86_64': ('64dc4ab867261a0d690735c46d7cc9fc60d989da0d69dc04d1714e409cacbdf0', 'https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda_8.0.44_linux-run')},
- '7.5.18': {
- 'Linux-x86_64': ('08411d536741075131a1858a68615b8b73c51988e616e83b835e4632eea75eec', 'https://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run')},
- '6.5.14': {
- 'Linux-x86_64': ('f3e527f34f317314fe8fcd8c85f10560729069298c0f73105ba89225db69da48', 'https://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run')},
- '6.0.37': {
- 'Linux-x86_64': ('991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40', 'https://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run')},
+ "11.7.0": {
+ "Linux-aarch64": (
+ "e777839a618ca9a3d5ad42ded43a1b6392af2321a7327635a4afcc986876a21b",
+ "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "087fdfcbba1f79543b1f78e43a8dfdac5f6db242d042dde820e16dc185892f26",
+ "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "74a507ac54067c258e6b7c9063c98d411116ecc5c5397b1f6e6a999e86dff08a",
+ "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux_ppc64le.run",
+ ),
+ },
+ "11.6.2": {
+ "Linux-aarch64": (
+ "b20c014c6bba36b13c50da167ad42e9bd1cea24f3b6297b495ea129c0889f36e",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "99b7a73dcc52a52cef4c1fceb4a60c3015ac9b6404082c1677d9efdaba1d4593",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "869232ff8dbf295a71609738ac9e1b0079ca75597b427f1c026f42b36896afe8",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux_ppc64le.run",
+ ),
+ },
+ "11.6.1": {
+ "Linux-aarch64": (
+ "80586b003d58030004d465f5331dc69ee26c95a29516fb2488ff10f034139cb2",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "ab219afce00b74200113269866fbff75ead037bcfc23551a8338c2684c984d7e",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "ef762efbc00b67d572823c6ec338cc2c0cf0c096f41e6bce18e8d4501f260956",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux_ppc64le.run",
+ ),
+ },
+ "11.6.0": {
+ "Linux-aarch64": (
+ "5898579f5e59b708520883cb161089f5e4f3426158d1e9f973c49d224085d1d2",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "1783da6d63970786040980b57fa3cb6420142159fc7d0e66f8f05c4905d98c83",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "c86b866a42baf59ddc6f1f4a79e6d77213c90749e77e574f0e0d796a749ab7d0",
+ "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux_ppc64le.run",
+ ),
+ },
+ "11.5.2": {
+ "Linux-aarch64": (
+ "31337c8bdc224fa1bd07bc4b6a745798392428118cc8ea0fa4446ee4ad47dd30",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "74959abf02bcba526f0a3aae322c7641b25da040ccd6236d07038f81997b73a6",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "45c468f430436b3e95d5e485a6ba0ec1fa2b23dc6c551c1307b79996ecf0a7ed",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux_ppc64le.run",
+ ),
+ },
+ "11.5.1": {
+ "Linux-aarch64": (
+ "73e1d0e97c7fa686efe7e00fb1e5f179372c4eec8e14d4f44ab58d5f6cf57f63",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "60bea2fc0fac95574015f865355afbf599422ec2c85554f5f052b292711a4bca",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "9e0e494d945634fe8ad3e12d7b91806aa4220ed27487bb211030d651b27c67a9",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_ppc64le.run",
+ ),
+ },
+ "11.5.0": {
+ "Linux-aarch64": (
+ "6ea9d520cc956cc751a5ac54f4acc39109627f4e614dd0b1a82cc86f2aa7d8c4",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "ae0a1693d9497cf3d81e6948943e3794636900db71c98d58eefdacaf7f1a1e4c",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "95baefdc5adf165189407b119861ffb2e9800fd94d7fc81d10fb81ed36dc12db",
+ "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux_ppc64le.run",
+ ),
+ },
+ "11.4.4": {
+ "Linux-aarch64": (
+ "c5c08531e48e8fdc2704fa1c1f7195f2c7edd2ee10a466d0e24d05b77d109435",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "44545a7abb4b66dfc201dcad787b5e8352e5b7ddf3e3cc5b2e9177af419c25c8",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "c71cd4e6c05fde11c0485369a73e7f356080e7a18f0e3ad7244e8fc03a9dd3e2",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux_ppc64le.run",
+ ),
+ },
+ "11.4.3": {
+ "Linux-aarch64": (
+ "e02db34a487ea3de3eec9db80efd09f12eb69d55aca686cecaeae96a9747b1d4",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "749183821ffc051e123f12ebdeb171b263d55b86f0dd7c8f23611db1802d6c37",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "08f29cc3ed0b3b82dd9b007186237be2352bb552f99230c450a25e768f5754ee",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.3/local_installers/cuda_11.4.3_470.82.01_linux_ppc64le.run",
+ ),
+ },
+ "11.4.2": {
+ "Linux-aarch64": (
+ "f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "bbd87ca0e913f837454a796367473513cddef555082e4d86ed9a38659cc81f0a",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "a917c2e53dc13fdda7def71fd40920bf3809d5a2caa3e9acfe377fb9fb22f12d",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_ppc64le.run",
+ ),
+ },
+ "11.4.1": {
+ "Linux-aarch64": (
+ "8efa725a41dfd3c0c0f453c2dd535d149154102bf2b791718859417b4f84f922",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "dd6c339a719989d2518f5d54eeac1ed707d0673f8664ba0c4d4b2af7c3ba0005",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "dd92ca04f76ad938da3480e2901c0e52dbff6028ada63c09071ed9e3055dc361",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux_ppc64le.run",
+ ),
+ },
+ "11.4.0": {
+ "Linux-aarch64": (
+ "f0c8e80d98a601ddca031b6764459984366008c7d3847e7c7f99b36bd4438e3c",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "d219db30f7415a115a4ea22bdbb5984b0a18f7f891cad6074c5da45d223aaa4b",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "6eb2fd0d9d5bc39fb243b5e1789ff827f325d098cd1fbb828a0499552b9544cc",
+ "https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_ppc64le.run",
+ ),
+ },
+ "11.3.1": {
+ "Linux-aarch64": (
+ "39990d3da88b21289ac20850bc183f0b66275f32e1f562b551c05843bf506e4c",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "ad93ea98efced35855c58d3a0fc326377c60917cb3e8c017d3e6d88819bf2934",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "220f2c10a21500d62b03c6848c1659ebb3a8e10dc0915ab87b86b397058407c5",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux_ppc64le.run",
+ ),
+ },
+ "11.3.0": {
+ "Linux-aarch64": (
+ "f7b284cf055fcf18be9a9aa216e3c7968d3e011446eb0c7200a3353c223ce718",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "262da7f77db177b153a6b70b5812210f3f72f00eb608ab9cf2a4582328c4bf5c",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "c0010107933b575a87e27b1293e5dc32b74201486f4ae2f4c8695ea727d22857",
+ "https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux_ppc64le.run",
+ ),
+ },
+ "11.2.2": {
+ "Linux-aarch64": (
+ "2f915ad631331eebdafaabd971723a60290ae8bb090d771075b9e6a0b28cbae6",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "0a2e477224af7f6003b49edfd2bfee07667a8148fe3627cfd2765f6ad72fa19d",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "2304ec235fe5d1f8bf75f00dc2c2d11473759dc23428dbbd5fb5040bc8c757e3",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux_ppc64le.run",
+ ),
+ },
+ "11.2.1": {
+ "Linux-aarch64": (
+ "4b322fa6477d1a2cd2f2f526fa520c0f90bef2c264ef8435cb016bebb5456c5e",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "1da98cb897cc5f58a7445a4a66ca4f6926867706cb3af58a669cdcd8dc3d17c8",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "b3e8b6cd76872deb3acd050d32e197bc1c655e142b169070f0f9753680461a3f",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux_ppc64le.run",
+ ),
+ },
+ "11.2.0": {
+ "Linux-aarch64": (
+ "c11dc274660e9b47b0f25ca66861a7406246a7191f1b04d0710515fcac0fa6cd",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "9c50283241ac325d3085289ed9b9c170531369de41165ce271352d4a898cbdce",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "adc3267df5dbfdaf51cb4c9b227ba6bfd979a39d9b4136bba0eba6b1dd2a2731",
+ "https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux_ppc64le.run",
+ ),
+ },
+ "11.1.1": {
+ "Linux-aarch64": (
+ "9ab1dbafba205c06bea8c88e38cdadb3038af19cb56e7b3ba734d3d7a84b8f02",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "3eae6727086024925ebbcef3e9a45ad379d8490768fd00f9c2d8b6fd9cd8dd8f",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "023e571fe26ee829c98138dfc305a92279854aac7d184d255fd58c06c6af3c17",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux_ppc64le.run",
+ ),
+ },
+ "11.1.0": {
+ "Linux-aarch64": (
+ "878cbd36c5897468ef28f02da50b2f546af0434a8a89d1c724a4d2013d6aa993",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "858cbab091fde94556a249b9580fadff55a46eafbcb4d4a741d2dcd358ab94a5",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "a561e6f7f659bc4100e4713523b0b8aad6b36aa77fac847f6423e7780c750064",
+ "https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux_ppc64le.run",
+ ),
+ },
+ "11.0.3": {
+ "Linux-aarch64": (
+ "1e24f61f79c1043aa3d1d126ff6158daa03a62a51b5195a2ed5fbe75c3b718f3",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "b079c4e408adf88c3f1ffb8418a97dc4227c37935676b4bf4ca0beec6c328cc0",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "4775b21df004b1433bafff9b48a324075c008509f4c0fe28cd060d042d2e0794",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux_ppc64le.run",
+ ),
+ },
+ "11.0.2": {
+ "Linux-aarch64": (
+ "23851e30f7c47a1baad92891abde0adbc783de5962c7480b9725198ceacda4a0",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux_sbsa.run",
+ ),
+ "Linux-x86_64": (
+ "48247ada0e3f106051029ae8f70fbd0c238040f58b0880e55026374a959a69c1",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "db06d0f3fbf6f7aa1f106fc921ad1c86162210a26e8cb65b171c5240a3bf75da",
+ "https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux_ppc64le.run",
+ ),
+ },
+ "10.2.89": {
+ "Linux-x86_64": (
+ "560d07fdcf4a46717f2242948cd4f92c5f9b6fc7eae10dd996614da913d5ca11",
+ "https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "5227774fcb8b10bd2d8714f0a716a75d7a2df240a9f2a49beb76710b1c0fc619",
+ "https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux_ppc64le.run",
+ ),
+ },
+ "10.1.243": {
+ "Linux-x86_64": (
+ "e7c22dc21278eb1b82f34a60ad7640b41ad3943d929bebda3008b72536855d31",
+ "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run",
+ ),
+ "Linux-ppc64le": (
+ "b198002eef010bab9e745ae98e47567c955d00cf34cc8f8d2f0a6feb810523bf",
+ "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux_ppc64le.run",
+ ),
+ },
+ "10.0.130": {
+ "Linux-x86_64": (
+ "92351f0e4346694d0fcb4ea1539856c9eb82060c25654463bfd8574ec35ee39a",
+ "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux",
+ )
+ },
+ "9.2.88": {
+ "Linux-x86_64": (
+ "8d02cc2a82f35b456d447df463148ac4cc823891be8820948109ad6186f2667c",
+ "https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda_9.2.88_396.26_linux",
+ )
+ },
+ "9.1.85": {
+ "Linux-x86_64": (
+ "8496c72b16fee61889f9281449b5d633d0b358b46579175c275d85c9205fe953",
+ "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux",
+ )
+ },
+ "9.0.176": {
+ "Linux-x86_64": (
+ "96863423feaa50b5c1c5e1b9ec537ef7ba77576a3986652351ae43e66bcd080c",
+ "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run",
+ )
+ },
+ "8.0.61": {
+ "Linux-x86_64": (
+ "9ceca9c2397f841024e03410bfd6eabfd72b384256fbed1c1e4834b5b0ce9dc4",
+ "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run",
+ )
+ },
+ "8.0.44": {
+ "Linux-x86_64": (
+ "64dc4ab867261a0d690735c46d7cc9fc60d989da0d69dc04d1714e409cacbdf0",
+ "https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda_8.0.44_linux-run",
+ )
+ },
+ "7.5.18": {
+ "Linux-x86_64": (
+ "08411d536741075131a1858a68615b8b73c51988e616e83b835e4632eea75eec",
+ "https://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run",
+ )
+ },
+ "6.5.14": {
+ "Linux-x86_64": (
+ "f3e527f34f317314fe8fcd8c85f10560729069298c0f73105ba89225db69da48",
+ "https://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run",
+ )
+ },
+ "6.0.37": {
+ "Linux-x86_64": (
+ "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40",
+ "https://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run",
+ )
+ },
}
@@ -146,8 +406,8 @@ class Cuda(Package):
homepage = "https://developer.nvidia.com/cuda-zone"
- maintainers = ['ax3l', 'Rombur']
- executables = ['^nvcc$']
+ maintainers = ["ax3l", "Rombur"]
+ executables = ["^nvcc$"]
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
@@ -164,55 +424,62 @@ class Cuda(Package):
# macOS NVIDIA drivers at
# https://www.nvidia.com/en-us/drivers/cuda/mac-driver-archive/ mention
# Mojave support -- only macOS High Sierra 10.13 is supported.
- 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, sticky=True,
- description='Allow unsupported host compiler and CUDA version combinations')
-
- depends_on('libxml2', when='@10.1.243:')
+ 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,
+ sticky=True,
+ description="Allow unsupported host compiler and CUDA version combinations",
+ )
+
+ depends_on("libxml2", when="@10.1.243:")
# cuda-gdb needed libncurses.so.5 before 11.4.0
# see https://docs.nvidia.com/cuda/archive/11.3.1/cuda-gdb/index.html#common-issues-oss
# see https://docs.nvidia.com/cuda/archive/11.4.0/cuda-gdb/index.html#release-notes
- depends_on('ncurses abi=5', type='run', when='@:11.3.99+dev')
+ depends_on("ncurses abi=5", type="run", when="@:11.3.99+dev")
- provides('opencl@:1.2', when='@7:')
- provides('opencl@:1.1', when='@:6')
+ provides("opencl@:1.2", when="@7:")
+ provides("opencl@:1.1", when="@:6")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'Cuda compilation tools, release .*?, V(\S+)',
- output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"Cuda compilation tools, release .*?, V(\S+)", output)
return match.group(1) if match else None
def setup_build_environment(self, env):
- if self.spec.satisfies('@:8.0.61'):
+ if self.spec.satisfies("@:8.0.61"):
# Perl 5.26 removed current directory from module search path,
# CUDA 9 has a fix for this, but CUDA 8 and lower don't.
- env.append_path('PERL5LIB', self.stage.source_path)
+ env.append_path("PERL5LIB", self.stage.source_path)
- if self.spec.satisfies('@10.1.243:'):
- libxml2_home = self.spec['libxml2'].prefix
- env.set('LIBXML2HOME', libxml2_home)
- env.append_path('LD_LIBRARY_PATH', libxml2_home.lib)
+ if self.spec.satisfies("@10.1.243:"):
+ libxml2_home = self.spec["libxml2"].prefix
+ env.set("LIBXML2HOME", libxml2_home)
+ env.append_path("LD_LIBRARY_PATH", libxml2_home.lib)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('CUDAHOSTCXX', dependent_spec.package.compiler.cxx)
+ env.set("CUDAHOSTCXX", dependent_spec.package.compiler.cxx)
def setup_run_environment(self, env):
- env.set('CUDA_HOME', self.prefix)
+ env.set("CUDA_HOME", self.prefix)
def install(self, spec, prefix):
- if os.path.exists('/tmp/cuda-installer.log'):
+ if os.path.exists("/tmp/cuda-installer.log"):
try:
- os.remove('/tmp/cuda-installer.log')
+ os.remove("/tmp/cuda-installer.log")
except OSError:
- if spec.satisfies('@10.1:'):
- tty.die("The cuda installer will segfault due to the "
- "presence of /tmp/cuda-installer.log "
- "please remove the file and try again ")
- runfile = glob(join_path(self.stage.source_path, 'cuda*_linux*'))[0]
+ if spec.satisfies("@10.1:"):
+ tty.die(
+ "The cuda installer will segfault due to the "
+ "presence of /tmp/cuda-installer.log "
+ "please remove the file and try again "
+ )
+ runfile = glob(join_path(self.stage.source_path, "cuda*_linux*"))[0]
# Note: NVIDIA does not officially support many newer versions of
# compilers. For example, on CentOS 6, you must use GCC 4.4.7 or
@@ -224,60 +491,59 @@ class Cuda(Package):
# CUDA 10.1 on ppc64le fails to copy some files, the workaround is adapted from
# https://forums.developer.nvidia.com/t/cuda-10-1-243-10-1-update-2-ppc64le-run-file-installation-issue/82433
# See also #21170
- if spec.satisfies('@10.1.243') and platform.machine() == 'ppc64le':
+ if spec.satisfies("@10.1.243") and platform.machine() == "ppc64le":
includedir = "targets/ppc64le-linux/include"
os.makedirs(os.path.join(prefix, includedir))
os.makedirs(os.path.join(prefix, "src"))
os.symlink(includedir, os.path.join(prefix, "include"))
- install_shell = which('sh')
+ install_shell = which("sh")
- if self.spec.satisfies('@:8.0.61'):
+ if self.spec.satisfies("@:8.0.61"):
# Perl 5.26 removed current directory from module search path.
# We are addressing this by exporting `PERL5LIB` earlier, but for some
# reason, it is not enough. One more file needs to be extracted before
# running the actual installer. This solution is one of the commonly
# found on the Internet, when people try to install CUDA <= 8 manually.
# For example: https://askubuntu.com/a/1087842
- arguments = [runfile, '--tar', 'mxvf', './InstallUtils.pm']
+ arguments = [runfile, "--tar", "mxvf", "./InstallUtils.pm"]
install_shell(*arguments)
# CUDA 10.1+ has different cmdline options for the installer
arguments = [
- runfile, # the install script
- '--silent', # disable interactive prompts
- '--override', # override compiler version checks
- '--toolkit', # install CUDA Toolkit
+ runfile, # the install script
+ "--silent", # disable interactive prompts
+ "--override", # override compiler version checks
+ "--toolkit", # install CUDA Toolkit
]
- if spec.satisfies('@7:'):
+ if spec.satisfies("@7:"):
# use stage dir instead of /tmp
- mkdir(join_path(self.stage.path, 'tmp'))
- arguments.append('--tmpdir=%s' % join_path(self.stage.path, 'tmp'))
+ mkdir(join_path(self.stage.path, "tmp"))
+ arguments.append("--tmpdir=%s" % join_path(self.stage.path, "tmp"))
- if spec.satisfies('@10.1:'):
- arguments.append('--installpath=%s' % prefix) # Where to install
+ if spec.satisfies("@10.1:"):
+ arguments.append("--installpath=%s" % prefix) # Where to install
else:
- arguments.append('--verbose') # Verbose log file
- arguments.append('--toolkitpath=%s' % prefix) # Where to install
+ arguments.append("--verbose") # Verbose log file
+ arguments.append("--toolkitpath=%s" % prefix) # Where to install
install_shell(*arguments)
try:
- os.remove('/tmp/cuda-installer.log')
+ os.remove("/tmp/cuda-installer.log")
except OSError:
pass
@property
def libs(self):
- libs = find_libraries('libcudart', root=self.prefix, shared=True,
- recursive=True)
+ libs = find_libraries("libcudart", root=self.prefix, shared=True, recursive=True)
filtered_libs = []
# CUDA 10.0 provides Compatability libraries for running newer versions
# of CUDA with older drivers. These do not work with newer drivers.
for lib in libs:
parts = lib.split(os.sep)
- if 'compat' not in parts and 'stubs' not in parts:
+ if "compat" not in parts and "stubs" not in parts:
filtered_libs.append(lib)
return LibraryList(filtered_libs)
diff --git a/var/spack/repos/builtin/packages/cudnn/package.py b/var/spack/repos/builtin/packages/cudnn/package.py
index 5198c65384..6c9f1fe933 100644
--- a/var/spack/repos/builtin/packages/cudnn/package.py
+++ b/var/spack/repos/builtin/packages/cudnn/package.py
@@ -10,204 +10,221 @@ from spack.package import *
_versions = {
# cuDNN 8.4.0
- '8.4.0.27-11.6': {
- 'Linux-x86_64': 'd19bdafd9800c79d29e6f6fffa9f9e2c10d1132d6c2ff10b1593e057e74dd050',
- 'Linux-ppc64le': '7ef72353331cf42b357f53cb4a4971fb07e2f0b2ae66e03d54933df52de411c8',
- 'Linux-aarch64': '3972ab37b6f0271274931f69c5675c3b61d16f8f5a2dedd422a5efd7b0f358e5'},
- '8.4.0.27-10.2': {
- 'Linux-x86_64': '14c5e3ca4258271996d1fd959c42d17c582ce4d9aff451f84524469e784fd154'},
-
+ "8.4.0.27-11.6": {
+ "Linux-x86_64": "d19bdafd9800c79d29e6f6fffa9f9e2c10d1132d6c2ff10b1593e057e74dd050",
+ "Linux-ppc64le": "7ef72353331cf42b357f53cb4a4971fb07e2f0b2ae66e03d54933df52de411c8",
+ "Linux-aarch64": "3972ab37b6f0271274931f69c5675c3b61d16f8f5a2dedd422a5efd7b0f358e5",
+ },
+ "8.4.0.27-10.2": {
+ "Linux-x86_64": "14c5e3ca4258271996d1fd959c42d17c582ce4d9aff451f84524469e784fd154"
+ },
# cuDNN 8.3.3
- '8.3.3.40-11.5': {
- 'Linux-x86_64': 'eabe96c75cf03ea4f5379894d914f1f8ae14ceab121989e84b0836d927fb7731',
- 'Linux-ppc64le': 'eaedc8dea675767f9445c11d96e6b472110d2fed728db4179153ca7da6503083',
- 'Linux-aarch64': '83b1d21b0f6495dfdc2316e6d53489db8ab1b752e4e4d21caca0a08fb2136cdc'},
- '8.3.3.40-10.2': {
- 'Linux-x86_64': 'd8554f2b32e6295d5fc8f3ac25e68f94058b018c801dab9c143e36812f8926ab'},
-
+ "8.3.3.40-11.5": {
+ "Linux-x86_64": "eabe96c75cf03ea4f5379894d914f1f8ae14ceab121989e84b0836d927fb7731",
+ "Linux-ppc64le": "eaedc8dea675767f9445c11d96e6b472110d2fed728db4179153ca7da6503083",
+ "Linux-aarch64": "83b1d21b0f6495dfdc2316e6d53489db8ab1b752e4e4d21caca0a08fb2136cdc",
+ },
+ "8.3.3.40-10.2": {
+ "Linux-x86_64": "d8554f2b32e6295d5fc8f3ac25e68f94058b018c801dab9c143e36812f8926ab"
+ },
# cuDNN 8.3.2
- '8.3.2.44-11.5': {
- 'Linux-x86_64': '5500953c08c5e5d1dddcfda234f9efbddcdbe43a53b26dc0a82c723fa170c457',
- 'Linux-ppc64le': '0581bce48023a3ee71c3a819aaefcabe693eca18b61e2521dc5f8e6e71567b1b',
- 'Linux-aarch64': '7eb8c96bfeec98e8aa7cea1e95633d2a9481fc99040eb0311d31bf137a7aa6ea'},
-
+ "8.3.2.44-11.5": {
+ "Linux-x86_64": "5500953c08c5e5d1dddcfda234f9efbddcdbe43a53b26dc0a82c723fa170c457",
+ "Linux-ppc64le": "0581bce48023a3ee71c3a819aaefcabe693eca18b61e2521dc5f8e6e71567b1b",
+ "Linux-aarch64": "7eb8c96bfeec98e8aa7cea1e95633d2a9481fc99040eb0311d31bf137a7aa6ea",
+ },
# cuDNN 8.3.1
- '8.3.1.22-11.5': {
- 'Linux-x86_64': 'f5ff3c69b6a8a9454289b42eca1dd41c3527f70fcf49428eb80502bcf6b02f6e',
- 'Linux-ppc64le': '1d2419a20ee193dc6a3a0ba87e79f408286d3d317c9831cbc1f0b7a268c100b0',
- 'Linux-aarch64': 'ff23a881366c0ee79b973a8921c6dd400628a321557550ad4e0a26a21caad263'},
-
+ "8.3.1.22-11.5": {
+ "Linux-x86_64": "f5ff3c69b6a8a9454289b42eca1dd41c3527f70fcf49428eb80502bcf6b02f6e",
+ "Linux-ppc64le": "1d2419a20ee193dc6a3a0ba87e79f408286d3d317c9831cbc1f0b7a268c100b0",
+ "Linux-aarch64": "ff23a881366c0ee79b973a8921c6dd400628a321557550ad4e0a26a21caad263",
+ },
# cuDNN 8.2.4
- '8.2.4.15-11.4': {
- 'Linux-x86_64': '0e5d2df890b9967efa6619da421310d97323565a79f05a1a8cb9b7165baad0d7',
- 'Linux-ppc64le': 'af8749ca83fd6bba117c8bee31b787b7f204946e864294030ee0091eb7d3577e',
- 'Linux-aarch64': '48b11f19e9cd3414ec3c6c357ad228aebbd43282aae372d42cab2af67c32a08b'},
-
+ "8.2.4.15-11.4": {
+ "Linux-x86_64": "0e5d2df890b9967efa6619da421310d97323565a79f05a1a8cb9b7165baad0d7",
+ "Linux-ppc64le": "af8749ca83fd6bba117c8bee31b787b7f204946e864294030ee0091eb7d3577e",
+ "Linux-aarch64": "48b11f19e9cd3414ec3c6c357ad228aebbd43282aae372d42cab2af67c32a08b",
+ },
# cuDNN 8.2.0
- '8.2.0.53-11.3': {
- 'Linux-x86_64': '7a195dc93a7cda2bdd4d9b73958d259c784be422cd941a9a625aab75309f19dc',
- 'Linux-ppc64le': 'cfe06735671a41a5e25fc7542d740177ac8eab1ab146bd30f19e0fa836895611',
- 'Linux-aarch64': '0f44af94eef7826dc7b41f92aade3d5210891cdb10858bc0a28ba7167909ab7c'},
- '8.2.0.53-10.2': {
- 'Linux-x86_64': '6ecbc98b3795e940ce0831ffb7cd2c0781830fdd6b1911f950bcaf6d569f807c'},
-
+ "8.2.0.53-11.3": {
+ "Linux-x86_64": "7a195dc93a7cda2bdd4d9b73958d259c784be422cd941a9a625aab75309f19dc",
+ "Linux-ppc64le": "cfe06735671a41a5e25fc7542d740177ac8eab1ab146bd30f19e0fa836895611",
+ "Linux-aarch64": "0f44af94eef7826dc7b41f92aade3d5210891cdb10858bc0a28ba7167909ab7c",
+ },
+ "8.2.0.53-10.2": {
+ "Linux-x86_64": "6ecbc98b3795e940ce0831ffb7cd2c0781830fdd6b1911f950bcaf6d569f807c"
+ },
# cuDNN 8.1.1
- '8.1.1.33-11.2': {
- 'Linux-x86_64': '98a8784e92862f20018d20c281b30d4a0cd951f93694f6433ccf4ae9c502ba6a',
- 'Linux-ppc64le': 'c3e535a5d633ad8f4d50be0b6f8efd084c6c6ed3525c07cbd89fc508b1d76c7a',
- 'Linux-aarch64': '4f7e4f5698539659d51f28dff0da11e5445a5ae58439af1d8a8e9f2d93535245'},
- '8.1.1.33-10.2': {
- 'Linux-x86_64': '2a4a7b99a6e9bfa690eb19bb41e49553f2a7a491a5b3abfcae900e166c5b6ebd'},
-
+ "8.1.1.33-11.2": {
+ "Linux-x86_64": "98a8784e92862f20018d20c281b30d4a0cd951f93694f6433ccf4ae9c502ba6a",
+ "Linux-ppc64le": "c3e535a5d633ad8f4d50be0b6f8efd084c6c6ed3525c07cbd89fc508b1d76c7a",
+ "Linux-aarch64": "4f7e4f5698539659d51f28dff0da11e5445a5ae58439af1d8a8e9f2d93535245",
+ },
+ "8.1.1.33-10.2": {
+ "Linux-x86_64": "2a4a7b99a6e9bfa690eb19bb41e49553f2a7a491a5b3abfcae900e166c5b6ebd"
+ },
# cuDNN 8.1.0
- '8.1.0.77-11.2': {
- 'Linux-x86_64': 'dbe82faf071d91ba9bcf00480146ad33f462482dfee56caf4479c1b8dabe3ecb',
- 'Linux-ppc64le': '0d3f8fa21959e9f94889841cc8445aecf41d2f3c557091b447313afb43034037',
- 'Linux-aarch64': 'ba16ff486b68a8b50b69b32702612634954de529f39cfff68c12b8bfc1958499'},
- '8.1.0.77-10.2': {
- 'Linux-x86_64': 'c5bc617d89198b0fbe485156446be15a08aee37f7aff41c797b120912f2b14b4'},
-
+ "8.1.0.77-11.2": {
+ "Linux-x86_64": "dbe82faf071d91ba9bcf00480146ad33f462482dfee56caf4479c1b8dabe3ecb",
+ "Linux-ppc64le": "0d3f8fa21959e9f94889841cc8445aecf41d2f3c557091b447313afb43034037",
+ "Linux-aarch64": "ba16ff486b68a8b50b69b32702612634954de529f39cfff68c12b8bfc1958499",
+ },
+ "8.1.0.77-10.2": {
+ "Linux-x86_64": "c5bc617d89198b0fbe485156446be15a08aee37f7aff41c797b120912f2b14b4"
+ },
# cuDNN 8.0.5
- '8.0.5.39-11.1': {
- 'Linux-x86_64': '1d046bfa79399dabcc6f6cb1507918754439442ea0ca9e0fbecdd446f9b00cce',
- 'Linux-aarch64': '0c3542c51b42131247cd9f839d0ebefe4e02bb46d1716be1682cb2919278085a'},
- '8.0.5.39-11.0': {
- 'Linux-x86_64': '4e16ee7895deb4a8b1c194b812ba49586ef7d26902051401d3717511898a9b73',
- 'Linux-ppc64le': '05207a02c0b4f22464dbb0ee646693df4a70ae557640ba576ba8678c26393004'},
- '8.0.5.39-10.2': {
- 'Linux-x86_64': '21f84c05c67bf1ec859e77c38ccd5bf154964fa1c308f449959be4c356e382f3',
- 'Linux-ppc64le': 'ce128ea090b05e36d00ffe921e45982ca10e8207e40cfc2e0067d0f62d9b36f9'},
- '8.0.5.39-10.1': {
- 'Linux-x86_64': '90908495298896b33aa95063a3471f93c36627d7ac01c17dc36d75c65eea4a00',
- 'Linux-ppc64le': 'e43b10bb3932d5e7a598dcc726d16dc9938dd99dd319cd74b3420f3ed65fe5e0'},
-
+ "8.0.5.39-11.1": {
+ "Linux-x86_64": "1d046bfa79399dabcc6f6cb1507918754439442ea0ca9e0fbecdd446f9b00cce",
+ "Linux-aarch64": "0c3542c51b42131247cd9f839d0ebefe4e02bb46d1716be1682cb2919278085a",
+ },
+ "8.0.5.39-11.0": {
+ "Linux-x86_64": "4e16ee7895deb4a8b1c194b812ba49586ef7d26902051401d3717511898a9b73",
+ "Linux-ppc64le": "05207a02c0b4f22464dbb0ee646693df4a70ae557640ba576ba8678c26393004",
+ },
+ "8.0.5.39-10.2": {
+ "Linux-x86_64": "21f84c05c67bf1ec859e77c38ccd5bf154964fa1c308f449959be4c356e382f3",
+ "Linux-ppc64le": "ce128ea090b05e36d00ffe921e45982ca10e8207e40cfc2e0067d0f62d9b36f9",
+ },
+ "8.0.5.39-10.1": {
+ "Linux-x86_64": "90908495298896b33aa95063a3471f93c36627d7ac01c17dc36d75c65eea4a00",
+ "Linux-ppc64le": "e43b10bb3932d5e7a598dcc726d16dc9938dd99dd319cd74b3420f3ed65fe5e0",
+ },
# cuDNN 8.0.4
- '8.0.4.30-11.1': {
- 'Linux-x86_64': '8f4c662343afce5998ce963500fe3bb167e9a508c1a1a949d821a4b80fa9beab',
- 'Linux-ppc64le': 'b4ddb51610cbae806017616698635a9914c3e1eb14259f3a39ee5c84e7106712'},
- '8.0.4.30-11.0': {
- 'Linux-x86_64': '38a81a28952e314e21577432b0bab68357ef9de7f6c8858f721f78df9ee60c35',
- 'Linux-ppc64le': '8da8ed689b1a348182ddd3f59b6758a502e11dc6708c33f96e3b4a40e033d2e1'},
- '8.0.4.30-10.2': {
- 'Linux-x86_64': 'c12c69eb16698eacac40aa46b9ce399d4cd86efb6ff0c105142f8a28fcfb980e',
- 'Linux-ppc64le': '32a5b92f9e1ef2be90e10f220c4ab144ca59d215eb6a386e93597f447aa6507e'},
- '8.0.4.30-10.1': {
- 'Linux-x86_64': 'eb4b888e61715168f57a0a0a21c281ada6856b728e5112618ed15f8637487715',
- 'Linux-ppc64le': '690811bbf04adef635f4a6f480575fc2a558c4a2c98c85c7090a3a8c60dacea9'},
-
+ "8.0.4.30-11.1": {
+ "Linux-x86_64": "8f4c662343afce5998ce963500fe3bb167e9a508c1a1a949d821a4b80fa9beab",
+ "Linux-ppc64le": "b4ddb51610cbae806017616698635a9914c3e1eb14259f3a39ee5c84e7106712",
+ },
+ "8.0.4.30-11.0": {
+ "Linux-x86_64": "38a81a28952e314e21577432b0bab68357ef9de7f6c8858f721f78df9ee60c35",
+ "Linux-ppc64le": "8da8ed689b1a348182ddd3f59b6758a502e11dc6708c33f96e3b4a40e033d2e1",
+ },
+ "8.0.4.30-10.2": {
+ "Linux-x86_64": "c12c69eb16698eacac40aa46b9ce399d4cd86efb6ff0c105142f8a28fcfb980e",
+ "Linux-ppc64le": "32a5b92f9e1ef2be90e10f220c4ab144ca59d215eb6a386e93597f447aa6507e",
+ },
+ "8.0.4.30-10.1": {
+ "Linux-x86_64": "eb4b888e61715168f57a0a0a21c281ada6856b728e5112618ed15f8637487715",
+ "Linux-ppc64le": "690811bbf04adef635f4a6f480575fc2a558c4a2c98c85c7090a3a8c60dacea9",
+ },
# cuDNN 8.0.3
- '8.0.3.33-11.0': {
- 'Linux-x86_64': '8924bcc4f833734bdd0009050d110ad0c8419d3796010cf7bc515df654f6065a',
- 'Linux-ppc64le': 'c2d0519831137b43d0eebe07522edb4ef5d62320e65e5d5fa840a9856f25923d'},
- '8.0.3.33-10.2': {
- 'Linux-x86_64': 'b3d487c621e24b5711983b89bb8ad34f0378bdbf8a1a4b86eefaa23b19956dcc',
- 'Linux-ppc64le': 'ff22c9c37af191c9104989d784427cde744cdde879bfebf3e4e55ca6a9634a11'},
- '8.0.3.33-10.1': {
- 'Linux-x86_64': '4752ac6aea4e4d2226061610d6843da6338ef75a93518aa9ce50d0f58df5fb07',
- 'Linux-ppc64le': 'c546175f6ec86a11ee8fb9ab5526fa8d854322545769a87d35b1a505992f89c3'},
-
+ "8.0.3.33-11.0": {
+ "Linux-x86_64": "8924bcc4f833734bdd0009050d110ad0c8419d3796010cf7bc515df654f6065a",
+ "Linux-ppc64le": "c2d0519831137b43d0eebe07522edb4ef5d62320e65e5d5fa840a9856f25923d",
+ },
+ "8.0.3.33-10.2": {
+ "Linux-x86_64": "b3d487c621e24b5711983b89bb8ad34f0378bdbf8a1a4b86eefaa23b19956dcc",
+ "Linux-ppc64le": "ff22c9c37af191c9104989d784427cde744cdde879bfebf3e4e55ca6a9634a11",
+ },
+ "8.0.3.33-10.1": {
+ "Linux-x86_64": "4752ac6aea4e4d2226061610d6843da6338ef75a93518aa9ce50d0f58df5fb07",
+ "Linux-ppc64le": "c546175f6ec86a11ee8fb9ab5526fa8d854322545769a87d35b1a505992f89c3",
+ },
# cuDNN 8.0.2
- '8.0.2.39-11.0': {
- 'Linux-x86_64': '672f46288b8edd98f8d156a4f1ff518201ca6de0cff67915ceaa37f6d6d86345',
- 'Linux-ppc64le': 'b7c1ce5b1191eb007ba3455ea5f497fdce293a646545d8a6ed93e9bb06d7f057'},
- '8.0.2.39-10.2': {
- 'Linux-x86_64': 'c9cbe5c211360f3cfbc0fb104f0e9096b37e53f89392525679f049276b2f701f',
- 'Linux-ppc64le': 'c32325ff84a8123491f2e58b3694885a9a672005bc21764b38874688c0e43262'},
- '8.0.2.39-10.1': {
- 'Linux-x86_64': '82148a68bd6bdaab93af5e05bb1842b8ccb3ab7de7bed41f609a7616c102213d',
- 'Linux-ppc64le': '8196ec4f031356317baeccefbc4f61c8fccb2cf0bdef0a6431438918ddf68fb9'},
-
+ "8.0.2.39-11.0": {
+ "Linux-x86_64": "672f46288b8edd98f8d156a4f1ff518201ca6de0cff67915ceaa37f6d6d86345",
+ "Linux-ppc64le": "b7c1ce5b1191eb007ba3455ea5f497fdce293a646545d8a6ed93e9bb06d7f057",
+ },
+ "8.0.2.39-10.2": {
+ "Linux-x86_64": "c9cbe5c211360f3cfbc0fb104f0e9096b37e53f89392525679f049276b2f701f",
+ "Linux-ppc64le": "c32325ff84a8123491f2e58b3694885a9a672005bc21764b38874688c0e43262",
+ },
+ "8.0.2.39-10.1": {
+ "Linux-x86_64": "82148a68bd6bdaab93af5e05bb1842b8ccb3ab7de7bed41f609a7616c102213d",
+ "Linux-ppc64le": "8196ec4f031356317baeccefbc4f61c8fccb2cf0bdef0a6431438918ddf68fb9",
+ },
# cuDNN 8.0
- '8.0.0.180-11.0': {
- 'Linux-x86_64': '9e75ea70280a77de815e0bdc85d08b67e081bc99a708b574092142344d2ba07e',
- 'Linux-ppc64le': '1229e94731bbca63ee7f5a239f4e1838a51a301d896f3097fbf7377d74704060'},
- '8.0.0.180-10.2': {
- 'Linux-x86_64': '0c87c12358ee2b99d57c2a8c7560e3bb93e54bb929f5f8bec4964a72a2bb261d',
- 'Linux-ppc64le': '59e4ad6db15fcc374976e8052fe39e3f30f34079710fb3c7751a64c853d9243f'},
-
+ "8.0.0.180-11.0": {
+ "Linux-x86_64": "9e75ea70280a77de815e0bdc85d08b67e081bc99a708b574092142344d2ba07e",
+ "Linux-ppc64le": "1229e94731bbca63ee7f5a239f4e1838a51a301d896f3097fbf7377d74704060",
+ },
+ "8.0.0.180-10.2": {
+ "Linux-x86_64": "0c87c12358ee2b99d57c2a8c7560e3bb93e54bb929f5f8bec4964a72a2bb261d",
+ "Linux-ppc64le": "59e4ad6db15fcc374976e8052fe39e3f30f34079710fb3c7751a64c853d9243f",
+ },
# cuDNN 7.6.5
- '7.6.5.32-10.2': {
- 'Linux-x86_64': '600267f2caaed2fd58eb214ba669d8ea35f396a7d19b94822e6b36f9f7088c20',
- 'Linux-ppc64le': '7dc08b6ab9331bfd12207d4802c61db1ad7cace7395b67a6e7b16efa0335668b'},
- '7.6.5.32-10.1': {
- 'Linux-x86_64': '7eaec8039a2c30ab0bc758d303588767693def6bf49b22485a2c00bf2e136cb3',
- 'Darwin-x86_64': '8ecce28a5ed388a2b9b2d239e08d7c550f53b79288e6d9e5eb4c152bfc711aff',
- 'Linux-ppc64le': '97b2faf73eedfc128f2f5762784d21467a95b2d5ba719825419c058f427cbf56'},
-
- '7.6.5.32-10.0': {
- 'Linux-x86_64': '28355e395f0b2b93ac2c83b61360b35ba6cd0377e44e78be197b6b61b4b492ba',
- 'Darwin-x86_64': '6fa0b819374da49102e285ecf7fcb8879df4d0b3cc430cc8b781cdeb41009b47',
- 'Linux-ppc64le': 'b1717f4570083bbfc6b8b59f280bae4e4197cc1cb50e9d873c05adf670084c5b'},
-
- '7.6.5.32-9.2': {
- 'Linux-x86_64': 'a2a2c7a8ba7b16d323b651766ee37dcfdbc2b50d920f73f8fde85005424960e4',
- 'Linux-ppc64le': 'a11f44f9a827b7e69f527a9d260f1637694ff7c1674a3e46bd9ec054a08f9a76'},
-
- '7.6.5.32-9.0': {
- 'Linux-x86_64': 'bd0a4c0090d5b02feec3f195738968690cc2470b9bc6026e6fe8ff245cd261c8'},
-
+ "7.6.5.32-10.2": {
+ "Linux-x86_64": "600267f2caaed2fd58eb214ba669d8ea35f396a7d19b94822e6b36f9f7088c20",
+ "Linux-ppc64le": "7dc08b6ab9331bfd12207d4802c61db1ad7cace7395b67a6e7b16efa0335668b",
+ },
+ "7.6.5.32-10.1": {
+ "Linux-x86_64": "7eaec8039a2c30ab0bc758d303588767693def6bf49b22485a2c00bf2e136cb3",
+ "Darwin-x86_64": "8ecce28a5ed388a2b9b2d239e08d7c550f53b79288e6d9e5eb4c152bfc711aff",
+ "Linux-ppc64le": "97b2faf73eedfc128f2f5762784d21467a95b2d5ba719825419c058f427cbf56",
+ },
+ "7.6.5.32-10.0": {
+ "Linux-x86_64": "28355e395f0b2b93ac2c83b61360b35ba6cd0377e44e78be197b6b61b4b492ba",
+ "Darwin-x86_64": "6fa0b819374da49102e285ecf7fcb8879df4d0b3cc430cc8b781cdeb41009b47",
+ "Linux-ppc64le": "b1717f4570083bbfc6b8b59f280bae4e4197cc1cb50e9d873c05adf670084c5b",
+ },
+ "7.6.5.32-9.2": {
+ "Linux-x86_64": "a2a2c7a8ba7b16d323b651766ee37dcfdbc2b50d920f73f8fde85005424960e4",
+ "Linux-ppc64le": "a11f44f9a827b7e69f527a9d260f1637694ff7c1674a3e46bd9ec054a08f9a76",
+ },
+ "7.6.5.32-9.0": {
+ "Linux-x86_64": "bd0a4c0090d5b02feec3f195738968690cc2470b9bc6026e6fe8ff245cd261c8"
+ },
# cuDNN 7.6.4
- '7.6.4.38-10.1': {
- 'Linux-x86_64': '32091d115c0373027418620a09ebec3658a6bc467d011de7cdd0eb07d644b099',
- 'Darwin-x86_64': 'bfced062c3689ced2c1fb49c7d5052e6bc3da6974c1eb707e4dcf8cd209d4236',
- 'Linux-ppc64le': 'f3615fea50986a4dfd05d7a0cf83396dfdceefa9c209e8bf9691e20a48e420ce'},
-
- '7.6.4.38-10.0': {
- 'Linux-x86_64': '417bb5daf51377037eb2f5c87649000ca1b9cec0acb16cfe07cb1d3e9a961dbf',
- 'Darwin-x86_64': 'af01ab841caec25087776a6b8fc7782883da12e590e24825ad1031f9ae0ed4b1',
- 'Linux-ppc64le': 'c1725ad6bd7d7741e080a1e6da4b62eac027a94ac55c606cce261e3f829400bb'},
-
- '7.6.4.38-9.2': {
- 'Linux-x86_64': 'c79156531e641289b6a6952888b9637059ef30defd43c3cf82acf38d67f60a27',
- 'Linux-ppc64le': '98d8aae2dcd851558397a9a30b73242f257e1556be17c83650e63a0685969884'},
-
- '7.6.4.38-9.0': {
- 'Linux-x86_64': '8db78c3623c192d4f03f3087b41c32cb0baac95e13408b5d9dabe626cb4aab5d'},
-
+ "7.6.4.38-10.1": {
+ "Linux-x86_64": "32091d115c0373027418620a09ebec3658a6bc467d011de7cdd0eb07d644b099",
+ "Darwin-x86_64": "bfced062c3689ced2c1fb49c7d5052e6bc3da6974c1eb707e4dcf8cd209d4236",
+ "Linux-ppc64le": "f3615fea50986a4dfd05d7a0cf83396dfdceefa9c209e8bf9691e20a48e420ce",
+ },
+ "7.6.4.38-10.0": {
+ "Linux-x86_64": "417bb5daf51377037eb2f5c87649000ca1b9cec0acb16cfe07cb1d3e9a961dbf",
+ "Darwin-x86_64": "af01ab841caec25087776a6b8fc7782883da12e590e24825ad1031f9ae0ed4b1",
+ "Linux-ppc64le": "c1725ad6bd7d7741e080a1e6da4b62eac027a94ac55c606cce261e3f829400bb",
+ },
+ "7.6.4.38-9.2": {
+ "Linux-x86_64": "c79156531e641289b6a6952888b9637059ef30defd43c3cf82acf38d67f60a27",
+ "Linux-ppc64le": "98d8aae2dcd851558397a9a30b73242f257e1556be17c83650e63a0685969884",
+ },
+ "7.6.4.38-9.0": {
+ "Linux-x86_64": "8db78c3623c192d4f03f3087b41c32cb0baac95e13408b5d9dabe626cb4aab5d"
+ },
# cuDNN 7.6.3
- '7.6.3.30-10.1': {
- 'Linux-x86_64': '352557346d8111e2f954c494be1a90207103d316b8777c33e62b3a7f7b708961',
- 'Linux-ppc64le': 'f274735a8fc31923d3623b1c3d2b1d0d35bb176687077c6a4d4353c6b900d8ee'},
-
+ "7.6.3.30-10.1": {
+ "Linux-x86_64": "352557346d8111e2f954c494be1a90207103d316b8777c33e62b3a7f7b708961",
+ "Linux-ppc64le": "f274735a8fc31923d3623b1c3d2b1d0d35bb176687077c6a4d4353c6b900d8ee",
+ },
# cuDNN 7.5.1
- '7.5.1.10-10.1': {
- 'Linux-x86_64': '2c833f43c9147d9a25a20947a4c5a5f5c33b2443240fd767f63b330c482e68e0',
- 'Linux-ppc64le': 'a9e23bc83c970daec20874ccd1d8d80b648adf15440ecd0164818b330b1e2663'},
-
- '7.5.1.10-10.0': {
- 'Linux-x86_64': 'c0a4ec438920aa581dd567117b9c316745b4a451ac739b1e04939a3d8b229985',
- 'Linux-ppc64le': 'd9205718da5fbab85433476f9ff61fcf4b889d216d6eea26753bbc24d115dd70'},
-
+ "7.5.1.10-10.1": {
+ "Linux-x86_64": "2c833f43c9147d9a25a20947a4c5a5f5c33b2443240fd767f63b330c482e68e0",
+ "Linux-ppc64le": "a9e23bc83c970daec20874ccd1d8d80b648adf15440ecd0164818b330b1e2663",
+ },
+ "7.5.1.10-10.0": {
+ "Linux-x86_64": "c0a4ec438920aa581dd567117b9c316745b4a451ac739b1e04939a3d8b229985",
+ "Linux-ppc64le": "d9205718da5fbab85433476f9ff61fcf4b889d216d6eea26753bbc24d115dd70",
+ },
# cuDNN 7.5.0
- '7.5.0.56-10.1': {
- 'Linux-x86_64': 'c31697d6b71afe62838ad2e57da3c3c9419c4e9f5635d14b683ebe63f904fbc8',
- 'Linux-ppc64le': '15415eb714ab86ab6c7531f2cac6474b5dafd989479b062776c670b190e43638'},
-
- '7.5.0.56-10.0': {
- 'Linux-x86_64': '701097882cb745d4683bb7ff6c33b8a35c7c81be31bac78f05bad130e7e0b781',
- 'Linux-ppc64le': 'f0c1cbd9de553c8e2a3893915bd5fff57b30e368ef4c964d783b6a877869e93a'},
-
+ "7.5.0.56-10.1": {
+ "Linux-x86_64": "c31697d6b71afe62838ad2e57da3c3c9419c4e9f5635d14b683ebe63f904fbc8",
+ "Linux-ppc64le": "15415eb714ab86ab6c7531f2cac6474b5dafd989479b062776c670b190e43638",
+ },
+ "7.5.0.56-10.0": {
+ "Linux-x86_64": "701097882cb745d4683bb7ff6c33b8a35c7c81be31bac78f05bad130e7e0b781",
+ "Linux-ppc64le": "f0c1cbd9de553c8e2a3893915bd5fff57b30e368ef4c964d783b6a877869e93a",
+ },
# cuDNN 7.3.0
- '7.3.0.29-9.0': {
- 'Linux-x86_64': '403f9043ff2c7b2c5967454872275d07bca11fd41dfc7b21995eadcad6dbe49b'},
-
+ "7.3.0.29-9.0": {
+ "Linux-x86_64": "403f9043ff2c7b2c5967454872275d07bca11fd41dfc7b21995eadcad6dbe49b"
+ },
# cuDNN 7.2.1
- '7.2.1.38-9.0': {
- 'Linux-x86_64': 'cf007437b9ac6250ec63b89c25f248d2597fdd01369c80146567f78e75ce4e37'},
-
+ "7.2.1.38-9.0": {
+ "Linux-x86_64": "cf007437b9ac6250ec63b89c25f248d2597fdd01369c80146567f78e75ce4e37"
+ },
# cuDNN 7.1.3
- '7.1.3-9.1': {
- 'Linux-x86_64': 'dd616d3794167ceb923d706bf73e8d6acdda770751492b921ee6827cdf190228',
- 'Linux-ppc64le': 'e3b4837f711b98a52faacc872a68b332c833917ef3cf87c0108f1d01af9b2931'},
-
+ "7.1.3-9.1": {
+ "Linux-x86_64": "dd616d3794167ceb923d706bf73e8d6acdda770751492b921ee6827cdf190228",
+ "Linux-ppc64le": "e3b4837f711b98a52faacc872a68b332c833917ef3cf87c0108f1d01af9b2931",
+ },
# cuDNN 6.0
- '6.0-8.0': {
- 'Linux-x86_64': '9b09110af48c9a4d7b6344eb4b3e344daa84987ed6177d5c44319732f3bb7f9c'},
-
+ "6.0-8.0": {
+ "Linux-x86_64": "9b09110af48c9a4d7b6344eb4b3e344daa84987ed6177d5c44319732f3bb7f9c"
+ },
# cuDNN 5.1
- '5.1-8.0': {
- 'Linux-x86_64': 'c10719b36f2dd6e9ddc63e3189affaa1a94d7d027e63b71c3f64d449ab0645ce'},
-
+ "5.1-8.0": {
+ "Linux-x86_64": "c10719b36f2dd6e9ddc63e3189affaa1a94d7d027e63b71c3f64d449ab0645ce"
+ },
}
@@ -223,18 +240,18 @@ class Cudnn(Package):
# https://developer.nvidia.com/rdp/cudnn-archive
# Note that download links don't work from command line,
# need to use modified URLs like in url_for_version.
- maintainers = ['adamjstewart', 'bvanessen']
+ maintainers = ["adamjstewart", "bvanessen"]
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
pkg = packages.get(key)
- cudnn_ver, cuda_ver = ver.split('-')
+ cudnn_ver, cuda_ver = ver.split("-")
long_ver = "{0}-{1}".format(cudnn_ver, cuda_ver)
if pkg:
version(long_ver, sha256=pkg)
# Add constraints matching CUDA version to cuDNN version
- cuda_req = 'cuda@{0}.0:{0}'.format(cuda_ver)
- cudnn_ver_req = '@{0}'.format(long_ver)
+ cuda_req = "cuda@{0}.0:{0}".format(cuda_ver)
+ cudnn_ver_req = "@{0}".format(long_ver)
depends_on(cuda_req, when=cudnn_ver_req)
def url_for_version(self, version):
@@ -242,13 +259,16 @@ class Cudnn(Package):
sys = "{0}-{1}".format(platform.system(), platform.machine())
# Munge it to match Nvidia's naming scheme
sys_key = sys.lower()
- if version < Version('8.3.1'):
- sys_key = sys_key.replace('x86_64', 'x64').replace('darwin', 'osx') \
- .replace('aarch64', 'aarch64sbsa')
+ if version < Version("8.3.1"):
+ sys_key = (
+ sys_key.replace("x86_64", "x64")
+ .replace("darwin", "osx")
+ .replace("aarch64", "aarch64sbsa")
+ )
else:
- sys_key = sys_key.replace('aarch64', 'sbsa')
+ sys_key = sys_key.replace("aarch64", "sbsa")
- if version >= Version('8.3.1'):
+ if version >= Version("8.3.1"):
# NOTE: upload layout changed for 8.3.1, they include a 10.2
# artifact for cuda@10.2 x86_64, but the runtime is only supported
# for cuda@11. See
@@ -258,16 +278,16 @@ class Cudnn(Package):
directory = version[:3]
ver = version[:4]
cuda = version[4:]
- directory = '{0}/local_installers/{1}'.format(directory, cuda)
- elif version >= Version('7.2'):
+ directory = "{0}/local_installers/{1}".format(directory, cuda)
+ elif version >= Version("7.2"):
directory = version[:3]
ver = version[:4]
cuda = version[4:]
- elif version >= Version('7.1'):
+ elif version >= Version("7.1"):
directory = version[:3]
ver = version[:2]
cuda = version[3:]
- elif version >= Version('7.0'):
+ elif version >= Version("7.0"):
directory = version[:3]
ver = version[0]
cuda = version[3:]
@@ -277,28 +297,24 @@ class Cudnn(Package):
cuda = version[2:]
# 8.3.1 switched to xzip tarballs and reordered url parts.
- if version >= Version('8.3.1'):
- url = 'https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-{2}_cuda{3}-archive.tar.xz'
+ if version >= Version("8.3.1"):
+ url = "https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-{2}_cuda{3}-archive.tar.xz"
return url.format(directory, sys_key, ver, cuda)
else:
- url = 'https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-{2}-v{3}.tgz'
+ url = "https://developer.download.nvidia.com/compute/redist/cudnn/v{0}/cudnn-{1}-{2}-v{3}.tgz"
return url.format(directory, cuda, sys_key, ver)
def setup_run_environment(self, env):
- if 'target=ppc64le: platform=linux' in self.spec:
- env.set('cuDNN_ROOT', os.path.join(
- self.prefix, 'targets', 'ppc64le-linux'))
+ if "target=ppc64le: platform=linux" in self.spec:
+ env.set("cuDNN_ROOT", os.path.join(self.prefix, "targets", "ppc64le-linux"))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
- if 'target=ppc64le: platform=linux' in spec:
- target_lib = os.path.join(prefix, 'targets',
- 'ppc64le-linux', 'lib')
+ if "target=ppc64le: platform=linux" in spec:
+ target_lib = os.path.join(prefix, "targets", "ppc64le-linux", "lib")
if os.path.isdir(target_lib) and not os.path.isdir(prefix.lib):
symlink(target_lib, prefix.lib)
- target_include = os.path.join(prefix, 'targets',
- 'ppc64le-linux', 'include')
- if os.path.isdir(target_include) \
- and not os.path.isdir(prefix.include):
+ target_include = os.path.join(prefix, "targets", "ppc64le-linux", "include")
+ if os.path.isdir(target_include) and not os.path.isdir(prefix.include):
symlink(target_include, prefix.include)
diff --git a/var/spack/repos/builtin/packages/cufflinks/package.py b/var/spack/repos/builtin/packages/cufflinks/package.py
index 305df840ce..e942f5d80a 100644
--- a/var/spack/repos/builtin/packages/cufflinks/package.py
+++ b/var/spack/repos/builtin/packages/cufflinks/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Cufflinks(Package):
"""Cufflinks assembles transcripts, estimates their abundances, and tests
- for differential expression and regulation in RNA-Seq samples."""
+ for differential expression and regulation in RNA-Seq samples."""
homepage = "https://cole-trapnell-lab.github.io/cufflinks"
- url = "https://cole-trapnell-lab.github.io/cufflinks/assets/downloads/cufflinks-2.2.1.Linux_x86_64.tar.gz"
+ url = "https://cole-trapnell-lab.github.io/cufflinks/assets/downloads/cufflinks-2.2.1.Linux_x86_64.tar.gz"
- version('2.2.1', sha256='39f812452cae26462e5d2671d38104d9e8ef30aaf9ab6dea8ca57f50f46448e4')
+ version("2.2.1", sha256="39f812452cae26462e5d2671d38104d9e8ef30aaf9ab6dea8ca57f50f46448e4")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('cuffcompare', prefix.bin)
- install('cuffdiff', prefix.bin)
- install('cufflinks', prefix.bin)
- install('cuffmerge', prefix.bin)
- install('cuffnorm', prefix.bin)
- install('cuffquant', prefix.bin)
- install('gffread', prefix.bin)
- install('gtf_to_sam', prefix.bin)
+ install("cuffcompare", prefix.bin)
+ install("cuffdiff", prefix.bin)
+ install("cufflinks", prefix.bin)
+ install("cuffmerge", prefix.bin)
+ install("cuffnorm", prefix.bin)
+ install("cuffquant", prefix.bin)
+ install("gffread", prefix.bin)
+ install("gtf_to_sam", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cunit/package.py b/var/spack/repos/builtin/packages/cunit/package.py
index a2c4f77578..e5967a1725 100644
--- a/var/spack/repos/builtin/packages/cunit/package.py
+++ b/var/spack/repos/builtin/packages/cunit/package.py
@@ -10,11 +10,11 @@ class Cunit(AutotoolsPackage):
"""Automated testing framework for 'C'."""
homepage = "https://sourceforge.net/projects/cunit/"
- url = "https://sourceforge.net/projects/cunit/files/CUnit/2.1-3/CUnit-2.1-3.tar.bz2"
+ url = "https://sourceforge.net/projects/cunit/files/CUnit/2.1-3/CUnit-2.1-3.tar.bz2"
- version('2.1-3', sha256='f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214')
+ version("2.1-3", sha256="f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/cupla/package.py b/var/spack/repos/builtin/packages/cupla/package.py
index 2bfda4097b..7fd720dc66 100644
--- a/var/spack/repos/builtin/packages/cupla/package.py
+++ b/var/spack/repos/builtin/packages/cupla/package.py
@@ -11,25 +11,25 @@ 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"
+ 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']
+ maintainers = ["vvolkl"]
- version('develop', branch='dev')
- version('master', branch='master')
- version('0.3.0', sha256='035512517167967697e73544c788453de5e3f0bc4e8d4864b41b2e287365cbaf')
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("0.3.0", sha256="035512517167967697e73544c788453de5e3f0bc4e8d4864b41b2e287365cbaf")
- depends_on('alpaka@0.6.0:0.7')
+ depends_on("alpaka@0.6.0:0.7")
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)
+ 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)
diff --git a/var/spack/repos/builtin/packages/cups/package.py b/var/spack/repos/builtin/packages/cups/package.py
index e2e6678195..10d496e179 100644
--- a/var/spack/repos/builtin/packages/cups/package.py
+++ b/var/spack/repos/builtin/packages/cups/package.py
@@ -16,11 +16,11 @@ class Cups(AutotoolsPackage):
homepage = "https://www.cups.org/"
url = "https://github.com/apple/cups/releases/download/v2.2.3/cups-2.2.3-source.tar.gz"
- version('2.2.3', sha256='66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f')
+ version("2.2.3", sha256="66701fe15838f2c892052c913bde1ba106bbee2e0a953c955a62ecacce76885f")
- depends_on('gnutls')
- depends_on('pkgconfig', type='build')
+ depends_on("gnutls")
+ depends_on("pkgconfig", type="build")
def configure_args(self):
- args = ['--enable-gnutls', '--with-components=core']
+ args = ["--enable-gnutls", "--with-components=core"]
return args
diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py
index 03796e8407..437209d782 100644
--- a/var/spack/repos/builtin/packages/curl/package.py
+++ b/var/spack/repos/builtin/packages/curl/package.py
@@ -15,219 +15,230 @@ class Curl(AutotoolsPackage):
homepage = "https://curl.se/"
# URL must remain http:// so Spack can bootstrap curl
- url = "http://curl.haxx.se/download/curl-7.78.0.tar.bz2"
-
- executables = ['^curl$']
-
- version('7.84.0', sha256='702fb26e73190a3bd77071aa146f507b9817cc4dfce218d2ab87f00cd3bc059d')
- version('7.83.0', sha256='247c7ec7521c4258e65634e529270d214fe32969971cccb72845e7aa46831f96')
- version('7.82.0', sha256='46d9a0400a33408fd992770b04a44a7434b3036f2e8089ac28b57573d59d371f')
- version('7.81.0', sha256='1e7a38d7018ec060f1f16df839854f0889e94e122c4cfa5d3a37c2dc56f1e258')
- version('7.80.0', sha256='dd0d150e49cd950aff35e16b628edf04927f0289df42883750cf952bb858189c')
- version('7.79.1', sha256='de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851')
- version('7.79.0', sha256='d607a677f473f79f96c964100327125a6204a39d835dc00dab7fc0129b959f42')
- version('7.78.0', sha256='98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a')
- version('7.77.0', sha256='6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea')
- version('7.76.1', sha256='7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9')
- version('7.76.0', sha256='e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a')
- version('7.75.0', sha256='50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026')
- version('7.74.0', sha256='0f4d63e6681636539dc88fa8e929f934cd3a840c46e0bf28c73be11e521b77a5')
- version('7.73.0', sha256='cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131')
- version('7.72.0', sha256='ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef')
- version('7.71.0', sha256='600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341')
- version('7.68.0', sha256='207f54917dd6a2dc733065ccf18d61bb5bebeaceb5df49cd9445483e8623eeb9')
- version('7.64.0', sha256='d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb')
- version('7.63.0', sha256='9bab7ed4ecff77020a312d84cc5fb7eb02d58419d218f267477a724a17fd8dd8')
- version('7.60.0', sha256='897dfb2204bd99be328279f88f55b7c61592216b0542fcbe995c60aa92871e9b')
- version('7.59.0', sha256='b5920ffd6a8c95585fb95070e0ced38322790cb335c39d0dab852d12e157b5a0')
- version('7.56.0', sha256='de60a4725a3d461c70aa571d7d69c788f1816d9d1a8a2ef05f864ce8f01279df')
- version('7.54.0', sha256='f50ebaf43c507fa7cc32be4b8108fa8bbd0f5022e90794388f3c7694a302ff06')
- version('7.53.1', sha256='1c7207c06d75e9136a944a2e0528337ce76f15b9ec9ae4bb30d703b59bf530e8')
- version('7.52.1', sha256='d16185a767cb2c1ba3d5b9096ec54e5ec198b213f45864a38b3bda4bbf87389b')
- version('7.50.3', sha256='7b7347d976661d02c84a1f4d6daf40dee377efdc45b9e2c77dedb8acf140d8ec')
- version('7.50.2', sha256='0c72105df4e9575d68bcf43aea1751056c1d29b1040df6194a49c5ac08f8e233')
- version('7.50.1', sha256='3c12c5f54ccaa1d40abc65d672107dcc75d3e1fcb38c267484334280096e5156')
- version('7.49.1', sha256='eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1')
- version('7.47.1', sha256='ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f')
- version('7.46.0', sha256='b7d726cdd8ed4b6db0fa1b474a3c59ebbbe4dcd4c61ac5e7ade0e0270d3195ad')
- version('7.45.0', sha256='65154e66b9f8a442b57c436904639507b4ac37ec13d6f8a48248f1b4012b98ea')
- version('7.44.0', sha256='1e2541bae6582bb697c0fbae49e1d3e6fad5d05d5aa80dbd6f072e0a44341814')
- version('7.43.0', sha256='baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9')
- version('7.42.1', sha256='e2905973391ec2dfd7743a8034ad10eeb58dab8b3a297e7892a41a7999cac887')
-
- default_tls = 'openssl'
- if sys.platform == 'darwin':
- default_tls = 'secure_transport'
+ url = "http://curl.haxx.se/download/curl-7.78.0.tar.bz2"
+
+ executables = ["^curl$"]
+
+ version("7.84.0", sha256="702fb26e73190a3bd77071aa146f507b9817cc4dfce218d2ab87f00cd3bc059d")
+ version("7.83.0", sha256="247c7ec7521c4258e65634e529270d214fe32969971cccb72845e7aa46831f96")
+ version("7.82.0", sha256="46d9a0400a33408fd992770b04a44a7434b3036f2e8089ac28b57573d59d371f")
+ version("7.81.0", sha256="1e7a38d7018ec060f1f16df839854f0889e94e122c4cfa5d3a37c2dc56f1e258")
+ version("7.80.0", sha256="dd0d150e49cd950aff35e16b628edf04927f0289df42883750cf952bb858189c")
+ version("7.79.1", sha256="de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851")
+ version("7.79.0", sha256="d607a677f473f79f96c964100327125a6204a39d835dc00dab7fc0129b959f42")
+ version("7.78.0", sha256="98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a")
+ version("7.77.0", sha256="6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea")
+ version("7.76.1", sha256="7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9")
+ version("7.76.0", sha256="e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a")
+ version("7.75.0", sha256="50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026")
+ version("7.74.0", sha256="0f4d63e6681636539dc88fa8e929f934cd3a840c46e0bf28c73be11e521b77a5")
+ version("7.73.0", sha256="cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131")
+ version("7.72.0", sha256="ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef")
+ version("7.71.0", sha256="600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341")
+ version("7.68.0", sha256="207f54917dd6a2dc733065ccf18d61bb5bebeaceb5df49cd9445483e8623eeb9")
+ version("7.64.0", sha256="d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb")
+ version("7.63.0", sha256="9bab7ed4ecff77020a312d84cc5fb7eb02d58419d218f267477a724a17fd8dd8")
+ version("7.60.0", sha256="897dfb2204bd99be328279f88f55b7c61592216b0542fcbe995c60aa92871e9b")
+ version("7.59.0", sha256="b5920ffd6a8c95585fb95070e0ced38322790cb335c39d0dab852d12e157b5a0")
+ version("7.56.0", sha256="de60a4725a3d461c70aa571d7d69c788f1816d9d1a8a2ef05f864ce8f01279df")
+ version("7.54.0", sha256="f50ebaf43c507fa7cc32be4b8108fa8bbd0f5022e90794388f3c7694a302ff06")
+ version("7.53.1", sha256="1c7207c06d75e9136a944a2e0528337ce76f15b9ec9ae4bb30d703b59bf530e8")
+ version("7.52.1", sha256="d16185a767cb2c1ba3d5b9096ec54e5ec198b213f45864a38b3bda4bbf87389b")
+ version("7.50.3", sha256="7b7347d976661d02c84a1f4d6daf40dee377efdc45b9e2c77dedb8acf140d8ec")
+ version("7.50.2", sha256="0c72105df4e9575d68bcf43aea1751056c1d29b1040df6194a49c5ac08f8e233")
+ version("7.50.1", sha256="3c12c5f54ccaa1d40abc65d672107dcc75d3e1fcb38c267484334280096e5156")
+ version("7.49.1", sha256="eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1")
+ version("7.47.1", sha256="ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f")
+ version("7.46.0", sha256="b7d726cdd8ed4b6db0fa1b474a3c59ebbbe4dcd4c61ac5e7ade0e0270d3195ad")
+ version("7.45.0", sha256="65154e66b9f8a442b57c436904639507b4ac37ec13d6f8a48248f1b4012b98ea")
+ version("7.44.0", sha256="1e2541bae6582bb697c0fbae49e1d3e6fad5d05d5aa80dbd6f072e0a44341814")
+ 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
- variant('tls', default=default_tls, description='TLS backend',
- values=(
- # 'amissl',
- # 'bearssl',
- 'gnutls',
- conditional('mbedtls', when='@7.46:'),
- # 'mesalink',
- conditional('nss', when='@:7.81'),
- 'openssl',
- # 'rustls',
- # 'schannel',
- 'secure_transport',
- # 'wolfssl',
- ),
- 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('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')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
-
- conflicts('+libssh', when='@:7.57')
+ variant(
+ "tls",
+ default=default_tls,
+ description="TLS backend",
+ values=(
+ # 'amissl',
+ # 'bearssl',
+ "gnutls",
+ conditional("mbedtls", when="@7.46:"),
+ # 'mesalink',
+ conditional("nss", when="@:7.81"),
+ "openssl",
+ # 'rustls',
+ # 'schannel',
+ "secure_transport",
+ # 'wolfssl',
+ ),
+ 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("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")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+
+ conflicts("+libssh", when="@:7.57")
# on OSX and --with-ssh the configure steps fails with
# one or more libs available at link-time are not available run-time
# unless the libssh are installed externally (e.g. via homebrew), even
# though spack isn't supposed to know about such a libssh installation.
# C.f. https://github.com/spack/spack/issues/7777
- conflicts('platform=darwin', when='+libssh2')
- conflicts('platform=darwin', when='+libssh')
- conflicts('platform=cray', when='tls=secure_transport', msg='Only supported on macOS')
- conflicts('platform=linux', when='tls=secure_transport', msg='Only supported on macOS')
-
- depends_on('gnutls', when='tls=gnutls')
- depends_on('mbedtls@3: +pic', when='@7.79: tls=mbedtls')
- depends_on('mbedtls@:2 +pic', when='@:7.78 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')
- depends_on('libssh2', when='+libssh2')
- depends_on('libssh', when='+libssh')
- depends_on('krb5', when='+gssapi')
+ conflicts("platform=darwin", when="+libssh2")
+ conflicts("platform=darwin", when="+libssh")
+ conflicts("platform=cray", when="tls=secure_transport", msg="Only supported on macOS")
+ conflicts("platform=linux", when="tls=secure_transport", msg="Only supported on macOS")
+
+ depends_on("gnutls", when="tls=gnutls")
+ depends_on("mbedtls@3: +pic", when="@7.79: tls=mbedtls")
+ depends_on("mbedtls@:2 +pic", when="@:7.78 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")
+ depends_on("libssh2", when="+libssh2")
+ depends_on("libssh", when="+libssh")
+ depends_on("krb5", when="+gssapi")
# curl queries pkgconfig for openssl compilation flags
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
@classmethod
def determine_version(cls, exe):
curl = Executable(exe)
- output = curl('--version', output=str, error=str)
- match = re.match(r'curl ([\d.]+)', output)
+ output = curl("--version", output=str, error=str)
+ match = re.match(r"curl ([\d.]+)", output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version):
for exe in exes:
- variants = ''
+ variants = ""
curl = Executable(exe)
- output = curl('--version', output=str, error='str')
- if 'nghttp2' in output:
- variants += '+nghttp2'
- protocols_match = re.search(r'Protocols: (.*)\n', output)
+ output = curl("--version", output=str, error="str")
+ if "nghttp2" in output:
+ variants += "+nghttp2"
+ protocols_match = re.search(r"Protocols: (.*)\n", output)
if protocols_match:
- protocols = protocols_match.group(1).strip().split(' ')
- if 'ldap' in protocols:
- variants += '+ldap'
- features_match = re.search(r'Features: (.*)\n', output)
+ protocols = protocols_match.group(1).strip().split(" ")
+ if "ldap" in protocols:
+ variants += "+ldap"
+ features_match = re.search(r"Features: (.*)\n", output)
if features_match:
- features = features_match.group(1).strip().split(' ')
- if 'GSS-API' in features:
- variants += '+gssapi'
+ features = features_match.group(1).strip().split(" ")
+ if "GSS-API" in features:
+ variants += "+gssapi"
# TODO: Determine TLS backend if needed.
# TODO: Determine more variants.
return variants
@property
def command(self):
- return Executable(self.prefix.bin.join('curl-config'))
+ return Executable(self.prefix.bin.join("curl-config"))
def configure_args(self):
spec = self.spec
args = [
- '--with-zlib=' + spec['zlib'].prefix,
+ "--with-zlib=" + spec["zlib"].prefix,
# Prevent unintentional linking against system libraries: we could
# add variants for these in the future
- '--without-brotli',
- '--without-libgsasl',
- '--without-libpsl',
- '--without-zstd',
+ "--without-brotli",
+ "--without-libgsasl",
+ "--without-libpsl",
+ "--without-zstd",
]
- args += self.enable_or_disable('libs')
+ args += self.enable_or_disable("libs")
# Make gnutls / openssl decide what certs are trusted.
# TODO: certs for other tls options.
- if spec.satisfies('tls=gnutls') or spec.satisfies('tls=openssl'):
- args.extend([
- '--without-ca-bundle',
- '--without-ca-path',
- '--with-ca-fallback',
- ])
+ if spec.satisfies("tls=gnutls") or spec.satisfies("tls=openssl"):
+ args.extend(
+ [
+ "--without-ca-bundle",
+ "--without-ca-path",
+ "--with-ca-fallback",
+ ]
+ )
# 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("@:7.77"):
+ args.append("--without-libmetalink")
- if spec.satisfies('+gssapi'):
- args.append('--with-gssapi=' + spec['krb5'].prefix)
+ if spec.satisfies("+gssapi"):
+ args.append("--with-gssapi=" + spec["krb5"].prefix)
else:
- args.append('--without-gssapi')
+ 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')
- args += self.with_or_without('libssh2')
- args += self.with_or_without('libssh')
- args += self.enable_or_disable('ldap')
+ 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")
+ args += self.with_or_without("libssh2")
+ 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
+ return "--with-gnutls=" + self.spec["gnutls"].prefix
else:
- return '--without-gnutls'
+ return "--without-gnutls"
def with_or_without_mbedtls(self, activated):
- if self.spec.satisfies('@7.46:'):
+ if self.spec.satisfies("@7.46:"):
if activated:
- return '--with-mbedtls=' + self.spec['mbedtls'].prefix
+ return "--with-mbedtls=" + self.spec["mbedtls"].prefix
else:
- return '--without-mbedtls'
+ return "--without-mbedtls"
def with_or_without_nss(self, activated):
if activated:
- return '--with-nss=' + self.spec['nss'].prefix
+ return "--with-nss=" + self.spec["nss"].prefix
else:
- return '--without-nss'
+ return "--without-nss"
def with_or_without_openssl(self, activated):
- if self.spec.satisfies('@7.77:'):
+ if self.spec.satisfies("@7.77:"):
if activated:
- return '--with-openssl=' + self.spec['openssl'].prefix
+ return "--with-openssl=" + self.spec["openssl"].prefix
else:
- return '--without-openssl'
+ return "--without-openssl"
else:
if activated:
- return '--with-ssl=' + self.spec['openssl'].prefix
+ return "--with-ssl=" + self.spec["openssl"].prefix
else:
- return '--without-ssl'
+ return "--without-ssl"
def with_or_without_secure_transport(self, activated):
- if self.spec.satisfies('@7.65:'):
+ if self.spec.satisfies("@7.65:"):
if activated:
- return '--with-secure-transport'
+ return "--with-secure-transport"
else:
- return '--without-secure-transport'
+ return "--without-secure-transport"
else:
if activated:
- return '--with-darwinssl'
+ return "--with-darwinssl"
else:
- return '--without-darwinssl'
+ return "--without-darwinssl"
diff --git a/var/spack/repos/builtin/packages/cusz/package.py b/var/spack/repos/builtin/packages/cusz/package.py
index f504d1511a..8a9e1358e5 100644
--- a/var/spack/repos/builtin/packages/cusz/package.py
+++ b/var/spack/repos/builtin/packages/cusz/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Cusz(MakefilePackage):
"""cuSZ is a CUDA-based error-bounded lossy compressor for scientific
- data (floating point and integers).
+ data (floating point and integers).
"""
homepage = "https://szcompressor.org"
- url = "https://github.com/szcompressor/cuSZ/releases/download/v0.1.2/cuSZ-0.1.2.tar.gz"
- git = "https://github.com/szcompressor/cuSZ"
- maintainers = ['dingwentao', 'jtian0']
+ url = "https://github.com/szcompressor/cuSZ/releases/download/v0.1.2/cuSZ-0.1.2.tar.gz"
+ git = "https://github.com/szcompressor/cuSZ"
+ maintainers = ["dingwentao", "jtian0"]
- version('master', branch='master')
- version('0.1.2', sha256='c6e89a26b295724edefc8052f62653c5a315c78eaf6d5273299a8e11a5cf7363')
+ version("master", branch="master")
+ version("0.1.2", sha256="c6e89a26b295724edefc8052f62653c5a315c78eaf6d5273299a8e11a5cf7363")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('bin/cusz', prefix.bin)
+ install("bin/cusz", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cutensor/package.py b/var/spack/repos/builtin/packages/cutensor/package.py
index 14734bd922..1bb77a82c1 100644
--- a/var/spack/repos/builtin/packages/cutensor/package.py
+++ b/var/spack/repos/builtin/packages/cutensor/package.py
@@ -9,11 +9,11 @@ from spack.package import *
_versions = {
# cuTensor 1.5.0
- '1.5.0.3': {
- 'Linux-x86_64': '4fdebe94f0ba3933a422cff3dd05a0ef7a18552ca274dd12564056993f55471d',
- 'Linux-ppc64le': 'ad736acc94e88673b04a3156d7d3a408937cac32d083acdfbd8435582cbe15db',
- 'Linux-aarch64': '5b9ac479b1dadaf40464ff3076e45f2ec92581c07df1258a155b5bcd142f6090'},
-
+ "1.5.0.3": {
+ "Linux-x86_64": "4fdebe94f0ba3933a422cff3dd05a0ef7a18552ca274dd12564056993f55471d",
+ "Linux-ppc64le": "ad736acc94e88673b04a3156d7d3a408937cac32d083acdfbd8435582cbe15db",
+ "Linux-aarch64": "5b9ac479b1dadaf40464ff3076e45f2ec92581c07df1258a155b5bcd142f6090",
+ },
}
@@ -24,23 +24,23 @@ class Cutensor(Package):
homepage = "https://developer.nvidia.com/cutensor"
- maintainers = ['bvanessen']
- url = "cutensor"
+ maintainers = ["bvanessen"]
+ url = "cutensor"
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
pkg = packages.get(key)
cutensor_ver = ver
- cuda_ver = '10.0'
- if platform.machine() == 'aarch64':
- cuda_ver = '11.0'
+ cuda_ver = "10.0"
+ if platform.machine() == "aarch64":
+ cuda_ver = "11.0"
if pkg:
version(cutensor_ver, sha256=pkg)
# Add constraints matching CUDA version to cuTensor version
- cuda_req = 'cuda@{0}:'.format(cuda_ver)
- cutensor_ver_req = '@{0}'.format(cutensor_ver)
+ cuda_req = "cuda@{0}:".format(cuda_ver)
+ cutensor_ver_req = "@{0}".format(cutensor_ver)
depends_on(cuda_req, when=cutensor_ver_req)
def url_for_version(self, version):
@@ -48,10 +48,10 @@ class Cutensor(Package):
sys = "{0}-{1}".format(platform.system(), platform.machine())
# Munge it to match Nvidia's naming scheme
sys_key = sys.lower()
- sys_key = sys_key.replace('aarch64', 'sbsa')
+ sys_key = sys_key.replace("aarch64", "sbsa")
- url = 'https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/{0}/libcutensor-{0}-{1}-archive.tar.xz'
+ url = "https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/{0}/libcutensor-{0}-{1}-archive.tar.xz"
return url.format(sys_key, version)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/cutlang/package.py b/var/spack/repos/builtin/packages/cutlang/package.py
index 5d96efb75a..f4d487dad1 100644
--- a/var/spack/repos/builtin/packages/cutlang/package.py
+++ b/var/spack/repos/builtin/packages/cutlang/package.py
@@ -11,25 +11,30 @@ class Cutlang(Package):
"""CutLang is a domain specific language that aims to provide a clear,
human readable way to define analyses in high energy particle physics (HEP)
along with an interpretation framework of that language."""
+
homepage = "https://github.com/unelg/CutLang"
- url = "https://github.com/unelg/CutLang/archive/refs/tags/v2.12.10.tar.gz"
- maintainers = ['unelg', 'ssekmen', 'sabrivatansever']
+ url = "https://github.com/unelg/CutLang/archive/refs/tags/v2.12.10.tar.gz"
+ maintainers = ["unelg", "ssekmen", "sabrivatansever"]
- version('2.12.10', sha256='999a2b9fdb4b7d241a6fc21c03d92deadf80ad4682f8ce677ee0fa3b24169bfd', preferred=True)
- version('2.12.9', sha256='56bfb16f8ed683775fbadbca306cc09bbd65f58f42fa16d98f6d6868e8585b45')
- version('2.12.8', sha256='d776198fca3c2dcb612cf3bd98f27c069187aa970b80594fdb6681e0643f5e91')
- version('2.12.7', sha256='f20704abf0f4e04891eb0651f059782eb0f2652661c2c66c70c1bb6d58900380')
- version('2.12.6', sha256='0fb787457466610d37d1a3f047b68e73ace81e708bd2db76eb84af5a1406377e')
- version('2.12.5', sha256='eeb31be584551364569bdef8567b4910fd20be4c00bf7dcf07c8c8cbdaa2419c')
- version('2.12.4', sha256='cc941c358772ada5f66bc768f71bf7841ba2c495dd2bdf132df72a509d5ccb8b')
- version('2.12.3', sha256='a181fc739d13a7b187a94555b12f0b064e900b1cb69b880c69a9f2877bc5de4c')
- version('2.12.2', sha256='c2dc8b841bddd58b4e41b104c72c31bb00c750f7fe07672a30c15746dea6734c')
- version('2.12.1', sha256='7bd7d2e894fdc8465c89970d0011aeaaeae6ec02b4c45d6e2b9111b278ca18a9')
- depends_on('root', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
+ version(
+ "2.12.10",
+ sha256="999a2b9fdb4b7d241a6fc21c03d92deadf80ad4682f8ce677ee0fa3b24169bfd",
+ preferred=True,
+ )
+ version("2.12.9", sha256="56bfb16f8ed683775fbadbca306cc09bbd65f58f42fa16d98f6d6868e8585b45")
+ version("2.12.8", sha256="d776198fca3c2dcb612cf3bd98f27c069187aa970b80594fdb6681e0643f5e91")
+ version("2.12.7", sha256="f20704abf0f4e04891eb0651f059782eb0f2652661c2c66c70c1bb6d58900380")
+ version("2.12.6", sha256="0fb787457466610d37d1a3f047b68e73ace81e708bd2db76eb84af5a1406377e")
+ version("2.12.5", sha256="eeb31be584551364569bdef8567b4910fd20be4c00bf7dcf07c8c8cbdaa2419c")
+ version("2.12.4", sha256="cc941c358772ada5f66bc768f71bf7841ba2c495dd2bdf132df72a509d5ccb8b")
+ version("2.12.3", sha256="a181fc739d13a7b187a94555b12f0b064e900b1cb69b880c69a9f2877bc5de4c")
+ version("2.12.2", sha256="c2dc8b841bddd58b4e41b104c72c31bb00c750f7fe07672a30c15746dea6734c")
+ version("2.12.1", sha256="7bd7d2e894fdc8465c89970d0011aeaaeae6ec02b4c45d6e2b9111b278ca18a9")
+ depends_on("root", type="build")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
def install(self, spec, prefix):
- cmake('..', *std_cmake_args)
+ cmake("..", *std_cmake_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/cutlass/package.py b/var/spack/repos/builtin/packages/cutlass/package.py
index c2f837e727..ef52e69ae0 100644
--- a/var/spack/repos/builtin/packages/cutlass/package.py
+++ b/var/spack/repos/builtin/packages/cutlass/package.py
@@ -13,20 +13,20 @@ class Cutlass(CMakePackage, CudaPackage):
git = homepage + ".git"
url = "https://github.com/NVIDIA/cutlass/archive/refs/tags/v2.9.0.tar.gz"
- version('master', branch='master')
- version(
- '2.9.1', sha256="2d6474576c08ee21d7f4f3a10fd1a47234fd9fd638efc8a2e0e64bb367f09bc1")
- version(
- '2.9.0', sha256="ccca4685739a3185e3e518682845314b07a5d4e16d898b10a3c3a490fd742fb4")
- variant('cuda', default=True, description='Build with CUDA')
- conflicts('~cuda', msg='Cutlass requires CUDA')
- conflicts('cuda_arch=none',
- msg='Must specify CUDA compute capabilities of your GPU, see '
- 'https://developer.nvidia.com/cuda-gpus')
+ version("master", branch="master")
+ version("2.9.1", sha256="2d6474576c08ee21d7f4f3a10fd1a47234fd9fd638efc8a2e0e64bb367f09bc1")
+ version("2.9.0", sha256="ccca4685739a3185e3e518682845314b07a5d4e16d898b10a3c3a490fd742fb4")
+ variant("cuda", default=True, description="Build with CUDA")
+ conflicts("~cuda", msg="Cutlass requires CUDA")
+ conflicts(
+ "cuda_arch=none",
+ msg="Must specify CUDA compute capabilities of your GPU, see "
+ "https://developer.nvidia.com/cuda-gpus",
+ )
def setup_build_environment(self, env):
- env.set('CUDACXX', self.spec["cuda"].prefix.bin.nvcc)
+ env.set("CUDACXX", self.spec["cuda"].prefix.bin.nvcc)
def cmake_args(self):
- cuda_arch = self.spec.variants['cuda_arch'].value
+ cuda_arch = self.spec.variants["cuda_arch"].value
return [self.define("CUTLASS_NVCC_ARCHS", ";".join(cuda_arch))]
diff --git a/var/spack/repos/builtin/packages/cvector/package.py b/var/spack/repos/builtin/packages/cvector/package.py
index 6fdf412e7c..889414ea11 100644
--- a/var/spack/repos/builtin/packages/cvector/package.py
+++ b/var/spack/repos/builtin/packages/cvector/package.py
@@ -10,16 +10,16 @@ class Cvector(MakefilePackage):
"""CVector -- ANSI C API for Dynamic Arrays"""
homepage = "http://cvector.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/cvector/cvector/CVector-1.0.3/CVector-1.0.3.tar.gz"
+ url = "https://downloads.sourceforge.net/project/cvector/cvector/CVector-1.0.3/CVector-1.0.3.tar.gz"
- version('1.0.3', sha256='d3fa92de3cd5ba8697abdbb52080248b2c252a81cf40a8ec639be301518d0ce3')
+ version("1.0.3", sha256="d3fa92de3cd5ba8697abdbb52080248b2c252a81cf40a8ec639be301518d0ce3")
- depends_on('libtool', type='build')
+ depends_on("libtool", type="build")
def edit(self, spec, prefix):
- mf = FileFilter('Makefile')
- mf.filter(r'^CC.+', "CC = {0}".format(spack_cc))
- mf.filter(r'^INSTALL_PREFIX .+', "INSTALL_PREFIX = {0}".format(prefix))
+ mf = FileFilter("Makefile")
+ mf.filter(r"^CC.+", "CC = {0}".format(spack_cc))
+ mf.filter(r"^INSTALL_PREFIX .+", "INSTALL_PREFIX = {0}".format(prefix))
def build(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin/packages/cvs/package.py b/var/spack/repos/builtin/packages/cvs/package.py
index a64717e4b6..970f44dc4e 100644
--- a/var/spack/repos/builtin/packages/cvs/package.py
+++ b/var/spack/repos/builtin/packages/cvs/package.py
@@ -10,23 +10,27 @@ from spack.package import *
class Cvs(AutotoolsPackage, GNUMirrorPackage):
"""CVS a very traditional source control system"""
+
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')
+ version("1.12.13", sha256="78853613b9a6873a30e1cc2417f738c330e75f887afdaf7b3d0800cb19ca515e")
# To avoid the problem: The use of %n in format strings in writable memory
# may crash the program on glibc2 systems from 2004-10-18 or newer.
- patch('https://gentoofan.org/gentoo/poly-c_overlay/dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch',
- sha256='e13db2acebad3ca5be5d8e0fa97f149b0f9661e4a9a731965c8226290c6413c0', when='@1.12.13')
+ patch(
+ "https://gentoofan.org/gentoo/poly-c_overlay/dev-vcs/cvs/files/cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch",
+ sha256="e13db2acebad3ca5be5d8e0fa97f149b0f9661e4a9a731965c8226290c6413c0",
+ when="@1.12.13",
+ )
- tags = ['build-tools']
+ tags = ["build-tools"]
parallel = False
- executables = [r'^cvs$']
+ executables = [r"^cvs$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'\(CVS\)\s+([\d\.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"\(CVS\)\s+([\d\.]+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/cxx/package.py b/var/spack/repos/builtin/packages/cxx/package.py
index 318c5e3393..b9b494962b 100644
--- a/var/spack/repos/builtin/packages/cxx/package.py
+++ b/var/spack/repos/builtin/packages/cxx/package.py
@@ -10,7 +10,8 @@ from spack.package import *
class Cxx(Package):
"""Virtual package for the C++ language."""
- homepage = 'https://isocpp.org/std/the-standard'
+
+ homepage = "https://isocpp.org/std/the-standard"
virtual = True
def test(self):
@@ -18,23 +19,23 @@ class Cxx(Package):
for test in os.listdir(test_source):
filepath = os.path.join(test_source, test)
- exe_name = '%s.exe' % test
+ exe_name = "%s.exe" % test
- cxx_exe = os.environ['CXX']
+ cxx_exe = os.environ["CXX"]
# standard options
# Hack to get compiler attributes
# TODO: remove this when compilers are dependencies
- c_name = clang if self.spec.satisfies('llvm+clang') else self.name
+ c_name = clang if self.spec.satisfies("llvm+clang") else self.name
c_spec = spack.spec.CompilerSpec(c_name, self.spec.version)
c_cls = spack.compilers.class_for_compiler_name(c_name)
- compiler = c_cls(c_spec, None, None, ['fakecc', 'fakecxx'])
+ compiler = c_cls(c_spec, None, None, ["fakecc", "fakecxx"])
- cxx_opts = [compiler.cxx11_flag] if 'c++11' in test else []
+ cxx_opts = [compiler.cxx11_flag] if "c++11" in test else []
- cxx_opts += ['-o', exe_name, filepath]
+ cxx_opts += ["-o", exe_name, filepath]
compiled = self.run_test(cxx_exe, options=cxx_opts, installed=True)
if compiled:
- expected = ['Hello world', 'YES!']
+ expected = ["Hello world", "YES!"]
self.run_test(exe_name, expected=expected)
diff --git a/var/spack/repos/builtin/packages/cxxopts/package.py b/var/spack/repos/builtin/packages/cxxopts/package.py
index 88b0e9eb63..ca9162f18f 100644
--- a/var/spack/repos/builtin/packages/cxxopts/package.py
+++ b/var/spack/repos/builtin/packages/cxxopts/package.py
@@ -10,32 +10,31 @@ class Cxxopts(CMakePackage):
"""Lightweight C++ command line option parser"""
homepage = "https://github.com/jarro2783/cxxopts"
- url = "https://github.com/jarro2783/cxxopts/archive/v2.2.0.tar.gz"
- maintainers = ['haampie']
-
- version('3.0.0', sha256='36f41fa2a46b3c1466613b63f3fa73dc24d912bc90d667147f1e43215a8c6d00')
- version('2.2.1', sha256='984aa3c8917d649b14d7f6277104ce38dd142ce378a9198ec926f03302399681')
- version('2.2.0', sha256='447dbfc2361fce9742c5d1c9cfb25731c977b405f9085a738fbd608626da8a4d')
- version('2.1.2', sha256='95f524c6615a2067e935e02ef74b013b17efa339df0a3c9db3e91fc0afbaf269')
- version('2.1.1', sha256='e19216251427d04f0273e6487c0246ae2dbb4154bf178f43896af8fa1ef89f3f')
- version('2.1.0', sha256='7672c79e5e48dd0cb1935c6efe65d2695d96fa764bf06c493d2db25a3cf633b4')
- version('2.0.0', sha256='f575a12645743032c27a7bc661e8598f249a8453d7f5388bcae66ac3b089399e')
- version('1.4.4', sha256='1d0eedb39ecbc64a0f82d8b6fe40d5c8e611501702969cfbd14a07ce6ddb8501')
- version('1.4.3', sha256='9103d6d75a3f599728256ce89922a8cd348bfe5874de62ca1436f605f194c52e')
- version('1.4.2', sha256='8fc5e16e68ddf549465f8bec6b56adaccfab9d183093616ddd4d3e80115844cb')
- version('1.4.1', sha256='c5ccfe99bd3db0604d077c968b39a42d61333a64d171fe84d7037d6c0dcc996d')
- version('1.4.0', sha256='60d4a482ec603ef4efa2603978596716884b33e24d39af6ddca52b4a30f7107b')
-
- variant('unicode', default=False,
- description='Enables unicode support using the ICU library.')
-
- depends_on('cmake@3.1.0:', type='build')
- depends_on('icu4c', when='+unicode')
+ url = "https://github.com/jarro2783/cxxopts/archive/v2.2.0.tar.gz"
+ maintainers = ["haampie"]
+
+ version("3.0.0", sha256="36f41fa2a46b3c1466613b63f3fa73dc24d912bc90d667147f1e43215a8c6d00")
+ version("2.2.1", sha256="984aa3c8917d649b14d7f6277104ce38dd142ce378a9198ec926f03302399681")
+ version("2.2.0", sha256="447dbfc2361fce9742c5d1c9cfb25731c977b405f9085a738fbd608626da8a4d")
+ version("2.1.2", sha256="95f524c6615a2067e935e02ef74b013b17efa339df0a3c9db3e91fc0afbaf269")
+ version("2.1.1", sha256="e19216251427d04f0273e6487c0246ae2dbb4154bf178f43896af8fa1ef89f3f")
+ version("2.1.0", sha256="7672c79e5e48dd0cb1935c6efe65d2695d96fa764bf06c493d2db25a3cf633b4")
+ version("2.0.0", sha256="f575a12645743032c27a7bc661e8598f249a8453d7f5388bcae66ac3b089399e")
+ version("1.4.4", sha256="1d0eedb39ecbc64a0f82d8b6fe40d5c8e611501702969cfbd14a07ce6ddb8501")
+ version("1.4.3", sha256="9103d6d75a3f599728256ce89922a8cd348bfe5874de62ca1436f605f194c52e")
+ version("1.4.2", sha256="8fc5e16e68ddf549465f8bec6b56adaccfab9d183093616ddd4d3e80115844cb")
+ version("1.4.1", sha256="c5ccfe99bd3db0604d077c968b39a42d61333a64d171fe84d7037d6c0dcc996d")
+ version("1.4.0", sha256="60d4a482ec603ef4efa2603978596716884b33e24d39af6ddca52b4a30f7107b")
+
+ variant("unicode", default=False, description="Enables unicode support using the ICU library.")
+
+ depends_on("cmake@3.1.0:", type="build")
+ depends_on("icu4c", when="+unicode")
def cmake_args(self):
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')
+ 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"),
]
diff --git a/var/spack/repos/builtin/packages/cxxtest/package.py b/var/spack/repos/builtin/packages/cxxtest/package.py
index a0a65e87f1..73cc6e7051 100644
--- a/var/spack/repos/builtin/packages/cxxtest/package.py
+++ b/var/spack/repos/builtin/packages/cxxtest/package.py
@@ -10,9 +10,9 @@ class Cxxtest(Package):
"""C++ unit test system."""
homepage = "https://cxxtest.com/"
- url = "https://sourceforge.net/projects/cxxtest/files/cxxtest/4.4/cxxtest-4.4.tar.gz/download"
+ url = "https://sourceforge.net/projects/cxxtest/files/cxxtest/4.4/cxxtest-4.4.tar.gz/download"
- version('4.4', sha256='1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8')
+ version("4.4", sha256="1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8")
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix)
diff --git a/var/spack/repos/builtin/packages/cyrus-sasl/package.py b/var/spack/repos/builtin/packages/cyrus-sasl/package.py
index 27891d513f..82d47219d0 100644
--- a/var/spack/repos/builtin/packages/cyrus-sasl/package.py
+++ b/var/spack/repos/builtin/packages/cyrus-sasl/package.py
@@ -12,16 +12,16 @@ class CyrusSasl(AutotoolsPackage):
services."""
homepage = "https://github.com/cyrusimap/cyrus-sasl"
- url = "https://github.com/cyrusimap/cyrus-sasl/archive/cyrus-sasl-2.1.27.tar.gz"
+ url = "https://github.com/cyrusimap/cyrus-sasl/archive/cyrus-sasl-2.1.27.tar.gz"
- version('2.1.27', sha256='b564d773803dc4cff42d2bdc04c80f2b105897a724c247817d4e4a99dd6b9976')
- version('2.1.26', sha256='7c14d1b5bd1434adf2dd79f70538617e6aa2a7bde447454b90b84ac5c4d034ba')
- version('2.1.25', sha256='8bfd4fa4def54c760e5061f2a74c278384c3b9807f02c4b07dab68b5894cc7c1')
- version('2.1.24', sha256='1df15c492f7ecb90be49531a347b3df21b041c2e0325dcc4fc5a6e98384c40dd')
- version('2.1.23', sha256='b1ec43f62d68446a6a5879925c63d94e26089c5a46cd83e061dd685d014c7d1f')
+ version("2.1.27", sha256="b564d773803dc4cff42d2bdc04c80f2b105897a724c247817d4e4a99dd6b9976")
+ version("2.1.26", sha256="7c14d1b5bd1434adf2dd79f70538617e6aa2a7bde447454b90b84ac5c4d034ba")
+ version("2.1.25", sha256="8bfd4fa4def54c760e5061f2a74c278384c3b9807f02c4b07dab68b5894cc7c1")
+ version("2.1.24", sha256="1df15c492f7ecb90be49531a347b3df21b041c2e0325dcc4fc5a6e98384c40dd")
+ version("2.1.23", sha256="b1ec43f62d68446a6a5879925c63d94e26089c5a46cd83e061dd685d014c7d1f")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('groff', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("groff", type="build")
diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py
index 0625f2c818..60d1cdd71a 100644
--- a/var/spack/repos/builtin/packages/czmq/package.py
+++ b/var/spack/repos/builtin/packages/czmq/package.py
@@ -7,30 +7,31 @@ from spack.package import *
class Czmq(AutotoolsPackage):
- """ A C interface to the ZMQ library """
+ """A C interface to the ZMQ library"""
+
homepage = "http://czmq.zeromq.org"
- url = "https://github.com/zeromq/czmq/archive/v4.0.2.tar.gz"
+ url = "https://github.com/zeromq/czmq/archive/v4.0.2.tar.gz"
- version('4.1.1', sha256='b7623433547aa4b6e79722796c27ebc7c0470fea4204e920fd05e717c648f889')
- version('4.0.2', sha256='794f80af7392ec8d361ad69646fc20aaa284d23fef92951334009771a732c810')
- version('3.0.2', sha256='e56f8498daf70310b31c42669b2f9b753c5e747eafaff6d4fdac26d72a474b27')
+ version("4.1.1", sha256="b7623433547aa4b6e79722796c27ebc7c0470fea4204e920fd05e717c648f889")
+ version("4.0.2", sha256="794f80af7392ec8d361ad69646fc20aaa284d23fef92951334009771a732c810")
+ version("3.0.2", sha256="e56f8498daf70310b31c42669b2f9b753c5e747eafaff6d4fdac26d72a474b27")
- depends_on('libtool', type='build')
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('docbook-xml', type='build')
- depends_on('docbook-xsl', type='build')
- depends_on('uuid')
- depends_on('libzmq')
+ depends_on("libtool", type="build")
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("docbook-xml", type="build")
+ depends_on("docbook-xsl", type="build")
+ depends_on("uuid")
+ depends_on("libzmq")
def autoreconf(self, spec, prefix):
- autogen = Executable('./autogen.sh')
+ autogen = Executable("./autogen.sh")
autogen()
def configure_args(self):
config_args = []
- if 'clang' in self.compiler.name:
+ if "clang" in self.compiler.name:
config_args.append("CFLAGS=-Wno-gnu")
config_args.append("CXXFLAS=-Wno-gnu")
return config_args
diff --git a/var/spack/repos/builtin/packages/dakota/package.py b/var/spack/repos/builtin/packages/dakota/package.py
index 3a27fe8389..3e62eab5f7 100644
--- a/var/spack/repos/builtin/packages/dakota/package.py
+++ b/var/spack/repos/builtin/packages/dakota/package.py
@@ -26,45 +26,46 @@ class Dakota(CMakePackage):
"""
- homepage = 'https://dakota.sandia.gov/'
- url = 'https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-6.12-release-public.src.tar.gz'
+ homepage = "https://dakota.sandia.gov/"
+ url = "https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-6.12-release-public.src.tar.gz"
- version('6.12', sha256='4d69f9cbb0c7319384ab9df27643ff6767eb410823930b8fbd56cc9de0885bc9')
- version('6.9', sha256='989b689278964b96496e3058b8ef5c2724d74bcd232f898fe450c51eba7fe0c2')
- version('6.3', sha256='0fbc310105860d77bb5c96de0e8813d75441fca1a5e6dfaf732aa095c4488d52')
+ version("6.12", sha256="4d69f9cbb0c7319384ab9df27643ff6767eb410823930b8fbd56cc9de0885bc9")
+ version("6.9", sha256="989b689278964b96496e3058b8ef5c2724d74bcd232f898fe450c51eba7fe0c2")
+ version("6.3", sha256="0fbc310105860d77bb5c96de0e8813d75441fca1a5e6dfaf732aa095c4488d52")
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('mpi', default=True, description='Activates MPI support')
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=True, description="Activates MPI support")
# Generic 'lapack' provider won't work, dakota searches for
# 'LAPACKConfig.cmake' or 'lapack-config.cmake' on the path
- depends_on('netlib-lapack')
+ depends_on("netlib-lapack")
- depends_on('blas')
- depends_on('mpi', when='+mpi')
+ depends_on("blas")
+ depends_on("mpi", when="+mpi")
- depends_on('python')
- depends_on('perl-data-dumper', type='build', when='@6.12:')
- depends_on('boost@:1.68.0', when='@:6.12')
+ depends_on("python")
+ depends_on("perl-data-dumper", type="build", when="@6.12:")
+ depends_on("boost@:1.68.0", when="@:6.12")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:6.12')
- depends_on('cmake@2.8.9:', type='build')
+ depends_on(Boost.with_default_variants, when="@:6.12")
+ depends_on("cmake@2.8.9:", type="build")
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
- if '+mpi' in spec:
- args.extend([
- '-DDAKOTA_HAVE_MPI:BOOL=ON',
- '-DMPI_CXX_COMPILER:STRING=%s' % join_path(spec['mpi'].mpicxx),
- ])
+ if "+mpi" in spec:
+ args.extend(
+ [
+ "-DDAKOTA_HAVE_MPI:BOOL=ON",
+ "-DMPI_CXX_COMPILER:STRING=%s" % join_path(spec["mpi"].mpicxx),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/daligner/package.py b/var/spack/repos/builtin/packages/daligner/package.py
index 246d18f23b..10036438f1 100644
--- a/var/spack/repos/builtin/packages/daligner/package.py
+++ b/var/spack/repos/builtin/packages/daligner/package.py
@@ -10,16 +10,14 @@ class Daligner(MakefilePackage):
"""Daligner: The Dazzler "Overlap" Module."""
homepage = "https://github.com/thegenemyers/DALIGNER"
- url = "https://github.com/thegenemyers/DALIGNER/archive/V1.0.tar.gz"
+ url = "https://github.com/thegenemyers/DALIGNER/archive/V1.0.tar.gz"
- version('1.0', sha256='2fb03616f0d60df767fbba7c8f0021ec940c8d822ab2011cf58bd56a8b9fb414')
+ version("1.0", sha256="2fb03616f0d60df767fbba7c8f0021ec940c8d822ab2011cf58bd56a8b9fb414")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
- makefile.filter('cp $(ALL) ~/bin',
- 'cp $(ALL) {0}'.format(prefix.bin),
- **kwargs)
+ makefile = FileFilter("Makefile")
+ kwargs = {"ignore_absent": False, "backup": False, "string": True}
+ makefile.filter("cp $(ALL) ~/bin", "cp $(ALL) {0}".format(prefix.bin), **kwargs)
# He changed the Makefile in commit dae119.
# You'll need this instead if/when he cuts a new release
# or if you try to build from the tip of master.
@@ -27,6 +25,6 @@ class Daligner(MakefilePackage):
# 'DEST_DIR = {0}'.format(prefix.bin))
# or pass DEST_DIR in to the make
- @run_before('install')
+ @run_before("install")
def make_prefix_dot_bin(self):
mkdir(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dalton/package.py b/var/spack/repos/builtin/packages/dalton/package.py
index 1940bb092b..6e582b0e9c 100644
--- a/var/spack/repos/builtin/packages/dalton/package.py
+++ b/var/spack/repos/builtin/packages/dalton/package.py
@@ -8,66 +8,81 @@ from spack.package import *
class Dalton(CMakePackage):
"""Molecular electronic-structure program with extensive
- functionality for calculations of molecular properties
- at the HF, DFT, MCSCF, MC-srDFT, and CC levels of theory.
+ functionality for calculations of molecular properties
+ at the HF, DFT, MCSCF, MC-srDFT, and CC levels of theory.
"""
homepage = "https://daltonprogram.org"
- git = 'https://gitlab.com/dalton/dalton.git'
+ git = "https://gitlab.com/dalton/dalton.git"
- maintainers = ['foeroyingur']
+ maintainers = ["foeroyingur"]
- version('master', branch='master', submodules=True)
- version('2020.0', tag='2020.0', submodules=True)
- version('2018.2', tag='2018.2', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("2020.0", tag="2020.0", submodules=True)
+ version("2018.2", tag="2018.2", submodules=True)
- variant('build_type', default='Release', values=('Debug', 'Release'),
- description='CMake build type')
- variant('ilp64', default=False, description='Use 64-bit integers')
- variant('mpi', default=True, description='Use MPI')
- variant('gen1int', default=True, description='Build Gen1Int library')
- variant('pelib', default=True, when='~ilp64',
- description='Build PE library to enable polarizable embedding calculations')
- variant('pde', default=True, when='@2020.0: +pelib',
- description='Enable polarizable density embedding through the PE library')
- variant('qfitlib', default=True, description='Build QFIT library')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release"),
+ description="CMake build type",
+ )
+ variant("ilp64", default=False, description="Use 64-bit integers")
+ variant("mpi", default=True, description="Use MPI")
+ variant("gen1int", default=True, description="Build Gen1Int library")
+ variant(
+ "pelib",
+ default=True,
+ when="~ilp64",
+ description="Build PE library to enable polarizable embedding calculations",
+ )
+ variant(
+ "pde",
+ default=True,
+ when="@2020.0: +pelib",
+ description="Enable polarizable density embedding through the PE library",
+ )
+ variant("qfitlib", default=True, description="Build QFIT library")
- depends_on('cmake@3.1:', type='build')
- depends_on('blas', type='link')
- depends_on('lapack', type='link')
- with when('+pde'):
- depends_on('hdf5+fortran', when='+mpi', type='link')
- depends_on('hdf5+fortran~mpi', when='~mpi', type='link')
- depends_on('mpi', when='+mpi', type=('build', 'link', 'run'))
+ depends_on("cmake@3.1:", type="build")
+ depends_on("blas", type="link")
+ depends_on("lapack", type="link")
+ with when("+pde"):
+ depends_on("hdf5+fortran", when="+mpi", type="link")
+ depends_on("hdf5+fortran~mpi", when="~mpi", type="link")
+ depends_on("mpi", when="+mpi", type=("build", "link", "run"))
- patch('pelib-master.patch', when='@master+mpi+pelib%gcc@10:',
- working_dir='external/pelib')
- patch('pelib-2020.0.patch', when='@2020.0+mpi+pelib%gcc@10:',
- working_dir='external/pelib')
- patch('soppa-2018.2.patch', when='@2018.2%intel')
- patch('cbiexc-2018.2.patch', when='@2018.2%intel')
+ patch("pelib-master.patch", when="@master+mpi+pelib%gcc@10:", working_dir="external/pelib")
+ patch("pelib-2020.0.patch", when="@2020.0+mpi+pelib%gcc@10:", working_dir="external/pelib")
+ patch("soppa-2018.2.patch", when="@2018.2%intel")
+ patch("cbiexc-2018.2.patch", when="@2018.2%intel")
- conflicts('%gcc@10:', when='@2018.2',
- msg='Dalton 2018.2 cannot be built with GCC >= 10, please use an older'
- ' version or a different compiler suite.')
+ conflicts(
+ "%gcc@10:",
+ when="@2018.2",
+ msg="Dalton 2018.2 cannot be built with GCC >= 10, please use an older"
+ " version or a different compiler suite.",
+ )
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix.join('dalton'))
+ env.prepend_path("PATH", self.spec.prefix.join("dalton"))
def cmake_args(self):
- math_libs = self.spec['lapack'].libs + self.spec['blas'].libs
- if '+mpi' in self.spec:
- env['CC'] = self.spec['mpi'].mpicc
- env['CXX'] = self.spec['mpi'].mpicxx
- env['F77'] = self.spec['mpi'].mpif77
- env['FC'] = self.spec['mpi'].mpifc
- args = ['-DEXPLICIT_LIBS:STRING={0}'.format(math_libs.ld_flags),
- self.define('ENABLE_AUTO_BLAS', False),
- self.define('ENABLE_AUTO_LAPACK', False),
- self.define_from_variant('ENABLE_MPI', variant='mpi'),
- self.define_from_variant('ENABLE_64BIT_INTEGERS', variant='ilp64'),
- self.define_from_variant('ENABLE_GEN1INT', variant='gen1int'),
- self.define_from_variant('ENABLE_PELIB', variant='pelib'),
- self.define_from_variant('ENABLE_PDE', variant='pde'),
- self.define_from_variant('ENABLE_QFITLIB', variant='qfitlib')]
+ math_libs = self.spec["lapack"].libs + self.spec["blas"].libs
+ if "+mpi" in self.spec:
+ env["CC"] = self.spec["mpi"].mpicc
+ env["CXX"] = self.spec["mpi"].mpicxx
+ env["F77"] = self.spec["mpi"].mpif77
+ env["FC"] = self.spec["mpi"].mpifc
+ args = [
+ "-DEXPLICIT_LIBS:STRING={0}".format(math_libs.ld_flags),
+ self.define("ENABLE_AUTO_BLAS", False),
+ self.define("ENABLE_AUTO_LAPACK", False),
+ self.define_from_variant("ENABLE_MPI", variant="mpi"),
+ self.define_from_variant("ENABLE_64BIT_INTEGERS", variant="ilp64"),
+ self.define_from_variant("ENABLE_GEN1INT", variant="gen1int"),
+ self.define_from_variant("ENABLE_PELIB", variant="pelib"),
+ self.define_from_variant("ENABLE_PDE", variant="pde"),
+ self.define_from_variant("ENABLE_QFITLIB", variant="qfitlib"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/damageproto/package.py b/var/spack/repos/builtin/packages/damageproto/package.py
index deff5106a4..50bc194345 100644
--- a/var/spack/repos/builtin/packages/damageproto/package.py
+++ b/var/spack/repos/builtin/packages/damageproto/package.py
@@ -15,7 +15,7 @@ class Damageproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/damageproto"
xorg_mirror_path = "proto/damageproto-1.2.1.tar.gz"
- version('1.2.1', sha256='f65ccbf1de9750a527ea6e85694085b179f2d06495cbdb742b3edb2149fef303')
+ version("1.2.1", sha256="f65ccbf1de9750a527ea6e85694085b179f2d06495cbdb742b3edb2149fef303")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/damaris/package.py b/var/spack/repos/builtin/packages/damaris/package.py
index 7e8901a887..c1e8423640 100644
--- a/var/spack/repos/builtin/packages/damaris/package.py
+++ b/var/spack/repos/builtin/packages/damaris/package.py
@@ -12,80 +12,82 @@ class Damaris(CMakePackage):
targeting large-scale, MPI-based HPC simulations."""
homepage = "https://project.inria.fr/damaris/"
- git = "https://gitlab.inria.fr/Damaris/damaris.git"
- maintainers = ['jcbowden']
-
- version('master', branch='master')
- version('1.6.0', tag='v1.6.0')
- version('1.5.0', tag='v1.5.0')
- version('1.3.3', tag='v1.3.3')
- version('1.3.2', tag='v1.3.2')
- version('1.3.1', tag='v1.3.1')
-
- variant('fortran', default=True, description='Enables Fortran support')
- variant('hdf5', default=False, description='Enables the HDF5 storage plugin')
- variant('static', default=False, description='Builds a static version of the library')
- variant('catalyst', default=False, description='Enables the Catalyst visualization plugin')
- variant('visit', default=False, description='Enables the VisIt visualization plugin')
- variant('examples', default=False, description='Enables compilation and installation of the examples code')
- variant('docs', default=False, description='Enables the building of dOxygen documentation')
+ git = "https://gitlab.inria.fr/Damaris/damaris.git"
+ maintainers = ["jcbowden"]
+
+ version("master", branch="master")
+ version("1.6.0", tag="v1.6.0")
+ version("1.5.0", tag="v1.5.0")
+ version("1.3.3", tag="v1.3.3")
+ version("1.3.2", tag="v1.3.2")
+ version("1.3.1", tag="v1.3.1")
+
+ variant("fortran", default=True, description="Enables Fortran support")
+ variant("hdf5", default=False, description="Enables the HDF5 storage plugin")
+ variant("static", default=False, description="Builds a static version of the library")
+ variant("catalyst", default=False, description="Enables the Catalyst visualization plugin")
+ variant("visit", default=False, description="Enables the VisIt visualization plugin")
variant(
- 'python',
+ "examples",
default=False,
- description='Enables building of Python enabled Damaris library - '
- 'boost::python boost::numpy needed'
+ description="Enables compilation and installation of the examples code",
+ )
+ variant("docs", default=False, description="Enables the building of dOxygen documentation")
+ variant(
+ "python",
+ default=False,
+ description="Enables building of Python enabled Damaris library - "
+ "boost::python boost::numpy needed",
)
- depends_on('mpi')
- depends_on('cmake@3.18.0:', type=('build'))
+ depends_on("mpi")
+ depends_on("cmake@3.18.0:", type=("build"))
depends_on(
- 'boost'
- '+exception+locale+system+serialization+chrono+atomic'
- '+container+regex+thread+log+filesystem+date_time'
- '@1.67:'
+ "boost"
+ "+exception+locale+system+serialization+chrono+atomic"
+ "+container+regex+thread+log+filesystem+date_time"
+ "@1.67:"
)
- depends_on('xsd')
- depends_on('xerces-c')
- depends_on('hdf5@1.8.20:', when='+hdf5')
- depends_on('paraview+python3', when='+catalyst')
- depends_on('visit+mpi', when='+visit')
- depends_on('boost+thread+log+filesystem+date_time+python+numpy @1.67:', when='+python')
+ depends_on("xsd")
+ depends_on("xerces-c")
+ depends_on("hdf5@1.8.20:", when="+hdf5")
+ depends_on("paraview+python3", when="+catalyst")
+ depends_on("visit+mpi", when="+visit")
+ depends_on("boost+thread+log+filesystem+date_time+python+numpy @1.67:", when="+python")
def cmake_args(self):
args = []
- if(not self.spec.variants['static'].value):
- args.extend(['-DBUILD_SHARED_LIBS=ON'])
-
- args.extend(['-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx])
- args.extend(['-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc])
- args.extend(['-DBOOST_ROOT=%s' % self.spec['boost'].prefix])
- args.extend(['-DXercesC_ROOT=%s' % self.spec['xerces-c'].prefix])
- args.extend(['-DXSD_ROOT=%s' % self.spec['xsd'].prefix])
-
- if (self.spec.variants['fortran'].value):
- args.extend(['-DCMAKE_Fortran_COMPILER=%s'
- % self.spec['mpi'].mpifc])
- args.extend(['-DENABLE_FORTRAN:BOOL=ON'])
-
- if (self.spec.variants['hdf5'].value):
- args.extend(['-DENABLE_HDF5:BOOL=ON'])
- args.extend(['-DHDF5_ROOT:PATH=%s' % self.spec['hdf5'].prefix])
-
- if (self.spec.variants['catalyst'].value):
- args.extend(['-DENABLE_CATALYST:BOOL=ON'])
- args.extend(['-DParaView_ROOT:PATH=%s'
- % self.spec['catalyst'].prefix])
- if (self.spec.variants['examples'].value):
- args.extend(['-DENABLE_EXAMPLES:BOOL=ON'])
-
- if (self.spec.variants['docs'].value):
- args.extend(['-DENABLE_DOCS:BOOL=ON'])
-
- if (self.spec.variants['python'].value):
- args.extend(['-DENABLE_PYTHON:BOOL=ON'])
-
- if (self.spec.variants['visit'].value):
- args.extend(['-DENABLE_VISIT:BOOL=ON'])
- args.extend(['-DVisIt_ROOT:PATH=%s' % self.spec['visit'].prefix])
+ if not self.spec.variants["static"].value:
+ args.extend(["-DBUILD_SHARED_LIBS=ON"])
+
+ args.extend(["-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx])
+ args.extend(["-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc])
+ args.extend(["-DBOOST_ROOT=%s" % self.spec["boost"].prefix])
+ args.extend(["-DXercesC_ROOT=%s" % self.spec["xerces-c"].prefix])
+ args.extend(["-DXSD_ROOT=%s" % self.spec["xsd"].prefix])
+
+ if self.spec.variants["fortran"].value:
+ args.extend(["-DCMAKE_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc])
+ args.extend(["-DENABLE_FORTRAN:BOOL=ON"])
+
+ if self.spec.variants["hdf5"].value:
+ args.extend(["-DENABLE_HDF5:BOOL=ON"])
+ args.extend(["-DHDF5_ROOT:PATH=%s" % self.spec["hdf5"].prefix])
+
+ if self.spec.variants["catalyst"].value:
+ args.extend(["-DENABLE_CATALYST:BOOL=ON"])
+ args.extend(["-DParaView_ROOT:PATH=%s" % self.spec["catalyst"].prefix])
+ if self.spec.variants["examples"].value:
+ args.extend(["-DENABLE_EXAMPLES:BOOL=ON"])
+
+ if self.spec.variants["docs"].value:
+ args.extend(["-DENABLE_DOCS:BOOL=ON"])
+
+ if self.spec.variants["python"].value:
+ args.extend(["-DENABLE_PYTHON:BOOL=ON"])
+
+ if self.spec.variants["visit"].value:
+ args.extend(["-DENABLE_VISIT:BOOL=ON"])
+ args.extend(["-DVisIt_ROOT:PATH=%s" % self.spec["visit"].prefix])
return args
diff --git a/var/spack/repos/builtin/packages/damask-grid/package.py b/var/spack/repos/builtin/packages/damask-grid/package.py
index ab6a714d75..1f62e85761 100644
--- a/var/spack/repos/builtin/packages/damask-grid/package.py
+++ b/var/spack/repos/builtin/packages/damask-grid/package.py
@@ -11,39 +11,50 @@ class DamaskGrid(CMakePackage):
"""Grid solver for DAMASK"""
homepage = "https://damask.mpie.de"
- url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
-
- maintainers = ['MarDiehl']
-
- version('3.0.0-alpha6', sha256='de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109')
- version('3.0.0-alpha5', sha256='2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae')
- version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493')
-
- depends_on('petsc@3.16.5:3.16', when='@3.0.0-alpha6')
- depends_on('petsc@3.14.0:3.14,3.15.1:3.16', when='@3.0.0-alpha5')
- depends_on('petsc@3.14.0:3.14,3.15.1:3.15', when='@3.0.0-alpha4')
- depends_on('pkgconfig', type='build')
- depends_on('cmake@3.10:', type='build')
- depends_on('petsc+mpi+hdf5')
- depends_on('hdf5@1.10:+mpi+fortran')
- depends_on('fftw+mpi')
-
- patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4')
-
- variant('build_type', default='DebugRelease',
- description='The build type to build',
- values=('Debug', 'Release', 'DebugRelease'))
+ url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
+
+ maintainers = ["MarDiehl"]
+
+ version(
+ "3.0.0-alpha6", sha256="de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109"
+ )
+ version(
+ "3.0.0-alpha5", sha256="2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae"
+ )
+ version(
+ "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493"
+ )
+
+ depends_on("petsc@3.16.5:3.16", when="@3.0.0-alpha6")
+ depends_on("petsc@3.14.0:3.14,3.15.1:3.16", when="@3.0.0-alpha5")
+ depends_on("petsc@3.14.0:3.14,3.15.1:3.15", when="@3.0.0-alpha4")
+ depends_on("pkgconfig", type="build")
+ depends_on("cmake@3.10:", type="build")
+ depends_on("petsc+mpi+hdf5")
+ depends_on("hdf5@1.10:+mpi+fortran")
+ depends_on("fftw+mpi")
+
+ patch("CMakeDebugRelease.patch", when="@3.0.0-alpha4")
+
+ variant(
+ "build_type",
+ default="DebugRelease",
+ description="The build type to build",
+ values=("Debug", "Release", "DebugRelease"),
+ )
def patch(self):
- filter_file(' -lz ', ' -lz ${FFTW_LIBS} ', 'CMakeLists.txt')
+ filter_file(" -lz ", " -lz ${FFTW_LIBS} ", "CMakeLists.txt")
def cmake_args(self):
- return [self.define('DAMASK_SOLVER', 'grid'),
- self.define('FFTW_LIBS', self.spec['fftw:mpi'].libs.link_flags)]
+ return [
+ self.define("DAMASK_SOLVER", "grid"),
+ self.define("FFTW_LIBS", self.spec["fftw:mpi"].libs.link_flags),
+ ]
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def execute(self):
with working_dir(self.build_directory):
- damask_grid = Executable('src/DAMASK_grid')
- damask_grid('--help')
+ damask_grid = Executable("src/DAMASK_grid")
+ damask_grid("--help")
diff --git a/var/spack/repos/builtin/packages/damask-mesh/package.py b/var/spack/repos/builtin/packages/damask-mesh/package.py
index 42157642c9..3507dfdff8 100644
--- a/var/spack/repos/builtin/packages/damask-mesh/package.py
+++ b/var/spack/repos/builtin/packages/damask-mesh/package.py
@@ -11,34 +11,43 @@ class DamaskMesh(CMakePackage):
"""Mesh solver for DAMASK"""
homepage = "https://damask.mpie.de"
- url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
-
- maintainers = ['MarDiehl']
-
- version('3.0.0-alpha6', sha256='de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109')
- version('3.0.0-alpha5', sha256='2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae')
- version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493')
-
- depends_on('petsc@3.16.5:3.16', when='@3.0.0-alpha6')
- depends_on('petsc@3.14.0:3.14,3.15.1:3.16', when='@3.0.0-alpha5')
- depends_on('petsc@3.14.0:3.14,3.15.1:3.15', when='@3.0.0-alpha4')
- depends_on('pkgconfig', type='build')
- depends_on('cmake@3.10:', type='build')
- depends_on('petsc+mpi+hdf5')
- depends_on('hdf5@1.10:+mpi+fortran')
-
- patch('CMakeDebugRelease.patch', when='@3.0.0-alpha4')
-
- variant('build_type', default='DebugRelease',
- description='The build type to build',
- values=('Debug', 'Release', 'DebugRelease'))
+ url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
+
+ maintainers = ["MarDiehl"]
+
+ version(
+ "3.0.0-alpha6", sha256="de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109"
+ )
+ version(
+ "3.0.0-alpha5", sha256="2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae"
+ )
+ version(
+ "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493"
+ )
+
+ depends_on("petsc@3.16.5:3.16", when="@3.0.0-alpha6")
+ depends_on("petsc@3.14.0:3.14,3.15.1:3.16", when="@3.0.0-alpha5")
+ depends_on("petsc@3.14.0:3.14,3.15.1:3.15", when="@3.0.0-alpha4")
+ depends_on("pkgconfig", type="build")
+ depends_on("cmake@3.10:", type="build")
+ depends_on("petsc+mpi+hdf5")
+ depends_on("hdf5@1.10:+mpi+fortran")
+
+ patch("CMakeDebugRelease.patch", when="@3.0.0-alpha4")
+
+ variant(
+ "build_type",
+ default="DebugRelease",
+ description="The build type to build",
+ values=("Debug", "Release", "DebugRelease"),
+ )
def cmake_args(self):
- return [self.define('DAMASK_SOLVER', 'mesh')]
+ return [self.define("DAMASK_SOLVER", "mesh")]
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def execute(self):
with working_dir(self.build_directory):
- damask_mesh = Executable('src/DAMASK_mesh')
- damask_mesh('--help')
+ damask_mesh = Executable("src/DAMASK_mesh")
+ damask_mesh("--help")
diff --git a/var/spack/repos/builtin/packages/damask/package.py b/var/spack/repos/builtin/packages/damask/package.py
index e499123084..849d7acd1a 100644
--- a/var/spack/repos/builtin/packages/damask/package.py
+++ b/var/spack/repos/builtin/packages/damask/package.py
@@ -26,20 +26,20 @@ class Damask(BundlePackage):
homepage = "https://damask.mpie.de"
- maintainers = ['MarDiehl']
+ maintainers = ["MarDiehl"]
- version('3.0.0-alpha6')
- version('3.0.0-alpha5')
- version('3.0.0-alpha4')
+ version("3.0.0-alpha6")
+ version("3.0.0-alpha5")
+ version("3.0.0-alpha4")
- depends_on('damask-grid@3.0.0-alpha6', when='@3.0.0-alpha6', type='run')
- depends_on('damask-mesh@3.0.0-alpha6', when='@3.0.0-alpha6', type='run')
- depends_on('py-damask@3.0.0-alpha6', when='@3.0.0-alpha6', type='run')
+ depends_on("damask-grid@3.0.0-alpha6", when="@3.0.0-alpha6", type="run")
+ depends_on("damask-mesh@3.0.0-alpha6", when="@3.0.0-alpha6", type="run")
+ depends_on("py-damask@3.0.0-alpha6", when="@3.0.0-alpha6", type="run")
- depends_on('damask-grid@3.0.0-alpha5', when='@3.0.0-alpha5', type='run')
- depends_on('damask-mesh@3.0.0-alpha5', when='@3.0.0-alpha5', type='run')
- depends_on('py-damask@3.0.0-alpha5', when='@3.0.0-alpha5', type='run')
+ depends_on("damask-grid@3.0.0-alpha5", when="@3.0.0-alpha5", type="run")
+ depends_on("damask-mesh@3.0.0-alpha5", when="@3.0.0-alpha5", type="run")
+ depends_on("py-damask@3.0.0-alpha5", when="@3.0.0-alpha5", type="run")
- depends_on('damask-grid@3.0.0-alpha4', when='@3.0.0-alpha4', type='run')
- depends_on('damask-mesh@3.0.0-alpha4', when='@3.0.0-alpha4', type='run')
- depends_on('py-damask@3.0.0-alpha4', when='@3.0.0-alpha4', type='run')
+ depends_on("damask-grid@3.0.0-alpha4", when="@3.0.0-alpha4", type="run")
+ depends_on("damask-mesh@3.0.0-alpha4", when="@3.0.0-alpha4", type="run")
+ depends_on("py-damask@3.0.0-alpha4", when="@3.0.0-alpha4", type="run")
diff --git a/var/spack/repos/builtin/packages/damselfly/package.py b/var/spack/repos/builtin/packages/damselfly/package.py
index 649d30be2a..66456f0c64 100644
--- a/var/spack/repos/builtin/packages/damselfly/package.py
+++ b/var/spack/repos/builtin/packages/damselfly/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class Damselfly(CMakePackage):
"""Damselfly is a model-based parallel network simulator."""
+
homepage = "https://github.com/llnl/damselfly"
- url = "https://github.com/LLNL/damselfly/archive/v1.0.tar.gz"
+ url = "https://github.com/LLNL/damselfly/archive/v1.0.tar.gz"
- version('1.0', sha256='560e1b800c9036766396a1033c00914bd8d181b911e87140c3ac8879baf6545a')
+ version("1.0", sha256="560e1b800c9036766396a1033c00914bd8d181b911e87140c3ac8879baf6545a")
- depends_on('cmake@2.6:', type='build')
- depends_on('mpi')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py
index 91b04fc674..f6fd0e191d 100644
--- a/var/spack/repos/builtin/packages/darshan-runtime/package.py
+++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py
@@ -16,158 +16,180 @@ class DarshanRuntime(AutotoolsPackage):
systems where you intend to instrument MPI applications."""
homepage = "https://www.mcs.anl.gov/research/projects/darshan/"
- url = "https://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz"
- git = "https://github.com/darshan-hpc/darshan.git"
+ url = "https://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz"
+ git = "https://github.com/darshan-hpc/darshan.git"
- maintainers = ['shanedsnyder', 'carns']
+ maintainers = ["shanedsnyder", "carns"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('main', branch='main', submodules=True)
- version('3.4.0', sha256='7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842', preferred=True)
- version('3.4.0-pre1', sha256='57d0fd40329b9f8a51bdc9d7635b646692b341d80339115ab203357321706c09')
- version('3.3.1', sha256='281d871335977d0592a49d053df93d68ce1840f6fdec27fea7a59586a84395f7')
- version('3.3.0', sha256='2e8bccf28acfa9f9394f2084ec18122c66e45d966087fa2e533928e824fcb57a')
- version('3.3.0-pre2', sha256='0fc09f86f935132b7b05df981b05cdb3796a1ea02c7acd1905323691df65e761')
- version('3.3.0-pre1', sha256='1c655359455b5122921091bab9961491be58a5f0158f073d09fe8cc772bd0812')
- version('3.2.1', sha256='d63048b7a3d1c4de939875943e3e7a2468a9034fcb68585edbc87f57f622e7f7')
- version('3.2.0', sha256='4035435bdc0fa2a678247fbf8d5a31dfeb3a133baf06577786b1fe8d00a31b7e')
- version('3.1.8', sha256='3ed51c8d5d93b4a8cbb7d53d13052140a9dffe0bc1a3e1ebfc44a36a184b5c82')
- version('3.1.7', sha256='9ba535df292727ac1e8025bdf2dc42942715205cad8319d925723fd88709e8d6')
- version('3.1.6', sha256='21cb24e2a971c45e04476e00441b7fbea63d2afa727a5cf8b7a4a9d9004dd856')
- version('3.1.0', sha256='b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c')
- version('3.0.0', sha256='95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0')
-
- depends_on('mpi', when='+mpi')
- depends_on('zlib')
- depends_on('hdf5', when='+hdf5')
- depends_on('papi', when='+apxc')
- depends_on('autoconf', type='build', when='@main')
- depends_on('automake', type='build', when='@main')
- depends_on('libtool', type='build', when='@main')
- depends_on('m4', type='build', when='@main')
- depends_on('autoconf', type='build', when='@3.4.0:')
- depends_on('automake', type='build', when='@3.4.0:')
- depends_on('libtool', type='build', when='@3.4.0:')
- depends_on('m4', type='build', when='@3.4.0:')
-
- variant('mpi', default=True, description='Compile with MPI support')
- variant('hdf5', default=False, description='Compile with HDF5 module')
- variant('apmpi', default=False, description='Compile with AutoPerf MPI module')
- variant('apmpi_sync', default=False, description='Compile with AutoPerf MPI module (with collective synchronization timing)')
- variant('apxc', default=False, description='Compile with AutoPerf XC module')
+ version("main", branch="main", submodules=True)
+ version(
+ "3.4.0",
+ sha256="7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842",
+ preferred=True,
+ )
+ version(
+ "3.4.0-pre1", sha256="57d0fd40329b9f8a51bdc9d7635b646692b341d80339115ab203357321706c09"
+ )
+ version("3.3.1", sha256="281d871335977d0592a49d053df93d68ce1840f6fdec27fea7a59586a84395f7")
+ version("3.3.0", sha256="2e8bccf28acfa9f9394f2084ec18122c66e45d966087fa2e533928e824fcb57a")
+ version(
+ "3.3.0-pre2", sha256="0fc09f86f935132b7b05df981b05cdb3796a1ea02c7acd1905323691df65e761"
+ )
+ version(
+ "3.3.0-pre1", sha256="1c655359455b5122921091bab9961491be58a5f0158f073d09fe8cc772bd0812"
+ )
+ version("3.2.1", sha256="d63048b7a3d1c4de939875943e3e7a2468a9034fcb68585edbc87f57f622e7f7")
+ version("3.2.0", sha256="4035435bdc0fa2a678247fbf8d5a31dfeb3a133baf06577786b1fe8d00a31b7e")
+ version("3.1.8", sha256="3ed51c8d5d93b4a8cbb7d53d13052140a9dffe0bc1a3e1ebfc44a36a184b5c82")
+ version("3.1.7", sha256="9ba535df292727ac1e8025bdf2dc42942715205cad8319d925723fd88709e8d6")
+ version("3.1.6", sha256="21cb24e2a971c45e04476e00441b7fbea63d2afa727a5cf8b7a4a9d9004dd856")
+ version("3.1.0", sha256="b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c")
+ version("3.0.0", sha256="95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("zlib")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("papi", when="+apxc")
+ depends_on("autoconf", type="build", when="@main")
+ depends_on("automake", type="build", when="@main")
+ depends_on("libtool", type="build", when="@main")
+ depends_on("m4", type="build", when="@main")
+ depends_on("autoconf", type="build", when="@3.4.0:")
+ depends_on("automake", type="build", when="@3.4.0:")
+ depends_on("libtool", type="build", when="@3.4.0:")
+ depends_on("m4", type="build", when="@3.4.0:")
+
+ variant("mpi", default=True, description="Compile with MPI support")
+ variant("hdf5", default=False, description="Compile with HDF5 module")
+ variant("apmpi", default=False, description="Compile with AutoPerf MPI module")
+ variant(
+ "apmpi_sync",
+ default=False,
+ description="Compile with AutoPerf MPI module (with collective synchronization timing)",
+ )
+ variant("apxc", default=False, description="Compile with AutoPerf XC module")
variant(
- 'scheduler',
- default='NONE',
- description='queue system scheduler JOB ID',
- values=('NONE', 'cobalt', 'pbs', 'sge', 'slurm'),
- multi=False
+ "scheduler",
+ default="NONE",
+ description="queue system scheduler JOB ID",
+ values=("NONE", "cobalt", "pbs", "sge", "slurm"),
+ multi=False,
)
- conflicts('+hdf5', when='@:3.1.8',
- msg='+hdf5 variant only available starting from version 3.2.0')
- conflicts('+apmpi', when='@:3.2.1',
- msg='+apmpi variant only available starting from version 3.3.0')
- conflicts('+apmpi_sync', when='@:3.2.1',
- msg='+apmpi variant only available starting from version 3.3.0')
- conflicts('+apxc', when='@:3.2.1',
- msg='+apxc variant only available starting from version 3.3.0')
+ conflicts(
+ "+hdf5", when="@:3.1.8", msg="+hdf5 variant only available starting from version 3.2.0"
+ )
+ conflicts(
+ "+apmpi", when="@:3.2.1", msg="+apmpi variant only available starting from version 3.3.0"
+ )
+ conflicts(
+ "+apmpi_sync",
+ when="@:3.2.1",
+ msg="+apmpi variant only available starting from version 3.3.0",
+ )
+ conflicts(
+ "+apxc", when="@:3.2.1", msg="+apxc variant only available starting from version 3.3.0"
+ )
@property
def configure_directory(self):
- return 'darshan-runtime'
+ return "darshan-runtime"
def configure_args(self):
spec = self.spec
extra_args = []
- job_id = 'NONE'
- if '+slurm' in spec:
- job_id = 'SLURM_JOBID'
- if '+cobalt' in spec:
- job_id = 'COBALT_JOBID'
- if '+pbs' in spec:
- job_id = 'PBS_JOBID'
- if '+sge' in spec:
- job_id = 'JOB_ID'
-
- if '+hdf5' in spec:
- if self.version < Version('3.3.2'):
- extra_args.append('--enable-hdf5-mod=%s' % spec['hdf5'].prefix)
+ job_id = "NONE"
+ if "+slurm" in spec:
+ job_id = "SLURM_JOBID"
+ if "+cobalt" in spec:
+ job_id = "COBALT_JOBID"
+ if "+pbs" in spec:
+ job_id = "PBS_JOBID"
+ if "+sge" in spec:
+ job_id = "JOB_ID"
+
+ if "+hdf5" in spec:
+ if self.version < Version("3.3.2"):
+ extra_args.append("--enable-hdf5-mod=%s" % spec["hdf5"].prefix)
else:
- extra_args.append('--enable-hdf5-mod')
- if '+apmpi' in spec:
- extra_args.append('--enable-apmpi-mod')
- if '+apmpi_sync' in spec:
- extra_args.append(['--enable-apmpi-mod',
- '--enable-apmpi-coll-sync'])
- if '+apxc' in spec:
- extra_args.append(['--enable-apxc-mod'])
-
- extra_args.append('--with-mem-align=8')
- extra_args.append('--with-log-path-by-env=DARSHAN_LOG_DIR_PATH')
- extra_args.append('--with-jobid-env=%s' % job_id)
- extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)
-
- if '+mpi' in spec:
- extra_args.append('CC=%s' % self.spec['mpi'].mpicc)
+ extra_args.append("--enable-hdf5-mod")
+ if "+apmpi" in spec:
+ extra_args.append("--enable-apmpi-mod")
+ if "+apmpi_sync" in spec:
+ extra_args.append(["--enable-apmpi-mod", "--enable-apmpi-coll-sync"])
+ if "+apxc" in spec:
+ extra_args.append(["--enable-apxc-mod"])
+
+ extra_args.append("--with-mem-align=8")
+ extra_args.append("--with-log-path-by-env=DARSHAN_LOG_DIR_PATH")
+ extra_args.append("--with-jobid-env=%s" % job_id)
+ extra_args.append("--with-zlib=%s" % spec["zlib"].prefix)
+
+ if "+mpi" in spec:
+ extra_args.append("CC=%s" % self.spec["mpi"].mpicc)
else:
- extra_args.append('CC=%s' % self.compiler.cc)
- extra_args.append('--without-mpi')
+ extra_args.append("CC=%s" % self.compiler.cc)
+ extra_args.append("--without-mpi")
return extra_args
def setup_run_environment(self, env):
# default path for log file, could be user or site specific setting
- darshan_log_dir = os.environ['HOME']
- env.set('DARSHAN_LOG_DIR_PATH', darshan_log_dir)
+ darshan_log_dir = os.environ["HOME"]
+ env.set("DARSHAN_LOG_DIR_PATH", darshan_log_dir)
@property
def basepath(self):
- return join_path('darshan-test',
- join_path('regression',
- join_path('test-cases', 'src')))
+ return join_path("darshan-test", join_path("regression", join_path("test-cases", "src")))
- @run_after('install')
+ @run_after("install")
def _copy_test_inputs(self):
- test_inputs = [
- join_path(self.basepath, 'mpi-io-test.c')]
+ test_inputs = [join_path(self.basepath, "mpi-io-test.c")]
self.cache_extra_test_sources(test_inputs)
def _test_intercept(self):
testdir = "intercept-test"
with working_dir(testdir, create=True):
- if '+mpi' in self.spec:
+ if "+mpi" in self.spec:
# compile a test program
logname = join_path(os.getcwd(), "test.darshan")
- fname = join_path(self.test_suite.current_test_cache_dir,
- join_path(self.basepath, 'mpi-io-test.c'))
- cc = Executable(self.spec['mpi'].mpicc)
- compile_opt = ['-c', fname]
- link_opt = ['-o', "mpi-io-test", 'mpi-io-test.o']
+ fname = join_path(
+ self.test_suite.current_test_cache_dir,
+ join_path(self.basepath, "mpi-io-test.c"),
+ )
+ cc = Executable(self.spec["mpi"].mpicc)
+ compile_opt = ["-c", fname]
+ link_opt = ["-o", "mpi-io-test", "mpi-io-test.o"]
cc(*(compile_opt))
cc(*(link_opt))
# run test program and intercept
purpose = "Test running code built against darshan"
exe = "./mpi-io-test"
- options = ['-f', 'tmp.dat']
+ options = ["-f", "tmp.dat"]
status = [0]
installed = False
- expected_output = [r"Write bandwidth = \d+.\d+ Mbytes/sec",
- r"Read bandwidth = \d+.\d+ Mbytes/sec"]
- env['LD_PRELOAD'] = 'libdarshan.so'
- env['DARSHAN_LOGFILE'] = logname
- self.run_test(exe,
- options,
- expected_output,
- status,
- installed,
- purpose,
- skip_missing=False,
- work_dir=None)
- env.pop('LD_PRELOAD')
+ expected_output = [
+ r"Write bandwidth = \d+.\d+ Mbytes/sec",
+ r"Read bandwidth = \d+.\d+ Mbytes/sec",
+ ]
+ env["LD_PRELOAD"] = "libdarshan.so"
+ env["DARSHAN_LOGFILE"] = logname
+ self.run_test(
+ exe,
+ options,
+ expected_output,
+ status,
+ installed,
+ purpose,
+ skip_missing=False,
+ work_dir=None,
+ )
+ env.pop("LD_PRELOAD")
import llnl.util.tty as tty
@@ -178,18 +200,18 @@ class DarshanRuntime(AutotoolsPackage):
print("PASSED")
tty.msg("Test for size of log:")
if not sr.st_size > 0:
- exc = BaseException('log size is 0')
+ exc = BaseException("log size is 0")
m = None
- if spack.config.get('config:fail_fast', False):
+ if spack.config.get("config:fail_fast", False):
raise TestFailure([(exc, m)])
else:
self.test_failures.append((exc, m))
else:
print("PASSED")
else:
- exc = BaseException('log does not exist')
+ exc = BaseException("log does not exist")
m = None
- if spack.config.get('config:fail_fast', False):
+ if spack.config.get("config:fail_fast", False):
raise TestFailure([(exc, m)])
else:
self.test_failures.append((exc, m))
diff --git a/var/spack/repos/builtin/packages/darshan-util/package.py b/var/spack/repos/builtin/packages/darshan-util/package.py
index 1d0206ab5f..645b9c274d 100644
--- a/var/spack/repos/builtin/packages/darshan-util/package.py
+++ b/var/spack/repos/builtin/packages/darshan-util/package.py
@@ -13,83 +13,95 @@ class DarshanUtil(AutotoolsPackage):
log files produced by Darshan (runtime)."""
homepage = "https://www.mcs.anl.gov/research/projects/darshan/"
- url = "https://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz"
- git = "https://github.com/darshan-hpc/darshan.git"
-
- maintainers = ['shanedsnyder', 'carns']
-
- tags = ['e4s']
-
- version('main', branch='main', submodules='True')
- version('3.4.0', sha256='7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842', preferred=True)
- version('3.4.0-pre1', sha256='57d0fd40329b9f8a51bdc9d7635b646692b341d80339115ab203357321706c09')
- version('3.3.1', sha256='281d871335977d0592a49d053df93d68ce1840f6fdec27fea7a59586a84395f7')
- version('3.3.0', sha256='2e8bccf28acfa9f9394f2084ec18122c66e45d966087fa2e533928e824fcb57a')
- version('3.3.0-pre2', sha256='0fc09f86f935132b7b05df981b05cdb3796a1ea02c7acd1905323691df65e761')
- version('3.3.0-pre1', sha256='1c655359455b5122921091bab9961491be58a5f0158f073d09fe8cc772bd0812')
- version('3.2.1', sha256='d63048b7a3d1c4de939875943e3e7a2468a9034fcb68585edbc87f57f622e7f7')
- version('3.2.0', sha256='4035435bdc0fa2a678247fbf8d5a31dfeb3a133baf06577786b1fe8d00a31b7e')
- version('3.1.8', sha256='3ed51c8d5d93b4a8cbb7d53d13052140a9dffe0bc1a3e1ebfc44a36a184b5c82')
- version('3.1.7', sha256='9ba535df292727ac1e8025bdf2dc42942715205cad8319d925723fd88709e8d6')
- version('3.1.6', sha256='21cb24e2a971c45e04476e00441b7fbea63d2afa727a5cf8b7a4a9d9004dd856')
- version('3.1.0', sha256='b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c')
- version('3.0.0', sha256='95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0')
-
- variant('bzip2', default=False, description="Enable bzip2 compression")
- variant('apmpi', default=False, description='Compile with AutoPerf MPI module support')
- variant('apxc', default=False, description='Compile with AutoPerf XC module support')
-
- depends_on('zlib')
- depends_on('bzip2', when="+bzip2", type=("build", "link", "run"))
- depends_on('autoconf', type='build', when='@main')
- depends_on('automake', type='build', when='@main')
- depends_on('libtool', type='build', when='@main')
- depends_on('m4', type='build', when='@main')
- depends_on('autoconf', type='build', when='@3.4.0:')
- depends_on('automake', type='build', when='@3.4.0:')
- depends_on('libtool', type='build', when='@3.4.0:')
- depends_on('m4', type='build', when='@3.4.0:')
-
- patch('retvoid.patch', when='@3.2.0:3.2.1')
-
- conflicts('+apmpi', when='@:3.2.1',
- msg='+apmpi variant only available starting from version 3.3.0')
- conflicts('+apxc', when='@:3.2.1',
- msg='+apxc variant only available starting from version 3.3.0')
+ url = "https://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz"
+ git = "https://github.com/darshan-hpc/darshan.git"
+
+ maintainers = ["shanedsnyder", "carns"]
+
+ tags = ["e4s"]
+
+ version("main", branch="main", submodules="True")
+ version(
+ "3.4.0",
+ sha256="7cc88b7c130ec3b574f6b73c63c3c05deec67b1350245de6d39ca91d4cff0842",
+ preferred=True,
+ )
+ version(
+ "3.4.0-pre1", sha256="57d0fd40329b9f8a51bdc9d7635b646692b341d80339115ab203357321706c09"
+ )
+ version("3.3.1", sha256="281d871335977d0592a49d053df93d68ce1840f6fdec27fea7a59586a84395f7")
+ version("3.3.0", sha256="2e8bccf28acfa9f9394f2084ec18122c66e45d966087fa2e533928e824fcb57a")
+ version(
+ "3.3.0-pre2", sha256="0fc09f86f935132b7b05df981b05cdb3796a1ea02c7acd1905323691df65e761"
+ )
+ version(
+ "3.3.0-pre1", sha256="1c655359455b5122921091bab9961491be58a5f0158f073d09fe8cc772bd0812"
+ )
+ version("3.2.1", sha256="d63048b7a3d1c4de939875943e3e7a2468a9034fcb68585edbc87f57f622e7f7")
+ version("3.2.0", sha256="4035435bdc0fa2a678247fbf8d5a31dfeb3a133baf06577786b1fe8d00a31b7e")
+ version("3.1.8", sha256="3ed51c8d5d93b4a8cbb7d53d13052140a9dffe0bc1a3e1ebfc44a36a184b5c82")
+ version("3.1.7", sha256="9ba535df292727ac1e8025bdf2dc42942715205cad8319d925723fd88709e8d6")
+ version("3.1.6", sha256="21cb24e2a971c45e04476e00441b7fbea63d2afa727a5cf8b7a4a9d9004dd856")
+ version("3.1.0", sha256="b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c")
+ version("3.0.0", sha256="95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0")
+
+ variant("bzip2", default=False, description="Enable bzip2 compression")
+ variant("apmpi", default=False, description="Compile with AutoPerf MPI module support")
+ variant("apxc", default=False, description="Compile with AutoPerf XC module support")
+
+ depends_on("zlib")
+ depends_on("bzip2", when="+bzip2", type=("build", "link", "run"))
+ depends_on("autoconf", type="build", when="@main")
+ depends_on("automake", type="build", when="@main")
+ depends_on("libtool", type="build", when="@main")
+ depends_on("m4", type="build", when="@main")
+ depends_on("autoconf", type="build", when="@3.4.0:")
+ depends_on("automake", type="build", when="@3.4.0:")
+ depends_on("libtool", type="build", when="@3.4.0:")
+ depends_on("m4", type="build", when="@3.4.0:")
+
+ patch("retvoid.patch", when="@3.2.0:3.2.1")
+
+ conflicts(
+ "+apmpi", when="@:3.2.1", msg="+apmpi variant only available starting from version 3.3.0"
+ )
+ conflicts(
+ "+apxc", when="@:3.2.1", msg="+apxc variant only available starting from version 3.3.0"
+ )
@property
def configure_directory(self):
- return 'darshan-util'
+ return "darshan-util"
def configure_args(self):
spec = self.spec
extra_args = []
- extra_args.append('CC=%s' % self.compiler.cc)
- extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)
- if '+apmpi' in spec:
- if self.version < Version('3.3.2'):
- extra_args.append('--enable-autoperf-apmpi')
+ extra_args.append("CC=%s" % self.compiler.cc)
+ extra_args.append("--with-zlib=%s" % spec["zlib"].prefix)
+ if "+apmpi" in spec:
+ if self.version < Version("3.3.2"):
+ extra_args.append("--enable-autoperf-apmpi")
else:
- extra_args.append('--enable-apmpi-mod')
- if '+apxc' in spec:
- if self.version < Version('3.3.2'):
- extra_args.append('--enable-autoperf-apxc')
+ extra_args.append("--enable-apmpi-mod")
+ if "+apxc" in spec:
+ if self.version < Version("3.3.2"):
+ extra_args.append("--enable-autoperf-apxc")
else:
- extra_args.append('--enable-apxc-mod')
+ extra_args.append("--enable-apxc-mod")
return extra_args
@property
def basepath(self):
- return join_path('darshan-test', 'example-output')
+ return join_path("darshan-test", "example-output")
- @run_after('install')
+ @run_after("install")
def _copy_test_inputs(self):
# add darshan-test/example-output/mpi-io-test-spack-expected.txt"
test_inputs = [
- join_path(self.basepath,
- "mpi-io-test-x86_64-{0}.darshan".format(self.spec.version))]
+ join_path(self.basepath, "mpi-io-test-x86_64-{0}.darshan".format(self.spec.version))
+ ]
self.cache_extra_test_sources(test_inputs)
def _test_parser(self):
@@ -99,24 +111,28 @@ class DarshanUtil(AutotoolsPackage):
# filename = self.test_suite.current_test_cache_dir.
# join(join_path(self.basepath, "mpi-io-test-spack-expected.txt"))
# expected_output = self.get_escaped_text_output(filename)
- expected_output = [r"POSIX\s+-1\s+\w+\s+POSIX_OPENS\s+\d+",
- r"MPI-IO\s+-1\s+\w+\s+MPIIO_INDEP_OPENS\s+\d+",
- r"STDIO\s+0\s+\w+\s+STDIO_OPENS\s+\d+"]
+ expected_output = [
+ r"POSIX\s+-1\s+\w+\s+POSIX_OPENS\s+\d+",
+ r"MPI-IO\s+-1\s+\w+\s+MPIIO_INDEP_OPENS\s+\d+",
+ r"STDIO\s+0\s+\w+\s+STDIO_OPENS\s+\d+",
+ ]
logname = self.test_suite.current_test_cache_dir.join(
- join_path(self.basepath,
- "mpi-io-test-x86_64-{0}.darshan".format(self.spec.version)))
- exe = 'darshan-parser'
+ join_path(self.basepath, "mpi-io-test-x86_64-{0}.darshan".format(self.spec.version))
+ )
+ exe = "darshan-parser"
options = [logname]
status = [0]
installed = True
- self.run_test(exe,
- options,
- expected_output,
- status,
- installed,
- purpose,
- skip_missing=False,
- work_dir=None)
+ self.run_test(
+ exe,
+ options,
+ expected_output,
+ status,
+ installed,
+ purpose,
+ skip_missing=False,
+ work_dir=None,
+ )
def test(self):
self._test_parser()
diff --git a/var/spack/repos/builtin/packages/dash/package.py b/var/spack/repos/builtin/packages/dash/package.py
index 6856795996..8c1bd15cf3 100644
--- a/var/spack/repos/builtin/packages/dash/package.py
+++ b/var/spack/repos/builtin/packages/dash/package.py
@@ -10,20 +10,20 @@ class Dash(AutotoolsPackage):
"""The Debian Almquist Shell."""
homepage = "https://git.kernel.org/pub/scm/utils/dash/dash.git"
- url = "https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/dash-0.5.9.1.tar.gz"
+ url = "https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/dash-0.5.9.1.tar.gz"
list_url = homepage
- version('0.5.9.1', sha256='3f747013a20a3a9d2932be1a6dd1b002ca5649849b649be0af8a8da80bd8a918')
+ version("0.5.9.1", sha256="3f747013a20a3a9d2932be1a6dd1b002ca5649849b649be0af8a8da80bd8a918")
- depends_on('libedit', type='link')
+ depends_on("libedit", type="link")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def configure_args(self):
# Compile with libedit support
# This allows the use of arrow keys at the command line
# See https://askubuntu.com/questions/704688
- return ['--with-libedit']
+ return ["--with-libedit"]
diff --git a/var/spack/repos/builtin/packages/datamash/package.py b/var/spack/repos/builtin/packages/datamash/package.py
index a046008a51..cae6453837 100644
--- a/var/spack/repos/builtin/packages/datamash/package.py
+++ b/var/spack/repos/builtin/packages/datamash/package.py
@@ -14,10 +14,10 @@ class Datamash(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/datamash/"
gnu_mirror_path = "datamash/datamash-1.0.5.tar.gz"
- version('1.3', sha256='eebb52171a4353aaad01921384098cf54eb96ebfaf99660e017f6d9fc96657a6')
- version('1.1.0', sha256='a9e5acc86af4dd64c7ac7f6554718b40271aa67f7ff6e9819bdd919a25904bb0')
- version('1.0.7', sha256='1a0b300611a5dff89e08e20773252b00f5e2c2d65b2ad789872fc7df94fa8978')
- version('1.0.6', sha256='0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118')
- version('1.0.5', sha256='cb7c0b7bf654eea5bb80f10c1710c8dffab8106549fd6b4341cba140e15a9938')
+ version("1.3", sha256="eebb52171a4353aaad01921384098cf54eb96ebfaf99660e017f6d9fc96657a6")
+ version("1.1.0", sha256="a9e5acc86af4dd64c7ac7f6554718b40271aa67f7ff6e9819bdd919a25904bb0")
+ version("1.0.7", sha256="1a0b300611a5dff89e08e20773252b00f5e2c2d65b2ad789872fc7df94fa8978")
+ version("1.0.6", sha256="0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118")
+ version("1.0.5", sha256="cb7c0b7bf654eea5bb80f10c1710c8dffab8106549fd6b4341cba140e15a9938")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/dataspaces/package.py b/var/spack/repos/builtin/packages/dataspaces/package.py
index 5beccc427d..eb1139c553 100644
--- a/var/spack/repos/builtin/packages/dataspaces/package.py
+++ b/var/spack/repos/builtin/packages/dataspaces/package.py
@@ -20,58 +20,51 @@ class Dataspaces(AutotoolsPackage):
"""an extreme scale data management framework."""
homepage = "http://www.dataspaces.org"
- url = "https://dataspaces.rdi2.rutgers.edu/downloads/dataspaces-1.6.2.tar.gz"
+ url = "https://dataspaces.rdi2.rutgers.edu/downloads/dataspaces-1.6.2.tar.gz"
- version('1.8.0', sha256='7f204bb3c03c2990f5a2d76a29185466b584793c63ada03e5e694627e6060605')
- version('1.6.2', sha256='3c43d551c1e8198a4ab269c83928e1dc6f8054e6d41ceaee45155d91a48cf9bf')
+ version("1.8.0", sha256="7f204bb3c03c2990f5a2d76a29185466b584793c63ada03e5e694627e6060605")
+ version("1.6.2", sha256="3c43d551c1e8198a4ab269c83928e1dc6f8054e6d41ceaee45155d91a48cf9bf")
- variant('dimes',
- default=False,
- description='enabled DIMES transport mode')
- variant('cray-drc',
- default=False,
- description='using Cray Dynamic Credentials library')
- variant('gni-cookie',
- default='0x5420000',
- description='Cray UGNI communication token',
- values=is_string)
- variant('ptag',
- default='250',
- description='Cray UGNI protection tag',
- values=is_string)
- variant('mpi',
- default=True,
- description='Use MPI for collective communication')
+ variant("dimes", default=False, description="enabled DIMES transport mode")
+ variant("cray-drc", default=False, description="using Cray Dynamic Credentials library")
+ variant(
+ "gni-cookie",
+ default="0x5420000",
+ description="Cray UGNI communication token",
+ values=is_string,
+ )
+ variant("ptag", default="250", description="Cray UGNI protection tag", values=is_string)
+ variant("mpi", default=True, description="Use MPI for collective communication")
- depends_on('m4', type='build')
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('mpi', when='+mpi')
+ depends_on("m4", type="build")
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("mpi", when="+mpi")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def setup_build_environment(self, env):
- if self.spec.satisfies('+mpi'):
- env.set('CC', self.spec['mpi'].mpicc)
- env.set('FC', self.spec['mpi'].mpifc)
+ if self.spec.satisfies("+mpi"):
+ env.set("CC", self.spec["mpi"].mpicc)
+ env.set("FC", self.spec["mpi"].mpifc)
- env.set('CFLAGS', self.compiler.cc_pic_flag)
+ env.set("CFLAGS", self.compiler.cc_pic_flag)
- if '%gcc@10:' in self.spec:
- env.set('FCFLAGS', '-fallow-argument-mismatch')
+ if "%gcc@10:" in self.spec:
+ env.set("FCFLAGS", "-fallow-argument-mismatch")
def configure_args(self):
args = []
- cookie = self.spec.variants['gni-cookie'].value
- ptag = self.spec.variants['ptag'].value
- if self.spec.satisfies('+dimes'):
- args.append('--enable-dimes')
- if self.spec.satisfies('+cray-drc'):
- args.append('--enable-drc')
+ cookie = self.spec.variants["gni-cookie"].value
+ ptag = self.spec.variants["ptag"].value
+ if self.spec.satisfies("+dimes"):
+ args.append("--enable-dimes")
+ if self.spec.satisfies("+cray-drc"):
+ args.append("--enable-drc")
else:
- args.append('--with-gni-cookie=%s' % cookie)
- args.append('--with-gni-ptag=%s' % ptag)
+ args.append("--with-gni-cookie=%s" % cookie)
+ args.append("--with-gni-ptag=%s" % ptag)
return args
diff --git a/var/spack/repos/builtin/packages/datatransferkit/package.py b/var/spack/repos/builtin/packages/datatransferkit/package.py
index 6bccb3c42d..071c280c3e 100644
--- a/var/spack/repos/builtin/packages/datatransferkit/package.py
+++ b/var/spack/repos/builtin/packages/datatransferkit/package.py
@@ -11,47 +11,49 @@ class Datatransferkit(CMakePackage):
parallel solution transfer services for multiphysics simulations"""
homepage = "https://datatransferkit.readthedoc.io"
- url = "https://github.com/ORNL-CEES/DataTransferKit/archive/3.1-rc3.tar.gz"
- git = "https://github.com/ORNL-CEES/DataTransferKit.git"
-
- tags = ['e4s']
-
- maintainers = ['Rombur']
-
- version('master', branch='master', submodules=True)
- version('3.1-rc3', commit='691d5a1540f7cd42141a3b3d2a7c8370cbc3560a', submodules=True)
- version('3.1-rc2', commit='1abc1a43b33dffc7a16d7497b4185d09d865e36a', submodules=True)
-
- variant('external-arborx', default=False,
- description='use an external ArborX library instead of the submodule')
- variant('openmp', default=False, description='enable OpenMP backend')
- variant('serial', default=True, description='enable Serial backend (default)')
- variant('shared', default=True,
- description='enable the build of shared lib')
-
- depends_on('arborx@1.0:', when='+external-arborx')
- depends_on('boost')
- depends_on('cmake', type='build')
- depends_on('trilinos+intrepid2+shards~dtk')
- depends_on('trilinos+openmp', when='+openmp')
- depends_on('trilinos+stratimikos+belos', when='@master')
- depends_on('trilinos@13:', when='@3.1-rc2:')
+ url = "https://github.com/ORNL-CEES/DataTransferKit/archive/3.1-rc3.tar.gz"
+ git = "https://github.com/ORNL-CEES/DataTransferKit.git"
+
+ tags = ["e4s"]
+
+ maintainers = ["Rombur"]
+
+ version("master", branch="master", submodules=True)
+ version("3.1-rc3", commit="691d5a1540f7cd42141a3b3d2a7c8370cbc3560a", submodules=True)
+ version("3.1-rc2", commit="1abc1a43b33dffc7a16d7497b4185d09d865e36a", submodules=True)
+
+ variant(
+ "external-arborx",
+ default=False,
+ description="use an external ArborX library instead of the submodule",
+ )
+ variant("openmp", default=False, description="enable OpenMP backend")
+ variant("serial", default=True, description="enable Serial backend (default)")
+ variant("shared", default=True, description="enable the build of shared lib")
+
+ depends_on("arborx@1.0:", when="+external-arborx")
+ depends_on("boost")
+ depends_on("cmake", type="build")
+ depends_on("trilinos+intrepid2+shards~dtk")
+ depends_on("trilinos+openmp", when="+openmp")
+ depends_on("trilinos+stratimikos+belos", when="@master")
+ depends_on("trilinos@13:", when="@3.1-rc2:")
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant
options = [
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DDataTransferKit_ENABLE_DataTransferKit=ON',
- from_variant('DataTransferKit_ENABLE_ArborX_TPL', 'external-arborx'),
- '-DDataTransferKit_ENABLE_TESTS=OFF',
- '-DDataTransferKit_ENABLE_EXAMPLES=OFF',
- '-DCMAKE_CXX_EXTENSIONS=OFF',
- '-DCMAKE_CXX_STANDARD=14',
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DDataTransferKit_ENABLE_DataTransferKit=ON",
+ from_variant("DataTransferKit_ENABLE_ArborX_TPL", "external-arborx"),
+ "-DDataTransferKit_ENABLE_TESTS=OFF",
+ "-DDataTransferKit_ENABLE_EXAMPLES=OFF",
+ "-DCMAKE_CXX_EXTENSIONS=OFF",
+ "-DCMAKE_CXX_STANDARD=14",
]
- if '+openmp' in spec:
- options.append('-DDataTransferKit_ENABLE_OpenMP=ON')
+ if "+openmp" in spec:
+ options.append("-DDataTransferKit_ENABLE_OpenMP=ON")
return options
diff --git a/var/spack/repos/builtin/packages/date/package.py b/var/spack/repos/builtin/packages/date/package.py
index e7f981b2aa..8d15aa97f4 100644
--- a/var/spack/repos/builtin/packages/date/package.py
+++ b/var/spack/repos/builtin/packages/date/package.py
@@ -10,41 +10,45 @@ class Date(CMakePackage):
"""A date and time library based on the C++11/14/17 <chrono> header"""
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',
- default='17',
- values=('11', '14', '17'),
- description='Use the specified C++ standard when building')
- variant('shared',
- default=False,
- description='Build shared instead of static libraries')
- variant('tz', default=False, description='Build/install of TZ library')
- variant('tzdb',
- default='download',
- values=('download', 'system', 'manual'),
- description="Timezone database source (automatic download, use "
- "operating system's database, or manually specify)")
-
- depends_on('cmake@3.7.0:', type='build')
- depends_on('curl', when='+tz tzdb=download')
+ 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",
+ default="17",
+ values=("11", "14", "17"),
+ description="Use the specified C++ standard when building",
+ )
+ variant("shared", default=False, description="Build shared instead of static libraries")
+ variant("tz", default=False, description="Build/install of TZ library")
+ variant(
+ "tzdb",
+ default="download",
+ values=("download", "system", "manual"),
+ description="Timezone database source (automatic download, use "
+ "operating system's database, or manually specify)",
+ )
+
+ depends_on("cmake@3.7.0:", type="build")
+ depends_on("curl", when="+tz tzdb=download")
def cmake_args(self):
spec = self.spec
args = [
- self.define('CMAKE_CXX_STANDARD', spec.variants['cxxstd'].value),
- self.define('CMAKE_CXX_STANDARD_REQUIRED', True),
- self.define('BUILD_SHARED_LIBS', '+shared' in spec),
- self.define('BUILD_TZ_LIB', '+tz' in spec),
+ self.define("CMAKE_CXX_STANDARD", spec.variants["cxxstd"].value),
+ self.define("CMAKE_CXX_STANDARD_REQUIRED", True),
+ self.define("BUILD_SHARED_LIBS", "+shared" in spec),
+ self.define("BUILD_TZ_LIB", "+tz" in spec),
]
- tzdb = spec.variants['tzdb'].value
- args.extend([
- self.define('USE_SYSTEM_TZ_DB', tzdb == 'system'),
- self.define('MANUAL_TZ_DB', tzdb == 'manual'),
- ])
+ tzdb = spec.variants["tzdb"].value
+ args.extend(
+ [
+ self.define("USE_SYSTEM_TZ_DB", tzdb == "system"),
+ self.define("MANUAL_TZ_DB", tzdb == "manual"),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/dateutils/package.py b/var/spack/repos/builtin/packages/dateutils/package.py
index 9b4655ae47..765a8e4bca 100644
--- a/var/spack/repos/builtin/packages/dateutils/package.py
+++ b/var/spack/repos/builtin/packages/dateutils/package.py
@@ -11,10 +11,10 @@ class Dateutils(AutotoolsPackage):
when dealing with large amounts of financial data."""
homepage = "https://www.fresse.org/dateutils/"
- url = "https://github.com/hroptatyr/dateutils/releases/download/v0.4.6/dateutils-0.4.6.tar.xz"
+ url = "https://github.com/hroptatyr/dateutils/releases/download/v0.4.6/dateutils-0.4.6.tar.xz"
- version('0.4.7', sha256='49725457f5bef45ea424baade8999a6e54496e357f64280474ff7134a54f599a')
- version('0.4.6', sha256='26a071317ae5710f226a3e6ba9a54d3764cd9efe3965aecc18e75372088757cd')
- version('0.4.5', sha256='16d6a0fe7b7d49ddbb303f33538dd7304a0d4af5a0369bcbf275db6a5060cbde')
+ version("0.4.7", sha256="49725457f5bef45ea424baade8999a6e54496e357f64280474ff7134a54f599a")
+ version("0.4.6", sha256="26a071317ae5710f226a3e6ba9a54d3764cd9efe3965aecc18e75372088757cd")
+ version("0.4.5", sha256="16d6a0fe7b7d49ddbb303f33538dd7304a0d4af5a0369bcbf275db6a5060cbde")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/davix/package.py b/var/spack/repos/builtin/packages/davix/package.py
index 18fb4fcdb0..505ae19101 100644
--- a/var/spack/repos/builtin/packages/davix/package.py
+++ b/var/spack/repos/builtin/packages/davix/package.py
@@ -10,30 +10,31 @@ class Davix(CMakePackage):
"""High-performance file management over WebDAV/HTTP."""
homepage = "https://davix.web.cern.ch/davix/docs/devel/index.html"
- url = "https://github.com/cern-fts/davix/releases/download/R_0_8_1/davix-0.8.1.tar.gz"
-
- version('0.8.1', sha256='3f42f4eadaf560ab80984535ffa096d3e88287d631960b2193e84cf29a5fe3a6')
- version('0.8.0', sha256='2f108da0408a83fb5b9f0c68150d360ba733e4b3a0fe298d45b0d32d28ab7124')
- version('0.7.6', sha256='a2e7fdff29f7ba247a3bcdb08ab1db6d6ed745de2d3971b46526986caf360673')
- version('0.7.5', sha256='d920ca976846875d83af4dc50c99280bb3741fcf8351d5733453e70fa5fe6fc8')
- version('0.7.3', sha256='cd46276e72c6a0da1e2ad30eb66ec509a4c023687767c62a66713fa8c23d328a')
- version('0.6.9', sha256='fbd97eb5fdf82ca48770d06bf8e2805b35f23255478aa381a9d25a49eb98e348')
- version('0.6.8', sha256='e1820f4cc3fc44858ae97197a3922cce2a1130ff553b080ba19e06eb8383ddf7')
-
- variant('cxxstd',
- default='11',
- values=('11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
-
- depends_on('pkgconfig', type='build')
- depends_on('libxml2')
- depends_on('uuid')
- depends_on('openssl')
+ url = "https://github.com/cern-fts/davix/releases/download/R_0_8_1/davix-0.8.1.tar.gz"
+
+ version("0.8.1", sha256="3f42f4eadaf560ab80984535ffa096d3e88287d631960b2193e84cf29a5fe3a6")
+ version("0.8.0", sha256="2f108da0408a83fb5b9f0c68150d360ba733e4b3a0fe298d45b0d32d28ab7124")
+ version("0.7.6", sha256="a2e7fdff29f7ba247a3bcdb08ab1db6d6ed745de2d3971b46526986caf360673")
+ version("0.7.5", sha256="d920ca976846875d83af4dc50c99280bb3741fcf8351d5733453e70fa5fe6fc8")
+ version("0.7.3", sha256="cd46276e72c6a0da1e2ad30eb66ec509a4c023687767c62a66713fa8c23d328a")
+ version("0.6.9", sha256="fbd97eb5fdf82ca48770d06bf8e2805b35f23255478aa381a9d25a49eb98e348")
+ version("0.6.8", sha256="e1820f4cc3fc44858ae97197a3922cce2a1130ff553b080ba19e06eb8383ddf7")
+
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+
+ depends_on("pkgconfig", type="build")
+ depends_on("libxml2")
+ depends_on("uuid")
+ depends_on("openssl")
def cmake_args(self):
- cmake_args = ['-DCMAKE_CXX_STANDARD={0}'.format(
- self.spec.variants['cxxstd'].value)]
- if 'darwin' in self.spec.architecture:
- cmake_args.append('-DCMAKE_MACOSX_RPATH=ON')
+ cmake_args = ["-DCMAKE_CXX_STANDARD={0}".format(self.spec.variants["cxxstd"].value)]
+ if "darwin" in self.spec.architecture:
+ cmake_args.append("-DCMAKE_MACOSX_RPATH=ON")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/dbcsr/package.py b/var/spack/repos/builtin/packages/dbcsr/package.py
index f2b2ea4bf4..1b63fcdeb7 100644
--- a/var/spack/repos/builtin/packages/dbcsr/package.py
+++ b/var/spack/repos/builtin/packages/dbcsr/package.py
@@ -9,147 +9,145 @@ from spack.package import *
class Dbcsr(CMakePackage, CudaPackage, ROCmPackage):
"""Distributed Block Compressed Sparse Row matrix library."""
- homepage = 'https://github.com/cp2k/dbcsr'
- git = 'https://github.com/cp2k/dbcsr.git'
- url = 'https://github.com/cp2k/dbcsr/releases/download/v2.2.0/dbcsr-2.2.0.tar.gz'
- list_url = 'https://github.com/cp2k/dbcsr/releases'
-
- maintainers = ['dev-zero']
-
- version('develop', branch='develop')
- version('2.2.0', sha256='245b0382ddc7b80f85af8288f75bd03d56ec51cdfb6968acb4931529b35173ec')
- version('2.1.0', sha256='9e58fd998f224632f356e479d18b5032570d00d87b86736b6a6ac2d03f8d4b3c')
- version('2.0.1', sha256='61d5531b661e1dab043353a1d67939ddcde3893d3dc7b0ab3d05074d448b485c')
-
- variant('mpi', default=True, description='Compile with MPI')
- variant('openmp', default=False, description='Build with OpenMP support')
- variant('shared', default=True, description='Build shared library')
- variant('smm', default='libxsmm', values=('libxsmm', 'blas'),
- description='Library for small matrix multiplications')
- variant('cuda_arch_35_k20x', default=False,
- description=('CP2K (resp. DBCSR) has specific parameter sets for'
- ' different GPU models. Enable this when building'
- ' with cuda_arch=35 for a K20x instead of a K40'))
-
- variant('opencl', default=False, description='Enable OpenCL backend')
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('libxsmm@1.11:~header-only', when='smm=libxsmm')
-
- depends_on('cmake@3.17:', type='build', when='@2.1:')
- depends_on('cmake@3.10:', type='build')
- depends_on('py-fypp', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('python@3.6:', type='build', when='+cuda')
-
- depends_on('hipblas', when='+rocm')
-
- depends_on('opencl', when='+opencl')
+ homepage = "https://github.com/cp2k/dbcsr"
+ git = "https://github.com/cp2k/dbcsr.git"
+ url = "https://github.com/cp2k/dbcsr/releases/download/v2.2.0/dbcsr-2.2.0.tar.gz"
+ list_url = "https://github.com/cp2k/dbcsr/releases"
+
+ maintainers = ["dev-zero"]
+
+ version("develop", branch="develop")
+ version("2.2.0", sha256="245b0382ddc7b80f85af8288f75bd03d56ec51cdfb6968acb4931529b35173ec")
+ version("2.1.0", sha256="9e58fd998f224632f356e479d18b5032570d00d87b86736b6a6ac2d03f8d4b3c")
+ version("2.0.1", sha256="61d5531b661e1dab043353a1d67939ddcde3893d3dc7b0ab3d05074d448b485c")
+
+ variant("mpi", default=True, description="Compile with MPI")
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("shared", default=True, description="Build shared library")
+ variant(
+ "smm",
+ default="libxsmm",
+ values=("libxsmm", "blas"),
+ description="Library for small matrix multiplications",
+ )
+ variant(
+ "cuda_arch_35_k20x",
+ default=False,
+ description=(
+ "CP2K (resp. DBCSR) has specific parameter sets for"
+ " different GPU models. Enable this when building"
+ " with cuda_arch=35 for a K20x instead of a K40"
+ ),
+ )
+
+ variant("opencl", default=False, description="Enable OpenCL backend")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("libxsmm@1.11:~header-only", when="smm=libxsmm")
+
+ depends_on("cmake@3.17:", type="build", when="@2.1:")
+ depends_on("cmake@3.10:", type="build")
+ depends_on("py-fypp", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@3.6:", type="build", when="+cuda")
+
+ depends_on("hipblas", when="+rocm")
+
+ depends_on("opencl", when="+opencl")
# We only support specific gpu archs for which we have parameter files
# for optimal kernels. Note that we don't override the parent class arch
# properties, since the parent class defines constraints for different archs
# Instead just mark all unsupported cuda archs as conflicting.
- dbcsr_cuda_archs = ('35', '37', '60', '70')
- cuda_msg = 'dbcsr only supports cuda_arch {0}'.format(dbcsr_cuda_archs)
+ dbcsr_cuda_archs = ("35", "37", "60", "70")
+ cuda_msg = "dbcsr only supports cuda_arch {0}".format(dbcsr_cuda_archs)
for arch in CudaPackage.cuda_arch_values:
if arch not in dbcsr_cuda_archs:
- conflicts('+cuda', when='cuda_arch={0}'.format(arch), msg=cuda_msg)
+ conflicts("+cuda", when="cuda_arch={0}".format(arch), msg=cuda_msg)
- conflicts('+cuda', when='cuda_arch=none', msg=cuda_msg)
+ conflicts("+cuda", when="cuda_arch=none", msg=cuda_msg)
- dbcsr_amdgpu_targets = ('gfx906')
- amd_msg = 'DBCSR only supports amdgpu_target {0}'.format(dbcsr_amdgpu_targets)
+ dbcsr_amdgpu_targets = "gfx906"
+ amd_msg = "DBCSR only supports amdgpu_target {0}".format(dbcsr_amdgpu_targets)
for arch in ROCmPackage.amdgpu_targets:
if arch not in dbcsr_amdgpu_targets:
- conflicts('+rocm', when='amdgpu_target={0}'.format(arch), msg=amd_msg)
+ conflicts("+rocm", when="amdgpu_target={0}".format(arch), msg=amd_msg)
accel_msg = "CUDA, ROCm and OpenCL support are mutually exlusive"
- conflicts('+cuda', when='+rocm', msg=accel_msg)
- conflicts('+cuda', when='+opencl', msg=accel_msg)
- conflicts('+rocm', when='+opencl', msg=accel_msg)
+ conflicts("+cuda", when="+rocm", msg=accel_msg)
+ conflicts("+cuda", when="+opencl", msg=accel_msg)
+ conflicts("+rocm", when="+opencl", msg=accel_msg)
# Require openmp threading for OpenBLAS by making other options conflict
- conflicts('^openblas threads=pthreads', when='+openmp')
- conflicts('^openblas threads=none', when='+openmp')
+ conflicts("^openblas threads=pthreads", when="+openmp")
+ conflicts("^openblas threads=none", when="+openmp")
- conflicts('smm=blas', when='+opencl')
+ conflicts("smm=blas", when="+opencl")
- generator = 'Ninja'
- depends_on('ninja@1.10:', type='build')
+ generator = "Ninja"
+ depends_on("ninja@1.10:", type="build")
def cmake_args(self):
spec = self.spec
- if '+cuda' in spec and len(spec.variants['cuda_arch'].value) > 1:
+ if "+cuda" in spec and len(spec.variants["cuda_arch"].value) > 1:
raise InstallError("dbcsr supports only one cuda_arch at a time")
- if '+rocm' in spec and len(spec.variants['amdgpu_target'].value) > 1:
+ if "+rocm" in spec and len(spec.variants["amdgpu_target"].value) > 1:
raise InstallError("DBCSR supports only one amdgpu_arch at a time")
args = [
- '-DUSE_SMM=%s' % ('libxsmm' if 'smm=libxsmm' in spec else 'blas'),
- self.define_from_variant('USE_MPI', 'mpi'),
- self.define_from_variant('USE_OPENMP', 'openmp'),
+ "-DUSE_SMM=%s" % ("libxsmm" if "smm=libxsmm" in spec else "blas"),
+ self.define_from_variant("USE_MPI", "mpi"),
+ self.define_from_variant("USE_OPENMP", "openmp"),
# C API needs MPI
- self.define_from_variant('WITH_C_API', 'mpi'),
- '-DBLAS_FOUND=true',
- '-DBLAS_LIBRARIES=%s' % (spec['blas'].libs.joined(';')),
- '-DLAPACK_FOUND=true',
- '-DLAPACK_LIBRARIES=%s' % (spec['lapack'].libs.joined(';')),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant("WITH_C_API", "mpi"),
+ "-DBLAS_FOUND=true",
+ "-DBLAS_LIBRARIES=%s" % (spec["blas"].libs.joined(";")),
+ "-DLAPACK_FOUND=true",
+ "-DLAPACK_LIBRARIES=%s" % (spec["lapack"].libs.joined(";")),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
# Switch necessary as a result of a bug.
# In version 2.0, this switch doesn't exist yet.
# The issue should be already fixed in 2.3 (not released yet).
- if '@2.1:2.2' in spec:
- args += ['-DBUILD_TESTING=ON']
+ if "@2.1:2.2" in spec:
+ args += ["-DBUILD_TESTING=ON"]
- if self.spec.satisfies('+cuda'):
- cuda_arch = self.spec.variants['cuda_arch'].value[0]
+ if self.spec.satisfies("+cuda"):
+ cuda_arch = self.spec.variants["cuda_arch"].value[0]
gpuver = {
- '35': 'K40',
- '37': 'K80',
- '60': 'P100',
- '70': 'V100',
+ "35": "K40",
+ "37": "K80",
+ "60": "P100",
+ "70": "V100",
}[cuda_arch]
- if (cuda_arch == '35'
- and self.spec.satisfies('+cuda_arch_35_k20x')):
- gpuver = 'K20X'
+ if cuda_arch == "35" and self.spec.satisfies("+cuda_arch_35_k20x"):
+ gpuver = "K20X"
- args += [
- '-DWITH_GPU=%s' % gpuver,
- '-DUSE_ACCEL=cuda'
- ]
+ args += ["-DWITH_GPU=%s" % gpuver, "-DUSE_ACCEL=cuda"]
- if self.spec.satisfies('+rocm'):
- amd_arch = self.spec.variants['amdgpu_target'].value[0]
+ if self.spec.satisfies("+rocm"):
+ amd_arch = self.spec.variants["amdgpu_target"].value[0]
- gpuver = {
- 'gfx906': 'Mi50'
- }[amd_arch]
+ gpuver = {"gfx906": "Mi50"}[amd_arch]
- args += [
- '-DWITH_GPU={0}'.format(gpuver),
- '-DUSE_ACCEL=hip'
- ]
+ args += ["-DWITH_GPU={0}".format(gpuver), "-DUSE_ACCEL=hip"]
- if self.spec.satisfies('+opencl'):
- args += [
- '-DUSE_ACCEL=opencl'
- ]
+ if self.spec.satisfies("+opencl"):
+ args += ["-DUSE_ACCEL=opencl"]
return args
def check(self):
"""Override CMakePackage's check() to enforce seralized test runs
- since they are already parallelized"""
+ since they are already parallelized"""
with working_dir(self.build_directory):
- self._if_ninja_target_execute('test', parallel=False)
+ self._if_ninja_target_execute("test", parallel=False)
diff --git a/var/spack/repos/builtin/packages/dbow2/package.py b/var/spack/repos/builtin/packages/dbow2/package.py
index d1c5733761..90c3f9f1c1 100644
--- a/var/spack/repos/builtin/packages/dbow2/package.py
+++ b/var/spack/repos/builtin/packages/dbow2/package.py
@@ -13,16 +13,16 @@ class Dbow2(CMakePackage):
representation."""
homepage = "https://github.com/dorian3d/DBoW2"
- git = "https://github.com/dorian3d/DBoW2.git"
+ git = "https://github.com/dorian3d/DBoW2.git"
- version('master', branch='master')
- version('shinsumicco', git='https://github.com/shinsumicco/DBoW2.git', branch='master')
+ version("master", branch="master")
+ version("shinsumicco", git="https://github.com/shinsumicco/DBoW2.git", branch="master")
- depends_on('cmake@3.0:', type='build')
+ depends_on("cmake@3.0:", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('opencv+calib3d+features2d+highgui+imgproc')
- depends_on('dlib')
- depends_on('eigen', type='link')
+ depends_on("opencv+calib3d+features2d+highgui+imgproc")
+ depends_on("dlib")
+ depends_on("eigen", type="link")
diff --git a/var/spack/repos/builtin/packages/dbus-glib/package.py b/var/spack/repos/builtin/packages/dbus-glib/package.py
index a183b1f8c1..bcd8c433f3 100644
--- a/var/spack/repos/builtin/packages/dbus-glib/package.py
+++ b/var/spack/repos/builtin/packages/dbus-glib/package.py
@@ -11,11 +11,11 @@ class DbusGlib(AutotoolsPackage):
"""dbus-glib package provides GLib interface for D-Bus API."""
homepage = "https://dbus.freedesktop.org"
- url = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.110.tar.gz"
+ url = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.110.tar.gz"
- version('0.110', sha256='7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825')
+ version("0.110", sha256="7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825")
- depends_on('pkgconfig', type='build')
- depends_on('expat')
- depends_on('glib')
- depends_on('dbus')
+ depends_on("pkgconfig", type="build")
+ depends_on("expat")
+ depends_on("glib")
+ depends_on("dbus")
diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py
index 5b8b9bd05f..22b7d4d8ec 100644
--- a/var/spack/repos/builtin/packages/dbus/package.py
+++ b/var/spack/repos/builtin/packages/dbus/package.py
@@ -8,40 +8,37 @@ from spack.package import *
class Dbus(Package):
"""D-Bus is a message bus system, a simple way for applications to
- talk to one another. D-Bus supplies both a system daemon (for
- events such new hardware device printer queue ) and a
- per-user-login-session daemon (for general IPC needs among user
- applications). Also, the message bus is built on top of a
- general one-to-one message passing framework, which can be used
- by any two applications to communicate directly (without going
- through the message bus daemon)."""
+ talk to one another. D-Bus supplies both a system daemon (for
+ events such new hardware device printer queue ) and a
+ per-user-login-session daemon (for general IPC needs among user
+ applications). Also, the message bus is built on top of a
+ general one-to-one message passing framework, which can be used
+ by any two applications to communicate directly (without going
+ through the message bus daemon)."""
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')
- version('1.9.0', sha256='38ebc695b5cbbd239e0f149aa5d5395f0051a0fec1b74f21ff2921b22a31c171')
- version('1.8.8', sha256='dfab263649a979d0fff64a30cac374891a8e9940350e41f3bbd7679af32bd1fd')
- version('1.8.6', sha256='eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f')
- version('1.8.4', sha256='3ef63dc8d0111042071ee7f7bafa0650c6ce2d7be957ef0b7ec269495a651ff8')
- version('1.8.2', sha256='5689f7411165adc953f37974e276a3028db94447c76e8dd92efe910c6d3bae08')
-
- depends_on('pkgconfig', type='build')
- depends_on('docbook-xml@4.4', type='build')
- depends_on('docbook-xsl', type='build')
- depends_on('expat')
- depends_on('glib')
- depends_on('libsm')
+ 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")
+ version("1.9.0", sha256="38ebc695b5cbbd239e0f149aa5d5395f0051a0fec1b74f21ff2921b22a31c171")
+ version("1.8.8", sha256="dfab263649a979d0fff64a30cac374891a8e9940350e41f3bbd7679af32bd1fd")
+ version("1.8.6", sha256="eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f")
+ version("1.8.4", sha256="3ef63dc8d0111042071ee7f7bafa0650c6ce2d7be957ef0b7ec269495a651ff8")
+ version("1.8.2", sha256="5689f7411165adc953f37974e276a3028db94447c76e8dd92efe910c6d3bae08")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("docbook-xml@4.4", type="build")
+ depends_on("docbook-xsl", type="build")
+ depends_on("expat")
+ depends_on("glib")
+ depends_on("libsm")
def install(self, spec, prefix):
- configure(
- "--prefix=%s" % prefix,
- "--disable-systemd",
- "--disable-launchd")
+ configure("--prefix=%s" % prefix, "--disable-systemd", "--disable-launchd")
make()
make("install")
# dbus needs a machine id generated after install
- dbus_uuidgen = Executable(join_path(prefix.bin, 'dbus-uuidgen'))
- dbus_uuidgen('--ensure')
+ dbus_uuidgen = Executable(join_path(prefix.bin, "dbus-uuidgen"))
+ dbus_uuidgen("--ensure")
diff --git a/var/spack/repos/builtin/packages/dbxtool/package.py b/var/spack/repos/builtin/packages/dbxtool/package.py
index fb6394eb05..b44ad69da3 100644
--- a/var/spack/repos/builtin/packages/dbxtool/package.py
+++ b/var/spack/repos/builtin/packages/dbxtool/package.py
@@ -10,16 +10,16 @@ class Dbxtool(MakefilePackage):
"""tool for managing dbx updates installed on a machine."""
homepage = "https://github.com/rhboot/dbxtool"
- url = "https://github.com/rhboot/dbxtool/archive/dbxtool-8.tar.gz"
+ url = "https://github.com/rhboot/dbxtool/archive/dbxtool-8.tar.gz"
- version('8', sha256='196d9475f7cf3aa52d8e0c29c20affb7c903512e13895edb6296caf02d4a983b')
- version('7', sha256='486b8a7cf4e149ab9630783e5259d6af70a7022209e1e48fbee9b54c48535c5e')
+ version("8", sha256="196d9475f7cf3aa52d8e0c29c20affb7c903512e13895edb6296caf02d4a983b")
+ version("7", sha256="486b8a7cf4e149ab9630783e5259d6af70a7022209e1e48fbee9b54c48535c5e")
- depends_on('efivar')
- depends_on('popt')
+ depends_on("efivar")
+ depends_on("popt")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['efivar'].prefix.include.efivar)
+ env.prepend_path("CPATH", self.spec["efivar"].prefix.include.efivar)
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/dcap/package.py b/var/spack/repos/builtin/packages/dcap/package.py
index a5a09f915b..db8f7d42e7 100644
--- a/var/spack/repos/builtin/packages/dcap/package.py
+++ b/var/spack/repos/builtin/packages/dcap/package.py
@@ -10,15 +10,15 @@ class Dcap(AutotoolsPackage):
"""dCache access protocol client library."""
homepage = "https://github.com/dCache/dcap"
- url = "https://github.com/dCache/dcap/archive/2.47.12.tar.gz"
+ url = "https://github.com/dCache/dcap/archive/2.47.12.tar.gz"
- version('2.47.12', sha256='050a8d20c241abf358d5d72586f9abc43940e61d9ec9480040ac7da52ec804ac')
+ version("2.47.12", sha256="050a8d20c241abf358d5d72586f9abc43940e61d9ec9480040ac7da52ec804ac")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap.sh')
+ bash = which("bash")
+ bash("./bootstrap.sh")
diff --git a/var/spack/repos/builtin/packages/dcm2niix/package.py b/var/spack/repos/builtin/packages/dcm2niix/package.py
index b641efaf19..81d2a00524 100644
--- a/var/spack/repos/builtin/packages/dcm2niix/package.py
+++ b/var/spack/repos/builtin/packages/dcm2niix/package.py
@@ -11,6 +11,8 @@ 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"
+ url = "https://github.com/rordenlab/dcm2niix/archive/refs/tags/v1.0.20210317.tar.gz"
- version('1.0.20210317', sha256='42fb22458ebfe44036c3d6145dacc6c1dc577ebbb067bedc190ed06f546ee05a')
+ version(
+ "1.0.20210317", sha256="42fb22458ebfe44036c3d6145dacc6c1dc577ebbb067bedc190ed06f546ee05a"
+ )
diff --git a/var/spack/repos/builtin/packages/dcmtk/package.py b/var/spack/repos/builtin/packages/dcmtk/package.py
index ee30c73cdc..2399a677ba 100644
--- a/var/spack/repos/builtin/packages/dcmtk/package.py
+++ b/var/spack/repos/builtin/packages/dcmtk/package.py
@@ -8,63 +8,59 @@ from spack.package import *
class Dcmtk(CMakePackage):
"""DCMTK is a collection of libraries and applications implementing large
- parts of the DICOM standard."""
+ parts of the DICOM standard."""
homepage = "https://dicom.offis.de"
- url = "https://github.com/DCMTK/dcmtk/archive/DCMTK-3.6.3.tar.gz"
+ url = "https://github.com/DCMTK/dcmtk/archive/DCMTK-3.6.3.tar.gz"
- version('3.6.6', sha256='117097da6d50ddbad0e48bb1e6cdc61468e82ba1d32001dd8e2366b445133a8c')
- version('3.6.5', sha256='37dad355d5513b4de4a86b5b7b0c3e9ec059860d88781b80916bba2a04e6d5b8')
- version('3.6.4', sha256='e4b1de804a3fef38fe8cb9edd00262c3cbbd114b305511c14479dd888a9337d2')
- version('3.6.3', sha256='57f4f71ee4af9114be6408ff6fcafc441c349e4c2954e17c9c22c8ce0fb065bf')
- version('3.6.2', sha256='e9bf6e8805bbcf8a25274566541798785fd4e73bd046045ef27a0109ab520924')
+ version("3.6.6", sha256="117097da6d50ddbad0e48bb1e6cdc61468e82ba1d32001dd8e2366b445133a8c")
+ version("3.6.5", sha256="37dad355d5513b4de4a86b5b7b0c3e9ec059860d88781b80916bba2a04e6d5b8")
+ version("3.6.4", sha256="e4b1de804a3fef38fe8cb9edd00262c3cbbd114b305511c14479dd888a9337d2")
+ version("3.6.3", sha256="57f4f71ee4af9114be6408ff6fcafc441c349e4c2954e17c9c22c8ce0fb065bf")
+ version("3.6.2", sha256="e9bf6e8805bbcf8a25274566541798785fd4e73bd046045ef27a0109ab520924")
- variant('ssl', default=True, description="Suuport DICOM Security Enhancements one")
- depends_on('openssl', type=('build', 'link'), when="+ssl")
+ variant("ssl", default=True, description="Suuport DICOM Security Enhancements one")
+ depends_on("openssl", type=("build", "link"), when="+ssl")
- variant('zlib', default=True, description="Support 'Deflated Explicit VR Little Endian' Transfer Syntax")
- depends_on('zlib', type=('build', 'link'), when="+zlib")
+ variant(
+ "zlib",
+ default=True,
+ description="Support 'Deflated Explicit VR Little Endian' Transfer Syntax",
+ )
+ depends_on("zlib", type=("build", "link"), when="+zlib")
- variant('tiff', default=True, description="Support for TIFF output")
- depends_on('libtiff', type=('build', 'link'), when='+tiff')
+ variant("tiff", default=True, description="Support for TIFF output")
+ depends_on("libtiff", type=("build", "link"), when="+tiff")
- variant('png', default=True, description="Support for PNG output")
- depends_on('libpng', type=('build', 'link'), when='+png')
+ variant("png", default=True, description="Support for PNG output")
+ depends_on("libpng", type=("build", "link"), when="+png")
- variant('xml', default=True, description="Support for XML input")
- depends_on('libxml2', type=('build', 'link'), when='+xml')
+ variant("xml", default=True, description="Support for XML input")
+ depends_on("libxml2", type=("build", "link"), when="+xml")
- variant('iconv', default=True, description="Charset conversion support (iconv)")
- depends_on('iconv', type=('build', 'link'))
+ variant("iconv", default=True, description="Charset conversion support (iconv)")
+ depends_on("iconv", type=("build", "link"))
- variant('cxx11', default=False, description="Enable c++11 features")
- variant('stl', default=True, description="Use native STL implementation")
+ variant("cxx11", default=False, description="Enable c++11 features")
+ variant("stl", default=True, description="Use native STL implementation")
def patch(self):
# Backport 3.6.4
- if self.spec.satisfies('@:3.6.3 %fj'):
+ if self.spec.satisfies("@:3.6.3 %fj"):
filter_file(
- 'OFintegral_constant<size_t,-1>',
- 'OFintegral_constant<size_t,~OFstatic_cast(size_t,0)>',
- 'ofstd/include/dcmtk/ofstd/variadic/helpers.h',
- string=True
+ "OFintegral_constant<size_t,-1>",
+ "OFintegral_constant<size_t,~OFstatic_cast(size_t,0)>",
+ "ofstd/include/dcmtk/ofstd/variadic/helpers.h",
+ string=True,
)
def cmake_args(self):
- args = ["-DDCMTK_WITH_OPENSSL={0}".format(
- 'ON' if '+ssl' in self.spec else 'OFF')]
- args += ["-DDCMTK_WITH_ZLIB={0}".format(
- 'ON' if '+zlib' in self.spec else 'OFF')]
- args += ["-DDCMTK_WITH_TIFF={0}".format(
- 'ON' if '+tiff' in self.spec else 'OFF')]
- args += ["-DDCMTK_WITH_PNG={0}".format(
- 'ON' if '+png' in self.spec else 'OFF')]
- args += ["-DDCMTK_WITH_XML={0}".format(
- 'ON' if '+xml' in self.spec else 'OFF')]
- args += ["-DDCMTK_WITH_ICONV={0}".format(
- 'ON' if '+iconv' in self.spec else 'OFF')]
- args += ["-DDCMTK_ENABLE_CXX11={0}".format(
- 'ON' if '+cxx11' in self.spec else 'OFF')]
- args += ["-DDCMTK_ENABLE_STL={0}".format(
- 'ON' if '+stl' in self.spec else 'OFF')]
+ args = ["-DDCMTK_WITH_OPENSSL={0}".format("ON" if "+ssl" in self.spec else "OFF")]
+ args += ["-DDCMTK_WITH_ZLIB={0}".format("ON" if "+zlib" in self.spec else "OFF")]
+ args += ["-DDCMTK_WITH_TIFF={0}".format("ON" if "+tiff" in self.spec else "OFF")]
+ args += ["-DDCMTK_WITH_PNG={0}".format("ON" if "+png" in self.spec else "OFF")]
+ args += ["-DDCMTK_WITH_XML={0}".format("ON" if "+xml" in self.spec else "OFF")]
+ args += ["-DDCMTK_WITH_ICONV={0}".format("ON" if "+iconv" in self.spec else "OFF")]
+ args += ["-DDCMTK_ENABLE_CXX11={0}".format("ON" if "+cxx11" in self.spec else "OFF")]
+ args += ["-DDCMTK_ENABLE_STL={0}".format("ON" if "+stl" in self.spec else "OFF")]
return args
diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py
index 5b82a6afea..ee1a0888dd 100644
--- a/var/spack/repos/builtin/packages/dd4hep/package.py
+++ b/var/spack/repos/builtin/packages/dd4hep/package.py
@@ -8,148 +8,202 @@ from spack.package import *
class Dd4hep(CMakePackage):
"""DD4hep is a software framework for providing a complete solution for
- full detector description (geometry, materials, visualization, readout,
- alignment, calibration, etc.) for the full experiment life cycle
- (detector concept development, detector optimization, construction,
- operation). It offers a consistent description through a single source
- of detector information for simulation, reconstruction, analysis, etc.
- It distributed under the LGPLv3 License."""
+ full detector description (geometry, materials, visualization, readout,
+ alignment, calibration, etc.) for the full experiment life cycle
+ (detector concept development, detector optimization, construction,
+ operation). It offers a consistent description through a single source
+ of detector information for simulation, reconstruction, analysis, etc.
+ It distributed under the LGPLv3 License."""
homepage = "https://dd4hep.web.cern.ch/dd4hep/"
- url = "https://github.com/AIDASoft/DD4hep/archive/v01-12-01.tar.gz"
- git = "https://github.com/AIDASoft/DD4hep.git"
-
- maintainers = ['vvolkl', 'drbenmorgan']
-
- tags = ['hep']
-
- version('master', branch='master')
- version('1.21', sha256='0f9fe9784bf28fa20ce5555ff074430da430e9becc2566fe11e27c4904a51c94')
- version('1.20.2', sha256='3dab7a300f749452791e160db9394180b65533e91b1b628e568da72ca79b211a')
- version('1.20.1', sha256='18c18a125583c39cb808c602e052cc2379aa3a8029aa78dbb40bcc31f1deb798')
- version('1.20', sha256='cf6af0c486d5c84e8c8a8e40ea16cec54d4ed78bffcef295a0eeeaedf51cab59')
- version('1.19', sha256='d2eccf5e8402ba7dab2e1d7236e12ee4db9b1c5e4253c40a140bf35580db1d9b')
- version('1.18', sha256='1e909a42b969dfd966224fa8ab1eca5aa05136baf3c00a140f2f6d812b497152')
- version('1.17', sha256='036a9908aaf1e13eaf5f2f43b6f5f4a8bdda8183ddc5befa77a4448dbb485826')
- version('1.16.1', sha256='c8b1312aa88283986f89cc008d317b3476027fd146fdb586f9f1fbbb47763f1a')
+ url = "https://github.com/AIDASoft/DD4hep/archive/v01-12-01.tar.gz"
+ git = "https://github.com/AIDASoft/DD4hep.git"
+
+ maintainers = ["vvolkl", "drbenmorgan"]
+
+ tags = ["hep"]
+
+ version("master", branch="master")
+ version("1.21", sha256="0f9fe9784bf28fa20ce5555ff074430da430e9becc2566fe11e27c4904a51c94")
+ version("1.20.2", sha256="3dab7a300f749452791e160db9394180b65533e91b1b628e568da72ca79b211a")
+ version("1.20.1", sha256="18c18a125583c39cb808c602e052cc2379aa3a8029aa78dbb40bcc31f1deb798")
+ version("1.20", sha256="cf6af0c486d5c84e8c8a8e40ea16cec54d4ed78bffcef295a0eeeaedf51cab59")
+ version("1.19", sha256="d2eccf5e8402ba7dab2e1d7236e12ee4db9b1c5e4253c40a140bf35580db1d9b")
+ version("1.18", sha256="1e909a42b969dfd966224fa8ab1eca5aa05136baf3c00a140f2f6d812b497152")
+ version("1.17", sha256="036a9908aaf1e13eaf5f2f43b6f5f4a8bdda8183ddc5befa77a4448dbb485826")
+ version("1.16.1", sha256="c8b1312aa88283986f89cc008d317b3476027fd146fdb586f9f1fbbb47763f1a")
# versions older than 1.16.1 are no longer supported
# (they need several patches like https://github.com/AIDASoft/DD4hep/pull/796)
- version('1.16', sha256='ea9755cd255cf1b058e0e3cd743101ca9ca5ff79f4c60be89f9ba72b1ae5ec69', deprecated=True)
- version('1.15', sha256='992a24bd4b3dfaffecec9d1c09e8cde2c7f89d38756879a47b23208242f4e352', deprecated=True)
- version('1.14.1', sha256='5b5742f1e23c2b36d3174cca95f810ce909c0eb66f3d6d7acb0ba657819e6717', deprecated=True)
- version('1.14', sha256='b603aa3c0db8dda392253aa71fa4a0f0c3c9715d47df0b895d45c1e8849f4895', deprecated=True)
- version('1.13.1', sha256='83fa70cd74ce93b2f52f098388dff58d179f05ace5b50aea3f408bb8abf7cb73', deprecated=True)
- version('1.13', sha256='0b1f9d902ebe21a9178c1e41204c066b29f68c8836fd1d03a9ce979811ddb295', deprecated=True)
- version('1.12.1', sha256='85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93', deprecated=True)
+ version(
+ "1.16",
+ sha256="ea9755cd255cf1b058e0e3cd743101ca9ca5ff79f4c60be89f9ba72b1ae5ec69",
+ deprecated=True,
+ )
+ version(
+ "1.15",
+ sha256="992a24bd4b3dfaffecec9d1c09e8cde2c7f89d38756879a47b23208242f4e352",
+ deprecated=True,
+ )
+ version(
+ "1.14.1",
+ sha256="5b5742f1e23c2b36d3174cca95f810ce909c0eb66f3d6d7acb0ba657819e6717",
+ deprecated=True,
+ )
+ version(
+ "1.14",
+ sha256="b603aa3c0db8dda392253aa71fa4a0f0c3c9715d47df0b895d45c1e8849f4895",
+ deprecated=True,
+ )
+ version(
+ "1.13.1",
+ sha256="83fa70cd74ce93b2f52f098388dff58d179f05ace5b50aea3f408bb8abf7cb73",
+ deprecated=True,
+ )
+ version(
+ "1.13",
+ sha256="0b1f9d902ebe21a9178c1e41204c066b29f68c8836fd1d03a9ce979811ddb295",
+ deprecated=True,
+ )
+ version(
+ "1.12.1",
+ sha256="85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93",
+ deprecated=True,
+ )
# these version won't build with +ddcad as the subpackage doesn't exit yet
- version('1.12', sha256='133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398', deprecated=True)
- version('1.11.2', sha256='96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4', deprecated=True)
- version('1.11.1', sha256='d7902dd7f6744bbda92f6e303ad5a3410eec4a0d2195cdc86f6c1167e72893f0', deprecated=True)
- version('1.11', sha256='25643296f15f9d11ad4ad550b7c3b92e8974fc56f1ee8e4455501010789ae7b6', deprecated=True)
- version('1.10', sha256='1d6b5d1c368dc8bcedd9c61b7c7e1a44bad427f8bd34932516aff47c88a31d95', deprecated=True)
-
- generator = 'Ninja'
+ version(
+ "1.12",
+ sha256="133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398",
+ deprecated=True,
+ )
+ version(
+ "1.11.2",
+ sha256="96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4",
+ deprecated=True,
+ )
+ version(
+ "1.11.1",
+ sha256="d7902dd7f6744bbda92f6e303ad5a3410eec4a0d2195cdc86f6c1167e72893f0",
+ deprecated=True,
+ )
+ version(
+ "1.11",
+ sha256="25643296f15f9d11ad4ad550b7c3b92e8974fc56f1ee8e4455501010789ae7b6",
+ deprecated=True,
+ )
+ version(
+ "1.10",
+ sha256="1d6b5d1c368dc8bcedd9c61b7c7e1a44bad427f8bd34932516aff47c88a31d95",
+ deprecated=True,
+ )
+
+ generator = "Ninja"
# Workarounds for various TBB issues in DD4hep v1.11
# See https://github.com/AIDASoft/DD4hep/pull/613 .
- patch('tbb-workarounds.patch', when='@1.11')
- patch('tbb2.patch', when='@1.12.1')
+ patch("tbb-workarounds.patch", when="@1.11")
+ patch("tbb2.patch", when="@1.12.1")
# Workaround for failing build file generation in some cases
# See https://github.com/spack/spack/issues/24232
- patch('cmake_language.patch', when='@:1.17')
+ patch("cmake_language.patch", when="@:1.17")
# variants for subpackages
- variant('ddcad', default=True, description="Enable CAD interface based on Assimp")
- variant('ddg4', default=True, description="Enable the simulation part based on Geant4")
- variant('ddrec', default=True, description="Build DDRec subpackage.")
- variant('dddetectors', default=True, description="Build DDDetectors subpackage.")
- variant('ddcond', default=True, description="Build DDCond subpackage.")
- variant('ddalign', default=True, description="Build DDAlign subpackage.")
- variant('dddigi', default=True, description="Build DDDigi subpackage.")
- variant('ddeve', default=True, description="Build DDEve subpackage.")
- variant('utilityapps', default=True, description='Build UtilityApps subpackage.')
+ variant("ddcad", default=True, description="Enable CAD interface based on Assimp")
+ variant("ddg4", default=True, description="Enable the simulation part based on Geant4")
+ variant("ddrec", default=True, description="Build DDRec subpackage.")
+ variant("dddetectors", default=True, description="Build DDDetectors subpackage.")
+ variant("ddcond", default=True, description="Build DDCond subpackage.")
+ variant("ddalign", default=True, description="Build DDAlign subpackage.")
+ variant("dddigi", default=True, description="Build DDDigi subpackage.")
+ variant("ddeve", default=True, description="Build DDEve subpackage.")
+ variant("utilityapps", default=True, description="Build UtilityApps subpackage.")
# variants for other build options
- variant('xercesc', default=False, description="Enable 'Detector Builders' based on XercesC")
- variant('hepmc3', default=False, description="Enable build with hepmc3")
- variant('lcio', default=False, description="Enable build with lcio")
- variant('edm4hep', default=True, description="Enable build with edm4hep")
- variant('geant4units', default=False, description="Use geant4 units throughout")
- variant('tbb', default=False, description="Enable build with tbb")
- variant('debug', default=False,
- description="Enable debug build flag - adds extra info in"
- " some places in addtion to the debug build type")
-
- depends_on('cmake @3.12:', type='build')
- depends_on('ninja', type='build')
- depends_on('boost @1.49:')
- depends_on('boost +iostreams', when='+ddg4')
- depends_on('boost +system +filesystem', when='%gcc@:7')
- depends_on('root @6.08: +gdml +math +python')
- depends_on('root @6.08: +gdml +math +python +x +opengl', when="+ddeve")
-
- extends('python')
- depends_on('xerces-c', when='+xercesc')
- depends_on('geant4@10.2.2:', when='+ddg4')
- depends_on('assimp@5.0.2:', when='+ddcad')
- depends_on('hepmc3', when="+hepmc3")
- depends_on('intel-tbb', when='+tbb')
- depends_on('lcio', when="+lcio")
- depends_on('edm4hep', when="+edm4hep")
- depends_on('podio', when="+edm4hep")
- depends_on('py-pytest', type=('build', 'test'))
+ variant("xercesc", default=False, description="Enable 'Detector Builders' based on XercesC")
+ variant("hepmc3", default=False, description="Enable build with hepmc3")
+ variant("lcio", default=False, description="Enable build with lcio")
+ variant("edm4hep", default=True, description="Enable build with edm4hep")
+ variant("geant4units", default=False, description="Use geant4 units throughout")
+ variant("tbb", default=False, description="Enable build with tbb")
+ variant(
+ "debug",
+ default=False,
+ description="Enable debug build flag - adds extra info in"
+ " some places in addtion to the debug build type",
+ )
+
+ depends_on("cmake @3.12:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("boost @1.49:")
+ depends_on("boost +iostreams", when="+ddg4")
+ depends_on("boost +system +filesystem", when="%gcc@:7")
+ depends_on("root @6.08: +gdml +math +python")
+ depends_on("root @6.08: +gdml +math +python +x +opengl", when="+ddeve")
+
+ extends("python")
+ depends_on("xerces-c", when="+xercesc")
+ depends_on("geant4@10.2.2:", when="+ddg4")
+ depends_on("assimp@5.0.2:", when="+ddcad")
+ depends_on("hepmc3", when="+hepmc3")
+ depends_on("intel-tbb", when="+tbb")
+ depends_on("lcio", when="+lcio")
+ depends_on("edm4hep", when="+edm4hep")
+ depends_on("podio", when="+edm4hep")
+ depends_on("py-pytest", type=("build", "test"))
# See https://github.com/AIDASoft/DD4hep/pull/771
- conflicts('^cmake@3.16:3.17.0', when='@1.15',
- msg='cmake version with buggy FindPython breaks dd4hep cmake config')
- conflicts('~ddrec+dddetectors', msg="Need to enable +ddrec to build +dddetectors.")
+ conflicts(
+ "^cmake@3.16:3.17.0",
+ when="@1.15",
+ msg="cmake version with buggy FindPython breaks dd4hep cmake config",
+ )
+ conflicts("~ddrec+dddetectors", msg="Need to enable +ddrec to build +dddetectors.")
def cmake_args(self):
spec = self.spec
- cxxstd = spec['root'].variants['cxxstd'].value
+ cxxstd = spec["root"].variants["cxxstd"].value
# root can be built with cxxstd=11, but dd4hep requires 14
if cxxstd == "11":
cxxstd = "14"
args = [
- self.define_from_variant('DD4HEP_USE_EDM4HEP', 'edm4hep'),
- self.define_from_variant('DD4HEP_USE_XERCESC', 'xercesc'),
- self.define_from_variant('DD4HEP_USE_TBB', 'tbb'),
- self.define_from_variant('DD4HEP_USE_GEANT4', 'ddg4'),
- self.define_from_variant('DD4HEP_USE_LCIO', 'lcio'),
- self.define_from_variant('DD4HEP_USE_HEPMC3', 'hepmc3'),
- self.define_from_variant('DD4HEP_USE_GEANT4_UNITS', 'geant4units'),
- self.define_from_variant('DD4HEP_BUILD_DEBUG', 'debug'),
+ self.define_from_variant("DD4HEP_USE_EDM4HEP", "edm4hep"),
+ self.define_from_variant("DD4HEP_USE_XERCESC", "xercesc"),
+ self.define_from_variant("DD4HEP_USE_TBB", "tbb"),
+ self.define_from_variant("DD4HEP_USE_GEANT4", "ddg4"),
+ self.define_from_variant("DD4HEP_USE_LCIO", "lcio"),
+ self.define_from_variant("DD4HEP_USE_HEPMC3", "hepmc3"),
+ self.define_from_variant("DD4HEP_USE_GEANT4_UNITS", "geant4units"),
+ self.define_from_variant("DD4HEP_BUILD_DEBUG", "debug"),
# Downloads assimp from github and builds it on the fly.
# However, with spack it is preferrable to have a proper external
# dependency, so we disable it.
- self.define('DD4HEP_LOAD_ASSIMP', False),
+ self.define("DD4HEP_LOAD_ASSIMP", False),
"-DCMAKE_CXX_STANDARD={0}".format(cxxstd),
"-DBUILD_TESTING={0}".format(self.run_tests),
- "-DBOOST_ROOT={0}".format(spec['boost'].prefix),
+ "-DBOOST_ROOT={0}".format(spec["boost"].prefix),
"-DBoost_NO_BOOST_CMAKE=ON",
- "-DPYTHON_EXECUTABLE={0}".format(spec['python'].command.path),
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
]
subpackages = []
- if spec.satisfies('+ddg4'):
- subpackages += ['DDG4']
- if spec.satisfies('+ddcond'):
- subpackages += ['DDCond']
- if spec.satisfies('+ddcad'):
- subpackages += ['DDCAD']
- if spec.satisfies('+ddrec'):
- subpackages += ['DDRec']
- if spec.satisfies('+dddetectors'):
- subpackages += ['DDDetectors']
- if spec.satisfies('+ddalign'):
- subpackages += ['DDAlign']
- if spec.satisfies('+dddigi'):
- subpackages += ['DDDigi']
- if spec.satisfies('+ddeve'):
- subpackages += ['DDEve']
- if spec.satisfies('+utilityapps'):
- subpackages += ['UtilityApps']
- subpackages = ' '.join(subpackages)
- args += [self.define('DD4HEP_BUILD_PACKAGES', subpackages)]
+ if spec.satisfies("+ddg4"):
+ subpackages += ["DDG4"]
+ if spec.satisfies("+ddcond"):
+ subpackages += ["DDCond"]
+ if spec.satisfies("+ddcad"):
+ subpackages += ["DDCAD"]
+ if spec.satisfies("+ddrec"):
+ subpackages += ["DDRec"]
+ if spec.satisfies("+dddetectors"):
+ subpackages += ["DDDetectors"]
+ if spec.satisfies("+ddalign"):
+ subpackages += ["DDAlign"]
+ if spec.satisfies("+dddigi"):
+ subpackages += ["DDDigi"]
+ if spec.satisfies("+ddeve"):
+ subpackages += ["DDEve"]
+ if spec.satisfies("+utilityapps"):
+ subpackages += ["UtilityApps"]
+ subpackages = " ".join(subpackages)
+ args += [self.define("DD4HEP_BUILD_PACKAGES", subpackages)]
return args
def setup_run_environment(self, env):
@@ -163,7 +217,7 @@ class Dd4hep(CMakePackage):
# dd4hep releases are dashes and padded with a leading zero
# the patch version is omitted when 0
# so for example v01-12-01, v01-12 ...
- base_url = self.url.rsplit('/', 1)[0]
+ base_url = self.url.rsplit("/", 1)[0]
if len(version) == 1:
major = version[0]
minor, patch = 0, 0
@@ -175,11 +229,11 @@ class Dd4hep(CMakePackage):
# By now the data is normalized enough to handle it easily depending
# on the value of the patch version
if patch == 0:
- version_str = 'v%02d-%02d.tar.gz' % (major, minor)
+ version_str = "v%02d-%02d.tar.gz" % (major, minor)
else:
- version_str = 'v%02d-%02d-%02d.tar.gz' % (major, minor, patch)
+ version_str = "v%02d-%02d-%02d.tar.gz" % (major, minor, patch)
- return base_url + '/' + version_str
+ return base_url + "/" + version_str
# dd4hep tests need to run after install step:
# disable the usual check
@@ -187,8 +241,8 @@ class Dd4hep(CMakePackage):
pass
# instead add custom check step that runs after installation
- @run_after('install')
+ @run_after("install")
def build_test(self):
with working_dir(self.build_directory):
if self.run_tests:
- ninja('test')
+ ninja("test")
diff --git a/var/spack/repos/builtin/packages/ddd/package.py b/var/spack/repos/builtin/packages/ddd/package.py
index 7f2ccb7db3..4ee2dc7760 100644
--- a/var/spack/repos/builtin/packages/ddd/package.py
+++ b/var/spack/repos/builtin/packages/ddd/package.py
@@ -16,48 +16,56 @@ class Ddd(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/ddd"
gnu_mirror_path = "ddd/ddd-3.3.12.tar.gz"
- version('3.3.12', sha256='3ad6cd67d7f4b1d6b2d38537261564a0d26aaed077bf25c51efc1474d0e8b65c')
+ version("3.3.12", sha256="3ad6cd67d7f4b1d6b2d38537261564a0d26aaed077bf25c51efc1474d0e8b65c")
- variant('shared', default=True, description='Build shared libraries')
- variant('static', default=False, description='Build static libraries')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("static", default=False, description="Build static libraries")
- depends_on('gdb@4.16:')
- depends_on('lesstif@0.89:')
- depends_on('libelf')
- depends_on('readline')
- depends_on('termcap')
+ depends_on("gdb@4.16:")
+ depends_on("lesstif@0.89:")
+ depends_on("libelf")
+ depends_on("readline")
+ depends_on("termcap")
# Patch to fix hangs due to injection of bogus GDB init settings:
# https://savannah.gnu.org/bugs/index.php?58191
- patch('https://savannah.gnu.org/bugs/download.php?file_id=48852',
- sha256='8faf986f1dbe529c377f8683deaa8dc2b3b08fe7c297214c9e03860d5c4a1aab')
+ patch(
+ "https://savannah.gnu.org/bugs/download.php?file_id=48852",
+ sha256="8faf986f1dbe529c377f8683deaa8dc2b3b08fe7c297214c9e03860d5c4a1aab",
+ )
# Needed for OSX 10.9 DP6 build failure:
# https://savannah.gnu.org/patch/?8178
- patch('https://savannah.gnu.org/patch/download.php?file_id=29114',
- sha256='aaacae79ce27446ead3483123abef0f8222ebc13fd61627bfadad96016248af6',
- working_dir='ddd')
+ patch(
+ "https://savannah.gnu.org/patch/download.php?file_id=29114",
+ sha256="aaacae79ce27446ead3483123abef0f8222ebc13fd61627bfadad96016248af6",
+ working_dir="ddd",
+ )
# https://savannah.gnu.org/bugs/?41997
- patch('https://savannah.gnu.org/patch/download.php?file_id=31132',
- sha256='f3683f23c4b4ff89ba701660031d4b5ef27594076f6ef68814903ff3141f6714')
+ patch(
+ "https://savannah.gnu.org/patch/download.php?file_id=31132",
+ sha256="f3683f23c4b4ff89ba701660031d4b5ef27594076f6ef68814903ff3141f6714",
+ )
# Patch to fix compilation with Xcode 9
# https://savannah.gnu.org/bugs/?52175
- patch('https://raw.githubusercontent.com/macports/macports-ports/a71fa9f4/devel/ddd/files/patch-unknown-type-name-a_class.diff',
- sha256='c187a024825144f186f0cf9cd175f3e972bb84590e62079793d0182cb15ca183',
- working_dir='ddd')
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/a71fa9f4/devel/ddd/files/patch-unknown-type-name-a_class.diff",
+ sha256="c187a024825144f186f0cf9cd175f3e972bb84590e62079793d0182cb15ca183",
+ working_dir="ddd",
+ )
def configure_args(self):
spec = self.spec
args = [
- '--disable-debug',
- '--disable-dependency-tracking',
- '--enable-builtin-app-defaults',
- '--enable-builtin-manual',
- '--enable-shared' if '+shared' in spec else '--disable-shared',
- '--enable-static' if '+static' in spec else '--disable-static',
+ "--disable-debug",
+ "--disable-dependency-tracking",
+ "--enable-builtin-app-defaults",
+ "--enable-builtin-manual",
+ "--enable-shared" if "+shared" in spec else "--disable-shared",
+ "--enable-static" if "+static" in spec else "--disable-static",
]
return args
@@ -67,18 +75,18 @@ class Ddd(AutotoolsPackage, GNUMirrorPackage):
# insensitive by default this will loosely FAIL. Mitigate this by
# building/installing 'dddexe' on Darwin and fixing up post install.
def build(self, spec, prefix):
- make('EXEEXT={0}'.
- format('exe' if spec.satisfies('platform=darwin') else ''))
+ make("EXEEXT={0}".format("exe" if spec.satisfies("platform=darwin") else ""))
# DDD won't install in parallel
def install(self, spec, prefix):
- make('install',
- 'EXEEXT={0}'.
- format('exe' if spec.satisfies('platform=darwin') else ''),
- parallel=False)
+ make(
+ "install",
+ "EXEEXT={0}".format("exe" if spec.satisfies("platform=darwin") else ""),
+ parallel=False,
+ )
- @run_after('install')
+ @run_after("install")
def _rename_exe_on_darwin(self):
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
with working_dir(self.prefix.bin):
- os.rename('dddexe', 'ddd')
+ os.rename("dddexe", "ddd")
diff --git a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py
index 5583567cef..526e20de0c 100644
--- a/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py
+++ b/var/spack/repos/builtin/packages/dealii-parameter-gui/package.py
@@ -11,11 +11,11 @@ class DealiiParameterGui(CMakePackage):
files."""
homepage = "https://github.com/dealii/parameter_gui"
- git = "https://github.com/dealii/parameter_gui.git"
+ git = "https://github.com/dealii/parameter_gui.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('qt')
+ depends_on("qt")
def setup_run_environment(self, env):
- env.set('PARAMETER_GUI_DIR', self.prefix)
+ env.set("PARAMETER_GUI_DIR", self.prefix)
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index fa61ffbf62..c6251d1dba 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -14,112 +14,90 @@ class Dealii(CMakePackage, CudaPackage):
element codes for a broad variety of PDEs."""
homepage = "https://www.dealii.org"
- url = "https://github.com/dealii/dealii/releases/download/v8.4.1/dealii-8.4.1.tar.gz"
- git = "https://github.com/dealii/dealii.git"
+ url = "https://github.com/dealii/dealii/releases/download/v8.4.1/dealii-8.4.1.tar.gz"
+ git = "https://github.com/dealii/dealii.git"
- maintainers = ['jppelteret', 'luca-heltai']
+ maintainers = ["jppelteret", "luca-heltai"]
# Don't add RPATHs to this package for the full build DAG.
# only add for immediate deps.
transitive_rpaths = False
- generator = 'Ninja'
-
- version('master', branch='master')
- version('9.4.0', sha256='238677006cd9173658e5b69cdd1861f800556982db6005a3cc5eb8329cc1e36c')
- version('9.3.3', sha256='5dfb59174b341589e92b434398a1b7cc11ad053ce2315cf673f5efc5ba271a29')
- version('9.3.2', sha256='5341d76bfd75d3402fc6907a875513efb5fe8a8b99af688d94443c492d5713e8')
- version('9.3.1', sha256='a62f4676ab2dc029892251d141427fb75cbb83cddd606019f615d0dde9c61ab8')
- version('9.3.0', sha256='aef8c7a87510ce827dfae3bdd4ed7bff82004dc09f96fa7a65b2554f2839b931')
- version('9.2.0', sha256='d05a82fb40f1f1e24407451814b5a6004e39366a44c81208b1ae9d65f3efa43a')
- version('9.1.1', sha256='fc5b483f7fe58dfeb52d05054011280f115498e337af3e085bf272fd1fd81276')
- version('9.1.0', sha256='5b070112403f8afbb72345c1bb24d2a38d11ce58891217e353aab97957a04600')
- version('9.0.1', sha256='df2f0d666f2224be07e3741c0e8e02132fd67ea4579cd16a2429f7416146ee64')
- version('9.0.0', sha256='c918dc5c1a31d62f6eea7b524dcc81c6d00b3c378d4ed6965a708ab548944f08')
- version('8.5.1', sha256='d33e812c21a51f7e5e3d3e6af86aec343155650b611d61c1891fbc3cabce09ae')
- version('8.5.0', sha256='e6913ff6f184d16bc2598c1ba31f879535b72b6dff043e15aef048043ff1d779')
- version('8.4.2', sha256='ec7c00fadc9d298d1a0d16c08fb26818868410a9622c59ba624096872f3058e4')
- version('8.4.1', sha256='00a0e92d069cdafd216816f1aff460f7dbd48744b0d9e0da193287ebf7d6b3ad')
- version('8.4.0', sha256='36a20e097a03f17b557e11aad1400af8c6252d25f7feca40b611d5fc16d71990')
- version('8.3.0', sha256='4ddf72632eb501e1c814e299f32fc04fd680d6fda9daff58be4209e400e41779')
- version('8.2.1', sha256='d75674e45fe63cd9fa294460fe45228904d51a68f744dbb99cd7b60720f3b2a0')
- version('8.1.0', sha256='d666bbda2a17b41b80221d7029468246f2658051b8c00d9c5907cd6434c4df99')
+ generator = "Ninja"
+
+ version("master", branch="master")
+ version("9.4.0", sha256="238677006cd9173658e5b69cdd1861f800556982db6005a3cc5eb8329cc1e36c")
+ version("9.3.3", sha256="5dfb59174b341589e92b434398a1b7cc11ad053ce2315cf673f5efc5ba271a29")
+ version("9.3.2", sha256="5341d76bfd75d3402fc6907a875513efb5fe8a8b99af688d94443c492d5713e8")
+ version("9.3.1", sha256="a62f4676ab2dc029892251d141427fb75cbb83cddd606019f615d0dde9c61ab8")
+ version("9.3.0", sha256="aef8c7a87510ce827dfae3bdd4ed7bff82004dc09f96fa7a65b2554f2839b931")
+ version("9.2.0", sha256="d05a82fb40f1f1e24407451814b5a6004e39366a44c81208b1ae9d65f3efa43a")
+ version("9.1.1", sha256="fc5b483f7fe58dfeb52d05054011280f115498e337af3e085bf272fd1fd81276")
+ version("9.1.0", sha256="5b070112403f8afbb72345c1bb24d2a38d11ce58891217e353aab97957a04600")
+ version("9.0.1", sha256="df2f0d666f2224be07e3741c0e8e02132fd67ea4579cd16a2429f7416146ee64")
+ version("9.0.0", sha256="c918dc5c1a31d62f6eea7b524dcc81c6d00b3c378d4ed6965a708ab548944f08")
+ version("8.5.1", sha256="d33e812c21a51f7e5e3d3e6af86aec343155650b611d61c1891fbc3cabce09ae")
+ version("8.5.0", sha256="e6913ff6f184d16bc2598c1ba31f879535b72b6dff043e15aef048043ff1d779")
+ version("8.4.2", sha256="ec7c00fadc9d298d1a0d16c08fb26818868410a9622c59ba624096872f3058e4")
+ version("8.4.1", sha256="00a0e92d069cdafd216816f1aff460f7dbd48744b0d9e0da193287ebf7d6b3ad")
+ version("8.4.0", sha256="36a20e097a03f17b557e11aad1400af8c6252d25f7feca40b611d5fc16d71990")
+ version("8.3.0", sha256="4ddf72632eb501e1c814e299f32fc04fd680d6fda9daff58be4209e400e41779")
+ version("8.2.1", sha256="d75674e45fe63cd9fa294460fe45228904d51a68f744dbb99cd7b60720f3b2a0")
+ version("8.1.0", sha256="d666bbda2a17b41b80221d7029468246f2658051b8c00d9c5907cd6434c4df99")
# Configuration variants
- variant('build_type', default='DebugRelease',
- description='The build type to build',
- values=('Debug', 'Release', 'DebugRelease'))
- variant('cxxstd', default='default', multi=False,
- description='Compile using the specified C++ standard',
- values=('default', '11', '14', '17'))
- variant('doc', default=False,
- description='Compile with documentation')
- variant('examples', default=True,
- description='Compile tutorial programs')
- variant('int64', default=False,
- description='Compile with 64 bit indices support')
- variant('mpi', default=True,
- description='Compile with MPI')
- variant('optflags', default=False,
- description='Compile using additional optimization flags')
- variant('python', default=False,
- description='Compile with Python bindings')
+ variant(
+ "build_type",
+ default="DebugRelease",
+ description="The build type to build",
+ values=("Debug", "Release", "DebugRelease"),
+ )
+ variant(
+ "cxxstd",
+ default="default",
+ multi=False,
+ description="Compile using the specified C++ standard",
+ values=("default", "11", "14", "17"),
+ )
+ variant("doc", default=False, description="Compile with documentation")
+ variant("examples", default=True, description="Compile tutorial programs")
+ variant("int64", default=False, description="Compile with 64 bit indices support")
+ variant("mpi", default=True, description="Compile with MPI")
+ variant("optflags", default=False, description="Compile using additional optimization flags")
+ variant("python", default=False, description="Compile with Python bindings")
# Package variants
- variant('assimp', default=True,
- description='Compile with Assimp')
- variant('arborx', default=True,
- description='Compile with Arborx support')
- variant('arpack', default=True,
- description='Compile with Arpack and PArpack (only with MPI)')
- variant('adol-c', default=True,
- description='Compile with ADOL-C')
- variant('cgal', default=True, when='@9.4:',
- description='Compile with CGAL')
- variant('ginkgo', default=True,
- description='Compile with Ginkgo')
- variant('gmsh', default=True,
- description='Compile with GMSH')
- variant('gsl', default=True,
- description='Compile with GSL')
- variant('hdf5', default=True,
- description='Compile with HDF5 (only with MPI)')
- variant('metis', default=True,
- description='Compile with Metis')
- variant('muparser', default=True,
- description='Compile with muParser')
- variant('nanoflann', default=False,
- description='Compile with Nanoflann')
- variant('netcdf', default=False,
- description='Compile with Netcdf (only with MPI)')
- variant('oce', default=True,
- description='Compile with OCE')
- variant('p4est', default=True,
- description='Compile with P4est (only with MPI)')
- variant('petsc', default=True,
- description='Compile with Petsc (only with MPI)')
- variant('scalapack', default=True,
- description='Compile with ScaLAPACK (only with MPI)')
- variant('sundials', default=True,
- description='Compile with Sundials')
- variant('slepc', default=True,
- description='Compile with Slepc (only with Petsc and MPI)')
- variant('symengine', default=True,
- description='Compile with SymEngine')
- variant('simplex', default=True,
- description='Compile with Simplex support')
+ variant("assimp", default=True, description="Compile with Assimp")
+ variant("arborx", default=True, description="Compile with Arborx support")
+ variant("arpack", default=True, description="Compile with Arpack and PArpack (only with MPI)")
+ variant("adol-c", default=True, description="Compile with ADOL-C")
+ variant("cgal", default=True, when="@9.4:", description="Compile with CGAL")
+ variant("ginkgo", default=True, description="Compile with Ginkgo")
+ variant("gmsh", default=True, description="Compile with GMSH")
+ variant("gsl", default=True, description="Compile with GSL")
+ variant("hdf5", default=True, description="Compile with HDF5 (only with MPI)")
+ variant("metis", default=True, description="Compile with Metis")
+ variant("muparser", default=True, description="Compile with muParser")
+ variant("nanoflann", default=False, description="Compile with Nanoflann")
+ variant("netcdf", default=False, description="Compile with Netcdf (only with MPI)")
+ variant("oce", default=True, description="Compile with OCE")
+ variant("p4est", default=True, description="Compile with P4est (only with MPI)")
+ variant("petsc", default=True, description="Compile with Petsc (only with MPI)")
+ variant("scalapack", default=True, description="Compile with ScaLAPACK (only with MPI)")
+ variant("sundials", default=True, description="Compile with Sundials")
+ variant("slepc", default=True, description="Compile with Slepc (only with Petsc and MPI)")
+ variant("symengine", default=True, description="Compile with SymEngine")
+ variant("simplex", default=True, description="Compile with Simplex support")
# TODO @9.3: enable by default, when we know what to do
# variant('taskflow', default=False,
# description='Compile with multi-threading via Taskflow')
# TODO @9.3: disable by default
# (NB: only if tbb is removed in 9.3, as planned!!!)
- variant('threads', default=True,
- description='Compile with multi-threading via TBB')
- variant('trilinos', default=True,
- description='Compile with Trilinos (only with MPI)')
+ variant("threads", default=True, description="Compile with multi-threading via TBB")
+ variant("trilinos", default=True, description="Compile with Trilinos (only with MPI)")
# Required dependencies: Light version
- depends_on('blas')
+ depends_on("blas")
# Boost 1.58 is blacklisted, require at least 1.59, see
# https://github.com/dealii/dealii/issues/1591
# There are issues with 1.65.1 and 1.65.0:
@@ -128,93 +106,91 @@ class Dealii(CMakePackage, CudaPackage):
# more precisely its variation https://github.com/dealii/dealii/pull/5572#issuecomment-349742019
# 1.68.0 has issues with serialization https://github.com/dealii/dealii/issues/7074
# adopt https://github.com/boostorg/serialization/pull/105 as a fix
- depends_on('boost@1.59.0:1.63,1.65.1,1.67.0:+thread+system+serialization+iostreams',
- patches=[patch('boost_1.65.1_singleton.patch',
- level=1,
- when='@1.65.1'),
- patch('boost_1.68.0.patch',
- level=1,
- when='@1.68.0'),
- ],
- when='~python')
- depends_on('boost@1.59.0:1.63,1.65.1,1.67.0:+thread+system+serialization+iostreams+python',
- patches=[patch('boost_1.65.1_singleton.patch',
- level=1,
- when='@1.65.1'),
- patch('boost_1.68.0.patch',
- level=1,
- when='@1.68.0'),
- ],
- when='+python')
+ depends_on(
+ "boost@1.59.0:1.63,1.65.1,1.67.0:+thread+system+serialization+iostreams",
+ patches=[
+ patch("boost_1.65.1_singleton.patch", level=1, when="@1.65.1"),
+ patch("boost_1.68.0.patch", level=1, when="@1.68.0"),
+ ],
+ when="~python",
+ )
+ depends_on(
+ "boost@1.59.0:1.63,1.65.1,1.67.0:+thread+system+serialization+iostreams+python",
+ patches=[
+ patch("boost_1.65.1_singleton.patch", level=1, when="@1.65.1"),
+ patch("boost_1.68.0.patch", level=1, when="@1.68.0"),
+ ],
+ when="+python",
+ )
# boost@1.77.0 triggers build errors in dealii@9.3.1
- depends_on('boost@:1.76', when='@:9.3')
+ depends_on("boost@:1.76", when="@:9.3")
# The std::auto_ptr is removed in the C++ 17 standard.
# See https://github.com/dealii/dealii/issues/4662
# and related topics discussed for other software libraries.
- depends_on('boost cxxstd=11', when='cxxstd=11')
- depends_on('boost cxxstd=14', when='cxxstd=14')
- depends_on('boost cxxstd=17', when='cxxstd=17')
- depends_on('bzip2', when='@:8')
+ depends_on("boost cxxstd=11", when="cxxstd=11")
+ depends_on("boost cxxstd=14", when="cxxstd=14")
+ depends_on("boost cxxstd=17", when="cxxstd=17")
+ depends_on("bzip2", when="@:8")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('lapack')
- depends_on('ninja', type='build')
- depends_on('suite-sparse')
- depends_on('zlib')
+ depends_on("lapack")
+ depends_on("ninja", type="build")
+ depends_on("suite-sparse")
+ depends_on("zlib")
# Optional dependencies: Configuration
- depends_on('cuda@8:', when='+cuda')
- depends_on('cmake@3.9:', when='+cuda', type='build')
+ depends_on("cuda@8:", when="+cuda")
+ depends_on("cmake@3.9:", when="+cuda", type="build")
# Older version of deal.II do not build with Cmake 3.10, see
# https://github.com/dealii/dealii/issues/5510
- depends_on('cmake@:3.9', when='@:8', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('python', when='@8.5.0:+python')
+ depends_on("cmake@:3.9", when="@:8", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("python", when="@8.5.0:+python")
# Optional dependencies: Packages
- depends_on('adol-c@2.6.4:', when='@9.0:+adol-c')
- depends_on('arborx', when='@9.3:+arborx')
- depends_on('arborx+trilinos', when='@9.3:+arborx+trilinos')
- depends_on('arpack-ng+mpi', when='+arpack+mpi')
- depends_on('assimp', when='@9.0:+assimp')
- depends_on('cgal', when='@9.4:+cgal')
- depends_on('doxygen+graphviz', when='+doc')
- depends_on('graphviz', when='+doc')
- depends_on('ginkgo', when='@9.1:+ginkgo')
- depends_on('ginkgo@1.4.0:', when='@9.4:+ginkgo')
- depends_on('gmsh+tetgen+netgen+oce', when='@9.0:+gmsh', type=('build', 'run'))
- depends_on('gsl', when='@8.5.0:+gsl')
+ depends_on("adol-c@2.6.4:", when="@9.0:+adol-c")
+ depends_on("arborx", when="@9.3:+arborx")
+ depends_on("arborx+trilinos", when="@9.3:+arborx+trilinos")
+ depends_on("arpack-ng+mpi", when="+arpack+mpi")
+ depends_on("assimp", when="@9.0:+assimp")
+ depends_on("cgal", when="@9.4:+cgal")
+ depends_on("doxygen+graphviz", when="+doc")
+ depends_on("graphviz", when="+doc")
+ depends_on("ginkgo", when="@9.1:+ginkgo")
+ depends_on("ginkgo@1.4.0:", when="@9.4:+ginkgo")
+ depends_on("gmsh+tetgen+netgen+oce", when="@9.0:+gmsh", type=("build", "run"))
+ depends_on("gsl", when="@8.5.0:+gsl")
# TODO: next line fixes concretization with petsc
- depends_on('hdf5+mpi+hl+fortran', when='+hdf5+mpi+petsc')
- depends_on('hdf5+mpi+hl', when='+hdf5+mpi~petsc')
+ depends_on("hdf5+mpi+hl+fortran", when="+hdf5+mpi+petsc")
+ depends_on("hdf5+mpi+hl", when="+hdf5+mpi~petsc")
# TODO: concretizer bug. The two lines mimic what comes from PETSc
# but we should not need it
- depends_on('metis@5:+int64', when='+metis+int64')
- depends_on('metis@5:~int64', when='+metis~int64')
- depends_on('muparser', when='+muparser')
+ depends_on("metis@5:+int64", when="+metis+int64")
+ depends_on("metis@5:~int64", when="+metis~int64")
+ depends_on("muparser", when="+muparser")
# Nanoflann support has been removed after 9.2.0
- depends_on('nanoflann', when='@9.0:9.2+nanoflann')
- depends_on('netcdf-c+mpi', when='+netcdf+mpi')
- depends_on('netcdf-cxx', when='+netcdf+mpi')
- depends_on('oce', when='+oce')
- depends_on('p4est', when='+p4est+mpi')
- depends_on('petsc+mpi~int64', when='+petsc+mpi~int64')
- depends_on('petsc+mpi+int64', when='+petsc+mpi+int64')
- depends_on('petsc@:3.6.4', when='@:8.4.1+petsc+mpi')
- depends_on('scalapack', when='@9.0:+scalapack')
- depends_on('slepc', when='+slepc+petsc+mpi')
- depends_on('slepc@:3.6.3', when='@:8.4.1+slepc+petsc+mpi')
- depends_on('slepc~arpack', when='+slepc+petsc+mpi+int64')
- depends_on('sundials@:3~pthread', when='@9.0:9.2+sundials')
- depends_on('sundials@5:5.8', when='@9.3:9.3.3+sundials')
- depends_on('sundials@5:', when='@9.3.4:+sundials')
+ depends_on("nanoflann", when="@9.0:9.2+nanoflann")
+ depends_on("netcdf-c+mpi", when="+netcdf+mpi")
+ depends_on("netcdf-cxx", when="+netcdf+mpi")
+ depends_on("oce", when="+oce")
+ depends_on("p4est", when="+p4est+mpi")
+ depends_on("petsc+mpi~int64", when="+petsc+mpi~int64")
+ depends_on("petsc+mpi+int64", when="+petsc+mpi+int64")
+ depends_on("petsc@:3.6.4", when="@:8.4.1+petsc+mpi")
+ depends_on("scalapack", when="@9.0:+scalapack")
+ depends_on("slepc", when="+slepc+petsc+mpi")
+ depends_on("slepc@:3.6.3", when="@:8.4.1+slepc+petsc+mpi")
+ depends_on("slepc~arpack", when="+slepc+petsc+mpi+int64")
+ depends_on("sundials@:3~pthread", when="@9.0:9.2+sundials")
+ depends_on("sundials@5:5.8", when="@9.3:9.3.3+sundials")
+ depends_on("sundials@5:", when="@9.3.4:+sundials")
# depends_on('taskflow', when='@9.3:+taskflow')
- depends_on('trilinos gotype=int', when='+trilinos@12.18.1:')
+ depends_on("trilinos gotype=int", when="+trilinos@12.18.1:")
# TODO: next line fixes concretization with trilinos and adol-c
- depends_on('trilinos~exodus', 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.
@@ -229,106 +205,143 @@ class Dealii(CMakePackage, CudaPackage):
# "symengine@0.4: build_type=Debug",
# when="@9.1:+symengine+trilinos^trilinos+debug"
# )
- depends_on('symengine@0.4:', when='@9.1:+symengine')
- depends_on('symengine@0.6:', when='@9.2:+symengine')
- depends_on('tbb', when='+threads')
+ depends_on("symengine@0.4:", when="@9.1:+symengine")
+ depends_on("symengine@0.6:", when="@9.2:+symengine")
+ depends_on("tbb", when="+threads")
# do not require +rol to make concretization of xsdk possible
- depends_on('trilinos+amesos+aztec+epetra+ifpack+ml+muelu+sacado', when='+trilinos')
- depends_on('trilinos~hypre', when='+trilinos+int64')
+ depends_on("trilinos+amesos+aztec+epetra+ifpack+ml+muelu+sacado", when="+trilinos")
+ depends_on("trilinos~hypre", when="+trilinos+int64")
# TODO: temporary disable Tpetra when using CUDA due to
# namespace "Kokkos::Impl" has no member "cuda_abort"
- depends_on('trilinos@master+rol~amesos2~ifpack2~intrepid2~kokkos~tpetra~zoltan2', when='+trilinos+cuda')
+ depends_on(
+ "trilinos@master+rol~amesos2~ifpack2~intrepid2~kokkos~tpetra~zoltan2",
+ when="+trilinos+cuda",
+ )
# Explicitly provide a destructor in BlockVector,
# otherwise deal.II may fail to build with Intel compilers.
- patch('https://github.com/dealii/dealii/commit/a89d90f9993ee9ad39e492af466b3595c06c3e25.patch?full_index=1',
- sha256='72304bc6c3fb4549cf53ed533a00311d12827d48817e2038efd3a8ef6c43d149',
- when='@9.0.1')
+ patch(
+ "https://github.com/dealii/dealii/commit/a89d90f9993ee9ad39e492af466b3595c06c3e25.patch?full_index=1",
+ sha256="72304bc6c3fb4549cf53ed533a00311d12827d48817e2038efd3a8ef6c43d149",
+ when="@9.0.1",
+ )
# https://github.com/dealii/dealii/pull/7935
- patch('https://github.com/dealii/dealii/commit/f8de8c5c28c715717bf8a086e94f071e0fe9deab.patch?full_index=1',
- sha256='4aba56b01d816ca950b1625f436840df253f145650e3a3eba51e7f2696ec7dc0',
- when='@9.0.1 ^boost@1.70.0:')
+ patch(
+ "https://github.com/dealii/dealii/commit/f8de8c5c28c715717bf8a086e94f071e0fe9deab.patch?full_index=1",
+ sha256="4aba56b01d816ca950b1625f436840df253f145650e3a3eba51e7f2696ec7dc0",
+ when="@9.0.1 ^boost@1.70.0:",
+ )
# Fix TBB version check
# https://github.com/dealii/dealii/pull/9208
- patch('https://github.com/dealii/dealii/commit/80b13fe5a2eaefc77fa8c9266566fa8a2de91edf.patch?full_index=1',
- sha256='3da530766050a0cea80106684347055bdb78528a1869ce99e8fbf8fc83074fd0',
- when='@9.0.0:9.1.1')
+ patch(
+ "https://github.com/dealii/dealii/commit/80b13fe5a2eaefc77fa8c9266566fa8a2de91edf.patch?full_index=1",
+ sha256="3da530766050a0cea80106684347055bdb78528a1869ce99e8fbf8fc83074fd0",
+ when="@9.0.0:9.1.1",
+ )
# Explicitly include a boost header, otherwise deal.II fails to compile
# https://github.com/dealii/dealii/pull/11438
- patch('https://github.com/dealii/dealii/commit/3b815e21c4bfd82c792ba80e4d90314c8bb9edc9.patch?full_index=1',
- sha256='90ae9ddefe77fffd297bba6b070ab68d07306d4ef525ee994e8c49cef68f76f3',
- when='@9.2.0 ^boost@1.72.0:')
+ patch(
+ "https://github.com/dealii/dealii/commit/3b815e21c4bfd82c792ba80e4d90314c8bb9edc9.patch?full_index=1",
+ sha256="90ae9ddefe77fffd297bba6b070ab68d07306d4ef525ee994e8c49cef68f76f3",
+ when="@9.2.0 ^boost@1.72.0:",
+ )
# Check for sufficiently modern versions
- conflicts('cxxstd=11', when='@9.3:')
+ conflicts("cxxstd=11", when="@9.3:")
- conflicts('cxxstd=14', when='@9.4:+cgal',
- msg='CGAL requires the C++ standard to be set to 17 or later.')
+ conflicts(
+ "cxxstd=14",
+ when="@9.4:+cgal",
+ msg="CGAL requires the C++ standard to be set to 17 or later.",
+ )
# Interfaces added in 8.5.0:
- for p in ['gsl', 'python']:
- conflicts('+{0}'.format(p), when='@:8.4.2',
- msg='The interface to {0} is supported from version 8.5.0 '
- 'onwards. Please explicitly disable this variant '
- 'via ~{0}'.format(p))
+ for p in ["gsl", "python"]:
+ conflicts(
+ "+{0}".format(p),
+ when="@:8.4.2",
+ msg="The interface to {0} is supported from version 8.5.0 "
+ "onwards. Please explicitly disable this variant "
+ "via ~{0}".format(p),
+ )
# Interfaces added in 9.0.0:
- for p in ['assimp', 'gmsh', 'nanoflann', 'scalapack', 'sundials',
- 'adol-c']:
- conflicts('+{0}'.format(p), when='@:8.5.1',
- msg='The interface to {0} is supported from version 9.0.0 '
- 'onwards. Please explicitly disable this variant '
- 'via ~{0}'.format(p))
+ for p in ["assimp", "gmsh", "nanoflann", "scalapack", "sundials", "adol-c"]:
+ conflicts(
+ "+{0}".format(p),
+ when="@:8.5.1",
+ msg="The interface to {0} is supported from version 9.0.0 "
+ "onwards. Please explicitly disable this variant "
+ "via ~{0}".format(p),
+ )
# interfaces added in 9.1.0:
- for p in ['ginkgo', 'symengine']:
- conflicts('+{0}'.format(p), when='@:9.0',
- msg='The interface to {0} is supported from version 9.1.0 '
- 'onwards. Please explicitly disable this variant '
- 'via ~{0}'.format(p))
+ for p in ["ginkgo", "symengine"]:
+ conflicts(
+ "+{0}".format(p),
+ when="@:9.0",
+ msg="The interface to {0} is supported from version 9.1.0 "
+ "onwards. Please explicitly disable this variant "
+ "via ~{0}".format(p),
+ )
# interfaces added in 9.3.0:
- for p in ['simplex', 'arborx']: # , 'taskflow']:
- conflicts('+{0}'.format(p), when='@:9.2',
- msg='The interface to {0} is supported from version 9.3.0 '
- 'onwards. Please explicitly disable this variant '
- 'via ~{0}'.format(p))
+ for p in ["simplex", "arborx"]: # , 'taskflow']:
+ conflicts(
+ "+{0}".format(p),
+ when="@:9.2",
+ msg="The interface to {0} is supported from version 9.3.0 "
+ "onwards. Please explicitly disable this variant "
+ "via ~{0}".format(p),
+ )
# Interfaces removed in 9.3.0:
- conflicts('+nanoflann', when='@9.3.0:',
- msg='The interface to Nanoflann was removed from version 9.3.0. '
- 'Please explicitly disable this variant via ~nanoflann')
+ conflicts(
+ "+nanoflann",
+ when="@9.3.0:",
+ msg="The interface to Nanoflann was removed from version 9.3.0. "
+ "Please explicitly disable this variant via ~nanoflann",
+ )
# Check that the combination of variants makes sense
# 64-bit BLAS:
- for p in ['openblas', 'intel-mkl', 'intel-parallel-studio+mkl']:
- conflicts('^{0}+ilp64'.format(p), when='@:8.5.1',
- msg='64bit BLAS is only supported from 9.0.0')
+ for p in ["openblas", "intel-mkl", "intel-parallel-studio+mkl"]:
+ conflicts(
+ "^{0}+ilp64".format(p), when="@:8.5.1", msg="64bit BLAS is only supported from 9.0.0"
+ )
# MPI requirements:
- for p in ['arpack', 'hdf5', 'netcdf', 'p4est', 'petsc', 'scalapack',
- 'slepc', 'trilinos']:
- conflicts('+{0}'.format(p), when='~mpi',
- msg='To enable {0} it is necessary to build deal.II with '
- 'MPI support enabled.'.format(p))
+ for p in ["arpack", "hdf5", "netcdf", "p4est", "petsc", "scalapack", "slepc", "trilinos"]:
+ conflicts(
+ "+{0}".format(p),
+ when="~mpi",
+ msg="To enable {0} it is necessary to build deal.II with "
+ "MPI support enabled.".format(p),
+ )
# Optional dependencies:
- conflicts('+adol-c', when='^netcdf',
- msg='Symbol clash between the ADOL-C library and '
- 'Netcdf.')
- conflicts('+adol-c', when='^trilinos+chaco',
- msg='Symbol clash between the ADOL-C library and '
- 'Trilinos SEACAS Chaco.')
- conflicts('+adol-c', when='^trilinos+exodus',
- msg='Symbol clash between the ADOL-C library and '
- 'Trilinos Netcdf.')
-
- conflicts('+slepc', when='~petsc',
- msg='It is not possible to enable slepc interfaces '
- 'without petsc.')
+ conflicts(
+ "+adol-c", when="^netcdf", msg="Symbol clash between the ADOL-C library and " "Netcdf."
+ )
+ conflicts(
+ "+adol-c",
+ when="^trilinos+chaco",
+ msg="Symbol clash between the ADOL-C library and " "Trilinos SEACAS Chaco.",
+ )
+ conflicts(
+ "+adol-c",
+ when="^trilinos+exodus",
+ msg="Symbol clash between the ADOL-C library and " "Trilinos Netcdf.",
+ )
+
+ conflicts(
+ "+slepc",
+ when="~petsc",
+ msg="It is not possible to enable slepc interfaces " "without petsc.",
+ )
def cmake_args(self):
spec = self.spec
@@ -339,277 +352,258 @@ class Dealii(CMakePackage, CudaPackage):
cxx_flags = []
# Set directory structure:
- if spec.satisfies('@:8.2.1'):
- options.append(
- self.define('DEAL_II_COMPONENT_COMPAT_FILES', False)
- )
+ if spec.satisfies("@:8.2.1"):
+ options.append(self.define("DEAL_II_COMPONENT_COMPAT_FILES", False))
else:
- options.extend([
- self.define(
- 'DEAL_II_EXAMPLES_RELDIR', 'share/deal.II/examples'
- ),
- self.define('DEAL_II_DOCREADME_RELDIR', 'share/deal.II/'),
- self.define('DEAL_II_DOCHTML_RELDIR', 'share/deal.II/doc')
- ])
+ options.extend(
+ [
+ self.define("DEAL_II_EXAMPLES_RELDIR", "share/deal.II/examples"),
+ self.define("DEAL_II_DOCREADME_RELDIR", "share/deal.II/"),
+ self.define("DEAL_II_DOCHTML_RELDIR", "share/deal.II/doc"),
+ ]
+ )
# Required dependencies
- lapack_blas_libs = spec['lapack'].libs + spec['blas'].libs
- lapack_blas_headers = spec['lapack'].headers + spec['blas'].headers
- options.extend([
- self.define('BOOST_DIR', spec['boost'].prefix),
- # CMake's FindBlas/Lapack may pickup system's blas/lapack instead
- # of Spack's. Be more specific to avoid this.
- # Note that both lapack and blas are provided in -DLAPACK_XYZ.
- self.define('LAPACK_FOUND', True),
- self.define(
- 'LAPACK_INCLUDE_DIRS',
- ';'.join(lapack_blas_headers.directories)
- ),
- self.define('LAPACK_LIBRARIES', lapack_blas_libs.joined(';')),
- self.define('UMFPACK_DIR', spec['suite-sparse'].prefix),
- self.define('ZLIB_DIR', spec['zlib'].prefix),
- self.define('DEAL_II_ALLOW_BUNDLED', False)
- ])
-
- if spec.satisfies('@:8'):
- options.extend([
- # Cmake may still pick up system's bzip2, fix this:
- self.define('BZIP2_FOUND', True),
- self.define(
- 'BZIP2_INCLUDE_DIRS', spec['bzip2'].prefix.include
- ),
- self.define('BZIP2_LIBRARIES', spec['bzip2'].libs.joined(';'))
- ])
+ lapack_blas_libs = spec["lapack"].libs + spec["blas"].libs
+ lapack_blas_headers = spec["lapack"].headers + spec["blas"].headers
+ options.extend(
+ [
+ self.define("BOOST_DIR", spec["boost"].prefix),
+ # CMake's FindBlas/Lapack may pickup system's blas/lapack instead
+ # of Spack's. Be more specific to avoid this.
+ # Note that both lapack and blas are provided in -DLAPACK_XYZ.
+ self.define("LAPACK_FOUND", True),
+ self.define("LAPACK_INCLUDE_DIRS", ";".join(lapack_blas_headers.directories)),
+ self.define("LAPACK_LIBRARIES", lapack_blas_libs.joined(";")),
+ self.define("UMFPACK_DIR", spec["suite-sparse"].prefix),
+ self.define("ZLIB_DIR", spec["zlib"].prefix),
+ self.define("DEAL_II_ALLOW_BUNDLED", False),
+ ]
+ )
+
+ if spec.satisfies("@:8"):
+ options.extend(
+ [
+ # Cmake may still pick up system's bzip2, fix this:
+ self.define("BZIP2_FOUND", True),
+ self.define("BZIP2_INCLUDE_DIRS", spec["bzip2"].prefix.include),
+ self.define("BZIP2_LIBRARIES", spec["bzip2"].libs.joined(";")),
+ ]
+ )
# Doxygen documentation
- options.append(self.define_from_variant(
- 'DEAL_II_COMPONENT_DOCUMENTATION', 'doc'
- ))
+ options.append(self.define_from_variant("DEAL_II_COMPONENT_DOCUMENTATION", "doc"))
# Examples / tutorial programs
- options.append(self.define_from_variant(
- 'DEAL_II_COMPONENT_EXAMPLES', 'examples'
- ))
+ options.append(self.define_from_variant("DEAL_II_COMPONENT_EXAMPLES", "examples"))
# Enforce the specified C++ standard
- if spec.variants['cxxstd'].value != 'default':
- cxxstd = spec.variants['cxxstd'].value
- cxx_flags.extend(['-std=c++{0}'.format(cxxstd)])
+ if spec.variants["cxxstd"].value != "default":
+ cxxstd = spec.variants["cxxstd"].value
+ cxx_flags.extend(["-std=c++{0}".format(cxxstd)])
# Performance
# Set recommended flags for maximum (matrix-free) performance, see
# https://groups.google.com/forum/?fromgroups#!topic/dealii/3Yjy8CBIrgU
- if spec.satisfies('%gcc'):
- cxx_flags_release.extend(['-O3'])
- elif spec.satisfies('%intel'):
- cxx_flags_release.extend(['-O3'])
- elif spec.satisfies('%clang') or spec.satisfies('%apple-clang'):
- cxx_flags_release.extend(['-O3', '-ffp-contract=fast'])
+ if spec.satisfies("%gcc"):
+ cxx_flags_release.extend(["-O3"])
+ elif spec.satisfies("%intel"):
+ cxx_flags_release.extend(["-O3"])
+ elif spec.satisfies("%clang") or spec.satisfies("%apple-clang"):
+ cxx_flags_release.extend(["-O3", "-ffp-contract=fast"])
# 64 bit indices
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_64BIT_INDICES', 'int64'
- ))
+ options.append(self.define_from_variant("DEAL_II_WITH_64BIT_INDICES", "int64"))
- if (spec.satisfies('^openblas+ilp64') or
- spec.satisfies('^intel-mkl+ilp64') or
- spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
- options.append(
- self.define('LAPACK_WITH_64BIT_BLAS_INDICES', True)
- )
+ if (
+ spec.satisfies("^openblas+ilp64")
+ or spec.satisfies("^intel-mkl+ilp64")
+ or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
+ ):
+ options.append(self.define("LAPACK_WITH_64BIT_BLAS_INDICES", True))
# CUDA
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_CUDA', 'cuda'
- ))
- if '+cuda' in spec:
- if not spec.satisfies('^cuda@9:'):
- options.append('-DDEAL_II_WITH_CXX14=OFF')
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
+ options.append(self.define_from_variant("DEAL_II_WITH_CUDA", "cuda"))
+ if "+cuda" in spec:
+ if not spec.satisfies("^cuda@9:"):
+ options.append("-DDEAL_II_WITH_CXX14=OFF")
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
if len(cuda_arch) > 1:
- raise InstallError(
- 'deal.II only supports compilation for a single GPU!'
- )
- flags = '-arch=sm_{0}'.format(cuda_arch[0])
+ raise InstallError("deal.II only supports compilation for a single GPU!")
+ flags = "-arch=sm_{0}".format(cuda_arch[0])
# TODO: there are some compiler errors in dealii
# with: flags = ' '.join(self.cuda_flags(cuda_arch))
# Stick with -arch=sm_xy for now.
- options.append(
- self.define('DEAL_II_CUDA_FLAGS', flags)
- )
+ options.append(self.define("DEAL_II_CUDA_FLAGS", flags))
# MPI
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_MPI', 'mpi'
- ))
- if '+mpi' in spec:
- options.extend([
- self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc),
- self.define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx),
- self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- self.define('MPI_C_COMPILER', spec['mpi'].mpicc),
- self.define('MPI_CXX_COMPILER', spec['mpi'].mpicxx),
- self.define('MPI_Fortran_COMPILER', spec['mpi'].mpifc)
- ])
+ options.append(self.define_from_variant("DEAL_II_WITH_MPI", "mpi"))
+ if "+mpi" in spec:
+ options.extend(
+ [
+ self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
+ self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
+ self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ self.define("MPI_C_COMPILER", spec["mpi"].mpicc),
+ self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx),
+ self.define("MPI_Fortran_COMPILER", spec["mpi"].mpifc),
+ ]
+ )
# FIXME: Fix issues with undefined references in MPI. e.g,
# libmpi.so: undefined reference to `opal_memchecker_base_isaddressable'
- if '^openmpi' in spec:
- options.extend([
- self.define('MPI_CXX_LINK_FLAGS', '-lopen-pal')
- ])
- if '+cuda' in spec:
- options.extend([
- self.define('DEAL_II_MPI_WITH_CUDA_SUPPORT',
- spec['mpi'].satisfies('+cuda')),
- self.define('CUDA_HOST_COMPILER', spec['mpi'].mpicxx)
- ])
+ if "^openmpi" in spec:
+ options.extend([self.define("MPI_CXX_LINK_FLAGS", "-lopen-pal")])
+ if "+cuda" in spec:
+ options.extend(
+ [
+ self.define(
+ "DEAL_II_MPI_WITH_CUDA_SUPPORT", spec["mpi"].satisfies("+cuda")
+ ),
+ self.define("CUDA_HOST_COMPILER", spec["mpi"].mpicxx),
+ ]
+ )
# Python bindings
- if spec.satisfies('@8.5.0:'):
- options.append(self.define_from_variant(
- 'DEAL_II_COMPONENT_PYTHON_BINDINGS', 'python'
- ))
- if '+python' in spec:
- python_exe = spec['python'].command.path
- python_library = spec['python'].libs[0]
- python_include = spec['python'].headers.directories[0]
- options.extend([
- self.define('PYTHON_EXECUTABLE', python_exe),
- self.define('PYTHON_INCLUDE_DIR', python_include),
- self.define('PYTHON_LIBRARY', python_library)
- ])
+ if spec.satisfies("@8.5.0:"):
+ options.append(self.define_from_variant("DEAL_II_COMPONENT_PYTHON_BINDINGS", "python"))
+ if "+python" in spec:
+ python_exe = spec["python"].command.path
+ python_library = spec["python"].libs[0]
+ python_include = spec["python"].headers.directories[0]
+ options.extend(
+ [
+ self.define("PYTHON_EXECUTABLE", python_exe),
+ self.define("PYTHON_INCLUDE_DIR", python_include),
+ self.define("PYTHON_LIBRARY", python_library),
+ ]
+ )
# Simplex support (no longer experimental)
- if spec.satisfies('@9.3.0:9.4.0'):
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_SIMPLEX_SUPPORT', 'simplex'
- ))
+ if spec.satisfies("@9.3.0:9.4.0"):
+ options.append(self.define_from_variant("DEAL_II_WITH_SIMPLEX_SUPPORT", "simplex"))
# Threading
- if spec.satisfies('@9.3.0:'):
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_TBB', 'threads'
- ))
+ if spec.satisfies("@9.3.0:"):
+ options.append(self.define_from_variant("DEAL_II_WITH_TBB", "threads"))
else:
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_THREADS', 'threads'
- ))
- if '+threads' in spec:
- if (spec.satisfies('^intel-parallel-studio+tbb')):
+ options.append(self.define_from_variant("DEAL_II_WITH_THREADS", "threads"))
+ if "+threads" in spec:
+ if spec.satisfies("^intel-parallel-studio+tbb"):
# deal.II/cmake will have hard time picking up TBB from Intel.
- tbb_ver = '.'.join(('%s' % spec['tbb'].version).split('.')[1:])
- options.extend([
- self.define('TBB_FOUND', True),
- self.define('TBB_VERSION', tbb_ver),
- self.define(
- 'TBB_INCLUDE_DIRS',
- ';'.join(spec['tbb'].headers.directories)
- ),
- self.define('TBB_LIBRARIES', spec['tbb'].libs.joined(';'))
- ])
- else:
- options.append(
- self.define('TBB_DIR', spec['tbb'].prefix)
+ tbb_ver = ".".join(("%s" % spec["tbb"].version).split(".")[1:])
+ options.extend(
+ [
+ self.define("TBB_FOUND", True),
+ self.define("TBB_VERSION", tbb_ver),
+ self.define("TBB_INCLUDE_DIRS", ";".join(spec["tbb"].headers.directories)),
+ self.define("TBB_LIBRARIES", spec["tbb"].libs.joined(";")),
+ ]
)
+ else:
+ options.append(self.define("TBB_DIR", spec["tbb"].prefix))
# Optional dependencies for which library names are the same as CMake
# variables:
for library in (
- 'gsl', 'hdf5', 'p4est', 'petsc', 'slepc', 'trilinos', 'metis',
- 'sundials', 'nanoflann', 'assimp', 'gmsh', 'muparser',
- 'symengine', 'ginkgo', 'arborx', 'cgal'): # 'taskflow'):
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_{0}'.format(library.upper()), library
- ))
- if ('+' + library) in spec:
- options.append(self.define(
- '{0}_DIR'.format(library.upper()), spec[library].prefix
- ))
+ "gsl",
+ "hdf5",
+ "p4est",
+ "petsc",
+ "slepc",
+ "trilinos",
+ "metis",
+ "sundials",
+ "nanoflann",
+ "assimp",
+ "gmsh",
+ "muparser",
+ "symengine",
+ "ginkgo",
+ "arborx",
+ "cgal",
+ ): # 'taskflow'):
+ options.append(
+ self.define_from_variant("DEAL_II_WITH_{0}".format(library.upper()), library)
+ )
+ if ("+" + library) in spec:
+ options.append(
+ self.define("{0}_DIR".format(library.upper()), spec[library].prefix)
+ )
# Optional dependencies that do not fit the above pattern:
# ADOL-C
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_ADOLC', 'adol-c'
- ))
- if '+adol-c' in spec:
- options.append(
- self.define('ADOLC_DIR', spec['adol-c'].prefix)
- )
+ options.append(self.define_from_variant("DEAL_II_WITH_ADOLC", "adol-c"))
+ if "+adol-c" in spec:
+ options.append(self.define("ADOLC_DIR", spec["adol-c"].prefix))
# ARPACK
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_ARPACK', 'arpack'
- ))
- if '+arpack' in spec and '+mpi' in spec:
- options.extend([
- self.define('ARPACK_DIR', spec['arpack-ng'].prefix),
- self.define('DEAL_II_ARPACK_WITH_PARPACK', True)
- ])
+ options.append(self.define_from_variant("DEAL_II_WITH_ARPACK", "arpack"))
+ if "+arpack" in spec and "+mpi" in spec:
+ options.extend(
+ [
+ self.define("ARPACK_DIR", spec["arpack-ng"].prefix),
+ self.define("DEAL_II_ARPACK_WITH_PARPACK", True),
+ ]
+ )
# NetCDF
# since Netcdf is spread among two, need to do it by hand:
- if '+netcdf' in spec and '+mpi' in spec:
- netcdf_libs = spec['netcdf-cxx'].libs + spec['netcdf-c'].libs
- options.extend([
- self.define('NETCDF_FOUND', True),
- self.define('NETCDF_INCLUDE_DIRS', '{0};{1}'.format(
- spec['netcdf-cxx'].prefix.include,
- spec['netcdf-c'].prefix.include
- )),
- self.define('NETCDF_LIBRARIES', netcdf_libs.joined(';'))
- ])
- else:
- options.append(
- self.define('DEAL_II_WITH_NETCDF', False)
+ if "+netcdf" in spec and "+mpi" in spec:
+ netcdf_libs = spec["netcdf-cxx"].libs + spec["netcdf-c"].libs
+ options.extend(
+ [
+ self.define("NETCDF_FOUND", True),
+ self.define(
+ "NETCDF_INCLUDE_DIRS",
+ "{0};{1}".format(
+ spec["netcdf-cxx"].prefix.include, spec["netcdf-c"].prefix.include
+ ),
+ ),
+ self.define("NETCDF_LIBRARIES", netcdf_libs.joined(";")),
+ ]
)
+ else:
+ options.append(self.define("DEAL_II_WITH_NETCDF", False))
# ScaLAPACK
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_SCALAPACK', 'scalapack'
- ))
- if '+scalapack' in spec:
- scalapack_libs = spec['scalapack'].libs
- options.extend([
- self.define('SCALAPACK_FOUND', True),
- self.define(
- 'SCALAPACK_INCLUDE_DIRS', spec['scalapack'].prefix.include
- ),
- self.define('SCALAPACK_LIBRARIES', scalapack_libs.joined(';'))
- ])
+ options.append(self.define_from_variant("DEAL_II_WITH_SCALAPACK", "scalapack"))
+ if "+scalapack" in spec:
+ scalapack_libs = spec["scalapack"].libs
+ options.extend(
+ [
+ self.define("SCALAPACK_FOUND", True),
+ self.define("SCALAPACK_INCLUDE_DIRS", spec["scalapack"].prefix.include),
+ self.define("SCALAPACK_LIBRARIES", scalapack_libs.joined(";")),
+ ]
+ )
# Open Cascade
- options.append(self.define_from_variant(
- 'DEAL_II_WITH_OPENCASCADE', 'oce'
- ))
- if '+oce' in spec:
- options.append(
- self.define('OPENCASCADE_DIR', spec['oce'].prefix)
- )
+ options.append(self.define_from_variant("DEAL_II_WITH_OPENCASCADE", "oce"))
+ if "+oce" in spec:
+ options.append(self.define("OPENCASCADE_DIR", spec["oce"].prefix))
# As a final step, collect CXX flags that may have been
# added anywhere above:
- if len(cxx_flags_release) > 0 and '+optflags' in spec:
- options.extend([
- self.define(
- 'CMAKE_CXX_FLAGS_RELEASE', ' '.join(cxx_flags_release)
- ),
- self.define('CMAKE_CXX_FLAGS', ' '.join(cxx_flags))
- ])
+ if len(cxx_flags_release) > 0 and "+optflags" in spec:
+ options.extend(
+ [
+ self.define("CMAKE_CXX_FLAGS_RELEASE", " ".join(cxx_flags_release)),
+ self.define("CMAKE_CXX_FLAGS", " ".join(cxx_flags)),
+ ]
+ )
# Add flags for machine vectorization, used when tutorials
# and user code is built.
# See https://github.com/dealii/dealii/issues/9164
- options.append(
- self.define('DEAL_II_CXX_FLAGS', os.environ['SPACK_TARGET_ARGS'])
- )
+ options.append(self.define("DEAL_II_CXX_FLAGS", os.environ["SPACK_TARGET_ARGS"]))
return options
def setup_run_environment(self, env):
- env.set('DEAL_II_DIR', self.prefix)
+ env.set("DEAL_II_DIR", self.prefix)
def setup_build_environment(self, env):
spec = self.spec
- if '+cuda' in spec and '+mpi' in spec:
- env.set('CUDAHOSTCXX', spec['mpi'].mpicxx)
+ if "+cuda" in spec and "+mpi" in spec:
+ env.set("CUDAHOSTCXX", spec["mpi"].mpicxx)
diff --git a/var/spack/repos/builtin/packages/debbuild/package.py b/var/spack/repos/builtin/packages/debbuild/package.py
index 42528f3712..6b7743da3a 100644
--- a/var/spack/repos/builtin/packages/debbuild/package.py
+++ b/var/spack/repos/builtin/packages/debbuild/package.py
@@ -10,8 +10,8 @@ class Debbuild(AutotoolsPackage):
"""Build deb packages from rpm specifications."""
homepage = "https://github.com/debbuild/debbuild"
- url = "https://github.com/debbuild/debbuild/archive/20.04.0.tar.gz"
+ url = "https://github.com/debbuild/debbuild/archive/20.04.0.tar.gz"
- version('20.04.0', sha256='e17c4f5b37e8c16592ebd99281884cabc053fb890af26531e9825417047d1430')
+ version("20.04.0", sha256="e17c4f5b37e8c16592ebd99281884cabc053fb890af26531e9825417047d1430")
- depends_on('gettext')
+ depends_on("gettext")
diff --git a/var/spack/repos/builtin/packages/debugedit/package.py b/var/spack/repos/builtin/packages/debugedit/package.py
index c3c756962c..fe4b619b8d 100644
--- a/var/spack/repos/builtin/packages/debugedit/package.py
+++ b/var/spack/repos/builtin/packages/debugedit/package.py
@@ -15,21 +15,21 @@ class Debugedit(AutotoolsPackage):
"""
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"
+ git = "git://sourceware.org/git/debugedit.git"
+ url = "https://sourceware.org/ftp/debugedit/0.2/debugedit-0.2.tar.xz"
- version('develop', branch='main')
- version('0.2', sha256="b78258240bb7ec5bbff109495092dcc111aa0393f135f2d2a4b43887ba26a942")
+ version("develop", branch="main")
+ version("0.2", sha256="b78258240bb7ec5bbff109495092dcc111aa0393f135f2d2a4b43887ba26a942")
- depends_on('help2man', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('elfutils') # requires libdw
- depends_on('libiberty')
+ depends_on("help2man", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("elfutils") # requires libdw
+ depends_on("libiberty")
def build(self, spec, prefix):
# requires libiberty
- libiberty = spec['libiberty'].prefix.include.libiberty
- make('CPPFLAGS=-I%s' % libiberty)
+ libiberty = spec["libiberty"].prefix.include.libiberty
+ make("CPPFLAGS=-I%s" % libiberty)
diff --git a/var/spack/repos/builtin/packages/decentralized-internet/package.py b/var/spack/repos/builtin/packages/decentralized-internet/package.py
index db30218b22..fbcfa49073 100644
--- a/var/spack/repos/builtin/packages/decentralized-internet/package.py
+++ b/var/spack/repos/builtin/packages/decentralized-internet/package.py
@@ -8,7 +8,8 @@ from spack.package import *
class DecentralizedInternet(MakefilePackage):
"""A library for building decentralized and grid computing projects"""
+
homepage = "https://lonero.readthedocs.io"
- url = "https://github.com/Lonero-Team/Decentralized-Internet/releases/download/4.2.3/Decentralized.Internet.tar.gz"
- maintainers = ['Lonero-Team', 'Mentors4edu']
- version('4.2.3', sha256='2922b9128b411ece2f04d07942a453f1e772548aa27b3936c9f9bcfbc0737058')
+ url = "https://github.com/Lonero-Team/Decentralized-Internet/releases/download/4.2.3/Decentralized.Internet.tar.gz"
+ maintainers = ["Lonero-Team", "Mentors4edu"]
+ version("4.2.3", sha256="2922b9128b411ece2f04d07942a453f1e772548aa27b3936c9f9bcfbc0737058")
diff --git a/var/spack/repos/builtin/packages/deconseq-standalone/package.py b/var/spack/repos/builtin/packages/deconseq-standalone/package.py
index 58c7d7ed1b..c7a57dfdf9 100644
--- a/var/spack/repos/builtin/packages/deconseq-standalone/package.py
+++ b/var/spack/repos/builtin/packages/deconseq-standalone/package.py
@@ -11,31 +11,29 @@ class DeconseqStandalone(Package):
remove sequence contaminations from genomic and metagenomic datasets."""
homepage = "http://deconseq.sourceforge.net"
- url = "https://sourceforge.net/projects/deconseq/files/standalone/deconseq-standalone-0.4.3.tar.gz"
+ url = "https://sourceforge.net/projects/deconseq/files/standalone/deconseq-standalone-0.4.3.tar.gz"
- version('0.4.3', sha256='fb4050418c26a5203220f6396263da554326657590cffd65053eb8adc465ac65')
+ version("0.4.3", sha256="fb4050418c26a5203220f6396263da554326657590cffd65053eb8adc465ac65")
- depends_on('perl@5:')
+ depends_on("perl@5:")
def install(self, spec, prefix):
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl', 'deconseq.pl')
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl', 'splitFasta.pl')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "deconseq.pl")
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "splitFasta.pl")
mkdirp(prefix.bin)
- install('bwa64', prefix.bin)
- install('bwaMAC', prefix.bin)
- install('deconseq.pl', prefix.bin)
- install('splitFasta.pl', prefix.bin)
- install('DeconSeqConfig.pm', prefix)
-
- chmod = which('chmod')
- chmod('+x', join_path(prefix.bin, 'bwa64'))
- chmod('+x', join_path(prefix.bin, 'bwaMAC'))
- chmod('+x', join_path(prefix.bin, 'deconseq.pl'))
- chmod('+x', join_path(prefix.bin, 'splitFasta.pl'))
+ install("bwa64", prefix.bin)
+ install("bwaMAC", prefix.bin)
+ install("deconseq.pl", prefix.bin)
+ install("splitFasta.pl", prefix.bin)
+ install("DeconSeqConfig.pm", prefix)
+
+ chmod = which("chmod")
+ chmod("+x", join_path(prefix.bin, "bwa64"))
+ chmod("+x", join_path(prefix.bin, "bwaMAC"))
+ chmod("+x", join_path(prefix.bin, "deconseq.pl"))
+ chmod("+x", join_path(prefix.bin, "splitFasta.pl"))
def setup_run_environment(self, env):
- env.prepend_path('PERL5LIB', self.prefix)
+ env.prepend_path("PERL5LIB", self.prefix)
diff --git a/var/spack/repos/builtin/packages/dejagnu/package.py b/var/spack/repos/builtin/packages/dejagnu/package.py
index 40ba31495f..1af716541f 100644
--- a/var/spack/repos/builtin/packages/dejagnu/package.py
+++ b/var/spack/repos/builtin/packages/dejagnu/package.py
@@ -13,11 +13,11 @@ class Dejagnu(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/dejagnu/"
gnu_mirror_path = "dejagnu/dejagnu-1.6.tar.gz"
- version('1.6', sha256='00b64a618e2b6b581b16eb9131ee80f721baa2669fa0cdee93c500d1a652d763')
- version('1.4.4', sha256='d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d')
+ version("1.6", sha256="00b64a618e2b6b581b16eb9131ee80f721baa2669fa0cdee93c500d1a652d763")
+ version("1.4.4", sha256="d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d")
- depends_on('expect')
- depends_on('tcl@8.5:')
+ depends_on("expect")
+ depends_on("tcl@8.5:")
# DejaGnu 1.4.4 cannot be built in parallel
# `make check` also fails but this can be ignored
diff --git a/var/spack/repos/builtin/packages/delly2/package.py b/var/spack/repos/builtin/packages/delly2/package.py
index c67581ef4b..112d1cd24e 100644
--- a/var/spack/repos/builtin/packages/delly2/package.py
+++ b/var/spack/repos/builtin/packages/delly2/package.py
@@ -9,54 +9,53 @@ from spack.pkg.builtin.boost import Boost
class Delly2(MakefilePackage):
"""Delly2 is an integrated structural variant prediction method that can
- discover, genotype and visualize deletions, tandem duplications,
- inversions and translocations at single-nucleotide resolution in
- short-read massively parallel sequencing data.."""
+ discover, genotype and visualize deletions, tandem duplications,
+ inversions and translocations at single-nucleotide resolution in
+ short-read massively parallel sequencing data.."""
homepage = "https://github.com/dellytools/delly"
- git = "https://github.com/dellytools/delly.git"
+ git = "https://github.com/dellytools/delly.git"
- version('0.9.1', tag='v0.9.1')
- version('2017-08-03', commit='e32a9cd55c7e3df5a6ae4a91f31a0deb354529fc', deprecated=True)
+ version("0.9.1", tag="v0.9.1")
+ version("2017-08-03", commit="e32a9cd55c7e3df5a6ae4a91f31a0deb354529fc", deprecated=True)
- variant('openmp', default=False, description='Build with openmp support')
+ variant("openmp", default=False, description="Build with openmp support")
- depends_on('htslib', type=('build', 'link'))
- depends_on('boost', type=('build', 'link'))
+ depends_on("htslib", type=("build", "link"))
+ depends_on("boost", type=("build", "link"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('bcftools', type='run')
+ depends_on("bcftools", type="run")
def edit(self, spec, prefix):
- if '+openmp' in self.spec:
- env['PARALLEL'] = '1'
+ if "+openmp" in self.spec:
+ env["PARALLEL"] = "1"
# Only want to build delly source, not submodules. Build fails
# using provided submodules, succeeds with existing spack recipes.
- if self.spec.satisfies('@2017-08-03'):
- makefile = FileFilter('Makefile')
- makefile.filter('HTSLIBSOURCES =', '#HTSLIBSOURCES')
- makefile.filter('BOOSTSOURCES =', '#BOOSTSOURCES')
- makefile.filter('SEQTK_ROOT ?=', '#SEQTK_ROOT')
- makefile.filter('BOOST_ROOT ?=', '#BOOST_ROOT')
- makefile.filter('cd src', '# cd src')
- makefile.filter('.htslib ', '')
- makefile.filter('.bcftools ', '')
- makefile.filter('.boost ', '')
- makefile.filter('.htslib:', '# .htslib:')
- makefile.filter('.bcftools:', '# .bcftools:')
- makefile.filter('.boost:', '# .boost:')
+ if self.spec.satisfies("@2017-08-03"):
+ makefile = FileFilter("Makefile")
+ makefile.filter("HTSLIBSOURCES =", "#HTSLIBSOURCES")
+ makefile.filter("BOOSTSOURCES =", "#BOOSTSOURCES")
+ makefile.filter("SEQTK_ROOT ?=", "#SEQTK_ROOT")
+ makefile.filter("BOOST_ROOT ?=", "#BOOST_ROOT")
+ makefile.filter("cd src", "# cd src")
+ makefile.filter(".htslib ", "")
+ makefile.filter(".bcftools ", "")
+ makefile.filter(".boost ", "")
+ makefile.filter(".htslib:", "# .htslib:")
+ makefile.filter(".bcftools:", "# .bcftools:")
+ makefile.filter(".boost:", "# .boost:")
else:
- env['EBROOTHTSLIB'] = self.spec['htslib'].prefix
- filter_file('BUILT_PROGRAMS =.*$',
- 'BUILT_PROGRAMS = src/delly src/dpe', 'Makefile')
- filter_file('${SUBMODULES}', '', 'Makefile', string=True)
+ env["EBROOTHTSLIB"] = self.spec["htslib"].prefix
+ filter_file("BUILT_PROGRAMS =.*$", "BUILT_PROGRAMS = src/delly src/dpe", "Makefile")
+ filter_file("${SUBMODULES}", "", "Makefile", string=True)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('src'):
- install('delly', prefix.bin)
- install('dpe', prefix.bin)
- if self.spec.satisfies('@2017-08-03'):
- install('cov', prefix.bin)
+ with working_dir("src"):
+ install("delly", prefix.bin)
+ install("dpe", prefix.bin)
+ if self.spec.satisfies("@2017-08-03"):
+ install("cov", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/delphes/package.py b/var/spack/repos/builtin/packages/delphes/package.py
index b19cb0dc16..ba9bcd87b8 100644
--- a/var/spack/repos/builtin/packages/delphes/package.py
+++ b/var/spack/repos/builtin/packages/delphes/package.py
@@ -15,54 +15,54 @@ class Delphes(CMakePackage):
git = "https://github.com/delphes/delphes.git"
url = "http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.2.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan', 'vvolkl', 'selvaggi']
+ maintainers = ["drbenmorgan", "vvolkl", "selvaggi"]
- version('master', branch='master')
- version('3.5.0', sha256='37685b945ef43aab09217d70b0ac7f9c5d3c2c27cf3b3f8d64c4e6eb5c5fd9aa')
- version('3.4.2', sha256='d46a7c5474de650befdb89377115feee31f1743107ceb3d8da699be9d48c097b')
- version('3.4.1', sha256='4b5a2aeac326643f45b6d45c39ba2302e323eeb86d8cb58843c6e73949b1208a')
- version('3.4.0', sha256='c0f9500663a0c3a5c1eddcee598a67b5bcfc9318303195c6cacc0590b4023fa1')
- version('3.3.3', sha256='404de818a6b7852b01187ccf598d8ac19d308b9361f128751ef003cde248ff00')
- version('3.3.2', sha256='b8dc066e480678bb50ea0b68d157c391d47f66c084bda602d3d498538e682622')
- version('3.3.1', sha256='d8fcaa9711b5892ba24b2c7be38158dedbe552b159961f9d29887b2cc7eb2e83')
- version('3.3.0', sha256='3fcdcd31827227ff3d0d56df908b12289c67aa6d01c5725a2a9441c200f3966f')
- version('3.2.0', sha256='3510b0852c750120425f9b014cada25d48b90b29c512b974a9ffbd7aa80ccde4')
- version('3.1.2', sha256='edfccc47f7666d3607e86db82c6c79cfb10716423b496f0c0bdd4060b717ea1d')
- version('3.1.1', sha256='c4128575b6103239ca13de392f47da2eaedfd93c3789b1ecb32eea09da3408e4')
- version('3.1.0', sha256='c37b07aea3e57b39d34bf07f8afd209e36b278cf3792cd6e970d96a2c3b114eb')
- version('3.0.12', sha256='55b4cf25f681c75457e33ad4ee615b9ab66317216675ca5f466ab256aa85cd16')
- version('3.0.11', sha256='870921c8070762dc56aa0b8e0e07d1756584399e8740c848d330fc0fcb5e0604')
- version('3.0.10', sha256='872a386baf298cab14e42aac198dbf7184a2ab7c28ee712448060e1dec078d34')
- version('3.0.9', sha256='d12592fe66062a51e513a8d070fe1f49b672a4328bad2aa5cdb682937391a639')
- version('3.0.8', sha256='8ab146ca3c163932ab21df9168d8ca86dbb1c3494b7bdc3e143743d769803c23')
- version('3.0.7', sha256='7f43c84bca38fb8a41d7840dd2d7fab52456182babaa1e528791d0f4e517aba8')
- version('3.0.6', sha256='9e225731d57d2a76d35886841f8eff121bb3a45560b16077bd8c351151581d88')
- version('3.0.5', sha256='ab64ec6d2476fbfa40562e7edb510a8ab4c4fe5be77a4353ebf315c2af181a80')
+ version("master", branch="master")
+ version("3.5.0", sha256="37685b945ef43aab09217d70b0ac7f9c5d3c2c27cf3b3f8d64c4e6eb5c5fd9aa")
+ version("3.4.2", sha256="d46a7c5474de650befdb89377115feee31f1743107ceb3d8da699be9d48c097b")
+ version("3.4.1", sha256="4b5a2aeac326643f45b6d45c39ba2302e323eeb86d8cb58843c6e73949b1208a")
+ version("3.4.0", sha256="c0f9500663a0c3a5c1eddcee598a67b5bcfc9318303195c6cacc0590b4023fa1")
+ version("3.3.3", sha256="404de818a6b7852b01187ccf598d8ac19d308b9361f128751ef003cde248ff00")
+ version("3.3.2", sha256="b8dc066e480678bb50ea0b68d157c391d47f66c084bda602d3d498538e682622")
+ version("3.3.1", sha256="d8fcaa9711b5892ba24b2c7be38158dedbe552b159961f9d29887b2cc7eb2e83")
+ version("3.3.0", sha256="3fcdcd31827227ff3d0d56df908b12289c67aa6d01c5725a2a9441c200f3966f")
+ version("3.2.0", sha256="3510b0852c750120425f9b014cada25d48b90b29c512b974a9ffbd7aa80ccde4")
+ version("3.1.2", sha256="edfccc47f7666d3607e86db82c6c79cfb10716423b496f0c0bdd4060b717ea1d")
+ version("3.1.1", sha256="c4128575b6103239ca13de392f47da2eaedfd93c3789b1ecb32eea09da3408e4")
+ version("3.1.0", sha256="c37b07aea3e57b39d34bf07f8afd209e36b278cf3792cd6e970d96a2c3b114eb")
+ version("3.0.12", sha256="55b4cf25f681c75457e33ad4ee615b9ab66317216675ca5f466ab256aa85cd16")
+ version("3.0.11", sha256="870921c8070762dc56aa0b8e0e07d1756584399e8740c848d330fc0fcb5e0604")
+ version("3.0.10", sha256="872a386baf298cab14e42aac198dbf7184a2ab7c28ee712448060e1dec078d34")
+ version("3.0.9", sha256="d12592fe66062a51e513a8d070fe1f49b672a4328bad2aa5cdb682937391a639")
+ version("3.0.8", sha256="8ab146ca3c163932ab21df9168d8ca86dbb1c3494b7bdc3e143743d769803c23")
+ version("3.0.7", sha256="7f43c84bca38fb8a41d7840dd2d7fab52456182babaa1e528791d0f4e517aba8")
+ version("3.0.6", sha256="9e225731d57d2a76d35886841f8eff121bb3a45560b16077bd8c351151581d88")
+ version("3.0.5", sha256="ab64ec6d2476fbfa40562e7edb510a8ab4c4fe5be77a4353ebf315c2af181a80")
- variant('pythia8', default=True,
- description="build with pythia8")
+ variant("pythia8", default=True, description="build with pythia8")
- variant('cxxstd',
- default='17',
- values=('14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="17",
+ values=("14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('cmake', type='build')
- depends_on('root cxxstd=14', when='cxxstd=14')
- depends_on('root cxxstd=17', when='cxxstd=17')
- depends_on('pythia8', when="+pythia8")
+ depends_on("cmake", type="build")
+ depends_on("root cxxstd=14", when="cxxstd=14")
+ depends_on("root cxxstd=17", when="cxxstd=17")
+ depends_on("pythia8", when="+pythia8")
def cmake_args(self):
args = []
# C++ Standard
- args.append('-DCMAKE_CXX_STANDARD=%s'
- % self.spec.variants['cxxstd'].value)
+ args.append("-DCMAKE_CXX_STANDARD=%s" % self.spec.variants["cxxstd"].value)
return args
def setup_run_environment(self, env):
# make the cards distributed with delphes more easily accessible
- env.set('DELPHES_DIR', self.prefix)
- env.set('DELPHES', self.prefix)
+ env.set("DELPHES_DIR", self.prefix)
+ env.set("DELPHES", self.prefix)
diff --git a/var/spack/repos/builtin/packages/delta/package.py b/var/spack/repos/builtin/packages/delta/package.py
index 04dfa76850..6091495423 100644
--- a/var/spack/repos/builtin/packages/delta/package.py
+++ b/var/spack/repos/builtin/packages/delta/package.py
@@ -11,18 +11,18 @@ class Delta(Package):
to Apache Spark and other big-data engines."""
homepage = "https://delta.io/"
- url = "https://github.com/delta-io/delta/archive/v0.7.0.tar.gz"
+ url = "https://github.com/delta-io/delta/archive/v0.7.0.tar.gz"
- version('0.7.0', sha256='1fb01e36c1cf670f201c615e5fd7df88f72c27157b7d2780d146e21b266bdb64')
- version('0.6.1', sha256='c932eaf01ead08ff30ddb13ab5ad9cd43405ed8f12d5fff49bd27c59033b80df')
- version('0.6.0', sha256='bd4a4b0f164bc6a9efc58369b3f466fa2e6ae977bd6f9cd97d83dfd27a90ba3a')
- version('0.5.0', sha256='67850f20a64a459c84d2a4ed2f3bf6aa06dbb6d0da59d1499a6e7e439c6eaf04')
- version('0.4.0', sha256='177ab0bd956a261370aea577c8847bf89541d265ce97a7e18cd6ca1a1067eb1c')
+ version("0.7.0", sha256="1fb01e36c1cf670f201c615e5fd7df88f72c27157b7d2780d146e21b266bdb64")
+ version("0.6.1", sha256="c932eaf01ead08ff30ddb13ab5ad9cd43405ed8f12d5fff49bd27c59033b80df")
+ version("0.6.0", sha256="bd4a4b0f164bc6a9efc58369b3f466fa2e6ae977bd6f9cd97d83dfd27a90ba3a")
+ version("0.5.0", sha256="67850f20a64a459c84d2a4ed2f3bf6aa06dbb6d0da59d1499a6e7e439c6eaf04")
+ version("0.4.0", sha256="177ab0bd956a261370aea577c8847bf89541d265ce97a7e18cd6ca1a1067eb1c")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
def install(self, spec, prefix):
- bash = which('bash')
- bash('build/sbt', 'compile')
- bash('build/sbt', 'package')
- install_tree('target', prefix.target)
+ bash = which("bash")
+ bash("build/sbt", "compile")
+ bash("build/sbt", "package")
+ install_tree("target", prefix.target)
diff --git a/var/spack/repos/builtin/packages/denovogear/package.py b/var/spack/repos/builtin/packages/denovogear/package.py
index b5356d9e0a..e561a0477f 100644
--- a/var/spack/repos/builtin/packages/denovogear/package.py
+++ b/var/spack/repos/builtin/packages/denovogear/package.py
@@ -13,21 +13,21 @@ class Denovogear(CMakePackage):
to reduce the false positve rate."""
homepage = "https://github.com/denovogear/denovogear"
- url = "https://github.com/denovogear/denovogear/archive/v1.1.1.tar.gz"
+ url = "https://github.com/denovogear/denovogear/archive/v1.1.1.tar.gz"
- version('1.1.1', sha256='799fe99193e9cf12320893cf020a3251022f60a49de8677a1c5a18c578fe4be2')
- version('1.1.0', sha256='f818f80cd67183294c8aae312cad8311e6a9abede1f687567bb079d29f79c005')
+ version("1.1.1", sha256="799fe99193e9cf12320893cf020a3251022f60a49de8677a1c5a18c578fe4be2")
+ version("1.1.0", sha256="f818f80cd67183294c8aae312cad8311e6a9abede1f687567bb079d29f79c005")
- depends_on('cmake@3.1:', type=('build'))
+ depends_on("cmake@3.1:", type=("build"))
depends_on(
- 'boost@1.47:1.60'
- '+exception+filesystem+system+serialization+graph+iostreams+regex+math+container',
- type='build',
+ "boost@1.47:1.60"
+ "+exception+filesystem+system+serialization+graph+iostreams+regex+math+container",
+ type="build",
)
- depends_on('htslib@1.2:', type=('build'))
- depends_on('eigen', type=('build'))
- depends_on('zlib', type=('link'))
+ depends_on("htslib@1.2:", type=("build"))
+ depends_on("eigen", type=("build"))
+ depends_on("zlib", type=("link"))
- patch('stream-open.patch', when='@:1.1.1')
+ patch("stream-open.patch", when="@:1.1.1")
# fix: ordered comparison between pointer and zero.
- patch('newmat6.cpp.patch')
+ patch("newmat6.cpp.patch")
diff --git a/var/spack/repos/builtin/packages/dftbplus/package.py b/var/spack/repos/builtin/packages/dftbplus/package.py
index 21c427c5ff..52dcda9753 100644
--- a/var/spack/repos/builtin/packages/dftbplus/package.py
+++ b/var/spack/repos/builtin/packages/dftbplus/package.py
@@ -14,51 +14,63 @@ class Dftbplus(MakefilePackage):
containing many extensions to the original method."""
homepage = "https://www.dftbplus.org"
- url = "https://github.com/dftbplus/dftbplus/archive/19.1.tar.gz"
-
- version('19.1', sha256='4d07f5c6102f06999d8cfdb1d17f5b59f9f2b804697f14b3bc562e3ea094b8a8')
-
- resource(name='slakos',
- url='https://github.com/dftbplus/testparams/archive/dftbplus-18.2.tar.gz',
- sha256='bd191b3d240c1a81a8754a365e53a78b581fc92eb074dd5beb8b56a669a8d3d1',
- destination='external/slakos',
- when='@18.2:')
-
- variant('mpi', default=True,
- description="Build an MPI-paralelised version of the code.")
-
- variant('gpu', default=False,
- description="Use the MAGMA library "
- "for GPU accelerated computation")
-
- variant('elsi', default=False,
- description="Use the ELSI library for large scale systems. "
- "Only has any effect if you build with '+mpi'")
-
- variant('sockets', default=False,
- description="Whether the socket library "
- "(external control) should be linked")
-
- variant('arpack', default=False,
- description="Use ARPACK for excited state DFTB functionality")
-
- variant('transport', default=False,
- description="Whether transport via libNEGF should be included. "
- "Only affects parallel build. "
- "(serial version is built without libNEGF/transport)")
-
- variant('dftd3', default=False,
- description="Use DftD3 dispersion library "
- "(if you need this dispersion model)")
-
- depends_on('lapack')
- depends_on('blas')
- depends_on('scalapack', when="+mpi")
- depends_on('mpi', when="+mpi")
- depends_on('elsi', when="+elsi")
- depends_on('magma', when="+gpu")
- depends_on('arpack-ng', when="+arpack")
- depends_on('dftd3-lib@0.9.2', when="+dftd3")
+ url = "https://github.com/dftbplus/dftbplus/archive/19.1.tar.gz"
+
+ version("19.1", sha256="4d07f5c6102f06999d8cfdb1d17f5b59f9f2b804697f14b3bc562e3ea094b8a8")
+
+ resource(
+ name="slakos",
+ url="https://github.com/dftbplus/testparams/archive/dftbplus-18.2.tar.gz",
+ sha256="bd191b3d240c1a81a8754a365e53a78b581fc92eb074dd5beb8b56a669a8d3d1",
+ destination="external/slakos",
+ when="@18.2:",
+ )
+
+ variant("mpi", default=True, description="Build an MPI-paralelised version of the code.")
+
+ variant(
+ "gpu",
+ default=False,
+ description="Use the MAGMA library " "for GPU accelerated computation",
+ )
+
+ variant(
+ "elsi",
+ default=False,
+ description="Use the ELSI library for large scale systems. "
+ "Only has any effect if you build with '+mpi'",
+ )
+
+ variant(
+ "sockets",
+ default=False,
+ description="Whether the socket library " "(external control) should be linked",
+ )
+
+ variant("arpack", default=False, description="Use ARPACK for excited state DFTB functionality")
+
+ variant(
+ "transport",
+ default=False,
+ description="Whether transport via libNEGF should be included. "
+ "Only affects parallel build. "
+ "(serial version is built without libNEGF/transport)",
+ )
+
+ variant(
+ "dftd3",
+ default=False,
+ description="Use DftD3 dispersion library " "(if you need this dispersion model)",
+ )
+
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("scalapack", when="+mpi")
+ depends_on("mpi", when="+mpi")
+ depends_on("elsi", when="+elsi")
+ depends_on("magma", when="+gpu")
+ depends_on("arpack-ng", when="+arpack")
+ depends_on("dftd3-lib@0.9.2", when="+dftd3")
def edit(self, spec, prefix):
"""
@@ -79,70 +91,72 @@ class Dftbplus(MakefilePackage):
archmake = join_path(".", "sys", "make.x86_64-linux-gnu")
copy(archmake, join_path(dircwd, "make.arch"))
- march = FileFilter(join_path(dircwd, 'make.arch'))
+ march = FileFilter(join_path(dircwd, "make.arch"))
- mconfig = FileFilter(join_path(dircwd, 'make.config'))
+ mconfig = FileFilter(join_path(dircwd, "make.config"))
- mconfig.filter('INSTALLDIR := .*', 'INSTALLDIR := {0}'.format(prefix))
+ mconfig.filter("INSTALLDIR := .*", "INSTALLDIR := {0}".format(prefix))
- if '+gpu' in self.spec:
- march.filter('MAGMADIR = .*',
- 'MAGMADIR = {0}'.format(spec['magma'].prefix))
+ if "+gpu" in self.spec:
+ march.filter("MAGMADIR = .*", "MAGMADIR = {0}".format(spec["magma"].prefix))
- mconfig.filter('WITH_GPU := .*', 'WITH_GPU := 1')
+ mconfig.filter("WITH_GPU := .*", "WITH_GPU := 1")
- if '+mpi' in self.spec:
- march.filter('SCALAPACKDIR = .*',
- 'SCALAPACKDIR = {0}'.format(spec['scalapack'].prefix))
+ if "+mpi" in self.spec:
+ march.filter(
+ "SCALAPACKDIR = .*", "SCALAPACKDIR = {0}".format(spec["scalapack"].prefix)
+ )
- march.filter('LIB_LAPACK = -l.*',
- 'LIB_LAPACK = {0}'.format(spec['blas'].libs.ld_flags))
+ march.filter(
+ "LIB_LAPACK = -l.*", "LIB_LAPACK = {0}".format(spec["blas"].libs.ld_flags)
+ )
- march.filter('mpifort', '{0}'.format(spec['mpi'].mpifc))
+ march.filter("mpifort", "{0}".format(spec["mpi"].mpifc))
- mconfig.filter('WITH_MPI := .*', 'WITH_MPI := 1')
+ mconfig.filter("WITH_MPI := .*", "WITH_MPI := 1")
- if '+elsi' in self.spec:
- mconfig.filter('WITH_ELSI := .*', 'WITH_ELSI := 1')
+ if "+elsi" in self.spec:
+ mconfig.filter("WITH_ELSI := .*", "WITH_ELSI := 1")
- has_pexsi = '+enable_pexsi' in spec['elsi']
+ has_pexsi = "+enable_pexsi" in spec["elsi"]
- mconfig.filter('WITH_PEXSI := .*', 'WITH_PEXSI := {0}'.format(
- '1' if has_pexsi is True else '0'
- ))
+ mconfig.filter(
+ "WITH_PEXSI := .*",
+ "WITH_PEXSI := {0}".format("1" if has_pexsi is True else "0"),
+ )
- march.filter("ELSIINCDIR .*", "ELSIINCDIR = {0}".format(
- spec['elsi'].prefix.include
- ))
+ march.filter(
+ "ELSIINCDIR .*", "ELSIINCDIR = {0}".format(spec["elsi"].prefix.include)
+ )
- march.filter("ELSIDIR .*",
- "ELSIDIR = {0}".format(spec['elsi'].prefix))
+ march.filter("ELSIDIR .*", "ELSIDIR = {0}".format(spec["elsi"].prefix))
else:
- march.filter('LIB_LAPACK += -l.*', 'LIB_LAPACK += {0}'.format(
- spec['blas'].libs.ld_flags))
+ march.filter(
+ "LIB_LAPACK += -l.*", "LIB_LAPACK += {0}".format(spec["blas"].libs.ld_flags)
+ )
- if '+sockets' in self.spec:
- mconfig.filter('WITH_SOCKETS := .*', 'WITH_SOCKETS := 1')
+ if "+sockets" in self.spec:
+ mconfig.filter("WITH_SOCKETS := .*", "WITH_SOCKETS := 1")
- if '+transport' in self.spec:
- mconfig.filter('WITH_TRANSPORT := .*', 'WITH_TRANSPORT := 1')
+ if "+transport" in self.spec:
+ mconfig.filter("WITH_TRANSPORT := .*", "WITH_TRANSPORT := 1")
- if '+arpack' in self.spec:
- march.filter('ARPACK_LIBS = .*', 'ARPACK_LIBS = {0}'.format(
- spec['arpack-ng'].libs.ld_flags
- ))
+ if "+arpack" in self.spec:
+ march.filter(
+ "ARPACK_LIBS = .*", "ARPACK_LIBS = {0}".format(spec["arpack-ng"].libs.ld_flags)
+ )
- mconfig.filter('WITH_ARPACK := .*', 'WITH_ARPACK := 1')
+ mconfig.filter("WITH_ARPACK := .*", "WITH_ARPACK := 1")
- if '+dftd3' in self.spec:
- march.filter('COMPILE_DFTD3 = .*', 'COMPILE_DFTD3 = 0')
- march.filter('DFTD3_INCS = .*', 'DFTD3_INCS = -I{0}'.format(
- spec['dftd3-lib'].prefix.include
- ))
+ if "+dftd3" in self.spec:
+ march.filter("COMPILE_DFTD3 = .*", "COMPILE_DFTD3 = 0")
+ march.filter(
+ "DFTD3_INCS = .*", "DFTD3_INCS = -I{0}".format(spec["dftd3-lib"].prefix.include)
+ )
- march.filter('DFTD3_LIBS = .*',
- 'DFTD3_LIBS = -L{0} -ldftd3'.format(
- spec['dftd3-lib'].prefix))
+ march.filter(
+ "DFTD3_LIBS = .*", "DFTD3_LIBS = -L{0} -ldftd3".format(spec["dftd3-lib"].prefix)
+ )
- mconfig.filter('WITH_DFTD3 := .*', 'WITH_DFTD3 := 1')
+ mconfig.filter("WITH_DFTD3 := .*", "WITH_DFTD3 := 1")
diff --git a/var/spack/repos/builtin/packages/dftd3-lib/package.py b/var/spack/repos/builtin/packages/dftd3-lib/package.py
index 7b0d69c3d3..a7b6acc79a 100644
--- a/var/spack/repos/builtin/packages/dftd3-lib/package.py
+++ b/var/spack/repos/builtin/packages/dftd3-lib/package.py
@@ -11,9 +11,9 @@ class Dftd3Lib(MakefilePackage):
Hartree-Fock and semi-empirical quantum chemical methods"""
homepage = "https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3"
- url = "https://github.com/dftbplus/dftd3-lib/archive/0.9.2.tar.gz"
+ url = "https://github.com/dftbplus/dftd3-lib/archive/0.9.2.tar.gz"
- version('0.9.2', sha256='4178f3cf2f3e7e982a7084ec66bac92b4fdf164537d9fc0ada840a11b784f0e0')
+ version("0.9.2", sha256="4178f3cf2f3e7e982a7084ec66bac92b4fdf164537d9fc0ada840a11b784f0e0")
# This fixes a concurrency bug, where make would try to start compiling
# the dftd3 target before the lib target ended.
@@ -21,7 +21,7 @@ class Dftd3Lib(MakefilePackage):
parallel = False
def edit(self, spec, prefix):
- makefile = FileFilter('make.arch')
+ makefile = FileFilter("make.arch")
makefile.filter("FC = gfortran", "")
makefile.filter("LN = gfortran", "LN = $(FC)")
diff --git a/var/spack/repos/builtin/packages/dftfe/package.py b/var/spack/repos/builtin/packages/dftfe/package.py
index 031356da9e..c58674d60d 100644
--- a/var/spack/repos/builtin/packages/dftfe/package.py
+++ b/var/spack/repos/builtin/packages/dftfe/package.py
@@ -9,57 +9,62 @@ class Dftfe(CMakePackage):
"""Real-space DFT calculations using Finite Elements"""
homepage = "https://sites.google.com/umich.edu/dftfe/"
- url = "https://github.com/dftfeDevelopers/dftfe/archive/0.5.1.tar.gz"
+ url = "https://github.com/dftfeDevelopers/dftfe/archive/0.5.1.tar.gz"
- maintainers = ['rmsds']
+ maintainers = ["rmsds"]
- version('0.6.0', sha256='66b633a3aae2f557f241ee45b2faa41aa179e4a0bdf39c4ae2e679a2970845a1')
- version('0.5.2', sha256='9dc4fa9f16b00be6fb1890d8af4a1cd3e4a2f06a2539df999671a09f3d26ec64')
- version('0.5.1', sha256='e47272d3783cf675dcd8bc31da07765695164110bfebbbab29f5815531f148c1')
- version('0.5.0', sha256='9aadb9a9b059f98f88c7756b417423dc67d02f1cdd2ed7472ba395fcfafc6dcb')
+ version("0.6.0", sha256="66b633a3aae2f557f241ee45b2faa41aa179e4a0bdf39c4ae2e679a2970845a1")
+ version("0.5.2", sha256="9dc4fa9f16b00be6fb1890d8af4a1cd3e4a2f06a2539df999671a09f3d26ec64")
+ version("0.5.1", sha256="e47272d3783cf675dcd8bc31da07765695164110bfebbbab29f5815531f148c1")
+ version("0.5.0", sha256="9aadb9a9b059f98f88c7756b417423dc67d02f1cdd2ed7472ba395fcfafc6dcb")
- variant('scalapack', default=True, description='Use ScaLAPACK, strongly recommended for problem sizes >5000 electrons')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant(
+ "scalapack",
+ default=True,
+ description="Use ScaLAPACK, strongly recommended for problem sizes >5000 electrons",
+ )
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
- depends_on('mpi')
- depends_on('dealii+p4est+petsc+slepc+int64+scalapack+mpi')
- depends_on('dealii+p4est+petsc+slepc+int64+scalapack+mpi@9.0.0:', when='@0.5.1:')
- depends_on('scalapack', when='+scalapack')
- depends_on('alglib')
- depends_on('libxc')
- depends_on('spglib')
- depends_on('libxml2')
+ depends_on("mpi")
+ depends_on("dealii+p4est+petsc+slepc+int64+scalapack+mpi")
+ depends_on("dealii+p4est+petsc+slepc+int64+scalapack+mpi@9.0.0:", when="@0.5.1:")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("alglib")
+ depends_on("libxc")
+ depends_on("spglib")
+ depends_on("libxml2")
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER={0}'.format(spec['mpi'].mpicc),
- '-DCMAKE_CXX_COMPILER={0}'.format(spec['mpi'].mpicxx),
- '-DALGLIB_DIR={0}'.format(spec['alglib'].prefix),
- '-DLIBXC_DIR={0}'.format(spec['libxc'].prefix),
- '-DXML_LIB_DIR={0}/lib'.format(spec['libxml2'].prefix),
- '-DXML_INCLUDE_DIR={0}/include'.format(spec['libxml2'].prefix),
- '-DSPGLIB_DIR={0}'.format(spec['spglib'].prefix),
+ "-DCMAKE_C_COMPILER={0}".format(spec["mpi"].mpicc),
+ "-DCMAKE_CXX_COMPILER={0}".format(spec["mpi"].mpicxx),
+ "-DALGLIB_DIR={0}".format(spec["alglib"].prefix),
+ "-DLIBXC_DIR={0}".format(spec["libxc"].prefix),
+ "-DXML_LIB_DIR={0}/lib".format(spec["libxml2"].prefix),
+ "-DXML_INCLUDE_DIR={0}/include".format(spec["libxml2"].prefix),
+ "-DSPGLIB_DIR={0}".format(spec["spglib"].prefix),
]
- if spec.satisfies('^intel-mkl'):
- args.append('-DWITH_INTEL_MKL=ON')
+ if spec.satisfies("^intel-mkl"):
+ args.append("-DWITH_INTEL_MKL=ON")
else:
- args.append('-DWITH_INTEL_MKL=OFF')
+ args.append("-DWITH_INTEL_MKL=OFF")
- if spec.satisfies('%gcc'):
- args.append('-DCMAKE_C_FLAGS=-fpermissive')
- args.append('-DCMAKE_CXX_FLAGS=-fpermissive')
+ if spec.satisfies("%gcc"):
+ args.append("-DCMAKE_C_FLAGS=-fpermissive")
+ args.append("-DCMAKE_CXX_FLAGS=-fpermissive")
return args
- @when('@:0.5.2')
+ @when("@:0.5.2")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.lib64)
- install(join_path(self.build_directory, 'main'),
- join_path(prefix.bin, 'dftfe'))
- install(join_path(self.build_directory, 'libdftfe.so'),
- prefix.lib64)
+ install(join_path(self.build_directory, "main"), join_path(prefix.bin, "dftfe"))
+ install(join_path(self.build_directory, "libdftfe.so"), prefix.lib64)
diff --git a/var/spack/repos/builtin/packages/dhpmm-f/package.py b/var/spack/repos/builtin/packages/dhpmm-f/package.py
index 228daecf2b..f5ebdff27e 100644
--- a/var/spack/repos/builtin/packages/dhpmm-f/package.py
+++ b/var/spack/repos/builtin/packages/dhpmm-f/package.py
@@ -10,42 +10,38 @@ class DhpmmF(MakefilePackage):
"""DHPMM_P:High-precision Matrix Multiplication with Faithful Rounding"""
homepage = "http://www.math.twcu.ac.jp/ogita/post-k/"
- url = "http://www.math.twcu.ac.jp/ogita/post-k/software/DHPMM_F/DHPMM_F_alpha.tar.gz"
+ url = "http://www.math.twcu.ac.jp/ogita/post-k/software/DHPMM_F/DHPMM_F_alpha.tar.gz"
- version('alpha', sha256='35321ecbc749f2682775ffcd27833afc8c8eb4fa7753ce769727c9d1fe097848')
+ version("alpha", sha256="35321ecbc749f2682775ffcd27833afc8c8eb4fa7753ce769727c9d1fe097848")
- depends_on('blas', type='link')
- depends_on('lapack', type='link')
+ depends_on("blas", type="link")
+ depends_on("lapack", type="link")
def patch(self):
- math_libs = self.spec['lapack'].libs + self.spec['blas'].libs
- makefile = FileFilter('Makefile')
- if self.spec.satisfies('%gcc'):
- makefile.filter(r'^MKL\s+=\s1', 'MKL=0')
- makefile.filter(r'^CC\s+=\sgcc',
- 'CC={0}'.format(spack_cc))
- makefile.filter(r'^CXX\s+=\sg\+\+',
- 'CXX={0}'.format(spack_cxx))
- makefile.filter(r'^BLASLIBS\s+=\s-llapack\s-lblas',
- 'BLASLIBS={0}'.format(math_libs.ld_flags))
- elif self.spec.satisfies('%fj'):
- makefile.filter(r'^#ENV\s+=\sFX100', 'ENV=FX100')
- makefile.filter(r'^ENV\s+=\sGCC', '#ENV=GCC')
- makefile.filter(r'^MKL\s+=\s1', 'MKL=0')
- makefile.filter(r'^CC\s+=\sfccpx',
- 'CC={0}'.format(spack_cc))
- makefile.filter(r'^CXX\s+=\sFCCpx',
- 'CXX={0}'.format(spack_cxx))
- makefile.filter(r'^BLASLIBS\s+=\s-llapack\s-lblas',
- 'BLASLIBS={0}'.format(math_libs.ld_flags))
- elif self.spec.satisfies('%intel'):
- makefile.filter(r'^ENV\s+=\sGCC', '#ENV=GCC')
- makefile.filter(r'^ENV\s+=\sICC', 'ENV=ICC')
- makefile.filter(r'^CC\s+=\sicc',
- 'CC={0}'.format(spack_cc))
- makefile.filter(r'^CXX\s+=\sicc',
- 'CXX={0}'.format(spack_cxx))
+ math_libs = self.spec["lapack"].libs + self.spec["blas"].libs
+ makefile = FileFilter("Makefile")
+ if self.spec.satisfies("%gcc"):
+ makefile.filter(r"^MKL\s+=\s1", "MKL=0")
+ makefile.filter(r"^CC\s+=\sgcc", "CC={0}".format(spack_cc))
+ makefile.filter(r"^CXX\s+=\sg\+\+", "CXX={0}".format(spack_cxx))
+ makefile.filter(
+ r"^BLASLIBS\s+=\s-llapack\s-lblas", "BLASLIBS={0}".format(math_libs.ld_flags)
+ )
+ elif self.spec.satisfies("%fj"):
+ makefile.filter(r"^#ENV\s+=\sFX100", "ENV=FX100")
+ makefile.filter(r"^ENV\s+=\sGCC", "#ENV=GCC")
+ makefile.filter(r"^MKL\s+=\s1", "MKL=0")
+ makefile.filter(r"^CC\s+=\sfccpx", "CC={0}".format(spack_cc))
+ makefile.filter(r"^CXX\s+=\sFCCpx", "CXX={0}".format(spack_cxx))
+ makefile.filter(
+ r"^BLASLIBS\s+=\s-llapack\s-lblas", "BLASLIBS={0}".format(math_libs.ld_flags)
+ )
+ elif self.spec.satisfies("%intel"):
+ makefile.filter(r"^ENV\s+=\sGCC", "#ENV=GCC")
+ makefile.filter(r"^ENV\s+=\sICC", "ENV=ICC")
+ makefile.filter(r"^CC\s+=\sicc", "CC={0}".format(spack_cc))
+ makefile.filter(r"^CXX\s+=\sicc", "CXX={0}".format(spack_cxx))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('test/source4_SpMV', prefix.bin)
+ install("test/source4_SpMV", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dhtest/package.py b/var/spack/repos/builtin/packages/dhtest/package.py
index eaf195d11e..134227678a 100644
--- a/var/spack/repos/builtin/packages/dhtest/package.py
+++ b/var/spack/repos/builtin/packages/dhtest/package.py
@@ -13,10 +13,10 @@ class Dhtest(MakefilePackage):
and receiving dhcp packets."""
homepage = "https://github.com/saravana815/dhtest"
- url = "https://github.com/saravana815/dhtest/archive/v1.5.tar.gz"
+ url = "https://github.com/saravana815/dhtest/archive/v1.5.tar.gz"
- version('1.5', sha256='df66150429a59a3b6cea9b29e2687707d04ab10db5dfe1c893ba3e0b0531b151')
+ version("1.5", sha256="df66150429a59a3b6cea9b29e2687707d04ab10db5dfe1c893ba3e0b0531b151")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('dhtest', prefix.bin)
+ install("dhtest", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dia/package.py b/var/spack/repos/builtin/packages/dia/package.py
index daabd844dc..e970638d8a 100644
--- a/var/spack/repos/builtin/packages/dia/package.py
+++ b/var/spack/repos/builtin/packages/dia/package.py
@@ -8,24 +8,25 @@ from spack.package import *
class Dia(Package):
"""Dia is a program for drawing structured diagrams."""
- homepage = 'https://wiki.gnome.org/Apps/Dia'
- url = 'https://ftp.gnome.org/pub/gnome/sources/dia/0.97/dia-0.97.3.tar.xz'
-
- version('0.97.3', sha256='22914e48ef48f894bb5143c5efc3d01ab96e0a0cde80de11058d3b4301377d34')
-
- depends_on('intltool', type='build')
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('gtkplus@2.6.0:')
- depends_on('libxslt')
- depends_on('python')
- depends_on('swig')
- depends_on('libsm')
- depends_on('uuid')
- depends_on('libxinerama')
- depends_on('libxrender')
- depends_on('libxml2')
- depends_on('freetype')
+
+ homepage = "https://wiki.gnome.org/Apps/Dia"
+ url = "https://ftp.gnome.org/pub/gnome/sources/dia/0.97/dia-0.97.3.tar.xz"
+
+ version("0.97.3", sha256="22914e48ef48f894bb5143c5efc3d01ab96e0a0cde80de11058d3b4301377d34")
+
+ depends_on("intltool", type="build")
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("gtkplus@2.6.0:")
+ depends_on("libxslt")
+ depends_on("python")
+ depends_on("swig")
+ depends_on("libsm")
+ depends_on("uuid")
+ depends_on("libxinerama")
+ depends_on("libxrender")
+ depends_on("libxml2")
+ depends_on("freetype")
# TODO: Optional dependencies, not yet supported by Spack
# depends_on('libart')
@@ -33,17 +34,22 @@ class Dia(Package):
def url_for_version(self, version):
"""Handle Dia's version-based custom URLs."""
- return 'https://ftp.gnome.org/pub/gnome/sources/dia/%s/dia-%s.tar.xz' % (version.up_to(2), version)
+ return "https://ftp.gnome.org/pub/gnome/sources/dia/%s/dia-%s.tar.xz" % (
+ version.up_to(2),
+ version,
+ )
def install(self, spec, prefix):
# configure, build, install:
- options = ['--prefix=%s' % prefix,
- '--with-cairo',
- '--with-xslt-prefix=%s' % spec['libxslt'].prefix,
- '--with-python',
- '--with-swig']
+ options = [
+ "--prefix=%s" % prefix,
+ "--with-cairo",
+ "--with-xslt-prefix=%s" % spec["libxslt"].prefix,
+ "--with-python",
+ "--with-swig",
+ ]
configure(*options)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/dialign-tx/package.py b/var/spack/repos/builtin/packages/dialign-tx/package.py
index b03bbaf89f..7882fe5027 100644
--- a/var/spack/repos/builtin/packages/dialign-tx/package.py
+++ b/var/spack/repos/builtin/packages/dialign-tx/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class DialignTx(MakefilePackage):
"""DIALIGN-TX: greedy and progressive approaches for segment-based
- multiple sequence alignment"""
+ multiple sequence alignment"""
homepage = "https://dialign-tx.gobics.de/"
- url = "https://dialign-tx.gobics.de/DIALIGN-TX_1.0.2.tar.gz"
+ url = "https://dialign-tx.gobics.de/DIALIGN-TX_1.0.2.tar.gz"
- version('1.0.2', sha256='fb3940a48a12875332752a298f619f0da62593189cd257d28932463c7cebcb8f')
+ version("1.0.2", sha256="fb3940a48a12875332752a298f619f0da62593189cd257d28932463c7cebcb8f")
- build_directory = 'source'
+ build_directory = "source"
- conflicts('%gcc@6:')
+ conflicts("%gcc@6:")
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- makefile = FileFilter('Makefile')
- makefile.filter(' -march=i686 ', ' ')
- makefile.filter('CC=gcc', 'CC=%s' % spack_cc)
- if spec.target.family == 'aarch64':
- makefile.filter('-mfpmath=sse -msse -mmmx', ' ')
+ makefile = FileFilter("Makefile")
+ makefile.filter(" -march=i686 ", " ")
+ makefile.filter("CC=gcc", "CC=%s" % spack_cc)
+ if spec.target.family == "aarch64":
+ makefile.filter("-mfpmath=sse -msse -mmmx", " ")
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir(self.build_directory):
- install('dialign-tx', prefix.bin)
+ install("dialign-tx", prefix.bin)
# t-coffee recognizes as dialign-t
- install('dialign-tx', join_path(prefix.bin, 'dialign-t'))
+ install("dialign-tx", join_path(prefix.bin, "dialign-t"))
diff --git a/var/spack/repos/builtin/packages/dialign/package.py b/var/spack/repos/builtin/packages/dialign/package.py
index 90c7969797..947e11652b 100644
--- a/var/spack/repos/builtin/packages/dialign/package.py
+++ b/var/spack/repos/builtin/packages/dialign/package.py
@@ -11,18 +11,18 @@ class Dialign(MakefilePackage):
by Burkhard Morgenstern et al.."""
homepage = "https://bibiserv.cebitec.uni-bielefeld.de/dialign"
- url = "https://bibiserv.cebitec.uni-bielefeld.de/applications/dialign/resources/downloads/dialign-2.2.1-src.tar.gz"
+ url = "https://bibiserv.cebitec.uni-bielefeld.de/applications/dialign/resources/downloads/dialign-2.2.1-src.tar.gz"
- version('2.2.1', sha256='046361bb4ca6e4ab2ac5e634cfcd673f964a887006c09c1b8bd3310fac86f519')
+ version("2.2.1", sha256="046361bb4ca6e4ab2ac5e634cfcd673f964a887006c09c1b8bd3310fac86f519")
- build_directory = 'src'
+ build_directory = "src"
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path('src', 'dialign2-2'), prefix.bin)
+ install(join_path("src", "dialign2-2"), prefix.bin)
mkdirp(prefix.share)
- install_tree('dialign2_dir', prefix.share)
+ install_tree("dialign2_dir", prefix.share)
def setup_run_environment(self, env):
- env.set('DIALIGN2_DIR', self.prefix.share)
+ env.set("DIALIGN2_DIR", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py
index ab55e3e394..42c42b9786 100644
--- a/var/spack/repos/builtin/packages/diamond/package.py
+++ b/var/spack/repos/builtin/packages/diamond/package.py
@@ -11,29 +11,29 @@ class Diamond(CMakePackage):
designed for high performance analysis of big sequence data."""
homepage = "https://ab.inf.uni-tuebingen.de/software/diamond"
- url = "https://github.com/bbuchfink/diamond/archive/v2.0.9.tar.gz"
- maintainers = ['snehring']
-
- version('2.0.15', sha256='cc8e1f3fd357d286cf6585b21321bd25af69aae16ae1a8f605ea603c1886ffa4')
- version('2.0.14', sha256='3eaef2b957e4ba845eac27a2ca3249aae4259ff1fe0ff5a21b094481328fdc53')
- version('2.0.11', sha256='41f3197aaafff9c42763fb7658b67f730ebc6dd3c0533c9c3d54bd3166e93f24')
- version('2.0.9', sha256='3019f1adb6411c6669a3a17351d0338ae02f6b3cab3c8a3bac91cf334dcda620')
- version('2.0.8', sha256='04eed7c83828f50c7d9a1d48fe7c50a4c753e008501dc639c6521cf8a756c43b')
- version('2.0.4', sha256='94e8fe72bdc28b83fd0f2d90c439b58b63b38263aa1a3905582ef68f614ae95d')
- version('0.9.25', sha256='65298f60cf9421dcc7669ce61642611cd9eeffc32f66fd39ebfa25dd64416808')
- version('0.9.23', sha256='0da5cdd5e5b77550ec0eaba2c6c431801cdd10d31606ca12f952b57d3d31db92')
- version('0.9.22', sha256='35e518cfa0ac2fbc57e422d380bdb5123c6335742dd7965b76c34c95f241b729')
- version('0.9.21', sha256='3f10e089c24d24f3066f3a58fa01bf356c4044e0a0bcab081b9bf1a8d946c9b1')
- version('0.9.20', sha256='5cf629baf135f54dc93728e3618ae08c64c1ecb81b3f2d2d48fcfd1c010ed8f0')
- version('0.9.19', sha256='fab783f51af9010666f2b569f438fb38843d0201fe0c0e167db5b70d12459e30')
- version('0.9.14', sha256='de870a7806ac0aa47b97c9b784dd7201e2c8e11a122003bde440d926211b911e')
- version('0.8.38', sha256='582a7932f3aa73b0eac2275dd773818665f0b067b32a79ff5a13b0e3ca375f60')
- version('0.8.26', sha256='00d2be32dad76511a767ab8e917962c0ecc572bc808080be60dec028df45439f')
-
- depends_on('zlib')
-
- conflicts('target=aarch64:', when='@:0.9.25')
+ url = "https://github.com/bbuchfink/diamond/archive/v2.0.9.tar.gz"
+ maintainers = ["snehring"]
+
+ version("2.0.15", sha256="cc8e1f3fd357d286cf6585b21321bd25af69aae16ae1a8f605ea603c1886ffa4")
+ version("2.0.14", sha256="3eaef2b957e4ba845eac27a2ca3249aae4259ff1fe0ff5a21b094481328fdc53")
+ version("2.0.11", sha256="41f3197aaafff9c42763fb7658b67f730ebc6dd3c0533c9c3d54bd3166e93f24")
+ version("2.0.9", sha256="3019f1adb6411c6669a3a17351d0338ae02f6b3cab3c8a3bac91cf334dcda620")
+ version("2.0.8", sha256="04eed7c83828f50c7d9a1d48fe7c50a4c753e008501dc639c6521cf8a756c43b")
+ version("2.0.4", sha256="94e8fe72bdc28b83fd0f2d90c439b58b63b38263aa1a3905582ef68f614ae95d")
+ version("0.9.25", sha256="65298f60cf9421dcc7669ce61642611cd9eeffc32f66fd39ebfa25dd64416808")
+ version("0.9.23", sha256="0da5cdd5e5b77550ec0eaba2c6c431801cdd10d31606ca12f952b57d3d31db92")
+ version("0.9.22", sha256="35e518cfa0ac2fbc57e422d380bdb5123c6335742dd7965b76c34c95f241b729")
+ version("0.9.21", sha256="3f10e089c24d24f3066f3a58fa01bf356c4044e0a0bcab081b9bf1a8d946c9b1")
+ version("0.9.20", sha256="5cf629baf135f54dc93728e3618ae08c64c1ecb81b3f2d2d48fcfd1c010ed8f0")
+ version("0.9.19", sha256="fab783f51af9010666f2b569f438fb38843d0201fe0c0e167db5b70d12459e30")
+ version("0.9.14", sha256="de870a7806ac0aa47b97c9b784dd7201e2c8e11a122003bde440d926211b911e")
+ version("0.8.38", sha256="582a7932f3aa73b0eac2275dd773818665f0b067b32a79ff5a13b0e3ca375f60")
+ version("0.8.26", sha256="00d2be32dad76511a767ab8e917962c0ecc572bc808080be60dec028df45439f")
+
+ depends_on("zlib")
+
+ conflicts("target=aarch64:", when="@:0.9.25")
# fix error [-Wc++11-narrowing]
# Ref: https://github.com/bbuchfink/diamond/commit/155e076d662b0e9268e2b00bef6d33d90aede7ff
- patch('fix_narrowing_error.patch', when='@:0.9.25')
+ patch("fix_narrowing_error.patch", when="@:0.9.25")
diff --git a/var/spack/repos/builtin/packages/dicom3tools/package.py b/var/spack/repos/builtin/packages/dicom3tools/package.py
index a0e06ed7e7..cd473ea174 100644
--- a/var/spack/repos/builtin/packages/dicom3tools/package.py
+++ b/var/spack/repos/builtin/packages/dicom3tools/package.py
@@ -13,20 +13,23 @@ class Dicom3tools(MakefilePackage):
of that such as SPI."""
homepage = "https://www.dclunie.com/dicom3tools.html"
- url = "https://www.dclunie.com/dicom3tools/workinprogress/dicom3tools_1.00.snapshot.20210306100017.tar.bz2"
+ url = "https://www.dclunie.com/dicom3tools/workinprogress/dicom3tools_1.00.snapshot.20210306100017.tar.bz2"
- version('1.00.snapshot.20210306100017', sha256='3cc2d6056e349e0ac6a093d231d8f4dd7a77e26ed29c1ebaca945dd5e56c1520')
+ version(
+ "1.00.snapshot.20210306100017",
+ sha256="3cc2d6056e349e0ac6a093d231d8f4dd7a77e26ed29c1ebaca945dd5e56c1520",
+ )
variant(
- 'uid_root',
- default='0.0.0.0',
+ "uid_root",
+ default="0.0.0.0",
values=lambda x: True,
- description='default UID Root assignment'
+ description="default UID Root assignment",
)
- depends_on('bzip2', type='build')
- depends_on('imake', type='build')
- depends_on('libx11')
+ depends_on("bzip2", type="build")
+ depends_on("imake", type="build")
+ depends_on("libx11")
def edit(self, spec, prefix):
defines = [
@@ -34,36 +37,40 @@ class Dicom3tools(MakefilePackage):
'#define InstallIncDir "{0}"'.format(prefix.include),
'#define InstallLibDir "{0}"'.format(prefix.lib),
'#define InstallManDir "{0}"'.format(prefix.man),
- '#define X11LibraryPath "{0}"'.format(spec['libx11'].prefix.lib),
- '#define X11IncludePath "{0}"'.format(spec['libx11'].prefix.include),
+ '#define X11LibraryPath "{0}"'.format(spec["libx11"].prefix.lib),
+ '#define X11IncludePath "{0}"'.format(spec["libx11"].prefix.include),
]
- with working_dir('config'):
- with open('site.p-def', 'a') as inc:
+ with working_dir("config"):
+ with open("site.p-def", "a") as inc:
for define in defines:
- inc.write('{0}\n'.format(define))
+ inc.write("{0}\n".format(define))
- configure = FileFilter('Configure')
- configure.filter('usegcc=.*', 'usegcc={0}'.format(spack_cc))
- configure.filter('usegpp=.*', 'usegpp={0}'.format(spack_cxx))
+ configure = FileFilter("Configure")
+ configure.filter("usegcc=.*", "usegcc={0}".format(spack_cc))
+ configure.filter("usegpp=.*", "usegpp={0}".format(spack_cxx))
def build(self, spec, prefix):
- uid_root = spec.variants['uid_root'].value
- configure = Executable(join_path('.', 'Configure'))
+ uid_root = spec.variants["uid_root"].value
+ configure = Executable(join_path(".", "Configure"))
configure()
- if spec.satisfies('%fj'):
- filter_file('#define UseStandardHeadersWithoutExtension 0',
- '#define UseStandardHeadersWithoutExtension 1',
- 'config/generic.cf')
- filter_file('#define EmitUsingStdNameSpace 0',
- '#define EmitUsingStdNameSpace 1',
- 'config/generic.cf')
+ if spec.satisfies("%fj"):
+ filter_file(
+ "#define UseStandardHeadersWithoutExtension 0",
+ "#define UseStandardHeadersWithoutExtension 1",
+ "config/generic.cf",
+ )
+ filter_file(
+ "#define EmitUsingStdNameSpace 0",
+ "#define EmitUsingStdNameSpace 1",
+ "config/generic.cf",
+ )
- imake = which('imake')
- imake('-I./config', '-DDefaultUIDRoot={0}'.format(uid_root))
- make('World')
+ imake = which("imake")
+ imake("-I./config", "-DDefaultUIDRoot={0}".format(uid_root))
+ make("World")
def install(self, spec, prefix):
- make('install')
- make('install.man')
+ make("install")
+ make("install.man")
diff --git a/var/spack/repos/builtin/packages/diffmark/package.py b/var/spack/repos/builtin/packages/diffmark/package.py
index 4f5d456f48..eccdc7a0a7 100644
--- a/var/spack/repos/builtin/packages/diffmark/package.py
+++ b/var/spack/repos/builtin/packages/diffmark/package.py
@@ -10,13 +10,13 @@ class Diffmark(AutotoolsPackage):
"""Diffmark is a DSL for transforming one string to another."""
homepage = "https://github.com/vbar/diffmark"
- git = "https://github.com/vbar/diffmark.git"
+ git = "https://github.com/vbar/diffmark.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libxml2')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libxml2")
diff --git a/var/spack/repos/builtin/packages/diffsplice/package.py b/var/spack/repos/builtin/packages/diffsplice/package.py
index a4048d829d..5f7ef21e67 100644
--- a/var/spack/repos/builtin/packages/diffsplice/package.py
+++ b/var/spack/repos/builtin/packages/diffsplice/package.py
@@ -12,16 +12,16 @@ class Diffsplice(MakefilePackage):
transcriptome or pre-determined splice pattern."""
homepage = "http://www.netlab.uky.edu/p/bioinfo/DiffSplice"
- url = "https://protocols.netlab.uky.edu/~yin/download/diffsplice/diffsplice_0.1.1.tgz"
+ url = "https://protocols.netlab.uky.edu/~yin/download/diffsplice/diffsplice_0.1.1.tgz"
- version('0.1.2beta', sha256='cc06dcb9f8d98b2184f0dd5863b79bdd6a8cd33b9418e6549b7ea63e90ee1aa6')
- version('0.1.1', sha256='9740426692b0e5f92b943b127014c1d9815bed2938b5dd9e9d0c5b64abbb5da6')
+ version("0.1.2beta", sha256="cc06dcb9f8d98b2184f0dd5863b79bdd6a8cd33b9418e6549b7ea63e90ee1aa6")
+ version("0.1.1", sha256="9740426692b0e5f92b943b127014c1d9815bed2938b5dd9e9d0c5b64abbb5da6")
def edit(self, spec, prefix):
- if spec.target.family == 'aarch64':
- makefile = FileFilter(join_path(self.build_directory, 'Makefile'))
- makefile.filter('-m64', '')
+ if spec.target.family == "aarch64":
+ makefile = FileFilter(join_path(self.build_directory, "Makefile"))
+ makefile.filter("-m64", "")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('diffsplice', prefix.bin)
+ install("diffsplice", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/diffutils/package.py b/var/spack/repos/builtin/packages/diffutils/package.py
index 9e8e60e0f8..8a0e5a21b5 100644
--- a/var/spack/repos/builtin/packages/diffutils/package.py
+++ b/var/spack/repos/builtin/packages/diffutils/package.py
@@ -12,33 +12,36 @@ class Diffutils(AutotoolsPackage, GNUMirrorPackage):
"""GNU Diffutils is a package of several programs related to finding
differences between files."""
- tags = ['core-packages']
+ tags = ["core-packages"]
- executables = [r'^diff$']
+ executables = [r"^diff$"]
homepage = "https://www.gnu.org/software/diffutils/"
gnu_mirror_path = "diffutils/diffutils-3.7.tar.xz"
- version('3.8', sha256='a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec')
- version('3.7', sha256='b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26')
- version('3.6', sha256='d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6')
+ version("3.8", sha256="a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec")
+ version("3.7", sha256="b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26")
+ version("3.6", sha256="d621e8bdd4b573918c8145f7ae61817d1be9deb4c8d2328a65cea8e11d783bd6")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- patch('nvhpc.patch', when='@3.7 %nvhpc')
- patch('intprops-workaround-nvc-22.1-bug.patch', sha256='146b7021bb0a304a3d1c0638956c4e735c2076d292d238f2806efadc972d99e5', when='@3.8 %nvhpc')
+ patch("nvhpc.patch", when="@3.7 %nvhpc")
+ patch(
+ "intprops-workaround-nvc-22.1-bug.patch",
+ sha256="146b7021bb0a304a3d1c0638956c4e735c2076d292d238f2806efadc972d99e5",
+ when="@3.8 %nvhpc",
+ )
- conflicts('%nvhpc', when='@:3.6,3.8:')
+ conflicts("%nvhpc", when="@:3.6,3.8:")
- depends_on('iconv')
+ depends_on("iconv")
def setup_build_environment(self, env):
- if self.spec.satisfies('%fj'):
- env.append_flags('CFLAGS',
- '-Qunused-arguments')
+ if self.spec.satisfies("%fj"):
+ env.append_flags("CFLAGS", "-Qunused-arguments")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'diff \(GNU diffutils\) (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"diff \(GNU diffutils\) (\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py
index e76ca05927..40ffd50d2d 100644
--- a/var/spack/repos/builtin/packages/dihydrogen/package.py
+++ b/var/spack/repos/builtin/packages/dihydrogen/package.py
@@ -10,228 +10,236 @@ from spack.package import *
class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage):
"""DiHydrogen is the second version of the Hydrogen fork of the
- well-known distributed linear algebra library,
- Elemental. DiHydrogen aims to be a basic distributed
- multilinear algebra interface with a particular emphasis on the
- needs of the distributed machine learning effort, LBANN."""
+ well-known distributed linear algebra library,
+ Elemental. DiHydrogen aims to be a basic distributed
+ multilinear algebra interface with a particular emphasis on the
+ needs of the distributed machine learning effort, LBANN."""
homepage = "https://github.com/LLNL/DiHydrogen.git"
- url = "https://github.com/LLNL/DiHydrogen/archive/v0.1.tar.gz"
- git = "https://github.com/LLNL/DiHydrogen.git"
- tags = ['ecp', 'radiuss']
-
- maintainers = ['bvanessen']
-
- version('develop', branch='develop')
- version('master', branch='master')
-
- version('0.2.1', sha256='11e2c0f8a94ffa22e816deff0357dde6f82cc8eac21b587c800a346afb5c49ac')
- version('0.2.0', sha256='e1f597e80f93cf49a0cb2dbc079a1f348641178c49558b28438963bd4a0bdaa4')
- version('0.1', sha256='171d4b8adda1e501c38177ec966e6f11f8980bf71345e5f6d87d0a988fef4c4e')
-
- variant('al', default=True,
- description='Builds with Aluminum communication library')
- variant('developer', default=False,
- description='Enable extra warnings and force tests to be enabled.')
- variant('half', default=False,
- description='Enable FP16 support on the CPU.')
- variant('distconv', default=False,
- description='Support distributed convolutions: spatial, channel, '
- 'filter.')
- variant('nvshmem', default=False,
- description='Builds with support for NVSHMEM')
- variant('openmp', default=False,
- description='Enable CPU acceleration with OpenMP threads.')
- variant('rocm', default=False,
- description='Enable ROCm/HIP language features.')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ url = "https://github.com/LLNL/DiHydrogen/archive/v0.1.tar.gz"
+ git = "https://github.com/LLNL/DiHydrogen.git"
+ tags = ["ecp", "radiuss"]
+
+ maintainers = ["bvanessen"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ version("0.2.1", sha256="11e2c0f8a94ffa22e816deff0357dde6f82cc8eac21b587c800a346afb5c49ac")
+ version("0.2.0", sha256="e1f597e80f93cf49a0cb2dbc079a1f348641178c49558b28438963bd4a0bdaa4")
+ version("0.1", sha256="171d4b8adda1e501c38177ec966e6f11f8980bf71345e5f6d87d0a988fef4c4e")
+
+ variant("al", default=True, description="Builds with Aluminum communication library")
+ variant(
+ "developer",
+ default=False,
+ description="Enable extra warnings and force tests to be enabled.",
+ )
+ variant("half", default=False, description="Enable FP16 support on the CPU.")
+ variant(
+ "distconv",
+ default=False,
+ description="Support distributed convolutions: spatial, channel, " "filter.",
+ )
+ variant("nvshmem", default=False, description="Builds with support for NVSHMEM")
+ variant("openmp", default=False, description="Enable CPU acceleration with OpenMP threads.")
+ variant("rocm", default=False, description="Enable ROCm/HIP language features.")
+ variant("shared", default=True, description="Enables the build of shared libraries")
# Variants related to BLAS
- variant('openmp_blas', default=False,
- description='Use OpenMP for threading in the BLAS library')
- variant('int64_blas', default=False,
- description='Use 64bit integers for BLAS.')
- variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl', 'libsci'),
- description='Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci')
-
- conflicts('~cuda', when='+nvshmem')
-
- depends_on('mpi')
- depends_on('catch2', type='test')
+ variant(
+ "openmp_blas", default=False, description="Use OpenMP for threading in the BLAS library"
+ )
+ variant("int64_blas", default=False, description="Use 64bit integers for BLAS.")
+ variant(
+ "blas",
+ default="openblas",
+ values=("openblas", "mkl", "accelerate", "essl", "libsci"),
+ description="Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci",
+ )
+
+ conflicts("~cuda", when="+nvshmem")
+
+ depends_on("mpi")
+ depends_on("catch2", type="test")
# Specify the correct version of Aluminum
- depends_on('aluminum@0.4.0:0.4', when='@0.1 +al')
- depends_on('aluminum@0.5.0:0.5', when='@0.2.0 +al')
- depends_on('aluminum@0.7.0:0.7', when='@0.2.1 +al')
- depends_on('aluminum@0.7.0:', when='@:0.0,0.2.1: +al')
+ depends_on("aluminum@0.4.0:0.4", when="@0.1 +al")
+ depends_on("aluminum@0.5.0:0.5", when="@0.2.0 +al")
+ depends_on("aluminum@0.7.0:0.7", when="@0.2.1 +al")
+ depends_on("aluminum@0.7.0:", when="@:0.0,0.2.1: +al")
# Add Aluminum variants
- depends_on('aluminum +cuda +nccl +cuda_rma', when='+al +cuda')
- depends_on('aluminum +rocm +rccl', when='+al +rocm')
- depends_on('aluminum +ht', when='+al +distconv')
+ depends_on("aluminum +cuda +nccl +cuda_rma", when="+al +cuda")
+ depends_on("aluminum +rocm +rccl", when="+al +rocm")
+ depends_on("aluminum +ht", when="+al +distconv")
for arch in CudaPackage.cuda_arch_values:
- depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch)
- depends_on('nvshmem cuda_arch=%s' % arch, when='+nvshmem +cuda cuda_arch=%s' % arch)
+ depends_on("aluminum cuda_arch=%s" % arch, when="+al +cuda cuda_arch=%s" % arch)
+ depends_on("nvshmem cuda_arch=%s" % arch, when="+nvshmem +cuda cuda_arch=%s" % arch)
# variants +rocm and amdgpu_targets are not automatically passed to
# dependencies, so do it manually.
for val in ROCmPackage.amdgpu_targets:
- depends_on('aluminum amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
+ depends_on("aluminum amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
- for when in ['+cuda', '+distconv']:
- depends_on('cuda', when=when)
- depends_on('cudnn', when=when)
- depends_on('cub', when='^cuda@:10')
+ for when in ["+cuda", "+distconv"]:
+ depends_on("cuda", when=when)
+ depends_on("cudnn", when=when)
+ depends_on("cub", when="^cuda@:10")
# Note that #1712 forces us to enumerate the different blas variants
- depends_on('openblas', when='blas=openblas')
- depends_on('openblas +ilp64', when='blas=openblas +int64_blas')
- depends_on('openblas threads=openmp', when='blas=openblas +openmp_blas')
+ depends_on("openblas", when="blas=openblas")
+ depends_on("openblas +ilp64", when="blas=openblas +int64_blas")
+ depends_on("openblas threads=openmp", when="blas=openblas +openmp_blas")
- depends_on('intel-mkl', when="blas=mkl")
- depends_on('intel-mkl +ilp64', when="blas=mkl +int64_blas")
- depends_on('intel-mkl threads=openmp', when='blas=mkl +openmp_blas')
+ depends_on("intel-mkl", when="blas=mkl")
+ depends_on("intel-mkl +ilp64", when="blas=mkl +int64_blas")
+ depends_on("intel-mkl threads=openmp", when="blas=mkl +openmp_blas")
- depends_on('veclibfort', when='blas=accelerate')
- conflicts('blas=accelerate +openmp_blas')
+ depends_on("veclibfort", when="blas=accelerate")
+ conflicts("blas=accelerate +openmp_blas")
- depends_on('essl', when='blas=essl')
- depends_on('essl +ilp64', when='blas=essl +int64_blas')
- depends_on('essl threads=openmp', when='blas=essl +openmp_blas')
- depends_on('netlib-lapack +external-blas', when='blas=essl')
+ depends_on("essl", when="blas=essl")
+ depends_on("essl +ilp64", when="blas=essl +int64_blas")
+ 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')
+ 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')
+ conflicts("~cuda", when="+distconv")
- conflicts('+distconv', when='+half')
- conflicts('+rocm', when='+half')
+ conflicts("+distconv", when="+half")
+ conflicts("+rocm", when="+half")
- depends_on('half', when='+half')
+ depends_on("half", when="+half")
- generator = 'Ninja'
- depends_on('ninja', type='build')
- depends_on('cmake@3.17.0:', type='build')
+ generator = "Ninja"
+ depends_on("ninja", type="build")
+ depends_on("cmake@3.17.0:", type="build")
- depends_on('llvm-openmp', when='%apple-clang +openmp')
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
# TODO: Debug linker errors when NVSHMEM is built with UCX
- depends_on('nvshmem +nccl~ucx', when='+nvshmem')
+ depends_on("nvshmem +nccl~ucx", when="+nvshmem")
# Idenfity versions of cuda_arch that are too old
# from lib/spack/spack/build_systems/cuda.py
illegal_cuda_arch_values = [
- '10', '11', '12', '13',
- '20', '21',
+ "10",
+ "11",
+ "12",
+ "13",
+ "20",
+ "21",
]
for value in illegal_cuda_arch_values:
- conflicts('cuda_arch=' + value)
+ conflicts("cuda_arch=" + value)
@property
def libs(self):
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libH2Core', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libH2Core", root=self.prefix, shared=shared, recursive=True)
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_CXX_STANDARD=17',
- '-DCMAKE_INSTALL_MESSAGE:STRING=LAZY',
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('+shared' in spec),
- '-DH2_ENABLE_ALUMINUM=%s' % ('+al' in spec),
- '-DH2_ENABLE_CUDA=%s' % ('+cuda' in spec),
- '-DH2_ENABLE_DISTCONV_LEGACY=%s' % ('+distconv' in spec),
- '-DH2_ENABLE_OPENMP=%s' % ('+openmp' in spec),
- '-DH2_ENABLE_FP16=%s' % ('+half' in spec),
- '-DH2_ENABLE_HIP_ROCM=%s' % ('+rocm' in spec),
- '-DH2_DEVELOPER_BUILD=%s' % ('+developer' in spec),
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DCMAKE_INSTALL_MESSAGE:STRING=LAZY",
+ "-DBUILD_SHARED_LIBS:BOOL=%s" % ("+shared" in spec),
+ "-DH2_ENABLE_ALUMINUM=%s" % ("+al" in spec),
+ "-DH2_ENABLE_CUDA=%s" % ("+cuda" in spec),
+ "-DH2_ENABLE_DISTCONV_LEGACY=%s" % ("+distconv" in spec),
+ "-DH2_ENABLE_OPENMP=%s" % ("+openmp" in spec),
+ "-DH2_ENABLE_FP16=%s" % ("+half" in spec),
+ "-DH2_ENABLE_HIP_ROCM=%s" % ("+rocm" in spec),
+ "-DH2_DEVELOPER_BUILD=%s" % ("+developer" in spec),
]
- if not spec.satisfies('^cmake@3.23.0'):
+ if not spec.satisfies("^cmake@3.23.0"):
# There is a bug with using Ninja generator in this version
# of CMake
- args.append('-DCMAKE_EXPORT_COMPILE_COMMANDS=ON')
-
- if '+cuda' in spec:
- if self.spec.satisfies('%clang'):
- for flag in self.spec.compiler_flags['cxxflags']:
- if 'gcc-toolchain' in flag:
- args.append('-DCMAKE_CUDA_FLAGS=-Xcompiler={0}'.format(flag))
- if spec.satisfies('^cuda@11.0:'):
- args.append('-DCMAKE_CUDA_STANDARD=17')
+ args.append("-DCMAKE_EXPORT_COMPILE_COMMANDS=ON")
+
+ if "+cuda" in spec:
+ if self.spec.satisfies("%clang"):
+ for flag in self.spec.compiler_flags["cxxflags"]:
+ if "gcc-toolchain" in flag:
+ args.append("-DCMAKE_CUDA_FLAGS=-Xcompiler={0}".format(flag))
+ 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':
+ args.append("-DCMAKE_CUDA_STANDARD=14")
+ archs = spec.variants["cuda_arch"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append('-DCMAKE_CUDA_ARCHITECTURES=%s' % arch_str)
+ args.append("-DCMAKE_CUDA_ARCHITECTURES=%s" % arch_str)
- if (spec.satisfies('%cce') and
- spec.satisfies('^cuda+allow-unsupported-compilers')):
- args.append('-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler')
+ if spec.satisfies("%cce") and spec.satisfies("^cuda+allow-unsupported-compilers"):
+ args.append("-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler")
- if '+cuda' in spec or '+distconv' in spec:
- args.append('-DcuDNN_DIR={0}'.format(
- spec['cudnn'].prefix))
+ if "+cuda" in spec or "+distconv" in spec:
+ args.append("-DcuDNN_DIR={0}".format(spec["cudnn"].prefix))
- if spec.satisfies('^cuda@:10'):
- if '+cuda' in spec or '+distconv' in spec:
- args.append('-DCUB_DIR={0}'.format(
- spec['cub'].prefix))
+ if spec.satisfies("^cuda@:10"):
+ if "+cuda" in spec or "+distconv" in spec:
+ args.append("-DCUB_DIR={0}".format(spec["cub"].prefix))
# Add support for OpenMP with external (Brew) clang
- if spec.satisfies('%clang +openmp platform=darwin'):
+ if spec.satisfies("%clang +openmp platform=darwin"):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
- args.extend([
- '-DOpenMP_CXX_FLAGS=-fopenmp=libomp',
- '-DOpenMP_CXX_LIB_NAMES=libomp',
- '-DOpenMP_libomp_LIBRARY={0}/lib/libomp.dylib'.format(
- clang_root)])
-
- 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
- if archs != 'none':
+ args.extend(
+ [
+ "-DOpenMP_CXX_FLAGS=-fopenmp=libomp",
+ "-DOpenMP_CXX_LIB_NAMES=libomp",
+ "-DOpenMP_libomp_LIBRARY={0}/lib/libomp.dylib".format(clang_root),
+ ]
+ )
+
+ 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
+ if archs != "none":
arch_str = ",".join(archs)
args.append(
- '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'
- ' -g -fsized-deallocation -fPIC -std=c++17'.format(arch_str)
+ "-DHIP_HIPCC_FLAGS=--amdgpu-target={0}"
+ " -g -fsized-deallocation -fPIC -std=c++17".format(arch_str)
+ )
+ args.extend(
+ [
+ "-DCMAKE_HIP_ARCHITECTURES=%s" % arch_str,
+ "-DAMDGPU_TARGETS=%s" % arch_str,
+ "-DGPU_TARGETS=%s" % arch_str,
+ ]
)
- args.extend([
- '-DCMAKE_HIP_ARCHITECTURES=%s' % arch_str,
- '-DAMDGPU_TARGETS=%s' % arch_str,
- '-DGPU_TARGETS=%s' % arch_str,
- ])
- if self.spec.satisfies('^essl'):
+ if self.spec.satisfies("^essl"):
# IF IBM ESSL is used it needs help finding the proper LAPACK libraries
- args.extend([
- '-DLAPACK_LIBRARIES=%s;-llapack;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names),
- '-DBLAS_LIBRARIES=%s;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names)])
+ args.extend(
+ [
+ "-DLAPACK_LIBRARIES=%s;-llapack;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ "-DBLAS_LIBRARIES=%s;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ ]
+ )
return args
def setup_build_environment(self, env):
- if self.spec.satisfies('%apple-clang +openmp'):
- env.append_flags(
- 'CPPFLAGS', self.compiler.openmp_flag)
- env.append_flags(
- 'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'CXXFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
+ if self.spec.satisfies("%apple-clang +openmp"):
+ env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
+ env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("LDFLAGS", self.spec["llvm-openmp"].libs.ld_flags)
diff --git a/var/spack/repos/builtin/packages/dimemas/package.py b/var/spack/repos/builtin/packages/dimemas/package.py
index 97956e41f2..00872b07da 100644
--- a/var/spack/repos/builtin/packages/dimemas/package.py
+++ b/var/spack/repos/builtin/packages/dimemas/package.py
@@ -10,25 +10,29 @@ class Dimemas(AutotoolsPackage):
"""High-abstracted network simulator for message-passing programs."""
homepage = "https://tools.bsc.es/dimemas"
- url = "https://github.com/bsc-performance-tools/dimemas/archive/5.4.1.tar.gz"
+ url = "https://github.com/bsc-performance-tools/dimemas/archive/5.4.1.tar.gz"
- version('5.4.1', sha256='10ddca3745a56ebab5c1ba180f6f4bce5832c4deac50c1b1dc08271db5c7cafa')
+ version("5.4.1", sha256="10ddca3745a56ebab5c1ba180f6f4bce5832c4deac50c1b1dc08271db5c7cafa")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('bison', type=('build', 'link', 'run'))
- depends_on('flex', type=('build', 'link', 'run'))
- depends_on('boost@1.65.0+container+math+exception+program_options cxxstd=11', type=('build', 'link'))
+ depends_on("bison", type=("build", "link", "run"))
+ depends_on("flex", type=("build", "link", "run"))
+ depends_on(
+ "boost@1.65.0+container+math+exception+program_options cxxstd=11", type=("build", "link")
+ )
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--verbose', '--force')
+ autoreconf("--install", "--verbose", "--force")
def configure_args(self):
- args = ["--with-boost=%s" % self.spec['boost'].prefix,
- "--with-boost-libdir=%s" % self.spec['boost'].prefix.lib,
- "LEXLIB=-l:libfl.a"]
+ args = [
+ "--with-boost=%s" % self.spec["boost"].prefix,
+ "--with-boost-libdir=%s" % self.spec["boost"].prefix.lib,
+ "LEXLIB=-l:libfl.a",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/ding-libs/package.py b/var/spack/repos/builtin/packages/ding-libs/package.py
index a2a3129ec2..52c92cafe5 100644
--- a/var/spack/repos/builtin/packages/ding-libs/package.py
+++ b/var/spack/repos/builtin/packages/ding-libs/package.py
@@ -11,8 +11,8 @@ class DingLibs(AutotoolsPackage):
librefarray libbasicobjects, and libpath_utils."""
homepage = "https://pagure.io/SSSD/ding-libs"
- url = "https://releases.pagure.org/SSSD/ding-libs/ding-libs-0.6.1.tar.gz"
+ url = "https://releases.pagure.org/SSSD/ding-libs/ding-libs-0.6.1.tar.gz"
- version('0.6.1', sha256='a319a327deb81f2dfab9ce4a4926e80e1dac5dcfc89f4c7e548cec2645af27c1')
- version('0.6.0', sha256='764a211f40cbcf2c9a613fc7ce0d77799d5ee469221b8b6739972e76f09e9fad')
- version('0.5.0', sha256='dab937537a05d7a7cbe605fdb9b3809080d67b124ac97eb321255b35f5b172fd')
+ version("0.6.1", sha256="a319a327deb81f2dfab9ce4a4926e80e1dac5dcfc89f4c7e548cec2645af27c1")
+ version("0.6.0", sha256="764a211f40cbcf2c9a613fc7ce0d77799d5ee469221b8b6739972e76f09e9fad")
+ version("0.5.0", sha256="dab937537a05d7a7cbe605fdb9b3809080d67b124ac97eb321255b35f5b172fd")
diff --git a/var/spack/repos/builtin/packages/dire/package.py b/var/spack/repos/builtin/packages/dire/package.py
index 0aa7e75cc0..feb919198b 100644
--- a/var/spack/repos/builtin/packages/dire/package.py
+++ b/var/spack/repos/builtin/packages/dire/package.py
@@ -13,36 +13,33 @@ class Dire(Package):
collisions."""
homepage = "https://dire.gitlab.io/"
- url = "https://dire.gitlab.io/Downloads/DIRE-2.004.tar.gz"
- git = "https://gitlab.com/dire/direforpythia"
+ url = "https://dire.gitlab.io/Downloads/DIRE-2.004.tar.gz"
+ git = "https://gitlab.com/dire/direforpythia"
list_url = "https://dire.gitlab.io/Downloads.html"
- tags = ['hep']
+ tags = ["hep"]
- maintainer = ['mdiefent']
+ maintainer = ["mdiefent"]
- version('2.004', sha256='8cc1213b58fec744fdaa50834560a14b141de99efb2c3e3d3d47f3d6d84b179f')
+ version("2.004", sha256="8cc1213b58fec744fdaa50834560a14b141de99efb2c3e3d3d47f3d6d84b179f")
- depends_on('zlib')
+ depends_on("zlib")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('lhapdf')
- depends_on('hepmc')
- depends_on('pythia8@8.226:')
+ depends_on("lhapdf")
+ depends_on("hepmc")
+ depends_on("pythia8@8.226:")
- conflicts('pythia8@8.301:', msg='Dire is included in Pythia8 since version 8.301')
+ conflicts("pythia8@8.301:", msg="Dire is included in Pythia8 since version 8.301")
def install(self, spec, prefix):
- configure_args = ['--prefix={0}'.format(prefix)]
- configure_args.append(
- '--with-pythia8={0}'.format(spec['pythia8'].prefix))
+ configure_args = ["--prefix={0}".format(prefix)]
+ configure_args.append("--with-pythia8={0}".format(spec["pythia8"].prefix))
configure(*configure_args)
make()
# Open bug: https://gitlab.com/wdconinc/direforpythia/-/merge_requests/1
- filter_file('-Wl,-rpath ',
- self.compiler.cc_rpath_arg,
- 'bin/dire-config')
- make('install')
+ filter_file("-Wl,-rpath ", self.compiler.cc_rpath_arg, "bin/dire-config")
+ make("install")
diff --git a/var/spack/repos/builtin/packages/direnv/package.py b/var/spack/repos/builtin/packages/direnv/package.py
index 107bb294fa..48ab1862f5 100644
--- a/var/spack/repos/builtin/packages/direnv/package.py
+++ b/var/spack/repos/builtin/packages/direnv/package.py
@@ -10,17 +10,17 @@ class Direnv(Package):
"""direnv is an environment switcher for the shell."""
homepage = "https://direnv.net/"
- url = "https://github.com/direnv/direnv/archive/v2.11.3.tar.gz"
+ url = "https://github.com/direnv/direnv/archive/v2.11.3.tar.gz"
- maintainers = ['acastanedam']
+ maintainers = ["acastanedam"]
- version('2.31.0', sha256='f82694202f584d281a166bd5b7e877565f96a94807af96325c8f43643d76cb44')
- version('2.30.2', sha256='a2ee14ebdbd9274ba8bf0896eeb94e98947a056611058dedd4dbb43167e076f3')
- version('2.20.0', sha256='cc72525b0a5b3c2ab9a52a3696e95562913cd431f923bcc967591e75b7541bff')
- version('2.11.3', sha256='2d34103a7f9645059270763a0cfe82085f6d9fe61b2a85aca558689df0e7b006')
+ version("2.31.0", sha256="f82694202f584d281a166bd5b7e877565f96a94807af96325c8f43643d76cb44")
+ version("2.30.2", sha256="a2ee14ebdbd9274ba8bf0896eeb94e98947a056611058dedd4dbb43167e076f3")
+ version("2.20.0", sha256="cc72525b0a5b3c2ab9a52a3696e95562913cd431f923bcc967591e75b7541bff")
+ version("2.11.3", sha256="2d34103a7f9645059270763a0cfe82085f6d9fe61b2a85aca558689df0e7b006")
- depends_on('go@1.16:', type='build', when='@2.28:')
- depends_on('go', type='build')
+ depends_on("go@1.16:", type="build", when="@2.28:")
+ depends_on("go", type="build")
def install(self, spec, prefix):
- make('install', "PREFIX=%s" % prefix)
+ make("install", "PREFIX=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/discovar/package.py b/var/spack/repos/builtin/packages/discovar/package.py
index 2738deb821..4d99ada2db 100644
--- a/var/spack/repos/builtin/packages/discovar/package.py
+++ b/var/spack/repos/builtin/packages/discovar/package.py
@@ -10,8 +10,8 @@ class Discovar(AutotoolsPackage):
"""DISCOVAR is a variant caller and small genome assembler."""
homepage = "https://software.broadinstitute.org/software/discovar/blog/"
- url = "ftp://ftp.broadinstitute.org/pub/crd/Discovar/latest_source_code/discovar-52488.tar.gz"
+ url = "ftp://ftp.broadinstitute.org/pub/crd/Discovar/latest_source_code/discovar-52488.tar.gz"
- version('52488', sha256='c46e8f5727b3c8116d715c02e20a83e6261c762e8964d00709abfb322a501d4e')
+ version("52488", sha256="c46e8f5727b3c8116d715c02e20a83e6261c762e8964d00709abfb322a501d4e")
- conflicts('%gcc@6:')
+ conflicts("%gcc@6:")
diff --git a/var/spack/repos/builtin/packages/discovardenovo/package.py b/var/spack/repos/builtin/packages/discovardenovo/package.py
index 2d7a715522..80091080ee 100644
--- a/var/spack/repos/builtin/packages/discovardenovo/package.py
+++ b/var/spack/repos/builtin/packages/discovardenovo/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Discovardenovo(AutotoolsPackage):
"""DISCOVAR de novo is a large (and small) de novo genome assembler.
- It quickly generates highly accurate and complete assemblies using the
- same single library data as used by DISCOVAR. It currently doesn't
- support variant calling, for that, please use DISCOVAR instead."""
+ It quickly generates highly accurate and complete assemblies using the
+ same single library data as used by DISCOVAR. It currently doesn't
+ support variant calling, for that, please use DISCOVAR instead."""
homepage = "https://software.broadinstitute.org/software/discovar/blog/"
- url = "ftp://ftp.broadinstitute.org/pub/crd/DiscovarDeNovo/latest_source_code/discovardenovo-52488.tar.gz"
+ url = "ftp://ftp.broadinstitute.org/pub/crd/DiscovarDeNovo/latest_source_code/discovardenovo-52488.tar.gz"
- version('52488', sha256='445445a3b75e17e276a6119434f13784a5a661a9c7277f5e10f3b6b3b8ac5771')
+ version("52488", sha256="445445a3b75e17e276a6119434f13784a5a661a9c7277f5e10f3b6b3b8ac5771")
# lots of compiler errors with GCC7, works with 4.8.5
# and devs claim it works with 4.7 so I'm assuming 4.7-4.8'll work
- conflicts('%gcc@5:')
- conflicts('%gcc@:4.7.0')
+ conflicts("%gcc@5:")
+ conflicts("%gcc@:4.7.0")
- depends_on('samtools')
- depends_on('jemalloc')
+ depends_on("samtools")
+ depends_on("jemalloc")
diff --git a/var/spack/repos/builtin/packages/disktype/package.py b/var/spack/repos/builtin/packages/disktype/package.py
index 96bf08d456..a42bac7966 100644
--- a/var/spack/repos/builtin/packages/disktype/package.py
+++ b/var/spack/repos/builtin/packages/disktype/package.py
@@ -10,13 +10,13 @@ class Disktype(MakefilePackage):
"""A fork of the disktype disk and disk image format detection tool."""
homepage = "https://github.com/kamwoods/disktype"
- url = "https://github.com/kamwoods/disktype/archive/9.2.1.tar.gz"
+ url = "https://github.com/kamwoods/disktype/archive/9.2.1.tar.gz"
- version('9.2.1', sha256='fb274d6ce6b69c0d36eb23fcc9f01db3c32c3996b404900d46bb743ce4fa8154')
+ version("9.2.1", sha256="fb274d6ce6b69c0d36eb23fcc9f01db3c32c3996b404900d46bb743ce4fa8154")
- build_directory = 'src'
+ build_directory = "src"
def install(self, spec, prefix):
mkdir(prefix.bin)
with working_dir(self.build_directory):
- install('disktype', prefix.bin)
+ install("disktype", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dislin/package.py b/var/spack/repos/builtin/packages/dislin/package.py
index 1426a9aff2..8f14d7b97b 100644
--- a/var/spack/repos/builtin/packages/dislin/package.py
+++ b/var/spack/repos/builtin/packages/dislin/package.py
@@ -8,52 +8,50 @@ from spack.package import *
class Dislin(Package):
"""DISLIN is a high level and easy to use graphics library for displaying
- data as curves, bar graphs, pie charts, 3D-colour plots, surfaces,
- contours and maps."""
+ data as curves, bar graphs, pie charts, 3D-colour plots, surfaces,
+ contours and maps."""
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"
+ url = "ftp://ftp.gwdg.de/pub/grafik/dislin/linux/i586_64/dislin-11.0.linux.i586_64.tar.gz"
- version('11.0', sha256='13d28188924e0b0b803d72aa4b48be4067e98e890701b0aa6f54a11c7d34dd10')
+ version("11.0", sha256="13d28188924e0b0b803d72aa4b48be4067e98e890701b0aa6f54a11c7d34dd10")
- depends_on('motif')
- depends_on('gl')
- depends_on('glx')
+ depends_on("motif")
+ depends_on("gl")
+ depends_on("glx")
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
- tuple(): ['libdislin'],
- ('d',): ['libdislin_d'],
- ('c', ): ['libdislnc'],
- ('cd',): ['libdislnc_d'],
- ('cxx',): ['libdiscpp'],
- ('java',): ['libdisjava']
+ tuple(): ["libdislin"],
+ ("d",): ["libdislin_d"],
+ ("c",): ["libdislnc"],
+ ("cd",): ["libdislnc_d"],
+ ("cxx",): ["libdiscpp"],
+ ("java",): ["libdisjava"],
}
key = tuple(query_parameters)
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
def setup_build_environment(self, env):
- env.set('DISLIN', self.prefix)
+ env.set("DISLIN", self.prefix)
def setup_run_environment(self, env):
- env.set('DISLIN', self.prefix)
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['motif'].prefix.lib)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['mesa'].prefix.lib)
+ env.set("DISLIN", self.prefix)
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["motif"].prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["mesa"].prefix.lib)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('LD_LIBRARY_PATH', self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix)
def install(self, spec, prefix):
- install = Executable('./INSTALL')
+ install = Executable("./INSTALL")
install()
- with working_dir('examples'):
- install('dislin_d.h', prefix)
+ with working_dir("examples"):
+ install("dislin_d.h", prefix)
diff --git a/var/spack/repos/builtin/packages/distcc/package.py b/var/spack/repos/builtin/packages/distcc/package.py
index ddbf9430f7..9056862353 100644
--- a/var/spack/repos/builtin/packages/distcc/package.py
+++ b/var/spack/repos/builtin/packages/distcc/package.py
@@ -11,17 +11,17 @@ class Distcc(AutotoolsPackage):
code across several machines on a network."""
homepage = "https://github.com/distcc/distcc"
- url = "https://github.com/distcc/distcc/archive/v3.3.3.tar.gz"
+ url = "https://github.com/distcc/distcc/archive/v3.3.3.tar.gz"
- version('3.3.5', sha256='13a4b3ce49dfc853a3de550f6ccac583413946b3a2fa778ddf503a9edc8059b0')
- version('3.3.3', sha256='b7f37d314704fbaf006d747514ff6e4d0d722102ef7d2aea132f97cf170f5169')
+ version("3.3.5", sha256="13a4b3ce49dfc853a3de550f6ccac583413946b3a2fa778ddf503a9edc8059b0")
+ version("3.3.3", sha256="b7f37d314704fbaf006d747514ff6e4d0d722102ef7d2aea132f97cf170f5169")
- depends_on('popt')
- depends_on('libiberty')
+ depends_on("popt")
+ depends_on("libiberty")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/diy/package.py b/var/spack/repos/builtin/packages/diy/package.py
index 79f35eb70d..f368b1eb79 100644
--- a/var/spack/repos/builtin/packages/diy/package.py
+++ b/var/spack/repos/builtin/packages/diy/package.py
@@ -10,16 +10,18 @@ class Diy(CMakePackage):
"""Data-parallel out-of-core library"""
homepage = "https://github.com/diatomic/diy"
- url = "https://github.com/diatomic/diy/archive/3.5.0.tar.gz"
- git = "https://github.com/diatomic/diy.git"
+ url = "https://github.com/diatomic/diy/archive/3.5.0.tar.gz"
+ git = "https://github.com/diatomic/diy.git"
- version('3.5.0', sha256='b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576')
- version('master', branch='master')
+ version("3.5.0", sha256="b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576")
+ version("master", branch="master")
- depends_on('mpi')
+ depends_on("mpi")
def cmake_args(self):
- args = ['-Dbuild_examples=off',
- '-Dbuild_tests=off',
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx]
+ args = [
+ "-Dbuild_examples=off",
+ "-Dbuild_tests=off",
+ "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/dlib/package.py b/var/spack/repos/builtin/packages/dlib/package.py
index 844c38e565..d733d00ff9 100644
--- a/var/spack/repos/builtin/packages/dlib/package.py
+++ b/var/spack/repos/builtin/packages/dlib/package.py
@@ -13,9 +13,9 @@ class Dlib(CMakePackage):
data and to solve computer vision problems."""
homepage = "https://github.com/dorian3d/DLib"
- git = "https://github.com/dorian3d/DLib.git"
+ git = "https://github.com/dorian3d/DLib.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('cmake@3.0:', type='build')
- depends_on('opencv+calib3d+features2d+highgui+imgproc+imgcodecs+flann')
+ depends_on("cmake@3.0:", type="build")
+ depends_on("opencv+calib3d+features2d+highgui+imgproc+imgcodecs+flann")
diff --git a/var/spack/repos/builtin/packages/dlpack/package.py b/var/spack/repos/builtin/packages/dlpack/package.py
index eaf2c222c6..734c094908 100644
--- a/var/spack/repos/builtin/packages/dlpack/package.py
+++ b/var/spack/repos/builtin/packages/dlpack/package.py
@@ -11,15 +11,15 @@ class Dlpack(Package):
in deep learning systems."""
homepage = "https://github.com/dmlc/dlpack"
- git = "https://github.com/dmlc/dlpack.git"
- url = "https://github.com/dmlc/dlpack/archive/refs/tags/v0.5.tar.gz"
+ git = "https://github.com/dmlc/dlpack.git"
+ url = "https://github.com/dmlc/dlpack/archive/refs/tags/v0.5.tar.gz"
- version('master', branch='master')
- version('0.5', sha256='9209ac194a175aaab4381313891fba047cb173b2bdd15ac934f83f567f9cd514')
- version('0.4', sha256='d0a533189ecd45a033b72e276fccaa2122cfd76de125e0a5e126bdea0fec2d24')
- version('0.3', sha256='703149f5b39ead42cc734c03c7c4bd581fcad1c5a3939e7a4b5bc82f54c3c32a')
- version('0.2', sha256='419f76ef723d21b72b704b2c4bf718dcd9d2ecd44cd28c8a71798389b7932ae5')
- version('0.1', sha256='c69b06bfe03711e9d9d3f4d3f307d6dfd7e21d4864a053cca26296d5d05c175c')
+ version("master", branch="master")
+ version("0.5", sha256="9209ac194a175aaab4381313891fba047cb173b2bdd15ac934f83f567f9cd514")
+ version("0.4", sha256="d0a533189ecd45a033b72e276fccaa2122cfd76de125e0a5e126bdea0fec2d24")
+ version("0.3", sha256="703149f5b39ead42cc734c03c7c4bd581fcad1c5a3939e7a4b5bc82f54c3c32a")
+ version("0.2", sha256="419f76ef723d21b72b704b2c4bf718dcd9d2ecd44cd28c8a71798389b7932ae5")
+ version("0.1", sha256="c69b06bfe03711e9d9d3f4d3f307d6dfd7e21d4864a053cca26296d5d05c175c")
def install(self, spec, prefix):
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/dmd/package.py b/var/spack/repos/builtin/packages/dmd/package.py
index 90236bf4c8..0e9017c8d4 100644
--- a/var/spack/repos/builtin/packages/dmd/package.py
+++ b/var/spack/repos/builtin/packages/dmd/package.py
@@ -12,71 +12,76 @@ class Dmd(MakefilePackage):
"""DMD is the reference compiler for the D programming language."""
homepage = "https://github.com/dlang/dmd"
- url = "https://github.com/dlang/dmd/archive/v2.081.1.tar.gz"
+ url = "https://github.com/dlang/dmd/archive/v2.081.1.tar.gz"
- version('2.081.1', sha256='14f3aafe1c93c86646aaeb3ed7361a5fc5a24374cf25c8848c81942bfd9fae1a')
- version('2.081.0', sha256='29b9882ed424b744df83ac73182d4ae952251029ebd16117d18f9cc1e83542e2')
+ version("2.081.1", sha256="14f3aafe1c93c86646aaeb3ed7361a5fc5a24374cf25c8848c81942bfd9fae1a")
+ version("2.081.0", sha256="29b9882ed424b744df83ac73182d4ae952251029ebd16117d18f9cc1e83542e2")
- depends_on('openssl')
- depends_on('curl')
+ depends_on("openssl")
+ depends_on("curl")
# https://wiki.dlang.org/Building_under_Posix
- resource(name='druntime',
- url='https://github.com/dlang/druntime/archive/v2.081.1.tar.gz',
- sha256='8313af32dce71f767fb0072cae699cbfe7196cf01b0ce1c5dd416a71d94f5fee',
- placement='druntime')
- resource(name='phobos',
- url='https://github.com/dlang/phobos/archive/v2.081.1.tar.gz',
- sha256='d945c6fd1be14dff5fcbf45c1e11302e12bebac56d55e4e97e48e150f2899e04',
- placement='phobos')
- resource(name='tools',
- url='https://github.com/dlang/tools/archive/v2.081.1.tar.gz',
- sha256='71fa249dbfd278eec2b95ce577af32e623e44caf0d993905ddc189e3beec21d0',
- placement='tools')
+ resource(
+ name="druntime",
+ url="https://github.com/dlang/druntime/archive/v2.081.1.tar.gz",
+ sha256="8313af32dce71f767fb0072cae699cbfe7196cf01b0ce1c5dd416a71d94f5fee",
+ placement="druntime",
+ )
+ resource(
+ name="phobos",
+ url="https://github.com/dlang/phobos/archive/v2.081.1.tar.gz",
+ sha256="d945c6fd1be14dff5fcbf45c1e11302e12bebac56d55e4e97e48e150f2899e04",
+ placement="phobos",
+ )
+ resource(
+ name="tools",
+ url="https://github.com/dlang/tools/archive/v2.081.1.tar.gz",
+ sha256="71fa249dbfd278eec2b95ce577af32e623e44caf0d993905ddc189e3beec21d0",
+ placement="tools",
+ )
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.linux.bin64)
- env.prepend_path('LIBRARY_PATH', self.prefix.linux.lib64)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.linux.lib64)
+ env.prepend_path("PATH", self.prefix.linux.bin64)
+ env.prepend_path("LIBRARY_PATH", self.prefix.linux.lib64)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.linux.lib64)
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_run_environment(env)
def edit(self, spec, prefix):
# Move contents to dmd/
- mkdir = which('mkdir')
- mkdir('dmd')
- mv = which('mv')
- dmd_files = [f for f in os.listdir('.')
- if not f.startswith(('dmd',
- 'druntime',
- 'phobos',
- 'tools',
- 'spack-build'))]
+ mkdir = which("mkdir")
+ mkdir("dmd")
+ mv = which("mv")
+ dmd_files = [
+ f
+ for f in os.listdir(".")
+ if not f.startswith(("dmd", "druntime", "phobos", "tools", "spack-build"))
+ ]
for f in dmd_files:
- mv(f, 'dmd')
+ mv(f, "dmd")
# Edit
- dmd_mak = FileFilter('dmd/posix.mak')
- dmd_mak.filter('$(PWD)/../install', prefix, string=True)
- dr_mak = FileFilter('druntime/posix.mak')
- dr_mak.filter('INSTALL_DIR=.*', 'INSTALL_DIR={0}'.format(prefix))
- pb_mak = FileFilter('phobos/posix.mak')
- pb_mak.filter('INSTALL_DIR = .*', 'INSTALL_DIR = {0}'.format(prefix))
- tl_mak = FileFilter('tools/posix.mak')
- tl_mak.filter('INSTALL_DIR = .*', 'INSTALL_DIR = {0}'.format(prefix))
+ dmd_mak = FileFilter("dmd/posix.mak")
+ dmd_mak.filter("$(PWD)/../install", prefix, string=True)
+ dr_mak = FileFilter("druntime/posix.mak")
+ dr_mak.filter("INSTALL_DIR=.*", "INSTALL_DIR={0}".format(prefix))
+ pb_mak = FileFilter("phobos/posix.mak")
+ pb_mak.filter("INSTALL_DIR = .*", "INSTALL_DIR = {0}".format(prefix))
+ tl_mak = FileFilter("tools/posix.mak")
+ tl_mak.filter("INSTALL_DIR = .*", "INSTALL_DIR = {0}".format(prefix))
def build(self, spec, prefix):
- with working_dir('dmd'):
- make('-f', 'posix.mak', 'AUTO_BOOTSTRAP=1')
- with working_dir('phobos'):
- make('-f', 'posix.mak')
+ with working_dir("dmd"):
+ make("-f", "posix.mak", "AUTO_BOOTSTRAP=1")
+ with working_dir("phobos"):
+ make("-f", "posix.mak")
def install(self, spec, prefix):
- with working_dir('dmd'):
- make('-f', 'posix.mak', 'install', 'AUTO_BOOTSTRAP=1')
- with working_dir('phobos'):
- make('-f', 'posix.mak', 'install')
- with working_dir('tools'):
- make('-f', 'posix.mak', 'install')
- with working_dir('druntime'):
- make('-f', 'posix.mak', 'install')
+ with working_dir("dmd"):
+ make("-f", "posix.mak", "install", "AUTO_BOOTSTRAP=1")
+ with working_dir("phobos"):
+ make("-f", "posix.mak", "install")
+ with working_dir("tools"):
+ make("-f", "posix.mak", "install")
+ with working_dir("druntime"):
+ make("-f", "posix.mak", "install")
diff --git a/var/spack/repos/builtin/packages/dmidecode/package.py b/var/spack/repos/builtin/packages/dmidecode/package.py
index df402bd0ff..e6270659ed 100644
--- a/var/spack/repos/builtin/packages/dmidecode/package.py
+++ b/var/spack/repos/builtin/packages/dmidecode/package.py
@@ -11,10 +11,10 @@ class Dmidecode(MakefilePackage):
as described in your system BIOS according to the SMBIOS/DMI standard. ."""
homepage = "https://github.com/mirror/dmidecode"
- url = "https://github.com/mirror/dmidecode/archive/dmidecode-3-2.tar.gz"
+ url = "https://github.com/mirror/dmidecode/archive/dmidecode-3-2.tar.gz"
- version('3-2', sha256='489d840d076785617a432649603aafa6358327f4376694c062b69dfa359bcc2d')
+ version("3-2", sha256="489d840d076785617a432649603aafa6358327f4376694c062b69dfa359bcc2d")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('dmidecode', prefix.bin)
+ install("dmidecode", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dmlc-core/package.py b/var/spack/repos/builtin/packages/dmlc-core/package.py
index 363d652a79..c918377f39 100644
--- a/var/spack/repos/builtin/packages/dmlc-core/package.py
+++ b/var/spack/repos/builtin/packages/dmlc-core/package.py
@@ -12,25 +12,26 @@ class DmlcCore(CMakePackage):
distributed machine learning libraries."""
homepage = "https://github.com/dmlc/dmlc-core"
- git = "https://github.com/dmlc/dmlc-core.git"
+ git = "https://github.com/dmlc/dmlc-core.git"
- version('master')
- version('20170508', commit='a6c5701219e635fea808d264aefc5b03c3aec314')
+ version("master")
+ version("20170508", commit="a6c5701219e635fea808d264aefc5b03c3aec314")
- variant('openmp', default=False, description='Enable OpenMP support')
+ variant("openmp", default=False, description="Enable OpenMP support")
- patch('cmake.patch')
+ patch("cmake.patch")
def patch(self):
- filter_file('export CC = gcc', '', 'make/config.mk', string=True)
- filter_file('export CXX = g++', '', 'make/config.mk', string=True)
- filter_file('export MPICXX = mpicxx', '',
- 'make/config.mk', string=True)
- filter_file(r'^USE_OPENMP\s*=.*',
- 'USE_OPENMP=%s' % ('1' if '+openmp' in self.spec else '0'),
- 'make/config.mk')
+ filter_file("export CC = gcc", "", "make/config.mk", string=True)
+ filter_file("export CXX = g++", "", "make/config.mk", string=True)
+ filter_file("export MPICXX = mpicxx", "", "make/config.mk", string=True)
+ filter_file(
+ r"^USE_OPENMP\s*=.*",
+ "USE_OPENMP=%s" % ("1" if "+openmp" in self.spec else "0"),
+ "make/config.mk",
+ )
def cmake_args(self):
return [
- self.define_from_variant('USE_OPENMP', 'openmp'),
+ self.define_from_variant("USE_OPENMP", "openmp"),
]
diff --git a/var/spack/repos/builtin/packages/dmtcp/package.py b/var/spack/repos/builtin/packages/dmtcp/package.py
index 88d2c251dc..6f37031d3b 100644
--- a/var/spack/repos/builtin/packages/dmtcp/package.py
+++ b/var/spack/repos/builtin/packages/dmtcp/package.py
@@ -12,10 +12,10 @@ class Dmtcp(AutotoolsPackage):
with no modifications to user code or to the O/S."""
homepage = "http://dmtcp.sourceforge.net/"
- url = "https://sourceforge.net/projects/dmtcp/files/2.6.0/dmtcp-2.6.0.tar.gz/download"
- git = "https://github.com/dmtcp/dmtcp.git"
+ url = "https://sourceforge.net/projects/dmtcp/files/2.6.0/dmtcp-2.6.0.tar.gz/download"
+ git = "https://github.com/dmtcp/dmtcp.git"
- version('master', branch='master')
- version('2.6.0', sha256='3ed62a86dd0cb9c828b93ee8c7c852d6f9c96a0efa48bcfe867521adf7bced68')
- version('2.5.2', sha256='0e3e5e15bd401b7b6937f2b678cd7d6a252eab0a143d5740b89cc3bebb4282be')
- patch('for_aarch64.patch', when='@2.6.0 target=aarch64:')
+ version("master", branch="master")
+ version("2.6.0", sha256="3ed62a86dd0cb9c828b93ee8c7c852d6f9c96a0efa48bcfe867521adf7bced68")
+ version("2.5.2", sha256="0e3e5e15bd401b7b6937f2b678cd7d6a252eab0a143d5740b89cc3bebb4282be")
+ patch("for_aarch64.patch", when="@2.6.0 target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/dmxproto/package.py b/var/spack/repos/builtin/packages/dmxproto/package.py
index 216bfbb451..4a6ef16c22 100644
--- a/var/spack/repos/builtin/packages/dmxproto/package.py
+++ b/var/spack/repos/builtin/packages/dmxproto/package.py
@@ -16,7 +16,7 @@ class Dmxproto(AutotoolsPackage, XorgPackage):
homepage = "http://dmx.sourceforge.net/"
xorg_mirror_path = "proto/dmxproto-2.3.1.tar.gz"
- version('2.3.1', sha256='3262bbf5902211a3ce88f5c6ab4528145ff84f69c52fd386ae0312bc45fb8a40')
+ version("2.3.1", sha256="3262bbf5902211a3ce88f5c6ab4528145ff84f69c52fd386ae0312bc45fb8a40")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/dnsmap/package.py b/var/spack/repos/builtin/packages/dnsmap/package.py
index 960eeb6f94..66bd027e7e 100644
--- a/var/spack/repos/builtin/packages/dnsmap/package.py
+++ b/var/spack/repos/builtin/packages/dnsmap/package.py
@@ -11,10 +11,10 @@ class Dnsmap(MakefilePackage):
by the fictional story."""
homepage = "https://github.com/makefu/dnsmap"
- git = "https://github.com/makefu/dnsmap.git"
+ git = "https://github.com/makefu/dnsmap.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('dnsmap', prefix.bin)
+ install("dnsmap", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dnsmasq/package.py b/var/spack/repos/builtin/packages/dnsmasq/package.py
index c32df4e7b6..683f30b1fd 100644
--- a/var/spack/repos/builtin/packages/dnsmasq/package.py
+++ b/var/spack/repos/builtin/packages/dnsmasq/package.py
@@ -10,21 +10,21 @@ class Dnsmasq(MakefilePackage):
"""A lightweight, caching DNS proxy with integrated DHCP server."""
homepage = "https://www.thekelleys.org.uk/dnsmasq/doc.html"
- url = "http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.70.tar.gz"
+ url = "http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.70.tar.gz"
- version('2.81', sha256='3c28c68c6c2967c3a96e9b432c0c046a5df17a426d3a43cffe9e693cf05804d0')
- version('2.80', sha256='9e4a58f816ce0033ce383c549b7d4058ad9b823968d352d2b76614f83ea39adc')
- version('2.79', sha256='77512dd6f31ffd96718e8dcbbf54f02c083f051d4cca709bd32540aea269f789')
- version('2.78', sha256='c92e5d78aa6353354d02aabf74590d08980bb1385d8a00b80ef9bc80430aa1dc')
- version('2.77', sha256='ae97a68c4e64f07633f31249eb03190d673bdb444a05796a3a2d3f521bfe9d38')
- version('2.76', sha256='777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32')
- version('2.75', sha256='f8252c0a0ba162c2cd45f81140c7c17cc40a5fca2b869d1a420835b74acad294')
- version('2.74', sha256='27b95a8b933d7eb88e93a4c405b808d09268246d4e108606e423ac518aede78f')
- version('2.73', sha256='9f350f74ae2c7990b1c7c6c8591d274c37b674aa987f54dfee7ca856fae0d02d')
- version('2.72', sha256='635f1b47417d17cf32e45cfcfd0213ac39fd09918479a25373ba9b2ce4adc05d')
- version('2.71', sha256='7d8c64f66a396442e01b639df3ea6b4e02ba88cbe206c80be8de68b6841634c4')
- version('2.70', sha256='8eb7bf53688d6aaede5c90cfd2afcce04803a4efbddfbeecc6297180749e98af')
+ version("2.81", sha256="3c28c68c6c2967c3a96e9b432c0c046a5df17a426d3a43cffe9e693cf05804d0")
+ version("2.80", sha256="9e4a58f816ce0033ce383c549b7d4058ad9b823968d352d2b76614f83ea39adc")
+ version("2.79", sha256="77512dd6f31ffd96718e8dcbbf54f02c083f051d4cca709bd32540aea269f789")
+ version("2.78", sha256="c92e5d78aa6353354d02aabf74590d08980bb1385d8a00b80ef9bc80430aa1dc")
+ version("2.77", sha256="ae97a68c4e64f07633f31249eb03190d673bdb444a05796a3a2d3f521bfe9d38")
+ version("2.76", sha256="777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32")
+ version("2.75", sha256="f8252c0a0ba162c2cd45f81140c7c17cc40a5fca2b869d1a420835b74acad294")
+ version("2.74", sha256="27b95a8b933d7eb88e93a4c405b808d09268246d4e108606e423ac518aede78f")
+ version("2.73", sha256="9f350f74ae2c7990b1c7c6c8591d274c37b674aa987f54dfee7ca856fae0d02d")
+ version("2.72", sha256="635f1b47417d17cf32e45cfcfd0213ac39fd09918479a25373ba9b2ce4adc05d")
+ version("2.71", sha256="7d8c64f66a396442e01b639df3ea6b4e02ba88cbe206c80be8de68b6841634c4")
+ version("2.70", sha256="8eb7bf53688d6aaede5c90cfd2afcce04803a4efbddfbeecc6297180749e98af")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('./src/dnsmasq', prefix.bin)
+ install("./src/dnsmasq", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dnstop/package.py b/var/spack/repos/builtin/packages/dnstop/package.py
index 69fd05be3a..c04e59f7b8 100644
--- a/var/spack/repos/builtin/packages/dnstop/package.py
+++ b/var/spack/repos/builtin/packages/dnstop/package.py
@@ -10,19 +10,17 @@ class Dnstop(AutotoolsPackage):
"""Stay on top of your DNS traffic."""
homepage = "https://github.com/measurement-factory/dnstop"
- git = "https://github.com/measurement-factory/dnstop.git"
+ git = "https://github.com/measurement-factory/dnstop.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('libpcap')
- depends_on('ncurses')
+ depends_on("libpcap")
+ depends_on("ncurses")
def configure_args(self):
- return ['LIBS=-ltinfo']
+ return ["LIBS=-ltinfo"]
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.share.man.man8)
- make('BINPATH={0}'.format(prefix.bin),
- 'MANPATH={0}/'.format(prefix),
- 'install')
+ make("BINPATH={0}".format(prefix.bin), "MANPATH={0}/".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/dnstracer/package.py b/var/spack/repos/builtin/packages/dnstracer/package.py
index 8ea9deeca8..9c250ec5c6 100644
--- a/var/spack/repos/builtin/packages/dnstracer/package.py
+++ b/var/spack/repos/builtin/packages/dnstracer/package.py
@@ -15,8 +15,8 @@ class Dnstracer(MakefilePackage):
homepage = "https://github.com/Orc/dnstracer"
git = "https://github.com/Orc/dnstracer.git"
- version('master', branch='master')
+ version("master", branch="master")
def edit(self, spec, prefix):
- configure = Executable('./configure.sh')
- configure('--prefix={0}'.format(prefix))
+ configure = Executable("./configure.sh")
+ configure("--prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/docbook-xml/package.py b/var/spack/repos/builtin/packages/docbook-xml/package.py
index fcffd920b0..81f91504b4 100644
--- a/var/spack/repos/builtin/packages/docbook-xml/package.py
+++ b/var/spack/repos/builtin/packages/docbook-xml/package.py
@@ -10,200 +10,339 @@ class DocbookXml(Package):
"""Docbook DTD XML files."""
homepage = "https://www.oasis-open.org/docbook"
- url = "https://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip"
+ url = "https://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip"
list_url = "https://www.oasis-open.org/docbook/xml/"
list_depth = 1
- version('4.5', sha256='4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4')
- version('4.4', sha256='02f159eb88c4254d95e831c51c144b1863b216d909b5ff45743a1ce6f5273090')
- version('4.3', sha256='23068a94ea6fd484b004c5a73ec36a66aa47ea8f0d6b62cc1695931f5c143464')
- version('4.2', sha256='acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2')
+ version("4.5", sha256="4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4")
+ version("4.4", sha256="02f159eb88c4254d95e831c51c144b1863b216d909b5ff45743a1ce6f5273090")
+ version("4.3", sha256="23068a94ea6fd484b004c5a73ec36a66aa47ea8f0d6b62cc1695931f5c143464")
+ version("4.2", sha256="acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2")
- depends_on('libxml2', type='build')
+ depends_on("libxml2", type="build")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
@property
def catalog(self):
- return join_path(self.prefix, 'catalog')
+ return join_path(self.prefix, "catalog")
- @run_after('install')
+ @run_after("install")
def config_docbook(self):
catalog = self.catalog
version = self.version
- docbook = join_path(prefix, 'docbook')
- ent_dir = join_path(prefix, 'ent')
- xmlcatalog = which('xmlcatalog')
+ docbook = join_path(prefix, "docbook")
+ ent_dir = join_path(prefix, "ent")
+ xmlcatalog = which("xmlcatalog")
# create docbook
- xmlcatalog('--noout', '--create', docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//DTD DocBook XML CALS Table Model '
- 'V{0}//EN'.format(version),
- 'file://{0}/calstblx.dtd'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//DTD DocBook XML V{0}//EN'.format(version),
- 'file://{0}/docbookx.dtd'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//DTD XML Exchange Table Model 19990315//EN',
- 'file://{0}/soextblx.dtd'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ENTITIES DocBook XML Character Entities '
- 'V{0}//EN'.format(version),
- 'file://{0}/dbcentx.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ENTITIES DocBook XML Additional General Entities '
- 'V{0}//EN'.format(version),
- 'file://{0}/dbgenent.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ELEMENTS DocBook XML Document Hierarchy '
- 'V{0}//EN'.format(version),
- 'file://{0}/dbhierx.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ENTITIES DocBook XML Notations '
- 'V{0}//EN'.format(version),
- 'file://{0}/dbnotnx.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ELEMENTS DocBook XML Information Pool '
- 'V{0}//EN'.format(version),
- 'file://{0}/dbpoolx.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- '-//OASIS//ELEMENTS DocBook XML HTML Tables '
- 'V{0}//EN'.format(version),
- 'file://{0}/htmltblx.mod'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: Arrow '
- 'Relations//EN',
- 'file://{0}/isoamsa.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: Binary '
- 'Operators//EN',
- 'file://{0}/isoamsb.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN',
- 'file://{0}/isoamsc.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: '
- 'Negated Relations//EN',
- 'file://{0}/isoamsn.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN',
- 'file://{0}/isoamso.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN',
- 'file://{0}/isoamsr.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Box and Line Drawing//EN',
- 'file://{0}/isobox.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Russian Cyrillic//EN',
- 'file://{0}/isocyr1.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN',
- 'file://{0}/isocyr2.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Diacritical Marks//EN',
- 'file://{0}/isodia.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Greek Letters//EN',
- 'file://{0}/isogrk1.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Monotoniko Greek//EN',
- 'file://{0}/isogrk2.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Greek Symbols//EN',
- 'file://{0}/isogrk3.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN',
- 'file://{0}/isogrk4.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Latin 1//EN',
- 'file://{0}/isolat1.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Added Latin 2//EN',
- 'file://{0}/isolat2.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN',
- 'file://{0}/isonum.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES Publishing//EN',
- 'file://{0}/isopub.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'public',
- 'ISO 8879:1986//ENTITIES General Technical//EN',
- 'file://{0}/isotech.ent'.format(ent_dir),
- docbook)
- xmlcatalog('--noout', '--add', 'rewriteSystem',
- 'https://www.oasis-open.org/docbook/xml/{0}'.format(version),
- 'file://{0}'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'rewriteURI',
- 'https://www.oasis-open.org/docbook/xml/{0}'.format(version),
- 'file://{0}'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'rewriteSystem',
- 'https://www.oasis-open.org/docbook/xml/current',
- 'file://{0}'.format(prefix),
- docbook)
- xmlcatalog('--noout', '--add', 'rewriteURI',
- 'https://www.oasis-open.org/docbook/xml/current',
- 'file://{0}'.format(prefix),
- docbook)
+ xmlcatalog("--noout", "--create", docbook)
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//DTD DocBook XML CALS Table Model " "V{0}//EN".format(version),
+ "file://{0}/calstblx.dtd".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//DTD DocBook XML V{0}//EN".format(version),
+ "file://{0}/docbookx.dtd".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//DTD XML Exchange Table Model 19990315//EN",
+ "file://{0}/soextblx.dtd".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ENTITIES DocBook XML Character Entities " "V{0}//EN".format(version),
+ "file://{0}/dbcentx.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ENTITIES DocBook XML Additional General Entities "
+ "V{0}//EN".format(version),
+ "file://{0}/dbgenent.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy " "V{0}//EN".format(version),
+ "file://{0}/dbhierx.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ENTITIES DocBook XML Notations " "V{0}//EN".format(version),
+ "file://{0}/dbnotnx.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ELEMENTS DocBook XML Information Pool " "V{0}//EN".format(version),
+ "file://{0}/dbpoolx.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables " "V{0}//EN".format(version),
+ "file://{0}/htmltblx.mod".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow " "Relations//EN",
+ "file://{0}/isoamsa.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Binary " "Operators//EN",
+ "file://{0}/isoamsb.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN",
+ "file://{0}/isoamsc.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: " "Negated Relations//EN",
+ "file://{0}/isoamsn.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN",
+ "file://{0}/isoamso.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN",
+ "file://{0}/isoamsr.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Box and Line Drawing//EN",
+ "file://{0}/isobox.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Russian Cyrillic//EN",
+ "file://{0}/isocyr1.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN",
+ "file://{0}/isocyr2.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Diacritical Marks//EN",
+ "file://{0}/isodia.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Greek Letters//EN",
+ "file://{0}/isogrk1.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Monotoniko Greek//EN",
+ "file://{0}/isogrk2.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Greek Symbols//EN",
+ "file://{0}/isogrk3.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN",
+ "file://{0}/isogrk4.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Latin 1//EN",
+ "file://{0}/isolat1.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Added Latin 2//EN",
+ "file://{0}/isolat2.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN",
+ "file://{0}/isonum.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES Publishing//EN",
+ "file://{0}/isopub.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "public",
+ "ISO 8879:1986//ENTITIES General Technical//EN",
+ "file://{0}/isotech.ent".format(ent_dir),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "rewriteSystem",
+ "https://www.oasis-open.org/docbook/xml/{0}".format(version),
+ "file://{0}".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "rewriteURI",
+ "https://www.oasis-open.org/docbook/xml/{0}".format(version),
+ "file://{0}".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "rewriteSystem",
+ "https://www.oasis-open.org/docbook/xml/current",
+ "file://{0}".format(prefix),
+ docbook,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "rewriteURI",
+ "https://www.oasis-open.org/docbook/xml/current",
+ "file://{0}".format(prefix),
+ docbook,
+ )
# create catalog
- xmlcatalog('--noout', '--create', catalog)
- xmlcatalog('--noout', '--add', 'delegatePublic',
- '-//OASIS//ENTITIES DocBook XML',
- 'file://{0}'.format(docbook),
- catalog)
- xmlcatalog('--noout', '--add', 'delegatePublic',
- '-//OASIS//DTD DocBook XML',
- 'file://{0}'.format(docbook),
- catalog)
- xmlcatalog('--noout', '--add', 'delegatePublic',
- 'ISO 8879:1986',
- 'file://{0}'.format(docbook),
- catalog)
- xmlcatalog('--noout', '--add', 'delegateSystem',
- 'https://www.oasis-open.org/docbook/',
- 'file://{0}'.format(docbook),
- catalog)
- xmlcatalog('--noout', '--add', 'delegateURI',
- 'https://www.oasis-open.org/docbook/',
- 'file://{0}'.format(docbook),
- catalog)
+ xmlcatalog("--noout", "--create", catalog)
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "delegatePublic",
+ "-//OASIS//ENTITIES DocBook XML",
+ "file://{0}".format(docbook),
+ catalog,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "delegatePublic",
+ "-//OASIS//DTD DocBook XML",
+ "file://{0}".format(docbook),
+ catalog,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "delegatePublic",
+ "ISO 8879:1986",
+ "file://{0}".format(docbook),
+ catalog,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "delegateSystem",
+ "https://www.oasis-open.org/docbook/",
+ "file://{0}".format(docbook),
+ catalog,
+ )
+ xmlcatalog(
+ "--noout",
+ "--add",
+ "delegateURI",
+ "https://www.oasis-open.org/docbook/",
+ "file://{0}".format(docbook),
+ catalog,
+ )
def setup_run_environment(self, env):
catalog = self.catalog
- env.prepend_path('XML_CATALOG_FILES', catalog, separator=' ')
+ env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
def setup_dependent_build_environment(self, env, dependent_spec):
catalog = self.catalog
- env.prepend_path("XML_CATALOG_FILES", catalog, separator=' ')
+ env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
diff --git a/var/spack/repos/builtin/packages/docbook-xsl/package.py b/var/spack/repos/builtin/packages/docbook-xsl/package.py
index cfa5f6278f..e50f36f8f7 100644
--- a/var/spack/repos/builtin/packages/docbook-xsl/package.py
+++ b/var/spack/repos/builtin/packages/docbook-xsl/package.py
@@ -10,56 +10,66 @@ class DocbookXsl(Package):
"""DocBook XSLT 1.0 Stylesheets."""
homepage = "https://github.com/docbook/xslt10-stylesheets"
- url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F1.79.2/docbook-xsl-1.79.2.tar.bz2"
+ url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F1.79.2/docbook-xsl-1.79.2.tar.bz2"
- version('1.79.2', sha256='316524ea444e53208a2fb90eeb676af755da96e1417835ba5f5eb719c81fa371')
- version('1.78.1', sha256='c98f7296ab5c8ccd2e0bc07634976a37f50847df2d8a59bdb1e157664700b467', url='https://sourceforge.net/projects/docbook/files/docbook-xsl/1.78.1/docbook-xsl-1.78.1.tar.bz2')
+ version("1.79.2", sha256="316524ea444e53208a2fb90eeb676af755da96e1417835ba5f5eb719c81fa371")
+ version(
+ "1.78.1",
+ sha256="c98f7296ab5c8ccd2e0bc07634976a37f50847df2d8a59bdb1e157664700b467",
+ url="https://sourceforge.net/projects/docbook/files/docbook-xsl/1.78.1/docbook-xsl-1.78.1.tar.bz2",
+ )
- depends_on('docbook-xml')
- depends_on('libxml2', type='build')
+ depends_on("docbook-xml")
+ depends_on("libxml2", type="build")
- patch('docbook-xsl-1.79.2-stack_fix-1.patch', when='@1.79.2')
+ patch("docbook-xsl-1.79.2-stack_fix-1.patch", when="@1.79.2")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
@property
def catalog(self):
- return join_path(self.prefix, 'catalog')
+ return join_path(self.prefix, "catalog")
- @run_after('install')
+ @run_after("install")
def config_docbook(self):
catalog = self.catalog
version = self.version
- xml_xsd = join_path(prefix, 'slides', 'schema', 'xsd', 'xml.xsd')
- xmlcatalog = which('xmlcatalog')
+ xml_xsd = join_path(prefix, "slides", "schema", "xsd", "xml.xsd")
+ xmlcatalog = which("xmlcatalog")
# create catalog
- xmlcatalog('--noout', '--create', catalog)
- xmlcatalog('--noout', '--add', 'system',
- 'https://www.w3.org/2001/xml.xsd', xml_xsd, catalog)
- xmlcatalog('--noout', '--add', 'system',
- 'https://www.w3.org/2009/01/xml.xsd', xml_xsd, catalog)
- xmlcatalog('--noout', '--add', 'uri',
- 'https://www.w3.org/2001/xml.xsd', xml_xsd, catalog)
- xmlcatalog('--noout', '--add', 'uri',
- 'https://www.w3.org/2009/01/xml.xsd', xml_xsd, catalog)
+ xmlcatalog("--noout", "--create", catalog)
+ xmlcatalog(
+ "--noout", "--add", "system", "https://www.w3.org/2001/xml.xsd", xml_xsd, catalog
+ )
+ xmlcatalog(
+ "--noout", "--add", "system", "https://www.w3.org/2009/01/xml.xsd", xml_xsd, catalog
+ )
+ xmlcatalog("--noout", "--add", "uri", "https://www.w3.org/2001/xml.xsd", xml_xsd, catalog)
+ xmlcatalog(
+ "--noout", "--add", "uri", "https://www.w3.org/2009/01/xml.xsd", xml_xsd, catalog
+ )
- docbook_urls = ['docbook.sourceforge.net', 'cdn.docbook.org']
- docbook_rewrites = ['rewriteSystem', 'rewriteURI']
- docbook_versions = ['current', version]
+ docbook_urls = ["docbook.sourceforge.net", "cdn.docbook.org"]
+ docbook_rewrites = ["rewriteSystem", "rewriteURI"]
+ docbook_versions = ["current", version]
for docbook_url in docbook_urls:
for docbook_rewrite in docbook_rewrites:
for docbook_version in docbook_versions:
- xmlcatalog('--noout', '--add', docbook_rewrite,
- 'http://{0}/release/xsl/{1}'.format(docbook_url,
- docbook_version),
- prefix, catalog)
+ xmlcatalog(
+ "--noout",
+ "--add",
+ docbook_rewrite,
+ "http://{0}/release/xsl/{1}".format(docbook_url, docbook_version),
+ prefix,
+ catalog,
+ )
def setup_run_environment(self, env):
catalog = self.catalog
- env.prepend_path('XML_CATALOG_FILES', catalog, separator=' ')
+ env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
def setup_dependent_build_environment(self, env, dependent_spec):
catalog = self.catalog
- env.prepend_path("XML_CATALOG_FILES", catalog, separator=' ')
+ env.prepend_path("XML_CATALOG_FILES", catalog, separator=" ")
diff --git a/var/spack/repos/builtin/packages/dock/package.py b/var/spack/repos/builtin/packages/dock/package.py
index 5994d1b784..a27b491aec 100644
--- a/var/spack/repos/builtin/packages/dock/package.py
+++ b/var/spack/repos/builtin/packages/dock/package.py
@@ -11,51 +11,50 @@ from spack.package import *
class Dock(Package):
"""DOCK is a molecular docking program used in drug discovery.
- This program, given a protein binding site and a small molecule, tries
- to predict the correct binding mode of the small molecule in the binding
- site, and the associated binding energy."""
+ This program, given a protein binding site and a small molecule, tries
+ to predict the correct binding mode of the small molecule in the binding
+ site, and the associated binding energy."""
homepage = "http://dock.compbio.ucsf.edu/DOCK_6/index.htm"
- url = "file://{0}/dock.6.9_source.tar.gz".format(os.getcwd())
+ url = "file://{0}/dock.6.9_source.tar.gz".format(os.getcwd())
manual_download = True
- version('6.9', sha256='c2caef9b4bb47bb0cb437f6dc21f4c605fd3d0d9cc817fa13748c050dc87a5a8')
+ version("6.9", sha256="c2caef9b4bb47bb0cb437f6dc21f4c605fd3d0d9cc817fa13748c050dc87a5a8")
- variant('mpi', default=True, description='Enable mpi')
+ variant("mpi", default=True, description="Enable mpi")
- depends_on('bison', type='build')
- depends_on('mpi', when='+mpi')
+ depends_on("bison", type="build")
+ depends_on("mpi", when="+mpi")
def setup_build_environment(self, env):
- if '+mpi' in self.spec:
- env.set('MPICH_HOME', self.spec['mpi'].prefix)
+ if "+mpi" in self.spec:
+ env.set("MPICH_HOME", self.spec["mpi"].prefix)
def install(self, spec, prefix):
compiler_targets = {
- 'gcc': 'gnu',
- 'intel': 'intel',
- 'pgi': 'pgi',
- 'sgi': 'sgi',
+ "gcc": "gnu",
+ "intel": "intel",
+ "pgi": "pgi",
+ "sgi": "sgi",
}
if self.compiler.name not in compiler_targets:
- template = 'Unsupported compiler {0}! Supported compilers: {1}'
- err = template.format(self.compiler.name,
- ', '.join(list(compiler_targets.keys())))
+ template = "Unsupported compiler {0}! Supported compilers: {1}"
+ err = template.format(self.compiler.name, ", ".join(list(compiler_targets.keys())))
raise InstallError(err)
- if self.compiler.name == 'pgi' and '+mpi' in spec:
- raise InstallError('Parallel output is not supported with pgi.')
+ if self.compiler.name == "pgi" and "+mpi" in spec:
+ raise InstallError("Parallel output is not supported with pgi.")
- with working_dir('install'):
- sh_args = ['./configure', compiler_targets[self.compiler.name]]
+ with working_dir("install"):
+ sh_args = ["./configure", compiler_targets[self.compiler.name]]
- if '+mpi' in spec:
- sh_args.append('parallel')
+ if "+mpi" in spec:
+ sh_args.append("parallel")
- which('sh')(*sh_args)
- which('make')('YACC=bison -o y.tab.c')
+ which("sh")(*sh_args)
+ which("make")("YACC=bison -o y.tab.c")
mkdirp(prefix.bin)
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dos2unix/package.py b/var/spack/repos/builtin/packages/dos2unix/package.py
index 3cdf13afe0..dfd549fe0d 100644
--- a/var/spack/repos/builtin/packages/dos2unix/package.py
+++ b/var/spack/repos/builtin/packages/dos2unix/package.py
@@ -12,30 +12,31 @@ class Dos2unix(MakefilePackage):
"""DOS/Mac to Unix and vice versa text file format converter."""
homepage = "https://waterlan.home.xs4all.nl/dos2unix.html"
- url = "https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.3.4.tar.gz"
+ url = "https://waterlan.home.xs4all.nl/dos2unix/dos2unix-7.3.4.tar.gz"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('7.4.2', sha256='6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01')
- version('7.3.4', sha256='8ccda7bbc5a2f903dafd95900abb5bf5e77a769b572ef25150fde4056c5f30c5')
+ version("7.4.2", sha256="6035c58df6ea2832e868b599dfa0d60ad41ca3ecc8aa27822c4b7a9789d3ae01")
+ version("7.3.4", sha256="8ccda7bbc5a2f903dafd95900abb5bf5e77a769b572ef25150fde4056c5f30c5")
- depends_on('gettext')
+ depends_on("gettext")
- executables = [r'^dos2unix$']
+ executables = [r"^dos2unix$"]
@property
def build_targets(self):
targets = [
- 'LDFLAGS_USER=-L{0} {1}'.format(
- self.spec['gettext'].prefix.lib, self.spec['gettext'].libs.link_flags),
+ "LDFLAGS_USER=-L{0} {1}".format(
+ self.spec["gettext"].prefix.lib, self.spec["gettext"].libs.link_flags
+ ),
]
return targets
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'^dos2unix\s+([\d\.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"^dos2unix\s+([\d\.]+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/dosfstools/package.py b/var/spack/repos/builtin/packages/dosfstools/package.py
index ba5d86bfab..48f0a4671d 100644
--- a/var/spack/repos/builtin/packages/dosfstools/package.py
+++ b/var/spack/repos/builtin/packages/dosfstools/package.py
@@ -11,15 +11,15 @@ class Dosfstools(AutotoolsPackage):
to create, check and label file systems of the FAT family."""
homepage = "https://github.com/dosfstools/dosfstools"
- url = "https://github.com/dosfstools/dosfstools/archive/v4.1.tar.gz"
+ url = "https://github.com/dosfstools/dosfstools/archive/v4.1.tar.gz"
- version('4.1', sha256='8ff9c2dcc01551fe9de8888cb41eb1051fd58bdf1ab3a93d3d88916f0a4ffd1b')
- version('4.0', sha256='77975e289e695cb8c984a3c0a15a3bbf3af90be83c26983d43abcde9ec48eea5')
+ version("4.1", sha256="8ff9c2dcc01551fe9de8888cb41eb1051fd58bdf1ab3a93d3d88916f0a4ffd1b")
+ version("4.0", sha256="77975e289e695cb8c984a3c0a15a3bbf3af90be83c26983d43abcde9ec48eea5")
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/dotconf/package.py b/var/spack/repos/builtin/packages/dotconf/package.py
index b134b3873f..c7b8084d91 100644
--- a/var/spack/repos/builtin/packages/dotconf/package.py
+++ b/var/spack/repos/builtin/packages/dotconf/package.py
@@ -10,11 +10,11 @@ class Dotconf(AutotoolsPackage):
"""dot.conf configuration file parser."""
homepage = "https://github.com/williamh/dotconf"
- url = "https://github.com/williamh/dotconf/archive/v1.3.tar.gz"
+ url = "https://github.com/williamh/dotconf/archive/v1.3.tar.gz"
- version('1.3', sha256='7f1ecf40de1ad002a065a321582ed34f8c14242309c3547ad59710ae3c805653')
+ version("1.3", sha256="7f1ecf40de1ad002a065a321582ed34f8c14242309c3547ad59710ae3c805653")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py b/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py
index ece424b075..4214efe702 100644
--- a/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py
+++ b/var/spack/repos/builtin/packages/dotnet-core-sdk/package.py
@@ -14,31 +14,38 @@ class DotnetCoreSdk(Package):
homepage = "https://www.microsoft.com/net/"
- version('6.0.2',
- url='https://download.visualstudio.microsoft.com/download/pr/e7acb87d-ab08-4620-9050-b3e80f688d36/e93bbadc19b12f81e3a6761719f28b47/dotnet-sdk-6.0.102-linux-x64.tar.gz',
- sha256='9bdd4dacdf9a23d386f207ec19260afd36a7fb7302233c9abc0b47e65ffc3119',
- preferred=True)
-
- version('5.0.4',
- url='https://download.visualstudio.microsoft.com/download/pr/73a9cb2a-1acd-4d20-b864-d12797ca3d40/075dbe1dc3bba4aa85ca420167b861b6/dotnet-sdk-5.0.201-linux-x64.tar.gz',
- sha256='9ff77087831e8ca32719566ec9ef537e136cfc02c5ff565e53f5509cc6e7b341')
-
- version('3.1.13',
- url='https://download.visualstudio.microsoft.com/download/pr/ab82011d-2549-4e23-a8a9-a2b522a31f27/6e615d6177e49c3e874d05ee3566e8bf/dotnet-sdk-3.1.407-linux-x64.tar.gz',
- sha256='a744359910206fe657c3a02dfa54092f288a44c63c7c86891e866f0678a7e911')
-
- version('2.1.300',
- url='https://download.microsoft.com/download/8/8/5/88544F33-836A-49A5-8B67-451C24709A8F/dotnet-sdk-2.1.300-linux-x64.tar.gz',
- sha256='fabca4c8825182ff18e5a2f82dfe75aecd10260ee9e7c85a8c4b3d108e5d8e1b')
-
- variant('telemetry', default=False,
- description='allow collection of telemetry data')
+ version(
+ "6.0.2",
+ url="https://download.visualstudio.microsoft.com/download/pr/e7acb87d-ab08-4620-9050-b3e80f688d36/e93bbadc19b12f81e3a6761719f28b47/dotnet-sdk-6.0.102-linux-x64.tar.gz",
+ sha256="9bdd4dacdf9a23d386f207ec19260afd36a7fb7302233c9abc0b47e65ffc3119",
+ preferred=True,
+ )
+
+ version(
+ "5.0.4",
+ url="https://download.visualstudio.microsoft.com/download/pr/73a9cb2a-1acd-4d20-b864-d12797ca3d40/075dbe1dc3bba4aa85ca420167b861b6/dotnet-sdk-5.0.201-linux-x64.tar.gz",
+ sha256="9ff77087831e8ca32719566ec9ef537e136cfc02c5ff565e53f5509cc6e7b341",
+ )
+
+ version(
+ "3.1.13",
+ url="https://download.visualstudio.microsoft.com/download/pr/ab82011d-2549-4e23-a8a9-a2b522a31f27/6e615d6177e49c3e874d05ee3566e8bf/dotnet-sdk-3.1.407-linux-x64.tar.gz",
+ sha256="a744359910206fe657c3a02dfa54092f288a44c63c7c86891e866f0678a7e911",
+ )
+
+ version(
+ "2.1.300",
+ url="https://download.microsoft.com/download/8/8/5/88544F33-836A-49A5-8B67-451C24709A8F/dotnet-sdk-2.1.300-linux-x64.tar.gz",
+ sha256="fabca4c8825182ff18e5a2f82dfe75aecd10260ee9e7c85a8c4b3d108e5d8e1b",
+ )
+
+ variant("telemetry", default=False, description="allow collection of telemetry data")
def setup_build_environment(self, env):
- if '-telemetry' in self.spec:
- env.set('DOTNET_CLI_TELEMETRY_OPTOUT', 1)
+ if "-telemetry" in self.spec:
+ env.set("DOTNET_CLI_TELEMETRY_OPTOUT", 1)
def install(self, spec, prefix):
- mkdirp('bin')
- symlink('../dotnet', 'bin/dotnet')
+ mkdirp("bin")
+ symlink("../dotnet", "bin/dotnet")
install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/double-conversion/package.py b/var/spack/repos/builtin/packages/double-conversion/package.py
index 9287c501e8..a177e24af9 100644
--- a/var/spack/repos/builtin/packages/double-conversion/package.py
+++ b/var/spack/repos/builtin/packages/double-conversion/package.py
@@ -19,15 +19,15 @@ class DoubleConversion(CMakePackage):
"""
homepage = "https://github.com/google/double-conversion"
- url = "https://github.com/google/double-conversion/archive/v2.0.1.zip"
+ url = "https://github.com/google/double-conversion/archive/v2.0.1.zip"
- version('3.1.5', sha256='72c0e3925a1214095afc6f1c214faecbec20e8526cf6b8a541cf72195a11887f')
- version('2.0.2', sha256='7a0ae55ec9f75c22607808d091bae050a38d4a7728c52273c89d25dd5b78fcdd')
- version('2.0.1', sha256='476aefbdc2051bbcca0d5919ebc293c90a7ad2c0cb6c4ad877d6e665f469146b')
- version('2.0.0', sha256='437df89059bfa6c1c0f8703693c2584a57f75289ed7020d801c9befb23f46a26')
- version('1.1.5', sha256='496fd3354fa0ff17562907632f5560c1d444ea98b6069f1436fa573949b94fb0')
- version('1.1.4', sha256='24b5edce8c88f0f632c83e60e0bde11252656dc3b714ba195619c1798ff28834')
- version('1.1.3', sha256='f0d1b8621592a3cf010c04c3e1c0f08455fc0fc7ee22e1583e2a63dc6d3e3871')
+ version("3.1.5", sha256="72c0e3925a1214095afc6f1c214faecbec20e8526cf6b8a541cf72195a11887f")
+ version("2.0.2", sha256="7a0ae55ec9f75c22607808d091bae050a38d4a7728c52273c89d25dd5b78fcdd")
+ version("2.0.1", sha256="476aefbdc2051bbcca0d5919ebc293c90a7ad2c0cb6c4ad877d6e665f469146b")
+ version("2.0.0", sha256="437df89059bfa6c1c0f8703693c2584a57f75289ed7020d801c9befb23f46a26")
+ version("1.1.5", sha256="496fd3354fa0ff17562907632f5560c1d444ea98b6069f1436fa573949b94fb0")
+ version("1.1.4", sha256="24b5edce8c88f0f632c83e60e0bde11252656dc3b714ba195619c1798ff28834")
+ version("1.1.3", sha256="f0d1b8621592a3cf010c04c3e1c0f08455fc0fc7ee22e1583e2a63dc6d3e3871")
def cmake_args(self):
- return ['-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true']
+ return ["-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true"]
diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py
index ba81ed6b6c..ad8a985755 100644
--- a/var/spack/repos/builtin/packages/doxygen/package.py
+++ b/var/spack/repos/builtin/packages/doxygen/package.py
@@ -15,104 +15,108 @@ class Doxygen(CMakePackage):
Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some
extent D.."""
- homepage = "https://github.com/doxygen/doxygen/"
- git = "https://github.com/doxygen/doxygen.git"
+ homepage = "https://github.com/doxygen/doxygen/"
+ git = "https://github.com/doxygen/doxygen.git"
# Doxygen versions on GitHub
- version('1.9.4', commit='5d15657a55555e6181a7830a5c723af75e7577e2')
- version('1.9.3', commit='6518ff3d24ad187b7072bee854d69e285cd366ea')
- version('1.9.2', commit='caa4e3de211fbbef2c3adf58a6bd4c86d0eb7cb8')
- version('1.9.1', commit='ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b')
- version('1.9.0', commit='71777ff3973331bd9453870593a762e184ba9f78')
- version('1.8.20', commit='f246dd2f1c58eea39ea3f50c108019e4d4137bd5')
- version('1.8.18', commit='a1b07ad0e92e4526c9ba1711d39f06b58c2a7459')
- version('1.8.17', commit='b5fa3cd1c6e6240e20d3b80a70e3f04040b32021')
- version('1.8.16', commit='cfd73d5c4d1a66c620a3b7c08b72a3f3c3f94255')
- version('1.8.15', commit='dc89ac01407c24142698c1374610f2cee1fbf200')
- version('1.8.14', commit='2f4139de014bf03898320a45fe52c92872c1e0f4')
- version('1.8.12', commit='4951df8d0d0acf843b4147136f945504b96536e7')
- version('1.8.11', commit='a6d4f4df45febe588c38de37641513fd576b998f')
- version('1.8.10', commit='fdae7519a2e29f94e65c0e718513343f07302ddb')
+ version("1.9.4", commit="5d15657a55555e6181a7830a5c723af75e7577e2")
+ version("1.9.3", commit="6518ff3d24ad187b7072bee854d69e285cd366ea")
+ version("1.9.2", commit="caa4e3de211fbbef2c3adf58a6bd4c86d0eb7cb8")
+ version("1.9.1", commit="ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b")
+ version("1.9.0", commit="71777ff3973331bd9453870593a762e184ba9f78")
+ version("1.8.20", commit="f246dd2f1c58eea39ea3f50c108019e4d4137bd5")
+ version("1.8.18", commit="a1b07ad0e92e4526c9ba1711d39f06b58c2a7459")
+ version("1.8.17", commit="b5fa3cd1c6e6240e20d3b80a70e3f04040b32021")
+ version("1.8.16", commit="cfd73d5c4d1a66c620a3b7c08b72a3f3c3f94255")
+ version("1.8.15", commit="dc89ac01407c24142698c1374610f2cee1fbf200")
+ version("1.8.14", commit="2f4139de014bf03898320a45fe52c92872c1e0f4")
+ version("1.8.12", commit="4951df8d0d0acf843b4147136f945504b96536e7")
+ version("1.8.11", commit="a6d4f4df45febe588c38de37641513fd576b998f")
+ version("1.8.10", commit="fdae7519a2e29f94e65c0e718513343f07302ddb")
# graphviz appears to be a run-time optional dependency
- variant('graphviz', default=False,
- description='Build with dot command support from Graphviz.')
+ variant("graphviz", default=False, description="Build with dot command support from Graphviz.")
- variant('mscgen', default=False,
- description='Build with support for code graphs from mscgen.')
+ variant("mscgen", default=False, description="Build with support for code graphs from mscgen.")
- executables = ['doxygen']
+ executables = ["doxygen"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('-v', output=str, error=str)
+ output = Executable(exe)("-v", output=str, error=str)
match = re.search(r"^([\d\.]+)$", output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version_str):
- variants = ''
- if which('dot'):
+ variants = ""
+ if which("dot"):
variants += "+graphviz"
else:
variants += "~graphviz"
- if which('mscgen'):
+ if which("mscgen"):
variants += "+mscgen"
else:
variants += "~mscgen"
return variants
- depends_on("cmake@2.8.12:", type='build')
- depends_on("python", type='build') # 2 or 3 OK; used in CMake build
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("python", type="build") # 2 or 3 OK; used in CMake build
depends_on("iconv")
- depends_on("flex", type='build')
- depends_on("bison", type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
# code.l just checks subminor version <=2.5.4 or >=2.5.33
# but does not recognize 2.6.x as newer...could be patched if needed
- depends_on("flex@2.5.39", type='build', when='@1.8.10')
- depends_on("bison@2.7:", type='build', when='@1.8.10:')
+ depends_on("flex@2.5.39", type="build", when="@1.8.10")
+ depends_on("bison@2.7:", type="build", when="@1.8.10:")
# optional dependencies
- depends_on("graphviz", when="+graphviz", type='run')
- depends_on("mscgen", when="+mscgen", type='run')
+ depends_on("graphviz", when="+graphviz", type="run")
+ depends_on("mscgen", when="+mscgen", type="run")
# Support C++14's std::shared_ptr. For details about this patch, see
# https://github.com/Sleepyowl/doxygen/commit/6c380ba91ae41c6d5c409a5163119318932ae2a3?diff=unified
# Also - https://github.com/doxygen/doxygen/pull/6588
- patch('shared_ptr.patch', when='@1.8.14')
+ patch("shared_ptr.patch", when="@1.8.14")
# Support C++17's nested namespaces a::b::c. For details about this patch, see
# https://github.com/doxygen/doxygen/pull/6977/commits/788440279e0f0fdc7dce27ec266d7d5c11bcda1c
- patch('cpp17_namespaces.patch', when='@1.8.15')
+ patch("cpp17_namespaces.patch", when="@1.8.15")
# Workaround for gcc getting stuck in an infinite loop
- patch('gcc-partial-inlining-bug.patch', when='@1.8.20: %gcc@7')
+ patch("gcc-partial-inlining-bug.patch", when="@1.8.20: %gcc@7")
# https://github.com/doxygen/doxygen/issues/9312
- patch('https://github.com/doxygen/doxygen/commit/5198966c8d5fec89116d025c74934ac03ea511fa.patch?full_index=1', sha256='94a93f869a2dc63014ec4e9f1a31a45eefcab63931823979fdb4502f0caf625f', when='@1.9.4 %gcc@12:')
+ patch(
+ "https://github.com/doxygen/doxygen/commit/5198966c8d5fec89116d025c74934ac03ea511fa.patch?full_index=1",
+ sha256="94a93f869a2dc63014ec4e9f1a31a45eefcab63931823979fdb4502f0caf625f",
+ when="@1.9.4 %gcc@12:",
+ )
# Some GCC 7.x get stuck in an infinite loop
- conflicts('%gcc@7.0:7.9', when='@1.9:')
+ conflicts("%gcc@7.0:7.9", when="@1.9:")
def patch(self):
- if self.spec['iconv'].name == 'libc':
+ if self.spec["iconv"].name == "libc":
return
# On Linux systems, iconv is provided by libc. Since CMake finds the
# symbol in libc, it does not look for libiconv, which leads to linker
# errors. This makes sure that CMake always looks for the external
# libconv instead.
- filter_file('check_function_exists(iconv_open ICONV_IN_GLIBC)',
- 'set(ICONV_IN_GLIBC FALSE)',
- join_path('cmake', 'FindIconv.cmake'),
- string=True)
+ filter_file(
+ "check_function_exists(iconv_open ICONV_IN_GLIBC)",
+ "set(ICONV_IN_GLIBC FALSE)",
+ join_path("cmake", "FindIconv.cmake"),
+ string=True,
+ )
def cmake_args(self):
args = [
# Doxygen's build system uses CMake's deprecated `FindPythonInterp`,
# which can get confused by other `python` executables in the PATH.
# See issue: https://github.com/spack/spack/issues/28215
- self.define('PYTHON_EXECUTABLE', self.spec['python'].command.path)
+ self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path)
]
return args
diff --git a/var/spack/repos/builtin/packages/dpcpp/package.py b/var/spack/repos/builtin/packages/dpcpp/package.py
index dd68a65dd4..ff930fdd56 100644
--- a/var/spack/repos/builtin/packages/dpcpp/package.py
+++ b/var/spack/repos/builtin/packages/dpcpp/package.py
@@ -12,147 +12,153 @@ from spack.package import *
class Dpcpp(CMakePackage):
"""Data Parallel C++ compiler: Intel's implementation of SYCL programming model"""
- homepage = 'https://intel.github.io/llvm-docs/'
- git = 'https://github.com/intel/llvm.git'
-
- version('develop', branch='sycl')
- version('2021.09', commit='bd68232bb96386bf7649345c0557ba520e73c02d')
- version('2021.12', commit='27f59d8906fcc8aece7ff6aa570ccdee52168c2d')
-
- maintainers = ['ravil-mobile']
- variant('cuda', default=False, description='switch from OpenCL to CUDA')
- variant('rocm', default=False, description='switch from OpenCL to ROCm')
- variant('rocm-platform', default='AMD', values=('AMD', 'NVIDIA'), multi=False, description='choose ROCm backend')
- variant('openmp', default=False, description='build with OpenMP without target offloading')
- variant('esimd-cpu', default=False, description='build with ESIMD_CPU support')
- variant('assertions', default=False, description='build with assertions')
- variant('docs', default=False, description='build Doxygen documentation')
- variant('werror', default=False, description='treat warnings as errors')
- variant('shared', default=False, description='build shared libraries')
- variant('remangle_libclc', default=True, description='remangle libclc gen. variants')
- variant('lld', default=False, description='use LLD linker for build')
-
- depends_on('cmake@3.16.2:', type='build')
- depends_on('ninja@1.10.0:', type='build')
-
- depends_on('cuda@10.2.0:11.4.999', when='+cuda')
+ homepage = "https://intel.github.io/llvm-docs/"
+ git = "https://github.com/intel/llvm.git"
+
+ version("develop", branch="sycl")
+ version("2021.09", commit="bd68232bb96386bf7649345c0557ba520e73c02d")
+ version("2021.12", commit="27f59d8906fcc8aece7ff6aa570ccdee52168c2d")
+
+ maintainers = ["ravil-mobile"]
+ variant("cuda", default=False, description="switch from OpenCL to CUDA")
+ variant("rocm", default=False, description="switch from OpenCL to ROCm")
+ variant(
+ "rocm-platform",
+ default="AMD",
+ values=("AMD", "NVIDIA"),
+ multi=False,
+ description="choose ROCm backend",
+ )
+ variant("openmp", default=False, description="build with OpenMP without target offloading")
+ variant("esimd-cpu", default=False, description="build with ESIMD_CPU support")
+ variant("assertions", default=False, description="build with assertions")
+ variant("docs", default=False, description="build Doxygen documentation")
+ variant("werror", default=False, description="treat warnings as errors")
+ variant("shared", default=False, description="build shared libraries")
+ variant("remangle_libclc", default=True, description="remangle libclc gen. variants")
+ variant("lld", default=False, description="use LLD linker for build")
+
+ depends_on("cmake@3.16.2:", type="build")
+ depends_on("ninja@1.10.0:", type="build")
+
+ depends_on("cuda@10.2.0:11.4.999", when="+cuda")
# NOTE: AMD HIP needs to be tested; it will be done in the next update
# depends_on('cuda@10.2.0:10.2.999', when='rocm-platform=NVIDIA', type='build')
# depends_on('hip@4.0.0:', when='+rocm', type='build')
- root_cmakelists_dir = 'llvm'
+ root_cmakelists_dir = "llvm"
def cmake_args(self):
- llvm_external_projects = 'sycl;llvm-spirv;opencl;libdevice;xpti;xptifw'
-
- if '+openmp' in self.spec:
- llvm_external_projects += ';openmp'
-
- sycl_dir = os.path.join(self.stage.source_path, 'sycl')
- spirv_dir = os.path.join(self.stage.source_path, 'llvm-spirv')
- xpti_dir = os.path.join(self.stage.source_path, 'xpti')
- xptifw_dir = os.path.join(self.stage.source_path, 'xptifw')
- libdevice_dir = os.path.join(self.stage.source_path, 'libdevice')
- llvm_enable_projects = 'clang;' + llvm_external_projects
- libclc_targets_to_build = ''
- sycl_build_pi_rocm_platform = self.spec.variants['rocm-platform'].value
-
- if self.spec.satisfies('target=x86_64:'):
- llvm_targets_to_build = 'X86'
- elif self.spec.satisfies('target=aarch64:'):
- llvm_targets_to_build = 'ARM;AArch64'
+ llvm_external_projects = "sycl;llvm-spirv;opencl;libdevice;xpti;xptifw"
+
+ if "+openmp" in self.spec:
+ llvm_external_projects += ";openmp"
+
+ sycl_dir = os.path.join(self.stage.source_path, "sycl")
+ spirv_dir = os.path.join(self.stage.source_path, "llvm-spirv")
+ xpti_dir = os.path.join(self.stage.source_path, "xpti")
+ xptifw_dir = os.path.join(self.stage.source_path, "xptifw")
+ libdevice_dir = os.path.join(self.stage.source_path, "libdevice")
+ llvm_enable_projects = "clang;" + llvm_external_projects
+ libclc_targets_to_build = ""
+ sycl_build_pi_rocm_platform = self.spec.variants["rocm-platform"].value
+
+ if self.spec.satisfies("target=x86_64:"):
+ llvm_targets_to_build = "X86"
+ elif self.spec.satisfies("target=aarch64:"):
+ llvm_targets_to_build = "ARM;AArch64"
else:
- raise InstallError('target is not supported. '
- 'This package only works on x86_64 or aarch64')
+ raise InstallError(
+ "target is not supported. " "This package only works on x86_64 or aarch64"
+ )
- is_cuda = '+cuda' in self.spec
- is_rocm = '+rocm' in self.spec
+ is_cuda = "+cuda" in self.spec
+ is_rocm = "+rocm" in self.spec
if is_cuda or is_rocm:
- llvm_enable_projects += ';libclc'
+ llvm_enable_projects += ";libclc"
if is_cuda:
- llvm_targets_to_build += ';NVPTX'
- libclc_targets_to_build = 'nvptx64--;nvptx64--nvidiacl'
+ llvm_targets_to_build += ";NVPTX"
+ libclc_targets_to_build = "nvptx64--;nvptx64--nvidiacl"
if is_rocm:
- if sycl_build_pi_rocm_platform == 'AMD':
- llvm_targets_to_build += ';AMDGPU'
- libclc_targets_to_build += ';amdgcn--;amdgcn--amdhsa'
+ if sycl_build_pi_rocm_platform == "AMD":
+ llvm_targets_to_build += ";AMDGPU"
+ libclc_targets_to_build += ";amdgcn--;amdgcn--amdhsa"
elif sycl_build_pi_rocm_platform and not is_cuda:
- llvm_targets_to_build += ';NVPTX'
- libclc_targets_to_build += ';nvptx64--;nvptx64--nvidiacl'
+ llvm_targets_to_build += ";NVPTX"
+ libclc_targets_to_build += ";nvptx64--;nvptx64--nvidiacl"
args = [
- self.define_from_variant('LLVM_ENABLE_ASSERTIONS', 'assertions'),
- self.define('LLVM_TARGETS_TO_BUILD', llvm_targets_to_build),
- self.define('LLVM_EXTERNAL_PROJECTS', llvm_external_projects),
- self.define('LLVM_EXTERNAL_SYCL_SOURCE_DIR', sycl_dir),
- self.define('LLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR', spirv_dir),
- self.define('LLVM_EXTERNAL_XPTI_SOURCE_DIR', xpti_dir),
- self.define('XPTI_SOURCE_DIR', xpti_dir),
- self.define('LLVM_EXTERNAL_XPTIFW_SOURCE_DIR', xptifw_dir),
- self.define('LLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR', libdevice_dir),
- self.define('LLVM_ENABLE_PROJECTS', llvm_enable_projects),
- self.define('LIBCLC_TARGETS_TO_BUILD', libclc_targets_to_build),
- self.define_from_variant('SYCL_BUILD_PI_CUDA', 'cuda'),
- self.define_from_variant('SYCL_BUILD_PI_ROCM', 'rocm'),
- self.define('SYCL_BUILD_PI_ROCM_PLATFORM', sycl_build_pi_rocm_platform),
- self.define('LLVM_BUILD_TOOLS', True),
- self.define_from_variant('SYCL_ENABLE_WERROR', 'werror'),
- self.define('SYCL_INCLUDE_TESTS', True),
- self.define_from_variant('LIBCLC_GENERATE_REMANGLED_VARIANTS',
- 'remangle_libclc'),
- self.define_from_variant('LLVM_ENABLE_DOXYGEN', 'docs'),
- self.define_from_variant('LLVM_ENABLE_SPHINX', 'docs'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('SYCL_ENABLE_XPTI_TRACING', 'ON'),
- self.define_from_variant('LLVM_ENABLE_LLD', 'lld'),
- self.define_from_variant('SYCL_BUILD_PI_ESIMD_CPU', 'esimd-cpu'),
+ self.define_from_variant("LLVM_ENABLE_ASSERTIONS", "assertions"),
+ self.define("LLVM_TARGETS_TO_BUILD", llvm_targets_to_build),
+ self.define("LLVM_EXTERNAL_PROJECTS", llvm_external_projects),
+ self.define("LLVM_EXTERNAL_SYCL_SOURCE_DIR", sycl_dir),
+ self.define("LLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR", spirv_dir),
+ self.define("LLVM_EXTERNAL_XPTI_SOURCE_DIR", xpti_dir),
+ self.define("XPTI_SOURCE_DIR", xpti_dir),
+ self.define("LLVM_EXTERNAL_XPTIFW_SOURCE_DIR", xptifw_dir),
+ self.define("LLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR", libdevice_dir),
+ self.define("LLVM_ENABLE_PROJECTS", llvm_enable_projects),
+ self.define("LIBCLC_TARGETS_TO_BUILD", libclc_targets_to_build),
+ self.define_from_variant("SYCL_BUILD_PI_CUDA", "cuda"),
+ self.define_from_variant("SYCL_BUILD_PI_ROCM", "rocm"),
+ self.define("SYCL_BUILD_PI_ROCM_PLATFORM", sycl_build_pi_rocm_platform),
+ self.define("LLVM_BUILD_TOOLS", True),
+ self.define_from_variant("SYCL_ENABLE_WERROR", "werror"),
+ self.define("SYCL_INCLUDE_TESTS", True),
+ self.define_from_variant("LIBCLC_GENERATE_REMANGLED_VARIANTS", "remangle_libclc"),
+ self.define_from_variant("LLVM_ENABLE_DOXYGEN", "docs"),
+ self.define_from_variant("LLVM_ENABLE_SPHINX", "docs"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("SYCL_ENABLE_XPTI_TRACING", "ON"),
+ self.define_from_variant("LLVM_ENABLE_LLD", "lld"),
+ self.define_from_variant("SYCL_BUILD_PI_ESIMD_CPU", "esimd-cpu"),
]
- if is_cuda or (is_rocm and sycl_build_pi_rocm_platform == 'NVIDIA'):
- args.append(
- self.define('CUDA_TOOLKIT_ROOT_DIR', self.spec['cuda'].prefix)
- )
+ if is_cuda or (is_rocm and sycl_build_pi_rocm_platform == "NVIDIA"):
+ args.append(self.define("CUDA_TOOLKIT_ROOT_DIR", self.spec["cuda"].prefix))
- if '+openmp' in self.spec:
- omp_dir = os.path.join(self.stage.source_path, 'openmp')
- args.extend([
- self.define('LLVM_EXTERNAL_OPENMP_SOURCE_DIR', omp_dir),
- self.define('OPENMP_ENABLE_LIBOMPTARGET', False),
- ])
+ if "+openmp" in self.spec:
+ omp_dir = os.path.join(self.stage.source_path, "openmp")
+ args.extend(
+ [
+ self.define("LLVM_EXTERNAL_OPENMP_SOURCE_DIR", omp_dir),
+ self.define("OPENMP_ENABLE_LIBOMPTARGET", False),
+ ]
+ )
- if self.compiler.name == 'gcc':
+ if self.compiler.name == "gcc":
gcc_prefix = ancestor(self.compiler.cc, 2)
- args.append(self.define('GCC_INSTALL_PREFIX', gcc_prefix))
+ args.append(self.define("GCC_INSTALL_PREFIX", gcc_prefix))
return args
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- env.set('CUDA_LIB_PATH', '{0}/lib64/stubs'.format(self.spec['cuda'].prefix))
+ if "+cuda" in self.spec:
+ env.set("CUDA_LIB_PATH", "{0}/lib64/stubs".format(self.spec["cuda"].prefix))
@run_after("install")
def post_install(self):
- clang_cpp_path = os.path.join(self.spec.prefix.bin, 'clang++')
- dpcpp_path = os.path.join(self.spec.prefix.bin, 'dpcpp')
+ clang_cpp_path = os.path.join(self.spec.prefix.bin, "clang++")
+ dpcpp_path = os.path.join(self.spec.prefix.bin, "dpcpp")
real_clang_cpp_path = os.path.realpath(clang_cpp_path)
os.symlink(real_clang_cpp_path, dpcpp_path)
def setup_run_environment(self, env):
bin_path = self.spec.prefix.bin
- for env_var_name, compiler in zip(['CC', 'CXX'], ['clang', 'clang++']):
+ for env_var_name, compiler in zip(["CC", "CXX"], ["clang", "clang++"]):
env.set(env_var_name, os.path.join(bin_path, compiler))
- include_env_vars = ['C_INCLUDE_PATH', 'CPLUS_INCLUDE_PATH', 'INCLUDE']
+ include_env_vars = ["C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH", "INCLUDE"]
for var in include_env_vars:
env.prepend_path(var, self.prefix.include)
env.prepend_path(var, self.prefix.include.sycl)
- sycl_build_pi_rocm_platform = self.spec.variants['rocm-platform'].value
- if '+cuda' in self.spec or sycl_build_pi_rocm_platform == 'NVIDIA':
- env.prepend_path('PATH', self.spec['cuda'].prefix.bin)
- env.set('CUDA_TOOLKIT_ROOT_DIR', self.spec['cuda'].prefix)
+ sycl_build_pi_rocm_platform = self.spec.variants["rocm-platform"].value
+ if "+cuda" in self.spec or sycl_build_pi_rocm_platform == "NVIDIA":
+ env.prepend_path("PATH", self.spec["cuda"].prefix.bin)
+ env.set("CUDA_TOOLKIT_ROOT_DIR", self.spec["cuda"].prefix)
diff --git a/var/spack/repos/builtin/packages/dpdk/package.py b/var/spack/repos/builtin/packages/dpdk/package.py
index f71c794141..607195e906 100644
--- a/var/spack/repos/builtin/packages/dpdk/package.py
+++ b/var/spack/repos/builtin/packages/dpdk/package.py
@@ -11,21 +11,21 @@ class Dpdk(MakefilePackage):
It supports many processor architectures and both FreeBSD and Linux."""
homepage = "https://github.com/DPDK/dpdk"
- url = "https://github.com/DPDK/dpdk/archive/v19.11.tar.gz"
+ url = "https://github.com/DPDK/dpdk/archive/v19.11.tar.gz"
- version('20.02', sha256='29e56ea8e47e30110ecb881fa5a37125a865dd2d45b61f68e93e334caaab16b7')
- version('19.11', sha256='ce1befb20a5e5c5399b326a39cfa23314a5229c0ced2553f53b09b1ae630706b')
- version('19.08', sha256='1ceff1a6f4f8d5f6f62c1682097249227ac5225ccd9638e0af09f5411c681038')
- version('19.05', sha256='5fea95cb726e6adaa506dab330e79563ccd4dacf03f126c826aabdced605d32b')
- version('19.02', sha256='04885d32c86fff5aefcfffdb8257fed405233602dbcd22f8298be13c2e285a50')
+ version("20.02", sha256="29e56ea8e47e30110ecb881fa5a37125a865dd2d45b61f68e93e334caaab16b7")
+ version("19.11", sha256="ce1befb20a5e5c5399b326a39cfa23314a5229c0ced2553f53b09b1ae630706b")
+ version("19.08", sha256="1ceff1a6f4f8d5f6f62c1682097249227ac5225ccd9638e0af09f5411c681038")
+ version("19.05", sha256="5fea95cb726e6adaa506dab330e79563ccd4dacf03f126c826aabdced605d32b")
+ version("19.02", sha256="04885d32c86fff5aefcfffdb8257fed405233602dbcd22f8298be13c2e285a50")
- conflicts('target=aarch64:', msg='DPDK is not supported on aarch64.')
+ conflicts("target=aarch64:", msg="DPDK is not supported on aarch64.")
- depends_on('numactl')
+ depends_on("numactl")
def build(self, spec, prefix):
- make('defconfig')
+ make("defconfig")
make()
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/draco/package.py b/var/spack/repos/builtin/packages/draco/package.py
index e89bb47c2d..08a6c24b4f 100644
--- a/var/spack/repos/builtin/packages/draco/package.py
+++ b/var/spack/repos/builtin/packages/draco/package.py
@@ -10,84 +10,87 @@ class Draco(CMakePackage):
"""Draco is an object-oriented component library geared towards numerically
intensive, radiation (particle) transport applications built for parallel
computing hardware. It consists of semi-independent packages and a robust
- build system. """
+ build system."""
homepage = "https://github.com/lanl/draco"
url = "https://github.com/lanl/Draco/archive/draco-7_1_0.zip"
git = "https://github.com/lanl/Draco.git"
- maintainers = ['KineticTheory']
+ maintainers = ["KineticTheory"]
- version('develop', branch='develop')
- version('7.13.0', sha256='07a443df71d8d3720ced98f86821f714d2bfaa9f17a177c7f0465a59a1e9e719')
- version('7.12.0', sha256='a127c1c0af44b72775902e2386ed58ff0ebb1907d229e1300176142274c9abc2')
- version('7.11.0', sha256='a829984778fefd98c3c609ac10403df3eb06f02d57bdbc013634d0dc1ed5af29')
- version('7.10.0', sha256='3530263a23a648fc7ae65748568f0a725a8b2c9bac9a41cc3cb1250c4af579de')
- version('7.9.1', sha256='c8fd029d5b74afc68670f7d449d60c24f2d284c9d6a944a2d3dce6efeb6ad097')
- version('7.9.0', sha256='17b54301897da0d4f9b91fef15cc2ec5e6c65a8e8c1c09e6e7b516c0fb82b50f')
- version('7.8.0', sha256='f6de794457441f69025619be58810bca432f3e0dd773ea9b9a7977b1dc09530d')
- version('7.7.0', sha256='eb7fffbcba48e16524f619d261192ead129f968c59f3581f3217b89590812ddf')
- version('7.6.0', sha256='c2c6b329620d7bcb0f2fc14371f105dfb80a84e7c5adbb34620777034b15c7c9')
- version('7.5.0', sha256='0bb12b5f5ff60ba3087310c07da42e8d4f481ec4259daaa24ec240815a2e9dec')
- version('7.4.0', sha256='61da2c3feace0e92c5410c9e9e613708fdf8954b1367cdc62c415329b0ddab6e')
- version('7.3.0', sha256='dc47ef6c1e04769ea177a10fc6ddf506f3e1e8d36eb5d49f4bc38cc509e24f10')
- version('7.2.0', sha256='ac4eac03703d4b7344fa2390a54140533c5e1f6ea0d59ef1f1d525c434ebe639')
- version('7.1.0', sha256='eca6bb86eb930837fb5e09b76c85c200b2c1522267cc66f81f2ec11a8262b5c9')
- version('6.25.0', sha256='e27eba44f397e7d111ff9a45b518b186940f75facfc6f318d76bd0e72f987440')
- version('6.23.0', sha256='edf20308746c06647087cb4e6ae7656fd057a89091a22bcba8f17a52e28b7849')
- version('6.22.0', sha256='4d1ed54944450c4ec7d00d7ba371469506c6985922f48f780bae2580c9335b86')
- version('6.21.0', sha256='f1ac88041606cdb1dfddd3bc74db0f1e15d8fc9d0a1eed939c8aa0fa63a85b55')
- version('6.20.1', sha256='b1c51000c9557e0818014713fce70d681869c50ed9c4548dcfb2e9219c354ebe')
- version('6.20.0', sha256='a6e3142c1c90b09c4ff8057bfee974369b815122b01d1f7b57888dcb9b1128f6')
+ version("develop", branch="develop")
+ version("7.13.0", sha256="07a443df71d8d3720ced98f86821f714d2bfaa9f17a177c7f0465a59a1e9e719")
+ version("7.12.0", sha256="a127c1c0af44b72775902e2386ed58ff0ebb1907d229e1300176142274c9abc2")
+ version("7.11.0", sha256="a829984778fefd98c3c609ac10403df3eb06f02d57bdbc013634d0dc1ed5af29")
+ version("7.10.0", sha256="3530263a23a648fc7ae65748568f0a725a8b2c9bac9a41cc3cb1250c4af579de")
+ version("7.9.1", sha256="c8fd029d5b74afc68670f7d449d60c24f2d284c9d6a944a2d3dce6efeb6ad097")
+ version("7.9.0", sha256="17b54301897da0d4f9b91fef15cc2ec5e6c65a8e8c1c09e6e7b516c0fb82b50f")
+ version("7.8.0", sha256="f6de794457441f69025619be58810bca432f3e0dd773ea9b9a7977b1dc09530d")
+ version("7.7.0", sha256="eb7fffbcba48e16524f619d261192ead129f968c59f3581f3217b89590812ddf")
+ version("7.6.0", sha256="c2c6b329620d7bcb0f2fc14371f105dfb80a84e7c5adbb34620777034b15c7c9")
+ version("7.5.0", sha256="0bb12b5f5ff60ba3087310c07da42e8d4f481ec4259daaa24ec240815a2e9dec")
+ version("7.4.0", sha256="61da2c3feace0e92c5410c9e9e613708fdf8954b1367cdc62c415329b0ddab6e")
+ version("7.3.0", sha256="dc47ef6c1e04769ea177a10fc6ddf506f3e1e8d36eb5d49f4bc38cc509e24f10")
+ version("7.2.0", sha256="ac4eac03703d4b7344fa2390a54140533c5e1f6ea0d59ef1f1d525c434ebe639")
+ version("7.1.0", sha256="eca6bb86eb930837fb5e09b76c85c200b2c1522267cc66f81f2ec11a8262b5c9")
+ version("6.25.0", sha256="e27eba44f397e7d111ff9a45b518b186940f75facfc6f318d76bd0e72f987440")
+ version("6.23.0", sha256="edf20308746c06647087cb4e6ae7656fd057a89091a22bcba8f17a52e28b7849")
+ version("6.22.0", sha256="4d1ed54944450c4ec7d00d7ba371469506c6985922f48f780bae2580c9335b86")
+ version("6.21.0", sha256="f1ac88041606cdb1dfddd3bc74db0f1e15d8fc9d0a1eed939c8aa0fa63a85b55")
+ version("6.20.1", sha256="b1c51000c9557e0818014713fce70d681869c50ed9c4548dcfb2e9219c354ebe")
+ version("6.20.0", sha256="a6e3142c1c90b09c4ff8057bfee974369b815122b01d1f7b57888dcb9b1128f6")
- variant('build_type', default='Release', description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- variant('caliper', default=False, description='Enable caliper timers support')
- variant('cuda', default=False, description='Enable Cuda/GPU support')
- variant('eospac', default=True, description='Enable EOSPAC support')
- variant('lapack', default=True, description='Enable LAPACK wrapper')
- variant('libquo', default=True, description='Enable Quo wrapper')
- variant('parmetis', default=True, description='Enable Parmetis support')
- variant('pythontools', default=False, description='Enable support for extra python tools')
- variant('qt', default=False, description='Enable Qt support')
- variant('superlu_dist', default=True, description='Enable SuperLU-DIST support')
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant("caliper", default=False, description="Enable caliper timers support")
+ variant("cuda", default=False, description="Enable Cuda/GPU support")
+ variant("eospac", default=True, description="Enable EOSPAC support")
+ variant("lapack", default=True, description="Enable LAPACK wrapper")
+ variant("libquo", default=True, description="Enable Quo wrapper")
+ variant("parmetis", default=True, description="Enable Parmetis support")
+ variant("pythontools", default=False, description="Enable support for extra python tools")
+ variant("qt", default=False, description="Enable Qt support")
+ variant("superlu_dist", default=True, description="Enable SuperLU-DIST support")
- depends_on('cmake@3.9:', when='@:6', type='build')
- depends_on('cmake@3.11:', when='@7.0.0:7.1', type='build')
- depends_on('cmake@3.14:', when='@7.2.0:7.6', type='build')
- depends_on('cmake@3.17:', when='@7.7:', type='build')
- depends_on('cmake@3.18:', when='@7.9:', type='build')
- depends_on('gsl@:2.5', when='@:7.10')
- depends_on('gsl@2.6:', when='@7.11.0:')
- depends_on('mpi@3:', type=('build', 'link', 'run'))
- depends_on('numdiff', type='build')
- depends_on('random123@1.09', when='@:7.6')
- depends_on('random123', when='@7.7.0:')
- depends_on('python@2.7:', when='@:7.6', type=('build', 'run', 'test'))
- depends_on('python@3.5:', when='@7.7.0:', type=('build', 'run', 'test'))
+ depends_on("cmake@3.9:", when="@:6", type="build")
+ depends_on("cmake@3.11:", when="@7.0.0:7.1", type="build")
+ depends_on("cmake@3.14:", when="@7.2.0:7.6", type="build")
+ depends_on("cmake@3.17:", when="@7.7:", type="build")
+ depends_on("cmake@3.18:", when="@7.9:", type="build")
+ depends_on("gsl@:2.5", when="@:7.10")
+ depends_on("gsl@2.6:", when="@7.11.0:")
+ depends_on("mpi@3:", type=("build", "link", "run"))
+ depends_on("numdiff", type="build")
+ depends_on("random123@1.09", when="@:7.6")
+ depends_on("random123", when="@7.7.0:")
+ depends_on("python@2.7:", when="@:7.6", type=("build", "run", "test"))
+ depends_on("python@3.5:", when="@7.7.0:", type=("build", "run", "test"))
# Optional dependencies
- depends_on('caliper', when='+caliper')
- depends_on('cuda@11.0:', when='+cuda')
- depends_on('eospac@6.3:', when='+eospac')
- depends_on('lapack', when='+lapack')
- depends_on('libquo@1.3.1:', when='@7.4.0:+libquo')
- depends_on('metis', when='+parmetis')
- depends_on('parmetis', when='+parmetis')
- depends_on('qt', when='+qt',
- type=('build', 'link', 'run'))
- depends_on('superlu-dist@:5', when='@:7.6+superlu_dist')
- depends_on('py-matplotlib', when='+pythontools', type=('run'))
+ depends_on("caliper", when="+caliper")
+ depends_on("cuda@11.0:", when="+cuda")
+ depends_on("eospac@6.3:", when="+eospac")
+ depends_on("lapack", when="+lapack")
+ depends_on("libquo@1.3.1:", when="@7.4.0:+libquo")
+ depends_on("metis", when="+parmetis")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("qt", when="+qt", type=("build", "link", "run"))
+ depends_on("superlu-dist@:5", when="@:7.6+superlu_dist")
+ depends_on("py-matplotlib", when="+pythontools", type=("run"))
- conflicts('+cuda', when='@:7.6')
- conflicts('+caliper', when='@:7.7')
+ conflicts("+cuda", when="@:7.6")
+ conflicts("+caliper", when="@:7.7")
# Fix python discovery.
- patch('d710.patch', when='@7.1.0^python@3:')
- patch('d710-python2.patch', when='@7.1.0^python@2.7:2')
- patch('d730.patch', when='@7.3.0:7.3')
- patch('d740.patch', when='@7.4.0:7.4')
- patch('d760-cray.patch', when='@7.6.0')
- patch('d770-nocuda.patch', when='@7.7.0')
+ patch("d710.patch", when="@7.1.0^python@3:")
+ patch("d710-python2.patch", when="@7.1.0^python@2.7:2")
+ patch("d730.patch", when="@7.3.0:7.3")
+ patch("d740.patch", when="@7.4.0:7.4")
+ patch("d760-cray.patch", when="@7.6.0")
+ patch("d770-nocuda.patch", when="@7.7.0")
def url_for_version(self, version):
url = "https://github.com/lanl/Draco/archive/draco-{0}.zip"
@@ -95,15 +98,17 @@ class Draco(CMakePackage):
def cmake_args(self):
options = []
- options.extend([
- '-Wno-dev',
- self.define('BUILD_TESTING', self.run_tests),
- '-DUSE_CUDA={0}'.format('ON' if '+cuda' in self.spec else 'OFF'),
- '-DUSE_QT={0}'.format('ON' if '+qt' in self.spec else 'OFF')
- ])
+ options.extend(
+ [
+ "-Wno-dev",
+ self.define("BUILD_TESTING", self.run_tests),
+ "-DUSE_CUDA={0}".format("ON" if "+cuda" in self.spec else "OFF"),
+ "-DUSE_QT={0}".format("ON" if "+qt" in self.spec else "OFF"),
+ ]
+ )
return options
def check(self):
"""Run ctest after building project."""
with working_dir(self.build_directory):
- ctest('--output-on-failure')
+ ctest("--output-on-failure")
diff --git a/var/spack/repos/builtin/packages/dracut/package.py b/var/spack/repos/builtin/packages/dracut/package.py
index 708713173b..2ac0358c68 100644
--- a/var/spack/repos/builtin/packages/dracut/package.py
+++ b/var/spack/repos/builtin/packages/dracut/package.py
@@ -12,8 +12,8 @@ class Dracut(AutotoolsPackage):
framework."""
homepage = "https://github.com/dracutdevs/dracut"
- url = "https://github.com/dracutdevs/dracut/archive/050.tar.gz"
+ url = "https://github.com/dracutdevs/dracut/archive/050.tar.gz"
- version('050', sha256='f9dbf18597e5929221365964293212c8c9ffb7d84529c5a338c834ecab06e333')
+ version("050", sha256="f9dbf18597e5929221365964293212c8c9ffb7d84529c5a338c834ecab06e333")
- depends_on('kmod')
+ depends_on("kmod")
diff --git a/var/spack/repos/builtin/packages/dramsim2/package.py b/var/spack/repos/builtin/packages/dramsim2/package.py
index e178a44c7d..2d64e7ba39 100644
--- a/var/spack/repos/builtin/packages/dramsim2/package.py
+++ b/var/spack/repos/builtin/packages/dramsim2/package.py
@@ -16,9 +16,9 @@ class Dramsim2(MakefilePackage):
git = "https://github.com/umd-memsys/DRAMSim2"
url = "https://github.com/dramninjasUMD/DRAMSim2/archive/v2.2.2.tar.gz"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('2.2.2', sha256="96d0257eafb41e38ffa4f13e3ef3759567bdde7fa3329403f324abd0ddf8d015")
+ version("2.2.2", sha256="96d0257eafb41e38ffa4f13e3ef3759567bdde7fa3329403f324abd0ddf8d015")
def build(self, spec, prefix):
if spec.satisfies("platform=darwin"):
diff --git a/var/spack/repos/builtin/packages/dramsim3/package.py b/var/spack/repos/builtin/packages/dramsim3/package.py
index 10b645f632..3d70aae708 100644
--- a/var/spack/repos/builtin/packages/dramsim3/package.py
+++ b/var/spack/repos/builtin/packages/dramsim3/package.py
@@ -16,26 +16,26 @@ class Dramsim3(Package):
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"
+ 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("master", branch="master")
- version('1.0.0', sha256='064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566')
+ version("1.0.0", sha256="064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566")
- depends_on('cmake', type='build')
+ depends_on("cmake", type="build")
def install(self, spec, prefix):
- cmake = which('cmake')
- cmake('.')
+ cmake = which("cmake")
+ cmake(".")
make()
- include_path = prefix + '/include'
+ 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)
+ install("dramsim3main", prefix.bin)
+ install("libdramsim3.so", prefix.lib)
+ install("src/*.h", include_path)
diff --git a/var/spack/repos/builtin/packages/dray/package.py b/var/spack/repos/builtin/packages/dray/package.py
index cc074ff71c..07ddadfd71 100644
--- a/var/spack/repos/builtin/packages/dray/package.py
+++ b/var/spack/repos/builtin/packages/dray/package.py
@@ -13,12 +13,12 @@ from spack.package import *
def propagate_cuda_arch(package, spec=None):
if not spec:
- spec = ''
+ spec = ""
for cuda_arch in CudaPackage.cuda_arch_values:
- depends_on('{0} +cuda cuda_arch={1}'
- .format(package, cuda_arch),
- when='{0} +cuda cuda_arch={1}'
- .format(spec, cuda_arch))
+ depends_on(
+ "{0} +cuda cuda_arch={1}".format(package, cuda_arch),
+ when="{0} +cuda cuda_arch={1}".format(spec, cuda_arch),
+ )
def cmake_cache_entry(name, value, vtype=None):
@@ -38,36 +38,36 @@ class Dray(Package, CudaPackage):
"""High-Order Mesh Ray Tracer."""
homepage = "https://github.com/LLNL/devil_ray"
- git = "https://github.com/LLNL/devil_ray.git"
- url = "https://github.com/LLNL/devil_ray/releases/download/v0.1.2/dray-v0.1.2.tar.gz"
-
- maintainers = ['cyrush']
-
- version('develop', branch='develop', submodules='True')
- version('0.1.8', sha256='ae78ca6a5a31f06f6400a4a1ff6fc1d75347c8b41027a80662179f5b877eee30')
- version('0.1.7', sha256='11ea794c1a24d7ed0d76bad7209d62bafc033ec40a2ea3a00e68fe598c6aa46d')
- version('0.1.6', sha256='43f39039599e3493cbbaeaf5621b611bef301ff504bed6e32c98f30bb2179e92')
- version('0.1.5', sha256='aaf0975561a8e7910b9353e2dc30bd78abf9f01c306ec042422b7da223d3a8b8')
- version('0.1.4', sha256='e763a3aa537b23486a4788f9d68db0a3eb545f6a2e617cd7c8a876682ca2d0a0')
- version('0.1.3', sha256='b2f624a072463189997343b1ed911cc34c9bb1b6c7f0c3e48efeb40c05dd0d92')
- version('0.1.2', sha256='46937f20124b28dc78a634e8e063a3e7a3bbfd9f424ce2680b08417010c376da')
- version('0.1.1', sha256='e5daa49ee3367c087f5028dc5a08655298beb318014c6f3f65ef4a08fcbe346c')
- version('0.1.0', sha256='8b341138e1069361351e0a94478608c5af479cca76e2f97d556229aed45c0169')
-
- variant('openmp', default=True, description='Build OpenMP backend')
+ git = "https://github.com/LLNL/devil_ray.git"
+ url = "https://github.com/LLNL/devil_ray/releases/download/v0.1.2/dray-v0.1.2.tar.gz"
+
+ maintainers = ["cyrush"]
+
+ version("develop", branch="develop", submodules="True")
+ version("0.1.8", sha256="ae78ca6a5a31f06f6400a4a1ff6fc1d75347c8b41027a80662179f5b877eee30")
+ version("0.1.7", sha256="11ea794c1a24d7ed0d76bad7209d62bafc033ec40a2ea3a00e68fe598c6aa46d")
+ version("0.1.6", sha256="43f39039599e3493cbbaeaf5621b611bef301ff504bed6e32c98f30bb2179e92")
+ version("0.1.5", sha256="aaf0975561a8e7910b9353e2dc30bd78abf9f01c306ec042422b7da223d3a8b8")
+ version("0.1.4", sha256="e763a3aa537b23486a4788f9d68db0a3eb545f6a2e617cd7c8a876682ca2d0a0")
+ version("0.1.3", sha256="b2f624a072463189997343b1ed911cc34c9bb1b6c7f0c3e48efeb40c05dd0d92")
+ version("0.1.2", sha256="46937f20124b28dc78a634e8e063a3e7a3bbfd9f424ce2680b08417010c376da")
+ version("0.1.1", sha256="e5daa49ee3367c087f5028dc5a08655298beb318014c6f3f65ef4a08fcbe346c")
+ version("0.1.0", sha256="8b341138e1069361351e0a94478608c5af479cca76e2f97d556229aed45c0169")
+
+ variant("openmp", default=True, description="Build OpenMP backend")
variant("shared", default=True, description="Build as shared libs")
- variant("test", default=True, description='Build unit tests')
- variant("utils", default=True, description='Build utilities')
- variant("logging", default=False, description='Enable logging')
- variant("stats", default=False, description='Enable stats')
- variant("mpi", default=True, description='Enable MPI compiler')
+ variant("test", default=True, description="Build unit tests")
+ variant("utils", default=True, description="Build utilities")
+ variant("logging", default=False, description="Enable logging")
+ variant("stats", default=False, description="Enable stats")
+ variant("mpi", default=True, description="Enable MPI compiler")
# set to false for systems that implicitly link mpi
- variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
+ variant("blt_find_mpi", default=True, description="Use BLT CMake Find MPI logic")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('cmake@3.9:', type='build')
- depends_on('cmake@3.14:', when='+cuda', type='build')
+ depends_on("cmake@3.9:", type="build")
+ depends_on("cmake@3.14:", when="+cuda", type="build")
depends_on("conduit~shared", when="~shared")
depends_on("conduit+shared", when="+shared")
@@ -80,11 +80,11 @@ class Dray(Package, CudaPackage):
depends_on("apcomp+shared", when="+shared")
depends_on("raja@0.12.0:")
- depends_on("raja@:0.14", when='@0.1.7:')
+ depends_on("raja@:0.14", when="@0.1.7:")
depends_on("raja@:0.13", when="@:0.1.6")
depends_on("raja~cuda", when="~cuda")
depends_on("raja+cuda", when="+cuda")
- propagate_cuda_arch('raja')
+ propagate_cuda_arch("raja")
depends_on("raja~shared", when="~shared")
depends_on("raja+shared", when="+shared")
depends_on("raja~openmp", when="~openmp")
@@ -96,7 +96,7 @@ class Dray(Package, CudaPackage):
depends_on("umpire~cuda", when="~cuda")
depends_on("umpire+cuda~shared", when="+cuda+shared")
depends_on("umpire~cuda+shared", when="~cuda+shared")
- propagate_cuda_arch('umpire')
+ propagate_cuda_arch("umpire")
depends_on("umpire~shared", when="~shared")
depends_on("mfem+conduit~threadsafe")
@@ -104,15 +104,14 @@ class Dray(Package, CudaPackage):
depends_on("mfem~shared", when="~shared")
def setup_build_environment(self, env):
- env.set('CTEST_OUTPUT_ON_FAILURE', '1')
+ env.set("CTEST_OUTPUT_ON_FAILURE", "1")
def install(self, spec, prefix):
"""
Build and install Devil Ray.
"""
- with working_dir('spack-build', create=True):
- host_cfg_fname = self.create_host_config(spec,
- prefix)
+ with working_dir("spack-build", create=True):
+ host_cfg_fname = self.create_host_config(spec, prefix)
cmake_args = []
# if we have a static build, we need to avoid any of
# spack's default cmake settings related to rpaths
@@ -168,17 +167,19 @@ class Dray(Package, CudaPackage):
##############################################
if "+cmake" in spec:
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
else:
cmake_exe = which("cmake")
if cmake_exe is None:
- msg = 'failed to find CMake (and cmake variant is off)'
+ msg = "failed to find CMake (and cmake variant is off)"
raise RuntimeError(msg)
cmake_exe = cmake_exe.path
- host_cfg_fname = "%s-%s-%s-devil_ray.cmake" % (socket.gethostname(),
- sys_type,
- spec.compiler)
+ host_cfg_fname = "%s-%s-%s-devil_ray.cmake" % (
+ socket.gethostname(),
+ sys_type,
+ spec.compiler,
+ )
cfg = open(host_cfg_fname, "w")
cfg.write("##################################\n")
@@ -203,13 +204,13 @@ class Dray(Package, CudaPackage):
cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
if "+mpi" in spec:
- mpicc_path = spec['mpi'].mpicc
- mpicxx_path = spec['mpi'].mpicxx
+ mpicc_path = spec["mpi"].mpicc
+ mpicxx_path = spec["mpi"].mpicxx
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
# which can trip up mpi detection in CMake 3.14
- if spec['mpi'].mpicc == spack_cc:
+ if spec["mpi"].mpicc == spack_cc:
mpicc_path = c_compiler
mpicxx_path = cpp_compiler
cfg.write(cmake_cache_entry("ENABLE_MPI", "ON"))
@@ -219,32 +220,30 @@ class Dray(Package, CudaPackage):
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "ON"))
else:
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "OFF"))
- mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec")
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
- mpiexe_bin))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE", mpiexe_bin))
else:
- cfg.write(cmake_cache_entry("MPIEXEC",
- mpiexe_bin))
+ cfg.write(cmake_cache_entry("MPIEXEC", mpiexe_bin))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
# use global spack compiler flags
- cppflags = ' '.join(spec.compiler_flags['cppflags'])
+ cppflags = " ".join(spec.compiler_flags["cppflags"])
if cppflags:
# avoid always ending up with ' ' with no flags defined
- cppflags += ' '
- cflags = cppflags + ' '.join(spec.compiler_flags['cflags'])
+ cppflags += " "
+ cflags = cppflags + " ".join(spec.compiler_flags["cflags"])
if cflags:
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
- cxxflags = cppflags + ' '.join(spec.compiler_flags['cxxflags'])
+ cxxflags = cppflags + " ".join(spec.compiler_flags["cxxflags"])
if cxxflags:
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
- fflags = ' '.join(spec.compiler_flags['fflags'])
- if self.spec.satisfies('%cce'):
+ fflags = " ".join(spec.compiler_flags["fflags"])
+ if self.spec.satisfies("%cce"):
fflags += " -ef"
if fflags:
cfg.write(cmake_cache_entry("CMAKE_Fortran_FLAGS", fflags))
@@ -257,11 +256,10 @@ class Dray(Package, CudaPackage):
if "+cuda" in spec:
cfg.write(cmake_cache_entry("ENABLE_CUDA", "ON"))
- if 'cuda_arch' in spec.variants:
- cuda_value = spec.variants['cuda_arch'].value
+ if "cuda_arch" in spec.variants:
+ cuda_value = spec.variants["cuda_arch"].value
cuda_arch = cuda_value[0]
- cfg.write(cmake_cache_entry('CUDA_ARCH',
- 'sm_{0}'.format(cuda_arch)))
+ cfg.write(cmake_cache_entry("CUDA_ARCH", "sm_{0}".format(cuda_arch)))
else:
cfg.write(cmake_cache_entry("ENABLE_CUDA", "OFF"))
@@ -317,19 +315,19 @@ class Dray(Package, CudaPackage):
#######################################################################
cfg.write("# conduit from spack \n")
- cfg.write(cmake_cache_entry("CONDUIT_DIR", spec['conduit'].prefix))
+ cfg.write(cmake_cache_entry("CONDUIT_DIR", spec["conduit"].prefix))
cfg.write("# mfem from spack \n")
- cfg.write(cmake_cache_entry("MFEM_DIR", spec['mfem'].prefix))
+ cfg.write(cmake_cache_entry("MFEM_DIR", spec["mfem"].prefix))
cfg.write("# raja from spack \n")
- cfg.write(cmake_cache_entry("RAJA_DIR", spec['raja'].prefix))
+ cfg.write(cmake_cache_entry("RAJA_DIR", spec["raja"].prefix))
cfg.write("# umpire from spack \n")
- cfg.write(cmake_cache_entry("UMPIRE_DIR", spec['umpire'].prefix))
+ cfg.write(cmake_cache_entry("UMPIRE_DIR", spec["umpire"].prefix))
cfg.write("# apcompositor from spack \n")
- cfg.write(cmake_cache_entry("APCOMP_DIR", spec['apcomp'].prefix))
+ cfg.write(cmake_cache_entry("APCOMP_DIR", spec["apcomp"].prefix))
cfg.write("##################################\n")
cfg.write("# end spack generated host-config\n")
diff --git a/var/spack/repos/builtin/packages/dri2proto/package.py b/var/spack/repos/builtin/packages/dri2proto/package.py
index 6a9cc184e6..147dd52d62 100644
--- a/var/spack/repos/builtin/packages/dri2proto/package.py
+++ b/var/spack/repos/builtin/packages/dri2proto/package.py
@@ -16,7 +16,7 @@ class Dri2proto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/dri2proto/"
xorg_mirror_path = "proto/dri2proto-2.8.tar.gz"
- version('2.8', sha256='7e65b031eaa6ebe23c75583d4abd993ded7add8009b4200a4db7aa10728b0f61')
+ version("2.8", sha256="7e65b031eaa6ebe23c75583d4abd993ded7add8009b4200a4db7aa10728b0f61")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/dri3proto/package.py b/var/spack/repos/builtin/packages/dri3proto/package.py
index dec1ec7a7f..373998bb1a 100644
--- a/var/spack/repos/builtin/packages/dri3proto/package.py
+++ b/var/spack/repos/builtin/packages/dri3proto/package.py
@@ -16,7 +16,7 @@ class Dri3proto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/dri3proto/"
xorg_mirror_path = "proto/dri3proto-1.0.tar.gz"
- version('1.0', sha256='e1a0dad3009ecde52c0bf44187df5f95cc9a7cc0e76dfc2f2bbf3e909fe03fa9')
+ version("1.0", sha256="e1a0dad3009ecde52c0bf44187df5f95cc9a7cc0e76dfc2f2bbf3e909fe03fa9")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/drill/package.py b/var/spack/repos/builtin/packages/drill/package.py
index 0dcfe84ba1..684c752f18 100644
--- a/var/spack/repos/builtin/packages/drill/package.py
+++ b/var/spack/repos/builtin/packages/drill/package.py
@@ -14,15 +14,15 @@ class Drill(Package):
"""
homepage = "https://drill.apache.org/"
- url = "https://www-eu.apache.org/dist/drill/drill-1.17.0/apache-drill-1.17.0.tar.gz"
+ 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')
- version('1.16.0', sha256='fd195d2b38f393459b37d8f13ac1f36cdbe38495eabb08252da38e3544e87839')
- version('1.15.0', sha256='188c1d0df28e50f0265f4bc3c5871b4e7abc9450a4e5a7dbe7f0b23146bec76b')
- version('1.14.0', sha256='1145bdbb723119f271d32daf4cdd77cdeebe88ddcb7d04facd585b715bb5723b')
- version('1.13.0', sha256='8da6d56f75ae01e0bee6176095d32760e7183dd0200f10ee68b8cd3f882def6a')
+ version("1.17.0", sha256="a3d2d544bcc32b915fb53fced0f982670bd6fe2abd764423e566a5f6b54debf1")
+ version("1.16.0", sha256="fd195d2b38f393459b37d8f13ac1f36cdbe38495eabb08252da38e3544e87839")
+ version("1.15.0", sha256="188c1d0df28e50f0265f4bc3c5871b4e7abc9450a4e5a7dbe7f0b23146bec76b")
+ version("1.14.0", sha256="1145bdbb723119f271d32daf4cdd77cdeebe88ddcb7d04facd585b715bb5723b")
+ version("1.13.0", sha256="8da6d56f75ae01e0bee6176095d32760e7183dd0200f10ee68b8cd3f882def6a")
- depends_on('java@7:', type='run')
+ depends_on("java@7:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/dropwatch/package.py b/var/spack/repos/builtin/packages/dropwatch/package.py
index 9753be922a..5c71a5d950 100644
--- a/var/spack/repos/builtin/packages/dropwatch/package.py
+++ b/var/spack/repos/builtin/packages/dropwatch/package.py
@@ -13,22 +13,22 @@ class Dropwatch(AutotoolsPackage):
diagnose where packets are getting dropped."""
homepage = "https://github.com/nhorman/dropwatch"
- url = "https://github.com/nhorman/dropwatch/archive/v1.5.3.tar.gz"
+ url = "https://github.com/nhorman/dropwatch/archive/v1.5.3.tar.gz"
- version('1.5.3', sha256='b748b66a816c1f94531446c0451da5461a4a31b0949244bb867d741c6ac0148b')
+ version("1.5.3", sha256="b748b66a816c1f94531446c0451da5461a4a31b0949244bb867d741c6ac0148b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libnl')
- depends_on('libpcap')
- depends_on('binutils')
- depends_on('readline')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libnl")
+ depends_on("libpcap")
+ depends_on("binutils")
+ depends_on("readline")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def check(self):
"""`make check` starts a daemon which does not terminate, blocking the builds"""
diff --git a/var/spack/repos/builtin/packages/druid/package.py b/var/spack/repos/builtin/packages/druid/package.py
index 85cabf4345..4ef7e691fa 100644
--- a/var/spack/repos/builtin/packages/druid/package.py
+++ b/var/spack/repos/builtin/packages/druid/package.py
@@ -12,15 +12,15 @@ class Druid(MavenPackage):
functionalities and more."""
homepage = "https://github.com/alibaba/druid/"
- url = "https://github.com/alibaba/druid/archive/1.1.23.tar.gz"
+ url = "https://github.com/alibaba/druid/archive/1.1.23.tar.gz"
- version('1.1.23', sha256='f29a0c5e60eb8a4d6fcfdf21bb4b6f54c1076a214f65190b8cdce2663cf84432')
- version('1.1.22', sha256='0bd64e518beca840cd2f79bbfa612f47defbb3366333a11cff937af4424f96ce')
- version('1.1.21', sha256='c0dae665c9fffd991dd9b9880cb69fa48f6b04608b395f380c93f59df599423e')
- version('1.1.20', sha256='2c3210482e4bde425fd758630a8ce4fdd58a1f87dff0af4b3b38fb2b5eb4521e')
- version('1.1.19', sha256='5987b9373232a9e2c1ed88d1cf9ab062b11c83440624aa470dfe5b44873029f6')
- version('1.1.18', sha256='944e0bb51d252fcb298961f51d8e9895710e48b345001095c6aca2577cb95c51')
- version('1.1.16', sha256='befe0229c47258ebf0d6256d6e74cfcc99de14533ab5c6b4eff6089e258a4219')
- version('1.1.14', sha256='236d3548d63afbe2321db55144a41d7369ed09c7e16411302a6a3d2730605ce9')
+ version("1.1.23", sha256="f29a0c5e60eb8a4d6fcfdf21bb4b6f54c1076a214f65190b8cdce2663cf84432")
+ version("1.1.22", sha256="0bd64e518beca840cd2f79bbfa612f47defbb3366333a11cff937af4424f96ce")
+ version("1.1.21", sha256="c0dae665c9fffd991dd9b9880cb69fa48f6b04608b395f380c93f59df599423e")
+ version("1.1.20", sha256="2c3210482e4bde425fd758630a8ce4fdd58a1f87dff0af4b3b38fb2b5eb4521e")
+ version("1.1.19", sha256="5987b9373232a9e2c1ed88d1cf9ab062b11c83440624aa470dfe5b44873029f6")
+ version("1.1.18", sha256="944e0bb51d252fcb298961f51d8e9895710e48b345001095c6aca2577cb95c51")
+ version("1.1.16", sha256="befe0229c47258ebf0d6256d6e74cfcc99de14533ab5c6b4eff6089e258a4219")
+ version("1.1.14", sha256="236d3548d63afbe2321db55144a41d7369ed09c7e16411302a6a3d2730605ce9")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ds/package.py b/var/spack/repos/builtin/packages/ds/package.py
index 9f8bbb586c..d7ff2a3ca1 100644
--- a/var/spack/repos/builtin/packages/ds/package.py
+++ b/var/spack/repos/builtin/packages/ds/package.py
@@ -10,25 +10,25 @@ from spack.package import *
class Ds(AutotoolsPackage):
"""SAOImage DS9 is an astronomical imaging and data visualization
- application."""
+ application."""
homepage = "https://ds9.si.edu/"
- url = "http://ds9.si.edu/download/source/ds9.8.0.tar.gz"
+ url = "http://ds9.si.edu/download/source/ds9.8.0.tar.gz"
- version('9.8.0', sha256='f3bdb46c1653997202f98c6f76632a4eb444707f4b64c14f8b96863d9c890304')
+ version("9.8.0", sha256="f3bdb46c1653997202f98c6f76632a4eb444707f4b64c14f8b96863d9c890304")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
- depends_on('libx11')
- depends_on('libxml2')
- depends_on('libxslt')
- depends_on('openssl')
- depends_on('tcl')
- depends_on('tcl-tclxml')
- depends_on('tk')
+ depends_on("libx11")
+ depends_on("libxml2")
+ depends_on("libxslt")
+ depends_on("openssl")
+ depends_on("tcl")
+ depends_on("tcl-tclxml")
+ depends_on("tk")
def patch(self):
# the package provides it's own TCL utilities
@@ -36,24 +36,30 @@ class Ds(AutotoolsPackage):
# (most of the utilities are small and not included in spack)
# inject libxml, libxslt prefixes into configure search paths
- filter_file('/usr/bin/xml2-config',
- join_path(self.spec['libxml2'].prefix, 'bin/xml2-config'),
- 'tclxml/configure', string=True)
+ filter_file(
+ "/usr/bin/xml2-config",
+ join_path(self.spec["libxml2"].prefix, "bin/xml2-config"),
+ "tclxml/configure",
+ string=True,
+ )
- filter_file('/usr/bin/xslt-config',
- join_path(self.spec['libxslt'].prefix, 'bin/xslt-config'),
- 'tclxml/configure', string=True)
+ filter_file(
+ "/usr/bin/xslt-config",
+ join_path(self.spec["libxslt"].prefix, "bin/xslt-config"),
+ "tclxml/configure",
+ string=True,
+ )
# symlink the master configure script into the source directory
- symlink('unix/configure', 'configure')
+ symlink("unix/configure", "configure")
def configure_args(self):
- srcdir = join_path(self.stage.source_path, 'unix')
- return ['--srcdir={0}'.format(srcdir)]
+ srcdir = join_path(self.stage.source_path, "unix")
+ return ["--srcdir={0}".format(srcdir)]
def install(self, spec, prefix):
# no install target provided in Makefile, install manually
- install_tree('bin', prefix.bin)
- install_tree('share', prefix.share)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("share", prefix.share)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/dsdp/package.py b/var/spack/repos/builtin/packages/dsdp/package.py
index 62376f320a..410f561fd1 100644
--- a/var/spack/repos/builtin/packages/dsdp/package.py
+++ b/var/spack/repos/builtin/packages/dsdp/package.py
@@ -17,37 +17,36 @@ class Dsdp(MakefilePackage):
certificates of infeasibility when no feasible solution exists."""
homepage = "https://www.mcs.anl.gov/hs/software/DSDP/"
- url = "https://www.mcs.anl.gov/hs/software/DSDP/DSDP5.8.tar.gz"
+ url = "https://www.mcs.anl.gov/hs/software/DSDP/DSDP5.8.tar.gz"
- version('5.8', sha256='26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70')
+ version("5.8", sha256="26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
- patch('malloc.patch')
+ patch("malloc.patch")
- build_targets = ['dsdpapi']
+ build_targets = ["dsdpapi"]
def edit(self, spec, prefix):
- make_include = FileFilter('make.include')
+ make_include = FileFilter("make.include")
# STEP 1: Set DSDPROOT.
- make_include.filter('^#DSDPROOT.*=.*',
- 'DSDPROOT = {0}'.format(os.getcwd()))
+ make_include.filter("^#DSDPROOT.*=.*", "DSDPROOT = {0}".format(os.getcwd()))
# STEP 2: Set the name of the C compiler.
- make_include.filter('^CC.*=.*', 'CC = {0}'.format(spack_cc))
+ make_include.filter("^CC.*=.*", "CC = {0}".format(spack_cc))
# STEP 5:
# Location of BLAS AND LAPACK libraries.
# Also include the math library and other libraries needed to
# link the BLAS to the C files that call them.
- lapackblas = spec['lapack'].libs + spec['blas'].libs
- make_include.filter('^LAPACKBLAS.*=.*',
- 'LAPACKBLAS = {0}'.format(
- lapackblas.link_flags + ' -lm'))
+ lapackblas = spec["lapack"].libs + spec["blas"].libs
+ make_include.filter(
+ "^LAPACKBLAS.*=.*", "LAPACKBLAS = {0}".format(lapackblas.link_flags + " -lm")
+ )
def install(self, spec, prefix):
# Manual installation
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/dsfmt/package.py b/var/spack/repos/builtin/packages/dsfmt/package.py
index 4db5b9e469..af81e16b03 100644
--- a/var/spack/repos/builtin/packages/dsfmt/package.py
+++ b/var/spack/repos/builtin/packages/dsfmt/package.py
@@ -10,23 +10,23 @@ class Dsfmt(MakefilePackage):
"""Double precision SIMD-oriented Fast Mersenne Twister"""
homepage = "http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/SFMT/"
- url = "https://github.com/MersenneTwister-Lab/dSFMT/archive/v2.2.4.tar.gz"
+ url = "https://github.com/MersenneTwister-Lab/dSFMT/archive/v2.2.4.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
# This package does not have a target to build a library nor a make install target,
# so we add it for them.
- patch('targets.patch')
+ patch("targets.patch")
- version('2.2.5', sha256='b7bc498cd140b4808963b1ff9f33b42a491870f54775c1060ecad0e02bcaffb4')
- version('2.2.4', sha256='39682961ecfba621a98dbb6610b6ae2b7d6add450d4f08d8d4edd0e10abd8174')
+ version("2.2.5", sha256="b7bc498cd140b4808963b1ff9f33b42a491870f54775c1060ecad0e02bcaffb4")
+ version("2.2.4", sha256="39682961ecfba621a98dbb6610b6ae2b7d6add450d4f08d8d4edd0e10abd8174")
@property
def libs(self):
- return find_libraries('libdSFMT', root=self.prefix, recursive=True)
+ return find_libraries("libdSFMT", root=self.prefix, recursive=True)
def build(self, spec, prefix):
- make('build-library', 'CC=cc')
+ make("build-library", "CC=cc")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/dsqss/package.py b/var/spack/repos/builtin/packages/dsqss/package.py
index 2e7d9b89a7..cca73049f9 100644
--- a/var/spack/repos/builtin/packages/dsqss/package.py
+++ b/var/spack/repos/builtin/packages/dsqss/package.py
@@ -12,62 +12,60 @@ from spack.package import *
class Dsqss(CMakePackage):
"""DSQSS is a program package for solving quantum many-body
problems defined on lattices. It is based on the quantum Monte
- Carlo method in Feynman's path integral representation. """
+ Carlo method in Feynman's path integral representation."""
homepage = "https://www.pasums.issp.u-tokyo.ac.jp/dsqss/en/"
- url = "https://github.com/issp-center-dev/dsqss/releases/download/v2.0.3/dsqss-v2.0.3.tar.gz"
+ url = "https://github.com/issp-center-dev/dsqss/releases/download/v2.0.3/dsqss-v2.0.3.tar.gz"
- version('2.0.3', sha256='11255dd1f1317fb4ac2d6ae95535f027d627d03f5470717cd277dd9ab94496e0')
+ version("2.0.3", sha256="11255dd1f1317fb4ac2d6ae95535f027d627d03f5470717cd277dd9ab94496e0")
variant("mpi", default=True, description="build mpi support")
- depends_on('mpi', when='+mpi')
- depends_on('python', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-toml', type=('build', 'run'))
+ depends_on("mpi", when="+mpi")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-toml", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
- patch('spackpip.patch')
- patch('ctest.patch')
+ patch("spackpip.patch")
+ patch("ctest.patch")
- extends('python')
+ extends("python")
# Built-in tests are stored as JSON files.
# The archive contains "resource fork" files such as "._dimer_1.json".
# In Linux, the test system tried to test "._dimer_1.json" and failed.
- @run_before('cmake')
+ @run_before("cmake")
def rm_macos(self):
- if sys.platform != 'darwin':
- for mfile in find('test', '._*.json', recursive=True):
+ if sys.platform != "darwin":
+ for mfile in find("test", "._*.json", recursive=True):
force_remove(mfile)
def cmake_args(self):
- args = [
- self.define_from_variant('ENABLE_MPI', 'mpi')
- ]
+ args = [self.define_from_variant("ENABLE_MPI", "mpi")]
return args
def test(self):
- test01 = find(self.prefix.share, '01_spindimer')[0]
- copy(join_path(test01, 'std.toml'), '.')
+ test01 = find(self.prefix.share, "01_spindimer")[0]
+ copy(join_path(test01, "std.toml"), ".")
# prepare
- pythonexe = self.spec['python'].command.path
- opts = [self.spec.prefix.bin.dla_pre, 'std.toml']
+ pythonexe = self.spec["python"].command.path
+ opts = [self.spec.prefix.bin.dla_pre, "std.toml"]
self.run_test(pythonexe, options=opts)
# (mpi) run
opts = []
- if self.spec.satisfies('+mpi'):
- exe_name = self.spec['mpi'].prefix.bin.mpirun
- opts.extend(['-n', '1'])
- opts.append(join_path(self.prefix.bin, 'dla'))
+ if self.spec.satisfies("+mpi"):
+ exe_name = self.spec["mpi"].prefix.bin.mpirun
+ opts.extend(["-n", "1"])
+ opts.append(join_path(self.prefix.bin, "dla"))
else:
- exe_name = 'dla'
- opts.append('param.in')
- expected = ['R ene = -3.74300000e-01 2.96344394e-03']
+ exe_name = "dla"
+ opts.append("param.in")
+ expected = ["R ene = -3.74300000e-01 2.96344394e-03"]
self.run_test(exe_name, options=opts)
- self.run_test('cat', options=['sample.log'], expected=expected)
+ self.run_test("cat", options=["sample.log"], expected=expected)
diff --git a/var/spack/repos/builtin/packages/dsrc/package.py b/var/spack/repos/builtin/packages/dsrc/package.py
index 7331007917..3adc22832d 100644
--- a/var/spack/repos/builtin/packages/dsrc/package.py
+++ b/var/spack/repos/builtin/packages/dsrc/package.py
@@ -13,14 +13,14 @@ class Dsrc(MakefilePackage):
FASTQ format."""
homepage = "http://sun.aei.polsl.pl/dsrc"
- url = "https://github.com/refresh-bio/DSRC/archive/v2.0.2.tar.gz"
+ url = "https://github.com/refresh-bio/DSRC/archive/v2.0.2.tar.gz"
- version('2.0.2', sha256='6d7abe0d72a501054a2115ccafff2e85e6383de627ec3e94ff4f03b7bb96a806')
+ version("2.0.2", sha256="6d7abe0d72a501054a2115ccafff2e85e6383de627ec3e94ff4f03b7bb96a806")
parallel = False
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- install_tree('examples', prefix.examples)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ install_tree("examples", prefix.examples)
diff --git a/var/spack/repos/builtin/packages/dssp/package.py b/var/spack/repos/builtin/packages/dssp/package.py
index cc11502b63..55a1fe0ed5 100644
--- a/var/spack/repos/builtin/packages/dssp/package.py
+++ b/var/spack/repos/builtin/packages/dssp/package.py
@@ -11,16 +11,16 @@ class Dssp(AutotoolsPackage):
"""'mkdssp' utility. (dictionary of protein secondary structure)"""
homepage = "https://github.com/cmbi/dssp"
- url = "https://github.com/cmbi/dssp/archive/3.1.4.tar.gz"
+ url = "https://github.com/cmbi/dssp/archive/3.1.4.tar.gz"
- version('3.1.4', sha256='496282b4b5defc55d111190ab9f1b615a9574a2f090e7cf5444521c747b272d4')
- version('2.3.0', sha256='4c95976d86dc64949cb0807fbd58c7bee5393df0001999405863dc90f05846c6')
+ version("3.1.4", sha256="496282b4b5defc55d111190ab9f1b615a9574a2f090e7cf5444521c747b272d4")
+ version("2.3.0", sha256="4c95976d86dc64949cb0807fbd58c7bee5393df0001999405863dc90f05846c6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('boost@1.48:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("boost@1.48:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -34,28 +34,30 @@ class Dssp(AutotoolsPackage):
url="https://files.rcsb.org/download/1ALK.pdb",
sha256="99f4cd7ab63b35d64eacc85dc1491af5a03a1a0a89f2c9aadfb705c591b4b6c9",
expand=False,
- placement='pdb'
+ placement="pdb",
)
def configure_args(self):
- args = [
- "--with-boost=%s" % self.spec['boost'].prefix]
+ args = ["--with-boost=%s" % self.spec["boost"].prefix]
return args
- @run_after('configure')
+ @run_after("configure")
def edit(self):
- makefile = FileFilter(join_path(self.stage.source_path, 'Makefile'))
- makefile.filter('.*-Werror .*', ' -Wno-error \\')
+ makefile = FileFilter(join_path(self.stage.source_path, "Makefile"))
+ makefile.filter(".*-Werror .*", " -Wno-error \\")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Save off the pdb sources for stand-alone testing."""
- self.cache_extra_test_sources('pdb')
+ self.cache_extra_test_sources("pdb")
def test(self):
"""Perform stand-alone/smoke test on installed package."""
- pdb_path = join_path(self.test_suite.current_test_cache_dir, 'pdb')
- self.run_test('mkdssp', options=['1ALK.pdb', '1alk.dssp'],
- purpose='test: calculating structure for example',
- installed=True,
- work_dir=pdb_path)
+ pdb_path = join_path(self.test_suite.current_test_cache_dir, "pdb")
+ self.run_test(
+ "mkdssp",
+ options=["1ALK.pdb", "1alk.dssp"],
+ purpose="test: calculating structure for example",
+ installed=True,
+ work_dir=pdb_path,
+ )
diff --git a/var/spack/repos/builtin/packages/dtc/package.py b/var/spack/repos/builtin/packages/dtc/package.py
index 6d02c437fd..26b4689ad2 100644
--- a/var/spack/repos/builtin/packages/dtc/package.py
+++ b/var/spack/repos/builtin/packages/dtc/package.py
@@ -12,21 +12,18 @@ class Dtc(MakefilePackage):
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"
+ url = "https://github.com/dgibson/dtc/archive/refs/tags/v1.6.1.tar.gz"
- version('1.6.1', sha256='6401c9a0f577a270df4632bf0f3e5454ccc7a5ca3caefa67a3e1c29c9c6b8c60')
+ version("1.6.1", sha256="6401c9a0f577a270df4632bf0f3e5454ccc7a5ca3caefa67a3e1c29c9c6b8c60")
- depends_on('bison', type='build')
+ 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('pkgconfig', type='build')
- depends_on('python', type='build')
+ depends_on("flex@2.6.4:", type="build")
+ depends_on("libyaml", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python", type="build")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter(
- 'PREFIX =.*',
- 'PREFIX = %s' % prefix
- )
+ makefile = FileFilter("Makefile")
+ makefile.filter("PREFIX =.*", "PREFIX = %s" % prefix)
diff --git a/var/spack/repos/builtin/packages/dtcmp/package.py b/var/spack/repos/builtin/packages/dtcmp/package.py
index 7073813d53..1a22ad55f2 100644
--- a/var/spack/repos/builtin/packages/dtcmp/package.py
+++ b/var/spack/repos/builtin/packages/dtcmp/package.py
@@ -8,33 +8,33 @@ from spack.package import *
class Dtcmp(AutotoolsPackage):
"""The Datatype Comparison Library provides comparison operations and
- parallel sort algorithms for MPI applications."""
+ parallel sort algorithms for MPI applications."""
homepage = "https://github.com/LLNL/dtcmp"
- url = "https://github.com/LLNL/dtcmp/releases/download/v1.0.3/dtcmp-1.0.3.tar.gz"
- git = "https://github.com/LLNL/dtcmp.git"
+ url = "https://github.com/LLNL/dtcmp/releases/download/v1.0.3/dtcmp-1.0.3.tar.gz"
+ git = "https://github.com/LLNL/dtcmp.git"
- maintainers = ['gonsie', 'camstan', 'adammoody']
+ maintainers = ["gonsie", "camstan", "adammoody"]
- version('main', branch='main')
- version('1.1.4', sha256='dd83d8cecd68e13b78b68e88675cc5847cde06742b7740e140b98f4a08127dd3')
- version('1.1.3', sha256='90b32cadd0ff2f4fa7fc916f8dcfdbe6918e3e285e0292a2470772478ca0aab5')
- version('1.1.2', sha256='76e1d1fed89bf6abf003179a7aed93350d5ce6282cb000b02a241ec802ec399d')
- version('1.1.1', sha256='ddf3c57cbb83515e1b7e4111b8a83f832e66376b40eee5d8a5549dd7b8446bc6')
- version('1.1.0', sha256='fd2c4485eee560a029f62c8f227df4acdb1edc9340907f4ae2dbee59f05f057d')
- version('1.0.3', sha256='1327368e2808043ad5f245cd16f0da19543de50eae02a4e22b8a1c2e0eff8f35')
+ version("main", branch="main")
+ version("1.1.4", sha256="dd83d8cecd68e13b78b68e88675cc5847cde06742b7740e140b98f4a08127dd3")
+ version("1.1.3", sha256="90b32cadd0ff2f4fa7fc916f8dcfdbe6918e3e285e0292a2470772478ca0aab5")
+ version("1.1.2", sha256="76e1d1fed89bf6abf003179a7aed93350d5ce6282cb000b02a241ec802ec399d")
+ version("1.1.1", sha256="ddf3c57cbb83515e1b7e4111b8a83f832e66376b40eee5d8a5549dd7b8446bc6")
+ version("1.1.0", sha256="fd2c4485eee560a029f62c8f227df4acdb1edc9340907f4ae2dbee59f05f057d")
+ version("1.0.3", sha256="1327368e2808043ad5f245cd16f0da19543de50eae02a4e22b8a1c2e0eff8f35")
- depends_on('mpi')
- depends_on('lwgrp')
+ depends_on("mpi")
+ depends_on("lwgrp")
- depends_on('lwgrp@main', when='@main')
- depends_on('lwgrp@1.0.5', when='@1.1.4')
+ depends_on("lwgrp@main", when="@main")
+ depends_on("lwgrp@1.0.5", when="@1.1.4")
- variant('shared', default=True, description='Build with shared libraries')
- depends_on('lwgrp+shared', when='+shared')
- depends_on('lwgrp~shared', when='~shared')
+ variant("shared", default=True, description="Build with shared libraries")
+ depends_on("lwgrp+shared", when="+shared")
+ depends_on("lwgrp~shared", when="~shared")
def configure_args(self):
- args = ['--with-lwgrp=%s' % self.spec['lwgrp'].prefix]
- args.extend(self.enable_or_disable('shared'))
+ args = ["--with-lwgrp=%s" % self.spec["lwgrp"].prefix]
+ args.extend(self.enable_or_disable("shared"))
return args
diff --git a/var/spack/repos/builtin/packages/dtf/package.py b/var/spack/repos/builtin/packages/dtf/package.py
index c390c102fa..043f273f12 100644
--- a/var/spack/repos/builtin/packages/dtf/package.py
+++ b/var/spack/repos/builtin/packages/dtf/package.py
@@ -17,48 +17,45 @@ class Dtf(AutotoolsPackage):
"""
homepage = "https://github.com/maneka07/DTF"
- git = "https://github.com/maneka07/DTF.git"
+ git = "https://github.com/maneka07/DTF.git"
- version('master', branch='master')
+ version("master", branch="master")
- variant('cxx', default=True, description='Build pnetcdf the C++ Interface')
- variant('fortran', default=True, description='Build pnetcdf the Fortran Interface')
+ variant("cxx", default=True, description="Build pnetcdf the C++ Interface")
+ variant("fortran", default=True, description="Build pnetcdf the Fortran Interface")
- depends_on('mpi')
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('perl', type='build')
+ depends_on("mpi")
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("perl", type="build")
- configure_directory = 'pnetcdf'
+ configure_directory = "pnetcdf"
def setup_build_environment(self, env):
- dtf_srcdir = join_path(self.stage.source_path, 'libdtf')
- env.append_path('LD_LIBRARY_PATH', self.prefix.lib)
- env.append_path('LD_LIBRARY_PATH', dtf_srcdir)
+ dtf_srcdir = join_path(self.stage.source_path, "libdtf")
+ env.append_path("LD_LIBRARY_PATH", self.prefix.lib)
+ env.append_path("LD_LIBRARY_PATH", dtf_srcdir)
- @run_before('autoreconf')
+ @run_before("autoreconf")
def build_dtf(self):
- with working_dir('libdtf'):
- make('all', 'MPICC={0}'.format(self.spec['mpi'].mpicc))
+ with working_dir("libdtf"):
+ make("all", "MPICC={0}".format(self.spec["mpi"].mpicc))
def configure_args(self):
- dtf_srcdir = join_path(self.stage.source_path, 'libdtf')
- args = [
- 'CFLAGS=-I{0}'.format(dtf_srcdir),
- 'LDFLAGS=-L{0} -ldtf'.format(dtf_srcdir)
- ]
- args += self.enable_or_disable('cxx')
- args += self.enable_or_disable('fortran')
+ dtf_srcdir = join_path(self.stage.source_path, "libdtf")
+ args = ["CFLAGS=-I{0}".format(dtf_srcdir), "LDFLAGS=-L{0} -ldtf".format(dtf_srcdir)]
+ args += self.enable_or_disable("cxx")
+ args += self.enable_or_disable("fortran")
return args
def install(self, spec, prefix):
- with working_dir('pnetcdf'):
- make('install')
- with working_dir('libdtf'):
- install('libdtf.*', prefix.lib)
- install('dtf.h', prefix.include)
- install_tree('doc', prefix.doc)
- install_tree('example', prefix.example)
- install('COPYRIGHT', prefix)
+ with working_dir("pnetcdf"):
+ make("install")
+ with working_dir("libdtf"):
+ install("libdtf.*", prefix.lib)
+ install("dtf.h", prefix.include)
+ install_tree("doc", prefix.doc)
+ install_tree("example", prefix.example)
+ install("COPYRIGHT", prefix)
diff --git a/var/spack/repos/builtin/packages/duperemove/package.py b/var/spack/repos/builtin/packages/duperemove/package.py
index f212bdded2..508c05867f 100644
--- a/var/spack/repos/builtin/packages/duperemove/package.py
+++ b/var/spack/repos/builtin/packages/duperemove/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Duperemove(MakefilePackage):
"""Duperemove is a simple tool for finding duplicated extents
- and submitting them for deduplication. """
+ and submitting them for deduplication."""
homepage = "https://github.com/markfasheh/duperemove"
- url = "https://github.com/markfasheh/duperemove/archive/v0.11.1.tar.gz"
+ url = "https://github.com/markfasheh/duperemove/archive/v0.11.1.tar.gz"
- version('0.11.1', sha256='75c3c91baf7e5195acad62eab73a7afc3d0b88cbfccefac3e3412eba06a42ac8')
+ version("0.11.1", sha256="75c3c91baf7e5195acad62eab73a7afc3d0b88cbfccefac3e3412eba06a42ac8")
- depends_on('glib')
- depends_on('sqlite')
+ depends_on("glib")
+ depends_on("sqlite")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('duperemove', prefix.bin)
+ install("duperemove", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dust/package.py b/var/spack/repos/builtin/packages/dust/package.py
index b8b85e28cb..ca496eb791 100644
--- a/var/spack/repos/builtin/packages/dust/package.py
+++ b/var/spack/repos/builtin/packages/dust/package.py
@@ -46,6 +46,4 @@ class Dust(Package):
purpose = "Check dust can execute (with option '--version')"
expected = ["Dust "]
- self.run_test(
- dustpath, options=options, expected=expected, status=[0], purpose=purpose
- )
+ self.run_test(dustpath, options=options, expected=expected, status=[0], purpose=purpose)
diff --git a/var/spack/repos/builtin/packages/dwz/package.py b/var/spack/repos/builtin/packages/dwz/package.py
index 32ba5a9c4a..a1aa5461c3 100644
--- a/var/spack/repos/builtin/packages/dwz/package.py
+++ b/var/spack/repos/builtin/packages/dwz/package.py
@@ -11,15 +11,19 @@ class Dwz(MakefilePackage, SourcewarePackage):
homepage = "https://sourceware.org/dwz/"
sourceware_mirror_path = "dwz/releases/dwz-0.14.tar.gz"
- git = "git://sourceware.org/git/dwz.git"
+ git = "git://sourceware.org/git/dwz.git"
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
- depends_on('elf')
+ depends_on("elf")
- version('0.14-patches', branch='dwz-0.14-branch')
- version('0.14', sha256='33006eab875ff0a07f13fc885883c5bd9514d83ecea9f18bc46b5732dddf0d1f', preferred=True)
+ version("0.14-patches", branch="dwz-0.14-branch")
+ version(
+ "0.14",
+ sha256="33006eab875ff0a07f13fc885883c5bd9514d83ecea9f18bc46b5732dddf0d1f",
+ preferred=True,
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('dwz', prefix.bin)
+ install("dwz", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index 0465189011..c6edbe6487 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -13,174 +13,172 @@ class Dyninst(CMakePackage):
are executing without recompiling, re-linking, or re-executing."""
homepage = "https://dyninst.org"
- git = "https://github.com/dyninst/dyninst.git"
- maintainers = ['hainest']
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('12.2.0', tag='v12.2.0')
- version('12.1.0', tag='v12.1.0')
- version('12.0.1', tag='v12.0.1')
- version('12.0.0', tag='v12.0.0')
- version('11.0.1', tag='v11.0.1')
- version('11.0.0', tag='v11.0.0')
- version('10.2.1', tag='v10.2.1')
- version('10.2.0', tag='v10.2.0')
- version('10.1.0', tag='v10.1.0')
- version('10.0.0', tag='v10.0.0')
- version('9.3.2', tag='v9.3.2', deprecated=True)
- version('9.3.0', tag='v9.3.0', deprecated=True)
- version('9.2.0', tag='v9.2.0', deprecated=True)
- version('9.1.0', tag='v9.1.0', deprecated=True)
- version('8.2.1', tag='v8.2.1', deprecated=True)
-
- variant('openmp', default=True,
- description='Enable OpenMP support for ParseAPI '
- '(version 10.0.0 or later)')
-
- variant('static', default=False,
- description='Build static libraries')
-
- variant('stat_dysect', default=False,
- description="Patch for STAT's DySectAPI")
-
- boost_libs = '+atomic+chrono+date_time+filesystem+system+thread+timer'
- '+container+random+exception'
-
- depends_on('boost@1.61.0:' + boost_libs, when='@10.1.0:')
- depends_on('boost@1.61.0:1.69' + boost_libs, when='@:10.0')
- depends_on('boost@1.67.0:' + boost_libs, when='@11.0.0:')
-
- depends_on('libiberty+pic')
+ git = "https://github.com/dyninst/dyninst.git"
+ maintainers = ["hainest"]
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("12.2.0", tag="v12.2.0")
+ version("12.1.0", tag="v12.1.0")
+ version("12.0.1", tag="v12.0.1")
+ version("12.0.0", tag="v12.0.0")
+ version("11.0.1", tag="v11.0.1")
+ version("11.0.0", tag="v11.0.0")
+ version("10.2.1", tag="v10.2.1")
+ version("10.2.0", tag="v10.2.0")
+ version("10.1.0", tag="v10.1.0")
+ version("10.0.0", tag="v10.0.0")
+ version("9.3.2", tag="v9.3.2", deprecated=True)
+ version("9.3.0", tag="v9.3.0", deprecated=True)
+ version("9.2.0", tag="v9.2.0", deprecated=True)
+ version("9.1.0", tag="v9.1.0", deprecated=True)
+ version("8.2.1", tag="v8.2.1", deprecated=True)
+
+ variant(
+ "openmp",
+ default=True,
+ description="Enable OpenMP support for ParseAPI " "(version 10.0.0 or later)",
+ )
+
+ variant("static", default=False, description="Build static libraries")
+
+ variant("stat_dysect", default=False, description="Patch for STAT's DySectAPI")
+
+ boost_libs = "+atomic+chrono+date_time+filesystem+system+thread+timer"
+ "+container+random+exception"
+
+ depends_on("boost@1.61.0:" + boost_libs, when="@10.1.0:")
+ depends_on("boost@1.61.0:1.69" + boost_libs, when="@:10.0")
+ depends_on("boost@1.67.0:" + boost_libs, when="@11.0.0:")
+
+ depends_on("libiberty+pic")
# Dyninst uses elfutils starting with 9.3.0, and used libelf
# before that.
# NB: Parallel DWARF parsing in Dyninst 10.2.0 requires a thread-
# safe libdw
- depends_on('elfutils@0.186:', type='link', when='@12.0.1:')
- depends_on('elfutils@0.178:', type='link', when='@10.2.0:')
- depends_on('elfutils', type='link', when='@9.3.0:10.1')
- depends_on('libelf', type='link', when='@:9.2')
+ depends_on("elfutils@0.186:", type="link", when="@12.0.1:")
+ depends_on("elfutils@0.178:", type="link", when="@10.2.0:")
+ depends_on("elfutils", type="link", when="@9.3.0:10.1")
+ depends_on("libelf", type="link", when="@:9.2")
# Dyninst uses libdw from elfutils starting with 10.0, and used
# libdwarf before that.
- depends_on('libdwarf', when='@:9')
+ depends_on("libdwarf", when="@:9")
- depends_on('tbb@2018.6:', when='@10.0.0:')
+ depends_on("tbb@2018.6:", when="@10.0.0:")
- depends_on('cmake@3.4.0:', type='build', when='@10.1.0:')
- depends_on('cmake@3.0.0:', type='build', when='@10.0.0:10.0')
- depends_on('cmake@2.8:', type='build', when='@:9')
+ depends_on("cmake@3.4.0:", type="build", when="@10.1.0:")
+ depends_on("cmake@3.0.0:", type="build", when="@10.0.0:10.0")
+ depends_on("cmake@2.8:", type="build", when="@:9")
- patch('stat_dysect.patch', when='+stat_dysect')
- patch('stackanalysis_h.patch', when='@9.2.0')
- patch('v9.3.2-auto.patch', when='@9.3.2 %gcc@:4.7')
- patch('tribool.patch', when='@9.3.0:10.0.0 ^boost@1.69:')
+ patch("stat_dysect.patch", when="+stat_dysect")
+ patch("stackanalysis_h.patch", when="@9.2.0")
+ patch("v9.3.2-auto.patch", when="@9.3.2 %gcc@:4.7")
+ patch("tribool.patch", when="@9.3.0:10.0.0 ^boost@1.69:")
# No Mac support (including apple-clang)
- conflicts('platform=darwin', msg='macOS is not supported')
+ conflicts("platform=darwin", msg="macOS is not supported")
# We currently only build with gcc
- conflicts('%clang')
- conflicts('%arm')
- conflicts('%cce')
- conflicts('%fj')
- conflicts('%intel')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%clang")
+ conflicts("%arm")
+ conflicts("%cce")
+ conflicts("%fj")
+ conflicts("%intel")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
# Version 11.0 requires a C++11-compliant ABI
- conflicts('%gcc@:5', when='@11.0.0:')
+ conflicts("%gcc@:5", when="@11.0.0:")
# Versions 9.3.x used cotire, but have no knob to turn it off.
# Cotire has no real use for one-time builds and can break
# parallel builds with both static and shared libs.
- @when('@9.3.0:9.3')
+ @when("@9.3.0:9.3")
def patch(self):
- filter_file('USE_COTIRE true', 'USE_COTIRE false',
- 'cmake/shared.cmake')
+ filter_file("USE_COTIRE true", "USE_COTIRE false", "cmake/shared.cmake")
# New style cmake args, starting with 10.1.
- @when('@10.1.0:')
+ @when("@10.1.0:")
def cmake_args(self):
spec = self.spec
args = [
- '-DBoost_ROOT_DIR=%s' % spec['boost'].prefix,
- '-DElfUtils_ROOT_DIR=%s' % spec['elf'].prefix,
- '-DLibIberty_ROOT_DIR=%s' % spec['libiberty'].prefix,
- '-DTBB_ROOT_DIR=%s' % spec['tbb'].prefix,
- self.define('LibIberty_LIBRARIES', spec['libiberty'].libs)
+ "-DBoost_ROOT_DIR=%s" % spec["boost"].prefix,
+ "-DElfUtils_ROOT_DIR=%s" % spec["elf"].prefix,
+ "-DLibIberty_ROOT_DIR=%s" % spec["libiberty"].prefix,
+ "-DTBB_ROOT_DIR=%s" % spec["tbb"].prefix,
+ self.define("LibIberty_LIBRARIES", spec["libiberty"].libs),
]
- if '+openmp' in spec:
- args.append('-DUSE_OpenMP=ON')
+ if "+openmp" in spec:
+ args.append("-DUSE_OpenMP=ON")
else:
- args.append('-DUSE_OpenMP=OFF')
+ args.append("-DUSE_OpenMP=OFF")
- if '+static' in spec:
- args.append('-DENABLE_STATIC_LIBS=YES')
+ if "+static" in spec:
+ args.append("-DENABLE_STATIC_LIBS=YES")
else:
- args.append('-DENABLE_STATIC_LIBS=NO')
+ args.append("-DENABLE_STATIC_LIBS=NO")
# Make sure Dyninst doesn't try to build its own dependencies
# outside of Spack
- if spec.satisfies('@10.2.0:'):
- args.append('-DSTERILE_BUILD=ON')
+ if spec.satisfies("@10.2.0:"):
+ args.append("-DSTERILE_BUILD=ON")
return args
# Old style cmake args, up through 10.0.
- @when('@:10.0')
+ @when("@:10.0")
def cmake_args(self):
spec = self.spec
# Elf -- the directory containing libelf.h.
- elf = spec['elf'].prefix
- elf_include = os.path.dirname(
- find_headers('libelf', elf.include, recursive=True)[0])
+ elf = spec["elf"].prefix
+ elf_include = os.path.dirname(find_headers("libelf", elf.include, recursive=True)[0])
# Dwarf -- the directory containing elfutils/libdw.h or
# libdwarf.h, and the path to libdw.so or libdwarf.so.
- if spec.satisfies('@10.0.0:'):
+ if spec.satisfies("@10.0.0:"):
dwarf_include = elf.include
- dwarf_lib = find_libraries('libdw', elf, recursive=True)
+ dwarf_lib = find_libraries("libdw", elf, recursive=True)
else:
- dwarf_include = spec['libdwarf'].prefix.include
- dwarf_lib = spec['libdwarf'].libs
+ dwarf_include = spec["libdwarf"].prefix.include
+ dwarf_lib = spec["libdwarf"].libs
args = [
- '-DPATH_BOOST=%s' % spec['boost'].prefix,
- '-DIBERTY_LIBRARIES=%s' % spec['libiberty'].libs,
-
- '-DLIBELF_INCLUDE_DIR=%s' % elf_include,
- '-DLIBELF_LIBRARIES=%s' % spec['elf'].libs,
-
- '-DLIBDWARF_INCLUDE_DIR=%s' % dwarf_include,
- '-DLIBDWARF_LIBRARIES=%s' % dwarf_lib,
+ "-DPATH_BOOST=%s" % spec["boost"].prefix,
+ "-DIBERTY_LIBRARIES=%s" % spec["libiberty"].libs,
+ "-DLIBELF_INCLUDE_DIR=%s" % elf_include,
+ "-DLIBELF_LIBRARIES=%s" % spec["elf"].libs,
+ "-DLIBDWARF_INCLUDE_DIR=%s" % dwarf_include,
+ "-DLIBDWARF_LIBRARIES=%s" % dwarf_lib,
]
# TBB include and lib directories, version 10.x or later.
- if spec.satisfies('@10.0.0:'):
- args.extend([
- '-DTBB_INCLUDE_DIRS=%s' % spec['tbb'].prefix.include,
- '-DTBB_LIBRARY=%s' % spec['tbb'].prefix.lib,
- ])
+ if spec.satisfies("@10.0.0:"):
+ args.extend(
+ [
+ "-DTBB_INCLUDE_DIRS=%s" % spec["tbb"].prefix.include,
+ "-DTBB_LIBRARY=%s" % spec["tbb"].prefix.lib,
+ ]
+ )
# Openmp applies to version 10.x or later.
- if spec.satisfies('@10.0.0:'):
- if '+openmp' in spec:
- args.append('-DUSE_OpenMP=ON')
+ if spec.satisfies("@10.0.0:"):
+ if "+openmp" in spec:
+ args.append("-DUSE_OpenMP=ON")
else:
- args.append('-DUSE_OpenMP=OFF')
+ args.append("-DUSE_OpenMP=OFF")
# Static libs started with version 9.1.0.
- if spec.satisfies('@9.1.0:'):
- if '+static' in spec:
- args.append('-DENABLE_STATIC_LIBS=1')
+ if spec.satisfies("@9.1.0:"):
+ if "+static" in spec:
+ args.append("-DENABLE_STATIC_LIBS=1")
else:
- args.append('-DENABLE_STATIC_LIBS=NO')
+ args.append("-DENABLE_STATIC_LIBS=NO")
return args
diff --git a/var/spack/repos/builtin/packages/dysco/package.py b/var/spack/repos/builtin/packages/dysco/package.py
index 2bc68d3e2f..48d8e35c2f 100644
--- a/var/spack/repos/builtin/packages/dysco/package.py
+++ b/var/spack/repos/builtin/packages/dysco/package.py
@@ -10,10 +10,10 @@ class Dysco(CMakePackage):
"""Dysco is a compressing storage manager for Casacore mearement sets."""
homepage = "https://github.com/aroffringa/dysco"
- url = "https://github.com/aroffringa/dysco/archive/v1.2.tar.gz"
+ url = "https://github.com/aroffringa/dysco/archive/v1.2.tar.gz"
- version('1.2', sha256='dd992c5a13df67173aa1d3f6dc5df9b51b0bea2fe77bc08f5be7a839be741269')
+ version("1.2", sha256="dd992c5a13df67173aa1d3f6dc5df9b51b0bea2fe77bc08f5be7a839be741269")
- depends_on('casacore')
- depends_on('gsl')
- depends_on('boost+date_time+python+container+exception')
+ depends_on("casacore")
+ depends_on("gsl")
+ depends_on("boost+date_time+python+container+exception")
diff --git a/var/spack/repos/builtin/packages/e2fsprogs/package.py b/var/spack/repos/builtin/packages/e2fsprogs/package.py
index a38c9543c2..0ec49e23a8 100644
--- a/var/spack/repos/builtin/packages/e2fsprogs/package.py
+++ b/var/spack/repos/builtin/packages/e2fsprogs/package.py
@@ -11,18 +11,16 @@ class E2fsprogs(AutotoolsPackage):
It also supports the ext3 and ext4 filesystems."""
homepage = "https://github.com/tytso/e2fsprogs"
- url = "https://github.com/tytso/e2fsprogs/archive/v1.45.6.tar.gz"
+ url = "https://github.com/tytso/e2fsprogs/archive/v1.45.6.tar.gz"
- version('1.45.6', sha256='d785164a2977cd88758cb0cac5c29add3fe491562a60040cfb193abcd0f9609b')
- version('1.45.5', sha256='0fd76e55c1196c1d97a2c01f2e84f463b8e99484541b43ff4197f5a695159fd3')
+ version("1.45.6", sha256="d785164a2977cd88758cb0cac5c29add3fe491562a60040cfb193abcd0f9609b")
+ version("1.45.5", sha256="0fd76e55c1196c1d97a2c01f2e84f463b8e99484541b43ff4197f5a695159fd3")
- depends_on('texinfo', type='build')
+ depends_on("texinfo", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def configure_args(self):
# avoid installing things in /etc
- return ['--without-udev-rules-dir',
- '--without-crond-dir',
- '--without-systemd-unit-dir']
+ return ["--without-udev-rules-dir", "--without-crond-dir", "--without-systemd-unit-dir"]
diff --git a/var/spack/repos/builtin/packages/ea-utils/package.py b/var/spack/repos/builtin/packages/ea-utils/package.py
index 4a9bbd1365..edfa362492 100644
--- a/var/spack/repos/builtin/packages/ea-utils/package.py
+++ b/var/spack/repos/builtin/packages/ea-utils/package.py
@@ -10,45 +10,46 @@ from spack.package import *
class EaUtils(MakefilePackage):
"""Command-line tools for processing biological sequencing data. Barcode
- demultiplexing, adapter trimming, etc. Primarily written to support an
- Illumina based pipeline - but should work with any FASTQs."""
+ demultiplexing, adapter trimming, etc. Primarily written to support an
+ Illumina based pipeline - but should work with any FASTQs."""
homepage = "https://expressionanalysis.github.io/ea-utils/"
url = "https://github.com/ExpressionAnalysis/ea-utils/archive/1.04.807.tar.gz"
git = "https://github.com/ExpressionAnalysis/ea-utils.git"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2021-10-20', commit='10c21926a4dce4289d5052acfd73b8e744d4fede')
- version('1.04.807', sha256='aa09d25e6aa7ae71d2ce4198a98e58d563f151f8ff248e4602fa437f12b8d05f',
- deprecated=True)
+ version("2021-10-20", commit="10c21926a4dce4289d5052acfd73b8e744d4fede")
+ version(
+ "1.04.807",
+ sha256="aa09d25e6aa7ae71d2ce4198a98e58d563f151f8ff248e4602fa437f12b8d05f",
+ deprecated=True,
+ )
- depends_on('sparsehash')
- depends_on('zlib')
- depends_on('gsl')
- depends_on('bamtools')
- depends_on('perl', type=['build', 'run'])
+ depends_on("sparsehash")
+ depends_on("zlib")
+ depends_on("gsl")
+ depends_on("bamtools")
+ depends_on("perl", type=["build", "run"])
- build_directory = 'clipper'
+ build_directory = "clipper"
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- filter_file('/usr', prefix, 'Makefile')
+ filter_file("/usr", prefix, "Makefile")
# remove tests from all rule
- filter_file(r'^all:.*$', 'all: $(BIN)', 'Makefile')
+ filter_file(r"^all:.*$", "all: $(BIN)", "Makefile")
# remove the vendored sparsehash
- filter_file(' sparsehash', '', 'Makefile')
+ filter_file(" sparsehash", "", "Makefile")
# replace system perl references
for f in next(os.walk(os.getcwd()))[2]:
- filter_file('/usr/bin/perl', spec['perl'].prefix.bin.perl, f)
+ filter_file("/usr/bin/perl", spec["perl"].prefix.bin.perl, f)
# fix up test script require path
- tests = ['join.t', 'mcf.t', 'multx.t']
- rep = 'require "{0}";'.format(os.path.join(os.getcwd(),
- 't', 'test-prep.pl'))
+ tests = ["join.t", "mcf.t", "multx.t"]
+ rep = 'require "{0}";'.format(os.path.join(os.getcwd(), "t", "test-prep.pl"))
for f in tests:
- filter_file(r'^require.*$', rep, os.path.join(os.getcwd(),
- 't', f))
+ filter_file(r"^require.*$", rep, os.path.join(os.getcwd(), "t", f))
def flag_handler(self, name, flags):
- if name.lower() == 'cxxflags':
+ if name.lower() == "cxxflags":
flags.append(self.compiler.cxx11_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/eagle/package.py b/var/spack/repos/builtin/packages/eagle/package.py
index ff522b406c..fead6df413 100644
--- a/var/spack/repos/builtin/packages/eagle/package.py
+++ b/var/spack/repos/builtin/packages/eagle/package.py
@@ -10,44 +10,43 @@ class Eagle(MakefilePackage):
"""EAGLE: Explicit Alternative Genome Likelihood Evaluator"""
homepage = "https://github.com/tony-kuo/eagle"
- url = "https://github.com/tony-kuo/eagle/archive/v1.1.2.tar.gz"
- maintainers = ['snehring']
+ url = "https://github.com/tony-kuo/eagle/archive/v1.1.2.tar.gz"
+ maintainers = ["snehring"]
- version('1.1.3', sha256='bd510b8eef2de14898cbf417e1c7a30b97ddaba24e5e2834da7b02767362fe3c')
- version('1.1.2', sha256='afe967560d1f8fdbd0caf4b93b5f2a86830e9e4d399fee4a526140431343045e')
+ version("1.1.3", sha256="bd510b8eef2de14898cbf417e1c7a30b97ddaba24e5e2834da7b02767362fe3c")
+ version("1.1.2", sha256="afe967560d1f8fdbd0caf4b93b5f2a86830e9e4d399fee4a526140431343045e")
- depends_on('curl')
- depends_on('zlib')
- depends_on('lzma')
- depends_on('htslib')
+ depends_on("curl")
+ depends_on("zlib")
+ depends_on("lzma")
+ depends_on("htslib")
def edit(self, spec, prefix):
# remove unused gcc flags
- filter_file('$(LFLAGS) $(INCLUDES)', '', 'Makefile', string=True)
+ filter_file("$(LFLAGS) $(INCLUDES)", "", "Makefile", string=True)
# drop static link to htslib
- filter_file('$(LIBS)', '', 'Makefile', string=True)
+ filter_file("$(LIBS)", "", "Makefile", string=True)
# don't try to build htslib.
- filter_file('all: UTIL HTSLIB', 'all: UTIL',
- 'Makefile', string=True)
+ filter_file("all: UTIL HTSLIB", "all: UTIL", "Makefile", string=True)
# add htslib link to ldflags
- filter_file('-lcurl', '-lcurl -lhts', 'Makefile', string=True)
+ filter_file("-lcurl", "-lcurl -lhts", "Makefile", string=True)
# use spack C compiler
- filter_file('CC=.*', 'CC={0}'.format(spack_cc), 'Makefile')
+ filter_file("CC=.*", "CC={0}".format(spack_cc), "Makefile")
# let the user inject march if they want
- filter_file('-march=native', '', 'Makefile', string=True)
+ filter_file("-march=native", "", "Makefile", string=True)
def install(self, spec, prefix):
mkdirp(prefix.bin)
bins = [
- 'eagle',
- 'eagle-rc',
- 'eagle-nm',
+ "eagle",
+ "eagle-rc",
+ "eagle-nm",
]
for b in bins:
diff --git a/var/spack/repos/builtin/packages/earlyoom/package.py b/var/spack/repos/builtin/packages/earlyoom/package.py
index 9e4fb9f23b..42d68a47fb 100644
--- a/var/spack/repos/builtin/packages/earlyoom/package.py
+++ b/var/spack/repos/builtin/packages/earlyoom/package.py
@@ -10,11 +10,11 @@ class Earlyoom(MakefilePackage):
"""The oom-killer generally has a bad reputation among Linux users."""
homepage = "https://github.com/rfjakob/earlyoom"
- url = "https://github.com/rfjakob/earlyoom/archive/v1.6.1.tar.gz"
+ url = "https://github.com/rfjakob/earlyoom/archive/v1.6.1.tar.gz"
- version('1.6.1', sha256='bcd3fab4da5e1dddec952a0974c866ec90c5f9159c995f9162c45488c4d03340')
- version('1.6', sha256='b81804fc4470f996014d52252a87a1cf3b43d3d8754140035b10dcee349302b8')
+ version("1.6.1", sha256="bcd3fab4da5e1dddec952a0974c866ec90c5f9159c995f9162c45488c4d03340")
+ version("1.6", sha256="b81804fc4470f996014d52252a87a1cf3b43d3d8754140035b10dcee349302b8")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('earlyoom', prefix.bin)
+ install("earlyoom", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/easi/package.py b/var/spack/repos/builtin/packages/easi/package.py
index 475e5b77c8..950b2363b4 100644
--- a/var/spack/repos/builtin/packages/easi/package.py
+++ b/var/spack/repos/builtin/packages/easi/package.py
@@ -19,56 +19,60 @@ class Easi(CMakePackage):
homepage = "https://easyinit.readthedocs.io"
git = "https://github.com/SeisSol/easi.git"
- maintainers = ['ThrudPrimrose', 'ravil-mobile', 'krenzland']
-
- version('develop', branch='master')
- version('1.1.2', tag='v1.1.2')
-
- variant('asagi', default=True, description='build with ASAGI support')
- variant('jit', default='impalajit', description='build with JIT support',
- values=('impalajit', 'impalajit-llvm', 'lua'),
- multi=False)
-
- depends_on('asagi +mpi +mpi3', when='+asagi')
- depends_on('yaml-cpp@0.6.2')
- depends_on('impalajit-llvm@1.0.0', when='jit=impalajit-llvm')
- depends_on('lua@5.3.2', when='jit=lua')
- depends_on('git', type='build', when='jit=impalajit')
-
- conflicts('jit=impalajit', when='target=aarch64:')
- conflicts('jit=impalajit', when='target=ppc64:')
- conflicts('jit=impalajit', when='target=ppc64le:')
- conflicts('jit=impalajit', when='target=riscv64:')
+ maintainers = ["ThrudPrimrose", "ravil-mobile", "krenzland"]
+
+ version("develop", branch="master")
+ version("1.1.2", tag="v1.1.2")
+
+ variant("asagi", default=True, description="build with ASAGI support")
+ variant(
+ "jit",
+ default="impalajit",
+ description="build with JIT support",
+ values=("impalajit", "impalajit-llvm", "lua"),
+ multi=False,
+ )
+
+ depends_on("asagi +mpi +mpi3", when="+asagi")
+ depends_on("yaml-cpp@0.6.2")
+ depends_on("impalajit-llvm@1.0.0", when="jit=impalajit-llvm")
+ depends_on("lua@5.3.2", when="jit=lua")
+ depends_on("git", type="build", when="jit=impalajit")
+
+ conflicts("jit=impalajit", when="target=aarch64:")
+ conflicts("jit=impalajit", when="target=ppc64:")
+ conflicts("jit=impalajit", when="target=ppc64le:")
+ conflicts("jit=impalajit", when="target=riscv64:")
def pre_build(self):
spec = self.spec
if "jit=impalajit" in spec:
- impalajir_src = join_path(self.stage.source_path, 'impalajit')
+ impalajir_src = join_path(self.stage.source_path, "impalajit")
if os.path.isdir(impalajir_src):
shutil.rmtree(impalajir_src)
git_exe = GitExe()
- git_exe('clone', 'https://github.com/uphoffc/ImpalaJIT.git', impalajir_src)
- with working_dir(join_path(impalajir_src, 'build'), create=True):
- cmake('..', '-DCMAKE_INSTALL_PREFIX={0}'.format(self.spec.prefix))
+ git_exe("clone", "https://github.com/uphoffc/ImpalaJIT.git", impalajir_src)
+ with working_dir(join_path(impalajir_src, "build"), create=True):
+ cmake("..", "-DCMAKE_INSTALL_PREFIX={0}".format(self.spec.prefix))
make()
- make('install')
+ make("install")
def cmake_args(self):
self.pre_build()
args = []
- args.append(self.define_from_variant('ASAGI', 'asagi'))
+ args.append(self.define_from_variant("ASAGI", "asagi"))
- with_impala = 'jit=impalajit' in self.spec
- with_impala |= 'jit=impalajit-llvm' in self.spec
+ with_impala = "jit=impalajit" in self.spec
+ with_impala |= "jit=impalajit-llvm" in self.spec
if with_impala:
- args.append(self.define('IMPALAJIT', True))
- backend_type = 'llvm' if 'jit=impalajit-llvm' in self.spec else 'original'
- args.append(self.define('IMPALAJIT_BACKEND', backend_type))
+ args.append(self.define("IMPALAJIT", True))
+ backend_type = "llvm" if "jit=impalajit-llvm" in self.spec else "original"
+ args.append(self.define("IMPALAJIT_BACKEND", backend_type))
- if 'jit=lua' in self.spec:
- args.append(self.define('IMPALAJIT', False))
- args.append(self.define('LUA', True))
+ if "jit=lua" in self.spec:
+ args.append(self.define("IMPALAJIT", False))
+ args.append(self.define("LUA", True))
return args
diff --git a/var/spack/repos/builtin/packages/easybuild/package.py b/var/spack/repos/builtin/packages/easybuild/package.py
index 25ca703e86..c109250d8f 100644
--- a/var/spack/repos/builtin/packages/easybuild/package.py
+++ b/var/spack/repos/builtin/packages/easybuild/package.py
@@ -11,19 +11,19 @@ class Easybuild(PythonPackage):
for (scientific) software on HPC systems.
"""
- homepage = 'https://easybuilders.github.io/easybuild/'
- pypi = 'easybuild/easybuild-4.0.0.tar.gz'
- maintainers = ['boegel']
+ homepage = "https://easybuilders.github.io/easybuild/"
+ pypi = "easybuild/easybuild-4.0.0.tar.gz"
+ maintainers = ["boegel"]
- version('4.0.0', sha256='21bcc1048525ad6219667cc97a7421b5388068c670cabba356712e474896de40')
- version('3.1.2', sha256='a966a08e41d3557d7fd3dc5322180c006d27281d9ecc1b1fce1b4518c32664d4')
+ version("4.0.0", sha256="21bcc1048525ad6219667cc97a7421b5388068c670cabba356712e474896de40")
+ version("3.1.2", sha256="a966a08e41d3557d7fd3dc5322180c006d27281d9ecc1b1fce1b4518c32664d4")
- depends_on('python@2.6:2.8', when='@:3', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.5:', when='@4:', type=('build', 'run'))
+ depends_on("python@2.6:2.8", when="@:3", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.5:", when="@4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- for v in ['@4.0.0', '@3.1.2']:
- depends_on('py-easybuild-framework' + v, when=v, type='run')
- depends_on('py-easybuild-easyblocks' + v, when=v, type='run')
- depends_on('py-easybuild-easyconfigs' + v, when=v, type='run')
+ for v in ["@4.0.0", "@3.1.2"]:
+ depends_on("py-easybuild-framework" + v, when=v, type="run")
+ depends_on("py-easybuild-easyblocks" + v, when=v, type="run")
+ depends_on("py-easybuild-easyconfigs" + v, when=v, type="run")
diff --git a/var/spack/repos/builtin/packages/ebms/package.py b/var/spack/repos/builtin/packages/ebms/package.py
index b162dda043..b4d7eb156f 100644
--- a/var/spack/repos/builtin/packages/ebms/package.py
+++ b/var/spack/repos/builtin/packages/ebms/package.py
@@ -9,40 +9,40 @@ from spack.package import *
class Ebms(MakefilePackage):
"""This is a miniapp for the Energy Banding Monte Carlo (EBMC)
- neutron transportation simulation code. It is adapted from a
- similar miniapp provided by Andrew Siegel, whose algorithm is
- described in [1], where only one process in a compute node
- is used, and the compute nodes are divided into memory nodes
- and tracking nodes. Memory nodes do not participate in particle
- tracking. Obviously, there is a lot of resource waste in this design.
+ neutron transportation simulation code. It is adapted from a
+ similar miniapp provided by Andrew Siegel, whose algorithm is
+ described in [1], where only one process in a compute node
+ is used, and the compute nodes are divided into memory nodes
+ and tracking nodes. Memory nodes do not participate in particle
+ tracking. Obviously, there is a lot of resource waste in this design.
"""
homepage = "https://github.com/ANL-CESAR/EBMS"
- git = "https://github.com/ANL-CESAR/EBMS.git"
+ git = "https://github.com/ANL-CESAR/EBMS.git"
- version('develop')
+ version("develop")
- depends_on('mpi@2:')
+ depends_on("mpi@2:")
- tags = ['proxy-app']
+ tags = ["proxy-app"]
@property
def build_targets(self):
targets = []
- cflags = '-g -O3 -std=gnu99'
+ cflags = "-g -O3 -std=gnu99"
- if '+mpi' in self.spec:
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ if "+mpi" in self.spec:
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
- targets.append('CFLAGS={0}'.format(cflags))
+ targets.append("CFLAGS={0}".format(cflags))
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('ebmc-iallgather', prefix.bin)
- install('ebmc-rget', prefix.bin)
- install_tree('run', join_path(prefix, 'run'))
- install_tree('inputs', join_path(prefix, 'inputs'))
+ install("ebmc-iallgather", prefix.bin)
+ install("ebmc-rget", prefix.bin)
+ install_tree("run", join_path(prefix, "run"))
+ install_tree("inputs", join_path(prefix, "inputs"))
diff --git a/var/spack/repos/builtin/packages/ecbuild/package.py b/var/spack/repos/builtin/packages/ecbuild/package.py
index b207330dcb..e7ffd376f8 100644
--- a/var/spack/repos/builtin/packages/ecbuild/package.py
+++ b/var/spack/repos/builtin/packages/ecbuild/package.py
@@ -10,18 +10,18 @@ class Ecbuild(CMakePackage):
"""ecBuild is the ECMWF build system. It is built on top of CMake and
consists of a set of macros as well as a wrapper around CMake"""
- homepage = 'https://github.com/ecmwf/ecbuild'
- url = 'https://github.com/ecmwf/ecbuild/archive/refs/tags/3.6.1.tar.gz'
+ homepage = "https://github.com/ecmwf/ecbuild"
+ url = "https://github.com/ecmwf/ecbuild/archive/refs/tags/3.6.1.tar.gz"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('3.6.5', sha256='98bff3d3c269f973f4bfbe29b4de834cd1d43f15b1c8d1941ee2bfe15e3d4f7f')
- version('3.6.1', sha256='796ccceeb7af01938c2f74eab0724b228e9bf1978e32484aa3e227510f69ac59')
+ version("3.6.5", sha256="98bff3d3c269f973f4bfbe29b4de834cd1d43f15b1c8d1941ee2bfe15e3d4f7f")
+ version("3.6.1", sha256="796ccceeb7af01938c2f74eab0724b228e9bf1978e32484aa3e227510f69ac59")
- depends_on('cmake@3.11:', type=('build', 'run'))
+ depends_on("cmake@3.11:", type=("build", "run"))
# See https://github.com/ecmwf/ecbuild/issues/35
- depends_on('cmake@:3.19', type=('build', 'run'), when='@:3.6.1')
+ depends_on("cmake@:3.19", type=("build", "run"), when="@:3.6.1")
# Some of the installed scripts require running Perl:
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/eccodes/package.py b/var/spack/repos/builtin/packages/eccodes/package.py
index 291b7c2a08..57e1b80477 100644
--- a/var/spack/repos/builtin/packages/eccodes/package.py
+++ b/var/spack/repos/builtin/packages/eccodes/package.py
@@ -8,30 +8,30 @@ from spack.package import *
_definitions = {
# German Meteorological Service (Deutscher Wetterdienst, DWD):
- 'edzw': {
- 'conflicts': {'when': '@:2.19.1,2.22.0,2.24.0:'},
- 'resources': [
+ "edzw": {
+ "conflicts": {"when": "@:2.19.1,2.22.0,2.24.0:"},
+ "resources": [
{
- 'when': '@2.20.0',
- 'url': 'http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.20.0-1.tar.gz',
- 'sha256': 'a92932f8a13c33cba65d3a33aa06c7fb4a37ed12a78e9abe2c5e966402b99af4'
+ "when": "@2.20.0",
+ "url": "http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.20.0-1.tar.gz",
+ "sha256": "a92932f8a13c33cba65d3a33aa06c7fb4a37ed12a78e9abe2c5e966402b99af4",
},
{
- 'when': '@2.21.0',
- 'url': 'http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.21.0-3.tar.bz2',
- 'sha256': '046f1f6450abb3b44c31dee6229f4aab06ca0d3576e27e93e05ccb7cd6e2d9d9'
+ "when": "@2.21.0",
+ "url": "http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.21.0-3.tar.bz2",
+ "sha256": "046f1f6450abb3b44c31dee6229f4aab06ca0d3576e27e93e05ccb7cd6e2d9d9",
},
{
- 'when': '@2.22.1',
- 'url': 'http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.22.1-1.tar.bz2',
- 'sha256': 'be73102a0dcabb236bacd2a70c7b5475f673fda91b49e34df61bef0fa5ad3389'
+ "when": "@2.22.1",
+ "url": "http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.22.1-1.tar.bz2",
+ "sha256": "be73102a0dcabb236bacd2a70c7b5475f673fda91b49e34df61bef0fa5ad3389",
},
{
- 'when': '@2.23.0',
- 'url': 'http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.23.0-4.tar.bz2',
- 'sha256': 'c5db32861c7d23410aed466ffef3ca661410d252870a3949442d3ecb176aa338'
- }
- ]
+ "when": "@2.23.0",
+ "url": "http://opendata.dwd.de/weather/lib/grib/eccodes_definitions.edzw-2.23.0-4.tar.bz2",
+ "sha256": "c5db32861c7d23410aed466ffef3ca661410d252870a3949442d3ecb176aa338",
+ },
+ ],
}
}
@@ -40,120 +40,133 @@ class Eccodes(CMakePackage):
"""ecCodes is a package developed by ECMWF for processing meteorological
data in GRIB (1/2), BUFR (3/4) and GTS header formats."""
- homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home'
- url = 'https://confluence.ecmwf.int/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz?api=v2'
- git = 'https://github.com/ecmwf/eccodes.git'
- list_url = 'https://confluence.ecmwf.int/display/ECC/Releases'
-
- maintainers = ['skosukhin']
-
- version('develop', branch='develop')
- version('2.25.0', sha256='8975131aac54d406e5457706fd4e6ba46a8cc9c7dd817a41f2aa64ce1193c04e')
- version('2.24.2', sha256='c60ad0fd89e11918ace0d84c01489f21222b11d6cad3ff7495856a0add610403')
- version('2.23.0', sha256='cbdc8532537e9682f1a93ddb03440416b66906a4cc25dec3cbd73940d194bf0c')
- version('2.22.1', sha256='75c7ee96469bb30b0c8f7edbdc4429ece4415897969f75c36173545242bc9e85')
- version('2.21.0', sha256='da0a0bf184bb436052e3eae582defafecdb7c08cdaab7216780476e49b509755')
- version('2.20.0', sha256='207a3d7966e75d85920569b55a19824673e8cd0b50db4c4dac2d3d52eacd7985')
- version('2.19.1', sha256='9964bed5058e873d514bd4920951122a95963128b12f55aa199d9afbafdd5d4b')
- version('2.18.0', sha256='d88943df0f246843a1a062796edbf709ef911de7269648eef864be259e9704e3')
- version('2.13.0', sha256='c5ce1183b5257929fc1f1c8496239e52650707cfab24f4e0e1f1a471135b8272')
- version('2.5.0', sha256='18ab44bc444168fd324d07f7dea94f89e056f5c5cd973e818c8783f952702e4e')
- version('2.2.0', sha256='1a4112196497b8421480e2a0a1164071221e467853486577c4f07627a702f4c3')
-
- variant('tools', default=False, description='Build the command line tools')
- variant('netcdf', default=False,
- description='Enable GRIB to NetCDF conversion tool')
- variant('jp2k', default='openjpeg', values=('openjpeg', 'jasper', 'none'),
- description='Specify JPEG2000 decoding/encoding backend')
- variant('png', default=False,
- description='Enable PNG support for decoding/encoding')
- variant('aec', default=False,
- description='Enable Adaptive Entropy Coding for decoding/encoding')
- variant('pthreads', default=False,
- description='Enable POSIX threads')
- variant('openmp', default=False,
- description='Enable OpenMP threads')
- variant('memfs', default=False,
- description='Enable memory based access to definitions/samples')
- variant('python', default=False,
- description='Enable the Python 2 interface')
- variant('fortran', default=False, description='Enable the Fortran support')
- variant('shared', default=True,
- description='Build shared versions of the libraries')
-
- variant('definitions',
- values=disjoint_sets(
- ('auto',),
- ('default',) + tuple(_definitions.keys()),
- ).with_default('auto'),
- description="List of definitions to install")
-
- variant('samples',
- values=disjoint_sets(
- ('auto',), ('default',),
- ).with_default('auto'),
- description="List of samples to install")
-
- depends_on('netcdf-c', when='+netcdf')
+ homepage = "https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home"
+ url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz?api=v2"
+ git = "https://github.com/ecmwf/eccodes.git"
+ list_url = "https://confluence.ecmwf.int/display/ECC/Releases"
+
+ maintainers = ["skosukhin"]
+
+ version("develop", branch="develop")
+ version("2.25.0", sha256="8975131aac54d406e5457706fd4e6ba46a8cc9c7dd817a41f2aa64ce1193c04e")
+ version("2.24.2", sha256="c60ad0fd89e11918ace0d84c01489f21222b11d6cad3ff7495856a0add610403")
+ version("2.23.0", sha256="cbdc8532537e9682f1a93ddb03440416b66906a4cc25dec3cbd73940d194bf0c")
+ version("2.22.1", sha256="75c7ee96469bb30b0c8f7edbdc4429ece4415897969f75c36173545242bc9e85")
+ version("2.21.0", sha256="da0a0bf184bb436052e3eae582defafecdb7c08cdaab7216780476e49b509755")
+ version("2.20.0", sha256="207a3d7966e75d85920569b55a19824673e8cd0b50db4c4dac2d3d52eacd7985")
+ version("2.19.1", sha256="9964bed5058e873d514bd4920951122a95963128b12f55aa199d9afbafdd5d4b")
+ version("2.18.0", sha256="d88943df0f246843a1a062796edbf709ef911de7269648eef864be259e9704e3")
+ version("2.13.0", sha256="c5ce1183b5257929fc1f1c8496239e52650707cfab24f4e0e1f1a471135b8272")
+ version("2.5.0", sha256="18ab44bc444168fd324d07f7dea94f89e056f5c5cd973e818c8783f952702e4e")
+ version("2.2.0", sha256="1a4112196497b8421480e2a0a1164071221e467853486577c4f07627a702f4c3")
+
+ variant("tools", default=False, description="Build the command line tools")
+ variant("netcdf", default=False, description="Enable GRIB to NetCDF conversion tool")
+ variant(
+ "jp2k",
+ default="openjpeg",
+ values=("openjpeg", "jasper", "none"),
+ description="Specify JPEG2000 decoding/encoding backend",
+ )
+ variant("png", default=False, description="Enable PNG support for decoding/encoding")
+ variant(
+ "aec", default=False, description="Enable Adaptive Entropy Coding for decoding/encoding"
+ )
+ variant("pthreads", default=False, description="Enable POSIX threads")
+ variant("openmp", default=False, description="Enable OpenMP threads")
+ variant(
+ "memfs", default=False, description="Enable memory based access to definitions/samples"
+ )
+ variant("python", default=False, description="Enable the Python 2 interface")
+ variant("fortran", default=False, description="Enable the Fortran support")
+ variant("shared", default=True, description="Build shared versions of the libraries")
+
+ variant(
+ "definitions",
+ values=disjoint_sets(
+ ("auto",),
+ ("default",) + tuple(_definitions.keys()),
+ ).with_default("auto"),
+ description="List of definitions to install",
+ )
+
+ variant(
+ "samples",
+ values=disjoint_sets(
+ ("auto",),
+ ("default",),
+ ).with_default("auto"),
+ description="List of samples to install",
+ )
+
+ depends_on("netcdf-c", when="+netcdf")
# Cannot be built with openjpeg@2.0.x.
- depends_on('openjpeg@1.5.0:1.5,2.1.0:2.3', when='jp2k=openjpeg')
+ depends_on("openjpeg@1.5.0:1.5,2.1.0:2.3", when="jp2k=openjpeg")
# Additional constraint for older versions.
- depends_on('openjpeg@:2.1', when='@:2.16 jp2k=openjpeg')
+ depends_on("openjpeg@:2.1", when="@:2.16 jp2k=openjpeg")
- with when('jp2k=jasper'):
- depends_on('jasper')
+ with when("jp2k=jasper"):
+ depends_on("jasper")
# jasper 3.x compat from commit 86f0b35f1a8492cb16f82fb976a0a5acd2986ac2
- depends_on('jasper@:2', when='@:2.25.0')
+ depends_on("jasper@:2", when="@:2.25.0")
- depends_on('libpng', when='+png')
- depends_on('libaec', when='+aec')
+ depends_on("libpng", when="+png")
+ depends_on("libaec", when="+aec")
# Can be built with Python 2 or Python 3.
- depends_on('python', when='+memfs', type='build')
+ depends_on("python", when="+memfs", type="build")
# The interface is available only for Python 2.
# Python 3 interface is available as a separate packages:
# https://confluence.ecmwf.int/display/ECC/Python+3+interface+for+ecCodes
- depends_on('python@2.6:2', when='+python',
- type=('build', 'link', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- extends('python', when='+python')
+ depends_on("python@2.6:2", when="+python", type=("build", "link", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ extends("python", when="+python")
- depends_on('cmake@3.6:', type='build')
- depends_on('cmake@3.12:', when='@2.19:', type='build')
+ depends_on("cmake@3.6:", type="build")
+ depends_on("cmake@3.12:", when="@2.19:", type="build")
- depends_on('ecbuild', type='build', when='@develop')
+ depends_on("ecbuild", type="build", when="@develop")
- conflicts('+openmp', when='+pthreads',
- msg='Cannot enable both POSIX threads and OMP')
+ conflicts("+openmp", when="+pthreads", msg="Cannot enable both POSIX threads and OMP")
- conflicts('+netcdf', when='~tools',
- msg='Cannot enable the NetCDF conversion tool '
- 'when the command line tools are disabled')
+ conflicts(
+ "+netcdf",
+ when="~tools",
+ msg="Cannot enable the NetCDF conversion tool " "when the command line tools are disabled",
+ )
- conflicts('~tools', when='@:2.18.0',
- msg='The command line tools can be disabled '
- 'only starting version 2.19.0')
+ conflicts(
+ "~tools",
+ when="@:2.18.0",
+ msg="The command line tools can be disabled " "only starting version 2.19.0",
+ )
for center, definitions in _definitions.items():
- kwargs = definitions.get('conflicts', None)
+ kwargs = definitions.get("conflicts", None)
if kwargs:
- conflicts('definitions={0}'.format(center), **kwargs)
- for kwargs in definitions.get('resources', []):
- resource(name=center, destination='spack-definitions',
- placement='definitions.{0}'.format(center), **kwargs)
+ conflicts("definitions={0}".format(center), **kwargs)
+ for kwargs in definitions.get("resources", []):
+ resource(
+ name=center,
+ destination="spack-definitions",
+ placement="definitions.{0}".format(center),
+ **kwargs
+ )
# Enforce linking against the specified JPEG2000 backend, see also
# https://github.com/ecmwf/eccodes/commit/2c10828495900ff3d80d1e570fe96c1df16d97fb
- patch('openjpeg_jasper.patch', when='@:2.16')
+ patch("openjpeg_jasper.patch", when="@:2.16")
# CMAKE_INSTALL_RPATH must be a semicolon-separated list.
- patch('cmake_install_rpath.patch', when='@:2.10')
+ patch("cmake_install_rpath.patch", when="@:2.10")
# Fix a bug preventing cmake from finding NetCDF:
- patch('https://github.com/ecmwf/ecbuild/commit/3916c7d22575c45166fcc89edcbe02a6e9b81aa2.patch?full_index=1',
- sha256='9dcc4affaaa850d4b7247baa939d0f9ffedea132369f1afc3f248dbf720386c9',
- when='@:2.4.0+netcdf')
+ patch(
+ "https://github.com/ecmwf/ecbuild/commit/3916c7d22575c45166fcc89edcbe02a6e9b81aa2.patch?full_index=1",
+ sha256="9dcc4affaaa850d4b7247baa939d0f9ffedea132369f1afc3f248dbf720386c9",
+ when="@:2.4.0+netcdf",
+ )
- @when('%nag+fortran')
+ @when("%nag+fortran")
def patch(self):
# A number of Fortran source files assume that the kinds of integer and
# real variables are specified in bytes. However, the NAG compiler
@@ -166,76 +179,97 @@ class Eccodes(CMakePackage):
# large. We would also have to introduce several versions of each patch
# file to support different versions of the package.
- patch_kind_files = ['fortran/eccodes_f90_head.f90',
- 'fortran/eccodes_f90_tail.f90',
- 'fortran/grib_f90_head.f90',
- 'fortran/grib_f90_tail.f90',
- 'fortran/grib_types.f90']
+ patch_kind_files = [
+ "fortran/eccodes_f90_head.f90",
+ "fortran/eccodes_f90_tail.f90",
+ "fortran/grib_f90_head.f90",
+ "fortran/grib_f90_tail.f90",
+ "fortran/grib_types.f90",
+ ]
patch_unix_ext_files = []
if self.run_tests:
- patch_kind_files.extend([
- 'examples/F90/grib_print_data.f90',
- 'examples/F90/grib_print_data_static.f90',
- # Files that need patching only when the extended regression
- # tests are enabled, which we disable unconditionally:
- # 'examples/F90/bufr_attributes.f90',
- # 'examples/F90/bufr_expanded.f90',
- # 'examples/F90/bufr_get_keys.f90',
- # 'examples/F90/bufr_read_scatterometer.f90',
- # 'examples/F90/bufr_read_synop.f90',
- # 'examples/F90/bufr_read_temp.f90',
- # 'examples/F90/bufr_read_tempf.f90',
- # 'examples/F90/bufr_read_tropical_cyclone.f90',
- # 'examples/F90/grib_clone.f90',
- # 'examples/F90/grib_get_data.f90',
- # 'examples/F90/grib_nearest.f90',
- # 'examples/F90/grib_precision.f90',
- # 'examples/F90/grib_read_from_file.f90',
- # 'examples/F90/grib_samples.f90',
- # 'examples/F90/grib_set_keys.f90'
- ])
-
- patch_unix_ext_files.extend([
- 'examples/F90/bufr_ecc-1284.f90',
- 'examples/F90/grib_set_data.f90',
- 'examples/F90/grib_set_packing.f90',
- # Files that need patching only when the extended regression
- # tests are enabled, which we disable unconditionally:
- # 'examples/F90/bufr_copy_data.f90',
- # 'examples/F90/bufr_get_string_array.f90',
- # 'examples/F90/bufr_keys_iterator.f90',
- # 'examples/F90/get_product_kind.f90',
- # 'examples/F90/grib_count_messages_multi.f90'
- ])
-
- kwargs = {'string': False, 'backup': False, 'ignore_absent': True}
+ patch_kind_files.extend(
+ [
+ "examples/F90/grib_print_data.f90",
+ "examples/F90/grib_print_data_static.f90",
+ # Files that need patching only when the extended regression
+ # tests are enabled, which we disable unconditionally:
+ # 'examples/F90/bufr_attributes.f90',
+ # 'examples/F90/bufr_expanded.f90',
+ # 'examples/F90/bufr_get_keys.f90',
+ # 'examples/F90/bufr_read_scatterometer.f90',
+ # 'examples/F90/bufr_read_synop.f90',
+ # 'examples/F90/bufr_read_temp.f90',
+ # 'examples/F90/bufr_read_tempf.f90',
+ # 'examples/F90/bufr_read_tropical_cyclone.f90',
+ # 'examples/F90/grib_clone.f90',
+ # 'examples/F90/grib_get_data.f90',
+ # 'examples/F90/grib_nearest.f90',
+ # 'examples/F90/grib_precision.f90',
+ # 'examples/F90/grib_read_from_file.f90',
+ # 'examples/F90/grib_samples.f90',
+ # 'examples/F90/grib_set_keys.f90'
+ ]
+ )
+
+ patch_unix_ext_files.extend(
+ [
+ "examples/F90/bufr_ecc-1284.f90",
+ "examples/F90/grib_set_data.f90",
+ "examples/F90/grib_set_packing.f90",
+ # Files that need patching only when the extended regression
+ # tests are enabled, which we disable unconditionally:
+ # 'examples/F90/bufr_copy_data.f90',
+ # 'examples/F90/bufr_get_string_array.f90',
+ # 'examples/F90/bufr_keys_iterator.f90',
+ # 'examples/F90/get_product_kind.f90',
+ # 'examples/F90/grib_count_messages_multi.f90'
+ ]
+ )
+
+ kwargs = {"string": False, "backup": False, "ignore_absent": True}
# Return the kind and not the size:
- filter_file(r'(^\s*kind_of_double\s*=\s*)(\d{1,2})(\s*$)',
- '\\1kind(real\\2)\\3',
- 'fortran/grib_types.f90', **kwargs)
- filter_file(r'(^\s*kind_of_\w+\s*=\s*)(\d{1,2})(\s*$)',
- '\\1kind(x\\2)\\3',
- 'fortran/grib_types.f90', **kwargs)
+ filter_file(
+ r"(^\s*kind_of_double\s*=\s*)(\d{1,2})(\s*$)",
+ "\\1kind(real\\2)\\3",
+ "fortran/grib_types.f90",
+ **kwargs
+ )
+ filter_file(
+ r"(^\s*kind_of_\w+\s*=\s*)(\d{1,2})(\s*$)",
+ "\\1kind(x\\2)\\3",
+ "fortran/grib_types.f90",
+ **kwargs
+ )
# Replace integer kinds:
for size, r in [(2, 4), (4, 9), (8, 18)]:
- filter_file(r'(^\s*integer\((?:kind=)?){0}(\).*)'.format(size),
- '\\1selected_int_kind({0})\\2'.format(r),
- *patch_kind_files, **kwargs)
+ filter_file(
+ r"(^\s*integer\((?:kind=)?){0}(\).*)".format(size),
+ "\\1selected_int_kind({0})\\2".format(r),
+ *patch_kind_files,
+ **kwargs
+ )
# Replace real kinds:
for size, p, r in [(4, 6, 37), (8, 15, 307)]:
- filter_file(r'(^\s*real\((?:kind=)?){0}(\).*)'.format(size),
- '\\1selected_real_kind({0}, {1})\\2'.format(p, r),
- *patch_kind_files, **kwargs)
+ filter_file(
+ r"(^\s*real\((?:kind=)?){0}(\).*)".format(size),
+ "\\1selected_real_kind({0}, {1})\\2".format(p, r),
+ *patch_kind_files,
+ **kwargs
+ )
# Enable getarg and exit subroutines:
- filter_file(r'(^\s*program\s+\w+)(\s*$)',
- '\\1; use f90_unix_env; use f90_unix_proc\\2',
- *patch_unix_ext_files, **kwargs)
+ filter_file(
+ r"(^\s*program\s+\w+)(\s*$)",
+ "\\1; use f90_unix_env; use f90_unix_proc\\2",
+ *patch_unix_ext_files,
+ **kwargs
+ )
@property
def libs(self):
@@ -243,126 +277,122 @@ class Eccodes(CMakePackage):
query_parameters = self.spec.last_query.extra_parameters
- if 'shared' in query_parameters:
+ if "shared" in query_parameters:
shared = True
- elif 'static' in query_parameters:
+ elif "static" in query_parameters:
shared = False
else:
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
# Return Fortran library if requested:
- return_fortran = 'fortran' in query_parameters
+ return_fortran = "fortran" in query_parameters
# Return C library if either requested or the Fortran library is not
# requested (to avoid overlinking) or the static libraries are
# requested:
- return_c = 'c' in query_parameters or not (return_fortran and shared)
+ return_c = "c" in query_parameters or not (return_fortran and shared)
# Return MEMFS library only if enabled and the static libraries are
# requested:
- return_memfs = '+memfs' in self.spec and not shared
+ return_memfs = "+memfs" in self.spec and not shared
if return_fortran:
- libraries.append('libeccodes_f90')
+ libraries.append("libeccodes_f90")
if return_c:
- libraries.append('libeccodes')
+ libraries.append("libeccodes")
if return_memfs:
- libraries.append('libeccodes_memfs')
+ libraries.append("libeccodes_memfs")
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if libs and len(libs) == len(libraries):
return libs
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
- @run_before('cmake')
+ @run_before("cmake")
def check_fortran(self):
- if '+fortran' in self.spec and self.compiler.fc is None:
- raise InstallError(
- 'Fortran interface requires a Fortran compiler!')
+ if "+fortran" in self.spec and self.compiler.fc is None:
+ raise InstallError("Fortran interface requires a Fortran compiler!")
def cmake_args(self):
- jp2k = self.spec.variants['jp2k'].value
+ jp2k = self.spec.variants["jp2k"].value
args = [
- self.define_from_variant('ENABLE_BUILD_TOOLS', 'tools'),
- self.define_from_variant('ENABLE_NETCDF', 'netcdf'),
- self.define('ENABLE_JPG', jp2k != 'none'),
- self.define('ENABLE_JPG_LIBJASPER', jp2k == 'jasper'),
- self.define('ENABLE_JPG_LIBOPENJPEG', jp2k == 'openjpeg'),
- self.define_from_variant('ENABLE_PNG', 'png'),
- self.define_from_variant('ENABLE_AEC', 'aec'),
- self.define_from_variant('ENABLE_ECCODES_THREADS', 'pthreads'),
- self.define_from_variant('ENABLE_ECCODES_OMP_THREADS', 'openmp'),
- self.define_from_variant('ENABLE_MEMFS', 'memfs'),
+ self.define_from_variant("ENABLE_BUILD_TOOLS", "tools"),
+ self.define_from_variant("ENABLE_NETCDF", "netcdf"),
+ self.define("ENABLE_JPG", jp2k != "none"),
+ self.define("ENABLE_JPG_LIBJASPER", jp2k == "jasper"),
+ self.define("ENABLE_JPG_LIBOPENJPEG", jp2k == "openjpeg"),
+ self.define_from_variant("ENABLE_PNG", "png"),
+ self.define_from_variant("ENABLE_AEC", "aec"),
+ self.define_from_variant("ENABLE_ECCODES_THREADS", "pthreads"),
+ self.define_from_variant("ENABLE_ECCODES_OMP_THREADS", "openmp"),
+ self.define_from_variant("ENABLE_MEMFS", "memfs"),
self.define_from_variant(
- 'ENABLE_PYTHON{0}'.format(
- '2' if self.spec.satisfies('@2.20.0:') else ''),
- 'python'),
- self.define_from_variant('ENABLE_FORTRAN', 'fortran'),
- self.define('BUILD_SHARED_LIBS',
- 'BOTH' if '+shared' in self.spec else 'OFF'),
- self.define('ENABLE_TESTS', self.run_tests),
+ "ENABLE_PYTHON{0}".format("2" if self.spec.satisfies("@2.20.0:") else ""), "python"
+ ),
+ self.define_from_variant("ENABLE_FORTRAN", "fortran"),
+ self.define("BUILD_SHARED_LIBS", "BOTH" if "+shared" in self.spec else "OFF"),
+ self.define("ENABLE_TESTS", self.run_tests),
# Examples are not installed and are just part of the test suite:
- self.define('ENABLE_EXAMPLES', self.run_tests),
+ self.define("ENABLE_EXAMPLES", self.run_tests),
# Unconditionally disable the extended regression tests, since they
# download additional data (~134MB):
- self.define('ENABLE_EXTRA_TESTS', False)
+ self.define("ENABLE_EXTRA_TESTS", False),
]
- if '+netcdf' in self.spec:
- args.extend([
- # Prevent possible overriding by environment variables
- # NETCDF_ROOT, NETCDF_DIR, and NETCDF_PATH:
- self.define('NETCDF_PATH', self.spec['netcdf-c'].prefix),
- # Prevent overriding by environment variable HDF5_ROOT:
- self.define('HDF5_ROOT', self.spec['hdf5'].prefix)])
+ if "+netcdf" in self.spec:
+ args.extend(
+ [
+ # Prevent possible overriding by environment variables
+ # NETCDF_ROOT, NETCDF_DIR, and NETCDF_PATH:
+ self.define("NETCDF_PATH", self.spec["netcdf-c"].prefix),
+ # Prevent overriding by environment variable HDF5_ROOT:
+ self.define("HDF5_ROOT", self.spec["hdf5"].prefix),
+ ]
+ )
- if jp2k == 'openjpeg':
- args.append(self.define('OPENJPEG_PATH',
- self.spec['openjpeg'].prefix))
+ if jp2k == "openjpeg":
+ args.append(self.define("OPENJPEG_PATH", self.spec["openjpeg"].prefix))
- if '+png' in self.spec:
- args.append(self.define('ZLIB_ROOT', self.spec['zlib'].prefix))
+ if "+png" in self.spec:
+ args.append(self.define("ZLIB_ROOT", self.spec["zlib"].prefix))
- if '+aec' in self.spec:
+ if "+aec" in self.spec:
# Prevent overriding by environment variables AEC_DIR and AEC_PATH:
- args.append(self.define('AEC_DIR', self.spec['libaec'].prefix))
+ args.append(self.define("AEC_DIR", self.spec["libaec"].prefix))
- if '^python' in self.spec:
- args.append(self.define('PYTHON_EXECUTABLE', python.path))
+ if "^python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", python.path))
- definitions = self.spec.variants['definitions'].value
+ definitions = self.spec.variants["definitions"].value
- if 'auto' not in definitions:
- args.append(self.define('ENABLE_INSTALL_ECCODES_DEFINITIONS',
- 'default' in definitions))
+ if "auto" not in definitions:
+ args.append(
+ self.define("ENABLE_INSTALL_ECCODES_DEFINITIONS", "default" in definitions)
+ )
- samples = self.spec.variants['samples'].value
+ samples = self.spec.variants["samples"].value
- if 'auto' not in samples:
- args.append(self.define('ENABLE_INSTALL_ECCODES_SAMPLES',
- 'default' in samples))
+ if "auto" not in samples:
+ args.append(self.define("ENABLE_INSTALL_ECCODES_SAMPLES", "default" in samples))
return args
- @run_after('install')
+ @run_after("install")
def install_extra_definitions(self):
- noop = set(['auto', 'none', 'default'])
- for center in self.spec.variants['definitions'].value:
+ noop = set(["auto", "none", "default"])
+ for center in self.spec.variants["definitions"].value:
if center not in noop:
- center_dir = 'definitions.{0}'.format(center)
+ center_dir = "definitions.{0}".format(center)
install_tree(
- join_path(self.stage.source_path,
- 'spack-definitions', center_dir),
- join_path(self.prefix.share.eccodes, center_dir))
+ join_path(self.stage.source_path, "spack-definitions", center_dir),
+ join_path(self.prefix.share.eccodes, center_dir),
+ )
def check(self):
# https://confluence.ecmwf.int/display/ECC/ecCodes+installation
diff --git a/var/spack/repos/builtin/packages/ecdsautils/package.py b/var/spack/repos/builtin/packages/ecdsautils/package.py
index fc5c5fe0be..51e2109cc8 100644
--- a/var/spack/repos/builtin/packages/ecdsautils/package.py
+++ b/var/spack/repos/builtin/packages/ecdsautils/package.py
@@ -10,9 +10,9 @@ class Ecdsautils(CMakePackage):
"""Tiny collection of programs used for ECDSA."""
homepage = "https://github.com/freifunk-gluon/"
- url = "https://github.com/freifunk-gluon/ecdsautils/archive/v0.3.2.tar.gz"
+ url = "https://github.com/freifunk-gluon/ecdsautils/archive/v0.3.2.tar.gz"
- version('0.3.2', sha256='a828417c985ccfc623bb613e92ccc8af6c6f24a5bcab8b112b90c033a816204f')
- version('0.3.1', sha256='4b6efe7802a089e8d64194c954a8f9981ff516b922b40d51e6c7ba565274a87a')
+ version("0.3.2", sha256="a828417c985ccfc623bb613e92ccc8af6c6f24a5bcab8b112b90c033a816204f")
+ version("0.3.1", sha256="4b6efe7802a089e8d64194c954a8f9981ff516b922b40d51e6c7ba565274a87a")
- depends_on('libuecc', type='build')
+ depends_on("libuecc", type="build")
diff --git a/var/spack/repos/builtin/packages/ecflow/package.py b/var/spack/repos/builtin/packages/ecflow/package.py
index aa2aff292d..2899a30513 100644
--- a/var/spack/repos/builtin/packages/ecflow/package.py
+++ b/var/spack/repos/builtin/packages/ecflow/package.py
@@ -16,37 +16,38 @@ class Ecflow(CMakePackage):
good restart capabilities.
"""
- homepage = 'https://confluence.ecmwf.int/display/ECFLOW/'
- url = 'https://confluence.ecmwf.int/download/attachments/8650755/ecFlow-4.11.1-Source.tar.gz'
+ homepage = "https://confluence.ecmwf.int/display/ECFLOW/"
+ url = "https://confluence.ecmwf.int/download/attachments/8650755/ecFlow-4.11.1-Source.tar.gz"
- version('4.13.0', sha256='c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39')
- version('4.12.0', sha256='566b797e8d78e3eb93946b923ef540ac61f50d4a17c9203d263c4fd5c39ab1d1')
- version('4.11.1', sha256='b3bcc1255939f87b9ba18d802940e08c0cf6379ca6aeec1fef7bd169b0085d6c')
+ version("4.13.0", sha256="c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39")
+ version("4.12.0", sha256="566b797e8d78e3eb93946b923ef540ac61f50d4a17c9203d263c4fd5c39ab1d1")
+ version("4.11.1", sha256="b3bcc1255939f87b9ba18d802940e08c0cf6379ca6aeec1fef7bd169b0085d6c")
- variant('static_boost', default=False,
- description='Use also static boost libraries when compiling')
+ variant(
+ "static_boost", default=False, description="Use also static boost libraries when compiling"
+ )
- variant('ui', default=False, description='Enable ecflow_ui')
+ variant("ui", default=False, description="Enable ecflow_ui")
# Boost-1.7X release not working well on serialization
- depends_on('boost@1.53:1.69+python')
- depends_on('boost@1.53:1.69+pic', when='+static_boost')
+ depends_on("boost@1.53:1.69+python")
+ depends_on("boost@1.53:1.69+pic", when="+static_boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('qt@5:', when='+ui')
- depends_on('cmake@2.12.11:', type='build')
+ depends_on("qt@5:", when="+ui")
+ depends_on("cmake@2.12.11:", type="build")
def cmake_args(self):
- boost_lib = self.spec['boost'].prefix.lib
- args = ['-DBoost_PYTHON_LIBRARY_RELEASE=' + boost_lib]
+ boost_lib = self.spec["boost"].prefix.lib
+ args = ["-DBoost_PYTHON_LIBRARY_RELEASE=" + boost_lib]
- ecflow_ui = 'ON' if '+ui' in self.spec else 'OFF'
+ ecflow_ui = "ON" if "+ui" in self.spec else "OFF"
# https://jira.ecmwf.int/browse/SUP-2641#comment-208943
- use_static_boost = 'ON' if '+static_boost' in self.spec else 'OFF'
- args.append('-DENABLE_STATIC_BOOST_LIBS=' + use_static_boost)
+ use_static_boost = "ON" if "+static_boost" in self.spec else "OFF"
+ args.append("-DENABLE_STATIC_BOOST_LIBS=" + use_static_boost)
- args.extend(['-DENABLE_UI=' + ecflow_ui, '-DENABLE_GUI=' + ecflow_ui])
+ args.extend(["-DENABLE_UI=" + ecflow_ui, "-DENABLE_GUI=" + ecflow_ui])
return args
diff --git a/var/spack/repos/builtin/packages/eckit/package.py b/var/spack/repos/builtin/packages/eckit/package.py
index 410b9aaf23..52849a831c 100644
--- a/var/spack/repos/builtin/packages/eckit/package.py
+++ b/var/spack/repos/builtin/packages/eckit/package.py
@@ -10,79 +10,83 @@ class Eckit(CMakePackage):
"""ecKit is a cross-platform c++ toolkit that supports development of tools
and applications at ECMWF."""
- homepage = 'https://github.com/ecmwf/eckit'
- url = 'https://github.com/ecmwf/eckit/archive/refs/tags/1.16.0.tar.gz'
-
- maintainers = ['skosukhin']
-
- version('1.16.0', sha256='9e09161ea6955df693d3c9ac70131985eaf7cf24a9fa4d6263661c6814ebbaf1')
-
- variant('tools', default=True, description='Build the command line tools')
- variant('mpi', default=True, description='Enable MPI support')
- variant('admin', default=True,
- description='Build utilities for administration tools')
- variant('sql', default=True, description='Build SQL engine')
- variant('linalg',
- values=any_combination_of('eigen', 'armadillo', 'mkl', 'lapack'),
- description='List of supported linear algebra backends')
- variant('compression',
- values=any_combination_of('bzip2', 'snappy', 'lz4', 'aec'),
- description='List of supported compression backends')
- variant('xxhash', default=True,
- description='Enable xxHash support for hashing')
- variant('ssl', default=False,
- description='Enable MD4 and SHA1 support with OpenSSL')
- variant('curl', default=False,
- description='Enable URL data transferring with cURL')
- variant('jemalloc', default=False,
- description='Link against jemalloc memory allocator')
- variant('unicode', default=True,
- description='Enable support for Unicode characters in Yaml/JSON'
- 'parsers')
- variant('aio', default=True, description='Enable asynchronous IO')
-
- depends_on('cmake@3.12:', type='build')
- depends_on('ecbuild@3.5:', type='build')
-
- depends_on('mpi', when='+mpi')
-
- depends_on('yacc', type='build', when='+admin')
- depends_on('flex', type='build', when='+admin')
- depends_on('ncurses', when='+admin')
-
- depends_on('yacc', type='build', when='+sql')
- depends_on('flex', type='build', when='+sql')
-
- depends_on('eigen', when='linalg=eigen')
- depends_on('armadillo', when='linalg=armadillo')
- depends_on('mkl', when='linalg=mkl')
- depends_on('lapack', when='linalg=lapack')
-
- depends_on('bzip2', when='compression=bzip2')
- depends_on('snappy', when='compression=snappy')
- depends_on('lz4', when='compression=lz4')
- depends_on('libaec', when='compression=aec')
-
- depends_on('openssl', when='+ssl')
-
- depends_on('curl', when='+curl')
-
- depends_on('jemalloc', when='+jemalloc')
+ homepage = "https://github.com/ecmwf/eckit"
+ url = "https://github.com/ecmwf/eckit/archive/refs/tags/1.16.0.tar.gz"
+
+ maintainers = ["skosukhin"]
+
+ version("1.16.0", sha256="9e09161ea6955df693d3c9ac70131985eaf7cf24a9fa4d6263661c6814ebbaf1")
+
+ variant("tools", default=True, description="Build the command line tools")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("admin", default=True, description="Build utilities for administration tools")
+ variant("sql", default=True, description="Build SQL engine")
+ variant(
+ "linalg",
+ values=any_combination_of("eigen", "armadillo", "mkl", "lapack"),
+ description="List of supported linear algebra backends",
+ )
+ variant(
+ "compression",
+ values=any_combination_of("bzip2", "snappy", "lz4", "aec"),
+ description="List of supported compression backends",
+ )
+ variant("xxhash", default=True, description="Enable xxHash support for hashing")
+ variant("ssl", default=False, description="Enable MD4 and SHA1 support with OpenSSL")
+ variant("curl", default=False, description="Enable URL data transferring with cURL")
+ variant("jemalloc", default=False, description="Link against jemalloc memory allocator")
+ variant(
+ "unicode",
+ default=True,
+ description="Enable support for Unicode characters in Yaml/JSON" "parsers",
+ )
+ variant("aio", default=True, description="Enable asynchronous IO")
+
+ depends_on("cmake@3.12:", type="build")
+ depends_on("ecbuild@3.5:", type="build")
+
+ depends_on("mpi", when="+mpi")
+
+ depends_on("yacc", type="build", when="+admin")
+ depends_on("flex", type="build", when="+admin")
+ depends_on("ncurses", when="+admin")
+
+ depends_on("yacc", type="build", when="+sql")
+ depends_on("flex", type="build", when="+sql")
+
+ depends_on("eigen", when="linalg=eigen")
+ depends_on("armadillo", when="linalg=armadillo")
+ depends_on("mkl", when="linalg=mkl")
+ depends_on("lapack", when="linalg=lapack")
+
+ depends_on("bzip2", when="compression=bzip2")
+ depends_on("snappy", when="compression=snappy")
+ depends_on("lz4", when="compression=lz4")
+ depends_on("libaec", when="compression=aec")
+
+ depends_on("openssl", when="+ssl")
+
+ depends_on("curl", when="+curl")
+
+ depends_on("jemalloc", when="+jemalloc")
# The package enables LAPACK backend (together with MKL backend)
# when='linalg=mkl'. This leads to two identical installations when:
# eckit linalg=mkl
# eckit linalg=mkl,lapack
# We prevent that by introducing the following conflict:
- conflicts('linalg=lapack', when='linalg=mkl',
- msg='"linalg=lapack" is implied when "linalg=mkl" and '
- 'must not be specified additionally')
+ conflicts(
+ "linalg=lapack",
+ when="linalg=mkl",
+ msg='"linalg=lapack" is implied when "linalg=mkl" and '
+ "must not be specified additionally",
+ )
def cmake_args(self):
args = [
# Some features that we want to build are experimental:
- self.define('ENABLE_EXPERIMENTAL', True),
- self.define_from_variant('ENABLE_BUILD_TOOLS', 'tools'),
+ self.define("ENABLE_EXPERIMENTAL", True),
+ self.define_from_variant("ENABLE_BUILD_TOOLS", "tools"),
# We let ecBuild find the MPI library. We could help it by setting
# CMAKE_C_COMPILER to mpicc but that might give CMake a wrong
# impression that no additional flags are needed to link to
@@ -92,46 +96,45 @@ class Eckit(CMakePackage):
# libpthread but lead to overlinking to MPI libraries, which we
# currently prefer to avoid since ecBuild does the job in all known
# cases.
- self.define_from_variant('ENABLE_MPI', 'mpi'),
- self.define_from_variant('ENABLE_ECKIT_CMD', 'admin'),
- self.define_from_variant('ENABLE_ECKIT_SQL', 'sql'),
- self.define('ENABLE_EIGEN', 'linalg=eigen' in self.spec),
- self.define('ENABLE_ARMADILLO', 'linalg=armadillo' in self.spec),
- self.define('ENABLE_MKL', 'linalg=mkl' in self.spec),
- self.define('ENABLE_BZIP2', 'compression=bzip2' in self.spec),
- self.define('ENABLE_SNAPPY', 'compression=snappy' in self.spec),
- self.define('ENABLE_LZ4', 'compression=lz4' in self.spec),
- self.define('ENABLE_AEC', 'compression=aec' in self.spec),
- self.define_from_variant('ENABLE_XXHASH', 'xxhash'),
- self.define_from_variant('ENABLE_SSL', 'ssl'),
- self.define_from_variant('ENABLE_CURL', 'curl'),
- self.define_from_variant('ENABLE_JEMALLOC', 'jemalloc'),
- self.define_from_variant('ENABLE_UNICODE', 'unicode'),
- self.define_from_variant('ENABLE_AIO', 'aio'),
- self.define('ENABLE_TESTS', self.run_tests),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
+ self.define_from_variant("ENABLE_ECKIT_CMD", "admin"),
+ self.define_from_variant("ENABLE_ECKIT_SQL", "sql"),
+ self.define("ENABLE_EIGEN", "linalg=eigen" in self.spec),
+ self.define("ENABLE_ARMADILLO", "linalg=armadillo" in self.spec),
+ self.define("ENABLE_MKL", "linalg=mkl" in self.spec),
+ self.define("ENABLE_BZIP2", "compression=bzip2" in self.spec),
+ self.define("ENABLE_SNAPPY", "compression=snappy" in self.spec),
+ self.define("ENABLE_LZ4", "compression=lz4" in self.spec),
+ self.define("ENABLE_AEC", "compression=aec" in self.spec),
+ self.define_from_variant("ENABLE_XXHASH", "xxhash"),
+ self.define_from_variant("ENABLE_SSL", "ssl"),
+ self.define_from_variant("ENABLE_CURL", "curl"),
+ self.define_from_variant("ENABLE_JEMALLOC", "jemalloc"),
+ self.define_from_variant("ENABLE_UNICODE", "unicode"),
+ self.define_from_variant("ENABLE_AIO", "aio"),
+ self.define("ENABLE_TESTS", self.run_tests),
# Unconditionally disable additional unit/performance tests, since
# they download additional data (~1.6GB):
- self.define('ENABLE_EXTRA_TESTS', False),
+ self.define("ENABLE_EXTRA_TESTS", False),
# No reason to check for doxygen and generate the documentation
# since it is not installed:
- self.define('ENABLE_DOCS', False),
+ self.define("ENABLE_DOCS", False),
# Disable features that are currently not needed:
- self.define('ENABLE_CUDA', False),
- self.define('ENABLE_VIENNACL', False),
+ self.define("ENABLE_CUDA", False),
+ self.define("ENABLE_VIENNACL", False),
# Ceph/Rados storage support requires https://github.com/ceph/ceph
# and will be added later:
- self.define('ENABLE_RADOS', False),
+ self.define("ENABLE_RADOS", False),
# rsync support requires https://github.com/librsync/librsync and
# will be added later:
- self.define('ENABLE_RSYNC', False),
+ self.define("ENABLE_RSYNC", False),
# Disable "prototyping code that may never see the light of day":
- self.define('ENABLE_SANDBOX', False)
+ self.define("ENABLE_SANDBOX", False),
]
- if 'linalg=mkl' not in self.spec:
+ if "linalg=mkl" not in self.spec:
# ENABLE_LAPACK is ignored if MKL backend is enabled
# (the LAPACK backend is still built though):
- args.append(
- self.define('ENABLE_LAPACK', 'linalg=lapack' in self.spec))
+ args.append(self.define("ENABLE_LAPACK", "linalg=lapack" in self.spec))
return args
diff --git a/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py b/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py
index 2ca6a2c191..04498e3cd5 100644
--- a/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py
+++ b/var/spack/repos/builtin/packages/eclipse-gcj-parser/package.py
@@ -18,12 +18,16 @@ class EclipseGcjParser(Package):
# Official download found at (see ecj-4.8M4.jar and ecjsrc-4.8M4.jar)
# http://download.eclipse.org/eclipse/downloads/drops4/S-4.8M4-201712062000/
- maintainers = ['citibeth']
+ maintainers = ["citibeth"]
# The server is sometimes a bit slow to respond
- fetch_options = {'timeout': 60}
+ fetch_options = {"timeout": 60}
- version('4.8', sha256='98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781', expand=False)
+ version(
+ "4.8",
+ sha256="98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781",
+ expand=False,
+ )
@property
def gcj(self):
@@ -32,15 +36,14 @@ class EclipseGcjParser(Package):
included in their names."""
dir, gcc = os.path.split(str(self.compiler.cc))
- if 'gcc' not in gcc:
- raise ValueError(
- 'Package {0} requires GCC to build'.format(self.name))
+ if "gcc" not in gcc:
+ raise ValueError("Package {0} requires GCC to build".format(self.name))
- return Executable(join_path(dir, gcc.replace('gcc', 'gcj')))
+ return Executable(join_path(dir, gcc.replace("gcc", "gcj")))
def install(self, spec, prefix):
- self.gcj('-o', 'ecj1',
- '--main=org.eclipse.jdt.internal.compiler.batch.GCCMain',
- 'ecj-4.8.jar')
+ self.gcj(
+ "-o", "ecj1", "--main=org.eclipse.jdt.internal.compiler.batch.GCCMain", "ecj-4.8.jar"
+ )
mkdirp(spec.prefix.bin)
- install('ecj1', spec.prefix.bin)
+ install("ecj1", spec.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ecos/package.py b/var/spack/repos/builtin/packages/ecos/package.py
index 9f34d08670..5c409cd425 100644
--- a/var/spack/repos/builtin/packages/ecos/package.py
+++ b/var/spack/repos/builtin/packages/ecos/package.py
@@ -11,20 +11,20 @@ class Ecos(MakefilePackage):
"""A lightweight conic solver for second-order cone programming."""
homepage = "https://github.com/embotech/ecos"
- url = "https://github.com/embotech/ecos/archive/2.0.7.tar.gz"
+ url = "https://github.com/embotech/ecos/archive/2.0.7.tar.gz"
- version('2.0.7', sha256='bdb6a84f7d150820459bd0a796cb64ffbb019afb95dc456d22acc2dafb2e70e0')
+ version("2.0.7", sha256="bdb6a84f7d150820459bd0a796cb64ffbb019afb95dc456d22acc2dafb2e70e0")
- build_targets = ['all', 'shared']
+ build_targets = ["all", "shared"]
def install(self, spec, prefix):
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
mkdir(prefix.lib)
- install('libecos.a', prefix.lib)
- install('libecos_bb.a', prefix.lib)
- install('libecos.so', prefix.lib)
+ install("libecos.a", prefix.lib)
+ install("libecos_bb.a", prefix.lib)
+ install("libecos.so", prefix.lib)
mkdir(prefix.bin)
- install('runecos', prefix.bin)
- install('runecosexp', prefix.bin)
+ install("runecos", prefix.bin)
+ install("runecosexp", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ecoslim/package.py b/var/spack/repos/builtin/packages/ecoslim/package.py
index cff8058289..3feae77114 100644
--- a/var/spack/repos/builtin/packages/ecoslim/package.py
+++ b/var/spack/repos/builtin/packages/ecoslim/package.py
@@ -12,13 +12,13 @@ class Ecoslim(CMakePackage):
integrates seamlessly with ParFlow-CLM."""
homepage = "https://github.com/reedmaxwell/EcoSLIM"
- url = "https://github.com/reedmaxwell/EcoSLIM/archive/refs/tags/v1.3.tar.gz"
- git = "https://github.com/reedmaxwell/EcoSLIM.git"
+ url = "https://github.com/reedmaxwell/EcoSLIM/archive/refs/tags/v1.3.tar.gz"
+ git = "https://github.com/reedmaxwell/EcoSLIM.git"
- maintainers = ['reedmaxwell', 'lecondon', 'smithsg84']
+ maintainers = ["reedmaxwell", "lecondon", "smithsg84"]
- version('1.3', sha256='b532e570b4767e4fa84123d8773732150679e8e3d7fecd5c6e99fb1d4dc57b84')
- version('master', branch='master')
+ version("1.3", sha256="b532e570b4767e4fa84123d8773732150679e8e3d7fecd5c6e99fb1d4dc57b84")
+ version("master", branch="master")
def cmake_args(self):
"""Populate cmake arguments for EcoSLIM."""
diff --git a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
index 1ebbe4963f..68eab92d27 100644
--- a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
+++ b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
@@ -15,11 +15,11 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
# ie. A +c ~b -> A
spec = Spec(spec).name
- if '+' in when and len(when.split()) == 1:
- when_not = when.replace('+', '~')
+ if "+" in when and len(when.split()) == 1:
+ when_not = when.replace("+", "~")
# If the package is in the spec tree then it must
# be enabled in the SDK.
- conflicts(when_not, '^' + spec)
+ conflicts(when_not, "^" + spec)
# Skip if there is nothing to propagate
if not propagate:
@@ -30,23 +30,24 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
propagate = dict([(v, v) for v in propagate])
# Determine the base variant
- base_variant = ''
+ base_variant = ""
if when:
base_variant = when
def is_boolean(variant):
- return '=' not in variant
+ return "=" not in variant
# Propagate variants to dependecy
for v_when, v_then in propagate.items():
if is_boolean(v_when):
- depends_on('{0} +{1}'.format(spec, v_then),
- when='{0} +{1}'.format(base_variant, v_when))
- depends_on('{0} ~{1}'.format(spec, v_then),
- when='{0} ~{1}'.format(base_variant, v_when))
+ depends_on(
+ "{0} +{1}".format(spec, v_then), when="{0} +{1}".format(base_variant, v_when)
+ )
+ depends_on(
+ "{0} ~{1}".format(spec, v_then), when="{0} ~{1}".format(base_variant, v_when)
+ )
else:
- depends_on('{0} {1}'.format(spec, v_then),
- when='{0} {1}'.format(base_variant, v_when))
+ depends_on("{0} {1}".format(spec, v_then), when="{0} {1}".format(base_variant, v_when))
def exclude_variants(variants, exclude):
@@ -58,115 +59,112 @@ class EcpDataVisSdk(BundlePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/chuckatkins/ecp-data-viz-sdk"
- tags = ['ecp']
- maintainers = ['chuckatkins', 'kwryankrattiger']
+ tags = ["ecp"]
+ maintainers = ["chuckatkins", "kwryankrattiger"]
- version('1.0')
+ version("1.0")
############################################################
# Variants
############################################################
# I/O
- variant('adios2', default=False, description="Enable ADIOS2")
- variant('darshan', default=False, description="Enable Darshan")
- variant('faodel', default=False, description="Enable FAODEL")
- variant('hdf5', default=False, description="Enable HDF5")
- variant('pnetcdf', default=False, description="Enable PNetCDF")
- variant('unifyfs', default=False, description="Enable UnifyFS")
- variant('veloc', default=False, description="Enable VeloC")
+ variant("adios2", default=False, description="Enable ADIOS2")
+ variant("darshan", default=False, description="Enable Darshan")
+ variant("faodel", default=False, description="Enable FAODEL")
+ variant("hdf5", default=False, description="Enable HDF5")
+ variant("pnetcdf", default=False, description="Enable PNetCDF")
+ variant("unifyfs", default=False, description="Enable UnifyFS")
+ variant("veloc", default=False, description="Enable VeloC")
# Vis
- variant('ascent', default=False, description="Enable Ascent")
- variant('cinema', default=False, description="Enable Cinema")
- variant('paraview', default=False, description="Enable ParaView")
- variant('sz', default=False, description="Enable SZ")
- variant('visit', default=False, description="Enable VisIt")
- variant('vtkm', default=False, description="Enable VTK-m")
- variant('zfp', default=False, description="Enable ZFP")
+ variant("ascent", default=False, description="Enable Ascent")
+ variant("cinema", default=False, description="Enable Cinema")
+ variant("paraview", default=False, description="Enable ParaView")
+ variant("sz", default=False, description="Enable SZ")
+ variant("visit", default=False, description="Enable VisIt")
+ variant("vtkm", default=False, description="Enable VTK-m")
+ variant("zfp", default=False, description="Enable ZFP")
# Outstanding build issues
- variant('sensei', default=False, description="Enable Sensei")
- conflicts('+sensei')
+ variant("sensei", default=False, description="Enable Sensei")
+ conflicts("+sensei")
############################################################
# Dependencies
############################################################
- cuda_arch_variants = ['cuda_arch={0}'.format(x)
- for x in CudaPackage.cuda_arch_values]
- amdgpu_target_variants = ['amdgpu_target={0}'.format(x)
- for x in ROCmPackage.amdgpu_targets]
+ cuda_arch_variants = ["cuda_arch={0}".format(x) for x in CudaPackage.cuda_arch_values]
+ amdgpu_target_variants = ["amdgpu_target={0}".format(x) for x in ROCmPackage.amdgpu_targets]
- dav_sdk_depends_on('adios2+shared+mpi+fortran+python+blosc+sst+ssc+dataman',
- when='+adios2',
- propagate=['hdf5', 'sz', 'zfp'])
+ dav_sdk_depends_on(
+ "adios2+shared+mpi+fortran+python+blosc+sst+ssc+dataman",
+ when="+adios2",
+ propagate=["hdf5", "sz", "zfp"],
+ )
- dav_sdk_depends_on('darshan-runtime+mpi',
- when='+darshan',
- propagate=['hdf5'])
- dav_sdk_depends_on('darshan-util', when='+darshan')
+ dav_sdk_depends_on("darshan-runtime+mpi", when="+darshan", propagate=["hdf5"])
+ dav_sdk_depends_on("darshan-util", when="+darshan")
- dav_sdk_depends_on('faodel+shared+mpi network=libfabric',
- when='+faodel',
- propagate=['hdf5'])
+ dav_sdk_depends_on("faodel+shared+mpi network=libfabric", when="+faodel", propagate=["hdf5"])
- dav_sdk_depends_on('hdf5@1.12: +shared+mpi+fortran', when='+hdf5')
+ dav_sdk_depends_on("hdf5@1.12: +shared+mpi+fortran", when="+hdf5")
- dav_sdk_depends_on('parallel-netcdf+shared+fortran', when='+pnetcdf')
+ dav_sdk_depends_on("parallel-netcdf+shared+fortran", when="+pnetcdf")
- dav_sdk_depends_on('unifyfs', when='+unifyfs ')
+ dav_sdk_depends_on("unifyfs", when="+unifyfs ")
- dav_sdk_depends_on('veloc', when='+veloc')
+ dav_sdk_depends_on("veloc", when="+veloc")
# Currenly only develop has necessary patches. Update this after SC21 release
- propagate_to_sensei = [(v, v) for v in ['adios2', 'ascent', 'hdf5', 'vtkm']]
- propagate_to_sensei.extend([('paraview', 'catalyst'), ('visit', 'libsim')])
- dav_sdk_depends_on('sensei@develop +vtkio +python ~miniapps', when='+sensei',
- propagate=dict(propagate_to_sensei))
+ propagate_to_sensei = [(v, v) for v in ["adios2", "ascent", "hdf5", "vtkm"]]
+ propagate_to_sensei.extend([("paraview", "catalyst"), ("visit", "libsim")])
+ dav_sdk_depends_on(
+ "sensei@develop +vtkio +python ~miniapps",
+ when="+sensei",
+ propagate=dict(propagate_to_sensei),
+ )
# Fortran support with ascent is problematic on some Cray platforms so the
# SDK is explicitly disabling it until the issues are resolved.
- dav_sdk_depends_on('ascent+mpi~fortran+openmp+python+shared+vtkh+dray~test',
- when='+ascent',
- propagate=['adios2', 'cuda'] + cuda_arch_variants)
+ dav_sdk_depends_on(
+ "ascent+mpi~fortran+openmp+python+shared+vtkh+dray~test",
+ when="+ascent",
+ propagate=["adios2", "cuda"] + cuda_arch_variants,
+ )
# Need to explicitly turn off conduit hdf5_compat in order to build
# hdf5@1.12 which is required for SDK
- depends_on('ascent ^conduit ~hdf5_compat', when='+ascent +hdf5')
+ depends_on("ascent ^conduit ~hdf5_compat", when="+ascent +hdf5")
# Disable configuring with @develop. This should be removed after ascent
# releases 0.8 and ascent can build with conduit@0.8: and vtk-m@1.7:
- conflicts('ascent@develop', when='+ascent')
+ conflicts("ascent@develop", when="+ascent")
- depends_on('py-cinemasci', when='+cinema')
+ depends_on("py-cinemasci", when="+cinema")
- dav_sdk_depends_on('paraview@5.10:+mpi+python3+kits+shared',
- when='+paraview',
- propagate=['hdf5', 'adios2'])
+ dav_sdk_depends_on(
+ "paraview@5.10:+mpi+python3+kits+shared", when="+paraview", propagate=["hdf5", "adios2"]
+ )
# ParaView needs @5.11: in order to use cuda and be compatible with other
# SDK packages.
- depends_on('paraview +cuda', when='+paraview +cuda ^paraview@5.11:')
+ depends_on("paraview +cuda", when="+paraview +cuda ^paraview@5.11:")
for cuda_arch in cuda_arch_variants:
- depends_on('paraview {0}'.format(cuda_arch),
- when='+paraview {0} ^paraview@5.11:'.format(cuda_arch))
- depends_on('paraview ~cuda', when='+paraview ~cuda')
- conflicts('paraview@master', when='+paraview')
+ depends_on(
+ "paraview {0}".format(cuda_arch),
+ when="+paraview {0} ^paraview@5.11:".format(cuda_arch),
+ )
+ depends_on("paraview ~cuda", when="+paraview ~cuda")
+ conflicts("paraview@master", when="+paraview")
- dav_sdk_depends_on('visit+mpi+python+silo',
- when='+visit',
- propagate=['hdf5', 'adios2'])
+ dav_sdk_depends_on("visit+mpi+python+silo", when="+visit", propagate=["hdf5", "adios2"])
- dav_sdk_depends_on('vtk-m@1.7:+shared+mpi+openmp+rendering',
- when='+vtkm',
- propagate=['cuda', 'rocm']
- + cuda_arch_variants
- + amdgpu_target_variants)
+ dav_sdk_depends_on(
+ "vtk-m@1.7:+shared+mpi+openmp+rendering",
+ when="+vtkm",
+ propagate=["cuda", "rocm"] + cuda_arch_variants + amdgpu_target_variants,
+ )
# +python is currently broken in sz
# dav_sdk_depends_on('sz+shared+fortran+python+random_access',
- dav_sdk_depends_on('sz+shared+fortran+random_access',
- when='+sz',
- propagate=['hdf5'])
+ dav_sdk_depends_on("sz+shared+fortran+random_access", when="+sz", propagate=["hdf5"])
- dav_sdk_depends_on('zfp',
- when='+zfp',
- propagate=['cuda'] + cuda_arch_variants)
+ dav_sdk_depends_on("zfp", when="+zfp", propagate=["cuda"] + cuda_arch_variants)
diff --git a/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py
index 8ce91e2be9..3703a0d1a4 100644
--- a/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py
+++ b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py
@@ -9,80 +9,78 @@ from spack.package import *
class EcpProxyApps(BundlePackage):
"""This is a collection of packages that represents the official suite of
- DOE/ECP proxy applications. This is a Spack bundle package that
- installs the ECP proxy application suite.
+ DOE/ECP proxy applications. This is a Spack bundle package that
+ installs the ECP proxy application suite.
"""
- tags = ['proxy-app', 'ecp-proxy-app']
- maintainers = ['rspavel']
+ tags = ["proxy-app", "ecp-proxy-app"]
+ maintainers = ["rspavel"]
homepage = "https://proxyapps.exascaleproject.org"
- version('4.0')
- version('3.0')
- version('2.1')
- version('2.0')
- version('1.1')
- version('1.0')
+ version("4.0")
+ version("3.0")
+ version("2.1")
+ version("2.0")
+ version("1.1")
+ version("1.0")
- variant('candle', default=False,
- description='Also build CANDLE Benchmarks')
- variant('ml', default=False,
- description='Also build Machine Learning Suite')
+ variant("candle", default=False, description="Also build CANDLE Benchmarks")
+ variant("ml", default=False, description="Also build Machine Learning Suite")
# Added as part of ML Suite with 4.0
- depends_on('minigan@1.0.0', when='+ml @4.0:')
- depends_on('cradl@master', when='+ml @4.0:')
- depends_on('cosmoflow-benchmark@master', when='+ml @4.0:')
- depends_on('mlperf-deepcam@master', when='+ml @4.0:')
+ depends_on("minigan@1.0.0", when="+ml @4.0:")
+ depends_on("cradl@master", when="+ml @4.0:")
+ depends_on("cosmoflow-benchmark@master", when="+ml @4.0:")
+ depends_on("mlperf-deepcam@master", when="+ml @4.0:")
# Added with release 4.0
- depends_on('miniamr@1.6.4', when='@4.0:')
+ depends_on("miniamr@1.6.4", when="@4.0:")
# Added with release 3.0
- depends_on('miniamr@1.4.4', when='@3.0:3.1')
- depends_on('xsbench@19', when='@3.0:')
- depends_on('laghos@3.0', when='@3.0:')
+ depends_on("miniamr@1.4.4", when="@3.0:3.1")
+ depends_on("xsbench@19", when="@3.0:")
+ depends_on("laghos@3.0", when="@3.0:")
# Added with release 2.1
- depends_on('amg@1.2', when='@2.1:')
- depends_on('miniamr@1.4.3', when='@2.1')
+ depends_on("amg@1.2", when="@2.1:")
+ depends_on("miniamr@1.4.3", when="@2.1")
# Added with release 2.0
- depends_on('ember@1.0.0', when='@2.0:')
- depends_on('miniqmc@0.4.0', when='@2.0:')
- depends_on('minivite@1.0', when='@2.0:')
- depends_on('picsarlite@0.1', when='@2.0:')
- depends_on('thornado-mini@1.0', when='@2.0:')
-
- depends_on('candle-benchmarks@0.1', when='+candle @2.0:2.1')
- depends_on('laghos@2.0', when='@2.0:2.1')
- depends_on('macsio@1.1', when='@2.0:')
- depends_on('sw4lite@1.1', when='@2.0:')
- depends_on('xsbench@18', when='@2.0:2.1')
+ depends_on("ember@1.0.0", when="@2.0:")
+ depends_on("miniqmc@0.4.0", when="@2.0:")
+ depends_on("minivite@1.0", when="@2.0:")
+ depends_on("picsarlite@0.1", when="@2.0:")
+ depends_on("thornado-mini@1.0", when="@2.0:")
+
+ depends_on("candle-benchmarks@0.1", when="+candle @2.0:2.1")
+ depends_on("laghos@2.0", when="@2.0:2.1")
+ depends_on("macsio@1.1", when="@2.0:")
+ depends_on("sw4lite@1.1", when="@2.0:")
+ depends_on("xsbench@18", when="@2.0:2.1")
# Dependencies for version 2.0
- depends_on('amg@1.1', when='@2.0')
- depends_on('miniamr@1.4.1', when='@2.0:2.1')
+ depends_on("amg@1.1", when="@2.0")
+ depends_on("miniamr@1.4.1", when="@2.0:2.1")
# Added with release 1.1
- depends_on('examinimd@1.0', when='@1.1:')
+ depends_on("examinimd@1.0", when="@1.1:")
- depends_on('nekbone@17.0', when='@1.0:')
- depends_on('swfft@1.0', when='@1.0:')
+ depends_on("nekbone@17.0", when="@1.0:")
+ depends_on("swfft@1.0", when="@1.0:")
# Dependencies for versions 1.0:1.1
- depends_on('amg@1.0', when='@1.0:1.1')
- depends_on('candle-benchmarks@0.0', when='+candle @1.0:1.1')
- depends_on('laghos@1.0', when='@1.0:1.1')
- depends_on('macsio@1.0', when='@1.0:1.1')
- depends_on('miniamr@1.4.0', when='@1.0:1.1')
- depends_on('sw4lite@1.0', when='@1.0:1.1')
- depends_on('xsbench@14', when='@1.0:1.1')
+ depends_on("amg@1.0", when="@1.0:1.1")
+ depends_on("candle-benchmarks@0.0", when="+candle @1.0:1.1")
+ depends_on("laghos@1.0", when="@1.0:1.1")
+ depends_on("macsio@1.0", when="@1.0:1.1")
+ depends_on("miniamr@1.4.0", when="@1.0:1.1")
+ depends_on("sw4lite@1.0", when="@1.0:1.1")
+ depends_on("xsbench@14", when="@1.0:1.1")
# Removed after release 1.1
- depends_on('minife@2.1.0', when='@1.0:1.1')
- depends_on('minitri@1.0', when='@1.0:1.1')
+ depends_on("minife@2.1.0", when="@1.0:1.1")
+ depends_on("minitri@1.0", when="@1.0:1.1")
# Removed after release 1.0
- depends_on('comd@1.1', when='@1.0')
+ depends_on("comd@1.1", when="@1.0")
diff --git a/var/spack/repos/builtin/packages/ed/package.py b/var/spack/repos/builtin/packages/ed/package.py
index 96735c1f08..3d4142dda2 100644
--- a/var/spack/repos/builtin/packages/ed/package.py
+++ b/var/spack/repos/builtin/packages/ed/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Ed(AutotoolsPackage, GNUMirrorPackage):
"""GNU ed is a line-oriented text editor. It is used to create,
- display, modify and otherwise manipulate text files, both
- interactively and via shell scripts."""
+ display, modify and otherwise manipulate text files, both
+ interactively and via shell scripts."""
homepage = "https://www.gnu.org/software/ed"
gnu_mirror_path = "ed/ed-1.4.tar.gz"
- version('1.4', sha256='db36da85ee1a9d8bafb4b041bd4c8c11becba0c43ec446353b67045de1634fda')
+ version("1.4", sha256="db36da85ee1a9d8bafb4b041bd4c8c11becba0c43ec446353b67045de1634fda")
parallel = False
diff --git a/var/spack/repos/builtin/packages/editline/package.py b/var/spack/repos/builtin/packages/editline/package.py
index f3f0195799..fd1aeecbb4 100644
--- a/var/spack/repos/builtin/packages/editline/package.py
+++ b/var/spack/repos/builtin/packages/editline/package.py
@@ -10,12 +10,12 @@ class Editline(AutotoolsPackage):
"""A readline() replacement for UNIX without termcap (ncurses)"""
homepage = "https://troglobit.com/editline.html"
- url = "https://github.com/troglobit/editline/archive/1.16.0.tar.gz"
+ url = "https://github.com/troglobit/editline/archive/1.16.0.tar.gz"
- version('1.16.0', sha256='33421a1569d025f332a87054bfea28e2c757bdb573f1437bc22c34b798b6383c')
+ version("1.16.0", sha256="33421a1569d025f332a87054bfea28e2c757bdb573f1437bc22c34b798b6383c")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('ncurses')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("ncurses")
diff --git a/var/spack/repos/builtin/packages/editres/package.py b/var/spack/repos/builtin/packages/editres/package.py
index b9ac8e18a6..1f785f7efe 100644
--- a/var/spack/repos/builtin/packages/editres/package.py
+++ b/var/spack/repos/builtin/packages/editres/package.py
@@ -12,12 +12,12 @@ class Editres(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/editres"
xorg_mirror_path = "app/editres-1.0.6.tar.gz"
- version('1.0.6', sha256='85f4664ca582effb01ee972d006124569b757b9a08ae6608c3f45fc36b3b7b1a')
+ version("1.0.6", sha256="85f4664ca582effb01ee972d006124569b757b9a08ae6608c3f45fc36b3b7b1a")
- depends_on('libxaw')
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxmu')
+ depends_on("libxaw")
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxmu")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/edm4hep/package.py b/var/spack/repos/builtin/packages/edm4hep/package.py
index 918b97d026..a622ce53ca 100644
--- a/var/spack/repos/builtin/packages/edm4hep/package.py
+++ b/var/spack/repos/builtin/packages/edm4hep/package.py
@@ -14,47 +14,48 @@ class Edm4hep(CMakePackage):
url = "https://github.com/key4hep/EDM4hep/archive/v00-01.tar.gz"
git = "https://github.com/key4hep/EDM4hep.git"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
tags = ["hep", "key4hep"]
- version('master', branch='master')
- version('0.5', sha256='aae4f001412d57585751d858999fe78e004755aa0303a503d503a325ef97d7e0')
- version('0.4.2', sha256='5f2ff3a14729cbd4da370c7c768c2a09eb9f68f814d61690b1cc99c4248994f4')
- version('0.4.1', sha256='122987fd5969b0f1639afa9668ac5181203746d00617ddb3bf8a2a9842758a63')
- version('0.4', sha256='bcb729cd4a6f5917b8f073364fc950788111e178dd16b7e5218361f459c92a24')
- version('0.3.2', sha256='b6a28649a4ba9ec1c4423bd1397b0a810ca97374305c4856186b506e4c00f769')
- version('0.3.1', sha256='eeec38fe7d72d2a72f07a63dca0a34ca7203727f67869c0abf6bef014b8b319b')
- version('0.3', sha256='d0ad8a486c3ed1659ea97d47b268fe56718fdb389b5935f23ba93804e4d5fbc5')
-
- patch('test-deps.patch', when='@:0.3.2')
-
- variant('cxxstd',
- default='17',
- values=('17',),
- multi=False,
- description='Use the specified C++ standard when building.')
-
- depends_on('cmake@3.3:', type='build')
- depends_on('python', type='build')
-
- depends_on('root@6.08:')
- depends_on('podio@0.14.1:', when='@0.4.1:')
- depends_on('podio@0.14', when='@0.4')
- depends_on('podio@0.13.0:0.13', when='@:0.3')
- depends_on('py-jinja2', type='build')
- depends_on('py-pyyaml', type='build')
-
- depends_on('hepmc@:2', type='test', when='@:0.4.0')
- depends_on('hepmc3', type='test', when='@0.4.1:')
- depends_on('heppdt', type='test')
- depends_on('catch2@3.0.1:', type='test')
+ version("master", branch="master")
+ version("0.5", sha256="aae4f001412d57585751d858999fe78e004755aa0303a503d503a325ef97d7e0")
+ version("0.4.2", sha256="5f2ff3a14729cbd4da370c7c768c2a09eb9f68f814d61690b1cc99c4248994f4")
+ version("0.4.1", sha256="122987fd5969b0f1639afa9668ac5181203746d00617ddb3bf8a2a9842758a63")
+ version("0.4", sha256="bcb729cd4a6f5917b8f073364fc950788111e178dd16b7e5218361f459c92a24")
+ version("0.3.2", sha256="b6a28649a4ba9ec1c4423bd1397b0a810ca97374305c4856186b506e4c00f769")
+ version("0.3.1", sha256="eeec38fe7d72d2a72f07a63dca0a34ca7203727f67869c0abf6bef014b8b319b")
+ version("0.3", sha256="d0ad8a486c3ed1659ea97d47b268fe56718fdb389b5935f23ba93804e4d5fbc5")
+
+ patch("test-deps.patch", when="@:0.3.2")
+
+ variant(
+ "cxxstd",
+ default="17",
+ values=("17",),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+
+ depends_on("cmake@3.3:", type="build")
+ depends_on("python", type="build")
+
+ depends_on("root@6.08:")
+ depends_on("podio@0.14.1:", when="@0.4.1:")
+ depends_on("podio@0.14", when="@0.4")
+ depends_on("podio@0.13.0:0.13", when="@:0.3")
+ depends_on("py-jinja2", type="build")
+ depends_on("py-pyyaml", type="build")
+
+ depends_on("hepmc@:2", type="test", when="@:0.4.0")
+ depends_on("hepmc3", type="test", when="@0.4.1:")
+ depends_on("heppdt", type="test")
+ depends_on("catch2@3.0.1:", type="test")
def cmake_args(self):
args = []
# C++ Standard
- args.append(self.define('CMAKE_CXX_STANDARD',
- self.spec.variants['cxxstd'].value))
+ args.append(self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value))
args.append(self.define("BUILD_TESTING", self.run_tests))
return args
@@ -69,7 +70,7 @@ class Edm4hep(CMakePackage):
:param version: version
:type param: str
"""
- base_url = self.url.rsplit('/', 1)[0]
+ base_url = self.url.rsplit("/", 1)[0]
if len(version) == 1:
major = version[0]
@@ -83,8 +84,8 @@ class Edm4hep(CMakePackage):
# By now the data is normalized enough to handle it easily depending
# on the value of the patch version
if patch == 0:
- version_str = 'v%02d-%02d.tar.gz' % (major, minor)
+ version_str = "v%02d-%02d.tar.gz" % (major, minor)
else:
- version_str = 'v%02d-%02d-%02d.tar.gz' % (major, minor, patch)
+ version_str = "v%02d-%02d-%02d.tar.gz" % (major, minor, patch)
- return base_url + '/' + version_str
+ return base_url + "/" + version_str
diff --git a/var/spack/repos/builtin/packages/eem/package.py b/var/spack/repos/builtin/packages/eem/package.py
index 776190ce79..0c830596a1 100644
--- a/var/spack/repos/builtin/packages/eem/package.py
+++ b/var/spack/repos/builtin/packages/eem/package.py
@@ -8,31 +8,32 @@ from spack.package import *
class Eem(MakefilePackage):
"""EEM is a program to extract the gene group and expression modules
- that are co-expressed in the mRNA expression data."""
+ that are co-expressed in the mRNA expression data."""
homepage = "http://www.scls.riken.jp/scruise/software/eem.html"
- url = "http://www.scls.riken.jp/wp-content/uploads/2014/07/eemParallel_1.0.1.tar.gz"
+ url = "http://www.scls.riken.jp/wp-content/uploads/2014/07/eemParallel_1.0.1.tar.gz"
- version('1.0.1', sha256='f617ea7350fce3b2581c814f70bda4427cbab83aac54a2dcadb36e8193f300bb')
+ version("1.0.1", sha256="f617ea7350fce3b2581c814f70bda4427cbab83aac54a2dcadb36e8193f300bb")
- variant('K', default=False, description='Build for K computer')
+ variant("K", default=False, description="Build for K computer")
- depends_on('mpi')
+ depends_on("mpi")
- build_directory = 'src'
+ build_directory = "src"
- patch('add_include.patch')
+ patch("add_include.patch")
def edit(self, spec, prefix):
- settings = FileFilter('./src/local_settings.mk')
-
- settings.filter('$(HOME)/local', prefix, string=True)
- settings.filter('mpicxx', self.spec['mpi'].mpicxx, string=True)
-
- if '+K' in self.spec:
- settings.filter('CXXFLAGS= -Wall -Wno-sign-compare -g',
- 'CXXFLAGS=', string=True)
- settings.filter('CXXFLAGS+= -std=c++11 -DHAVE_UNORDERED_MAP',
- 'CXXFLAGS+= -DHAVE_UNORDERED_MAP', string=True)
- settings.filter('CXXFLAGS+= -DHAVE_SHUFFLE',
- '#CXXFLAGS+= -DHAVE_SHUFFLE', string=True)
+ settings = FileFilter("./src/local_settings.mk")
+
+ settings.filter("$(HOME)/local", prefix, string=True)
+ settings.filter("mpicxx", self.spec["mpi"].mpicxx, string=True)
+
+ if "+K" in self.spec:
+ settings.filter("CXXFLAGS= -Wall -Wno-sign-compare -g", "CXXFLAGS=", string=True)
+ settings.filter(
+ "CXXFLAGS+= -std=c++11 -DHAVE_UNORDERED_MAP",
+ "CXXFLAGS+= -DHAVE_UNORDERED_MAP",
+ string=True,
+ )
+ settings.filter("CXXFLAGS+= -DHAVE_SHUFFLE", "#CXXFLAGS+= -DHAVE_SHUFFLE", string=True)
diff --git a/var/spack/repos/builtin/packages/efivar/package.py b/var/spack/repos/builtin/packages/efivar/package.py
index 25a12aea4a..7fd5c591b4 100644
--- a/var/spack/repos/builtin/packages/efivar/package.py
+++ b/var/spack/repos/builtin/packages/efivar/package.py
@@ -10,11 +10,11 @@ class Efivar(MakefilePackage):
"""Tools and libraries to work with EFI variables"""
homepage = "https://github.com/rhboot/efivar"
- url = "https://github.com/rhboot/efivar/archive/37.tar.gz"
+ url = "https://github.com/rhboot/efivar/archive/37.tar.gz"
- version('37', sha256='74c52b4f479120fb6639e753e71163ba3f557a7a67c0be225593f9f05b253f36')
- version('36', sha256='24ed0cafbaf6d913e8f60e5da3cbbac1a1578e16cf5c95b21f2eb6753c13173f')
- version('35', sha256='747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292')
+ version("37", sha256="74c52b4f479120fb6639e753e71163ba3f557a7a67c0be225593f9f05b253f36")
+ version("36", sha256="24ed0cafbaf6d913e8f60e5da3cbbac1a1578e16cf5c95b21f2eb6753c13173f")
+ version("35", sha256="747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py
index f5f3117792..c6dff282dc 100644
--- a/var/spack/repos/builtin/packages/eigen/package.py
+++ b/var/spack/repos/builtin/packages/eigen/package.py
@@ -12,59 +12,68 @@ class Eigen(CMakePackage):
vectors, numerical solvers, and related algorithms.
"""
- homepage = 'https://eigen.tuxfamily.org/'
- url = 'https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz'
- maintainers = ['HaoZeke']
+ homepage = "https://eigen.tuxfamily.org/"
+ url = "https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz"
+ maintainers = ["HaoZeke"]
- version('3.4.0', sha256='8586084f71f9bde545ee7fa6d00288b264a2b7ac3607b974e54d13e7162c1c72')
- version('3.3.9', sha256='7985975b787340124786f092b3a07d594b2e9cd53bbfe5f3d9b1daee7d55f56f')
- version('3.3.8', sha256='146a480b8ed1fb6ac7cd33fec9eb5e8f8f62c3683b3f850094d9d5c35a92419a')
- version('3.3.7', sha256='d56fbad95abf993f8af608484729e3d87ef611dd85b3380a8bad1d5cbc373a57')
- version('3.3.6', sha256='e7cd8c94d6516d1ada9893ccc7c9a400fcee99927c902f15adba940787104dba')
- version('3.3.5', sha256='383407ab3d0c268074e97a2cbba84ac197fd24532f014aa2adc522355c1aa2d0')
- version('3.3.4', sha256='c5ca6e3442fb48ae75159ca7568854d9ba737bc351460f27ee91b6f3f9fd1f3d')
- version('3.3.3', sha256='fd72694390bd8e81586205717d2cf823e718f584b779a155db747d1e68481a2e')
- version('3.3.2', sha256='8d7611247fba1236da4dee7a64607017b6fb9ca5e3f0dc44d480e5d33d5663a5')
- version('3.3.1', sha256='50dd21a8997fce0857b27a126811ae8ee7619984ab5425ecf33510cec649e642')
- version('3.3.0', sha256='de82e01f97e1a95f121bd3ace87aa1237818353c14e38f630a65f5ba2c92f0e1')
- version('3.2.10', sha256='0920cb60ec38de5fb509650014eff7cc6d26a097c7b38c7db4b1aa5df5c85042')
- version('3.2.9', sha256='f683b20259ad72c3d384c00278166dd2a42d99b78dcd589ed4a6ca74bbb4ca07')
- version('3.2.8', sha256='64c54781cfe9eefef2792003ab04b271d4b2ec32eda6e9cdf120d7aad4ebb282')
- version('3.2.7', sha256='0ea9df884873275bf39c2965d486fa2d112f3a64b97b60b45b8bc4bb034a36c1')
- version('3.2.6', sha256='e097b8dcc5ad30d40af4ad72d7052e3f78639469baf83cffaadc045459cda21f')
- version('3.2.5', sha256='8068bd528a2ff3885eb55225c27237cf5cda834355599f05c2c85345db8338b4')
+ version("3.4.0", sha256="8586084f71f9bde545ee7fa6d00288b264a2b7ac3607b974e54d13e7162c1c72")
+ version("3.3.9", sha256="7985975b787340124786f092b3a07d594b2e9cd53bbfe5f3d9b1daee7d55f56f")
+ version("3.3.8", sha256="146a480b8ed1fb6ac7cd33fec9eb5e8f8f62c3683b3f850094d9d5c35a92419a")
+ version("3.3.7", sha256="d56fbad95abf993f8af608484729e3d87ef611dd85b3380a8bad1d5cbc373a57")
+ version("3.3.6", sha256="e7cd8c94d6516d1ada9893ccc7c9a400fcee99927c902f15adba940787104dba")
+ version("3.3.5", sha256="383407ab3d0c268074e97a2cbba84ac197fd24532f014aa2adc522355c1aa2d0")
+ version("3.3.4", sha256="c5ca6e3442fb48ae75159ca7568854d9ba737bc351460f27ee91b6f3f9fd1f3d")
+ version("3.3.3", sha256="fd72694390bd8e81586205717d2cf823e718f584b779a155db747d1e68481a2e")
+ version("3.3.2", sha256="8d7611247fba1236da4dee7a64607017b6fb9ca5e3f0dc44d480e5d33d5663a5")
+ version("3.3.1", sha256="50dd21a8997fce0857b27a126811ae8ee7619984ab5425ecf33510cec649e642")
+ version("3.3.0", sha256="de82e01f97e1a95f121bd3ace87aa1237818353c14e38f630a65f5ba2c92f0e1")
+ version("3.2.10", sha256="0920cb60ec38de5fb509650014eff7cc6d26a097c7b38c7db4b1aa5df5c85042")
+ version("3.2.9", sha256="f683b20259ad72c3d384c00278166dd2a42d99b78dcd589ed4a6ca74bbb4ca07")
+ version("3.2.8", sha256="64c54781cfe9eefef2792003ab04b271d4b2ec32eda6e9cdf120d7aad4ebb282")
+ version("3.2.7", sha256="0ea9df884873275bf39c2965d486fa2d112f3a64b97b60b45b8bc4bb034a36c1")
+ version("3.2.6", sha256="e097b8dcc5ad30d40af4ad72d7052e3f78639469baf83cffaadc045459cda21f")
+ version("3.2.5", sha256="8068bd528a2ff3885eb55225c27237cf5cda834355599f05c2c85345db8338b4")
# there is a bug that provokes bad parsing of nvhpc version
- patch('https://gitlab.com/libeigen/eigen/-/commit/001a57519a7aa909d3bf0cd8c6ec8a9cd19d9c70.diff', when='@3.2.6:3.3.9',
- sha256='55daee880b7669807efc0dcbeda2ae3b659e6dd4df3932f3573c8778bf5f8a42')
+ patch(
+ "https://gitlab.com/libeigen/eigen/-/commit/001a57519a7aa909d3bf0cd8c6ec8a9cd19d9c70.diff",
+ when="@3.2.6:3.3.9",
+ sha256="55daee880b7669807efc0dcbeda2ae3b659e6dd4df3932f3573c8778bf5f8a42",
+ )
# there is a bug in 3.3.8 that provokes a compile error in dependent packages, see https://gitlab.com/libeigen/eigen/-/issues/2011
- patch('https://gitlab.com/libeigen/eigen/-/commit/6d822a1052fc665f06dc51b4729f6a38e0da0546.diff', when='@3.3.8',
- sha256='62590e9b33a8f72b608a72b87147a306e7cb20766ea53c6b8e0a183fa6cb7635')
+ patch(
+ "https://gitlab.com/libeigen/eigen/-/commit/6d822a1052fc665f06dc51b4729f6a38e0da0546.diff",
+ when="@3.3.8",
+ sha256="62590e9b33a8f72b608a72b87147a306e7cb20766ea53c6b8e0a183fa6cb7635",
+ )
# there is a bug in 3.3.4 that provokes a compile error with the xl compiler
# See https://gitlab.com/libeigen/eigen/-/issues/1555
- patch('xlc-compilation-3.3.4.patch', when='@3.3.4%xl_r')
+ patch("xlc-compilation-3.3.4.patch", when="@3.3.4%xl_r")
# From http://eigen.tuxfamily.org/index.php?title=Main_Page#Requirements
# "Eigen doesn't have any dependencies other than the C++ standard
# library."
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
# TODO: latex and doxygen needed to produce docs with make doc
# TODO: Other dependencies might be needed to test this package
def setup_run_environment(self, env):
- env.prepend_path('CPATH', self.prefix.include.eigen3)
+ env.prepend_path("CPATH", self.prefix.include.eigen3)
def cmake_args(self):
args = []
- if self.spec.satisfies('@:3.4'):
+ if self.spec.satisfies("@:3.4"):
# CMake fails without this flag
# https://gitlab.com/libeigen/eigen/-/issues/1656
- args += [self.define('BUILD_TESTING', 'ON')]
+ args += [self.define("BUILD_TESTING", "ON")]
return args
@property
diff --git a/var/spack/repos/builtin/packages/eigenexa/package.py b/var/spack/repos/builtin/packages/eigenexa/package.py
index df856700d6..2532ea7098 100644
--- a/var/spack/repos/builtin/packages/eigenexa/package.py
+++ b/var/spack/repos/builtin/packages/eigenexa/package.py
@@ -12,9 +12,7 @@ class Eigenexa(AutotoolsPackage):
homepage = "https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/"
url = "https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/EigenExa-2.6.tgz"
- version(
- "2.6", sha256="a1a4e571a8051443f28e7ea4889272993452a4babd036d2b4dd6b28154302f95"
- )
+ version("2.6", sha256="a1a4e571a8051443f28e7ea4889272993452a4babd036d2b4dd6b28154302f95")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
@@ -44,13 +42,12 @@ class Eigenexa(AutotoolsPackage):
"LAPACK_PATH",
"{0}".format(
":".join(
- self.spec["lapack"].libs.directories
- + self.spec["scalapack"].libs.directories
+ self.spec["lapack"].libs.directories + self.spec["scalapack"].libs.directories
)
),
)
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Save off benchmark files for stand-alone tests."""
self.cache_extra_test_sources("benchmark")
@@ -61,18 +58,17 @@ class Eigenexa(AutotoolsPackage):
# the installed software *each* time the tests are run since
# this package installs a library.
- test_cache_dir = join_path(
- self.test_suite.current_test_cache_dir,
- "benchmark"
- )
+ test_cache_dir = join_path(self.test_suite.current_test_cache_dir, "benchmark")
test_data_dir = self.test_suite.current_test_data_dir
opts = [
"run-test.sh",
self.spec["mpi"].prefix.bin.mpirun,
- '-n', '1',
+ "-n",
+ "1",
join_path(test_cache_dir, "eigenexa_benchmark"),
- '-f', join_path(test_cache_dir, "IN")
+ "-f",
+ join_path(test_cache_dir, "IN"),
]
env["OMP_NUM_THREADS"] = "1"
self.run_test(
@@ -80,5 +76,5 @@ class Eigenexa(AutotoolsPackage):
options=opts,
expected="EigenExa Test Passed !",
purpose="test: running benchmark checks",
- work_dir=test_data_dir
+ work_dir=test_data_dir,
)
diff --git a/var/spack/repos/builtin/packages/elasticsearch/package.py b/var/spack/repos/builtin/packages/elasticsearch/package.py
index b427cf3d52..9c5c774918 100644
--- a/var/spack/repos/builtin/packages/elasticsearch/package.py
+++ b/var/spack/repos/builtin/packages/elasticsearch/package.py
@@ -13,21 +13,16 @@ class Elasticsearch(Package):
"""
homepage = "https://www.elastic.co/"
- url = "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz"
+ url = "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz"
- version('6.4.0', sha256='e9786efb5cecd12adee2807c7640ba9a1ab3b484d2e87497bb8d0b6df0e24f01')
- version('6.3.0', sha256='0464127140820d82b24bd2830232131ea85bcd49267a8bc7365e4fa391dee2a3')
- version('6.2.4', sha256='91e6f1ea1e1dd39011e7a703d2751ca46ee374665b08b0bfe17e0c0c27000e8e')
+ version("6.4.0", sha256="e9786efb5cecd12adee2807c7640ba9a1ab3b484d2e87497bb8d0b6df0e24f01")
+ version("6.3.0", sha256="0464127140820d82b24bd2830232131ea85bcd49267a8bc7365e4fa391dee2a3")
+ version("6.2.4", sha256="91e6f1ea1e1dd39011e7a703d2751ca46ee374665b08b0bfe17e0c0c27000e8e")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- dirs = [
- 'bin',
- 'config',
- 'lib',
- 'modules',
- 'plugins']
+ dirs = ["bin", "config", "lib", "modules", "plugins"]
for d in dirs:
install_tree(d, join_path(prefix, d))
diff --git a/var/spack/repos/builtin/packages/elemental/package.py b/var/spack/repos/builtin/packages/elemental/package.py
index 789886bf80..eaa0e3906c 100644
--- a/var/spack/repos/builtin/packages/elemental/package.py
+++ b/var/spack/repos/builtin/packages/elemental/package.py
@@ -11,162 +11,171 @@ from spack.spec import UnsupportedCompilerError
class Elemental(CMakePackage):
"""Elemental: Distributed-memory dense and sparse-direct linear algebra
- and optimization library."""
+ and optimization library."""
homepage = "https://libelemental.org"
- url = "https://github.com/elemental/Elemental/archive/v0.87.7.tar.gz"
- git = "https://github.com/elemental/Elemental.git"
-
- version('develop', branch='master')
- version('0.87.7', sha256='7becfdbc223e9c72e65ae876d842c48d2037d13f83e9f41cea285e21b840d7d9')
- version('0.87.6', sha256='b597987c99ddd3462e0619524c5b7f711177ae8ae541b1b961e11d96e15afc64')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('hybrid', default=True,
- description='Make use of OpenMP within MPI packing/unpacking')
- variant('openmp_blas', default=False,
- description='Use OpenMP for threading in the BLAS library')
- variant('c', default=False,
- description='Build C interface')
- variant('python', default=False,
- description='Install Python interface')
- variant('parmetis', default=False,
- description='Enable ParMETIS')
- variant('quad', default=False,
- description='Enable quad precision')
- variant('int64', default=False,
- description='Use 64bit integers')
- variant('cublas', default=False,
- description='Enable cuBLAS for local BLAS operations')
+ url = "https://github.com/elemental/Elemental/archive/v0.87.7.tar.gz"
+ git = "https://github.com/elemental/Elemental.git"
+
+ version("develop", branch="master")
+ version("0.87.7", sha256="7becfdbc223e9c72e65ae876d842c48d2037d13f83e9f41cea285e21b840d7d9")
+ version("0.87.6", sha256="b597987c99ddd3462e0619524c5b7f711177ae8ae541b1b961e11d96e15afc64")
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("hybrid", default=True, description="Make use of OpenMP within MPI packing/unpacking")
+ variant(
+ "openmp_blas", default=False, description="Use OpenMP for threading in the BLAS library"
+ )
+ variant("c", default=False, description="Build C interface")
+ variant("python", default=False, description="Install Python interface")
+ variant("parmetis", default=False, description="Enable ParMETIS")
+ variant("quad", default=False, description="Enable quad precision")
+ variant("int64", default=False, description="Use 64bit integers")
+ variant("cublas", default=False, description="Enable cuBLAS for local BLAS operations")
# When this variant is set remove the normal dependencies since
# Elemental has to build BLAS and ScaLAPACK internally
- variant('int64_blas', default=False,
- description='Use 64bit integers for BLAS.'
- ' Requires local build of BLAS library.')
- variant('scalapack', default=False,
- description='Build with ScaLAPACK library')
- 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('mpfr', default=False,
- description='Support GNU MPFR\'s'
- 'arbitrary-precision floating-point arithmetic')
+ variant(
+ "int64_blas",
+ default=False,
+ description="Use 64bit integers for BLAS." " Requires local build of BLAS library.",
+ )
+ variant("scalapack", default=False, description="Build with ScaLAPACK library")
+ 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(
+ "mpfr",
+ default=False,
+ description="Support GNU MPFR's" "arbitrary-precision floating-point arithmetic",
+ )
# Note that #1712 forces us to enumerate the different blas variants
- depends_on('blas', when='~openmp_blas ~int64_blas')
+ depends_on("blas", when="~openmp_blas ~int64_blas")
# Hack to forward variant to openblas package
- depends_on('openblas', when='blas=openblas ~openmp_blas ~int64_blas')
+ depends_on("openblas", when="blas=openblas ~openmp_blas ~int64_blas")
# Allow Elemental to build internally when using 8-byte ints
- depends_on('openblas threads=openmp', when='blas=openblas +openmp_blas ~int64_blas')
+ depends_on("openblas threads=openmp", when="blas=openblas +openmp_blas ~int64_blas")
- depends_on('intel-mkl', when="blas=mkl")
- depends_on('intel-mkl threads=openmp', when='blas=mkl +openmp_blas')
- depends_on('intel-mkl@2017.1 +ilp64', when='blas=mkl +int64_blas')
+ depends_on("intel-mkl", when="blas=mkl")
+ depends_on("intel-mkl threads=openmp", when="blas=mkl +openmp_blas")
+ depends_on("intel-mkl@2017.1 +ilp64", when="blas=mkl +int64_blas")
- depends_on('veclibfort', when='blas=accelerate')
+ depends_on("veclibfort", when="blas=accelerate")
- depends_on('essl', when='blas=essl')
- depends_on('essl threads=openmp', when='blas=essl +openmp_blas')
+ depends_on("essl", when="blas=essl")
+ depends_on("essl threads=openmp", when="blas=essl +openmp_blas")
# Note that this forces us to use OpenBLAS until #1712 is fixed
- depends_on('lapack', when='blas=openblas ~openmp_blas')
- depends_on('netlib-lapack +external-blas', when='blas=essl')
+ depends_on("lapack", when="blas=openblas ~openmp_blas")
+ depends_on("netlib-lapack +external-blas", when="blas=essl")
- depends_on('metis')
- depends_on('metis +int64', when='+int64')
- depends_on('mpi')
+ depends_on("metis")
+ depends_on("metis +int64", when="+int64")
+ depends_on("mpi")
# Allow Elemental to build internally when using 8-byte ints
- depends_on('scalapack', when='+scalapack ~int64_blas')
- extends('python', when='+python')
- depends_on('python@:2.8', when='+python')
- depends_on('gmp', when='+mpfr')
- depends_on('mpc', when='+mpfr')
- depends_on('mpfr', when='+mpfr')
+ depends_on("scalapack", when="+scalapack ~int64_blas")
+ extends("python", when="+python")
+ depends_on("python@:2.8", when="+python")
+ depends_on("gmp", when="+mpfr")
+ depends_on("mpc", when="+mpfr")
+ depends_on("mpfr", when="+mpfr")
- patch('elemental_cublas.patch', when='+cublas')
- patch('cmake_0.87.7.patch', when='@0.87.7')
+ patch("elemental_cublas.patch", when="+cublas")
+ patch("cmake_0.87.7.patch", when="@0.87.7")
@property
def libs(self):
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libEl', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libEl", root=self.prefix, shared=shared, recursive=True)
def cmake_args(self):
spec = self.spec
- if '@:0.87.7' in spec and '%intel@:17.0.2' in spec:
+ if "@:0.87.7" in spec and "%intel@:17.0.2" in spec:
raise UnsupportedCompilerError(
"Elemental {0} has a known bug with compiler: {1} {2}".format(
- spec.version, spec.compiler.name, spec.compiler.version))
+ spec.version, spec.compiler.name, spec.compiler.version
+ )
+ )
args = [
- '-DCMAKE_INSTALL_MESSAGE:STRING=LAZY',
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DEL_PREFER_OPENBLAS:BOOL=TRUE',
- '-DEL_DISABLE_SCALAPACK:BOOL=%s' % ('~scalapack' in spec),
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('+shared' in spec),
- '-DEL_HYBRID:BOOL=%s' % ('+hybrid' in spec),
- '-DEL_C_INTERFACE:BOOL=%s' % ('+c' in spec),
- '-DINSTALL_PYTHON_PACKAGE:BOOL=%s' % ('+python' in spec),
- '-DEL_DISABLE_PARMETIS:BOOL=%s' % ('~parmetis' in spec),
- '-DEL_DISABLE_QUAD:BOOL=%s' % ('~quad' in spec),
- '-DEL_USE_64BIT_INTS:BOOL=%s' % ('+int64' in spec),
- '-DEL_USE_64BIT_BLAS_INTS:BOOL=%s' % ('+int64_blas' in spec),
- '-DEL_DISABLE_MPFR:BOOL=%s' % ('~mpfr' in spec)]
-
- if self.spec.satisfies('%intel'):
- ifort = env['SPACK_F77']
+ "-DCMAKE_INSTALL_MESSAGE:STRING=LAZY",
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DEL_PREFER_OPENBLAS:BOOL=TRUE",
+ "-DEL_DISABLE_SCALAPACK:BOOL=%s" % ("~scalapack" in spec),
+ "-DBUILD_SHARED_LIBS:BOOL=%s" % ("+shared" in spec),
+ "-DEL_HYBRID:BOOL=%s" % ("+hybrid" in spec),
+ "-DEL_C_INTERFACE:BOOL=%s" % ("+c" in spec),
+ "-DINSTALL_PYTHON_PACKAGE:BOOL=%s" % ("+python" in spec),
+ "-DEL_DISABLE_PARMETIS:BOOL=%s" % ("~parmetis" in spec),
+ "-DEL_DISABLE_QUAD:BOOL=%s" % ("~quad" in spec),
+ "-DEL_USE_64BIT_INTS:BOOL=%s" % ("+int64" in spec),
+ "-DEL_USE_64BIT_BLAS_INTS:BOOL=%s" % ("+int64_blas" in spec),
+ "-DEL_DISABLE_MPFR:BOOL=%s" % ("~mpfr" in spec),
+ ]
+
+ if self.spec.satisfies("%intel"):
+ ifort = env["SPACK_F77"]
intel_bin = os.path.dirname(ifort)
intel_root = os.path.dirname(intel_bin)
- libfortran = find_libraries('libifcoremt',
- root=intel_root, recursive=True)
- elif self.spec.satisfies('%gcc'):
+ libfortran = find_libraries("libifcoremt", root=intel_root, recursive=True)
+ elif self.spec.satisfies("%gcc"):
# see <stage_folder>/debian/rules as an example:
- mpif77 = Executable(spec['mpi'].mpif77)
- libfortran = LibraryList(mpif77('--print-file-name',
- 'libgfortran.%s' % dso_suffix,
- output=str).strip())
- elif self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'):
- xl_fort = env['SPACK_F77']
+ mpif77 = Executable(spec["mpi"].mpif77)
+ libfortran = LibraryList(
+ mpif77("--print-file-name", "libgfortran.%s" % dso_suffix, output=str).strip()
+ )
+ elif self.spec.satisfies("%xl") or self.spec.satisfies("%xl_r"):
+ xl_fort = env["SPACK_F77"]
xl_bin = os.path.dirname(xl_fort)
xl_root = os.path.dirname(xl_bin)
- libfortran = find_libraries('libxlf90_r',
- root=xl_root, recursive=True)
+ libfortran = find_libraries("libxlf90_r", root=xl_root, recursive=True)
else:
libfortran = None
if libfortran:
- args.append('-DGFORTRAN_LIB=%s' % libfortran.libraries[0])
+ args.append("-DGFORTRAN_LIB=%s" % libfortran.libraries[0])
# If using 64bit int BLAS libraries, elemental has to build
# them internally
- if '+int64_blas' in spec:
- args.extend(['-DEL_BLAS_SUFFIX:STRING={0}'.format((
- '_64_' if '+int64_blas' in spec else '_')),
- '-DCUSTOM_BLAS_SUFFIX:BOOL=TRUE']),
- if '+scalapack' in spec:
- args.extend(['-DEL_LAPACK_SUFFIX:STRING={0}'.format((
- '_64_' if '+int64_blas' in spec else '_')),
- '-DCUSTOM_LAPACK_SUFFIX:BOOL=TRUE']),
+ if "+int64_blas" in spec:
+ args.extend(
+ [
+ "-DEL_BLAS_SUFFIX:STRING={0}".format(
+ ("_64_" if "+int64_blas" in spec else "_")
+ ),
+ "-DCUSTOM_BLAS_SUFFIX:BOOL=TRUE",
+ ]
+ ),
+ if "+scalapack" in spec:
+ args.extend(
+ [
+ "-DEL_LAPACK_SUFFIX:STRING={0}".format(
+ ("_64_" if "+int64_blas" in spec else "_")
+ ),
+ "-DCUSTOM_LAPACK_SUFFIX:BOOL=TRUE",
+ ]
+ ),
else:
- math_libs = (spec['lapack'].libs +
- spec['blas'].libs)
+ math_libs = spec["lapack"].libs + spec["blas"].libs
- if '+scalapack' in spec:
- math_libs = spec['scalapack'].libs + math_libs
+ if "+scalapack" in spec:
+ math_libs = spec["scalapack"].libs + math_libs
- args.extend([
- '-DMATH_LIBS:STRING={0}'.format(math_libs.ld_flags)])
+ args.extend(["-DMATH_LIBS:STRING={0}".format(math_libs.ld_flags)])
- if '+python' in spec:
- args.extend([
- '-DPYTHON_SITE_PACKAGES:STRING={0}'.format(python_platlib)])
+ if "+python" in spec:
+ args.extend(["-DPYTHON_SITE_PACKAGES:STRING={0}".format(python_platlib)])
return args
diff --git a/var/spack/repos/builtin/packages/elfio/package.py b/var/spack/repos/builtin/packages/elfio/package.py
index 7c0b97cadb..53b3bc2bd6 100644
--- a/var/spack/repos/builtin/packages/elfio/package.py
+++ b/var/spack/repos/builtin/packages/elfio/package.py
@@ -13,21 +13,21 @@ class Elfio(CMakePackage):
"""
homepage = "https://github.com/serge1/ELFIO"
- url = "https://github.com/serge1/ELFIO/releases/download/Release_3.9/elfio-3.9.tar.gz"
+ url = "https://github.com/serge1/ELFIO/releases/download/Release_3.9/elfio-3.9.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('3.10', sha256='cdc6362ede2e0c8d1d6db15d7da4b526f461d9cfae6f6337369e416a8bc60234')
- version('3.9', sha256='767b269063fc35aba6d361139f830aa91c45dc6b77942f082666876c1aa0be0f')
- version('3.8', sha256='9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4')
- version('3.7', sha256='0af2452214c32639f8dbe520b31e03802be184581ab5ad65e99ed745274dbd5d')
+ version("3.10", sha256="cdc6362ede2e0c8d1d6db15d7da4b526f461d9cfae6f6337369e416a8bc60234")
+ version("3.9", sha256="767b269063fc35aba6d361139f830aa91c45dc6b77942f082666876c1aa0be0f")
+ version("3.8", sha256="9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4")
+ version("3.7", sha256="0af2452214c32639f8dbe520b31e03802be184581ab5ad65e99ed745274dbd5d")
# note, 3.10 is required on master it seems
- depends_on('cmake@3.12:', when='@3.8:', type='build')
- depends_on('cmake@3.12.4:', when='@3.7', type='build')
+ depends_on("cmake@3.12:", when="@3.8:", type="build")
+ depends_on("cmake@3.12.4:", when="@3.7", type="build")
def cmake_args(self):
return [
- self.define('ELFIO_BUILD_EXAMPLES', 'OFF'),
- self.define('ELFIO_BUILD_TESTS', 'OFF'),
+ self.define("ELFIO_BUILD_EXAMPLES", "OFF"),
+ self.define("ELFIO_BUILD_TESTS", "OFF"),
]
diff --git a/var/spack/repos/builtin/packages/elfutils/package.py b/var/spack/repos/builtin/packages/elfutils/package.py
index 56c54d0391..c84cd4deee 100644
--- a/var/spack/repos/builtin/packages/elfutils/package.py
+++ b/var/spack/repos/builtin/packages/elfutils/package.py
@@ -22,75 +22,74 @@ class Elfutils(AutotoolsPackage, SourcewarePackage):
list_url = "https://sourceware.org/elfutils/ftp"
list_depth = 1
- version('0.186', sha256='7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177')
- version('0.185', sha256='dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6')
- version('0.184', sha256='87e7d1d7f0333815dd1f62135d047a4dc4082068f361452f357997c11360644b')
- version('0.183', sha256='c3637c208d309d58714a51e61e63f1958808fead882e9b607506a29e5474f2c5')
- version('0.182', sha256='ecc406914edf335f0b7fc084ebe6c460c4d6d5175bfdd6688c1c78d9146b8858')
- version('0.181', sha256='29a6ad7421ec2acfee489bb4a699908281ead2cb63a20a027ce8804a165f0eb3')
- version('0.180', sha256='b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d')
- version('0.179', sha256='25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2')
- version('0.178', sha256='31e7a00e96d4e9c4bda452e1f2cdac4daf8abd24f5e154dee232131899f3a0f2')
- version('0.177', sha256='fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e')
- version('0.176', sha256='eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023')
- version('0.175', sha256='f7ef925541ee32c6d15ae5cb27da5f119e01a5ccdbe9fe57bf836730d7b7a65b')
- version('0.174', sha256='cdf27e70076e10a29539d89e367101d516bc4aa11b0d7777fe52139e3fcad08a')
- version('0.173', sha256='b76d8c133f68dad46250f5c223482c8299d454a69430d9aa5c19123345a000ff')
- version('0.170', sha256='1f844775576b79bdc9f9c717a50058d08620323c1e935458223a12f249c9e066')
- version('0.168', sha256='b88d07893ba1373c7dd69a7855974706d05377766568a7d9002706d5de72c276')
- version('0.163', sha256='7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23')
+ version("0.186", sha256="7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177")
+ version("0.185", sha256="dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6")
+ version("0.184", sha256="87e7d1d7f0333815dd1f62135d047a4dc4082068f361452f357997c11360644b")
+ version("0.183", sha256="c3637c208d309d58714a51e61e63f1958808fead882e9b607506a29e5474f2c5")
+ version("0.182", sha256="ecc406914edf335f0b7fc084ebe6c460c4d6d5175bfdd6688c1c78d9146b8858")
+ version("0.181", sha256="29a6ad7421ec2acfee489bb4a699908281ead2cb63a20a027ce8804a165f0eb3")
+ version("0.180", sha256="b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d")
+ version("0.179", sha256="25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2")
+ version("0.178", sha256="31e7a00e96d4e9c4bda452e1f2cdac4daf8abd24f5e154dee232131899f3a0f2")
+ version("0.177", sha256="fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e")
+ version("0.176", sha256="eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023")
+ version("0.175", sha256="f7ef925541ee32c6d15ae5cb27da5f119e01a5ccdbe9fe57bf836730d7b7a65b")
+ version("0.174", sha256="cdf27e70076e10a29539d89e367101d516bc4aa11b0d7777fe52139e3fcad08a")
+ version("0.173", sha256="b76d8c133f68dad46250f5c223482c8299d454a69430d9aa5c19123345a000ff")
+ version("0.170", sha256="1f844775576b79bdc9f9c717a50058d08620323c1e935458223a12f249c9e066")
+ version("0.168", sha256="b88d07893ba1373c7dd69a7855974706d05377766568a7d9002706d5de72c276")
+ version("0.163", sha256="7c774f1eef329309f3b05e730bdac50013155d437518a2ec0e24871d312f2e23")
# Libraries for reading compressed DWARF sections.
- variant('bzip2', default=False,
- description='Support bzip2 compressed sections.')
- variant('xz', default=False,
- description='Support xz (lzma) compressed sections.')
+ variant("bzip2", default=False, description="Support bzip2 compressed sections.")
+ variant("xz", default=False, description="Support xz (lzma) compressed sections.")
# Native language support from libintl.
- variant('nls', default=True,
- description='Enable Native Language Support.')
+ variant("nls", default=True, description="Enable Native Language Support.")
# libdebuginfod support
# NB: For 0.181 and newer, this enables _both_ the client and server
- variant('debuginfod', default=False,
- description='Enable libdebuginfod support.')
+ variant("debuginfod", default=False, description="Enable libdebuginfod support.")
# elfutils-0.185-static-inline.patch
# elflint.c (buffer_left): Mark as 'inline' to avoid external linkage failure.
- patch('https://794601.bugs.gentoo.org/attachment.cgi?id=714030', when='@0.185',
- sha256='d786d49c28d7f0c8fc27bab39ca8714e5f4d128c7f09bb18533a8ec99b38dbf8')
-
- depends_on('bzip2', type='link', when='+bzip2')
- depends_on('xz', type='link', when='+xz')
- depends_on('zlib', type='link')
- depends_on('gettext', when='+nls')
- depends_on('m4', type='build')
+ patch(
+ "https://794601.bugs.gentoo.org/attachment.cgi?id=714030",
+ when="@0.185",
+ sha256="d786d49c28d7f0c8fc27bab39ca8714e5f4d128c7f09bb18533a8ec99b38dbf8",
+ )
+
+ depends_on("bzip2", type="link", when="+bzip2")
+ depends_on("xz", type="link", when="+xz")
+ depends_on("zlib", type="link")
+ depends_on("gettext", when="+nls")
+ depends_on("m4", type="build")
# debuginfod has extra dependencies
# NB: Waiting on an elfutils patch before we can use libmicrohttpd@0.9.71
- depends_on('libmicrohttpd@0.9.33:0.9.70', type='link', when='+debuginfod')
- depends_on('libarchive@3.1.2:', type='link', when='+debuginfod')
- depends_on('sqlite@3.7.17:', type='link', when='+debuginfod')
- depends_on('curl@7.29.0:', type='link', when='+debuginfod')
+ depends_on("libmicrohttpd@0.9.33:0.9.70", type="link", when="+debuginfod")
+ depends_on("libarchive@3.1.2:", type="link", when="+debuginfod")
+ depends_on("sqlite@3.7.17:", type="link", when="+debuginfod")
+ depends_on("curl@7.29.0:", type="link", when="+debuginfod")
- conflicts('%gcc@7.2.0:', when='@0.163')
- conflicts('+debuginfod', when='@:0.178')
+ conflicts("%gcc@7.2.0:", when="@0.163")
+ conflicts("+debuginfod", when="@:0.178")
- provides('elf@1')
+ provides("elf@1")
# Elfutils uses nested functions in C code, which is implemented
# in gcc, but not in clang. C code compiled with gcc is
# binary-compatible with clang, so it should be possible to build
# elfutils with gcc, and then link it to clang-built libraries.
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%cce')
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%cce")
# Elfutils uses -Wall and we don't want to fail the build over a
# stray warning.
def patch(self):
- files = glob.glob(os.path.join('*', 'Makefile.in'))
- filter_file('-Werror', '', *files)
+ files = glob.glob(os.path.join("*", "Makefile.in"))
+ filter_file("-Werror", "", *files)
flag_handler = AutotoolsPackage.build_system_flags
@@ -98,43 +97,42 @@ class Elfutils(AutotoolsPackage, SourcewarePackage):
spec = self.spec
args = []
- if '+bzip2' in spec:
- args.append('--with-bzlib=%s' % spec['bzip2'].prefix)
+ if "+bzip2" in spec:
+ args.append("--with-bzlib=%s" % spec["bzip2"].prefix)
else:
- args.append('--without-bzlib')
+ args.append("--without-bzlib")
- if '+xz' in spec:
- args.append('--with-lzma=%s' % spec['xz'].prefix)
+ if "+xz" in spec:
+ args.append("--with-lzma=%s" % spec["xz"].prefix)
else:
- args.append('--without-lzma')
+ args.append("--without-lzma")
# zlib is required
- args.append('--with-zlib=%s' % spec['zlib'].prefix)
+ args.append("--with-zlib=%s" % spec["zlib"].prefix)
- if '+nls' in spec:
+ if "+nls" in spec:
# configure doesn't use LIBS correctly
- args.append('LDFLAGS=-Wl,--no-as-needed -L%s -lintl' %
- spec['gettext'].prefix.lib)
+ args.append("LDFLAGS=-Wl,--no-as-needed -L%s -lintl" % spec["gettext"].prefix.lib)
else:
- args.append('--disable-nls')
+ args.append("--disable-nls")
- if '+debuginfod' in spec:
- args.append('--enable-debuginfod')
- if spec.satisfies('@0.181:'):
- args.append('--enable-libdebuginfod')
+ if "+debuginfod" in spec:
+ args.append("--enable-debuginfod")
+ if spec.satisfies("@0.181:"):
+ args.append("--enable-libdebuginfod")
else:
- args.append('--disable-debuginfod')
- if spec.satisfies('@0.181:'):
- args.append('--disable-libdebuginfod')
+ args.append("--disable-debuginfod")
+ if spec.satisfies("@0.181:"):
+ args.append("--disable-libdebuginfod")
return args
# Install elf.h to include directory.
- @run_after('install')
+ @run_after("install")
def install_elfh(self):
- install(join_path('libelf', 'elf.h'), self.prefix.include)
+ install(join_path("libelf", "elf.h"), self.prefix.include)
# Provide location of libelf.so to match libelf.
@property
def libs(self):
- return find_libraries('libelf', self.prefix, recursive=True)
+ return find_libraries("libelf", self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/elk/package.py b/var/spack/repos/builtin/packages/elk/package.py
index c6457f23da..f99ba9d04f 100644
--- a/var/spack/repos/builtin/packages/elk/package.py
+++ b/var/spack/repos/builtin/packages/elk/package.py
@@ -10,13 +10,17 @@ class Elk(MakefilePackage):
"""An all-electron full-potential linearised augmented-plane wave
(FP-LAPW) code with many advanced features."""
- homepage = 'https://elk.sourceforge.io/'
- url = 'https://sourceforge.net/projects/elk/files/elk-3.3.17.tgz'
-
- 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)
+ homepage = "https://elk.sourceforge.io/"
+ url = "https://sourceforge.net/projects/elk/files/elk-3.3.17.tgz"
+
+ 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,
+ )
# what linear algebra packages to use? the choices are
# internal - use internal libraries
@@ -25,56 +29,60 @@ class Elk(MakefilePackage):
# 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'))
+ 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'))
+ 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.
- 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')
+ 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')
+ 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("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("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("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("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("fftw", when="fft=fftw")
+ depends_on("fftw +openmp", when="fft=fftw +openmp")
+ depends_on("mkl", when="fft=mkl")
- depends_on('mpi@2:', when='+mpi')
- depends_on('libxc@5:', when='@7:+libxc')
- depends_on('libxc@:3', when='@:3+libxc')
- depends_on('wannier90', when='+w90')
+ depends_on("mpi@2:", when="+mpi")
+ 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
@@ -82,112 +90,113 @@ class Elk(MakefilePackage):
def edit(self, spec, prefix):
# Dictionary of configuration options with default values assigned
config = {
- '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
-
+ "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'
- elif self.compiler.name == 'gcc':
- flags = '-O3 -ffast-math -funroll-loops'
- elif self.compiler.name == 'pgi':
- flags = '-O3 -lpthread'
- elif self.compiler.name == 'g95':
- flags = '-O3 -fno-second-underscore'
- elif self.compiler.name == 'nag':
- flags = '-O4 -kind=byte -dusty -dcfuns'
- elif self.compiler.name == 'xl':
- flags = '-O3'
- config['F90_OPTS'] = flags
- config['F77_OPTS'] = flags
-
- if '+mpi' in spec:
- config['F90'] = spec['mpi'].mpifc
- config['F77'] = spec['mpi'].mpif77
- config['SRC_MPI'] = ' '
+ flags = ""
+ if self.compiler.name == "intel":
+ flags = "-O3 -ip -unroll -no-prec-div"
+ elif self.compiler.name == "gcc":
+ flags = "-O3 -ffast-math -funroll-loops"
+ elif self.compiler.name == "pgi":
+ flags = "-O3 -lpthread"
+ elif self.compiler.name == "g95":
+ flags = "-O3 -fno-second-underscore"
+ elif self.compiler.name == "nag":
+ flags = "-O4 -kind=byte -dusty -dcfuns"
+ elif self.compiler.name == "xl":
+ flags = "-O3"
+ config["F90_OPTS"] = flags
+ config["F77_OPTS"] = flags
+
+ if "+mpi" in spec:
+ config["F90"] = spec["mpi"].mpifc
+ config["F77"] = spec["mpi"].mpif77
+ config["SRC_MPI"] = " "
# OpenMP support
- if '+openmp' in spec:
- config['F90_OPTS'] += ' ' + self.compiler.openmp_flag
- config['F77_OPTS'] += ' ' + self.compiler.openmp_flag
- config['SRC_OMP'] = ' '
+ 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'] = ' '
+ 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'
- if 'fftw=mkl' in spec:
- config['LIB_FFT'] = spec['mkl'].libs.ld_flags
- config['SRC_FFT'] = ' '
+ if "fft=fftw" in spec:
+ config["LIB_FFT"] = spec["fftw"].libs.ld_flags
+ config["SRC_FFT"] = "zfftifc_fftw.f90"
+ if "fftw=mkl" in spec:
+ config["LIB_FFT"] = spec["mkl"].libs.ld_flags
+ config["SRC_FFT"] = " "
# MPI support
- if '+mpi' in spec:
- config['F90'] = spec['mpi'].mpifc
- config['F77'] = spec['mpi'].mpif77
+ if "+mpi" in spec:
+ config["F90"] = spec["mpi"].mpifc
+ config["F77"] = spec["mpi"].mpif77
else:
- config['F90'] = spack_fc
- config['F77'] = spack_f77
- config['SRC_MPI'] = 'mpi_stub.f90'
+ 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
- config['SRC_OMP'] = ' '
+ if "+openmp" in spec:
+ config["F90_OPTS"] += " " + self.compiler.openmp_flag
+ config["F77_OPTS"] += " " + self.compiler.openmp_flag
+ config["SRC_OMP"] = " "
# Libxc support
- if '+libxc' in spec:
- config['LIB_libxc'] = ' '.join([
- join_path(spec['libxc'].prefix.lib, 'libxcf90.so'),
- join_path(spec['libxc'].prefix.lib, 'libxc.so')
- ])
- if self.spec.satisfies('@7:'):
- config['SRC_libxc'] = 'libxcf90.f90 libxcifc.f90'
+ if "+libxc" in spec:
+ config["LIB_libxc"] = " ".join(
+ [
+ join_path(spec["libxc"].prefix.lib, "libxcf90.so"),
+ join_path(spec["libxc"].prefix.lib, "libxc.so"),
+ ]
+ )
+ if self.spec.satisfies("@7:"):
+ config["SRC_libxc"] = "libxcf90.f90 libxcifc.f90"
else:
- config['SRC_libxc'] = 'libxc_funcs.f90 libxc.f90 libxcifc.f90'
+ config["SRC_libxc"] = "libxc_funcs.f90 libxc.f90 libxcifc.f90"
# Write configuration options to include file
- with open('make.inc', 'w') as inc:
+ with open("make.inc", "w") as inc:
for key in config:
- inc.write('{0} = {1}\n'.format(key, config[key]))
+ inc.write("{0} = {1}\n".format(key, config[key]))
def install(self, spec, prefix):
# The Elk Makefile does not provide an install target
mkdir(prefix.bin)
- install('src/elk', prefix.bin)
- install('src/eos/eos', prefix.bin)
- install('src/spacegroup/spacegroup', prefix.bin)
+ install("src/elk", prefix.bin)
+ install("src/eos/eos", prefix.bin)
+ install("src/spacegroup/spacegroup", prefix.bin)
- install_tree('examples', join_path(prefix, 'examples'))
- install_tree('species', join_path(prefix, 'species'))
+ install_tree("examples", join_path(prefix, "examples"))
+ install_tree("species", join_path(prefix, "species"))
diff --git a/var/spack/repos/builtin/packages/elmerfem/package.py b/var/spack/repos/builtin/packages/elmerfem/package.py
index 3d8d1a4645..8cb508827b 100644
--- a/var/spack/repos/builtin/packages/elmerfem/package.py
+++ b/var/spack/repos/builtin/packages/elmerfem/package.py
@@ -13,130 +13,126 @@ class Elmerfem(CMakePackage):
electromagnetics, heat transfer and acoustics."""
homepage = "https://www.csc.fi/web/elmer"
- url = "https://github.com/ElmerCSC/elmerfem/archive/release-8.4.tar.gz"
- git = "https://github.com/ElmerCSC/elmerfem.git"
-
- version('ice', branch='elmerice')
- version('devel', branch='devel')
- version('9.0', sha256='08c5bf261e87ff37456c1aa0372db3c83efabe4473ea3ea0b8ec66f5944d1aa0')
- version('8.4', sha256='cc3ce807d76798361592cc14952cdc3db1ad8f9bac038017514033ce9badc5b3')
-
- variant('gui', default=False, description='Enable GUI support.')
- variant('mpi', default=True, description='Enable MPI support.')
- variant('openmp', default=True, description='Enable OpenMP support.')
- variant('mumps', default=False, description='Enable MUMPS support.')
- variant('hypre', default=False, description='Enable Hypre support.')
- variant('trilinos', default=False, description='Enable Trilinos support.')
- variant('zoltan', default=False, description='Enable Zoltan support.')
- variant('lua', default=False, description='Enable Lua support.')
- variant('scatt2d', default=False, description='Build Scattered2DDataInterpolator solver.')
-
- depends_on('qt@5:+opengl', when='+gui')
- depends_on('qwt', when='+gui')
- depends_on('paraview+qt', when='+gui')
- depends_on('mpi')
- depends_on('netcdf-fortran')
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack', when='+mpi')
- depends_on('mumps+openmp', when='+mumps+openmp')
- depends_on('mumps~openmp', when='+mumps~openmp')
- depends_on('hypre', when='+hypre')
- depends_on('trilinos~hypre~zoltan~zoltan2', when='+trilinos')
- depends_on('zoltan+fortran', when='+zoltan')
- depends_on('lua@5.1.5', when='+lua')
- depends_on('nn-c', when='+scatt2d')
- depends_on('csa-c', when='+scatt2d')
+ url = "https://github.com/ElmerCSC/elmerfem/archive/release-8.4.tar.gz"
+ git = "https://github.com/ElmerCSC/elmerfem.git"
+
+ version("ice", branch="elmerice")
+ version("devel", branch="devel")
+ version("9.0", sha256="08c5bf261e87ff37456c1aa0372db3c83efabe4473ea3ea0b8ec66f5944d1aa0")
+ version("8.4", sha256="cc3ce807d76798361592cc14952cdc3db1ad8f9bac038017514033ce9badc5b3")
+
+ variant("gui", default=False, description="Enable GUI support.")
+ variant("mpi", default=True, description="Enable MPI support.")
+ variant("openmp", default=True, description="Enable OpenMP support.")
+ variant("mumps", default=False, description="Enable MUMPS support.")
+ variant("hypre", default=False, description="Enable Hypre support.")
+ variant("trilinos", default=False, description="Enable Trilinos support.")
+ variant("zoltan", default=False, description="Enable Zoltan support.")
+ variant("lua", default=False, description="Enable Lua support.")
+ variant("scatt2d", default=False, description="Build Scattered2DDataInterpolator solver.")
+
+ depends_on("qt@5:+opengl", when="+gui")
+ depends_on("qwt", when="+gui")
+ depends_on("paraview+qt", when="+gui")
+ depends_on("mpi")
+ depends_on("netcdf-fortran")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack", when="+mpi")
+ depends_on("mumps+openmp", when="+mumps+openmp")
+ depends_on("mumps~openmp", when="+mumps~openmp")
+ depends_on("hypre", when="+hypre")
+ depends_on("trilinos~hypre~zoltan~zoltan2", when="+trilinos")
+ depends_on("zoltan+fortran", when="+zoltan")
+ depends_on("lua@5.1.5", when="+lua")
+ depends_on("nn-c", when="+scatt2d")
+ depends_on("csa-c", when="+scatt2d")
def cmake_args(self):
spec = self.spec
- args = ['-DWITH_ElmerIce=ON', '-DWITH_CONTRIB=ON']
+ args = ["-DWITH_ElmerIce=ON", "-DWITH_CONTRIB=ON"]
- if '+gui' in spec:
- args.append('-DWITH_ELMERGUI:BOOL=TRUE')
- args.append('-DWITH_QT5:BOOL=TRUE')
- args.append('-DWITH_QWT:BOOL=TRUE')
- args.append('-DWITH_PARAVIEW:BOOL=TRUE')
+ if "+gui" in spec:
+ args.append("-DWITH_ELMERGUI:BOOL=TRUE")
+ args.append("-DWITH_QT5:BOOL=TRUE")
+ args.append("-DWITH_QWT:BOOL=TRUE")
+ args.append("-DWITH_PARAVIEW:BOOL=TRUE")
else:
- args.append('-DWITH_ELMERGUI:BOOL=FALSE')
+ args.append("-DWITH_ELMERGUI:BOOL=FALSE")
- if '+mpi' in spec:
- args.append('-DWITH_MPI=ON')
+ if "+mpi" in spec:
+ args.append("-DWITH_MPI=ON")
else:
- args.append('-DWITH_MPI=OFF')
+ args.append("-DWITH_MPI=OFF")
- if self.spec.satisfies('^intel-mkl'):
- args.append('-DWITH_MKL:BOOL=TRUE')
+ if self.spec.satisfies("^intel-mkl"):
+ args.append("-DWITH_MKL:BOOL=TRUE")
- if '+openmp' in spec:
- args.append('-DWITH_OpenMP=ON')
+ if "+openmp" in spec:
+ args.append("-DWITH_OpenMP=ON")
else:
- args.append('-DWITH_OpenMP=OFF')
+ args.append("-DWITH_OpenMP=OFF")
- if '+mumps' in spec:
- args.append('-DWITH_Mumps=ON')
+ if "+mumps" in spec:
+ args.append("-DWITH_Mumps=ON")
else:
- args.append('-DWITH_Mumps=OFF')
+ args.append("-DWITH_Mumps=OFF")
- if '+hypre' in spec:
- args.append('-DWITH_Hypre=ON')
+ if "+hypre" in spec:
+ args.append("-DWITH_Hypre=ON")
else:
- args.append('-DWITH_Hypre=OFF')
-
- if '+trilinos' in spec:
- args.extend([
- '-DWITH_Trilinos=ON',
- '-DCMAKE_CXX_STANDARD=11',
- ])
+ args.append("-DWITH_Hypre=OFF")
+
+ if "+trilinos" in spec:
+ args.extend(
+ [
+ "-DWITH_Trilinos=ON",
+ "-DCMAKE_CXX_STANDARD=11",
+ ]
+ )
else:
- args.append('-DWITH_Trilinos=OFF')
+ args.append("-DWITH_Trilinos=OFF")
- if '+lua' in spec:
- args.extend([
- '-DWITH_LUA=ON',
- '-DUSE_SYSTEM_LUA=ON'
- ])
- if '%gcc' in spec:
- args.append('-DCMAKE_Fortran_FLAGS=-ffree-line-length-none')
+ if "+lua" in spec:
+ args.extend(["-DWITH_LUA=ON", "-DUSE_SYSTEM_LUA=ON"])
+ if "%gcc" in spec:
+ args.append("-DCMAKE_Fortran_FLAGS=-ffree-line-length-none")
else:
- args.append('-DWITH_LUA=OFF')
+ args.append("-DWITH_LUA=OFF")
- if '+zoltan' in spec:
- args.extend([
- '-DWITH_Zoltan=ON',
- '-DUSE_SYSTEM_ZOLTAN=ON'
- ])
+ if "+zoltan" in spec:
+ args.extend(["-DWITH_Zoltan=ON", "-DUSE_SYSTEM_ZOLTAN=ON"])
else:
- args.append('-DWITH_Zoltan=OFF')
-
- if '+scatt2d' in spec:
- args.extend([
- '-DWITH_ScatteredDataInterpolator=ON',
- '-DNN_LIBRARY='
- + join_path(self.spec['nn-c'].prefix, 'lib', 'libnn.a'),
- '-DNN_INCLUDE_DIR='
- + join_path(self.spec['nn-c'].prefix, 'include'),
- '-DCSA_LIBRARY='
- + join_path(self.spec['csa-c'].prefix, 'lib', 'libcsa.so'),
- '-DCSA_INCLUDE_DIR='
- + join_path(self.spec['csa-c'].prefix, 'include')
- ])
+ args.append("-DWITH_Zoltan=OFF")
+
+ if "+scatt2d" in spec:
+ args.extend(
+ [
+ "-DWITH_ScatteredDataInterpolator=ON",
+ "-DNN_LIBRARY=" + join_path(self.spec["nn-c"].prefix, "lib", "libnn.a"),
+ "-DNN_INCLUDE_DIR=" + join_path(self.spec["nn-c"].prefix, "include"),
+ "-DCSA_LIBRARY=" + join_path(self.spec["csa-c"].prefix, "lib", "libcsa.so"),
+ "-DCSA_INCLUDE_DIR=" + join_path(self.spec["csa-c"].prefix, "include"),
+ ]
+ )
return args
def patch(self):
- if self.spec.satisfies('@8.4'):
+ if self.spec.satisfies("@8.4"):
# from commit f02cb33acd59 upstream
- filter_file('FOREACH(D RANGE 1 depth)',
- 'FOREACH(D RANGE 1 ${depth})',
- 'fem/tests/CMakeLists.txt',
- string=True)
+ filter_file(
+ "FOREACH(D RANGE 1 depth)",
+ "FOREACH(D RANGE 1 ${depth})",
+ "fem/tests/CMakeLists.txt",
+ string=True,
+ )
def setup_run_environment(self, env):
- env.set('ELMER_HOME', self.prefix)
- env.set('ELMER_Fortran_COMPILER', self.compiler.fc)
- if '+gui' in self.spec:
- env.set('ELMERGUI_HOME', self.prefix.share.ElmerGUI)
+ env.set("ELMER_HOME", self.prefix)
+ env.set("ELMER_Fortran_COMPILER", self.compiler.fc)
+ if "+gui" in self.spec:
+ env.set("ELMERGUI_HOME", self.prefix.share.ElmerGUI)
diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py
index a52cf2d9a7..7b987b029f 100644
--- a/var/spack/repos/builtin/packages/elpa/package.py
+++ b/var/spack/repos/builtin/packages/elpa/package.py
@@ -11,172 +11,208 @@ from spack.package import *
class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage):
"""Eigenvalue solvers for Petaflop-Applications (ELPA)"""
- homepage = 'https://elpa.mpcdf.mpg.de/'
- url = 'https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2015.11.001/elpa-2015.11.001.tar.gz'
-
- version('2021.11.001', sha256='fb361da6c59946661b73e51538d419028f763d7cb9dacf9d8cd5c9cd3fb7802f')
- version('2021.05.002_bugfix', sha256='deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b')
- version('2021.05.001', sha256='a4f1a4e3964f2473a5f8177f2091a9da5c6b5ef9280b8272dfefcbc3aad44d41')
- version('2020.05.001', sha256='66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5')
- version('2019.11.001', sha256='10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357')
- version('2019.05.002', sha256='d2eab5e5d74f53601220b00d18185670da8c00c13e1c1559ecfb0cd7cb2c4e8d')
- version('2018.11.001', sha256='cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16')
- version('2018.05.001.rc1', sha256='598c01da20600a4514ea4d503b93e977ac0367e797cab7a7c1b0e0e3e86490db')
- version('2017.11.001', sha256='59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820')
- version('2017.05.003', sha256='bccd49ce35a323bd734b17642aed8f2588fea4cc78ee8133d88554753bc3bf1b')
- version('2017.05.002', sha256='568b71024c094d667b5cbb23045ad197ed5434071152ac608dae490ace5eb0aa')
- version('2017.05.001', sha256='28f7edad60984d93da299016ad33571dc6db1cdc9fab0ceaef05dc07de2c7dfd')
- version('2016.11.001.pre', sha256='69b67f0f6faaa2b3b5fd848127b632be32771636d2ad04583c5269d550956f92')
- version('2016.05.004', sha256='08c59dc9da458bab856f489d779152e5506e04f0d4b8d6dcf114ca5fbbe46c58')
- version('2016.05.003', sha256='c8da50c987351514e61491e14390cdea4bdbf5b09045261991876ed5b433fca4')
- version('2015.11.001', sha256='c0761a92a31c08a4009c9688c85fc3fc8fde9b6ce05e514c3e1587cf045e9eba')
-
- variant('openmp', default=True, description='Activates OpenMP support')
- variant('mpi', default=True, description='Activates MPI support')
-
- depends_on('blas')
- depends_on('lapack')
- 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:')
-
- with when('@2021.11.01:'):
- variant('autotune', default=False,
- description='Enables autotuning for matrix restribution')
- depends_on('scalapack', when='+autotune')
-
- patch('python_shebang.patch', when='@:2020.05.001')
+ homepage = "https://elpa.mpcdf.mpg.de/"
+ url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2015.11.001/elpa-2015.11.001.tar.gz"
+
+ version(
+ "2021.11.001", sha256="fb361da6c59946661b73e51538d419028f763d7cb9dacf9d8cd5c9cd3fb7802f"
+ )
+ version(
+ "2021.05.002_bugfix",
+ sha256="deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b",
+ )
+ version(
+ "2021.05.001", sha256="a4f1a4e3964f2473a5f8177f2091a9da5c6b5ef9280b8272dfefcbc3aad44d41"
+ )
+ version(
+ "2020.05.001", sha256="66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5"
+ )
+ version(
+ "2019.11.001", sha256="10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357"
+ )
+ version(
+ "2019.05.002", sha256="d2eab5e5d74f53601220b00d18185670da8c00c13e1c1559ecfb0cd7cb2c4e8d"
+ )
+ version(
+ "2018.11.001", sha256="cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16"
+ )
+ version(
+ "2018.05.001.rc1",
+ sha256="598c01da20600a4514ea4d503b93e977ac0367e797cab7a7c1b0e0e3e86490db",
+ )
+ version(
+ "2017.11.001", sha256="59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820"
+ )
+ version(
+ "2017.05.003", sha256="bccd49ce35a323bd734b17642aed8f2588fea4cc78ee8133d88554753bc3bf1b"
+ )
+ version(
+ "2017.05.002", sha256="568b71024c094d667b5cbb23045ad197ed5434071152ac608dae490ace5eb0aa"
+ )
+ version(
+ "2017.05.001", sha256="28f7edad60984d93da299016ad33571dc6db1cdc9fab0ceaef05dc07de2c7dfd"
+ )
+ version(
+ "2016.11.001.pre",
+ sha256="69b67f0f6faaa2b3b5fd848127b632be32771636d2ad04583c5269d550956f92",
+ )
+ version(
+ "2016.05.004", sha256="08c59dc9da458bab856f489d779152e5506e04f0d4b8d6dcf114ca5fbbe46c58"
+ )
+ version(
+ "2016.05.003", sha256="c8da50c987351514e61491e14390cdea4bdbf5b09045261991876ed5b433fca4"
+ )
+ version(
+ "2015.11.001", sha256="c0761a92a31c08a4009c9688c85fc3fc8fde9b6ce05e514c3e1587cf045e9eba"
+ )
+
+ variant("openmp", default=True, description="Activates OpenMP support")
+ variant("mpi", default=True, description="Activates MPI support")
+
+ depends_on("blas")
+ depends_on("lapack")
+ 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:")
+
+ with when("@2021.11.01:"):
+ variant(
+ "autotune", default=False, description="Enables autotuning for matrix restribution"
+ )
+ depends_on("scalapack", when="+autotune")
+
+ 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',
- msg='ELPA-2021.05.001+ requires GCC-8+ for OpenMP support')
- conflicts('+rocm', when='@:2020',
- msg='ROCm support was introduced in ELPA 2021.05.001')
- conflicts('+mpi', when='+rocm',
- msg='ROCm support and MPI are not yet compatible')
+ conflicts(
+ "+openmp",
+ when="@2021.05.001: %gcc@:7",
+ msg="ELPA-2021.05.001+ requires GCC-8+ for OpenMP support",
+ )
+ conflicts("+rocm", when="@:2020", 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):
- return ('https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/{0}/elpa-{0}.tar.gz'
- .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
def libs(self):
- libname = 'libelpa_openmp' if '+openmp' in self.spec else 'libelpa'
- return find_libraries(
- libname, root=self.prefix, shared=True, recursive=True
- )
+ libname = "libelpa_openmp" if "+openmp" in self.spec else "libelpa"
+ return find_libraries(libname, root=self.prefix, shared=True, recursive=True)
@property
def headers(self):
- suffix = '_openmp' if self.spec.satisfies('+openmp') else ''
+ suffix = "_openmp" if self.spec.satisfies("+openmp") else ""
# upstream sometimes adds tarball suffixes not part of the internal version
elpa_version = str(self.spec.version)
- for vsuffix in ("_bugfix", ):
+ for vsuffix in ("_bugfix",):
if elpa_version.endswith(vsuffix): # implementation of py3.9 removesuffix
- elpa_version = elpa_version[:-len(vsuffix)]
+ elpa_version = elpa_version[: -len(vsuffix)]
incdir = os.path.join(
self.spec.prefix.include,
- 'elpa{suffix}-{version}'.format(
- suffix=suffix, version=elpa_version))
+ "elpa{suffix}-{version}".format(suffix=suffix, version=elpa_version),
+ )
hlist = find_all_headers(incdir)
hlist.directories = [incdir]
return hlist
- build_directory = 'spack-build'
+ build_directory = "spack-build"
parallel = False
def configure_args(self):
spec = self.spec
options = []
- options += self.with_or_without('mpi')
+ options += self.with_or_without("mpi")
# TODO: --disable-sse-assembly, --enable-sparc64, --enable-neon-arch64
- simd_features = ['vsx', 'sse', 'avx', 'avx2', 'avx512',
- 'sve128', 'sve256', 'sve512']
+ 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}'
+ msg = "--enable-{0}" if feature in spec.target else "--disable-{0}"
options.append(msg.format(feature))
- if spec.target.family == 'aarch64':
- options.append('--disable-sse-assembly')
+ if spec.target.family == "aarch64":
+ options.append("--disable-sse-assembly")
- if '%aocc' in spec:
- options.append('--disable-shared')
- options.append('--enable-static')
+ if "%aocc" in spec:
+ options.append("--disable-shared")
+ options.append("--enable-static")
# If no features are found, enable the generic ones
if not any(f in spec.target for f in simd_features):
- options.append('--enable-generic')
+ options.append("--enable-generic")
if self.compiler.name == "gcc":
gcc_options = []
- gfortran_options = ['-ffree-line-length-none']
-
- if self.compiler.version >= Version("10.0.0") \
- and spec.version <= Version("2019.11.001"):
- gfortran_options.append('-fallow-argument-mismatch')
-
- space_separator = ' '
- options.extend([
- 'CFLAGS=' + space_separator.join(gcc_options),
- 'FCFLAGS=' + space_separator.join(gfortran_options),
- ])
-
- if '%aocc' in spec:
- options.extend([
- 'FCFLAGS=-O3',
- '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-{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-{0}-compute-capability=sm_{1}'.
- format(cuda_flag.upper(), cuda_arch))
+ gfortran_options = ["-ffree-line-length-none"]
+
+ if self.compiler.version >= Version("10.0.0") and spec.version <= Version(
+ "2019.11.001"
+ ):
+ gfortran_options.append("-fallow-argument-mismatch")
+
+ space_separator = " "
+ options.extend(
+ [
+ "CFLAGS=" + space_separator.join(gcc_options),
+ "FCFLAGS=" + space_separator.join(gfortran_options),
+ ]
+ )
+
+ if "%aocc" in spec:
+ options.extend(["FCFLAGS=-O3", "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-{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-{0}-compute-capability=sm_{1}".format(cuda_flag.upper(), cuda_arch)
+ )
else:
- options.append('--disable-{0}'.format(cuda_flag))
+ options.append("--disable-{0}".format(cuda_flag))
- 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')
+ 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 += self.enable_or_disable('openmp')
+ 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)]
+ "LDFLAGS={0}".format(spec["lapack"].libs.search_flags),
+ "LIBS={0} {1}".format(spec["lapack"].libs.link_flags, spec["blas"].libs.link_flags),
+ ]
- if '+mpi' in self.spec:
+ 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())
+ "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()),
]
- if '+autotune' in self.spec:
- options.append('--enable-autotune-redistribute-matrix')
+ if "+autotune" in self.spec:
+ options.append("--enable-autotune-redistribute-matrix")
- options.append('--disable-silent-rules')
- options.append('--without-threading-support-check-during-build')
+ options.append("--disable-silent-rules")
+ options.append("--without-threading-support-check-during-build")
return options
diff --git a/var/spack/repos/builtin/packages/elsd/package.py b/var/spack/repos/builtin/packages/elsd/package.py
index 1bc84e19e9..a445d403a4 100644
--- a/var/spack/repos/builtin/packages/elsd/package.py
+++ b/var/spack/repos/builtin/packages/elsd/package.py
@@ -10,19 +10,19 @@ class Elsd(MakefilePackage):
"""ELSD: Ellipse and Line Segment Detector"""
homepage = "http://ubee.enseeiht.fr/vision/ELSD/"
- git = "https://github.com/viorik/ELSD.git"
+ git = "https://github.com/viorik/ELSD.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
def edit(self, spec, prefix):
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
- makefile = FileFilter('makefile')
- makefile.filter('-llapack -lblas', lapack_blas.link_flags)
+ makefile = FileFilter("makefile")
+ makefile.filter("-llapack -lblas", lapack_blas.link_flags)
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('elsd', prefix.bin)
+ install("elsd", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/elsdc/package.py b/var/spack/repos/builtin/packages/elsdc/package.py
index c335844d04..3f52e6c5fb 100644
--- a/var/spack/repos/builtin/packages/elsdc/package.py
+++ b/var/spack/repos/builtin/packages/elsdc/package.py
@@ -10,19 +10,19 @@ class Elsdc(MakefilePackage):
"""ELSDc: Ellipse and Line Segment Detector, with Continuous validation."""
homepage = "http://ubee.enseeiht.fr/vision/ELSD/"
- git = "https://github.com/viorik/ELSDc.git"
+ git = "https://github.com/viorik/ELSDc.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
def edit(self, spec, prefix):
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
- makefile = FileFilter('src/Makefile')
- makefile.filter('-llapack', lapack_blas.link_flags)
+ makefile = FileFilter("src/Makefile")
+ makefile.filter("-llapack", lapack_blas.link_flags)
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('elsdc', prefix.bin)
+ install("elsdc", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/elsi/package.py b/var/spack/repos/builtin/packages/elsi/package.py
index 8fd3cbcd0a..c641b87d14 100644
--- a/var/spack/repos/builtin/packages/elsi/package.py
+++ b/var/spack/repos/builtin/packages/elsi/package.py
@@ -14,59 +14,42 @@ class Elsi(CMakePackage):
codes to a variety of eigenvalue solvers."""
homepage = "https://wordpress.elsi-interchange.org/"
- url = "https://wordpress.elsi-interchange.org/wp-content/uploads/2019/03/elsi-2.2.1.tar.gz"
+ url = "https://wordpress.elsi-interchange.org/wp-content/uploads/2019/03/elsi-2.2.1.tar.gz"
- version('2.2.1', sha256='5b4b2e8fa4b3b68131fe02cc1803a884039b89a1b1138af474af66453bec0b4d')
+ version("2.2.1", sha256="5b4b2e8fa4b3b68131fe02cc1803a884039b89a1b1138af474af66453bec0b4d")
# Variants (translation of cmake options)
+ variant("add_underscore", default=True, description="Suffix C functions with an underscore")
variant(
- 'add_underscore', default=True,
- description="Suffix C functions with an underscore"
+ "elpa2_kernel",
+ default="none",
+ description="ELPA2 Kernel",
+ values=("none", "AVX", "AVX2", "AVX512"),
+ multi=False,
)
+ variant("enable_pexsi", default=False, description="Enable PEXSI support")
+ variant("enable_sips", default=False, description="Enable SLEPc-SIPs support")
+ variant("use_external_elpa", default=False, description="Build ELPA using SPACK")
+ variant("use_external_ntpoly", default=False, description="Build NTPoly using SPACK")
+ variant("use_external_omm", default=False, description="Use external libOMM and MatrixSwitch")
+ variant("use_external_superlu", default=False, description="Use external SuperLU DIST")
variant(
- 'elpa2_kernel', default="none", description="ELPA2 Kernel",
- values=('none', 'AVX', 'AVX2', 'AVX512'), multi=False
- )
- variant(
- 'enable_pexsi', default=False, description='Enable PEXSI support'
- )
- variant(
- 'enable_sips', default=False, description='Enable SLEPc-SIPs support'
- )
- variant(
- 'use_external_elpa', default=False,
- description="Build ELPA using SPACK"
- )
- variant(
- 'use_external_ntpoly', default=False,
- description="Build NTPoly using SPACK"
- )
- variant(
- 'use_external_omm', default=False,
- description="Use external libOMM and MatrixSwitch"
- )
- variant(
- 'use_external_superlu', default=False,
- description="Use external SuperLU DIST"
- )
- variant(
- 'use_mpi_iallgather', default=True,
- description="Use non-blocking collective MPI functions"
+ "use_mpi_iallgather", default=True, description="Use non-blocking collective MPI functions"
)
# Basic dependencies
- depends_on('blas', type="link")
- depends_on('lapack', type="link")
- depends_on('cmake', type="build")
- depends_on('mpi')
- depends_on('scalapack', type="link")
+ depends_on("blas", type="link")
+ depends_on("lapack", type="link")
+ depends_on("cmake", type="build")
+ depends_on("mpi")
+ depends_on("scalapack", type="link")
# Library dependencies
- depends_on('elpa', when='+use_external_elpa')
- depends_on('ntpoly', when='+use_external_ntpoly')
- depends_on('slepc', when='+enable_sips')
- depends_on('petsc', when='+enable_sips')
- depends_on('superlu-dist', when='+use_external_superlu')
+ depends_on("elpa", when="+use_external_elpa")
+ depends_on("ntpoly", when="+use_external_ntpoly")
+ depends_on("slepc", when="+enable_sips")
+ depends_on("petsc", when="+enable_sips")
+ depends_on("superlu-dist", when="+use_external_superlu")
def cmake_args(self):
from os.path import dirname
@@ -83,31 +66,33 @@ class Elsi(CMakePackage):
# Handle the various variants
if "-add_underscore" in self.spec:
args += ["-DADD_UNDERSCORE=OFF"]
- if "elpa2_kernel" in self.spec.variants and \
- self.spec.variants["elpa2_kernel"].value != "none":
+ if (
+ "elpa2_kernel" in self.spec.variants
+ and self.spec.variants["elpa2_kernel"].value != "none"
+ ):
kernel = self.spec.variants["elpa2_kernel"].value
args += ["-DELPA2_KERNEL=" + kernel]
- if '+enable_pexsi' in self.spec:
+ if "+enable_pexsi" in self.spec:
args += ["-DENABLE_PEXSI=ON"]
- if '+enable_sips' in self.spec:
+ if "+enable_sips" in self.spec:
args += ["-DENABLE_SIPS=ON"]
- if '+use_external_elpa' in self.spec:
+ if "+use_external_elpa" in self.spec:
args += ["-DUSE_EXTERNAL_ELPA=ON"]
# Setup the searchpath for elpa
- elpa = self.spec['elpa']
- elpa_module = find(elpa.prefix, 'elpa.mod')
+ elpa = self.spec["elpa"]
+ elpa_module = find(elpa.prefix, "elpa.mod")
args += ["-DINC_PATHS=" + dirname(elpa_module[0])]
- if '+use_external_ntpoly' in self.spec:
+ if "+use_external_ntpoly" in self.spec:
args += ["-DUSE_EXTERNAL_NTPOLY=ON"]
- if '+use_external_omm' in self.spec:
+ if "+use_external_omm" in self.spec:
args += ["-DUSE_EXTERNAL_OMM=ON"]
- if '+use_external_superlu' in self.spec:
+ if "+use_external_superlu" in self.spec:
args += ["-DUSE_EXTERNAL_SUPERLU=ON"]
- if '-use_mpi_iallgather' in self.spec:
+ if "-use_mpi_iallgather" in self.spec:
args += ["-DUSE_MPI_IALLGATHER=OFF"]
# Only when using fujitsu compiler
- if spec.satisfies('%fj'):
+ if spec.satisfies("%fj"):
args += ["-DCMAKE_Fortran_MODDIR_FLAG=-M"]
return args
diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py
index 410429a41c..4a3e57b134 100644
--- a/var/spack/repos/builtin/packages/emacs/package.py
+++ b/var/spack/repos/builtin/packages/emacs/package.py
@@ -12,99 +12,97 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage):
"""The Emacs programmable text editor."""
homepage = "https://www.gnu.org/software/emacs"
- git = "git://git.savannah.gnu.org/emacs.git"
+ git = "git://git.savannah.gnu.org/emacs.git"
gnu_mirror_path = "emacs/emacs-24.5.tar.gz"
- version('master', branch='master')
- version('28.1', sha256='1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28')
- version('27.2', sha256='80ff6118fb730a6d8c704dccd6915a6c0e0a166ab1daeef9fe68afa9073ddb73')
- version('27.1', sha256='ffbfa61dc951b92cf31ebe3efc86c5a9d4411a1222b8a4ae6716cfd0e2a584db')
- version('26.3', sha256='09c747e048137c99ed35747b012910b704e0974dde4db6696fde7054ce387591')
- version('26.2', sha256='4f99e52a38a737556932cc57479e85c305a37a8038aaceb5156625caf102b4eb')
- version('26.1', sha256='760382d5e8cdc5d0d079e8f754bce1136fbe1473be24bb885669b0e38fc56aa3')
- version('25.3', sha256='f72c6a1b48b6fbaca2b991eed801964a208a2f8686c70940013db26cd37983c9')
- version('25.2', sha256='505bbd6ea6c197947001d0f80bfccb6b30e1add584d6376f54d4fd6e4de72d2d')
- version('25.1', sha256='763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67')
- version('24.5', sha256='2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6')
-
- variant('X', default=False, description="Enable an X toolkit")
+ version("master", branch="master")
+ version("28.1", sha256="1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28")
+ version("27.2", sha256="80ff6118fb730a6d8c704dccd6915a6c0e0a166ab1daeef9fe68afa9073ddb73")
+ version("27.1", sha256="ffbfa61dc951b92cf31ebe3efc86c5a9d4411a1222b8a4ae6716cfd0e2a584db")
+ version("26.3", sha256="09c747e048137c99ed35747b012910b704e0974dde4db6696fde7054ce387591")
+ version("26.2", sha256="4f99e52a38a737556932cc57479e85c305a37a8038aaceb5156625caf102b4eb")
+ version("26.1", sha256="760382d5e8cdc5d0d079e8f754bce1136fbe1473be24bb885669b0e38fc56aa3")
+ version("25.3", sha256="f72c6a1b48b6fbaca2b991eed801964a208a2f8686c70940013db26cd37983c9")
+ version("25.2", sha256="505bbd6ea6c197947001d0f80bfccb6b30e1add584d6376f54d4fd6e4de72d2d")
+ version("25.1", sha256="763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67")
+ version("24.5", sha256="2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6")
+
+ variant("X", default=False, description="Enable an X toolkit")
variant(
- 'toolkit',
- default='gtk',
- values=('gtk', 'athena'),
- description="Select an X toolkit (gtk, athena)"
+ "toolkit",
+ default="gtk",
+ values=("gtk", "athena"),
+ description="Select an X toolkit (gtk, athena)",
)
- variant('tls', default=False, description="Build Emacs with gnutls")
- variant('native', default=False, description="enable native compilation of elisp")
-
- depends_on('pkgconfig', type='build')
-
- depends_on('ncurses')
- depends_on('pcre')
- depends_on('zlib')
- depends_on('libxml2')
- depends_on('libtiff', when='+X')
- depends_on('libpng', when='+X')
- depends_on('libxpm', when='+X')
- depends_on('giflib', when='+X')
- depends_on('libx11', when='+X')
- depends_on('libxaw', when='+X toolkit=athena')
- depends_on('gtkplus', when='+X toolkit=gtk')
- depends_on('gnutls', when='+tls')
- depends_on('jpeg')
- depends_on('m4', type='build', when="@master:")
- depends_on('autoconf', type='build', when="@master:")
- depends_on('automake', type='build', when="@master:")
- depends_on('libtool', type='build', when="@master:")
- depends_on('texinfo', type='build', when="@master:")
- depends_on('gcc@11: +strip languages=jit', when="+native")
-
- conflicts('@:26.3', when='platform=darwin os=catalina')
- conflicts('+native', when='@:27', msg="native compilation require @master")
-
- @when('platform=darwin')
+ variant("tls", default=False, description="Build Emacs with gnutls")
+ variant("native", default=False, description="enable native compilation of elisp")
+
+ depends_on("pkgconfig", type="build")
+
+ depends_on("ncurses")
+ depends_on("pcre")
+ depends_on("zlib")
+ depends_on("libxml2")
+ depends_on("libtiff", when="+X")
+ depends_on("libpng", when="+X")
+ depends_on("libxpm", when="+X")
+ depends_on("giflib", when="+X")
+ depends_on("libx11", when="+X")
+ depends_on("libxaw", when="+X toolkit=athena")
+ depends_on("gtkplus", when="+X toolkit=gtk")
+ depends_on("gnutls", when="+tls")
+ depends_on("jpeg")
+ depends_on("m4", type="build", when="@master:")
+ depends_on("autoconf", type="build", when="@master:")
+ depends_on("automake", type="build", when="@master:")
+ depends_on("libtool", type="build", when="@master:")
+ depends_on("texinfo", type="build", when="@master:")
+ depends_on("gcc@11: +strip languages=jit", when="+native")
+
+ conflicts("@:26.3", when="platform=darwin os=catalina")
+ conflicts("+native", when="@:27", msg="native compilation require @master")
+
+ @when("platform=darwin")
def setup_build_environment(self, env):
# on macOS, emacs' config does search hard enough for ncurses'
# termlib `-ltinfo` lib, which results in linker errors
- if '+termlib' in self.spec['ncurses']:
- env.append_flags('LDFLAGS', '-ltinfo')
+ if "+termlib" in self.spec["ncurses"]:
+ env.append_flags("LDFLAGS", "-ltinfo")
def configure_args(self):
spec = self.spec
- toolkit = spec.variants['toolkit'].value
- if '+X' in spec:
- args = [
- '--with-x',
- '--with-x-toolkit={0}'.format(toolkit)
- ]
+ toolkit = spec.variants["toolkit"].value
+ if "+X" in spec:
+ args = ["--with-x", "--with-x-toolkit={0}".format(toolkit)]
else:
- args = ['--without-x']
+ args = ["--without-x"]
# On OS X/macOS, do not build "nextstep/Emacs.app", because
# doing so throws an error at build-time
- if sys.platform == 'darwin':
- args.append('--without-ns')
+ if sys.platform == "darwin":
+ args.append("--without-ns")
- if '+native' in spec:
- args.append('--with-native-compilation')
+ if "+native" in spec:
+ args.append("--with-native-compilation")
- if '+tls' in spec:
- args.append('--with-gnutls')
+ if "+tls" in spec:
+ args.append("--with-gnutls")
else:
- args.append('--without-gnutls')
+ args.append("--without-gnutls")
return args
def _test_check_versions(self):
"""Perform version checks on installed package binaries."""
- checks = ['ctags', 'ebrowse', 'emacs', 'emacsclient', 'etags']
+ checks = ["ctags", "ebrowse", "emacs", "emacsclient", "etags"]
for exe in checks:
expected = str(self.spec.version)
- reason = 'test version of {0} is {1}'.format(exe, expected)
- self.run_test(exe, ['--version'], expected, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test version of {0} is {1}".format(exe, expected)
+ self.run_test(
+ exe, ["--version"], expected, installed=True, purpose=reason, skip_missing=True
+ )
def test(self):
"""Perform smoke tests on the installed package."""
diff --git a/var/spack/repos/builtin/packages/ember/package.py b/var/spack/repos/builtin/packages/ember/package.py
index 9ed80f7c28..102e507d18 100644
--- a/var/spack/repos/builtin/packages/ember/package.py
+++ b/var/spack/repos/builtin/packages/ember/package.py
@@ -14,43 +14,43 @@ class Ember(MakefilePackage):
etc.).
"""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
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"
+ git = "https://github.com/sstsimulator/ember.git"
+ url = "https://github.com/sstsimulator/ember/archive/v1.0.0.tar.gz"
- version('1.0.0', sha256='5b2a6b8055b46ab3ea2c7baabaf4d280d837bb7c21eba0c9f59e092c6fc1c4a6')
+ version("1.0.0", sha256="5b2a6b8055b46ab3ea2c7baabaf4d280d837bb7c21eba0c9f59e092c6fc1c4a6")
- depends_on('mpi')
+ depends_on("mpi")
# TODO: shmem variant disabled due to lack of shmem spackage
def edit(self, spec, prefix):
- file = open('Makefile', 'w')
+ file = open("Makefile", "w")
- file.write('CC = mpicc\n')
- file.write('CFLAGS = -O3 -std=c99\n')
- file.write('OSHMEM_CC=cc\n')
- file.write('OSHMEM_C_FLAGS=-O3 -g\n')
+ file.write("CC = mpicc\n")
+ file.write("CFLAGS = -O3 -std=c99\n")
+ file.write("OSHMEM_CC=cc\n")
+ file.write("OSHMEM_C_FLAGS=-O3 -g\n")
- file.write('export CC CFLAGS OSHMEM_CC OSHMEM_C_FLAGS\n')
+ file.write("export CC CFLAGS OSHMEM_CC OSHMEM_C_FLAGS\n")
- file.write('all:\n')
- file.write('\t@$(MAKE) -C mpi/halo3d -f Makefile\n')
- file.write('\t@$(MAKE) -C mpi/halo3d-26 -f Makefile\n')
- file.write('\t@$(MAKE) -C mpi/incast -f Makefile\n')
- file.write('\t@$(MAKE) -C mpi/pingpong -f Makefile\n')
- file.write('\t@$(MAKE) -C mpi/sweep3d -f Makefile\n')
+ file.write("all:\n")
+ file.write("\t@$(MAKE) -C mpi/halo3d -f Makefile\n")
+ file.write("\t@$(MAKE) -C mpi/halo3d-26 -f Makefile\n")
+ file.write("\t@$(MAKE) -C mpi/incast -f Makefile\n")
+ file.write("\t@$(MAKE) -C mpi/pingpong -f Makefile\n")
+ file.write("\t@$(MAKE) -C mpi/sweep3d -f Makefile\n")
# file.write('\t@$(MAKE) -C shmem/hotspotinc -f Makefile\n')
# file.write('\t@$(MAKE) -C shmem/randominc -f Makefile\n')
- file.write('.PHONY: clean\n')
- file.write('clean:\n')
- file.write('\t@$(MAKE) -C mpi/halo3d -f Makefile clean\n')
- file.write('\t@$(MAKE) -C mpi/halo3d-26 -f Makefile clean\n')
- file.write('\t@$(MAKE) -C mpi/incast -f Makefile clean\n')
- file.write('\t@$(MAKE) -C mpi/pingpong -f Makefile clean\n')
- file.write('\t@$(MAKE) -C mpi/sweep3d -f Makefile clean\n')
+ file.write(".PHONY: clean\n")
+ file.write("clean:\n")
+ file.write("\t@$(MAKE) -C mpi/halo3d -f Makefile clean\n")
+ file.write("\t@$(MAKE) -C mpi/halo3d-26 -f Makefile clean\n")
+ file.write("\t@$(MAKE) -C mpi/incast -f Makefile clean\n")
+ file.write("\t@$(MAKE) -C mpi/pingpong -f Makefile clean\n")
+ file.write("\t@$(MAKE) -C mpi/sweep3d -f Makefile clean\n")
# file.write('\t@$(MAKE) -C shmem/hotspotinc -f Makefile clean\n')
# file.write('\t@$(MAKE) -C shmem/randominc -f Makefile clean\n')
@@ -59,31 +59,31 @@ class Ember(MakefilePackage):
@property
def build_targets(self):
targets = []
- cc = self.spec['mpi'].mpicc
- cflags = '-O3'
- if not self.spec.satisfies('%nvhpc@:20.11'):
- cflags = '-O3 -std=c99'
- oshmem_cc = 'cc'
- oshmem_c_flags = '-O3 -g'
-
- targets.append('CC = {0}'.format(cc))
- targets.append('CFLAGS = {0}'.format(cflags))
- targets.append('OSHMEM_CC = {0}'.format(oshmem_cc))
- targets.append('OSHMEM_C_FLAGS = {0}'.format(oshmem_c_flags))
+ cc = self.spec["mpi"].mpicc
+ cflags = "-O3"
+ if not self.spec.satisfies("%nvhpc@:20.11"):
+ cflags = "-O3 -std=c99"
+ oshmem_cc = "cc"
+ oshmem_c_flags = "-O3 -g"
+
+ targets.append("CC = {0}".format(cc))
+ targets.append("CFLAGS = {0}".format(cflags))
+ targets.append("OSHMEM_CC = {0}".format(oshmem_cc))
+ targets.append("OSHMEM_C_FLAGS = {0}".format(oshmem_c_flags))
return targets
def install(self, spec, prefix):
mkdirp(prefix.docs)
- install('README.md', prefix.docs)
- install('README.MPI.halo3d', prefix.docs)
- install('README.MPI.halo3d-26', prefix.docs)
- install('README.MPI.incast', prefix.docs)
- install('README.MPI.sweep3d', prefix.docs)
+ install("README.md", prefix.docs)
+ install("README.MPI.halo3d", prefix.docs)
+ install("README.MPI.halo3d-26", prefix.docs)
+ install("README.MPI.incast", prefix.docs)
+ install("README.MPI.sweep3d", prefix.docs)
mkdirp(prefix.bin)
- install('mpi/halo3d/halo3d', prefix.bin)
- install('mpi/halo3d-26/halo3d-26', prefix.bin)
- install('mpi/incast/incast', prefix.bin)
- install('mpi/pingpong/pingpong', prefix.bin)
- install('mpi/sweep3d/sweep3d', prefix.bin)
+ install("mpi/halo3d/halo3d", prefix.bin)
+ install("mpi/halo3d-26/halo3d-26", prefix.bin)
+ install("mpi/incast/incast", prefix.bin)
+ install("mpi/pingpong/pingpong", prefix.bin)
+ install("mpi/sweep3d/sweep3d", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/emboss/package.py b/var/spack/repos/builtin/packages/emboss/package.py
index a9289be00e..999aa3edf1 100644
--- a/var/spack/repos/builtin/packages/emboss/package.py
+++ b/var/spack/repos/builtin/packages/emboss/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Emboss(AutotoolsPackage):
"""EMBOSS is a free Open Source software analysis package specially
- developed for the needs of the molecular biology (e.g. EMBnet) user
- community"""
+ developed for the needs of the molecular biology (e.g. EMBnet) user
+ community"""
homepage = "http://emboss.sourceforge.net/"
- url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz"
+ url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz"
- version('6.6.0', sha256='7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e')
+ version("6.6.0", sha256="7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e")
- depends_on('libxpm')
- depends_on('libgd')
- depends_on('postgresql')
+ depends_on("libxpm")
+ depends_on("libgd")
+ depends_on("postgresql")
- @run_after('configure')
+ @run_after("configure")
def skip_update_checks(self):
# Delete $(bindir)/embossupdate to skip update checks
- filter_file('$(bindir)/embossupdate', '', 'Makefile', string=True)
+ filter_file("$(bindir)/embossupdate", "", "Makefile", string=True)
diff --git a/var/spack/repos/builtin/packages/embree/package.py b/var/spack/repos/builtin/packages/embree/package.py
index 75c1a9cffa..8cf2ef17bd 100644
--- a/var/spack/repos/builtin/packages/embree/package.py
+++ b/var/spack/repos/builtin/packages/embree/package.py
@@ -10,54 +10,58 @@ class Embree(CMakePackage):
"""Intel Embree High Performance Ray Tracing Kernels"""
homepage = "https://embree.org"
- url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
- maintainers = ['aumuell']
-
- version('3.13.1', sha256='00dbd852f19ae2b95f5106dd055ca4b304486436ced0ccf842aec4e38a4df425')
- version('3.13.0', sha256='4d86a69508a7e2eb8710d571096ad024b5174834b84454a8020d3a910af46f4f')
- version('3.12.2', sha256='22a527622497e07970e733f753cc9c10b2bd82c3b17964e4f71a5fd2cdfca210')
- version('3.12.1', sha256='0c9e760b06e178197dd29c9a54f08ff7b184b0487b5ba8b8be058e219e23336e')
- version('3.12.0', sha256='f3646977c45a9ece1fb0cfe107567adcc645b1c77c27b36572d0aa98b888190c')
- version('3.11.0', sha256='2ccc365c00af4389aecc928135270aba7488e761c09d7ebbf1bf3e62731b147d')
- version('3.10.0', sha256='f1f7237360165fb8859bf71ee5dd8caec1fe02d4d2f49e89c11d250afa067aff')
- version('3.9.0', sha256='53855e2ceb639289b20448ae9deab991151aa5f0bc7f9cc02f2af4dd6199d5d1')
- version('3.8.0', sha256='40cbc90640f63c318e109365d29aea00003e4bd14aaba8bb654fc1010ea5753a')
- version('3.7.0', sha256='2b6300ebe30bb3d2c6e5f23112b4e21a25a384a49c5e3c35440aa6f3c8d9fe84')
+ url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
+ maintainers = ["aumuell"]
+
+ version("3.13.1", sha256="00dbd852f19ae2b95f5106dd055ca4b304486436ced0ccf842aec4e38a4df425")
+ version("3.13.0", sha256="4d86a69508a7e2eb8710d571096ad024b5174834b84454a8020d3a910af46f4f")
+ version("3.12.2", sha256="22a527622497e07970e733f753cc9c10b2bd82c3b17964e4f71a5fd2cdfca210")
+ version("3.12.1", sha256="0c9e760b06e178197dd29c9a54f08ff7b184b0487b5ba8b8be058e219e23336e")
+ version("3.12.0", sha256="f3646977c45a9ece1fb0cfe107567adcc645b1c77c27b36572d0aa98b888190c")
+ version("3.11.0", sha256="2ccc365c00af4389aecc928135270aba7488e761c09d7ebbf1bf3e62731b147d")
+ version("3.10.0", sha256="f1f7237360165fb8859bf71ee5dd8caec1fe02d4d2f49e89c11d250afa067aff")
+ version("3.9.0", sha256="53855e2ceb639289b20448ae9deab991151aa5f0bc7f9cc02f2af4dd6199d5d1")
+ version("3.8.0", sha256="40cbc90640f63c318e109365d29aea00003e4bd14aaba8bb654fc1010ea5753a")
+ version("3.7.0", sha256="2b6300ebe30bb3d2c6e5f23112b4e21a25a384a49c5e3c35440aa6f3c8d9fe84")
# default to Release, as RelWithDebInfo creates a lot of overhead
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
- variant('ispc', default=True, description='Enable ISPC support')
- depends_on('ispc', when='+ispc', type='build')
+ variant("ispc", default=True, description="Enable ISPC support")
+ depends_on("ispc", when="+ispc", type="build")
- depends_on('tbb')
+ depends_on("tbb")
def cmake_args(self):
spec = self.spec
args = [
- '-DBUILD_TESTING=OFF',
- '-DEMBREE_TUTORIALS=OFF',
- '-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=ON',
- self.define_from_variant('EMBREE_ISPC_SUPPORT', 'ispc'),
-
+ "-DBUILD_TESTING=OFF",
+ "-DEMBREE_TUTORIALS=OFF",
+ "-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=ON",
+ self.define_from_variant("EMBREE_ISPC_SUPPORT", "ispc"),
# code selection and defines controlling namespace names are based on
# defines controlled by compiler flags, so disable ISAs below compiler
# flags chosen by spack
- self.define('EMBREE_ISA_SSE2', 'sse4_2' not in spec.target),
- self.define('EMBREE_ISA_SSE42', 'avx' not in spec.target),
- self.define('EMBREE_ISA_AVX', 'avx2' not in spec.target),
- self.define('EMBREE_ISA_AVX2', 'avx512' not in spec.target),
- self.define('EMBREE_ISA_AVX512SKX', True),
+ self.define("EMBREE_ISA_SSE2", "sse4_2" not in spec.target),
+ self.define("EMBREE_ISA_SSE42", "avx" not in spec.target),
+ self.define("EMBREE_ISA_AVX", "avx2" not in spec.target),
+ self.define("EMBREE_ISA_AVX2", "avx512" not in spec.target),
+ self.define("EMBREE_ISA_AVX512SKX", True),
]
- if spec.satisfies('%gcc@:7'):
+ if spec.satisfies("%gcc@:7"):
# remove unsupported -mprefer-vector-width=256, otherwise copied
# from common/cmake/gnu.cmake
- args.append('-DFLAGS_AVX512SKX=-mavx512f -mavx512dq -mavx512cd'
- ' -mavx512bw -mavx512vl -mf16c -mavx2 -mfma -mlzcnt'
- ' -mbmi -mbmi2')
+ args.append(
+ "-DFLAGS_AVX512SKX=-mavx512f -mavx512dq -mavx512cd"
+ " -mavx512bw -mavx512vl -mf16c -mavx2 -mfma -mlzcnt"
+ " -mbmi -mbmi2"
+ )
return args
diff --git a/var/spack/repos/builtin/packages/enca/package.py b/var/spack/repos/builtin/packages/enca/package.py
index 39fe618dfc..11fb336e94 100644
--- a/var/spack/repos/builtin/packages/enca/package.py
+++ b/var/spack/repos/builtin/packages/enca/package.py
@@ -10,18 +10,18 @@ class Enca(AutotoolsPackage):
"""Extremely Naive Charset Analyser."""
homepage = "https://cihar.com/software/enca/"
- url = "https://github.com/nijel/enca/archive/1.19.tar.gz"
+ url = "https://github.com/nijel/enca/archive/1.19.tar.gz"
- version('1.19', sha256='c4fd9a3d7c086803138842b18eed6072ec8810859b0e1ef091f1e1138d283f25')
- version('1.18', sha256='b87c8d1bffc7d06ba74f82ae86eb21a921e94629203b2a971c966064c7eadab2')
- version('1.17', sha256='b20372440c500e6463bd61dab0e68131cdfe857c6b7ca139b5c6cbf01e24fdc7')
- version('1.16', sha256='14457b185c77b947ca2f8e09a2c3ec66940d97a2ccea28b8e61a6e0f3a0033f6')
+ version("1.19", sha256="c4fd9a3d7c086803138842b18eed6072ec8810859b0e1ef091f1e1138d283f25")
+ version("1.18", sha256="b87c8d1bffc7d06ba74f82ae86eb21a921e94629203b2a971c966064c7eadab2")
+ version("1.17", sha256="b20372440c500e6463bd61dab0e68131cdfe857c6b7ca139b5c6cbf01e24fdc7")
+ version("1.16", sha256="14457b185c77b947ca2f8e09a2c3ec66940d97a2ccea28b8e61a6e0f3a0033f6")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/enchant/package.py b/var/spack/repos/builtin/packages/enchant/package.py
index 6c12ddcc63..f89708ae4a 100644
--- a/var/spack/repos/builtin/packages/enchant/package.py
+++ b/var/spack/repos/builtin/packages/enchant/package.py
@@ -13,35 +13,33 @@ class Enchant(AutotoolsPackage):
consistent interface."""
homepage = "https://abiword.github.io/enchant/"
- url = "https://github.com/AbiWord/enchant/releases/download/v2.2.5/enchant-2.2.5.tar.gz"
-
- version('2.2.7', sha256='1b22976135812b35cb5b8d21a53ad11d5e7c1426c93f51e7a314a2a42cab3a09')
- version('2.2.6', sha256='8048c5bd26190b21279745cfecd05808c635bc14912e630340cd44a49b87d46d')
- version('2.2.5', sha256='ffce4ea00dbda1478d91c3e1538cadfe5761d9d6c0ceb27bc3dba51882fe1c47')
- version('2.2.4', sha256='f5d6b689d23c0d488671f34b02d07b84e408544b2f9f6e74fb7221982b1ecadc')
- version('2.2.3', sha256='abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d')
- version('2.2.2', sha256='661e0bd6e82deceb97fc94bea8c6cdbcd8ff631cfa9b7a8196de2e2aca13f54b')
- version('2.2.1', sha256='97f2e617b34c66a645b9cfebe33700456c31ca2f4677eb827b364c0d9a7f4e5e')
- version('2.2.0', sha256='2f91ea06992c923ac9b72c9c6d0a7c855aef1e9a4991350d83236723c8412467')
- version('2.1.3', sha256='086f37cdecd42eacd0e1dc291f5410d9ca2c5ed2cd9cd9367729e3d2d18a8550')
- version('2.1.2', sha256='039563bbb7340f320bd9237dac92303b3e7768152b08fc0d554d6957ae7183d8')
- version('2.1.1', sha256='5fad0a1e82ddfed91647e93da5955fc76249760fd51865648a36074dc97d526c')
- version('2.1.0', sha256='2cdda2d9edb62ad895c34be35c598d56ac5b9b9298f3dfdaa2b40a1914d1db7e')
-
- variant('hunspell', default=True, description='Enables hunspell backend')
-
- depends_on('glib')
- depends_on('aspell')
- depends_on('hunspell', when='+hunspell')
+ url = "https://github.com/AbiWord/enchant/releases/download/v2.2.5/enchant-2.2.5.tar.gz"
+
+ version("2.2.7", sha256="1b22976135812b35cb5b8d21a53ad11d5e7c1426c93f51e7a314a2a42cab3a09")
+ version("2.2.6", sha256="8048c5bd26190b21279745cfecd05808c635bc14912e630340cd44a49b87d46d")
+ version("2.2.5", sha256="ffce4ea00dbda1478d91c3e1538cadfe5761d9d6c0ceb27bc3dba51882fe1c47")
+ version("2.2.4", sha256="f5d6b689d23c0d488671f34b02d07b84e408544b2f9f6e74fb7221982b1ecadc")
+ version("2.2.3", sha256="abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d")
+ version("2.2.2", sha256="661e0bd6e82deceb97fc94bea8c6cdbcd8ff631cfa9b7a8196de2e2aca13f54b")
+ version("2.2.1", sha256="97f2e617b34c66a645b9cfebe33700456c31ca2f4677eb827b364c0d9a7f4e5e")
+ version("2.2.0", sha256="2f91ea06992c923ac9b72c9c6d0a7c855aef1e9a4991350d83236723c8412467")
+ version("2.1.3", sha256="086f37cdecd42eacd0e1dc291f5410d9ca2c5ed2cd9cd9367729e3d2d18a8550")
+ version("2.1.2", sha256="039563bbb7340f320bd9237dac92303b3e7768152b08fc0d554d6957ae7183d8")
+ version("2.1.1", sha256="5fad0a1e82ddfed91647e93da5955fc76249760fd51865648a36074dc97d526c")
+ version("2.1.0", sha256="2cdda2d9edb62ad895c34be35c598d56ac5b9b9298f3dfdaa2b40a1914d1db7e")
+
+ variant("hunspell", default=True, description="Enables hunspell backend")
+
+ depends_on("glib")
+ depends_on("aspell")
+ depends_on("hunspell", when="+hunspell")
def configure_args(self):
spec = self.spec
- args = ['--with-aspell',
- '--with-aspell-dir={0}'.format(spec['aspell'].prefix)]
+ args = ["--with-aspell", "--with-aspell-dir={0}".format(spec["aspell"].prefix)]
- args += self.with_or_without('hunspell')
- if spec.satisfies('+hunspell'):
- args.append(
- '--with-hunspell-dir={0}'.format(spec['hunspell'].prefix))
+ args += self.with_or_without("hunspell")
+ if spec.satisfies("+hunspell"):
+ args.append("--with-hunspell-dir={0}".format(spec["hunspell"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/energyplus/package.py b/var/spack/repos/builtin/packages/energyplus/package.py
index a4b29918c3..db09c5f12b 100644
--- a/var/spack/repos/builtin/packages/energyplus/package.py
+++ b/var/spack/repos/builtin/packages/energyplus/package.py
@@ -11,33 +11,41 @@ from spack.package import *
class Energyplus(Package):
"""EnergyPlus is a whole building energy simulation program that engineers,
- architects, and researchers use to model both energy consumption for
- heating, cooling, ventilation, lighting and plug and process loads
- and water use in buildings"""
+ architects, and researchers use to model both energy consumption for
+ heating, cooling, ventilation, lighting and plug and process loads
+ and water use in buildings"""
homepage = "https://energyplus.net"
# versions require explicit URLs as they contain hashes
- version('9.3.0', sha256='c939dc4f867224e110485a8e0712ce4cfb1e06f8462bc630b54f83a18c93876c',
- url="https://github.com/NREL/EnergyPlus/releases/download/v9.3.0/EnergyPlus-9.3.0-baff08990c-Linux-x86_64.tar.gz")
- version('9.1.0', sha256='742b4897781ca8f4b0065c9cd97bf9c5e378968dbb059a21eb91856ba1ec404d',
- url="https://github.com/NREL/EnergyPlus/releases/download/v9.1.0/EnergyPlus-9.1.0-08d2e308bb-Linux-x86_64.tar.gz")
- version('8.9.0', sha256='13a5192b25815eb37b3ffd019ce3b99fd9f854935f8cc4362814f41c56e9ca98',
- url="https://github.com/NREL/EnergyPlus/releases/download/v8.9.0-WithIDDFixes/EnergyPlus-8.9.0-eba93e8e1b-Linux-x86_64.tar.gz")
+ version(
+ "9.3.0",
+ sha256="c939dc4f867224e110485a8e0712ce4cfb1e06f8462bc630b54f83a18c93876c",
+ url="https://github.com/NREL/EnergyPlus/releases/download/v9.3.0/EnergyPlus-9.3.0-baff08990c-Linux-x86_64.tar.gz",
+ )
+ version(
+ "9.1.0",
+ sha256="742b4897781ca8f4b0065c9cd97bf9c5e378968dbb059a21eb91856ba1ec404d",
+ url="https://github.com/NREL/EnergyPlus/releases/download/v9.1.0/EnergyPlus-9.1.0-08d2e308bb-Linux-x86_64.tar.gz",
+ )
+ version(
+ "8.9.0",
+ sha256="13a5192b25815eb37b3ffd019ce3b99fd9f854935f8cc4362814f41c56e9ca98",
+ url="https://github.com/NREL/EnergyPlus/releases/download/v8.9.0-WithIDDFixes/EnergyPlus-8.9.0-eba93e8e1b-Linux-x86_64.tar.gz",
+ )
def install(self, spec, prefix):
# binary distribution, we just unpack to lib/energyplus
# and then symlink the appropriate targets
# there is only one folder with a semi-predictable name so we glob it
- source_dir = '.'
+ source_dir = "."
- if spec.satisfies('@:8.9.9'):
- source_dir = glob.glob('EnergyPlus*')[0]
+ if spec.satisfies("@:8.9.9"):
+ source_dir = glob.glob("EnergyPlus*")[0]
install_tree(source_dir, prefix.lib.enregyplus)
mkdirp(prefix.bin)
- for b in ['energyplus', 'EPMacro', 'ExpandObjects']:
- os.symlink(join_path(prefix.lib.energyplus, b),
- join_path(prefix.bin, b))
+ for b in ["energyplus", "EPMacro", "ExpandObjects"]:
+ os.symlink(join_path(prefix.lib.energyplus, b), join_path(prefix.bin, b))
diff --git a/var/spack/repos/builtin/packages/entrezdirect/package.py b/var/spack/repos/builtin/packages/entrezdirect/package.py
index 89ed4548e5..d62197aad9 100644
--- a/var/spack/repos/builtin/packages/entrezdirect/package.py
+++ b/var/spack/repos/builtin/packages/entrezdirect/package.py
@@ -8,23 +8,25 @@ from spack.package import *
class Entrezdirect(Package):
"""Entrez Direct (EDirect) provides access to the NCBI's suite of
- interconnected databases (publication, sequence, structure,
- gene, variation, expression, etc.) from a UNIX terminal window."""
+ interconnected databases (publication, sequence, structure,
+ gene, variation, expression, etc.) from a UNIX terminal window."""
homepage = "https://www.ncbi.nlm.nih.gov/books/NBK179288/"
- version('10.7.20190114', sha256='4152749e6a3aac71a64e9367527428714ed16cf1fb6c7eff1298cca9ef144c0d')
+ version(
+ "10.7.20190114", sha256="4152749e6a3aac71a64e9367527428714ed16cf1fb6c7eff1298cca9ef144c0d"
+ )
- depends_on('perl', type='run')
- depends_on('perl-html-parser', type='run')
- depends_on('perl-libwww-perl', type='run')
- depends_on('perl-lwp-protocol-https', type='run')
- depends_on('perl-http-message', type='run')
- depends_on('perl-xml-simple', type='run')
+ depends_on("perl", type="run")
+ depends_on("perl-html-parser", type="run")
+ depends_on("perl-libwww-perl", type="run")
+ depends_on("perl-lwp-protocol-https", type="run")
+ depends_on("perl-http-message", type="run")
+ depends_on("perl-xml-simple", type="run")
def url_for_version(self, ver):
- pfx = 'ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/'
- return pfx + '{0}/edirect-{0}.tar.gz'.format(ver.dotted)
+ pfx = "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/"
+ return pfx + "{0}/edirect-{0}.tar.gz".format(ver.dotted)
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/entt/package.py b/var/spack/repos/builtin/packages/entt/package.py
index a739f91274..d70e0affde 100644
--- a/var/spack/repos/builtin/packages/entt/package.py
+++ b/var/spack/repos/builtin/packages/entt/package.py
@@ -14,18 +14,16 @@ class Entt(CMakePackage):
homepage = "https://entt.docsforge.com"
url = "https://github.com/skypjack/entt/archive/v3.5.2.tar.gz"
- version('3.5.2', sha256='f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036')
+ version("3.5.2", sha256="f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036")
- depends_on('cmake@3.7.0:', type='build')
- depends_on('doxygen@1.8.0:', type='build')
+ depends_on("cmake@3.7.0:", type="build")
+ depends_on("doxygen@1.8.0:", type="build")
# TODO: This list is not comprehensive, we might want to extend it later
- compiler_warning = 'EnTT requires a compiler with support for C++17'
- conflicts('%apple-clang@:10.1', msg=compiler_warning)
- conflicts('%clang@:6', msg=compiler_warning)
- conflicts('%gcc@:7.1', msg=compiler_warning)
+ compiler_warning = "EnTT requires a compiler with support for C++17"
+ conflicts("%apple-clang@:10.1", msg=compiler_warning)
+ conflicts("%clang@:6", msg=compiler_warning)
+ conflicts("%gcc@:7.1", msg=compiler_warning)
def cmake_args(self):
- return [
- '-DBUILD_DOCS=ON'
- ]
+ return ["-DBUILD_DOCS=ON"]
diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py
index cc36b2fbaa..f33debb6ea 100644
--- a/var/spack/repos/builtin/packages/environment-modules/package.py
+++ b/var/spack/repos/builtin/packages/environment-modules/package.py
@@ -12,123 +12,116 @@ class EnvironmentModules(Package):
modification of a user's environment via module files.
"""
- homepage = 'https://cea-hpc.github.io/modules/'
- url = 'https://github.com/cea-hpc/modules/releases/download/v5.1.1/modules-5.1.1.tar.gz'
-
- maintainers = ['xdelaruelle']
-
- version('5.1.1', sha256='1985f79e0337f63d6564b08db0238cf96a276a4184def822bb8ad37996dc8295')
- version('5.1.0', sha256='1ab1e859b9c8bca8a8d332945366567fae4cf8dd7e312a689daaff46e7ffa949')
- version('5.0.1', sha256='33a598eaff0713de09e479c2636ecde188b982584e56377f234e5065a61be7ba')
- version('5.0.0', sha256='428e23ac51a6006605de65ed9114d544a5506cb4b6bfb03d8522778f13e4f7ea')
- version('4.8.0', sha256='d6b45cadc2146ed5e0b25a96d44643ad516054eb7745acb14a1dc7bf30744f6e')
- version('4.7.1', sha256='ee7ecd62bbbde6d51e30788a97800c39e72515b6a910839fb84041b35ba42b4d')
- version('4.7.0', sha256='3ab0a649e23b4dd00963e4cae60e573b449194ecb4035c5ce487330b272b4d06')
- version('4.6.1', sha256='3445df39abe5838b94552b53e7dbff56ada8347b9fdc6c04a72297d5b04af76f')
- version('4.6.0', sha256='b42b14bb696bf1075ade1ecaefe7735dbe411db4c29031a1dae549435eafa946')
- version('4.5.3', sha256='7cbd9c61e6dcd82a3f81b5ced92c3cf84ecc5489639bdfc94869256383a2c915')
- version('4.5.2', sha256='74ccc9ab0fea0064ff3f4c5841435cef13cc6d9869b3c2b25e5ca4efa64a69a1')
- version('4.5.1', sha256='7d4bcc8559e7fbbc52e526fc86a15b161ff4422aa49eee37897ee7a48eb64ac2')
- version('4.5.0', sha256='5f46336f612553af5553d99347f387f733de0aaa0d80d4572e67615289382ec8')
- version('4.4.1', sha256='3c20cfb2ff8a4d74ac6d566e7b5fa9dd220d96d17e6d8a4ae29b1ec0107ee407')
- version('4.4.0', sha256='4dd55ad6cc684905e891ad1ba9e3c542e79eea0a9cd9a0e99cd77abe6ed63fab')
- version('4.3.1', sha256='979efb5b3d3c8df2c3c364aaba61f97a459456fc5bbc092dfc02677da63e5654')
- version('4.3.0', sha256='231f059c4109a2d3028c771f483f6c92f1f3689eb0033648ce00060dad00e103')
- version('4.2.5', sha256='3375b454568e7bbec7748cd6173516ef9f30a3d8e13c3e99c02794a6a3bc3c8c')
- version('4.2.4', sha256='416dda94141e4778356e2aa9ba8687e6522a1eb197b3caf00a82e5fa2707709a')
- version('4.2.3', sha256='f667134cca8e2c75e12a00b50b5605d0d8068efa5b821f5b3c3f0df06fd79411')
- version('4.2.2', sha256='481fe8d03eec6806c1b401d764536edc2c233ac9d82091a10094de6101867afc')
- version('4.2.1', sha256='c796ea6a03e22d63886ca9ec6b1bef821e8cb09f186bd007f63653e31e9cb595')
- version('4.2.0', sha256='d439dfa579a633108c4f06574ed9bc3b91b8610d2ce3a6eb803bf377d0284be7')
- version('4.1.4', sha256='965b6056ea6b72b87d9352d4c1db1d7a7f9f358b9408df2689d823b932d6aa7f')
- version('4.1.3', sha256='dab82c5bc20ccea284b042d6af4bd6eaba95f4eaadd495a75413115d33a3151f')
- version('4.1.2', sha256='d1f54f639d1946aa1d7ae8ae03752f8ac464a879c14bc35e63b6a87b8a0b7522')
- version('4.1.1', sha256='998e9cc936045b4e84f28ca60c4680c08385a210d6bb95fc31c28a7d634a9357')
- version('4.1.0', sha256='d98aa369219bf0a4ec41efe7cb8d1127d34cb07666088dd79da6b424196d4cfd')
- version('4.0.0', sha256='f0ab7f6a747863cb980681a904a3c9380e2e52de6eb046cfa285e5e225f9ac47')
+ homepage = "https://cea-hpc.github.io/modules/"
+ url = "https://github.com/cea-hpc/modules/releases/download/v5.1.1/modules-5.1.1.tar.gz"
+
+ maintainers = ["xdelaruelle"]
+
+ version("5.1.1", sha256="1985f79e0337f63d6564b08db0238cf96a276a4184def822bb8ad37996dc8295")
+ version("5.1.0", sha256="1ab1e859b9c8bca8a8d332945366567fae4cf8dd7e312a689daaff46e7ffa949")
+ version("5.0.1", sha256="33a598eaff0713de09e479c2636ecde188b982584e56377f234e5065a61be7ba")
+ version("5.0.0", sha256="428e23ac51a6006605de65ed9114d544a5506cb4b6bfb03d8522778f13e4f7ea")
+ version("4.8.0", sha256="d6b45cadc2146ed5e0b25a96d44643ad516054eb7745acb14a1dc7bf30744f6e")
+ version("4.7.1", sha256="ee7ecd62bbbde6d51e30788a97800c39e72515b6a910839fb84041b35ba42b4d")
+ version("4.7.0", sha256="3ab0a649e23b4dd00963e4cae60e573b449194ecb4035c5ce487330b272b4d06")
+ version("4.6.1", sha256="3445df39abe5838b94552b53e7dbff56ada8347b9fdc6c04a72297d5b04af76f")
+ version("4.6.0", sha256="b42b14bb696bf1075ade1ecaefe7735dbe411db4c29031a1dae549435eafa946")
+ version("4.5.3", sha256="7cbd9c61e6dcd82a3f81b5ced92c3cf84ecc5489639bdfc94869256383a2c915")
+ version("4.5.2", sha256="74ccc9ab0fea0064ff3f4c5841435cef13cc6d9869b3c2b25e5ca4efa64a69a1")
+ version("4.5.1", sha256="7d4bcc8559e7fbbc52e526fc86a15b161ff4422aa49eee37897ee7a48eb64ac2")
+ version("4.5.0", sha256="5f46336f612553af5553d99347f387f733de0aaa0d80d4572e67615289382ec8")
+ version("4.4.1", sha256="3c20cfb2ff8a4d74ac6d566e7b5fa9dd220d96d17e6d8a4ae29b1ec0107ee407")
+ version("4.4.0", sha256="4dd55ad6cc684905e891ad1ba9e3c542e79eea0a9cd9a0e99cd77abe6ed63fab")
+ version("4.3.1", sha256="979efb5b3d3c8df2c3c364aaba61f97a459456fc5bbc092dfc02677da63e5654")
+ version("4.3.0", sha256="231f059c4109a2d3028c771f483f6c92f1f3689eb0033648ce00060dad00e103")
+ version("4.2.5", sha256="3375b454568e7bbec7748cd6173516ef9f30a3d8e13c3e99c02794a6a3bc3c8c")
+ version("4.2.4", sha256="416dda94141e4778356e2aa9ba8687e6522a1eb197b3caf00a82e5fa2707709a")
+ version("4.2.3", sha256="f667134cca8e2c75e12a00b50b5605d0d8068efa5b821f5b3c3f0df06fd79411")
+ version("4.2.2", sha256="481fe8d03eec6806c1b401d764536edc2c233ac9d82091a10094de6101867afc")
+ version("4.2.1", sha256="c796ea6a03e22d63886ca9ec6b1bef821e8cb09f186bd007f63653e31e9cb595")
+ version("4.2.0", sha256="d439dfa579a633108c4f06574ed9bc3b91b8610d2ce3a6eb803bf377d0284be7")
+ version("4.1.4", sha256="965b6056ea6b72b87d9352d4c1db1d7a7f9f358b9408df2689d823b932d6aa7f")
+ version("4.1.3", sha256="dab82c5bc20ccea284b042d6af4bd6eaba95f4eaadd495a75413115d33a3151f")
+ version("4.1.2", sha256="d1f54f639d1946aa1d7ae8ae03752f8ac464a879c14bc35e63b6a87b8a0b7522")
+ version("4.1.1", sha256="998e9cc936045b4e84f28ca60c4680c08385a210d6bb95fc31c28a7d634a9357")
+ version("4.1.0", sha256="d98aa369219bf0a4ec41efe7cb8d1127d34cb07666088dd79da6b424196d4cfd")
+ version("4.0.0", sha256="f0ab7f6a747863cb980681a904a3c9380e2e52de6eb046cfa285e5e225f9ac47")
version(
- '3.2.10', sha256='fb05c82a83477805a1d97737a9f0ca0db23f69b7bce504f1609ba99477b03955',
- url='http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz'
+ "3.2.10",
+ sha256="fb05c82a83477805a1d97737a9f0ca0db23f69b7bce504f1609ba99477b03955",
+ url="http://prdownloads.sourceforge.net/modules/modules-3.2.10.tar.gz",
)
- variant('X', default=True, description='Build with X functionality')
+ variant("X", default=True, description="Build with X functionality")
# Dependencies:
- depends_on('tcl', type=('build', 'link', 'run'))
- depends_on('tcl@8.4:', type=('build', 'link', 'run'), when='@4.0.0:4.8')
- depends_on('tcl@8.5:', type=('build', 'link', 'run'), when='@5.0.0:')
+ depends_on("tcl", type=("build", "link", "run"))
+ depends_on("tcl@8.4:", type=("build", "link", "run"), when="@4.0.0:4.8")
+ depends_on("tcl@8.5:", type=("build", "link", "run"), when="@5.0.0:")
def install(self, spec, prefix):
- tcl = spec['tcl']
+ tcl = spec["tcl"]
config_args = [
"--prefix=" + prefix,
# It looks for tclConfig.sh
"--with-tcl=" + tcl.libs.directories[0],
- '--datarootdir=' + prefix.share
+ "--datarootdir=" + prefix.share,
]
# ./configure script on version 4.5.2 breaks when specific options are
# set (see https://github.com/cea-hpc/modules/issues/354)
- if not spec.satisfies('@4.5.2'):
- config_args.extend([
- '--disable-dependency-tracking',
- '--disable-silent-rules'
- ])
-
- if '~X' in spec:
- config_args = ['--without-x'] + config_args
-
- if '@4.4.0:4.8' in self.spec:
- config_args.extend([
- '--with-icase=search',
- '--enable-extended-default',
- '--enable-advanced-version-spec'
- ])
-
- if '@4.3.0:4.8' in self.spec:
- config_args.extend([
- '--enable-color'
- ])
-
- if '@4.2.0:4.8' in self.spec:
- config_args.extend([
- '--enable-auto-handling'
- ])
-
- if '@4.1.0:' in self.spec:
- config_args.extend([
- # Variables in quarantine are empty during module command
- # start-up and they will be restored to the value they had
- # in the environment once the command starts
- '--with-quarantine-vars=LD_LIBRARY_PATH LD_PRELOAD'
- ])
-
- if '@4.0.0:4.8' in self.spec:
- config_args.extend([
- '--disable-compat-version'
- ])
-
- if '@4.0.0:' in self.spec:
- config_args.extend([
- '--with-tclsh={0}'.format(tcl.prefix.bin.tclsh)
- ])
-
- if '@3.2.10' in self.spec:
+ if not spec.satisfies("@4.5.2"):
+ config_args.extend(["--disable-dependency-tracking", "--disable-silent-rules"])
+
+ if "~X" in spec:
+ config_args = ["--without-x"] + config_args
+
+ if "@4.4.0:4.8" in self.spec:
+ config_args.extend(
+ [
+ "--with-icase=search",
+ "--enable-extended-default",
+ "--enable-advanced-version-spec",
+ ]
+ )
+
+ if "@4.3.0:4.8" in self.spec:
+ config_args.extend(["--enable-color"])
+
+ if "@4.2.0:4.8" in self.spec:
+ config_args.extend(["--enable-auto-handling"])
+
+ if "@4.1.0:" in self.spec:
+ config_args.extend(
+ [
+ # Variables in quarantine are empty during module command
+ # start-up and they will be restored to the value they had
+ # in the environment once the command starts
+ "--with-quarantine-vars=LD_LIBRARY_PATH LD_PRELOAD"
+ ]
+ )
+
+ if "@4.0.0:4.8" in self.spec:
+ config_args.extend(["--disable-compat-version"])
+
+ if "@4.0.0:" in self.spec:
+ config_args.extend(["--with-tclsh={0}".format(tcl.prefix.bin.tclsh)])
+
+ if "@3.2.10" in self.spec:
# See: https://sourceforge.net/p/modules/bugs/62/
- config_args.extend([
- '--disable-debug',
- 'CPPFLAGS=-DUSE_INTERP_ERRORLINE'
- ])
-
- if '@:3.2' in self.spec:
- config_args.extend([
- "--without-tclx",
- "--with-tclx-ver=0.0",
- "--with-tcl-ver={0}".format(tcl.version.up_to(2)),
- '--disable-versioning'
- ])
+ config_args.extend(["--disable-debug", "CPPFLAGS=-DUSE_INTERP_ERRORLINE"])
+
+ if "@:3.2" in self.spec:
+ config_args.extend(
+ [
+ "--without-tclx",
+ "--with-tclx-ver=0.0",
+ "--with-tcl-ver={0}".format(tcl.version.up_to(2)),
+ "--disable-versioning",
+ ]
+ )
configure(*config_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/enzo/package.py b/var/spack/repos/builtin/packages/enzo/package.py
index 75d0dc2278..3abd6027ba 100644
--- a/var/spack/repos/builtin/packages/enzo/package.py
+++ b/var/spack/repos/builtin/packages/enzo/package.py
@@ -10,73 +10,74 @@ class Enzo(MakefilePackage):
"""The Enzo adaptive mesh-refinement simulation code."""
homepage = "https://enzo-project.org/"
- url = "https://github.com/enzo-project/enzo-dev/archive/enzo-2.6.1.tar.gz"
- git = "https://github.com/enzo-project/enzo-dev.git"
+ url = "https://github.com/enzo-project/enzo-dev/archive/enzo-2.6.1.tar.gz"
+ git = "https://github.com/enzo-project/enzo-dev.git"
- version('main', branch='main')
- version('master', branch='main', deprecated=True)
- version('2.6.1', sha256='280270accfc1ddb60e92cc98ca538a3e5787e8cc93ed58fb5c3ab75db8c4b048')
+ version("main", branch="main")
+ version("master", branch="main", deprecated=True)
+ version("2.6.1", sha256="280270accfc1ddb60e92cc98ca538a3e5787e8cc93ed58fb5c3ab75db8c4b048")
- depends_on('mpi')
- depends_on('hdf5~mpi')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("mpi")
+ depends_on("hdf5~mpi")
+ depends_on("sse2neon", when="target=aarch64:")
variant(
- 'opt', default='high',
- description='Optimization, some compilers do not ' +
- 'produce stable code with high+ optimizations',
- values=('warn', 'debug', 'cudadebug', 'high', 'aggressive'),
- multi=False
+ "opt",
+ default="high",
+ description="Optimization, some compilers do not "
+ + "produce stable code with high+ optimizations",
+ values=("warn", "debug", "cudadebug", "high", "aggressive"),
+ multi=False,
)
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
# https://github.com/enzo-project/enzo-dev/pull/158
- patch('https://github.com/enzo-project/enzo-dev/commit/0191ff5ad9ad2c7639d44823e84cd0115e7a2970.patch?full_index=1', sha256='f6db2fef04d3ffe4f05ef589d0593b2ab7ab6d63088abf9b76c7bacf835625c0', when='@2.6.1 ^hdf5@1.12.0:')
+ patch(
+ "https://github.com/enzo-project/enzo-dev/commit/0191ff5ad9ad2c7639d44823e84cd0115e7a2970.patch?full_index=1",
+ sha256="f6db2fef04d3ffe4f05ef589d0593b2ab7ab6d63088abf9b76c7bacf835625c0",
+ when="@2.6.1 ^hdf5@1.12.0:",
+ )
def flag_handler(self, name, flags):
- if name == 'fflags':
- if self.spec.satisfies('%gcc@10:'):
+ if name == "fflags":
+ if self.spec.satisfies("%gcc@10:"):
if flags is None:
flags = []
- flags.append('-fallow-argument-mismatch')
+ flags.append("-fallow-argument-mismatch")
return (flags, None, None)
def edit(self, spec, prefix):
- configure = Executable('./configure')
+ configure = Executable("./configure")
configure()
- with working_dir('src/enzo'):
- copy('Make.mach.linux-gnu', 'Make.mach.spack')
-
- filter_file('^MACH_FILE.*',
- 'MACH_FILE = Make.mach.spack',
- 'Make.mach.spack')
- filter_file('^LOCAL_HDF5_INSTALL.*',
- 'LOCAL_HDF5_INSTALL = {0}'.format(spec['hdf5'].prefix),
- 'Make.mach.spack')
- filter_file('^LOCAL_GRACKLE_INSTALL.*',
- 'LOCAL_GRACKLE_INSTALL =',
- 'Make.mach.spack')
- filter_file('^LOCAL_HYPRE_INSTALL.*',
- 'LOCAL_HYPRE_INSTALL =',
- 'Make.mach.spack')
+ with working_dir("src/enzo"):
+ copy("Make.mach.linux-gnu", "Make.mach.spack")
+
+ filter_file("^MACH_FILE.*", "MACH_FILE = Make.mach.spack", "Make.mach.spack")
+ filter_file(
+ "^LOCAL_HDF5_INSTALL.*",
+ "LOCAL_HDF5_INSTALL = {0}".format(spec["hdf5"].prefix),
+ "Make.mach.spack",
+ )
+ filter_file("^LOCAL_GRACKLE_INSTALL.*", "LOCAL_GRACKLE_INSTALL =", "Make.mach.spack")
+ filter_file("^LOCAL_HYPRE_INSTALL.*", "LOCAL_HYPRE_INSTALL =", "Make.mach.spack")
def build(self, spec, prefix):
- with working_dir('src/enzo'):
- make('machine-spack')
- make('opt-' + self.spec.variants['opt'].value)
- make('show-config')
+ with working_dir("src/enzo"):
+ make("machine-spack")
+ make("opt-" + self.spec.variants["opt"].value)
+ make("show-config")
make()
- with working_dir('src/inits'):
+ with working_dir("src/inits"):
make()
- with working_dir('src/ring'):
+ with working_dir("src/ring"):
make()
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('doc', prefix.doc)
- install_tree('input', prefix.input)
- install_tree('run', prefix.run)
- install(join_path('src', 'ring', 'ring.exe'), join_path(prefix.bin, 'ring'))
+ install_tree("bin", prefix.bin)
+ install_tree("doc", prefix.doc)
+ install_tree("input", prefix.input)
+ install_tree("run", prefix.run)
+ install(join_path("src", "ring", "ring.exe"), join_path(prefix.bin, "ring"))
diff --git a/var/spack/repos/builtin/packages/enzyme/package.py b/var/spack/repos/builtin/packages/enzyme/package.py
index 1fabd06c08..5d1e5f2b5d 100644
--- a/var/spack/repos/builtin/packages/enzyme/package.py
+++ b/var/spack/repos/builtin/packages/enzyme/package.py
@@ -1,4 +1,3 @@
-
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
@@ -16,51 +15,42 @@ class Enzyme(CMakePackage):
"""
homepage = "https://enzyme.mit.edu"
- url = "https://github.com/wsmoses/Enzyme/archive/v0.0.15.tar.gz"
+ url = "https://github.com/wsmoses/Enzyme/archive/v0.0.15.tar.gz"
list_url = "https://github.com/wsmoses/Enzyme/releases"
- git = "https://github.com/wsmoses/Enzyme"
+ git = "https://github.com/wsmoses/Enzyme"
- maintainers = ['wsmoses', 'vchuravy', 'tgymnich']
+ maintainers = ["wsmoses", "vchuravy", "tgymnich"]
- root_cmakelists_dir = 'enzyme'
+ root_cmakelists_dir = "enzyme"
- version('main', branch='main')
- version('0.0.32',
- sha256='9d42e42f7d0faf9beed61b2b1d27c82d1b369aeb9629539d5b7eafbe95379292')
- version('0.0.15',
- sha256='1ec27db0d790c4507b2256d851b256bf7e074eec933040e9e375d6e352a3c159')
- version('0.0.14',
- sha256='740641eeeeadaf47942ac88cc52e62ddc0e8c25767a501bed36ec241cf258b8d')
- version('0.0.13',
- sha256='d4a53964ec1f763772db2c56e6734269b7656c8b2ecd41fa7a41315bcd896b5a')
+ version("main", branch="main")
+ version("0.0.32", sha256="9d42e42f7d0faf9beed61b2b1d27c82d1b369aeb9629539d5b7eafbe95379292")
+ version("0.0.15", sha256="1ec27db0d790c4507b2256d851b256bf7e074eec933040e9e375d6e352a3c159")
+ version("0.0.14", sha256="740641eeeeadaf47942ac88cc52e62ddc0e8c25767a501bed36ec241cf258b8d")
+ version("0.0.13", sha256="d4a53964ec1f763772db2c56e6734269b7656c8b2ecd41fa7a41315bcd896b5a")
variant(
- 'build_type',
- default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel')
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
)
- depends_on('llvm@7:12', when='@0.0.13:0.0.15')
- depends_on('llvm@7:14', when='@0.0.32:') # TODO actual lower bound
- depends_on('cmake@3.9:', type='build')
+ depends_on("llvm@7:12", when="@0.0.13:0.0.15")
+ depends_on("llvm@7:14", when="@0.0.32:") # TODO actual lower bound
+ depends_on("cmake@3.9:", type="build")
def cmake_args(self):
spec = self.spec
- args = [
- "-DLLVM_DIR=" + spec["llvm"].prefix.lib + "/cmake/llvm"
- ]
+ args = ["-DLLVM_DIR=" + spec["llvm"].prefix.lib + "/cmake/llvm"]
return args
@property
def libs(self):
- ver = self.spec['llvm'].version.up_to(1)
- libs = [
- 'LLVMEnzyme-{0}'.format(ver),
- 'ClangEnzyme-{0}'.format(ver)
- ]
- if self.version >= Version('0.0.32'): # TODO actual lower bound
- libs.append('LLDEnzyme-{0}'.format(ver))
+ ver = self.spec["llvm"].version.up_to(1)
+ libs = ["LLVMEnzyme-{0}".format(ver), "ClangEnzyme-{0}".format(ver)]
+ if self.version >= Version("0.0.32"): # TODO actual lower bound
+ libs.append("LLDEnzyme-{0}".format(ver))
return find_libraries(libs, root=self.prefix, recursive=True)
@@ -71,5 +61,5 @@ class Enzyme(CMakePackage):
if "LLVMEnzyme-" in clang:
llvm, clang = clang, llvm
- env.set('LLVMENZYME', llvm)
- env.set('CLANGENZYME', clang)
+ env.set("LLVMENZYME", llvm)
+ env.set("CLANGENZYME", clang)
diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py
index c61c0e7c30..8ea7e5de47 100644
--- a/var/spack/repos/builtin/packages/eospac/package.py
+++ b/var/spack/repos/builtin/packages/eospac/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class Eospac(Package):
"""A collection of C routines that can be used to access the Sesame data
- library.
+ library.
"""
homepage = "https://laws.lanl.gov/projects/data/eos.html"
list_url = "https://laws.lanl.gov/projects/data/eos/eospacReleases.php"
- maintainers = ['KineticTheory']
+ maintainers = ["KineticTheory"]
# - An EOSPAC release labeled "beta" doesn't always imply that the release
# is less suitable for production. According to the current EOSPAC
@@ -22,93 +22,123 @@ class Eospac(Package):
# previous stable release will appear first as a new beta.
# - alpha and beta versions are marked with 'deprecated=True' to help
# spack's version comparison.
- version('6.5.0', preferred=True,
- sha256='4e539418f773a5bd00dc49a5000ca857e5228cc5e83f198d46827a5671d34cff',
- url="https://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.0_6b10f4ccc1fc333b5d6023b93ab194ab0621d5ae.tgz")
- 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",
- deprecated=True)
- version('6.5.0alpha.1',
- sha256='c7334342dd2e071e17c60d8fabb11d2908c9d48c9b49ea83c3609a10b7b8877b',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.0alpha.1_62053188b9842842e41508c54196c533e0b91e51.tgz",
- deprecated=True)
- version('6.4.2',
- 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',
- 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")
- version('6.4.1beta',
- sha256='479074a7be724760f8f1f90a8673f6197b7c5aa1ff76242ecf3790c9016e08c3',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.1beta_b651322c74cf5729732afd5d77c66c41d677be5e.tgz",
- deprecated=True)
- version('6.4.1alpha.2',
- sha256='cd075e7a41137da85ee0680c64534675d50979516e9639b17fa004619651ac47',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.1alpha.2_e2aaba283f57511b94afa9283e5ee794b03439dc.tgz",
- deprecated=True)
- version('6.4.0',
- sha256='15a953beac735c68431afe86ffe33323d540d0fbbbec03ba79438dd29736051d',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0_612ea8c9b8ffa6d9175d9118955571d9107f1e3c.tgz")
- version('6.4.0beta.4',
- sha256='0ebfd8badff575ea77444aa978629dbdca3135a0b5eb373b8daba058773d4635',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.4_aff6429bb6868de31a980278bafa13487c2ce83f.tgz",
- deprecated=True)
- version('6.4.0beta.3',
- sha256='9f387ca5356519494c6f3f27adb0c165cf9f9e15e3355a67bf940a4a92eebdab',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.3_90ff265f62aa1780bfcd0a62dad807b6be6ed461.tgz",
- deprecated=True)
- version('6.4.0beta.2',
- sha256='f9db46cd6c62a6f83960d802350f3e37675921af102969b293c02eb797558a53',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.2_69196eadbc77506561eef711f19d2f03b4ab0ffa.tgz",
- deprecated=True)
- version('6.4.0beta.1',
- sha256='14c5c804e5f628f41e8ed80bcee5a80adeb6c6f3d130715421ca99a30c7eb7e2',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.1_r20171213193219.tgz",
- deprecated=True)
- version('6.3.1',
- sha256='aa1112c4251c9c3c2883a7ab2c7f2abff2c339f29dbbf8421ef88b0c9df904f8',
- url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.3.1_r20161202150449.tgz")
+ version(
+ "6.5.0",
+ preferred=True,
+ sha256="4e539418f773a5bd00dc49a5000ca857e5228cc5e83f198d46827a5671d34cff",
+ url="https://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.0_6b10f4ccc1fc333b5d6023b93ab194ab0621d5ae.tgz",
+ )
+ 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",
+ deprecated=True,
+ )
+ version(
+ "6.5.0alpha.1",
+ sha256="c7334342dd2e071e17c60d8fabb11d2908c9d48c9b49ea83c3609a10b7b8877b",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.0alpha.1_62053188b9842842e41508c54196c533e0b91e51.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.2",
+ 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",
+ 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",
+ )
+ version(
+ "6.4.1beta",
+ sha256="479074a7be724760f8f1f90a8673f6197b7c5aa1ff76242ecf3790c9016e08c3",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.1beta_b651322c74cf5729732afd5d77c66c41d677be5e.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.1alpha.2",
+ sha256="cd075e7a41137da85ee0680c64534675d50979516e9639b17fa004619651ac47",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.1alpha.2_e2aaba283f57511b94afa9283e5ee794b03439dc.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.0",
+ sha256="15a953beac735c68431afe86ffe33323d540d0fbbbec03ba79438dd29736051d",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0_612ea8c9b8ffa6d9175d9118955571d9107f1e3c.tgz",
+ )
+ version(
+ "6.4.0beta.4",
+ sha256="0ebfd8badff575ea77444aa978629dbdca3135a0b5eb373b8daba058773d4635",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.4_aff6429bb6868de31a980278bafa13487c2ce83f.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.0beta.3",
+ sha256="9f387ca5356519494c6f3f27adb0c165cf9f9e15e3355a67bf940a4a92eebdab",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.3_90ff265f62aa1780bfcd0a62dad807b6be6ed461.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.0beta.2",
+ sha256="f9db46cd6c62a6f83960d802350f3e37675921af102969b293c02eb797558a53",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.2_69196eadbc77506561eef711f19d2f03b4ab0ffa.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.4.0beta.1",
+ sha256="14c5c804e5f628f41e8ed80bcee5a80adeb6c6f3d130715421ca99a30c7eb7e2",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.0beta.1_r20171213193219.tgz",
+ deprecated=True,
+ )
+ version(
+ "6.3.1",
+ sha256="aa1112c4251c9c3c2883a7ab2c7f2abff2c339f29dbbf8421ef88b0c9df904f8",
+ url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.3.1_r20161202150449.tgz",
+ )
# This patch allows the use of spack's compile wrapper 'flang'
- patch('flang.patch', when='@:6.4.0beta.2%clang')
- patch('frt.patch', when='%fj')
+ patch("flang.patch", when="@:6.4.0beta.2%clang")
+ patch("frt.patch", when="%fj")
# This patch corrects EOSPAC's selection of compiler flags when
# compilers are specified using absolute pathnames.
- patch('cpuinfo_comp_flags_key.patch', when='@:6.4.1,6.4.2beta')
+ patch("cpuinfo_comp_flags_key.patch", when="@:6.4.1,6.4.2beta")
# GPU offload is only available for version 6.5+
- variant("offload", default=False,
- description="Build GPU offload library instead of standard")
- conflicts('+offload', when="@:6.4.99")
+ variant("offload", default=False, description="Build GPU offload library instead of standard")
+ conflicts("+offload", when="@:6.4.99")
def install(self, spec, prefix):
- with working_dir('Source'):
+ with working_dir("Source"):
compilerArgs = []
- compilerArgs.append('CC={0}'.format(spack_cc))
- compilerArgs.append('CXX={0}'.format(spack_cxx))
- compilerArgs.append('F77={0}'.format(spack_f77))
- compilerArgs.append('F90={0}'.format(spack_fc))
+ compilerArgs.append("CC={0}".format(spack_cc))
+ compilerArgs.append("CXX={0}".format(spack_cxx))
+ compilerArgs.append("F77={0}".format(spack_f77))
+ compilerArgs.append("F90={0}".format(spack_fc))
# This looks goofy because eospac does not actually respect the
# value of DO_OFFLOAD and instead only attempts to check for its
# existence; a quirk of eospac.
if "+offload" in spec:
- compilerArgs.append('DO_OFFLOAD=1')
+ compilerArgs.append("DO_OFFLOAD=1")
# Eospac depends on fcommon behavior
# but gcc@10 flipped to default fno-common
if "%gcc@10:" in spec:
- compilerArgs.append('CFLAGS=-fcommon')
- make('install',
- 'prefix={0}'.format(prefix),
- 'INSTALLED_LIBRARY_DIR={0}'.format(prefix.lib),
- 'INSTALLED_INCLUDE_DIR={0}'.format(prefix.include),
- 'INSTALLED_EXAMPLE_DIR={0}'.format(prefix.example),
- 'INSTALLED_BIN_DIR={0}'.format(prefix.bin),
- *compilerArgs)
+ compilerArgs.append("CFLAGS=-fcommon")
+ make(
+ "install",
+ "prefix={0}".format(prefix),
+ "INSTALLED_LIBRARY_DIR={0}".format(prefix.lib),
+ "INSTALLED_INCLUDE_DIR={0}".format(prefix.include),
+ "INSTALLED_EXAMPLE_DIR={0}".format(prefix.example),
+ "INSTALLED_BIN_DIR={0}".format(prefix.bin),
+ *compilerArgs
+ )
# fix conflict with linux's getopt for 6.4.0beta.2
- if spec.satisfies('@6.4.0beta.2'):
+ if spec.satisfies("@6.4.0beta.2"):
with working_dir(prefix.bin):
- move('getopt', 'driver_getopt')
+ move("getopt", "driver_getopt")
diff --git a/var/spack/repos/builtin/packages/epics-base/package.py b/var/spack/repos/builtin/packages/epics-base/package.py
index fbbfba3b74..d9397b0ce6 100644
--- a/var/spack/repos/builtin/packages/epics-base/package.py
+++ b/var/spack/repos/builtin/packages/epics-base/package.py
@@ -3,45 +3,44 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class EpicsBase(MakefilePackage):
"""This is the main core of EPICS, the Experimental Physics and Industrial
-Control System, comprising the build system and tools, common and OS-interface
-libraries, network protocol client and server libraries, static and run-time
-database access routines, the database processing code, and standard record,
-device and driver support."""
+ Control System, comprising the build system and tools, common and OS-interface
+ libraries, network protocol client and server libraries, static and run-time
+ database access routines, the database processing code, and standard record,
+ device and driver support."""
homepage = "https://epics-controls.org"
- url = "https://epics-controls.org/download/base/base-7.0.6.1.tar.gz"
+ url = "https://epics-controls.org/download/base/base-7.0.6.1.tar.gz"
- maintainers = ['glenn-horton-smith']
+ maintainers = ["glenn-horton-smith"]
- version('7.0.6.1', sha256='8ff318f25e2b70df466f933636a2da85e4b0c841504b9e89857652a4786b6387')
+ version("7.0.6.1", sha256="8ff318f25e2b70df466f933636a2da85e4b0c841504b9e89857652a4786b6387")
- depends_on('readline')
- depends_on('perl', type=('build', 'run'))
+ depends_on("readline")
+ depends_on("perl", type=("build", "run"))
@property
def install_targets(self):
- return ['INSTALL_LOCATION={0}'.format(self.prefix), 'install']
+ return ["INSTALL_LOCATION={0}".format(self.prefix), "install"]
def get_epics_host_arch(self):
- perl = which('perl', required=True)
- return perl('%s/perl/EpicsHostArch.pl' % self.prefix.lib,
- output=str, error=str).strip()
+ perl = which("perl", required=True)
+ return perl("%s/perl/EpicsHostArch.pl" % self.prefix.lib, output=str, error=str).strip()
def setup_build_environment(self, env):
- env.set('EPICS_BASE', self.prefix)
+ env.set("EPICS_BASE", self.prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
epics_host_arch = self.get_epics_host_arch()
- env.set('EPICS_HOST_ARCH', epics_host_arch)
- env.set('EPICS_BASE', self.prefix)
+ env.set("EPICS_HOST_ARCH", epics_host_arch)
+ env.set("EPICS_BASE", self.prefix)
def setup_run_environment(self, env):
epics_host_arch = self.get_epics_host_arch()
- env.set('EPICS_HOST_ARCH', epics_host_arch)
- env.set('EPICS_BASE', self.prefix)
- env.prepend_path('PATH', join_path(self.prefix.bin, epics_host_arch))
+ env.set("EPICS_HOST_ARCH", epics_host_arch)
+ env.set("EPICS_BASE", self.prefix)
+ env.prepend_path("PATH", join_path(self.prefix.bin, epics_host_arch))
diff --git a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py
index 610318070d..f83fca7d4a 100644
--- a/var/spack/repos/builtin/packages/epics-ca-gateway/package.py
+++ b/var/spack/repos/builtin/packages/epics-ca-gateway/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class EpicsCaGateway(MakefilePackage):
@@ -15,23 +15,23 @@ class EpicsCaGateway(MakefilePackage):
The clients and the server may be on different subnets."""
homepage = "https://epics.anl.gov/extensions/gateway/"
- url = "https://github.com/epics-extensions/ca-gateway/archive/refs/tags/v2.1.3.tar.gz"
+ url = "https://github.com/epics-extensions/ca-gateway/archive/refs/tags/v2.1.3.tar.gz"
- maintainers = ['glenn-horton-smith']
+ maintainers = ["glenn-horton-smith"]
- version('2.1.3', sha256='f6e9dba46951a168d3208fc57054138759d56ebd8a7c07b496e8f5b8a56027d7')
+ version("2.1.3", sha256="f6e9dba46951a168d3208fc57054138759d56ebd8a7c07b496e8f5b8a56027d7")
- depends_on('epics-base')
- depends_on('epics-pcas')
+ depends_on("epics-base")
+ depends_on("epics-pcas")
@property
def install_targets(self):
- return ['INSTALL_LOCATION={0}'.format(self.prefix), 'install']
+ return ["INSTALL_LOCATION={0}".format(self.prefix), "install"]
def edit(self, spec, prefix):
- with open('configure/RELEASE.local', 'w') as release_file:
- release_file.write('EPICS_BASE = ' + env['EPICS_BASE'] + '\n')
- release_file.write('PCAS = ' + spec['epics-pcas'].prefix)
+ with open("configure/RELEASE.local", "w") as release_file:
+ release_file.write("EPICS_BASE = " + env["EPICS_BASE"] + "\n")
+ release_file.write("PCAS = " + spec["epics-pcas"].prefix)
def setup_run_environment(self, envmod):
- envmod.prepend_path('PATH', join_path(self.prefix.bin, env['EPICS_HOST_ARCH']))
+ envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"]))
diff --git a/var/spack/repos/builtin/packages/epics-pcas/package.py b/var/spack/repos/builtin/packages/epics-pcas/package.py
index 7fdfa1dcac..db13494d99 100644
--- a/var/spack/repos/builtin/packages/epics-pcas/package.py
+++ b/var/spack/repos/builtin/packages/epics-pcas/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class EpicsPcas(MakefilePackage):
@@ -12,21 +12,21 @@ class EpicsPcas(MakefilePackage):
for EPICS 7."""
homepage = "https://github.com/epics-modules/pcas"
- url = "https://github.com/epics-modules/pcas/archive/refs/tags/v4.13.3.tar.gz"
+ url = "https://github.com/epics-modules/pcas/archive/refs/tags/v4.13.3.tar.gz"
- maintainers = ['glenn-horton-smith']
+ maintainers = ["glenn-horton-smith"]
- version('4.13.3', sha256='5004e39339c8e592fcb9b4275c84143635c6e688c0fbe01f17dafe19850398a0')
+ version("4.13.3", sha256="5004e39339c8e592fcb9b4275c84143635c6e688c0fbe01f17dafe19850398a0")
- depends_on('epics-base', type=('build', 'link', 'run'))
+ depends_on("epics-base", type=("build", "link", "run"))
@property
def install_targets(self):
- return ['INSTALL_LOCATION={0}'.format(self.prefix), 'install']
+ return ["INSTALL_LOCATION={0}".format(self.prefix), "install"]
def edit(self, spec, prefix):
- with open('configure/RELEASE.local', 'w') as release_file:
- release_file.write('EPICS_BASE = ' + env['EPICS_BASE'] + '\n')
+ with open("configure/RELEASE.local", "w") as release_file:
+ release_file.write("EPICS_BASE = " + env["EPICS_BASE"] + "\n")
def setup_run_environment(self, envmod):
- envmod.prepend_path('PATH', join_path(self.prefix.bin, env['EPICS_HOST_ARCH']))
+ envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"]))
diff --git a/var/spack/repos/builtin/packages/epics-snmp/package.py b/var/spack/repos/builtin/packages/epics-snmp/package.py
index 25771c76c9..59e64dbbe9 100644
--- a/var/spack/repos/builtin/packages/epics-snmp/package.py
+++ b/var/spack/repos/builtin/packages/epics-snmp/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class EpicsSnmp(MakefilePackage):
@@ -12,28 +12,26 @@ class EpicsSnmp(MakefilePackage):
Protocol)."""
homepage = "https://groups.nscl.msu.edu/controls/files/devSnmp.html"
- url = "https://groups.nscl.msu.edu/controls/files/epics-snmp-1.1.0.3.zip"
+ url = "https://groups.nscl.msu.edu/controls/files/epics-snmp-1.1.0.3.zip"
- maintainers = ['glenn-horton-smith']
+ maintainers = ["glenn-horton-smith"]
- version('1.1.0.3', sha256='fe8b2cb25412555a639e3513f48a4da4c4cc3cc43425176349338be27b1e26d3')
+ version("1.1.0.3", sha256="fe8b2cb25412555a639e3513f48a4da4c4cc3cc43425176349338be27b1e26d3")
- depends_on('epics-base')
- depends_on('net-snmp')
+ depends_on("epics-base")
+ depends_on("net-snmp")
@property
def install_targets(self):
- return ['INSTALL_LOCATION={0}'.format(self.prefix), 'install']
+ return ["INSTALL_LOCATION={0}".format(self.prefix), "install"]
def edit(self, spec, prefix):
config_release = FileFilter(
- 'configure/RELEASE',
- 'NventSGP/configure/RELEASE', 'WienerCrate/configure/RELEASE')
- config_release.filter('EPICS_BASE *=.*', 'EPICS_BASE = ' + env['EPICS_BASE'])
- makefile = FileFilter('snmpApp/src/Makefile')
- makefile.filter(
- 'USR_CPPFLAGS',
- 'USR_CPPFLAGS += `net-snmp-config --cflags`\nUSR_CPPFLAGS')
+ "configure/RELEASE", "NventSGP/configure/RELEASE", "WienerCrate/configure/RELEASE"
+ )
+ config_release.filter("EPICS_BASE *=.*", "EPICS_BASE = " + env["EPICS_BASE"])
+ makefile = FileFilter("snmpApp/src/Makefile")
+ makefile.filter("USR_CPPFLAGS", "USR_CPPFLAGS += `net-snmp-config --cflags`\nUSR_CPPFLAGS")
def setup_run_environment(self, envmod):
- envmod.prepend_path('PATH', join_path(self.prefix.bin, env['EPICS_HOST_ARCH']))
+ envmod.prepend_path("PATH", join_path(self.prefix.bin, env["EPICS_HOST_ARCH"]))
diff --git a/var/spack/repos/builtin/packages/eq-r/package.py b/var/spack/repos/builtin/packages/eq-r/package.py
index 2b5aa3722b..e962119be9 100644
--- a/var/spack/repos/builtin/packages/eq-r/package.py
+++ b/var/spack/repos/builtin/packages/eq-r/package.py
@@ -15,41 +15,41 @@ class EqR(AutotoolsPackage):
"""
homepage = "http://emews.org"
- url = "https://github.com/emews/EQ-R/archive/1.0.tar.gz"
- git = "https://github.com/emews/EQ-R.git"
+ url = "https://github.com/emews/EQ-R/archive/1.0.tar.gz"
+ git = "https://github.com/emews/EQ-R.git"
- version('master', branch='master')
+ version("master", branch="master")
- version('1.0', sha256='68047cb0edf088eaaefc5e36cefda9818292e5c832593e10a1dd9c73c27661b6')
+ version("1.0", sha256="68047cb0edf088eaaefc5e36cefda9818292e5c832593e10a1dd9c73c27661b6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mpi')
- depends_on('r-rinside')
- depends_on('r-rcpp')
- depends_on('r')
- depends_on('tcl')
- depends_on('swig')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mpi")
+ depends_on("r-rinside")
+ depends_on("r-rcpp")
+ depends_on("r")
+ depends_on("tcl")
+ depends_on("swig")
- configure_directory = 'src'
+ configure_directory = "src"
def setup_build_environment(self, env):
spec = self.spec
- env.set('CC', spec['mpi'].mpicc)
- env.set('CXX', spec['mpi'].mpicxx)
- env.set('CXXLD', spec['mpi'].mpicxx)
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("CXX", spec["mpi"].mpicxx)
+ env.set("CXXLD", spec["mpi"].mpicxx)
def configure_args(self):
- args = ['--with-tcl=' + self.spec['tcl'].prefix]
- r_location = '{0}/rlib/R'.format(self.spec['r'].prefix)
+ args = ["--with-tcl=" + self.spec["tcl"].prefix]
+ r_location = "{0}/rlib/R".format(self.spec["r"].prefix)
if not os.path.exists(r_location):
- rscript = which('Rscript')
+ rscript = which("Rscript")
if rscript is not None:
- r_location = rscript('-e', 'cat(R.home())', output=str)
+ r_location = rscript("-e", "cat(R.home())", output=str)
else:
- msg = 'couldn\'t locate Rscript on your PATH'
+ msg = "couldn't locate Rscript on your PATH"
raise RuntimeError(msg)
- args.append('--with-r={0}'.format(r_location))
+ args.append("--with-r={0}".format(r_location))
return args
diff --git a/var/spack/repos/builtin/packages/er/package.py b/var/spack/repos/builtin/packages/er/package.py
index 32e1c59f16..98f522c63f 100644
--- a/var/spack/repos/builtin/packages/er/package.py
+++ b/var/spack/repos/builtin/packages/er/package.py
@@ -10,56 +10,52 @@ class Er(CMakePackage):
"""Encoding and redundancy on a file set"""
homepage = "https://github.com/ecp-veloc/er"
- url = "https://github.com/ecp-veloc/er/archive/v0.0.3.tar.gz"
- git = "https://github.com/ecp-veloc/er.git"
- tags = ['ecp']
+ url = "https://github.com/ecp-veloc/er/archive/v0.0.3.tar.gz"
+ git = "https://github.com/ecp-veloc/er.git"
+ tags = ["ecp"]
- maintainers = ['CamStan', 'gonsie']
+ maintainers = ["CamStan", "gonsie"]
- version('main', branch='main')
- version('0.3.0', sha256='01bc71bfb2ebb015ccb948f2bb9138b70972a3e8be0e53f9a4844e46b106a36c')
- version('0.2.0', sha256='9ddfe2b63682ed0e89685f9b7d5259ef82b802aba55c8ee78cc15a7adbad6bc0')
- version('0.1.0', sha256='543afc1c48bb2c67f48c32f6c9efcbf7bb27f2e622ff76f2c2ce5618c77aacfc')
- version('0.0.4', sha256='c456d34719bb57774adf6d7bc2fa9917ecb4a9de442091023c931a2cb83dfd37')
- version('0.0.3', sha256='243b2b46ea274e17417ef5873c3ed7ba16dacdfdaf7053d1de5434e300de796b')
+ version("main", branch="main")
+ version("0.3.0", sha256="01bc71bfb2ebb015ccb948f2bb9138b70972a3e8be0e53f9a4844e46b106a36c")
+ version("0.2.0", sha256="9ddfe2b63682ed0e89685f9b7d5259ef82b802aba55c8ee78cc15a7adbad6bc0")
+ version("0.1.0", sha256="543afc1c48bb2c67f48c32f6c9efcbf7bb27f2e622ff76f2c2ce5618c77aacfc")
+ version("0.0.4", sha256="c456d34719bb57774adf6d7bc2fa9917ecb4a9de442091023c931a2cb83dfd37")
+ version("0.0.3", sha256="243b2b46ea274e17417ef5873c3ed7ba16dacdfdaf7053d1de5434e300de796b")
- depends_on('mpi')
- depends_on('kvtree+mpi')
- depends_on('rankstr', when='@0.0.4:')
- depends_on('redset')
- depends_on('shuffile')
- depends_on('zlib', type='link')
+ depends_on("mpi")
+ depends_on("kvtree+mpi")
+ depends_on("rankstr", when="@0.0.4:")
+ depends_on("redset")
+ depends_on("shuffile")
+ depends_on("zlib", type="link")
- depends_on('kvtree@1.3', when='@0.2.0')
+ depends_on("kvtree@1.3", when="@0.2.0")
- deps = ['kvtree', 'rankstr', 'redset', 'shuffile']
+ deps = ["kvtree", "rankstr", "redset", "shuffile"]
for dep in deps:
- depends_on(dep + '@main', when='@main')
+ depends_on(dep + "@main", when="@main")
- variant('shared', default=True, description='Build with shared libraries')
+ variant("shared", default=True, description="Build with shared libraries")
for dep in deps:
- depends_on(dep + '+shared', when='@0.1: +shared')
- depends_on(dep + '~shared', when='@0.1: ~shared')
+ depends_on(dep + "+shared", when="@0.1: +shared")
+ depends_on(dep + "~shared", when="@0.1: ~shared")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
- args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix))
- args.append(self.define('WITH_REDSET_PREFIX', spec['redset'].prefix))
- args.append(
- self.define('WITH_SHUFFILE_PREFIX', spec['shuffile'].prefix)
- )
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
+ args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix))
+ args.append(self.define("WITH_REDSET_PREFIX", spec["redset"].prefix))
+ args.append(self.define("WITH_SHUFFILE_PREFIX", spec["shuffile"].prefix))
- if spec.satisfies('@0.0.4:'):
- args.append(
- self.define('WITH_RANKSTR_PREFIX', spec['rankstr'].prefix)
- )
+ if spec.satisfies("@0.0.4:"):
+ args.append(self.define("WITH_RANKSTR_PREFIX", spec["rankstr"].prefix))
- if spec.satisfies('@0.1.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.1.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('ER_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("ER_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/erfa/package.py b/var/spack/repos/builtin/packages/erfa/package.py
index 29dc1181e2..242272e74b 100644
--- a/var/spack/repos/builtin/packages/erfa/package.py
+++ b/var/spack/repos/builtin/packages/erfa/package.py
@@ -11,7 +11,7 @@ class Erfa(AutotoolsPackage):
is a C library containing key algorithms for astronomy."""
homepage = "https://github.com/liberfa/erfa"
- url = "https://github.com/liberfa/erfa/releases/download/v1.7.0/erfa-1.7.0.tar.gz"
+ url = "https://github.com/liberfa/erfa/releases/download/v1.7.0/erfa-1.7.0.tar.gz"
- version('1.7.0', sha256='f0787e30e848750c0cbfc14827de6fc7f69a2d5ef0fc653504e74b8967a764e0')
- version('1.4.0', sha256='035b7f0ad05c1191b8588191ba4b19ba0f31afa57ad561d33bd5417d9f23e460')
+ version("1.7.0", sha256="f0787e30e848750c0cbfc14827de6fc7f69a2d5ef0fc653504e74b8967a764e0")
+ version("1.4.0", sha256="035b7f0ad05c1191b8588191ba4b19ba0f31afa57ad561d33bd5417d9f23e460")
diff --git a/var/spack/repos/builtin/packages/erlang/package.py b/var/spack/repos/builtin/packages/erlang/package.py
index 2a0d4fd782..7cbd648161 100644
--- a/var/spack/repos/builtin/packages/erlang/package.py
+++ b/var/spack/repos/builtin/packages/erlang/package.py
@@ -14,20 +14,20 @@ class Erlang(AutotoolsPackage):
"""
homepage = "https://erlang.org/"
- url = "https://erlang.org/download/otp_src_23.3.tar.gz"
+ url = "https://erlang.org/download/otp_src_23.3.tar.gz"
- version('23.3', sha256='3c888d8f46124e134b75a9ba5d845f079020b7198ed2de64411e183d07e9002a')
- version('23.2', sha256='40e03428826c92e409e4f1510f9c0539eafb3ac49d6c2f607f4fa274d11a8928')
- version('23.1', sha256='cb5b7246eeaac9298c51c9915386df2f784e82a3f7ff93b68453591f0b370400')
- version('23.0', sha256='42dcf3c721f4de59fe74ae7b65950c2174c46dc8d1dd4e27c0594d86f606a635')
- version('22.2', sha256='89c2480cdac566065577c82704a48e10f89cf2e6ca5ab99e1cf80027784c678f')
- version('22.1', sha256='cd33a102cbac6dd1c7b1e7a9a0d82d13587771fac4e96e8fff92e403d15e32c8')
- version('22.0', sha256='042e168d74055a501c75911694758a30597446accd8c82ec569552b9e9fcd272')
- version('21.3', sha256='69a743c4f23b2243e06170b1937558122142e47c8ebe652be143199bfafad6e4')
- version('21.2', sha256='f6b07bf8e6705915679a63363ce80faaa6b7c231e7236cde443d6445f7430334')
+ version("23.3", sha256="3c888d8f46124e134b75a9ba5d845f079020b7198ed2de64411e183d07e9002a")
+ version("23.2", sha256="40e03428826c92e409e4f1510f9c0539eafb3ac49d6c2f607f4fa274d11a8928")
+ version("23.1", sha256="cb5b7246eeaac9298c51c9915386df2f784e82a3f7ff93b68453591f0b370400")
+ version("23.0", sha256="42dcf3c721f4de59fe74ae7b65950c2174c46dc8d1dd4e27c0594d86f606a635")
+ version("22.2", sha256="89c2480cdac566065577c82704a48e10f89cf2e6ca5ab99e1cf80027784c678f")
+ version("22.1", sha256="cd33a102cbac6dd1c7b1e7a9a0d82d13587771fac4e96e8fff92e403d15e32c8")
+ version("22.0", sha256="042e168d74055a501c75911694758a30597446accd8c82ec569552b9e9fcd272")
+ version("21.3", sha256="69a743c4f23b2243e06170b1937558122142e47c8ebe652be143199bfafad6e4")
+ version("21.2", sha256="f6b07bf8e6705915679a63363ce80faaa6b7c231e7236cde443d6445f7430334")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
- depends_on('ncurses', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
+ depends_on("ncurses", type="link")
diff --git a/var/spack/repos/builtin/packages/ermod/package.py b/var/spack/repos/builtin/packages/ermod/package.py
index c7a91a0bea..9971aa99b3 100644
--- a/var/spack/repos/builtin/packages/ermod/package.py
+++ b/var/spack/repos/builtin/packages/ermod/package.py
@@ -12,17 +12,19 @@ class Ermod(AutotoolsPackage):
program allows users to calculate the solvation free energy to arbitrary
solvents, including inhomogeneous systems, and can run in cooperation with
state-of-art molecular simulation softwares, such as NAMD, GROMACS and/or
- AMBER. """
+ AMBER."""
homepage = "https://sourceforge.net/projects/ermod/"
- url = "https://sourceforge.net/projects/ermod/files/ermod-0.3%20%28stable%29/ermod-0.3.5.tar.gz"
+ url = (
+ "https://sourceforge.net/projects/ermod/files/ermod-0.3%20%28stable%29/ermod-0.3.5.tar.gz"
+ )
- version('0.3.6', sha256='8fdd8e0844fcc34cda2bbbf8ad03168c1c2f1409e06967a96a0f2269bb5f1b6b')
- version('0.3.5', sha256='42043ba7f53e9b74d0327b9982f33a4b79ed6964fbeb409e33178a6dcdf9e827')
+ version("0.3.6", sha256="8fdd8e0844fcc34cda2bbbf8ad03168c1c2f1409e06967a96a0f2269bb5f1b6b")
+ version("0.3.5", sha256="42043ba7f53e9b74d0327b9982f33a4b79ed6964fbeb409e33178a6dcdf9e827")
- depends_on('fftw')
- depends_on('blas')
+ depends_on("fftw")
+ depends_on("blas")
def configure_args(self):
- args = ['--with-blas=%s' % self.spec['blas'].libs.ld_flags]
+ args = ["--with-blas=%s" % self.spec["blas"].libs.ld_flags]
return args
diff --git a/var/spack/repos/builtin/packages/erne/package.py b/var/spack/repos/builtin/packages/erne/package.py
index 6a5e6be8ea..1e8b8530fc 100644
--- a/var/spack/repos/builtin/packages/erne/package.py
+++ b/var/spack/repos/builtin/packages/erne/package.py
@@ -10,32 +10,31 @@ class Erne(AutotoolsPackage):
"""The Extended Randomized Numerical alignEr using BWT"""
homepage = "http://erne.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/erne/2.1.1/erne-2.1.1-source.tar.gz"
+ url = "https://downloads.sourceforge.net/project/erne/2.1.1/erne-2.1.1-source.tar.gz"
- version('2.1.1', sha256='f32ab48481fd6c129b0a0246ab02b6e3a2a9da84024e1349510a59c15425d983')
+ version("2.1.1", sha256="f32ab48481fd6c129b0a0246ab02b6e3a2a9da84024e1349510a59c15425d983")
- variant('mpi', default=False,
- description='Build with OpenMPI support')
+ variant("mpi", default=False, description="Build with OpenMPI support")
depends_on(
- 'boost@1.40.0:'
- '+exception+filesystem+system+chrono+serialization+random'
- '+atomic+iostreams+regex+thread+container',
- type=('build', 'link', 'run')
+ "boost@1.40.0:"
+ "+exception+filesystem+system+chrono+serialization+random"
+ "+atomic+iostreams+regex+thread+container",
+ type=("build", "link", "run"),
)
- depends_on('openmpi', type=('build', 'run'), when='+mpi')
+ depends_on("openmpi", type=("build", "run"), when="+mpi")
def configure_args(self):
- if '+mpi' in self.spec:
- return ['--enable-openmpi']
+ if "+mpi" in self.spec:
+ return ["--enable-openmpi"]
else:
- return ['--disable-openmpi']
+ return ["--disable-openmpi"]
def build(self, spec, prefix):
# override the AUTOCONF environment to prevent double configure
# this catches any invocations and ignores them
- make('AUTOCONF=:')
+ make("AUTOCONF=:")
def install(self, spec, prefix):
# same catch with installing
- make('install', 'AUTOCONF=:')
+ make("install", "AUTOCONF=:")
diff --git a/var/spack/repos/builtin/packages/es-shell/package.py b/var/spack/repos/builtin/packages/es-shell/package.py
index 966f452407..b37dd59885 100644
--- a/var/spack/repos/builtin/packages/es-shell/package.py
+++ b/var/spack/repos/builtin/packages/es-shell/package.py
@@ -14,9 +14,9 @@ class EsShell(AutotoolsPackage):
implementation of rc."""
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"
+ url = "https://github.com/wryun/es-shell/releases/download/v0.9.1/es-0.9.1.tar.gz"
- version('0.9.1', sha256='b0b41fce99b122a173a06b899a4d92e5bd3cc48b227b2736159f596a58fff4ba')
+ version("0.9.1", sha256="b0b41fce99b122a173a06b899a4d92e5bd3cc48b227b2736159f596a58fff4ba")
- depends_on('readline')
- depends_on('yacc')
+ depends_on("readline")
+ depends_on("yacc")
diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py
index 1f511987b6..2d392bf507 100644
--- a/var/spack/repos/builtin/packages/esmf/package.py
+++ b/var/spack/repos/builtin/packages/esmf/package.py
@@ -16,66 +16,66 @@ class Esmf(MakefilePackage):
and utilities for developing individual models."""
homepage = "https://www.earthsystemcog.org/projects/esmf/"
- url = 'https://github.com/esmf-org/esmf/archive/ESMF_8_0_1.tar.gz'
+ url = "https://github.com/esmf-org/esmf/archive/ESMF_8_0_1.tar.gz"
- maintainers = ['climbfuji']
+ maintainers = ["climbfuji"]
- version('8.2.0', sha256='3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485')
- version('8.1.1', sha256='58c2e739356f21a1b32673aa17a713d3c4af9d45d572f4ba9168c357d586dc75')
- version('8.0.1', sha256='9172fb73f3fe95c8188d889ee72fdadb4f978b1d969e1d8e401e8d106def1d84')
- version('8.0.0', sha256='051dca45f9803d7e415c0ea146df15ce487fb55f0fce18ca61d96d4dba0c8774')
- version('7.1.0r', sha256='ae9a5edb8d40ae97a35cbd4bd00b77061f995c77c43d36334dbb95c18b00a889')
+ version("8.2.0", sha256="3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485")
+ 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('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')
- variant('pio', default=True, description='Enable ParallelIO support')
- variant('debug', default=False, description='Make a debuggable version of the library')
+ variant("mpi", default=True, description="Build with MPI 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")
+ variant("pio", default=True, description="Enable ParallelIO support")
+ variant("debug", default=False, description="Make a debuggable version of the library")
# Required dependencies
- depends_on('zlib')
- depends_on('libxml2')
+ depends_on("zlib")
+ depends_on("libxml2")
# Optional dependencies
- depends_on('mpi', when='+mpi')
- 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')
- depends_on('xerces-c@3.1.0:', when='+xerces')
+ depends_on("mpi", when="+mpi")
+ 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")
+ depends_on("xerces-c@3.1.0:", when="+xerces")
# Testing dependencies
- depends_on('perl', type='test')
+ depends_on("perl", type="test")
# Make esmf build with newer intel versions
- patch('intel.patch', when='@:7.0 %intel@17:')
+ patch("intel.patch", when="@:7.0 %intel@17:")
# Make esmf build with newer gcc versions
# https://sourceforge.net/p/esmf/esmf/ci/3706bf758012daebadef83d6575c477aeff9c89b/
- patch('gcc.patch', when='@:7.0 %gcc@6:')
+ patch("gcc.patch", when="@:7.0 %gcc@6:")
# Fix undefined reference errors with mvapich2
# https://sourceforge.net/p/esmf/esmf/ci/34de0ccf556ba75d35c9687dae5d9f666a1b2a18/
- patch('mvapich2.patch', when='@:7.0')
+ patch("mvapich2.patch", when="@:7.0")
# Allow different directories for creation and
# installation of dynamic libraries on OSX:
- patch('darwin_dylib_install_name.patch', when='platform=darwin @:7.0')
+ patch("darwin_dylib_install_name.patch", when="platform=darwin @:7.0")
# Missing include file for newer gcc compilers
# https://trac.macports.org/ticket/57493
- patch('cstddef.patch', when='@7.1.0r %gcc@8:')
+ patch("cstddef.patch", when="@7.1.0r %gcc@8:")
# Make script from mvapich2.patch executable
- @when('@:7.0')
- @run_before('build')
+ @when("@:7.0")
+ @run_before("build")
def chmod_scripts(self):
- chmod = which('chmod')
- chmod('+x', 'scripts/libs.mvapich2f90')
+ chmod = which("chmod")
+ chmod("+x", "scripts/libs.mvapich2f90")
def url_for_version(self, version):
- if version < Version('8.0.0'):
+ if version < Version("8.0.0"):
return "http://www.earthsystemmodeling.org/esmf_releases/public/ESMF_{0}/esmf_{0}_src.tar.gz".format(
version.underscored
)
@@ -90,7 +90,7 @@ class Esmf(MakefilePackage):
# Unset any environment variables that may influence the installation.
for var in os.environ:
- if var.startswith('ESMF_'):
+ if var.startswith("ESMF_"):
os.environ.pop(var)
######################################
@@ -99,23 +99,21 @@ class Esmf(MakefilePackage):
# The environment variable ESMF_DIR must be set to the full pathname
# of the top level ESMF directory before building the framework.
- os.environ['ESMF_DIR'] = os.getcwd()
+ os.environ["ESMF_DIR"] = os.getcwd()
# This variable specifies the prefix of the installation path used
# with the install target.
- os.environ['ESMF_INSTALL_PREFIX'] = prefix
+ os.environ["ESMF_INSTALL_PREFIX"] = prefix
# Installation subdirectories default to:
# bin/binO/Linux.gfortran.64.default.default
- os.environ['ESMF_INSTALL_BINDIR'] = 'bin'
- os.environ['ESMF_INSTALL_LIBDIR'] = 'lib'
- os.environ['ESMF_INSTALL_MODDIR'] = 'include'
+ os.environ["ESMF_INSTALL_BINDIR"] = "bin"
+ os.environ["ESMF_INSTALL_LIBDIR"] = "lib"
+ os.environ["ESMF_INSTALL_MODDIR"] = "include"
# Allow compiler flags to carry through from compiler spec
- os.environ['ESMF_CXXCOMPILEOPTS'] = \
- ' '.join(spec.compiler_flags['cxxflags'])
- os.environ['ESMF_F90COMPILEOPTS'] = \
- ' '.join(spec.compiler_flags['fflags'])
+ os.environ["ESMF_CXXCOMPILEOPTS"] = " ".join(spec.compiler_flags["cxxflags"])
+ os.environ["ESMF_F90COMPILEOPTS"] = " ".join(spec.compiler_flags["fflags"])
# ESMF will simply not build with Intel using backing GCC 8, in that
# case you need to point to something older, below is commented but is
# an example
@@ -130,51 +128,56 @@ class Esmf(MakefilePackage):
# ESMF_COMPILER must be set to select which Fortran and
# C++ compilers are being used to build the ESMF library.
- if self.compiler.name == 'gcc':
- os.environ['ESMF_COMPILER'] = 'gfortran'
- gfortran_major_version = int(spack.compiler.get_compiler_version_output(
- self.compiler.fc, '-dumpversion').split('.')[0])
- elif self.compiler.name == 'intel':
- os.environ['ESMF_COMPILER'] = 'intel'
- elif self.compiler.name in ['clang', 'apple-clang']:
- os.environ['ESMF_COMPILER'] = 'gfortranclang'
- gfortran_major_version = int(spack.compiler.get_compiler_version_output(
- self.compiler.fc, '-dumpversion').split('.')[0])
- elif self.compiler.name == 'nag':
- os.environ['ESMF_COMPILER'] = 'nag'
- elif self.compiler.name == 'pgi':
- os.environ['ESMF_COMPILER'] = 'pgi'
+ if self.compiler.name == "gcc":
+ os.environ["ESMF_COMPILER"] = "gfortran"
+ gfortran_major_version = int(
+ spack.compiler.get_compiler_version_output(self.compiler.fc, "-dumpversion").split(
+ "."
+ )[0]
+ )
+ elif self.compiler.name == "intel":
+ os.environ["ESMF_COMPILER"] = "intel"
+ elif self.compiler.name in ["clang", "apple-clang"]:
+ os.environ["ESMF_COMPILER"] = "gfortranclang"
+ gfortran_major_version = int(
+ spack.compiler.get_compiler_version_output(self.compiler.fc, "-dumpversion").split(
+ "."
+ )[0]
+ )
+ elif self.compiler.name == "nag":
+ os.environ["ESMF_COMPILER"] = "nag"
+ elif self.compiler.name == "pgi":
+ os.environ["ESMF_COMPILER"] = "pgi"
else:
- msg = "The compiler you are building with, "
+ msg = "The compiler you are building with, "
msg += "'{0}', is not supported by ESMF."
raise InstallError(msg.format(self.compiler.name))
- if '+mpi' in spec:
- os.environ['ESMF_CXX'] = spec['mpi'].mpicxx
- os.environ['ESMF_F90'] = spec['mpi'].mpifc
+ if "+mpi" in spec:
+ os.environ["ESMF_CXX"] = spec["mpi"].mpicxx
+ os.environ["ESMF_F90"] = spec["mpi"].mpifc
else:
- os.environ['ESMF_CXX'] = os.environ['CXX']
- os.environ['ESMF_F90'] = os.environ['FC']
+ os.environ["ESMF_CXX"] = os.environ["CXX"]
+ os.environ["ESMF_F90"] = os.environ["FC"]
# This environment variable controls the build option.
- if '+debug' in spec:
+ if "+debug" in spec:
# Build a debuggable version of the library.
- os.environ['ESMF_BOPT'] = 'g'
+ os.environ["ESMF_BOPT"] = "g"
else:
# Build an optimized version of the library.
- os.environ['ESMF_BOPT'] = 'O'
+ os.environ["ESMF_BOPT"] = "O"
- if self.compiler.name in ['gcc', 'clang', 'apple-clang'] and \
- gfortran_major_version >= 10:
- os.environ['ESMF_F90COMPILEOPTS'] = '-fallow-argument-mismatch'
+ if self.compiler.name in ["gcc", "clang", "apple-clang"] and gfortran_major_version >= 10:
+ os.environ["ESMF_F90COMPILEOPTS"] = "-fallow-argument-mismatch"
#######
# OS #
#######
# ESMF_OS must be set for Cray systems
- if 'platform=cray' in self.spec:
- os.environ['ESMF_OS'] = 'Unicos'
+ if "platform=cray" in self.spec:
+ os.environ["ESMF_OS"] = "Unicos"
#######
# MPI #
@@ -182,38 +185,39 @@ class Esmf(MakefilePackage):
# ESMF_COMM must be set to indicate which MPI implementation
# is used to build the ESMF library.
- if '+mpi' in spec:
- if 'platform=cray' in self.spec:
- os.environ['ESMF_COMM'] = 'mpi'
- elif '^mvapich2' in spec:
- os.environ['ESMF_COMM'] = 'mvapich2'
- elif '^mpich' in spec:
+ if "+mpi" in spec:
+ if "platform=cray" in self.spec:
+ os.environ["ESMF_COMM"] = "mpi"
+ elif "^mvapich2" in spec:
+ os.environ["ESMF_COMM"] = "mvapich2"
+ elif "^mpich" in spec:
# esmf@7.0.1 does not include configs for mpich3,
# so we start with the configs for mpich2:
- os.environ['ESMF_COMM'] = 'mpich2'
+ os.environ["ESMF_COMM"] = "mpich2"
# The mpich 3 series split apart the Fortran and C bindings,
# so we link the Fortran libraries when building C programs:
- os.environ['ESMF_CXXLINKLIBS'] = '-lmpifort'
- elif '^openmpi' in spec or \
- '^hpcx-mpi' in spec:
- os.environ['ESMF_COMM'] = 'openmpi'
- elif '^intel-parallel-studio+mpi' in spec or \
- '^intel-mpi' in spec or \
- '^intel-oneapi-mpi' in spec:
- os.environ['ESMF_COMM'] = 'intelmpi'
+ os.environ["ESMF_CXXLINKLIBS"] = "-lmpifort"
+ elif "^openmpi" in spec or "^hpcx-mpi" in spec:
+ os.environ["ESMF_COMM"] = "openmpi"
+ elif (
+ "^intel-parallel-studio+mpi" in spec
+ or "^intel-mpi" in spec
+ or "^intel-oneapi-mpi" in spec
+ ):
+ os.environ["ESMF_COMM"] = "intelmpi"
else:
# Force use of the single-processor MPI-bypass library.
- os.environ['ESMF_COMM'] = 'mpiuni'
+ os.environ["ESMF_COMM"] = "mpiuni"
##########
# LAPACK #
##########
- if '+external-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.
- os.environ['ESMF_LAPACK'] = 'system'
+ os.environ["ESMF_LAPACK"] = "system"
# FIXME: determine whether or not we need to set this
# Specifies the path where the LAPACK library is located.
@@ -221,27 +225,27 @@ class Esmf(MakefilePackage):
# Specifies the linker directive needed to link the LAPACK library
# to the application.
- os.environ['ESMF_LAPACK_LIBS'] = spec['lapack'].libs.link_flags
+ os.environ["ESMF_LAPACK_LIBS"] = spec["lapack"].libs.link_flags
else:
- os.environ['ESMF_LAPACK'] = 'internal'
+ os.environ["ESMF_LAPACK"] = "internal"
##########
# NetCDF #
##########
- if '+netcdf' in spec:
+ if "+netcdf" in spec:
# ESMF provides the ability to read Grid and Mesh data in
# NetCDF format.
- if spec.satisfies('^netcdf-c@4.2:'):
+ if spec.satisfies("^netcdf-c@4.2:"):
# ESMF_NETCDF_LIBS will be set to "-lnetcdff -lnetcdf".
# This option is useful for systems which have the Fortran
# and C bindings archived in seperate library files.
- os.environ['ESMF_NETCDF'] = 'split'
+ os.environ["ESMF_NETCDF"] = "split"
else:
# ESMF_NETCDF_LIBS will be set to "-lnetcdf".
# This option is useful when the Fortran and C bindings
# are archived together in the same library file.
- os.environ['ESMF_NETCDF'] = 'standard'
+ os.environ["ESMF_NETCDF"] = "standard"
# FIXME: determine whether or not we need to set these.
# ESMF_NETCDF_INCLUDE
@@ -251,13 +255,13 @@ class Esmf(MakefilePackage):
# Parallel-NetCDF #
###################
- if '+pnetcdf' in spec:
+ if "+pnetcdf" in spec:
# ESMF provides the ability to write Mesh weights
# using Parallel-NetCDF.
# When defined, enables the use of Parallel-NetCDF.
# ESMF_PNETCDF_LIBS will be set to "-lpnetcdf".
- os.environ['ESMF_PNETCDF'] = 'standard'
+ os.environ["ESMF_PNETCDF"] = "standard"
# FIXME: determine whether or not we need to set these.
# ESMF_PNETCDF_INCLUDE
@@ -267,38 +271,38 @@ class Esmf(MakefilePackage):
# ParallelIO #
##############
- if '+pio' in spec and '+mpi' in spec:
+ if "+pio" in spec and "+mpi" in spec:
# ESMF provides the ability to read and write data in both binary
# and NetCDF formats through ParallelIO (PIO), a third-party IO
# software library that is integrated in the ESMF library.
# PIO-dependent features will be enabled and will use the
# PIO library that is included and built with ESMF.
- os.environ['ESMF_PIO'] = 'internal'
+ os.environ["ESMF_PIO"] = "internal"
else:
# Disables PIO-dependent code.
- os.environ['ESMF_PIO'] = 'OFF'
+ os.environ["ESMF_PIO"] = "OFF"
##########
# XERCES #
##########
- if '+xerces' in spec:
+ if "+xerces" in spec:
# ESMF provides the ability to read Attribute data in
# XML file format via the XERCES C++ library.
# ESMF_XERCES_LIBS will be set to "-lxerces-c".
- os.environ['ESMF_XERCES'] = 'standard'
+ os.environ["ESMF_XERCES"] = "standard"
# FIXME: determine if the following are needed
# ESMF_XERCES_INCLUDE
# ESMF_XERCES_LIBPATH
def check(self):
- make('check', parallel=False)
+ make("check", parallel=False)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('ESMFMKFILE', os.path.join(self.prefix.lib, 'esmf.mk'))
+ env.set("ESMFMKFILE", os.path.join(self.prefix.lib, "esmf.mk"))
def setup_run_environment(self, env):
- env.set('ESMFMKFILE', os.path.join(self.prefix.lib, 'esmf.mk'))
+ env.set("ESMFMKFILE", os.path.join(self.prefix.lib, "esmf.mk"))
diff --git a/var/spack/repos/builtin/packages/espanso/package.py b/var/spack/repos/builtin/packages/espanso/package.py
index ef059eda49..88798f9324 100644
--- a/var/spack/repos/builtin/packages/espanso/package.py
+++ b/var/spack/repos/builtin/packages/espanso/package.py
@@ -9,24 +9,24 @@ class Espanso(Package):
"""Cross-platform Text Expander written in Rust"""
homepage = "https://github.com/federico-terzi/espanso"
- url = "https://github.com/federico-terzi/espanso/releases/download/v0.6.3/espanso-linux.tar.gz"
+ url = "https://github.com/federico-terzi/espanso/releases/download/v0.6.3/espanso-linux.tar.gz"
- maintainers = ['zicklag']
+ maintainers = ["zicklag"]
- version('0.6.3', sha256='eb9f9563ed0924d1494f0b406b6d3df9d7df00e81affaf15023d1c82dd8ac561')
- version('0.6.2', sha256='db2e53c8e0a17575f69739e53dd6a486dd0e912abbc7ac7c33d98567bd1f0e18')
- version('0.6.1', sha256='0917d4a990bfc5ced368ce9fbc3aa4bc4dac4d39ddea88359dc628fee16daf87')
- version('0.6.0', sha256='97689b734235224dde2fb4723bee24324a53355a6b549fb9d024a0c8ddb3cd98')
- version('0.5.5', sha256='94687a3049a43ed4c2ed3814afb4e32e09dec8ec396e54a7b012de936f0260e9')
- version('0.5.4', sha256='87e4c4a8a7bfb95a3ee987e34af3a37ca4d962bec3f863ef74be7fc8cdd1a9dd')
- version('0.5.3', sha256='1db21f74385b1eb94ac6d27def550d02dce8da34bce1f8f4a0c4eb9bfd80d135')
- version('0.5.2', sha256='69c8d3460ae497a2224cbf290c334c9151fc756053f65cbaf9ce8e9284ad50fd')
- version('0.5.1', sha256='e68d90256f9eb26b57085b5170e238752bfbfcf3d50ccaa5693974460cb19deb')
- version('0.5.0', sha256='f85c098a20b1022d8a6b751e3a56431caa01c796ce88ab95aae8950a1233da55')
+ version("0.6.3", sha256="eb9f9563ed0924d1494f0b406b6d3df9d7df00e81affaf15023d1c82dd8ac561")
+ version("0.6.2", sha256="db2e53c8e0a17575f69739e53dd6a486dd0e912abbc7ac7c33d98567bd1f0e18")
+ version("0.6.1", sha256="0917d4a990bfc5ced368ce9fbc3aa4bc4dac4d39ddea88359dc628fee16daf87")
+ version("0.6.0", sha256="97689b734235224dde2fb4723bee24324a53355a6b549fb9d024a0c8ddb3cd98")
+ version("0.5.5", sha256="94687a3049a43ed4c2ed3814afb4e32e09dec8ec396e54a7b012de936f0260e9")
+ version("0.5.4", sha256="87e4c4a8a7bfb95a3ee987e34af3a37ca4d962bec3f863ef74be7fc8cdd1a9dd")
+ version("0.5.3", sha256="1db21f74385b1eb94ac6d27def550d02dce8da34bce1f8f4a0c4eb9bfd80d135")
+ version("0.5.2", sha256="69c8d3460ae497a2224cbf290c334c9151fc756053f65cbaf9ce8e9284ad50fd")
+ version("0.5.1", sha256="e68d90256f9eb26b57085b5170e238752bfbfcf3d50ccaa5693974460cb19deb")
+ version("0.5.0", sha256="f85c098a20b1022d8a6b751e3a56431caa01c796ce88ab95aae8950a1233da55")
- depends_on('xclip')
- depends_on('xdotool')
+ depends_on("xclip")
+ depends_on("xdotool")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('espanso', prefix.bin)
+ install("espanso", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/essl/package.py b/var/spack/repos/builtin/packages/essl/package.py
index cf3b971f1d..fcc1b05291 100644
--- a/var/spack/repos/builtin/packages/essl/package.py
+++ b/var/spack/repos/builtin/packages/essl/package.py
@@ -11,53 +11,55 @@ class Essl(BundlePackage):
homepage = "https://www.ibm.com/systems/power/software/essl/"
# https://www.ibm.com/docs/en/essl/6.2?topic=whats-new
- version('6.2.1.1')
+ version("6.2.1.1")
- variant('ilp64', default=False, description='64 bit integers')
+ variant("ilp64", default=False, description="64 bit integers")
variant(
- 'threads', default='openmp',
- description='Multithreading support',
- values=('openmp', 'none'),
- multi=False
+ "threads",
+ default="openmp",
+ description="Multithreading support",
+ values=("openmp", "none"),
+ multi=False,
)
- variant('cuda', default=False, description='CUDA acceleration')
+ variant("cuda", default=False, description="CUDA acceleration")
- provides('blas')
+ provides("blas")
- conflicts('+cuda', when='+ilp64',
- msg='ESSL+cuda+ilp64 cannot combine CUDA acceleration'
- ' 64 bit integers')
+ conflicts(
+ "+cuda",
+ when="+ilp64",
+ msg="ESSL+cuda+ilp64 cannot combine CUDA acceleration" " 64 bit integers",
+ )
- conflicts('+cuda', when='threads=none',
- msg='ESSL+cuda threads=none cannot combine CUDA acceleration'
- ' without multithreading support')
+ conflicts(
+ "+cuda",
+ when="threads=none",
+ msg="ESSL+cuda threads=none cannot combine CUDA acceleration"
+ " without multithreading support",
+ )
@property
def blas_libs(self):
spec = self.spec
prefix = self.prefix
- if '+ilp64' in spec:
- essl_lib = ['libessl6464']
+ if "+ilp64" in spec:
+ essl_lib = ["libessl6464"]
else:
- essl_lib = ['libessl']
+ essl_lib = ["libessl"]
- if spec.satisfies('threads=openmp'):
+ if spec.satisfies("threads=openmp"):
# ESSL SMP support requires XL or Clang OpenMP library
- if '%xl' in spec or '%xl_r' in spec or '%clang' in spec:
- if '+ilp64' in spec:
- essl_lib = ['libesslsmp6464']
+ if "%xl" in spec or "%xl_r" in spec or "%clang" in spec:
+ if "+ilp64" in spec:
+ essl_lib = ["libesslsmp6464"]
else:
- if '+cuda' in spec:
- essl_lib = ['libesslsmpcuda']
+ if "+cuda" in spec:
+ essl_lib = ["libesslsmpcuda"]
else:
- essl_lib = ['libesslsmp']
+ essl_lib = ["libesslsmp"]
essl_root = prefix.lib64
- essl_libs = find_libraries(
- essl_lib,
- root=essl_root,
- shared=True
- )
+ essl_libs = find_libraries(essl_lib, root=essl_root, shared=True)
return essl_libs
diff --git a/var/spack/repos/builtin/packages/esys-particle/package.py b/var/spack/repos/builtin/packages/esys-particle/package.py
index 4337941a65..d4fc709876 100644
--- a/var/spack/repos/builtin/packages/esys-particle/package.py
+++ b/var/spack/repos/builtin/packages/esys-particle/package.py
@@ -13,25 +13,25 @@ class EsysParticle(CMakePackage):
deformations, granular flow and/or fragmentation."""
homepage = "https://launchpad.net/esys-particle"
- url = "https://launchpadlibrarian.net/539636757/esys-particle-3.0-alpha.tar.gz"
+ url = "https://launchpadlibrarian.net/539636757/esys-particle-3.0-alpha.tar.gz"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('3.0-alpha', sha256='4fba856a95c93991cacb904e6a54a7ded93558f7adc8c3e6da99bc347843a434')
+ version("3.0-alpha", sha256="4fba856a95c93991cacb904e6a54a7ded93558f7adc8c3e6da99bc347843a434")
- depends_on('mpi')
- depends_on('boost@1.71.0+python')
- depends_on('python@3.6:')
- depends_on('py-setuptools', type='build')
+ depends_on("mpi")
+ depends_on("boost@1.71.0+python")
+ depends_on("python@3.6:")
+ depends_on("py-setuptools", type="build")
- @when('@3.0-alpha')
+ @when("@3.0-alpha")
def patch(self):
- files = find('.', 'CMakeLists.txt')
+ files = find(".", "CMakeLists.txt")
for file in files:
- filter_file('PYTHON_LIBRARIES', 'Python_LIBRARIES',
- file, string=True)
+ filter_file("PYTHON_LIBRARIES", "Python_LIBRARIES", file, string=True)
def setup_run_environment(self, env):
- pylibpath = join_path(self.prefix.lib, "python{0}".format(
- self.spec["python"].version.up_to(2)))
- env.prepend_path('PYTHONPATH', join_path(pylibpath, 'dist-packages'))
+ pylibpath = join_path(
+ self.prefix.lib, "python{0}".format(self.spec["python"].version.up_to(2))
+ )
+ env.prepend_path("PYTHONPATH", join_path(pylibpath, "dist-packages"))
diff --git a/var/spack/repos/builtin/packages/etcd/package.py b/var/spack/repos/builtin/packages/etcd/package.py
index a0342039b6..46b2c74d63 100644
--- a/var/spack/repos/builtin/packages/etcd/package.py
+++ b/var/spack/repos/builtin/packages/etcd/package.py
@@ -13,24 +13,24 @@ class Etcd(Package):
critical data of a distributed system"""
homepage = "https://etcd.io/"
- url = "https://github.com/etcd-io/etcd/archive/v3.4.7.tar.gz"
+ url = "https://github.com/etcd-io/etcd/archive/v3.4.7.tar.gz"
- version('3.4.7', sha256='858f5ad8c830a66f6bd0cd19386deea64d374185b32f40650ba979e0a70b8b97')
- version('3.4.6', sha256='e9ebd003f5545a05017a8dbdde236d6c9d25f98ee35f8ba237e57b75330664f9')
- version('3.4.5', sha256='2888f73dc52ba89da470d9bd40b1348ffe8b3da51cd8fe8bff5a1a8db2e50d46')
- version('3.4.4', sha256='46bcd0d034fe9cc6ae86a9f2a72bdc78761ca99bfd5ae4b96b24e4ad93fc627e')
- version('3.3.20', sha256='a9fcd2a3343f7f5b99acae956dd7c4fe12f16772b660f16fa9c24368df002477')
+ version("3.4.7", sha256="858f5ad8c830a66f6bd0cd19386deea64d374185b32f40650ba979e0a70b8b97")
+ version("3.4.6", sha256="e9ebd003f5545a05017a8dbdde236d6c9d25f98ee35f8ba237e57b75330664f9")
+ version("3.4.5", sha256="2888f73dc52ba89da470d9bd40b1348ffe8b3da51cd8fe8bff5a1a8db2e50d46")
+ version("3.4.4", sha256="46bcd0d034fe9cc6ae86a9f2a72bdc78761ca99bfd5ae4b96b24e4ad93fc627e")
+ version("3.3.20", sha256="a9fcd2a3343f7f5b99acae956dd7c4fe12f16772b660f16fa9c24368df002477")
- depends_on('go@:1.13.9')
+ depends_on("go@:1.13.9")
def setup_run_environment(self, env):
- if platform.machine() == 'aarch64':
- env.set('ETCD_UNSUPPORTED_ARCH', 'arm64')
+ if platform.machine() == "aarch64":
+ env.set("ETCD_UNSUPPORTED_ARCH", "arm64")
def setup_build_environment(self, env):
- if platform.machine() == 'aarch64':
- env.set('ETCD_UNSUPPORTED_ARCH', 'arm64')
+ if platform.machine() == "aarch64":
+ env.set("ETCD_UNSUPPORTED_ARCH", "arm64")
def install(self, spec, prefix):
make()
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ethminer/package.py b/var/spack/repos/builtin/packages/ethminer/package.py
index 94caa2fdf2..82888b9211 100644
--- a/var/spack/repos/builtin/packages/ethminer/package.py
+++ b/var/spack/repos/builtin/packages/ethminer/package.py
@@ -13,28 +13,27 @@ class Ethminer(CMakePackage):
homepage = "https://github.com/ethereum-mining/ethminer"
url = "https://github.com/ethereum-mining/ethminer/archive/v0.12.0.tar.gz"
- version('0.12.0', sha256='71122c8aa1be2c29e46d7f07961fa760b1eb390e4d9a2a21cf900f6482a8755a')
+ version("0.12.0", sha256="71122c8aa1be2c29e46d7f07961fa760b1eb390e4d9a2a21cf900f6482a8755a")
- variant('opencl', default=True, description='Enable OpenCL mining.')
- variant('cuda', default=False, description='Enable CUDA mining.')
- variant('stratum', default=True,
- description='Build with Stratum protocol support.')
+ variant("opencl", default=True, description="Enable OpenCL mining.")
+ variant("cuda", default=False, description="Enable CUDA mining.")
+ variant("stratum", default=True, description="Build with Stratum protocol support.")
- depends_on('python')
+ depends_on("python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('json-c')
- depends_on('curl')
- depends_on('zlib')
- depends_on('cuda', when='+cuda')
- depends_on('mesa', when='+opencl')
+ depends_on("json-c")
+ depends_on("curl")
+ depends_on("zlib")
+ depends_on("cuda", when="+cuda")
+ depends_on("mesa", when="+opencl")
def cmake_args(self):
return [
- self.define_from_variant('ETHASHCL', 'opencl'),
- self.define_from_variant('ETHASHCUDA', 'cuda'),
- self.define_from_variant('ETHSTRATUM', 'stratum')
+ self.define_from_variant("ETHASHCL", "opencl"),
+ self.define_from_variant("ETHASHCUDA", "cuda"),
+ self.define_from_variant("ETHSTRATUM", "stratum"),
]
diff --git a/var/spack/repos/builtin/packages/ethtool/package.py b/var/spack/repos/builtin/packages/ethtool/package.py
index a3989b5ec8..b5cfc0baa6 100644
--- a/var/spack/repos/builtin/packages/ethtool/package.py
+++ b/var/spack/repos/builtin/packages/ethtool/package.py
@@ -11,14 +11,14 @@ class Ethtool(AutotoolsPackage):
network interface."""
homepage = "https://github.com/Distrotech/ethtool"
- url = "https://github.com/Distrotech/ethtool/archive/v4.8.tar.gz"
+ url = "https://github.com/Distrotech/ethtool/archive/v4.8.tar.gz"
- version('4.8', sha256='e4443c612b01b6c4891e21f55a59aa2d6da1c9915edcf067bb66a0855590e143')
+ version("4.8", sha256="e4443c612b01b6c4891e21f55a59aa2d6da1c9915edcf067bb66a0855590e143")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--verbose', '--force')
+ autoreconf("--install", "--verbose", "--force")
diff --git a/var/spack/repos/builtin/packages/etsf-io/package.py b/var/spack/repos/builtin/packages/etsf-io/package.py
index 91253d3a38..c0f390e440 100644
--- a/var/spack/repos/builtin/packages/etsf-io/package.py
+++ b/var/spack/repos/builtin/packages/etsf-io/package.py
@@ -18,15 +18,15 @@ class EtsfIo(Package):
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')
+ version("1.0.4", sha256="3140c2cde17f578a0e6b63acb27a5f6e9352257a1371a17b9c15c3d0ef078fa4")
- variant('mpi', default=True, description='Add MPI support')
+ variant("mpi", default=True, description="Add MPI support")
depends_on("netcdf-fortran")
- depends_on("hdf5+mpi~cxx", when='+mpi') # required for NetCDF-4 support
+ depends_on("hdf5+mpi~cxx", when="+mpi") # required for NetCDF-4 support
def install(self, spec, prefix):
- options = ['--prefix=%s' % prefix]
+ options = ["--prefix=%s" % prefix]
oapp = options.append
# Specify installation directory for Fortran module files
@@ -35,11 +35,13 @@ class EtsfIo(Package):
# Netcdf4/HDF
hdf_libs = "-L%s -lhdf5_hl -lhdf5" % spec["hdf5"].prefix.lib
- options.extend([
- "--with-netcdf-incs=-I%s" % spec["netcdf-fortran"].prefix.include,
- "--with-netcdf-libs=-L%s -lnetcdff -lnetcdf %s" % (
- spec["netcdf-fortran"].prefix.lib, hdf_libs),
- ])
+ options.extend(
+ [
+ "--with-netcdf-incs=-I%s" % spec["netcdf-fortran"].prefix.include,
+ "--with-netcdf-libs=-L%s -lnetcdff -lnetcdf %s"
+ % (spec["netcdf-fortran"].prefix.lib, hdf_libs),
+ ]
+ )
configure(*options)
diff --git a/var/spack/repos/builtin/packages/eve/package.py b/var/spack/repos/builtin/packages/eve/package.py
index 34c34287ab..f37eef00fa 100644
--- a/var/spack/repos/builtin/packages/eve/package.py
+++ b/var/spack/repos/builtin/packages/eve/package.py
@@ -10,10 +10,10 @@ class Eve(CMakePackage):
"""Expressive Velocity Engine - SIMD in C++ Goes Brrrr"""
homepage = "https://jfalcou.github.io/eve/html/index.html"
- url = "https://github.com/jfalcou/eve/archive/refs/tags/v2022.03.0.tar.gz"
- maintainers = ['jfalcou']
- git = 'https://github.com/jfalcou/eve.git'
+ url = "https://github.com/jfalcou/eve/archive/refs/tags/v2022.03.0.tar.gz"
+ maintainers = ["jfalcou"]
+ git = "https://github.com/jfalcou/eve.git"
- version('main', branch='main')
- version('2022.03.0', sha256='8bf9faea516806e7dd468e778dcedc81c51f0b2c6a70b9c75987ce12bb759911')
- version('2021.10.0', sha256='580c40a8244039a700b93ea49fb0affc1c8d3c100eb6dc66368e101753f51e5c')
+ version("main", branch="main")
+ version("2022.03.0", sha256="8bf9faea516806e7dd468e778dcedc81c51f0b2c6a70b9c75987ce12bb759911")
+ version("2021.10.0", sha256="580c40a8244039a700b93ea49fb0affc1c8d3c100eb6dc66368e101753f51e5c")
diff --git a/var/spack/repos/builtin/packages/evemu/package.py b/var/spack/repos/builtin/packages/evemu/package.py
index 6d9872c068..cb9313d316 100644
--- a/var/spack/repos/builtin/packages/evemu/package.py
+++ b/var/spack/repos/builtin/packages/evemu/package.py
@@ -11,16 +11,16 @@ class Evemu(AutotoolsPackage):
create devices and replay data from kernel evdev devices."""
homepage = "https://github.com/freedesktop/evemu"
- url = "https://github.com/freedesktop/evemu/archive/v2.7.0.tar.gz"
+ url = "https://github.com/freedesktop/evemu/archive/v2.7.0.tar.gz"
- version('2.7.0', sha256='aee1ecc2b6761134470316d97208b173adb4686dc72548b82b2c2b5d1e5dc259')
- version('2.6.0', sha256='dc2382bee4dcb6c413271d586dc11d9b4372a70fa2b66b1e53a7107f2f9f51f8')
- version('2.5.0', sha256='ab7cce32800db84ab3504789583d1be0d9b0a5f2689389691367b18cf059b09f')
- version('2.4.0', sha256='d346ec59289f588bd93fe3cfa40858c7e048660164338787da79b9ebe3256069')
- version('2.3.1', sha256='f2dd97310520bc7824adc38b69ead22c53944a666810c60a3e49592914e14e8a')
+ version("2.7.0", sha256="aee1ecc2b6761134470316d97208b173adb4686dc72548b82b2c2b5d1e5dc259")
+ version("2.6.0", sha256="dc2382bee4dcb6c413271d586dc11d9b4372a70fa2b66b1e53a7107f2f9f51f8")
+ version("2.5.0", sha256="ab7cce32800db84ab3504789583d1be0d9b0a5f2689389691367b18cf059b09f")
+ version("2.4.0", sha256="d346ec59289f588bd93fe3cfa40858c7e048660164338787da79b9ebe3256069")
+ version("2.3.1", sha256="f2dd97310520bc7824adc38b69ead22c53944a666810c60a3e49592914e14e8a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libevdev@1.2.99.902:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libevdev@1.2.99.902:")
diff --git a/var/spack/repos/builtin/packages/everytrace-example/package.py b/var/spack/repos/builtin/packages/everytrace-example/package.py
index d3db5fdc00..6ddce81fa7 100644
--- a/var/spack/repos/builtin/packages/everytrace-example/package.py
+++ b/var/spack/repos/builtin/packages/everytrace-example/package.py
@@ -10,11 +10,11 @@ class EverytraceExample(CMakePackage):
"""Get stack trace EVERY time a program exits."""
homepage = "https://github.com/citibeth/everytrace-example"
- git = "https://github.com/citibeth/everytrace-example.git"
+ git = "https://github.com/citibeth/everytrace-example.git"
- version('develop', branch='develop')
+ version("develop", branch="develop")
- depends_on('everytrace+mpi+fortran')
+ depends_on("everytrace+mpi+fortran")
# Currently the only MPI this everytrace works with.
- depends_on('openmpi')
+ depends_on("openmpi")
diff --git a/var/spack/repos/builtin/packages/everytrace/package.py b/var/spack/repos/builtin/packages/everytrace/package.py
index fb9ac295bf..8c0295ea23 100644
--- a/var/spack/repos/builtin/packages/everytrace/package.py
+++ b/var/spack/repos/builtin/packages/everytrace/package.py
@@ -10,23 +10,23 @@ class Everytrace(CMakePackage):
"""Get stack trace EVERY time a program exits."""
homepage = "https://github.com/citibeth/everytrace"
- url = "https://github.com/citibeth/everytrace/archive/0.2.2.tar.gz"
- git = "https://github.com/citibeth/everytrace.git"
+ url = "https://github.com/citibeth/everytrace/archive/0.2.2.tar.gz"
+ git = "https://github.com/citibeth/everytrace.git"
- maintainers = ['citibeth']
+ maintainers = ["citibeth"]
- version('develop', branch='develop')
- version('0.2.2', sha256='0487276bb24e648388862d8e1d8cfe56b529f7e3d840df3fcb5b3a3dad4016e1')
+ version("develop", branch="develop")
+ version("0.2.2", sha256="0487276bb24e648388862d8e1d8cfe56b529f7e3d840df3fcb5b3a3dad4016e1")
- variant('mpi', default=True, description='Enables MPI parallelism')
- variant('fortran', default=True,
- description='Enable use with Fortran programs')
- variant('cxx', default=True, description='Enable C++ Exception-based features')
+ variant("mpi", default=True, description="Enables MPI parallelism")
+ variant("fortran", default=True, description="Enable use with Fortran programs")
+ variant("cxx", default=True, description="Enable C++ Exception-based features")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
return [
- self.define_from_variant('USE_MPI', 'mpi'),
- self.define_from_variant('USE_FORTRAN', 'fortran'),
- self.define_from_variant('USE_CXX', 'cxx')]
+ self.define_from_variant("USE_MPI", "mpi"),
+ self.define_from_variant("USE_FORTRAN", "fortran"),
+ self.define_from_variant("USE_CXX", "cxx"),
+ ]
diff --git a/var/spack/repos/builtin/packages/evieext/package.py b/var/spack/repos/builtin/packages/evieext/package.py
index 8a6debcd18..eefee4152d 100644
--- a/var/spack/repos/builtin/packages/evieext/package.py
+++ b/var/spack/repos/builtin/packages/evieext/package.py
@@ -15,7 +15,7 @@ class Evieext(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/evieproto"
xorg_mirror_path = "proto/evieext-1.1.1.tar.gz"
- version('1.1.1', sha256='e58080443c279dfb5a23c37076922df535e42bf209d21a1f3e88442cc01b4a0e')
+ version("1.1.1", sha256="e58080443c279dfb5a23c37076922df535e42bf209d21a1f3e88442cc01b4a0e")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/evtgen/package.py b/var/spack/repos/builtin/packages/evtgen/package.py
index a03fd08abd..7b2fe05f6e 100644
--- a/var/spack/repos/builtin/packages/evtgen/package.py
+++ b/var/spack/repos/builtin/packages/evtgen/package.py
@@ -7,51 +7,57 @@ from spack.package import *
class Evtgen(CMakePackage):
- """ EvtGen is a Monte Carlo event generator that simulates
- the decays of heavy flavour particles, primarily B and D mesons. """
+ """EvtGen is a Monte Carlo event generator that simulates
+ the decays of heavy flavour particles, primarily B and D mesons."""
homepage = "https://evtgen.hepforge.org/"
- url = "https://evtgen.hepforge.org/downloads?f=EvtGen-02.00.00.tar.gz"
+ url = "https://evtgen.hepforge.org/downloads?f=EvtGen-02.00.00.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('02.00.00', sha256='02372308e1261b8369d10538a3aa65fe60728ab343fcb64b224dac7313deb719')
+ version("02.00.00", sha256="02372308e1261b8369d10538a3aa65fe60728ab343fcb64b224dac7313deb719")
# switched to cmake in 02.00.00
- version('01.07.00', sha256='2648f1e2be5f11568d589d2079f22f589c283a2960390bbdb8d9d7f71bc9c014', deprecated=True)
-
- variant('pythia8', default=True, description='Build with pythia8')
- variant('tauola', default=False, description='Build with tauola')
- variant('photos', default=False, description='Build with photos')
- variant('hepmc3', default=False, description='Link with hepmc3 (instead of hepmc)')
-
- patch("g2c.patch", when='@01.07.00')
- patch("evtgen-2.0.0.patch", when='@02.00.00 ^pythia8@8.304:')
-
- depends_on('hepmc', when='~hepmc3')
- depends_on('hepmc3', when='+hepmc3')
+ version(
+ "01.07.00",
+ sha256="2648f1e2be5f11568d589d2079f22f589c283a2960390bbdb8d9d7f71bc9c014",
+ deprecated=True,
+ )
+
+ variant("pythia8", default=True, description="Build with pythia8")
+ variant("tauola", default=False, description="Build with tauola")
+ variant("photos", default=False, description="Build with photos")
+ variant("hepmc3", default=False, description="Link with hepmc3 (instead of hepmc)")
+
+ patch("g2c.patch", when="@01.07.00")
+ patch("evtgen-2.0.0.patch", when="@02.00.00 ^pythia8@8.304:")
+
+ depends_on("hepmc", when="~hepmc3")
+ depends_on("hepmc3", when="+hepmc3")
depends_on("pythia8", when="+pythia8")
depends_on("tauola~hepmc3", when="+tauola~hepmc3")
depends_on("photos~hepmc3", when="+photos~hepmc3")
depends_on("tauola+hepmc3", when="+tauola+hepmc3")
depends_on("photos+hepmc3", when="+photos+hepmc3")
- conflicts("^pythia8+evtgen", when="+pythia8",
- msg="Building pythia with evtgen bindings and "
- "evtgen with pythia bindings results in a circular dependency "
- "that cannot be resolved at the moment! "
- "Use evtgen+pythia8^pythia8~evtgen.")
- conflicts('+hepmc3', when='@:01',
- msg='hepmc3 support was added in 02.00.00')
+ conflicts(
+ "^pythia8+evtgen",
+ when="+pythia8",
+ msg="Building pythia with evtgen bindings and "
+ "evtgen with pythia bindings results in a circular dependency "
+ "that cannot be resolved at the moment! "
+ "Use evtgen+pythia8^pythia8~evtgen.",
+ )
+ conflicts("+hepmc3", when="@:01", msg="hepmc3 support was added in 02.00.00")
def cmake_args(self):
args = []
- args.append(self.define_from_variant('EVTGEN_PYTHIA', 'pythia8'))
- args.append(self.define_from_variant('EVTGEN_TAUOLA', 'tauola'))
- args.append(self.define_from_variant('EVTGEN_PHOTOS', 'photos'))
- args.append(self.define_from_variant('EVTGEN_HEPMC3', 'hepmc3'))
+ args.append(self.define_from_variant("EVTGEN_PYTHIA", "pythia8"))
+ args.append(self.define_from_variant("EVTGEN_TAUOLA", "tauola"))
+ args.append(self.define_from_variant("EVTGEN_PHOTOS", "photos"))
+ args.append(self.define_from_variant("EVTGEN_HEPMC3", "hepmc3"))
return args
@@ -63,7 +69,7 @@ class Evtgen(CMakePackage):
if not self.spec.satisfies("platform=darwin"):
return
- filter_file('-shared', '-dynamiclib -undefined dynamic_lookup', 'make.inc')
+ filter_file("-shared", "-dynamiclib -undefined dynamic_lookup", "make.inc")
# Taken from AutotoolsPackage
def configure(self, spec, prefix):
@@ -71,44 +77,44 @@ class Evtgen(CMakePackage):
:py:meth:`~.AutotoolsPackage.configure_args`
and an appropriately set prefix.
"""
- options = getattr(self, 'configure_flag_args', [])
- options += ['--prefix={0}'.format(prefix)]
+ options = getattr(self, "configure_flag_args", [])
+ options += ["--prefix={0}".format(prefix)]
options += self.configure_args()
with working_dir(self.build_directory, create=True):
inspect.getmodule(self).configure(*options)
- @when('@:01')
+ @when("@:01")
def configure_args(self):
args = []
- args.append('--hepmcdir=%s' % self.spec["hepmc"].prefix)
- if '+pythia8' in self.spec:
- args.append('--pythiadir=%s' % self.spec['pythia8'].prefix)
- if '+photos' in self.spec:
- args.append('--photosdir=%s' % self.spec['photos'].prefix)
- if '+tauola' in self.spec:
- args.append('--tauoladir=%s' % self.spec['tauola'].prefix)
+ args.append("--hepmcdir=%s" % self.spec["hepmc"].prefix)
+ if "+pythia8" in self.spec:
+ args.append("--pythiadir=%s" % self.spec["pythia8"].prefix)
+ if "+photos" in self.spec:
+ args.append("--photosdir=%s" % self.spec["photos"].prefix)
+ if "+tauola" in self.spec:
+ args.append("--tauoladir=%s" % self.spec["tauola"].prefix)
return args
- @when('@:01')
+ @when("@:01")
def cmake(self, spec, prefix):
pass
- @when('@:01')
+ @when("@:01")
def build(self, spec, prefix):
self.configure(spec, prefix)
# avoid parallel compilation errors
# due to libext_shared depending on lib_shared
with working_dir(self.build_directory):
- make('lib_shared')
- make('all')
+ make("lib_shared")
+ make("all")
- @when('@:01')
+ @when("@:01")
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('install')
+ make("install")
def setup_run_environment(self, env):
env.set("EVTGEN", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/exa/package.py b/var/spack/repos/builtin/packages/exa/package.py
index 129f8000a1..5dfd46598a 100644
--- a/var/spack/repos/builtin/packages/exa/package.py
+++ b/var/spack/repos/builtin/packages/exa/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class Exa(Package):
"""exa is a replacement for ls written in Rust."""
- homepage = 'https://the.exa.website'
- url = 'https://github.com/ogham/exa/archive/v0.9.0.tar.gz'
+ homepage = "https://the.exa.website"
+ url = "https://github.com/ogham/exa/archive/v0.9.0.tar.gz"
- version('0.9.0', sha256='96e743ffac0512a278de9ca3277183536ee8b691a46ff200ec27e28108fef783')
+ version("0.9.0", sha256="96e743ffac0512a278de9ca3277183536ee8b691a46ff200ec27e28108fef783")
- depends_on('rust')
+ depends_on("rust")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/exabayes/package.py b/var/spack/repos/builtin/packages/exabayes/package.py
index 1c76b1b276..a59c1d2bd8 100644
--- a/var/spack/repos/builtin/packages/exabayes/package.py
+++ b/var/spack/repos/builtin/packages/exabayes/package.py
@@ -9,38 +9,38 @@ from spack.package import *
class Exabayes(AutotoolsPackage):
"""ExaBayes is a software package for Bayesian tree inference. It is
- particularly suitable for large-scale analyses on computer clusters."""
+ particularly suitable for large-scale analyses on computer clusters."""
homepage = "https://sco.h-its.org/exelixis/web/software/exabayes/"
- url = "https://sco.h-its.org/exelixis/resource/download/software/exabayes-1.5.tar.gz"
+ url = "https://sco.h-its.org/exelixis/resource/download/software/exabayes-1.5.tar.gz"
- version('1.5.1', sha256='f75ce8d5cee4d241cadacd0f5f5612d783b9e9babff2a99c7e0c3819a94bbca9')
- version('1.5', sha256='e401f1b4645e67e8879d296807131d0ab79bba81a1cd5afea14d7c3838b095a2')
+ version("1.5.1", sha256="f75ce8d5cee4d241cadacd0f5f5612d783b9e9babff2a99c7e0c3819a94bbca9")
+ version("1.5", sha256="e401f1b4645e67e8879d296807131d0ab79bba81a1cd5afea14d7c3838b095a2")
- variant('mpi', default=True, description='Enable MPI parallel support')
+ variant("mpi", default=True, description="Enable MPI parallel support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# ExaBayes manual states the program succesfully compiles with GCC, version
# 4.6 or greater, and Clang, version 3.2 or greater. The build fails when
# GCC 7.1.0 is used.
- conflicts('%gcc@:4.5.4, 7.1.0:', when='@:1.5.0')
- conflicts('%clang@:3.1')
- conflicts('^intel-mpi', when='+mpi')
- conflicts('^intel-parallel-studio+mpi', when='+mpi')
- conflicts('^mvapich2', when='+mpi')
- conflicts('^spectrum-mpi', when='+mpi')
+ conflicts("%gcc@:4.5.4, 7.1.0:", when="@:1.5.0")
+ conflicts("%clang@:3.1")
+ conflicts("^intel-mpi", when="+mpi")
+ conflicts("^intel-parallel-studio+mpi", when="+mpi")
+ conflicts("^mvapich2", when="+mpi")
+ conflicts("^spectrum-mpi", when="+mpi")
def configure_args(self):
args = []
- if '+mpi' in self.spec:
- args.append('--enable-mpi')
+ if "+mpi" in self.spec:
+ args.append("--enable-mpi")
else:
- args.append('--disable-mpi')
+ args.append("--disable-mpi")
return args
def flag_handler(self, name, flags):
- if name.lower() == 'cxxflags':
+ if name.lower() == "cxxflags":
# manual cites need for c++11
flags.append(self.compiler.cxx11_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/exaca/package.py b/var/spack/repos/builtin/packages/exaca/package.py
index 80d1419930..69934f25fc 100644
--- a/var/spack/repos/builtin/packages/exaca/package.py
+++ b/var/spack/repos/builtin/packages/exaca/package.py
@@ -8,36 +8,36 @@ from spack.pkg.builtin.kokkos import Kokkos
class Exaca(CMakePackage):
- """ExaCA: an exascale cellular automata application for alloy solidification modeling
- """
+ """ExaCA: an exascale cellular automata application for alloy solidification modeling"""
+
homepage = "https://github.com/LLNL/ExaCA"
- git = "https://github.com/LLNL/ExaCA.git"
- url = "https://github.com/LLNL/ExaCA/archive/1.0.0.tar.gz"
+ git = "https://github.com/LLNL/ExaCA.git"
+ url = "https://github.com/LLNL/ExaCA/archive/1.0.0.tar.gz"
maintainers = ["streeve", "MattRolchigo"]
- tags = ['ecp']
+ tags = ["ecp"]
- version('master', branch='master')
- version('1.0.0', sha256='48556233360a5e15e1fc20849e57dd60739c1991c7dfc7e6b2956af06688b96a')
+ version("master", branch="master")
+ version("1.0.0", sha256="48556233360a5e15e1fc20849e57dd60739c1991c7dfc7e6b2956af06688b96a")
_kokkos_backends = Kokkos.devices_variants
for _backend in _kokkos_backends:
_deflt, _descr = _kokkos_backends[_backend]
variant(_backend.lower(), default=_deflt, description=_descr)
- variant('shared', default=True, description='Build shared libraries')
- variant('testing', default=False, description='Build unit tests')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("testing", default=False, description="Build unit tests")
- depends_on("cmake@3.9:", type='build')
- depends_on("googletest@1.10:", type='build', when="@master+testing")
- depends_on('kokkos@3.0:')
- depends_on('mpi')
+ depends_on("cmake@3.9:", type="build")
+ depends_on("googletest@1.10:", type="build", when="@master+testing")
+ depends_on("kokkos@3.0:")
+ depends_on("mpi")
def cmake_args(self):
- options = [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ options = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
- if self.spec.satisfies('@master'):
- options += [self.define_from_variant('ExaCA_ENABLE_TESTING', 'testing')]
+ if self.spec.satisfies("@master"):
+ options += [self.define_from_variant("ExaCA_ENABLE_TESTING", "testing")]
return options
diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py
index 9b68f2b140..37db1a8ae6 100644
--- a/var/spack/repos/builtin/packages/exago/package.py
+++ b/var/spack/repos/builtin/packages/exago/package.py
@@ -11,66 +11,68 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
problems on parallel and distributed architectures, particularly targeted
for exascale machines."""
- homepage = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago'
- git = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago.git'
- maintainers = ['ashermancinelli', 'CameronRutherford', 'pelesh']
-
- version('1.4.1', commit='ea607c685444b5f345bfdc9a59c345f0f30adde2', submodules=True, preferred=True)
- version('1.4.0', commit='4f4c3fdb40b52ace2d6ba000e7f24b340ec8e886', submodules=True)
- version('1.3.0', commit='58b039d746a6eac8e84b0afc01354cd58caec485', submodules=True)
- version('1.2.0', commit='255a214e', submodules=True)
- version('1.1.2', commit='db3bb16e', submodules=True)
- version('1.1.1', commit='0e0a3f27', submodules=True)
- version('1.1.0', commit='dc8dd855', submodules=True)
- version('1.0.0', commit='230d7df2')
- version('0.99.2', commit='56961641')
- version('0.99.1', commit='0ae426c7')
- version('master', branch='master', submodules=True)
- version('develop', branch='develop', submodules=True)
- version('5-18-2022-snapshot', tag='5-18-2022-snapshot', submodules=True)
+ homepage = "https://gitlab.pnnl.gov/exasgd/frameworks/exago"
+ git = "https://gitlab.pnnl.gov/exasgd/frameworks/exago.git"
+ maintainers = ["ashermancinelli", "CameronRutherford", "pelesh"]
+
+ version(
+ "1.4.1", commit="ea607c685444b5f345bfdc9a59c345f0f30adde2", submodules=True, preferred=True
+ )
+ version("1.4.0", commit="4f4c3fdb40b52ace2d6ba000e7f24b340ec8e886", submodules=True)
+ version("1.3.0", commit="58b039d746a6eac8e84b0afc01354cd58caec485", submodules=True)
+ version("1.2.0", commit="255a214e", submodules=True)
+ version("1.1.2", commit="db3bb16e", submodules=True)
+ version("1.1.1", commit="0e0a3f27", submodules=True)
+ version("1.1.0", commit="dc8dd855", submodules=True)
+ version("1.0.0", commit="230d7df2")
+ version("0.99.2", commit="56961641")
+ version("0.99.1", commit="0ae426c7")
+ version("master", branch="master", submodules=True)
+ version("develop", branch="develop", submodules=True)
+ version("5-18-2022-snapshot", tag="5-18-2022-snapshot", submodules=True)
# Progrmming model options
- variant('mpi', default=True, description='Enable/Disable MPI')
- variant('raja', default=False, description='Enable/Disable RAJA')
- variant('python', default=True, description='Enable/Disable Python bindings')
- conflicts('+python', when='@:1.3.0', msg='Python bindings require ExaGO 1.4')
+ variant("mpi", default=True, description="Enable/Disable MPI")
+ variant("raja", default=False, description="Enable/Disable RAJA")
+ variant("python", default=True, description="Enable/Disable Python bindings")
+ conflicts("+python", when="@:1.3.0", msg="Python bindings require ExaGO 1.4")
# Solver options
- variant('hiop', default=False, description='Enable/Disable HiOp')
- variant('ipopt', default=False, description='Enable/Disable IPOPT')
+ variant("hiop", default=False, description="Enable/Disable HiOp")
+ variant("ipopt", default=False, description="Enable/Disable IPOPT")
- conflicts('~hiop~ipopt', msg="ExaGO needs at least one solver enabled")
+ conflicts("~hiop~ipopt", msg="ExaGO needs at least one solver enabled")
# Dependencides
- depends_on('pkgconfig', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('blas')
- depends_on('cuda', when='+cuda')
- depends_on('raja', when='+raja')
+ depends_on("pkgconfig", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("cuda", when="+cuda")
+ depends_on("raja", when="+raja")
- depends_on('raja@0.14.0:', when='@1.1.0: +raja')
- depends_on('umpire', when='+raja')
- depends_on('umpire@6.0.0:', when='@1.1.0: +raja')
+ depends_on("raja@0.14.0:", when="@1.1.0: +raja")
+ depends_on("umpire", when="+raja")
+ depends_on("umpire@6.0.0:", when="@1.1.0: +raja")
# Some allocator code in Umpire only works with static libs
- depends_on('umpire+cuda~shared', when='+raja+cuda')
+ depends_on("umpire+cuda~shared", when="+raja+cuda")
- depends_on('cmake@3.18:', type='build')
+ depends_on("cmake@3.18:", type="build")
# HiOp dependency logic
- depends_on('hiop+raja', when='+hiop+raja')
- depends_on('hiop@0.3.99:', when='@0.99:+hiop')
- depends_on('hiop@0.5.1:', when='@1.1.0:+hiop')
- depends_on('hiop@0.5.3:', when='@1.3.0:+hiop')
+ depends_on("hiop+raja", when="+hiop+raja")
+ depends_on("hiop@0.3.99:", when="@0.99:+hiop")
+ depends_on("hiop@0.5.1:", when="@1.1.0:+hiop")
+ depends_on("hiop@0.5.3:", when="@1.3.0:+hiop")
- depends_on('hiop~mpi', when='+hiop~mpi')
- depends_on('hiop+mpi', when='+hiop+mpi')
+ depends_on("hiop~mpi", when="+hiop~mpi")
+ depends_on("hiop+mpi", when="+hiop+mpi")
- depends_on('petsc@3.13:3.14', when='@:1.2.99')
- depends_on('petsc@3.16.0:3.16', when='@1.3.0:')
- depends_on('petsc~mpi', when='~mpi')
+ depends_on("petsc@3.13:3.14", when="@:1.2.99")
+ depends_on("petsc@3.16.0:3.16", when="@1.3.0:")
+ depends_on("petsc~mpi", when="~mpi")
- depends_on('py-pytest', type=('build', 'run'), when='@1.4.1:')
+ depends_on("py-pytest", type=("build", "run"), when="@1.4.1:")
for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch)
@@ -87,9 +89,9 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hiop {0}".format(rocm_dep), when=rocm_dep)
depends_on("raja {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
- depends_on('ipopt', when='+ipopt')
+ depends_on("ipopt", when="+ipopt")
- depends_on('py-mpi4py', when='@1.3.0:+mpi+python')
+ depends_on("py-mpi4py", when="@1.3.0:+mpi+python")
flag_handler = build_system_flags
@@ -103,24 +105,25 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('EXAGO_CTEST_LAUNCH_COMMAND', 'srun -t 10:00'))
- args.extend([
- self.define('EXAGO_ENABLE_GPU', '+cuda' in spec or '+rocm' in spec),
- self.define_from_variant('EXAGO_ENABLE_CUDA', 'cuda'),
- self.define_from_variant('EXAGO_ENABLE_HIP', 'rocm'),
- self.define('PETSC_DIR', spec['petsc'].prefix),
- self.define('EXAGO_RUN_TESTS', True),
- self.define_from_variant('EXAGO_ENABLE_MPI', 'mpi'),
- self.define_from_variant('EXAGO_ENABLE_RAJA', 'raja'),
- self.define_from_variant('EXAGO_ENABLE_HIOP', 'hiop'),
- self.define_from_variant('EXAGO_ENABLE_IPOPT', 'ipopt'),
- self.define_from_variant('EXAGO_ENABLE_PYTHON', 'python'),
- ])
-
- if '+cuda' in spec:
- cuda_arch_list = spec.variants['cuda_arch'].value
- if cuda_arch_list[0] != 'none':
- args.append(
- self.define('CMAKE_CUDA_ARCHITECTURES', cuda_arch_list))
+ args.extend(
+ [
+ self.define("EXAGO_ENABLE_GPU", "+cuda" in spec or "+rocm" in spec),
+ self.define_from_variant("EXAGO_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("EXAGO_ENABLE_HIP", "rocm"),
+ self.define("PETSC_DIR", spec["petsc"].prefix),
+ self.define("EXAGO_RUN_TESTS", True),
+ self.define_from_variant("EXAGO_ENABLE_MPI", "mpi"),
+ self.define_from_variant("EXAGO_ENABLE_RAJA", "raja"),
+ self.define_from_variant("EXAGO_ENABLE_HIOP", "hiop"),
+ self.define_from_variant("EXAGO_ENABLE_IPOPT", "ipopt"),
+ self.define_from_variant("EXAGO_ENABLE_PYTHON", "python"),
+ ]
+ )
+
+ if "+cuda" in spec:
+ cuda_arch_list = spec.variants["cuda_arch"].value
+ if cuda_arch_list[0] != "none":
+ args.append(self.define("CMAKE_CUDA_ARCHITECTURES", cuda_arch_list))
# NOTE: if +rocm, some HIP CMake variables may not be set correctly.
# Namely, HIP_CLANG_INCLUDE_PATH. If the configure phase fails due to
@@ -130,12 +133,12 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('HIP_CLANG_INCLUDE_PATH',
# '/opt/rocm-X.Y.Z/llvm/lib/clang/14.0.0/include/'))
- if '+rocm' in spec:
- args.append(self.define('CMAKE_CXX_COMPILER', spec['hip'].hipcc))
+ if "+rocm" in spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
- rocm_arch_list = spec.variants['amdgpu_target'].value
- if rocm_arch_list[0] != 'none':
- args.append(self.define('GPU_TARGETS', rocm_arch_list))
- args.append(self.define('AMDGPU_TARGETS', rocm_arch_list))
+ rocm_arch_list = spec.variants["amdgpu_target"].value
+ if rocm_arch_list[0] != "none":
+ args.append(self.define("GPU_TARGETS", rocm_arch_list))
+ args.append(self.define("AMDGPU_TARGETS", rocm_arch_list))
return args
diff --git a/var/spack/repos/builtin/packages/examinimd/package.py b/var/spack/repos/builtin/packages/examinimd/package.py
index 94644f46d4..510c1d44a3 100644
--- a/var/spack/repos/builtin/packages/examinimd/package.py
+++ b/var/spack/repos/builtin/packages/examinimd/package.py
@@ -18,51 +18,50 @@ class Examinimd(MakefilePackage):
derived class and drop it into the code without touching much of the
rest of the application."""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://github.com/ECP-copa/ExaMiniMD"
- url = "https://github.com/ECP-copa/ExaMiniMD/archive/1.0.zip"
- git = "https://github.com/ECP-copa/ExaMiniMD.git"
+ url = "https://github.com/ECP-copa/ExaMiniMD/archive/1.0.zip"
+ git = "https://github.com/ECP-copa/ExaMiniMD.git"
- version('develop', branch='master')
- version('1.0', sha256='d5f884ecc3a5f9723cc57a4c188da926b392605650606c1c8c34f2d1953f2534')
+ version("develop", branch="master")
+ version("1.0", sha256="d5f884ecc3a5f9723cc57a4c188da926b392605650606c1c8c34f2d1953f2534")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=False, description='Build with OpenMP support')
- variant('pthreads', default=False, description='Build with POSIX Threads support')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("pthreads", default=False, description="Build with POSIX Threads support")
# TODO: Set up cuda variant when test machine available
- conflicts('+openmp', when='+pthreads')
+ conflicts("+openmp", when="+pthreads")
- depends_on('kokkos-legacy')
- depends_on('mpi', when='+mpi')
+ depends_on("kokkos-legacy")
+ depends_on("mpi", when="+mpi")
@property
def build_targets(self):
targets = []
# Append Kokkos
- targets.append('KOKKOS_PATH={0}'.format(
- self.spec['kokkos-legacy'].prefix))
+ targets.append("KOKKOS_PATH={0}".format(self.spec["kokkos-legacy"].prefix))
# Set kokkos device
- if 'openmp' in self.spec:
- targets.append('KOKKOS_DEVICES=OpenMP')
- elif 'pthreads' in self.spec:
- targets.append('KOKKOS_DEVICES=Pthread')
+ if "openmp" in self.spec:
+ targets.append("KOKKOS_DEVICES=OpenMP")
+ elif "pthreads" in self.spec:
+ targets.append("KOKKOS_DEVICES=Pthread")
else:
- targets.append('KOKKOS_DEVICES=Serial')
+ targets.append("KOKKOS_DEVICES=Serial")
# Set MPI as needed
- if '+mpi' in self.spec:
- targets.append('MPI=1')
- targets.append('CXX = {0}'.format(self.spec['mpi'].mpicxx))
+ if "+mpi" in self.spec:
+ targets.append("MPI=1")
+ targets.append("CXX = {0}".format(self.spec["mpi"].mpicxx))
else:
- targets.append('MPI=0')
- targets.append('CXX = {0}'.format(spack_cxx))
+ targets.append("MPI=0")
+ targets.append("CXX = {0}".format(spack_cxx))
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('src/ExaMiniMD', prefix.bin)
- install_tree('input', prefix.input)
+ install("src/ExaMiniMD", prefix.bin)
+ install_tree("input", prefix.input)
mkdirp(prefix.docs)
- install('README.md', prefix.docs)
- install('LICENSE', prefix.docs)
+ install("README.md", prefix.docs)
+ install("LICENSE", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/examl/package.py b/var/spack/repos/builtin/packages/examl/package.py
index e01fae95f8..8d8721253c 100644
--- a/var/spack/repos/builtin/packages/examl/package.py
+++ b/var/spack/repos/builtin/packages/examl/package.py
@@ -14,33 +14,33 @@ class Examl(MakefilePackage):
"""
homepage = "https://github.com/stamatak/ExaML"
- url = "https://github.com/stamatak/ExaML/archive/v3.0.22.tar.gz"
+ url = "https://github.com/stamatak/ExaML/archive/v3.0.22.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('3.0.22', sha256='802e673b0c2ea83fdbe6b060048d83f22b6978933a04be64fb9b4334fe318ca3')
- version('3.0.21', sha256='6c7e6c5d7bf4ab5cfbac5cc0d577885272a803c142e06b531693a6a589102e2e')
- version('3.0.20', sha256='023681248bbc7f19821b509948d79301e46bbf275aa90bf12e9f4879639a023b')
- version('3.0.19', sha256='3814230bf7578b8396731dc87ce665d0b1a671d8effd571f924c5b7936ae1c9e')
- version('3.0.18', sha256='1bacb5124d943d921e7beae52b7062626d0ce3cf2f83e3aa3acf6ea26cf9cd87')
- version('3.0.17', sha256='90a859e0b8fff697722352253e748f03c57b78ec5fbc1ae72f7e702d299dac67')
- version('3.0.16', sha256='abc922994332d40892e30f077e4644db08cd59662da8e2a9197d1bd8bcb9aa5f')
- version('3.0.15', sha256='da5e66a63d6fa34b640535c359d8daf67f23bd2fcc958ac604551082567906b0')
- version('3.0.14', sha256='698b538996946ae23a2d6fa1e230c210832e59080da33679ff7d6b342a9e6180')
- version('3.0.13', sha256='893aecb5545798235a17975aa07268693d3526d0aee0ed59a2d6e791248791ed')
+ version("3.0.22", sha256="802e673b0c2ea83fdbe6b060048d83f22b6978933a04be64fb9b4334fe318ca3")
+ version("3.0.21", sha256="6c7e6c5d7bf4ab5cfbac5cc0d577885272a803c142e06b531693a6a589102e2e")
+ version("3.0.20", sha256="023681248bbc7f19821b509948d79301e46bbf275aa90bf12e9f4879639a023b")
+ version("3.0.19", sha256="3814230bf7578b8396731dc87ce665d0b1a671d8effd571f924c5b7936ae1c9e")
+ version("3.0.18", sha256="1bacb5124d943d921e7beae52b7062626d0ce3cf2f83e3aa3acf6ea26cf9cd87")
+ version("3.0.17", sha256="90a859e0b8fff697722352253e748f03c57b78ec5fbc1ae72f7e702d299dac67")
+ version("3.0.16", sha256="abc922994332d40892e30f077e4644db08cd59662da8e2a9197d1bd8bcb9aa5f")
+ version("3.0.15", sha256="da5e66a63d6fa34b640535c359d8daf67f23bd2fcc958ac604551082567906b0")
+ version("3.0.14", sha256="698b538996946ae23a2d6fa1e230c210832e59080da33679ff7d6b342a9e6180")
+ version("3.0.13", sha256="893aecb5545798235a17975aa07268693d3526d0aee0ed59a2d6e791248791ed")
- variant('mpi', default=True, description='Enable MPI parallel support')
+ variant("mpi", default=True, description="Enable MPI parallel support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def build(self, spec, prefix):
#####################
# Build Directories #
#####################
- with working_dir('examl'):
- make('-f', 'Makefile.SSE3.gcc')
- with working_dir('parser'):
- make('-f', 'Makefile.SSE3.gcc')
+ with working_dir("examl"):
+ make("-f", "Makefile.SSE3.gcc")
+ with working_dir("parser"):
+ make("-f", "Makefile.SSE3.gcc")
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/exampm/package.py b/var/spack/repos/builtin/packages/exampm/package.py
index 3bafd7d4bd..3190eb9a75 100644
--- a/var/spack/repos/builtin/packages/exampm/package.py
+++ b/var/spack/repos/builtin/packages/exampm/package.py
@@ -10,25 +10,22 @@ class Exampm(CMakePackage):
"""Exascale Material Point Method (MPM) Mini-App"""
homepage = "https://github.com/ECP-copa/ExaMPM"
- git = "https://github.com/ECP-copa/ExaMPM.git"
+ git = "https://github.com/ECP-copa/ExaMPM.git"
maintainers = ["junghans", "streeve", "sslattery"]
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('master', branch='master')
+ version("master", branch="master")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('mpi')
- depends_on('kokkos@3.0:')
- depends_on('silo')
- depends_on('cabana+mpi@master')
+ depends_on("mpi")
+ depends_on("kokkos@3.0:")
+ depends_on("silo")
+ depends_on("cabana+mpi@master")
def cmake_args(self):
- options = [
- '-DBUILD_SHARED_LIBS=%s' % (
- 'On' if '+shared' in self.spec else 'Off')
- ]
+ options = ["-DBUILD_SHARED_LIBS=%s" % ("On" if "+shared" in self.spec else "Off")]
return options
diff --git a/var/spack/repos/builtin/packages/exasp2/package.py b/var/spack/repos/builtin/packages/exasp2/package.py
index 8c682747dd..1dbdfc0680 100644
--- a/var/spack/repos/builtin/packages/exasp2/package.py
+++ b/var/spack/repos/builtin/packages/exasp2/package.py
@@ -22,56 +22,56 @@ class Exasp2(MakefilePackage):
of new architectures, programming models, etc."""
homepage = "https://github.com/ECP-copa/ExaSP2"
- url = "https://github.com/ECP-copa/ExaSP2/tarball/v1.0"
- git = "https://github.com/ECP-copa/ExaSP2.git"
+ url = "https://github.com/ECP-copa/ExaSP2/tarball/v1.0"
+ git = "https://github.com/ECP-copa/ExaSP2.git"
maintainers = ["junghans"]
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('develop', branch='master')
- version('1.0', sha256='59986ea70391a1b382d2ed22d5cf013f46c0c15e44ed95dcd875a917adfc6211')
+ version("develop", branch="master")
+ version("1.0", sha256="59986ea70391a1b382d2ed22d5cf013f46c0c15e44ed95dcd875a917adfc6211")
- variant('mpi', default=True, description='Build With MPI Support')
+ variant("mpi", default=True, description="Build With MPI Support")
- depends_on('bml')
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('bml@1.2.3:+mpi', when='+mpi')
+ depends_on("bml")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("bml@1.2.3:+mpi", when="+mpi")
- build_directory = 'src'
+ build_directory = "src"
@property
def build_targets(self):
targets = []
spec = self.spec
- if '+mpi' in spec:
- targets.append('PARALLEL=MPI')
- targets.append('MPICC={0}'.format(spec['mpi'].mpicc))
- targets.append('MPI_LIB=-L' + spec['mpi'].prefix.lib + ' -lmpi')
- targets.append('MPI_INCLUDE=-I' + spec['mpi'].prefix.include)
+ if "+mpi" in spec:
+ targets.append("PARALLEL=MPI")
+ targets.append("MPICC={0}".format(spec["mpi"].mpicc))
+ targets.append("MPI_LIB=-L" + spec["mpi"].prefix.lib + " -lmpi")
+ targets.append("MPI_INCLUDE=-I" + spec["mpi"].prefix.include)
else:
- targets.append('PARALLEL=NONE')
+ targets.append("PARALLEL=NONE")
# NOTE: no blas except for mkl has been properly tested. OpenBlas was
# briefly but not rigoruously tested. Using generic blas approach to
# meet Spack requirements
- targets.append('BLAS=GENERIC_SPACKBLAS')
- math_libs = str(spec['lapack'].libs)
- math_libs += ' ' + str(spec['lapack'].libs)
- targets.append('SPACKBLASLIBFLAGS=' + math_libs)
- math_includes = spec['lapack'].prefix.include
- math_includes += " -I" + spec['blas'].prefix.include
- targets.append('SPACKBLASINCLUDES=' + math_includes)
+ targets.append("BLAS=GENERIC_SPACKBLAS")
+ math_libs = str(spec["lapack"].libs)
+ math_libs += " " + str(spec["lapack"].libs)
+ targets.append("SPACKBLASLIBFLAGS=" + math_libs)
+ math_includes = spec["lapack"].prefix.include
+ math_includes += " -I" + spec["blas"].prefix.include
+ targets.append("SPACKBLASINCLUDES=" + math_includes)
# And BML
- bml_lib_dirs = spec['bml'].libs.directories[0]
- targets.append('BML_PATH=' + bml_lib_dirs)
- targets.append('--file=Makefile.vanilla')
+ bml_lib_dirs = spec["bml"].libs.directories[0]
+ targets.append("BML_PATH=" + bml_lib_dirs)
+ targets.append("--file=Makefile.vanilla")
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.doc)
- install('bin/ExaSP2-*', prefix.bin)
- install('LICENSE.md', prefix.doc)
- install('README.md', prefix.doc)
+ install("bin/ExaSP2-*", prefix.bin)
+ install("LICENSE.md", prefix.doc)
+ install("README.md", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/exawind/package.py b/var/spack/repos/builtin/packages/exawind/package.py
index f3c5622a5e..c6b96ffe8f 100644
--- a/var/spack/repos/builtin/packages/exawind/package.py
+++ b/var/spack/repos/builtin/packages/exawind/package.py
@@ -12,29 +12,29 @@ class Exawind(CMakePackage):
homepage = "https://github.com/Exawind/exawind-driver"
git = "https://github.com/Exawind/exawind-driver.git"
- maintainers = ['jrood-nrel']
+ maintainers = ["jrood-nrel"]
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
- version('master', branch='main')
+ 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:')
+ 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)
+ 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/exaworks/package.py b/var/spack/repos/builtin/packages/exaworks/package.py
index 873f271d40..d10f3f987e 100644
--- a/var/spack/repos/builtin/packages/exaworks/package.py
+++ b/var/spack/repos/builtin/packages/exaworks/package.py
@@ -7,24 +7,24 @@ from spack.package import *
class Exaworks(BundlePackage):
- '''
+ """
Virtual package for the Exaworks SDK packages.
- '''
+ """
- homepage = 'https://exaworks.org/'
- maintainers = ['andre-merzky']
+ homepage = "https://exaworks.org/"
+ maintainers = ["andre-merzky"]
- version('0.1.0')
+ version("0.1.0")
- depends_on('stc', type=('build', 'run'))
+ depends_on("stc", type=("build", "run"))
- depends_on('flux-core', type=('build', 'run'))
- depends_on('flux-sched', type=('build', 'run'))
+ depends_on("flux-core", type=("build", "run"))
+ depends_on("flux-sched", type=("build", "run"))
- depends_on('py-parsl', type=('build', 'run'))
+ depends_on("py-parsl", type=("build", "run"))
- depends_on('py-radical-gtod', type=('build', 'run'))
- depends_on('py-radical-utils', type=('build', 'run'))
- depends_on('py-radical-saga', type=('build', 'run'))
- depends_on('py-radical-pilot', type=('build', 'run'))
- depends_on('py-radical-entk', type=('build', 'run'))
+ depends_on("py-radical-gtod", type=("build", "run"))
+ depends_on("py-radical-utils", type=("build", "run"))
+ depends_on("py-radical-saga", type=("build", "run"))
+ depends_on("py-radical-pilot", type=("build", "run"))
+ depends_on("py-radical-entk", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/exciting/package.py b/var/spack/repos/builtin/packages/exciting/package.py
index dcca64be80..a696261424 100644
--- a/var/spack/repos/builtin/packages/exciting/package.py
+++ b/var/spack/repos/builtin/packages/exciting/package.py
@@ -16,140 +16,160 @@ class Exciting(MakefilePackage):
"""
homepage = "https://exciting-code.org/"
- url = "https://exciting.wdfiles.com/local--files/nitrogen-14/exciting.nitrogen-14.tar.gz"
- git = "https://github.com/exciting/exciting.git"
+ url = "https://exciting.wdfiles.com/local--files/nitrogen-14/exciting.nitrogen-14.tar.gz"
+ git = "https://github.com/exciting/exciting.git"
- version('oxygen', branch='oxygen_release', preferred=True)
- version('14', sha256='a7feaffdc23881d6c0737d2f79f94d9bf073e85ea358a57196d7f7618a0a3eff')
+ version("oxygen", branch="oxygen_release", preferred=True)
+ version("14", sha256="a7feaffdc23881d6c0737d2f79f94d9bf073e85ea358a57196d7f7618a0a3eff")
# as-of-yet unpublished fix to version 14
- patch('dfgather.patch', when='@14', working_dir='src/src_xs', level=0)
+ patch("dfgather.patch", when="@14", working_dir="src/src_xs", level=0)
# Patch to add aarch64 in config.guess
- patch('for_aarch64.patch', when='target=aarch64:')
-
- variant('mpi', default=False, description='Use MPI')
- variant('mkl', default=False, description='Use MKL')
- variant('omp', default=True, description='Use OpenMP')
- variant('scalapack', default=False, description='Use ScaLAPACK')
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw', when='~mkl')
- depends_on('mkl', when='+mkl')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
+ patch("for_aarch64.patch", when="target=aarch64:")
+
+ variant("mpi", default=False, description="Use MPI")
+ variant("mkl", default=False, description="Use MKL")
+ variant("omp", default=True, description="Use OpenMP")
+ variant("scalapack", default=False, description="Use ScaLAPACK")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw", when="~mkl")
+ depends_on("mkl", when="+mkl")
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
# conflicts('%gcc@10:', msg='exciting cannot be built with GCC 10')
for __compiler in spack.compilers.supported_compilers():
- if __compiler != 'intel':
- conflicts('%{0}'.format(__compiler), when='^mkl',
- msg='Intel MKL only works with the Intel compiler')
- conflicts('%{0}'.format(__compiler), when='^intel-mkl',
- msg='Intel MKL only works with the Intel compiler')
- conflicts('%{0}'.format(__compiler), when='^intel-mpi',
- msg='Intel MPI only works with the Intel compiler')
+ if __compiler != "intel":
+ conflicts(
+ "%{0}".format(__compiler),
+ when="^mkl",
+ msg="Intel MKL only works with the Intel compiler",
+ )
+ conflicts(
+ "%{0}".format(__compiler),
+ when="^intel-mkl",
+ msg="Intel MKL only works with the Intel compiler",
+ )
+ conflicts(
+ "%{0}".format(__compiler),
+ when="^intel-mpi",
+ msg="Intel MPI only works with the Intel compiler",
+ )
def patch(self):
- """Fix bad logic in m_makespectrum.f90 for the Oxygen release
- """
- if self.spec.satisfies('@oxygen'):
- filter_file(' '.join(['if ((.not. input%xs%BSE%coupling) .and.',
- 'input%xs%BSE%chibar0) then']),
- ' '.join(['if ((.not. input%xs%BSE%coupling)',
- '.and. (.not. input%xs%BSE%chibar0)) then']),
- 'src/src_xs/m_makespectrum.f90', string=True)
+ """Fix bad logic in m_makespectrum.f90 for the Oxygen release"""
+ if self.spec.satisfies("@oxygen"):
+ filter_file(
+ " ".join(
+ ["if ((.not. input%xs%BSE%coupling) .and.", "input%xs%BSE%chibar0) then"]
+ ),
+ " ".join(
+ [
+ "if ((.not. input%xs%BSE%coupling)",
+ ".and. (.not. input%xs%BSE%chibar0)) then",
+ ]
+ ),
+ "src/src_xs/m_makespectrum.f90",
+ string=True,
+ )
def edit(self, spec, prefix):
opts = {}
- opts['FCCPP'] = 'cpp'
- opts['F90_OPTS'] = '-O3'
- opts['F77_OPTS'] = '-O3'
- opts['CPP_ON_OPTS'] = '-cpp -DXS -DISO -DLIBXC'
- opts['LIB_ARP'] = 'libarpack.a'
- opts['F90'] = spack_fc
- opts['F77'] = spack_f77
- if '+omp' in spec:
- opts['SMPF90_OPTS'] = self.compiler.openmp_flag + ' -DUSEOMP'
- opts['SMPF77_OPTS'] = self.compiler.openmp_flag + ' -DUSEOMP'
+ opts["FCCPP"] = "cpp"
+ opts["F90_OPTS"] = "-O3"
+ opts["F77_OPTS"] = "-O3"
+ opts["CPP_ON_OPTS"] = "-cpp -DXS -DISO -DLIBXC"
+ opts["LIB_ARP"] = "libarpack.a"
+ opts["F90"] = spack_fc
+ opts["F77"] = spack_f77
+ if "+omp" in spec:
+ opts["SMPF90_OPTS"] = self.compiler.openmp_flag + " -DUSEOMP"
+ opts["SMPF77_OPTS"] = self.compiler.openmp_flag + " -DUSEOMP"
else:
- opts['BUILDSMP'] = 'false'
-
- if '%intel' in spec:
- opts['F90_OPTS'] += ' -cpp -ip -unroll -scalar_rep '
- opts['CPP_ON_OPTS'] += ' -DIFORT -DFFTW'
- if '%gcc' in spec:
- opts['F90_OPTS'] += ' -march=native -ffree-line-length-0'
- if '%gcc@10:' in spec:
+ opts["BUILDSMP"] = "false"
+
+ if "%intel" in spec:
+ opts["F90_OPTS"] += " -cpp -ip -unroll -scalar_rep "
+ opts["CPP_ON_OPTS"] += " -DIFORT -DFFTW"
+ if "%gcc" in spec:
+ opts["F90_OPTS"] += " -march=native -ffree-line-length-0"
+ if "%gcc@10:" in spec:
# The INSTALL file says this will fix the GCC@10 issues
- opts['F90_OPTS'] += ' -fallow-argument-mismatch'
- opts['F77_OPTS'] += ' -fallow-argument-mismatch'
- filter_file('FCFLAGS = @FCFLAGS@',
- ' '.join(['FCFLAGS = @FCFLAGS@', '-cpp',
- self.compiler.openmp_flag]),
- 'src/libXC/src/Makefile.in')
- if '+mkl' in spec:
- opts['LIB_LPK'] = '-mkl=parallel'
- opts['INC_MKL'] = spec['mkl'].headers.include_flags
- opts['LIB_MKL'] = spec['mkl'].libs.ld_flags
- opts['F90_OPTS'] += spec['mkl'].headers.include_flags
+ opts["F90_OPTS"] += " -fallow-argument-mismatch"
+ opts["F77_OPTS"] += " -fallow-argument-mismatch"
+ filter_file(
+ "FCFLAGS = @FCFLAGS@",
+ " ".join(["FCFLAGS = @FCFLAGS@", "-cpp", self.compiler.openmp_flag]),
+ "src/libXC/src/Makefile.in",
+ )
+ if "+mkl" in spec:
+ opts["LIB_LPK"] = "-mkl=parallel"
+ opts["INC_MKL"] = spec["mkl"].headers.include_flags
+ opts["LIB_MKL"] = spec["mkl"].libs.ld_flags
+ opts["F90_OPTS"] += spec["mkl"].headers.include_flags
else:
- opts['LIB_LPK'] = ' '.join([spec['lapack'].libs.ld_flags,
- spec['blas'].libs.ld_flags,
- self.compiler.openmp_flag])
-
- if '+omp' in spec:
- opts['BUILDSMP'] = 'true'
-
- if '+mpi' in spec:
- opts['BUILDMPI'] = 'true'
- opts['MPIF90'] = spec['mpi'].mpifc
- opts['MPIF90_CPP_OPTS'] = '-DMPI -DMPIRHO -DMPISEC'
- opts['MPIF90_OPTS'] = ' '.join(['$(F90_OPTS)', '$(CPP_ON_OPTS) '
- '$(MPIF90_CPP_OPTS)'])
- opts['MPIF90MT'] = '$(MPIF90)'
-
- if '+omp' in spec:
- opts['BUILDMPISMP'] = 'true'
- opts['SMPF90_OPTS'] = self.compiler.openmp_flag + ' -DUSEOMP'
- opts['SMPF77_OPTS'] = opts['SMPF90_OPTS']
- opts['SMP_LIBS'] = ''
+ opts["LIB_LPK"] = " ".join(
+ [
+ spec["lapack"].libs.ld_flags,
+ spec["blas"].libs.ld_flags,
+ self.compiler.openmp_flag,
+ ]
+ )
+
+ if "+omp" in spec:
+ opts["BUILDSMP"] = "true"
+
+ if "+mpi" in spec:
+ opts["BUILDMPI"] = "true"
+ opts["MPIF90"] = spec["mpi"].mpifc
+ opts["MPIF90_CPP_OPTS"] = "-DMPI -DMPIRHO -DMPISEC"
+ opts["MPIF90_OPTS"] = " ".join(["$(F90_OPTS)", "$(CPP_ON_OPTS) " "$(MPIF90_CPP_OPTS)"])
+ opts["MPIF90MT"] = "$(MPIF90)"
+
+ if "+omp" in spec:
+ opts["BUILDMPISMP"] = "true"
+ opts["SMPF90_OPTS"] = self.compiler.openmp_flag + " -DUSEOMP"
+ opts["SMPF77_OPTS"] = opts["SMPF90_OPTS"]
+ opts["SMP_LIBS"] = ""
else:
- opts['BUILDMPI'] = 'false'
- if '+scalapack' in spec:
- opts['LIB_SCLPK'] = spec['scalapack'].libs.ld_flags
- opts['CPP_SCLPK'] = ' -DSCAL '
- opts['MPI_LIBS'] = '$(LIB_SCLPK)'
- opts['MPIF90_CPP_OPTS'] += ' $(CPP_SCLPK) '
-
- opts['USE_SYS_LAPACK'] = 'true'
- opts['LIB_FFT'] = 'fftlib.a'
- opts['LIB_BZINT'] = 'libbzint.a'
- opts['LIBS'] = '$(LIB_ARP) $(LIB_LPK) $(LIB_FFT) $(LIB_BZINT)'
-
- if '+mpi' not in spec or '+omp' not in spec:
- opts['BUILDMPISMP'] = 'false'
+ opts["BUILDMPI"] = "false"
+ if "+scalapack" in spec:
+ opts["LIB_SCLPK"] = spec["scalapack"].libs.ld_flags
+ opts["CPP_SCLPK"] = " -DSCAL "
+ opts["MPI_LIBS"] = "$(LIB_SCLPK)"
+ opts["MPIF90_CPP_OPTS"] += " $(CPP_SCLPK) "
+
+ opts["USE_SYS_LAPACK"] = "true"
+ opts["LIB_FFT"] = "fftlib.a"
+ opts["LIB_BZINT"] = "libbzint.a"
+ opts["LIBS"] = "$(LIB_ARP) $(LIB_LPK) $(LIB_FFT) $(LIB_BZINT)"
+
+ if "+mpi" not in spec or "+omp" not in spec:
+ opts["BUILDMPISMP"] = "false"
# Write the build/make.inc file
- with open('build/make.inc', 'a') as inc:
+ with open("build/make.inc", "a") as inc:
for key in opts:
- inc.write('{0} = {1}\n'.format(key, opts[key]))
+ inc.write("{0} = {1}\n".format(key, opts[key]))
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('species', prefix.species)
- install_tree('tools', prefix.tools)
+ install_tree("bin", prefix.bin)
+ install_tree("species", prefix.species)
+ install_tree("tools", prefix.tools)
def setup_run_environment(self, env):
- env.set('WNHOME', self.prefix)
- env.set('EXCITINGROOT', self.prefix)
- env.set('EXCITINGBIN', self.prefix.bin)
- env.set('EXCITINGTOOLS', self.prefix.tools)
- env.set('EXCITINGSTM', self.prefix.tools.stm)
- env.set('EXCITINGVISUAL', self.prefix.xml.visualizationtemplates)
- env.set('EXCITINGCONVERT', self.prefix.xml.inputfileconverter)
- env.set('TIMEFORMAT', ' Elapsed time = %0lR')
- env.set('WRITEMINMAX', '1')
- env.set('USE_SYS_LAPACK', 'true')
- env.append_path('PYTHONPATH', self.prefix.tools.stm)
- env.append_path('PATH', self.prefix.tools)
- env.append_path('PATH', self.prefix)
- env.append_path('PATH', self.prefix.tools.stm)
+ env.set("WNHOME", self.prefix)
+ env.set("EXCITINGROOT", self.prefix)
+ env.set("EXCITINGBIN", self.prefix.bin)
+ env.set("EXCITINGTOOLS", self.prefix.tools)
+ env.set("EXCITINGSTM", self.prefix.tools.stm)
+ env.set("EXCITINGVISUAL", self.prefix.xml.visualizationtemplates)
+ env.set("EXCITINGCONVERT", self.prefix.xml.inputfileconverter)
+ env.set("TIMEFORMAT", " Elapsed time = %0lR")
+ env.set("WRITEMINMAX", "1")
+ env.set("USE_SYS_LAPACK", "true")
+ env.append_path("PYTHONPATH", self.prefix.tools.stm)
+ env.append_path("PATH", self.prefix.tools)
+ env.append_path("PATH", self.prefix)
+ env.append_path("PATH", self.prefix.tools.stm)
diff --git a/var/spack/repos/builtin/packages/exempi/package.py b/var/spack/repos/builtin/packages/exempi/package.py
index f1c60decb1..ebc3d88a60 100644
--- a/var/spack/repos/builtin/packages/exempi/package.py
+++ b/var/spack/repos/builtin/packages/exempi/package.py
@@ -15,28 +15,28 @@ class Exempi(AutotoolsPackage):
"""
homepage = "https://libopenraw.freedesktop.org/wiki/Exempi"
- url = "https://libopenraw.freedesktop.org/download/exempi-2.6.1.tar.bz2"
+ url = "https://libopenraw.freedesktop.org/download/exempi-2.6.1.tar.bz2"
- version('2.6.1', sha256='072451ac1e0dc97ed69a2e5bfc235fd94fe093d837f65584d0e3581af5db18cd')
- version('2.5.2', sha256='52f54314aefd45945d47a6ecf4bd21f362e6467fa5d0538b0d45a06bc6eaaed5')
+ version("2.6.1", sha256="072451ac1e0dc97ed69a2e5bfc235fd94fe093d837f65584d0e3581af5db18cd")
+ version("2.5.2", sha256="52f54314aefd45945d47a6ecf4bd21f362e6467fa5d0538b0d45a06bc6eaaed5")
- depends_on('zlib')
- depends_on('iconv')
+ depends_on("zlib")
+ depends_on("iconv")
# needs +test variant to prevent following error:
# 118 checking for the Boost unit_test_framework library... no
# >> 119 configure: error: cannot find the flags to link with Boost
# unit_test_framework
- depends_on('boost+test@1.79.0:', when='@2.6.1:')
- depends_on('boost+test@1.48.0:')
- depends_on('pkgconfig')
- depends_on('expat')
+ depends_on("boost+test@1.79.0:", when="@2.6.1:")
+ depends_on("boost+test@1.48.0:")
+ depends_on("pkgconfig")
+ depends_on("expat")
- conflicts('%gcc@:4.5')
+ conflicts("%gcc@:4.5")
def configure_args(self):
- args = ['--with-boost={0}'.format(self.spec['boost'].prefix)]
+ args = ["--with-boost={0}".format(self.spec["boost"].prefix)]
- if self.spec.satisfies('platform=darwin'):
- args += ['--with-darwinports', '--with-fink']
+ if self.spec.satisfies("platform=darwin"):
+ args += ["--with-darwinports", "--with-fink"]
return args
diff --git a/var/spack/repos/builtin/packages/exiv2/package.py b/var/spack/repos/builtin/packages/exiv2/package.py
index ff0647fa4c..983689b2e9 100644
--- a/var/spack/repos/builtin/packages/exiv2/package.py
+++ b/var/spack/repos/builtin/packages/exiv2/package.py
@@ -12,9 +12,9 @@ class Exiv2(CMakePackage):
"""
homepage = "https://www.exiv2.org/"
- url = "https://github.com/Exiv2/exiv2/archive/v0.27.2.tar.gz"
+ url = "https://github.com/Exiv2/exiv2/archive/v0.27.2.tar.gz"
- version('0.27.2', sha256='3dbcaf01fbc5b98d42f091d1ff0d4b6cd9750dc724de3d9c0d113948570b2934')
+ version("0.27.2", sha256="3dbcaf01fbc5b98d42f091d1ff0d4b6cd9750dc724de3d9c0d113948570b2934")
- depends_on('zlib', type='link')
- depends_on('expat@2.2.6:', type='link')
+ depends_on("zlib", type="link")
+ depends_on("expat@2.2.6:", type="link")
diff --git a/var/spack/repos/builtin/packages/exmcutils/package.py b/var/spack/repos/builtin/packages/exmcutils/package.py
index 8243c19ffc..a8cacd792d 100644
--- a/var/spack/repos/builtin/packages/exmcutils/package.py
+++ b/var/spack/repos/builtin/packages/exmcutils/package.py
@@ -10,23 +10,23 @@ from spack.package import *
class Exmcutils(AutotoolsPackage):
"""ExM C-Utils: Generic C utility library for ADLB/X and Swift/T"""
- homepage = 'http://swift-lang.org/Swift-T'
- url = 'https://swift-lang.github.io/swift-t-downloads/spack/exmcutils-0.6.0.tar.gz'
- git = "https://github.com/swift-lang/swift-t.git"
+ homepage = "http://swift-lang.org/Swift-T"
+ url = "https://swift-lang.github.io/swift-t-downloads/spack/exmcutils-0.6.0.tar.gz"
+ git = "https://github.com/swift-lang/swift-t.git"
- version('master', branch='master')
- version('0.6.0', sha256='43812f79ae83adcacc05d4eb64bc8faa1c893994ffcdfb40a871f6fa4c9c1435')
- version('0.5.7', sha256='6b84f43e8928d835dbd68c735ece6a9b7c648a1a4488ec2b1d2f3c4ceec508e8')
- version('0.5.6', sha256='296ba85cc828bd816c7c4de9453f589da37f32854a58ffda3586b6f371a23abf')
+ version("master", branch="master")
+ version("0.6.0", sha256="43812f79ae83adcacc05d4eb64bc8faa1c893994ffcdfb40a871f6fa4c9c1435")
+ version("0.5.7", sha256="6b84f43e8928d835dbd68c735ece6a9b7c648a1a4488ec2b1d2f3c4ceec508e8")
+ version("0.5.6", sha256="296ba85cc828bd816c7c4de9453f589da37f32854a58ffda3586b6f371a23abf")
@property
def configure_directory(self):
- if self.version == Version('master'):
- return 'c-utils/code'
+ if self.version == Version("master"):
+ return "c-utils/code"
else:
- return '.'
+ return "."
- depends_on('m4', when='@master')
- depends_on('autoconf', when='@master')
- depends_on('automake', when='@master')
- depends_on('libtool', when='@master')
+ depends_on("m4", when="@master")
+ depends_on("autoconf", when="@master")
+ depends_on("automake", when="@master")
+ depends_on("libtool", when="@master")
diff --git a/var/spack/repos/builtin/packages/exodusii/package.py b/var/spack/repos/builtin/packages/exodusii/package.py
index 5906ca88d6..c9cd90eedc 100644
--- a/var/spack/repos/builtin/packages/exodusii/package.py
+++ b/var/spack/repos/builtin/packages/exodusii/package.py
@@ -11,70 +11,92 @@ from spack.package import *
class Exodusii(CMakePackage):
"""Exodus II is a C++/Fortran library developed to store and retrieve
- data for finite element analyses. It's used for preprocessing
- (problem definition), postprocessing (results visualization), and
- data transfer between codes. An Exodus II data file is a random
- access, machine independent, binary file that is written and read
- via C, C++, or Fortran API routines.
+ data for finite element analyses. It's used for preprocessing
+ (problem definition), postprocessing (results visualization), and
+ data transfer between codes. An Exodus II data file is a random
+ access, machine independent, binary file that is written and read
+ via C, C++, or Fortran API routines.
"""
homepage = "https://github.com/gsjaardema/seacas"
- git = "https://github.com/gsjaardema/seacas.git"
- url = "https://github.com/gsjaardema/seacas/archive/refs/tags/v2021-04-05.zip"
+ git = "https://github.com/gsjaardema/seacas.git"
+ url = "https://github.com/gsjaardema/seacas/archive/refs/tags/v2021-04-05.zip"
- version('2021-04-05', sha256='f40d318674753287b8b28d2b4e5cca872cd772d4c7383af4a8f3eeb48fcc7ec0')
- version('2021-04-02', sha256='811037a68eaff0daf9f34bd31b2ab1c9b8f028dfcb998ab01fbcb80d9458257c')
- version('2021-01-20', sha256='6ff7c3f0651138f2e2305b5270108ca45f96346a739b35a126a0a260c91cbe64')
- version('2021-01-06', sha256='69cafef17d8e624c2d9871f3a281ff3690116a6f82162fe5c1507bb4ecd6a32a')
- version('2020-08-13', sha256='5b128a8ad9b0a69cff4fe937828d6d1702f1fe8aa80d4751e6522939afe62957')
- version('2020-05-12', sha256='0402facf6cf23d903d878fb924b5d57e9f279dead5b92cf986953a6b91a6e81f')
- version('2020-03-16', sha256='ed1d42c8c657931ecd45367a465cf9c00255772d9cd0811fc9baacdb67fc71fa')
- version('2020-01-16', sha256='db69dca25595e88a40c00db0ccf2afed1ecd6008ba30bb478a4e1c5dd61998b8')
- version('2019-12-18', sha256='88a71de836aa26fd63756cf3ffbf3978612edc5b6c61fa8de32fe9d638007774')
- version('2019-10-14', sha256='f143d90e8a7516d25979d1416e580dea638332db723f26ae94a712dfe4052e8f')
- version('2016-08-09', commit='2ffeb1b')
- version('master', branch='master')
+ version(
+ "2021-04-05", sha256="f40d318674753287b8b28d2b4e5cca872cd772d4c7383af4a8f3eeb48fcc7ec0"
+ )
+ version(
+ "2021-04-02", sha256="811037a68eaff0daf9f34bd31b2ab1c9b8f028dfcb998ab01fbcb80d9458257c"
+ )
+ version(
+ "2021-01-20", sha256="6ff7c3f0651138f2e2305b5270108ca45f96346a739b35a126a0a260c91cbe64"
+ )
+ version(
+ "2021-01-06", sha256="69cafef17d8e624c2d9871f3a281ff3690116a6f82162fe5c1507bb4ecd6a32a"
+ )
+ version(
+ "2020-08-13", sha256="5b128a8ad9b0a69cff4fe937828d6d1702f1fe8aa80d4751e6522939afe62957"
+ )
+ version(
+ "2020-05-12", sha256="0402facf6cf23d903d878fb924b5d57e9f279dead5b92cf986953a6b91a6e81f"
+ )
+ version(
+ "2020-03-16", sha256="ed1d42c8c657931ecd45367a465cf9c00255772d9cd0811fc9baacdb67fc71fa"
+ )
+ version(
+ "2020-01-16", sha256="db69dca25595e88a40c00db0ccf2afed1ecd6008ba30bb478a4e1c5dd61998b8"
+ )
+ version(
+ "2019-12-18", sha256="88a71de836aa26fd63756cf3ffbf3978612edc5b6c61fa8de32fe9d638007774"
+ )
+ version(
+ "2019-10-14", sha256="f143d90e8a7516d25979d1416e580dea638332db723f26ae94a712dfe4052e8f"
+ )
+ version("2016-08-09", commit="2ffeb1b")
+ version("master", branch="master")
- variant('mpi', default=True, description='Enables MPI parallelism.')
+ variant("mpi", default=True, description="Enables MPI parallelism.")
- depends_on('cmake@2.8.11:', type='build')
- depends_on('mpi', when='+mpi')
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("mpi", when="+mpi")
# https://github.com/gsjaardema/seacas/blob/master/NetCDF-Mapping.md
- depends_on('netcdf-c@4.6.1:+mpi', when='+mpi')
- depends_on('netcdf-c@4.6.1:~mpi', when='~mpi')
+ depends_on("netcdf-c@4.6.1:+mpi", when="+mpi")
+ depends_on("netcdf-c@4.6.1:~mpi", when="~mpi")
- depends_on('python@2.7:')
+ depends_on("python@2.7:")
def cmake_args(self):
spec = self.spec
- cc_path = spec['mpi'].mpicc if '+mpi' in spec else self.compiler.cc
- cxx_path = spec['mpi'].mpicxx if '+mpi' in spec else self.compiler.cxx
+ cc_path = spec["mpi"].mpicc if "+mpi" in spec else self.compiler.cc
+ cxx_path = spec["mpi"].mpicxx if "+mpi" in spec else self.compiler.cxx
options = [
# General Flags #
- '-DSEACASProj_ENABLE_SEACASExodus=ON',
- '-DSEACASProj_ENABLE_TESTS=ON',
- '-DBUILD_SHARED_LIBS:BOOL=ON',
- '-DTPL_ENABLE_Netcdf:BOOL=ON',
- '-DHDF5_NO_SYSTEM_PATHS=ON',
- '-DSEACASProj_SKIP_FORTRANCINTERFACE_VERIFY_TEST:BOOL=ON',
- '-DSEACASProj_ENABLE_CXX11:BOOL=OFF',
- '-DSEACASProj_ENABLE_Zoltan:BOOL=OFF',
- '-DNetCDF_DIR:PATH={0}'.format(spec['netcdf-c'].prefix),
-
+ "-DSEACASProj_ENABLE_SEACASExodus=ON",
+ "-DSEACASProj_ENABLE_TESTS=ON",
+ "-DBUILD_SHARED_LIBS:BOOL=ON",
+ "-DTPL_ENABLE_Netcdf:BOOL=ON",
+ "-DHDF5_NO_SYSTEM_PATHS=ON",
+ "-DSEACASProj_SKIP_FORTRANCINTERFACE_VERIFY_TEST:BOOL=ON",
+ "-DSEACASProj_ENABLE_CXX11:BOOL=OFF",
+ "-DSEACASProj_ENABLE_Zoltan:BOOL=OFF",
+ "-DNetCDF_DIR:PATH={0}".format(spec["netcdf-c"].prefix),
# MPI Flags #
- '-DTPL_ENABLE_MPI={0}'.format('ON' if '+mpi' in spec else 'OFF'),
- '-DCMAKE_C_COMPILER={0}'.format(cc_path),
- '-DCMAKE_CXX_COMPILER={0}'.format(cxx_path),
+ "-DTPL_ENABLE_MPI={0}".format("ON" if "+mpi" in spec else "OFF"),
+ "-DCMAKE_C_COMPILER={0}".format(cc_path),
+ "-DCMAKE_CXX_COMPILER={0}".format(cxx_path),
]
# Python #
# Handle v2016 separately because of older tribits
- if spec.satisfies('@:2016-08-09'):
- options.append('-DPYTHON_EXECUTABLE={0}'.format(
- join_path(self.spec['python'].prefix.bin, 'python')))
+ if spec.satisfies("@:2016-08-09"):
+ options.append(
+ "-DPYTHON_EXECUTABLE={0}".format(
+ join_path(self.spec["python"].prefix.bin, "python")
+ )
+ )
else:
- options.append('-DPython_ROOT={0}'.format(spec['python'].prefix))
+ options.append("-DPython_ROOT={0}".format(spec["python"].prefix))
return options
diff --git a/var/spack/repos/builtin/packages/exonerate-gff3/package.py b/var/spack/repos/builtin/packages/exonerate-gff3/package.py
index 5a08f013ca..e83b441585 100644
--- a/var/spack/repos/builtin/packages/exonerate-gff3/package.py
+++ b/var/spack/repos/builtin/packages/exonerate-gff3/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class ExonerateGff3(AutotoolsPackage):
"""This is an exonerate fork with added gff3 support.
- Original website with user guides:
- http://www.ebi.ac.uk/~guy/exonerate/"""
+ Original website with user guides:
+ http://www.ebi.ac.uk/~guy/exonerate/"""
homepage = "https://github.com/hotdogee/exonerate-gff3/"
- url = "https://github.com/hotdogee/exonerate-gff3/archive/2.3.0.tar.gz"
+ url = "https://github.com/hotdogee/exonerate-gff3/archive/2.3.0.tar.gz"
- version('2.3.0', sha256='eeab7ea8bc815fc4a37d4c3b89c625167a9a60a4a833b5cc96e32dc313eafd1f')
+ version("2.3.0", sha256="eeab7ea8bc815fc4a37d4c3b89c625167a9a60a4a833b5cc96e32dc313eafd1f")
- depends_on('glib')
+ depends_on("glib")
# parallel builds fail occasionally
parallel = False
diff --git a/var/spack/repos/builtin/packages/exonerate/package.py b/var/spack/repos/builtin/packages/exonerate/package.py
index f82d24aaeb..82ff219e78 100644
--- a/var/spack/repos/builtin/packages/exonerate/package.py
+++ b/var/spack/repos/builtin/packages/exonerate/package.py
@@ -10,19 +10,19 @@ class Exonerate(AutotoolsPackage):
"""Pairwise sequence alignment of DNA and proteins"""
homepage = "https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate"
- url = "https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/exonerate-2.4.0.tar.gz"
+ url = "https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/exonerate-2.4.0.tar.gz"
- version('2.4.0', sha256='f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042')
+ version("2.4.0", sha256="f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042")
- depends_on('pkgconfig', type="build")
- depends_on('glib')
+ depends_on("pkgconfig", type="build")
+ depends_on("glib")
parallel = False
def configure_args(self):
args = []
- args.append('--disable-debug')
- args.append('--disable-dependency-tracking')
+ args.append("--disable-debug")
+ args.append("--disable-dependency-tracking")
return args
diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py
index e06544675f..1e7466bfa3 100644
--- a/var/spack/repos/builtin/packages/expat/package.py
+++ b/var/spack/repos/builtin/packages/expat/package.py
@@ -12,26 +12,78 @@ class Expat(AutotoolsPackage):
"""Expat is an XML parser library written in C."""
homepage = "https://libexpat.github.io/"
- url = "https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.bz2"
+ url = "https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.bz2"
- version('2.4.8', sha256='a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16')
- version('2.4.7', sha256='e149bdd8b90254c62b3d195da53a09bd531a4d63a963b0d8a5268d48dd2f6a65')
+ version("2.4.8", sha256="a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16")
+ version("2.4.7", sha256="e149bdd8b90254c62b3d195da53a09bd531a4d63a963b0d8a5268d48dd2f6a65")
# deprecate release 2.4.6 because of a (severe) regression
- version('2.4.6', sha256='ce317706b07cae150f90cddd4253f5b4fba929607488af5ac47bf2bc08e31f09', deprecated=True)
+ version(
+ "2.4.6",
+ sha256="ce317706b07cae150f90cddd4253f5b4fba929607488af5ac47bf2bc08e31f09",
+ deprecated=True,
+ )
# deprecate release 2.4.5 because of a (severe) regression
- version('2.4.5', sha256='fbb430f964c7a2db2626452b6769e6a8d5d23593a453ccbc21701b74deabedff', deprecated=True)
+ version(
+ "2.4.5",
+ sha256="fbb430f964c7a2db2626452b6769e6a8d5d23593a453ccbc21701b74deabedff",
+ deprecated=True,
+ )
# deprecate all releases before 2.4.5 because of security issues
- version('2.4.4', sha256='14c58c2a0b5b8b31836514dfab41bd191836db7aa7b84ae5c47bc0327a20d64a', deprecated=True)
- version('2.4.3', sha256='6f262e216a494fbf42d8c22bc841b3e117c21f2467a19dc4c27c991b5622f986', deprecated=True)
- version('2.4.1', sha256='2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40', deprecated=True)
- version('2.4.0', sha256='8c59142ef88913bc0a8b6e4c58970c034210ca552e6271f52f6cd6cce3708424', deprecated=True)
- version('2.3.0', sha256='f122a20eada303f904d5e0513326c5b821248f2d4d2afbf5c6f1339e511c0586', deprecated=True)
- version('2.2.10', sha256='b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5', deprecated=True)
- version('2.2.9', sha256='f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237', deprecated=True)
- version('2.2.6', sha256='17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2', deprecated=True)
- version('2.2.5', sha256='d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6', deprecated=True)
- version('2.2.2', sha256='4376911fcf81a23ebd821bbabc26fd933f3ac74833f74924342c29aad2c86046', deprecated=True)
- version('2.2.0', sha256='d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff', deprecated=True)
+ version(
+ "2.4.4",
+ sha256="14c58c2a0b5b8b31836514dfab41bd191836db7aa7b84ae5c47bc0327a20d64a",
+ deprecated=True,
+ )
+ version(
+ "2.4.3",
+ sha256="6f262e216a494fbf42d8c22bc841b3e117c21f2467a19dc4c27c991b5622f986",
+ deprecated=True,
+ )
+ version(
+ "2.4.1",
+ sha256="2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40",
+ deprecated=True,
+ )
+ version(
+ "2.4.0",
+ sha256="8c59142ef88913bc0a8b6e4c58970c034210ca552e6271f52f6cd6cce3708424",
+ deprecated=True,
+ )
+ version(
+ "2.3.0",
+ sha256="f122a20eada303f904d5e0513326c5b821248f2d4d2afbf5c6f1339e511c0586",
+ deprecated=True,
+ )
+ version(
+ "2.2.10",
+ sha256="b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5",
+ deprecated=True,
+ )
+ version(
+ "2.2.9",
+ sha256="f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237",
+ deprecated=True,
+ )
+ version(
+ "2.2.6",
+ sha256="17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2",
+ deprecated=True,
+ )
+ version(
+ "2.2.5",
+ sha256="d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6",
+ deprecated=True,
+ )
+ version(
+ "2.2.2",
+ sha256="4376911fcf81a23ebd821bbabc26fd933f3ac74833f74924342c29aad2c86046",
+ deprecated=True,
+ )
+ version(
+ "2.2.0",
+ sha256="d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff",
+ deprecated=True,
+ )
# Version 2.2.2 introduced a requirement for a high quality
# entropy source. "Older" linux systems (aka CentOS 7) do not
@@ -41,20 +93,24 @@ class Expat(AutotoolsPackage):
# someone's asking for an older version and also libbsd.
# In order to install an older version, you'll need to add
# `~libbsd`.
- variant('libbsd', default=sys.platform != 'darwin',
- description="Use libbsd (for high quality randomness)")
+ variant(
+ "libbsd",
+ default=sys.platform != "darwin",
+ description="Use libbsd (for high quality randomness)",
+ )
- depends_on('libbsd', when="@2.2.1:+libbsd")
+ depends_on("libbsd", when="@2.2.1:+libbsd")
def url_for_version(self, version):
- url = 'https://github.com/libexpat/libexpat/releases/download/R_{0}/expat-{1}.tar.bz2'
+ url = "https://github.com/libexpat/libexpat/releases/download/R_{0}/expat-{1}.tar.bz2"
return url.format(version.underscored, version.dotted)
def configure_args(self):
spec = self.spec
- args = ['--without-docbook',
- '--enable-static',
- ]
- if '+libbsd' in spec and '@2.2.1:' in spec:
- args.append('--with-libbsd')
+ args = [
+ "--without-docbook",
+ "--enable-static",
+ ]
+ if "+libbsd" in spec and "@2.2.1:" in spec:
+ args.append("--with-libbsd")
return args
diff --git a/var/spack/repos/builtin/packages/expect/package.py b/var/spack/repos/builtin/packages/expect/package.py
index 2d8febdb61..c918dbcc6a 100644
--- a/var/spack/repos/builtin/packages/expect/package.py
+++ b/var/spack/repos/builtin/packages/expect/package.py
@@ -14,40 +14,42 @@ class Expect(AutotoolsPackage):
telnet, ftp, passwd, fsck, rlogin, tip, etc."""
homepage = "http://expect.sourceforge.net/"
- url = "https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz/download"
+ url = (
+ "https://sourceforge.net/projects/expect/files/Expect/5.45.4/expect5.45.4.tar.gz/download"
+ )
- version('5.45.4', sha256='49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34')
- version('5.45.3', sha256='c520717b7195944a69ce1492ec82ca0ac3f3baf060804e6c5ee6d505ea512be9')
- version('5.45', sha256='b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040')
+ version("5.45.4", sha256="49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34")
+ version("5.45.3", sha256="c520717b7195944a69ce1492ec82ca0ac3f3baf060804e6c5ee6d505ea512be9")
+ version("5.45", sha256="b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040")
- depends_on('tcl')
+ depends_on("tcl")
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
force_autoreconf = True
- patch('xcode_12.patch', when='%apple-clang@12:')
- patch('expect_detect_tcl_private_header_os_x_mountain_lion.patch', when='@5.45:5.45.0')
+ patch("xcode_12.patch", when="%apple-clang@12:")
+ patch("expect_detect_tcl_private_header_os_x_mountain_lion.patch", when="@5.45:5.45.0")
def configure_args(self):
spec = self.spec
args = [
# Without this, expect binary and library are not installed
- '--exec-prefix={0}'.format(self.prefix),
- '--enable-threads',
- '--enable-shared',
- '--enable-64bit',
- '--with-tcl={0}'.format(spec['tcl'].libs.directories[0]),
- '--with-tclinclude={0}'.format(spec['tcl'].headers.directories[0]),
+ "--exec-prefix={0}".format(self.prefix),
+ "--enable-threads",
+ "--enable-shared",
+ "--enable-64bit",
+ "--with-tcl={0}".format(spec["tcl"].libs.directories[0]),
+ "--with-tclinclude={0}".format(spec["tcl"].headers.directories[0]),
]
return args
- @run_after('install')
+ @run_after("install")
def symlink_library(self):
"""Expect installs libraries into:
@@ -55,7 +57,7 @@ class Expect(AutotoolsPackage):
Create a symlink so that the library can be found in lib."""
- target = join_path(self.prefix.lib, 'expect*', 'libexpect*')
+ target = join_path(self.prefix.lib, "expect*", "libexpect*")
target = glob.glob(target)[0]
link_name = os.path.basename(target)
@@ -63,15 +65,13 @@ class Expect(AutotoolsPackage):
symlink(target, link_name)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
- fix_darwin_install_name(
- join_path(self.prefix.lib, 'expect{0}'.format(self.version)))
-
- old = 'libexpect{0}.dylib'.format(self.version)
- new = glob.glob(join_path(self.prefix.lib, 'expect*',
- 'libexpect*'))[0]
- install_name_tool = Executable('install_name_tool')
- install_name_tool('-change', old, new, self.prefix.bin.expect)
+ if self.spec.satisfies("platform=darwin"):
+ fix_darwin_install_name(join_path(self.prefix.lib, "expect{0}".format(self.version)))
+
+ old = "libexpect{0}.dylib".format(self.version)
+ new = glob.glob(join_path(self.prefix.lib, "expect*", "libexpect*"))[0]
+ install_name_tool = Executable("install_name_tool")
+ install_name_tool("-change", old, new, self.prefix.bin.expect)
diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py
index dcc83672d0..e391cacd86 100644
--- a/var/spack/repos/builtin/packages/express/package.py
+++ b/var/spack/repos/builtin/packages/express/package.py
@@ -11,42 +11,45 @@ from spack.package import *
class Express(CMakePackage):
"""eXpress is a streaming tool for quantifying the abundances of a set of
- target sequences from sampled subsequences."""
+ target sequences from sampled subsequences."""
homepage = "http://bio.math.berkeley.edu/eXpress/"
- url = "https://github.com/adarob/eXpress/archive/1.5.2.zip"
+ url = "https://github.com/adarob/eXpress/archive/1.5.2.zip"
# 1.5.1 used to be known as 2015-11-29 (same commit), but they've
# added tags, so lets use 'em
- version('1.5.3', sha256='dfea819bbe7187a06462d6549a13f9cad7f3f128cb5c62bd90946f972c45a1f2')
- version('1.5.2', sha256='25a63cca3dac6bd0daf04d2f0b2275e47d2190c90522bd231b1d7a875a59a52e')
- version('1.5.1', sha256='fa3522de9cc25f1ede22fa196928912a6da2a2038681911115ec3e4da3d61293')
+ version("1.5.3", sha256="dfea819bbe7187a06462d6549a13f9cad7f3f128cb5c62bd90946f972c45a1f2")
+ version("1.5.2", sha256="25a63cca3dac6bd0daf04d2f0b2275e47d2190c90522bd231b1d7a875a59a52e")
+ version("1.5.1", sha256="fa3522de9cc25f1ede22fa196928912a6da2a2038681911115ec3e4da3d61293")
depends_on(
- 'boost'
- '+date_time+exception+filesystem+system+chrono'
- '+atomic+container+math+thread+program_options'
+ "boost"
+ "+date_time+exception+filesystem+system+chrono"
+ "+atomic+container+math+thread+program_options"
)
- depends_on('bamtools')
- depends_on('zlib')
+ depends_on("bamtools")
+ depends_on("zlib")
# patch from the debian package repo:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859
- patch('gcc-6.patch', when='@:1.5.2%gcc@6.0.0:')
- patch('gcc-6.patch', when='@:1.5.2%fj')
+ patch("gcc-6.patch", when="@:1.5.2%gcc@6.0.0:")
+ patch("gcc-6.patch", when="@:1.5.2%fj")
def patch(self):
- with working_dir('src'):
- files = glob.iglob('*.*')
+ with working_dir("src"):
+ files = glob.iglob("*.*")
for file in files:
if os.path.isfile(file):
edit = FileFilter(file)
- edit.filter('#include <api', '#include <%s' % self.spec[
- 'bamtools'].prefix.include.bamtools.api)
- edit = FileFilter('CMakeLists.txt')
- edit.filter(r'\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
- 'libbamtools.a', '%s' % self.spec['bamtools'].libs)
+ edit.filter(
+ "#include <api",
+ "#include <%s" % self.spec["bamtools"].prefix.include.bamtools.api,
+ )
+ edit = FileFilter("CMakeLists.txt")
+ edit.filter(
+ r"\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/" "libbamtools.a",
+ "%s" % self.spec["bamtools"].libs,
+ )
def setup_build_environment(self, env):
- env.prepend_path('CPATH',
- self.spec['bamtools'].prefix.include.bamtools)
+ env.prepend_path("CPATH", self.spec["bamtools"].prefix.include.bamtools)
diff --git a/var/spack/repos/builtin/packages/extrae/package.py b/var/spack/repos/builtin/packages/extrae/package.py
index 79a1e11bce..92ed12e571 100644
--- a/var/spack/repos/builtin/packages/extrae/package.py
+++ b/var/spack/repos/builtin/packages/extrae/package.py
@@ -29,25 +29,25 @@ from spack.pkg.builtin.boost import Boost
class Extrae(AutotoolsPackage):
"""Extrae is the package devoted to generate tracefiles which can
- be analyzed later by Paraver. Extrae is a tool that uses
- different interposition mechanisms to inject probes into the
- target application so as to gather information regarding the
- application performance. The Extrae instrumentation package can
- instrument the MPI programin model, and the following parallel
- programming models either alone or in conjunction with MPI :
- OpenMP, CUDA, OpenCL, pthread, OmpSs"""
+ be analyzed later by Paraver. Extrae is a tool that uses
+ different interposition mechanisms to inject probes into the
+ target application so as to gather information regarding the
+ application performance. The Extrae instrumentation package can
+ instrument the MPI programin model, and the following parallel
+ programming models either alone or in conjunction with MPI :
+ OpenMP, CUDA, OpenCL, pthread, OmpSs"""
homepage = "https://tools.bsc.es/extrae"
- url = "https://ftp.tools.bsc.es/extrae/extrae-3.4.1-src.tar.bz2"
+ url = "https://ftp.tools.bsc.es/extrae/extrae-3.4.1-src.tar.bz2"
- version('3.8.3', sha256='c3bf27fb6f18e66200e40a0b4c35bc257766e5c1a525dc5725f561879e88bf32')
- version('3.7.1', sha256='c83ddd18a380c9414d64ee5de263efc6f7bac5fe362d5b8374170c7f18360378')
- version('3.4.1', sha256='77bfec16d6b5eee061fbaa879949dcef4cad28395d6a546b1ae1b9246f142725')
+ version("3.8.3", sha256="c3bf27fb6f18e66200e40a0b4c35bc257766e5c1a525dc5725f561879e88bf32")
+ version("3.7.1", sha256="c83ddd18a380c9414d64ee5de263efc6f7bac5fe362d5b8374170c7f18360378")
+ version("3.4.1", sha256="77bfec16d6b5eee061fbaa879949dcef4cad28395d6a546b1ae1b9246f142725")
- depends_on("autoconf", type='build')
- depends_on("automake", type='build')
- depends_on("libtool", type='build')
- depends_on("m4", type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
depends_on("mpi")
depends_on("libunwind")
@@ -66,56 +66,61 @@ class Extrae(AutotoolsPackage):
# gettext dependency added to find -lintl
# https://www.gnu.org/software/gettext/FAQ.html#integrating_undefined
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- variant('dyninst', default=False, description="Use dyninst for dynamic code installation")
- depends_on('dyninst@:9', when='+dyninst')
+ variant("dyninst", default=False, description="Use dyninst for dynamic code installation")
+ depends_on("dyninst@:9", when="+dyninst")
- variant('papi', default=True, description="Use PAPI to collect performance counters")
- depends_on('papi', when='+papi')
+ variant("papi", default=True, description="Use PAPI to collect performance counters")
+ depends_on("papi", when="+papi")
- variant('cuda', default=False, description="Enable support for tracing CUDA")
- depends_on('cuda', when='+cuda')
+ variant("cuda", default=False, description="Enable support for tracing CUDA")
+ depends_on("cuda", when="+cuda")
- variant('cupti', default=False, description='Enable CUPTI support')
- depends_on('cuda', when='+cupti')
- conflicts('+cupti', when='~cuda', msg='CUPTI requires CUDA')
+ variant("cupti", default=False, description="Enable CUPTI support")
+ depends_on("cuda", when="+cupti")
+ conflicts("+cupti", when="~cuda", msg="CUPTI requires CUDA")
def configure_args(self):
spec = self.spec
- if '^intel-oneapi-mpi' in spec:
- mpiroot = spec['mpi'].component_prefix
+ if "^intel-oneapi-mpi" in spec:
+ mpiroot = spec["mpi"].component_prefix
else:
- mpiroot = spec['mpi'].prefix
-
- args = ["--with-mpi=%s" % mpiroot,
- "--with-unwind=%s" % spec['libunwind'].prefix,
- "--with-boost=%s" % spec['boost'].prefix,
- "--with-dwarf=%s" % spec['libdwarf'].prefix,
- "--with-elf=%s" % spec['elf'].prefix,
- "--with-xml-prefix=%s" % spec['libxml2'].prefix,
- "--with-binutils=%s" % spec['binutils'].prefix]
-
- args += (["--with-papi=%s" % spec['papi'].prefix]
- if '+papi' in self.spec else
- ["--without-papi"])
-
- args += (["--with-dyninst=%s" % spec['dyninst'].prefix]
- if '+dyninst' in self.spec else
- ["--without-dyninst"])
-
- args += (["--with-cuda=%s" % spec['cuda'].prefix]
- if '+cuda' in self.spec else
- ["--without-cuda"])
-
- if '+cupti' in self.spec:
- cupti_h = find_headers('cupti', spec['cuda'].prefix,
- recursive=True)
+ mpiroot = spec["mpi"].prefix
+
+ args = [
+ "--with-mpi=%s" % mpiroot,
+ "--with-unwind=%s" % spec["libunwind"].prefix,
+ "--with-boost=%s" % spec["boost"].prefix,
+ "--with-dwarf=%s" % spec["libdwarf"].prefix,
+ "--with-elf=%s" % spec["elf"].prefix,
+ "--with-xml-prefix=%s" % spec["libxml2"].prefix,
+ "--with-binutils=%s" % spec["binutils"].prefix,
+ ]
+
+ args += (
+ ["--with-papi=%s" % spec["papi"].prefix]
+ if "+papi" in self.spec
+ else ["--without-papi"]
+ )
+
+ args += (
+ ["--with-dyninst=%s" % spec["dyninst"].prefix]
+ if "+dyninst" in self.spec
+ else ["--without-dyninst"]
+ )
+
+ args += (
+ ["--with-cuda=%s" % spec["cuda"].prefix]
+ if "+cuda" in self.spec
+ else ["--without-cuda"]
+ )
+
+ if "+cupti" in self.spec:
+ cupti_h = find_headers("cupti", spec["cuda"].prefix, recursive=True)
cupti_dir = os.path.dirname(os.path.dirname(cupti_h[0]))
- args += (["--with-cupti=%s" % cupti_dir]
- if '+cupti' in self.spec else
- ["--without-cupti"])
+ args += ["--with-cupti=%s" % cupti_dir] if "+cupti" in self.spec else ["--without-cupti"]
if spec.satisfies("^dyninst@9.3.0:"):
make.add_default_arg("CXXFLAGS=%s" % self.compiler.cxx11_flag)
@@ -126,23 +131,23 @@ class Extrae(AutotoolsPackage):
# https://www.gnu.org/software/gettext/FAQ.html#integrating_undefined
# - linking error
# https://github.com/bsc-performance-tools/extrae/issues/57
- args.append('LDFLAGS=-lintl -pthread')
+ args.append("LDFLAGS=-lintl -pthread")
- return(args)
+ return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
# parallel installs are buggy prior to 3.7
# see https://github.com/bsc-performance-tools/extrae/issues/18
- if(spec.satisfies('@3.7:')):
- make('install', parallel=True)
+ if spec.satisfies("@3.7:"):
+ make("install", parallel=True)
else:
- make('install', parallel=False)
+ make("install", parallel=False)
def setup_run_environment(self, env):
# set EXTRAE_HOME in the module file
- env.set('EXTRAE_HOME', self.prefix)
+ env.set("EXTRAE_HOME", self.prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
# set EXTRAE_HOME for everyone using the Extrae package
- env.set('EXTRAE_HOME', self.prefix)
+ env.set("EXTRAE_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/exuberant-ctags/package.py b/var/spack/repos/builtin/packages/exuberant-ctags/package.py
index b1efe842c0..15ae014935 100644
--- a/var/spack/repos/builtin/packages/exuberant-ctags/package.py
+++ b/var/spack/repos/builtin/packages/exuberant-ctags/package.py
@@ -8,7 +8,8 @@ from spack.package import *
class ExuberantCtags(AutotoolsPackage):
"""The canonical ctags generator"""
+
homepage = "http://ctags.sourceforge.net"
- url = "http://downloads.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz"
+ url = "http://downloads.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz"
- version('5.8', sha256='0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7')
+ version("5.8", sha256="0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7")
diff --git a/var/spack/repos/builtin/packages/eztrace/package.py b/var/spack/repos/builtin/packages/eztrace/package.py
index 61f6e6e2e9..6cc0fb6626 100644
--- a/var/spack/repos/builtin/packages/eztrace/package.py
+++ b/var/spack/repos/builtin/packages/eztrace/package.py
@@ -8,38 +8,38 @@ from spack.package import *
class Eztrace(Package):
"""EZTrace is a tool to automatically generate execution traces
- of HPC applications."""
+ of HPC applications."""
homepage = "https://gitlab.com/eztrace"
- maintainers = ['trahay']
+ maintainers = ["trahay"]
git = "https://gitlab.com/eztrace/eztrace.git"
- version('master', branch='master')
- version('2.0-rc1', sha256='2ad322df5aeb0c668ebadbfeb3b21c8841831b2c15944d86d1d217f738fee74e')
- version('1.1-13', sha256='6144d04fb62b3ccad41af0268cd921161f168d0cca3f6c210c448bb0b07be7e0')
- version('1.1-10', sha256='63d1af2db38b04efa817614574f381e7536e12db06a2c75375d1795adda3d1d8')
+ version("master", branch="master")
+ version("2.0-rc1", sha256="2ad322df5aeb0c668ebadbfeb3b21c8841831b2c15944d86d1d217f738fee74e")
+ version("1.1-13", sha256="6144d04fb62b3ccad41af0268cd921161f168d0cca3f6c210c448bb0b07be7e0")
+ version("1.1-10", sha256="63d1af2db38b04efa817614574f381e7536e12db06a2c75375d1795adda3d1d8")
# dependencies for eztrace 1.x and 2.x
- depends_on('mpi')
- depends_on('opari2')
- depends_on('binutils')
+ depends_on("mpi")
+ depends_on("opari2")
+ depends_on("binutils")
# eztrace 1.x dependencies
- depends_on('autoconf@2.71', type='build', when="@:1")
- depends_on('automake', type='build', when="@:1")
- depends_on('libtool', type='build', when="@:1")
+ depends_on("autoconf@2.71", type="build", when="@:1")
+ depends_on("automake", type="build", when="@:1")
+ depends_on("libtool", type="build", when="@:1")
# Does not work on Darwin due to MAP_POPULATE
- conflicts('platform=darwin', when='@:1')
+ conflicts("platform=darwin", when="@:1")
# eztrace 2.x dependencies
- depends_on('cmake@3.1:', type='build', when="@2.0:")
- depends_on('otf2', when="@2.0:")
+ depends_on("cmake@3.1:", type="build", when="@2.0:")
+ depends_on("otf2", when="@2.0:")
def url_for_version(self, version):
url = "https://gitlab.com/eztrace/eztrace/-/archive/{0}/eztrace-{1}.tar.gz"
return url.format(version, version)
- @when('@2.0:')
+ @when("@2.0:")
def install(self, spec, prefix):
# Since eztrace 2.0, the build system uses CMake
spec = self.spec
@@ -50,46 +50,44 @@ class Eztrace(Package):
"-DEZTRACE_ENABLE_OPENMP=ON",
"-DEZTRACE_ENABLE_POSIXIO=ON",
"-DEZTRACE_ENABLE_PTHREAD=ON",
- "-DOTF2_INCLUDE_PATH=%s" % spec['otf2'].prefix.include,
- "-DOTF2_LIBRARY_PATH=%s" % spec['otf2'].libs,
+ "-DOTF2_INCLUDE_PATH=%s" % spec["otf2"].prefix.include,
+ "-DOTF2_LIBRARY_PATH=%s" % spec["otf2"].libs,
]
- if(spec.satisfies('%llvm-openmp-ompt')):
+ if spec.satisfies("%llvm-openmp-ompt"):
args.append("-DEZTRACE_ENABLE_OMPT=ON")
args.extend(std_cmake_args)
- with working_dir('spack-build', create=True):
- cmake('..', *args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *args)
make()
- make('install')
+ make("install")
# Until eztrace 2.0, the build system uses autoconf
- @when('@:1')
+ @when("@:1")
def install(self, spec, prefix):
- if self.spec.satisfies('%fj'):
- env.set('LDFLAGS', '--linkfortran')
+ if self.spec.satisfies("%fj"):
+ env.set("LDFLAGS", "--linkfortran")
self.patch()
- which('bash')('bootstrap')
- configure("--prefix=" + prefix,
- "--with-mpi={0}".format(self.spec["mpi"].prefix))
+ which("bash")("bootstrap")
+ configure("--prefix=" + prefix, "--with-mpi={0}".format(self.spec["mpi"].prefix))
self.fix_libtool()
make()
make("install")
- @when('@:1')
+ @when("@:1")
def patch(self):
filter_file(
'"DEFAULT_OUTFILE"',
'" DEFAULT_OUTFILE "',
- 'extlib/gtg/extlib/otf/tools/otfshrink/otfshrink.cpp',
- string=True
+ "extlib/gtg/extlib/otf/tools/otfshrink/otfshrink.cpp",
+ string=True,
)
- @when('@:1')
+ @when("@:1")
def fix_libtool(self):
- if self.spec.satisfies('%fj'):
- libtools = ['extlib/gtg/libtool',
- 'extlib/opari2/build-frontend/libtool']
+ if self.spec.satisfies("%fj"):
+ libtools = ["extlib/gtg/libtool", "extlib/opari2/build-frontend/libtool"]
for f in libtools:
filter_file('wl=""', 'wl="-Wl,"', f, string=True)
diff --git a/var/spack/repos/builtin/packages/f2c/package.py b/var/spack/repos/builtin/packages/f2c/package.py
index 12a9ae9b1f..7587c0463b 100644
--- a/var/spack/repos/builtin/packages/f2c/package.py
+++ b/var/spack/repos/builtin/packages/f2c/package.py
@@ -10,18 +10,18 @@ class F2c(MakefilePackage):
"""F2c converts Fortran 77 source code to C or C++ source files."""
homepage = "https://www.netlib.org/f2c/"
- url = "https://www.netlib.org/f2c/src.tgz"
+ url = "https://www.netlib.org/f2c/src.tgz"
- version('master', sha256='d4847456aa91c74e5e61e2097780ca6ac3b20869fae8864bfa8dcc66f6721d35')
+ version("master", sha256="d4847456aa91c74e5e61e2097780ca6ac3b20869fae8864bfa8dcc66f6721d35")
def url_for_version(self, version):
url = "https://www.netlib.org/f2c/src.tgz"
return url
def edit(self, spec, prefix):
- copy('makefile.u', 'makefile')
+ copy("makefile.u", "makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('f2c', prefix.bin)
- install('xsum', prefix.bin)
+ install("f2c", prefix.bin)
+ install("xsum", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/f3d/package.py b/var/spack/repos/builtin/packages/f3d/package.py
index 61bda7863f..966d83917e 100644
--- a/var/spack/repos/builtin/packages/f3d/package.py
+++ b/var/spack/repos/builtin/packages/f3d/package.py
@@ -10,8 +10,8 @@ class F3d(CMakePackage):
"""A fast and minimalist scriptable 3D viewer."""
homepage = "https://f3d-app.github.io"
- url = "https://github.com/f3d-app/f3d/archive/refs/tags/v1.1.1.tar.gz"
+ url = "https://github.com/f3d-app/f3d/archive/refs/tags/v1.1.1.tar.gz"
- version('1.1.1', sha256='68bdbe3a90f2cd553d5e090a95d3c847e2a2f06abbe225ffecd47d3d29978b0a')
+ version("1.1.1", sha256="68bdbe3a90f2cd553d5e090a95d3c847e2a2f06abbe225ffecd47d3d29978b0a")
- depends_on('vtk@9:', type='link')
+ depends_on("vtk@9:", type="link")
diff --git a/var/spack/repos/builtin/packages/f77-zmq/package.py b/var/spack/repos/builtin/packages/f77-zmq/package.py
index 6a71244840..5aa66543fc 100644
--- a/var/spack/repos/builtin/packages/f77-zmq/package.py
+++ b/var/spack/repos/builtin/packages/f77-zmq/package.py
@@ -12,30 +12,28 @@ class F77Zmq(MakefilePackage):
"""Fortran binding for the ZeroMQ communication library"""
homepage = "https://zguide.zeromq.org/"
- url = "https://github.com/zeromq/f77_zmq/archive/4.3.1.tar.gz"
+ url = "https://github.com/zeromq/f77_zmq/archive/4.3.1.tar.gz"
- maintainers = ['scemama']
+ maintainers = ["scemama"]
- version('4.3.2', sha256='f1fb7544d38d9bb7235f98c96f241875ddcb0d37ed950618c23d4e4d666a73ca')
- version('4.3.1', sha256='a15d72d93022d3e095528d2808c7767cece974a2dc0e2dd95e4c122f60fcf0a8')
+ version("4.3.2", sha256="f1fb7544d38d9bb7235f98c96f241875ddcb0d37ed950618c23d4e4d666a73ca")
+ version("4.3.1", sha256="a15d72d93022d3e095528d2808c7767cece974a2dc0e2dd95e4c122f60fcf0a8")
- depends_on('libzmq')
- depends_on('python@3:', type='build', when="@:4.3.1")
- depends_on('python', type='build', when="@4.3.2:")
+ depends_on("libzmq")
+ depends_on("python@3:", type="build", when="@:4.3.1")
+ depends_on("python", type="build", when="@4.3.2:")
def setup_build_environment(self, env):
- env.append_flags('CFLAGS', '-O3')
- env.append_flags('CFLAGS', '-g')
+ env.append_flags("CFLAGS", "-O3")
+ env.append_flags("CFLAGS", "-g")
def edit(self, spec, prefix):
- cflags = os.environ.get('CFLAGS')
- makefile = FileFilter('Makefile')
- makefile.filter('CC=.*',
- 'CC={0} {1}'.format(spack_cc,
- self.compiler.cc_pic_flag))
- makefile.filter('CFLAGS=.*', 'CFLAGS={0}'.format(cflags))
- makefile.filter('PREFIX=.*', 'PREFIX={0}'.format(self.prefix))
- p = self.spec['libzmq'].prefix
- os.environ['ZMQ_H'] = "{0}/include/zmq.h".format(p)
+ cflags = os.environ.get("CFLAGS")
+ makefile = FileFilter("Makefile")
+ makefile.filter("CC=.*", "CC={0} {1}".format(spack_cc, self.compiler.cc_pic_flag))
+ makefile.filter("CFLAGS=.*", "CFLAGS={0}".format(cflags))
+ makefile.filter("PREFIX=.*", "PREFIX={0}".format(self.prefix))
+ p = self.spec["libzmq"].prefix
+ os.environ["ZMQ_H"] = "{0}/include/zmq.h".format(p)
mkdirp(prefix.include)
mkdirp(prefix.lib)
diff --git a/var/spack/repos/builtin/packages/f90cache/package.py b/var/spack/repos/builtin/packages/f90cache/package.py
index ef352bf5d1..9e7d3a9433 100644
--- a/var/spack/repos/builtin/packages/f90cache/package.py
+++ b/var/spack/repos/builtin/packages/f90cache/package.py
@@ -9,13 +9,17 @@ from spack.package import *
class F90cache(AutotoolsPackage):
"""f90cache is a compiler cache. It acts as a caching pre-processor to
- Fortran compilers, using the -E compiler switch and a hash to detect
- when a compilation can be satisfied from cache. This often results in a
- great speedup in common compilations.
+ Fortran compilers, using the -E compiler switch and a hash to detect
+ when a compilation can be satisfied from cache. This often results in a
+ great speedup in common compilations.
"""
+
homepage = "https://perso.univ-rennes1.fr/edouard.canot/f90cache/"
- url = "https://perso.univ-rennes1.fr/edouard.canot/f90cache/f90cache-0.99c.tar.gz"
+ url = "https://perso.univ-rennes1.fr/edouard.canot/f90cache/f90cache-0.99c.tar.gz"
- version('0.99c', sha256='13f8297ecba73671d43376b71ef0e453bd9d6677a901d1c95f01f16cc33776e1')
- version('0.99', sha256='be3fe77b676bc784dd45b3f65b4a5db34d858ed29156b29d8da38b24585bda7d',
- url='http://distfiles.exherbo.org/distfiles/f90cache-0.99.tar.bz2')
+ version("0.99c", sha256="13f8297ecba73671d43376b71ef0e453bd9d6677a901d1c95f01f16cc33776e1")
+ version(
+ "0.99",
+ sha256="be3fe77b676bc784dd45b3f65b4a5db34d858ed29156b29d8da38b24585bda7d",
+ url="http://distfiles.exherbo.org/distfiles/f90cache-0.99.tar.bz2",
+ )
diff --git a/var/spack/repos/builtin/packages/fabtests/package.py b/var/spack/repos/builtin/packages/fabtests/package.py
index 40ea2479be..bbf7d064f3 100644
--- a/var/spack/repos/builtin/packages/fabtests/package.py
+++ b/var/spack/repos/builtin/packages/fabtests/package.py
@@ -8,28 +8,27 @@ from spack.package import *
class Fabtests(AutotoolsPackage):
"""Fabtests provides a set of runtime analysis tools and examples that use
- libfabric."""
+ libfabric."""
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')
- version('1.9.0', sha256='60cc21db7092334904cbdafd142b2403572976018a22218e7c453195caef366e')
- version('1.8.1', sha256='e9005d8fe73ca3849c872649c29811846bd72a62f897ecab73a08c7a9514f37b')
+ version("1.9.1", sha256="6f8ced2c6b3514759a0e177c8b2a19125e4ef0714d4cc0fe0386b33bd6cd5585")
+ version("1.9.0", sha256="60cc21db7092334904cbdafd142b2403572976018a22218e7c453195caef366e")
+ version("1.8.1", sha256="e9005d8fe73ca3849c872649c29811846bd72a62f897ecab73a08c7a9514f37b")
# old releases, published in a separate repository
- version('1.6.2', sha256='37405c6202f5b1aa81f8ea211237a2d87937f06254fa3ed44a9b69ac73b234e8')
- version('1.6.1', sha256='d357466b868fdaf1560d89ffac4c4e93a679486f1b4221315644d8d3e21174bf')
- version('1.6.0', sha256='dc3eeccccb005205017f5af60681ede15782ce202a0103450a6d56a7ff515a67')
- version('1.5.3', sha256='3835b3bf86cd00d23df0ddba8bf317e4a195e8d5c3c2baa918b373d548f77f29')
- version('1.5.0', sha256='1dddd446c3f1df346899f9a8636f1b4265de5b863103ae24876e9f0c1e40a69d')
- version('1.4.2', sha256='3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e')
+ version("1.6.2", sha256="37405c6202f5b1aa81f8ea211237a2d87937f06254fa3ed44a9b69ac73b234e8")
+ version("1.6.1", sha256="d357466b868fdaf1560d89ffac4c4e93a679486f1b4221315644d8d3e21174bf")
+ version("1.6.0", sha256="dc3eeccccb005205017f5af60681ede15782ce202a0103450a6d56a7ff515a67")
+ version("1.5.3", sha256="3835b3bf86cd00d23df0ddba8bf317e4a195e8d5c3c2baa918b373d548f77f29")
+ version("1.5.0", sha256="1dddd446c3f1df346899f9a8636f1b4265de5b863103ae24876e9f0c1e40a69d")
+ version("1.4.2", sha256="3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e")
- for v in ['1.4.2', '1.5.0', '1.5.3', '1.6.0', '1.6.1', '1.6.2',
- '1.8.1', '1.9.0', '1.9.1']:
- depends_on('libfabric@{0}'.format(v), when='@{0}'.format(v))
+ for v in ["1.4.2", "1.5.0", "1.5.3", "1.6.0", "1.6.1", "1.6.2", "1.8.1", "1.9.0", "1.9.1"]:
+ depends_on("libfabric@{0}".format(v), when="@{0}".format(v))
def url_for_version(self, version):
- if version >= Version('1.8.1'):
+ if version >= Version("1.8.1"):
url = "https://github.com/ofiwg/libfabric/releases/download/v{0}/fabtests-{0}.tar.bz2"
else:
url = "https://github.com/ofiwg/fabtests/releases/download/v{0}/fabtests-{0}.tar.gz"
diff --git a/var/spack/repos/builtin/packages/fairlogger/package.py b/var/spack/repos/builtin/packages/fairlogger/package.py
index d6318653b9..20785a36cc 100644
--- a/var/spack/repos/builtin/packages/fairlogger/package.py
+++ b/var/spack/repos/builtin/packages/fairlogger/package.py
@@ -12,71 +12,79 @@ from spack.pkg.builtin.boost import Boost
class Fairlogger(CMakePackage):
"""Lightweight and fast C++ Logging Library"""
- homepage = 'https://github.com/FairRootGroup/FairLogger'
+ homepage = "https://github.com/FairRootGroup/FairLogger"
url = "https://github.com/FairRootGroup/FairLogger/archive/v1.2.0.tar.gz"
- git = 'https://github.com/FairRootGroup/FairLogger.git'
- maintainers = ['dennisklein', 'ChristianTackeGSI']
+ git = "https://github.com/FairRootGroup/FairLogger.git"
+ maintainers = ["dennisklein", "ChristianTackeGSI"]
# generator = 'Ninja'
- version('develop', branch='dev', get_full_repo=True)
- version('1.9.0', sha256='13bcaa0d4129f8d4e69a0a2ece8e5b7073760082c8aa028e3fc0c11106503095')
- version('1.8.0', sha256='3f0a38dba1411b542d998e02badcc099c057b33a402954fc5c2ab74947a0c42c')
- version('1.7.0', sha256='ef467f0a70afc0549442323d70b165fa0b0b4b4e6f17834573ca15e8e0b007e4')
- version('1.6.2', sha256='5c6ef0c0029eb451fee71756cb96e6c5011040a9813e8889667b6f3b6b04ed03')
- version('1.6.1', sha256='3894580f4c398d724ba408e410e50f70c9f452e8cfaf7c3ff8118c08df28eaa8')
- version('1.6.0', sha256='721e8cadfceb2f63014c2a727e098babc6deba653baab8866445a772385d0f5b')
- version('1.5.0', sha256='8e74e0b1e50ee86f4fca87a44c6b393740b32099ac3880046bf252c31c58dd42')
- version('1.4.0', sha256='75457e86984cc03ce87d6ad37adc5aab1910cabd39a9bbe5fb21ce2475a91138')
- version('1.3.0', sha256='5cedea2773f7091d69aae9fd8f724e6e47929ee3784acdd295945a848eb36b93')
- version('1.2.0', sha256='bc0e049cf84ceb308132d8679e7f22fcdca5561dda314d5233d0d5fe2b0f8c62')
- version('1.1.0', sha256='e185e5bd07df648224f85e765d18579fae0de54adaab9a194335e3ad6d3d29f7')
- version('1.0.6', sha256='2fc266a6e494adda40837be406aef8d9838f385ffd64fbfafb1164833906b4e0')
+ version("develop", branch="dev", get_full_repo=True)
+ version("1.9.0", sha256="13bcaa0d4129f8d4e69a0a2ece8e5b7073760082c8aa028e3fc0c11106503095")
+ version("1.8.0", sha256="3f0a38dba1411b542d998e02badcc099c057b33a402954fc5c2ab74947a0c42c")
+ version("1.7.0", sha256="ef467f0a70afc0549442323d70b165fa0b0b4b4e6f17834573ca15e8e0b007e4")
+ version("1.6.2", sha256="5c6ef0c0029eb451fee71756cb96e6c5011040a9813e8889667b6f3b6b04ed03")
+ version("1.6.1", sha256="3894580f4c398d724ba408e410e50f70c9f452e8cfaf7c3ff8118c08df28eaa8")
+ version("1.6.0", sha256="721e8cadfceb2f63014c2a727e098babc6deba653baab8866445a772385d0f5b")
+ version("1.5.0", sha256="8e74e0b1e50ee86f4fca87a44c6b393740b32099ac3880046bf252c31c58dd42")
+ version("1.4.0", sha256="75457e86984cc03ce87d6ad37adc5aab1910cabd39a9bbe5fb21ce2475a91138")
+ version("1.3.0", sha256="5cedea2773f7091d69aae9fd8f724e6e47929ee3784acdd295945a848eb36b93")
+ version("1.2.0", sha256="bc0e049cf84ceb308132d8679e7f22fcdca5561dda314d5233d0d5fe2b0f8c62")
+ version("1.1.0", sha256="e185e5bd07df648224f85e765d18579fae0de54adaab9a194335e3ad6d3d29f7")
+ version("1.0.6", sha256="2fc266a6e494adda40837be406aef8d9838f385ffd64fbfafb1164833906b4e0")
- variant('build_type', default='RelWithDebInfo',
- values=('Debug', 'Release', 'RelWithDebInfo'),
- multi=False,
- description='CMake build type')
- variant('cxxstd', default='default',
- values=('default', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
- variant('pretty',
- default=False,
- description='Use BOOST_PRETTY_FUNCTION macro (Supported by 1.4+).')
- conflicts('+pretty', when='@:1.3')
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ multi=False,
+ description="CMake build type",
+ )
+ variant(
+ "cxxstd",
+ default="default",
+ values=("default", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+ variant(
+ "pretty", default=False, description="Use BOOST_PRETTY_FUNCTION macro (Supported by 1.4+)."
+ )
+ conflicts("+pretty", when="@:1.3")
- depends_on('cmake@3.9.4:', type='build')
- depends_on('git', type='build', when='@develop')
+ depends_on("cmake@3.9.4:", type="build")
+ depends_on("git", type="build", when="@develop")
- depends_on('boost', when='+pretty')
+ depends_on("boost", when="+pretty")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+pretty')
- conflicts('^boost@1.70:', when='^cmake@:3.14')
- depends_on('fmt@5.3.0:5', when='@1.6.0:1.6.1')
- depends_on('fmt@5.3.0:', when='@1.6.2:')
+ depends_on(Boost.with_default_variants, when="+pretty")
+ conflicts("^boost@1.70:", when="^cmake@:3.14")
+ depends_on("fmt@5.3.0:5", when="@1.6.0:1.6.1")
+ depends_on("fmt@5.3.0:", when="@1.6.2:")
def patch(self):
"""FairLogger gets its version number from git.
- But the tarball doesn't have that information, so
- we patch the spack version into CMakeLists.txt"""
+ But the tarball doesn't have that information, so
+ we patch the spack version into CMakeLists.txt"""
if not self.spec.satisfies("@develop"):
- filter_file(r'(get_git_version\(.*)\)',
- r'\1 DEFAULT_VERSION %s)' % self.spec.version,
- 'CMakeLists.txt')
+ filter_file(
+ r"(get_git_version\(.*)\)",
+ r"\1 DEFAULT_VERSION %s)" % self.spec.version,
+ "CMakeLists.txt",
+ )
def cmake_args(self):
args = []
- args.append('-DDISABLE_COLOR=ON')
- cxxstd = self.spec.variants['cxxstd'].value
- if cxxstd != 'default':
- args.append('-DCMAKE_CXX_STANDARD=%s' % cxxstd)
- if self.spec.satisfies('@1.4:'):
- args.append(self.define_from_variant('USE_BOOST_PRETTY_FUNCTION', 'pretty'))
- if self.spec.satisfies('@1.6:'):
- args.append('-DUSE_EXTERNAL_FMT=ON')
- if self.spec.satisfies('^boost@:1.69'):
- args.append('-DBoost_NO_BOOST_CMAKE=ON')
+ args.append("-DDISABLE_COLOR=ON")
+ cxxstd = self.spec.variants["cxxstd"].value
+ if cxxstd != "default":
+ args.append("-DCMAKE_CXX_STANDARD=%s" % cxxstd)
+ if self.spec.satisfies("@1.4:"):
+ args.append(self.define_from_variant("USE_BOOST_PRETTY_FUNCTION", "pretty"))
+ if self.spec.satisfies("@1.6:"):
+ args.append("-DUSE_EXTERNAL_FMT=ON")
+ if self.spec.satisfies("^boost@:1.69"):
+ args.append("-DBoost_NO_BOOST_CMAKE=ON")
return args
diff --git a/var/spack/repos/builtin/packages/faiss/package.py b/var/spack/repos/builtin/packages/faiss/package.py
index a1e27f9617..0ff22a6c96 100644
--- a/var/spack/repos/builtin/packages/faiss/package.py
+++ b/var/spack/repos/builtin/packages/faiss/package.py
@@ -10,121 +10,120 @@ from spack.package import *
class Faiss(AutotoolsPackage, CudaPackage):
"""Faiss is a library for efficient similarity search and clustering of
- dense vectors.
+ dense vectors.
- Faiss contains algorithms that search in sets of vectors of any size, up
- to ones that possibly do not fit in RAM. It also contains supporting code
- for evaluation and parameter tuning. Faiss is written in C++ with
- complete wrappers for Python/numpy. Some of the most useful algorithms
- are implemented on the GPU. It is developed by Facebook AI Research.
+ Faiss contains algorithms that search in sets of vectors of any size, up
+ to ones that possibly do not fit in RAM. It also contains supporting code
+ for evaluation and parameter tuning. Faiss is written in C++ with
+ complete wrappers for Python/numpy. Some of the most useful algorithms
+ are implemented on the GPU. It is developed by Facebook AI Research.
"""
homepage = "https://github.com/facebookresearch/faiss"
- url = "https://github.com/facebookresearch/faiss/archive/v1.6.3.tar.gz"
+ url = "https://github.com/facebookresearch/faiss/archive/v1.6.3.tar.gz"
- maintainers = ['bhatiaharsh']
+ maintainers = ["bhatiaharsh"]
- version('1.6.3', sha256='e1a41c159f0b896975fbb133e0240a233af5c9286c09a28fde6aefff5336e542')
- version('1.5.3', sha256='b24d347b0285d01c2ed663ccc7596cd0ea95071f3dd5ebb573ccfc28f15f043b')
+ version("1.6.3", sha256="e1a41c159f0b896975fbb133e0240a233af5c9286c09a28fde6aefff5336e542")
+ version("1.5.3", sha256="b24d347b0285d01c2ed663ccc7596cd0ea95071f3dd5ebb573ccfc28f15f043b")
- variant('python', default=False, description='Build Python bindings')
- variant('tests', default=False, description='Build Tests')
+ variant("python", default=False, description="Build Python bindings")
+ variant("tests", default=False, description="Build Tests")
- conflicts('+tests', when='~python', msg='+tests must be accompanied by +python')
+ conflicts("+tests", when="~python", msg="+tests must be accompanied by +python")
- depends_on('python@3.7:', when='+python', type=('build', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+tests', type=('build', 'run'))
+ depends_on("python@3.7:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+tests", type=("build", "run"))
- depends_on('blas')
- depends_on('python', type='build')
- depends_on('py-setuptools', when='+python', type='build')
- depends_on('swig', when='+python', type='build')
+ depends_on("blas")
+ depends_on("python", type="build")
+ depends_on("py-setuptools", when="+python", type="build")
+ depends_on("swig", when="+python", type="build")
# patch for v1.5.3
# faiss assumes that the "source directory" will always
# be called "faiss" (not spack-src or faiss-1.5.3)
# so, we will have to create a symlink to self (faiss did that in 1.6.3)
# and add an include path
- patch('fixes-in-v1.5.3.patch', when='@1.5.3')
+ patch("fixes-in-v1.5.3.patch", when="@1.5.3")
# patch for v1.6.3
# for v1.6.3, GPU build has a bug (two files need to be deleted)
# https://github.com/facebookresearch/faiss/issues/1159
# also, some include paths in gpu/tests/Makefile are missing
- patch('fixes-in-v1.6.3.patch', when='@1.6.3')
+ patch("fixes-in-v1.6.3.patch", when="@1.6.3")
def configure_args(self):
args = []
- args.extend(self.with_or_without('cuda', activation_value='prefix'))
+ args.extend(self.with_or_without("cuda", activation_value="prefix"))
return args
def build(self, spec, prefix):
make()
- if '+python' in self.spec:
- make('-C', 'python')
+ if "+python" in self.spec:
+ make("-C", "python")
# CPU tests
- if '+tests' in self.spec:
- with working_dir('tests'):
- make('gtest')
- make('tests')
+ if "+tests" in self.spec:
+ with working_dir("tests"):
+ make("gtest")
+ make("tests")
# GPU tests
- if '+tests+cuda' in self.spec:
- with working_dir(os.path.join('gpu', 'test')):
- make('gtest')
- make('build') # target added by the patch
- make('demo_ivfpq_indexing_gpu')
+ if "+tests+cuda" in self.spec:
+ with working_dir(os.path.join("gpu", "test")):
+ make("gtest")
+ make("build") # target added by the patch
+ make("demo_ivfpq_indexing_gpu")
def install(self, spec, prefix):
- make('install')
+ make("install")
- if '+python' in self.spec:
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ if "+python" in self.spec:
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
- if '+tests' not in self.spec:
+ if "+tests" not in self.spec:
return
if not os.path.isdir(self.prefix.bin):
os.makedirs(self.prefix.bin)
def _prefix_and_install(file):
- os.rename(file, 'faiss_' + file)
- install('faiss_' + file, self.prefix.bin)
+ os.rename(file, "faiss_" + file)
+ install("faiss_" + file, self.prefix.bin)
# CPU tests
- with working_dir('tests'):
+ with working_dir("tests"):
# rename the exec to keep consistent with gpu tests
- os.rename('tests', 'TestCpu')
- _prefix_and_install('TestCpu')
+ os.rename("tests", "TestCpu")
+ _prefix_and_install("TestCpu")
# GPU tests
- if '+cuda' in self.spec:
- with working_dir(os.path.join('gpu', 'test')):
- _prefix_and_install('TestGpuIndexFlat')
- _prefix_and_install('TestGpuIndexBinaryFlat')
- _prefix_and_install('TestGpuIndexIVFFlat')
- _prefix_and_install('TestGpuIndexIVFPQ')
- _prefix_and_install('TestGpuMemoryException')
- _prefix_and_install('TestGpuSelect')
- _prefix_and_install('demo_ivfpq_indexing_gpu')
-
- @run_after('configure')
+ if "+cuda" in self.spec:
+ with working_dir(os.path.join("gpu", "test")):
+ _prefix_and_install("TestGpuIndexFlat")
+ _prefix_and_install("TestGpuIndexBinaryFlat")
+ _prefix_and_install("TestGpuIndexIVFFlat")
+ _prefix_and_install("TestGpuIndexIVFPQ")
+ _prefix_and_install("TestGpuMemoryException")
+ _prefix_and_install("TestGpuSelect")
+ _prefix_and_install("demo_ivfpq_indexing_gpu")
+
+ @run_after("configure")
def _fix_makefile(self):
# spack injects its own optimization flags
- makefile = FileFilter('makefile.inc')
- makefile.filter('CPUFLAGS = -mavx2 -mf16c',
- '#CPUFLAGS = -mavx2 -mf16c')
+ makefile = FileFilter("makefile.inc")
+ makefile.filter("CPUFLAGS = -mavx2 -mf16c", "#CPUFLAGS = -mavx2 -mf16c")
def setup_run_environment(self, env):
- if '+python' in self.spec:
- env.prepend_path('PYTHONPATH', python_platlib)
+ if "+python" in self.spec:
+ env.prepend_path("PYTHONPATH", python_platlib)
diff --git a/var/spack/repos/builtin/packages/fakechroot/package.py b/var/spack/repos/builtin/packages/fakechroot/package.py
index 48265cce7e..233a1f628a 100644
--- a/var/spack/repos/builtin/packages/fakechroot/package.py
+++ b/var/spack/repos/builtin/packages/fakechroot/package.py
@@ -14,8 +14,8 @@ class Fakechroot(AutotoolsPackage):
privileges."""
homepage = "https://github.com/dex4er/fakechroot"
- url = "https://github.com/dex4er/fakechroot/releases/download/2.20.1/fakechroot-2.20.1.tar.gz"
+ url = "https://github.com/dex4er/fakechroot/releases/download/2.20.1/fakechroot-2.20.1.tar.gz"
- version('2.20.1', sha256='5abd04323c9ddae06b5dcaa56b2da07728de3fe21007b08bd88a17b2409b32aa')
- version('2.20', sha256='5da99358d2a49ddd3dd54ba2ff401d93a8fa641e3754cd058bdf53adb4b7e100')
- version('2.19', sha256='39ffbbbe3a823be7450928b8e3b99ae4cb339c47213b2f1d8ff903e0246f2e15')
+ version("2.20.1", sha256="5abd04323c9ddae06b5dcaa56b2da07728de3fe21007b08bd88a17b2409b32aa")
+ version("2.20", sha256="5da99358d2a49ddd3dd54ba2ff401d93a8fa641e3754cd058bdf53adb4b7e100")
+ version("2.19", sha256="39ffbbbe3a823be7450928b8e3b99ae4cb339c47213b2f1d8ff903e0246f2e15")
diff --git a/var/spack/repos/builtin/packages/fakexrandr/package.py b/var/spack/repos/builtin/packages/fakexrandr/package.py
index e51a15addb..6a44483032 100644
--- a/var/spack/repos/builtin/packages/fakexrandr/package.py
+++ b/var/spack/repos/builtin/packages/fakexrandr/package.py
@@ -11,43 +11,46 @@ class Fakexrandr(MakefilePackage):
monitors than there actually are."""
homepage = "https://github.com/phillipberndt/fakexrandr"
- git = "https://github.com/phillipberndt/fakexrandr.git"
+ git = "https://github.com/phillipberndt/fakexrandr.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('libxrandr')
- depends_on('libxinerama')
- depends_on('libx11')
- depends_on('python', type=('build', 'run'))
+ depends_on("libxrandr")
+ depends_on("libxinerama")
+ depends_on("libx11")
+ depends_on("python", type=("build", "run"))
def edit(self, spec, prefix):
# Installation instructions involve running `configure` script,
# but this script just writes a `config.h` file like below.
- version = spec['libxrandr'].version
- with open('config.h', 'w') as config:
- config.write("""
+ version = spec["libxrandr"].version
+ with open("config.h", "w") as config:
+ config.write(
+ """
#define XRANDR_MAJOR {0}
#define XRANDR_MINOR {1}
#define XRANDR_PATCH {2}
#define REAL_XRANDR_LIB "{3}"
#define FAKEXRANDR_INSTALL_DIR "{4}"
-""".format(version[0], version[1], version[2],
- spec['libxrandr'].libs[0], prefix.lib))
+""".format(
+ version[0], version[1], version[2], spec["libxrandr"].libs[0], prefix.lib
+ )
+ )
# Also need to hack Makefile
- makefile = FileFilter('Makefile')
- makefile.filter('PREFIX=/usr', 'PREFIX=' + prefix)
- makefile.filter('-fPIC', self.compiler.cc_pic_flag)
+ makefile = FileFilter("Makefile")
+ makefile.filter("PREFIX=/usr", "PREFIX=" + prefix)
+ makefile.filter("-fPIC", self.compiler.cc_pic_flag)
# And tool used to generate skeleton
- filter_file('gcc', spack_cc, 'make_skeleton.py')
+ filter_file("gcc", spack_cc, "make_skeleton.py")
# remove 'ldconfig' on all platforms
- makefile.filter('ldconfig', '')
+ makefile.filter("ldconfig", "")
# In Makefile, install commands check the target dir.
# If it does not exist, process will stop.
- @run_before('install')
+ @run_before("install")
def make_target_dir(self):
mkdirp(self.prefix.lib)
mkdirp(self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/falcon/package.py b/var/spack/repos/builtin/packages/falcon/package.py
index 61a9b151e3..71c85469a8 100644
--- a/var/spack/repos/builtin/packages/falcon/package.py
+++ b/var/spack/repos/builtin/packages/falcon/package.py
@@ -17,18 +17,18 @@ class Falcon(PythonPackage):
front-end written in Python for convenience."""
homepage = "https://github.com/PacificBiosciences/FALCON"
- git = "https://github.com/PacificBiosciences/FALCON.git"
+ git = "https://github.com/PacificBiosciences/FALCON.git"
- version('2017-05-30', commit='86cec6157291679095ea6080b0cde6561eccc041')
+ version("2017-05-30", commit="86cec6157291679095ea6080b0cde6561eccc041")
- depends_on('py-setuptools', type='run')
- depends_on('py-pypeflow', type='run')
- depends_on('py-networkx@1.7:1.10', type=['build', 'run'])
- depends_on('pacbio-dazz-db', type='run')
- depends_on('pacbio-daligner', type='run')
- depends_on('pacbio-dextractor', type='run')
- depends_on('pacbio-damasker', type='run')
+ depends_on("py-setuptools", type="run")
+ depends_on("py-pypeflow", type="run")
+ depends_on("py-networkx@1.7:1.10", type=["build", "run"])
+ depends_on("pacbio-dazz-db", type="run")
+ depends_on("pacbio-daligner", type="run")
+ depends_on("pacbio-dextractor", type="run")
+ depends_on("pacbio-damasker", type="run")
# Python version 3 and later should return
# a value of PyObject type. [-Wreturn-type]
- patch('Py_None.patch', when='^python@3:')
+ patch("Py_None.patch", when="^python@3:")
diff --git a/var/spack/repos/builtin/packages/fann/package.py b/var/spack/repos/builtin/packages/fann/package.py
index 02e7539f53..050463c42e 100644
--- a/var/spack/repos/builtin/packages/fann/package.py
+++ b/var/spack/repos/builtin/packages/fann/package.py
@@ -21,6 +21,6 @@ class Fann(CMakePackage):
"""
homepage = "https://leenissen.dk/fann/wp/"
- url = "https://github.com/libfann/fann/archive/2.2.0.tar.gz"
+ url = "https://github.com/libfann/fann/archive/2.2.0.tar.gz"
- version('2.2.0', sha256='f31c92c1589996f97d855939b37293478ac03d24b4e1c08ff21e0bd093449c3c')
+ version("2.2.0", sha256="f31c92c1589996f97d855939b37293478ac03d24b4e1c08ff21e0bd093449c3c")
diff --git a/var/spack/repos/builtin/packages/faodel/package.py b/var/spack/repos/builtin/packages/faodel/package.py
index 1d2d04e717..ab33c5c5ba 100644
--- a/var/spack/repos/builtin/packages/faodel/package.py
+++ b/var/spack/repos/builtin/packages/faodel/package.py
@@ -10,45 +10,64 @@ class Faodel(CMakePackage):
"""Flexible, Asynchronous, Object Data-Exchange Libraries"""
homepage = "https://github.com/faodel/faodel"
- url = "https://github.com/faodel/faodel/archive/v1.2108.1.tar.gz"
- git = "https://github.com/faodel/faodel.git"
+ url = "https://github.com/faodel/faodel/archive/v1.2108.1.tar.gz"
+ git = "https://github.com/faodel/faodel.git"
- maintainers = ['tkordenbrock', 'craigulmer']
+ maintainers = ["tkordenbrock", "craigulmer"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('1.2108.1', sha256='66c53daa510b28f906faac7c67d944a034900da2e296159a2879c3c0b0080ffd')
- version('1.1906.2', sha256='fd61c0a9c4303cd6b8c33bf04414acfc80ceaf08272be99bf3ebc854b37656a0')
- version('1.1906.1', sha256='4b3caf469ae7db50e9bb8d652e4cb532d33d474279def0f8a483f69385648058')
- version('1.1811.2', sha256='22feb502dad0f56fb8af492f6e2cdc53a97fd6c31f6fa3c655be0a6266c46996')
- version('1.1811.1', sha256='8e95ee99b8c136ff687eb07a2481ee04560cb1526408eb22ab56cd9c60206916')
- version('1.1803.1', sha256='70ce7125c02601e14abe5985243d67adf677ed9e7a4dd6d3eaef8a97cf281a16')
+ version("master", branch="master")
+ version("1.2108.1", sha256="66c53daa510b28f906faac7c67d944a034900da2e296159a2879c3c0b0080ffd")
+ version("1.1906.2", sha256="fd61c0a9c4303cd6b8c33bf04414acfc80ceaf08272be99bf3ebc854b37656a0")
+ version("1.1906.1", sha256="4b3caf469ae7db50e9bb8d652e4cb532d33d474279def0f8a483f69385648058")
+ version("1.1811.2", sha256="22feb502dad0f56fb8af492f6e2cdc53a97fd6c31f6fa3c655be0a6266c46996")
+ version("1.1811.1", sha256="8e95ee99b8c136ff687eb07a2481ee04560cb1526408eb22ab56cd9c60206916")
+ version("1.1803.1", sha256="70ce7125c02601e14abe5985243d67adf677ed9e7a4dd6d3eaef8a97cf281a16")
- variant('shared', default=True, description='Build Faodel as shared libs')
- variant('mpi', default=True, description='Enable MPI')
+ variant("shared", default=True, description="Build Faodel as shared libs")
+ variant("mpi", default=True, description="Enable MPI")
- variant('hdf5', default=False, description="Build the HDF5-based IOM in Kelpie")
- variant('tcmalloc', default=True, description='Use tcmalloc from gperftools in Lunasa, potentially other places')
+ variant("hdf5", default=False, description="Build the HDF5-based IOM in Kelpie")
+ variant(
+ "tcmalloc",
+ default=True,
+ description="Use tcmalloc from gperftools in Lunasa, potentially other places",
+ )
- variant('logging', default='stdout', values=('stdout', 'sbl', 'disabled'), description='Select where logging interface output is routed')
- variant('network', default='nnti', values=('nnti', 'libfabric'), description='RDMA Network library to use for low-level communication')
- variant('serializer', default='xdr', values=('xdr', 'cereal'), description='Use Cereal to serialize NNTI data structures else XDR')
+ variant(
+ "logging",
+ default="stdout",
+ values=("stdout", "sbl", "disabled"),
+ description="Select where logging interface output is routed",
+ )
+ variant(
+ "network",
+ default="nnti",
+ values=("nnti", "libfabric"),
+ description="RDMA Network library to use for low-level communication",
+ )
+ variant(
+ "serializer",
+ default="xdr",
+ values=("xdr", "cereal"),
+ description="Use Cereal to serialize NNTI data structures else XDR",
+ )
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
depends_on(
- 'boost@1.60.0:'
- '+program_options+exception+locale+system+chrono+log+serialization'
- '+atomic+container+regex+thread+date_time'
+ "boost@1.60.0:"
+ "+program_options+exception+locale+system+chrono+log+serialization"
+ "+atomic+container+regex+thread+date_time"
)
- depends_on('cmake@3.8.0:', type='build')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('hdf5~mpi', when='+hdf5~mpi')
- depends_on('libfabric@1.5.3:', when='network=libfabric')
- depends_on('googletest@1.7.0:', type='test')
+ depends_on("cmake@3.8.0:", type="build")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("hdf5~mpi", when="+hdf5~mpi")
+ depends_on("libfabric@1.5.3:", when="network=libfabric")
+ depends_on("googletest@1.7.0:", type="test")
# FAODEL requires C++11 support which starts with gcc 4.8.1
- conflicts('%gcc@:4.8.0')
+ conflicts("%gcc@:4.8.0")
# Github issue #11267
# Requires master branch of `leveldb` which is not available in spack
@@ -58,36 +77,34 @@ class Faodel(CMakePackage):
# description='Build the LevelDB-based IOM in Kelpie')
# Only clang requires this patch, but it should be applied for all
- patch('array.patch', when="@1.1803.1")
+ patch("array.patch", when="@1.1803.1")
# FAODEL Github issue #4
- patch('faodel_mpi.patch', when='@1.1811.1 ~mpi')
+ patch("faodel_mpi.patch", when="@1.1811.1 ~mpi")
# FAODEL Github issue #5
- patch('faodel_sbl.patch', when='@1.1811.1 logging=sbl')
- patch('lambda-capture-f0267fc.patch', when='@1.1906.1')
- patch('ugni-target-redef-b67e856.patch', when='@1.1906.1')
+ patch("faodel_sbl.patch", when="@1.1811.1 logging=sbl")
+ patch("lambda-capture-f0267fc.patch", when="@1.1906.1")
+ patch("ugni-target-redef-b67e856.patch", when="@1.1906.1")
def cmake_args(self):
spec = self.spec
- build_tests = self.run_tests and '+mpi' in spec
+ build_tests = self.run_tests and "+mpi" in spec
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('BOOST_ROOT', spec['boost'].prefix),
- self.define('BUILD_DOCS', False),
- self.define('BUILD_TESTS', build_tests),
- self.define_from_variant('Faodel_ENABLE_IOM_HDF5', 'hdf5'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("BOOST_ROOT", spec["boost"].prefix),
+ self.define("BUILD_DOCS", False),
+ self.define("BUILD_TESTS", build_tests),
+ self.define_from_variant("Faodel_ENABLE_IOM_HDF5", "hdf5"),
# self.define_from_variant('Faodel_ENABLE_IOM_LEVELDB', 'leveldb'),
- self.define_from_variant('Faodel_ENABLE_MPI_SUPPORT', 'mpi'),
- self.define_from_variant('Faodel_ENABLE_TCMALLOC', 'tcmalloc'),
- self.define_from_variant('Faodel_LOGGING_METHOD', 'logging'),
- self.define_from_variant('Faodel_NETWORK_LIBRARY', 'network'),
- self.define_from_variant('Faodel_NNTI_SERIALIZATION_METHOD', 'serializer'),
+ self.define_from_variant("Faodel_ENABLE_MPI_SUPPORT", "mpi"),
+ self.define_from_variant("Faodel_ENABLE_TCMALLOC", "tcmalloc"),
+ self.define_from_variant("Faodel_LOGGING_METHOD", "logging"),
+ self.define_from_variant("Faodel_NETWORK_LIBRARY", "network"),
+ self.define_from_variant("Faodel_NNTI_SERIALIZATION_METHOD", "serializer"),
]
if build_tests:
- args.extend([
- self.define('GTEST_ROOT', spec['googletest'].prefix)
- ])
+ args.extend([self.define("GTEST_ROOT", spec["googletest"].prefix)])
return args
diff --git a/var/spack/repos/builtin/packages/fasd/package.py b/var/spack/repos/builtin/packages/fasd/package.py
index 912e465a36..bca8f4fd41 100644
--- a/var/spack/repos/builtin/packages/fasd/package.py
+++ b/var/spack/repos/builtin/packages/fasd/package.py
@@ -12,10 +12,10 @@ class Fasd(MakefilePackage):
"""
homepage = "https://github.com/clvv/fasd"
- url = "https://github.com/clvv/fasd/archive/refs/tags/1.0.1.tar.gz"
- git = "https://github.com/clvv/fasd.git"
+ url = "https://github.com/clvv/fasd/archive/refs/tags/1.0.1.tar.gz"
+ git = "https://github.com/clvv/fasd.git"
- version('1.0.1', sha256='88efdfbbed8df408699a14fa6c567450bf86480f5ff3dde42d0b3e1dee731f65')
+ version("1.0.1", sha256="88efdfbbed8df408699a14fa6c567450bf86480f5ff3dde42d0b3e1dee731f65")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/fast-global-file-status/package.py b/var/spack/repos/builtin/packages/fast-global-file-status/package.py
index 513baef564..2b8d5314ee 100644
--- a/var/spack/repos/builtin/packages/fast-global-file-status/package.py
+++ b/var/spack/repos/builtin/packages/fast-global-file-status/package.py
@@ -8,31 +8,35 @@ from spack.package import *
class FastGlobalFileStatus(AutotoolsPackage):
"""provides a scalable mechanism to retrieve such information of a file,
- including its degree of distribution or replication and consistency."""
+ including its degree of distribution or replication and consistency."""
homepage = "https://github.com/LLNL/FastGlobalFileStatus"
- url = 'https://github.com/LLNL/FastGlobalFileStatus/files/2271592/fastglobalfilestatus-1.1.tar.gz'
+ url = "https://github.com/LLNL/FastGlobalFileStatus/files/2271592/fastglobalfilestatus-1.1.tar.gz"
git = "https://github.com/LLNL/FastGlobalFileStatus.git"
- maintainers = ['lee218llnl']
+ maintainers = ["lee218llnl"]
- version('master', branch='master')
- version('1.1.1', sha256='397de583a99e60aae8b4485d3decac6e23f50c658a6353fea149d6dd50d3ecee', url="https://github.com/LLNL/FastGlobalFileStatus/releases/download/v1.1.1/fastglobalfilestatus-1.1.1.tar.gz")
- version('1.1', sha256='e6fba4a0b7f055899fa0e05d93a435c7f1f2ec1158b9a6647dc8d2bcf9c2e164')
+ version("master", branch="master")
+ version(
+ "1.1.1",
+ sha256="397de583a99e60aae8b4485d3decac6e23f50c658a6353fea149d6dd50d3ecee",
+ url="https://github.com/LLNL/FastGlobalFileStatus/releases/download/v1.1.1/fastglobalfilestatus-1.1.1.tar.gz",
+ )
+ version("1.1", sha256="e6fba4a0b7f055899fa0e05d93a435c7f1f2ec1158b9a6647dc8d2bcf9c2e164")
- depends_on('mrnet')
+ depends_on("mrnet")
# we depend on mpa@master for bug fixes since mpa 1.1
- depends_on('mount-point-attributes@master')
- depends_on('mpi')
- depends_on('openssl')
- depends_on('elf')
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
+ depends_on("mount-point-attributes@master")
+ depends_on("mpi")
+ depends_on("openssl")
+ depends_on("elf")
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
def configure_args(self):
spec = self.spec
args = [
- "--with-mpa=%s" % spec['mount-point-attributes'].prefix,
- "--with-mrnet=%s" % spec['mrnet'].prefix
+ "--with-mpa=%s" % spec["mount-point-attributes"].prefix,
+ "--with-mrnet=%s" % spec["mrnet"].prefix,
]
return args
diff --git a/var/spack/repos/builtin/packages/fasta/package.py b/var/spack/repos/builtin/packages/fasta/package.py
index d7eadc1db7..e109d13b0f 100644
--- a/var/spack/repos/builtin/packages/fasta/package.py
+++ b/var/spack/repos/builtin/packages/fasta/package.py
@@ -17,41 +17,43 @@ class Fasta(MakefilePackage):
"""
homepage = "https://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml"
- url = "https://github.com/wrpearson/fasta36/archive/fasta-v36.3.8g.tar.gz"
+ url = "https://github.com/wrpearson/fasta36/archive/fasta-v36.3.8g.tar.gz"
- version('36.3.8g', sha256='fa5318b6f8d6a3cfdef0d29de530eb005bfd3ca05835faa6ad63663f8dce7b2e')
+ version("36.3.8g", sha256="fa5318b6f8d6a3cfdef0d29de530eb005bfd3ca05835faa6ad63663f8dce7b2e")
- depends_on('zlib')
+ depends_on("zlib")
# The src tree includes a plethora of variant Makefiles and the
# builder is expected to choose one that's appropriate. This'll
# do for a first cut. I can't test anything else....
@property
def makefile_name(self):
- if self.spec.satisfies('platform=darwin'):
- name = 'Makefile.os_x86_64'
- elif self.spec.satisfies('platform=linux target=x86_64:'):
- name = 'Makefile.linux64_sse2'
+ if self.spec.satisfies("platform=darwin"):
+ name = "Makefile.os_x86_64"
+ elif self.spec.satisfies("platform=linux target=x86_64:"):
+ name = "Makefile.linux64_sse2"
else:
- tty.die('''Unsupported platform/target, must be
+ tty.die(
+ """Unsupported platform/target, must be
Darwin (assumes 64-bit)
Linux x86_64
-''')
+"""
+ )
return name
@property
def makefile_path(self):
- return join_path(self.stage.source_path, 'make', self.makefile_name)
+ return join_path(self.stage.source_path, "make", self.makefile_name)
def edit(self, spec, prefix):
makefile = FileFilter(self.makefile_path)
- makefile.filter('XDIR = .*', 'XDIR = {0}'.format(prefix.bin))
+ makefile.filter("XDIR = .*", "XDIR = {0}".format(prefix.bin))
def build(self, spec, prefix):
- with working_dir('src'):
- make('-f', self.makefile_path)
+ with working_dir("src"):
+ make("-f", self.makefile_path)
def install(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
mkdir(prefix.bin)
- make('-f', self.makefile_path, 'install')
+ make("-f", self.makefile_path, "install")
diff --git a/var/spack/repos/builtin/packages/fastani/package.py b/var/spack/repos/builtin/packages/fastani/package.py
index f583eb5e38..83ab7cfe5b 100644
--- a/var/spack/repos/builtin/packages/fastani/package.py
+++ b/var/spack/repos/builtin/packages/fastani/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Fastani(AutotoolsPackage):
"""Fast, alignment-free computation of whole-genome Average Nucleotide
- Identity (ANI)"""
+ Identity (ANI)"""
homepage = "https://github.com/ParBLiSS/FastANI"
- url = "https://github.com/ParBLiSS/FastANI/archive/v1.33.tar.gz"
+ url = "https://github.com/ParBLiSS/FastANI/archive/v1.33.tar.gz"
- version('1.33', sha256='0b18b3074094722fb1b2247c1a1c4eb96295fff369b837f422e05072740e0013')
+ version("1.33", sha256="0b18b3074094722fb1b2247c1a1c4eb96295fff369b837f422e05072740e0013")
- depends_on('autoconf', type='build')
- depends_on('gsl', type=('build', 'link'))
- depends_on('zlib', type=('build', 'link'))
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("gsl", type=("build", "link"))
+ depends_on("zlib", type=("build", "link"))
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/fastdb/package.py b/var/spack/repos/builtin/packages/fastdb/package.py
index b46c9e20ea..c0a82d073a 100644
--- a/var/spack/repos/builtin/packages/fastdb/package.py
+++ b/var/spack/repos/builtin/packages/fastdb/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class Fastdb(MakefilePackage):
"""Object-Relational Main-Memory Embedded Database system
- tightly integrated with C++ language."""
+ tightly integrated with C++ language."""
homepage = "https://sourceforge.net/projects/fastdb/"
- url = "https://sourceforge.net/projects/fastdb/files/fastdb/3.75/fastdb-3.75.tar.gz"
+ url = "https://sourceforge.net/projects/fastdb/files/fastdb/3.75/fastdb-3.75.tar.gz"
- version('3.75', sha256='eeafdb2ad01664c29e2d4053a305493bdedc8e91612ab25f1d36ad2f95b0dad6')
- version('3.74', sha256='4d0c9a165a1031860d4853d7084b8fe4627f0004861e6070927d3b6c594af889')
+ version("3.75", sha256="eeafdb2ad01664c29e2d4053a305493bdedc8e91612ab25f1d36ad2f95b0dad6")
+ version("3.74", sha256="4d0c9a165a1031860d4853d7084b8fe4627f0004861e6070927d3b6c594af889")
- patch('fastdb-fmax-fmin.patch')
+ patch("fastdb-fmax-fmin.patch")
def install(self, spec, prefix):
- make('PREFIX=%s' % prefix, 'install')
+ make("PREFIX=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/fastdfs/package.py b/var/spack/repos/builtin/packages/fastdfs/package.py
index b72e9570a2..784abd31f9 100644
--- a/var/spack/repos/builtin/packages/fastdfs/package.py
+++ b/var/spack/repos/builtin/packages/fastdfs/package.py
@@ -17,19 +17,19 @@ class Fastdfs(Package):
"""
homepage = "https://github.com/happyfish100/fastdfs"
- url = "https://github.com/happyfish100/fastdfs/archive/V6.05.tar.gz"
+ url = "https://github.com/happyfish100/fastdfs/archive/V6.05.tar.gz"
- version('6.05', sha256='00b736a1a7bd9cb5733aa51969efaa3b46df3764988c1edb43f06d72c4d575d9')
- version('6.04', sha256='76090f6bbd0add08b049ce17f30a7507a44ef0d883784cad774b380ba4906916')
- version('6.03', sha256='142be123eb389335b3b3793f0765494bdad3a632e4352af57861ed29098ec8d1')
- version('6.02', sha256='b1801f80da9ebce1d84e7e05356c4614190651cb6a5cb4f5662d9196fe243e21')
- version('6.01', sha256='b72f4ff6beb21a83af59aeba9f1904e727fa2c1e960e0a9c2b969138d2804148')
+ version("6.05", sha256="00b736a1a7bd9cb5733aa51969efaa3b46df3764988c1edb43f06d72c4d575d9")
+ version("6.04", sha256="76090f6bbd0add08b049ce17f30a7507a44ef0d883784cad774b380ba4906916")
+ version("6.03", sha256="142be123eb389335b3b3793f0765494bdad3a632e4352af57861ed29098ec8d1")
+ version("6.02", sha256="b1801f80da9ebce1d84e7e05356c4614190651cb6a5cb4f5662d9196fe243e21")
+ version("6.01", sha256="b72f4ff6beb21a83af59aeba9f1904e727fa2c1e960e0a9c2b969138d2804148")
- depends_on('perl', type='build')
- depends_on('libfastcommon', type='build')
+ depends_on("perl", type="build")
+ depends_on("libfastcommon", type="build")
def install(self, spec, prefix):
- sh = which('sh')
- sh('make.sh')
- sh('make.sh', 'install')
- install_tree('.', prefix)
+ sh = which("sh")
+ sh("make.sh")
+ sh("make.sh", "install")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/fastjar/package.py b/var/spack/repos/builtin/packages/fastjar/package.py
index 4de5b7d0ed..b32fe8d5f9 100644
--- a/var/spack/repos/builtin/packages/fastjar/package.py
+++ b/var/spack/repos/builtin/packages/fastjar/package.py
@@ -10,8 +10,8 @@ class Fastjar(AutotoolsPackage):
"""Fastjar is a version of Sun's 'jar' utility, written entirely in C."""
homepage = "https://savannah.nongnu.org/projects/fastjar/"
- url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-0.98.tar.gz"
+ url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-0.98.tar.gz"
- version('0.98', sha256='f156abc5de8658f22ee8f08d7a72c88f9409ebd8c7933e9466b0842afeb2f145')
+ version("0.98", sha256="f156abc5de8658f22ee8f08d7a72c88f9409ebd8c7933e9466b0842afeb2f145")
- depends_on('zlib')
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/fastjet/package.py b/var/spack/repos/builtin/packages/fastjet/package.py
index afcb6da4af..1315a7d4f5 100644
--- a/var/spack/repos/builtin/packages/fastjet/package.py
+++ b/var/spack/repos/builtin/packages/fastjet/package.py
@@ -17,53 +17,53 @@ class Fastjet(AutotoolsPackage):
# which causes spack to fail during fetching. Until this is fixed, use
# a mirror instead of the upstream url
# url = "http://fastjet.fr/repo/fastjet-3.4.0.tar.gz"
- url = "https://lcgpackages.web.cern.ch/tarFiles/sources/fastjet-3.3.4.tar.gz"
+ url = "https://lcgpackages.web.cern.ch/tarFiles/sources/fastjet-3.3.4.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan', 'vvolkl']
+ maintainers = ["drbenmorgan", "vvolkl"]
- version('3.3.4', sha256='432b51401e1335697c9248519ce3737809808fc1f6d1644bfae948716dddfc03')
- version('3.3.3', sha256='30b0a0282ce5aeac9e45862314f5966f0be941ce118a83ee4805d39b827d732b')
- version('3.3.2', sha256='3f59af13bfc54182c6bb0b0a6a8541b409c6fda5d105f17e03c4cce8db9963c2')
- version('3.3.1', sha256='76bfed9b87e5efdb93bcd0f7779e27427fbe38e05fe908c2a2e80a9ca0876c53')
- version('3.3.0', sha256='e9da5b9840cbbec6d05c9223f73c97af1d955c166826638e0255706a6b2da70f')
- version('3.2.2', sha256='3a70cb6ba64071db49a7eecad821679e1a0dadd84e8abca83e518802b3d876e5')
- version('3.2.1', sha256='c858b6c4f348c3676afa173251bb16d987674e64679a84306510e3963f858d5b')
- version('3.2.0', sha256='96a927f1a336ad93cff30f07e2dc137a4de8ff7d74d5cd43eb455f42cf5275e3')
- version('3.1.3', sha256='9809c2a0c89aec30890397d01eda56621e036589b66d7b3cd196cf087c65e40d')
- version('3.1.2', sha256='dcc834e53da821cbac459c00249d5d18aee6ac866f37551d6a0c60690d3c170b')
- version('3.1.1', sha256='38303789390726803bd3e7b3a245933273e86342d080b82754df44f5168634eb')
- version('3.1.0', sha256='f8dc701dfdb124f009b7614010b911e8cc552655c2a966a7f2608a6caa062263')
- version('3.0.6', sha256='9718f1d014afe4433bc0612a67a050d720c486fcfa7ad9c9b96bf087b0f3da0b')
- version('3.0.5', sha256='0781a5528a0374b3189190abc8e8a2bdfbeaab7ed64e8c74ec0389a86bbabff9')
- version('3.0.4', sha256='8161ea18087cea97de37bd9df2a49895ca1ef72732f5766af7c62738b21ed2c9')
- version('3.0.3', sha256='6a3e5869cf43b325c7222a925e195b2bd624db922958a926cb4211c00882a50d')
- version('3.0.2', sha256='6035a3295253bcd6dd68408985dbedc4a7c5aec13ed1dfa5fdb3cb9229dc6d31')
- version('3.0.1', sha256='4f17c235e73a6fcbc8ee39c15a00f166b701e732033e623625f55fe93220a4ed')
- version('3.0.0', sha256='f63252e3e9d27553c65642ff35d82913b804dfd569d2446c01166882dbf2577f')
- version('2.4.5', sha256='a175849393a3a251b8f92ea9f747b74236dfc83d2786ef5dd92b39c57316a727')
- version('2.4.4', sha256='4d97a8494e9aae7e5738e97d224f5aafb44ae8c5d5021f836d5c8c20fc5030fc')
- version('2.4.3', sha256='0560622140f9f2dfd9e316bfba6a7582c4aac68fbe06f333bd442363f54a3e40')
- version('2.4.2', sha256='504714b8d4895b41c6399347a873bbcf515037d9f5cf3cd5413c9d7aac67f16f')
- version('2.4.1', sha256='764de6c3b9ff3e6d1f48022eb0d536054e7321e73c9f71f7eb1e93f90b6e8ad0')
- version('2.4.0', sha256='96af9b21076be779e686c83a921d4598d93329eb69f9789fe619e27cbad6034a')
- version('2.3.4', sha256='8bd1d9c12866cc768974e9c05c95e00c2fec3c65854ee91b7fb11709db9c5c12')
- version('2.3.3', sha256='c7eadb8ddd956815f3387ed611faae746c05b69b7550de8ae802a00342b159b0')
- version('2.3.2', sha256='ba8b17fcc8edae16faa74608e8da53e87a8c574aa21a28c985ea0dfedcb95210')
- version('2.3.1', sha256='16c32b420e1aa7d0b6fecddd980ea0f2b7e3c2c66585e06f0eb3142677ab6ccf')
- version('2.3.0', sha256='e452fe4a9716627bcdb726cfb0917f46a7ac31f6006330a6ccc1abc43d9c2d53')
+ version("3.3.4", sha256="432b51401e1335697c9248519ce3737809808fc1f6d1644bfae948716dddfc03")
+ version("3.3.3", sha256="30b0a0282ce5aeac9e45862314f5966f0be941ce118a83ee4805d39b827d732b")
+ version("3.3.2", sha256="3f59af13bfc54182c6bb0b0a6a8541b409c6fda5d105f17e03c4cce8db9963c2")
+ version("3.3.1", sha256="76bfed9b87e5efdb93bcd0f7779e27427fbe38e05fe908c2a2e80a9ca0876c53")
+ version("3.3.0", sha256="e9da5b9840cbbec6d05c9223f73c97af1d955c166826638e0255706a6b2da70f")
+ version("3.2.2", sha256="3a70cb6ba64071db49a7eecad821679e1a0dadd84e8abca83e518802b3d876e5")
+ version("3.2.1", sha256="c858b6c4f348c3676afa173251bb16d987674e64679a84306510e3963f858d5b")
+ version("3.2.0", sha256="96a927f1a336ad93cff30f07e2dc137a4de8ff7d74d5cd43eb455f42cf5275e3")
+ version("3.1.3", sha256="9809c2a0c89aec30890397d01eda56621e036589b66d7b3cd196cf087c65e40d")
+ version("3.1.2", sha256="dcc834e53da821cbac459c00249d5d18aee6ac866f37551d6a0c60690d3c170b")
+ version("3.1.1", sha256="38303789390726803bd3e7b3a245933273e86342d080b82754df44f5168634eb")
+ version("3.1.0", sha256="f8dc701dfdb124f009b7614010b911e8cc552655c2a966a7f2608a6caa062263")
+ version("3.0.6", sha256="9718f1d014afe4433bc0612a67a050d720c486fcfa7ad9c9b96bf087b0f3da0b")
+ version("3.0.5", sha256="0781a5528a0374b3189190abc8e8a2bdfbeaab7ed64e8c74ec0389a86bbabff9")
+ version("3.0.4", sha256="8161ea18087cea97de37bd9df2a49895ca1ef72732f5766af7c62738b21ed2c9")
+ version("3.0.3", sha256="6a3e5869cf43b325c7222a925e195b2bd624db922958a926cb4211c00882a50d")
+ version("3.0.2", sha256="6035a3295253bcd6dd68408985dbedc4a7c5aec13ed1dfa5fdb3cb9229dc6d31")
+ version("3.0.1", sha256="4f17c235e73a6fcbc8ee39c15a00f166b701e732033e623625f55fe93220a4ed")
+ version("3.0.0", sha256="f63252e3e9d27553c65642ff35d82913b804dfd569d2446c01166882dbf2577f")
+ version("2.4.5", sha256="a175849393a3a251b8f92ea9f747b74236dfc83d2786ef5dd92b39c57316a727")
+ version("2.4.4", sha256="4d97a8494e9aae7e5738e97d224f5aafb44ae8c5d5021f836d5c8c20fc5030fc")
+ version("2.4.3", sha256="0560622140f9f2dfd9e316bfba6a7582c4aac68fbe06f333bd442363f54a3e40")
+ version("2.4.2", sha256="504714b8d4895b41c6399347a873bbcf515037d9f5cf3cd5413c9d7aac67f16f")
+ version("2.4.1", sha256="764de6c3b9ff3e6d1f48022eb0d536054e7321e73c9f71f7eb1e93f90b6e8ad0")
+ version("2.4.0", sha256="96af9b21076be779e686c83a921d4598d93329eb69f9789fe619e27cbad6034a")
+ version("2.3.4", sha256="8bd1d9c12866cc768974e9c05c95e00c2fec3c65854ee91b7fb11709db9c5c12")
+ version("2.3.3", sha256="c7eadb8ddd956815f3387ed611faae746c05b69b7550de8ae802a00342b159b0")
+ version("2.3.2", sha256="ba8b17fcc8edae16faa74608e8da53e87a8c574aa21a28c985ea0dfedcb95210")
+ version("2.3.1", sha256="16c32b420e1aa7d0b6fecddd980ea0f2b7e3c2c66585e06f0eb3142677ab6ccf")
+ version("2.3.0", sha256="e452fe4a9716627bcdb726cfb0917f46a7ac31f6006330a6ccc1abc43d9c2d53")
# older version use .tar instead of .tar.gz extension, to be added
- variant('shared', default=True, description='Builds a shared version of the library')
- variant('auto-ptr', default=False, description='Use auto_ptr')
- variant('atlas', default=False, description='Patch to make random generator thread_local')
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant("auto-ptr", default=False, description="Use auto_ptr")
+ variant("atlas", default=False, description="Patch to make random generator thread_local")
- patch('atlas.patch', when='+atlas', level=0)
+ patch("atlas.patch", when="+atlas", level=0)
def configure_args(self):
extra_args = ["--enable-allplugins"]
- extra_args += self.enable_or_disable('shared')
- extra_args += self.enable_or_disable('auto-ptr')
+ extra_args += self.enable_or_disable("shared")
+ extra_args += self.enable_or_disable("auto-ptr")
return extra_args
diff --git a/var/spack/repos/builtin/packages/fastjson/package.py b/var/spack/repos/builtin/packages/fastjson/package.py
index 53d402920e..b1c70fe077 100644
--- a/var/spack/repos/builtin/packages/fastjson/package.py
+++ b/var/spack/repos/builtin/packages/fastjson/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class Fastjson(MavenPackage):
"""Fastjson is a Java library that can be used to convert Java Objects
into their JSON representation. It can also be used to convert a JSON
- string to an equivalent Java object. """
+ string to an equivalent Java object."""
homepage = "https://github.com/alibaba/fastjson/wiki"
- url = "https://github.com/alibaba/fastjson/archive/1.2.68.tar.gz"
+ url = "https://github.com/alibaba/fastjson/archive/1.2.68.tar.gz"
- version('1.2.68', sha256='0b3f5308830e5e5abacf9dc8e4115c20153c1cdabec228c3eca48a48c9d5f4d7')
+ version("1.2.68", sha256="0b3f5308830e5e5abacf9dc8e4115c20153c1cdabec228c3eca48a48c9d5f4d7")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/fastmath/package.py b/var/spack/repos/builtin/packages/fastmath/package.py
index 6ef2605b93..f7b9a12479 100644
--- a/var/spack/repos/builtin/packages/fastmath/package.py
+++ b/var/spack/repos/builtin/packages/fastmath/package.py
@@ -15,19 +15,19 @@ class Fastmath(BundlePackage):
homepage = "https://fastmath-scidac.org/"
- version('latest')
+ version("latest")
- depends_on('amrex') # default is 3 dimensions
- depends_on('chombo@3.2')
- depends_on('hypre~internal-superlu')
+ depends_on("amrex") # default is 3 dimensions
+ depends_on("chombo@3.2")
+ depends_on("hypre~internal-superlu")
# depends_on('ml-trilinos') # hoping for stripped down install of just ml
# depends_on('nox-trilinos') # hoping for stripped down install of just nox
- depends_on('mpi')
- depends_on('arpack-ng')
- depends_on('petsc')
- depends_on('phasta')
- depends_on('pumi')
- depends_on('sundials')
- depends_on('superlu-dist')
- depends_on('trilinos')
- depends_on('zoltan')
+ depends_on("mpi")
+ depends_on("arpack-ng")
+ depends_on("petsc")
+ depends_on("phasta")
+ depends_on("pumi")
+ depends_on("sundials")
+ depends_on("superlu-dist")
+ depends_on("trilinos")
+ depends_on("zoltan")
diff --git a/var/spack/repos/builtin/packages/fastme/package.py b/var/spack/repos/builtin/packages/fastme/package.py
index 82ed9becb2..8c025691be 100644
--- a/var/spack/repos/builtin/packages/fastme/package.py
+++ b/var/spack/repos/builtin/packages/fastme/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Fastme(AutotoolsPackage):
"""FastME is a distance based phylogeny reconstruction program that
- works on distance matrices and, as of v2.0, sequence data. """
+ works on distance matrices and, as of v2.0, sequence data."""
homepage = "http://www.atgc-montpellier.fr/fastme/"
- url = "https://gite.lirmm.fr/atgc/FastME/repository/v2.1.5.1/archive.tar.gz"
+ url = "https://gite.lirmm.fr/atgc/FastME/repository/v2.1.5.1/archive.tar.gz"
- version('2.1.5.1', sha256='1059dcbd320bf4d6dd9328c582dd3d24283295026530fcfb26dbdbe068e3cd1d')
+ version("2.1.5.1", sha256="1059dcbd320bf4d6dd9328c582dd3d24283295026530fcfb26dbdbe068e3cd1d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
force_autoreconf = True
diff --git a/var/spack/repos/builtin/packages/fastp/package.py b/var/spack/repos/builtin/packages/fastp/package.py
index 50969ba97e..c8d4876fbd 100644
--- a/var/spack/repos/builtin/packages/fastp/package.py
+++ b/var/spack/repos/builtin/packages/fastp/package.py
@@ -11,10 +11,10 @@ class Fastp(MakefilePackage):
all-in-one preprocessing for FastQ files."""
homepage = "https://github.com/OpenGene/fastp"
- url = "https://github.com/OpenGene/fastp/archive/v0.20.0.tar.gz"
+ url = "https://github.com/OpenGene/fastp/archive/v0.20.0.tar.gz"
- version('0.20.0', sha256='8d751d2746db11ff233032fc49e3bcc8b53758dd4596fdcf4b4099a4d702ac22')
+ version("0.20.0", sha256="8d751d2746db11ff233032fc49e3bcc8b53758dd4596fdcf4b4099a4d702ac22")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/fastphase/package.py b/var/spack/repos/builtin/packages/fastphase/package.py
index 82e5ddc5a2..dd3fad57fc 100644
--- a/var/spack/repos/builtin/packages/fastphase/package.py
+++ b/var/spack/repos/builtin/packages/fastphase/package.py
@@ -8,13 +8,15 @@ from spack.package import *
class Fastphase(Package):
"""Software for haplotype reconstruction, and estimating missing genotypes
- from population data."""
+ from population data."""
homepage = "https://stephenslab.uchicago.edu/software.html"
- url = "http://scheet.org/code/Linuxfp.tar.gz"
+ url = "http://scheet.org/code/Linuxfp.tar.gz"
- version('2016-03-30', sha256='f0762eaae38b276bccb567d1519fa19bf35fd4078e57cbf13c7d7054150c4f36')
+ version(
+ "2016-03-30", sha256="f0762eaae38b276bccb567d1519fa19bf35fd4078e57cbf13c7d7054150c4f36"
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('fastPHASE', prefix.bin)
+ install("fastPHASE", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fastq-screen/package.py b/var/spack/repos/builtin/packages/fastq-screen/package.py
index 8f96caaaf4..d2696bdc80 100644
--- a/var/spack/repos/builtin/packages/fastq-screen/package.py
+++ b/var/spack/repos/builtin/packages/fastq-screen/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class FastqScreen(Package):
"""FastQ Screen allows you to screen a library of sequences in FastQ format
- against a set of sequence databases so you can see if the composition of
- the library matches with what you expect."""
+ against a set of sequence databases so you can see if the composition of
+ the library matches with what you expect."""
homepage = "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/"
- url = "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.11.2.tar.gz"
+ url = "https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/fastq_screen_v0.11.2.tar.gz"
- version('0.11.2', sha256='a179df1f5803b42bbbb2b50af05ea18ae6fefcbf7020ca2feeb0d3c598a65207')
+ version("0.11.2", sha256="a179df1f5803b42bbbb2b50af05ea18ae6fefcbf7020ca2feeb0d3c598a65207")
- depends_on('perl', type='run')
- depends_on('perl-gdgraph', type='run')
- depends_on('bowtie')
- depends_on('bowtie2')
- depends_on('bwa')
- depends_on('samtools')
+ depends_on("perl", type="run")
+ depends_on("perl-gdgraph", type="run")
+ depends_on("bowtie")
+ depends_on("bowtie2")
+ depends_on("bwa")
+ depends_on("samtools")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fastqc/package.py b/var/spack/repos/builtin/packages/fastqc/package.py
index a58aed19e1..83ff020e77 100644
--- a/var/spack/repos/builtin/packages/fastqc/package.py
+++ b/var/spack/repos/builtin/packages/fastqc/package.py
@@ -12,31 +12,31 @@ class Fastqc(Package):
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')
- version('0.11.5', sha256='dd7a5ad80ceed2588cf6d6ffe35e0f161c0d9977ed08355f5e4d9473282cbd66')
- version('0.11.4', sha256='adb233f9fae7b02fe99e716664502adfec1b9a3fbb84eed4497122d6d33d1fe7')
+ version("0.11.9", sha256="15510a176ef798e40325b717cac556509fb218268cfdb9a35ea6776498321369")
+ version("0.11.7", sha256="59cf50876bbe5f363442eb989e43ae3eaab8d932c49e8cff2c1a1898dd721112")
+ version("0.11.5", sha256="dd7a5ad80ceed2588cf6d6ffe35e0f161c0d9977ed08355f5e4d9473282cbd66")
+ version("0.11.4", sha256="adb233f9fae7b02fe99e716664502adfec1b9a3fbb84eed4497122d6d33d1fe7")
- depends_on('java', type='run')
- depends_on('perl') # for fastqc "script", any perl will do
+ depends_on("java", type="run")
+ depends_on("perl") # for fastqc "script", any perl will do
- patch('fastqc.patch', level=0)
+ patch("fastqc.patch", level=0)
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.lib)
- install('fastqc', prefix.bin)
- for j in ['cisd-jhdf5.jar', 'jbzip2-0.9.jar', 'sam-1.103.jar']:
+ install("fastqc", prefix.bin)
+ for j in ["cisd-jhdf5.jar", "jbzip2-0.9.jar", "sam-1.103.jar"]:
install(j, prefix.lib)
- for d in ['Configuration', 'net', 'org', 'Templates', 'uk']:
+ for d in ["Configuration", "net", "org", "Templates", "uk"]:
install_tree(d, join_path(prefix.lib, d))
- chmod = which('chmod')
- chmod('+x', prefix.bin.fastqc)
+ chmod = which("chmod")
+ chmod("+x", prefix.bin.fastqc)
# In theory the 'run' dependency on 'jdk' above should take
# care of this for me. In practice, it does not.
def setup_run_environment(self, env):
"""Add <prefix> to the path; the package has a script at the
- top level.
+ top level.
"""
- env.prepend_path('PATH', self.spec['java'].prefix.bin)
+ env.prepend_path("PATH", self.spec["java"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fastqvalidator/package.py b/var/spack/repos/builtin/packages/fastqvalidator/package.py
index 424c3314dc..0886f049b1 100644
--- a/var/spack/repos/builtin/packages/fastqvalidator/package.py
+++ b/var/spack/repos/builtin/packages/fastqvalidator/package.py
@@ -10,29 +10,27 @@ class Fastqvalidator(MakefilePackage):
"""The fastQValidator validates the format of fastq files."""
homepage = "https://genome.sph.umich.edu/wiki/FastQValidator"
- git = "https://github.com/statgen/fastQValidator.git"
+ git = "https://github.com/statgen/fastQValidator.git"
- version('2017-01-10', commit='6d619a34749e9d33c34ef0d3e0e87324ca77f320')
+ version("2017-01-10", commit="6d619a34749e9d33c34ef0d3e0e87324ca77f320")
resource(
- name='libStatGen',
- git='https://github.com/statgen/libStatGen.git',
- commit='9db9c23e176a6ce6f421a3c21ccadedca892ac0c'
+ name="libStatGen",
+ git="https://github.com/statgen/libStatGen.git",
+ commit="9db9c23e176a6ce6f421a3c21ccadedca892ac0c",
)
- depends_on('zlib', type='link')
- patch('chromosome.patch', when='@2017-01-10', working_dir='libStatGen')
+ depends_on("zlib", type="link")
+ patch("chromosome.patch", when="@2017-01-10", working_dir="libStatGen")
@property
def build_targets(self):
- return ['LIB_PATH_GENERAL={0}'.format(
- join_path(self.stage.source_path, 'libStatGen'))]
+ return ["LIB_PATH_GENERAL={0}".format(join_path(self.stage.source_path, "libStatGen"))]
@property
def install_targets(self):
return [
- 'INSTALLDIR={0}'.format(self.prefix.bin),
- 'LIB_PATH_GENERAL={0}'.format(
- join_path(self.stage.source_path, 'libStatGen')),
- 'install'
+ "INSTALLDIR={0}".format(self.prefix.bin),
+ "LIB_PATH_GENERAL={0}".format(join_path(self.stage.source_path, "libStatGen")),
+ "install",
]
diff --git a/var/spack/repos/builtin/packages/fasttext/package.py b/var/spack/repos/builtin/packages/fasttext/package.py
index 30b03c2977..8655c5fd07 100644
--- a/var/spack/repos/builtin/packages/fasttext/package.py
+++ b/var/spack/repos/builtin/packages/fasttext/package.py
@@ -11,9 +11,9 @@ class Fasttext(CMakePackage):
and sentence classification"""
homepage = "https://github.com/facebookresearch/fastText"
- url = "https://github.com/facebookresearch/fastText/archive/v0.9.2.tar.gz"
+ url = "https://github.com/facebookresearch/fastText/archive/v0.9.2.tar.gz"
- version('0.9.2', sha256='7ea4edcdb64bfc6faaaec193ef181bdc108ee62bb6a04e48b2e80b639a99e27e')
- version('0.9.1', sha256='254ace2fc8dc3bea0fc6ad4897a221eb85c1e9adfa61d130b43398193ca1f061')
- version('0.2.0', sha256='71d24ffec9fcc4364554ecac2b3308d834178c903d16d090aa6be9ea6b8e480c')
- version('0.1.0', sha256='d6b4932b18d2c8b3d50905028671aadcd212b7aa31cbc6dd6cac66db2eff1397')
+ version("0.9.2", sha256="7ea4edcdb64bfc6faaaec193ef181bdc108ee62bb6a04e48b2e80b639a99e27e")
+ version("0.9.1", sha256="254ace2fc8dc3bea0fc6ad4897a221eb85c1e9adfa61d130b43398193ca1f061")
+ version("0.2.0", sha256="71d24ffec9fcc4364554ecac2b3308d834178c903d16d090aa6be9ea6b8e480c")
+ version("0.1.0", sha256="d6b4932b18d2c8b3d50905028671aadcd212b7aa31cbc6dd6cac66db2eff1397")
diff --git a/var/spack/repos/builtin/packages/fasttransforms/package.py b/var/spack/repos/builtin/packages/fasttransforms/package.py
index 8258684bf6..d5aa8c7196 100644
--- a/var/spack/repos/builtin/packages/fasttransforms/package.py
+++ b/var/spack/repos/builtin/packages/fasttransforms/package.py
@@ -14,28 +14,28 @@ class Fasttransforms(MakefilePackage):
polynomial degree and d is the spatial dimension of the problem."""
homepage = "https://github.com/MikaelSlevinsky/FastTransforms"
- url = "https://github.com/MikaelSlevinsky/FastTransforms/archive/v0.3.4.tar.gz"
+ url = "https://github.com/MikaelSlevinsky/FastTransforms/archive/v0.3.4.tar.gz"
- version('0.5.0', sha256='9556d0037bd5348a33f15ad6100e32053b6e22cab16a97c504f30d6c52fd0efd')
- version('0.3.4', sha256='a5c8b5aedbdb40218521d061a7df65ef32ce153d4e19d232957db7e3e63c7e9b')
+ version("0.5.0", sha256="9556d0037bd5348a33f15ad6100e32053b6e22cab16a97c504f30d6c52fd0efd")
+ version("0.3.4", sha256="a5c8b5aedbdb40218521d061a7df65ef32ce153d4e19d232957db7e3e63c7e9b")
- variant('quadmath', default=False, description="Support 128-bit floats")
+ variant("quadmath", default=False, description="Support 128-bit floats")
- depends_on('blas')
- depends_on('fftw')
- depends_on('mpfr')
+ depends_on("blas")
+ depends_on("fftw")
+ depends_on("mpfr")
def build(self, spec, prefix):
makeargs = ["CC=cc"]
- if 'openblas' in spec:
+ if "openblas" in spec:
makeargs += ["FT_BLAS=openblas"]
- if 'quadmath' in spec:
+ if "quadmath" in spec:
makeargs += ["FT_QUADMATH=1"]
- make('assembly', *makeargs)
- make('lib', *makeargs)
+ make("assembly", *makeargs)
+ make("lib", *makeargs)
def install(self, spec, prefix):
mkdirp(prefix.include)
- install(join_path('src', '*.h'), prefix.include)
+ install(join_path("src", "*.h"), prefix.include)
mkdirp(prefix.lib)
- install('libfasttransforms.' + dso_suffix, prefix.lib)
+ install("libfasttransforms." + dso_suffix, prefix.lib)
diff --git a/var/spack/repos/builtin/packages/fasttree/package.py b/var/spack/repos/builtin/packages/fasttree/package.py
index 69b5d4eba3..17fae039ab 100644
--- a/var/spack/repos/builtin/packages/fasttree/package.py
+++ b/var/spack/repos/builtin/packages/fasttree/package.py
@@ -14,13 +14,25 @@ class Fasttree(Package):
homepage = "http://www.microbesonline.org/fasttree"
url = "http://www.microbesonline.org/fasttree/FastTree-2.1.10.c"
- version('2.1.10', sha256='54cb89fc1728a974a59eae7a7ee6309cdd3cddda9a4c55b700a71219fc6e926d', expand=False, url='http://www.microbesonline.org/fasttree/FastTree-2.1.10.c')
+ version(
+ "2.1.10",
+ sha256="54cb89fc1728a974a59eae7a7ee6309cdd3cddda9a4c55b700a71219fc6e926d",
+ expand=False,
+ url="http://www.microbesonline.org/fasttree/FastTree-2.1.10.c",
+ )
def install(self, spec, prefix):
cc = Executable(spack_cc)
- cc('-O3', self.compiler.openmp_flag,
- '-DOPENMP', '-finline-functions', '-funroll-loops', '-Wall',
- '-oFastTreeMP', 'FastTree-' + format(spec.version.dotted) + '.c',
- '-lm')
+ cc(
+ "-O3",
+ self.compiler.openmp_flag,
+ "-DOPENMP",
+ "-finline-functions",
+ "-funroll-loops",
+ "-Wall",
+ "-oFastTreeMP",
+ "FastTree-" + format(spec.version.dotted) + ".c",
+ "-lm",
+ )
mkdir(prefix.bin)
- install('FastTreeMP', prefix.bin)
+ install("FastTreeMP", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fastx-toolkit/package.py b/var/spack/repos/builtin/packages/fastx-toolkit/package.py
index 918d0fe33f..a295377cc7 100644
--- a/var/spack/repos/builtin/packages/fastx-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/fastx-toolkit/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class FastxToolkit(AutotoolsPackage):
"""The FASTX-Toolkit is a collection of command line tools for
- Short-Reads FASTA/FASTQ files preprocessing."""
+ Short-Reads FASTA/FASTQ files preprocessing."""
homepage = "http://hannonlab.cshl.edu/fastx_toolkit/"
- url = "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
+ url = "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
- version('0.0.14', sha256='9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806')
+ version("0.0.14", sha256="9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806")
- depends_on('libgtextutils')
+ depends_on("libgtextutils")
# patch implicit fallthrough
patch("pr-22.patch")
# fix error [-Werror,-Wpragma-pack]
- patch('fix_pragma_pack.patch', when='%fj')
+ patch("fix_pragma_pack.patch", when="%fj")
diff --git a/var/spack/repos/builtin/packages/faust/package.py b/var/spack/repos/builtin/packages/faust/package.py
index 8e23ce7da0..5441abc89d 100644
--- a/var/spack/repos/builtin/packages/faust/package.py
+++ b/var/spack/repos/builtin/packages/faust/package.py
@@ -12,12 +12,12 @@ class Faust(MakefilePackage):
A distinctive characteristic of Faust is to be fully compiled."""
homepage = "https://faust.grame.fr/"
- url = "https://github.com/grame-cncm/faust/archive/2.27.2.tar.gz"
+ url = "https://github.com/grame-cncm/faust/archive/2.27.2.tar.gz"
- version('2.27.2', sha256='3367a868a93b63582bae29ab8783f1df7a10f4084a2bc1d2258ebf3d6a8c31d7')
- version('2.27.1', sha256='b3e93ca573025b231931e5eb92efc1a1e7f7720902aa3b285061519600a8c417')
+ version("2.27.2", sha256="3367a868a93b63582bae29ab8783f1df7a10f4084a2bc1d2258ebf3d6a8c31d7")
+ version("2.27.1", sha256="b3e93ca573025b231931e5eb92efc1a1e7f7720902aa3b285061519600a8c417")
- depends_on('cmake', type='build')
+ depends_on("cmake", type="build")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/fbgemm/package.py b/var/spack/repos/builtin/packages/fbgemm/package.py
index 928cccb45a..b2c4f91a1a 100644
--- a/var/spack/repos/builtin/packages/fbgemm/package.py
+++ b/var/spack/repos/builtin/packages/fbgemm/package.py
@@ -12,35 +12,60 @@ class Fbgemm(CMakePackage):
for server-side inference."""
homepage = "https://github.com/pytorch/FBGEMM"
- git = "https://github.com/pytorch/FBGEMM.git"
-
- maintainers = ['dskhudia']
-
- version('master', branch='master', submodules=True)
- version('2021-05-10', commit='7794b2950b35ddfa7426091e7fb2f991b1407557', submodules=True) # py-torch@1.9
- version('2020-11-13', commit='9b0131179f293a645bfd3409cd66fa5eecc393b0', submodules=True) # py-torch@1.8
- version('2020-09-14', commit='1d710393d5b7588f5de3b83f51c22bbddf095229', submodules=True) # py-torch@1.7
- version('2020-05-31', commit='7d673046a6a3ad1fa0d15dfb189cd06ffa217041', submodules=True) # py-torch@1.6
- version('2020-05-21', commit='e526aadd058f2a0b8ce738be022e0e4ab4233a2d', submodules=True) # py-torch@1.5.1
- version('2020-03-22', commit='58c002d1593f32aa420ab56b5c344e60d3fb6d05', submodules=True) # py-torch@1.5.0
- version('2019-11-20', commit='399ea148f1403c100e6d601ec3587a621de96a84', submodules=True) # py-torch@1.4
- version('2019-09-26', commit='7dfeddb5ba976f47471275b2468909dfd9b577e1', submodules=True) # py-torch@1.3
- version('2019-07-22', commit='f712cb2328a2b29424bdaeecb9c0731da2cd997b', submodules=True) # py-torch@1.2
- version('2019-04-18', commit='6ec218e6ed5dcb9b5397a608a3b5b8027b236819', submodules=True) # py-torch@1.1
- version('2019-01-23', commit='79333308f5e2fc242727879dcd3de3536b6ffc39', submodules=True) # py-torch@1.0.1
- version('2018-12-04', commit='0d5a159b944252e70a677236b570f291943e0543', submodules=True) # py-torch@1.0.0
-
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
- depends_on('llvm-openmp', when='%apple-clang')
-
- conflicts('%gcc@:4', msg='FBGEMM requires GCC 5+')
-
- generator = 'Ninja'
-
- @run_before('cmake')
+ git = "https://github.com/pytorch/FBGEMM.git"
+
+ maintainers = ["dskhudia"]
+
+ version("master", branch="master", submodules=True)
+ version(
+ "2021-05-10", commit="7794b2950b35ddfa7426091e7fb2f991b1407557", submodules=True
+ ) # py-torch@1.9
+ version(
+ "2020-11-13", commit="9b0131179f293a645bfd3409cd66fa5eecc393b0", submodules=True
+ ) # py-torch@1.8
+ version(
+ "2020-09-14", commit="1d710393d5b7588f5de3b83f51c22bbddf095229", submodules=True
+ ) # py-torch@1.7
+ version(
+ "2020-05-31", commit="7d673046a6a3ad1fa0d15dfb189cd06ffa217041", submodules=True
+ ) # py-torch@1.6
+ version(
+ "2020-05-21", commit="e526aadd058f2a0b8ce738be022e0e4ab4233a2d", submodules=True
+ ) # py-torch@1.5.1
+ version(
+ "2020-03-22", commit="58c002d1593f32aa420ab56b5c344e60d3fb6d05", submodules=True
+ ) # py-torch@1.5.0
+ version(
+ "2019-11-20", commit="399ea148f1403c100e6d601ec3587a621de96a84", submodules=True
+ ) # py-torch@1.4
+ version(
+ "2019-09-26", commit="7dfeddb5ba976f47471275b2468909dfd9b577e1", submodules=True
+ ) # py-torch@1.3
+ version(
+ "2019-07-22", commit="f712cb2328a2b29424bdaeecb9c0731da2cd997b", submodules=True
+ ) # py-torch@1.2
+ version(
+ "2019-04-18", commit="6ec218e6ed5dcb9b5397a608a3b5b8027b236819", submodules=True
+ ) # py-torch@1.1
+ version(
+ "2019-01-23", commit="79333308f5e2fc242727879dcd3de3536b6ffc39", submodules=True
+ ) # py-torch@1.0.1
+ version(
+ "2018-12-04", commit="0d5a159b944252e70a677236b570f291943e0543", submodules=True
+ ) # py-torch@1.0.0
+
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
+ depends_on("llvm-openmp", when="%apple-clang")
+
+ conflicts("%gcc@:4", msg="FBGEMM requires GCC 5+")
+
+ generator = "Ninja"
+
+ @run_before("cmake")
def check_requirements(self):
- if 'avx2' not in self.spec.target:
+ if "avx2" not in self.spec.target:
raise RuntimeError(
- 'FBGEMM requires a CPU with support for AVX2 instruction set or higher')
+ "FBGEMM requires a CPU with support for AVX2 instruction set or higher"
+ )
diff --git a/var/spack/repos/builtin/packages/fca/package.py b/var/spack/repos/builtin/packages/fca/package.py
index 620ae2d749..c10483255f 100644
--- a/var/spack/repos/builtin/packages/fca/package.py
+++ b/var/spack/repos/builtin/packages/fca/package.py
@@ -11,10 +11,10 @@ class Fca(Package):
is a MPI-integrated software package that utilizes CORE-Direct technology
for implementing the MPI collective communications."""
- homepage = 'https://www.mellanox.com/products/fca'
+ homepage = "https://www.mellanox.com/products/fca"
has_code = False
- version('2.5.2431')
+ version("2.5.2431")
# FCA needs to be added as an external package to SPACK. For this, the
# config file packages.yaml needs to be adjusted:
@@ -28,5 +28,8 @@ class Fca(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/fcgi/package.py b/var/spack/repos/builtin/packages/fcgi/package.py
index 1e42130bf6..8e8f288602 100644
--- a/var/spack/repos/builtin/packages/fcgi/package.py
+++ b/var/spack/repos/builtin/packages/fcgi/package.py
@@ -13,15 +13,17 @@ class Fcgi(AutotoolsPackage):
applications that have been written for the Web."""
homepage = "https://fastcgi-archives.github.io/"
- url = "https://github.com/FastCGI-Archives/fcgi2/archive/refs/tags/2.4.2.tar.gz"
+ url = "https://github.com/FastCGI-Archives/fcgi2/archive/refs/tags/2.4.2.tar.gz"
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
- version('2.4.2', sha256='1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc')
- version('2.4.1-SNAP-0910052249',
- sha256='829dc89a0a372c7b0b172303ec9b42e9d20615d6d0e9fc81570fdac6c41a0f30',
- url='https://github.com/FastCGI-Archives/FastCGI.com/raw/master/original_snapshot/fcgi-2.4.1-SNAP-0910052249.tar.gz')
+ version("2.4.2", sha256="1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc")
+ version(
+ "2.4.1-SNAP-0910052249",
+ sha256="829dc89a0a372c7b0b172303ec9b42e9d20615d6d0e9fc81570fdac6c41a0f30",
+ url="https://github.com/FastCGI-Archives/FastCGI.com/raw/master/original_snapshot/fcgi-2.4.1-SNAP-0910052249.tar.gz",
+ )
parallel = False
diff --git a/var/spack/repos/builtin/packages/fd-find/package.py b/var/spack/repos/builtin/packages/fd-find/package.py
index 8e35a51b8f..8385ed81a5 100644
--- a/var/spack/repos/builtin/packages/fd-find/package.py
+++ b/var/spack/repos/builtin/packages/fd-find/package.py
@@ -10,12 +10,12 @@ class FdFind(Package):
"""A simple, fast and user-friendly alternative to 'find'."""
homepage = "https://github.com/sharkdp/fd"
- url = "https://github.com/sharkdp/fd/archive/v7.3.0.tar.gz"
+ url = "https://github.com/sharkdp/fd/archive/v7.3.0.tar.gz"
- version('7.4.0', sha256='33570ba65e7f8b438746cb92bb9bc4a6030b482a0d50db37c830c4e315877537')
+ version("7.4.0", sha256="33570ba65e7f8b438746cb92bb9bc4a6030b482a0d50db37c830c4e315877537")
- depends_on('rust')
+ depends_on("rust")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/fd/package.py b/var/spack/repos/builtin/packages/fd/package.py
index badaedbad2..dc3cb0cd3c 100644
--- a/var/spack/repos/builtin/packages/fd/package.py
+++ b/var/spack/repos/builtin/packages/fd/package.py
@@ -10,14 +10,14 @@ class Fd(Package):
"""A simple, fast and user-friendly alternative to 'find'"""
homepage = "https://github.com/sharkdp/fd"
- url = "https://github.com/sharkdp/fd/archive/refs/tags/v8.4.0.tar.gz"
+ url = "https://github.com/sharkdp/fd/archive/refs/tags/v8.4.0.tar.gz"
- version('8.4.0', sha256='d0c2fc7ddbe74e3fd88bf5bb02e0f69078ee6d2aeea3d8df42f508543c9db05d')
+ version("8.4.0", sha256="d0c2fc7ddbe74e3fd88bf5bb02e0f69078ee6d2aeea3d8df42f508543c9db05d")
- maintainers = ['ashermancinelli']
+ maintainers = ["ashermancinelli"]
- depends_on('rust')
+ depends_on("rust")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/fdb/package.py b/var/spack/repos/builtin/packages/fdb/package.py
index a949cdb941..0bf487d460 100644
--- a/var/spack/repos/builtin/packages/fdb/package.py
+++ b/var/spack/repos/builtin/packages/fdb/package.py
@@ -10,64 +10,68 @@ class Fdb(CMakePackage):
"""FDB (Fields DataBase) is a domain-specific object store developed at
ECMWF for storing, indexing and retrieving GRIB data."""
- homepage = 'https://github.com/ecmwf/fdb'
- url = 'https://github.com/ecmwf/fdb/archive/refs/tags/5.7.8.tar.gz'
+ homepage = "https://github.com/ecmwf/fdb"
+ url = "https://github.com/ecmwf/fdb/archive/refs/tags/5.7.8.tar.gz"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('5.7.8', sha256='6adac23c0d1de54aafb3c663d077b85d0f804724596623b381ff15ea4a835f60')
+ version("5.7.8", sha256="6adac23c0d1de54aafb3c663d077b85d0f804724596623b381ff15ea4a835f60")
- variant('tools', default=True, description='Build the command line tools')
+ variant("tools", default=True, description="Build the command line tools")
variant(
- 'backends',
+ "backends",
values=any_combination_of(
# FDB backend in indexed filesystem with table-of-contents with
# additional support for Lustre filesystem stripping control:
- 'lustre',
+ "lustre",
# Backends that will be added later:
# FDB backend in persistent memory (NVRAM):
# 'pmem', # (requires https://github.com/ecmwf/pmem)
# FDB backend in CEPH object store (using Rados):
# 'rados' # (requires eckit with RADOS support)
- ), description='List of supported backends')
+ ),
+ description="List of supported backends",
+ )
- depends_on('cmake@3.12:', type='build')
- depends_on('ecbuild@3.4:', type='build')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("ecbuild@3.4:", type="build")
- depends_on('eckit@1.16:')
- depends_on('eckit+admin', when='+tools')
+ depends_on("eckit@1.16:")
+ depends_on("eckit+admin", when="+tools")
- depends_on('eccodes@2.10:')
- depends_on('metkit@1.5:+grib')
+ depends_on("eccodes@2.10:")
+ depends_on("metkit@1.5:+grib")
- depends_on('lustre', when='backends=lustre')
+ depends_on("lustre", when="backends=lustre")
# Starting version 1.7.0, metkit installs GribHandle.h to another directory.
# That is accounted for only starting version 5.8.0:
- patch('metkit_1.7.0.patch', when='@:5.7.10+tools^metkit@1.7.0:')
+ patch("metkit_1.7.0.patch", when="@:5.7.10+tools^metkit@1.7.0:")
# Download test data before running a test:
- patch('https://github.com/ecmwf/fdb/commit/86e06b60f9a2d76a389a5f49bedd566d4c2ad2b2.patch?full_index=1',
- sha256='8b4bf3a473ec86fd4d7672faa7d74292dde443719299f2ba59a2c8501d6f0906',
- when='@5.7.1:5.7.10+tools')
+ patch(
+ "https://github.com/ecmwf/fdb/commit/86e06b60f9a2d76a389a5f49bedd566d4c2ad2b2.patch?full_index=1",
+ sha256="8b4bf3a473ec86fd4d7672faa7d74292dde443719299f2ba59a2c8501d6f0906",
+ when="@5.7.1:5.7.10+tools",
+ )
def cmake_args(self):
- enable_build_tools = '+tools' in self.spec
+ enable_build_tools = "+tools" in self.spec
args = [
- self.define('ENABLE_FDB_BUILD_TOOLS', enable_build_tools),
- self.define('ENABLE_BUILD_TOOLS', enable_build_tools),
+ self.define("ENABLE_FDB_BUILD_TOOLS", enable_build_tools),
+ self.define("ENABLE_BUILD_TOOLS", enable_build_tools),
# We cannot disable the FDB backend in indexed filesystem with
# table-of-contents because some default test programs and tools
# cannot be built without it:
- self.define('ENABLE_TOCFDB', True),
- self.define('ENABLE_LUSTRE', 'backends=lustre' in self.spec),
- self.define('ENABLE_PMEMFDB', False),
- self.define('ENABLE_RADOSFDB', False),
+ self.define("ENABLE_TOCFDB", True),
+ self.define("ENABLE_LUSTRE", "backends=lustre" in self.spec),
+ self.define("ENABLE_PMEMFDB", False),
+ self.define("ENABLE_RADOSFDB", False),
# The tests download additional data (~10MB):
- self.define('ENABLE_TESTS', self.run_tests),
+ self.define("ENABLE_TESTS", self.run_tests),
# We do not need any experimental features:
- self.define('ENABLE_EXPERIMENTAL', False),
- self.define('ENABLE_SANDBOX', False)
+ self.define("ENABLE_EXPERIMENTAL", False),
+ self.define("ENABLE_SANDBOX", False),
]
return args
diff --git a/var/spack/repos/builtin/packages/fdupes/package.py b/var/spack/repos/builtin/packages/fdupes/package.py
index 3e0648f1ad..0e3bf92219 100644
--- a/var/spack/repos/builtin/packages/fdupes/package.py
+++ b/var/spack/repos/builtin/packages/fdupes/package.py
@@ -11,16 +11,16 @@ class Fdupes(AutotoolsPackage):
residing within specified directories."""
homepage = "https://github.com/adrianlopezroche/fdupes"
- url = "https://github.com/adrianlopezroche/fdupes/releases/download/v2.1.2/fdupes-2.1.2.tar.gz"
+ url = "https://github.com/adrianlopezroche/fdupes/releases/download/v2.1.2/fdupes-2.1.2.tar.gz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('2.1.2', sha256='cd5cb53b6d898cf20f19b57b81114a5b263cc1149cd0da3104578b083b2837bd')
+ version("2.1.2", sha256="cd5cb53b6d898cf20f19b57b81114a5b263cc1149cd0da3104578b083b2837bd")
- variant('ncurses', default=True, description='ncurses support')
+ variant("ncurses", default=True, description="ncurses support")
- depends_on('ncurses', when='+ncurses')
- depends_on('pcre2', when='+ncurses')
+ depends_on("ncurses", when="+ncurses")
+ depends_on("pcre2", when="+ncurses")
def configure_args(self):
- return self.with_or_without('ncurses')
+ return self.with_or_without("ncurses")
diff --git a/var/spack/repos/builtin/packages/feh/package.py b/var/spack/repos/builtin/packages/feh/package.py
index 1723f82a6a..c8f7ab38dc 100644
--- a/var/spack/repos/builtin/packages/feh/package.py
+++ b/var/spack/repos/builtin/packages/feh/package.py
@@ -14,21 +14,21 @@ class Feh(MakefilePackage):
"""
homepage = "https://feh.finalrewind.org/"
- url = "https://feh.finalrewind.org/feh-3.3.tar.bz2"
+ url = "https://feh.finalrewind.org/feh-3.3.tar.bz2"
- maintainers = ['TheQueasle']
+ maintainers = ["TheQueasle"]
- version('3.3', sha256='f3959958258111d5f7c9fbe2e165c52b9d5987f07fd1f37540a4abf9f9638811')
- version('3.1.1', sha256='61d0242e3644cf7c5db74e644f0e8a8d9be49b7bd01034265cc1ebb2b3f9c8eb')
+ version("3.3", sha256="f3959958258111d5f7c9fbe2e165c52b9d5987f07fd1f37540a4abf9f9638811")
+ version("3.1.1", sha256="61d0242e3644cf7c5db74e644f0e8a8d9be49b7bd01034265cc1ebb2b3f9c8eb")
- depends_on('imlib2')
- depends_on('curl')
- depends_on('libxinerama')
- depends_on('libexif')
- depends_on('libxt')
+ depends_on("imlib2")
+ depends_on("curl")
+ depends_on("libxinerama")
+ depends_on("libexif")
+ depends_on("libxt")
def build(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'exif=1', 'help=1')
+ make("PREFIX={0}".format(prefix), "exif=1", "help=1")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
index 3e1ab12a87..51a95d9947 100644
--- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
+++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
@@ -21,26 +21,27 @@ class FenicsDolfinx(CMakePackage):
version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33")
# Graph partitioner variants
- variant('partitioners',
- description='Graph partioning',
- default=('parmetis',),
- values=('kahip', 'parmetis', 'scotch'),
- multi=True,
- when='@0.4.0:')
+ variant(
+ "partitioners",
+ description="Graph partioning",
+ default=("parmetis",),
+ values=("kahip", "parmetis", "scotch"),
+ multi=True,
+ when="@0.4.0:",
+ )
variant("kahip", default=False, when="@0.1.0:0.3.0", description="kahip support")
- variant("parmetis", default=False, when="@0.1.0:0.3.0",
- description="parmetis support")
+ variant("parmetis", default=False, when="@0.1.0:0.3.0", description="parmetis support")
# Graph partitioner dependencies for @0.4.0:
- depends_on('kahip@3.12:', when="partitioners=kahip @main")
- depends_on('kahip@3.11', when="partitioners=kahip @:0.4.1")
- depends_on('parmetis', when="partitioners=parmetis")
- depends_on('scotch+mpi', when="partitioners=scotch")
+ depends_on("kahip@3.12:", when="partitioners=kahip @main")
+ depends_on("kahip@3.11", when="partitioners=kahip @:0.4.1")
+ depends_on("parmetis", when="partitioners=parmetis")
+ depends_on("scotch+mpi", when="partitioners=scotch")
# Graph partitioner dependencies for "@0.1.0:0.3.0"
- depends_on('kahip', when="+kahip")
- depends_on('parmetis', when="+parmetis")
- depends_on('scotch+mpi', when="@0.1.0:0.3.0")
+ depends_on("kahip", when="+kahip")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("scotch+mpi", when="@0.1.0:0.3.0")
variant("slepc", default=True, description="slepc support")
variant("adios2", default=False, description="adios2 support")
@@ -74,30 +75,29 @@ class FenicsDolfinx(CMakePackage):
depends_on("fenics-basix@0.2.0", when="@0.2.0")
depends_on("fenics-basix@0.1.0", when="@0.1.0")
- conflicts('%gcc@:8', msg='Improved C++17 support required')
+ conflicts("%gcc@:8", msg="Improved C++17 support required")
root_cmakelists_dir = "cpp"
def cmake_args(self):
args = [
- self.define('DOLFINX_SKIP_BUILD_TESTS', True),
- self.define_from_variant('DOLFINX_ENABLE_SLEPC', 'slepc'),
- self.define_from_variant('DOLFINX_ENABLE_ADIOS2', 'adios2'),
+ self.define("DOLFINX_SKIP_BUILD_TESTS", True),
+ self.define_from_variant("DOLFINX_ENABLE_SLEPC", "slepc"),
+ self.define_from_variant("DOLFINX_ENABLE_ADIOS2", "adios2"),
]
- if self.spec.satisfies('@0.4.0:'):
+ if self.spec.satisfies("@0.4.0:"):
args += [
- self.define('DOLFINX_UFCX_PYTHON', False),
- self.define('DOLFINX_ENABLE_KAHIP', 'partitioners=kahip' in self.spec),
- self.define('DOLFINX_ENABLE_PARMETIS',
- 'partitioners=parmetis' in self.spec),
- self.define('DOLFINX_ENABLE_SCOTCH', 'partitioners=scotch' in self.spec)
+ self.define("DOLFINX_UFCX_PYTHON", False),
+ self.define("DOLFINX_ENABLE_KAHIP", "partitioners=kahip" in self.spec),
+ self.define("DOLFINX_ENABLE_PARMETIS", "partitioners=parmetis" in self.spec),
+ self.define("DOLFINX_ENABLE_SCOTCH", "partitioners=scotch" in self.spec),
]
- if self.spec.satisfies('@:0.3.0'):
- args.append(self.define_from_variant('DOLFINX_ENABLE_KAHIP', 'kahip'))
- args.append(self.define_from_variant('DOLFINX_ENABLE_PARMETIS', 'parmetis'))
- args.append(self.define('Python3_ROOT_DIR', self.spec['python'].home))
- args.append(self.define('Python3_FIND_STRATEGY', 'LOCATION'))
+ if self.spec.satisfies("@:0.3.0"):
+ args.append(self.define_from_variant("DOLFINX_ENABLE_KAHIP", "kahip"))
+ args.append(self.define_from_variant("DOLFINX_ENABLE_PARMETIS", "parmetis"))
+ args.append(self.define("Python3_ROOT_DIR", self.spec["python"].home))
+ args.append(self.define("Python3_FIND_STRATEGY", "LOCATION"))
return args
diff --git a/var/spack/repos/builtin/packages/fenics-ufcx/package.py b/var/spack/repos/builtin/packages/fenics-ufcx/package.py
index 24f0685a35..405cb5f62c 100644
--- a/var/spack/repos/builtin/packages/fenics-ufcx/package.py
+++ b/var/spack/repos/builtin/packages/fenics-ufcx/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class FenicsUfcx(CMakePackage):
"""FFCx provides the ufcx.h interface header for finite element kernels,
- used by DOLFINx. ufcx.h can be installed from the FFCx repo without
- making it dependent on Python.
+ used by DOLFINx. ufcx.h can be installed from the FFCx repo without
+ making it dependent on Python.
"""
- homepage = 'https://github.com/FEniCS/ffcx'
- git = 'https://github.com/FEniCS/ffcx.git'
- url = 'https://github.com/FEniCS/ffcx/archive/v0.4.2.tar.gz'
- maintainers = ['ma595']
+ homepage = "https://github.com/FEniCS/ffcx"
+ git = "https://github.com/FEniCS/ffcx.git"
+ url = "https://github.com/FEniCS/ffcx/archive/v0.4.2.tar.gz"
+ maintainers = ["ma595"]
- version('main', branch='main')
- version('0.4.2', sha256='3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4')
+ version("main", branch="main")
+ version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4")
- root_cmakelists_dir = 'cmake'
+ root_cmakelists_dir = "cmake"
diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py
index 1a927d6a55..9d4fd12cfe 100644
--- a/var/spack/repos/builtin/packages/fenics/package.py
+++ b/var/spack/repos/builtin/packages/fenics/package.py
@@ -16,161 +16,174 @@ class Fenics(CMakePackage):
additional components."""
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"
-
- version('2019.1.0.post0', sha256='61abdcdb13684ba2a3ba4afb7ea6c7907aa0896a46439d3af7e8848483d4392f')
- version('2018.1.0.post1', sha256='425cc49b90e0f5c2ebdd765ba9934b1ada97e2ac2710d982d6d267a5e2c5982d')
+ git = "https://bitbucket.org/fenics-project/dolfin.git"
+ url = "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-2019.1.0.post0.tar.gz"
+
+ version(
+ "2019.1.0.post0", sha256="61abdcdb13684ba2a3ba4afb7ea6c7907aa0896a46439d3af7e8848483d4392f"
+ )
+ version(
+ "2018.1.0.post1", sha256="425cc49b90e0f5c2ebdd765ba9934b1ada97e2ac2710d982d6d267a5e2c5982d"
+ )
# Pre 2018.1.0 versions are deprecated due to expected compatibility issues
- version('2017.2.0.post0',
- sha256='d3c40cd8c1c882f517999c25ea4220adcd01dbb1d829406fce99b1fc40184c82',
- deprecated=True)
- version('2016.2.0',
- sha256='c6760996660a476f77889e11e4a0bc117cc774be0eec777b02a7f01d9ce7f43d',
- deprecated=True)
-
- dolfin_versions = ['2019.1.0', '2018.1.0', '2017.2.0', '2016.2.0']
-
- variant('python', default=True, description='Compile with Python interface')
- variant('hdf5', default=True, description='Compile with HDF5')
- variant('parmetis', default=True, description='Compile with ParMETIS')
- variant('scotch', default=True, description='Compile with Scotch')
- variant('petsc', default=True, description='Compile with PETSc')
- variant('slepc', default=True, description='Compile with SLEPc')
- variant('petsc4py', default=True, description='Use PETSC4py')
- variant('slepc4py', default=True, description='Use SLEPc4py')
- variant('trilinos', default=False, description='Compile with Trilinos')
- variant('suite-sparse', default=True,
- description='Compile with SuiteSparse solvers')
- variant('vtk', default=False, description='Compile with VTK')
- variant('qt', default=False, description='Compile with QT')
- variant('zlib', default=False, description='Compile with ZLIB')
- variant('mpi', default=True,
- description='Enables the distributed memory support')
- variant('openmp', default=True,
- description='Enables the shared memory support')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('doc', default=False,
- description='Builds the documentation')
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo',
- 'MinSizeRel', 'Developer'))
+ version(
+ "2017.2.0.post0",
+ sha256="d3c40cd8c1c882f517999c25ea4220adcd01dbb1d829406fce99b1fc40184c82",
+ deprecated=True,
+ )
+ version(
+ "2016.2.0",
+ sha256="c6760996660a476f77889e11e4a0bc117cc774be0eec777b02a7f01d9ce7f43d",
+ deprecated=True,
+ )
+
+ dolfin_versions = ["2019.1.0", "2018.1.0", "2017.2.0", "2016.2.0"]
+
+ variant("python", default=True, description="Compile with Python interface")
+ variant("hdf5", default=True, description="Compile with HDF5")
+ variant("parmetis", default=True, description="Compile with ParMETIS")
+ variant("scotch", default=True, description="Compile with Scotch")
+ variant("petsc", default=True, description="Compile with PETSc")
+ variant("slepc", default=True, description="Compile with SLEPc")
+ variant("petsc4py", default=True, description="Use PETSC4py")
+ variant("slepc4py", default=True, description="Use SLEPc4py")
+ variant("trilinos", default=False, description="Compile with Trilinos")
+ variant("suite-sparse", default=True, description="Compile with SuiteSparse solvers")
+ variant("vtk", default=False, description="Compile with VTK")
+ variant("qt", default=False, description="Compile with QT")
+ variant("zlib", default=False, description="Compile with ZLIB")
+ variant("mpi", default=True, description="Enables the distributed memory support")
+ variant("openmp", default=True, description="Enables the shared memory support")
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("doc", default=False, description="Builds the documentation")
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel", "Developer"),
+ )
# Conflics for PETSC4PY / SLEPC4PY
- conflicts('+petsc4py', when='~python')
- conflicts('+petsc4py', when='~petsc')
- conflicts('+slepc4py', when='~python')
- conflicts('+slepc4py', when='~slepc')
+ conflicts("+petsc4py", when="~python")
+ conflicts("+petsc4py", when="~petsc")
+ conflicts("+slepc4py", when="~python")
+ conflicts("+slepc4py", when="~slepc")
# Patches
# patch('petsc-3.7.patch', when='petsc@3.7:')
- patch('header_fix.patch', when='@2019.1.0.post0')
+ 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')
+ 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
- extends('python', when='+python')
+ extends("python", when="+python")
# fenics python package dependencies
for ver in dolfin_versions:
- wver = '@' + ver
- depends_on('py-fenics-fiat{0}'.format(wver), type=('build', 'run'), when=wver + '+python')
- if(Version(ver) < Version('2018.1.0')):
- depends_on('py-fenics-instant{0}'.format(wver), type=('build', 'run'), when=wver + '+python')
+ wver = "@" + ver
+ depends_on("py-fenics-fiat{0}".format(wver), type=("build", "run"), when=wver + "+python")
+ if Version(ver) < Version("2018.1.0"):
+ depends_on(
+ "py-fenics-instant{0}".format(wver), type=("build", "run"), when=wver + "+python"
+ )
else:
- depends_on('py-fenics-dijitso{0}'.format(wver), type=('build', 'run'), when=wver + '+python')
- depends_on('py-fenics-ufl{0}'.format(wver), type=('build', 'run'), when=wver + '+python')
- if ver in ['2019.1.0', '2017.2.0']:
- wver = '@' + ver + '.post0'
- depends_on('py-fenics-ffc{0}'.format(wver), type=('build', 'run'), when=wver + '+python')
+ depends_on(
+ "py-fenics-dijitso{0}".format(wver), type=("build", "run"), when=wver + "+python"
+ )
+ depends_on("py-fenics-ufl{0}".format(wver), type=("build", "run"), when=wver + "+python")
+ if ver in ["2019.1.0", "2017.2.0"]:
+ wver = "@" + ver + ".post0"
+ depends_on("py-fenics-ffc{0}".format(wver), type=("build", "run"), when=wver + "+python")
# package dependencies
- depends_on('python@3.5:', type=('build', 'run'), when='+python')
- depends_on('eigen@3.2.0:')
- depends_on('pkgconfig', type='build')
- depends_on('zlib', when='+zlib')
+ depends_on("python@3.5:", type=("build", "run"), when="+python")
+ depends_on("eigen@3.2.0:")
+ depends_on("pkgconfig", type="build")
+ depends_on("zlib", when="+zlib")
- 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')
+ 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",
+ )
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('mpi', when='+mpi')
- depends_on('hdf5@:1.10+hl+fortran', when='+hdf5+petsc')
- depends_on('hdf5@:1.10+hl', when='+hdf5~petsc')
- depends_on('metis+real64', when='+parmetis')
- depends_on('parmetis', when='+parmetis')
- depends_on('scotch~metis', when='+scotch~mpi')
- depends_on('scotch+mpi~metis', when='+scotch+mpi')
- depends_on('petsc', when='+petsc')
- depends_on('slepc', when='+slepc')
- depends_on('py-petsc4py@3.6:', when='+petsc+python')
- depends_on('trilinos', when='+trilinos')
- depends_on('vtk', when='+vtk')
- depends_on('suite-sparse', when='+suite-sparse')
- depends_on('qt', when='+qt')
-
- depends_on('py-pybind11@2.2.4', type=('build', 'run'))
- depends_on('cmake@3.17.3:', type='build')
-
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-setuptools', type='build', when='+python')
- depends_on('py-pkgconfig', type=('build', 'run'), when='+python')
- depends_on('py-sphinx@1.0.1:', when='+doc', type='build')
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5@:1.10+hl+fortran", when="+hdf5+petsc")
+ depends_on("hdf5@:1.10+hl", when="+hdf5~petsc")
+ depends_on("metis+real64", when="+parmetis")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("scotch~metis", when="+scotch~mpi")
+ depends_on("scotch+mpi~metis", when="+scotch+mpi")
+ depends_on("petsc", when="+petsc")
+ depends_on("slepc", when="+slepc")
+ depends_on("py-petsc4py@3.6:", when="+petsc+python")
+ depends_on("trilinos", when="+trilinos")
+ depends_on("vtk", when="+vtk")
+ depends_on("suite-sparse", when="+suite-sparse")
+ depends_on("qt", when="+qt")
+
+ depends_on("py-pybind11@2.2.4", type=("build", "run"))
+ depends_on("cmake@3.17.3:", type="build")
+
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-setuptools", type="build", when="+python")
+ depends_on("py-pkgconfig", type=("build", "run"), when="+python")
+ depends_on("py-sphinx@1.0.1:", when="+doc", type="build")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('DOLFIN_SKIP_BUILD_TESTS', True),
- self.define_from_variant('DOLFIN_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('DOLFIN_ENABLE_CHOLMOD', 'suite-sparse'),
- self.define_from_variant('DOLFIN_ENABLE_HDF5', 'hdf5'),
- self.define_from_variant('HDF5_NO_FIND_PACKAGE_CONFIG_FILE', 'hdf5'),
- self.define_from_variant('DOLFIN_ENABLE_MPI', 'mpi'),
- self.define_from_variant('DOLFIN_ENABLE_PARMETIS', 'parmetis'),
- self.define_from_variant('DOLFIN_ENABLE_PETSC', 'petsc'),
- self.define_from_variant('DOLFIN_ENABLE_PETSC4PY', 'petsc4py'),
- self.define_from_variant('DOLFIN_ENABLE_PYTHON', 'python'),
- self.define_from_variant('DOLFIN_ENABLE_QT', 'qt'),
- self.define_from_variant('DOLFIN_ENABLE_SCOTCH', 'scotch'),
- self.define_from_variant('DOLFIN_ENABLE_SLEPC', 'slepc'),
- self.define_from_variant('DOLFIN_ENABLE_SLEPC4PY', 'slepc4py'),
- self.define_from_variant('DOLFIN_ENABLE_DOCS', 'doc'),
- self.define_from_variant('DOLFIN_ENABLE_SPHINX', 'doc'),
- self.define_from_variant('DOLFIN_ENABLE_TRILINOS', 'trilinos'),
- self.define_from_variant('DOLFIN_ENABLE_UMFPACK', 'suite-sparse'),
- self.define_from_variant('DOLFIN_ENABLE_VTK', 'vtk'),
- self.define_from_variant('DOLFIN_ENABLE_ZLIB', 'zlib'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("DOLFIN_SKIP_BUILD_TESTS", True),
+ self.define_from_variant("DOLFIN_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("DOLFIN_ENABLE_CHOLMOD", "suite-sparse"),
+ self.define_from_variant("DOLFIN_ENABLE_HDF5", "hdf5"),
+ self.define_from_variant("HDF5_NO_FIND_PACKAGE_CONFIG_FILE", "hdf5"),
+ self.define_from_variant("DOLFIN_ENABLE_MPI", "mpi"),
+ self.define_from_variant("DOLFIN_ENABLE_PARMETIS", "parmetis"),
+ self.define_from_variant("DOLFIN_ENABLE_PETSC", "petsc"),
+ self.define_from_variant("DOLFIN_ENABLE_PETSC4PY", "petsc4py"),
+ self.define_from_variant("DOLFIN_ENABLE_PYTHON", "python"),
+ self.define_from_variant("DOLFIN_ENABLE_QT", "qt"),
+ self.define_from_variant("DOLFIN_ENABLE_SCOTCH", "scotch"),
+ self.define_from_variant("DOLFIN_ENABLE_SLEPC", "slepc"),
+ self.define_from_variant("DOLFIN_ENABLE_SLEPC4PY", "slepc4py"),
+ self.define_from_variant("DOLFIN_ENABLE_DOCS", "doc"),
+ self.define_from_variant("DOLFIN_ENABLE_SPHINX", "doc"),
+ self.define_from_variant("DOLFIN_ENABLE_TRILINOS", "trilinos"),
+ self.define_from_variant("DOLFIN_ENABLE_UMFPACK", "suite-sparse"),
+ self.define_from_variant("DOLFIN_ENABLE_VTK", "vtk"),
+ self.define_from_variant("DOLFIN_ENABLE_ZLIB", "zlib"),
]
- if '+python' in self.spec:
- args.append(self.define(
- 'PYTHON_EXECUTABLE', self.spec['python'].command.path))
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
return args
# set environment for bulding python interface
def setup_build_environment(self, env):
- env.set('DOLFIN_DIR', self.prefix)
+ env.set("DOLFIN_DIR", self.prefix)
def setup_run_environment(self, env):
- env.set('DOLFIN_DIR', self.prefix)
+ env.set("DOLFIN_DIR", self.prefix)
# build python interface of dolfin
- @run_after('install')
+ @run_after("install")
def install_python_interface(self):
- if '+python' in self.spec:
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + self.prefix, '.']
+ if "+python" in self.spec:
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + self.prefix, "."]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/feq-parse/package.py b/var/spack/repos/builtin/packages/feq-parse/package.py
index ad4f612a5f..811f1619d9 100644
--- a/var/spack/repos/builtin/packages/feq-parse/package.py
+++ b/var/spack/repos/builtin/packages/feq-parse/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class FeqParse(CMakePackage):
"""An equation parser Fortran class that
- is used to interpret and evaluate functions
- provided as strings."""
+ is used to interpret and evaluate functions
+ provided as strings."""
homepage = "https://github.com/FluidNumerics/feq-parse"
- url = "https://github.com/FluidNumerics/feq-parse/archive/v1.0.0.tar.gz"
+ url = "https://github.com/FluidNumerics/feq-parse/archive/v1.0.0.tar.gz"
- maintainers = ['fluidnumerics-joe']
+ maintainers = ["fluidnumerics-joe"]
- version('1.1.0', sha256='d33a4fd6904939bb70780e8f25f37c1291c4f24fd207feb4ffc0f8d89637d1e3')
- version('1.0.2', sha256='1cd1db7562908ea16fc65dc5268b654405d0b3d9dcfe11f409949c431b48a3e8')
+ version("1.1.0", sha256="d33a4fd6904939bb70780e8f25f37c1291c4f24fd207feb4ffc0f8d89637d1e3")
+ version("1.0.2", sha256="1cd1db7562908ea16fc65dc5268b654405d0b3d9dcfe11f409949c431b48a3e8")
- depends_on('cmake@3.0.2:', type='build')
+ depends_on("cmake@3.0.2:", type="build")
diff --git a/var/spack/repos/builtin/packages/fermi/package.py b/var/spack/repos/builtin/packages/fermi/package.py
index 07a2ddc434..913fd6138f 100644
--- a/var/spack/repos/builtin/packages/fermi/package.py
+++ b/var/spack/repos/builtin/packages/fermi/package.py
@@ -10,17 +10,17 @@ class Fermi(MakefilePackage):
"""A WGS de novo assembler based on the FMD-index for large genomes."""
homepage = "https://github.com/lh3/fermi"
- url = "https://github.com/downloads/lh3/fermi/fermi-1.1.tar.bz2"
+ url = "https://github.com/downloads/lh3/fermi/fermi-1.1.tar.bz2"
- version('1.1', sha256='f1351b52a4ff40e5d708899e90ecf747e7af8d4eac795f6968e5b58c2ba11a67')
+ version("1.1", sha256="f1351b52a4ff40e5d708899e90ecf747e7af8d4eac795f6968e5b58c2ba11a67")
- depends_on('zlib')
- depends_on('perl', type='run')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib")
+ depends_on("perl", type="run")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('ksw_for_aarch64.patch', when='target=aarch64:')
+ patch("ksw_for_aarch64.patch", when="target=aarch64:")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('fermi', prefix.bin)
- install('run-fermi.pl', prefix.bin)
+ install("fermi", prefix.bin)
+ install("run-fermi.pl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fermikit/package.py b/var/spack/repos/builtin/packages/fermikit/package.py
index e92cc9e5fc..333a53eafb 100644
--- a/var/spack/repos/builtin/packages/fermikit/package.py
+++ b/var/spack/repos/builtin/packages/fermikit/package.py
@@ -11,15 +11,14 @@ class Fermikit(MakefilePackage):
reads"""
homepage = "https://github.com/lh3/fermikit"
- git = "https://github.com/lh3/fermikit.git"
+ git = "https://github.com/lh3/fermikit.git"
- version('2017-11-7', commit='bf9c7112221577ba110665bddca8f1987250bdc7',
- submodules=True)
+ version("2017-11-7", commit="bf9c7112221577ba110665bddca8f1987250bdc7", submodules=True)
- depends_on('zlib')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('ksw_for_aarch64.patch', when='target=aarch64:')
+ patch("ksw_for_aarch64.patch", when="target=aarch64:")
def install(self, spec, prefix):
- install_tree('fermi.kit', prefix.bin)
+ install_tree("fermi.kit", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fermisciencetools/package.py b/var/spack/repos/builtin/packages/fermisciencetools/package.py
index a39697fa8f..828590585c 100644
--- a/var/spack/repos/builtin/packages/fermisciencetools/package.py
+++ b/var/spack/repos/builtin/packages/fermisciencetools/package.py
@@ -13,13 +13,13 @@ class Fermisciencetools(Package):
This is the binary version for Linux x86_64 with libc-2.17."""
homepage = "https://fermi.gsfc.nasa.gov/ssc/data/analysis/software/"
- url = "https://fermi.gsfc.nasa.gov/ssc/data/analysis/software/v11r5p3/ScienceTools-v11r5p3-fssc-20180124-x86_64-unknown-linux-gnu-libc2.17.tar.gz"
+ url = "https://fermi.gsfc.nasa.gov/ssc/data/analysis/software/v11r5p3/ScienceTools-v11r5p3-fssc-20180124-x86_64-unknown-linux-gnu-libc2.17.tar.gz"
# Now we are using the binary distribution. The source distribution is also
# available, but there might be some logical errors in the configure codes,
# which leads to failing in building it from source. Hopefully someone else
# can figure it out and we can use the source distribution instead.
- version('11r5p3', sha256='2f4fc32a0b2e5c0f1ddb220a0560f67e66052b7907c72dba181908dc9269ffe8')
+ version("11r5p3", sha256="2f4fc32a0b2e5c0f1ddb220a0560f67e66052b7907c72dba181908dc9269ffe8")
def install(self, spec, prefix):
- install_tree('x86_64-unknown-linux-gnu-libc2.17', prefix)
+ install_tree("x86_64-unknown-linux-gnu-libc2.17", prefix)
diff --git a/var/spack/repos/builtin/packages/ferret/package.py b/var/spack/repos/builtin/packages/ferret/package.py
index a6dd10c6ad..0a1e576982 100644
--- a/var/spack/repos/builtin/packages/ferret/package.py
+++ b/var/spack/repos/builtin/packages/ferret/package.py
@@ -11,21 +11,22 @@ from spack.package import *
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."""
+ designed to meet the needs of oceanographers and meteorologists
+ analyzing large and complex gridded data sets."""
+
homepage = "https://ferret.pmel.noaa.gov/Ferret/home"
- url = "https://github.com/NOAA-PMEL/Ferret/archive/v7.6.0.tar.gz"
+ url = "https://github.com/NOAA-PMEL/Ferret/archive/v7.6.0.tar.gz"
- maintainers = ['RemiLacroix-IDRIS']
+ maintainers = ["RemiLacroix-IDRIS"]
- version('7.6.0', sha256='69832d740bd44c9eadd198a5de4d96c4c01ae90ae28c2c3414c1bb9f43e475d1')
- version('7.5.0', sha256='2a038c547e6e80e6bd0645a374c3247360cf8c94ea56f6f3444b533257eb16db')
- version('7.4', sha256='5167bb9e6ef441ae9cf90da555203d2155e3fcf929e7b8dddb237de0d58c5e5f')
- version('7.3', sha256='ae80a732c34156b5287a23696cf4ae4faf4de1dd705ff43cbb4168b05c6faaf4')
- version('7.2', sha256='21c339b1bafa6939fc869428d906451f130f7e77e828c532ab9488d51cf43095')
- version('6.96', sha256='7eb87156aa586cfe838ab83f08b2102598f9ab62062d540a5da8c9123816331a')
+ version("7.6.0", sha256="69832d740bd44c9eadd198a5de4d96c4c01ae90ae28c2c3414c1bb9f43e475d1")
+ version("7.5.0", sha256="2a038c547e6e80e6bd0645a374c3247360cf8c94ea56f6f3444b533257eb16db")
+ version("7.4", sha256="5167bb9e6ef441ae9cf90da555203d2155e3fcf929e7b8dddb237de0d58c5e5f")
+ version("7.3", sha256="ae80a732c34156b5287a23696cf4ae4faf4de1dd705ff43cbb4168b05c6faaf4")
+ version("7.2", sha256="21c339b1bafa6939fc869428d906451f130f7e77e828c532ab9488d51cf43095")
+ version("6.96", sha256="7eb87156aa586cfe838ab83f08b2102598f9ab62062d540a5da8c9123816331a")
- variant('datasets', default=False, description="Install Ferret standard datasets")
+ variant("datasets", default=False, description="Install Ferret standard datasets")
depends_on("hdf5+hl")
depends_on("netcdf-c")
@@ -36,163 +37,166 @@ class Ferret(Package):
depends_on("curl")
# Make Java dependency optional with older versions of Ferret
- patch('https://github.com/NOAA-PMEL/Ferret/commit/c7eb70a0b17045c8ca7207d586bfea77a5340668.patch?full_index=1',
- sha256='6dd0a6b11c103b0097fba3da06d6e655da9770e8f568a15968d9b64a0f3c2315',
- level=1, working_dir='FERRET', when='@:6')
-
- resource(name='datasets',
- url='https://github.com/NOAA-PMEL/FerretDatasets/archive/v7.6.tar.gz',
- sha256='b2fef758ec1817c1c19e6225857ca3a82c727d209ed7fd4697d45c5533bb2c72',
- placement='fer_dsets', when='+datasets')
+ patch(
+ "https://github.com/NOAA-PMEL/Ferret/commit/c7eb70a0b17045c8ca7207d586bfea77a5340668.patch?full_index=1",
+ sha256="6dd0a6b11c103b0097fba3da06d6e655da9770e8f568a15968d9b64a0f3c2315",
+ level=1,
+ working_dir="FERRET",
+ when="@:6",
+ )
+
+ resource(
+ name="datasets",
+ url="https://github.com/NOAA-PMEL/FerretDatasets/archive/v7.6.tar.gz",
+ sha256="b2fef758ec1817c1c19e6225857ca3a82c727d209ed7fd4697d45c5533bb2c72",
+ placement="fer_dsets",
+ when="+datasets",
+ )
def url_for_version(self, version):
- if version <= Version('7.2'):
- return 'ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v{0}.tar.gz'.format(
- version.joined)
+ if version <= Version("7.2"):
+ return "ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v{0}.tar.gz".format(
+ version.joined
+ )
else:
- return 'https://github.com/NOAA-PMEL/Ferret/archive/v{0}.tar.gz'.format(version)
+ return "https://github.com/NOAA-PMEL/Ferret/archive/v{0}.tar.gz".format(version)
def patch(self):
spec = self.spec
- hdf5_prefix = spec['hdf5'].prefix
- netcdff_prefix = spec['netcdf-fortran'].prefix
- readline_prefix = spec['readline'].prefix
- libz_prefix = spec['zlib'].prefix
+ hdf5_prefix = spec["hdf5"].prefix
+ netcdff_prefix = spec["netcdf-fortran"].prefix
+ readline_prefix = spec["readline"].prefix
+ libz_prefix = spec["zlib"].prefix
- work_dir = 'FERRET' if '@:7.2' in spec else '.'
+ work_dir = "FERRET" if "@:7.2" in spec else "."
with working_dir(work_dir, create=False):
- if '@7.3:' in spec:
- copy('site_specific.mk.in', 'site_specific.mk')
- copy('external_functions/ef_utility/site_specific.mk.in',
- 'external_functions/ef_utility/site_specific.mk')
-
- filter_file(r'^DIR_PREFIX.+',
- 'DIR_PREFIX = %s' % self.stage.source_path,
- 'site_specific.mk')
+ if "@7.3:" in spec:
+ copy("site_specific.mk.in", "site_specific.mk")
+ copy(
+ "external_functions/ef_utility/site_specific.mk.in",
+ "external_functions/ef_utility/site_specific.mk",
+ )
+
+ filter_file(
+ r"^DIR_PREFIX.+",
+ "DIR_PREFIX = %s" % self.stage.source_path,
+ "site_specific.mk",
+ )
# Setting this to blank not to force
# using the static version of readline
- filter_file(r'^(READLINE_(LIB)?DIR).+',
- '\\1 = ',
- 'site_specific.mk')
+ filter_file(r"^(READLINE_(LIB)?DIR).+", "\\1 = ", "site_specific.mk")
else:
- filter_file(r'^LIBZ_DIR.+',
- 'LIBZ_DIR = %s' % libz_prefix,
- 'site_specific.mk')
- filter_file(r'^JAVA_HOME.+',
- ' ',
- 'site_specific.mk')
- filter_file(r'^READLINE_DIR.+',
- 'READLINE_DIR = %s' % readline_prefix,
- 'site_specific.mk')
-
- filter_file(r'^BUILDTYPE.+',
- 'BUILDTYPE = x86_64-linux',
- 'site_specific.mk')
- filter_file(r'^INSTALL_FER_DIR.+',
- 'INSTALL_FER_DIR = %s' % spec.prefix,
- 'site_specific.mk')
- filter_file(r'^(HDF5_(LIB)?DIR).+',
- '\\1 = %s' % hdf5_prefix,
- 'site_specific.mk')
- filter_file(r'^(NETCDF4?_(LIB)?DIR).+',
- '\\1 = %s' % netcdff_prefix,
- 'site_specific.mk')
-
- if '@:7.3' in spec:
+ filter_file(r"^LIBZ_DIR.+", "LIBZ_DIR = %s" % libz_prefix, "site_specific.mk")
+ filter_file(r"^JAVA_HOME.+", " ", "site_specific.mk")
+ filter_file(
+ r"^READLINE_DIR.+", "READLINE_DIR = %s" % readline_prefix, "site_specific.mk"
+ )
+
+ filter_file(r"^BUILDTYPE.+", "BUILDTYPE = x86_64-linux", "site_specific.mk")
+ filter_file(
+ r"^INSTALL_FER_DIR.+", "INSTALL_FER_DIR = %s" % spec.prefix, "site_specific.mk"
+ )
+ filter_file(r"^(HDF5_(LIB)?DIR).+", "\\1 = %s" % hdf5_prefix, "site_specific.mk")
+ filter_file(
+ r"^(NETCDF4?_(LIB)?DIR).+", "\\1 = %s" % netcdff_prefix, "site_specific.mk"
+ )
+
+ if "@:7.3" in spec:
# Don't force using the static version of libz
- filter_file(r'\$\(LIBZ_DIR\)/lib64/libz.a',
- '-lz',
- 'platform_specific.mk.x86_64-linux')
+ filter_file(
+ r"\$\(LIBZ_DIR\)/lib64/libz.a", "-lz", "platform_specific.mk.x86_64-linux"
+ )
# Don't force using the static version of libgfortran
- filter_file(r'-Wl,-Bstatic -lgfortran -Wl,-Bdynamic',
- '-lgfortran',
- 'platform_specific.mk.x86_64-linux')
+ filter_file(
+ r"-Wl,-Bstatic -lgfortran -Wl,-Bdynamic",
+ "-lgfortran",
+ "platform_specific.mk.x86_64-linux",
+ )
# This prevents the rpaths to be properly set
# by Spack's compiler wrappers
- filter_file(r'-v --verbose',
- '',
- 'platform_specific.mk.x86_64-linux')
+ filter_file(r"-v --verbose", "", "platform_specific.mk.x86_64-linux")
- filter_file(r'^[ \t]*LD[ \t]*=.+',
- 'LD = %s' % spack_cc,
- 'platform_specific.mk.x86_64-linux')
+ filter_file(
+ r"^[ \t]*LD[ \t]*=.+",
+ "LD = %s" % spack_cc,
+ "platform_specific.mk.x86_64-linux",
+ )
else:
# Don't force using the static version of libgfortran
- filter_file(r'-static-libgfortran',
- '',
- 'platform_specific.mk.x86_64-linux')
+ filter_file(r"-static-libgfortran", "", "platform_specific.mk.x86_64-linux")
- if '@:7.4' in spec:
- compilers_spec_file = 'platform_specific.mk.x86_64-linux'
+ if "@:7.4" in spec:
+ compilers_spec_file = "platform_specific.mk.x86_64-linux"
else:
- compilers_spec_file = 'site_specific.mk'
+ compilers_spec_file = "site_specific.mk"
# Make sure Ferret uses Spack's compiler wrappers
- filter_file(r'^[ \t]*CC[ \t]*=.+',
- 'CC = %s' % spack_cc,
- compilers_spec_file)
- filter_file(r'^[ \t]*CXX[ \t]*=.+',
- 'CXX = %s' % spack_cxx,
- compilers_spec_file)
- filter_file(r'^[ \t]*FC[ \t]*=.+',
- 'FC = %s' % spack_fc,
- compilers_spec_file)
- filter_file(r'^[ \t]*F77[ \t]*=.+',
- 'F77 = %s' % spack_f77,
- compilers_spec_file)
-
- filter_file(r'\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdff.a',
- "-L%s -lnetcdff" % spec['netcdf-fortran'].prefix.lib,
- 'platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdf.a',
- "-L%s -lnetcdf" % spec['netcdf-c'].prefix.lib,
- 'platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(HDF5_(LIB)?DIR\).*/libhdf5_hl.a',
- "-L%s -lhdf5_hl" % spec['hdf5'].prefix.lib,
- 'platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(HDF5_(LIB)?DIR\).*/libhdf5.a',
- "-L%s -lhdf5" % spec['hdf5'].prefix.lib,
- 'platform_specific.mk.x86_64-linux')
+ filter_file(r"^[ \t]*CC[ \t]*=.+", "CC = %s" % spack_cc, compilers_spec_file)
+ filter_file(r"^[ \t]*CXX[ \t]*=.+", "CXX = %s" % spack_cxx, compilers_spec_file)
+ filter_file(r"^[ \t]*FC[ \t]*=.+", "FC = %s" % spack_fc, compilers_spec_file)
+ filter_file(r"^[ \t]*F77[ \t]*=.+", "F77 = %s" % spack_f77, compilers_spec_file)
+
+ filter_file(
+ r"\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdff.a",
+ "-L%s -lnetcdff" % spec["netcdf-fortran"].prefix.lib,
+ "platform_specific.mk.x86_64-linux",
+ )
+ filter_file(
+ r"\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdf.a",
+ "-L%s -lnetcdf" % spec["netcdf-c"].prefix.lib,
+ "platform_specific.mk.x86_64-linux",
+ )
+ filter_file(
+ r"\$\(HDF5_(LIB)?DIR\).*/libhdf5_hl.a",
+ "-L%s -lhdf5_hl" % spec["hdf5"].prefix.lib,
+ "platform_specific.mk.x86_64-linux",
+ )
+ filter_file(
+ r"\$\(HDF5_(LIB)?DIR\).*/libhdf5.a",
+ "-L%s -lhdf5" % spec["hdf5"].prefix.lib,
+ "platform_specific.mk.x86_64-linux",
+ )
def install(self, spec, prefix):
- if 'LDFLAGS' in env and env['LDFLAGS']:
- env['LDFLAGS'] += ' ' + '-lquadmath'
+ if "LDFLAGS" in env and env["LDFLAGS"]:
+ env["LDFLAGS"] += " " + "-lquadmath"
else:
- env['LDFLAGS'] = '-lquadmath'
+ env["LDFLAGS"] = "-lquadmath"
- work_dir = 'FERRET' if '@:7.2' in self.spec else '.'
+ work_dir = "FERRET" if "@:7.2" in self.spec else "."
with working_dir(work_dir, create=False):
- os.environ['LD_X11'] = '-L%s -lX11' % spec['libx11'].prefix.lib
- os.environ['HOSTTYPE'] = 'x86_64-linux'
+ os.environ["LD_X11"] = "-L%s -lX11" % spec["libx11"].prefix.lib
+ os.environ["HOSTTYPE"] = "x86_64-linux"
make(parallel=False)
make("install")
- if '+datasets' in self.spec:
+ if "+datasets" in self.spec:
mkdir(self.prefix.fer_dsets)
- install_tree('fer_dsets', self.prefix.fer_dsets)
+ install_tree("fer_dsets", self.prefix.fer_dsets)
def setup_run_environment(self, env):
- env.set('FER_DIR', self.prefix)
- env.set('FER_GO', ' '.join(['.', self.prefix.go, self.prefix.examples,
- self.prefix.contrib]))
- env.set('FER_EXTERNAL_FUNCTIONS', self.prefix.ext_func.libs)
- env.set('FER_PALETTE', ' '.join(['.', self.prefix.ppl]))
- env.set('FER_FONTS', self.prefix.ppl.fonts)
+ env.set("FER_DIR", self.prefix)
+ env.set(
+ "FER_GO", " ".join([".", self.prefix.go, self.prefix.examples, self.prefix.contrib])
+ )
+ env.set("FER_EXTERNAL_FUNCTIONS", self.prefix.ext_func.libs)
+ env.set("FER_PALETTE", " ".join([".", self.prefix.ppl]))
+ env.set("FER_FONTS", self.prefix.ppl.fonts)
- fer_data = ['.']
- fer_descr = ['.']
- fer_grids = ['.']
+ fer_data = ["."]
+ fer_descr = ["."]
+ fer_grids = ["."]
- if '+datasets' in self.spec:
- env.set('FER_DSETS', self.prefix.fer_dsets)
+ if "+datasets" in self.spec:
+ env.set("FER_DSETS", self.prefix.fer_dsets)
fer_data.append(self.prefix.fer_dsets.data)
fer_descr.append(self.prefix.fer_dsets.descr)
fer_grids.append(self.prefix.fer_dsets.grids)
fer_data.extend([self.prefix.go, self.prefix.examples])
- env.set('FER_DATA', ' '.join(fer_data))
- env.set('FER_DESCR', ' '.join(fer_descr))
- env.set('FER_GRIDS', ' '.join(fer_grids))
+ env.set("FER_DATA", " ".join(fer_data))
+ env.set("FER_DESCR", " ".join(fer_descr))
+ env.set("FER_GRIDS", " ".join(fer_grids))
diff --git a/var/spack/repos/builtin/packages/feynhiggs/package.py b/var/spack/repos/builtin/packages/feynhiggs/package.py
index 7874dca95c..a2d04d048b 100644
--- a/var/spack/repos/builtin/packages/feynhiggs/package.py
+++ b/var/spack/repos/builtin/packages/feynhiggs/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Feynhiggs(AutotoolsPackage):
- """ FeynHiggs is a Fortran code for the (diagrammatic/EFT/hybrid) calculation
- of the masses, mixings and much more of the Higgs bosons in the MSSM
- with real/complex parameters at the highest level of accuracy."""
+ """FeynHiggs is a Fortran code for the (diagrammatic/EFT/hybrid) calculation
+ of the masses, mixings and much more of the Higgs bosons in the MSSM
+ with real/complex parameters at the highest level of accuracy."""
homepage = "https://wwwth.mpp.mpg.de/members/heinemey/feynhiggs/cFeynHiggs.html"
- url = "https://wwwth.mpp.mpg.de/members/heinemey/feynhiggs/newversion/FeynHiggs-2.18.1.tar.gz"
+ url = "https://wwwth.mpp.mpg.de/members/heinemey/feynhiggs/newversion/FeynHiggs-2.18.1.tar.gz"
- maintainers = ['vvolkl']
- tags = ['hep']
+ maintainers = ["vvolkl"]
+ tags = ["hep"]
- version('2.18.1', sha256='a9cdc4e2759f96fb9bd981b7be1ba8df070fb20c46d5b95e0c9700fccafe5ee6')
+ version("2.18.1", sha256="a9cdc4e2759f96fb9bd981b7be1ba8df070fb20c46d5b95e0c9700fccafe5ee6")
def configure_args(self):
- return ['FFLAGS=-fPIC', 'CFLAGS=-fPIC']
+ return ["FFLAGS=-fPIC", "CFLAGS=-fPIC"]
diff --git a/var/spack/repos/builtin/packages/ffb/package.py b/var/spack/repos/builtin/packages/ffb/package.py
index 9eb87a4376..515e413c3d 100644
--- a/var/spack/repos/builtin/packages/ffb/package.py
+++ b/var/spack/repos/builtin/packages/ffb/package.py
@@ -12,165 +12,161 @@ class Ffb(MakefilePackage):
"""Computational Fluid Dynamics Software for aeroacoustics"""
homepage = "http://www.ciss.iis.u-tokyo.ac.jp/dl/index.php"
- url = "file://{0}/FrontFlow_blue.8.1.tar.gz".format(os.getcwd())
+ url = "file://{0}/FrontFlow_blue.8.1.tar.gz".format(os.getcwd())
manual_download = True
- version('8.1', sha256='1ad008c909152b6c27668bafbad820da3e6ec3309c7e858ddb785f0a3d6e43ae')
+ version("8.1", sha256="1ad008c909152b6c27668bafbad820da3e6ec3309c7e858ddb785f0a3d6e43ae")
- patch('revocap_refiner.patch')
- patch('revocap_refiner-size_t.patch')
- patch('fortran-format.patch')
- patch('xvx.patch')
- patch('gffv3tr.patch')
+ patch("revocap_refiner.patch")
+ patch("revocap_refiner-size_t.patch")
+ patch("fortran-format.patch")
+ patch("xvx.patch")
+ patch("gffv3tr.patch")
- depends_on('mpi')
- depends_on('blas')
- depends_on('scalapack')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("scalapack")
parallel = False
def flag_handler(self, name, flags):
opt_flag_found = any(f in self.compiler.opt_flags for f in flags)
- if name == 'cflags':
+ if name == "cflags":
if not opt_flag_found:
- flags.append('-O3')
- elif name == 'cxxflags':
+ flags.append("-O3")
+ elif name == "cxxflags":
if not opt_flag_found:
- flags.append('-O2')
+ flags.append("-O2")
flags.append(self.compiler.cxx_pic_flag)
- if name == 'fflags':
+ if name == "fflags":
if not opt_flag_found:
- flags.append('-O3')
- flags.append('-mcmodel=large')
- if name in ('cflags', 'cxxflags', 'fflags'):
+ flags.append("-O3")
+ flags.append("-mcmodel=large")
+ if name in ("cflags", "cxxflags", "fflags"):
return (None, flags, None)
else:
return (flags, None, flags)
def edit(self, spec, prefix):
workdir = os.getcwd()
- cflags = env['CFLAGS']
- cxxflags = env['CXXFLAGS']
- fflags = env['FFLAGS']
+ cflags = env["CFLAGS"]
+ cxxflags = env["CXXFLAGS"]
+ fflags = env["FFLAGS"]
- make = join_path('make', 'makefile')
+ make = join_path("make", "makefile")
m = FileFilter(make)
- m.filter(
- r'#LES3DHOME =', 'LES3DHOME= {0}\n'.format(workdir))
- make = join_path('make', 'OPTION')
+ m.filter(r"#LES3DHOME =", "LES3DHOME= {0}\n".format(workdir))
+ make = join_path("make", "OPTION")
m = FileFilter(make)
- m.filter(r'CPP\s*=.*$', 'CPP = /usr/bin/cpp')
- m.filter(r'CCOM\s*=.*$', 'CCOM = {0}'.format(spack_cc))
- m.filter(r'COPT\s*=.*$', 'COPT = {0}'.format(cflags))
- m.filter(r'FCOM\s*=.*$', 'FCOM = {0}\n'.format(spack_fc))
- m.filter(r'FOPT\s*=.*$', 'FOPT = {0}\n'.format(fflags))
- m.filter(r'INCDIR\s*=.*$', 'INCDIR = {0}\n'
- .format(spec['mpi'].headers.directories[0]))
- m.filter(r'LIBDIR\s*=.*$', 'LIBDIR = {0}\n'
- .format(spec['mpi'].libs.directories[0]))
-
- srcdir = join_path('lib', 'src')
- utildir = join_path(workdir, 'util')
- with open(join_path('make', 'Makeall'), 'w') as m:
- m.write('#!/bin/csh -f\n')
- m.write('setenv LES3DHOME {0}\n'.format(workdir))
- m.write('cd {0}\n'.format(srcdir))
- m.write('./Makeall\n')
- m.write('cd {0}\n'.format(utildir))
- m.write('./Makeall\n')
-
- makeall = join_path('lib', 'src', 'dd_mpi', 'Makeall')
- dd_mpi_dir = join_path('lib', 'src', 'dd_mpi')
- with open(makeall, 'w') as m:
- m.write('#!/bin/csh -f\n')
- m.write('setenv LES3DHOME {0}\n'.format(workdir))
- m.write('cd {0}\n'.format(dd_mpi_dir))
- m.write('make lib FCOM={0}\n'.format(spec['mpi'].mpifc))
+ m.filter(r"CPP\s*=.*$", "CPP = /usr/bin/cpp")
+ m.filter(r"CCOM\s*=.*$", "CCOM = {0}".format(spack_cc))
+ m.filter(r"COPT\s*=.*$", "COPT = {0}".format(cflags))
+ m.filter(r"FCOM\s*=.*$", "FCOM = {0}\n".format(spack_fc))
+ m.filter(r"FOPT\s*=.*$", "FOPT = {0}\n".format(fflags))
+ m.filter(r"INCDIR\s*=.*$", "INCDIR = {0}\n".format(spec["mpi"].headers.directories[0]))
+ m.filter(r"LIBDIR\s*=.*$", "LIBDIR = {0}\n".format(spec["mpi"].libs.directories[0]))
+
+ srcdir = join_path("lib", "src")
+ utildir = join_path(workdir, "util")
+ with open(join_path("make", "Makeall"), "w") as m:
+ m.write("#!/bin/csh -f\n")
+ m.write("setenv LES3DHOME {0}\n".format(workdir))
+ m.write("cd {0}\n".format(srcdir))
+ m.write("./Makeall\n")
+ m.write("cd {0}\n".format(utildir))
+ m.write("./Makeall\n")
+
+ makeall = join_path("lib", "src", "dd_mpi", "Makeall")
+ dd_mpi_dir = join_path("lib", "src", "dd_mpi")
+ with open(makeall, "w") as m:
+ m.write("#!/bin/csh -f\n")
+ m.write("setenv LES3DHOME {0}\n".format(workdir))
+ m.write("cd {0}\n".format(dd_mpi_dir))
+ m.write("make lib FCOM={0}\n".format(spec["mpi"].mpifc))
os.chmod(makeall, 0o755)
- makeall = join_path('.', 'Makeall.les')
- les3d_dir = join_path('util', 'les3d.mpi')
- les3c_dir = join_path('util', 'les3c.mpi')
- les3ct_dir = join_path('util', 'les3ct.mpi')
- les3x_dir = join_path('util', 'les3x.mpi')
- with open(makeall, 'w') as m:
- m.write('#!/bin/csh -f\n')
- m.write('setenv LES3DHOME {0}\n'.format(workdir))
- m.write('cd {0}\n'.format(join_path(workdir, les3d_dir)))
- m.write('make CCOM={0}'.format(spec['mpi'].mpicc))
- m.write(' FCOM={0}\n'.format(spec['mpi'].mpifc))
- m.write('cd {0}\n'.format(join_path(workdir, les3c_dir)))
- m.write('make CCOM={0}'.format(spec['mpi'].mpicc))
- m.write(' FCOM={0}\n'.format(spec['mpi'].mpifc))
- m.write('cd {0}\n'.format(join_path(workdir, les3ct_dir)))
- m.write('make CCOM={0}'.format(spec['mpi'].mpicc))
- m.write(' FCOM={0}\n'.format(spec['mpi'].mpifc))
- m.write('cd {0}\n'.format(join_path(workdir, les3x_dir)))
- m.write('make CCOM={0}'.format(spec['mpi'].mpicc))
- m.write(' FCOM={0}\n'.format(spec['mpi'].mpifc))
+ makeall = join_path(".", "Makeall.les")
+ les3d_dir = join_path("util", "les3d.mpi")
+ les3c_dir = join_path("util", "les3c.mpi")
+ les3ct_dir = join_path("util", "les3ct.mpi")
+ les3x_dir = join_path("util", "les3x.mpi")
+ with open(makeall, "w") as m:
+ m.write("#!/bin/csh -f\n")
+ m.write("setenv LES3DHOME {0}\n".format(workdir))
+ m.write("cd {0}\n".format(join_path(workdir, les3d_dir)))
+ m.write("make CCOM={0}".format(spec["mpi"].mpicc))
+ m.write(" FCOM={0}\n".format(spec["mpi"].mpifc))
+ m.write("cd {0}\n".format(join_path(workdir, les3c_dir)))
+ m.write("make CCOM={0}".format(spec["mpi"].mpicc))
+ m.write(" FCOM={0}\n".format(spec["mpi"].mpifc))
+ m.write("cd {0}\n".format(join_path(workdir, les3ct_dir)))
+ m.write("make CCOM={0}".format(spec["mpi"].mpicc))
+ m.write(" FCOM={0}\n".format(spec["mpi"].mpifc))
+ m.write("cd {0}\n".format(join_path(workdir, les3x_dir)))
+ m.write("make CCOM={0}".format(spec["mpi"].mpicc))
+ m.write(" FCOM={0}\n".format(spec["mpi"].mpifc))
for d in [les3c_dir, les3ct_dir, les3d_dir]:
- editfile = join_path(d, 'FILES')
+ editfile = join_path(d, "FILES")
m = FileFilter(editfile)
- m.filter(r'-lmpi_f77', '')
+ m.filter(r"-lmpi_f77", "")
os.chmod(makeall, 0o755)
- editfile = join_path('lib', 'src', 'Makeall')
+ editfile = join_path("lib", "src", "Makeall")
m = FileFilter(editfile)
- m.filter(r'x86_64-linux', '{0}-linux'.format(spec.target.family))
+ m.filter(r"x86_64-linux", "{0}-linux".format(spec.target.family))
- editfile = join_path('lib', 'src', 'REVOCAP_Refiner-0.4.3', 'OPTIONS')
+ editfile = join_path("lib", "src", "REVOCAP_Refiner-0.4.3", "OPTIONS")
m = FileFilter(editfile)
- m.filter(r'ARCH\s*=.*$', 'ARCH= $(shell arch)-linux')
- m.filter(r'CC\s*=.*$', 'CC={0}'.format(spack_cc))
- m.filter(r'CFLAGS\s*=.*$', 'CFLAGS={0}'.format(cflags))
- m.filter(r'CXX\s*=.*$', 'CXX={0}'.format(spack_cxx))
- m.filter(r'CXXFLAGS\s*=.*$',
- 'CXXFLAGS={0}'.format(cxxflags))
- m.filter(r'F90\s*=.*$', 'CC={0}'.format(spack_fc))
- m.filter(r'LD\s*=.*$', 'LD={0}'.format(spack_fc))
- m.filter(r'LIBPATH\s*=.*$', 'LIBPATH= ')
- m.filter(r'FFLAGS\s*=.*$', 'FFLAGS={0}'.format(fflags))
- m.filter(r'LDFLAGS\s*=.*$', 'LDFLAGS={0}'.format(fflags))
-
- editfile = join_path('lib', 'src', 'ParMetis-3.1', 'Makefile.in')
+ m.filter(r"ARCH\s*=.*$", "ARCH= $(shell arch)-linux")
+ m.filter(r"CC\s*=.*$", "CC={0}".format(spack_cc))
+ m.filter(r"CFLAGS\s*=.*$", "CFLAGS={0}".format(cflags))
+ m.filter(r"CXX\s*=.*$", "CXX={0}".format(spack_cxx))
+ m.filter(r"CXXFLAGS\s*=.*$", "CXXFLAGS={0}".format(cxxflags))
+ m.filter(r"F90\s*=.*$", "CC={0}".format(spack_fc))
+ m.filter(r"LD\s*=.*$", "LD={0}".format(spack_fc))
+ m.filter(r"LIBPATH\s*=.*$", "LIBPATH= ")
+ m.filter(r"FFLAGS\s*=.*$", "FFLAGS={0}".format(fflags))
+ m.filter(r"LDFLAGS\s*=.*$", "LDFLAGS={0}".format(fflags))
+
+ editfile = join_path("lib", "src", "ParMetis-3.1", "Makefile.in")
m = FileFilter(editfile)
- m.filter(r'CC \s*=.*$', 'CC ={0}'.format(spack_cc))
- m.filter(r'INCDIR\s*=.*$', 'INCDIR = \n')
+ m.filter(r"CC \s*=.*$", "CC ={0}".format(spack_cc))
+ m.filter(r"INCDIR\s*=.*$", "INCDIR = \n")
- editfile = join_path('util', 'xvx2gf', 'Makefile')
+ editfile = join_path("util", "xvx2gf", "Makefile")
m = FileFilter(editfile)
- m.filter(
- r'#LES3DHOME =', 'LES3DHOME= {0}\n'.format(workdir))
- m.filter(r'g\+\+', (spack_cxx))
+ m.filter(r"#LES3DHOME =", "LES3DHOME= {0}\n".format(workdir))
+ m.filter(r"g\+\+", (spack_cxx))
- editfile = join_path('util', 'les3x.mpi', 'FILES')
+ editfile = join_path("util", "les3x.mpi", "FILES")
m = FileFilter(editfile)
- m.filter(r'LIBS = -lfort -lgf2 -ldd_mpi -lmpi_f77',
- 'LIBS = -lfort -lgf2 -ldd_mpi')
+ m.filter(r"LIBS = -lfort -lgf2 -ldd_mpi -lmpi_f77", "LIBS = -lfort -lgf2 -ldd_mpi")
- editfile = join_path('util', 'xvx2gf', 'FILES')
+ editfile = join_path("util", "xvx2gf", "FILES")
cxx_fortran_flags = []
- if spec.satisfies('%gcc'):
- cxx_fortran_flags.append('-lgfortran')
+ if spec.satisfies("%gcc"):
+ cxx_fortran_flags.append("-lgfortran")
m = FileFilter(editfile)
- m.filter('-lifcore -limf', ' '.join(cxx_fortran_flags))
- elif spec.satisfies('%fj'):
- cxx_fortran_flags.append('--linkfortran')
+ m.filter("-lifcore -limf", " ".join(cxx_fortran_flags))
+ elif spec.satisfies("%fj"):
+ cxx_fortran_flags.append("--linkfortran")
m = FileFilter(editfile)
- m.filter('-lifcore -limf', ' '.join(cxx_fortran_flags))
- elif spec.satisfies('%intel'):
+ m.filter("-lifcore -limf", " ".join(cxx_fortran_flags))
+ elif spec.satisfies("%intel"):
pass
def build(self, spec, prefix):
- for m in [join_path('make', 'Makeall'),
- join_path('lib', 'src', 'dd_mpi', 'Makeall'),
- join_path('.', 'Makeall.les')]:
+ for m in [
+ join_path("make", "Makeall"),
+ join_path("lib", "src", "dd_mpi", "Makeall"),
+ join_path(".", "Makeall.les"),
+ ]:
Executable(m)()
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('macro', prefix.macro)
+ install_tree("bin", prefix.bin)
+ install_tree("macro", prefix.macro)
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix.macro)
+ env.prepend_path("PATH", prefix.macro)
diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py
index 4720837fa2..0602b012d4 100644
--- a/var/spack/repos/builtin/packages/ffmpeg/package.py
+++ b/var/spack/repos/builtin/packages/ffmpeg/package.py
@@ -11,109 +11,112 @@ class Ffmpeg(AutotoolsPackage):
convert and stream audio and video."""
homepage = "https://ffmpeg.org"
- url = "https://ffmpeg.org/releases/ffmpeg-4.1.1.tar.bz2"
+ url = "https://ffmpeg.org/releases/ffmpeg-4.1.1.tar.bz2"
- maintainers = ['xjrc']
+ maintainers = ["xjrc"]
- version('4.4.1', sha256='8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42')
- version('4.3.2', sha256='ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a')
- version('4.2.2', sha256='b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c')
- version('4.1.1', sha256='0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058')
- version('4.1', sha256='b684fb43244a5c4caae652af9022ed5d85ce15210835bce054a33fb26033a1a5')
- version('3.2.4', sha256='c0fa3593a2e9e96ace3c1757900094437ad96d1d6ca19f057c378b5f394496a4')
- version('2.8.15', sha256='35647f6c1f6d4a1719bc20b76bf4c26e4ccd665f46b5676c0e91c5a04622ee21')
- version('1.0.10', sha256='1dbde434c3b5c573d3b2ffc1babe3814f781c10c4bc66193a4132a44c9715176')
+ version("4.4.1", sha256="8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42")
+ version("4.3.2", sha256="ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a")
+ version("4.2.2", sha256="b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c")
+ version("4.1.1", sha256="0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058")
+ version("4.1", sha256="b684fb43244a5c4caae652af9022ed5d85ce15210835bce054a33fb26033a1a5")
+ version("3.2.4", sha256="c0fa3593a2e9e96ace3c1757900094437ad96d1d6ca19f057c378b5f394496a4")
+ version("2.8.15", sha256="35647f6c1f6d4a1719bc20b76bf4c26e4ccd665f46b5676c0e91c5a04622ee21")
+ version("1.0.10", sha256="1dbde434c3b5c573d3b2ffc1babe3814f781c10c4bc66193a4132a44c9715176")
# Licensing
- variant('gpl', default=True,
- description='allow use of GPL code, the resulting libs '
- 'and binaries will be under GPL')
- variant('version3', default=True,
- description='upgrade (L)GPL to version 3')
- variant('nonfree', default=False,
- description='allow use of nonfree code, the resulting libs '
- 'and binaries will be unredistributable')
+ variant(
+ "gpl",
+ default=True,
+ description="allow use of GPL code, the resulting libs " "and binaries will be under GPL",
+ )
+ variant("version3", default=True, description="upgrade (L)GPL to version 3")
+ variant(
+ "nonfree",
+ default=False,
+ description="allow use of nonfree code, the resulting libs "
+ "and binaries will be unredistributable",
+ )
# NOTE: The libopencv option creates a circular dependency.
# NOTE: There are more possible variants that would require additional
# spack packages.
# meta variants: These will toggle several settings
- variant('X', default=False, description='X11 support')
- variant('drawtext', default=False, description='drawtext filter')
+ variant("X", default=False, description="X11 support")
+ variant("drawtext", default=False, description="drawtext filter")
# options
- variant('bzlib', default=True, description='bzip2 support')
- variant('libaom', default=False, description='AV1 video encoding/decoding')
- variant('libmp3lame', default=False, description='MP3 encoding')
- variant('libopenjpeg', default=False, description='JPEG 2000 de/encoding')
- variant('libopus', default=False, description='Opus de/encoding')
- variant('libsnappy', default=False,
- description='Snappy compression, needed for hap encoding')
- 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')
+ variant("bzlib", default=True, description="bzip2 support")
+ variant("libaom", default=False, description="AV1 video encoding/decoding")
+ variant("libmp3lame", default=False, description="MP3 encoding")
+ variant("libopenjpeg", default=False, description="JPEG 2000 de/encoding")
+ variant("libopus", default=False, description="Opus de/encoding")
+ variant("libsnappy", default=False, description="Snappy compression, needed for hap encoding")
+ 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.
# variant('libxml2', default=False,
# description='XML parsing, needed for dash demuxing support')
- variant('libzmq', default=False, description='message passing via libzmq')
- variant('lzma', default=False, description='lzma support')
- variant('avresample', default=False, description='AV reasmpling component')
- variant('openssl', default=False, description='needed for https support')
- variant('sdl2', default=False, description='sdl2 support')
- variant('shared', default=True, description='build shared libraries')
- variant('libx264', default=False, description='H.264 encoding')
-
- depends_on('alsa-lib', when='platform=linux')
- depends_on('libiconv')
- depends_on('yasm@1.2.0:')
- depends_on('zlib')
-
- depends_on('aom', when='+libaom')
- depends_on('bzip2', when='+bzlib')
- depends_on('fontconfig', when='+drawtext')
- depends_on('freetype', when='+drawtext')
- depends_on('fribidi', when='+drawtext')
- 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')
+ variant("libzmq", default=False, description="message passing via libzmq")
+ variant("lzma", default=False, description="lzma support")
+ variant("avresample", default=False, description="AV reasmpling component")
+ variant("openssl", default=False, description="needed for https support")
+ variant("sdl2", default=False, description="sdl2 support")
+ variant("shared", default=True, description="build shared libraries")
+ variant("libx264", default=False, description="H.264 encoding")
+
+ depends_on("alsa-lib", when="platform=linux")
+ depends_on("libiconv")
+ depends_on("yasm@1.2.0:")
+ depends_on("zlib")
+
+ depends_on("aom", when="+libaom")
+ depends_on("bzip2", when="+bzlib")
+ depends_on("fontconfig", when="+drawtext")
+ depends_on("freetype", when="+drawtext")
+ depends_on("fribidi", when="+drawtext")
+ 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')
- depends_on('libxv', when='+X')
- depends_on('libzmq', when='+libzmq')
- depends_on('openjpeg', when='+libopenjpeg')
- depends_on('openssl', when='+openssl')
- depends_on('opus', when='+libopus')
- depends_on('sdl2', when='+sdl2')
- depends_on('snappy', when='+libsnappy')
- depends_on('speex', when='+libspeex')
- depends_on('xz', when='+lzma')
- depends_on('x264', when='+libx264')
+ depends_on("libxv", when="+X")
+ depends_on("libzmq", when="+libzmq")
+ depends_on("openjpeg", when="+libopenjpeg")
+ depends_on("openssl", when="+openssl")
+ depends_on("opus", when="+libopus")
+ depends_on("sdl2", when="+sdl2")
+ depends_on("snappy", when="+libsnappy")
+ depends_on("speex", when="+libspeex")
+ depends_on("xz", when="+lzma")
+ depends_on("x264", when="+libx264")
# TODO: enable when libxml2 header issue is resolved
# conflicts('+libxml2', when='@:3')
# See: https://www.ffmpeg.org/index.html#news (search AV1)
- conflicts('+libaom', when='@:3')
+ conflicts("+libaom", when="@:3")
# All of the following constraints were sourced from the official 'ffmpeg'
# change log, which can be found here:
# https://raw.githubusercontent.com/FFmpeg/FFmpeg/release/4.0/Changelog
- conflicts('+sdl2', when='@:3.1')
- conflicts('+libsnappy', when='@:2.7')
- conflicts('+X', when='@:2.4')
- conflicts('+lzma', when='@2.3:')
- conflicts('+libwebp', when='@2.1:')
- conflicts('+libssh', when='@2.1:')
- conflicts('+libzmq', when='@:1')
- conflicts('%nvhpc')
+ conflicts("+sdl2", when="@:3.1")
+ conflicts("+libsnappy", when="@:2.7")
+ conflicts("+X", when="@:2.4")
+ conflicts("+lzma", when="@2.3:")
+ conflicts("+libwebp", when="@2.1:")
+ conflicts("+libssh", when="@2.1:")
+ conflicts("+libzmq", when="@:1")
+ conflicts("%nvhpc")
@property
def libs(self):
- return find_libraries('*', self.prefix, recursive=True)
+ return find_libraries("*", self.prefix, recursive=True)
@property
def headers(self):
@@ -122,77 +125,75 @@ class Ffmpeg(AutotoolsPackage):
return headers
def enable_or_disable_meta(self, variant, options):
- switch = 'enable' if '+{0}'.format(variant) in self.spec else 'disable'
- return ['--{0}-{1}'.format(switch, option) for option in options]
+ switch = "enable" if "+{0}".format(variant) in self.spec else "disable"
+ return ["--{0}-{1}".format(switch, option) for option in options]
def configure_args(self):
spec = self.spec
- config_args = [
- '--enable-pic',
- '--cc={0}'.format(spack_cc),
- '--cxx={0}'.format(spack_cxx)
- ]
+ config_args = ["--enable-pic", "--cc={0}".format(spack_cc), "--cxx={0}".format(spack_cxx)]
# '+X' meta variant #
xlib_opts = []
- if spec.satisfies('@2.5:'):
- xlib_opts.extend([
- 'libxcb',
- 'libxcb-shape',
- 'libxcb-shm',
- 'libxcb-xfixes',
- 'xlib',
- ])
+ if spec.satisfies("@2.5:"):
+ xlib_opts.extend(
+ [
+ "libxcb",
+ "libxcb-shape",
+ "libxcb-shm",
+ "libxcb-xfixes",
+ "xlib",
+ ]
+ )
- config_args += self.enable_or_disable_meta('X', xlib_opts)
+ config_args += self.enable_or_disable_meta("X", xlib_opts)
# '+drawtext' meta variant #
drawtext_opts = [
- '{0}fontconfig'.format('lib' if spec.satisfies('@3:') else ''),
- 'libfreetype',
+ "{0}fontconfig".format("lib" if spec.satisfies("@3:") else ""),
+ "libfreetype",
]
- if spec.satisfies('@2.3:'):
- drawtext_opts.append('libfribidi')
+ if spec.satisfies("@2.3:"):
+ drawtext_opts.append("libfribidi")
- config_args += self.enable_or_disable_meta('drawtext', drawtext_opts)
+ config_args += self.enable_or_disable_meta("drawtext", drawtext_opts)
# other variants #
variant_opts = [
- 'bzlib',
- 'gpl',
- 'libmp3lame',
- 'libopenjpeg',
- 'libopus',
- 'libspeex',
- 'libvorbis',
- 'libvpx',
- 'libx264',
- 'avresample',
- 'nonfree',
- 'openssl',
- 'shared',
- 'version3',
+ "bzlib",
+ "gpl",
+ "libmp3lame",
+ "libopenjpeg",
+ "libopus",
+ "libspeex",
+ "libvorbis",
+ "libvpx",
+ "libx264",
+ "avresample",
+ "nonfree",
+ "openssl",
+ "shared",
+ "version3",
]
- if spec.satisfies('@2.0:'):
- variant_opts.append('libzmq')
- if spec.satisfies('@2.1:'):
- variant_opts.append('libssh')
- if spec.satisfies('@2.2:'):
- variant_opts.append('libwebp')
- if spec.satisfies('@2.4:'):
- variant_opts.append('lzma')
- if spec.satisfies('@2.8:'):
- variant_opts.append('libsnappy')
- if spec.satisfies('@3.2:'):
- variant_opts.append('sdl2')
- if spec.satisfies('@4:'):
- variant_opts.append('libaom')
+ if spec.satisfies("@2.0:"):
+ variant_opts.append("libzmq")
+ if spec.satisfies("@2.1:"):
+ variant_opts.append("libssh")
+ if spec.satisfies("@2.2:"):
+ variant_opts.append("libwebp")
+ if spec.satisfies("@2.4:"):
+ variant_opts.append("lzma")
+ if spec.satisfies("@2.8:"):
+ variant_opts.append("libsnappy")
+ if spec.satisfies("@3.2:"):
+ variant_opts.append("sdl2")
+ if spec.satisfies("@4:"):
+ variant_opts.append("libaom")
# TODO: enable when libxml2 header issue is resolved
# variant_opts.append('libxml2')
diff --git a/var/spack/repos/builtin/packages/ffr/package.py b/var/spack/repos/builtin/packages/ffr/package.py
index 825ad9f2c2..797dbfde67 100644
--- a/var/spack/repos/builtin/packages/ffr/package.py
+++ b/var/spack/repos/builtin/packages/ffr/package.py
@@ -17,120 +17,113 @@ class Ffr(MakefilePackage):
homepage = "http://www.ciss.iis.u-tokyo.ac.jp/rss21/theme/multi/fluid/fluid_softwareinfo.html"
manual_download = True
- version('3.1.004', sha256='2b396f66bb6437366721fac987f9c6e8b830638c3e4cb5df6a08ff41633f8481', url="file://{0}/FFR_V3.1.004.zip".format(os.getcwd()))
- version('3.0_000', sha256='edc69fb1fd9dbdb3f531a8f2b9533a9b3c1a28768bb4029b84a6b35c95db0b48', url="file://{0}/open_FrontFlowRed_3.0_000.tar.gz".format(os.getcwd()))
+ version(
+ "3.1.004",
+ sha256="2b396f66bb6437366721fac987f9c6e8b830638c3e4cb5df6a08ff41633f8481",
+ url="file://{0}/FFR_V3.1.004.zip".format(os.getcwd()),
+ )
+ version(
+ "3.0_000",
+ sha256="edc69fb1fd9dbdb3f531a8f2b9533a9b3c1a28768bb4029b84a6b35c95db0b48",
+ url="file://{0}/open_FrontFlowRed_3.0_000.tar.gz".format(os.getcwd()),
+ )
# FrontFlow/red used Fortran format I/E without width (For Example 3I)
# But gfortran require width (For Example (3I6).
- patch('gfortran_format_31.patch', when='@3.1.004 %gcc')
- patch('gfortran_format_30.patch', when='@3.0_000 %gcc')
+ patch("gfortran_format_31.patch", when="@3.1.004 %gcc")
+ patch("gfortran_format_30.patch", when="@3.0_000 %gcc")
- depends_on('mpi')
- depends_on('metis@:4', type='link')
+ depends_on("mpi")
+ depends_on("metis@:4", type="link")
parallel = False
build_directories = [
- join_path('src_main', 'src'),
- join_path('src_pre', 'src'),
- join_path('FFR2VIZ', 'src'),
- join_path('FFR2VIZ', 'src_P_for'),
+ join_path("src_main", "src"),
+ join_path("src_pre", "src"),
+ join_path("FFR2VIZ", "src"),
+ join_path("FFR2VIZ", "src_P_for"),
]
def edit(self, spec, prefix):
- flags = ['-O3', '-I.', '-I{0}'.format(spec['metis'].prefix.include)]
+ flags = ["-O3", "-I.", "-I{0}".format(spec["metis"].prefix.include)]
fflags = flags[:]
- if spec.satisfies('%gcc'):
- fflags.append('-ffixed-line-length-none')
- elif spec.satisfies('%fj'):
- fflags.append('-Fwide')
- d = find('.', 'src_main', recursive=True)
+ if spec.satisfies("%gcc"):
+ fflags.append("-ffixed-line-length-none")
+ elif spec.satisfies("%fj"):
+ fflags.append("-Fwide")
+ d = find(".", "src_main", recursive=True)
src_main = d[0]
- root_dir = os.path.dirname(src_main)
- make = join_path(root_dir, 'src_pre', 'src', 'Makefile')
+ root_dir = os.path.dirname(src_main)
+ make = join_path(root_dir, "src_pre", "src", "Makefile")
os.chmod(make, 0o644)
- filter_file('#CSRCS =.*$', 'CSRCS = kmetis_main.c io.c', make)
- filter_file(
- 'LIBPRE =.*$',
- 'LIBPRE = ' + spec['metis'].libs.ld_flags,
- make
- )
+ filter_file("#CSRCS =.*$", "CSRCS = kmetis_main.c io.c", make)
+ filter_file("LIBPRE =.*$", "LIBPRE = " + spec["metis"].libs.ld_flags, make)
- make = join_path(src_main, 'src', 'Makefile')
+ make = join_path(src_main, "src", "Makefile")
os.chmod(make, 0o644)
- with open(make, 'a') as m:
- m.write('module_hpc.o: module_hpc.f\n')
- m.write('\t$(MPI_F90) $(FFLAGS) -c $<\n')
- m.write('\n')
- m.write('hpc.o: hpc.f\n')
- m.write('\t$(MPI_F90) $(FFLAGS) -c $<\n')
+ with open(make, "a") as m:
+ m.write("module_hpc.o: module_hpc.f\n")
+ m.write("\t$(MPI_F90) $(FFLAGS) -c $<\n")
+ m.write("\n")
+ m.write("hpc.o: hpc.f\n")
+ m.write("\t$(MPI_F90) $(FFLAGS) -c $<\n")
- if spec.satisfies('@3.0_000'):
- for d in ['src_pre', 'FFR2VIZ']:
- workdir = join_path(root_dir, d, 'src')
- make = join_path(workdir, 'Makefile')
+ if spec.satisfies("@3.0_000"):
+ for d in ["src_pre", "FFR2VIZ"]:
+ workdir = join_path(root_dir, d, "src")
+ make = join_path(workdir, "Makefile")
os.chmod(make, 0o644)
m = FileFilter(make)
- m.filter(
- r'include Makefile\..*\.in',
- 'include Makefile.spack.in'
- )
- with open(join_path(workdir, 'Makefile.spack.in'), 'w') as m:
- m.write('OS = {0}\n'.format(spec.os))
- m.write('F90 = {0}\n'.format(spack_fc))
- m.write('F90LINKER = {0}\n'.format(spack_fc))
- m.write('FOPTIONS = {0}\n'.format(' '.join(fflags)))
- m.write('CC = {0}\n'.format(spack_cc))
- m.write('COPTIONS = {0}\n'.format(' '.join(flags)))
- m.write('MPI_HOME = \n')
- m.write('MPI_INCLUDE = \n')
- m.write('MPI_LIBS = ')
- m.write('MPI_F90 = {0} {1}\n'.format(
- spec['mpi'].mpifc, ' '.join(fflags)))
- m.write('AR = ar rv\n')
- m.write('RANLIB = :\n')
- for makefile_in in find('.', 'Makefile.in', recursive=True):
+ m.filter(r"include Makefile\..*\.in", "include Makefile.spack.in")
+ with open(join_path(workdir, "Makefile.spack.in"), "w") as m:
+ m.write("OS = {0}\n".format(spec.os))
+ m.write("F90 = {0}\n".format(spack_fc))
+ m.write("F90LINKER = {0}\n".format(spack_fc))
+ m.write("FOPTIONS = {0}\n".format(" ".join(fflags)))
+ m.write("CC = {0}\n".format(spack_cc))
+ m.write("COPTIONS = {0}\n".format(" ".join(flags)))
+ m.write("MPI_HOME = \n")
+ m.write("MPI_INCLUDE = \n")
+ m.write("MPI_LIBS = ")
+ m.write("MPI_F90 = {0} {1}\n".format(spec["mpi"].mpifc, " ".join(fflags)))
+ m.write("AR = ar rv\n")
+ m.write("RANLIB = :\n")
+ for makefile_in in find(".", "Makefile.in", recursive=True):
os.chmod(makefile_in, 0o644)
m = FileFilter(makefile_in)
- m.filter(r'OS\s*=.*$', 'OS = {0}'.format(spec.os))
- m.filter(r'F90\s*=.*$', 'F90 = {0}'.format(spack_fc))
- m.filter(r'F90LINKER\s*=.*$', 'F90LINKER = {0}'.format(spack_fc))
- m.filter(
- r'FOPTIONS\s+=.*$',
- 'FOPTIONS = {0}'.format(' '.join(fflags))
- )
- m.filter(r'CC\s+=.*$', 'CC = {0}'.format(spack_cc))
- m.filter(
- r'COPTIONS\s+=.*$',
- 'COPTIONS = {0}'.format(' '.join(flags))
- )
- m.filter(r'MPI_HOME\s+=.*$', 'MPI_HOME = ')
- m.filter(r'MPI_INC\s+=.*$', 'MPI_INCLUDE = ')
- m.filter(r'MPI_LIBS\s+=.*$', 'MPI_LIBS = ')
+ m.filter(r"OS\s*=.*$", "OS = {0}".format(spec.os))
+ m.filter(r"F90\s*=.*$", "F90 = {0}".format(spack_fc))
+ m.filter(r"F90LINKER\s*=.*$", "F90LINKER = {0}".format(spack_fc))
+ m.filter(r"FOPTIONS\s+=.*$", "FOPTIONS = {0}".format(" ".join(fflags)))
+ m.filter(r"CC\s+=.*$", "CC = {0}".format(spack_cc))
+ m.filter(r"COPTIONS\s+=.*$", "COPTIONS = {0}".format(" ".join(flags)))
+ m.filter(r"MPI_HOME\s+=.*$", "MPI_HOME = ")
+ m.filter(r"MPI_INC\s+=.*$", "MPI_INCLUDE = ")
+ m.filter(r"MPI_LIBS\s+=.*$", "MPI_LIBS = ")
m.filter(
- r'MPI_F90\s+=.*$',
- 'MPI_F90 = {0} {1}'.format(spec['mpi'].mpifc, ' '.join(fflags))
+ r"MPI_F90\s+=.*$", "MPI_F90 = {0} {1}".format(spec["mpi"].mpifc, " ".join(fflags))
)
- m.filter(r'AR\s+=.*$', 'AR = ar rv')
- m.filter(r'RANLIB =.*$', 'RANLIB = :')
+ m.filter(r"AR\s+=.*$", "AR = ar rv")
+ m.filter(r"RANLIB =.*$", "RANLIB = :")
def build(self, spec, prefix):
- d = find('.', 'src_main', recursive=True)
- root_dir = os.path.dirname(d[0])
+ d = find(".", "src_main", recursive=True)
+ root_dir = os.path.dirname(d[0])
copy(
- join_path(root_dir, 'src_metis_4.1_fflow', 'Lib', 'kmetis_main.c'),
- join_path(root_dir, 'src_pre', 'src')
+ join_path(root_dir, "src_metis_4.1_fflow", "Lib", "kmetis_main.c"),
+ join_path(root_dir, "src_pre", "src"),
)
copy(
- join_path(root_dir, 'src_metis_4.1_fflow', 'Lib', 'io.c'),
- join_path(root_dir, 'src_pre', 'src')
+ join_path(root_dir, "src_metis_4.1_fflow", "Lib", "io.c"),
+ join_path(root_dir, "src_pre", "src"),
)
- mkdirp(join_path(root_dir, 'bin_FFR'))
+ mkdirp(join_path(root_dir, "bin_FFR"))
for dir in self.build_directories:
with working_dir(join_path(root_dir, dir)):
- make('clean')
+ make("clean")
make()
def install(self, spec, prefix):
- d = find('.', 'src_main', recursive=True)
- root_dir = os.path.dirname(d[0])
- install_tree(join_path(root_dir, 'bin_FFR'), prefix.bin)
+ d = find(".", "src_main", recursive=True)
+ root_dir = os.path.dirname(d[0])
+ install_tree(join_path(root_dir, "bin_FFR"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ffsb/package.py b/var/spack/repos/builtin/packages/ffsb/package.py
index 6a8c5c9e1a..85fc434d17 100644
--- a/var/spack/repos/builtin/packages/ffsb/package.py
+++ b/var/spack/repos/builtin/packages/ffsb/package.py
@@ -11,8 +11,8 @@ class Ffsb(AutotoolsPackage):
filesystem performance measurement tool."""
homepage = "https://sourceforge.net/projects/ffsb/"
- url = "https://sourceforge.net/projects/ffsb/files/ffsb/5.2.1/ffsb-5.2.1.tar.gz"
+ url = "https://sourceforge.net/projects/ffsb/files/ffsb/5.2.1/ffsb-5.2.1.tar.gz"
- version('5.2.1', sha256='36ccda8ff04f837e20bb8b2cc9edb8c6fc923fdcdbb8060d9448dc49234b968d')
- version('5.1.1', sha256='e25aef255d8bfe54f29ac88c7af8237fa5a8c2e1716fdef1946cf0ecd9166d1f')
- version('5.1', sha256='4d7da7eba46c824ebdc23b3d32532b006aeb5b6697a3ada314c75785ab25cb97')
+ version("5.2.1", sha256="36ccda8ff04f837e20bb8b2cc9edb8c6fc923fdcdbb8060d9448dc49234b968d")
+ version("5.1.1", sha256="e25aef255d8bfe54f29ac88c7af8237fa5a8c2e1716fdef1946cf0ecd9166d1f")
+ version("5.1", sha256="4d7da7eba46c824ebdc23b3d32532b006aeb5b6697a3ada314c75785ab25cb97")
diff --git a/var/spack/repos/builtin/packages/ffte/package.py b/var/spack/repos/builtin/packages/ffte/package.py
index 6f4cde513e..d053a116c1 100644
--- a/var/spack/repos/builtin/packages/ffte/package.py
+++ b/var/spack/repos/builtin/packages/ffte/package.py
@@ -13,101 +13,101 @@ class Ffte(Package):
and 5 lengths in one, two, and three dimensions. Support for vector
hardware, MPI, and CUDA Fortran is also included."""
- homepage = 'http://www.ffte.jp/'
- url = 'http://www.ffte.jp/ffte-7.0.tgz'
+ homepage = "http://www.ffte.jp/"
+ url = "http://www.ffte.jp/ffte-7.0.tgz"
- maintainers = ['luszczek']
+ maintainers = ["luszczek"]
- version('7.0', sha256='078d5f84a5f2479ca5c4a3bd777ad761fe98addf1642a045bac6602a0cae3da0')
- version('6.0', sha256='fc82595a8f8323b2796cc5eeb1cc9f7e50ca9e511a14365cc3984da6b7a9b8b4')
- version('5.0', sha256='1f46ca16badc3aca0ad13ca91a6a67829a57b403501cdc821b80cfa62b2a89c2')
- version('4.0', sha256='61680f73c48659ac45aec60ef5a725547f763bb9017edbd3f44a6a9ad0fda62f')
- version('3.0', sha256='dbaab8204a16072c8d572efa3733e9946a9be0d1a051fc19e2d9253be23247ff')
- version('2.0', sha256='f5cf1d1f880288e359f4d517191980ffca4420f817ecaa2d754ca5c5421271e3')
- version('1.0', sha256='35171e3324019018c25575b2807a6513fa85badad040f30f238fff03d4b4d1ab')
+ version("7.0", sha256="078d5f84a5f2479ca5c4a3bd777ad761fe98addf1642a045bac6602a0cae3da0")
+ version("6.0", sha256="fc82595a8f8323b2796cc5eeb1cc9f7e50ca9e511a14365cc3984da6b7a9b8b4")
+ version("5.0", sha256="1f46ca16badc3aca0ad13ca91a6a67829a57b403501cdc821b80cfa62b2a89c2")
+ version("4.0", sha256="61680f73c48659ac45aec60ef5a725547f763bb9017edbd3f44a6a9ad0fda62f")
+ version("3.0", sha256="dbaab8204a16072c8d572efa3733e9946a9be0d1a051fc19e2d9253be23247ff")
+ version("2.0", sha256="f5cf1d1f880288e359f4d517191980ffca4420f817ecaa2d754ca5c5421271e3")
+ version("1.0", sha256="35171e3324019018c25575b2807a6513fa85badad040f30f238fff03d4b4d1ab")
- variant('mpi', default=False, description='Build MPI library')
- variant('cuda', default=False, description='Use CUDA Fortran')
- variant('vector', default=False, description='Use vectorized FFT')
+ variant("mpi", default=False, description="Build MPI library")
+ variant("cuda", default=False, description="Use CUDA Fortran")
+ variant("vector", default=False, description="Use vectorized FFT")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- conflicts('%cce', when='+cuda', msg='Must use NVHPC compiler')
- conflicts('%clang', when='+cuda', msg='Must use NVHPC compiler')
- conflicts('%gcc', when='+cuda', msg='Must use NVHPC compiler')
- conflicts('%llvm', when='+cuda', msg='Must use NVHPC compiler')
- conflicts('%nag', when='+cuda', msg='Must use NVHPC compiler')
- conflicts('%intel', when='+cuda', msg='Must use NVHPC compiler')
+ conflicts("%cce", when="+cuda", msg="Must use NVHPC compiler")
+ conflicts("%clang", when="+cuda", msg="Must use NVHPC compiler")
+ conflicts("%gcc", when="+cuda", msg="Must use NVHPC compiler")
+ conflicts("%llvm", when="+cuda", msg="Must use NVHPC compiler")
+ conflicts("%nag", when="+cuda", msg="Must use NVHPC compiler")
+ conflicts("%intel", when="+cuda", msg="Must use NVHPC compiler")
def edit(self, spec, prefix):
- 'No make-file, must create one from scratch.'
-
- open('mpi/param.h', 'w').write(open('param.h').read())
-
- for fpfx in ('.', 'mpi'):
- vrs = '%sfftever' % ['', '', '', 'p'][len(fpfx)]
- s6 = 6 * ' '
- fd = open('%s/%s.f' % (fpfx, vrs), 'w')
- fd.write('%ssubroutine %s(i,j,k)\n' % (s6, vrs))
- fd.write('%sinteger i,j,k\n' % s6)
- fd.write('%si=%s\n' % (s6, spec.version[0]))
- fd.write('%sj=%s\n' % (s6, spec.version[1]))
- fd.write('%sk=0\n%sreturn\n%send\n' % (3 * (s6,)))
+ "No make-file, must create one from scratch."
+
+ open("mpi/param.h", "w").write(open("param.h").read())
+
+ for fpfx in (".", "mpi"):
+ vrs = "%sfftever" % ["", "", "", "p"][len(fpfx)]
+ s6 = 6 * " "
+ fd = open("%s/%s.f" % (fpfx, vrs), "w")
+ fd.write("%ssubroutine %s(i,j,k)\n" % (s6, vrs))
+ fd.write("%sinteger i,j,k\n" % s6)
+ fd.write("%si=%s\n" % (s6, spec.version[0]))
+ fd.write("%sj=%s\n" % (s6, spec.version[1]))
+ fd.write("%sk=0\n%sreturn\n%send\n" % (3 * (s6,)))
fd.close()
ff, cuf, vf = [], [], []
- for f in glob.glob('%s/*.f' % fpfx):
- nf = f.replace('.f', '.o').replace('%s/' % fpfx, '')
- if '/cu' in f or '/pcu' in f:
+ for f in glob.glob("%s/*.f" % fpfx):
+ nf = f.replace(".f", ".o").replace("%s/" % fpfx, "")
+ if "/cu" in f or "/pcu" in f:
cuf.append(nf)
- elif '/v' in f or '/pv' in f:
+ elif "/v" in f or "/pv" in f:
vf.append(nf)
else:
ff.append(nf)
- if '.' == fpfx:
- lbnm = 'libffte.a'
+ if "." == fpfx:
+ lbnm = "libffte.a"
else:
- lbnm = 'libfftempi.a'
+ lbnm = "libfftempi.a"
for spc, vrf, rs, ip in (
- ('+vector', vf, 'v', 2),
- ('+cuda', cuf, 'cu', 3),
+ ("+vector", vf, "v", 2),
+ ("+cuda", cuf, "cu", 3),
):
if spc in spec:
for f in vrf: # replace with variant versions
- orgf = f[:ip].replace(rs, '') + f[ip:]
+ orgf = f[:ip].replace(rs, "") + f[ip:]
if orgf in ff: # already reference implementation?
del ff[ff.index(orgf)]
ff.extend(vrf)
- aff = ' '.join(ff)
- fd = open('%s/Makefile' % fpfx, 'w')
- fd.write('all: %s\n' % lbnm)
- if '+mpi' in spec and '.' == fpfx:
- fd.write('\tcd mpi ; $(MAKE)\n')
- fd.write('\n%s: %s\n' % (lbnm, aff))
- fd.write('\tar rc %s %s\n' % (lbnm, aff))
- fd.write('\tranlib %s\n' % lbnm)
+ aff = " ".join(ff)
+ fd = open("%s/Makefile" % fpfx, "w")
+ fd.write("all: %s\n" % lbnm)
+ if "+mpi" in spec and "." == fpfx:
+ fd.write("\tcd mpi ; $(MAKE)\n")
+ fd.write("\n%s: %s\n" % (lbnm, aff))
+ fd.write("\tar rc %s %s\n" % (lbnm, aff))
+ fd.write("\tranlib %s\n" % lbnm)
fd.close()
def install(self, spec, prefix):
self.edit(spec, prefix)
- if '+mpi' in spec:
- env['CC'] = spec['mpi'].mpicc
- env['F77'] = spec['mpi'].mpif77
- env['FC'] = spec['mpi'].mpifc
+ if "+mpi" in spec:
+ env["CC"] = spec["mpi"].mpicc
+ env["F77"] = spec["mpi"].mpif77
+ env["FC"] = spec["mpi"].mpifc
# allow real/complex aliasing in GNU Fortran 10 and up
- if spec.satisfies('%gcc@10:'):
- env['FFLAGS'] = '-fallow-argument-mismatch'
+ if spec.satisfies("%gcc@10:"):
+ env["FFLAGS"] = "-fallow-argument-mismatch"
# enable CUDA Fortran in NVHPC
- if spec.satisfies('%nvhpc'):
- env['FFLAGS'] = '-Mcuda'
+ if spec.satisfies("%nvhpc"):
+ env["FFLAGS"] = "-Mcuda"
make()
mkdirp(prefix.lib)
- install('libffte.a', prefix.lib)
- if '+mpi' in spec:
- install('mpi/libfftempi.a', prefix.lib)
+ install("libffte.a", prefix.lib)
+ if "+mpi" in spec:
+ install("mpi/libfftempi.a", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py
index 9d8fb69936..7ce50f5df9 100644
--- a/var/spack/repos/builtin/packages/fftw/package.py
+++ b/var/spack/repos/builtin/packages/fftw/package.py
@@ -17,55 +17,50 @@ class FftwBase(AutotoolsPackage):
"""
variant(
- 'precision', values=any_combination_of(
- 'float', 'double', 'long_double', 'quad'
- ).prohibit_empty_set().with_default('float,double'),
- description='Build the selected floating-point precision libraries'
+ "precision",
+ values=any_combination_of("float", "double", "long_double", "quad")
+ .prohibit_empty_set()
+ .with_default("float,double"),
+ description="Build the selected floating-point precision libraries",
)
- variant('openmp', default=False, description="Enable OpenMP support.")
- variant('mpi', default=True, description='Activate MPI support')
+ variant("openmp", default=False, description="Enable OpenMP support.")
+ variant("mpi", default=True, description="Activate MPI support")
- depends_on('mpi', when='+mpi')
- depends_on('llvm-openmp', when='%apple-clang +openmp')
+ depends_on("mpi", when="+mpi")
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
# https://github.com/FFTW/fftw3/commit/902d0982522cdf6f0acd60f01f59203824e8e6f3
- conflicts('%gcc@8.0:8', when="@3.3.7")
- conflicts('precision=long_double', when='@2.1.5',
- msg='Long double precision is not supported in FFTW 2')
- conflicts('precision=quad', when='@2.1.5',
- msg='Quad precision is not supported in FFTW 2')
- conflicts('precision=quad', when='+mpi',
- msg='Quad precision is not supported in MPI')
+ conflicts("%gcc@8.0:8", when="@3.3.7")
+ conflicts(
+ "precision=long_double",
+ when="@2.1.5",
+ msg="Long double precision is not supported in FFTW 2",
+ )
+ conflicts("precision=quad", when="@2.1.5", msg="Quad precision is not supported in FFTW 2")
+ conflicts("precision=quad", when="+mpi", msg="Quad precision is not supported in MPI")
@property
def libs(self):
# Reduce repetitions of entries
- query_parameters = list(llnl.util.lang.dedupe(
- self.spec.last_query.extra_parameters
- ))
+ query_parameters = list(llnl.util.lang.dedupe(self.spec.last_query.extra_parameters))
# List of all the suffixes associated with float precisions
- precisions = [
- ('float', 'f'),
- ('double', ''),
- ('long_double', 'l'),
- ('quad', 'q')
- ]
+ precisions = [("float", "f"), ("double", ""), ("long_double", "l"), ("quad", "q")]
# Retrieve the correct suffixes, or use double as a default
- suffixes = [v for k, v in precisions if k in query_parameters] or ['']
+ suffixes = [v for k, v in precisions if k in query_parameters] or [""]
# Construct the list of libraries that needs to be found
libraries = []
for sfx in suffixes:
- if 'mpi' in query_parameters and '+mpi' in self.spec:
- libraries.append('libfftw3' + sfx + '_mpi')
+ if "mpi" in query_parameters and "+mpi" in self.spec:
+ libraries.append("libfftw3" + sfx + "_mpi")
- if 'openmp' in query_parameters and '+openmp' in self.spec:
- libraries.append('libfftw3' + sfx + '_omp')
+ if "openmp" in query_parameters and "+openmp" in self.spec:
+ libraries.append("libfftw3" + sfx + "_omp")
- libraries.append('libfftw3' + sfx)
+ libraries.append("libfftw3" + sfx)
return find_libraries(libraries, root=self.prefix, recursive=True)
@@ -73,131 +68,116 @@ class FftwBase(AutotoolsPackage):
# If fftw/config.h exists in the source tree, it will take precedence
# over the copy in build dir. As only the latter has proper config
# for our build, this is a problem. See e.g. issue #7372 on github
- if os.path.isfile('fftw/config.h'):
- os.rename('fftw/config.h', 'fftw/config.h.SPACK_RENAMED')
+ if os.path.isfile("fftw/config.h"):
+ os.rename("fftw/config.h", "fftw/config.h.SPACK_RENAMED")
def autoreconf(self, spec, prefix):
- if '+pfft_patches' in spec:
- autoreconf = which('autoreconf')
- autoreconf('-ifv')
+ if "+pfft_patches" in spec:
+ autoreconf = which("autoreconf")
+ autoreconf("-ifv")
@property
def selected_precisions(self):
"""Precisions that have been selected in this build"""
- return self.spec.variants['precision'].value
+ return self.spec.variants["precision"].value
def setup_build_environment(self, env):
- if self.spec.satisfies('%apple-clang +openmp'):
- env.append_flags(
- 'CPPFLAGS', self.compiler.openmp_flag)
- env.append_flags(
- 'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'CXXFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
+ if self.spec.satisfies("%apple-clang +openmp"):
+ env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
+ env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("LDFLAGS", self.spec["llvm-openmp"].libs.ld_flags)
# FFTW first configures libtool without MPI, and later uses it with
# MPI. libtool then calls wrong linker to create shared libraries
# (it calls `$CC` instead of `$MPICC`), and MPI symbols
# remain undefined because `-lmpi` is not passed to the linker.
# https://github.com/FFTW/fftw3/issues/274
# https://github.com/spack/spack/issues/29224
- if self.spec.satisfies('+mpi') and self.spec.satisfies('platform=darwin'):
- env.append_flags('LIBS', self.spec['mpi'].libs.ld_flags)
+ if self.spec.satisfies("+mpi") and self.spec.satisfies("platform=darwin"):
+ env.append_flags("LIBS", self.spec["mpi"].libs.ld_flags)
def configure(self, spec, prefix):
# Base options
- options = [
- '--prefix={0}'.format(prefix),
- '--enable-shared',
- '--enable-threads'
- ]
+ options = ["--prefix={0}".format(prefix), "--enable-shared", "--enable-threads"]
if not self.compiler.f77 or not self.compiler.fc:
options.append("--disable-fortran")
- if spec.satisfies('@:2'):
- options.append('--enable-type-prefix')
+ if spec.satisfies("@:2"):
+ options.append("--enable-type-prefix")
# Variants that affect every precision
- if '+openmp' in spec:
- options.append('--enable-openmp')
- if spec.satisfies('@:2'):
+ if "+openmp" in spec:
+ options.append("--enable-openmp")
+ if spec.satisfies("@:2"):
# TODO: libtool strips CFLAGS, so 2.x libxfftw_threads
# isn't linked to the openmp library. Patch Makefile?
- options.insert(0, 'CFLAGS=' + self.compiler.openmp_flag)
- if '+mpi' in spec:
- options.append('--enable-mpi')
+ options.insert(0, "CFLAGS=" + self.compiler.openmp_flag)
+ if "+mpi" in spec:
+ options.append("--enable-mpi")
# Specific SIMD support.
# all precisions
- simd_features = ['sse2', 'avx', 'avx2', 'avx512', 'avx-128-fma',
- 'kcvi', 'vsx']
+ simd_features = ["sse2", "avx", "avx2", "avx512", "avx-128-fma", "kcvi", "vsx"]
# float only
- float_simd_features = ['altivec', 'sse', 'neon']
+ float_simd_features = ["altivec", "sse", "neon"]
# Workaround PGI compiler bug when avx2 is enabled
- if spec.satisfies('%pgi') and 'avx2' in simd_features:
- simd_features.remove('avx2')
+ if spec.satisfies("%pgi") and "avx2" in simd_features:
+ simd_features.remove("avx2")
# Workaround NVIDIA/PGI compiler bug when avx512 is enabled
- if spec.satisfies('%nvhpc') or spec.satisfies('%pgi'):
- if 'avx512' in simd_features:
- simd_features.remove('avx512')
+ if spec.satisfies("%nvhpc") or spec.satisfies("%pgi"):
+ if "avx512" in simd_features:
+ simd_features.remove("avx512")
# NVIDIA compiler does not support Altivec intrinsics
- if spec.satisfies('%nvhpc') and 'vsx' in simd_features:
- simd_features.remove('vsx')
- if spec.satisfies('%nvhpc') and 'altivec' in float_simd_features:
- float_simd_features.remove('altivec')
+ if spec.satisfies("%nvhpc") and "vsx" in simd_features:
+ simd_features.remove("vsx")
+ if spec.satisfies("%nvhpc") and "altivec" in float_simd_features:
+ float_simd_features.remove("altivec")
# NVIDIA compiler does not support Neon intrinsics
- if spec.satisfies('%nvhpc') and 'neon' in simd_features:
- simd_features.remove('neon')
+ if spec.satisfies("%nvhpc") and "neon" in simd_features:
+ simd_features.remove("neon")
simd_options = []
for feature in simd_features:
- msg = '--enable-{0}' if feature in spec.target else '--disable-{0}'
+ msg = "--enable-{0}" if feature in spec.target else "--disable-{0}"
simd_options.append(msg.format(feature))
# If no features are found, enable the generic ones
- if not any(f in spec.target for f in
- simd_features + float_simd_features):
+ if not any(f in spec.target for f in simd_features + float_simd_features):
# Workaround NVIDIA compiler bug
- if not spec.satisfies('%nvhpc'):
- simd_options += [
- '--enable-generic-simd128',
- '--enable-generic-simd256'
- ]
+ if not spec.satisfies("%nvhpc"):
+ simd_options += ["--enable-generic-simd128", "--enable-generic-simd256"]
- simd_options += [
- '--enable-fma' if 'fma' in spec.target else '--disable-fma'
- ]
+ simd_options += ["--enable-fma" if "fma" in spec.target else "--disable-fma"]
# Double is the default precision, for all the others we need
# to enable the corresponding option.
enable_precision = {
- 'float': ['--enable-float'],
- 'double': None,
- 'long_double': ['--enable-long-double'],
- 'quad': ['--enable-quad-precision']
+ "float": ["--enable-float"],
+ "double": None,
+ "long_double": ["--enable-long-double"],
+ "quad": ["--enable-quad-precision"],
}
# Different precisions must be configured and compiled one at a time
- configure = Executable('../configure')
+ configure = Executable("../configure")
for precision in self.selected_precisions:
opts = (enable_precision[precision] or []) + options[:]
# SIMD optimizations are available only for float and double
# starting from FFTW 3
- if precision in ('float', 'double') and spec.satisfies('@3:'):
+ if precision in ("float", "double") and spec.satisfies("@3:"):
opts += simd_options
# float-only acceleration
- if precision == 'float':
+ if precision == "float":
for feature in float_simd_features:
if feature in spec.target:
- msg = '--enable-{0}'
+ msg = "--enable-{0}"
else:
- msg = '--disable-{0}'
+ msg = "--disable-{0}"
opts.append(msg.format(feature))
with working_dir(precision, create=True):
@@ -212,46 +192,48 @@ class FftwBase(AutotoolsPackage):
self.for_each_precision_make()
def check(self):
- self.for_each_precision_make('check')
+ self.for_each_precision_make("check")
def install(self, spec, prefix):
- self.for_each_precision_make('install')
+ self.for_each_precision_make("install")
class Fftw(FftwBase):
"""FFTW is a C subroutine library for computing the discrete Fourier
- transform (DFT) in one or more dimensions, of arbitrary input
- size, and of both real and complex data (as well as of even/odd
- data, i.e. the discrete cosine/sine transforms or DCT/DST). We
- believe that FFTW, which is free software, should become the FFT
- library of choice for most applications."""
+ transform (DFT) in one or more dimensions, of arbitrary input
+ size, and of both real and complex data (as well as of even/odd
+ data, i.e. the discrete cosine/sine transforms or DCT/DST). We
+ believe that FFTW, which is free software, should become the FFT
+ library of choice for most applications."""
homepage = "https://www.fftw.org"
url = "https://www.fftw.org/fftw-3.3.4.tar.gz"
list_url = "https://www.fftw.org/download.html"
- version('3.3.10', sha256='56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467')
- version('3.3.9', sha256='bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d')
- version('3.3.8', sha256='6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303')
- version('3.3.7', sha256='3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573')
- version('3.3.6-pl2', sha256='a5de35c5c824a78a058ca54278c706cdf3d4abba1c56b63531c2cb05f5d57da2')
- version('3.3.5', sha256='8ecfe1b04732ec3f5b7d279fdb8efcad536d555f9d1e8fabd027037d45ea8bcf')
- version('3.3.4', sha256='8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982')
- version('2.1.5', sha256='f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630')
+ version("3.3.10", sha256="56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467")
+ version("3.3.9", sha256="bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d")
+ version("3.3.8", sha256="6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303")
+ version("3.3.7", sha256="3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573")
+ version("3.3.6-pl2", sha256="a5de35c5c824a78a058ca54278c706cdf3d4abba1c56b63531c2cb05f5d57da2")
+ version("3.3.5", sha256="8ecfe1b04732ec3f5b7d279fdb8efcad536d555f9d1e8fabd027037d45ea8bcf")
+ version("3.3.4", sha256="8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982")
+ version("2.1.5", sha256="f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630")
variant(
- 'pfft_patches', default=False,
- description='Add extra transpose functions for PFFT compatibility')
+ "pfft_patches",
+ default=False,
+ description="Add extra transpose functions for PFFT compatibility",
+ )
- depends_on('automake', type='build', when='+pfft_patches')
- depends_on('autoconf', type='build', when='+pfft_patches')
- depends_on('libtool', type='build', when='+pfft_patches')
+ depends_on("automake", type="build", when="+pfft_patches")
+ depends_on("autoconf", type="build", when="+pfft_patches")
+ depends_on("libtool", type="build", when="+pfft_patches")
- provides('fftw-api@2', when='@2.1.5')
- provides('fftw-api@3', when='@3:')
+ provides("fftw-api@2", when="@2.1.5")
+ provides("fftw-api@3", when="@3:")
- patch('pfft-3.3.9.patch', when="@3.3.9:+pfft_patches", level=0)
- patch('pfft-3.3.5.patch', when="@3.3.5:3.3.8+pfft_patches", level=0)
- patch('pfft-3.3.4.patch', when="@3.3.4+pfft_patches", level=0)
- patch('pgi-3.3.6-pl2.patch', when="@3.3.6-pl2%pgi", level=0)
- patch('intel-configure.patch', when="@3:3.3.8%intel", level=0)
+ patch("pfft-3.3.9.patch", when="@3.3.9:+pfft_patches", level=0)
+ patch("pfft-3.3.5.patch", when="@3.3.5:3.3.8+pfft_patches", level=0)
+ patch("pfft-3.3.4.patch", when="@3.3.4+pfft_patches", level=0)
+ patch("pgi-3.3.6-pl2.patch", when="@3.3.6-pl2%pgi", level=0)
+ patch("intel-configure.patch", when="@3:3.3.8%intel", level=0)
diff --git a/var/spack/repos/builtin/packages/fftx/package.py b/var/spack/repos/builtin/packages/fftx/package.py
index fc2ce2d2bb..e66477f695 100644
--- a/var/spack/repos/builtin/packages/fftx/package.py
+++ b/var/spack/repos/builtin/packages/fftx/package.py
@@ -12,55 +12,56 @@ class Fftx(CMakePackage, CudaPackage, ROCmPackage):
operations composed of linear operations combined with DFT transforms."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/fftx/archive/refs/tags/1.0.3.tar.gz"
- git = "https://github.com/spiral-software/fftx.git"
+ url = "https://github.com/spiral-software/fftx/archive/refs/tags/1.0.3.tar.gz"
+ git = "https://github.com/spiral-software/fftx.git"
- maintainers = ['spiralgen']
+ maintainers = ["spiralgen"]
- version('develop', branch='develop')
- version('main', branch='main')
- version('1.0.3', sha256='b5ff275facce4a2fbabd0aecc65dd55b744794f2e07cd8cfa91363001c664896')
+ version("develop", branch="develop")
+ version("main", branch="main")
+ version("1.0.3", sha256="b5ff275facce4a2fbabd0aecc65dd55b744794f2e07cd8cfa91363001c664896")
- variant('build_type', default='Release',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'),
- description='The build type to build')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ description="The build type to build",
+ )
- depends_on('spiral-software')
- depends_on('spiral-package-fftx')
- depends_on('spiral-package-simt')
+ depends_on("spiral-software")
+ depends_on("spiral-package-fftx")
+ depends_on("spiral-package-simt")
# depends_on('spiral-package-mpi')
- conflicts('+rocm', when='+cuda', msg='FFTX only supports one GPU backend at a time')
+ conflicts("+rocm", when="+cuda", msg="FFTX only supports one GPU backend at a time")
- @run_before('cmake')
+ @run_before("cmake")
def create_lib_source_code(self):
# What config should be built -- driven by spec
spec = self.spec
- backend = 'CPU'
- if '+cuda' in spec:
- backend = 'CUDA'
- if '+rocm' in spec:
- backend = 'HIP'
- self.build_config = '-D_codegen=%s' % backend
+ backend = "CPU"
+ if "+cuda" in spec:
+ backend = "CUDA"
+ if "+rocm" in spec:
+ backend = "HIP"
+ self.build_config = "-D_codegen=%s" % backend
# From directory examples/library run the build-lib-code.sh script
- with working_dir(join_path(self.stage.source_path, 'src', 'library')):
- bash = which('bash')
- bash('./build-lib-code.sh', backend)
+ with working_dir(join_path(self.stage.source_path, "src", "library")):
+ bash = which("bash")
+ bash("./build-lib-code.sh", backend)
def cmake_args(self):
spec = self.spec
- args = [
- '-DSPIRAL_HOME:STRING={0}'.format(spec['spiral-software'].prefix)
- ]
- args.append('-DCMAKE_INSTALL_PREFIX:PATH={0}'.format(self.stage.source_path))
+ args = ["-DSPIRAL_HOME:STRING={0}".format(spec["spiral-software"].prefix)]
+ args.append("-DCMAKE_INSTALL_PREFIX:PATH={0}".format(self.stage.source_path))
args.append(self.build_config)
- print('Args = ' + str(args))
+ print("Args = " + str(args))
return args
@property
def build_targets(self):
- return ['-j1', 'install']
+ return ["-j1", "install"]
def install(self, spec, prefix):
mkdirp(prefix.bin)
@@ -70,22 +71,22 @@ class Fftx(CMakePackage, CudaPackage, ROCmPackage):
mkdirp(prefix.lib)
with working_dir(self.stage.source_path):
- files = ('License.txt', 'README.md', 'ReleaseNotes.md')
+ files = ("License.txt", "README.md", "ReleaseNotes.md")
for fil in files:
install(fil, prefix)
with working_dir(self.stage.source_path):
- install_tree('bin', prefix.bin)
- install_tree('CMakeIncludes', prefix.CMakeIncludes)
- install_tree('examples', prefix.examples)
- install_tree('include', prefix.include)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("CMakeIncludes", prefix.CMakeIncludes)
+ install_tree("examples", prefix.examples)
+ install_tree("include", prefix.include)
+ install_tree("lib", prefix.lib)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('FFTX_HOME', self.prefix)
+ env.set("FFTX_HOME", self.prefix)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.set('FFTX_HOME', self.prefix)
+ env.set("FFTX_HOME", self.prefix)
def setup_run_environment(self, env):
- env.set('FFTX_HOME', self.prefix)
+ env.set("FFTX_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/fgsl/package.py b/var/spack/repos/builtin/packages/fgsl/package.py
index 21d3280e35..8d27a05224 100644
--- a/var/spack/repos/builtin/packages/fgsl/package.py
+++ b/var/spack/repos/builtin/packages/fgsl/package.py
@@ -14,27 +14,27 @@ class Fgsl(AutotoolsPackage):
"""Fortran interface to the GNU Scientific Library"""
homepage = "https://github.com/reinh-bader/fgsl"
- url = "https://github.com/reinh-bader/fgsl/archive/v1.2.0.tar.gz"
+ url = "https://github.com/reinh-bader/fgsl/archive/v1.2.0.tar.gz"
- version('1.3.0', sha256='6d73d558c889d7ea23e510a436f28618624035e8ffa07692894f10968aa83a4b')
- version('1.2.0', sha256='e5a4ac08eb744c963e95a46a51d76c56593836077c5ad8c47e240cae57027002')
- version('1.1.0', sha256='a5adce3c3b279d2dacc05b74c598ff89be7ef3ae3ec59b3ec1355750c1bb4832')
+ version("1.3.0", sha256="6d73d558c889d7ea23e510a436f28618624035e8ffa07692894f10968aa83a4b")
+ version("1.2.0", sha256="e5a4ac08eb744c963e95a46a51d76c56593836077c5ad8c47e240cae57027002")
+ version("1.1.0", sha256="a5adce3c3b279d2dacc05b74c598ff89be7ef3ae3ec59b3ec1355750c1bb4832")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('gsl@2.4', when='@1.3.0')
- depends_on('gsl@2.3', when='@1.2.0')
- depends_on('gsl@2.2.1', when='@1.1.0')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("gsl@2.4", when="@1.3.0")
+ depends_on("gsl@2.3", when="@1.2.0")
+ depends_on("gsl@2.2.1", when="@1.1.0")
parallel = False
- @run_before('autoreconf')
+ @run_before("autoreconf")
def create_m4_dir(self):
- mkdir('m4')
+ mkdir("m4")
def setup_build_environment(self, env):
- if self.compiler.name == 'gcc':
- env.append_flags('FCFLAGS', "-ffree-line-length-none")
+ if self.compiler.name == "gcc":
+ env.append_flags("FCFLAGS", "-ffree-line-length-none")
diff --git a/var/spack/repos/builtin/packages/fides/package.py b/var/spack/repos/builtin/packages/fides/package.py
index 3e9d16c30e..a62be5696a 100644
--- a/var/spack/repos/builtin/packages/fides/package.py
+++ b/var/spack/repos/builtin/packages/fides/package.py
@@ -8,38 +8,39 @@ from spack.package 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"
+ 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']
+ maintainers = ["caitlinross", "dpugmire"]
- version('master', branch='master')
- version('1.1.0', sha256='40d2e08b8d5cfdfc809eae6ed2ae0731108ce3b1383485f4934a5ec8aaa9425e')
- version('1.0.0', sha256='c355fdb4ca3790c1fa9a4491a0d294b8f883b6946c540ad9e5633c9fd8c8c3aa')
+ 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")
+ 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,3.18.2:", type='build')
+ depends_on("cmake@3.14.1:3.14,3.18.2:", type="build")
depends_on("mpi", when="+mpi")
- depends_on('adios2~zfp', when='+adios2')
+ depends_on("adios2~zfp", when="+adios2")
depends_on("vtk-m@:1.7", when="+vtk-m")
# Fix missing implicit includes
- @when('%gcc@7:')
+ @when("%gcc@7:")
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', '-include limits -include numeric')
+ env.append_flags("CXXFLAGS", "-include limits -include numeric")
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("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")
+ self.define("FIDES_ENABLE_EXAMPLES", "OFF"),
]
return options
diff --git a/var/spack/repos/builtin/packages/figlet/package.py b/var/spack/repos/builtin/packages/figlet/package.py
index 1bfd6624cf..81fdbfa3a4 100644
--- a/var/spack/repos/builtin/packages/figlet/package.py
+++ b/var/spack/repos/builtin/packages/figlet/package.py
@@ -11,25 +11,25 @@ class Figlet(MakefilePackage):
screen characters."""
homepage = "http://www.figlet.org/"
- url = "https://github.com/cmatsuoka/figlet/archive/2.2.5.tar.gz"
+ url = "https://github.com/cmatsuoka/figlet/archive/2.2.5.tar.gz"
- version('2.2.5', sha256='4d366c4a618ecdd6fdb81cde90edc54dbff9764efb635b3be47a929473f13930')
- version('2.2.4', sha256='970a18a2a32cca736ff11a5b77e26a54f31a0e08606b85d21d3d5c666937e03d')
- version('2.2.3', sha256='168fa3c7a5888d6f796708780d3006f0e1871d83f32c4a10a84596b90ac35999')
+ version("2.2.5", sha256="4d366c4a618ecdd6fdb81cde90edc54dbff9764efb635b3be47a929473f13930")
+ version("2.2.4", sha256="970a18a2a32cca736ff11a5b77e26a54f31a0e08606b85d21d3d5c666937e03d")
+ version("2.2.3", sha256="168fa3c7a5888d6f796708780d3006f0e1871d83f32c4a10a84596b90ac35999")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- bins = ['figlet', 'chkfont', 'figlist', 'showfigfonts']
+ bins = ["figlet", "chkfont", "figlist", "showfigfonts"]
for f in bins:
install(f, prefix.bin)
mkdirp(prefix.man6)
- manuals = ['figlet.6', 'chkfont.6', 'figlist.6', 'showfigfonts.6']
+ manuals = ["figlet.6", "chkfont.6", "figlist.6", "showfigfonts.6"]
for f in manuals:
install(f, prefix.man6)
- install_tree('./fonts', prefix.share.figlet)
+ install_tree("./fonts", prefix.share.figlet)
@property
def build_targets(self):
- return ['DEFAULTFONTDIR=' + self.prefix.share.figlet]
+ return ["DEFAULTFONTDIR=" + self.prefix.share.figlet]
diff --git a/var/spack/repos/builtin/packages/figtree/package.py b/var/spack/repos/builtin/packages/figtree/package.py
index d876232fab..d2d15d0142 100644
--- a/var/spack/repos/builtin/packages/figtree/package.py
+++ b/var/spack/repos/builtin/packages/figtree/package.py
@@ -10,30 +10,33 @@ from spack.package import *
class Figtree(Package):
"""FigTree is designed as a graphical viewer of phylogenetic trees and
- as a program for producing publication-ready figures. As with most of
- my programs, it was written for my own needs so may not be as polished
- and feature-complete as a commercial program. In particular it is
- designed to display summarized and annotated trees produced by BEAST."""
+ as a program for producing publication-ready figures. As with most of
+ my programs, it was written for my own needs so may not be as polished
+ and feature-complete as a commercial program. In particular it is
+ designed to display summarized and annotated trees produced by BEAST."""
homepage = "https://github.com/rambaut/figtree"
- url = "https://github.com/rambaut/figtree/releases/download/v1.4.3/FigTree_v1.4.3.tgz"
+ url = "https://github.com/rambaut/figtree/releases/download/v1.4.3/FigTree_v1.4.3.tgz"
- version('1.4.3', sha256='f497d4dd3a6d220f6b62495b6f47a12ade50d87dbd8d6089f168e94d202f937b')
+ version("1.4.3", sha256="f497d4dd3a6d220f6b62495b6f47a12ade50d87dbd8d6089f168e94d202f937b")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def patch(self):
# we have to change up the executable to point to the right program
- filter_file('lib/figtree.jar',
- join_path(self.spec.prefix.lib, 'figtree.jar'),
- 'bin/figtree', string=True)
+ filter_file(
+ "lib/figtree.jar",
+ join_path(self.spec.prefix.lib, "figtree.jar"),
+ "bin/figtree",
+ string=True,
+ )
# also set proper executable flags
- os.chmod('bin/figtree', 0o775)
+ os.chmod("bin/figtree", 0o775)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
mkdirp(prefix.lib)
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/file/package.py b/var/spack/repos/builtin/packages/file/package.py
index 5054ef1d08..37539ce5b0 100644
--- a/var/spack/repos/builtin/packages/file/package.py
+++ b/var/spack/repos/builtin/packages/file/package.py
@@ -13,29 +13,29 @@ class File(AutotoolsPackage):
tool that tells you in words what kind of data a file contains"""
homepage = "https://www.darwinsys.com/file/"
- url = "https://astron.com/pub/file/file-5.37.tar.gz"
+ url = "https://astron.com/pub/file/file-5.37.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('5.42', sha256='c076fb4d029c74073f15c43361ef572cfb868407d347190ba834af3b1639b0e4')
- version('5.41', sha256='13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f')
- version('5.40', sha256='167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57')
- version('5.39', sha256='f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1')
- version('5.38', sha256='593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34')
- version('5.37', sha256='e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f')
+ version("5.42", sha256="c076fb4d029c74073f15c43361ef572cfb868407d347190ba834af3b1639b0e4")
+ version("5.41", sha256="13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f")
+ version("5.40", sha256="167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57")
+ version("5.39", sha256="f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1")
+ version("5.38", sha256="593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34")
+ version("5.37", sha256="e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f")
- executables = ['^file$']
+ executables = ["^file$"]
- variant('static', default=True, description='Also build static libraries')
+ variant("static", default=True, description="Also build static libraries")
- depends_on('bzip2')
- depends_on('xz')
- depends_on('zlib')
+ depends_on("bzip2")
+ depends_on("xz")
+ depends_on("zlib")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'file-(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"file-(\S+)", output)
return match.group(1) if match else None
def configure_args(self):
@@ -46,5 +46,5 @@ class File(AutotoolsPackage):
"--enable-bzlib",
"--enable-xzlib",
]
- args += self.enable_or_disable('static')
+ args += self.enable_or_disable("static")
return args
diff --git a/var/spack/repos/builtin/packages/filebench/package.py b/var/spack/repos/builtin/packages/filebench/package.py
index deb4c080f9..5096093f57 100644
--- a/var/spack/repos/builtin/packages/filebench/package.py
+++ b/var/spack/repos/builtin/packages/filebench/package.py
@@ -19,14 +19,14 @@ class Filebench(AutotoolsPackage):
"""
homepage = "https://github.com/filebench/filebench"
- url = "https://github.com/filebench/filebench/archive/1.4.9.1.tar.gz"
+ url = "https://github.com/filebench/filebench/archive/1.4.9.1.tar.gz"
- version('1.4.9.1', sha256='77ae91b83c828ded1219550aec74fbbd6975dce02cb5ab13c3b99ac2154e5c2e')
- version('1.4.9', sha256='61b8a838c1450b51a4ce61481a19a1bf0d6e3993180c524ff4051f7c18bd9c6a')
+ version("1.4.9.1", sha256="77ae91b83c828ded1219550aec74fbbd6975dce02cb5ab13c3b99ac2154e5c2e")
+ version("1.4.9", sha256="61b8a838c1450b51a4ce61481a19a1bf0d6e3993180c524ff4051f7c18bd9c6a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
diff --git a/var/spack/repos/builtin/packages/filo/package.py b/var/spack/repos/builtin/packages/filo/package.py
index e00d1e1087..17246806f1 100644
--- a/var/spack/repos/builtin/packages/filo/package.py
+++ b/var/spack/repos/builtin/packages/filo/package.py
@@ -10,23 +10,23 @@ class Filo(CMakePackage):
"""File flush and fetch, with MPI"""
homepage = "https://github.com/ecp-veloc/filo"
- git = "https://github.com/ecp-veloc/filo.git"
+ git = "https://github.com/ecp-veloc/filo.git"
- tags = ['ecp']
+ tags = ["ecp"]
- version('main', branch='main')
+ version("main", branch="main")
- depends_on('mpi')
- depends_on('axl')
- depends_on('kvtree')
- depends_on('spath')
+ depends_on("mpi")
+ depends_on("axl")
+ depends_on("kvtree")
+ depends_on("spath")
def cmake_args(self):
args = []
- args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
- if self.spec.satisfies('platform=cray'):
+ args.append("-DMPI_C_COMPILER=%s" % self.spec["mpi"].mpicc)
+ if self.spec.satisfies("platform=cray"):
args.append("-DFILO_LINK_STATIC=ON")
- args.append("-DWITH_AXL_PREFIX=%s" % self.spec['axl'].prefix)
- args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
- args.append("-DWITH_SPATH_PREFIX=%s" % self.spec['spath'].prefix)
+ args.append("-DWITH_AXL_PREFIX=%s" % self.spec["axl"].prefix)
+ args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec["kvtree"].prefix)
+ args.append("-DWITH_SPATH_PREFIX=%s" % self.spec["spath"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/filtlong/package.py b/var/spack/repos/builtin/packages/filtlong/package.py
index 3fd96879ac..f0c2c03fca 100644
--- a/var/spack/repos/builtin/packages/filtlong/package.py
+++ b/var/spack/repos/builtin/packages/filtlong/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Filtlong(MakefilePackage):
"""Filtlong is a tool for filtering long reads by quality. It can
- take a set of long reads and produce a smaller, better subset. """
+ take a set of long reads and produce a smaller, better subset."""
homepage = "https://github.com/rrwick/Filtlong"
- url = "https://github.com/rrwick/Filtlong/archive/v0.2.0.tar.gz"
+ url = "https://github.com/rrwick/Filtlong/archive/v0.2.0.tar.gz"
- version('0.2.0', sha256='a4afb925d7ced8d083be12ca58911bb16d5348754e7c2f6431127138338ee02a')
- version('0.1.1', sha256='ddae7a5850efeb64424965a443540b1ced34286fbefad9230ab71f4af314081b')
+ version("0.2.0", sha256="a4afb925d7ced8d083be12ca58911bb16d5348754e7c2f6431127138338ee02a")
+ version("0.1.1", sha256="ddae7a5850efeb64424965a443540b1ced34286fbefad9230ab71f4af314081b")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
mkdir(prefix.test)
- install_tree('test', prefix.test)
+ install_tree("test", prefix.test)
diff --git a/var/spack/repos/builtin/packages/fimpute/package.py b/var/spack/repos/builtin/packages/fimpute/package.py
index e0ea35f18b..ae7b380acc 100644
--- a/var/spack/repos/builtin/packages/fimpute/package.py
+++ b/var/spack/repos/builtin/packages/fimpute/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Fimpute(Package):
"""FImpute uses an overlapping sliding window approach to efficiently
- exploit relationships or haplotype similarities between target and
- reference individuals."""
+ exploit relationships or haplotype similarities between target and
+ reference individuals."""
homepage = "http://www.aps.uoguelph.ca/~msargol/fimpute/"
- url = "http://www.aps.uoguelph.ca/~msargol/fimpute/FImpute_Linux.zip"
+ url = "http://www.aps.uoguelph.ca/~msargol/fimpute/FImpute_Linux.zip"
- version('2014-01', sha256='aecda2dfdd4e3ef6f2331cc1d479e6f297f722fcdca455ca05bb047405534461')
+ version("2014-01", sha256="aecda2dfdd4e3ef6f2331cc1d479e6f297f722fcdca455ca05bb047405534461")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('FImpute', prefix.bin)
+ install("FImpute", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/find-circ/package.py b/var/spack/repos/builtin/packages/find-circ/package.py
index ef60b9599d..46fbe15508 100644
--- a/var/spack/repos/builtin/packages/find-circ/package.py
+++ b/var/spack/repos/builtin/packages/find-circ/package.py
@@ -12,23 +12,23 @@ class FindCirc(Package):
indicative of circular RNA (circRNA) in RNA-seq data."""
homepage = "https://github.com/marvin-jens/find_circ"
- url = "https://github.com/marvin-jens/find_circ/archive/v1.2.tar.gz"
+ url = "https://github.com/marvin-jens/find_circ/archive/v1.2.tar.gz"
- version('1.2', sha256='f88bf9b5d0cc818313074982d4460c96706f555d924e2821832c3d03bf67743e')
+ version("1.2", sha256="f88bf9b5d0cc818313074982d4460c96706f555d924e2821832c3d03bf67743e")
- depends_on('python@2.7:2.8', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
+ depends_on("python@2.7:2.8", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
# Higher version of py-pandas and py-numpy
# depends on python@3: which conflicts with py-rnacocktail
- depends_on('py-numpy@:1.16.5', type=('build', 'run'))
+ depends_on("py-numpy@:1.16.5", type=("build", "run"))
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('cmp_bed.py', prefix.bin)
- install('find_circ.py', prefix.bin)
- install('maxlength.py', prefix.bin)
- install('unmapped2anchors.py', prefix.bin)
- install('README.md', prefix)
- install('README.pdf', prefix)
- install('LICENSE', prefix)
- install_tree('test_data', prefix.test_data)
+ install("cmp_bed.py", prefix.bin)
+ install("find_circ.py", prefix.bin)
+ install("maxlength.py", prefix.bin)
+ install("unmapped2anchors.py", prefix.bin)
+ install("README.md", prefix)
+ install("README.pdf", prefix)
+ install("LICENSE", prefix)
+ install_tree("test_data", prefix.test_data)
diff --git a/var/spack/repos/builtin/packages/findbugs/package.py b/var/spack/repos/builtin/packages/findbugs/package.py
index 2f72819c95..c7798fdb2f 100644
--- a/var/spack/repos/builtin/packages/findbugs/package.py
+++ b/var/spack/repos/builtin/packages/findbugs/package.py
@@ -12,15 +12,15 @@ class Findbugs(Package):
Public License."""
homepage = "https://findbugs.sourceforge.net/"
- url = "https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-3.0.1.tar.gz"
+ url = "https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-3.0.1.tar.gz"
list_url = "https://sourceforge.net/projects/findbugs/files/findbugs"
list_depth = 1
- version('3.0.1', sha256='e80e0da0c213a27504ef3188ef25f107651700ffc66433eac6a7454bbe336419')
- version('3.0.0', sha256='31c75797ead68dbb334fd57bf16f4b7b99c9e266447171453e06fdf673335f33')
- version('2.0.3', sha256='59ba2a64d786ae5b3fa46e9f9c7bb3ea91c24d43d383c8ef594217f6f51e499f')
+ version("3.0.1", sha256="e80e0da0c213a27504ef3188ef25f107651700ffc66433eac6a7454bbe336419")
+ version("3.0.0", sha256="31c75797ead68dbb334fd57bf16f4b7b99c9e266447171453e06fdf673335f33")
+ version("2.0.3", sha256="59ba2a64d786ae5b3fa46e9f9c7bb3ea91c24d43d383c8ef594217f6f51e499f")
- depends_on('java', type=('run'))
+ depends_on("java", type=("run"))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/findutils/package.py b/var/spack/repos/builtin/packages/findutils/package.py
index 4cf4210d67..b6174ff9f1 100644
--- a/var/spack/repos/builtin/packages/findutils/package.py
+++ b/var/spack/repos/builtin/packages/findutils/package.py
@@ -10,9 +10,9 @@ from spack.package import *
class Findutils(AutotoolsPackage, GNUMirrorPackage):
"""The GNU Find Utilities are the basic directory searching
- utilities of the GNU operating system."""
+ utilities of the GNU operating system."""
- tags = ['core-packages']
+ tags = ["core-packages"]
homepage = "https://www.gnu.org/software/findutils/"
gnu_mirror_path = "findutils/findutils-4.8.0.tar.xz"
@@ -24,52 +24,52 @@ class Findutils(AutotoolsPackage, GNUMirrorPackage):
return super(Findutils, self).url_for_version(version)
- executables = ['^find$']
+ executables = ["^find$"]
- version('4.9.0', sha256='a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe')
- version('4.8.0', sha256='57127b7e97d91282c6ace556378d5455a9509898297e46e10443016ea1387164')
- version('4.7.0', sha256='c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a')
- version('4.6.0', sha256='ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d')
- version('4.4.2', sha256='434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a')
- version('4.4.1', sha256='77a5b85d7fe0dd9c1093e010b61f765707364ec2c89c4f432c1c616215bcc138')
- version('4.4.0', sha256='fb108c2959f17baf3559da9b3854495b9bb69fb13309fdd05576c66feb661ea9')
- version('4.2.33', sha256='813cd9405aceec5cfecbe96400d01e90ddad7b512d3034487176ce5258ab0f78')
- version('4.2.32', sha256='87bd8804f3c2fa2fe866907377afd8d26a13948a4bb1761e5e95d0494a005217')
- version('4.2.31', sha256='e0d34b8faca0b3cca0703f6c6b498afbe72f0ba16c35980c10ec9ef7724d6204')
- version('4.2.30', sha256='344b9cbb4034907f80398c6a6d3724507ff4b519036f13bb811d12f702043af4')
- version('4.2.29', sha256='1a9ed8db0711f8419156e786b6aecd42dd05df29e53e380d8924e696f7071ae0')
- version('4.2.28', sha256='aa27de514b44eb763d276ad8f19fef31a07bd63ac7ca6870d2be5cd58de862c8')
- version('4.2.27', sha256='546bc7932e716beaa960116766ea4d890f292c6fbde221ec10cdd8ec37329654')
- version('4.2.26', sha256='74fa9030b97e074cbeb4f6c8ec964c5e8292cf5a62b195086113417f75ab836a')
- version('4.2.25', sha256='a2bc59e80ee599368584f4ac4a6e647011700e1b5230e65eb3170c603047bb51')
- version('4.2.23', sha256='d3ca95bf003685c3c34eb59e41c5c4b366fb582a53c4cfa9da0424d98ff23be3')
- version('4.2.20', sha256='4e4d72a4387fcc942565c45460e632001db6bde0a46338a6a1b59b956fd3e031')
- version('4.2.18', sha256='05c33f3e46fa11275f89ae968af70c83b01a2c578ec4fa5abf5c33c7e4afe44d')
- version('4.2.15', sha256='5ede832e70c1691a59e6d5e5ebc2b843120d631b93cd60b905b2edeb078d3719')
- version('4.1.20', sha256='8c5dd50a5ca54367fa186f6294b81ec7a365e36d670d9feac62227cb513e63ab')
- version('4.1', sha256='487ecc0a6c8c90634a11158f360977e5ce0a9a6701502da6cb96a5a7ec143fac')
+ version("4.9.0", sha256="a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe")
+ version("4.8.0", sha256="57127b7e97d91282c6ace556378d5455a9509898297e46e10443016ea1387164")
+ version("4.7.0", sha256="c5fefbdf9858f7e4feb86f036e1247a54c79fc2d8e4b7064d5aaa1f47dfa789a")
+ version("4.6.0", sha256="ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d")
+ version("4.4.2", sha256="434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a")
+ version("4.4.1", sha256="77a5b85d7fe0dd9c1093e010b61f765707364ec2c89c4f432c1c616215bcc138")
+ version("4.4.0", sha256="fb108c2959f17baf3559da9b3854495b9bb69fb13309fdd05576c66feb661ea9")
+ version("4.2.33", sha256="813cd9405aceec5cfecbe96400d01e90ddad7b512d3034487176ce5258ab0f78")
+ version("4.2.32", sha256="87bd8804f3c2fa2fe866907377afd8d26a13948a4bb1761e5e95d0494a005217")
+ version("4.2.31", sha256="e0d34b8faca0b3cca0703f6c6b498afbe72f0ba16c35980c10ec9ef7724d6204")
+ version("4.2.30", sha256="344b9cbb4034907f80398c6a6d3724507ff4b519036f13bb811d12f702043af4")
+ version("4.2.29", sha256="1a9ed8db0711f8419156e786b6aecd42dd05df29e53e380d8924e696f7071ae0")
+ version("4.2.28", sha256="aa27de514b44eb763d276ad8f19fef31a07bd63ac7ca6870d2be5cd58de862c8")
+ version("4.2.27", sha256="546bc7932e716beaa960116766ea4d890f292c6fbde221ec10cdd8ec37329654")
+ version("4.2.26", sha256="74fa9030b97e074cbeb4f6c8ec964c5e8292cf5a62b195086113417f75ab836a")
+ version("4.2.25", sha256="a2bc59e80ee599368584f4ac4a6e647011700e1b5230e65eb3170c603047bb51")
+ version("4.2.23", sha256="d3ca95bf003685c3c34eb59e41c5c4b366fb582a53c4cfa9da0424d98ff23be3")
+ version("4.2.20", sha256="4e4d72a4387fcc942565c45460e632001db6bde0a46338a6a1b59b956fd3e031")
+ version("4.2.18", sha256="05c33f3e46fa11275f89ae968af70c83b01a2c578ec4fa5abf5c33c7e4afe44d")
+ version("4.2.15", sha256="5ede832e70c1691a59e6d5e5ebc2b843120d631b93cd60b905b2edeb078d3719")
+ version("4.1.20", sha256="8c5dd50a5ca54367fa186f6294b81ec7a365e36d670d9feac62227cb513e63ab")
+ version("4.1", sha256="487ecc0a6c8c90634a11158f360977e5ce0a9a6701502da6cb96a5a7ec143fac")
# The NVIDIA compilers do not currently support some GNU builtins.
# Detect this case and use the fallback path.
- patch('nvhpc.patch', when='@4.6.0 %nvhpc')
+ patch("nvhpc.patch", when="@4.6.0 %nvhpc")
# Workaround bug where __LONG_WIDTH__ is not defined
- patch('nvhpc-long-width.patch', when='@4.8.0:4.8 %nvhpc')
+ patch("nvhpc-long-width.patch", when="@4.8.0:4.8 %nvhpc")
# Auto-detecting whether `__attribute__((__nonnull__(...)))` is supported
# does not work for GCC on macOS
# <https://savannah.gnu.org/bugs/?func=detailitem&item_id=59972>; we thus
# disable this attribute manually
- patch('nonnull.patch', when='@4.8.0:')
+ patch("nonnull.patch", when="@4.8.0:")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
# Taken from here to build 4.8.0 with apple-clang:
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/findutils.rb
def setup_build_environment(self, spack_env):
- if self.spec.satisfies('@4.8.0 %apple-clang'):
- spack_env.set('CFLAGS', '-D__nonnull\\(params\\)=')
+ if self.spec.satisfies("@4.8.0 %apple-clang"):
+ spack_env.set("CFLAGS", "-D__nonnull\\(params\\)=")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'find \(GNU findutils\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"find \(GNU findutils\)\s+(\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/fio/package.py b/var/spack/repos/builtin/packages/fio/package.py
index 308d8244ab..77e683aacd 100644
--- a/var/spack/repos/builtin/packages/fio/package.py
+++ b/var/spack/repos/builtin/packages/fio/package.py
@@ -19,38 +19,36 @@ class Fio(AutotoolsPackage):
homepage = "https://github.com/axboe/fio"
url = "https://github.com/axboe/fio/archive/fio-3.26.tar.gz"
- version('3.26', sha256='8bd6987fd9b8c2a75d3923661566ade50b99f61fa4352148975e65577ffa4024')
- version('3.25', sha256='d8157676bc78a50f3ac82ffc6f80ffc3bba93cbd892fc4882533159a0cdbc1e8')
- version('3.19', sha256='809963b1d023dbc9ac7065557af8129aee17b6895e0e8c5ca671b0b14285f404')
- version('3.16', sha256='c7731a9e831581bab7104da9ea60c9f44e594438dbe95dff26726ca0285e7b93')
- version('2.19', sha256='61fb03a18703269b781aaf195cb0d7931493bbb5bfcc8eb746d5d66d04ed77f7')
+ version("3.26", sha256="8bd6987fd9b8c2a75d3923661566ade50b99f61fa4352148975e65577ffa4024")
+ version("3.25", sha256="d8157676bc78a50f3ac82ffc6f80ffc3bba93cbd892fc4882533159a0cdbc1e8")
+ version("3.19", sha256="809963b1d023dbc9ac7065557af8129aee17b6895e0e8c5ca671b0b14285f404")
+ version("3.16", sha256="c7731a9e831581bab7104da9ea60c9f44e594438dbe95dff26726ca0285e7b93")
+ version("2.19", sha256="61fb03a18703269b781aaf195cb0d7931493bbb5bfcc8eb746d5d66d04ed77f7")
- variant('gui', default=False, description='Enable building of gtk gfio')
- variant('doc', default=False, description='Generate documentation')
- variant('libaio', default=False, description='Enable libaio engine')
+ variant("gui", default=False, description="Enable building of gtk gfio")
+ variant("doc", default=False, description="Generate documentation")
+ variant("libaio", default=False, description="Enable libaio engine")
- depends_on('gtkplus@2.18:', when='+gui')
- depends_on('cairo', when='+gui')
- depends_on('libaio', when='+libaio')
+ depends_on("gtkplus@2.18:", when="+gui")
+ depends_on("cairo", when="+gui")
+ depends_on("libaio", when="+libaio")
- depends_on('py-sphinx', type='build', when='+doc')
+ depends_on("py-sphinx", type="build", when="+doc")
- conflicts('+libaio', when='platform=darwin',
- msg='libaio does not support Darwin')
+ conflicts("+libaio", when="platform=darwin", msg="libaio does not support Darwin")
- conflicts('@:3.18', when='%gcc@10:',
- msg='gcc@10: sets -fno-common by default')
+ conflicts("@:3.18", when="%gcc@10:", msg="gcc@10: sets -fno-common by default")
def configure_args(self):
config_args = []
- if '+gui' in self.spec:
- config_args.append('--enable-gfio')
+ if "+gui" in self.spec:
+ config_args.append("--enable-gfio")
return config_args
- @run_after('build')
+ @run_after("build")
def build_docs(self):
- if '+doc' in self.spec:
- make('-C', 'doc', 'html')
- make('-C', 'doc', 'man')
+ if "+doc" in self.spec:
+ make("-C", "doc", "html")
+ make("-C", "doc", "man")
diff --git a/var/spack/repos/builtin/packages/fipscheck/package.py b/var/spack/repos/builtin/packages/fipscheck/package.py
index 548b96ee5f..1f07a4e011 100644
--- a/var/spack/repos/builtin/packages/fipscheck/package.py
+++ b/var/spack/repos/builtin/packages/fipscheck/package.py
@@ -11,18 +11,18 @@ class Fipscheck(AutotoolsPackage):
validation of a software cryptographic module."""
homepage = "https://github.com/LairdCP/fipscheck"
- url = "https://github.com/LairdCP/fipscheck/archive/LRD-REL-7.0.0.398.tar.gz"
+ url = "https://github.com/LairdCP/fipscheck/archive/LRD-REL-7.0.0.398.tar.gz"
- version('7.0.0.398', sha256='1b78c71b8b39d948926910644ad544719ce6f69672d3205bc36a5924a07f6e9b')
- version('7.0.0.397', sha256='6bce42faabf372d08b6f8fadb4fa9e65671bebf6c0c91eab8c59ae96b1e7d600')
- version('7.0.0.396', sha256='058aafac78f3c0c5b65107686538b09eeb52cbb9b7ede688f3502df7d69c1209')
+ version("7.0.0.398", sha256="1b78c71b8b39d948926910644ad544719ce6f69672d3205bc36a5924a07f6e9b")
+ version("7.0.0.397", sha256="6bce42faabf372d08b6f8fadb4fa9e65671bebf6c0c91eab8c59ae96b1e7d600")
+ version("7.0.0.396", sha256="058aafac78f3c0c5b65107686538b09eeb52cbb9b7ede688f3502df7d69c1209")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/fish/package.py b/var/spack/repos/builtin/packages/fish/package.py
index e8f24869c1..c3b65f56fa 100644
--- a/var/spack/repos/builtin/packages/fish/package.py
+++ b/var/spack/repos/builtin/packages/fish/package.py
@@ -12,63 +12,63 @@ class Fish(CMakePackage):
the rest of the family.
"""
- homepage = 'https://fishshell.com/'
- url = 'https://github.com/fish-shell/fish-shell/releases/download/3.4.1/fish-3.4.1.tar.xz'
- git = 'https://github.com/fish-shell/fish-shell.git'
+ homepage = "https://fishshell.com/"
+ url = "https://github.com/fish-shell/fish-shell/releases/download/3.4.1/fish-3.4.1.tar.xz"
+ git = "https://github.com/fish-shell/fish-shell.git"
list_url = homepage
- maintainers = ['funnell']
+ maintainers = ["funnell"]
- version('master', branch='master')
- version('3.4.1', sha256='b6f23b3843b04db6b0a90fea1f6f0d0e40cc027b4a732098200863f2864a94ea')
- version('3.3.1', sha256='b5b4ee1a5269762cbbe993a4bd6507e675e4100ce9bbe84214a5eeb2b19fae89')
- version('3.1.2', sha256='d5b927203b5ca95da16f514969e2a91a537b2f75bec9b21a584c4cd1c7aa74ed')
- version('3.1.0', sha256='e5db1e6839685c56f172e1000c138e290add4aa521f187df4cd79d4eab294368')
- version('3.0.0', sha256='ea9dd3614bb0346829ce7319437c6a93e3e1dfde3b7f6a469b543b0d2c68f2cf')
+ version("master", branch="master")
+ version("3.4.1", sha256="b6f23b3843b04db6b0a90fea1f6f0d0e40cc027b4a732098200863f2864a94ea")
+ version("3.3.1", sha256="b5b4ee1a5269762cbbe993a4bd6507e675e4100ce9bbe84214a5eeb2b19fae89")
+ version("3.1.2", sha256="d5b927203b5ca95da16f514969e2a91a537b2f75bec9b21a584c4cd1c7aa74ed")
+ version("3.1.0", sha256="e5db1e6839685c56f172e1000c138e290add4aa521f187df4cd79d4eab294368")
+ version("3.0.0", sha256="ea9dd3614bb0346829ce7319437c6a93e3e1dfde3b7f6a469b543b0d2c68f2cf")
- variant('docs', default=False, description='Build documentation')
+ variant("docs", default=False, description="Build documentation")
# https://github.com/fish-shell/fish-shell#dependencies-1
- depends_on('cmake@3.2:', type='build')
- depends_on('ncurses')
- depends_on('pcre2@10.21:')
- depends_on('gettext')
- depends_on('py-sphinx', when='+docs', type='build')
- depends_on('python@3.3:', type='test')
- depends_on('py-pexpect', type='test')
+ depends_on("cmake@3.2:", type="build")
+ depends_on("ncurses")
+ depends_on("pcre2@10.21:")
+ depends_on("gettext")
+ depends_on("py-sphinx", when="+docs", type="build")
+ depends_on("python@3.3:", type="test")
+ depends_on("py-pexpect", type="test")
# https://github.com/fish-shell/fish-shell/issues/7310
- patch('codesign.patch', when='@3.1.2 platform=darwin')
+ patch("codesign.patch", when="@3.1.2 platform=darwin")
- executables = ['^fish$']
+ executables = ["^fish$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'fish, version (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"fish, version (\S+)", output)
return match.group(1) if match else None
def url_for_version(self, version):
- url = 'https://github.com/fish-shell/fish-shell/releases/download/{0}/fish-{0}.tar.{1}'
- if version < Version('3.2.0'):
- ext = 'gz'
+ url = "https://github.com/fish-shell/fish-shell/releases/download/{0}/fish-{0}.tar.{1}"
+ if version < Version("3.2.0"):
+ ext = "gz"
else:
- ext = 'xz'
+ ext = "xz"
return url.format(version, ext)
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', self.spec['ncurses'].libs.link_flags)
+ env.append_flags("LDFLAGS", self.spec["ncurses"].libs.link_flags)
def cmake_args(self):
args = [
- '-DBUILD_SHARED_LIBS=ON',
- '-DMAC_CODESIGN_ID=OFF',
- '-DPCRE2_LIB=' + self.spec['pcre2'].libs[0],
- '-DPCRE2_INCLUDE_DIR=' + self.spec['pcre2'].headers.directories[0],
+ "-DBUILD_SHARED_LIBS=ON",
+ "-DMAC_CODESIGN_ID=OFF",
+ "-DPCRE2_LIB=" + self.spec["pcre2"].libs[0],
+ "-DPCRE2_INCLUDE_DIR=" + self.spec["pcre2"].headers.directories[0],
]
- if '+docs' in self.spec:
- args.append('-DBUILD_DOCS=ON')
+ if "+docs" in self.spec:
+ args.append("-DBUILD_DOCS=ON")
else:
- args.append('-DBUILD_DOCS=OFF')
+ args.append("-DBUILD_DOCS=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/fixesproto/package.py b/var/spack/repos/builtin/packages/fixesproto/package.py
index e98d53db3d..452b24ac07 100644
--- a/var/spack/repos/builtin/packages/fixesproto/package.py
+++ b/var/spack/repos/builtin/packages/fixesproto/package.py
@@ -16,7 +16,7 @@ class Fixesproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/fixesproto"
xorg_mirror_path = "proto/fixesproto-5.0.tar.gz"
- version('5.0', sha256='67865a0e3cdc7dec1fd676f0927f7011ad4036c18eb320a2b41dbd56282f33b8')
+ version("5.0", sha256="67865a0e3cdc7dec1fd676f0927f7011ad4036c18eb320a2b41dbd56282f33b8")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/fj/package.py b/var/spack/repos/builtin/packages/fj/package.py
index 9931ee1298..268b1ac6e8 100644
--- a/var/spack/repos/builtin/packages/fj/package.py
+++ b/var/spack/repos/builtin/packages/fj/package.py
@@ -19,23 +19,21 @@ class Fj(Package):
homepage = "https://www.fujitsu.com/us/"
- maintainers = ['t-karatsu']
+ maintainers = ["t-karatsu"]
def install(self, spec, prefix):
raise InstallError(
- 'Fujitsu compilers are not installable yet, but can be '
- 'detected on a system where they are supplied by vendor'
+ "Fujitsu compilers are not installable yet, but can be "
+ "detected on a system where they are supplied by vendor"
)
- executables = ['^fcc', '^FCC', '^frt']
+ executables = ["^fcc", "^FCC", "^frt"]
@classmethod
def determine_version(cls, exe):
- version_regex = re.compile(r'\((?:FCC|FRT)\) ([a-z\d.]+)')
+ version_regex = re.compile(r"\((?:FCC|FRT)\) ([a-z\d.]+)")
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '--version'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "--version")
match = version_regex.search(output)
if match:
return match.group(1)
@@ -48,10 +46,10 @@ class Fj(Package):
def determine_variants(cls, exes, version_str):
compilers = {}
for exe in exes:
- if 'fcc' in exe:
- compilers['c'] = exe
- if 'FCC' in exe:
- compilers['cxx'] = exe
- if 'frt' in exe:
- compilers['fortran'] = exe
- return '', {'compilers': compilers}
+ if "fcc" in exe:
+ compilers["c"] = exe
+ if "FCC" in exe:
+ compilers["cxx"] = exe
+ if "frt" in exe:
+ compilers["fortran"] = exe
+ return "", {"compilers": compilers}
diff --git a/var/spack/repos/builtin/packages/fjcontrib/package.py b/var/spack/repos/builtin/packages/fjcontrib/package.py
index b09edf778a..c72a37463c 100644
--- a/var/spack/repos/builtin/packages/fjcontrib/package.py
+++ b/var/spack/repos/builtin/packages/fjcontrib/package.py
@@ -12,70 +12,69 @@ class Fjcontrib(AutotoolsPackage):
"""3rd party extensions of FastJet"""
homepage = "https://fastjet.hepforge.org/contrib/"
- url = "https://fastjet.hepforge.org/contrib/downloads/fjcontrib-1.044.tar.gz"
+ url = "https://fastjet.hepforge.org/contrib/downloads/fjcontrib-1.044.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('1.045', sha256='667f15556ca371cfaf185086fb41ac579658a233c18fb1e5153382114f9785f8')
- version('1.044', sha256='de3f45c2c1bed6d7567483e4a774575a504de8ddc214678bac7f64e9d2e7e7a7')
- version('1.043', sha256='ef0f586b19ffd12f392b7facc890a73d31fc11b9f5bb727cf3743d6eb59e9993')
- version('1.042', sha256='5b052e93a371c557557fa4a293cca4b08f88ccfb6c43a4df15b2a9f38c6d8831')
- version('1.041', sha256='31e244728de7787a582479cbed606a1c2fe5fcf3ad3ba1b0134742de5107510c')
- version('1.040', sha256='8fcd261f4dec41d3fcf2d550545d7b6e8e5f54e1604615489e7a2c0e45888663')
- version('1.039', sha256='a3b88de5e43edb13cde37ed5821aaed6562eec23a774092547f397b6e0b3f088')
- version('1.038', sha256='e90d079706a0db516cfc1170b4c34aa197320d019d71db1f726764f293561b15')
- version('1.037', sha256='9d69a4a91ef60557e9cebe14952db64f35ea75c51c14e57c1d998bbed0ad6342')
- version('1.036', sha256='ecb93ae43e76dbd485b50d37c234aa039fe455d26c273247bc3c93b273dc24f2')
- version('1.035', sha256='bc33e5c8132258213cf569789cbcfc838dbed1c242bd31decc0be1f099d405b6')
- version('1.034', sha256='8aa9ff609b678c363d682afde91765f7f1145cdf203c18c3fa15c3e1a9a5bcfa')
- version('1.033', sha256='d964370b3db0703e223b42a793b07eafbb3658db1266956fd86e69ea5abab7ea')
- version('1.032', sha256='125bae5ab04384596c4bcde1c84a3189034f1e94fd99b6c1025cfac1c1795831')
- version('1.031', sha256='edb692e8e4e4bbe5401d8891ccf81bd6d26fd7c41d1ec47bd40f2c0e39be9545')
- version('1.030', sha256='e4c47bf808f2c078d6fe332ccff00716fdec618e10b7adbf9344e44c8364dba9')
- version('1.029', sha256='9147f533bf806dbef5c80f38a26f2002f4c8dfe5c2e01ce1c8edfef27ed527ed')
- version('1.028', sha256='cbc24d6e28b03f3c198103c7ae449f401f2e3b7c8a58d241e87f6a8edd30effa')
- version('1.027', sha256='8d983c1622d4163459a67d7208961061699e52e417893c045357cd0d2d6048c4')
- version('1.026', sha256='6bfe538f17fb3fbbf2c0010640ed6eeedfe4317e6b56365e727d44639f76e3d7')
- version('1.025', sha256='504ff45770e8160f1d3b842ea5962c84faeb9acd2821195b08c7e21a84402dcc')
- version('1.024', sha256='be13d4b6dfc3c6a157c521247576d01abaa90413af07a5f13b1d0e3622225116')
- version('1.023', sha256='ca8f5520ab8c934ea4458016f66d4d7b08e25e491f8fdb5393572cd411ddde03')
- version('1.022', sha256='f505c60a87283f380f083736ac411bd865750e81e59876583a9d5c4085d927ce')
- version('1.021', sha256='f4bcd9ca39399a3b7719358e757462ecc7937f73a6b625cbb164173a26847d33')
- version('1.020', sha256='1ec2041cb5e7f050e20823a31111c7e61d24c4d7ee546c9714861b16eca83a04')
- version('1.019', sha256='adec9e1d3c48fec8d6786b64d9c4e95e79129a156f0b0ed3df7e98d57882ffb2')
- version('1.018', sha256='fe9d9661cefba048b19002abec7e75385ed73a8a3f45a29718e110beab142c2c')
- version('1.017', sha256='6f711b8b7f63a9a1bdf83cc1df6f7785bd3394e96dddba12186dfb5de352362c')
- version('1.016', sha256='9301027a71098ef75c37742a2f60631b2e39eb4d6b73b18db48d31e6aed830a0')
- version('1.015', sha256='4b9d56d2b6ae56a894b64920ac9ef59013b1d0a54454e716dd98e724f9ea82c0')
- version('1.014', sha256='c8de7a0cc19be7684dcfbc3101f9cd4c9426daa3009726acd5a5cbe5e699544b')
- version('1.013', sha256='c2b4838a41431cd1c28d3a836f10c00bb84eb6eb2e6586a28badab66518107a6')
- version('1.012', sha256='9215ee5b6465fa64296a0139e727a2eb61255d50faccafaa5b241e408ae54821')
- version('1.011', sha256='7e4e62755d5905e9dc4a6ef29728c03da538cbbff381eed32a35f06934304b1d')
- version('1.010', sha256='1ae74ef44e3d8ce96fd7eb61571819e8891ff708fd468a71780e693c2081176c')
- version('1.009', sha256='dc12cce6f0468b4fab9ec4d9fbb2c3d76e942b3b6965cf609963f65c69c08d2f')
- version('1.008', sha256='8cc98d837b0579b605a4731fb69882084948e1f1d2ee20af5c8adade2434e4ed')
- version('1.007', sha256='70b9d57e5c690d9af8b5be96eefeea9f8c4c4d1a7f000fe1dac30e5aae36077f')
- version('1.006', sha256='e2b6d2c5a666eb4db6bef89ea176df4bc1cdec316f8d18594ab54eb0ce8dcbb6')
- version('1.005', sha256='265e682a05c1f5e5cf1560cc4efa99e07b211cb2add5f3a09b5be4363ab9cc7f')
- version('1.004', sha256='b397e6f822a1d539ac1f63dc8c0709a7a00eed25f4c011114be71f0b38f8f514')
- version('1.003', sha256='79b2d42b1b7a99686fa2e0d95ad39050fd974fdf5ea5066271185ae308299b72')
- version('1.002', sha256='b48d2cc0a9c2fcfe3bb7faee3217a50191be4150a62ed2f6419fd0025d2cec92')
- version('1.001', sha256='6030dfee59040d2ada4ee582254e60b9ecf4b62598129e7b0a114672cf267491')
- version('1.000', sha256='95fa36ae48f03cb941d632b0a537995fb7148a6bd028c4978fab8b7b04332c3b')
- version('0.001', sha256='51f24ad55e28fb1f9d698270602e5077c920fcf58d8ccfd274efbe829d7dd821')
- version('0.000', sha256='9486b11201e6b6e181b8a3abecd929403ae9aa67de0eb8b7353fb82ab4b89f41')
+ version("1.045", sha256="667f15556ca371cfaf185086fb41ac579658a233c18fb1e5153382114f9785f8")
+ version("1.044", sha256="de3f45c2c1bed6d7567483e4a774575a504de8ddc214678bac7f64e9d2e7e7a7")
+ version("1.043", sha256="ef0f586b19ffd12f392b7facc890a73d31fc11b9f5bb727cf3743d6eb59e9993")
+ version("1.042", sha256="5b052e93a371c557557fa4a293cca4b08f88ccfb6c43a4df15b2a9f38c6d8831")
+ version("1.041", sha256="31e244728de7787a582479cbed606a1c2fe5fcf3ad3ba1b0134742de5107510c")
+ version("1.040", sha256="8fcd261f4dec41d3fcf2d550545d7b6e8e5f54e1604615489e7a2c0e45888663")
+ version("1.039", sha256="a3b88de5e43edb13cde37ed5821aaed6562eec23a774092547f397b6e0b3f088")
+ version("1.038", sha256="e90d079706a0db516cfc1170b4c34aa197320d019d71db1f726764f293561b15")
+ version("1.037", sha256="9d69a4a91ef60557e9cebe14952db64f35ea75c51c14e57c1d998bbed0ad6342")
+ version("1.036", sha256="ecb93ae43e76dbd485b50d37c234aa039fe455d26c273247bc3c93b273dc24f2")
+ version("1.035", sha256="bc33e5c8132258213cf569789cbcfc838dbed1c242bd31decc0be1f099d405b6")
+ version("1.034", sha256="8aa9ff609b678c363d682afde91765f7f1145cdf203c18c3fa15c3e1a9a5bcfa")
+ version("1.033", sha256="d964370b3db0703e223b42a793b07eafbb3658db1266956fd86e69ea5abab7ea")
+ version("1.032", sha256="125bae5ab04384596c4bcde1c84a3189034f1e94fd99b6c1025cfac1c1795831")
+ version("1.031", sha256="edb692e8e4e4bbe5401d8891ccf81bd6d26fd7c41d1ec47bd40f2c0e39be9545")
+ version("1.030", sha256="e4c47bf808f2c078d6fe332ccff00716fdec618e10b7adbf9344e44c8364dba9")
+ version("1.029", sha256="9147f533bf806dbef5c80f38a26f2002f4c8dfe5c2e01ce1c8edfef27ed527ed")
+ version("1.028", sha256="cbc24d6e28b03f3c198103c7ae449f401f2e3b7c8a58d241e87f6a8edd30effa")
+ version("1.027", sha256="8d983c1622d4163459a67d7208961061699e52e417893c045357cd0d2d6048c4")
+ version("1.026", sha256="6bfe538f17fb3fbbf2c0010640ed6eeedfe4317e6b56365e727d44639f76e3d7")
+ version("1.025", sha256="504ff45770e8160f1d3b842ea5962c84faeb9acd2821195b08c7e21a84402dcc")
+ version("1.024", sha256="be13d4b6dfc3c6a157c521247576d01abaa90413af07a5f13b1d0e3622225116")
+ version("1.023", sha256="ca8f5520ab8c934ea4458016f66d4d7b08e25e491f8fdb5393572cd411ddde03")
+ version("1.022", sha256="f505c60a87283f380f083736ac411bd865750e81e59876583a9d5c4085d927ce")
+ version("1.021", sha256="f4bcd9ca39399a3b7719358e757462ecc7937f73a6b625cbb164173a26847d33")
+ version("1.020", sha256="1ec2041cb5e7f050e20823a31111c7e61d24c4d7ee546c9714861b16eca83a04")
+ version("1.019", sha256="adec9e1d3c48fec8d6786b64d9c4e95e79129a156f0b0ed3df7e98d57882ffb2")
+ version("1.018", sha256="fe9d9661cefba048b19002abec7e75385ed73a8a3f45a29718e110beab142c2c")
+ version("1.017", sha256="6f711b8b7f63a9a1bdf83cc1df6f7785bd3394e96dddba12186dfb5de352362c")
+ version("1.016", sha256="9301027a71098ef75c37742a2f60631b2e39eb4d6b73b18db48d31e6aed830a0")
+ version("1.015", sha256="4b9d56d2b6ae56a894b64920ac9ef59013b1d0a54454e716dd98e724f9ea82c0")
+ version("1.014", sha256="c8de7a0cc19be7684dcfbc3101f9cd4c9426daa3009726acd5a5cbe5e699544b")
+ version("1.013", sha256="c2b4838a41431cd1c28d3a836f10c00bb84eb6eb2e6586a28badab66518107a6")
+ version("1.012", sha256="9215ee5b6465fa64296a0139e727a2eb61255d50faccafaa5b241e408ae54821")
+ version("1.011", sha256="7e4e62755d5905e9dc4a6ef29728c03da538cbbff381eed32a35f06934304b1d")
+ version("1.010", sha256="1ae74ef44e3d8ce96fd7eb61571819e8891ff708fd468a71780e693c2081176c")
+ version("1.009", sha256="dc12cce6f0468b4fab9ec4d9fbb2c3d76e942b3b6965cf609963f65c69c08d2f")
+ version("1.008", sha256="8cc98d837b0579b605a4731fb69882084948e1f1d2ee20af5c8adade2434e4ed")
+ version("1.007", sha256="70b9d57e5c690d9af8b5be96eefeea9f8c4c4d1a7f000fe1dac30e5aae36077f")
+ version("1.006", sha256="e2b6d2c5a666eb4db6bef89ea176df4bc1cdec316f8d18594ab54eb0ce8dcbb6")
+ version("1.005", sha256="265e682a05c1f5e5cf1560cc4efa99e07b211cb2add5f3a09b5be4363ab9cc7f")
+ version("1.004", sha256="b397e6f822a1d539ac1f63dc8c0709a7a00eed25f4c011114be71f0b38f8f514")
+ version("1.003", sha256="79b2d42b1b7a99686fa2e0d95ad39050fd974fdf5ea5066271185ae308299b72")
+ version("1.002", sha256="b48d2cc0a9c2fcfe3bb7faee3217a50191be4150a62ed2f6419fd0025d2cec92")
+ version("1.001", sha256="6030dfee59040d2ada4ee582254e60b9ecf4b62598129e7b0a114672cf267491")
+ version("1.000", sha256="95fa36ae48f03cb941d632b0a537995fb7148a6bd028c4978fab8b7b04332c3b")
+ version("0.001", sha256="51f24ad55e28fb1f9d698270602e5077c920fcf58d8ccfd274efbe829d7dd821")
+ version("0.000", sha256="9486b11201e6b6e181b8a3abecd929403ae9aa67de0eb8b7353fb82ab4b89f41")
- depends_on('fastjet')
+ depends_on("fastjet")
- build_targets = ['all', 'fragile-shared']
- install_targets = ['install', 'fragile-shared-install']
+ build_targets = ["all", "fragile-shared"]
+ install_targets = ["install", "fragile-shared-install"]
def configure_args(self):
- args = ['--fastjet-config=' +
- self.spec['fastjet'].prefix.bin +
- '/fastjet-config',
- "CXXFLAGS=-O3 -Wall -g " +
- self.compiler.cxx_pic_flag]
+ args = [
+ "--fastjet-config=" + self.spec["fastjet"].prefix.bin + "/fastjet-config",
+ "CXXFLAGS=-O3 -Wall -g " + self.compiler.cxx_pic_flag,
+ ]
return args
def build(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/fl/package.py b/var/spack/repos/builtin/packages/fl/package.py
index 44c7433f91..cf9e57d2a7 100644
--- a/var/spack/repos/builtin/packages/fl/package.py
+++ b/var/spack/repos/builtin/packages/fl/package.py
@@ -8,9 +8,15 @@ import platform
from spack.package import *
_versions = {
- '0.79.47': {
- 'Linux-x86_64': ('b8a4a74118c1a024313bf912261fbc016a53f2d15adb1226217f2a10a9f7ca9a', 'https://www.flxpert.hu/fl/fl_0.79.47-amd64-linux.tar.gz'),
- 'Linux-aarch64': ('3ff052013daf319927d04ba83b8f90c12575983911faf6c1559437062032b669', 'http://www.flxpert.hu/fl/fl_0.79.47-aarch64-linux.tar.gz')
+ "0.79.47": {
+ "Linux-x86_64": (
+ "b8a4a74118c1a024313bf912261fbc016a53f2d15adb1226217f2a10a9f7ca9a",
+ "https://www.flxpert.hu/fl/fl_0.79.47-amd64-linux.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "3ff052013daf319927d04ba83b8f90c12575983911faf6c1559437062032b669",
+ "http://www.flxpert.hu/fl/fl_0.79.47-aarch64-linux.tar.gz",
+ ),
}
}
@@ -20,7 +26,7 @@ class Fl(Package):
(Interactive Data Language) compatible compiler."""
homepage = "https://www.flxpert.hu/fl/"
- url = "https://www.flxpert.hu/fl/fl_0.79.47-amd64-linux.tar.gz"
+ url = "https://www.flxpert.hu/fl/fl_0.79.47-amd64-linux.tar.gz"
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
@@ -29,9 +35,11 @@ class Fl(Package):
version(ver, sha256=pkg[0], url=pkg[1])
def install(self, spec, prefix):
- if (self.spec.satisfies('platform=linux') and
- self.spec.target.family in ['x86_64', 'aarch64']):
- with working_dir('fl_{0}'.format(spec.version)):
- install_tree('.', prefix)
+ if self.spec.satisfies("platform=linux") and self.spec.target.family in [
+ "x86_64",
+ "aarch64",
+ ]:
+ with working_dir("fl_{0}".format(spec.version)):
+ install_tree(".", prefix)
else:
- raise InstallError('fl requires Linux x86_64 or aarch64 platform.')
+ raise InstallError("fl requires Linux x86_64 or aarch64 platform.")
diff --git a/var/spack/repos/builtin/packages/flac/package.py b/var/spack/repos/builtin/packages/flac/package.py
index b2e738c1cf..0ff0527fe1 100644
--- a/var/spack/repos/builtin/packages/flac/package.py
+++ b/var/spack/repos/builtin/packages/flac/package.py
@@ -10,12 +10,12 @@ class Flac(AutotoolsPackage):
"""Encoder/decoder for the Free Lossless Audio Codec"""
homepage = "https://xiph.org/flac/index.html"
- url = "http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz"
+ url = "http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz"
- version('1.3.3', sha256='213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748')
- version('1.3.2', sha256='91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f')
- version('1.3.1', sha256='4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c')
- version('1.3.0', sha256='fa2d64aac1f77e31dfbb270aeb08f5b32e27036a52ad15e69a77e309528010dc')
+ version("1.3.3", sha256="213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748")
+ version("1.3.2", sha256="91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f")
+ version("1.3.1", sha256="4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c")
+ version("1.3.0", sha256="fa2d64aac1f77e31dfbb270aeb08f5b32e27036a52ad15e69a77e309528010dc")
- depends_on('libvorbis')
- depends_on('id3lib')
+ depends_on("libvorbis")
+ depends_on("id3lib")
diff --git a/var/spack/repos/builtin/packages/flamemaster/package.py b/var/spack/repos/builtin/packages/flamemaster/package.py
index e19d7e8337..25ea4989c4 100644
--- a/var/spack/repos/builtin/packages/flamemaster/package.py
+++ b/var/spack/repos/builtin/packages/flamemaster/package.py
@@ -16,266 +16,238 @@ class Flamemaster(CMakePackage):
"""
homepage = "https://www.itv.rwth-aachen.de/downloads/flamemaster/"
- url = "file://{0}/flamemaster-4.3.1.tar.gz".format(os.getcwd())
+ url = "file://{0}/flamemaster-4.3.1.tar.gz".format(os.getcwd())
manual_download = True
- maintainers = ['amd-toolchain-support']
+ maintainers = ["amd-toolchain-support"]
- version('4.3.1', sha256='8ff382f098e44a7978fe1bcc688272d65f0b374487af4523d94cca983dc57378')
+ version("4.3.1", sha256="8ff382f098e44a7978fe1bcc688272d65f0b374487af4523d94cca983dc57378")
variant(
- 'build_type',
- default='Release',
- description='The build type to build',
- values=('None', 'Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("None", "Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
variant(
- 'bilin_omega',
+ "bilin_omega",
default=True,
- description='Compile with bilinear interpolation'
- 'for collision integrals (omega)')
+ description="Compile with bilinear interpolation" "for collision integrals (omega)",
+ )
variant(
- 'combustion',
+ "combustion",
default=False,
- description='Integrate comustion libraries'
- 'for kinetics, thermodynamics, and transport')
+ description="Integrate comustion libraries" "for kinetics, thermodynamics, and transport",
+ )
variant(
- 'fortran_code',
+ "fortran_code",
default=False,
- description='Compile optional fortran code like dassl, the adiabatic'
- 'flame temperature module, and a mechanism converter tool')
+ description="Compile optional fortran code like dassl, the adiabatic"
+ "flame temperature module, and a mechanism converter tool",
+ )
+ variant("scanmannew", default=False, description="Compile the new ScanMan")
variant(
- 'scanmannew',
- default=False,
- description='Compile the new ScanMan')
- variant(
- 'dco_chunk_tape',
- default=False,
- description='Dynamically allocate memory for the dco tape')
- variant(
- 'troe',
- default=False,
- description='FlameMaster mechanism format allows for specifying'
- 'an additional parameter. This option disables the use of the'
- 'paramter which is currently required to run adjoint sensitivity analysis.')
- variant(
- 'jl_debug',
- default=False,
- description='Debug mode during development(Johannes Lotz)')
- variant(
- 'flux_bc',
- default=False,
- description='Specify boundary conditions as velocity [m/s]'
- 'or massflux in Counterflow (Physical Coord.)')
+ "dco_chunk_tape", default=False, description="Dynamically allocate memory for the dco tape"
+ )
variant(
- 'full_diffusion',
+ "troe",
default=False,
- description='Compile with multi-component diffusion')
+ description="FlameMaster mechanism format allows for specifying"
+ "an additional parameter. This option disables the use of the"
+ "paramter which is currently required to run adjoint sensitivity analysis.",
+ )
+ variant("jl_debug", default=False, description="Debug mode during development(Johannes Lotz)")
variant(
- 'intel_prof',
+ "flux_bc",
default=False,
- description='Enable -prof-gen and -prof-use')
+ description="Specify boundary conditions as velocity [m/s]"
+ "or massflux in Counterflow (Physical Coord.)",
+ )
+ variant("full_diffusion", default=False, description="Compile with multi-component diffusion")
+ variant("intel_prof", default=False, description="Enable -prof-gen and -prof-use")
+ variant("soot_lib", default=False, description="Soot library with moment equation solving")
variant(
- 'soot_lib',
+ "newton_perf",
default=False,
- description='Soot library with moment equation solving')
+ description="Compile with time measurement of each Newton step",
+ )
+ variant("optima", default=False, description="Include code for Optima++ features")
+ variant("opt_reaction_rates", default=True, description="Fast computation of reaction rates.")
variant(
- 'newton_perf',
- default=False,
- description='Compile with time measurement of each Newton step')
- variant(
- 'optima',
- default=False,
- description='Include code for Optima++ features')
- variant(
- 'opt_reaction_rates',
+ "prem_upwind_convec",
default=True,
- description='Fast computation of reaction rates.')
+ description="Use upwind scheme for the convective term.",
+ )
variant(
- 'prem_upwind_convec',
- default=True,
- description='Use upwind scheme for the convective term.')
- variant(
- 'sundials_hint',
- default=False,
- description='No hints on how FlameMaster can install sundials.')
- variant(
- 'simd_kinetics',
+ "sundials_hint",
default=False,
- description='WITH SIMD_KINETICS')
+ description="No hints on how FlameMaster can install sundials.",
+ )
+ variant("simd_kinetics", default=False, description="WITH SIMD_KINETICS")
variant(
- 'solve_mom_log',
+ "solve_mom_log",
default=False,
- description='Solve the soot Moments equation with logarithms')
+ description="Solve the soot Moments equation with logarithms",
+ )
variant(
- 'solve_with_z',
+ "solve_with_z",
default=True,
- description='Counter flow diffusion flame implementation includes'
- 'a solution of the mixture fraction equation')
+ description="Counter flow diffusion flame implementation includes"
+ "a solution of the mixture fraction equation",
+ )
+ variant("sundials_lapack", default=False, description="Link LAPACK in sundials")
variant(
- 'sundials_lapack',
+ "sundials_no_idas_search",
default=False,
- description='Link LAPACK in sundials')
+ description="Do not search for IDAS (part of sundials).",
+ )
variant(
- 'sundials_no_idas_search',
- default=False,
- description='Do not search for IDAS (part of sundials).')
- variant(
- 'sundials_use_static_lib',
+ "sundials_use_static_lib",
default=True,
- description='Use static linking for sundials libraries')
- variant(
- 'sundials_diagnos',
- default=False,
- description='Only for troubleshooting')
+ description="Use static linking for sundials libraries",
+ )
+ variant("sundials_diagnos", default=False, description="Only for troubleshooting")
variant(
- 'tests',
+ "tests",
default=False,
- description='Install google-test framework for unit tests'
- 'and enable units tests.')
+ description="Install google-test framework for unit tests" "and enable units tests.",
+ )
variant(
- 'third_party_in_build_dir',
+ "third_party_in_build_dir",
default=True,
- description='Compile third party libraries and tools in build diretory')
- variant(
- 'local_lewis',
- default=False,
- description='Write Lewis numbers at every grid point')
+ description="Compile third party libraries and tools in build diretory",
+ )
+ variant("local_lewis", default=False, description="Write Lewis numbers at every grid point")
variant(
- 'flamemaster_prefix',
+ "flamemaster_prefix",
default=True,
- description='Used to modify the installation directories')
- variant(
- 'openmp',
- default=True,
- description='Build with OpenMP')
- variant(
- 'eigen',
- default=False,
- description='Build with Eigen Integration')
- variant(
- 'eglib',
- default=False,
- description='Build with EG lib')
- variant(
- 'sundials',
- default=True,
- description='with sundials')
+ description="Used to modify the installation directories",
+ )
+ variant("openmp", default=True, description="Build with OpenMP")
+ variant("eigen", default=False, description="Build with Eigen Integration")
+ variant("eglib", default=False, description="Build with EG lib")
+ variant("sundials", default=True, description="with sundials")
- depends_on('blas')
- depends_on('lapack')
- depends_on('cmake@3.12', type='build')
- depends_on('bison')
- depends_on('flex')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("cmake@3.12", type="build")
+ depends_on("bison")
+ depends_on("flex")
- root_cmakelists_dir = 'Repository'
+ root_cmakelists_dir = "Repository"
def setup_build_environment(self, env):
- env.set('LAPACK_HOME', self.spec['lapack'].prefix)
- env.set('BLIS_HOME', self.spec['blas'].prefix)
+ env.set("LAPACK_HOME", self.spec["lapack"].prefix)
+ env.set("BLIS_HOME", self.spec["blas"].prefix)
- if self.spec.satisfies('%aocc'):
+ if self.spec.satisfies("%aocc"):
env.append_flags(
- 'LDFLAGS',
- '-L{0} -lalm -lm -lstdc++'.format(
- pjoin(os.path.dirname(os.path.dirname(self.compiler.cxx)), "lib")))
+ "LDFLAGS",
+ "-L{0} -lalm -lm -lstdc++".format(
+ pjoin(os.path.dirname(os.path.dirname(self.compiler.cxx)), "lib")
+ ),
+ )
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER=%s' % spack_cc,
- '-DCMAKE_CXX_COMPILER=%s' % spack_cxx,
+ "-DCMAKE_C_COMPILER=%s" % spack_cc,
+ "-DCMAKE_CXX_COMPILER=%s" % spack_cxx,
]
- if spec.variants['build_type'].value == 'Release':
+ if spec.variants["build_type"].value == "Release":
cxx_flags_release = []
c_flags_release = []
fortran_flags_release = []
- if self.spec.satisfies('%aocc') or self.spec.satisfies('%gcc'):
- cxx_flags_release.extend(['-Ofast', '-ffast-math'])
- c_flags_release.extend(['-Ofast', '-ffast-math'])
- fortran_flags_release.extend(['-Ofast'])
- args.extend([
- self.define('CMAKE_CXX_FLAGS_RELEASE', ' '.join(cxx_flags_release)),
- self.define('CMAKE_C_FLAGS_RELEASE', ' '.join(c_flags_release)),
- self.define('CMAKE_Fortran_FLAGS_RELEASE', ' '.join(
- fortran_flags_release)),
- ])
- if self.spec.satisfies('%icc'):
+ if self.spec.satisfies("%aocc") or self.spec.satisfies("%gcc"):
+ cxx_flags_release.extend(["-Ofast", "-ffast-math"])
+ c_flags_release.extend(["-Ofast", "-ffast-math"])
+ fortran_flags_release.extend(["-Ofast"])
+ args.extend(
+ [
+ self.define("CMAKE_CXX_FLAGS_RELEASE", " ".join(cxx_flags_release)),
+ self.define("CMAKE_C_FLAGS_RELEASE", " ".join(c_flags_release)),
+ self.define("CMAKE_Fortran_FLAGS_RELEASE", " ".join(fortran_flags_release)),
+ ]
+ )
+ if self.spec.satisfies("%icc"):
cxxflags = "-Ofast -ffast-math -DNDEBUG -march=native\
-mtune=native -funroll-all-loops\
-qopt-multi-version-aggressive -ipo -parallel"
cflags = "-Ofast -ffast-math -DNDEBUG -march=native\
-mtune=native -funroll-all-loops -ipo -parallel"
fcflags = "-Ofast -march=native -mtune=native -ipo -parallel"
- args.extend([
- '-DCMAKE_CXX_FLAGS_RELEASE=%s' % cxxflags,
- '-DCMAKE_C_FLAGS_RELEASE=%s' % cflags,
- '-DCMAKE_Fortran_FLAGS_RELEASE=%s' % fcflags,
- ])
-
- if self.spec.satisfies('%aocc'):
+ args.extend(
+ [
+ "-DCMAKE_CXX_FLAGS_RELEASE=%s" % cxxflags,
+ "-DCMAKE_C_FLAGS_RELEASE=%s" % cflags,
+ "-DCMAKE_Fortran_FLAGS_RELEASE=%s" % fcflags,
+ ]
+ )
+
+ if self.spec.satisfies("%aocc"):
OpenMP_CXX_FLAGS = "-fopenmp=libomp"
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
- args.extend([
- '-DOpenMP_CXX_FLAGS=%s' % OpenMP_CXX_FLAGS,
- '-DOpenMP_C_FLAGS=%s' % OpenMP_CXX_FLAGS,
- '-DOpenMP_C_LIB_NAMES=libomp',
- '-DOpenMP_CXX_LIB_NAMES=libomp',
- '-DOpenMP_libomp_LIBRARY={0}/lib/libomp.so'.format(clang_root)
- ])
-
- args.append(self.define_from_variant('BILIN_OMEGA', 'bilin_omega'))
- args.append(self.define_from_variant('COMBUSTION_LIBS', 'combustion'))
- args.append(self.define_from_variant('COMPILE_FORTRAN_SRC', 'fortran_code'))
- args.append(self.define_from_variant('COMPILE_SCANMANNEW', 'scanmannew'))
- args.append(self.define_from_variant('DCO_CHUNK_TAPE', 'dco_chunk_tape'))
- args.append(self.define_from_variant('CHEMKIN_TROE', 'troe'))
- args.append(self.define_from_variant('JL_DEBUG', 'jl_debug'))
- args.append(self.define_from_variant('FLUX_BC_COUNTERFLOW', 'flux_bc'))
- args.append(self.define_from_variant('FULL_DIFFUSION', 'full_diffusion'))
- args.append(self.define_from_variant('ITV_SOOT_LIB', 'soot_lib'))
- args.append(self.define_from_variant('NEWTON_PERFORMANCE', 'newton_perf'))
- args.append(self.define_from_variant('OPTIMAPP', 'optima'))
- args.append(self.define_from_variant(
- 'OPT_REACTION_RATES', 'opt_reaction_rates'))
- args.append(self.define_from_variant(
- 'PREM_UPWIND_CONVEC', 'prem_upwind_convec'))
- args.append(self.define_from_variant('SILENCE_SUNDIALS_HINT', 'sundials_hint'))
- args.append(self.define_from_variant('SIMD_KINETICS', 'simd_kinetics'))
- args.append(self.define_from_variant('SOLVE_MOM_LOG', 'solve_mom_log'))
- args.append(self.define_from_variant('SOLVE_WITH_Z', 'solve_with_z'))
- args.append(self.define_from_variant('SUNDIALS_LAPACK', 'sundials_lapack'))
- args.append(self.define_from_variant(
- 'SUNDIALS_NO_IDAS_SEARCH', 'sundials_no_idas_search'))
- args.append(self.define_from_variant(
- 'SUNDIALS_USE_STATIC_LIBRARIES', 'sundials_use_static_lib'))
- args.append(self.define_from_variant('TESTS', 'tests'))
- args.append(self.define_from_variant(
- 'THIRD_PARTY_IN_BUILD_DIR', 'third_party_in_build_dir'))
- args.append(self.define_from_variant('WRITE_LOCAL_LEWIS', 'local_lewis'))
- args.append(self.define_from_variant(
- 'USE_FLAMEMASTER_PREFIX', 'flamemaster_prefix'))
- args.append(self.define_from_variant('WITH_EG', 'eglib'))
- args.append(self.define_from_variant('INSTALL_SUNDIALS', 'sundials'))
- args.append("-DINTEL_PROF_GEN:BOOL=%s" % (
- 'ON' if '+intel_prof' in spec else 'OFF'))
- args.append("-DINTEL_PROF_USE:BOOL=%s" % (
- 'ON' if '+intel_prof' in spec else 'OFF'))
- args.append("-DSUNDI_DIAGNOS_SEARCH_HEADER_FILES:BOOL=%s" % (
- 'ON' if '+sundials_diagnos' in spec else 'OFF'))
- args.append("-DSUNDI_DIAGNOS_SEARCH_LIB_FILES:BOOL=%s" % (
- 'ON' if '+sundials_diagnos' in spec else 'OFF'))
- args.append("-DEIGEN_INTEGRATION:BOOL=%s" % (
- 'ON' if '+eigen' in spec else 'OFF'))
- args.append("-DINSTALL_EIGEN:BOOL=%s" % (
- 'ON' if '+eigen' in spec else 'OFF'))
-
- if '^amdlibflame' in spec:
- args.append('-DBLA_VENDOR=FLAME')
-
- args.append('-DFLAMEMASTER_INSTALL_PREFIX:PATH={0}'.format(spec.prefix))
+ args.extend(
+ [
+ "-DOpenMP_CXX_FLAGS=%s" % OpenMP_CXX_FLAGS,
+ "-DOpenMP_C_FLAGS=%s" % OpenMP_CXX_FLAGS,
+ "-DOpenMP_C_LIB_NAMES=libomp",
+ "-DOpenMP_CXX_LIB_NAMES=libomp",
+ "-DOpenMP_libomp_LIBRARY={0}/lib/libomp.so".format(clang_root),
+ ]
+ )
+
+ args.append(self.define_from_variant("BILIN_OMEGA", "bilin_omega"))
+ args.append(self.define_from_variant("COMBUSTION_LIBS", "combustion"))
+ args.append(self.define_from_variant("COMPILE_FORTRAN_SRC", "fortran_code"))
+ args.append(self.define_from_variant("COMPILE_SCANMANNEW", "scanmannew"))
+ args.append(self.define_from_variant("DCO_CHUNK_TAPE", "dco_chunk_tape"))
+ args.append(self.define_from_variant("CHEMKIN_TROE", "troe"))
+ args.append(self.define_from_variant("JL_DEBUG", "jl_debug"))
+ args.append(self.define_from_variant("FLUX_BC_COUNTERFLOW", "flux_bc"))
+ args.append(self.define_from_variant("FULL_DIFFUSION", "full_diffusion"))
+ args.append(self.define_from_variant("ITV_SOOT_LIB", "soot_lib"))
+ args.append(self.define_from_variant("NEWTON_PERFORMANCE", "newton_perf"))
+ args.append(self.define_from_variant("OPTIMAPP", "optima"))
+ args.append(self.define_from_variant("OPT_REACTION_RATES", "opt_reaction_rates"))
+ args.append(self.define_from_variant("PREM_UPWIND_CONVEC", "prem_upwind_convec"))
+ args.append(self.define_from_variant("SILENCE_SUNDIALS_HINT", "sundials_hint"))
+ args.append(self.define_from_variant("SIMD_KINETICS", "simd_kinetics"))
+ args.append(self.define_from_variant("SOLVE_MOM_LOG", "solve_mom_log"))
+ args.append(self.define_from_variant("SOLVE_WITH_Z", "solve_with_z"))
+ args.append(self.define_from_variant("SUNDIALS_LAPACK", "sundials_lapack"))
+ args.append(self.define_from_variant("SUNDIALS_NO_IDAS_SEARCH", "sundials_no_idas_search"))
+ args.append(
+ self.define_from_variant("SUNDIALS_USE_STATIC_LIBRARIES", "sundials_use_static_lib")
+ )
+ args.append(self.define_from_variant("TESTS", "tests"))
+ args.append(
+ self.define_from_variant("THIRD_PARTY_IN_BUILD_DIR", "third_party_in_build_dir")
+ )
+ args.append(self.define_from_variant("WRITE_LOCAL_LEWIS", "local_lewis"))
+ args.append(self.define_from_variant("USE_FLAMEMASTER_PREFIX", "flamemaster_prefix"))
+ args.append(self.define_from_variant("WITH_EG", "eglib"))
+ args.append(self.define_from_variant("INSTALL_SUNDIALS", "sundials"))
+ args.append("-DINTEL_PROF_GEN:BOOL=%s" % ("ON" if "+intel_prof" in spec else "OFF"))
+ args.append("-DINTEL_PROF_USE:BOOL=%s" % ("ON" if "+intel_prof" in spec else "OFF"))
+ args.append(
+ "-DSUNDI_DIAGNOS_SEARCH_HEADER_FILES:BOOL=%s"
+ % ("ON" if "+sundials_diagnos" in spec else "OFF")
+ )
+ args.append(
+ "-DSUNDI_DIAGNOS_SEARCH_LIB_FILES:BOOL=%s"
+ % ("ON" if "+sundials_diagnos" in spec else "OFF")
+ )
+ args.append("-DEIGEN_INTEGRATION:BOOL=%s" % ("ON" if "+eigen" in spec else "OFF"))
+ args.append("-DINSTALL_EIGEN:BOOL=%s" % ("ON" if "+eigen" in spec else "OFF"))
+
+ if "^amdlibflame" in spec:
+ args.append("-DBLA_VENDOR=FLAME")
+
+ args.append("-DFLAMEMASTER_INSTALL_PREFIX:PATH={0}".format(spec.prefix))
return args
diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py
index 17fbaec932..d1172f9bd8 100644
--- a/var/spack/repos/builtin/packages/flann/package.py
+++ b/var/spack/repos/builtin/packages/flann/package.py
@@ -19,53 +19,53 @@ class Flann(CMakePackage):
"""
homepage = "https://github.com/mariusmuja/flann"
- url = "https://github.com/mariusmuja/flann/archive/1.9.1.tar.gz"
+ url = "https://github.com/mariusmuja/flann/archive/1.9.1.tar.gz"
- version('1.9.1', sha256='b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3')
- version('1.8.5', sha256='59a9925dac0705b281496ae52b5dfd79d6b69316d37015e3d3b38c859bac4f2f')
- version('1.8.4', sha256='ed5843113150b3d6bc4c325fecb51337838a9fc09ad64bdb6aea79d6e610ee13')
- version('1.8.1', sha256='82ff80709ca25365bca3367e87ffb4e0395fab068487314d02271bc3034591c1')
- version('1.8.0', sha256='8a3eef79512870dec20b3a3e481e5e5e6da00d524b810a22ee186f13732f0fa1')
+ version("1.9.1", sha256="b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3")
+ version("1.8.5", sha256="59a9925dac0705b281496ae52b5dfd79d6b69316d37015e3d3b38c859bac4f2f")
+ version("1.8.4", sha256="ed5843113150b3d6bc4c325fecb51337838a9fc09ad64bdb6aea79d6e610ee13")
+ version("1.8.1", sha256="82ff80709ca25365bca3367e87ffb4e0395fab068487314d02271bc3034591c1")
+ version("1.8.0", sha256="8a3eef79512870dec20b3a3e481e5e5e6da00d524b810a22ee186f13732f0fa1")
def url_for_version(self, version):
- if version > Version('1.8.1'):
+ if version > Version("1.8.1"):
return "https://github.com/mariusmuja/flann/archive/{0}.tar.gz".format(version)
else:
return "https://github.com/mariusmuja/flann/archive/{0}-src.tar.gz".format(version)
# Options available in the CMakeLists.txt
# Language bindings
- variant("python", default=False,
- description="Build the Python bindings. "
- "Module: pyflann.")
- extends('python', when='+python')
- variant("matlab", default=False, description="Build the Matlab bindings.")
+ variant("python", default=False, description="Build the Python bindings. " "Module: pyflann.")
+ extends("python", when="+python")
+ variant("matlab", default=False, description="Build the Matlab bindings.")
# default to true for C because it's a C++ library, nothing extra needed
- variant("c", default=True, description="Build the C bindings.")
+ variant("c", default=True, description="Build the C bindings.")
# Must build C bindings for Python / Matlab
conflicts("+python", when="~c")
conflicts("+matlab", when="~c")
# Additional options
- variant("cuda", default=False, description="Build the CUDA library.")
+ variant("cuda", default=False, description="Build the CUDA library.")
variant("examples", default=False, description="Build the examples.")
- variant("doc", default=False, description="Build the documentation.")
- variant("openmp", default=True, description="Use OpenMP multi-threading.")
+ variant("doc", default=False, description="Build the documentation.")
+ variant("openmp", default=True, description="Use OpenMP multi-threading.")
# mpi and hdf5 are the bread and butter of this library, use 'em
- variant("mpi", default=True, description="Use MPI.")
- variant("hdf5", default=True, description="Enable HDF5 support.")
+ variant("mpi", default=True, description="Use MPI.")
+ variant("hdf5", default=True, description="Enable HDF5 support.")
# Dependencies
- extends("python", when="+python")
+ extends("python", when="+python")
depends_on("py-numpy", when="+python", type=("build", "run"))
- depends_on("matlab", when="+matlab", type=("build", "run"))
- depends_on("cuda", when="+cuda")
- depends_on("mpi", when="+mpi")
- depends_on("hdf5", when="+hdf5")
+ depends_on("matlab", when="+matlab", type=("build", "run"))
+ depends_on("cuda", when="+cuda")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5", when="+hdf5")
# HDF5_IS_PARALLEL actually comes from hdf5+mpi
# https://github.com/mariusmuja/flann/blob/06a49513138009d19a1f4e0ace67fbff13270c69/CMakeLists.txt#L108-L112
- depends_on("boost+mpi+system+serialization+thread+regex+graph+chrono+exception", when="+mpi ^hdf5+mpi")
+ depends_on(
+ "boost+mpi+system+serialization+thread+regex+graph+chrono+exception", when="+mpi ^hdf5+mpi"
+ )
# Doc deps
depends_on("texlive", when="+doc")
@@ -73,28 +73,24 @@ class Flann(CMakePackage):
# Example uses hdf5.
depends_on("hdf5", when="+examples")
- depends_on('hdf5', type='test')
- depends_on('googletest', type='test')
+ depends_on("hdf5", type="test")
+ depends_on("googletest", type="test")
# See: https://github.com/mariusmuja/flann/issues/369
- patch('linux-gcc-cmakev3.11-plus.patch', when='%gcc^cmake@3.11:')
+ patch("linux-gcc-cmakev3.11-plus.patch", when="%gcc^cmake@3.11:")
def patch(self):
# Fix up the python setup.py call inside the install(CODE
- filter_file("setup.py install",
- 'setup.py --no-user-cfg install --prefix=\\"{0}\\"'.format(
- self.prefix
- ),
- "src/python/CMakeLists.txt")
+ filter_file(
+ "setup.py install",
+ 'setup.py --no-user-cfg install --prefix=\\"{0}\\"'.format(self.prefix),
+ "src/python/CMakeLists.txt",
+ )
# Fix the install location so that spack activate works
- if '+python' in self.spec:
- filter_file("share/flann/python",
- python_platlib,
- "src/python/CMakeLists.txt")
+ if "+python" in self.spec:
+ filter_file("share/flann/python", python_platlib, "src/python/CMakeLists.txt")
# Hack. Don't install setup.py
- filter_file("install( FILES",
- "# install( FILES",
- "src/python/CMakeLists.txt", string=True)
+ filter_file("install( FILES", "# install( FILES", "src/python/CMakeLists.txt", string=True)
def cmake_args(self):
spec = self.spec
@@ -125,8 +121,6 @@ class Flann(CMakePackage):
# Configure the proper python executable
if "+python" in spec:
- args.append(
- "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path)
- )
+ args.append("-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path))
return args
diff --git a/var/spack/repos/builtin/packages/flap/package.py b/var/spack/repos/builtin/packages/flap/package.py
index 99e4dff13b..78a273247f 100644
--- a/var/spack/repos/builtin/packages/flap/package.py
+++ b/var/spack/repos/builtin/packages/flap/package.py
@@ -10,16 +10,16 @@ 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"
+ url = "https://github.com/szaghi/FLAP.git"
+ git = "https://github.com/szaghi/FLAP.git"
- maintainers = ['fluidnumerics-joe']
+ maintainers = ["fluidnumerics-joe"]
- version('master', branch='master', submodules=True)
+ version("master", branch="master", submodules=True)
def flag_handler(self, name, flags):
- if name in ['cflags', 'cxxflags', 'cppflags']:
+ if name in ["cflags", "cxxflags", "cppflags"]:
return (None, flags, None)
- elif name == 'fflags':
- flags.append('-cpp')
+ elif name == "fflags":
+ flags.append("-cpp")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/flash/package.py b/var/spack/repos/builtin/packages/flash/package.py
index a53eea83bc..47a11a12a2 100644
--- a/var/spack/repos/builtin/packages/flash/package.py
+++ b/var/spack/repos/builtin/packages/flash/package.py
@@ -12,12 +12,12 @@ class Flash(MakefilePackage):
from next-generation sequencing experiments."""
homepage = "https://ccb.jhu.edu/software/FLASH/"
- url = "https://sourceforge.net/projects/flashpage/files/FLASH-1.2.11.tar.gz"
+ url = "https://sourceforge.net/projects/flashpage/files/FLASH-1.2.11.tar.gz"
- version('1.2.11', sha256='685ca6f7fedda07434d8ee03c536f4763385671c4509c5bb48beb3055fd236ac')
+ version("1.2.11", sha256="685ca6f7fedda07434d8ee03c536f4763385671c4509c5bb48beb3055fd236ac")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('flash', prefix.bin)
+ install("flash", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/flashdimmsim/package.py b/var/spack/repos/builtin/packages/flashdimmsim/package.py
index 1174478686..4dae24cd53 100644
--- a/var/spack/repos/builtin/packages/flashdimmsim/package.py
+++ b/var/spack/repos/builtin/packages/flashdimmsim/package.py
@@ -8,23 +8,24 @@ from spack.package import *
class Flashdimmsim(Package):
"""FlashDIMMSim: a reasonably accurate flash DIMM simulator."""
+
homepage = "https://github.com/slunk/FlashDIMMSim"
- git = "https://github.com/slunk/FlashDIMMSim.git"
+ git = "https://github.com/slunk/FlashDIMMSim.git"
- version('master', branch='master')
+ version("master", branch="master")
- build_directory = 'src'
+ build_directory = "src"
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make() # build program
- make('libfdsim.so') # build shared library
+ 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)
+ 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/flatbuffers/package.py b/var/spack/repos/builtin/packages/flatbuffers/package.py
index ee91b3d317..4099797396 100644
--- a/var/spack/repos/builtin/packages/flatbuffers/package.py
+++ b/var/spack/repos/builtin/packages/flatbuffers/package.py
@@ -7,59 +7,61 @@ from spack.package import *
class Flatbuffers(CMakePackage):
- """Memory Efficient Serialization Library
- """
+ """Memory Efficient Serialization Library"""
homepage = "https://google.github.io/flatbuffers/"
- url = "https://github.com/google/flatbuffers/archive/v1.9.0.tar.gz"
+ url = "https://github.com/google/flatbuffers/archive/v1.9.0.tar.gz"
- version('2.0.6', sha256='e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9')
- version('2.0.0', sha256='9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4')
- version('1.12.0', sha256='62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45')
- version('1.11.0', sha256='3f4a286642094f45b1b77228656fbd7ea123964f19502f9ecfd29933fd23a50b')
- version('1.10.0', sha256='3714e3db8c51e43028e10ad7adffb9a36fc4aa5b1a363c2d0c4303dd1be59a7c')
- version('1.9.0', sha256='5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3')
- version('1.8.0', sha256='c45029c0a0f1a88d416af143e34de96b3091642722aa2d8c090916c6d1498c2e')
+ version("2.0.6", sha256="e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9")
+ version("2.0.0", sha256="9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4")
+ version("1.12.0", sha256="62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45")
+ version("1.11.0", sha256="3f4a286642094f45b1b77228656fbd7ea123964f19502f9ecfd29933fd23a50b")
+ version("1.10.0", sha256="3714e3db8c51e43028e10ad7adffb9a36fc4aa5b1a363c2d0c4303dd1be59a7c")
+ version("1.9.0", sha256="5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3")
+ version("1.8.0", sha256="c45029c0a0f1a88d416af143e34de96b3091642722aa2d8c090916c6d1498c2e")
- variant('shared', default=True,
- description='Build shared instead of static libraries')
- variant('python', default=False,
- description='Build with python support')
+ variant("shared", default=True, description="Build shared instead of static libraries")
+ variant("python", default=False, description="Build with python support")
- extends('python', when='+python')
- depends_on('python@3.6:', when='+python', type=('build', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-setuptools', when='+python', type='build')
+ extends("python", when="+python")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-setuptools", when="+python", type="build")
# Fixes "Class-memaccess" compilation error in test
# https://github.com/google/flatbuffers/issues/5930
# Possibly affects earlier releases but I haven't tried to apply it.
- patch('https://raw.githubusercontent.com/Flamefire/easybuild-easyconfigs/'
- '72ba2a1a0d44fbd96ded9f279373ef804bdf3903/easybuild/easyconfigs/f/'
- 'flatbuffers/flatbuffers-1.12.0_replace-usage-of-memset.patch',
- sha256='094a98b5a7debbc2c60c2b235942c79e505ec76f9281f87c95d15e9ad8a97c52',
- when='@1.12.0:1%gcc@10:')
+ patch(
+ "https://raw.githubusercontent.com/Flamefire/easybuild-easyconfigs/"
+ "72ba2a1a0d44fbd96ded9f279373ef804bdf3903/easybuild/easyconfigs/f/"
+ "flatbuffers/flatbuffers-1.12.0_replace-usage-of-memset.patch",
+ sha256="094a98b5a7debbc2c60c2b235942c79e505ec76f9281f87c95d15e9ad8a97c52",
+ when="@1.12.0:1%gcc@10:",
+ )
# Silences false positive "-Wstringop-overflow" on GCC 10+
# https://github.com/google/flatbuffers/issues/5950
# Possibly affects earlier releases but I haven't tried to apply it.
- patch('https://github.com/google/flatbuffers/pull/6020.patch?full_index=1',
- sha256='579cb6fa4430d4304b93c7a1df7e922f3c3ec614c445032877ad328c209d5462',
- when='@1.12.0:1%gcc@10:')
+ patch(
+ "https://github.com/google/flatbuffers/pull/6020.patch?full_index=1",
+ sha256="579cb6fa4430d4304b93c7a1df7e922f3c3ec614c445032877ad328c209d5462",
+ when="@1.12.0:1%gcc@10:",
+ )
- @run_after('install')
+ @run_after("install")
def python_install(self):
- if '+python' in self.spec:
- pydir = join_path(self.stage.source_path, 'python')
+ if "+python" in self.spec:
+ pydir = join_path(self.stage.source_path, "python")
with working_dir(pydir):
- args = std_pip_args + ['--prefix=' + self.prefix, '.']
+ args = std_pip_args + ["--prefix=" + self.prefix, "."]
pip(*args)
def cmake_args(self):
args = []
- args.append(self.define_from_variant('FLATBUFFERS_BUILD_SHAREDLIB', 'shared'))
- args.append('-DFLATBUFFERS_BUILD_FLATLIB={0}'.format(
- 'ON' if '+shared' not in self.spec else 'OFF'))
- if 'darwin' in self.spec.architecture:
- args.append('-DCMAKE_MACOSX_RPATH=ON')
+ args.append(self.define_from_variant("FLATBUFFERS_BUILD_SHAREDLIB", "shared"))
+ args.append(
+ "-DFLATBUFFERS_BUILD_FLATLIB={0}".format("ON" if "+shared" not in self.spec else "OFF")
+ )
+ if "darwin" in self.spec.architecture:
+ args.append("-DCMAKE_MACOSX_RPATH=ON")
return args
diff --git a/var/spack/repos/builtin/packages/flatcc/package.py b/var/spack/repos/builtin/packages/flatcc/package.py
index 285adae9af..608a9f8ae3 100644
--- a/var/spack/repos/builtin/packages/flatcc/package.py
+++ b/var/spack/repos/builtin/packages/flatcc/package.py
@@ -16,21 +16,21 @@ class Flatcc(CMakePackage):
easier than C++."""
homepage = "https://github.com/dvidelabs/flatcc"
- url = "https://github.com/dvidelabs/flatcc/archive/v0.5.3.tar.gz"
- git = "https://github.com/dvidelabs/flatcc.git"
+ url = "https://github.com/dvidelabs/flatcc/archive/v0.5.3.tar.gz"
+ git = "https://github.com/dvidelabs/flatcc.git"
- version('0.5.3', sha256='d7519a97569ebdc9d12b162be0f9861fdc2724244f68595264a411ac48e4e983')
- version('0.5.2', sha256='02dac93d3daf8d0a290aa8711a9b8a53f047436ec5331adb1972389061ec6615')
- version('0.5.1', sha256='8c4560ca32e3c555716d9363bed469e2c60e0f443ec32bc08e7abfe681e25ca9')
- version('0.5.0', sha256='ef97a1c983b6d3a08572af535643600d03a6ff422f64b3dfa380a7193630695c')
- version('0.4.3', sha256='c0e9e40ddf90caa0cfefc3f3ce73713e6b9ac5eba4b2e946ae20dee0a559f82e')
- version('0.4.2', sha256='2e42e5ed6ee152de73ce1f32f2e96d2ebd77feeef8c1979fc1d8578941d07ab4')
- version('0.4.1', sha256='de9f668e5555b24c0885f8dc4f4098cc8065c1f428f8209097624035aee487df')
- version('master', branch='master')
+ version("0.5.3", sha256="d7519a97569ebdc9d12b162be0f9861fdc2724244f68595264a411ac48e4e983")
+ version("0.5.2", sha256="02dac93d3daf8d0a290aa8711a9b8a53f047436ec5331adb1972389061ec6615")
+ version("0.5.1", sha256="8c4560ca32e3c555716d9363bed469e2c60e0f443ec32bc08e7abfe681e25ca9")
+ version("0.5.0", sha256="ef97a1c983b6d3a08572af535643600d03a6ff422f64b3dfa380a7193630695c")
+ version("0.4.3", sha256="c0e9e40ddf90caa0cfefc3f3ce73713e6b9ac5eba4b2e946ae20dee0a559f82e")
+ version("0.4.2", sha256="2e42e5ed6ee152de73ce1f32f2e96d2ebd77feeef8c1979fc1d8578941d07ab4")
+ version("0.4.1", sha256="de9f668e5555b24c0885f8dc4f4098cc8065c1f428f8209097624035aee487df")
+ version("master", branch="master")
- variant('shared', default=True, description='Build shared libs')
+ variant("shared", default=True, description="Build shared libs")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
def cmake_args(self):
# Spack handles CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE automatically
@@ -38,13 +38,13 @@ class Flatcc(CMakePackage):
args = []
# allow flatcc to be built with more compilers
- args.append('-DFLATCC_ALLOW_WERROR=OFF')
+ args.append("-DFLATCC_ALLOW_WERROR=OFF")
- if '+shared' in spec:
- args.append('-DBUILD_SHARED_LIBS=ON')
- args.append('-DFLATCC_INSTALL=ON')
+ if "+shared" in spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
+ args.append("-DFLATCC_INSTALL=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
- args.append('-DFLATCC_INSTALL=OFF')
+ args.append("-DBUILD_SHARED_LIBS=OFF")
+ args.append("-DFLATCC_INSTALL=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/flcl/package.py b/var/spack/repos/builtin/packages/flcl/package.py
index 61eab32b2a..82df377b05 100644
--- a/var/spack/repos/builtin/packages/flcl/package.py
+++ b/var/spack/repos/builtin/packages/flcl/package.py
@@ -10,25 +10,23 @@ class Flcl(CMakePackage):
interoperability using Kokkos."""
homepage = "https://github.com/kokkos/kokkos-fortran-interop"
- git = "https://github.com/kokkos/kokkos-fortran-interop.git"
- url = "https://github.com/kokkos/kokkos-fortran-interop/releases/download/0.5.0/flcl-0.5.0.tar.gz"
+ git = "https://github.com/kokkos/kokkos-fortran-interop.git"
+ url = "https://github.com/kokkos/kokkos-fortran-interop/releases/download/0.5.0/flcl-0.5.0.tar.gz"
- maintainers = ['womeld', 'agaspar']
+ maintainers = ["womeld", "agaspar"]
- version('develop', branch='develop')
- version('0.99.0', sha256='edb8310154e5e5cf315dad63cd59f13b2537e0ba698869ce9757b04e38047464')
- version('0.5.0', sha256='bfd9b9092904eab1135d3bb4c458a50653b3325c176a722af56f158da0a16f19')
- version('0.4.0', sha256='0fe327906a991262866b126a7d58098eb48297148f117fd59a2dbcc14e76f394')
- version('0.3', sha256='fc18c8fa3ae33db61203b647ad9025d894612b0faaf7fe07426aaa8bbfa9e703')
+ version("develop", branch="develop")
+ version("0.99.0", sha256="edb8310154e5e5cf315dad63cd59f13b2537e0ba698869ce9757b04e38047464")
+ version("0.5.0", sha256="bfd9b9092904eab1135d3bb4c458a50653b3325c176a722af56f158da0a16f19")
+ version("0.4.0", sha256="0fe327906a991262866b126a7d58098eb48297148f117fd59a2dbcc14e76f394")
+ version("0.3", sha256="fc18c8fa3ae33db61203b647ad9025d894612b0faaf7fe07426aaa8bbfa9e703")
- depends_on('kokkos')
- depends_on('cmake@3.17:', type='build', when='@:0.4.0')
- depends_on('cmake@3.19:', type='build', when='@0.5.0:')
+ depends_on("kokkos")
+ depends_on("cmake@3.17:", type="build", when="@:0.4.0")
+ depends_on("cmake@3.19:", type="build", when="@0.5.0:")
- conflicts('kokkos@3.3.00:', when='@:0.4.99', msg='Requires FLCL >= 0.5.0 to use Kokkos >= 3.3')
+ conflicts("kokkos@3.3.00:", when="@:0.4.99", msg="Requires FLCL >= 0.5.0 to use Kokkos >= 3.3")
def cmake_args(self):
- args = [
- self.define('BUILD_TESTING', self.run_tests)
- ]
+ args = [self.define("BUILD_TESTING", self.run_tests)]
return args
diff --git a/var/spack/repos/builtin/packages/flecsale/package.py b/var/spack/repos/builtin/packages/flecsale/package.py
index 609806cc2a..bebb8e81b5 100644
--- a/var/spack/repos/builtin/packages/flecsale/package.py
+++ b/var/spack/repos/builtin/packages/flecsale/package.py
@@ -12,40 +12,32 @@ class Flecsale(CMakePackage):
"""Flecsale is an ALE code based on FleCSI"""
homepage = "https://github.com/laristra/flecsale"
- git = "https://github.com/laristra/flecsale.git"
+ git = "https://github.com/laristra/flecsale.git"
- version('develop', branch='master', submodules=True)
+ version("develop", branch="master", submodules=True)
- variant('mpi', default=True,
- description='Build on top of mpi conduit for mpi inoperability')
+ variant("mpi", default=True, description="Build on top of mpi conduit for mpi inoperability")
- depends_on("pkgconfig", type='build')
- depends_on("cmake@3.1:", type='build')
- depends_on("flecsi backend=serial", when='~mpi')
- conflicts("^flecsi backend=serial", when='+mpi')
+ depends_on("pkgconfig", type="build")
+ depends_on("cmake@3.1:", type="build")
+ depends_on("flecsi backend=serial", when="~mpi")
+ conflicts("^flecsi backend=serial", when="+mpi")
depends_on("python")
depends_on("openssl")
- depends_on("boost~mpi", when='~mpi')
- depends_on("boost+mpi", when='+mpi')
+ depends_on("boost~mpi", when="~mpi")
+ depends_on("boost+mpi", when="+mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on("exodusii~mpi", when='~mpi')
- depends_on("exodusii+mpi", when='+mpi')
+ depends_on("exodusii~mpi", when="~mpi")
+ depends_on("exodusii+mpi", when="+mpi")
def cmake_args(self):
- options = [
- '-DENABLE_UNIT_TESTS=ON'
- '-DENABLE_OPENSSL=ON'
- '-DENABLE_PYTHON=ON'
- ]
-
- if '+mpi' in self.spec:
- options.extend([
- '-DENABLE_MPI=ON',
- '-DFLECSI_RUNTIME_MODEL=legion'
- ])
+ options = ["-DENABLE_UNIT_TESTS=ON" "-DENABLE_OPENSSL=ON" "-DENABLE_PYTHON=ON"]
+
+ if "+mpi" in self.spec:
+ options.extend(["-DENABLE_MPI=ON", "-DFLECSI_RUNTIME_MODEL=legion"])
return options
diff --git a/var/spack/repos/builtin/packages/flecsi/package.py b/var/spack/repos/builtin/packages/flecsi/package.py
index 3e595976de..97480f4af9 100644
--- a/var/spack/repos/builtin/packages/flecsi/package.py
+++ b/var/spack/repos/builtin/packages/flecsi/package.py
@@ -7,195 +7,207 @@ from spack.package import *
class Flecsi(CMakePackage, CudaPackage):
- '''FleCSI is a compile-time configurable framework designed to support
- multi-physics application development. As such, FleCSI attempts to
- provide a very general set of infrastructure design patterns that can
- be specialized and extended to suit the needs of a broad variety of
- solver and data requirements. Current support includes multi-dimensional
- mesh topology, mesh geometry, and mesh adjacency information,
- n-dimensional hashed-tree data structures, graph partitioning
- interfaces,and dependency closures.
- '''
- homepage = 'http://flecsi.org/'
- git = 'https://github.com/flecsi/flecsi.git'
- maintainers = ['rspavel', 'ktsai7', 'rbberger']
-
- tags = ['e4s']
-
- version('develop', branch='develop', submodules=False)
- version('1.4.develop', git="https://github.com/laristra/flecsi.git", branch='1.4', submodules=False, preferred=False)
- version('1.4.2', git="https://github.com/laristra/flecsi.git", tag='v1.4.2', submodules=False, preferred=True)
- version('2.1.0', tag='v2.1.0', submodules=False, preferred=False)
- version('flecsph', git="https://github.com/laristra/flecsi.git", branch="stable/flecsph", submodules=True, preferred=False)
-
- variant('backend', default='mpi', values=('serial', 'mpi', 'legion', 'hpx', 'charmpp'),
- description='Backend to use for distributed memory', multi=False)
- variant('debug_backend', default=False,
- description='Build Backend with Debug Mode')
- variant('disable_metis', default=False,
- description='Disable FindPackageMetis')
- variant('shared', default=True,
- description='Build shared libraries')
- variant('flog', default=False,
- description='Enable flog testing')
- variant('doxygen', default=False,
- description='Enable doxygen')
- variant('doc', default=False,
- description='Enable documentation')
- variant('coverage', default=False,
- description='Enable coverage build')
- variant('hdf5', default=True,
- description='Enable HDF5 Support')
- variant('caliper_detail', default='none',
- values=('none', 'low', 'medium', 'high'),
- description='Set Caliper Profiling Detail', multi=False)
- variant('graphviz', default=False,
- description='Enable GraphViz Support')
- variant('tutorial', default=False,
- description='Build FleCSI Tutorials')
- variant('flecstan', default=False,
- description='Build FleCSI Static Analyzer')
- variant('external_cinch', default=True,
- description='Enable External Cinch')
- variant('kokkos', default=False,
- description='Enable Kokkos Support')
- variant('unit_tests', default=False,
- description='Build with Unit Tests Enabled')
- variant('openmp', default=False,
- description='Enable OpenMP Support')
+ """FleCSI is a compile-time configurable framework designed to support
+ multi-physics application development. As such, FleCSI attempts to
+ provide a very general set of infrastructure design patterns that can
+ be specialized and extended to suit the needs of a broad variety of
+ solver and data requirements. Current support includes multi-dimensional
+ mesh topology, mesh geometry, and mesh adjacency information,
+ n-dimensional hashed-tree data structures, graph partitioning
+ interfaces,and dependency closures.
+ """
+
+ homepage = "http://flecsi.org/"
+ git = "https://github.com/flecsi/flecsi.git"
+ maintainers = ["rspavel", "ktsai7", "rbberger"]
+
+ tags = ["e4s"]
+
+ version("develop", branch="develop", submodules=False)
+ version(
+ "1.4.develop",
+ git="https://github.com/laristra/flecsi.git",
+ branch="1.4",
+ submodules=False,
+ preferred=False,
+ )
+ version(
+ "1.4.2",
+ git="https://github.com/laristra/flecsi.git",
+ tag="v1.4.2",
+ submodules=False,
+ preferred=True,
+ )
+ version("2.1.0", tag="v2.1.0", submodules=False, preferred=False)
+ version(
+ "flecsph",
+ git="https://github.com/laristra/flecsi.git",
+ branch="stable/flecsph",
+ submodules=True,
+ preferred=False,
+ )
+
+ variant(
+ "backend",
+ default="mpi",
+ values=("serial", "mpi", "legion", "hpx", "charmpp"),
+ description="Backend to use for distributed memory",
+ multi=False,
+ )
+ variant("debug_backend", default=False, description="Build Backend with Debug Mode")
+ variant("disable_metis", default=False, description="Disable FindPackageMetis")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("flog", default=False, description="Enable flog testing")
+ variant("doxygen", default=False, description="Enable doxygen")
+ variant("doc", default=False, description="Enable documentation")
+ variant("coverage", default=False, description="Enable coverage build")
+ variant("hdf5", default=True, description="Enable HDF5 Support")
+ variant(
+ "caliper_detail",
+ default="none",
+ values=("none", "low", "medium", "high"),
+ description="Set Caliper Profiling Detail",
+ multi=False,
+ )
+ variant("graphviz", default=False, description="Enable GraphViz Support")
+ variant("tutorial", default=False, description="Build FleCSI Tutorials")
+ variant("flecstan", default=False, description="Build FleCSI Static Analyzer")
+ variant("external_cinch", default=True, description="Enable External Cinch")
+ variant("kokkos", default=False, description="Enable Kokkos Support")
+ variant("unit_tests", default=False, description="Build with Unit Tests Enabled")
+ variant("openmp", default=False, description="Enable OpenMP Support")
# All Current FleCSI Releases
- for level in ('low', 'medium', 'high'):
- depends_on('caliper@2.0.1~adiak~libdw', when='@:1.9 caliper_detail=%s' % level)
- depends_on('caliper', when='@2.0: caliper_detail=%s' % level)
- conflicts('caliper@2.6', when='@2.0: caliper_detail=%s' % level)
- conflicts('caliper@2.7', when='@2.0: caliper_detail=%s' % level)
-
- depends_on('graphviz', when='+graphviz')
- depends_on('hdf5+hl+mpi', when='+hdf5')
- depends_on('metis@5.1.0:')
- depends_on('parmetis@4.0.3:')
- depends_on('boost@1.70.0: cxxstd=17 +program_options')
- depends_on('openmpi+legacylaunchers', when='+unit_tests ^openmpi')
- depends_on('legion network=gasnet', when='backend=legion')
+ for level in ("low", "medium", "high"):
+ depends_on("caliper@2.0.1~adiak~libdw", when="@:1.9 caliper_detail=%s" % level)
+ depends_on("caliper", when="@2.0: caliper_detail=%s" % level)
+ conflicts("caliper@2.6", when="@2.0: caliper_detail=%s" % level)
+ conflicts("caliper@2.7", when="@2.0: caliper_detail=%s" % level)
+
+ depends_on("graphviz", when="+graphviz")
+ depends_on("hdf5+hl+mpi", when="+hdf5")
+ depends_on("metis@5.1.0:")
+ depends_on("parmetis@4.0.3:")
+ depends_on("boost@1.70.0: cxxstd=17 +program_options")
+ depends_on("openmpi+legacylaunchers", when="+unit_tests ^openmpi")
+ depends_on("legion network=gasnet", when="backend=legion")
# FleCSI@1.x
- depends_on('cmake@3.12:', when='@:1.9')
+ depends_on("cmake@3.12:", when="@:1.9")
# Requires cinch > 1.0 due to cinchlog installation issue
- depends_on('cinch@1.01:', type='build', when='+external_cinch @:1.9')
- depends_on('mpi', when='backend=mpi @:1.9')
- depends_on('mpi', when='backend=legion @:1.9')
- depends_on('mpi', when='backend=hpx @:1.9')
- depends_on('legion+shared', when='backend=legion @:1.9')
- depends_on('legion+hdf5', when='backend=legion +hdf5 @:1.9')
- depends_on('legion build_type=Debug', when='backend=legion +debug_backend @:1.9')
- depends_on('legion@cr', when='backend=legion @:1.9')
- depends_on('hpx@1.4.1 cxxstd=17 malloc=system max_cpu_count=128', when='backend=hpx @:1.9')
- depends_on('hpx build_type=Debug', when='backend=hpx +debug_backend @:1.9')
- depends_on('googletest@1.8.1+gmock', when='@:1.9')
- depends_on('python@3.0:', when='+tutorial @:1.9')
- depends_on('doxygen', when='+doxygen @:1.9')
- depends_on('llvm', when='+flecstan @:1.9')
- depends_on('pfunit@3.0:3', when='@:1.9')
- depends_on('py-gcovr', when='+coverage @:1.9')
+ depends_on("cinch@1.01:", type="build", when="+external_cinch @:1.9")
+ depends_on("mpi", when="backend=mpi @:1.9")
+ depends_on("mpi", when="backend=legion @:1.9")
+ depends_on("mpi", when="backend=hpx @:1.9")
+ depends_on("legion+shared", when="backend=legion @:1.9")
+ depends_on("legion+hdf5", when="backend=legion +hdf5 @:1.9")
+ depends_on("legion build_type=Debug", when="backend=legion +debug_backend @:1.9")
+ depends_on("legion@cr", when="backend=legion @:1.9")
+ depends_on("hpx@1.4.1 cxxstd=17 malloc=system max_cpu_count=128", when="backend=hpx @:1.9")
+ depends_on("hpx build_type=Debug", when="backend=hpx +debug_backend @:1.9")
+ depends_on("googletest@1.8.1+gmock", when="@:1.9")
+ depends_on("python@3.0:", when="+tutorial @:1.9")
+ depends_on("doxygen", when="+doxygen @:1.9")
+ depends_on("llvm", when="+flecstan @:1.9")
+ depends_on("pfunit@3.0:3", when="@:1.9")
+ depends_on("py-gcovr", when="+coverage @:1.9")
# FleCSI@2.x
- depends_on('cmake@3.15:', when='@2.0:')
- depends_on('boost +atomic +filesystem +regex +system', when='@2.0:')
- depends_on('kokkos@3.2.00:', when='+kokkos @2.0:')
- depends_on('kokkos +cuda +cuda_constexpr +cuda_lambda', when='+kokkos +cuda @2.0:')
- depends_on('legion@cr', when='backend=legion @2.0:')
- depends_on('legion+shared', when='backend=legion +shared @2.0:')
- depends_on('legion+hdf5', when='backend=legion +hdf5 @2.0:')
- depends_on('legion +kokkos +cuda', when='backend=legion +kokkos +cuda @2.0:')
- depends_on('hdf5@1.10.7:', when='backend=legion +hdf5 @2.0:')
- depends_on('hpx@1.3.0 cxxstd=17 malloc=system', when='backend=hpx @2.0:')
- depends_on('mpich@3.4.1:', when='@2.0: ^mpich')
- depends_on('openmpi@4.1.0:', when='@2.0: ^openmpi')
- depends_on('lanl-cmake-modules', when='@2.1.1:')
+ depends_on("cmake@3.15:", when="@2.0:")
+ depends_on("boost +atomic +filesystem +regex +system", when="@2.0:")
+ depends_on("kokkos@3.2.00:", when="+kokkos @2.0:")
+ depends_on("kokkos +cuda +cuda_constexpr +cuda_lambda", when="+kokkos +cuda @2.0:")
+ depends_on("legion@cr", when="backend=legion @2.0:")
+ depends_on("legion+shared", when="backend=legion +shared @2.0:")
+ depends_on("legion+hdf5", when="backend=legion +hdf5 @2.0:")
+ depends_on("legion +kokkos +cuda", when="backend=legion +kokkos +cuda @2.0:")
+ depends_on("hdf5@1.10.7:", when="backend=legion +hdf5 @2.0:")
+ depends_on("hpx@1.3.0 cxxstd=17 malloc=system", when="backend=hpx @2.0:")
+ depends_on("mpich@3.4.1:", when="@2.0: ^mpich")
+ depends_on("openmpi@4.1.0:", when="@2.0: ^openmpi")
+ depends_on("lanl-cmake-modules", when="@2.1.1:")
# Propagate cuda_arch requirement to dependencies
- cuda_arch_list = ('60', '70', '75', '80')
+ cuda_arch_list = ("60", "70", "75", "80")
for _flag in cuda_arch_list:
depends_on("kokkos cuda_arch=" + _flag, when="+cuda+kokkos cuda_arch=" + _flag + " @2.0:")
- depends_on("legion cuda_arch=" + _flag, when="backend=legion +cuda cuda_arch=" + _flag + " @2.0:")
+ depends_on(
+ "legion cuda_arch=" + _flag, when="backend=legion +cuda cuda_arch=" + _flag + " @2.0:"
+ )
- conflicts('%gcc@:8', when='@2.1:')
+ conflicts("%gcc@:8", when="@2.1:")
- conflicts('+tutorial', when='backend=hpx')
+ conflicts("+tutorial", when="backend=hpx")
# FleCSI@2: no longer supports serial or charmpp backends
- conflicts('backend=serial', when='@2.0:')
- conflicts('backend=charmpp', when='@2.0:')
+ conflicts("backend=serial", when="@2.0:")
+ conflicts("backend=charmpp", when="@2.0:")
# FleCSI@2: no longer expects to control how backend is built
- conflicts('+debug_backend', when='@2.0:')
+ conflicts("+debug_backend", when="@2.0:")
# FleCSI@2: No longer supports previous TPL related flags
- conflicts('+disable_metis', when='@2.0:')
+ conflicts("+disable_metis", when="@2.0:")
# FleCSI@2: no longer provides documentation variants
- conflicts('+doxygen', when='@2.0:')
- conflicts('+doc', when='@2.0:')
+ conflicts("+doxygen", when="@2.0:")
+ conflicts("+doc", when="@2.0:")
# FleCSI@2: no longer provides coverage variants
- conflicts('+coverage', when='@2.0:')
+ conflicts("+coverage", when="@2.0:")
# FleCSI@2: no longer provides tutorial variants
- conflicts('+tutorial', when='@2.0:')
+ conflicts("+tutorial", when="@2.0:")
# FleCSI@2: no longer supports flecstan
- conflicts('+flecstan', when='@2.0:')
+ conflicts("+flecstan", when="@2.0:")
# FleCSI@2: integrates cinch and no longer depends on external installs
# Except for lanl-cmake-modules as of 2.1.1: but that has no submodule
- conflicts('+external_cinch', when='@2.0:')
+ conflicts("+external_cinch", when="@2.0:")
# Current FleCSI@:1.4 releases do not support kokkos, omp, or cuda
- conflicts('+kokkos', when='@:1.4.99')
- conflicts('+openmp', when='@:1.4.99')
- conflicts('+cuda', when='@:1.4.99')
+ conflicts("+kokkos", when="@:1.4.99")
+ conflicts("+openmp", when="@:1.4.99")
+ conflicts("+cuda", when="@:1.4.99")
# Unit tests require flog support
- conflicts('+unit_tests', when='~flog')
+ conflicts("+unit_tests", when="~flog")
# Disallow conduit=none when using legion as a backend
- conflicts('^legion conduit=none', when='backend=legion')
+ conflicts("^legion conduit=none", when="backend=legion")
# Due to overhauls of Legion and Gasnet spackages
# flecsi@:1.4 can no longer be built with a usable legion
- conflicts('backend=legion', when='@:1.4.99')
+ conflicts("backend=legion", when="@:1.4.99")
def cmake_args(self):
spec = self.spec
- if spec.satisfies('@2.1.1:'):
- backend_flag = 'FLECSI_BACKEND'
+ if spec.satisfies("@2.1.1:"):
+ backend_flag = "FLECSI_BACKEND"
else:
- backend_flag = 'FLECSI_RUNTIME_MODEL'
+ backend_flag = "FLECSI_RUNTIME_MODEL"
options = [
- self.define_from_variant(backend_flag, 'backend'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CALIPER_DETAIL', 'caliper_detail'),
- self.define_from_variant('ENABLE_GRAPHVIZ', 'graphviz'),
- self.define_from_variant('ENABLE_KOKKOS', 'kokkos'),
- self.define_from_variant('ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('ENABLE_DOXYGEN', 'doxygen'),
- self.define_from_variant('ENABLE_DOCUMENTATION', 'doc'),
- self.define_from_variant('ENABLE_COVERAGE_BUILD', 'coverage'),
- self.define_from_variant('ENABLE_FLOG', 'flog'),
- self.define_from_variant('ENABLE_FLECSIT', 'tutorial'),
- self.define_from_variant('ENABLE_FLECSI_TUTORIAL', 'tutorial'),
- self.define_from_variant('ENABLE_FLECSTAN', 'flecstan'),
- self.define_from_variant('CMAKE_DISABLE_FIND_PACKAGE_METIS',
- 'disable_metis'),
- self.define('ENABLE_MPI', spec.variants['backend'].value != 'serial'),
- self.define('ENABLE_UNIT_TESTS', self.run_tests or '+unit' in spec),
- self.define('ENABLE_HDF5', '+hdf5' in spec and
- spec.variants['backend'].value != 'hpx')
+ self.define_from_variant(backend_flag, "backend"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("CALIPER_DETAIL", "caliper_detail"),
+ self.define_from_variant("ENABLE_GRAPHVIZ", "graphviz"),
+ self.define_from_variant("ENABLE_KOKKOS", "kokkos"),
+ self.define_from_variant("ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("ENABLE_DOXYGEN", "doxygen"),
+ self.define_from_variant("ENABLE_DOCUMENTATION", "doc"),
+ self.define_from_variant("ENABLE_COVERAGE_BUILD", "coverage"),
+ self.define_from_variant("ENABLE_FLOG", "flog"),
+ self.define_from_variant("ENABLE_FLECSIT", "tutorial"),
+ self.define_from_variant("ENABLE_FLECSI_TUTORIAL", "tutorial"),
+ self.define_from_variant("ENABLE_FLECSTAN", "flecstan"),
+ self.define_from_variant("CMAKE_DISABLE_FIND_PACKAGE_METIS", "disable_metis"),
+ self.define("ENABLE_MPI", spec.variants["backend"].value != "serial"),
+ self.define("ENABLE_UNIT_TESTS", self.run_tests or "+unit" in spec),
+ self.define(
+ "ENABLE_HDF5", "+hdf5" in spec and spec.variants["backend"].value != "hpx"
+ ),
]
- if '+external_cinch' in spec:
- options.append(self.define('CINCH_SOURCE_DIR', spec['cinch'].prefix))
+ if "+external_cinch" in spec:
+ options.append(self.define("CINCH_SOURCE_DIR", spec["cinch"].prefix))
- if spec.variants['backend'].value == 'hpx':
- options.append(
- self.define('HPX_IGNORE_CMAKE_BUILD_TYPE_COMPATIBILITY', True)
- )
+ if spec.variants["backend"].value == "hpx":
+ options.append(self.define("HPX_IGNORE_CMAKE_BUILD_TYPE_COMPATIBILITY", True))
- if spec.satisfies('@:1.9'):
+ if spec.satisfies("@:1.9"):
options.append(
- self.define('ENABLE_CALIPER',
- spec.variants['caliper_detail'].value != 'none')
+ self.define("ENABLE_CALIPER", spec.variants["caliper_detail"].value != "none")
)
return options
diff --git a/var/spack/repos/builtin/packages/flecsph/package.py b/var/spack/repos/builtin/packages/flecsph/package.py
index c4347d1880..b00a366dad 100644
--- a/var/spack/repos/builtin/packages/flecsph/package.py
+++ b/var/spack/repos/builtin/packages/flecsph/package.py
@@ -16,36 +16,36 @@ class Flecsph(CMakePackage):
(FMM)."""
homepage = "http://flecsi.lanl.com"
- git = "https://github.com/laristra/flecsph.git"
+ git = "https://github.com/laristra/flecsph.git"
- version('master', branch='master', submodules=True, preferred=True)
+ version("master", branch="master", submodules=True, preferred=True)
- variant('test', default=True, description='Adding tests')
+ variant("test", default=True, description="Adding tests")
- depends_on('cmake@3.15:', type='build')
+ depends_on("cmake@3.15:", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('boost@1.70.0: cxxstd=17 +program_options')
+ depends_on("boost@1.70.0: cxxstd=17 +program_options")
- depends_on('mpi')
- depends_on('hdf5+hl@1.8:')
- depends_on('flecsi@1.4.2 +external_cinch backend=mpi')
- depends_on('gsl')
- depends_on('googletest', when='+test')
- depends_on("pkgconfig", type='build')
+ depends_on("mpi")
+ depends_on("hdf5+hl@1.8:")
+ depends_on("flecsi@1.4.2 +external_cinch backend=mpi")
+ depends_on("gsl")
+ depends_on("googletest", when="+test")
+ depends_on("pkgconfig", type="build")
def setup_run_environment(self, env):
- env.set('HDF5_ROOT', self.spec['hdf5'].prefix)
+ env.set("HDF5_ROOT", self.spec["hdf5"].prefix)
def cmake_args(self):
- options = ['-DCMAKE_BUILD_TYPE=debug']
- options.append('-DENABLE_UNIT_TESTS=ON')
- options.append('-DENABLE_DEBUG=OFF')
- options.append('-DLOG_STRIP_LEVEL=1')
- options.append('-DENABLE_UNIT_TESTS=ON')
- options.append('-DENABLE_DEBUG_TREE=OFF')
+ options = ["-DCMAKE_BUILD_TYPE=debug"]
+ options.append("-DENABLE_UNIT_TESTS=ON")
+ options.append("-DENABLE_DEBUG=OFF")
+ options.append("-DLOG_STRIP_LEVEL=1")
+ options.append("-DENABLE_UNIT_TESTS=ON")
+ options.append("-DENABLE_DEBUG_TREE=OFF")
# add option to build the tests
return options
diff --git a/var/spack/repos/builtin/packages/fleur/package.py b/var/spack/repos/builtin/packages/fleur/package.py
index 0ac3f202bb..844e556b6e 100644
--- a/var/spack/repos/builtin/packages/fleur/package.py
+++ b/var/spack/repos/builtin/packages/fleur/package.py
@@ -8,81 +8,83 @@ from spack.package import *
class Fleur(Package):
"""FLEUR (Full-potential Linearised augmented plane wave in EURope)
- is a code family for calculating groundstate as well as excited-state properties
- of solids within the context of density functional theory (DFT)."""
+ is a code family for calculating groundstate as well as excited-state properties
+ of solids within the context of density functional theory (DFT)."""
homepage = "https://www.flapw.de/MaX-5.1"
git = "https://iffgit.fz-juelich.de/fleur/fleur.git"
- version('develop', branch='develop')
- version('5.1', tag='MaX-R5.1')
- version('5.0', tag='MaX-R5')
- version('4.0', tag='MaX-R4')
- version('3.1', tag='MaX-R3.1')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('hdf5', default=False, description='Enable HDF5 support')
- variant('scalapack', default=False, description='Enable SCALAPACK')
- variant('fft', default='internal', values=('internal', 'mkl', 'fftw'),
- description="Enable the use of Intel MKL FFT/FFTW provider")
- variant('elpa', default=False, description="Enable ELPA support")
- variant('magma', default=False, description='Enable Magma support')
- variant('external_libxc', default=False, description='Enable external libxc support')
- variant('spfft', default=False, description='Enable spfft support')
- variant('wannier90', default=False, description='Enable wannier90 support')
- variant('openmp', default=False, description="Enable OpenMP support.")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
-
- depends_on('cmake', type='build')
- depends_on('python@3:', type='build')
- depends_on('blas')
- depends_on('lapack')
- depends_on('libxml2')
- depends_on('mpi', when='+mpi')
- depends_on('intel-mkl', when="fft=mkl")
- depends_on('fftw-api', when='fft=fftw')
- depends_on('scalapack', when='+scalapack')
- depends_on('libxc', when='+external_libxc')
- depends_on('hdf5+hl+fortran', when='+hdf5')
- depends_on('magma+fortran', when='+magma')
- depends_on('wannier90', when='+wannier90')
- depends_on('spfft+fortran~openmp', when='+spfft~openmp')
- depends_on('spfft+fortran+openmp', when='+spfft+openmp')
- depends_on('elpa~openmp', when='+elpa~openmp')
- depends_on('elpa+openmp', when='+elpa+openmp')
-
- conflicts('%intel@:16.0.4',
- msg='ifort version <16.0 will most probably not work correctly')
- conflicts('%gcc@:6.3.0',
- msg='gfortran is known to work with versions newer than v6.3')
- conflicts('%pgi@:18.4.0',
- msg='You need at least PGI version 18.4 \
- but might still run into some problems.')
- conflicts('~scalapack', when='+elpa',
- msg='ELPA requires scalapack support')
- conflicts('@:5.0', when='fft=fftw',
- msg='FFTW interface is supported from Fleur v5.0')
- conflicts('@:5.0', when='+wannier90',
- msg='wannier90 is supported from Fleur v5.0')
- conflicts('@:4.0', when='+spfft',
- msg='SpFFT is supported from Fleur v4.0')
- conflicts('@:4.0', when='+external_libxc',
- msg='External libxc is supported from Fleur v4.0')
+ version("develop", branch="develop")
+ version("5.1", tag="MaX-R5.1")
+ version("5.0", tag="MaX-R5")
+ version("4.0", tag="MaX-R4")
+ version("3.1", tag="MaX-R3.1")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("hdf5", default=False, description="Enable HDF5 support")
+ variant("scalapack", default=False, description="Enable SCALAPACK")
+ variant(
+ "fft",
+ default="internal",
+ values=("internal", "mkl", "fftw"),
+ description="Enable the use of Intel MKL FFT/FFTW provider",
+ )
+ variant("elpa", default=False, description="Enable ELPA support")
+ variant("magma", default=False, description="Enable Magma support")
+ variant("external_libxc", default=False, description="Enable external libxc support")
+ variant("spfft", default=False, description="Enable spfft support")
+ variant("wannier90", default=False, description="Enable wannier90 support")
+ variant("openmp", default=False, description="Enable OpenMP support.")
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+
+ depends_on("cmake", type="build")
+ depends_on("python@3:", type="build")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("libxml2")
+ depends_on("mpi", when="+mpi")
+ depends_on("intel-mkl", when="fft=mkl")
+ depends_on("fftw-api", when="fft=fftw")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("libxc", when="+external_libxc")
+ depends_on("hdf5+hl+fortran", when="+hdf5")
+ depends_on("magma+fortran", when="+magma")
+ depends_on("wannier90", when="+wannier90")
+ depends_on("spfft+fortran~openmp", when="+spfft~openmp")
+ depends_on("spfft+fortran+openmp", when="+spfft+openmp")
+ depends_on("elpa~openmp", when="+elpa~openmp")
+ depends_on("elpa+openmp", when="+elpa+openmp")
+
+ conflicts("%intel@:16.0.4", msg="ifort version <16.0 will most probably not work correctly")
+ conflicts("%gcc@:6.3.0", msg="gfortran is known to work with versions newer than v6.3")
+ conflicts(
+ "%pgi@:18.4.0",
+ msg="You need at least PGI version 18.4 \
+ but might still run into some problems.",
+ )
+ conflicts("~scalapack", when="+elpa", msg="ELPA requires scalapack support")
+ conflicts("@:5.0", when="fft=fftw", msg="FFTW interface is supported from Fleur v5.0")
+ conflicts("@:5.0", when="+wannier90", msg="wannier90 is supported from Fleur v5.0")
+ conflicts("@:4.0", when="+spfft", msg="SpFFT is supported from Fleur v4.0")
+ conflicts("@:4.0", when="+external_libxc", msg="External libxc is supported from Fleur v4.0")
def setup_build_environment(self, env):
spec = self.spec
- if '+mpi' in spec:
- env.set('CC', spec['mpi'].mpicc, force=True)
- env.set('FC', spec['mpi'].mpifc, force=True)
- env.set('CXX', spec['mpi'].mpicxx, force=True)
+ if "+mpi" in spec:
+ env.set("CC", spec["mpi"].mpicc, force=True)
+ env.set("FC", spec["mpi"].mpifc, force=True)
+ env.set("CXX", spec["mpi"].mpicxx, force=True)
- @run_before('install')
+ @run_before("install")
def configure(self):
spec = self.spec
- sh = which('bash')
+ sh = which("bash")
options = {
"-link": [],
@@ -91,67 +93,63 @@ class Fleur(Package):
# "-flags": []
}
- options["-link"].append(spec['blas'].libs.link_flags)
- options["-libdir"].append(spec['blas'].prefix.lib)
- options["-includedir"].append(spec['blas'].prefix.include)
-
- options["-link"].append(spec['lapack'].libs.link_flags)
- options["-libdir"].append(spec['lapack'].prefix.lib)
- options["-includedir"].append(spec['lapack'].prefix.include)
-
- options["-link"].append(spec['libxml2'].libs.link_flags)
- options["-libdir"].append(spec['libxml2'].prefix.lib)
- options["-includedir"].append(spec['libxml2'].prefix.include)
- options["-includedir"].append(
- join_path(spec['libxml2'].prefix.include, "libxml2")
- )
-
- if 'fft=mkl' in spec:
- options["-link"].append(spec['intel-mkl'].libs.link_flags)
- options["-libdir"].append(spec['intel-mkl'].prefix.lib)
- options["-includedir"].append(spec['intel-mkl'].prefix.include)
- if 'fft=fftw' in spec:
- options["-link"].append(spec['fftw-api'].libs.link_flags)
- options["-libdir"].append(spec['fftw-api'].prefix.lib)
- options["-includedir"].append(spec['fftw-api'].prefix.include)
- if '+scalapack' in spec:
- options["-link"].append(spec['scalapack'].libs.link_flags)
- options["-libdir"].append(spec['scalapack'].prefix.lib)
- if '+external_libxc' in spec:
+ options["-link"].append(spec["blas"].libs.link_flags)
+ options["-libdir"].append(spec["blas"].prefix.lib)
+ options["-includedir"].append(spec["blas"].prefix.include)
+
+ options["-link"].append(spec["lapack"].libs.link_flags)
+ options["-libdir"].append(spec["lapack"].prefix.lib)
+ options["-includedir"].append(spec["lapack"].prefix.include)
+
+ options["-link"].append(spec["libxml2"].libs.link_flags)
+ options["-libdir"].append(spec["libxml2"].prefix.lib)
+ options["-includedir"].append(spec["libxml2"].prefix.include)
+ options["-includedir"].append(join_path(spec["libxml2"].prefix.include, "libxml2"))
+
+ if "fft=mkl" in spec:
+ options["-link"].append(spec["intel-mkl"].libs.link_flags)
+ options["-libdir"].append(spec["intel-mkl"].prefix.lib)
+ options["-includedir"].append(spec["intel-mkl"].prefix.include)
+ if "fft=fftw" in spec:
+ options["-link"].append(spec["fftw-api"].libs.link_flags)
+ options["-libdir"].append(spec["fftw-api"].prefix.lib)
+ options["-includedir"].append(spec["fftw-api"].prefix.include)
+ if "+scalapack" in spec:
+ options["-link"].append(spec["scalapack"].libs.link_flags)
+ options["-libdir"].append(spec["scalapack"].prefix.lib)
+ if "+external_libxc" in spec:
# Workaround: The fortran library is called libxcf90.a/so
# but spec['wannier90'].libs.link_flags return -lxc
- options["-link"].append('-lxcf90')
- options["-libdir"].append(spec['libxc'].prefix.lib)
- options["-includedir"].append(spec['libxc'].prefix.include)
- if '+hdf5' in spec:
- options["-link"].append(spec['hdf5'].libs.link_flags)
- options["-libdir"].append(spec['hdf5'].prefix.lib)
- options["-includedir"].append(spec['hdf5'].prefix.include)
- if '+magma' in spec:
- options["-link"].append(spec['magma'].libs.link_flags)
- options["-libdir"].append(spec['magma'].prefix.lib)
- options["-includedir"].append(spec['magma'].prefix.include)
- if '+wannier90' in spec:
+ options["-link"].append("-lxcf90")
+ options["-libdir"].append(spec["libxc"].prefix.lib)
+ options["-includedir"].append(spec["libxc"].prefix.include)
+ if "+hdf5" in spec:
+ options["-link"].append(spec["hdf5"].libs.link_flags)
+ options["-libdir"].append(spec["hdf5"].prefix.lib)
+ options["-includedir"].append(spec["hdf5"].prefix.include)
+ if "+magma" in spec:
+ options["-link"].append(spec["magma"].libs.link_flags)
+ options["-libdir"].append(spec["magma"].prefix.lib)
+ options["-includedir"].append(spec["magma"].prefix.include)
+ if "+wannier90" in spec:
# Workaround: The library is not called wannier90.a/so
# for this reason spec['wannier90'].libs.link_flags fails!
- options["-link"].append('-lwannier')
- options["-libdir"].append(spec['wannier90'].prefix.lib)
- if '+spfft' in spec:
- options["-link"].append(spec['spfft'].libs.link_flags)
+ options["-link"].append("-lwannier")
+ options["-libdir"].append(spec["wannier90"].prefix.lib)
+ if "+spfft" in spec:
+ options["-link"].append(spec["spfft"].libs.link_flags)
# Workaround: The library is installed in /lib64 not /lib
- options["-libdir"].append(spec['spfft'].prefix.lib + "64")
+ options["-libdir"].append(spec["spfft"].prefix.lib + "64")
# Workaround: The library needs spfft.mod in include/spfft path
- options["-includedir"].append(
- join_path(spec['spfft'].prefix.include, "spfft")
- )
- if '+elpa' in spec:
- options["-link"].append(spec['elpa'].libs.link_flags)
- options["-libdir"].append(spec['elpa'].prefix.lib)
+ options["-includedir"].append(join_path(spec["spfft"].prefix.include, "spfft"))
+ if "+elpa" in spec:
+ options["-link"].append(spec["elpa"].libs.link_flags)
+ options["-libdir"].append(spec["elpa"].prefix.lib)
# Workaround: The library needs elpa.mod in include/elpa_%VERS/modules
- options["-includedir"].append(spec['elpa'].prefix.include)
- options["-includedir"].append(spec['elpa'].headers.include_flags[2:])
+ options["-includedir"].append(spec["elpa"].prefix.include)
+ options["-includedir"].append(spec["elpa"].headers.include_flags[2:])
options["-includedir"].append(
- join_path(spec['elpa'].headers.include_flags[2:], "modules")
+ join_path(spec["elpa"].headers.include_flags[2:], "modules")
)
args = []
@@ -162,14 +160,14 @@ class Fleur(Package):
args.append("-includedir")
args.append(" ".join(options["-includedir"]))
- sh('configure.sh', *args)
+ sh("configure.sh", *args)
def install(self, spec, prefix):
- with working_dir('build'):
+ with working_dir("build"):
make()
mkdirp(prefix.bin)
- if '+mpi' in spec:
- install('fleur_MPI', prefix.bin)
+ if "+mpi" in spec:
+ install("fleur_MPI", prefix.bin)
else:
- install('fleur', prefix.bin)
- install('inpgen', prefix.bin)
+ install("fleur", prefix.bin)
+ install("inpgen", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py
index fb0d53cb52..ca0cc50781 100644
--- a/var/spack/repos/builtin/packages/flex/package.py
+++ b/var/spack/repos/builtin/packages/flex/package.py
@@ -15,80 +15,85 @@ class Flex(AutotoolsPackage):
homepage = "https://github.com/westes/flex"
url = "https://github.com/westes/flex/releases/download/v2.6.1/flex-2.6.1.tar.gz"
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^flex$']
+ executables = ["^flex$"]
- version('2.6.4', sha256='e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995')
- version('2.6.3', sha256='68b2742233e747c462f781462a2a1e299dc6207401dac8f0bbb316f48565c2aa', preferred=True)
+ version("2.6.4", sha256="e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995")
+ version(
+ "2.6.3",
+ sha256="68b2742233e747c462f781462a2a1e299dc6207401dac8f0bbb316f48565c2aa",
+ preferred=True,
+ )
# Avoid flex '2.6.2' (major bug)
# See issue #2554; https://github.com/westes/flex/issues/113
- version('2.6.1', sha256='3c43f9e658e45e8aae3cf69fa11803d60550865f023852830d557c5f0623c13b')
- version('2.6.0', sha256='cde6e46064a941a3810f7bbc612a2c39cb3aa29ce7eb775089c2515d0adfa7e9')
- version('2.5.39', sha256='258d3c9c38cae05932fb470db58b6a288a361c448399e6bda2694ef72a76e7cd')
+ version("2.6.1", sha256="3c43f9e658e45e8aae3cf69fa11803d60550865f023852830d557c5f0623c13b")
+ version("2.6.0", sha256="cde6e46064a941a3810f7bbc612a2c39cb3aa29ce7eb775089c2515d0adfa7e9")
+ version("2.5.39", sha256="258d3c9c38cae05932fb470db58b6a288a361c448399e6bda2694ef72a76e7cd")
- variant('nls', default=False, description="Enable native language support")
- variant('lex', default=True,
- description="Provide symlinks for lex and libl")
+ variant("nls", default=False, description="Enable native language support")
+ variant("lex", default=True, description="Provide symlinks for lex and libl")
- depends_on('bison', type='build')
- depends_on('gettext@0.19:', type='build', when='+nls')
- depends_on('gettext@0.19:', type='build', when='@:2.6.0,2.6.4')
- depends_on('help2man', type='build', when='@:2.6.0,2.6.4')
- depends_on('findutils', type='build')
- depends_on('diffutils', type='build')
+ depends_on("bison", type="build")
+ depends_on("gettext@0.19:", type="build", when="+nls")
+ depends_on("gettext@0.19:", type="build", when="@:2.6.0,2.6.4")
+ depends_on("help2man", type="build", when="@:2.6.0,2.6.4")
+ depends_on("findutils", type="build")
+ depends_on("diffutils", type="build")
# Older tarballs don't come with a configure script and the patch for
# 2.6.4 touches configure
- depends_on('m4', type='build')
- depends_on('autoconf', type='build', when='@:2.6.0,2.6.4')
- depends_on('automake', type='build', when='@:2.6.0,2.6.4')
- depends_on('libtool', type='build', when='@:2.6.0,2.6.4')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build", when="@:2.6.0,2.6.4")
+ depends_on("automake", type="build", when="@:2.6.0,2.6.4")
+ depends_on("libtool", type="build", when="@:2.6.0,2.6.4")
# 2.6.4 fails to compile with newer versions of gcc/glibc, see:
# - https://github.com/spack/spack/issues/8152
# - https://github.com/spack/spack/issues/6942
# - https://github.com/westes/flex/issues/241
- patch('https://github.com/westes/flex/commit/24fd0551333e7eded87b64dd36062da3df2f6380.patch?full_index=1',
- sha256='f8b85a00849bfb58c9b68e177b369f1e060ed8758253ff8daa57a873eae7b7a5',
- when='@2.6.4')
+ patch(
+ "https://github.com/westes/flex/commit/24fd0551333e7eded87b64dd36062da3df2f6380.patch?full_index=1",
+ sha256="f8b85a00849bfb58c9b68e177b369f1e060ed8758253ff8daa57a873eae7b7a5",
+ when="@2.6.4",
+ )
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'flex\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"flex\s+(\S+)", output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version):
results = []
for exe in exes:
- variants = ''
+ variants = ""
path = os.path.dirname(exe)
- if 'lex' in os.listdir(path):
+ if "lex" in os.listdir(path):
variants += "+lex"
else:
variants += "~lex"
results.append(variants)
return results
- @when('@:2.6.0,2.6.4')
+ @when("@:2.6.0,2.6.4")
def autoreconf(self, spec, prefix):
- autogen = Executable('./autogen.sh')
+ autogen = Executable("./autogen.sh")
autogen()
@property
def force_autoreconf(self):
# The patch for 2.6.4 touches configure
- return self.spec.satisfies('@2.6.4')
+ return self.spec.satisfies("@2.6.4")
def url_for_version(self, version):
url = "https://github.com/westes/flex"
- if version >= Version('2.6.1'):
+ if version >= Version("2.6.1"):
url += "/releases/download/v{0}/flex-{0}.tar.gz".format(version)
- elif version == Version('2.6.0'):
+ elif version == Version("2.6.0"):
url += "/archive/v{0}.tar.gz".format(version)
- elif version >= Version('2.5.37'):
+ elif version >= Version("2.5.37"):
url += "/archive/flex-{0}.tar.gz".format(version)
else:
url += "/archive/flex-{0}.tar.gz".format(version.dashed)
@@ -97,22 +102,23 @@ class Flex(AutotoolsPackage):
def configure_args(self):
args = []
- args += self.enable_or_disable('nls')
+ args += self.enable_or_disable("nls")
return args
- @run_after('install')
+ @run_after("install")
def symlink_lex(self):
"""Install symlinks for lex compatibility."""
- if self.spec.satisfies('+lex'):
+ if self.spec.satisfies("+lex"):
dso = dso_suffix
- for dir, flex, lex in \
- ((self.prefix.bin, 'flex', 'lex'),
- (self.prefix.lib, 'libfl.a', 'libl.a'),
- (self.prefix.lib, 'libfl.' + dso, 'libl.' + dso),
- (self.prefix.lib64, 'libfl.a', 'libl.a'),
- (self.prefix.lib64, 'libfl.' + dso, 'libl.' + dso)):
+ for dir, flex, lex in (
+ (self.prefix.bin, "flex", "lex"),
+ (self.prefix.lib, "libfl.a", "libl.a"),
+ (self.prefix.lib, "libfl." + dso, "libl." + dso),
+ (self.prefix.lib64, "libfl.a", "libl.a"),
+ (self.prefix.lib64, "libfl." + dso, "libl." + dso),
+ ):
if os.path.isdir(dir):
with working_dir(dir):
- if (os.path.isfile(flex) and not os.path.lexists(lex)):
+ if os.path.isfile(flex) and not os.path.lexists(lex):
symlink(flex, lex)
diff --git a/var/spack/repos/builtin/packages/flexi/package.py b/var/spack/repos/builtin/packages/flexi/package.py
index 7bc940db62..ccd71035a9 100644
--- a/var/spack/repos/builtin/packages/flexi/package.py
+++ b/var/spack/repos/builtin/packages/flexi/package.py
@@ -11,101 +11,131 @@ class Flexi(CMakePackage):
Dynamics Solver"""
homepage = "https://www.flexi-project.org/"
- git = "https://github.com/flexi-framework/flexi.git"
+ git = "https://github.com/flexi-framework/flexi.git"
- version('master', preferred=True)
- version('21.03.0', tag='v21.03.0')
+ version("master", preferred=True)
+ version("21.03.0", tag="v21.03.0")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
- variant('mpi', default=True, description='Enable MPI')
- variant('2d', default=False, description='If set to True the code will run in two-dimensional mode')
- variant('eqnsysname', default='navierstokes', values=('navierstokes', 'linearscalaradvection', 'rans_sa'), multi=False, description='Defines the equation system')
- variant('fv', default=False, description='Enables the usage of the finite volume subcell shock capturing mechanism')
+ variant("mpi", default=True, description="Enable MPI")
variant(
- 'lifting',
- default='br1',
- values=('br1', 'br2'),
+ "2d", default=False, description="If set to True the code will run in two-dimensional mode"
+ )
+ variant(
+ "eqnsysname",
+ default="navierstokes",
+ values=("navierstokes", "linearscalaradvection", "rans_sa"),
+ multi=False,
+ description="Defines the equation system",
+ )
+ variant(
+ "fv",
+ default=False,
+ description="Enables the usage of the finite volume subcell shock capturing mechanism",
+ )
+ variant(
+ "lifting",
+ default="br1",
+ values=("br1", "br2"),
multi=False,
description=(
- 'Two different lifting methods for the parabolic part of '
- 'the equation system available'
- )
+ "Two different lifting methods for the parabolic part of "
+ "the equation system available"
+ ),
+ )
+ variant(
+ "nodetype",
+ default="GAUSS",
+ values=("GAUSS", "GAUSS-LOBATTO"),
+ multi=False,
+ description="Space discretization basis function",
+ )
+ variant(
+ "split", default=False, description="Split form of the discontinuous Galerkin operator"
)
- variant('nodetype', default='GAUSS', values=('GAUSS', 'GAUSS-LOBATTO'), multi=False, description='Space discretization basis function')
- variant('split', default=False, description='Split form of the discontinuous Galerkin operator')
variant(
- 'parabolic',
+ "parabolic",
default=True,
description=(
- 'Defines whether the parabolic part of the chosen system '
- 'should be included or not'
- )
+ "Defines whether the parabolic part of the chosen system " "should be included or not"
+ ),
)
- variant('testcase', default='default', values=('default', 'taylorgreenvortex', 'phill', 'channel', 'riemann2d'), multi=False, description='Defines the used test case')
- variant('viscosity', default='constant', values=('constant', 'sutherland', 'powerlaw'), multi=False, description='Defines modeling approach for viscosity')
- variant('eddy_viscosity', default=False, description='Enable eddy viscosity')
+ variant(
+ "testcase",
+ default="default",
+ values=("default", "taylorgreenvortex", "phill", "channel", "riemann2d"),
+ multi=False,
+ description="Defines the used test case",
+ )
+ variant(
+ "viscosity",
+ default="constant",
+ values=("constant", "sutherland", "powerlaw"),
+ multi=False,
+ description="Defines modeling approach for viscosity",
+ )
+ variant("eddy_viscosity", default=False, description="Enable eddy viscosity")
# Available Tools
- variant('visu', default=True, description='Enable posti_visu')
- variant('swapmesg', default=False, description='Enable posti_swapmesh')
- variant('preparerecordpoints', default=False, description='Enable posti_preparerecordpoints')
- variant('visualizerecordpoints', default=False, description='Enable posti_visualizerecordpoints')
- variant('evaluaterecordpoints', default=False, description='Enable posti_evaluaterecordpoints')
- variant('mergetimeaverages', default=False, description='Enable posti_mergetimeaverages')
- variant('channel_fft', default=False, description='Enable posti_channel_fft')
- variant('to3d', default=False, description='Enable posti_to3d')
- variant('avg2d', default=False, description='Enable posti_avg2d')
-
- conflicts('+to3d', when='@:21.03.0', msg='Only available in newer releases')
- conflicts('nodetype=GAUSS', when='+split', msg='Only available for Gauss-Lobatto nodes')
-
- depends_on('mpi', when='+mpi')
- depends_on('hdf5+fortran+mpi', when='+mpi')
- depends_on('hdf5+fortran~mpi', when='~mpi')
- depends_on('lapack')
- depends_on('zlib')
- depends_on('fftw', when='+channel_fft')
+ variant("visu", default=True, description="Enable posti_visu")
+ variant("swapmesg", default=False, description="Enable posti_swapmesh")
+ variant("preparerecordpoints", default=False, description="Enable posti_preparerecordpoints")
+ variant(
+ "visualizerecordpoints", default=False, description="Enable posti_visualizerecordpoints"
+ )
+ variant("evaluaterecordpoints", default=False, description="Enable posti_evaluaterecordpoints")
+ variant("mergetimeaverages", default=False, description="Enable posti_mergetimeaverages")
+ variant("channel_fft", default=False, description="Enable posti_channel_fft")
+ variant("to3d", default=False, description="Enable posti_to3d")
+ variant("avg2d", default=False, description="Enable posti_avg2d")
+
+ conflicts("+to3d", when="@:21.03.0", msg="Only available in newer releases")
+ conflicts("nodetype=GAUSS", when="+split", msg="Only available for Gauss-Lobatto nodes")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5+fortran+mpi", when="+mpi")
+ depends_on("hdf5+fortran~mpi", when="~mpi")
+ depends_on("lapack")
+ depends_on("zlib")
+ depends_on("fftw", when="+channel_fft")
def flag_handler(self, name, flags):
- if name == 'fflags':
- if self.spec.satisfies('%gcc@10:'):
+ if name == "fflags":
+ if self.spec.satisfies("%gcc@10:"):
if flags is None:
flags = []
- flags.append('-fallow-argument-mismatch')
+ flags.append("-fallow-argument-mismatch")
return (flags, None, None)
def cmake_args(self):
args = [
- '-DLIBS_BUILD_HDF5:BOOL=OFF',
- self.define_from_variant('LIBS_USE_MPI', 'mpi'),
- self.define_from_variant('FLEXI_2D', '2d'),
- self.define_from_variant('FLEXI_EQNSYSNAME', 'eqnsysname'),
- self.define_from_variant('FLEXI_FV', 'fv'),
- self.define_from_variant('FLEXI_LIFTING', 'lifting'),
- self.define_from_variant('FLEXI_NODETYPE', 'nodetype'),
- self.define_from_variant('FLEXI_SPLIT_DG', 'split'),
- self.define_from_variant('FLEXI_PARABOLIC', 'parabolic'),
- self.define_from_variant('FLEXI_TESTCASE', 'testcase'),
- self.define_from_variant('FLEXI_VISCOSITY', 'viscosity'),
- self.define_from_variant('FLEXI_EDDYVISCOSITY', 'eddy_viscosity'),
-
- self.define_from_variant('POSTI_VISU', 'visu'),
- self.define_from_variant('POSTI_SWAPMESH', 'swapmesg'),
- self.define_from_variant('POSTI_RP_VISUALIZE', 'visualizerecordpoints'),
- self.define_from_variant('POSTI_RP_EVALUATE', 'evaluaterecordpoints'),
- self.define_from_variant('POSTI_MERGETIMEAVERAGES', 'mergetimeaverages'),
- self.define_from_variant('POSTI_CHANNEL_FFT', 'channel_fft'),
- self.define_from_variant('POSTI_TO3D', 'to3d'),
- self.define_from_variant('POSTI_AVG2D', 'avg2d'),
+ "-DLIBS_BUILD_HDF5:BOOL=OFF",
+ self.define_from_variant("LIBS_USE_MPI", "mpi"),
+ self.define_from_variant("FLEXI_2D", "2d"),
+ self.define_from_variant("FLEXI_EQNSYSNAME", "eqnsysname"),
+ self.define_from_variant("FLEXI_FV", "fv"),
+ self.define_from_variant("FLEXI_LIFTING", "lifting"),
+ self.define_from_variant("FLEXI_NODETYPE", "nodetype"),
+ self.define_from_variant("FLEXI_SPLIT_DG", "split"),
+ self.define_from_variant("FLEXI_PARABOLIC", "parabolic"),
+ self.define_from_variant("FLEXI_TESTCASE", "testcase"),
+ self.define_from_variant("FLEXI_VISCOSITY", "viscosity"),
+ self.define_from_variant("FLEXI_EDDYVISCOSITY", "eddy_viscosity"),
+ self.define_from_variant("POSTI_VISU", "visu"),
+ self.define_from_variant("POSTI_SWAPMESH", "swapmesg"),
+ self.define_from_variant("POSTI_RP_VISUALIZE", "visualizerecordpoints"),
+ self.define_from_variant("POSTI_RP_EVALUATE", "evaluaterecordpoints"),
+ self.define_from_variant("POSTI_MERGETIMEAVERAGES", "mergetimeaverages"),
+ self.define_from_variant("POSTI_CHANNEL_FFT", "channel_fft"),
+ self.define_from_variant("POSTI_TO3D", "to3d"),
+ self.define_from_variant("POSTI_AVG2D", "avg2d"),
]
- if self.spec.satisfies('@:21.03.0'):
- args.append(self.define_from_variant('POSTI_RP_PREPARERE',
- 'preparerecordpoints'))
+ if self.spec.satisfies("@:21.03.0"):
+ args.append(self.define_from_variant("POSTI_RP_PREPARERE", "preparerecordpoints"))
else:
- args.append(self.define_from_variant('POSTI_RP_PREPARE',
- 'preparerecordpoints'))
+ args.append(self.define_from_variant("POSTI_RP_PREPARE", "preparerecordpoints"))
return args
diff --git a/var/spack/repos/builtin/packages/flexiblas/package.py b/var/spack/repos/builtin/packages/flexiblas/package.py
index e7887593f9..7ef8ed451f 100644
--- a/var/spack/repos/builtin/packages/flexiblas/package.py
+++ b/var/spack/repos/builtin/packages/flexiblas/package.py
@@ -7,15 +7,14 @@ from spack.package import *
class Flexiblas(CMakePackage):
- """A BLAS and LAPACK wrapper library with runtime exchangable backends
- """
+ """A BLAS and LAPACK wrapper library with runtime exchangable backends"""
homepage = "https://www.mpi-magdeburg.mpg.de/projects/flexiblas"
- url = "https://csc.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/flexiblas-3.0.3.tar.gz"
+ url = "https://csc.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/flexiblas-3.0.3.tar.gz"
- version('3.0.4', sha256='50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c')
- version('3.0.3', sha256='926ab31cf56f0618aec34da85314f3b48b6deb661b4e9d6e6a99dc37872b5341')
+ version("3.0.4", sha256="50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c")
+ version("3.0.3", sha256="926ab31cf56f0618aec34da85314f3b48b6deb661b4e9d6e6a99dc37872b5341")
# virtual dependency
- provides('blas')
- provides('lapack')
+ provides("blas")
+ provides("lapack")
diff --git a/var/spack/repos/builtin/packages/flibcpp/package.py b/var/spack/repos/builtin/packages/flibcpp/package.py
index b955dc1d1c..d78339cd12 100644
--- a/var/spack/repos/builtin/packages/flibcpp/package.py
+++ b/var/spack/repos/builtin/packages/flibcpp/package.py
@@ -7,55 +7,61 @@ from spack.package import *
class Flibcpp(CMakePackage):
- """Fortran bindings to the C++ Standard Library.
- """
+ """Fortran bindings to the C++ Standard Library."""
homepage = "https://flibcpp.readthedocs.io/en/latest"
git = "https://github.com/swig-fortran/flibcpp.git"
url = "https://github.com/swig-fortran/flibcpp/archive/v1.0.1.tar.gz"
- version('1.0.1', sha256='8569c71eab0257097a6aa666a6d86bdcb6cd6e31244d32cc5b2478d0e936ca7a')
- version('0.5.2', sha256='b9b4eb6431d5b56a54c37f658df7455eafd3d204a5534903b127e0c8a1c9b827')
- version('0.5.1', sha256='76db24ce7893f19ab97ea7260c39490ae1bd1e08a4cc5111ad7e70525a916993')
- version('0.5.0', sha256='94204198304ba4187815431859e5958479fa651a6f06f460b099badbf50f16b2')
- version('0.4.1', sha256='5c9a11af391fcfc95dd11b95338cff19ed8104df66d42b00ae54f6cde4da5bdf')
- version('0.4.0', sha256='ccb0acf58a4480977fdb3c62a0bd267297c1dfa687a142ea8822474c38aa322b')
- version('0.3.1', sha256='871570124122c18018478275d5040b4b787d1966e50ee95b634b0b5e0cd27e91')
-
- variant('doc', default=False, description='Build and install documentation')
- variant('shared', default=True, description='Build shared libraries')
- variant('swig', default=False,
- description='Regenerate source files using SWIG')
- variant('fstd', default='03', values=('none', '03', '08', '15', '18'),
- multi=False, description='Build with this Fortran standard')
-
- depends_on('swig@4.0.2-fortran', type='build', when="+swig")
- depends_on('py-sphinx', type='build', when="+doc")
-
- @run_before('cmake')
+ version("1.0.1", sha256="8569c71eab0257097a6aa666a6d86bdcb6cd6e31244d32cc5b2478d0e936ca7a")
+ version("0.5.2", sha256="b9b4eb6431d5b56a54c37f658df7455eafd3d204a5534903b127e0c8a1c9b827")
+ version("0.5.1", sha256="76db24ce7893f19ab97ea7260c39490ae1bd1e08a4cc5111ad7e70525a916993")
+ version("0.5.0", sha256="94204198304ba4187815431859e5958479fa651a6f06f460b099badbf50f16b2")
+ version("0.4.1", sha256="5c9a11af391fcfc95dd11b95338cff19ed8104df66d42b00ae54f6cde4da5bdf")
+ version("0.4.0", sha256="ccb0acf58a4480977fdb3c62a0bd267297c1dfa687a142ea8822474c38aa322b")
+ version("0.3.1", sha256="871570124122c18018478275d5040b4b787d1966e50ee95b634b0b5e0cd27e91")
+
+ variant("doc", default=False, description="Build and install documentation")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("swig", default=False, description="Regenerate source files using SWIG")
+ variant(
+ "fstd",
+ default="03",
+ values=("none", "03", "08", "15", "18"),
+ multi=False,
+ description="Build with this Fortran standard",
+ )
+
+ depends_on("swig@4.0.2-fortran", type="build", when="+swig")
+ depends_on("py-sphinx", type="build", when="+doc")
+
+ @run_before("cmake")
def die_without_fortran(self):
# Until we can pass compiler requirements through virtual
# dependencies, explicitly check for Fortran compiler instead of
# waiting for configure error.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError('Flibcpp requires a Fortran compiler')
+ raise InstallError("Flibcpp requires a Fortran compiler")
def cmake_args(self):
from_variant = self.define_from_variant
- fstd_key = ('FLIBCPP_Fortran_STANDARD' if self.version > Version('1.0.0')
- else 'FLIBCPP_FORTRAN_STD')
+ fstd_key = (
+ "FLIBCPP_Fortran_STANDARD"
+ if self.version > Version("1.0.0")
+ else "FLIBCPP_FORTRAN_STD"
+ )
return [
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('FLIBCPP_BUILD_DOCS', 'doc'),
- from_variant(fstd_key, 'fstd'),
- from_variant('FLIBCPP_USE_SWIG', 'swig'),
- self.define('FLIBCPP_BUILD_TESTS', bool(self.run_tests)),
- self.define('FLIBCPP_BUILD_EXAMPLES', bool(self.run_tests)),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("FLIBCPP_BUILD_DOCS", "doc"),
+ from_variant(fstd_key, "fstd"),
+ from_variant("FLIBCPP_USE_SWIG", "swig"),
+ self.define("FLIBCPP_BUILD_TESTS", bool(self.run_tests)),
+ self.define("FLIBCPP_BUILD_EXAMPLES", bool(self.run_tests)),
]
- examples_src_dir = 'example'
+ examples_src_dir = "example"
- @run_after('install')
+ @run_after("install")
def setup_smoke_tests(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -64,25 +70,27 @@ class Flibcpp(CMakePackage):
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
+ return join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
def test(self):
"""Perform stand-alone/smoke tests."""
cmake_args = [
- self.define('CMAKE_PREFIX_PATH', self.prefix),
- self.define('CMAKE_Fortran_COMPILER', self.compiler.fc),
+ self.define("CMAKE_PREFIX_PATH", self.prefix),
+ self.define("CMAKE_Fortran_COMPILER", self.compiler.fc),
]
cmake_args.append(self.cached_tests_work_dir)
- self.run_test("cmake", cmake_args,
- purpose="test: calling cmake",
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "cmake", cmake_args, purpose="test: calling cmake", work_dir=self.cached_tests_work_dir
+ )
- self.run_test("make", [],
- purpose="test: building the tests",
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "make", [], purpose="test: building the tests", work_dir=self.cached_tests_work_dir
+ )
- self.run_test("run-examples.sh", [],
- purpose="test: running the examples",
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "run-examples.sh",
+ [],
+ purpose="test: running the examples",
+ work_dir=self.cached_tests_work_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/flink/package.py b/var/spack/repos/builtin/packages/flink/package.py
index b637c1d7ef..2e76a8d76b 100644
--- a/var/spack/repos/builtin/packages/flink/package.py
+++ b/var/spack/repos/builtin/packages/flink/package.py
@@ -13,19 +13,19 @@ class Flink(Package):
"""
homepage = "https://flink.apache.org/"
- url = "https://archive.apache.org/dist/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz"
+ url = "https://archive.apache.org/dist/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz"
- version('1.9.1', sha256='f69de344cd593e92f8261e19ae8a47b3910e9a70a7cd1ccfb1ecd1ff000b93ea')
- version('1.9.0', sha256='a2245f68309e94ed54d86a680232a518aed9c5ea030bcc0b298bc8f27165eeb7')
- version('1.8.3', sha256='1ba90e99f70ad7e2583d48d1404d1c09e327e8fb8fa716b1823e427464cc8dc0')
- version('1.8.2', sha256='1a315f4f1fab9d651702d177b1741439ac98e6d06e9e13f9d410b34441eeda1c')
- version('1.8.1', sha256='4fc0d0f163174ec43e160fdf21a91674979b978793e60361e2fce5dddba4ddfa')
+ version("1.9.1", sha256="f69de344cd593e92f8261e19ae8a47b3910e9a70a7cd1ccfb1ecd1ff000b93ea")
+ version("1.9.0", sha256="a2245f68309e94ed54d86a680232a518aed9c5ea030bcc0b298bc8f27165eeb7")
+ version("1.8.3", sha256="1ba90e99f70ad7e2583d48d1404d1c09e327e8fb8fa716b1823e427464cc8dc0")
+ version("1.8.2", sha256="1a315f4f1fab9d651702d177b1741439ac98e6d06e9e13f9d410b34441eeda1c")
+ version("1.8.1", sha256="4fc0d0f163174ec43e160fdf21a91674979b978793e60361e2fce5dddba4ddfa")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def url_for_version(self, version):
url = "http://archive.apache.org/dist/flink/flink-{0}/flink-{0}-bin-scala_2.11.tgz"
return url.format(version)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/flint/package.py b/var/spack/repos/builtin/packages/flint/package.py
index e9f641e44d..4788824dd1 100644
--- a/var/spack/repos/builtin/packages/flint/package.py
+++ b/var/spack/repos/builtin/packages/flint/package.py
@@ -10,12 +10,12 @@ class Flint(Package):
"""FLINT (Fast Library for Number Theory)."""
homepage = "https://www.flintlib.org"
- url = "https://mirrors.mit.edu/sage/spkg/upstream/flint/flint-2.5.2.tar.gz"
- git = "https://github.com/wbhart/flint2.git"
+ url = "https://mirrors.mit.edu/sage/spkg/upstream/flint/flint-2.5.2.tar.gz"
+ git = "https://github.com/wbhart/flint2.git"
- version('develop', branch='trunk')
- version('2.5.2', sha256='cbf1fe0034533c53c5c41761017065f85207a1b770483e98b2392315f6575e87')
- version('2.4.5', sha256='e489354df00f0d84976ccdd0477028693977c87ccd14f3924a89f848bb0e01e3')
+ version("develop", branch="trunk")
+ version("2.5.2", sha256="cbf1fe0034533c53c5c41761017065f85207a1b770483e98b2392315f6575e87")
+ version("2.4.5", sha256="e489354df00f0d84976ccdd0477028693977c87ccd14f3924a89f848bb0e01e3")
# Overlap in functionality between gmp and mpir
# All other dependencies must also be built with
@@ -24,17 +24,19 @@ class Flint(Package):
# description='Compile with the MPIR library')
# Build dependencies
- depends_on('autoconf', type='build')
+ depends_on("autoconf", type="build")
# Other dependencies
- depends_on('gmp') # mpir is a drop-in replacement for this
- depends_on('mpfr') # Could also be built against mpir
+ depends_on("gmp") # mpir is a drop-in replacement for this
+ depends_on("mpfr") # Could also be built against mpir
def install(self, spec, prefix):
options = []
- options = ["--prefix=%s" % prefix,
- "--with-gmp=%s" % spec['gmp'].prefix,
- "--with-mpfr=%s" % spec['mpfr'].prefix]
+ options = [
+ "--prefix=%s" % prefix,
+ "--with-gmp=%s" % spec["gmp"].prefix,
+ "--with-mpfr=%s" % spec["mpfr"].prefix,
+ ]
# if '+mpir' in spec:
# options.extend([
diff --git a/var/spack/repos/builtin/packages/flit/package.py b/var/spack/repos/builtin/packages/flit/package.py
index bb2822836d..83d236a3ca 100644
--- a/var/spack/repos/builtin/packages/flit/package.py
+++ b/var/spack/repos/builtin/packages/flit/package.py
@@ -13,22 +13,22 @@ class Flit(MakefilePackage):
compiler code generation, hardware and execution environments."""
homepage = "https://pruners.github.io/flit"
- url = "https://github.com/PRUNERS/FLiT/archive/v2.1.0.tar.gz"
- git = "https://github.com/PRUNERS/FLiT.git"
+ url = "https://github.com/PRUNERS/FLiT/archive/v2.1.0.tar.gz"
+ git = "https://github.com/PRUNERS/FLiT.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='devel')
- version('2.1.0', sha256='b31ffa02fda1ab0f5555acdc6edc353d93d53ae8ef85e099f83bcf1c83e70885')
+ version("develop", branch="devel")
+ version("2.1.0", sha256="b31ffa02fda1ab0f5555acdc6edc353d93d53ae8ef85e099f83bcf1c83e70885")
- maintainers = ['mikebentley15']
+ maintainers = ["mikebentley15"]
# Add dependencies
- depends_on('python@3:', type='run')
- depends_on('py-toml', type='run')
- depends_on('py-pyelftools', type='run', when='@:2.1.0')
- depends_on('gmake', type=('run', 'build'))
- depends_on('sqlite@3:', type='run')
+ depends_on("python@3:", type="run")
+ depends_on("py-toml", type="run")
+ depends_on("py-pyelftools", type="run", when="@:2.1.0")
+ depends_on("gmake", type=("run", "build"))
+ depends_on("sqlite@3:", type="run")
def edit(self, spec, prefix):
- env['PREFIX'] = prefix
+ env["PREFIX"] = prefix
diff --git a/var/spack/repos/builtin/packages/fltk/package.py b/var/spack/repos/builtin/packages/fltk/package.py
index d551139e75..d79447b953 100644
--- a/var/spack/repos/builtin/packages/fltk/package.py
+++ b/var/spack/repos/builtin/packages/fltk/package.py
@@ -8,81 +8,89 @@ from spack.package import *
class Fltk(Package):
"""FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for
- UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides
- modern GUI functionality without the bloat and supports 3D
- graphics via OpenGL and its built-in GLUT emulation.
+ UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides
+ modern GUI functionality without the bloat and supports 3D
+ graphics via OpenGL and its built-in GLUT emulation.
- FLTK is designed to be small and modular enough to be statically
- linked, but works fine as a shared library. FLTK also includes an
- excellent UI builder called FLUID that can be used to create
- applications in minutes.
+ FLTK is designed to be small and modular enough to be statically
+ linked, but works fine as a shared library. FLTK also includes an
+ excellent UI builder called FLUID that can be used to create
+ applications in minutes.
"""
- homepage = 'https://www.fltk.org/'
- url = 'https://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz'
- git = 'https://github.com/fltk/fltk.git'
- version('master', branch='master')
- version('1.3.7', sha256='5d2ccb7ad94e595d3d97509c7a931554e059dd970b7b29e6fd84cb70fd5491c6')
- version('1.3.3', sha256='f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97')
+ homepage = "https://www.fltk.org/"
+ url = "https://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz"
+ git = "https://github.com/fltk/fltk.git"
- depends_on('libx11')
+ version("master", branch="master")
+ version("1.3.7", sha256="5d2ccb7ad94e595d3d97509c7a931554e059dd970b7b29e6fd84cb70fd5491c6")
+ version("1.3.3", sha256="f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97")
- patch('font.patch', when='@1.3.3')
+ depends_on("libx11")
+
+ patch("font.patch", when="@1.3.3")
# https://github.com/fltk/fltk/commits/master/src/Fl_Tree_Item.cxx
# -Fix return value test, as pointed out by Albrecht.
- patch('fix_compare_val.patch', when='@:1.3.3')
+ patch("fix_compare_val.patch", when="@:1.3.3")
# https://github.com/fltk/fltk/commits/master/test/menubar.cxx
# -Allow compilation with -std=c++11
# -Add missing cast (part of patch for STR #2813).
- patch('type_cast.patch', when='@:1.3.3')
+ patch("type_cast.patch", when="@:1.3.3")
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ variant("shared", default=True, description="Enables the build of shared libraries")
- variant('gl', default=True,
- description='Enables opengl support')
+ variant("gl", default=True, description="Enables opengl support")
- variant('xft', default=False,
- description='Enables Anti-Aliased Fonts')
+ variant("xft", default=False, description="Enables Anti-Aliased Fonts")
# variant dependencies
- depends_on('gl', when='+gl')
+ depends_on("gl", when="+gl")
- depends_on('libxft', when='+xft')
+ depends_on("libxft", when="+xft")
def install(self, spec, prefix):
- options = ['--prefix=%s' % prefix,
- '--enable-localjpeg',
- '--enable-localpng',
- '--enable-localzlib']
+ options = [
+ "--prefix=%s" % prefix,
+ "--enable-localjpeg",
+ "--enable-localpng",
+ "--enable-localzlib",
+ ]
- if '+shared' in spec:
- options.append('--enable-shared')
+ if "+shared" in spec:
+ options.append("--enable-shared")
- if '+xft' in spec:
+ if "+xft" in spec:
# https://www.fltk.org/articles.php?L374+I0+TFAQ+P1+Q
- options.append('--enable-xft')
+ options.append("--enable-xft")
else:
- options.append('--disable-xft')
+ options.append("--disable-xft")
- if '~gl' in spec:
- options.append('--disable-gl')
+ if "~gl" in spec:
+ options.append("--disable-gl")
# FLTK needs to be built in-source
configure(*options)
make()
- make('install')
+ make("install")
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('OPTIM="-Wall -Wunused -Wno-format-y2k $OPTIM"',
- 'OPTIM="-Wall $OPTIM"', 'configure', string=True)
- filter_file('OPTIM="-Os $OPTIM"', 'OPTIM="-O2 $OPTIM"',
- 'configure', string=True)
- filter_file('CXXFLAGS="$CXXFLAGS -fvisibility=hidden"',
- 'CXXFLAGS="$CXXFLAGS"', 'configure', string=True)
- filter_file('OPTIM="$OPTIM -fvisibility=hidden"',
- 'OPTIM="$OPTIM"', 'configure', string=True)
+ if self.spec.satisfies("%nvhpc"):
+ filter_file(
+ 'OPTIM="-Wall -Wunused -Wno-format-y2k $OPTIM"',
+ 'OPTIM="-Wall $OPTIM"',
+ "configure",
+ string=True,
+ )
+ filter_file('OPTIM="-Os $OPTIM"', 'OPTIM="-O2 $OPTIM"', "configure", string=True)
+ filter_file(
+ 'CXXFLAGS="$CXXFLAGS -fvisibility=hidden"',
+ 'CXXFLAGS="$CXXFLAGS"',
+ "configure",
+ string=True,
+ )
+ filter_file(
+ 'OPTIM="$OPTIM -fvisibility=hidden"', 'OPTIM="$OPTIM"', "configure", string=True
+ )
diff --git a/var/spack/repos/builtin/packages/flume/package.py b/var/spack/repos/builtin/packages/flume/package.py
index 5f3b00249a..5f1ffe2888 100644
--- a/var/spack/repos/builtin/packages/flume/package.py
+++ b/var/spack/repos/builtin/packages/flume/package.py
@@ -19,15 +19,15 @@ class Flume(Package):
"""
homepage = "https://cwiki.apache.org/FLUME"
- url = "https://www.apache.org/dist/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz"
+ url = "https://www.apache.org/dist/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz"
- version('1.9.0', sha256='0373ed5abfd44dc4ab23d9a02251ffd7e3b32c02d83a03546e97ec15a7b23619')
- version('1.8.0', sha256='be1b554a5e23340ecc5e0b044215bf7828ff841f6eabe647b526d31add1ab5fa')
- version('1.7.0', sha256='b97254cf37c36b6e5045f764095d86fc6d9a8043dda169e950547fcae35681ec')
- version('1.6.0', sha256='0f7cef2f0128249893498a23401a0c8cb261e4516bc60f1885f8a3ae4475ed80')
- version('1.5.2', sha256='649f07c41d0e77acd661c683146a0c5e395bfb3f23df198196fe8058a7b01426')
+ version("1.9.0", sha256="0373ed5abfd44dc4ab23d9a02251ffd7e3b32c02d83a03546e97ec15a7b23619")
+ version("1.8.0", sha256="be1b554a5e23340ecc5e0b044215bf7828ff841f6eabe647b526d31add1ab5fa")
+ version("1.7.0", sha256="b97254cf37c36b6e5045f764095d86fc6d9a8043dda169e950547fcae35681ec")
+ version("1.6.0", sha256="0f7cef2f0128249893498a23401a0c8cb261e4516bc60f1885f8a3ae4475ed80")
+ version("1.5.2", sha256="649f07c41d0e77acd661c683146a0c5e395bfb3f23df198196fe8058a7b01426")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/flux-core/package.py b/var/spack/repos/builtin/packages/flux-core/package.py
index aa52b7b4eb..6f8266770f 100644
--- a/var/spack/repos/builtin/packages/flux-core/package.py
+++ b/var/spack/repos/builtin/packages/flux-core/package.py
@@ -9,50 +9,102 @@ from spack.package import *
class FluxCore(AutotoolsPackage):
- """ A next-generation resource manager (pre-alpha) """
+ """A next-generation resource manager (pre-alpha)"""
homepage = "https://github.com/flux-framework/flux-core"
- url = "https://github.com/flux-framework/flux-core/releases/download/v0.8.0/flux-core-0.8.0.tar.gz"
- git = "https://github.com/flux-framework/flux-core.git"
- tags = ['radiuss', 'e4s']
-
- maintainers = ['grondo']
-
- version('master', branch='master')
-
- version('0.40.0', sha256='b15996b6165f037e5a6c42ea277e2c1c56a4f4b6bf47334105e324dcfefbf6fa')
- version('0.39.0', sha256='ad55529fc3f056ac167b53b5bd489167c2ef218c3c49e721ad507a8ea9c409db')
- version('0.38.0', sha256='69d150c3d48b5985bca606e1a4de12282eb76233b6b730de1a9fff4136faf65f')
- version('0.37.0', sha256='4779f739da573c02df32a834179cc0c157688f6e82bb4cd2049eb0aa59fffffc')
- version('0.36.0', sha256='04def00d8679a30f51c030791b69a536176725b19dc13e7bfc0df58d0041e975')
- version('0.35.0', sha256='28094c77d0a0d34f8fd71c9b397ae25dd7a4b138aad83f02e75c5a182c76b32b')
- version('0.34.0', sha256='e045b0a4f38d1a08280c2acc7f6e03a06e3715282ff84d9a0d1037b86e0aae33')
- version('0.33.0', sha256='b6f07fb6c0fc36bf300852d71df527778c46517bf61e26c7f54c6978898df2f1')
- version('0.32.0', sha256='fabe4450ce805db547de2675afebc077e4f833d86e00a8c0dd4cd0727b374e30')
- version('0.31.0', sha256='a18251de2ca3522484cacfa986df934ba8f98c54586e18940ce5d2c6147a8a7f')
- version('0.30.0', sha256='e51fde4464140367ae4bc1b44f960675ea0a6f58eede3a561cacd8a11ca3e776')
- version('0.29.0', sha256='c13b40e82d66356e75208a689a495ca01f0a013e2e45ac8ea202ed8224987323')
- version('0.28.0', sha256='9a784def7186b0036091bd8d6d8fe5bc3425ab2927e1465e1c9ad266631c285d')
- version('0.27.0', sha256='abd46d38081ba6b501adb1c111374b39d6ae72ac1aec9fbbf31943a856541d3a', deprecated=True)
- version('0.26.0', sha256='58bfd4742c59364b13cd83214e8f70735952d01793800b149cae056fddfeeff1', deprecated=True)
- version('0.25.0', sha256='3c97e21eaec51e8aa0eaee6aa8eb23246650d102a6b6a5c9943cd69e3c8e1008', deprecated=True)
- version('0.24.0', sha256='fb7e0f9a44d84144a8eaf8f42a5d7e64a4a847861d0ddc2ad8fc4908b5a9190e', deprecated=True)
- version('0.23.0', sha256='918b181be4e27c32f02d5036230212cd9235dc78dc2bde249c3651d6f75866c7', deprecated=True)
- version('0.22.0', sha256='1dd0b737199b8a40f245e6a4e1b3b28770f0ecf2f483d284232080b8b252521f', deprecated=True)
- version('0.21.0', sha256='cc1b7a46d7c1c1a3e99e8861bba0dde89a97351eabd6f1b264788bd76e64c329', deprecated=True)
- version('0.20.0', sha256='2970b9b1c389fc4a381f9e605921ce0eb6aa9339387ea741978bcffb4bd81b6f', deprecated=True)
- version('0.19.0', sha256='f45328a37d989c308c46639a9ed771f47b11184422cf5604249919fbd320d6f5', deprecated=True)
- version('0.18.0', sha256='9784bbca94177a32dbbc99728e8925bf894f3aebaa316961d6ea85df32d59545', deprecated=True)
- version('0.17.0', sha256='3f8c6cb72982028f86a96c0098cacd3a6e9de359fa1cf077380c835a20e7b7f7', deprecated=True)
- version('0.16.0', sha256='1582f7fb4d2313127418c34de7c9ce4f5fef00622d19cedca7bed929f4709f10', deprecated=True)
- version('0.15.0', sha256='51bc2eae69501f802459fc82f191eb5e8ae0b4f7e9e77ac18543a850cc8445f5', deprecated=True)
+ url = "https://github.com/flux-framework/flux-core/releases/download/v0.8.0/flux-core-0.8.0.tar.gz"
+ git = "https://github.com/flux-framework/flux-core.git"
+ tags = ["radiuss", "e4s"]
+
+ maintainers = ["grondo"]
+
+ version("master", branch="master")
+
+ version("0.40.0", sha256="b15996b6165f037e5a6c42ea277e2c1c56a4f4b6bf47334105e324dcfefbf6fa")
+ version("0.39.0", sha256="ad55529fc3f056ac167b53b5bd489167c2ef218c3c49e721ad507a8ea9c409db")
+ version("0.38.0", sha256="69d150c3d48b5985bca606e1a4de12282eb76233b6b730de1a9fff4136faf65f")
+ version("0.37.0", sha256="4779f739da573c02df32a834179cc0c157688f6e82bb4cd2049eb0aa59fffffc")
+ version("0.36.0", sha256="04def00d8679a30f51c030791b69a536176725b19dc13e7bfc0df58d0041e975")
+ version("0.35.0", sha256="28094c77d0a0d34f8fd71c9b397ae25dd7a4b138aad83f02e75c5a182c76b32b")
+ version("0.34.0", sha256="e045b0a4f38d1a08280c2acc7f6e03a06e3715282ff84d9a0d1037b86e0aae33")
+ version("0.33.0", sha256="b6f07fb6c0fc36bf300852d71df527778c46517bf61e26c7f54c6978898df2f1")
+ version("0.32.0", sha256="fabe4450ce805db547de2675afebc077e4f833d86e00a8c0dd4cd0727b374e30")
+ version("0.31.0", sha256="a18251de2ca3522484cacfa986df934ba8f98c54586e18940ce5d2c6147a8a7f")
+ version("0.30.0", sha256="e51fde4464140367ae4bc1b44f960675ea0a6f58eede3a561cacd8a11ca3e776")
+ version("0.29.0", sha256="c13b40e82d66356e75208a689a495ca01f0a013e2e45ac8ea202ed8224987323")
+ version("0.28.0", sha256="9a784def7186b0036091bd8d6d8fe5bc3425ab2927e1465e1c9ad266631c285d")
+ version(
+ "0.27.0",
+ sha256="abd46d38081ba6b501adb1c111374b39d6ae72ac1aec9fbbf31943a856541d3a",
+ deprecated=True,
+ )
+ version(
+ "0.26.0",
+ sha256="58bfd4742c59364b13cd83214e8f70735952d01793800b149cae056fddfeeff1",
+ deprecated=True,
+ )
+ version(
+ "0.25.0",
+ sha256="3c97e21eaec51e8aa0eaee6aa8eb23246650d102a6b6a5c9943cd69e3c8e1008",
+ deprecated=True,
+ )
+ version(
+ "0.24.0",
+ sha256="fb7e0f9a44d84144a8eaf8f42a5d7e64a4a847861d0ddc2ad8fc4908b5a9190e",
+ deprecated=True,
+ )
+ version(
+ "0.23.0",
+ sha256="918b181be4e27c32f02d5036230212cd9235dc78dc2bde249c3651d6f75866c7",
+ deprecated=True,
+ )
+ version(
+ "0.22.0",
+ sha256="1dd0b737199b8a40f245e6a4e1b3b28770f0ecf2f483d284232080b8b252521f",
+ deprecated=True,
+ )
+ version(
+ "0.21.0",
+ sha256="cc1b7a46d7c1c1a3e99e8861bba0dde89a97351eabd6f1b264788bd76e64c329",
+ deprecated=True,
+ )
+ version(
+ "0.20.0",
+ sha256="2970b9b1c389fc4a381f9e605921ce0eb6aa9339387ea741978bcffb4bd81b6f",
+ deprecated=True,
+ )
+ version(
+ "0.19.0",
+ sha256="f45328a37d989c308c46639a9ed771f47b11184422cf5604249919fbd320d6f5",
+ deprecated=True,
+ )
+ version(
+ "0.18.0",
+ sha256="9784bbca94177a32dbbc99728e8925bf894f3aebaa316961d6ea85df32d59545",
+ deprecated=True,
+ )
+ version(
+ "0.17.0",
+ sha256="3f8c6cb72982028f86a96c0098cacd3a6e9de359fa1cf077380c835a20e7b7f7",
+ deprecated=True,
+ )
+ version(
+ "0.16.0",
+ sha256="1582f7fb4d2313127418c34de7c9ce4f5fef00622d19cedca7bed929f4709f10",
+ deprecated=True,
+ )
+ version(
+ "0.15.0",
+ sha256="51bc2eae69501f802459fc82f191eb5e8ae0b4f7e9e77ac18543a850cc8445f5",
+ deprecated=True,
+ )
# Avoid the infinite symlink issue
# This workaround is documented in PR #3543
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- variant('docs', default=False, description='Build flux manpages')
- variant('cuda', default=False, description='Build dependencies with support for CUDA')
+ variant("docs", default=False, description="Build flux manpages")
+ variant("cuda", default=False, description="Build dependencies with support for CUDA")
depends_on("libarchive", when="@0.38.0:")
depends_on("ncurses@6.2", when="@0.32.0:")
@@ -60,32 +112,32 @@ class FluxCore(AutotoolsPackage):
depends_on("czmq@3.0.1:")
depends_on("hwloc@1.11.1:1", when="@:0.17.0")
depends_on("hwloc@1.11.1:", when="@0.17.0:")
- depends_on("hwloc +cuda", when='+cuda')
+ depends_on("hwloc +cuda", when="+cuda")
# Provide version hints for lua so that the concretizer succeeds when no
# explicit flux-core version is given. See issue #10000 for details
- depends_on("lua", type=('build', 'run', 'link'))
+ depends_on("lua", type=("build", "run", "link"))
depends_on("lua@5.1:5.2", when="@:0.17.0")
depends_on("lua@5.1:5.3", when="@0.18.0:")
depends_on("lua-luaposix")
# `link` dependency on python due to Flux's `pymod` module
- depends_on("python@3.6:", when='@0.17:', type=('build', 'link', 'run'))
- depends_on("python@2.7:", type=('build', 'link', 'run'))
- depends_on("py-cffi@1.1:", type=('build', 'run'))
- depends_on("py-six@1.9:", when='@:0.24', type=('build', 'run'))
- depends_on("py-pyyaml@3.10:", type=('build', 'run'))
- depends_on("py-jsonschema@2.3:", type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.17:", type=("build", "link", "run"))
+ depends_on("python@2.7:", type=("build", "link", "run"))
+ depends_on("py-cffi@1.1:", type=("build", "run"))
+ depends_on("py-six@1.9:", when="@:0.24", type=("build", "run"))
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-jsonschema@2.3:", type=("build", "run"))
depends_on("jansson")
depends_on("jansson@2.10:", when="@0.21.0:")
depends_on("pkgconfig")
depends_on("lz4")
- depends_on("asciidoc", type='build', when="+docs")
- depends_on("py-docutils", type='build', when="@0.32.0:")
+ depends_on("asciidoc", type="build", when="+docs")
+ depends_on("py-docutils", type="build", when="@0.32.0:")
# Need autotools when building on master:
- depends_on("autoconf", type='build', when='@master')
- depends_on("automake", type='build', when='@master')
- depends_on("libtool", type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
# Testing Dependencies
depends_on("mpich pmi=pmi", type="test")
@@ -93,11 +145,10 @@ class FluxCore(AutotoolsPackage):
depends_on("jq", type="test")
# Patch 0.27-0.30 for build errors when czmq built with "draft APIs":
- patch('0001-build-fix-build-errors-with-side-installed-0MQ.patch',
- when='@0.27.0:0.30.0')
+ patch("0001-build-fix-build-errors-with-side-installed-0MQ.patch", when="@0.27.0:0.30.0")
def url_for_version(self, version):
- '''
+ """
Flux uses a fork of ZeroMQ's Collective Code Construction Contract
(https://flux-framework.readthedocs.io/projects/flux-rfc/en/latest/spec_1.html).
This model requires a repository fork for every stable release that has
@@ -107,7 +158,7 @@ class FluxCore(AutotoolsPackage):
Rather than provide an explicit URL for each patch release, make Spack
aware of this repo structure.
- '''
+ """
if version[-1] == 0:
url = "https://github.com/flux-framework/flux-core/releases/download/v{0}/flux-core-{0}.tar.gz"
else:
@@ -117,81 +168,74 @@ class FluxCore(AutotoolsPackage):
def setup(self):
pass
- @when('@master')
+ @when("@master")
def setup(self):
with working_dir(self.stage.source_path):
# Allow git-describe to get last tag so flux-version works:
- git = which('git')
- git('fetch', '--unshallow')
- git("config", "remote.origin.fetch",
- "+refs/heads/*:refs/remotes/origin/*")
- git('fetch', 'origin')
+ git = which("git")
+ git("fetch", "--unshallow")
+ git("config", "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*")
+ git("fetch", "origin")
def autoreconf(self, spec, prefix):
self.setup()
- if not os.path.exists('configure'):
+ if not os.path.exists("configure"):
# Bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
@property
def lua_version(self):
- return self.spec['lua'].version.up_to(2)
+ return self.spec["lua"].version.up_to(2)
@property
def lua_share_dir(self):
- return os.path.join('share', 'lua', str(self.lua_version))
+ return os.path.join("share", "lua", str(self.lua_version))
@property
def lua_lib_dir(self):
- return os.path.join('lib', 'lua', str(self.lua_version))
+ return os.path.join("lib", "lua", str(self.lua_version))
def setup_build_environment(self, env):
# Ensure ./fluxometer.lua can be found during flux's make check
- env.append_path('LUA_PATH', './?.lua', separator=';')
+ env.append_path("LUA_PATH", "./?.lua", separator=";")
def setup_run_environment(self, env):
env.prepend_path(
- 'LUA_PATH',
- os.path.join(self.spec.prefix, self.lua_share_dir, '?.lua'),
- separator=';')
+ "LUA_PATH", os.path.join(self.spec.prefix, self.lua_share_dir, "?.lua"), separator=";"
+ )
env.prepend_path(
- 'LUA_CPATH',
- os.path.join(self.spec.prefix, self.lua_lib_dir, '?.so'),
- separator=';')
+ "LUA_CPATH", os.path.join(self.spec.prefix, self.lua_lib_dir, "?.so"), separator=";"
+ )
env.prepend_path(
- 'PYTHONPATH',
+ "PYTHONPATH",
os.path.join(
self.spec.prefix.lib,
- "python{0}".format(self.spec['python'].version.up_to(2)),
- "site-packages"),
- )
- env.prepend_path('FLUX_MODULE_PATH', self.prefix.lib.flux.modules)
- env.prepend_path('FLUX_EXEC_PATH', self.prefix.libexec.flux.cmd)
- env.prepend_path(
- 'FLUX_CONNECTOR_PATH',
- self.prefix.lib.flux.connectors
+ "python{0}".format(self.spec["python"].version.up_to(2)),
+ "site-packages",
+ ),
)
+ env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib.flux.modules)
+ env.prepend_path("FLUX_EXEC_PATH", self.prefix.libexec.flux.cmd)
+ env.prepend_path("FLUX_CONNECTOR_PATH", self.prefix.lib.flux.connectors)
def configure_args(self):
- args = ['--enable-pylint=no']
- if '+docs' not in self.spec:
- args.append('--disable-docs')
+ args = ["--enable-pylint=no"]
+ if "+docs" not in self.spec:
+ args.append("--disable-docs")
return args
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
# https://github.com/flux-framework/flux-core/issues/3482
- if self.spec.satisfies('%gcc@10:') and \
- self.spec.satisfies('@0.23.0:0.23'):
+ if self.spec.satisfies("%gcc@10:") and self.spec.satisfies("@0.23.0:0.23"):
if flags is None:
flags = []
- flags.append('-Wno-error=stringop-truncation')
+ flags.append("-Wno-error=stringop-truncation")
- if self.spec.satisfies('%gcc@8:') and \
- self.spec.satisfies('@0.23.0'):
+ if self.spec.satisfies("%gcc@8:") and self.spec.satisfies("@0.23.0"):
if flags is None:
flags = []
- flags.append('-Wno-error=maybe-uninitialized')
+ flags.append("-Wno-error=maybe-uninitialized")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/flux-pmix/package.py b/var/spack/repos/builtin/packages/flux-pmix/package.py
index 68709a1367..0738d81b8b 100644
--- a/var/spack/repos/builtin/packages/flux-pmix/package.py
+++ b/var/spack/repos/builtin/packages/flux-pmix/package.py
@@ -9,40 +9,38 @@ from spack.package import *
class FluxPmix(AutotoolsPackage):
- """ A flux shell plugin to bootstrap openmpi v5+ """
+ """A flux shell plugin to bootstrap openmpi v5+"""
homepage = "https://github.com/flux-framework/flux-pmix"
- url = "https://github.com/flux-framework/flux-pmix/releases/download/v0.1.0/flux-pmix-0.1.0.tar.gz"
- git = "https://github.com/flux-framework/flux-pmix.git"
+ url = "https://github.com/flux-framework/flux-pmix/releases/download/v0.1.0/flux-pmix-0.1.0.tar.gz"
+ git = "https://github.com/flux-framework/flux-pmix.git"
- maintainers = ['grondo']
+ maintainers = ["grondo"]
- version('main', branch='main')
- version('0.2.0', sha256='d09f1fe6ffe54f83be4677e1e727640521d8110090515d94013eba0f58216934')
+ version("main", branch="main")
+ version("0.2.0", sha256="d09f1fe6ffe54f83be4677e1e727640521d8110090515d94013eba0f58216934")
- depends_on('flux-core@0.30.0:')
- depends_on('pmix@v4.1.0:')
- depends_on('openmpi')
+ depends_on("flux-core@0.30.0:")
+ depends_on("pmix@v4.1.0:")
+ depends_on("openmpi")
- depends_on('pkgconfig', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def autoreconf(self, spec, prefix):
- if not os.path.exists('configure'):
+ if not os.path.exists("configure"):
# Bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @run_after('install')
+ @run_after("install")
def add_pluginpath(self):
- rcfile = join_path(self.prefix.etc,
- 'flux/shell/lua.d/mpi/openmpi@5.lua')
- filter_file(r'pmix/pmix.so',
- join_path(self.prefix.lib,
- "flux/shell/plugins/pmix/pmix.so"), rcfile)
+ rcfile = join_path(self.prefix.etc, "flux/shell/lua.d/mpi/openmpi@5.lua")
+ filter_file(
+ r"pmix/pmix.so", join_path(self.prefix.lib, "flux/shell/plugins/pmix/pmix.so"), rcfile
+ )
def setup_run_environment(self, env):
- env.prepend_path('FLUX_SHELL_RC_PATH',
- join_path(self.prefix, 'etc/flux/shell/lua.d'))
+ env.prepend_path("FLUX_SHELL_RC_PATH", join_path(self.prefix, "etc/flux/shell/lua.d"))
diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py
index 0a25cada03..9d4a4caa19 100644
--- a/var/spack/repos/builtin/packages/flux-sched/package.py
+++ b/var/spack/repos/builtin/packages/flux-sched/package.py
@@ -9,45 +9,47 @@ from spack.package import *
class FluxSched(AutotoolsPackage):
- """ A scheduler for flux-core (pre-alpha) """
+ """A scheduler for flux-core (pre-alpha)"""
homepage = "https://github.com/flux-framework/flux-sched"
- url = "https://github.com/flux-framework/flux-sched/releases/download/v0.5.0/flux-sched-0.5.0.tar.gz"
- git = "https://github.com/flux-framework/flux-sched.git"
- tags = ['radiuss', 'e4s']
-
- maintainers = ['grondo']
-
- version('master', branch='master')
-
- version('0.23.0', sha256='159b62cc4d25ef3d5da5338511ff38449a893d8adca13383cda7b322295acc1c')
- version('0.22.0', sha256='33cab21b667eeccd5665c5f139293b7b3e17cd3847e5fb2633c0dbacb33c611f')
- version('0.21.1', sha256='4dbe8a2e06a816535ef43f34cec960c1e4108932438cd6dbb1d0040423f4477d')
- version('0.21.0', sha256='156fe5b078a7c0b2075a1f1925ec9303a608c846c93187272f52c23eea24e06d')
- version('0.20.0', sha256='1d2074e1458ba1e7a1d4c33341b9f09769559cd1b8c68edc32097e220c4240b8')
- version('0.19.0', sha256='8dffa8eaec95a81286f621639ef851c52dc4c562d365971233bbd91100c31ed2')
- version('0.18.0', sha256='a4d8a6444fdb7b857b26f47fdea57992b486c9522f4ff92d5a6f547d95b586ae')
- version('0.17.0', sha256='5acfcb757e2294a92eaa91be58ba9b42736b88b42d2937de4a78f4642b1c4933')
- version('0.16.0', sha256='08313976161c141b9b34e2d44d5a08d1b11302e22d60aeaf878eef84d4bd2884')
- version('0.15.0', sha256='ff24d26997f91af415f98734b8117291f5a5001e86dac865b56b3d72980c80c8')
- version('0.14.0', sha256='2808f42032b917823d69cd26103c9238694416e2f30c6d39c11c670927ed232a')
- version('0.13.0', sha256='ba17fc0451239fe31a1524b6a270741873f59a5057514d2524fd3e9215c47a82')
- version('0.12.0', sha256='b41ecaebba254abfb5a7995fd9100bd45a59d4ad0a79bdca8b3db02785d97b1d')
- version('0.11.0', sha256='6a0e3c0678f85da8724e5399b02be9686311c835617f6036235ef54b489cc336')
- version('0.10.0', sha256='5944927774709b5f52ddf64a0e825d9b0f24c9dea890b5504b87a8576d217cf6')
- version('0.9.0', sha256='0e1eb408a937c2843bdaaed915d4d7e2ea763b98c31e7b849a96a74758d66a21')
- version('0.8.0', sha256='45bc3cefb453d19c0cb289f03692fba600a39045846568d258e4b896ca19ca0d')
+ url = "https://github.com/flux-framework/flux-sched/releases/download/v0.5.0/flux-sched-0.5.0.tar.gz"
+ git = "https://github.com/flux-framework/flux-sched.git"
+ tags = ["radiuss", "e4s"]
+
+ maintainers = ["grondo"]
+
+ version("master", branch="master")
+
+ version("0.23.0", sha256="159b62cc4d25ef3d5da5338511ff38449a893d8adca13383cda7b322295acc1c")
+ version("0.22.0", sha256="33cab21b667eeccd5665c5f139293b7b3e17cd3847e5fb2633c0dbacb33c611f")
+ version("0.21.1", sha256="4dbe8a2e06a816535ef43f34cec960c1e4108932438cd6dbb1d0040423f4477d")
+ version("0.21.0", sha256="156fe5b078a7c0b2075a1f1925ec9303a608c846c93187272f52c23eea24e06d")
+ version("0.20.0", sha256="1d2074e1458ba1e7a1d4c33341b9f09769559cd1b8c68edc32097e220c4240b8")
+ version("0.19.0", sha256="8dffa8eaec95a81286f621639ef851c52dc4c562d365971233bbd91100c31ed2")
+ version("0.18.0", sha256="a4d8a6444fdb7b857b26f47fdea57992b486c9522f4ff92d5a6f547d95b586ae")
+ version("0.17.0", sha256="5acfcb757e2294a92eaa91be58ba9b42736b88b42d2937de4a78f4642b1c4933")
+ version("0.16.0", sha256="08313976161c141b9b34e2d44d5a08d1b11302e22d60aeaf878eef84d4bd2884")
+ version("0.15.0", sha256="ff24d26997f91af415f98734b8117291f5a5001e86dac865b56b3d72980c80c8")
+ version("0.14.0", sha256="2808f42032b917823d69cd26103c9238694416e2f30c6d39c11c670927ed232a")
+ version("0.13.0", sha256="ba17fc0451239fe31a1524b6a270741873f59a5057514d2524fd3e9215c47a82")
+ version("0.12.0", sha256="b41ecaebba254abfb5a7995fd9100bd45a59d4ad0a79bdca8b3db02785d97b1d")
+ version("0.11.0", sha256="6a0e3c0678f85da8724e5399b02be9686311c835617f6036235ef54b489cc336")
+ version("0.10.0", sha256="5944927774709b5f52ddf64a0e825d9b0f24c9dea890b5504b87a8576d217cf6")
+ version("0.9.0", sha256="0e1eb408a937c2843bdaaed915d4d7e2ea763b98c31e7b849a96a74758d66a21")
+ version("0.8.0", sha256="45bc3cefb453d19c0cb289f03692fba600a39045846568d258e4b896ca19ca0d")
# Avoid the infinite symlink issue
# This workaround is documented in PR #3543
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- variant('cuda', default=False, description='Build dependencies with support for CUDA')
+ variant("cuda", default=False, description="Build dependencies with support for CUDA")
# Needs to be seen if tis is needed once we remove the default variants
- depends_on("boost+exception+filesystem+system+serialization+graph+container+regex@1.53.0,1.59.0: ")
- depends_on("py-pyyaml@3.10:", type=('build', 'run'))
- depends_on("py-jsonschema@2.3:", type=('build', 'run'))
+ depends_on(
+ "boost+exception+filesystem+system+serialization+graph+container+regex@1.53.0,1.59.0: "
+ )
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-jsonschema@2.3:", type=("build", "run"))
depends_on("libedit")
depends_on("libxml2@2.9.1:")
# pin yaml-cpp to 0.6.3 due to issue #886
@@ -56,31 +58,31 @@ class FluxSched(AutotoolsPackage):
depends_on("uuid")
depends_on("pkgconfig")
- depends_on("flux-core", type=('build', 'link', 'run'))
- depends_on("flux-core+cuda", when='+cuda', type=('build', 'run', 'link'))
- depends_on("flux-core@0.16.0:0.16", when='@0.8.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.22.0", when='@0.14.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.23.0:0.25", when='@0.15.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.26.0:", when='@0.16.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.28.0:", when='@0.17.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.29.0:", when='@0.18.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.30.0:", when='@0.19.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.31.0:", when='@0.19.0', type=('build', 'run', 'link'))
- depends_on("flux-core@0.38.0:", when='@0.21.0', type=('build', 'run', 'link'))
- depends_on("flux-core@master", when='@master', type=('build', 'run', 'link'))
+ depends_on("flux-core", type=("build", "link", "run"))
+ depends_on("flux-core+cuda", when="+cuda", type=("build", "run", "link"))
+ depends_on("flux-core@0.16.0:0.16", when="@0.8.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.22.0", when="@0.14.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.23.0:0.25", when="@0.15.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.26.0:", when="@0.16.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.28.0:", when="@0.17.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.29.0:", when="@0.18.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.30.0:", when="@0.19.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.31.0:", when="@0.19.0", type=("build", "run", "link"))
+ depends_on("flux-core@0.38.0:", when="@0.21.0", type=("build", "run", "link"))
+ depends_on("flux-core@master", when="@master", type=("build", "run", "link"))
# Need autotools when building on master:
- depends_on("autoconf", type='build', when='@master')
- depends_on("automake", type='build', when='@master')
- depends_on("libtool", type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
# Disable t5000-valgrind.t by default due to false positives not yet
# in the suppressions file. (This patch will be in v0.21.0)
- patch('no-valgrind.patch', when='@:0.20.0')
- patch('jobid-sign-compare-fix.patch', when='@:0.22.0')
+ patch("no-valgrind.patch", when="@:0.20.0")
+ patch("jobid-sign-compare-fix.patch", when="@:0.22.0")
def url_for_version(self, version):
- '''
+ """
Flux uses a fork of ZeroMQ's Collective Code Construction Contract
(https://github.com/flux-framework/rfc/blob/master/spec_1.adoc).
This model requires a repository fork for every stable release that has
@@ -90,7 +92,7 @@ class FluxSched(AutotoolsPackage):
Rather than provide an explicit URL for each patch release, make Spack
aware of this repo structure.
- '''
+ """
if version[-1] == 0:
url = "https://github.com/flux-framework/flux-sched/releases/download/v{0}/flux-sched-{0}.tar.gz"
else:
@@ -100,15 +102,14 @@ class FluxSched(AutotoolsPackage):
def setup(self):
pass
- @when('@master')
+ @when("@master")
def setup(self):
with working_dir(self.stage.source_path):
# Allow git-describe to get last tag so flux-version works:
- git = which('git')
- git('fetch', '--unshallow')
- git("config", "remote.origin.fetch",
- "+refs/heads/*:refs/remotes/origin/*")
- git('fetch', 'origin')
+ git = which("git")
+ git("fetch", "--unshallow")
+ git("config", "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*")
+ git("fetch", "origin")
def autoreconf(self, spec, prefix):
self.setup()
@@ -117,50 +118,47 @@ class FluxSched(AutotoolsPackage):
# make sure configure doesn't get confused by the staging symlink
with working_dir(self.configure_directory):
# Bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @when('@:0.20')
+ @when("@:0.20")
def patch(self):
"""Fix build with clang@13 and gcc@11"""
- filter_file('NULL', 'nullptr', 'resource/schema/sched_data.hpp')
- filter_file('size_t', 'std::size_t', 'resource/planner/planner.h')
+ filter_file("NULL", "nullptr", "resource/schema/sched_data.hpp")
+ filter_file("size_t", "std::size_t", "resource/planner/planner.h")
def configure_args(self):
args = []
- if self.spec.satisfies('@0.9.0:'):
- args.append('CXXFLAGS=-Wno-uninitialized')
- if self.spec.satisfies('%clang@12:'):
- args.append('CXXFLAGS=-Wno-defaulted-function-deleted')
+ if self.spec.satisfies("@0.9.0:"):
+ args.append("CXXFLAGS=-Wno-uninitialized")
+ if self.spec.satisfies("%clang@12:"):
+ args.append("CXXFLAGS=-Wno-defaulted-function-deleted")
# flux-sched's ax_boost is sometimes weird about non-system locations
# explicitly setting the path guarantees success
- args.append('--with-boost={0}'.format(self.spec['boost'].prefix))
+ args.append("--with-boost={0}".format(self.spec["boost"].prefix))
return args
@property
def lua_version(self):
- return self.spec['lua'].version.up_to(2)
+ return self.spec["lua"].version.up_to(2)
@property
def lua_share_dir(self):
- return os.path.join('share', 'lua', str(self.lua_version))
+ return os.path.join("share", "lua", str(self.lua_version))
@property
def lua_lib_dir(self):
- return os.path.join('lib', 'lua', str(self.lua_version))
+ return os.path.join("lib", "lua", str(self.lua_version))
def setup_run_environment(self, env):
env.prepend_path(
- 'LUA_PATH',
- os.path.join(self.spec.prefix, self.lua_share_dir, '?.lua'),
- separator=';')
+ "LUA_PATH", os.path.join(self.spec.prefix, self.lua_share_dir, "?.lua"), separator=";"
+ )
env.prepend_path(
- 'LUA_CPATH',
- os.path.join(self.spec.prefix, self.lua_lib_dir, '?.so'),
- separator=';')
-
- env.prepend_path('FLUX_MODULE_PATH', self.prefix.lib.flux.modules)
- env.prepend_path('FLUX_MODULE_PATH',
- self.prefix.lib.flux.modules.sched)
- env.prepend_path('FLUX_EXEC_PATH', self.prefix.libexec.flux.cmd)
- env.prepend_path('FLUX_RC_EXTRA', self.prefix.etc.flux)
+ "LUA_CPATH", os.path.join(self.spec.prefix, self.lua_lib_dir, "?.so"), separator=";"
+ )
+
+ env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib.flux.modules)
+ env.prepend_path("FLUX_MODULE_PATH", self.prefix.lib.flux.modules.sched)
+ env.prepend_path("FLUX_EXEC_PATH", self.prefix.libexec.flux.cmd)
+ env.prepend_path("FLUX_RC_EXTRA", self.prefix.etc.flux)
diff --git a/var/spack/repos/builtin/packages/fluxbox/package.py b/var/spack/repos/builtin/packages/fluxbox/package.py
index 5abdc02d0c..90413e80df 100644
--- a/var/spack/repos/builtin/packages/fluxbox/package.py
+++ b/var/spack/repos/builtin/packages/fluxbox/package.py
@@ -14,16 +14,16 @@ class Fluxbox(AutotoolsPackage):
"""
homepage = "http://fluxbox.org/"
- url = "http://sourceforge.net/projects/fluxbox/files/fluxbox/1.3.7/fluxbox-1.3.7.tar.gz"
+ url = "http://sourceforge.net/projects/fluxbox/files/fluxbox/1.3.7/fluxbox-1.3.7.tar.gz"
- version('1.3.7', sha256='c99e2baa06fff1e96342b20415059d12ff1fa2917ade0173c75b2fa570295b9f')
+ version("1.3.7", sha256="c99e2baa06fff1e96342b20415059d12ff1fa2917ade0173c75b2fa570295b9f")
# Referenced:https://sourceforge.net/p/fluxbox/bugs/1171/
- patch('fix_zero_comparison.patch')
-
- depends_on('pkgconfig', type='build')
- depends_on('freetype')
- depends_on('libxrender')
- depends_on('libxext')
- depends_on('expat')
- depends_on('libx11')
+ patch("fix_zero_comparison.patch")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("freetype")
+ depends_on("libxrender")
+ depends_on("libxext")
+ depends_on("expat")
+ depends_on("libx11")
diff --git a/var/spack/repos/builtin/packages/fms/package.py b/var/spack/repos/builtin/packages/fms/package.py
index 5c4ecdede3..de82661cf0 100644
--- a/var/spack/repos/builtin/packages/fms/package.py
+++ b/var/spack/repos/builtin/packages/fms/package.py
@@ -13,49 +13,74 @@ class Fms(CMakePackage):
system models."""
homepage = "https://github.com/NOAA-GFDL/FMS"
- url = "https://github.com/NOAA-GFDL/FMS/archive/refs/tags/2022.02.tar.gz"
- git = "https://github.com/NOAA-GFDL/FMS.git"
-
- maintainers = ['kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett', 'rem1776']
-
- version('2022.02', sha256='ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874')
- version('2022.01', sha256='a1cba1f536923f5953c28729a28e5431e127b45d6bc2c15d230939f0c02daa9b')
- version('2021.04', sha256='dcb4fe80cb3b7846f7cf89b812afff09a78a10261ea048a851f28935d6b241b1')
- version('2021.03.01', sha256='1f70e2a57f0d01e80fceb9ca9ce9661f5c1565d0437ab67618c2c4dfea0da6e9')
- version('2021.03', sha256='a9fb6e85f44ff79e6f9e61e65f42a5ffd38fa661fe1a3e4da6f85ffacd2697ac')
- version('2021.02.01', sha256='9b11d9474d7c90464af66d81fb86c4798cfa309b9a0da20b0fccf33c4f65386b')
- version('2021.02', sha256='db810b2452a6952239f064b52c0c5c58fc62126057982111b9fcd64f1b3bd879')
- version('2021.01', sha256='38c748e2edb94ffeb021095d8bde4d74b7834610ce0ef1dbb4dce353eeb5cd96')
- version('2020.04.02', sha256='bd6ce752b1018d4418398f14b9fc486f217de76bcbaaf2cdbf4c43e0b3f39f69')
- version('2020.04.01', sha256='2c409242de7dea0cf29f8dbf7495698b6bcac1eeb5c4599a728bdea172ffe37c')
-
- variant('64bit', default=True, description='Build a version of the library with default 64 bit reals')
- variant('gfs_phys', default=True, description='Use GFS Physics')
- variant('openmp', default=True, description='Use OpenMP')
- variant('quad_precision', default=True, description='quad precision reals')
- variant('yaml', default=False, description='yaml input file support(requires libyaml)', when='@2021.04:')
- variant('constants', default='GFDL', description='Build with <X> constants parameter definitions',
- values=('GFDL', 'GEOS', 'GFS'), multi=False, when='@2022.02:')
- variant('fpic', default=False, description='Build with position independent code', when='@2022.02:')
-
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
- depends_on('mpi')
- depends_on('libyaml', when='+yaml')
+ url = "https://github.com/NOAA-GFDL/FMS/archive/refs/tags/2022.02.tar.gz"
+ git = "https://github.com/NOAA-GFDL/FMS.git"
+
+ maintainers = ["kgerheiser", "Hang-Lei-NOAA", "edwardhartnett", "rem1776"]
+
+ version("2022.02", sha256="ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874")
+ version("2022.01", sha256="a1cba1f536923f5953c28729a28e5431e127b45d6bc2c15d230939f0c02daa9b")
+ version("2021.04", sha256="dcb4fe80cb3b7846f7cf89b812afff09a78a10261ea048a851f28935d6b241b1")
+ version(
+ "2021.03.01", sha256="1f70e2a57f0d01e80fceb9ca9ce9661f5c1565d0437ab67618c2c4dfea0da6e9"
+ )
+ version("2021.03", sha256="a9fb6e85f44ff79e6f9e61e65f42a5ffd38fa661fe1a3e4da6f85ffacd2697ac")
+ version(
+ "2021.02.01", sha256="9b11d9474d7c90464af66d81fb86c4798cfa309b9a0da20b0fccf33c4f65386b"
+ )
+ version("2021.02", sha256="db810b2452a6952239f064b52c0c5c58fc62126057982111b9fcd64f1b3bd879")
+ version("2021.01", sha256="38c748e2edb94ffeb021095d8bde4d74b7834610ce0ef1dbb4dce353eeb5cd96")
+ version(
+ "2020.04.02", sha256="bd6ce752b1018d4418398f14b9fc486f217de76bcbaaf2cdbf4c43e0b3f39f69"
+ )
+ version(
+ "2020.04.01", sha256="2c409242de7dea0cf29f8dbf7495698b6bcac1eeb5c4599a728bdea172ffe37c"
+ )
+
+ variant(
+ "64bit",
+ default=True,
+ description="Build a version of the library with default 64 bit reals",
+ )
+ variant("gfs_phys", default=True, description="Use GFS Physics")
+ variant("openmp", default=True, description="Use OpenMP")
+ variant("quad_precision", default=True, description="quad precision reals")
+ variant(
+ "yaml",
+ default=False,
+ description="yaml input file support(requires libyaml)",
+ when="@2021.04:",
+ )
+ variant(
+ "constants",
+ default="GFDL",
+ description="Build with <X> constants parameter definitions",
+ values=("GFDL", "GEOS", "GFS"),
+ multi=False,
+ when="@2022.02:",
+ )
+ variant(
+ "fpic", default=False, description="Build with position independent code", when="@2022.02:"
+ )
+
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
+ depends_on("mpi")
+ depends_on("libyaml", when="+yaml")
def cmake_args(self):
args = [
- self.define_from_variant('64BIT'),
- self.define_from_variant('GFS_PHYS'),
- self.define_from_variant('OPENMP'),
- self.define_from_variant('ENABLE_QUAD_PRECISION', 'quad_precision'),
- self.define_from_variant('WITH_YAML', 'yaml'),
- self.define_from_variant('CONSTANTS'),
- self.define_from_variant('FPIC')
+ self.define_from_variant("64BIT"),
+ self.define_from_variant("GFS_PHYS"),
+ self.define_from_variant("OPENMP"),
+ self.define_from_variant("ENABLE_QUAD_PRECISION", "quad_precision"),
+ self.define_from_variant("WITH_YAML", "yaml"),
+ self.define_from_variant("CONSTANTS"),
+ self.define_from_variant("FPIC"),
]
- args.append(self.define('CMAKE_C_COMPILER', self.spec['mpi'].mpicc))
- args.append(self.define('CMAKE_CXX_COMPILER', self.spec['mpi'].mpicxx))
- args.append(self.define('CMAKE_Fortran_COMPILER', self.spec['mpi'].mpifc))
+ args.append(self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc))
+ args.append(self.define("CMAKE_CXX_COMPILER", self.spec["mpi"].mpicxx))
+ args.append(self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc))
return args
diff --git a/var/spack/repos/builtin/packages/fmt/package.py b/var/spack/repos/builtin/packages/fmt/package.py
index 3b51d18493..7575b2730e 100644
--- a/var/spack/repos/builtin/packages/fmt/package.py
+++ b/var/spack/repos/builtin/packages/fmt/package.py
@@ -12,78 +12,81 @@ class Fmt(CMakePackage):
to C++ IOStreams."""
homepage = "https://fmt.dev/"
- url = "https://github.com/fmtlib/fmt/releases/download/7.1.3/fmt-7.1.3.zip"
-
- version('8.1.1', sha256='23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d')
- version('8.1.0', sha256='d8e9f093b2241c3a9fc3895e23231ef9de00c762cfa0a9c65e4748755bc352ae')
- version('8.0.1', sha256='a627a56eab9554fc1e5dd9a623d0768583b3a383ff70a4312ba68f94c9d415bf')
- version('7.1.3', sha256='5d98c504d0205f912e22449ecdea776b78ce0bb096927334f80781e720084c9f')
- version('7.1.2', sha256='4d6968ab7c01e95cc76df136755703defb985105a117b83057e4fd5d53680ea7')
- version('7.1.0', sha256='308af4e36ee3ab527b51014a2a5d862682c84f5d16f7a597aea34c84853cbcb0')
- version('6.1.2', sha256='63650f3c39a96371f5810c4e41d6f9b0bb10305064e6faf201cbafe297ea30e8')
- version('5.3.0', sha256='4c0741e10183f75d7d6f730b8708a99b329b2f942dad5a9da3385ab92bb4a15c')
- version('5.2.1', sha256='43894ab8fe561fc9e523a8024efc23018431fa86b95d45b06dbe6ddb29ffb6cd')
- version('5.2.0', sha256='c016db7f825bce487a7929e1edb747b9902a2935057af6512cad3df3a080a027')
- version('5.1.0', sha256='77ef9fea638dc846e484409fbc1ea710bb9bcea042e7b35b8805041bf7655ad5')
- version('5.0.0', sha256='8dd58daf13e7e8adca99f8725ef3ae598f9c97efda7d6d8d4c49db5047879097')
- version('4.1.0', sha256='9d49bf02ceb9d0eec51144b203b63b77e69d3798bb402fb82e7d0bdb06c79eeb')
- version('4.0.0', sha256='10a9f184d4d66f135093a08396d3b0a0ebe8d97b79f8b3ddb8559f75fe4fcbc3')
- version('3.0.2', sha256='51407b62a202b29d1a9c0eb5ecd4095d30031aea65407c42c25cb10cb5c59ad4')
- version('3.0.1', sha256='4c9af0dc919a8ae7022b44e1a03c435e42d65c866f44667d8d920d342b098550')
- version('3.0.0', sha256='1b050b66fa31b74f1d75a14f15e99e728ab79572f176a53b2f8ad7c201c30ceb')
-
- variant('cxxstd',
- default='11',
- values=('98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building')
- variant('shared', default=False, description='Build shared library')
- variant('pic', default=True, description='Build position-independent code')
-
- depends_on('cmake@3.1.0:', type='build')
+ url = "https://github.com/fmtlib/fmt/releases/download/7.1.3/fmt-7.1.3.zip"
+
+ version("8.1.1", sha256="23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d")
+ version("8.1.0", sha256="d8e9f093b2241c3a9fc3895e23231ef9de00c762cfa0a9c65e4748755bc352ae")
+ version("8.0.1", sha256="a627a56eab9554fc1e5dd9a623d0768583b3a383ff70a4312ba68f94c9d415bf")
+ version("7.1.3", sha256="5d98c504d0205f912e22449ecdea776b78ce0bb096927334f80781e720084c9f")
+ version("7.1.2", sha256="4d6968ab7c01e95cc76df136755703defb985105a117b83057e4fd5d53680ea7")
+ version("7.1.0", sha256="308af4e36ee3ab527b51014a2a5d862682c84f5d16f7a597aea34c84853cbcb0")
+ version("6.1.2", sha256="63650f3c39a96371f5810c4e41d6f9b0bb10305064e6faf201cbafe297ea30e8")
+ version("5.3.0", sha256="4c0741e10183f75d7d6f730b8708a99b329b2f942dad5a9da3385ab92bb4a15c")
+ version("5.2.1", sha256="43894ab8fe561fc9e523a8024efc23018431fa86b95d45b06dbe6ddb29ffb6cd")
+ version("5.2.0", sha256="c016db7f825bce487a7929e1edb747b9902a2935057af6512cad3df3a080a027")
+ version("5.1.0", sha256="77ef9fea638dc846e484409fbc1ea710bb9bcea042e7b35b8805041bf7655ad5")
+ version("5.0.0", sha256="8dd58daf13e7e8adca99f8725ef3ae598f9c97efda7d6d8d4c49db5047879097")
+ version("4.1.0", sha256="9d49bf02ceb9d0eec51144b203b63b77e69d3798bb402fb82e7d0bdb06c79eeb")
+ version("4.0.0", sha256="10a9f184d4d66f135093a08396d3b0a0ebe8d97b79f8b3ddb8559f75fe4fcbc3")
+ version("3.0.2", sha256="51407b62a202b29d1a9c0eb5ecd4095d30031aea65407c42c25cb10cb5c59ad4")
+ version("3.0.1", sha256="4c9af0dc919a8ae7022b44e1a03c435e42d65c866f44667d8d920d342b098550")
+ version("3.0.0", sha256="1b050b66fa31b74f1d75a14f15e99e728ab79572f176a53b2f8ad7c201c30ceb")
+
+ variant(
+ "cxxstd",
+ default="11",
+ values=("98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+ variant("shared", default=False, description="Build shared library")
+ variant("pic", default=True, description="Build position-independent code")
+
+ depends_on("cmake@3.1.0:", type="build")
# Supported compilers/standards are detailed here:
# http://fmtlib.net/latest/index.html#portability
- conflicts('%gcc@:4.3', when='@5:')
- conflicts('%llvm@:2.8', when='@5:')
+ conflicts("%gcc@:4.3", when="@5:")
+ conflicts("%llvm@:2.8", when="@5:")
# 5 and above require C++11
- conflicts('cxxstd=98', when='@5:')
+ conflicts("cxxstd=98", when="@5:")
# 5.0.0 enables C++14 auto return types in C++11 mode
- conflicts('cxxstd=11', when='@5.0.0')
+ conflicts("cxxstd=11", when="@5.0.0")
# 4.1 fails with C++17 (https://github.com/fmtlib/fmt/issues/722)
- conflicts('cxxstd=17', when='@4.1.0')
+ conflicts("cxxstd=17", when="@4.1.0")
# Use CMAKE_CXX_STANDARD to define C++ flag, as in later versions
- patch('fmt-use-cmake-cxx-standard_3.0.0.patch', when='@3.0.0')
+ patch("fmt-use-cmake-cxx-standard_3.0.0.patch", when="@3.0.0")
# Remove hardcoding of "-std=c++11/0x" in INTERFACE_COMPILE_OPTIONS
- patch('fmt-no-export-cpp11flag_3.0.0.patch', when='@3.0.0:3.0.1')
+ patch("fmt-no-export-cpp11flag_3.0.0.patch", when="@3.0.0:3.0.1")
# Only allow [[attributes]] on C++11 and higher
- patch('fmt-attributes-cpp11_4.1.0.patch', when='@4.1.0')
+ patch("fmt-attributes-cpp11_4.1.0.patch", when="@4.1.0")
def cmake_args(self):
spec = self.spec
args = []
- if self.spec.satisfies('+shared'):
- args.append('-DBUILD_SHARED_LIBS=ON')
+ if self.spec.satisfies("+shared"):
+ args.append("-DBUILD_SHARED_LIBS=ON")
- if '+pic' in spec:
- args.extend([
- '-DCMAKE_C_FLAGS={0}'.format(self.compiler.cc_pic_flag),
- '-DCMAKE_CXX_FLAGS={0}'.format(self.compiler.cxx_pic_flag)
- ])
+ if "+pic" in spec:
+ args.extend(
+ [
+ "-DCMAKE_C_FLAGS={0}".format(self.compiler.cc_pic_flag),
+ "-DCMAKE_CXX_FLAGS={0}".format(self.compiler.cxx_pic_flag),
+ ]
+ )
- args.append('-DCMAKE_CXX_STANDARD={0}'.format(
- spec.variants['cxxstd'].value))
+ args.append("-DCMAKE_CXX_STANDARD={0}".format(spec.variants["cxxstd"].value))
# Require standard at configure time to guarantee the
# compiler supports the selected standard.
- args.append('-DCMAKE_CXX_STANDARD_REQUIRED=ON')
+ args.append("-DCMAKE_CXX_STANDARD_REQUIRED=ON")
# When cxxstd is 98, must disable FMT_USE_CPP11
- if 'cxxstd=98' in spec:
- args.append('-DFMT_USE_CPP11=OFF')
+ if "cxxstd=98" in spec:
+ args.append("-DFMT_USE_CPP11=OFF")
# Can't build docs without doxygen+python+virtualenv
# and call to build "doc" target
diff --git a/var/spack/repos/builtin/packages/foam-extend/package.py b/var/spack/repos/builtin/packages/foam-extend/package.py
index 983596f777..cbb957d131 100644
--- a/var/spack/repos/builtin/packages/foam-extend/package.py
+++ b/var/spack/repos/builtin/packages/foam-extend/package.py
@@ -55,52 +55,46 @@ class FoamExtend(Package):
homepage = "http://www.extend-project.de/"
- version('4.0', git='http://git.code.sf.net/p/foam-extend/foam-extend-4.0.git')
- version('3.2', git='http://git.code.sf.net/p/foam-extend/foam-extend-3.2.git')
- version('3.1', git='http://git.code.sf.net/p/foam-extend/foam-extend-3.1.git')
- version('3.0', git='http://git.code.sf.net/p/foam-extend/foam-extend-3.0.git')
+ version("4.0", git="http://git.code.sf.net/p/foam-extend/foam-extend-4.0.git")
+ version("3.2", git="http://git.code.sf.net/p/foam-extend/foam-extend-3.2.git")
+ version("3.1", git="http://git.code.sf.net/p/foam-extend/foam-extend-3.1.git")
+ version("3.0", git="http://git.code.sf.net/p/foam-extend/foam-extend-3.0.git")
# variant('int64', default=False,
# description='Compile with 64-bit label')
- variant('float32', default=False,
- description='Compile with 32-bit scalar (single-precision)')
- variant('paraview', default=False,
- description='Build paraview plugins (eg, paraFoam)')
- variant('scotch', default=True,
- description='With scotch for decomposition')
- variant('ptscotch', default=True,
- description='With ptscotch for decomposition')
- variant('metis', default=True,
- description='With metis for decomposition')
- variant('parmetis', default=True,
- description='With parmetis for decomposition')
- variant('parmgridgen', default=True,
- description='With parmgridgen support')
- variant('source', default=True,
- description='Install library/application sources and tutorials')
-
- depends_on('mpi')
- depends_on('python')
- depends_on('zlib')
- depends_on('flex', type='build')
- depends_on('cmake', type='build')
-
- depends_on('scotch~metis', when='~ptscotch+scotch')
- depends_on('scotch~metis+mpi', when='+ptscotch')
- depends_on('metis@5:', when='+metis')
- depends_on('parmetis', when='+parmetis')
+ variant("float32", default=False, description="Compile with 32-bit scalar (single-precision)")
+ variant("paraview", default=False, description="Build paraview plugins (eg, paraFoam)")
+ variant("scotch", default=True, description="With scotch for decomposition")
+ variant("ptscotch", default=True, description="With ptscotch for decomposition")
+ variant("metis", default=True, description="With metis for decomposition")
+ variant("parmetis", default=True, description="With parmetis for decomposition")
+ variant("parmgridgen", default=True, description="With parmgridgen support")
+ variant(
+ "source", default=True, description="Install library/application sources and tutorials"
+ )
+
+ depends_on("mpi")
+ depends_on("python")
+ depends_on("zlib")
+ depends_on("flex", type="build")
+ depends_on("cmake", type="build")
+
+ depends_on("scotch~metis", when="~ptscotch+scotch")
+ depends_on("scotch~metis+mpi", when="+ptscotch")
+ depends_on("metis@5:", when="+metis")
+ depends_on("parmetis", when="+parmetis")
# mgridgen is statically linked
- depends_on('parmgridgen', when='+parmgridgen', type='build')
- depends_on('paraview@:5.0.1', when='+paraview')
+ depends_on("parmgridgen", when="+parmgridgen", type="build")
+ depends_on("paraview@:5.0.1", when="+paraview")
# General patches
- common = ['spack-Allwmake', 'README-spack']
+ common = ["spack-Allwmake", "README-spack"]
assets = [] # type: List[str]
# Some user config settings
config = {
- 'label-size': False, # <- No int32/int64 support
- 'mplib': 'USERMPI', # USERMPI
+ "label-size": False, # <- No int32/int64 support
+ "mplib": "USERMPI", # USERMPI
}
# The openfoam architecture, compiler information etc
@@ -112,8 +106,8 @@ class FoamExtend(Package):
# Content for etc/config.{csh,sh}/ files
etc_config = {} # type: Dict[str, str]
- phases = ['configure', 'build', 'install']
- build_script = './spack-Allwmake' # <- Added by patch() method.
+ phases = ["configure", "build", "install"]
+ build_script = "./spack-Allwmake" # <- Added by patch() method.
#
# - End of definitions / setup -
@@ -127,7 +121,7 @@ class FoamExtend(Package):
$ . $WM_PROJECT_DIR/etc/bashrc
"""
- bashrc = join_path(self.projectdir, 'etc', 'bashrc')
+ bashrc = join_path(self.projectdir, "etc", "bashrc")
minimal = True
if os.path.isfile(bashrc):
# post-install: source the installed bashrc
@@ -138,49 +132,47 @@ class FoamExtend(Package):
blacklist=[ # Blacklist these
# Inadvertent changes
# -------------------
- 'PS1', # Leave unaffected
- 'MANPATH', # Leave unaffected
-
+ "PS1", # Leave unaffected
+ "MANPATH", # Leave unaffected
# Unneeded bits
# -------------
- 'FOAM_INST_DIR', # Possibly incorrect
- 'FOAM_(APP|ETC|SRC|SOLVERS|UTILITIES)',
- 'FOAM_TEST_.*_DIR',
- 'WM_NCOMPPROCS',
+ "FOAM_INST_DIR", # Possibly incorrect
+ "FOAM_(APP|ETC|SRC|SOLVERS|UTILITIES)",
+ "FOAM_TEST_.*_DIR",
+ "WM_NCOMPPROCS",
# 'FOAM_TUTORIALS', # can be useful
-
# Lots of third-party cruft
# -------------------------
- '[A-Z].*_(BIN|LIB|INCLUDE)_DIR',
- '[A-Z].*_SYSTEM',
- 'WM_THIRD_PARTY_.*',
- '(BISON|FLEX|CMAKE|ZLIB)_DIR',
- '(METIS|PARMETIS|PARMGRIDGEN|SCOTCH)_DIR',
-
+ "[A-Z].*_(BIN|LIB|INCLUDE)_DIR",
+ "[A-Z].*_SYSTEM",
+ "WM_THIRD_PARTY_.*",
+ "(BISON|FLEX|CMAKE|ZLIB)_DIR",
+ "(METIS|PARMETIS|PARMGRIDGEN|SCOTCH)_DIR",
# User-specific
# -------------
- 'FOAM_RUN',
- '(FOAM|WM)_.*USER_.*',
+ "FOAM_RUN",
+ "(FOAM|WM)_.*USER_.*",
],
whitelist=[ # Whitelist these
- 'MPI_ARCH_PATH', # Can be needed for compilation
- 'PYTHON_BIN_DIR',
- ])
+ "MPI_ARCH_PATH", # Can be needed for compilation
+ "PYTHON_BIN_DIR",
+ ],
+ )
env.extend(mods)
minimal = False
- tty.info('foam-extend env: {0}'.format(bashrc))
+ tty.info("foam-extend env: {0}".format(bashrc))
except Exception:
minimal = True
if minimal:
# pre-build or minimal environment
- tty.info('foam-extend minimal env {0}'.format(self.prefix))
- env.set('FOAM_INST_DIR', os.path.dirname(self.projectdir)),
- env.set('FOAM_PROJECT_DIR', self.projectdir)
- env.set('WM_PROJECT_DIR', self.projectdir)
- for d in ['wmake', self.archbin]: # bin added automatically
- env.prepend_path('PATH', join_path(self.projectdir, d))
+ tty.info("foam-extend minimal env {0}".format(self.prefix))
+ env.set("FOAM_INST_DIR", os.path.dirname(self.projectdir)),
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
+ env.set("WM_PROJECT_DIR", self.projectdir)
+ for d in ["wmake", self.archbin]: # bin added automatically
+ env.prepend_path("PATH", join_path(self.projectdir, d))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Location of the OpenFOAM project.
@@ -188,7 +180,7 @@ class FoamExtend(Package):
variable since it would mask the normal OpenFOAM cleanup of
previous versions.
"""
- env.set('FOAM_PROJECT_DIR', self.projectdir)
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
@property
def projectdir(self):
@@ -204,50 +196,52 @@ class FoamExtend(Package):
@property
def archbin(self):
"""Relative location of architecture-specific executables"""
- return join_path('applications', 'bin', self.foam_arch)
+ return join_path("applications", "bin", self.foam_arch)
@property
def archlib(self):
"""Relative location of architecture-specific libraries"""
- return join_path('lib', self.foam_arch)
+ return join_path("lib", self.foam_arch)
def patch(self):
"""Adjust OpenFOAM build for spack.
- Where needed, apply filter as an alternative to normal patching."""
+ Where needed, apply filter as an alternative to normal patching."""
add_extra_files(self, self.common, self.assets)
# Adjust ParMGridGen - this is still a mess
files = [
- 'src/dbns/Make/options',
- 'src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options'
+ "src/dbns/Make/options",
+ "src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options",
]
for f in files:
- filter_file(r'-lMGridGen', r'-lmgrid', f, backup=False)
+ filter_file(r"-lMGridGen", r"-lmgrid", f, backup=False)
# Adjust for flex version check
files = [
(
- 'src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/'
- 'chemkinLexer.L'
+ "src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/"
+ "chemkinLexer.L"
),
- 'src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L',
- 'src/meshTools/triSurface/triSurface/interfaces/STL/readSTLASCII.L',
- 'applications/utilities/preProcessing/fluentDataToFoam/fluentDataToFoam.L',
- 'applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L',
- 'applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L',
- 'applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L',
- 'applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L',
- 'applications/utilities/mesh/conversion/fluent3DMeshToElmer/fluent3DMeshToElmer.L'
+ "src/surfMesh/surfaceFormats/stl/STLsurfaceFormatASCII.L",
+ "src/meshTools/triSurface/triSurface/interfaces/STL/readSTLASCII.L",
+ "applications/utilities/preProcessing/fluentDataToFoam/fluentDataToFoam.L",
+ "applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L",
+ "applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L",
+ "applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L",
+ "applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L",
+ "applications/utilities/mesh/conversion/fluent3DMeshToElmer/fluent3DMeshToElmer.L",
]
for f in files:
filter_file(
- r'#if YY_FLEX_SUBMINOR_VERSION < 34',
+ r"#if YY_FLEX_SUBMINOR_VERSION < 34",
(
- r'#if YY_FLEX_MAJOR_VERSION <= 2 '
- r'&& YY_FLEX_MINOR_VERSION <= 5 '
- r'&& YY_FLEX_SUBMINOR_VERSION < 34'
+ r"#if YY_FLEX_MAJOR_VERSION <= 2 "
+ r"&& YY_FLEX_MINOR_VERSION <= 5 "
+ r"&& YY_FLEX_SUBMINOR_VERSION < 34"
),
- f, backup=False)
+ f,
+ backup=False,
+ )
def configure(self, spec, prefix):
"""Make adjustments to the OpenFOAM configuration files in their various
@@ -257,92 +251,93 @@ class FoamExtend(Package):
"""
# Content for etc/prefs.{csh,sh}
self.etc_prefs = {
- '000': { # Sort first
- 'compilerInstall': 'System',
+ "000": { # Sort first
+ "compilerInstall": "System",
},
- '001': {},
- 'cmake': {
- 'CMAKE_DIR': spec['cmake'].prefix,
- 'CMAKE_BIN_DIR': spec['cmake'].prefix.bin,
+ "001": {},
+ "cmake": {
+ "CMAKE_DIR": spec["cmake"].prefix,
+ "CMAKE_BIN_DIR": spec["cmake"].prefix.bin,
},
- 'python': {
- 'PYTHON_DIR': spec['python'].home,
- 'PYTHON_BIN_DIR': spec['python'].home.bin,
+ "python": {
+ "PYTHON_DIR": spec["python"].home,
+ "PYTHON_BIN_DIR": spec["python"].home.bin,
},
- 'flex': {
- 'FLEX_SYSTEM': 1,
- 'FLEX_DIR': spec['flex'].prefix,
+ "flex": {
+ "FLEX_SYSTEM": 1,
+ "FLEX_DIR": spec["flex"].prefix,
},
- 'bison': {
- 'BISON_SYSTEM': 1,
- 'BISON_DIR': spec['flex'].prefix,
+ "bison": {
+ "BISON_SYSTEM": 1,
+ "BISON_DIR": spec["flex"].prefix,
},
- 'zlib': {
- 'ZLIB_SYSTEM': 1,
- 'ZLIB_DIR': spec['zlib'].prefix,
+ "zlib": {
+ "ZLIB_SYSTEM": 1,
+ "ZLIB_DIR": spec["zlib"].prefix,
},
}
# Adjust configuration via prefs - sort second
- self.etc_prefs['001'].update(self.foam_arch.foam_dict())
-
- if '+scotch' in spec or '+ptscotch' in spec:
- pkg = spec['scotch'].prefix
- self.etc_prefs['scotch'] = {
- 'SCOTCH_SYSTEM': 1,
- 'SCOTCH_DIR': pkg,
- 'SCOTCH_BIN_DIR': pkg.bin,
- 'SCOTCH_LIB_DIR': pkg.lib,
- 'SCOTCH_INCLUDE_DIR': pkg.include,
+ self.etc_prefs["001"].update(self.foam_arch.foam_dict())
+
+ if "+scotch" in spec or "+ptscotch" in spec:
+ pkg = spec["scotch"].prefix
+ self.etc_prefs["scotch"] = {
+ "SCOTCH_SYSTEM": 1,
+ "SCOTCH_DIR": pkg,
+ "SCOTCH_BIN_DIR": pkg.bin,
+ "SCOTCH_LIB_DIR": pkg.lib,
+ "SCOTCH_INCLUDE_DIR": pkg.include,
}
- if '+metis' in spec:
- pkg = spec['metis'].prefix
- self.etc_prefs['metis'] = {
- 'METIS_SYSTEM': 1,
- 'METIS_DIR': pkg,
- 'METIS_BIN_DIR': pkg.bin,
- 'METIS_LIB_DIR': pkg.lib,
- 'METIS_INCLUDE_DIR': pkg.include,
+ if "+metis" in spec:
+ pkg = spec["metis"].prefix
+ self.etc_prefs["metis"] = {
+ "METIS_SYSTEM": 1,
+ "METIS_DIR": pkg,
+ "METIS_BIN_DIR": pkg.bin,
+ "METIS_LIB_DIR": pkg.lib,
+ "METIS_INCLUDE_DIR": pkg.include,
}
- if '+parmetis' in spec:
- pkg = spec['parmetis'].prefix
- self.etc_prefs['parametis'] = {
- 'PARMETIS_SYSTEM': 1,
- 'PARMETIS_DIR': pkg,
- 'PARMETIS_BIN_DIR': pkg.bin,
- 'PARMETIS_LIB_DIR': pkg.lib,
- 'PARMETIS_INCLUDE_DIR': pkg.include,
+ if "+parmetis" in spec:
+ pkg = spec["parmetis"].prefix
+ self.etc_prefs["parametis"] = {
+ "PARMETIS_SYSTEM": 1,
+ "PARMETIS_DIR": pkg,
+ "PARMETIS_BIN_DIR": pkg.bin,
+ "PARMETIS_LIB_DIR": pkg.lib,
+ "PARMETIS_INCLUDE_DIR": pkg.include,
}
- if '+parmgridgen' in spec:
- pkg = spec['parmgridgen'].prefix
- self.etc_prefs['parmgridgen'] = {
- 'PARMGRIDGEN_SYSTEM': 1,
- 'PARMGRIDGEN_DIR': pkg,
- 'PARMGRIDGEN_BIN_DIR': pkg.bin,
- 'PARMGRIDGEN_LIB_DIR': pkg.lib,
- 'PARMGRIDGEN_INCLUDE_DIR': pkg.include,
+ if "+parmgridgen" in spec:
+ pkg = spec["parmgridgen"].prefix
+ self.etc_prefs["parmgridgen"] = {
+ "PARMGRIDGEN_SYSTEM": 1,
+ "PARMGRIDGEN_DIR": pkg,
+ "PARMGRIDGEN_BIN_DIR": pkg.bin,
+ "PARMGRIDGEN_LIB_DIR": pkg.lib,
+ "PARMGRIDGEN_INCLUDE_DIR": pkg.include,
}
- if '+paraview' in self.spec:
- self.etc_prefs['paraview'] = {
- 'PARAVIEW_SYSTEM': 1,
- 'PARAVIEW_DIR': spec['paraview'].prefix,
- 'PARAVIEW_BIN_DIR': spec['paraview'].prefix.bin,
+ if "+paraview" in self.spec:
+ self.etc_prefs["paraview"] = {
+ "PARAVIEW_SYSTEM": 1,
+ "PARAVIEW_DIR": spec["paraview"].prefix,
+ "PARAVIEW_BIN_DIR": spec["paraview"].prefix.bin,
}
- self.etc_prefs['qt'] = {
- 'QT_SYSTEM': 1,
- 'QT_DIR': spec['qt'].prefix,
- 'QT_BIN_DIR': spec['qt'].prefix.bin,
+ self.etc_prefs["qt"] = {
+ "QT_SYSTEM": 1,
+ "QT_DIR": spec["qt"].prefix,
+ "QT_BIN_DIR": spec["qt"].prefix.bin,
}
# Write prefs files according to the configuration.
# Only need prefs.sh for building, but install both for end-users
write_environ(
self.etc_prefs,
- posix=join_path('etc', 'prefs.sh'),
- cshell=join_path('etc', 'prefs.csh'))
+ posix=join_path("etc", "prefs.sh"),
+ cshell=join_path("etc", "prefs.csh"),
+ )
def build(self, spec, prefix):
"""Build using the OpenFOAM Allwmake script, with a wrapper to source
@@ -354,7 +349,7 @@ class FoamExtend(Package):
args = []
if self.parallel: # Build in parallel? - pass via the environment
- os.environ['WM_NCOMPPROCS'] = str(make_jobs)
+ os.environ["WM_NCOMPPROCS"] = str(make_jobs)
builder = Executable(self.build_script)
builder(*args)
@@ -362,63 +357,53 @@ class FoamExtend(Package):
"""Install under the projectdir"""
# Fairly ugly since intermediate targets are scattered inside sources
- appdir = 'applications'
+ appdir = "applications"
projdir = os.path.basename(self.projectdir)
mkdirp(self.projectdir, join_path(self.projectdir, appdir))
# Filtering: bashrc, cshrc
edits = {
- 'WM_PROJECT_INST_DIR': os.path.dirname(self.projectdir),
- 'WM_PROJECT_DIR': join_path('$WM_PROJECT_INST_DIR', projdir),
+ "WM_PROJECT_INST_DIR": os.path.dirname(self.projectdir),
+ "WM_PROJECT_DIR": join_path("$WM_PROJECT_INST_DIR", projdir),
}
# All top-level files, except spack build info and possibly Allwmake
- if '+source' in spec:
- ignored = re.compile(r'^spack-.*')
+ if "+source" in spec:
+ ignored = re.compile(r"^spack-.*")
else:
- ignored = re.compile(r'^(Allclean|Allwmake|spack-).*')
+ ignored = re.compile(r"^(Allclean|Allwmake|spack-).*")
- files = [
- f for f in glob.glob("*")
- if os.path.isfile(f) and not ignored.search(f)
- ]
+ files = [f for f in glob.glob("*") if os.path.isfile(f) and not ignored.search(f)]
for f in files:
install(f, self.projectdir)
# Install directories. install applications/bin directly
# Install 'etc' before 'bin' (for symlinks)
- for d in ['etc', 'bin', 'wmake', 'lib', join_path(appdir, 'bin')]:
- install_tree(
- d,
- join_path(self.projectdir, d),
- symlinks=True)
-
- if '+source' in spec:
- subitem = join_path(appdir, 'Allwmake')
+ for d in ["etc", "bin", "wmake", "lib", join_path(appdir, "bin")]:
+ install_tree(d, join_path(self.projectdir, d), symlinks=True)
+
+ if "+source" in spec:
+ subitem = join_path(appdir, "Allwmake")
install(subitem, join_path(self.projectdir, subitem))
foam_arch_str = str(self.foam_arch)
# Ignore intermediate targets
ignore = lambda p: os.path.basename(p) == foam_arch_str
- for d in ['src', 'tutorials']:
- install_tree(
- d,
- join_path(self.projectdir, d),
- ignore=ignore,
- symlinks=True)
+ for d in ["src", "tutorials"]:
+ install_tree(d, join_path(self.projectdir, d), ignore=ignore, symlinks=True)
- for d in ['solvers', 'utilities']:
+ for d in ["solvers", "utilities"]:
install_tree(
join_path(appdir, d),
join_path(self.projectdir, appdir, d),
ignore=ignore,
- symlinks=True)
+ symlinks=True,
+ )
- etc_dir = join_path(self.projectdir, 'etc')
+ etc_dir = join_path(self.projectdir, "etc")
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path(etc_dir, 'bashrc'),
- cshell=join_path(etc_dir, 'cshrc'))
+ edits, posix=join_path(etc_dir, "bashrc"), cshell=join_path(etc_dir, "cshrc")
+ )
self.install_links()
def install_links(self):
@@ -427,6 +412,8 @@ class FoamExtend(Package):
with working_dir(self.projectdir):
os.symlink(
join_path(os.path.relpath(self.install_log_path)),
- join_path('log.' + str(self.foam_arch)))
+ join_path("log." + str(self.foam_arch)),
+ )
+
# -----------------------------------------------------------------------------
diff --git a/var/spack/repos/builtin/packages/folly/package.py b/var/spack/repos/builtin/packages/folly/package.py
index ed274bba9e..4ec50f6c30 100644
--- a/var/spack/repos/builtin/packages/folly/package.py
+++ b/var/spack/repos/builtin/packages/folly/package.py
@@ -19,37 +19,45 @@ class Folly(CMakePackage):
homepage = "https://github.com/facebook/folly"
url = "https://github.com/facebook/folly/releases/download/v2021.05.24.00/folly-v2021.05.24.00.tar.gz"
- version('2021.05.24.00', sha256='9d308adefe4670637f5c7d96309b3b394ac3fa129bc954f5dfbdd8b741c02aad')
+ version(
+ "2021.05.24.00", sha256="9d308adefe4670637f5c7d96309b3b394ac3fa129bc954f5dfbdd8b741c02aad"
+ )
# CMakePackage Dependency
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# folly requires gcc 5+ and a version of boost compiled with >= C++14
- variant('cxxstd', default='14', values=('14', '17'), multi=False, description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="14",
+ values=("14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
depends_on(
- 'boost+context+container+exception+filesystem+program_options'
- '+regex+serialization+system+thread cxxstd=14',
- when='cxxstd=14'
+ "boost+context+container+exception+filesystem+program_options"
+ "+regex+serialization+system+thread cxxstd=14",
+ when="cxxstd=14",
)
depends_on(
- 'boost+context+container+exception+filesystem+program_options'
- '+regex+serialization+system+thread cxxstd=17',
- when='cxxstd=17'
+ "boost+context+container+exception+filesystem+program_options"
+ "+regex+serialization+system+thread cxxstd=17",
+ when="cxxstd=17",
)
# required dependencies
- depends_on('gflags')
- depends_on('glog')
- depends_on('double-conversion')
- depends_on('libevent')
- depends_on('fmt')
+ depends_on("gflags")
+ depends_on("glog")
+ depends_on("double-conversion")
+ depends_on("libevent")
+ depends_on("fmt")
# optional dependencies
- variant('libdwarf', default=False, description="Optional Dependency")
- variant('elfutils', default=False, description="Optional Dependency")
- variant('libunwind', default=False, description="Optional Dependency")
- depends_on('libdwarf', when='+libdwarf')
- depends_on('elfutils', when='+elfutils')
- depends_on('libunwind', when='+libunwind')
-
- configure_directory = 'folly'
+ variant("libdwarf", default=False, description="Optional Dependency")
+ variant("elfutils", default=False, description="Optional Dependency")
+ variant("libunwind", default=False, description="Optional Dependency")
+ depends_on("libdwarf", when="+libdwarf")
+ depends_on("elfutils", when="+elfutils")
+ depends_on("libunwind", when="+libunwind")
+
+ configure_directory = "folly"
diff --git a/var/spack/repos/builtin/packages/font-util/package.py b/var/spack/repos/builtin/packages/font-util/package.py
index 5c7eb27ade..51b19c4859 100644
--- a/var/spack/repos/builtin/packages/font-util/package.py
+++ b/var/spack/repos/builtin/packages/font-util/package.py
@@ -12,98 +12,245 @@ class FontUtil(AutotoolsPackage, XorgPackage):
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')
- version('1.3.1', sha256='34ebb0c9c14e0a392cdd5ea055c92489ad88d55ae148b2f1cfded0f3f63f2b5b')
+ version("1.3.2", sha256="f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76")
+ version("1.3.1", sha256="34ebb0c9c14e0a392cdd5ea055c92489ad88d55ae148b2f1cfded0f3f63f2b5b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
- depends_on('bdftopcf', type='build')
- depends_on('mkfontscale', type='build')
- depends_on('mkfontdir', type='build')
+ depends_on("bdftopcf", type="build")
+ depends_on("mkfontscale", type="build")
+ depends_on("mkfontdir", type="build")
- font_baseurl = 'https://www.x.org/archive/individual/font/'
+ font_baseurl = "https://www.x.org/archive/individual/font/"
default_fonts = []
fonts = []
# name, version, sha256
fonts_resource = [
- ['encodings', '1.0.4', '55861d9cf456bd717a3d30a3193402c02174ed3c0dcee828798165fe307ee324'],
- ['font-alias', '1.0.3', '63087cb61d17bfc9cd6f4f9359f63a3b1dd83300a31a42fd93dca084724c6afb'],
- ['font-adobe-100dpi', '1.0.3', '97d9c1e706938838e4134d74f0836ae9d9ca6705ecb405c9a0ac8fdcbd9c2159'],
- ['font-adobe-75dpi', '1.0.3', '61eb1fcfec89f7435cb92cd68712fbe4ba412ca562b1f5feec1f6daa1b8544f6'],
- ['font-adobe-utopia-100dpi', '1.0.4', 'e8c3417d89183b1fc383fb3e0f3948c0d01fabcb9edace8b7ec85eab8cdc18c4'],
- ['font-adobe-utopia-75dpi', '1.0.4', '254be39c09da1c4e77d2a75a2969330ee2db395120a428671c50aef3ab745fc0'],
- ['font-adobe-utopia-type1', '1.0.4', 'd9e86a8805b0fb78222409169d839a8531a1f5c7284ee117ff2a0af2e5016c3f'],
- ['font-arabic-misc', '1.0.3', '3022b6b124f4cc6aade961f8d1306f67ff42e3b7922fb2244847f287344aefea'],
- ['font-bh-100dpi', '1.0.3', '817703372f080d6508cf109011b17f3572ff31047559fe82d93b487ca4e4e2d9'],
- ['font-bh-75dpi', '1.0.3', '720b6a513894bfc09a163951ec3dd8311201e08ee40e8891547b6c129ffb5fce'],
- ['font-bh-ttf', '1.0.3', 'c583b4b968ffae6ea30d5b74041afeac83126682c490a9624b770d60d0e63d59'],
- ['font-bh-type1', '1.0.3', 'd5602f1d749ccd31d3bc1bb6f0c5d77400de0e5e3ac5abebd2a867aa2a4081a4'],
- ['font-bh-lucidatypewriter-100dpi', '1.0.3', '5e05a642182ec6a77bd7cacb913d3c86b364429329a5f223b69792d418f90ae9'],
- ['font-bh-lucidatypewriter-75dpi', '1.0.3', '38301bbdb6374494f30c0b44acc7052ed8fc2289e917e648ca566fc591f0a9e0'],
- ['font-bitstream-100dpi', '1.0.3', '0a8c77c1540dc376fb2bb5a02bd33ee5f3563fbac9fc07c7947cac462c4bb48a'],
- ['font-bitstream-75dpi', '1.0.3', 'c43ae370932eb8a4789a5b1f9801da15228b0d4c803251785c38d82aef024a4b'],
- ['font-bitstream-speedo', '1.0.2', 'aeea5f130480a3f05149bde13d240e668d8fb4b32c02b18914fcccd1182abe72'],
- ['font-bitstream-type1', '1.0.3', '3399b7586c18be509cdaeceeebf754b861faa1d8799dda1aae01aeb2a7a30f01'],
- ['font-cronyx-cyrillic', '1.0.3', 'd64b9bfa5fa8dedf084f1695997cc32149485d2a195c810f62a1991ab5cd5519'],
- ['font-cursor-misc', '1.0.3', 'a0b146139363dd0a704c7265ff9cd9150d4ae7c0d248091a9a42093e1618c427'],
- ['font-daewoo-misc', '1.0.3', '21166546b0490aa3ec73215fa4ea28d91c6027b56178800ba51426bd3d840cc3'],
- ['font-dec-misc', '1.0.3', 'c4923342f6068c83fd4f5dbcf60d671c28461300db7e2aee930c8634b1e4b74a'],
- ['font-ibm-type1', '1.0.3', '4509703e9e581061309cf4823bffd4a93f10f48fe192a1d8be1f183fd6ab9711'],
- ['font-isas-misc', '1.0.3', '493965263070a5ee2a301dfdb2e87c1ca3c00c7882bfb3dd99368565ba558ff5'],
- ['font-jis-misc', '1.0.3', '57c2db8824865117287d57d47f2c8cf4b2842d036c7475534b5054be69690c73'],
- ['font-micro-misc', '1.0.3', '97ee77a9d8ca3e7caf0c78c386eb0b96e8a825ca3642ec035cfb83f5f2cf1475'],
- ['font-misc-cyrillic', '1.0.3', '79dfde93d356e41c298c2c1b9c638ec1a144f438d5146d0df6219afb1c2b8818'],
- ['font-misc-ethiopic', '1.0.3', 'd3b93f7f73a526919bf73a38e10ef4643cd541403a682a8068d54bbcdd9c7e27'],
- ['font-misc-meltho', '1.0.3', 'eaddfc6d9b32bf38c9dc87c354be3b646a385bc8d9de6e536269f6e1ca50644e'],
- ['font-misc-misc', '1.1.2', '46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829'],
- ['font-mutt-misc', '1.0.3', 'fcecbfc475dfe5826d137f8edc623ba27d58d32f069165c248a013b3c566bb59'],
- ['font-schumacher-misc', '1.1.2', 'dc3b8d5890480943e735e0375f0e0d8333094fcb6d6845ba321b2e39db78d148'],
- ['font-screen-cyrillic', '1.0.4', '9e82783758e8c67a9aadaf1a7222d13418a87455e4ce0a9974fb1df0278bdf74'],
- ['font-sun-misc', '1.0.3', '549c6ba59979da25e85c218a26e5c527c3c24ebab2c76509c1ebc34d94fae227'],
- ['font-winitzki-cyrillic', '1.0.3', '503e70ee66af34f6ec4426c0f4ae708e9d30dafdcd58f671a87c7bf56b1952a3'],
- ['font-xfree86-type1', '1.0.4', '02b3839ae79ba6a7750525bb3b0c281305664b95bf63b4a0baa230a277b4f928'],
+ ["encodings", "1.0.4", "55861d9cf456bd717a3d30a3193402c02174ed3c0dcee828798165fe307ee324"],
+ [
+ "font-alias",
+ "1.0.3",
+ "63087cb61d17bfc9cd6f4f9359f63a3b1dd83300a31a42fd93dca084724c6afb",
+ ],
+ [
+ "font-adobe-100dpi",
+ "1.0.3",
+ "97d9c1e706938838e4134d74f0836ae9d9ca6705ecb405c9a0ac8fdcbd9c2159",
+ ],
+ [
+ "font-adobe-75dpi",
+ "1.0.3",
+ "61eb1fcfec89f7435cb92cd68712fbe4ba412ca562b1f5feec1f6daa1b8544f6",
+ ],
+ [
+ "font-adobe-utopia-100dpi",
+ "1.0.4",
+ "e8c3417d89183b1fc383fb3e0f3948c0d01fabcb9edace8b7ec85eab8cdc18c4",
+ ],
+ [
+ "font-adobe-utopia-75dpi",
+ "1.0.4",
+ "254be39c09da1c4e77d2a75a2969330ee2db395120a428671c50aef3ab745fc0",
+ ],
+ [
+ "font-adobe-utopia-type1",
+ "1.0.4",
+ "d9e86a8805b0fb78222409169d839a8531a1f5c7284ee117ff2a0af2e5016c3f",
+ ],
+ [
+ "font-arabic-misc",
+ "1.0.3",
+ "3022b6b124f4cc6aade961f8d1306f67ff42e3b7922fb2244847f287344aefea",
+ ],
+ [
+ "font-bh-100dpi",
+ "1.0.3",
+ "817703372f080d6508cf109011b17f3572ff31047559fe82d93b487ca4e4e2d9",
+ ],
+ [
+ "font-bh-75dpi",
+ "1.0.3",
+ "720b6a513894bfc09a163951ec3dd8311201e08ee40e8891547b6c129ffb5fce",
+ ],
+ [
+ "font-bh-ttf",
+ "1.0.3",
+ "c583b4b968ffae6ea30d5b74041afeac83126682c490a9624b770d60d0e63d59",
+ ],
+ [
+ "font-bh-type1",
+ "1.0.3",
+ "d5602f1d749ccd31d3bc1bb6f0c5d77400de0e5e3ac5abebd2a867aa2a4081a4",
+ ],
+ [
+ "font-bh-lucidatypewriter-100dpi",
+ "1.0.3",
+ "5e05a642182ec6a77bd7cacb913d3c86b364429329a5f223b69792d418f90ae9",
+ ],
+ [
+ "font-bh-lucidatypewriter-75dpi",
+ "1.0.3",
+ "38301bbdb6374494f30c0b44acc7052ed8fc2289e917e648ca566fc591f0a9e0",
+ ],
+ [
+ "font-bitstream-100dpi",
+ "1.0.3",
+ "0a8c77c1540dc376fb2bb5a02bd33ee5f3563fbac9fc07c7947cac462c4bb48a",
+ ],
+ [
+ "font-bitstream-75dpi",
+ "1.0.3",
+ "c43ae370932eb8a4789a5b1f9801da15228b0d4c803251785c38d82aef024a4b",
+ ],
+ [
+ "font-bitstream-speedo",
+ "1.0.2",
+ "aeea5f130480a3f05149bde13d240e668d8fb4b32c02b18914fcccd1182abe72",
+ ],
+ [
+ "font-bitstream-type1",
+ "1.0.3",
+ "3399b7586c18be509cdaeceeebf754b861faa1d8799dda1aae01aeb2a7a30f01",
+ ],
+ [
+ "font-cronyx-cyrillic",
+ "1.0.3",
+ "d64b9bfa5fa8dedf084f1695997cc32149485d2a195c810f62a1991ab5cd5519",
+ ],
+ [
+ "font-cursor-misc",
+ "1.0.3",
+ "a0b146139363dd0a704c7265ff9cd9150d4ae7c0d248091a9a42093e1618c427",
+ ],
+ [
+ "font-daewoo-misc",
+ "1.0.3",
+ "21166546b0490aa3ec73215fa4ea28d91c6027b56178800ba51426bd3d840cc3",
+ ],
+ [
+ "font-dec-misc",
+ "1.0.3",
+ "c4923342f6068c83fd4f5dbcf60d671c28461300db7e2aee930c8634b1e4b74a",
+ ],
+ [
+ "font-ibm-type1",
+ "1.0.3",
+ "4509703e9e581061309cf4823bffd4a93f10f48fe192a1d8be1f183fd6ab9711",
+ ],
+ [
+ "font-isas-misc",
+ "1.0.3",
+ "493965263070a5ee2a301dfdb2e87c1ca3c00c7882bfb3dd99368565ba558ff5",
+ ],
+ [
+ "font-jis-misc",
+ "1.0.3",
+ "57c2db8824865117287d57d47f2c8cf4b2842d036c7475534b5054be69690c73",
+ ],
+ [
+ "font-micro-misc",
+ "1.0.3",
+ "97ee77a9d8ca3e7caf0c78c386eb0b96e8a825ca3642ec035cfb83f5f2cf1475",
+ ],
+ [
+ "font-misc-cyrillic",
+ "1.0.3",
+ "79dfde93d356e41c298c2c1b9c638ec1a144f438d5146d0df6219afb1c2b8818",
+ ],
+ [
+ "font-misc-ethiopic",
+ "1.0.3",
+ "d3b93f7f73a526919bf73a38e10ef4643cd541403a682a8068d54bbcdd9c7e27",
+ ],
+ [
+ "font-misc-meltho",
+ "1.0.3",
+ "eaddfc6d9b32bf38c9dc87c354be3b646a385bc8d9de6e536269f6e1ca50644e",
+ ],
+ [
+ "font-misc-misc",
+ "1.1.2",
+ "46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829",
+ ],
+ [
+ "font-mutt-misc",
+ "1.0.3",
+ "fcecbfc475dfe5826d137f8edc623ba27d58d32f069165c248a013b3c566bb59",
+ ],
+ [
+ "font-schumacher-misc",
+ "1.1.2",
+ "dc3b8d5890480943e735e0375f0e0d8333094fcb6d6845ba321b2e39db78d148",
+ ],
+ [
+ "font-screen-cyrillic",
+ "1.0.4",
+ "9e82783758e8c67a9aadaf1a7222d13418a87455e4ce0a9974fb1df0278bdf74",
+ ],
+ [
+ "font-sun-misc",
+ "1.0.3",
+ "549c6ba59979da25e85c218a26e5c527c3c24ebab2c76509c1ebc34d94fae227",
+ ],
+ [
+ "font-winitzki-cyrillic",
+ "1.0.3",
+ "503e70ee66af34f6ec4426c0f4ae708e9d30dafdcd58f671a87c7bf56b1952a3",
+ ],
+ [
+ "font-xfree86-type1",
+ "1.0.4",
+ "02b3839ae79ba6a7750525bb3b0c281305664b95bf63b4a0baa230a277b4f928",
+ ],
]
for f_r in fonts_resource:
f = f_r[0]
- resource(name=f, url=font_baseurl + f + '-' + f_r[1] + '.tar.gz',
- sha256=f_r[2], destination=f, when='fonts=' + f)
+ resource(
+ name=f,
+ url=font_baseurl + f + "-" + f_r[1] + ".tar.gz",
+ sha256=f_r[2],
+ destination=f,
+ when="fonts=" + f,
+ )
- conflicts('fonts=font-bh-ttf', when='platform=cray')
- conflicts('fonts=font-bh-ttf', when='arch=linux-rhel7-broadwell')
+ conflicts("fonts=font-bh-ttf", when="platform=cray")
+ conflicts("fonts=font-bh-ttf", when="arch=linux-rhel7-broadwell")
- if f != 'font-bh-ttf':
+ if f != "font-bh-ttf":
default_fonts.append(f)
fonts.append(f)
- variant('fonts',
- description='Installs fonts',
- values=fonts,
- default=','.join(default_fonts),
- multi=True)
+ variant(
+ "fonts",
+ description="Installs fonts",
+ values=fonts,
+ default=",".join(default_fonts),
+ multi=True,
+ )
def setup_build_environment(self, env):
- env.prepend_path('PATH', self.prefix.bin)
- env.prepend_path('PKG_CONFIG_PATH', self.prefix.lib.pkgconfig)
+ env.prepend_path("PATH", self.prefix.bin)
+ env.prepend_path("PKG_CONFIG_PATH", self.prefix.lib.pkgconfig)
- @run_after('install')
+ @run_after("install")
def font_install(self):
- autoconf_args = ['-ifv']
- p = join_path(self.spec['util-macros'].prefix, 'share', 'aclocal')
- autoconf_args.append('--include={0}'.format(p))
- p = join_path(self.spec.prefix, 'share', 'aclocal')
- autoconf_args.append('--include={0}'.format(p))
- fonts = self.spec.variants['fonts'].value
- autoreconf = which('autoreconf')
+ autoconf_args = ["-ifv"]
+ p = join_path(self.spec["util-macros"].prefix, "share", "aclocal")
+ autoconf_args.append("--include={0}".format(p))
+ p = join_path(self.spec.prefix, "share", "aclocal")
+ autoconf_args.append("--include={0}".format(p))
+ fonts = self.spec.variants["fonts"].value
+ autoreconf = which("autoreconf")
for font in fonts:
- fontroot = find(font, '*', recursive=False)
+ fontroot = find(font, "*", recursive=False)
with working_dir(fontroot[0]):
autoreconf(*autoconf_args)
configure = Executable("./configure")
- configure('--prefix={0}'.format(self.prefix))
- make('install')
+ configure("--prefix={0}".format(self.prefix))
+ make("install")
diff --git a/var/spack/repos/builtin/packages/fontcacheproto/package.py b/var/spack/repos/builtin/packages/fontcacheproto/package.py
index 9bc3c3a984..de9964ab0e 100644
--- a/var/spack/repos/builtin/packages/fontcacheproto/package.py
+++ b/var/spack/repos/builtin/packages/fontcacheproto/package.py
@@ -12,4 +12,4 @@ class Fontcacheproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/fontcacheproto"
xorg_mirror_path = "proto/fontcacheproto-0.1.3.tar.gz"
- version('0.1.3', sha256='759b4863b55a25bfc8f977d8ed969da0b99b3c823f33c674d6da5825f9df9a79')
+ 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 73ea3a8916..31dbfbbe5a 100644
--- a/var/spack/repos/builtin/packages/fontconfig/package.py
+++ b/var/spack/repos/builtin/packages/fontconfig/package.py
@@ -8,48 +8,47 @@ from spack.package import *
class Fontconfig(AutotoolsPackage):
"""Fontconfig is a library for configuring/customizing font access"""
+
homepage = "https://www.freedesktop.org/wiki/Software/fontconfig/"
- url = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.3.tar.gz"
-
- version('2.13.94', sha256='246d1640a7e54fba697b28e4445f4d9eb63dda1b511d19986249368ee7191882')
- version('2.13.93', sha256='0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5')
- version('2.13.1', sha256='9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f')
- version('2.12.3', sha256='ffc3cbf6dd9fcd516ee42f48306a715e66698b238933d6fa7cef02ea8b3b818e')
- version('2.12.1', sha256='a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292')
- version('2.11.1', sha256='b6b066c7dce3f436fdc0dfbae9d36122b38094f4f53bd8dffd45e195b0540d8d')
-
- depends_on('freetype')
- depends_on('gperf', type='build', when='@2.12.2:')
- depends_on('libxml2')
- depends_on('pkgconfig', type='build')
- depends_on('font-util')
- depends_on('uuid', when='@2.13.1:')
- depends_on('python@3:', type='build', when='@2.13.93:')
+ url = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.3.tar.gz"
+
+ version("2.13.94", sha256="246d1640a7e54fba697b28e4445f4d9eb63dda1b511d19986249368ee7191882")
+ version("2.13.93", sha256="0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5")
+ version("2.13.1", sha256="9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f")
+ version("2.12.3", sha256="ffc3cbf6dd9fcd516ee42f48306a715e66698b238933d6fa7cef02ea8b3b818e")
+ version("2.12.1", sha256="a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292")
+ version("2.11.1", sha256="b6b066c7dce3f436fdc0dfbae9d36122b38094f4f53bd8dffd45e195b0540d8d")
+
+ depends_on("freetype")
+ depends_on("gperf", type="build", when="@2.12.2:")
+ depends_on("libxml2")
+ depends_on("pkgconfig", type="build")
+ depends_on("font-util")
+ depends_on("uuid", when="@2.13.1:")
+ depends_on("python@3:", type="build", when="@2.13.93:")
def patch(self):
"""Make test/run-test.sh compatible with dash"""
- filter_file('SIGINT SIGTERM SIGABRT EXIT', '2 15 6 0', 'test/run-test.sh')
+ filter_file("SIGINT SIGTERM SIGABRT EXIT", "2 15 6 0", "test/run-test.sh")
# Resolve known issue with tarballs 2.12.3 - 2.13.0 plus
# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/10
- @run_before('configure')
+ @run_before("configure")
def _rm_offending_header(self):
- force_remove(join_path('src', 'fcobjshash.h'))
+ force_remove(join_path("src", "fcobjshash.h"))
def configure_args(self):
- font_path = join_path(self.spec['font-util'].prefix, 'share', 'fonts')
+ font_path = join_path(self.spec["font-util"].prefix, "share", "fonts")
- return [
- '--enable-libxml2',
- '--disable-docs',
- '--with-default-fonts={0}'.format(font_path)
- ]
+ return ["--enable-libxml2", "--disable-docs", "--with-default-fonts={0}".format(font_path)]
- @run_after('install')
+ @run_after("install")
def system_fonts(self):
# point configuration file to system-install fonts
# gtk applications were failing to display text without this
- config_file = join_path(self.prefix, 'etc', 'fonts', 'fonts.conf')
- filter_file('<dir prefix="xdg">fonts</dir>',
- '<dir prefix="xdg">fonts</dir><dir>/usr/share/fonts</dir>',
- config_file)
+ config_file = join_path(self.prefix, "etc", "fonts", "fonts.conf")
+ filter_file(
+ '<dir prefix="xdg">fonts</dir>',
+ '<dir prefix="xdg">fonts</dir><dir>/usr/share/fonts</dir>',
+ config_file,
+ )
diff --git a/var/spack/repos/builtin/packages/fontsproto/package.py b/var/spack/repos/builtin/packages/fontsproto/package.py
index 154ab16e7d..b794d157af 100644
--- a/var/spack/repos/builtin/packages/fontsproto/package.py
+++ b/var/spack/repos/builtin/packages/fontsproto/package.py
@@ -12,7 +12,7 @@ class Fontsproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/fontsproto"
xorg_mirror_path = "proto/fontsproto-2.1.3.tar.gz"
- version('2.1.3', sha256='72c44e63044b2b66f6fa112921621ecc20c71193982de4f198d9a29cda385c5e')
+ version("2.1.3", sha256="72c44e63044b2b66f6fa112921621ecc20c71193982de4f198d9a29cda385c5e")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/fonttosfnt/package.py b/var/spack/repos/builtin/packages/fonttosfnt/package.py
index f42a07382b..db4a7b6a16 100644
--- a/var/spack/repos/builtin/packages/fonttosfnt/package.py
+++ b/var/spack/repos/builtin/packages/fonttosfnt/package.py
@@ -12,11 +12,11 @@ class Fonttosfnt(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/fonttosfnt"
xorg_mirror_path = "app/fonttosfnt-1.0.4.tar.gz"
- version('1.0.4', sha256='3873636be5b3b8e4160070e8f9a7a9221b5bd5efbf740d7abaa9092e10732673')
+ version("1.0.4", sha256="3873636be5b3b8e4160070e8f9a7a9221b5bd5efbf740d7abaa9092e10732673")
- depends_on('freetype')
- depends_on('libfontenc')
+ depends_on("freetype")
+ depends_on("libfontenc")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/form/package.py b/var/spack/repos/builtin/packages/form/package.py
index 3cffdd727d..1acb2329cb 100644
--- a/var/spack/repos/builtin/packages/form/package.py
+++ b/var/spack/repos/builtin/packages/form/package.py
@@ -10,29 +10,32 @@ class Form(AutotoolsPackage):
"""FORM is a Symbolic Manipulation System."""
homepage = "https://www.nikhef.nl/~form/"
- url = "https://github.com/vermaseren/form/releases/download/v4.2.1/form-4.2.1.tar.gz"
- maintainers = ['iarspider', 'tueda']
-
- version('4.2.1', sha256='f2722d6d4ccb034e01cf786d55342e1c21ff55b182a4825adf05d50702ab1a28')
- version('4.1-20131025', sha256='fb3470937d66ed5cb1af896b15058836d2c805d767adac1b9073ed2df731cbe9',
- url='https://github.com/vermaseren/form/releases/download/v4.1-20131025/form-4.1.tar.gz')
-
- depends_on('gmp', type='link', when='+gmp')
- depends_on('zlib', type='link', when='+zlib')
- depends_on('mpi', type='link', when='+parform')
-
- variant('gmp', default=True, description='Use GMP for long integer arithmetic')
- variant('zlib', default=True, description='Use zlib for compression')
- variant('scalar', default=True, description='Build scalar version (form)')
- variant('threaded', default=True, description='Build threaded version (tform)')
- variant('parform', default=False, description='Build parallel version using MPI (parform)')
+ url = "https://github.com/vermaseren/form/releases/download/v4.2.1/form-4.2.1.tar.gz"
+ maintainers = ["iarspider", "tueda"]
+
+ version("4.2.1", sha256="f2722d6d4ccb034e01cf786d55342e1c21ff55b182a4825adf05d50702ab1a28")
+ version(
+ "4.1-20131025",
+ sha256="fb3470937d66ed5cb1af896b15058836d2c805d767adac1b9073ed2df731cbe9",
+ url="https://github.com/vermaseren/form/releases/download/v4.1-20131025/form-4.1.tar.gz",
+ )
+
+ depends_on("gmp", type="link", when="+gmp")
+ depends_on("zlib", type="link", when="+zlib")
+ depends_on("mpi", type="link", when="+parform")
+
+ variant("gmp", default=True, description="Use GMP for long integer arithmetic")
+ variant("zlib", default=True, description="Use zlib for compression")
+ variant("scalar", default=True, description="Build scalar version (form)")
+ variant("threaded", default=True, description="Build threaded version (tform)")
+ variant("parform", default=False, description="Build parallel version using MPI (parform)")
def configure_args(self):
args = []
- args += self.with_or_without('gmp', 'prefix')
- args += self.with_or_without('zlib', 'prefix')
- args += self.enable_or_disable('scalar')
- args += self.enable_or_disable('threaded')
- args += self.enable_or_disable('parform')
+ args += self.with_or_without("gmp", "prefix")
+ args += self.with_or_without("zlib", "prefix")
+ args += self.enable_or_disable("scalar")
+ args += self.enable_or_disable("threaded")
+ args += self.enable_or_disable("parform")
return args
diff --git a/var/spack/repos/builtin/packages/formetis/package.py b/var/spack/repos/builtin/packages/formetis/package.py
index 24421e37c9..d72d98f98e 100644
--- a/var/spack/repos/builtin/packages/formetis/package.py
+++ b/var/spack/repos/builtin/packages/formetis/package.py
@@ -10,40 +10,39 @@ class Formetis(CMakePackage):
"""Automated Fortran bindings to METIS and ParMETIS."""
homepage = "https://github.com/swig-fortran/formetis"
- url = "https://github.com/swig-fortran/formetis/archive/refs/tags/v0.0.1.tar.gz"
+ url = "https://github.com/swig-fortran/formetis/archive/refs/tags/v0.0.1.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('0.0.2', sha256='0067c03ca822f4a3955751acb470f21eed489256e2ec5ff24741eb2b638592f1')
+ version("0.0.2", sha256="0067c03ca822f4a3955751acb470f21eed489256e2ec5ff24741eb2b638592f1")
- variant('mpi', default=False, description='Enable ParMETIS support')
- variant('shared', default=True, description='Build shared libraries')
- variant('swig', default=False,
- description='Regenerate source files using SWIG')
+ variant("mpi", default=False, description="Enable ParMETIS support")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("swig", default=False, description="Regenerate source files using SWIG")
- depends_on('metis@5:')
- depends_on('parmetis', when='+mpi')
- depends_on('mpi', when='+mpi')
- depends_on('swig@4.0.2-fortran', when='+swig')
+ depends_on("metis@5:")
+ depends_on("parmetis", when="+mpi")
+ depends_on("mpi", when="+mpi")
+ depends_on("swig@4.0.2-fortran", when="+swig")
# Using non-standard int sizes requires regenerating the C/Fortran
# interface files with SWIG
- conflicts('~swig', when='^metis+int64')
- conflicts('~swig', when='^metis+real64')
+ conflicts("~swig", when="^metis+int64")
+ conflicts("~swig", when="^metis+real64")
def cmake_args(self):
from_variant = self.define_from_variant
args = [
- from_variant('FORMETIS_USE_MPI', 'mpi'),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('FORMETIS_USE_SWIG', 'swig'),
- self.define('FORMETIS_BUILD_EXAMPLES', False),
+ from_variant("FORMETIS_USE_MPI", "mpi"),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("FORMETIS_USE_SWIG", "swig"),
+ self.define("FORMETIS_BUILD_EXAMPLES", False),
]
return args
- examples_src_dir = 'example'
+ examples_src_dir = "example"
- @run_after('install')
+ @run_after("install")
def setup_smoke_tests(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -52,30 +51,32 @@ class Formetis(CMakePackage):
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
+ return join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
def test(self):
"""Perform stand-alone/smoke tests on the installed package."""
cmake_args = [
- self.define('CMAKE_PREFIX_PATH', self.prefix),
- self.define('CMAKE_Fortran_COMPILER', self.compiler.fc),
- self.define('METIS_ROOT', self.spec['metis'].prefix),
+ self.define("CMAKE_PREFIX_PATH", self.prefix),
+ self.define("CMAKE_Fortran_COMPILER", self.compiler.fc),
+ self.define("METIS_ROOT", self.spec["metis"].prefix),
]
- if '+mpi' in self.spec:
- cmake_args.append(
- self.define('ParMETIS_ROOT', self.spec['parmetis'].prefix))
+ if "+mpi" in self.spec:
+ cmake_args.append(self.define("ParMETIS_ROOT", self.spec["parmetis"].prefix))
cmake_args.append(self.cached_tests_work_dir)
- self.run_test("cmake", cmake_args,
- purpose="test: calling cmake",
- work_dir=self.cached_tests_work_dir)
-
- self.run_test("make", [],
- purpose="test: building the tests",
- work_dir=self.cached_tests_work_dir)
-
- self.run_test('metis', [], [],
- purpose="test: checking the installation",
- installed=False,
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "cmake", cmake_args, purpose="test: calling cmake", work_dir=self.cached_tests_work_dir
+ )
+
+ self.run_test(
+ "make", [], purpose="test: building the tests", work_dir=self.cached_tests_work_dir
+ )
+
+ self.run_test(
+ "metis",
+ [],
+ [],
+ purpose="test: checking the installation",
+ installed=False,
+ work_dir=self.cached_tests_work_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/fortran/package.py b/var/spack/repos/builtin/packages/fortran/package.py
index 9e272b6712..a962a93594 100644
--- a/var/spack/repos/builtin/packages/fortran/package.py
+++ b/var/spack/repos/builtin/packages/fortran/package.py
@@ -10,7 +10,8 @@ from spack.package import *
class Fortran(Package):
"""Virtual package for the Fortran language."""
- homepage = 'https://wg5-fortran.org/'
+
+ homepage = "https://wg5-fortran.org/"
virtual = True
def test(self):
@@ -18,13 +19,13 @@ class Fortran(Package):
for test in os.listdir(test_source):
filepath = os.path.join(test_source, test)
- exe_name = '%s.exe' % test
+ exe_name = "%s.exe" % test
- fc_exe = os.environ['FC']
- fc_opts = ['-o', exe_name, filepath]
+ fc_exe = os.environ["FC"]
+ fc_opts = ["-o", exe_name, filepath]
compiled = self.run_test(fc_exe, options=fc_opts, installed=True)
if compiled:
- expected = ['Hello world', 'YES!']
+ expected = ["Hello world", "YES!"]
self.run_test(exe_name, expected=expected)
diff --git a/var/spack/repos/builtin/packages/fortrilinos/package.py b/var/spack/repos/builtin/packages/fortrilinos/package.py
index c0129f2f1c..123009ca98 100644
--- a/var/spack/repos/builtin/packages/fortrilinos/package.py
+++ b/var/spack/repos/builtin/packages/fortrilinos/package.py
@@ -24,63 +24,67 @@ class Fortrilinos(CMakePackage):
"""
homepage = "https://trilinos.github.io/ForTrilinos/"
- url = "https://github.com/trilinos/ForTrilinos/archive/v2.0.0.tar.gz"
- git = "https://github.com/trilinos/ForTrilinos.git"
+ url = "https://github.com/trilinos/ForTrilinos/archive/v2.0.0.tar.gz"
+ git = "https://github.com/trilinos/ForTrilinos.git"
- maintainers = ['sethrj', 'aprokop']
+ maintainers = ["sethrj", "aprokop"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('2.0.0', sha256='9af3b3eea9934e44d74654a5fa822de08bd0efa43e06e4a4e35a777781f542d6')
+ version("2.0.0", sha256="9af3b3eea9934e44d74654a5fa822de08bd0efa43e06e4a4e35a777781f542d6")
# Note: spack version comparison implies Version('2.0.0') <
# Version('2.0.0-dev1'), so this is the best workaround I could find.
- version('2.0.dev3',
- sha256='c20a34b374a56b050bc1db0be1d3db63fca3e59c5803af0cb851b044ac84e6b3',
- url="https://github.com/trilinos/ForTrilinos/archive/v2.0.0-dev3.tar.gz")
- version('2.0.dev2',
- sha256='2a55c668b3fe986583658d272eab2dc076b291a5f2eb582a02602db86a32030b',
- url="https://github.com/trilinos/ForTrilinos/archive/v2.0.0-dev2.tar.gz")
- version('master', branch='master')
-
- variant('hl', default=True, description='Build high-level Trilinos wrappers')
- variant('shared', default=True, description='Build shared libraries')
+ version(
+ "2.0.dev3",
+ sha256="c20a34b374a56b050bc1db0be1d3db63fca3e59c5803af0cb851b044ac84e6b3",
+ url="https://github.com/trilinos/ForTrilinos/archive/v2.0.0-dev3.tar.gz",
+ )
+ version(
+ "2.0.dev2",
+ sha256="2a55c668b3fe986583658d272eab2dc076b291a5f2eb582a02602db86a32030b",
+ url="https://github.com/trilinos/ForTrilinos/archive/v2.0.0-dev2.tar.gz",
+ )
+ version("master", branch="master")
+
+ variant("hl", default=True, description="Build high-level Trilinos wrappers")
+ variant("shared", default=True, description="Build shared libraries")
# Trilinos version dependencies
- depends_on('trilinos@13.0.0:', when='@2.0.0:')
- depends_on('trilinos@12.18.1', when='@2.0.dev3')
- depends_on('trilinos@12.18.1', when='@2.0.dev2')
+ depends_on("trilinos@13.0.0:", when="@2.0.0:")
+ depends_on("trilinos@12.18.1", when="@2.0.dev3")
+ depends_on("trilinos@12.18.1", when="@2.0.dev2")
# Baseline trilinos dependencies
- depends_on('trilinos gotype=long_long')
+ depends_on("trilinos gotype=long_long")
# Full trilinos dependencies
- depends_on('trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra'
- '+stratimikos', when='+hl')
+ depends_on(
+ "trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra" "+stratimikos", when="+hl"
+ )
- @run_before('cmake')
+ @run_before("cmake")
def die_without_fortran(self):
# Until we can pass variants such as +fortran through virtual
# dependencies, require Fortran compiler to
# avoid delayed build errors in dependents.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError('ForTrilinos requires a Fortran compiler')
+ raise InstallError("ForTrilinos requires a Fortran compiler")
def cmake_args(self):
return [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('ForTrilinos_EXAMPLES', self.run_tests),
- self.define('ForTrilinos_TESTING', self.run_tests),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("ForTrilinos_EXAMPLES", self.run_tests),
+ self.define("ForTrilinos_TESTING", self.run_tests),
]
- examples_src_dir = 'example/test-installation'
+ examples_src_dir = "example/test-installation"
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
+ return join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
- @run_after('install')
+ @run_after("install")
def setup_smoke_tests(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -89,20 +93,24 @@ class Fortrilinos(CMakePackage):
def test(self):
"""Perform stand-alone/smoke tests using installed package."""
cmake_args = [
- self.define('CMAKE_PREFIX_PATH', self.prefix),
- self.define('CMAKE_CXX_COMPILER', self.compiler.cxx),
- self.define('CMAKE_Fortran_COMPILER', self.compiler.fc),
- self.cached_tests_work_dir
+ self.define("CMAKE_PREFIX_PATH", self.prefix),
+ self.define("CMAKE_CXX_COMPILER", self.compiler.cxx),
+ self.define("CMAKE_Fortran_COMPILER", self.compiler.fc),
+ self.cached_tests_work_dir,
]
- self.run_test("cmake", cmake_args,
- purpose="test: calling cmake",
- work_dir=self.cached_tests_work_dir)
-
- self.run_test("make", [],
- purpose="test: calling make",
- work_dir=self.cached_tests_work_dir)
-
- self.run_test('ctest', ['-V'],
- ['100% tests passed'], installed=False,
- purpose='test: testing the installation',
- work_dir=self.cached_tests_work_dir)
+ self.run_test(
+ "cmake", cmake_args, purpose="test: calling cmake", work_dir=self.cached_tests_work_dir
+ )
+
+ self.run_test(
+ "make", [], purpose="test: calling make", work_dir=self.cached_tests_work_dir
+ )
+
+ self.run_test(
+ "ctest",
+ ["-V"],
+ ["100% tests passed"],
+ installed=False,
+ purpose="test: testing the installation",
+ work_dir=self.cached_tests_work_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/fossil/package.py b/var/spack/repos/builtin/packages/fossil/package.py
index 6ead6fff57..f3e38609f2 100644
--- a/var/spack/repos/builtin/packages/fossil/package.py
+++ b/var/spack/repos/builtin/packages/fossil/package.py
@@ -14,12 +14,14 @@ class Fossil(AutotoolsPackage):
"""
homepage = "https://fossil-scm.org/"
- url = "https://github.com/drdcd/fossil-scm"
+ url = "https://github.com/drdcd/fossil-scm"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('2.18',
- url="https://fossil-scm.org/home/tarball/84f25d7eb10c0714109d69bb2809abfa8b4b5c3d73b151a5b10df724dacd46d8/fossil-src-2.18.tar.gz",
- sha256='300c1d5cdd6224ec6e8c88ab3f38d50f80e4071b503731b75bd61274cf310733')
+ version(
+ "2.18",
+ url="https://fossil-scm.org/home/tarball/84f25d7eb10c0714109d69bb2809abfa8b4b5c3d73b151a5b10df724dacd46d8/fossil-src-2.18.tar.gz",
+ sha256="300c1d5cdd6224ec6e8c88ab3f38d50f80e4071b503731b75bd61274cf310733",
+ )
- depends_on('openssl')
+ depends_on("openssl")
diff --git a/var/spack/repos/builtin/packages/foundationdb/package.py b/var/spack/repos/builtin/packages/foundationdb/package.py
index e565b5dbc0..f1961ecfc5 100644
--- a/var/spack/repos/builtin/packages/foundationdb/package.py
+++ b/var/spack/repos/builtin/packages/foundationdb/package.py
@@ -14,30 +14,30 @@ class Foundationdb(CMakePackage):
transactions for all operations."""
homepage = "https://www.foundationdb.org/"
- url = "https://github.com/apple/foundationdb/archive/6.3.3.tar.gz"
+ url = "https://github.com/apple/foundationdb/archive/6.3.3.tar.gz"
- version('6.3.4', sha256='80a3d7f005b42e7b63abd27728f4d7f4088eea65aafb6942424c97a704b60fd4')
- version('6.3.3', sha256='1fd46c2281ea283d17fc5044c57a3dbef371a3ed31733abf38610c459a4ed79d')
- version('6.3.2', sha256='e930510937f8db3aba73262494eedcafb75cd3f523a8b5cd8254250af5da6086')
- version('6.3.1', sha256='1162cf93f72c809fa43f0ec6722b01169a9522ec5de95aa52a76b485009a3c95')
- version('6.3.0', sha256='307f99014fe0bb8fbb05399c303f5a7a5007ceee207810857a7b5e6a7df7c8e8')
- version('6.2.24', sha256='9225316e43691ff344224824384acfdf16ff2aac5468d6d810e38846051d5db8')
+ version("6.3.4", sha256="80a3d7f005b42e7b63abd27728f4d7f4088eea65aafb6942424c97a704b60fd4")
+ version("6.3.3", sha256="1fd46c2281ea283d17fc5044c57a3dbef371a3ed31733abf38610c459a4ed79d")
+ version("6.3.2", sha256="e930510937f8db3aba73262494eedcafb75cd3f523a8b5cd8254250af5da6086")
+ version("6.3.1", sha256="1162cf93f72c809fa43f0ec6722b01169a9522ec5de95aa52a76b485009a3c95")
+ version("6.3.0", sha256="307f99014fe0bb8fbb05399c303f5a7a5007ceee207810857a7b5e6a7df7c8e8")
+ version("6.2.24", sha256="9225316e43691ff344224824384acfdf16ff2aac5468d6d810e38846051d5db8")
- depends_on('cmake@3.13.0:', type='build')
- depends_on('mono')
+ depends_on("cmake@3.13.0:", type="build")
+ depends_on("mono")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- generator = 'Ninja'
- depends_on('ninja', type='build')
+ generator = "Ninja"
+ depends_on("ninja", type="build")
def cmake_args(self):
- args = ['-DUSE_WERROR=ON']
+ args = ["-DUSE_WERROR=ON"]
return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
- ninja('install')
- install('fdb.cluster', prefix.bin)
+ ninja("install")
+ install("fdb.cluster", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fox/package.py b/var/spack/repos/builtin/packages/fox/package.py
index 94dd539048..355b3e4320 100644
--- a/var/spack/repos/builtin/packages/fox/package.py
+++ b/var/spack/repos/builtin/packages/fox/package.py
@@ -15,33 +15,37 @@ class Fox(AutotoolsPackage):
line help, and tooltips. Tooltips may even be used for 3D objects!"""
homepage = "http://fox-toolkit.org/"
- url = "http://fox-toolkit.org/ftp/fox-1.7.67.tar.gz"
-
- version('1.7.67', sha256='7e511685119ef096fa90d334da46f0e50cfed8d414df32d80a7850442052f57d')
- version('1.6.57', preferred=True, sha256='65ef15de9e0f3a396dc36d9ea29c158b78fad47f7184780357b929c94d458923')
-
- patch('no_rexdebug.patch', when='@1.7.67')
-
- variant('opengl', default=False, description='opengl support')
-
- depends_on('bzip2')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('zlib')
- depends_on('libx11')
- depends_on('libsm')
- depends_on('libxft')
- depends_on('libxext')
- depends_on('libxcursor')
- depends_on('libxi')
- depends_on('libxrandr')
- depends_on('gl', when='+opengl')
- depends_on('glu', when='+opengl', type='link')
+ url = "http://fox-toolkit.org/ftp/fox-1.7.67.tar.gz"
+
+ version("1.7.67", sha256="7e511685119ef096fa90d334da46f0e50cfed8d414df32d80a7850442052f57d")
+ version(
+ "1.6.57",
+ preferred=True,
+ sha256="65ef15de9e0f3a396dc36d9ea29c158b78fad47f7184780357b929c94d458923",
+ )
+
+ patch("no_rexdebug.patch", when="@1.7.67")
+
+ variant("opengl", default=False, description="opengl support")
+
+ depends_on("bzip2")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("zlib")
+ depends_on("libx11")
+ depends_on("libsm")
+ depends_on("libxft")
+ depends_on("libxext")
+ depends_on("libxcursor")
+ depends_on("libxi")
+ depends_on("libxrandr")
+ depends_on("gl", when="+opengl")
+ depends_on("glu", when="+opengl", type="link")
def configure_args(self):
# Make the png link flags explicit or it will try to pick up libpng15
# from system
- args = ['LDFLAGS={0}'.format(self.spec['libpng'].libs.search_flags)]
- args += self.with_or_without('opengl')
+ args = ["LDFLAGS={0}".format(self.spec["libpng"].libs.search_flags)]
+ args += self.with_or_without("opengl")
return args
diff --git a/var/spack/repos/builtin/packages/fp16/package.py b/var/spack/repos/builtin/packages/fp16/package.py
index 3ded0d8a75..53b6a4992f 100644
--- a/var/spack/repos/builtin/packages/fp16/package.py
+++ b/var/spack/repos/builtin/packages/fp16/package.py
@@ -11,49 +11,51 @@ class Fp16(CMakePackage):
conversion to/from half-precision floating point formats"""
homepage = "https://github.com/Maratyszcza/FP16/"
- git = "https://github.com/Maratyszcza/FP16.git"
+ git = "https://github.com/Maratyszcza/FP16.git"
- version('master', branch='master')
- version('2020-05-14', commit='4dfe081cf6bcd15db339cf2680b9281b8451eeb3') # py-torch@1.5:1.9
- version('2018-11-28', commit='febbb1c163726b5db24bed55cc9dc42529068997') # py-torch@1.1:1.4
- version('2018-10-10', commit='34d4bf01bbf7376f2baa71b8fa148b18524d45cf') # py-torch@1.0
- version('2018-02-25', commit='43d6d17df48ebf622587e7ed9472ea76573799b9') # py-torch@:0.4
+ version("master", branch="master")
+ version("2020-05-14", commit="4dfe081cf6bcd15db339cf2680b9281b8451eeb3") # py-torch@1.5:1.9
+ version("2018-11-28", commit="febbb1c163726b5db24bed55cc9dc42529068997") # py-torch@1.1:1.4
+ version("2018-10-10", commit="34d4bf01bbf7376f2baa71b8fa148b18524d45cf") # py-torch@1.0
+ version("2018-02-25", commit="43d6d17df48ebf622587e7ed9472ea76573799b9") # py-torch@:0.4
- depends_on('cmake@2.8.12:', type='build')
- depends_on('ninja', type='build')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("ninja", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
resource(
- name='psimd',
- git='https://github.com/Maratyszcza/psimd.git',
- branch='master',
- destination='deps',
- placement='psimd',
+ name="psimd",
+ git="https://github.com/Maratyszcza/psimd.git",
+ branch="master",
+ destination="deps",
+ placement="psimd",
)
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.8.0.zip',
- sha256='f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/release-1.8.0.zip",
+ sha256="f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf",
+ destination="deps",
+ placement="googletest",
)
resource(
- name='googlebenchmark',
- url='https://github.com/google/benchmark/archive/v1.2.0.zip',
- sha256='cc463b28cb3701a35c0855fbcefb75b29068443f1952b64dd5f4f669272e95ea',
- destination='deps',
- placement='googlebenchmark',
+ name="googlebenchmark",
+ url="https://github.com/google/benchmark/archive/v1.2.0.zip",
+ sha256="cc463b28cb3701a35c0855fbcefb75b29068443f1952b64dd5f4f669272e95ea",
+ destination="deps",
+ placement="googlebenchmark",
)
def cmake_args(self):
return [
- self.define('PSIMD_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'psimd')),
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
- self.define('FP16_BUILD_TESTS', self.run_tests),
- self.define('FP16_BUILD_BENCHMARKS', self.run_tests),
+ self.define("PSIMD_SOURCE_DIR", join_path(self.stage.source_path, "deps", "psimd")),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define(
+ "GOOGLEBENCHMARK_SOURCE_DIR",
+ join_path(self.stage.source_path, "deps", "googlebenchmark"),
+ ),
+ self.define("FP16_BUILD_TESTS", self.run_tests),
+ self.define("FP16_BUILD_BENCHMARKS", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/fpc/package.py b/var/spack/repos/builtin/packages/fpc/package.py
index ae22e1d2a9..fc47076f02 100644
--- a/var/spack/repos/builtin/packages/fpc/package.py
+++ b/var/spack/repos/builtin/packages/fpc/package.py
@@ -10,12 +10,12 @@ class Fpc(Package):
"""Free Pascal is a 32, 64 and 16 bit professional Pascal compiler."""
homepage = "https://www.freepascal.org/"
- url = "https://downloads.sourceforge.net/project/freepascal/Linux/3.0.2/fpc-3.0.2.x86_64-linux.tar"
+ url = "https://downloads.sourceforge.net/project/freepascal/Linux/3.0.2/fpc-3.0.2.x86_64-linux.tar"
- version('3.0.2', sha256='b5b27fdbc31b1d05b6a898f3c192d8a5083050562b29c19eb9eb018ba4482bd8')
+ version("3.0.2", sha256="b5b27fdbc31b1d05b6a898f3c192d8a5083050562b29c19eb9eb018ba4482bd8")
def install(self, spec, prefix):
- install = Executable('./install.sh')
+ install = Executable("./install.sh")
# Questions:
#
@@ -24,12 +24,12 @@ class Fpc(Package):
# Install documentation (Y/n) ?
# Install demos (Y/n) ?
- install_answers = ['%s\n' % prefix, 'Y\n', 'Y\n', 'n\n']
+ install_answers = ["%s\n" % prefix, "Y\n", "Y\n", "n\n"]
- install_answers_filename = 'spack-install.in'
+ install_answers_filename = "spack-install.in"
- with open(install_answers_filename, 'w') as f:
+ with open(install_answers_filename, "w") as f:
f.writelines(install_answers)
- with open(install_answers_filename, 'r') as f:
+ with open(install_answers_filename, "r") as f:
install(input=f)
diff --git a/var/spack/repos/builtin/packages/fpchecker/package.py b/var/spack/repos/builtin/packages/fpchecker/package.py
index ff1f66a2ba..8150d8400a 100644
--- a/var/spack/repos/builtin/packages/fpchecker/package.py
+++ b/var/spack/repos/builtin/packages/fpchecker/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class Fpchecker(CMakePackage):
"""FPChecker (Floating-Point Checker) is a dynamic analysis tool
- to detect floating-point errors in HPC applications.
+ to detect floating-point errors in HPC applications.
"""
homepage = "https://fpchecker.org/"
- url = "https://github.com/LLNL/FPChecker/archive/refs/tags/v0.3.4.tar.gz"
- git = "https://github.com/LLNL/FPChecker.git"
+ url = "https://github.com/LLNL/FPChecker/archive/refs/tags/v0.3.4.tar.gz"
+ git = "https://github.com/LLNL/FPChecker.git"
- maintainers = ['ilagunap']
+ maintainers = ["ilagunap"]
- version('master', branch='master')
- version('0.3.5', sha256='ed7277318af8e0a22b05c5655c9acc99e1d3036af41095ec2f1b1ada4d6e90f6')
- version('0.3.4', sha256='ecea778dcddc8347da86b02069e12d574a3ba27a4f7c6224bf492fbff6cd162a')
+ version("master", branch="master")
+ version("0.3.5", sha256="ed7277318af8e0a22b05c5655c9acc99e1d3036af41095ec2f1b1ada4d6e90f6")
+ version("0.3.4", sha256="ecea778dcddc8347da86b02069e12d574a3ba27a4f7c6224bf492fbff6cd162a")
- depends_on('llvm@12.0.1')
- depends_on('cmake@3.4:', type='build')
- depends_on('python@3:', type='run')
+ depends_on("llvm@12.0.1")
+ depends_on("cmake@3.4:", type="build")
+ depends_on("python@3:", type="run")
def cmake_args(self):
- args = ['-DCMAKE_C_COMPILER=clang', '-DCMAKE_CXX_COMPILER=clang++']
+ args = ["-DCMAKE_C_COMPILER=clang", "-DCMAKE_CXX_COMPILER=clang++"]
return args
diff --git a/var/spack/repos/builtin/packages/fping/package.py b/var/spack/repos/builtin/packages/fping/package.py
index a514788b4a..eb68e6c784 100644
--- a/var/spack/repos/builtin/packages/fping/package.py
+++ b/var/spack/repos/builtin/packages/fping/package.py
@@ -10,13 +10,13 @@ class Fping(AutotoolsPackage):
"""High performance ping tool."""
homepage = "https://fping.org/"
- url = "https://github.com/schweikert/fping/archive/v4.2.tar.gz"
+ url = "https://github.com/schweikert/fping/archive/v4.2.tar.gz"
- version('4.2', sha256='49b0ac77fd67c1ed45c9587ffab0737a3bebcfa5968174329f418732dbf655d4')
- version('4.1', sha256='1da45b1d8c2d38b52bebd4f8b1617ddfae678e9f6436dafa6f62e97b8ecfc93c')
- version('4.0', sha256='8c9eac7aeadb5be0daa978cdac5f68ae44b749af0f643e8252b5e3dd4ce32e6a')
+ version("4.2", sha256="49b0ac77fd67c1ed45c9587ffab0737a3bebcfa5968174329f418732dbf655d4")
+ version("4.1", sha256="1da45b1d8c2d38b52bebd4f8b1617ddfae678e9f6436dafa6f62e97b8ecfc93c")
+ version("4.0", sha256="8c9eac7aeadb5be0daa978cdac5f68ae44b749af0f643e8252b5e3dd4ce32e6a")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/fplll/package.py b/var/spack/repos/builtin/packages/fplll/package.py
index 6c5e34b5ac..9a1fc0100d 100644
--- a/var/spack/repos/builtin/packages/fplll/package.py
+++ b/var/spack/repos/builtin/packages/fplll/package.py
@@ -8,27 +8,26 @@ from spack.package import *
class Fplll(AutotoolsPackage):
"""fplll contains implementations of several lattice algorithms.
- The implementation relies on floating-point orthogonalization,
- and LLL is central to the code, hence the name."""
+ The implementation relies on floating-point orthogonalization,
+ and LLL is central to the code, hence the name."""
homepage = "https://github.com/fplll/fplll"
- url = "https://github.com/fplll/fplll/releases/download/5.4.0/fplll-5.4.0.tar.gz"
+ url = "https://github.com/fplll/fplll/releases/download/5.4.0/fplll-5.4.0.tar.gz"
- version('5.4.1', sha256='7bd887957173aa592091772c1c36f6aa606b3b2ace0d14e2c26c7463dcf2deb7')
- version('5.4.0', sha256='fe192a65a56439b098e26e3b7ee224dda7c2c73a58f36ef2cc6f9185ae8c482b')
- version('5.3.3', sha256='5e7c46c30623795feeac19cf607583b7c82b0490ceb91498f0f712789be20ccd')
- version('5.3.2', sha256='4d935d712d11902c60a2a5cb50b696391f4ca4a2de59b0daeca74c29024c21fe')
- version('5.3.1', sha256='bf7e7e667173b5655cb989ec6a55c07af057d9011572f85eb53fbf93f4e2d239')
- version('5.3.0', sha256='67a579842f5dabf9b3968b0c12af1ee808c5bfb7bc611fe4c2bba9ca00af1067')
- version('5.2.1', sha256='e38e3f8f14d5dbf46aab66d6c12f5973d4b12b72832161ed1491e8e925de4816')
- version('5.2.0', sha256='75e17fcaa4fc5fdddbe6eb42aca5f38c4c169a4b52756e74fbe2d1769737ac9c')
- version('5.1.0', sha256='58175c54cc92752576a64361c73e4ea7797fc18fb703b3f22c7570a09075486f')
- version('5.0.3', sha256='d2b11b7dcb26c30ac1aab9ff75aca9b3dd6e0b0b40c382af16017a717dfe05c2')
+ version("5.4.1", sha256="7bd887957173aa592091772c1c36f6aa606b3b2ace0d14e2c26c7463dcf2deb7")
+ version("5.4.0", sha256="fe192a65a56439b098e26e3b7ee224dda7c2c73a58f36ef2cc6f9185ae8c482b")
+ version("5.3.3", sha256="5e7c46c30623795feeac19cf607583b7c82b0490ceb91498f0f712789be20ccd")
+ version("5.3.2", sha256="4d935d712d11902c60a2a5cb50b696391f4ca4a2de59b0daeca74c29024c21fe")
+ version("5.3.1", sha256="bf7e7e667173b5655cb989ec6a55c07af057d9011572f85eb53fbf93f4e2d239")
+ version("5.3.0", sha256="67a579842f5dabf9b3968b0c12af1ee808c5bfb7bc611fe4c2bba9ca00af1067")
+ version("5.2.1", sha256="e38e3f8f14d5dbf46aab66d6c12f5973d4b12b72832161ed1491e8e925de4816")
+ version("5.2.0", sha256="75e17fcaa4fc5fdddbe6eb42aca5f38c4c169a4b52756e74fbe2d1769737ac9c")
+ version("5.1.0", sha256="58175c54cc92752576a64361c73e4ea7797fc18fb703b3f22c7570a09075486f")
+ version("5.0.3", sha256="d2b11b7dcb26c30ac1aab9ff75aca9b3dd6e0b0b40c382af16017a717dfe05c2")
- depends_on('gmp')
- depends_on('mpfr')
+ depends_on("gmp")
+ depends_on("mpfr")
def configure_args(self):
- args = ['--with-gmp=' + self.spec['gmp'].prefix,
- '--with-mpfr=' + self.spec['mpfr'].prefix]
+ args = ["--with-gmp=" + self.spec["gmp"].prefix, "--with-mpfr=" + self.spec["mpfr"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/fpm/package.py b/var/spack/repos/builtin/packages/fpm/package.py
index fc7cd2135e..6965ac6d6d 100644
--- a/var/spack/repos/builtin/packages/fpm/package.py
+++ b/var/spack/repos/builtin/packages/fpm/package.py
@@ -56,7 +56,7 @@ class Fpm(Package):
"""
# Perform `chmod +x ./install.sh`
- script_path = './install.sh'
+ script_path = "./install.sh"
st = os.stat(script_path)
os.chmod(script_path, st.st_mode | stat.S_IXUSR)
diff --git a/var/spack/repos/builtin/packages/fpocket/package.py b/var/spack/repos/builtin/packages/fpocket/package.py
index 3eaa73f74c..7447fc9a94 100644
--- a/var/spack/repos/builtin/packages/fpocket/package.py
+++ b/var/spack/repos/builtin/packages/fpocket/package.py
@@ -8,19 +8,18 @@ from spack.package import *
class Fpocket(MakefilePackage):
"""fpocket is a very fast open source protein pocket detection algorithm
- based on Voronoi tessellation."""
+ based on Voronoi tessellation."""
homepage = "https://github.com/Discngine/fpocket"
- version('master', branch='master',
- git='https://github.com/Discngine/fpocket.git')
+ version("master", branch="master", git="https://github.com/Discngine/fpocket.git")
depends_on("netcdf-c")
def setup_build_environment(self, env):
- if self.compiler.name == 'gcc':
- env.set('CXX', 'g++')
+ if self.compiler.name == "gcc":
+ env.set("CXX", "g++")
def edit(self):
- makefile = FileFilter('makefile')
- makefile.filter('BINDIR .*', 'BINDIR = %s/bin' % self.prefix)
- makefile.filter('MANDIR .*', 'MANDIR = %s/man/man8' % self.prefix)
+ makefile = FileFilter("makefile")
+ makefile.filter("BINDIR .*", "BINDIR = %s/bin" % self.prefix)
+ makefile.filter("MANDIR .*", "MANDIR = %s/man/man8" % self.prefix)
diff --git a/var/spack/repos/builtin/packages/fqtrim/package.py b/var/spack/repos/builtin/packages/fqtrim/package.py
index 9f2a1a599c..d65a746726 100644
--- a/var/spack/repos/builtin/packages/fqtrim/package.py
+++ b/var/spack/repos/builtin/packages/fqtrim/package.py
@@ -13,13 +13,13 @@ class Fqtrim(MakefilePackage):
machines."""
homepage = "https://ccb.jhu.edu/software/fqtrim/"
- url = "https://ccb.jhu.edu/software/fqtrim/dl/fqtrim-0.9.7.tar.gz"
+ url = "https://ccb.jhu.edu/software/fqtrim/dl/fqtrim-0.9.7.tar.gz"
- version('0.9.7', sha256='4951538f69dde14a23fc4841ff020434d26eb9622c4e06b43c068c702aa3d0d6')
+ version("0.9.7", sha256="4951538f69dde14a23fc4841ff020434d26eb9622c4e06b43c068c702aa3d0d6")
def build(self, spec, prefix):
- make('release')
+ make("release")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('fqtrim', prefix.bin)
+ install("fqtrim", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fr-hit/package.py b/var/spack/repos/builtin/packages/fr-hit/package.py
index 37db4f3363..8dec26cd5b 100644
--- a/var/spack/repos/builtin/packages/fr-hit/package.py
+++ b/var/spack/repos/builtin/packages/fr-hit/package.py
@@ -11,36 +11,31 @@ class FrHit(Package):
sequences against microbial reference genomes."""
homepage = "http://weizhong-lab.ucsd.edu/frhit"
- url = "http://weizhong-lab.ucsd.edu/frhit/fr-hit-v0.7.1-2013-02-20.tar.gz"
+ url = "http://weizhong-lab.ucsd.edu/frhit/fr-hit-v0.7.1-2013-02-20.tar.gz"
- version('0.7.1-2013-02-20', sha256='44dcfeb73106529fcefb02c017ec7b95b04b6523a2a57683b2bc905c142e62eb')
+ version(
+ "0.7.1-2013-02-20",
+ sha256="44dcfeb73106529fcefb02c017ec7b95b04b6523a2a57683b2bc905c142e62eb",
+ )
- depends_on('perl')
- depends_on('python@2.7:')
+ depends_on("perl")
+ depends_on("python@2.7:")
# The patch adds the python interpreter to the beginning of the script
# allowing it to be run directly without passing the entire path to the
# script to python.
- patch('binning.patch')
+ patch("binning.patch")
def install(self, spec, prefix):
make()
- filter_file(
- r'#!/bin/env perl',
- '#!/usr/bin/env perl',
- 'frhit2pairend.pl'
- )
- filter_file(
- r'#!/bin/env perl',
- '#!/usr/bin/env perl',
- 'psl2sam.pl'
- )
+ filter_file(r"#!/bin/env perl", "#!/usr/bin/env perl", "frhit2pairend.pl")
+ filter_file(r"#!/bin/env perl", "#!/usr/bin/env perl", "psl2sam.pl")
mkdirp(prefix.bin)
- install('fr-hit', prefix.bin)
- install('frhit2pairend.pl', prefix.bin)
- install('psl2sam.pl', prefix.bin)
- install('binning-1.1.1/bacteria_gitax.pkl', prefix.bin)
- install('binning-1.1.1/binning.py', prefix.bin)
- install('binning-1.1.1/tax.pkl', prefix.bin)
+ install("fr-hit", prefix.bin)
+ install("frhit2pairend.pl", prefix.bin)
+ install("psl2sam.pl", prefix.bin)
+ install("binning-1.1.1/bacteria_gitax.pkl", prefix.bin)
+ install("binning-1.1.1/binning.py", prefix.bin)
+ install("binning-1.1.1/tax.pkl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fraggenescan/package.py b/var/spack/repos/builtin/packages/fraggenescan/package.py
index 1e75b80587..0301042cd3 100644
--- a/var/spack/repos/builtin/packages/fraggenescan/package.py
+++ b/var/spack/repos/builtin/packages/fraggenescan/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Fraggenescan(MakefilePackage):
"""FragGeneScan is an application for finding (fragmented) genes in short
- reads. It can also be applied to predict prokaryotic genes in
- incomplete assemblies or complete genomes."""
+ reads. It can also be applied to predict prokaryotic genes in
+ incomplete assemblies or complete genomes."""
homepage = "https://sourceforge.net/projects/fraggenescan/"
- url = "https://downloads.sourceforge.net/project/fraggenescan/FragGeneScan1.31.tar.gz"
+ url = "https://downloads.sourceforge.net/project/fraggenescan/FragGeneScan1.31.tar.gz"
- version('1.31', sha256='cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c')
- version('1.30', sha256='f2d7f0dfa4a5f4bbea295ed865dcbfedf16c954ea1534c2a879ebdcfb8650d95')
+ version("1.31", sha256="cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c")
+ version("1.30", sha256="f2d7f0dfa4a5f4bbea295ed865dcbfedf16c954ea1534c2a879ebdcfb8650d95")
def edit(self, spec, prefix):
- filter_file('gcc', spack_cc, 'Makefile', string=True)
+ filter_file("gcc", spack_cc, "Makefile", string=True)
def build(self, spec, prefic):
- make('clean')
- make('fgs')
+ make("clean")
+ make("fgs")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/freebayes/package.py b/var/spack/repos/builtin/packages/freebayes/package.py
index e1b3023930..aecb643842 100644
--- a/var/spack/repos/builtin/packages/freebayes/package.py
+++ b/var/spack/repos/builtin/packages/freebayes/package.py
@@ -8,72 +8,78 @@ from spack.package import *
class Freebayes(MesonPackage):
"""Bayesian haplotype-based genetic polymorphism discovery and
- genotyping."""
+ genotyping."""
homepage = "https://github.com/ekg/freebayes"
- url = "https://github.com/freebayes/freebayes/releases/download/v1.3.5/freebayes-1.3.5-src.tar.gz"
- git = "https://github.com/ekg/freebayes.git"
+ url = "https://github.com/freebayes/freebayes/releases/download/v1.3.5/freebayes-1.3.5-src.tar.gz"
+ git = "https://github.com/ekg/freebayes.git"
- version('1.3.6', sha256='6016c1e58fdf34a1f6f77b720dd8e12e13a127f7cbac9c747e47954561b437f5')
- version('1.3.5', sha256='7e2635690e916ed85cec36b3263e6e5357413a4f2bf3035362d9749335e8a696')
- version('1.1.0', commit='39e5e4bcb801556141f2da36aba1df5c5c60701f',
- submodules=True, deprecated=True)
+ version("1.3.6", sha256="6016c1e58fdf34a1f6f77b720dd8e12e13a127f7cbac9c747e47954561b437f5")
+ version("1.3.5", sha256="7e2635690e916ed85cec36b3263e6e5357413a4f2bf3035362d9749335e8a696")
+ version(
+ "1.1.0",
+ commit="39e5e4bcb801556141f2da36aba1df5c5c60701f",
+ submodules=True,
+ deprecated=True,
+ )
- depends_on('cmake', type='build')
- depends_on('zlib')
+ depends_on("cmake", type="build")
+ depends_on("zlib")
# Deps for @1.3.5 and beyond
- depends_on('ninja', type='build', when='@1.3.5:')
- depends_on('pkgconfig', type='build', when='@1.3.5:')
- depends_on('htslib', when='@1.3.5:')
- depends_on('zlib', when='@1.3.5:')
- depends_on('xz', when='@1.3.5:')
- depends_on('parallel', when='@1.3.5:')
- depends_on('vcftools', when='@1.3.5:')
- depends_on('bc', when='@1.3.5:')
- depends_on('samtools', when='@1.3.5:')
+ depends_on("ninja", type="build", when="@1.3.5:")
+ depends_on("pkgconfig", type="build", when="@1.3.5:")
+ depends_on("htslib", when="@1.3.5:")
+ depends_on("zlib", when="@1.3.5:")
+ depends_on("xz", when="@1.3.5:")
+ depends_on("parallel", when="@1.3.5:")
+ depends_on("vcftools", when="@1.3.5:")
+ depends_on("bc", when="@1.3.5:")
+ depends_on("samtools", when="@1.3.5:")
parallel = False
- @when('@:1.1.0')
+ @when("@:1.1.0")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
b = prefix.bin
- makefile.filter('cp bin/freebayes bin/bamleftalign /usr/local/bin/',
- 'cp bin/freebayes bin/bamleftalign {0}'.format(b))
+ makefile.filter(
+ "cp bin/freebayes bin/bamleftalign /usr/local/bin/",
+ "cp bin/freebayes bin/bamleftalign {0}".format(b),
+ )
- @when('@:1.1.0')
- @run_before('install')
+ @when("@:1.1.0")
+ @run_before("install")
def make_prefix_dot_bin(self):
mkdir(prefix.bin)
- @when('@:1.1.0')
+ @when("@:1.1.0")
def meson(self, spec, prefix):
pass
- @when('@:1.1.0')
+ @when("@:1.1.0")
def build(self, spec, prefix):
make()
- @when('@:1.1.0')
+ @when("@:1.1.0")
def install(self, spec, prefix):
- make('install')
+ make("install")
@property
def vcflib_builddir(self):
- return join_path(self.build_directory, 'vcflib')
+ return join_path(self.build_directory, "vcflib")
- @when('@1.3.4:')
+ @when("@1.3.4:")
def setup_build_environment(self, env):
if self.run_tests:
- env.prepend_path('PATH', self.vcflib_builddir)
- env.prepend_path('PATH', self.build_directory)
+ env.prepend_path("PATH", self.vcflib_builddir)
+ env.prepend_path("PATH", self.build_directory)
- @when('@1.3.4:')
+ @when("@1.3.4:")
def check(self):
mkdir(self.vcflib_builddir)
with working_dir(self.vcflib_builddir):
- cmake('../../vcflib')
+ cmake("../../vcflib")
make()
with working_dir(self.build_directory):
- ninja('test')
+ ninja("test")
diff --git a/var/spack/repos/builtin/packages/freefem/package.py b/var/spack/repos/builtin/packages/freefem/package.py
index 7d5eb41612..4a7e976d8c 100644
--- a/var/spack/repos/builtin/packages/freefem/package.py
+++ b/var/spack/repos/builtin/packages/freefem/package.py
@@ -15,51 +15,56 @@ class Freefem(AutotoolsPackage):
"""
homepage = "https://freefem.org"
- url = "https://github.com/FreeFem/FreeFem-sources/archive/refs/tags/v4.10.tar.gz"
+ url = "https://github.com/FreeFem/FreeFem-sources/archive/refs/tags/v4.10.tar.gz"
- maintainers = ['corentin-dev']
+ maintainers = ["corentin-dev"]
- version('4.10', sha256='957994c8f24cc2a671b8c116ae530796c3a431d4157ee71a3d6aab7122e7570d')
- 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')
+ version("4.10", sha256="957994c8f24cc2a671b8c116ae530796c3a431d4157ee71a3d6aab7122e7570d")
+ 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')
+ 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')
+ 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')
+ 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')
+ 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'])]
+ 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)
+ 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')
+ options.append("--without-petsc")
+ options.append("--without-slepc")
return options
diff --git a/var/spack/repos/builtin/packages/freeglut/package.py b/var/spack/repos/builtin/packages/freeglut/package.py
index ea80ff9ea7..082fcfdfd6 100644
--- a/var/spack/repos/builtin/packages/freeglut/package.py
+++ b/var/spack/repos/builtin/packages/freeglut/package.py
@@ -8,59 +8,65 @@ from spack.package import *
class Freeglut(CMakePackage, SourceforgePackage):
"""FreeGLUT is a free-software/open-source alternative to the OpenGL
- Utility Toolkit (GLUT) library"""
+ Utility Toolkit (GLUT) library"""
homepage = "http://freeglut.sourceforge.net/"
sourceforge_mirror_path = "freeglut/freeglut-3.2.1.tar.gz"
- version('3.2.2', sha256='c5944a082df0bba96b5756dddb1f75d0cd72ce27b5395c6c1dde85c2ff297a50')
- version('3.2.1', sha256='d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68')
- version('3.0.0', sha256='2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2')
+ version("3.2.2", sha256="c5944a082df0bba96b5756dddb1f75d0cd72ce27b5395c6c1dde85c2ff297a50")
+ version("3.2.1", sha256="d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68")
+ version("3.0.0", sha256="2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2")
- variant('shared', default=True, description='Build shared libs instead of static')
+ variant("shared", default=True, description="Build shared libs instead of static")
- depends_on('gl')
- depends_on('glu')
+ depends_on("gl")
+ depends_on("glu")
# FreeGLUT does not support OSMesa
- conflicts('osmesa')
+ conflicts("osmesa")
# FreeGLUT only works with GLX on linux (cray is also linux)
- with when('platform=linux'):
- depends_on('glx')
- depends_on('libx11')
- depends_on('libxi')
- with when('platform=cray'):
- depends_on('glx')
- depends_on('libx11')
- depends_on('libxi')
+ with when("platform=linux"):
+ depends_on("glx")
+ depends_on("libx11")
+ depends_on("libxi")
+ with when("platform=cray"):
+ depends_on("glx")
+ depends_on("libx11")
+ depends_on("libxi")
# freeglut 3.2.1 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:")
- 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 %aocc@2.3.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 %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:",
+ )
+ 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 %aocc@2.3.0:",
+ )
def cmake_args(self):
spec = self.spec
args = [
- self.define('FREEGLUT_BUILD_DEMOS', False),
- self.define('FREEGLUT_GLES', False),
- self.define('FREEGLUT_WAYLAND', False),
- self.define('FREEGLUT_BUILD_SHARED_LIBS', '+shared' in spec),
- self.define('FREEGLUT_BUILD_STATIC_LIBS', '~shared' in spec),
- self.define('OpenGL_GL_PREFERENCE', 'LEGACY'),
- self.define('OPENGL_INCLUDE_DIR', spec['gl'].headers.directories[0]),
- self.define('OPENGL_gl_LIBRARY', spec['gl'].libs[0]),
- self.define('OPENGL_opengl_LIBRARY', 'IGNORE'),
- self.define('OPENGL_glx_LIBRARY', 'IGNORE'),
- self.define('OPENGL_egl_LIBRARY', 'IGNORE'),
+ self.define("FREEGLUT_BUILD_DEMOS", False),
+ self.define("FREEGLUT_GLES", False),
+ self.define("FREEGLUT_WAYLAND", False),
+ self.define("FREEGLUT_BUILD_SHARED_LIBS", "+shared" in spec),
+ self.define("FREEGLUT_BUILD_STATIC_LIBS", "~shared" in spec),
+ self.define("OpenGL_GL_PREFERENCE", "LEGACY"),
+ self.define("OPENGL_INCLUDE_DIR", spec["gl"].headers.directories[0]),
+ self.define("OPENGL_gl_LIBRARY", spec["gl"].libs[0]),
+ self.define("OPENGL_opengl_LIBRARY", "IGNORE"),
+ self.define("OPENGL_glx_LIBRARY", "IGNORE"),
+ self.define("OPENGL_egl_LIBRARY", "IGNORE"),
]
return args
diff --git a/var/spack/repos/builtin/packages/freeimage/package.py b/var/spack/repos/builtin/packages/freeimage/package.py
index abd8cf94e3..61241ae1c0 100644
--- a/var/spack/repos/builtin/packages/freeimage/package.py
+++ b/var/spack/repos/builtin/packages/freeimage/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Freeimage(MakefilePackage):
"""FreeImage is an Open Source library project for developers who would like
- to support popular graphics image formats like PNG, BMP, JPEG, TIFF and
- others as needed by today's multimedia applications"""
+ to support popular graphics image formats like PNG, BMP, JPEG, TIFF and
+ others as needed by today's multimedia applications"""
homepage = "http://freeimage.sourceforge.net/"
- version('3.18.0', sha256='f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd')
+ version("3.18.0", sha256="f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd")
- patch('install_fixes.patch', when='@3.18.0')
+ patch("install_fixes.patch", when="@3.18.0")
def edit(self, spec, prefix):
env["DESTDIR"] = prefix
diff --git a/var/spack/repos/builtin/packages/freeipmi/package.py b/var/spack/repos/builtin/packages/freeipmi/package.py
index 3228b9238c..84d4c9fbf5 100644
--- a/var/spack/repos/builtin/packages/freeipmi/package.py
+++ b/var/spack/repos/builtin/packages/freeipmi/package.py
@@ -21,23 +21,24 @@ class Freeipmi(AutotoolsPackage):
info."""
homepage = "https://www.gnu.org/software/freeipmi/"
- url = "https://ftp.gnu.org/gnu/freeipmi/freeipmi-1.6.4.tar.gz"
+ url = "https://ftp.gnu.org/gnu/freeipmi/freeipmi-1.6.4.tar.gz"
- version('1.6.4',
- sha256='65dfbb95a30438ba247f01a58498862a37d2e71c8c950bcfcee459d079241a3c')
+ version("1.6.4", sha256="65dfbb95a30438ba247f01a58498862a37d2e71c8c950bcfcee459d079241a3c")
- depends_on('libgcrypt')
+ depends_on("libgcrypt")
parallel = False
def configure_args(self):
# FIXME: If root checking of root installation is added fix this:
# Discussed in issue #4432
- tty.warn("Requires 'root' for bmc-watchdog.service installation to"
- " /lib/systemd/system/ !")
-
- args = ['--prefix={0}'.format(prefix),
- "--with-systemdsystemunitdir=" +
- self.spec['freeipmi'].prefix.lib.systemd.system]
+ tty.warn(
+ "Requires 'root' for bmc-watchdog.service installation to" " /lib/systemd/system/ !"
+ )
+
+ args = [
+ "--prefix={0}".format(prefix),
+ "--with-systemdsystemunitdir=" + self.spec["freeipmi"].prefix.lib.systemd.system,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/freetype/package.py b/var/spack/repos/builtin/packages/freetype/package.py
index 8837f23a90..8fcd3de0a4 100644
--- a/var/spack/repos/builtin/packages/freetype/package.py
+++ b/var/spack/repos/builtin/packages/freetype/package.py
@@ -13,45 +13,48 @@ class Freetype(AutotoolsPackage):
of most vector and bitmap font formats."""
homepage = "https://www.freetype.org/index.html"
- url = "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.gz"
-
- maintainers = ['michaelkuhn']
-
- version('2.11.1', sha256='f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b')
- version('2.11.0', sha256='a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f')
- version('2.10.4', sha256='5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac')
- version('2.10.2', sha256='e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab')
- version('2.10.1', sha256='3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110')
- version('2.10.0', sha256='955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a')
- version('2.9.1', sha256='ec391504e55498adceb30baceebd147a6e963f636eb617424bcfc47a169898ce')
- version('2.7.1', sha256='162ef25aa64480b1189cdb261228e6c5c44f212aac4b4621e28cf2157efb59f5')
- version('2.7', sha256='7b657d5f872b0ab56461f3bd310bd1c5ec64619bd15f0d8e08282d494d9cfea4')
- version('2.5.3', sha256='41217f800d3f40d78ef4eb99d6a35fd85235b64f81bc56e4812d7672fca7b806')
-
- depends_on('bzip2')
- depends_on('libpng')
- depends_on('pkgconfig', type='build')
-
- conflicts('%intel', when='@2.8:2.10.2',
- msg='freetype-2.8 to 2.10.2 cannot be built with icc (does not '
- 'support __builtin_shuffle)')
-
- patch('windows.patch', when='@2.9.1')
+ url = "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.gz"
+
+ maintainers = ["michaelkuhn"]
+
+ version("2.11.1", sha256="f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b")
+ version("2.11.0", sha256="a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f")
+ version("2.10.4", sha256="5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac")
+ version("2.10.2", sha256="e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab")
+ version("2.10.1", sha256="3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110")
+ version("2.10.0", sha256="955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a")
+ version("2.9.1", sha256="ec391504e55498adceb30baceebd147a6e963f636eb617424bcfc47a169898ce")
+ version("2.7.1", sha256="162ef25aa64480b1189cdb261228e6c5c44f212aac4b4621e28cf2157efb59f5")
+ version("2.7", sha256="7b657d5f872b0ab56461f3bd310bd1c5ec64619bd15f0d8e08282d494d9cfea4")
+ version("2.5.3", sha256="41217f800d3f40d78ef4eb99d6a35fd85235b64f81bc56e4812d7672fca7b806")
+
+ depends_on("bzip2")
+ depends_on("libpng")
+ depends_on("pkgconfig", type="build")
+
+ conflicts(
+ "%intel",
+ when="@2.8:2.10.2",
+ msg="freetype-2.8 to 2.10.2 cannot be built with icc (does not "
+ "support __builtin_shuffle)",
+ )
+
+ patch("windows.patch", when="@2.9.1")
@property
def headers(self):
- headers = find_headers('*', self.prefix.include, recursive=True)
+ headers = find_headers("*", self.prefix.include, recursive=True)
headers.directories = [self.prefix.include.freetype2]
return headers
def configure_args(self):
args = [
- '--with-brotli=no',
- '--with-bzip2=yes',
- '--with-harfbuzz=no',
- '--with-png=yes',
- '--with-zlib=no',
+ "--with-brotli=no",
+ "--with-bzip2=yes",
+ "--with-harfbuzz=no",
+ "--with-png=yes",
+ "--with-zlib=no",
]
- if self.spec.satisfies('@2.9.1:'):
- args.append('--enable-freetype-config')
+ if self.spec.satisfies("@2.9.1:"):
+ args.append("--enable-freetype-config")
return args
diff --git a/var/spack/repos/builtin/packages/freexl/package.py b/var/spack/repos/builtin/packages/freexl/package.py
index eeadc6ba66..e725b56588 100644
--- a/var/spack/repos/builtin/packages/freexl/package.py
+++ b/var/spack/repos/builtin/packages/freexl/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class Freexl(AutotoolsPackage):
"""FreeXL is an open source library to extract valid data from within
- an Excel (.xls) spreadsheet."""
+ an Excel (.xls) spreadsheet."""
homepage = "https://www.gaia-gis.it"
- url = "http://www.gaia-gis.it/gaia-sins/freexl-1.0.5.tar.gz"
+ url = "http://www.gaia-gis.it/gaia-sins/freexl-1.0.5.tar.gz"
- version('1.0.5', sha256='3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d')
+ version("1.0.5", sha256="3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d")
diff --git a/var/spack/repos/builtin/packages/fribidi/package.py b/var/spack/repos/builtin/packages/fribidi/package.py
index 5ed6eaf05e..a43c0f3147 100644
--- a/var/spack/repos/builtin/packages/fribidi/package.py
+++ b/var/spack/repos/builtin/packages/fribidi/package.py
@@ -12,18 +12,18 @@ class Fribidi(AutotoolsPackage):
Algorithm."""
homepage = "https://github.com/fribidi/fribidi"
- url = "https://github.com/fribidi/fribidi/releases/download/v1.0.5/fribidi-1.0.5.tar.bz2"
+ url = "https://github.com/fribidi/fribidi/releases/download/v1.0.5/fribidi-1.0.5.tar.bz2"
- version('1.0.12', sha256='0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495')
- version('1.0.8', sha256='94c7b68d86ad2a9613b4dcffe7bbeb03523d63b5b37918bdf2e4ef34195c1e6c')
- version('1.0.5', sha256='6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce')
+ version("1.0.12", sha256="0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495")
+ version("1.0.8", sha256="94c7b68d86ad2a9613b4dcffe7bbeb03523d63b5b37918bdf2e4ef34195c1e6c")
+ version("1.0.5", sha256="6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def url_for_version(self, version):
- url = 'https://github.com/fribidi/fribidi/releases/download/'
- ext = '.tar.bz2' if version <= Version('1.0.8') else '.tar.xz'
+ url = "https://github.com/fribidi/fribidi/releases/download/"
+ ext = ".tar.bz2" if version <= Version("1.0.8") else ".tar.xz"
return url + "/v%s/fribidi-%s%s" % (version, version, ext)
diff --git a/var/spack/repos/builtin/packages/frontier-client/package.py b/var/spack/repos/builtin/packages/frontier-client/package.py
index 57b0a5cd64..ed0e317349 100644
--- a/var/spack/repos/builtin/packages/frontier-client/package.py
+++ b/var/spack/repos/builtin/packages/frontier-client/package.py
@@ -8,55 +8,70 @@ from spack.package import *
class FrontierClient(MakefilePackage):
"""The Frontier distributed database caching system distributes data from
- data sources to many client systems around the world. The name comes
- from "N Tier" where N is any number and tiers are layers of locations
- of distribution."""
+ data sources to many client systems around the world. The name comes
+ from "N Tier" where N is any number and tiers are layers of locations
+ of distribution."""
homepage = "http://frontier.cern.ch/"
- url = "https://github.com/fermitools/frontier/archive/v2_9_1.tar.gz"
+ url = "https://github.com/fermitools/frontier/archive/v2_9_1.tar.gz"
- version('2_9_1', sha256='d21370fbe142807966e3c2218ce361ea3bb573498e1b8387b801fb6641c3ed22')
- version('2_9_0', sha256='e58dba3f177c5b74609f244101a22a5c14d42bf019013fe2dba72c09f819c62a')
- version('2_8_21', sha256='7df9ba61c3e1778aca75c5da6e45ee4d00b5c061d3f7162208e2fbd2ec266a9e')
- version('2_8_20', sha256='81b0f45762d96a33f156e0238631a60eef910a176644e95c6c19a36824bef7e1')
+ version("2_9_1", sha256="d21370fbe142807966e3c2218ce361ea3bb573498e1b8387b801fb6641c3ed22")
+ version("2_9_0", sha256="e58dba3f177c5b74609f244101a22a5c14d42bf019013fe2dba72c09f819c62a")
+ version("2_8_21", sha256="7df9ba61c3e1778aca75c5da6e45ee4d00b5c061d3f7162208e2fbd2ec266a9e")
+ version("2_8_20", sha256="81b0f45762d96a33f156e0238631a60eef910a176644e95c6c19a36824bef7e1")
- depends_on('pacparser')
- depends_on('expat')
- depends_on('openssl')
- depends_on('zlib')
+ depends_on("pacparser")
+ depends_on("expat")
+ depends_on("openssl")
+ depends_on("zlib")
- patch('frontier-client.patch', level=0)
+ patch("frontier-client.patch", level=0)
# pacparser changed the function return type from void to
# int from v1.3.9, whereas frontier-client has not tagged
# any new versions in a while. Therefore, the patch below
# serves as a (temporary) fix. See
# https://github.com/spack/spack/pull/29936
- @when('^pacparser@1.3.9:')
+ @when("^pacparser@1.3.9:")
def patch(self):
- filter_file('static void (*pp_setmyip)(const char *);',
- 'static int (*pp_setmyip)(const char *);',
- 'client/pacparser-dlopen.c', string=True)
- filter_file('void pacparser_setmyip(const char *ip)',
- 'int pacparser_setmyip(const char *ip)',
- 'client/pacparser-dlopen.c', string=True)
- filter_file(r' if\(\!pp_dlhandle\)\n return;',
- r' if\(\!pp_dlhandle\)\n return 0;',
- 'client/pacparser-dlopen.c')
- filter_file(' (*pp_setmyip)(ip);',
- ' return (*pp_setmyip)(ip);',
- 'client/pacparser-dlopen.c', string=True)
+ filter_file(
+ "static void (*pp_setmyip)(const char *);",
+ "static int (*pp_setmyip)(const char *);",
+ "client/pacparser-dlopen.c",
+ string=True,
+ )
+ filter_file(
+ "void pacparser_setmyip(const char *ip)",
+ "int pacparser_setmyip(const char *ip)",
+ "client/pacparser-dlopen.c",
+ string=True,
+ )
+ filter_file(
+ r" if\(\!pp_dlhandle\)\n return;",
+ r" if\(\!pp_dlhandle\)\n return 0;",
+ "client/pacparser-dlopen.c",
+ )
+ filter_file(
+ " (*pp_setmyip)(ip);",
+ " return (*pp_setmyip)(ip);",
+ "client/pacparser-dlopen.c",
+ string=True,
+ )
def edit(self, spec, prefix):
- makefile = FileFilter('client/Makefile')
- makefile.filter('EXPAT_DIR}/lib', 'EXPAT_DIR}/lib64')
+ makefile = FileFilter("client/Makefile")
+ makefile.filter("EXPAT_DIR}/lib", "EXPAT_DIR}/lib64")
def build(self, spec, prefix):
- with working_dir('client'):
- make('-j1', 'dist', 'PACPARSER_DIR=' + self.spec['pacparser'].prefix,
- 'EXPAT_DIR=' + self.spec['expat'].prefix,
- 'OPENSSL_DIR=' + self.spec['openssl'].prefix,
- 'ZLIB_DIR=' + self.spec['zlib'].prefix)
+ with working_dir("client"):
+ make(
+ "-j1",
+ "dist",
+ "PACPARSER_DIR=" + self.spec["pacparser"].prefix,
+ "EXPAT_DIR=" + self.spec["expat"].prefix,
+ "OPENSSL_DIR=" + self.spec["openssl"].prefix,
+ "ZLIB_DIR=" + self.spec["zlib"].prefix,
+ )
def install(self, spec, prefix):
- install_tree(join_path('client', 'dist'), prefix)
+ install_tree(join_path("client", "dist"), prefix)
diff --git a/var/spack/repos/builtin/packages/frontistr/package.py b/var/spack/repos/builtin/packages/frontistr/package.py
index 0cd05404d7..2444f196ee 100644
--- a/var/spack/repos/builtin/packages/frontistr/package.py
+++ b/var/spack/repos/builtin/packages/frontistr/package.py
@@ -11,44 +11,47 @@ class FrontistrBase(CMakePackage):
"""Base class for building Frontistr, shared with the Fujitsu optimized version
of the package in the 'fujitsu-frontistr' package."""
- variant('build_type', default='RELEASE',
- description='CMake build type',
- values=('DEBUG', 'RELEASE'))
-
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack')
- depends_on('revocap-refiner')
+ variant(
+ "build_type",
+ default="RELEASE",
+ description="CMake build type",
+ values=("DEBUG", "RELEASE"),
+ )
+
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack")
+ depends_on("revocap-refiner")
# depends_on('revocap-coupler')
- depends_on('metis')
- depends_on('mumps')
- depends_on('trilinos@:12.18.1')
+ depends_on("metis")
+ depends_on("mumps")
+ depends_on("trilinos@:12.18.1")
def cmake_args(self):
define = CMakePackage.define
cmake_args = [
- define('WITH_ML', True),
- define('REFINER_INCLUDE_PATH',
- self.spec['revocap-refiner'].prefix.include),
- define('REFINER_LIBRARIES',
- join_path(self.spec['revocap-refiner'].prefix.lib,
- 'libRcapRefiner.a'))
+ define("WITH_ML", True),
+ define("REFINER_INCLUDE_PATH", self.spec["revocap-refiner"].prefix.include),
+ define(
+ "REFINER_LIBRARIES",
+ join_path(self.spec["revocap-refiner"].prefix.lib, "libRcapRefiner.a"),
+ ),
]
return cmake_args
class Frontistr(FrontistrBase):
"""Open-Source Large-Scale Parallel FEM Program for
- Nonlinear Structural Analysis"""
+ Nonlinear Structural Analysis"""
homepage = "https://www.frontistr.com/"
- git = "https://gitlab.com/FrontISTR-Commons/FrontISTR.git"
- maintainers = ['hiroshi.okuda', 'kgoto', 'morita', 'inagaki', 'michioga']
-
- version('5.3', tag='v5.3')
- version('5.2', tag='v5.2')
- version('5.1.1', tag='v5.1.1')
- version('5.1', tag='v5.1')
- version('5.0', tag='v5.0')
- version('master', tag='master')
+ git = "https://gitlab.com/FrontISTR-Commons/FrontISTR.git"
+ maintainers = ["hiroshi.okuda", "kgoto", "morita", "inagaki", "michioga"]
+
+ version("5.3", tag="v5.3")
+ version("5.2", tag="v5.2")
+ version("5.1.1", tag="v5.1.1")
+ version("5.1", tag="v5.1")
+ version("5.0", tag="v5.0")
+ version("master", tag="master")
diff --git a/var/spack/repos/builtin/packages/fseq/package.py b/var/spack/repos/builtin/packages/fseq/package.py
index d816c3887e..d8ae9b1ad3 100644
--- a/var/spack/repos/builtin/packages/fseq/package.py
+++ b/var/spack/repos/builtin/packages/fseq/package.py
@@ -10,13 +10,15 @@ class Fseq(Package):
"""F-Seq: A Feature Density Estimator for High-Throughput Sequence Tags"""
homepage = "https://fureylab.web.unc.edu/software/fseq/"
- url = "http://html-large-files-dept-fureylab.cloudapps.unc.edu/fureylabfiles/fseq/fseq_1.84.tgz"
+ url = (
+ "http://html-large-files-dept-fureylab.cloudapps.unc.edu/fureylabfiles/fseq/fseq_1.84.tgz"
+ )
- version('1.84', sha256='22d603a51f127cb86cdecde9aeae14d273bb98bcd2b47724763ab3b3241a6e68')
+ version("1.84", sha256="22d603a51f127cb86cdecde9aeae14d273bb98bcd2b47724763ab3b3241a6e68")
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install('mapviewToBed.pl', prefix.bin)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install("mapviewToBed.pl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fsl/package.py b/var/spack/repos/builtin/packages/fsl/package.py
index e5df50f058..9dea6e9386 100644
--- a/var/spack/repos/builtin/packages/fsl/package.py
+++ b/var/spack/repos/builtin/packages/fsl/package.py
@@ -12,7 +12,7 @@ from spack.util.environment import EnvironmentModifications
class Fsl(Package, CudaPackage):
"""FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI
- brain imaging data."""
+ brain imaging data."""
# NOTE: A manual download is required for FSL. Spack will search your
# current directory for the download file. Alternatively, add this file to
@@ -20,40 +20,40 @@ class Fsl(Package, CudaPackage):
# mirror, see https://spack.readthedocs.io/en/latest/mirrors.html
homepage = "https://fsl.fmrib.ox.ac.uk"
- url = "file://{0}/fsl-5.0.10-sources.tar.gz".format(os.getcwd())
+ url = "file://{0}/fsl-5.0.10-sources.tar.gz".format(os.getcwd())
manual_download = True
- version('6.0.5', sha256='df12b0b1161a26470ddf04e4c5d5d81580a04493890226207667ed8fd2b4b83f')
- version('6.0.4', sha256='58b88f38e080b05d70724d57342f58e1baf56e2bd3b98506a72b4446cad5033e')
- version('5.0.10', sha256='ca183e489320de0e502a7ba63230a7f55098917a519e8c738b005d526e700842')
-
- depends_on('python', type=('build', 'run'))
- depends_on('expat')
- depends_on('libx11')
- depends_on('glu')
- depends_on('libiconv')
- depends_on('openblas', when='@6:')
- depends_on('vtk@:8')
-
- conflicts('cuda_arch=none', when='+cuda',
- msg='must select a CUDA architecture')
- conflicts('platform=darwin',
- msg='currently only packaged for linux')
-
- patch('build_log.patch')
- patch('eddy_Makefile.patch', when='@6.0.4')
- patch('iconv.patch')
- patch('fslpython_install_v5.patch', when='@:5')
- patch('fslpython_install_v604.patch', when='@6.0.4')
- patch('fslpython_install_v605.patch', when='@6.0.5')
+ version("6.0.5", sha256="df12b0b1161a26470ddf04e4c5d5d81580a04493890226207667ed8fd2b4b83f")
+ version("6.0.4", sha256="58b88f38e080b05d70724d57342f58e1baf56e2bd3b98506a72b4446cad5033e")
+ version("5.0.10", sha256="ca183e489320de0e502a7ba63230a7f55098917a519e8c738b005d526e700842")
+
+ depends_on("python", type=("build", "run"))
+ depends_on("expat")
+ depends_on("libx11")
+ depends_on("glu")
+ depends_on("libiconv")
+ depends_on("openblas", when="@6:")
+ depends_on("vtk@:8")
+
+ conflicts("cuda_arch=none", when="+cuda", msg="must select a CUDA architecture")
+ conflicts("platform=darwin", msg="currently only packaged for linux")
+
+ patch("build_log.patch")
+ patch("eddy_Makefile.patch", when="@6.0.4")
+ patch("iconv.patch")
+ patch("fslpython_install_v5.patch", when="@:5")
+ patch("fslpython_install_v604.patch", when="@6.0.4")
+ patch("fslpython_install_v605.patch", when="@6.0.5")
# Allow fsl to use newer versions of cuda
- patch('https://aur.archlinux.org/cgit/aur.git/plain/005-fix_cuda_thrust_include.patch?h=fsl',
- sha256='9471addfc2f880350eedadcb99cb8b350abf42be1c0652ccddf49e34e5e48734',
- level=2)
+ patch(
+ "https://aur.archlinux.org/cgit/aur.git/plain/005-fix_cuda_thrust_include.patch?h=fsl",
+ sha256="9471addfc2f880350eedadcb99cb8b350abf42be1c0652ccddf49e34e5e48734",
+ level=2,
+ )
# allow newer compilers
- patch('libxmlpp_bool.patch')
+ patch("libxmlpp_bool.patch")
# These patches disable FSL's attempts to try to submit a subset of FSL
# computations to an SGE queue system. That auto-submit mechanism only
@@ -63,167 +63,147 @@ class Fsl(Package, CudaPackage):
# and without further modification, whether the computation is submitted to
# a "local" system, like a workstation, or as a batch job to a cluster
# queueing system, regardless of queue system type.
- patch('fsl_sub_v5.patch', when='@:5')
- patch('fsl_sub_v6.patch', when='@6:')
+ patch("fsl_sub_v5.patch", when="@:5")
+ patch("fsl_sub_v6.patch", when="@6:")
def patch(self):
# Uncomment lines in source file to allow building from source
- with working_dir(join_path(self.stage.source_path, 'etc', 'fslconf')):
- sourced = FileFilter('fsl.sh')
- sourced.filter('#FSLCONFDIR', 'FSLCONFDIR')
+ with working_dir(join_path(self.stage.source_path, "etc", "fslconf")):
+ sourced = FileFilter("fsl.sh")
+ sourced.filter("#FSLCONFDIR", "FSLCONFDIR")
- if self.spec.satisfies('@6:'):
- sourced.filter('#FSLMACHTYPE', 'FSLMACHTYPE')
+ if self.spec.satisfies("@6:"):
+ sourced.filter("#FSLMACHTYPE", "FSLMACHTYPE")
else:
- sourced.filter(r'#(FSLMACHTYPE).*', r'\1=linux_64-gcc4.8')
+ sourced.filter(r"#(FSLMACHTYPE).*", r"\1=linux_64-gcc4.8")
- if self.spec.satisfies('@:5'):
- with working_dir(join_path(self.stage.source_path, 'config',
- 'common')):
- buildproj = FileFilter('buildproj')
- buildproj.filter(r'(^FSLMACHTYPE).*', r'\1=linux_64-gcc4.8')
+ if self.spec.satisfies("@:5"):
+ with working_dir(join_path(self.stage.source_path, "config", "common")):
+ buildproj = FileFilter("buildproj")
+ buildproj.filter(r"(^FSLMACHTYPE).*", r"\1=linux_64-gcc4.8")
# Capture the settings file
- if self.spec.satisfies('@6:'):
- settings_file = join_path(self.stage.source_path, 'config',
- 'buildSettings.mk')
+ if self.spec.satisfies("@6:"):
+ settings_file = join_path(self.stage.source_path, "config", "buildSettings.mk")
vtk_file = settings_file
else:
- settings_file = join_path(self.stage.source_path, 'config',
- 'linux_64-gcc4.8', 'systemvars.mk')
- externals_file = join_path(self.stage.source_path, 'config',
- 'linux_64-gcc4.8', 'externallibs.mk')
+ settings_file = join_path(
+ self.stage.source_path, "config", "linux_64-gcc4.8", "systemvars.mk"
+ )
+ externals_file = join_path(
+ self.stage.source_path, "config", "linux_64-gcc4.8", "externallibs.mk"
+ )
vtk_file = externals_file
build_settings = FileFilter(settings_file)
vtk_settings = FileFilter(vtk_file)
- build_settings.filter(r'^CUDAVER', '#CUDAVER')
- build_settings.filter(r'(^CC)\s*=.*', r'\1 = {0}'.format(spack_cc))
- build_settings.filter(r'(^CXX)\s*=.*', r'\1 = {0}'.format(spack_cxx))
- build_settings.filter(r'(^CXX11)\s*=.*', r'\1 = {0}'.format(spack_cxx))
-
- vtk_suffix = self.spec['vtk'].version.up_to(2)
- vtk_lib_dir = self.spec['vtk'].prefix.lib64
- vtk_include_dir = join_path(self.spec['vtk'].prefix.include,
- 'vtk-{0}'.format(vtk_suffix))
-
- vtk_settings.filter(r'(^VTKDIR_INC)\s*=.*',
- r'\1 = {0}'.format(vtk_include_dir))
- vtk_settings.filter(r'(^VTKDIR_LIB)\s*=.*',
- r'\1 = {0}'.format(vtk_lib_dir))
- vtk_settings.filter(r'(^VTKSUFFIX)\s*=.*',
- r'\1 = -{0}'.format(vtk_suffix))
-
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- cuda_gencode = ' '.join(self.cuda_flags(cuda_arch))
- cuda_installation = self.spec['cuda'].prefix
-
- build_settings.filter(r'(^CUDA_INSTALLATION)\s*=.*',
- r'\1 = {0}'.format(cuda_installation))
- build_settings.filter(r'(^LIB_CUDA)\s*=.*',
- r'\1 = {0}'.format(
- join_path(
- cuda_installation,
- 'lib64')))
- build_settings.filter(r'(^INC_CUDA)\s*=.*',
- r'\1 = {0}'.format(
- join_path(
- cuda_installation,
- 'include')))
- build_settings.filter(r'(^NVCC11)\s*=.*',
- r'\1 = {0}'.format(
- join_path(
- cuda_installation, 'bin',
- 'nvcc')))
- build_settings.filter(r'(^NVCC)\s*=.*',
- r'\1 = {0}'.format(
- join_path(
- cuda_installation, 'bin',
- 'nvcc')))
- build_settings.filter(r'(^GENCODE_FLAGS)\s*=.*',
- r'\1 = {0}'.format(cuda_gencode))
-
- if self.spec.satisfies('@6:'):
- build_settings.filter(r'(^EDDYBUILDPARAMETERS)\s*=.*',
- r'\1 = "cuda=1" "cpu=1"')
- build_settings.filter(r'(^fdt_MASTERBUILD)\s*=.*',
- r'\1 = COMPILE_GPU=1')
- build_settings.filter(r'(^ptx2_MASTERBUILD)\s*=.*',
- r'\1 = COMPILE_GPU=1')
+ build_settings.filter(r"^CUDAVER", "#CUDAVER")
+ build_settings.filter(r"(^CC)\s*=.*", r"\1 = {0}".format(spack_cc))
+ build_settings.filter(r"(^CXX)\s*=.*", r"\1 = {0}".format(spack_cxx))
+ build_settings.filter(r"(^CXX11)\s*=.*", r"\1 = {0}".format(spack_cxx))
+
+ vtk_suffix = self.spec["vtk"].version.up_to(2)
+ vtk_lib_dir = self.spec["vtk"].prefix.lib64
+ vtk_include_dir = join_path(self.spec["vtk"].prefix.include, "vtk-{0}".format(vtk_suffix))
+
+ vtk_settings.filter(r"(^VTKDIR_INC)\s*=.*", r"\1 = {0}".format(vtk_include_dir))
+ vtk_settings.filter(r"(^VTKDIR_LIB)\s*=.*", r"\1 = {0}".format(vtk_lib_dir))
+ vtk_settings.filter(r"(^VTKSUFFIX)\s*=.*", r"\1 = -{0}".format(vtk_suffix))
+
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ cuda_gencode = " ".join(self.cuda_flags(cuda_arch))
+ cuda_installation = self.spec["cuda"].prefix
+
+ build_settings.filter(
+ r"(^CUDA_INSTALLATION)\s*=.*", r"\1 = {0}".format(cuda_installation)
+ )
+ build_settings.filter(
+ r"(^LIB_CUDA)\s*=.*", r"\1 = {0}".format(join_path(cuda_installation, "lib64"))
+ )
+ build_settings.filter(
+ r"(^INC_CUDA)\s*=.*", r"\1 = {0}".format(join_path(cuda_installation, "include"))
+ )
+ build_settings.filter(
+ r"(^NVCC11)\s*=.*", r"\1 = {0}".format(join_path(cuda_installation, "bin", "nvcc"))
+ )
+ build_settings.filter(
+ r"(^NVCC)\s*=.*", r"\1 = {0}".format(join_path(cuda_installation, "bin", "nvcc"))
+ )
+ build_settings.filter(r"(^GENCODE_FLAGS)\s*=.*", r"\1 = {0}".format(cuda_gencode))
+
+ if self.spec.satisfies("@6:"):
+ build_settings.filter(r"(^EDDYBUILDPARAMETERS)\s*=.*", r'\1 = "cuda=1" "cpu=1"')
+ build_settings.filter(r"(^fdt_MASTERBUILD)\s*=.*", r"\1 = COMPILE_GPU=1")
+ build_settings.filter(r"(^ptx2_MASTERBUILD)\s*=.*", r"\1 = COMPILE_GPU=1")
else:
- with open(settings_file, 'a') as f:
- f.write('COMPILE_GPU=1\n')
+ with open(settings_file, "a") as f:
+ f.write("COMPILE_GPU=1\n")
else:
- build_settings.filter(r'^CUDA_INSTALLATION', '#CUDA_INSTALLATION')
- build_settings.filter(r'^GENCODE_FLAGS', '#GENCODE_FLAGS')
- build_settings.filter(r'^LIB_CUDA', '#LIB_CUDA')
- build_settings.filter(r'^INC_CUDA', '#INC_CUDA')
- build_settings.filter(r'^NVCC', '#NVCC')
-
- if self.spec.satisfies('@6:'):
- build_settings.filter(r'(^EDDYBUILDPARAMETERS)\s*=.*',
- r'\1 = "cpu=1"')
- build_settings.filter(r'(^fdt_MASTERBUILD)\s*=.*',
- r'\1 = COMPILE_GPU=0')
- build_settings.filter(r'(^ptx2_MASTERBUILD)\s*=.*',
- r'\1 = COMPILE_GPU=0')
-
- filter_file(r'(configure_opts=".*)"',
- r'\1 --x-includes={0} --x-libraries={1}"'.format(
- self.spec['libx11'].prefix.include,
- self.spec['libx11'].prefix.lib),
- join_path('extras', 'src', 'tk', 'unix', 'fslconfigure'))
- filter_file(r' -L/lib64',
- r'',
- join_path('src', 'fabber_core', 'Makefile'))
+ build_settings.filter(r"^CUDA_INSTALLATION", "#CUDA_INSTALLATION")
+ build_settings.filter(r"^GENCODE_FLAGS", "#GENCODE_FLAGS")
+ build_settings.filter(r"^LIB_CUDA", "#LIB_CUDA")
+ build_settings.filter(r"^INC_CUDA", "#INC_CUDA")
+ build_settings.filter(r"^NVCC", "#NVCC")
+
+ if self.spec.satisfies("@6:"):
+ build_settings.filter(r"(^EDDYBUILDPARAMETERS)\s*=.*", r'\1 = "cpu=1"')
+ build_settings.filter(r"(^fdt_MASTERBUILD)\s*=.*", r"\1 = COMPILE_GPU=0")
+ build_settings.filter(r"(^ptx2_MASTERBUILD)\s*=.*", r"\1 = COMPILE_GPU=0")
+
+ filter_file(
+ r'(configure_opts=".*)"',
+ r'\1 --x-includes={0} --x-libraries={1}"'.format(
+ self.spec["libx11"].prefix.include, self.spec["libx11"].prefix.lib
+ ),
+ join_path("extras", "src", "tk", "unix", "fslconfigure"),
+ )
+ filter_file(r" -L/lib64", r"", join_path("src", "fabber_core", "Makefile"))
def install(self, spec, prefix):
- build = Executable(join_path(self.stage.source_path, 'build'))
+ build = Executable(join_path(self.stage.source_path, "build"))
build()
- rm = which('rm')
- for file in glob.glob('build*'):
- rm('-f', file)
- rm('-r', '-f', 'src')
- rm('-r', '-f', join_path('extras', 'src'))
- rm('-r', '-f', join_path('extras', 'include'))
+ rm = which("rm")
+ for file in glob.glob("build*"):
+ rm("-f", file)
+ rm("-r", "-f", "src")
+ rm("-r", "-f", join_path("extras", "src"))
+ rm("-r", "-f", join_path("extras", "include"))
- install_tree('.', prefix)
+ install_tree(".", prefix)
- @run_after('install')
+ @run_after("install")
def postinstall(self):
# The PYTHON related environment variables need to be unset here so
# the post install script does not get confused.
- vars_to_unset = ['PYTHONPATH', 'PYTHONHOME']
+ vars_to_unset = ["PYTHONPATH", "PYTHONHOME"]
with spack.util.environment.preserve_environment(*vars_to_unset):
for v in vars_to_unset:
del os.environ[v]
- script = Executable(join_path(prefix, 'etc', 'fslconf',
- 'post_install.sh'))
- script('-f', prefix)
+ script = Executable(join_path(prefix, "etc", "fslconf", "post_install.sh"))
+ script("-f", prefix)
def setup_build_environment(self, env):
if not self.stage.source_path:
self.stage.fetch()
self.stage.expand_archive()
- env.set('FSLDIR', self.stage.source_path)
+ env.set("FSLDIR", self.stage.source_path)
# Below is for sourcing purposes during building
- fslsetup = join_path(self.stage.source_path, 'etc', 'fslconf',
- 'fsl.sh')
+ fslsetup = join_path(self.stage.source_path, "etc", "fslconf", "fsl.sh")
if os.path.isfile(fslsetup):
env.extend(EnvironmentModifications.from_sourcing_file(fslsetup))
def setup_run_environment(self, env):
# Set the environment variables after copying tree
- env.set('FSLDIR', self.prefix)
- fslsetup = join_path(self.prefix, 'etc', 'fslconf', 'fsl.sh')
+ env.set("FSLDIR", self.prefix)
+ fslsetup = join_path(self.prefix, "etc", "fslconf", "fsl.sh")
if os.path.isfile(fslsetup):
env.extend(EnvironmentModifications.from_sourcing_file(fslsetup))
diff --git a/var/spack/repos/builtin/packages/fslsfonts/package.py b/var/spack/repos/builtin/packages/fslsfonts/package.py
index f39ddcc912..a249b40410 100644
--- a/var/spack/repos/builtin/packages/fslsfonts/package.py
+++ b/var/spack/repos/builtin/packages/fslsfonts/package.py
@@ -12,10 +12,10 @@ class Fslsfonts(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/fslsfonts"
xorg_mirror_path = "app/fslsfonts-1.0.5.tar.gz"
- version('1.0.5', sha256='27e58d2313835ce0f08cf47c59a43798b122f605a55f54b170db27b57a492007')
+ version("1.0.5", sha256="27e58d2313835ce0f08cf47c59a43798b122f605a55f54b170db27b57a492007")
- depends_on('libfs')
+ depends_on("libfs")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/fstobdf/package.py b/var/spack/repos/builtin/packages/fstobdf/package.py
index 28c1a726b7..4c461cde07 100644
--- a/var/spack/repos/builtin/packages/fstobdf/package.py
+++ b/var/spack/repos/builtin/packages/fstobdf/package.py
@@ -15,11 +15,11 @@ class Fstobdf(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/fstobdf"
xorg_mirror_path = "app/fstobdf-1.0.6.tar.gz"
- version('1.0.6', sha256='bb903ae76cbcb0a08a71f06762b64db7d5c2064f6e88e8dc3a604e76d0bcb93d')
+ version("1.0.6", sha256="bb903ae76cbcb0a08a71f06762b64db7d5c2064f6e88e8dc3a604e76d0bcb93d")
- depends_on('libx11')
- depends_on('libfs')
+ depends_on("libx11")
+ depends_on("libfs")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/fstrack/package.py b/var/spack/repos/builtin/packages/fstrack/package.py
index 6dae0acdad..2d0123112f 100644
--- a/var/spack/repos/builtin/packages/fstrack/package.py
+++ b/var/spack/repos/builtin/packages/fstrack/package.py
@@ -13,42 +13,44 @@ class Fstrack(MakefilePackage):
flow given on GMT/netcdf grds."""
homepage = "http://www-udc.ig.utexas.edu/external/becker/data.html#fstrack"
- url = "http://www-udc.ig.utexas.edu/external/becker/software/fstrack-0.5.3.092918.tgz"
+ url = "http://www-udc.ig.utexas.edu/external/becker/software/fstrack-0.5.3.092918.tgz"
- version('0.5.3.092918', sha256='34b31687fdfa207b9659425238b805eaacf0b0209e7e3343c1a3cb4c9e62345d')
+ version(
+ "0.5.3.092918", sha256="34b31687fdfa207b9659425238b805eaacf0b0209e7e3343c1a3cb4c9e62345d"
+ )
- variant('flow', default=True, description='Build the flow tracker')
+ variant("flow", default=True, description="Build the flow tracker")
- depends_on('gmt@4.0:4', when='+flow')
- depends_on('netcdf-c', when='+flow')
+ depends_on("gmt@4.0:4", when="+flow")
+ depends_on("netcdf-c", when="+flow")
parallel = False
def setup_build_environment(self, env):
# Compilers
- env.set('F90', spack_fc)
+ env.set("F90", spack_fc)
# Compiler flags (assumes GCC)
- env.set('CFLAGS', '-O2')
- env.set('FFLAGS', '-ffixed-line-length-132 -x f77-cpp-input -O2')
- env.set('FFLAGS_DEBUG', '-g -x f77-cpp-input')
- env.set('F90FLAGS', '-O2 -x f95-cpp-input')
- env.set('F90FLAGS_DEBUG', '-g -x f95-cpp-input')
- env.set('LDFLAGS', '-lm')
+ env.set("CFLAGS", "-O2")
+ env.set("FFLAGS", "-ffixed-line-length-132 -x f77-cpp-input -O2")
+ env.set("FFLAGS_DEBUG", "-g -x f77-cpp-input")
+ env.set("F90FLAGS", "-O2 -x f95-cpp-input")
+ env.set("F90FLAGS_DEBUG", "-g -x f95-cpp-input")
+ env.set("LDFLAGS", "-lm")
- if '+flow' in self.spec:
- env.set('GMTHOME', self.spec['gmt'].prefix)
- env.set('NETCDFDIR', self.spec['netcdf-c'].prefix)
+ if "+flow" in self.spec:
+ env.set("GMTHOME", self.spec["gmt"].prefix)
+ env.set("NETCDFDIR", self.spec["netcdf-c"].prefix)
def build(self, spec, prefix):
- with working_dir('eispack'):
+ with working_dir("eispack"):
make()
- with working_dir('d-rex'):
+ with working_dir("d-rex"):
make()
- with working_dir('fstrack'):
- if '+flow' in spec:
- make('really_all')
+ with working_dir("fstrack"):
+ if "+flow" in spec:
+ make("really_all")
else:
make()
diff --git a/var/spack/repos/builtin/packages/ftgl/package.py b/var/spack/repos/builtin/packages/ftgl/package.py
index caefcb0d00..ea99050469 100644
--- a/var/spack/repos/builtin/packages/ftgl/package.py
+++ b/var/spack/repos/builtin/packages/ftgl/package.py
@@ -10,31 +10,31 @@ class Ftgl(CMakePackage):
"""Library to use arbitrary fonts in OpenGL applications."""
homepage = "https://github.com/frankheckenbach/ftgl"
- git = "https://github.com/frankheckenbach/ftgl.git"
+ git = "https://github.com/frankheckenbach/ftgl.git"
- version('master', branch='master')
- version('2.4.0', commit='483639219095ad080538e07ceb5996de901d4e74')
- version('2.3.1', commit='3c0fdf367824b6381f29df3d8b4590240db62ab7')
+ version("master", branch="master")
+ version("2.4.0", commit="483639219095ad080538e07ceb5996de901d4e74")
+ version("2.3.1", commit="3c0fdf367824b6381f29df3d8b4590240db62ab7")
# FIXME: Doc generation is broken in upstream build system
# variant('doc', default=False, description='Build the documentation')
- variant('shared', default=True, description='Build as a shared library')
+ variant("shared", default=True, description="Build as a shared library")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
# depends_on('doxygen', type='build', when='+doc') -- FIXME, see above
- depends_on('pkgconfig', type='build')
- depends_on('gl')
- depends_on('glu')
- depends_on('freetype@2.0.9:')
+ depends_on("pkgconfig", type="build")
+ depends_on("gl")
+ depends_on("glu")
+ depends_on("freetype@2.0.9:")
# Fix oversight in CMakeLists
- patch('remove-ftlibrary-from-sources.diff', when='@:2.4.0')
+ patch("remove-ftlibrary-from-sources.diff", when="@:2.4.0")
def cmake_args(self):
spec = self.spec
- args = ['-DBUILD_SHARED_LIBS={0}'.format(spec.satisfies('+shared'))]
- if 'darwin' in self.spec.architecture:
- args.append('-DCMAKE_MACOSX_RPATH=ON')
+ args = ["-DBUILD_SHARED_LIBS={0}".format(spec.satisfies("+shared"))]
+ if "darwin" in self.spec.architecture:
+ args.append("-DCMAKE_MACOSX_RPATH=ON")
return args
# FIXME: See doc variant comment
diff --git a/var/spack/repos/builtin/packages/ftjam/package.py b/var/spack/repos/builtin/packages/ftjam/package.py
index 44d2a5da8c..cf9b287e29 100644
--- a/var/spack/repos/builtin/packages/ftjam/package.py
+++ b/var/spack/repos/builtin/packages/ftjam/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Ftjam(AutotoolsPackage):
"""Jam is a small open-source build tool that
- can be used as a replacement for Make."""
+ can be used as a replacement for Make."""
homepage = "https://freetype.org/jam/"
- url = "https://sourceforge.net/projects/freetype/files/ftjam/2.5.2/ftjam-2.5.2.tar.gz"
+ url = "https://sourceforge.net/projects/freetype/files/ftjam/2.5.2/ftjam-2.5.2.tar.gz"
- version('2.5.2', sha256='a5d456f65477d77936e1726f5f803a2e6def18a6c6fccf5ea8528926c136abc8')
+ version("2.5.2", sha256="a5d456f65477d77936e1726f5f803a2e6def18a6c6fccf5ea8528926c136abc8")
- depends_on('bison')
+ depends_on("bison")
diff --git a/var/spack/repos/builtin/packages/ftk/package.py b/var/spack/repos/builtin/packages/ftk/package.py
index 041eb64284..9f4edce009 100644
--- a/var/spack/repos/builtin/packages/ftk/package.py
+++ b/var/spack/repos/builtin/packages/ftk/package.py
@@ -12,17 +12,17 @@ class Ftk(CMakePackage):
# Add a proper url for your package's homepage here.
homepage = "https://github.com/hguo/ftk"
- url = "https://github.com/hguo/ftk/archive/0.0.5.tar.gz"
- git = "https://github.com/hguo/ftk.git"
+ url = "https://github.com/hguo/ftk/archive/0.0.5.tar.gz"
+ git = "https://github.com/hguo/ftk.git"
# Add a list of GitHub accounts to
# notify when the package is updated.
- maintainers = ['hguo']
+ maintainers = ["hguo"]
- version('master', branch='master')
- version('dev', branch='dev')
- version('0.0.5', sha256='9d5c84a73b7761b9fc7dac62d4296df9f3052b722ec1b06518b2b8f51a8d3440')
- version('0.0.4', sha256='1674904da8d88dbd4c7d2b6a2629883f0444e70aefc99b48d285735d394897fa')
+ version("master", branch="master")
+ version("dev", branch="dev")
+ version("0.0.5", sha256="9d5c84a73b7761b9fc7dac62d4296df9f3052b722ec1b06518b2b8f51a8d3440")
+ version("0.0.4", sha256="1674904da8d88dbd4c7d2b6a2629883f0444e70aefc99b48d285735d394897fa")
# variants
variant("adios2", default=False)
@@ -34,29 +34,29 @@ class Ftk(CMakePackage):
variant("vtk", default=False)
# optional dependencies
- depends_on('adios2', when='+adios2')
- depends_on('cuda', when='+cuda')
- depends_on('hdf5', when='+hdf5')
- depends_on('gmp', when='+gmp')
- depends_on('mpi', when='+mpi')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('vtk', when='+vtk')
+ depends_on("adios2", when="+adios2")
+ depends_on("cuda", when="+cuda")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("gmp", when="+gmp")
+ depends_on("mpi", when="+mpi")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("vtk", when="+vtk")
def add_cmake_option(self, args, dependency, option):
if dependency in self.spec:
- args.append('-D' + option + '=ON')
+ args.append("-D" + option + "=ON")
else:
- args.append('-D' + option + '=OFF')
+ args.append("-D" + option + "=OFF")
def cmake_args(self):
args = []
- self.add_cmake_option(args, '+adios2', 'FTK_USE_ADIOS2')
- self.add_cmake_option(args, '+cuda', 'FTK_USE_CUDA')
- self.add_cmake_option(args, '+gmp', 'FTK_USE_GMP')
- self.add_cmake_option(args, '+hdf5', 'FTK_USE_HDF5')
- self.add_cmake_option(args, '+mpi', 'FTK_USE_MPI')
- self.add_cmake_option(args, '+netcdf', 'FTK_USE_NETCDF')
- self.add_cmake_option(args, '+vtk', 'FTK_USE_VTK')
+ self.add_cmake_option(args, "+adios2", "FTK_USE_ADIOS2")
+ self.add_cmake_option(args, "+cuda", "FTK_USE_CUDA")
+ self.add_cmake_option(args, "+gmp", "FTK_USE_GMP")
+ self.add_cmake_option(args, "+hdf5", "FTK_USE_HDF5")
+ self.add_cmake_option(args, "+mpi", "FTK_USE_MPI")
+ self.add_cmake_option(args, "+netcdf", "FTK_USE_NETCDF")
+ self.add_cmake_option(args, "+vtk", "FTK_USE_VTK")
return args
diff --git a/var/spack/repos/builtin/packages/ftobjectlibrary/package.py b/var/spack/repos/builtin/packages/ftobjectlibrary/package.py
index 6c1301a868..665cd3f535 100644
--- a/var/spack/repos/builtin/packages/ftobjectlibrary/package.py
+++ b/var/spack/repos/builtin/packages/ftobjectlibrary/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Ftobjectlibrary(CMakePackage):
"""FTObjectLibrary provides a collection of reference counted Fortran 2003
- classes to facilitate writing generic object oriented Fortran programs. """
+ classes to facilitate writing generic object oriented Fortran programs."""
homepage = "https://github.com/trixi-framework/FTObjectLibrary"
- url = "https://github.com/trixi-framework/FTObjectLibrary"
- git = "https://github.com/trixi-framework/FTObjectLibrary.git"
+ url = "https://github.com/trixi-framework/FTObjectLibrary"
+ git = "https://github.com/trixi-framework/FTObjectLibrary.git"
- maintainers = ['schoonovernumerics']
+ maintainers = ["schoonovernumerics"]
- version('main', branch='main')
+ version("main", branch="main")
diff --git a/var/spack/repos/builtin/packages/ftxui/package.py b/var/spack/repos/builtin/packages/ftxui/package.py
index 12527a79e9..adc600a43b 100644
--- a/var/spack/repos/builtin/packages/ftxui/package.py
+++ b/var/spack/repos/builtin/packages/ftxui/package.py
@@ -11,6 +11,6 @@ class Ftxui(CMakePackage):
A simple C++ library for terminal based user interfaces."""
homepage = "https://arthursonzogni.github.io"
- url = "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v2.0.0.tar.gz"
+ url = "https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v2.0.0.tar.gz"
- version('2.0.0', sha256='d891695ef22176f0c09f8261a37af9ad5b262dd670a81e6b83661a23abc2c54f')
+ version("2.0.0", sha256="d891695ef22176f0c09f8261a37af9ad5b262dd670a81e6b83661a23abc2c54f")
diff --git a/var/spack/repos/builtin/packages/fujitsu-fftw/package.py b/var/spack/repos/builtin/packages/fujitsu-fftw/package.py
index 993286b0e4..7d859c1baa 100644
--- a/var/spack/repos/builtin/packages/fujitsu-fftw/package.py
+++ b/var/spack/repos/builtin/packages/fujitsu-fftw/package.py
@@ -10,7 +10,7 @@ from spack.pkg.builtin.fftw import FftwBase
def target_check(spec):
if spec.target != "a64fx":
- error_msg = ("It can only be built on an A64FX machine.\n")
+ error_msg = "It can only be built on an A64FX machine.\n"
raise SpackError(error_msg)
@@ -29,83 +29,87 @@ class FujitsuFftw(FftwBase):
Example : spack install fujitsufftw precision=float
"""
- _name = 'fujitsu-fftw'
+ _name = "fujitsu-fftw"
homepage = "https://github.com/fujitsu/fftw3"
url = "https://github.com/fujitsu/fftw3/archive/sve-v1.0.0.tar.gz"
- version('1.0.0', sha256='b5931e352355d8d1ffeb215922f4b96de11b8585c423fceeaffbf3d5436f6f2f')
-
- variant('shared', default=True, description='Builds a shared version of the library')
- variant('openmp', default=True, description="Enable OpenMP support")
- variant('debug', default=False, description='Builds a debug version of the library')
-
- depends_on('texinfo')
-
- provides('fftw-api@3')
-
- conflicts('precision=quad', when='%fj', msg="Fujitsu Compiler doesn't support quad precision")
- conflicts('precision=long_double', when='%fj', msg="ARM-SVE vector instructions only works in single or double precision")
- conflicts('%arm')
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%gcc')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ version("1.0.0", sha256="b5931e352355d8d1ffeb215922f4b96de11b8585c423fceeaffbf3d5436f6f2f")
+
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("debug", default=False, description="Builds a debug version of the library")
+
+ depends_on("texinfo")
+
+ provides("fftw-api@3")
+
+ conflicts("precision=quad", when="%fj", msg="Fujitsu Compiler doesn't support quad precision")
+ conflicts(
+ "precision=long_double",
+ when="%fj",
+ msg="ARM-SVE vector instructions only works in single or double precision",
+ )
+ conflicts("%arm")
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%gcc")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
def autoreconf(self, spec, prefix):
if spec.target != "a64fx":
target_check(spec)
- touch = which('touch')
- touch('ChangeLog')
- autoreconf = which('autoreconf')
- autoreconf('-ifv')
+ touch = which("touch")
+ touch("ChangeLog")
+ autoreconf = which("autoreconf")
+ autoreconf("-ifv")
def configure(self, spec, prefix):
"""Configure function"""
# Base options
options = [
- 'CFLAGS=-Ofast',
- 'FFLAGS=-Kfast',
- '--enable-sve',
- '--enable-armv8-cntvct-el0',
- '--enable-fma',
- '--enable-fortran',
- '--prefix={0}'.format(prefix),
- 'ac_cv_prog_f77_v=-###'
+ "CFLAGS=-Ofast",
+ "FFLAGS=-Kfast",
+ "--enable-sve",
+ "--enable-armv8-cntvct-el0",
+ "--enable-fma",
+ "--enable-fortran",
+ "--prefix={0}".format(prefix),
+ "ac_cv_prog_f77_v=-###",
]
- if '+shared' in spec:
- options.append('--enable-shared')
+ if "+shared" in spec:
+ options.append("--enable-shared")
else:
- options.append('--disable-shared')
+ options.append("--disable-shared")
- if '+openmp' in spec:
- options.append('--enable-openmp')
- options.append('OPENMP_CFLAGS=-Kopenmp')
+ if "+openmp" in spec:
+ options.append("--enable-openmp")
+ options.append("OPENMP_CFLAGS=-Kopenmp")
else:
- options.append('--disable-openmp')
+ options.append("--disable-openmp")
- if '+mpi' in spec:
- options.append('--enable-mpi')
+ if "+mpi" in spec:
+ options.append("--enable-mpi")
else:
- options.append('--disable-mpi')
+ options.append("--disable-mpi")
# Double is the default precision, for all the others we need
# to enable the corresponding option.
enable_precision = {
- 'float': ['--enable-float'],
- 'double': None,
- 'long_double': ['--enable-long-double'],
- 'quad': ['--enable-quad-precision']
+ "float": ["--enable-float"],
+ "double": None,
+ "long_double": ["--enable-long-double"],
+ "quad": ["--enable-quad-precision"],
}
# Different precisions must be configured and compiled one at a time
- configure = Executable('../configure')
+ configure = Executable("../configure")
for precision in self.selected_precisions:
opts = (enable_precision[precision] or []) + options[:]
diff --git a/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py b/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py
index 1116478499..f070b3fe4d 100644
--- a/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py
+++ b/var/spack/repos/builtin/packages/fujitsu-frontistr/package.py
@@ -11,20 +11,20 @@ from spack.pkg.builtin.frontistr import FrontistrBase
class FujitsuFrontistr(FrontistrBase):
"""This is a fork repository of the FrontISTR tuned for A64FX."""
- _name = 'fujitsu-frontistr'
+ _name = "fujitsu-frontistr"
homepage = "https://www.frontistr.com/"
url = "https://github.com/fujitsu/FrontISTR/archive/refs/tags/v5.2_tuned.tar.gz"
- git = "https://github.com/fujitsu/FrontISTR"
- maintainers = ['kinagaki-fj', 'kinagaki', 'm-shunji']
+ git = "https://github.com/fujitsu/FrontISTR"
+ maintainers = ["kinagaki-fj", "kinagaki", "m-shunji"]
- version('master', branch='fj-master')
- version('5.2', sha256='ebf73a96c33ae7c9e616c99f9ce07ec90d802764dbf6abf627b0083c3bbd2b2e')
- version('5.0', sha256='7a3a2dd0f834048fb71cc254c9da6c2637fb23110e79b5efaf208d6f69a5b30a')
+ version("master", branch="fj-master")
+ version("5.2", sha256="ebf73a96c33ae7c9e616c99f9ce07ec90d802764dbf6abf627b0083c3bbd2b2e")
+ version("5.0", sha256="7a3a2dd0f834048fb71cc254c9da6c2637fb23110e79b5efaf208d6f69a5b30a")
- variant('static', default=True, description='Build with static linkage')
- depends_on('metis ~shared', when='+static')
- depends_on('mumps ~shared', when='+static')
- depends_on('trilinos ~shared', when='+static')
+ variant("static", default=True, description="Build with static linkage")
+ depends_on("metis ~shared", when="+static")
+ depends_on("mumps ~shared", when="+static")
+ depends_on("trilinos ~shared", when="+static")
def url_for_version(self, version):
url = "https://github.com/fujitsu/FrontISTR/archive/refs/tags/v{0}_tuned.tar.gz"
@@ -33,17 +33,23 @@ class FujitsuFrontistr(FrontistrBase):
def cmake_args(self):
define = CMakePackage.define
args = super(FujitsuFrontistr, self).cmake_args()
- if self.spec.satisfies('%fj'):
- args.extend([
- define('CMAKE_C_FLAGS',
- '-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2'),
- define('CMAKE_CXX_FLAGS',
- '-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2'),
- define('CMAKE_Fortran_FLAGS',
- '-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2'),
- define('CMAKE_Fortran_MODDIR_FLAG', 'M'),
- define('OpenMP_C_FLAGS', '-Kopenmp'),
- define('OpenMP_CXX_FLAGS', '-Kopenmp'),
- define('OpenMP_Fortran_FLAGS', '-Kopenmp')
- ])
+ if self.spec.satisfies("%fj"):
+ args.extend(
+ [
+ define(
+ "CMAKE_C_FLAGS", "-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2"
+ ),
+ define(
+ "CMAKE_CXX_FLAGS", "-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2"
+ ),
+ define(
+ "CMAKE_Fortran_FLAGS",
+ "-Kcmodel=large -Nlst=t -Kocl -Kfast -Kzfill -Koptmsg=2",
+ ),
+ define("CMAKE_Fortran_MODDIR_FLAG", "M"),
+ define("OpenMP_C_FLAGS", "-Kopenmp"),
+ define("OpenMP_CXX_FLAGS", "-Kopenmp"),
+ define("OpenMP_Fortran_FLAGS", "-Kopenmp"),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py
index f06df12e62..feb8cf8550 100644
--- a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py
+++ b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py
@@ -13,40 +13,37 @@ class FujitsuMpi(Package):
homepage = "https://www.fujitsu.com/us/"
- conflicts('%arm')
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%gcc')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
-
- provides('mpi@3.1:')
+ conflicts("%arm")
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%gcc")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
+
+ provides("mpi@3.1:")
def install(self, spec, prefix):
- raise InstallError(
- 'Fujitsu MPI is not installable; it is vendor supplied')
+ raise InstallError("Fujitsu MPI is not installable; it is vendor supplied")
@property
def headers(self):
- hdrs = find_headers('mpi', self.prefix.include, recursive=True)
+ hdrs = find_headers("mpi", self.prefix.include, recursive=True)
hdrs.directories = os.path.dirname(hdrs[0])
return hdrs or None
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpi_cxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpi_cxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
def setup_dependent_package(self, module, dependent_spec):
self.spec.mpicc = self.prefix.bin.mpifcc
@@ -60,7 +57,7 @@ class FujitsuMpi(Package):
def setup_run_environment(self, env):
# Because MPI are both compilers and runtimes, we set up the compilers
# as part of run environment
- env.set('MPICC', self.prefix.bin.mpifcc)
- env.set('MPICXX', self.prefix.bin.mpiFCC)
- env.set('MPIF77', self.prefix.bin.mpifrt)
- env.set('MPIF90', self.prefix.bin.mpifrt)
+ env.set("MPICC", self.prefix.bin.mpifcc)
+ env.set("MPICXX", self.prefix.bin.mpiFCC)
+ env.set("MPIF77", self.prefix.bin.mpifrt)
+ env.set("MPIF90", self.prefix.bin.mpifrt)
diff --git a/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py b/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py
index 011cfbcaab..4295c2305d 100644
--- a/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py
+++ b/var/spack/repos/builtin/packages/fujitsu-ssl2/package.py
@@ -104,9 +104,7 @@ class FujitsuSsl2(Package):
libslist.append("libfjlapack.so")
libslist.append("libscalapack.a")
- libslist.extend(
- ["libmpi_usempi_ignore_tkr.so", "libmpi_mpifh.so"]
- )
+ libslist.extend(["libmpi_usempi_ignore_tkr.so", "libmpi_mpifh.so"])
if "+parallel" in spec: # parallel
libslist.extend(["libfjomphk.so", "libfjomp.so"])
@@ -136,17 +134,11 @@ class FujitsuSsl2(Package):
def setup_dependent_build_environment(self, env, dependent_spec):
path = self.prefix.include
- env.append_flags(
- "fcc_ENV", "-idirafter " + path
- )
- env.append_flags(
- "FCC_ENV", "-idirafter " + path
- )
+ env.append_flags("fcc_ENV", "-idirafter " + path)
+ env.append_flags("FCC_ENV", "-idirafter " + path)
@property
def headers(self):
- path = join_path(
- self.spec.prefix, "clang-comp"
- )
- headers = find_headers('cssl', path, recursive=True)
+ path = join_path(self.spec.prefix, "clang-comp")
+ headers = find_headers("cssl", path, recursive=True)
return headers
diff --git a/var/spack/repos/builtin/packages/fullock/package.py b/var/spack/repos/builtin/packages/fullock/package.py
index f3ea02e16d..c02dca1747 100644
--- a/var/spack/repos/builtin/packages/fullock/package.py
+++ b/var/spack/repos/builtin/packages/fullock/package.py
@@ -12,20 +12,20 @@ class Fullock(AutotoolsPackage):
provides two lock type."""
homepage = "https://antpick.ax/"
- url = "https://github.com/yahoojapan/fullock/archive/v1.0.36.tar.gz"
+ url = "https://github.com/yahoojapan/fullock/archive/v1.0.36.tar.gz"
- version('1.0.39', sha256='0089d4446e3102b5de39e3d18c1b7e5c9567deb77a4e60963e15b5c1b23a594d')
- version('1.0.36', sha256='68d0dc9036c2c1871653b4626a594f57663973c159f083ec68647c60ddc919f7')
- version('1.0.35', sha256='613462155271bf7b90ce745bafb47d23855e1b4813d3b6caa238efffb7c42841')
- version('1.0.34', sha256='6f4c901e5b08f5e82365539cb9c0dbab82529175912f6203a82509a583553021')
- version('1.0.33', sha256='31a292e50553abf71058b47277dbca37d25a772cf99c0f99c85e56dfcd11edb2')
- version('1.0.32', sha256='57d4ca06e5b88a98745062f55ee5ce37c88a49d59d58d09c5178fa1eee4d8353')
+ version("1.0.39", sha256="0089d4446e3102b5de39e3d18c1b7e5c9567deb77a4e60963e15b5c1b23a594d")
+ version("1.0.36", sha256="68d0dc9036c2c1871653b4626a594f57663973c159f083ec68647c60ddc919f7")
+ version("1.0.35", sha256="613462155271bf7b90ce745bafb47d23855e1b4813d3b6caa238efffb7c42841")
+ version("1.0.34", sha256="6f4c901e5b08f5e82365539cb9c0dbab82529175912f6203a82509a583553021")
+ version("1.0.33", sha256="31a292e50553abf71058b47277dbca37d25a772cf99c0f99c85e56dfcd11edb2")
+ version("1.0.32", sha256="57d4ca06e5b88a98745062f55ee5ce37c88a49d59d58d09c5178fa1eee4d8353")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/funhpc/package.py b/var/spack/repos/builtin/packages/funhpc/package.py
index d8cded7c94..6e40c9c556 100644
--- a/var/spack/repos/builtin/packages/funhpc/package.py
+++ b/var/spack/repos/builtin/packages/funhpc/package.py
@@ -11,26 +11,25 @@ class Funhpc(CMakePackage):
"""FunHPC: Functional HPC Programming"""
homepage = "https://github.com/eschnett/FunHPC.cxx"
- url = "https://github.com/eschnett/FunHPC.cxx/archive/version/1.3.0.tar.gz"
- git = "https://github.com/eschnett/FunHPC.cxx.git"
+ url = "https://github.com/eschnett/FunHPC.cxx/archive/version/1.3.0.tar.gz"
+ git = "https://github.com/eschnett/FunHPC.cxx.git"
- version('develop', branch='master')
- version('1.3.0', sha256='140e60f55a307f21117bd43fa16db35d60c0df5ef37e17a4da1cb3f5da5e29c1')
+ version("develop", branch="master")
+ version("1.3.0", sha256="140e60f55a307f21117bd43fa16db35d60c0df5ef37e17a4da1cb3f5da5e29c1")
- variant('pic', default=True,
- description="Produce position-independent code")
+ variant("pic", default=True, description="Produce position-independent code")
- depends_on('cereal')
- depends_on('googletest')
- depends_on('hwloc')
- depends_on('jemalloc')
- depends_on('mpi')
- depends_on('qthreads')
+ depends_on("cereal")
+ depends_on("googletest")
+ depends_on("hwloc")
+ depends_on("jemalloc")
+ depends_on("mpi")
+ depends_on("qthreads")
def cmake_args(self):
spec = self.spec
- options = ["-DGTEST_ROOT=%s" % spec['googletest'].prefix]
- if '+pic' in spec:
+ options = ["-DGTEST_ROOT=%s" % spec["googletest"].prefix]
+ if "+pic" in spec:
options += ["-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true"]
return options
diff --git a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
index bc7ec00dd2..6440b87a62 100644
--- a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
+++ b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
@@ -10,22 +10,22 @@ class FuseOverlayfs(AutotoolsPackage):
"""An implementation of overlay+shiftfs in FUSE for rootless containers."""
homepage = "https://github.com/containers/fuse-overlayfs"
- url = "https://github.com/containers/fuse-overlayfs/archive/v1.1.2.tar.gz"
- maintainers = ['haampie']
+ url = "https://github.com/containers/fuse-overlayfs/archive/v1.1.2.tar.gz"
+ maintainers = ["haampie"]
- version('1.7.1', sha256='fe2c076aed7b8669e7970301a99c0b197759b611035d8199de4c0add7d2fb2b4')
- version('1.7', sha256='e4d9a794d270e237a38e7ced95af95ad15268e0584eab981ed7c7b3758b95995')
- version('1.6', sha256='5606c5c1e4e0d7063f3f50a72c906f23b7a505784d20dc40fff9e4b2b802d5f4')
- version('1.5.0', sha256='6c81b65b71067b303aaa9871f512c2cabc23e2b793f19c6c854d01a492b5a923')
- version('1.4.0', sha256='7e5666aef4f2047e6a5202d6438b08c2d314dba5b40e431014e7dbb8168d9018')
- version('1.3.0', sha256='91e78a93aac7698c65083deea04952bc86af6abbb0830785ef1dd4a8707ad8bf')
- version('1.2.0', sha256='5df218732244059057686194b0e1fef66fb822d4087db48af88e1bc29bb1afde')
- version('1.1.2', sha256='1c0fa67f806c44d5c51f4bce02fdcb546137a2688a8de76d93d07b79defc9cac')
- version('1.1.1', sha256='9a1c4221a82059fd9686dd8b519d432bae126c08f9d891fb722bcb51ba4933ec')
- version('1.1.0', sha256='060168c2d5a8c6cc768b4542eba9953b7ff4a31f94bfb2e05b3d1051390838b1')
+ version("1.7.1", sha256="fe2c076aed7b8669e7970301a99c0b197759b611035d8199de4c0add7d2fb2b4")
+ version("1.7", sha256="e4d9a794d270e237a38e7ced95af95ad15268e0584eab981ed7c7b3758b95995")
+ version("1.6", sha256="5606c5c1e4e0d7063f3f50a72c906f23b7a505784d20dc40fff9e4b2b802d5f4")
+ version("1.5.0", sha256="6c81b65b71067b303aaa9871f512c2cabc23e2b793f19c6c854d01a492b5a923")
+ version("1.4.0", sha256="7e5666aef4f2047e6a5202d6438b08c2d314dba5b40e431014e7dbb8168d9018")
+ version("1.3.0", sha256="91e78a93aac7698c65083deea04952bc86af6abbb0830785ef1dd4a8707ad8bf")
+ version("1.2.0", sha256="5df218732244059057686194b0e1fef66fb822d4087db48af88e1bc29bb1afde")
+ version("1.1.2", sha256="1c0fa67f806c44d5c51f4bce02fdcb546137a2688a8de76d93d07b79defc9cac")
+ version("1.1.1", sha256="9a1c4221a82059fd9686dd8b519d432bae126c08f9d891fb722bcb51ba4933ec")
+ version("1.1.0", sha256="060168c2d5a8c6cc768b4542eba9953b7ff4a31f94bfb2e05b3d1051390838b1")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('fuse')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("fuse")
diff --git a/var/spack/repos/builtin/packages/fxdiv/package.py b/var/spack/repos/builtin/packages/fxdiv/package.py
index 78973fd10c..a87ad98084 100644
--- a/var/spack/repos/builtin/packages/fxdiv/package.py
+++ b/var/spack/repos/builtin/packages/fxdiv/package.py
@@ -10,21 +10,21 @@ class Fxdiv(CMakePackage):
"""Header-only library for division via fixed-point multiplication by inverse."""
homepage = "https://github.com/Maratyszcza/FXdiv"
- git = "https://github.com/Maratyszcza/FXdiv.git"
+ git = "https://github.com/Maratyszcza/FXdiv.git"
- version('master', branch='master')
- version('2020-04-17', commit='b408327ac2a15ec3e43352421954f5b1967701d1') # py-torch@1.6:1.9
- version('2018-11-16', commit='b742d1143724d646cd0f914646f1240eacf5bd73') # py-torch@1.0:1.5
- version('2018-02-24', commit='811b482bcd9e8d98ad80c6c78d5302bb830184b0') # py-torch@0.4
+ version("master", branch="master")
+ version("2020-04-17", commit="b408327ac2a15ec3e43352421954f5b1967701d1") # py-torch@1.6:1.9
+ version("2018-11-16", commit="b742d1143724d646cd0f914646f1240eacf5bd73") # py-torch@1.0:1.5
+ version("2018-02-24", commit="811b482bcd9e8d98ad80c6c78d5302bb830184b0") # py-torch@0.4
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
def cmake_args(self):
return [
- self.define('FXDIV_BUILD_TESTS', False),
- self.define('FXDIV_BUILD_BENCHMARKS', False)
+ self.define("FXDIV_BUILD_TESTS", False),
+ self.define("FXDIV_BUILD_BENCHMARKS", False),
]
diff --git a/var/spack/repos/builtin/packages/fxt/package.py b/var/spack/repos/builtin/packages/fxt/package.py
index 313007967b..015aa4cacd 100644
--- a/var/spack/repos/builtin/packages/fxt/package.py
+++ b/var/spack/repos/builtin/packages/fxt/package.py
@@ -19,39 +19,44 @@ class Fxt(AutotoolsPackage):
homepage = "http://savannah.nongnu.org/projects/fkt"
url = "http://download.savannah.nongnu.org/releases/fkt/fxt-0.3.14.tar.gz"
- maintainers = ['nfurmento', 'sthibaul']
+ maintainers = ["nfurmento", "sthibaul"]
- version('0.3.14', sha256='317d8d93175cd9f27ec43b8390b6d29dc66114f06aa74f2329847d49baaaebf2')
- version('0.3.5', sha256='3c0b33c82a01c4fb710c53ee9fc2c803314beba6fb60c397e13e874811e34a22')
- version('0.3.4', sha256='fcd35a5278ac0f10eba12fed4fa436dce79559897fde5b8176d5eee9081970f7')
- version('0.3.3', sha256='3f6fea5211cc242a54496e6242365c99522a5039916789cdbe25a58d05d6a626')
+ version("0.3.14", sha256="317d8d93175cd9f27ec43b8390b6d29dc66114f06aa74f2329847d49baaaebf2")
+ version("0.3.5", sha256="3c0b33c82a01c4fb710c53ee9fc2c803314beba6fb60c397e13e874811e34a22")
+ version("0.3.4", sha256="fcd35a5278ac0f10eba12fed4fa436dce79559897fde5b8176d5eee9081970f7")
+ version("0.3.3", sha256="3f6fea5211cc242a54496e6242365c99522a5039916789cdbe25a58d05d6a626")
- variant('moreparams', default=False, description='Increase the value of FXT_MAX_PARAMS (to allow longer task names).')
+ variant(
+ "moreparams",
+ default=False,
+ description="Increase the value of FXT_MAX_PARAMS (to allow longer task names).",
+ )
- depends_on("gawk", type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("gawk", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
parallel = False
def patch(self):
# Increase the value of FXT_MAX_PARAMS (to allow longer task names)
- if '+moreparams' in self.spec:
- filter_file('#define FXT_MAX_PARAMS.*',
- '#define FXT_MAX_PARAMS 16', 'tools/fxt.h')
+ if "+moreparams" in self.spec:
+ filter_file("#define FXT_MAX_PARAMS.*", "#define FXT_MAX_PARAMS 16", "tools/fxt.h")
def autoreconf(self, spec, prefix):
if not os.path.isfile("./configure"):
if os.path.isfile("./autogen.sh"):
- subprocess.call(['libtoolize', '--copy', '--force'], shell=False)
+ subprocess.call(["libtoolize", "--copy", "--force"], shell=False)
subprocess.check_call("./autogen.sh")
else:
- raise RuntimeError('Neither configure nor autogen.sh script exist.\
- FxT Cannot configure.')
+ raise RuntimeError(
+ "Neither configure nor autogen.sh script exist.\
+ FxT Cannot configure."
+ )
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- return(flags, None, None)
+ return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/fyba/package.py b/var/spack/repos/builtin/packages/fyba/package.py
index 87586d718c..de443965cd 100644
--- a/var/spack/repos/builtin/packages/fyba/package.py
+++ b/var/spack/repos/builtin/packages/fyba/package.py
@@ -12,22 +12,22 @@ class Fyba(AutotoolsPackage):
and write files in the National geodata standard format SOSI."""
homepage = "https://github.com/kartverket/fyba"
- url = "https://github.com/kartverket/fyba/archive/4.1.1.tar.gz"
+ url = "https://github.com/kartverket/fyba/archive/4.1.1.tar.gz"
- version('4.1.1', sha256='99f658d52e8fd8997118bb6207b9c121500700996d9481a736683474e2534179')
+ version("4.1.1", sha256="99f658d52e8fd8997118bb6207b9c121500700996d9481a736683474e2534179")
# configure: error: cannot find install-sh or install.sh
force_autoreconf = True
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# error: macro "min" passed 3 arguments, but takes just 2
# https://github.com/kartverket/fyba/issues/21
- patch('gcc-6.patch')
+ patch("gcc-6.patch")
# fatal error: 'sys/vfs.h' file not found
# https://github.com/kartverket/fyba/issues/12
- patch('vfs-mount-darwin.patch', when='platform=darwin')
+ patch("vfs-mount-darwin.patch", when="platform=darwin")
diff --git a/var/spack/repos/builtin/packages/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py
index 1ebdc5fe28..05e4eabbee 100644
--- a/var/spack/repos/builtin/packages/fzf/package.py
+++ b/var/spack/repos/builtin/packages/fzf/package.py
@@ -13,49 +13,49 @@ class Fzf(MakefilePackage):
"""fzf is a general-purpose command-line fuzzy finder."""
homepage = "https://github.com/junegunn/fzf"
- url = "https://github.com/junegunn/fzf/archive/0.17.5.tar.gz"
+ url = "https://github.com/junegunn/fzf/archive/0.17.5.tar.gz"
- executables = ['^fzf$']
+ executables = ["^fzf$"]
- version('0.22.0', sha256='3090748bb656333ed98490fe62133760e5da40ba4cd429a8142b4a0b69d05586')
- version('0.17.5', sha256='de3b39758e01b19bbc04ee0d5107e14052d3a32ce8f40d4a63d0ed311394f7ee')
- version('0.17.4', sha256='a4b009638266b116f422d159cd1e09df64112e6ae3490964db2cd46636981ff0')
- version('0.17.3', sha256='e843904417adf926613431e4403fded24fade56269446e92aac6ff1db86af81e')
- version('0.17.1', sha256='9c881e55780c0f56b5a30b87df756634d853bfd3938e7e53cb2df6ed63aa84a7')
- version('0.17.0-2', sha256='a084415231b452b92a6b8aa87a69c0c02ee59bfe95774bf0d4fcc9a6251ece20')
- version('0.17.0', sha256='23569faf64cd6831c09aad7030c8b4bace0eb7a979c580b33cc4e4f9ff303e29')
- version('0.16.11', sha256='e3067d4ad58d7be51eba9a35c06518cd7145c0cc297882796c7e40285f268a99')
- version('0.16.10', sha256='a6b9d8abcba4239d30201cc7911e9c305a5cd750081ce5cd389f8e7425f4dc93')
- version('0.16.9', sha256='dd9434576c68313481613a5bd52dbf623eee37a5c87f7bb66ca71ac8add5ff94')
- version('0.16.8', sha256='daef99f67cff3dad261dbcf2aef995bb78b360bcc7098d7230cb11674e1ee1d4')
+ version("0.22.0", sha256="3090748bb656333ed98490fe62133760e5da40ba4cd429a8142b4a0b69d05586")
+ version("0.17.5", sha256="de3b39758e01b19bbc04ee0d5107e14052d3a32ce8f40d4a63d0ed311394f7ee")
+ version("0.17.4", sha256="a4b009638266b116f422d159cd1e09df64112e6ae3490964db2cd46636981ff0")
+ version("0.17.3", sha256="e843904417adf926613431e4403fded24fade56269446e92aac6ff1db86af81e")
+ version("0.17.1", sha256="9c881e55780c0f56b5a30b87df756634d853bfd3938e7e53cb2df6ed63aa84a7")
+ version("0.17.0-2", sha256="a084415231b452b92a6b8aa87a69c0c02ee59bfe95774bf0d4fcc9a6251ece20")
+ version("0.17.0", sha256="23569faf64cd6831c09aad7030c8b4bace0eb7a979c580b33cc4e4f9ff303e29")
+ version("0.16.11", sha256="e3067d4ad58d7be51eba9a35c06518cd7145c0cc297882796c7e40285f268a99")
+ version("0.16.10", sha256="a6b9d8abcba4239d30201cc7911e9c305a5cd750081ce5cd389f8e7425f4dc93")
+ version("0.16.9", sha256="dd9434576c68313481613a5bd52dbf623eee37a5c87f7bb66ca71ac8add5ff94")
+ version("0.16.8", sha256="daef99f67cff3dad261dbcf2aef995bb78b360bcc7098d7230cb11674e1ee1d4")
- depends_on('go@1.11:', type='build')
+ depends_on("go@1.11:", type="build")
- variant('vim', default=False, description='Install vim plugins for fzf')
+ variant("vim", default=False, description="Install vim plugins for fzf")
- patch("github_mirrors.patch", when='@:0.17.5')
+ patch("github_mirrors.patch", when="@:0.17.5")
@classmethod
def determine_version(cls, exe):
- candidate = Executable(exe)('--version', output=str, error=str)
- match = re.match(r'(^[\d.]+)', candidate)
+ candidate = Executable(exe)("--version", output=str, error=str)
+ match = re.match(r"(^[\d.]+)", candidate)
return match.group(1) if match else None
- @when('@:0.17.5')
+ @when("@:0.17.5")
def patch(self):
- glide_home = os.path.join(self.build_directory, 'glide_home')
- os.environ['GLIDE_HOME'] = glide_home
+ glide_home = os.path.join(self.build_directory, "glide_home")
+ os.environ["GLIDE_HOME"] = glide_home
shutil.rmtree(glide_home, ignore_errors=True)
os.mkdir(glide_home)
def install(self, spec, prefix):
- make('install')
+ make("install")
mkdir(prefix.bin)
- install('bin/fzf', prefix.bin)
+ install("bin/fzf", prefix.bin)
- @run_after('install')
+ @run_after("install")
def post_install(self):
- if '+vim' in self.spec:
+ if "+vim" in self.spec:
mkdir(self.prefix.plugin)
- install('plugin/fzf.vim', self.prefix.plugin)
+ install("plugin/fzf.vim", self.prefix.plugin)
diff --git a/var/spack/repos/builtin/packages/g2/package.py b/var/spack/repos/builtin/packages/g2/package.py
index 63b9d705f2..821d311041 100644
--- a/var/spack/repos/builtin/packages/g2/package.py
+++ b/var/spack/repos/builtin/packages/g2/package.py
@@ -14,19 +14,18 @@ class G2(CMakePackage):
This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-g2"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-g2/archive/refs/tags/v3.4.3.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-g2/archive/refs/tags/v3.4.3.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('3.4.5', sha256='c18e991c56964953d778632e2d74da13c4e78da35e8d04cb742a2ca4f52737b6')
- version('3.4.3', sha256='679ea99b225f08b168cbf10f4b29f529b5b011232f298a5442ce037ea84de17c')
+ version("3.4.5", sha256="c18e991c56964953d778632e2d74da13c4e78da35e8d04cb742a2ca4f52737b6")
+ version("3.4.3", sha256="679ea99b225f08b168cbf10f4b29f529b5b011232f298a5442ce037ea84de17c")
- depends_on('jasper@:2.0.32')
- depends_on('libpng')
+ depends_on("jasper@:2.0.32")
+ depends_on("libpng")
def setup_run_environment(self, env):
- for suffix in ('4', 'd'):
- lib = find_libraries('libg2_' + suffix, root=self.prefix,
- shared=False, recursive=True)
- env.set('G2_LIB' + suffix, lib[0])
- env.set('G2_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
+ for suffix in ("4", "d"):
+ lib = find_libraries("libg2_" + suffix, root=self.prefix, shared=False, recursive=True)
+ env.set("G2_LIB" + suffix, lib[0])
+ env.set("G2_INC" + suffix, join_path(self.prefix, "include_" + suffix))
diff --git a/var/spack/repos/builtin/packages/g2c/package.py b/var/spack/repos/builtin/packages/g2c/package.py
index d15adb90d7..ddcb1414ee 100644
--- a/var/spack/repos/builtin/packages/g2c/package.py
+++ b/var/spack/repos/builtin/packages/g2c/package.py
@@ -12,22 +12,22 @@ class G2c(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-g2c"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-g2c/archive/refs/tags/v1.6.4.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-g2c/archive/refs/tags/v1.6.4.tar.gz"
- maintainers = ['kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- variant('png', default=True)
- variant('jasper', default=True)
- variant('openjpeg', default=False)
+ variant("png", default=True)
+ variant("jasper", default=True)
+ variant("openjpeg", default=False)
- version('1.6.4', sha256='5129a772572a358296b05fbe846bd390c6a501254588c6a223623649aefacb9d')
- version('1.6.2', sha256='b5384b48e108293d7f764cdad458ac8ce436f26be330b02c69c2a75bb7eb9a2c')
+ version("1.6.4", sha256="5129a772572a358296b05fbe846bd390c6a501254588c6a223623649aefacb9d")
+ version("1.6.2", sha256="b5384b48e108293d7f764cdad458ac8ce436f26be330b02c69c2a75bb7eb9a2c")
- depends_on('libpng', when='+png')
- depends_on('jasper', when='+jasper')
- depends_on('openjpeg', when='+openjpeg')
+ depends_on("libpng", when="+png")
+ depends_on("jasper", when="+jasper")
+ depends_on("openjpeg", when="+openjpeg")
def setup_run_environment(self, env):
- lib = find_libraries('libg2c', root=self.prefix, shared=False, recursive=True)
- env.set('G2C_LIB', lib[0])
- env.set('G2C_INC', join_path(self.prefix, 'include'))
+ lib = find_libraries("libg2c", root=self.prefix, shared=False, recursive=True)
+ env.set("G2C_LIB", lib[0])
+ env.set("G2C_INC", join_path(self.prefix, "include"))
diff --git a/var/spack/repos/builtin/packages/g2o/package.py b/var/spack/repos/builtin/packages/g2o/package.py
index 1c6fa4b400..4b4466c35c 100644
--- a/var/spack/repos/builtin/packages/g2o/package.py
+++ b/var/spack/repos/builtin/packages/g2o/package.py
@@ -17,31 +17,31 @@ class G2o(CMakePackage):
BA."""
homepage = "https://openslam-org.github.io/g2o.html"
- url = "https://github.com/RainerKuemmerle/g2o/archive/20200410_git.tar.gz"
- git = "https://github.com/RainerKuemmerle/g2o.git"
-
- version('master', branch='master')
- version('20200410_git', sha256='b79eb1407ae7f2a9e6a002bb4b41d65402c185855db41a9ef4a6e3b42abaec4c')
-
- depends_on('cmake@3.1:', type='build')
- depends_on('eigen@2.91.0:', type='link')
- depends_on('ceres-solver')
- depends_on('freeglut')
- depends_on('suite-sparse')
- depends_on('qt@5:+gui+opengl')
- depends_on('libqglviewer')
+ url = "https://github.com/RainerKuemmerle/g2o/archive/20200410_git.tar.gz"
+ git = "https://github.com/RainerKuemmerle/g2o.git"
+
+ version("master", branch="master")
+ version(
+ "20200410_git", sha256="b79eb1407ae7f2a9e6a002bb4b41d65402c185855db41a9ef4a6e3b42abaec4c"
+ )
+
+ depends_on("cmake@3.1:", type="build")
+ depends_on("eigen@2.91.0:", type="link")
+ depends_on("ceres-solver")
+ depends_on("freeglut")
+ depends_on("suite-sparse")
+ depends_on("qt@5:+gui+opengl")
+ depends_on("libqglviewer")
def cmake_args(self):
return [
- '-DBUILD_CSPARSE=OFF',
- '-DCSPARSE_INCLUDE_DIR=' + self.spec[
- 'suite-sparse:cxsparse'].headers.directories[0],
- '-DCSPARSE_LIBRARY=' + self.spec['suite-sparse:cxsparse'].libs[0],
- '-DQGLVIEWER_INCLUDE_DIR=' + self.spec[
- 'libqglviewer'].prefix.include.QGLViewer
+ "-DBUILD_CSPARSE=OFF",
+ "-DCSPARSE_INCLUDE_DIR=" + self.spec["suite-sparse:cxsparse"].headers.directories[0],
+ "-DCSPARSE_LIBRARY=" + self.spec["suite-sparse:cxsparse"].libs[0],
+ "-DQGLVIEWER_INCLUDE_DIR=" + self.spec["libqglviewer"].prefix.include.QGLViewer,
]
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/g2tmpl/package.py b/var/spack/repos/builtin/packages/g2tmpl/package.py
index e9fcb9858b..36163acd43 100644
--- a/var/spack/repos/builtin/packages/g2tmpl/package.py
+++ b/var/spack/repos/builtin/packages/g2tmpl/package.py
@@ -12,10 +12,10 @@ class G2tmpl(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl/archive/refs/tags/v1.10.0.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl/archive/refs/tags/v1.10.0.tar.gz"
- maintainers = ['t-brown', 'edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- version('1.10.2', sha256='4063361369f3691f75288c801fa9d1a2414908b7d6c07bbf69d4165802e2a7fc')
- version('1.10.1', sha256='0be425e5128fabb89915a92261aa75c27a46a3e115e00c686fc311321e5d1e2a')
- version('1.10.0', sha256='dcc0e40b8952f91d518c59df7af64e099131c17d85d910075bfa474c8822649d')
+ version("1.10.2", sha256="4063361369f3691f75288c801fa9d1a2414908b7d6c07bbf69d4165802e2a7fc")
+ version("1.10.1", sha256="0be425e5128fabb89915a92261aa75c27a46a3e115e00c686fc311321e5d1e2a")
+ version("1.10.0", sha256="dcc0e40b8952f91d518c59df7af64e099131c17d85d910075bfa474c8822649d")
diff --git a/var/spack/repos/builtin/packages/g4abla/package.py b/var/spack/repos/builtin/packages/g4abla/package.py
index 91af672830..5125f925a0 100644
--- a/var/spack/repos/builtin/packages/g4abla/package.py
+++ b/var/spack/repos/builtin/packages/g4abla/package.py
@@ -9,28 +9,27 @@ from spack.package import *
class G4abla(Package):
"""Geant4 data for nuclear shell effects in INCL/ABLA hadronic mode"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4ABLA.3.0.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('3.1', sha256='7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed')
- version('3.0', sha256='99fd4dcc9b4949778f14ed8364088e45fa4ff3148b3ea36f9f3103241d277014')
+ version("3.1", sha256="7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed")
+ version("3.0", sha256="99fd4dcc9b4949778f14ed8364088e45fa4ff3148b3ea36f9f3103241d277014")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4ABLA{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4ABLA{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4ABLA{0}'
- .format(self.version))
- env.set('G4ABLADATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4ABLA{0}".format(self.version))
+ env.set("G4ABLADATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4ABLA.%s.tar.gz" % version)
+ return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4ABLA.%s.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/g4emlow/package.py b/var/spack/repos/builtin/packages/g4emlow/package.py
index 5c129a09e9..55f3971d2d 100644
--- a/var/spack/repos/builtin/packages/g4emlow/package.py
+++ b/var/spack/repos/builtin/packages/g4emlow/package.py
@@ -9,33 +9,32 @@ from spack.package import *
class G4emlow(Package):
"""Geant4 data files for low energy electromagnetic processes."""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4EMLOW.6.50.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('8.0', sha256='d919a8e5838688257b9248a613910eb2a7633059e030c8b50c0a2c2ad9fd2b3b')
- version('7.13', sha256='374896b649be776c6c10fea80abe6cf32f9136df0b6ab7c7236d571d49fb8c69')
- version('7.9.1', sha256='820c106e501c64c617df6c9e33a0f0a3822ffad059871930f74b8cc37f043ccb')
- version('7.9', sha256='4abf9aa6cda91e4612676ce4d2d8a73b91184533aa66f9aad19a53a8c4dc3aff')
- version('7.7', sha256='16dec6adda6477a97424d749688d73e9bd7d0b84d0137a67cf341f1960984663')
- version('7.3', sha256='583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e')
- version('6.50', sha256='c97be73fece5fb4f73c43e11c146b43f651c6991edd0edf8619c9452f8ab1236')
+ version("8.0", sha256="d919a8e5838688257b9248a613910eb2a7633059e030c8b50c0a2c2ad9fd2b3b")
+ version("7.13", sha256="374896b649be776c6c10fea80abe6cf32f9136df0b6ab7c7236d571d49fb8c69")
+ version("7.9.1", sha256="820c106e501c64c617df6c9e33a0f0a3822ffad059871930f74b8cc37f043ccb")
+ version("7.9", sha256="4abf9aa6cda91e4612676ce4d2d8a73b91184533aa66f9aad19a53a8c4dc3aff")
+ version("7.7", sha256="16dec6adda6477a97424d749688d73e9bd7d0b84d0137a67cf341f1960984663")
+ version("7.3", sha256="583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e")
+ version("6.50", sha256="c97be73fece5fb4f73c43e11c146b43f651c6991edd0edf8619c9452f8ab1236")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4EMLOW{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4EMLOW{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4EMLOW{0}'
- .format(self.version))
- env.set('G4LEDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4EMLOW{0}".format(self.version))
+ env.set("G4LEDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("https://geant4-data.web.cern.ch/geant4-data/datasets/G4EMLOW.%s.tar.gz" % version)
+ return "https://geant4-data.web.cern.ch/geant4-data/datasets/G4EMLOW.%s.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/g4ensdfstate/package.py b/var/spack/repos/builtin/packages/g4ensdfstate/package.py
index e077bc488b..54925b675e 100644
--- a/var/spack/repos/builtin/packages/g4ensdfstate/package.py
+++ b/var/spack/repos/builtin/packages/g4ensdfstate/package.py
@@ -9,29 +9,30 @@ from spack.package import *
class G4ensdfstate(Package):
"""Geant4 data for nuclides properties"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4ENSDFSTATE.2.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('2.3', sha256='9444c5e0820791abd3ccaace105b0e47790fadce286e11149834e79c4a8e9203')
- version('2.2', sha256='dd7e27ef62070734a4a709601f5b3bada6641b111eb7069344e4f99a01d6e0a6')
- version('2.1', sha256='933e7f99b1c70f24694d12d517dfca36d82f4e95b084c15d86756ace2a2790d9')
+ version("2.3", sha256="9444c5e0820791abd3ccaace105b0e47790fadce286e11149834e79c4a8e9203")
+ version("2.2", sha256="dd7e27ef62070734a4a709601f5b3bada6641b111eb7069344e4f99a01d6e0a6")
+ version("2.1", sha256="933e7f99b1c70f24694d12d517dfca36d82f4e95b084c15d86756ace2a2790d9")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4ENSDFSTATE{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4ENSDFSTATE{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4ENSDFSTATE{0}'
- .format(self.version))
- env.set('G4ENSDFSTATEDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4ENSDFSTATE{0}".format(self.version))
+ env.set("G4ENSDFSTATEDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4ENSDFSTATE.%s.tar.gz" % version
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/G4ENSDFSTATE.%s.tar.gz" % version
+ )
diff --git a/var/spack/repos/builtin/packages/g4incl/package.py b/var/spack/repos/builtin/packages/g4incl/package.py
index d81d62dc62..2df74d7d63 100644
--- a/var/spack/repos/builtin/packages/g4incl/package.py
+++ b/var/spack/repos/builtin/packages/g4incl/package.py
@@ -10,27 +10,26 @@ from spack.package import *
class G4incl(Package):
"""Geant4 data for evaluated particle cross-sections on natural
composition of elements"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4INCL.1.0.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('1.0', sha256='716161821ae9f3d0565fbf3c2cf34f4e02e3e519eb419a82236eef22c2c4367d')
+ version("1.0", sha256="716161821ae9f3d0565fbf3c2cf34f4e02e3e519eb419a82236eef22c2c4367d")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', "G4INCL{0}"
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4INCL{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4INCL{0}'
- .format(self.version))
- env.set('G4INCLDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4INCL{0}".format(self.version))
+ env.set("G4INCLDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4INCL.%s.tar.gz" % version)
+ return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4INCL.%s.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/g4ndl/package.py b/var/spack/repos/builtin/packages/g4ndl/package.py
index d5ed753744..ab532f0189 100644
--- a/var/spack/repos/builtin/packages/g4ndl/package.py
+++ b/var/spack/repos/builtin/packages/g4ndl/package.py
@@ -8,28 +8,27 @@ from spack.package import *
class G4ndl(Package):
- """Geant4 Neutron data files with thermal cross sections """
+ """Geant4 Neutron data files with thermal cross sections"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4NDL.4.5.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
- version('4.6', sha256='9d287cf2ae0fb887a2adce801ee74fb9be21b0d166dab49bcbee9408a5145408')
- version('4.5', sha256='cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e')
+ version("4.6", sha256="9d287cf2ae0fb887a2adce801ee74fb9be21b0d166dab49bcbee9408a5145408")
+ version("4.5", sha256="cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4NDL{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4NDL{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4NDL{0}'
- .format(self.version))
- env.set('G4NEUTRONHPDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4NDL{0}".format(self.version))
+ env.set("G4NEUTRONHPDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4NDL.%s.tar.gz" % version)
+ return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NDL.%s.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/g4neutronxs/package.py b/var/spack/repos/builtin/packages/g4neutronxs/package.py
index 182c3b9b61..08097f7801 100644
--- a/var/spack/repos/builtin/packages/g4neutronxs/package.py
+++ b/var/spack/repos/builtin/packages/g4neutronxs/package.py
@@ -9,29 +9,30 @@ from spack.package import *
class G4neutronxs(Package):
"""Geant4 data for evaluated neutron cross-sections on natural composition
- of elements"""
+ of elements"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4NEUTRONXS.1.4.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
# Dataset not used after Geant4 10.4.x
- version('1.4', sha256='57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd')
+ version("1.4", sha256="57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4NEUTRONXS{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4NEUTRONXS{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4NEUTRONXS{0}'
- .format(self.version))
- env.set('G4NEUTRONXSDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4NEUTRONXS{0}".format(self.version))
+ env.set("G4NEUTRONXSDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NEUTRONXS.%s.tar.gz" % version
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NEUTRONXS.%s.tar.gz" % version
+ )
diff --git a/var/spack/repos/builtin/packages/g4particlexs/package.py b/var/spack/repos/builtin/packages/g4particlexs/package.py
index 14b6f0f896..2e57d56f57 100644
--- a/var/spack/repos/builtin/packages/g4particlexs/package.py
+++ b/var/spack/repos/builtin/packages/g4particlexs/package.py
@@ -10,31 +10,32 @@ from spack.package import *
class G4particlexs(Package):
"""Geant4 data for evaluated particle cross-sections on
natural composition of elements"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4PARTICLEXS.2.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('4.0', sha256='9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95')
- version('3.1.1', sha256='66c17edd6cb6967375d0497add84c2201907a25e33db782ebc26051d38f2afda')
- version('3.1', sha256='404da84ead165e5cccc0bb795222f6270c9bf491ef4a0fd65195128b27f0e9cd')
- version('2.1', sha256='094d103372bbf8780d63a11632397e72d1191dc5027f9adabaf6a43025520b41')
- version('1.1', sha256='100a11c9ed961152acfadcc9b583a9f649dda4e48ab314fcd4f333412ade9d62')
+ version("4.0", sha256="9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95")
+ version("3.1.1", sha256="66c17edd6cb6967375d0497add84c2201907a25e33db782ebc26051d38f2afda")
+ version("3.1", sha256="404da84ead165e5cccc0bb795222f6270c9bf491ef4a0fd65195128b27f0e9cd")
+ version("2.1", sha256="094d103372bbf8780d63a11632397e72d1191dc5027f9adabaf6a43025520b41")
+ version("1.1", sha256="100a11c9ed961152acfadcc9b583a9f649dda4e48ab314fcd4f333412ade9d62")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', "G4PARTICLEXS{0}"
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4PARTICLEXS{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4PARTICLEXS{0}'
- .format(self.version))
- env.set('G4PARTICLEXSDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4PARTICLEXS{0}".format(self.version))
+ env.set("G4PARTICLEXSDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4PARTICLEXS.%s.tar.gz" % version)
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/G4PARTICLEXS.%s.tar.gz" % version
+ )
diff --git a/var/spack/repos/builtin/packages/g4photonevaporation/package.py b/var/spack/repos/builtin/packages/g4photonevaporation/package.py
index 8285152686..4a5eac5810 100644
--- a/var/spack/repos/builtin/packages/g4photonevaporation/package.py
+++ b/var/spack/repos/builtin/packages/g4photonevaporation/package.py
@@ -9,33 +9,35 @@ from spack.package import *
class G4photonevaporation(Package):
"""Geant4 data for photon evaporation"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4PhotonEvaporation.4.3.2.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('5.7', sha256='761e42e56ffdde3d9839f9f9d8102607c6b4c0329151ee518206f4ee9e77e7e5')
- version('5.5', sha256='5995dda126c18bd7f68861efde87b4af438c329ecbe849572031ceed8f5e76d7')
- version('5.3', sha256='d47ababc8cbe548065ef644e9bd88266869e75e2f9e577ebc36bc55bf7a92ec8')
- version('5.2', sha256='83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f')
- version('4.3.2', sha256='d4641a6fe1c645ab2a7ecee09c34e5ea584fb10d63d2838248bfc487d34207c7')
+ version("5.7", sha256="761e42e56ffdde3d9839f9f9d8102607c6b4c0329151ee518206f4ee9e77e7e5")
+ version("5.5", sha256="5995dda126c18bd7f68861efde87b4af438c329ecbe849572031ceed8f5e76d7")
+ version("5.3", sha256="d47ababc8cbe548065ef644e9bd88266869e75e2f9e577ebc36bc55bf7a92ec8")
+ version("5.2", sha256="83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f")
+ version("4.3.2", sha256="d4641a6fe1c645ab2a7ecee09c34e5ea584fb10d63d2838248bfc487d34207c7")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data',
- 'PhotonEvaporation{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "PhotonEvaporation{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data',
- 'PhotonEvaporation{0}'
- .format(self.version))
- env.set('G4LEVELGAMMADATA', install_path)
+ install_path = join_path(
+ self.prefix.share, "data", "PhotonEvaporation{0}".format(self.version)
+ )
+ env.set("G4LEVELGAMMADATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4PhotonEvaporation.%s.tar.gz" % version)
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/G4PhotonEvaporation.%s.tar.gz"
+ % version
+ )
diff --git a/var/spack/repos/builtin/packages/g4pii/package.py b/var/spack/repos/builtin/packages/g4pii/package.py
index e81de9c867..ce5489d104 100644
--- a/var/spack/repos/builtin/packages/g4pii/package.py
+++ b/var/spack/repos/builtin/packages/g4pii/package.py
@@ -9,27 +9,26 @@ from spack.package import *
class G4pii(Package):
"""Geant4 data for shell ionisation cross-sections"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('1.3', sha256='6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926')
+ version("1.3", sha256="6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4PII{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4PII{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4PII{0}'
- .format(self.version))
- env.set('G4PIIDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4PII{0}".format(self.version))
+ env.set("G4PIIDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("https://geant4-data.web.cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz" % version)
+ return "https://geant4-data.web.cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py
index a27420cfa4..5b10aebd33 100644
--- a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py
+++ b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py
@@ -9,33 +9,35 @@ from spack.package import *
class G4radioactivedecay(Package):
"""Geant4 data files for radio-active decay hadronic processes"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4RadioactiveDecay.5.1.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('5.6', sha256='3886077c9c8e5a98783e6718e1c32567899eeb2dbb33e402d4476bc2fe4f0df1')
- version('5.4', sha256='240779da7d13f5bf0db250f472298c3804513e8aca6cae301db97f5ccdcc4a61')
- version('5.3', sha256='5c8992ac57ae56e66b064d3f5cdfe7c2fee76567520ad34a625bfb187119f8c1')
- version('5.2', sha256='99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d')
- version('5.1.1', sha256='f7a9a0cc998f0d946359f2cb18d30dff1eabb7f3c578891111fc3641833870ae')
+ version("5.6", sha256="3886077c9c8e5a98783e6718e1c32567899eeb2dbb33e402d4476bc2fe4f0df1")
+ version("5.4", sha256="240779da7d13f5bf0db250f472298c3804513e8aca6cae301db97f5ccdcc4a61")
+ version("5.3", sha256="5c8992ac57ae56e66b064d3f5cdfe7c2fee76567520ad34a625bfb187119f8c1")
+ version("5.2", sha256="99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d")
+ version("5.1.1", sha256="f7a9a0cc998f0d946359f2cb18d30dff1eabb7f3c578891111fc3641833870ae")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data',
- 'RadioactiveDecay{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "RadioactiveDecay{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data',
- 'RadioactiveDecay{0}'
- .format(self.version))
- env.set('G4RADIOACTIVEDATA', install_path)
+ install_path = join_path(
+ self.prefix.share, "data", "RadioactiveDecay{0}".format(self.version)
+ )
+ env.set("G4RADIOACTIVEDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4RadioactiveDecay.%s.tar.gz" % version)
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/G4RadioactiveDecay.%s.tar.gz"
+ % version
+ )
diff --git a/var/spack/repos/builtin/packages/g4realsurface/package.py b/var/spack/repos/builtin/packages/g4realsurface/package.py
index 882959bf1e..3f391d08a7 100644
--- a/var/spack/repos/builtin/packages/g4realsurface/package.py
+++ b/var/spack/repos/builtin/packages/g4realsurface/package.py
@@ -9,31 +9,33 @@ from spack.package import *
class G4realsurface(Package):
"""Geant4 data for measured optical surface reflectance"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/RealSurface.1.0.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('2.2', sha256='9954dee0012f5331267f783690e912e72db5bf52ea9babecd12ea22282176820')
- version('2.1.1', sha256='90481ff97a7c3fa792b7a2a21c9ed80a40e6be386e581a39950c844b2dd06f50')
- version('2.1', sha256='2a287adbda1c0292571edeae2082a65b7f7bd6cf2bf088432d1d6f889426dcf3')
- version('1.0', sha256='3e2d2506600d2780ed903f1f2681962e208039329347c58ba1916740679020b1')
+ version("2.2", sha256="9954dee0012f5331267f783690e912e72db5bf52ea9babecd12ea22282176820")
+ version("2.1.1", sha256="90481ff97a7c3fa792b7a2a21c9ed80a40e6be386e581a39950c844b2dd06f50")
+ version("2.1", sha256="2a287adbda1c0292571edeae2082a65b7f7bd6cf2bf088432d1d6f889426dcf3")
+ version("1.0", sha256="3e2d2506600d2780ed903f1f2681962e208039329347c58ba1916740679020b1")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'RealSurface{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "RealSurface{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'RealSurface{0}'
- .format(self.version))
- env.set('G4REALSURFACEDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "RealSurface{0}".format(self.version))
+ env.set("G4REALSURFACEDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return "http://geant4-data.web.cern.ch/geant4-data/datasets/{0}RealSurface.{1}.tar.gz".format(
- "G4" if version > Version('1.0') else "", version)
+ return (
+ "http://geant4-data.web.cern.ch/geant4-data/datasets/{0}RealSurface.{1}.tar.gz".format(
+ "G4" if version > Version("1.0") else "", version
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/g4saiddata/package.py b/var/spack/repos/builtin/packages/g4saiddata/package.py
index 0086a0d4f9..85b457a6b5 100644
--- a/var/spack/repos/builtin/packages/g4saiddata/package.py
+++ b/var/spack/repos/builtin/packages/g4saiddata/package.py
@@ -8,28 +8,27 @@ from spack.package import *
class G4saiddata(Package):
- """Geant4 data from evaluated cross-sections in SAID data-base """
+ """Geant4 data from evaluated cross-sections in SAID data-base"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4SAIDDATA.1.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('2.0', sha256='1d26a8e79baa71e44d5759b9f55a67e8b7ede31751316a9e9037d80090c72e91')
- version('1.1', sha256='a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f')
+ version("2.0", sha256="1d26a8e79baa71e44d5759b9f55a67e8b7ede31751316a9e9037d80090c72e91")
+ version("1.1", sha256="a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', 'G4SAIDDATA{0}'
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4SAIDDATA{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4SAIDDATA{0}'
- .format(self.version))
- env.set('G4SAIDXSDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4SAIDDATA{0}".format(self.version))
+ env.set("G4SAIDXSDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
diff --git a/var/spack/repos/builtin/packages/g4tendl/package.py b/var/spack/repos/builtin/packages/g4tendl/package.py
index 63c60c7359..b950e643af 100644
--- a/var/spack/repos/builtin/packages/g4tendl/package.py
+++ b/var/spack/repos/builtin/packages/g4tendl/package.py
@@ -9,29 +9,28 @@ from spack.package import *
class G4tendl(Package):
"""Geant4 data for incident particles [optional]"""
+
homepage = "https://geant4.web.cern.ch"
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/G4TENDL.1.3.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
# Only versions relevant to Geant4 releases built by spack are added
- version('1.4', sha256='4b7274020cc8b4ed569b892ef18c2e088edcdb6b66f39d25585ccee25d9721e0')
- version('1.3.2', sha256='3b2987c6e3bee74197e3bd39e25e1cc756bb866c26d21a70f647959fc7afb849')
- version('1.3', sha256='52ad77515033a5d6f995c699809b464725a0e62099b5e55bf07c8bdd02cd3bce')
+ version("1.4", sha256="4b7274020cc8b4ed569b892ef18c2e088edcdb6b66f39d25585ccee25d9721e0")
+ version("1.3.2", sha256="3b2987c6e3bee74197e3bd39e25e1cc756bb866c26d21a70f647959fc7afb849")
+ version("1.3", sha256="52ad77515033a5d6f995c699809b464725a0e62099b5e55bf07c8bdd02cd3bce")
def install(self, spec, prefix):
- mkdirp(join_path(prefix.share, 'data'))
- install_path = join_path(prefix.share, 'data', "G4TENDL{0}"
- .format(self.version))
+ mkdirp(join_path(prefix.share, "data"))
+ install_path = join_path(prefix.share, "data", "G4TENDL{0}".format(self.version))
install_tree(self.stage.source_path, install_path)
def setup_dependent_run_environment(self, env, dependent_spec):
- install_path = join_path(self.prefix.share, 'data', 'G4TENDL{0}'
- .format(self.version))
- env.set('G4PARTICLEHPDATA', install_path)
+ install_path = join_path(self.prefix.share, "data", "G4TENDL{0}".format(self.version))
+ env.set("G4PARTICLEHPDATA", install_path)
def url_for_version(self, version):
"""Handle version string."""
- return ("http://geant4-data.web.cern.ch/geant4-data/datasets/G4TENDL.%s.tar.gz" % version)
+ return "http://geant4-data.web.cern.ch/geant4-data/datasets/G4TENDL.%s.tar.gz" % version
diff --git a/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py b/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py
index 823cd51cd8..de700408ce 100644
--- a/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py
+++ b/var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py
@@ -8,37 +8,37 @@ from spack.package import *
class GamessRiMp2Miniapp(MakefilePackage):
"""The GAMESS RI-MP2 mini-app computes the correlation energy with the
- Hartree-Fock energy and wave-function given as inputs. The inputs
- were generated from GAMESS."""
+ Hartree-Fock energy and wave-function given as inputs. The inputs
+ were generated from GAMESS."""
- tags = ['proxy-app']
+ tags = ["proxy-app"]
homepage = "https://github.com/jkwack/GAMESS_RI-MP2_MiniApp"
- url = "https://github.com/jkwack/GAMESS_RI-MP2_MiniApp/archive/1.5.tar.gz"
+ url = "https://github.com/jkwack/GAMESS_RI-MP2_MiniApp/archive/1.5.tar.gz"
- version('1.5', sha256='0ff4e8e556caa99ce1ab85c53e78932a32d2e2fa3c5d883fa321d5000f8a731e')
+ version("1.5", sha256="0ff4e8e556caa99ce1ab85c53e78932a32d2e2fa3c5d883fa321d5000f8a731e")
- depends_on('mpi')
- depends_on('lapack')
+ depends_on("mpi")
+ depends_on("lapack")
- build_directory = 'build_and_run'
+ build_directory = "build_and_run"
@property
def build_targets(self):
targets = [
- 'rimp2-serial',
- 'SDIR=../source',
- 'FFLAGS_SERIAL=-cpp ' + self.compiler.openmp_flag,
- 'LDFLAGS_ESSL={0}'.format(self.spec['lapack'].libs.ld_flags)
+ "rimp2-serial",
+ "SDIR=../source",
+ "FFLAGS_SERIAL=-cpp " + self.compiler.openmp_flag,
+ "LDFLAGS_ESSL={0}".format(self.spec["lapack"].libs.ld_flags),
]
return targets
def edit(self, spec, prefix):
- with working_dir('build_and_run'):
- copy('Makefile_OLCF', 'Makefile')
+ with working_dir("build_and_run"):
+ copy("Makefile_OLCF", "Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('build_and_run'):
- install('rimp2-serial', prefix.bin)
+ with working_dir("build_and_run"):
+ install("rimp2-serial", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gams/package.py b/var/spack/repos/builtin/packages/gams/package.py
index 7dfdaf0eea..e239e48475 100644
--- a/var/spack/repos/builtin/packages/gams/package.py
+++ b/var/spack/repos/builtin/packages/gams/package.py
@@ -16,24 +16,26 @@ class Gams(Package):
homepage = "https://www.gams.com/"
manual_download = True
- version('27.2', '4f3f3484a4389661e0522a4cfe0289fd', expand=False)
+ version("27.2", "4f3f3484a4389661e0522a4cfe0289fd", expand=False)
def url_for_version(self, version):
return "file://{0}/linux_x64_64_sfx.exe".format(os.getcwd())
def setup_run_environment(self, env):
- env.prepend_path("PATH", join_path(
- self.prefix, 'gams{0}_linux_x64_64_sfx'.format(self.version)))
+ env.prepend_path(
+ "PATH", join_path(self.prefix, "gams{0}_linux_x64_64_sfx".format(self.version))
+ )
def install(self, spec, prefix):
- os.chmod(join_path(self.stage.source_path,
- "linux_x64_64_sfx.exe"), 0o755)
+ os.chmod(join_path(self.stage.source_path, "linux_x64_64_sfx.exe"), 0o755)
os.system("./linux_x64_64_sfx.exe")
- install_tree(join_path(self.stage.source_path,
- 'gams{0}_linux_x64_64_sfx'
- .format(self.version)),
- join_path(self.prefix, 'gams{0}_linux_x64_64_sfx'
- .format(self.version)))
- install('{0}/gamslice.txt'.format(os.getcwd()),
- join_path(self.prefix, 'gams{0}_linux_x64_64_sfx'
- .format(self.version), 'gamslice.txt'))
+ install_tree(
+ join_path(self.stage.source_path, "gams{0}_linux_x64_64_sfx".format(self.version)),
+ join_path(self.prefix, "gams{0}_linux_x64_64_sfx".format(self.version)),
+ )
+ install(
+ "{0}/gamslice.txt".format(os.getcwd()),
+ join_path(
+ self.prefix, "gams{0}_linux_x64_64_sfx".format(self.version), "gamslice.txt"
+ ),
+ )
diff --git a/var/spack/repos/builtin/packages/ganglia/package.py b/var/spack/repos/builtin/packages/ganglia/package.py
index 18818816e5..7ae96c0c05 100644
--- a/var/spack/repos/builtin/packages/ganglia/package.py
+++ b/var/spack/repos/builtin/packages/ganglia/package.py
@@ -13,23 +13,23 @@ class Ganglia(AutotoolsPackage):
nodes in size."""
homepage = "http://ganglia.sourceforge.net/"
- url = "https://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz"
+ url = "https://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz"
list_url = "http://jaist.dl.sourceforge.net/project/ganglia/ganglia%20monitoring%20core"
list_depth = 1
- version('3.7.2', sha256='042dbcaf580a661b55ae4d9f9b3566230b2232169a0898e91a797a4c61888409')
+ version("3.7.2", sha256="042dbcaf580a661b55ae4d9f9b3566230b2232169a0898e91a797a4c61888409")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('apr')
- depends_on('libconfuse')
- depends_on('python@:2.7')
- depends_on('pcre')
- depends_on('libtirpc')
- depends_on('expat')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("apr")
+ depends_on("libconfuse")
+ depends_on("python@:2.7")
+ depends_on("pcre")
+ depends_on("libtirpc")
+ depends_on("expat")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['libtirpc'].prefix.include.tirpc)
- env.append_flags('LDFLAGS', '-ltirpc')
+ env.prepend_path("CPATH", self.spec["libtirpc"].prefix.include.tirpc)
+ env.append_flags("LDFLAGS", "-ltirpc")
diff --git a/var/spack/repos/builtin/packages/gapbs/package.py b/var/spack/repos/builtin/packages/gapbs/package.py
index 453b33c253..1c4ec97da0 100644
--- a/var/spack/repos/builtin/packages/gapbs/package.py
+++ b/var/spack/repos/builtin/packages/gapbs/package.py
@@ -18,19 +18,19 @@ class Gapbs(MakefilePackage):
improvement."""
homepage = "http://gap.cs.berkeley.edu/benchmark.html"
- url = "https://github.com/sbeamer/gapbs/archive/v1.0.tar.gz"
+ url = "https://github.com/sbeamer/gapbs/archive/v1.0.tar.gz"
- version('1.0', sha256='a7516998c4994592053c7aa0c76282760a8e009865a6b7a1c7c40968be1ca55d')
+ version("1.0", sha256="a7516998c4994592053c7aa0c76282760a8e009865a6b7a1c7c40968be1ca55d")
- variant('serial', default=False, description='Version with no parallelism')
+ variant("serial", default=False, description="Version with no parallelism")
def build(self, spec, prefix):
- cxx_flags = ['-O3', self.compiler.cxx11_flag]
+ cxx_flags = ["-O3", self.compiler.cxx11_flag]
- if '-serial' in spec:
+ if "-serial" in spec:
cxx_flags.append(self.compiler.openmp_flag)
- make('CXX_FLAGS=' + ' '.join(cxx_flags))
+ make("CXX_FLAGS=" + " ".join(cxx_flags))
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gapcloser/package.py b/var/spack/repos/builtin/packages/gapcloser/package.py
index 12b5257789..767f961e8c 100644
--- a/var/spack/repos/builtin/packages/gapcloser/package.py
+++ b/var/spack/repos/builtin/packages/gapcloser/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Gapcloser(Package):
"""The GapCloser is designed to close the gaps emerging during the
- scaffolding process"""
+ scaffolding process"""
homepage = "https://sourceforge.net/projects/soapdenovo2/files/GapCloser/"
- url = "https://downloads.sourceforge.net/project/soapdenovo2/GapCloser/bin/r6/GapCloser-bin-v1.12-r6.tgz"
+ url = "https://downloads.sourceforge.net/project/soapdenovo2/GapCloser/bin/r6/GapCloser-bin-v1.12-r6.tgz"
- version('1.12-r6', sha256='8ca1a7e521dabc551ab4436d2b6e32536df670fae1c0e0fcb9242ae3a53db579')
+ version("1.12-r6", sha256="8ca1a7e521dabc551ab4436d2b6e32536df670fae1c0e0fcb9242ae3a53db579")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('GapCloser', prefix.bin)
+ install("GapCloser", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gapfiller/package.py b/var/spack/repos/builtin/packages/gapfiller/package.py
index 620e438e7a..ab9e49d430 100644
--- a/var/spack/repos/builtin/packages/gapfiller/package.py
+++ b/var/spack/repos/builtin/packages/gapfiller/package.py
@@ -11,39 +11,38 @@ from spack.package import *
class Gapfiller(Package):
"""GapFiller is a stand-alone program for closing gaps within
- pre-assembled scaffolds.
+ pre-assembled scaffolds.
- Note: A manual download is required for GapFiller.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for GapFiller.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.baseclear.com/genomics/bioinformatics/basetools/gapfiller"
manual_download = True
- version('1.10', '54d5e2ada131a1305a66e41c0d380382')
+ version("1.10", "54d5e2ada131a1305a66e41c0d380382")
def url_for_version(self, version):
return "file://{0}/39GapFiller_v{1}_linux-x86_64.tar.gz".format(
- os.getcwd(),
- version.dashed
+ os.getcwd(), version.dashed
)
- depends_on('perl+threads', type=('build', 'run'))
+ depends_on("perl+threads", type=("build", "run"))
def patch(self):
- with working_dir('.'):
- files = glob.glob("*.pl") + glob.glob('bwa/*.pl')
+ with working_dir("."):
+ files = glob.glob("*.pl") + glob.glob("bwa/*.pl")
for file in files:
change = FileFilter(file)
- change.filter('usr/bin/perl', 'usr/bin/env perl')
- change.filter('require "getopts.pl";', 'use Getopt::Std;')
- change.filter('&Getopts', 'getopts')
- change.filter('\r', '')
+ change.filter("usr/bin/perl", "usr/bin/env perl")
+ change.filter('require "getopts.pl";', "use Getopt::Std;")
+ change.filter("&Getopts", "getopts")
+ change.filter("\r", "")
set_executable(file)
def install(self, spec, prefix):
- install_tree('bowtie', prefix.bin.bowtie)
- install_tree('bwa', prefix.bin.bwa)
- install('GapFiller.pl', prefix.bin)
+ install_tree("bowtie", prefix.bin.bowtie)
+ install_tree("bwa", prefix.bin.bwa)
+ install("GapFiller.pl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/garfieldpp/package.py b/var/spack/repos/builtin/packages/garfieldpp/package.py
index 3f5ba70f01..18f0fde3d2 100644
--- a/var/spack/repos/builtin/packages/garfieldpp/package.py
+++ b/var/spack/repos/builtin/packages/garfieldpp/package.py
@@ -8,28 +8,26 @@ from spack.package import *
class Garfieldpp(CMakePackage):
"""Garfield++ is a toolkit for the detailed simulation of particle
- detectors based on ionisation measurement in gases and semiconductors. """
+ detectors based on ionisation measurement in gases and semiconductors."""
homepage = "https://garfieldpp.web.cern.ch/garfieldpp/"
- url = "https://gitlab.cern.ch/garfield/garfieldpp/-/archive/4.0/garfieldpp-4.0.tar.gz"
- git = "https://gitlab.cern.ch/garfield/garfieldpp.git"
+ url = "https://gitlab.cern.ch/garfield/garfieldpp/-/archive/4.0/garfieldpp-4.0.tar.gz"
+ git = "https://gitlab.cern.ch/garfield/garfieldpp.git"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['mirguest']
+ maintainers = ["mirguest"]
- variant('examples', default=False, description="Build garfield examples")
+ variant("examples", default=False, description="Build garfield examples")
- version('master', branch='master')
- version('4.0', sha256='82bc1f0395213bd30a7cd854426e6757d0b4155e99ffd4405355c9648fa5ada3')
- version('3.0', sha256='c1282427a784658bc38b71c8e8cfc8c9f5202b185f0854d85f7c9c5a747c5406')
+ version("master", branch="master")
+ version("4.0", sha256="82bc1f0395213bd30a7cd854426e6757d0b4155e99ffd4405355c9648fa5ada3")
+ version("3.0", sha256="c1282427a784658bc38b71c8e8cfc8c9f5202b185f0854d85f7c9c5a747c5406")
- depends_on('root')
- depends_on('gsl')
- depends_on('geant4', when='+examples')
+ depends_on("root")
+ depends_on("gsl")
+ depends_on("geant4", when="+examples")
def cmake_args(self):
- args = [
- self.define_from_variant('WITH_EXAMPLES', 'examples')
- ]
+ args = [self.define_from_variant("WITH_EXAMPLES", "examples")]
return args
diff --git a/var/spack/repos/builtin/packages/gasnet/package.py b/var/spack/repos/builtin/packages/gasnet/package.py
index bf790af879..efcb23828d 100644
--- a/var/spack/repos/builtin/packages/gasnet/package.py
+++ b/var/spack/repos/builtin/packages/gasnet/package.py
@@ -10,72 +10,80 @@ from spack.package import *
class Gasnet(Package, CudaPackage, ROCmPackage):
"""GASNet is a language-independent, networking middleware layer that
- provides network-independent, high-performance communication primitives
- including Remote Memory Access (RMA) and Active Messages (AM). It has been
- used to implement parallel programming models and libraries such as UPC,
- UPC++, Co-Array Fortran, Legion, Chapel, and many others. The interface is
- primarily intended as a compilation target and for use by runtime library
- writers (as opposed to end users), and the primary goals are high
- performance, interface portability, and expressiveness.
-
- ***NOTICE***: The GASNet library built by this Spack package is ONLY intended for
- unit-testing purposes, and is generally UNSUITABLE FOR PRODUCTION USE.
- The RECOMMENDED way to build GASNet is as an embedded library as configured
- by the higher-level client runtime package (UPC++, Legion, etc), including
- system-specific configuration.
+ provides network-independent, high-performance communication primitives
+ including Remote Memory Access (RMA) and Active Messages (AM). It has been
+ used to implement parallel programming models and libraries such as UPC,
+ UPC++, Co-Array Fortran, Legion, Chapel, and many others. The interface is
+ primarily intended as a compilation target and for use by runtime library
+ writers (as opposed to end users), and the primary goals are high
+ performance, interface portability, and expressiveness.
+
+ ***NOTICE***: The GASNet library built by this Spack package is ONLY intended for
+ unit-testing purposes, and is generally UNSUITABLE FOR PRODUCTION USE.
+ The RECOMMENDED way to build GASNet is as an embedded library as configured
+ by the higher-level client runtime package (UPC++, Legion, etc), including
+ system-specific configuration.
"""
+
homepage = "https://gasnet.lbl.gov"
- url = "https://gasnet.lbl.gov/EX/GASNet-2021.3.0.tar.gz"
- git = "https://bitbucket.org/berkeleylab/gasnet.git"
+ url = "https://gasnet.lbl.gov/EX/GASNet-2021.3.0.tar.gz"
+ git = "https://bitbucket.org/berkeleylab/gasnet.git"
- maintainers = ['PHHargrove', 'bonachea']
+ maintainers = ["PHHargrove", "bonachea"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='develop')
- version('main', branch='stable')
- version('master', branch='master')
+ version("develop", branch="develop")
+ version("main", branch="stable")
+ version("master", branch="master")
- version('2022.3.0', sha256='91b59aa84c0680c807e00d3d1d8fa7c33c1aed50b86d1616f93e499620a9ba09')
- version('2021.9.0', sha256='1b6ff6cdad5ecf76b92032ef9507e8a0876c9fc3ee0ab008de847c1fad0359ee')
- version('2021.3.0', sha256='8a40fb3fa8bacc3922cd4d45217816fcb60100357ab97fb622a245567ea31747')
- version('2020.10.0', sha256='ed17baf7fce90499b539857ee37b3eea961aa475cffbde77e4c607a34ece06a0')
- version('2020.3.0', sha256='019eb2d2284856e6fabe6c8c0061c874f10e95fa0265245f227fd3497f1bb274')
- version('2019.9.0', sha256='117f5fdb16e53d0fa8a47a1e28cccab1d8020ed4f6e50163d985dc90226aaa2c')
+ version("2022.3.0", sha256="91b59aa84c0680c807e00d3d1d8fa7c33c1aed50b86d1616f93e499620a9ba09")
+ version("2021.9.0", sha256="1b6ff6cdad5ecf76b92032ef9507e8a0876c9fc3ee0ab008de847c1fad0359ee")
+ version("2021.3.0", sha256="8a40fb3fa8bacc3922cd4d45217816fcb60100357ab97fb622a245567ea31747")
+ version("2020.10.0", sha256="ed17baf7fce90499b539857ee37b3eea961aa475cffbde77e4c607a34ece06a0")
+ version("2020.3.0", sha256="019eb2d2284856e6fabe6c8c0061c874f10e95fa0265245f227fd3497f1bb274")
+ version("2019.9.0", sha256="117f5fdb16e53d0fa8a47a1e28cccab1d8020ed4f6e50163d985dc90226aaa2c")
# Do NOT add older versions here.
# GASNet-EX releases over 2 years old are not supported.
# The optional network backends:
- variant('conduits',
- values=any_combination_of('smp', 'mpi', 'ibv',
- 'udp', 'ofi', 'ucx').with_default('smp'),
- description="The hardware-dependent network backends to enable.\n" +
- "(smp) = SMP conduit for single-node operation ;\n" +
- "(ibv) = Native InfiniBand verbs conduit ;\n" +
- "(udp) = Portable UDP conduit, for Ethernet networks ;\n" +
- "(mpi) = Low-performance/portable MPI conduit ;\n" +
- "(ofi) = EXPERIMENTAL Portable OFI conduit over libfabric ;\n" +
- "(ucx) = EXPERIMENTAL UCX conduit for Mellanox IB/RoCE ConnectX-5+ ;\n" +
- "For detailed recommendations, consult https://gasnet.lbl.gov")
-
- variant('debug', default=False, description="Enable library debugging mode")
-
- variant('cuda', default=False,
- description='Enables support for the CUDA memory kind in some conduits.\n' +
- 'NOTE: Requires CUDA Driver library be present on the build system')
-
- variant('rocm', default=False,
- description='Enables support for the ROCm/HIP memory kind in some conduits')
-
- depends_on('mpi', when='conduits=mpi')
-
- depends_on('autoconf@2.69', type='build', when='@master:')
- depends_on('automake@1.16:', type='build', when='@master:')
-
- conflicts('hip@:4.4.0', when='+rocm')
+ variant(
+ "conduits",
+ values=any_combination_of("smp", "mpi", "ibv", "udp", "ofi", "ucx").with_default("smp"),
+ description="The hardware-dependent network backends to enable.\n"
+ + "(smp) = SMP conduit for single-node operation ;\n"
+ + "(ibv) = Native InfiniBand verbs conduit ;\n"
+ + "(udp) = Portable UDP conduit, for Ethernet networks ;\n"
+ + "(mpi) = Low-performance/portable MPI conduit ;\n"
+ + "(ofi) = EXPERIMENTAL Portable OFI conduit over libfabric ;\n"
+ + "(ucx) = EXPERIMENTAL UCX conduit for Mellanox IB/RoCE ConnectX-5+ ;\n"
+ + "For detailed recommendations, consult https://gasnet.lbl.gov",
+ )
+
+ variant("debug", default=False, description="Enable library debugging mode")
+
+ variant(
+ "cuda",
+ default=False,
+ description="Enables support for the CUDA memory kind in some conduits.\n"
+ + "NOTE: Requires CUDA Driver library be present on the build system",
+ )
+
+ variant(
+ "rocm",
+ default=False,
+ description="Enables support for the ROCm/HIP memory kind in some conduits",
+ )
+
+ depends_on("mpi", when="conduits=mpi")
+
+ depends_on("autoconf@2.69", type="build", when="@master:")
+ depends_on("automake@1.16:", type="build", when="@master:")
+
+ conflicts("hip@:4.4.0", when="+rocm")
def install(self, spec, prefix):
- if spec.satisfies('@master:'):
+ if spec.satisfies("@master:"):
bootstrapsh = Executable("./Bootstrap")
bootstrapsh()
@@ -88,81 +96,93 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
# (eg. Berkeley UPC, UPC++, Legion, etc), some of which provide build-time
# selection of the GASNet library sources. This spack package provides
# the GASNet-EX sources, for use by appropriate client packages.
- install_tree('.', prefix + "/src")
+ install_tree(".", prefix + "/src")
# Library build is provided for unit-testing purposes only (see notice above)
- if 'conduits=none' not in spec:
+ if "conduits=none" not in spec:
options = ["--prefix=%s" % prefix]
- if '+debug' in spec:
+ if "+debug" in spec:
options.append("--enable-debug")
- if '+cuda' in spec:
+ if "+cuda" in spec:
options.append("--enable-kind-cuda-uva")
- if '+rocm' in spec:
+ if "+rocm" in spec:
options.append("--enable-kind-hip")
- if 'conduits=mpi' in spec:
+ if "conduits=mpi" in spec:
options.append("--enable-mpi-compat")
else:
options.append("--disable-mpi-compat")
options.append("--disable-auto-conduit-detect")
- for c in spec.variants['conduits'].value:
+ for c in spec.variants["conduits"].value:
options.append("--enable-" + c)
options.append("--enable-rpath")
configure(*options)
make()
- make('install')
+ make("install")
- for c in spec.variants['conduits'].value:
+ for c in spec.variants["conduits"].value:
testdir = join_path(self.prefix.tests, c)
mkdirp(testdir)
- make('-C', c + '-conduit', 'testgasnet-par')
+ make("-C", c + "-conduit", "testgasnet-par")
install(c + "-conduit/testgasnet", testdir)
- make('-C', c + '-conduit', 'testtools-par')
+ make("-C", c + "-conduit", "testtools-par")
install(c + "-conduit/testtools", self.prefix.tests)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
- if 'conduits=smp' in self.spec:
- make('-C', 'smp-conduit', 'run-tests')
- if 'conduits=none' not in self.spec:
- self.run_test(join_path(self.prefix.tests, 'testtools'),
- expected=['Done.'], status=0,
- installed=True, purpose="Running testtools")
+ if "conduits=smp" in self.spec:
+ make("-C", "smp-conduit", "run-tests")
+ if "conduits=none" not in self.spec:
+ self.run_test(
+ join_path(self.prefix.tests, "testtools"),
+ expected=["Done."],
+ status=0,
+ installed=True,
+ purpose="Running testtools",
+ )
def test(self):
- if 'conduits=none' in self.spec:
+ if "conduits=none" in self.spec:
spack.main.send_warning_to_tty("No conduit libraries built -- SKIPPED")
return
- ranks = '4'
+ ranks = "4"
spawner = {
- 'smp': ['env', 'GASNET_PSHM_NODES=' + ranks],
- 'mpi': [join_path(self.prefix.bin, 'gasnetrun_mpi'), '-n', ranks],
- 'ibv': [join_path(self.prefix.bin, 'gasnetrun_ibv'), '-n', ranks],
- 'ofi': [join_path(self.prefix.bin, 'gasnetrun_ofi'), '-n', ranks],
- 'ucx': [join_path(self.prefix.bin, 'gasnetrun_ucx'), '-n', ranks],
- 'udp': [join_path(self.prefix.bin, 'amudprun'), '-spawn', 'L', '-np', ranks]
+ "smp": ["env", "GASNET_PSHM_NODES=" + ranks],
+ "mpi": [join_path(self.prefix.bin, "gasnetrun_mpi"), "-n", ranks],
+ "ibv": [join_path(self.prefix.bin, "gasnetrun_ibv"), "-n", ranks],
+ "ofi": [join_path(self.prefix.bin, "gasnetrun_ofi"), "-n", ranks],
+ "ucx": [join_path(self.prefix.bin, "gasnetrun_ucx"), "-n", ranks],
+ "udp": [join_path(self.prefix.bin, "amudprun"), "-spawn", "L", "-np", ranks],
}
- os.environ['GASNET_VERBOSEENV'] = '1' # include diagnostic info
- if 'GASNET_SSH_SERVERS' not in os.environ:
- os.environ['GASNET_SSH_SERVERS'] = "localhost " * 4
-
- self.run_test(join_path(self.prefix.tests, 'testtools'),
- expected=['Done.'], status=0,
- installed=True, purpose="Running testtools")
-
- for c in self.spec.variants['conduits'].value:
- os.environ['GASNET_SUPERNODE_MAXSIZE'] = '0' if (c == 'smp') else '1'
- test = join_path(self.prefix.tests, c, 'testgasnet')
- self.run_test(spawner[c][0], spawner[c][1:] + [test],
- expected=['done.'], status=0,
- installed=(c != 'smp'),
- purpose="Running %s-conduit/testgasnet" % c)
+ os.environ["GASNET_VERBOSEENV"] = "1" # include diagnostic info
+ if "GASNET_SSH_SERVERS" not in os.environ:
+ os.environ["GASNET_SSH_SERVERS"] = "localhost " * 4
+
+ self.run_test(
+ join_path(self.prefix.tests, "testtools"),
+ expected=["Done."],
+ status=0,
+ installed=True,
+ purpose="Running testtools",
+ )
+
+ for c in self.spec.variants["conduits"].value:
+ os.environ["GASNET_SUPERNODE_MAXSIZE"] = "0" if (c == "smp") else "1"
+ test = join_path(self.prefix.tests, c, "testgasnet")
+ self.run_test(
+ spawner[c][0],
+ spawner[c][1:] + [test],
+ expected=["done."],
+ status=0,
+ installed=(c != "smp"),
+ purpose="Running %s-conduit/testgasnet" % c,
+ )
diff --git a/var/spack/repos/builtin/packages/gatb-core/package.py b/var/spack/repos/builtin/packages/gatb-core/package.py
index abff41c7d4..35911fc394 100644
--- a/var/spack/repos/builtin/packages/gatb-core/package.py
+++ b/var/spack/repos/builtin/packages/gatb-core/package.py
@@ -10,11 +10,11 @@ class GatbCore(CMakePackage):
"""GATB - The Genome Analysis Toolbox with de-Bruijn graph"""
homepage = "https://gatb.inria.fr/software/gatb-core/"
- git = "https://github.com/GATB/gatb-core.git"
+ git = "https://github.com/GATB/gatb-core.git"
- depends_on('cmake@3.1.0:', type='build')
+ depends_on("cmake@3.1.0:", type="build")
- version('1.4.2', tag='v1.4.2')
- version('1.4.1', tag='v1.4.1')
+ version("1.4.2", tag="v1.4.2")
+ version("1.4.1", tag="v1.4.1")
- root_cmakelists_dir = 'gatb-core'
+ root_cmakelists_dir = "gatb-core"
diff --git a/var/spack/repos/builtin/packages/gate/package.py b/var/spack/repos/builtin/packages/gate/package.py
index b7f3ca1e11..1e05b05104 100644
--- a/var/spack/repos/builtin/packages/gate/package.py
+++ b/var/spack/repos/builtin/packages/gate/package.py
@@ -24,72 +24,76 @@ class Gate(CMakePackage):
radiotherapy experiments."""
homepage = "http://opengatecollaboration.org/"
- url = "https://github.com/OpenGATE/Gate/archive/v9.0.tar.gz"
+ url = "https://github.com/OpenGATE/Gate/archive/v9.0.tar.gz"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('9.1', sha256='aaab874198500b81d45b27cc6d6a51e72cca9519910b893a5c85c8e6d3ffa4fc')
- version('9.0', sha256='8354f392facc0b7ae2ddf0eed61cc43136195b198ba399df25e874886b8b69cb')
+ version("9.1", sha256="aaab874198500b81d45b27cc6d6a51e72cca9519910b893a5c85c8e6d3ffa4fc")
+ version("9.0", sha256="8354f392facc0b7ae2ddf0eed61cc43136195b198ba399df25e874886b8b69cb")
- variant('rtk', default=False,
- description='build support for the Reconstruction Toolkit')
- variant('default_platform', default='condor',
- description='select default platform for the cluster tools',
- values=('SGE', 'condor', 'openPBS', 'openmosix', 'slurm', 'xgrid'),
- multi=False)
+ variant("rtk", default=False, description="build support for the Reconstruction Toolkit")
+ variant(
+ "default_platform",
+ default="condor",
+ description="select default platform for the cluster tools",
+ values=("SGE", "condor", "openPBS", "openmosix", "slurm", "xgrid"),
+ multi=False,
+ )
- depends_on('geant4@:10.6~threads', when='@9.0') # Gate needs a non-threaded geant4
- depends_on('geant4@:10.7~threads', when='@9.1') # Gate needs a non-threaded geant4
- depends_on('root')
- depends_on('itk+rtk', when='+rtk')
+ depends_on("geant4@:10.6~threads", when="@9.0") # Gate needs a non-threaded geant4
+ depends_on("geant4@:10.7~threads", when="@9.1") # Gate needs a non-threaded geant4
+ depends_on("root")
+ depends_on("itk+rtk", when="+rtk")
- patch('cluster_tools_filemerger_Makefile.patch')
- patch('cluster_tools_jobsplitter_Makefile.patch')
- patch('cluster_tools_jobsplitter_platform.patch')
+ patch("cluster_tools_filemerger_Makefile.patch")
+ patch("cluster_tools_jobsplitter_Makefile.patch")
+ patch("cluster_tools_jobsplitter_platform.patch")
def cmake_args(self):
args = []
- if '+rtk' in self.spec:
- args.extend([
- '-DGATE_USE_ITK=ON',
- '-DGATE_USE_RTK=ON',
- ])
+ if "+rtk" in self.spec:
+ args.extend(
+ [
+ "-DGATE_USE_ITK=ON",
+ "-DGATE_USE_RTK=ON",
+ ]
+ )
else:
- args.extend([
- '-DGATE_USE_ITK=OFF',
- '-DGATE_USE_RTK=OFF',
- ])
+ args.extend(
+ [
+ "-DGATE_USE_ITK=OFF",
+ "-DGATE_USE_RTK=OFF",
+ ]
+ )
return args
def setup_build_environment(self, env):
- gc_default_platform = self.spec.variants['default_platform'].value
- env.set('GC_DEFAULT_PLATFORM', gc_default_platform)
+ gc_default_platform = self.spec.variants["default_platform"].value
+ env.set("GC_DEFAULT_PLATFORM", gc_default_platform)
def setup_run_environment(self, env):
- env.set('GC_GATE_EXE_DIR', self.prefix.bin)
- env.set('GC_CONDOR_SCRIPT', join_path(self.prefix, 'share',
- 'jobsplitter', 'condor.script'))
- env.set('GC_PBS_SCRIPT', join_path(self.prefix, 'share',
- 'jobsplitter', 'openPBS.script'))
- env.set('GC_SGE_SCRIPT', join_path(self.prefix, 'share',
- 'jobsplitter', 'SGE.script'))
- env.set('GC_SLURM_SCRIPT', join_path(self.prefix, 'share',
- 'jobsplitter', 'slurm.script'))
-
- @run_after('install')
+ env.set("GC_GATE_EXE_DIR", self.prefix.bin)
+ env.set(
+ "GC_CONDOR_SCRIPT", join_path(self.prefix, "share", "jobsplitter", "condor.script")
+ )
+ env.set("GC_PBS_SCRIPT", join_path(self.prefix, "share", "jobsplitter", "openPBS.script"))
+ env.set("GC_SGE_SCRIPT", join_path(self.prefix, "share", "jobsplitter", "SGE.script"))
+ env.set("GC_SLURM_SCRIPT", join_path(self.prefix, "share", "jobsplitter", "slurm.script"))
+
+ @run_after("install")
def cluster_tools(self):
- with working_dir('cluster_tools/filemerger'):
+ with working_dir("cluster_tools/filemerger"):
make()
- make('install', 'PREFIX={0}'.format(self.prefix))
+ make("install", "PREFIX={0}".format(self.prefix))
- with working_dir('cluster_tools/jobsplitter'):
+ with working_dir("cluster_tools/jobsplitter"):
make()
- make('install', 'PREFIX={0}'.format(self.prefix))
+ make("install", "PREFIX={0}".format(self.prefix))
- script_path = join_path(self.prefix, 'share', 'jobsplitter')
+ script_path = join_path(self.prefix, "share", "jobsplitter")
mkdirp(script_path)
- install_tree('cluster_tools/jobsplitter/script', script_path)
- install('*.xml', self.prefix.share)
- install('*.db', self.prefix.share)
+ install_tree("cluster_tools/jobsplitter/script", script_path)
+ install("*.xml", self.prefix.share)
+ install("*.db", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/gatepet2stir/package.py b/var/spack/repos/builtin/packages/gatepet2stir/package.py
index 6305d93f5b..1f788f4bed 100644
--- a/var/spack/repos/builtin/packages/gatepet2stir/package.py
+++ b/var/spack/repos/builtin/packages/gatepet2stir/package.py
@@ -10,15 +10,15 @@ class Gatepet2stir(QMakePackage):
"""A QT/C++ application to convert GATE geometries to STIR format."""
homepage = "https://gatepet2stir.sourceforge.io/"
- url = "http://sourceforge.net/projects/gatepet2stir/files/GATE_PET_2_STIR_1_3_2.tar.gz"
+ url = "http://sourceforge.net/projects/gatepet2stir/files/GATE_PET_2_STIR_1_3_2.tar.gz"
- version('1.3.2', sha256='c53b990e47b5856d47466cff62763d0a3bfdc12538b6842cce45271badb7a387')
+ version("1.3.2", sha256="c53b990e47b5856d47466cff62763d0a3bfdc12538b6842cce45271badb7a387")
- depends_on('gperftools')
- depends_on('ncurses')
- depends_on('qt@:4')
- depends_on('qwt')
- depends_on('root')
+ depends_on("gperftools")
+ depends_on("ncurses")
+ depends_on("qt@:4")
+ depends_on("qwt")
+ depends_on("root")
def url_for_version(self, version):
url = "http://sourceforge.net/projects/gatepet2stir/files/GATE_PET_2_STIR_{0}.tar.gz"
@@ -26,10 +26,10 @@ class Gatepet2stir(QMakePackage):
def qmake_args(self):
args = [
- 'QMAKE_LIBS=-ltcmalloc',
+ "QMAKE_LIBS=-ltcmalloc",
]
return args
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('GATE_PET_2_STIR', prefix.bin)
+ install("GATE_PET_2_STIR", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gatetools/package.py b/var/spack/repos/builtin/packages/gatetools/package.py
index 3f718faf45..78bfaddb88 100644
--- a/var/spack/repos/builtin/packages/gatetools/package.py
+++ b/var/spack/repos/builtin/packages/gatetools/package.py
@@ -10,32 +10,32 @@ class Gatetools(PythonPackage):
"""Python tools for GATE, see https://github.com/OpenGATE/Gate"""
homepage = "https://github.com/OpenGATE/GateTools"
- pypi = "gatetools/gatetools-0.9.14.tar.gz"
-
- maintainers = ['glennpj']
-
- version('0.11.2', sha256='6eef8a779278b862823ae79d6aab210db4f7889c9127b2c2e4c3a4195f9a9928')
- version('0.9.14', sha256='78fe864bb52fd4c6aeeee90d8f6c1bc5406ce02ac6f48712379efac606b5c006')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-pydicom', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-colored', type=('build', 'run'))
- depends_on('py-itk@5.1.0:', type=('build', 'run'))
- depends_on('py-uproot3', type=('build', 'run'))
- depends_on('py-wget', type=('build', 'run'))
- depends_on('py-python-box', type=('build', 'run'), when='@0.11.2:')
- depends_on('py-lz4', type=('build', 'run'), when='@0.11.2:')
- depends_on('py-colorama', type=('build', 'run'), when='@0.11.2:')
- depends_on('py-xxhash', type=('build', 'run'), when='@0.11.2:')
- depends_on('gate+rtk', type='run')
+ pypi = "gatetools/gatetools-0.9.14.tar.gz"
+
+ maintainers = ["glennpj"]
+
+ version("0.11.2", sha256="6eef8a779278b862823ae79d6aab210db4f7889c9127b2c2e4c3a4195f9a9928")
+ version("0.9.14", sha256="78fe864bb52fd4c6aeeee90d8f6c1bc5406ce02ac6f48712379efac606b5c006")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-pydicom", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-colored", type=("build", "run"))
+ depends_on("py-itk@5.1.0:", type=("build", "run"))
+ depends_on("py-uproot3", type=("build", "run"))
+ depends_on("py-wget", type=("build", "run"))
+ depends_on("py-python-box", type=("build", "run"), when="@0.11.2:")
+ depends_on("py-lz4", type=("build", "run"), when="@0.11.2:")
+ depends_on("py-colorama", type=("build", "run"), when="@0.11.2:")
+ depends_on("py-xxhash", type=("build", "run"), when="@0.11.2:")
+ depends_on("gate+rtk", type="run")
# The readme.md file is not in the distribution, so fake it.
- @run_before('install')
+ @run_before("install")
def readme(self):
- touch('readme.md')
+ touch("readme.md")
diff --git a/var/spack/repos/builtin/packages/gatk/package.py b/var/spack/repos/builtin/packages/gatk/package.py
index e662b65d59..6398341606 100644
--- a/var/spack/repos/builtin/packages/gatk/package.py
+++ b/var/spack/repos/builtin/packages/gatk/package.py
@@ -15,31 +15,39 @@ class Gatk(Package):
"""
homepage = "https://gatk.broadinstitute.org/hc/en-us"
- url = "https://github.com/broadinstitute/gatk/releases/download/4.2.2.0/gatk-4.2.2.0.zip"
+ url = "https://github.com/broadinstitute/gatk/releases/download/4.2.2.0/gatk-4.2.2.0.zip"
list_url = "https://github.com/broadinstitute/gatk/releases"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('4.2.6.1', sha256='1125cfc862301d437310506c8774d36c3a90d00d52c7b5d6b59dac7241203628')
- version('4.2.2.0', sha256='ddd902441d1874493796566159288e9df178714ac18216ba05092136db1497fd')
- version('4.1.8.1', sha256="42e6de5059232df1ad5785c68c39a53dc1b54afe7bb086d0129f4dc95fb182bc")
- version('4.1.8.0', sha256="3ce1c2a15c44d0cfc9b2c26111f4518c215a5f9314072b4eb61f07ab5d01eef6")
- version('4.1.7.0', sha256="1ed6f7c3194563a16c53b66e64d1b16d3f5e919d057d9e60f0ae6570eb0882e3")
- version('4.1.6.0', sha256="1a8a0256693c0e1fb83d87b6da4bad4a182bfc2a762394650b627a882694c306")
- version('4.1.5.0', sha256="6fc152c2cae0cc54c7c4cfdfd865a64f7054a820f7d02ca2549511af1dd9882b")
- version('4.1.4.1', sha256="21ae694cfc8b7447381ad5ce62ed4af22e53a228b12495bdcca7df0c73b09cea")
- version('4.1.4.0', sha256="ae54a2b938f704e15ea03d1822b4ce80d9a02108dc3a2b482d80b93edae3d492")
- version('4.1.3.0', sha256="56fd4f03b15a8a01eaa4629f62e3ab15e4d4b957c787efd2d5629b2658c3df0a")
- version('4.1.2.0', sha256="ffc5f9b3d4b35772ee5dac3060b59dc657f30e830745160671d84d732c30dc65")
- version('4.1.1.0', sha256="0d997aaf5c633643c07f0e5f74d0e20364a0f1304b04355bc6e073c65fab6554")
- version('4.1.0.0', sha256="148aa061328d922a570d0120d88f27e61e5da877f542206f4d77f2d788b7d21d")
- version('4.0.12.0', sha256="733134303f4961dec589247ff006612b7a94171fab8913c5d44c836aa086865f")
- version('4.0.11.0', sha256="5ee23159be7c65051335ac155444c6a49c4d8e3515d4227646c0686819934536")
- version('4.0.8.1', sha256="e4bb082d8c8826d4f8bc8c2f83811d0e81e5088b99099d3396d284f82fbf28c9")
- version('4.0.4.0', sha256="801bbb181c275cfabc96dc0cb21f3f901634cec11efde9ba9c8b91e2834feef4")
- version('3.8.1', sha256='a0829534d2d0ca3ebfbd3b524a9b50427ff238e0db400d6e9e479242d98cbe5c', extension="tar.bz2",
- url='https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2')
- version('3.8.0', sha256="d1017b851f0cc6442b75ac88dd438e58203fa3ef1d1c38eb280071ae3803b9f1", extension="tar.bz2",
- url='https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-0-ge9d806836.tar.bz2')
+ version("4.2.6.1", sha256="1125cfc862301d437310506c8774d36c3a90d00d52c7b5d6b59dac7241203628")
+ version("4.2.2.0", sha256="ddd902441d1874493796566159288e9df178714ac18216ba05092136db1497fd")
+ version("4.1.8.1", sha256="42e6de5059232df1ad5785c68c39a53dc1b54afe7bb086d0129f4dc95fb182bc")
+ version("4.1.8.0", sha256="3ce1c2a15c44d0cfc9b2c26111f4518c215a5f9314072b4eb61f07ab5d01eef6")
+ version("4.1.7.0", sha256="1ed6f7c3194563a16c53b66e64d1b16d3f5e919d057d9e60f0ae6570eb0882e3")
+ version("4.1.6.0", sha256="1a8a0256693c0e1fb83d87b6da4bad4a182bfc2a762394650b627a882694c306")
+ version("4.1.5.0", sha256="6fc152c2cae0cc54c7c4cfdfd865a64f7054a820f7d02ca2549511af1dd9882b")
+ version("4.1.4.1", sha256="21ae694cfc8b7447381ad5ce62ed4af22e53a228b12495bdcca7df0c73b09cea")
+ version("4.1.4.0", sha256="ae54a2b938f704e15ea03d1822b4ce80d9a02108dc3a2b482d80b93edae3d492")
+ version("4.1.3.0", sha256="56fd4f03b15a8a01eaa4629f62e3ab15e4d4b957c787efd2d5629b2658c3df0a")
+ version("4.1.2.0", sha256="ffc5f9b3d4b35772ee5dac3060b59dc657f30e830745160671d84d732c30dc65")
+ version("4.1.1.0", sha256="0d997aaf5c633643c07f0e5f74d0e20364a0f1304b04355bc6e073c65fab6554")
+ version("4.1.0.0", sha256="148aa061328d922a570d0120d88f27e61e5da877f542206f4d77f2d788b7d21d")
+ version("4.0.12.0", sha256="733134303f4961dec589247ff006612b7a94171fab8913c5d44c836aa086865f")
+ version("4.0.11.0", sha256="5ee23159be7c65051335ac155444c6a49c4d8e3515d4227646c0686819934536")
+ version("4.0.8.1", sha256="e4bb082d8c8826d4f8bc8c2f83811d0e81e5088b99099d3396d284f82fbf28c9")
+ version("4.0.4.0", sha256="801bbb181c275cfabc96dc0cb21f3f901634cec11efde9ba9c8b91e2834feef4")
+ version(
+ "3.8.1",
+ sha256="a0829534d2d0ca3ebfbd3b524a9b50427ff238e0db400d6e9e479242d98cbe5c",
+ extension="tar.bz2",
+ url="https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2",
+ )
+ version(
+ "3.8.0",
+ sha256="d1017b851f0cc6442b75ac88dd438e58203fa3ef1d1c38eb280071ae3803b9f1",
+ extension="tar.bz2",
+ url="https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-0-ge9d806836.tar.bz2",
+ )
# Make r a variant. According to the gatk docs it is not essential and not
# tested.
@@ -50,7 +58,7 @@ class Gatk(Package):
# R is still required by several of the unit tests. Plotting is currently
# untested and should be viewed as a convenience rather than a primary
# output.
- variant('r', default=False, description='Use R for plotting')
+ variant("r", default=False, description="Use R for plotting")
depends_on("java@8:", type="run")
depends_on("python@2.6:2.8,3.6:", type="run", when="@4.0:")
@@ -66,7 +74,7 @@ class Gatk(Package):
# Skip helper script for versions >4.0
if spec.satisfies("@4.0:"):
- set_executable('gatk')
+ set_executable("gatk")
install("gatk", prefix.bin)
else:
# Set up a helper script to call java on the jar file,
@@ -89,6 +97,4 @@ class Gatk(Package):
)
def setup_run_environment(self, env):
- env.prepend_path(
- "GATK", join_path(self.prefix.bin, "GenomeAnalysisTK.jar")
- )
+ env.prepend_path("GATK", join_path(self.prefix.bin, "GenomeAnalysisTK.jar"))
diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py
index 0a4e7110b8..1a33a4a1e1 100644
--- a/var/spack/repos/builtin/packages/gaudi/package.py
+++ b/var/spack/repos/builtin/packages/gaudi/package.py
@@ -11,36 +11,33 @@ class Gaudi(CMakePackage):
"""An experiment-independent HEP event data processing framework"""
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"
-
- tags = ['hep']
-
- version('master', branch='master')
- version('36.6', sha256='8fc7be0ce32f99cc6b0be4ebbb246f4bb5008ffbf0c012cb39c0aff813dce6af')
- version('36.5', sha256='593e0316118411a5c5fde5d4d87cbfc3d2bb748a8c72a66f4025498fcbdb0f7e')
- version('36.4', sha256='1a5c27cdc21ec136b47f5805406c92268163393c821107a24dbb47bd88e4b97d')
- version('36.3', sha256='9ac228d8609416afe4dea6445c6b3ccebac6fab1e46121fcc3a056e24a5d6640')
- version('36.2', sha256='a1b4bb597941a7a5b8d60382674f0b4ca5349c540471cd3d4454efbe7b9a09b9')
- version('36.1', sha256='9f718c832313676249e5c3ac76ba4346978ee2328f8cdcb29176498b080402e9')
- version('36.0', sha256='8a0458cef5b616532f9db7cca9fa0e892e602b64c9e93dc0cc6d972e03034830')
- version('35.0', sha256='c01b822f9592a7bf875b9997cbeb3c94dea97cb13d523c12649dbbf5d69b5fa6')
- version('34.0', sha256='28fc4abb5a6b08da5a6b1300451c7e8487f918b055939877219d454abf7668ae')
- version('33.2', sha256='26aaf9c4ff237a60ec79af9bd18ad249fc91c16e297ba77e28e4a256123db6e5')
- version('33.1', sha256='7eb6b2af64aeb965228d4b6ea66c7f9f57f832f93d5b8ad55c9105235af5b042')
- version('33.0', sha256='76a967c41f579acc432593d498875dd4dc1f8afd5061e692741a355a9cf233c8')
- version('32.2', sha256='e9ef3eb57fd9ac7b9d5647e278a84b2e6263f29f0b14dbe1321667d44d969d2e')
- version('31.0', commit='aeb156f0c40571b5753a9e1dab31e331491b2f3e')
- version('30.5', commit='2c70e73ee5b543b26197b90dd59ea4e4d359d230')
-
- maintainers = ['drbenmorgan', "vvolkl"]
-
- variant('optional', default=False,
- description='Build most optional components and tests')
- variant('docs', default=False,
- description='Build documentation with Doxygen')
- variant('vtune', default=False,
- description='Build with Intel VTune profiler support')
+ git = "https://gitlab.cern.ch/gaudi/Gaudi.git"
+ url = "https://gitlab.cern.ch/gaudi/Gaudi/-/archive/v33r1/Gaudi-v33r1.tar.gz"
+
+ tags = ["hep"]
+
+ version("master", branch="master")
+ version("36.6", sha256="8fc7be0ce32f99cc6b0be4ebbb246f4bb5008ffbf0c012cb39c0aff813dce6af")
+ version("36.5", sha256="593e0316118411a5c5fde5d4d87cbfc3d2bb748a8c72a66f4025498fcbdb0f7e")
+ version("36.4", sha256="1a5c27cdc21ec136b47f5805406c92268163393c821107a24dbb47bd88e4b97d")
+ version("36.3", sha256="9ac228d8609416afe4dea6445c6b3ccebac6fab1e46121fcc3a056e24a5d6640")
+ version("36.2", sha256="a1b4bb597941a7a5b8d60382674f0b4ca5349c540471cd3d4454efbe7b9a09b9")
+ version("36.1", sha256="9f718c832313676249e5c3ac76ba4346978ee2328f8cdcb29176498b080402e9")
+ version("36.0", sha256="8a0458cef5b616532f9db7cca9fa0e892e602b64c9e93dc0cc6d972e03034830")
+ version("35.0", sha256="c01b822f9592a7bf875b9997cbeb3c94dea97cb13d523c12649dbbf5d69b5fa6")
+ version("34.0", sha256="28fc4abb5a6b08da5a6b1300451c7e8487f918b055939877219d454abf7668ae")
+ version("33.2", sha256="26aaf9c4ff237a60ec79af9bd18ad249fc91c16e297ba77e28e4a256123db6e5")
+ version("33.1", sha256="7eb6b2af64aeb965228d4b6ea66c7f9f57f832f93d5b8ad55c9105235af5b042")
+ version("33.0", sha256="76a967c41f579acc432593d498875dd4dc1f8afd5061e692741a355a9cf233c8")
+ version("32.2", sha256="e9ef3eb57fd9ac7b9d5647e278a84b2e6263f29f0b14dbe1321667d44d969d2e")
+ version("31.0", commit="aeb156f0c40571b5753a9e1dab31e331491b2f3e")
+ version("30.5", commit="2c70e73ee5b543b26197b90dd59ea4e4d359d230")
+
+ maintainers = ["drbenmorgan", "vvolkl"]
+
+ variant("optional", default=False, description="Build most optional components and tests")
+ variant("docs", default=False, description="Build documentation with Doxygen")
+ variant("vtune", default=False, description="Build with Intel VTune profiler support")
# only build subdirectory GaudiExamples when +optional
patch("build_testing.patch", when="@:34")
@@ -49,86 +46,88 @@ class Gaudi(CMakePackage):
patch("link_target_fixes32.patch", when="@:32.2")
# These dependencies are needed for a minimal Gaudi build
- depends_on('aida')
- depends_on('boost@1.67.0: +python')
+ depends_on("aida")
+ depends_on("boost@1.67.0: +python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('clhep')
- depends_on('cmake', type='build')
- depends_on('cppgsl')
- depends_on('fmt', when='@33.2:')
- depends_on('intel-tbb')
- depends_on('uuid')
- depends_on('nlohmann-json', when="@35.0:")
- depends_on('python', type=('build', 'run'))
- depends_on('python@:3.7', when='@32.2:34', type=('build', 'run'))
- depends_on('python@:2', when='@:32.1', type=('build', 'run'))
- depends_on('py-setuptools@:45', when='^python@:2.7', type='build')
- depends_on('py-six', 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')
+ depends_on("clhep")
+ depends_on("cmake", type="build")
+ depends_on("cppgsl")
+ depends_on("fmt", when="@33.2:")
+ depends_on("intel-tbb")
+ depends_on("uuid")
+ depends_on("nlohmann-json", when="@35.0:")
+ depends_on("python", type=("build", "run"))
+ depends_on("python@:3.7", when="@32.2:34", type=("build", "run"))
+ depends_on("python@:2", when="@:32.1", type=("build", "run"))
+ depends_on("py-setuptools@:45", when="^python@:2.7", type="build")
+ depends_on("py-six", 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")
# todo: this should be a test dependency only,
- depends_on('py-nose', when="@35.0:36.1", type=('build', 'run'))
- depends_on('py-pytest', when='@36.2:', type=('build', 'run'))
+ depends_on("py-nose", when="@35.0:36.1", type=("build", "run"))
+ depends_on("py-pytest", when="@36.2:", type=("build", "run"))
# Adding these dependencies triggers the build of most optional components
- depends_on('cppgsl', when='+optional')
- depends_on('cppunit', when='+optional')
- depends_on('doxygen +graphviz', when='+docs')
- depends_on('gperftools', when='+optional')
- depends_on('gdb', when='+optional')
- depends_on('gsl', when='+optional')
- depends_on('heppdt@:2', when='+optional')
- depends_on('jemalloc', when='+optional')
- depends_on('libpng', when='+optional')
- depends_on('libunwind', when='+optional')
- depends_on('py-networkx@:2.2', when='+optional ^python@:2.7')
- depends_on('py-networkx', when='+optional ^python@3.0.0:')
- depends_on('py-setuptools', when='+optional')
- depends_on('py-nose', when='+optional')
- depends_on('relax', when='@:33 +optional')
- depends_on('xerces-c', when='+optional')
+ depends_on("cppgsl", when="+optional")
+ depends_on("cppunit", when="+optional")
+ depends_on("doxygen +graphviz", when="+docs")
+ depends_on("gperftools", when="+optional")
+ depends_on("gdb", when="+optional")
+ depends_on("gsl", when="+optional")
+ depends_on("heppdt@:2", when="+optional")
+ depends_on("jemalloc", when="+optional")
+ depends_on("libpng", when="+optional")
+ depends_on("libunwind", when="+optional")
+ depends_on("py-networkx@:2.2", when="+optional ^python@:2.7")
+ depends_on("py-networkx", when="+optional ^python@3.0.0:")
+ depends_on("py-setuptools", when="+optional")
+ depends_on("py-nose", when="+optional")
+ depends_on("relax", when="@:33 +optional")
+ depends_on("xerces-c", when="+optional")
# NOTE: pocl cannot be added as a minimal OpenCL implementation because
# ROOT does not like being exposed to LLVM symbols.
# The Intel VTune dependency is taken aside because it requires a license
- depends_on('intel-parallel-studio -mpi +vtune', when='+vtune')
+ depends_on("intel-parallel-studio -mpi +vtune", when="+vtune")
def cmake_args(self):
args = [
- self.define_from_variant("BUILD_TESTING", "optional"),
- self.define_from_variant("GAUDI_USE_AIDA", "optional"),
- self.define_from_variant("GAUDI_USE_CPPUNIT", "optional"),
- self.define_from_variant("GAUDI_USE_HEPPDT", "optional"),
- self.define_from_variant("GAUDI_USE_JEMALLOC", "optional"),
- self.define_from_variant("GAUDI_USE_UNWIND", "optional"),
- self.define_from_variant("GAUDI_USE_XERCESC", "optional"),
- self.define_from_variant("GAUDI_USE_DOXYGEN", "docs"),
+ self.define_from_variant("BUILD_TESTING", "optional"),
+ self.define_from_variant("GAUDI_USE_AIDA", "optional"),
+ self.define_from_variant("GAUDI_USE_CPPUNIT", "optional"),
+ self.define_from_variant("GAUDI_USE_HEPPDT", "optional"),
+ self.define_from_variant("GAUDI_USE_JEMALLOC", "optional"),
+ self.define_from_variant("GAUDI_USE_UNWIND", "optional"),
+ self.define_from_variant("GAUDI_USE_XERCESC", "optional"),
+ self.define_from_variant("GAUDI_USE_DOXYGEN", "docs"),
# needed to build core services like rndmsvc
self.define("GAUDI_USE_CLHEP", True),
- self.define("GAUDI_USE_PYTHON_MAJOR",
- str(self.spec['python'].version.up_to(1))),
+ self.define("GAUDI_USE_PYTHON_MAJOR", str(self.spec["python"].version.up_to(1))),
# todo:
- self.define("GAUDI_USE_INTELAMPLIFIER", False),
- self.define("GAUDI_USE_GPERFTOOLS", False), ]
+ self.define("GAUDI_USE_INTELAMPLIFIER", False),
+ self.define("GAUDI_USE_GPERFTOOLS", False),
+ ]
# this is not really used in spack builds, but needs to be set
- if self.spec.version < Version('34'):
+ if self.spec.version < Version("34"):
args.append("-DHOST_BINARY_TAG=x86_64-linux-gcc9-opt")
return args
def setup_run_environment(self, env):
# environment as in Gaudi.xenv
- env.prepend_path('PATH', self.prefix.scripts)
- env.prepend_path('PYTHONPATH', self.prefix.python)
+ env.prepend_path("PATH", self.prefix.scripts)
+ env.prepend_path("PYTHONPATH", self.prefix.python)
def url_for_version(self, version):
major = str(version[0])
minor = str(version[1])
- url = "https://gitlab.cern.ch/gaudi/Gaudi/-/archive/v{0}r{1}/Gaudi-v{0}r{1}.tar.gz".format(major, minor)
+ url = "https://gitlab.cern.ch/gaudi/Gaudi/-/archive/v{0}r{1}/Gaudi-v{0}r{1}.tar.gz".format(
+ major, minor
+ )
return url
diff --git a/var/spack/repos/builtin/packages/gaussian-src/package.py b/var/spack/repos/builtin/packages/gaussian-src/package.py
index 87b5e39346..4155601cc4 100644
--- a/var/spack/repos/builtin/packages/gaussian-src/package.py
+++ b/var/spack/repos/builtin/packages/gaussian-src/package.py
@@ -21,25 +21,26 @@ class GaussianSrc(Package):
homepage = "http://www.gaussian.com/"
manual_download = True
- maintainers = ['dev-zero']
+ maintainers = ["dev-zero"]
- version('16-C.01', sha256='c9eb73a9df5ca8705fcf2d7ce2d5f9aceb05ae663689f54c0a581c9d4d44fffb')
+ version("16-C.01", sha256="c9eb73a9df5ca8705fcf2d7ce2d5f9aceb05ae663689f54c0a581c9d4d44fffb")
- depends_on('tcsh', type='build')
+ depends_on("tcsh", type="build")
# All compilers except for pgi are in conflict:
for __compiler in spack.compilers.supported_compilers():
- if __compiler != 'pgi':
- conflicts('%{0}'.format(__compiler),
- msg='Gaussian can only be built with the PGI compiler')
+ if __compiler != "pgi":
+ conflicts(
+ "%{0}".format(__compiler), msg="Gaussian can only be built with the PGI compiler"
+ )
- patch('16-C.01-replace-deprecated-pgf77-with-pgfortran.patch', when='@16-C.01')
- patch('16-C.01-fix-building-c-code-with-pgcc.patch', when='@16-C.01')
- patch('16-C.01-fix-shebangs.patch', when='@16-C.01')
+ patch("16-C.01-replace-deprecated-pgf77-with-pgfortran.patch", when="@16-C.01")
+ patch("16-C.01-fix-building-c-code-with-pgcc.patch", when="@16-C.01")
+ patch("16-C.01-fix-shebangs.patch", when="@16-C.01")
@property
def g_name(self):
- return 'g{0}'.format(self.version.up_to(1))
+ return "g{0}".format(self.version.up_to(1))
@property
def g_root(self):
@@ -56,67 +57,71 @@ class GaussianSrc(Package):
for f in files:
os.rename(f, join_path(self.g_name, f))
- opts = ['all']
+ opts = ["all"]
# if spec.satisfies('+cuda'):
# opts += [spec.variants['cuda_family'].value]
with working_dir(self.g_name):
# can only build with tcsh
- tcsh = which('tcsh')
- tcsh('-c', 'source ${0}root/{0}/bsd/{0}.login ;'
- './bsd/bld{0} {1}'.format(self.g_name, ' '.join(opts)))
-
- install_tree('./bsd', self.g_root.bsd)
- install_tree('./basis', self.g_root.basis)
- install_tree('./doc', self.g_root.doc)
-
- for exe in glob.glob('*.exe'):
+ tcsh = which("tcsh")
+ tcsh(
+ "-c",
+ "source ${0}root/{0}/bsd/{0}.login ;"
+ "./bsd/bld{0} {1}".format(self.g_name, " ".join(opts)),
+ )
+
+ install_tree("./bsd", self.g_root.bsd)
+ install_tree("./basis", self.g_root.basis)
+ install_tree("./doc", self.g_root.doc)
+
+ for exe in glob.glob("*.exe"):
install(exe, self.g_root)
exes = [
self.g_name,
- 'gauopt',
- 'gauoptl',
- 'ghelp',
- 'newzmat',
- 'testrt',
- 'cubegen',
- 'cubman',
- 'c8616',
- 'ham506',
- 'rwfdump',
- 'freqchk',
- 'freqmem',
- 'formchk',
- 'demofc',
- 'chkchk',
- 'solname',
- 'gautraj',
- 'copychk',
- 'pluck',
- 'rdmat',
- 'wrmat',
- 'unfchk',
- 'gdrgen',
- 'trajgen',
- 'mm',
- 'grate',
+ "gauopt",
+ "gauoptl",
+ "ghelp",
+ "newzmat",
+ "testrt",
+ "cubegen",
+ "cubman",
+ "c8616",
+ "ham506",
+ "rwfdump",
+ "freqchk",
+ "freqmem",
+ "formchk",
+ "demofc",
+ "chkchk",
+ "solname",
+ "gautraj",
+ "copychk",
+ "pluck",
+ "rdmat",
+ "wrmat",
+ "unfchk",
+ "gdrgen",
+ "trajgen",
+ "mm",
+ "grate",
]
for exe in exes:
install(exe, self.g_root)
- @run_after('install')
+ @run_after("install")
def caveats(self):
- perm_script = 'spack_perms_fix.sh'
+ perm_script = "spack_perms_fix.sh"
perm_script_path = join_path(self.spec.prefix, perm_script)
- with open(perm_script_path, 'w') as f:
+ with open(perm_script_path, "w") as f:
env = spack.tengine.make_environment(dirs=self.package_dir)
- t = env.get_template(perm_script + '.j2')
- f.write(t.render({'prefix': self.g_root}))
- chmod = which('chmod')
- chmod('0555', perm_script_path)
+ t = env.get_template(perm_script + ".j2")
+ f.write(t.render({"prefix": self.g_root}))
+ chmod = which("chmod")
+ chmod("0555", perm_script_path)
- tty.warn("""
+ tty.warn(
+ """
For a working Gaussian installation, all executable files can only be accessible by
the owner and the group but not the world.
@@ -128,30 +133,32 @@ read through it and then execute it:
If you have to give others access, please customize the group membership of the package
files as documented here:
- https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions"""
- .format(perm_script_path))
+ https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions""".format(
+ perm_script_path
+ )
+ )
def setup_build_environment(self, env):
- env.set('{0}root'.format(self.g_name), self.stage.source_path)
+ env.set("{0}root".format(self.g_name), self.stage.source_path)
def setup_run_environment(self, env):
# defaults taken from G16's g16.profile
- env.set('GAUSS_LFLAGS2', '--LindaOptions -s 10000000')
- env.set('_DSM_BARRIER', 'SHM')
- env.set('PGI_TERM', 'trace,abort')
+ env.set("GAUSS_LFLAGS2", "--LindaOptions -s 10000000")
+ env.set("_DSM_BARRIER", "SHM")
+ env.set("PGI_TERM", "trace,abort")
- env.set('{0}root'.format(self.g_name), self.prefix)
+ env.set("{0}root".format(self.g_name), self.prefix)
- env.prepend_path('GAUSS_EXEDIR', self.g_root)
- env.prepend_path('GAUSS_EXEDIR', self.g_root.bsd)
+ env.prepend_path("GAUSS_EXEDIR", self.g_root)
+ env.prepend_path("GAUSS_EXEDIR", self.g_root.bsd)
- env.prepend_path('PATH', self.g_root)
- env.prepend_path('PATH', self.g_root.bsd)
+ env.prepend_path("PATH", self.g_root)
+ env.prepend_path("PATH", self.g_root.bsd)
- env.set('GAUSS_LEXEDIR', self.g_root.join('linda-exe'))
- env.set('GAUSS_ARCHDIR', self.g_root.arch)
- env.set('GAUSS_BSDDIR', self.g_root.bsd)
- env.set('G{0}BASIS'.format(self.version.up_to(1)), self.g_root.basis)
+ env.set("GAUSS_LEXEDIR", self.g_root.join("linda-exe"))
+ env.set("GAUSS_ARCHDIR", self.g_root.arch)
+ env.set("GAUSS_BSDDIR", self.g_root.bsd)
+ env.set("G{0}BASIS".format(self.version.up_to(1)), self.g_root.basis)
- env.prepend_path('LD_LIBRARY_PATH', self.g_root)
- env.prepend_path('LD_LIBRARY_PATH', self.g_root.bsd)
+ env.prepend_path("LD_LIBRARY_PATH", self.g_root)
+ env.prepend_path("LD_LIBRARY_PATH", self.g_root.bsd)
diff --git a/var/spack/repos/builtin/packages/gaussian-view/package.py b/var/spack/repos/builtin/packages/gaussian-view/package.py
index 24fe7175f5..eafd054f64 100644
--- a/var/spack/repos/builtin/packages/gaussian-view/package.py
+++ b/var/spack/repos/builtin/packages/gaussian-view/package.py
@@ -24,70 +24,73 @@ class GaussianView(Package):
homepage = "https://gaussian.com/gaussview6/"
manual_download = True
- maintainers = ['antoniokaust', 'dev-zero']
+ maintainers = ["antoniokaust", "dev-zero"]
- version('6.1.6',
- sha256='c9824fd0372c27425b53de350f3a83b27de75ca694219b3ef18cd7d92937db6c',
- extension='tbz')
+ version(
+ "6.1.6",
+ sha256="c9824fd0372c27425b53de350f3a83b27de75ca694219b3ef18cd7d92937db6c",
+ extension="tbz",
+ )
- version('6.0.16',
- '5dd6a8df8c81763e43a308b3a18d2d3b825d3597e9628dcf43e563d1867b9638',
- extension='tbz')
+ version(
+ "6.0.16",
+ "5dd6a8df8c81763e43a308b3a18d2d3b825d3597e9628dcf43e563d1867b9638",
+ extension="tbz",
+ )
variant(
- 'gaussian-src',
+ "gaussian-src",
default=False,
- description='Use gaussian-src instead of gaussian (prebuilt binary)'
+ description="Use gaussian-src instead of gaussian (prebuilt binary)",
)
- depends_on('gaussian@16-B.01', type='run', when='@:6.0')
+ depends_on("gaussian@16-B.01", type="run", when="@:6.0")
# TODO: add the checksum for gaussian@16-C.01 before uncommenting
# depends_on('gaussian@16-C.01', type='run', when='~gaussian-src@6.1:')
- depends_on('gaussian-src@16-C.01', type='run', when='+gaussian-src@6.1:')
+ depends_on("gaussian-src@16-C.01", type="run", when="+gaussian-src@6.1:")
- conflicts('+gaussian-src', when='@:6.0')
+ conflicts("+gaussian-src", when="@:6.0")
- depends_on('libx11', type=('run', 'link'))
- depends_on('libxext', type=('run', 'link'))
- depends_on('gl@3:', type=('run', 'link'))
- depends_on('glu@1.3', type=('run', 'link'))
- depends_on('libxrender', type=('run', 'link'))
- depends_on('libsm', type=('run', 'link'))
- depends_on('libice', type=('run', 'link'))
- depends_on('patchelf', type='build')
+ depends_on("libx11", type=("run", "link"))
+ depends_on("libxext", type=("run", "link"))
+ depends_on("gl@3:", type=("run", "link"))
+ depends_on("glu@1.3", type=("run", "link"))
+ depends_on("libxrender", type=("run", "link"))
+ depends_on("libsm", type=("run", "link"))
+ depends_on("libice", type=("run", "link"))
+ depends_on("patchelf", type="build")
def url_for_version(self, version):
- return "file://{0}/gv{1}-linux-x86_64.tbz".format(
- os.getcwd(),
- version.up_to(2).joined)
+ return "file://{0}/gv{1}-linux-x86_64.tbz".format(os.getcwd(), version.up_to(2).joined)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
# make sure the executable finds and uses the Spack-provided
# libraries, otherwise the executable may or may not run depending
# on what is installed on the host
# the $ORIGIN prefix is required for the executable to find its
# own bundled shared libraries
- patchelf = which('patchelf')
- rpath = '$ORIGIN:$ORIGIN/lib' + ':'.join(
+ patchelf = which("patchelf")
+ rpath = "$ORIGIN:$ORIGIN/lib" + ":".join(
self.spec[dep].libs.directories[0]
- for dep in ['libx11', 'libxext', 'libxrender', 'libice', 'libsm',
- 'gl', 'glu'])
- patchelf('--set-rpath', rpath, join_path(self.prefix, 'gview.exe'))
+ for dep in ["libx11", "libxext", "libxrender", "libice", "libsm", "gl", "glu"]
+ )
+ patchelf("--set-rpath", rpath, join_path(self.prefix, "gview.exe"))
- @run_after('install')
+ @run_after("install")
def caveats(self):
- perm_script = 'spack_perms_fix.sh'
+ perm_script = "spack_perms_fix.sh"
perm_script_path = join_path(self.spec.prefix.bin, perm_script)
- with open(perm_script_path, 'w') as f:
+ with open(perm_script_path, "w") as f:
env = spack.tengine.make_environment(dirs=self.package_dir)
- t = env.get_template(perm_script + '.j2')
- f.write(t.render({'prefix': self.spec.prefix}))
- chmod = which('chmod')
- chmod('0555', perm_script_path)
+ t = env.get_template(perm_script + ".j2")
+ f.write(t.render({"prefix": self.spec.prefix}))
+ chmod = which("chmod")
+ chmod("0555", perm_script_path)
- tty.warn("""
+ tty.warn(
+ """
For a working GaussianView installation, all executable files can only be accessible by
the owner and the group but not the world.
@@ -99,23 +102,25 @@ read through it and then execute it:
If you have to give others access, please customize the group membership of the package
files as documented here:
- https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions"""
- .format(perm_script_path))
+ https://spack.readthedocs.io/en/latest/build_settings.html#package-permissions""".format(
+ perm_script_path
+ )
+ )
- @when('@:6.0')
+ @when("@:6.0")
def setup_run_environment(self, env):
- env.set('GV_DIR', self.prefix)
+ env.set("GV_DIR", self.prefix)
- env.set('GV_LIB_PATH', self.prefix.lib)
- env.set('ALLOWINDIRECT', '1')
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('GV_LIB_PATH', self.prefix.lib.MesaGL)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib.MesaGL)
- env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
+ env.set("GV_LIB_PATH", self.prefix.lib)
+ env.set("ALLOWINDIRECT", "1")
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("GV_LIB_PATH", self.prefix.lib.MesaGL)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib.MesaGL)
+ env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins)
- @when('@6.1:')
+ @when("@6.1:")
def setup_run_environment(self, env):
- env.set('GV_DIR', self.prefix)
+ env.set("GV_DIR", self.prefix)
# the wrappers in gv/exec setup everything just nicely
- env.prepend_path('PATH', join_path(self.prefix, 'exec'))
+ env.prepend_path("PATH", join_path(self.prefix, "exec"))
diff --git a/var/spack/repos/builtin/packages/gaussian/package.py b/var/spack/repos/builtin/packages/gaussian/package.py
index b70ae79c54..41669dd379 100644
--- a/var/spack/repos/builtin/packages/gaussian/package.py
+++ b/var/spack/repos/builtin/packages/gaussian/package.py
@@ -13,61 +13,59 @@ class Gaussian(Package):
homepage = "http://www.gaussian.com/"
manual_download = True
- maintainers = ['antoniokaust']
+ maintainers = ["antoniokaust"]
- version('16-B.01', sha256='0b2cf60aa85d2c8c8e7547446e60e8e8cb67eec20e5f13c4a3e4e7616dcdf122')
- version('09-D.01', sha256='ef14885b5e334b6ec44a93bfd7225c634247dc946416af3087ab055bf05f54cd')
+ version("16-B.01", sha256="0b2cf60aa85d2c8c8e7547446e60e8e8cb67eec20e5f13c4a3e4e7616dcdf122")
+ version("09-D.01", sha256="ef14885b5e334b6ec44a93bfd7225c634247dc946416af3087ab055bf05f54cd")
- depends_on('tcsh')
+ depends_on("tcsh")
def patch(self):
- csh = join_path(self.spec['tcsh'].prefix.bin, 'csh')
- tcsh = join_path(self.spec['tcsh'].prefix.bin, 'tcsh')
- dirs = ['bsd', 'tests']
+ csh = join_path(self.spec["tcsh"].prefix.bin, "csh")
+ tcsh = join_path(self.spec["tcsh"].prefix.bin, "tcsh")
+ dirs = ["bsd", "tests"]
for d in dirs:
for f in next(os.walk(d))[2]:
- filter_file('^#!/bin/csh',
- '#!{0}'.format(csh), join_path(d, f))
- filter_file('^#!/bin/tcsh',
- '#!{0}'.format(tcsh), join_path(d, f))
+ filter_file("^#!/bin/csh", "#!{0}".format(csh), join_path(d, f))
+ filter_file("^#!/bin/tcsh", "#!{0}".format(tcsh), join_path(d, f))
@property
def ver(self):
- return self.version.string.split('-')[0]
+ return self.version.string.split("-")[0]
@property
def g_root(self):
- return join_path(self.prefix, 'g' + self.ver)
+ return join_path(self.prefix, "g" + self.ver)
@property
def g_bsd(self):
- return join_path(self.g_root, 'bsd')
+ return join_path(self.g_root, "bsd")
def url_for_version(self, version):
return "file://{0}/g{1}.tgz".format(os.getcwd(), version)
def install(self, spec, prefix):
- install_tree('.', self.g_root)
+ install_tree(".", self.g_root)
- @run_after('install')
+ @run_after("install")
def bsd_install(self):
with working_dir(self.g_root):
- bsd_install = Executable(join_path('bsd', 'install'))
+ bsd_install = Executable(join_path("bsd", "install"))
bsd_install()
def setup_run_environment(self, env):
- env.set('g' + self.ver + 'root', self.prefix)
+ env.set("g" + self.ver + "root", self.prefix)
- env.prepend_path('GAUSS_EXEDIR', self.g_root)
- env.prepend_path('GAUSS_EXEDIR', self.g_bsd)
+ env.prepend_path("GAUSS_EXEDIR", self.g_root)
+ env.prepend_path("GAUSS_EXEDIR", self.g_bsd)
- env.prepend_path('PATH', self.g_root)
- env.prepend_path('PATH', self.g_bsd)
+ env.prepend_path("PATH", self.g_root)
+ env.prepend_path("PATH", self.g_bsd)
- env.set('GAUSS_LEXEDIR', join_path(self.g_root, 'linda-exe'))
- env.set('GAUSS_ARCHDIR', join_path(self.g_root, 'arch'))
- env.set('GAUSS_BSDDIR', self.g_bsd)
- env.set('G' + self.ver + 'BASIS', join_path(self.g_root, 'basis'))
+ env.set("GAUSS_LEXEDIR", join_path(self.g_root, "linda-exe"))
+ env.set("GAUSS_ARCHDIR", join_path(self.g_root, "arch"))
+ env.set("GAUSS_BSDDIR", self.g_bsd)
+ env.set("G" + self.ver + "BASIS", join_path(self.g_root, "basis"))
- env.prepend_path('LD_LIBRARY_PATH', self.g_root)
- env.prepend_path('LD_LIBRARY_PATH', self.g_bsd)
+ env.prepend_path("LD_LIBRARY_PATH", self.g_root)
+ env.prepend_path("LD_LIBRARY_PATH", self.g_bsd)
diff --git a/var/spack/repos/builtin/packages/gawk/package.py b/var/spack/repos/builtin/packages/gawk/package.py
index c93dfe23aa..b99028cfe5 100644
--- a/var/spack/repos/builtin/packages/gawk/package.py
+++ b/var/spack/repos/builtin/packages/gawk/package.py
@@ -9,47 +9,47 @@ from spack.package import *
class Gawk(AutotoolsPackage, GNUMirrorPackage):
"""If you are like many computer users, you would frequently like to make
- changes in various text files wherever certain patterns appear, or
- extract data from parts of certain lines while discarding the
- rest. To write a program to do this in a language such as C or
- Pascal is a time-consuming inconvenience that may take many lines
- of code. The job is easy with awk, especially the GNU
- implementation: gawk.
-
- The awk utility interprets a special-purpose programming language
- that makes it possible to handle simple data-reformatting jobs
- with just a few lines of code.
+ changes in various text files wherever certain patterns appear, or
+ extract data from parts of certain lines while discarding the
+ rest. To write a program to do this in a language such as C or
+ Pascal is a time-consuming inconvenience that may take many lines
+ of code. The job is easy with awk, especially the GNU
+ implementation: gawk.
+
+ The awk utility interprets a special-purpose programming language
+ that makes it possible to handle simple data-reformatting jobs
+ with just a few lines of code.
"""
homepage = "https://www.gnu.org/software/gawk/"
gnu_mirror_path = "gawk/gawk-4.1.4.tar.xz"
- executables = ['^gawk$']
+ executables = ["^gawk$"]
- tags = ['build-tools', 'core-packages']
+ tags = ["build-tools", "core-packages"]
- version('5.1.1', sha256='d87629386e894bbea11a5e00515fc909dc9b7249529dad9e6a3a2c77085f7ea2')
- version('5.1.0', sha256='cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd')
- version('5.0.1', sha256='8e4e86f04ed789648b66f757329743a0d6dfb5294c3b91b756a474f1ce05a794')
- version('4.1.4', sha256='53e184e2d0f90def9207860531802456322be091c7b48f23fdc79cda65adc266')
+ version("5.1.1", sha256="d87629386e894bbea11a5e00515fc909dc9b7249529dad9e6a3a2c77085f7ea2")
+ version("5.1.0", sha256="cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd")
+ version("5.0.1", sha256="8e4e86f04ed789648b66f757329743a0d6dfb5294c3b91b756a474f1ce05a794")
+ version("4.1.4", sha256="53e184e2d0f90def9207860531802456322be091c7b48f23fdc79cda65adc266")
- variant('nls', default=False, description='Enable Native Language Support')
+ variant("nls", default=False, description="Enable Native Language Support")
- depends_on('gettext', when='+nls')
- depends_on('libsigsegv')
- depends_on('readline')
- depends_on('mpfr')
- depends_on('gmp')
+ depends_on("gettext", when="+nls")
+ depends_on("libsigsegv")
+ depends_on("readline")
+ depends_on("mpfr")
+ depends_on("gmp")
- provides('awk')
+ provides("awk")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU Awk\s+([\d\.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU Awk\s+([\d\.]+)", output)
return match.group(1) if match else None
def configure_args(self):
- return self.enable_or_disable('nls')
+ return self.enable_or_disable("nls")
diff --git a/var/spack/repos/builtin/packages/gbl/package.py b/var/spack/repos/builtin/packages/gbl/package.py
index 51d761996c..13014d11dc 100644
--- a/var/spack/repos/builtin/packages/gbl/package.py
+++ b/var/spack/repos/builtin/packages/gbl/package.py
@@ -10,22 +10,24 @@ class Gbl(CMakePackage):
"""General Broken Lines: Advanced track fitting library"""
homepage = "https://www.desy.de/~kleinwrt/GBL/doc/cpp/html/"
- git = "https://gitlab.desy.de/claus.kleinwort/general-broken-lines.git"
+ git = "https://gitlab.desy.de/claus.kleinwort/general-broken-lines.git"
- maintainers = ['iarspider']
- tags = ['hep']
+ maintainers = ["iarspider"]
+ tags = ["hep"]
- version('V02-04-01', commit="1061b643c6656fbf7ceba579997eb43f0a9e9d3c")
- version('V02-01-03', commit="8acaade19c20e9ef23d1244a555fead6ef149c33")
+ version("V02-04-01", commit="1061b643c6656fbf7ceba579997eb43f0a9e9d3c")
+ version("V02-01-03", commit="8acaade19c20e9ef23d1244a555fead6ef149c33")
- variant('root', default=True, description='Support ROOT for user I/O')
- depends_on('eigen', type=('build', 'link'))
- depends_on('root', type=('build', 'link'), when='+root')
+ variant("root", default=True, description="Support ROOT for user I/O")
+ depends_on("eigen", type=("build", "link"))
+ depends_on("root", type=("build", "link"), when="+root")
- root_cmakelists_dir = 'cpp'
+ root_cmakelists_dir = "cpp"
def cmake_args(self):
- eigen_inc = self.spec['eigen'].prefix.include.eigen3
- args = [self.define('EIGEN3_INCLUDE_DIR', eigen_inc),
- self.define_from_variant('SUPPORT_ROOT', 'root')]
+ eigen_inc = self.spec["eigen"].prefix.include.eigen3
+ args = [
+ self.define("EIGEN3_INCLUDE_DIR", eigen_inc),
+ self.define_from_variant("SUPPORT_ROOT", "root"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/gblocks/package.py b/var/spack/repos/builtin/packages/gblocks/package.py
index 1cca60ca69..03350bbebf 100644
--- a/var/spack/repos/builtin/packages/gblocks/package.py
+++ b/var/spack/repos/builtin/packages/gblocks/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Gblocks(Package):
"""Gblocks is a computer program written in ANSI C language that eliminates
- poorly aligned positions and divergent regions of an alignment of DNA or
- protein sequences"""
+ poorly aligned positions and divergent regions of an alignment of DNA or
+ protein sequences"""
homepage = "http://molevol.cmima.csic.es/castresana/Gblocks.html"
- url = "http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.tar.Z"
+ url = "http://molevol.cmima.csic.es/castresana/Gblocks/Gblocks_Linux64_0.91b.tar.Z"
- version('0.91b', sha256='563658f03cc5e76234a8aa705bdc149398defec813d3a0c172b5f94c06c880dc')
+ version("0.91b", sha256="563658f03cc5e76234a8aa705bdc149398defec813d3a0c172b5f94c06c880dc")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('Gblocks', prefix.bin)
+ install("Gblocks", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 01b1721939..793c4a221d 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -24,66 +24,66 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
"""The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, Ada, and Go, as well as libraries for these languages."""
- homepage = 'https://gcc.gnu.org'
- gnu_mirror_path = 'gcc/gcc-9.2.0/gcc-9.2.0.tar.xz'
- git = 'git://gcc.gnu.org/git/gcc.git'
- list_url = 'https://ftp.gnu.org/gnu/gcc/'
+ homepage = "https://gcc.gnu.org"
+ gnu_mirror_path = "gcc/gcc-9.2.0/gcc-9.2.0.tar.xz"
+ git = "git://gcc.gnu.org/git/gcc.git"
+ list_url = "https://ftp.gnu.org/gnu/gcc/"
list_depth = 1
- maintainers = ['michaelkuhn', 'alalazo']
-
- version('master', branch='master')
-
- version('12.1.0', sha256='62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b')
-
- version('11.3.0', sha256='b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39')
- version('11.2.0', sha256='d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b')
- version('11.1.0', sha256='4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf')
-
- version('10.4.0', sha256='c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1')
- version('10.3.0', sha256='64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344')
- version('10.2.0', sha256='b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c')
- version('10.1.0', sha256='b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2')
-
- version('9.5.0', sha256='27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f')
- version('9.4.0', sha256='c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e')
- version('9.3.0', sha256='71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1')
- version('9.2.0', sha256='ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206')
- version('9.1.0', sha256='79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0')
-
- version('8.5.0', sha256='d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50')
- version('8.4.0', sha256='e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4')
- version('8.3.0', sha256='64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c')
- version('8.2.0', sha256='196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080')
- version('8.1.0', sha256='1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153')
-
- version('7.5.0', sha256='b81946e7f01f90528a1f7352ab08cc602b9ccc05d4e44da4bd501c5a189ee661')
- version('7.4.0', sha256='eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51')
- version('7.3.0', sha256='832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c')
- version('7.2.0', sha256='1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a')
- version('7.1.0', sha256='8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17')
-
- version('6.5.0', sha256='7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945')
- version('6.4.0', sha256='850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4')
- version('6.3.0', sha256='f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f')
- version('6.2.0', sha256='9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5')
- version('6.1.0', sha256='09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351')
-
- version('5.5.0', sha256='530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87')
- version('5.4.0', sha256='608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a')
- version('5.3.0', sha256='b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db')
- version('5.2.0', sha256='5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad')
- version('5.1.0', sha256='b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad')
-
- version('4.9.4', sha256='6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092')
- version('4.9.3', sha256='2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e')
- version('4.9.2', sha256='2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd')
- version('4.9.1', sha256='d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e')
- version('4.8.5', sha256='22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23')
- version('4.8.4', sha256='4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695')
- version('4.7.4', sha256='92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282')
- version('4.6.4', sha256='35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8')
- version('4.5.4', sha256='eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc')
+ maintainers = ["michaelkuhn", "alalazo"]
+
+ version("master", branch="master")
+
+ version("12.1.0", sha256="62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b")
+
+ version("11.3.0", sha256="b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39")
+ version("11.2.0", sha256="d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b")
+ version("11.1.0", sha256="4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf")
+
+ version("10.4.0", sha256="c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1")
+ version("10.3.0", sha256="64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344")
+ version("10.2.0", sha256="b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c")
+ version("10.1.0", sha256="b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2")
+
+ version("9.5.0", sha256="27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f")
+ version("9.4.0", sha256="c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e")
+ version("9.3.0", sha256="71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1")
+ version("9.2.0", sha256="ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206")
+ version("9.1.0", sha256="79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0")
+
+ version("8.5.0", sha256="d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50")
+ version("8.4.0", sha256="e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4")
+ version("8.3.0", sha256="64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c")
+ version("8.2.0", sha256="196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080")
+ version("8.1.0", sha256="1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153")
+
+ version("7.5.0", sha256="b81946e7f01f90528a1f7352ab08cc602b9ccc05d4e44da4bd501c5a189ee661")
+ version("7.4.0", sha256="eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51")
+ version("7.3.0", sha256="832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c")
+ version("7.2.0", sha256="1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a")
+ version("7.1.0", sha256="8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17")
+
+ version("6.5.0", sha256="7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945")
+ version("6.4.0", sha256="850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4")
+ version("6.3.0", sha256="f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f")
+ version("6.2.0", sha256="9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5")
+ version("6.1.0", sha256="09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351")
+
+ version("5.5.0", sha256="530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87")
+ version("5.4.0", sha256="608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a")
+ version("5.3.0", sha256="b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db")
+ version("5.2.0", sha256="5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad")
+ version("5.1.0", sha256="b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad")
+
+ version("4.9.4", sha256="6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092")
+ version("4.9.3", sha256="2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e")
+ version("4.9.2", sha256="2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd")
+ version("4.9.1", sha256="d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e")
+ version("4.8.5", sha256="22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23")
+ version("4.8.4", sha256="4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695")
+ version("4.7.4", sha256="92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282")
+ version("4.6.4", sha256="35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8")
+ version("4.5.4", sha256="eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc")
# We specifically do not add 'all' variant here because:
# (i) Ada, Go, Jit, and Objective-C++ are not default languages.
@@ -93,104 +93,118 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# (iii) meaning of 'all' changes with GCC version, i.e. 'java' is not part
# of gcc7. Correctly specifying conflicts() and depends_on() in such a
# case is a PITA.
- variant('languages',
- default='c,c++,fortran',
- values=('ada', 'brig', 'c', 'c++', 'fortran',
- 'go', 'java', 'jit', 'lto', 'objc', 'obj-c++'),
- multi=True,
- description='Compilers and runtime libraries to build')
- variant('binutils',
- default=False,
- description='Build via binutils')
- variant('piclibs',
- default=False,
- description='Build PIC versions of libgfortran.a and libstdc++.a')
- variant('strip',
- default=False,
- description='Strip executables to reduce installation size')
- variant('nvptx',
- default=False,
- description='Target nvptx offloading to NVIDIA GPUs')
- variant('bootstrap',
- default=True,
- description='Enable 3-stage bootstrap')
- variant('graphite',
- default=False,
- description='Enable Graphite loop optimizations (requires ISL)')
- variant('build_type', default='RelWithDebInfo',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'),
- description='CMake-like build type. '
- 'Debug: -O0 -g; Release: -O3; '
- 'RelWithDebInfo: -O2 -g; MinSizeRel: -Os')
- variant('profiled', default=False, description='Use Profile Guided Optimization',
- when='+bootstrap %gcc')
-
- depends_on('flex', type='build', when='@master')
+ variant(
+ "languages",
+ default="c,c++,fortran",
+ values=(
+ "ada",
+ "brig",
+ "c",
+ "c++",
+ "fortran",
+ "go",
+ "java",
+ "jit",
+ "lto",
+ "objc",
+ "obj-c++",
+ ),
+ multi=True,
+ description="Compilers and runtime libraries to build",
+ )
+ variant("binutils", default=False, description="Build via binutils")
+ variant(
+ "piclibs", default=False, description="Build PIC versions of libgfortran.a and libstdc++.a"
+ )
+ variant("strip", default=False, description="Strip executables to reduce installation size")
+ variant("nvptx", default=False, description="Target nvptx offloading to NVIDIA GPUs")
+ variant("bootstrap", default=True, description="Enable 3-stage bootstrap")
+ variant(
+ "graphite", default=False, description="Enable Graphite loop optimizations (requires ISL)"
+ )
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ description="CMake-like build type. "
+ "Debug: -O0 -g; Release: -O3; "
+ "RelWithDebInfo: -O2 -g; MinSizeRel: -Os",
+ )
+ variant(
+ "profiled",
+ default=False,
+ description="Use Profile Guided Optimization",
+ when="+bootstrap %gcc",
+ )
+
+ depends_on("flex", type="build", when="@master")
# https://gcc.gnu.org/install/prerequisites.html
- depends_on('gmp@4.3.2:')
+ depends_on("gmp@4.3.2:")
# mawk is not sufficient for go support
- depends_on('gawk@3.1.5:', type='build')
- depends_on('texinfo@4.7:', type='build')
- depends_on('libtool', type='build')
+ depends_on("gawk@3.1.5:", type="build")
+ depends_on("texinfo@4.7:", type="build")
+ depends_on("libtool", type="build")
# dependencies required for git versions
- depends_on('m4@1.4.6:', when='@master', type='build')
- depends_on('automake@1.15.1:', when='@master', type='build')
- depends_on('autoconf@2.69:', when='@master', type='build')
+ depends_on("m4@1.4.6:", when="@master", type="build")
+ depends_on("automake@1.15.1:", when="@master", type="build")
+ depends_on("autoconf@2.69:", when="@master", type="build")
# GCC 7.3 does not compile with newer releases on some platforms, see
# https://github.com/spack/spack/issues/6902#issuecomment-433030376
- depends_on('mpfr@2.4.2:3.1.6', when='@:9.9')
- depends_on('mpfr@3.1.0:', when='@10:')
- depends_on('mpc@1.0.1:', when='@4.5:')
+ depends_on("mpfr@2.4.2:3.1.6", when="@:9.9")
+ depends_on("mpfr@3.1.0:", when="@10:")
+ depends_on("mpc@1.0.1:", when="@4.5:")
# Already released GCC versions do not support any newer version of ISL
# GCC 5.4 https://github.com/spack/spack/issues/6902#issuecomment-433072097
# GCC 7.3 https://github.com/spack/spack/issues/6902#issuecomment-433030376
# GCC 9+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724
- with when('+graphite'):
- depends_on('isl@0.14', when='@5.0:5.2')
- depends_on('isl@0.15', when='@5.3:5.9')
- depends_on('isl@0.15:0.18', when='@6:8.9')
- depends_on('isl@0.15:0.20', when='@9:9.9')
- depends_on('isl@0.15:', when='@10:')
-
- depends_on('zlib', when='@6:')
- depends_on('zstd', when='@10:')
- depends_on('diffutils', type='build')
- depends_on('iconv', when='platform=darwin')
- depends_on('gnat', when='languages=ada')
- depends_on('binutils+gas+ld+plugins~libiberty', when='+binutils', type=('build', 'link', 'run'))
- depends_on('zip', type='build', when='languages=java')
+ with when("+graphite"):
+ depends_on("isl@0.14", when="@5.0:5.2")
+ depends_on("isl@0.15", when="@5.3:5.9")
+ depends_on("isl@0.15:0.18", when="@6:8.9")
+ depends_on("isl@0.15:0.20", when="@9:9.9")
+ depends_on("isl@0.15:", when="@10:")
+
+ depends_on("zlib", when="@6:")
+ depends_on("zstd", when="@10:")
+ depends_on("diffutils", type="build")
+ depends_on("iconv", when="platform=darwin")
+ depends_on("gnat", when="languages=ada")
+ depends_on(
+ "binutils+gas+ld+plugins~libiberty", when="+binutils", type=("build", "link", "run")
+ )
+ depends_on("zip", type="build", when="languages=java")
# The server is sometimes a bit slow to respond
- timeout = {'timeout': 60}
+ timeout = {"timeout": 60}
# TODO: integrate these libraries.
# depends_on('ppl')
# depends_on('cloog')
# https://gcc.gnu.org/install/test.html
- depends_on('dejagnu@1.4.4', type='test')
- depends_on('expect', type='test')
- depends_on('tcl', type='test')
- depends_on('autogen@5.5.4:', type='test')
- depends_on('guile@1.4.1:', type='test')
+ depends_on("dejagnu@1.4.4", type="test")
+ depends_on("expect", type="test")
+ depends_on("tcl", type="test")
+ depends_on("autogen@5.5.4:", type="test")
+ depends_on("guile@1.4.1:", type="test")
# See https://golang.org/doc/install/gccgo#Releases
- with when('languages=go'):
- provides('golang', when='@4.6:')
- provides('golang@:1', when='@4.7.1:')
- provides('golang@:1.1', when='@4.8:')
- provides('golang@:1.1.2', when='@4.8.2:')
- provides('golang@:1.2', when='@4.9:')
- provides('golang@:1.4', when='@5:')
- provides('golang@:1.6.1', when='@6:')
- provides('golang@:1.8', when='@7:')
+ with when("languages=go"):
+ provides("golang", when="@4.6:")
+ provides("golang@:1", when="@4.7.1:")
+ provides("golang@:1.1", when="@4.8:")
+ provides("golang@:1.1.2", when="@4.8.2:")
+ provides("golang@:1.2", when="@4.9:")
+ provides("golang@:1.4", when="@5:")
+ provides("golang@:1.6.1", when="@6:")
+ provides("golang@:1.8", when="@7:")
# GCC 4.6 added support for the Go programming language.
# See https://gcc.gnu.org/gcc-4.6/changes.html
- conflicts('@:4.5', msg='support for Go has been added in GCC 4.6')
+ conflicts("@:4.5", msg="support for Go has been added in GCC 4.6")
# Go is not supported on macOS
- conflicts('platform=darwin', msg='Go not supported on MacOS')
+ conflicts("platform=darwin", msg="Go not supported on MacOS")
# For a list of valid languages for a specific release,
# run the following command in the GCC source directory:
@@ -201,161 +215,176 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# BRIG is a binary format for HSAIL:
# (Heterogeneous System Architecture Intermediate Language).
# See https://gcc.gnu.org/gcc-7/changes.html
- conflicts('languages=brig', when='@:6')
+ conflicts("languages=brig", when="@:6")
# BRIG does not seem to be supported on macOS
- conflicts('languages=brig', when='platform=darwin')
+ conflicts("languages=brig", when="platform=darwin")
# GCC 4.8 added a 'c' language. I'm sure C was always built,
# but this is the first version that accepts 'c' as a valid language.
- conflicts('languages=c', when='@:4.7')
+ conflicts("languages=c", when="@:4.7")
# The GCC Java frontend and associated libjava runtime library
# have been removed from GCC as of GCC 7.
# See https://gcc.gnu.org/gcc-7/changes.html
- conflicts('languages=java', when='@7:')
+ conflicts("languages=java", when="@7:")
# GCC 5 added the ability to build GCC as a Just-In-Time compiler.
# See https://gcc.gnu.org/gcc-5/changes.html
- conflicts('languages=jit', when='@:4')
+ conflicts("languages=jit", when="@:4")
- with when('+nvptx'):
- depends_on('cuda')
+ with when("+nvptx"):
+ depends_on("cuda")
resource(
- name='newlib',
- url='ftp://sourceware.org/pub/newlib/newlib-3.0.0.20180831.tar.gz',
- sha256='3ad3664f227357df15ff34e954bfd9f501009a647667cd307bf0658aefd6eb5b',
- destination='newlibsource',
- fetch_options=timeout
+ name="newlib",
+ url="ftp://sourceware.org/pub/newlib/newlib-3.0.0.20180831.tar.gz",
+ sha256="3ad3664f227357df15ff34e954bfd9f501009a647667cd307bf0658aefd6eb5b",
+ destination="newlibsource",
+ fetch_options=timeout,
)
# nvptx-tools does not seem to work as a dependency,
# but does fine when the source is inside the gcc build directory
# nvptx-tools doesn't have any releases, so grabbing the last commit
resource(
- name='nvptx-tools',
- git='https://github.com/MentorEmbedded/nvptx-tools',
- commit='d0524fbdc86dfca068db5a21cc78ac255b335be5',
+ name="nvptx-tools",
+ git="https://github.com/MentorEmbedded/nvptx-tools",
+ commit="d0524fbdc86dfca068db5a21cc78ac255b335be5",
)
# NVPTX offloading supported in 7 and later by limited languages
- conflicts('@:6', msg='NVPTX only supported in gcc 7 and above')
- conflicts('languages=ada')
- conflicts('languages=brig')
- conflicts('languages=go')
- conflicts('languages=java')
- conflicts('languages=jit')
- conflicts('languages=objc')
- conflicts('languages=obj-c++')
+ conflicts("@:6", msg="NVPTX only supported in gcc 7 and above")
+ conflicts("languages=ada")
+ conflicts("languages=brig")
+ conflicts("languages=go")
+ conflicts("languages=java")
+ conflicts("languages=jit")
+ conflicts("languages=objc")
+ conflicts("languages=obj-c++")
# NVPTX build disables bootstrap
- conflicts('+bootstrap')
+ conflicts("+bootstrap")
# Binutils can't build ld on macOS
- conflicts('+binutils', when='platform=darwin')
+ conflicts("+binutils", when="platform=darwin")
# Bootstrap comparison failure:
# see https://github.com/spack/spack/issues/23296
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100340
# on XCode 12.5
- conflicts('+bootstrap', when='@:11.1 %apple-clang@12.0.5')
+ conflicts("+bootstrap", when="@:11.1 %apple-clang@12.0.5")
# aarch64/M1 is supported in GCC 12+
- conflicts('@:11.2,11.3.1:', when='target=aarch64: platform=darwin',
- msg='Only GCC 11.3.0 supports macOS M1 (aarch64)')
+ conflicts(
+ "@:11.2,11.3.1:",
+ when="target=aarch64: platform=darwin",
+ msg="Only GCC 11.3.0 supports macOS M1 (aarch64)",
+ )
# Newer binutils than RHEL's is required to run `as` on some instructions
# generated by new GCC (see https://github.com/spack/spack/issues/12235)
- conflicts('~binutils', when='@7: os=rhel6',
- msg='New GCC cannot use system assembler on RHEL6')
+ conflicts("~binutils", when="@7: os=rhel6", msg="New GCC cannot use system assembler on RHEL6")
# GCC 11 requires GCC 4.8 or later (https://gcc.gnu.org/gcc-11/changes.html)
- conflicts('%gcc@:4.7', when='@11:')
+ conflicts("%gcc@:4.7", when="@11:")
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
# Fix parallel build on APFS filesystem
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
- if macos_version() >= Version('10.13'):
- patch('darwin/apfs.patch', when='@5.5.0,6.1:6.4,7.1:7.3')
+ if macos_version() >= Version("10.13"):
+ patch("darwin/apfs.patch", when="@5.5.0,6.1:6.4,7.1:7.3")
# from homebrew via macports
# https://trac.macports.org/ticket/56502#no1
# see also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531
- patch('darwin/headers-10.13-fix.patch', when='@5.5.0')
- if macos_version() >= Version('10.14'):
+ patch("darwin/headers-10.13-fix.patch", when="@5.5.0")
+ if macos_version() >= Version("10.14"):
# Fix system headers for Mojave SDK:
# https://github.com/Homebrew/homebrew-core/pull/39041
- patch('https://raw.githubusercontent.com/Homebrew/formula-patches/b8b8e65e/gcc/8.3.0-xcode-bug-_Atomic-fix.patch',
- sha256='33ee92bf678586357ee8ab9d2faddf807e671ad37b97afdd102d5d153d03ca84',
- when='@6:8.3')
- if macos_version() >= Version('10.15'):
+ patch(
+ "https://raw.githubusercontent.com/Homebrew/formula-patches/b8b8e65e/gcc/8.3.0-xcode-bug-_Atomic-fix.patch",
+ sha256="33ee92bf678586357ee8ab9d2faddf807e671ad37b97afdd102d5d153d03ca84",
+ when="@6:8.3",
+ )
+ if macos_version() >= Version("10.15"):
# Fix system headers for Catalina SDK
# (otherwise __OSX_AVAILABLE_STARTING ends up undefined)
- patch('https://raw.githubusercontent.com/Homebrew/formula-patches/b8b8e65e/gcc/9.2.0-catalina.patch',
- sha256='0b8d14a7f3c6a2f0d2498526e86e088926671b5da50a554ffa6b7f73ac4f132b', when='@9.2.0')
+ patch(
+ "https://raw.githubusercontent.com/Homebrew/formula-patches/b8b8e65e/gcc/9.2.0-catalina.patch",
+ sha256="0b8d14a7f3c6a2f0d2498526e86e088926671b5da50a554ffa6b7f73ac4f132b",
+ when="@9.2.0",
+ )
# See https://raw.githubusercontent.com/Homebrew/homebrew-core/3b7db4457ac64a31e3bbffc54b04c4bd824a4a4a/Formula/gcc.rb
- patch('https://github.com/iains/gcc-darwin-arm64/commit/20f61faaed3b335d792e38892d826054d2ac9f15.patch?full_index=1',
- sha256='c0605179a856ca046d093c13cea4d2e024809ec2ad4bf3708543fc3d2e60504b', when='@11.2.0')
+ patch(
+ "https://github.com/iains/gcc-darwin-arm64/commit/20f61faaed3b335d792e38892d826054d2ac9f15.patch?full_index=1",
+ sha256="c0605179a856ca046d093c13cea4d2e024809ec2ad4bf3708543fc3d2e60504b",
+ when="@11.2.0",
+ )
# Apple M1 support, created from branch of Darwin maintainer for GCC:
# https://github.com/iains/gcc-11-branch
- patch('https://raw.githubusercontent.com/Homebrew/formula-patches/22dec3fc/gcc/gcc-11.3.0-arm.diff',
- sha256='e02006b7ec917cc1390645d95735a6a866caed0dfe506d5bef742f7862cab218',
- when='@11.3.0 target=aarch64:')
- conflicts('+bootstrap', when='@11.3.0 target=aarch64:')
+ patch(
+ "https://raw.githubusercontent.com/Homebrew/formula-patches/22dec3fc/gcc/gcc-11.3.0-arm.diff",
+ sha256="e02006b7ec917cc1390645d95735a6a866caed0dfe506d5bef742f7862cab218",
+ when="@11.3.0 target=aarch64:",
+ )
+ conflicts("+bootstrap", when="@11.3.0 target=aarch64:")
# Use -headerpad_max_install_names in the build,
# otherwise updated load commands won't fit in the Mach-O header.
# This is needed because `gcc` avoids the superenv shim.
- patch('darwin/gcc-7.1.0-headerpad.patch', when='@5:11.2')
- patch('darwin/gcc-6.1.0-jit.patch', when='@5:7')
- patch('darwin/gcc-4.9.patch1', when='@4.9.0:4.9.3')
- patch('darwin/gcc-4.9.patch2', when='@4.9.0:4.9.3')
+ patch("darwin/gcc-7.1.0-headerpad.patch", when="@5:11.2")
+ patch("darwin/gcc-6.1.0-jit.patch", when="@5:7")
+ patch("darwin/gcc-4.9.patch1", when="@4.9.0:4.9.3")
+ patch("darwin/gcc-4.9.patch2", when="@4.9.0:4.9.3")
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92061
- patch('darwin/clang13.patch', when='@:11.1 %apple-clang@13')
+ patch("darwin/clang13.patch", when="@:11.1 %apple-clang@13")
- patch('piclibs.patch', when='+piclibs')
- patch('gcc-backport.patch', when='@4.7:4.9.3,5:5.3')
+ patch("piclibs.patch", when="+piclibs")
+ patch("gcc-backport.patch", when="@4.7:4.9.3,5:5.3")
# Backport libsanitizer patch for glibc >= 2.31 and 5.3.0 <= gcc <= 9.2.0
# https://bugs.gentoo.org/708346
- patch('glibc-2.31-libsanitizer-1.patch', when='@7.1.0:7.5.0,8.1.0:8.3.0,9.0.0:9.2.0')
- patch('glibc-2.31-libsanitizer-1-gcc-6.patch', when='@5.3.0:5.5.0,6.1.0:6.5.0')
- patch('glibc-2.31-libsanitizer-2.patch', when='@8.1.0:8.3.0,9.0.0:9.2.0')
- patch('glibc-2.31-libsanitizer-2-gcc-6.patch', when='@5.3.0:5.5.0,6.1.0:6.5.0')
- patch('glibc-2.31-libsanitizer-2-gcc-7.patch', when='@7.1.0:7.5.0')
- patch('patch-2b40941d23b1570cdd90083b58fa0f66aa58c86e.patch', when='@6.5.0,7.4.0:7.5.0,8.2.0:9.3.0')
- patch('patch-745dae5923aba02982563481d75a21595df22ff8.patch', when='@10.1.0:10.3.0,11.1.0')
+ patch("glibc-2.31-libsanitizer-1.patch", when="@7.1.0:7.5.0,8.1.0:8.3.0,9.0.0:9.2.0")
+ patch("glibc-2.31-libsanitizer-1-gcc-6.patch", when="@5.3.0:5.5.0,6.1.0:6.5.0")
+ patch("glibc-2.31-libsanitizer-2.patch", when="@8.1.0:8.3.0,9.0.0:9.2.0")
+ patch("glibc-2.31-libsanitizer-2-gcc-6.patch", when="@5.3.0:5.5.0,6.1.0:6.5.0")
+ patch("glibc-2.31-libsanitizer-2-gcc-7.patch", when="@7.1.0:7.5.0")
+ patch(
+ "patch-2b40941d23b1570cdd90083b58fa0f66aa58c86e.patch",
+ when="@6.5.0,7.4.0:7.5.0,8.2.0:9.3.0",
+ )
+ patch("patch-745dae5923aba02982563481d75a21595df22ff8.patch", when="@10.1.0:10.3.0,11.1.0")
# Older versions do not compile with newer versions of glibc
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
- patch('ucontext_t.patch', when='@4.9,5.1:5.4,6.1:6.4,7.1')
- patch('ucontext_t-java.patch', when='@4.9,5.1:5.4,6.1:6.4 languages=java')
+ patch("ucontext_t.patch", when="@4.9,5.1:5.4,6.1:6.4,7.1")
+ patch("ucontext_t-java.patch", when="@4.9,5.1:5.4,6.1:6.4 languages=java")
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81066
- patch('stack_t-4.9.patch', when='@4.9')
- patch('stack_t.patch', when='@5.1:5.4,6.1:6.4,7.1')
+ patch("stack_t-4.9.patch", when="@4.9")
+ patch("stack_t.patch", when="@5.1:5.4,6.1:6.4,7.1")
# https://bugs.busybox.net/show_bug.cgi?id=10061
- patch('signal.patch', when='@4.9,5.1:5.4')
+ patch("signal.patch", when="@4.9,5.1:5.4")
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85835
- patch('sys_ustat.h.patch', when='@5.0:6.4,7.0:7.3,8.1')
- patch('sys_ustat-4.9.patch', when='@4.9')
+ patch("sys_ustat.h.patch", when="@5.0:6.4,7.0:7.3,8.1")
+ patch("sys_ustat-4.9.patch", when="@4.9")
# this patch removes cylades support from gcc-5 and allows gcc-5 to be built
# with newer glibc versions.
- patch('glibc-2.31-libsanitizer-3-gcc-5.patch', when='@5.3.0:5.5.0')
+ patch("glibc-2.31-libsanitizer-3-gcc-5.patch", when="@5.3.0:5.5.0")
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95005
- patch('zstd.patch', when='@10')
+ patch("zstd.patch", when="@10")
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100102
- patch('patch-fc930b3010bd0de899a3da3209eab20664ddb703.patch', when='@10.1:10.3')
- patch('patch-f1feb74046e0feb0596b93bbb822fae02940a90e.patch', when='@11.1')
+ patch("patch-fc930b3010bd0de899a3da3209eab20664ddb703.patch", when="@10.1:10.3")
+ patch("patch-f1feb74046e0feb0596b93bbb822fae02940a90e.patch", when="@11.1")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
@classproperty
def executables(cls):
- names = [r'gcc', r'[^\w]?g\+\+', r'gfortran']
- suffixes = [r'', r'-mp-\d+\.\d', r'-\d+\.\d', r'-\d+', r'\d\d']
- return [r''.join(x) for x in itertools.product(names, suffixes)]
+ names = [r"gcc", r"[^\w]?g\+\+", r"gfortran"]
+ suffixes = [r"", r"-mp-\d+\.\d", r"-\d+\.\d", r"-\d+", r"\d\d"]
+ return [r"".join(x) for x in itertools.product(names, suffixes)]
@classmethod
def filter_detected_exes(cls, prefix, exes_in_prefix):
@@ -366,19 +395,19 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# https://helpmanual.io/packages/apt/gcc/
basename = os.path.basename(exe)
substring_to_be_filtered = [
- 'c99-gcc',
- 'c89-gcc',
- '-nm',
- '-ar',
- 'ranlib',
- 'clang' # clang++ matches g++ -> clan[g++]
+ "c99-gcc",
+ "c89-gcc",
+ "-nm",
+ "-ar",
+ "ranlib",
+ "clang", # clang++ matches g++ -> clan[g++]
]
if any(x in basename for x in substring_to_be_filtered):
continue
# Filter out links in favor of real executables on
# all systems but Cray
host_platform = str(spack.platforms.host())
- if os.path.islink(exe) and host_platform != 'cray':
+ if os.path.islink(exe) and host_platform != "cray":
continue
result.append(exe)
@@ -388,18 +417,16 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
@classmethod
def determine_version(cls, exe):
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '--version'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "--version")
except Exception:
- output = ''
+ output = ""
# Apple's gcc is actually apple clang, so skip it.
# Users can add it manually to compilers.yaml at their own risk.
- if 'Apple' in output:
+ if "Apple" in output:
return None
- version_regex = re.compile(r'([\d\.]+)')
- for vargs in ('-dumpfullversion', '-dumpversion'):
+ version_regex = re.compile(r"([\d\.]+)")
+ for vargs in ("-dumpfullversion", "-dumpversion"):
try:
output = spack.compiler.get_compiler_version_output(exe, vargs)
match = version_regex.search(output)
@@ -417,33 +444,34 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
languages, compilers = set(), {}
for exe in exes:
basename = os.path.basename(exe)
- if 'g++' in basename:
- languages.add('c++')
- compilers['cxx'] = exe
- elif 'gfortran' in basename:
- languages.add('fortran')
- compilers['fortran'] = exe
- elif 'gcc' in basename:
- languages.add('c')
- compilers['c'] = exe
- variant_str = 'languages={0}'.format(','.join(languages))
- return variant_str, {'compilers': compilers}
+ if "g++" in basename:
+ languages.add("c++")
+ compilers["cxx"] = exe
+ elif "gfortran" in basename:
+ languages.add("fortran")
+ compilers["fortran"] = exe
+ elif "gcc" in basename:
+ languages.add("c")
+ compilers["c"] = exe
+ variant_str = "languages={0}".format(",".join(languages))
+ return variant_str, {"compilers": compilers}
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
# For GCC 'compilers' is a mandatory attribute
- msg = ('the extra attribute "compilers" must be set for '
- 'the detected spec "{0}"'.format(spec))
- assert 'compilers' in extra_attributes, msg
+ msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
+ spec
+ )
+ assert "compilers" in extra_attributes, msg
- compilers = extra_attributes['compilers']
+ compilers = extra_attributes["compilers"]
for constraint, key in {
- 'languages=c': 'c',
- 'languages=c++': 'cxx',
- 'languages=fortran': 'fortran'
+ "languages=c": "c",
+ "languages=c++": "cxx",
+ "languages=fortran": "fortran",
}.items():
if spec.satisfies(constraint, strict=True):
- msg = '{0} not in {1}'
+ msg = "{0} not in {1}"
assert key in compilers, msg.format(key, spec)
@property
@@ -451,9 +479,9 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('c', None)
+ return self.spec.extra_attributes["compilers"].get("c", None)
result = None
- if 'languages=c' in self.spec:
+ if "languages=c" in self.spec:
result = str(self.spec.prefix.bin.gcc)
return result
@@ -462,10 +490,10 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('cxx', None)
+ return self.spec.extra_attributes["compilers"].get("cxx", None)
result = None
- if 'languages=c++' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'g++')
+ if "languages=c++" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "g++")
return result
@property
@@ -473,9 +501,9 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fortran', None)
+ return self.spec.extra_attributes["compilers"].get("fortran", None)
result = None
- if 'languages=fortran' in self.spec:
+ if "languages=fortran" in self.spec:
result = str(self.spec.prefix.bin.gfortran)
return result
@@ -484,9 +512,10 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# mirrors are tried. It takes care of modifying the suffix of gnu
# mirror path so that Spack will also look for the correct file in
# the mirrors
- if (version < Version('6.4.0') and version != Version('5.5.0')) \
- or version == Version('7.1.0'):
- self.gnu_mirror_path = self.gnu_mirror_path.replace('xz', 'bz2')
+ if (version < Version("6.4.0") and version != Version("5.5.0")) or version == Version(
+ "7.1.0"
+ ):
+ self.gnu_mirror_path = self.gnu_mirror_path.replace("xz", "bz2")
return super(Gcc, self).url_for_version(version)
def patch(self):
@@ -495,37 +524,41 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# Fix a standard header file for OS X Yosemite that
# is GCC incompatible by replacing non-GCC compliant macros
- if 'yosemite' in spec.architecture:
- if os.path.isfile('/usr/include/dispatch/object.h'):
- new_dispatch_dir = join_path(prefix, 'include', 'dispatch')
+ if "yosemite" in spec.architecture:
+ if os.path.isfile("/usr/include/dispatch/object.h"):
+ new_dispatch_dir = join_path(prefix, "include", "dispatch")
mkdirp(new_dispatch_dir)
- new_header = join_path(new_dispatch_dir, 'object.h')
- install('/usr/include/dispatch/object.h', new_header)
- filter_file(r'typedef void \(\^dispatch_block_t\)\(void\)',
- 'typedef void* dispatch_block_t',
- new_header)
+ new_header = join_path(new_dispatch_dir, "object.h")
+ install("/usr/include/dispatch/object.h", new_header)
+ filter_file(
+ r"typedef void \(\^dispatch_block_t\)\(void\)",
+ "typedef void* dispatch_block_t",
+ new_header,
+ )
# Use installed libz
- if self.version >= Version('6'):
- filter_file('@zlibdir@',
- '-L{0}'.format(spec['zlib'].prefix.lib),
- 'gcc/Makefile.in')
- filter_file('@zlibinc@',
- '-I{0}'.format(spec['zlib'].prefix.include),
- 'gcc/Makefile.in')
-
- if spec.satisfies('+nvptx'):
+ if self.version >= Version("6"):
+ filter_file("@zlibdir@", "-L{0}".format(spec["zlib"].prefix.lib), "gcc/Makefile.in")
+ filter_file(
+ "@zlibinc@", "-I{0}".format(spec["zlib"].prefix.include), "gcc/Makefile.in"
+ )
+
+ if spec.satisfies("+nvptx"):
# backport of 383400a6078d upstream to allow support of cuda@11:
- filter_file('#define ASM_SPEC "%{misa=*:-m %*}"',
- '#define ASM_SPEC "%{misa=*:-m %*; :-m sm_35}"',
- 'gcc/config/nvptx/nvptx.h',
- string=True)
- filter_file('Target RejectNegative ToLower Joined '
- 'Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM30)',
- 'Target RejectNegative ToLower Joined '
- 'Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM35)',
- 'gcc/config/nvptx/nvptx.opt',
- string=True)
+ filter_file(
+ '#define ASM_SPEC "%{misa=*:-m %*}"',
+ '#define ASM_SPEC "%{misa=*:-m %*; :-m sm_35}"',
+ "gcc/config/nvptx/nvptx.h",
+ string=True,
+ )
+ filter_file(
+ "Target RejectNegative ToLower Joined "
+ "Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM30)",
+ "Target RejectNegative ToLower Joined "
+ "Enum(ptx_isa) Var(ptx_isa_option) Init(PTX_ISA_SM35)",
+ "gcc/config/nvptx/nvptx.opt",
+ string=True,
+ )
self.build_optimization_config()
def get_common_target_flags(self, spec):
@@ -535,48 +568,48 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
archs = [spec.target] + spec.target.ancestors
for arch in archs:
try:
- return arch.optimization_flags('gcc', spec.version)
+ return arch.optimization_flags("gcc", spec.version)
except UnsupportedMicroarchitecture:
pass
# no arch specific flags in common, unlikely to happen.
- return ''
+ return ""
def build_optimization_config(self):
"""Write a config/spack.mk file with sensible optimization flags, taking into
account bootstrapping subtleties."""
build_type_flags = {
- 'Debug': '-O0 -g',
- 'Release': '-O3',
- 'RelWithDebInfo': '-O2 -g',
- 'MinSizeRel': '-Os'
+ "Debug": "-O0 -g",
+ "Release": "-O3",
+ "RelWithDebInfo": "-O2 -g",
+ "MinSizeRel": "-Os",
}
# Generic optimization flags.
- flags = build_type_flags[self.spec.variants['build_type'].value]
+ flags = build_type_flags[self.spec.variants["build_type"].value]
# Pessimistic target specific flags. For example, when building
# gcc@11 %gcc@7 on znver3, Spack will fix the target to znver1 during
# concretization, so we'll stick to that. The other way around however can
# result in compilation errors, when gcc@7 is built with gcc@11, and znver3
# is taken as a the target, which gcc@7 doesn't support.
- if '+bootstrap %gcc' in self.spec:
- flags += ' ' + self.get_common_target_flags(self.spec)
+ if "+bootstrap %gcc" in self.spec:
+ flags += " " + self.get_common_target_flags(self.spec)
- if '+bootstrap' in self.spec:
- variables = ['BOOT_CFLAGS', 'CFLAGS_FOR_TARGET', 'CXXFLAGS_FOR_TARGET']
+ if "+bootstrap" in self.spec:
+ variables = ["BOOT_CFLAGS", "CFLAGS_FOR_TARGET", "CXXFLAGS_FOR_TARGET"]
else:
- variables = ['CFLAGS', 'CXXFLAGS']
+ variables = ["CFLAGS", "CXXFLAGS"]
# Redefine a few variables without losing other defaults:
# BOOT_CFLAGS = $(filter-out -O% -g%, $(BOOT_CFLAGS)) -O3
# This makes sure that build_type=Release is really -O3, not -O3 -g.
- fmt_string = '{} := $(filter-out -O% -g%, $({})) {}\n'
- with open('config/spack.mk', 'w') as f:
+ fmt_string = "{} := $(filter-out -O% -g%, $({})) {}\n"
+ with open("config/spack.mk", "w") as f:
for var in variables:
f.write(fmt_string.format(var, var, flags))
# Improve the build time for stage 2 a bit by enabling -O1 in stage 1.
# Note: this is ignored under ~bootstrap.
- f.write('STAGE1_CFLAGS += -O1\n')
+ f.write("STAGE1_CFLAGS += -O1\n")
# https://gcc.gnu.org/install/configure.html
def configure_args(self):
@@ -585,54 +618,57 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# Generic options to compile GCC
options = [
# Distributor options
- '--with-pkgversion=Spack GCC',
- '--with-bugurl=https://github.com/spack/spack/issues',
+ "--with-pkgversion=Spack GCC",
+ "--with-bugurl=https://github.com/spack/spack/issues",
# Xcode 10 dropped 32-bit support
- '--disable-multilib',
- '--enable-languages={0}'.format(
- ','.join(spec.variants['languages'].value)),
+ "--disable-multilib",
+ "--enable-languages={0}".format(",".join(spec.variants["languages"].value)),
# Drop gettext dependency
- '--disable-nls'
+ "--disable-nls",
]
# Avoid excessive realpath/stat calls for every system header
# by making -fno-canonical-system-headers the default.
- if self.version >= Version('4.8.0'):
- options.append('--disable-canonical-system-headers')
+ if self.version >= Version("4.8.0"):
+ options.append("--disable-canonical-system-headers")
# Use installed libz
- if self.version >= Version('6'):
- options.append('--with-system-zlib')
+ if self.version >= Version("6"):
+ options.append("--with-system-zlib")
- if 'zstd' in spec:
- options.append('--with-zstd-include={0}'.format(
- spec['zstd'].headers.directories[0]))
- options.append('--with-zstd-lib={0}'.format(
- spec['zstd'].libs.directories[0]))
+ if "zstd" in spec:
+ options.append("--with-zstd-include={0}".format(spec["zstd"].headers.directories[0]))
+ options.append("--with-zstd-lib={0}".format(spec["zstd"].libs.directories[0]))
# Enabling language "jit" requires --enable-host-shared.
- if 'languages=jit' in spec:
- options.append('--enable-host-shared')
+ if "languages=jit" in spec:
+ options.append("--enable-host-shared")
# Binutils
- if spec.satisfies('+binutils'):
- binutils = spec['binutils'].prefix.bin
- options.extend([
- '--with-gnu-ld',
- '--with-ld=' + binutils.ld,
- '--with-gnu-as',
- '--with-as=' + binutils.join('as'),
- ])
+ if spec.satisfies("+binutils"):
+ binutils = spec["binutils"].prefix.bin
+ options.extend(
+ [
+ "--with-gnu-ld",
+ "--with-ld=" + binutils.ld,
+ "--with-gnu-as",
+ "--with-as=" + binutils.join("as"),
+ ]
+ )
# enable_bootstrap
- if spec.satisfies('+bootstrap'):
- options.extend([
- '--enable-bootstrap',
- ])
+ if spec.satisfies("+bootstrap"):
+ options.extend(
+ [
+ "--enable-bootstrap",
+ ]
+ )
else:
- options.extend([
- '--disable-bootstrap',
- ])
+ options.extend(
+ [
+ "--disable-bootstrap",
+ ]
+ )
# Configure include and lib directories explicitly for these
# dependencies since the short GCC option assumes that libraries
@@ -640,193 +676,195 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# (see #10842)
#
# More info at: https://gcc.gnu.org/install/configure.html
- for dep_str in ('mpfr', 'gmp', 'mpc', 'isl'):
+ for dep_str in ("mpfr", "gmp", "mpc", "isl"):
if dep_str not in spec:
- options.append('--without-{0}'.format(dep_str))
+ options.append("--without-{0}".format(dep_str))
continue
dep_spec = spec[dep_str]
include_dir = dep_spec.headers.directories[0]
lib_dir = dep_spec.libs.directories[0]
- options.extend([
- '--with-{0}-include={1}'.format(dep_str, include_dir),
- '--with-{0}-lib={1}'.format(dep_str, lib_dir)
- ])
+ options.extend(
+ [
+ "--with-{0}-include={1}".format(dep_str, include_dir),
+ "--with-{0}-lib={1}".format(dep_str, lib_dir),
+ ]
+ )
# nvptx-none offloading for host compiler
- if spec.satisfies('+nvptx'):
- options.extend(['--enable-offload-targets=nvptx-none',
- '--with-cuda-driver-include={0}'.format(
- spec['cuda'].prefix.include),
- '--with-cuda-driver-lib={0}'.format(
- spec['cuda'].libs.directories[0]),
- '--disable-bootstrap',
- '--disable-multilib'])
-
- if sys.platform == 'darwin':
- options.extend([
- '--with-native-system-header-dir=/usr/include',
- '--with-sysroot={0}'.format(macos_sdk_path()),
- '--with-libiconv-prefix={0}'.format(spec['iconv'].prefix)
- ])
+ if spec.satisfies("+nvptx"):
+ options.extend(
+ [
+ "--enable-offload-targets=nvptx-none",
+ "--with-cuda-driver-include={0}".format(spec["cuda"].prefix.include),
+ "--with-cuda-driver-lib={0}".format(spec["cuda"].libs.directories[0]),
+ "--disable-bootstrap",
+ "--disable-multilib",
+ ]
+ )
+
+ if sys.platform == "darwin":
+ options.extend(
+ [
+ "--with-native-system-header-dir=/usr/include",
+ "--with-sysroot={0}".format(macos_sdk_path()),
+ "--with-libiconv-prefix={0}".format(spec["iconv"].prefix),
+ ]
+ )
# enable appropriate bootstrapping flags
stage1_ldflags = str(self.rpath_args)
- boot_ldflags = stage1_ldflags + ' -static-libstdc++ -static-libgcc'
- options.append('--with-stage1-ldflags=' + stage1_ldflags)
- options.append('--with-boot-ldflags=' + boot_ldflags)
- options.append('--with-build-config=spack')
+ boot_ldflags = stage1_ldflags + " -static-libstdc++ -static-libgcc"
+ options.append("--with-stage1-ldflags=" + stage1_ldflags)
+ options.append("--with-boot-ldflags=" + boot_ldflags)
+ options.append("--with-build-config=spack")
return options
# run configure/make/make(install) for the nvptx-none target
# before running the host compiler phases
- @run_before('configure')
+ @run_before("configure")
def nvptx_install(self):
spec = self.spec
prefix = self.prefix
- if not spec.satisfies('+nvptx'):
+ if not spec.satisfies("+nvptx"):
return
# config.guess returns the host triple, e.g. "x86_64-pc-linux-gnu"
- guess = Executable('./config.guess')
- targetguess = guess(output=str).rstrip('\n')
+ guess = Executable("./config.guess")
+ targetguess = guess(output=str).rstrip("\n")
- options = getattr(self, 'configure_flag_args', [])
- options += ['--prefix={0}'.format(prefix)]
+ options = getattr(self, "configure_flag_args", [])
+ options += ["--prefix={0}".format(prefix)]
options += [
- '--with-cuda-driver-include={0}'.format(
- spec['cuda'].prefix.include),
- '--with-cuda-driver-lib={0}'.format(
- spec['cuda'].libs.directories[0]),
+ "--with-cuda-driver-include={0}".format(spec["cuda"].prefix.include),
+ "--with-cuda-driver-lib={0}".format(spec["cuda"].libs.directories[0]),
]
- with working_dir('nvptx-tools'):
+ with working_dir("nvptx-tools"):
configure = Executable("./configure")
configure(*options)
make()
- make('install')
+ make("install")
- pattern = join_path(self.stage.source_path, 'newlibsource', '*')
+ pattern = join_path(self.stage.source_path, "newlibsource", "*")
files = glob.glob(pattern)
if files:
- symlink(join_path(files[0], 'newlib'), 'newlib')
+ symlink(join_path(files[0], "newlib"), "newlib")
# self.build_directory = 'spack-build-nvptx'
- with working_dir('spack-build-nvptx', create=True):
-
- options = ['--prefix={0}'.format(prefix),
- '--enable-languages={0}'.format(
- ','.join(spec.variants['languages'].value)),
- '--with-mpfr={0}'.format(spec['mpfr'].prefix),
- '--with-gmp={0}'.format(spec['gmp'].prefix),
- '--target=nvptx-none',
- '--with-build-time-tools={0}'.format(
- join_path(prefix,
- 'nvptx-none', 'bin')),
- '--enable-as-accelerator-for={0}'.format(
- targetguess),
- '--disable-sjlj-exceptions',
- '--enable-newlib-io-long-long',
- ]
+ with working_dir("spack-build-nvptx", create=True):
+
+ options = [
+ "--prefix={0}".format(prefix),
+ "--enable-languages={0}".format(",".join(spec.variants["languages"].value)),
+ "--with-mpfr={0}".format(spec["mpfr"].prefix),
+ "--with-gmp={0}".format(spec["gmp"].prefix),
+ "--target=nvptx-none",
+ "--with-build-time-tools={0}".format(join_path(prefix, "nvptx-none", "bin")),
+ "--enable-as-accelerator-for={0}".format(targetguess),
+ "--disable-sjlj-exceptions",
+ "--enable-newlib-io-long-long",
+ ]
configure = Executable("../configure")
configure(*options)
make()
- make('install')
+ make("install")
@property
def build_targets(self):
- if '+profiled' in self.spec:
- return ['profiledbootstrap']
+ if "+profiled" in self.spec:
+ return ["profiledbootstrap"]
return []
@property
def install_targets(self):
- if '+strip' in self.spec:
- return ['install-strip']
- return ['install']
+ if "+strip" in self.spec:
+ return ["install-strip"]
+ return ["install"]
@property
def spec_dir(self):
# e.g. lib/gcc/x86_64-unknown-linux-gnu/4.9.2
- spec_dir = glob.glob('{0}/gcc/*/*'.format(self.prefix.lib))
+ spec_dir = glob.glob("{0}/gcc/*/*".format(self.prefix.lib))
return spec_dir[0] if spec_dir else None
- @run_after('install')
+ @run_after("install")
def write_rpath_specs(self):
"""Generate a spec file so the linker adds a rpath to the libs
- the compiler used to build the executable.
+ the compiler used to build the executable.
- .. caution::
+ .. caution::
- The custom spec file by default with *always* pass ``-Wl,-rpath
- ...`` to the linker, which will cause the linker to *ignore* the
- value of ``LD_RUN_PATH``, which otherwise would be saved to the
- binary as the default rpath. See the mitigation below for how to
- temporarily disable this behavior.
+ The custom spec file by default with *always* pass ``-Wl,-rpath
+ ...`` to the linker, which will cause the linker to *ignore* the
+ value of ``LD_RUN_PATH``, which otherwise would be saved to the
+ binary as the default rpath. See the mitigation below for how to
+ temporarily disable this behavior.
- Structure the specs file so that users can define a custom spec file
- to suppress the spack-linked rpaths to facilitate rpath adjustment
- for relocatable binaries. The custom spec file
- :file:`{norpath}.spec` will have a single
- line followed by two blanks lines::
+ Structure the specs file so that users can define a custom spec file
+ to suppress the spack-linked rpaths to facilitate rpath adjustment
+ for relocatable binaries. The custom spec file
+ :file:`{norpath}.spec` will have a single
+ line followed by two blanks lines::
- *link_libgcc_rpath:
+ *link_libgcc_rpath:
- It can be passed to the GCC linker using the argument
- ``--specs=norpath.spec`` to disable the automatic rpath and restore
- the behavior of ``LD_RUN_PATH``."""
+ It can be passed to the GCC linker using the argument
+ ``--specs=norpath.spec`` to disable the automatic rpath and restore
+ the behavior of ``LD_RUN_PATH``."""
if not self.spec_dir:
- tty.warn('Could not install specs for {0}.'.format(
- self.spec.format('{name}{@version}')))
+ tty.warn(
+ "Could not install specs for {0}.".format(self.spec.format("{name}{@version}"))
+ )
return
- gcc = self.spec['gcc'].command
- lines = gcc('-dumpspecs', output=str).splitlines(True)
- specs_file = join_path(self.spec_dir, 'specs')
+ gcc = self.spec["gcc"].command
+ lines = gcc("-dumpspecs", output=str).splitlines(True)
+ specs_file = join_path(self.spec_dir, "specs")
# Save a backup
- with open(specs_file + '.orig', 'w') as out:
+ with open(specs_file + ".orig", "w") as out:
out.writelines(lines)
# Find which directories have shared libraries
rpath_libdirs = []
- for dir in ['lib', 'lib64']:
+ for dir in ["lib", "lib64"]:
libdir = join_path(self.prefix, dir)
if glob.glob(join_path(libdir, "*." + dso_suffix)):
rpath_libdirs.append(libdir)
if not rpath_libdirs:
# No shared libraries
- tty.warn('No dynamic libraries found in lib/lib64')
+ tty.warn("No dynamic libraries found in lib/lib64")
return
# Overwrite the specs file
- with open(specs_file, 'w') as out:
+ with open(specs_file, "w") as out:
for line in lines:
out.write(line)
- if line.startswith('*link_libgcc:'):
+ if line.startswith("*link_libgcc:"):
# Insert at start of line following link_libgcc, which gets
# inserted into every call to the linker
- out.write('%(link_libgcc_rpath) ')
+ out.write("%(link_libgcc_rpath) ")
# Add easily-overridable rpath string at the end
- out.write('*link_libgcc_rpath:\n')
- if 'platform=darwin' in self.spec:
+ out.write("*link_libgcc_rpath:\n")
+ if "platform=darwin" in self.spec:
# macOS linker requires separate rpath commands
- out.write(' '.join('-rpath ' + lib for lib in rpath_libdirs))
+ out.write(" ".join("-rpath " + lib for lib in rpath_libdirs))
else:
# linux linker uses colon-separated rpath
- out.write('-rpath ' + ':'.join(rpath_libdirs))
- out.write('\n')
+ out.write("-rpath " + ":".join(rpath_libdirs))
+ out.write("\n")
set_install_permissions(specs_file)
- tty.info('Wrote new spec file to {0}'.format(specs_file))
+ tty.info("Wrote new spec file to {0}".format(specs_file))
def setup_run_environment(self, env):
# Search prefix directory for possibly modified compiler names
@@ -841,11 +879,8 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
bin_contents = os.listdir(bin_path)
# Find the first non-symlink compiler binary present for each language
- for lang in ['cc', 'cxx', 'fc', 'f77']:
- for filename, regexp in itertools.product(
- bin_contents,
- Compiler.search_regexps(lang)
- ):
+ for lang in ["cc", "cxx", "fc", "f77"]:
+ for filename, regexp in itertools.product(bin_contents, Compiler.search_regexps(lang)):
if not regexp.match(filename):
continue
diff --git a/var/spack/repos/builtin/packages/gccmakedep/package.py b/var/spack/repos/builtin/packages/gccmakedep/package.py
index 637f146f52..b48e13e315 100644
--- a/var/spack/repos/builtin/packages/gccmakedep/package.py
+++ b/var/spack/repos/builtin/packages/gccmakedep/package.py
@@ -12,6 +12,6 @@ class Gccmakedep(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/util/gccmakedep/"
xorg_mirror_path = "util/gccmakedep-1.0.3.tar.gz"
- version('1.0.3', sha256='f9e2e7a590e27f84b6708ab7a81e546399b949bf652fb9b95193e0e543e6a548')
+ version("1.0.3", sha256="f9e2e7a590e27f84b6708ab7a81e546399b949bf652fb9b95193e0e543e6a548")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/gccxml/package.py b/var/spack/repos/builtin/packages/gccxml/package.py
index 243faac3e6..bb3dc2e795 100644
--- a/var/spack/repos/builtin/packages/gccxml/package.py
+++ b/var/spack/repos/builtin/packages/gccxml/package.py
@@ -11,12 +11,11 @@ class Gccxml(CMakePackage):
the GCC C++ compiler."""
homepage = "https://gccxml.github.io"
- git = "https://github.com/gccxml/gccxml.git"
+ git = "https://github.com/gccxml/gccxml.git"
- version('develop', branch='master')
- version('latest', commit='3afa8ba5be6866e603dcabe80aff79856b558e24',
- preferred=True)
+ version("develop", branch="master")
+ version("latest", commit="3afa8ba5be6866e603dcabe80aff79856b558e24", preferred=True)
- patch('darwin-gcc.patch', when='%gcc platform=darwin')
+ patch("darwin-gcc.patch", when="%gcc platform=darwin")
# taken from https://github.com/gccxml/gccxml/issues/11#issuecomment-140334118
- patch('gcc-5.patch', when='%gcc@5:')
+ patch("gcc-5.patch", when="%gcc@5:")
diff --git a/var/spack/repos/builtin/packages/gchp/package.py b/var/spack/repos/builtin/packages/gchp/package.py
index e2fbc2d777..1b6c255245 100644
--- a/var/spack/repos/builtin/packages/gchp/package.py
+++ b/var/spack/repos/builtin/packages/gchp/package.py
@@ -12,46 +12,48 @@ class Gchp(CMakePackage):
"""GEOS-Chem High Performance model of atmospheric chemistry"""
homepage = "https://gchp.readthedocs.io/"
- url = "https://github.com/geoschem/GCHP/archive/13.4.0.tar.gz"
- git = "https://github.com/geoschem/GCHP.git"
- maintainers = ['lizziel', 'laestrada']
+ url = "https://github.com/geoschem/GCHP/archive/13.4.0.tar.gz"
+ git = "https://github.com/geoschem/GCHP.git"
+ maintainers = ["lizziel", "laestrada"]
- version('13.4.0', commit='d8c6d4d8db1c5b0ba54d4893185d999a619afc58', submodules=True)
- version('13.3.4', commit='efb2346381648ffff04ce441d5d61d7fec0c53fe', submodules=True)
- version('13.2.1', commit='9dc2340cac684971fa961559a4dc3d8818326ab8', submodules=True)
- version('13.1.2', commit='106b8f783cafabd699e53beec3a4dd8aee45234b', submodules=True)
- version('13.1.1', commit='a17361a78aceab947ca51aa1ecd3391beaa3fcb2', submodules=True)
- version('13.1.0', commit='4aca45370738e48623e61e38b26d981d3e20be76', submodules=True)
- version('13.0.2', commit='017ad7276a801ab7b3d6945ad24602eb9927cf01', submodules=True)
- version('13.0.1', commit='f40a2476fda901eacf78c0972fdb6c20e5a06700', submodules=True)
- version('13.0.0', commit='1f5a5c5630c5d066ff8306cbb8b83e267ca7c265', submodules=True)
- version('dev', branch='dev', submodules=True)
+ version("13.4.0", commit="d8c6d4d8db1c5b0ba54d4893185d999a619afc58", submodules=True)
+ version("13.3.4", commit="efb2346381648ffff04ce441d5d61d7fec0c53fe", submodules=True)
+ version("13.2.1", commit="9dc2340cac684971fa961559a4dc3d8818326ab8", submodules=True)
+ version("13.1.2", commit="106b8f783cafabd699e53beec3a4dd8aee45234b", submodules=True)
+ version("13.1.1", commit="a17361a78aceab947ca51aa1ecd3391beaa3fcb2", submodules=True)
+ version("13.1.0", commit="4aca45370738e48623e61e38b26d981d3e20be76", submodules=True)
+ version("13.0.2", commit="017ad7276a801ab7b3d6945ad24602eb9927cf01", submodules=True)
+ version("13.0.1", commit="f40a2476fda901eacf78c0972fdb6c20e5a06700", submodules=True)
+ version("13.0.0", commit="1f5a5c5630c5d066ff8306cbb8b83e267ca7c265", submodules=True)
+ version("dev", branch="dev", submodules=True)
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
- depends_on('esmf@8.0.1', when='@13.0.0:')
- depends_on('mpi@3')
- depends_on('netcdf-fortran')
- depends_on('cmake@3.13:')
- depends_on('libfabric', when='+ofi')
- depends_on('m4')
+ depends_on("esmf@8.0.1", when="@13.0.0:")
+ depends_on("mpi@3")
+ depends_on("netcdf-fortran")
+ depends_on("cmake@3.13:")
+ depends_on("libfabric", when="+ofi")
+ depends_on("m4")
- variant('omp', default=False, description="OpenMP parallelization")
- variant('real8', default=True, description="REAL*8 precision")
- variant('apm', default=False, description="APM Microphysics (Experimental)")
- variant('rrtmg', default=False, description="RRTMG radiative transfer model")
- variant('luo', default=False, description="Luo et al 2019 wet deposition scheme")
- variant('tomas', default=False, description="TOMAS Microphysics (Experimental)")
- variant('ofi', default=False, description="Build with Libfabric support")
+ variant("omp", default=False, description="OpenMP parallelization")
+ variant("real8", default=True, description="REAL*8 precision")
+ variant("apm", default=False, description="APM Microphysics (Experimental)")
+ variant("rrtmg", default=False, description="RRTMG radiative transfer model")
+ variant("luo", default=False, description="Luo et al 2019 wet deposition scheme")
+ variant("tomas", default=False, description="TOMAS Microphysics (Experimental)")
+ variant("ofi", default=False, description="Build with Libfabric support")
def cmake_args(self):
- args = [self.define("RUNDIR", self.prefix),
- self.define_from_variant('OMP', 'omp'),
- self.define_from_variant('USE_REAL8', 'real8'),
- self.define_from_variant('APM', 'apm'),
- self.define_from_variant('RRTMG', 'rrtmg'),
- self.define_from_variant('LUO_WETDEP', 'luo'),
- self.define_from_variant('TOMAS', 'tomas')]
+ args = [
+ self.define("RUNDIR", self.prefix),
+ self.define_from_variant("OMP", "omp"),
+ self.define_from_variant("USE_REAL8", "real8"),
+ self.define_from_variant("APM", "apm"),
+ self.define_from_variant("RRTMG", "rrtmg"),
+ self.define_from_variant("LUO_WETDEP", "luo"),
+ self.define_from_variant("TOMAS", "tomas"),
+ ]
return args
def install(self, spec, prefix):
@@ -63,5 +65,4 @@ class Gchp(CMakePackage):
# 2. Run configuration is relatively complex and can result in error
# messages that point to specific modules / lines of the source code.
# Including source code thus facilitates runtime debugging.
- shutil.move(self.stage.source_path,
- join_path(prefix, 'source_code'))
+ shutil.move(self.stage.source_path, join_path(prefix, "source_code"))
diff --git a/var/spack/repos/builtin/packages/gconf/package.py b/var/spack/repos/builtin/packages/gconf/package.py
index 6c86e51012..878fbd9eeb 100644
--- a/var/spack/repos/builtin/packages/gconf/package.py
+++ b/var/spack/repos/builtin/packages/gconf/package.py
@@ -14,16 +14,20 @@ class Gconf(AutotoolsPackage):
"""
homepage = "https://en.wikipedia.org/wiki/GConf"
- url = "http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-3.2.6.tar.xz"
+ url = "http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-3.2.6.tar.xz"
- version('3.2.6', sha256='1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', deprecated=True)
+ version(
+ "3.2.6",
+ sha256="1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c",
+ deprecated=True,
+ )
- depends_on('pkgconfig', type='build')
- depends_on('gettext', type='build')
- depends_on('intltool', type='build')
- depends_on('glib@2.14.0:')
- depends_on('libxml2')
- depends_on('dbus')
- depends_on('dbus-glib')
- depends_on('orbit2')
- depends_on('perl-xml-parser', type=('build', 'run'))
+ depends_on("pkgconfig", type="build")
+ depends_on("gettext", type="build")
+ depends_on("intltool", type="build")
+ depends_on("glib@2.14.0:")
+ depends_on("libxml2")
+ depends_on("dbus")
+ depends_on("dbus-glib")
+ depends_on("orbit2")
+ depends_on("perl-xml-parser", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/gcta/package.py b/var/spack/repos/builtin/packages/gcta/package.py
index 6cf9146260..4ee4e536d1 100644
--- a/var/spack/repos/builtin/packages/gcta/package.py
+++ b/var/spack/repos/builtin/packages/gcta/package.py
@@ -14,26 +14,26 @@ class Gcta(CMakePackage):
complex traits. GCTA currently supports the following analyses."""
homepage = "https://github.com/jianyangqt/gcta"
- url = "https://github.com/jianyangqt/gcta/archive/refs/tags/v1.91.2.tar.gz"
- git = "https://github.com/jianyangqt/gcta.git"
- maintainers = ['snehring']
+ url = "https://github.com/jianyangqt/gcta/archive/refs/tags/v1.91.2.tar.gz"
+ git = "https://github.com/jianyangqt/gcta.git"
+ maintainers = ["snehring"]
- version('1.94.0beta', commit='746e3975ddb463fc7bd15b03c6cc64b023eca497', submodules=True)
- version('1.91.2', sha256='0609d0fba856599a2acc66adefe87725304117acc226360ec2aabf8a0ac64e85')
+ version("1.94.0beta", commit="746e3975ddb463fc7bd15b03c6cc64b023eca497", submodules=True)
+ version("1.91.2", sha256="0609d0fba856599a2acc66adefe87725304117acc226360ec2aabf8a0ac64e85")
- conflicts('target=aarch64:', when='@:1.91.2', msg='aarch64 support added in 1.94.0')
+ conflicts("target=aarch64:", when="@:1.91.2", msg="aarch64 support added in 1.94.0")
- depends_on('cmake@3.1:', type='build')
- depends_on('intel-mkl@2017:', when='target=x86_64:')
- depends_on('openblas', when='target=aarch64:')
- depends_on('eigen@3.3.1', when='@1.91.2')
- depends_on('eigen@3.3.7:', when='@1.94.0beta:')
- depends_on('boost@1.79:', when='@1.94.0beta:')
- depends_on('zlib')
- depends_on('sqlite@3.3.1:', when='@1.94.0beta:')
- depends_on('zstd@1.4.4:', when='@1.94.0beta:')
- depends_on('spectra', when='@1.94.0beta:')
- depends_on('gsl', when='@1.94.0beta:')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("intel-mkl@2017:", when="target=x86_64:")
+ depends_on("openblas", when="target=aarch64:")
+ depends_on("eigen@3.3.1", when="@1.91.2")
+ depends_on("eigen@3.3.7:", when="@1.94.0beta:")
+ depends_on("boost@1.79:", when="@1.94.0beta:")
+ depends_on("zlib")
+ depends_on("sqlite@3.3.1:", when="@1.94.0beta:")
+ depends_on("zstd@1.4.4:", when="@1.94.0beta:")
+ depends_on("spectra", when="@1.94.0beta:")
+ depends_on("gsl", when="@1.94.0beta:")
def patch(self):
# allow us to specify the locations with cmake_args
@@ -42,33 +42,33 @@ class Gcta(CMakePackage):
'SET(SPECTRA_LIB "$ENV{SPECTRA_LIB}")',
'SET(BOOST_LIB "$ENV{BOOST_LIB}")',
'SET(OPENBLAS "$ENV{OPENBLAS}")',
- 'SET(MKLROOT "$ENV{MKLROOT}")'
+ 'SET(MKLROOT "$ENV{MKLROOT}")',
]
for s in strings:
- filter_file(s, '', 'CMakeLists.txt', string=True)
+ filter_file(s, "", "CMakeLists.txt", string=True)
def cmake_args(self):
- eigen = self.spec['eigen'].prefix.include
- args = [self.define('EIGEN3_INCLUDE_DIR', eigen)]
- if self.spec.satisfies('@1.94.0beta:'):
- spectra = self.spec['spectra'].prefix.include
- boost = self.spec['boost'].prefix.include
+ eigen = self.spec["eigen"].prefix.include
+ args = [self.define("EIGEN3_INCLUDE_DIR", eigen)]
+ if self.spec.satisfies("@1.94.0beta:"):
+ spectra = self.spec["spectra"].prefix.include
+ boost = self.spec["boost"].prefix.include
deps = [
- self.define('SPECTRA_LIB', spectra),
- self.define('BOOST_LIB', boost),
+ self.define("SPECTRA_LIB", spectra),
+ self.define("BOOST_LIB", boost),
]
args.extend(deps)
- if self.spec.satisfies('target=x86_64:'):
- mkl = self.spec['intel-mkl'].prefix
- args.append(self.define('MKLROOT', mkl))
- elif self.spec.satisfies('target=aarch64:'):
- openblas = self.spec['openblas'].prefix
- args.append(self.define('OPENBLAS', openblas))
+ if self.spec.satisfies("target=x86_64:"):
+ mkl = self.spec["intel-mkl"].prefix
+ args.append(self.define("MKLROOT", mkl))
+ elif self.spec.satisfies("target=aarch64:"):
+ openblas = self.spec["openblas"].prefix
+ args.append(self.define("OPENBLAS", openblas))
return args
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir(self.build_directory):
- install('gcta64', join_path(prefix.bin, 'gcta64'))
+ install("gcta64", join_path(prefix.bin, "gcta64"))
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index dc37e07e68..0eb8c25d7f 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -21,477 +21,509 @@ class Gdal(CMakePackage):
translation and processing.
"""
- homepage = "https://www.gdal.org/"
- url = "https://download.osgeo.org/gdal/3.2.0/gdal-3.2.0.tar.xz"
- list_url = "https://download.osgeo.org/gdal/"
+ homepage = "https://www.gdal.org/"
+ url = "https://download.osgeo.org/gdal/3.2.0/gdal-3.2.0.tar.xz"
+ list_url = "https://download.osgeo.org/gdal/"
list_depth = 1
- maintainers = ['adamjstewart']
-
- version('3.5.1', sha256='d12c30a9eacdeaab493c0d1c9f88eb337c9cbb5bb40744c751bdd5a5af166ab6')
- version('3.5.0', sha256='d49121e5348a51659807be4fb866aa840f8dbec4d1acba6d17fdefa72125bfc9')
- version('3.4.3', sha256='02a27b35899e1c4c3bcb6007da900128ddd7e8ab7cd6ccfecf338a301eadad5a')
- version('3.4.2', sha256='16baf03dfccf9e3f72bb2e15cd2d5b3f4be0437cdff8a785bceab0c7be557335')
- version('3.4.1', sha256='332f053516ca45101ef0f7fa96309b64242688a8024780a5d93be0230e42173d')
- version('3.4.0', sha256='ac7bd2bb9436f3fc38bc7309704672980f82d64b4d57627d27849259b8f71d5c')
- version('3.3.3', sha256='1e8fc8b19c77238c7f4c27857d04857b65d8b7e8050d3aac256d70fa48a21e76')
- version('3.3.2', sha256='630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3')
- version('3.3.1', sha256='48ab00b77d49f08cf66c60ccce55abb6455c3079f545e60c90ee7ce857bccb70')
- version('3.3.0', sha256='190c8f4b56afc767f43836b2a5cd53cc52ee7fdc25eb78c6079c5a244e28efa7')
- version('3.2.3', sha256='d9ec8458fe97fd02bf36379e7f63eaafce1005eeb60e329ed25bb2d2a17a796f')
- version('3.2.2', sha256='a7e1e414e5c405af48982bf4724a3da64a05770254f2ce8affb5f58a7604ca57')
- version('3.2.1', sha256='6c588b58fcb63ff3f288eb9f02d76791c0955ba9210d98c3abd879c770ae28ea')
- version('3.2.0', sha256='b051f852600ffdf07e337a7f15673da23f9201a9dbb482bd513756a3e5a196a6')
- version('3.1.4', sha256='7b82486f71c71cec61f9b237116212ce18ef6b90f068cbbf9f7de4fc50b576a8')
- version('3.1.3', sha256='161cf55371a143826f1d76ce566db1f0a666496eeb4371aed78b1642f219d51d')
- version('3.1.2', sha256='767c8d0dfa20ba3283de05d23a1d1c03a7e805d0ce2936beaff0bb7d11450641')
- version('3.1.1', sha256='97154a606339a6c1d87c80fb354d7456fe49828b2ef9a3bc9ed91771a03d2a04')
- version('3.1.0', sha256='e754a22242ccbec731aacdb2333b567d4c95b9b02d3ba1ea12f70508d244fcda')
- version('3.0.4', sha256='5569a4daa1abcbba47a9d535172fc335194d9214fdb96cd0f139bb57329ae277')
- version('3.0.3', sha256='e20add5802265159366f197a8bb354899e1693eab8dbba2208de14a457566109')
- version('3.0.2', sha256='c3765371ce391715c8f28bd6defbc70b57aa43341f6e94605f04fe3c92468983')
- version('3.0.1', sha256='45b4ae25dbd87282d589eca76481c426f72132d7a599556470d5c38263b09266')
- version('3.0.0', sha256='ad316fa052d94d9606e90b20a514b92b2dd64e3142dfdbd8f10981a5fcd5c43e')
- version('2.4.4', sha256='a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8')
- version('2.4.3', sha256='d52dc3e0cff3af3e898d887c4151442989f416e839948e73f0994f0224bbff60')
- version('2.4.2', sha256='dcc132e469c5eb76fa4aaff238d32e45a5d947dc5b6c801a123b70045b618e0c')
- version('2.4.1', sha256='fd51b4900b2fc49b98d8714f55fc8a78ebfd07218357f93fb796791115a5a1ad')
- version('2.4.0', sha256='c3791dcc6d37e59f6efa86e2df2a55a4485237b0a48e330ae08949f0cdf00f27')
- version('2.3.3', sha256='c3635e41766a648f945d235b922e3c5306e26a2ee5bbd730d2181e242f5f46fe')
- version('2.3.2', sha256='3f6d78fe8807d1d6afb7bed27394f19467840a82bc36d65e66316fa0aa9d32a4')
- version('2.3.1', sha256='9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a')
- version('2.3.0', sha256='6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2')
- version('2.2.4', sha256='441eb1d1acb35238ca43a1a0a649493fc91fdcbab231d0747e9d462eea192278')
- version('2.2.3', sha256='a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b')
- version('2.2.2', sha256='eb25d6ee85f4f5ac1d5581958f8c6eed9b1d50746f82866fe92e507541def35b')
- version('2.2.1', sha256='927098d54083ac919a497f787b835b099e9a194f2e5444dbff901f7426b86066')
- version('2.2.0', sha256='0d4c326862e0f118e17418c042c2bcd037b25abd3fb198e1fc5d40b11a9fc8ea')
- version('2.1.4', sha256='e06a7ae4c4ed2fd678cd045ff50a10ff5002f3b81cdfcd8ab03c39ce962d9b63')
- version('2.1.3', sha256='b489793627e6cb8d2ff8d7737b61daf58382fe189fae4c581ddfd48c04b49005')
- version('2.1.2', sha256='b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374')
- version('2.1.1', sha256='87ce516ce757ad1edf1e21f007fbe232ed2e932af422e9893f40199711c41f92')
- version('2.1.0', sha256='568b43441955b306364fcf97fb47d4c1512ac6f2f5f76b2ec39a890d2418ee03')
- version('2.0.3', sha256='3c6c5ade299c7a52fc9c5d2111110c97032e1f0c2593ce6091c364b1a43b442a')
- version('2.0.2', sha256='90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622')
- version('2.0.1', sha256='2564c91ed8ed36274ee31002a25798f5babc4221e879cb5013867733d80f9920')
- version('2.0.0', sha256='91704fafeea2349c5e268dc1e2d03921b3aae64b05ee01d59fdfc1a6b0ffc061')
+ maintainers = ["adamjstewart"]
+
+ version("3.5.1", sha256="d12c30a9eacdeaab493c0d1c9f88eb337c9cbb5bb40744c751bdd5a5af166ab6")
+ version("3.5.0", sha256="d49121e5348a51659807be4fb866aa840f8dbec4d1acba6d17fdefa72125bfc9")
+ version("3.4.3", sha256="02a27b35899e1c4c3bcb6007da900128ddd7e8ab7cd6ccfecf338a301eadad5a")
+ version("3.4.2", sha256="16baf03dfccf9e3f72bb2e15cd2d5b3f4be0437cdff8a785bceab0c7be557335")
+ version("3.4.1", sha256="332f053516ca45101ef0f7fa96309b64242688a8024780a5d93be0230e42173d")
+ version("3.4.0", sha256="ac7bd2bb9436f3fc38bc7309704672980f82d64b4d57627d27849259b8f71d5c")
+ version("3.3.3", sha256="1e8fc8b19c77238c7f4c27857d04857b65d8b7e8050d3aac256d70fa48a21e76")
+ version("3.3.2", sha256="630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3")
+ version("3.3.1", sha256="48ab00b77d49f08cf66c60ccce55abb6455c3079f545e60c90ee7ce857bccb70")
+ version("3.3.0", sha256="190c8f4b56afc767f43836b2a5cd53cc52ee7fdc25eb78c6079c5a244e28efa7")
+ version("3.2.3", sha256="d9ec8458fe97fd02bf36379e7f63eaafce1005eeb60e329ed25bb2d2a17a796f")
+ version("3.2.2", sha256="a7e1e414e5c405af48982bf4724a3da64a05770254f2ce8affb5f58a7604ca57")
+ version("3.2.1", sha256="6c588b58fcb63ff3f288eb9f02d76791c0955ba9210d98c3abd879c770ae28ea")
+ version("3.2.0", sha256="b051f852600ffdf07e337a7f15673da23f9201a9dbb482bd513756a3e5a196a6")
+ version("3.1.4", sha256="7b82486f71c71cec61f9b237116212ce18ef6b90f068cbbf9f7de4fc50b576a8")
+ version("3.1.3", sha256="161cf55371a143826f1d76ce566db1f0a666496eeb4371aed78b1642f219d51d")
+ version("3.1.2", sha256="767c8d0dfa20ba3283de05d23a1d1c03a7e805d0ce2936beaff0bb7d11450641")
+ version("3.1.1", sha256="97154a606339a6c1d87c80fb354d7456fe49828b2ef9a3bc9ed91771a03d2a04")
+ version("3.1.0", sha256="e754a22242ccbec731aacdb2333b567d4c95b9b02d3ba1ea12f70508d244fcda")
+ version("3.0.4", sha256="5569a4daa1abcbba47a9d535172fc335194d9214fdb96cd0f139bb57329ae277")
+ version("3.0.3", sha256="e20add5802265159366f197a8bb354899e1693eab8dbba2208de14a457566109")
+ version("3.0.2", sha256="c3765371ce391715c8f28bd6defbc70b57aa43341f6e94605f04fe3c92468983")
+ version("3.0.1", sha256="45b4ae25dbd87282d589eca76481c426f72132d7a599556470d5c38263b09266")
+ version("3.0.0", sha256="ad316fa052d94d9606e90b20a514b92b2dd64e3142dfdbd8f10981a5fcd5c43e")
+ version("2.4.4", sha256="a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8")
+ version("2.4.3", sha256="d52dc3e0cff3af3e898d887c4151442989f416e839948e73f0994f0224bbff60")
+ version("2.4.2", sha256="dcc132e469c5eb76fa4aaff238d32e45a5d947dc5b6c801a123b70045b618e0c")
+ version("2.4.1", sha256="fd51b4900b2fc49b98d8714f55fc8a78ebfd07218357f93fb796791115a5a1ad")
+ version("2.4.0", sha256="c3791dcc6d37e59f6efa86e2df2a55a4485237b0a48e330ae08949f0cdf00f27")
+ version("2.3.3", sha256="c3635e41766a648f945d235b922e3c5306e26a2ee5bbd730d2181e242f5f46fe")
+ version("2.3.2", sha256="3f6d78fe8807d1d6afb7bed27394f19467840a82bc36d65e66316fa0aa9d32a4")
+ version("2.3.1", sha256="9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a")
+ version("2.3.0", sha256="6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2")
+ version("2.2.4", sha256="441eb1d1acb35238ca43a1a0a649493fc91fdcbab231d0747e9d462eea192278")
+ version("2.2.3", sha256="a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b")
+ version("2.2.2", sha256="eb25d6ee85f4f5ac1d5581958f8c6eed9b1d50746f82866fe92e507541def35b")
+ version("2.2.1", sha256="927098d54083ac919a497f787b835b099e9a194f2e5444dbff901f7426b86066")
+ version("2.2.0", sha256="0d4c326862e0f118e17418c042c2bcd037b25abd3fb198e1fc5d40b11a9fc8ea")
+ version("2.1.4", sha256="e06a7ae4c4ed2fd678cd045ff50a10ff5002f3b81cdfcd8ab03c39ce962d9b63")
+ version("2.1.3", sha256="b489793627e6cb8d2ff8d7737b61daf58382fe189fae4c581ddfd48c04b49005")
+ version("2.1.2", sha256="b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374")
+ version("2.1.1", sha256="87ce516ce757ad1edf1e21f007fbe232ed2e932af422e9893f40199711c41f92")
+ version("2.1.0", sha256="568b43441955b306364fcf97fb47d4c1512ac6f2f5f76b2ec39a890d2418ee03")
+ version("2.0.3", sha256="3c6c5ade299c7a52fc9c5d2111110c97032e1f0c2593ce6091c364b1a43b442a")
+ version("2.0.2", sha256="90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622")
+ version("2.0.1", sha256="2564c91ed8ed36274ee31002a25798f5babc4221e879cb5013867733d80f9920")
+ version("2.0.0", sha256="91704fafeea2349c5e268dc1e2d03921b3aae64b05ee01d59fdfc1a6b0ffc061")
# Optional dependencies
- variant('armadillo', default=False, description='Speed up computations related to the Thin Plate Spline transformer')
- variant('arrow', default=False, when='@3.5:', description='Required for Arrow driver')
- variant('blosc', default=False, when='@3.4:', description='Required for Zarr driver')
- variant('brunsli', default=True, when='@3.4:', description='Required for MRF driver')
- variant('bsb', default=False, when='@:2', description='Required for BSB driver')
- variant('cfitsio', default=False, description='Required for FITS driver')
- variant('crnlib', default=False, description='Required for DDS driver')
- variant('curl', default=False, description='Required for network access')
- variant('cryptopp', default=False, when='@2.1:', description='Required for EEDAI driver')
- variant('deflate', default=False, when='@3.2:', description='Required for Deflate compression')
- variant('dods', default=False, when='@:3.4', description='Required for DODS driver')
- variant('ecw', default=False, description='Required for ECW driver')
- variant('epsilon', default=False, when='@:3.2', description='Required for EPSILON driver')
- variant('expat', default=True, description='Required for XML parsing in many OGR drivers')
- variant('filegdb', default=False, description='Required for FileGDB driver')
- variant('fme', default=False, when='@:3.4', description='Required for FME driver')
- variant('freexl', default=False, description='Required for XLS driver')
- variant('fyba', default=False, description='Required for SOSI driver')
- variant('geos', default=True, description='Required for geometry processing operations in OGR')
- variant('gif', default=False, description='Required for GIF driver')
- variant('grass', default=False, when='@:3.4', description='Required for GRASS driver')
- variant('grib', default=False, when='@:2', description='Required for GRIB driver')
- variant('gta', default=False, description='Required for GTA driver')
- variant('heif', default=False, when='@3.2:', description='Required for HEIF driver')
- variant('hdf4', default=False, description='Required for HDF4 driver')
- variant('hdf5', default=False, description='Required for HDF5, BAG, and KEA drivers')
- variant('hdfs', default=False, when='@2.4:', description='Required for Hadoop filesystem support')
- variant('iconv', default=False, description='Required for text encoding conversion')
- variant('idb', default=False, description='Required for IDB driver')
- variant('ingres', default=False, when='@:3.4', description='Required for Ingres driver')
- variant('jasper', default=False, when='@:3.4', description='Optional JPEG-200 library')
- variant('jpeg', default=True, description='Required for JPEG driver')
- variant('jxl', default=False, when='@3.4:', description='Required for JPEGXL driver')
- variant('kdu', default=False, description='Required for JP2KAK and JPIPKAK drivers')
- variant('kea', default=False, description='Required for KEA driver')
- variant('lerc', default=True, when='@2.4:', description='Required for LERC compression')
- variant('libcsf', default=False, description='Required for PCRaster driver')
- variant('libkml', default=False, description='Required for LIBKML driver')
- variant('liblzma', default=False, description='Required for Zarr driver')
- variant('libxml2', default=False, description='Required for XML validation in many OGR drivers')
- variant('luratech', default=False, when='@2.2:', description='Required for JP2Lura driver')
- variant('lz4', default=False, when='@3.4:', description='Required for Zarr driver')
- variant('mdb', default=False, when='@:3.4', description='Required for MDB driver')
- variant('mongocxx', default=False, when='@2.1:', description='Required for MongoDBv3 driver')
- variant('mrf', default=False, when='@2.1:2', description='Required for MRF driver')
- variant('mrsid', default=False, description='Required for MrSID driver')
- variant('mrsid_lidar', default=False, when='@:3.4', description='Required for MrSID/MG4 driver')
- variant('mssql_ncli', default=False, when='@3.5:', description='Required for MSSQLSpatial driver')
- variant('mssql_odbc', default=False, when='@3.5:', description='Required for MSSQLSpatial driver')
- variant('mysql', default=False, description='Required for MySQL driver')
- variant('netcdf', default=False, description='Required for NetCDF driver')
- variant('odbc', default=False, description='Required for many OGR drivers')
- variant('odbccpp', default=False, when='@3.5:', description='Required for SAP HANA driver')
- variant('ogdi', default=False, description='Required for OGDI driver')
- variant('opencad', default=False, when='@3.5:', description='Required for CAD driver')
- variant('opencl', default=False, description='Required to accelerate warping computations')
- variant('openexr', default=False, when='@3.1:', description='Required for EXR driver')
- variant('openjpeg', default=False, description='Required for JP2OpenJPEG driver')
- variant('openssl', default=False, when='@2.3:', description='Required for EEDAI driver')
- variant('oracle', default=False, description='Required for OCI and GeoRaster drivers')
- variant('parquet', default=False, when='@3.5:', description='Required for Parquet driver')
- variant('pcidsk', default=False, description='Required for PCIDSK driver')
- variant('pcre', default=False, description='Required for REGEXP operator in drivers using SQLite3')
- variant('pdfium', default=False, when='@2.1:', description='Possible backend for PDF driver')
- variant('png', default=True, description='Required for PNG driver')
- variant('podofo', default=False, description='Possible backend for PDF driver')
- variant('poppler', default=False, description='Possible backend for PDF driver')
- variant('postgresql', default=False, description='Required for PostgreSQL and PostGISRaster drivers')
- variant('qhull', default=True, when='@2.1:', description='Used for linear interpolation of gdal_grid')
- variant('rasdaman', default=False, description='Required for Rasdaman driver')
- variant('rasterlite2', default=False, when='@2.2:', description='Required for RasterLite2 driver')
- variant('rdb', default=False, when='@3.1:', description='Required for RDB driver')
- variant('sde', default=False, when='@:3.1', description='Required for SDE driver')
- variant('sfcgal', default=False, when='@2.2:', description='Provides 3D geometry operations')
- variant('spatialite', default=False, description='Required for SQLite and GPKG drivers')
- variant('sqlite3', default=True, description='Required for SQLite and GPKG drivers')
- variant('teigha', default=False, description='Required for DWG and DGNv8 drivers')
- variant('tiledb', default=False, when='@3:', description='Required for TileDB driver')
- variant('webp', default=False, description='Required for WEBP driver')
- variant('xercesc', default=False, description='Required for XML parsing capabilities in many OGR drivers')
- variant('zstd', default=False, when='@2.3:', description='Required for Zarr driver')
+ variant(
+ "armadillo",
+ default=False,
+ description="Speed up computations related to the Thin Plate Spline transformer",
+ )
+ variant("arrow", default=False, when="@3.5:", description="Required for Arrow driver")
+ variant("blosc", default=False, when="@3.4:", description="Required for Zarr driver")
+ variant("brunsli", default=True, when="@3.4:", description="Required for MRF driver")
+ variant("bsb", default=False, when="@:2", description="Required for BSB driver")
+ variant("cfitsio", default=False, description="Required for FITS driver")
+ variant("crnlib", default=False, description="Required for DDS driver")
+ variant("curl", default=False, description="Required for network access")
+ variant("cryptopp", default=False, when="@2.1:", description="Required for EEDAI driver")
+ variant("deflate", default=False, when="@3.2:", description="Required for Deflate compression")
+ variant("dods", default=False, when="@:3.4", description="Required for DODS driver")
+ variant("ecw", default=False, description="Required for ECW driver")
+ variant("epsilon", default=False, when="@:3.2", description="Required for EPSILON driver")
+ variant("expat", default=True, description="Required for XML parsing in many OGR drivers")
+ variant("filegdb", default=False, description="Required for FileGDB driver")
+ variant("fme", default=False, when="@:3.4", description="Required for FME driver")
+ variant("freexl", default=False, description="Required for XLS driver")
+ variant("fyba", default=False, description="Required for SOSI driver")
+ variant("geos", default=True, description="Required for geometry processing operations in OGR")
+ variant("gif", default=False, description="Required for GIF driver")
+ variant("grass", default=False, when="@:3.4", description="Required for GRASS driver")
+ variant("grib", default=False, when="@:2", description="Required for GRIB driver")
+ variant("gta", default=False, description="Required for GTA driver")
+ variant("heif", default=False, when="@3.2:", description="Required for HEIF driver")
+ variant("hdf4", default=False, description="Required for HDF4 driver")
+ variant("hdf5", default=False, description="Required for HDF5, BAG, and KEA drivers")
+ variant(
+ "hdfs", default=False, when="@2.4:", description="Required for Hadoop filesystem support"
+ )
+ variant("iconv", default=False, description="Required for text encoding conversion")
+ variant("idb", default=False, description="Required for IDB driver")
+ variant("ingres", default=False, when="@:3.4", description="Required for Ingres driver")
+ variant("jasper", default=False, when="@:3.4", description="Optional JPEG-200 library")
+ variant("jpeg", default=True, description="Required for JPEG driver")
+ variant("jxl", default=False, when="@3.4:", description="Required for JPEGXL driver")
+ variant("kdu", default=False, description="Required for JP2KAK and JPIPKAK drivers")
+ variant("kea", default=False, description="Required for KEA driver")
+ variant("lerc", default=True, when="@2.4:", description="Required for LERC compression")
+ variant("libcsf", default=False, description="Required for PCRaster driver")
+ variant("libkml", default=False, description="Required for LIBKML driver")
+ variant("liblzma", default=False, description="Required for Zarr driver")
+ variant(
+ "libxml2", default=False, description="Required for XML validation in many OGR drivers"
+ )
+ variant("luratech", default=False, when="@2.2:", description="Required for JP2Lura driver")
+ variant("lz4", default=False, when="@3.4:", description="Required for Zarr driver")
+ variant("mdb", default=False, when="@:3.4", description="Required for MDB driver")
+ variant("mongocxx", default=False, when="@2.1:", description="Required for MongoDBv3 driver")
+ variant("mrf", default=False, when="@2.1:2", description="Required for MRF driver")
+ variant("mrsid", default=False, description="Required for MrSID driver")
+ variant(
+ "mrsid_lidar", default=False, when="@:3.4", description="Required for MrSID/MG4 driver"
+ )
+ variant(
+ "mssql_ncli", default=False, when="@3.5:", description="Required for MSSQLSpatial driver"
+ )
+ variant(
+ "mssql_odbc", default=False, when="@3.5:", description="Required for MSSQLSpatial driver"
+ )
+ variant("mysql", default=False, description="Required for MySQL driver")
+ variant("netcdf", default=False, description="Required for NetCDF driver")
+ variant("odbc", default=False, description="Required for many OGR drivers")
+ variant("odbccpp", default=False, when="@3.5:", description="Required for SAP HANA driver")
+ variant("ogdi", default=False, description="Required for OGDI driver")
+ variant("opencad", default=False, when="@3.5:", description="Required for CAD driver")
+ variant("opencl", default=False, description="Required to accelerate warping computations")
+ variant("openexr", default=False, when="@3.1:", description="Required for EXR driver")
+ variant("openjpeg", default=False, description="Required for JP2OpenJPEG driver")
+ variant("openssl", default=False, when="@2.3:", description="Required for EEDAI driver")
+ variant("oracle", default=False, description="Required for OCI and GeoRaster drivers")
+ variant("parquet", default=False, when="@3.5:", description="Required for Parquet driver")
+ variant("pcidsk", default=False, description="Required for PCIDSK driver")
+ variant(
+ "pcre", default=False, description="Required for REGEXP operator in drivers using SQLite3"
+ )
+ variant("pdfium", default=False, when="@2.1:", description="Possible backend for PDF driver")
+ variant("png", default=True, description="Required for PNG driver")
+ variant("podofo", default=False, description="Possible backend for PDF driver")
+ variant("poppler", default=False, description="Possible backend for PDF driver")
+ variant(
+ "postgresql",
+ default=False,
+ description="Required for PostgreSQL and PostGISRaster drivers",
+ )
+ variant(
+ "qhull",
+ default=True,
+ when="@2.1:",
+ description="Used for linear interpolation of gdal_grid",
+ )
+ variant("rasdaman", default=False, description="Required for Rasdaman driver")
+ variant(
+ "rasterlite2", default=False, when="@2.2:", description="Required for RasterLite2 driver"
+ )
+ variant("rdb", default=False, when="@3.1:", description="Required for RDB driver")
+ variant("sde", default=False, when="@:3.1", description="Required for SDE driver")
+ variant("sfcgal", default=False, when="@2.2:", description="Provides 3D geometry operations")
+ variant("spatialite", default=False, description="Required for SQLite and GPKG drivers")
+ variant("sqlite3", default=True, description="Required for SQLite and GPKG drivers")
+ variant("teigha", default=False, description="Required for DWG and DGNv8 drivers")
+ variant("tiledb", default=False, when="@3:", description="Required for TileDB driver")
+ variant("webp", default=False, description="Required for WEBP driver")
+ variant(
+ "xercesc",
+ default=False,
+ description="Required for XML parsing capabilities in many OGR drivers",
+ )
+ variant("zstd", default=False, when="@2.3:", description="Required for Zarr driver")
# Language bindings
- variant('python', default=False, description='Build Python bindings')
- variant('java', default=False, description='Build Java bindings')
- variant('csharp', default=False, when='@3.5:', description='Build C# bindings')
- variant('perl', default=False, when='@:3.4', description='Build Perl bindings')
- variant('php', default=False, when='@:2.3', description='Build PHP bindings')
+ variant("python", default=False, description="Build Python bindings")
+ variant("java", default=False, description="Build Java bindings")
+ variant("csharp", default=False, when="@3.5:", description="Build C# bindings")
+ variant("perl", default=False, when="@:3.4", description="Build Perl bindings")
+ variant("php", default=False, when="@:2.3", description="Build PHP bindings")
# Required dependencies
- depends_on('cmake@3.9:', when='@3.5:', type='build')
- depends_on('ninja', when='@3.5:', type='build')
- depends_on('gmake', when='@:3.4', type='build')
- depends_on('pkgconfig@0.25:', type='build')
- depends_on('proj@6:', when='@3:')
- depends_on('proj@:6', when='@2.5:2')
- depends_on('proj@:5', when='@2.4')
- depends_on('proj@:4', when='@:2.3')
- depends_on('zlib')
- depends_on('libtiff@4:', when='@3:')
- depends_on('libtiff@3.6.0:') # 3.9.0+ needed to pass testsuite
- depends_on('libgeotiff@1.5:', when='@3:')
- depends_on('libgeotiff@1.2.1:1.5', when='@2.4.1:2')
- depends_on('libgeotiff@1.2.1:1.4', when='@:2.4.0')
- depends_on('json-c')
- depends_on('json-c@0.12.1', when='@:2.2')
+ depends_on("cmake@3.9:", when="@3.5:", type="build")
+ depends_on("ninja", when="@3.5:", type="build")
+ depends_on("gmake", when="@:3.4", type="build")
+ depends_on("pkgconfig@0.25:", type="build")
+ depends_on("proj@6:", when="@3:")
+ depends_on("proj@:6", when="@2.5:2")
+ depends_on("proj@:5", when="@2.4")
+ depends_on("proj@:4", when="@:2.3")
+ depends_on("zlib")
+ depends_on("libtiff@4:", when="@3:")
+ depends_on("libtiff@3.6.0:") # 3.9.0+ needed to pass testsuite
+ depends_on("libgeotiff@1.5:", when="@3:")
+ depends_on("libgeotiff@1.2.1:1.5", when="@2.4.1:2")
+ depends_on("libgeotiff@1.2.1:1.4", when="@:2.4.0")
+ depends_on("json-c")
+ depends_on("json-c@0.12.1", when="@:2.2")
# Optional dependencies
- depends_on('armadillo', when='+armadillo')
- depends_on('blas', when='+armadillo')
- depends_on('lapack', when='+armadillo')
- depends_on('arrow', when='+arrow')
- depends_on('c-blosc', when='+blosc')
- depends_on('brunsli', when='+brunsli')
+ depends_on("armadillo", when="+armadillo")
+ depends_on("blas", when="+armadillo")
+ depends_on("lapack", when="+armadillo")
+ depends_on("arrow", when="+arrow")
+ depends_on("c-blosc", when="+blosc")
+ depends_on("brunsli", when="+brunsli")
# depends_on('bsb', when='+bdb')
- depends_on('cfitsio', when='+cfitsio')
+ depends_on("cfitsio", when="+cfitsio")
# depends_on('crunch', when='+crnlib')
- depends_on('curl', when='+curl')
- depends_on('cryptopp', when='+cryptopp')
- depends_on('libdeflate', when='+deflate')
+ depends_on("curl", when="+curl")
+ depends_on("cryptopp", when="+cryptopp")
+ depends_on("libdeflate", when="+deflate")
# depends_on('dods', when='+dods')
# depends_on('ecw', when='+ecw')
# depends_on('libepsilon', when='+epsilon')
- depends_on('expat@1.95:', when='+expat')
+ depends_on("expat@1.95:", when="+expat")
# depends_on('filegdb', when='+filegdb')
# depends_on('fme', when='+fme')
- depends_on('freexl', when='+freexl')
- depends_on('fyba', when='+fyba')
- depends_on('geos@3.1:', when='+geos')
- depends_on('giflib', when='+gif')
- depends_on('grass@5.7:', when='+grass')
- depends_on('grib-api', when='+grib')
+ depends_on("freexl", when="+freexl")
+ depends_on("fyba", when="+fyba")
+ depends_on("geos@3.1:", when="+geos")
+ depends_on("giflib", when="+gif")
+ depends_on("grass@5.7:", when="+grass")
+ depends_on("grib-api", when="+grib")
# depends_on('gta', when='+gta')
# depends_on('heif@1.1:', when='+heif')
- depends_on('hdf', when='+hdf4')
- depends_on('hdf5+cxx', when='+hdf5')
- depends_on('hdf5@:1.12', when='@:3.4.1 +hdf5')
- depends_on('hadoop', when='+hdfs')
- depends_on('iconv', when='+iconv')
+ depends_on("hdf", when="+hdf4")
+ depends_on("hdf5+cxx", when="+hdf5")
+ depends_on("hdf5@:1.12", when="@:3.4.1 +hdf5")
+ depends_on("hadoop", when="+hdfs")
+ depends_on("iconv", when="+iconv")
# depends_on('idb', when='+idb')
# depends_on('ingres', when='+ingres')
- depends_on('jasper@1.900.1', patches=[patch('uuid.patch')], when='+jasper')
- depends_on('jpeg', when='+jpeg')
+ depends_on("jasper@1.900.1", patches=[patch("uuid.patch")], when="+jasper")
+ depends_on("jpeg", when="+jpeg")
# depends_on('libjxl', when='+jxl')
# depends_on('kakadu', when='+kdu')
- depends_on('kealib', when='+kea')
- depends_on('lerc', when='+lerc')
+ depends_on("kealib", when="+kea")
+ depends_on("lerc", when="+lerc")
# depends_on('libcsf', when='+libcsf')
- depends_on('libkml@1.3:', when='+libkml')
- depends_on('xz', when='+liblzma')
- depends_on('libxml2', when='+libxml2')
+ depends_on("libkml@1.3:", when="+libkml")
+ depends_on("xz", when="+liblzma")
+ depends_on("libxml2", when="+libxml2")
# depends_on('luratech', when='+luratech')
- depends_on('lz4', when='+lz4')
- depends_on('jackcess@1.2', type='run', when='+mdb')
- depends_on('mongo-cxx-driver', when='+mongocxx')
+ depends_on("lz4", when="+lz4")
+ depends_on("jackcess@1.2", type="run", when="+mdb")
+ depends_on("mongo-cxx-driver", when="+mongocxx")
# depends_on('bsoncxx', when='+mongocxx')
# depends_on('mrf', when='+mrf')
# depends_on('mrsid', when='+mrsid')
# depends_on('lizardtech-lidar', when='+mrsid_lidar')
# depends_on('mssql_ncli', when='+mssql_ncli')
# depends_on('mssql_odbc', when='+mssql_odbc')
- depends_on('mysql', when='+mysql')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('unixodbc', when='+odbc')
+ depends_on("mysql", when="+mysql")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("unixodbc", when="+odbc")
# depends_on('odbc-cpp-wrapper', when='+odbccpp')
# depends_on('ogdi', when='+ogdi')
# depends_on('lib-opencad', when='+opencad')
- depends_on('opencl', when='+opencl')
- depends_on('openexr@2.2:', when='+openexr')
- depends_on('openjpeg', when='+openjpeg')
- depends_on('openssl', when='+openssl')
- depends_on('oracle-instant-client', when='+oracle')
- depends_on('parquet-cpp', when='+parquet')
+ depends_on("opencl", when="+opencl")
+ depends_on("openexr@2.2:", when="+openexr")
+ depends_on("openjpeg", when="+openjpeg")
+ depends_on("openssl", when="+openssl")
+ depends_on("oracle-instant-client", when="+oracle")
+ depends_on("parquet-cpp", when="+parquet")
# depends_on('pcidsk', when='+pcidsk')
- depends_on('pcre2', when='@3.5:+pcre')
- depends_on('pcre', when='@:3.4+pcre')
+ depends_on("pcre2", when="@3.5:+pcre")
+ depends_on("pcre", when="@:3.4+pcre")
# depends_on('pdfium', when='+pdfium')
- depends_on('libpng', when='+png')
+ depends_on("libpng", when="+png")
# depends_on('podofo', when='+podofo')
- depends_on('poppler', when='+poppler')
- depends_on('poppler@0.24:', when='@3: +poppler')
- depends_on('poppler@:0.63', when='@:2.3 +poppler')
- depends_on('poppler@:0.71', when='@:2.4 +poppler')
- depends_on('poppler@:21', when='@:3.4.1 +poppler')
- depends_on('postgresql', when='+postgresql')
- depends_on('qhull', when='+qhull')
- depends_on('qhull@2015:', when='@3.5:+qhull')
- depends_on('qhull@:2020.1', when='@:3.3+qhull')
+ depends_on("poppler", when="+poppler")
+ depends_on("poppler@0.24:", when="@3: +poppler")
+ depends_on("poppler@:0.63", when="@:2.3 +poppler")
+ depends_on("poppler@:0.71", when="@:2.4 +poppler")
+ depends_on("poppler@:21", when="@:3.4.1 +poppler")
+ depends_on("postgresql", when="+postgresql")
+ depends_on("qhull", when="+qhull")
+ depends_on("qhull@2015:", when="@3.5:+qhull")
+ depends_on("qhull@:2020.1", when="@:3.3+qhull")
# depends_on('rasdaman', when='+rasdaman')
# depends_on('rasterlite2@1.1:', when='+rasterlite2')
# depends_on('rdblib', when='+rdb')
# depends_on('sde', when='+sde')
- depends_on('sfcgal', when='+sfcgal')
- depends_on('libspatialite', when='+spatialite')
- depends_on('sqlite@3:', when='+sqlite3')
+ depends_on("sfcgal", when="+sfcgal")
+ depends_on("libspatialite", when="+spatialite")
+ depends_on("sqlite@3:", when="+sqlite3")
# depends_on('teigha', when='+teigha')
# depends_on('tiledb', when='+tiledb')
- depends_on('libwebp', when='+webp')
- depends_on('xerces-c@3.1:', when='+xercesc')
- depends_on('zstd', when='+zstd')
+ depends_on("libwebp", when="+webp")
+ depends_on("xerces-c@3.1:", when="+xercesc")
+ depends_on("zstd", when="+zstd")
# Language bindings
# FIXME: Allow packages to extend multiple packages
# See https://github.com/spack/spack/issues/987
- extends('python', when='+python')
+ extends("python", when="+python")
# extends('openjdk', when='+java')
# extends('perl', when='+perl')
# see gdal_version_and_min_supported_python_version
# in swig/python/osgeo/__init__.py
- depends_on('python@3.6:', type=('build', 'link', 'run'), when='@3.3:+python')
- depends_on('python@2.0:', type=('build', 'link', 'run'), when='@3.2:+python')
- depends_on('python', type=('build', 'link', 'run'), when='+python')
+ depends_on("python@3.6:", type=("build", "link", "run"), when="@3.3:+python")
+ depends_on("python@2.0:", type=("build", "link", "run"), when="@3.2:+python")
+ depends_on("python", type=("build", "link", "run"), when="+python")
# swig/python/setup.py
- depends_on('py-setuptools@:57', type='build', when='@:3.2+python') # needs 2to3
- depends_on('py-setuptools', type='build', when='+python')
- depends_on('py-numpy@1.0.0:', type=('build', 'run'), when='+python')
- depends_on('swig', type='build', when='+python')
- depends_on('java@7:', type=('build', 'link', 'run'), when='@3.2:+java')
- depends_on('java@6:', type=('build', 'link', 'run'), when='@2.4:+java')
- depends_on('java@5:', type=('build', 'link', 'run'), when='@2.1:+java')
- depends_on('java@4:', type=('build', 'link', 'run'), when='@:2.0+java')
- depends_on('ant', type='build', when='+java')
- depends_on('swig', type='build', when='+java')
- depends_on('perl', type=('build', 'run'), when='+perl')
- depends_on('swig', type='build', when='+perl')
- depends_on('php', type=('build', 'link', 'run'), when='+php')
- depends_on('swig', type='build', when='+php')
+ depends_on("py-setuptools@:57", type="build", when="@:3.2+python") # needs 2to3
+ depends_on("py-setuptools", type="build", when="+python")
+ depends_on("py-numpy@1.0.0:", type=("build", "run"), when="+python")
+ depends_on("swig", type="build", when="+python")
+ depends_on("java@7:", type=("build", "link", "run"), when="@3.2:+java")
+ depends_on("java@6:", type=("build", "link", "run"), when="@2.4:+java")
+ depends_on("java@5:", type=("build", "link", "run"), when="@2.1:+java")
+ depends_on("java@4:", type=("build", "link", "run"), when="@:2.0+java")
+ depends_on("ant", type="build", when="+java")
+ depends_on("swig", type="build", when="+java")
+ depends_on("perl", type=("build", "run"), when="+perl")
+ depends_on("swig", type="build", when="+perl")
+ depends_on("php", type=("build", "link", "run"), when="+php")
+ depends_on("swig", type="build", when="+php")
# https://trac.osgeo.org/gdal/wiki/SupportedCompilers
- msg = 'GDAL requires C++11 support'
- conflicts('%gcc@:4.8.0', msg=msg)
- conflicts('%clang@:3.2', msg=msg)
- conflicts('%intel@:12', msg=msg)
- conflicts('%xl@:13.0', msg=msg)
- conflicts('%xl_r@:13.0', msg=msg)
+ msg = "GDAL requires C++11 support"
+ conflicts("%gcc@:4.8.0", msg=msg)
+ conflicts("%clang@:3.2", msg=msg)
+ conflicts("%intel@:12", msg=msg)
+ conflicts("%xl@:13.0", msg=msg)
+ conflicts("%xl_r@:13.0", msg=msg)
# https://github.com/OSGeo/gdal/issues/5994
- conflicts('~png', when='@3:3.5.0')
- conflicts('~jpeg', when='@3:3.5.0')
+ conflicts("~png", when="@3:3.5.0")
+ conflicts("~jpeg", when="@3:3.5.0")
# TODO: investigate build issues
- conflicts('+brunsli', when='@3.4')
- conflicts('+qhull', when='@2.1')
- conflicts('+mdb', when='~java', msg='MDB driver requires Java')
+ conflicts("+brunsli", when="@3.4")
+ conflicts("+qhull", when="@2.1")
+ conflicts("+mdb", when="~java", msg="MDB driver requires Java")
# TODO: add packages for the following dependencies
- conflicts('+bsb')
- conflicts('+crnlib')
- conflicts('+dods')
- conflicts('+ecw')
- conflicts('+epsilon')
- conflicts('+filegdb')
- conflicts('+fme')
- conflicts('+gta')
- conflicts('+heif')
- conflicts('+idb')
- conflicts('+ingres')
- conflicts('+jxl')
- conflicts('+kdu')
- conflicts('+libcsf')
- conflicts('+luratech')
- conflicts('+mrf')
- conflicts('+mrsid')
- conflicts('+mrsid_lidar')
- conflicts('+mssql_ncli')
- conflicts('+mssql_odbc')
- conflicts('+odbccpp')
- conflicts('+ogdi')
- conflicts('+opencad')
- conflicts('+pcidsk')
- conflicts('+pdfium')
- conflicts('+podofo')
- conflicts('+rasdaman')
- conflicts('+rasterlite2')
- conflicts('+rdb')
- conflicts('+sde')
- conflicts('+teigha')
- conflicts('+tiledb')
+ conflicts("+bsb")
+ conflicts("+crnlib")
+ conflicts("+dods")
+ conflicts("+ecw")
+ conflicts("+epsilon")
+ conflicts("+filegdb")
+ conflicts("+fme")
+ conflicts("+gta")
+ conflicts("+heif")
+ conflicts("+idb")
+ conflicts("+ingres")
+ conflicts("+jxl")
+ conflicts("+kdu")
+ conflicts("+libcsf")
+ conflicts("+luratech")
+ conflicts("+mrf")
+ conflicts("+mrsid")
+ conflicts("+mrsid_lidar")
+ conflicts("+mssql_ncli")
+ conflicts("+mssql_odbc")
+ conflicts("+odbccpp")
+ conflicts("+ogdi")
+ conflicts("+opencad")
+ conflicts("+pcidsk")
+ conflicts("+pdfium")
+ conflicts("+podofo")
+ conflicts("+rasdaman")
+ conflicts("+rasterlite2")
+ conflicts("+rdb")
+ conflicts("+sde")
+ conflicts("+teigha")
+ conflicts("+tiledb")
# https://github.com/OSGeo/gdal/issues/3782
- patch('https://github.com/OSGeo/gdal/pull/3786.patch?full_index=1', when='@3.3.0', level=2,
- sha256='9f9824296e75b34b3e78284ec772a5ac8f8ba92c17253ea9ca242caf766767ce')
+ patch(
+ "https://github.com/OSGeo/gdal/pull/3786.patch?full_index=1",
+ when="@3.3.0",
+ level=2,
+ sha256="9f9824296e75b34b3e78284ec772a5ac8f8ba92c17253ea9ca242caf766767ce",
+ )
- generator = 'Ninja'
- executables = ['^gdal-config$']
+ generator = "Ninja"
+ executables = ["^gdal-config$"]
@classmethod
def determine_version(cls, exe):
- return Executable(exe)('--version', output=str, error=str).rstrip()
+ return Executable(exe)("--version", output=str, error=str).rstrip()
@property
def import_modules(self):
- modules = ['osgeo']
- if self.spec.satisfies('@3.3:'):
- modules.append('osgeo_utils')
+ modules = ["osgeo"]
+ if self.spec.satisfies("@3.3:"):
+ modules.append("osgeo_utils")
else:
- modules.append('osgeo.utils')
+ modules.append("osgeo.utils")
return modules
- @when('@:3.4')
+ @when("@:3.4")
def setup_build_environment(self, env):
# Needed to install Python bindings to GDAL installation
# prefix instead of Python installation prefix.
# See swig/python/GNUmakefile for more details.
- env.set('PREFIX', self.prefix)
- env.set('DESTDIR', '/')
+ env.set("PREFIX", self.prefix)
+ env.set("DESTDIR", "/")
def setup_run_environment(self, env):
- if '+java' in self.spec:
- class_paths = find(self.prefix, '*.jar')
+ if "+java" in self.spec:
+ class_paths = find(self.prefix, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
# `spack test run gdal+python` requires these for the Python bindings
# to find the correct libraries
libs = []
- for dep in self.spec.dependencies(deptype='link'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
libs.extend(filter_system_paths(query.libs.directories))
- if sys.platform == 'darwin':
- env.prepend_path('DYLD_FALLBACK_LIBRARY_PATH', ':'.join(libs))
+ if sys.platform == "darwin":
+ env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", ":".join(libs))
else:
- env.prepend_path('LD_LIBRARY_PATH', ':'.join(libs))
+ env.prepend_path("LD_LIBRARY_PATH", ":".join(libs))
def patch(self):
- if '+java platform=darwin' in self.spec:
- filter_file('linux', 'darwin', 'swig/java/java.opt', string=True)
+ if "+java platform=darwin" in self.spec:
+ filter_file("linux", "darwin", "swig/java/java.opt", string=True)
def cmake_args(self):
# https://gdal.org/build_hints.html
args = [
# Only use Spack-installed dependencies
- self.define('GDAL_USE_EXTERNAL_LIBS', False),
- self.define('GDAL_USE_INTERNAL_LIBS', False),
-
+ self.define("GDAL_USE_EXTERNAL_LIBS", False),
+ self.define("GDAL_USE_INTERNAL_LIBS", False),
# Required dependencies
- self.define('GDAL_USE_GEOTIFF', True),
- self.define('GDAL_USE_JSONC', True),
- self.define('GDAL_USE_TIFF', True),
- self.define('GDAL_USE_ZLIB', True),
-
+ self.define("GDAL_USE_GEOTIFF", True),
+ self.define("GDAL_USE_JSONC", True),
+ self.define("GDAL_USE_TIFF", True),
+ self.define("GDAL_USE_ZLIB", True),
# Optional dependencies
- self.define_from_variant('GDAL_USE_ARMADILLO', 'armadillo'),
- self.define_from_variant('GDAL_USE_ARROW', 'arrow'),
- self.define_from_variant('GDAL_USE_BLOSC', 'blosc'),
- self.define_from_variant('GDAL_USE_BRUNSLI', 'brunsli'),
- self.define_from_variant('GDAL_USE_CFITSIO', 'cfitsio'),
- self.define_from_variant('GDAL_USE_CRNLIB', 'crnlib'),
- self.define_from_variant('GDAL_USE_CRYPTOPP', 'cryptopp'),
- self.define_from_variant('GDAL_USE_CURL', 'curl'),
- self.define_from_variant('GDAL_USE_DEFLATE', 'deflate'),
- self.define_from_variant('GDAL_USE_ECW', 'ecw'),
- self.define_from_variant('GDAL_USE_EXPAT', 'expat'),
- self.define_from_variant('GDAL_USE_FILEGDB', 'filegdb'),
- self.define_from_variant('GDAL_USE_FREEXL', 'freexl'),
- self.define_from_variant('GDAL_USE_FYBA', 'fyba'),
- self.define_from_variant('GDAL_USE_GEOS', 'geos'),
- self.define_from_variant('GDAL_USE_GIF', 'gif'),
- self.define_from_variant('GDAL_USE_GTA', 'gta'),
- self.define_from_variant('GDAL_USE_HEIF', 'heif'),
- self.define_from_variant('GDAL_USE_HDF4', 'hdf4'),
- self.define_from_variant('GDAL_USE_HDF5', 'hdf5'),
- self.define_from_variant('GDAL_USE_HDFS', 'hdfs'),
- self.define_from_variant('GDAL_USE_ICONV', 'iconv'),
- self.define_from_variant('GDAL_USE_IDB', 'idb'),
- self.define_from_variant('GDAL_USE_JPEG', 'jpeg'),
- self.define_from_variant('GDAL_USE_JXL', 'jxl'),
- self.define_from_variant('GDAL_USE_KDU', 'kdu'),
- self.define_from_variant('GDAL_USE_KEA', 'kea'),
- self.define_from_variant('GDAL_USE_LERC', 'lerc'),
- self.define_from_variant('GDAL_USE_LIBCSF', 'libcsf'),
- self.define_from_variant('GDAL_USE_LIBKML', 'libkml'),
- self.define_from_variant('GDAL_USE_LIBLZMA', 'liblzma'),
- self.define_from_variant('GDAL_USE_LIBXML2', 'libxml2'),
- self.define_from_variant('GDAL_USE_LURATECH', 'luratech'),
- self.define_from_variant('GDAL_USE_LZ4', 'lz4'),
- self.define_from_variant('GDAL_USE_MONGOCXX', 'mongocxx'),
- self.define_from_variant('GDAL_USE_MRSID', 'mrsid'),
- self.define_from_variant('GDAL_USE_MSSQL_NCLI', 'mssql_ncli'),
- self.define_from_variant('GDAL_USE_MSSQL_ODBC', 'mssql_odbc'),
- self.define_from_variant('GDAL_USE_MYSQL', 'mysql'),
- self.define_from_variant('GDAL_USE_NETCDF', 'netcdf'),
- self.define_from_variant('GDAL_USE_ODBC', 'odbc'),
- self.define_from_variant('GDAL_USE_ODBCCPP', 'odbccpp'),
- self.define_from_variant('GDAL_USE_OGDI', 'ogdi'),
- self.define_from_variant('GDAL_USE_OPENCAD', 'opencad'),
- self.define_from_variant('GDAL_USE_OPENCL', 'opencl'),
- self.define_from_variant('GDAL_USE_OPENEXR', 'openexr'),
- self.define_from_variant('GDAL_USE_OPENJPEG', 'openjpeg'),
- self.define_from_variant('GDAL_USE_OPENSSL', 'openssl'),
- self.define_from_variant('GDAL_USE_ORACLE', 'oracle'),
- self.define_from_variant('GDAL_USE_PARQUET', 'parquet'),
- self.define_from_variant('GDAL_USE_PCRE2', 'pcre'),
- self.define_from_variant('GDAL_USE_PDFIUM', 'pdfium'),
- self.define_from_variant('GDAL_USE_PNG', 'png'),
- self.define_from_variant('GDAL_USE_PODOFO', 'podofo'),
- self.define_from_variant('GDAL_USE_POPPLER', 'poppler'),
- self.define_from_variant('GDAL_USE_POSTGRESQL', 'postgresql'),
- self.define_from_variant('GDAL_USE_QHULL', 'qhull'),
- self.define_from_variant('GDAL_USE_RASDAMAN', 'rasdaman'),
- self.define_from_variant('GDAL_USE_RASTERLITE2', 'rasterlite2'),
- self.define_from_variant('GDAL_USE_RDB', 'rdb'),
- self.define_from_variant('GDAL_USE_SFCGAL', 'sfcgal'),
- self.define_from_variant('GDAL_USE_SPATIALITE', 'spatialite'),
- self.define_from_variant('GDAL_USE_SQLITE3', 'sqlite3'),
- self.define_from_variant('GDAL_USE_TEIGHA', 'teigha'),
- self.define_from_variant('GDAL_USE_TILEDB', 'tiledb'),
- self.define_from_variant('GDAL_USE_WEBP', 'webp'),
- self.define_from_variant('GDAL_USE_XERCESC', 'xercesc'),
- self.define_from_variant('GDAL_USE_ZSTD', 'zstd'),
-
+ self.define_from_variant("GDAL_USE_ARMADILLO", "armadillo"),
+ self.define_from_variant("GDAL_USE_ARROW", "arrow"),
+ self.define_from_variant("GDAL_USE_BLOSC", "blosc"),
+ self.define_from_variant("GDAL_USE_BRUNSLI", "brunsli"),
+ self.define_from_variant("GDAL_USE_CFITSIO", "cfitsio"),
+ self.define_from_variant("GDAL_USE_CRNLIB", "crnlib"),
+ self.define_from_variant("GDAL_USE_CRYPTOPP", "cryptopp"),
+ self.define_from_variant("GDAL_USE_CURL", "curl"),
+ self.define_from_variant("GDAL_USE_DEFLATE", "deflate"),
+ self.define_from_variant("GDAL_USE_ECW", "ecw"),
+ self.define_from_variant("GDAL_USE_EXPAT", "expat"),
+ self.define_from_variant("GDAL_USE_FILEGDB", "filegdb"),
+ self.define_from_variant("GDAL_USE_FREEXL", "freexl"),
+ self.define_from_variant("GDAL_USE_FYBA", "fyba"),
+ self.define_from_variant("GDAL_USE_GEOS", "geos"),
+ self.define_from_variant("GDAL_USE_GIF", "gif"),
+ self.define_from_variant("GDAL_USE_GTA", "gta"),
+ self.define_from_variant("GDAL_USE_HEIF", "heif"),
+ self.define_from_variant("GDAL_USE_HDF4", "hdf4"),
+ self.define_from_variant("GDAL_USE_HDF5", "hdf5"),
+ self.define_from_variant("GDAL_USE_HDFS", "hdfs"),
+ self.define_from_variant("GDAL_USE_ICONV", "iconv"),
+ self.define_from_variant("GDAL_USE_IDB", "idb"),
+ self.define_from_variant("GDAL_USE_JPEG", "jpeg"),
+ self.define_from_variant("GDAL_USE_JXL", "jxl"),
+ self.define_from_variant("GDAL_USE_KDU", "kdu"),
+ self.define_from_variant("GDAL_USE_KEA", "kea"),
+ self.define_from_variant("GDAL_USE_LERC", "lerc"),
+ self.define_from_variant("GDAL_USE_LIBCSF", "libcsf"),
+ self.define_from_variant("GDAL_USE_LIBKML", "libkml"),
+ self.define_from_variant("GDAL_USE_LIBLZMA", "liblzma"),
+ self.define_from_variant("GDAL_USE_LIBXML2", "libxml2"),
+ self.define_from_variant("GDAL_USE_LURATECH", "luratech"),
+ self.define_from_variant("GDAL_USE_LZ4", "lz4"),
+ self.define_from_variant("GDAL_USE_MONGOCXX", "mongocxx"),
+ self.define_from_variant("GDAL_USE_MRSID", "mrsid"),
+ self.define_from_variant("GDAL_USE_MSSQL_NCLI", "mssql_ncli"),
+ self.define_from_variant("GDAL_USE_MSSQL_ODBC", "mssql_odbc"),
+ self.define_from_variant("GDAL_USE_MYSQL", "mysql"),
+ self.define_from_variant("GDAL_USE_NETCDF", "netcdf"),
+ self.define_from_variant("GDAL_USE_ODBC", "odbc"),
+ self.define_from_variant("GDAL_USE_ODBCCPP", "odbccpp"),
+ self.define_from_variant("GDAL_USE_OGDI", "ogdi"),
+ self.define_from_variant("GDAL_USE_OPENCAD", "opencad"),
+ self.define_from_variant("GDAL_USE_OPENCL", "opencl"),
+ self.define_from_variant("GDAL_USE_OPENEXR", "openexr"),
+ self.define_from_variant("GDAL_USE_OPENJPEG", "openjpeg"),
+ self.define_from_variant("GDAL_USE_OPENSSL", "openssl"),
+ self.define_from_variant("GDAL_USE_ORACLE", "oracle"),
+ self.define_from_variant("GDAL_USE_PARQUET", "parquet"),
+ self.define_from_variant("GDAL_USE_PCRE2", "pcre"),
+ self.define_from_variant("GDAL_USE_PDFIUM", "pdfium"),
+ self.define_from_variant("GDAL_USE_PNG", "png"),
+ self.define_from_variant("GDAL_USE_PODOFO", "podofo"),
+ self.define_from_variant("GDAL_USE_POPPLER", "poppler"),
+ self.define_from_variant("GDAL_USE_POSTGRESQL", "postgresql"),
+ self.define_from_variant("GDAL_USE_QHULL", "qhull"),
+ self.define_from_variant("GDAL_USE_RASDAMAN", "rasdaman"),
+ self.define_from_variant("GDAL_USE_RASTERLITE2", "rasterlite2"),
+ self.define_from_variant("GDAL_USE_RDB", "rdb"),
+ self.define_from_variant("GDAL_USE_SFCGAL", "sfcgal"),
+ self.define_from_variant("GDAL_USE_SPATIALITE", "spatialite"),
+ self.define_from_variant("GDAL_USE_SQLITE3", "sqlite3"),
+ self.define_from_variant("GDAL_USE_TEIGHA", "teigha"),
+ self.define_from_variant("GDAL_USE_TILEDB", "tiledb"),
+ self.define_from_variant("GDAL_USE_WEBP", "webp"),
+ self.define_from_variant("GDAL_USE_XERCESC", "xercesc"),
+ self.define_from_variant("GDAL_USE_ZSTD", "zstd"),
# Language bindings
- self.define_from_variant('BUILD_PYTHON_BINDINGS', 'python'),
- self.define_from_variant('BUILD_JAVA_BINDINGS', 'java'),
- self.define_from_variant('BUILD_CSHARP_BINDINGS', 'csharp'),
+ self.define_from_variant("BUILD_PYTHON_BINDINGS", "python"),
+ self.define_from_variant("BUILD_JAVA_BINDINGS", "java"),
+ self.define_from_variant("BUILD_CSHARP_BINDINGS", "csharp"),
]
# Remove empty strings
@@ -508,200 +540,196 @@ class Gdal(CMakePackage):
raise KeyError(msg.format(variant, self.name))
if variant not in self.spec.variants:
- return ''
+ return ""
if self.spec.variants[variant].value:
if package:
value = self.spec[package].prefix
- if attribute == 'command':
+ if attribute == "command":
value = self.spec[package].command.path
- elif attribute == 'libs':
+ elif attribute == "libs":
value = self.spec[package].libs.directories[0]
- return '--with-{}={}'.format(name, value)
+ return "--with-{}={}".format(name, value)
else:
- return '--with-{}'.format(name)
+ return "--with-{}".format(name)
else:
- return '--without-{}'.format(name)
+ return "--without-{}".format(name)
def configure_args(self):
# https://trac.osgeo.org/gdal/wiki/BuildHints
args = [
- '--prefix={}'.format(self.prefix),
-
+ "--prefix={}".format(self.prefix),
# Required dependencies
- '--with-geotiff={}'.format(self.spec['libgeotiff'].prefix),
- '--with-libjson-c={}'.format(self.spec['json-c'].prefix),
- '--with-libtiff={}'.format(self.spec['libtiff'].prefix),
- '--with-libz={}'.format(self.spec['zlib'].prefix),
-
+ "--with-geotiff={}".format(self.spec["libgeotiff"].prefix),
+ "--with-libjson-c={}".format(self.spec["json-c"].prefix),
+ "--with-libtiff={}".format(self.spec["libtiff"].prefix),
+ "--with-libz={}".format(self.spec["zlib"].prefix),
# Optional dependencies
- self.with_or_without('armadillo', package='armadillo'),
- self.with_or_without('blosc', package='c-blosc'),
- self.with_or_without('brunsli'),
- self.with_or_without('bsb'),
- self.with_or_without('cfitsio', package='cfitsio'),
- self.with_or_without('dds', variant='crnlib', package='crunch'),
- self.with_or_without('curl', package='curl', attribute='command'),
- self.with_or_without('cryptopp', package='cryptopp'),
- self.with_or_without('libdeflate', variant='deflate', package='libdeflate'),
- self.with_or_without('dods-root', variant='dods', package='dods'),
- self.with_or_without('ecw', package='ecw'),
- self.with_or_without('epsilon', package='libepsilon'),
- self.with_or_without('expat', package='expat'),
- self.with_or_without('fgdb', variant='filegdb', package='filegdb'),
- self.with_or_without('fme', package='fme'),
- self.with_or_without('freexl', package='freexl'),
- self.with_or_without('sosi', variant='fyba', package='fyba'),
- self.with_or_without('geos', package='geos', attribute='command'),
- self.with_or_without('gif', package='giflib'),
- self.with_or_without('grass', package='grass'),
- self.with_or_without('grib'),
- self.with_or_without('libgrass', variant='grass'),
- self.with_or_without('gta', package='gta'),
- self.with_or_without('heif'),
- self.with_or_without('hdf4', package='hdf'),
- self.with_or_without('hdf5', package='hdf5'),
- self.with_or_without('hdfs', package='hadoop'),
- self.with_or_without('libiconv-prefix', variant='iconv', package='iconv'),
- self.with_or_without('idb', package='idb'),
- self.with_or_without('ingres', package='ingres'),
- self.with_or_without('jasper', package='jasper'),
- self.with_or_without('jpeg', package='jpeg'),
- self.with_or_without('jxl'),
- self.with_or_without('kakadu', variant='kdu'),
- self.with_or_without('kea', package='kealib', attribute='command'),
- self.with_or_without('lerc', package='lerc'),
- self.with_or_without('pcraster', variant='libcsf', package='libcsf'),
- self.with_or_without('libkml', package='libkml'),
- self.with_or_without('liblzma'),
- self.with_or_without('jp2lura', variant='luratech', package='luratech'),
- self.with_or_without('lz4', package='lz4'),
- self.with_or_without('mdb'),
- self.with_or_without('mrf'),
- self.with_or_without('mrsid', package='mrsid'),
- self.with_or_without('mrsid_lidar', package='lizardtech-lidar'),
- self.with_or_without('mysql', package='mysql', attribute='command'),
- self.with_or_without('netcdf', package='netcdf-c'),
- self.with_or_without('odbc', package='unixodbc'),
- self.with_or_without('hana', variant='odbccpp', package='odbc-cpp-wrapper'),
- self.with_or_without('ogdi', package='ogdi'),
- self.with_or_without('opencl'),
- self.with_or_without('exr', variant='openexr'),
- self.with_or_without('openjpeg'),
- self.with_or_without('crypto', variant='openssl', package='openssl'),
- self.with_or_without(
- 'oci', variant='oracle', package='oracle-instant-client'
- ),
- self.with_or_without('pcidsk', package='pcidsk'),
- self.with_or_without('pcre'),
- self.with_or_without('pdfium', package='pdfium'),
- self.with_or_without('png', package='libpng'),
- self.with_or_without('podofo', package='podofo'),
- self.with_or_without('poppler', package='poppler'),
- self.with_or_without('qhull'),
- self.with_or_without('rasdaman', package='rasdaman'),
- self.with_or_without('rasterlite2', package='rasterlite2'),
- self.with_or_without('rdb', package='rdb'),
- self.with_or_without('sde', package='sde'),
- self.with_or_without('spatialite', package='libspatialite'),
- self.with_or_without('sqlite3', package='sqlite'),
- self.with_or_without('sfcgal', package='sfcgal', attribute='command'),
- self.with_or_without('tiledb', package='tiledb'),
- self.with_or_without('webp', package='libwebp'),
- self.with_or_without('xerces', variant='xercesc', package='xerces-c'),
- self.with_or_without('zstd', package='zstd'),
-
+ self.with_or_without("armadillo", package="armadillo"),
+ self.with_or_without("blosc", package="c-blosc"),
+ self.with_or_without("brunsli"),
+ self.with_or_without("bsb"),
+ self.with_or_without("cfitsio", package="cfitsio"),
+ self.with_or_without("dds", variant="crnlib", package="crunch"),
+ self.with_or_without("curl", package="curl", attribute="command"),
+ self.with_or_without("cryptopp", package="cryptopp"),
+ self.with_or_without("libdeflate", variant="deflate", package="libdeflate"),
+ self.with_or_without("dods-root", variant="dods", package="dods"),
+ self.with_or_without("ecw", package="ecw"),
+ self.with_or_without("epsilon", package="libepsilon"),
+ self.with_or_without("expat", package="expat"),
+ self.with_or_without("fgdb", variant="filegdb", package="filegdb"),
+ self.with_or_without("fme", package="fme"),
+ self.with_or_without("freexl", package="freexl"),
+ self.with_or_without("sosi", variant="fyba", package="fyba"),
+ self.with_or_without("geos", package="geos", attribute="command"),
+ self.with_or_without("gif", package="giflib"),
+ self.with_or_without("grass", package="grass"),
+ self.with_or_without("grib"),
+ self.with_or_without("libgrass", variant="grass"),
+ self.with_or_without("gta", package="gta"),
+ self.with_or_without("heif"),
+ self.with_or_without("hdf4", package="hdf"),
+ self.with_or_without("hdf5", package="hdf5"),
+ self.with_or_without("hdfs", package="hadoop"),
+ self.with_or_without("libiconv-prefix", variant="iconv", package="iconv"),
+ self.with_or_without("idb", package="idb"),
+ self.with_or_without("ingres", package="ingres"),
+ self.with_or_without("jasper", package="jasper"),
+ self.with_or_without("jpeg", package="jpeg"),
+ self.with_or_without("jxl"),
+ self.with_or_without("kakadu", variant="kdu"),
+ self.with_or_without("kea", package="kealib", attribute="command"),
+ self.with_or_without("lerc", package="lerc"),
+ self.with_or_without("pcraster", variant="libcsf", package="libcsf"),
+ self.with_or_without("libkml", package="libkml"),
+ self.with_or_without("liblzma"),
+ self.with_or_without("jp2lura", variant="luratech", package="luratech"),
+ self.with_or_without("lz4", package="lz4"),
+ self.with_or_without("mdb"),
+ self.with_or_without("mrf"),
+ self.with_or_without("mrsid", package="mrsid"),
+ self.with_or_without("mrsid_lidar", package="lizardtech-lidar"),
+ self.with_or_without("mysql", package="mysql", attribute="command"),
+ self.with_or_without("netcdf", package="netcdf-c"),
+ self.with_or_without("odbc", package="unixodbc"),
+ self.with_or_without("hana", variant="odbccpp", package="odbc-cpp-wrapper"),
+ self.with_or_without("ogdi", package="ogdi"),
+ self.with_or_without("opencl"),
+ self.with_or_without("exr", variant="openexr"),
+ self.with_or_without("openjpeg"),
+ self.with_or_without("crypto", variant="openssl", package="openssl"),
+ self.with_or_without("oci", variant="oracle", package="oracle-instant-client"),
+ self.with_or_without("pcidsk", package="pcidsk"),
+ self.with_or_without("pcre"),
+ self.with_or_without("pdfium", package="pdfium"),
+ self.with_or_without("png", package="libpng"),
+ self.with_or_without("podofo", package="podofo"),
+ self.with_or_without("poppler", package="poppler"),
+ self.with_or_without("qhull"),
+ self.with_or_without("rasdaman", package="rasdaman"),
+ self.with_or_without("rasterlite2", package="rasterlite2"),
+ self.with_or_without("rdb", package="rdb"),
+ self.with_or_without("sde", package="sde"),
+ self.with_or_without("spatialite", package="libspatialite"),
+ self.with_or_without("sqlite3", package="sqlite"),
+ self.with_or_without("sfcgal", package="sfcgal", attribute="command"),
+ self.with_or_without("tiledb", package="tiledb"),
+ self.with_or_without("webp", package="libwebp"),
+ self.with_or_without("xerces", variant="xercesc", package="xerces-c"),
+ self.with_or_without("zstd", package="zstd"),
# Language bindings
- self.with_or_without('python', package='python', attribute='command'),
- self.with_or_without('java', package='java'),
- self.with_or_without(
- 'jvm-lib', variant='mdb', package='java', attribute='libs'
- ),
- self.with_or_without('jvm-lib-add-rpath', variant='mdb'),
- self.with_or_without('perl'),
- self.with_or_without('php'),
+ self.with_or_without("python", package="python", attribute="command"),
+ self.with_or_without("java", package="java"),
+ self.with_or_without("jvm-lib", variant="mdb", package="java", attribute="libs"),
+ self.with_or_without("jvm-lib-add-rpath", variant="mdb"),
+ self.with_or_without("perl"),
+ self.with_or_without("php"),
]
# Renamed or modified flags
- if self.spec.satisfies('@3:'):
- args.extend([
- self.with_or_without('xml2', variant='libxml2'),
- self.with_or_without('mongocxxv3', variant='mongocxx'),
- self.with_or_without('pg', variant='postgresql'),
- ])
- else:
- args.extend([
- self.with_or_without(
- 'xml2', variant='libxml2', package='libxml2', attribute='command'
- ),
- self.with_or_without('mongocxx', variant='mongocxx'),
- self.with_or_without(
- 'pg', variant='postgresql',
- package='postgresql', attribute='command'
- ),
- ])
-
- if self.spec.satisfies('@2.3:'):
- args.append('--with-proj={}'.format(self.spec['proj'].prefix))
-
- if self.spec.satisfies('@2.2:'):
- args.append(self.with_or_without('teigha', package='teigha'))
+ if self.spec.satisfies("@3:"):
+ args.extend(
+ [
+ self.with_or_without("xml2", variant="libxml2"),
+ self.with_or_without("mongocxxv3", variant="mongocxx"),
+ self.with_or_without("pg", variant="postgresql"),
+ ]
+ )
else:
- args.append(
- self.with_or_without('dwgdirect', variant='teigha', package='teigha')
+ args.extend(
+ [
+ self.with_or_without(
+ "xml2", variant="libxml2", package="libxml2", attribute="command"
+ ),
+ self.with_or_without("mongocxx", variant="mongocxx"),
+ self.with_or_without(
+ "pg", variant="postgresql", package="postgresql", attribute="command"
+ ),
+ ]
)
- if '+hdf4' in self.spec:
- hdf4 = self.spec['hdf']
- if '+external-xdr' in hdf4 and hdf4['rpc'].name != 'libc':
- args.append('LIBS=' + hdf4['rpc'].libs.link_flags)
+ if self.spec.satisfies("@2.3:"):
+ args.append("--with-proj={}".format(self.spec["proj"].prefix))
+
+ if self.spec.satisfies("@2.2:"):
+ args.append(self.with_or_without("teigha", package="teigha"))
+ else:
+ args.append(self.with_or_without("dwgdirect", variant="teigha", package="teigha"))
+
+ if "+hdf4" in self.spec:
+ hdf4 = self.spec["hdf"]
+ if "+external-xdr" in hdf4 and hdf4["rpc"].name != "libc":
+ args.append("LIBS=" + hdf4["rpc"].libs.link_flags)
# Remove empty strings
args = [arg for arg in args if arg]
return args
- @when('@:3.4')
+ @when("@:3.4")
def cmake(self, spec, prefix):
configure(*self.configure_args())
- @when('@:3.4')
+ @when("@:3.4")
def build(self, spec, prefix):
# https://trac.osgeo.org/gdal/wiki/GdalOgrInJavaBuildInstructionsUnix
make()
- if '+java' in spec:
- with working_dir('swig/java'):
+ if "+java" in spec:
+ with working_dir("swig/java"):
make()
- @when('@:3.4')
+ @when("@:3.4")
def check(self):
# no top-level test target
- if '+java' in self.spec:
- with working_dir('swig/java'):
- make('test')
+ if "+java" in self.spec:
+ with working_dir("swig/java"):
+ make("test")
- @when('@:3.4')
+ @when("@:3.4")
def install(self, spec, prefix):
- make('install')
- if '+java' in spec:
- with working_dir('swig/java'):
- make('install')
- install('*.jar', prefix)
+ make("install")
+ if "+java" in spec:
+ with working_dir("swig/java"):
+ make("install")
+ install("*.jar", prefix)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('@:3.4 platform=darwin'):
+ if self.spec.satisfies("@:3.4 platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
def test(self):
"""Attempts to import modules of the installed package."""
- if '+python' in self.spec:
+ if "+python" in self.spec:
# Make sure we are importing the installed modules,
# not the ones in the source directory
for module in self.import_modules:
- self.run_test(self.spec['python'].command.path,
- ['-c', 'import {0}'.format(module)],
- purpose='checking import of {0}'.format(module),
- work_dir='spack-test')
+ self.run_test(
+ self.spec["python"].command.path,
+ ["-c", "import {0}".format(module)],
+ purpose="checking import of {0}".format(module),
+ work_dir="spack-test",
+ )
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
index 91a6f6ff08..5431f706d8 100644
--- a/var/spack/repos/builtin/packages/gdb/package.py
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -17,106 +17,107 @@ class Gdb(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/gdb"
gnu_mirror_path = "gdb/gdb-11.2.tar.gz"
- maintainers = ['robertu94']
-
- version('11.2', sha256='b558b66084835e43b6361f60d60d314c487447419cdf53adf83a87020c367290')
- version('11.1', sha256='cc2903474e965a43d09c3b263952d48ced39dd22ce2d01968f3aa181335fcb9c')
- version('10.2', sha256='b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350')
- version('10.1', sha256='f12f388b99e1408c01308c3f753313fafa45517740c81ab7ed0d511b13e2cf55')
- version('9.2', sha256='38ef247d41ba7cc3f6f93a612a78bab9484de9accecbe3b0150a3c0391a3faf0')
- version('9.1', sha256='fcda54d4f35bc53fb24b50009a71ca98410d71ff2620942e3c829a7f5d614252')
- version('8.3.1', sha256='26ce655216cd03f4611518a7a1c31d80ec8e884c16715e9ba8b436822e51434b')
- version('8.3', sha256='b2266ec592440d0eec18ee1790f8558b3b8a2845b76cc83a872e39b501ce8a28')
- version('8.2.1', sha256='0107985f1edb8dddef6cdd68a4f4e419f5fec0f488cc204f0b7d482c0c6c9282')
- version('8.2', sha256='847e4b65e5a7b872e86019dd59659029e2b06cae962e0ef345f169dcb4b851b8')
- version('8.1', sha256='e54a2322da050e4b00785370a282b9b8f0b25861ec7cfbbce0115e253eea910e')
- version('8.0.1', sha256='52017d33cab5b6a92455a1a904046d075357abf24153470178c0aadca2d479c5')
- version('8.0', sha256='8968a19e14e176ee026f0ca777657c43456514ad41bb2bc7273e8c4219555ac9')
- version('7.12.1', sha256='142057eacecfb929d52b561eb47a1103c7d504cec3f659dd8a5ae7bc378f7e77')
- version('7.11.1', sha256='57e9e9aa3172ee16aa1e9c66fef08b4393b51872cc153e3f1ffdf18a57440586')
- version('7.10.1', sha256='ff14f8050e6484508c73cbfa63731e57901478490ca1672dc0b5e2b03f6af622')
-
- variant('python', default=True, description='Compile with Python support')
- variant('xz', default=True, description='Compile with lzma support')
- variant('source-highlight', default=False, description='Compile with source-highlight support')
- variant('lto', default=False, description='Enable lto')
- variant('quad', default=False, description='Enable quad')
- variant('gold', default=False, description='Enable gold linker')
- variant('ld', default=False, description='Enable ld')
- variant('tui', default=False, description='Enable tui')
+ maintainers = ["robertu94"]
+
+ version("11.2", sha256="b558b66084835e43b6361f60d60d314c487447419cdf53adf83a87020c367290")
+ version("11.1", sha256="cc2903474e965a43d09c3b263952d48ced39dd22ce2d01968f3aa181335fcb9c")
+ version("10.2", sha256="b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350")
+ version("10.1", sha256="f12f388b99e1408c01308c3f753313fafa45517740c81ab7ed0d511b13e2cf55")
+ version("9.2", sha256="38ef247d41ba7cc3f6f93a612a78bab9484de9accecbe3b0150a3c0391a3faf0")
+ version("9.1", sha256="fcda54d4f35bc53fb24b50009a71ca98410d71ff2620942e3c829a7f5d614252")
+ version("8.3.1", sha256="26ce655216cd03f4611518a7a1c31d80ec8e884c16715e9ba8b436822e51434b")
+ version("8.3", sha256="b2266ec592440d0eec18ee1790f8558b3b8a2845b76cc83a872e39b501ce8a28")
+ version("8.2.1", sha256="0107985f1edb8dddef6cdd68a4f4e419f5fec0f488cc204f0b7d482c0c6c9282")
+ version("8.2", sha256="847e4b65e5a7b872e86019dd59659029e2b06cae962e0ef345f169dcb4b851b8")
+ version("8.1", sha256="e54a2322da050e4b00785370a282b9b8f0b25861ec7cfbbce0115e253eea910e")
+ version("8.0.1", sha256="52017d33cab5b6a92455a1a904046d075357abf24153470178c0aadca2d479c5")
+ version("8.0", sha256="8968a19e14e176ee026f0ca777657c43456514ad41bb2bc7273e8c4219555ac9")
+ version("7.12.1", sha256="142057eacecfb929d52b561eb47a1103c7d504cec3f659dd8a5ae7bc378f7e77")
+ version("7.11.1", sha256="57e9e9aa3172ee16aa1e9c66fef08b4393b51872cc153e3f1ffdf18a57440586")
+ version("7.10.1", sha256="ff14f8050e6484508c73cbfa63731e57901478490ca1672dc0b5e2b03f6af622")
+
+ variant("python", default=True, description="Compile with Python support")
+ variant("xz", default=True, description="Compile with lzma support")
+ variant("source-highlight", default=False, description="Compile with source-highlight support")
+ variant("lto", default=False, description="Enable lto")
+ variant("quad", default=False, description="Enable quad")
+ variant("gold", default=False, description="Enable gold linker")
+ variant("ld", default=False, description="Enable ld")
+ variant("tui", default=False, description="Enable tui")
# Resolves the undefined references to libintl_gettext while linking gdbserver
# https://www.gnu.org/software/gettext/FAQ.html#integrating_undefined
- patch('gdb-libintl-10.patch', level=0, when='@10.1:11.0')
- patch('gdb-libintl-11.patch', level=0, when='@11.1:')
+ patch("gdb-libintl-10.patch", level=0, when="@10.1:11.0")
+ patch("gdb-libintl-11.patch", level=0, when="@11.1:")
# Upstream patch and backport to fix build with glibc@2.25:
# http://lists.busybox.net/pipermail/buildroot/2017-March/188055.html
- patch('https://git.buildroot.net/buildroot/plain/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch?id=a8a2e5288ed4704907383b10bab704fca211f5db',
- sha256='f2648907cc22f7d02551d0018d44848f9db9fc5cdfda4fea65906a372f4f551b',
- when="@7.11.1")
- patch('https://git.buildroot.net/buildroot/plain/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch?id=a8a2e5288ed4704907383b10bab704fca211f5db',
- sha256='6bfa89d9989d70167b307e6b0aa5f72dd0bc3d124553c4b54b270f8c4adf5fdc',
- when="@7.10.1")
+ patch(
+ "https://git.buildroot.net/buildroot/plain/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch?id=a8a2e5288ed4704907383b10bab704fca211f5db",
+ sha256="f2648907cc22f7d02551d0018d44848f9db9fc5cdfda4fea65906a372f4f551b",
+ when="@7.11.1",
+ )
+ patch(
+ "https://git.buildroot.net/buildroot/plain/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch?id=a8a2e5288ed4704907383b10bab704fca211f5db",
+ sha256="6bfa89d9989d70167b307e6b0aa5f72dd0bc3d124553c4b54b270f8c4adf5fdc",
+ when="@7.10.1",
+ )
# Silence warnings about imp being deprecated on new python versions
# https://sourceware.org/pipermail/gdb-patches/2021-February/176622.html
- patch('importlib.patch', when="@8.3.1:10.2 ^python@3.4:")
+ patch("importlib.patch", when="@8.3.1:10.2 ^python@3.4:")
# Required dependency
- depends_on('texinfo', type='build')
+ depends_on("texinfo", type="build")
# Optional dependencies
- depends_on('python', when='+python', type=('build', 'link', 'run'))
- depends_on('python@:3.6', when='@:8.1+python', type=('build', 'link', 'run'))
+ depends_on("python", when="+python", type=("build", "link", "run"))
+ depends_on("python@:3.6", when="@:8.1+python", type=("build", "link", "run"))
# gdb@9.2 will segmentation fault if it builds with python@3.9.
# https://bugzilla.redhat.com/show_bug.cgi?id=1829702
- depends_on('python@:3.8', when='@:9.2+python', type=('build', 'link', 'run'))
- depends_on('xz', when='+xz')
- depends_on('source-highlight', when='+source-highlight')
- depends_on('ncurses', when='+tui')
- depends_on('gmp', when='@11.1:')
+ depends_on("python@:3.8", when="@:9.2+python", type=("build", "link", "run"))
+ depends_on("xz", when="+xz")
+ depends_on("source-highlight", when="+source-highlight")
+ depends_on("ncurses", when="+tui")
+ depends_on("gmp", when="@11.1:")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def configure_args(self):
- args = [
- '--with-system-gdbinit={0}'.format(self.prefix.etc.gdbinit)
- ]
+ args = ["--with-system-gdbinit={0}".format(self.prefix.etc.gdbinit)]
if self.spec.version >= Version("11.1"):
- args.append("--with-gmp={0}".format(self.spec['gmp'].prefix))
+ args.append("--with-gmp={0}".format(self.spec["gmp"].prefix))
- if '+python' in self.spec:
- args.append('--with-python={0}'.format(self.spec['python'].command))
- args.append('LDFLAGS={0}'.format(
- self.spec['python'].libs.ld_flags))
+ if "+python" in self.spec:
+ args.append("--with-python={0}".format(self.spec["python"].command))
+ args.append("LDFLAGS={0}".format(self.spec["python"].libs.ld_flags))
- if '+lto' in self.spec:
- args.append('--enable-lto')
+ if "+lto" in self.spec:
+ args.append("--enable-lto")
- if '+quad' in self.spec:
- args.append('--with-quad')
+ if "+quad" in self.spec:
+ args.append("--with-quad")
- if '+gold' in self.spec:
- args.append('--enable-gold')
+ if "+gold" in self.spec:
+ args.append("--enable-gold")
- if '+ld' in self.spec:
- args.append('--enable-ld')
+ if "+ld" in self.spec:
+ args.append("--enable-ld")
- if '+tui' in self.spec:
- args.append('--enable-tui')
+ if "+tui" in self.spec:
+ args.append("--enable-tui")
return args
- @run_after('install')
+ @run_after("install")
def gdbinit(self):
- if '+python' in self.spec:
- tool = self.spec['python'].command.path + '-gdb.py'
+ if "+python" in self.spec:
+ tool = self.spec["python"].command.path + "-gdb.py"
if os.path.exists(tool):
mkdir(self.prefix.etc)
- with open(self.prefix.etc.gdbinit, 'w') as gdbinit:
- gdbinit.write('add-auto-load-safe-path {0}\n'.format(tool))
+ with open(self.prefix.etc.gdbinit, "w") as gdbinit:
+ gdbinit.write("add-auto-load-safe-path {0}\n".format(tool))
def check(self):
"""The GDB testsuite is extensive and is hard to pass. Skip it for now."""
diff --git a/var/spack/repos/builtin/packages/gdbm/package.py b/var/spack/repos/builtin/packages/gdbm/package.py
index c82553b03b..79374a4d70 100644
--- a/var/spack/repos/builtin/packages/gdbm/package.py
+++ b/var/spack/repos/builtin/packages/gdbm/package.py
@@ -15,29 +15,29 @@ class Gdbm(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org.ua/software/gdbm/gdbm.html"
gnu_mirror_path = "gdbm/gdbm-1.13.tar.gz"
- version('1.23', sha256='74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd')
- version('1.22', sha256='f366c823a6724af313b6bbe975b2809f9a157e5f6a43612a72949138d161d762')
- version('1.21', sha256='b0b7dbdefd798de7ddccdd8edf6693a30494f7789777838042991ef107339cc2')
- version('1.20', sha256='3aeac05648b3482a10a2da986b9f3a380a29ad650be80b9817a435fb8114a292')
- version('1.19', sha256='37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc')
- version('1.18.1', sha256='86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc')
- version('1.14.1', sha256='cdceff00ffe014495bed3aed71c7910aa88bf29379f795abc0f46d4ee5f8bc5f')
- version('1.13', sha256='9d252cbd7d793f7b12bcceaddda98d257c14f4d1890d851c386c37207000a253')
- version('1.12', sha256='d97b2166ee867fd6ca5c022efee80702d6f30dd66af0e03ed092285c3af9bcea')
- version('1.11', sha256='8d912f44f05d0b15a4a5d96a76f852e905d051bb88022fcdfd98b43be093e3c3')
- version('1.10', sha256='23f8134c5b94bbfb06d756a6b78f074fba6e6028cf2fe01341d40b26db773441')
- version('1.9.1', sha256='6025852637772b0699f2294b5f14fd4a084bca3c8161d29d64d1f30d6d1a9aed')
- version('1.9', sha256='f85324d7de3777db167581fd5d3493d2daa3e85e195a8ae9afc05b34551b6e57')
+ version("1.23", sha256="74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd")
+ version("1.22", sha256="f366c823a6724af313b6bbe975b2809f9a157e5f6a43612a72949138d161d762")
+ version("1.21", sha256="b0b7dbdefd798de7ddccdd8edf6693a30494f7789777838042991ef107339cc2")
+ version("1.20", sha256="3aeac05648b3482a10a2da986b9f3a380a29ad650be80b9817a435fb8114a292")
+ version("1.19", sha256="37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc")
+ version("1.18.1", sha256="86e613527e5dba544e73208f42b78b7c022d4fa5a6d5498bf18c8d6f745b91dc")
+ version("1.14.1", sha256="cdceff00ffe014495bed3aed71c7910aa88bf29379f795abc0f46d4ee5f8bc5f")
+ version("1.13", sha256="9d252cbd7d793f7b12bcceaddda98d257c14f4d1890d851c386c37207000a253")
+ version("1.12", sha256="d97b2166ee867fd6ca5c022efee80702d6f30dd66af0e03ed092285c3af9bcea")
+ version("1.11", sha256="8d912f44f05d0b15a4a5d96a76f852e905d051bb88022fcdfd98b43be093e3c3")
+ version("1.10", sha256="23f8134c5b94bbfb06d756a6b78f074fba6e6028cf2fe01341d40b26db773441")
+ version("1.9.1", sha256="6025852637772b0699f2294b5f14fd4a084bca3c8161d29d64d1f30d6d1a9aed")
+ version("1.9", sha256="f85324d7de3777db167581fd5d3493d2daa3e85e195a8ae9afc05b34551b6e57")
depends_on("readline")
- patch('macOS.patch', when='@1.21 platform=darwin')
- patch('gdbm.patch', when='@:1.18 %gcc@10:')
- patch('gdbm.patch', when='@:1.18 %clang@11:')
- patch('gdbm.patch', when='@:1.18 %cce@11:')
- patch('gdbm.patch', when='@:1.18 %aocc@2:')
- patch('gdbm.patch', when='@:1.18 %oneapi')
- patch('gdbm.patch', when='@:1.18 %arm@21:')
+ patch("macOS.patch", when="@1.21 platform=darwin")
+ patch("gdbm.patch", when="@:1.18 %gcc@10:")
+ patch("gdbm.patch", when="@:1.18 %clang@11:")
+ patch("gdbm.patch", when="@:1.18 %cce@11:")
+ patch("gdbm.patch", when="@:1.18 %aocc@2:")
+ patch("gdbm.patch", when="@:1.18 %oneapi")
+ patch("gdbm.patch", when="@:1.18 %arm@21:")
def configure_args(self):
@@ -46,6 +46,4 @@ class Gdbm(AutotoolsPackage, GNUMirrorPackage):
# https://patchwork.ozlabs.org/patch/771300/
# https://stackoverflow.com/questions/5582211
# https://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html
- return [
- '--enable-libgdbm-compat',
- 'CPPFLAGS=-D_GNU_SOURCE']
+ return ["--enable-libgdbm-compat", "CPPFLAGS=-D_GNU_SOURCE"]
diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
index 2057ece001..f3832c9ae7 100644
--- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
+++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
@@ -8,109 +8,122 @@ from spack.package import *
class GdkPixbuf(Package):
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer
- manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
- manipulate images. In the past it was distributed as part of
- GTK+ 2 but it was split off into a separate package in
- preparation for the change to GTK+ 3."""
+ manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
+ manipulate images. In the past it was distributed as part of
+ GTK+ 2 but it was split off into a separate package in
+ preparation for the change to GTK+ 3."""
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"
+ url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.40/gdk-pixbuf-2.40.0.tar.xz"
list_url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/"
list_depth = 1
- version('2.42.6', sha256='c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f')
- version('2.42.2', sha256='83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15')
+ version("2.42.6", sha256="c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f")
+ version("2.42.2", sha256="83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15")
# https://nvd.nist.gov/vuln/detail/CVE-2021-20240
- version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6', deprecated=True)
- version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781', deprecated=True)
- version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47', deprecated=True)
- version('2.31.2', sha256='9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa', deprecated=True)
-
- variant('x11', default=False, description="Enable X11 support")
- variant('tiff', default=False, description="Enable TIFF support(partially broken)")
+ version(
+ "2.40.0",
+ sha256="1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6",
+ deprecated=True,
+ )
+ version(
+ "2.38.2",
+ sha256="73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781",
+ deprecated=True,
+ )
+ version(
+ "2.38.0",
+ sha256="dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47",
+ deprecated=True,
+ )
+ version(
+ "2.31.2",
+ sha256="9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa",
+ deprecated=True,
+ )
+
+ variant("x11", default=False, description="Enable X11 support")
+ variant("tiff", default=False, description="Enable TIFF support(partially broken)")
# Man page creation was getting docbook errors, see issue #18853
- variant('man', default=False, description="Enable man page creation")
-
- depends_on('meson@0.55.3:', type='build', when='@2.42.2:')
- depends_on('meson@0.46.0:', type='build', when='@2.37.92:')
- depends_on('meson@0.45.0:', type='build', when='@2.37.0:')
- depends_on('ninja', type='build', when='@2.37.0:')
- depends_on('shared-mime-info', when='@2.36.8: platform=linux')
- depends_on('shared-mime-info', when='@2.36.8: platform=cray')
- depends_on('pkgconfig', type='build')
+ variant("man", default=False, description="Enable man page creation")
+
+ depends_on("meson@0.55.3:", type="build", when="@2.42.2:")
+ depends_on("meson@0.46.0:", type="build", when="@2.37.92:")
+ depends_on("meson@0.45.0:", type="build", when="@2.37.0:")
+ depends_on("ninja", type="build", when="@2.37.0:")
+ depends_on("shared-mime-info", when="@2.36.8: platform=linux")
+ depends_on("shared-mime-info", when="@2.36.8: platform=cray")
+ depends_on("pkgconfig", type="build")
# Building the man pages requires libxslt and the Docbook stylesheets
- depends_on('libxslt', type='build', when='+man')
- depends_on('docbook-xsl@1.79.2:', type='build', when='+man')
- depends_on('gettext')
- depends_on('glib@2.38.0:')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('zlib')
- depends_on('libtiff', when='+tiff')
- depends_on('gobject-introspection')
- depends_on('libx11', when='+x11')
+ depends_on("libxslt", type="build", when="+man")
+ depends_on("docbook-xsl@1.79.2:", type="build", when="+man")
+ depends_on("gettext")
+ depends_on("glib@2.38.0:")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("zlib")
+ depends_on("libtiff", when="+tiff")
+ depends_on("gobject-introspection")
+ depends_on("libx11", when="+x11")
# Replace the docbook stylesheet URL with the one that our
# docbook-xsl package uses/recognizes.
# Pach modifies meson build files, so it only applies to versions that
# depend on meson.
- patch('docbook-cdn.patch', when='@2.37.0:+man')
+ patch("docbook-cdn.patch", when="@2.37.0:+man")
def url_for_version(self, version):
url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/{0}/gdk-pixbuf-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
- meson_args = std_meson_args + ['-Dman={0}'.format('+man' in spec)]
+ with working_dir("spack-build", create=True):
+ meson_args = std_meson_args + ["-Dman={0}".format("+man" in spec)]
# Based on suggestion by luigi-calori and the fixup shown by lee218llnl:
# https://github.com/spack/spack/pull/27254#issuecomment-974464174
- if '+x11' in spec:
- if self.version >= Version('2.42'):
- raise InstallError('+x11 is not valid for {0}'.format(self.version))
- meson_args += ['-Dx11=true']
- meson('..', *meson_args)
- ninja('-v')
+ if "+x11" in spec:
+ if self.version >= Version("2.42"):
+ raise InstallError("+x11 is not valid for {0}".format(self.version))
+ meson_args += ["-Dx11=true"]
+ meson("..", *meson_args)
+ ninja("-v")
if self.run_tests:
- ninja('test')
- ninja('install')
+ ninja("test")
+ ninja("install")
def configure_args(self):
args = []
# disable building of gtk-doc files following #9771
- args.append('--disable-gtk-doc-html')
- true = which('true')
- args.append('GTKDOC_CHECK={0}'.format(true))
- args.append('GTKDOC_CHECK_PATH={0}'.format(true))
- args.append('GTKDOC_MKPDF={0}'.format(true))
- args.append('GTKDOC_REBASE={0}'.format(true))
+ args.append("--disable-gtk-doc-html")
+ true = which("true")
+ args.append("GTKDOC_CHECK={0}".format(true))
+ args.append("GTKDOC_CHECK_PATH={0}".format(true))
+ args.append("GTKDOC_MKPDF={0}".format(true))
+ args.append("GTKDOC_REBASE={0}".format(true))
return args
- @when('@:2.36')
+ @when("@:2.36")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix), *self.configure_args())
+ configure("--prefix={0}".format(prefix), *self.configure_args())
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
def setup_build_environment(self, env):
# The "post-install.sh" script uses gdk-pixbuf-query-loaders,
# which was installed earlier.
- env.prepend_path('PATH', self.prefix.bin)
+ env.prepend_path("PATH", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gdl/package.py b/var/spack/repos/builtin/packages/gdl/package.py
index a6a470af4b..4cfe69dca7 100644
--- a/var/spack/repos/builtin/packages/gdl/package.py
+++ b/var/spack/repos/builtin/packages/gdl/package.py
@@ -15,139 +15,135 @@ class Gdl(CMakePackage):
"""
homepage = "https://github.com/gnudatalanguage/gdl"
- url = "https://github.com/gnudatalanguage/gdl/archive/v0.9.9.tar.gz"
-
- version('0.9.9', sha256='ad5de3fec095a5c58b46338dcc7367d2565c093794ab1bbcf180bba1a712cf14')
- version('0.9.8', sha256='0e22df7314feaf18a76ae39ee57eea2ac8c3633bc095acbc25e1e07277d7c98b')
-
- variant('graphicsmagick',
- default=False,
- description='Enable GraphicsMagick')
-
- variant('hdf4', default=False, description='Enable HDF4')
- variant('hdf5', default=True, description='Enable HDF5')
- variant('openmp', default=True, description='Enable OpenMP')
- variant('proj', default=True, description='Enable LIBPROJ4')
- variant('embed_python', default=False, description='Ability to embed Python within GDL')
- variant('python', default=False, description='Build the GDL Python module')
- variant('wx', default=False, description='Enable WxWidgets')
- variant('x11', default=False, description='Enable X11')
-
- extends('python', when='+python')
-
- depends_on('cmake@3:', type='build')
- depends_on('graphicsmagick', when='+graphicsmagick')
- depends_on('hdf', when='+hdf4')
- depends_on('hdf5', when='+hdf5')
- depends_on('libx11', when='+x11')
- depends_on('plplot+wx', when='+wx@:5.11')
- depends_on('plplot+wx+wxold', when='+wx@5.12:')
- depends_on('plplot~wx', when='~wx')
+ url = "https://github.com/gnudatalanguage/gdl/archive/v0.9.9.tar.gz"
+
+ version("0.9.9", sha256="ad5de3fec095a5c58b46338dcc7367d2565c093794ab1bbcf180bba1a712cf14")
+ version("0.9.8", sha256="0e22df7314feaf18a76ae39ee57eea2ac8c3633bc095acbc25e1e07277d7c98b")
+
+ variant("graphicsmagick", default=False, description="Enable GraphicsMagick")
+
+ variant("hdf4", default=False, description="Enable HDF4")
+ variant("hdf5", default=True, description="Enable HDF5")
+ variant("openmp", default=True, description="Enable OpenMP")
+ variant("proj", default=True, description="Enable LIBPROJ4")
+ variant("embed_python", default=False, description="Ability to embed Python within GDL")
+ variant("python", default=False, description="Build the GDL Python module")
+ variant("wx", default=False, description="Enable WxWidgets")
+ variant("x11", default=False, description="Enable X11")
+
+ extends("python", when="+python")
+
+ depends_on("cmake@3:", type="build")
+ depends_on("graphicsmagick", when="+graphicsmagick")
+ depends_on("hdf", when="+hdf4")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("libx11", when="+x11")
+ depends_on("plplot+wx", when="+wx@:5.11")
+ depends_on("plplot+wx+wxold", when="+wx@5.12:")
+ depends_on("plplot~wx", when="~wx")
# Too many dependencies to test if GDL supports PROJ.6,
# so restricting to old API
- depends_on('proj@:5', when='+proj')
- depends_on('py-numpy', type=('build', 'run'), when='+embed_python')
- depends_on('python@2.7:2.8', type=('build', 'run'), when='+embed_python')
- depends_on('wxwidgets', when='+wx')
-
- depends_on('eigen')
- depends_on('fftw')
- depends_on('gsl')
- depends_on('jpeg')
- depends_on('libice')
- depends_on('libsm')
- depends_on('libxinerama')
- depends_on('libxxf86vm')
- depends_on('netcdf-c')
- depends_on('pslib')
- depends_on('readline')
- depends_on('libtirpc', type='link')
- depends_on('libgeotiff', type='link')
-
- conflicts('+python', when='~embed_python')
+ depends_on("proj@:5", when="+proj")
+ depends_on("py-numpy", type=("build", "run"), when="+embed_python")
+ depends_on("python@2.7:2.8", type=("build", "run"), when="+embed_python")
+ depends_on("wxwidgets", when="+wx")
+
+ depends_on("eigen")
+ depends_on("fftw")
+ depends_on("gsl")
+ depends_on("jpeg")
+ depends_on("libice")
+ depends_on("libsm")
+ depends_on("libxinerama")
+ depends_on("libxxf86vm")
+ depends_on("netcdf-c")
+ depends_on("pslib")
+ depends_on("readline")
+ depends_on("libtirpc", type="link")
+ depends_on("libgeotiff", type="link")
+
+ conflicts("+python", when="~embed_python")
# Building the Python module requires patches currently targetting 0.9.8
# othwerwise asking for the Python module *only* builds the Python module
- conflicts('+python', when='@:0.9.7,0.9.9:')
+ conflicts("+python", when="@:0.9.7,0.9.9:")
# Allows building gdl as a shared library to in turn allow building
# both the executable and the Python module
- patch('https://sources.debian.org/data/main/g/gnudatalanguage/0.9.8-7/debian/patches/Create-a-shared-library.patch',
- sha256='bb380394c8ea2602404d8cd18047b93cf00fdb73b83d389f30100dd4b0e1a05c',
- when='@0.9.8')
- patch('Always-build-antlr-as-shared-library.patch',
- sha256='f40c06e8a8f1977780787f58885590affd7e382007cb677d2fb4723aaadd415c',
- when='@0.9.8')
+ patch(
+ "https://sources.debian.org/data/main/g/gnudatalanguage/0.9.8-7/debian/patches/Create-a-shared-library.patch",
+ sha256="bb380394c8ea2602404d8cd18047b93cf00fdb73b83d389f30100dd4b0e1a05c",
+ when="@0.9.8",
+ )
+ patch(
+ "Always-build-antlr-as-shared-library.patch",
+ sha256="f40c06e8a8f1977780787f58885590affd7e382007cb677d2fb4723aaadd415c",
+ when="@0.9.8",
+ )
def cmake_args(self):
args = []
# GraphicsMagick covers the same features as ImageMagick and
# only version 6 of ImageMagick is supported (version 7 is packaged)
- args += ['-DMAGICK=OFF']
+ args += ["-DMAGICK=OFF"]
- if '+graphicsmagick' in self.spec:
- args += ['-DGRAPHICSMAGICK=ON']
+ if "+graphicsmagick" in self.spec:
+ args += ["-DGRAPHICSMAGICK=ON"]
else:
- args += ['-DGRAPHICSMAGICK=OFF']
+ args += ["-DGRAPHICSMAGICK=OFF"]
- if '+hdf4' in self.spec:
- args += ['-DHDF=ON']
+ if "+hdf4" in self.spec:
+ args += ["-DHDF=ON"]
else:
- args += ['-DHDF=OFF']
+ args += ["-DHDF=OFF"]
- if '+hdf5' in self.spec:
- args += ['-DHDF5=ON']
+ if "+hdf5" in self.spec:
+ args += ["-DHDF5=ON"]
else:
- args += ['-DHDF5=OFF']
+ args += ["-DHDF5=OFF"]
- if '+openmp' in self.spec:
- args += ['-DOPENMP=ON']
+ if "+openmp" in self.spec:
+ args += ["-DOPENMP=ON"]
else:
- args += ['-DOPENMP=OFF']
+ args += ["-DOPENMP=OFF"]
- if '+proj' in self.spec:
- args += [
- '-DLIBPROJ4=ON',
- '-DLIBPROJ4DIR={0}'.format(self.spec['proj'].prefix)
- ]
+ if "+proj" in self.spec:
+ args += ["-DLIBPROJ4=ON", "-DLIBPROJ4DIR={0}".format(self.spec["proj"].prefix)]
else:
- args += ['-DLIBPROJ4=OFF']
+ args += ["-DLIBPROJ4=OFF"]
- if '+embed_python' in self.spec:
- args += ['-DPYTHON=ON']
+ if "+embed_python" in self.spec:
+ args += ["-DPYTHON=ON"]
else:
- args += ['-DPYTHON=OFF']
+ args += ["-DPYTHON=OFF"]
- if '+python' in self.spec:
- args += ['-DPYTHON_MODULE=ON']
+ if "+python" in self.spec:
+ args += ["-DPYTHON_MODULE=ON"]
else:
- args += ['-DPYTHON_MODULE=OFF']
+ args += ["-DPYTHON_MODULE=OFF"]
- if '+wx' in self.spec:
- args += ['-DWXWIDGETS=ON']
+ if "+wx" in self.spec:
+ args += ["-DWXWIDGETS=ON"]
else:
- args += ['-DWXWIDGETS=OFF']
+ args += ["-DWXWIDGETS=OFF"]
- if '+x11' in self.spec:
- args += ['-DX11=ON']
+ if "+x11" in self.spec:
+ args += ["-DX11=ON"]
else:
- args += ['-DX11=OFF']
+ args += ["-DX11=OFF"]
return args
- @run_after('install')
+ @run_after("install")
def post_install(self):
- if '+python' in self.spec:
+ if "+python" in self.spec:
# gdl installs the python module into prefix/lib/site-python
# move it to the standard location
- src = os.path.join(
- self.spec.prefix.lib,
- 'site-python')
+ src = os.path.join(self.spec.prefix.lib, "site-python")
dst = python_platlib
if os.path.isdir(src):
if not os.path.isdir(dst):
mkdirp(dst)
for f in os.listdir(src):
- os.rename(os.path.join(src, f),
- os.path.join(dst, f))
+ os.rename(os.path.join(src, f), os.path.join(dst, f))
diff --git a/var/spack/repos/builtin/packages/gdrcopy/package.py b/var/spack/repos/builtin/packages/gdrcopy/package.py
index 6fa88d87dc..f2b6729069 100644
--- a/var/spack/repos/builtin/packages/gdrcopy/package.py
+++ b/var/spack/repos/builtin/packages/gdrcopy/package.py
@@ -8,31 +8,29 @@ from spack.package import *
class Gdrcopy(MakefilePackage):
"""A fast GPU memory copy library based on NVIDIA GPUDirect
- RDMA technology."""
+ RDMA technology."""
homepage = "https://github.com/NVIDIA/gdrcopy"
- url = "https://github.com/NVIDIA/gdrcopy/archive/v2.1.tar.gz"
- git = "https://github.com/NVIDIA/gdrcopy"
+ url = "https://github.com/NVIDIA/gdrcopy/archive/v2.1.tar.gz"
+ git = "https://github.com/NVIDIA/gdrcopy"
- version('master', branch='master')
- version('2.3', sha256='b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475')
- version('2.2', sha256='e4be119809391b18c735346d24b3b398dd9421cbff47ef12befbae40d61da45f')
- version('2.1', sha256='cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea')
- version('2.0', sha256='98320e6e980a7134ebc4eedd6cf23647104f2b3c557f2eaf0d31a02609f5f2b0')
- version('1.3', sha256='f11cdfe389b685f6636b80b4a3312dc014a385ad7220179c1318c60e2e28af3a')
+ version("master", branch="master")
+ version("2.3", sha256="b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475")
+ version("2.2", sha256="e4be119809391b18c735346d24b3b398dd9421cbff47ef12befbae40d61da45f")
+ version("2.1", sha256="cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea")
+ version("2.0", sha256="98320e6e980a7134ebc4eedd6cf23647104f2b3c557f2eaf0d31a02609f5f2b0")
+ version("1.3", sha256="f11cdfe389b685f6636b80b4a3312dc014a385ad7220179c1318c60e2e28af3a")
# Don't call ldconfig: https://github.com/NVIDIA/gdrcopy/pull/229
- patch('ldconfig.patch', when='@2.0:')
+ patch("ldconfig.patch", when="@2.0:")
def build(self, spec, prefix):
- make('lib')
+ make("lib")
def install(self, spec, prefix):
mkdir(prefix.include)
mkdir(prefix.lib64)
- if spec.satisfies('@2.2:'):
- make('lib_install',
- 'prefix={0}'.format(self.prefix))
+ if spec.satisfies("@2.2:"):
+ make("lib_install", "prefix={0}".format(self.prefix))
else:
- make('lib_install',
- 'PREFIX={0}'.format(self.prefix))
+ make("lib_install", "PREFIX={0}".format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/geant4-data/package.py b/var/spack/repos/builtin/packages/geant4-data/package.py
index 4ed5187363..be8e841e30 100644
--- a/var/spack/repos/builtin/packages/geant4-data/package.py
+++ b/var/spack/repos/builtin/packages/geant4-data/package.py
@@ -14,32 +14,32 @@ class Geant4Data(BundlePackage):
homepage = "http://geant4.cern.ch"
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
- tags = ['hep']
+ tags = ["hep"]
- version('11.0.0')
- version('10.7.3')
- version('10.7.2')
- version('10.7.1')
- version('10.7.0')
- version('10.6.3')
- version('10.6.2')
- version('10.6.1')
- version('10.6.0')
- version('10.5.1')
- version('10.4.3')
- version('10.4.0')
- version('10.3.3')
+ version("11.0.0")
+ version("10.7.3")
+ version("10.7.2")
+ version("10.7.1")
+ version("10.7.0")
+ version("10.6.3")
+ version("10.6.2")
+ version("10.6.1")
+ version("10.6.0")
+ version("10.5.1")
+ version("10.4.3")
+ version("10.4.0")
+ version("10.3.3")
# Add install phase so we can create the data "view"
- phases = ['install']
+ phases = ["install"]
# For clarity, declare deps on a Major-Minor version basis as
# they generally don't change on the patch level
# Can move to declaring on a dataset basis if needed
_datasets = {
- '11.0:11': [
+ "11.0:11": [
"g4ndl@4.6",
"g4emlow@8.0",
"g4photonevaporation@5.7",
@@ -52,7 +52,7 @@ class Geant4Data(BundlePackage):
"g4incl@1.0",
"g4ensdfstate@2.3",
],
- '10.7.0:10.7': [
+ "10.7.0:10.7": [
"g4ndl@4.6",
"g4emlow@7.13",
"g4photonevaporation@5.7",
@@ -64,13 +64,13 @@ class Geant4Data(BundlePackage):
"g4incl@1.0",
"g4ensdfstate@2.3",
],
- '10.7.1:10.7': [
+ "10.7.1:10.7": [
"g4particlexs@3.1.1",
],
- '10.7.0': [
+ "10.7.0": [
"g4particlexs@3.1",
],
- '10.6.0:10.6': [
+ "10.6.0:10.6": [
"g4ndl@4.6",
"g4emlow@7.9",
"g4emlow@7.9.1",
@@ -84,7 +84,7 @@ class Geant4Data(BundlePackage):
"g4incl@1.0",
"g4ensdfstate@2.2",
],
- '10.5.0:10.5': [
+ "10.5.0:10.5": [
"g4ndl@4.5",
"g4emlow@7.7",
"g4photonevaporation@5.3",
@@ -97,7 +97,7 @@ class Geant4Data(BundlePackage):
"g4incl@1.0",
"g4ensdfstate@2.2",
],
- '10.4.0:10.4': [
+ "10.4.0:10.4": [
"g4ndl@4.5",
"g4emlow@7.3",
"g4photonevaporation@5.2",
@@ -108,13 +108,13 @@ class Geant4Data(BundlePackage):
"g4abla@3.1",
"g4ensdfstate@2.2",
],
- '10.4.2:10.4': [
+ "10.4.2:10.4": [
"g4realsurface@2.1.1",
],
- '10.4.0:10.4.1': [
+ "10.4.0:10.4.1": [
"g4realsurface@2.1",
],
- '10.3.0:10.3': [
+ "10.3.0:10.3": [
"g4ndl@4.5",
"g4emlow@6.50",
"g4neutronxs@1.4",
@@ -124,29 +124,28 @@ class Geant4Data(BundlePackage):
"g4abla@3.0",
"g4ensdfstate@2.1",
],
- '10.3.1:10.3': [
+ "10.3.1:10.3": [
"g4photonevaporation@4.3.2",
"g4radioactivedecay@5.1.1",
],
- '10.3.0': [
+ "10.3.0": [
"g4photonevaporation@4.3",
"g4radioactivedecay@5.1",
],
}
for _vers, _dsets in _datasets.items():
- _vers = '@' + _vers
+ _vers = "@" + _vers
for _d in _dsets:
- depends_on(_d, type=('build', 'run'), when=_vers)
+ depends_on(_d, type=("build", "run"), when=_vers)
@property
def datadir(self):
spec = self.spec
- return join_path(spec.prefix.share,
- '{0}-{1}'.format(self.name, self.version.dotted))
+ return join_path(spec.prefix.share, "{0}-{1}".format(self.name, self.version.dotted))
def install(self, spec, prefix):
with working_dir(self.datadir, create=True):
for s in spec.dependencies():
- for d in glob.glob('{0}/data/*'.format(s.prefix.share)):
+ for d in glob.glob("{0}/data/*".format(s.prefix.share)):
os.symlink(d, os.path.basename(d))
diff --git a/var/spack/repos/builtin/packages/geant4-vmc/package.py b/var/spack/repos/builtin/packages/geant4-vmc/package.py
index f21d406941..f6f5284dbd 100644
--- a/var/spack/repos/builtin/packages/geant4-vmc/package.py
+++ b/var/spack/repos/builtin/packages/geant4-vmc/package.py
@@ -10,28 +10,28 @@ class Geant4Vmc(CMakePackage):
"""Geant4 VMC implements the Virtual Monte Carlo (VMC) for Geant4."""
homepage = "https://github.com/vmc-project/geant4_vmc"
- url = "https://github.com/vmc-project/geant4_vmc/archive/v5-1-p1.tar.gz"
- git = "https://github.com/vmc-project/geant4_vmc.git"
-
- tags = ['hep']
-
- maintainer = ['wdconinc']
-
- version('master', branch='master')
- version('5-3', sha256='22f58530963988380509a7741ad6b3dde21806f3862fb55c11cc27f25d3d3c2d')
- version('5-2', sha256='5bd0e4a4f938048b35724f06075952ecfbc8a97ffc979630cfe2788323845b13')
- version('5-1-p1', sha256='2e3e4705134ea464e993156f71d478cb7d3817f5b6026bf8d9a37d32ec97590b')
- version('5-1', sha256='ede71f360397dc4d045ec0968acf23b564fa81059c94eb40942b552eea8b5e00')
- version('5-0-p5', sha256='296340042b0bbfab0dec8f7f15a3b15cfab3fdb34aff97f80c1d52c2a25200cb')
- version('5-0-p4', sha256='0c13848b5cf5951e3d5d2d5abcc4082c75ea37c83bb92a15b82ecae03045fe1e')
- version('5-0-p3', sha256='91df73e992bf9ae7e1b6b3c3deb12cd6661c7dd5153fa233eb28b8d8e1164ccb')
- version('5-0-p2', sha256='34578c5468173615de3fc077e85be3bf68f4aff4b4f37523ab67304dbc153d5f')
- version('5-0-p1', sha256='b66cbf86a96b6efe1643753a7606b1c4ebb9d45cca9f6b8e933762920f32831f')
- version('5-0', sha256='9a3820ea4b68b5a0697c340bbbc0972b9c8e4205ceecdd87258a9bdfd249cd8b')
- version('4-0-p3', sha256='ec6699aa0deca903f143c593affec09832c33be736d9cddfa8d6f5cdfc3bc288')
- version('4-0-p2', sha256='cdd73c499cd296f13b6c0d37e161e7d94343f85617b2a7577ded8312248f9b9b')
- version('3-6-p6', sha256='e62a62ff7075ff9afb2ffe420610374f62136094a447bbbc5f739a2238ddb0f0')
-
- depends_on('cmake@3.3:', type='build')
- depends_on('geant4')
- depends_on('vmc')
+ url = "https://github.com/vmc-project/geant4_vmc/archive/v5-1-p1.tar.gz"
+ git = "https://github.com/vmc-project/geant4_vmc.git"
+
+ tags = ["hep"]
+
+ maintainer = ["wdconinc"]
+
+ version("master", branch="master")
+ version("5-3", sha256="22f58530963988380509a7741ad6b3dde21806f3862fb55c11cc27f25d3d3c2d")
+ version("5-2", sha256="5bd0e4a4f938048b35724f06075952ecfbc8a97ffc979630cfe2788323845b13")
+ version("5-1-p1", sha256="2e3e4705134ea464e993156f71d478cb7d3817f5b6026bf8d9a37d32ec97590b")
+ version("5-1", sha256="ede71f360397dc4d045ec0968acf23b564fa81059c94eb40942b552eea8b5e00")
+ version("5-0-p5", sha256="296340042b0bbfab0dec8f7f15a3b15cfab3fdb34aff97f80c1d52c2a25200cb")
+ version("5-0-p4", sha256="0c13848b5cf5951e3d5d2d5abcc4082c75ea37c83bb92a15b82ecae03045fe1e")
+ version("5-0-p3", sha256="91df73e992bf9ae7e1b6b3c3deb12cd6661c7dd5153fa233eb28b8d8e1164ccb")
+ version("5-0-p2", sha256="34578c5468173615de3fc077e85be3bf68f4aff4b4f37523ab67304dbc153d5f")
+ version("5-0-p1", sha256="b66cbf86a96b6efe1643753a7606b1c4ebb9d45cca9f6b8e933762920f32831f")
+ version("5-0", sha256="9a3820ea4b68b5a0697c340bbbc0972b9c8e4205ceecdd87258a9bdfd249cd8b")
+ version("4-0-p3", sha256="ec6699aa0deca903f143c593affec09832c33be736d9cddfa8d6f5cdfc3bc288")
+ version("4-0-p2", sha256="cdd73c499cd296f13b6c0d37e161e7d94343f85617b2a7577ded8312248f9b9b")
+ version("3-6-p6", sha256="e62a62ff7075ff9afb2ffe420610374f62136094a447bbbc5f739a2238ddb0f0")
+
+ depends_on("cmake@3.3:", type="build")
+ depends_on("geant4")
+ depends_on("vmc")
diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py
index a14c962388..7eed444e05 100644
--- a/var/spack/repos/builtin/packages/geant4/package.py
+++ b/var/spack/repos/builtin/packages/geant4/package.py
@@ -15,157 +15,164 @@ class Geant4(CMakePackage):
homepage = "http://geant4.cern.ch/"
url = "https://gitlab.cern.ch/geant4/geant4/-/archive/v10.7.1/geant4-v10.7.1.tar.gz"
- tags = ['hep']
-
- executables = ['^geant4-config$']
-
- maintainers = ['drbenmorgan']
-
- version('11.0.2', sha256='661e1ab6f42e58910472d771e76ffd16a2b411398eed70f39808762db707799e')
- version('11.0.1', sha256='fa76d0774346b7347b1fb1424e1c1e0502264a83e185995f3c462372994f84fa')
- version('11.0.0', sha256='04d11d4d9041507e7f86f48eb45c36430f2b6544a74c0ccaff632ac51d9644f1')
- version('10.7.3', sha256='8615d93bd4178d34f31e19d67bc81720af67cdab1c8425af8523858dcddcf65b', preferred=True)
- version('10.7.2', sha256='593fc85883a361487b17548ba00553501f66a811b0a79039276bb75ad59528cf')
- version('10.7.1', sha256='2aa7cb4b231081e0a35d84c707be8f35e4edc4e97aad2b233943515476955293')
- version('10.7.0', sha256='c991a139210c7f194720c900b149405090058c00beb5a0d2fac5c40c42a262d4')
- version('10.6.3', sha256='bf96d6d38e6a0deabb6fb6232eb00e46153134da645715d636b9b7b4490193d3')
- version('10.6.2', sha256='e381e04c02aeade1ed8cdd9fdbe7dcf5d6f0f9b3837a417976b839318a005dbd')
- version('10.6.1', sha256='4fd64149ae26952672a81ce5579d3806fda4bd251d486897093ac57633a42b7e')
- version('10.6.0', sha256='eebe6a170546064ff81ab3b00f513ccd1d4122a026514982368d503ac55a4ee4')
- version('10.5.1', sha256='2397eb859dc4de095ff66059d8bda9f060fdc42e10469dd7890946293eeb0e39')
- version('10.4.3', sha256='67f3bb6405a2c77e573936c2b933f5a4a33915aa379626a2eb3012009b91e1da')
- version('10.4.0', sha256='e919b9b0a88476e00c0b18ab65d40e6a714b55ee4778f66bac32a5396c22aa74')
- version('10.3.3', sha256='bcd36a453da44de9368d1d61b0144031a58e4b43a6d2d875e19085f2700a89d8')
-
- _cxxstd_values = ('11', '14', '17')
- variant('cxxstd',
- default=_cxxstd_values[0],
- values=_cxxstd_values,
- multi=False,
- description='Use the specified C++ standard when building.')
- conflicts('cxxstd=11', when='@11:', msg='geant4@11: only supports cxxstd=17')
- conflicts('cxxstd=14', when='@11:', msg='geant4@11: only supports cxxstd=17')
-
- variant('threads', default=True, description='Build with multithreading')
- variant('vecgeom', default=False, description='Enable vecgeom support')
- variant('opengl', default=False, description='Optional OpenGL support')
- variant('x11', default=False, description='Optional X11 support')
- variant('motif', default=False, description='Optional motif support')
- variant('qt', default=False, description='Enable Qt support')
- variant('python', default=False, description='Enable Python bindings')
- variant('tbb', default=False, description='Use TBB as a tasking backend', when='@11:')
- variant('vtk', default=False, description='Enable VTK support', when='@11:')
-
- depends_on('cmake@3.16:', type='build', when='@11.0.0:')
- depends_on('cmake@3.8:', type='build', when='@10.6.0:')
- depends_on('cmake@3.5:', type='build')
-
- for _vers in ["10.3.3", "10.4.0", "10.4.3", "10.5.1", "10.6.0", "10.6.1",
- "10.6.2", "10.6.3", "10.7.0", "10.7.1", "10.7.2", "10.7.3",
- "11.0:"]:
- depends_on('geant4-data@' + _vers, type='run', when='@' + _vers)
+ tags = ["hep"]
+
+ executables = ["^geant4-config$"]
+
+ maintainers = ["drbenmorgan"]
+
+ version("11.0.2", sha256="661e1ab6f42e58910472d771e76ffd16a2b411398eed70f39808762db707799e")
+ version("11.0.1", sha256="fa76d0774346b7347b1fb1424e1c1e0502264a83e185995f3c462372994f84fa")
+ version("11.0.0", sha256="04d11d4d9041507e7f86f48eb45c36430f2b6544a74c0ccaff632ac51d9644f1")
+ version(
+ "10.7.3",
+ sha256="8615d93bd4178d34f31e19d67bc81720af67cdab1c8425af8523858dcddcf65b",
+ preferred=True,
+ )
+ version("10.7.2", sha256="593fc85883a361487b17548ba00553501f66a811b0a79039276bb75ad59528cf")
+ version("10.7.1", sha256="2aa7cb4b231081e0a35d84c707be8f35e4edc4e97aad2b233943515476955293")
+ version("10.7.0", sha256="c991a139210c7f194720c900b149405090058c00beb5a0d2fac5c40c42a262d4")
+ version("10.6.3", sha256="bf96d6d38e6a0deabb6fb6232eb00e46153134da645715d636b9b7b4490193d3")
+ version("10.6.2", sha256="e381e04c02aeade1ed8cdd9fdbe7dcf5d6f0f9b3837a417976b839318a005dbd")
+ version("10.6.1", sha256="4fd64149ae26952672a81ce5579d3806fda4bd251d486897093ac57633a42b7e")
+ version("10.6.0", sha256="eebe6a170546064ff81ab3b00f513ccd1d4122a026514982368d503ac55a4ee4")
+ version("10.5.1", sha256="2397eb859dc4de095ff66059d8bda9f060fdc42e10469dd7890946293eeb0e39")
+ version("10.4.3", sha256="67f3bb6405a2c77e573936c2b933f5a4a33915aa379626a2eb3012009b91e1da")
+ version("10.4.0", sha256="e919b9b0a88476e00c0b18ab65d40e6a714b55ee4778f66bac32a5396c22aa74")
+ version("10.3.3", sha256="bcd36a453da44de9368d1d61b0144031a58e4b43a6d2d875e19085f2700a89d8")
+
+ _cxxstd_values = ("11", "14", "17")
+ variant(
+ "cxxstd",
+ default=_cxxstd_values[0],
+ values=_cxxstd_values,
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+ conflicts("cxxstd=11", when="@11:", msg="geant4@11: only supports cxxstd=17")
+ conflicts("cxxstd=14", when="@11:", msg="geant4@11: only supports cxxstd=17")
+
+ variant("threads", default=True, description="Build with multithreading")
+ variant("vecgeom", default=False, description="Enable vecgeom support")
+ variant("opengl", default=False, description="Optional OpenGL support")
+ variant("x11", default=False, description="Optional X11 support")
+ variant("motif", default=False, description="Optional motif support")
+ variant("qt", default=False, description="Enable Qt support")
+ variant("python", default=False, description="Enable Python bindings")
+ variant("tbb", default=False, description="Use TBB as a tasking backend", when="@11:")
+ variant("vtk", default=False, description="Enable VTK support", when="@11:")
+
+ depends_on("cmake@3.16:", type="build", when="@11.0.0:")
+ depends_on("cmake@3.8:", type="build", when="@10.6.0:")
+ depends_on("cmake@3.5:", type="build")
+
+ for _vers in [
+ "10.3.3",
+ "10.4.0",
+ "10.4.3",
+ "10.5.1",
+ "10.6.0",
+ "10.6.1",
+ "10.6.2",
+ "10.6.3",
+ "10.7.0",
+ "10.7.1",
+ "10.7.2",
+ "10.7.3",
+ "11.0:",
+ ]:
+ depends_on("geant4-data@" + _vers, type="run", when="@" + _vers)
depends_on("expat")
depends_on("zlib")
- depends_on('tbb', when='+tbb')
- depends_on('vtk@8.2:', when='+vtk')
+ depends_on("tbb", when="+tbb")
+ depends_on("vtk@8.2:", when="+vtk")
# Python, with boost requirement dealt with in cxxstd section
- depends_on('python@3:', when='+python')
- extends('python', when='+python')
- conflicts('+python', when='@:10.6.1',
- msg='Geant4 <= 10.6.1 cannot be built with Python bindings')
+ depends_on("python@3:", when="+python")
+ extends("python", when="+python")
+ conflicts(
+ "+python", when="@:10.6.1", msg="Geant4 <= 10.6.1 cannot be built with Python bindings"
+ )
for std in _cxxstd_values:
# CLHEP version requirements to be reviewed
- depends_on('clhep@2.4.5.1: cxxstd=' + std,
- when='@11.0.0: cxxstd=' + std)
+ depends_on("clhep@2.4.5.1: cxxstd=" + std, when="@11.0.0: cxxstd=" + std)
- depends_on('clhep@2.4.4.0: cxxstd=' + std,
- when='@10.7.0: cxxstd=' + std)
+ depends_on("clhep@2.4.4.0: cxxstd=" + std, when="@10.7.0: cxxstd=" + std)
- depends_on('clhep@2.3.3.0: cxxstd=' + std,
- when='@10.3.3:10.6 cxxstd=' + std)
+ depends_on("clhep@2.3.3.0: cxxstd=" + std, when="@10.3.3:10.6 cxxstd=" + std)
# Spack only supports Xerces-c 3 and above, so no version req
- depends_on('xerces-c netaccessor=curl cxxstd=' + std,
- when='cxxstd=' + std)
+ depends_on("xerces-c netaccessor=curl cxxstd=" + std, when="cxxstd=" + std)
# Vecgeom specific versions for each Geant4 version
- depends_on('vecgeom@1.1.18:1.1 cxxstd=' + std,
- when='@11.0.0: +vecgeom cxxstd=' + std)
- depends_on('vecgeom@1.1.8:1.1 cxxstd=' + std,
- when='@10.7.0: +vecgeom cxxstd=' + std)
- depends_on('vecgeom@1.1.5 cxxstd=' + std,
- when='@10.6.0:10.6 +vecgeom cxxstd=' + std)
- depends_on('vecgeom@1.1.0 cxxstd=' + std,
- when='@10.5.0:10.5 +vecgeom cxxstd=' + std)
- depends_on('vecgeom@0.5.2 cxxstd=' + std,
- when='@10.4.0:10.4 +vecgeom cxxstd=' + std)
- depends_on('vecgeom@0.3rc cxxstd=' + std,
- when='@10.3.0:10.3 +vecgeom cxxstd=' + std)
+ depends_on("vecgeom@1.1.18:1.1 cxxstd=" + std, when="@11.0.0: +vecgeom cxxstd=" + std)
+ depends_on("vecgeom@1.1.8:1.1 cxxstd=" + std, when="@10.7.0: +vecgeom cxxstd=" + std)
+ depends_on("vecgeom@1.1.5 cxxstd=" + std, when="@10.6.0:10.6 +vecgeom cxxstd=" + std)
+ depends_on("vecgeom@1.1.0 cxxstd=" + std, when="@10.5.0:10.5 +vecgeom cxxstd=" + std)
+ depends_on("vecgeom@0.5.2 cxxstd=" + std, when="@10.4.0:10.4 +vecgeom cxxstd=" + std)
+ depends_on("vecgeom@0.3rc cxxstd=" + std, when="@10.3.0:10.3 +vecgeom cxxstd=" + std)
# Boost.python, conflict handled earlier
- depends_on('boost@1.70: +python cxxstd=' + std,
- when='+python cxxstd=' + std)
+ depends_on("boost@1.70: +python cxxstd=" + std, when="+python cxxstd=" + std)
# Visualization driver dependencies
- depends_on("gl", when='+opengl')
- depends_on("glu", when='+opengl')
- depends_on("glx", when='+opengl+x11')
- depends_on("libx11", when='+x11')
- depends_on("libxmu", when='+x11')
- depends_on("motif", when='+motif')
+ depends_on("gl", when="+opengl")
+ depends_on("glu", when="+opengl")
+ depends_on("glx", when="+opengl+x11")
+ depends_on("libx11", when="+x11")
+ depends_on("libxmu", when="+x11")
+ depends_on("motif", when="+motif")
depends_on("qt@5: +opengl", when="+qt")
# As released, 10.03.03 has issues with respect to using external
# CLHEP.
- patch('CLHEP-10.03.03.patch', level=1, when='@10.3.3')
+ patch("CLHEP-10.03.03.patch", level=1, when="@10.3.3")
# These patches can be applied independent of the cxxstd value?
- patch('cxx17.patch', when='@:10.3 cxxstd=17')
- patch('cxx17_geant4_10_0.patch', level=1, when='@10.4.0 cxxstd=17')
- patch('geant4-10.4.3-cxx17-removed-features.patch',
- level=1, when='@10.4.3 cxxstd=17')
+ patch("cxx17.patch", when="@:10.3 cxxstd=17")
+ patch("cxx17_geant4_10_0.patch", level=1, when="@10.4.0 cxxstd=17")
+ patch("geant4-10.4.3-cxx17-removed-features.patch", level=1, when="@10.4.3 cxxstd=17")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
+ output = Executable(exe)("--version", output=str, error=str)
# We already get the correct format
return output.strip()
@classmethod
def determine_variants(cls, exes, version_str):
variants = []
- cxxstd = Executable(exes[0])('--cxxstd', output=str, error=str)
+ cxxstd = Executable(exes[0])("--cxxstd", output=str, error=str)
# output will be something like c++17, we only want the number
- variants.append('cxxstd={}'.format(cxxstd[-3:]))
+ variants.append("cxxstd={}".format(cxxstd[-3:]))
def _has_feature(feature):
- res = Executable(exes[0])('--has-feature', feature, output=str, error=str)
- return res.strip() == 'yes'
+ res = Executable(exes[0])("--has-feature", feature, output=str, error=str)
+ return res.strip() == "yes"
def _add_variant(feature, variant):
"""Helper to determine whether a given feature is present and append the
corresponding variant to the list"""
if _has_feature(feature):
- variants.append('+{}'.format(variant))
+ variants.append("+{}".format(variant))
else:
- variants.append('~{}'.format(variant))
+ variants.append("~{}".format(variant))
- _add_variant('qt', 'qt')
- _add_variant('motif', 'motif')
- _add_variant('multithreading', 'threads')
- _add_variant('usolids', 'vecgeom')
+ _add_variant("qt", "qt")
+ _add_variant("motif", "motif")
+ _add_variant("multithreading", "threads")
+ _add_variant("usolids", "vecgeom")
- if _has_feature('opengl-x11'):
- variants.append('+opengl')
- variants.append('+x11')
+ if _has_feature("opengl-x11"):
+ variants.append("+opengl")
+ variants.append("+x11")
else:
- variants.append('~opengl')
+ variants.append("~opengl")
# raytracer-x11 could still lead to the activation of the x11
# variant without +opengl
- _add_variant('raytracer-x11', 'x11')
+ _add_variant("raytracer-x11", "x11")
# TODO: The following variants cannot be determined from geant4-config.
# - python
@@ -173,84 +180,76 @@ class Geant4(CMakePackage):
# - vtk
# Should we have a (version dependent) warning message for these?
- return ' '.join(variants)
+ return " ".join(variants)
def cmake_args(self):
spec = self.spec
# Core options
options = [
- '-DGEANT4_USE_SYSTEM_CLHEP=ON',
- '-DGEANT4_USE_SYSTEM_EXPAT=ON',
- '-DGEANT4_USE_SYSTEM_ZLIB=ON',
- '-DGEANT4_USE_G3TOG4=ON',
- '-DGEANT4_USE_GDML=ON',
- '-DXERCESC_ROOT_DIR={0}'.format(spec['xerces-c'].prefix)
+ "-DGEANT4_USE_SYSTEM_CLHEP=ON",
+ "-DGEANT4_USE_SYSTEM_EXPAT=ON",
+ "-DGEANT4_USE_SYSTEM_ZLIB=ON",
+ "-DGEANT4_USE_G3TOG4=ON",
+ "-DGEANT4_USE_GDML=ON",
+ "-DXERCESC_ROOT_DIR={0}".format(spec["xerces-c"].prefix),
]
# Use the correct C++ standard option for the requested version
- if spec.version >= Version('11.0'):
- options.append(
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
+ if spec.version >= Version("11.0"):
+ options.append(self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"))
else:
- options.append(
- self.define_from_variant('GEANT4_BUILD_CXXSTD', 'cxxstd'))
+ options.append(self.define_from_variant("GEANT4_BUILD_CXXSTD", "cxxstd"))
- if spec.version >= Version('10.6'):
+ if spec.version >= Version("10.6"):
# When building a downstream library/app outside of Spack, make
# sure that Geant4's dependencies are found
- options.append(self.define('GEANT4_INSTALL_PACKAGE_CACHE', True))
+ options.append(self.define("GEANT4_INSTALL_PACKAGE_CACHE", True))
# Multithreading
- options.append(self.define_from_variant('GEANT4_BUILD_MULTITHREADED',
- 'threads'))
- options.append(self.define_from_variant('GEANT4_USE_TBB', 'tbb'))
+ options.append(self.define_from_variant("GEANT4_BUILD_MULTITHREADED", "threads"))
+ options.append(self.define_from_variant("GEANT4_USE_TBB", "tbb"))
- if '+threads' in spec:
+ if "+threads" in spec:
# Locked at global-dynamic to allow use cases that load the
# geant4 libs at application runtime
- options.append('-DGEANT4_BUILD_TLS_MODEL=global-dynamic')
+ options.append("-DGEANT4_BUILD_TLS_MODEL=global-dynamic")
# Never install the data with geant4, but point to the dependent
# geant4-data's install directory to correctly set up the
# Geant4Config.cmake values for Geant4_DATASETS .
- options.append(self.define('GEANT4_INSTALL_DATA', False))
- options.append(self.define('GEANT4_INSTALL_DATADIR', self.datadir))
+ options.append(self.define("GEANT4_INSTALL_DATA", False))
+ options.append(self.define("GEANT4_INSTALL_DATADIR", self.datadir))
# Vecgeom
- if '+vecgeom' in spec:
- options.append('-DGEANT4_USE_USOLIDS=ON')
- options.append('-DUSolids_DIR=%s' % spec[
- 'vecgeom'].prefix.lib.CMake.USolids)
+ if "+vecgeom" in spec:
+ options.append("-DGEANT4_USE_USOLIDS=ON")
+ options.append("-DUSolids_DIR=%s" % spec["vecgeom"].prefix.lib.CMake.USolids)
# Visualization options
- if 'platform=darwin' not in spec:
+ if "platform=darwin" not in spec:
if "+x11" in spec and "+opengl" in spec:
- options.append('-DGEANT4_USE_OPENGL_X11=ON')
+ options.append("-DGEANT4_USE_OPENGL_X11=ON")
if "+motif" in spec and "+opengl" in spec:
- options.append('-DGEANT4_USE_XM=ON')
+ options.append("-DGEANT4_USE_XM=ON")
if "+x11" in spec:
- options.append('-DGEANT4_USE_RAYTRACER_X11=ON')
+ options.append("-DGEANT4_USE_RAYTRACER_X11=ON")
- if '+qt' in spec:
- options.append('-DGEANT4_USE_QT=ON')
- options.append(
- '-DQT_QMAKE_EXECUTABLE=%s' %
- spec['qt'].prefix.bin.qmake)
+ if "+qt" in spec:
+ options.append("-DGEANT4_USE_QT=ON")
+ options.append("-DQT_QMAKE_EXECUTABLE=%s" % spec["qt"].prefix.bin.qmake)
- options.append(self.define_from_variant('GEANT4_USE_VTK', 'vtk'))
+ options.append(self.define_from_variant("GEANT4_USE_VTK", "vtk"))
# Python
- if spec.version > Version('10.6.1'):
- options.append(self.define_from_variant('GEANT4_USE_PYTHON',
- 'python'))
+ if spec.version > Version("10.6.1"):
+ options.append(self.define_from_variant("GEANT4_USE_PYTHON", "python"))
return options
@property
def datadir(self):
- dataspec = self.spec['geant4-data']
+ dataspec = self.spec["geant4-data"]
return join_path(
- dataspec.prefix.share,
- '{0}-{1}'.format(dataspec.name, dataspec.version.dotted)
+ dataspec.prefix.share, "{0}-{1}".format(dataspec.name, dataspec.version.dotted)
)
diff --git a/var/spack/repos/builtin/packages/gearshifft/package.py b/var/spack/repos/builtin/packages/gearshifft/package.py
index 2d59d2cf9e..9d725db51f 100644
--- a/var/spack/repos/builtin/packages/gearshifft/package.py
+++ b/var/spack/repos/builtin/packages/gearshifft/package.py
@@ -10,55 +10,49 @@ class Gearshifft(CMakePackage):
"""Benchmark Suite for Heterogenuous FFT Implementations"""
homepage = "https://github.com/mpicbg-scicomp/gearshifft"
- url = "https://github.com/mpicbg-scicomp/gearshifft/archive/v0.2.1-lw.tar.gz"
+ url = "https://github.com/mpicbg-scicomp/gearshifft/archive/v0.2.1-lw.tar.gz"
- maintainers = ['zyzzyxdonta']
+ maintainers = ["zyzzyxdonta"]
- version('0.4.0', sha256='15b9e4bfa1d9b4fe4ae316f289c67b7be0774cdada5bd7310df4d0e026d9d227')
+ version("0.4.0", sha256="15b9e4bfa1d9b4fe4ae316f289c67b7be0774cdada5bd7310df4d0e026d9d227")
# gearshifft used the variable name `CMAKE_DEFAULT_BUILD_TYPE` which was
# later introduced by CMake leading to an error in newer CMake versions.
# This patch renames the variable to `GEARSHIFFT_DEFAULT_BUILD_TYPE`.
- patch('gearshifft-v0.4.0-cmake-variable-name.patch', when='@0.4.0')
+ patch("gearshifft-v0.4.0-cmake-variable-name.patch", when="@0.4.0")
- variant('cufft', default=True,
- description='Compile gearshifft_cufft')
- variant('clfft', default=True,
- description='Compile gearshifft_clfft')
- variant('fftw', default=True,
- description='Compile gearshifft_fftw')
- variant('openmp', default=True,
- description='use OpenMP parallel fftw libraries')
+ variant("cufft", default=True, description="Compile gearshifft_cufft")
+ variant("clfft", default=True, description="Compile gearshifft_clfft")
+ variant("fftw", default=True, description="Compile gearshifft_fftw")
+ variant("openmp", default=True, description="use OpenMP parallel fftw libraries")
# variant('hcfft', default=True,
# description='Not implemented yet')
- variant('mkl', default=True,
- description='Compile gearshifft_fftwwrappers')
- variant('rocfft', default=True,
- description='Compile gearshifft_rocfft')
+ variant("mkl", default=True, description="Compile gearshifft_fftwwrappers")
+ variant("rocfft", default=True, description="Compile gearshifft_rocfft")
# depends_on C++14 compiler, e.g. GCC 5.0+
- depends_on('cmake@2.8.0:', type='build')
- depends_on('boost@1.59.0:+system+test+program_options+thread')
- depends_on('cuda@8.0:', when='+cufft')
- depends_on('opencl@1.2:', when='+clfft')
- depends_on('clfft@2.12.0:', when='+clfft')
- depends_on('fftw@3.3.4:~mpi~openmp', when='+fftw~openmp')
- depends_on('fftw@3.3.4:~mpi+openmp', when='+fftw+openmp')
- depends_on('intel-mkl threads=openmp', when='+mkl')
- depends_on('rocfft', when='+rocfft')
+ depends_on("cmake@2.8.0:", type="build")
+ depends_on("boost@1.59.0:+system+test+program_options+thread")
+ depends_on("cuda@8.0:", when="+cufft")
+ depends_on("opencl@1.2:", when="+clfft")
+ depends_on("clfft@2.12.0:", when="+clfft")
+ depends_on("fftw@3.3.4:~mpi~openmp", when="+fftw~openmp")
+ depends_on("fftw@3.3.4:~mpi+openmp", when="+fftw+openmp")
+ depends_on("intel-mkl threads=openmp", when="+mkl")
+ depends_on("rocfft", when="+rocfft")
def cmake_args(self):
spec = self.spec
args = [
- self.define('GEARSHIFFT_FLOAT16_SUPPORT', False),
- self.define('GEARSHIFFT_BACKEND_HCFFT', False),
- self.define_from_variant('GEARSHIFFT_BACKEND_FFTW', 'fftw'),
- self.define('GEARSHIFFT_BACKEND_FFTW_PTHREADS', '~openmp' in spec),
- self.define_from_variant('GEARSHIFFT_BACKEND_FFTW_OPENMP', 'openmp'),
- self.define_from_variant('GEARSHIFFT_BACKEND_CUFFT', 'cufft'),
- self.define_from_variant('GEARSHIFFT_BACKEND_CLFFT', 'clfft'),
- self.define_from_variant('GEARSHIFFT_BACKEND_FFTWWRAPPERS', 'mkl'),
- self.define_from_variant('GEARSHIFFT_BACKEND_ROCFFT', 'rocfft')
+ self.define("GEARSHIFFT_FLOAT16_SUPPORT", False),
+ self.define("GEARSHIFFT_BACKEND_HCFFT", False),
+ self.define_from_variant("GEARSHIFFT_BACKEND_FFTW", "fftw"),
+ self.define("GEARSHIFFT_BACKEND_FFTW_PTHREADS", "~openmp" in spec),
+ self.define_from_variant("GEARSHIFFT_BACKEND_FFTW_OPENMP", "openmp"),
+ self.define_from_variant("GEARSHIFFT_BACKEND_CUFFT", "cufft"),
+ self.define_from_variant("GEARSHIFFT_BACKEND_CLFFT", "clfft"),
+ self.define_from_variant("GEARSHIFFT_BACKEND_FFTWWRAPPERS", "mkl"),
+ self.define_from_variant("GEARSHIFFT_BACKEND_ROCFFT", "rocfft"),
]
return args
diff --git a/var/spack/repos/builtin/packages/gemma/package.py b/var/spack/repos/builtin/packages/gemma/package.py
index 7f11d320f4..68c6932ef5 100644
--- a/var/spack/repos/builtin/packages/gemma/package.py
+++ b/var/spack/repos/builtin/packages/gemma/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Gemma(MakefilePackage):
"""GEMMA is a software toolkit for fast application of linear mixed models
- (LMMs) and related models to genome-wide association studies (GWAS) and
- other large-scale data sets."""
+ (LMMs) and related models to genome-wide association studies (GWAS) and
+ other large-scale data sets."""
homepage = "https://github.com/genetics-statistics/GEMMA"
- url = "https://github.com/genetics-statistics/GEMMA/archive/refs/tags/v0.98.5.tar.gz"
+ url = "https://github.com/genetics-statistics/GEMMA/archive/refs/tags/v0.98.5.tar.gz"
- maintainers = ['snehring', 'dlkuehn']
+ maintainers = ["snehring", "dlkuehn"]
- version('0.98.5', sha256='3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677')
+ version("0.98.5", sha256="3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677")
- depends_on('zlib')
+ depends_on("zlib")
# openblas is the default
# other lapack implementors can be made to work
# but must provide cblas, blas, and lapack libs
- depends_on('openblas')
- depends_on('gsl@2:')
+ depends_on("openblas")
+ depends_on("gsl@2:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bin/gemma', prefix.bin)
+ install("bin/gemma", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gemmlowp/package.py b/var/spack/repos/builtin/packages/gemmlowp/package.py
index 6d122cc3e3..1051104144 100644
--- a/var/spack/repos/builtin/packages/gemmlowp/package.py
+++ b/var/spack/repos/builtin/packages/gemmlowp/package.py
@@ -10,13 +10,19 @@ class Gemmlowp(Package):
"""Google low-precision matrix multiplication library"""
homepage = "https://github.com/google/gemmlowp"
- git = "https://github.com/google/gemmlowp.git"
+ git = "https://github.com/google/gemmlowp.git"
- version('a6f29d9ac', commit='a6f29d8ac48d63293f845f2253eccbf86bc28321')
+ version("a6f29d9ac", commit="a6f29d8ac48d63293f845f2253eccbf86bc28321")
def install(self, spec, prefix):
- header_directories = ('eight_bit_int_gemm', 'fixedpoint',
- 'internal', 'meta', 'profiling', 'public')
+ header_directories = (
+ "eight_bit_int_gemm",
+ "fixedpoint",
+ "internal",
+ "meta",
+ "profiling",
+ "public",
+ )
for directory in header_directories:
install_tree(directory, join_path(prefix.include, directory))
diff --git a/var/spack/repos/builtin/packages/genemark-et/package.py b/var/spack/repos/builtin/packages/genemark-et/package.py
index fbac4c4e58..e1f1c92908 100644
--- a/var/spack/repos/builtin/packages/genemark-et/package.py
+++ b/var/spack/repos/builtin/packages/genemark-et/package.py
@@ -11,32 +11,32 @@ from spack.package import *
class GenemarkEt(Package):
"""Gene Prediction in Bacteria, archaea, Metagenomes and
- Metatranscriptomes.
- When downloaded this file is named the same for all versions.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Metatranscriptomes.
+ When downloaded this file is named the same for all versions.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "http://topaz.gatech.edu/GeneMark"
manual_download = True
- version('4.69', sha256='027a060d6e0654d4d2a09bc97dde9bd6efd60bc4dc3e0183f212ddd5e6854ae7')
- version('4.65', sha256='62ea2dfa1954ab25edcc118dbeaeacf15924274fb9ed47bc54716cfd15ad04fe')
- version('4.46', sha256='856b0b6c7cbd12835e140ff04ecd9124376348efd65f76bfd8b8e08c1834eac0')
- version('4.38', sha256='cee3bd73d331be44159eac15469560d0b07ffa2c98ac764c37219e1f3b7d3146')
+ version("4.69", sha256="027a060d6e0654d4d2a09bc97dde9bd6efd60bc4dc3e0183f212ddd5e6854ae7")
+ version("4.65", sha256="62ea2dfa1954ab25edcc118dbeaeacf15924274fb9ed47bc54716cfd15ad04fe")
+ version("4.46", sha256="856b0b6c7cbd12835e140ff04ecd9124376348efd65f76bfd8b8e08c1834eac0")
+ version("4.38", sha256="cee3bd73d331be44159eac15469560d0b07ffa2c98ac764c37219e1f3b7d3146")
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-yaml', type=('build', 'run'))
- depends_on('perl-hash-merge', type=('build', 'run'))
- depends_on('perl-parallel-forkmanager', type=('build', 'run'))
- depends_on('perl-logger-simple', when='@:4.46', type=('build', 'run'))
- depends_on('perl-mce', when='@4.65:', type=('build', 'run'))
- depends_on('perl-thread-queue', when='@4.65:', type=('build', 'run'))
- depends_on('perl-threads', when='@4.65:', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-yaml", type=("build", "run"))
+ depends_on("perl-hash-merge", type=("build", "run"))
+ depends_on("perl-parallel-forkmanager", type=("build", "run"))
+ depends_on("perl-logger-simple", when="@:4.46", type=("build", "run"))
+ depends_on("perl-mce", when="@4.65:", type=("build", "run"))
+ depends_on("perl-thread-queue", when="@4.65:", type=("build", "run"))
+ depends_on("perl-threads", when="@4.65:", type=("build", "run"))
def url_for_version(self, version):
- if version >= Version('4.65'):
+ if version >= Version("4.65"):
return "file://{0}/gmes_linux_64.tar.gz".format(os.getcwd())
else:
return "file://{0}/gm_et_linux_64.tar.gz".format(os.getcwd())
@@ -44,26 +44,26 @@ class GenemarkEt(Package):
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.bin.heu_dir)
- if self.version <= Version('4.38'):
- source_dir = 'gmes_petap'
+ if self.version <= Version("4.38"):
+ source_dir = "gmes_petap"
else:
source_dir = self.stage.source_path
with working_dir(source_dir):
- install_tree('lib', prefix.lib)
- files = glob.iglob('*')
+ install_tree("lib", prefix.lib)
+ files = glob.iglob("*")
for file in files:
if os.path.isfile(file):
install(file, prefix.bin)
- install_tree('heu_dir', prefix.bin.heu_dir)
+ install_tree("heu_dir", prefix.bin.heu_dir)
- @run_after('install')
+ @run_after("install")
def filter_sbang(self):
with working_dir(self.prefix.bin):
- pattern = '^#!.*/usr/bin/perl'
- repl = '#!{0}'.format(self.spec['perl'].command.path)
+ pattern = "^#!.*/usr/bin/perl"
+ repl = "#!{0}".format(self.spec["perl"].command.path)
files = glob.iglob("*.pl")
for file in files:
filter_file(pattern, repl, *files, backup=False)
def setup_run_environment(self, env):
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/genesis/package.py b/var/spack/repos/builtin/packages/genesis/package.py
index 424570b5bc..ea29318671 100644
--- a/var/spack/repos/builtin/packages/genesis/package.py
+++ b/var/spack/repos/builtin/packages/genesis/package.py
@@ -108,8 +108,7 @@ class Genesis(AutotoolsPackage, CudaPackage):
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- "tests")
+ return join_path(self.test_suite.current_test_cache_dir, "tests")
@run_after("install")
def cache_test_sources(self):
@@ -120,12 +119,10 @@ class Genesis(AutotoolsPackage, CudaPackage):
def test(self):
"""Perform stand-alone/smoke tests using installed package."""
if not self.spec.satisfies("@master"):
- print('Skipping: Tests are only available for the master branch')
+ print("Skipping: Tests are only available for the master branch")
return
- test_name = join_path(
- self.cached_tests_work_dir, "regression_test", "test.py"
- )
+ test_name = join_path(self.cached_tests_work_dir, "regression_test", "test.py")
bin_name = join_path(self.prefix.bin, "spdyn")
opts = [
test_name,
@@ -137,5 +134,5 @@ class Genesis(AutotoolsPackage, CudaPackage):
options=opts,
expected="Passed 53 / 53",
purpose="test: running regression test",
- work_dir=self.cached_tests_work_dir
+ work_dir=self.cached_tests_work_dir,
)
diff --git a/var/spack/repos/builtin/packages/genfit/package.py b/var/spack/repos/builtin/packages/genfit/package.py
index a2b454e3bc..1b80deee5c 100644
--- a/var/spack/repos/builtin/packages/genfit/package.py
+++ b/var/spack/repos/builtin/packages/genfit/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Genfit(CMakePackage):
"""GenFit is an experiment-independent framework for track reconstruction in
- particle and nuclear physics"""
+ particle and nuclear physics"""
homepage = "https://github.com/GenFit/GenFit"
- url = "https://github.com/GenFit/GenFit/archive/02-00-00.tar.gz"
- git = "https://github.com/GenFit/GenFit.git"
+ url = "https://github.com/GenFit/GenFit/archive/02-00-00.tar.gz"
+ git = "https://github.com/GenFit/GenFit.git"
- maintainers = ['mirguest']
+ maintainers = ["mirguest"]
tags = ["hep"]
- version('master', branch='master')
- version('02-00-00', sha256='0bfd5dd152ad0573daa4153a731945824e0ce266f844988b6a8bebafb7f2dacc')
+ version("master", branch="master")
+ version("02-00-00", sha256="0bfd5dd152ad0573daa4153a731945824e0ce266f844988b6a8bebafb7f2dacc")
# Untagged version from 2017-06-23 known to work with root@6.16.00
- version('b496504a', sha256='e1582b35782118ade08498adc03f3fda01979ff8bed61e0520edae46d7bfe477')
+ version("b496504a", sha256="e1582b35782118ade08498adc03f3fda01979ff8bed61e0520edae46d7bfe477")
- depends_on('root')
- depends_on('root@:6.16.00', when='@b496504a')
- depends_on('eigen')
- depends_on('googletest')
+ depends_on("root")
+ depends_on("root@:6.16.00", when="@b496504a")
+ depends_on("eigen")
+ depends_on("googletest")
def cmake_args(self):
args = []
@@ -36,6 +36,6 @@ class Genfit(CMakePackage):
# but genfit cooks its own root cmake config
# so this workaround is needed for now.
root_prefix = self.spec["root"].prefix
- args.append('-DROOT_DIR=%s' % root_prefix)
+ args.append("-DROOT_DIR=%s" % root_prefix)
return args
diff --git a/var/spack/repos/builtin/packages/gengeo/package.py b/var/spack/repos/builtin/packages/gengeo/package.py
index fbd7e4702c..6af69542bf 100644
--- a/var/spack/repos/builtin/packages/gengeo/package.py
+++ b/var/spack/repos/builtin/packages/gengeo/package.py
@@ -15,31 +15,31 @@ class Gengeo(AutotoolsPackage):
provided by ESyS-Particle itself."""
homepage = "https://launchpad.net/esys-particle/gengeo"
- url = "https://launchpad.net/esys-particle/trunk/3.0-alpha/+download/gengeo-163.tar.gz"
+ url = "https://launchpad.net/esys-particle/trunk/3.0-alpha/+download/gengeo-163.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('163', sha256='9c896d430d8f315a45379d2b82e7d374f36259af66a745bfdee4c022a080d34d')
+ version("163", sha256="9c896d430d8f315a45379d2b82e7d374f36259af66a745bfdee4c022a080d34d")
- extends('python')
+ extends("python")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('boost+python')
- depends_on('openmpi')
+ depends_on("boost+python")
+ depends_on("openmpi")
def autoreconf(self, spec, prefix):
- autogen = Executable('./autogen.sh')
+ autogen = Executable("./autogen.sh")
autogen()
def configure_args(self):
args = [
- '--verbose',
- '--with-boost=' + self.spec['boost'].prefix,
- 'CCFLAGS=-fpermissive',
- 'CXXFLAGS=-fpermissive',
+ "--verbose",
+ "--with-boost=" + self.spec["boost"].prefix,
+ "CCFLAGS=-fpermissive",
+ "CXXFLAGS=-fpermissive",
]
return args
diff --git a/var/spack/repos/builtin/packages/gengetopt/package.py b/var/spack/repos/builtin/packages/gengetopt/package.py
index 1b6ea55780..75ae55e22c 100644
--- a/var/spack/repos/builtin/packages/gengetopt/package.py
+++ b/var/spack/repos/builtin/packages/gengetopt/package.py
@@ -12,27 +12,27 @@ class Gengetopt(AutotoolsPackage):
homepage = "https://www.gnu.org/software/gengetopt/gengetopt.html"
url = "ftp://ftp.gnu.org/gnu/gengetopt/gengetopt-2.23.tar.xz"
- maintainers = ['rblake-llnl']
+ maintainers = ["rblake-llnl"]
- version('2.23', sha256='b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac')
- version('2.22.6', sha256='30b05a88604d71ef2a42a2ef26cd26df242b41f5b011ad03083143a31d9b01f7')
- version('2.22.5', sha256='3b6fb3240352b0eb0c5b8583b58b62cbba58167cef5a7e82fa08a7f968ed2137')
- version('2.22.4', sha256='4edf6b24ec8085929c86835c51d5bf904052cc671530c15f9314d9b87fe54421')
- version('2.22.3', sha256='8ce6b3df49cefea97bd522dc054ede2037939978bf23754d5c17311e5a1df3dc')
- version('2.22.2', sha256='4bf96bea9f80ac85c716cd07f5fe68602db7f380f6dc2d025f17139aa0b56455')
- version('2.22.1', sha256='e8d1de4f8c102263844886a2f2b57d82c291c1eae6307ea406fb96f29a67c3a7')
- version('2.22', sha256='b605555e41e9bf7e852a37b051e6a49014e561f21290680e3a60c279488d417e')
- version('2.21', sha256='355a32310b2fee5e7289d6d6e89eddd13275a7c85a243dc5dd293a6cb5bb047e')
- version('2.20', sha256='4c8b3b42cecff579f5f9de5ccad47e0849e0245e325a04ff5985c248141af1a4')
+ version("2.23", sha256="b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac")
+ version("2.22.6", sha256="30b05a88604d71ef2a42a2ef26cd26df242b41f5b011ad03083143a31d9b01f7")
+ version("2.22.5", sha256="3b6fb3240352b0eb0c5b8583b58b62cbba58167cef5a7e82fa08a7f968ed2137")
+ version("2.22.4", sha256="4edf6b24ec8085929c86835c51d5bf904052cc671530c15f9314d9b87fe54421")
+ version("2.22.3", sha256="8ce6b3df49cefea97bd522dc054ede2037939978bf23754d5c17311e5a1df3dc")
+ version("2.22.2", sha256="4bf96bea9f80ac85c716cd07f5fe68602db7f380f6dc2d025f17139aa0b56455")
+ version("2.22.1", sha256="e8d1de4f8c102263844886a2f2b57d82c291c1eae6307ea406fb96f29a67c3a7")
+ version("2.22", sha256="b605555e41e9bf7e852a37b051e6a49014e561f21290680e3a60c279488d417e")
+ version("2.21", sha256="355a32310b2fee5e7289d6d6e89eddd13275a7c85a243dc5dd293a6cb5bb047e")
+ version("2.20", sha256="4c8b3b42cecff579f5f9de5ccad47e0849e0245e325a04ff5985c248141af1a4")
- depends_on('texinfo', type='build')
+ depends_on("texinfo", type="build")
parallel = False
def url_for_version(self, version):
- url = 'ftp://ftp.gnu.org/gnu/gengetopt/gengetopt-{0}.tar.{1}'
- if version >= Version('2.23'):
- suffix = 'xz'
+ url = "ftp://ftp.gnu.org/gnu/gengetopt/gengetopt-{0}.tar.{1}"
+ if version >= Version("2.23"):
+ suffix = "xz"
else:
- suffix = 'gz'
+ suffix = "gz"
return url.format(version, suffix)
diff --git a/var/spack/repos/builtin/packages/genie/package.py b/var/spack/repos/builtin/packages/genie/package.py
index f945bc72ae..622eae814c 100644
--- a/var/spack/repos/builtin/packages/genie/package.py
+++ b/var/spack/repos/builtin/packages/genie/package.py
@@ -63,17 +63,24 @@ class Genie(Package):
patch("genie_disable_gopt_with_compiler_check.patch", level=0, when="@2.11:")
# Flags for GENIE"s optional but disabled by default features
- variant("atmo", default=False,
- description="Enable GENIE Atmospheric neutrino event generation app")
- variant("fnal", default=False,
- description="Enables FNAL experiment-specific event generation app")
- variant("nucleondecay", default=False,
- description="Enable GENIE Nucleon decay event generation app")
- variant("masterclass", default=False,
- description="Enable GENIE neutrino masterclass app")
+ variant(
+ "atmo", default=False, description="Enable GENIE Atmospheric neutrino event generation app"
+ )
+ variant(
+ "fnal", default=False, description="Enables FNAL experiment-specific event generation app"
+ )
+ variant(
+ "nucleondecay",
+ default=False,
+ description="Enable GENIE Nucleon decay event generation app",
+ )
+ variant("masterclass", default=False, description="Enable GENIE neutrino masterclass app")
variant("t2k", default=False, description="Enable T2K-specific generation app")
- variant("vleextension", default=False,
- description="Enable GENIE very low energy (1 MeV - 100 MeV) extension")
+ variant(
+ "vleextension",
+ default=False,
+ description="Enable GENIE very low energy (1 MeV - 100 MeV) extension",
+ )
def url_for_version(self, version):
url = "https://github.com/GENIE-MC/Generator/archive/R-{0}.tar.gz"
@@ -107,9 +114,7 @@ class Genie(Package):
args = [
"--prefix=" + prefix,
"--with-compiler=" + os.environ["CC"],
- "--with-libxml2-inc={0}{1}libxml2".format(
- spec["libxml2"].prefix.include, os.sep
- ),
+ "--with-libxml2-inc={0}{1}libxml2".format(spec["libxml2"].prefix.include, os.sep),
"--with-libxml2-lib=" + spec["libxml2"].prefix.lib,
"--with-log4cpp-inc=" + spec["log4cpp"].prefix.include,
"--with-log4cpp-lib=" + spec["log4cpp"].prefix.lib,
diff --git a/var/spack/repos/builtin/packages/genomefinisher/package.py b/var/spack/repos/builtin/packages/genomefinisher/package.py
index e903b9c01b..9fa7bcc424 100644
--- a/var/spack/repos/builtin/packages/genomefinisher/package.py
+++ b/var/spack/repos/builtin/packages/genomefinisher/package.py
@@ -15,17 +15,17 @@ class Genomefinisher(Package):
references."""
homepage = "http://gfinisher.sourceforge.net"
- url = "https://sourceforge.net/projects/gfinisher/files/GenomeFinisher_1.4.zip"
+ url = "https://sourceforge.net/projects/gfinisher/files/GenomeFinisher_1.4.zip"
- version('1.4', sha256='8efbebaab4b577c72193f14c2c362b96fb949981fd66d2cca1364839af8bf1e3')
+ version("1.4", sha256="8efbebaab4b577c72193f14c2c362b96fb949981fd66d2cca1364839af8bf1e3")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'GenomeFinisher.jar'
+ jar_file = "GenomeFinisher.jar"
install(jar_file, prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
@@ -36,8 +36,7 @@ class Genomefinisher(Package):
# Munge the helper script to explicitly point to java and the jar file
# jar file.
- java = spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file(jar_file, join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file(jar_file, join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/genometools/package.py b/var/spack/repos/builtin/packages/genometools/package.py
index 6c88a3f89d..9d8b267e53 100644
--- a/var/spack/repos/builtin/packages/genometools/package.py
+++ b/var/spack/repos/builtin/packages/genometools/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Genometools(MakefilePackage):
"""genometools is a free collection of bioinformatics tools (in the realm
- of genome informatics) combined into a single binary named gt."""
+ of genome informatics) combined into a single binary named gt."""
homepage = "http://genometools.org/"
- url = "https://github.com/genometools/genometools/archive/refs/tags/v1.6.2.tar.gz"
+ url = "https://github.com/genometools/genometools/archive/refs/tags/v1.6.2.tar.gz"
- version('1.6.2', sha256='974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac')
- version('1.6.1', sha256='528ca143a7f1d42af8614d60ea1e5518012913a23526d82e434f0dad2e2d863f')
- version('1.5.9', sha256='bba8e043f097e7c72e823f73cb0efbd20bbd60f1ce797a0e4c0ab632b170c909')
+ version("1.6.2", sha256="974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac")
+ version("1.6.1", sha256="528ca143a7f1d42af8614d60ea1e5518012913a23526d82e434f0dad2e2d863f")
+ version("1.5.9", sha256="bba8e043f097e7c72e823f73cb0efbd20bbd60f1ce797a0e4c0ab632b170c909")
- depends_on('perl', type=('build', 'run'))
- depends_on('cairo+pdf')
- depends_on('pango')
+ depends_on("perl", type=("build", "run"))
+ depends_on("cairo+pdf")
+ depends_on("pango")
# build fails with gcc 7"
- conflicts('%gcc@7.1.0:', when='@:1.5.9')
+ conflicts("%gcc@7.1.0:", when="@:1.5.9")
- patch('signed.patch', when='%fj')
+ patch("signed.patch", when="%fj")
def install(self, spec, prefix):
- make('install', 'prefix=%s' % prefix)
+ make("install", "prefix=%s" % prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('CPATH', self.prefix.include.genometools)
+ env.set("CPATH", self.prefix.include.genometools)
diff --git a/var/spack/repos/builtin/packages/genomeworks/package.py b/var/spack/repos/builtin/packages/genomeworks/package.py
index 9b925f6d13..c8223d877e 100644
--- a/var/spack/repos/builtin/packages/genomeworks/package.py
+++ b/var/spack/repos/builtin/packages/genomeworks/package.py
@@ -10,39 +10,39 @@ class Genomeworks(CMakePackage, CudaPackage):
"""SDK for GPU accelerated genome assembly and analysis."""
homepage = "https://clara-parabricks.github.io/GenomeWorks/"
- url = "https://github.com/clara-parabricks/GenomeWorks/archive/v0.5.3.tar.gz"
- git = "https://github.com/clara-parabricks/GenomeWorks.git"
-
- version('0.5.3', tag='v0.5.3', submodules=True)
- version('0.5.2', tag='v0.5.2', submodules=True)
- version('0.5.1', tag='v0.5.1', submodules=True)
- version('0.5.0', tag='v0.5.0', submodules=True)
- version('0.4.4', tag='v0.4.4', submodules=True)
- version('0.4.3', tag='v0.4.3', submodules=True)
- version('0.4.0', tag='v0.4.0', submodules=True)
- version('0.3.0', tag='v0.3.0', submodules=True)
- version('0.2.0', tag='v0.2.0', submodules=True)
-
- depends_on('cmake@3.10.2:', type=('build'))
- depends_on('cuda@11:', type=('build', 'run'))
- depends_on('python@3.6.7:', type=('build', 'run'))
+ url = "https://github.com/clara-parabricks/GenomeWorks/archive/v0.5.3.tar.gz"
+ git = "https://github.com/clara-parabricks/GenomeWorks.git"
+
+ version("0.5.3", tag="v0.5.3", submodules=True)
+ version("0.5.2", tag="v0.5.2", submodules=True)
+ version("0.5.1", tag="v0.5.1", submodules=True)
+ version("0.5.0", tag="v0.5.0", submodules=True)
+ version("0.4.4", tag="v0.4.4", submodules=True)
+ version("0.4.3", tag="v0.4.3", submodules=True)
+ version("0.4.0", tag="v0.4.0", submodules=True)
+ version("0.3.0", tag="v0.3.0", submodules=True)
+ version("0.2.0", tag="v0.2.0", submodules=True)
+
+ depends_on("cmake@3.10.2:", type=("build"))
+ depends_on("cuda@11:", type=("build", "run"))
+ depends_on("python@3.6.7:", type=("build", "run"))
# Disable CUB compilation, as it is already included in CUDA 11.
# See https://github.com/clara-parabricks/GenomeWorks/issues/570
# This patch breaks GenomeWorks with Cuda <11, cuda@11: is
# therefore used as dependency.
- patch('3rdparty.patch')
+ patch("3rdparty.patch")
def cmake_args(self):
args = []
spec = self.spec
- if '+cuda' in spec:
- args.append('-DWITH_CUDA=ON')
- args.append('-Dgw_cuda_gen_all_arch=ON')
- args.append('-DTHRUST_IGNORE_CUB_VERSION_CHECK=ON')
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
+ if "+cuda" in spec:
+ args.append("-DWITH_CUDA=ON")
+ args.append("-Dgw_cuda_gen_all_arch=ON")
+ args.append("-DTHRUST_IGNORE_CUB_VERSION_CHECK=ON")
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
+ args.append("-DCUDA_FLAGS=-arch=sm_{0}".format(cuda_arch[0]))
else:
- args.append('-DWITH_CUDA=OFF')
+ args.append("-DWITH_CUDA=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/genrich/package.py b/var/spack/repos/builtin/packages/genrich/package.py
index 609c9a7f16..ae2c31b6b7 100644
--- a/var/spack/repos/builtin/packages/genrich/package.py
+++ b/var/spack/repos/builtin/packages/genrich/package.py
@@ -10,10 +10,10 @@ class Genrich(MakefilePackage):
"""Genrich is a peak-caller for genomic enrichment assays."""
homepage = "https://github.com/jsh58/Genrich"
- url = "https://github.com/jsh58/Genrich/archive/v0.6.tar.gz"
+ url = "https://github.com/jsh58/Genrich/archive/v0.6.tar.gz"
- version('0.6', sha256='4c87aca8b7789f28b0c5c2c0ccea75668f19fa6a4cb38cd3c06d80ffd98d396f')
+ version("0.6", sha256="4c87aca8b7789f28b0c5c2c0ccea75668f19fa6a4cb38cd3c06d80ffd98d396f")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('Genrich', prefix.bin)
+ install("Genrich", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/geode/package.py b/var/spack/repos/builtin/packages/geode/package.py
index 8c817ed338..fad05bde9d 100644
--- a/var/spack/repos/builtin/packages/geode/package.py
+++ b/var/spack/repos/builtin/packages/geode/package.py
@@ -14,15 +14,15 @@ class Geode(Package):
"""
homepage = "https://geode.apache.org/"
- url = "https://archive.apache.org/dist/geode/1.9.2/apache-geode-1.9.2.tgz"
+ url = "https://archive.apache.org/dist/geode/1.9.2/apache-geode-1.9.2.tgz"
- version('1.9.2', sha256='4b8118114ef43166f6bf73af56b93aadbf9108fcab06d1fbbb8e27f7d559d7e0')
- version('1.9.0', sha256='8794808ebc89bc855f0b989b32e91e890d446cfd058e123f6ccb9e12597c1c4f')
- version('1.8.0', sha256='58edc41edac4eabd899322b73a24727eac41f6253274c2ce7d0a82227121ae3e')
- version('1.7.0', sha256='91eec04420f46e949d32104479c4a4b5b34a4e5570dca7b98ca067a30d5a783d')
- version('1.6.0', sha256='79e8d81d058b1c4edd5fb414ff30ac530f7913b978f5abc899c353fcb06e5ef3')
+ version("1.9.2", sha256="4b8118114ef43166f6bf73af56b93aadbf9108fcab06d1fbbb8e27f7d559d7e0")
+ version("1.9.0", sha256="8794808ebc89bc855f0b989b32e91e890d446cfd058e123f6ccb9e12597c1c4f")
+ version("1.8.0", sha256="58edc41edac4eabd899322b73a24727eac41f6253274c2ce7d0a82227121ae3e")
+ version("1.7.0", sha256="91eec04420f46e949d32104479c4a4b5b34a4e5570dca7b98ca067a30d5a783d")
+ version("1.6.0", sha256="79e8d81d058b1c4edd5fb414ff30ac530f7913b978f5abc899c353fcb06e5ef3")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/geoip-api-c/package.py b/var/spack/repos/builtin/packages/geoip-api-c/package.py
index efa059db2b..839c83353a 100644
--- a/var/spack/repos/builtin/packages/geoip-api-c/package.py
+++ b/var/spack/repos/builtin/packages/geoip-api-c/package.py
@@ -11,13 +11,13 @@ class GeoipApiC(AutotoolsPackage):
and network information of an IP address."""
homepage = "https://github.com/maxmind/geoip-api-c"
- url = "https://github.com/maxmind/geoip-api-c/archive/v1.6.12.tar.gz"
+ url = "https://github.com/maxmind/geoip-api-c/archive/v1.6.12.tar.gz"
- version('1.6.12', sha256='99b119f8e21e94f1dfd6d49fbeed29a70df1544896e76cd456f25e397b07d476')
- version('1.6.11', sha256='b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5')
- version('1.6.10', sha256='cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a')
+ version("1.6.12", sha256="99b119f8e21e94f1dfd6d49fbeed29a70df1544896e76cd456f25e397b07d476")
+ version("1.6.11", sha256="b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5")
+ version("1.6.10", sha256="cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/geoip/package.py b/var/spack/repos/builtin/packages/geoip/package.py
index 1bedd40f1c..8fadd842e2 100644
--- a/var/spack/repos/builtin/packages/geoip/package.py
+++ b/var/spack/repos/builtin/packages/geoip/package.py
@@ -11,8 +11,8 @@ class Geoip(AutotoolsPackage):
or hostname mapping."""
homepage = "http://www.maxmind.com/app/c"
- url = "https://github.com/maxmind/geoip-api-c/releases/download/v1.6.12/GeoIP-1.6.12.tar.gz"
+ url = "https://github.com/maxmind/geoip-api-c/releases/download/v1.6.12/GeoIP-1.6.12.tar.gz"
- version('1.6.12', sha256='1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80')
- version('1.6.11', sha256='b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5')
- version('1.6.10', sha256='cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a')
+ version("1.6.12", sha256="1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80")
+ version("1.6.11", sha256="b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5")
+ version("1.6.10", sha256="cb44e0d0dbc45efe2e399e695864e58237ce00026fba8a74b31d85888c89c67a")
diff --git a/var/spack/repos/builtin/packages/geopm/package.py b/var/spack/repos/builtin/packages/geopm/package.py
index 06c51367e3..90a9b592d1 100644
--- a/var/spack/repos/builtin/packages/geopm/package.py
+++ b/var/spack/repos/builtin/packages/geopm/package.py
@@ -17,82 +17,92 @@ class Geopm(AutotoolsPackage):
msr-safe kernel module by your administrator."""
homepage = "https://geopm.github.io"
- url = "https://github.com/geopm/geopm/releases/download/v1.0.0/geopm-1.0.0.tar.gz"
- git = "https://github.com/geopm/geopm.git"
+ url = "https://github.com/geopm/geopm/releases/download/v1.0.0/geopm-1.0.0.tar.gz"
+ git = "https://github.com/geopm/geopm.git"
- tags = ['e4s']
+ tags = ["e4s"]
# Add additional proper versions and checksums here. "spack checksum geopm"
- version('develop', branch='dev')
- version('master', branch='master')
- version('1.1.0', sha256='5f9a4df37ef0d64c53d64829d46736803c9fe614afd8d2c70fe7a5ebea09f88e')
- version('1.0.0', sha256='24fe72265a7e44d62bdfe49467c49f0b7a649131ddda402d763c00a49765e1cb')
- version('0.6.1', sha256='0ca42853f90885bf213df190c3462b8675c143cc843aee0d8b8a0e30802b55a9')
- version('0.6.0', sha256='95ccf256c2b7cb35838978152479569d154347c3065af1639ed17be1399182d3')
- version('0.5.1', sha256='db247af55f7000b6e4628af099956349b68a637500b9d4fe8d8fb13687124d53')
- version('0.5.0', sha256='cdc123ea68b6d918dcc578a39a7a38275a5d711104364eb889abed15029f4060')
- version('0.4.0', sha256='7d165f5a5fe0f19ca586bd81a4631202effb542e9d762cc9cc86ad6ef7afcad9')
- version('0.3.0', sha256='73b45d36e7d2431d308038fc8c50a521a1d214c5ce105a17fba440f28509d907')
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("1.1.0", sha256="5f9a4df37ef0d64c53d64829d46736803c9fe614afd8d2c70fe7a5ebea09f88e")
+ version("1.0.0", sha256="24fe72265a7e44d62bdfe49467c49f0b7a649131ddda402d763c00a49765e1cb")
+ version("0.6.1", sha256="0ca42853f90885bf213df190c3462b8675c143cc843aee0d8b8a0e30802b55a9")
+ version("0.6.0", sha256="95ccf256c2b7cb35838978152479569d154347c3065af1639ed17be1399182d3")
+ version("0.5.1", sha256="db247af55f7000b6e4628af099956349b68a637500b9d4fe8d8fb13687124d53")
+ version("0.5.0", sha256="cdc123ea68b6d918dcc578a39a7a38275a5d711104364eb889abed15029f4060")
+ version("0.4.0", sha256="7d165f5a5fe0f19ca586bd81a4631202effb542e9d762cc9cc86ad6ef7afcad9")
+ version("0.3.0", sha256="73b45d36e7d2431d308038fc8c50a521a1d214c5ce105a17fba440f28509d907")
# Variants reflecting most ./configure --help options
- variant('debug', default=False, description='Enable debug.')
- variant('coverage', default=False, description='Enable test coverage support, enables debug by default.')
- variant('overhead', default=False, description='Enable GEOPM to calculate and display time spent in GEOPM API calls.')
- variant('procfs', default=True, description='Enable procfs (disable for OSes not using procfs).')
- variant('mpi', default=True, description='Enable MPI dependent components.')
- variant('fortran', default=True, description='Build fortran interface.')
- variant('doc', default=True, description='Create man pages with ruby-ronn.')
- variant('openmp', default=True, description='Build with OpenMP.')
- variant('ompt', default=False, description='Use OpenMP Tools Interface.')
- variant('gnu-ld', default=False, description='Assume C compiler uses gnu-ld.')
+ variant("debug", default=False, description="Enable debug.")
+ variant(
+ "coverage",
+ default=False,
+ description="Enable test coverage support, enables debug by default.",
+ )
+ variant(
+ "overhead",
+ default=False,
+ description="Enable GEOPM to calculate and display time spent in GEOPM API calls.",
+ )
+ variant(
+ "procfs", default=True, description="Enable procfs (disable for OSes not using procfs)."
+ )
+ variant("mpi", default=True, description="Enable MPI dependent components.")
+ variant("fortran", default=True, description="Build fortran interface.")
+ variant("doc", default=True, description="Create man pages with ruby-ronn.")
+ variant("openmp", default=True, description="Build with OpenMP.")
+ variant("ompt", default=False, description="Use OpenMP Tools Interface.")
+ variant("gnu-ld", default=False, description="Assume C compiler uses gnu-ld.")
# Added dependencies.
- depends_on('ruby-ronn', type='build', when='+doc')
- depends_on('doxygen', type='build', when='+doc')
- depends_on('mpi@2.2:', when='+mpi')
+ depends_on("ruby-ronn", type="build", when="+doc")
+ depends_on("doxygen", type="build", when="+doc")
+ depends_on("mpi@2.2:", when="+mpi")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('ruby-ronn', type='build', when='+doc')
- depends_on('doxygen', type='build', when='+doc')
- depends_on('numactl', when="@:1.0.0-rc2")
- depends_on('mpi', when='+mpi')
- depends_on('hwloc@1.11.9', when='@:0.5.1')
- depends_on('json-c', when='@:0.9.9')
- depends_on('py-cycler@0.10.0:', when="@1.0.0:", type=('build', 'run'))
- depends_on('py-pandas@0.22.0:', type=('build', 'run'))
- depends_on('py-tables@3.4.3:', when="@1.0.0:", type=('build', 'run'))
- depends_on('py-cffi@1.6.0:', when="@1.1.0:", type=('build', 'run'))
- depends_on('py-pyyaml@5.1.0:', when="@1.1.0:", type=('build', 'run'))
- depends_on('py-mock@3.0.0:', when="@1.1.0:", type=('build', 'run'))
- depends_on('py-future@0.17.1:', when="@1.1.0:", type=('build', 'run'))
- depends_on('py-numpy@1.14.3:', type=('build', 'run'))
- depends_on('py-setuptools@39.2.0:', when="@1.0.0:", type='build')
- depends_on('py-natsort@5.3.2:', type=('build', 'run'))
- depends_on('py-psutil@5.4.8:', when="@1.0.0:", type=('build', 'run'))
- depends_on('py-pylint@1.9.5:', when="@1.1.0:", type=('build', 'run'))
- depends_on('py-matplotlib@2.2.3', when="@:1.0.0-rc2", type=('build', 'run'))
- depends_on('py-matplotlib@2.2.3:', when="@1.1.0:", type=('build', 'run'))
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("ruby-ronn", type="build", when="+doc")
+ depends_on("doxygen", type="build", when="+doc")
+ depends_on("numactl", when="@:1.0.0-rc2")
+ depends_on("mpi", when="+mpi")
+ depends_on("hwloc@1.11.9", when="@:0.5.1")
+ depends_on("json-c", when="@:0.9.9")
+ depends_on("py-cycler@0.10.0:", when="@1.0.0:", type=("build", "run"))
+ depends_on("py-pandas@0.22.0:", type=("build", "run"))
+ depends_on("py-tables@3.4.3:", when="@1.0.0:", type=("build", "run"))
+ depends_on("py-cffi@1.6.0:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-pyyaml@5.1.0:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-mock@3.0.0:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-future@0.17.1:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.14.3:", type=("build", "run"))
+ depends_on("py-setuptools@39.2.0:", when="@1.0.0:", type="build")
+ depends_on("py-natsort@5.3.2:", type=("build", "run"))
+ depends_on("py-psutil@5.4.8:", when="@1.0.0:", type=("build", "run"))
+ depends_on("py-pylint@1.9.5:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.3", when="@:1.0.0-rc2", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.3:", when="@1.1.0:", type=("build", "run"))
parallel = False
def autoreconf(self, spec, prefix):
bash = which("bash")
- bash('./autogen.sh')
+ bash("./autogen.sh")
def configure_args(self):
args = []
- args.extend(self.enable_or_disable('debug'))
- args.extend(self.enable_or_disable('coverage'))
- args.extend(self.enable_or_disable('overhead'))
- args.extend(self.enable_or_disable('procfs'))
- args.extend(self.enable_or_disable('mpi'))
- args.extend(self.enable_or_disable('fortran'))
- args.extend(self.enable_or_disable('doc'))
- args.extend(self.enable_or_disable('openmp'))
- args.extend(self.enable_or_disable('ompt'))
- args.extend(self.with_or_without('gnu-ld'))
+ args.extend(self.enable_or_disable("debug"))
+ args.extend(self.enable_or_disable("coverage"))
+ args.extend(self.enable_or_disable("overhead"))
+ args.extend(self.enable_or_disable("procfs"))
+ args.extend(self.enable_or_disable("mpi"))
+ args.extend(self.enable_or_disable("fortran"))
+ args.extend(self.enable_or_disable("doc"))
+ args.extend(self.enable_or_disable("openmp"))
+ args.extend(self.enable_or_disable("ompt"))
+ args.extend(self.with_or_without("gnu-ld"))
return args
diff --git a/var/spack/repos/builtin/packages/geos/package.py b/var/spack/repos/builtin/packages/geos/package.py
index 30e9e014ac..45a12d2730 100644
--- a/var/spack/repos/builtin/packages/geos/package.py
+++ b/var/spack/repos/builtin/packages/geos/package.py
@@ -8,54 +8,56 @@ from spack.package import *
class Geos(CMakePackage):
"""GEOS (Geometry Engine - Open Source) is a C++ port of the Java
- Topology Suite (JTS). As such, it aims to contain the complete
- functionality of JTS in C++. This includes all the OpenGIS
- Simple Features for SQL spatial predicate functions and spatial
- operators, as well as specific JTS enhanced topology functions."""
+ Topology Suite (JTS). As such, it aims to contain the complete
+ functionality of JTS in C++. This includes all the OpenGIS
+ Simple Features for SQL spatial predicate functions and spatial
+ operators, as well as specific JTS enhanced topology functions."""
homepage = "https://trac.osgeo.org/geos/"
- url = "https://download.osgeo.org/geos/geos-3.8.1.tar.bz2"
-
- maintainers = ['adamjstewart']
-
- version('3.9.1', sha256='7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a')
- version('3.8.1', sha256='4258af4308deb9dbb5047379026b4cd9838513627cb943a44e16c40e42ae17f7')
- version('3.7.2', sha256='2166e65be6d612317115bfec07827c11b403c3f303e0a7420a2106bc999d7707')
- version('3.6.2', sha256='045a13df84d605a866602f6020fc6cbf8bf4c42fb50de237a08926e1d7d7652a')
- version('3.6.1', sha256='4a2e4e3a7a09a7cfda3211d0f4a235d9fd3176ddf64bd8db14b4ead266189fc5')
- version('3.6.0', sha256='1fe7644f3240c8422b0143830ff142e44e8b01333c12f67681ccaab92142f2ea')
- version('3.5.1', sha256='e6bb0a7ba0e142b1e952fae9d946b2b532fa05a5c384e458f7cb8990e1fcac32')
- version('3.5.0', sha256='49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02')
- version('3.4.3', sha256='cfbf68079117c1c2b76411636444ff41d73c31093c4cab9dcc9a8c1bbe7e3897')
- version('3.4.2', sha256='15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53')
- version('3.4.1', sha256='d07ac375f3edd12425d6ce5a96db9739d5ff358cbdf60c6804f7a9e565af8ff2')
- version('3.4.0', sha256='3b2106d9baeede39d70e22672598d40cb63ee901f54436c774b250726d7bbdd5')
- version('3.3.9', sha256='3e2156165d593f3e85df9ac223170b2c11de3cb4697e4c7a761c3ffbf04fe0ee')
- version('3.3.8', sha256='ebecd4d1a71bcc28e5e883296cd8c52a80d5596335e74728f320989734fa503b')
- version('3.3.7', sha256='fd01c21b54a3c48cac3e7885f26d4ca10ea9944238776b8ce03489e5e45c592b')
- version('3.3.6', sha256='7ee6c1da9a1b87a3e29209e7cddbf19d36f9689d8e44fec2c9bcf6a1b1be3898')
- version('3.3.5', sha256='3b513fbe2d155364d61e76d9c250d6d8e75b5166783a233596c744373cb5874f')
- version('3.3.4', sha256='cd5400aa5f3fe32246dfed5d238c5017e1808162c865c016480b3e6c07271904')
- version('3.3.3', sha256='dfcf4bd70ab212a5b7bad21d01b84748f101a545092b56dafdc3882ef3bddec9')
-
- depends_on('cmake@3.8:', type='build')
- depends_on('ninja', type='build')
-
- generator = 'Ninja'
-
- patch('https://github.com/libgeos/geos/pull/461.patch?full_index=1',
- sha256='ab78db7ff2e8fc89e899b8233cf77d90b24d88940dd202c4219decba479c8d35',
- when='@3.8:')
+ url = "https://download.osgeo.org/geos/geos-3.8.1.tar.bz2"
+
+ maintainers = ["adamjstewart"]
+
+ version("3.9.1", sha256="7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a")
+ version("3.8.1", sha256="4258af4308deb9dbb5047379026b4cd9838513627cb943a44e16c40e42ae17f7")
+ version("3.7.2", sha256="2166e65be6d612317115bfec07827c11b403c3f303e0a7420a2106bc999d7707")
+ version("3.6.2", sha256="045a13df84d605a866602f6020fc6cbf8bf4c42fb50de237a08926e1d7d7652a")
+ version("3.6.1", sha256="4a2e4e3a7a09a7cfda3211d0f4a235d9fd3176ddf64bd8db14b4ead266189fc5")
+ version("3.6.0", sha256="1fe7644f3240c8422b0143830ff142e44e8b01333c12f67681ccaab92142f2ea")
+ version("3.5.1", sha256="e6bb0a7ba0e142b1e952fae9d946b2b532fa05a5c384e458f7cb8990e1fcac32")
+ version("3.5.0", sha256="49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02")
+ version("3.4.3", sha256="cfbf68079117c1c2b76411636444ff41d73c31093c4cab9dcc9a8c1bbe7e3897")
+ version("3.4.2", sha256="15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53")
+ version("3.4.1", sha256="d07ac375f3edd12425d6ce5a96db9739d5ff358cbdf60c6804f7a9e565af8ff2")
+ version("3.4.0", sha256="3b2106d9baeede39d70e22672598d40cb63ee901f54436c774b250726d7bbdd5")
+ version("3.3.9", sha256="3e2156165d593f3e85df9ac223170b2c11de3cb4697e4c7a761c3ffbf04fe0ee")
+ version("3.3.8", sha256="ebecd4d1a71bcc28e5e883296cd8c52a80d5596335e74728f320989734fa503b")
+ version("3.3.7", sha256="fd01c21b54a3c48cac3e7885f26d4ca10ea9944238776b8ce03489e5e45c592b")
+ version("3.3.6", sha256="7ee6c1da9a1b87a3e29209e7cddbf19d36f9689d8e44fec2c9bcf6a1b1be3898")
+ version("3.3.5", sha256="3b513fbe2d155364d61e76d9c250d6d8e75b5166783a233596c744373cb5874f")
+ version("3.3.4", sha256="cd5400aa5f3fe32246dfed5d238c5017e1808162c865c016480b3e6c07271904")
+ version("3.3.3", sha256="dfcf4bd70ab212a5b7bad21d01b84748f101a545092b56dafdc3882ef3bddec9")
+
+ depends_on("cmake@3.8:", type="build")
+ depends_on("ninja", type="build")
+
+ generator = "Ninja"
+
+ patch(
+ "https://github.com/libgeos/geos/pull/461.patch?full_index=1",
+ sha256="ab78db7ff2e8fc89e899b8233cf77d90b24d88940dd202c4219decba479c8d35",
+ when="@3.8:",
+ )
@property
def command(self):
- return Executable(self.prefix.bin.join('geos-config'))
+ return Executable(self.prefix.bin.join("geos-config"))
def cmake_args(self):
args = []
# https://github.com/libgeos/geos/issues/460
- if '%intel' in self.spec:
- args.append(self.define('BUILD_ASTYLE', False))
+ if "%intel" in self.spec:
+ args.append(self.define("BUILD_ASTYLE", False))
return args
diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py
index 7048e640ab..27c93cc50d 100644
--- a/var/spack/repos/builtin/packages/gettext/package.py
+++ b/var/spack/repos/builtin/packages/gettext/package.py
@@ -14,99 +14,98 @@ class Gettext(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/gettext/"
gnu_mirror_path = "gettext/gettext-0.20.1.tar.xz"
- executables = [r'^gettext$']
+ executables = [r"^gettext$"]
- version('0.21', sha256='d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192')
- version('0.20.2', sha256='b22b818e644c37f6e3d1643a1943c32c3a9bff726d601e53047d2682019ceaba')
- version('0.20.1', sha256='53f02fbbec9e798b0faaf7c73272f83608e835c6288dd58be6c9bb54624a3800')
- version('0.19.8.1', sha256='105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4')
- version('0.19.7', sha256='378fa86a091cec3acdece3c961bb8d8c0689906287809a8daa79dc0c6398d934')
+ version("0.21", sha256="d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192")
+ version("0.20.2", sha256="b22b818e644c37f6e3d1643a1943c32c3a9bff726d601e53047d2682019ceaba")
+ version("0.20.1", sha256="53f02fbbec9e798b0faaf7c73272f83608e835c6288dd58be6c9bb54624a3800")
+ version("0.19.8.1", sha256="105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4")
+ version("0.19.7", sha256="378fa86a091cec3acdece3c961bb8d8c0689906287809a8daa79dc0c6398d934")
# Recommended variants
- variant('curses', default=True, description='Use libncurses')
- variant('libxml2', default=True, description='Use libxml2')
- variant('git', default=True, description='Enable git support')
- variant('tar', default=True, description='Enable tar support')
- variant('bzip2', default=True, description='Enable bzip2 support')
- variant('xz', default=True, description='Enable xz support')
+ variant("curses", default=True, description="Use libncurses")
+ variant("libxml2", default=True, description="Use libxml2")
+ variant("git", default=True, description="Enable git support")
+ variant("tar", default=True, description="Enable tar support")
+ variant("bzip2", default=True, description="Enable bzip2 support")
+ variant("xz", default=True, description="Enable xz support")
# Optional variants
- variant('libunistring', default=False, description='Use libunistring')
+ variant("libunistring", default=False, description="Use libunistring")
- depends_on('iconv')
+ depends_on("iconv")
# Recommended dependencies
- depends_on('ncurses', when='+curses')
- depends_on('libxml2', when='+libxml2')
+ depends_on("ncurses", when="+curses")
+ depends_on("libxml2", when="+libxml2")
# Java runtime and compiler (e.g. GNU gcj or kaffe)
# C# runtime and compiler (e.g. pnet or mono)
- depends_on('tar', when='+tar')
+ depends_on("tar", when="+tar")
# depends_on('gzip', when='+gzip')
- depends_on('bzip2', when='+bzip2')
- depends_on('xz', when='+xz', type=('build', 'link', 'run'))
+ depends_on("bzip2", when="+bzip2")
+ depends_on("xz", when="+xz", type=("build", "link", "run"))
# Optional dependencies
# depends_on('glib') # circular dependency?
# depends_on('libcroco@0.6.1:')
- depends_on('libunistring', when='+libunistring')
+ depends_on("libunistring", when="+libunistring")
# depends_on('cvs')
- patch('test-verify-parallel-make-check.patch', when='@:0.19.8.1')
- patch('nvhpc-builtin.patch', when='%nvhpc')
- patch('nvhpc-export-symbols.patch', when='%nvhpc')
- patch('nvhpc-long-width.patch', when='%nvhpc')
+ patch("test-verify-parallel-make-check.patch", when="@:0.19.8.1")
+ patch("nvhpc-builtin.patch", when="%nvhpc")
+ patch("nvhpc-export-symbols.patch", when="%nvhpc")
+ patch("nvhpc-long-width.patch", when="%nvhpc")
@classmethod
def determine_version(cls, exe):
gettext = Executable(exe)
- output = gettext('--version', output=str, error=str)
- match = re.match(r'gettext(?: \(.+\)) ([\d.]+)', output)
+ output = gettext("--version", output=str, error=str)
+ match = re.match(r"gettext(?: \(.+\)) ([\d.]+)", output)
return match.group(1) if match else None
def configure_args(self):
spec = self.spec
config_args = [
- '--disable-java',
- '--disable-csharp',
- '--with-libiconv-prefix={0}'.format(spec['iconv'].prefix),
- '--with-included-glib',
- '--with-included-gettext',
- '--with-included-libcroco',
- '--without-emacs',
- '--with-lispdir=%s/emacs/site-lisp/gettext' % self.prefix.share,
- '--without-cvs'
+ "--disable-java",
+ "--disable-csharp",
+ "--with-libiconv-prefix={0}".format(spec["iconv"].prefix),
+ "--with-included-glib",
+ "--with-included-gettext",
+ "--with-included-libcroco",
+ "--without-emacs",
+ "--with-lispdir=%s/emacs/site-lisp/gettext" % self.prefix.share,
+ "--without-cvs",
]
- if '+curses' in spec:
- config_args.append('--with-ncurses-prefix={0}'.format(
- spec['ncurses'].prefix))
+ if "+curses" in spec:
+ config_args.append("--with-ncurses-prefix={0}".format(spec["ncurses"].prefix))
else:
- config_args.append('--disable-curses')
+ config_args.append("--disable-curses")
- if '+libxml2' in spec:
- config_args.append('--with-libxml2-prefix={0}'.format(
- spec['libxml2'].prefix))
+ if "+libxml2" in spec:
+ config_args.append("--with-libxml2-prefix={0}".format(spec["libxml2"].prefix))
else:
- config_args.append('--with-included-libxml')
+ config_args.append("--with-included-libxml")
- if '+bzip2' not in spec:
- config_args.append('--without-bzip2')
+ if "+bzip2" not in spec:
+ config_args.append("--without-bzip2")
- if '+xz' not in spec:
- config_args.append('--without-xz')
+ if "+xz" not in spec:
+ config_args.append("--without-xz")
- if '+libunistring' in spec:
- config_args.append('--with-libunistring-prefix={0}'.format(
- spec['libunistring'].prefix))
+ if "+libunistring" in spec:
+ config_args.append(
+ "--with-libunistring-prefix={0}".format(spec["libunistring"].prefix)
+ )
else:
- config_args.append('--with-included-libunistring')
+ config_args.append("--with-included-libunistring")
return config_args
@property
def libs(self):
return find_libraries(
- ["libasprintf", "libgettextlib", "libgettextpo", "libgettextsrc",
- "libintl"],
- root=self.prefix, recursive=True
+ ["libasprintf", "libgettextlib", "libgettextpo", "libgettextsrc", "libintl"],
+ root=self.prefix,
+ recursive=True,
)
diff --git a/var/spack/repos/builtin/packages/gflags/package.py b/var/spack/repos/builtin/packages/gflags/package.py
index 982176d838..ad76e084b9 100644
--- a/var/spack/repos/builtin/packages/gflags/package.py
+++ b/var/spack/repos/builtin/packages/gflags/package.py
@@ -14,12 +14,12 @@ class Gflags(CMakePackage):
available at: https://gflags.github.io/gflags/"""
homepage = "https://gflags.github.io/gflags"
- url = "https://github.com/gflags/gflags/archive/v2.1.2.tar.gz"
+ url = "https://github.com/gflags/gflags/archive/v2.1.2.tar.gz"
- version('2.2.2', sha256='34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf')
- version('2.1.2', sha256='d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662')
+ version("2.2.2", sha256="34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf")
+ version("2.1.2", sha256="d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662")
- depends_on('cmake@2.8.12:', type='build')
+ depends_on("cmake@2.8.12:", type="build")
def cmake_args(self):
- return ['-DBUILD_SHARED_LIBS=ON']
+ return ["-DBUILD_SHARED_LIBS=ON"]
diff --git a/var/spack/repos/builtin/packages/gfsio/package.py b/var/spack/repos/builtin/packages/gfsio/package.py
index 6a8cc28418..1c33e3eda2 100644
--- a/var/spack/repos/builtin/packages/gfsio/package.py
+++ b/var/spack/repos/builtin/packages/gfsio/package.py
@@ -13,21 +13,21 @@ class Gfsio(CMakePackage):
This is part of the NOAA NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-gfsio"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-gfsio/archive/refs/tags/v1.4.1.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-gfsio/archive/refs/tags/v1.4.1.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.4.1', sha256='eab106302f520600decc4f9665d7c6a55e7b4901fab6d9ef40f29702b89b69b1')
+ version("1.4.1", sha256="eab106302f520600decc4f9665d7c6a55e7b4901fab6d9ef40f29702b89b69b1")
def setup_run_environment(self, env):
- lib = find_libraries('libgfsio', root=self.prefix, shared=False, recursive=True)
+ lib = find_libraries("libgfsio", root=self.prefix, shared=False, recursive=True)
# Only one library version, but still need to set _4 to make NCO happy
- for suffix in ('4', ''):
- env.set('GFSIO_LIB' + suffix, lib[0])
- env.set('GFSIO_INC' + suffix, join_path(self.prefix, 'include'))
+ for suffix in ("4", ""):
+ env.set("GFSIO_LIB" + suffix, lib[0])
+ env.set("GFSIO_INC" + suffix, join_path(self.prefix, "include"))
def flag_handler(self, name, flags):
- if self.spec.satisfies('%fj'):
- if name == 'fflags':
- flags.append('-Free')
+ if self.spec.satisfies("%fj"):
+ if name == "fflags":
+ flags.append("-Free")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/gh/package.py b/var/spack/repos/builtin/packages/gh/package.py
index 0fb853aa7d..c928a7c7a8 100644
--- a/var/spack/repos/builtin/packages/gh/package.py
+++ b/var/spack/repos/builtin/packages/gh/package.py
@@ -10,22 +10,22 @@ class Gh(Package):
"""GitHub's official command line tool."""
homepage = "https://github.com/cli/cli"
- url = "https://github.com/cli/cli/archive/refs/tags/v2.0.0.tar.gz"
+ url = "https://github.com/cli/cli/archive/refs/tags/v2.0.0.tar.gz"
- maintainers = ['lcnzg']
+ maintainers = ["lcnzg"]
- version('2.5.1', sha256='89aac9c35ad875f1b17144bf9fcbfa7231554d4abce187d9277fcc83da846e4a')
- version('2.5.0', sha256='4e9d1cbcdd2346cab5b7fc176cd57c07ed3628a0241fad8a48fe4df6a354b120')
- version('2.4.0', sha256='3c87db4d9825a342fc55bd7f27461099dd46291aea4a4a29bb95d3c896403f94')
- version('2.3.0', sha256='56bcf353adc17c386377ffcdfc980cbaff36123a1c1132ba09c3c51a7d1c9b82')
- version('2.2.0', sha256='597c6c1cde4484164e9320af0481e33cfad2330a02315b4c841bdc5b7543caec')
- version('2.1.0', sha256='4b353b121a0f3ddf5046f0a1ae719a0539e0cddef27cc78a1b33ad7d1d22c007')
- version('2.0.0', sha256='5d93535395a6684dee1d9d1d3cde859addd76f56581e0111d95a9c685d582426')
- version('1.14.0', sha256='1a99050644b4821477aabc7642bbcae8a19b3191e9227cd8078016d78cdd83ac')
- version('1.13.1', sha256='1a19ab2bfdf265b5e2dcba53c3bd0b5a88f36eff4864dcc38865e33388b600c5')
+ version("2.5.1", sha256="89aac9c35ad875f1b17144bf9fcbfa7231554d4abce187d9277fcc83da846e4a")
+ version("2.5.0", sha256="4e9d1cbcdd2346cab5b7fc176cd57c07ed3628a0241fad8a48fe4df6a354b120")
+ version("2.4.0", sha256="3c87db4d9825a342fc55bd7f27461099dd46291aea4a4a29bb95d3c896403f94")
+ version("2.3.0", sha256="56bcf353adc17c386377ffcdfc980cbaff36123a1c1132ba09c3c51a7d1c9b82")
+ version("2.2.0", sha256="597c6c1cde4484164e9320af0481e33cfad2330a02315b4c841bdc5b7543caec")
+ version("2.1.0", sha256="4b353b121a0f3ddf5046f0a1ae719a0539e0cddef27cc78a1b33ad7d1d22c007")
+ version("2.0.0", sha256="5d93535395a6684dee1d9d1d3cde859addd76f56581e0111d95a9c685d582426")
+ version("1.14.0", sha256="1a99050644b4821477aabc7642bbcae8a19b3191e9227cd8078016d78cdd83ac")
+ version("1.13.1", sha256="1a19ab2bfdf265b5e2dcba53c3bd0b5a88f36eff4864dcc38865e33388b600c5")
- depends_on('go@1.16:', type='build')
+ depends_on("go@1.16:", type="build")
def install(self, spec, prefix):
make()
- make('install', 'prefix=' + prefix)
+ make("install", "prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/ghost/package.py b/var/spack/repos/builtin/packages/ghost/package.py
index f0d491d971..64b633eefa 100644
--- a/var/spack/repos/builtin/packages/ghost/package.py
+++ b/var/spack/repos/builtin/packages/ghost/package.py
@@ -9,52 +9,47 @@ from spack.package import *
class Ghost(CMakePackage, CudaPackage):
"""GHOST: a General, Hybrid and Optimized Sparse Toolkit.
- This library provides highly optimized building blocks for implementing
- sparse iterative eigenvalue and linear solvers multi- and manycore
- clusters and on heterogenous CPU/GPU machines. For an iterative solver
- library using these kernels, see the phist package.
+ This library provides highly optimized building blocks for implementing
+ sparse iterative eigenvalue and linear solvers multi- and manycore
+ clusters and on heterogenous CPU/GPU machines. For an iterative solver
+ library using these kernels, see the phist package.
"""
homepage = "https://www.bitbucket.org/essex/ghost/"
- git = "https://bitbucket.org/essex/ghost/ghost.git"
+ git = "https://bitbucket.org/essex/ghost/ghost.git"
- version('develop', branch='devel')
+ version("develop", branch="devel")
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('mpi', default=True,
- description='enable/disable MPI')
- variant('scotch', default=False,
- description='enable/disable matrix reordering with PT-SCOTCH')
- variant('zoltan', default=False,
- description='enable/disable matrix reordering with Zoltan')
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=True, description="enable/disable MPI")
+ variant("scotch", default=False, description="enable/disable matrix reordering with PT-SCOTCH")
+ variant("zoltan", default=False, description="enable/disable matrix reordering with Zoltan")
# ###################### Dependencies ##########################
# Everything should be compiled position independent (-fpic)
- depends_on('cmake@3.5:', type='build')
- depends_on('hwloc')
- depends_on('blas')
- depends_on('mpi', when='+mpi')
- depends_on('scotch', when='+scotch')
- depends_on('zoltan', when='+zoltan')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("hwloc")
+ depends_on("blas")
+ depends_on("mpi", when="+mpi")
+ depends_on("scotch", when="+scotch")
+ depends_on("zoltan", when="+zoltan")
def cmake_args(self):
spec = self.spec
# note: we require the cblas_include_dir property from the blas
# provider, this is implemented at least for intel-mkl and
# netlib-lapack
- args = [self.define_from_variant('GHOST_ENABLE_MPI', 'mpi'),
- self.define_from_variant('GHOST_USE_CUDA', 'cuda'),
- self.define_from_variant('GHOST_USE_SCOTCH', 'scotch'),
- self.define_from_variant('GHOST_USE_ZOLTAN', 'zoltan'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DCBLAS_INCLUDE_DIR:STRING=%s'
- % format(spec['blas'].headers.directories[0]),
- '-DBLAS_LIBRARIES=%s'
- % spec['blas:c'].libs.joined(';')
- ]
+ args = [
+ self.define_from_variant("GHOST_ENABLE_MPI", "mpi"),
+ self.define_from_variant("GHOST_USE_CUDA", "cuda"),
+ self.define_from_variant("GHOST_USE_SCOTCH", "scotch"),
+ self.define_from_variant("GHOST_USE_ZOLTAN", "zoltan"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DCBLAS_INCLUDE_DIR:STRING=%s" % format(spec["blas"].headers.directories[0]),
+ "-DBLAS_LIBRARIES=%s" % spec["blas:c"].libs.joined(";"),
+ ]
return args
def check(self):
- make('test')
+ make("test")
diff --git a/var/spack/repos/builtin/packages/ghostscript-fonts/package.py b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py
index 567cd5b83a..2ebe29f917 100644
--- a/var/spack/repos/builtin/packages/ghostscript-fonts/package.py
+++ b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py
@@ -12,15 +12,16 @@ class GhostscriptFonts(Package, SourceforgePackage):
"""Ghostscript Fonts"""
homepage = "https://ghostscript.com/"
- sourceforge_mirror_path = ("gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/"
- "ghostscript-fonts-std-8.11.tar.gz")
+ sourceforge_mirror_path = (
+ "gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/" "ghostscript-fonts-std-8.11.tar.gz"
+ )
- version('8.11', sha256='0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401')
+ version("8.11", sha256="0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401")
def install(self, spec, prefix):
- fdir = join_path(prefix.share, 'font')
+ fdir = join_path(prefix.share, "font")
mkdirp(fdir)
- files = glob.glob('*')
+ files = glob.glob("*")
for f in files:
- if not f.startswith('spack-build'):
+ if not f.startswith("spack-build"):
install(f, fdir)
diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py
index 1ad043a643..76f1b97a5a 100644
--- a/var/spack/repos/builtin/packages/ghostscript/package.py
+++ b/var/spack/repos/builtin/packages/ghostscript/package.py
@@ -15,43 +15,47 @@ class Ghostscript(AutotoolsPackage):
homepage = "https://ghostscript.com/"
url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/ghostscript-9.26.tar.gz"
- executables = [r'^gs$']
+ executables = [r"^gs$"]
- version('9.54.0', sha256='0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c81762cade0')
- version('9.53.3', sha256='6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f')
- version('9.50', sha256='0f53e89fd647815828fc5171613e860e8535b68f7afbc91bf89aee886769ce89')
- version('9.27', sha256='9760e8bdd07a08dbd445188a6557cb70e60ccb6a5601f7dbfba0d225e28ce285')
- version('9.26', sha256='831fc019bd477f7cc2d481dc5395ebfa4a593a95eb2fe1eb231a97e450d7540d')
- version('9.21', sha256='02bceadbc4dddeb6f2eec9c8b1623d945d355ca11b8b4df035332b217d58ce85')
- version('9.18', sha256='5fc93079749a250be5404c465943850e3ed5ffbc0d5c07e10c7c5ee8afbbdb1b')
+ version("9.54.0", sha256="0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c81762cade0")
+ version("9.53.3", sha256="6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f")
+ version("9.50", sha256="0f53e89fd647815828fc5171613e860e8535b68f7afbc91bf89aee886769ce89")
+ version("9.27", sha256="9760e8bdd07a08dbd445188a6557cb70e60ccb6a5601f7dbfba0d225e28ce285")
+ version("9.26", sha256="831fc019bd477f7cc2d481dc5395ebfa4a593a95eb2fe1eb231a97e450d7540d")
+ version("9.21", sha256="02bceadbc4dddeb6f2eec9c8b1623d945d355ca11b8b4df035332b217d58ce85")
+ version("9.18", sha256="5fc93079749a250be5404c465943850e3ed5ffbc0d5c07e10c7c5ee8afbbdb1b")
# https://www.ghostscript.com/ocr.html
- variant('tesseract', default=False, description='Use the Tesseract library for OCR')
+ variant("tesseract", default=False, description="Use the Tesseract library for OCR")
- depends_on('pkgconfig', type='build')
- depends_on('krb5', type='link')
+ depends_on("pkgconfig", type="build")
+ depends_on("krb5", type="link")
- depends_on('freetype@2.4.2:')
- depends_on('jpeg')
- depends_on('lcms')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('zlib')
- depends_on('libxext')
- depends_on('gtkplus')
+ depends_on("freetype@2.4.2:")
+ depends_on("jpeg")
+ depends_on("lcms")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("zlib")
+ depends_on("libxext")
+ depends_on("gtkplus")
# https://www.ghostscript.com/doc/9.53.0/News.htm
- conflicts('+tesseract', when='@:9.52', msg='Tesseract OCR engine added in 9.53.0')
+ conflicts("+tesseract", when="@:9.52", msg="Tesseract OCR engine added in 9.53.0")
# https://trac.macports.org/ticket/62832
- conflicts('+tesseract', when='platform=darwin', msg='Tesseract does not build correctly on macOS')
+ conflicts(
+ "+tesseract", when="platform=darwin", msg="Tesseract does not build correctly on macOS"
+ )
- patch('nogoto.patch', when='%fj@:4.1.0')
+ patch("nogoto.patch", when="%fj@:4.1.0")
# Related bug report: https://bugs.ghostscript.com/show_bug.cgi?id=702985
- patch("https://github.com/ArtifexSoftware/ghostpdl/commit/41ef9a0bc36b9db7115fbe9623f989bfb47bbade.patch?full_index=1",
- when='@:9.53.3^freetype@2.10.3:',
- sha256="f3c2e56aa552a030c6db2923276ff2d140e39c511f92d9ef6c74a24776940af7")
+ patch(
+ "https://github.com/ArtifexSoftware/ghostpdl/commit/41ef9a0bc36b9db7115fbe9623f989bfb47bbade.patch?full_index=1",
+ when="@:9.53.3^freetype@2.10.3:",
+ sha256="f3c2e56aa552a030c6db2923276ff2d140e39c511f92d9ef6c74a24776940af7",
+ )
def url_for_version(self, version):
baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz"
@@ -65,41 +69,44 @@ class Ghostscript(AutotoolsPackage):
Note that this approach is also recommended by Linux from Scratch:
https://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html
"""
- directories = ['freetype', 'jpeg', 'libpng', 'zlib']
- if self.spec.satisfies('@:9.21'):
- directories.append('lcms2')
+ directories = ["freetype", "jpeg", "libpng", "zlib"]
+ if self.spec.satisfies("@:9.21"):
+ directories.append("lcms2")
else:
- directories.append('lcms2mt')
+ directories.append("lcms2mt")
for directory in directories:
shutil.rmtree(directory)
- filter_file('ZLIBDIR=src',
- 'ZLIBDIR={0}'.format(self.spec['zlib'].prefix.include),
- 'configure.ac', 'configure',
- string=True)
+ filter_file(
+ "ZLIBDIR=src",
+ "ZLIBDIR={0}".format(self.spec["zlib"].prefix.include),
+ "configure.ac",
+ "configure",
+ string=True,
+ )
def configure_args(self):
args = [
- '--disable-compile-inits',
- '--enable-dynamic',
- '--with-system-libtiff',
+ "--disable-compile-inits",
+ "--enable-dynamic",
+ "--with-system-libtiff",
]
- if self.spec.satisfies('@9.53:'):
- args.extend(self.with_or_without('tesseract'))
+ if self.spec.satisfies("@9.53:"):
+ args.extend(self.with_or_without("tesseract"))
return args
def build(self, spec, prefix):
make()
- make('so')
+ make("so")
def install(self, spec, prefix):
- make('install')
- make('soinstall')
+ make("install")
+ make("soinstall")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--help', output=str, error=str)
- match = re.search(r'GPL Ghostscript (\S+)', output)
+ output = Executable(exe)("--help", output=str, error=str)
+ match = re.search(r"GPL Ghostscript (\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/giblib/package.py b/var/spack/repos/builtin/packages/giblib/package.py
index 12a2b88949..eebc2052c2 100644
--- a/var/spack/repos/builtin/packages/giblib/package.py
+++ b/var/spack/repos/builtin/packages/giblib/package.py
@@ -13,8 +13,8 @@ class Giblib(AutotoolsPackage):
doubly-linked list and some string functions."""
homepage = "https://web.archive.org/web/20071002210842/http://linuxbrit.co.uk/giblib/"
- url = "https://mirror.amdmi3.ru/distfiles/giblib-1.2.4.tar.gz"
+ url = "https://mirror.amdmi3.ru/distfiles/giblib-1.2.4.tar.gz"
- version('1.2.4', sha256='176611c4d88d742ea4013991ad54c2f9d2feefbc97a28434c0f48922ebaa8bac')
+ version("1.2.4", sha256="176611c4d88d742ea4013991ad54c2f9d2feefbc97a28434c0f48922ebaa8bac")
- depends_on('imlib2')
+ depends_on("imlib2")
diff --git a/var/spack/repos/builtin/packages/giflib/package.py b/var/spack/repos/builtin/packages/giflib/package.py
index 844a60b86b..6246bba53f 100644
--- a/var/spack/repos/builtin/packages/giflib/package.py
+++ b/var/spack/repos/builtin/packages/giflib/package.py
@@ -13,50 +13,60 @@ class Giflib(MakefilePackage, SourceforgePackage):
homepage = "http://giflib.sourceforge.net/"
sourceforge_mirror_path = "giflib/giflib-5.1.4.tar.gz"
- version('5.2.1', sha256='31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd')
- version('5.2.0', sha256='dc7257487c767137602d86c17098ec97065a718ff568a61cfcf1a9466f197b1f')
- version('5.1.4', sha256='df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5', extension='tar.bz2')
+ version("5.2.1", sha256="31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd")
+ version("5.2.0", sha256="dc7257487c767137602d86c17098ec97065a718ff568a61cfcf1a9466f197b1f")
+ version(
+ "5.1.4",
+ sha256="df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5",
+ extension="tar.bz2",
+ )
- depends_on('automake', type='build', when='@:5.2.0')
- depends_on('autoconf', type='build', when='@:5.2.0')
- depends_on('m4', type='build', when='@:5.2.0')
- depends_on('libtool', type='build', when='@:5.2.0')
+ depends_on("automake", type="build", when="@:5.2.0")
+ depends_on("autoconf", type="build", when="@:5.2.0")
+ depends_on("m4", type="build", when="@:5.2.0")
+ depends_on("libtool", type="build", when="@:5.2.0")
# https://sourceforge.net/p/giflib/bugs/133/
- patch('https://sourceforge.net/p/giflib/bugs/_discuss/thread/4e811ad29b/c323/attachment/Makefile.patch',
- sha256='a94e7bdd8840a31cecacc301684dfdbf7b98773ad824aeaab611fabfdc513036',
- level=0, when='@5.2: platform=darwin')
- patch('bsd-head.patch')
+ patch(
+ "https://sourceforge.net/p/giflib/bugs/_discuss/thread/4e811ad29b/c323/attachment/Makefile.patch",
+ sha256="a94e7bdd8840a31cecacc301684dfdbf7b98773ad824aeaab611fabfdc513036",
+ level=0,
+ when="@5.2: platform=darwin",
+ )
+ 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)
- ])
+ 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()
+ targets = ["all"] + self.prefix_and_libversion_args()
return targets
@property
def install_targets(self):
- targets = ['install'] + self.prefix_and_libversion_args()
+ targets = ["install"] + self.prefix_and_libversion_args()
return targets
@property
def libs(self):
- return (find_libraries(['libgif'], root=self.prefix.lib) or
- find_libraries(['libgif'], root=self.prefix.lib64))
+ return find_libraries(["libgif"], root=self.prefix.lib) or find_libraries(
+ ["libgif"], root=self.prefix.lib64
+ )
def check(self):
- make('check', parallel=False)
+ make("check", parallel=False)
def edit(self, spec, prefix):
- if spec.satisfies('@:5.2.0'):
- configure = Executable('./configure')
- configure('--prefix={0}'.format(prefix))
+ if spec.satisfies("@:5.2.0"):
+ configure = Executable("./configure")
+ configure("--prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/ginac/package.py b/var/spack/repos/builtin/packages/ginac/package.py
index 74e8e53e57..09bb30b221 100644
--- a/var/spack/repos/builtin/packages/ginac/package.py
+++ b/var/spack/repos/builtin/packages/ginac/package.py
@@ -13,19 +13,19 @@ class Ginac(CMakePackage):
applications, graphical interfaces, etc.) under one roof."""
homepage = "https://www.ginac.de/"
- url = "https://www.ginac.de/ginac-1.7.8.tar.bz2"
- git = "git://www.ginac.de/ginac.git"
+ url = "https://www.ginac.de/ginac-1.7.8.tar.bz2"
+ git = "git://www.ginac.de/ginac.git"
- version('1.7.11', sha256='96529ddef6ae9788aca0093f4b85fc4e34318bc6704e628e6423ab5a92dfe929')
- version('1.7.9', sha256='67cdff43a4360da997ee5323cce27cf313a5b17ba58f02e8f886138c0f629821')
- version('1.7.8', sha256='0c86501aa6c72efd5937fce42c5e983fc9f05dadb65b4ebdb51ee95c9f6a7067')
+ version("1.7.11", sha256="96529ddef6ae9788aca0093f4b85fc4e34318bc6704e628e6423ab5a92dfe929")
+ version("1.7.9", sha256="67cdff43a4360da997ee5323cce27cf313a5b17ba58f02e8f886138c0f629821")
+ version("1.7.8", sha256="0c86501aa6c72efd5937fce42c5e983fc9f05dadb65b4ebdb51ee95c9f6a7067")
- variant('ginsh', default=True, description='Build ginsh, the GiNaC interactive shell')
+ variant("ginsh", default=True, description="Build ginsh, the GiNaC interactive shell")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
- depends_on('cln')
- depends_on('python@3:', type=('build', 'run'))
- depends_on('bison@2.3:', type=('build'), when='+ginsh')
- depends_on('flex@2.5.33:', type=('build'), when='+ginsh')
- depends_on('readline@4.3:', type=('link'), when='+ginsh')
+ depends_on("cln")
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("bison@2.3:", type=("build"), when="+ginsh")
+ depends_on("flex@2.5.33:", type=("build"), when="+ginsh")
+ depends_on("readline@4.3:", type=("link"), when="+ginsh")
diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py
index 593f3aa159..90440b6537 100644
--- a/var/spack/repos/builtin/packages/ginkgo/package.py
+++ b/var/spack/repos/builtin/packages/ginkgo/package.py
@@ -14,48 +14,51 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
with a focus on sparse solution of linear systems."""
homepage = "https://ginkgo-project.github.io/"
- git = "https://github.com/ginkgo-project/ginkgo.git"
-
- maintainers = ['tcojean', 'hartwiganzt']
-
- tags = ['e4s']
-
- version('develop', branch='develop')
- version('master', branch='master')
- version('glu', branch='glu')
- version('1.4.0', commit='f811917c1def4d0fcd8db3fe5c948ce13409e28e') # v1.4.0
- version('1.3.0', commit='4678668c66f634169def81620a85c9a20b7cec78') # v1.3.0
- version('1.2.0', commit='b4be2be961fd5db45c3d02b5e004d73550722e31') # v1.2.0
- version('1.1.1', commit='08d2c5200d3c78015ac8a4fd488bafe1e4240cf5') # v1.1.1
- version('1.1.0', commit='b9bec8225442b3eb2a85a870efa112ab767a17fb') # v1.1.0
- version('1.0.0', commit='45244641e0c2b19ba33aecd25153c0bddbcbe1a0') # v1.0.0
-
- variant('shared', default=True, description='Build shared libraries')
- variant('full_optimizations', default=False, description='Compile with all optimizations')
- variant('openmp', default=sys.platform != 'darwin', description='Build with OpenMP')
- variant('oneapi', default=False, description='Build with oneAPI support')
- variant('develtools', default=False, description='Compile with develtools enabled')
- variant('hwloc', default=False, description='Enable HWLOC support')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
-
- depends_on('cmake@3.9:', type='build')
- depends_on('cuda@9:', when='+cuda')
-
- depends_on('rocthrust', type="build", when='+rocm')
- depends_on('hipsparse', type="link", when='+rocm')
- depends_on('hipblas', type="link", when='+rocm')
- depends_on('rocrand', type="link", when='+rocm')
- depends_on('hwloc@2.1:', type="link", when='+hwloc')
-
- depends_on('googletest', type="test")
- depends_on('numactl', type="test", when="+hwloc")
-
- depends_on('intel-oneapi-mkl', when="+oneapi")
- depends_on('intel-oneapi-dpl', when="+oneapi")
-
- conflicts('%gcc@:5.2.9')
+ git = "https://github.com/ginkgo-project/ginkgo.git"
+
+ maintainers = ["tcojean", "hartwiganzt"]
+
+ tags = ["e4s"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("glu", branch="glu")
+ version("1.4.0", commit="f811917c1def4d0fcd8db3fe5c948ce13409e28e") # v1.4.0
+ version("1.3.0", commit="4678668c66f634169def81620a85c9a20b7cec78") # v1.3.0
+ version("1.2.0", commit="b4be2be961fd5db45c3d02b5e004d73550722e31") # v1.2.0
+ version("1.1.1", commit="08d2c5200d3c78015ac8a4fd488bafe1e4240cf5") # v1.1.1
+ version("1.1.0", commit="b9bec8225442b3eb2a85a870efa112ab767a17fb") # v1.1.0
+ version("1.0.0", commit="45244641e0c2b19ba33aecd25153c0bddbcbe1a0") # v1.0.0
+
+ variant("shared", default=True, description="Build shared libraries")
+ variant("full_optimizations", default=False, description="Compile with all optimizations")
+ variant("openmp", default=sys.platform != "darwin", description="Build with OpenMP")
+ variant("oneapi", default=False, description="Build with oneAPI support")
+ variant("develtools", default=False, description="Compile with develtools enabled")
+ variant("hwloc", default=False, description="Enable HWLOC support")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+
+ depends_on("cmake@3.9:", type="build")
+ depends_on("cuda@9:", when="+cuda")
+
+ depends_on("rocthrust", type="build", when="+rocm")
+ depends_on("hipsparse", type="link", when="+rocm")
+ depends_on("hipblas", type="link", when="+rocm")
+ depends_on("rocrand", type="link", when="+rocm")
+ depends_on("hwloc@2.1:", type="link", when="+hwloc")
+
+ depends_on("googletest", type="test")
+ depends_on("numactl", type="test", when="+hwloc")
+
+ depends_on("intel-oneapi-mkl", when="+oneapi")
+ depends_on("intel-oneapi-dpl", when="+oneapi")
+
+ conflicts("%gcc@:5.2.9")
conflicts("+rocm", when="@:1.1.1")
conflicts("+cuda", when="+rocm")
conflicts("+openmp", when="+oneapi")
@@ -67,128 +70,121 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
conflicts("^rocthrust@4.1.0:", when="@:1.3.0")
# Skip smoke tests if compatible hardware isn't found
- patch('1.4.0_skip_invalid_smoke_tests.patch', when='@master')
- patch('1.4.0_skip_invalid_smoke_tests.patch', when='@1.4.0')
+ patch("1.4.0_skip_invalid_smoke_tests.patch", when="@master")
+ patch("1.4.0_skip_invalid_smoke_tests.patch", when="@1.4.0")
# Newer DPC++ compilers use the updated SYCL 2020 standard which change
# kernel attribute propagation rules. This doesn't work well with the
# initial Ginkgo oneAPI support.
- patch('1.4.0_dpcpp_use_old_standard.patch', when='+oneapi @master')
- patch('1.4.0_dpcpp_use_old_standard.patch', when='+oneapi @1.4.0')
+ patch("1.4.0_dpcpp_use_old_standard.patch", when="+oneapi @master")
+ patch("1.4.0_dpcpp_use_old_standard.patch", when="+oneapi @1.4.0")
def setup_build_environment(self, env):
spec = self.spec
- if '+oneapi' in spec:
- env.set('MKLROOT',
- join_path(spec['intel-oneapi-mkl'].prefix,
- 'mkl', 'latest'))
- env.set('DPL_ROOT',
- join_path(spec['intel-oneapi-dpl'].prefix,
- 'dpl', 'latest'))
+ if "+oneapi" in spec:
+ env.set("MKLROOT", join_path(spec["intel-oneapi-mkl"].prefix, "mkl", "latest"))
+ env.set("DPL_ROOT", join_path(spec["intel-oneapi-dpl"].prefix, "dpl", "latest"))
def cmake_args(self):
# Check that the have the correct C++ standard is available
- if self.spec.satisfies('@:1.2.0'):
+ if self.spec.satisfies("@:1.2.0"):
try:
self.compiler.cxx11_flag
except UnsupportedCompilerFlag:
- raise InstallError('Ginkgo requires a C++11-compliant C++ compiler')
+ raise InstallError("Ginkgo requires a C++11-compliant C++ compiler")
else:
try:
self.compiler.cxx14_flag
except UnsupportedCompilerFlag:
- raise InstallError('Ginkgo requires a C++14-compliant C++ compiler')
+ raise InstallError("Ginkgo requires a C++14-compliant C++ compiler")
cxx_is_dpcpp = os.path.basename(self.compiler.cxx) == "dpcpp"
- if self.spec.satisfies('+oneapi') and not cxx_is_dpcpp:
- raise InstallError("Ginkgo's oneAPI backend requires the" +
- "DPC++ compiler as main CXX compiler.")
+ if self.spec.satisfies("+oneapi") and not cxx_is_dpcpp:
+ raise InstallError(
+ "Ginkgo's oneAPI backend requires the" + "DPC++ compiler as main CXX compiler."
+ )
spec = self.spec
from_variant = self.define_from_variant
args = [
- from_variant('GINKGO_BUILD_CUDA', 'cuda'),
- from_variant('GINKGO_BUILD_HIP', 'rocm'),
- from_variant('GINKGO_BUILD_OMP', 'openmp'),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('GINKGO_JACOBI_FULL_OPTIMIZATIONS', 'full_optimizations'),
- from_variant('GINKGO_BUILD_HWLOC', 'hwloc'),
- from_variant('GINKGO_BUILD_DPCPP', 'oneapi'),
- from_variant('GINKGO_DEVEL_TOOLS', 'develtools'),
+ from_variant("GINKGO_BUILD_CUDA", "cuda"),
+ from_variant("GINKGO_BUILD_HIP", "rocm"),
+ from_variant("GINKGO_BUILD_OMP", "openmp"),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("GINKGO_JACOBI_FULL_OPTIMIZATIONS", "full_optimizations"),
+ from_variant("GINKGO_BUILD_HWLOC", "hwloc"),
+ from_variant("GINKGO_BUILD_DPCPP", "oneapi"),
+ from_variant("GINKGO_DEVEL_TOOLS", "develtools"),
# As we are not exposing benchmarks, examples, tests nor doc
# as part of the installation, disable building them altogether.
- '-DGINKGO_BUILD_BENCHMARKS=OFF',
- '-DGINKGO_BUILD_DOC=OFF',
- '-DGINKGO_BUILD_EXAMPLES=OFF',
- self.define('GINKGO_BUILD_TESTS', self.run_tests),
+ "-DGINKGO_BUILD_BENCHMARKS=OFF",
+ "-DGINKGO_BUILD_DOC=OFF",
+ "-DGINKGO_BUILD_EXAMPLES=OFF",
+ self.define("GINKGO_BUILD_TESTS", self.run_tests),
# Let spack handle the RPATH
- '-DGINKGO_INSTALL_RPATH=OFF'
+ "-DGINKGO_INSTALL_RPATH=OFF",
]
if self.run_tests:
- args.append('-DGINKGO_USE_EXTERNAL_GTEST=ON')
+ args.append("-DGINKGO_USE_EXTERNAL_GTEST=ON")
- if '+cuda' in spec:
- archs = spec.variants['cuda_arch'].value
- if archs != 'none':
+ if "+cuda" in spec:
+ archs = spec.variants["cuda_arch"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append('-DGINKGO_CUDA_ARCHITECTURES={0}'.format(arch_str))
-
- if '+rocm' in spec:
- args.append('-DHIP_PATH={0}'. format(spec['hip'].prefix))
- args.append('-DHIP_CLANG_PATH={0}/bin'.
- format(spec['llvm-amdgpu'].prefix))
- args.append('-DHIP_CLANG_INCLUDE_PATH={0}/include'.
- format(spec['llvm-amdgpu'].prefix))
- args.append('-DHIPSPARSE_PATH={0}'.
- format(spec['hipsparse'].prefix))
- args.append('-DHIPBLAS_PATH={0}'.
- format(spec['hipblas'].prefix))
- args.append('-DHIPRAND_PATH={0}/hiprand'.
- format(spec['rocrand'].prefix))
- args.append('-DROCRAND_PATH={0}/rocrand'.
- format(spec['rocrand'].prefix))
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ args.append("-DGINKGO_CUDA_ARCHITECTURES={0}".format(arch_str))
+
+ if "+rocm" in spec:
+ args.append("-DHIP_PATH={0}".format(spec["hip"].prefix))
+ args.append("-DHIP_CLANG_PATH={0}/bin".format(spec["llvm-amdgpu"].prefix))
+ args.append("-DHIP_CLANG_INCLUDE_PATH={0}/include".format(spec["llvm-amdgpu"].prefix))
+ args.append("-DHIPSPARSE_PATH={0}".format(spec["hipsparse"].prefix))
+ args.append("-DHIPBLAS_PATH={0}".format(spec["hipblas"].prefix))
+ args.append("-DHIPRAND_PATH={0}/hiprand".format(spec["rocrand"].prefix))
+ args.append("-DROCRAND_PATH={0}/rocrand".format(spec["rocrand"].prefix))
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append(
- '-DGINKGO_HIP_AMDGPU={0}'.format(arch_str)
- )
+ args.append("-DGINKGO_HIP_AMDGPU={0}".format(arch_str))
return args
- @run_after('install')
+ @run_after("install")
def setup_build_tests(self):
"""Build and install the smoke tests."""
# For now only 1.4.0 and later releases support this scheme.
- if self.spec.satisfies('@:1.3.0'):
+ if self.spec.satisfies("@:1.3.0"):
return
with working_dir(self.build_directory):
make("test_install")
- smoke_test_path = join_path(self.build_directory, 'test', 'test_install')
+ smoke_test_path = join_path(self.build_directory, "test", "test_install")
with working_dir(smoke_test_path):
make("install")
def test(self):
"""Run the smoke tests."""
# For now only 1.4.0 and later releases support this scheme.
- if self.spec.satisfies('@:1.3.0'):
+ if self.spec.satisfies("@:1.3.0"):
print("SKIPPED: smoke tests not supported with this Ginkgo version.")
return
# The installation process installs tests and associated data
# in a non-standard subdirectory. Consequently, those files must
# be manually copied to the test stage here.
- install_tree(self.prefix.smoke_tests,
- self.test_suite.current_test_cache_dir)
+ install_tree(self.prefix.smoke_tests, self.test_suite.current_test_cache_dir)
# Perform the test(s) created by setup_build_tests.
- files = [('test_install', [r'REFERENCE',
- r'correctly detected and is complete']),
- ('test_install_cuda', [r'CUDA',
- r'correctly detected and is complete']),
- ('test_install_hip', [r'HIP',
- r'correctly detected and is complete'])]
+ files = [
+ ("test_install", [r"REFERENCE", r"correctly detected and is complete"]),
+ ("test_install_cuda", [r"CUDA", r"correctly detected and is complete"]),
+ ("test_install_hip", [r"HIP", r"correctly detected and is complete"]),
+ ]
for f, expected in files:
- self.run_test(f, [], expected, skip_missing=True, installed=False,
- purpose="test: Running {0}".format(f),
- work_dir=self.test_suite.current_test_cache_dir)
+ self.run_test(
+ f,
+ [],
+ expected,
+ skip_missing=True,
+ installed=False,
+ purpose="test: Running {0}".format(f),
+ work_dir=self.test_suite.current_test_cache_dir,
+ )
diff --git a/var/spack/repos/builtin/packages/giraph/package.py b/var/spack/repos/builtin/packages/giraph/package.py
index 6bbd609828..e4b9009daa 100644
--- a/var/spack/repos/builtin/packages/giraph/package.py
+++ b/var/spack/repos/builtin/packages/giraph/package.py
@@ -12,22 +12,23 @@ class Giraph(MavenPackage):
for high scalability."""
homepage = "https://giraph.apache.org/"
- url = "https://downloads.apache.org/giraph/giraph-1.0.0/giraph-dist-1.0.0-src.tar.gz"
+ url = "https://downloads.apache.org/giraph/giraph-1.0.0/giraph-dist-1.0.0-src.tar.gz"
list_url = "https://downloads.apache.org/giraph/"
list_depth = 1
- version('1.2.0', sha256='6206f4ad220ea42aa0c4abecce343e36026cf9c6e0a2853f1eb08543da452ad1')
- version('1.1.0', sha256='181d94b8198c0f312d4611e24b0056b5181c8358a7ec89b0393661736cd19a4c')
+ version("1.2.0", sha256="6206f4ad220ea42aa0c4abecce343e36026cf9c6e0a2853f1eb08543da452ad1")
+ version("1.1.0", sha256="181d94b8198c0f312d4611e24b0056b5181c8358a7ec89b0393661736cd19a4c")
- depends_on('java@7:', type=('build', 'run'))
- depends_on('maven@3.0.0:', type='build')
+ depends_on("java@7:", type=("build", "run"))
+ depends_on("maven@3.0.0:", type="build")
def install(self, spec, prefix):
- giraph_path = join_path(self.stage.source_path,
- 'giraph-dist', 'target',
- 'giraph-{0}-for-hadoop-1.2.1-bin'
- .format(spec.version),
- 'giraph-{0}-for-hadoop-1.2.1'
- .format(spec.version))
+ giraph_path = join_path(
+ self.stage.source_path,
+ "giraph-dist",
+ "target",
+ "giraph-{0}-for-hadoop-1.2.1-bin".format(spec.version),
+ "giraph-{0}-for-hadoop-1.2.1".format(spec.version),
+ )
with working_dir(giraph_path):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/git-annex/package.py b/var/spack/repos/builtin/packages/git-annex/package.py
index f8d7d8b341..18b685b10b 100644
--- a/var/spack/repos/builtin/packages/git-annex/package.py
+++ b/var/spack/repos/builtin/packages/git-annex/package.py
@@ -51,51 +51,69 @@ class GitAnnex(Package):
# git-annex-standalone-arm64.tar.gz
# release 10.20220223 was not properly updated for arm64 upstream
- version('10.20220121', sha256='3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25',
- url="https://downloads.kitenet.net/.git/annex/objects/Kp/K5/SHA256E-s55243787--3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25.tar.gz/SHA256E-s55243787--3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25.tar.gz")
+ version(
+ "10.20220121",
+ sha256="3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25",
+ url="https://downloads.kitenet.net/.git/annex/objects/Kp/K5/SHA256E-s55243787--3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25.tar.gz/SHA256E-s55243787--3f8a50f61cb092e4e658a320b86ee7bd38238bbd1286fa462bb12797d36e1f25.tar.gz",
+ )
# release 8.20210804 was not properly updated for arm64 upstream
# the sha256sums of 8.20210622 and 8.20210804 were the same
- version('8.20210622', sha256='869f875e280db0cc3243d9d0d33492f1c3bc182053544c1d5eb0ec463125fe76',
- # original link is broken
- url="http://archive.org/download/git-annex-builds/SHA256E-s55109776--869f875e280db0cc3243d9d0d33492f1c3bc182053544c1d5eb0ec463125fe76.tar.gz")
+ version(
+ "8.20210622",
+ sha256="869f875e280db0cc3243d9d0d33492f1c3bc182053544c1d5eb0ec463125fe76",
+ # original link is broken
+ url="http://archive.org/download/git-annex-builds/SHA256E-s55109776--869f875e280db0cc3243d9d0d33492f1c3bc182053544c1d5eb0ec463125fe76.tar.gz",
+ )
elif platform.system() == "Linux":
# git-annex-standalone-amd64.tar.gz
- version('10.20220223', sha256='498a877e040f20e032879d026a78aa86b74f2652774efe3e8b81f054ca1f4485',
- url="http://archive.org/download/git-annex-builds/SHA256E-s52308746--498a877e040f20e032879d026a78aa86b74f2652774efe3e8b81f054ca1f4485.tar.gz")
- version('10.20220121', sha256='45cfaddc859d24f7e5e7eb3ab10c14a94d744705d365f26b54a50855ab1068f3',
- url="http://archive.org/download/git-annex-builds/SHA256E-s52034939--45cfaddc859d24f7e5e7eb3ab10c14a94d744705d365f26b54a50855ab1068f3.tar.gz")
- version('8.20210804', sha256='f9d4bec06dddaeced25eec5f46360223797363e608fe37cfa93b2481f0166e1f',
- url="http://archive.org/download/git-annex-builds/SHA256E-s51465538--f9d4bec06dddaeced25eec5f46360223797363e608fe37cfa93b2481f0166e1f.tar.gz")
- version('8.20210622', sha256='a1cef631ef2cc0c977580eacaa1294d7617727df99214920ca6e8f3172bae03e',
- url="http://archive.org/download/git-annex-builds/SHA256E-s51276461--a1cef631ef2cc0c977580eacaa1294d7617727df99214920ca6e8f3172bae03e.tar.gz")
-
- variant('standalone', default=False,
- description='Install git-annex fully standalone incl. git')
-
- depends_on('git', when='~standalone')
-
- conflicts('platform=darwin', msg='Darwin is not supported.')
- conflicts('platform=windows', msg='Windows is not supported.')
-
- executables = ['^git-annex$']
+ version(
+ "10.20220223",
+ sha256="498a877e040f20e032879d026a78aa86b74f2652774efe3e8b81f054ca1f4485",
+ url="http://archive.org/download/git-annex-builds/SHA256E-s52308746--498a877e040f20e032879d026a78aa86b74f2652774efe3e8b81f054ca1f4485.tar.gz",
+ )
+ version(
+ "10.20220121",
+ sha256="45cfaddc859d24f7e5e7eb3ab10c14a94d744705d365f26b54a50855ab1068f3",
+ url="http://archive.org/download/git-annex-builds/SHA256E-s52034939--45cfaddc859d24f7e5e7eb3ab10c14a94d744705d365f26b54a50855ab1068f3.tar.gz",
+ )
+ version(
+ "8.20210804",
+ sha256="f9d4bec06dddaeced25eec5f46360223797363e608fe37cfa93b2481f0166e1f",
+ url="http://archive.org/download/git-annex-builds/SHA256E-s51465538--f9d4bec06dddaeced25eec5f46360223797363e608fe37cfa93b2481f0166e1f.tar.gz",
+ )
+ version(
+ "8.20210622",
+ sha256="a1cef631ef2cc0c977580eacaa1294d7617727df99214920ca6e8f3172bae03e",
+ url="http://archive.org/download/git-annex-builds/SHA256E-s51276461--a1cef631ef2cc0c977580eacaa1294d7617727df99214920ca6e8f3172bae03e.tar.gz",
+ )
+
+ variant(
+ "standalone", default=False, description="Install git-annex fully standalone incl. git"
+ )
+
+ depends_on("git", when="~standalone")
+
+ conflicts("platform=darwin", msg="Darwin is not supported.")
+ conflicts("platform=windows", msg="Windows is not supported.")
+
+ executables = ["^git-annex$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('version', output=str, error=str)
- match = re.search(r'git-annex version: ([0-9.]+)', output)
+ output = Executable(exe)("version", output=str, error=str)
+ match = re.search(r"git-annex version: ([0-9.]+)", output)
if not match:
return None
version = match.group(1)
return version
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
- if '~standalone' in spec:
+ if "~standalone" in spec:
# use git provided by spack instead of the one in the package
- git_files = ['git', 'git-receive-pack', 'git-shell', 'git-upload-pack']
+ git_files = ["git", "git-receive-pack", "git-shell", "git-upload-pack"]
for i in git_files:
os.remove(join_path(prefix.bin, i))
- os.symlink(join_path(spec['git'].prefix.bin, i),
- join_path(prefix.bin, i))
+ os.symlink(join_path(spec["git"].prefix.bin, i), join_path(prefix.bin, i))
diff --git a/var/spack/repos/builtin/packages/git-fat-git/package.py b/var/spack/repos/builtin/packages/git-fat-git/package.py
index 3cbd78138e..eac1d02aa0 100644
--- a/var/spack/repos/builtin/packages/git-fat-git/package.py
+++ b/var/spack/repos/builtin/packages/git-fat-git/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class GitFatGit(Package):
"""Simple way to handle fat files without committing them to git, supports
- synchronization using rsync"""
+ synchronization using rsync"""
homepage = "https://github.com/jedbrown/git-fat"
- git = "https://github.com/jedbrown/git-fat.git"
+ git = "https://github.com/jedbrown/git-fat.git"
- version('2018-08-21', commit='e1733b1c7c4169d0a1d31cb76f168fb0880176c0')
+ version("2018-08-21", commit="e1733b1c7c4169d0a1d31cb76f168fb0880176c0")
- depends_on('python', type='run')
- depends_on('git', type='run')
- depends_on('rsync', type='run')
+ depends_on("python", type="run")
+ depends_on("git", type="run")
+ depends_on("rsync", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/git-imerge/package.py b/var/spack/repos/builtin/packages/git-imerge/package.py
index cbb7251cae..3f305a15b9 100644
--- a/var/spack/repos/builtin/packages/git-imerge/package.py
+++ b/var/spack/repos/builtin/packages/git-imerge/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class GitImerge(MakefilePackage):
"""git-imerge: Incremental merge & rebase for git
- Perform a merge between two branches incrementally. If
- conflicts are encountered, figure out exactly which pairs of
- commits conflict, and present the user with one pairwise
- conflict at a time for resolution.
+ Perform a merge between two branches incrementally. If
+ conflicts are encountered, figure out exactly which pairs of
+ commits conflict, and present the user with one pairwise
+ conflict at a time for resolution.
- git-imerge has two primary design goals:
+ git-imerge has two primary design goals:
- * Reduce the pain of resolving merge conflicts to its
- unavoidable minimum, by finding and presenting the smallest
- possible conflicts: those between the changes introduced by
- one commit from each branch.
+ * Reduce the pain of resolving merge conflicts to its
+ unavoidable minimum, by finding and presenting the smallest
+ possible conflicts: those between the changes introduced by
+ one commit from each branch.
- * Allow a merge to be saved, tested, interrupted, published,
- and collaborated on while it is in progress."""
+ * Allow a merge to be saved, tested, interrupted, published,
+ and collaborated on while it is in progress."""
homepage = "https://github.com/mhagger/git-imerge"
- url = "https://github.com/mhagger/git-imerge/archive/v1.1.0.tar.gz"
+ url = "https://github.com/mhagger/git-imerge/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='62692f43591cc7d861689c60b68c55d7b10c7a201c1026096a7efc771df2ca28')
- version('1.0.0', sha256='2ef3a49a6d54c4248ef2541efc3c860824fc8295a7226760f24f0bb2c5dd41f2')
+ version("1.1.0", sha256="62692f43591cc7d861689c60b68c55d7b10c7a201c1026096a7efc771df2ca28")
+ version("1.0.0", sha256="2ef3a49a6d54c4248ef2541efc3c860824fc8295a7226760f24f0bb2c5dd41f2")
- depends_on('python@2.6:')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1')
- depends_on('git')
+ depends_on("python@2.6:")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1")
+ depends_on("git")
# Package copies a Python script and bash-completion files, so
# there's no need to "build" anything.
@@ -40,4 +40,4 @@ class GitImerge(MakefilePackage):
pass
def install(self, spec, prefix):
- make('DESTDIR={0}'.format(prefix), 'PREFIX=', 'install')
+ make("DESTDIR={0}".format(prefix), "PREFIX=", "install")
diff --git a/var/spack/repos/builtin/packages/git-lfs/package.py b/var/spack/repos/builtin/packages/git-lfs/package.py
index 4cdcb5307e..6905d98718 100644
--- a/var/spack/repos/builtin/packages/git-lfs/package.py
+++ b/var/spack/repos/builtin/packages/git-lfs/package.py
@@ -10,51 +10,51 @@ from spack.package import *
class GitLfs(MakefilePackage):
"""Git LFS is a system for managing and versioning large files in
- association with a Git repository. Instead of storing the large files
- within the Git repository as blobs, Git LFS stores special "pointer
- files" in the repository, while storing the actual file contents on a
- Git LFS server."""
+ association with a Git repository. Instead of storing the large files
+ within the Git repository as blobs, Git LFS stores special "pointer
+ files" in the repository, while storing the actual file contents on a
+ Git LFS server."""
homepage = "https://git-lfs.github.com"
- url = "https://github.com/git-lfs/git-lfs/archive/v2.6.1.tar.gz"
+ url = "https://github.com/git-lfs/git-lfs/archive/v2.6.1.tar.gz"
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^git-lfs$']
+ executables = ["^git-lfs$"]
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('3.1.2', sha256='5c9bc449068d0104ea124c25f596af16da85e7b5bf256bc544d8ce5f4fe231f2')
- version('2.13.3', sha256='f8bd7a06e61e47417eb54c3a0db809ea864a9322629b5544b78661edab17b950')
- version('2.12.1', sha256='2b2e70f1233f7efe9a010771510391a07527ec7c0af721ecf8edabac5d60f62b')
- version('2.11.0', sha256='8183c4cbef8cf9c2e86b0c0a9822451e2df272f89ceb357c498bfdf0ff1b36c7')
- version('2.10.0', sha256='07fd5c57a1039d5717dc192affbe3268ec2fd03accdca462cb504c0b4194cd23')
- version('2.9.0', sha256='f1963ad88747577ffeeb854649aeacaa741c59be74683da4d46b129a72d111b7')
- version('2.8.0', sha256='10b476bb8862ebceddc6f0a55f5fb63e2c1e5bed6554f6e3b207dd0155a196ad')
- version('2.7.2', sha256='e65659f12ec557ae8c778c01ca62d921413221864b68bd93cfa41399028ae67f')
- version('2.7.1', sha256='af60c2370d135ab13724d302a0b1c226ec9fb0ee6d29ecc335e9add4c86497b4')
- version('2.7.0', sha256='1c829ddd163be2206a44edb366bd7f6d84c5afae3496687405ca9d2a5f3af07b')
- version('2.6.1', sha256='e17cd9d4e66d1116be32f7ddc7e660c7f8fabbf510bc01b01ec15a22dd934ead')
+ version("3.1.2", sha256="5c9bc449068d0104ea124c25f596af16da85e7b5bf256bc544d8ce5f4fe231f2")
+ version("2.13.3", sha256="f8bd7a06e61e47417eb54c3a0db809ea864a9322629b5544b78661edab17b950")
+ version("2.12.1", sha256="2b2e70f1233f7efe9a010771510391a07527ec7c0af721ecf8edabac5d60f62b")
+ version("2.11.0", sha256="8183c4cbef8cf9c2e86b0c0a9822451e2df272f89ceb357c498bfdf0ff1b36c7")
+ version("2.10.0", sha256="07fd5c57a1039d5717dc192affbe3268ec2fd03accdca462cb504c0b4194cd23")
+ version("2.9.0", sha256="f1963ad88747577ffeeb854649aeacaa741c59be74683da4d46b129a72d111b7")
+ version("2.8.0", sha256="10b476bb8862ebceddc6f0a55f5fb63e2c1e5bed6554f6e3b207dd0155a196ad")
+ version("2.7.2", sha256="e65659f12ec557ae8c778c01ca62d921413221864b68bd93cfa41399028ae67f")
+ version("2.7.1", sha256="af60c2370d135ab13724d302a0b1c226ec9fb0ee6d29ecc335e9add4c86497b4")
+ version("2.7.0", sha256="1c829ddd163be2206a44edb366bd7f6d84c5afae3496687405ca9d2a5f3af07b")
+ version("2.6.1", sha256="e17cd9d4e66d1116be32f7ddc7e660c7f8fabbf510bc01b01ec15a22dd934ead")
- depends_on('go@1.17:', type='build', when='@2.13:')
- depends_on('go@1.5:', type='build', when='@:2.12')
- depends_on('git@1.8.2:', type='run')
+ depends_on("go@1.17:", type="build", when="@2.13:")
+ depends_on("go@1.5:", type="build", when="@:2.12")
+ depends_on("git@1.8.2:", type="run")
- patch('patches/issue-10702.patch', when='@2.7.0:2.7.1')
+ patch("patches/issue-10702.patch", when="@2.7.0:2.7.1")
# Mysterious syscall failures of old versions on new systems
- conflicts('os=bigsur', when='@:2.11')
- conflicts('os=monterey', when='@:2.11')
+ conflicts("os=bigsur", when="@:2.11")
+ conflicts("os=monterey", when="@:2.11")
parallel = False
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'git-lfs/(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"git-lfs/(\S+)", output)
return match.group(1) if match else None
# Git-lfs does not provide an 'install' target in the Makefile
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path('bin', 'git-lfs'), prefix.bin)
+ install(join_path("bin", "git-lfs"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py
index 2d9a7a06f1..1608e5eb9f 100644
--- a/var/spack/repos/builtin/packages/git/package.py
+++ b/var/spack/repos/builtin/packages/git/package.py
@@ -16,177 +16,351 @@ class Git(AutotoolsPackage):
"""
homepage = "http://git-scm.com"
- url = "https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.12.0.tar.gz"
- maintainers = ['jennfshr']
+ url = "https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.12.0.tar.gz"
+ maintainers = ["jennfshr"]
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^git$']
+ executables = ["^git$"]
# Every new git release comes with a corresponding manpage resource:
# https://www.kernel.org/pub/software/scm/git/git-manpages-{version}.tar.gz
# https://mirrors.edge.kernel.org/pub/software/scm/git/sha256sums.asc
- version('2.37.0', sha256='fc3ffe6c65c1f7c681a1ce6bb91703866e432c762731d4b57c566d696f6d62c3')
- version('2.36.1', sha256='37d936fd17c81aa9ddd3dba4e56e88a45fa534ad0ba946454e8ce818760c6a2c')
- version('2.35.2', sha256='0decc02a47e792f522df3183c38a61ad8fbb38927502ca6781467a6599a888cb')
- version('2.35.1', sha256='9845a37dd01f9faaa7d8aa2078399d3aea91b43819a5efea6e2877b0af09bd43', deprecated=True)
- version('2.35.0', sha256='c1d0adc777a457a3d9b2759024f173b34e61be96f7480ac5bc44216617834412', deprecated=True)
- version('2.34.1', sha256='fc4eb5ecb9299db91cdd156c06cdeb41833f53adc5631ddf8c0cb13eaa2911c1', deprecated=True)
- version('2.34.0', sha256='0ce6222bfd31938b29360150286b51c77c643fa97740b1d35b6d1ceef8b0ecd7', deprecated=True)
- version('2.33.1', sha256='02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d', deprecated=True)
- version('2.33.0', sha256='02d909d0bba560d3a1008bd00dd577621ffb57401b09175fab2bf6da0e9704ae', deprecated=True)
- version('2.32.0', sha256='6038f06d396ba9dab2eee541c7db6e7f9f847f181ec62f3d8441893f8c469398', deprecated=True)
- version('2.31.1', sha256='46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7', deprecated=True)
- version('2.31.0', sha256='bc6168777883562569144d536e8a855b12d25d46870d95188a3064260d7784ee', deprecated=True)
- version('2.30.1', sha256='23a3e53f0d2dd3e62a8147b24a1a91d6ffe95b92123ef4dbae04e9a6205e71c0', deprecated=True)
- version('2.30.0', sha256='d24c4fa2a658318c2e66e25ab67cc30038a35696d2d39e6b12ceccf024de1e5e', deprecated=True)
- version('2.29.2', sha256='869a121e1d75e4c28213df03d204156a17f02fce2dc77be9795b327830f54195', deprecated=True)
- version('2.29.0', sha256='fa08dc8424ef80c0f9bf307877f9e2e49f1a6049e873530d6747c2be770742ff', deprecated=True)
- version('2.28.0', sha256='f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170', deprecated=True)
- version('2.27.0', sha256='77ded85cbe42b1ffdc2578b460a1ef5d23bcbc6683eabcafbb0d394dffe2e787', deprecated=True)
- version('2.26.0', sha256='aa168c2318e7187cd295a645f7370cc6d71a324aafc932f80f00c780b6a26bed', deprecated=True)
- version('2.25.0', sha256='a98c9b96d91544b130f13bf846ff080dda2867e77fe08700b793ab14ba5346f6', deprecated=True)
- version('2.23.0', sha256='e3396c90888111a01bf607346db09b0fbf49a95bc83faf9506b61195936f0cfe', deprecated=True)
- version('2.22.0', sha256='a4b7e4365bee43caa12a38d646d2c93743d755d1cea5eab448ffb40906c9da0b', deprecated=True)
- version('2.21.0', sha256='85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee', deprecated=True)
- version('2.20.1', sha256='edc3bc1495b69179ba4e272e97eff93334a20decb1d8db6ec3c19c16417738fd', deprecated=True)
- version('2.19.2', sha256='db893ad69c9ac9498b09677c5839787eba2eb3b7ef2bc30bfba7e62e77cf7850', deprecated=True)
- version('2.19.1', sha256='ec4dc96456612c65bf6d944cee9ac640145ec7245376832b781cb03e97cbb796', deprecated=True)
- version('2.18.0', sha256='94faf2c0b02a7920b0b46f4961d8e9cad08e81418614102898a55f980fa3e7e4', deprecated=True)
- version('2.17.1', sha256='ec6452f0c8d5c1f3bcceabd7070b8a8a5eea11d4e2a04955c139b5065fd7d09a', deprecated=True)
- version('2.17.0', sha256='7a0cff35dbb14b77dca6924c33ac9fe510b9de35d5267172490af548ec5ee1b8', deprecated=True)
- version('2.15.1', sha256='85fca8781a83c96ba6db384cc1aa6a5ee1e344746bafac1cbe1f0fe6d1109c84', deprecated=True)
- version('2.14.1', sha256='01925349b9683940e53a621ee48dd9d9ac3f9e59c079806b58321c2cf85a4464', deprecated=True)
- version('2.13.0', sha256='9f2fa8040ebafc0c2caae4a9e2cb385c6f16c0525bcb0fbd84938bc796372e80', deprecated=True)
- version('2.12.2', sha256='d9c6d787a24670d7e5100db2367c250ad9756ef8084fb153a46b82f1d186f8d8', deprecated=True)
- version('2.12.1', sha256='65d62d10caf317fc1daf2ca9975bdb09dbff874c92d24f9529d29a7784486b43', deprecated=True)
- version('2.12.0', sha256='882f298daf582a07c597737eb4bbafb82c6208fe0e73c047defc12169c221a92', deprecated=True)
- version('2.11.1', sha256='a1cdd7c820f92c44abb5003b36dc8cb7201ba38e8744802399f59c97285ca043', deprecated=True)
- version('2.11.0', sha256='d3be9961c799562565f158ce5b836e2b90f38502d3992a115dfb653d7825fd7e', deprecated=True)
- version('2.9.3', sha256='a252b6636b12d5ba57732c8469701544c26c2b1689933bd1b425e603cbb247c0', deprecated=True)
- version('2.9.2', sha256='3cb09a3917c2d8150fc1708f3019cf99a8f0feee6cd61bba3797e3b2a85be9dc', deprecated=True)
- version('2.9.1', sha256='c2230873bf77f93736473e6a06501bf93eed807d011107de6983dc015424b097', deprecated=True)
- version('2.9.0', sha256='bff7560f5602fcd8e37669e0f65ef08c6edc996e4f324e4ed6bb8a84765e30bd', deprecated=True)
- version('2.8.4', sha256='626e319f8a24fc0866167ea5f6bf3e2f38f69d6cb2e59e150f13709ca3ebf301', deprecated=True)
- version('2.8.3', sha256='2dad50c758339d6f5235309db620e51249e0000ff34aa2f2acbcb84c2123ed09', deprecated=True)
- version('2.8.2', sha256='a029c37ee2e0bb1efea5c4af827ff5afdb3356ec42fc19c1d40216d99e97e148', deprecated=True)
- version('2.8.1', sha256='cfc66324179b9ed62ee02833f29d39935f4ab66874125a3ab9d5bb9055c0cb67', deprecated=True)
- version('2.8.0', sha256='2c6eee5506237e0886df9973fd7938a1b2611ec93d07f64ed3447493ebac90d1', deprecated=True)
- version('2.7.3', sha256='30d067499b61caddedaf1a407b4947244f14d10842d100f7c7c6ea1c288280cd', deprecated=True)
- version('2.7.1', sha256='b4ab42798b7fb038eaefabb0c32ce9dbde2919103e5e2a35adc35dd46258a66f', deprecated=True)
+ version("2.37.0", sha256="fc3ffe6c65c1f7c681a1ce6bb91703866e432c762731d4b57c566d696f6d62c3")
+ version("2.36.1", sha256="37d936fd17c81aa9ddd3dba4e56e88a45fa534ad0ba946454e8ce818760c6a2c")
+ version("2.35.2", sha256="0decc02a47e792f522df3183c38a61ad8fbb38927502ca6781467a6599a888cb")
+ version(
+ "2.35.1",
+ sha256="9845a37dd01f9faaa7d8aa2078399d3aea91b43819a5efea6e2877b0af09bd43",
+ deprecated=True,
+ )
+ version(
+ "2.35.0",
+ sha256="c1d0adc777a457a3d9b2759024f173b34e61be96f7480ac5bc44216617834412",
+ deprecated=True,
+ )
+ version(
+ "2.34.1",
+ sha256="fc4eb5ecb9299db91cdd156c06cdeb41833f53adc5631ddf8c0cb13eaa2911c1",
+ deprecated=True,
+ )
+ version(
+ "2.34.0",
+ sha256="0ce6222bfd31938b29360150286b51c77c643fa97740b1d35b6d1ceef8b0ecd7",
+ deprecated=True,
+ )
+ version(
+ "2.33.1",
+ sha256="02047f8dc8934d57ff5e02aadd8a2fe8e0bcf94a7158da375e48086cc46fce1d",
+ deprecated=True,
+ )
+ version(
+ "2.33.0",
+ sha256="02d909d0bba560d3a1008bd00dd577621ffb57401b09175fab2bf6da0e9704ae",
+ deprecated=True,
+ )
+ version(
+ "2.32.0",
+ sha256="6038f06d396ba9dab2eee541c7db6e7f9f847f181ec62f3d8441893f8c469398",
+ deprecated=True,
+ )
+ version(
+ "2.31.1",
+ sha256="46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7",
+ deprecated=True,
+ )
+ version(
+ "2.31.0",
+ sha256="bc6168777883562569144d536e8a855b12d25d46870d95188a3064260d7784ee",
+ deprecated=True,
+ )
+ version(
+ "2.30.1",
+ sha256="23a3e53f0d2dd3e62a8147b24a1a91d6ffe95b92123ef4dbae04e9a6205e71c0",
+ deprecated=True,
+ )
+ version(
+ "2.30.0",
+ sha256="d24c4fa2a658318c2e66e25ab67cc30038a35696d2d39e6b12ceccf024de1e5e",
+ deprecated=True,
+ )
+ version(
+ "2.29.2",
+ sha256="869a121e1d75e4c28213df03d204156a17f02fce2dc77be9795b327830f54195",
+ deprecated=True,
+ )
+ version(
+ "2.29.0",
+ sha256="fa08dc8424ef80c0f9bf307877f9e2e49f1a6049e873530d6747c2be770742ff",
+ deprecated=True,
+ )
+ version(
+ "2.28.0",
+ sha256="f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170",
+ deprecated=True,
+ )
+ version(
+ "2.27.0",
+ sha256="77ded85cbe42b1ffdc2578b460a1ef5d23bcbc6683eabcafbb0d394dffe2e787",
+ deprecated=True,
+ )
+ version(
+ "2.26.0",
+ sha256="aa168c2318e7187cd295a645f7370cc6d71a324aafc932f80f00c780b6a26bed",
+ deprecated=True,
+ )
+ version(
+ "2.25.0",
+ sha256="a98c9b96d91544b130f13bf846ff080dda2867e77fe08700b793ab14ba5346f6",
+ deprecated=True,
+ )
+ version(
+ "2.23.0",
+ sha256="e3396c90888111a01bf607346db09b0fbf49a95bc83faf9506b61195936f0cfe",
+ deprecated=True,
+ )
+ version(
+ "2.22.0",
+ sha256="a4b7e4365bee43caa12a38d646d2c93743d755d1cea5eab448ffb40906c9da0b",
+ deprecated=True,
+ )
+ version(
+ "2.21.0",
+ sha256="85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee",
+ deprecated=True,
+ )
+ version(
+ "2.20.1",
+ sha256="edc3bc1495b69179ba4e272e97eff93334a20decb1d8db6ec3c19c16417738fd",
+ deprecated=True,
+ )
+ version(
+ "2.19.2",
+ sha256="db893ad69c9ac9498b09677c5839787eba2eb3b7ef2bc30bfba7e62e77cf7850",
+ deprecated=True,
+ )
+ version(
+ "2.19.1",
+ sha256="ec4dc96456612c65bf6d944cee9ac640145ec7245376832b781cb03e97cbb796",
+ deprecated=True,
+ )
+ version(
+ "2.18.0",
+ sha256="94faf2c0b02a7920b0b46f4961d8e9cad08e81418614102898a55f980fa3e7e4",
+ deprecated=True,
+ )
+ version(
+ "2.17.1",
+ sha256="ec6452f0c8d5c1f3bcceabd7070b8a8a5eea11d4e2a04955c139b5065fd7d09a",
+ deprecated=True,
+ )
+ version(
+ "2.17.0",
+ sha256="7a0cff35dbb14b77dca6924c33ac9fe510b9de35d5267172490af548ec5ee1b8",
+ deprecated=True,
+ )
+ version(
+ "2.15.1",
+ sha256="85fca8781a83c96ba6db384cc1aa6a5ee1e344746bafac1cbe1f0fe6d1109c84",
+ deprecated=True,
+ )
+ version(
+ "2.14.1",
+ sha256="01925349b9683940e53a621ee48dd9d9ac3f9e59c079806b58321c2cf85a4464",
+ deprecated=True,
+ )
+ version(
+ "2.13.0",
+ sha256="9f2fa8040ebafc0c2caae4a9e2cb385c6f16c0525bcb0fbd84938bc796372e80",
+ deprecated=True,
+ )
+ version(
+ "2.12.2",
+ sha256="d9c6d787a24670d7e5100db2367c250ad9756ef8084fb153a46b82f1d186f8d8",
+ deprecated=True,
+ )
+ version(
+ "2.12.1",
+ sha256="65d62d10caf317fc1daf2ca9975bdb09dbff874c92d24f9529d29a7784486b43",
+ deprecated=True,
+ )
+ version(
+ "2.12.0",
+ sha256="882f298daf582a07c597737eb4bbafb82c6208fe0e73c047defc12169c221a92",
+ deprecated=True,
+ )
+ version(
+ "2.11.1",
+ sha256="a1cdd7c820f92c44abb5003b36dc8cb7201ba38e8744802399f59c97285ca043",
+ deprecated=True,
+ )
+ version(
+ "2.11.0",
+ sha256="d3be9961c799562565f158ce5b836e2b90f38502d3992a115dfb653d7825fd7e",
+ deprecated=True,
+ )
+ version(
+ "2.9.3",
+ sha256="a252b6636b12d5ba57732c8469701544c26c2b1689933bd1b425e603cbb247c0",
+ deprecated=True,
+ )
+ version(
+ "2.9.2",
+ sha256="3cb09a3917c2d8150fc1708f3019cf99a8f0feee6cd61bba3797e3b2a85be9dc",
+ deprecated=True,
+ )
+ version(
+ "2.9.1",
+ sha256="c2230873bf77f93736473e6a06501bf93eed807d011107de6983dc015424b097",
+ deprecated=True,
+ )
+ version(
+ "2.9.0",
+ sha256="bff7560f5602fcd8e37669e0f65ef08c6edc996e4f324e4ed6bb8a84765e30bd",
+ deprecated=True,
+ )
+ version(
+ "2.8.4",
+ sha256="626e319f8a24fc0866167ea5f6bf3e2f38f69d6cb2e59e150f13709ca3ebf301",
+ deprecated=True,
+ )
+ version(
+ "2.8.3",
+ sha256="2dad50c758339d6f5235309db620e51249e0000ff34aa2f2acbcb84c2123ed09",
+ deprecated=True,
+ )
+ version(
+ "2.8.2",
+ sha256="a029c37ee2e0bb1efea5c4af827ff5afdb3356ec42fc19c1d40216d99e97e148",
+ deprecated=True,
+ )
+ version(
+ "2.8.1",
+ sha256="cfc66324179b9ed62ee02833f29d39935f4ab66874125a3ab9d5bb9055c0cb67",
+ deprecated=True,
+ )
+ version(
+ "2.8.0",
+ sha256="2c6eee5506237e0886df9973fd7938a1b2611ec93d07f64ed3447493ebac90d1",
+ deprecated=True,
+ )
+ version(
+ "2.7.3",
+ sha256="30d067499b61caddedaf1a407b4947244f14d10842d100f7c7c6ea1c288280cd",
+ deprecated=True,
+ )
+ version(
+ "2.7.1",
+ sha256="b4ab42798b7fb038eaefabb0c32ce9dbde2919103e5e2a35adc35dd46258a66f",
+ deprecated=True,
+ )
for (_version, _sha256_manpage) in {
- '2.37.0': '69386ab0dcdbc8398ebb97487733166033f1c7711b02b8861b1ae8f4f46e6e4e',
- '2.36.1': '3fcd315976f06b54b0abb9c14d38c3d484f431ea4de70a706cc5dddc1799f4f7',
- '2.35.2': '86e153bdd96edd8462cb7a5c57be1b2b670b033c18272b0aa2e6a102acce50be',
- '2.35.1': 'd90da8b28fe0088519e0dc3c9f4bc85e429c7d6ccbaadcfe94aed47fb9c95504',
- '2.35.0': 'c0408a1c944c8e481d7f507bd90a7ee43c34617a1a7af2d76a1898dcf44fa430',
- '2.34.1': '220f1ed68582caeddf79c4db15e4eaa4808ec01fd11889e19232f0a74d7f31b0',
- '2.34.0': 'fe66a69244def488306c3e05c1362ea53d8626d2a7e57cd7311df2dab1ef8356',
- '2.33.1': '292b08ca1b79422ff478a6221980099c5e3c0a38aba39d952063eedb68e27d93',
- '2.33.0': 'ba9cd0f29a3632a3b78f8ed2389f0780aa6e8fcbe258259d7c584920d19ed1f7',
- '2.32.0': 'b5533c40ea1688231c0e2df51cc0d1c0272e17fe78a45ba6e60cb8f61fa4a53c',
- '2.31.1': 'd330498aaaea6928b0abbbbb896f6f605efd8d35f23cbbb2de38c87a737d4543',
- '2.31.0': 'a51b760c36be19113756839a9110b328a09abfff0d57f1c93ddac3974ccbc238',
- '2.30.1': 'db323e1b242e9d0337363b1e538c8b879e4c46eedbf94d3bee9e65dab6d49138',
- '2.30.0': 'e23035ae232c9a5eda57db258bc3b7f1c1060cfd66920f92c7d388b6439773a6',
- '2.29.2': '68b258e6d590cb78e02c0df741bbaeab94cbbac6d25de9da4fb3882ee098307b',
- '2.29.0': '8f3bf70ddb515674ce2e19572920a39b1be96af12032b77f1dd57898981fb151',
- '2.28.0': '3cfca28a88d5b8112ea42322b797a500a14d0acddea391aed0462aff1ab11bf7',
- '2.27.0': '414e4b17133e54d846f6bfa2479f9757c50e16c013eb76167a492ae5409b8947',
- '2.26.0': 'c1ffaf0b4cd1e80a0eb0d4039e208c9d411ef94d5da44e38363804e1a7961218',
- '2.25.0': '22b2380842ef75e9006c0358de250ead449e1376d7e5138070b9a3073ef61d44',
- '2.23.0': 'a5b0998f95c2290386d191d34780d145ea67e527fac98541e0350749bf76be75',
- '2.22.0': 'f6a5750dfc4a0aa5ec0c0cc495d4995d1f36ed47591c3941be9756c1c3a1aa0a',
- '2.21.0': '14c76ebb4e31f9e55cf5338a04fd3a13bced0323cd51794ccf45fc74bd0c1080',
- '2.20.1': 'e9c123463abd05e142defe44a8060ce6e9853dfd8c83b2542e38b7deac4e6d4c',
- '2.19.2': '60334ecd59ee10319af4a7815174d10991d1afabacd3b3129d589f038bf25542',
- '2.19.1': 'bd27f58dc90a661e3080b97365eb7322bfa185de95634fc59d98311925a7d894',
- '2.18.0': '6cf38ab3ad43ccdcd6a73ffdcf2a016d56ab6b4b240a574b0bb96f520a04ff55',
- '2.17.1': '9732053c1a618d2576c1751d0249e43702f632a571f84511331882beb360677d',
- '2.17.0': '41b58c68e90e4c95265c75955ddd5b68f6491f4d57b2f17c6d68e60bbb07ba6a',
- '2.15.1': '472454c494c9a7f50ad38060c3eec372f617de654b20f3eb3be59fc17a683fa1',
- '2.14.1': '8c5810ce65d44cd333327d3a115c5b462712a2f81225d142e07bd889ad8dc0e0',
- '2.13.0': 'e764721796cad175a4cf9a4afe7fb4c4fc57582f6f9a6e214239498e0835355b',
- '2.12.2': '6e7ed503f1190734e57c9427df356b42020f125fa36ab0478777960a682adf50',
- '2.12.1': '35e46b8acd529ea671d94035232b1795919be8f3c3a363ea9698f1fd08d7d061',
- '2.12.0': '1f7733a44c59f9ae8dd321d68a033499a76c82046025cc2a6792299178138d65',
- '2.11.1': 'ee567e7b0f95333816793714bb31c54e288cf8041f77a0092b85e62c9c2974f9',
- '2.11.0': '437a0128acd707edce24e1a310ab2f09f9a09ee42de58a8e7641362012dcfe22',
- '2.9.3': '8ea1a55b048fafbf0c0c6fcbca4b5b0f5e9917893221fc7345c09051d65832ce',
- '2.9.2': 'ac5c600153d1e4a1c6494e250cd27ca288e7667ad8d4ea2f2386f60ba1b78eec',
- '2.9.1': '324f5f173f2bd50b0102b66e474b81146ccc078d621efeb86d7f75e3c1de33e6',
- '2.9.0': '35ba69a8560529aa837e395a6d6c8d42f4d29b40a3c1cc6e3dc69bb1faadb332',
- '2.8.4': '953a8eadaf4ae96dbad2c3ec12384c677416843917ef83d94b98367ffd55afc0',
- '2.8.3': '2dad50c758339d6f5235309db620e51249e0000ff34aa2f2acbcb84c2123ed09',
- '2.8.2': '82d322211aade626d1eb3bcf3b76730bfdd2fcc9c189950fb0a8bdd69c383e2f',
- '2.8.1': 'df46de0c172049f935cc3736361b263c5ff289b77077c73053e63ae83fcf43f4',
- '2.8.0': '2c48902a69df3bec3b8b8f0350a65fd1b662d2f436f0e64d475ecd1c780767b6',
- '2.7.3': '84b487c9071857ab0f15f11c4a102a583d59b524831cda0dc0954bd3ab73920b',
- '2.7.1': '0313cf4d283336088883d8416692fb6c547512233e11dbf06e5b925b7e762d61'
+ "2.37.0": "69386ab0dcdbc8398ebb97487733166033f1c7711b02b8861b1ae8f4f46e6e4e",
+ "2.36.1": "3fcd315976f06b54b0abb9c14d38c3d484f431ea4de70a706cc5dddc1799f4f7",
+ "2.35.2": "86e153bdd96edd8462cb7a5c57be1b2b670b033c18272b0aa2e6a102acce50be",
+ "2.35.1": "d90da8b28fe0088519e0dc3c9f4bc85e429c7d6ccbaadcfe94aed47fb9c95504",
+ "2.35.0": "c0408a1c944c8e481d7f507bd90a7ee43c34617a1a7af2d76a1898dcf44fa430",
+ "2.34.1": "220f1ed68582caeddf79c4db15e4eaa4808ec01fd11889e19232f0a74d7f31b0",
+ "2.34.0": "fe66a69244def488306c3e05c1362ea53d8626d2a7e57cd7311df2dab1ef8356",
+ "2.33.1": "292b08ca1b79422ff478a6221980099c5e3c0a38aba39d952063eedb68e27d93",
+ "2.33.0": "ba9cd0f29a3632a3b78f8ed2389f0780aa6e8fcbe258259d7c584920d19ed1f7",
+ "2.32.0": "b5533c40ea1688231c0e2df51cc0d1c0272e17fe78a45ba6e60cb8f61fa4a53c",
+ "2.31.1": "d330498aaaea6928b0abbbbb896f6f605efd8d35f23cbbb2de38c87a737d4543",
+ "2.31.0": "a51b760c36be19113756839a9110b328a09abfff0d57f1c93ddac3974ccbc238",
+ "2.30.1": "db323e1b242e9d0337363b1e538c8b879e4c46eedbf94d3bee9e65dab6d49138",
+ "2.30.0": "e23035ae232c9a5eda57db258bc3b7f1c1060cfd66920f92c7d388b6439773a6",
+ "2.29.2": "68b258e6d590cb78e02c0df741bbaeab94cbbac6d25de9da4fb3882ee098307b",
+ "2.29.0": "8f3bf70ddb515674ce2e19572920a39b1be96af12032b77f1dd57898981fb151",
+ "2.28.0": "3cfca28a88d5b8112ea42322b797a500a14d0acddea391aed0462aff1ab11bf7",
+ "2.27.0": "414e4b17133e54d846f6bfa2479f9757c50e16c013eb76167a492ae5409b8947",
+ "2.26.0": "c1ffaf0b4cd1e80a0eb0d4039e208c9d411ef94d5da44e38363804e1a7961218",
+ "2.25.0": "22b2380842ef75e9006c0358de250ead449e1376d7e5138070b9a3073ef61d44",
+ "2.23.0": "a5b0998f95c2290386d191d34780d145ea67e527fac98541e0350749bf76be75",
+ "2.22.0": "f6a5750dfc4a0aa5ec0c0cc495d4995d1f36ed47591c3941be9756c1c3a1aa0a",
+ "2.21.0": "14c76ebb4e31f9e55cf5338a04fd3a13bced0323cd51794ccf45fc74bd0c1080",
+ "2.20.1": "e9c123463abd05e142defe44a8060ce6e9853dfd8c83b2542e38b7deac4e6d4c",
+ "2.19.2": "60334ecd59ee10319af4a7815174d10991d1afabacd3b3129d589f038bf25542",
+ "2.19.1": "bd27f58dc90a661e3080b97365eb7322bfa185de95634fc59d98311925a7d894",
+ "2.18.0": "6cf38ab3ad43ccdcd6a73ffdcf2a016d56ab6b4b240a574b0bb96f520a04ff55",
+ "2.17.1": "9732053c1a618d2576c1751d0249e43702f632a571f84511331882beb360677d",
+ "2.17.0": "41b58c68e90e4c95265c75955ddd5b68f6491f4d57b2f17c6d68e60bbb07ba6a",
+ "2.15.1": "472454c494c9a7f50ad38060c3eec372f617de654b20f3eb3be59fc17a683fa1",
+ "2.14.1": "8c5810ce65d44cd333327d3a115c5b462712a2f81225d142e07bd889ad8dc0e0",
+ "2.13.0": "e764721796cad175a4cf9a4afe7fb4c4fc57582f6f9a6e214239498e0835355b",
+ "2.12.2": "6e7ed503f1190734e57c9427df356b42020f125fa36ab0478777960a682adf50",
+ "2.12.1": "35e46b8acd529ea671d94035232b1795919be8f3c3a363ea9698f1fd08d7d061",
+ "2.12.0": "1f7733a44c59f9ae8dd321d68a033499a76c82046025cc2a6792299178138d65",
+ "2.11.1": "ee567e7b0f95333816793714bb31c54e288cf8041f77a0092b85e62c9c2974f9",
+ "2.11.0": "437a0128acd707edce24e1a310ab2f09f9a09ee42de58a8e7641362012dcfe22",
+ "2.9.3": "8ea1a55b048fafbf0c0c6fcbca4b5b0f5e9917893221fc7345c09051d65832ce",
+ "2.9.2": "ac5c600153d1e4a1c6494e250cd27ca288e7667ad8d4ea2f2386f60ba1b78eec",
+ "2.9.1": "324f5f173f2bd50b0102b66e474b81146ccc078d621efeb86d7f75e3c1de33e6",
+ "2.9.0": "35ba69a8560529aa837e395a6d6c8d42f4d29b40a3c1cc6e3dc69bb1faadb332",
+ "2.8.4": "953a8eadaf4ae96dbad2c3ec12384c677416843917ef83d94b98367ffd55afc0",
+ "2.8.3": "2dad50c758339d6f5235309db620e51249e0000ff34aa2f2acbcb84c2123ed09",
+ "2.8.2": "82d322211aade626d1eb3bcf3b76730bfdd2fcc9c189950fb0a8bdd69c383e2f",
+ "2.8.1": "df46de0c172049f935cc3736361b263c5ff289b77077c73053e63ae83fcf43f4",
+ "2.8.0": "2c48902a69df3bec3b8b8f0350a65fd1b662d2f436f0e64d475ecd1c780767b6",
+ "2.7.3": "84b487c9071857ab0f15f11c4a102a583d59b524831cda0dc0954bd3ab73920b",
+ "2.7.1": "0313cf4d283336088883d8416692fb6c547512233e11dbf06e5b925b7e762d61",
}.items():
resource(
- name='git-manpages',
- url="https://www.kernel.org/pub/software/scm/git/git-manpages-{0}.tar.gz".format(_version),
+ name="git-manpages",
+ url="https://www.kernel.org/pub/software/scm/git/git-manpages-{0}.tar.gz".format(
+ _version
+ ),
sha256=_sha256_manpage,
- placement='git-manpages',
- when='@{0} +man'.format(_version))
-
- variant('tcltk', default=False,
- description='Gitk: provide Tcl/Tk in the run environment')
- variant('svn', default=False,
- description='Provide SVN Perl dependency in run environment')
- variant('perl', default=True,
- description='Do not use Perl scripts or libraries at all')
- variant('nls', default=True,
- description='Enable native language support')
- variant('man', default=True,
- description='Install manual pages')
- variant('subtree', default=True,
- description='Add git-subtree command and capability')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('curl')
- depends_on('expat')
- depends_on('gettext', when='+nls')
- depends_on('iconv')
- depends_on('libidn2')
- depends_on('openssl')
- depends_on('pcre', when='@:2.13')
- depends_on('pcre2', when='@2.14:')
- depends_on('perl', when='+perl')
- depends_on('zlib')
- depends_on('openssh', type='run')
- depends_on('perl-alien-svn', type='run', when='+svn')
- depends_on('tk', type=('build', 'link'), when='+tcltk')
-
- conflicts('+svn', when='~perl')
+ placement="git-manpages",
+ when="@{0} +man".format(_version),
+ )
+
+ variant("tcltk", default=False, description="Gitk: provide Tcl/Tk in the run environment")
+ variant("svn", default=False, description="Provide SVN Perl dependency in run environment")
+ variant("perl", default=True, description="Do not use Perl scripts or libraries at all")
+ variant("nls", default=True, description="Enable native language support")
+ variant("man", default=True, description="Install manual pages")
+ variant("subtree", default=True, description="Add git-subtree command and capability")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("curl")
+ depends_on("expat")
+ depends_on("gettext", when="+nls")
+ depends_on("iconv")
+ depends_on("libidn2")
+ depends_on("openssl")
+ depends_on("pcre", when="@:2.13")
+ depends_on("pcre2", when="@2.14:")
+ depends_on("perl", when="+perl")
+ depends_on("zlib")
+ depends_on("openssh", type="run")
+ depends_on("perl-alien-svn", type="run", when="+svn")
+ depends_on("tk", type=("build", "link"), when="+tcltk")
+
+ conflicts("+svn", when="~perl")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(
- spack.fetch_strategy.GitFetchStrategy.git_version_re, output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(spack.fetch_strategy.GitFetchStrategy.git_version_re, output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version_str):
prefix = os.path.dirname(exes[0])
- variants = ''
- if 'gitk' in os.listdir(prefix):
- variants += '+tcltk'
+ variants = ""
+ if "gitk" in os.listdir(prefix):
+ variants += "+tcltk"
else:
- variants += '~tcltk'
+ variants += "~tcltk"
return variants
# See the comment in setup_build_environment re EXTLIBS.
def patch(self):
- filter_file(r'^EXTLIBS =$',
- '#EXTLIBS =',
- 'Makefile')
+ filter_file(r"^EXTLIBS =$", "#EXTLIBS =", "Makefile")
def setup_build_environment(self, env):
# We use EXTLIBS rather than LDFLAGS so that git's Makefile
@@ -200,98 +374,95 @@ class Git(AutotoolsPackage):
# The test avoids failures when git is an external package.
# In that case the node in the DAG gets truncated and git DOES NOT
# have a gettext dependency.
- if '+nls' in self.spec:
- if 'intl' in self.spec['gettext'].libs.names:
- env.append_flags('EXTLIBS', '-L{0} -lintl'.format(
- self.spec['gettext'].prefix.lib))
- env.append_flags('CFLAGS', '-I{0}'.format(
- self.spec['gettext'].prefix.include))
+ if "+nls" in self.spec:
+ if "intl" in self.spec["gettext"].libs.names:
+ env.append_flags("EXTLIBS", "-L{0} -lintl".format(self.spec["gettext"].prefix.lib))
+ env.append_flags("CFLAGS", "-I{0}".format(self.spec["gettext"].prefix.include))
- if '~perl' in self.spec:
- env.append_flags('NO_PERL', '1')
+ if "~perl" in self.spec:
+ env.append_flags("NO_PERL", "1")
def configure_args(self):
spec = self.spec
configure_args = [
- '--with-curl={0}'.format(spec['curl'].prefix),
- '--with-expat={0}'.format(spec['expat'].prefix),
- '--with-iconv={0}'.format(spec['iconv'].prefix),
- '--with-openssl={0}'.format(spec['openssl'].prefix),
- '--with-zlib={0}'.format(spec['zlib'].prefix),
+ "--with-curl={0}".format(spec["curl"].prefix),
+ "--with-expat={0}".format(spec["expat"].prefix),
+ "--with-iconv={0}".format(spec["iconv"].prefix),
+ "--with-openssl={0}".format(spec["openssl"].prefix),
+ "--with-zlib={0}".format(spec["zlib"].prefix),
]
- if '+perl' in self.spec:
- configure_args.append('--with-perl={0}'.format(spec['perl'].command.path))
-
- if '^pcre' in self.spec:
- configure_args.append('--with-libpcre={0}'.format(
- spec['pcre'].prefix))
- if '^pcre2' in self.spec:
- configure_args.append('--with-libpcre2={0}'.format(
- spec['pcre2'].prefix))
- if '+tcltk' in self.spec:
- configure_args.append('--with-tcltk={0}'.format(
- self.spec['tk'].prefix.bin.wish))
+ if "+perl" in self.spec:
+ configure_args.append("--with-perl={0}".format(spec["perl"].command.path))
+
+ if "^pcre" in self.spec:
+ configure_args.append("--with-libpcre={0}".format(spec["pcre"].prefix))
+ if "^pcre2" in self.spec:
+ configure_args.append("--with-libpcre2={0}".format(spec["pcre2"].prefix))
+ if "+tcltk" in self.spec:
+ configure_args.append("--with-tcltk={0}".format(self.spec["tk"].prefix.bin.wish))
else:
- configure_args.append('--without-tcltk')
+ configure_args.append("--without-tcltk")
return configure_args
- @run_after('configure')
+ @run_after("configure")
def filter_rt(self):
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
# Don't link with -lrt; the system has no (and needs no) librt
- filter_file(r' -lrt$', '', 'Makefile')
+ filter_file(r" -lrt$", "", "Makefile")
def check(self):
- make('test')
+ make("test")
def build(self, spec, prefix):
args = []
- if '~nls' in self.spec:
- args.append('NO_GETTEXT=1')
+ if "~nls" in self.spec:
+ args.append("NO_GETTEXT=1")
make(*args)
- if spec.satisfies('platform=darwin'):
- with working_dir('contrib/credential/osxkeychain'):
+ if spec.satisfies("platform=darwin"):
+ with working_dir("contrib/credential/osxkeychain"):
make()
def install(self, spec, prefix):
args = ["install"]
- if '~nls' in self.spec:
- args.append('NO_GETTEXT=1')
+ if "~nls" in self.spec:
+ args.append("NO_GETTEXT=1")
make(*args)
- if spec.satisfies('platform=darwin'):
- install('contrib/credential/osxkeychain/git-credential-osxkeychain',
- join_path(prefix, "libexec", "git-core"))
+ if spec.satisfies("platform=darwin"):
+ install(
+ "contrib/credential/osxkeychain/git-credential-osxkeychain",
+ join_path(prefix, "libexec", "git-core"),
+ )
- @run_after('install')
+ @run_after("install")
def install_completions(self):
- install_tree('contrib/completion', self.prefix.share)
+ install_tree("contrib/completion", self.prefix.share)
- @run_after('install')
+ @run_after("install")
def install_manpages(self):
- if '~man' in self.spec:
+ if "~man" in self.spec:
return
prefix = self.prefix
- with working_dir('git-manpages'):
- install_tree('man1', prefix.share.man.man1)
- install_tree('man5', prefix.share.man.man5)
- install_tree('man7', prefix.share.man.man7)
+ with working_dir("git-manpages"):
+ install_tree("man1", prefix.share.man.man1)
+ install_tree("man5", prefix.share.man.man5)
+ install_tree("man7", prefix.share.man.man7)
- @run_after('install')
+ @run_after("install")
def install_subtree(self):
- if '+subtree' in self.spec:
- with working_dir('contrib/subtree'):
- make_args = ['V=1', 'prefix={}'.format(self.prefix.bin)]
+ if "+subtree" in self.spec:
+ with working_dir("contrib/subtree"):
+ make_args = ["V=1", "prefix={}".format(self.prefix.bin)]
make(" ".join(make_args))
- install_args = ['V=1', 'prefix={}'.format(self.prefix.bin), 'install']
+ install_args = ["V=1", "prefix={}".format(self.prefix.bin), "install"]
make(" ".join(install_args))
- install('git-subtree', self.prefix.bin)
+ install("git-subtree", self.prefix.bin)
def setup_run_environment(self, env):
# Setup run environment if using SVN extension
@@ -299,7 +470,10 @@ class Git(AutotoolsPackage):
# LD_LIBRARY_PATH
# TODO: extend to other platforms
if "+svn platform=linux" in self.spec:
- perl_svn = self.spec['perl-alien-svn']
- env.prepend_path('LD_LIBRARY_PATH', join_path(
- perl_svn.prefix, 'lib', 'perl5', 'x86_64-linux-thread-multi',
- 'Alien', 'SVN'))
+ perl_svn = self.spec["perl-alien-svn"]
+ env.prepend_path(
+ "LD_LIBRARY_PATH",
+ join_path(
+ perl_svn.prefix, "lib", "perl5", "x86_64-linux-thread-multi", "Alien", "SVN"
+ ),
+ )
diff --git a/var/spack/repos/builtin/packages/gitconddb/package.py b/var/spack/repos/builtin/packages/gitconddb/package.py
index 6035d5aaeb..a72fd1e9f8 100644
--- a/var/spack/repos/builtin/packages/gitconddb/package.py
+++ b/var/spack/repos/builtin/packages/gitconddb/package.py
@@ -11,37 +11,41 @@ class Gitconddb(CMakePackage):
storage backend"""
homepage = "https://gitlab.cern.ch/lhcb/GitCondDB"
- url = "https://gitlab.cern.ch/lhcb/GitCondDB/-/archive/0.1.1/GitCondDB-0.1.1.tar.gz"
- git = "https://gitlab.cern.ch/lhcb/GitCondDB.git"
+ url = "https://gitlab.cern.ch/lhcb/GitCondDB/-/archive/0.1.1/GitCondDB-0.1.1.tar.gz"
+ git = "https://gitlab.cern.ch/lhcb/GitCondDB.git"
- maintainers = ['drbenmorgan']
+ maintainers = ["drbenmorgan"]
- version('master', branch='master')
- version('0.2.0', sha256='dfbaa33581d5c6fac1102668c542b32d14499a30a2793bc55b133aba9f7295fc')
- version('0.1.3', sha256='29ed88498fd7ea3fd24bc80e9bfdec796cbeb584796c94c6c6b0baa368842ad4')
- version('0.1.2', sha256='121ac34d8afffbd97b052cbb10f15e78cef962fe25ded85d88ab26e1677b72b5')
- version('0.1.1', sha256='024a6867722a3a622ed4327ea7d15641dd48e4e8411bdcc21915e406b3c479a2')
+ version("master", branch="master")
+ version("0.2.0", sha256="dfbaa33581d5c6fac1102668c542b32d14499a30a2793bc55b133aba9f7295fc")
+ version("0.1.3", sha256="29ed88498fd7ea3fd24bc80e9bfdec796cbeb584796c94c6c6b0baa368842ad4")
+ version("0.1.2", sha256="121ac34d8afffbd97b052cbb10f15e78cef962fe25ded85d88ab26e1677b72b5")
+ version("0.1.1", sha256="024a6867722a3a622ed4327ea7d15641dd48e4e8411bdcc21915e406b3c479a2")
# Add the cxxstd variant for forward compatibility, though we require 17
- _cxxstd_values = ('17',)
- variant('cxxstd',
- default='17',
- values=_cxxstd_values,
- multi=False,
- description='Use the specified C++ standard when building.')
-
- depends_on('cmake@3.10:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('nlohmann-json@3.2.0:', type='build')
- depends_on('googletest@1.8.1:', type='build')
+ _cxxstd_values = ("17",)
+ variant(
+ "cxxstd",
+ default="17",
+ values=_cxxstd_values,
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+
+ depends_on("cmake@3.10:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("nlohmann-json@3.2.0:", type="build")
+ depends_on("googletest@1.8.1:", type="build")
for s in _cxxstd_values:
- depends_on('fmt@5.2.0: cxxstd=' + s, when='cxxstd=' + s)
+ depends_on("fmt@5.2.0: cxxstd=" + s, when="cxxstd=" + s)
# Maybe also a boost dependency for macOS older than catalina
- depends_on('libgit2')
+ depends_on("libgit2")
# Known conflicts on C++17 compatibility (aggressive for now)
- conflicts('%gcc@:7.9', msg="GitCondDB requires GCC 8 or newer for C++17 support")
- conflicts('%apple-clang', when="@:0.1", msg="No Darwin support for clang in older versions")
- conflicts('%clang platform=darwin', when="@:0.1", msg="No Darwin support for clang in older versions")
+ conflicts("%gcc@:7.9", msg="GitCondDB requires GCC 8 or newer for C++17 support")
+ conflicts("%apple-clang", when="@:0.1", msg="No Darwin support for clang in older versions")
+ conflicts(
+ "%clang platform=darwin", when="@:0.1", msg="No Darwin support for clang in older versions"
+ )
diff --git a/var/spack/repos/builtin/packages/gl2ps/package.py b/var/spack/repos/builtin/packages/gl2ps/package.py
index 1a42a06d5f..09030efe44 100644
--- a/var/spack/repos/builtin/packages/gl2ps/package.py
+++ b/var/spack/repos/builtin/packages/gl2ps/package.py
@@ -11,41 +11,40 @@ class Gl2ps(CMakePackage):
OpenGL application."""
homepage = "https://www.geuz.org/gl2ps/"
- url = "https://geuz.org/gl2ps/src/gl2ps-1.3.9.tgz"
+ url = "https://geuz.org/gl2ps/src/gl2ps-1.3.9.tgz"
- version('1.4.2', sha256='8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9')
- version('1.4.0', sha256='03cb5e6dfcd87183f3b9ba3b22f04cd155096af81e52988cc37d8d8efe6cf1e2')
- version('1.3.9', sha256='8a680bff120df8bcd78afac276cdc38041fed617f2721bade01213362bcc3640')
+ version("1.4.2", sha256="8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9")
+ version("1.4.0", sha256="03cb5e6dfcd87183f3b9ba3b22f04cd155096af81e52988cc37d8d8efe6cf1e2")
+ version("1.3.9", sha256="8a680bff120df8bcd78afac276cdc38041fed617f2721bade01213362bcc3640")
- variant('png', default=True, description='Enable PNG support')
- variant('zlib', default=True, description='Enable compression using ZLIB')
- variant('doc', default=False,
- description='Generate documentation using pdflatex')
+ variant("png", default=True, description="Enable PNG support")
+ variant("zlib", default=True, description="Enable compression using ZLIB")
+ variant("doc", default=False, description="Generate documentation using pdflatex")
- depends_on('cmake@2.8.6:', type='build')
+ depends_on("cmake@2.8.6:", type="build")
- depends_on('gl')
+ depends_on("gl")
- depends_on('libpng', when='+png')
- depends_on('zlib', when='+zlib')
- depends_on('texlive', type='build', when='+doc')
+ depends_on("libpng", when="+png")
+ depends_on("zlib", when="+zlib")
+ depends_on("texlive", type="build", when="+doc")
def cmake_args(self):
spec = self.spec
options = [
- self.define('CMAKE_DISABLE_FIND_PACKAGE_GLUT', True),
- self.define_from_variant('ENABLE_PNG', 'png'),
- self.define_from_variant('ENABLE_ZLIB', 'zlib'),
- self.define('OpenGL_GL_PREFERENCE', 'LEGACY'),
- self.define('OPENGL_INCLUDE_DIR', spec['gl'].headers.directories[0]),
- self.define('OPENGL_gl_LIBRARY', spec['gl'].libs[0]),
- self.define('OPENGL_opengl_LIBRARY', 'IGNORE'),
- self.define('OPENGL_glx_LIBRARY', 'IGNORE'),
- self.define('OPENGL_egl_LIBRARY', 'IGNORE'),
- self.define('OPENGL_glu_LIBRARY', 'IGNORE'),
+ self.define("CMAKE_DISABLE_FIND_PACKAGE_GLUT", True),
+ self.define_from_variant("ENABLE_PNG", "png"),
+ self.define_from_variant("ENABLE_ZLIB", "zlib"),
+ self.define("OpenGL_GL_PREFERENCE", "LEGACY"),
+ self.define("OPENGL_INCLUDE_DIR", spec["gl"].headers.directories[0]),
+ self.define("OPENGL_gl_LIBRARY", spec["gl"].libs[0]),
+ self.define("OPENGL_opengl_LIBRARY", "IGNORE"),
+ self.define("OPENGL_glx_LIBRARY", "IGNORE"),
+ self.define("OPENGL_egl_LIBRARY", "IGNORE"),
+ self.define("OPENGL_glu_LIBRARY", "IGNORE"),
]
- if '~doc' in spec:
+ if "~doc" in spec:
# Make sure we don't look.
- options.append(self.define('CMAKE_DISABLE_FIND_PACKAGE_LATEX', True))
+ options.append(self.define("CMAKE_DISABLE_FIND_PACKAGE_LATEX", True))
return options
diff --git a/var/spack/repos/builtin/packages/glew/package.py b/var/spack/repos/builtin/packages/glew/package.py
index c31a4e0e25..ae50fc181f 100644
--- a/var/spack/repos/builtin/packages/glew/package.py
+++ b/var/spack/repos/builtin/packages/glew/package.py
@@ -12,48 +12,51 @@ class Glew(CMakePackage):
"""The OpenGL Extension Wrangler Library."""
homepage = "http://glew.sourceforge.net/"
- url = "https://github.com/nigels-com/glew/releases/download/glew-2.1.0/glew-2.1.0.tgz"
+ url = "https://github.com/nigels-com/glew/releases/download/glew-2.1.0/glew-2.1.0.tgz"
root_cmakelists_dir = "build/cmake"
- version('2.2.0', sha256='d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1')
- version('2.1.0', sha256='04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95')
- version('2.0.0', sha256='c572c30a4e64689c342ba1624130ac98936d7af90c3103f9ce12b8a0c5736764')
-
- variant('gl',
- default='glx' if sys.platform.startswith('linux') else 'other',
- values=('glx', 'osmesa', 'other'), multi=False,
- description='The OpenGL provider to use')
- conflicts('osmesa', when='gl=glx')
- conflicts('osmesa', when='gl=other')
- conflicts('glx', when='gl=osmesa')
- conflicts('glx', when='gl=other')
-
- depends_on('gl')
- depends_on('osmesa', when='gl=osmesa')
- depends_on('glx', when='gl=glx')
- depends_on('libx11', when='gl=glx')
- depends_on('xproto', when='gl=glx')
+ version("2.2.0", sha256="d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1")
+ version("2.1.0", sha256="04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95")
+ version("2.0.0", sha256="c572c30a4e64689c342ba1624130ac98936d7af90c3103f9ce12b8a0c5736764")
+
+ variant(
+ "gl",
+ default="glx" if sys.platform.startswith("linux") else "other",
+ values=("glx", "osmesa", "other"),
+ multi=False,
+ description="The OpenGL provider to use",
+ )
+ conflicts("osmesa", when="gl=glx")
+ conflicts("osmesa", when="gl=other")
+ conflicts("glx", when="gl=osmesa")
+ conflicts("glx", when="gl=other")
+
+ depends_on("gl")
+ depends_on("osmesa", when="gl=osmesa")
+ depends_on("glx", when="gl=glx")
+ depends_on("libx11", when="gl=glx")
+ depends_on("xproto", when="gl=glx")
# glu is already forcibly disabled in the CMakeLists.txt. This prevents
# it from showing up in the .pc file
- patch('remove-pkgconfig-glu-dep.patch')
+ patch("remove-pkgconfig-glu-dep.patch")
def cmake_args(self):
spec = self.spec
args = [
- self.define('BUILD_UTILS', True),
- self.define('GLEW_REGAL', False),
- self.define('GLEW_EGL', False),
- self.define('OpenGL_GL_PREFERENCE', 'LEGACY'),
- self.define('OPENGL_INCLUDE_DIR', spec['gl'].headers.directories[0]),
- self.define('OPENGL_gl_LIBRARY', spec['gl'].libs[0]),
- self.define('OPENGL_opengl_LIBRARY', 'IGNORE'),
- self.define('OPENGL_glx_LIBRARY', 'IGNORE'),
- self.define('OPENGL_egl_LIBRARY', 'IGNORE'),
- self.define('OPENGL_glu_LIBRARY', 'IGNORE'),
- self.define('GLEW_OSMESA', 'gl=osmesa' in spec),
- self.define('GLEW_X11', 'gl=glx' in spec),
- self.define('CMAKE_DISABLE_FIND_PACKAGE_X11', 'gl=glx' not in spec),
+ self.define("BUILD_UTILS", True),
+ self.define("GLEW_REGAL", False),
+ self.define("GLEW_EGL", False),
+ self.define("OpenGL_GL_PREFERENCE", "LEGACY"),
+ self.define("OPENGL_INCLUDE_DIR", spec["gl"].headers.directories[0]),
+ self.define("OPENGL_gl_LIBRARY", spec["gl"].libs[0]),
+ self.define("OPENGL_opengl_LIBRARY", "IGNORE"),
+ self.define("OPENGL_glx_LIBRARY", "IGNORE"),
+ self.define("OPENGL_egl_LIBRARY", "IGNORE"),
+ self.define("OPENGL_glu_LIBRARY", "IGNORE"),
+ self.define("GLEW_OSMESA", "gl=osmesa" in spec),
+ self.define("GLEW_X11", "gl=glx" in spec),
+ self.define("CMAKE_DISABLE_FIND_PACKAGE_X11", "gl=glx" not in spec),
]
return args
diff --git a/var/spack/repos/builtin/packages/glfmultiples/package.py b/var/spack/repos/builtin/packages/glfmultiples/package.py
index c68fb1ab99..0b6269d7a8 100644
--- a/var/spack/repos/builtin/packages/glfmultiples/package.py
+++ b/var/spack/repos/builtin/packages/glfmultiples/package.py
@@ -8,23 +8,26 @@ from spack.package import *
class Glfmultiples(MakefilePackage):
"""glfMultiples is a GLF-based variant caller for next-generation
- sequencing data. It takes a set of GLF format genotype likelihood
- files as input and generates a VCF-format set of variant calls
- as output. """
+ sequencing data. It takes a set of GLF format genotype likelihood
+ files as input and generates a VCF-format set of variant calls
+ as output."""
homepage = "https://genome.sph.umich.edu/wiki/GlfMultiples"
- url = "http://www.sph.umich.edu/csg/abecasis/downloads/generic-glfMultiples-2010-06-16.tar.gz"
+ url = "http://www.sph.umich.edu/csg/abecasis/downloads/generic-glfMultiples-2010-06-16.tar.gz"
- version('2010-06-16', sha256='f7abef6f6b043e9052fb408bb2aae6d0d97d907aedc1b3e02dd0db08eb81b979')
+ version(
+ "2010-06-16", sha256="f7abef6f6b043e9052fb408bb2aae6d0d97d907aedc1b3e02dd0db08eb81b979"
+ )
- depends_on('zlib')
+ depends_on("zlib")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('CXX=.*', 'CXX = ' + env['CXX'])
- makefile.filter('CFLAGS=.*',
- 'CFLAGS=-O2 -I./libsrc -I./pdf ' +
- '-D_FILE_OFFSET_BITS=64 -D__USE_LONG_INT')
+ makefile = FileFilter("Makefile")
+ makefile.filter("CXX=.*", "CXX = " + env["CXX"])
+ makefile.filter(
+ "CFLAGS=.*",
+ "CFLAGS=-O2 -I./libsrc -I./pdf " + "-D_FILE_OFFSET_BITS=64 -D__USE_LONG_INT",
+ )
def install(self, spec, prefix):
- make('INSTALLDIR=%s' % prefix, 'install')
+ make("INSTALLDIR=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/glfw/package.py b/var/spack/repos/builtin/packages/glfw/package.py
index 38c6f346a5..2a83493b52 100644
--- a/var/spack/repos/builtin/packages/glfw/package.py
+++ b/var/spack/repos/builtin/packages/glfw/package.py
@@ -13,36 +13,36 @@ class Glfw(CMakePackage):
surfaces, receiving input and events."""
homepage = "https://www.glfw.org/"
- url = "https://github.com/glfw/glfw/archive/3.3.2.tar.gz"
-
- version('3.3.2', sha256='98768e12e615fbe9f3386f5bbfeb91b5a3b45a8c4c77159cef06b1f6ff749537')
- version('3.3.1', sha256='6bca16e69361798817a4b62a5239a77253c29577fcd5d52ae8b85096e514177f')
- version('3.3', sha256='81bf5fde487676a8af55cb317830703086bb534c53968d71936e7b48ee5a0f3e')
- version('3.2.1', sha256='e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8')
- version('3.2', sha256='cb3aab46757981a39ae108e5207a1ecc4378e68949433a2b040ce2e17d8f6aa6')
- version('3.1.2', sha256='6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122')
- version('3.1.1', sha256='4de311ec9bf43bfdc8423ddf93b91dc54dc73dcfbedfb0991b6fbb3a9baf245f')
- version('3.1', sha256='2140f4c532e7ce4c84cb7e4c419d0979d5954fa1ce204b7646491bd2cc5bf308')
- version('3.0.4', sha256='a4e7c57db2086803de4fc853bd472ff8b6d2639b9aa16e6ac6b19ffb53958caf')
- version('3.0.3', sha256='7a182047ba6b1fdcda778b79aac249bb2328b6d141188cb5df29560715d01693')
+ url = "https://github.com/glfw/glfw/archive/3.3.2.tar.gz"
+
+ version("3.3.2", sha256="98768e12e615fbe9f3386f5bbfeb91b5a3b45a8c4c77159cef06b1f6ff749537")
+ version("3.3.1", sha256="6bca16e69361798817a4b62a5239a77253c29577fcd5d52ae8b85096e514177f")
+ version("3.3", sha256="81bf5fde487676a8af55cb317830703086bb534c53968d71936e7b48ee5a0f3e")
+ version("3.2.1", sha256="e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8")
+ version("3.2", sha256="cb3aab46757981a39ae108e5207a1ecc4378e68949433a2b040ce2e17d8f6aa6")
+ version("3.1.2", sha256="6ac642087682aaf7f8397761a41a99042b2c656498217a1c63ba9706d1eef122")
+ version("3.1.1", sha256="4de311ec9bf43bfdc8423ddf93b91dc54dc73dcfbedfb0991b6fbb3a9baf245f")
+ version("3.1", sha256="2140f4c532e7ce4c84cb7e4c419d0979d5954fa1ce204b7646491bd2cc5bf308")
+ version("3.0.4", sha256="a4e7c57db2086803de4fc853bd472ff8b6d2639b9aa16e6ac6b19ffb53958caf")
+ version("3.0.3", sha256="7a182047ba6b1fdcda778b79aac249bb2328b6d141188cb5df29560715d01693")
variant("doc", default=False, description="Build documentation")
variant("shared", default=False, description="Builds a shared version of the library")
# dependencies
- depends_on('doxygen', type='build', when="+doc")
+ depends_on("doxygen", type="build", when="+doc")
# linux only dependencies
- depends_on('libxrandr', when='platform=linux')
- depends_on('libxinerama', when='platform=linux')
- depends_on('libxcursor', when='platform=linux')
- depends_on('libxdamage', when='platform=linux')
- depends_on('libxft', when='platform=linux')
- depends_on('libxi', when='platform=linux')
- depends_on('libxmu', when='platform=linux')
- depends_on('freetype', when='platform=linux')
- depends_on('fontconfig', when='platform=linux')
- depends_on('pkgconfig', type='build', when='platform=linux')
+ depends_on("libxrandr", when="platform=linux")
+ depends_on("libxinerama", when="platform=linux")
+ depends_on("libxcursor", when="platform=linux")
+ depends_on("libxdamage", when="platform=linux")
+ depends_on("libxft", when="platform=linux")
+ depends_on("libxi", when="platform=linux")
+ depends_on("libxmu", when="platform=linux")
+ depends_on("freetype", when="platform=linux")
+ depends_on("fontconfig", when="platform=linux")
+ depends_on("pkgconfig", type="build", when="platform=linux")
def cmake_args(self):
return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
diff --git a/var/spack/repos/builtin/packages/glib-networking/package.py b/var/spack/repos/builtin/packages/glib-networking/package.py
index 54ae4bc58b..55953df5c8 100644
--- a/var/spack/repos/builtin/packages/glib-networking/package.py
+++ b/var/spack/repos/builtin/packages/glib-networking/package.py
@@ -10,14 +10,14 @@ class GlibNetworking(MesonPackage):
"""Network-related giomodules for glib."""
homepage = "https://gitlab.gnome.org/GNOME/glib-networking"
- url = "https://github.com/GNOME/glib-networking/archive/2.66.0.tar.gz"
+ url = "https://github.com/GNOME/glib-networking/archive/2.66.0.tar.gz"
- version('2.66.0', sha256='186a670c00525d62aa160bc3e492d9efd2f59c540c50477982eb732ed62ee96c')
- version('2.65.90', sha256='91b35c5d7472d10229b0b01c0631ac171903e96f84a6fb22c4126a40528c09e2')
- version('2.65.1', sha256='d06311004f7dda4561c210f286a3678b631fb7187cb3b90616c5ba39307cc91f')
+ version("2.66.0", sha256="186a670c00525d62aa160bc3e492d9efd2f59c540c50477982eb732ed62ee96c")
+ version("2.65.90", sha256="91b35c5d7472d10229b0b01c0631ac171903e96f84a6fb22c4126a40528c09e2")
+ version("2.65.1", sha256="d06311004f7dda4561c210f286a3678b631fb7187cb3b90616c5ba39307cc91f")
- depends_on('gettext', type='build')
- depends_on('glib')
- depends_on('gnutls')
- depends_on('gsettings-desktop-schemas')
- depends_on('libproxy')
+ depends_on("gettext", type="build")
+ depends_on("glib")
+ depends_on("gnutls")
+ depends_on("gsettings-desktop-schemas")
+ depends_on("libproxy")
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index ce5f90fc5b..83dfb307b2 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -19,139 +19,184 @@ class Glib(Package):
"""
homepage = "https://developer.gnome.org/glib/"
- url = "https://ftp.gnome.org/pub/gnome/sources/glib/2.53/glib-2.53.1.tar.xz"
+ url = "https://ftp.gnome.org/pub/gnome/sources/glib/2.53/glib-2.53.1.tar.xz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('2.72.3', sha256='4a39a2f624b8512d500d5840173eda7fa85f51c109052eae806acece85d345f0')
- version('2.72.2', sha256='78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de')
- version('2.72.1', sha256='c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2')
- version('2.70.5', sha256='f70bf76ebcc84e0705722f038be8e2f9a58d17e1a700810c635fcc18b8974b7e')
- version('2.70.4', sha256='ab3d176f3115dcc4e5d02db795984e04e4f4b48d836252e23e8c468e9d423c33')
- version('2.70.2', sha256='0551459c85cd3da3d58ddc9016fd28be5af503f5e1615a71ba5b512ac945806f')
- version('2.70.0', sha256='200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742')
- version('2.68.4', sha256='62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b')
- version('2.68.3', sha256='e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138')
- version('2.68.2', sha256='ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb')
- version('2.66.8', sha256='97bc87dd91365589af5cbbfea2574833aea7a1b71840fd365ecd2852c76b9c8b')
- version('2.66.7', sha256='09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502')
- version('2.66.6', sha256='80fff9c63d2725834328071c42003c311f77f91caf2285195c587c62f5638329')
- version('2.66.2', sha256='ec390bed4e8dd0f89e918f385e8d4cfd7470b1ef7c1ce93ec5c4fc6e3c6a17c4')
- version('2.64.6', sha256='c36ee07a70164c71f046016fe6aaacd6368333c42590bc0cba47c344ffb853f1')
- version('2.64.5', sha256='9cbd5bd2715ead1c28d53c46f7b7b6ff6166f5887b772c1a9e3bf2910cfecc11')
- version('2.64.4', sha256='f7e0b325b272281f0462e0f7fff25a833820cac19911ff677251daf6d87bce50')
- version('2.64.3', sha256='fe9cbc97925d14c804935f067a3ad77ef55c0bbe9befe68962318f5a767ceb22')
- version('2.64.2', sha256='9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277')
- version('2.64.1', sha256='17967603bcb44b6dbaac47988d80c29a3d28519210b28157c2bd10997595bbc7')
- version('2.62.6', sha256='104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c')
- version('2.60.7', sha256='8b12c0af569afd3b71200556ad751bad4cf4bf7bc4b5f880638459a42ca86310')
- version('2.58.3', sha256='8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481')
- version('2.56.4', sha256='27f703d125efb07f8a743666b580df0b4095c59fc8750e8890132c91d437504c', deprecated=True)
- version('2.56.3', sha256='a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2', deprecated=True)
- version('2.56.2', sha256='d64abd16813501c956c4e123ae79f47f1b58de573df9fdd3b0795f1e2c1aa789', deprecated=True)
- version('2.56.1', sha256='40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d', deprecated=True)
- version('2.56.0', sha256='ecef6e17e97b8d9150d0e8a4b3edee1ac37331213b8a2a87a083deea408a0fc7', deprecated=True)
- version('2.55.1', sha256='0cbb3d31c9d181bbcc97cba3d9dbe3250f75e2da25e5f7c8bf5a993fe54baf6a', deprecated=True)
- version('2.53.1', sha256='c8740f1d1a138086eede889b596a511fddda180646ab2f1d98aed4fdb6be7f72', deprecated=True)
- version('2.49.7', sha256='0fd13406ca31d6f654c3be620e0adaaa4f9fb788e164e265e33edf4b21e64ef6', deprecated=True)
- version('2.49.4', sha256='9e914f9d7ebb88f99f234a7633368a7c1133ea21b5cac9db2a33bc25f7a0e0d1', deprecated=True)
- version('2.48.1', sha256='74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612', deprecated=True)
- version('2.42.1', sha256='8f3f0865280e45b8ce840e176ef83bcfd511148918cc8d39df2ee89b67dcf89a', deprecated=True)
+ version("2.72.3", sha256="4a39a2f624b8512d500d5840173eda7fa85f51c109052eae806acece85d345f0")
+ version("2.72.2", sha256="78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de")
+ version("2.72.1", sha256="c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2")
+ version("2.70.5", sha256="f70bf76ebcc84e0705722f038be8e2f9a58d17e1a700810c635fcc18b8974b7e")
+ version("2.70.4", sha256="ab3d176f3115dcc4e5d02db795984e04e4f4b48d836252e23e8c468e9d423c33")
+ version("2.70.2", sha256="0551459c85cd3da3d58ddc9016fd28be5af503f5e1615a71ba5b512ac945806f")
+ version("2.70.0", sha256="200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742")
+ version("2.68.4", sha256="62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b")
+ version("2.68.3", sha256="e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138")
+ version("2.68.2", sha256="ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb")
+ version("2.66.8", sha256="97bc87dd91365589af5cbbfea2574833aea7a1b71840fd365ecd2852c76b9c8b")
+ version("2.66.7", sha256="09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502")
+ version("2.66.6", sha256="80fff9c63d2725834328071c42003c311f77f91caf2285195c587c62f5638329")
+ version("2.66.2", sha256="ec390bed4e8dd0f89e918f385e8d4cfd7470b1ef7c1ce93ec5c4fc6e3c6a17c4")
+ version("2.64.6", sha256="c36ee07a70164c71f046016fe6aaacd6368333c42590bc0cba47c344ffb853f1")
+ version("2.64.5", sha256="9cbd5bd2715ead1c28d53c46f7b7b6ff6166f5887b772c1a9e3bf2910cfecc11")
+ version("2.64.4", sha256="f7e0b325b272281f0462e0f7fff25a833820cac19911ff677251daf6d87bce50")
+ version("2.64.3", sha256="fe9cbc97925d14c804935f067a3ad77ef55c0bbe9befe68962318f5a767ceb22")
+ version("2.64.2", sha256="9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277")
+ version("2.64.1", sha256="17967603bcb44b6dbaac47988d80c29a3d28519210b28157c2bd10997595bbc7")
+ version("2.62.6", sha256="104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c")
+ version("2.60.7", sha256="8b12c0af569afd3b71200556ad751bad4cf4bf7bc4b5f880638459a42ca86310")
+ version("2.58.3", sha256="8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481")
+ version(
+ "2.56.4",
+ sha256="27f703d125efb07f8a743666b580df0b4095c59fc8750e8890132c91d437504c",
+ deprecated=True,
+ )
+ version(
+ "2.56.3",
+ sha256="a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2",
+ deprecated=True,
+ )
+ version(
+ "2.56.2",
+ sha256="d64abd16813501c956c4e123ae79f47f1b58de573df9fdd3b0795f1e2c1aa789",
+ deprecated=True,
+ )
+ version(
+ "2.56.1",
+ sha256="40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d",
+ deprecated=True,
+ )
+ version(
+ "2.56.0",
+ sha256="ecef6e17e97b8d9150d0e8a4b3edee1ac37331213b8a2a87a083deea408a0fc7",
+ deprecated=True,
+ )
+ version(
+ "2.55.1",
+ sha256="0cbb3d31c9d181bbcc97cba3d9dbe3250f75e2da25e5f7c8bf5a993fe54baf6a",
+ deprecated=True,
+ )
+ version(
+ "2.53.1",
+ sha256="c8740f1d1a138086eede889b596a511fddda180646ab2f1d98aed4fdb6be7f72",
+ deprecated=True,
+ )
+ version(
+ "2.49.7",
+ sha256="0fd13406ca31d6f654c3be620e0adaaa4f9fb788e164e265e33edf4b21e64ef6",
+ deprecated=True,
+ )
+ version(
+ "2.49.4",
+ sha256="9e914f9d7ebb88f99f234a7633368a7c1133ea21b5cac9db2a33bc25f7a0e0d1",
+ deprecated=True,
+ )
+ version(
+ "2.48.1",
+ sha256="74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612",
+ deprecated=True,
+ )
+ version(
+ "2.42.1",
+ sha256="8f3f0865280e45b8ce840e176ef83bcfd511148918cc8d39df2ee89b67dcf89a",
+ deprecated=True,
+ )
- variant('libmount', default=False, description='Build with libmount support')
+ variant("libmount", default=False, description="Build with libmount support")
variant(
- 'tracing', values=any_combination_of('dtrace', 'systemtap'),
- description='Enable tracing support'
+ "tracing",
+ values=any_combination_of("dtrace", "systemtap"),
+ description="Enable tracing support",
)
- depends_on('meson@0.49.2:', when='@2.61.2:', type='build')
- depends_on('meson@0.48.0:', when='@2.58.0:', type='build')
- depends_on('ninja', when='@2.58.0:', type='build')
+ depends_on("meson@0.49.2:", when="@2.61.2:", type="build")
+ depends_on("meson@0.48.0:", when="@2.58.0:", type="build")
+ depends_on("ninja", when="@2.58.0:", type="build")
- depends_on('pkgconfig', type='build')
- depends_on('libffi')
- depends_on('zlib')
- depends_on('gettext')
- depends_on('perl', type=('build', 'run'))
- depends_on('python', type=('build', 'run'), when='@2.53.4:')
- depends_on('pcre+utf', when='@2.48:')
- depends_on('uuid', when='+libmount')
- depends_on('util-linux', when='+libmount')
- depends_on('iconv')
+ depends_on("pkgconfig", type="build")
+ depends_on("libffi")
+ depends_on("zlib")
+ depends_on("gettext")
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", type=("build", "run"), when="@2.53.4:")
+ depends_on("pcre+utf", when="@2.48:")
+ depends_on("uuid", when="+libmount")
+ depends_on("util-linux", when="+libmount")
+ depends_on("iconv")
# The following patch is needed for gcc-6.1
- patch('g_date_strftime.patch', when='@2.42.1')
+ patch("g_date_strftime.patch", when="@2.42.1")
# Clang doesn't seem to acknowledge the pragma lines to disable the -Werror
# around a legitimate usage.
- patch('no-Werror=format-security.patch', when='@:2.57')
+ patch("no-Werror=format-security.patch", when="@:2.57")
# Patch to prevent compiler errors in kernels older than 2.6.35
- patch('old-kernels.patch', when='@2.56.0:2.56.1 os=rhel6')
- patch('old-kernels.patch', when='@2.56.0:2.56.1 os=centos6')
- patch('old-kernels.patch', when='@2.56.0:2.56.1 os=scientific6')
+ patch("old-kernels.patch", when="@2.56.0:2.56.1 os=rhel6")
+ patch("old-kernels.patch", when="@2.56.0:2.56.1 os=centos6")
+ patch("old-kernels.patch", when="@2.56.0:2.56.1 os=scientific6")
# glib prefers the libc version of gettext, which breaks the build if the
# external version is also found.
- patch('meson-gettext.patch', when='@2.58:2.64')
- patch('meson-gettext-2.66.patch', when='@2.66:2.68,2.72:')
- patch('meson-gettext-2.70.patch', when='@2.70')
+ patch("meson-gettext.patch", when="@2.58:2.64")
+ patch("meson-gettext-2.66.patch", when="@2.66:2.68,2.72:")
+ patch("meson-gettext-2.70.patch", when="@2.70")
def url_for_version(self, version):
"""Handle glib's version-based custom URLs."""
- url = 'http://ftp.gnome.org/pub/gnome/sources/glib'
- return url + '/%s/glib-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/gnome/sources/glib"
+ return url + "/%s/glib-%s.tar.xz" % (version.up_to(2), version)
def patch(self):
"""A few glib tests have external dependencies / try to access the X server"""
# Surgically disable tests which we cannot make pass in a spack build
- gio_tests = FileFilter('gio/tests/meson.build')
- gio_tests.filter('if not glib_have_cocoa', 'if false')
- gio_tests.filter("'contenttype' : {},", '')
- gio_tests.filter("'file' : {},", '')
+ gio_tests = FileFilter("gio/tests/meson.build")
+ gio_tests.filter("if not glib_have_cocoa", "if false")
+ gio_tests.filter("'contenttype' : {},", "")
+ gio_tests.filter("'file' : {},", "")
gio_tests.filter("'gdbus-peer'", "'file'")
- gio_tests.filter("'gdbus-address-get-session' : {},", '')
- filter_file("'mkenums.py',*", '', 'gobject/tests/meson.build')
- filter_file("'fileutils' : {},", '', 'glib/tests/meson.build')
+ gio_tests.filter("'gdbus-address-get-session' : {},", "")
+ filter_file("'mkenums.py',*", "", "gobject/tests/meson.build")
+ filter_file("'fileutils' : {},", "", "glib/tests/meson.build")
@property
def libs(self):
- return find_libraries(['libglib*'], root=self.prefix, recursive=True)
+ return find_libraries(["libglib*"], root=self.prefix, recursive=True)
def meson_args(self):
- args = ['-Dgettext=external']
- if self.spec.satisfies('@2.63.5:'):
- if '+libmount' in self.spec:
- args.append('-Dlibmount=enabled')
+ args = ["-Dgettext=external"]
+ if self.spec.satisfies("@2.63.5:"):
+ if "+libmount" in self.spec:
+ args.append("-Dlibmount=enabled")
else:
- args.append('-Dlibmount=disabled')
+ args.append("-Dlibmount=disabled")
else:
- if '+libmount' in self.spec:
- args.append('-Dlibmount=true')
+ if "+libmount" in self.spec:
+ args.append("-Dlibmount=true")
else:
- args.append('-Dlibmount=false')
- if 'libc' in self.spec:
- args.append('-Diconv=libc')
+ args.append("-Dlibmount=false")
+ if "libc" in self.spec:
+ args.append("-Diconv=libc")
else:
- if self.spec.satisfies('@2.61.0:'):
- args.append('-Diconv=external')
+ if self.spec.satisfies("@2.61.0:"):
+ args.append("-Diconv=external")
else:
- args.append('-Diconv=gnu')
- if 'tracing=dtrace' in self.spec:
- args.append('-Ddtrace=true')
+ args.append("-Diconv=gnu")
+ if "tracing=dtrace" in self.spec:
+ args.append("-Ddtrace=true")
else:
- args.append('-Ddtrace=false')
- if 'tracing=systemtap' in self.spec:
- args.append('-Dsystemtap=true')
+ args.append("-Ddtrace=false")
+ if "tracing=systemtap" in self.spec:
+ args.append("-Dsystemtap=true")
else:
- args.append('-Dsystemtap=false')
- if self.spec.satisfies('@2.59.0:'):
- args.append('-Dselinux=disabled')
+ args.append("-Dsystemtap=false")
+ if self.spec.satisfies("@2.59.0:"):
+ args.append("-Dselinux=disabled")
else:
- args.append('-Dselinux=false')
- args.append('-Dgtk_doc=false')
+ args.append("-Dselinux=false")
+ args.append("-Dgtk_doc=false")
return args
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
# We cannot simply do
# meson('..', *std_meson_args, *self.meson_args())
# because that is not Python 2 compatible. Instead, collect
@@ -159,126 +204,124 @@ class Glib(Package):
args = []
args.extend(std_meson_args)
args.extend(self.meson_args())
- meson('..', *args)
- ninja('-v')
+ meson("..", *args)
+ ninja("-v")
if self.run_tests:
- ninja('test')
- ninja('install')
+ ninja("test")
+ ninja("install")
def configure_args(self):
args = []
- if '+libmount' in self.spec:
- args.append('--enable-libmount')
+ if "+libmount" in self.spec:
+ args.append("--enable-libmount")
else:
- args.append('--disable-libmount')
- if self.spec.satisfies('@2.53.4:'):
- args.append('--with-python={0}'.format(
- os.path.basename(self.spec['python'].command.path))
+ args.append("--disable-libmount")
+ if self.spec.satisfies("@2.53.4:"):
+ args.append(
+ "--with-python={0}".format(os.path.basename(self.spec["python"].command.path))
)
- if 'libc' in self.spec:
- args.append('--with-libiconv=maybe')
+ if "libc" in self.spec:
+ args.append("--with-libiconv=maybe")
else:
- args.append('--with-libiconv=gnu')
- if self.spec.satisfies('@2.56:'):
- for value in ('dtrace', 'systemtap'):
- if ('tracing=' + value) in self.spec:
- args.append('--enable-' + value)
+ args.append("--with-libiconv=gnu")
+ if self.spec.satisfies("@2.56:"):
+ for value in ("dtrace", "systemtap"):
+ if ("tracing=" + value) in self.spec:
+ args.append("--enable-" + value)
else:
- args.append('--disable-' + value)
+ args.append("--disable-" + value)
else:
- if ('tracing=dtrace' in self.spec
- or 'tracing=systemtap' in self.spec):
- args.append('--enable-tracing')
+ if "tracing=dtrace" in self.spec or "tracing=systemtap" in self.spec:
+ args.append("--enable-tracing")
else:
- args.append('--disable-tracing')
+ args.append("--disable-tracing")
# SELinux is not available in Spack, so glib should not use it.
- args.append('--disable-selinux')
+ args.append("--disable-selinux")
# glib should not use the globally installed gtk-doc. Otherwise,
# gtk-doc can fail with Python errors such as "ImportError: No module
# named site". This is due to the fact that Spack sets PYTHONHOME,
# which can confuse the global Python installation used by gtk-doc.
- args.append('--disable-gtk-doc-html')
+ args.append("--disable-gtk-doc-html")
# glib uses gtk-doc even though it should be disabled if it can find
# its binaries. Override the checks to use the true binary.
- true = which('true')
- args.append('GTKDOC_CHECK={0}'.format(true))
- args.append('GTKDOC_CHECK_PATH={0}'.format(true))
- args.append('GTKDOC_MKPDF={0}'.format(true))
- args.append('GTKDOC_REBASE={0}'.format(true))
+ true = which("true")
+ args.append("GTKDOC_CHECK={0}".format(true))
+ args.append("GTKDOC_CHECK_PATH={0}".format(true))
+ args.append("GTKDOC_MKPDF={0}".format(true))
+ args.append("GTKDOC_REBASE={0}".format(true))
return args
- @when('@:2.57')
+ @when("@:2.57")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix), *self.configure_args())
+ configure("--prefix={0}".format(prefix), *self.configure_args())
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
@property
def dtrace_copy_path(self):
- return join_path(self.stage.source_path, 'dtrace-copy')
+ return join_path(self.stage.source_path, "dtrace-copy")
- @run_before('install')
+ @run_before("install")
def fix_python_path(self):
- if not self.spec.satisfies('@2.53.4:'):
+ if not self.spec.satisfies("@2.53.4:"):
return
- files = ['gobject/glib-genmarshal.in', 'gobject/glib-mkenums.in']
+ files = ["gobject/glib-genmarshal.in", "gobject/glib-mkenums.in"]
- filter_file('^#!/usr/bin/env @PYTHON@',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path)),
- *files)
+ filter_file(
+ "^#!/usr/bin/env @PYTHON@",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ *files
+ )
- @run_before('install')
+ @run_before("install")
def fix_dtrace_usr_bin_path(self):
- if 'tracing=dtrace' not in self.spec:
+ if "tracing=dtrace" not in self.spec:
return
# dtrace may cause glib build to fail because it uses
# '/usr/bin/python' in the shebang. To work around that
# we copy the original script into a temporary folder, and
# change the shebang to '/usr/bin/env python'
- dtrace = which('dtrace').path
- dtrace_copy = join_path(self.dtrace_copy_path, 'dtrace')
+ dtrace = which("dtrace").path
+ dtrace_copy = join_path(self.dtrace_copy_path, "dtrace")
with working_dir(self.dtrace_copy_path, create=True):
copy(dtrace, dtrace_copy)
filter_file(
- '^#!/usr/bin/python',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path)),
- dtrace_copy
+ "^#!/usr/bin/python",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ dtrace_copy,
)
# To have our own copy of dtrace in PATH, we need to
# prepend to PATH the temporary folder where it resides
- env['PATH'] = ':'.join(
- [self.dtrace_copy_path] + env['PATH'].split(':')
- )
+ env["PATH"] = ":".join([self.dtrace_copy_path] + env["PATH"].split(":"))
- @run_after('install')
+ @run_after("install")
def filter_sbang(self):
# Revert sbang, so Spack's sbang hook can fix it up (we have to do
# this after install because otherwise the install target will try
# to rebuild files as filter_file updates the timestamps)
- if self.spec.satisfies('@2.53.4:'):
- pattern = '^#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path))
- repl = '#!{0}'.format(self.spec['python'].command.path)
- files = ['glib-genmarshal', 'glib-mkenums']
+ if self.spec.satisfies("@2.53.4:"):
+ pattern = "^#!/usr/bin/env {0}".format(
+ os.path.basename(self.spec["python"].command.path)
+ )
+ repl = "#!{0}".format(self.spec["python"].command.path)
+ files = ["glib-genmarshal", "glib-mkenums"]
else:
- pattern = '^#! /usr/bin/perl'
- repl = '#!{0}'.format(self.spec['perl'].command.path)
- files = ['glib-mkenums']
+ pattern = "^#! /usr/bin/perl"
+ repl = "#!{0}".format(self.spec["perl"].command.path)
+ files = ["glib-mkenums"]
files = [join_path(self.prefix.bin, file) for file in files]
filter_file(pattern, repl, *files, backup=False)
- @run_after('install')
+ @run_after("install")
def gettext_libdir(self):
# Packages that link to glib were also picking up -lintl from glib's
# glib-2.0.pc file. However, packages such as py-pygobject were
@@ -286,11 +329,8 @@ class Glib(Package):
# the gettext library directory. The patch below explitly adds the
# appropriate -L path.
spec = self.spec
- if spec.satisfies('@2.0:2'):
- pattern = 'Libs:'
- repl = 'Libs: -L{0} -Wl,-rpath={0} '.format(
- spec['gettext'].libs.directories[0])
- myfile = join_path(
- self.spec['glib'].libs.directories[0],
- 'pkgconfig', 'glib-2.0.pc')
+ if spec.satisfies("@2.0:2"):
+ pattern = "Libs:"
+ repl = "Libs: -L{0} -Wl,-rpath={0} ".format(spec["gettext"].libs.directories[0])
+ myfile = join_path(self.spec["glib"].libs.directories[0], "pkgconfig", "glib-2.0.pc")
filter_file(pattern, repl, myfile, backup=False)
diff --git a/var/spack/repos/builtin/packages/glibmm/package.py b/var/spack/repos/builtin/packages/glibmm/package.py
index dffb67f9a6..a4cbbd89e9 100644
--- a/var/spack/repos/builtin/packages/glibmm/package.py
+++ b/var/spack/repos/builtin/packages/glibmm/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class Glibmm(AutotoolsPackage):
"""Glibmm is a C++ wrapper for the glib library."""
- homepage = 'https://gitlab.gnome.org/GNOME/glibmm'
- url = 'https://download-fallback.gnome.org/sources/glibmm/2.70/glibmm-2.70.0.tar.xz'
+ homepage = "https://gitlab.gnome.org/GNOME/glibmm"
+ url = "https://download-fallback.gnome.org/sources/glibmm/2.70/glibmm-2.70.0.tar.xz"
# version('2.70.0', sha256='8008fd8aeddcc867a3f97f113de625f6e96ef98cf7860379813a9c0feffdb520')
- version('2.19.3', sha256='23958368535c19188b1241c4615dcf1f35e80e0922a04236bb9247dcd8fe0a2b')
- version('2.16.0', sha256='99795b9c6e58e490df740a113408092bf47a928427cbf178d77c35adcb6a57a3')
- version('2.4.8', sha256='78b97bfa1d001cc7b398f76bf09005ba55b45ae20780b297947a1a71c4f07e1f')
+ version("2.19.3", sha256="23958368535c19188b1241c4615dcf1f35e80e0922a04236bb9247dcd8fe0a2b")
+ version("2.16.0", sha256="99795b9c6e58e490df740a113408092bf47a928427cbf178d77c35adcb6a57a3")
+ version("2.4.8", sha256="78b97bfa1d001cc7b398f76bf09005ba55b45ae20780b297947a1a71c4f07e1f")
- depends_on('libsigcpp')
+ depends_on("libsigcpp")
# https://libsigcplusplus.github.io/libsigcplusplus/index.html
# sigc++-2.0 and sigc++-3.0 are different parallel-installable ABIs:
# libsigcpp@:2.99: are pre-releases of 3.0 & glibmm@:2.19 is not updated for @2.99:
# The newer glibmm releases have dependencies which are not yet in spack:
- depends_on('libsigcpp@:2.9', when='@:2.19')
- depends_on('glib')
- depends_on('pkgconfig', type='build')
+ depends_on("libsigcpp@:2.9", when="@:2.19")
+ depends_on("glib")
+ depends_on("pkgconfig", type="build")
- patch('guint16_cast.patch', when='@2.19.3')
+ patch("guint16_cast.patch", when="@2.19.3")
def url_for_version(self, version):
"""Handle glibmm's version-based custom URLs."""
url = "https://ftp.acc.umu.se/pub/GNOME/sources/glibmm"
- ext = '.tar.gz' if version < Version('2.28.2') else '.tar.xz'
+ ext = ".tar.gz" if version < Version("2.28.2") else ".tar.xz"
return url + "/%s/glibmm-%s%s" % (version.up_to(2), version, ext)
diff --git a/var/spack/repos/builtin/packages/glimmer/package.py b/var/spack/repos/builtin/packages/glimmer/package.py
index 5bfcd398b7..de3c25c0b9 100644
--- a/var/spack/repos/builtin/packages/glimmer/package.py
+++ b/var/spack/repos/builtin/packages/glimmer/package.py
@@ -12,13 +12,13 @@ class Glimmer(MakefilePackage):
homepage = "https://ccb.jhu.edu/software/glimmer"
- version('3.02b', sha256='ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6')
+ version("3.02b", sha256="ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6")
- build_directory = 'src'
+ build_directory = "src"
def url_for_version(self, version):
url = "https://ccb.jhu.edu/software/glimmer/glimmer{0}.tar.gz"
return url.format(version.joined)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/glm/package.py b/var/spack/repos/builtin/packages/glm/package.py
index 17bb22b8ea..b9538f0441 100644
--- a/var/spack/repos/builtin/packages/glm/package.py
+++ b/var/spack/repos/builtin/packages/glm/package.py
@@ -15,32 +15,30 @@ class Glm(CMakePackage):
url = "https://github.com/g-truc/glm/archive/0.9.9.8.tar.gz"
git = "https://github.com/g-truc/glm.git"
- version('develop', branch="master")
- version('0.9.9.8', sha256='7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592')
- version('0.9.7.1', sha256='285a0dc8f762b4e523c8710fbd97accaace0c61f45bc8be2bdb0deed07b0e6f3')
+ version("develop", branch="master")
+ version("0.9.9.8", sha256="7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592")
+ version("0.9.7.1", sha256="285a0dc8f762b4e523c8710fbd97accaace0c61f45bc8be2bdb0deed07b0e6f3")
- depends_on('cmake@2.6:', type='build')
- depends_on('cmake@3.2:', type='build', when='@0.9.9.0:')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("cmake@3.2:", type="build", when="@0.9.9.0:")
# CMake install target was removed in version 0.9.9.6
- @when('@0.9.9.6:0.9.9.8')
+ @when("@0.9.9.6:0.9.9.8")
def cmake(self, spec, prefix):
pass
- @when('@0.9.9.6:0.9.9.8')
+ @when("@0.9.9.6:0.9.9.8")
def build(self, spec, prefix):
pass
- @when('@0.9.9.6:0.9.9.8')
+ @when("@0.9.9.6:0.9.9.8")
def install(self, spec, prefix):
mkdirp(prefix.include.glm)
- ignore_cmakelists = lambda p: p.endswith('CMakeLists.txt')
- install_tree('glm', prefix.include.glm, ignore=ignore_cmakelists)
+ ignore_cmakelists = lambda p: p.endswith("CMakeLists.txt")
+ install_tree("glm", prefix.include.glm, ignore=ignore_cmakelists)
mkdirp(prefix.lib64.cmake)
- install_tree('cmake', prefix.lib64.cmake)
+ install_tree("cmake", prefix.lib64.cmake)
- @when('@develop')
+ @when("@develop")
def cmake_args(self):
- return [
- self.define('GLM_TEST_ENABLE', self.run_tests)
- ]
+ return [self.define("GLM_TEST_ENABLE", self.run_tests)]
diff --git a/var/spack/repos/builtin/packages/global/package.py b/var/spack/repos/builtin/packages/global/package.py
index 6b29507319..8e39f79c9f 100644
--- a/var/spack/repos/builtin/packages/global/package.py
+++ b/var/spack/repos/builtin/packages/global/package.py
@@ -9,26 +9,29 @@ from spack.package import *
class Global(Package):
- """ The Gnu Global tagging system """
+ """The Gnu Global tagging system"""
homepage = "https://www.gnu.org/software/global"
url = "http://tamacom.com/global/global-6.5.tar.gz"
- maintainers = ['gaber']
+ maintainers = ["gaber"]
- version('6.6.7', sha256='69a0f77f53827c5568176c1d382166df361e74263a047f0b3058aa2f2ad58a3c')
- version('6.6.6', sha256='758078afff98d4c051c58785c7ada3ed1977fabb77f8897ff657b71cc62d4d5d')
- version('6.6.4', sha256='987e8cb956c53f8ebe4453b778a8fde2037b982613aba7f3e8e74bcd05312594')
- version('6.5', sha256='4afd12db1aa600277b39113cc2d61dc59bd6c6b4ee8033da8bb6dd0c39a4c6a9')
+ version("6.6.7", sha256="69a0f77f53827c5568176c1d382166df361e74263a047f0b3058aa2f2ad58a3c")
+ version("6.6.6", sha256="758078afff98d4c051c58785c7ada3ed1977fabb77f8897ff657b71cc62d4d5d")
+ version("6.6.4", sha256="987e8cb956c53f8ebe4453b778a8fde2037b982613aba7f3e8e74bcd05312594")
+ version("6.5", sha256="4afd12db1aa600277b39113cc2d61dc59bd6c6b4ee8033da8bb6dd0c39a4c6a9")
- depends_on('exuberant-ctags', type=('build', 'run'))
- depends_on('ncurses')
+ depends_on("exuberant-ctags", type=("build", "run"))
+ depends_on("ncurses")
def install(self, spec, prefix):
- config_args = ['--prefix={0}'.format(prefix)]
+ config_args = ["--prefix={0}".format(prefix)]
- config_args.append('--with-exuberant-ctags={0}'.format(
- os.path.join(spec['exuberant-ctags'].prefix.bin, 'ctags')))
+ config_args.append(
+ "--with-exuberant-ctags={0}".format(
+ os.path.join(spec["exuberant-ctags"].prefix.bin, "ctags")
+ )
+ )
configure(*config_args)
diff --git a/var/spack/repos/builtin/packages/globalarrays/package.py b/var/spack/repos/builtin/packages/globalarrays/package.py
index a0e60fb600..b171c2264c 100644
--- a/var/spack/repos/builtin/packages/globalarrays/package.py
+++ b/var/spack/repos/builtin/packages/globalarrays/package.py
@@ -19,52 +19,56 @@ class Globalarrays(AutotoolsPackage):
homepage = "https://hpc.pnl.gov/globalarrays/"
url = "https://github.com/GlobalArrays/ga/releases/download/v5.7/ga-5.7.tar.gz"
- tags = ['e4s']
-
- version('5.8', sha256='64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac')
- version('5.7.2', sha256='8cd0fcfd85bc7f9c168c831616f66f1e8b9b2ca31dc7dd93cc55b27cc7fe7069')
- version('5.7.1', sha256='aa4c6038d792cabf1766e264320da58a555da81a3a36be32b7c4d3e71c08ffa9')
- version('5.7', sha256='3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774')
- version('5.6.5', sha256='17a7111dfe67d44cf0888c7b79abd48bf4968874f26b3f16cce9fd04e2c72bb9')
- version('5.6.4', sha256='3daf742053502755c0b581041a56f8f7086af05980c7146d194b0fd6526ee14f')
- version('5.6.3', sha256='e8818825d4f72c8433f416a9ae2bba203a521e9bc73d80f96c2250deaef4bc40')
- version('5.6.2', sha256='3eb1c92d41235f3386e0215f04aaab1aae30a2bce191f9fb6436b2cd8b9544ba')
- version('5.6.1', sha256='b324deed49f930f55203e1d18294ce07dd02680b9ac0728ebc54f94a12557ebc')
- version('5.6', sha256='a228dfbae9a6cfaae34694d7e56f589ac758e959b58f4bc49e6ef44058096767')
-
- variant('scalapack', default=False, description='Enable SCALAPACK')
- variant('armci', values=('mpi-ts', 'mpi-pr', 'mpi3', 'openib', 'ofi'),
- default='mpi-ts', description='ARMCI runtime')
-
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
-
- depends_on('scalapack', when='+scalapack')
+ tags = ["e4s"]
+
+ version("5.8", sha256="64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac")
+ version("5.7.2", sha256="8cd0fcfd85bc7f9c168c831616f66f1e8b9b2ca31dc7dd93cc55b27cc7fe7069")
+ version("5.7.1", sha256="aa4c6038d792cabf1766e264320da58a555da81a3a36be32b7c4d3e71c08ffa9")
+ version("5.7", sha256="3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774")
+ version("5.6.5", sha256="17a7111dfe67d44cf0888c7b79abd48bf4968874f26b3f16cce9fd04e2c72bb9")
+ version("5.6.4", sha256="3daf742053502755c0b581041a56f8f7086af05980c7146d194b0fd6526ee14f")
+ version("5.6.3", sha256="e8818825d4f72c8433f416a9ae2bba203a521e9bc73d80f96c2250deaef4bc40")
+ version("5.6.2", sha256="3eb1c92d41235f3386e0215f04aaab1aae30a2bce191f9fb6436b2cd8b9544ba")
+ version("5.6.1", sha256="b324deed49f930f55203e1d18294ce07dd02680b9ac0728ebc54f94a12557ebc")
+ version("5.6", sha256="a228dfbae9a6cfaae34694d7e56f589ac758e959b58f4bc49e6ef44058096767")
+
+ variant("scalapack", default=False, description="Enable SCALAPACK")
+ variant(
+ "armci",
+ values=("mpi-ts", "mpi-pr", "mpi3", "openib", "ofi"),
+ default="mpi-ts",
+ description="ARMCI runtime",
+ )
+
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+
+ depends_on("scalapack", when="+scalapack")
# See release https://github.com/GlobalArrays/ga/releases/tag/v5.7.1
- conflicts('%gcc@10:', when='@5.7')
- conflicts('%gcc@10:', when='@:5.6.5')
+ conflicts("%gcc@10:", when="@5.7")
+ conflicts("%gcc@10:", when="@:5.6.5")
@property
def build_directory(self):
- return os.path.join(str(self.stage.source_path), '..', 'spack-build')
+ return os.path.join(str(self.stage.source_path), "..", "spack-build")
def configure_args(self):
- blas_flags = self.spec['blas'].libs.ld_flags
- lapack_libs = self.spec['lapack'].libs.ld_flags
+ blas_flags = self.spec["blas"].libs.ld_flags
+ lapack_libs = self.spec["lapack"].libs.ld_flags
args = [
- '--enable-shared',
- '--with-mpi',
- '--with-blas={0}'.format(blas_flags),
- '--with-lapack={0}'.format(lapack_libs),
+ "--enable-shared",
+ "--with-mpi",
+ "--with-blas={0}".format(blas_flags),
+ "--with-lapack={0}".format(lapack_libs),
]
- if '+scalapack' in self.spec:
- scalapack_libs = self.spec['scalapack'].libs.ld_flags
- args.append('--with-scalapack={0}'.format(scalapack_libs))
+ if "+scalapack" in self.spec:
+ scalapack_libs = self.spec["scalapack"].libs.ld_flags
+ args.append("--with-scalapack={0}".format(scalapack_libs))
- args.append('--with-' + self.spec.variants['armci'].value)
+ args.append("--with-" + self.spec.variants["armci"].value)
return args
diff --git a/var/spack/repos/builtin/packages/glog/package.py b/var/spack/repos/builtin/packages/glog/package.py
index 6c4942f807..5b08dd73ae 100644
--- a/var/spack/repos/builtin/packages/glog/package.py
+++ b/var/spack/repos/builtin/packages/glog/package.py
@@ -10,27 +10,35 @@ class Glog(Package):
"""C++ implementation of the Google logging module."""
homepage = "https://github.com/google/glog"
- url = "https://github.com/google/glog/archive/v0.3.5.tar.gz"
-
- version('0.4.0', sha256='f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c')
- version('0.3.5', sha256='7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0')
- version('0.3.4', sha256='ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10', deprecated=True)
- version('0.3.3', sha256='544e178644bd9b454768c2c91716c3b8365cc5d47adfbdbaecd8cf3fa17adfcb', deprecated=True)
-
- depends_on('gflags')
- depends_on('cmake', when="@0.3.5:", type='build')
+ url = "https://github.com/google/glog/archive/v0.3.5.tar.gz"
+
+ version("0.4.0", sha256="f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c")
+ version("0.3.5", sha256="7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0")
+ version(
+ "0.3.4",
+ sha256="ce99d58dce74458f7656a68935d7a0c048fa7b4626566a71b7f4e545920ceb10",
+ deprecated=True,
+ )
+ version(
+ "0.3.3",
+ sha256="544e178644bd9b454768c2c91716c3b8365cc5d47adfbdbaecd8cf3fa17adfcb",
+ deprecated=True,
+ )
+
+ depends_on("gflags")
+ depends_on("cmake", when="@0.3.5:", type="build")
def install(self, spec, prefix):
- configure('--prefix=%s' % prefix)
+ configure("--prefix=%s" % prefix)
make()
- make('install')
+ make("install")
- @when('@0.3.5:')
+ @when("@0.3.5:")
def install(self, spec, prefix):
- cmake_args = ['-DBUILD_SHARED_LIBS=TRUE']
+ cmake_args = ["-DBUILD_SHARED_LIBS=TRUE"]
cmake_args.extend(std_cmake_args)
- with working_dir('spack-build', create=True):
- cmake('..', *cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *cmake_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/gloo/package.py b/var/spack/repos/builtin/packages/gloo/package.py
index b52e4d4bc7..4d26fe6e50 100644
--- a/var/spack/repos/builtin/packages/gloo/package.py
+++ b/var/spack/repos/builtin/packages/gloo/package.py
@@ -10,25 +10,25 @@ class Gloo(CMakePackage, CudaPackage):
"""Gloo is a collective communications library."""
homepage = "https://github.com/facebookincubator/gloo"
- git = "https://github.com/facebookincubator/gloo.git"
-
- version('master', branch='master')
- version('2021-05-21', commit='c22a5cfba94edf8ea4f53a174d38aa0c629d070f') # py-torch@1.10:
- version('2021-05-04', commit='6f7095f6e9860ce4fd682a7894042e6eba0996f1') # py-torch@1.9
- version('2020-09-18', commit='3dc0328fe6a9d47bd47c0c6ca145a0d8a21845c6') # py-torch@1.7:1.8
- version('2020-03-17', commit='113bde13035594cafdca247be953610b53026553') # py-torch@1.5:1.6
- version('2019-11-05', commit='7c541247a6fa49e5938e304ab93b6da661823d0f') # py-torch@1.4
- version('2019-09-29', commit='ca528e32fea9ca8f2b16053cff17160290fc84ce') # py-torch@1.3
- version('2019-06-19', commit='46ae6ec2191a3cc297ab33d4edd43accc35df992') # py-torch@1.2
- version('2019-02-01', commit='670b4d4aa46886cc66874e2a4dc846f5cfc2a285') # py-torch@1.0.1:1.1
- version('2018-11-20', commit='cdeb59d5c82e5401445b4c051bb396f6738d4a19') # py-torch@1.0.0
- version('2018-05-29', commit='69eef748cc1dfbe0fefed69b34e6545495f67ac5') # py-torch@0.4.1
- version('2018-04-06', commit='aad0002fb40612e991390d8e807f247ed23f13c5') # py-torch@:0.4.0
-
- depends_on('cmake@2.8.12:', type='build')
- depends_on('ninja', type='build')
-
- generator = 'Ninja'
+ git = "https://github.com/facebookincubator/gloo.git"
+
+ version("master", branch="master")
+ version("2021-05-21", commit="c22a5cfba94edf8ea4f53a174d38aa0c629d070f") # py-torch@1.10:
+ version("2021-05-04", commit="6f7095f6e9860ce4fd682a7894042e6eba0996f1") # py-torch@1.9
+ version("2020-09-18", commit="3dc0328fe6a9d47bd47c0c6ca145a0d8a21845c6") # py-torch@1.7:1.8
+ version("2020-03-17", commit="113bde13035594cafdca247be953610b53026553") # py-torch@1.5:1.6
+ version("2019-11-05", commit="7c541247a6fa49e5938e304ab93b6da661823d0f") # py-torch@1.4
+ version("2019-09-29", commit="ca528e32fea9ca8f2b16053cff17160290fc84ce") # py-torch@1.3
+ version("2019-06-19", commit="46ae6ec2191a3cc297ab33d4edd43accc35df992") # py-torch@1.2
+ version("2019-02-01", commit="670b4d4aa46886cc66874e2a4dc846f5cfc2a285") # py-torch@1.0.1:1.1
+ version("2018-11-20", commit="cdeb59d5c82e5401445b4c051bb396f6738d4a19") # py-torch@1.0.0
+ version("2018-05-29", commit="69eef748cc1dfbe0fefed69b34e6545495f67ac5") # py-torch@0.4.1
+ version("2018-04-06", commit="aad0002fb40612e991390d8e807f247ed23f13c5") # py-torch@:0.4.0
+
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("ninja", type="build")
+
+ generator = "Ninja"
def cmake_args(self):
- return [self.define_from_variant('USE_CUDA', 'cuda')]
+ return [self.define_from_variant("USE_CUDA", "cuda")]
diff --git a/var/spack/repos/builtin/packages/glpk/package.py b/var/spack/repos/builtin/packages/glpk/package.py
index 8a2fddb778..0300e28a58 100644
--- a/var/spack/repos/builtin/packages/glpk/package.py
+++ b/var/spack/repos/builtin/packages/glpk/package.py
@@ -16,21 +16,19 @@ class Glpk(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/glpk"
gnu_mirror_path = "glpk/glpk-4.65.tar.gz"
- version('4.65', sha256='4281e29b628864dfe48d393a7bedd781e5b475387c20d8b0158f329994721a10')
- version('4.61', sha256='9866de41777782d4ce21da11b88573b66bb7858574f89c28be6967ac22dfaba9')
- version('4.57', sha256='7323b2a7cc1f13e45fc845f0fdca74f4daea2af716f5ad2d4d55b41e8394275c')
+ version("4.65", sha256="4281e29b628864dfe48d393a7bedd781e5b475387c20d8b0158f329994721a10")
+ version("4.61", sha256="9866de41777782d4ce21da11b88573b66bb7858574f89c28be6967ac22dfaba9")
+ version("4.57", sha256="7323b2a7cc1f13e45fc845f0fdca74f4daea2af716f5ad2d4d55b41e8394275c")
- variant(
- 'gmp', default=False, description='Activates support for GMP library'
- )
+ variant("gmp", default=False, description="Activates support for GMP library")
- depends_on('gmp', when='+gmp')
+ depends_on("gmp", when="+gmp")
def configure_args(self):
options = []
- if '+gmp' in self.spec:
- options.append('--with-gmp')
+ if "+gmp" in self.spec:
+ options.append("--with-gmp")
return options
diff --git a/var/spack/repos/builtin/packages/glproto/package.py b/var/spack/repos/builtin/packages/glproto/package.py
index 12c371da73..30a038f617 100644
--- a/var/spack/repos/builtin/packages/glproto/package.py
+++ b/var/spack/repos/builtin/packages/glproto/package.py
@@ -15,7 +15,7 @@ class Glproto(AutotoolsPackage, XorgPackage):
homepage = "https://www.x.org/wiki/"
xorg_mirror_path = "proto/glproto-1.4.17.tar.gz"
- version('1.4.17', sha256='9d8130fec2b98bd032db7730fa092dd9dec39f3de34f4bb03ceb43b9903dbc96')
+ version("1.4.17", sha256="9d8130fec2b98bd032db7730fa092dd9dec39f3de34f4bb03ceb43b9903dbc96")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/gluegen/package.py b/var/spack/repos/builtin/packages/gluegen/package.py
index 979e509a55..a528fcdc7f 100644
--- a/var/spack/repos/builtin/packages/gluegen/package.py
+++ b/var/spack/repos/builtin/packages/gluegen/package.py
@@ -10,64 +10,69 @@ from spack.package import *
class Gluegen(Package):
"""GlueGen is a tool which automatically generates the Java and JNI code
- necessary to call C libraries. """
+ necessary to call C libraries."""
homepage = "https://jogamp.org/gluegen/www/"
- git = "https://github.com/WadeWalker/gluegen.git"
+ git = "https://github.com/WadeWalker/gluegen.git"
- version('java-11-fixes', branch='java-11-fixes', submodules=True)
+ version("java-11-fixes", branch="java-11-fixes", submodules=True)
# ant optional jar file to execute antlr tasks
- resource(name='ant-optional', sha256='89ea82846b9ff4f4a5d51c7b5504e30462c64ddb990b014af5ded93b7d5e2b82',
- url='https://repo1.maven.org/maven2/ant/optional/1.5.4/optional-1.5.4.jar',
- placement='ant-optional', expand=False)
+ resource(
+ name="ant-optional",
+ sha256="89ea82846b9ff4f4a5d51c7b5504e30462c64ddb990b014af5ded93b7d5e2b82",
+ url="https://repo1.maven.org/maven2/ant/optional/1.5.4/optional-1.5.4.jar",
+ placement="ant-optional",
+ expand=False,
+ )
# source file of jogadm version cpptask to support Fujitsu compiler
- resource(name='cpptasks', git='http://jogamp.org/cgit/ant-cpptasks.git', when='%fj')
+ resource(name="cpptasks", git="http://jogamp.org/cgit/ant-cpptasks.git", when="%fj")
- depends_on('ant', type='build')
- depends_on('java@11', type=('build', 'run'))
+ depends_on("ant", type="build")
+ depends_on("java@11", type=("build", "run"))
# Change java library directory for java11
- patch('javalib.aarch64.patch', when='target=aarch64:')
+ patch("javalib.aarch64.patch", when="target=aarch64:")
# patch for build with Fujitsu Compiler
- patch('cpptasks.fj.patch', working_dir='ant-cpptasks', when='%fj')
+ patch("cpptasks.fj.patch", working_dir="ant-cpptasks", when="%fj")
- compiler_mapping = {'gcc': 'gcc', 'clang': 'clang', 'fj': 'fcc'}
+ compiler_mapping = {"gcc": "gcc", "clang": "clang", "fj": "fcc"}
def install(self, spec, prefix):
- ant = spec['ant'].command
+ ant = spec["ant"].command
cname = spec.compiler.name
- compiler = self.compiler_mapping.get(cname, 'gcc')
- antarg = ['-Dgcc.compat.compiler={0}'.format(compiler)]
+ compiler = self.compiler_mapping.get(cname, "gcc")
+ antarg = ["-Dgcc.compat.compiler={0}".format(compiler)]
- if self.spec.satisfies('%fj'):
- with working_dir('ant-cpptasks'):
+ if self.spec.satisfies("%fj"):
+ with working_dir("ant-cpptasks"):
ant()
- copy(join_path('ant-cpptasks', 'target', 'lib', 'cpptasks.jar'),
- join_path('make', 'lib'))
+ copy(
+ join_path("ant-cpptasks", "target", "lib", "cpptasks.jar"),
+ join_path("make", "lib"),
+ )
- with working_dir('make'):
+ with working_dir("make"):
ant(*antarg)
- install_tree('build', prefix.build)
- install(join_path('ant-optional', 'optional-1.5.4.jar'), prefix.build)
- install_tree('make', prefix.make)
- filter_file('..', prefix, join_path(prefix.make, 'build.xml'),
- string=True)
+ install_tree("build", prefix.build)
+ install(join_path("ant-optional", "optional-1.5.4.jar"), prefix.build)
+ install_tree("make", prefix.make)
+ filter_file("..", prefix, join_path(prefix.make, "build.xml"), string=True)
def setup_build_environment(self, env):
- env.prepend_path('CLASSPATH',
- join_path(self.stage.source_path,
- 'ant-optional', 'optional-1.5.4.jar'))
+ env.prepend_path(
+ "CLASSPATH", join_path(self.stage.source_path, "ant-optional", "optional-1.5.4.jar")
+ )
def setup_run_environment(self, env):
- class_paths = find(prefix.build, '*.jar')
+ class_paths = find(prefix.build, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
def setup_dependent_build_environment(self, env, dependent_spec):
- class_paths = find(prefix.build, '*.jar')
+ class_paths = find(prefix.build, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/glusterfs/package.py b/var/spack/repos/builtin/packages/glusterfs/package.py
index c797b3d086..0057e74cc8 100644
--- a/var/spack/repos/builtin/packages/glusterfs/package.py
+++ b/var/spack/repos/builtin/packages/glusterfs/package.py
@@ -12,34 +12,34 @@ class Glusterfs(AutotoolsPackage):
storage."""
homepage = "https://www.gluster.org/"
- url = "https://download.gluster.org/pub/gluster/glusterfs/7/7.3/glusterfs-7.3.tar.gz"
+ url = "https://download.gluster.org/pub/gluster/glusterfs/7/7.3/glusterfs-7.3.tar.gz"
list_url = "https://download.gluster.org/pub/gluster/glusterfs/"
list_depth = 2
- version('7.3', sha256='2401cc7c3f5488f6fc5ea09ce2ab30c918612f592571fb3de6124f8482ad4954')
- version('7.2', sha256='8e43614967b90d64495fbe2c52230dd72572ce219507fb48bc317b1c228a06e1')
- version('7.1', sha256='ffc5bd78b079009382bd01391865646bc9b2e8e72366afc96d62ba891dd9dbce')
- version('7.0', sha256='8a872518bf9bd4dc1568f45c716bcde09e3bf7abf5b156ea90405e0fc2e9f07b')
- version('6.8', sha256='41e855bdc456759c8c15ef494c636a25cc7b62c55ad132ecd55bec05df64793f')
- version('6.7', sha256='e237dd59a2d5b73e156b0b71df49ff64a143b3aaf8f0a65daaf369bb40f5e923')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('rpcsvc-proto')
- depends_on('acl')
- depends_on('uuid')
- depends_on('libtirpc')
- depends_on('userspace-rcu')
- depends_on('pkgconfig', type='build')
+ version("7.3", sha256="2401cc7c3f5488f6fc5ea09ce2ab30c918612f592571fb3de6124f8482ad4954")
+ version("7.2", sha256="8e43614967b90d64495fbe2c52230dd72572ce219507fb48bc317b1c228a06e1")
+ version("7.1", sha256="ffc5bd78b079009382bd01391865646bc9b2e8e72366afc96d62ba891dd9dbce")
+ version("7.0", sha256="8a872518bf9bd4dc1568f45c716bcde09e3bf7abf5b156ea90405e0fc2e9f07b")
+ version("6.8", sha256="41e855bdc456759c8c15ef494c636a25cc7b62c55ad132ecd55bec05df64793f")
+ version("6.7", sha256="e237dd59a2d5b73e156b0b71df49ff64a143b3aaf8f0a65daaf369bb40f5e923")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("rpcsvc-proto")
+ depends_on("acl")
+ depends_on("uuid")
+ depends_on("libtirpc")
+ depends_on("userspace-rcu")
+ depends_on("pkgconfig", type="build")
def url_for_version(self, version):
- url = 'https://download.gluster.org/pub/gluster/glusterfs/{0}/{1}/glusterfs-{1}.tar.gz'
+ url = "https://download.gluster.org/pub/gluster/glusterfs/{0}/{1}/glusterfs-{1}.tar.gz"
return url.format(version.up_to(1), version)
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/glvis/package.py b/var/spack/repos/builtin/packages/glvis/package.py
index da47ea1a7d..7c1292a4a8 100644
--- a/var/spack/repos/builtin/packages/glvis/package.py
+++ b/var/spack/repos/builtin/packages/glvis/package.py
@@ -10,10 +10,10 @@ class Glvis(MakefilePackage):
"""GLVis: an OpenGL tool for visualization of FEM meshes and functions"""
homepage = "https://glvis.org"
- git = "https://github.com/glvis/glvis.git"
- tags = ['radiuss']
+ git = "https://github.com/glvis/glvis.git"
+ tags = ["radiuss"]
- maintainers = ['goxberry', 'v-dobrev', 'tzanio', 'tomstitt']
+ maintainers = ["goxberry", "v-dobrev", "tzanio", "tomstitt"]
# glvis (like mfem) is downloaded from a URL shortener at request
# of upstream author Tzanio Kolev <tzanio@llnl.gov>. See here:
@@ -37,131 +37,157 @@ class Glvis(MakefilePackage):
# glvis does not need mfem+mpi but will build that by default, to just build
# a serial mfem: `spack install glvis ^mfem~mpi~metis'
- version('develop', branch='master')
-
- version('4.0',
- sha256='68331eaea8b93968ed6bf395388c2730b27bbcb4b7809ce44277726edccd9f08',
- url='https://bit.ly/glvis-4-0',
- extension='.tar.gz')
-
- version('3.4',
- sha256='289fbd2e09d4456e5fee6162bdc3e0b4c8c8d54625f3547ad2a69fef319279e7',
- url='https://bit.ly/glvis-3-4',
- extension='.tar.gz')
-
- version('3.3',
- sha256='e24d7c5cb53f208b691c872fe82ea898242cfdc0fd68dd0579c739e070dcd800',
- url='http://goo.gl/C0Oadw',
- extension='.tar.gz')
-
- version('3.2',
- sha256='c82cb110396e63b6436a770c55eb6d578441eaeaf3f9cc20436c242392e44e80',
- url='http://goo.gl/hzupg1',
- extension='.tar.gz')
-
- version('3.1',
- sha256='793e984ddfbf825dcd13dfe1ca00eccd686cd40ad30c8789ba80ee175a1b488c',
- url='http://goo.gl/gQZuu9',
- extension='tar.gz')
-
- variant('screenshots',
- default='png',
- values=('xwd', 'png', 'tiff'),
- description='Backend used for screenshots')
- variant('fonts', default=True,
- description='Use antialiased fonts via freetype & fontconfig')
-
- depends_on('mfem@develop', when='@develop')
- depends_on('mfem@4.0.0:', when='@4.0')
- depends_on('mfem@3.4.0', when='@3.4')
- depends_on('mfem@3.3', when='@3.3')
- depends_on('mfem@3.2', when='@3.2')
- depends_on('mfem@3.1', when='@3.1')
-
- depends_on('gl')
- depends_on('glu')
- depends_on('libx11', when='@:3.5')
-
- depends_on('sdl2', when='@4.0:,develop')
- depends_on('glm', when='@4.0:,develop')
- depends_on('glew', when='@4.0:,develop')
-
- depends_on('libpng', when='screenshots=png')
- depends_on('libtiff', when='screenshots=tiff')
- depends_on('freetype', when='+fonts')
- depends_on('freetype', when='@4.0:,develop')
- depends_on('fontconfig', when='+fonts')
- depends_on('fontconfig', when='@4.0:,develop')
-
- depends_on('uuid', when='platform=linux')
+ version("develop", branch="master")
+
+ version(
+ "4.0",
+ sha256="68331eaea8b93968ed6bf395388c2730b27bbcb4b7809ce44277726edccd9f08",
+ url="https://bit.ly/glvis-4-0",
+ extension=".tar.gz",
+ )
+
+ version(
+ "3.4",
+ sha256="289fbd2e09d4456e5fee6162bdc3e0b4c8c8d54625f3547ad2a69fef319279e7",
+ url="https://bit.ly/glvis-3-4",
+ extension=".tar.gz",
+ )
+
+ version(
+ "3.3",
+ sha256="e24d7c5cb53f208b691c872fe82ea898242cfdc0fd68dd0579c739e070dcd800",
+ url="http://goo.gl/C0Oadw",
+ extension=".tar.gz",
+ )
+
+ version(
+ "3.2",
+ sha256="c82cb110396e63b6436a770c55eb6d578441eaeaf3f9cc20436c242392e44e80",
+ url="http://goo.gl/hzupg1",
+ extension=".tar.gz",
+ )
+
+ version(
+ "3.1",
+ sha256="793e984ddfbf825dcd13dfe1ca00eccd686cd40ad30c8789ba80ee175a1b488c",
+ url="http://goo.gl/gQZuu9",
+ extension="tar.gz",
+ )
+
+ variant(
+ "screenshots",
+ default="png",
+ values=("xwd", "png", "tiff"),
+ description="Backend used for screenshots",
+ )
+ variant("fonts", default=True, description="Use antialiased fonts via freetype & fontconfig")
+
+ depends_on("mfem@develop", when="@develop")
+ depends_on("mfem@4.0.0:", when="@4.0")
+ depends_on("mfem@3.4.0", when="@3.4")
+ depends_on("mfem@3.3", when="@3.3")
+ depends_on("mfem@3.2", when="@3.2")
+ depends_on("mfem@3.1", when="@3.1")
+
+ depends_on("gl")
+ depends_on("glu")
+ depends_on("libx11", when="@:3.5")
+
+ depends_on("sdl2", when="@4.0:,develop")
+ depends_on("glm", when="@4.0:,develop")
+ depends_on("glew", when="@4.0:,develop")
+
+ depends_on("libpng", when="screenshots=png")
+ depends_on("libtiff", when="screenshots=tiff")
+ depends_on("freetype", when="+fonts")
+ depends_on("freetype", when="@4.0:,develop")
+ depends_on("fontconfig", when="+fonts")
+ depends_on("fontconfig", when="@4.0:,develop")
+
+ depends_on("uuid", when="platform=linux")
def edit(self, spec, prefix):
-
def yes_no(s):
- return 'YES' if self.spec.satisfies(s) else 'NO'
+ return "YES" if self.spec.satisfies(s) else "NO"
- mfem = spec['mfem']
+ mfem = spec["mfem"]
config_mk = mfem.package.config_mk
- args = ['CC={0}'.format(env['CC']),
- 'PREFIX={0}'.format(prefix.bin),
- 'MFEM_DIR={0}'.format(mfem.prefix),
- 'CONFIG_MK={0}'.format(config_mk)]
-
- png_args = ['PNG_OPTS=-DGLVIS_USE_LIBPNG -I{0}'.format(
- spec['libpng'].prefix.include),
- 'PNG_LIBS={0}'.format(
- spec['libpng'].libs.ld_flags)] if 'screenshots=png' in spec else []
-
- tiff_args = ['TIFF_OPTS=-DGLVIS_USE_LIBTIFF -I{0}'.format(
- spec['libtiff'].prefix.include),
- 'TIFF_LIBS={0}'.format(
- spec['libtiff'].libs.ld_flags)] if 'screenshots=tiff' in spec else []
+ args = [
+ "CC={0}".format(env["CC"]),
+ "PREFIX={0}".format(prefix.bin),
+ "MFEM_DIR={0}".format(mfem.prefix),
+ "CONFIG_MK={0}".format(config_mk),
+ ]
+
+ png_args = (
+ [
+ "PNG_OPTS=-DGLVIS_USE_LIBPNG -I{0}".format(spec["libpng"].prefix.include),
+ "PNG_LIBS={0}".format(spec["libpng"].libs.ld_flags),
+ ]
+ if "screenshots=png" in spec
+ else []
+ )
+
+ tiff_args = (
+ [
+ "TIFF_OPTS=-DGLVIS_USE_LIBTIFF -I{0}".format(spec["libtiff"].prefix.include),
+ "TIFF_LIBS={0}".format(spec["libtiff"].libs.ld_flags),
+ ]
+ if "screenshots=tiff" in spec
+ else []
+ )
if "@4.0:" in spec or "@develop" in spec:
# TODO: glu and fontconfig dirs
- args += ['GLM_DIR={0}'.format(spec['glm'].prefix),
- 'SDL_DIR={0}'.format(spec['sdl2'].prefix),
- 'GLEW_DIR={0}'.format(spec['glew'].prefix),
- 'FREETYPE_DIR={0}'.format(spec['freetype'].prefix),
- 'OPENGL_DIR={0}'.format(spec['gl'].home)]
-
- if 'screenshots=png' in spec:
- args += ['GLVIS_USE_LIBPNG=YES', 'GLVIS_USE_LIBTIFF=NO']
+ args += [
+ "GLM_DIR={0}".format(spec["glm"].prefix),
+ "SDL_DIR={0}".format(spec["sdl2"].prefix),
+ "GLEW_DIR={0}".format(spec["glew"].prefix),
+ "FREETYPE_DIR={0}".format(spec["freetype"].prefix),
+ "OPENGL_DIR={0}".format(spec["gl"].home),
+ ]
+
+ if "screenshots=png" in spec:
+ args += ["GLVIS_USE_LIBPNG=YES", "GLVIS_USE_LIBTIFF=NO"]
args.extend(png_args)
- elif 'screenshots=tiff' in spec:
- args += ['GLVIS_USE_LIBPNG=NO', 'GLVIS_USE_LIBTIFF=YES']
+ elif "screenshots=tiff" in spec:
+ args += ["GLVIS_USE_LIBPNG=NO", "GLVIS_USE_LIBTIFF=YES"]
args.extend(tiff_args)
else:
- args += ['GLVIS_USE_LIBPNG=NO', 'GLVIS_USE_LIBTIFF=NO']
+ args += ["GLVIS_USE_LIBPNG=NO", "GLVIS_USE_LIBTIFF=NO"]
else:
- gl_libs = spec['glu'].libs + spec['gl'].libs + spec['libx11'].libs
-
- args += ['GL_OPTS=-I{0} -I{1} -I{2}'.format(
- spec['libx11'].prefix.include,
- spec['gl'].home.include,
- spec['glu'].prefix.include),
- 'GL_LIBS={0}'.format(gl_libs.ld_flags)]
-
- if 'screenshots=png' in spec:
- args += ['USE_LIBPNG=YES', 'USE_LIBTIFF=NO']
+ gl_libs = spec["glu"].libs + spec["gl"].libs + spec["libx11"].libs
+
+ args += [
+ "GL_OPTS=-I{0} -I{1} -I{2}".format(
+ spec["libx11"].prefix.include,
+ spec["gl"].home.include,
+ spec["glu"].prefix.include,
+ ),
+ "GL_LIBS={0}".format(gl_libs.ld_flags),
+ ]
+
+ if "screenshots=png" in spec:
+ args += ["USE_LIBPNG=YES", "USE_LIBTIFF=NO"]
args.extend(png_args)
- elif 'screenshots=tiff' in spec:
- args += ['USE_LIBPNG=NO', 'USE_LIBTIFF=YES']
+ elif "screenshots=tiff" in spec:
+ args += ["USE_LIBPNG=NO", "USE_LIBTIFF=YES"]
args.extend(tiff_args)
else:
- args += ['USE_LIBPNG=NO', 'USE_LIBTIFF=NO']
+ args += ["USE_LIBPNG=NO", "USE_LIBTIFF=NO"]
- args.append('USE_FREETYPE={0}'.format(yes_no('+fonts')))
- if '+fonts' in spec:
+ args.append("USE_FREETYPE={0}".format(yes_no("+fonts")))
+ if "+fonts" in spec:
args += [
- 'FT_OPTS=-DGLVIS_USE_FREETYPE {0} -I{1}'.format(
- spec['freetype'].headers.include_flags,
- spec['fontconfig'].prefix.include),
- 'FT_LIBS={0} {1}'.format(
- spec['freetype'].libs.ld_flags,
- spec['fontconfig'].libs.ld_flags)]
+ "FT_OPTS=-DGLVIS_USE_FREETYPE {0} -I{1}".format(
+ spec["freetype"].headers.include_flags, spec["fontconfig"].prefix.include
+ ),
+ "FT_LIBS={0} {1}".format(
+ spec["freetype"].libs.ld_flags, spec["fontconfig"].libs.ld_flags
+ ),
+ ]
self.build_targets = args
self.install_targets += args
diff --git a/var/spack/repos/builtin/packages/glx/package.py b/var/spack/repos/builtin/packages/glx/package.py
index bd145b71cb..d6f32c41ae 100644
--- a/var/spack/repos/builtin/packages/glx/package.py
+++ b/var/spack/repos/builtin/packages/glx/package.py
@@ -8,31 +8,30 @@ from spack.package import *
class Glx(BundlePackage):
"""Shim package for the GLX library."""
- homepage = 'https://www.khronos.org/registry/OpenGL/index_gl.php'
- version('1.4')
+ homepage = "https://www.khronos.org/registry/OpenGL/index_gl.php"
- depends_on('libglx')
- provides('gl@4.5')
+ version("1.4")
+
+ depends_on("libglx")
+ provides("gl@4.5")
@property
def home(self):
- return self.spec['libglx'].home
+ return self.spec["libglx"].home
@property
def headers(self):
- return self.spec['libglx'].headers
+ return self.spec["libglx"].headers
@property
def libs(self):
- return self.spec['libglx'].libs
+ return self.spec["libglx"].libs
@property
def gl_headers(self):
- return find_headers('GL/gl',
- root=self.gl_home,
- recursive=True)
+ return find_headers("GL/gl", root=self.gl_home, recursive=True)
@property
def gl_libs(self):
- return self.spec['libglx'].libs
+ return self.spec["libglx"].libs
diff --git a/var/spack/repos/builtin/packages/gmake/package.py b/var/spack/repos/builtin/packages/gmake/package.py
index 9e85aa6317..fe408e9e4e 100644
--- a/var/spack/repos/builtin/packages/gmake/package.py
+++ b/var/spack/repos/builtin/packages/gmake/package.py
@@ -15,49 +15,59 @@ class Gmake(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/make/"
gnu_mirror_path = "make/make-4.2.1.tar.gz"
- version('4.3', sha256='e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19')
- version('4.2.1', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7')
- version('4.0', sha256='fc42139fb0d4b4291929788ebaf77e2a4de7eaca95e31f3634ef7d4932051f69')
+ version("4.3", sha256="e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19")
+ version("4.2.1", sha256="e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
+ version("4.0", sha256="fc42139fb0d4b4291929788ebaf77e2a4de7eaca95e31f3634ef7d4932051f69")
- variant('guile', default=False, description='Support GNU Guile for embedded scripting')
- variant('nls', default=True, description='Enable Native Language Support')
+ variant("guile", default=False, description="Support GNU Guile for embedded scripting")
+ variant("nls", default=True, description="Enable Native Language Support")
- depends_on('gettext', when='+nls')
- depends_on('guile', when='+guile')
+ depends_on("gettext", when="+nls")
+ depends_on("guile", when="+guile")
- depends_on('texinfo', type='build')
+ depends_on("texinfo", type="build")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- patch('https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-2.patch', level=1, sha256='fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125', when='@4.2.1')
- patch('https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-3.patch', level=1, sha256='ca60bd9c1a1b35bc0dc58b6a4a19d5c2651f7a94a4b22b2c5ea001a1ca7a8a7f', when='@:4.2.1')
+ patch(
+ "https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-2.patch",
+ level=1,
+ sha256="fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125",
+ when="@4.2.1",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/make/raw/519a7c5bcbead22e6ea2d2c2341d981ef9e25c0d/f/make-4.2.1-glob-fix-3.patch",
+ level=1,
+ sha256="ca60bd9c1a1b35bc0dc58b6a4a19d5c2651f7a94a4b22b2c5ea001a1ca7a8a7f",
+ when="@:4.2.1",
+ )
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^g?make$']
+ executables = ["^g?make$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU Make (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU Make (\S+)", output)
return match.group(1) if match else None
def configure_args(self):
args = []
- if '+guile' in self.spec:
- args.append('--with-guile')
+ if "+guile" in self.spec:
+ args.append("--with-guile")
else:
- args.append('--without-guile')
+ args.append("--without-guile")
- if '+nls' in self.spec:
- args.append('--enable-nls')
+ if "+nls" in self.spec:
+ args.append("--enable-nls")
else:
- args.append('--disable-nls')
+ args.append("--disable-nls")
return args
- @run_after('install')
+ @run_after("install")
def symlink_gmake(self):
with working_dir(self.prefix.bin):
- symlink('make', 'gmake')
+ symlink("make", "gmake")
diff --git a/var/spack/repos/builtin/packages/gmap-gsnap/package.py b/var/spack/repos/builtin/packages/gmap-gsnap/package.py
index 0223167767..2839dd761f 100644
--- a/var/spack/repos/builtin/packages/gmap-gsnap/package.py
+++ b/var/spack/repos/builtin/packages/gmap-gsnap/package.py
@@ -8,52 +8,69 @@ from spack.package import *
class GmapGsnap(AutotoolsPackage):
"""GMAP: A Genomic Mapping and Alignment Program for
- mRNA and EST Sequences, and GSNAP: Genomic Short-read
- Nucleotide Alignment Program"""
+ mRNA and EST Sequences, and GSNAP: Genomic Short-read
+ Nucleotide Alignment Program"""
homepage = "http://research-pub.gene.com/gmap/"
- url = "http://research-pub.gene.com/gmap/src/gmap-gsnap-2017-06-16.tar.gz"
+ url = "http://research-pub.gene.com/gmap/src/gmap-gsnap-2017-06-16.tar.gz"
- version('2021-03-08', sha256='00de0e945b86bcbda50df94c68a61957f3783e232cce466fcd5f8d3a55398aa2')
- version('2020-06-01', sha256='7917f9f78570943f419445e371f2cc948c6741e73c3cbb063391756f4479d365')
- version('2019-05-12', sha256='3dc1b6ee4f6c049c07bcf4a5aba30eb2d732997241cdcad818dab571719f8008')
- version('2019-02-15', sha256='7e82b9867a1e561b4816fb2f2fb916294077c384c6a88bb94cce39bfe71ab3ac')
- version('2018-07-04', sha256='a9f8c1f0810df65b2a089dc10be79611026f4c95e4681dba98fea3d55d598d24')
- version('2018-03-25', sha256='a65bae6115fc50916ad7425d0b5873b611c002690bf35026bfcfc41ee0c0265a')
- version('2018-02-12', sha256='5dedddab7f08f9924a995332ebc7bdbe2621fcd67021690707c876d865091fcc')
- version('2017-06-16', sha256='2a277a6d45cade849be3bfb7b0f69f61ab79744af821a88eb1d599b32f358f8d')
- version('2014-12-28', sha256='108433f3e3ea89b8117c8bb36d396913225caf1261d46ce6d89709ff1b44025d')
+ version(
+ "2021-03-08", sha256="00de0e945b86bcbda50df94c68a61957f3783e232cce466fcd5f8d3a55398aa2"
+ )
+ version(
+ "2020-06-01", sha256="7917f9f78570943f419445e371f2cc948c6741e73c3cbb063391756f4479d365"
+ )
+ version(
+ "2019-05-12", sha256="3dc1b6ee4f6c049c07bcf4a5aba30eb2d732997241cdcad818dab571719f8008"
+ )
+ version(
+ "2019-02-15", sha256="7e82b9867a1e561b4816fb2f2fb916294077c384c6a88bb94cce39bfe71ab3ac"
+ )
+ version(
+ "2018-07-04", sha256="a9f8c1f0810df65b2a089dc10be79611026f4c95e4681dba98fea3d55d598d24"
+ )
+ version(
+ "2018-03-25", sha256="a65bae6115fc50916ad7425d0b5873b611c002690bf35026bfcfc41ee0c0265a"
+ )
+ version(
+ "2018-02-12", sha256="5dedddab7f08f9924a995332ebc7bdbe2621fcd67021690707c876d865091fcc"
+ )
+ version(
+ "2017-06-16", sha256="2a277a6d45cade849be3bfb7b0f69f61ab79744af821a88eb1d599b32f358f8d"
+ )
+ version(
+ "2014-12-28", sha256="108433f3e3ea89b8117c8bb36d396913225caf1261d46ce6d89709ff1b44025d"
+ )
- depends_on('zlib')
- depends_on('bzip2')
+ depends_on("zlib")
+ depends_on("bzip2")
variant(
- 'simd',
- description='CPU support.',
- values=('avx2', 'sse42', 'avx512', 'sse2'),
+ "simd",
+ description="CPU support.",
+ values=("avx2", "sse42", "avx512", "sse2"),
multi=True,
- default='sse2'
+ default="sse2",
)
def configure(self, spec, prefix):
- configure = Executable('../configure')
+ configure = Executable("../configure")
- for simd in spec.variants['simd'].value:
+ for simd in spec.variants["simd"].value:
with working_dir(simd, create=True):
- configure('--with-simd-level={0}'.format(simd),
- '--prefix={0}'.format(prefix))
+ configure("--with-simd-level={0}".format(simd), "--prefix={0}".format(prefix))
def build(self, spec, prefix):
- for simd in spec.variants['simd'].value:
+ for simd in spec.variants["simd"].value:
with working_dir(simd):
make()
def check(self):
- for simd in self.spec.variants['simd'].value:
+ for simd in self.spec.variants["simd"].value:
with working_dir(simd):
- make('check')
+ make("check")
def install(self, spec, prefix):
- for simd in spec.variants['simd'].value:
+ for simd in spec.variants["simd"].value:
with working_dir(simd):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/gmime/package.py b/var/spack/repos/builtin/packages/gmime/package.py
index c18891a350..1180e67a28 100644
--- a/var/spack/repos/builtin/packages/gmime/package.py
+++ b/var/spack/repos/builtin/packages/gmime/package.py
@@ -12,9 +12,9 @@ class Gmime(AutotoolsPackage):
"""
homepage = "http://spruce.sourceforge.net/gmime/"
- url = "https://download.gnome.org/sources/gmime/2.6/gmime-2.6.23.tar.xz"
+ url = "https://download.gnome.org/sources/gmime/2.6/gmime-2.6.23.tar.xz"
- version('2.6.23', sha256='7149686a71ca42a1390869b6074815106b061aaeaaa8f2ef8c12c191d9a79f6a')
+ version("2.6.23", sha256="7149686a71ca42a1390869b6074815106b061aaeaaa8f2ef8c12c191d9a79f6a")
- depends_on('glib@2.18.0:')
- depends_on('libgpg-error')
+ depends_on("glib@2.18.0:")
+ depends_on("libgpg-error")
diff --git a/var/spack/repos/builtin/packages/gmodel/package.py b/var/spack/repos/builtin/packages/gmodel/package.py
index 20d398edd8..b4a401c3ab 100644
--- a/var/spack/repos/builtin/packages/gmodel/package.py
+++ b/var/spack/repos/builtin/packages/gmodel/package.py
@@ -9,17 +9,18 @@ from spack.package import *
class Gmodel(CMakePackage):
"""Gmsh model generation library
- Gmodel is a C++11 library that implements a minimal CAD kernel based
- on the .geo format used by the Gmsh mesh generation code, and is
- designed to make it easier for users to quickly construct CAD models
- for Gmsh.
+ Gmodel is a C++11 library that implements a minimal CAD kernel based
+ on the .geo format used by the Gmsh mesh generation code, and is
+ designed to make it easier for users to quickly construct CAD models
+ for Gmsh.
"""
+
homepage = "https://github.com/ibaned/gmodel"
- url = "https://github.com/ibaned/gmodel/archive/v2.1.0.tar.gz"
+ url = "https://github.com/ibaned/gmodel/archive/v2.1.0.tar.gz"
- version('2.1.0', sha256='80df0c6dc413a9ffa0f0e7b65118b05b643ba3e1bfcac28fb91d2d3ad017fda0')
+ version("2.1.0", sha256="80df0c6dc413a9ffa0f0e7b65118b05b643ba3e1bfcac28fb91d2d3ad017fda0")
# fix error [-Werror,-Wzero-as-null-pointer-constant]
# fix error [-Werror,-Wunused-template]
# Ref: https://github.com/ibaned/gmodel/commit/6b81ec190cf2ce9a6554a99cb6d759b023393cdd
- patch('fix_gmodel.cpp.patch')
+ patch("fix_gmodel.cpp.patch")
diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py
index bb097bb4a4..9ef7cc76ae 100644
--- a/var/spack/repos/builtin/packages/gmp/package.py
+++ b/var/spack/repos/builtin/packages/gmp/package.py
@@ -13,23 +13,28 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://gmplib.org"
gnu_mirror_path = "gmp/gmp-6.1.2.tar.bz2"
- version('6.2.1', sha256='eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c')
- version('6.2.0', sha256='f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea')
- version('6.1.2', sha256='5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2')
- version('6.1.1', sha256='a8109865f2893f1373b0a8ed5ff7429de8db696fc451b1036bd7bdf95bbeffd6')
- version('6.1.0', sha256='498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8')
- version('6.0.0a', sha256='7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf')
- version('5.1.3', sha256='752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160')
+ version("6.2.1", sha256="eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c")
+ version("6.2.0", sha256="f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea")
+ version("6.1.2", sha256="5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2")
+ version("6.1.1", sha256="a8109865f2893f1373b0a8ed5ff7429de8db696fc451b1036bd7bdf95bbeffd6")
+ version("6.1.0", sha256="498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8")
+ version("6.0.0a", sha256="7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf")
+ version("5.1.3", sha256="752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160")
# Old version needed for a binary package in ghc-bootstrap
- version('4.3.2', sha256='936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775')
+ version("4.3.2", sha256="936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
# gmp's configure script seems to be broken; it sometimes misdetects
# shared library support. Regenerating it fixes the issue.
@@ -38,16 +43,16 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage):
def flag_handler(self, name, flags):
# Work around macOS Catalina / Xcode 11 code generation bug
# (test failure t-toom53, due to wrong code in mpn/toom53_mul.o)
- if self.spec.satisfies('os=catalina') and name == 'cflags':
- flags.append('-fno-stack-check')
+ if self.spec.satisfies("os=catalina") and name == "cflags":
+ flags.append("-fno-stack-check")
# This flag is necessary for the Intel build to pass `make check`
- elif self.spec.satisfies('%intel') and name == 'cxxflags':
- flags.append('-no-ftz')
+ elif self.spec.satisfies("%intel") and name == "cxxflags":
+ flags.append("-no-ftz")
return (flags, None, None)
def configure_args(self):
- args = ['--enable-cxx']
- args += self.enable_or_disable('libs')
- if 'libs=static' in self.spec:
- args.append('--with-pic')
+ args = ["--enable-cxx"]
+ args += self.enable_or_disable("libs")
+ if "libs=static" in self.spec:
+ args.append("--with-pic")
return args
diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py
index 6bb3cfad16..5f8166b2d8 100644
--- a/var/spack/repos/builtin/packages/gmsh/package.py
+++ b/var/spack/repos/builtin/packages/gmsh/package.py
@@ -16,160 +16,161 @@ class Gmsh(CMakePackage):
files using Gmsh's own scripting language.
"""
- homepage = 'https://gmsh.info'
- url = 'https://gmsh.info/src/gmsh-4.4.1-source.tgz'
- git = 'https://gitlab.onelab.info/gmsh/gmsh.git'
-
- version('master', branch='master')
- version('4.10.3', sha256='a87d59ccea596d493d375b0d6bc380079a5e5a4baebf0d3383018b0cd6bd8e33')
- version('4.8.4', sha256='760dbdc072eaa3c82d066c5ba3b06eacdd3304eb2a97373fe4ada9509f0b6ace')
- version('4.7.1', sha256='c984c295116c757ed165d77149bd5fdd1068cbd7835e9bcd077358b503891c6a')
- version('4.7.0', sha256='e27f32f92b374ba2a746a9d9c496401c13f66ac6e3e70753e16fa4012d14320e')
- version('4.6.0', sha256='0f2c55e50fb6c478ebc8977f6341c223754cbf3493b7b0d683b4395ae9f2ad1c')
- version('4.5.6', sha256='46eaeb0cdee5822fdaa4b15f92d8d160a8cc90c4565593cfa705de90df2a463f')
- version('4.5.5', sha256='899d3cded664124fa387da57b6f170f47a7e712c7744aa3562779897e2b9e251')
- version('4.5.4', sha256='ccf8c74f43cbe3c371abe79862025d41642b3538a0148f018949494e3b3e2ecd')
- version('4.4.1', sha256='853c6438fc4e4b765206e66a514b09182c56377bb4b73f1d0d26eda7eb8af0dc')
- version('4.2.2', sha256='e9ee9f5c606bbec5f2adbb8c3d6023c4e2577f487fa4e4ecfcfc94a241cc8dcc')
- version('4.0.0', sha256='fb0c8afa37425c6f4315ab3b3124e9e102fcf270a35198423a4002796f04155f')
- version('3.0.6', sha256='9700bcc440d7a6b16a49cbfcdcdc31db33efe60e1f5113774316b6fa4186987b')
- version('3.0.1', sha256='830b5400d9f1aeca79c3745c5c9fdaa2900cdb2fa319b664a5d26f7e615c749f')
- version('2.16.0', sha256='e829eaf32ea02350a385202cc749341f2a3217c464719384b18f653edd028eea')
- version('2.15.0', sha256='992a4b580454105f719f5bc05441d3d392ab0b4b80d4ea07b61ca3bdc974070a')
-
- variant('external', default=False,
- description='Use system versions of contrib libraries, when possible')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('mpi', default=False, description='Builds MPI support for parser and solver')
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('fltk', default=True, description='Enables the build of the FLTK GUI')
- variant('hdf5', default=False, description='Enables HDF5 support')
- variant('gmp', default=True, description='Enable GMP for Kbipack (advanced)')
- variant('cairo', default=False, description='Enable Cairo to render fonts (experimental)')
- variant('compression', default=True, description='Enables IO compression through zlib')
- variant('med', default=True, description='Build with MED(HDF5)')
- variant('mmg', default=True, description='Build with Mmg3d')
- variant('netgen', default=True, description='Build with Netgen (built-in)')
- variant('opencascade', default=False, description='Build with OpenCASCADE')
- variant('oce', default=False, description='Build with OCE')
- variant('petsc', default=False, description='Build with PETSc')
- variant('slepc', default=False, description='Build with SLEPc (only when PETSc is enabled)')
- variant('tetgen', default=False, description='Build with Tetgen (built-in)')
- variant('metis', default=True, description='Build with Metis (built-in)')
- variant('privateapi', default=False, description='Enable the private API')
- variant('alglib', default=True, description='Build with Alglib (built-in or 3rd party)')
- variant('eigen', default=False, description='Build with Eigen (built-in or 3rd party)')
- variant('voropp', default=True, description='Build with voro++ (built-in or 3rd party')
- variant('cgns', default=True, description='Build with CGNS')
+ homepage = "https://gmsh.info"
+ url = "https://gmsh.info/src/gmsh-4.4.1-source.tgz"
+ git = "https://gitlab.onelab.info/gmsh/gmsh.git"
+
+ version("master", branch="master")
+ version("4.10.3", sha256="a87d59ccea596d493d375b0d6bc380079a5e5a4baebf0d3383018b0cd6bd8e33")
+ version("4.8.4", sha256="760dbdc072eaa3c82d066c5ba3b06eacdd3304eb2a97373fe4ada9509f0b6ace")
+ version("4.7.1", sha256="c984c295116c757ed165d77149bd5fdd1068cbd7835e9bcd077358b503891c6a")
+ version("4.7.0", sha256="e27f32f92b374ba2a746a9d9c496401c13f66ac6e3e70753e16fa4012d14320e")
+ version("4.6.0", sha256="0f2c55e50fb6c478ebc8977f6341c223754cbf3493b7b0d683b4395ae9f2ad1c")
+ version("4.5.6", sha256="46eaeb0cdee5822fdaa4b15f92d8d160a8cc90c4565593cfa705de90df2a463f")
+ version("4.5.5", sha256="899d3cded664124fa387da57b6f170f47a7e712c7744aa3562779897e2b9e251")
+ version("4.5.4", sha256="ccf8c74f43cbe3c371abe79862025d41642b3538a0148f018949494e3b3e2ecd")
+ version("4.4.1", sha256="853c6438fc4e4b765206e66a514b09182c56377bb4b73f1d0d26eda7eb8af0dc")
+ version("4.2.2", sha256="e9ee9f5c606bbec5f2adbb8c3d6023c4e2577f487fa4e4ecfcfc94a241cc8dcc")
+ version("4.0.0", sha256="fb0c8afa37425c6f4315ab3b3124e9e102fcf270a35198423a4002796f04155f")
+ version("3.0.6", sha256="9700bcc440d7a6b16a49cbfcdcdc31db33efe60e1f5113774316b6fa4186987b")
+ version("3.0.1", sha256="830b5400d9f1aeca79c3745c5c9fdaa2900cdb2fa319b664a5d26f7e615c749f")
+ version("2.16.0", sha256="e829eaf32ea02350a385202cc749341f2a3217c464719384b18f653edd028eea")
+ version("2.15.0", sha256="992a4b580454105f719f5bc05441d3d392ab0b4b80d4ea07b61ca3bdc974070a")
+
+ variant(
+ "external",
+ default=False,
+ description="Use system versions of contrib libraries, when possible",
+ )
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=False, description="Builds MPI support for parser and solver")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("fltk", default=True, description="Enables the build of the FLTK GUI")
+ variant("hdf5", default=False, description="Enables HDF5 support")
+ variant("gmp", default=True, description="Enable GMP for Kbipack (advanced)")
+ variant("cairo", default=False, description="Enable Cairo to render fonts (experimental)")
+ variant("compression", default=True, description="Enables IO compression through zlib")
+ variant("med", default=True, description="Build with MED(HDF5)")
+ variant("mmg", default=True, description="Build with Mmg3d")
+ variant("netgen", default=True, description="Build with Netgen (built-in)")
+ variant("opencascade", default=False, description="Build with OpenCASCADE")
+ variant("oce", default=False, description="Build with OCE")
+ variant("petsc", default=False, description="Build with PETSc")
+ variant("slepc", default=False, description="Build with SLEPc (only when PETSc is enabled)")
+ variant("tetgen", default=False, description="Build with Tetgen (built-in)")
+ variant("metis", default=True, description="Build with Metis (built-in)")
+ variant("privateapi", default=False, description="Enable the private API")
+ variant("alglib", default=True, description="Build with Alglib (built-in or 3rd party)")
+ variant("eigen", default=False, description="Build with Eigen (built-in or 3rd party)")
+ variant("voropp", default=True, description="Build with voro++ (built-in or 3rd party")
+ variant("cgns", default=True, description="Build with CGNS")
# https://gmsh.info/doc/texinfo/gmsh.html#Compiling-the-source-code
# We make changes to the GMSH default, such as external blas.
- depends_on('blas', when='~eigen')
- depends_on('lapack', when='~eigen')
- depends_on('eigen@3:', when='+eigen+external')
- depends_on('alglib', when='+alglib+external')
- depends_on('voropp', when='+voropp+external')
- depends_on('cmake@2.8:', type='build')
- depends_on('gmp', when='+gmp')
- depends_on('mpi', when='+mpi')
- depends_on('fltk+gl', when='+fltk')
- depends_on('gl', when='+fltk')
- depends_on('glu', when='+fltk')
- depends_on('cairo', when='+cairo')
- depends_on('hdf5', when='+hdf5')
- depends_on('hdf5', when='+med')
- depends_on('med', when='+med')
- depends_on('mmg', when='+mmg')
- depends_on('opencascade', when='+opencascade')
- depends_on('oce', when='+oce')
- depends_on('freetype', when='+oce')
- depends_on('freetype', when='+opencascade')
- depends_on('slepc', when='+slepc+petsc')
- depends_on('zlib', when='+compression')
- depends_on('metis', when='+metis+external')
- depends_on('cgns', when='+cgns')
- with when('+petsc'):
- depends_on('petsc~int64')
- depends_on('petsc+mpi', when='+mpi')
- depends_on('petsc~mpi', when='~mpi')
+ depends_on("blas", when="~eigen")
+ depends_on("lapack", when="~eigen")
+ depends_on("eigen@3:", when="+eigen+external")
+ depends_on("alglib", when="+alglib+external")
+ depends_on("voropp", when="+voropp+external")
+ depends_on("cmake@2.8:", type="build")
+ depends_on("gmp", when="+gmp")
+ depends_on("mpi", when="+mpi")
+ depends_on("fltk+gl", when="+fltk")
+ depends_on("gl", when="+fltk")
+ depends_on("glu", when="+fltk")
+ depends_on("cairo", when="+cairo")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hdf5", when="+med")
+ depends_on("med", when="+med")
+ depends_on("mmg", when="+mmg")
+ depends_on("opencascade", when="+opencascade")
+ depends_on("oce", when="+oce")
+ depends_on("freetype", when="+oce")
+ depends_on("freetype", when="+opencascade")
+ depends_on("slepc", when="+slepc+petsc")
+ depends_on("zlib", when="+compression")
+ depends_on("metis", when="+metis+external")
+ depends_on("cgns", when="+cgns")
+ with when("+petsc"):
+ depends_on("petsc~int64")
+ depends_on("petsc+mpi", when="+mpi")
+ depends_on("petsc~mpi", when="~mpi")
# Gmsh's high quality vector PostScript, PDF and SVG output is produced by 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')
- conflicts('+oce', when='^gmsh@4.10:4.10.3')
- conflicts('+metis', when='+external',
- msg="External Metis cannot build with GMSH")
+ conflicts("+slepc", when="~petsc")
+ conflicts("+oce", when="+opencascade")
+ conflicts("+oce", when="^gmsh@4.10:4.10.3")
+ conflicts("+metis", when="+external", msg="External Metis cannot build with GMSH")
def cmake_args(self):
spec = self.spec
options = [
- self.define_from_variant('ENABLE_ALGLIB', 'alglib'),
- self.define_from_variant('ENABLE_CAIRO', 'cairo'),
- self.define_from_variant('ENABLE_CGNS', 'cgns'),
- self.define_from_variant('ENABLE_EIGEN', 'eigen'),
- self.define_from_variant('ENABLE_FLTK', 'fltk'),
- self.define_from_variant('ENABLE_GMP', 'gmp'),
- self.define_from_variant('ENABLE_MED', 'med'),
- self.define_from_variant('ENABLE_METIS', 'metis'),
- self.define_from_variant('ENABLE_MMG', 'mmg'),
- self.define_from_variant('ENABLE_MPI', 'mpi'),
- self.define_from_variant('ENABLE_NETGEN', 'netgen'),
- self.define_from_variant('ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('ENABLE_PETSC', 'petsc'),
- self.define_from_variant('ENABLE_PRIVATE_API', 'privateapi'),
- self.define_from_variant('ENABLE_SLEPC', 'slepc'),
- self.define_from_variant('ENABLE_VOROPP', 'voropp'),
+ self.define_from_variant("ENABLE_ALGLIB", "alglib"),
+ self.define_from_variant("ENABLE_CAIRO", "cairo"),
+ self.define_from_variant("ENABLE_CGNS", "cgns"),
+ self.define_from_variant("ENABLE_EIGEN", "eigen"),
+ self.define_from_variant("ENABLE_FLTK", "fltk"),
+ self.define_from_variant("ENABLE_GMP", "gmp"),
+ self.define_from_variant("ENABLE_MED", "med"),
+ self.define_from_variant("ENABLE_METIS", "metis"),
+ self.define_from_variant("ENABLE_MMG", "mmg"),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
+ self.define_from_variant("ENABLE_NETGEN", "netgen"),
+ self.define_from_variant("ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("ENABLE_PETSC", "petsc"),
+ self.define_from_variant("ENABLE_PRIVATE_API", "privateapi"),
+ self.define_from_variant("ENABLE_SLEPC", "slepc"),
+ self.define_from_variant("ENABLE_VOROPP", "voropp"),
]
# Use system versions of contrib libraries, when possible:
- if '+external' in spec:
- options.append(self.define('ENABLE_SYSTEM_CONTRIB', True))
+ if "+external" in spec:
+ options.append(self.define("ENABLE_SYSTEM_CONTRIB", True))
# Make sure native file dialogs are used
- options.append('-DENABLE_NATIVE_FILE_CHOOSER=ON')
+ options.append("-DENABLE_NATIVE_FILE_CHOOSER=ON")
- options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s' % self.prefix.lib)
+ options.append("-DCMAKE_INSTALL_NAME_DIR:PATH=%s" % self.prefix.lib)
# Prevent GMsh from using its own strange directory structure on OSX
- options.append('-DENABLE_OS_SPECIFIC_INSTALL=OFF')
+ options.append("-DENABLE_OS_SPECIFIC_INSTALL=OFF")
# Make sure GMSH picks up correct BlasLapack by providing linker flags
- if '~eigen' in spec:
- options.append('-DENABLE_BLAS_LAPACK=ON')
- blas_lapack = spec['lapack'].libs + spec['blas'].libs
- options.append(
- '-DBLAS_LAPACK_LIBRARIES={0}'.format(blas_lapack.ld_flags))
-
- if '+oce' in spec:
- options.append('-DENABLE_OCC=ON')
- elif '+opencascade' in spec:
- options.append('-DENABLE_OCC=ON')
+ if "~eigen" in spec:
+ options.append("-DENABLE_BLAS_LAPACK=ON")
+ blas_lapack = spec["lapack"].libs + spec["blas"].libs
+ options.append("-DBLAS_LAPACK_LIBRARIES={0}".format(blas_lapack.ld_flags))
+
+ if "+oce" in spec:
+ options.append("-DENABLE_OCC=ON")
+ elif "+opencascade" in spec:
+ options.append("-DENABLE_OCC=ON")
else:
- options.append('-DENABLE_OCC=OFF')
+ options.append("-DENABLE_OCC=OFF")
- if '@:3.0.6' in spec:
- options.append(self.define_from_variant('ENABLE_TETGEN', 'tetgen'))
+ if "@:3.0.6" in spec:
+ options.append(self.define_from_variant("ENABLE_TETGEN", "tetgen"))
- if '@:4.6' in spec:
- options.append(self.define_from_variant('ENABLE_MMG3D', 'mmg'))
+ if "@:4.6" in spec:
+ options.append(self.define_from_variant("ENABLE_MMG3D", "mmg"))
- if '+shared' in spec:
+ if "+shared" in spec:
# Builds dynamic executable and installs shared library
- options.append(self.define('ENABLE_BUILD_SHARED', True))
- options.append(self.define('ENABLE_BUILD_DYNAMIC', True))
+ options.append(self.define("ENABLE_BUILD_SHARED", True))
+ options.append(self.define("ENABLE_BUILD_DYNAMIC", True))
else:
# Builds and installs static library
- options.append(self.define('ENABLE_BUILD_LIB', True))
+ options.append(self.define("ENABLE_BUILD_LIB", True))
- if '+compression' in spec:
- options.append(self.define('ENABLE_COMPRESSED_IO', True))
+ if "+compression" in spec:
+ options.append(self.define("ENABLE_COMPRESSED_IO", True))
return options
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/gmt/package.py b/var/spack/repos/builtin/packages/gmt/package.py
index e7a7d3e1a9..2a01c2a268 100644
--- a/var/spack/repos/builtin/packages/gmt/package.py
+++ b/var/spack/repos/builtin/packages/gmt/package.py
@@ -15,135 +15,147 @@ class Gmt(Package):
"""
homepage = "https://www.generic-mapping-tools.org/"
- url = "https://github.com/GenericMappingTools/gmt/archive/6.1.0.tar.gz"
- git = "https://github.com/GenericMappingTools/gmt.git"
-
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('6.2.0', sha256='b70786ca5ba7d1293acc4e901a0f82e1300d368b61009ef87f771f4bc99d058a')
- version('6.1.1', sha256='4cb17f42ff10b8f5fe372956c23f1fa3ca21a8e94933a6c614894f0be33427c1')
- version('6.1.0', sha256='f76ad7f444d407dfd7e5762644eec3a719c6aeb06d877bf746fe51abd79b1a9e')
- version('6.0.0', sha256='7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7')
- version('5.4.4', sha256='b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0')
- version('4.5.9', sha256='9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86',
- url='ftp://ftp.soest.hawaii.edu/gmt/legacy/gmt-4.5.9.tar.bz2', deprecated=True)
-
- variant('ghostscript', default=False, description='Ability to convert PostScript plots to PDF and rasters')
- variant('gdal', default=False, description='Ability to read and write numerous grid and image formats')
- variant('pcre', default=False, description='Regular expression support')
- variant('fftw', default=False, description='Fast FFTs')
- variant('glib', default=False, description='GTHREAD support')
- variant('lapack', default=False, description='Fast matrix inversion')
- variant('blas', default=False, description='Fast matrix multiplications')
- variant('graphicsmagick', default=False, description='Convert images to animated GIFs')
- variant('ffmpeg', default=False, description='Convert images to videos')
- variant('docs', default=False, description='Build manpage and HTML documentation')
+ url = "https://github.com/GenericMappingTools/gmt/archive/6.1.0.tar.gz"
+ git = "https://github.com/GenericMappingTools/gmt.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("6.2.0", sha256="b70786ca5ba7d1293acc4e901a0f82e1300d368b61009ef87f771f4bc99d058a")
+ version("6.1.1", sha256="4cb17f42ff10b8f5fe372956c23f1fa3ca21a8e94933a6c614894f0be33427c1")
+ version("6.1.0", sha256="f76ad7f444d407dfd7e5762644eec3a719c6aeb06d877bf746fe51abd79b1a9e")
+ version("6.0.0", sha256="7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7")
+ version("5.4.4", sha256="b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0")
+ version(
+ "4.5.9",
+ sha256="9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86",
+ url="ftp://ftp.soest.hawaii.edu/gmt/legacy/gmt-4.5.9.tar.bz2",
+ deprecated=True,
+ )
+
+ variant(
+ "ghostscript",
+ default=False,
+ description="Ability to convert PostScript plots to PDF and rasters",
+ )
+ variant(
+ "gdal",
+ default=False,
+ description="Ability to read and write numerous grid and image formats",
+ )
+ variant("pcre", default=False, description="Regular expression support")
+ variant("fftw", default=False, description="Fast FFTs")
+ variant("glib", default=False, description="GTHREAD support")
+ variant("lapack", default=False, description="Fast matrix inversion")
+ variant("blas", default=False, description="Fast matrix multiplications")
+ variant("graphicsmagick", default=False, description="Convert images to animated GIFs")
+ variant("ffmpeg", default=False, description="Convert images to videos")
+ variant("docs", default=False, description="Build manpage and HTML documentation")
# https://github.com/GenericMappingTools/gmt/blob/master/BUILDING.md
# https://github.com/GenericMappingTools/gmt/blob/master/MAINTENANCE.md
# Required dependencies
- depends_on('cmake@2.8.12:', type='build', when='@5:')
- depends_on('netcdf-c@4:')
- depends_on('curl', when='@5.4:')
+ depends_on("cmake@2.8.12:", type="build", when="@5:")
+ depends_on("netcdf-c@4:")
+ depends_on("curl", when="@5.4:")
# Optional dependencies
- depends_on('ghostscript', when='+ghostscript')
- depends_on('gdal', when='+gdal')
- depends_on('pcre', when='+pcre')
- depends_on('fftw', when='+fftw')
- depends_on('glib', when='+glib')
- depends_on('lapack', when='+lapack')
- depends_on('blas', when='+blas')
- depends_on('graphicsmagick', when='+graphicsmagick')
- depends_on('ffmpeg', when='+ffmpeg')
- depends_on('py-sphinx@1.4:', when='+docs', type='build')
-
- depends_on('graphicsmagick', type='test')
+ depends_on("ghostscript", when="+ghostscript")
+ depends_on("gdal", when="+gdal")
+ depends_on("pcre", when="+pcre")
+ depends_on("fftw", when="+fftw")
+ depends_on("glib", when="+glib")
+ depends_on("lapack", when="+lapack")
+ depends_on("blas", when="+blas")
+ depends_on("graphicsmagick", when="+graphicsmagick")
+ depends_on("ffmpeg", when="+ffmpeg")
+ depends_on("py-sphinx@1.4:", when="+docs", type="build")
+
+ depends_on("graphicsmagick", type="test")
# https://github.com/spack/spack/issues/26661
- conflicts('%gcc@11:', when='@:5',
- msg='GMT 5 cannot be built with GCC 11+, try a newer GMT or older GCC')
+ conflicts(
+ "%gcc@11:",
+ when="@:5",
+ msg="GMT 5 cannot be built with GCC 11+, try a newer GMT or older GCC",
+ )
# https://github.com/GenericMappingTools/gmt/pull/3603
- patch('regexp.patch', when='@6.1.0')
- patch('type.patch', when='@4.5.9')
+ patch("regexp.patch", when="@6.1.0")
+ patch("type.patch", when="@4.5.9")
- executables = ['^gmt-config$']
+ executables = ["^gmt-config$"]
@classmethod
def determine_version(cls, exe):
- return Executable(exe)('--version', output=str, error=str).rstrip()
+ return Executable(exe)("--version", output=str, error=str).rstrip()
- @when('@5:')
+ @when("@5:")
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
args = std_cmake_args
- args.extend([
- '-DNETCDF_CONFIG={0}'.format(
- spec['netcdf-c'].prefix.bin.join('nc-config')),
- '-DNETCDF_INCLUDE_DIR={0}'.format(
- spec['netcdf-c'].headers.directories[0]),
- '-DNETCDF_LIBRARY={0}'.format(
- spec['netcdf-c'].libs[0])
- ])
+ args.extend(
+ [
+ "-DNETCDF_CONFIG={0}".format(spec["netcdf-c"].prefix.bin.join("nc-config")),
+ "-DNETCDF_INCLUDE_DIR={0}".format(spec["netcdf-c"].headers.directories[0]),
+ "-DNETCDF_LIBRARY={0}".format(spec["netcdf-c"].libs[0]),
+ ]
+ )
# If these options aren't explicitly disabled,
# CMake will search OS for dependencies
- if '+ghostscript' in spec:
- args.append('-DGS={0}'.format(
- spec['ghostscript'].prefix.bin.gs))
+ if "+ghostscript" in spec:
+ args.append("-DGS={0}".format(spec["ghostscript"].prefix.bin.gs))
else:
- args.append('-DGS=')
-
- if '+gdal' in spec:
- args.extend([
- '-DGDAL_TRANSLATE={0}'.format(
- spec['gdal'].prefix.bin.gdal_translate),
- '-DOGR2OGR={0}'.format(
- spec['gdal'].prefix.bin.ogr2ogr),
- ])
+ args.append("-DGS=")
+
+ if "+gdal" in spec:
+ args.extend(
+ [
+ "-DGDAL_TRANSLATE={0}".format(spec["gdal"].prefix.bin.gdal_translate),
+ "-DOGR2OGR={0}".format(spec["gdal"].prefix.bin.ogr2ogr),
+ ]
+ )
else:
- args.extend(['-DGDAL_TRANSLATE=', '-DOGR2OGR='])
-
- if 'graphicsmagick' in spec:
- args.extend([
- '-DGM={0}'.format(
- spec['graphicsmagick'].prefix.bin.gm),
- '-DGRAPHICSMAGICK={0}'.format(
- spec['graphicsmagick'].prefix.bin.gm),
- ])
+ args.extend(["-DGDAL_TRANSLATE=", "-DOGR2OGR="])
+
+ if "graphicsmagick" in spec:
+ args.extend(
+ [
+ "-DGM={0}".format(spec["graphicsmagick"].prefix.bin.gm),
+ "-DGRAPHICSMAGICK={0}".format(spec["graphicsmagick"].prefix.bin.gm),
+ ]
+ )
else:
- args.extend(['-DGM=', '-DGRAPHICSMAGICK='])
+ args.extend(["-DGM=", "-DGRAPHICSMAGICK="])
- if '+ffmpeg' in spec:
- args.append('-DFFMPEG={0}'.format(
- spec['ffmpeg'].prefix.bin.ffmpeg))
+ if "+ffmpeg" in spec:
+ args.append("-DFFMPEG={0}".format(spec["ffmpeg"].prefix.bin.ffmpeg))
else:
- args.append('-DFFMPEG=')
+ args.append("-DFFMPEG=")
- cmake('..', *args)
+ cmake("..", *args)
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
- @when('@:4')
+ @when("@:4")
def install(self, spec, prefix):
args = [
- '--prefix={0}'.format(prefix),
- '--enable-netcdf={0}'.format(spec['netcdf-c'].prefix),
- '--enable-shared',
- '--without-x'
+ "--prefix={0}".format(prefix),
+ "--enable-netcdf={0}".format(spec["netcdf-c"].prefix),
+ "--enable-shared",
+ "--without-x",
]
- if '+gdal' in spec:
- args.append('--enable-gdal')
+ if "+gdal" in spec:
+ args.append("--enable-gdal")
else:
- args.append('--disable-gdal')
+ args.append("--disable-gdal")
configure(*args)
@@ -153,4 +165,4 @@ class Gmt(Package):
# Installing in parallel results in dozens of errors like:
# /usr/bin/install: cannot create directory '...': File exists
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/gmtsar/package.py b/var/spack/repos/builtin/packages/gmtsar/package.py
index ba78df721e..3ab60fdd28 100644
--- a/var/spack/repos/builtin/packages/gmtsar/package.py
+++ b/var/spack/repos/builtin/packages/gmtsar/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class Gmtsar(CMakePackage):
"""GMTSAR is an open source (GNU General Public License) InSAR processing
- system designed for users familiar with Generic Mapping Tools (GMT).
+ system designed for users familiar with Generic Mapping Tools (GMT).
"""
homepage = "https://topex.ucsd.edu/gmtsar/"
- url = "https://elenacreinisch.com/gmtsar/GMTSAR-5.6.tar.gz"
+ url = "https://elenacreinisch.com/gmtsar/GMTSAR-5.6.tar.gz"
- version('5.6', sha256='0f7326f46aedf1e8e4dc80dd03f1ae8681f52a8253dc4a00a943aec14562994b')
+ version("5.6", sha256="0f7326f46aedf1e8e4dc80dd03f1ae8681f52a8253dc4a00a943aec14562994b")
- depends_on('gmt')
+ depends_on("gmt")
diff --git a/var/spack/repos/builtin/packages/gnat/package.py b/var/spack/repos/builtin/packages/gnat/package.py
index 5e0f471eeb..769619f24e 100644
--- a/var/spack/repos/builtin/packages/gnat/package.py
+++ b/var/spack/repos/builtin/packages/gnat/package.py
@@ -23,8 +23,12 @@ class Gnat(Package):
# dependencies are already in Spack.
# This is the GPL release for Linux x86-64
- version('2016', sha256='d083c01e054d0aeda7c67967306cfa5a8df12268664f9098a2d9b331aa24dfe7', extension='tar.gz',
- url="http://mirrors.cdn.adacore.com/art/5739cefdc7a447658e0b016b")
+ version(
+ "2016",
+ sha256="d083c01e054d0aeda7c67967306cfa5a8df12268664f9098a2d9b331aa24dfe7",
+ extension="tar.gz",
+ url="http://mirrors.cdn.adacore.com/art/5739cefdc7a447658e0b016b",
+ )
def install(self, spec, prefix):
- make('ins-all', 'prefix={0}'.format(prefix))
+ make("ins-all", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/gnds/package.py b/var/spack/repos/builtin/packages/gnds/package.py
index 0e0d0faf37..87922464f6 100644
--- a/var/spack/repos/builtin/packages/gnds/package.py
+++ b/var/spack/repos/builtin/packages/gnds/package.py
@@ -13,16 +13,16 @@ class Gnds(CMakePackage):
"""
homepage = "https://code.ornl.gov/RNSD/gnds"
- url = "https://code.ornl.gov/RNSD/gnds/-/archive/v0.0.1/gnds-v0.0.1.tar.gz"
+ url = "https://code.ornl.gov/RNSD/gnds/-/archive/v0.0.1/gnds-v0.0.1.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('0.0.1', sha256='4c8faaa01a3e6fb08ec3e8e126a76f75b5442509a46b993e325ec79dd9f04879')
+ version("0.0.1", sha256="4c8faaa01a3e6fb08ec3e8e126a76f75b5442509a46b993e325ec79dd9f04879")
- variant('shared', default=True, description="Build shared libraries")
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('pugixml')
+ depends_on("pugixml")
def cmake_args(self):
- args = [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
return args
diff --git a/var/spack/repos/builtin/packages/gnome-common/package.py b/var/spack/repos/builtin/packages/gnome-common/package.py
index 88e09bc14b..f41d851e17 100644
--- a/var/spack/repos/builtin/packages/gnome-common/package.py
+++ b/var/spack/repos/builtin/packages/gnome-common/package.py
@@ -12,23 +12,23 @@ class GnomeCommon(AutotoolsPackage):
built from git."""
homepage = "https://gitlab.gnome.org/GNOME"
- url = "https://github.com/GNOME/gnome-common/archive/3.18.0.tar.gz"
-
- version('3.18.0', sha256='8407fd8786a44c9ce47987de0906d9266492195df9251a089afaa06cc65c72d8')
- version('3.14.0', sha256='6ba2990ae52f54adf90626a8e04c41e58631870ed1b28088bb670cdc1eff22c7')
- version('3.12.0', sha256='b1dd2651900e701d3b732177ab633a35c8608e06c2ae78910130e5cbbda3b204')
- version('3.10.0', sha256='a0b711c2316f754498a07d313e0e0373a663b4af7e6a2007bea512a8ec573176')
- version('3.7.4', sha256='e68a7c028c50d3cfd51809cab25521334a4759518950ead597f880c71aa81cd2')
- version('3.6.0', sha256='bfc79887f3f9aff5a575559b2eff7e7968b9155bf1666be7f98c7046d4ba9e7e')
- version('3.5.91', sha256='434c84c3b3d63f808cb639a90eb7e4d727e27c95b3f24f0c32406a6f178f89a8')
- version('3.5.5', sha256='a8e0c6ffaa6224a417480bc95e05d0bff62bcb2a44c36f3581cc3a86edbe9626')
- version('3.4.0.1', sha256='8829fad03100358b69dfbab71287811c0fb3d76781efa01f931aaaf1fba0299c')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ url = "https://github.com/GNOME/gnome-common/archive/3.18.0.tar.gz"
+
+ version("3.18.0", sha256="8407fd8786a44c9ce47987de0906d9266492195df9251a089afaa06cc65c72d8")
+ version("3.14.0", sha256="6ba2990ae52f54adf90626a8e04c41e58631870ed1b28088bb670cdc1eff22c7")
+ version("3.12.0", sha256="b1dd2651900e701d3b732177ab633a35c8608e06c2ae78910130e5cbbda3b204")
+ version("3.10.0", sha256="a0b711c2316f754498a07d313e0e0373a663b4af7e6a2007bea512a8ec573176")
+ version("3.7.4", sha256="e68a7c028c50d3cfd51809cab25521334a4759518950ead597f880c71aa81cd2")
+ version("3.6.0", sha256="bfc79887f3f9aff5a575559b2eff7e7968b9155bf1666be7f98c7046d4ba9e7e")
+ version("3.5.91", sha256="434c84c3b3d63f808cb639a90eb7e4d727e27c95b3f24f0c32406a6f178f89a8")
+ version("3.5.5", sha256="a8e0c6ffaa6224a417480bc95e05d0bff62bcb2a44c36f3581cc3a86edbe9626")
+ version("3.4.0.1", sha256="8829fad03100358b69dfbab71287811c0fb3d76781efa01f931aaaf1fba0299c")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
- autoreconf('-ifv')
+ autoreconf = which("autoreconf")
+ autoreconf("-ifv")
diff --git a/var/spack/repos/builtin/packages/gnuconfig/package.py b/var/spack/repos/builtin/packages/gnuconfig/package.py
index 7b84d28ce8..c31deedf8d 100644
--- a/var/spack/repos/builtin/packages/gnuconfig/package.py
+++ b/var/spack/repos/builtin/packages/gnuconfig/package.py
@@ -14,15 +14,17 @@ class Gnuconfig(Package):
"""
homepage = "https://www.gnu.org/software/config/"
- git = "https://github.com/spack/gnuconfig.git"
- url = "https://github.com/spack/gnuconfig/releases/download/2021-08-14/gnuconfig-2021-08-14.tar.gz"
+ git = "https://github.com/spack/gnuconfig.git"
+ url = "https://github.com/spack/gnuconfig/releases/download/2021-08-14/gnuconfig-2021-08-14.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('master', branch='master')
- version('2021-08-14', sha256='69b6d2868e70167ba1bdb9030b49beeb20f00b37e30825e83fd04291d96bc5f7')
+ version("master", branch="master")
+ version(
+ "2021-08-14", sha256="69b6d2868e70167ba1bdb9030b49beeb20f00b37e30825e83fd04291d96bc5f7"
+ )
def install(self, spec, prefix):
with working_dir(self.stage.source_path):
- install('config.sub', prefix)
- install('config.guess', prefix)
+ install("config.sub", prefix)
+ install("config.guess", prefix)
diff --git a/var/spack/repos/builtin/packages/gnupg/package.py b/var/spack/repos/builtin/packages/gnupg/package.py
index 153be9d28f..bcf0549472 100644
--- a/var/spack/repos/builtin/packages/gnupg/package.py
+++ b/var/spack/repos/builtin/packages/gnupg/package.py
@@ -12,97 +12,169 @@ class Gnupg(AutotoolsPackage):
homepage = "https://gnupg.org/index.html"
url = "https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.4.tar.bz2"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('2.3.7', sha256='ee163a5fb9ec99ffc1b18e65faef8d086800c5713d15a672ab57d3799da83669')
+ version("2.3.7", sha256="ee163a5fb9ec99ffc1b18e65faef8d086800c5713d15a672ab57d3799da83669")
# Deprecated over CVE-2022-34903
- version('2.3.4', sha256='f3468ecafb1d7f9ad7b51fd1db7aebf17ceb89d2efa8a05cf2f39b4d405402ae', deprecated=True)
- version('2.3.3', sha256='5789b86da6a1a6752efb38598f16a77af51170a8494039c3842b085032e8e937', deprecated=True)
- version('2.3.2', sha256='e1d953e0e296072fca284215103ef168885eaac596c4660c5039a36a83e3041b', deprecated=True)
- version('2.3.1', sha256='c498db346a9b9a4b399e514c8f56dfc0a888ce8f327f10376ff984452cd154ec', deprecated=True)
- version('2.2.27', sha256='34e60009014ea16402069136e0a5f63d9b65f90096244975db5cea74b3d02399', deprecated=True)
- version('2.2.25', sha256='c55307b247af4b6f44d2916a25ffd1fb64ce2e509c3c3d028dbe7fbf309dc30a', deprecated=True)
- version('2.2.24', sha256='9090b400faae34f08469d78000cfec1cee5b9c553ce11347cc96ef16eab98c46', deprecated=True)
- version('2.2.23', sha256='10b55e49d78b3e49f1edb58d7541ecbdad92ddaeeb885b6f486ed23d1cd1da5c', deprecated=True)
- version('2.2.22', sha256='7c1370565e1910b9d8c4e0fb57b9de34aa062ec7bb91abad5803d791f38d855b', deprecated=True)
- version('2.2.21', sha256='61e83278fb5fa7336658a8b73ab26f379d41275bb1c7c6e694dd9f9a6e8e76ec', deprecated=True)
- version('2.2.20', sha256='04a7c9d48b74c399168ee8270e548588ddbe52218c337703d7f06373d326ca30', deprecated=True)
- version('2.2.19', sha256='242554c0e06f3a83c420b052f750b65ead711cc3fddddb5e7274fcdbb4e9dec0', deprecated=True)
- version('2.2.17', sha256='afa262868e39b651a2db4c071fba90415154243e83a830ca00516f9a807fd514', deprecated=True)
- version('2.2.15', sha256='cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454', deprecated=True)
- version('2.2.3', sha256='cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4', deprecated=True)
- version('2.1.21', sha256='7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd', deprecated=True)
-
- version('1.4.23', sha256='c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba', deprecated=True)
-
- depends_on('npth@1.2:', when='@2:')
-
- depends_on('libgpg-error@1.24:', when='@2:')
- depends_on('libgpg-error@1.41:', when='@2.3:')
-
- depends_on('libgcrypt@1.7.0:', when='@2:')
- depends_on('libgcrypt@1.9.1:', when='@2.3:')
-
- depends_on('libksba@1.3.4:', when='@2.0.0:')
- depends_on('libassuan@2.4:', when='@2.0.0:2.2.3')
- depends_on('libassuan@2.5:', when='@2.2.15:')
- depends_on('pinentry', type='run', when='@2:')
- depends_on('iconv', when='@2:')
- depends_on('zlib')
-
- depends_on('gawk', type='build', when='@:1')
+ version(
+ "2.3.4",
+ sha256="f3468ecafb1d7f9ad7b51fd1db7aebf17ceb89d2efa8a05cf2f39b4d405402ae",
+ deprecated=True,
+ )
+ version(
+ "2.3.3",
+ sha256="5789b86da6a1a6752efb38598f16a77af51170a8494039c3842b085032e8e937",
+ deprecated=True,
+ )
+ version(
+ "2.3.2",
+ sha256="e1d953e0e296072fca284215103ef168885eaac596c4660c5039a36a83e3041b",
+ deprecated=True,
+ )
+ version(
+ "2.3.1",
+ sha256="c498db346a9b9a4b399e514c8f56dfc0a888ce8f327f10376ff984452cd154ec",
+ deprecated=True,
+ )
+ version(
+ "2.2.27",
+ sha256="34e60009014ea16402069136e0a5f63d9b65f90096244975db5cea74b3d02399",
+ deprecated=True,
+ )
+ version(
+ "2.2.25",
+ sha256="c55307b247af4b6f44d2916a25ffd1fb64ce2e509c3c3d028dbe7fbf309dc30a",
+ deprecated=True,
+ )
+ version(
+ "2.2.24",
+ sha256="9090b400faae34f08469d78000cfec1cee5b9c553ce11347cc96ef16eab98c46",
+ deprecated=True,
+ )
+ version(
+ "2.2.23",
+ sha256="10b55e49d78b3e49f1edb58d7541ecbdad92ddaeeb885b6f486ed23d1cd1da5c",
+ deprecated=True,
+ )
+ version(
+ "2.2.22",
+ sha256="7c1370565e1910b9d8c4e0fb57b9de34aa062ec7bb91abad5803d791f38d855b",
+ deprecated=True,
+ )
+ version(
+ "2.2.21",
+ sha256="61e83278fb5fa7336658a8b73ab26f379d41275bb1c7c6e694dd9f9a6e8e76ec",
+ deprecated=True,
+ )
+ version(
+ "2.2.20",
+ sha256="04a7c9d48b74c399168ee8270e548588ddbe52218c337703d7f06373d326ca30",
+ deprecated=True,
+ )
+ version(
+ "2.2.19",
+ sha256="242554c0e06f3a83c420b052f750b65ead711cc3fddddb5e7274fcdbb4e9dec0",
+ deprecated=True,
+ )
+ version(
+ "2.2.17",
+ sha256="afa262868e39b651a2db4c071fba90415154243e83a830ca00516f9a807fd514",
+ deprecated=True,
+ )
+ version(
+ "2.2.15",
+ sha256="cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454",
+ deprecated=True,
+ )
+ version(
+ "2.2.3",
+ sha256="cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4",
+ deprecated=True,
+ )
+ version(
+ "2.1.21",
+ sha256="7aead8a8ba75b69866f583b6c747d91414d523bfdfbe9a8e0fe026b16ba427dd",
+ deprecated=True,
+ )
+
+ version(
+ "1.4.23",
+ sha256="c9462f17e651b6507848c08c430c791287cd75491f8b5a8b50c6ed46b12678ba",
+ deprecated=True,
+ )
+
+ depends_on("npth@1.2:", when="@2:")
+
+ depends_on("libgpg-error@1.24:", when="@2:")
+ depends_on("libgpg-error@1.41:", when="@2.3:")
+
+ depends_on("libgcrypt@1.7.0:", when="@2:")
+ depends_on("libgcrypt@1.9.1:", when="@2.3:")
+
+ depends_on("libksba@1.3.4:", when="@2.0.0:")
+ depends_on("libassuan@2.4:", when="@2.0.0:2.2.3")
+ depends_on("libassuan@2.5:", when="@2.2.15:")
+ depends_on("pinentry", type="run", when="@2:")
+ depends_on("iconv", when="@2:")
+ depends_on("zlib")
+
+ depends_on("gawk", type="build", when="@:1")
# note: perl and curl are gnupg1 dependencies when keyserver support is
# requested, but we disable that.
# Getting some linking error.
- conflicts('%gcc@10:', when='@:1')
+ conflicts("%gcc@10:", when="@:1")
- @run_after('install')
+ @run_after("install")
def add_gpg2_symlink(self):
if self.spec.satisfies("@2.0:2"):
- symlink('gpg', self.prefix.bin.gpg2)
+ symlink("gpg", self.prefix.bin.gpg2)
def configure_args(self):
args = [
- '--disable-nls',
- '--disable-bzip2',
- '--disable-ldap',
- '--disable-regex',
- '--with-zlib=' + self.spec['zlib'].prefix,
- '--without-tar',
- '--without-libiconv-prefix',
- '--without-readline',
+ "--disable-nls",
+ "--disable-bzip2",
+ "--disable-ldap",
+ "--disable-regex",
+ "--with-zlib=" + self.spec["zlib"].prefix,
+ "--without-tar",
+ "--without-libiconv-prefix",
+ "--without-readline",
]
if self.spec.satisfies("@2:"):
- args.extend([
- '--disable-sqlite',
- '--disable-ntbtls',
- '--disable-gnutls',
- '--with-pinentry-pgm=' + self.spec['pinentry'].command.path,
- '--with-libgpg-error-prefix=' + self.spec['libgpg-error'].prefix,
- '--with-libgcrypt-prefix=' + self.spec['libgcrypt'].prefix,
- '--with-libassuan-prefix=' + self.spec['libassuan'].prefix,
- '--with-ksba-prefix=' + self.spec['libksba'].prefix,
- '--with-npth-prefix=' + self.spec['npth'].prefix,
- '--with-libiconv-prefix=' + self.spec['iconv'].prefix,
- ])
-
- if self.spec.satisfies('@:1'):
- args.extend([
- '--disable-agent-support',
- '--disable-card-support',
- '--disable-photo-viewers',
- '--disable-exec',
- '--disable-keyserver-path',
- '--disable-keyserver-helpers',
- '--disable-gnupg-iconv',
- '--disable-dns-srv',
- '--disable-dns-cert',
- '--disable-gnupg-iconv'
- ])
+ args.extend(
+ [
+ "--disable-sqlite",
+ "--disable-ntbtls",
+ "--disable-gnutls",
+ "--with-pinentry-pgm=" + self.spec["pinentry"].command.path,
+ "--with-libgpg-error-prefix=" + self.spec["libgpg-error"].prefix,
+ "--with-libgcrypt-prefix=" + self.spec["libgcrypt"].prefix,
+ "--with-libassuan-prefix=" + self.spec["libassuan"].prefix,
+ "--with-ksba-prefix=" + self.spec["libksba"].prefix,
+ "--with-npth-prefix=" + self.spec["npth"].prefix,
+ "--with-libiconv-prefix=" + self.spec["iconv"].prefix,
+ ]
+ )
+
+ if self.spec.satisfies("@:1"):
+ args.extend(
+ [
+ "--disable-agent-support",
+ "--disable-card-support",
+ "--disable-photo-viewers",
+ "--disable-exec",
+ "--disable-keyserver-path",
+ "--disable-keyserver-helpers",
+ "--disable-gnupg-iconv",
+ "--disable-dns-srv",
+ "--disable-dns-cert",
+ "--disable-gnupg-iconv",
+ ]
+ )
if self.run_tests:
- args.append('--enable-all-tests')
+ args.append("--enable-all-tests")
return args
diff --git a/var/spack/repos/builtin/packages/gnuplot/package.py b/var/spack/repos/builtin/packages/gnuplot/package.py
index c50f984921..a51416c565 100644
--- a/var/spack/repos/builtin/packages/gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/gnuplot/package.py
@@ -10,153 +10,153 @@ from spack.package import *
class Gnuplot(AutotoolsPackage):
"""Gnuplot is a portable command-line driven graphing utility for Linux,
- OS/2, MS Windows, OSX, VMS, and many other platforms. The source
- code is copyrighted but freely distributed (i.e., you don't have
- to pay for it). It was originally created to allow scientists and
- students to visualize mathematical functions and data
- interactively, but has grown to support many non-interactive uses
- such as web scripting. It is also used as a plotting engine by
- third-party applications like Octave. Gnuplot has been supported
- and under active development since 1986
+ OS/2, MS Windows, OSX, VMS, and many other platforms. The source
+ code is copyrighted but freely distributed (i.e., you don't have
+ to pay for it). It was originally created to allow scientists and
+ students to visualize mathematical functions and data
+ interactively, but has grown to support many non-interactive uses
+ such as web scripting. It is also used as a plotting engine by
+ third-party applications like Octave. Gnuplot has been supported
+ and under active development since 1986
"""
+
homepage = "http://www.gnuplot.info"
- url = "http://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.6/gnuplot-5.0.6.tar.gz"
+ url = "http://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.6/gnuplot-5.0.6.tar.gz"
# There is a conflict in term.h between gnuplot and ncurses, which is a
# dependency of readline. Fix it with a small patch
- patch('term_include.patch')
-
- version('5.4.3', sha256='51f89bbab90f96d3543f95235368d188eb1e26eda296912256abcd3535bd4d84')
- version('5.4.2', sha256='e57c75e1318133951d32a83bcdc4aff17fed28722c4e71f2305cfc2ae1cae7ba')
- version('5.2.8', sha256='60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37')
- version('5.2.7', sha256='97fe503ff3b2e356fe2ae32203fc7fd2cf9cef1f46b60fe46dc501a228b9f4ed')
- version('5.2.5', sha256='039db2cce62ddcfd31a6696fe576f4224b3bc3f919e66191dfe2cdb058475caa')
- version('5.2.2', sha256='a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1')
- version('5.2.0', sha256='7dfe6425a1a6b9349b1fb42dae46b2e52833b13e807a78a613024d6a99541e43')
- version('5.0.7', sha256='0ad760ff013b4a9cf29853fa9b50c50030a33cd8fb86220a23abb466655136fc')
- version('5.0.6', sha256='5bbe4713e555c2e103b7d4ffd45fca69551fff09cf5c3f9cb17428aaacc9b460')
- version('5.0.5', sha256='25f3e0bf192e01115c580f278c3725d7a569eb848786e12b455a3fda70312053')
- version('5.0.1', sha256='7cbc557e71df581ea520123fb439dea5f073adcc9010a2885dc80d4ed28b3c47')
-
- variant('wx', default=False,
- description='Activates wxWidgets terminal')
- variant('gd', default=True,
- description='Activates gd based terminal')
- variant('cairo', default=True,
- description='Activates cairo based terminal')
- variant('X', default=False,
- description='Build with X11')
- variant('libcerf', default=True,
- description='Build with libcerf support')
- variant('pbm', default=False,
- description='Enable PBM (Portable Bit Map) and other older bitmap terminals')
- variant('qt', default=False,
- description='Build with QT')
+ patch("term_include.patch")
+
+ version("5.4.3", sha256="51f89bbab90f96d3543f95235368d188eb1e26eda296912256abcd3535bd4d84")
+ version("5.4.2", sha256="e57c75e1318133951d32a83bcdc4aff17fed28722c4e71f2305cfc2ae1cae7ba")
+ version("5.2.8", sha256="60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37")
+ version("5.2.7", sha256="97fe503ff3b2e356fe2ae32203fc7fd2cf9cef1f46b60fe46dc501a228b9f4ed")
+ version("5.2.5", sha256="039db2cce62ddcfd31a6696fe576f4224b3bc3f919e66191dfe2cdb058475caa")
+ version("5.2.2", sha256="a416d22f02bdf3873ef82c5eb7f8e94146795811ef808e12b035ada88ef7b1a1")
+ version("5.2.0", sha256="7dfe6425a1a6b9349b1fb42dae46b2e52833b13e807a78a613024d6a99541e43")
+ version("5.0.7", sha256="0ad760ff013b4a9cf29853fa9b50c50030a33cd8fb86220a23abb466655136fc")
+ version("5.0.6", sha256="5bbe4713e555c2e103b7d4ffd45fca69551fff09cf5c3f9cb17428aaacc9b460")
+ version("5.0.5", sha256="25f3e0bf192e01115c580f278c3725d7a569eb848786e12b455a3fda70312053")
+ version("5.0.1", sha256="7cbc557e71df581ea520123fb439dea5f073adcc9010a2885dc80d4ed28b3c47")
+
+ variant("wx", default=False, description="Activates wxWidgets terminal")
+ variant("gd", default=True, description="Activates gd based terminal")
+ variant("cairo", default=True, description="Activates cairo based terminal")
+ variant("X", default=False, description="Build with X11")
+ variant("libcerf", default=True, description="Build with libcerf support")
+ variant(
+ "pbm",
+ default=False,
+ description="Enable PBM (Portable Bit Map) and other older bitmap terminals",
+ )
+ variant("qt", default=False, description="Build with QT")
# required dependencies
- depends_on('readline')
- depends_on('pkgconfig', type='build')
- depends_on('libxpm')
- depends_on('iconv')
+ depends_on("readline")
+ depends_on("pkgconfig", type="build")
+ depends_on("libxpm")
+ depends_on("iconv")
# optional dependencies:
- depends_on('libcerf', when='+libcerf')
- depends_on('libgd', when='+gd')
- depends_on('cairo@1.2:', when='+cairo')
- depends_on('wxwidgets', when='+wx')
- depends_on('pango@1.10:', when='+wx')
- depends_on('libsm', when='+wx')
- depends_on('pango@1.10:', when='+cairo')
- depends_on('libx11', when='+X')
- depends_on('qt@5.7:+opengl', when='+qt')
- depends_on('qt+framework', when='+qt platform=darwin')
+ depends_on("libcerf", when="+libcerf")
+ depends_on("libgd", when="+gd")
+ depends_on("cairo@1.2:", when="+cairo")
+ depends_on("wxwidgets", when="+wx")
+ depends_on("pango@1.10:", when="+wx")
+ depends_on("libsm", when="+wx")
+ depends_on("pango@1.10:", when="+cairo")
+ depends_on("libx11", when="+X")
+ depends_on("qt@5.7:+opengl", when="+qt")
+ depends_on("qt+framework", when="+qt platform=darwin")
def configure_args(self):
# see https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnuplot.rb
# and https://github.com/macports/macports-ports/blob/master/math/gnuplot/Portfile
spec = self.spec
options = [
- '--disable-dependency-tracking',
- '--disable-silent-rules',
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
# Per upstream: "--with-tutorial is horribly out of date."
- '--without-tutorial',
- '--with-readline=%s' % spec['readline'].prefix
+ "--without-tutorial",
+ "--with-readline=%s" % spec["readline"].prefix,
]
- if '+pbm' in spec:
- options.append('--with-bitmap-terminals')
+ if "+pbm" in spec:
+ options.append("--with-bitmap-terminals")
else:
- options.append('--without-bitmap-terminals')
+ options.append("--without-bitmap-terminals")
- if '+X' in spec:
+ if "+X" in spec:
# It seems there's an open bug for wxWidgets support
# See : http://sourceforge.net/p/gnuplot/bugs/1694/
- os.environ['TERMLIBS'] = '-lX11'
- options.append('--with-x')
+ os.environ["TERMLIBS"] = "-lX11"
+ options.append("--with-x")
else:
- options.append('--without-x')
+ options.append("--without-x")
- if '+qt' in spec:
- options.append('--with-qt=qt5')
+ if "+qt" in spec:
+ options.append("--with-qt=qt5")
# QT needs C++11 compiler:
- os.environ['CXXFLAGS'] = '{0}'.format(self.compiler.cxx11_flag)
+ os.environ["CXXFLAGS"] = "{0}".format(self.compiler.cxx11_flag)
- if spec.satisfies('platform=darwin'):
- qt_path = spec['qt'].prefix
+ if spec.satisfies("platform=darwin"):
+ qt_path = spec["qt"].prefix
# see
# http://gnuplot.10905.n7.nabble.com/Building-with-Qt-depends-on-pkg-config-Qt-5-term-doesn-t-work-on-OS-X-td18063.html
- os.environ['QT_LIBS'] = (
- '-F{0}/lib ' +
- '-framework QtCore ' +
- '-framework QtGui ' +
- '-framework QtWidgets ' +
- '-framework QtNetwork ' +
- '-framework QtSvg ' +
- '-framework QtPrintSupport').format(qt_path)
-
- os.environ['QT_CFLAGS'] = (
- '-F{0}/lib ' +
- '-I{0}/lib/QtCore.framework/Headers ' +
- '-I{0}/lib/QtGui.framework/Headers ' +
- '-I{0}/lib/QtWidgets.framework/Headers ' +
- '-I{0}/lib/QtNetwork.framework/Headers ' +
- '-I{0}/lib/QtSvg.framework/Headers').format(qt_path)
+ os.environ["QT_LIBS"] = (
+ "-F{0}/lib "
+ + "-framework QtCore "
+ + "-framework QtGui "
+ + "-framework QtWidgets "
+ + "-framework QtNetwork "
+ + "-framework QtSvg "
+ + "-framework QtPrintSupport"
+ ).format(qt_path)
+
+ os.environ["QT_CFLAGS"] = (
+ "-F{0}/lib "
+ + "-I{0}/lib/QtCore.framework/Headers "
+ + "-I{0}/lib/QtGui.framework/Headers "
+ + "-I{0}/lib/QtWidgets.framework/Headers "
+ + "-I{0}/lib/QtNetwork.framework/Headers "
+ + "-I{0}/lib/QtSvg.framework/Headers"
+ ).format(qt_path)
else:
- options.append('--with-qt=no')
+ options.append("--with-qt=no")
- if '+wx' in spec:
- options.append('--with-wx=%s' % spec['wxwidgets'].prefix)
+ if "+wx" in spec:
+ options.append("--with-wx=%s" % spec["wxwidgets"].prefix)
else:
- options.append('--disable-wxwidgets')
+ options.append("--disable-wxwidgets")
- if '+gd' in spec:
- options.append('--with-gd=%s' % spec['libgd'].prefix)
+ if "+gd" in spec:
+ options.append("--with-gd=%s" % spec["libgd"].prefix)
else:
- options.append('--without-gd')
+ options.append("--without-gd")
- if '+cairo' in spec:
- options.append('--with-cairo')
+ if "+cairo" in spec:
+ options.append("--with-cairo")
else:
- options.append('--without-cairo')
+ options.append("--without-cairo")
- if '+libcerf' in spec:
- options.append('--with-libcerf')
+ if "+libcerf" in spec:
+ options.append("--with-libcerf")
else:
- options.append('--without-libcerf')
+ options.append("--without-libcerf")
# TODO: Enable pdflib-based pdf terminal
# '--with-pdf=%s' % spec['pdflib-lite'].prefix (or pdflib)
- options.append('--without-pdf')
+ options.append("--without-pdf")
# TODO: Enable lua-based terminals
- options.append('--without-lua')
+ options.append("--without-lua")
# TODO: --with-latex
- options.append('--without-latex')
+ options.append("--without-latex")
# TODO: --with-aquaterm depends_on('aquaterm')
- options.append('--without-aquaterm')
+ options.append("--without-aquaterm")
- os.environ['LDFLAGS'] = ("-Wl,--copy-dt-needed-entries")
+ os.environ["LDFLAGS"] = "-Wl,--copy-dt-needed-entries"
return options
diff --git a/var/spack/repos/builtin/packages/gnuradio/package.py b/var/spack/repos/builtin/packages/gnuradio/package.py
index b11ea0e4d2..453e88b3b0 100644
--- a/var/spack/repos/builtin/packages/gnuradio/package.py
+++ b/var/spack/repos/builtin/packages/gnuradio/package.py
@@ -18,58 +18,57 @@ class Gnuradio(CMakePackage):
communications research and real-world radio systems."""
homepage = "https://www.gnuradio.org/"
- url = "https://github.com/gnuradio/gnuradio/archive/v3.8.2.0.tar.gz"
+ url = "https://github.com/gnuradio/gnuradio/archive/v3.8.2.0.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('3.8.2.0', sha256='ddda12b55e3e1d925eefb24afb9d604bca7c9bbe0a431707aa48a2eed53eec2f')
+ version("3.8.2.0", sha256="ddda12b55e3e1d925eefb24afb9d604bca7c9bbe0a431707aa48a2eed53eec2f")
- variant('gui', default=False, description='Build with gui support')
+ variant("gui", default=False, description="Build with gui support")
- depends_on('cmake@3.5.1:', type='build')
- depends_on('volk')
- depends_on('python@3.6.5:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('swig@3.0.8:', type='build')
- depends_on('log4cpp@1.0:')
+ depends_on("cmake@3.5.1:", type="build")
+ depends_on("volk")
+ depends_on("python@3.6.5:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("swig@3.0.8:", type="build")
+ depends_on("log4cpp@1.0:")
# https://github.com/gnuradio/gnuradio/pull/3566
- depends_on('boost@1.53:1.72')
+ depends_on("boost@1.53:1.72")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-click-plugins', type=('build', 'run'))
- depends_on('gsl@1.10:')
- depends_on('gmp')
- depends_on('fftw')
- depends_on('cppzmq')
-
- depends_on('cairo+X+ft+fc+pdf+gobject', when='+gui')
- depends_on('hicolor-icon-theme', type=('build', 'run'), when='+gui')
- depends_on('adwaita-icon-theme', type=('build', 'run'), when='+gui')
- depends_on('gsettings-desktop-schemas', type=('build', 'run'), when='+gui')
- depends_on('py-pygobject', type=('build', 'run'), when='+gui')
- depends_on('py-pyqt5', type=('build', 'run'), when='+gui')
- depends_on('qwt', when='+gui')
-
- extends('python')
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-click-plugins", type=("build", "run"))
+ depends_on("gsl@1.10:")
+ depends_on("gmp")
+ depends_on("fftw")
+ depends_on("cppzmq")
+
+ depends_on("cairo+X+ft+fc+pdf+gobject", when="+gui")
+ depends_on("hicolor-icon-theme", type=("build", "run"), when="+gui")
+ depends_on("adwaita-icon-theme", type=("build", "run"), when="+gui")
+ depends_on("gsettings-desktop-schemas", type=("build", "run"), when="+gui")
+ depends_on("py-pygobject", type=("build", "run"), when="+gui")
+ depends_on("py-pyqt5", type=("build", "run"), when="+gui")
+ depends_on("qwt", when="+gui")
+
+ extends("python")
def cmake_args(self):
args = []
- args.append('-DPYTHON_EXECUTABLE={0}'.format(
- self.spec['python'].command.path))
- args.append('-DENABLE_INTERNAL_VOLK=OFF')
+ args.append("-DPYTHON_EXECUTABLE={0}".format(self.spec["python"].command.path))
+ args.append("-DENABLE_INTERNAL_VOLK=OFF")
return args
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py
index 30f475a384..d75ab7c15b 100644
--- a/var/spack/repos/builtin/packages/gnutls/package.py
+++ b/var/spack/repos/builtin/packages/gnutls/package.py
@@ -15,37 +15,37 @@ class Gnutls(AutotoolsPackage):
and efficient with focus on security and interoperability."""
homepage = "https://www.gnutls.org"
- url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz"
+ url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz"
- version('3.6.15', sha256='0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558')
- version('3.6.14', sha256='5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63')
- version('3.6.8', sha256='aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83')
- version('3.6.7.1', sha256='881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad')
- version('3.5.19', sha256='1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44')
- version('3.5.13', sha256='79f5480ad198dad5bc78e075f4a40c4a315a1b2072666919d2d05a08aec13096')
- version('3.5.10', sha256='af443e86ba538d4d3e37c4732c00101a492fe4b56a55f4112ff0ab39dbe6579d')
- version('3.5.9', sha256='82b10f0c4ef18f4e64ad8cef5dbaf14be732f5095a41cf366b4ecb4050382951')
- version('3.3.9', sha256='39166de5293a9d30ef1cd0a4d97f01fdeed7d7dbf8db95392e309256edcb13c1')
+ version("3.6.15", sha256="0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558")
+ version("3.6.14", sha256="5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63")
+ version("3.6.8", sha256="aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83")
+ version("3.6.7.1", sha256="881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad")
+ version("3.5.19", sha256="1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44")
+ version("3.5.13", sha256="79f5480ad198dad5bc78e075f4a40c4a315a1b2072666919d2d05a08aec13096")
+ version("3.5.10", sha256="af443e86ba538d4d3e37c4732c00101a492fe4b56a55f4112ff0ab39dbe6579d")
+ version("3.5.9", sha256="82b10f0c4ef18f4e64ad8cef5dbaf14be732f5095a41cf366b4ecb4050382951")
+ version("3.3.9", sha256="39166de5293a9d30ef1cd0a4d97f01fdeed7d7dbf8db95392e309256edcb13c1")
- variant('zlib', default=True, description='Enable zlib compression support')
- variant('guile', default=False, description='Enable Guile bindings')
+ variant("zlib", default=True, description="Enable zlib compression support")
+ variant("guile", default=False, description="Enable Guile bindings")
# gnutls+guile is currently broken on MacOS. See Issue #11668
- conflicts('+guile', when='platform=darwin')
+ conflicts("+guile", when="platform=darwin")
# Note that version 3.3.9 of gnutls doesn't support nettle 3.0.
- depends_on('nettle@3.4.1:', when='@3.6.7.1:')
- depends_on('guile', when='+guile')
- depends_on('nettle@:2.9', when='@3.3.9')
- depends_on('nettle', when='@3.5:')
- depends_on('libidn2@:2.0', when='@:3.5')
- depends_on('libidn2')
- depends_on('zlib', when='+zlib')
- depends_on('gettext')
+ depends_on("nettle@3.4.1:", when="@3.6.7.1:")
+ depends_on("guile", when="+guile")
+ depends_on("nettle@:2.9", when="@3.3.9")
+ depends_on("nettle", when="@3.5:")
+ depends_on("libidn2@:2.0", when="@:3.5")
+ depends_on("libidn2")
+ depends_on("zlib", when="+zlib")
+ depends_on("gettext")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def url_for_version(self, version):
url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v{0}/gnutls-{1}.tar.xz"
@@ -53,43 +53,47 @@ class Gnutls(AutotoolsPackage):
def setup_build_environment(self, env):
spec = self.spec
- if '+guile' in spec:
- env.set('GUILE', spec["guile"].prefix.bin.guile)
+ if "+guile" in spec:
+ env.set("GUILE", spec["guile"].prefix.bin.guile)
def configure_args(self):
spec = self.spec
args = [
- '--enable-static',
+ "--enable-static",
]
- if spec.satisfies('@3.5:'):
+ if spec.satisfies("@3.5:"):
# use shipped libraries, might be turned into variants
- args.append('--with-included-libtasn1')
- args.append('--with-included-unistring')
- args.append('--without-p11-kit') # p11-kit@0.23.1: ...
+ args.append("--with-included-libtasn1")
+ args.append("--with-included-unistring")
+ args.append("--without-p11-kit") # p11-kit@0.23.1: ...
- if '+zlib' in spec:
- args.append('--with-zlib')
+ if "+zlib" in spec:
+ args.append("--with-zlib")
else:
- args.append('--without-zlib')
+ args.append("--without-zlib")
- if '+guile' in spec:
- args.append('--enable-guile')
+ if "+guile" in spec:
+ args.append("--enable-guile")
else:
- args.append('--disable-guile')
+ args.append("--disable-guile")
if self.run_tests:
- args.extend([
- '--enable-tests',
- '--enable-valgrind-tests',
- '--enable-full-test-suite',
- ])
+ args.extend(
+ [
+ "--enable-tests",
+ "--enable-valgrind-tests",
+ "--enable-full-test-suite",
+ ]
+ )
else:
- args.extend([
- '--disable-tests',
- '--disable-valgrind-tests',
- '--disable-full-test-suite',
- ])
+ args.extend(
+ [
+ "--disable-tests",
+ "--disable-valgrind-tests",
+ "--disable-full-test-suite",
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py
index 3358bd750e..7068a44c93 100644
--- a/var/spack/repos/builtin/packages/go-bootstrap/package.py
+++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py
@@ -24,50 +24,55 @@ class GoBootstrap(Package):
# See: https://golang.org/doc/install/source#go14 and
# https://github.com/golang/go/issues/17545 and
# https://github.com/golang/go/issues/16352
- version('1.4-bootstrap-20171003', sha256='f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52',
- url='https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz')
- version('1.4-bootstrap-20170531', sha256='49f806f66762077861b7de7081f586995940772d29d4c45068c134441a743fa2',
- url='https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz')
- version('1.4-bootstrap-20161024', sha256='398c70d9d10541ba9352974cc585c43220b6d8dbcd804ba2c9bd2fbf35fab286',
- url='https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz')
-
- provides('golang@:1.4-bootstrap-20171003')
-
- depends_on('git', type=('build', 'link', 'run'))
-
- conflicts('os=monterey', msg="go-bootstrap won't build on new macOS")
- conflicts('target=aarch64:',
- msg="Go bootstrap doesn't support aarch64 architectures")
+ version(
+ "1.4-bootstrap-20171003",
+ sha256="f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52",
+ url="https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz",
+ )
+ version(
+ "1.4-bootstrap-20170531",
+ sha256="49f806f66762077861b7de7081f586995940772d29d4c45068c134441a743fa2",
+ url="https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz",
+ )
+ version(
+ "1.4-bootstrap-20161024",
+ sha256="398c70d9d10541ba9352974cc585c43220b6d8dbcd804ba2c9bd2fbf35fab286",
+ url="https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz",
+ )
+
+ provides("golang@:1.4-bootstrap-20171003")
+
+ depends_on("git", type=("build", "link", "run"))
+
+ conflicts("os=monterey", msg="go-bootstrap won't build on new macOS")
+ conflicts("target=aarch64:", msg="Go bootstrap doesn't support aarch64 architectures")
def patch(self):
- if self.spec.satisfies('@:1.4.3'):
+ if self.spec.satisfies("@:1.4.3"):
# NOTE: Older versions of Go attempt to download external files that have
# since been moved while running the test suite. This patch modifies the
# test files so that these tests don't cause false failures.
# See: https://github.com/golang/go/issues/15694
- test_suite_file = FileFilter(join_path('src', 'run.bash'))
+ test_suite_file = FileFilter(join_path("src", "run.bash"))
test_suite_file.filter(
- r'^(.*)(\$GOROOT/src/cmd/api/run.go)(.*)$',
- r'# \1\2\3',
+ r"^(.*)(\$GOROOT/src/cmd/api/run.go)(.*)$",
+ r"# \1\2\3",
)
# Go uses a hardcoded limit of 4096 bytes for its printf functions.
# This can cause environment variables to be truncated.
- filter_file('char buf[4096];',
- 'char buf[131072];',
- 'src/cmd/dist/unix.c',
- string=True)
+ filter_file("char buf[4096];", "char buf[131072];", "src/cmd/dist/unix.c", string=True)
def install(self, spec, prefix):
- env['CGO_ENABLED'] = '0'
- bash = which('bash')
- with working_dir('src'):
- bash('{0}.bash'.format('all' if self.run_tests else 'make'))
+ env["CGO_ENABLED"] = "0"
+ bash = which("bash")
+ with working_dir("src"):
+ bash("{0}.bash".format("all" if self.run_tests else "make"))
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('GOROOT_BOOTSTRAP', self.spec.prefix)
+ env.set("GOROOT_BOOTSTRAP", self.spec.prefix)
def setup_build_environment(self, env):
- env.set('GOROOT_FINAL', self.spec.prefix)
+ env.set("GOROOT_FINAL", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/go-md2man/package.py b/var/spack/repos/builtin/packages/go-md2man/package.py
index c52b5f07d1..e548d55c4d 100644
--- a/var/spack/repos/builtin/packages/go-md2man/package.py
+++ b/var/spack/repos/builtin/packages/go-md2man/package.py
@@ -10,37 +10,35 @@ class GoMd2man(Package):
"""go-md2man converts markdown into roff (man pages)"""
homepage = "https://github.com/cpuguy83/go-md2man"
- url = "https://github.com/cpuguy83/go-md2man/archive/v1.0.10.tar.gz"
+ url = "https://github.com/cpuguy83/go-md2man/archive/v1.0.10.tar.gz"
- version('1.0.10', sha256='76aa56849123b99b95fcea2b15502fd886dead9a5c35be7f78bdc2bad6be8d99')
+ version("1.0.10", sha256="76aa56849123b99b95fcea2b15502fd886dead9a5c35be7f78bdc2bad6be8d99")
- depends_on('go')
+ depends_on("go")
- resource(name='blackfriday',
- url='https://github.com/russross/blackfriday/archive/v1.5.2.tar.gz',
- sha256='626138a08abb8579474a555e9d45cb5260629a2c07e8834428620a650dc9f195',
- placement='blackfriday',
- destination=join_path('src', 'github.com', 'russross'))
+ resource(
+ name="blackfriday",
+ url="https://github.com/russross/blackfriday/archive/v1.5.2.tar.gz",
+ sha256="626138a08abb8579474a555e9d45cb5260629a2c07e8834428620a650dc9f195",
+ placement="blackfriday",
+ destination=join_path("src", "github.com", "russross"),
+ )
def patch(self):
- mkdirp(join_path(self.stage.source_path,
- 'src', 'github.com', 'russross'))
+ mkdirp(join_path(self.stage.source_path, "src", "github.com", "russross"))
- mkdirp(join_path(self.stage.source_path,
- 'src', 'github.com', 'cpuguy83'))
+ mkdirp(join_path(self.stage.source_path, "src", "github.com", "cpuguy83"))
- ln = which('ln')
- ln('-s', self.stage.source_path, join_path(
- 'src', 'github.com', 'cpuguy83', 'go-md2man'))
+ ln = which("ln")
+ ln("-s", self.stage.source_path, join_path("src", "github.com", "cpuguy83", "go-md2man"))
def install(self, spec, prefix):
- with working_dir('src'):
- env['GOPATH'] = self.stage.source_path
- env['GO111MODULE'] = 'off'
- go = which('go')
- go('build', '-v', join_path(
- 'github.com', 'cpuguy83', 'go-md2man'))
+ with working_dir("src"):
+ env["GOPATH"] = self.stage.source_path
+ env["GO111MODULE"] = "off"
+ go = which("go")
+ go("build", "-v", join_path("github.com", "cpuguy83", "go-md2man"))
mkdir(prefix.bin)
- install('go-md2man', prefix.bin)
+ install("go-md2man", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index 6596265389..e1425f06c8 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -34,103 +34,120 @@ from spack.package import *
class Go(Package):
"""The golang compiler and build environment"""
+
homepage = "https://golang.org"
- url = "https://dl.google.com/go/go1.16.6.src.tar.gz"
- git = "https://go.googlesource.com/go.git"
+ url = "https://dl.google.com/go/go1.16.6.src.tar.gz"
+ git = "https://go.googlesource.com/go.git"
extendable = True
- executables = ['^go$']
-
- maintainers = ['alecbcs']
-
- version('1.18', sha256='38f423db4cc834883f2b52344282fa7a39fbb93650dc62a11fdf0be6409bdad6')
- version('1.17.8', sha256='2effcd898140da79a061f3784ca4f8d8b13d811fb2abe9dad2404442dabbdf7a')
- version('1.17.7', sha256='c108cd33b73b1911a02b697741df3dea43e01a5c4e08e409e8b3a0e3745d2b4d')
- version('1.17.3', sha256='705c64251e5b25d5d55ede1039c6aa22bea40a7a931d14c370339853643c3df0', deprecated=True)
- version('1.17.2', sha256='2255eb3e4e824dd7d5fcdc2e7f84534371c186312e546fb1086a34c17752f431', deprecated=True)
- version('1.17.1', sha256='49dc08339770acd5613312db8c141eaf61779995577b89d93b541ef83067e5b1', deprecated=True)
- version('1.17', sha256='3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d', deprecated=True)
- version('1.16.10', sha256='a905472011585e403d00d2a41de7ced29b8884309d73482a307f689fd0f320b5')
- version('1.16.9', sha256='0a1cc7fd7bd20448f71ebed64d846138850d5099b18cf5cc10a4fc45160d8c3d')
- version('1.16.6', sha256='a3a5d4bc401b51db065e4f93b523347a4d343ae0c0b08a65c3423b05a138037d')
- version('1.16.5', sha256='7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80')
- version('1.16.4', sha256='ae4f6b6e2a1677d31817984655a762074b5356da50fb58722b99104870d43503')
- version('1.16.3', sha256='b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25')
- version('1.16.2', sha256='37ca14287a23cb8ba2ac3f5c3dd8adbc1f7a54b9701a57824bf19a0b271f83ea')
- version('1.16', sha256='7688063d55656105898f323d90a79a39c378d86fe89ae192eb3b7fc46347c95a')
- version('1.15.13', sha256='99069e7223479cce4553f84f874b9345f6f4045f27cf5089489b546da619a244')
- version('1.15.12', sha256='1c6911937df4a277fa74e7b7efc3d08594498c4c4adc0b6c4ae3566137528091')
- version('1.15.11', sha256='f25b2441d4c76cf63cde94d59bab237cc33e8a2a139040d904c8630f46d061e5')
- version('1.15.8', sha256='540c0ab7781084d124991321ed1458e479982de94454a98afab6acadf38497c2')
- version('1.15.7', sha256='8631b3aafd8ecb9244ec2ffb8a2a8b4983cf4ad15572b9801f7c5b167c1a2abc')
- version('1.15.6', sha256='890bba73c5e2b19ffb1180e385ea225059eb008eb91b694875dd86ea48675817')
- version('1.15.5', sha256='c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1')
- version('1.15.2', sha256='28bf9d0bcde251011caae230a4a05d917b172ea203f2a62f2c2f9533589d4b4d')
- version('1.15.1', sha256='d3743752a421881b5cc007c76b4b68becc3ad053e61275567edab1c99e154d30')
- version('1.15', sha256='69438f7ed4f532154ffaf878f3dfd83747e7a00b70b3556eddabf7aaee28ac3a')
- version('1.14.14', sha256='6204bf32f58fae0853f47f1bd0c51d9e0ac11f1ffb406bed07a0a8b016c8a76f')
- version('1.14.13', sha256='ba1d244c6b5c0ed04aa0d7856d06aceb89ed31b895de6ff783efb1cc8ab6b177')
- version('1.14.12', sha256='b34f4b7ad799eab4c1a52bdef253602ce957125a512f5a1b28dce43c6841b971')
- version('1.14.9', sha256='c687c848cc09bcabf2b5e534c3fc4259abebbfc9014dd05a1a2dc6106f404554')
- version('1.14.8', sha256='d9a613fb55f508cf84e753456a7c6a113c8265839d5b7fe060da335c93d6e36a')
- version('1.14.6', sha256='73fc9d781815d411928eccb92bf20d5b4264797be69410eac854babe44c94c09')
- version('1.14.5', sha256='ca4c080c90735e56152ac52cd77ae57fe573d1debb1a58e03da9cc362440315c')
- version('1.14.4', sha256='7011af3bbc2ac108d1b82ea8abb87b2e63f78844f0259be20cde4d42c5c40584')
- version('1.14.3', sha256='93023778d4d1797b7bc6a53e86c3a9b150c923953225f8a48a2d5fabc971af56')
- version('1.14.2', sha256='98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c')
- version('1.14.1', sha256='2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676')
- version('1.14', sha256='6d643e46ad565058c7a39dac01144172ef9bd476521f42148be59249e4b74389')
- version('1.13.14', sha256='197333e97290e9ea8796f738d61019dcba1c377c2f3961fd6a114918ecc7ab06')
- version('1.13.13', sha256='ab7e44461e734ce1fd5f4f82c74c6d236e947194d868514d48a2b1ea73d25137')
- version('1.13.12', sha256='17ba2c4de4d78793a21cc659d9907f4356cd9c8de8b7d0899cdedcef712eba34')
- version('1.13.11', sha256='89ed1abce25ad003521c125d6583c93c1280de200ad221f961085200a6c00679')
- version('1.13.10', sha256='eb9ccc8bf59ed068e7eff73e154e4f5ee7eec0a47a610fb864e3332a2fdc8b8c')
- version('1.13.9', sha256='34bb19d806e0bc4ad8f508ae24bade5e9fedfa53d09be63b488a9314d2d4f31d')
- version('1.13.8', sha256='b13bf04633d4d8cf53226ebeaace8d4d2fd07ae6fa676d0844a688339debec34')
- version('1.13.7', sha256='e4ad42cc5f5c19521fbbbde3680995f2546110b5c6aa2b48c3754ff7af9b41f4')
- version('1.13.6', sha256='aae5be954bdc40bcf8006eb77e8d8a5dde412722bc8effcdaf9772620d06420c')
- version('1.13.5', sha256='27d356e2a0b30d9983b60a788cf225da5f914066b37a6b4f69d457ba55a626ff')
- version('1.13.4', sha256='95dbeab442ee2746b9acf0934c8e2fc26414a0565c008631b04addb8c02e7624')
- version('1.13.3', sha256='4f7123044375d5c404280737fbd2d0b17064b66182a65919ffe20ffe8620e3df')
- version('1.13.2', sha256='1ea68e01472e4276526902b8817abd65cf84ed921977266f0c11968d5e915f44')
- version('1.13.1', sha256='81f154e69544b9fa92b1475ff5f11e64270260d46e7e36c34aafc8bc96209358')
- version('1.13', sha256='3fc0b8b6101d42efd7da1da3029c0a13f22079c0c37ef9730209d8ec665bf122')
- version('1.12.17', sha256='de878218c43aa3c3bad54c1c52d95e3b0e5d336e1285c647383e775541a28b25')
- version('1.12.15', sha256='8aba74417e527524ad5724e6e6c21016795d1017692db76d1b0851c6bdec84c3')
- version('1.12.14', sha256='39dbf05f7e2ffcb19b08f07d53dcc96feadeb1987fef9e279e7ff0c598213064')
- version('1.12.13', sha256='5383d3b8db4baa48284ffcb14606d9cad6f03e9db843fa6d835b94d63cccf5a7')
- version('1.12.12', sha256='fcb33b5290fa9bcc52be3211501540df7483d7276b031fc77528672a3c705b99')
- version('1.12.11', sha256='fcf58935236802929f5726e96cd1d900853b377bec2c51b2e37219c658a4950f')
- version('1.12.10', sha256='f56e48fce80646d3c94dcf36d3e3f490f6d541a92070ad409b87b6bbb9da3954')
- version('1.12.9', sha256='ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc')
- version('1.12.8', sha256='11ad2e2e31ff63fcf8a2bdffbe9bfa2e1845653358daed593c8c2d03453c9898')
- version('1.12.6', sha256='c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca')
- version('1.12.5', sha256='2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8')
- version('1.11.13', sha256='5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076')
- version('1.11.11', sha256='1fff7c33ef2522e6dfaf6ab96ec4c2a8b76d018aae6fc88ce2bd40f2202d0f8c')
- version('1.11.10', sha256='df27e96a9d1d362c46ecd975f1faa56b8c300f5c529074e9ea79bdd885493c1b')
- version('1.11.5', sha256='bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e')
- version('1.11.4', sha256='4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15')
- version('1.11.2', sha256='042fba357210816160341f1002440550e952eb12678f7c9e7e9d389437942550')
- version('1.11.1', sha256='558f8c169ae215e25b81421596e8de7572bd3ba824b79add22fba6e284db1117')
- version('1.11', sha256='afc1e12f5fe49a471e3aae7d906c73e9d5b1fdd36d52d72652dde8f6250152fb')
- version('1.10.3', sha256='567b1cc66c9704d1c019c50bef946272e911ec6baf244310f87f4e678be155f2')
- version('1.10.2', sha256='6264609c6b9cd8ed8e02ca84605d727ce1898d74efa79841660b2e3e985a98bd')
- version('1.10.1', sha256='589449ff6c3ccbff1d391d4e7ab5bb5d5643a5a41a04c99315e55c16bbf73ddc')
- version('1.9.5', sha256='f1c2bb7f32bbd8fa7a19cc1608e0d06582df32ff5f0340967d83fb0017c49fbc')
- version('1.9.2', sha256='665f184bf8ac89986cfd5a4460736976f60b57df6b320ad71ad4cef53bb143dc')
- version('1.9.1', sha256='a84afc9dc7d64fe0fa84d4d735e2ece23831a22117b50dafc75c1484f1cb550e')
- version('1.9', sha256='a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993')
- version('1.8.3', sha256='5f5dea2447e7dcfdc50fa6b94c512e58bfba5673c039259fd843f68829d99fa6')
- version('1.8.1', sha256='33daf4c03f86120fdfdc66bddf6bfff4661c7ca11c5da473e537f4d69b470e57')
- version('1.8', sha256='406865f587b44be7092f206d73fc1de252600b79b3cacc587b74b5ef5c623596')
- version('1.7.5', sha256='4e834513a2079f8cbbd357502cccaac9507fd00a1efe672375798858ff291815')
- version('1.7.4', sha256='4c189111e9ba651a2bb3ee868aa881fab36b2f2da3409e80885ca758a6b614cc')
- version('1.6.4', sha256='8796cc48217b59595832aa9de6db45f58706dae68c9c7fbbd78c9fdbe3cd9032')
-
- provides('golang')
-
- depends_on('git', type=('build', 'link', 'run'))
+ executables = ["^go$"]
+
+ maintainers = ["alecbcs"]
+
+ version("1.18", sha256="38f423db4cc834883f2b52344282fa7a39fbb93650dc62a11fdf0be6409bdad6")
+ version("1.17.8", sha256="2effcd898140da79a061f3784ca4f8d8b13d811fb2abe9dad2404442dabbdf7a")
+ version("1.17.7", sha256="c108cd33b73b1911a02b697741df3dea43e01a5c4e08e409e8b3a0e3745d2b4d")
+ version(
+ "1.17.3",
+ sha256="705c64251e5b25d5d55ede1039c6aa22bea40a7a931d14c370339853643c3df0",
+ deprecated=True,
+ )
+ version(
+ "1.17.2",
+ sha256="2255eb3e4e824dd7d5fcdc2e7f84534371c186312e546fb1086a34c17752f431",
+ deprecated=True,
+ )
+ version(
+ "1.17.1",
+ sha256="49dc08339770acd5613312db8c141eaf61779995577b89d93b541ef83067e5b1",
+ deprecated=True,
+ )
+ version(
+ "1.17",
+ sha256="3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d",
+ deprecated=True,
+ )
+ version("1.16.10", sha256="a905472011585e403d00d2a41de7ced29b8884309d73482a307f689fd0f320b5")
+ version("1.16.9", sha256="0a1cc7fd7bd20448f71ebed64d846138850d5099b18cf5cc10a4fc45160d8c3d")
+ version("1.16.6", sha256="a3a5d4bc401b51db065e4f93b523347a4d343ae0c0b08a65c3423b05a138037d")
+ version("1.16.5", sha256="7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80")
+ version("1.16.4", sha256="ae4f6b6e2a1677d31817984655a762074b5356da50fb58722b99104870d43503")
+ version("1.16.3", sha256="b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25")
+ version("1.16.2", sha256="37ca14287a23cb8ba2ac3f5c3dd8adbc1f7a54b9701a57824bf19a0b271f83ea")
+ version("1.16", sha256="7688063d55656105898f323d90a79a39c378d86fe89ae192eb3b7fc46347c95a")
+ version("1.15.13", sha256="99069e7223479cce4553f84f874b9345f6f4045f27cf5089489b546da619a244")
+ version("1.15.12", sha256="1c6911937df4a277fa74e7b7efc3d08594498c4c4adc0b6c4ae3566137528091")
+ version("1.15.11", sha256="f25b2441d4c76cf63cde94d59bab237cc33e8a2a139040d904c8630f46d061e5")
+ version("1.15.8", sha256="540c0ab7781084d124991321ed1458e479982de94454a98afab6acadf38497c2")
+ version("1.15.7", sha256="8631b3aafd8ecb9244ec2ffb8a2a8b4983cf4ad15572b9801f7c5b167c1a2abc")
+ version("1.15.6", sha256="890bba73c5e2b19ffb1180e385ea225059eb008eb91b694875dd86ea48675817")
+ version("1.15.5", sha256="c1076b90cf94b73ebed62a81d802cd84d43d02dea8c07abdc922c57a071c84f1")
+ version("1.15.2", sha256="28bf9d0bcde251011caae230a4a05d917b172ea203f2a62f2c2f9533589d4b4d")
+ version("1.15.1", sha256="d3743752a421881b5cc007c76b4b68becc3ad053e61275567edab1c99e154d30")
+ version("1.15", sha256="69438f7ed4f532154ffaf878f3dfd83747e7a00b70b3556eddabf7aaee28ac3a")
+ version("1.14.14", sha256="6204bf32f58fae0853f47f1bd0c51d9e0ac11f1ffb406bed07a0a8b016c8a76f")
+ version("1.14.13", sha256="ba1d244c6b5c0ed04aa0d7856d06aceb89ed31b895de6ff783efb1cc8ab6b177")
+ version("1.14.12", sha256="b34f4b7ad799eab4c1a52bdef253602ce957125a512f5a1b28dce43c6841b971")
+ version("1.14.9", sha256="c687c848cc09bcabf2b5e534c3fc4259abebbfc9014dd05a1a2dc6106f404554")
+ version("1.14.8", sha256="d9a613fb55f508cf84e753456a7c6a113c8265839d5b7fe060da335c93d6e36a")
+ version("1.14.6", sha256="73fc9d781815d411928eccb92bf20d5b4264797be69410eac854babe44c94c09")
+ version("1.14.5", sha256="ca4c080c90735e56152ac52cd77ae57fe573d1debb1a58e03da9cc362440315c")
+ version("1.14.4", sha256="7011af3bbc2ac108d1b82ea8abb87b2e63f78844f0259be20cde4d42c5c40584")
+ version("1.14.3", sha256="93023778d4d1797b7bc6a53e86c3a9b150c923953225f8a48a2d5fabc971af56")
+ version("1.14.2", sha256="98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c")
+ version("1.14.1", sha256="2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676")
+ version("1.14", sha256="6d643e46ad565058c7a39dac01144172ef9bd476521f42148be59249e4b74389")
+ version("1.13.14", sha256="197333e97290e9ea8796f738d61019dcba1c377c2f3961fd6a114918ecc7ab06")
+ version("1.13.13", sha256="ab7e44461e734ce1fd5f4f82c74c6d236e947194d868514d48a2b1ea73d25137")
+ version("1.13.12", sha256="17ba2c4de4d78793a21cc659d9907f4356cd9c8de8b7d0899cdedcef712eba34")
+ version("1.13.11", sha256="89ed1abce25ad003521c125d6583c93c1280de200ad221f961085200a6c00679")
+ version("1.13.10", sha256="eb9ccc8bf59ed068e7eff73e154e4f5ee7eec0a47a610fb864e3332a2fdc8b8c")
+ version("1.13.9", sha256="34bb19d806e0bc4ad8f508ae24bade5e9fedfa53d09be63b488a9314d2d4f31d")
+ version("1.13.8", sha256="b13bf04633d4d8cf53226ebeaace8d4d2fd07ae6fa676d0844a688339debec34")
+ version("1.13.7", sha256="e4ad42cc5f5c19521fbbbde3680995f2546110b5c6aa2b48c3754ff7af9b41f4")
+ version("1.13.6", sha256="aae5be954bdc40bcf8006eb77e8d8a5dde412722bc8effcdaf9772620d06420c")
+ version("1.13.5", sha256="27d356e2a0b30d9983b60a788cf225da5f914066b37a6b4f69d457ba55a626ff")
+ version("1.13.4", sha256="95dbeab442ee2746b9acf0934c8e2fc26414a0565c008631b04addb8c02e7624")
+ version("1.13.3", sha256="4f7123044375d5c404280737fbd2d0b17064b66182a65919ffe20ffe8620e3df")
+ version("1.13.2", sha256="1ea68e01472e4276526902b8817abd65cf84ed921977266f0c11968d5e915f44")
+ version("1.13.1", sha256="81f154e69544b9fa92b1475ff5f11e64270260d46e7e36c34aafc8bc96209358")
+ version("1.13", sha256="3fc0b8b6101d42efd7da1da3029c0a13f22079c0c37ef9730209d8ec665bf122")
+ version("1.12.17", sha256="de878218c43aa3c3bad54c1c52d95e3b0e5d336e1285c647383e775541a28b25")
+ version("1.12.15", sha256="8aba74417e527524ad5724e6e6c21016795d1017692db76d1b0851c6bdec84c3")
+ version("1.12.14", sha256="39dbf05f7e2ffcb19b08f07d53dcc96feadeb1987fef9e279e7ff0c598213064")
+ version("1.12.13", sha256="5383d3b8db4baa48284ffcb14606d9cad6f03e9db843fa6d835b94d63cccf5a7")
+ version("1.12.12", sha256="fcb33b5290fa9bcc52be3211501540df7483d7276b031fc77528672a3c705b99")
+ version("1.12.11", sha256="fcf58935236802929f5726e96cd1d900853b377bec2c51b2e37219c658a4950f")
+ version("1.12.10", sha256="f56e48fce80646d3c94dcf36d3e3f490f6d541a92070ad409b87b6bbb9da3954")
+ version("1.12.9", sha256="ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc")
+ version("1.12.8", sha256="11ad2e2e31ff63fcf8a2bdffbe9bfa2e1845653358daed593c8c2d03453c9898")
+ version("1.12.6", sha256="c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca")
+ version("1.12.5", sha256="2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8")
+ version("1.11.13", sha256="5032095fd3f641cafcce164f551e5ae873785ce7b07ca7c143aecd18f7ba4076")
+ version("1.11.11", sha256="1fff7c33ef2522e6dfaf6ab96ec4c2a8b76d018aae6fc88ce2bd40f2202d0f8c")
+ version("1.11.10", sha256="df27e96a9d1d362c46ecd975f1faa56b8c300f5c529074e9ea79bdd885493c1b")
+ version("1.11.5", sha256="bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e")
+ version("1.11.4", sha256="4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15")
+ version("1.11.2", sha256="042fba357210816160341f1002440550e952eb12678f7c9e7e9d389437942550")
+ version("1.11.1", sha256="558f8c169ae215e25b81421596e8de7572bd3ba824b79add22fba6e284db1117")
+ version("1.11", sha256="afc1e12f5fe49a471e3aae7d906c73e9d5b1fdd36d52d72652dde8f6250152fb")
+ version("1.10.3", sha256="567b1cc66c9704d1c019c50bef946272e911ec6baf244310f87f4e678be155f2")
+ version("1.10.2", sha256="6264609c6b9cd8ed8e02ca84605d727ce1898d74efa79841660b2e3e985a98bd")
+ version("1.10.1", sha256="589449ff6c3ccbff1d391d4e7ab5bb5d5643a5a41a04c99315e55c16bbf73ddc")
+ version("1.9.5", sha256="f1c2bb7f32bbd8fa7a19cc1608e0d06582df32ff5f0340967d83fb0017c49fbc")
+ version("1.9.2", sha256="665f184bf8ac89986cfd5a4460736976f60b57df6b320ad71ad4cef53bb143dc")
+ version("1.9.1", sha256="a84afc9dc7d64fe0fa84d4d735e2ece23831a22117b50dafc75c1484f1cb550e")
+ version("1.9", sha256="a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993")
+ version("1.8.3", sha256="5f5dea2447e7dcfdc50fa6b94c512e58bfba5673c039259fd843f68829d99fa6")
+ version("1.8.1", sha256="33daf4c03f86120fdfdc66bddf6bfff4661c7ca11c5da473e537f4d69b470e57")
+ version("1.8", sha256="406865f587b44be7092f206d73fc1de252600b79b3cacc587b74b5ef5c623596")
+ version("1.7.5", sha256="4e834513a2079f8cbbd357502cccaac9507fd00a1efe672375798858ff291815")
+ version("1.7.4", sha256="4c189111e9ba651a2bb3ee868aa881fab36b2f2da3409e80885ca758a6b614cc")
+ version("1.6.4", sha256="8796cc48217b59595832aa9de6db45f58706dae68c9c7fbbd78c9fdbe3cd9032")
+
+ provides("golang")
+
+ depends_on("git", type=("build", "link", "run"))
# aarch64 machines (including Macs with Apple silicon) can't use
# go-bootstrap because it pre-dates aarch64 support in Go. These machines
@@ -141,59 +158,59 @@ class Go(Package):
# https://github.com/golang/go/issues/47771 ) On the 10.x branch, we need
# at least 10.4. On the 11.x branch, we need at least 11.3.
- if platform.machine() == 'aarch64':
- depends_on('gcc@10.4.0:10,11.3.0: languages=go', type='build')
+ if platform.machine() == "aarch64":
+ depends_on("gcc@10.4.0:10,11.3.0: languages=go", type="build")
else:
- depends_on('go-bootstrap', type='build')
+ depends_on("go-bootstrap", type="build")
# https://github.com/golang/go/issues/17545
- patch('time_test.patch', when='@1.6.4:1.7.4')
+ patch("time_test.patch", when="@1.6.4:1.7.4")
# https://github.com/golang/go/issues/17986
# The fix for this issue has been merged into the 1.8 tree.
- patch('misc-cgo-testcshared.patch', level=0, when='@1.6.4:1.7.5')
+ patch("misc-cgo-testcshared.patch", level=0, when="@1.6.4:1.7.5")
# Unrecognized option '-fno-lto'
- conflicts('%gcc@:4', when='@1.17:')
+ conflicts("%gcc@:4", when="@1.17:")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('version', output=str, error=str)
- match = re.search(r'go version go(\S+)', output)
+ output = Executable(exe)("version", output=str, error=str)
+ match = re.search(r"go version go(\S+)", output)
return match.group(1) if match else None
# NOTE: Older versions of Go attempt to download external files that have
# since been moved while running the test suite. This patch modifies the
# test files so that these tests don't cause false failures.
# See: https://github.com/golang/go/issues/15694
- @when('@:1.4.3')
+ @when("@:1.4.3")
def patch(self):
- test_suite_file = FileFilter(join_path('src', 'run.bash'))
+ test_suite_file = FileFilter(join_path("src", "run.bash"))
test_suite_file.filter(
- r'^(.*)(\$GOROOT/src/cmd/api/run.go)(.*)$',
- r'# \1\2\3',
+ r"^(.*)(\$GOROOT/src/cmd/api/run.go)(.*)$",
+ r"# \1\2\3",
)
def install(self, spec, prefix):
- bash = which('bash')
+ bash = which("bash")
- wd = '.'
+ wd = "."
# 1.11.5 directory structure is slightly different
- if self.version == Version('1.11.5'):
- wd = 'go'
+ if self.version == Version("1.11.5"):
+ wd = "go"
- with working_dir(join_path(wd, 'src')):
- bash('{0}.bash'.format('all' if self.run_tests else 'make'))
+ with working_dir(join_path(wd, "src")):
+ bash("{0}.bash".format("all" if self.run_tests else "make"))
install_tree(wd, prefix)
def setup_build_environment(self, env):
- env.set('GOROOT_FINAL', self.spec.prefix)
+ env.set("GOROOT_FINAL", self.spec.prefix)
# We need to set CC/CXX_FOR_TARGET, otherwise cgo will use the
# internal Spack wrappers and fail.
- env.set('CC_FOR_TARGET', self.compiler.cc)
- env.set('CXX_FOR_TARGET', self.compiler.cxx)
+ env.set("CC_FOR_TARGET", self.compiler.cc)
+ env.set("CXX_FOR_TARGET", self.compiler.cxx)
def setup_dependent_package(self, module, dependent_spec):
"""Called before go modules' install() methods.
@@ -205,25 +222,23 @@ class Go(Package):
install_tree('bin', prefix.bin)
"""
# Add a go command/compiler for extensions
- module.go = self.spec['go'].command
+ module.go = self.spec["go"].command
def generate_path_components(self, dependent_spec):
- if os.environ.get('GOROOT', False):
- tty.warn('GOROOT is set, this is not recommended')
+ if os.environ.get("GOROOT", False):
+ tty.warn("GOROOT is set, this is not recommended")
# Set to include paths of dependencies
path_components = [dependent_spec.prefix]
for d in dependent_spec.traverse():
if d.package.extends(self.spec):
path_components.append(d.prefix)
- return ':'.join(path_components)
+ return ":".join(path_components)
def setup_dependent_build_environment(self, env, dependent_spec):
# This *MUST* be first, this is where new code is installed
- env.prepend_path('GOPATH', self.generate_path_components(
- dependent_spec))
+ env.prepend_path("GOPATH", self.generate_path_components(dependent_spec))
def setup_dependent_run_environment(self, env, dependent_spec):
# Allow packages to find this when using module files
- env.prepend_path('GOPATH', self.generate_path_components(
- dependent_spec))
+ env.prepend_path("GOPATH", self.generate_path_components(dependent_spec))
diff --git a/var/spack/repos/builtin/packages/gobject-introspection/package.py b/var/spack/repos/builtin/packages/gobject-introspection/package.py
index f34e3755c9..9ea90684e8 100644
--- a/var/spack/repos/builtin/packages/gobject-introspection/package.py
+++ b/var/spack/repos/builtin/packages/gobject-introspection/package.py
@@ -12,31 +12,31 @@ class GobjectIntrospection(MesonPackage):
collect them in a uniform, machine readable format.Cairo is a 2D graphics
library with support for multiple output"""
- homepage = 'https://wiki.gnome.org/Projects/GObjectIntrospection'
- url = 'https://download.gnome.org/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz'
+ homepage = "https://wiki.gnome.org/Projects/GObjectIntrospection"
+ url = "https://download.gnome.org/sources/gobject-introspection/1.72/gobject-introspection-1.72.0.tar.xz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('1.72.0', sha256='02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc')
- version('1.56.1', sha256='5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d9ea24b')
- version('1.49.2', sha256='73d59470ba1a546b293f54d023fd09cca03a951005745d86d586b9e3a8dde9ac')
- version('1.48.0', sha256='fa275aaccdbfc91ec0bc9a6fd0562051acdba731e7d584b64a277fec60e75877')
+ version("1.72.0", sha256="02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc")
+ version("1.56.1", sha256="5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d9ea24b")
+ version("1.49.2", sha256="73d59470ba1a546b293f54d023fd09cca03a951005745d86d586b9e3a8dde9ac")
+ version("1.48.0", sha256="fa275aaccdbfc91ec0bc9a6fd0562051acdba731e7d584b64a277fec60e75877")
- depends_on('pkgconfig', type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
# Does not build with sed from Darwin
- depends_on('sed', when='platform=darwin', type='build')
+ depends_on("sed", when="platform=darwin", type="build")
- depends_on('cairo+gobject')
- depends_on('glib@2.49.2:', when='@1.49.2:')
+ depends_on("cairo+gobject")
+ depends_on("glib@2.49.2:", when="@1.49.2:")
# version 1.48.0 build fails with glib 2.49.4
- depends_on('glib@2.48.1', when='@1.48.0')
- depends_on('libffi')
+ depends_on("glib@2.48.1", when="@1.48.0")
+ depends_on("libffi")
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283
- depends_on('libffi@:3.3', when='@:1.70') # libffi 3.4 caused seg faults
- depends_on('python')
+ depends_on("libffi@:3.3", when="@:1.70") # libffi 3.4 caused seg faults
+ depends_on("python")
# This package creates several scripts from
# toosl/g-ir-tool-template.in. In their original form these
@@ -58,60 +58,58 @@ class GobjectIntrospection(MesonPackage):
# extra sed expression in its TOOL_SUBSTITUTION that results in
# an `#!/bin/bash /path/to/spack/bin/sbang` unconditionally being
# inserted into the scripts as they're generated.
- patch('sbang.patch', when='@:1.60')
+ patch("sbang.patch", when="@:1.60")
# Drop deprecated xml.etree.ElementTree.Element.getchildren() which leads
# to compilation issues with Python 3.9.
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/325
- patch('https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/'
- '1f9284228092b2a7200e8a78bc0ea6702231c6db.patch',
- sha256='7700828b638c85255c87fcc317ea7e9572ff443f65c86648796528885e5b4cea',
- when='@:1.63.1')
+ patch(
+ "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/"
+ "1f9284228092b2a7200e8a78bc0ea6702231c6db.patch",
+ sha256="7700828b638c85255c87fcc317ea7e9572ff443f65c86648796528885e5b4cea",
+ when="@:1.63.1",
+ )
def url_for_version(self, version):
- url = 'https://download.gnome.org/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz'
+ url = "https://download.gnome.org/sources/gobject-introspection/{0}/gobject-introspection-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_build_environment(self, env):
# Only needed for sbang.patch above
- if self.spec.satisfies('@:1.60'):
- env.set('SPACK_SBANG', sbang.sbang_install_path())
+ if self.spec.satisfies("@:1.60"):
+ env.set("SPACK_SBANG", sbang.sbang_install_path())
def setup_run_environment(self, env):
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
@property
def parallel(self):
- return not self.spec.satisfies('%fj')
+ return not self.spec.satisfies("%fj")
def meson_args(self):
return []
- @when('@:1.60')
+ @when("@:1.60")
def meson(self, spec, prefix):
"""Run the AutotoolsPackage configure phase"""
- configure('--prefix={0}'.format(prefix))
+ configure("--prefix={0}".format(prefix))
- @when('@:1.60')
+ @when("@:1.60")
def build(self, spec, prefix):
"""Run the AutotoolsPackage build phase"""
# we need to filter this file to avoid an overly long hashbang line
- filter_file('#!/usr/bin/env @PYTHON@', '#!@PYTHON@',
- 'tools/g-ir-tool-template.in')
+ filter_file("#!/usr/bin/env @PYTHON@", "#!@PYTHON@", "tools/g-ir-tool-template.in")
make()
- @when('@:1.60')
+ @when("@:1.60")
def install(self, spec, prefix):
"""Run the AutotoolsPackage install phase"""
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/goblin-hmc-sim/package.py b/var/spack/repos/builtin/packages/goblin-hmc-sim/package.py
index 607f4a57f0..8de210d03d 100644
--- a/var/spack/repos/builtin/packages/goblin-hmc-sim/package.py
+++ b/var/spack/repos/builtin/packages/goblin-hmc-sim/package.py
@@ -20,9 +20,9 @@ class GoblinHmcSim(MakefilePackage):
# For some reason .o files get thrashed inside Spack
parallel = False
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('8.0.0', sha256="8a5e6b701865a581f15965d3ddd8c7d301b15f4b63543c444058e9c3688fd2c8")
+ version("8.0.0", sha256="8a5e6b701865a581f15965d3ddd8c7d301b15f4b63543c444058e9c3688fd2c8")
def install(self, spec, prefix):
install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/goma/package.py b/var/spack/repos/builtin/packages/goma/package.py
index 8e185649f2..eaeaca8495 100644
--- a/var/spack/repos/builtin/packages/goma/package.py
+++ b/var/spack/repos/builtin/packages/goma/package.py
@@ -8,78 +8,97 @@ from spack.package import *
class Goma(CMakePackage):
"""A Full-Newton Finite Element Program for Free and Moving Boundary Problems with
- Coupled Fluid/Solid Momentum, Energy, Mass, and Chemical Species Transport """
+ Coupled Fluid/Solid Momentum, Energy, Mass, and Chemical Species Transport"""
homepage = "https://www.gomafem.com"
url = "https://github.com/goma/goma/archive/v7.0.0.tar.gz"
git = "https://github.com/goma/goma.git"
- maintainers = ['wortiz']
+ maintainers = ["wortiz"]
- version('7.1.1', commit='4bebca85ab3840709b44f63502893af6453710e8')
- version('7.0.4', commit='27b2cb2477fa92f9457597f588c137de2572ef69')
- version('7.0.0', commit='5166896f273e5853e1f32885e20f68317b24979c')
- version('release', branch='release')
- version('main', branch='main')
+ version("7.1.1", commit="4bebca85ab3840709b44f63502893af6453710e8")
+ version("7.0.4", commit="27b2cb2477fa92f9457597f588c137de2572ef69")
+ version("7.0.0", commit="5166896f273e5853e1f32885e20f68317b24979c")
+ version("release", branch="release")
+ version("main", branch="main")
# Problem size variants
- variant('max_conc', default='4', values=('4', '8', '10', '15', '20'),
- description="Set internal maximum number of species")
- variant('max_external_field', default='4', values=('4', '8', '10', '15', '20'),
- description="Set internal maximum number of external fields")
- variant('max_prob_var', default='15', values=('10', '15', '20', '25', '28', '34', '40', '46', '64'),
- description="Set internal maximum number of active equations")
- variant('mde', default='27', values=('8', '9', '10', '16', '20', '27', '54'),
- description="Set internal maximum DOF per element")
- variant('max_number_matls', default='9', values=('9', '10', '15', '20', '25', '30', '45', '50', '55'),
- description="Set internal maximum number of materials")
+ variant(
+ "max_conc",
+ default="4",
+ values=("4", "8", "10", "15", "20"),
+ description="Set internal maximum number of species",
+ )
+ variant(
+ "max_external_field",
+ default="4",
+ values=("4", "8", "10", "15", "20"),
+ description="Set internal maximum number of external fields",
+ )
+ variant(
+ "max_prob_var",
+ default="15",
+ values=("10", "15", "20", "25", "28", "34", "40", "46", "64"),
+ description="Set internal maximum number of active equations",
+ )
+ variant(
+ "mde",
+ default="27",
+ values=("8", "9", "10", "16", "20", "27", "54"),
+ description="Set internal maximum DOF per element",
+ )
+ variant(
+ "max_number_matls",
+ default="9",
+ values=("9", "10", "15", "20", "25", "30", "45", "50", "55"),
+ description="Set internal maximum number of materials",
+ )
# Floating point checks
- variant('check_finite', default=False, description="Enable finite computation check")
- variant('fpe', default=False, description="Enable floating point exception")
+ variant("check_finite", default=False, description="Enable finite computation check")
+ variant("fpe", default=False, description="Enable floating point exception")
# Optional third party libraries
- variant('arpack-ng', default=True, description="Build with ARPACK support")
- variant('metis', default=True, description="Build with metis decomposition")
- variant('omega-h', default=True, description="Build with Omega_h support")
- variant('petsc', default=True, description="Build with PETSc solver support")
- variant('sparse', default=True, description="Build with legacy sparse solver")
- variant('suite-sparse', default=True, description="Build with UMFPACK support")
+ variant("arpack-ng", default=True, description="Build with ARPACK support")
+ variant("metis", default=True, description="Build with metis decomposition")
+ variant("omega-h", default=True, description="Build with Omega_h support")
+ variant("petsc", default=True, description="Build with PETSc solver support")
+ variant("sparse", default=True, description="Build with legacy sparse solver")
+ variant("suite-sparse", default=True, description="Build with UMFPACK support")
# Required dependencies
- depends_on('mpi')
- depends_on('seacas+applications')
- depends_on('trilinos+mpi+epetra+aztec+amesos+stratimikos+teko+mumps+superlu-dist+ml~exodus')
+ depends_on("mpi")
+ depends_on("seacas+applications")
+ depends_on("trilinos+mpi+epetra+aztec+amesos+stratimikos+teko+mumps+superlu-dist+ml~exodus")
# Optional dependencies
- depends_on('arpack-ng', when='+arpack-ng')
- depends_on('metis', when='+metis')
- depends_on('omega-h+mpi', when='+omega-h')
- depends_on('petsc+hypre+mpi~exodusii', when='+petsc')
- depends_on('sparse', when='+sparse')
- depends_on('suite-sparse', when='+suite-sparse')
+ depends_on("arpack-ng", when="+arpack-ng")
+ depends_on("metis", when="+metis")
+ depends_on("omega-h+mpi", when="+omega-h")
+ depends_on("petsc+hypre+mpi~exodusii", when="+petsc")
+ depends_on("sparse", when="+sparse")
+ depends_on("suite-sparse", when="+suite-sparse")
def cmake_args(self):
args = []
# Problem sizes
- args.append(self.define_from_variant('MAX_CONC', 'max_conc'))
- args.append(
- self.define_from_variant('MAX_EXTERNAL_FIELD', 'max_external_field'))
- args.append(self.define_from_variant('MAX_PROB_VAR', 'max_prob_var'))
- args.append(self.define_from_variant('MDE', 'mde'))
- args.append(self.define_from_variant('MAX_NUMBER_MATLS', 'max_number_matls'))
+ args.append(self.define_from_variant("MAX_CONC", "max_conc"))
+ args.append(self.define_from_variant("MAX_EXTERNAL_FIELD", "max_external_field"))
+ args.append(self.define_from_variant("MAX_PROB_VAR", "max_prob_var"))
+ args.append(self.define_from_variant("MDE", "mde"))
+ args.append(self.define_from_variant("MAX_NUMBER_MATLS", "max_number_matls"))
# Floating point error checks
- args.append(self.define_from_variant('CHECK_FINITE', 'check_finite'))
- args.append(self.define_from_variant('FP_EXCEPT', 'fpe'))
+ args.append(self.define_from_variant("CHECK_FINITE", "check_finite"))
+ args.append(self.define_from_variant("FP_EXCEPT", "fpe"))
# Configure optional libraries
- args.append(self.define_from_variant('ENABLE_ARPACK', 'arpack-ng'))
- args.append(self.define_from_variant('ENABLE_METIS', 'metis'))
- args.append(self.define_from_variant('ENABLE_OMEGA_H', 'omega-h'))
- args.append(self.define_from_variant('ENABLE_PETSC', 'petsc'))
- args.append(self.define_from_variant('ENABLE_SPARSE', 'sparse'))
- args.append(self.define_from_variant('ENABLE_UMFPACK', 'suite-sparse'))
+ args.append(self.define_from_variant("ENABLE_ARPACK", "arpack-ng"))
+ args.append(self.define_from_variant("ENABLE_METIS", "metis"))
+ args.append(self.define_from_variant("ENABLE_OMEGA_H", "omega-h"))
+ args.append(self.define_from_variant("ENABLE_PETSC", "petsc"))
+ args.append(self.define_from_variant("ENABLE_SPARSE", "sparse"))
+ args.append(self.define_from_variant("ENABLE_UMFPACK", "suite-sparse"))
return args
diff --git a/var/spack/repos/builtin/packages/google-crc32c/package.py b/var/spack/repos/builtin/packages/google-crc32c/package.py
index 82cf2d40c6..3d760d12e6 100644
--- a/var/spack/repos/builtin/packages/google-crc32c/package.py
+++ b/var/spack/repos/builtin/packages/google-crc32c/package.py
@@ -12,17 +12,17 @@ class GoogleCrc32c(CMakePackage):
homepage = "https://github.com/google/crc32c"
url = "https://github.com/google/crc32c/archive/refs/tags/1.1.2.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('1.1.2', 'ac07840513072b7fcebda6e821068aa04889018f24e10e46181068fb214d7e56')
+ version("1.1.2", "ac07840513072b7fcebda6e821068aa04889018f24e10e46181068fb214d7e56")
- depends_on('cmake@3.1:', type='build')
+ depends_on("cmake@3.1:", type="build")
def cmake_args(self):
args = [
- self.define('CRC32C_BUILD_TESTS', False),
- self.define('CRC32C_BUILD_BENCHMARKS', False),
- self.define('CRC32C_USE_GLOG', False),
- self.define('BUILD_SHARED_LIBS', True),
+ self.define("CRC32C_BUILD_TESTS", False),
+ self.define("CRC32C_BUILD_BENCHMARKS", False),
+ self.define("CRC32C_USE_GLOG", False),
+ self.define("BUILD_SHARED_LIBS", True),
]
return args
diff --git a/var/spack/repos/builtin/packages/googletest/package.py b/var/spack/repos/builtin/packages/googletest/package.py
index 9d72216a81..0c4089b4f9 100644
--- a/var/spack/repos/builtin/packages/googletest/package.py
+++ b/var/spack/repos/builtin/packages/googletest/package.py
@@ -8,63 +8,66 @@ from spack.package import *
class Googletest(CMakePackage):
"""Google test framework for C++. Also called gtest."""
+
homepage = "https://github.com/google/googletest"
- url = "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
- git = "https://github.com/google/googletest"
+ url = "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
+ git = "https://github.com/google/googletest"
- version('main', branch='main')
- version('1.11.0', sha256='07b0896360f8e14414a8419e35515da0be085c5b4547c914ab8f4684ef0a3a8e')
- version('1.10.0', sha256='e4a7cd97c903818abe7ddb129db9c41cc9fd9e2ded654be57ced26d45c72e4c9', preferred=True)
- version('1.8.1', sha256='8e40a005e098b1ba917d64104549e3da274e31261dedc57d6250fe91391b2e84')
- version('1.8.0', sha256='d8c33605d23d303b08a912eaee7f84c4e091d6e3d90e9a8ec8aaf7450dfe2568')
- version('1.7.0', sha256='9639cf8b7f37a4d0c6575f52c01ef167c5f11faee65252296b3ffc2d9acd421b')
- version('1.6.0', sha256='a61e20c65819eb39a2da85c88622bac703b865ca7fe2bfdcd3da734d87d5521a')
+ version("main", branch="main")
+ version("1.11.0", sha256="07b0896360f8e14414a8419e35515da0be085c5b4547c914ab8f4684ef0a3a8e")
+ version(
+ "1.10.0",
+ sha256="e4a7cd97c903818abe7ddb129db9c41cc9fd9e2ded654be57ced26d45c72e4c9",
+ preferred=True,
+ )
+ version("1.8.1", sha256="8e40a005e098b1ba917d64104549e3da274e31261dedc57d6250fe91391b2e84")
+ version("1.8.0", sha256="d8c33605d23d303b08a912eaee7f84c4e091d6e3d90e9a8ec8aaf7450dfe2568")
+ version("1.7.0", sha256="9639cf8b7f37a4d0c6575f52c01ef167c5f11faee65252296b3ffc2d9acd421b")
+ version("1.6.0", sha256="a61e20c65819eb39a2da85c88622bac703b865ca7fe2bfdcd3da734d87d5521a")
- variant('gmock', default=False, description='Build with gmock')
- conflicts('+gmock', when='@:1.7.0')
+ variant("gmock", default=False, description="Build with gmock")
+ conflicts("+gmock", when="@:1.7.0")
- variant('pthreads', default=True,
- description='Build multithreaded version with pthreads')
- variant('shared', default=True,
- description='Build shared libraries (DLLs)')
+ variant("pthreads", default=True, description="Build multithreaded version with pthreads")
+ variant("shared", default=True, description="Build shared libraries (DLLs)")
def cmake_args(self):
spec = self.spec
- if '@1.8.0:' in spec:
+ if "@1.8.0:" in spec:
# New style (contains both Google Mock and Google Test)
- options = ['-DBUILD_GTEST=ON']
- if '+gmock' in spec:
- options.append('-DBUILD_GMOCK=ON')
+ options = ["-DBUILD_GTEST=ON"]
+ if "+gmock" in spec:
+ options.append("-DBUILD_GMOCK=ON")
else:
- options.append('-DBUILD_GMOCK=OFF')
+ options.append("-DBUILD_GMOCK=OFF")
else:
# Old style (contains only GTest)
options = []
- options.append('-Dgtest_disable_pthreads={0}'.format(
- 'OFF' if '+pthreads' in spec else 'ON'))
- options.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ options.append(
+ "-Dgtest_disable_pthreads={0}".format("OFF" if "+pthreads" in spec else "ON")
+ )
+ options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
return options
- @when('@:1.7.0')
+ @when("@:1.7.0")
def install(self, spec, prefix):
"""Make the install targets"""
with working_dir(self.build_directory):
# Google Test doesn't have a make install
# We have to do our own install here.
- install_tree(join_path(self.stage.source_path, 'include'),
- prefix.include)
+ install_tree(join_path(self.stage.source_path, "include"), prefix.include)
mkdirp(prefix.lib)
- if '+shared' in spec:
- install('libgtest.{0}'.format(dso_suffix), prefix.lib)
- install('libgtest_main.{0}'.format(dso_suffix), prefix.lib)
+ if "+shared" in spec:
+ install("libgtest.{0}".format(dso_suffix), prefix.lib)
+ install("libgtest_main.{0}".format(dso_suffix), prefix.lib)
else:
- install('libgtest.a', prefix.lib)
- install('libgtest_main.a', prefix.lib)
+ install("libgtest.a", prefix.lib)
+ install("libgtest_main.a", prefix.lib)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/gosam-contrib/package.py b/var/spack/repos/builtin/packages/gosam-contrib/package.py
index 0f4ce1ee91..1972bd0932 100644
--- a/var/spack/repos/builtin/packages/gosam-contrib/package.py
+++ b/var/spack/repos/builtin/packages/gosam-contrib/package.py
@@ -10,34 +10,39 @@ class GosamContrib(AutotoolsPackage):
"""Additional libraries for GoSam MC generator"""
homepage = "https://gosam.hepforge.org"
- url = "https://gosam.hepforge.org/downloads/?f=gosam-contrib-2.0.tar.gz"
+ url = "https://gosam.hepforge.org/downloads/?f=gosam-contrib-2.0.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('2.0', sha256='c05beceea74324eb51c1049773095e2cb0c09c8c909093ee913d8b0da659048d')
- version('1.0', sha256='a29d4232d9190710246abc2ed97fdcd8790ce83580f56a360f3456b0377c40ec')
+ version("2.0", sha256="c05beceea74324eb51c1049773095e2cb0c09c8c909093ee913d8b0da659048d")
+ version("1.0", sha256="a29d4232d9190710246abc2ed97fdcd8790ce83580f56a360f3456b0377c40ec")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
- variant('pic', default=False, description='Build position-independent code')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+ variant("pic", default=False, description="Build position-independent code")
def flag_handler(self, name, flags):
- if name in ['cflags', 'cxxflags', 'cppflags']:
- if '+pic' in self.spec:
+ if name in ["cflags", "cxxflags", "cppflags"]:
+ if "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
- if name == 'fflags':
- if 'gfortran' in self.compiler.fc:
- flags.append('-std=legacy')
+ if name == "fflags":
+ if "gfortran" in self.compiler.fc:
+ flags.append("-std=legacy")
- if '+pic' in self.spec:
+ if "+pic" in self.spec:
flags.append(self.compiler.fc_pic_flag)
return (None, flags, None)
def configure_args(self):
args = []
- args += self.enable_or_disable('libs')
+ args += self.enable_or_disable("libs")
return args
diff --git a/var/spack/repos/builtin/packages/goshimmer/package.py b/var/spack/repos/builtin/packages/goshimmer/package.py
index 3177f28ccd..0788ef9385 100644
--- a/var/spack/repos/builtin/packages/goshimmer/package.py
+++ b/var/spack/repos/builtin/packages/goshimmer/package.py
@@ -8,33 +8,37 @@ from spack.package import *
class Goshimmer(Package):
"""GoShimmer is a prototype node for exploring the implementation of IOTA 2.0"""
- homepage = 'https://github.com/iotaledger/goshimmer'
- url = 'https://github.com/iotaledger/goshimmer/archive/refs/tags/v0.8.0.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/iotaledger/goshimmer"
+ url = "https://github.com/iotaledger/goshimmer/archive/refs/tags/v0.8.0.tar.gz"
- version('0.8.0', 'ec515deebf0dd35ff76cd98addae9cfcbf4758ab9eb72eb0f6ff4654f2658980')
+ maintainers = ["bernhardkaindl"]
- depends_on('go@1.16:', type='build')
- depends_on('snappy')
- depends_on('rocksdb')
- depends_on('zstd')
- depends_on('zlib')
- depends_on('lz4')
+ version("0.8.0", "ec515deebf0dd35ff76cd98addae9cfcbf4758ab9eb72eb0f6ff4654f2658980")
+
+ depends_on("go@1.16:", type="build")
+ depends_on("snappy")
+ depends_on("rocksdb")
+ depends_on("zstd")
+ depends_on("zlib")
+ depends_on("lz4")
@property
def snapbin(self):
- return join_path(self.prefix.bin, 'snapshot.bin')
+ return join_path(self.prefix.bin, "snapshot.bin")
def patch(self):
- for file in ['tools/genesis-snapshot/main', 'plugins/messagelayer/parameters']:
- filter_file('./snapshot.bin', self.snapbin, file + '.go')
+ for file in ["tools/genesis-snapshot/main", "plugins/messagelayer/parameters"]:
+ filter_file("./snapshot.bin", self.snapbin, file + ".go")
def install(self, spec, prefix):
- which('go')('build', '-modcacherw', '-tags', 'rocksdb,netgo')
+ which("go")("build", "-modcacherw", "-tags", "rocksdb,netgo")
mkdir(prefix.bin)
- install('config.default.json', prefix.bin)
- install('goshimmer', prefix.bin)
- which('wget')('-O', self.snapbin,
- 'https://dbfiles-goshimmer.s3.eu-central-1.amazonaws.com/snapshots/nectar/snapshot-latest.bin')
+ install("config.default.json", prefix.bin)
+ install("goshimmer", prefix.bin)
+ which("wget")(
+ "-O",
+ self.snapbin,
+ "https://dbfiles-goshimmer.s3.eu-central-1.amazonaws.com/snapshots/nectar/snapshot-latest.bin",
+ )
remove_linked_tree(prefix.pkg)
diff --git a/var/spack/repos/builtin/packages/gotcha/package.py b/var/spack/repos/builtin/packages/gotcha/package.py
index 559d72c46a..c1ecde06fb 100644
--- a/var/spack/repos/builtin/packages/gotcha/package.py
+++ b/var/spack/repos/builtin/packages/gotcha/package.py
@@ -11,23 +11,22 @@ class Gotcha(CMakePackage):
enables tools to intercept calls into shared libraries"""
homepage = "https://github.com/LLNL/gotcha"
- git = "https://github.com/LLNL/gotcha.git"
+ git = "https://github.com/LLNL/gotcha.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='develop')
- version('master', branch='master')
- version('1.0.3', tag='1.0.3')
- version('1.0.2', tag='1.0.2')
- version('0.0.2', tag='0.0.2')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("1.0.3", tag="1.0.3")
+ version("1.0.2", tag="1.0.2")
+ version("0.0.2", tag="0.0.2")
- variant('test', default=False, description='Build tests for Gotcha')
+ variant("test", default=False, description="Build tests for Gotcha")
patch(
- 'https://github.com/LLNL/GOTCHA/commit/e82b4a1ecb634075d8f5334b796c888c86da0427.patch?full_index=1',
- sha256='3f05e61b00a1cd53ebc489e9ca5dc70b9767068bba30dba973cdbef9b14774e6',
- when='@0.0.2:1.0.2')
+ "https://github.com/LLNL/GOTCHA/commit/e82b4a1ecb634075d8f5334b796c888c86da0427.patch?full_index=1",
+ sha256="3f05e61b00a1cd53ebc489e9ca5dc70b9767068bba30dba973cdbef9b14774e6",
+ when="@0.0.2:1.0.2",
+ )
def configure_args(self):
- return [
- self.define_from_variant('GOTCHA_ENABLE_TESTS', 'test')
- ]
+ return [self.define_from_variant("GOTCHA_ENABLE_TESTS", "test")]
diff --git a/var/spack/repos/builtin/packages/gource/package.py b/var/spack/repos/builtin/packages/gource/package.py
index 3e6c8a0b1d..e3ff6e3198 100644
--- a/var/spack/repos/builtin/packages/gource/package.py
+++ b/var/spack/repos/builtin/packages/gource/package.py
@@ -13,28 +13,28 @@ class Gource(AutotoolsPackage):
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')
+ version("0.44", sha256="2604ca4442305ffdc5bb1a7bac07e223d59c846f93567be067e8dfe2f42f097c")
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('glm', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("glm", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('freetype@2.0:')
- depends_on('pcre')
- depends_on('boost@1.46:+filesystem+system')
+ depends_on("freetype@2.0:")
+ depends_on("pcre")
+ depends_on("boost@1.46:+filesystem+system")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('glew')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('pcre')
- depends_on('sdl2')
- depends_on('sdl2-image')
+ depends_on("glew")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("pcre")
+ depends_on("sdl2")
+ depends_on("sdl2-image")
parallel = False
force_autoreconf = True
@@ -42,7 +42,7 @@ class Gource(AutotoolsPackage):
def configure_args(self):
spec = self.spec
return [
- '--disable-dependency-tracking',
- '--without-x',
- '--with-boost=%s' % spec['boost'].prefix
+ "--disable-dependency-tracking",
+ "--without-x",
+ "--with-boost=%s" % spec["boost"].prefix,
]
diff --git a/var/spack/repos/builtin/packages/gpdb/package.py b/var/spack/repos/builtin/packages/gpdb/package.py
index 5f6780a56d..b2098fe9bd 100644
--- a/var/spack/repos/builtin/packages/gpdb/package.py
+++ b/var/spack/repos/builtin/packages/gpdb/package.py
@@ -17,36 +17,35 @@ class Gpdb(AutotoolsPackage):
"""
homepage = "https://github.com/greenplum-db/gpdb"
- url = "https://github.com/greenplum-db/gpdb/archive/6.2.1.tar.gz"
-
- version('6.2.1', sha256='60c81d71665d623ea98a0e9bd8e6df7fecf6b30eb60a5881ccef781ff5214438')
- version('6.1.0', sha256='81fa854b0ac5fe4e0de5fdee9a7b7c2514e1ea1feefa4e4d10518538a5c5b2a8')
- version('6.0.1', sha256='8902f5d64386447f61c25686f283a785858760e0dcf9a049266db058d3597156')
- version('6.0.0', sha256='8514140bee9db514d18a769034562e7f3464f74828595903a64dbf3d175ab71a')
- version('5.24.0', sha256='4ea5cfcc20f149669bb3713378158e15b5c5949b367351a0f497ba1602d61fc1')
- version('5.23.0', sha256='b06a797eb941362d5473b84d5def349b5ce12ce87ab116bea7c74ad193738ae9')
-
- depends_on('zstd')
- depends_on('py-setuptools@:44')
- depends_on('apr')
- depends_on('libevent')
- depends_on('curl')
- depends_on('xerces-c')
- depends_on('bison', type='build')
- depends_on('libxml2')
- depends_on('flex')
- depends_on('readline')
- depends_on('py-subprocess32', type=('build', 'run'))
- depends_on('python@:2.8.0', type=('build', 'run'))
- depends_on('py-lockfile', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-utils@:1.0.0', type=('build', 'run'))
+ url = "https://github.com/greenplum-db/gpdb/archive/6.2.1.tar.gz"
+
+ version("6.2.1", sha256="60c81d71665d623ea98a0e9bd8e6df7fecf6b30eb60a5881ccef781ff5214438")
+ version("6.1.0", sha256="81fa854b0ac5fe4e0de5fdee9a7b7c2514e1ea1feefa4e4d10518538a5c5b2a8")
+ version("6.0.1", sha256="8902f5d64386447f61c25686f283a785858760e0dcf9a049266db058d3597156")
+ version("6.0.0", sha256="8514140bee9db514d18a769034562e7f3464f74828595903a64dbf3d175ab71a")
+ version("5.24.0", sha256="4ea5cfcc20f149669bb3713378158e15b5c5949b367351a0f497ba1602d61fc1")
+ version("5.23.0", sha256="b06a797eb941362d5473b84d5def349b5ce12ce87ab116bea7c74ad193738ae9")
+
+ depends_on("zstd")
+ depends_on("py-setuptools@:44")
+ depends_on("apr")
+ depends_on("libevent")
+ depends_on("curl")
+ depends_on("xerces-c")
+ depends_on("bison", type="build")
+ depends_on("libxml2")
+ depends_on("flex")
+ depends_on("readline")
+ depends_on("py-subprocess32", type=("build", "run"))
+ depends_on("python@:2.8.0", type=("build", "run"))
+ depends_on("py-lockfile", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-utils@:1.0.0", type=("build", "run"))
def configure_args(self):
- args = ['--with-python', '--disable-orca', '--enable-depend',
- '--with-libxml']
+ args = ["--with-python", "--disable-orca", "--enable-depend", "--with-libxml"]
return args
def setup_run_environment(self, env):
- env.append_path('GPHOME', self.prefix)
- env.append_path('PYTHONPATH', self.prefix.lib.python)
+ env.append_path("GPHOME", self.prefix)
+ env.append_path("PYTHONPATH", self.prefix.lib.python)
diff --git a/var/spack/repos/builtin/packages/gperf/package.py b/var/spack/repos/builtin/packages/gperf/package.py
index d330a41ac1..f7f03b49f2 100644
--- a/var/spack/repos/builtin/packages/gperf/package.py
+++ b/var/spack/repos/builtin/packages/gperf/package.py
@@ -17,7 +17,7 @@ class Gperf(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/gperf/"
gnu_mirror_path = "gperf/gperf-3.0.4.tar.gz"
- version('3.1', sha256='588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2')
- version('3.0.4', sha256='767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e')
+ version("3.1", sha256="588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2")
+ version("3.0.4", sha256="767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e")
# NOTE: `make check` is known to fail tests
diff --git a/var/spack/repos/builtin/packages/gperftools/package.py b/var/spack/repos/builtin/packages/gperftools/package.py
index a2ad2da7b5..0cc4b60a0d 100644
--- a/var/spack/repos/builtin/packages/gperftools/package.py
+++ b/var/spack/repos/builtin/packages/gperftools/package.py
@@ -8,38 +8,42 @@ from spack.package import *
class Gperftools(AutotoolsPackage):
"""Google's fast malloc/free implementation, especially for
- multi-threaded applications. Contains tcmalloc, heap-checker,
- heap-profiler, and cpu-profiler.
+ multi-threaded applications. Contains tcmalloc, heap-checker,
+ heap-profiler, and cpu-profiler.
"""
- 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.10', sha256='83e3bfdd28b8bcf53222c3798d4d395d52dadbbae59e8730c4a6d31a9c3732d8')
- version('2.9.1', sha256='ea566e528605befb830671e359118c2da718f721c27225cbbc93858c7520fee3')
- version('2.8.1', sha256='12f07a8ba447f12a3ae15e6e3a6ad74de35163b787c0c7b76288d7395f2f74e0')
- version('2.7', sha256='1ee8c8699a0eff6b6a203e59b43330536b22bbcbe6448f54c7091e5efb0763c9')
- version('2.4', sha256='982a37226eb42f40714e26b8076815d5ea677a422fb52ff8bfca3704d9c30a2d')
- version('2.3', sha256='093452ad45d639093c144b4ec732a3417e8ee1f3744f2b0f8d45c996223385ce')
- variant('sized_delete', default=False, description="Build sized delete operator")
- variant('dynamic_sized_delete_support', default=False, description="Try to build run-time switch for sized delete operator")
- variant('debugalloc', default=True, description="Build versions of libs with debugalloc")
- variant('libunwind', default=True, description="Enable libunwind linking")
+ 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.10", sha256="83e3bfdd28b8bcf53222c3798d4d395d52dadbbae59e8730c4a6d31a9c3732d8")
+ version("2.9.1", sha256="ea566e528605befb830671e359118c2da718f721c27225cbbc93858c7520fee3")
+ version("2.8.1", sha256="12f07a8ba447f12a3ae15e6e3a6ad74de35163b787c0c7b76288d7395f2f74e0")
+ version("2.7", sha256="1ee8c8699a0eff6b6a203e59b43330536b22bbcbe6448f54c7091e5efb0763c9")
+ version("2.4", sha256="982a37226eb42f40714e26b8076815d5ea677a422fb52ff8bfca3704d9c30a2d")
+ version("2.3", sha256="093452ad45d639093c144b4ec732a3417e8ee1f3744f2b0f8d45c996223385ce")
+
+ variant("sized_delete", default=False, description="Build sized delete operator")
+ variant(
+ "dynamic_sized_delete_support",
+ default=False,
+ description="Try to build run-time switch for sized delete operator",
+ )
+ variant("debugalloc", default=True, description="Build versions of libs with debugalloc")
+ variant("libunwind", default=True, description="Enable libunwind linking")
depends_on("unwind", when="+libunwind")
def configure_args(self):
args = []
- args += self.enable_or_disable("sized-delete", variant='sized_delete')
- args += self.enable_or_disable("dynamic-sized-delete-support",
- variant='dynamic_sized_delete_support')
+ args += self.enable_or_disable("sized-delete", variant="sized_delete")
+ args += self.enable_or_disable(
+ "dynamic-sized-delete-support", variant="dynamic_sized_delete_support"
+ )
args += self.enable_or_disable("debugalloc")
args += self.enable_or_disable("libunwind")
- if self.spec.satisfies('+libunwind'):
- args += [
- "LDFLAGS=-lunwind"
- ]
+ if self.spec.satisfies("+libunwind"):
+ args += ["LDFLAGS=-lunwind"]
return args
diff --git a/var/spack/repos/builtin/packages/gpgme/package.py b/var/spack/repos/builtin/packages/gpgme/package.py
index 519a3b9d1b..fc02415f35 100644
--- a/var/spack/repos/builtin/packages/gpgme/package.py
+++ b/var/spack/repos/builtin/packages/gpgme/package.py
@@ -8,48 +8,48 @@ from spack.package import *
class Gpgme(AutotoolsPackage):
"""GPGME is the standard library to access GnuPG
- functions from programming languages."""
+ functions from programming languages."""
homepage = "https://www.gnupg.org/software/gpgme/index.html"
- url = "https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.16.0.tar.bz2"
+ url = "https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.16.0.tar.bz2"
- executables = ['^gpgme-config$']
+ executables = ["^gpgme-config$"]
- version('1.16.0', sha256='6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0')
- version('1.12.0', sha256='b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8')
+ version("1.16.0", sha256="6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0")
+ version("1.12.0", sha256="b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8")
# https://dev.gnupg.org/T5509 - New test t-edit-sign test crashes with GCC 11.1.0
patch(
- 'https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969;hp=e8e055e682f8994d62012574e1c8d862ca72a35d',
- sha256='b934e3cb0b3408ad27990d97b594c89801a4748294e2eb5804a455a312821411',
- when='@1.16.0',
+ "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969;hp=e8e055e682f8994d62012574e1c8d862ca72a35d",
+ sha256="b934e3cb0b3408ad27990d97b594c89801a4748294e2eb5804a455a312821411",
+ when="@1.16.0",
)
- depends_on('gnupg', type='build')
- depends_on('libgpg-error', type='build')
- depends_on('libassuan', type='build')
+ depends_on("gnupg", type="build")
+ depends_on("libgpg-error", type="build")
+ depends_on("libassuan", type="build")
@classmethod
def determine_version(cls, exe):
- return Executable(exe)('--version', output=str, error=str).rstrip()
+ return Executable(exe)("--version", output=str, error=str).rstrip()
def configure_args(self):
"""Fix the build when incompatible Qt libraries are installed on the host"""
- return ['--enable-languages=cpp']
+ return ["--enable-languages=cpp"]
def setup_build_environment(self, env):
"""Build tests create a public keyring in ~/.gnupg if $HOME is not redirected"""
if self.run_tests:
- env.set('HOME', self.build_directory)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['libgpg-error'].prefix.lib)
+ env.set("HOME", self.build_directory)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["libgpg-error"].prefix.lib)
@property
def make_tests(self):
"""Use the Makefile's tests variable to control if the build tests shall run"""
- return 'tests=tests' if self.run_tests else 'tests='
+ return "tests=tests" if self.run_tests else "tests="
def build(self, spec, prefix):
make(self.make_tests)
def install(self, spec, prefix):
- make(self.make_tests, 'install')
+ make(self.make_tests, "install")
diff --git a/var/spack/repos/builtin/packages/gpi-2/package.py b/var/spack/repos/builtin/packages/gpi-2/package.py
index 6d8075c75b..86f7b56cf4 100644
--- a/var/spack/repos/builtin/packages/gpi-2/package.py
+++ b/var/spack/repos/builtin/packages/gpi-2/package.py
@@ -14,156 +14,158 @@ class Gpi2(AutotoolsPackage):
fault tolerant interface for parallel applications.
"""
- homepage = 'http://www.gpi-site.com'
- url = 'https://github.com/cc-hpc-itwm/GPI-2/archive/refs/tags/v1.5.1.tar.gz'
- git = 'https://github.com/cc-hpc-itwm/GPI-2.git'
-
- maintainers = ['robert-mijakovic', 'acastanedam', 'mzeyen1985']
-
- version('develop', branch='next')
- version('master', branch='master')
-
- version('1.5.1', sha256='4dac7e9152694d2ec4aefd982a52ecc064a8cb8f2c9eab0425428127c3719e2e')
- version('1.5.0', sha256='ee299ac1c08c38c9e7871d4af745f1075570ddbb708bb62d82257244585e5183')
- version('1.4.0', sha256='3b8ffb45346b2fe56aaa7ba15a515e62f9dff45a28e6a014248e20094bbe50a1')
- version('1.3.3', sha256='923a848009e7dcd9d26c317ede68b50289b2a9297eb10a75dcc34a4d49f3cdcc')
- version('1.3.2', sha256='83dbfb2e4bed28ef4e2ae430d30505874b4b50252e2f31dc422b3bc191a87ab0')
- version('1.3.1', sha256='414fa352e7b478442e6f5d0b51ff00deeb4fc705de805676c0e68829f3f30967')
- version('1.3.0', sha256='ffaa5c6abfbf79aec6389ab7caaa2c8a91bce24fd046d9741418ff815cd445d2')
- version('1.2.0', sha256='0a1411276aa0787382573df5e0f60cc38ca8079f2353fb7a7e8dc57050a7d2cb')
- version('1.1.0', sha256='626727565a8b78be0dc8883539b01aaff2bb3bd42395899643bc4d6cc2313773')
- version('1.0.2', sha256='b03b4ac9f0715279b2a5e064fd85047cb640a85c2361d732930307f8bbf2aeb8')
- version('1.0.1', sha256='b1341bb39e7e70334d7acf831fe7f2061376e7516b44d18b31797748c2a169a3')
-
- variant('fortran', default=False, description='Enable Fortran modules')
- variant('mpi', default=False, description='Enable MPI support')
+ homepage = "http://www.gpi-site.com"
+ url = "https://github.com/cc-hpc-itwm/GPI-2/archive/refs/tags/v1.5.1.tar.gz"
+ git = "https://github.com/cc-hpc-itwm/GPI-2.git"
+
+ maintainers = ["robert-mijakovic", "acastanedam", "mzeyen1985"]
+
+ version("develop", branch="next")
+ version("master", branch="master")
+
+ version("1.5.1", sha256="4dac7e9152694d2ec4aefd982a52ecc064a8cb8f2c9eab0425428127c3719e2e")
+ version("1.5.0", sha256="ee299ac1c08c38c9e7871d4af745f1075570ddbb708bb62d82257244585e5183")
+ version("1.4.0", sha256="3b8ffb45346b2fe56aaa7ba15a515e62f9dff45a28e6a014248e20094bbe50a1")
+ version("1.3.3", sha256="923a848009e7dcd9d26c317ede68b50289b2a9297eb10a75dcc34a4d49f3cdcc")
+ version("1.3.2", sha256="83dbfb2e4bed28ef4e2ae430d30505874b4b50252e2f31dc422b3bc191a87ab0")
+ version("1.3.1", sha256="414fa352e7b478442e6f5d0b51ff00deeb4fc705de805676c0e68829f3f30967")
+ version("1.3.0", sha256="ffaa5c6abfbf79aec6389ab7caaa2c8a91bce24fd046d9741418ff815cd445d2")
+ version("1.2.0", sha256="0a1411276aa0787382573df5e0f60cc38ca8079f2353fb7a7e8dc57050a7d2cb")
+ version("1.1.0", sha256="626727565a8b78be0dc8883539b01aaff2bb3bd42395899643bc4d6cc2313773")
+ version("1.0.2", sha256="b03b4ac9f0715279b2a5e064fd85047cb640a85c2361d732930307f8bbf2aeb8")
+ version("1.0.1", sha256="b1341bb39e7e70334d7acf831fe7f2061376e7516b44d18b31797748c2a169a3")
+
+ variant("fortran", default=False, description="Enable Fortran modules")
+ variant("mpi", default=False, description="Enable MPI support")
variant(
- 'fabrics',
+ "fabrics",
values=disjoint_sets(
- ('auto',), ('infiniband',), ('ethernet',),
- ).with_non_feature_values('auto', 'none'),
+ ("auto",),
+ ("infiniband",),
+ ("ethernet",),
+ ).with_non_feature_values("auto", "none"),
description="List of fabrics that are enabled; "
"'none' use GPI-2 default (infiniband), "
"'infiniband' will use 'rdma-core' from Spack",
)
variant(
- 'schedulers',
+ "schedulers",
values=disjoint_sets(
- ('auto',), ('loadleveler',), ('pbs',), ('slurm',)
- ).with_non_feature_values('auto', 'none'),
+ ("auto",), ("loadleveler",), ("pbs",), ("slurm",)
+ ).with_non_feature_values("auto", "none"),
description="List of lauchers for which support is enabled; "
"'auto', 'none' or 'pbs' use 'gaspi_run.ssh'",
)
- depends_on('autoconf', type='build', when='@1.4.0:') # autogen.sh - autoreconf
- depends_on('automake', type='build', when='@1.4.0:') # autogen.sh - automake
- depends_on('libtool', type='build', when='@1.4.0:')
- depends_on('m4', type='build', when='@1.4.0:')
+ depends_on("autoconf", type="build", when="@1.4.0:") # autogen.sh - autoreconf
+ depends_on("automake", type="build", when="@1.4.0:") # autogen.sh - automake
+ depends_on("libtool", type="build", when="@1.4.0:")
+ depends_on("m4", type="build", when="@1.4.0:")
- depends_on('sed', type=('build', 'run'))
- depends_on('gawk', type=('build', 'run'), when='@:1.3.3')
- depends_on('gawk', type=('run'), when='@1.4.0:')
- depends_on('openssh', type='run')
+ depends_on("sed", type=("build", "run"))
+ depends_on("gawk", type=("build", "run"), when="@:1.3.3")
+ depends_on("gawk", type=("run"), when="@1.4.0:")
+ depends_on("openssh", type="run")
- depends_on('mpi', when='+mpi')
- depends_on('rdma-core', when='fabrics=infiniband')
- depends_on('slurm', when='schedulers=slurm')
+ depends_on("mpi", when="+mpi")
+ depends_on("rdma-core", when="fabrics=infiniband")
+ depends_on("slurm", when="schedulers=slurm")
- conflicts('%gcc@10:', when='@:1.3.2', msg='gcc>10 is not supported')
- conflicts('schedulers=slurm', when='@:1.3.3', msg='Slurm is not supported')
+ conflicts("%gcc@10:", when="@:1.3.2", msg="gcc>10 is not supported")
+ conflicts("schedulers=slurm", when="@:1.3.3", msg="Slurm is not supported")
def set_specific_cflags(self, spec):
- if spec.satisfies('@1.4.0%gcc@10.1.0:'):
- environ['CFLAGS'] = '-fcommon'
+ if spec.satisfies("@1.4.0%gcc@10.1.0:"):
+ environ["CFLAGS"] = "-fcommon"
# GPI-2 without autotools
- @when('@:1.3.3')
+ @when("@:1.3.3")
def autoreconf(self, spec, prefix):
- touch = which('touch')
- touch('configure')
+ touch = which("touch")
+ touch("configure")
pass
- @when('@:1.3.3')
+ @when("@:1.3.3")
def configure(self, spec, prefix):
pass
- @when('@:1.3.3')
+ @when("@:1.3.3")
def build(self, spec, prefix):
self.old_install(spec, prefix)
pass
- @when('@:1.3.3')
+ @when("@:1.3.3")
def old_install(self, spec, prefix):
spec = self.spec
self.set_specific_cflags(spec)
- config_args = ['-p {0}'.format(prefix)]
- if 'fabrics=ethernet' in spec:
- config_args += ['--with-ethernet']
- elif 'fabrics=infiniband' in spec:
- config_args += ['--with-infiniband={0}'.format(spec['rdma-core'].prefix)]
- if 'schedulers=loadleveler' in spec:
- config_args += ['--with-ll']
- if '+fortran' in spec:
- config_args += ['--with-fortran=true']
+ config_args = ["-p {0}".format(prefix)]
+ if "fabrics=ethernet" in spec:
+ config_args += ["--with-ethernet"]
+ elif "fabrics=infiniband" in spec:
+ config_args += ["--with-infiniband={0}".format(spec["rdma-core"].prefix)]
+ if "schedulers=loadleveler" in spec:
+ config_args += ["--with-ll"]
+ if "+fortran" in spec:
+ config_args += ["--with-fortran=true"]
else:
- config_args += ['--with-fortran=false']
- if '+mpi' in spec:
- config_args += ['--with-mpi={0}'.format(spec['mpi'].prefix)]
+ config_args += ["--with-fortran=false"]
+ if "+mpi" in spec:
+ config_args += ["--with-mpi={0}".format(spec["mpi"].prefix)]
with working_dir(self.build_directory):
- install = which('./install.sh')
+ install = which("./install.sh")
install(*config_args)
- @when('@:1.3.3')
+ @when("@:1.3.3")
def install(self, spec, prefix):
pass
# GPI-2 with autotools
- @when('@1.4.0:')
+ @when("@1.4.0:")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def with_or_without_infiniband(self, activated):
- opt = 'infiniband'
+ opt = "infiniband"
if not activated:
- return '--without-{0}'.format(opt)
- return '--with-{0}={1}'.format(opt, self.spec['rdma-core'].prefix)
+ return "--without-{0}".format(opt)
+ return "--with-{0}={1}".format(opt, self.spec["rdma-core"].prefix)
- @when('@1.4.0:')
+ @when("@1.4.0:")
def configure_args(self):
spec = self.spec
config_args = []
self.set_specific_cflags(spec)
- config_args.extend(self.with_or_without('fortran'))
+ config_args.extend(self.with_or_without("fortran"))
# Mpi
- if '+mpi' in spec:
- config_args += ['--with-mpi={0}'.format(spec['mpi'].prefix)]
+ if "+mpi" in spec:
+ config_args += ["--with-mpi={0}".format(spec["mpi"].prefix)]
# Fabrics
- if 'fabrics=none' not in spec:
- config_args.extend(self.with_or_without('fabrics'))
+ if "fabrics=none" not in spec:
+ config_args.extend(self.with_or_without("fabrics"))
# Schedulers
- if 'schedulers=none' not in spec:
- config_args.extend(self.with_or_without('schedulers'))
+ if "schedulers=none" not in spec:
+ config_args.extend(self.with_or_without("schedulers"))
return config_args
def set_machines(self):
- with open('{0}/tests/machines'.format(self.build_directory), 'w') as mfile:
- hostname = environ['HOSTNAME']
- mfile.write('{0}\n{0}\n'.format(hostname))
+ with open("{0}/tests/machines".format(self.build_directory), "w") as mfile:
+ hostname = environ["HOSTNAME"]
+ mfile.write("{0}\n{0}\n".format(hostname))
# In principle it is possible to run tests for lower versions, but
# for them NUMA is set by default, thus the number of processes is
# limited by the number of sockets, i.e., it there is just one,
# the machine file can not contain more than one host
- @when('@1.4.0:')
+ @when("@1.4.0:")
def check(self):
self.set_machines()
- with working_dir('{0}/tests'.format(self.build_directory)):
- bash = which('bash')
- bash('./runtests.sh')
+ with working_dir("{0}/tests".format(self.build_directory)):
+ bash = which("bash")
+ bash("./runtests.sh")
diff --git a/var/spack/repos/builtin/packages/gpi-space/package.py b/var/spack/repos/builtin/packages/gpi-space/package.py
index 6354496be8..c5f9be68a5 100644
--- a/var/spack/repos/builtin/packages/gpi-space/package.py
+++ b/var/spack/repos/builtin/packages/gpi-space/package.py
@@ -18,38 +18,41 @@ class GpiSpace(CMakePackage):
"""
homepage = "https://www.gpi-space.de"
- url = "https://github.com/cc-hpc-itwm/gpispace/archive/refs/tags/v21.09.tar.gz"
- git = "https://github.com/cc-hpc-itwm/gpispace.git"
+ url = "https://github.com/cc-hpc-itwm/gpispace/archive/refs/tags/v21.09.tar.gz"
+ git = "https://github.com/cc-hpc-itwm/gpispace.git"
maintainers = ["mzeyen1985", "tiberot", "rumach", "mrahn", "acastanedam"]
version("latest", branch="main")
- version('22.06', sha256='d89d8a7b574430c4f151a3768073fa44d32e5cc7606fbe0f58aeedf6f5fefc0b')
- version('22.03', sha256='b01500b9480452aee865a0ef98cf40864f847b7e22ea572f9a6f0f5ac2ae9a1a')
- version('21.12.1', sha256='6c49aca95a32e66fa1e34bef542c2f380e91f86c9c2b3b0d98921901bab7abce')
- version('21.12', sha256='51794e2b593b8d1dc7d6310e17744842919bf44205b2cb7a79de2f2bbac3352a')
- version('21.09', sha256='7f3861c2bfec15a4da46378ea38b304e1462ed315cd315b81ab2c2a8ba50dd3e')
+ version("22.06", sha256="d89d8a7b574430c4f151a3768073fa44d32e5cc7606fbe0f58aeedf6f5fefc0b")
+ version("22.03", sha256="b01500b9480452aee865a0ef98cf40864f847b7e22ea572f9a6f0f5ac2ae9a1a")
+ version("21.12.1", sha256="6c49aca95a32e66fa1e34bef542c2f380e91f86c9c2b3b0d98921901bab7abce")
+ version("21.12", sha256="51794e2b593b8d1dc7d6310e17744842919bf44205b2cb7a79de2f2bbac3352a")
+ version("21.09", sha256="7f3861c2bfec15a4da46378ea38b304e1462ed315cd315b81ab2c2a8ba50dd3e")
- variant("network",
- default="ethernet",
- values=("infiniband", "ethernet"),
- description="GPI-2 fabric to enable")
- variant("monitor",
- default=True,
- description="""
+ variant(
+ "network",
+ default="ethernet",
+ values=("infiniband", "ethernet"),
+ description="GPI-2 fabric to enable",
+ )
+ variant(
+ "monitor",
+ default=True,
+ description="""
Enables the gspc-monitor application for execution monitoring.
- """)
- variant("build_type",
- default="Release",
- values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
- description="CMake build type")
+ """,
+ )
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ description="CMake build type",
+ )
- depends_on("cmake@3.15.0:",
- type="build")
- depends_on("chrpath@0.13:",
- type=("build", "run"))
- depends_on("pkgconfig",
- type="build")
+ depends_on("cmake@3.15.0:", type="build")
+ depends_on("chrpath@0.13:", type=("build", "run"))
+ depends_on("pkgconfig", type="build")
depends_on(
"boost@1.62.0:1.63.0"
"+atomic +chrono +coroutine +context +date_time +filesystem +iostreams"
@@ -58,17 +61,16 @@ class GpiSpace(CMakePackage):
depends_on("hwloc@1.10: +libudev ~shared ~libxml2")
depends_on("libssh2@1.7:")
depends_on("openssl@0.9:")
- depends_on("gpi-2@1.3.2:1.3.3 fabrics=infiniband",
- when="network=infiniband")
- depends_on("gpi-2@1.3.2:1.3.3 fabrics=ethernet",
- when="network=ethernet")
- depends_on("qt@5.9:5.15",
- when="+monitor")
+ depends_on("gpi-2@1.3.2:1.3.3 fabrics=infiniband", when="network=infiniband")
+ depends_on("gpi-2@1.3.2:1.3.3 fabrics=ethernet", when="network=ethernet")
+ depends_on("qt@5.9:5.15", when="+monitor")
def cmake_args(self):
- args = [self.define("FHG_ASSERT_MODE", False),
- self.define("INSTALL_DO_NOT_BUNDLE", True),
- self.define("BUILD_TESTING", False),
- self.define_from_variant("GSPC_WITH_MONITOR_APP", "monitor")]
+ args = [
+ self.define("FHG_ASSERT_MODE", False),
+ self.define("INSTALL_DO_NOT_BUNDLE", True),
+ self.define("BUILD_TESTING", False),
+ self.define_from_variant("GSPC_WITH_MONITOR_APP", "monitor"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/gplates/package.py b/var/spack/repos/builtin/packages/gplates/package.py
index 6d7862a359..e4606f8292 100644
--- a/var/spack/repos/builtin/packages/gplates/package.py
+++ b/var/spack/repos/builtin/packages/gplates/package.py
@@ -16,52 +16,54 @@ class Gplates(CMakePackage):
reconstructions and associated data through geological time.
"""
- homepage = 'https://www.gplates.org'
- url = 'file://{}/gplates_2.3.0_src.zip'.format(os.getcwd())
+ homepage = "https://www.gplates.org"
+ url = "file://{}/gplates_2.3.0_src.zip".format(os.getcwd())
manual_download = True
- version('2.3.0', sha256='7d4be9d524d1fcbb6a81de29bd1d4b13133082db23f0808965c5efe30e9538ab')
- version('2.1.0', sha256='5a52242520d7e243c541e164c8417b23f4e17fcd79ed81f865b2c13628bb0e07')
+ version("2.3.0", sha256="7d4be9d524d1fcbb6a81de29bd1d4b13133082db23f0808965c5efe30e9538ab")
+ version("2.1.0", sha256="5a52242520d7e243c541e164c8417b23f4e17fcd79ed81f865b2c13628bb0e07")
- depends_on('cmake@3.5:', when='@2.3:', type='build')
- depends_on('cmake@2.8.8:', when='@2.1', type='build')
- depends_on('cmake@2.6.2:', when='@2.0', type='build')
- depends_on('ninja', type='build')
- depends_on('gl')
- depends_on('glu')
- depends_on('glew')
- depends_on('python@2:3', when='@2.3:')
- depends_on('python@2', when='@:2.1')
- depends_on('boost@1.35:1.75+program_options+python+system+thread', when='@2.3:')
+ depends_on("cmake@3.5:", when="@2.3:", type="build")
+ depends_on("cmake@2.8.8:", when="@2.1", type="build")
+ depends_on("cmake@2.6.2:", when="@2.0", type="build")
+ depends_on("ninja", type="build")
+ depends_on("gl")
+ depends_on("glu")
+ depends_on("glew")
+ depends_on("python@2:3", when="@2.3:")
+ depends_on("python@2", when="@:2.1")
+ depends_on("boost@1.35:1.75+program_options+python+system+thread", when="@2.3:")
# Boost's Python library has a different name starting with 1.67.
- depends_on('boost@1.34:1.66+program_options+python+system+thread', when='@2.1')
+ depends_on("boost@1.34:1.66+program_options+python+system+thread", when="@2.1")
# There were changes to Boost's optional in 1.61 that make the build fail.
- depends_on('boost@1.34:1.60+program_options+python+system+thread', when='@2.0')
- depends_on('qt@5.6:+opengl', when='@2.3:')
+ depends_on("boost@1.34:1.60+program_options+python+system+thread", when="@2.0")
+ depends_on("qt@5.6:+opengl", when="@2.3:")
# Qt 5 does not support (at least) the Q_WS_* constants.
- depends_on('qt@4.4:4+opengl', when='@:2.1')
- depends_on('gdal@1.3.2:', when='@2.3:')
- depends_on('gdal@1.3.2:2', when='@2.1')
- depends_on('cgal@4.7:', when='@2.3:')
- depends_on('cgal@3.3.1:', when='@:2.1')
- depends_on('proj@4.6:', when='@2.3:')
+ depends_on("qt@4.4:4+opengl", when="@:2.1")
+ depends_on("gdal@1.3.2:", when="@2.3:")
+ depends_on("gdal@1.3.2:2", when="@2.1")
+ depends_on("cgal@4.7:", when="@2.3:")
+ depends_on("cgal@3.3.1:", when="@:2.1")
+ depends_on("proj@4.6:", when="@2.3:")
# Released before PROJ.6 was released, so assuming it's not supported
- depends_on('proj@4.6:5', when='@:2.1')
- depends_on('qwt@6.0.1:')
- depends_on('zlib', when='@2.3:')
+ depends_on("proj@4.6:5", when="@:2.1")
+ depends_on("qwt@6.0.1:")
+ depends_on("zlib", when="@2.3:")
# When built in parallel, headers are not generated before they are used
# (specifically, ViewportWindowUi.h) with the Makefiles generator.
- generator = 'Ninja'
+ generator = "Ninja"
- @when('@:2.1')
+ @when("@:2.1")
def patch(self):
# GPlates overrides FindPythonLibs and finds the static library, which
# can not be used easily. Fall back to CMake's version, which finds
# the shared library instead.
- force_remove('cmake/modules/FindPythonLibs.cmake')
+ force_remove("cmake/modules/FindPythonLibs.cmake")
# GPlates only installs its binary for the Release configuration.
- filter_file('CONFIGURATIONS release',
- 'CONFIGURATIONS Debug Release RelWithDebInfo MinSizeRel',
- 'src/CMakeLists.txt')
+ filter_file(
+ "CONFIGURATIONS release",
+ "CONFIGURATIONS Debug Release RelWithDebInfo MinSizeRel",
+ "src/CMakeLists.txt",
+ )
diff --git a/var/spack/repos/builtin/packages/gprolog/package.py b/var/spack/repos/builtin/packages/gprolog/package.py
index fe71438e96..563232d7ef 100644
--- a/var/spack/repos/builtin/packages/gprolog/package.py
+++ b/var/spack/repos/builtin/packages/gprolog/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Gprolog(Package):
"""A free Prolog compiler with constraint solving over finite domains."""
+
homepage = "http://www.gprolog.org/"
- url = "http://www.gprolog.org/gprolog-1.4.5.tar.gz"
+ url = "http://www.gprolog.org/gprolog-1.4.5.tar.gz"
- version('1.4.5', sha256='bfdcf00e051e0628b4f9af9d6638d4fde6ad793401e58a5619d1cc6105618c7c')
+ version("1.4.5", sha256="bfdcf00e051e0628b4f9af9d6638d4fde6ad793401e58a5619d1cc6105618c7c")
parallel = False
def install(self, spec, prefix):
- with working_dir('src'):
- configure('--with-install-dir=%s' % prefix,
- '--without-links-dir')
+ with working_dir("src"):
+ configure("--with-install-dir=%s" % prefix, "--without-links-dir")
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/gptl/package.py b/var/spack/repos/builtin/packages/gptl/package.py
index b13e174651..35f2c9380e 100644
--- a/var/spack/repos/builtin/packages/gptl/package.py
+++ b/var/spack/repos/builtin/packages/gptl/package.py
@@ -14,34 +14,34 @@ class Gptl(AutotoolsPackage):
"""
homepage = "https://jmrosinski.github.io/GPTL/"
- url = "https://github.com/jmrosinski/GPTL/releases/download/v8.0.3/gptl-8.0.3.tar.gz"
+ url = "https://github.com/jmrosinski/GPTL/releases/download/v8.0.3/gptl-8.0.3.tar.gz"
- maintainers = ['edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA', ' jmrosinski']
+ maintainers = ["edwardhartnett", "kgerheiser", "Hang-Lei-NOAA", " jmrosinski"]
- version('8.0.3', sha256='334979c6fe78d4ed1b491ec57fb61df7a910c58fd39a3658d03ad89f077a4db6')
- version('8.0.2', sha256='011f153084ebfb52b6bf8f190835d4bae6f6b5c0ad320331356aa47a547bf2b4')
+ version("8.0.3", sha256="334979c6fe78d4ed1b491ec57fb61df7a910c58fd39a3658d03ad89f077a4db6")
+ version("8.0.2", sha256="011f153084ebfb52b6bf8f190835d4bae6f6b5c0ad320331356aa47a547bf2b4")
- variant('pmpi', default=False)
- variant('papi', default=False)
- variant('nestedomp', default=False)
- variant('disable-unwind', default=False)
+ variant("pmpi", default=False)
+ variant("papi", default=False)
+ variant("nestedomp", default=False)
+ variant("disable-unwind", default=False)
- depends_on('mpi')
+ depends_on("mpi")
def configure_args(self):
args = []
- if '+pmpi' in self.spec:
- args.append('--enable-pmpi')
- args.append('CC=' + self.spec['mpi'].mpicc)
+ if "+pmpi" in self.spec:
+ args.append("--enable-pmpi")
+ args.append("CC=" + self.spec["mpi"].mpicc)
- if '+papi' in self.spec:
- args.append('--enable-papi')
+ if "+papi" in self.spec:
+ args.append("--enable-papi")
- if '+nestedomp' in self.spec:
- args.append('--enable-nestedomp')
+ if "+nestedomp" in self.spec:
+ args.append("--enable-nestedomp")
- if '+disable-unwind' in self.spec:
- args.append('--disable-libunwind')
+ if "+disable-unwind" in self.spec:
+ args.append("--disable-libunwind")
return args
diff --git a/var/spack/repos/builtin/packages/gptune/package.py b/var/spack/repos/builtin/packages/gptune/package.py
index dafae71ea3..9a29f34bbc 100644
--- a/var/spack/repos/builtin/packages/gptune/package.py
+++ b/var/spack/repos/builtin/packages/gptune/package.py
@@ -13,198 +13,221 @@ class Gptune(CMakePackage):
Bayesian optimization methodologies."""
homepage = "https://gptune.lbl.gov/"
- url = "https://github.com/gptune/GPTune/archive/refs/tags/3.0.0.tar.gz"
- git = "https://github.com/gptune/GPTune.git"
- maintainers = ['liuyangzhuan']
-
- version('master', branch='master')
- version('3.0.0', sha256='e19bfc3033fff11ff8c20cae65b88b7ca005d2c4e4db047f9f23226126ec92fa')
- version('2.1.0', sha256='737e0a1d83f66531098beafa73dd479f12def576be83b1c7b8ea5f1615d60a53')
-
- variant('superlu', default=False, description='Build the SuperLU_DIST example')
- variant('hypre', default=False, description='Build the Hypre example')
- variant('mpispawn', default=True, description='MPI spawning-based interface')
-
- depends_on('mpi', type=('build', 'link', 'run'))
- depends_on('cmake@3.17:', type='build')
- depends_on('jq', type='run')
- depends_on('blas', type='link')
- depends_on('lapack', type='link')
- depends_on('scalapack', type='link')
- depends_on('py-setuptools', type='build')
- depends_on('py-ipyparallel', type=('build', 'run'))
- depends_on('py-numpy@:1.21.5', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-scikit-optimize@master+gptune', type=('build', 'run'))
- depends_on('py-gpy', type=('build', 'run'))
- depends_on('py-lhsmdu', type=('build', 'run'))
- depends_on('py-hpbandster', type=('build', 'run'))
- depends_on('py-opentuner', type=('build', 'run'))
- depends_on('py-ytopt-autotune@1.1.0', type=('build', 'run'))
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
- depends_on('py-pyaml', type=('build', 'run'))
- depends_on('py-statsmodels@0.13.0:', type=('build', 'run'))
- depends_on('py-mpi4py@3.0.3:', type=('build', 'run'))
- depends_on('pygmo', type=('build', 'run'))
- depends_on('openturns', type=('build', 'run'))
- depends_on('py-pymoo', type=('build', 'run'), when='@3.0.0:')
-
- depends_on('superlu-dist@develop', when='+superlu', type=('build', 'run'))
- depends_on('hypre+gptune@2.19.0', when='+hypre', type=('build', 'run'))
-
- depends_on('openmpi@4:', when='+mpispawn', type=('build', 'run'))
- conflicts('mpich', when='+mpispawn')
- conflicts('spectrum-mpi', when='+mpispawn')
- conflicts('cray-mpich', when='+mpispawn')
- conflicts('gcc@:7')
+ url = "https://github.com/gptune/GPTune/archive/refs/tags/3.0.0.tar.gz"
+ git = "https://github.com/gptune/GPTune.git"
+ maintainers = ["liuyangzhuan"]
+
+ version("master", branch="master")
+ version("3.0.0", sha256="e19bfc3033fff11ff8c20cae65b88b7ca005d2c4e4db047f9f23226126ec92fa")
+ version("2.1.0", sha256="737e0a1d83f66531098beafa73dd479f12def576be83b1c7b8ea5f1615d60a53")
+
+ variant("superlu", default=False, description="Build the SuperLU_DIST example")
+ variant("hypre", default=False, description="Build the Hypre example")
+ variant("mpispawn", default=True, description="MPI spawning-based interface")
+
+ depends_on("mpi", type=("build", "link", "run"))
+ depends_on("cmake@3.17:", type="build")
+ depends_on("jq", type="run")
+ depends_on("blas", type="link")
+ depends_on("lapack", type="link")
+ depends_on("scalapack", type="link")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ipyparallel", type=("build", "run"))
+ depends_on("py-numpy@:1.21.5", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-scikit-optimize@master+gptune", type=("build", "run"))
+ depends_on("py-gpy", type=("build", "run"))
+ depends_on("py-lhsmdu", type=("build", "run"))
+ depends_on("py-hpbandster", type=("build", "run"))
+ depends_on("py-opentuner", type=("build", "run"))
+ depends_on("py-ytopt-autotune@1.1.0", type=("build", "run"))
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
+ depends_on("py-pyaml", type=("build", "run"))
+ depends_on("py-statsmodels@0.13.0:", type=("build", "run"))
+ depends_on("py-mpi4py@3.0.3:", type=("build", "run"))
+ depends_on("pygmo", type=("build", "run"))
+ depends_on("openturns", type=("build", "run"))
+ depends_on("py-pymoo", type=("build", "run"), when="@3.0.0:")
+
+ depends_on("superlu-dist@develop", when="+superlu", type=("build", "run"))
+ depends_on("hypre+gptune@2.19.0", when="+hypre", type=("build", "run"))
+
+ depends_on("openmpi@4:", when="+mpispawn", type=("build", "run"))
+ conflicts("mpich", when="+mpispawn")
+ conflicts("spectrum-mpi", when="+mpispawn")
+ conflicts("cray-mpich", when="+mpispawn")
+ conflicts("gcc@:7")
def cmake_args(self):
spec = self.spec
fc_flags = []
- if '%gcc@10:' in spec or self.spec.satisfies('%apple-clang@11:'):
- fc_flags.append('-fallow-argument-mismatch')
+ if "%gcc@10:" in spec or self.spec.satisfies("%apple-clang@11:"):
+ fc_flags.append("-fallow-argument-mismatch")
args = [
- '-DGPTUNE_INSTALL_PATH=%s' % python_platlib,
- '-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
- '-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
- '-DTPL_SCALAPACK_LIBRARIES=%s' % spec['scalapack'].
- libs.joined(";"),
- '-DCMAKE_Fortran_FLAGS=' + ''.join(fc_flags),
- '-DBUILD_SHARED_LIBS=ON',
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
+ "-DGPTUNE_INSTALL_PATH=%s" % python_platlib,
+ "-DTPL_BLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"),
+ "-DTPL_LAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
+ "-DTPL_SCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs.joined(";"),
+ "-DCMAKE_Fortran_FLAGS=" + "".join(fc_flags),
+ "-DBUILD_SHARED_LIBS=ON",
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
]
return args
- examples_src_dir = 'examples'
- src_dir = 'GPTune'
+ examples_src_dir = "examples"
+ src_dir = "GPTune"
nodes = 1
cores = 4
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources([self.examples_src_dir])
def setup_run_environment(self, env):
- env.set('GPTUNE_INSTALL_PATH', python_platlib)
+ env.set("GPTUNE_INSTALL_PATH", python_platlib)
def test(self):
spec = self.spec
comp_name = self.compiler.name
- comp_version = str(self.compiler.version).replace('.', ',')
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
-
- if '+superlu' in spec:
- superludriver = join_path(spec['superlu-dist'].prefix.lib,
- 'EXAMPLE/pddrive_spawn')
- op = ['-r', superludriver, '.']
+ comp_version = str(self.compiler.version).replace(".", ",")
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
+
+ if "+superlu" in spec:
+ superludriver = join_path(spec["superlu-dist"].prefix.lib, "EXAMPLE/pddrive_spawn")
+ op = ["-r", superludriver, "."]
# copy superlu-dist executables to the correct place
- wd = join_path(test_dir, 'SuperLU_DIST')
- self.run_test('rm', options=['-rf', 'superlu_dist'], work_dir=wd)
- self.run_test('git', options=['clone', 'https://github.com/xiaoyeli/superlu_dist.git'], work_dir=wd)
- self.run_test('mkdir', options=['-p',
- 'build'], work_dir=wd + '/superlu_dist')
- self.run_test('mkdir', options=['-p', 'EXAMPLE'],
- work_dir=wd + '/superlu_dist/build')
- self.run_test('cp', options=op, work_dir=wd + '/superlu_dist/build/EXAMPLE')
-
- if '+hypre' in spec:
- hypredriver = join_path(spec['hypre'].prefix.bin, 'ij')
- op = ['-r', hypredriver, '.']
+ wd = join_path(test_dir, "SuperLU_DIST")
+ self.run_test("rm", options=["-rf", "superlu_dist"], work_dir=wd)
+ self.run_test(
+ "git",
+ options=["clone", "https://github.com/xiaoyeli/superlu_dist.git"],
+ work_dir=wd,
+ )
+ self.run_test("mkdir", options=["-p", "build"], work_dir=wd + "/superlu_dist")
+ self.run_test("mkdir", options=["-p", "EXAMPLE"], work_dir=wd + "/superlu_dist/build")
+ self.run_test("cp", options=op, work_dir=wd + "/superlu_dist/build/EXAMPLE")
+
+ if "+hypre" in spec:
+ hypredriver = join_path(spec["hypre"].prefix.bin, "ij")
+ op = ["-r", hypredriver, "."]
# copy superlu-dist executables to the correct place
- wd = join_path(test_dir, 'Hypre')
- self.run_test('rm', options=['-rf', 'hypre'], work_dir=wd)
- self.run_test('git', options=['clone', 'https://github.com/hypre-space/hypre.git'], work_dir=wd)
- self.run_test('cp', options=op, work_dir=wd + '/hypre/src/test/')
+ wd = join_path(test_dir, "Hypre")
+ self.run_test("rm", options=["-rf", "hypre"], work_dir=wd)
+ self.run_test(
+ "git", options=["clone", "https://github.com/hypre-space/hypre.git"], work_dir=wd
+ )
+ self.run_test("cp", options=op, work_dir=wd + "/hypre/src/test/")
wd = self.test_suite.current_test_cache_dir
- with open('{0}/run_env.sh'.format(wd), 'w') as envfile:
+ with open("{0}/run_env.sh".format(wd), "w") as envfile:
envfile.write('if [[ $NERSC_HOST = "cori" ]]; then\n')
- envfile.write(' export machine=cori\n')
+ envfile.write(" export machine=cori\n")
envfile.write('elif [[ $(uname -s) = "Darwin" ]]; then\n')
- envfile.write(' export machine=mac\n')
- envfile.write('elif [[ $(dnsdomainname) = ' +
- '"summit.olcf.ornl.gov" ]]; then\n')
- envfile.write(' export machine=summit\n')
- envfile.write('elif [[ $(cat /etc/os-release | grep "PRETTY_NAME") ==' +
- ' *"Ubuntu"* || $(cat /etc/os-release | grep' +
- ' "PRETTY_NAME") == *"Debian"* ]]; then\n')
- envfile.write(' export machine=unknownlinux\n')
- envfile.write('fi\n')
- envfile.write('export GPTUNEROOT=$PWD\n')
- envfile.write('export MPIRUN={0}\n'.format
- (which(spec['mpi'].prefix.bin + '/mpirun')))
- envfile.write('export PYTHONPATH={0}:$PYTHONPATH\n'.format
- (python_platlib + '/gptune'))
- envfile.write('export proc=$(spack arch)\n')
- envfile.write('export mpi={0}\n'.format(spec['mpi'].name))
- envfile.write('export compiler={0}\n'.format(comp_name))
- envfile.write('export nodes={0} \n'.format(self.nodes))
- envfile.write('export cores={0} \n'.format(self.cores))
- envfile.write('export ModuleEnv=$machine-$proc-$mpi-$compiler \n')
- envfile.write('software_json=$(echo ",\\\"software_configuration\\\":' +
- '{\\\"' + spec['blas'].name +
- '\\\":{\\\"version_split\\\":' +
- ' [' + str(spec['blas'].versions).replace('.', ',') +
- ']},\\\"' + spec['mpi'].name +
- '\\\":{\\\"version_split\\\": [' +
- str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
- spec['scalapack'].name +
- '\\\":{\\\"version_split\\\": [' +
- str(spec['scalapack'].versions).replace('.', ',') +
- ']},\\\"' +
- str(comp_name) + '\\\":{\\\"version_split\\\": [' +
- str(comp_version) + ']}}") \n')
- envfile.write('loadable_software_json=$(echo ",\\\"loadable_software_' +
- 'configurations\\\":{\\\"' + spec['blas'].name +
- '\\\":{\\\"version_split\\\": [' +
- str(spec['blas'].versions).replace('.', ',') +
- ']},\\\"' + spec['mpi'].name +
- '\\\":{\\\"version_split\\\": [' +
- str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
- spec['scalapack'].name +
- '\\\":{\\\"version_split\\\": [' +
- str(spec['scalapack'].versions).replace('.', ',') +
- ']},\\\"' + str(comp_name) +
- '\\\":{\\\"version_split\\\": ['
- + str(comp_version) + ']}}") \n')
- envfile.write('machine_json=$(echo ",\\\"machine_configuration\\\":' +
- '{\\\"machine_name\\\":\\\"$machine\\\",\\\"$proc\\\":' +
- '{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}") \n')
- envfile.write('loadable_machine_json=$(echo ",\\\"loadable_machine_' +
- 'configurations\\\":{\\\"$machine\\\":{\\\"$proc\\\":' +
- '{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}}") \n')
+ envfile.write(" export machine=mac\n")
+ envfile.write("elif [[ $(dnsdomainname) = " + '"summit.olcf.ornl.gov" ]]; then\n')
+ envfile.write(" export machine=summit\n")
+ envfile.write(
+ 'elif [[ $(cat /etc/os-release | grep "PRETTY_NAME") =='
+ + ' *"Ubuntu"* || $(cat /etc/os-release | grep'
+ + ' "PRETTY_NAME") == *"Debian"* ]]; then\n'
+ )
+ envfile.write(" export machine=unknownlinux\n")
+ envfile.write("fi\n")
+ envfile.write("export GPTUNEROOT=$PWD\n")
+ envfile.write("export MPIRUN={0}\n".format(which(spec["mpi"].prefix.bin + "/mpirun")))
+ envfile.write("export PYTHONPATH={0}:$PYTHONPATH\n".format(python_platlib + "/gptune"))
+ envfile.write("export proc=$(spack arch)\n")
+ envfile.write("export mpi={0}\n".format(spec["mpi"].name))
+ envfile.write("export compiler={0}\n".format(comp_name))
+ envfile.write("export nodes={0} \n".format(self.nodes))
+ envfile.write("export cores={0} \n".format(self.cores))
+ envfile.write("export ModuleEnv=$machine-$proc-$mpi-$compiler \n")
+ envfile.write(
+ 'software_json=$(echo ",\\"software_configuration\\":'
+ + '{\\"'
+ + spec["blas"].name
+ + '\\":{\\"version_split\\":'
+ + " ["
+ + str(spec["blas"].versions).replace(".", ",")
+ + ']},\\"'
+ + spec["mpi"].name
+ + '\\":{\\"version_split\\": ['
+ + str(spec["mpi"].versions).replace(".", ",")
+ + ']},\\"'
+ + spec["scalapack"].name
+ + '\\":{\\"version_split\\": ['
+ + str(spec["scalapack"].versions).replace(".", ",")
+ + ']},\\"'
+ + str(comp_name)
+ + '\\":{\\"version_split\\": ['
+ + str(comp_version)
+ + ']}}") \n'
+ )
+ envfile.write(
+ 'loadable_software_json=$(echo ",\\"loadable_software_'
+ + 'configurations\\":{\\"'
+ + spec["blas"].name
+ + '\\":{\\"version_split\\": ['
+ + str(spec["blas"].versions).replace(".", ",")
+ + ']},\\"'
+ + spec["mpi"].name
+ + '\\":{\\"version_split\\": ['
+ + str(spec["mpi"].versions).replace(".", ",")
+ + ']},\\"'
+ + spec["scalapack"].name
+ + '\\":{\\"version_split\\": ['
+ + str(spec["scalapack"].versions).replace(".", ",")
+ + ']},\\"'
+ + str(comp_name)
+ + '\\":{\\"version_split\\": ['
+ + str(comp_version)
+ + ']}}") \n'
+ )
+ envfile.write(
+ 'machine_json=$(echo ",\\"machine_configuration\\":'
+ + '{\\"machine_name\\":\\"$machine\\",\\"$proc\\":'
+ + '{\\"nodes\\":$nodes,\\"cores\\":$cores}}") \n'
+ )
+ envfile.write(
+ 'loadable_machine_json=$(echo ",\\"loadable_machine_'
+ + 'configurations\\":{\\"$machine\\":{\\"$proc\\":'
+ + '{\\"nodes\\":$nodes,\\"cores\\":$cores}}}") \n'
+ )
# copy the environment configuration files to non-cache directories
- op = ['run_env.sh', python_platlib + '/gptune/.']
- self.run_test('cp', options=op, work_dir=wd)
- op = ['run_env.sh', self.install_test_root + '/.']
- self.run_test('cp', options=op, work_dir=wd)
-
- apps = ['Scalapack-PDGEQRF_RCI']
- if '+mpispawn' in spec:
- apps = apps + ['GPTune-Demo', 'Scalapack-PDGEQRF']
- if '+superlu' in spec:
- apps = apps + ['SuperLU_DIST_RCI']
- if '+mpispawn' in spec:
- apps = apps + ['SuperLU_DIST']
- if '+hypre' in spec:
- if '+mpispawn' in spec:
- apps = apps + ['Hypre']
+ op = ["run_env.sh", python_platlib + "/gptune/."]
+ self.run_test("cp", options=op, work_dir=wd)
+ op = ["run_env.sh", self.install_test_root + "/."]
+ self.run_test("cp", options=op, work_dir=wd)
+
+ apps = ["Scalapack-PDGEQRF_RCI"]
+ if "+mpispawn" in spec:
+ apps = apps + ["GPTune-Demo", "Scalapack-PDGEQRF"]
+ if "+superlu" in spec:
+ apps = apps + ["SuperLU_DIST_RCI"]
+ if "+mpispawn" in spec:
+ apps = apps + ["SuperLU_DIST"]
+ if "+hypre" in spec:
+ if "+mpispawn" in spec:
+ apps = apps + ["Hypre"]
for app in apps:
wd = join_path(test_dir, app)
- self.run_test('bash', options=['run_examples.sh'], work_dir=wd,
- purpose='gptune smoke test for {0}'.format(app))
+ self.run_test(
+ "bash",
+ options=["run_examples.sh"],
+ work_dir=wd,
+ purpose="gptune smoke test for {0}".format(app),
+ )
diff --git a/var/spack/repos/builtin/packages/gpu-burn/package.py b/var/spack/repos/builtin/packages/gpu-burn/package.py
index 7e5d626159..c8f7b7f130 100644
--- a/var/spack/repos/builtin/packages/gpu-burn/package.py
+++ b/var/spack/repos/builtin/packages/gpu-burn/package.py
@@ -11,42 +11,44 @@ class GpuBurn(MakefilePackage, CudaPackage):
"""Multi-GPU CUDA stress test."""
homepage = "http://wili.cc/blog/gpu-burn.html"
- url = "http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.0.tar.gz"
- git = "https://github.com/wilicc/gpu-burn"
+ url = "http://wili.cc/blog/entries/gpu-burn/gpu_burn-1.0.tar.gz"
+ git = "https://github.com/wilicc/gpu-burn"
- version('master', branch='master')
- version('1.1', sha256='9876dbf7ab17b3072e9bc657034ab39bdedb219478f57c4e93314c78ae2d6376')
- version('1.0', sha256='d55994f0bee8dabf021966dbe574ef52be1e43386faeee91318dd4ebb36aa74a')
+ version("master", branch="master")
+ version("1.1", sha256="9876dbf7ab17b3072e9bc657034ab39bdedb219478f57c4e93314c78ae2d6376")
+ version("1.0", sha256="d55994f0bee8dabf021966dbe574ef52be1e43386faeee91318dd4ebb36aa74a")
# This package uses CudaPackage to pick up the cuda_arch variant. A side
# effect is that it also picks up the cuda variant, but cuda is required
# for gpu-burn so is not really a variant.
- variant('cuda', 'True', description='Use CUDA; must be true')
+ variant("cuda", "True", description="Use CUDA; must be true")
- conflicts('~cuda', msg='gpu-burn requires cuda')
- conflicts('cuda_arch=none', msg='must select a CUDA architecture')
+ conflicts("~cuda", msg="gpu-burn requires cuda")
+ conflicts("cuda_arch=none", msg="must select a CUDA architecture")
def edit(self, spec, prefix):
# update cuda architecture if necessary
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
archflag = " ".join(CudaPackage.cuda_flags(cuda_arch))
- with open('Makefile', 'w') as fh:
- fh.write('drv:\n')
- fh.write('\tnvcc {0} -fatbin '
- 'compare.cu -o compare.ptx\n'.format(archflag))
- fh.write('\t{0} -O3 -c gpu_burn-drv.cpp\n'.format(spack_cxx))
- fh.write('\t{0} -o gpu_burn gpu_burn-drv.o -O3 -lcuda '
- '-lcublas -lcudart -o gpu_burn\n'.format(spack_cxx))
-
- filter_file('compare.ptx',
- join_path(prefix.share,
- 'compare.ptx'),
- 'gpu_burn-drv.cpp',
- string=True)
+ with open("Makefile", "w") as fh:
+ fh.write("drv:\n")
+ fh.write("\tnvcc {0} -fatbin " "compare.cu -o compare.ptx\n".format(archflag))
+ fh.write("\t{0} -O3 -c gpu_burn-drv.cpp\n".format(spack_cxx))
+ fh.write(
+ "\t{0} -o gpu_burn gpu_burn-drv.o -O3 -lcuda "
+ "-lcublas -lcudart -o gpu_burn\n".format(spack_cxx)
+ )
+
+ filter_file(
+ "compare.ptx",
+ join_path(prefix.share, "compare.ptx"),
+ "gpu_burn-drv.cpp",
+ string=True,
+ )
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.share)
- install('gpu_burn', prefix.bin)
- install('compare.ptx', prefix.share)
+ install("gpu_burn", prefix.bin)
+ install("compare.ptx", prefix.share)
diff --git a/var/spack/repos/builtin/packages/gqrx/package.py b/var/spack/repos/builtin/packages/gqrx/package.py
index 4334f36527..1fc422934a 100644
--- a/var/spack/repos/builtin/packages/gqrx/package.py
+++ b/var/spack/repos/builtin/packages/gqrx/package.py
@@ -19,14 +19,14 @@ class Gqrx(CMakePackage):
interacting with external application using nertwork sockets."""
homepage = "https://gqrx.dk/"
- url = "https://github.com/csete/gqrx/archive/v2.13.1.tar.gz"
+ url = "https://github.com/csete/gqrx/archive/v2.13.1.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('2.13.1', sha256='08b7b930bed00c6ac79330695c24919a9d779112e1a3dd37d22cc9ee38561e82')
- depends_on('cmake@3.2.0:', type='build')
- depends_on('gnuradio')
- depends_on('pkgconfig', type='build')
- depends_on('gr-osmosdr')
- depends_on('qt')
- depends_on('pulseaudio')
+ version("2.13.1", sha256="08b7b930bed00c6ac79330695c24919a9d779112e1a3dd37d22cc9ee38561e82")
+ depends_on("cmake@3.2.0:", type="build")
+ depends_on("gnuradio")
+ depends_on("pkgconfig", type="build")
+ depends_on("gr-osmosdr")
+ depends_on("qt")
+ depends_on("pulseaudio")
diff --git a/var/spack/repos/builtin/packages/gr-osmosdr/package.py b/var/spack/repos/builtin/packages/gr-osmosdr/package.py
index 3da6014af3..1fc8caff97 100644
--- a/var/spack/repos/builtin/packages/gr-osmosdr/package.py
+++ b/var/spack/repos/builtin/packages/gr-osmosdr/package.py
@@ -27,14 +27,14 @@ class GrOsmosdr(CMakePackage):
gnuradio .cfile input through libgnuradio-blocks"""
homepage = "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR"
- url = "https://github.com/osmocom/gr-osmosdr/archive/v0.2.2.tar.gz"
+ url = "https://github.com/osmocom/gr-osmosdr/archive/v0.2.2.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- variant('hackrf', default=True, description='Support HackRF Hardware')
+ variant("hackrf", default=True, description="Support HackRF Hardware")
- version('0.2.2', sha256='5a7ce7afee38a56191b5d16cb4a91c92476729ff16ed09cbba5a3851ac619713')
+ version("0.2.2", sha256="5a7ce7afee38a56191b5d16cb4a91c92476729ff16ed09cbba5a3851ac619713")
- depends_on('gnuradio')
- depends_on('swig', type='build')
- depends_on('hackrf-host', when='+hackrf')
+ depends_on("gnuradio")
+ depends_on("swig", type="build")
+ depends_on("hackrf-host", when="+hackrf")
diff --git a/var/spack/repos/builtin/packages/grabix/package.py b/var/spack/repos/builtin/packages/grabix/package.py
index 9736571841..1df0abda96 100644
--- a/var/spack/repos/builtin/packages/grabix/package.py
+++ b/var/spack/repos/builtin/packages/grabix/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Grabix(MakefilePackage):
"""Grabix leverages the fantastic BGZF library in samtools to provide
- random access into text files that have been compressed with bgzip.
- grabix creates it's own index (.gbi) of the bgzipped file. Once indexed,
- one can extract arbitrary lines from the file with the grab command.
- Or choose random lines with the, well, random command.
+ random access into text files that have been compressed with bgzip.
+ grabix creates it's own index (.gbi) of the bgzipped file. Once indexed,
+ one can extract arbitrary lines from the file with the grab command.
+ Or choose random lines with the, well, random command.
"""
homepage = "https://github.com/arq5x/grabix"
- url = "https://github.com/arq5x/grabix/archive/v0.1.7.tar.gz"
+ url = "https://github.com/arq5x/grabix/archive/v0.1.7.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('0.1.7', sha256='d90735c55c0985a4d751858d7ce9e36ad534fff4103257e8e981e34d5c915b28')
+ version("0.1.7", sha256="d90735c55c0985a4d751858d7ce9e36ad534fff4103257e8e981e34d5c915b28")
- conflicts('%gcc@7:', msg='grabix cannot be compiled with newer versions of GCC')
+ conflicts("%gcc@7:", msg="grabix cannot be compiled with newer versions of GCC")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('LICENSE', prefix)
- install('simrep.chr1.bed', prefix)
- install('grabix', prefix.bin)
+ install("LICENSE", prefix)
+ install("simrep.chr1.bed", prefix)
+ install("grabix", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/grace/package.py b/var/spack/repos/builtin/packages/grace/package.py
index d7a887dc96..d9a169923e 100644
--- a/var/spack/repos/builtin/packages/grace/package.py
+++ b/var/spack/repos/builtin/packages/grace/package.py
@@ -12,51 +12,54 @@ class Grace(AutotoolsPackage):
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"
+ url = "ftp://ftp.fu-berlin.de/unix/graphics/grace/src/grace5/grace-5.1.25.tar.gz"
- maintainers = ['RemiLacroix-IDRIS']
+ maintainers = ["RemiLacroix-IDRIS"]
- version('5.1.25', sha256='751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac')
+ version("5.1.25", sha256="751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac")
- depends_on('libx11')
- depends_on('libxext')
- depends_on('libxmu')
- depends_on('libxp')
- depends_on('libxt')
- depends_on('libice')
- depends_on('libsm')
- depends_on('motif')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('fftw@2.0:2')
- depends_on('netcdf-c')
+ depends_on("libx11")
+ depends_on("libxext")
+ depends_on("libxmu")
+ depends_on("libxp")
+ depends_on("libxt")
+ depends_on("libice")
+ depends_on("libsm")
+ depends_on("motif")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("fftw@2.0:2")
+ depends_on("netcdf-c")
def patch(self):
# Spack's FFTW2 has prefixed headers so patch the code accordingly.
# We are not patching "ac-tools/aclocal.m4" since it is not needed
# currently and would require to run "autoreconf".
- filter_file('<fftw.h>', '<dfftw.h>',
- 'configure', 'src/fourier.c')
- filter_file('char filename[128];',
- 'char filename[4096];',
- 'T1lib/type1/scanfont.c',
- string=True)
- filter_file('char CurFontName[120];',
- 'char CurFontName[4096];',
- 'T1lib/type1/fontfcn.c',
- string=True)
+ filter_file("<fftw.h>", "<dfftw.h>", "configure", "src/fourier.c")
+ filter_file(
+ "char filename[128];",
+ "char filename[4096];",
+ "T1lib/type1/scanfont.c",
+ string=True,
+ )
+ filter_file(
+ "char CurFontName[120];",
+ "char CurFontName[4096];",
+ "T1lib/type1/fontfcn.c",
+ string=True,
+ )
def configure_args(self):
args = []
- args.append('--with-fftw')
+ args.append("--with-fftw")
# Spack's FFTW2 has prefixed libraries
- args.append('--with-fftw-library=-ldfftw')
- for driver in ['jpeg', 'png']:
- args.append('--enable-{0}drv'.format(driver))
- args.append('--enable-netcdf')
+ args.append("--with-fftw-library=-ldfftw")
+ for driver in ["jpeg", "png"]:
+ args.append("--enable-{0}drv".format(driver))
+ args.append("--enable-netcdf")
return args
def setup_run_environment(self, env):
# Grace installs a subfolder in the prefix directory
# so we account for that...
- env.prepend_path('PATH', self.prefix.grace.bin)
+ env.prepend_path("PATH", self.prefix.grace.bin)
diff --git a/var/spack/repos/builtin/packages/grackle/package.py b/var/spack/repos/builtin/packages/grackle/package.py
index 547b12d6d6..47c800b930 100644
--- a/var/spack/repos/builtin/packages/grackle/package.py
+++ b/var/spack/repos/builtin/packages/grackle/package.py
@@ -15,63 +15,60 @@ class Grackle(Package):
generalized and trimmed down version of the chemistry network of the Enzo
simulation code
"""
- homepage = 'http://grackle.readthedocs.io/en/grackle-3.1/'
- url = 'https://bitbucket.org/grackle/grackle/get/grackle-3.1.tar.bz2'
- version('3.1', sha256='504fb080c7f8578c92dcde76cf9e8b851331a38ac76fc4a784df4ecbe1ff2ae8')
- version('3.0', sha256='9219033332188d615e49135a3b030963f076b3afee098592b0c3e9f8bafdf504')
- version('2.2', sha256='b1d201313c924df38d1e677015f7c31dce42083ef6a0e0936bb9410ccd8a3655')
- version('2.0.1', sha256='8f784aaf53d98ddb52b448dc51eb9ec452261a2dbb360170a798693b85165f7d')
+ homepage = "http://grackle.readthedocs.io/en/grackle-3.1/"
+ url = "https://bitbucket.org/grackle/grackle/get/grackle-3.1.tar.bz2"
- variant('float', default=False, description='Build with float')
+ version("3.1", sha256="504fb080c7f8578c92dcde76cf9e8b851331a38ac76fc4a784df4ecbe1ff2ae8")
+ version("3.0", sha256="9219033332188d615e49135a3b030963f076b3afee098592b0c3e9f8bafdf504")
+ version("2.2", sha256="b1d201313c924df38d1e677015f7c31dce42083ef6a0e0936bb9410ccd8a3655")
+ version("2.0.1", sha256="8f784aaf53d98ddb52b448dc51eb9ec452261a2dbb360170a798693b85165f7d")
- depends_on('libtool', when='@2.2')
+ variant("float", default=False, description="Build with float")
- depends_on('mpi')
- depends_on('hdf5+mpi')
+ depends_on("libtool", when="@2.2")
+
+ depends_on("mpi")
+ depends_on("hdf5+mpi")
parallel = False
def install(self, spec, prefix):
- template_name = '{0.architecture}-{0.compiler.name}'
+ template_name = "{0.architecture}-{0.compiler.name}"
grackle_architecture = template_name.format(spec)
link_variables = (
- 'MACH_AR = ar' if spec.version < Version(2.2) else 'MACH_LIBTOOL = libtool'
+ "MACH_AR = ar" if spec.version < Version(2.2) else "MACH_LIBTOOL = libtool"
)
substitutions = {
- '@ARCHITECTURE': grackle_architecture,
- '@CC': spec['mpi'].mpicc,
- '@CXX': spec['mpi'].mpicxx,
- '@FC': spec['mpi'].mpifc,
- '@F77': spec['mpi'].mpif77,
- '@STDCXX_LIB': ' '.join(self.compiler.stdcxx_libs),
- '@HDF5_ROOT': spec['hdf5'].prefix,
- '@PREFIX': prefix,
- '@LINK_VARIABLES_DEFINITION': link_variables
+ "@ARCHITECTURE": grackle_architecture,
+ "@CC": spec["mpi"].mpicc,
+ "@CXX": spec["mpi"].mpicxx,
+ "@FC": spec["mpi"].mpifc,
+ "@F77": spec["mpi"].mpif77,
+ "@STDCXX_LIB": " ".join(self.compiler.stdcxx_libs),
+ "@HDF5_ROOT": spec["hdf5"].prefix,
+ "@PREFIX": prefix,
+ "@LINK_VARIABLES_DEFINITION": link_variables,
}
template = join_path(
- os.path.dirname(inspect.getmodule(self).__file__),
- 'Make.mach.template'
+ os.path.dirname(inspect.getmodule(self).__file__), "Make.mach.template"
)
makefile = join_path(
- self.stage.source_path,
- 'src',
- 'clib',
- 'Make.mach.{0}'.format(grackle_architecture)
+ self.stage.source_path, "src", "clib", "Make.mach.{0}".format(grackle_architecture)
)
copy(template, makefile)
for key, value in substitutions.items():
filter_file(key, value, makefile)
configure()
- with working_dir('src/clib'):
- make('clean')
- make('machine-{0}'.format(grackle_architecture))
- make('opt-high')
+ with working_dir("src/clib"):
+ make("clean")
+ make("machine-{0}".format(grackle_architecture))
+ make("opt-high")
if spec.satisfies("+float"):
- make('precision-32')
- make('show-config')
+ make("precision-32")
+ make("show-config")
make()
mkdirp(prefix.lib)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/gradle/package.py b/var/spack/repos/builtin/packages/gradle/package.py
index 7054e15fc5..b3470efded 100644
--- a/var/spack/repos/builtin/packages/gradle/package.py
+++ b/var/spack/repos/builtin/packages/gradle/package.py
@@ -15,99 +15,99 @@ class Gradle(Package):
order in which tasks can be run."""
homepage = "https://gradle.org"
- url = "https://services.gradle.org/distributions/gradle-3.4-all.zip"
+ url = "https://services.gradle.org/distributions/gradle-3.4-all.zip"
- version('7.2', sha256='a8da5b02437a60819cad23e10fc7e9cf32bcb57029d9cb277e26eeff76ce014b')
- version('7.1.1', sha256='9bb8bc05f562f2d42bdf1ba8db62f6b6fa1c3bf6c392228802cc7cb0578fe7e0')
- version('7.1', sha256='a9e356a21595348b6f04b024ed0b08ac8aea6b2ac37e6c0ef58e51549cd7b9cb')
- version('7.0.2', sha256='13bf8d3cf8eeeb5770d19741a59bde9bd966dd78d17f1bbad787a05ef19d1c2d')
- version('7.0.1', sha256='ca42877db3519b667cd531c414be517b294b0467059d401e7133f0e55b9bf265')
- version('7.0', sha256='81003f83b0056d20eedf48cddd4f52a9813163d4ba185bcf8abd34b8eeea4cbd')
- version('6.9.1', sha256='b13f5d97f08000996bf12d9dd70af3f2c6b694c2c663ab1b545e9695562ad1ee')
- version('6.9', sha256='5d234488d2cac2ed556dc3c47096e189ad76a63cf304ebf124f756498922cf16')
- version('6.8.3', sha256='9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7')
- version('6.8.2', sha256='1433372d903ffba27496f8d5af24265310d2da0d78bf6b4e5138831d4fe066e9')
- version('6.8.1', sha256='3db89524a3981819ff28c3f979236c1274a726e146ced0c8a2020417f9bc0782')
- version('6.8', sha256='a7ca23b3ccf265680f2bfd35f1f00b1424f4466292c7337c85d46c9641b3f053')
- version('6.7.1', sha256='22449f5231796abd892c98b2a07c9ceebe4688d192cd2d6763f8e3bf8acbedeb')
- version('6.7', sha256='0080de8491f0918e4f529a6db6820fa0b9e818ee2386117f4394f95feb1d5583')
- version('6.6.1', sha256='11657af6356b7587bfb37287b5992e94a9686d5c8a0a1b60b87b9928a2decde5')
- version('6.6', sha256='83fa7c3e5ab84c3c5c4a04fb16947338209efa9aab1f6bf09a5d0e3d2ed87742')
- version('6.5.1', sha256='143a28f54f1ae93ef4f72d862dbc3c438050d81bb45b4601eb7076e998362920')
- version('6.5', sha256='c9910513d0eed63cd8f5c7fec4cb4a05731144770104a0871234a4edc3ba3cef')
- version('6.4.1', sha256='3fd824892df8ad5847be6e4fb7d3600068437de172939fd657cc280a1a629f63')
- version('6.4', sha256='d08f7e24d061910382c2fda9915e6ed42dd1480ae2e99211f92c70190cb697e0')
- version('6.3', sha256='0f316a67b971b7b571dac7215dcf2591a30994b3450e0629925ffcfe2c68cc5c')
- version('6.2.2', sha256='838fa0e3373a9c8d953eff972449edc6be5fa12b26509ac3387727de85138cc0')
- version('6.2.1', sha256='49fad5c94e76bc587c1a1138f045daee81476a82b288c7ab8c7cd6b14bf2b1c7')
- version('6.2', sha256='f016e66d88c2f9adb5b6e7dff43a363b8c2632f18b4ad6f365f49da34dd57db8')
- version('6.1.1', sha256='10065868c78f1207afb3a92176f99a37d753a513dff453abb6b5cceda4058cda')
- version('6.1', sha256='634f972af958e3c753aeb42d7a688fab6820b527a0aef9eed03d7f3f6f9c7c06')
- version('6.0.1', sha256='6f6cfdbb12a577c3845522a1c7fbfe1295ea05d87edabedd4e23fd2bf02b88b1')
- version('6.0', sha256='a1eb4439c0a85bc7e64a22658d862e43b7d0ddfbf69a7abf6256e0b7514295df')
- version('5.6.4', sha256='abc10bcedb58806e8654210f96031db541bcd2d6fc3161e81cb0572d6a15e821')
- version('5.6.3', sha256='342f8e75a8879fa9192163fa8d932b9f6383ea00c1918a478f0f51e11e004b60')
- version('5.6.2', sha256='027fdd265d277bae65a0d349b6b8da02135b0b8e14ba891e26281fa877fe37a2')
- version('5.6.1', sha256='f6ea7f48e2823ca7ff8481044b892b24112f5c2c3547d4f423fb9e684c39f710')
- version('5.6', sha256='33214524e686838c88a88e14e8b30e2323589cc9698186bc8e0594758b132b31')
- version('5.5.1', sha256='6c4276f97c9059ef4dfb06cc7325c43ed9b933ab04f032e9d9372e8589cb6faf')
- version('5.5', sha256='302b7df46730ce75c582542c056c9bf5cac2b94fbf2cc656d0e37e41e8a5d371')
- version('5.4.1', sha256='14cd15fc8cc8705bd69dcfa3c8fefb27eb7027f5de4b47a8b279218f76895a91')
- version('5.4', sha256='f177768e7a032727e4338c8fd047f8f263e5bd283f67a7766c1ba4182c8455a6')
- version('5.3.1', sha256='b018a7308cb43633662363d100c14a3c41c66fd4e32b59e1dfc644d6fd2109f6')
- version('5.3', sha256='f4d820c2a9685710eba5b92f10e0e4fb20e0d6c0dd1f46971e658160f25e7147')
- version('5.2.1', sha256='9dc729f6dbfbbc4df1692665d301e028976dacac296a126f16148941a9cf012e')
- version('5.2', sha256='55db797adf2705bb782655f012af7cc7724b14382881f60fb3f3eb4b645c02d6')
- version('5.1.1', sha256='53b71812f18cdb2777e9f1b2a0f2038683907c90bdc406bc64d8b400e1fb2c3b')
- version('5.1', sha256='7b8a8b9cce0406733d2d3fab3874386c530657c73c3f4e9a3837d081e26060d8')
- version('5.0', sha256='17847c8e12b2bcfce26a79f425f082c31d4ded822f99a66127eee2d96bf18216')
- version('4.10.3', sha256='336b6898b491f6334502d8074a6b8c2d73ed83b92123106bd4bf837f04111043')
- version('4.10.2', sha256='b7aedd369a26b177147bcb715f8b1fc4fe32b0a6ade0d7fd8ee5ed0c6f731f2c')
- version('4.10.1', sha256='36bf7ff499223d5139f005822130ccca784c91591b514677fd376eed966c907e')
- version('4.10', sha256='fc049dcbcb245d5892bebae143bd515a78f6a5a93cec99d489b312dc0ce4aad9')
- version('4.9', sha256='39e2d5803bbd5eaf6c8efe07067b0e5a00235e8c71318642b2ed262920b27721')
- version('4.8.1', sha256='ce1645ff129d11aad62dab70d63426fdce6cfd646fa309dc5dc5255dd03c7c11')
- version('3.4', sha256='37c2fdce55411e4c89b896c292cae1f8f437862c8433c8a74cfc3805d7670c0a')
- version('3.3', sha256='71a787faed83c4ef21e8464cc8452b941b5fcd575043aa29d39d15d879be89f7')
- version('3.2.1', sha256='0209696f1723f607c475109cf3ed8b51c8a91bb0cda05af0d4bd980bdefe75cd')
- version('3.2', sha256='e25ff599ff268182b597c371ed94eb3c225496af5d4e7eb9dcbb08d30f93a9ec')
- version('3.1', sha256='43be380834a13e28e9504c21f67fe1a8895ab54f314a6596601896dca7213482')
- version('3.0', sha256='9c8b7564ea6a911b5b9fcadd60f3a6cea4238413c8b1e1dd14400a50954aab99')
- version('2.14.1', sha256='88a910cdf2e03ebbb5fe90f7ecf534fc9ac22e12112dc9a2fee810c598a76091')
- version('2.14', sha256='65bbc0ef9c48be86fb06522fc927d59dcc7c04266f2bb8156be76971f7c3fc4a')
- version('2.13', sha256='fb126ed684150f9dc39a811cbcf4daada4292fd387ed998c151ff2cf2536d94d')
- version('2.12', sha256='d8b1948a575dc9ec13e03db94502ce91815d73da023f611296c04b852164cb5f')
- version('2.11', sha256='a1242e4db8f979998796b1844e608c2acf8f8f54df518bbb3d5954e52253ba71')
- version('2.10', sha256='496d60c331f8666f99b66d08ff67a880697a7e85a9d9b76ff08814cf97f61a4c')
- version('2.9', sha256='4647967f8de78d6d6d8093cdac50f368f8c2b8038f41a5afe1c3bce4c69219a9')
- version('2.8', sha256='65f3880dcb5f728b9d198b14d7f0a678d35ecd33668efc219815a9b4713848be')
- version('2.7', sha256='2ba0aaa11a3e96ec0af31d532d808e1f09cc6dcad0954e637902a1ab544b9e60')
- version('2.6', sha256='5489234fc9c9733fc4115055618763ccb4d916d667980e6ab4fa57fc81197d16')
- version('2.5', sha256='b71ab21fa5e91dcc6a4bd723b13403e8610a6e1b4b9d4b314ff477820de00bf9')
- version('2.4', sha256='371cb9fbebbe9880d147f59bab36d61eee122854ef8c9ee1ecf12b82368bcf10')
- version('2.3', sha256='515962aeec8c3e67b97f0c13c4575beeed1b5da16181d8b9054416339edc8c2d')
- version('2.2.1', sha256='1d7c28b3731906fd1b2955946c1d052303881585fc14baedd675e4cf2bc1ecab')
- version('2.2', sha256='65fc05f787c7344cc8834dc13a445c91ea3712a987f5958b8489422484d7371b')
- version('2.1', sha256='b351ab27da6e06a74ba290213638b6597f2175f5071e6f96a0a205806720cb81')
- version('2.0', sha256='11c32ed95c0ed44e091154391d69008ac5ec25ad897bc881547e6942a03aeb13')
- version('1.12', sha256='cf111fcb34804940404e79eaf307876acb8434005bc4cc782d260730a0a2a4f2')
- version('1.11', sha256='07e58cd960722c419eb0f6a807228e7179bb43bc266f390cde4632abdacdd659')
- version('1.10', sha256='cd1a0f532258369c414a56b3e73b7bd7f087cf515b7c71dcb9091598c4a8d815')
- version('1.9', sha256='eeb919fe734bc4a63aaf75c05c19bc55c8bccc925b0eca4269c67f7e8cf48efb')
- version('1.8', sha256='4f03076116841743808c2f2c1ae2041d03adebe09ab80356b87516c7ed055e40')
- version('1.5', sha256='fecf73744c5695e2a3078104072ae2a9fdec17e36dc058dc20adf8c7be8af13b')
- version('1.4', sha256='436771c854cc665c790a6c452a2878dfbdaaf9d14e505a58127b407bb05b013f')
- version('1.3', sha256='c8572e9579e2300c5e2e8ae8f1a2433d9fd7ad9a4b1e721a5ee588c72fbf7799')
- version('1.2', sha256='ea66177dd532da09cb28d050e880961df5bd7ba014eda709c76f2c022f069282')
- version('1.1', sha256='00519a961f7f902123368c5bfe4c01be607628410620c8c8a466fbb0de8c6715')
- version('1.0', sha256='510258aa9907a8b406a118eed1f57cfe7994c4fe0a37a6f08403fe3620526504')
- version('0.9.2', sha256='a9b33c1cb7c056a7bd26b588301ce80f0b6e3872d18b0f1cb80ab74af0e62404')
- version('0.9.1', sha256='6b9e2033e856ed99b968d71c2dc5174dc5637c10d5e4cc9502a51e86f45709eb')
- version('0.9', sha256='a06117e826ea8713f61e47b2fe2d7621867c56f4c44e4e8012552584e08b9c1b')
- version('0.8', sha256='42e0db29f2e0be4eeadfe77b6491d9e2b21b95abb92fc494dfcf8615f2126910')
- version('0.7', sha256='ca902f52f0789ab94762f7081b06461f8d3a03540ab73bf2d642f2d03e8558ef')
+ version("7.2", sha256="a8da5b02437a60819cad23e10fc7e9cf32bcb57029d9cb277e26eeff76ce014b")
+ version("7.1.1", sha256="9bb8bc05f562f2d42bdf1ba8db62f6b6fa1c3bf6c392228802cc7cb0578fe7e0")
+ version("7.1", sha256="a9e356a21595348b6f04b024ed0b08ac8aea6b2ac37e6c0ef58e51549cd7b9cb")
+ version("7.0.2", sha256="13bf8d3cf8eeeb5770d19741a59bde9bd966dd78d17f1bbad787a05ef19d1c2d")
+ version("7.0.1", sha256="ca42877db3519b667cd531c414be517b294b0467059d401e7133f0e55b9bf265")
+ version("7.0", sha256="81003f83b0056d20eedf48cddd4f52a9813163d4ba185bcf8abd34b8eeea4cbd")
+ version("6.9.1", sha256="b13f5d97f08000996bf12d9dd70af3f2c6b694c2c663ab1b545e9695562ad1ee")
+ version("6.9", sha256="5d234488d2cac2ed556dc3c47096e189ad76a63cf304ebf124f756498922cf16")
+ version("6.8.3", sha256="9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7")
+ version("6.8.2", sha256="1433372d903ffba27496f8d5af24265310d2da0d78bf6b4e5138831d4fe066e9")
+ version("6.8.1", sha256="3db89524a3981819ff28c3f979236c1274a726e146ced0c8a2020417f9bc0782")
+ version("6.8", sha256="a7ca23b3ccf265680f2bfd35f1f00b1424f4466292c7337c85d46c9641b3f053")
+ version("6.7.1", sha256="22449f5231796abd892c98b2a07c9ceebe4688d192cd2d6763f8e3bf8acbedeb")
+ version("6.7", sha256="0080de8491f0918e4f529a6db6820fa0b9e818ee2386117f4394f95feb1d5583")
+ version("6.6.1", sha256="11657af6356b7587bfb37287b5992e94a9686d5c8a0a1b60b87b9928a2decde5")
+ version("6.6", sha256="83fa7c3e5ab84c3c5c4a04fb16947338209efa9aab1f6bf09a5d0e3d2ed87742")
+ version("6.5.1", sha256="143a28f54f1ae93ef4f72d862dbc3c438050d81bb45b4601eb7076e998362920")
+ version("6.5", sha256="c9910513d0eed63cd8f5c7fec4cb4a05731144770104a0871234a4edc3ba3cef")
+ version("6.4.1", sha256="3fd824892df8ad5847be6e4fb7d3600068437de172939fd657cc280a1a629f63")
+ version("6.4", sha256="d08f7e24d061910382c2fda9915e6ed42dd1480ae2e99211f92c70190cb697e0")
+ version("6.3", sha256="0f316a67b971b7b571dac7215dcf2591a30994b3450e0629925ffcfe2c68cc5c")
+ version("6.2.2", sha256="838fa0e3373a9c8d953eff972449edc6be5fa12b26509ac3387727de85138cc0")
+ version("6.2.1", sha256="49fad5c94e76bc587c1a1138f045daee81476a82b288c7ab8c7cd6b14bf2b1c7")
+ version("6.2", sha256="f016e66d88c2f9adb5b6e7dff43a363b8c2632f18b4ad6f365f49da34dd57db8")
+ version("6.1.1", sha256="10065868c78f1207afb3a92176f99a37d753a513dff453abb6b5cceda4058cda")
+ version("6.1", sha256="634f972af958e3c753aeb42d7a688fab6820b527a0aef9eed03d7f3f6f9c7c06")
+ version("6.0.1", sha256="6f6cfdbb12a577c3845522a1c7fbfe1295ea05d87edabedd4e23fd2bf02b88b1")
+ version("6.0", sha256="a1eb4439c0a85bc7e64a22658d862e43b7d0ddfbf69a7abf6256e0b7514295df")
+ version("5.6.4", sha256="abc10bcedb58806e8654210f96031db541bcd2d6fc3161e81cb0572d6a15e821")
+ version("5.6.3", sha256="342f8e75a8879fa9192163fa8d932b9f6383ea00c1918a478f0f51e11e004b60")
+ version("5.6.2", sha256="027fdd265d277bae65a0d349b6b8da02135b0b8e14ba891e26281fa877fe37a2")
+ version("5.6.1", sha256="f6ea7f48e2823ca7ff8481044b892b24112f5c2c3547d4f423fb9e684c39f710")
+ version("5.6", sha256="33214524e686838c88a88e14e8b30e2323589cc9698186bc8e0594758b132b31")
+ version("5.5.1", sha256="6c4276f97c9059ef4dfb06cc7325c43ed9b933ab04f032e9d9372e8589cb6faf")
+ version("5.5", sha256="302b7df46730ce75c582542c056c9bf5cac2b94fbf2cc656d0e37e41e8a5d371")
+ version("5.4.1", sha256="14cd15fc8cc8705bd69dcfa3c8fefb27eb7027f5de4b47a8b279218f76895a91")
+ version("5.4", sha256="f177768e7a032727e4338c8fd047f8f263e5bd283f67a7766c1ba4182c8455a6")
+ version("5.3.1", sha256="b018a7308cb43633662363d100c14a3c41c66fd4e32b59e1dfc644d6fd2109f6")
+ version("5.3", sha256="f4d820c2a9685710eba5b92f10e0e4fb20e0d6c0dd1f46971e658160f25e7147")
+ version("5.2.1", sha256="9dc729f6dbfbbc4df1692665d301e028976dacac296a126f16148941a9cf012e")
+ version("5.2", sha256="55db797adf2705bb782655f012af7cc7724b14382881f60fb3f3eb4b645c02d6")
+ version("5.1.1", sha256="53b71812f18cdb2777e9f1b2a0f2038683907c90bdc406bc64d8b400e1fb2c3b")
+ version("5.1", sha256="7b8a8b9cce0406733d2d3fab3874386c530657c73c3f4e9a3837d081e26060d8")
+ version("5.0", sha256="17847c8e12b2bcfce26a79f425f082c31d4ded822f99a66127eee2d96bf18216")
+ version("4.10.3", sha256="336b6898b491f6334502d8074a6b8c2d73ed83b92123106bd4bf837f04111043")
+ version("4.10.2", sha256="b7aedd369a26b177147bcb715f8b1fc4fe32b0a6ade0d7fd8ee5ed0c6f731f2c")
+ version("4.10.1", sha256="36bf7ff499223d5139f005822130ccca784c91591b514677fd376eed966c907e")
+ version("4.10", sha256="fc049dcbcb245d5892bebae143bd515a78f6a5a93cec99d489b312dc0ce4aad9")
+ version("4.9", sha256="39e2d5803bbd5eaf6c8efe07067b0e5a00235e8c71318642b2ed262920b27721")
+ version("4.8.1", sha256="ce1645ff129d11aad62dab70d63426fdce6cfd646fa309dc5dc5255dd03c7c11")
+ version("3.4", sha256="37c2fdce55411e4c89b896c292cae1f8f437862c8433c8a74cfc3805d7670c0a")
+ version("3.3", sha256="71a787faed83c4ef21e8464cc8452b941b5fcd575043aa29d39d15d879be89f7")
+ version("3.2.1", sha256="0209696f1723f607c475109cf3ed8b51c8a91bb0cda05af0d4bd980bdefe75cd")
+ version("3.2", sha256="e25ff599ff268182b597c371ed94eb3c225496af5d4e7eb9dcbb08d30f93a9ec")
+ version("3.1", sha256="43be380834a13e28e9504c21f67fe1a8895ab54f314a6596601896dca7213482")
+ version("3.0", sha256="9c8b7564ea6a911b5b9fcadd60f3a6cea4238413c8b1e1dd14400a50954aab99")
+ version("2.14.1", sha256="88a910cdf2e03ebbb5fe90f7ecf534fc9ac22e12112dc9a2fee810c598a76091")
+ version("2.14", sha256="65bbc0ef9c48be86fb06522fc927d59dcc7c04266f2bb8156be76971f7c3fc4a")
+ version("2.13", sha256="fb126ed684150f9dc39a811cbcf4daada4292fd387ed998c151ff2cf2536d94d")
+ version("2.12", sha256="d8b1948a575dc9ec13e03db94502ce91815d73da023f611296c04b852164cb5f")
+ version("2.11", sha256="a1242e4db8f979998796b1844e608c2acf8f8f54df518bbb3d5954e52253ba71")
+ version("2.10", sha256="496d60c331f8666f99b66d08ff67a880697a7e85a9d9b76ff08814cf97f61a4c")
+ version("2.9", sha256="4647967f8de78d6d6d8093cdac50f368f8c2b8038f41a5afe1c3bce4c69219a9")
+ version("2.8", sha256="65f3880dcb5f728b9d198b14d7f0a678d35ecd33668efc219815a9b4713848be")
+ version("2.7", sha256="2ba0aaa11a3e96ec0af31d532d808e1f09cc6dcad0954e637902a1ab544b9e60")
+ version("2.6", sha256="5489234fc9c9733fc4115055618763ccb4d916d667980e6ab4fa57fc81197d16")
+ version("2.5", sha256="b71ab21fa5e91dcc6a4bd723b13403e8610a6e1b4b9d4b314ff477820de00bf9")
+ version("2.4", sha256="371cb9fbebbe9880d147f59bab36d61eee122854ef8c9ee1ecf12b82368bcf10")
+ version("2.3", sha256="515962aeec8c3e67b97f0c13c4575beeed1b5da16181d8b9054416339edc8c2d")
+ version("2.2.1", sha256="1d7c28b3731906fd1b2955946c1d052303881585fc14baedd675e4cf2bc1ecab")
+ version("2.2", sha256="65fc05f787c7344cc8834dc13a445c91ea3712a987f5958b8489422484d7371b")
+ version("2.1", sha256="b351ab27da6e06a74ba290213638b6597f2175f5071e6f96a0a205806720cb81")
+ version("2.0", sha256="11c32ed95c0ed44e091154391d69008ac5ec25ad897bc881547e6942a03aeb13")
+ version("1.12", sha256="cf111fcb34804940404e79eaf307876acb8434005bc4cc782d260730a0a2a4f2")
+ version("1.11", sha256="07e58cd960722c419eb0f6a807228e7179bb43bc266f390cde4632abdacdd659")
+ version("1.10", sha256="cd1a0f532258369c414a56b3e73b7bd7f087cf515b7c71dcb9091598c4a8d815")
+ version("1.9", sha256="eeb919fe734bc4a63aaf75c05c19bc55c8bccc925b0eca4269c67f7e8cf48efb")
+ version("1.8", sha256="4f03076116841743808c2f2c1ae2041d03adebe09ab80356b87516c7ed055e40")
+ version("1.5", sha256="fecf73744c5695e2a3078104072ae2a9fdec17e36dc058dc20adf8c7be8af13b")
+ version("1.4", sha256="436771c854cc665c790a6c452a2878dfbdaaf9d14e505a58127b407bb05b013f")
+ version("1.3", sha256="c8572e9579e2300c5e2e8ae8f1a2433d9fd7ad9a4b1e721a5ee588c72fbf7799")
+ version("1.2", sha256="ea66177dd532da09cb28d050e880961df5bd7ba014eda709c76f2c022f069282")
+ version("1.1", sha256="00519a961f7f902123368c5bfe4c01be607628410620c8c8a466fbb0de8c6715")
+ version("1.0", sha256="510258aa9907a8b406a118eed1f57cfe7994c4fe0a37a6f08403fe3620526504")
+ version("0.9.2", sha256="a9b33c1cb7c056a7bd26b588301ce80f0b6e3872d18b0f1cb80ab74af0e62404")
+ version("0.9.1", sha256="6b9e2033e856ed99b968d71c2dc5174dc5637c10d5e4cc9502a51e86f45709eb")
+ version("0.9", sha256="a06117e826ea8713f61e47b2fe2d7621867c56f4c44e4e8012552584e08b9c1b")
+ version("0.8", sha256="42e0db29f2e0be4eeadfe77b6491d9e2b21b95abb92fc494dfcf8615f2126910")
+ version("0.7", sha256="ca902f52f0789ab94762f7081b06461f8d3a03540ab73bf2d642f2d03e8558ef")
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/grads/package.py b/var/spack/repos/builtin/packages/grads/package.py
index b12dc4ca11..deb4df86dd 100644
--- a/var/spack/repos/builtin/packages/grads/package.py
+++ b/var/spack/repos/builtin/packages/grads/package.py
@@ -15,12 +15,12 @@ class Grads(AutotoolsPackage):
HDF (version 4 and 5), and BUFR (for station data)."""
homepage = "http://cola.gmu.edu/grads/grads.php"
- url = "ftp://cola.gmu.edu/grads/2.2/grads-2.2.1-src.tar.gz"
+ url = "ftp://cola.gmu.edu/grads/2.2/grads-2.2.1-src.tar.gz"
- version('2.2.1', sha256='695e2066d7d131720d598bac0beb61ac3ae5578240a5437401dc0ffbbe516206')
+ version("2.2.1", sha256="695e2066d7d131720d598bac0beb61ac3ae5578240a5437401dc0ffbbe516206")
- variant('geotiff', default=True, description="Enable GeoTIFF support")
- variant('shapefile', default=True, description="Enable Shapefile support")
+ variant("geotiff", default=True, description="Enable GeoTIFF support")
+ variant("shapefile", default=True, description="Enable Shapefile support")
"""
# FIXME: Fails with undeclared functions (tdefi, tdef, ...) in gauser.c
@@ -32,34 +32,30 @@ class Grads(AutotoolsPackage):
depends_on('netcdf-c', when='+netcdf')
"""
- depends_on('libgeotiff', when='+geotiff')
- depends_on('shapelib', when='+shapefile')
- depends_on('udunits')
- depends_on('libgd')
- depends_on('libxmu')
- depends_on('cairo +X +pdf +fc +ft')
- depends_on('readline')
- depends_on('pkgconfig', type='build')
+ depends_on("libgeotiff", when="+geotiff")
+ depends_on("shapelib", when="+shapefile")
+ depends_on("udunits")
+ depends_on("libgd")
+ depends_on("libxmu")
+ depends_on("cairo +X +pdf +fc +ft")
+ depends_on("readline")
+ depends_on("pkgconfig", type="build")
def setup_build_environment(self, env):
- env.set('SUPPLIBS', '/')
+ env.set("SUPPLIBS", "/")
def setup_run_environment(self, env):
- env.set('GADDIR', self.prefix.data)
+ env.set("GADDIR", self.prefix.data)
- @run_after('install')
+ @run_after("install")
def copy_data(self):
with working_dir(self.build_directory):
- install_tree('data', self.prefix.data)
+ install_tree("data", self.prefix.data)
with working_dir(self.package_dir):
- install('udpt', self.prefix.data)
- filter_file(
- r'({lib})',
- self.prefix.lib,
- self.prefix.data.udpt
- )
+ install("udpt", self.prefix.data)
+ filter_file(r"({lib})", self.prefix.lib, self.prefix.data.udpt)
def configure_args(self):
args = []
- args.extend(self.with_or_without('geotiff'))
+ args.extend(self.with_or_without("geotiff"))
return args
diff --git a/var/spack/repos/builtin/packages/grafana/package.py b/var/spack/repos/builtin/packages/grafana/package.py
index 420bf2323a..9ab909d818 100644
--- a/var/spack/repos/builtin/packages/grafana/package.py
+++ b/var/spack/repos/builtin/packages/grafana/package.py
@@ -11,17 +11,17 @@ class Grafana(Package):
for Graphite, InfluxDB & Prometheus & More"""
homepage = "https://grafana.com"
- url = "https://github.com/grafana/grafana/archive/v6.7.3.tar.gz"
+ url = "https://github.com/grafana/grafana/archive/v6.7.3.tar.gz"
- version('6.7.3', sha256='2477b70bfc8770ab844ee683f72b5efe8a47324b9779663d8e5259ffb9ddb8d8')
- version('6.7.2', sha256='dc81cdb77c1c0ae99ae3302a0ef8b3d577f4a717208a90df65da8fcb282122fc')
- version('6.7.1', sha256='5750d286273069a195679d5586e810b0ca8cdd08ee07dcdd9b52cfaac8c62b89')
- version('6.7.0', sha256='7f4e3f0d42b8188a334e97062c3bf63ff43af273095ba10147b299e3c1c5a7b7')
- version('6.6.2', sha256='e11e5971d08e45e277b55e060c0ce3cf25ca0ba144367c53b4836f2d133ed9b8')
+ version("6.7.3", sha256="2477b70bfc8770ab844ee683f72b5efe8a47324b9779663d8e5259ffb9ddb8d8")
+ version("6.7.2", sha256="dc81cdb77c1c0ae99ae3302a0ef8b3d577f4a717208a90df65da8fcb282122fc")
+ version("6.7.1", sha256="5750d286273069a195679d5586e810b0ca8cdd08ee07dcdd9b52cfaac8c62b89")
+ version("6.7.0", sha256="7f4e3f0d42b8188a334e97062c3bf63ff43af273095ba10147b299e3c1c5a7b7")
+ version("6.6.2", sha256="e11e5971d08e45e277b55e060c0ce3cf25ca0ba144367c53b4836f2d133ed9b8")
- depends_on('go', type='build')
+ depends_on("go", type="build")
def install(self, spec, prefix):
- go = which('go')
- go('run', 'build.go', 'build')
- install_tree('bin', prefix.bin)
+ go = which("go")
+ go("run", "build.go", "build")
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/grandr/package.py b/var/spack/repos/builtin/packages/grandr/package.py
index 9c6c6d3541..8555a2493e 100644
--- a/var/spack/repos/builtin/packages/grandr/package.py
+++ b/var/spack/repos/builtin/packages/grandr/package.py
@@ -12,8 +12,8 @@ class Grandr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/grandr"
xorg_mirror_path = "app/grandr-0.1.tar.gz"
- version('0.1', sha256='67a049c8dccdb48897efbd86c2b1d3b0ff5ce3c7859c46b0297d64c881b36d24')
+ version("0.1", sha256="67a049c8dccdb48897efbd86c2b1d3b0ff5ce3c7859c46b0297d64c881b36d24")
- depends_on('gtkplus@2.0.0:')
- depends_on('gconf')
- depends_on('xrandr@1.2:')
+ depends_on("gtkplus@2.0.0:")
+ depends_on("gconf")
+ depends_on("xrandr@1.2:")
diff --git a/var/spack/repos/builtin/packages/graph500/package.py b/var/spack/repos/builtin/packages/graph500/package.py
index ba22d7838a..d67ffaa1e4 100644
--- a/var/spack/repos/builtin/packages/graph500/package.py
+++ b/var/spack/repos/builtin/packages/graph500/package.py
@@ -10,31 +10,31 @@ class Graph500(MakefilePackage):
"""Graph500 reference implementations."""
homepage = "https://graph500.org"
- url = "https://github.com/graph500/graph500/archive/graph500-3.0.0.tar.gz"
+ url = "https://github.com/graph500/graph500/archive/graph500-3.0.0.tar.gz"
- version('3.0.0', sha256='887dcff56999987fba4953c1c5696d50e52265fe61b6ffa8bb14cc69ff27e8a0')
+ version("3.0.0", sha256="887dcff56999987fba4953c1c5696d50e52265fe61b6ffa8bb14cc69ff27e8a0")
- depends_on('mpi@2.0:')
+ depends_on("mpi@2.0:")
- build_directory = 'src'
+ build_directory = "src"
def flag_handler(self, name, flags):
wrapper_flags = None
- if name == 'cflags':
- if self.spec.satisfies('%gcc@10:'):
- wrapper_flags = ['-fcommon']
+ if name == "cflags":
+ if self.spec.satisfies("%gcc@10:"):
+ wrapper_flags = ["-fcommon"]
return (wrapper_flags, None, flags)
def edit(self, spec, prefix):
- makefile = FileFilter(join_path(self.build_directory, 'Makefile'))
- makefile.filter(r'^MPICC\s*=.*', 'MPICC={0}'.format(spec['mpi'].mpicc))
+ makefile = FileFilter(join_path(self.build_directory, "Makefile"))
+ makefile.filter(r"^MPICC\s*=.*", "MPICC={0}".format(spec["mpi"].mpicc))
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdir(prefix.bin)
- install('graph500_reference_bfs', prefix.bin)
- install('graph500_reference_bfs_sssp', prefix.bin)
- install('graph500_custom_bfs', prefix.bin)
- install('graph500_custom_bfs_sssp', prefix.bin)
+ install("graph500_reference_bfs", prefix.bin)
+ install("graph500_reference_bfs_sssp", prefix.bin)
+ install("graph500_custom_bfs", prefix.bin)
+ install("graph500_custom_bfs_sssp", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/graphblast/package.py b/var/spack/repos/builtin/packages/graphblast/package.py
index 1eacd96d83..3208f82209 100644
--- a/var/spack/repos/builtin/packages/graphblast/package.py
+++ b/var/spack/repos/builtin/packages/graphblast/package.py
@@ -10,15 +10,20 @@ from spack.pkg.builtin.boost import Boost
class Graphblast(MakefilePackage, CudaPackage):
"""High-Performance Linear Algebra-based Graph Primitives on GPUs"""
- homepage = "https://github.com/gunrock/graphblast"
- git = "https://github.com/gunrock/graphblast.git"
+ homepage = "https://github.com/gunrock/graphblast"
+ git = "https://github.com/gunrock/graphblast.git"
- version('master', submodules=True)
- version('2020-05-07', submodules=True, commit='1a052558a71f2cd67f5d6fe9db3b274c303ef8f6', preferred=True)
+ version("master", submodules=True)
+ version(
+ "2020-05-07",
+ submodules=True,
+ commit="1a052558a71f2cd67f5d6fe9db3b274c303ef8f6",
+ preferred=True,
+ )
- variant('cuda', default=True, description="Build with Cuda support")
+ variant("cuda", default=True, description="Build with Cuda support")
- depends_on('boost +program_options')
+ depends_on("boost +program_options")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -31,18 +36,20 @@ class Graphblast(MakefilePackage, CudaPackage):
# TODO: the package doesn't compile as CMakePackage
# once that is fixed it should be converted to a CMakePackage type.
- conflicts('cuda_arch=none', when='+cuda',
- msg='Must specify CUDA compute capabilities of your GPU. \
-See "spack info graphblast"')
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg='Must specify CUDA compute capabilities of your GPU. \
+See "spack info graphblast"',
+ )
def install(self, spec, prefix):
install_tree(self.build_directory, self.prefix)
def patch(self):
- cuda_arch_list = self.spec.variants['cuda_arch'].value
- arches = 'ARCH = '
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
+ arches = "ARCH = "
for i in cuda_arch_list:
- arches = arches +\
- ' -gencode arch=compute_{0},code=compute_{0}'.format(i)
- makefile = FileFilter('common.mk')
- makefile.filter(r'^ARCH =.*', arches)
+ arches = arches + " -gencode arch=compute_{0},code=compute_{0}".format(i)
+ makefile = FileFilter("common.mk")
+ makefile.filter(r"^ARCH =.*", arches)
diff --git a/var/spack/repos/builtin/packages/graphicsmagick/package.py b/var/spack/repos/builtin/packages/graphicsmagick/package.py
index 58e97bac8a..d5213483f2 100644
--- a/var/spack/repos/builtin/packages/graphicsmagick/package.py
+++ b/var/spack/repos/builtin/packages/graphicsmagick/package.py
@@ -16,31 +16,31 @@ class Graphicsmagick(AutotoolsPackage):
"""
homepage = "http://www.graphicsmagick.org/"
- url = "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.29/GraphicsMagick-1.3.29.tar.xz/download"
-
- version('1.3.34', sha256='df009d5173ed0d6a0c6457234256c5a8aeaace782afa1cbab015d5a12bd4f7a4')
- version('1.3.33', sha256='130cb330a633580b5124eba5c125bbcbc484298423a97b9bed37ccd50d6dc778')
- version('1.3.32', sha256='b842a5a0d6c84fd6c5f161b5cd8e02bbd210b0c0b6728dd762b7c53062ba94e1')
- version('1.3.31', sha256='096bbb59d6f3abd32b562fc3b34ea90d88741dc5dd888731d61d17e100394278')
- version('1.3.30', sha256='d965e5c6559f55eec76c20231c095d4ae682ea0cbdd8453249ae8771405659f1')
- version('1.3.29', sha256='e18df46a6934c8c12bfe274d09f28b822f291877f9c81bd9a506f879a7610cd4')
-
- depends_on('bzip2')
- depends_on('ghostscript')
- depends_on('ghostscript-fonts')
- depends_on('graphviz')
- depends_on('jasper')
- depends_on('jpeg')
- depends_on('lcms')
- depends_on('libice')
- depends_on('libpng')
- depends_on('libsm')
- depends_on('libtiff')
- depends_on('libtool')
- depends_on('libxml2')
- depends_on('xz')
- depends_on('zlib')
+ url = "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.29/GraphicsMagick-1.3.29.tar.xz/download"
+
+ version("1.3.34", sha256="df009d5173ed0d6a0c6457234256c5a8aeaace782afa1cbab015d5a12bd4f7a4")
+ version("1.3.33", sha256="130cb330a633580b5124eba5c125bbcbc484298423a97b9bed37ccd50d6dc778")
+ version("1.3.32", sha256="b842a5a0d6c84fd6c5f161b5cd8e02bbd210b0c0b6728dd762b7c53062ba94e1")
+ version("1.3.31", sha256="096bbb59d6f3abd32b562fc3b34ea90d88741dc5dd888731d61d17e100394278")
+ version("1.3.30", sha256="d965e5c6559f55eec76c20231c095d4ae682ea0cbdd8453249ae8771405659f1")
+ version("1.3.29", sha256="e18df46a6934c8c12bfe274d09f28b822f291877f9c81bd9a506f879a7610cd4")
+
+ depends_on("bzip2")
+ depends_on("ghostscript")
+ depends_on("ghostscript-fonts")
+ depends_on("graphviz")
+ depends_on("jasper")
+ depends_on("jpeg")
+ depends_on("lcms")
+ depends_on("libice")
+ depends_on("libpng")
+ depends_on("libsm")
+ depends_on("libtiff")
+ depends_on("libtool")
+ depends_on("libxml2")
+ depends_on("xz")
+ depends_on("zlib")
def configure_args(self):
- args = ['--enable-shared']
+ args = ["--enable-shared"]
return args
diff --git a/var/spack/repos/builtin/packages/graphite2/package.py b/var/spack/repos/builtin/packages/graphite2/package.py
index 038ca9abc2..ef5e14a8d4 100644
--- a/var/spack/repos/builtin/packages/graphite2/package.py
+++ b/var/spack/repos/builtin/packages/graphite2/package.py
@@ -12,11 +12,13 @@ class Graphite2(CMakePackage):
contains not only letter shapes but also additional instructions indicating
how to combine and position the letters in complex ways."""
- homepage = "https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
- url = "https://github.com/silnrsi/graphite/releases/download/1.3.13/graphite2-1.3.13.tgz"
+ homepage = (
+ "https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
+ )
+ url = "https://github.com/silnrsi/graphite/releases/download/1.3.13/graphite2-1.3.13.tgz"
- version('1.3.13', sha256='dd63e169b0d3cf954b397c122551ab9343e0696fb2045e1b326db0202d875f06')
+ version("1.3.13", sha256="dd63e169b0d3cf954b397c122551ab9343e0696fb2045e1b326db0202d875f06")
- depends_on('python@3.6:', type='test')
+ depends_on("python@3.6:", type="test")
- patch('regparm.patch')
+ patch("regparm.patch")
diff --git a/var/spack/repos/builtin/packages/graphlib/package.py b/var/spack/repos/builtin/packages/graphlib/package.py
index feb3a84fa2..aa2c299da4 100644
--- a/var/spack/repos/builtin/packages/graphlib/package.py
+++ b/var/spack/repos/builtin/packages/graphlib/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class Graphlib(CMakePackage):
"""Library to create, manipulate, and export graphs Graphlib."""
+
homepage = "https://github.com/LLNL/graphlib"
- url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
- maintainers = ['lee218llnl']
+ url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
+ maintainers = ["lee218llnl"]
- version('2.0.0', sha256='4f4aa1193167c41c8491dec3cf22b1e52a8f0842faab88b7945972f02d2adbcd')
- version('3.0.0', sha256='c3d889f7bc25b9662426605e52f14cd16f9c05b034738a343890707f5f5681f1')
+ version("2.0.0", sha256="4f4aa1193167c41c8491dec3cf22b1e52a8f0842faab88b7945972f02d2adbcd")
+ version("3.0.0", sha256="c3d889f7bc25b9662426605e52f14cd16f9c05b034738a343890707f5f5681f1")
- depends_on('cmake@2.6:', type='build')
+ depends_on("cmake@2.6:", type="build")
diff --git a/var/spack/repos/builtin/packages/graphmap/package.py b/var/spack/repos/builtin/packages/graphmap/package.py
index 5ac28fd800..bdd30c0a20 100644
--- a/var/spack/repos/builtin/packages/graphmap/package.py
+++ b/var/spack/repos/builtin/packages/graphmap/package.py
@@ -10,19 +10,19 @@ class Graphmap(MakefilePackage):
"""A highly sensitive and accurate mapper for long, error-prone reads"""
homepage = "https://github.com/isovic/graphmap"
- git = "https://github.com/isovic/graphmap.git"
+ git = "https://github.com/isovic/graphmap.git"
- version('0.3.0', commit='eb8c75d68b03be95464318afa69b645a59f8f6b7')
+ version("0.3.0", commit="eb8c75d68b03be95464318afa69b645a59f8f6b7")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def edit(self, spec, prefix):
mkdirp(prefix.bin)
- makefile = FileFilter('Makefile')
- makefile.filter('/usr/bin/graphmap', prefix.bin.graphmap)
- if self.spec.target.family == 'aarch64':
- makefile.filter('-m64', '')
+ makefile = FileFilter("Makefile")
+ makefile.filter("/usr/bin/graphmap", prefix.bin.graphmap)
+ if self.spec.target.family == "aarch64":
+ makefile.filter("-m64", "")
def build(self, spec, prefix):
- make('modules')
+ make("modules")
make()
diff --git a/var/spack/repos/builtin/packages/graphviz/package.py b/var/spack/repos/builtin/packages/graphviz/package.py
index 29e854f857..32b25181b4 100644
--- a/var/spack/repos/builtin/packages/graphviz/package.py
+++ b/var/spack/repos/builtin/packages/graphviz/package.py
@@ -9,26 +9,30 @@ import sys
from spack.operating_systems.mac_os import macos_version
from spack.package import *
-MACOS_VERSION = macos_version() if sys.platform == 'darwin' else None
+MACOS_VERSION = macos_version() if sys.platform == "darwin" else None
class Graphviz(AutotoolsPackage):
"""Graph Visualization Software"""
- homepage = 'http://www.graphviz.org'
- git = 'https://gitlab.com/graphviz/graphviz.git'
- url = 'https://gitlab.com/graphviz/graphviz/-/archive/2.46.0/graphviz-2.46.0.tar.bz2'
-
- version('2.49.0', sha256='b129555743bb9bfb7b63c55825da51763b2f1ee7c0eaa6234a42a61a3aff6cc9')
- version('2.47.2', sha256='b5ebb00d4283c6d12cf16b2323e1820b535cc3823c8f261b783f7903b1d5b7fb')
- version('2.46.0', sha256='1b11684fd5488940b45bf4624393140da6032abafae08f33dc3e986cffd55d71')
- version('2.44.1', sha256='0f8f3fbeaddd474e0a270dc9bb0e247a1ae4284ae35125af4adceffae5c7ae9b')
- version('2.42.4', sha256='a1ca0c4273d96bbf32fbfcbb784c8da2e38da13e7d2bbf9b24fe94ae45e79c4c')
- version('2.40.1', sha256='581596aaeac5dae3f57da6ecde62ad7709a992df341e8f7c6177b41e8b1ae4f6')
- version('2.38.0', sha256='c1b1e326b5d1f45b0ce91edd7acc68e80ff6be6b470008766e4d466aafc9801f', deprecated=True)
+ homepage = "http://www.graphviz.org"
+ git = "https://gitlab.com/graphviz/graphviz.git"
+ url = "https://gitlab.com/graphviz/graphviz/-/archive/2.46.0/graphviz-2.46.0.tar.bz2"
+
+ version("2.49.0", sha256="b129555743bb9bfb7b63c55825da51763b2f1ee7c0eaa6234a42a61a3aff6cc9")
+ version("2.47.2", sha256="b5ebb00d4283c6d12cf16b2323e1820b535cc3823c8f261b783f7903b1d5b7fb")
+ version("2.46.0", sha256="1b11684fd5488940b45bf4624393140da6032abafae08f33dc3e986cffd55d71")
+ version("2.44.1", sha256="0f8f3fbeaddd474e0a270dc9bb0e247a1ae4284ae35125af4adceffae5c7ae9b")
+ version("2.42.4", sha256="a1ca0c4273d96bbf32fbfcbb784c8da2e38da13e7d2bbf9b24fe94ae45e79c4c")
+ version("2.40.1", sha256="581596aaeac5dae3f57da6ecde62ad7709a992df341e8f7c6177b41e8b1ae4f6")
+ version(
+ "2.38.0",
+ sha256="c1b1e326b5d1f45b0ce91edd7acc68e80ff6be6b470008766e4d466aafc9801f",
+ deprecated=True,
+ )
# Language bindings
- language_bindings = ['java']
+ language_bindings = ["java"]
# Additional language bindings are nominally supported by GraphViz via SWIG
# but are untested and need the proper dependencies added:
@@ -36,98 +40,103 @@ class Graphviz(AutotoolsPackage):
# 'perl', 'php', 'python', 'r', 'ruby', 'tcl']
for lang in language_bindings:
- variant(lang, default=False,
- description='Enable for optional {0} language '
- 'bindings'.format(lang))
+ variant(
+ lang,
+ default=False,
+ description="Enable for optional {0} language " "bindings".format(lang),
+ )
# Feature variants
- variant('doc', default=False,
- description='Build and install graphviz documentation')
- variant('expat', default=False,
- description='Build with Expat support (enables HTML-like labels)')
- variant('gts', default=False,
- description='Build with GNU Triangulated Surface Library')
- variant('ghostscript', default=False,
- description='Build with Ghostscript support')
- variant('gtkplus', default=False,
- description='Build with GTK+ support')
- variant('libgd', default=False,
- description='Build with libgd support (more output formats)')
- variant('pangocairo', default=False,
- description='Build with pango+cairo support (more output formats)')
- variant('poppler', default=False,
- description='Build with poppler support (pdf formats)')
- variant('qt', default=False,
- description='Build with Qt support')
- variant('quartz', default=(MACOS_VERSION is not None),
- description='Build with Quartz and PDF support')
- variant('x', default=False,
- description='Use the X Window System')
-
- patch('https://www.linuxfromscratch.org/patches/blfs/9.0/graphviz-2.40.1-qt5-1.patch',
- sha256='bd532df325df811713e311d17aaeac3f5d6075ea4fd0eae8d989391e6afba930',
- when='@:2.40+qt^qt@5:')
- patch('https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/master/easybuild/easyconfigs/g/Graphviz/Graphviz-2.38.0_icc_sfio.patch',
- sha256='393a0a772315a89dcc970b5efd4765d22dba83493d7956303673eb89c45b949f',
- level=0,
- when='@:2.40%intel')
- patch('https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/master/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1_icc_vmalloc.patch',
- sha256='813e6529e79161a18b0f24a969b7de22f8417b2e942239e658b5402884541bc2',
- when='@:2.40%intel')
- patch('ps2pdf.patch', when='@:2.45')
- patch('implicit.patch', level=0, when='@:2.44.0')
+ variant("doc", default=False, description="Build and install graphviz documentation")
+ variant(
+ "expat", default=False, description="Build with Expat support (enables HTML-like labels)"
+ )
+ variant("gts", default=False, description="Build with GNU Triangulated Surface Library")
+ variant("ghostscript", default=False, description="Build with Ghostscript support")
+ variant("gtkplus", default=False, description="Build with GTK+ support")
+ variant("libgd", default=False, description="Build with libgd support (more output formats)")
+ variant(
+ "pangocairo",
+ default=False,
+ description="Build with pango+cairo support (more output formats)",
+ )
+ variant("poppler", default=False, description="Build with poppler support (pdf formats)")
+ variant("qt", default=False, description="Build with Qt support")
+ variant(
+ "quartz",
+ default=(MACOS_VERSION is not None),
+ description="Build with Quartz and PDF support",
+ )
+ variant("x", default=False, description="Use the X Window System")
+
+ patch(
+ "https://www.linuxfromscratch.org/patches/blfs/9.0/graphviz-2.40.1-qt5-1.patch",
+ sha256="bd532df325df811713e311d17aaeac3f5d6075ea4fd0eae8d989391e6afba930",
+ when="@:2.40+qt^qt@5:",
+ )
+ patch(
+ "https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/master/easybuild/easyconfigs/g/Graphviz/Graphviz-2.38.0_icc_sfio.patch",
+ sha256="393a0a772315a89dcc970b5efd4765d22dba83493d7956303673eb89c45b949f",
+ level=0,
+ when="@:2.40%intel",
+ )
+ patch(
+ "https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/master/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1_icc_vmalloc.patch",
+ sha256="813e6529e79161a18b0f24a969b7de22f8417b2e942239e658b5402884541bc2",
+ when="@:2.40%intel",
+ )
+ patch("ps2pdf.patch", when="@:2.45")
+ patch("implicit.patch", level=0, when="@:2.44.0")
if not MACOS_VERSION:
- conflicts('+quartz',
- msg="Graphviz can only be build with Quartz on macOS.")
- elif MACOS_VERSION >= Version('10.9'):
+ conflicts("+quartz", msg="Graphviz can only be build with Quartz on macOS.")
+ elif MACOS_VERSION >= Version("10.9"):
# Doesn't detect newer mac os systems as being new
- patch('fix-quartz-darwin.patch', when='@:2.47.2')
+ patch("fix-quartz-darwin.patch", when="@:2.47.2")
# Language dependencies
for lang in language_bindings:
- depends_on('swig', when=('+' + lang))
- depends_on(lang, when=('+' + lang))
+ depends_on("swig", when=("+" + lang))
+ depends_on(lang, when=("+" + lang))
# Feature dependencies
- depends_on('zlib')
- depends_on('groff', type='build', when='+doc')
- depends_on('ghostscript', type='build', when='+doc')
- depends_on('expat', when='+expat')
- depends_on('libgd', when='+libgd')
- depends_on('fontconfig', when='+libgd')
- depends_on('freetype', when='+libgd')
- depends_on('ghostscript', when='+ghostscript')
- depends_on('gtkplus', when='+gtkplus')
- depends_on('gts', when='+gts')
- depends_on('cairo+pdf+png+svg', when='+pangocairo')
- depends_on('fontconfig', when='+pangocairo')
- depends_on('freetype', when='+pangocairo')
- depends_on('glib', when='+pangocairo')
- depends_on('libpng', when='+pangocairo')
- depends_on('pango', when='+pangocairo')
- depends_on('poppler+glib', when='+poppler')
- depends_on('qt', when='+qt')
- depends_on('libx11', when="+x")
+ depends_on("zlib")
+ depends_on("groff", type="build", when="+doc")
+ depends_on("ghostscript", type="build", when="+doc")
+ depends_on("expat", when="+expat")
+ depends_on("libgd", when="+libgd")
+ depends_on("fontconfig", when="+libgd")
+ depends_on("freetype", when="+libgd")
+ depends_on("ghostscript", when="+ghostscript")
+ depends_on("gtkplus", when="+gtkplus")
+ depends_on("gts", when="+gts")
+ depends_on("cairo+pdf+png+svg", when="+pangocairo")
+ depends_on("fontconfig", when="+pangocairo")
+ depends_on("freetype", when="+pangocairo")
+ depends_on("glib", when="+pangocairo")
+ depends_on("libpng", when="+pangocairo")
+ depends_on("pango", when="+pangocairo")
+ depends_on("poppler+glib", when="+poppler")
+ depends_on("qt", when="+qt")
+ depends_on("libx11", when="+x")
# Build dependencies (graphviz binaries don't include configure file)
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('bison@3.0.4:', type='build')
- depends_on('flex', type='build')
- depends_on('sed', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("bison@3.0.4:", type="build")
+ depends_on("flex", type="build")
+ depends_on("sed", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
# to process f-strings used in gen_version.py
- depends_on('python@3.6:', when='@2.47:', type='build')
+ depends_on("python@3.6:", when="@2.47:", type="build")
- conflicts('~doc',
- when='@:2.45',
- msg='graphviz always builds documentation below version 2.46')
- conflicts('%gcc@:5.9',
- when='@2.40.1+qt ^qt@5:',
- msg='graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 '
- 'suppport')
+ conflicts("~doc", when="@:2.45", msg="graphviz always builds documentation below version 2.46")
+ conflicts(
+ "%gcc@:5.9",
+ when="@2.40.1+qt ^qt@5:",
+ msg="graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 " "suppport",
+ )
def autoreconf(self, spec, prefix):
# We need to generate 'configure' when checking out sources from git
@@ -135,57 +144,60 @@ class Graphviz(AutotoolsPackage):
if os.path.exists(self.configure_abs_path):
return
# Else bootstrap (disabling auto-configure with NOCONFIG)
- bash = which('bash')
- bash('./autogen.sh', 'NOCONFIG')
+ bash = which("bash")
+ bash("./autogen.sh", "NOCONFIG")
def setup_build_environment(self, env):
# Set MACOSX_DEPLOYMENT_TARGET to 10.x due to old configure
super(Graphviz, self).setup_build_environment(env)
- if '+quartz' in self.spec:
- env.set('OBJC', self.compiler.cc)
+ if "+quartz" in self.spec:
+ env.set("OBJC", self.compiler.cc)
- @when('%clang platform=darwin')
+ @when("%clang platform=darwin")
def patch(self):
# When using Clang, replace GCC's libstdc++ with LLVM's libc++
- mkdirs = ['cmd/dot', 'cmd/edgepaint', 'cmd/mingle', 'plugin/gdiplus']
- filter_file(r'-lstdc\+\+', '-lc++', 'configure.ac',
- *(d + '/Makefile.am' for d in mkdirs))
+ mkdirs = ["cmd/dot", "cmd/edgepaint", "cmd/mingle", "plugin/gdiplus"]
+ filter_file(r"-lstdc\+\+", "-lc++", "configure.ac", *(d + "/Makefile.am" for d in mkdirs))
- @when('%apple-clang')
+ @when("%apple-clang")
def patch(self):
# When using Clang, replace GCC's libstdc++ with LLVM's libc++
- mkdirs = ['cmd/dot', 'cmd/edgepaint', 'cmd/mingle', 'plugin/gdiplus']
- filter_file(r'-lstdc\+\+', '-lc++', 'configure.ac',
- *(d + '/Makefile.am' for d in mkdirs))
+ mkdirs = ["cmd/dot", "cmd/edgepaint", "cmd/mingle", "plugin/gdiplus"]
+ filter_file(r"-lstdc\+\+", "-lc++", "configure.ac", *(d + "/Makefile.am" for d in mkdirs))
def configure_args(self):
spec = self.spec
- args = ['--disable-silent-rules']
+ args = ["--disable-silent-rules"]
use_swig = False
for lang in self.language_bindings:
- if '+' + lang in spec:
+ if "+" + lang in spec:
use_swig = True
- args.append('--enable-' + lang)
-
- args.append('--{0}-swig'.format('enable' if use_swig else 'disable'))
-
- for var in ["expat", "gts", "ghostscript", "libgd", "pangocairo",
- "poppler", "qt", "quartz", "x"]:
+ args.append("--enable-" + lang)
+
+ args.append("--{0}-swig".format("enable" if use_swig else "disable"))
+
+ for var in [
+ "expat",
+ "gts",
+ "ghostscript",
+ "libgd",
+ "pangocairo",
+ "poppler",
+ "qt",
+ "quartz",
+ "x",
+ ]:
args += self.with_or_without(var)
for var in ["zlib", "expat", "java"]:
- if '+' + var in spec:
- args.append('--with-{0}includedir={1}'.format(
- var, spec[var].prefix.include))
- args.append('--with-{0}libdir={1}'.format(
- var, spec[var].prefix.lib))
-
- args.append('--{0}-gtk'.format(
- "with" if "+gtkplus" in spec else "without"))
-
- if spec.version >= Version('2.46'):
- args.append('--{0}-man-pdfs'.format(
- 'enable' if '+doc' in spec else 'disable'))
+ if "+" + var in spec:
+ args.append("--with-{0}includedir={1}".format(var, spec[var].prefix.include))
+ args.append("--with-{0}libdir={1}".format(var, spec[var].prefix.lib))
+
+ args.append("--{0}-gtk".format("with" if "+gtkplus" in spec else "without"))
+
+ if spec.version >= Version("2.46"):
+ args.append("--{0}-man-pdfs".format("enable" if "+doc" in spec else "disable"))
return args
diff --git a/var/spack/repos/builtin/packages/grass/package.py b/var/spack/repos/builtin/packages/grass/package.py
index 141fd0b5ba..cc4d441e98 100644
--- a/var/spack/repos/builtin/packages/grass/package.py
+++ b/var/spack/repos/builtin/packages/grass/package.py
@@ -8,100 +8,100 @@ from spack.package import *
class Grass(AutotoolsPackage):
"""GRASS GIS (Geographic Resources Analysis Support System), is a free
- and open source Geographic Information System (GIS) software suite
- used for geospatial data management and analysis, image processing,
- graphics and maps production, spatial modeling, and visualization."""
+ and open source Geographic Information System (GIS) software suite
+ used for geospatial data management and analysis, image processing,
+ graphics and maps production, spatial modeling, and visualization."""
homepage = "https://grass.osgeo.org"
- url = "https://grass.osgeo.org/grass78/source/grass-7.8.5.tar.gz"
+ url = "https://grass.osgeo.org/grass78/source/grass-7.8.5.tar.gz"
list_url = "https://grass.osgeo.org/download/software/sources/"
- git = "https://github.com/OSGeo/grass.git"
-
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('8.2.0', sha256='621c3304a563be19c0220ae28f931a5e9ba74a53218c5556cd3f7fbfcca33a80')
- version('7.8.5', sha256='a359bb665524ecccb643335d70f5436b1c84ffb6a0e428b78dffebacd983ff37')
- version('7.8.2', sha256='33576f7078f805b39ca20c2fa416ac79c64260c0581072a6dc7d813f53aa9abb')
- version('7.8.1', sha256='6ae578fd67afcce7abec4ba4505dcc55b3d2dfe0ca46b99d966cb148c654abb3')
- version('7.8.0', sha256='4b1192294e959ffd962282344e4ff325c4472f73abe605e246a1da3beda7ccfa')
- version('7.6.1', sha256='9e25c99cafd16ed8f5e2dca75b5a10dc2af0568dbedf3fc39f1c5a0a9c840b0b')
- version('7.4.4', sha256='96a39e273103f7375a670eba94fa3e5dad2819c5c5664c9aee8f145882a94e8c')
- version('7.4.3', sha256='004e65693ee97fd4d5dc7ad244e3286a115dccd88964d04be61c07db6574b399')
- version('7.4.2', sha256='18eb19bc0aa4cd7be3f30f79ac83f9d0a29c63657f4c1b05bf4c5d5d57a8f46d')
- version('7.4.1', sha256='560b8669caaafa9e8dbd4bbf2b4b4bbab7dca1cc46ee828eaf26c744fe0635fc')
- version('7.4.0', sha256='cb6fa188e030a3a447fc5451fbe0ecbeb4069ee2fd1bf52ed8e40e9b89e293cc')
-
- variant('cxx', default=True, description='Support C++ functionality')
- variant('tiff', default=False, description='Support TIFF functionality')
- variant('png', default=False, description='Support PNG functionality')
- variant('postgres', default=False, description='Support PostgreSQL functionality')
- variant('mysql', default=False, description='Support MySQL functionality')
- variant('sqlite', default=False, description='Support SQLite functionality')
- variant('opengl', default=False, description='Support OpenGL functionality')
- variant('odbc', default=False, description='Support ODBC functionality')
- variant('fftw', default=False, description='Support FFTW functionality')
- variant('blas', default=False, description='Support BLAS functionality')
- variant('lapack', default=False, description='Support LAPACK functionality')
- variant('cairo', default=False, description='Support Cairo functionality')
- variant('freetype', default=False, description='Support FreeType functionality')
- variant('readline', default=False, description='Support Readline functionality')
- variant('regex', default=False, description='Support regex functionality')
- variant('pthread', default=False, description='Support POSIX threads functionality')
- variant('openmp', default=False, description='Support OpenMP functionality')
- variant('opencl', default=False, description='Support OpenCL functionality')
- variant('bzlib', default=False, description='Support BZIP2 functionality')
- variant('zstd', default=False, description='Support Zstandard functionality')
- variant('gdal', default=True, description='Enable GDAL/OGR support')
- variant('liblas', default=False, description='Enable libLAS support')
- variant('wxwidgets', default=False, description='Enable wxWidgets support')
- variant('netcdf', default=False, description='Enable NetCDF support')
- variant('geos', default=False, description='Enable GEOS support')
- variant('x', default=False, description='Use the X Window System')
+ git = "https://github.com/OSGeo/grass.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("8.2.0", sha256="621c3304a563be19c0220ae28f931a5e9ba74a53218c5556cd3f7fbfcca33a80")
+ version("7.8.5", sha256="a359bb665524ecccb643335d70f5436b1c84ffb6a0e428b78dffebacd983ff37")
+ version("7.8.2", sha256="33576f7078f805b39ca20c2fa416ac79c64260c0581072a6dc7d813f53aa9abb")
+ version("7.8.1", sha256="6ae578fd67afcce7abec4ba4505dcc55b3d2dfe0ca46b99d966cb148c654abb3")
+ version("7.8.0", sha256="4b1192294e959ffd962282344e4ff325c4472f73abe605e246a1da3beda7ccfa")
+ version("7.6.1", sha256="9e25c99cafd16ed8f5e2dca75b5a10dc2af0568dbedf3fc39f1c5a0a9c840b0b")
+ version("7.4.4", sha256="96a39e273103f7375a670eba94fa3e5dad2819c5c5664c9aee8f145882a94e8c")
+ version("7.4.3", sha256="004e65693ee97fd4d5dc7ad244e3286a115dccd88964d04be61c07db6574b399")
+ version("7.4.2", sha256="18eb19bc0aa4cd7be3f30f79ac83f9d0a29c63657f4c1b05bf4c5d5d57a8f46d")
+ version("7.4.1", sha256="560b8669caaafa9e8dbd4bbf2b4b4bbab7dca1cc46ee828eaf26c744fe0635fc")
+ version("7.4.0", sha256="cb6fa188e030a3a447fc5451fbe0ecbeb4069ee2fd1bf52ed8e40e9b89e293cc")
+
+ variant("cxx", default=True, description="Support C++ functionality")
+ variant("tiff", default=False, description="Support TIFF functionality")
+ variant("png", default=False, description="Support PNG functionality")
+ variant("postgres", default=False, description="Support PostgreSQL functionality")
+ variant("mysql", default=False, description="Support MySQL functionality")
+ variant("sqlite", default=False, description="Support SQLite functionality")
+ variant("opengl", default=False, description="Support OpenGL functionality")
+ variant("odbc", default=False, description="Support ODBC functionality")
+ variant("fftw", default=False, description="Support FFTW functionality")
+ variant("blas", default=False, description="Support BLAS functionality")
+ variant("lapack", default=False, description="Support LAPACK functionality")
+ variant("cairo", default=False, description="Support Cairo functionality")
+ variant("freetype", default=False, description="Support FreeType functionality")
+ variant("readline", default=False, description="Support Readline functionality")
+ variant("regex", default=False, description="Support regex functionality")
+ variant("pthread", default=False, description="Support POSIX threads functionality")
+ variant("openmp", default=False, description="Support OpenMP functionality")
+ variant("opencl", default=False, description="Support OpenCL functionality")
+ variant("bzlib", default=False, description="Support BZIP2 functionality")
+ variant("zstd", default=False, description="Support Zstandard functionality")
+ variant("gdal", default=True, description="Enable GDAL/OGR support")
+ variant("liblas", default=False, description="Enable libLAS support")
+ variant("wxwidgets", default=False, description="Enable wxWidgets support")
+ variant("netcdf", default=False, description="Enable NetCDF support")
+ variant("geos", default=False, description="Enable GEOS support")
+ variant("x", default=False, description="Use the X Window System")
# https://htmlpreview.github.io/?https://github.com/OSGeo/grass/blob/master/REQUIREMENTS.html
# General requirements
- depends_on('gmake@3.81:', type='build')
- depends_on('iconv')
- depends_on('zlib')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('proj')
- depends_on('proj@:4', when='@:7.5')
+ depends_on("gmake@3.81:", type="build")
+ depends_on("iconv")
+ depends_on("zlib")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("proj")
+ depends_on("proj@:4", when="@:7.5")
# GRASS 7.8.0 was supposed to support PROJ 6, but it still checks for
# share/proj/epsg, which was removed in PROJ 6
- depends_on('proj@:5', when='@:7.8.0')
+ depends_on("proj@:5", when="@:7.8.0")
# PROJ6 support released in GRASS 7.8.1
# https://courses.neteler.org/grass-gis-7-8-1-released-with-proj-6-and-gdal-3-support/
- depends_on('proj@6:', when='@7.8.1:')
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('python@2.7:2.8', when='@:7.6', type=('build', 'run'))
- depends_on('py-six', when='@7.8:', type=('build', 'run'))
+ depends_on("proj@6:", when="@7.8.1:")
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("python@2.7:2.8", when="@:7.6", type=("build", "run"))
+ depends_on("py-six", when="@7.8:", type=("build", "run"))
# Optional packages
- depends_on('libtiff', when='+tiff')
- depends_on('libpng', when='+png')
- depends_on('postgresql', when='+postgres')
- depends_on('mariadb', when='+mysql')
- depends_on('sqlite', when='+sqlite')
- depends_on('gl', when='+opengl')
- depends_on('unixodbc', when='+odbc')
- depends_on('fftw', when='+fftw')
- depends_on('blas', when='+blas')
- depends_on('lapack', when='+lapack')
- depends_on('cairo@1.5.8:', when='+cairo')
- depends_on('freetype', when='+freetype')
- depends_on('readline', when='+readline')
- depends_on('opencl', when='+opencl')
- depends_on('bzip2', when='+bzlib')
- depends_on('zstd', when='+zstd')
- depends_on('gdal@:3.2', when='+gdal')
- depends_on('liblas', when='+liblas')
- depends_on('wxwidgets', when='+wxwidgets')
- depends_on('py-wxpython@2.8.10.1:', when='+wxwidgets', type=('build', 'run'))
- depends_on('netcdf-c', when='+netcdf')
- depends_on('geos', when='+geos')
- depends_on('libx11', when='+x')
+ depends_on("libtiff", when="+tiff")
+ depends_on("libpng", when="+png")
+ depends_on("postgresql", when="+postgres")
+ depends_on("mariadb", when="+mysql")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("gl", when="+opengl")
+ depends_on("unixodbc", when="+odbc")
+ depends_on("fftw", when="+fftw")
+ depends_on("blas", when="+blas")
+ depends_on("lapack", when="+lapack")
+ depends_on("cairo@1.5.8:", when="+cairo")
+ depends_on("freetype", when="+freetype")
+ depends_on("readline", when="+readline")
+ depends_on("opencl", when="+opencl")
+ depends_on("bzip2", when="+bzlib")
+ depends_on("zstd", when="+zstd")
+ depends_on("gdal@:3.2", when="+gdal")
+ depends_on("liblas", when="+liblas")
+ depends_on("wxwidgets", when="+wxwidgets")
+ depends_on("py-wxpython@2.8.10.1:", when="+wxwidgets", type=("build", "run"))
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("geos", when="+geos")
+ depends_on("libx11", when="+x")
def url_for_version(self, version):
url = "https://grass.osgeo.org/grass{0}/source/grass-{1}.tar.gz"
@@ -112,157 +112,152 @@ class Grass(AutotoolsPackage):
spec = self.spec
args = [
- '--without-nls',
+ "--without-nls",
# TODO: add packages for these optional dependencies
- '--without-opendwg',
- '--without-pdal',
- '--with-proj-share={0}'.format(spec['proj'].prefix.share.proj),
+ "--without-opendwg",
+ "--without-pdal",
+ "--with-proj-share={0}".format(spec["proj"].prefix.share.proj),
]
- if '+cxx' in spec:
- args.append('--with-cxx')
+ if "+cxx" in spec:
+ args.append("--with-cxx")
else:
- args.append('--without-cxx')
+ args.append("--without-cxx")
- if '+tiff' in spec:
- args.append('--with-tiff')
+ if "+tiff" in spec:
+ args.append("--with-tiff")
else:
- args.append('--without-tiff')
+ args.append("--without-tiff")
- if '+png' in spec:
- args.append('--with-png')
+ if "+png" in spec:
+ args.append("--with-png")
else:
- args.append('--without-png')
+ args.append("--without-png")
- if '+postgres' in spec:
- args.append('--with-postgres')
+ if "+postgres" in spec:
+ args.append("--with-postgres")
else:
- args.append('--without-postgres')
+ args.append("--without-postgres")
- if '+mysql' in spec:
- args.append('--with-mysql')
+ if "+mysql" in spec:
+ args.append("--with-mysql")
else:
- args.append('--without-mysql')
+ args.append("--without-mysql")
- if '+sqlite' in spec:
- args.append('--with-sqlite')
+ if "+sqlite" in spec:
+ args.append("--with-sqlite")
else:
- args.append('--without-sqlite')
+ args.append("--without-sqlite")
- if '+opengl' in spec:
- args.append('--with-opengl')
+ if "+opengl" in spec:
+ args.append("--with-opengl")
else:
- args.append('--without-opengl')
+ args.append("--without-opengl")
- if '+odbc' in spec:
- args.append('--with-odbc')
+ if "+odbc" in spec:
+ args.append("--with-odbc")
else:
- args.append('--without-odbc')
+ args.append("--without-odbc")
- if '+fftw' in spec:
- args.append('--with-fftw')
+ if "+fftw" in spec:
+ args.append("--with-fftw")
else:
- args.append('--without-fftw')
+ args.append("--without-fftw")
- if '+blas' in spec:
- args.append('--with-blas')
+ if "+blas" in spec:
+ args.append("--with-blas")
else:
- args.append('--without-blas')
+ args.append("--without-blas")
- if '+lapack' in spec:
- args.append('--with-lapack')
+ if "+lapack" in spec:
+ args.append("--with-lapack")
else:
- args.append('--without-lapack')
+ args.append("--without-lapack")
- if '+cairo' in spec:
- args.append('--with-cairo')
+ if "+cairo" in spec:
+ args.append("--with-cairo")
else:
- args.append('--without-cairo')
+ args.append("--without-cairo")
- if '+freetype' in spec:
- args.append('--with-freetype')
+ if "+freetype" in spec:
+ args.append("--with-freetype")
else:
- args.append('--without-freetype')
+ args.append("--without-freetype")
- if '+readline' in spec:
- args.append('--with-readline')
+ if "+readline" in spec:
+ args.append("--with-readline")
else:
- args.append('--without-readline')
+ args.append("--without-readline")
- if '+regex' in spec:
- args.append('--with-regex')
+ if "+regex" in spec:
+ args.append("--with-regex")
else:
- args.append('--without-regex')
+ args.append("--without-regex")
- if '+pthread' in spec:
- args.append('--with-pthread')
+ if "+pthread" in spec:
+ args.append("--with-pthread")
else:
- args.append('--without-pthread')
+ args.append("--without-pthread")
- if '+openmp' in spec:
- args.append('--with-openmp')
+ if "+openmp" in spec:
+ args.append("--with-openmp")
else:
- args.append('--without-openmp')
+ args.append("--without-openmp")
- if '+opencl' in spec:
- args.append('--with-opencl')
+ if "+opencl" in spec:
+ args.append("--with-opencl")
else:
- args.append('--without-opencl')
+ args.append("--without-opencl")
- if '+bzlib' in spec:
- args.append('--with-bzlib')
+ if "+bzlib" in spec:
+ args.append("--with-bzlib")
else:
- args.append('--without-bzlib')
+ args.append("--without-bzlib")
- if '+zstd' in spec:
- args.append('--with-zstd')
+ if "+zstd" in spec:
+ args.append("--with-zstd")
else:
- args.append('--without-zstd')
+ args.append("--without-zstd")
- if '+gdal' in spec:
- args.append('--with-gdal={0}/gdal-config'.format(
- spec['gdal'].prefix.bin))
+ if "+gdal" in spec:
+ args.append("--with-gdal={0}/gdal-config".format(spec["gdal"].prefix.bin))
else:
- args.append('--without-gdal')
+ args.append("--without-gdal")
- if '+liblas' in spec:
- args.append('--with-liblas={0}/liblas-config'.format(
- spec['liblas'].prefix.bin))
+ if "+liblas" in spec:
+ args.append("--with-liblas={0}/liblas-config".format(spec["liblas"].prefix.bin))
else:
- args.append('--without-liblas')
+ args.append("--without-liblas")
- if '+wxwidgets' in spec:
- args.append('--with-wxwidgets={0}/wx-config'.format(
- spec['wxwidgets'].prefix.bin))
+ if "+wxwidgets" in spec:
+ args.append("--with-wxwidgets={0}/wx-config".format(spec["wxwidgets"].prefix.bin))
else:
- args.append('--without-wxwidgets')
+ args.append("--without-wxwidgets")
- if '+netcdf' in spec:
- args.append('--with-netcdf={0}/bin/nc-config'.format(
- spec['netcdf-c'].prefix))
+ if "+netcdf" in spec:
+ args.append("--with-netcdf={0}/bin/nc-config".format(spec["netcdf-c"].prefix))
else:
- args.append('--without-netcdf')
+ args.append("--without-netcdf")
- if '+geos' in spec:
- args.append('--with-geos={0}/bin/geos-config'.format(
- spec['geos'].prefix))
+ if "+geos" in spec:
+ args.append("--with-geos={0}/bin/geos-config".format(spec["geos"].prefix))
else:
- args.append('--without-geos')
+ args.append("--without-geos")
- if '+x' in spec:
- args.append('--with-x')
+ if "+x" in spec:
+ args.append("--with-x")
else:
- args.append('--without-x')
+ args.append("--without-x")
return args
# see issue: https://github.com/spack/spack/issues/11325
# 'Platform.make' is created after configure step
# hence invoke the following function afterwards
- @run_after('configure')
+ @run_after("configure")
def fix_iconv_linking(self):
- if self.spec['iconv'].name != 'libiconv':
+ if self.spec["iconv"].name != "libiconv":
return
- makefile = FileFilter('include/Make/Platform.make')
- makefile.filter(r'^ICONVLIB\s*=.*', 'ICONVLIB = -liconv')
+ makefile = FileFilter("include/Make/Platform.make")
+ makefile.filter(r"^ICONVLIB\s*=.*", "ICONVLIB = -liconv")
diff --git a/var/spack/repos/builtin/packages/graylog2-server/package.py b/var/spack/repos/builtin/packages/graylog2-server/package.py
index c46fc18283..9881e90cde 100644
--- a/var/spack/repos/builtin/packages/graylog2-server/package.py
+++ b/var/spack/repos/builtin/packages/graylog2-server/package.py
@@ -10,15 +10,15 @@ class Graylog2Server(Package):
"""Free and open source log management."""
homepage = "https://www.graylog.org/"
- url = "https://github.com/Graylog2/graylog2-server/archive/3.2.4.tar.gz"
+ url = "https://github.com/Graylog2/graylog2-server/archive/3.2.4.tar.gz"
- version('3.2.4', sha256='d34cc9fd42b2ee0b872c0f644fe53ef9b2e9790029c5d2182f782f66f1e1d99d')
- version('3.2.3', sha256='6da5ba1da897a371a490a6ba7c9d017a479a22e3c16a39280a49e61f551280c0')
- version('3.2.2', sha256='dc7baa5c0e451b0927b28320c4d9ca19810f4690eb2c521ed8a8272c99fb3bc3')
- version('3.2.1', sha256='f570dbb557888ca4dbc932fb6ed840dbb616b9ed50e034d17de69a69f08d1aec')
- version('3.2.0', sha256='094eed607d0d0a7c380825d6507c1e40a53c4493b5f9fe8ae5a3ddd86521711e')
+ version("3.2.4", sha256="d34cc9fd42b2ee0b872c0f644fe53ef9b2e9790029c5d2182f782f66f1e1d99d")
+ version("3.2.3", sha256="6da5ba1da897a371a490a6ba7c9d017a479a22e3c16a39280a49e61f551280c0")
+ version("3.2.2", sha256="dc7baa5c0e451b0927b28320c4d9ca19810f4690eb2c521ed8a8272c99fb3bc3")
+ version("3.2.1", sha256="f570dbb557888ca4dbc932fb6ed840dbb616b9ed50e034d17de69a69f08d1aec")
+ version("3.2.0", sha256="094eed607d0d0a7c380825d6507c1e40a53c4493b5f9fe8ae5a3ddd86521711e")
- depends_on('java@8', type=("build", "run"))
+ depends_on("java@8", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/grep/package.py b/var/spack/repos/builtin/packages/grep/package.py
index 50a7707c1a..a2bd7a695f 100644
--- a/var/spack/repos/builtin/packages/grep/package.py
+++ b/var/spack/repos/builtin/packages/grep/package.py
@@ -10,23 +10,23 @@ class Grep(AutotoolsPackage):
a specified pattern"""
homepage = "https://www.gnu.org/software/grep/"
- url = "https://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz"
+ url = "https://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz"
- version('3.7', sha256='5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c')
- version('3.3', sha256='b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514')
+ version("3.7", sha256="5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c")
+ version("3.3", sha256="b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514")
- variant('pcre', default=False, description='Enable Perl Compatible Regular Expression support')
+ variant("pcre", default=False, description="Enable Perl Compatible Regular Expression support")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- depends_on('pcre', when='+pcre')
+ depends_on("pcre", when="+pcre")
def configure_args(self):
args = []
- if '+pcre' in self.spec:
- args.append('--enable-perl-regexp')
+ if "+pcre" in self.spec:
+ args.append("--enable-perl-regexp")
else:
- args.append('--disable-perl-regexp')
+ args.append("--disable-perl-regexp")
return args
diff --git a/var/spack/repos/builtin/packages/grib-api/package.py b/var/spack/repos/builtin/packages/grib-api/package.py
index dab6757a9e..1aa967d26a 100644
--- a/var/spack/repos/builtin/packages/grib-api/package.py
+++ b/var/spack/repos/builtin/packages/grib-api/package.py
@@ -8,127 +8,158 @@ from spack.package import *
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. The API was deprecated
- https://www.ecmwf.int/en/newsletter/152/news/end-road-grib-api in favor
- of ecCodes."""
-
- 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', 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')
- variant('jp2k', default='openjpeg', values=('openjpeg', 'jasper', 'none'),
- description='Specify JPEG2000 decoding/encoding backend')
- variant('png', default=False,
- description='Enable png for decoding/encoding')
- variant('aec', default=False,
- description='Enable Adaptive Entropy Coding for decoding/encoding')
- variant('pthreads', default=False,
- description='Enable POSIX threads')
- variant('openmp', default=False,
- description='Enable OpenMP threads')
- variant('python', default=False,
- description='Enable the Python interface')
- variant('numpy', default=False,
- description='Enable numpy support in the Python interface')
- variant('fortran', default=False, description='Enable the Fortran support')
- variant('examples', default=True,
- description='Build the examples (part of the full test suite)')
- variant('test', default=True, description='Enable the tests')
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
+ C, FORTRAN and Python programs developed for encoding and decoding WMO
+ 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://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",
+ 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"
+ )
+ variant(
+ "jp2k",
+ default="openjpeg",
+ values=("openjpeg", "jasper", "none"),
+ description="Specify JPEG2000 decoding/encoding backend",
+ )
+ variant("png", default=False, description="Enable png for decoding/encoding")
+ variant(
+ "aec", default=False, description="Enable Adaptive Entropy Coding for decoding/encoding"
+ )
+ variant("pthreads", default=False, description="Enable POSIX threads")
+ variant("openmp", default=False, description="Enable OpenMP threads")
+ variant("python", default=False, description="Enable the Python interface")
+ variant("numpy", default=False, description="Enable numpy support in the Python interface")
+ variant("fortran", default=False, description="Enable the Fortran support")
+ variant(
+ "examples", default=True, description="Build the examples (part of the full test suite)"
+ )
+ variant("test", default=True, description="Enable the tests")
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "Production"),
+ )
# The building script tries to find an optional package valgrind when
# tests are enabled but the testing scripts don't use it.
# depends_on('valgrind', type='test', when='+test')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('openjpeg@1.5.0:1.5', when='jp2k=openjpeg')
- depends_on('jasper', when='jp2k=jasper')
- depends_on('libpng', when='+png')
- depends_on('libaec', when='+aec')
- depends_on('python@2.5:2', when='+python',
- type=('build', 'link', 'run'))
- depends_on('py-numpy', when='+python+numpy', type=('build', 'run'))
- extends('python', when='+python')
-
- conflicts('+openmp', when='+pthreads',
- msg='Cannot enable both POSIX threads and OMP')
- conflicts('+numpy', when='~python',
- msg='Numpy variant is valid only when the Python interface is '
- 'enabled')
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("openjpeg@1.5.0:1.5", when="jp2k=openjpeg")
+ depends_on("jasper", when="jp2k=jasper")
+ depends_on("libpng", when="+png")
+ depends_on("libaec", when="+aec")
+ depends_on("python@2.5:2", when="+python", type=("build", "link", "run"))
+ depends_on("py-numpy", when="+python+numpy", type=("build", "run"))
+ extends("python", when="+python")
+
+ conflicts("+openmp", when="+pthreads", msg="Cannot enable both POSIX threads and OMP")
+ conflicts(
+ "+numpy",
+ when="~python",
+ msg="Numpy variant is valid only when the Python interface is " "enabled",
+ )
# The following enforces linking against the specified JPEG2000 backend.
- patch('enable_only_openjpeg.patch', when='jp2k=openjpeg')
- patch('enable_only_jasper.patch', when='jp2k=jasper')
+ patch("enable_only_openjpeg.patch", when="jp2k=openjpeg")
+ patch("enable_only_jasper.patch", when="jp2k=jasper")
# Disable NumPy even if it's available.
- patch('disable_numpy.patch', when='+python~numpy')
+ patch("disable_numpy.patch", when="+python~numpy")
# CMAKE_INSTALL_RPATH must be a semicolon-separated list.
- patch('cmake_install_rpath.patch')
+ patch("cmake_install_rpath.patch")
- @run_before('cmake')
+ @run_before("cmake")
def check_fortran(self):
- if '+fortran' in self.spec and self.compiler.fc is None:
- raise InstallError(
- 'Fortran interface requires a Fortran compiler!')
+ if "+fortran" in self.spec and self.compiler.fc is None:
+ raise InstallError("Fortran interface requires a Fortran compiler!")
def cmake_args(self):
- var_opt_list = [('+pthreads', 'GRIB_THREADS'),
- ('+openmp', 'GRIB_OMP_THREADS'),
- ('+python', 'PYTHON'),
- ('+fortran', 'FORTRAN'),
- ('+examples', 'EXAMPLES'),
- ('+test', 'TESTS')]
-
- args = ['-DENABLE_%s=%s' % (opt, 'ON' if var in self.spec else 'OFF')
- for var, opt in var_opt_list]
-
- if '+netcdf' in self.spec:
- args.extend(['-DENABLE_NETCDF=ON',
- # Prevent overriding by environment variable
- # HDF5_ROOT.
- '-DHDF5_ROOT=' + self.spec['hdf5'].prefix,
- # Prevent possible overriding by environment variables
- # NETCDF_ROOT, NETCDF_DIR, and NETCDF_PATH.
- '-DNETCDF_PATH=' + self.spec['netcdf-c'].prefix])
+ var_opt_list = [
+ ("+pthreads", "GRIB_THREADS"),
+ ("+openmp", "GRIB_OMP_THREADS"),
+ ("+python", "PYTHON"),
+ ("+fortran", "FORTRAN"),
+ ("+examples", "EXAMPLES"),
+ ("+test", "TESTS"),
+ ]
+
+ args = [
+ "-DENABLE_%s=%s" % (opt, "ON" if var in self.spec else "OFF")
+ for var, opt in var_opt_list
+ ]
+
+ if "+netcdf" in self.spec:
+ args.extend(
+ [
+ "-DENABLE_NETCDF=ON",
+ # Prevent overriding by environment variable
+ # HDF5_ROOT.
+ "-DHDF5_ROOT=" + self.spec["hdf5"].prefix,
+ # Prevent possible overriding by environment variables
+ # NETCDF_ROOT, NETCDF_DIR, and NETCDF_PATH.
+ "-DNETCDF_PATH=" + self.spec["netcdf-c"].prefix,
+ ]
+ )
else:
- args.append('-DENABLE_NETCDF=OFF')
+ args.append("-DENABLE_NETCDF=OFF")
- if self.spec.variants['jp2k'].value == 'none':
- args.append('-DENABLE_JPG=OFF')
+ if self.spec.variants["jp2k"].value == "none":
+ args.append("-DENABLE_JPG=OFF")
else:
- args.append('-DENABLE_JPG=ON')
+ args.append("-DENABLE_JPG=ON")
- if self.spec.variants['jp2k'].value == 'openjpeg':
- args.append('-DOPENJPEG_PATH=' + self.spec['openjpeg'].prefix)
+ if self.spec.variants["jp2k"].value == "openjpeg":
+ args.append("-DOPENJPEG_PATH=" + self.spec["openjpeg"].prefix)
- if '+png' in self.spec:
- args.extend(['-DENABLE_PNG=ON',
- '-DZLIB_ROOT=' + self.spec['zlib'].prefix])
+ if "+png" in self.spec:
+ args.extend(["-DENABLE_PNG=ON", "-DZLIB_ROOT=" + self.spec["zlib"].prefix])
else:
- args.append('-DENABLE_PNG=OFF')
-
- if '+aec' in self.spec:
- args.extend(['-DENABLE_AEC=ON',
- # Prevent overriding by environment variables
- # AEC_DIR and AEC_PATH.
- '-DAEC_DIR=' + self.spec['libaec'].prefix])
+ args.append("-DENABLE_PNG=OFF")
+
+ if "+aec" in self.spec:
+ args.extend(
+ [
+ "-DENABLE_AEC=ON",
+ # Prevent overriding by environment variables
+ # AEC_DIR and AEC_PATH.
+ "-DAEC_DIR=" + self.spec["libaec"].prefix,
+ ]
+ )
else:
- args.append('-DENABLE_AEC=OFF')
+ args.append("-DENABLE_AEC=OFF")
- if '^python' in self.spec:
- args.append('-DPYTHON_EXECUTABLE:FILEPATH=' + python.path)
+ if "^python" in self.spec:
+ args.append("-DPYTHON_EXECUTABLE:FILEPATH=" + python.path)
return args
diff --git a/var/spack/repos/builtin/packages/grib-util/package.py b/var/spack/repos/builtin/packages/grib-util/package.py
index 9ce60cab95..d49556245e 100644
--- a/var/spack/repos/builtin/packages/grib-util/package.py
+++ b/var/spack/repos/builtin/packages/grib-util/package.py
@@ -12,24 +12,24 @@ class GribUtil(CMakePackage):
This is related to NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-grib_util"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-grib_util/archive/refs/tags/v1.2.3.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-grib_util/archive/refs/tags/v1.2.3.tar.gz"
- maintainers = ['kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.2.4', sha256='f021d6df3186890b0b1781616dabf953581d71db63e7c2913360336985ccaec7')
- version('1.2.3', sha256='b17b08e12360bb8ad01298e615f1b4198e304b0443b6db35fe990a817e648ad5')
+ version("1.2.4", sha256="f021d6df3186890b0b1781616dabf953581d71db63e7c2913360336985ccaec7")
+ version("1.2.3", sha256="b17b08e12360bb8ad01298e615f1b4198e304b0443b6db35fe990a817e648ad5")
- variant('openmp', default=False, description='Use OpenMP multithreading')
+ variant("openmp", default=False, description="Use OpenMP multithreading")
- depends_on('jasper')
- depends_on('libpng')
- depends_on('zlib')
- depends_on('w3nco')
- depends_on('g2')
- depends_on('bacio')
- depends_on('ip')
- depends_on('sp')
+ depends_on("jasper")
+ depends_on("libpng")
+ depends_on("zlib")
+ depends_on("w3nco")
+ depends_on("g2")
+ depends_on("bacio")
+ depends_on("ip")
+ depends_on("sp")
def cmake_args(self):
- args = [self.define_from_variant('OPENMP', 'openmp')]
+ args = [self.define_from_variant("OPENMP", "openmp")]
return args
diff --git a/var/spack/repos/builtin/packages/grid/package.py b/var/spack/repos/builtin/packages/grid/package.py
index f868743efc..1427e2f2c6 100644
--- a/var/spack/repos/builtin/packages/grid/package.py
+++ b/var/spack/repos/builtin/packages/grid/package.py
@@ -10,111 +10,122 @@ class Grid(AutotoolsPackage):
"""Data parallel C++ mathematical object library."""
homepage = "https://github.com/paboyle/Grid"
- url = "https://github.com/paboyle/Grid/archive/refs/tags/0.8.2.tar.gz"
- git = "https://github.com/paboyle/Grid.git"
-
- maintainers = ['giordano']
-
- version('develop', branch='develop')
-
- variant('comms', default='mpi',
- values=('none', 'mpi', 'mpi3', conditional('shmem', when='^cray-mpich')),
- description='Choose communication interface')
- variant('fftw', default=True, description='Activate FFTW support')
- variant('lapack', default=False, description='Activate LAPACK support')
- variant('hdf5', default=False, description='Activate HDF5 support')
- variant('lime', default=False, description='Activate LIME support')
- variant('doxygen-doc', default=False,
- description='Build the documentation with doxygen')
- variant('gen-simd-width', default='64',
- description='Size (in bytes) of the generic SIMD vector type')
- variant('rng', default='sitmo', values=('sitmo', 'ranlux48', 'mt19937'),
- multi=False, description='RNG setting')
- variant('timers', default=True,
- description='System dependent high-resolution timers')
- variant('chroma', default=False,
- description='Chroma regression tests')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gmp')
- depends_on('mpfr')
- depends_on('openssl')
-
- depends_on('mpi', when='comms=mpi')
- depends_on('cray-mpich', when='comms=shmem')
- depends_on('mpi@3:', when='comms=mpi3')
-
- depends_on('fftw-api@3', when='+fftw')
-
- depends_on('lapack', when='+lapack')
-
- depends_on('hdf5', when='+hdf5')
-
- depends_on('c-lime', when='+lime')
+ url = "https://github.com/paboyle/Grid/archive/refs/tags/0.8.2.tar.gz"
+ git = "https://github.com/paboyle/Grid.git"
+
+ maintainers = ["giordano"]
+
+ version("develop", branch="develop")
+
+ variant(
+ "comms",
+ default="mpi",
+ values=("none", "mpi", "mpi3", conditional("shmem", when="^cray-mpich")),
+ description="Choose communication interface",
+ )
+ variant("fftw", default=True, description="Activate FFTW support")
+ variant("lapack", default=False, description="Activate LAPACK support")
+ variant("hdf5", default=False, description="Activate HDF5 support")
+ variant("lime", default=False, description="Activate LIME support")
+ variant("doxygen-doc", default=False, description="Build the documentation with doxygen")
+ variant(
+ "gen-simd-width",
+ default="64",
+ description="Size (in bytes) of the generic SIMD vector type",
+ )
+ variant(
+ "rng",
+ default="sitmo",
+ values=("sitmo", "ranlux48", "mt19937"),
+ multi=False,
+ description="RNG setting",
+ )
+ variant("timers", default=True, description="System dependent high-resolution timers")
+ variant("chroma", default=False, description="Chroma regression tests")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gmp")
+ depends_on("mpfr")
+ depends_on("openssl")
+
+ depends_on("mpi", when="comms=mpi")
+ depends_on("cray-mpich", when="comms=shmem")
+ depends_on("mpi@3:", when="comms=mpi3")
+
+ depends_on("fftw-api@3", when="+fftw")
+
+ depends_on("lapack", when="+lapack")
+
+ depends_on("hdf5", when="+hdf5")
+
+ depends_on("c-lime", when="+lime")
depends_on("doxygen", type="build", when="+doxygen-doc")
def autoreconf(self, spec, prefix):
- Executable('./bootstrap.sh')()
+ Executable("./bootstrap.sh")()
def configure_args(self):
spec = self.spec
- args = ['--with-gmp', '--with-mpfr']
+ args = ["--with-gmp", "--with-mpfr"]
- if spec.satisfies('^intel-mkl'):
- if '+fftw' in spec or '+lapack' in spec:
- args.append('--enable-mkl')
+ if spec.satisfies("^intel-mkl"):
+ if "+fftw" in spec or "+lapack" in spec:
+ args.append("--enable-mkl")
else:
- if '+fftw' in spec:
- args.append('--with-fftw={0}'.format(self.spec['fftw'].prefix))
- if '+lapack' in spec:
- args.append('--enable-lapack={0}'.format(self.spec['lapack'].prefix))
+ if "+fftw" in spec:
+ args.append("--with-fftw={0}".format(self.spec["fftw"].prefix))
+ if "+lapack" in spec:
+ args.append("--enable-lapack={0}".format(self.spec["lapack"].prefix))
# lapack is searched only as `-llapack`, so anything else
# wouldn't be found, causing an error.
- args.append('LIBS={0}'.format(self.spec['lapack'].libs.ld_flags))
+ args.append("LIBS={0}".format(self.spec["lapack"].libs.ld_flags))
- if 'comms=none' not in spec:
+ if "comms=none" not in spec:
# The build system can easily get very confused about MPI support
# and what linker to use. In many case it'd end up building the
# code with support for MPI but without using `mpicxx` or linking to
# `-lmpi`, wreaking havoc. Forcing `CXX` to be mpicxx should help.
- args.extend([
- "CC={0}".format(spec['mpi'].mpicc),
- "CXX={0}".format(spec['mpi'].mpicxx),
- ])
-
- args += self.enable_or_disable('timers')
- args += self.enable_or_disable('chroma')
- args += self.enable_or_disable('doxygen-doc')
-
- if 'avx512' in spec.target:
- args.append('--enable-simd=AVX512')
- elif 'avx2' in spec.target:
- args.append('--enable-simd=AVX2')
- elif 'avx' in spec.target:
- if 'fma4' in spec.target:
- args.append('--enable-simd=AVXFMA4')
- elif 'fma' in spec.target:
- args.append('--enable-simd=AVXFMA')
+ args.extend(
+ [
+ "CC={0}".format(spec["mpi"].mpicc),
+ "CXX={0}".format(spec["mpi"].mpicxx),
+ ]
+ )
+
+ args += self.enable_or_disable("timers")
+ args += self.enable_or_disable("chroma")
+ args += self.enable_or_disable("doxygen-doc")
+
+ if "avx512" in spec.target:
+ args.append("--enable-simd=AVX512")
+ elif "avx2" in spec.target:
+ args.append("--enable-simd=AVX2")
+ elif "avx" in spec.target:
+ if "fma4" in spec.target:
+ args.append("--enable-simd=AVXFMA4")
+ elif "fma" in spec.target:
+ args.append("--enable-simd=AVXFMA")
else:
- args.append('--enable-simd=AVX')
- elif 'sse4_2' in spec.target:
- args.append('--enable-simd=SSE4')
- elif spec.target == 'a64fx':
- args.append('--enable-simd=A64FX')
- elif 'neon' in spec.target:
- args.append('--enable-simd=NEONv8')
+ args.append("--enable-simd=AVX")
+ elif "sse4_2" in spec.target:
+ args.append("--enable-simd=SSE4")
+ elif spec.target == "a64fx":
+ args.append("--enable-simd=A64FX")
+ elif "neon" in spec.target:
+ args.append("--enable-simd=NEONv8")
else:
- args.extend([
- '--enable-simd=GEN',
- '--enable-gen-simd-width={0}'.format(
- spec.variants['gen-simd-width'].value)
- ])
-
- args.append('--enable-comms={0}'.format(spec.variants['comms'].value))
- args.append('--enable-rng={0}'.format(spec.variants['rng'].value))
+ args.extend(
+ [
+ "--enable-simd=GEN",
+ "--enable-gen-simd-width={0}".format(spec.variants["gen-simd-width"].value),
+ ]
+ )
+
+ args.append("--enable-comms={0}".format(spec.variants["comms"].value))
+ args.append("--enable-rng={0}".format(spec.variants["rng"].value))
return args
diff --git a/var/spack/repos/builtin/packages/gridlab-d/package.py b/var/spack/repos/builtin/packages/gridlab-d/package.py
index 4575123f37..e6f7f1d7df 100644
--- a/var/spack/repos/builtin/packages/gridlab-d/package.py
+++ b/var/spack/repos/builtin/packages/gridlab-d/package.py
@@ -17,44 +17,40 @@ class GridlabD(AutotoolsPackage):
"""
homepage = "https://www.gridlabd.org/"
- git = "https://github.com/gridlab-d/gridlab-d"
+ git = "https://github.com/gridlab-d/gridlab-d"
- maintainers = ['0t1s1', 'yee29', 'afisher1']
+ maintainers = ["0t1s1", "yee29", "afisher1"]
# Using only develop as other branches and releases did not build properly.
- version('develop', branch='develop')
+ version("develop", branch="develop")
- variant("mysql",
- default=False,
- description="Enable MySQL support for Gridlab-D.")
- variant('helics',
- default=False,
- description='Enable Helics support for Gridlab-D.')
+ variant("mysql", default=False, description="Enable MySQL support for Gridlab-D.")
+ variant("helics", default=False, description="Enable Helics support for Gridlab-D.")
# Add dependencies.
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
depends_on("xerces-c")
depends_on("superlu-mt")
- depends_on('helics', when='+helics')
+ depends_on("helics", when="+helics")
def configure_args(self):
args = []
- if '+helics' in self.spec:
+ if "+helics" in self.spec:
# Taken from
# https://github.com/GMLC-TDC/HELICS-Tutorial/tree/master/setup
- args.append('--with-helics=' + self.spec['helics'].prefix)
- args.append('CFLAGS=-g -O0 -w')
- args.append('CXXFLAGS=-g -O0 -w -std=c++14')
- args.append('LDFLAGS=-g -O0 -w')
- args.append('--with-xerces=' + self.spec['xerces-c'].prefix)
+ args.append("--with-helics=" + self.spec["helics"].prefix)
+ args.append("CFLAGS=-g -O0 -w")
+ args.append("CXXFLAGS=-g -O0 -w -std=c++14")
+ args.append("LDFLAGS=-g -O0 -w")
+ args.append("--with-xerces=" + self.spec["xerces-c"].prefix)
return args
def setup_run_environment(self, env):
# Need to add GLPATH otherwise Gridlab-D will not run.
- env.set('GLPATH', join_path(self.prefix, 'lib', 'gridlabd'))
- env.prepend_path('GLPATH', join_path(self.prefix, 'share', 'gridlabd'))
+ env.set("GLPATH", join_path(self.prefix, "lib", "gridlabd"))
+ env.prepend_path("GLPATH", join_path(self.prefix, "share", "gridlabd"))
diff --git a/var/spack/repos/builtin/packages/grnboost/package.py b/var/spack/repos/builtin/packages/grnboost/package.py
index 99795b447f..dd03adfcfe 100644
--- a/var/spack/repos/builtin/packages/grnboost/package.py
+++ b/var/spack/repos/builtin/packages/grnboost/package.py
@@ -17,26 +17,29 @@ class Grnboost(Package):
homepage = "https://github.com/aertslab/GRNBoost"
- version('2017-10-9', git='https://github.com/aertslab/GRNBoost.git',
- commit='26c836b3dcbb85852d3c6f4b8340e8655434da02')
+ version(
+ "2017-10-9",
+ git="https://github.com/aertslab/GRNBoost.git",
+ commit="26c836b3dcbb85852d3c6f4b8340e8655434da02",
+ )
- depends_on('sbt', type='build')
- depends_on('java', type=('build', 'run'))
- depends_on('xgboost', type='run')
- depends_on('spark+hadoop', type='run')
+ depends_on("sbt", type="build")
+ depends_on("java", type=("build", "run"))
+ depends_on("xgboost", type="run")
+ depends_on("spark+hadoop", type="run")
def setup_run_environment(self, env):
- grnboost_jar = join_path(self.prefix, 'target',
- 'scala-2.11', 'GRNBoost.jar')
- xgboost_version = self.spec['xgboost'].version.string
- xgboost_jar = join_path(self.spec['xgboost'].prefix,
- 'xgboost4j-' + xgboost_version + '.jar')
- env.set('GRNBOOST_JAR', grnboost_jar)
- env.set('JAVA_HOME', self.spec['java'].prefix)
- env.set('CLASSPATH', xgboost_jar)
- env.set('XGBOOST_JAR', xgboost_jar)
+ grnboost_jar = join_path(self.prefix, "target", "scala-2.11", "GRNBoost.jar")
+ xgboost_version = self.spec["xgboost"].version.string
+ xgboost_jar = join_path(
+ self.spec["xgboost"].prefix, "xgboost4j-" + xgboost_version + ".jar"
+ )
+ env.set("GRNBOOST_JAR", grnboost_jar)
+ env.set("JAVA_HOME", self.spec["java"].prefix)
+ env.set("CLASSPATH", xgboost_jar)
+ env.set("XGBOOST_JAR", xgboost_jar)
def install(self, spec, prefix):
- sbt = which('sbt')
- sbt('assembly')
- install_tree('target', prefix.target)
+ sbt = which("sbt")
+ sbt("assembly")
+ install_tree("target", prefix.target)
diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py
index 5c47858928..0ba0850398 100644
--- a/var/spack/repos/builtin/packages/groff/package.py
+++ b/var/spack/repos/builtin/packages/groff/package.py
@@ -17,47 +17,50 @@ class Groff(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/groff/"
gnu_mirror_path = "groff/groff-1.22.3.tar.gz"
- tags = ['build-tools']
+ tags = ["build-tools"]
- version('1.22.4', sha256='e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293')
- version('1.22.3', sha256='3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5')
+ version("1.22.4", sha256="e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293")
+ version("1.22.3", sha256="3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5")
# TODO: add html variant, spack doesn't have netpbm and its too
# complicated for me to find out at this point in time.
# See brew scripts for groff for guidance:
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/groff.rb
# Seems troublesome...netpbm requires groff?
- variant('pdf', default=False, description='Build the `gropdf` executable.')
- variant('x', default=False, description='Enable set of graphical options')
- variant('uchardet', default=True,
- description='Builds preconv with uchardet library for '
- 'automatic file encoding detection')
-
- conflicts('+uchardet', when='@:1.22.3')
-
- depends_on('gawk', type='build')
- depends_on('gmake', type='build')
- depends_on('sed', type='build')
- depends_on('ghostscript', when='+pdf')
+ variant("pdf", default=False, description="Build the `gropdf` executable.")
+ variant("x", default=False, description="Enable set of graphical options")
+ variant(
+ "uchardet",
+ default=True,
+ description="Builds preconv with uchardet library for "
+ "automatic file encoding detection",
+ )
+
+ conflicts("+uchardet", when="@:1.22.3")
+
+ depends_on("gawk", type="build")
+ depends_on("gmake", type="build")
+ depends_on("sed", type="build")
+ depends_on("ghostscript", when="+pdf")
# iconv is being asked whatever the release
- depends_on('iconv')
+ depends_on("iconv")
# makeinfo is being searched for
- depends_on('texinfo', type='build', when='@1.22.4:')
+ depends_on("texinfo", type="build", when="@1.22.4:")
# configure complains when there is no uchardet that enhances preconv
- depends_on('uchardet', when='@1.22.4:')
- depends_on('pkgconfig', type='build')
+ depends_on("uchardet", when="@1.22.4:")
+ depends_on("pkgconfig", type="build")
- depends_on('libice', when='+x')
- depends_on('libxaw', when='+x')
- depends_on('libxmu', when='+x')
- depends_on('libx11', when='+x')
+ depends_on("libice", when="+x")
+ depends_on("libxaw", when="+x")
+ depends_on("libxmu", when="+x")
+ depends_on("libx11", when="+x")
# The perl interpreter line in scripts might be too long as it has
# not been transformed yet. Call scripts with spack perl explicitly.
- patch('BuildFoundries.patch', when='@1.22.3')
- patch('pdfmom.patch', when='@1.22.3')
+ patch("BuildFoundries.patch", when="@1.22.3")
+ patch("pdfmom.patch", when="@1.22.3")
- executables = ['^groff$']
+ executables = ["^groff$"]
@property
def parallel(self):
@@ -65,19 +68,19 @@ class Groff(AutotoolsPackage, GNUMirrorPackage):
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU groff version\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU groff version\s+(\S+)", output)
return match.group(1) if match else None
def configure_args(self):
- args = ['--disable-silent-rules']
- args.extend(self.with_or_without('x'))
- if '@1.22.4:' in self.spec:
- args.extend(self.with_or_without('uchardet'))
- args.append('--with-libiconv-prefix={0}'.format(self.spec['iconv'].prefix))
+ args = ["--disable-silent-rules"]
+ args.extend(self.with_or_without("x"))
+ if "@1.22.4:" in self.spec:
+ args.extend(self.with_or_without("uchardet"))
+ args.append("--with-libiconv-prefix={0}".format(self.spec["iconv"].prefix))
return args
def setup_run_environment(self, env):
- if self.spec.satisfies('+x'):
- dir = join_path(self.prefix.lib, 'X11', 'app-defaults')
- env.set_path('XFILESEARCHPATH', dir)
+ if self.spec.satisfies("+x"):
+ dir = join_path(self.prefix.lib, "X11", "app-defaults")
+ env.set_path("XFILESEARCHPATH", dir)
diff --git a/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py b/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
index eb9e54085d..8efdf457c1 100644
--- a/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
+++ b/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
@@ -13,20 +13,26 @@ class GromacsChainCoordinate(Gromacs):
coordinate for pore formation in membranes and stalk formation between membranes.
"""
- homepage = 'https://gitlab.com/cbjh/gromacs-chain-coordinate/-/blob/main/README.md'
- url = 'https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.2/gromacs-chain-coordinate-release-2021.chaincoord-0.2.tar.bz2'
- git = 'https://gitlab.com/cbjh/gromacs-chain-coordinate.git'
- maintainers = ['w8jcik']
+ homepage = "https://gitlab.com/cbjh/gromacs-chain-coordinate/-/blob/main/README.md"
+ url = "https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.2/gromacs-chain-coordinate-release-2021.chaincoord-0.2.tar.bz2"
+ git = "https://gitlab.com/cbjh/gromacs-chain-coordinate.git"
+ maintainers = ["w8jcik"]
- version('main', branch='main')
+ version("main", branch="main")
- version('2021.5-0.2', sha256='33dda1e39cd47c5ae32b5455af8534225d3888fd7e4968f499b8483620fa770a',
- url='https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.2/gromacs-chain-coordinate-release-2021.chaincoord-0.2.tar.bz2')
+ version(
+ "2021.5-0.2",
+ sha256="33dda1e39cd47c5ae32b5455af8534225d3888fd7e4968f499b8483620fa770a",
+ url="https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.2/gromacs-chain-coordinate-release-2021.chaincoord-0.2.tar.bz2",
+ )
- version('2021.2-0.1', sha256='879fdd04662370a76408b72c9fbc4aff60a6387b459322ac2700d27359d0dd87',
- url='https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.1/gromacs-chain-coordinate-release-2021.chaincoord-0.1.tar.bz2')
+ version(
+ "2021.2-0.1",
+ sha256="879fdd04662370a76408b72c9fbc4aff60a6387b459322ac2700d27359d0dd87",
+ url="https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.1/gromacs-chain-coordinate-release-2021.chaincoord-0.1.tar.bz2",
+ )
- conflicts('+plumed')
+ conflicts("+plumed")
def remove_parent_versions(self):
"""
@@ -46,7 +52,7 @@ class GromacsChainCoordinate(Gromacs):
def check(self):
"""The default 'test' targets does not compile the test programs"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
- self._if_make_target_execute('check')
- elif self.generator == 'Ninja':
- self._if_ninja_target_execute('check')
+ if self.generator == "Unix Makefiles":
+ self._if_make_target_execute("check")
+ elif self.generator == "Ninja":
+ self._if_ninja_target_execute("check")
diff --git a/var/spack/repos/builtin/packages/gromacs-swaxs/package.py b/var/spack/repos/builtin/packages/gromacs-swaxs/package.py
index f520d07136..f807443086 100644
--- a/var/spack/repos/builtin/packages/gromacs-swaxs/package.py
+++ b/var/spack/repos/builtin/packages/gromacs-swaxs/package.py
@@ -10,71 +10,132 @@ from spack.pkg.builtin.gromacs import Gromacs
class GromacsSwaxs(Gromacs):
"""Modified Gromacs for small-angle scattering calculations (SAXS/WAXS/SANS)"""
- homepage = 'https://biophys.uni-saarland.de/swaxs.html'
- url = 'https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2'
- git = 'https://gitlab.com/cbjh/gromacs-swaxs.git'
- maintainers = ['w8jcik']
-
- version('2021.5-0.4', sha256='9f8ed6d448a04789d45e847cbbc706a07130377f578388220a9d5357fae9d1c3',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.4/gromacs-swaxs-release-2021.swaxs-0.4.tar.bz2')
-
- version('2021.5-0.3', sha256='e05ea76610657e52e8293abff53ee9f16f4cffa508074e1e10132ed5fba97881',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.3/gromacs-swaxs-release-2021.swaxs-0.3.tar.bz2')
-
- version('2021.4-0.2', sha256='ea0dbe868d20e05c8fca337e0dddc16116a83fa7a6ac3a924942e9d00952ed62',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.2/gromacs-swaxs-release-2021.swaxs-0.2.tar.bz2')
-
- version('2021.4-0.1', sha256='eda1c8a7aae6001ef40480addf9fff9cdccc7e2b80480e36d069f50d6f2be26e', deprecated=True,
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.1/gromacs-swaxs-release-2021.swaxs-0.1.tar.bz2')
-
- version('2020.7-0.4', sha256='3eb0975ec92a89f6a3be548896307376974805ac685a9f776b0131a449a6b8a4',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.4/gromacs-swaxs-release-2020.swaxs-0.4.tar.bz2')
-
- version('2020.7-0.3', sha256='eb5902df079b8f86c56b62be695c0d17307c195b2cdd7cefb7e117466be83211',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.3/gromacs-swaxs-release-2020.swaxs-0.3.tar.bz2')
-
- version('2020.6-0.2', sha256='c22a7c6a0ee54eee1b3e224530f65e6f976a7aca5dc0f5ea22b2935a5a4357e9',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.2/gromacs-swaxs-release-2020.swaxs-0.2.tar.bz2')
-
- version('2020.6-0.1', sha256='3d8360a3cc9144772786bddaa11e3dbc37d6a466b99f3314bf3928261c2fddcf', deprecated=True,
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.1/gromacs-swaxs-release-2020.swaxs-0.1.tar.bz2')
-
- version('2019.6-0.3', sha256='1cf81592813333954bb1051321543f211d81f120a821a0c9386081e4cd367e84',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.3/gromacs-swaxs-release-2019.swaxs-0.3.tar.bz2')
-
- version('2019.6-0.2', sha256='a45eeee3983a4443d3a40ea417770f3abd93f43eb80e021fd9d6830e414565cb', deprecated=True,
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.2/gromacs-swaxs-release-2019.swaxs-0.2.tar.bz2')
-
- version('2019.6-0.1', sha256='91da09eed80646d6a1c500be78891bef22623a19795a9bc89adf9f2ec4f85635',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2')
-
- version('2018.8-0.4', sha256='465bbd234b6805209cf39c6bfa4f482c367b947742bb2b9a3d535d362f254dcb',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.4/gromacs-swaxs-release-2018.swaxs-0.4.tar.bz2')
-
- version('2018.8-0.3', sha256='5e94d636fda28e81ff1f3cff2c9f6e7f458bf496f4d1ed7bc10e911bd98b303c', deprecated=True,
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.3/gromacs-swaxs-release-2018.swaxs-0.3.tar.bz2')
-
- version('2018.8-0.2', sha256='f8bf0d363334a9117a2a8deb690dadaa826b73b57a761949c7846a13b84b5af5',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.2/gromacs-swaxs-release-2018.swaxs-0.2.tar.bz2')
-
- version('2018.8-0.1', sha256='478f45286dfedb8f01c2d5bf0773a391c2de2baf85283ef683e911bc43e24675',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.1/gromacs-swaxs-release-2018.swaxs-0.1.tar.bz2')
-
- version('2016.6-0.1', sha256='11e8ae6b3141f356bae72b595737a1f253b878d313169703ba33a69ded01a04e',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2016.swaxs-0.1/gromacs-swaxs-release-2016.swaxs-0.1.tar.bz2')
-
- version('5.1.5-0.3', sha256='a9e8382eec3cc0d943e1869f13945ea4a971a95a70eb314c1f26a17fa7d03792',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-1.swaxs-0.3/gromacs-swaxs-release-5-1.swaxs-0.3.tar.bz2')
-
- version('5.0.7-0.5', sha256='7f7f69726472a641a5443f1993a6e1fb8cfa9c74aeaf46e8c5d1db37005ece79',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-0.swaxs-0.5/gromacs-swaxs-release-5-0.swaxs-0.5.tar.bz2')
-
- version('4.6.7-0.8', sha256='1cfa34fe9ff543b665cd556f3395a9aa67f916110ba70255c97389eafe8315a2',
- url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-4-6.swaxs-0.8/gromacs-swaxs-release-4-6.swaxs-0.8.tar.bz2')
-
- conflicts('+plumed')
- conflicts('+opencl')
- conflicts('+sycl')
+ homepage = "https://biophys.uni-saarland.de/swaxs.html"
+ url = "https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2"
+ git = "https://gitlab.com/cbjh/gromacs-swaxs.git"
+ maintainers = ["w8jcik"]
+
+ version(
+ "2021.5-0.4",
+ sha256="9f8ed6d448a04789d45e847cbbc706a07130377f578388220a9d5357fae9d1c3",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.4/gromacs-swaxs-release-2021.swaxs-0.4.tar.bz2",
+ )
+
+ version(
+ "2021.5-0.3",
+ sha256="e05ea76610657e52e8293abff53ee9f16f4cffa508074e1e10132ed5fba97881",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.3/gromacs-swaxs-release-2021.swaxs-0.3.tar.bz2",
+ )
+
+ version(
+ "2021.4-0.2",
+ sha256="ea0dbe868d20e05c8fca337e0dddc16116a83fa7a6ac3a924942e9d00952ed62",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.2/gromacs-swaxs-release-2021.swaxs-0.2.tar.bz2",
+ )
+
+ version(
+ "2021.4-0.1",
+ sha256="eda1c8a7aae6001ef40480addf9fff9cdccc7e2b80480e36d069f50d6f2be26e",
+ deprecated=True,
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.1/gromacs-swaxs-release-2021.swaxs-0.1.tar.bz2",
+ )
+
+ version(
+ "2020.7-0.4",
+ sha256="3eb0975ec92a89f6a3be548896307376974805ac685a9f776b0131a449a6b8a4",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.4/gromacs-swaxs-release-2020.swaxs-0.4.tar.bz2",
+ )
+
+ version(
+ "2020.7-0.3",
+ sha256="eb5902df079b8f86c56b62be695c0d17307c195b2cdd7cefb7e117466be83211",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.3/gromacs-swaxs-release-2020.swaxs-0.3.tar.bz2",
+ )
+
+ version(
+ "2020.6-0.2",
+ sha256="c22a7c6a0ee54eee1b3e224530f65e6f976a7aca5dc0f5ea22b2935a5a4357e9",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.2/gromacs-swaxs-release-2020.swaxs-0.2.tar.bz2",
+ )
+
+ version(
+ "2020.6-0.1",
+ sha256="3d8360a3cc9144772786bddaa11e3dbc37d6a466b99f3314bf3928261c2fddcf",
+ deprecated=True,
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.1/gromacs-swaxs-release-2020.swaxs-0.1.tar.bz2",
+ )
+
+ version(
+ "2019.6-0.3",
+ sha256="1cf81592813333954bb1051321543f211d81f120a821a0c9386081e4cd367e84",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.3/gromacs-swaxs-release-2019.swaxs-0.3.tar.bz2",
+ )
+
+ version(
+ "2019.6-0.2",
+ sha256="a45eeee3983a4443d3a40ea417770f3abd93f43eb80e021fd9d6830e414565cb",
+ deprecated=True,
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.2/gromacs-swaxs-release-2019.swaxs-0.2.tar.bz2",
+ )
+
+ version(
+ "2019.6-0.1",
+ sha256="91da09eed80646d6a1c500be78891bef22623a19795a9bc89adf9f2ec4f85635",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2",
+ )
+
+ version(
+ "2018.8-0.4",
+ sha256="465bbd234b6805209cf39c6bfa4f482c367b947742bb2b9a3d535d362f254dcb",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.4/gromacs-swaxs-release-2018.swaxs-0.4.tar.bz2",
+ )
+
+ version(
+ "2018.8-0.3",
+ sha256="5e94d636fda28e81ff1f3cff2c9f6e7f458bf496f4d1ed7bc10e911bd98b303c",
+ deprecated=True,
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.3/gromacs-swaxs-release-2018.swaxs-0.3.tar.bz2",
+ )
+
+ version(
+ "2018.8-0.2",
+ sha256="f8bf0d363334a9117a2a8deb690dadaa826b73b57a761949c7846a13b84b5af5",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.2/gromacs-swaxs-release-2018.swaxs-0.2.tar.bz2",
+ )
+
+ version(
+ "2018.8-0.1",
+ sha256="478f45286dfedb8f01c2d5bf0773a391c2de2baf85283ef683e911bc43e24675",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.1/gromacs-swaxs-release-2018.swaxs-0.1.tar.bz2",
+ )
+
+ version(
+ "2016.6-0.1",
+ sha256="11e8ae6b3141f356bae72b595737a1f253b878d313169703ba33a69ded01a04e",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2016.swaxs-0.1/gromacs-swaxs-release-2016.swaxs-0.1.tar.bz2",
+ )
+
+ version(
+ "5.1.5-0.3",
+ sha256="a9e8382eec3cc0d943e1869f13945ea4a971a95a70eb314c1f26a17fa7d03792",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-1.swaxs-0.3/gromacs-swaxs-release-5-1.swaxs-0.3.tar.bz2",
+ )
+
+ version(
+ "5.0.7-0.5",
+ sha256="7f7f69726472a641a5443f1993a6e1fb8cfa9c74aeaf46e8c5d1db37005ece79",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-0.swaxs-0.5/gromacs-swaxs-release-5-0.swaxs-0.5.tar.bz2",
+ )
+
+ version(
+ "4.6.7-0.8",
+ sha256="1cfa34fe9ff543b665cd556f3395a9aa67f916110ba70255c97389eafe8315a2",
+ url="https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-4-6.swaxs-0.8/gromacs-swaxs-release-4-6.swaxs-0.8.tar.bz2",
+ )
+
+ conflicts("+plumed")
+ conflicts("+opencl")
+ conflicts("+sycl")
def remove_parent_versions(self):
"""
diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py
index 37eecd3abe..0fd699278a 100644
--- a/var/spack/repos/builtin/packages/gromacs/package.py
+++ b/var/spack/repos/builtin/packages/gromacs/package.py
@@ -21,92 +21,110 @@ class Gromacs(CMakePackage):
GROMACS is released under the GNU Lesser General Public License.
"""
- homepage = 'https://www.gromacs.org'
- url = 'https://ftp.gromacs.org/gromacs/gromacs-2022.2.tar.gz'
- list_url = 'https://ftp.gromacs.org/gromacs'
- git = 'https://gitlab.com/gromacs/gromacs.git'
- maintainers = ['junghans', 'marvinbernhardt']
-
- version('main', branch='main')
- version('master', branch='main', deprecated=True)
- version('2022.2', sha256='656404f884d2fa2244c97d2a5b92af148d0dbea94ad13004724b3fcbf45e01bf')
- version('2022.1', sha256='85ddab5197d79524a702c4959c2c43be875e0fc471df3a35224939dce8512450')
- version('2022', sha256='fad60d606c02e6164018692c6c9f2c159a9130c2bf32e8c5f4f1b6ba2dda2b68')
- version('2021.6', sha256='52df2c1d7586fd028d9397985c68bd6dd26e6e905ead382b7e6c473d087902c3')
- version('2021.5', sha256='eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6')
- version('2021.4', sha256='cb708a3e3e83abef5ba475fdb62ef8d42ce8868d68f52dafdb6702dc9742ba1d')
- version('2021.3', sha256='e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6')
- version('2021.2', sha256='d940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb')
- version('2021.1', sha256='bc1d0a75c134e1fb003202262fe10d3d32c59bbb40d714bc3e5015c71effe1e5')
- version('2021', sha256='efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b')
- version('2020.7', sha256='744158d8f61b0d36ffe89ec934519b7e0981a7af438897740160da648d36c2f0')
- version('2020.6', sha256='d8bbe57ed3c9925a8cb99ecfe39e217f930bed47d5268a9e42b33da544bdb2ee')
- version('2020.5', sha256='7b6aff647f7c8ee1bf12204d02cef7c55f44402a73195bd5f42cf11850616478')
- version('2020.4', sha256='5519690321b5500c7951aaf53ff624042c3edd1a5f5d6dd1f2d802a3ecdbf4e6')
- version('2020.3', sha256='903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9')
- version('2020.2', sha256='7465e4cd616359d84489d919ec9e4b1aaf51f0a4296e693c249e83411b7bd2f3')
- version('2020.1', sha256='e1666558831a3951c02b81000842223698016922806a8ce152e8f616e29899cf')
- version('2020', sha256='477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01')
- version('2019.6', sha256='bebe396dc0db11a9d4cc205abc13b50d88225617642508168a2195324f06a358')
- version('2019.5', sha256='438061a4a2d45bbb5cf5c3aadd6c6df32d2d77ce8c715f1c8ffe56156994083a')
- version('2019.4', sha256='ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867')
- version('2019.3', sha256='4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573')
- version('2019.2', sha256='bcbf5cc071926bc67baa5be6fb04f0986a2b107e1573e15fadcb7d7fc4fb9f7e')
- version('2019.1', sha256='b2c37ed2fcd0e64c4efcabdc8ee581143986527192e6e647a197c76d9c4583ec')
- version('2019', sha256='c5b281a5f0b5b4eeb1f4c7d4dc72f96985b566561ca28acc9c7c16f6ee110d0b')
- version('2018.8', sha256='776923415df4bc78869d7f387c834141fdcda930b2e75be979dc59ecfa6ebecf')
- version('2018.5', sha256='32261df6f7ec4149fc0508f9af416953d056e281590359838c1ed6644ba097b8')
- version('2018.4', sha256='6f2ee458c730994a8549d6b4f601ecfc9432731462f8bd4ffa35d330d9aaa891')
- version('2018.3', sha256='4423a49224972969c52af7b1f151579cea6ab52148d8d7cbae28c183520aa291')
- version('2018.2', sha256='4bdde8120c510b6543afb4b18f82551fddb11851f7edbd814aa24022c5d37857')
- version('2018.1', sha256='4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd')
- version('2018', sha256='deb5d0b749a52a0c6083367b5f50a99e08003208d81954fb49e7009e1b1fd0e9')
- version('2016.6', sha256='bac0117d2cad21f9b94fe5b854fb9ae7435b098a6da4e732ee745f18e52473d7')
- version('2016.5', sha256='57db26c6d9af84710a1e0c47a1f5bf63a22641456448dcd2eeb556ebd14e0b7c')
- version('2016.4', sha256='4be9d3bfda0bdf3b5c53041e0b8344f7d22b75128759d9bfa9442fe65c289264')
- version('2016.3', sha256='7bf00e74a9d38b7cef9356141d20e4ba9387289cbbfd4d11be479ef932d77d27')
- version('5.1.5', sha256='c25266abf07690ecad16ed3996899b1d489cbb1ef733a1befb3b5c75c91a703e')
- version('5.1.4', sha256='0f3793d8f1f0be747cf9ebb0b588fb2b2b5dc5acc32c3046a7bee2d2c03437bc')
- version('5.1.2', sha256='39d6f1d7ae8ba38cea6089da40676bfa4049a49903d21551abc030992a58f304')
- version('4.6.7', sha256='6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9')
- version('4.5.5', sha256='e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba')
-
- variant('mpi', default=True, description='Activate MPI support (disable for Thread-MPI support)')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ homepage = "https://www.gromacs.org"
+ url = "https://ftp.gromacs.org/gromacs/gromacs-2022.2.tar.gz"
+ list_url = "https://ftp.gromacs.org/gromacs"
+ git = "https://gitlab.com/gromacs/gromacs.git"
+ maintainers = ["junghans", "marvinbernhardt"]
+
+ version("main", branch="main")
+ version("master", branch="main", deprecated=True)
+ version("2022.2", sha256="656404f884d2fa2244c97d2a5b92af148d0dbea94ad13004724b3fcbf45e01bf")
+ version("2022.1", sha256="85ddab5197d79524a702c4959c2c43be875e0fc471df3a35224939dce8512450")
+ version("2022", sha256="fad60d606c02e6164018692c6c9f2c159a9130c2bf32e8c5f4f1b6ba2dda2b68")
+ version("2021.6", sha256="52df2c1d7586fd028d9397985c68bd6dd26e6e905ead382b7e6c473d087902c3")
+ version("2021.5", sha256="eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6")
+ version("2021.4", sha256="cb708a3e3e83abef5ba475fdb62ef8d42ce8868d68f52dafdb6702dc9742ba1d")
+ version("2021.3", sha256="e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6")
+ version("2021.2", sha256="d940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb")
+ version("2021.1", sha256="bc1d0a75c134e1fb003202262fe10d3d32c59bbb40d714bc3e5015c71effe1e5")
+ version("2021", sha256="efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b")
+ version("2020.7", sha256="744158d8f61b0d36ffe89ec934519b7e0981a7af438897740160da648d36c2f0")
+ version("2020.6", sha256="d8bbe57ed3c9925a8cb99ecfe39e217f930bed47d5268a9e42b33da544bdb2ee")
+ version("2020.5", sha256="7b6aff647f7c8ee1bf12204d02cef7c55f44402a73195bd5f42cf11850616478")
+ version("2020.4", sha256="5519690321b5500c7951aaf53ff624042c3edd1a5f5d6dd1f2d802a3ecdbf4e6")
+ version("2020.3", sha256="903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9")
+ version("2020.2", sha256="7465e4cd616359d84489d919ec9e4b1aaf51f0a4296e693c249e83411b7bd2f3")
+ version("2020.1", sha256="e1666558831a3951c02b81000842223698016922806a8ce152e8f616e29899cf")
+ version("2020", sha256="477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01")
+ version("2019.6", sha256="bebe396dc0db11a9d4cc205abc13b50d88225617642508168a2195324f06a358")
+ version("2019.5", sha256="438061a4a2d45bbb5cf5c3aadd6c6df32d2d77ce8c715f1c8ffe56156994083a")
+ version("2019.4", sha256="ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867")
+ version("2019.3", sha256="4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573")
+ version("2019.2", sha256="bcbf5cc071926bc67baa5be6fb04f0986a2b107e1573e15fadcb7d7fc4fb9f7e")
+ version("2019.1", sha256="b2c37ed2fcd0e64c4efcabdc8ee581143986527192e6e647a197c76d9c4583ec")
+ version("2019", sha256="c5b281a5f0b5b4eeb1f4c7d4dc72f96985b566561ca28acc9c7c16f6ee110d0b")
+ version("2018.8", sha256="776923415df4bc78869d7f387c834141fdcda930b2e75be979dc59ecfa6ebecf")
+ version("2018.5", sha256="32261df6f7ec4149fc0508f9af416953d056e281590359838c1ed6644ba097b8")
+ version("2018.4", sha256="6f2ee458c730994a8549d6b4f601ecfc9432731462f8bd4ffa35d330d9aaa891")
+ version("2018.3", sha256="4423a49224972969c52af7b1f151579cea6ab52148d8d7cbae28c183520aa291")
+ version("2018.2", sha256="4bdde8120c510b6543afb4b18f82551fddb11851f7edbd814aa24022c5d37857")
+ version("2018.1", sha256="4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd")
+ version("2018", sha256="deb5d0b749a52a0c6083367b5f50a99e08003208d81954fb49e7009e1b1fd0e9")
+ version("2016.6", sha256="bac0117d2cad21f9b94fe5b854fb9ae7435b098a6da4e732ee745f18e52473d7")
+ version("2016.5", sha256="57db26c6d9af84710a1e0c47a1f5bf63a22641456448dcd2eeb556ebd14e0b7c")
+ version("2016.4", sha256="4be9d3bfda0bdf3b5c53041e0b8344f7d22b75128759d9bfa9442fe65c289264")
+ version("2016.3", sha256="7bf00e74a9d38b7cef9356141d20e4ba9387289cbbfd4d11be479ef932d77d27")
+ version("5.1.5", sha256="c25266abf07690ecad16ed3996899b1d489cbb1ef733a1befb3b5c75c91a703e")
+ version("5.1.4", sha256="0f3793d8f1f0be747cf9ebb0b588fb2b2b5dc5acc32c3046a7bee2d2c03437bc")
+ version("5.1.2", sha256="39d6f1d7ae8ba38cea6089da40676bfa4049a49903d21551abc030992a58f304")
+ version("4.6.7", sha256="6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9")
+ version("4.5.5", sha256="e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba")
+
+ variant(
+ "mpi", default=True, description="Activate MPI support (disable for Thread-MPI support)"
+ )
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant(
+ "double",
+ default=False,
+ description="Produces a double precision version of the executables",
+ )
+ variant("plumed", default=False, description="Enable PLUMED support")
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("opencl", default=False, description="Enable OpenCL support")
+ variant("sycl", default=False, description="Enable SYCL support")
+ variant("nosuffix", default=False, description="Disable default suffixes")
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=(
+ "Debug",
+ "Release",
+ "RelWithDebInfo",
+ "MinSizeRel",
+ "Reference",
+ "RelWithAssert",
+ "Profile",
+ ),
+ )
variant(
- 'double', default=False,
- description='Produces a double precision version of the executables')
- variant('plumed', default=False, description='Enable PLUMED support')
- variant('cuda', default=False, description='Enable CUDA support')
- variant('opencl', default=False, description='Enable OpenCL support')
- variant('sycl', default=False, description='Enable SYCL support')
- variant('nosuffix', default=False, description='Disable default suffixes')
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel',
- 'Reference', 'RelWithAssert', 'Profile'))
- variant('mdrun_only', default=False,
- description='Enables the build of a cut-down version'
- ' of libgromacs and/or the mdrun program')
- conflicts('+mdrun_only', when='@2021:',
- msg='mdrun-only build option was removed for GROMACS 2021.')
- variant('openmp', default=True,
- description='Enables OpenMP at configure time')
- variant('relaxed_double_precision', default=False,
- description='GMX_RELAXED_DOUBLE_PRECISION, use only for Fujitsu PRIMEHPC')
- conflicts('+relaxed_double_precision', when='@2021:',
- msg='GMX_RELAXED_DOUBLE_PRECISION option removed for GROMACS 2021.')
- variant('hwloc', default=True,
- description='Use the hwloc portable hardware locality library')
- variant('lapack', default=False,
- description='Enables an external LAPACK library')
- variant('blas', default=False,
- description='Enables an external BLAS library')
- variant('cycle_subcounters', default=False,
- description='Enables cycle subcounters')
-
- depends_on('mpi', when='+mpi')
+ "mdrun_only",
+ default=False,
+ description="Enables the build of a cut-down version"
+ " of libgromacs and/or the mdrun program",
+ )
+ conflicts(
+ "+mdrun_only", when="@2021:", msg="mdrun-only build option was removed for GROMACS 2021."
+ )
+ variant("openmp", default=True, description="Enables OpenMP at configure time")
+ variant(
+ "relaxed_double_precision",
+ default=False,
+ description="GMX_RELAXED_DOUBLE_PRECISION, use only for Fujitsu PRIMEHPC",
+ )
+ conflicts(
+ "+relaxed_double_precision",
+ when="@2021:",
+ msg="GMX_RELAXED_DOUBLE_PRECISION option removed for GROMACS 2021.",
+ )
+ variant("hwloc", default=True, description="Use the hwloc portable hardware locality library")
+ variant("lapack", default=False, description="Enables an external LAPACK library")
+ variant("blas", default=False, description="Enables an external BLAS library")
+ variant("cycle_subcounters", default=False, description="Enables cycle subcounters")
+
+ depends_on("mpi", when="+mpi")
# Plumed 2.8.0 needs Gromacs 2021.4, 2020.6, 2019.6
# Plumed 2.7.4 needs Gromacs 2021.4, 2020.6, 2019.6
@@ -134,85 +152,95 @@ class Gromacs(CMakePackage):
# https://github.com/plumed/plumed2/tree/v2.7.1/patches
# and switching tags.
- depends_on('plumed+mpi', when='+plumed+mpi')
- depends_on('plumed~mpi', when='+plumed~mpi')
- depends_on('plumed@2.7.3:2.8.0+mpi', when='@2021.4+plumed+mpi')
- depends_on('plumed@2.7.3:2.8.0~mpi', when='@2021.4+plumed~mpi')
- depends_on('plumed@2.7.1:2.7.2+mpi', when='@2021+plumed+mpi')
- depends_on('plumed@2.7.1:2.7.2~mpi', when='@2021+plumed~mpi')
- depends_on('plumed@2.7.2:2.8+mpi', when='@2020.6+plumed+mpi')
- depends_on('plumed@2.7.2:2.8~mpi', when='@2020.6+plumed~mpi')
- depends_on('plumed@2.7.1+mpi', when='@2020.5+plumed+mpi')
- depends_on('plumed@2.7.1~mpi', when='@2020.5+plumed~mpi')
- depends_on('plumed@2.6.2:2.7.0+mpi', when='@2020.4+plumed+mpi')
- depends_on('plumed@2.6.2:2.7.0~mpi', when='@2020.4+plumed~mpi')
- depends_on('plumed@2.6.1+mpi', when='@2020.2+plumed+mpi')
- depends_on('plumed@2.6.1~mpi', when='@2020.2+plumed~mpi')
- depends_on('plumed@2.6.1:2.8.0+mpi', when='@2019.6+plumed+mpi')
- depends_on('plumed@2.6.1:2.8.0~mpi', when='@2019.6+plumed~mpi')
- depends_on('plumed@2.5.3:2.6.0+mpi', when='@2019.4+plumed+mpi')
- depends_on('plumed@2.5.3:2.6.0~mpi', when='@2019.4+plumed~mpi')
- depends_on('plumed@2.5.2+mpi', when='@2019.2+plumed+mpi')
- depends_on('plumed@2.5.2~mpi', when='@2019.2+plumed~mpi')
- depends_on('plumed@2.5.3:2.6+mpi', when='@2018.8+plumed+mpi')
- depends_on('plumed@2.5.3:2.6~mpi', when='@2018.8+plumed~mpi')
- depends_on('plumed@2.5.1:2.5.2+mpi', when='@2018.6+plumed+mpi')
- depends_on('plumed@2.5.1:2.5.2~mpi', when='@2018.6+plumed~mpi')
- depends_on('plumed@2.5.0+mpi', when='@2018.4+plumed+mpi')
- depends_on('plumed@2.5.0~mpi', when='@2018.4+plumed~mpi')
- depends_on('plumed@2.5.1:2.5+mpi', when='@2016.6+plumed+mpi')
- depends_on('plumed@2.5.1:2.5~mpi', when='@2016.6+plumed~mpi')
- depends_on('plumed@2.5.0+mpi', when='@2016.5+plumed+mpi')
- depends_on('plumed@2.5.0~mpi', when='@2016.5+plumed~mpi')
-
- depends_on('fftw-api@3')
- depends_on('cmake@2.8.8:3', type='build')
- depends_on('cmake@3.4.3:3', type='build', when='@2018:')
- depends_on('cmake@3.9.6:3', type='build', when='@2020')
- depends_on('cmake@3.13.0:3', type='build', when='@2021:')
- depends_on('cmake@3.16.0:3', type='build', when='@master')
- depends_on('cmake@3.16.0:3', type='build', when='%fj')
- depends_on('cuda', when='+cuda')
- depends_on('sycl', when='+sycl')
- depends_on('lapack', when='+lapack')
- depends_on('blas', when='+blas')
-
- depends_on('hwloc@1.0:1', when='+hwloc@2016:2018')
- depends_on('hwloc', when='+hwloc@2019:')
-
- patch('gmxDetectCpu-cmake-3.14.patch', when='@2018:2019.3^cmake@3.14.0:')
- patch('gmxDetectSimd-cmake-3.14.patch', when='@5.0:2017^cmake@3.14.0:')
+ depends_on("plumed+mpi", when="+plumed+mpi")
+ depends_on("plumed~mpi", when="+plumed~mpi")
+ depends_on("plumed@2.7.3:2.8.0+mpi", when="@2021.4+plumed+mpi")
+ depends_on("plumed@2.7.3:2.8.0~mpi", when="@2021.4+plumed~mpi")
+ depends_on("plumed@2.7.1:2.7.2+mpi", when="@2021+plumed+mpi")
+ depends_on("plumed@2.7.1:2.7.2~mpi", when="@2021+plumed~mpi")
+ depends_on("plumed@2.7.2:2.8+mpi", when="@2020.6+plumed+mpi")
+ depends_on("plumed@2.7.2:2.8~mpi", when="@2020.6+plumed~mpi")
+ depends_on("plumed@2.7.1+mpi", when="@2020.5+plumed+mpi")
+ depends_on("plumed@2.7.1~mpi", when="@2020.5+plumed~mpi")
+ depends_on("plumed@2.6.2:2.7.0+mpi", when="@2020.4+plumed+mpi")
+ depends_on("plumed@2.6.2:2.7.0~mpi", when="@2020.4+plumed~mpi")
+ depends_on("plumed@2.6.1+mpi", when="@2020.2+plumed+mpi")
+ depends_on("plumed@2.6.1~mpi", when="@2020.2+plumed~mpi")
+ depends_on("plumed@2.6.1:2.8.0+mpi", when="@2019.6+plumed+mpi")
+ depends_on("plumed@2.6.1:2.8.0~mpi", when="@2019.6+plumed~mpi")
+ depends_on("plumed@2.5.3:2.6.0+mpi", when="@2019.4+plumed+mpi")
+ depends_on("plumed@2.5.3:2.6.0~mpi", when="@2019.4+plumed~mpi")
+ depends_on("plumed@2.5.2+mpi", when="@2019.2+plumed+mpi")
+ depends_on("plumed@2.5.2~mpi", when="@2019.2+plumed~mpi")
+ depends_on("plumed@2.5.3:2.6+mpi", when="@2018.8+plumed+mpi")
+ depends_on("plumed@2.5.3:2.6~mpi", when="@2018.8+plumed~mpi")
+ depends_on("plumed@2.5.1:2.5.2+mpi", when="@2018.6+plumed+mpi")
+ depends_on("plumed@2.5.1:2.5.2~mpi", when="@2018.6+plumed~mpi")
+ depends_on("plumed@2.5.0+mpi", when="@2018.4+plumed+mpi")
+ depends_on("plumed@2.5.0~mpi", when="@2018.4+plumed~mpi")
+ depends_on("plumed@2.5.1:2.5+mpi", when="@2016.6+plumed+mpi")
+ depends_on("plumed@2.5.1:2.5~mpi", when="@2016.6+plumed~mpi")
+ depends_on("plumed@2.5.0+mpi", when="@2016.5+plumed+mpi")
+ depends_on("plumed@2.5.0~mpi", when="@2016.5+plumed~mpi")
+
+ depends_on("fftw-api@3")
+ depends_on("cmake@2.8.8:3", type="build")
+ depends_on("cmake@3.4.3:3", type="build", when="@2018:")
+ depends_on("cmake@3.9.6:3", type="build", when="@2020")
+ depends_on("cmake@3.13.0:3", type="build", when="@2021:")
+ depends_on("cmake@3.16.0:3", type="build", when="@master")
+ depends_on("cmake@3.16.0:3", type="build", when="%fj")
+ depends_on("cuda", when="+cuda")
+ depends_on("sycl", when="+sycl")
+ depends_on("lapack", when="+lapack")
+ depends_on("blas", when="+blas")
+
+ depends_on("hwloc@1.0:1", when="+hwloc@2016:2018")
+ depends_on("hwloc", when="+hwloc@2019:")
+
+ patch("gmxDetectCpu-cmake-3.14.patch", when="@2018:2019.3^cmake@3.14.0:")
+ patch("gmxDetectSimd-cmake-3.14.patch", when="@5.0:2017^cmake@3.14.0:")
filter_compiler_wrappers(
- '*.cmake',
- relative_root=os.path.join('share', 'cmake', 'gromacs_mpi'))
- filter_compiler_wrappers(
- '*.cmake',
- relative_root=os.path.join('share', 'cmake', 'gromacs'))
+ "*.cmake", relative_root=os.path.join("share", "cmake", "gromacs_mpi")
+ )
+ filter_compiler_wrappers("*.cmake", relative_root=os.path.join("share", "cmake", "gromacs"))
def patch(self):
# Otherwise build fails with GCC 11 (11.2)
- if self.spec.satisfies('@2018:2020.6'):
- filter_file('#include <vector>', '#include <vector>\n#include <limits>',
- 'src/gromacs/awh/biasparams.h')
- if self.spec.satisfies('@2018:2018.8'):
- filter_file('#include <vector>', '#include <vector>\n#include <limits>',
- 'src/gromacs/mdlib/minimize.cpp')
- if self.spec.satisfies('@2019:2019.6,2020:2020.6'):
- filter_file('#include <vector>', '#include <vector>\n#include <limits>',
- 'src/gromacs/mdrun/minimize.cpp')
- if self.spec.satisfies('@2020:2020.6'):
- filter_file('#include <queue>', '#include <queue>\n#include <limits>',
- 'src/gromacs/modularsimulator/modularsimulator.h')
-
- if '+plumed' in self.spec:
- self.spec['plumed'].package.apply_patch(self)
-
- if self.spec.satisfies('%nvhpc'):
+ if self.spec.satisfies("@2018:2020.6"):
+ filter_file(
+ "#include <vector>",
+ "#include <vector>\n#include <limits>",
+ "src/gromacs/awh/biasparams.h",
+ )
+ if self.spec.satisfies("@2018:2018.8"):
+ filter_file(
+ "#include <vector>",
+ "#include <vector>\n#include <limits>",
+ "src/gromacs/mdlib/minimize.cpp",
+ )
+ if self.spec.satisfies("@2019:2019.6,2020:2020.6"):
+ filter_file(
+ "#include <vector>",
+ "#include <vector>\n#include <limits>",
+ "src/gromacs/mdrun/minimize.cpp",
+ )
+ if self.spec.satisfies("@2020:2020.6"):
+ filter_file(
+ "#include <queue>",
+ "#include <queue>\n#include <limits>",
+ "src/gromacs/modularsimulator/modularsimulator.h",
+ )
+
+ if "+plumed" in self.spec:
+ self.spec["plumed"].package.apply_patch(self)
+
+ if self.spec.satisfies("%nvhpc"):
# Disable obsolete workaround
- filter_file('ifdef __PGI', 'if 0', 'src/gromacs/fileio/xdrf.h')
+ filter_file("ifdef __PGI", "if 0", "src/gromacs/fileio/xdrf.h")
- if '+cuda' in self.spec:
+ if "+cuda" in self.spec:
# Upstream supports building of last two major versions of Gromacs.
# Older versions of Gromacs need to be patched to build with more recent
# versions of CUDA library.
@@ -220,217 +248,229 @@ class Gromacs(CMakePackage):
# Hardware version 3.0 is supported up to CUDA 10.2 (Gromacs 4.6-2020.3
# needs to be patched, 2020.4 is handling it correctly)
- if self.spec.satisfies('@4.6:2020.3^cuda@11:'):
- filter_file(r'-gencode;arch=compute_30,code=sm_30;?', '',
- 'cmake/gmxManageNvccConfig.cmake')
- filter_file(r'-gencode;arch=compute_30,code=compute_30;?', '',
- 'cmake/gmxManageNvccConfig.cmake')
+ if self.spec.satisfies("@4.6:2020.3^cuda@11:"):
+ filter_file(
+ r"-gencode;arch=compute_30,code=sm_30;?", "", "cmake/gmxManageNvccConfig.cmake"
+ )
+ filter_file(
+ r"-gencode;arch=compute_30,code=compute_30;?",
+ "",
+ "cmake/gmxManageNvccConfig.cmake",
+ )
# Hardware version 2.0 is supported up to CUDA 8 (Gromacs 4.6-2016.3
# needs to be patched, 2016.4 is handling it correctly, removed in 2019)
- if self.spec.satisfies('@4.6:2016.3^cuda@9:'):
- filter_file(r'-gencode;arch=compute_20,code=sm_20;?', '',
- 'cmake/gmxManageNvccConfig.cmake')
- filter_file(r'-gencode;arch=compute_20,code=compute_20;?', '',
- 'cmake/gmxManageNvccConfig.cmake')
+ if self.spec.satisfies("@4.6:2016.3^cuda@9:"):
+ filter_file(
+ r"-gencode;arch=compute_20,code=sm_20;?", "", "cmake/gmxManageNvccConfig.cmake"
+ )
+ filter_file(
+ r"-gencode;arch=compute_20,code=compute_20;?",
+ "",
+ "cmake/gmxManageNvccConfig.cmake",
+ )
- if self.spec.satisfies('@4.6:5.0^cuda@9:'):
- filter_file(r'-gencode;arch=compute_20,code=sm_21;?', '',
- 'cmake/gmxManageNvccConfig.cmake')
+ if self.spec.satisfies("@4.6:5.0^cuda@9:"):
+ filter_file(
+ r"-gencode;arch=compute_20,code=sm_21;?", "", "cmake/gmxManageNvccConfig.cmake"
+ )
def cmake_args(self):
options = []
- if '+mpi' in self.spec:
- options.append('-DGMX_MPI:BOOL=ON')
- if self.version < Version('2020'):
+ if "+mpi" in self.spec:
+ options.append("-DGMX_MPI:BOOL=ON")
+ if self.version < Version("2020"):
# Ensures gmxapi builds properly
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % self.spec['mpi'].mpifc,
- ])
- elif self.version == Version('2021'):
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc,
+ ]
+ )
+ elif self.version == Version("2021"):
# Work around https://gitlab.com/gromacs/gromacs/-/issues/3896
# Ensures gmxapi builds properly
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx,
- ])
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ ]
+ )
else:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spack_cc,
- '-DCMAKE_CXX_COMPILER=%s' % spack_cxx,
- '-DMPI_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- '-DMPI_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx
- ])
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spack_cc,
+ "-DCMAKE_CXX_COMPILER=%s" % spack_cxx,
+ "-DMPI_C_COMPILER=%s" % self.spec["mpi"].mpicc,
+ "-DMPI_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ ]
+ )
else:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spack_cc,
- '-DCMAKE_CXX_COMPILER=%s' % spack_cxx,
- '-DGMX_MPI:BOOL=OFF',
- '-DGMX_THREAD_MPI:BOOL=ON'])
-
- if self.spec.satisfies('@2020:'):
- options.append('-DGMX_INSTALL_LEGACY_API=ON')
-
- if '+double' in self.spec:
- options.append('-DGMX_DOUBLE:BOOL=ON')
-
- if '+nosuffix' in self.spec:
- options.append('-DGMX_DEFAULT_SUFFIX:BOOL=OFF')
-
- if '~shared' in self.spec:
- options.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
- options.append('-DGMXAPI:BOOL=OFF')
-
- if '+hwloc' in self.spec:
- options.append('-DGMX_HWLOC:BOOL=ON')
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spack_cc,
+ "-DCMAKE_CXX_COMPILER=%s" % spack_cxx,
+ "-DGMX_MPI:BOOL=OFF",
+ "-DGMX_THREAD_MPI:BOOL=ON",
+ ]
+ )
+
+ if self.spec.satisfies("@2020:"):
+ options.append("-DGMX_INSTALL_LEGACY_API=ON")
+
+ if "+double" in self.spec:
+ options.append("-DGMX_DOUBLE:BOOL=ON")
+
+ if "+nosuffix" in self.spec:
+ options.append("-DGMX_DEFAULT_SUFFIX:BOOL=OFF")
+
+ if "~shared" in self.spec:
+ options.append("-DBUILD_SHARED_LIBS:BOOL=OFF")
+ options.append("-DGMXAPI:BOOL=OFF")
+
+ if "+hwloc" in self.spec:
+ options.append("-DGMX_HWLOC:BOOL=ON")
else:
- options.append('-DGMX_HWLOC:BOOL=OFF')
-
- if self.version >= Version('2021'):
- if '+cuda' in self.spec:
- options.append('-DGMX_GPU:STRING=CUDA')
- elif '+opencl' in self.spec:
- options.append('-DGMX_GPU:STRING=OpenCL')
- elif '+sycl' in self.spec:
- options.append('-DGMX_GPU:STRING=SYCL')
+ options.append("-DGMX_HWLOC:BOOL=OFF")
+
+ if self.version >= Version("2021"):
+ if "+cuda" in self.spec:
+ options.append("-DGMX_GPU:STRING=CUDA")
+ elif "+opencl" in self.spec:
+ options.append("-DGMX_GPU:STRING=OpenCL")
+ elif "+sycl" in self.spec:
+ options.append("-DGMX_GPU:STRING=SYCL")
else:
- options.append('-DGMX_GPU:STRING=OFF')
+ options.append("-DGMX_GPU:STRING=OFF")
else:
- if '+cuda' in self.spec or '+opencl' in self.spec:
- options.append('-DGMX_GPU:BOOL=ON')
+ if "+cuda" in self.spec or "+opencl" in self.spec:
+ options.append("-DGMX_GPU:BOOL=ON")
else:
- options.append('-DGMX_GPU:BOOL=OFF')
+ options.append("-DGMX_GPU:BOOL=OFF")
- if '+cuda' in self.spec:
- options.append('-DCUDA_TOOLKIT_ROOT_DIR:STRING=' +
- self.spec['cuda'].prefix)
+ if "+cuda" in self.spec:
+ options.append("-DCUDA_TOOLKIT_ROOT_DIR:STRING=" + self.spec["cuda"].prefix)
- if '+opencl' in self.spec:
- options.append('-DGMX_USE_OPENCL=on')
+ if "+opencl" in self.spec:
+ options.append("-DGMX_USE_OPENCL=on")
- if '+lapack' in self.spec:
- options.append('-DGMX_EXTERNAL_LAPACK:BOOL=ON')
- if self.spec['lapack'].libs:
- options.append('-DGMX_LAPACK_USER={0}'.format(
- self.spec['lapack'].libs.joined(';')))
+ if "+lapack" in self.spec:
+ options.append("-DGMX_EXTERNAL_LAPACK:BOOL=ON")
+ if self.spec["lapack"].libs:
+ options.append(
+ "-DGMX_LAPACK_USER={0}".format(self.spec["lapack"].libs.joined(";"))
+ )
else:
- options.append('-DGMX_EXTERNAL_LAPACK:BOOL=OFF')
+ options.append("-DGMX_EXTERNAL_LAPACK:BOOL=OFF")
- if '+blas' in self.spec:
- options.append('-DGMX_EXTERNAL_BLAS:BOOL=ON')
- if self.spec['blas'].libs:
- options.append('-DGMX_BLAS_USER={0}'.format(
- self.spec['blas'].libs.joined(';')))
+ if "+blas" in self.spec:
+ options.append("-DGMX_EXTERNAL_BLAS:BOOL=ON")
+ if self.spec["blas"].libs:
+ options.append("-DGMX_BLAS_USER={0}".format(self.spec["blas"].libs.joined(";")))
else:
- options.append('-DGMX_EXTERNAL_BLAS:BOOL=OFF')
+ options.append("-DGMX_EXTERNAL_BLAS:BOOL=OFF")
# Activate SIMD based on properties of the target
target = self.spec.target
- if target >= 'zen2':
+ if target >= "zen2":
# AMD Family 17h (EPYC Rome)
- options.append('-DGMX_SIMD=AVX2_256')
- elif target >= 'zen':
+ options.append("-DGMX_SIMD=AVX2_256")
+ elif target >= "zen":
# AMD Family 17h (EPYC Naples)
- options.append('-DGMX_SIMD=AVX2_128')
- elif target >= 'bulldozer':
+ options.append("-DGMX_SIMD=AVX2_128")
+ elif target >= "bulldozer":
# AMD Family 15h
- options.append('-DGMX_SIMD=AVX_128_FMA')
- elif 'vsx' in target:
+ options.append("-DGMX_SIMD=AVX_128_FMA")
+ elif "vsx" in target:
# IBM Power 7 and beyond
- if self.spec.satisfies('%nvhpc'):
- options.append('-DGMX_SIMD=None')
+ if self.spec.satisfies("%nvhpc"):
+ options.append("-DGMX_SIMD=None")
else:
- options.append('-DGMX_SIMD=IBM_VSX')
- elif target.family == 'aarch64':
+ options.append("-DGMX_SIMD=IBM_VSX")
+ elif target.family == "aarch64":
# ARMv8
- if self.spec.satisfies('%nvhpc'):
- options.append('-DGMX_SIMD=None')
+ if self.spec.satisfies("%nvhpc"):
+ options.append("-DGMX_SIMD=None")
else:
- options.append('-DGMX_SIMD=ARM_NEON_ASIMD')
- elif target == 'mic_knl':
+ options.append("-DGMX_SIMD=ARM_NEON_ASIMD")
+ elif target == "mic_knl":
# Intel KNL
- options.append('-DGMX_SIMD=AVX_512_KNL')
+ options.append("-DGMX_SIMD=AVX_512_KNL")
else:
# Other architectures
simd_features = [
- ('sse2', 'SSE2'),
- ('sse4_1', 'SSE4.1'),
- ('avx', 'AVX_256'),
- ('axv128', 'AVX2_128'),
- ('avx2', 'AVX2_256'),
- ('avx512', 'AVX_512'),
+ ("sse2", "SSE2"),
+ ("sse4_1", "SSE4.1"),
+ ("avx", "AVX_256"),
+ ("axv128", "AVX2_128"),
+ ("avx2", "AVX2_256"),
+ ("avx512", "AVX_512"),
]
# Workaround NVIDIA compiler bug when avx512 is enabled
- if (self.spec.satisfies('%nvhpc') and
- ('avx512', 'AVX_512') in simd_features):
- simd_features.remove(('avx512', 'AVX_512'))
+ if self.spec.satisfies("%nvhpc") and ("avx512", "AVX_512") in simd_features:
+ simd_features.remove(("avx512", "AVX_512"))
feature_set = False
for feature, flag in reversed(simd_features):
if feature in target:
- options.append('-DGMX_SIMD:STRING={0}'.format(flag))
+ options.append("-DGMX_SIMD:STRING={0}".format(flag))
feature_set = True
break
# Fall back
if not feature_set:
- options.append('-DGMX_SIMD:STRING=None')
+ options.append("-DGMX_SIMD:STRING=None")
# Use the 'rtdscp' assembly instruction only on
# appropriate architectures
- options.append(self.define(
- 'GMX_USE_RDTSCP', str(target.family) in ('x86_64', 'x86')
- ))
+ options.append(self.define("GMX_USE_RDTSCP", str(target.family) in ("x86_64", "x86")))
- if self.spec.satisfies('@:2020'):
- options.append(
- self.define_from_variant('GMX_BUILD_MDRUN_ONLY', 'mdrun_only'))
+ if self.spec.satisfies("@:2020"):
+ options.append(self.define_from_variant("GMX_BUILD_MDRUN_ONLY", "mdrun_only"))
- options.append(self.define_from_variant('GMX_OPENMP', 'openmp'))
+ options.append(self.define_from_variant("GMX_OPENMP", "openmp"))
- if self.spec.satisfies('@:2020'):
+ if self.spec.satisfies("@:2020"):
options.append(
self.define_from_variant(
- 'GMX_RELAXED_DOUBLE_PRECISION',
- 'relaxed_double_precision'))
+ "GMX_RELAXED_DOUBLE_PRECISION", "relaxed_double_precision"
+ )
+ )
- if '+cycle_subcounters' in self.spec:
- options.append('-DGMX_CYCLE_SUBCOUNTERS:BOOL=ON')
+ if "+cycle_subcounters" in self.spec:
+ options.append("-DGMX_CYCLE_SUBCOUNTERS:BOOL=ON")
else:
- options.append('-DGMX_CYCLE_SUBCOUNTERS:BOOL=OFF')
+ options.append("-DGMX_CYCLE_SUBCOUNTERS:BOOL=OFF")
- if '^mkl' in self.spec:
+ if "^mkl" in self.spec:
# fftw-api@3 is provided by intel-mkl or intel-parllel-studio
# we use the mkl interface of gromacs
- options.append('-DGMX_FFT_LIBRARY=mkl')
- options.append('-DMKL_INCLUDE_DIR={0}'.
- format(self.spec['mkl'].headers.directories[0]))
+ options.append("-DGMX_FFT_LIBRARY=mkl")
+ options.append("-DMKL_INCLUDE_DIR={0}".format(self.spec["mkl"].headers.directories[0]))
# The 'blas' property provides a minimal set of libraries
# that is sufficient for fft. Using full mkl fails the cmake test
- options.append('-DMKL_LIBRARIES={0}'.
- format(self.spec['blas'].libs.joined(';')))
+ options.append("-DMKL_LIBRARIES={0}".format(self.spec["blas"].libs.joined(";")))
else:
# we rely on the fftw-api@3
- options.append('-DGMX_FFT_LIBRARY=fftw3')
- if '^amdfftw' in self.spec:
- options.append('-DGMX_FFT_LIBRARY=fftw3')
+ options.append("-DGMX_FFT_LIBRARY=fftw3")
+ if "^amdfftw" in self.spec:
+ options.append("-DGMX_FFT_LIBRARY=fftw3")
+ options.append(
+ "-DFFTWF_INCLUDE_DIRS={0}".format(self.spec["amdfftw"].headers.directories[0])
+ )
options.append(
- '-DFFTWF_INCLUDE_DIRS={0}'.
- format(self.spec['amdfftw'].headers.directories[0])
+ "-DFFTWF_LIBRARIES={0}".format(self.spec["amdfftw"].libs.joined(";"))
)
- options.append('-DFFTWF_LIBRARIES={0}'.
- format(self.spec['amdfftw'].libs.joined(';')))
# Ensure that the GROMACS log files report how the code was patched
# during the build, so that any problems are easier to diagnose.
- if '+plumed' in self.spec:
- options.append('-DGMX_VERSION_STRING_OF_FORK=PLUMED-spack')
+ if "+plumed" in self.spec:
+ options.append("-DGMX_VERSION_STRING_OF_FORK=PLUMED-spack")
else:
- options.append('-DGMX_VERSION_STRING_OF_FORK=spack')
+ options.append("-DGMX_VERSION_STRING_OF_FORK=spack")
return options
diff --git a/var/spack/repos/builtin/packages/grpc/package.py b/var/spack/repos/builtin/packages/grpc/package.py
index 8027697e06..dcb059a9f1 100644
--- a/var/spack/repos/builtin/packages/grpc/package.py
+++ b/var/spack/repos/builtin/packages/grpc/package.py
@@ -8,72 +8,75 @@ from spack.package import *
class Grpc(CMakePackage):
"""A high performance, open-source universal RPC framework."""
- maintainers = ['nazavode']
+ maintainers = ["nazavode"]
homepage = "https://grpc.io"
- url = "https://github.com/grpc/grpc/archive/v1.39.0.tar.gz"
+ url = "https://github.com/grpc/grpc/archive/v1.39.0.tar.gz"
- version('1.39.0', sha256='b16992aa1c949c10d5d5ce2a62f9d99fa7de77da2943e643fb66dcaf075826d6')
- version('1.38.1', sha256='f60e5b112913bf776a22c16a3053cc02cf55e60bf27a959fd54d7aaf8e2da6e8')
- version('1.38.0', sha256='abd9e52c69000f2c051761cfa1f12d52d8b7647b6c66828a91d462e796f2aede')
- version('1.37.1', sha256='acf247ec3a52edaee5dee28644a4e485c5e5badf46bdb24a80ca1d76cb8f1174')
- version('1.37.0', sha256='c2dc8e876ea12052d6dd16704492fd8921df8c6d38c70c4708da332cf116df22')
- version('1.36.4', sha256='8eb9d86649c4d4a7df790226df28f081b97a62bf12c5c5fe9b5d31a29cd6541a')
- version('1.36.3', sha256='bb6de0544adddd54662ba1c314eff974e84c955c39204a4a2b733ccd990354b7')
- version('1.33.1', sha256='58eaee5c0f1bd0b92ebe1fa0606ec8f14798500620e7444726afcaf65041cb63')
- version('1.32.0', sha256='f880ebeb2ccf0e47721526c10dd97469200e40b5f101a0d9774eb69efa0bd07a')
- version('1.31.0', sha256='1236514199d3deb111a6dd7f6092f67617cd2b147f7eda7adbafccea95de7381')
- version('1.30.0', sha256='419dba362eaf8f1d36849ceee17c3e2ff8ff12ac666b42d3ff02a164ebe090e9')
- version('1.29.1', sha256='0343e6dbde66e9a31c691f2f61e98d79f3584e03a11511fad3f10e3667832a45')
- version('1.29.0', sha256='c0a6b40a222e51bea5c53090e9e65de46aee2d84c7fa7638f09cb68c3331b983')
- version('1.28.2', sha256='4bec3edf82556b539f7e9f3d3801cba540e272af87293a3f4178504239bd111e')
- version('1.28.1', sha256='4cbce7f708917b6e58b631c24c59fe720acc8fef5f959df9a58cdf9558d0a79b')
- version('1.28.0', sha256='d6277f77e0bb922d3f6f56c0f93292bb4cfabfc3c92b31ee5ccea0e100303612')
- version('1.27.0', sha256='3ccc4e5ae8c1ce844456e39cc11f1c991a7da74396faabe83d779836ef449bce')
- version('1.26.0', sha256='2fcb7f1ab160d6fd3aaade64520be3e5446fc4c6fa7ba6581afdc4e26094bd81')
- version('1.25.0', sha256='ffbe61269160ea745e487f79b0fd06b6edd3d50c6d9123f053b5634737cf2f69')
- version('1.24.3', sha256='c84b3fa140fcd6cce79b3f9de6357c5733a0071e04ca4e65ba5f8d306f10f033')
- version('1.23.1', sha256='dd7da002b15641e4841f20a1f3eb1e359edb69d5ccf8ac64c362823b05f523d9')
+ version("1.39.0", sha256="b16992aa1c949c10d5d5ce2a62f9d99fa7de77da2943e643fb66dcaf075826d6")
+ version("1.38.1", sha256="f60e5b112913bf776a22c16a3053cc02cf55e60bf27a959fd54d7aaf8e2da6e8")
+ version("1.38.0", sha256="abd9e52c69000f2c051761cfa1f12d52d8b7647b6c66828a91d462e796f2aede")
+ version("1.37.1", sha256="acf247ec3a52edaee5dee28644a4e485c5e5badf46bdb24a80ca1d76cb8f1174")
+ version("1.37.0", sha256="c2dc8e876ea12052d6dd16704492fd8921df8c6d38c70c4708da332cf116df22")
+ version("1.36.4", sha256="8eb9d86649c4d4a7df790226df28f081b97a62bf12c5c5fe9b5d31a29cd6541a")
+ version("1.36.3", sha256="bb6de0544adddd54662ba1c314eff974e84c955c39204a4a2b733ccd990354b7")
+ version("1.33.1", sha256="58eaee5c0f1bd0b92ebe1fa0606ec8f14798500620e7444726afcaf65041cb63")
+ version("1.32.0", sha256="f880ebeb2ccf0e47721526c10dd97469200e40b5f101a0d9774eb69efa0bd07a")
+ version("1.31.0", sha256="1236514199d3deb111a6dd7f6092f67617cd2b147f7eda7adbafccea95de7381")
+ version("1.30.0", sha256="419dba362eaf8f1d36849ceee17c3e2ff8ff12ac666b42d3ff02a164ebe090e9")
+ version("1.29.1", sha256="0343e6dbde66e9a31c691f2f61e98d79f3584e03a11511fad3f10e3667832a45")
+ version("1.29.0", sha256="c0a6b40a222e51bea5c53090e9e65de46aee2d84c7fa7638f09cb68c3331b983")
+ version("1.28.2", sha256="4bec3edf82556b539f7e9f3d3801cba540e272af87293a3f4178504239bd111e")
+ version("1.28.1", sha256="4cbce7f708917b6e58b631c24c59fe720acc8fef5f959df9a58cdf9558d0a79b")
+ version("1.28.0", sha256="d6277f77e0bb922d3f6f56c0f93292bb4cfabfc3c92b31ee5ccea0e100303612")
+ version("1.27.0", sha256="3ccc4e5ae8c1ce844456e39cc11f1c991a7da74396faabe83d779836ef449bce")
+ version("1.26.0", sha256="2fcb7f1ab160d6fd3aaade64520be3e5446fc4c6fa7ba6581afdc4e26094bd81")
+ version("1.25.0", sha256="ffbe61269160ea745e487f79b0fd06b6edd3d50c6d9123f053b5634737cf2f69")
+ version("1.24.3", sha256="c84b3fa140fcd6cce79b3f9de6357c5733a0071e04ca4e65ba5f8d306f10f033")
+ version("1.23.1", sha256="dd7da002b15641e4841f20a1f3eb1e359edb69d5ccf8ac64c362823b05f523d9")
- variant('shared', default=False,
- description='Build shared instead of static libraries')
- variant('codegen', default=True,
- description='Builds code generation plugins for protobuf '
- 'compiler (protoc)')
- variant('cxxstd',
- default='11',
- values=('11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant("shared", default=False, description="Build shared instead of static libraries")
+ variant(
+ "codegen",
+ default=True,
+ description="Builds code generation plugins for protobuf " "compiler (protoc)",
+ )
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('protobuf')
- depends_on('openssl')
- depends_on('zlib')
- depends_on('c-ares')
- depends_on('abseil-cpp', when='@1.27:')
- depends_on('re2+pic', when='@1.33.1:')
+ depends_on("protobuf")
+ depends_on("openssl")
+ depends_on("zlib")
+ depends_on("c-ares")
+ depends_on("abseil-cpp", when="@1.27:")
+ depends_on("re2+pic", when="@1.33.1:")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('gRPC_BUILD_CODEGEN', 'codegen'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- '-DgRPC_BUILD_CSHARP_EXT:Bool=OFF',
- '-DgRPC_INSTALL:Bool=ON',
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("gRPC_BUILD_CODEGEN", "codegen"),
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ "-DgRPC_BUILD_CSHARP_EXT:Bool=OFF",
+ "-DgRPC_INSTALL:Bool=ON",
# Tell grpc to skip vendoring and look for deps via find_package:
- '-DgRPC_CARES_PROVIDER:String=package',
- '-DgRPC_ZLIB_PROVIDER:String=package',
- '-DgRPC_SSL_PROVIDER:String=package',
- '-DgRPC_PROTOBUF_PROVIDER:String=package',
- '-DgRPC_USE_PROTO_LITE:Bool=OFF',
- '-DgRPC_PROTOBUF_PACKAGE_TYPE:String=CONFIG',
+ "-DgRPC_CARES_PROVIDER:String=package",
+ "-DgRPC_ZLIB_PROVIDER:String=package",
+ "-DgRPC_SSL_PROVIDER:String=package",
+ "-DgRPC_PROTOBUF_PROVIDER:String=package",
+ "-DgRPC_USE_PROTO_LITE:Bool=OFF",
+ "-DgRPC_PROTOBUF_PACKAGE_TYPE:String=CONFIG",
# Disable tests:
- '-DgRPC_BUILD_TESTS:BOOL=OFF',
- '-DgRPC_GFLAGS_PROVIDER:String=none',
- '-DgRPC_BENCHMARK_PROVIDER:String=none',
+ "-DgRPC_BUILD_TESTS:BOOL=OFF",
+ "-DgRPC_GFLAGS_PROVIDER:String=none",
+ "-DgRPC_BENCHMARK_PROVIDER:String=none",
]
- if self.spec.satisfies('@1.27.0:'):
- args.append('-DgRPC_ABSL_PROVIDER:String=package')
- if self.spec.satisfies('@1.33.1:'):
- args.append('-DgRPC_RE2_PROVIDER:String=package')
+ if self.spec.satisfies("@1.27.0:"):
+ args.append("-DgRPC_ABSL_PROVIDER:String=package")
+ if self.spec.satisfies("@1.33.1:"):
+ args.append("-DgRPC_RE2_PROVIDER:String=package")
return args
diff --git a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py
index 4f357dbb56..dfc32c1f7f 100644
--- a/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py
+++ b/var/spack/repos/builtin/packages/gsettings-desktop-schemas/package.py
@@ -11,21 +11,21 @@ class GsettingsDesktopSchemas(MesonPackage):
for settings shared by various components of a desktop."""
homepage = "https://github.com/GNOME/gsettings-desktop-schemas/"
- url = "https://github.com/GNOME/gsettings-desktop-schemas/archive/3.38.0.tar.gz"
+ url = "https://github.com/GNOME/gsettings-desktop-schemas/archive/3.38.0.tar.gz"
- version('3.38.0', sha256='b808bd285ac7176f2e9e3a8763c3913121ab9f109d2988c70e3f1f8e742a630d')
- version('3.37.92', sha256='5f5dd0421ed2f3746674b8bb6e0c652784915133c7f2d133339bf5e4140d8d1d')
- version('3.37.2', sha256='1dacdfeecfc57468da7c598a01b635f82ecd088e1d78d5aa840e47256026654d')
+ version("3.38.0", sha256="b808bd285ac7176f2e9e3a8763c3913121ab9f109d2988c70e3f1f8e742a630d")
+ version("3.37.92", sha256="5f5dd0421ed2f3746674b8bb6e0c652784915133c7f2d133339bf5e4140d8d1d")
+ version("3.37.2", sha256="1dacdfeecfc57468da7c598a01b635f82ecd088e1d78d5aa840e47256026654d")
- depends_on('glib')
- depends_on('gobject-introspection', type='build')
- depends_on('gettext', type='build')
+ depends_on("glib")
+ depends_on("gobject-introspection", type="build")
+ depends_on("gettext", type="build")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py
index 9234b6c236..d209c15e7d 100644
--- a/var/spack/repos/builtin/packages/gsl/package.py
+++ b/var/spack/repos/builtin/packages/gsl/package.py
@@ -17,43 +17,41 @@ class Gsl(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/gsl"
gnu_mirror_path = "gsl/gsl-2.3.tar.gz"
- version('2.7.1', sha256='dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b')
- version('2.7', sha256='efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b')
- version('2.6', sha256='b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8')
- version('2.5', sha256='0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d')
- version('2.4', sha256='4d46d07b946e7b31c19bbf33dda6204d7bedc2f5462a1bae1d4013426cd1ce9b')
- version('2.3', sha256='562500b789cd599b3a4f88547a7a3280538ab2ff4939504c8b4ac4ca25feadfb')
- version('2.2.1', sha256='13d23dc7b0824e1405f3f7e7d0776deee9b8f62c62860bf66e7852d402b8b024')
- version('2.1', sha256='59ad06837397617f698975c494fe7b2b698739a59e2fcf830b776428938a0c66')
- version('2.0', sha256='e361f0b19199b5e6c21922e9f16adf7eca8dd860842802424906d0f83485ca2d')
- version('1.16', sha256='73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53')
-
- variant('external-cblas', default=False, description='Build against external blas')
+ version("2.7.1", sha256="dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b")
+ version("2.7", sha256="efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b")
+ version("2.6", sha256="b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8")
+ version("2.5", sha256="0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d")
+ version("2.4", sha256="4d46d07b946e7b31c19bbf33dda6204d7bedc2f5462a1bae1d4013426cd1ce9b")
+ version("2.3", sha256="562500b789cd599b3a4f88547a7a3280538ab2ff4939504c8b4ac4ca25feadfb")
+ version("2.2.1", sha256="13d23dc7b0824e1405f3f7e7d0776deee9b8f62c62860bf66e7852d402b8b024")
+ version("2.1", sha256="59ad06837397617f698975c494fe7b2b698739a59e2fcf830b776428938a0c66")
+ version("2.0", sha256="e361f0b19199b5e6c21922e9f16adf7eca8dd860842802424906d0f83485ca2d")
+ version("1.16", sha256="73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53")
+
+ variant("external-cblas", default=False, description="Build against external blas")
# from https://dev.gentoo.org/~mgorny/dist/gsl-2.3-cblas.patch.bz2
- patch('gsl-2.3-cblas.patch', when="@2.3:2.5+external-cblas")
- patch('gsl-2.6-cblas.patch', when="@2.6: +external-cblas")
+ patch("gsl-2.3-cblas.patch", when="@2.3:2.5+external-cblas")
+ patch("gsl-2.6-cblas.patch", when="@2.6: +external-cblas")
- conflicts('+external-cblas', when="@:2.2")
+ conflicts("+external-cblas", when="@:2.2")
- depends_on('m4', type='build', when='+external-cblas')
- depends_on('autoconf', type='build', when='+external-cblas')
- depends_on('automake', type='build', when='+external-cblas')
- depends_on('libtool', type='build', when='+external-cblas')
- depends_on('blas', when='+external-cblas')
+ depends_on("m4", type="build", when="+external-cblas")
+ depends_on("autoconf", type="build", when="+external-cblas")
+ depends_on("automake", type="build", when="+external-cblas")
+ depends_on("libtool", type="build", when="+external-cblas")
+ depends_on("blas", when="+external-cblas")
@property
def force_autoreconf(self):
# The external cblas patch touches configure
- return self.spec.satisfies('+external-cblas')
+ return self.spec.satisfies("+external-cblas")
def configure_args(self):
configure_args = []
- if self.spec.satisfies('+external-cblas'):
- configure_args.append('--with-external-cblas')
- configure_args.append('CBLAS_CFLAGS=%s'
- % self.spec['blas'].headers.include_flags)
- configure_args.append('CBLAS_LIBS=%s'
- % self.spec['blas'].libs.ld_flags)
+ if self.spec.satisfies("+external-cblas"):
+ configure_args.append("--with-external-cblas")
+ configure_args.append("CBLAS_CFLAGS=%s" % self.spec["blas"].headers.include_flags)
+ configure_args.append("CBLAS_LIBS=%s" % self.spec["blas"].libs.ld_flags)
return configure_args
diff --git a/var/spack/repos/builtin/packages/gslib/package.py b/var/spack/repos/builtin/packages/gslib/package.py
index 1681994c53..a5cb9d44be 100644
--- a/var/spack/repos/builtin/packages/gslib/package.py
+++ b/var/spack/repos/builtin/packages/gslib/package.py
@@ -10,66 +10,66 @@ class Gslib(Package):
"""Highly scalable Gather-scatter code with AMG and XXT solvers"""
homepage = "https://github.com/gslib/gslib"
- git = "https://github.com/gslib/gslib.git"
+ git = "https://github.com/gslib/gslib.git"
- version('develop', branch='master')
- version('1.0.7', tag='v1.0.7')
- version('1.0.6', tag='v1.0.6')
- version('1.0.5', tag='v1.0.5')
- version('1.0.4', tag='v1.0.4')
- version('1.0.3', tag='v1.0.3')
- version('1.0.2', tag='v1.0.2')
- version('1.0.1', tag='v1.0.1')
- version('1.0.0', tag='v1.0.0')
+ version("develop", branch="master")
+ version("1.0.7", tag="v1.0.7")
+ version("1.0.6", tag="v1.0.6")
+ version("1.0.5", tag="v1.0.5")
+ version("1.0.4", tag="v1.0.4")
+ version("1.0.3", tag="v1.0.3")
+ version("1.0.2", tag="v1.0.2")
+ version("1.0.1", tag="v1.0.1")
+ version("1.0.0", tag="v1.0.0")
- variant('mpi', default=True, description='Build with MPI')
- variant('mpiio', default=True, description='Build with MPI I/O')
- variant('blas', default=False, description='Build with BLAS')
+ variant("mpi", default=True, description="Build with MPI")
+ variant("mpiio", default=True, description="Build with MPI I/O")
+ variant("blas", default=False, description="Build with BLAS")
- depends_on('mpi', when="+mpi")
- depends_on('mpi', when="+mpiio")
- depends_on('blas', when="+blas")
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+mpiio")
+ depends_on("blas", when="+blas")
- conflicts('~mpi', when='+mpiio')
+ conflicts("~mpi", when="+mpiio")
def install(self, spec, prefix):
- src_dir = 'src'
- lib_dir = 'lib'
- libname = 'libgs.a'
+ src_dir = "src"
+ lib_dir = "lib"
+ libname = "libgs.a"
- if self.spec.satisfies('@1.0.1:'):
- makefile = 'Makefile'
+ if self.spec.satisfies("@1.0.1:"):
+ makefile = "Makefile"
else:
- makefile = 'src/Makefile'
+ makefile = "src/Makefile"
- cc = self.compiler.cc
+ cc = self.compiler.cc
- if '+mpiio' not in spec:
- filter_file(r'MPIIO.*?=.*1', 'MPIIO = 0', makefile)
+ if "+mpiio" not in spec:
+ filter_file(r"MPIIO.*?=.*1", "MPIIO = 0", makefile)
- if '+mpi' in spec:
- cc = spec['mpi'].mpicc
+ if "+mpi" in spec:
+ cc = spec["mpi"].mpicc
else:
- filter_file(r'MPI.*?=.*1', 'MPI = 0', makefile)
- filter_file(r'MPIIO.*?=.*1', 'MPIIO = 0', makefile)
+ filter_file(r"MPI.*?=.*1", "MPI = 0", makefile)
+ filter_file(r"MPIIO.*?=.*1", "MPIIO = 0", makefile)
make_cmd = "CC=" + cc
- if '+blas' in spec:
- filter_file(r'BLAS.*?=.*0', 'BLAS = 1', makefile)
- blas = spec['blas'].libs
+ if "+blas" in spec:
+ filter_file(r"BLAS.*?=.*0", "BLAS = 1", makefile)
+ blas = spec["blas"].libs
ld_flags = blas.ld_flags
- filter_file(r'\$\(LDFLAGS\)', ld_flags, makefile)
+ filter_file(r"\$\(LDFLAGS\)", ld_flags, makefile)
- if self.spec.satisfies('@1.0.3:'):
+ if self.spec.satisfies("@1.0.3:"):
make(make_cmd)
- make('install', 'INSTALL_ROOT=%s' % self.prefix)
+ make("install", "INSTALL_ROOT=%s" % self.prefix)
else:
- if self.spec.satisfies('@1.0.1:'):
+ if self.spec.satisfies("@1.0.1:"):
make(make_cmd)
- make('install')
+ make("install")
install_tree(lib_dir, prefix.lib)
- elif self.version == Version('1.0.0'):
+ elif self.version == Version("1.0.0"):
with working_dir(src_dir):
make(make_cmd)
mkdir(prefix.lib)
diff --git a/var/spack/repos/builtin/packages/gtk-doc/package.py b/var/spack/repos/builtin/packages/gtk-doc/package.py
index 6ce60f7e41..87a557a218 100644
--- a/var/spack/repos/builtin/packages/gtk-doc/package.py
+++ b/var/spack/repos/builtin/packages/gtk-doc/package.py
@@ -15,43 +15,42 @@ class GtkDoc(AutotoolsPackage):
pdf/man-pages with some extra work."""
homepage = "https://wiki.gnome.org/DocumentationProject/GtkDoc"
- url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/1.33.2/gtk-doc-1.33.2.tar.gz'
+ url = "https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/1.33.2/gtk-doc-1.33.2.tar.gz"
- version('1.33.2', sha256='2d1b0cbd26edfcb54694b2339106a02a81d630a7dedc357461aeb186874cc7c0')
- version('1.32', sha256='0890c1f00d4817279be51602e67c4805daf264092adc58f9c04338566e8225ba')
+ version("1.33.2", sha256="2d1b0cbd26edfcb54694b2339106a02a81d630a7dedc357461aeb186874cc7c0")
+ version("1.32", sha256="0890c1f00d4817279be51602e67c4805daf264092adc58f9c04338566e8225ba")
# Commented out until package dblatex has been created
# variant('pdf', default=False, description='Adds PDF support')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('itstool', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig@0.19:', type=('build', 'run'))
-
- depends_on('python@3.2:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-anytree', type=('test'))
- depends_on('py-lxml', type=('test'))
- depends_on('py-parameterized', type=('test'))
- depends_on('py-six', type=('test'))
- depends_on('libxslt')
- depends_on('libxml2@2.3.6:')
- depends_on('docbook-xsl@1.78.1')
- depends_on('docbook-xml@4.3')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("itstool", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig@0.19:", type=("build", "run"))
+
+ depends_on("python@3.2:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-anytree", type=("test"))
+ depends_on("py-lxml", type=("test"))
+ depends_on("py-parameterized", type=("test"))
+ depends_on("py-six", type=("test"))
+ depends_on("libxslt")
+ depends_on("libxml2@2.3.6:")
+ depends_on("docbook-xsl@1.78.1")
+ depends_on("docbook-xml@4.3")
# depends_on('dblatex', when='+pdf')
- patch('build.patch')
+ patch("build.patch")
def setup_build_environment(self, env):
- """ If test/tools.sh does not find gtkdocize it starts a sh which blocks"""
- env.prepend_path('PATH',
- join_path(self.stage.source_path, 'buildsystems', 'autotools'))
+ """If test/tools.sh does not find gtkdocize it starts a sh which blocks"""
+ env.prepend_path("PATH", join_path(self.stage.source_path, "buildsystems", "autotools"))
def install(self, spec, prefix):
- make('install', 'V=1')
- install(join_path('buildsystems', 'autotools', 'gtkdocize'), prefix.bin)
+ make("install", "V=1")
+ install(join_path("buildsystems", "autotools", "gtkdocize"), prefix.bin)
def installcheck(self):
"""gtk-doc does not support installcheck properly, skip it"""
@@ -60,15 +59,13 @@ class GtkDoc(AutotoolsPackage):
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
- if version <= Version('1.32'):
- url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/GTK_DOC_{0}/gtk-doc-GTK_DOC_{0}.tar.gz'
+ if version <= Version("1.32"):
+ url = "https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/GTK_DOC_{0}/gtk-doc-GTK_DOC_{0}.tar.gz"
return url.format(version.underscored)
- url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/{0}/gtk-doc-{0}.tar.gz'
+ url = "https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/{0}/gtk-doc-{0}.tar.gz"
return url.format(version)
def configure_args(self):
- args = [
- '--with-xml-catalog={0}'.format(self.spec['docbook-xml'].package.catalog)
- ]
+ args = ["--with-xml-catalog={0}".format(self.spec["docbook-xml"].package.catalog)]
return args
diff --git a/var/spack/repos/builtin/packages/gtkmm/package.py b/var/spack/repos/builtin/packages/gtkmm/package.py
index 881f1d6fbf..5503449cf4 100644
--- a/var/spack/repos/builtin/packages/gtkmm/package.py
+++ b/var/spack/repos/builtin/packages/gtkmm/package.py
@@ -10,26 +10,26 @@ class Gtkmm(AutotoolsPackage):
"""Gtkmm is the official C++ interface for the popular GUI library GTK+."""
homepage = "https://www.gtkmm.org/en/"
- url = "https://ftp.acc.umu.se/pub/GNOME/sources/gtkmm/2.16/gtkmm-2.16.0.tar.gz"
+ url = "https://ftp.acc.umu.se/pub/GNOME/sources/gtkmm/2.16/gtkmm-2.16.0.tar.gz"
- version('2.19.7', sha256='7cc8d26f9a0956092e61ecfbb029c5d6223cd7e49d4434653446ff190a990957')
- version('2.19.6', sha256='d495d4012d49841a4f0a09584e002bc25ef55d7b2782660ecf7a58ed67357ad7')
- version('2.19.4', sha256='ade220b0d395cb44215a69623af40a420281bc090ddaefc55350ad48e888fed2')
- version('2.19.2', sha256='9c152f2d652344d9000756491c6b00bd394162f57f4302524db8535144b397a0')
- version('2.17.11', sha256='0ec15d7aa14a0528352adf91aa612079590ba377aa15f47f7c8d37611ffbfbcd')
- version('2.17.1', sha256='bd1369caeb28ffdc9e81b1c4dc846c265dd9533bed7958756b3ee4d14ffa1694')
- version('2.16.0', sha256='7b2cccda794531ecfa65c01e57614ecba526153ad2a29d580c6e8df028d56ec4')
- version('2.4.11', sha256='0754187a5bcf3795cd7c959de303e6a19a130b0c5927bff1504baa3524bee8c1')
+ version("2.19.7", sha256="7cc8d26f9a0956092e61ecfbb029c5d6223cd7e49d4434653446ff190a990957")
+ version("2.19.6", sha256="d495d4012d49841a4f0a09584e002bc25ef55d7b2782660ecf7a58ed67357ad7")
+ version("2.19.4", sha256="ade220b0d395cb44215a69623af40a420281bc090ddaefc55350ad48e888fed2")
+ version("2.19.2", sha256="9c152f2d652344d9000756491c6b00bd394162f57f4302524db8535144b397a0")
+ version("2.17.11", sha256="0ec15d7aa14a0528352adf91aa612079590ba377aa15f47f7c8d37611ffbfbcd")
+ version("2.17.1", sha256="bd1369caeb28ffdc9e81b1c4dc846c265dd9533bed7958756b3ee4d14ffa1694")
+ version("2.16.0", sha256="7b2cccda794531ecfa65c01e57614ecba526153ad2a29d580c6e8df028d56ec4")
+ version("2.4.11", sha256="0754187a5bcf3795cd7c959de303e6a19a130b0c5927bff1504baa3524bee8c1")
- depends_on('glibmm')
- depends_on('atk')
- depends_on('gtkplus')
- depends_on('pangomm')
- depends_on('cairomm')
- depends_on('pkgconfig', type='build')
+ depends_on("glibmm")
+ depends_on("atk")
+ depends_on("gtkplus")
+ depends_on("pangomm")
+ depends_on("cairomm")
+ depends_on("pkgconfig", type="build")
def url_for_version(self, version):
"""Handle glib's version-based custom URLs."""
url = "https://ftp.acc.umu.se/pub/GNOME/sources/gtkmm"
- ext = '.tar.gz' if version < Version('3.1.0') else '.tar.xz'
+ ext = ".tar.gz" if version < Version("3.1.0") else ".tar.xz"
return url + "/%s/gtkmm-%s%s" % (version.up_to(2), version, ext)
diff --git a/var/spack/repos/builtin/packages/gtkorvo-atl/package.py b/var/spack/repos/builtin/packages/gtkorvo-atl/package.py
index 49df43a789..8bb9198962 100644
--- a/var/spack/repos/builtin/packages/gtkorvo-atl/package.py
+++ b/var/spack/repos/builtin/packages/gtkorvo-atl/package.py
@@ -12,25 +12,25 @@ class GtkorvoAtl(CMakePackage):
"""
homepage = "https://github.com/GTkorvo/atl"
- url = "https://github.com/GTkorvo/atl/archive/v2.1.tar.gz"
- git = "https://github.com/GTkorvo/atl.git"
+ url = "https://github.com/GTkorvo/atl/archive/v2.1.tar.gz"
+ git = "https://github.com/GTkorvo/atl.git"
- version('develop', branch='master')
- version('2.2', sha256='d88b6eaa3926e499317973bfb2ae469c584bb064da198217ea5fede6d919e160')
- version('2.1', sha256='379b493ba867b76d76eabfe5bfeec85239606e821509c31e8eb93c2dc238e4a8')
+ version("develop", branch="master")
+ version("2.2", sha256="d88b6eaa3926e499317973bfb2ae469c584bb064da198217ea5fede6d919e160")
+ version("2.1", sha256="379b493ba867b76d76eabfe5bfeec85239606e821509c31e8eb93c2dc238e4a8")
- depends_on('gtkorvo-cercs-env')
+ depends_on("gtkorvo-cercs-env")
def cmake_args(self):
args = []
- if self.spec.satisfies('@2.2:'):
+ if self.spec.satisfies("@2.2:"):
args.append("-DBUILD_SHARED_LIBS=OFF")
else:
args.append("-DENABLE_BUILD_STATIC=STATIC")
if self.run_tests:
- args.append('-DENABLE_TESTING=1')
+ args.append("-DENABLE_TESTING=1")
else:
- args.append('-DENABLE_TESTING=0')
+ args.append("-DENABLE_TESTING=0")
return args
diff --git a/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py b/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py
index f5528c3d10..9a3af9633c 100644
--- a/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py
+++ b/var/spack/repos/builtin/packages/gtkorvo-cercs-env/package.py
@@ -10,11 +10,11 @@ class GtkorvoCercsEnv(CMakePackage):
"""A utility library used by some GTkorvo packages."""
homepage = "https://github.com/GTkorvo/cercs_env"
- url = "https://github.com/GTkorvo/cercs_env/archive/v1.0.tar.gz"
- git = "https://github.com/GTkorvo/cercs_env.git"
+ url = "https://github.com/GTkorvo/cercs_env/archive/v1.0.tar.gz"
+ git = "https://github.com/GTkorvo/cercs_env.git"
- version('develop', branch='master')
- version('1.0', sha256='e4080a98c1af5003a038361c8bb343843665cac428101ac7d721bad8ba7d244e')
+ version("develop", branch="master")
+ version("1.0", sha256="e4080a98c1af5003a038361c8bb343843665cac428101ac7d721bad8ba7d244e")
def cmake_args(self):
args = ["-DENABLE_TESTING=0", "-DENABLE_SHARED_STATIC=STATIC"]
diff --git a/var/spack/repos/builtin/packages/gtkorvo-dill/package.py b/var/spack/repos/builtin/packages/gtkorvo-dill/package.py
index 572497aaff..2e4b7b33cd 100644
--- a/var/spack/repos/builtin/packages/gtkorvo-dill/package.py
+++ b/var/spack/repos/builtin/packages/gtkorvo-dill/package.py
@@ -13,27 +13,27 @@ class GtkorvoDill(CMakePackage):
"""
homepage = "https://github.com/GTkorvo/dill"
- url = "https://github.com/GTkorvo/dill/archive/v2.1.tar.gz"
- git = "https://github.com/GTkorvo/dill.git"
+ url = "https://github.com/GTkorvo/dill/archive/v2.1.tar.gz"
+ git = "https://github.com/GTkorvo/dill.git"
- version('develop', branch='master')
- version('2.4', sha256='ed7745d13e8c6a556f324dcc0e48a807fc993bdd5bb1daa94c1df116cb7e81fa')
- version('2.1', sha256='7671e1f3c25ac6a4ec2320cec2c342a2f668efb170e3dba186718ed17d2cf084')
+ version("develop", branch="master")
+ version("2.4", sha256="ed7745d13e8c6a556f324dcc0e48a807fc993bdd5bb1daa94c1df116cb7e81fa")
+ version("2.1", sha256="7671e1f3c25ac6a4ec2320cec2c342a2f668efb170e3dba186718ed17d2cf084")
# Ref: https://github.com/GTkorvo/dill/commit/dac6dfcc7fdaceeb4c157f9ecdf5ecc28f20477f
- patch('2.4-fix-clear_cache.patch', when='@2.4')
- patch('2.1-fix-clear_cache.patch', when='@2.1')
+ patch("2.4-fix-clear_cache.patch", when="@2.4")
+ patch("2.1-fix-clear_cache.patch", when="@2.1")
def cmake_args(self):
args = []
- if self.spec.satisfies('@2.4:'):
+ if self.spec.satisfies("@2.4:"):
args.append("-DBUILD_SHARED_LIBS=OFF")
else:
args.append("-DENABLE_BUILD_STATIC=STATIC")
if self.run_tests:
- args.append('-DENABLE_TESTING=1')
+ args.append("-DENABLE_TESTING=1")
else:
- args.append('-DENABLE_TESTING=0')
+ args.append("-DENABLE_TESTING=0")
return args
diff --git a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py
index 3af2e44075..74c5a0c5d0 100644
--- a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py
+++ b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py
@@ -16,5 +16,5 @@ class GtkorvoEnet(AutotoolsPackage):
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')
- version('1.3.13', sha256='ede6e4f03e4cb0c3d93044ace9e8c1818ef4d3ced4aaa70384155769b3c436dc')
+ version("1.3.14", sha256="d1fda051bdee46ad8cce7c3bb36fb6b7a7a443945f27a280ac104753c29465b0")
+ version("1.3.13", sha256="ede6e4f03e4cb0c3d93044ace9e8c1818ef4d3ced4aaa70384155769b3c436dc")
diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py
index f2bcc812ee..6327b8edd4 100644
--- a/var/spack/repos/builtin/packages/gtkplus/package.py
+++ b/var/spack/repos/builtin/packages/gtkplus/package.py
@@ -8,121 +8,138 @@ from spack.package import *
class Gtkplus(MesonPackage):
"""The GTK+ package contains libraries used for creating graphical user
- interfaces for applications."""
+ interfaces for applications."""
homepage = "https://www.gtk.org/"
- url = "https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.26.tar.xz"
-
- version('3.24.29', sha256='f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa')
- version('3.24.26', sha256='2cc1b2dc5cad15d25b6abd115c55ffd8331e8d4677745dd3ce6db725b4fff1e9')
- version('3.20.10', sha256='e81da1af1c5c1fee87ba439770e17272fa5c06e64572939814da406859e56b70', deprecated=True)
- version('2.24.32', sha256='b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e', deprecated=True)
- version('2.24.31', sha256='68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658', deprecated=True)
- version('2.24.25', sha256='38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3', deprecated=True)
-
- variant('cups', default='False', description='enable cups support')
+ url = "https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.26.tar.xz"
+
+ version("3.24.29", sha256="f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa")
+ version("3.24.26", sha256="2cc1b2dc5cad15d25b6abd115c55ffd8331e8d4677745dd3ce6db725b4fff1e9")
+ version(
+ "3.20.10",
+ sha256="e81da1af1c5c1fee87ba439770e17272fa5c06e64572939814da406859e56b70",
+ deprecated=True,
+ )
+ version(
+ "2.24.32",
+ sha256="b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e",
+ deprecated=True,
+ )
+ version(
+ "2.24.31",
+ sha256="68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658",
+ deprecated=True,
+ )
+ version(
+ "2.24.25",
+ sha256="38af1020cb8ff3d10dda2c8807f11e92af9d2fa4045de61c62eedb7fbc7ea5b3",
+ deprecated=True,
+ )
+
+ variant("cups", default="False", description="enable cups support")
# See meson.build for version requirements
- depends_on('meson@0.48.0:', when='@3.24:', type='build')
- depends_on('ninja', when='@3.24:', type='build')
+ depends_on("meson@0.48.0:", when="@3.24:", type="build")
+ depends_on("ninja", when="@3.24:", type="build")
# Needed to build man pages:
# depends_on('docbook-xml', when='@3.24:', type='build')
# depends_on('docbook-xsl', when='@3.24:', type='build')
# depends_on('libxslt', when='@3.24:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('glib@2.57.2:')
- depends_on('pango@1.41.0:+X')
- depends_on('fribidi@0.19.7:')
- depends_on('atk@2.35.1:')
- depends_on('at-spi2-atk@2.15.1:', when='@3:')
- depends_on('cairo@1.14.0:+X+pdf+gobject')
- depends_on('gdk-pixbuf@2.30.0:')
- depends_on('gobject-introspection@1.39.0:')
- depends_on('shared-mime-info')
- depends_on('libxkbcommon')
- depends_on('librsvg')
- depends_on('xrandr')
- depends_on('libepoxy+glx', when='@3:')
- depends_on('libxi', when='@3:')
- depends_on('inputproto', when='@3:')
- depends_on('fixesproto', when='@3:')
- depends_on('gettext', when='@3:')
- depends_on('cups', when='+cups')
-
- patch('no-demos.patch', when='@2.0:2')
+ depends_on("pkgconfig", type="build")
+ depends_on("glib@2.57.2:")
+ depends_on("pango@1.41.0:+X")
+ depends_on("fribidi@0.19.7:")
+ depends_on("atk@2.35.1:")
+ depends_on("at-spi2-atk@2.15.1:", when="@3:")
+ depends_on("cairo@1.14.0:+X+pdf+gobject")
+ depends_on("gdk-pixbuf@2.30.0:")
+ depends_on("gobject-introspection@1.39.0:")
+ depends_on("shared-mime-info")
+ depends_on("libxkbcommon")
+ depends_on("librsvg")
+ depends_on("xrandr")
+ depends_on("libepoxy+glx", when="@3:")
+ depends_on("libxi", when="@3:")
+ depends_on("inputproto", when="@3:")
+ depends_on("fixesproto", when="@3:")
+ depends_on("gettext", when="@3:")
+ depends_on("cups", when="+cups")
+
+ patch("no-demos.patch", when="@2.0:2")
def url_for_version(self, version):
- url = 'https://download.gnome.org/sources/gtk+/{0}/gtk+-{1}.tar.xz'
+ url = "https://download.gnome.org/sources/gtk+/{0}/gtk+-{1}.tar.xz"
return url.format(version.up_to(2), version)
def patch(self):
# remove disable deprecated flag.
- filter_file(r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"',
- '', 'configure', string=True)
+ filter_file(
+ r'CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"', "", "configure", string=True
+ )
# https://gitlab.gnome.org/GNOME/gtk/-/issues/3776
- if self.spec.satisfies('@3:%gcc@11:'):
- filter_file(" '-Werror=array-bounds',",
- '', 'meson.build', string=True)
+ if self.spec.satisfies("@3:%gcc@11:"):
+ filter_file(" '-Werror=array-bounds',", "", "meson.build", string=True)
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def meson_args(self):
args = std_meson_args
- if self.spec.satisfies('platform=darwin'):
- args.extend([
- '-Dx11_backend=false',
- '-Dquartz_backend=true',
- ])
-
- args.extend([
- '-Dgtk_doc=false',
- '-Dman=false',
- '-Dintrospection=true',
- '-Dwayland_backend=false',
- ])
+ if self.spec.satisfies("platform=darwin"):
+ args.extend(
+ [
+ "-Dx11_backend=false",
+ "-Dquartz_backend=true",
+ ]
+ )
+
+ args.extend(
+ [
+ "-Dgtk_doc=false",
+ "-Dman=false",
+ "-Dintrospection=true",
+ "-Dwayland_backend=false",
+ ]
+ )
return args
def configure_args(self):
- true = which('true')
+ true = which("true")
args = [
- '--prefix={0}'.format(self.prefix),
+ "--prefix={0}".format(self.prefix),
# disable building of gtk-doc files following #9771
- '--disable-gtk-doc-html',
- 'GTKDOC_CHECK={0}'.format(true),
- 'GTKDOC_CHECK_PATH={0}'.format(true),
- 'GTKDOC_MKPDF={0}'.format(true),
- 'GTKDOC_REBASE={0}'.format(true),
+ "--disable-gtk-doc-html",
+ "GTKDOC_CHECK={0}".format(true),
+ "GTKDOC_CHECK_PATH={0}".format(true),
+ "GTKDOC_MKPDF={0}".format(true),
+ "GTKDOC_REBASE={0}".format(true),
]
- if '~cups' in self.spec:
- args.append('--disable-cups')
+ if "~cups" in self.spec:
+ args.append("--disable-cups")
return args
- @when('@:3.20.10')
+ @when("@:3.20.10")
def meson(self, spec, prefix):
configure(*self.configure_args())
- @when('@:3.20.10')
+ @when("@:3.20.10")
def build(self, spec, prefix):
make()
- @when('@:3.20.10')
+ @when("@:3.20.10")
def install(self, spec, prefix):
- make('install')
+ make("install")
def check(self):
"""All build time checks open windows in the X server, don't do that"""
diff --git a/var/spack/repos/builtin/packages/gtksourceview/package.py b/var/spack/repos/builtin/packages/gtksourceview/package.py
index 15732bc2c6..2288ce820f 100644
--- a/var/spack/repos/builtin/packages/gtksourceview/package.py
+++ b/var/spack/repos/builtin/packages/gtksourceview/package.py
@@ -16,30 +16,30 @@ class Gtksourceview(AutotoolsPackage):
"""
homepage = "https://projects.gnome.org/gtksourceview"
- url = "https://download.gnome.org/sources/gtksourceview/4.2/gtksourceview-4.2.0.tar.xz"
-
- version('4.2.0', sha256='c431eb234dc83c7819e58f77dd2af973252c7750da1c9d125ddc94268f94f675')
- version('3.24.11', sha256='691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gobject-introspection', type='build')
- depends_on('intltool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('gettext')
- depends_on('glib@2.48.0:', when='@3.24.11:4.2.0')
- depends_on('gtkplus@3.20.0:', when='@3.24.11:4.2.0')
- depends_on('libxml2@2.6:', when='@3.24.11:4.2.0')
- depends_on('pango')
- depends_on('gdk-pixbuf')
- depends_on('atk')
- depends_on('iconv')
+ url = "https://download.gnome.org/sources/gtksourceview/4.2/gtksourceview-4.2.0.tar.xz"
+
+ version("4.2.0", sha256="c431eb234dc83c7819e58f77dd2af973252c7750da1c9d125ddc94268f94f675")
+ version("3.24.11", sha256="691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gobject-introspection", type="build")
+ depends_on("intltool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("gettext")
+ depends_on("glib@2.48.0:", when="@3.24.11:4.2.0")
+ depends_on("gtkplus@3.20.0:", when="@3.24.11:4.2.0")
+ depends_on("libxml2@2.6:", when="@3.24.11:4.2.0")
+ depends_on("pango")
+ depends_on("gdk-pixbuf")
+ depends_on("atk")
+ depends_on("iconv")
def url_for_version(self, version):
- url = 'https://download.gnome.org/sources/gtksourceview/'
- url += '{0}/gtksourceview-{1}.tar.xz'
+ url = "https://download.gnome.org/sources/gtksourceview/"
+ url += "{0}/gtksourceview-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_dependent_build_environment(self, env, dependent_spec):
@@ -57,5 +57,5 @@ class Gtksourceview(AutotoolsPackage):
# TODO: If https://github.com/spack/spack/pull/12344 is merged, this
# method is unnecessary.
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
- autoreconf('-ifv')
+ autoreconf = which("autoreconf")
+ autoreconf("-ifv")
diff --git a/var/spack/repos/builtin/packages/gts/package.py b/var/spack/repos/builtin/packages/gts/package.py
index 58c27beee9..dfa4956392 100644
--- a/var/spack/repos/builtin/packages/gts/package.py
+++ b/var/spack/repos/builtin/packages/gts/package.py
@@ -24,6 +24,6 @@ class Gts(AutotoolsPackage):
homepage = "http://gts.sourceforge.net/index.html"
url = "http://gts.sourceforge.net/tarballs/gts-snapshot-121130.tar.gz"
- version('121130', sha256='c23f72ab74bbf65599f8c0b599d6336fabe1ec2a09c19b70544eeefdc069b73b')
+ version("121130", sha256="c23f72ab74bbf65599f8c0b599d6336fabe1ec2a09c19b70544eeefdc069b73b")
- depends_on('glib')
+ depends_on("glib")
diff --git a/var/spack/repos/builtin/packages/guacamole-client/package.py b/var/spack/repos/builtin/packages/guacamole-client/package.py
index 06fca71bc6..9026383bc2 100644
--- a/var/spack/repos/builtin/packages/guacamole-client/package.py
+++ b/var/spack/repos/builtin/packages/guacamole-client/package.py
@@ -11,8 +11,8 @@ class GuacamoleClient(MavenPackage):
supports standard protocols like VNC, RDP, and SSH."""
homepage = "https://guacamole.apache.org/"
- url = "https://github.com/apache/guacamole-client/archive/1.2.0.tar.gz"
+ url = "https://github.com/apache/guacamole-client/archive/1.2.0.tar.gz"
- version('1.2.0', sha256='2327368a32e61cf82032311be79ded4e5eefbc59ac9fb6e0a054b4f49168843e')
+ version("1.2.0", sha256="2327368a32e61cf82032311be79ded4e5eefbc59ac9fb6e0a054b4f49168843e")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/guacamole-server/package.py b/var/spack/repos/builtin/packages/guacamole-server/package.py
index 83fa244af6..70872a4741 100644
--- a/var/spack/repos/builtin/packages/guacamole-server/package.py
+++ b/var/spack/repos/builtin/packages/guacamole-server/package.py
@@ -12,15 +12,15 @@ class GuacamoleServer(AutotoolsPackage):
several protocol support libraries."""
homepage = "https://guacamole.apache.org/"
- url = "https://github.com/apache/guacamole-server/archive/1.1.0.tar.gz"
+ url = "https://github.com/apache/guacamole-server/archive/1.1.0.tar.gz"
- version('1.1.0', sha256='d0f0c66ebfa7a4fd6689ae5240f21797b5177945a042388b691b15b8bd5c81a8')
+ version("1.1.0", sha256="d0f0c66ebfa7a4fd6689ae5240f21797b5177945a042388b691b15b8bd5c81a8")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('cairo')
- depends_on('libjpeg')
- depends_on('libpng')
- depends_on('uuid')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("cairo")
+ depends_on("libjpeg")
+ depends_on("libpng")
+ depends_on("uuid")
diff --git a/var/spack/repos/builtin/packages/guidance/package.py b/var/spack/repos/builtin/packages/guidance/package.py
index b7c835d6af..0f4e6d1eb8 100644
--- a/var/spack/repos/builtin/packages/guidance/package.py
+++ b/var/spack/repos/builtin/packages/guidance/package.py
@@ -10,39 +10,38 @@ from spack.package import *
class Guidance(MakefilePackage):
"""Guidance: Accurate detection of unreliable alignment regions accounting
- for the uncertainty of multiple parameters."""
+ for the uncertainty of multiple parameters."""
homepage = "http://guidance.tau.ac.il/ver2/"
- url = "http://guidance.tau.ac.il/ver2/guidance.v2.02.tar.gz"
+ url = "http://guidance.tau.ac.il/ver2/guidance.v2.02.tar.gz"
- version('2.02', sha256='825e105dde526759fb5bda1cd539b24db0b90b8b586f26b1df74d9c5abaa7844')
+ version("2.02", sha256="825e105dde526759fb5bda1cd539b24db0b90b8b586f26b1df74d9c5abaa7844")
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-bioperl', type=('build', 'run'))
- depends_on('ruby')
- depends_on('prank')
- depends_on('clustalw')
- depends_on('mafft')
- depends_on('muscle')
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-bioperl", type=("build", "run"))
+ depends_on("ruby")
+ depends_on("prank")
+ depends_on("clustalw")
+ depends_on("mafft")
+ depends_on("muscle")
- conflicts('%gcc@6.2.0:')
+ conflicts("%gcc@6.2.0:")
def edit(self, spec, prefix):
- for dir in 'Guidance', 'Selecton', 'bioSequence_scripts_and_constants':
- with working_dir(join_path('www', dir)):
- files = glob.iglob('*.pl')
+ for dir in "Guidance", "Selecton", "bioSequence_scripts_and_constants":
+ with working_dir(join_path("www", dir)):
+ files = glob.iglob("*.pl")
for file in files:
perl = FileFilter(file)
- perl.filter('#!/usr/bin/perl -w', '#!/usr/bin/env perl')
+ perl.filter("#!/usr/bin/perl -w", "#!/usr/bin/env perl")
def install(self, spac, prefix):
mkdir(prefix.bin)
- install_tree('libs', prefix.bin.libs)
- install_tree('programs', prefix.bin.programs)
- install_tree('www', prefix.bin.www)
- with working_dir(join_path('www', 'Guidance')): # copy without suffix
- install('guidance.pl', join_path(prefix.bin.www.Guidance,
- 'guidance'))
+ install_tree("libs", prefix.bin.libs)
+ install_tree("programs", prefix.bin.programs)
+ install_tree("www", prefix.bin.www)
+ with working_dir(join_path("www", "Guidance")): # copy without suffix
+ install("guidance.pl", join_path(prefix.bin.www.Guidance, "guidance"))
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix.bin.www.Guidance)
+ env.prepend_path("PATH", prefix.bin.www.Guidance)
diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py
index 6cbfd08b0a..4ecf84f779 100644
--- a/var/spack/repos/builtin/packages/guile/package.py
+++ b/var/spack/repos/builtin/packages/guile/package.py
@@ -13,61 +13,59 @@ class Guile(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/guile/"
gnu_mirror_path = "guile/guile-2.2.0.tar.gz"
- version('2.2.6', sha256='08c0e7487777740b61cdd97949b69e8a5e2997d8c2fe6c7e175819eb18444506')
- version('2.2.5', sha256='c3c7a2f6ae0d8321a240c7ebc532a1d47af8c63214157a73789e2b2305b4c927')
- version('2.2.4', sha256='33b904c0bf4e48e156f3fb1d0e6b0392033bd610c6c9d9a0410c6e0ea96a3e5c')
- version('2.2.3', sha256='87ee07caef33c97ddc74bf3c29ce7628cfac12061f573e4a29a3a1176754610a')
- version('2.2.2', sha256='3d9b94183b19f04dd4317da87beedafd1c947142f3d861ca1f0224e7a75127ee')
- version('2.2.1', sha256='f004b2a5e98017df80cd419773f12a77cfc7ba6069195f97d6702e3d6e487a14')
- version('2.2.0', sha256='ef1e9544631f18029b113911350bffd5064955c208a975bfe0d27a4003d6d86b')
- version('2.0.14', sha256='8aeb2f353881282fe01694cce76bb72f7ffdd296a12c7a1a39255c27b0dfe5f1')
- version('2.0.11', sha256='e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040')
+ version("2.2.6", sha256="08c0e7487777740b61cdd97949b69e8a5e2997d8c2fe6c7e175819eb18444506")
+ version("2.2.5", sha256="c3c7a2f6ae0d8321a240c7ebc532a1d47af8c63214157a73789e2b2305b4c927")
+ version("2.2.4", sha256="33b904c0bf4e48e156f3fb1d0e6b0392033bd610c6c9d9a0410c6e0ea96a3e5c")
+ version("2.2.3", sha256="87ee07caef33c97ddc74bf3c29ce7628cfac12061f573e4a29a3a1176754610a")
+ version("2.2.2", sha256="3d9b94183b19f04dd4317da87beedafd1c947142f3d861ca1f0224e7a75127ee")
+ version("2.2.1", sha256="f004b2a5e98017df80cd419773f12a77cfc7ba6069195f97d6702e3d6e487a14")
+ version("2.2.0", sha256="ef1e9544631f18029b113911350bffd5064955c208a975bfe0d27a4003d6d86b")
+ version("2.0.14", sha256="8aeb2f353881282fe01694cce76bb72f7ffdd296a12c7a1a39255c27b0dfe5f1")
+ version("2.0.11", sha256="e6786c934346fa2e38e46d8d81a622bb1c16d130153523f6129fcd79ef1fb040")
- variant('readline', default=True, description='Use the readline library')
+ variant("readline", default=True, description="Use the readline library")
variant(
- 'threads',
- default='none',
- values=('none', 'posix', 'dgux386'),
+ "threads",
+ default="none",
+ values=("none", "posix", "dgux386"),
multi=False,
- description='Use the thread interface'
+ description="Use the thread interface",
)
- depends_on('bdw-gc@7.0: threads=none', when='threads=none')
- depends_on('bdw-gc@7.0: threads=posix', when='threads=posix')
- depends_on('bdw-gc@7.0: threads=dgux386', when='threads=dgux386')
- depends_on('gmp@4.2:')
- depends_on('gettext')
- depends_on('libtool@1.5.6:')
- depends_on('libunistring@0.9.3:')
- depends_on('libffi')
- depends_on('readline', when='+readline')
- depends_on('pkgconfig', type='build')
+ depends_on("bdw-gc@7.0: threads=none", when="threads=none")
+ depends_on("bdw-gc@7.0: threads=posix", when="threads=posix")
+ depends_on("bdw-gc@7.0: threads=dgux386", when="threads=dgux386")
+ depends_on("gmp@4.2:")
+ depends_on("gettext")
+ depends_on("libtool@1.5.6:")
+ depends_on("libunistring@0.9.3:")
+ depends_on("libffi")
+ depends_on("readline", when="+readline")
+ depends_on("pkgconfig", type="build")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- conflicts('threads=posix', when='%intel')
- conflicts('threads=dgux386', when='%intel')
+ conflicts("threads=posix", when="%intel")
+ conflicts("threads=dgux386", when="%intel")
def configure_args(self):
spec = self.spec
config_args = [
- '--with-libunistring-prefix={0}'.format(
- spec['libunistring'].prefix),
- '--with-libltdl-prefix={0}'.format(spec['libtool'].prefix),
- '--with-libgmp-prefix={0}'.format(spec['gmp'].prefix),
- '--with-libintl-prefix={0}'.format(spec['gettext'].prefix),
+ "--with-libunistring-prefix={0}".format(spec["libunistring"].prefix),
+ "--with-libltdl-prefix={0}".format(spec["libtool"].prefix),
+ "--with-libgmp-prefix={0}".format(spec["gmp"].prefix),
+ "--with-libintl-prefix={0}".format(spec["gettext"].prefix),
]
- if 'threads=none' in spec:
- config_args.append('--without-threads')
+ if "threads=none" in spec:
+ config_args.append("--without-threads")
else:
- config_args.append('--with-threads')
+ config_args.append("--with-threads")
- if '+readline' in spec:
- config_args.append('--with-libreadline-prefix={0}'.format(
- spec['readline'].prefix))
+ if "+readline" in spec:
+ config_args.append("--with-libreadline-prefix={0}".format(spec["readline"].prefix))
else:
- config_args.append('--without-libreadline-prefix')
+ config_args.append("--without-libreadline-prefix")
return config_args
diff --git a/var/spack/repos/builtin/packages/gunrock/package.py b/var/spack/repos/builtin/packages/gunrock/package.py
index eac2f0d07f..2b72349ea9 100644
--- a/var/spack/repos/builtin/packages/gunrock/package.py
+++ b/var/spack/repos/builtin/packages/gunrock/package.py
@@ -11,122 +11,148 @@ class Gunrock(CMakePackage, CudaPackage):
"""High-Performance Graph Primitives on GPUs"""
homepage = "https://gunrock.github.io/docs/"
- git = "https://github.com/gunrock/gunrock.git"
+ git = "https://github.com/gunrock/gunrock.git"
- version('master', submodules=True)
- version('1.2', submodules=True, tag='v1.2')
+ version("master", submodules=True)
+ version("1.2", submodules=True, tag="v1.2")
# v1.1 build is broken. See:
# https://github.com/gunrock/gunrock/issues/777
- version('1.1', submodules=True, tag='v1.1')
- version('1.0', submodules=True, tag='v1.0')
- version('0.5.1', submodules=True, tag='v0.5.1')
- version('0.5', submodules=True, tag='v0.5')
- version('0.4', submodules=True, tag='v0.4')
- version('0.3.1', submodules=True, tag='v0.3.1')
- version('0.3', submodules=True, tag='v0.3')
- version('0.2', submodules=True, tag='v0.2')
- version('0.1', submodules=True, tag='v0.1')
-
- variant('cuda', default=True, description="Build with Cuda support")
-
- variant('lib', default=True, description='Build main gunrock library')
- variant('shared_libs', default=True, description='Turn off to build for static libraries')
- variant('tests', default=True, description='Build functional tests / examples')
+ version("1.1", submodules=True, tag="v1.1")
+ version("1.0", submodules=True, tag="v1.0")
+ version("0.5.1", submodules=True, tag="v0.5.1")
+ version("0.5", submodules=True, tag="v0.5")
+ version("0.4", submodules=True, tag="v0.4")
+ version("0.3.1", submodules=True, tag="v0.3.1")
+ version("0.3", submodules=True, tag="v0.3")
+ version("0.2", submodules=True, tag="v0.2")
+ version("0.1", submodules=True, tag="v0.1")
+
+ variant("cuda", default=True, description="Build with Cuda support")
+
+ variant("lib", default=True, description="Build main gunrock library")
+ variant("shared_libs", default=True, description="Turn off to build for static libraries")
+ variant("tests", default=True, description="Build functional tests / examples")
variant(
- 'mgpu_tests',
+ "mgpu_tests",
default=False,
description=(
- 'Builds Gunrock applications and enables the ctest framework '
- 'for single GPU implementations'
- )
+ "Builds Gunrock applications and enables the ctest framework "
+ "for single GPU implementations"
+ ),
+ )
+ variant(
+ "cuda_verbose_ptxas",
+ default=False,
+ description="Enable verbose output from the PTXAS assembler",
+ )
+ variant("google_tests", default=False, description="Build unit tests using googletest")
+ variant(
+ "code_coverage", default=False, description="run code coverage on Gunrock's source code"
)
- variant('cuda_verbose_ptxas', default=False, description='Enable verbose output from the PTXAS assembler')
- variant('google_tests', default=False, description='Build unit tests using googletest')
- variant('code_coverage', default=False, description="run code coverage on Gunrock's source code")
# apps
- msg = 'select either all or individual applications'
+ msg = "select either all or individual applications"
variant(
"applications",
values=disjoint_sets(
- ('all',), ('bc', 'bfs', 'cc', 'pr', 'sssp', 'dobfs', 'hits',
- 'salsa', 'mst', 'wtf', 'topk')
- ).allow_empty_set().with_default('all').with_error(msg),
- description="Application to be built"
+ ("all",),
+ ("bc", "bfs", "cc", "pr", "sssp", "dobfs", "hits", "salsa", "mst", "wtf", "topk"),
+ )
+ .allow_empty_set()
+ .with_default("all")
+ .with_error(msg),
+ description="Application to be built",
)
- variant('boost', default=True, description='Build with Boost')
- variant('metis', default=False, description='Build with Metis support')
+ variant("boost", default=True, description="Build with Boost")
+ variant("metis", default=False, description="Build with Metis support")
- depends_on('googletest', when='+google_tests')
- depends_on('lcov', when='+code_coverage')
- depends_on('boost@1.58.0:', when='+boost')
+ depends_on("googletest", when="+google_tests")
+ depends_on("lcov", when="+code_coverage")
+ depends_on("boost@1.58.0:", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('metis', when='+metis')
-
- conflicts('cuda_arch=none', when='+cuda',
- msg='Must specify CUDA compute capabilities of your GPU. \
-See "spack info gunrock"')
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("metis", when="+metis")
+
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg='Must specify CUDA compute capabilities of your GPU. \
+See "spack info gunrock"',
+ )
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant
args = [
- from_variant('GUNROCK_BUILD_LIB', 'lib'),
- from_variant('GUNROCK_BUILD_SHARED_LIBS', 'shared_libs'),
- from_variant('GUNROCK_BUILD_TESTS', 'tests'),
- from_variant('GUNROCK_MGPU_TESTS', 'mgpu_tests'),
- from_variant('CUDA_VERBOSE_PTXAS', 'cuda_verbose_ptxas'),
- from_variant('GUNROCK_GOOGLE_TESTS', 'google_tests'),
- from_variant('GUNROCK_CODE_COVERAGE', 'code_coverage'),
+ from_variant("GUNROCK_BUILD_LIB", "lib"),
+ from_variant("GUNROCK_BUILD_SHARED_LIBS", "shared_libs"),
+ from_variant("GUNROCK_BUILD_TESTS", "tests"),
+ from_variant("GUNROCK_MGPU_TESTS", "mgpu_tests"),
+ from_variant("CUDA_VERBOSE_PTXAS", "cuda_verbose_ptxas"),
+ from_variant("GUNROCK_GOOGLE_TESTS", "google_tests"),
+ from_variant("GUNROCK_CODE_COVERAGE", "code_coverage"),
]
# turn off auto detect, which undoes custom cuda arch options
- args.append('-DCUDA_AUTODETECT_GENCODE=OFF')
+ args.append("-DCUDA_AUTODETECT_GENCODE=OFF")
- cuda_arch_list = self.spec.variants['cuda_arch'].value
- if cuda_arch_list[0] != 'none':
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
+ if cuda_arch_list[0] != "none":
for carch in cuda_arch_list:
- args.append('-DGUNROCK_GENCODE_SM' + carch + '=ON')
-
- app_list = self.spec.variants['applications'].value
- if app_list[0] != 'none':
- args.extend([
- '-DGUNROCK_BUILD_APPLICATIONS={0}'.format(
- 'ON' if spec.satisfies('applications=all') else 'OFF'),
- '-DGUNROCK_APP_BC={0}'.format(
- 'ON' if spec.satisfies('applications=bc') else 'OFF'),
- '-DGUNROCK_APP_BFS={0}'.format(
- 'ON' if spec.satisfies('applications=bfs') else 'OFF'),
- '-DGUNROCK_APP_CC={0}'.format(
- 'ON' if spec.satisfies('applications=cc') else 'OFF'),
- '-DGUNROCK_APP_PR={0}'.format(
- 'ON' if spec.satisfies('applications=pr') else 'OFF'),
- '-DGUNROCK_APP_SSSP={0}'.format(
- 'ON' if spec.satisfies('applications=sssp') else 'OFF'),
- '-DGUNROCK_APP_DOBFS={0}'.format(
- 'ON' if spec.satisfies('applications=dobfs') else 'OFF'),
- '-DGUNROCK_APP_HITS={0}'.format(
- 'ON' if spec.satisfies('applications=hits') else 'OFF'),
- '-DGUNROCK_APP_SALSA={0}'.format(
- 'ON' if spec.satisfies('applications=salsa') else 'OFF'),
- '-DGUNROCK_APP_MST={0}'.format(
- 'ON' if spec.satisfies('applications=mst') else 'OFF'),
- '-DGUNROCK_APP_WTF={0}'.format(
- 'ON' if spec.satisfies('applications=wtf') else 'OFF'),
- '-DGUNROCK_APP_TOPK={0}'.format(
- 'ON' if spec.satisfies('applications=topk') else 'OFF'),
- ])
+ args.append("-DGUNROCK_GENCODE_SM" + carch + "=ON")
+
+ app_list = self.spec.variants["applications"].value
+ if app_list[0] != "none":
+ args.extend(
+ [
+ "-DGUNROCK_BUILD_APPLICATIONS={0}".format(
+ "ON" if spec.satisfies("applications=all") else "OFF"
+ ),
+ "-DGUNROCK_APP_BC={0}".format(
+ "ON" if spec.satisfies("applications=bc") else "OFF"
+ ),
+ "-DGUNROCK_APP_BFS={0}".format(
+ "ON" if spec.satisfies("applications=bfs") else "OFF"
+ ),
+ "-DGUNROCK_APP_CC={0}".format(
+ "ON" if spec.satisfies("applications=cc") else "OFF"
+ ),
+ "-DGUNROCK_APP_PR={0}".format(
+ "ON" if spec.satisfies("applications=pr") else "OFF"
+ ),
+ "-DGUNROCK_APP_SSSP={0}".format(
+ "ON" if spec.satisfies("applications=sssp") else "OFF"
+ ),
+ "-DGUNROCK_APP_DOBFS={0}".format(
+ "ON" if spec.satisfies("applications=dobfs") else "OFF"
+ ),
+ "-DGUNROCK_APP_HITS={0}".format(
+ "ON" if spec.satisfies("applications=hits") else "OFF"
+ ),
+ "-DGUNROCK_APP_SALSA={0}".format(
+ "ON" if spec.satisfies("applications=salsa") else "OFF"
+ ),
+ "-DGUNROCK_APP_MST={0}".format(
+ "ON" if spec.satisfies("applications=mst") else "OFF"
+ ),
+ "-DGUNROCK_APP_WTF={0}".format(
+ "ON" if spec.satisfies("applications=wtf") else "OFF"
+ ),
+ "-DGUNROCK_APP_TOPK={0}".format(
+ "ON" if spec.satisfies("applications=topk") else "OFF"
+ ),
+ ]
+ )
return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
# bin dir is created only if tests/examples are built
- if '+tests' in spec:
- install_tree('bin', prefix.bin)
+ if "+tests" in spec:
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gurobi/package.py b/var/spack/repos/builtin/packages/gurobi/package.py
index 02cbf53e41..c64531fc0e 100644
--- a/var/spack/repos/builtin/packages/gurobi/package.py
+++ b/var/spack/repos/builtin/packages/gurobi/package.py
@@ -23,20 +23,20 @@ class Gurobi(Package):
homepage = "https://www.gurobi.com"
manual_download = True
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('9.5.1', sha256='fa82859d33f08fb8aeb9da66b0fbd91718ed573c534f571aa52372c9deb891da')
- version('9.1.2', sha256='7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b')
- version('7.5.2', '01f6dbb8d165838cca1664a1a14e4a85')
+ version("9.5.1", sha256="fa82859d33f08fb8aeb9da66b0fbd91718ed573c534f571aa52372c9deb891da")
+ version("9.1.2", sha256="7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b")
+ version("7.5.2", "01f6dbb8d165838cca1664a1a14e4a85")
# Licensing
license_required = True
- license_files = ['gurobi.lic']
- license_vars = ['GRB_LICENSE_FILE']
- license_url = 'http://www.gurobi.com/downloads/download-center'
+ license_files = ["gurobi.lic"]
+ license_vars = ["GRB_LICENSE_FILE"]
+ license_url = "http://www.gurobi.com/downloads/download-center"
- extends('python')
- depends_on('python@2.7,3.6:')
+ extends("python")
+ depends_on("python@2.7,3.6:")
def url_for_version(self, version):
return "file://{0}/gurobi{1}_linux64.tar.gz".format(os.getcwd(), version)
@@ -44,18 +44,18 @@ class Gurobi(Package):
def patch(self):
# Strip out existing PYTHONPATH as the presence of that will generally
# break given that Spack has likely set that for a different Python.
- gurobi_shell = join_path('linux64', 'bin', 'gurobi.sh')
- filter_file(r':\$PYTHONPATH', '', gurobi_shell)
+ gurobi_shell = join_path("linux64", "bin", "gurobi.sh")
+ filter_file(r":\$PYTHONPATH", "", gurobi_shell)
def setup_run_environment(self, env):
- env.set('GUROBI_HOME', self.prefix)
- env.set('GRB_LICENSE_FILE', join_path(self.prefix, 'gurobi.lic'))
+ env.set("GUROBI_HOME", self.prefix)
+ env.set("GRB_LICENSE_FILE", join_path(self.prefix, "gurobi.lic"))
def install(self, spec, prefix):
- install_tree('linux64', prefix)
+ install_tree("linux64", prefix)
- @run_after('install')
+ @run_after("install")
def gurobipy(self):
- with working_dir('linux64'):
- python = which('python')
- python('setup.py', 'install', '--prefix={0}'.format(self.prefix))
+ with working_dir("linux64"):
+ python = which("python")
+ python("setup.py", "install", "--prefix={0}".format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/gxsview/package.py b/var/spack/repos/builtin/packages/gxsview/package.py
index 4ebf335d32..f6a130d2ef 100644
--- a/var/spack/repos/builtin/packages/gxsview/package.py
+++ b/var/spack/repos/builtin/packages/gxsview/package.py
@@ -15,34 +15,33 @@ class Gxsview(QMakePackage):
or 3D(stl, vtk, vtp and ply) formats."""
homepage = "https://www.nmri.go.jp/study/research_organization/risk/gxsview/en/index.html"
- url = "https://www.nmri.go.jp/study/research_organization/risk/gxsview/download/gxsview-2021.07.01-src.zip"
+ url = "https://www.nmri.go.jp/study/research_organization/risk/gxsview/download/gxsview-2021.07.01-src.zip"
# Support email for questions ohnishi@m.mpat.go.jp
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('2021.07.01', '000f9b4721d4ee03b02730dbbfe83947f96a60a183342b127f0b6b63b03e8f9a')
+ version("2021.07.01", "000f9b4721d4ee03b02730dbbfe83947f96a60a183342b127f0b6b63b03e8f9a")
- depends_on('fontconfig')
- depends_on('qt@5.14.0:+opengl+gui')
- depends_on('vtk@8.0:+qt+opengl2') # +mpi+python are optional
- conflicts('%gcc@:7.2.0', msg='Requires C++17 compiler support') # need C++17 standard
+ depends_on("fontconfig")
+ depends_on("qt@5.14.0:+opengl+gui")
+ depends_on("vtk@8.0:+qt+opengl2") # +mpi+python are optional
+ conflicts("%gcc@:7.2.0", msg="Requires C++17 compiler support") # need C++17 standard
- patch('vtk9.patch', when='^vtk@9:')
+ patch("vtk9.patch", when="^vtk@9:")
- build_directory = 'gui'
+ build_directory = "gui"
def qmake_args(self):
- vtk_suffix = self.spec['vtk'].version.up_to(2)
- vtk_lib_dir = self.spec['vtk'].prefix.lib
- vtk_include_dir = join_path(self.spec['vtk'].prefix.include,
- 'vtk-{0}'.format(vtk_suffix))
+ vtk_suffix = self.spec["vtk"].version.up_to(2)
+ vtk_lib_dir = self.spec["vtk"].prefix.lib
+ vtk_include_dir = join_path(self.spec["vtk"].prefix.include, "vtk-{0}".format(vtk_suffix))
args = [
- 'VTK_LIB_DIR={0}'.format(vtk_lib_dir),
- 'VTK_INC_DIR={0}'.format(vtk_include_dir),
- 'VTK_MAJOR_VER={0}'.format(str(vtk_suffix)),
+ "VTK_LIB_DIR={0}".format(vtk_lib_dir),
+ "VTK_INC_DIR={0}".format(vtk_include_dir),
+ "VTK_MAJOR_VER={0}".format(str(vtk_suffix)),
]
return args
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path('gui', 'gxsview'), prefix.bin)
+ install(join_path("gui", "gxsview"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/gzip/package.py b/var/spack/repos/builtin/packages/gzip/package.py
index 4c2cd7d12f..9dd132af1b 100644
--- a/var/spack/repos/builtin/packages/gzip/package.py
+++ b/var/spack/repos/builtin/packages/gzip/package.py
@@ -10,11 +10,11 @@ class Gzip(AutotoolsPackage):
Jean-loup Gailly for the GNU project."""
homepage = "https://www.gnu.org/software/gzip/"
- url = "https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.gz"
+ url = "https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.gz"
- version('1.12', sha256='5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085')
- version('1.11', sha256='3e8a0e0c45bad3009341dce17d71536c4c655d9313039021ce7554a26cd50ed9')
- version('1.10', sha256='c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68')
+ version("1.12", sha256="5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085")
+ version("1.11", sha256="3e8a0e0c45bad3009341dce17d71536c4c655d9313039021ce7554a26cd50ed9")
+ version("1.10", sha256="c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68")
# Gzip makes a recursive symlink if built in-source
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/h2database/package.py b/var/spack/repos/builtin/packages/h2database/package.py
index 9b86b36e5d..8af2ad68ea 100644
--- a/var/spack/repos/builtin/packages/h2database/package.py
+++ b/var/spack/repos/builtin/packages/h2database/package.py
@@ -11,17 +11,17 @@ class H2database(MavenPackage):
"""H2 is an embeddable RDBMS written in Java."""
homepage = "https://h2database.com"
- url = "https://github.com/h2database/h2database/archive/version-1.4.200.tar.gz"
+ url = "https://github.com/h2database/h2database/archive/version-1.4.200.tar.gz"
- version('1.4.200', sha256='59df19cc708442ae54a9639fc1c8c98ec6a55f66c154b39807032ba04fbe9c92')
- version('1.4.199', sha256='0f59d6e4ca71dda44a252897ca717a873abc1db800011fa068a7a57f921193ce')
- version('1.4.198', sha256='abba231e41ca31a9cc6571987ad97fe2c43232dc6d0e01c69ffbfcf3ea838967')
- version('1.4.197', sha256='46d883a491f56270bbd681afc8237a5d69787c1838561e8680afbac693c26344')
- version('1.4.196', sha256='9b0c7edac6ab7faad25743702aff1af63329fca37f6f5677908ae31ab968b219')
- version('1.4.195', sha256='ad7fe6cd2c2ef08eb026279468e4d2b37c979c053fd7a523982d843a03a8c560')
- version('1.4.194', sha256='0941a0d704be6e381644a39fa6003c0b0203905285a8330c905b950dfa2bbe31')
- version('1.4.193', sha256='7da24c48c2f06b59e21955f7dd8c919836f600ccf98b41531c24ec09c622149c')
- version('1.4.192', sha256='b5f370d7256cf816696a28acd282ed10bf8a05e09b814bf79d4527509846c977')
- version('1.4.191', sha256='9890adc66979647b131242e87ad1498b906c0dcc041d25fcb24ff304b86b4f98')
+ version("1.4.200", sha256="59df19cc708442ae54a9639fc1c8c98ec6a55f66c154b39807032ba04fbe9c92")
+ version("1.4.199", sha256="0f59d6e4ca71dda44a252897ca717a873abc1db800011fa068a7a57f921193ce")
+ version("1.4.198", sha256="abba231e41ca31a9cc6571987ad97fe2c43232dc6d0e01c69ffbfcf3ea838967")
+ version("1.4.197", sha256="46d883a491f56270bbd681afc8237a5d69787c1838561e8680afbac693c26344")
+ version("1.4.196", sha256="9b0c7edac6ab7faad25743702aff1af63329fca37f6f5677908ae31ab968b219")
+ version("1.4.195", sha256="ad7fe6cd2c2ef08eb026279468e4d2b37c979c053fd7a523982d843a03a8c560")
+ version("1.4.194", sha256="0941a0d704be6e381644a39fa6003c0b0203905285a8330c905b950dfa2bbe31")
+ version("1.4.193", sha256="7da24c48c2f06b59e21955f7dd8c919836f600ccf98b41531c24ec09c622149c")
+ version("1.4.192", sha256="b5f370d7256cf816696a28acd282ed10bf8a05e09b814bf79d4527509846c977")
+ version("1.4.191", sha256="9890adc66979647b131242e87ad1498b906c0dcc041d25fcb24ff304b86b4f98")
- build_directory = 'h2'
+ build_directory = "h2"
diff --git a/var/spack/repos/builtin/packages/h5bench/package.py b/var/spack/repos/builtin/packages/h5bench/package.py
index fb031e6c53..2b73dc4e6f 100644
--- a/var/spack/repos/builtin/packages/h5bench/package.py
+++ b/var/spack/repos/builtin/packages/h5bench/package.py
@@ -9,49 +9,47 @@ from spack.package 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'
+ homepage = "https://github.com/hpc-io/h5bench"
+ git = "https://github.com/hpc-io/h5bench.git"
- maintainers = ['jeanbez', 'sbyna']
+ maintainers = ["jeanbez", "sbyna"]
- version('latest', branch='master', submodules=True)
- version('develop', branch='develop', submodules=True)
+ version("latest", branch="master", submodules=True)
+ version("develop", branch="develop", submodules=True)
- version('1.2', commit='866af6777573d20740d02acc47a9080de093e4ad', submodules=True)
- version('1.1', commit='1276530a128025b83a4d9e3814a98f92876bb5c4', submodules=True)
- version('1.0', commit='9d3438c1bc66c5976279ef203bd11a8d48ade724', submodules=True)
+ version("1.2", commit="866af6777573d20740d02acc47a9080de093e4ad", submodules=True)
+ version("1.1", commit="1276530a128025b83a4d9e3814a98f92876bb5c4", submodules=True)
+ version("1.0", commit="9d3438c1bc66c5976279ef203bd11a8d48ade724", submodules=True)
- variant('metadata', default=False, when='@1.2:', description='Enables metadata benchmark')
- variant('amrex', default=False, when='@1.2:', description='Enables AMReX benchmark')
- variant('exerciser', default=False, when='@1.2:', description='Enables exerciser benchmark')
- variant('openpmd', default=False, when='@1.2:', description='Enables OpenPMD benchmark')
- variant('e3sm', default=False, when='@1.2:', description='Enables E3SM benchmark')
- variant('all', default=False, when='@1.2:', description='Enables all h5bench benchmarks')
+ variant("metadata", default=False, when="@1.2:", description="Enables metadata benchmark")
+ variant("amrex", default=False, when="@1.2:", description="Enables AMReX benchmark")
+ variant("exerciser", default=False, when="@1.2:", description="Enables exerciser benchmark")
+ variant("openpmd", default=False, when="@1.2:", description="Enables OpenPMD benchmark")
+ variant("e3sm", default=False, when="@1.2:", description="Enables E3SM benchmark")
+ variant("all", default=False, when="@1.2:", description="Enables all h5bench benchmarks")
- depends_on('cmake@3.10:', type='build')
- depends_on('mpi')
- depends_on('hdf5+mpi@1.12.0:1,develop-1.12:')
- depends_on('parallel-netcdf', when='+e3sm')
- depends_on('parallel-netcdf', when='+all')
+ depends_on("cmake@3.10:", type="build")
+ depends_on("mpi")
+ depends_on("hdf5+mpi@1.12.0:1,develop-1.12:")
+ depends_on("parallel-netcdf", when="+e3sm")
+ depends_on("parallel-netcdf", when="+all")
- @run_after('install')
+ @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)
+ 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)
+ env.set("HDF5_HOME", self.spec["hdf5"].prefix)
def cmake_args(self):
args = [
- self.define_from_variant('H5BENCH_METADATA', 'metadata'),
- self.define_from_variant('H5BENCH_AMREX', 'amrex'),
- self.define_from_variant('H5BENCH_EXERCISER', 'exerciser'),
- self.define_from_variant('H5BENCH_OPENPMD', 'openpmd'),
- self.define_from_variant('H5BENCH_E3SM', 'e3sm'),
- self.define_from_variant('H5BENCH_ALL', 'all')
+ self.define_from_variant("H5BENCH_METADATA", "metadata"),
+ self.define_from_variant("H5BENCH_AMREX", "amrex"),
+ self.define_from_variant("H5BENCH_EXERCISER", "exerciser"),
+ self.define_from_variant("H5BENCH_OPENPMD", "openpmd"),
+ self.define_from_variant("H5BENCH_E3SM", "e3sm"),
+ self.define_from_variant("H5BENCH_ALL", "all"),
]
return args
diff --git a/var/spack/repos/builtin/packages/h5cpp/package.py b/var/spack/repos/builtin/packages/h5cpp/package.py
index 208701781b..3a0c7f6353 100644
--- a/var/spack/repos/builtin/packages/h5cpp/package.py
+++ b/var/spack/repos/builtin/packages/h5cpp/package.py
@@ -10,26 +10,25 @@ class H5cpp(CMakePackage):
"""Easy to use HDF5 C++ templates for Serial and Parallel HDF5"""
homepage = "http://h5cpp.org"
- url = "https://github.com/steven-varga/h5cpp/archive/v1.10.4-5.tar.gz"
- git = "https://github.com/steven-varga/h5cpp.git"
+ url = "https://github.com/steven-varga/h5cpp/archive/v1.10.4-5.tar.gz"
+ git = "https://github.com/steven-varga/h5cpp.git"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('master', branch='master')
- version('1.10.4-6', sha256='4fbc8e777dc78a37ec2fe8c7b6a47114080ffe587f083e83a2046b5e794aef93')
- version('1.10.4-5', sha256='661ccc4d76e081afc73df71ef11d027837d92dd1089185f3650afcaec9d418ec')
+ version("master", branch="master")
+ version("1.10.4-6", sha256="4fbc8e777dc78a37ec2fe8c7b6a47114080ffe587f083e83a2046b5e794aef93")
+ version("1.10.4-5", sha256="661ccc4d76e081afc73df71ef11d027837d92dd1089185f3650afcaec9d418ec")
- variant('mpi', default=True, description='Include MPI support')
+ variant("mpi", default=True, description="Include MPI support")
- depends_on('cmake @3.10:', type='build')
- depends_on('hdf5 @1.10.4:')
- depends_on('hdf5 +mpi', when='+mpi')
- depends_on('mpi', when='+mpi')
+ depends_on("cmake @3.10:", type="build")
+ depends_on("hdf5 @1.10.4:")
+ depends_on("hdf5 +mpi", when="+mpi")
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
return [
- '-DHDF5_INCLUDE_DIRS=%s' %
- self.spec['hdf5'].headers.directories[0],
- '-DHDF5_LIBRARIES=%s' % self.spec['hdf5'].libs.directories[0],
- '-DH5CPP_BUILD_TESTS=OFF',
+ "-DHDF5_INCLUDE_DIRS=%s" % self.spec["hdf5"].headers.directories[0],
+ "-DHDF5_LIBRARIES=%s" % self.spec["hdf5"].libs.directories[0],
+ "-DH5CPP_BUILD_TESTS=OFF",
]
diff --git a/var/spack/repos/builtin/packages/h5hut/package.py b/var/spack/repos/builtin/packages/h5hut/package.py
index 0879f8ed14..6ca45901a9 100644
--- a/var/spack/repos/builtin/packages/h5hut/package.py
+++ b/var/spack/repos/builtin/packages/h5hut/package.py
@@ -12,45 +12,46 @@ class H5hut(AutotoolsPackage):
High-Performance I/O Library for Particle-based Simulations."""
homepage = "https://amas.psi.ch/H5hut/"
- url = "https://amas.web.psi.ch/Downloads/H5hut/H5hut-2.0.0rc3.tar.gz"
+ url = "https://amas.web.psi.ch/Downloads/H5hut/H5hut-2.0.0rc3.tar.gz"
- version('2.0.0rc3', sha256='1ca9a9478a99e1811ecbca3c02cc49258050d339ffb1a170006eab4ab2a01790')
+ version("2.0.0rc3", sha256="1ca9a9478a99e1811ecbca3c02cc49258050d339ffb1a170006eab4ab2a01790")
- variant('fortran', default=True, description='Enable Fortran support')
- variant('mpi', default=True, description='Enable MPI support')
+ variant("fortran", default=True, description="Enable Fortran support")
+ variant("mpi", default=True, description="Enable MPI support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# h5hut +mpi uses the obsolete function H5Pset_fapl_mpiposix:
- depends_on('hdf5@1.8:1.8.12+mpi', when='+mpi')
- depends_on('hdf5@1.8:', when='~mpi')
+ depends_on("hdf5@1.8:1.8.12+mpi", when="+mpi")
+ depends_on("hdf5@1.8:", when="~mpi")
# If built in parallel, the following error message occurs:
# install: .libs/libH5hut.a: No such file or directory
parallel = False
- @run_before('configure')
+ @run_before("configure")
def validate(self):
"""Checks if Fortran compiler is available."""
- if '+fortran' in self.spec and not self.compiler.fc:
- raise RuntimeError(
- 'Cannot build Fortran variant without a Fortran compiler.')
+ if "+fortran" in self.spec and not self.compiler.fc:
+ raise RuntimeError("Cannot build Fortran variant without a Fortran compiler.")
def configure_args(self):
spec = self.spec
- config_args = ['--enable-shared']
-
- if '+fortran' in spec:
- config_args.append('--enable-fortran')
-
- if '+mpi' in spec:
- config_args.extend([
- '--enable-parallel',
- 'CC={0}'.format(spec['mpi'].mpicc),
- 'CXX={0}'.format(spec['mpi'].mpicxx)
- ])
-
- if '+fortran' in spec:
- config_args.append('FC={0}'.format(spec['mpi'].mpifc))
+ config_args = ["--enable-shared"]
+
+ if "+fortran" in spec:
+ config_args.append("--enable-fortran")
+
+ if "+mpi" in spec:
+ config_args.extend(
+ [
+ "--enable-parallel",
+ "CC={0}".format(spec["mpi"].mpicc),
+ "CXX={0}".format(spec["mpi"].mpicxx),
+ ]
+ )
+
+ if "+fortran" in spec:
+ config_args.append("FC={0}".format(spec["mpi"].mpifc))
return config_args
diff --git a/var/spack/repos/builtin/packages/h5part/package.py b/var/spack/repos/builtin/packages/h5part/package.py
index a922dd947f..325b62ae6c 100644
--- a/var/spack/repos/builtin/packages/h5part/package.py
+++ b/var/spack/repos/builtin/packages/h5part/package.py
@@ -11,17 +11,19 @@ class H5part(AutotoolsPackage):
"""Portable High Performance Parallel Data Interface to HDF5"""
homepage = "https://dav.lbl.gov/archive/Research/AcceleratorSAPP/"
- url = "https://codeforge.lbl.gov/frs/download.php/latestfile/18/H5Part-1.6.6.tar.gz"
+ url = "https://codeforge.lbl.gov/frs/download.php/latestfile/18/H5Part-1.6.6.tar.gz"
- version('1.6.6', sha256='10347e7535d1afbb08d51be5feb0ae008f73caf889df08e3f7dde717a99c7571')
- patch('mpiio.patch')
+ version("1.6.6", sha256="10347e7535d1afbb08d51be5feb0ae008f73caf889df08e3f7dde717a99c7571")
+ patch("mpiio.patch")
- depends_on('mpi')
- depends_on('hdf5+mpi')
+ depends_on("mpi")
+ depends_on("hdf5+mpi")
def configure_args(self):
- args = ['--enable-parallel',
- '--with-hdf5=%s' % self.spec['hdf5'].prefix,
- 'CC=mpicc',
- 'CXX=mpicxx']
+ args = [
+ "--enable-parallel",
+ "--with-hdf5=%s" % self.spec["hdf5"].prefix,
+ "CC=mpicc",
+ "CXX=mpicxx",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/h5utils/package.py b/var/spack/repos/builtin/packages/h5utils/package.py
index 86fe6ed1f1..99b4e398da 100644
--- a/var/spack/repos/builtin/packages/h5utils/package.py
+++ b/var/spack/repos/builtin/packages/h5utils/package.py
@@ -11,46 +11,49 @@ class H5utils(AutotoolsPackage):
scientific data in the free, portable HDF5 format."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/H5utils"
- url = "https://github.com/NanoComp/h5utils/releases/download/1.13.1/h5utils-1.13.1.tar.gz"
+ url = "https://github.com/NanoComp/h5utils/releases/download/1.13.1/h5utils-1.13.1.tar.gz"
- version('1.13.1', sha256='c5a76f064d6daa3e65583dce2b61202510e67cf6590f076af9a8aa72511d7d65')
- version('1.12.1', sha256='7e6db86fee00a8008f78b2be921177042c661203c0936b078fcc8f9c71e4a883',
- url="https://github.com/NanoComp/h5utils/archive/refs/tags/1.12.1.tar.gz")
+ version("1.13.1", sha256="c5a76f064d6daa3e65583dce2b61202510e67cf6590f076af9a8aa72511d7d65")
+ version(
+ "1.12.1",
+ sha256="7e6db86fee00a8008f78b2be921177042c661203c0936b078fcc8f9c71e4a883",
+ url="https://github.com/NanoComp/h5utils/archive/refs/tags/1.12.1.tar.gz",
+ )
- variant('png', default=True, description='Enable PNG support')
- variant('vis5d', default=False, description='Enable Vis5d support')
- variant('octave', default=False, description='Enable GNU Octave support')
- variant('hdf4', default=False, description='Enable HDF4 support')
- variant('math', default=False, description='Build h5math')
+ variant("png", default=True, description="Enable PNG support")
+ variant("vis5d", default=False, description="Enable Vis5d support")
+ variant("octave", default=False, description="Enable GNU Octave support")
+ variant("hdf4", default=False, description="Enable HDF4 support")
+ variant("math", default=False, description="Build h5math")
# Required dependencies
- depends_on('hdf5')
+ depends_on("hdf5")
# Optional dependencies
- depends_on('libpng', when='+png')
- depends_on('libpng@:1.5.0', when='@1.12.1+png')
+ depends_on("libpng", when="+png")
+ depends_on("libpng@:1.5.0", when="@1.12.1+png")
# depends_on('vis5d', when='+vis5d') # TODO: Add a vis5d package
- depends_on('octave', when='+octave')
- depends_on('hdf', when='+hdf4')
- depends_on('libmatheval', when='+math')
+ depends_on("octave", when="+octave")
+ depends_on("hdf", when="+hdf4")
+ depends_on("libmatheval", when="+math")
def configure_args(self):
spec = self.spec
args = []
- if '+vis5d' in spec:
- args.append('--with-v5d={0}'.format(spec['vis5d'].prefix))
+ if "+vis5d" in spec:
+ args.append("--with-v5d={0}".format(spec["vis5d"].prefix))
else:
- args.append('--without-v5d')
+ args.append("--without-v5d")
- if '+octave' in spec:
- args.append('--with-octave')
+ if "+octave" in spec:
+ args.append("--with-octave")
else:
- args.append('--without-octave')
+ args.append("--without-octave")
- if '+hdf' in spec:
- args.append('--with-hdf4')
+ if "+hdf" in spec:
+ args.append("--with-hdf4")
else:
- args.append('--without-hdf4')
+ args.append("--without-hdf4")
return args
diff --git a/var/spack/repos/builtin/packages/h5z-zfp/package.py b/var/spack/repos/builtin/packages/h5z-zfp/package.py
index e9728bcd15..0399e39fd4 100644
--- a/var/spack/repos/builtin/packages/h5z-zfp/package.py
+++ b/var/spack/repos/builtin/packages/h5z-zfp/package.py
@@ -8,57 +8,61 @@ from spack.package import *
class H5zZfp(MakefilePackage):
"""A highly flexible floating point and integer compression plugin for the
- HDF5 library using ZFP compression."""
+ HDF5 library using ZFP compression."""
homepage = "https://h5z-zfp.readthedocs.io/en/latest"
- git = "https://github.com/LLNL/H5Z-ZFP.git"
- url = "https://github.com/LLNL/H5Z-ZFP/archive/refs/tags/v1.0.1.tar.gz"
+ git = "https://github.com/LLNL/H5Z-ZFP.git"
+ url = "https://github.com/LLNL/H5Z-ZFP/archive/refs/tags/v1.0.1.tar.gz"
- version('develop', branch='master')
- version('1.0.1', sha256='b9ed91dab8e2ef82dc6706b4242c807fb352875e3b21c217dd00782dd1a22b24')
- version('0.8.0', sha256='a5eb089191369a5e929c51ec9e5da107afaee39c6ab3b7ad693c454319ab9217')
- version('0.7.0', sha256='f728b0bcb9e9cf8bafe05909ab02fec39415635d275e98b661176f69d34f87b3')
+ version("develop", branch="master")
+ version("1.0.1", sha256="b9ed91dab8e2ef82dc6706b4242c807fb352875e3b21c217dd00782dd1a22b24")
+ version("0.8.0", sha256="a5eb089191369a5e929c51ec9e5da107afaee39c6ab3b7ad693c454319ab9217")
+ version("0.7.0", sha256="f728b0bcb9e9cf8bafe05909ab02fec39415635d275e98b661176f69d34f87b3")
- variant('fortran', default=True, description='Enable Fortran support')
+ variant("fortran", default=True, description="Enable Fortran support")
- depends_on('hdf5+fortran', when='+fortran')
- depends_on('hdf5', when='~fortran')
- depends_on('mpi', when='^hdf5+mpi')
- depends_on('zfp bsws=8')
+ depends_on("hdf5+fortran", when="+fortran")
+ depends_on("hdf5", when="~fortran")
+ depends_on("mpi", when="^hdf5+mpi")
+ depends_on("zfp bsws=8")
- patch('https://github.com/LLNL/H5Z-ZFP/commit/983a1870cefff5fdb643898a14eda855c2c231e4.patch?full_index=1',
- sha256='07a53b8b0d4c1df62a3f9f21b30ad0eb90f26b38eb6cacc0de6482fd8f5daea2', when='@1.0.1')
- patch('config.make.patch', when='@0.7.0:0.8.0')
- patch('config.make.0.7.0.patch', when='@0.7.0')
- patch('Makefile.0.7.0.patch', when='@0.7.0')
- patch('fj.patch', when='@0.7.0: %fj')
+ patch(
+ "https://github.com/LLNL/H5Z-ZFP/commit/983a1870cefff5fdb643898a14eda855c2c231e4.patch?full_index=1",
+ sha256="07a53b8b0d4c1df62a3f9f21b30ad0eb90f26b38eb6cacc0de6482fd8f5daea2",
+ when="@1.0.1",
+ )
+ patch("config.make.patch", when="@0.7.0:0.8.0")
+ patch("config.make.0.7.0.patch", when="@0.7.0")
+ patch("Makefile.0.7.0.patch", when="@0.7.0")
+ patch("fj.patch", when="@0.7.0: %fj")
@property
def make_defs(self):
cc = spack_cc
fc = spack_fc
- if '^hdf5+mpi' in self.spec:
- cc = self.spec['mpi'].mpicc
- fc = self.spec['mpi'].mpifc
+ if "^hdf5+mpi" in self.spec:
+ cc = self.spec["mpi"].mpicc
+ fc = self.spec["mpi"].mpifc
make_defs = [
- 'PREFIX=%s' % prefix,
- 'CC=%s' % cc,
- 'HDF5_HOME=%s' % self.spec['hdf5'].prefix,
- 'ZFP_HOME=%s' % self.spec['zfp'].prefix]
+ "PREFIX=%s" % prefix,
+ "CC=%s" % cc,
+ "HDF5_HOME=%s" % self.spec["hdf5"].prefix,
+ "ZFP_HOME=%s" % self.spec["zfp"].prefix,
+ ]
- if '+fortran' in self.spec and fc:
- make_defs += ['FC=%s' % fc]
+ if "+fortran" in self.spec and fc:
+ make_defs += ["FC=%s" % fc]
else:
- make_defs += ['FC=']
+ make_defs += ["FC="]
return make_defs
@property
def build_targets(self):
- targets = ['all']
+ targets = ["all"]
return self.make_defs + targets
@property
def install_targets(self):
- make_args = ['install']
+ make_args = ["install"]
return make_args + self.make_defs
diff --git a/var/spack/repos/builtin/packages/hacckernels/package.py b/var/spack/repos/builtin/packages/hacckernels/package.py
index 85a782a8f8..99ff9ebfc4 100644
--- a/var/spack/repos/builtin/packages/hacckernels/package.py
+++ b/var/spack/repos/builtin/packages/hacckernels/package.py
@@ -14,13 +14,13 @@ class Hacckernels(CMakePackage):
cores and beyond."""
homepage = "https://xgitlab.cels.anl.gov/hacc/HACCKernels"
- git = "https://xgitlab.cels.anl.gov/hacc/HACCKernels.git"
+ git = "https://xgitlab.cels.anl.gov/hacc/HACCKernels.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('develop', branch='master')
+ version("develop", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('README', prefix)
- install(join_path(self.build_directory, 'HACCKernels'), prefix.bin)
+ install("README", prefix)
+ install(join_path(self.build_directory, "HACCKernels"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hackrf-host/package.py b/var/spack/repos/builtin/packages/hackrf-host/package.py
index 2888187677..fe8f9513dd 100644
--- a/var/spack/repos/builtin/packages/hackrf-host/package.py
+++ b/var/spack/repos/builtin/packages/hackrf-host/package.py
@@ -12,14 +12,14 @@ class HackrfHost(CMakePackage):
Radio platform."""
homepage = "https://github.com/mossmann/hackrf"
- url = "https://github.com/mossmann/hackrf/archive/v2018.01.1.tar.gz"
+ url = "https://github.com/mossmann/hackrf/archive/v2018.01.1.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- root_cmakelists_dir = 'host'
+ root_cmakelists_dir = "host"
- version('2018.01.1', sha256='84dbb5536d3aa5bd6b25d50df78d591e6c3431d752de051a17f4cb87b7963ec3')
+ version("2018.01.1", sha256="84dbb5536d3aa5bd6b25d50df78d591e6c3431d752de051a17f4cb87b7963ec3")
- depends_on('cmake@2.8.12:', type='build')
- depends_on('libusb@1.0.18:')
- depends_on('fftw@3.3.5:')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("libusb@1.0.18:")
+ depends_on("fftw@3.3.5:")
diff --git a/var/spack/repos/builtin/packages/hadoop-xrootd/package.py b/var/spack/repos/builtin/packages/hadoop-xrootd/package.py
index 359c40fe30..41d9e27d94 100644
--- a/var/spack/repos/builtin/packages/hadoop-xrootd/package.py
+++ b/var/spack/repos/builtin/packages/hadoop-xrootd/package.py
@@ -10,18 +10,16 @@ class HadoopXrootd(MavenPackage):
"""Connector between Hadoop and XRootD protocols (EOS compatible)."""
homepage = "https://gitlab.cern.ch/db/hadoop-xrootd"
- url = "https://lcgpackages.web.cern.ch/tarFiles/sources/hadoop-xrootd-v1.0.7.tar.gz"
+ url = "https://lcgpackages.web.cern.ch/tarFiles/sources/hadoop-xrootd-v1.0.7.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('1.0.7', sha256='9a129dc14b3dc139aa4da7543f6392a5c80b41fea6bb9f6cd27db5acf6f5471f')
+ version("1.0.7", sha256="9a129dc14b3dc139aa4da7543f6392a5c80b41fea6bb9f6cd27db5acf6f5471f")
- depends_on('hadoop')
- depends_on('xrootd')
- conflicts('%clang')
+ depends_on("hadoop")
+ depends_on("xrootd")
+ conflicts("%clang")
def build_args(self):
- xrootd_prefix = self.spec['xrootd'].prefix
- return [
- '-Dxrootd.include.path={0}/include/xrootd'.format(xrootd_prefix)
- ]
+ xrootd_prefix = self.spec["xrootd"].prefix
+ return ["-Dxrootd.include.path={0}/include/xrootd".format(xrootd_prefix)]
diff --git a/var/spack/repos/builtin/packages/hadoop/package.py b/var/spack/repos/builtin/packages/hadoop/package.py
index 1e7fa3fd35..1b357da415 100644
--- a/var/spack/repos/builtin/packages/hadoop/package.py
+++ b/var/spack/repos/builtin/packages/hadoop/package.py
@@ -13,31 +13,30 @@ class Hadoop(Package):
"""
homepage = "https://hadoop.apache.org/"
- url = "https://archive.apache.org/dist/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz"
-
- version('3.3.2', sha256='b341587495b12eec0b244b517f21df88eb46ef634dc7dc3e5969455b80ce2ce5')
- version('3.3.0', sha256='ea1a0f0afcdfb9b6b9d261cdce5a99023d7e8f72d26409e87f69bda65c663688')
- version('3.2.2', sha256='97e73b46c3972cd3c40c2295bd9488843c24e8503c36e7c57f6e6ecc4e12b8c3')
- version('3.2.1', sha256='f66a3a4115b8f16c1077d1a198a06854dbef0e4233291712ed08d0a10629ed37')
- version('3.1.3', sha256='1e8b7ca4e3911f8ec999595f71921390e9ad7a27255fbd36af1f3a1628b67e2b')
- version('2.10.1', sha256='273d5fa1d479d0bb96759b16cf4cbd6ba3e7f863a0778cbae55ab83417e961f0')
- version('2.10.0', sha256='131750c258368be4baff5d4a83b4de2cd119bda3774ed26d1d233b6fdf33f07f')
- version('2.9.2', sha256='3d2023c46b1156c1b102461ad08cbc17c8cc53004eae95dab40a1f659839f28a')
- version('2.8.5', sha256='f9c726df693ce2daa4107886f603270d66e7257f77a92c9886502d6cd4a884a4')
- version('2.7.7', sha256='d129d08a2c9dafec32855a376cbd2ab90c6a42790898cabbac6be4d29f9c2026')
- version('2.7.5', sha256='0bfc4d9b04be919be2fdf36f67fa3b4526cdbd406c512a7a1f5f1b715661f831')
-
- depends_on('java', type='run')
+ url = "https://archive.apache.org/dist/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz"
+
+ version("3.3.2", sha256="b341587495b12eec0b244b517f21df88eb46ef634dc7dc3e5969455b80ce2ce5")
+ version("3.3.0", sha256="ea1a0f0afcdfb9b6b9d261cdce5a99023d7e8f72d26409e87f69bda65c663688")
+ version("3.2.2", sha256="97e73b46c3972cd3c40c2295bd9488843c24e8503c36e7c57f6e6ecc4e12b8c3")
+ version("3.2.1", sha256="f66a3a4115b8f16c1077d1a198a06854dbef0e4233291712ed08d0a10629ed37")
+ version("3.1.3", sha256="1e8b7ca4e3911f8ec999595f71921390e9ad7a27255fbd36af1f3a1628b67e2b")
+ version("2.10.1", sha256="273d5fa1d479d0bb96759b16cf4cbd6ba3e7f863a0778cbae55ab83417e961f0")
+ version("2.10.0", sha256="131750c258368be4baff5d4a83b4de2cd119bda3774ed26d1d233b6fdf33f07f")
+ version("2.9.2", sha256="3d2023c46b1156c1b102461ad08cbc17c8cc53004eae95dab40a1f659839f28a")
+ version("2.8.5", sha256="f9c726df693ce2daa4107886f603270d66e7257f77a92c9886502d6cd4a884a4")
+ version("2.7.7", sha256="d129d08a2c9dafec32855a376cbd2ab90c6a42790898cabbac6be4d29f9c2026")
+ version("2.7.5", sha256="0bfc4d9b04be919be2fdf36f67fa3b4526cdbd406c512a7a1f5f1b715661f831")
+
+ depends_on("java", type="run")
def install(self, spec, prefix):
-
def install_dir(dirname):
install_tree(dirname, join_path(prefix, dirname))
- install_dir('bin')
- install_dir('etc')
- install_dir('include')
- install_dir('lib')
- install_dir('libexec')
- install_dir('sbin')
- install_dir('share')
+ install_dir("bin")
+ install_dir("etc")
+ install_dir("include")
+ install_dir("lib")
+ install_dir("libexec")
+ install_dir("sbin")
+ install_dir("share")
diff --git a/var/spack/repos/builtin/packages/hal/package.py b/var/spack/repos/builtin/packages/hal/package.py
index c8ecc641d5..a758a035dc 100644
--- a/var/spack/repos/builtin/packages/hal/package.py
+++ b/var/spack/repos/builtin/packages/hal/package.py
@@ -17,79 +17,84 @@ class Hal(MakefilePackage):
respect to an arbitrary reference or subtree."""
homepage = "https://github.com/ComparativeGenomicsToolkit/hal"
- url = "https://github.com/ComparativeGenomicsToolkit/hal/archive/release-V2.1.tar.gz"
+ url = "https://github.com/ComparativeGenomicsToolkit/hal/archive/release-V2.1.tar.gz"
- version('2.1', '540255be1af55abf390359fe034b82d7e61bdf6c3277df3cc01259cd450994e5')
+ version("2.1", "540255be1af55abf390359fe034b82d7e61bdf6c3277df3cc01259cd450994e5")
- maintainers = ['ilbiondo']
+ maintainers = ["ilbiondo"]
# HAL expects to be compiled alongside sonlib so we need both the
# source version and python library version
- depends_on('hdf5+cxx~mpi')
- depends_on('sonlib', type='build')
- depends_on('python', type='run')
- depends_on('py-sonlib', type='run')
+ depends_on("hdf5+cxx~mpi")
+ depends_on("sonlib", type="build")
+ depends_on("python", type="run")
+ depends_on("py-sonlib", type="run")
# As we install sonlib seperately the include.mk needs
# editing to comment out an include
def patch(self):
- includemk = FileFilter('include.mk')
- includemk.filter(r'^include \$\{sonLibRootDir\}/include\.mk',
- '# include ${sonLibRootDir}/include.mk')
+ includemk = FileFilter("include.mk")
+ includemk.filter(
+ r"^include \$\{sonLibRootDir\}/include\.mk", "# include ${sonLibRootDir}/include.mk"
+ )
def setup_build_environment(self, env):
- env.set('sonLibRootDir', self.spec['sonlib'].prefix)
+ env.set("sonLibRootDir", self.spec["sonlib"].prefix)
def install(self, spec, prefix):
# First the easy bit
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
# Copy the rest of the "toolkit" as to a directory named hal
# in order that the python libraries can be found and used
- haldirs = ['alignmentDepth',
- 'analysis',
- 'api',
- 'assemblyHub',
- 'benchmarks',
- 'blockViz',
- 'doc',
- 'extra',
- 'extract',
- 'fasta',
- 'liftover',
- 'lod',
- 'maf',
- 'modify',
- 'mutations',
- 'objs',
- 'phyloP',
- 'randgen',
- 'stats',
- 'synteny',
- 'testdata',
- 'validate']
+ haldirs = [
+ "alignmentDepth",
+ "analysis",
+ "api",
+ "assemblyHub",
+ "benchmarks",
+ "blockViz",
+ "doc",
+ "extra",
+ "extract",
+ "fasta",
+ "liftover",
+ "lod",
+ "maf",
+ "modify",
+ "mutations",
+ "objs",
+ "phyloP",
+ "randgen",
+ "stats",
+ "synteny",
+ "testdata",
+ "validate",
+ ]
for folder in haldirs:
- install_tree(folder, join_path(self.prefix, 'hal', folder))
+ install_tree(folder, join_path(self.prefix, "hal", folder))
- install('__init__.py', join_path(self.prefix, 'hal'))
+ install("__init__.py", join_path(self.prefix, "hal"))
# Now in order to make things useful we copy some python tools to bin
- halpyfiles = ['analysis/halContiguousRegions.py',
- 'assemblyHub/hal2assemblyHub.py',
- 'liftover/halLiftoverStatus.py',
- 'lod/halLodBenchmark.py',
- 'lod/halLodInterpolate.py',
- 'maf/hal2mafMP.py',
- 'phyloP/halPhyloPMP.py']
+ halpyfiles = [
+ "analysis/halContiguousRegions.py",
+ "assemblyHub/hal2assemblyHub.py",
+ "liftover/halLiftoverStatus.py",
+ "lod/halLodBenchmark.py",
+ "lod/halLodInterpolate.py",
+ "maf/hal2mafMP.py",
+ "phyloP/halPhyloPMP.py",
+ ]
for pyfile in halpyfiles:
@@ -99,4 +104,4 @@ class Hal(MakefilePackage):
# to be the installation root
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix)
+ env.prepend_path("PYTHONPATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/halc/package.py b/var/spack/repos/builtin/packages/halc/package.py
index b1e19273a0..5215349b4d 100644
--- a/var/spack/repos/builtin/packages/halc/package.py
+++ b/var/spack/repos/builtin/packages/halc/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Halc(MakefilePackage):
"""HALC is software that makes error correction for long reads with
- high throughput."""
+ high throughput."""
homepage = "https://github.com/lanl001/halc"
- url = "https://github.com/lanl001/halc/archive/v1.1.tar.gz"
+ url = "https://github.com/lanl001/halc/archive/v1.1.tar.gz"
- version('1.1', sha256='79675c3d6c40f567c2e1a5b5e7ec4fb150036582054f6ad079e06b73bd71c1ad')
+ version("1.1", sha256="79675c3d6c40f567c2e1a5b5e7ec4fb150036582054f6ad079e06b73bd71c1ad")
- depends_on('blasr', type='run')
- depends_on('lordec', type='run')
- depends_on('dos2unix', type='build')
- depends_on('python', type='run')
+ depends_on("blasr", type="run")
+ depends_on("lordec", type="run")
+ depends_on("dos2unix", type="build")
+ depends_on("python", type="run")
parallel = False
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install('runHALC.py', prefix.bin)
- dos2unix = which('dos2unix')
- dos2unix(join_path(self.prefix.bin, 'runHALC.py'))
+ install_tree("bin", prefix.bin)
+ install("runHALC.py", prefix.bin)
+ dos2unix = which("dos2unix")
+ dos2unix(join_path(self.prefix.bin, "runHALC.py"))
diff --git a/var/spack/repos/builtin/packages/half/package.py b/var/spack/repos/builtin/packages/half/package.py
index 5a9d4d8100..8c3024cb8d 100644
--- a/var/spack/repos/builtin/packages/half/package.py
+++ b/var/spack/repos/builtin/packages/half/package.py
@@ -17,14 +17,14 @@ class Half(Package):
C++98-compatible when neccessary."""
homepage = "https://sourceforge.net/projects/half/"
- url = "https://downloads.sourceforge.net/project/half/half/2.1.0/half-2.1.0.zip"
+ url = "https://downloads.sourceforge.net/project/half/half/2.1.0/half-2.1.0.zip"
- maintainers = ['bvanessen']
+ maintainers = ["bvanessen"]
- version('2.1.0', sha256='ad1788afe0300fa2b02b0d1df128d857f021f92ccf7c8bddd07812685fa07a25')
- version('1.12.0', sha256='cdd70d3bf3fe091b688e7ab3f48471c881a197d2c186c95cca8bf156961fb41c')
- patch('f16fix.patch', when='@2.1.0')
+ version("2.1.0", sha256="ad1788afe0300fa2b02b0d1df128d857f021f92ccf7c8bddd07812685fa07a25")
+ version("1.12.0", sha256="cdd70d3bf3fe091b688e7ab3f48471c881a197d2c186c95cca8bf156961fb41c")
+ patch("f16fix.patch", when="@2.1.0")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/hama/package.py b/var/spack/repos/builtin/packages/hama/package.py
index 9eeb3dd0cc..0fa7d4d883 100644
--- a/var/spack/repos/builtin/packages/hama/package.py
+++ b/var/spack/repos/builtin/packages/hama/package.py
@@ -14,9 +14,9 @@ class Hama(Package):
"""
homepage = "https://www-eu.apache.org"
- url = "https://www-eu.apache.org/dist/hama/hama-0.7.1/hama-dist-0.7.1.tar.gz"
+ url = "https://www-eu.apache.org/dist/hama/hama-0.7.1/hama-dist-0.7.1.tar.gz"
- version('0.7.1', sha256='c7466c2a70a949609a501e868f6a288b7142725c407e24649ea6f7121632bc89')
+ version("0.7.1", sha256="c7466c2a70a949609a501e868f6a288b7142725c407e24649ea6f7121632bc89")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/hapcut2/package.py b/var/spack/repos/builtin/packages/hapcut2/package.py
index 363455c78f..781516975d 100644
--- a/var/spack/repos/builtin/packages/hapcut2/package.py
+++ b/var/spack/repos/builtin/packages/hapcut2/package.py
@@ -8,38 +8,40 @@ from spack.package import *
class Hapcut2(MakefilePackage):
"""HapCUT2 is a maximum-likelihood-based tool for assembling haplotypes
- from DNA sequence reads, designed to 'just work' with excellent speed
- and accuracy."""
+ from DNA sequence reads, designed to 'just work' with excellent speed
+ and accuracy."""
homepage = "https://github.com/vibansal/HapCUT2"
- git = "https://github.com/vibansal/HapCUT2.git"
- maintainers = ['snehring']
-
- version('v1.3.1', commit='c6481d5fd0618dc3e82b2eb8c2b4835d9a4f6da7')
- version('2017-07-10', commit='2966b94c2c2f97813b757d4999b7a6471df1160e',
- submodules=True, deprecated=True)
-
- depends_on('htslib@1.3:')
- depends_on('curl')
- depends_on('openssl')
- depends_on('xz')
- depends_on('bzip2')
- depends_on('zlib')
-
- @when('@v1.3.1:')
+ git = "https://github.com/vibansal/HapCUT2.git"
+ maintainers = ["snehring"]
+
+ version("v1.3.1", commit="c6481d5fd0618dc3e82b2eb8c2b4835d9a4f6da7")
+ version(
+ "2017-07-10",
+ commit="2966b94c2c2f97813b757d4999b7a6471df1160e",
+ submodules=True,
+ deprecated=True,
+ )
+
+ depends_on("htslib@1.3:")
+ depends_on("curl")
+ depends_on("openssl")
+ depends_on("xz")
+ depends_on("bzip2")
+ depends_on("zlib")
+
+ @when("@v1.3.1:")
def edit(self, spec, prefix):
- filter_file('CC=.*$', '', 'Makefile')
- filter_file('CFLAGS=.*$', 'CFLAGS=-Wall -g -O3 -D_GNU_SOURCE', 'Makefile')
- with working_dir('hairs-src'):
- filter_file(r'(keyvalue\* keypointer;)', 'extern \\1',
- 'hashtable.h')
- filter_file(r'(keypointer = ht->blist\[hash\];)', 'keyvalue* \\1',
- 'hashtable.c')
+ filter_file("CC=.*$", "", "Makefile")
+ filter_file("CFLAGS=.*$", "CFLAGS=-Wall -g -O3 -D_GNU_SOURCE", "Makefile")
+ with working_dir("hairs-src"):
+ filter_file(r"(keyvalue\* keypointer;)", "extern \\1", "hashtable.h")
+ filter_file(r"(keypointer = ht->blist\[hash\];)", "keyvalue* \\1", "hashtable.c")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('build'):
- if self.spec.satisfies('@2017-07-10'):
- install('extractFOSMID', prefix.bin)
- install('extractHAIRS', prefix.bin)
- install('HAPCUT2', prefix.bin)
+ with working_dir("build"):
+ if self.spec.satisfies("@2017-07-10"):
+ install("extractFOSMID", prefix.bin)
+ install("extractHAIRS", prefix.bin)
+ install("HAPCUT2", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hapdip/package.py b/var/spack/repos/builtin/packages/hapdip/package.py
index 27af3d5694..8f4ab0c277 100644
--- a/var/spack/repos/builtin/packages/hapdip/package.py
+++ b/var/spack/repos/builtin/packages/hapdip/package.py
@@ -11,11 +11,11 @@ class Hapdip(Package):
WGS Illumina data."""
homepage = "https://github.com/lh3/hapdip"
- git = "https://github.com/lh3/hapdip.git"
+ git = "https://github.com/lh3/hapdip.git"
- version('2018.02.20', commit='7c12f684471999a543fdacce972c9c86349758a3')
+ version("2018.02.20", commit="7c12f684471999a543fdacce972c9c86349758a3")
- depends_on('k8', type='run')
+ depends_on("k8", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/haploview/package.py b/var/spack/repos/builtin/packages/haploview/package.py
index 7ed3fc0a9d..d62ce00b1f 100644
--- a/var/spack/repos/builtin/packages/haploview/package.py
+++ b/var/spack/repos/builtin/packages/haploview/package.py
@@ -10,18 +10,22 @@ from spack.package import *
class Haploview(Package):
"""Haploview is designed to simplify and expedite the process of haplotype
- analysis."""
+ analysis."""
homepage = "https://www.broadinstitute.org/haploview/haploview"
- url = "https://downloads.sourceforge.net/project/haploview/release/Haploview4.1.jar"
+ url = "https://downloads.sourceforge.net/project/haploview/release/Haploview4.1.jar"
- version('4.1', sha256='b3ffe4c3d8bbab6af5eebf89a2dccdb185280088f70ae84c84be60f85f10201d', expand=False)
+ version(
+ "4.1",
+ sha256="b3ffe4c3d8bbab6af5eebf89a2dccdb185280088f70ae84c84be60f85f10201d",
+ expand=False,
+ )
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'Haploview{v}.jar'.format(v=self.version)
+ jar_file = "Haploview{v}.jar".format(v=self.version)
install(jar_file, prefix.bin)
script_sh = join_path(os.path.dirname(__file__), "haploview.sh")
@@ -29,8 +33,7 @@ class Haploview(Package):
install(script_sh, script)
set_executable(script)
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('haploview.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("haploview.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/haproxy/package.py b/var/spack/repos/builtin/packages/haproxy/package.py
index 6fcd97fdf9..b0070b036f 100644
--- a/var/spack/repos/builtin/packages/haproxy/package.py
+++ b/var/spack/repos/builtin/packages/haproxy/package.py
@@ -13,17 +13,17 @@ class Haproxy(MakefilePackage):
"""
homepage = "https://www.haproxy.org"
- url = "https://www.haproxy.org/download/2.1/src/haproxy-2.1.0.tar.gz"
+ url = "https://www.haproxy.org/download/2.1/src/haproxy-2.1.0.tar.gz"
- version('2.1.1', sha256='57e75c1a380fc6f6aa7033f71384370899443c7f4e8a4ba289b5d4350bc76d1a')
- version('2.1.0', sha256='f268efb360a0e925137b4b8ed431f2f8f3b68327efb2c418b266e535d8e335a0')
+ version("2.1.1", sha256="57e75c1a380fc6f6aa7033f71384370899443c7f4e8a4ba289b5d4350bc76d1a")
+ version("2.1.0", sha256="f268efb360a0e925137b4b8ed431f2f8f3b68327efb2c418b266e535d8e335a0")
def url_for_version(self, version):
url = "https://www.haproxy.org/download/{0}/src/haproxy-{1}.tar.gz"
return url.format(version.up_to(2), version)
def build(self, spec, prefix):
- make('TARGET=generic', 'PREFIX=' + prefix)
+ make("TARGET=generic", "PREFIX=" + prefix)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/hardlink/package.py b/var/spack/repos/builtin/packages/hardlink/package.py
index 32672614b5..14afeb4b3f 100644
--- a/var/spack/repos/builtin/packages/hardlink/package.py
+++ b/var/spack/repos/builtin/packages/hardlink/package.py
@@ -10,10 +10,10 @@ class Hardlink(MakefilePackage):
"""A simple command-line utility that implements directory hardlinks"""
homepage = "https://github.com/selkhateeb/hardlink"
- url = "https://github.com/selkhateeb/hardlink/archive/v0.1.1.tar.gz"
+ url = "https://github.com/selkhateeb/hardlink/archive/v0.1.1.tar.gz"
- version('0.1.1', sha256='5876554e6dafb6627a94670ac33e750a7efeb3a5fbde5ede3e145cdb5131d1ba')
- version('0.1', sha256='72f8a07b0dfe30a77da576b8dff5998c5f7e054052382fd61ac46157a5e039db')
+ version("0.1.1", sha256="5876554e6dafb6627a94670ac33e750a7efeb3a5fbde5ede3e145cdb5131d1ba")
+ version("0.1", sha256="72f8a07b0dfe30a77da576b8dff5998c5f7e054052382fd61ac46157a5e039db")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install-homebrew')
+ make("PREFIX={0}".format(prefix), "install-homebrew")
diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py
index b9a54e59af..03625c77ff 100644
--- a/var/spack/repos/builtin/packages/harfbuzz/package.py
+++ b/var/spack/repos/builtin/packages/harfbuzz/package.py
@@ -8,26 +8,55 @@ from spack.package import *
class Harfbuzz(MesonPackage):
"""The Harfbuzz package contains an OpenType text shaping engine."""
+
homepage = "https://github.com/harfbuzz/harfbuzz"
- url = "https://github.com/harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
- git = "https://github.com/harfbuzz/harfbuzz.git"
-
- version('4.2.1', sha256='bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1')
- version('4.1.0', sha256='f7984ff4241d4d135f318a93aa902d910a170a8265b7eaf93b5d9a504eed40c8')
- version('4.0.1', sha256='98f68777272db6cd7a3d5152bac75083cd52a26176d87bc04c8b3929d33bce49')
- version('3.4.0', sha256='7158a87c4db82521fc506711f0c8864115f0292d95f7136c8812c11811cdf952')
- version('3.3.2', sha256='1c13bca136c4f66658059853e2c1253f34c88f4b5c5aba6050aba7b5e0ce2503')
- version('3.2.0', sha256='0ada50a1c199bb6f70843ab893c55867743a443b84d087d54df08ad883ebc2cd')
- version('3.1.2', sha256='4056b1541dd8bbd8ec29207fe30e568805c0705515632d7fec53a94399bc7945')
- version('2.9.1', sha256='0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf', deprecated=True)
- version('2.6.8', sha256='6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035', deprecated=True)
- version('2.3.1', sha256='f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468', deprecated=True)
- version('2.1.3', sha256='613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee', deprecated=True)
- version('1.9.0', sha256='11eca62bf0ac549b8d6be55f4e130946399939cdfe7a562fdaee711190248b00', deprecated=True)
- version('1.4.6', sha256='21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293', deprecated=True)
- version('0.9.37', sha256='255f3b3842dead16863d1d0c216643d97b80bfa087aaa8fc5926da24ac120207', deprecated=True)
-
- variant('graphite2', default=False, description='enable support for graphite2 font engine')
+ url = "https://github.com/harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
+ git = "https://github.com/harfbuzz/harfbuzz.git"
+
+ version("4.2.1", sha256="bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1")
+ version("4.1.0", sha256="f7984ff4241d4d135f318a93aa902d910a170a8265b7eaf93b5d9a504eed40c8")
+ version("4.0.1", sha256="98f68777272db6cd7a3d5152bac75083cd52a26176d87bc04c8b3929d33bce49")
+ version("3.4.0", sha256="7158a87c4db82521fc506711f0c8864115f0292d95f7136c8812c11811cdf952")
+ version("3.3.2", sha256="1c13bca136c4f66658059853e2c1253f34c88f4b5c5aba6050aba7b5e0ce2503")
+ version("3.2.0", sha256="0ada50a1c199bb6f70843ab893c55867743a443b84d087d54df08ad883ebc2cd")
+ version("3.1.2", sha256="4056b1541dd8bbd8ec29207fe30e568805c0705515632d7fec53a94399bc7945")
+ version(
+ "2.9.1",
+ sha256="0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf",
+ deprecated=True,
+ )
+ version(
+ "2.6.8",
+ sha256="6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035",
+ deprecated=True,
+ )
+ version(
+ "2.3.1",
+ sha256="f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468",
+ deprecated=True,
+ )
+ version(
+ "2.1.3",
+ sha256="613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee",
+ deprecated=True,
+ )
+ version(
+ "1.9.0",
+ sha256="11eca62bf0ac549b8d6be55f4e130946399939cdfe7a562fdaee711190248b00",
+ deprecated=True,
+ )
+ version(
+ "1.4.6",
+ sha256="21a78b81cd20cbffdb04b59ac7edfb410e42141869f637ae1d6778e74928d293",
+ deprecated=True,
+ )
+ version(
+ "0.9.37",
+ sha256="255f3b3842dead16863d1d0c216643d97b80bfa087aaa8fc5926da24ac120207",
+ deprecated=True,
+ )
+
+ variant("graphite2", default=False, description="enable support for graphite2 font engine")
depends_on("pkgconfig", type="build")
depends_on("glib")
@@ -36,13 +65,14 @@ class Harfbuzz(MesonPackage):
depends_on("freetype")
depends_on("cairo+pdf+ft")
depends_on("zlib")
- depends_on("graphite2", when='+graphite2')
+ depends_on("graphite2", when="+graphite2")
- conflicts('%intel', when='@2.3.1:',
- msg='harfbuzz-2.3.1 does not build with the Intel compiler')
+ conflicts(
+ "%intel", when="@2.3.1:", msg="harfbuzz-2.3.1 does not build with the Intel compiler"
+ )
def url_for_version(self, version):
- if version > Version('2.3.1'):
+ if version > Version("2.3.1"):
url = "https://github.com/harfbuzz/harfbuzz/releases/download/{0}/harfbuzz-{0}.tar.xz"
else:
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-{0}.tar.bz2"
@@ -52,66 +82,64 @@ class Harfbuzz(MesonPackage):
# Function borrowed from superlu
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
- if name == 'cflags':
- if '%pgi' not in self.spec and self.spec.satisfies('%gcc@:5.1'):
- flags.append('-std=gnu99')
+ if name == "cflags":
+ if "%pgi" not in self.spec and self.spec.satisfies("%gcc@:5.1"):
+ flags.append("-std=gnu99")
return (None, None, flags)
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def meson_args(self):
args = []
# disable building of gtk-doc files following #9885 and #9771
- args.append('-Ddocs=disabled')
- args.append('-Dgraphite2=' +
- ('enabled' if self.spec.satisfies('+graphite2') else 'disabled'))
+ args.append("-Ddocs=disabled")
+ args.append(
+ "-Dgraphite2=" + ("enabled" if self.spec.satisfies("+graphite2") else "disabled")
+ )
return args
- @when('@:2.9')
+ @when("@:2.9")
def configure_args(self):
args = []
# disable building of gtk-doc files following #9771
- args.append('--disable-gtk-doc-html')
- true = which('true')
- args.append('GTKDOC_CHECK={0}'.format(true))
- args.append('GTKDOC_CHECK_PATH={0}'.format(true))
- args.append('GTKDOC_MKPDF={0}'.format(true))
- args.append('GTKDOC_REBASE={0}'.format(true))
- args.extend(self.with_or_without('graphite2'))
+ args.append("--disable-gtk-doc-html")
+ true = which("true")
+ args.append("GTKDOC_CHECK={0}".format(true))
+ args.append("GTKDOC_CHECK_PATH={0}".format(true))
+ args.append("GTKDOC_MKPDF={0}".format(true))
+ args.append("GTKDOC_REBASE={0}".format(true))
+ args.extend(self.with_or_without("graphite2"))
return args
def patch(self):
- change_sed_delimiter('@', ';', 'src/Makefile.in')
+ change_sed_delimiter("@", ";", "src/Makefile.in")
- @when('@:2.9')
+ @when("@:2.9")
def meson(self, spec, prefix):
"""Run the AutotoolsPackage configure phase"""
- configure('--prefix=' + prefix, *self.configure_args())
+ configure("--prefix=" + prefix, *self.configure_args())
- @when('@:2.9')
+ @when("@:2.9")
def build(self, spec, prefix):
"""Run the AutotoolsPackage build phase"""
make()
- @when('@:2.9')
+ @when("@:2.9")
def install(self, spec, prefix):
"""Run the AutotoolsPackage install phase"""
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py
index a508c61e2f..3adbaf9fe1 100644
--- a/var/spack/repos/builtin/packages/harminv/package.py
+++ b/var/spack/repos/builtin/packages/harminv/package.py
@@ -14,21 +14,21 @@ class Harminv(AutotoolsPackage):
frequencies, decay constants, amplitudes, and phases of those sinusoids."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/Harminv"
- url = "http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz"
+ url = "http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz"
list_url = "http://ab-initio.mit.edu/harminv/old"
- version('1.4', sha256='e1b923c508a565f230aac04e3feea23b888b47d8e19b08816a97ee4444233670')
+ version("1.4", sha256="e1b923c508a565f230aac04e3feea23b888b47d8e19b08816a97ee4444233670")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
def configure_args(self):
spec = self.spec
- lapack = spec['lapack'].libs
- blas = spec['blas'].libs
+ lapack = spec["lapack"].libs
+ blas = spec["blas"].libs
return [
- '--enable-shared',
- '--with-blas={0}'.format(blas.ld_flags),
- '--with-lapack={0}'.format(lapack.ld_flags),
+ "--enable-shared",
+ "--with-blas={0}".format(blas.ld_flags),
+ "--with-lapack={0}".format(lapack.ld_flags),
]
diff --git a/var/spack/repos/builtin/packages/hashcat/package.py b/var/spack/repos/builtin/packages/hashcat/package.py
index 167b926c2c..abaa41e2d9 100644
--- a/var/spack/repos/builtin/packages/hashcat/package.py
+++ b/var/spack/repos/builtin/packages/hashcat/package.py
@@ -14,13 +14,13 @@ class Hashcat(MakefilePackage):
facilities to help enable distributed password cracking."""
homepage = "https://hashcat.net/hashcat/"
- url = "https://github.com/hashcat/hashcat/archive/v6.1.1.tar.gz"
+ url = "https://github.com/hashcat/hashcat/archive/v6.1.1.tar.gz"
- version('6.1.1', sha256='39c140bbb3c0bdb1564bfa9b9a1cff49115a42f4c9c19e9b066b617aea309f80')
- version('6.1.0', sha256='916f92434e3b36a126be1d1247a95cd3b32b4d814604960a2ca325d4cc0542d1')
- version('6.0.0', sha256='e8e70f2a5a608a4e224ccf847ad2b8e4d68286900296afe00eb514d8c9ec1285')
- version('5.1.0', sha256='283beaa68e1eab41de080a58bb92349c8e47a2bb1b93d10f36ea30f418f1e338')
- version('5.0.0', sha256='7092d98cf0d8b29bd6efe2cf94802442dd8d7283982e9439eafbdef62b0db08f')
+ version("6.1.1", sha256="39c140bbb3c0bdb1564bfa9b9a1cff49115a42f4c9c19e9b066b617aea309f80")
+ version("6.1.0", sha256="916f92434e3b36a126be1d1247a95cd3b32b4d814604960a2ca325d4cc0542d1")
+ version("6.0.0", sha256="e8e70f2a5a608a4e224ccf847ad2b8e4d68286900296afe00eb514d8c9ec1285")
+ version("5.1.0", sha256="283beaa68e1eab41de080a58bb92349c8e47a2bb1b93d10f36ea30f418f1e338")
+ version("5.0.0", sha256="7092d98cf0d8b29bd6efe2cf94802442dd8d7283982e9439eafbdef62b0db08f")
def install(self, spec, prefix):
- make('SHARED=1', 'PREFIX={0}'.format(prefix), 'install')
+ make("SHARED=1", "PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/haveged/package.py b/var/spack/repos/builtin/packages/haveged/package.py
index 19d18021c1..a94d16a56e 100644
--- a/var/spack/repos/builtin/packages/haveged/package.py
+++ b/var/spack/repos/builtin/packages/haveged/package.py
@@ -10,6 +10,6 @@ class Haveged(AutotoolsPackage):
"""A Linux entropy source using the HAVEGE algorithm."""
homepage = "https://github.com/jirka-h/haveged"
- url = "https://github.com/jirka-h/haveged/archive/v1.9.13/haveged-1.9.13.tar.gz"
+ url = "https://github.com/jirka-h/haveged/archive/v1.9.13/haveged-1.9.13.tar.gz"
- version('1.9.13', sha256='d17bd22fa1745daca5ac72e014ed3b0fe5720da4c115953124b1bf2a0aa2b04b')
+ version("1.9.13", sha256="d17bd22fa1745daca5ac72e014ed3b0fe5720da4c115953124b1bf2a0aa2b04b")
diff --git a/var/spack/repos/builtin/packages/hazelcast/package.py b/var/spack/repos/builtin/packages/hazelcast/package.py
index e7367a8f2a..002e1e63d6 100644
--- a/var/spack/repos/builtin/packages/hazelcast/package.py
+++ b/var/spack/repos/builtin/packages/hazelcast/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class Hazelcast(MavenPackage):
"""Hazelcast is an open-source distributed in-memory data
- store and computation platform. It provides a wide variety
- of distributed data structures and concurrency primitives."""
+ store and computation platform. It provides a wide variety
+ of distributed data structures and concurrency primitives."""
homepage = "http://www.hazelcast.com/"
- url = "https://github.com/hazelcast/hazelcast/archive/v3.12.8.tar.gz"
+ url = "https://github.com/hazelcast/hazelcast/archive/v3.12.8.tar.gz"
- version('4.0.2', sha256='4f01682583ae6603365ac7a24c568d7598cc3c1cbd736e5c6ed98bd75e39ffa3')
- version('4.0.1', sha256='c9c7d5cbcf70c5e1eb72890df2b4104639f7543f11c6ac5d3e80cd2d4a0d2181')
- version('3.12.8', sha256='65d0e131fc993f9517e8ce9ae5af9515f1b8038304abaaf9da535bdef1d71726')
- version('3.12.7', sha256='0747de968082bc50202f825b4010be28a3885b3dbcee4b83cbe21b2f8b26a7e0')
- version('3.11.7', sha256='c9f636b8813027d4cc24459bd27740549f89b4f11f62a868079bcb5b41d9b2bb')
+ version("4.0.2", sha256="4f01682583ae6603365ac7a24c568d7598cc3c1cbd736e5c6ed98bd75e39ffa3")
+ version("4.0.1", sha256="c9c7d5cbcf70c5e1eb72890df2b4104639f7543f11c6ac5d3e80cd2d4a0d2181")
+ version("3.12.8", sha256="65d0e131fc993f9517e8ce9ae5af9515f1b8038304abaaf9da535bdef1d71726")
+ version("3.12.7", sha256="0747de968082bc50202f825b4010be28a3885b3dbcee4b83cbe21b2f8b26a7e0")
+ version("3.11.7", sha256="c9f636b8813027d4cc24459bd27740549f89b4f11f62a868079bcb5b41d9b2bb")
- depends_on('java@8:', type=('build', 'run'))
+ depends_on("java@8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/hbase/package.py b/var/spack/repos/builtin/packages/hbase/package.py
index 10ff3814fa..caf956c0df 100644
--- a/var/spack/repos/builtin/packages/hbase/package.py
+++ b/var/spack/repos/builtin/packages/hbase/package.py
@@ -14,18 +14,18 @@ class Hbase(Package):
Bigtable-like capabilities on top of Apache Hadoop."""
homepage = "https://archive.apache.org/"
- url = "https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz"
+ url = "https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz"
list_url = "https://archive.apache.org/dist/hbase"
list_depth = 1
- version('2.4.9', sha256='ed282a165fe0910b27d143f3ea21d552110bc155fd5456250a05dc51b0f0b6bd')
- version('2.2.5', sha256='25d08f8f038d9de5beb43dfb0392e8a8b34eae7e0f2670d6c2c172abc3855194')
- version('2.2.4', sha256='ec91b628352931e22a091a206be93061b6bf5364044a28fb9e82f0023aca3ca4')
- version('2.2.3', sha256='ea8fa72aa6220e038e30bd7c439d181b10bd7225383f7f2d224ebb5f5397310a')
- version('2.2.2', sha256='97dcca3a031925a379a0ee6bbfb6007533fb4fdb982c23345e5fc04d6c52bebc')
- version('2.1.8', sha256='d8296e8405b1c39c73f0dd03fc6b4d2af754035724168fd56e8f2a0ff175ad90')
+ version("2.4.9", sha256="ed282a165fe0910b27d143f3ea21d552110bc155fd5456250a05dc51b0f0b6bd")
+ version("2.2.5", sha256="25d08f8f038d9de5beb43dfb0392e8a8b34eae7e0f2670d6c2c172abc3855194")
+ version("2.2.4", sha256="ec91b628352931e22a091a206be93061b6bf5364044a28fb9e82f0023aca3ca4")
+ version("2.2.3", sha256="ea8fa72aa6220e038e30bd7c439d181b10bd7225383f7f2d224ebb5f5397310a")
+ version("2.2.2", sha256="97dcca3a031925a379a0ee6bbfb6007533fb4fdb982c23345e5fc04d6c52bebc")
+ version("2.1.8", sha256="d8296e8405b1c39c73f0dd03fc6b4d2af754035724168fd56e8f2a0ff175ad90")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/hbm-dramsim2/package.py b/var/spack/repos/builtin/packages/hbm-dramsim2/package.py
index 601111acd0..b2c8deda53 100644
--- a/var/spack/repos/builtin/packages/hbm-dramsim2/package.py
+++ b/var/spack/repos/builtin/packages/hbm-dramsim2/package.py
@@ -15,9 +15,9 @@ class HbmDramsim2(MakefilePackage):
git = "https://github.com/tactcomplabs/HBM"
url = "https://github.com/tactcomplabs/HBM/archive/hbm-1.0.0-release.tar.gz"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('1.0.0', sha256="0efad11c58197edb47ad1359f8f93fb45d882c6bebcf9f2143e0df7a719689a0")
+ version("1.0.0", sha256="0efad11c58197edb47ad1359f8f93fb45d882c6bebcf9f2143e0df7a719689a0")
def install(self, spec, prefix):
install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/hc/package.py b/var/spack/repos/builtin/packages/hc/package.py
index 3018351116..4493d06f4f 100644
--- a/var/spack/repos/builtin/packages/hc/package.py
+++ b/var/spack/repos/builtin/packages/hc/package.py
@@ -12,12 +12,12 @@ class Hc(MakefilePackage):
density distributions and plate velocities."""
homepage = "https://geodynamics.org/cig/software/hc/"
- url = "https://geodynamics.org/cig/software/hc/hc-1.0.7.tar.gz"
+ url = "https://geodynamics.org/cig/software/hc/hc-1.0.7.tar.gz"
- version('1.0.7', sha256='7499ea76ac4739a9c0941bd57d124fb681fd387c8d716ebb358e6af3395103ed')
+ version("1.0.7", sha256="7499ea76ac4739a9c0941bd57d124fb681fd387c8d716ebb358e6af3395103ed")
- depends_on('gmt@4.2.1:4')
- depends_on('netcdf-c')
+ depends_on("gmt@4.2.1:4")
+ depends_on("netcdf-c")
# Build phase fails in parallel with the following error messages:
# /usr/bin/ld: cannot find -lrick
@@ -26,13 +26,13 @@ class Hc(MakefilePackage):
parallel = False
def setup_build_environment(self, env):
- env.set('GMTHOME', self.spec['gmt'].prefix)
- env.set('NETCDFHOME', self.spec['netcdf-c'].prefix)
- env.set('HC_HOME', self.prefix)
- env.unset('ARCH')
+ env.set("GMTHOME", self.spec["gmt"].prefix)
+ env.set("NETCDFHOME", self.spec["netcdf-c"].prefix)
+ env.set("HC_HOME", self.prefix)
+ env.unset("ARCH")
def install(self, spec, prefix):
# Most files are installed during the build stage.
# Manually install header files as well.
- for header in find('.', '*.h'):
+ for header in find(".", "*.h"):
install(header, prefix.include)
diff --git a/var/spack/repos/builtin/packages/hcoll/package.py b/var/spack/repos/builtin/packages/hcoll/package.py
index 43f2e130c9..b881054b1a 100644
--- a/var/spack/repos/builtin/packages/hcoll/package.py
+++ b/var/spack/repos/builtin/packages/hcoll/package.py
@@ -11,10 +11,10 @@ class Hcoll(Package):
is a MPI-integrated software package that utilizes CORE-Direct technology
for implementing the MPI collective communications."""
- homepage = 'https://www.mellanox.com/products/fca'
+ homepage = "https://www.mellanox.com/products/fca"
has_code = False
- version('3.9.1927')
+ version("3.9.1927")
# HCOLL needs to be added as an external package to SPACK. For this, the
# config file packages.yaml needs to be adjusted:
@@ -28,5 +28,8 @@ class Hcoll(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/hdf-eos2/package.py b/var/spack/repos/builtin/packages/hdf-eos2/package.py
index d260c22ee3..109ccdb6c4 100644
--- a/var/spack/repos/builtin/packages/hdf-eos2/package.py
+++ b/var/spack/repos/builtin/packages/hdf-eos2/package.py
@@ -26,75 +26,75 @@ class HdfEos2(AutotoolsPackage):
# In basename expansions, 0 is raw version,
# 1 is for version with dots => underscores
version_list = [
- {'version': '2.20v1.00',
- 'sha256': 'cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903',
- 'basename': 'HDF-EOS{0}.tar.Z'},
- {'version': '2.19b',
- 'sha256': 'a69993508dbf5fa6120bac3c906ab26f1ad277348dfc2c891305023cfdf5dc9d',
- 'basename': 'hdfeos{1}.zip'}
+ {
+ "version": "2.20v1.00",
+ "sha256": "cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903",
+ "basename": "HDF-EOS{0}.tar.Z",
+ },
+ {
+ "version": "2.19b",
+ "sha256": "a69993508dbf5fa6120bac3c906ab26f1ad277348dfc2c891305023cfdf5dc9d",
+ "basename": "hdfeos{1}.zip",
+ },
]
for vrec in version_list:
- ver = vrec['version']
- sha256 = vrec['sha256']
+ ver = vrec["version"]
+ sha256 = vrec["sha256"]
version(ver, sha256=sha256)
- variant('shared', default=True,
- description='Build shared libraries (can be used with +static)')
- variant('static', default=True,
- description='Build static libraries (can be used with +shared)')
+ variant(
+ "shared", default=True, description="Build shared libraries (can be used with +static)"
+ )
+ variant(
+ "static", default=True, description="Build static libraries (can be used with +shared)"
+ )
- conflicts('~static', when='~shared',
- msg='At least one of +static or +shared must be set')
+ conflicts("~static", when="~shared", msg="At least one of +static or +shared must be set")
# Build dependencies
- depends_on('hdf')
+ depends_on("hdf")
# The standard Makefile.am, etc. add a --single_module flag to LDFLAGS
# to pass to the linker.
# That appears to be only recognized by the Darwin linker, remove it
# if we are not running on darwin/
if sys.platform != "darwin":
- patch('hdf-eos2.nondarwin-no-single_module.patch')
+ patch("hdf-eos2.nondarwin-no-single_module.patch")
def url_for_version(self, version):
- vrec = [x for x in self.version_list
- if x['version'] == version.dotted.string]
+ vrec = [x for x in self.version_list if x["version"] == version.dotted.string]
if vrec:
- fname = vrec[0]['basename'].format(version.dotted,
- version.underscored)
- sha256 = vrec[0]['sha256']
+ fname = vrec[0]["basename"].format(version.dotted, version.underscored)
+ sha256 = vrec[0]["sha256"]
myurl = self.url.format(sha256, fname)
return myurl
else:
- sys.exit('ERROR: cannot generate URL for version {0};'
- 'version/checksum not found in version_list'.format(
- version))
+ sys.exit(
+ "ERROR: cannot generate URL for version {0};"
+ "version/checksum not found in version_list".format(version)
+ )
def configure_args(self):
extra_args = []
# Package really wants h4cc to be used
- extra_args.append('CC={0}/bin/h4cc -Df2cFortran'.format(
- self.spec['hdf'].prefix))
+ extra_args.append("CC={0}/bin/h4cc -Df2cFortran".format(self.spec["hdf"].prefix))
# We always build PIC code
- extra_args.append('--with-pic')
+ extra_args.append("--with-pic")
# Set shared/static appropriately
- extra_args.extend(self.enable_or_disable('shared'))
- extra_args.extend(self.enable_or_disable('static'))
+ extra_args.extend(self.enable_or_disable("shared"))
+ extra_args.extend(self.enable_or_disable("static"))
# Provide config args for dependencies
- extra_args.append('--with-hdf4={0}'.format(self.spec['hdf'].prefix))
- if 'jpeg' in self.spec:
- extra_args.append('--with-jpeg={0}'.format(
- self.spec['jpeg'].prefix))
- if 'libszip' in self.spec:
- extra_args.append('--with-szlib={0}'.format(
- self.spec['libszip'].prefix))
- if 'zlib' in self.spec:
- extra_args.append('--with-zlib={0}'.format(
- self.spec['zlib'].prefix))
+ extra_args.append("--with-hdf4={0}".format(self.spec["hdf"].prefix))
+ if "jpeg" in self.spec:
+ extra_args.append("--with-jpeg={0}".format(self.spec["jpeg"].prefix))
+ if "libszip" in self.spec:
+ extra_args.append("--with-szlib={0}".format(self.spec["libszip"].prefix))
+ if "zlib" in self.spec:
+ extra_args.append("--with-zlib={0}".format(self.spec["zlib"].prefix))
return extra_args
diff --git a/var/spack/repos/builtin/packages/hdf-eos5/package.py b/var/spack/repos/builtin/packages/hdf-eos5/package.py
index 0941d0c9a1..d5b8ad9182 100644
--- a/var/spack/repos/builtin/packages/hdf-eos5/package.py
+++ b/var/spack/repos/builtin/packages/hdf-eos5/package.py
@@ -26,80 +26,80 @@ class HdfEos5(AutotoolsPackage):
# In basename expansions, 0 is raw version,
# 1 is for version with dots => underscores
version_list = [
- {'version': '5.1.16',
- 'sha256': '7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452',
- 'basename': 'HDF-EOS{0}.tar.Z'},
- {'version': '5.1.15',
- 'sha256': 'fbf4d085f9bf6ffad259aee1e9f60cf060e7e99c447894ad8955df02de83c92c',
- 'basename': 'hdfeos{1}.zip'}
+ {
+ "version": "5.1.16",
+ "sha256": "7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452",
+ "basename": "HDF-EOS{0}.tar.Z",
+ },
+ {
+ "version": "5.1.15",
+ "sha256": "fbf4d085f9bf6ffad259aee1e9f60cf060e7e99c447894ad8955df02de83c92c",
+ "basename": "hdfeos{1}.zip",
+ },
]
for vrec in version_list:
- ver = vrec['version']
- sha256 = vrec['sha256']
+ ver = vrec["version"]
+ sha256 = vrec["sha256"]
version(ver, sha256=sha256)
- variant('shared', default=True,
- description='Build shared libraries (can be used with +static)')
- variant('static', default=True,
- description='Build shared libraries (can be used with +shared)')
+ variant(
+ "shared", default=True, description="Build shared libraries (can be used with +static)"
+ )
+ variant(
+ "static", default=True, description="Build shared libraries (can be used with +shared)"
+ )
- conflicts('~static', when='~shared',
- msg='At least one of +static or +shared must be set')
+ conflicts("~static", when="~shared", msg="At least one of +static or +shared must be set")
- maintainers = ['payerle']
+ maintainers = ["payerle"]
# Build dependencies
- depends_on('hdf5+hl')
+ depends_on("hdf5+hl")
# The standard Makefile.am, etc. add a --single_module flag to LDFLAGS
# to pass to the linker.
# That appears to be only recognized by the Darwin linker, remove it
# if we are not running on darwin/
if sys.platform != "darwin":
- patch('hdf-eos5.nondarwin-no-single_module.patch')
+ patch("hdf-eos5.nondarwin-no-single_module.patch")
def url_for_version(self, version):
- vrec = [x for x in self.version_list
- if x['version'] == version.dotted.string]
+ vrec = [x for x in self.version_list if x["version"] == version.dotted.string]
if vrec:
- fname = vrec[0]['basename'].format(version.dotted,
- version.underscored)
- sha256 = vrec[0]['sha256']
+ fname = vrec[0]["basename"].format(version.dotted, version.underscored)
+ sha256 = vrec[0]["sha256"]
myurl = self.url.format(sha256, fname)
return myurl
else:
- sys.exit('ERROR: cannot generate URL for version {0};'
- 'version/checksum not found in version_list'.format(
- version))
+ sys.exit(
+ "ERROR: cannot generate URL for version {0};"
+ "version/checksum not found in version_list".format(version)
+ )
def configure_args(self):
extra_args = []
# Package really wants h5cc to be used
- if self.spec['mpi']:
- extra_args.append('CC={0}/bin/h5pcc -Df2cFortran'.format(
- self.spec['hdf5'].prefix))
+ if self.spec["mpi"]:
+ extra_args.append("CC={0}/bin/h5pcc -Df2cFortran".format(self.spec["hdf5"].prefix))
else:
- extra_args.append('CC={0}/bin/h5cc -Df2cFortran'.format(
- self.spec['hdf5'].prefix))
+ extra_args.append("CC={0}/bin/h5cc -Df2cFortran".format(self.spec["hdf5"].prefix))
# We always build PIC code
- extra_args.append('--with-pic')
+ extra_args.append("--with-pic")
# We always enable installation of include directories
- extra_args.append('--enable-install-include')
+ extra_args.append("--enable-install-include")
# Set shared/static appropriately
- extra_args.extend(self.enable_or_disable('shared'))
- extra_args.extend(self.enable_or_disable('static'))
+ extra_args.extend(self.enable_or_disable("shared"))
+ extra_args.extend(self.enable_or_disable("static"))
# Provide config args for dependencies
- extra_args.append('--with-hdf5={0}'.format(self.spec['hdf5'].prefix))
- if 'szip' in self.spec:
- extra_args.append('--with-szlib={0}'.format(
- self.spec['szip'].prefix))
- if 'zlib' in self.spec:
- extra_args.append('--with-zlib={0}'.format(
- self.spec['zlib'].prefix))
+ extra_args.append("--with-hdf5={0}".format(self.spec["hdf5"].prefix))
+ if "szip" in self.spec:
+ extra_args.append("--with-szlib={0}".format(self.spec["szip"].prefix))
+ if "zlib" in self.spec:
+ extra_args.append("--with-zlib={0}".format(self.spec["zlib"].prefix))
return extra_args
diff --git a/var/spack/repos/builtin/packages/hdf/package.py b/var/spack/repos/builtin/packages/hdf/package.py
index 2a069dd39f..326f454048 100644
--- a/var/spack/repos/builtin/packages/hdf/package.py
+++ b/var/spack/repos/builtin/packages/hdf/package.py
@@ -14,78 +14,85 @@ class Hdf(AutotoolsPackage):
file format for storing and managing data between machines."""
homepage = "https://portal.hdfgroup.org"
- url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.14/src/hdf-4.2.14.tar.gz"
+ url = "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.14/src/hdf-4.2.14.tar.gz"
list_url = "https://support.hdfgroup.org/ftp/HDF/releases/"
list_depth = 2
- maintainers = ['lrknox']
-
- version('4.2.15', sha256='dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459')
- version('4.2.14', sha256='2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a')
- version('4.2.13', sha256='be9813c1dc3712c2df977d4960e1f13f20f447dfa8c3ce53331d610c1f470483')
- version('4.2.12', sha256='dd419c55e85d1a0e13f3ea5ed35d00710033ccb16c85df088eb7925d486e040c')
- version('4.2.11', sha256='c3f7753b2fb9b27d09eced4d2164605f111f270c9a60b37a578f7de02de86d24')
-
- variant('szip', default=False, description="Enable szip support")
- variant('external-xdr', default=sys.platform != 'darwin',
- description="Use an external XDR backend")
- variant('netcdf', default=False,
- description='Build NetCDF API (version 2.3.2)')
- variant('fortran', default=False,
- description='Enable Fortran interface')
- variant('java', default=False,
- description='Enable Java JNI interface')
- variant('shared', default=False, description='Enable shared library')
- variant('pic', default=True,
- description='Produce position-independent code')
-
- depends_on('zlib@1.1.4:')
- depends_on('jpeg')
- depends_on('szip', when='+szip')
- depends_on('rpc', when='+external-xdr')
-
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('java@7:', when='+java', type=('build', 'run'))
+ maintainers = ["lrknox"]
+
+ version("4.2.15", sha256="dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459")
+ version("4.2.14", sha256="2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a")
+ version("4.2.13", sha256="be9813c1dc3712c2df977d4960e1f13f20f447dfa8c3ce53331d610c1f470483")
+ version("4.2.12", sha256="dd419c55e85d1a0e13f3ea5ed35d00710033ccb16c85df088eb7925d486e040c")
+ version("4.2.11", sha256="c3f7753b2fb9b27d09eced4d2164605f111f270c9a60b37a578f7de02de86d24")
+
+ variant("szip", default=False, description="Enable szip support")
+ variant(
+ "external-xdr", default=sys.platform != "darwin", description="Use an external XDR backend"
+ )
+ variant("netcdf", default=False, description="Build NetCDF API (version 2.3.2)")
+ variant("fortran", default=False, description="Enable Fortran interface")
+ variant("java", default=False, description="Enable Java JNI interface")
+ variant("shared", default=False, description="Enable shared library")
+ variant("pic", default=True, description="Produce position-independent code")
+
+ depends_on("zlib@1.1.4:")
+ depends_on("jpeg")
+ depends_on("szip", when="+szip")
+ depends_on("rpc", when="+external-xdr")
+
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("java@7:", when="+java", type=("build", "run"))
# https://forum.hdfgroup.org/t/cant-build-hdf-4-2-14-with-jdk-11-and-enable-java/5702
- patch('disable_doclint.patch', when='@:4.2.14^java@9:')
+ patch("disable_doclint.patch", when="@:4.2.14^java@9:")
- conflicts('^libjpeg@:6a')
+ conflicts("^libjpeg@:6a")
# configure: error: Cannot build shared fortran libraries.
# Please configure with --disable-fortran flag.
- conflicts('+fortran', when='+shared')
+ conflicts("+fortran", when="+shared")
# configure: error: Java requires shared libraries to be built
- conflicts('+java', when='~shared')
+ conflicts("+java", when="~shared")
# configure: WARNING: unrecognized options: --enable-java
- conflicts('+java', when='@:4.2.11')
+ conflicts("+java", when="@:4.2.11")
# The Java interface library uses netcdf-related macro definitions even
# when netcdf is disabled and the macros are not defined, e.g.:
# hdfsdsImp.c:158:30: error: 'MAX_NC_NAME' undeclared
- conflicts('+java', when='@4.2.12:4.2.13~netcdf')
+ conflicts("+java", when="@4.2.12:4.2.13~netcdf")
# TODO: '@:4.2.14 ~external-xdr' and the fact that we compile for 64 bit
# architecture should be in conflict
# https://github.com/knedlsepp/nixpkgs/commit/c1a2918c849a5bc766c6d55d96bc6cf85c9d27f4
- patch('https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-ppc.patch?full_index=1',
- sha256='5434f29a87856aa05124c7a9409b3ec3106c30b1ad722720773623190f6bfda8',
- when='@4.2.15:')
- patch('https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-4.2.4-sparc.patch?full_index=1',
- sha256='ce75518cccbeb80ab976b299225ea6104c3eec1ec13c09e2289913279fcf1b39',
- when='@4.2.15:')
- patch('https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-s390.patch?full_index=1',
- sha256='f7d67e8c3d0dad8bfca308936c6ac917cc0b63222c6339a29efdce14e8be6475',
- when='@4.2.15:')
- patch('https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-arm.patch?full_index=1',
- sha256='d54592df281c92e7e655b8312d18bef9ed096848de9430510e0699e98246ccd3',
- when='@4.2.15:')
- patch('https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-aarch64.patch?full_index=1',
- sha256='49733dd6143be7b30a28d386701df64a72507974274f7e4c0a9e74205510ea72',
- when='@4.2.15:')
+ patch(
+ "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-ppc.patch?full_index=1",
+ sha256="5434f29a87856aa05124c7a9409b3ec3106c30b1ad722720773623190f6bfda8",
+ when="@4.2.15:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-4.2.4-sparc.patch?full_index=1",
+ sha256="ce75518cccbeb80ab976b299225ea6104c3eec1ec13c09e2289913279fcf1b39",
+ when="@4.2.15:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-s390.patch?full_index=1",
+ sha256="f7d67e8c3d0dad8bfca308936c6ac917cc0b63222c6339a29efdce14e8be6475",
+ when="@4.2.15:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-arm.patch?full_index=1",
+ sha256="d54592df281c92e7e655b8312d18bef9ed096848de9430510e0699e98246ccd3",
+ when="@4.2.15:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/hdf/raw/edbe5f49646b609f5bc9aeeee5a2be47e9556e8c/f/hdf-aarch64.patch?full_index=1",
+ sha256="49733dd6143be7b30a28d386701df64a72507974274f7e4c0a9e74205510ea72",
+ when="@4.2.15:",
+ )
@property
def libs(self):
@@ -99,81 +106,78 @@ class Hdf(AutotoolsPackage):
:return: list of matching libraries
"""
- libraries = ['libmfhdf', 'libdf']
+ libraries = ["libmfhdf", "libdf"]
query_parameters = self.spec.last_query.extra_parameters
- if 'shared' in query_parameters:
+ if "shared" in query_parameters:
shared = True
- elif 'static' in query_parameters:
+ elif "static" in query_parameters:
shared = False
else:
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if not libs:
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
-
- if not shared and 'transitive' in query_parameters:
- libs += self.spec['jpeg:transitive'].libs
- libs += self.spec['zlib:transitive'].libs
- if '+szip' in self.spec:
- libs += self.spec['szip:transitive'].libs
- if ('+external-xdr' in self.spec and
- self.spec['rpc'].name != 'libc'):
- libs += self.spec['rpc:transitive'].libs
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
+
+ if not shared and "transitive" in query_parameters:
+ libs += self.spec["jpeg:transitive"].libs
+ libs += self.spec["zlib:transitive"].libs
+ if "+szip" in self.spec:
+ libs += self.spec["szip:transitive"].libs
+ if "+external-xdr" in self.spec and self.spec["rpc"].name != "libc":
+ libs += self.spec["rpc:transitive"].libs
return libs
def flag_handler(self, name, flags):
- if '+pic' in self.spec:
- if name == 'cflags':
+ if "+pic" in self.spec:
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- elif name == 'fflags':
+ elif name == "fflags":
flags.append(self.compiler.f77_pic_flag)
return flags, None, None
def configure_args(self):
- config_args = ['--enable-production',
- '--enable-static',
- '--with-zlib=%s' % self.spec['zlib'].prefix,
- '--with-jpeg=%s' % self.spec['jpeg'].prefix]
-
- config_args += self.enable_or_disable('shared')
- config_args += self.enable_or_disable('netcdf')
- config_args += self.enable_or_disable('fortran')
- config_args += self.enable_or_disable('java')
-
- if '+szip' in self.spec:
- config_args.append('--with-szlib=%s' % self.spec['szip'].prefix)
+ config_args = [
+ "--enable-production",
+ "--enable-static",
+ "--with-zlib=%s" % self.spec["zlib"].prefix,
+ "--with-jpeg=%s" % self.spec["jpeg"].prefix,
+ ]
+
+ config_args += self.enable_or_disable("shared")
+ config_args += self.enable_or_disable("netcdf")
+ config_args += self.enable_or_disable("fortran")
+ config_args += self.enable_or_disable("java")
+
+ if "+szip" in self.spec:
+ config_args.append("--with-szlib=%s" % self.spec["szip"].prefix)
else:
- config_args.append('--without-szlib')
+ config_args.append("--without-szlib")
- if '~external-xdr' in self.spec:
- config_args.append('--enable-hdf4-xdr')
- elif self.spec['rpc'].name != 'libc':
+ if "~external-xdr" in self.spec:
+ config_args.append("--enable-hdf4-xdr")
+ elif self.spec["rpc"].name != "libc":
# We should not specify '--disable-hdf4-xdr' due to a bug in the
# configure script.
- config_args.append('LIBS=%s' % self.spec['rpc'].libs.link_flags)
+ config_args.append("LIBS=%s" % self.spec["rpc"].libs.link_flags)
# https://github.com/Parallel-NetCDF/PnetCDF/issues/61
- if self.spec.satisfies('%gcc@10:'):
- config_args.extend([
- 'FFLAGS=-fallow-argument-mismatch',
- 'FCFLAGS=-fallow-argument-mismatch']
+ if self.spec.satisfies("%gcc@10:"):
+ config_args.extend(
+ ["FFLAGS=-fallow-argument-mismatch", "FCFLAGS=-fallow-argument-mismatch"]
)
# https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680
- if self.spec.satisfies('@:4.2.15 %apple-clang'):
- config_args.append('CFLAGS=-Wno-error=implicit-function-declaration')
+ if self.spec.satisfies("@:4.2.15 %apple-clang"):
+ config_args.append("CFLAGS=-Wno-error=implicit-function-declaration")
return config_args
@@ -182,17 +186,16 @@ class Hdf(AutotoolsPackage):
# incorrect file being opened - expected <file755>, retrieved <file754>
def check(self):
with working_dir(self.build_directory):
- make('check', parallel=False)
+ make("check", parallel=False)
- extra_install_tests = 'hdf/util/testfiles'
+ extra_install_tests = "hdf/util/testfiles"
@property
def cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.extra_install_tests)
+ return join_path(self.test_suite.current_test_cache_dir, self.extra_install_tests)
- @run_after('install')
+ @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`."""
@@ -200,48 +203,71 @@ class Hdf(AutotoolsPackage):
def _test_check_versions(self):
"""Perform version checks on selected installed package binaries."""
- spec_vers_str = 'Version {0}'.format(self.spec.version.up_to(2))
+ spec_vers_str = "Version {0}".format(self.spec.version.up_to(2))
- exes = ['hdfimport', 'hrepack', 'ncdump', 'ncgen']
+ exes = ["hdfimport", "hrepack", "ncdump", "ncgen"]
for exe in exes:
- reason = 'test: ensuring version of {0} is {1}' \
- .format(exe, spec_vers_str)
- self.run_test(exe, ['-V'], spec_vers_str, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test: ensuring version of {0} is {1}".format(exe, spec_vers_str)
+ self.run_test(
+ exe, ["-V"], spec_vers_str, installed=True, purpose=reason, skip_missing=True
+ )
def _test_gif_converters(self):
"""This test performs an image conversion sequence and diff."""
- work_dir = '.'
- storm_fn = os.path.join(self.cached_tests_work_dir, 'storm110.hdf')
+ work_dir = "."
+ storm_fn = os.path.join(self.cached_tests_work_dir, "storm110.hdf")
- gif_fn = 'storm110.gif'
- new_hdf_fn = 'storm110gif.hdf'
+ gif_fn = "storm110.gif"
+ new_hdf_fn = "storm110gif.hdf"
# Convert a test HDF file to a gif
- self.run_test('hdf2gif', [storm_fn, gif_fn], '', installed=True,
- purpose="test: hdf-to-gif", work_dir=work_dir)
+ self.run_test(
+ "hdf2gif",
+ [storm_fn, gif_fn],
+ "",
+ installed=True,
+ purpose="test: hdf-to-gif",
+ work_dir=work_dir,
+ )
# Convert the gif to an HDF file
- self.run_test('gif2hdf', [gif_fn, new_hdf_fn], '', installed=True,
- purpose="test: gif-to-hdf", work_dir=work_dir)
+ self.run_test(
+ "gif2hdf",
+ [gif_fn, new_hdf_fn],
+ "",
+ installed=True,
+ purpose="test: gif-to-hdf",
+ work_dir=work_dir,
+ )
# Compare the original and new HDF files
- self.run_test('hdiff', [new_hdf_fn, storm_fn], '', installed=True,
- purpose="test: compare orig to new hdf",
- work_dir=work_dir)
+ self.run_test(
+ "hdiff",
+ [new_hdf_fn, storm_fn],
+ "",
+ installed=True,
+ purpose="test: compare orig to new hdf",
+ work_dir=work_dir,
+ )
def _test_list(self):
"""This test compares low-level HDF file information to expected."""
- storm_fn = os.path.join(self.cached_tests_work_dir,
- 'storm110.hdf')
+ storm_fn = os.path.join(self.cached_tests_work_dir, "storm110.hdf")
test_data_dir = self.test_suite.current_test_data_dir
- work_dir = '.'
+ work_dir = "."
- reason = 'test: checking hdfls output'
- details_file = os.path.join(test_data_dir, 'storm110.out')
+ reason = "test: checking hdfls output"
+ details_file = os.path.join(test_data_dir, "storm110.out")
expected = get_escaped_text_output(details_file)
- self.run_test('hdfls', [storm_fn], expected, installed=True,
- purpose=reason, skip_missing=True, work_dir=work_dir)
+ self.run_test(
+ "hdfls",
+ [storm_fn],
+ expected,
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=work_dir,
+ )
def test(self):
"""Perform smoke tests on the installed package."""
diff --git a/var/spack/repos/builtin/packages/hdf5-blosc/package.py b/var/spack/repos/builtin/packages/hdf5-blosc/package.py
index f3d93eb35e..b3ae32ce8d 100644
--- a/var/spack/repos/builtin/packages/hdf5-blosc/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-blosc/package.py
@@ -28,14 +28,15 @@ def _install_shlib(name, src, dst):
class Hdf5Blosc(Package):
"""Blosc filter for HDF5"""
+
homepage = "https://github.com/Blosc/hdf5-blosc"
- git = "https://github.com/Blosc/hdf5-blosc.git"
+ git = "https://github.com/Blosc/hdf5-blosc.git"
- version('master', branch='master')
+ version("master", branch="master")
depends_on("c-blosc")
depends_on("hdf5")
- depends_on("libtool", type='build')
+ depends_on("libtool", type="build")
parallel = False
@@ -62,32 +63,47 @@ class Hdf5Blosc(Package):
# Build and install filter
with working_dir("src"):
- libtool("--mode=compile", "--tag=CC",
- "cc", "-g", "-O",
- "-c", "blosc_filter.c")
- libtool("--mode=link", "--tag=CC",
- "cc", "-g", "-O",
- "-rpath", prefix.lib,
- "-o", "libblosc_filter.la",
- "blosc_filter.lo",
- "-L%s" % spec["c-blosc"].prefix.lib, "-lblosc",
- "-L%s" % spec["hdf5"].prefix.lib, "-lhdf5")
+ libtool("--mode=compile", "--tag=CC", "cc", "-g", "-O", "-c", "blosc_filter.c")
+ libtool(
+ "--mode=link",
+ "--tag=CC",
+ "cc",
+ "-g",
+ "-O",
+ "-rpath",
+ prefix.lib,
+ "-o",
+ "libblosc_filter.la",
+ "blosc_filter.lo",
+ "-L%s" % spec["c-blosc"].prefix.lib,
+ "-lblosc",
+ "-L%s" % spec["hdf5"].prefix.lib,
+ "-lhdf5",
+ )
_install_shlib("libblosc_filter", ".libs", prefix.lib)
# Build and install plugin
# The plugin requires at least HDF5 1.8.11:
if spec["hdf5"].satisfies("@1.8.11:"):
- libtool("--mode=compile", "--tag=CC",
- "cc", "-g", "-O",
- "-c", "blosc_plugin.c")
- libtool("--mode=link", "--tag=CC",
- "cc", "-g", "-O",
- "-rpath", prefix.lib,
- "-o", "libblosc_plugin.la",
- "blosc_plugin.lo",
- "-L%s" % prefix.lib, "-lblosc_filter",
- "-L%s" % spec["c-blosc"].prefix.lib, "-lblosc",
- "-L%s" % spec["hdf5"].prefix.lib, "-lhdf5")
+ libtool("--mode=compile", "--tag=CC", "cc", "-g", "-O", "-c", "blosc_plugin.c")
+ libtool(
+ "--mode=link",
+ "--tag=CC",
+ "cc",
+ "-g",
+ "-O",
+ "-rpath",
+ prefix.lib,
+ "-o",
+ "libblosc_plugin.la",
+ "blosc_plugin.lo",
+ "-L%s" % prefix.lib,
+ "-lblosc_filter",
+ "-L%s" % spec["c-blosc"].prefix.lib,
+ "-lblosc",
+ "-L%s" % spec["hdf5"].prefix.lib,
+ "-lhdf5",
+ )
_install_shlib("libblosc_plugin", ".libs", prefix.lib)
if self.run_tests:
@@ -159,8 +175,7 @@ Done.
cc = Executable(self.compiler.cc)
# TODO: Automate these path and library settings
cc("-c", "-I%s" % spec["hdf5"].prefix.include, "check.c")
- cc("-o", "check", "check.o",
- "-L%s" % spec["hdf5"].prefix.lib, "-lhdf5")
+ cc("-o", "check", "check.o", "-L%s" % spec["hdf5"].prefix.lib, "-lhdf5")
try:
check = Executable("./check")
output = check(output=str)
diff --git a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py
index 6f4a34318e..ddd0159db8 100644
--- a/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-vfd-gds/package.py
@@ -10,26 +10,26 @@ class Hdf5VfdGds(CMakePackage, CudaPackage):
"""This package enables GPU Direct Storage Virtual File Driver in HDF5."""
# Package info
- homepage = 'https://github.com/hpc-io/vfd-gds'
- url = 'https://github.com/hpc-io/vfd-gds/archive/refs/tags/1.0.1.tar.gz'
- git = 'https://github.com/hpc-io/vfd-gds.git'
- maintainers = ['hyoklee', 'lrknox']
+ homepage = "https://github.com/hpc-io/vfd-gds"
+ url = "https://github.com/hpc-io/vfd-gds/archive/refs/tags/1.0.1.tar.gz"
+ git = "https://github.com/hpc-io/vfd-gds.git"
+ maintainers = ["hyoklee", "lrknox"]
# Versions
- version('master', branch='master')
- version('1.0.1', sha256='00e125fd149561be991f41e883824de826d8add604aebccf103a4fb82d5faac2')
- version('1.0.0', sha256='6b16105c7c49f13fc05784ee69b78d45fb159270c78d760689f9cd21e230ddd2')
+ version("master", branch="master")
+ version("1.0.1", sha256="00e125fd149561be991f41e883824de826d8add604aebccf103a4fb82d5faac2")
+ version("1.0.0", sha256="6b16105c7c49f13fc05784ee69b78d45fb159270c78d760689f9cd21e230ddd2")
# Dependencies
- conflicts('~cuda')
- depends_on('cmake@3.12:')
- depends_on('hdf5@1.13.0:')
+ conflicts("~cuda")
+ depends_on("cmake@3.12:")
+ depends_on("hdf5@1.13.0:")
def cmake_args(self):
# CMake options
args = [
- self.define('BUILD_TESTING', self.run_tests),
+ self.define("BUILD_TESTING", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py
index aabbad04b2..04596d3d1b 100644
--- a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py
@@ -10,33 +10,33 @@ class Hdf5VolAsync(CMakePackage):
"""This package enables asynchronous IO in HDF5."""
homepage = "https://hdf5-vol-async.readthedocs.io"
- git = "https://github.com/hpc-io/vol-async.git"
+ git = "https://github.com/hpc-io/vol-async.git"
- maintainers = ['hyoklee', 'houjun', 'jeanbez']
+ maintainers = ["hyoklee", "houjun", "jeanbez"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='develop')
- version('1.2', tag='v1.2')
- version('1.1', tag='v1.1')
- version('1.0', tag='v1.0')
+ version("develop", branch="develop")
+ version("1.2", tag="v1.2")
+ version("1.1", tag="v1.1")
+ version("1.0", tag="v1.0")
- depends_on('mpi')
- depends_on('argobots@main')
- depends_on('hdf5@1.13: +mpi +threadsafe')
+ depends_on("mpi")
+ depends_on("argobots@main")
+ depends_on("hdf5@1.13: +mpi +threadsafe")
def setup_run_environment(self, env):
- env.set('HDF5_PLUGIN_PATH', self.spec.prefix)
+ env.set("HDF5_PLUGIN_PATH", self.spec.prefix)
vol_connector = "async under_vol=0;under_info=[]"
- env.set('HDF5_VOL_CONNECTOR', vol_connector)
- env.set('MPICH_MAX_THREAD_SAFETY', 'multiple')
+ env.set("HDF5_VOL_CONNECTOR", vol_connector)
+ env.set("MPICH_MAX_THREAD_SAFETY", "multiple")
def cmake_args(self):
"""Populate cmake arguments for HDF5 VOL."""
args = [
- self.define('CMAKE_C_COMPILER', self.spec['mpi'].mpicc),
- self.define('BUILD_SHARED_LIBS', True),
- self.define('BUILD_TESTING', self.run_tests)
+ self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc),
+ self.define("BUILD_SHARED_LIBS", True),
+ self.define("BUILD_TESTING", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py
index 639e470f34..19dfeb26ac 100644
--- a/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py
@@ -10,17 +10,17 @@ class Hdf5VolExternalPassthrough(CMakePackage):
"""Package for HDF5 external pass-through VOL."""
homepage = "https://sdm.lbl.gov/"
- url = "https://github.com/hpc-io/vol-external-passthrough/archive/refs/tags/v1.0.tar.gz"
- git = "https://github.com/hpc-io/vol-external-passthrough.git"
- maintainers = ['hyoklee']
+ url = "https://github.com/hpc-io/vol-external-passthrough/archive/refs/tags/v1.0.tar.gz"
+ git = "https://github.com/hpc-io/vol-external-passthrough.git"
+ maintainers = ["hyoklee"]
- version('develop', branch='develop')
- version('1.0', sha256='99a06d1c31451f8f0c8c10fec112410cda1f951f0eda1bd0ca999d6b35cf7740')
- depends_on('hdf5@1.13.0:')
+ version("develop", branch="develop")
+ version("1.0", sha256="99a06d1c31451f8f0c8c10fec112410cda1f951f0eda1bd0ca999d6b35cf7740")
+ depends_on("hdf5@1.13.0:")
def cmake_args(self):
args = [
- self.define('BUILD_SHARED_LIBS:BOOL', True),
- self.define('BUILD_TESTING:BOOL=ON', self.run_tests)
+ self.define("BUILD_SHARED_LIBS:BOOL", True),
+ self.define("BUILD_TESTING:BOOL=ON", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
index 7d400bc266..27a317db2b 100644
--- a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
@@ -10,25 +10,25 @@ class Hdf5VolLog(AutotoolsPackage):
"""Log-based VOL - an HDF5 VOL Plugin that stores HDF5 datasets in a log-based
storage layout."""
- homepage = 'https://github.com/DataLib-ECP/vol-log-based'
- url = 'https://github.com/DataLib-ECP/vol-log-based'
- git = 'https://github.com/DataLib-ECP/vol-log-based.git'
- maintainers = ['hyoklee', 'lrknox']
+ homepage = "https://github.com/DataLib-ECP/vol-log-based"
+ url = "https://github.com/DataLib-ECP/vol-log-based"
+ git = "https://github.com/DataLib-ECP/vol-log-based.git"
+ maintainers = ["hyoklee", "lrknox"]
- version('master-1.1', branch='master')
+ version("master-1.1", branch="master")
- version('1.1.0', commit='ca146fa7d320ec5c0b397669b330c78fceeabb57')
+ version("1.1.0", commit="ca146fa7d320ec5c0b397669b330c78fceeabb57")
- depends_on('hdf5@1.13.0:')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("hdf5@1.13.0:")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def configure_args(self):
args = []
- args.append('--enable-shared')
- args.append('--enable-zlib')
+ args.append("--enable-shared")
+ args.append("--enable-zlib")
return args
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 45e00c0f6b..5dc748ef5e 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -18,99 +18,204 @@ class Hdf5(CMakePackage):
"""
homepage = "https://portal.hdfgroup.org"
- url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.8/src/hdf5-1.10.8.tar.gz"
+ url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.8/src/hdf5-1.10.8.tar.gz"
list_url = "https://support.hdfgroup.org/ftp/HDF5/releases"
list_depth = 3
- git = "https://github.com/HDFGroup/hdf5.git"
- maintainers = ['lrknox', 'brtnfld', 'byrnHDF', 'ChristopherHogan', 'epourmal',
- 'gheber', 'hyoklee', 'lkurz', 'soumagne']
-
- tags = ['e4s']
+ git = "https://github.com/HDFGroup/hdf5.git"
+ maintainers = [
+ "lrknox",
+ "brtnfld",
+ "byrnHDF",
+ "ChristopherHogan",
+ "epourmal",
+ "gheber",
+ "hyoklee",
+ "lkurz",
+ "soumagne",
+ ]
+
+ tags = ["e4s"]
test_requires_compiler = True
# The 'develop' version is renamed so that we could uninstall (or patch) it
# without affecting other develop version.
- version('develop-1.13', branch='develop')
- version('develop-1.12', branch='hdf5_1_12')
- version('develop-1.10', branch='hdf5_1_10')
- version('develop-1.8', branch='hdf5_1_8')
+ version("develop-1.13", branch="develop")
+ version("develop-1.12", branch="hdf5_1_12")
+ version("develop-1.10", branch="hdf5_1_10")
+ version("develop-1.8", branch="hdf5_1_8")
# Odd versions are considered experimental releases
- version('1.13.1', sha256='051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53')
- version('1.13.0', sha256='3049faf900f0c52e09ea4cddfb83af057615f2fc1cc80eb5202dd57b09820115')
+ version("1.13.1", sha256="051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53")
+ version("1.13.0", sha256="3049faf900f0c52e09ea4cddfb83af057615f2fc1cc80eb5202dd57b09820115")
# Even versions are maintenance versions
- version('1.12.2', sha256='2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14', preferred=True)
- version('1.12.1', sha256='79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca', preferred=True)
- version('1.12.0', sha256='a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a', preferred=True)
- version('1.10.9', sha256='f5b77f59b705a755a5a223372d0222c7bc408fe8db6fa8d9d7ecf8bce291b8dd', preferred=True)
- version('1.10.8', sha256='d341b80d380dd763753a0ebe22915e11e87aac4e44a084a850646ff934d19c80', preferred=True)
- version('1.10.7', sha256='7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15', preferred=True)
- version('1.10.6', sha256='5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa', preferred=True)
- version('1.10.5', sha256='6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8', preferred=True)
- version('1.10.4', sha256='8f60dc4dd6ab5fcd23c750d1dc5bca3d0453bdce5c8cdaf0a4a61a9d1122adb2', preferred=True)
- version('1.10.3', sha256='b600d7c914cfa80ae127cd1a1539981213fee9994ac22ebec9e3845e951d9b39', preferred=True)
- version('1.10.2', sha256='bfec1be8c366965a99812cf02ddc97e4b708c1754fccba5414d4adccdc073866', preferred=True)
- version('1.10.1', sha256='048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172', preferred=True)
- version('1.10.0-patch1', sha256='6e78cfe32a10e6e0629393cdfddf6cfa536571efdaf85f08e35326e1b4e9eff0', preferred=True)
- version('1.10.0', sha256='81f6201aba5c30dced5dcd62f5d5477a2790fd5850e02ac514ca8bf3e2bb375a', preferred=True)
- version('1.8.22', sha256='8406d96d9355ef8961d2739fb8fd5474ad4cdf52f3cfac657733defd9709bfaa', preferred=True)
- version('1.8.21', sha256='87d8c82eba5cf766d97cd06c054f4639c1049c4adeaa3a79f77f8bd374f80f37', preferred=True)
- version('1.8.19', sha256='a4335849f19fae88c264fd0df046bc321a78c536b2548fc508627a790564dc38', preferred=True)
- version('1.8.18', sha256='cdb195ad8d9e6782acf24b2488061289f615628c2ccda8457b0a0c3fb7a8a063', preferred=True)
- version('1.8.17', sha256='d9cda297ee76ade9881c4208987939250d397bae6252d0ccb66fa7d24d67e263', preferred=True)
- version('1.8.16', sha256='ed17178abd9928a7237f30370189ba767b9e39e0db45917c2ac4665eb9cb4771', preferred=True)
- version('1.8.15', sha256='4e963216b7d32469596bc1321a8c3f6e0c278dcbbdb7be6414c63c081b34c275', preferred=True)
- version('1.8.14', sha256='1dbefeeef7f591897c632b2b090db96bb8d35ad035beaa36bc39cb2bc67e0639', preferred=True)
- version('1.8.13', sha256='82f6b38eec103b4fccfbf14892786e0c27a8135d3252d8601cf5bf20066d38c1', preferred=True)
- version('1.8.12', sha256='b5cccea850096962b5fd9e96f22c4f47d2379224bb41130d9bc038bb6c37dfcb', preferred=True)
- version('1.8.10', sha256='4813b79c5fb8701a625b9924b8203bc7154a77f9b826ad4e034144b4056a160a', preferred=True)
-
- variant('shared', default=True,
- description='Builds a shared version of the library')
-
- variant('hl', default=False, description='Enable the high-level library')
- variant('cxx', default=False, description='Enable C++ support')
- variant('fortran', default=False, description='Enable Fortran support')
- variant('java', when='@1.10:', default=False,
- description='Enable Java support')
- variant('threadsafe', default=False,
- description='Enable thread-safe capabilities')
- variant('tools', default=True, description='Enable building tools')
- variant('mpi', default=True, description='Enable MPI support')
- variant('szip', default=False, description='Enable szip support')
+ version(
+ "1.12.2",
+ sha256="2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14",
+ preferred=True,
+ )
+ version(
+ "1.12.1",
+ sha256="79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca",
+ preferred=True,
+ )
+ version(
+ "1.12.0",
+ sha256="a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a",
+ preferred=True,
+ )
+ version(
+ "1.10.9",
+ sha256="f5b77f59b705a755a5a223372d0222c7bc408fe8db6fa8d9d7ecf8bce291b8dd",
+ preferred=True,
+ )
+ version(
+ "1.10.8",
+ sha256="d341b80d380dd763753a0ebe22915e11e87aac4e44a084a850646ff934d19c80",
+ preferred=True,
+ )
+ version(
+ "1.10.7",
+ sha256="7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15",
+ preferred=True,
+ )
+ version(
+ "1.10.6",
+ sha256="5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa",
+ preferred=True,
+ )
+ version(
+ "1.10.5",
+ sha256="6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8",
+ preferred=True,
+ )
+ version(
+ "1.10.4",
+ sha256="8f60dc4dd6ab5fcd23c750d1dc5bca3d0453bdce5c8cdaf0a4a61a9d1122adb2",
+ preferred=True,
+ )
+ version(
+ "1.10.3",
+ sha256="b600d7c914cfa80ae127cd1a1539981213fee9994ac22ebec9e3845e951d9b39",
+ preferred=True,
+ )
+ version(
+ "1.10.2",
+ sha256="bfec1be8c366965a99812cf02ddc97e4b708c1754fccba5414d4adccdc073866",
+ preferred=True,
+ )
+ version(
+ "1.10.1",
+ sha256="048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172",
+ preferred=True,
+ )
+ version(
+ "1.10.0-patch1",
+ sha256="6e78cfe32a10e6e0629393cdfddf6cfa536571efdaf85f08e35326e1b4e9eff0",
+ preferred=True,
+ )
+ version(
+ "1.10.0",
+ sha256="81f6201aba5c30dced5dcd62f5d5477a2790fd5850e02ac514ca8bf3e2bb375a",
+ preferred=True,
+ )
+ version(
+ "1.8.22",
+ sha256="8406d96d9355ef8961d2739fb8fd5474ad4cdf52f3cfac657733defd9709bfaa",
+ preferred=True,
+ )
+ version(
+ "1.8.21",
+ sha256="87d8c82eba5cf766d97cd06c054f4639c1049c4adeaa3a79f77f8bd374f80f37",
+ preferred=True,
+ )
+ version(
+ "1.8.19",
+ sha256="a4335849f19fae88c264fd0df046bc321a78c536b2548fc508627a790564dc38",
+ preferred=True,
+ )
+ version(
+ "1.8.18",
+ sha256="cdb195ad8d9e6782acf24b2488061289f615628c2ccda8457b0a0c3fb7a8a063",
+ preferred=True,
+ )
+ version(
+ "1.8.17",
+ sha256="d9cda297ee76ade9881c4208987939250d397bae6252d0ccb66fa7d24d67e263",
+ preferred=True,
+ )
+ version(
+ "1.8.16",
+ sha256="ed17178abd9928a7237f30370189ba767b9e39e0db45917c2ac4665eb9cb4771",
+ preferred=True,
+ )
+ version(
+ "1.8.15",
+ sha256="4e963216b7d32469596bc1321a8c3f6e0c278dcbbdb7be6414c63c081b34c275",
+ preferred=True,
+ )
+ version(
+ "1.8.14",
+ sha256="1dbefeeef7f591897c632b2b090db96bb8d35ad035beaa36bc39cb2bc67e0639",
+ preferred=True,
+ )
+ version(
+ "1.8.13",
+ sha256="82f6b38eec103b4fccfbf14892786e0c27a8135d3252d8601cf5bf20066d38c1",
+ preferred=True,
+ )
+ version(
+ "1.8.12",
+ sha256="b5cccea850096962b5fd9e96f22c4f47d2379224bb41130d9bc038bb6c37dfcb",
+ preferred=True,
+ )
+ version(
+ "1.8.10",
+ sha256="4813b79c5fb8701a625b9924b8203bc7154a77f9b826ad4e034144b4056a160a",
+ preferred=True,
+ )
+
+ variant("shared", default=True, description="Builds a shared version of the library")
+
+ variant("hl", default=False, description="Enable the high-level library")
+ variant("cxx", default=False, description="Enable C++ support")
+ variant("fortran", default=False, description="Enable Fortran support")
+ variant("java", when="@1.10:", default=False, description="Enable Java support")
+ variant("threadsafe", default=False, description="Enable thread-safe capabilities")
+ variant("tools", default=True, description="Enable building tools")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("szip", default=False, description="Enable szip support")
# Build HDF5 with API compatibility.
- variant('api', default='default',
- description='Choose api compatibility for earlier version',
- values=('default', 'v114', 'v112', 'v110', 'v18', 'v16'),
- multi=False)
+ variant(
+ "api",
+ default="default",
+ description="Choose api compatibility for earlier version",
+ values=("default", "v114", "v112", "v110", "v18", "v16"),
+ multi=False,
+ )
- depends_on('cmake@3.12:', type='build')
+ depends_on("cmake@3.12:", type="build")
- depends_on('mpi', when='+mpi')
- depends_on('java', type=('build', 'run'), when='+java')
- depends_on('szip', when='+szip')
- depends_on('zlib@1.1.2:')
+ depends_on("mpi", when="+mpi")
+ depends_on("java", type=("build", "run"), when="+java")
+ depends_on("szip", when="+szip")
+ depends_on("zlib@1.1.2:")
# The compiler wrappers (h5cc, h5fc, etc.) run 'pkg-config'.
- depends_on('pkgconfig', type='run')
+ depends_on("pkgconfig", type="run")
- conflicts('api=v114', when='@1.6:1.12',
- msg='v114 is not compatible with this release')
- conflicts('api=v112', when='@1.6:1.10',
- msg='v112 is not compatible with this release')
- conflicts('api=v110', when='@1.6:1.8',
- msg='v110 is not compatible with this release')
- conflicts('api=v18', when='@1.6.0:1.6',
- msg='v18 is not compatible with this release')
+ conflicts("api=v114", when="@1.6:1.12", msg="v114 is not compatible with this release")
+ conflicts("api=v112", when="@1.6:1.10", msg="v112 is not compatible with this release")
+ conflicts("api=v110", when="@1.6:1.8", msg="v110 is not compatible with this release")
+ conflicts("api=v18", when="@1.6.0:1.6", msg="v18 is not compatible with this release")
# The Java wrappers cannot be built without shared libs.
- conflicts('+java', when='~shared')
+ conflicts("+java", when="~shared")
# Fortran fails built with shared for old HDF5 versions
- conflicts('+fortran', when='+shared@:1.8.15')
+ conflicts("+fortran", when="+shared@:1.8.15")
# See https://github.com/spack/spack/issues/31085
- conflicts('+fortran+mpi', when='@1.8.22')
+ conflicts("+fortran+mpi", when="@1.8.22")
# There are several officially unsupported combinations of the features:
# 1. Thread safety is not guaranteed via high-level C-API but in some cases
@@ -132,8 +237,7 @@ class Hdf5(CMakePackage):
# There are known build failures with intel@18.0.1. This issue is
# discussed and patch is provided at
# https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/747951.
- patch('h5f90global-mult-obj-same-equivalence-same-common-block.patch',
- when='@1.10.1%intel@18')
+ patch("h5f90global-mult-obj-same-equivalence-same-common-block.patch", when="@1.10.1%intel@18")
# Turn line comments into block comments to conform with pre-C99 language
# standards. Versions of hdf5 after 1.8.10 don't require this patch,
@@ -145,25 +249,33 @@ class Hdf5(CMakePackage):
# pre-C99 code is restricted to just five lines of line comments in
# three src files, this patch accomplishes the simple task of patching the
# three src files and leaves the hdf5 build system alone.
- patch('pre-c99-comments.patch', when='@1.8.10')
+ patch("pre-c99-comments.patch", when="@1.8.10")
# There are build errors with GCC 8, see
# https://forum.hdfgroup.org/t/1-10-2-h5detect-compile-error-gcc-8-1-0-on-centos-7-2-solved/4441
- patch('https://salsa.debian.org/debian-gis-team/hdf5/raw/bf94804af5f80f662cad80a5527535b3c6537df6/debian/patches/gcc-8.patch',
- sha256='57cee5ff1992b4098eda079815c36fc2da9b10e00a9056df054f2384c4fc7523',
- when='@1.10.2%gcc@8:')
+ patch(
+ "https://salsa.debian.org/debian-gis-team/hdf5/raw/bf94804af5f80f662cad80a5527535b3c6537df6/debian/patches/gcc-8.patch",
+ sha256="57cee5ff1992b4098eda079815c36fc2da9b10e00a9056df054f2384c4fc7523",
+ when="@1.10.2%gcc@8:",
+ )
# Disable MPI C++ interface when C++ is disabled, otherwise downstream
# libraries fail to link; see https://github.com/spack/spack/issues/12586
- patch('h5public-skip-mpicxx.patch', when='@1.8.10:1.8.21,1.10.0:1.10.5+mpi~cxx',
- sha256='b61e2f058964ad85be6ee5ecea10080bf79e73f83ff88d1fa4b602d00209da9c')
+ patch(
+ "h5public-skip-mpicxx.patch",
+ when="@1.8.10:1.8.21,1.10.0:1.10.5+mpi~cxx",
+ sha256="b61e2f058964ad85be6ee5ecea10080bf79e73f83ff88d1fa4b602d00209da9c",
+ )
# Fixes BOZ literal constant error when compiled with GCC 10.
# The issue is described here: https://github.com/spack/spack/issues/18625
- patch('hdf5_1.8_gcc10.patch', when='@:1.8.21',
- sha256='0e20187cda3980a4fdff410da92358b63de7ebef2df1d7a425371af78e50f666')
+ patch(
+ "hdf5_1.8_gcc10.patch",
+ when="@:1.8.21",
+ sha256="0e20187cda3980a4fdff410da92358b63de7ebef2df1d7a425371af78e50f666",
+ )
- patch('fortran-kinds.patch', when='@1.10.7')
+ patch("fortran-kinds.patch", when="@1.10.7")
# This patch may only be needed with GCC11.2 on macOS, but it's valid for
# any of the head HDF5 versions as of 12/2021. Since it's impossible to
@@ -171,7 +283,7 @@ class Hdf5(CMakePackage):
# macOS (which is the norm), and this might be an issue for other compilers
# as well, we just apply it to all platforms.
# See https://github.com/HDFGroup/hdf5/issues/1157
- patch('fortran-kinds-2.patch', when='@1.10.8,1.12.1')
+ patch("fortran-kinds-2.patch", when="@1.10.8,1.12.1")
# The argument 'buf_size' of the C function 'h5fget_file_image_c' is
# declared as intent(in) though it is modified by the invocation. As a
@@ -179,32 +291,39 @@ class Hdf5(CMakePackage):
# optimization to cause an error.
def patch(self):
filter_file(
- 'INTEGER(SIZE_T), INTENT(IN) :: buf_size',
- 'INTEGER(SIZE_T), INTENT(OUT) :: buf_size',
- 'fortran/src/H5Fff.F90',
- string=True, ignore_absent=True)
+ "INTEGER(SIZE_T), INTENT(IN) :: buf_size",
+ "INTEGER(SIZE_T), INTENT(OUT) :: buf_size",
+ "fortran/src/H5Fff.F90",
+ string=True,
+ ignore_absent=True,
+ )
filter_file(
- 'INTEGER(SIZE_T), INTENT(IN) :: buf_size',
- 'INTEGER(SIZE_T), INTENT(OUT) :: buf_size',
- 'fortran/src/H5Fff_F03.f90',
- string=True, ignore_absent=True)
+ "INTEGER(SIZE_T), INTENT(IN) :: buf_size",
+ "INTEGER(SIZE_T), INTENT(OUT) :: buf_size",
+ "fortran/src/H5Fff_F03.f90",
+ string=True,
+ ignore_absent=True,
+ )
if self.run_tests:
# hdf5 has ~2200 CPU-intensive tests, some of them have races:
# Often, these loop endless(at least on one Xeon and one EPYC).
# testphdf5 fails indeterministic. This fixes finishing the tests
- filter_file('REMOVE_ITEM H5P_TESTS',
- 'REMOVE_ITEM H5P_TESTS t_bigio t_shapesame testphdf5',
- 'testpar/CMakeTests.cmake')
+ filter_file(
+ "REMOVE_ITEM H5P_TESTS",
+ "REMOVE_ITEM H5P_TESTS t_bigio t_shapesame testphdf5",
+ "testpar/CMakeTests.cmake",
+ )
# The parallel compiler wrappers (i.e. h5pcc, h5pfc, etc.) reference MPI
# compiler wrappers and do not need to be changed.
- filter_compiler_wrappers('h5cc', 'h5hlcc',
- 'h5fc', 'h5hlfc',
- 'h5c++', 'h5hlc++',
- relative_root='bin')
+ filter_compiler_wrappers(
+ "h5cc", "h5hlcc", "h5fc", "h5hlfc", "h5c++", "h5hlc++", relative_root="bin"
+ )
def url_for_version(self, version):
- url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{0}/hdf5-{1}/src/hdf5-{1}.tar.gz"
+ url = (
+ "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{0}/hdf5-{1}/src/hdf5-{1}.tar.gz"
+ )
return url.format(version.up_to(2), version)
def flag_handler(self, name, flags):
@@ -212,31 +331,30 @@ class Hdf5(CMakePackage):
cmake_flags = []
if name == "cflags":
- if spec.compiler.name in ['gcc', 'clang', 'apple-clang']:
+ if spec.compiler.name in ["gcc", "clang", "apple-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 spec.satisfies('@:1.8.12~shared'):
+ if spec.satisfies("@:1.8.12~shared"):
# More recent versions set CMAKE_POSITION_INDEPENDENT_CODE to
# True and build with PIC flags.
cmake_flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
- if spec.satisfies('@:1.8.12+cxx~shared'):
+ elif name == "cxxflags":
+ if spec.satisfies("@:1.8.12+cxx~shared"):
cmake_flags.append(self.compiler.cxx_pic_flag)
elif name == "fflags":
- if spec.satisfies('%cce+fortran'):
+ if 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 spec.satisfies('@:1.8.12+fortran~shared'):
+ cmake_flags.append("-ef")
+ if spec.satisfies("@:1.8.12+fortran~shared"):
cmake_flags.append(self.compiler.fc_pic_flag)
elif name == "ldlibs":
- if '+fortran %fj' in spec:
- cmake_flags.extend(['-lfj90i', '-lfj90f',
- '-lfjsrcinfo', '-lelf'])
+ if "+fortran %fj" in spec:
+ cmake_flags.extend(["-lfj90i", "-lfj90f", "-lfjsrcinfo", "-lelf"])
return flags, None, (cmake_flags or None)
@@ -253,13 +371,13 @@ class Hdf5(CMakePackage):
"""
query_parameters = self.spec.last_query.extra_parameters
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
# This map contains a translation from query_parameters
# to the libraries needed
query2libraries = {
- tuple(): ['libhdf5'],
- ('cxx', 'fortran', 'hl', 'java'): [
+ tuple(): ["libhdf5"],
+ ("cxx", "fortran", "hl", "java"): [
# When installed with Autotools, the basename of the real
# library file implementing the High-level Fortran interface is
# 'libhdf5hl_fortran'. Starting versions 1.8.22, 1.10.5 and
@@ -280,127 +398,123 @@ class Hdf5(CMakePackage):
# packages that could benefit from it would be those that
# hardcode the library name in their building systems. Such
# packages should simply be patched.
- 'libhdf5_hl_fortran',
- 'libhdf5_hl_f90cstub',
- 'libhdf5_hl_cpp',
- 'libhdf5_hl',
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5_java',
- 'libhdf5',
+ "libhdf5_hl_fortran",
+ "libhdf5_hl_f90cstub",
+ "libhdf5_hl_cpp",
+ "libhdf5_hl",
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5_java",
+ "libhdf5",
+ ],
+ ("cxx", "hl"): [
+ "libhdf5_hl_cpp",
+ "libhdf5_hl",
+ "libhdf5",
],
- ('cxx', 'hl'): [
- 'libhdf5_hl_cpp',
- 'libhdf5_hl',
- 'libhdf5',
+ ("fortran", "hl"): [
+ "libhdf5_hl_fortran",
+ "libhdf5_hl_f90cstub",
+ "libhdf5_hl",
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5",
],
- ('fortran', 'hl'): [
- 'libhdf5_hl_fortran',
- 'libhdf5_hl_f90cstub',
- 'libhdf5_hl',
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5',
+ ("hl",): [
+ "libhdf5_hl",
+ "libhdf5",
],
- ('hl',): [
- 'libhdf5_hl',
- 'libhdf5',
+ ("cxx", "fortran"): [
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5_cpp",
+ "libhdf5",
],
- ('cxx', 'fortran'): [
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5_cpp',
- 'libhdf5',
+ ("cxx",): [
+ "libhdf5_cpp",
+ "libhdf5",
],
- ('cxx',): [
- 'libhdf5_cpp',
- 'libhdf5',
+ ("fortran",): [
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5",
],
- ('fortran',): [
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5',
+ ("java",): [
+ "libhdf5_java",
+ "libhdf5",
],
- ('java',): [
- 'libhdf5_java',
- 'libhdf5',
- ]
}
# Turn the query into the appropriate key
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
- @when('@:1.8.21,1.10.0:1.10.5+szip')
+ @when("@:1.8.21,1.10.0:1.10.5+szip")
def setup_build_environment(self, env):
- env.set('SZIP_INSTALL', self.spec['szip'].prefix)
+ env.set("SZIP_INSTALL", self.spec["szip"].prefix)
- @run_before('cmake')
+ @run_before("cmake")
def fortran_check(self):
- if '+fortran' in self.spec and not self.compiler.fc:
- msg = 'cannot build a Fortran variant without a Fortran compiler'
+ if "+fortran" in self.spec and not self.compiler.fc:
+ msg = "cannot build a Fortran variant without a Fortran compiler"
raise RuntimeError(msg)
def cmake_args(self):
spec = self.spec
- if spec.satisfies('@:1.8.15+shared'):
- tty.warn('hdf5@:1.8.15+shared does not produce static libraries')
+ if spec.satisfies("@:1.8.15+shared"):
+ tty.warn("hdf5@:1.8.15+shared does not produce static libraries")
args = [
# Always enable this option. This does not actually enable any
# features: it only *allows* the user to specify certain
# combinations of other arguments.
- self.define('ALLOW_UNSUPPORTED', True),
+ self.define("ALLOW_UNSUPPORTED", True),
# Speed-up the building by skipping the examples:
- self.define('HDF5_BUILD_EXAMPLES', False),
+ self.define("HDF5_BUILD_EXAMPLES", False),
self.define(
- 'BUILD_TESTING',
+ "BUILD_TESTING",
self.run_tests or
# Version 1.8.22 fails to build the tools when shared libraries
# are enabled but the tests are disabled.
- spec.satisfies('@1.8.22+shared+tools')),
- self.define('HDF5_ENABLE_Z_LIB_SUPPORT', True),
- self.define_from_variant('HDF5_ENABLE_SZIP_SUPPORT', 'szip'),
- self.define_from_variant('HDF5_ENABLE_SZIP_ENCODING', 'szip'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('ONLY_SHARED_LIBS', False),
- self.define_from_variant('HDF5_ENABLE_PARALLEL', 'mpi'),
- self.define_from_variant('HDF5_ENABLE_THREADSAFE', 'threadsafe'),
- self.define_from_variant('HDF5_BUILD_HL_LIB', 'hl'),
- self.define_from_variant('HDF5_BUILD_CPP_LIB', 'cxx'),
- self.define_from_variant('HDF5_BUILD_FORTRAN', 'fortran'),
- self.define_from_variant('HDF5_BUILD_JAVA', 'java'),
- self.define_from_variant('HDF5_BUILD_TOOLS', 'tools')
+ spec.satisfies("@1.8.22+shared+tools"),
+ ),
+ self.define("HDF5_ENABLE_Z_LIB_SUPPORT", True),
+ self.define_from_variant("HDF5_ENABLE_SZIP_SUPPORT", "szip"),
+ self.define_from_variant("HDF5_ENABLE_SZIP_ENCODING", "szip"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("ONLY_SHARED_LIBS", False),
+ self.define_from_variant("HDF5_ENABLE_PARALLEL", "mpi"),
+ self.define_from_variant("HDF5_ENABLE_THREADSAFE", "threadsafe"),
+ self.define_from_variant("HDF5_BUILD_HL_LIB", "hl"),
+ self.define_from_variant("HDF5_BUILD_CPP_LIB", "cxx"),
+ self.define_from_variant("HDF5_BUILD_FORTRAN", "fortran"),
+ self.define_from_variant("HDF5_BUILD_JAVA", "java"),
+ self.define_from_variant("HDF5_BUILD_TOOLS", "tools"),
]
- api = spec.variants['api'].value
- if api != 'default':
- args.append(self.define('DEFAULT_API_VERSION', api))
+ api = spec.variants["api"].value
+ if api != "default":
+ args.append(self.define("DEFAULT_API_VERSION", api))
- if '+mpi' in spec:
- args.append(self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc))
+ if "+mpi" in spec:
+ args.append(self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc))
- if '+cxx' in self.spec:
- args.append(self.define('CMAKE_CXX_COMPILER',
- spec['mpi'].mpicxx))
+ if "+cxx" in self.spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx))
- if '+fortran' in self.spec:
- args.append(self.define('CMAKE_Fortran_COMPILER',
- spec['mpi'].mpifc))
+ if "+fortran" in self.spec:
+ args.append(self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc))
# work-around for https://github.com/HDFGroup/hdf5/issues/1320
- if spec.satisfies('@1.10.8,1.13.0'):
- args.append(self.define('HDF5_INSTALL_CMAKE_DIR',
- 'share/cmake/hdf5'))
+ if spec.satisfies("@1.10.8,1.13.0"):
+ args.append(self.define("HDF5_INSTALL_CMAKE_DIR", "share/cmake/hdf5"))
return args
- @run_after('install')
+ @run_after("install")
def ensure_parallel_compiler_wrappers(self):
# When installed with Autotools and starting at least version 1.8.10,
# the package produces C compiler wrapper called either 'h5cc' (when MPI
@@ -411,26 +525,24 @@ class Hdf5(CMakePackage):
# support is enabled and the file is identical to 'h5cc'. Here, we make
# sure that 'h5pcc' is available when MPI support is enabled (only for
# versions that generate 'h5cc').
- if self.spec.satisfies('@1.8.21:1.8.22,1.10.2:1.10.7,1.12.0+mpi'):
+ if self.spec.satisfies("@1.8.21:1.8.22,1.10.2:1.10.7,1.12.0+mpi"):
with working_dir(self.prefix.bin):
# No try/except here, fix the condition above instead:
- symlink('h5cc', 'h5pcc')
+ symlink("h5cc", "h5pcc")
# The same as for 'h5pcc'. However, the CMake installation produces the
# Fortran compiler wrapper called 'h5fc' only starting versions 1.8.22,
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
# MPI support are enabled (only for versions that generate 'h5fc').
- if self.spec.satisfies('@1.8.22:1.8,'
- '1.10.6:1.10,'
- '1.12.0:1.12,'
- 'develop:'
- '+fortran+mpi'):
+ if self.spec.satisfies(
+ "@1.8.22:1.8," "1.10.6:1.10," "1.12.0:1.12," "develop:" "+fortran+mpi"
+ ):
with working_dir(self.prefix.bin):
# No try/except here, fix the condition above instead:
- symlink('h5fc', 'h5pfc')
+ symlink("h5fc", "h5pfc")
- @run_after('install')
+ @run_after("install")
def fix_package_config(self):
# We need to fix the pkg-config files, which are also used by the
# compiler wrappers. The files are created starting versions 1.8.21,
@@ -445,7 +557,7 @@ class Hdf5(CMakePackage):
# that each <name>-<version>.pc file is symlinked by <name>.pc and all
# references to <name>-<version> packages in the original files are
# replaced with references to <name> packages.
- pc_files = find(self.prefix.lib.pkgconfig, 'hdf5*.pc', recursive=False)
+ pc_files = find(self.prefix.lib.pkgconfig, "hdf5*.pc", recursive=False)
if not pc_files:
# This also tells us that the pkgconfig directory does not exist.
@@ -453,20 +565,23 @@ class Hdf5(CMakePackage):
# Replace versioned references in all pkg-config files:
filter_file(
- r'(Requires(?:\.private)?:.*)(hdf5[^\s,]*)(?:-[^\s,]*)(.*)',
- r'\1\2\3', *pc_files, backup=False)
+ r"(Requires(?:\.private)?:.*)(hdf5[^\s,]*)(?:-[^\s,]*)(.*)",
+ r"\1\2\3",
+ *pc_files,
+ backup=False
+ )
# Create non-versioned symlinks to the versioned pkg-config files:
with working_dir(self.prefix.lib.pkgconfig):
for f in pc_files:
src_filename = os.path.basename(f)
- version_sep_idx = src_filename.find('-')
+ version_sep_idx = src_filename.find("-")
if version_sep_idx > -1:
- tgt_filename = src_filename[:version_sep_idx] + '.pc'
+ tgt_filename = src_filename[:version_sep_idx] + ".pc"
if not os.path.exists(tgt_filename):
symlink(src_filename, tgt_filename)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
self._check_install()
@@ -480,7 +595,7 @@ class Hdf5(CMakePackage):
# Because the release number in a develop branch is not fixed,
# only the major and minor version numbers are compared.
# Otherwise all 3 numbers are checked.
- if 'develop' in str(spec.version.up_to(3)):
+ if "develop" in str(spec.version.up_to(3)):
source = r"""
#include <hdf5.h>
#include <assert.h>
@@ -510,24 +625,27 @@ int main(int argc, char **argv) {
"""
expected = """\
HDF5 version {version} {version}
-""".format(version=str(spec.version.up_to(3)))
- if 'develop' in expected:
+""".format(
+ version=str(spec.version.up_to(3))
+ )
+ if "develop" in expected:
# Remove 'develop-' from the version in spack for checking
# version against the version in the HDF5 code.
expected = """\
HDF5 version {version} {version}
-""".format(version=str(spec.version.up_to(3)).partition("-")[2])
- with open("check.c", 'w') as f:
+""".format(
+ version=str(spec.version.up_to(3)).partition("-")[2]
+ )
+ with open("check.c", "w") as f:
f.write(source)
- if '+mpi' in spec:
- cc = Executable(spec['mpi'].mpicc)
+ if "+mpi" in spec:
+ cc = Executable(spec["mpi"].mpicc)
else:
cc = Executable(self.compiler.cc)
- cc(*(['-c', "check.c"] + spec['hdf5'].headers.cpp_flags.split()))
- cc(*(['-o', "check",
- "check.o"] + spec['hdf5'].libs.ld_flags.split()))
+ cc(*(["-c", "check.c"] + spec["hdf5"].headers.cpp_flags.split()))
+ cc(*(["-o", "check", "check.o"] + spec["hdf5"].libs.ld_flags.split()))
try:
- check = Executable('./check')
+ check = Executable("./check")
output = check(output=str)
except ProcessError:
output = ""
@@ -535,59 +653,78 @@ HDF5 version {version} {version}
if not success:
print("Produced output does not match expected output.")
print("Expected output:")
- print('-' * 80)
+ print("-" * 80)
print(expected)
- print('-' * 80)
+ print("-" * 80)
print("Produced output:")
- print('-' * 80)
+ print("-" * 80)
print(output)
- print('-' * 80)
+ print("-" * 80)
raise RuntimeError("HDF5 install check failed")
shutil.rmtree(checkdir)
def _test_check_versions(self):
"""Perform version checks on selected installed package binaries."""
- spec_vers_str = 'Version {0}'.format(self.spec.version)
- if 'develop' in spec_vers_str:
+ spec_vers_str = "Version {0}".format(self.spec.version)
+ if "develop" in spec_vers_str:
# Remove 'develop-' from the version in spack for checking
# version against the version in the HDF5 code.
spec_vers_str = spec_vers_str.partition("-")[2]
exes = [
- 'h5copy', 'h5diff', 'h5dump', 'h5format_convert', 'h5ls',
- 'h5mkgrp', 'h5repack', 'h5stat', 'h5unjam',
+ "h5copy",
+ "h5diff",
+ "h5dump",
+ "h5format_convert",
+ "h5ls",
+ "h5mkgrp",
+ "h5repack",
+ "h5stat",
+ "h5unjam",
]
- use_short_opt = ['h52gif', 'h5repart', 'h5unjam']
+ use_short_opt = ["h52gif", "h5repart", "h5unjam"]
for exe in exes:
- reason = 'test: ensuring version of {0} is {1}' \
- .format(exe, spec_vers_str)
- option = '-V' if exe in use_short_opt else '--version'
- self.run_test(exe, option, spec_vers_str, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test: ensuring version of {0} is {1}".format(exe, spec_vers_str)
+ option = "-V" if exe in use_short_opt else "--version"
+ self.run_test(
+ exe, option, spec_vers_str, installed=True, purpose=reason, skip_missing=True
+ )
def _test_example(self):
"""This test performs copy, dump, and diff on an example hdf5 file."""
test_data_dir = self.test_suite.current_test_data_dir
- filename = 'spack.h5'
+ filename = "spack.h5"
h5_file = test_data_dir.join(filename)
- reason = 'test: ensuring h5dump produces expected output'
- expected = get_escaped_text_output(test_data_dir.join('dump.out'))
- self.run_test('h5dump', filename, expected, installed=True,
- purpose=reason, skip_missing=True,
- work_dir=test_data_dir)
-
- reason = 'test: ensuring h5copy runs'
- options = ['-i', h5_file, '-s', 'Spack', '-o', 'test.h5', '-d',
- 'Spack']
- self.run_test('h5copy', options, [], installed=True,
- purpose=reason, skip_missing=True, work_dir='.')
-
- reason = ('test: ensuring h5diff shows no differences between orig and'
- ' copy')
- self.run_test('h5diff', [h5_file, 'test.h5'], [], installed=True,
- purpose=reason, skip_missing=True, work_dir='.')
+ reason = "test: ensuring h5dump produces expected output"
+ expected = get_escaped_text_output(test_data_dir.join("dump.out"))
+ self.run_test(
+ "h5dump",
+ filename,
+ expected,
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
+
+ reason = "test: ensuring h5copy runs"
+ options = ["-i", h5_file, "-s", "Spack", "-o", "test.h5", "-d", "Spack"]
+ self.run_test(
+ "h5copy", options, [], installed=True, purpose=reason, skip_missing=True, work_dir="."
+ )
+
+ reason = "test: ensuring h5diff shows no differences between orig and" " copy"
+ self.run_test(
+ "h5diff",
+ [h5_file, "test.h5"],
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=".",
+ )
def test(self):
"""Perform smoke tests on the installed package."""
diff --git a/var/spack/repos/builtin/packages/hdfview/package.py b/var/spack/repos/builtin/packages/hdfview/package.py
index 9a880219e8..dc1ee32626 100644
--- a/var/spack/repos/builtin/packages/hdfview/package.py
+++ b/var/spack/repos/builtin/packages/hdfview/package.py
@@ -13,38 +13,37 @@ class Hdfview(Package):
and editing HDF (HDF5 and HDF4) files."""
homepage = "https://www.hdfgroup.org/downloads/hdfview/"
- url = "https://s3.amazonaws.com/hdf-wordpress-1/wp-content/uploads/manual/HDFView/hdfview-3.0.tar.gz"
+ url = "https://s3.amazonaws.com/hdf-wordpress-1/wp-content/uploads/manual/HDFView/hdfview-3.0.tar.gz"
- version('3.1.1', sha256='1cfd127ebb4c3b0ab1cfe54649a410fc7a1c2d73f45564697d3729f4aa6b0ba3',
- url='https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-3.1.1/src/hdfview-3.1.1.tar.gz')
- version('3.0', sha256='e2a16d3842d8947f3d4f154ee9f48a106c7f445914a9e626a53976d678a0e934')
+ version(
+ "3.1.1",
+ sha256="1cfd127ebb4c3b0ab1cfe54649a410fc7a1c2d73f45564697d3729f4aa6b0ba3",
+ url="https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-3.1.1/src/hdfview-3.1.1.tar.gz",
+ )
+ version("3.0", sha256="e2a16d3842d8947f3d4f154ee9f48a106c7f445914a9e626a53976d678a0e934")
# unknown flag: --ignore-missing-deps
- patch('fix_build.patch', when='@3.1.1')
+ patch("fix_build.patch", when="@3.1.1")
- depends_on('ant', type='build')
- depends_on('hdf5 +java')
- depends_on('hdf +java -external-xdr +shared')
+ depends_on("ant", type="build")
+ depends_on("hdf5 +java")
+ depends_on("hdf +java -external-xdr +shared")
def install(self, spec, prefix):
- env['HDF5LIBS'] = spec['hdf5'].prefix
- env['HDFLIBS'] = spec['hdf'].prefix
+ env["HDF5LIBS"] = spec["hdf5"].prefix
+ env["HDFLIBS"] = spec["hdf"].prefix
- ant = which('ant')
- ant('-Dbuild.debug=false', 'deploy')
+ ant = which("ant")
+ ant("-Dbuild.debug=false", "deploy")
- dir_version = os.listdir('build/HDF_Group/HDFView/')[0]
- path = 'build/HDF_Group/HDFView/{0}/'.format(dir_version)
- hdfview = '{0}/{1}'.format(path, 'hdfview.sh')
+ dir_version = os.listdir("build/HDF_Group/HDFView/")[0]
+ path = "build/HDF_Group/HDFView/{0}/".format(dir_version)
+ hdfview = "{0}/{1}".format(path, "hdfview.sh")
- filter_file(
- r'\$dir',
- prefix,
- hdfview
- )
+ filter_file(r"\$dir", prefix, hdfview)
mkdirp(prefix.bin)
install(hdfview, prefix.bin.hdfview)
- chmod = which('chmod')
- chmod('+x', self.prefix.bin.hdfview)
+ chmod = which("chmod")
+ chmod("+x", self.prefix.bin.hdfview)
install_tree(path, prefix)
diff --git a/var/spack/repos/builtin/packages/healpix-cxx/package.py b/var/spack/repos/builtin/packages/healpix-cxx/package.py
index 6a0279f17e..fc8eb064cc 100644
--- a/var/spack/repos/builtin/packages/healpix-cxx/package.py
+++ b/var/spack/repos/builtin/packages/healpix-cxx/package.py
@@ -11,19 +11,20 @@ class HealpixCxx(AutotoolsPackage):
Hierarchical Equal Area isoLatitude Pixelation of a sphere."""
homepage = "https://healpix.sourceforge.io"
- url = "https://ayera.dl.sourceforge.net/project/healpix/Healpix_3.50/healpix_cxx-3.50.0.tar.gz"
+ url = "https://ayera.dl.sourceforge.net/project/healpix/Healpix_3.50/healpix_cxx-3.50.0.tar.gz"
- version('3.50.0', sha256='6538ee160423e8a0c0f92cf2b2001e1a2afd9567d026a86ff6e2287c1580cb4c')
+ version("3.50.0", sha256="6538ee160423e8a0c0f92cf2b2001e1a2afd9567d026a86ff6e2287c1580cb4c")
- depends_on('cfitsio')
- depends_on('libsharp', type='build')
+ depends_on("cfitsio")
+ depends_on("libsharp", type="build")
def patch(self):
spec = self.spec
- configure_fix = FileFilter('configure')
+ configure_fix = FileFilter("configure")
# Link libsharp static libs
configure_fix.filter(
- r'^SHARP_LIBS=.*$',
- 'SHARP_LIBS="-L{0} -lsharp -lc_utils -lfftpack -lm"'
- .format(spec['libsharp'].prefix.lib)
+ r"^SHARP_LIBS=.*$",
+ 'SHARP_LIBS="-L{0} -lsharp -lc_utils -lfftpack -lm"'.format(
+ spec["libsharp"].prefix.lib
+ ),
)
diff --git a/var/spack/repos/builtin/packages/heaptrack/package.py b/var/spack/repos/builtin/packages/heaptrack/package.py
index 0b5a8d8b1f..c3eec10b18 100644
--- a/var/spack/repos/builtin/packages/heaptrack/package.py
+++ b/var/spack/repos/builtin/packages/heaptrack/package.py
@@ -11,25 +11,25 @@ class Heaptrack(CMakePackage):
"""
homepage = "https://github.com/KDE/heaptrack"
- url = "https://github.com/KDE/heaptrack/archive/v1.1.0.tar.gz"
+ url = "https://github.com/KDE/heaptrack/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='bd247ac67d1ecf023ec7e2a2888764bfc03e2f8b24876928ca6aa0cdb3a07309')
+ version("1.1.0", sha256="bd247ac67d1ecf023ec7e2a2888764bfc03e2f8b24876928ca6aa0cdb3a07309")
- depends_on('boost@1.41: +program_options+exception+filesystem+system+iostreams+container')
- depends_on('cmake@2.8.9:', type='build')
- depends_on('elfutils')
- depends_on('libunwind')
- depends_on('zlib')
- depends_on('zstd')
+ depends_on("boost@1.41: +program_options+exception+filesystem+system+iostreams+container")
+ depends_on("cmake@2.8.9:", type="build")
+ depends_on("elfutils")
+ depends_on("libunwind")
+ depends_on("zlib")
+ depends_on("zstd")
def cmake_args(self):
spec = self.spec
cmake_args = [
- "-DBOOST_ROOT={0}".format(spec['boost'].prefix),
- "-DBOOST_LIBRARY_DIR={0}".format(spec['boost'].prefix.lib),
- "-DBOOST_INCLUDE_DIR={0}".format(spec['boost'].prefix.include),
+ "-DBOOST_ROOT={0}".format(spec["boost"].prefix),
+ "-DBOOST_LIBRARY_DIR={0}".format(spec["boost"].prefix.lib),
+ "-DBOOST_INCLUDE_DIR={0}".format(spec["boost"].prefix.include),
"-DBOOST_NO_SYSTEM_PATHS:BOOL=ON",
"-DBoost_NO_BOOST_CMAKE:BOOL=ON",
]
diff --git a/var/spack/repos/builtin/packages/heasoft/package.py b/var/spack/repos/builtin/packages/heasoft/package.py
index bc8299df6b..ba98fe1493 100644
--- a/var/spack/repos/builtin/packages/heasoft/package.py
+++ b/var/spack/repos/builtin/packages/heasoft/package.py
@@ -24,32 +24,30 @@ class Heasoft(AutotoolsPackage):
homepage = "https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/"
url = "https://heasarc.gsfc.nasa.gov/FTP/software/lheasoft/lheasoft6.29/heasoft-6.29src.tar.gz"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('6.30',
- sha256='7f828f6050809653319f94d715c1b6815fbc09adfdcb61f2f0f1d7a6af10684a')
- version('6.29',
- sha256='534fec04baa2586326fd7240805f2606620f3b7d7078a80fdd95c9c1177c9e68')
+ version("6.30", sha256="7f828f6050809653319f94d715c1b6815fbc09adfdcb61f2f0f1d7a6af10684a")
+ version("6.29", sha256="534fec04baa2586326fd7240805f2606620f3b7d7078a80fdd95c9c1177c9e68")
- variant('X', default=True, description='Enable X11 support')
+ variant("X", default=True, description="Enable X11 support")
- depends_on('zlib')
- depends_on('ncurses')
- depends_on('curl')
- depends_on('libxt', when='+X')
- depends_on('libx11', when='+X')
- depends_on('readline')
- depends_on('libpng')
- depends_on('perl-extutils-makemaker')
- depends_on('py-numpy')
+ depends_on("zlib")
+ depends_on("ncurses")
+ depends_on("curl")
+ depends_on("libxt", when="+X")
+ depends_on("libx11", when="+X")
+ depends_on("readline")
+ depends_on("libpng")
+ depends_on("perl-extutils-makemaker")
+ depends_on("py-numpy")
- extends('python')
+ extends("python")
- conflicts('%gcc@:4,10:')
+ conflicts("%gcc@:4,10:")
# Do not create directory in $HOME during environment sourcing and use a
# predictable name for the file to be sourced.
- patch('setup.patch')
+ patch("setup.patch")
# tcltk-configure: Remove redundant X11 header test because spack has X11
# headers in different directories
@@ -60,84 +58,93 @@ class Heasoft(AutotoolsPackage):
# model so convert those to patches. These are kept in sync with what is on
# https://heasarc.gsfc.nasa.gov/docs/software/lheasoft/xanadu/xspec/issues/issues.html
with when("@6.29"):
- patch('heasoft-6.29_tcltk-configure.patch')
+ patch("heasoft-6.29_tcltk-configure.patch")
- patch('heasoft-6.29_xspec-12.12.0a.patch')
- patch('heasoft-6.29_xspec-12.12.0b.patch')
- patch('heasoft-6.29_xspec-12.12.0c.patch')
- patch('heasoft-6.29_xspec-12.12.0d.patch')
- patch('heasoft-6.29_xspec-12.12.0e.patch')
- patch('heasoft-6.29_xspec-12.12.0f.patch')
- patch('heasoft-6.29_xspec-12.12.0g.patch')
- patch('heasoft-6.29_xspec-12.12.0ver.patch')
+ patch("heasoft-6.29_xspec-12.12.0a.patch")
+ patch("heasoft-6.29_xspec-12.12.0b.patch")
+ patch("heasoft-6.29_xspec-12.12.0c.patch")
+ patch("heasoft-6.29_xspec-12.12.0d.patch")
+ patch("heasoft-6.29_xspec-12.12.0e.patch")
+ patch("heasoft-6.29_xspec-12.12.0f.patch")
+ patch("heasoft-6.29_xspec-12.12.0g.patch")
+ patch("heasoft-6.29_xspec-12.12.0ver.patch")
with when("@6.30"):
- patch('heasoft-6.30_tcltk-configure.patch')
+ patch("heasoft-6.30_tcltk-configure.patch")
- configure_directory = 'BUILD_DIR'
+ configure_directory = "BUILD_DIR"
parallel = False
def patch(self):
- filter_file(r'(--with-readline-library=)\\\$READLINE_DIR',
- r'\1{0}'.format(self.spec['readline'].libs.directories[0]),
- join_path('tcltk', 'BUILD_DIR', 'hd_config_info'))
-
- filter_file(r'(--with-readline-includes=)\\\$READLINE_DIR',
- r'\1{0}'.format(
- join_path(self.spec['readline'].headers.directories[0],
- 'readline')),
- join_path('tcltk', 'BUILD_DIR', 'hd_config_info'))
-
- if '+X' in self.spec:
- filter_file(r'(\s+XDIR => ).*',
- r"\1'{0}',".format(self.spec['libx11'].libs.directories[0]),
- join_path('tcltk', 'PGPLOT-perl', 'Makefile.PL'))
+ filter_file(
+ r"(--with-readline-library=)\\\$READLINE_DIR",
+ r"\1{0}".format(self.spec["readline"].libs.directories[0]),
+ join_path("tcltk", "BUILD_DIR", "hd_config_info"),
+ )
+
+ filter_file(
+ r"(--with-readline-includes=)\\\$READLINE_DIR",
+ r"\1{0}".format(join_path(self.spec["readline"].headers.directories[0], "readline")),
+ join_path("tcltk", "BUILD_DIR", "hd_config_info"),
+ )
+
+ if "+X" in self.spec:
+ filter_file(
+ r"(\s+XDIR => ).*",
+ r"\1'{0}',".format(self.spec["libx11"].libs.directories[0]),
+ join_path("tcltk", "PGPLOT-perl", "Makefile.PL"),
+ )
def configure_args(self):
config_args = [
- '--with-png={0}'.format(self.spec['libpng'].prefix),
- 'CPPFLAGS={0}'.format(self.spec['zlib'].headers.include_flags),
- 'LDFLAGS={0}'.format(self.spec['zlib'].libs.search_flags)
+ "--with-png={0}".format(self.spec["libpng"].prefix),
+ "CPPFLAGS={0}".format(self.spec["zlib"].headers.include_flags),
+ "LDFLAGS={0}".format(self.spec["zlib"].libs.search_flags),
]
- config_args += self.enable_or_disable('x', variant='X')
+ config_args += self.enable_or_disable("x", variant="X")
- if '+X' in self.spec:
- config_args.extend([
- '--x-includes={0}'.format(self.spec['libx11'].headers.directories[0]),
- '--x-libraries={0}'.format(self.spec['libx11'].libs.directories[0]),
- ])
+ if "+X" in self.spec:
+ config_args.extend(
+ [
+ "--x-includes={0}".format(self.spec["libx11"].headers.directories[0]),
+ "--x-libraries={0}".format(self.spec["libx11"].libs.directories[0]),
+ ]
+ )
return config_args
- @run_after('install')
+ @run_after("install")
def generate_environment(self):
host_family = self.spec.target.family
host_platform = self.spec.platform
- host_libc = os.confstr('CS_GNU_LIBC_VERSION').split()[1]
- target = '{0}-pc-{1}-gnu-libc{2}'.format(host_family, host_platform,
- host_libc)
- headas_setup_file = join_path(self.spec.prefix, target, 'BUILD_DIR',
- 'headas-setup')
-
- filter_file(r'(^headas_config=).*',
- r'\1{0}'.format(join_path(self.prefix, 'headas-config_spack')),
- headas_setup_file)
-
- filter_file(r'(^flavor.*\n)',
- r'\1HEADAS={0}'.format(join_path(self.spec.prefix, target))
- + "\n",
- headas_setup_file)
+ host_libc = os.confstr("CS_GNU_LIBC_VERSION").split()[1]
+ target = "{0}-pc-{1}-gnu-libc{2}".format(host_family, host_platform, host_libc)
+ headas_setup_file = join_path(self.spec.prefix, target, "BUILD_DIR", "headas-setup")
+
+ filter_file(
+ r"(^headas_config=).*",
+ r"\1{0}".format(join_path(self.prefix, "headas-config_spack")),
+ headas_setup_file,
+ )
+
+ filter_file(
+ r"(^flavor.*\n)",
+ r"\1HEADAS={0}".format(join_path(self.spec.prefix, target)) + "\n",
+ headas_setup_file,
+ )
headas_setup = Executable(headas_setup_file)
- headas_setup('sh')
+ headas_setup("sh")
def setup_run_environment(self, env):
try:
- env.extend(EnvironmentModifications.from_sourcing_file(
- join_path(self.spec.prefix, 'headas-config_spack.sh'), clean=True
- ))
+ env.extend(
+ EnvironmentModifications.from_sourcing_file(
+ join_path(self.spec.prefix, "headas-config_spack.sh"), clean=True
+ )
+ )
except Exception as e:
- msg = 'unexpected error when sourcing HEASOFT setup [{0}]'
+ msg = "unexpected error when sourcing HEASOFT setup [{0}]"
tty.warn(msg.format(str(e)))
diff --git a/var/spack/repos/builtin/packages/heffte/package.py b/var/spack/repos/builtin/packages/heffte/package.py
index 743e4b0828..2628cc5a87 100644
--- a/var/spack/repos/builtin/packages/heffte/package.py
+++ b/var/spack/repos/builtin/packages/heffte/package.py
@@ -10,106 +10,105 @@ class Heffte(CMakePackage, CudaPackage, ROCmPackage):
"""Highly Efficient FFT for Exascale"""
homepage = "https://bitbucket.org/icl/heffte"
- url = "https://bitbucket.org/icl/heffte/get/v1.0.tar.gz"
- git = "https://bitbucket.org/icl/heffte.git"
+ url = "https://bitbucket.org/icl/heffte/get/v1.0.tar.gz"
+ git = "https://bitbucket.org/icl/heffte.git"
- maintainers = ['mkstoyanov']
- tags = ['e4s', 'ecp']
+ maintainers = ["mkstoyanov"]
+ tags = ["e4s", "ecp"]
test_requires_compiler = True
- version('develop', branch='master')
- version('2.2.0', sha256='aff4f5111d3d05b269a1378bb201271c40b39e9c960c05c4ef247a31a039be58')
- version('2.1.0', sha256='527a3e21115231715a0342afdfaf6a8878d2dd0f02f03c92b53692340fd940b9')
- version('2.0.0', sha256='12f2b49a1a36c416eac174cf0cc50e729d56d68a9f68886d8c34bd45a0be26b6')
- version('1.0', sha256='0902479fb5b1bad01438ca0a72efd577a3529c3d8bad0028f3c18d3a4935ca74')
- version('0.2', sha256='4e76ae60982b316c2e873b2e5735669b22620fefa1fc82f325cdb6989bec78d1')
- version('0.1', sha256='d279a03298d2dc76574b1ae1031acb4ea964348cf359273d1afa4668b5bfe748')
-
- patch('threads10.patch', when='@1.0')
- patch('fortran200.patch', when='@2.0.0')
-
- depends_on('cmake@3.10:', type=('build', 'run'))
-
- variant('shared', default=True, description='Builds with shared libraries')
- variant('fftw', default=False, description='Builds with support for FFTW backend')
- variant('mkl', default=False, description='Builds with support for MKL backend')
- variant('magma', default=False, description='Use helper methods from the UTK MAGMA library')
- variant('python', default=False, description='Install the Python bindings')
- variant('fortran', default=False, description='Install the Fortran modules')
-
- depends_on('python@3.0:', when='+python', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-numba', when='+python+cuda', type=('build', 'run'))
- extends('python', when='+python', type=('build', 'run'))
-
- conflicts('~fftw', when='@:2.1.0~mkl~cuda') # requires at least one backend
- conflicts('+fftw', when='+mkl@:1.0') # old API supports at most one CPU backend
- conflicts('^openmpi~cuda', when='+cuda') # +cuda requires CUDA enabled OpenMPI
- conflicts('~cuda~rocm', when='+magma') # magma requires CUDA or HIP
- conflicts('+rocm', when='@:2.1.0') # heffte+rocm is in in development in spack
- conflicts('+python', when="@:1.0") # python support was added post v1.0
- conflicts('+fortran', when="@:1.0") # fortran support was added post v1.0
- conflicts('+magma', when="@:1.0") # magma support was added post v1.0
-
- depends_on('mpi', type=('build', 'run'))
-
- depends_on('fftw@3.3.8:', when="+fftw", type=('build', 'run'))
- depends_on('intel-mkl@2018.0.128:', when="+mkl", type=('build', 'run'))
- depends_on('cuda@8.0:', when="+cuda", type=('build', 'run'))
- depends_on('hip@3.8.0:', when='+rocm')
- depends_on('rocfft@3.8.0:', when='+rocm')
- depends_on('magma@2.5.3:', when="+cuda+magma", type=('build', 'run'))
- depends_on('magma+rocm@2.6.1:',
- when='+magma+rocm @2.1:', type=('build', 'run'))
- depends_on('hipblas@3.8:', when='+magma+rocm', type=('build', 'run'))
- depends_on('hipsparse@3.8:', when='+magma+rocm', type=('build', 'run'))
-
- examples_src_dir = 'examples'
+ version("develop", branch="master")
+ version("2.2.0", sha256="aff4f5111d3d05b269a1378bb201271c40b39e9c960c05c4ef247a31a039be58")
+ version("2.1.0", sha256="527a3e21115231715a0342afdfaf6a8878d2dd0f02f03c92b53692340fd940b9")
+ version("2.0.0", sha256="12f2b49a1a36c416eac174cf0cc50e729d56d68a9f68886d8c34bd45a0be26b6")
+ version("1.0", sha256="0902479fb5b1bad01438ca0a72efd577a3529c3d8bad0028f3c18d3a4935ca74")
+ version("0.2", sha256="4e76ae60982b316c2e873b2e5735669b22620fefa1fc82f325cdb6989bec78d1")
+ version("0.1", sha256="d279a03298d2dc76574b1ae1031acb4ea964348cf359273d1afa4668b5bfe748")
+
+ patch("threads10.patch", when="@1.0")
+ patch("fortran200.patch", when="@2.0.0")
+
+ depends_on("cmake@3.10:", type=("build", "run"))
+
+ variant("shared", default=True, description="Builds with shared libraries")
+ variant("fftw", default=False, description="Builds with support for FFTW backend")
+ variant("mkl", default=False, description="Builds with support for MKL backend")
+ variant("magma", default=False, description="Use helper methods from the UTK MAGMA library")
+ variant("python", default=False, description="Install the Python bindings")
+ variant("fortran", default=False, description="Install the Fortran modules")
+
+ depends_on("python@3.0:", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-numba", when="+python+cuda", type=("build", "run"))
+ extends("python", when="+python", type=("build", "run"))
+
+ conflicts("~fftw", when="@:2.1.0~mkl~cuda") # requires at least one backend
+ conflicts("+fftw", when="+mkl@:1.0") # old API supports at most one CPU backend
+ conflicts("^openmpi~cuda", when="+cuda") # +cuda requires CUDA enabled OpenMPI
+ conflicts("~cuda~rocm", when="+magma") # magma requires CUDA or HIP
+ conflicts("+rocm", when="@:2.1.0") # heffte+rocm is in in development in spack
+ conflicts("+python", when="@:1.0") # python support was added post v1.0
+ conflicts("+fortran", when="@:1.0") # fortran support was added post v1.0
+ conflicts("+magma", when="@:1.0") # magma support was added post v1.0
+
+ depends_on("mpi", type=("build", "run"))
+
+ depends_on("fftw@3.3.8:", when="+fftw", type=("build", "run"))
+ depends_on("intel-mkl@2018.0.128:", when="+mkl", type=("build", "run"))
+ depends_on("cuda@8.0:", when="+cuda", type=("build", "run"))
+ depends_on("hip@3.8.0:", when="+rocm")
+ depends_on("rocfft@3.8.0:", when="+rocm")
+ depends_on("magma@2.5.3:", when="+cuda+magma", type=("build", "run"))
+ depends_on("magma+rocm@2.6.1:", when="+magma+rocm @2.1:", type=("build", "run"))
+ depends_on("hipblas@3.8:", when="+magma+rocm", type=("build", "run"))
+ depends_on("hipsparse@3.8:", when="+magma+rocm", type=("build", "run"))
+
+ examples_src_dir = "examples"
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('Heffte_ENABLE_CUDA', 'cuda'),
- self.define_from_variant('Heffte_ENABLE_ROCM', 'rocm'),
- self.define_from_variant('Heffte_ENABLE_FFTW', 'fftw'),
- self.define_from_variant('Heffte_ENABLE_MKL', 'mkl'),
- self.define_from_variant('Heffte_ENABLE_MAGMA', 'magma'),
- self.define_from_variant('Heffte_ENABLE_FORTRAN', 'fortran'),
- self.define_from_variant('Heffte_ENABLE_PYTHON', 'python'),
- '-DBUILD_GPU={0:1s}'.format(
- 'ON' if ('+cuda' in self.spec and
- '+fftw' in self.spec) else 'OFF'), ]
-
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- if len(cuda_arch) > 0 or cuda_arch[0] != 'none':
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("Heffte_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("Heffte_ENABLE_ROCM", "rocm"),
+ self.define_from_variant("Heffte_ENABLE_FFTW", "fftw"),
+ self.define_from_variant("Heffte_ENABLE_MKL", "mkl"),
+ self.define_from_variant("Heffte_ENABLE_MAGMA", "magma"),
+ self.define_from_variant("Heffte_ENABLE_FORTRAN", "fortran"),
+ self.define_from_variant("Heffte_ENABLE_PYTHON", "python"),
+ "-DBUILD_GPU={0:1s}".format(
+ "ON" if ("+cuda" in self.spec and "+fftw" in self.spec) else "OFF"
+ ),
+ ]
+
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ if len(cuda_arch) > 0 or cuda_arch[0] != "none":
nvcc_flags = ""
for nvflag in self.cuda_flags(cuda_arch):
nvcc_flags += "{0};".format(nvflag)
- args.append('-DCUDA_NVCC_FLAGS={0}'.format(nvcc_flags))
+ args.append("-DCUDA_NVCC_FLAGS={0}".format(nvcc_flags))
- if '+rocm' in self.spec:
- args.append('-DCMAKE_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc))
+ if "+rocm" in self.spec:
+ args.append("-DCMAKE_CXX_COMPILER={0}".format(self.spec["hip"].hipcc))
- rocm_arch = self.spec.variants['amdgpu_target'].value
- if 'none' not in rocm_arch:
- args.append('-DCMAKE_CXX_FLAGS={0}'.format(self.hip_flags(rocm_arch)))
+ rocm_arch = self.spec.variants["amdgpu_target"].value
+ if "none" not in rocm_arch:
+ args.append("-DCMAKE_CXX_FLAGS={0}".format(self.hip_flags(rocm_arch)))
# See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
def test(self):
# using the tests installed in <prefix>/share/heffte/testing
- cmake_dir = join_path(self.prefix, 'share', 'heffte', 'testing')
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- 'test_install')
+ cmake_dir = join_path(self.prefix, "share", "heffte", "testing")
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "test_install")
with working_dir(test_dir, create=True):
cmake(cmake_dir)
make()
- make('test')
+ make("test")
diff --git a/var/spack/repos/builtin/packages/helib/package.py b/var/spack/repos/builtin/packages/helib/package.py
index f9036b32ca..a634e97f9a 100644
--- a/var/spack/repos/builtin/packages/helib/package.py
+++ b/var/spack/repos/builtin/packages/helib/package.py
@@ -19,33 +19,35 @@ class Helib(CMakePackage):
"""
homepage = "https://github.com/homenc/HElib"
- url = "https://github.com/homenc/HElib/archive/refs/tags/v2.2.1.tar.gz"
-
- maintainers = ['wohlbier']
-
- version('2.2.1', sha256='cbe030c752c915f1ece09681cadfbe4f140f6752414ab000b4cf076b6c3019e4')
- version('2.2.0', sha256='e5f82fb0520a76eafdf5044a1f17f512999479d899da8c34335da5e193699b94')
- version('2.1.0', sha256='641af0f602cfc7f5f5b1cfde0652252def2dfaf5f7962c2595cf598663637951')
- version('2.0.0', sha256='4e371807fe052ca27dce708ea302495a8dae8d1196e16e86df424fb5b0e40524')
- version('1.3.1', sha256='8ef47092f6b15fbb484a21f9184e7d936c360198515b6efb9a55d3dfbc2ea4be')
- version('1.3.0', sha256='9f69dc5be9197f9ab8cdd81af9a59c12968a0ee11d595b1b1438707ff5405694')
- version('1.2.0', sha256='17e0448a3255ab01a1ebd8382f9d08a318e3d192b56d062a1fd65fbb0aadaf67')
- version('1.1.0-beta.0', sha256='6a454b029f3805101f714f50ae5199e2b2b86c1e520a659f130837810eabe4b5')
- version('1.1.0', sha256='77a912ed3c86f8bde31b7d476321d0c2d810570c04a60fa95c4bd32a1955b5cf')
- version('1.0.2', sha256='b907eaa8381af3d001d7fb8383273f4c652415b3320c11d5be2ad8f19757c998')
-
- variant('shared', default=False, description='Build shared library.')
- depends_on('gmp@6.2.1:')
- depends_on('ntl@11.5.1:')
- depends_on('ntl+shared', when='+shared')
+ url = "https://github.com/homenc/HElib/archive/refs/tags/v2.2.1.tar.gz"
+
+ maintainers = ["wohlbier"]
+
+ version("2.2.1", sha256="cbe030c752c915f1ece09681cadfbe4f140f6752414ab000b4cf076b6c3019e4")
+ version("2.2.0", sha256="e5f82fb0520a76eafdf5044a1f17f512999479d899da8c34335da5e193699b94")
+ version("2.1.0", sha256="641af0f602cfc7f5f5b1cfde0652252def2dfaf5f7962c2595cf598663637951")
+ version("2.0.0", sha256="4e371807fe052ca27dce708ea302495a8dae8d1196e16e86df424fb5b0e40524")
+ version("1.3.1", sha256="8ef47092f6b15fbb484a21f9184e7d936c360198515b6efb9a55d3dfbc2ea4be")
+ version("1.3.0", sha256="9f69dc5be9197f9ab8cdd81af9a59c12968a0ee11d595b1b1438707ff5405694")
+ version("1.2.0", sha256="17e0448a3255ab01a1ebd8382f9d08a318e3d192b56d062a1fd65fbb0aadaf67")
+ version(
+ "1.1.0-beta.0", sha256="6a454b029f3805101f714f50ae5199e2b2b86c1e520a659f130837810eabe4b5"
+ )
+ version("1.1.0", sha256="77a912ed3c86f8bde31b7d476321d0c2d810570c04a60fa95c4bd32a1955b5cf")
+ version("1.0.2", sha256="b907eaa8381af3d001d7fb8383273f4c652415b3320c11d5be2ad8f19757c998")
+
+ variant("shared", default=False, description="Build shared library.")
+ depends_on("gmp@6.2.1:")
+ depends_on("ntl@11.5.1:")
+ depends_on("ntl+shared", when="+shared")
def cmake_args(self):
spec = self.spec
args = [
- self.define('ENABLE_TEST', 'ON'),
- self.define('GMP_DIR', spec['gmp'].prefix),
- self.define('NTL_DIR', spec['ntl'].prefix),
- self.define_from_variant('BUILD_SHARED', 'shared')
+ self.define("ENABLE_TEST", "ON"),
+ self.define("GMP_DIR", spec["gmp"].prefix),
+ self.define("NTL_DIR", spec["ntl"].prefix),
+ self.define_from_variant("BUILD_SHARED", "shared"),
]
return args
diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py
index a66055c493..fe99fb84b8 100644
--- a/var/spack/repos/builtin/packages/helics/package.py
+++ b/var/spack/repos/builtin/packages/helics/package.py
@@ -13,119 +13,126 @@ class Helics(CMakePackage):
supports both event driven and time series simulation."""
homepage = "https://github.com/GMLC-TDC/HELICS"
- url = "https://github.com/GMLC-TDC/HELICS/releases/download/v2.4.1/Helics-v2.4.1-source.tar.gz"
- git = "https://github.com/GMLC-TDC/HELICS.git"
-
- maintainers = ['nightlark']
-
- version('develop', branch='develop', submodules=True)
- version('main', branch='main', submodules=True)
- version('master', branch='main', submodules=True)
- version('3.2.1', sha256='9df8a7a687c7cf8ea6f157e748e57e8bf5cefa9a49a24e7c590fe9191291da95')
- version('3.2.0', sha256='b9cec50b9e767113b2e04a5623437885f76196cc9a58287e21f5c0f62c32cca1')
- version('3.0.1', sha256='512afc18e25311477ec82804de74c47a674aa213d2173c276b6caf555b8421dd')
- version('3.0.0', sha256='928687e95d048f3f9f9d67cec4ac20866a98cbc00090a2d62abaa11c2a20958c')
- version('2.8.1', sha256='9485091fb1bf5d0dd3b21a2641dd78051bbf5374cd823425e458053abafdfa1f')
- version('2.8.0', sha256='f2b218494407573c75561b7d4d656bc60f7592e970dd87d98c969066d76d89c1')
- version('2.7.1', sha256='872d415959e9d97069b06327410af00e7daae8dbeb9f050b26632eca924ea23c')
- version('2.7.0', sha256='ad005c0948ef4284417d429112772d0b63ebfbc62c9093c02ac10f4a333d70f4')
- version('2.6.1', sha256='4b9a733a568ae8e6492f93abcd43f1aa9c53b233edcbeb0ab188dcc0d73ac928')
- version('2.6.0', sha256='450cbfc0c37b77ea051d3edc12bbc0f7cf4c1a17091ae10df5214b6176eebb42')
- version('2.5.2', sha256='81928f7e30233a07ae2bfe6c5489fdd958364c0549b2a3e6fdc6163d4b390311')
- version('2.5.1', sha256='3fc3507f7c074ff8b6a17fe54676334158fb2ff7cc8e7f4df011938f28fdbbca')
- version('2.5.0', sha256='6f4f9308ebb59d82d71cf068e0d9d66b6edfa7792d61d54f0a61bf20dd2a7428')
- version('2.4.2', sha256='957856f06ed6d622f05dfe53df7768bba8fe2336d841252f5fac8345070fa5cb')
- version('2.4.1', sha256='ac077e9efe466881ea366721cb31fb37ea0e72a881a717323ba4f3cdda338be4')
-
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- variant('apps', default=True, description="Install the HELICS apps")
- variant('benchmarks', default=False, description="Install the HELICS benchmarks")
- variant('c_shared', default=True, description="Install the C shared library")
- variant('cxx_shared', default=True, description="Install the CXX shared library")
- variant('zmq', default=True, description="Enable ZeroMQ core types")
- variant('tcp', default=True, description="Enable TCP core types")
- variant('udp', default=True, description="Enable UDP core type")
- variant('ipc', default=True, description="Enable IPC core type")
- variant('inproc', default=True, description="Enable in-process core type")
- variant('mpi', default=False, description="Enable MPI core type")
- variant('boost', default=True, description="Compile with Boost libraries")
- variant('asio', default=True, description="Compile with ASIO libraries")
- variant('swig', default=False, description="Build language bindings with SWIG")
- variant('webserver', default=True, description="Enable the integrated webserver in the HELICS broker server")
- variant('python', default=False, description="Enable Python interface")
+ url = "https://github.com/GMLC-TDC/HELICS/releases/download/v2.4.1/Helics-v2.4.1-source.tar.gz"
+ git = "https://github.com/GMLC-TDC/HELICS.git"
+
+ maintainers = ["nightlark"]
+
+ version("develop", branch="develop", submodules=True)
+ version("main", branch="main", submodules=True)
+ version("master", branch="main", submodules=True)
+ version("3.2.1", sha256="9df8a7a687c7cf8ea6f157e748e57e8bf5cefa9a49a24e7c590fe9191291da95")
+ version("3.2.0", sha256="b9cec50b9e767113b2e04a5623437885f76196cc9a58287e21f5c0f62c32cca1")
+ version("3.0.1", sha256="512afc18e25311477ec82804de74c47a674aa213d2173c276b6caf555b8421dd")
+ version("3.0.0", sha256="928687e95d048f3f9f9d67cec4ac20866a98cbc00090a2d62abaa11c2a20958c")
+ version("2.8.1", sha256="9485091fb1bf5d0dd3b21a2641dd78051bbf5374cd823425e458053abafdfa1f")
+ version("2.8.0", sha256="f2b218494407573c75561b7d4d656bc60f7592e970dd87d98c969066d76d89c1")
+ version("2.7.1", sha256="872d415959e9d97069b06327410af00e7daae8dbeb9f050b26632eca924ea23c")
+ version("2.7.0", sha256="ad005c0948ef4284417d429112772d0b63ebfbc62c9093c02ac10f4a333d70f4")
+ version("2.6.1", sha256="4b9a733a568ae8e6492f93abcd43f1aa9c53b233edcbeb0ab188dcc0d73ac928")
+ version("2.6.0", sha256="450cbfc0c37b77ea051d3edc12bbc0f7cf4c1a17091ae10df5214b6176eebb42")
+ version("2.5.2", sha256="81928f7e30233a07ae2bfe6c5489fdd958364c0549b2a3e6fdc6163d4b390311")
+ version("2.5.1", sha256="3fc3507f7c074ff8b6a17fe54676334158fb2ff7cc8e7f4df011938f28fdbbca")
+ version("2.5.0", sha256="6f4f9308ebb59d82d71cf068e0d9d66b6edfa7792d61d54f0a61bf20dd2a7428")
+ version("2.4.2", sha256="957856f06ed6d622f05dfe53df7768bba8fe2336d841252f5fac8345070fa5cb")
+ version("2.4.1", sha256="ac077e9efe466881ea366721cb31fb37ea0e72a881a717323ba4f3cdda338be4")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant("apps", default=True, description="Install the HELICS apps")
+ variant("benchmarks", default=False, description="Install the HELICS benchmarks")
+ variant("c_shared", default=True, description="Install the C shared library")
+ variant("cxx_shared", default=True, description="Install the CXX shared library")
+ variant("zmq", default=True, description="Enable ZeroMQ core types")
+ variant("tcp", default=True, description="Enable TCP core types")
+ variant("udp", default=True, description="Enable UDP core type")
+ variant("ipc", default=True, description="Enable IPC core type")
+ variant("inproc", default=True, description="Enable in-process core type")
+ variant("mpi", default=False, description="Enable MPI core type")
+ variant("boost", default=True, description="Compile with Boost libraries")
+ variant("asio", default=True, description="Compile with ASIO libraries")
+ variant("swig", default=False, description="Build language bindings with SWIG")
+ variant(
+ "webserver",
+ default=True,
+ description="Enable the integrated webserver in the HELICS broker server",
+ )
+ variant("python", default=False, description="Enable Python interface")
# Build dependency
- depends_on('git', type='build', when='@master:')
- depends_on('cmake@3.4:', type='build')
- depends_on('boost@1.70:', type='build', when='+boost')
+ depends_on("git", type="build", when="@master:")
+ depends_on("cmake@3.4:", type="build")
+ depends_on("boost@1.70:", type="build", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='build', when='+boost')
- depends_on('swig@3.0:', type='build', when='+swig')
+ depends_on(Boost.with_default_variants, type="build", when="+boost")
+ depends_on("swig@3.0:", type="build", when="+swig")
- depends_on('libzmq@4.3:', when='+zmq')
- depends_on('mpi@2', when='+mpi')
- depends_on('python@3:', when='+python')
+ depends_on("libzmq@4.3:", when="+zmq")
+ depends_on("mpi@2", when="+mpi")
+ depends_on("python@3:", when="+python")
# OpenMPI doesn't work with HELICS <=2.4.1
- conflicts('^openmpi', when='@:2.4.1 +mpi')
+ conflicts("^openmpi", when="@:2.4.1 +mpi")
# Boost is required for ipc and webserver options
- conflicts('+ipc', when='~boost')
- conflicts('+webserver', when='~boost')
+ conflicts("+ipc", when="~boost")
+ conflicts("+webserver", when="~boost")
# ASIO (vendored in HELICS repo) is required for tcp and udp options
- conflicts('+tcp', when='~asio')
- conflicts('+udp', when='~asio')
+ conflicts("+tcp", when="~asio")
+ conflicts("+udp", when="~asio")
- extends('python', when='+python')
+ extends("python", when="+python")
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant
args = [
- '-DHELICS_BUILD_EXAMPLES=OFF',
- '-DHELICS_BUILD_TESTS=OFF',
+ "-DHELICS_BUILD_EXAMPLES=OFF",
+ "-DHELICS_BUILD_TESTS=OFF",
]
# HELICS core type CMake options
- args.append(from_variant('ENABLE_ZMQ_CORE', 'zmq'))
- args.append(from_variant('ENABLE_TCP_CORE', 'tcp'))
- args.append(from_variant('ENABLE_UDP_CORE', 'udp'))
- args.append(from_variant('ENABLE_IPC_CORE', 'ipc'))
- args.append(from_variant('ENABLE_INPROC_CORE', 'inproc'))
- args.append(from_variant('ENABLE_MPI_CORE', 'mpi'))
+ args.append(from_variant("ENABLE_ZMQ_CORE", "zmq"))
+ args.append(from_variant("ENABLE_TCP_CORE", "tcp"))
+ args.append(from_variant("ENABLE_UDP_CORE", "udp"))
+ args.append(from_variant("ENABLE_IPC_CORE", "ipc"))
+ args.append(from_variant("ENABLE_INPROC_CORE", "inproc"))
+ args.append(from_variant("ENABLE_MPI_CORE", "mpi"))
# HELICS shared library options
- args.append('-DHELICS_DISABLE_C_SHARED_LIB={0}'.format(
- 'OFF' if '+c_shared' in spec else 'ON'))
- args.append(from_variant('HELICS_BUILD_CXX_SHARED_LIB', 'cxx_shared'))
+ args.append(
+ "-DHELICS_DISABLE_C_SHARED_LIB={0}".format("OFF" if "+c_shared" in spec else "ON")
+ )
+ args.append(from_variant("HELICS_BUILD_CXX_SHARED_LIB", "cxx_shared"))
# HELICS executable app options
- args.append(from_variant('HELICS_BUILD_APP_EXECUTABLES', 'apps'))
- args.append('-DHELICS_DISABLE_WEBSERVER={0}'.format(
- 'OFF' if '+webserver' in spec else 'ON'))
- args.append(from_variant('HELICS_BUILD_BENCHMARKS', 'benchmarks'))
+ args.append(from_variant("HELICS_BUILD_APP_EXECUTABLES", "apps"))
+ args.append(
+ "-DHELICS_DISABLE_WEBSERVER={0}".format("OFF" if "+webserver" in spec else "ON")
+ )
+ args.append(from_variant("HELICS_BUILD_BENCHMARKS", "benchmarks"))
# Extra HELICS library dependencies
- args.append('-DHELICS_DISABLE_BOOST={0}'.format(
- 'OFF' if '+boost' in spec else 'ON'))
- args.append('-DHELICS_DISABLE_ASIO={0}'.format(
- 'OFF' if '+asio' in spec else 'ON'))
+ args.append("-DHELICS_DISABLE_BOOST={0}".format("OFF" if "+boost" in spec else "ON"))
+ args.append("-DHELICS_DISABLE_ASIO={0}".format("OFF" if "+asio" in spec else "ON"))
# SWIG
- args.append(from_variant('HELICS_ENABLE_SWIG', 'swig'))
+ args.append(from_variant("HELICS_ENABLE_SWIG", "swig"))
# Python
- args.append(from_variant('BUILD_PYTHON_INTERFACE', 'python'))
+ args.append(from_variant("BUILD_PYTHON_INTERFACE", "python"))
return args
def setup_run_environment(self, env):
spec = self.spec
- if '+python' in spec:
- env.prepend_path('PYTHONPATH', self.prefix.python)
+ if "+python" in spec:
+ env.prepend_path("PYTHONPATH", self.prefix.python)
diff --git a/var/spack/repos/builtin/packages/help2man/package.py b/var/spack/repos/builtin/packages/help2man/package.py
index 3dc3756b83..49517e9b8c 100644
--- a/var/spack/repos/builtin/packages/help2man/package.py
+++ b/var/spack/repos/builtin/packages/help2man/package.py
@@ -13,9 +13,9 @@ class Help2man(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/help2man/"
gnu_mirror_path = "help2man/help2man-1.47.11.tar.xz"
- version('1.47.16', sha256='3ef8580c5b86e32ca092ce8de43df204f5e6f714b0cd32bc6237e6cd0f34a8f4')
- version('1.47.11', sha256='5985b257f86304c8791842c0c807a37541d0d6807ee973000cf8a3fe6ad47b88')
- version('1.47.8', sha256='528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc')
- version('1.47.4', sha256='d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753')
+ version("1.47.16", sha256="3ef8580c5b86e32ca092ce8de43df204f5e6f714b0cd32bc6237e6cd0f34a8f4")
+ version("1.47.11", sha256="5985b257f86304c8791842c0c807a37541d0d6807ee973000cf8a3fe6ad47b88")
+ version("1.47.8", sha256="528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc")
+ version("1.47.4", sha256="d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/henson/package.py b/var/spack/repos/builtin/packages/henson/package.py
index 8d1a17cef1..cb23954671 100644
--- a/var/spack/repos/builtin/packages/henson/package.py
+++ b/var/spack/repos/builtin/packages/henson/package.py
@@ -10,28 +10,28 @@ class Henson(CMakePackage):
"""Cooperative multitasking for in situ processing."""
homepage = "https://github.com/henson-insitu/henson"
- git = "https://github.com/henson-insitu/henson.git"
+ git = "https://github.com/henson-insitu/henson.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('mpi')
+ depends_on("mpi")
- variant('python', default=False, description='Build Python bindings')
- extends('python', when='+python')
- variant('mpi-wrappers', default=False, description='Build MPI wrappers (PMPI)')
+ variant("python", default=False, description="Build Python bindings")
+ extends("python", when="+python")
+ variant("mpi-wrappers", default=False, description="Build MPI wrappers (PMPI)")
- conflicts('^openmpi', when='+mpi-wrappers')
+ conflicts("^openmpi", when="+mpi-wrappers")
def cmake_args(self):
args = []
- if '+python' in self.spec:
- args += ['-Dpython=on']
+ if "+python" in self.spec:
+ args += ["-Dpython=on"]
else:
- args += ['-Dpython=off']
+ args += ["-Dpython=off"]
- if '+mpi-wrappers' in self.spec:
- args += ['-Dmpi-wrappers=on']
+ if "+mpi-wrappers" in self.spec:
+ args += ["-Dmpi-wrappers=on"]
else:
- args += ['-Dmpi-wrappers=off']
+ args += ["-Dmpi-wrappers=off"]
return args
diff --git a/var/spack/repos/builtin/packages/hepmc/package.py b/var/spack/repos/builtin/packages/hepmc/package.py
index 8f3f370fcf..a84b45c9b5 100644
--- a/var/spack/repos/builtin/packages/hepmc/package.py
+++ b/var/spack/repos/builtin/packages/hepmc/package.py
@@ -9,33 +9,34 @@ from spack.package import *
class Hepmc(CMakePackage):
"""The HepMC package is an object oriented, C++ event record for
- High Energy Physics Monte Carlo generators and simulation."""
+ High Energy Physics Monte Carlo generators and simulation."""
homepage = "https://hepmc.web.cern.ch/hepmc/"
- url = "https://hepmc.web.cern.ch/hepmc/releases/hepmc2.06.11.tgz"
+ url = "https://hepmc.web.cern.ch/hepmc/releases/hepmc2.06.11.tgz"
- tags = ['hep']
+ tags = ["hep"]
- version('2.06.11', sha256='86b66ea0278f803cde5774de8bd187dd42c870367f1cbf6cdaec8dc7cf6afc10')
- version('2.06.10', sha256='5adedd9e3f7447e1e5fc01b72f745ab87da2c1611df89208bb3d7c6ea94c11a4')
- version('2.06.09', sha256='e0f8fddd38472c5615210894444686ac5d72df3be682f7d151b562b236d9b422')
- version('2.06.08', sha256='8be6c1793e0a045f07ddb88bb64b46de7e66a52e75fb72b3f82f9a3e3ba8a8ce')
- version('2.06.07', sha256='a0bdd6f36a3cc4cb59d6eb15cef9d46ce9b3739cae3324e81ebb2df6943e4594')
- version('2.06.06', sha256='8cdff26c10783ed4248220a84a43b7e1f9b59cc2c9a29bd634d024ca469db125')
- version('2.06.05', sha256='4c411077cc97522c03b74f973264b8d9fd2b6ccec0efc7ceced2645371c73618')
+ version("2.06.11", sha256="86b66ea0278f803cde5774de8bd187dd42c870367f1cbf6cdaec8dc7cf6afc10")
+ version("2.06.10", sha256="5adedd9e3f7447e1e5fc01b72f745ab87da2c1611df89208bb3d7c6ea94c11a4")
+ version("2.06.09", sha256="e0f8fddd38472c5615210894444686ac5d72df3be682f7d151b562b236d9b422")
+ version("2.06.08", sha256="8be6c1793e0a045f07ddb88bb64b46de7e66a52e75fb72b3f82f9a3e3ba8a8ce")
+ version("2.06.07", sha256="a0bdd6f36a3cc4cb59d6eb15cef9d46ce9b3739cae3324e81ebb2df6943e4594")
+ version("2.06.06", sha256="8cdff26c10783ed4248220a84a43b7e1f9b59cc2c9a29bd634d024ca469db125")
+ version("2.06.05", sha256="4c411077cc97522c03b74f973264b8d9fd2b6ccec0efc7ceced2645371c73618")
- variant('length', default='MM', values=('CM', 'MM'), multi=False,
- description='Unit of length')
- variant('momentum', default='GEV', values=('GEV', 'MEV'), multi=False,
- description='Unit of momentum')
+ variant("length", default="MM", values=("CM", "MM"), multi=False, description="Unit of length")
+ variant(
+ "momentum",
+ default="GEV",
+ values=("GEV", "MEV"),
+ multi=False,
+ description="Unit of momentum",
+ )
- depends_on('cmake@2.8.9:', type='build')
+ depends_on("cmake@2.8.9:", type="build")
def cmake_args(self):
- return [
- self.define_from_variant('momentum'),
- self.define_from_variant('length')
- ]
+ return [self.define_from_variant("momentum"), self.define_from_variant("length")]
def url_for_version(self, version):
if version <= Version("2.06.08"):
diff --git a/var/spack/repos/builtin/packages/hepmc3/package.py b/var/spack/repos/builtin/packages/hepmc3/package.py
index f09a63850b..e673faf854 100644
--- a/var/spack/repos/builtin/packages/hepmc3/package.py
+++ b/var/spack/repos/builtin/packages/hepmc3/package.py
@@ -8,56 +8,60 @@ from spack.package import *
class Hepmc3(CMakePackage):
"""The HepMC package is an object oriented, C++ event record for
- High Energy Physics Monte Carlo generators and simulation."""
+ High Energy Physics Monte Carlo generators and simulation."""
homepage = "https://cern.ch/hepmc"
- url = "https://gitlab.cern.ch/hepmc/HepMC3/-/archive/3.2.1/HepMC3-3.2.1.tar.gz"
- git = "https://gitlab.cern.ch/hepmc/HepMC3.git"
+ url = "https://gitlab.cern.ch/hepmc/HepMC3/-/archive/3.2.1/HepMC3-3.2.1.tar.gz"
+ git = "https://gitlab.cern.ch/hepmc/HepMC3.git"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('3.2.4', sha256='e088fccfd1a6c2f8e1089f457101bee1e5c7a9777e9d51c6419c8a288a49e1bb')
- version('3.2.3', sha256='8caadacc2c969883cd1f994b622795fc885fb4b15dad8c8ae64bcbdbf0cbd47d')
- version('3.2.2', sha256='0e8cb4f78f804e38f7d29875db66f65e4c77896749d723548cc70fb7965e2d41')
- version('3.2.1', sha256='6e4e4bb5708af105d4bf74efc2745e6efe704e942d46a8042f7dcae37a4739fe')
- version('3.2.0', sha256='f132387763d170f25a7cc9f0bd586b83373c09acf0c3daa5504063ba460f89fc')
- version('3.1.2', sha256='4133074b3928252877982f3d4b4c6c750bb7a324eb6c7bb2afc6fa256da3ecc7')
- version('3.1.1', sha256='2fcbc9964d6f9f7776289d65f9c73033f85c15bf5f0df00c429a6a1d8b8248bb')
- version('3.1.0', sha256='cd37eed619d58369041018b8627274ad790020a4714b54ac05ad1ebc1a6e7f8a')
+ version("3.2.4", sha256="e088fccfd1a6c2f8e1089f457101bee1e5c7a9777e9d51c6419c8a288a49e1bb")
+ version("3.2.3", sha256="8caadacc2c969883cd1f994b622795fc885fb4b15dad8c8ae64bcbdbf0cbd47d")
+ version("3.2.2", sha256="0e8cb4f78f804e38f7d29875db66f65e4c77896749d723548cc70fb7965e2d41")
+ version("3.2.1", sha256="6e4e4bb5708af105d4bf74efc2745e6efe704e942d46a8042f7dcae37a4739fe")
+ version("3.2.0", sha256="f132387763d170f25a7cc9f0bd586b83373c09acf0c3daa5504063ba460f89fc")
+ version("3.1.2", sha256="4133074b3928252877982f3d4b4c6c750bb7a324eb6c7bb2afc6fa256da3ecc7")
+ version("3.1.1", sha256="2fcbc9964d6f9f7776289d65f9c73033f85c15bf5f0df00c429a6a1d8b8248bb")
+ version("3.1.0", sha256="cd37eed619d58369041018b8627274ad790020a4714b54ac05ad1ebc1a6e7f8a")
# note that version 3.0.0 is not supported
# conflicts with cmake configuration
- variant('python', default=False, description='Enable Python bindings')
- variant('rootio', default=False, description='Enable ROOT I/O')
- variant('interfaces', default=False, description='Install interfaces for some Monte-Carlo Event Gens')
+ variant("python", default=False, description="Enable Python bindings")
+ variant("rootio", default=False, description="Enable ROOT I/O")
+ variant(
+ "interfaces",
+ default=False,
+ description="Install interfaces for some Monte-Carlo Event Gens",
+ )
- depends_on('cmake@2.8.9:', type='build')
- depends_on('root', when='+rootio')
- depends_on('python', when="+python")
+ depends_on("cmake@2.8.9:", type="build")
+ depends_on("root", when="+rootio")
+ depends_on("python", when="+python")
- conflicts('%gcc@9.3.0', when="@:3.1.1")
- patch('ba38f14d8f56c16cc4105d98f6d4540c928c6150.patch', when="@3.1.2:3.2.1 %gcc@9.3.0")
+ conflicts("%gcc@9.3.0", when="@:3.1.1")
+ patch("ba38f14d8f56c16cc4105d98f6d4540c928c6150.patch", when="@3.1.2:3.2.1 %gcc@9.3.0")
def cmake_args(self):
spec = self.spec
args = [
- '-DHEPMC3_ENABLE_PYTHON={0}'.format(spec.satisfies('+python')),
- '-DHEPMC3_ENABLE_ROOTIO={0}'.format(spec.satisfies('+rootio')),
- '-DHEPMC3_INSTALL_INTERFACES={0}'.format(
- spec.satisfies('+interfaces')),
+ "-DHEPMC3_ENABLE_PYTHON={0}".format(spec.satisfies("+python")),
+ "-DHEPMC3_ENABLE_ROOTIO={0}".format(spec.satisfies("+rootio")),
+ "-DHEPMC3_INSTALL_INTERFACES={0}".format(spec.satisfies("+interfaces")),
]
- if self.spec.satisfies('+python'):
- py_ver = spec['python'].version.up_to(2)
- args.extend([
- '-DHEPMC3_PYTHON_VERSIONS={0}'.format(py_ver),
- '-DHEPMC3_Python_SITEARCH{0}={1}'.format(
- py_ver.joined, python_platlib)
- ])
+ if self.spec.satisfies("+python"):
+ py_ver = spec["python"].version.up_to(2)
+ args.extend(
+ [
+ "-DHEPMC3_PYTHON_VERSIONS={0}".format(py_ver),
+ "-DHEPMC3_Python_SITEARCH{0}={1}".format(py_ver.joined, python_platlib),
+ ]
+ )
- if self.spec.satisfies('+rootio'):
- args.append('-DROOT_DIR={0}'.format(self.spec['root'].prefix))
+ if self.spec.satisfies("+rootio"):
+ args.append("-DROOT_DIR={0}".format(self.spec["root"].prefix))
args.append("-DHEPMC3_ENABLE_TEST={0}".format(self.run_tests))
return args
diff --git a/var/spack/repos/builtin/packages/hepmcanalysis/package.py b/var/spack/repos/builtin/packages/hepmcanalysis/package.py
index 5e14a9e242..f062f29c65 100644
--- a/var/spack/repos/builtin/packages/hepmcanalysis/package.py
+++ b/var/spack/repos/builtin/packages/hepmcanalysis/package.py
@@ -8,39 +8,40 @@ from spack.package import *
class Hepmcanalysis(MakefilePackage):
"""The HepMCAnalysis Tool is a tool for generator
- validation and comparisons."""
+ validation and comparisons."""
homepage = "https://hepmcanalysistool.desy.de/"
- url = "https://hepmcanalysistool.desy.de/releases/HepMCAnalysis-00-03-04-13.tar.gz"
+ url = "https://hepmcanalysistool.desy.de/releases/HepMCAnalysis-00-03-04-13.tar.gz"
- version('3.4.13', sha256='be9937c6de493a5671258919493b0caa0cecca77853a2075f5cecce1071e0029')
+ version("3.4.13", sha256="be9937c6de493a5671258919493b0caa0cecca77853a2075f5cecce1071e0029")
- tags = ['hep']
+ tags = ["hep"]
- depends_on('hepmc')
- depends_on('fastjet')
- depends_on('root')
- depends_on('clhep')
+ depends_on("hepmc")
+ depends_on("fastjet")
+ depends_on("root")
+ depends_on("clhep")
- patch('lcg.patch')
+ patch("lcg.patch")
def patch(self):
- filter_file(r"TDirectory::CurrentDirectory\(\)",
- r"gDirectory",
- "src/baseAnalysis.cc")
- filter_file(r"CXXFLAGS(.*)", r"CXXFLAGS\1 -std=c++" +
- self.spec['root'].variants['cxxstd'].value, "config.mk")
+ filter_file(r"TDirectory::CurrentDirectory\(\)", r"gDirectory", "src/baseAnalysis.cc")
+ filter_file(
+ r"CXXFLAGS(.*)",
+ r"CXXFLAGS\1 -std=c++" + self.spec["root"].variants["cxxstd"].value,
+ "config.mk",
+ )
def setup_build_environment(self, env):
- env.set("HepMCdir", self.spec['hepmc'].prefix)
- env.set("FastJetdir", self.spec['fastjet'].prefix)
- env.set("CLHEPdir", self.spec['clhep'].prefix)
+ env.set("HepMCdir", self.spec["hepmc"].prefix)
+ env.set("FastJetdir", self.spec["fastjet"].prefix)
+ env.set("CLHEPdir", self.spec["clhep"].prefix)
def url_for_version(self, version):
- parts = [int(x) for x in str(version).split('.')]
+ parts = [int(x) for x in str(version).split(".")]
root = "https://hepmcanalysistool.desy.de/releases/HepMCAnalysis-00-"
return root + "{0:02d}-{1:02d}-{2:02d}.tar.gz".format(*parts)
def install(self, spec, prefix):
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/heppdt/package.py b/var/spack/repos/builtin/packages/heppdt/package.py
index 7348f755d4..c14c008f76 100644
--- a/var/spack/repos/builtin/packages/heppdt/package.py
+++ b/var/spack/repos/builtin/packages/heppdt/package.py
@@ -12,14 +12,19 @@ class Heppdt(AutotoolsPackage):
to and from various Monte Carlo generators and the PDG standard
numbering scheme. We realize that the generators adhere closely
to the standard, but there are occasional differences."""
+
homepage = "https://cdcvs.fnal.gov/redmine/projects/heppdt/wiki"
- url = "https://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/HepPDT-2.06.01.tar.gz"
+ url = "https://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/HepPDT-2.06.01.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('3.04.01', sha256='2c1c39eb91295d3ded69e0d3f1a38b1cb55bc3f0cde37b725ffd5d722f63c0f6')
- version('3.04.00', sha256='c5f0eefa19dbbae99f2b6a2ab1ad8fd5d5f844fbbbf96e62f0ddb68cc6a7d5f3')
- version('3.03.02', sha256='409d940badbec672c139cb8972c88847b3f9a2476a336f4f7ee6924f8d08426c')
- version('3.03.01', sha256='1aabb0add1a26dcb010f99bfb24e666a881cb03f796503220c93d3d4434b4e32')
- version('3.03.00', sha256='c9fab0f7983234137d67e83d3e94e194856fc5f8994f11c6283194ce60010840')
- version('2.06.01', sha256='12a1b6ffdd626603fa3b4d70f44f6e95a36f8f3b6d4fd614bac14880467a2c2e', preferred=True)
+ version("3.04.01", sha256="2c1c39eb91295d3ded69e0d3f1a38b1cb55bc3f0cde37b725ffd5d722f63c0f6")
+ version("3.04.00", sha256="c5f0eefa19dbbae99f2b6a2ab1ad8fd5d5f844fbbbf96e62f0ddb68cc6a7d5f3")
+ version("3.03.02", sha256="409d940badbec672c139cb8972c88847b3f9a2476a336f4f7ee6924f8d08426c")
+ version("3.03.01", sha256="1aabb0add1a26dcb010f99bfb24e666a881cb03f796503220c93d3d4434b4e32")
+ version("3.03.00", sha256="c9fab0f7983234137d67e83d3e94e194856fc5f8994f11c6283194ce60010840")
+ version(
+ "2.06.01",
+ sha256="12a1b6ffdd626603fa3b4d70f44f6e95a36f8f3b6d4fd614bac14880467a2c2e",
+ preferred=True,
+ )
diff --git a/var/spack/repos/builtin/packages/heputils/package.py b/var/spack/repos/builtin/packages/heputils/package.py
index 7dc474411e..3250dfb361 100644
--- a/var/spack/repos/builtin/packages/heputils/package.py
+++ b/var/spack/repos/builtin/packages/heputils/package.py
@@ -8,31 +8,31 @@ from spack.package import *
class Heputils(MakefilePackage):
"""Generic tools for high energy physics, e.g. vectors, event records,
- math and other util functions."""
+ math and other util functions."""
homepage = "https://bitbucket.org/andybuckley/heputils/src/default/"
- url = "https://bitbucket.org/andybuckley/heputils/get/heputils-1.3.2.tar.gz"
-
- tags = ['hep']
-
- version('1.3.2', sha256='be43586979ab1a81a55348d795c2f63a5da19fc6367d5f66f354217c76c809c0')
- version('1.3.1', sha256='7f33ef44364a3d3a39cc65005fb6aa9dfd06bd1b18b41151c0e5e3d28d6ba15b')
- version('1.3.0', sha256='1ec9d9d71d409ce6b2e668e4927b1090ddf2ee9acf25457f767925cf89b24852')
- version('1.2.1', sha256='99f0b27cddffb98977d37418d53f3386e5defda547aeb4c4fda00ab6fcf2cc31')
- version('1.2.0', sha256='0f9f96bd7589f9aec8f1271524b8622291216fe2294ffed772b84d010759eaef')
- version('1.1.0', sha256='671374641cdb6dc093327b69da2d2854df805b6eb8e90f0efefb0788ee4a2edd')
- version('1.0.8', sha256='9b9a45ebff1367cd2ab1ec4ee8c0e124a9b7ed66c75d8961412163ade1962d91')
- version('1.0.7', sha256='481a26755d4e2836563d1f8fcdad663bfa7e21b9878c01bd8a73a67876726b81')
- version('1.0.6', sha256='1ecd8597ef7921a63606b21136900a05a818c9342da7994a42aae768ecca507f')
- version('1.0.5', sha256='efff3d7d6973822f1dced903017f86661e2d054ff3f0d4fe926de2347160e329')
- version('1.0.4', sha256='aeca00c1012bce469c6fe6393edbf4f33043ab671c97a8283a21861caee8b1b4')
- version('1.0.3', sha256='8e7ebe0ad5e87a97cbbff7097092ed8afe5a2d1ecae0f4d4f9a7bf694e221d40')
- version('1.0.2', sha256='83ba7876d884406463cc8ae42214038b7d6c40ead77a1532d64bc96887173f75')
- version('1.0.1', sha256='4bfccc4f4380becb776343e546deb2474deeae79f053ba8ca22287827b8bd4b1')
- version('1.0.0', sha256='4f71c2bee6736ed87d0151e62546d2fc9ff639db58172c26dcf033e5bb1ea04c')
+ url = "https://bitbucket.org/andybuckley/heputils/get/heputils-1.3.2.tar.gz"
+
+ tags = ["hep"]
+
+ version("1.3.2", sha256="be43586979ab1a81a55348d795c2f63a5da19fc6367d5f66f354217c76c809c0")
+ version("1.3.1", sha256="7f33ef44364a3d3a39cc65005fb6aa9dfd06bd1b18b41151c0e5e3d28d6ba15b")
+ version("1.3.0", sha256="1ec9d9d71d409ce6b2e668e4927b1090ddf2ee9acf25457f767925cf89b24852")
+ version("1.2.1", sha256="99f0b27cddffb98977d37418d53f3386e5defda547aeb4c4fda00ab6fcf2cc31")
+ version("1.2.0", sha256="0f9f96bd7589f9aec8f1271524b8622291216fe2294ffed772b84d010759eaef")
+ version("1.1.0", sha256="671374641cdb6dc093327b69da2d2854df805b6eb8e90f0efefb0788ee4a2edd")
+ version("1.0.8", sha256="9b9a45ebff1367cd2ab1ec4ee8c0e124a9b7ed66c75d8961412163ade1962d91")
+ version("1.0.7", sha256="481a26755d4e2836563d1f8fcdad663bfa7e21b9878c01bd8a73a67876726b81")
+ version("1.0.6", sha256="1ecd8597ef7921a63606b21136900a05a818c9342da7994a42aae768ecca507f")
+ version("1.0.5", sha256="efff3d7d6973822f1dced903017f86661e2d054ff3f0d4fe926de2347160e329")
+ version("1.0.4", sha256="aeca00c1012bce469c6fe6393edbf4f33043ab671c97a8283a21861caee8b1b4")
+ version("1.0.3", sha256="8e7ebe0ad5e87a97cbbff7097092ed8afe5a2d1ecae0f4d4f9a7bf694e221d40")
+ version("1.0.2", sha256="83ba7876d884406463cc8ae42214038b7d6c40ead77a1532d64bc96887173f75")
+ version("1.0.1", sha256="4bfccc4f4380becb776343e546deb2474deeae79f053ba8ca22287827b8bd4b1")
+ version("1.0.0", sha256="4f71c2bee6736ed87d0151e62546d2fc9ff639db58172c26dcf033e5bb1ea04c")
def build(self, spec, prefix):
return
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/hercules/package.py b/var/spack/repos/builtin/packages/hercules/package.py
index 5701ece58c..51bcacf513 100644
--- a/var/spack/repos/builtin/packages/hercules/package.py
+++ b/var/spack/repos/builtin/packages/hercules/package.py
@@ -12,14 +12,14 @@ class Hercules(MakefilePackage):
repository analysis engine written in Go."""
homepage = "https://github.com/src-d/hercules"
- url = "https://github.com/src-d/hercules/archive/v10.7.2.tar.gz"
+ url = "https://github.com/src-d/hercules/archive/v10.7.2.tar.gz"
- version('10.7.2', sha256='4654dcfb1eee5af1610fd05677c6734c2ca1161535fcc14d3933d6debda4bc34')
+ version("10.7.2", sha256="4654dcfb1eee5af1610fd05677c6734c2ca1161535fcc14d3933d6debda4bc34")
- depends_on('protobuf', type='build')
- depends_on('go@1.11:', type='build')
- depends_on('py-labours', type='run')
+ depends_on("protobuf", type="build")
+ depends_on("go@1.11:", type="build")
+ depends_on("py-labours", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('hercules', prefix.bin)
+ install("hercules", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hermes/package.py b/var/spack/repos/builtin/packages/hermes/package.py
index 93d9127b97..7f50c4b457 100644
--- a/var/spack/repos/builtin/packages/hermes/package.py
+++ b/var/spack/repos/builtin/packages/hermes/package.py
@@ -14,25 +14,29 @@ class Hermes(CMakePackage):
homepage = "http://www.cs.iit.edu/~scs/assets/projects/Hermes/Hermes.html"
git = "https://github.com/HDFGroup/hermes.git"
- maintainers = ['hyoklee']
+ maintainers = ["hyoklee"]
- version('master', branch='master')
- version('0.7.0-beta', url="https://github.com/HDFGroup/hermes/archive/v0.7.0-beta.tar.gz", sha256='1046f537558e479c8a828fe8e289da410a0f82bdba199a40ea7ff0eb842d9382')
+ version("master", branch="master")
+ version(
+ "0.7.0-beta",
+ url="https://github.com/HDFGroup/hermes/archive/v0.7.0-beta.tar.gz",
+ sha256="1046f537558e479c8a828fe8e289da410a0f82bdba199a40ea7ff0eb842d9382",
+ )
- variant('vfd', default=False, description='Enable HDF5 VFD')
+ variant("vfd", default=False, description="Enable HDF5 VFD")
- depends_on('mochi-thallium~cereal@0.8:')
- depends_on('catch2')
- depends_on('glpk')
- depends_on('glog@0.4.0:')
- depends_on('mpi')
- depends_on('hdf5@1.13.0:', when='+vfd')
+ depends_on("mochi-thallium~cereal@0.8:")
+ depends_on("catch2")
+ depends_on("glpk")
+ depends_on("glog@0.4.0:")
+ depends_on("mpi")
+ depends_on("hdf5@1.13.0:", when="+vfd")
def cmake_args(self):
args = [
- self.define('HERMES_RPC_THALLIUM', True),
- self.define('HERMES_INSTALL_TESTS', True),
- self.define('BUILD_TESTING', True),
- self.define_from_variant('HERMES_ENABLE_VFD', 'vfd'),
+ self.define("HERMES_RPC_THALLIUM", True),
+ self.define("HERMES_INSTALL_TESTS", True),
+ self.define("BUILD_TESTING", True),
+ self.define_from_variant("HERMES_ENABLE_VFD", "vfd"),
]
return args
diff --git a/var/spack/repos/builtin/packages/herwig3/package.py b/var/spack/repos/builtin/packages/herwig3/package.py
index ba2f1dd1fe..b5e5a12982 100644
--- a/var/spack/repos/builtin/packages/herwig3/package.py
+++ b/var/spack/repos/builtin/packages/herwig3/package.py
@@ -10,76 +10,78 @@ class Herwig3(AutotoolsPackage):
"""Herwig is a multi-purpose particle physics event generator."""
homepage = "https://herwig.hepforge.org"
- url = "https://herwig.hepforge.org/downloads/Herwig-7.2.1.tar.bz2"
-
- tags = ['hep']
-
- version('7.2.3', sha256='5599899379b01b09e331a2426d78d39b7f6ec126db2543e9d340aefe6aa50f84')
- version('7.2.1', sha256='d4fff32f21c5c08a4b2e563c476b079859c2c8e3b78d853a8a60da96d5eea686')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('lhapdf')
- depends_on('lhapdfsets', type='build')
- depends_on('thepeg@2.2.1', when='@7.2.1')
- depends_on('thepeg@2.2.3', when='@7.2.3')
- depends_on('evtgen')
-
- depends_on('boost +math+test')
- depends_on('python', type=('build', 'run'))
- depends_on('gsl')
- depends_on('fastjet')
- depends_on('vbfnlo@3:')
- depends_on('madgraph5amc')
- depends_on('njet')
- depends_on('py-gosam', when='^python@2.7.0:2.7')
- depends_on('gosam-contrib')
- depends_on('openloops')
+ url = "https://herwig.hepforge.org/downloads/Herwig-7.2.1.tar.bz2"
+
+ tags = ["hep"]
+
+ version("7.2.3", sha256="5599899379b01b09e331a2426d78d39b7f6ec126db2543e9d340aefe6aa50f84")
+ version("7.2.1", sha256="d4fff32f21c5c08a4b2e563c476b079859c2c8e3b78d853a8a60da96d5eea686")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("lhapdf")
+ depends_on("lhapdfsets", type="build")
+ depends_on("thepeg@2.2.1", when="@7.2.1")
+ depends_on("thepeg@2.2.3", when="@7.2.3")
+ depends_on("evtgen")
+
+ depends_on("boost +math+test")
+ depends_on("python", type=("build", "run"))
+ depends_on("gsl")
+ depends_on("fastjet")
+ depends_on("vbfnlo@3:")
+ depends_on("madgraph5amc")
+ depends_on("njet")
+ depends_on("py-gosam", when="^python@2.7.0:2.7")
+ depends_on("gosam-contrib")
+ depends_on("openloops")
force_autoreconf = True
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--verbose', '--force')
+ autoreconf("--install", "--verbose", "--force")
def configure_args(self):
- args = ['--with-gsl=' + self.spec['gsl'].prefix,
- '--with-thepeg=' + self.spec['thepeg'].prefix,
- '--with-thepeg-headers=' + self.spec['thepeg'].prefix.include,
- '--with-fastjet=' + self.spec['fastjet'].prefix,
- '--with-boost=' + self.spec['boost'].prefix,
- '--with-madgraph=' + self.spec['madgraph5amc'].prefix,
- '--with-openloops=' + self.spec['openloops'].prefix,
- '--with-gosam-contrib=' + self.spec['gosam-contrib'].prefix,
- '--with-njet=' + self.spec['njet'].prefix,
- '--with-vbfnlo=' + self.spec['vbfnlo'].prefix,
- '--with-evtgen=' + self.spec['evtgen'].prefix]
-
- if self.spec.satisfies('^python@2.7.0:2.7'):
- args.append('--with-gosam=' + self.spec['gosam'].prefix)
+ args = [
+ "--with-gsl=" + self.spec["gsl"].prefix,
+ "--with-thepeg=" + self.spec["thepeg"].prefix,
+ "--with-thepeg-headers=" + self.spec["thepeg"].prefix.include,
+ "--with-fastjet=" + self.spec["fastjet"].prefix,
+ "--with-boost=" + self.spec["boost"].prefix,
+ "--with-madgraph=" + self.spec["madgraph5amc"].prefix,
+ "--with-openloops=" + self.spec["openloops"].prefix,
+ "--with-gosam-contrib=" + self.spec["gosam-contrib"].prefix,
+ "--with-njet=" + self.spec["njet"].prefix,
+ "--with-vbfnlo=" + self.spec["vbfnlo"].prefix,
+ "--with-evtgen=" + self.spec["evtgen"].prefix,
+ ]
+
+ if self.spec.satisfies("^python@2.7.0:2.7"):
+ args.append("--with-gosam=" + self.spec["gosam"].prefix)
return args
def flag_handler(self, name, flags):
- if name == 'fflags':
- flags.append('-std=legacy')
+ if name == "fflags":
+ flags.append("-std=legacy")
return (flags, None, None)
return (flags, None, None)
def setup_build_environment(self, env):
- thepeg_home = self.spec['thepeg'].prefix
- env.prepend_path('LD_LIBRARY_PATH', thepeg_home.lib.ThePEG)
- env.set('HERWIGINCLUDE', '-I' + self.prefix.include)
- env.set('BOOSTINCLUDE', '-I' + self.spec['boost'].prefix.include)
- env.set('HERWIGINSTALL', self.prefix)
+ thepeg_home = self.spec["thepeg"].prefix
+ env.prepend_path("LD_LIBRARY_PATH", thepeg_home.lib.ThePEG)
+ env.set("HERWIGINCLUDE", "-I" + self.prefix.include)
+ env.set("BOOSTINCLUDE", "-I" + self.spec["boost"].prefix.include)
+ env.set("HERWIGINSTALL", self.prefix)
def build(self, spec, prefix):
make()
- with working_dir('MatrixElement/FxFx'):
+ with working_dir("MatrixElement/FxFx"):
make()
def install(self, spec, prefix):
- make('install')
- with working_dir('MatrixElement/FxFx'):
- make('install')
+ make("install")
+ with working_dir("MatrixElement/FxFx"):
+ make("install")
diff --git a/var/spack/repos/builtin/packages/herwigpp/package.py b/var/spack/repos/builtin/packages/herwigpp/package.py
index db43e981e3..0db55d34a4 100644
--- a/var/spack/repos/builtin/packages/herwigpp/package.py
+++ b/var/spack/repos/builtin/packages/herwigpp/package.py
@@ -9,54 +9,57 @@ from spack.pkg.builtin.boost import Boost
class Herwigpp(AutotoolsPackage):
"""Herwig is a multi-purpose particle physics event generator.
- This package provides old Herwig++ 2 generator"""
+ This package provides old Herwig++ 2 generator"""
homepage = "https://herwig.hepforge.org/"
- url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/MCGeneratorsTarFiles/Herwig++-2.7.1.tar.bz2"
+ url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/MCGeneratorsTarFiles/Herwig++-2.7.1.tar.bz2"
- tags = ['hep']
+ tags = ["hep"]
- version('2.7.1', '80a189376bb65f5ec4e64f42e76c00ea9102d8224010563a424fc11e619a6ad6')
- patch('herwig++-2.7.1.patch', when='@2.7.1', level=0)
+ version("2.7.1", "80a189376bb65f5ec4e64f42e76c00ea9102d8224010563a424fc11e619a6ad6")
+ patch("herwig++-2.7.1.patch", when="@2.7.1", level=0)
- depends_on('gsl')
+ depends_on("gsl")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('fastjet')
- depends_on('thepeg@1.9.2', when='@2.7.1')
+ depends_on("fastjet")
+ depends_on("thepeg@1.9.2", when="@2.7.1")
def setup_build_environment(self, env):
- env.prepend_path('LD_LIBRARY_PATH', self.spec['thepeg'].prefix.lib.ThePEG)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["thepeg"].prefix.lib.ThePEG)
def configure_args(self):
- args = ['--with-gsl=' + self.spec['gsl'].prefix,
- '--with-thepeg=' + self.spec['thepeg'].prefix,
- '--with-fastjet=' + self.spec['fastjet'].prefix,
- '--with-boost=' + self.spec['boost'].prefix]
+ args = [
+ "--with-gsl=" + self.spec["gsl"].prefix,
+ "--with-thepeg=" + self.spec["thepeg"].prefix,
+ "--with-fastjet=" + self.spec["fastjet"].prefix,
+ "--with-boost=" + self.spec["boost"].prefix,
+ ]
return args
def build(self, spec, prefix):
make()
- with working_dir('Contrib'):
+ with working_dir("Contrib"):
make()
- with working_dir('Contrib/AlpGen'):
- make('BasicLesHouchesFileReader.so',
- "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path))
- make('AlpGenHandler.so',
- "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path))
+ with working_dir("Contrib/AlpGen"):
+ make(
+ "BasicLesHouchesFileReader.so",
+ "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path),
+ )
+ make("AlpGenHandler.so", "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path))
def install(self, spec, prefix):
- make('install')
+ make("install")
install(
- join_path(self.stage.source_path,
- 'Contrib', 'AlpGen', 'AlpGenHandler.so'),
- join_path(prefix.lib, 'Herwig++', 'AlpGenHandler.so'))
+ join_path(self.stage.source_path, "Contrib", "AlpGen", "AlpGenHandler.so"),
+ join_path(prefix.lib, "Herwig++", "AlpGenHandler.so"),
+ )
install(
- join_path(self.stage.source_path,
- 'Contrib', 'AlpGen', 'BasicLesHouchesFileReader.so'),
- join_path(prefix.lib, 'Herwig++', 'BasicLesHouchesFileReader.so'))
+ join_path(self.stage.source_path, "Contrib", "AlpGen", "BasicLesHouchesFileReader.so"),
+ join_path(prefix.lib, "Herwig++", "BasicLesHouchesFileReader.so"),
+ )
diff --git a/var/spack/repos/builtin/packages/hevea/package.py b/var/spack/repos/builtin/packages/hevea/package.py
index 94c33d94c4..c250141075 100644
--- a/var/spack/repos/builtin/packages/hevea/package.py
+++ b/var/spack/repos/builtin/packages/hevea/package.py
@@ -10,20 +10,20 @@ class Hevea(MakefilePackage):
"""Hevea a fast Latex to HTML translator"""
homepage = "http://hevea.inria.fr/"
- url = "https://github.com/maranget/hevea/archive/v2.35.tar.gz"
- git = "https://github.com/maranget/hevea.git"
+ url = "https://github.com/maranget/hevea/archive/v2.35.tar.gz"
+ git = "https://github.com/maranget/hevea.git"
- maintainers = ['scemama', 'cessenat']
+ maintainers = ["scemama", "cessenat"]
- version('develop', branch='master')
- version('2.35', sha256='78f834cc7a8112ec59d0b8acdfbed0c8ac7dbb85f964d0be1f4eed04f25cdf54')
- version('2.34', sha256='f505a2a5bafdc2ea389ec521876844e6fdcb5c1b656396b7e8421c1631469ea2')
- version('2.33', sha256='122f9023f9cfe8b41dd8965b7d9669df21bf41e419bcf5e9de5314f428380d0f')
- version('2.32', sha256='f0c12ee3936364a3aa26da384e3d2ad2344be0091f04f9531f04ecb1dca98aca')
+ version("develop", branch="master")
+ version("2.35", sha256="78f834cc7a8112ec59d0b8acdfbed0c8ac7dbb85f964d0be1f4eed04f25cdf54")
+ version("2.34", sha256="f505a2a5bafdc2ea389ec521876844e6fdcb5c1b656396b7e8421c1631469ea2")
+ version("2.33", sha256="122f9023f9cfe8b41dd8965b7d9669df21bf41e419bcf5e9de5314f428380d0f")
+ version("2.32", sha256="f0c12ee3936364a3aa26da384e3d2ad2344be0091f04f9531f04ecb1dca98aca")
# Dependency demands ocamlbuild
- depends_on('ocaml')
- depends_on('ocamlbuild')
+ depends_on("ocaml")
+ depends_on("ocamlbuild")
def edit(self, spec, prefix):
- env['PREFIX'] = self.spec.prefix
+ env["PREFIX"] = self.spec.prefix
diff --git a/var/spack/repos/builtin/packages/hibench/package.py b/var/spack/repos/builtin/packages/hibench/package.py
index 470f7c8ff6..d6276d46ab 100644
--- a/var/spack/repos/builtin/packages/hibench/package.py
+++ b/var/spack/repos/builtin/packages/hibench/package.py
@@ -15,14 +15,14 @@ class Hibench(MavenPackage):
Nutch indexing, Bayes, Kmeans, NWeight and enhanced DFSIO, etc."""
homepage = "https://github.com/Intel-bigdata/HiBench"
- url = "https://github.com/Intel-bigdata/HiBench/archive/HiBench-7.1.tar.gz"
+ url = "https://github.com/Intel-bigdata/HiBench/archive/HiBench-7.1.tar.gz"
- version('7.1', sha256='96572a837d747fb6347f2b906fd5f7fb97a62095435326ccfee5e75777a5c210')
- version('7.0', sha256='89b01f3ad90b758f24afd5ea2bee997c3d700ce9244b8a2b544acc462ab0e847')
- version('6.0', sha256='179f5415903f4029bd0ea1101a3d4c67faf88ca46a993d8179582299ad730f79')
- version('5.0', sha256='32d6a7bc1010d90b2f22906896a03cd1980e617beb07b01716e3d04de5760ed4')
- version('4.1', sha256='07551763aa30f04d32870c323524b5fc0fc2e968d7081d8916575bdeb4fd1381')
- version('4.0', sha256='de58ed5e9647ffe28c2a905a8830b661bbd09db334eb5b3472c8186553407e0e')
- version('3.0.0', sha256='869771e73593caac3a9b2fb14a10041a485d248074ba38cca812c934897db63d')
- version('2.2.1', sha256='f8531cbaff8d93bfd1c0742fec5dbb375bfeeb9ec1b39b4e857120e933a2c9ec')
- version('2.2', sha256='5f68e22339cdd141b846d8b1d7134b2b8ff5fbd5e847e406214dc845f5d005cf')
+ version("7.1", sha256="96572a837d747fb6347f2b906fd5f7fb97a62095435326ccfee5e75777a5c210")
+ version("7.0", sha256="89b01f3ad90b758f24afd5ea2bee997c3d700ce9244b8a2b544acc462ab0e847")
+ version("6.0", sha256="179f5415903f4029bd0ea1101a3d4c67faf88ca46a993d8179582299ad730f79")
+ version("5.0", sha256="32d6a7bc1010d90b2f22906896a03cd1980e617beb07b01716e3d04de5760ed4")
+ version("4.1", sha256="07551763aa30f04d32870c323524b5fc0fc2e968d7081d8916575bdeb4fd1381")
+ version("4.0", sha256="de58ed5e9647ffe28c2a905a8830b661bbd09db334eb5b3472c8186553407e0e")
+ version("3.0.0", sha256="869771e73593caac3a9b2fb14a10041a485d248074ba38cca812c934897db63d")
+ version("2.2.1", sha256="f8531cbaff8d93bfd1c0742fec5dbb375bfeeb9ec1b39b4e857120e933a2c9ec")
+ version("2.2", sha256="5f68e22339cdd141b846d8b1d7134b2b8ff5fbd5e847e406214dc845f5d005cf")
diff --git a/var/spack/repos/builtin/packages/hic-pro/package.py b/var/spack/repos/builtin/packages/hic-pro/package.py
index a93b2abadf..e5e1e606d5 100644
--- a/var/spack/repos/builtin/packages/hic-pro/package.py
+++ b/var/spack/repos/builtin/packages/hic-pro/package.py
@@ -12,50 +12,45 @@ class HicPro(MakefilePackage):
to the normalized contact maps"""
homepage = "https://github.com/nservant/HiC-Pro"
- url = "https://github.com/nservant/HiC-Pro/archive/v2.10.0.tar.gz"
+ url = "https://github.com/nservant/HiC-Pro/archive/v2.10.0.tar.gz"
- version('2.10.0', sha256='df181ea5c57247caf6b25fd15dfbb03df597ff8c4f57599d88607648bb61f1b7')
+ version("2.10.0", sha256="df181ea5c57247caf6b25fd15dfbb03df597ff8c4f57599d88607648bb61f1b7")
- depends_on('bowtie2')
- depends_on('samtools')
- depends_on('python+ucs4@2.7:2.8')
- depends_on('r')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-bx-python', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
+ depends_on("bowtie2")
+ depends_on("samtools")
+ depends_on("python+ucs4@2.7:2.8")
+ depends_on("r")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-bx-python", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
def edit(self, spec, prefix):
- config = FileFilter('config-install.txt')
- config.filter('PREFIX =.*', 'PREFIX = {0}'.format(prefix))
- config.filter('BOWTIE2 PATH =.*',
- 'BOWTIE2_PATH = {0}'.format(spec['bowtie2'].prefix))
- config.filter('SAMTOOLS_PATH =.*',
- 'SAMTOOLS_PATH = {0}'.format(spec['samtools'].prefix))
- config.filter('R_PATH =.*',
- 'R_RPTH ={0}'.format(spec['r'].prefix))
- config.filter('PYTHON_PATH =.*',
- 'PYTHON_RPTH ={0}'.format(spec['python'].prefix))
+ config = FileFilter("config-install.txt")
+ config.filter("PREFIX =.*", "PREFIX = {0}".format(prefix))
+ config.filter("BOWTIE2 PATH =.*", "BOWTIE2_PATH = {0}".format(spec["bowtie2"].prefix))
+ config.filter("SAMTOOLS_PATH =.*", "SAMTOOLS_PATH = {0}".format(spec["samtools"].prefix))
+ config.filter("R_PATH =.*", "R_RPTH ={0}".format(spec["r"].prefix))
+ config.filter("PYTHON_PATH =.*", "PYTHON_RPTH ={0}".format(spec["python"].prefix))
def build(self, spec, preifx):
- make('-f', './scripts/install/Makefile',
- 'CONFIG_SYS=./config-install.txt')
- make('mapbuilder')
- make('readstrimming')
- make('iced')
+ make("-f", "./scripts/install/Makefile", "CONFIG_SYS=./config-install.txt")
+ make("mapbuilder")
+ make("readstrimming")
+ make("iced")
def install(self, spec, prefix):
# Patch INSTALLPATH in config-system.txt
- config = FileFilter('config-system.txt')
- config.filter('/HiC-Pro_%s' % self.version, '')
+ config = FileFilter("config-system.txt")
+ config.filter("/HiC-Pro_%s" % self.version, "")
# Install
- install('config-hicpro.txt', prefix)
- install('config-install.txt', prefix)
- install('config-system.txt', prefix)
- install_tree('bin', prefix.bin)
- install_tree('annotation', prefix.annotation)
- install_tree('doc', prefix.doc)
- install_tree('scripts', prefix.scripts)
- install_tree('test-op', join_path(prefix, 'test-op'))
+ install("config-hicpro.txt", prefix)
+ install("config-install.txt", prefix)
+ install("config-system.txt", prefix)
+ install_tree("bin", prefix.bin)
+ install_tree("annotation", prefix.annotation)
+ install_tree("doc", prefix.doc)
+ install_tree("scripts", prefix.scripts)
+ install_tree("test-op", join_path(prefix, "test-op"))
diff --git a/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py b/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py
index d829f881a5..28a3afc33e 100644
--- a/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py
+++ b/var/spack/repos/builtin/packages/hicolor-icon-theme/package.py
@@ -12,15 +12,15 @@ class HicolorIconTheme(AutotoolsPackage):
icon theme called hicolor."""
homepage = "https://www.freedesktop.org/wiki/Software/icon-theme/"
- url = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.17.tar.xz"
+ url = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.17.tar.xz"
- version('0.17', sha256='317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8')
+ version("0.17", sha256="317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/hicops/package.py b/var/spack/repos/builtin/packages/hicops/package.py
index 42e9e866c6..3646a27412 100644
--- a/var/spack/repos/builtin/packages/hicops/package.py
+++ b/var/spack/repos/builtin/packages/hicops/package.py
@@ -15,99 +15,121 @@ class Hicops(CMakePackage):
homepage = "https://hicops.github.io/index"
git = "https://github.com/hicops/hicops.git"
- maintainers = ['pcdslab', 'mhaseeb123', 'nessiecancode']
+ maintainers = ["pcdslab", "mhaseeb123", "nessiecancode"]
- version('release', branch='release')
- version('develop', branch='develop')
+ version("release", branch="release")
+ version("develop", branch="develop")
# Build Options
- variant('mpi', default=True,
- description='Enable MPI support.')
- variant('timemory', default=False,
- description='Enable timemory interface. Requires timemory '
- 'installation.')
- variant('mpip', default=False,
- description='Enables the MPIP data_tracker via Timemory. '
- 'Requires timemory installation.')
- variant('tailfit', default=True,
- description='Use the tailfit method instead of Gumbelfit '
- 'for e-value computation.')
- variant('progress', default=True,
- description='Display HiCOPS progress marks.')
- variant('seqlen', default='60',
- description='Allowed maximum peptide sequence length.',
- values=int, multi=False)
- variant('qalen', default='100',
- description='Maximum number of top K peaks to keep when '
- 'spectrum preprocess.', values=int,
- multi=False)
- variant('qchunk', default='10000',
- description='Max size of each batch extracted from the '
- 'dataset.', values=int, multi=False)
- variant('hyperscore', default='100',
- description='Maximum allowed hyperscore computed.',
- values=int, multi=False)
- variant('shdpeaks', default='80',
- description='Maximum shared b- or y-ions allowed.',
- values=int, multi=False)
- variant('cxx_std', default='14',
- description='C++ standard', values=('14', '17'),
- multi=False)
+ variant("mpi", default=True, description="Enable MPI support.")
+ variant(
+ "timemory",
+ default=False,
+ description="Enable timemory interface. Requires timemory " "installation.",
+ )
+ variant(
+ "mpip",
+ default=False,
+ description="Enables the MPIP data_tracker via Timemory. "
+ "Requires timemory installation.",
+ )
+ variant(
+ "tailfit",
+ default=True,
+ description="Use the tailfit method instead of Gumbelfit " "for e-value computation.",
+ )
+ variant("progress", default=True, description="Display HiCOPS progress marks.")
+ variant(
+ "seqlen",
+ default="60",
+ description="Allowed maximum peptide sequence length.",
+ values=int,
+ multi=False,
+ )
+ variant(
+ "qalen",
+ default="100",
+ description="Maximum number of top K peaks to keep when " "spectrum preprocess.",
+ values=int,
+ multi=False,
+ )
+ variant(
+ "qchunk",
+ default="10000",
+ description="Max size of each batch extracted from the " "dataset.",
+ values=int,
+ multi=False,
+ )
+ variant(
+ "hyperscore",
+ default="100",
+ description="Maximum allowed hyperscore computed.",
+ values=int,
+ multi=False,
+ )
+ variant(
+ "shdpeaks",
+ default="80",
+ description="Maximum shared b- or y-ions allowed.",
+ values=int,
+ multi=False,
+ )
+ variant("cxx_std", default="14", description="C++ standard", values=("14", "17"), multi=False)
- depends_on('py-numpy')
- depends_on('py-python-dateutil')
- depends_on('py-setuptools')
- depends_on('py-bottleneck')
- depends_on('py-pyparsing')
- depends_on('py-subprocess32')
- depends_on('py-six')
- depends_on('py-setuptools-scm')
- depends_on('py-et-xmlfile')
- depends_on('py-argparse')
- depends_on('py-cython')
- depends_on('py-cycler')
- depends_on('py-pytz')
- depends_on('py-kiwisolver')
- depends_on('py-numexpr')
- depends_on('py-matplotlib')
- depends_on('py-jdcal')
- depends_on('py-pandas')
- depends_on('py-openpyxl')
- depends_on('python@3.7:3.9')
- depends_on('boost')
- depends_on('mpich')
- depends_on('git', type='build', when='@release')
- depends_on('git', type='build', when='@develop')
- depends_on('cmake@3.11:', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("py-numpy")
+ depends_on("py-python-dateutil")
+ depends_on("py-setuptools")
+ depends_on("py-bottleneck")
+ depends_on("py-pyparsing")
+ depends_on("py-subprocess32")
+ depends_on("py-six")
+ depends_on("py-setuptools-scm")
+ depends_on("py-et-xmlfile")
+ depends_on("py-argparse")
+ depends_on("py-cython")
+ depends_on("py-cycler")
+ depends_on("py-pytz")
+ depends_on("py-kiwisolver")
+ depends_on("py-numexpr")
+ depends_on("py-matplotlib")
+ depends_on("py-jdcal")
+ depends_on("py-pandas")
+ depends_on("py-openpyxl")
+ depends_on("python@3.7:3.9")
+ depends_on("boost")
+ depends_on("mpich")
+ depends_on("git", type="build", when="@release")
+ depends_on("git", type="build", when="@develop")
+ depends_on("cmake@3.11:", type="build")
+ depends_on("pkgconfig", type="build")
# TODO: Add timemory and mpip depends_on()
- conflicts('+timemory')
+ conflicts("+timemory")
# Build failing when added. Creating a conflict as a workaround
- conflicts('%gcc@:7.2.0')
- conflicts('+mpip -timemory')
- conflicts('+mpip -mpi')
+ conflicts("%gcc@:7.2.0")
+ conflicts("+mpip -timemory")
+ conflicts("+mpip -mpi")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.tools)
- env.prepend_path('PATH', self.prefix.bin.tools)
- env.set('HICOPS_INSTALL', self.prefix)
- env.prepend_path('INCLUDE', self.prefix.include)
+ env.prepend_path("PATH", self.prefix.tools)
+ env.prepend_path("PATH", self.prefix.bin.tools)
+ env.set("HICOPS_INSTALL", self.prefix)
+ env.prepend_path("INCLUDE", self.prefix.include)
def cmake_args(self):
args = [
- self.define('USE_MPI', True),
- self.define('CMAKE_INSTALL_PREFIX', self.prefix),
- self.define_from_variant('USE_TIMEMORY', 'timemory'),
- self.define_from_variant('USE_MPIP_LIBRARY', 'mpip'),
- self.define_from_variant('TAILFIT', 'tailfit'),
- self.define_from_variant('PROGRESS', 'progress'),
- self.define_from_variant('MAX_SEQ_LEN', 'seqlen'),
- self.define_from_variant('QALEN', 'qalen'),
- self.define_from_variant('QCHUNK', 'qchunk'),
- self.define_from_variant('MAX_HYPERSCORE', 'hyperscore'),
- self.define_from_variant('MAX_SHDPEAKS', 'shdpeaks'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxx_std')
+ self.define("USE_MPI", True),
+ self.define("CMAKE_INSTALL_PREFIX", self.prefix),
+ self.define_from_variant("USE_TIMEMORY", "timemory"),
+ self.define_from_variant("USE_MPIP_LIBRARY", "mpip"),
+ self.define_from_variant("TAILFIT", "tailfit"),
+ self.define_from_variant("PROGRESS", "progress"),
+ self.define_from_variant("MAX_SEQ_LEN", "seqlen"),
+ self.define_from_variant("QALEN", "qalen"),
+ self.define_from_variant("QCHUNK", "qchunk"),
+ self.define_from_variant("MAX_HYPERSCORE", "hyperscore"),
+ self.define_from_variant("MAX_SHDPEAKS", "shdpeaks"),
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxx_std"),
]
return args
diff --git a/var/spack/repos/builtin/packages/highfive/package.py b/var/spack/repos/builtin/packages/highfive/package.py
index 7a4d0ef74a..0b719175f4 100644
--- a/var/spack/repos/builtin/packages/highfive/package.py
+++ b/var/spack/repos/builtin/packages/highfive/package.py
@@ -12,36 +12,37 @@ class Highfive(CMakePackage):
"""HighFive - Header only C++ HDF5 interface"""
homepage = "https://github.com/BlueBrain/HighFive"
- url = "https://github.com/BlueBrain/HighFive/archive/v1.2.tar.gz"
+ url = "https://github.com/BlueBrain/HighFive/archive/v1.2.tar.gz"
- version('2.4.1', sha256='6826471ef5c645ebf947d29574b302991525a8a8ff1ef687aba7311d9a0ea36f')
- version('2.3.1', sha256='41728a1204bdfcdcef8cbc3ddffe5d744c5331434ce3dcef35614b831234fcd7')
- version('2.3', sha256='7da6815646eb4294f210cec6be24c9234d7d6ceb2bf92a01129fbba6583c5349')
- version('2.2.2', sha256='5bfb356705c6feb9d46a0507573028b289083ec4b4607a6f36187cb916f085a7')
- version('2.2.1', sha256='964c722ba916259209083564405ef9ce073b15e9412955fef9281576ea9c5b85')
- version('2.2', sha256='fe065f2443e38444100b43999a96916e81a0aa7e500cf768d3bf6f8392b8efee')
- version('2.0', sha256='deee33d7f578e33dccb5d04771f4e01b89a980dd9a3ff449dd79156901ee8d25')
- version('1.5', sha256='f194bda482ab15efa7c577ecc4fb7ee519f6d4bf83470acdb3fb455c8accb407')
- version('1.2', sha256='4d8f84ee1002e8fd6269b62c21d6232aea3d56ce4171609e39eb0171589aab31')
- version('1.1', sha256='430fc312fc1961605ffadbfad82b9753a5e59482e9fbc64425fb2c184123d395')
- version('1.0', sha256='d867fe73d00817f686d286f3c69a23731c962c3e2496ca1657ea7302cd0bb944')
+ version("2.4.1", sha256="6826471ef5c645ebf947d29574b302991525a8a8ff1ef687aba7311d9a0ea36f")
+ version("2.3.1", sha256="41728a1204bdfcdcef8cbc3ddffe5d744c5331434ce3dcef35614b831234fcd7")
+ version("2.3", sha256="7da6815646eb4294f210cec6be24c9234d7d6ceb2bf92a01129fbba6583c5349")
+ version("2.2.2", sha256="5bfb356705c6feb9d46a0507573028b289083ec4b4607a6f36187cb916f085a7")
+ version("2.2.1", sha256="964c722ba916259209083564405ef9ce073b15e9412955fef9281576ea9c5b85")
+ version("2.2", sha256="fe065f2443e38444100b43999a96916e81a0aa7e500cf768d3bf6f8392b8efee")
+ version("2.0", sha256="deee33d7f578e33dccb5d04771f4e01b89a980dd9a3ff449dd79156901ee8d25")
+ version("1.5", sha256="f194bda482ab15efa7c577ecc4fb7ee519f6d4bf83470acdb3fb455c8accb407")
+ version("1.2", sha256="4d8f84ee1002e8fd6269b62c21d6232aea3d56ce4171609e39eb0171589aab31")
+ version("1.1", sha256="430fc312fc1961605ffadbfad82b9753a5e59482e9fbc64425fb2c184123d395")
+ version("1.0", sha256="d867fe73d00817f686d286f3c69a23731c962c3e2496ca1657ea7302cd0bb944")
- variant('boost', default=False, description='Support Boost')
- variant('mpi', default=True, description='Support MPI')
+ variant("boost", default=False, description="Support Boost")
+ variant("mpi", default=True, description="Support MPI")
- depends_on('boost @1.41:', when='+boost')
+ depends_on("boost @1.41:", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('hdf5')
- depends_on('hdf5 +mpi', when='+mpi')
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("hdf5")
+ depends_on("hdf5 +mpi", when="+mpi")
def cmake_args(self):
args = [
- '-DUSE_BOOST:Bool={0}'.format('+boost' in self.spec),
- '-DHIGHFIVE_PARALLEL_HDF5:Bool={0}'.format('+mpi' in self.spec),
- '-DHIGHFIVE_UNIT_TESTS:Bool=false',
- '-DHIGHFIVE_EXAMPLES:Bool=false']
+ "-DUSE_BOOST:Bool={0}".format("+boost" in self.spec),
+ "-DHIGHFIVE_PARALLEL_HDF5:Bool={0}".format("+mpi" in self.spec),
+ "-DHIGHFIVE_UNIT_TESTS:Bool=false",
+ "-DHIGHFIVE_EXAMPLES:Bool=false",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/highwayhash/package.py b/var/spack/repos/builtin/packages/highwayhash/package.py
index 9900b0dc7c..d9a0b0591d 100644
--- a/var/spack/repos/builtin/packages/highwayhash/package.py
+++ b/var/spack/repos/builtin/packages/highwayhash/package.py
@@ -10,33 +10,33 @@ from spack.package import *
class Highwayhash(MakefilePackage):
"""Strong (well-distributed and unpredictable) hashes:
- - Portable implementation of SipHash
- - HighwayHash, a 5x faster SIMD hash with security claims
+ - Portable implementation of SipHash
+ - HighwayHash, a 5x faster SIMD hash with security claims
"""
homepage = "https://github.com/google/highwayhash"
- git = "https://github.com/google/highwayhash.git"
+ git = "https://github.com/google/highwayhash.git"
- version('dfcb97', commit='dfcb97ca4fe9277bf9dc1802dd979b071896453b')
+ version("dfcb97", commit="dfcb97ca4fe9277bf9dc1802dd979b071896453b")
- build_targets = ['all', 'libhighwayhash.a']
+ build_targets = ["all", "libhighwayhash.a"]
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.include)
# The following are CPU and compiler flag specific
- if(os.path.exists('libhighwayhash.a')):
+ if os.path.exists("libhighwayhash.a"):
mkdirp(prefix.lib)
- install('libhighwayhash.a', prefix.lib)
- if(os.path.exists('highwayhash_test')):
- install('highwayhash_test', prefix.bin)
- if(os.path.exists('benchmark')):
- install('benchmark', prefix.bin)
+ install("libhighwayhash.a", prefix.lib)
+ if os.path.exists("highwayhash_test"):
+ install("highwayhash_test", prefix.bin)
+ if os.path.exists("benchmark"):
+ install("benchmark", prefix.bin)
# Always installed
- install('profiler_example', prefix.bin)
- install('nanobenchmark_example', prefix.bin)
- install('vector_test', prefix.bin)
- install('sip_hash_test', prefix.bin)
- install('highwayhash/*.h', prefix.include)
+ install("profiler_example", prefix.bin)
+ install("nanobenchmark_example", prefix.bin)
+ install("vector_test", prefix.bin)
+ install("sip_hash_test", prefix.bin)
+ install("highwayhash/*.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py
index 8e02668c82..f7751af67c 100644
--- a/var/spack/repos/builtin/packages/hiop/package.py
+++ b/var/spack/repos/builtin/packages/hiop/package.py
@@ -17,60 +17,57 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
data parallelism to parallelize the optimization iterations by using
specialized linear algebra kernels."""
- homepage = 'https://github.com/LLNL/hiop'
- git = 'https://github.com/LLNL/hiop.git'
- maintainers = ['ashermancinelli', 'CameronRutherford', 'pelesh']
+ homepage = "https://github.com/LLNL/hiop"
+ git = "https://github.com/LLNL/hiop.git"
+ maintainers = ["ashermancinelli", "CameronRutherford", "pelesh"]
# Most recent tagged snapshot is the preferred version when profiling.
- version('0.6.2', commit='55652fbe923ab9107d002d0d070865bd22375b28')
- version('0.6.1', commit='a9e2697b00aa13ecf0ae4783dd8a41dee11dc50e')
- version('0.6.0', commit='21af7eb0d6427be73546cf303abc84e834a5a55d')
- version('0.5.4', commit='a37a7a677884e95d1c0ad37936aef3778fc91c3e')
- version('0.5.3', commit='698e8d0fdc0ff9975d8714339ff8c782b70d85f9')
- version('0.5.2', commit='662ad76dee1f501f648a8bec9a490cb5881789e9')
- version('0.5.1', commit='6789bbb55824e68e428c2df1009d647af81f9cf1')
- version('0.5.0', commit='a39da8025037c7c8ae2eb31234eb80cc73bec2af')
- version('0.4.6', commit='b72d163d52c9225c3196ceb2baebdc7cf09a69de')
- version('0.4.5', commit='c353580456c4776c50811b97cf8ff802dc27b90c')
- version('0.4.4', commit='e858eefa6b914f5c87c3717bbce811931ea69386')
- version('0.4.3', commit='c0394af4d84ebb84b7d2b95283ad65ffd84e0d45')
- version('0.4.2', commit='3fcb788d223eec24c0241680070c4a9a5ec71ef3')
- version('0.4.1', commit='3f269560f76d5a89bcbd1d3c4f9f0e5acaa6fd64')
- version('0.4', commit='91d21085a1149eacdb27cd738d4a74a7e412fcff')
- version('0.3.99.3', commit='bed1dbef260e53a9d139ccfb77d2e83a98aab216')
- version('0.3.99.2', commit='9eb026768bc5e0a2c1293d0487cc39913001ae19')
- version('0.3.99.1', commit='220e32c0f318665d6d394ca3cd0735b9d26a65eb')
- version('0.3.99.0', commit='589b9c76781447108fa55788d5fa1b83ff71a3d1')
- version('0.3', commit='7e8adae9db757aed48e5c2bc448316307598258f')
- version('0.2', commit='c52a6f6b9baaaa2d7f233a749aa98f901349723f')
- version('0.1', commit='5f60e11b79d532115fb41694378b54c9c707aad9')
+ version("0.6.2", commit="55652fbe923ab9107d002d0d070865bd22375b28")
+ version("0.6.1", commit="a9e2697b00aa13ecf0ae4783dd8a41dee11dc50e")
+ version("0.6.0", commit="21af7eb0d6427be73546cf303abc84e834a5a55d")
+ version("0.5.4", commit="a37a7a677884e95d1c0ad37936aef3778fc91c3e")
+ version("0.5.3", commit="698e8d0fdc0ff9975d8714339ff8c782b70d85f9")
+ version("0.5.2", commit="662ad76dee1f501f648a8bec9a490cb5881789e9")
+ version("0.5.1", commit="6789bbb55824e68e428c2df1009d647af81f9cf1")
+ version("0.5.0", commit="a39da8025037c7c8ae2eb31234eb80cc73bec2af")
+ version("0.4.6", commit="b72d163d52c9225c3196ceb2baebdc7cf09a69de")
+ version("0.4.5", commit="c353580456c4776c50811b97cf8ff802dc27b90c")
+ version("0.4.4", commit="e858eefa6b914f5c87c3717bbce811931ea69386")
+ version("0.4.3", commit="c0394af4d84ebb84b7d2b95283ad65ffd84e0d45")
+ version("0.4.2", commit="3fcb788d223eec24c0241680070c4a9a5ec71ef3")
+ version("0.4.1", commit="3f269560f76d5a89bcbd1d3c4f9f0e5acaa6fd64")
+ version("0.4", commit="91d21085a1149eacdb27cd738d4a74a7e412fcff")
+ version("0.3.99.3", commit="bed1dbef260e53a9d139ccfb77d2e83a98aab216")
+ version("0.3.99.2", commit="9eb026768bc5e0a2c1293d0487cc39913001ae19")
+ version("0.3.99.1", commit="220e32c0f318665d6d394ca3cd0735b9d26a65eb")
+ version("0.3.99.0", commit="589b9c76781447108fa55788d5fa1b83ff71a3d1")
+ version("0.3", commit="7e8adae9db757aed48e5c2bc448316307598258f")
+ version("0.2", commit="c52a6f6b9baaaa2d7f233a749aa98f901349723f")
+ version("0.1", commit="5f60e11b79d532115fb41694378b54c9c707aad9")
# Development branches
- version('master', branch='master')
- version('develop', branch='develop')
-
- variant(
- 'jsrun', default=False, description='Enable/Disable jsrun command for testing'
- )
- variant('shared', default=False, description='Enable/Disable shared libraries')
- variant('mpi', default=True, description='Enable/Disable MPI')
- variant('raja', default=False, description='Enable/Disable RAJA')
- variant('kron', default=False, description='Enable/Disable Kron reduction')
- variant('sparse', default=False, description='Enable/Disable Sparse linear algebra')
+ version("master", branch="master")
+ version("develop", branch="develop")
+
+ variant("jsrun", default=False, description="Enable/Disable jsrun command for testing")
+ variant("shared", default=False, description="Enable/Disable shared libraries")
+ variant("mpi", default=True, description="Enable/Disable MPI")
+ variant("raja", default=False, description="Enable/Disable RAJA")
+ variant("kron", default=False, description="Enable/Disable Kron reduction")
+ variant("sparse", default=False, description="Enable/Disable Sparse linear algebra")
variant(
- 'deepchecking',
+ "deepchecking",
default=False,
- description='Ultra safety checks - '
- 'used for increased robustness and self-diagnostics',
+ description="Ultra safety checks - " "used for increased robustness and self-diagnostics",
)
- variant('ginkgo', default=False, description='Enable/disable ginkgo solver')
- variant('cusolver', default=False, description='Enable/disable cuSovler')
+ variant("ginkgo", default=False, description="Enable/disable ginkgo solver")
+ variant("cusolver", default=False, description="Enable/disable cuSovler")
- depends_on('lapack')
- depends_on('blas')
- depends_on('cmake@3.18:', type='build')
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("cmake@3.18:", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch)
@@ -86,41 +83,41 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("umpire {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
magma_ver_constraints = (
- ('2.5.4', '0.4'),
- ('2.6.1', '0.4.6'),
- ('2.6.2', '0.5.4'),
+ ("2.5.4", "0.4"),
+ ("2.6.1", "0.4.6"),
+ ("2.6.2", "0.5.4"),
)
# Depends on Magma when +rocm or +cuda
for (magma_v, hiop_v) in magma_ver_constraints:
- depends_on('magma@{0}:'.format(magma_v), when='@{0}:+cuda'.format(hiop_v))
- depends_on('magma@{0}:'.format(magma_v), when='@{0}:+rocm'.format(hiop_v))
+ depends_on("magma@{0}:".format(magma_v), when="@{0}:+cuda".format(hiop_v))
+ depends_on("magma@{0}:".format(magma_v), when="@{0}:+rocm".format(hiop_v))
- depends_on('cuda@11:', when='@develop:+cuda')
+ depends_on("cuda@11:", when="@develop:+cuda")
- depends_on('raja', when='+raja')
- depends_on('raja+openmp', when='+raja~cuda~rocm')
- depends_on('raja@0.14.0:', when='@0.5.0:+raja')
- depends_on('umpire', when='+raja')
- depends_on('umpire@6.0.0:', when='@0.5.0:+raja')
- depends_on('hip', when='+rocm')
- depends_on('hipblas', when='+rocm')
- depends_on('hipsparse', when='+rocm')
+ depends_on("raja", when="+raja")
+ depends_on("raja+openmp", when="+raja~cuda~rocm")
+ depends_on("raja@0.14.0:", when="@0.5.0:+raja")
+ depends_on("umpire", when="+raja")
+ depends_on("umpire@6.0.0:", when="@0.5.0:+raja")
+ depends_on("hip", when="+rocm")
+ depends_on("hipblas", when="+rocm")
+ depends_on("hipsparse", when="+rocm")
- depends_on('suite-sparse', when='+kron')
+ depends_on("suite-sparse", when="+kron")
- depends_on('coinhsl+blas', when='+sparse')
- depends_on('metis', when='+sparse')
+ depends_on("coinhsl+blas", when="+sparse")
+ depends_on("metis", when="+sparse")
- depends_on('ginkgo@glu+cuda', when='+ginkgo')
+ depends_on("ginkgo@glu+cuda", when="+ginkgo")
conflicts(
- '+shared',
- when='+cuda+raja',
- msg='umpire+cuda exports device code and requires static libs',
+ "+shared",
+ when="+cuda+raja",
+ msg="umpire+cuda exports device code and requires static libs",
)
- conflicts('+cusolver', when='~cuda', msg='Cusolver requires CUDA')
- conflicts('+cusolver', when='@:0.5', msg='Cusolver support was introduced in HiOp 0.6')
+ conflicts("+cusolver", when="~cuda", msg="Cusolver requires CUDA")
+ conflicts("+cusolver", when="@:0.5", msg="Cusolver support was introduced in HiOp 0.6")
flag_handler = build_system_flags
@@ -128,33 +125,37 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
args = []
spec = self.spec
- use_gpu = '+cuda' in spec or '+rocm' in spec
+ use_gpu = "+cuda" in spec or "+rocm" in spec
if use_gpu:
- args.extend([
- self.define('HIOP_USE_GPU', True),
- self.define('HIOP_USE_MAGMA', True),
- self.define('HIOP_MAGMA_DIR', spec['magma'].prefix),
- ])
-
- args.extend([
- self.define('HIOP_BUILD_STATIC', True),
- self.define('LAPACK_FOUND', True),
- self.define('LAPACK_LIBRARIES', spec['lapack'].libs + spec['blas'].libs),
- self.define_from_variant('HIOP_BUILD_SHARED', 'shared'),
- self.define_from_variant('HIOP_USE_MPI', 'mpi'),
- self.define_from_variant('HIOP_DEEPCHECKS', 'deepchecking'),
- self.define_from_variant('HIOP_USE_CUDA', 'cuda'),
- self.define_from_variant('HIOP_USE_HIP', 'rocm'),
- self.define_from_variant('HIOP_USE_RAJA', 'raja'),
- self.define_from_variant('HIOP_USE_UMPIRE', 'raja'),
- self.define_from_variant('HIOP_WITH_KRON_REDUCTION', 'kron'),
- self.define_from_variant('HIOP_SPARSE', 'sparse'),
- self.define_from_variant('HIOP_USE_COINHSL', 'sparse'),
- self.define_from_variant('HIOP_TEST_WITH_BSUB', 'jsrun'),
- self.define_from_variant('HIOP_USE_GINKGO', 'ginkgo'),
- self.define_from_variant('HIOP_USE_CUSOLVER', 'cusolver'),
- ])
+ args.extend(
+ [
+ self.define("HIOP_USE_GPU", True),
+ self.define("HIOP_USE_MAGMA", True),
+ self.define("HIOP_MAGMA_DIR", spec["magma"].prefix),
+ ]
+ )
+
+ args.extend(
+ [
+ self.define("HIOP_BUILD_STATIC", True),
+ self.define("LAPACK_FOUND", True),
+ self.define("LAPACK_LIBRARIES", spec["lapack"].libs + spec["blas"].libs),
+ self.define_from_variant("HIOP_BUILD_SHARED", "shared"),
+ self.define_from_variant("HIOP_USE_MPI", "mpi"),
+ self.define_from_variant("HIOP_DEEPCHECKS", "deepchecking"),
+ self.define_from_variant("HIOP_USE_CUDA", "cuda"),
+ self.define_from_variant("HIOP_USE_HIP", "rocm"),
+ self.define_from_variant("HIOP_USE_RAJA", "raja"),
+ self.define_from_variant("HIOP_USE_UMPIRE", "raja"),
+ self.define_from_variant("HIOP_WITH_KRON_REDUCTION", "kron"),
+ self.define_from_variant("HIOP_SPARSE", "sparse"),
+ self.define_from_variant("HIOP_USE_COINHSL", "sparse"),
+ self.define_from_variant("HIOP_TEST_WITH_BSUB", "jsrun"),
+ self.define_from_variant("HIOP_USE_GINKGO", "ginkgo"),
+ self.define_from_variant("HIOP_USE_CUSOLVER", "cusolver"),
+ ]
+ )
# NOTE: If building with spack develop on a cluster, you may want to
# change the ctest launch command to use your job scheduler like so:
@@ -162,13 +163,15 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('HIOP_CTEST_LAUNCH_COMMAND', 'srun -t 10:00'))
- if '+mpi' in spec:
- args.extend([
- self.define('MPI_HOME', spec['mpi'].prefix),
- self.define('MPI_C_COMPILER', spec['mpi'].mpicc),
- self.define('MPI_CXX_COMPILER', spec['mpi'].mpicxx),
- self.define('MPI_Fortran_COMPILER', spec['mpi'].mpifc),
- ])
+ if "+mpi" in spec:
+ args.extend(
+ [
+ self.define("MPI_HOME", spec["mpi"].prefix),
+ self.define("MPI_C_COMPILER", spec["mpi"].mpicc),
+ self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx),
+ self.define("MPI_Fortran_COMPILER", spec["mpi"].mpifc),
+ ]
+ )
# NOTE: On Cray platforms, libfabric is occasionally not picked up
# by Spack, causing HiOp's CMake code to fail to find MPI Fortran
# libraries. If this is the case, adding the following lines may
@@ -179,10 +182,10 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
# self.define('MPI_Fortran_LINK_FLAGS',
# '-L/path/to/libfabric/lib64/ -lfabric'))
- if '+cuda' in spec:
- cuda_arch_list = spec.variants['cuda_arch'].value
- if cuda_arch_list[0] != 'none':
- args.append(self.define('CMAKE_CUDA_ARCHITECTURES', cuda_arch_list))
+ if "+cuda" in spec:
+ cuda_arch_list = spec.variants["cuda_arch"].value
+ if cuda_arch_list[0] != "none":
+ args.append(self.define("CMAKE_CUDA_ARCHITECTURES", cuda_arch_list))
# NOTE: if +rocm, some HIP CMake variables may not be set correctly.
# Namely, HIP_CLANG_INCLUDE_PATH. If the configure phase fails due to
@@ -192,24 +195,24 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
# args.append(
# self.define('HIP_CLANG_INCLUDE_PATH',
# '/opt/rocm-X.Y.Z/llvm/lib/clang/14.0.0/include/'))
- if '+rocm' in spec:
- args.append(self.define('CMAKE_CXX_COMPILER', spec['hip'].hipcc))
+ if "+rocm" in spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
- rocm_arch_list = spec.variants['amdgpu_target'].value
- if rocm_arch_list[0] != 'none':
- args.append(self.define('GPU_TARGETS', rocm_arch_list))
- args.append(self.define('AMDGPU_TARGETS', rocm_arch_list))
+ rocm_arch_list = spec.variants["amdgpu_target"].value
+ if rocm_arch_list[0] != "none":
+ args.append(self.define("GPU_TARGETS", rocm_arch_list))
+ args.append(self.define("AMDGPU_TARGETS", rocm_arch_list))
- if '+kron' in spec:
- args.append(self.define('HIOP_UMFPACK_DIR', spec['suite-sparse'].prefix))
+ if "+kron" in spec:
+ args.append(self.define("HIOP_UMFPACK_DIR", spec["suite-sparse"].prefix))
# Unconditionally disable strumpack, even when +sparse. This may be
# used in place of COINHSL for sparse interface, however this is not
# fully supported in spack at the moment.
- args.append(self.define('HIOP_USE_STRUMPACK', False))
+ args.append(self.define("HIOP_USE_STRUMPACK", False))
- if '+sparse' in spec:
- args.append(self.define('HIOP_COINHSL_DIR', spec['coinhsl'].prefix))
+ if "+sparse" in spec:
+ args.append(self.define("HIOP_COINHSL_DIR", spec["coinhsl"].prefix))
return args
@@ -219,29 +222,36 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
# export SPACK_USER_CACHE_PATH=/tmp/spack
# export SPACK_DISABLE_LOCAL_CONFIG=true
def test(self):
- if not self.spec.satisfies('@develop') or \
- not os.path.isdir(self.prefix.bin):
- tty.info('Skipping: checks not installed in bin for v{0}'.
- format(self.version))
+ if not self.spec.satisfies("@develop") or not os.path.isdir(self.prefix.bin):
+ tty.info("Skipping: checks not installed in bin for v{0}".format(self.version))
return
tests = [
- ['NlpMdsEx1.exe', '400', '100', '0', '-selfcheck'],
- ['NlpMdsEx1.exe', '400', '100', '1', '-selfcheck'],
- ['NlpMdsEx1.exe', '400', '100', '0', '-empty_sp_row', '-selfcheck'],
+ ["NlpMdsEx1.exe", "400", "100", "0", "-selfcheck"],
+ ["NlpMdsEx1.exe", "400", "100", "1", "-selfcheck"],
+ ["NlpMdsEx1.exe", "400", "100", "0", "-empty_sp_row", "-selfcheck"],
]
- if '+raja' in self.spec:
- tests.extend([
- ['NlpMdsEx1Raja.exe', '400', '100', '0', '-selfcheck'],
- ['NlpMdsEx1Raja.exe', '400', '100', '1', '-selfcheck'],
- ['NlpMdsEx1Raja.exe', '400', '100', '0', '-empty_sp_row', '-selfcheck'],
- ])
+ if "+raja" in self.spec:
+ tests.extend(
+ [
+ ["NlpMdsEx1Raja.exe", "400", "100", "0", "-selfcheck"],
+ ["NlpMdsEx1Raja.exe", "400", "100", "1", "-selfcheck"],
+ ["NlpMdsEx1Raja.exe", "400", "100", "0", "-empty_sp_row", "-selfcheck"],
+ ]
+ )
for i, test in enumerate(tests):
exe = os.path.join(self.prefix.bin, test[0])
args = test[1:]
- reason = 'test {0}: "{1}"'.format(i, ' '.join(test))
- self.run_test(exe, args, [], 0, installed=False,
- purpose=reason, skip_missing=True,
- work_dir=self.prefix.bin)
+ reason = 'test {0}: "{1}"'.format(i, " ".join(test))
+ self.run_test(
+ exe,
+ args,
+ [],
+ 0,
+ installed=False,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=self.prefix.bin,
+ )
diff --git a/var/spack/repos/builtin/packages/hip-rocclr/package.py b/var/spack/repos/builtin/packages/hip-rocclr/package.py
index 9bd068946b..6703ed6392 100644
--- a/var/spack/repos/builtin/packages/hip-rocclr/package.py
+++ b/var/spack/repos/builtin/packages/hip-rocclr/package.py
@@ -9,128 +9,191 @@ from spack.package import *
class HipRocclr(CMakePackage):
"""Hip-ROCclr is a virtual device interface that compute runtimes interact
- with to different backends such as ROCr or PAL This abstraction allows
- runtimes to work on Windows as well as on Linux without much effort."""
+ with to different backends such as ROCr or PAL This abstraction allows
+ runtimes to work on Windows as well as on Linux without much effort."""
homepage = "https://github.com/ROCm-Developer-Tools/ROCclr"
- git = "https://github.com/ROCm-Developer-Tools/ROCclr.git"
- tags = ['rocm']
+ git = "https://github.com/ROCm-Developer-Tools/ROCclr.git"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
def url_for_version(self, version):
# Fix up a typo in the 3.5.0 release.
- if version == Version('3.5.0'):
+ if version == Version("3.5.0"):
return "https://github.com/ROCm-Developer-Tools/ROCclr/archive/roc-3.5.0.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz"
return url.format(version)
- version('master', branch='main')
- version('5.1.3', sha256='ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48')
- version('5.1.0', sha256='f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa')
- version('5.0.2', sha256='34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e')
- version('5.0.0', sha256='6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724')
- version('4.5.2', sha256='6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1')
- version('4.5.0', sha256='ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e')
- version('4.3.1', sha256='bda52c65f03a69a9d8ab1a118d45646d76843249fb975d67e5141e63fa3acc79', deprecated=True)
- version('4.3.0', sha256='8a86b4f2a1b1c7ac628262e5b11b07ff42a224e62e594a4e0683aeb616062538', deprecated=True)
- version('4.2.0', sha256='c57525af32c59becf56fd83cdd61f5320a95024d9baa7fb729a01e7a9fcdfd78', deprecated=True)
- version('4.1.0', sha256='9eb1d88cfc9474979aaf29b99bcf9d3769a0f7f1f8f10660941aabf83d9eeb0c', deprecated=True)
- version('4.0.0', sha256='8db502d0f607834e3b882f939d33e8abe2f9b55ddafaf1b0c2cd29a0425ed76a', deprecated=True)
- version('3.10.0', sha256='d1ac02840c2dcb3d5fa3008fe9e313767ebe6d1dcf978a924341834ec96ebfe2', deprecated=True)
- version('3.9.0', sha256='d248958672ae35ab7f9fbd83827ccf352e2756dfa7819f6b614ace2e1a9a064e', deprecated=True)
- version('3.8.0', sha256='10d8aa6f5af7b51813015da603c4e75edc863c3530793f6ed9769ca345c08ed6', deprecated=True)
- version('3.7.0', sha256='a49f464bb2eab6317e87e3cc249aba3b2517a34fbdfe50175f0437f69a219adc', deprecated=True)
- version('3.5.0', sha256='87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3:', type='build')
- depends_on('gl@4.5:', 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.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, when='@' + ver)
+ version("master", branch="main")
+ version("5.1.3", sha256="ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48")
+ version("5.1.0", sha256="f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa")
+ version("5.0.2", sha256="34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e")
+ version("5.0.0", sha256="6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724")
+ version("4.5.2", sha256="6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1")
+ version("4.5.0", sha256="ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e")
+ version(
+ "4.3.1",
+ sha256="bda52c65f03a69a9d8ab1a118d45646d76843249fb975d67e5141e63fa3acc79",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="8a86b4f2a1b1c7ac628262e5b11b07ff42a224e62e594a4e0683aeb616062538",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="c57525af32c59becf56fd83cdd61f5320a95024d9baa7fb729a01e7a9fcdfd78",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="9eb1d88cfc9474979aaf29b99bcf9d3769a0f7f1f8f10660941aabf83d9eeb0c",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="8db502d0f607834e3b882f939d33e8abe2f9b55ddafaf1b0c2cd29a0425ed76a",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="d1ac02840c2dcb3d5fa3008fe9e313767ebe6d1dcf978a924341834ec96ebfe2",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="d248958672ae35ab7f9fbd83827ccf352e2756dfa7819f6b614ace2e1a9a064e",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="10d8aa6f5af7b51813015da603c4e75edc863c3530793f6ed9769ca345c08ed6",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="a49f464bb2eab6317e87e3cc249aba3b2517a34fbdfe50175f0437f69a219adc",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3:", type="build")
+ depends_on("gl@4.5:", 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.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, when="@" + ver)
# See: https://github.com/ROCm-Developer-Tools/ROCclr/pull/16
# In 3.7.0 the find opengl things have changed slightly.
- patch('opengl.patch', when='@3.5.0')
+ patch("opengl.patch", when="@3.5.0")
- resource(name='opencl-on-vdi',
- url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz',
- sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0',
- expand=True,
- destination='',
- placement='opencl-on-vdi',
- when='@3.5.0')
+ resource(
+ name="opencl-on-vdi",
+ url="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz",
+ sha256="511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0",
+ expand=True,
+ destination="",
+ placement="opencl-on-vdi",
+ when="@3.5.0",
+ )
# Add opencl sources thru the below
for d_version, d_shasum in [
- ('5.1.3', '44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31'),
- ('5.1.0', '362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927'),
- ('5.0.2', '3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95'),
- ('5.0.0', '2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be'),
- ('4.5.2', '96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d'),
- ('4.5.0', '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8'),
- ('4.3.1', '7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca'),
- ('4.3.0', 'd37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9'),
- ('4.2.0', '18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730'),
- ('4.1.0', '0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c'),
- ('4.0.0', 'd43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1'),
- ('3.10.0', '3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d'),
- ('3.9.0', '286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf'),
- ('3.8.0', '7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a'),
- ('3.7.0', '283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b')
+ ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"),
+ ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"),
+ ("5.0.2", "3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95"),
+ ("5.0.0", "2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be"),
+ ("4.5.2", "96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d"),
+ ("4.5.0", "3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8"),
+ ("4.3.1", "7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca"),
+ ("4.3.0", "d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9"),
+ ("4.2.0", "18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730"),
+ ("4.1.0", "0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c"),
+ ("4.0.0", "d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1"),
+ ("3.10.0", "3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d"),
+ ("3.9.0", "286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf"),
+ ("3.8.0", "7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a"),
+ ("3.7.0", "283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b"),
]:
resource(
- name='opencl-on-vdi',
- url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="opencl-on-vdi",
+ url="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
expand=True,
- destination='',
- placement='opencl-on-vdi',
- when='@{0}'.format(d_version)
+ destination="",
+ placement="opencl-on-vdi",
+ when="@{0}".format(d_version),
)
resource(
- name='opencl-on-vdi',
- git='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git',
- destination='',
- placement='opencl-on-vdi',
- branch='main',
- when='@master'
+ name="opencl-on-vdi",
+ git="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git",
+ destination="",
+ placement="opencl-on-vdi",
+ branch="main",
+ when="@master",
)
- @run_after('install')
+ @run_after("install")
def deploy_missing_files(self):
- if '@3.5.0' in self.spec:
+ if "@3.5.0" in self.spec:
# the amdrocclr_staticTargets.cmake file is generated but not
# installed and when we install it by hand, we have to fix the
# path to the static library libamdrocclr_static.a from build
# dir to prefix lib dir.
- cmakefile = join_path(self.build_directory,
- 'amdrocclr_staticTargets.cmake')
+ cmakefile = join_path(self.build_directory, "amdrocclr_staticTargets.cmake")
filter_file(self.build_directory, self.prefix.lib, cmakefile)
install(cmakefile, self.prefix.lib)
- elif self.spec.satisfies('@3.7.0:4.3.2'):
- path = join_path(self.prefix.lib,
- 'cmake/rocclr/ROCclrConfig.cmake')
+ elif self.spec.satisfies("@3.7.0:4.3.2"):
+ path = join_path(self.prefix.lib, "cmake/rocclr/ROCclrConfig.cmake")
filter_file(self.build_directory, self.prefix, path)
def cmake_args(self):
args = [
- '-DUSE_COMGR_LIBRARY=yes',
- '-DOPENCL_DIR={0}/opencl-on-vdi'.format(self.stage.source_path)
+ "-DUSE_COMGR_LIBRARY=yes",
+ "-DOPENCL_DIR={0}/opencl-on-vdi".format(self.stage.source_path),
]
return args
def __init__(self, spec):
super(HipRocclr, self).__init__(spec)
- if self.spec.satisfies('@4.5.0:'):
- self.phases = ['cmake', 'build']
+ if self.spec.satisfies("@4.5.0:"):
+ self.phases = ["cmake", "build"]
diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py
index bca2149da8..c57d4dd8f0 100644
--- a/var/spack/repos/builtin/packages/hip/package.py
+++ b/var/spack/repos/builtin/packages/hip/package.py
@@ -13,115 +13,191 @@ from spack.util.prefix import Prefix
class Hip(CMakePackage):
"""HIP is a C++ Runtime API and Kernel Language that allows developers to
- create portable applications for AMD and NVIDIA GPUs from
- single source code."""
+ create portable applications for AMD and NVIDIA GPUs from
+ single source code."""
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-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['libamdhip64']
-
- version('master', branch='master')
- version('5.1.3', sha256='ce755ee6e407904eba3f6b3c9efcdd48eb4f58a26b06e1892166d05f19a75973')
- version('5.1.0', sha256='47e542183699f4005c48631d96f6a1fbdf27e07ad3402ccd7b5f707c2c602266')
- version('5.0.2', sha256='e23601e6f4f62083899ea6356fffbe88d1deb20fa61f2c970e3c0474cd8886ca')
- version('5.0.0', sha256='ae12fcda2d955f04a51c9e794bdb0fa96539cda88b6de8e377850e68e7c2a781')
- version('4.5.2', sha256='c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160')
- version('4.5.0', sha256='4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2')
- version('4.3.1', sha256='955311193819f487f9a2d64bffe07c4b8c3a0dc644dc3ad984f7c66a325bdd6f', deprecated=True)
- version('4.3.0', sha256='293b5025b5e153f2f25e465a2e0006a2b4606db7b7ec2ae449f8a4c0b52d491b', deprecated=True)
- version('4.2.0', sha256='ecb929e0fc2eaaf7bbd16a1446a876a15baf72419c723734f456ee62e70b4c24', deprecated=True)
- version('4.1.0', sha256='e21c10b62868ece7aa3c8413ec0921245612d16d86d81fe61797bf9a64bc37eb', deprecated=True)
- version('4.0.0', sha256='d7b78d96cec67c55b74ea3811ce861b16d300410bc687d0629e82392e8d7c857', deprecated=True)
- version('3.10.0', sha256='0082c402f890391023acdfd546760f41cb276dffc0ffeddc325999fd2331d4e8', deprecated=True)
- version('3.9.0', sha256='25ad58691456de7fd9e985629d0ed775ba36a2a0e0b21c086bd96ba2fb0f7ed1', deprecated=True)
- version('3.8.0', sha256='6450baffe9606b358a4473d5f3e57477ca67cff5843a84ee644bcf685e75d839', deprecated=True)
- version('3.7.0', sha256='757b392c3beb29beea27640832fbad86681dbd585284c19a4c2053891673babd', deprecated=True)
- version('3.5.0', sha256='ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.16.8:', type='build', when='@4.5.0:')
- depends_on('cmake@3.4.3:', type='build')
- depends_on('perl@5.10:', type=('build', 'run'))
- depends_on('gl@4.5:')
-
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1']:
- depends_on('hip-rocclr@' + ver, 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@{0} +rocm-device-libs'.format(ver), when='@' + ver)
- depends_on('rocminfo@' + ver, when='@' + ver)
- depends_on('roctracer-dev-api@' + ver, when='@' + ver)
+ git = "https://github.com/ROCm-Developer-Tools/HIP.git"
+ url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["libamdhip64"]
+
+ version("master", branch="master")
+ version("5.1.3", sha256="ce755ee6e407904eba3f6b3c9efcdd48eb4f58a26b06e1892166d05f19a75973")
+ version("5.1.0", sha256="47e542183699f4005c48631d96f6a1fbdf27e07ad3402ccd7b5f707c2c602266")
+ version("5.0.2", sha256="e23601e6f4f62083899ea6356fffbe88d1deb20fa61f2c970e3c0474cd8886ca")
+ version("5.0.0", sha256="ae12fcda2d955f04a51c9e794bdb0fa96539cda88b6de8e377850e68e7c2a781")
+ version("4.5.2", sha256="c2113dc3c421b8084cd507d91b6fbc0170765a464b71fb0d96bb875df368f160")
+ version("4.5.0", sha256="4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2")
+ version(
+ "4.3.1",
+ sha256="955311193819f487f9a2d64bffe07c4b8c3a0dc644dc3ad984f7c66a325bdd6f",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="293b5025b5e153f2f25e465a2e0006a2b4606db7b7ec2ae449f8a4c0b52d491b",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="ecb929e0fc2eaaf7bbd16a1446a876a15baf72419c723734f456ee62e70b4c24",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="e21c10b62868ece7aa3c8413ec0921245612d16d86d81fe61797bf9a64bc37eb",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="d7b78d96cec67c55b74ea3811ce861b16d300410bc687d0629e82392e8d7c857",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="0082c402f890391023acdfd546760f41cb276dffc0ffeddc325999fd2331d4e8",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="25ad58691456de7fd9e985629d0ed775ba36a2a0e0b21c086bd96ba2fb0f7ed1",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="6450baffe9606b358a4473d5f3e57477ca67cff5843a84ee644bcf685e75d839",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="757b392c3beb29beea27640832fbad86681dbd585284c19a4c2053891673babd",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.16.8:", type="build", when="@4.5.0:")
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("perl@5.10:", type=("build", "run"))
+ depends_on("gl@4.5:")
+
+ for ver in [
+ "3.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ ]:
+ depends_on("hip-rocclr@" + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@{0} +rocm-device-libs".format(ver), when="@" + ver)
+ depends_on("rocminfo@" + ver, when="@" + ver)
+ depends_on("roctracer-dev-api@" + ver, when="@" + ver)
# hipcc likes to add `-lnuma` by default :(
# ref https://github.com/ROCm-Developer-Tools/HIP/pull/2202
- depends_on('numactl', when='@3.7.0:')
+ depends_on("numactl", when="@3.7.0:")
# roc-obj-ls requirements
- depends_on('perl-file-which')
- depends_on('perl-uri-encode')
+ depends_on("perl-file-which")
+ depends_on("perl-uri-encode")
# Add hip-amd sources thru the below
for d_version, d_shasum in [
- ('5.1.3', '707f2217f0e7aeb62d7b76830a271056d665542bf5f7a54e40adf4d5f299ca93'),
- ('5.1.0', '77984854bfe00f938353fe4c7604d09967eaf5c609d05f1e6423d3c3dea86e61'),
- ('5.0.2', '80e7268dd22eba0f2f9222932480dede1d80e56227c0168c6a0cc8e4f23d3b76'),
- ('5.0.0', 'cbd95a577abfd7cbffee14a4848f7789a417c6e5e5a713f42eb75d7948abcdf9'),
- ('4.5.2', 'b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2'),
- ('4.5.0', '7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6')
+ ("5.1.3", "707f2217f0e7aeb62d7b76830a271056d665542bf5f7a54e40adf4d5f299ca93"),
+ ("5.1.0", "77984854bfe00f938353fe4c7604d09967eaf5c609d05f1e6423d3c3dea86e61"),
+ ("5.0.2", "80e7268dd22eba0f2f9222932480dede1d80e56227c0168c6a0cc8e4f23d3b76"),
+ ("5.0.0", "cbd95a577abfd7cbffee14a4848f7789a417c6e5e5a713f42eb75d7948abcdf9"),
+ ("4.5.2", "b6f35b1a1d0c466b5af28e26baf646ae63267eccc4852204db1e0c7222a39ce2"),
+ ("4.5.0", "7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6"),
]:
resource(
- name='hipamd',
- url='https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="hipamd",
+ url="https://github.com/ROCm-Developer-Tools/hipamd/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
expand=True,
- destination='',
- placement='hipamd',
- when='@{0}'.format(d_version)
+ destination="",
+ placement="hipamd",
+ when="@{0}".format(d_version),
)
# Add opencl sources thru the below
for d_version, d_shasum in [
- ('5.1.3', '44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31'),
- ('5.1.0', '362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927'),
- ('5.0.2', '3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95'),
- ('5.0.0', '2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be'),
- ('4.5.2', '96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d'),
- ('4.5.0', '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8')
+ ("5.1.3", "44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31"),
+ ("5.1.0", "362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927"),
+ ("5.0.2", "3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95"),
+ ("5.0.0", "2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be"),
+ ("4.5.2", "96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d"),
+ ("4.5.0", "3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8"),
]:
resource(
- name='opencl',
- url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="opencl",
+ url="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
expand=True,
- destination='',
- placement='opencl',
- when='@{0}'.format(d_version)
+ destination="",
+ placement="opencl",
+ when="@{0}".format(d_version),
)
for d_version, d_shasum in [
- ('5.1.3', 'ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48'),
- ('5.1.0', 'f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa'),
- ('5.0.2', '34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e'),
- ('5.0.0', '6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724'),
- ('4.5.2', '6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1'),
- ('4.5.0', 'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e')
+ ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"),
+ ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"),
+ ("5.0.2", "34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e"),
+ ("5.0.0", "6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724"),
+ ("4.5.2", "6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1"),
+ ("4.5.0", "ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e"),
]:
resource(
- name='rocclr',
- url='https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="rocclr",
+ url="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
expand=True,
- destination='',
- placement='rocclr',
- when='@{0}'.format(d_version)
+ destination="",
+ placement="rocclr",
+ when="@{0}".format(d_version),
)
# Note: the ROCm ecosystem expects `lib/` and `bin/` folders with symlinks
# in the parent directory of the package, which is incompatible with spack.
@@ -129,54 +205,54 @@ class Hip(CMakePackage):
# of the package. With the following patch we should never hit code that
# uses the ROCM_PATH variable again; just to be sure we set it to an empty
# string.
- patch('0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch', when='@3.5.0:4.5.3')
+ patch("0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch", when="@3.5.0:4.5.3")
patch(
- '0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host'
- '.5.0.0.patch',
- when='@5.0.0'
+ "0010-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host"
+ ".5.0.0.patch",
+ when="@5.0.0",
)
patch(
- '0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host'
- '.5.0.2.patch',
- when='@5.0.2:'
+ "0011-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host"
+ ".5.0.2.patch",
+ when="@5.0.2:",
)
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2141
- patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@:3.9.0')
+ patch("0002-Fix-detection-of-HIP_CLANG_ROOT.patch", when="@:3.9.0")
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2218
- patch('0003-Improve-compilation-without-git-repo.3.7.0.patch', when='@3.7.0:3.9.0')
- 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.3.7.0.patch", when="@3.7.0:3.9.0")
+ 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:4.3.2'
+ "0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host"
+ ".4.2.0.patch",
+ when="@4.2.0:4.3.2",
)
patch(
- '0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host'
- '_disabletests.4.5.0.patch',
- when='@4.5.0:4.5.3'
+ "0009-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host"
+ "_disabletests.4.5.0.patch",
+ when="@4.5.0:4.5.3",
)
# 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')
+ 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.0:'):
- 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:4.3.2')
+ with when("^cmake@3.21.0:"):
+ 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:4.3.2")
- patch('Add_missing_open_cl_header_file_for_4.3.0.patch', when='@4.3.0:4.3.2')
+ patch("Add_missing_open_cl_header_file_for_4.3.0.patch", when="@4.3.0:4.3.2")
@property
def root_cmakelists_dir(self):
- if self.spec.satisfies('@:4.3.2'):
+ if self.spec.satisfies("@:4.3.2"):
return self.stage.source_path
else:
- return 'hipamd'
+ return "hipamd"
def get_paths(self):
if self.spec.external:
@@ -195,36 +271,35 @@ class Hip(CMakePackage):
raise RuntimeError(msg)
paths = {
- 'rocm-path': rocm_prefix,
- 'llvm-amdgpu': rocm_prefix.llvm,
- 'hsa-rocr-dev': rocm_prefix.hsa,
- 'rocminfo': rocm_prefix,
- 'rocm-device-libs': rocm_prefix
+ "rocm-path": rocm_prefix,
+ "llvm-amdgpu": rocm_prefix.llvm,
+ "hsa-rocr-dev": rocm_prefix.hsa,
+ "rocminfo": rocm_prefix,
+ "rocm-device-libs": rocm_prefix,
}
else:
paths = {
- 'rocm-path': self.spec.prefix,
- 'llvm-amdgpu': self.spec['llvm-amdgpu'].prefix,
- 'hsa-rocr-dev': self.spec['hsa-rocr-dev'].prefix,
- 'rocminfo': self.spec['rocminfo'].prefix,
- 'rocm-device-libs': self.spec['llvm-amdgpu'].prefix
+ "rocm-path": self.spec.prefix,
+ "llvm-amdgpu": self.spec["llvm-amdgpu"].prefix,
+ "hsa-rocr-dev": self.spec["hsa-rocr-dev"].prefix,
+ "rocminfo": self.spec["rocminfo"].prefix,
+ "rocm-device-libs": self.spec["llvm-amdgpu"].prefix,
}
- if '@:3.8.0' in self.spec:
- paths['bitcode'] = paths['rocm-device-libs'].lib
+ if "@:3.8.0" in self.spec:
+ paths["bitcode"] = paths["rocm-device-libs"].lib
else:
- paths['bitcode'] = paths['rocm-device-libs'].amdgcn.bitcode
+ paths["bitcode"] = paths["rocm-device-libs"].amdgcn.bitcode
return paths
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -236,43 +311,43 @@ class Hip(CMakePackage):
# Used in hipcc, but only useful when hip is external, since only then
# there is a common prefix /opt/rocm-x.y.z.
- env.set('ROCM_PATH', paths['rocm-path'])
+ env.set("ROCM_PATH", paths["rocm-path"])
# hipcc recognizes HIP_PLATFORM == hcc and HIP_COMPILER == clang, even
# though below we specified HIP_PLATFORM=rocclr and HIP_COMPILER=clang
# in the CMake args.
- if self.spec.satisfies('@:4.0.0'):
- env.set('HIP_PLATFORM', 'hcc')
+ if self.spec.satisfies("@:4.0.0"):
+ env.set("HIP_PLATFORM", "hcc")
else:
- env.set('HIP_PLATFORM', 'amd')
+ env.set("HIP_PLATFORM", "amd")
- env.set('HIP_COMPILER', 'clang')
+ env.set("HIP_COMPILER", "clang")
# bin directory where clang++ resides
- env.set('HIP_CLANG_PATH', paths['llvm-amdgpu'].bin)
+ env.set("HIP_CLANG_PATH", paths["llvm-amdgpu"].bin)
# Path to hsa-rocr-dev prefix used by hipcc.
- env.set('HSA_PATH', paths['hsa-rocr-dev'])
+ env.set("HSA_PATH", paths["hsa-rocr-dev"])
# This is a variable that does not exist in hipcc but was introduced
# in a patch of ours since 3.5.0 to locate rocm_agent_enumerator:
# https://github.com/ROCm-Developer-Tools/HIP/pull/2138
- env.set('ROCMINFO_PATH', paths['rocminfo'])
+ env.set("ROCMINFO_PATH", paths["rocminfo"])
# This one is used in hipcc to run `clang --hip-device-lib-path=...`
- env.set('DEVICE_LIB_PATH', paths['bitcode'])
+ env.set("DEVICE_LIB_PATH", paths["bitcode"])
# And this is used in clang whenever the --hip-device-lib-path is not
# used (e.g. when clang is invoked directly)
- env.set('HIP_DEVICE_LIB_PATH', paths['bitcode'])
+ env.set("HIP_DEVICE_LIB_PATH", paths["bitcode"])
# Just the prefix of hip (used in hipcc)
- env.set('HIP_PATH', paths['rocm-path'])
+ env.set("HIP_PATH", paths["rocm-path"])
# Used in comgr and seems necessary when using the JIT compiler, e.g.
# hiprtcCreateProgram:
# https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/blob/rocm-4.0.0/lib/comgr/src/comgr-env.cpp
- env.set('LLVM_PATH', paths['llvm-amdgpu'])
+ env.set("LLVM_PATH", paths["llvm-amdgpu"])
# Finally we have to set --rocm-path=<prefix> ourselves, which is not
# the same as --hip-device-lib-path (set by hipcc). It's used to set
@@ -283,10 +358,12 @@ class Hip(CMakePackage):
# to the hip prefix directory for non-external builds so that the
# bin/.hipVersion file can still be parsed.
# See also https://github.com/ROCm-Developer-Tools/HIP/issues/2223
- if '@3.8.0:' in self.spec:
- env.append_path('HIPCC_COMPILE_FLAGS_APPEND',
- '--rocm-path={0}'.format(paths['rocm-path']),
- separator=' ')
+ if "@3.8.0:" in self.spec:
+ env.append_path(
+ "HIPCC_COMPILE_FLAGS_APPEND",
+ "--rocm-path={0}".format(paths["rocm-path"]),
+ separator=" ",
+ )
def setup_build_environment(self, env):
self.set_variables(env)
@@ -297,99 +374,99 @@ class Hip(CMakePackage):
def setup_dependent_build_environment(self, env, dependent_spec):
self.set_variables(env)
- if 'amdgpu_target' in dependent_spec.variants:
- arch = dependent_spec.variants['amdgpu_target']
- if 'none' not in arch and 'auto' not in arch:
- env.set('HCC_AMDGPU_TARGET', ','.join(arch.value))
+ if "amdgpu_target" in dependent_spec.variants:
+ arch = dependent_spec.variants["amdgpu_target"]
+ if "none" not in arch and "auto" not in arch:
+ env.set("HCC_AMDGPU_TARGET", ",".join(arch.value))
def setup_dependent_run_environment(self, env, dependent_spec):
self.setup_dependent_build_environment(env, dependent_spec)
def setup_dependent_package(self, module, dependent_spec):
- self.spec.hipcc = join_path(self.prefix.bin, 'hipcc')
+ self.spec.hipcc = join_path(self.prefix.bin, "hipcc")
def patch(self):
- if self.spec.satisfies('@:4.3.2'):
+ if self.spec.satisfies("@:4.3.2"):
filter_file(
'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include"',
'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"',
- 'hip-config.cmake.in', string=True)
+ "hip-config.cmake.in",
+ string=True,
+ )
- perl = self.spec['perl'].command
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ perl = self.spec["perl"].command
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
- with working_dir('bin'):
- match = '^#!/usr/bin/perl'
+ with working_dir("bin"):
+ match = "^#!/usr/bin/perl"
substitute = "#!{perl}".format(perl=perl)
- if self.spec.satisfies('@:4.0.0'):
+ if self.spec.satisfies("@:4.0.0"):
+ files = ["hipify-perl", "hipcc", "extractkernel", "hipconfig", "hipify-cmakefile"]
+ elif self.spec.satisfies("@4.0.0:4.3.2"):
files = [
- 'hipify-perl', 'hipcc', 'extractkernel',
- 'hipconfig', 'hipify-cmakefile'
+ "hipify-perl",
+ "hipcc",
+ "roc-obj-extract",
+ "hipconfig",
+ "hipify-cmakefile",
+ "roc-obj-ls",
+ "hipvars.pm",
]
- elif self.spec.satisfies('@4.0.0:4.3.2'):
- files = [
- 'hipify-perl', 'hipcc', 'roc-obj-extract',
- 'hipconfig', 'hipify-cmakefile',
- 'roc-obj-ls', 'hipvars.pm'
- ]
- elif self.spec.satisfies('@4.5.0:'):
+ elif self.spec.satisfies("@4.5.0:"):
files = []
filter_file(match, substitute, *files, **kwargs)
# This guy is used during the cmake phase, so we have to fix the
# shebang already here in case it is too long.
- filter_shebang('hipconfig')
- if self.spec.satisfies('@4.5.0:'):
- perl = self.spec['perl'].command
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- with working_dir('hipamd/bin'):
- match = '^#!/usr/bin/perl'
+ filter_shebang("hipconfig")
+ if self.spec.satisfies("@4.5.0:"):
+ perl = self.spec["perl"].command
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ with working_dir("hipamd/bin"):
+ match = "^#!/usr/bin/perl"
substitute = "#!{perl}".format(perl=perl)
- files = [
- 'roc-obj-extract', 'roc-obj-ls'
- ]
+ files = ["roc-obj-extract", "roc-obj-ls"]
filter_file(match, substitute, *files, **kwargs)
- if '@3.7.0:' in self.spec:
- numactl = self.spec['numactl'].prefix.lib
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ if "@3.7.0:" in self.spec:
+ numactl = self.spec["numactl"].prefix.lib
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
- with working_dir('bin'):
- match = ' -lnuma'
+ with working_dir("bin"):
+ match = " -lnuma"
substitute = " -L{numactl} -lnuma".format(numactl=numactl)
- filter_file(match, substitute, 'hipcc', **kwargs)
+ filter_file(match, substitute, "hipcc", **kwargs)
def flag_handler(self, name, flags):
- if name == 'cxxflags' and self.spec.satisfies('@3.7.0:4.3.2'):
- incl = self.spec['hip-rocclr'].prefix.include
- flags.append('-I {0}/compiler/lib/include'.format(incl))
- flags.append('-I {0}/elf'.format(incl))
+ if name == "cxxflags" and self.spec.satisfies("@3.7.0:4.3.2"):
+ 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 = [
- self.define('PROF_API_HEADER_PATH', join_path(
- self.spec['roctracer-dev-api'].prefix,
- 'roctracer', 'inc', 'ext')),
- self.define('HIP_COMPILER', 'clang'),
- self.define('HSA_PATH', self.spec['hsa-rocr-dev'].prefix)
+ self.define(
+ "PROF_API_HEADER_PATH",
+ join_path(self.spec["roctracer-dev-api"].prefix, "roctracer", "inc", "ext"),
+ ),
+ self.define("HIP_COMPILER", "clang"),
+ self.define("HSA_PATH", self.spec["hsa-rocr-dev"].prefix),
]
- if self.spec.satisfies('@:4.0.0'):
- args.append(self.define('HIP_RUNTIME', 'ROCclr'))
- args.append(self.define('HIP_PLATFORM', 'rocclr'))
+ if self.spec.satisfies("@:4.0.0"):
+ args.append(self.define("HIP_RUNTIME", "ROCclr"))
+ args.append(self.define("HIP_PLATFORM", "rocclr"))
else:
- args.append(self.define('HIP_RUNTIME', 'rocclr'))
- args.append(self.define('HIP_PLATFORM', 'amd'))
+ args.append(self.define("HIP_RUNTIME", "rocclr"))
+ args.append(self.define("HIP_PLATFORM", "amd"))
# LIBROCclr_STATIC_DIR is unused from 3.6.0 and above
- if '@3.5.0:4.3.2' in self.spec:
- args.append(self.define('LIBROCclr_STATIC_DIR',
- self.spec['hip-rocclr'].prefix.lib))
- if '@4.5.0:' in self.spec:
- args.append(self.define('HIP_COMMON_DIR', self.stage.source_path))
- args.append(self.define('HIP_CATCH_TEST', 'OFF'))
- args.append(self.define('ROCCLR_PATH', self.stage.source_path + '/rocclr'))
- args.append(self.define('AMD_OPENCL_PATH',
- self.stage.source_path + '/opencl'))
+ if "@3.5.0:4.3.2" in self.spec:
+ args.append(self.define("LIBROCclr_STATIC_DIR", self.spec["hip-rocclr"].prefix.lib))
+ if "@4.5.0:" in self.spec:
+ args.append(self.define("HIP_COMMON_DIR", self.stage.source_path))
+ args.append(self.define("HIP_CATCH_TEST", "OFF"))
+ args.append(self.define("ROCCLR_PATH", self.stage.source_path + "/rocclr"))
+ args.append(self.define("AMD_OPENCL_PATH", self.stage.source_path + "/opencl"))
return args
diff --git a/var/spack/repos/builtin/packages/hipace/package.py b/var/spack/repos/builtin/packages/hipace/package.py
index 17ef14ed86..79b65e070e 100644
--- a/var/spack/repos/builtin/packages/hipace/package.py
+++ b/var/spack/repos/builtin/packages/hipace/package.py
@@ -12,64 +12,64 @@ class Hipace(CMakePackage):
"""
homepage = "https://hipace.readthedocs.io"
- url = "https://github.com/Hi-PACE/hipace/archive/refs/tags/v21.09.tar.gz"
- git = "https://github.com/Hi-PACE/hipace.git"
+ url = "https://github.com/Hi-PACE/hipace/archive/refs/tags/v21.09.tar.gz"
+ git = "https://github.com/Hi-PACE/hipace.git"
- maintainers = ['ax3l', 'MaxThevenet', 'SeverinDiederichs']
+ maintainers = ["ax3l", "MaxThevenet", "SeverinDiederichs"]
- version('develop', branch='development')
- version('21.09', sha256='5d27824fe6aac47ce26ca69759140ab4d7844f9042e436c343c03ea4852825f1')
+ version("develop", branch="development")
+ version("21.09", sha256="5d27824fe6aac47ce26ca69759140ab4d7844f9042e436c343c03ea4852825f1")
- variant('compute',
- default='noacc',
- values=('omp', 'cuda', 'hip', 'sycl', 'noacc'),
- multi=False,
- description='On-node, accelerated computing backend')
- variant('mpi', default=True,
- description='Enable MPI support')
- variant('openpmd', default=True,
- description='Enable openPMD I/O')
- variant('precision',
- default='double',
- values=('single', 'double'),
- multi=False,
- description='Floating point precision (single/double)')
+ variant(
+ "compute",
+ default="noacc",
+ values=("omp", "cuda", "hip", "sycl", "noacc"),
+ multi=False,
+ description="On-node, accelerated computing backend",
+ )
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openpmd", default=True, description="Enable openPMD I/O")
+ variant(
+ "precision",
+ default="double",
+ values=("single", "double"),
+ multi=False,
+ description="Floating point precision (single/double)",
+ )
- depends_on('cmake@3.15.0:', type='build')
- depends_on('cuda@9.2.88:', when='compute=cuda')
- depends_on('mpi', when='+mpi')
- with when('+openpmd'):
- depends_on('openpmd-api@0.14.2:')
- depends_on('openpmd-api ~mpi', when='~mpi')
- depends_on('openpmd-api +mpi', when='+mpi')
- with when('compute=noacc'):
- depends_on('fftw@3: ~mpi', when='~mpi')
- depends_on('fftw@3: +mpi', when='+mpi')
- depends_on('pkgconfig', type='build')
- with when('compute=omp'):
- depends_on('fftw@3: +openmp')
- depends_on('fftw ~mpi', when='~mpi')
- depends_on('fftw +mpi', when='+mpi')
- depends_on('pkgconfig', type='build')
- depends_on('llvm-openmp', when='%apple-clang')
- with when('compute=hip'):
- depends_on('rocfft')
- depends_on('rocprim')
- depends_on('rocrand')
+ depends_on("cmake@3.15.0:", type="build")
+ depends_on("cuda@9.2.88:", when="compute=cuda")
+ depends_on("mpi", when="+mpi")
+ with when("+openpmd"):
+ depends_on("openpmd-api@0.14.2:")
+ depends_on("openpmd-api ~mpi", when="~mpi")
+ depends_on("openpmd-api +mpi", when="+mpi")
+ with when("compute=noacc"):
+ depends_on("fftw@3: ~mpi", when="~mpi")
+ depends_on("fftw@3: +mpi", when="+mpi")
+ depends_on("pkgconfig", type="build")
+ with when("compute=omp"):
+ depends_on("fftw@3: +openmp")
+ depends_on("fftw ~mpi", when="~mpi")
+ depends_on("fftw +mpi", when="+mpi")
+ depends_on("pkgconfig", type="build")
+ depends_on("llvm-openmp", when="%apple-clang")
+ with when("compute=hip"):
+ depends_on("rocfft")
+ depends_on("rocprim")
+ depends_on("rocrand")
def cmake_args(self):
spec = self.spec
args = [
# do not super-build dependencies
- '-HiPACE_openpmd_internal=OFF',
+ "-HiPACE_openpmd_internal=OFF",
# variants
- '-DHiPACE_COMPUTE={0}'.format(
- spec.variants['compute'].value.upper()),
- self.define_from_variant('HiPACE_MPI', 'mpi'),
- self.define_from_variant('HiPACE_OPENPMD', 'openpmd'),
- '-DHiPACE_PRECISION={0}'.format(
- spec.variants['precision'].value.upper()),
+ "-DHiPACE_COMPUTE={0}".format(spec.variants["compute"].value.upper()),
+ self.define_from_variant("HiPACE_MPI", "mpi"),
+ self.define_from_variant("HiPACE_OPENPMD", "openpmd"),
+ "-DHiPACE_PRECISION={0}".format(spec.variants["precision"].value.upper()),
]
return args
diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py
index 0521782bcc..b87f3b06d9 100644
--- a/var/spack/repos/builtin/packages/hipblas/package.py
+++ b/var/spack/repos/builtin/packages/hipblas/package.py
@@ -10,75 +10,134 @@ from spack.package import *
class Hipblas(CMakePackage):
"""hipBLAS is a BLAS marshalling library, with multiple
- supported backends"""
+ supported backends"""
homepage = "https://github.com/ROCmSoftwarePlatform/hipBLAS"
- git = "https://github.com/ROCmSoftwarePlatform/hipBLAS.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['cgmb', 'srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['libhipblas']
-
- version('develop', branch='develop')
- version('master', branch='master')
- version('5.1.3', sha256='f0fdaa851971b41b48ec2e7d640746fbd6f9f433da2020c5fd95c91a7473d9e1')
- version('5.1.0', sha256='22faba3828e50a4c4e22f569a7d6441c797a11db1d472619c01d3515a3275e92')
- version('5.0.2', sha256='201772bfc422ecb2c50e898dccd7d3d376cf34a2b795360e34bf71326aa37646')
- version('5.0.0', sha256='63cffe748ed4a86fc80f408cb9e8a9c6c55c22a2b65c0eb9a76360b97bbb9d41')
- version('4.5.2', sha256='82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978')
- version('4.5.0', sha256='187777ed49cc7c496c897e8ba80532d458c9afbc51a960e45f96923ad896c18e')
- version('4.3.1', sha256='7b1f774774de5fa3d2b777e3a262328559d56165c32aa91b002505694362e7b2', deprecated=True)
- version('4.3.0', sha256='0631e21c588794ea1c8413ef8ff293606bcf7a52c0c3ff88da824f103395a76a', deprecated=True)
- version('4.2.0', sha256='c7ce7f69c7596b5a54e666fb1373ef41d1f896dd29260a691e2eadfa863e2b1a', deprecated=True)
- version('4.1.0', sha256='876efe80a4109ad53d290d2921b3fb425b4cb857b32920819f10dcd4deee4ef8', deprecated=True)
- version('4.0.0', sha256='6cc03af891b36cce8266d32ba8dfcf7fdfcc18afa7a6cc058fbe28bcf8528d94', deprecated=True)
- version('3.10.0', sha256='45cb5e3b37f0845bd9e0d09912df4fa0ce88dd508ec9448241ae6600d3c4b1e8', deprecated=True)
- version('3.9.0', sha256='82ddd57fd905a5d4060665349ec017ff757a7c121cb9310574be3c3630b3545f', deprecated=True)
- version('3.8.0', sha256='33cb82e8b2658ae2096f39e41492ba8b6852ac37c26a730612b8642d9d29abe3', deprecated=True)
- version('3.7.0', sha256='9840a493ab4838c86696ceb33ce07c34b5f59f62db4f88cb3af62b69d84f8729', deprecated=True)
- version('3.5.0', sha256='d451da80beb048767da71a090afceed2e111d01b3e95a7044deada5054d6e7b1', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.5:', type='build')
-
- depends_on('googletest@1.10.0:', type='test')
- depends_on('netlib-lapack@3.7.1:', type='test')
- depends_on('boost@1.64.0:1.76.0 +program_options cxxstd=14', type='test')
-
- patch('link-clients-blas.patch', when='@4.3.0:4.3.2')
- patch('link-clients-blas-4.5.0.patch', when='@4.5.0:4.5.2')
- patch('hipblas-link-clients-blas-5.0.0.patch', when='@5.0.0:5.0.2')
+ git = "https://github.com/ROCmSoftwarePlatform/hipBLAS.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["cgmb", "srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["libhipblas"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("5.1.3", sha256="f0fdaa851971b41b48ec2e7d640746fbd6f9f433da2020c5fd95c91a7473d9e1")
+ version("5.1.0", sha256="22faba3828e50a4c4e22f569a7d6441c797a11db1d472619c01d3515a3275e92")
+ version("5.0.2", sha256="201772bfc422ecb2c50e898dccd7d3d376cf34a2b795360e34bf71326aa37646")
+ version("5.0.0", sha256="63cffe748ed4a86fc80f408cb9e8a9c6c55c22a2b65c0eb9a76360b97bbb9d41")
+ version("4.5.2", sha256="82dd82a41bbadbb2a91a2a44a5d8e0d2e4f36d3078286ed4db3549b1fb6d6978")
+ version("4.5.0", sha256="187777ed49cc7c496c897e8ba80532d458c9afbc51a960e45f96923ad896c18e")
+ version(
+ "4.3.1",
+ sha256="7b1f774774de5fa3d2b777e3a262328559d56165c32aa91b002505694362e7b2",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="0631e21c588794ea1c8413ef8ff293606bcf7a52c0c3ff88da824f103395a76a",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="c7ce7f69c7596b5a54e666fb1373ef41d1f896dd29260a691e2eadfa863e2b1a",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="876efe80a4109ad53d290d2921b3fb425b4cb857b32920819f10dcd4deee4ef8",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="6cc03af891b36cce8266d32ba8dfcf7fdfcc18afa7a6cc058fbe28bcf8528d94",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="45cb5e3b37f0845bd9e0d09912df4fa0ce88dd508ec9448241ae6600d3c4b1e8",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="82ddd57fd905a5d4060665349ec017ff757a7c121cb9310574be3c3630b3545f",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="33cb82e8b2658ae2096f39e41492ba8b6852ac37c26a730612b8642d9d29abe3",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="9840a493ab4838c86696ceb33ce07c34b5f59f62db4f88cb3af62b69d84f8729",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="d451da80beb048767da71a090afceed2e111d01b3e95a7044deada5054d6e7b1",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.5:", type="build")
+
+ depends_on("googletest@1.10.0:", type="test")
+ depends_on("netlib-lapack@3.7.1:", type="test")
+ depends_on("boost@1.64.0:1.76.0 +program_options cxxstd=14", type="test")
+
+ patch("link-clients-blas.patch", when="@4.3.0:4.3.2")
+ patch("link-clients-blas-4.5.0.patch", when="@4.5.0:4.5.2")
+ patch("hipblas-link-clients-blas-5.0.0.patch", when="@5.0.0:5.0.2")
def check(self):
- exe = join_path(self.build_directory, 'clients', 'staging', 'hipblas-test')
- self.run_test(exe, options=['--gtest_filter=-*known_bug*'])
-
- depends_on('hip@4.1.0:', when='@4.1.0:')
- depends_on('rocm-cmake@master', type='build', when='@master:')
- depends_on('rocm-cmake@4.5.0:', type='build', when='@4.5.0:')
- depends_on('rocm-cmake@3.5.0:', type='build')
-
- for ver in ['master', 'develop']:
- depends_on('rocblas@' + ver, when='@' + ver)
- depends_on('rocsolver@' + ver, 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocsolver@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
+ exe = join_path(self.build_directory, "clients", "staging", "hipblas-test")
+ self.run_test(exe, options=["--gtest_filter=-*known_bug*"])
+
+ depends_on("hip@4.1.0:", when="@4.1.0:")
+ depends_on("rocm-cmake@master", type="build", when="@master:")
+ depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:")
+ depends_on("rocm-cmake@3.5.0:", type="build")
+
+ for ver in ["master", "develop"]:
+ depends_on("rocblas@" + ver, when="@" + ver)
+ depends_on("rocsolver@" + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocsolver@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -86,25 +145,25 @@ class Hipblas(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('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', self.run_tests)
+ self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake),
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests),
]
# hipblas actually prefers CUDA over AMD GPUs when you have it
# installed...
- if self.spec.satisfies('@:3.9.0'):
- args.append(self.define('TRY_CUDA', 'OFF'))
+ if self.spec.satisfies("@:3.9.0"):
+ args.append(self.define("TRY_CUDA", "OFF"))
else:
- args.append(self.define('USE_CUDA', 'OFF'))
+ args.append(self.define("USE_CUDA", "OFF"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if self.spec.satisfies('@5.2.0:'):
- args.append(self.define('BUILD_FILE_REORG_BACKWARD_COMPATIBILITY', 'ON'))
+ if self.spec.satisfies("@5.2.0:"):
+ args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", "ON"))
return args
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py
index 628a054e6b..980af3972e 100644
--- a/var/spack/repos/builtin/packages/hipcub/package.py
+++ b/var/spack/repos/builtin/packages/hipcub/package.py
@@ -7,54 +7,112 @@ from spack.package import *
class Hipcub(CMakePackage):
- """ Radeon Open Compute Parallel Primitives Library"""
+ """Radeon Open Compute Parallel Primitives Library"""
homepage = "https://github.com/ROCmSoftwarePlatform/hipCUB"
- git = "https://github.com/ROCmSoftwarePlatform/hipCUB.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('5.1.3', sha256='dc75640689b6a5e15dd3acea643266bdf114ea63efc60be8272f484cf8f04494')
- version('5.1.0', sha256='b30d51fc5fca2584f0c9a6fa8dafc9fbdda96a3acff30288e49b397f8842f705')
- version('5.0.2', sha256='22effb18f2c38d76fa379f14c9f9ee7a11987a5d1ae4a7e837af87232c8c9183')
- version('5.0.0', sha256='09c4f1b88aa5f50f04043d379e4960dab556e0fbdf8e25ab03d02a07c1ff7b2f')
- version('4.5.2', sha256='bec9ba1a6aa0475475ee292e54807accc839ed001338275f48da13e3bfb77514')
- version('4.5.0', sha256='5902fae0485789f1d1cc6b8e81d9f1b39338170d3139844d5edf0d324f9694c9')
- version('4.3.1', sha256='20fcd34323c541c182655b7ff6dc6ff268c0127596f0d9993884621c2b14b67a', deprecated=True)
- version('4.3.0', sha256='733499a8d55e2d73bf874d43a98ee7425e4325f77e03fb0c80debf36c740cb70', deprecated=True)
- version('4.2.0', sha256='56b50e185b7cdf4615d2f56d3a4e86fe76f885e9ad04845f3d0671afcb315c69', deprecated=True)
- version('4.1.0', sha256='6d33cc371b9a5ac9c0ab9853bac736f6cea0d2192f4dc9e6d8175d207ee4b4f2', deprecated=True)
- version('4.0.0', sha256='656bd6ec547810fd74bcebba41453e6e729f3fdb7346f5564ab71fc0346c3fb5', deprecated=True)
- version('3.10.0', sha256='759da5c6ef0cc1e4ecf2083659e78b8bbaa015f0bb360177674e0feb3032c5be', deprecated=True)
- version('3.9.0', sha256='c46995f9f18733ec18e370c21d7c0d6ac719e8e9d3254c6303a20ba90831e12e', deprecated=True)
- version('3.8.0', sha256='11d7d97268aeb953c34a80125c4577e27cb57cb6095606533105cecf2bd2ec9c', deprecated=True)
- version('3.7.0', sha256='a2438632ea1606e83a8c0e1a8777aa5fdca66d77d90862642eb0ec2314b4978d', deprecated=True)
- version('3.5.0', sha256='1eb2cb5f6e90ed1b7a9ac6dd86f09ec2ea27bceb5a92eeffa9c2123950c53b9d', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.10.2:', type='build', when='@4.2.0:')
- depends_on('cmake@3.5.1:', type='build')
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocprim@' + ver, when='@' + ver)
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
+ git = "https://github.com/ROCmSoftwarePlatform/hipCUB.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("5.1.3", sha256="dc75640689b6a5e15dd3acea643266bdf114ea63efc60be8272f484cf8f04494")
+ version("5.1.0", sha256="b30d51fc5fca2584f0c9a6fa8dafc9fbdda96a3acff30288e49b397f8842f705")
+ version("5.0.2", sha256="22effb18f2c38d76fa379f14c9f9ee7a11987a5d1ae4a7e837af87232c8c9183")
+ version("5.0.0", sha256="09c4f1b88aa5f50f04043d379e4960dab556e0fbdf8e25ab03d02a07c1ff7b2f")
+ version("4.5.2", sha256="bec9ba1a6aa0475475ee292e54807accc839ed001338275f48da13e3bfb77514")
+ version("4.5.0", sha256="5902fae0485789f1d1cc6b8e81d9f1b39338170d3139844d5edf0d324f9694c9")
+ version(
+ "4.3.1",
+ sha256="20fcd34323c541c182655b7ff6dc6ff268c0127596f0d9993884621c2b14b67a",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="733499a8d55e2d73bf874d43a98ee7425e4325f77e03fb0c80debf36c740cb70",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="56b50e185b7cdf4615d2f56d3a4e86fe76f885e9ad04845f3d0671afcb315c69",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="6d33cc371b9a5ac9c0ab9853bac736f6cea0d2192f4dc9e6d8175d207ee4b4f2",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="656bd6ec547810fd74bcebba41453e6e729f3fdb7346f5564ab71fc0346c3fb5",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="759da5c6ef0cc1e4ecf2083659e78b8bbaa015f0bb360177674e0feb3032c5be",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="c46995f9f18733ec18e370c21d7c0d6ac719e8e9d3254c6303a20ba90831e12e",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="11d7d97268aeb953c34a80125c4577e27cb57cb6095606533105cecf2bd2ec9c",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="a2438632ea1606e83a8c0e1a8777aa5fdca66d77d90862642eb0ec2314b4978d",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="1eb2cb5f6e90ed1b7a9ac6dd86f09ec2ea27bceb5a92eeffa9c2123950c53b9d",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.10.2:", type="build", when="@4.2.0:")
+ depends_on("cmake@3.5.1:", type="build")
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocprim@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
- args = [
- self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake)
- ]
+ args = [self.define("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake)]
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ 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 a320a994ca..8fc20c0233 100644
--- a/var/spack/repos/builtin/packages/hipfft/package.py
+++ b/var/spack/repos/builtin/packages/hipfft/package.py
@@ -9,52 +9,83 @@ from spack.package import *
class Hipfft(CMakePackage):
"""hipFFT is an FFT marshalling library. Currently, hipFFT supports
- either rocFFT or cuFFT as backends.hipFFT exports an interface that
- does not require the client to change, regardless of the chosen backend.
- It sits between the application and the backend FFT library, marshalling
- inputs into the backend and results back to the application."""
+ either rocFFT or cuFFT as backends.hipFFT exports an interface that
+ does not require the client to change, regardless of the chosen backend.
+ It sits between the application and the backend FFT library, marshalling
+ inputs into the backend and results back to the application."""
homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT"
- git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['arjun-raj-kuppala', 'srekolam']
+ maintainers = ["arjun-raj-kuppala", "srekolam"]
- version('master', branch='master')
+ version("master", branch="master")
- version('5.1.3', sha256='c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec')
- version('5.1.0', sha256='1bac7761c055355216cd262cdc0450aabb383addcb739b56ba849b2e6e013fa5')
- version('5.0.2', sha256='9ef64694f5def0d6fb98dc89e46d7a3f7d005a61348ac0b52184a3b8e84c2383')
- version('5.0.0', sha256='867d0bdc6c9769c6cebc0c4594b24d5f3504157cdcef97a6a1668dd493ca6a15')
- version('4.5.2', sha256='32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a')
- version('4.5.0', sha256='96636713bc6cdafbd5a9c1e98e816895448960c86b380fc0c3c9ffa28f670844')
- version('4.3.1', sha256='429cfd40415856da8f5c2c321b612800d6826ee121df5a4e6d1596cad5b51727', deprecated=True)
- version('4.3.0', sha256='6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84', deprecated=True)
- version('4.2.0', sha256='74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a', deprecated=True)
- version('4.1.0', sha256='885ffd4813f2c271150f1b8b386f0af775b38fc82b96ce6fd94eb4ba0c0180be', deprecated=True)
+ version("5.1.3", sha256="c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec")
+ version("5.1.0", sha256="1bac7761c055355216cd262cdc0450aabb383addcb739b56ba849b2e6e013fa5")
+ version("5.0.2", sha256="9ef64694f5def0d6fb98dc89e46d7a3f7d005a61348ac0b52184a3b8e84c2383")
+ version("5.0.0", sha256="867d0bdc6c9769c6cebc0c4594b24d5f3504157cdcef97a6a1668dd493ca6a15")
+ version("4.5.2", sha256="32ba6a5f50cfede3777a43794371ffb1363302131d8a0382d96df90ed7bc911a")
+ version("4.5.0", sha256="96636713bc6cdafbd5a9c1e98e816895448960c86b380fc0c3c9ffa28f670844")
+ version(
+ "4.3.1",
+ sha256="429cfd40415856da8f5c2c321b612800d6826ee121df5a4e6d1596cad5b51727",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="885ffd4813f2c271150f1b8b386f0af775b38fc82b96ce6fd94eb4ba0c0180be",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3.5:', type='build')
+ depends_on("cmake@3.5:", type="build")
- for ver in ['4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocfft@' + ver, when='@' + ver)
+ for ver in [
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocfft@" + ver, when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
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("CMAKE_MODULE_PATH", self.spec["hip"].prefix.cmake),
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
]
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ 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 e52ae43992..e2ecd6ba02 100644
--- a/var/spack/repos/builtin/packages/hipfort/package.py
+++ b/var/spack/repos/builtin/packages/hipfort/package.py
@@ -7,48 +7,98 @@ from spack.package import *
class Hipfort(CMakePackage):
- """ Radeon Open Compute Parallel Primitives Library"""
+ """Radeon Open Compute Parallel Primitives Library"""
homepage = "https://github.com/ROCmSoftwarePlatform/hipfort"
- git = "https://github.com/ROCmSoftwarePlatform/hipfort.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('5.1.3', sha256='8f8849d8d0972366bafa41be35cf6a7a59480ed584d1ddff39768cb14247e9d4')
- version('5.1.0', sha256='1ddd46c00bb6bcd539a921d6a94d858f4e4408a35cb6910186c7517f375ae8ab')
- version('5.0.2', sha256='fcee6e62482ab15f365681dbc12bd9ae26b0fab2f2848a3c14de8ec63004a7aa')
- version('5.0.0', sha256='af0f332fec082a03ca0403618ab20d31baadf3103e3371db9edc39dc9474ef4c')
- version('4.5.2', sha256='14599d027b57189c6734b04ace7792d2ae5c409cf7983c0970b086fb4e634dd8')
- version('4.5.0', sha256='48626dfb15bb5dcb044c9e1d4dc4b0654a2cd0abfc69485aa285dc20d7f40d51')
- version('4.3.1', sha256='279a35edbc0c22fa930a4355e663a86adf4d0316c5b1b6b9ccc6ee5c19c8c2e4', deprecated=True)
- version('4.3.0', sha256='fd0ffdafdc17ac42c7dae3f89991651f15affdef9b2354da05c7493d09d8974e', deprecated=True)
- version('4.2.0', sha256='b411cb32bf87927eba4c5573b412c56d75d15165e2f1c8ac5ac18e624ed3a4b4', deprecated=True)
- version('4.1.0', sha256='2d335ae068d0cbb480575de7d3ea4868362af32cb195f911ee1aeced499f3974', deprecated=True)
- version('4.0.0', sha256='a497645c33e0eff39abd5344756de63424733cde2837b7376c924b44ed5ae9c9', deprecated=True)
- version('3.10.0', sha256='44173522d9eb2a18ec1cea2d9b00b237fe70501f0849bd6be3decbb73389487a', deprecated=True)
- version('3.9.0', sha256='a3c4e125a9b56820446a65bd76b8caa196fddb0e0723eb513f0bcde9abd6a0c0', deprecated=True)
- version('3.8.0', sha256='0132e9949f758dd8b8a462d133b3316101440cd503aa6c53bea9e34e61bbb3cc', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.0.2:', type='build')
-
- depends_on('rocm-cmake@3.8.0:', type='build')
-
- for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, type='build', when='@' + ver)
+ git = "https://github.com/ROCmSoftwarePlatform/hipfort.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("5.1.3", sha256="8f8849d8d0972366bafa41be35cf6a7a59480ed584d1ddff39768cb14247e9d4")
+ version("5.1.0", sha256="1ddd46c00bb6bcd539a921d6a94d858f4e4408a35cb6910186c7517f375ae8ab")
+ version("5.0.2", sha256="fcee6e62482ab15f365681dbc12bd9ae26b0fab2f2848a3c14de8ec63004a7aa")
+ version("5.0.0", sha256="af0f332fec082a03ca0403618ab20d31baadf3103e3371db9edc39dc9474ef4c")
+ version("4.5.2", sha256="14599d027b57189c6734b04ace7792d2ae5c409cf7983c0970b086fb4e634dd8")
+ version("4.5.0", sha256="48626dfb15bb5dcb044c9e1d4dc4b0654a2cd0abfc69485aa285dc20d7f40d51")
+ version(
+ "4.3.1",
+ sha256="279a35edbc0c22fa930a4355e663a86adf4d0316c5b1b6b9ccc6ee5c19c8c2e4",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="fd0ffdafdc17ac42c7dae3f89991651f15affdef9b2354da05c7493d09d8974e",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="b411cb32bf87927eba4c5573b412c56d75d15165e2f1c8ac5ac18e624ed3a4b4",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="2d335ae068d0cbb480575de7d3ea4868362af32cb195f911ee1aeced499f3974",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="a497645c33e0eff39abd5344756de63424733cde2837b7376c924b44ed5ae9c9",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="44173522d9eb2a18ec1cea2d9b00b237fe70501f0849bd6be3decbb73389487a",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="a3c4e125a9b56820446a65bd76b8caa196fddb0e0723eb513f0bcde9abd6a0c0",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="0132e9949f758dd8b8a462d133b3316101440cd503aa6c53bea9e34e61bbb3cc",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.0.2:", type="build")
+
+ depends_on("rocm-cmake@3.8.0:", type="build")
+
+ for ver in [
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, type="build", when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
args = []
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py
index b156dd5306..92090da814 100644
--- a/var/spack/repos/builtin/packages/hipify-clang/package.py
+++ b/var/spack/repos/builtin/packages/hipify-clang/package.py
@@ -11,40 +11,101 @@ class HipifyClang(CMakePackage):
sources into HIP sources"""
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-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('master', branch='master')
-
- version('5.1.3', sha256='6354b08b8ab2f4c481398fb768652bae00bb78c4cec7a11d5f6c7e4cb831ddf1')
- version('5.1.0', sha256='ba792294cbdcc880e0f02e38ee352dff8d4a2c183430e13d1c5ed176bd46cfc5')
- version('5.0.2', sha256='812bccfeb044483a1c7df89f45843afcb28d8146f348c792f082b693cbff3984')
- version('5.0.0', sha256='06fbb3259b6d014bc24fb3c05f71026bc39ae564559d40f2ca37236044c7ba17')
- version('4.5.2', sha256='f0d401e634642a1d6659b9163a38661ee38da1e1aceabb1f16f78f8fce048a4e')
- version('4.5.0', sha256='1f6e1bd4b9d64eed67f519c453fa65b362a20583df1f35fd09d08de831f3c8de')
- version('4.3.1', sha256='c5754f7c2c68ea4f65cc0ffc1e8ccc30634181525b25c10817e07eaa75ca8157', deprecated=True)
- version('4.3.0', sha256='182b336a994e3de0dfbce935dc35091388d18a29e3cfdadb2ab7da8a2dc121a2', deprecated=True)
- version('4.2.0', sha256='afdc82ae00e14e8e742be6cd47d8fb120d18fc52fe96cba8d8ac4c56176a432e', deprecated=True)
- version('4.1.0', sha256='ec9cc410167b6ab31706742f3d7a77dbd29eb548e7371134b3aace8597665475', deprecated=True)
- version('4.0.0', sha256='9d3906d606fca2bcb58f5f2a70cc4b9e298ca0e12a84ee5f18e42b7df97b38a4', deprecated=True)
- version('3.10.0', sha256='7ebba22ed70100150bedddffa08a84f91b546347662862487b6703a1edce2623', deprecated=True)
- version('3.9.0', sha256='07adb98e91ddd7420d873806866d53eaf77527fac57799e846823522191ba89a', deprecated=True)
- version('3.8.0', sha256='095b876a750a0dc1ae669102ba53d668f65062b823f8be745411db86a2db7916', deprecated=True)
- version('3.7.0', sha256='dd58c8b88d4b7877f2521b02954de79d570fa36fc751a17d33e56436ee02571e', deprecated=True)
- version('3.5.0', sha256='31e7c11d3e221e15a2721456c4f8bceea9c28fd37345464c86ea74cf05ddf2c9', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
+ git = "https://github.com/ROCm-Developer-Tools/HIPIFY.git"
+ url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("master", branch="master")
+
+ version("5.1.3", sha256="6354b08b8ab2f4c481398fb768652bae00bb78c4cec7a11d5f6c7e4cb831ddf1")
+ version("5.1.0", sha256="ba792294cbdcc880e0f02e38ee352dff8d4a2c183430e13d1c5ed176bd46cfc5")
+ version("5.0.2", sha256="812bccfeb044483a1c7df89f45843afcb28d8146f348c792f082b693cbff3984")
+ version("5.0.0", sha256="06fbb3259b6d014bc24fb3c05f71026bc39ae564559d40f2ca37236044c7ba17")
+ version("4.5.2", sha256="f0d401e634642a1d6659b9163a38661ee38da1e1aceabb1f16f78f8fce048a4e")
+ version("4.5.0", sha256="1f6e1bd4b9d64eed67f519c453fa65b362a20583df1f35fd09d08de831f3c8de")
+ version(
+ "4.3.1",
+ sha256="c5754f7c2c68ea4f65cc0ffc1e8ccc30634181525b25c10817e07eaa75ca8157",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="182b336a994e3de0dfbce935dc35091388d18a29e3cfdadb2ab7da8a2dc121a2",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="afdc82ae00e14e8e742be6cd47d8fb120d18fc52fe96cba8d8ac4c56176a432e",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="ec9cc410167b6ab31706742f3d7a77dbd29eb548e7371134b3aace8597665475",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="9d3906d606fca2bcb58f5f2a70cc4b9e298ca0e12a84ee5f18e42b7df97b38a4",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="7ebba22ed70100150bedddffa08a84f91b546347662862487b6703a1edce2623",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="07adb98e91ddd7420d873806866d53eaf77527fac57799e846823522191ba89a",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="095b876a750a0dc1ae669102ba53d668f65062b823f8be745411db86a2db7916",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="dd58c8b88d4b7877f2521b02954de79d570fa36fc751a17d33e56436ee02571e",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="31e7c11d3e221e15a2721456c4f8bceea9c28fd37345464c86ea74cf05ddf2c9",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
def setup_run_environment(self, env):
# The installer puts the binaries directly into the prefix
# instead of prefix/bin, so add prefix to the PATH
- env.prepend_path('PATH', self.spec.prefix)
+ env.prepend_path("PATH", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py
index c6c86cf71d..3c0570b93a 100644
--- a/var/spack/repos/builtin/packages/hipsolver/package.py
+++ b/var/spack/repos/builtin/packages/hipsolver/package.py
@@ -10,75 +10,79 @@ from spack.package import *
class Hipsolver(CMakePackage):
"""hipSOLVER is a LAPACK marshalling library, with multiple supported backends.
- It sits between the application and a 'worker' LAPACK library, marshalling
- inputs into the backend library and marshalling results back to the application.
- hipSOLVER exports an interface that does not require the client to change,
- regardless of the chosen backend. Currently, hipSOLVER supports rocSOLVER
- and cuSOLVER as backends."""
+ It sits between the application and a 'worker' LAPACK library, marshalling
+ inputs into the backend library and marshalling results back to the application.
+ hipSOLVER exports an interface that does not require the client to change,
+ regardless of the chosen backend. Currently, hipSOLVER supports rocSOLVER
+ and cuSOLVER as backends."""
homepage = "https://github.com/ROCmSoftwarePlatform/hipSOLVER"
- git = "https://github.com/ROCmSoftwarePlatform/hipSOLVER.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['cgmb', 'srekolam']
- libraries = ['libhipsolver']
-
- version('develop', branch='develop')
- version('master', branch='master')
- version('5.1.3', sha256='96faa799a2db8078b72f9c3b5c199179875a7c20dc1064371b22a6a63397c145')
- version('5.1.0', sha256='697ba2b2814e7ac6f79680e6455b4b5e0def1bee2014b6940f47be7d13c0ae74')
- version('5.0.2', sha256='cabeada451686ed7904a452c5f8fd3776721507db1c06f426cd8d7189ff4a441')
- version('5.0.0', sha256='c59a5783dbbcb6a601c0e73d85d4a64d6d2c8f46009c01cb2b9886323f11e02b')
- version('4.5.2', sha256='9807bf1da0da25940b546cf5d5d6064d46d837907e354e10c6eeb2ef7c296a93')
- version('4.5.0', sha256='ee1176e977736a6e6fcba507fe6f56fcb3cefd6ba741cceb28464ea8bc476cd8')
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.5:', type='build')
-
- depends_on('hip@4.1.0:', when='@4.1.0:')
- depends_on('rocm-cmake@master', type='build', when='@master:')
- depends_on('rocm-cmake@4.5.0:', type='build')
-
- for ver in ['master', 'develop']:
- depends_on('rocblas@' + ver, when='@' + ver)
- depends_on('rocsolver@' + ver, when='@' + ver)
-
- for ver in ['4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
- depends_on('rocsolver@' + ver, when='@' + ver)
-
- depends_on('googletest@1.10.0:', type='test')
- depends_on('netlib-lapack@3.7.1:', type='test')
+ git = "https://github.com/ROCmSoftwarePlatform/hipSOLVER.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["cgmb", "srekolam"]
+ libraries = ["libhipsolver"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("5.1.3", sha256="96faa799a2db8078b72f9c3b5c199179875a7c20dc1064371b22a6a63397c145")
+ version("5.1.0", sha256="697ba2b2814e7ac6f79680e6455b4b5e0def1bee2014b6940f47be7d13c0ae74")
+ version("5.0.2", sha256="cabeada451686ed7904a452c5f8fd3776721507db1c06f426cd8d7189ff4a441")
+ version("5.0.0", sha256="c59a5783dbbcb6a601c0e73d85d4a64d6d2c8f46009c01cb2b9886323f11e02b")
+ version("4.5.2", sha256="9807bf1da0da25940b546cf5d5d6064d46d837907e354e10c6eeb2ef7c296a93")
+ version("4.5.0", sha256="ee1176e977736a6e6fcba507fe6f56fcb3cefd6ba741cceb28464ea8bc476cd8")
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.5:", type="build")
+
+ depends_on("hip@4.1.0:", when="@4.1.0:")
+ depends_on("rocm-cmake@master", type="build", when="@master:")
+ depends_on("rocm-cmake@4.5.0:", type="build")
+
+ for ver in ["master", "develop"]:
+ depends_on("rocblas@" + ver, when="@" + ver)
+ depends_on("rocsolver@" + ver, when="@" + ver)
+
+ for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0", "5.1.3"]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
+ depends_on("rocsolver@" + ver, when="@" + ver)
+
+ depends_on("googletest@1.10.0:", type="test")
+ depends_on("netlib-lapack@3.7.1:", type="test")
def check(self):
- exe = join_path(self.build_directory, 'clients', 'staging', 'hipsolver-test')
- self.run_test(exe, options=['--gtest_filter=-*known_bug*'])
+ exe = join_path(self.build_directory, "clients", "staging", "hipsolver-test")
+ self.run_test(exe, options=["--gtest_filter=-*known_bug*"])
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', self.run_tests)
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests),
]
- if self.spec.satisfies('@5.2.0:'):
- args.append(self.define('BUILD_FILE_REORG_BACKWARD_COMPATIBILITY', 'ON'))
+ if self.spec.satisfies("@5.2.0:"):
+ args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py
index 3e091b2179..2378ca41e6 100644
--- a/var/spack/repos/builtin/packages/hipsparse/package.py
+++ b/var/spack/repos/builtin/packages/hipsparse/package.py
@@ -10,60 +10,132 @@ from spack.package import *
class Hipsparse(CMakePackage):
"""hipSPARSE is a SPARSE marshalling library, with
- multiple supported backends"""
+ multiple supported backends"""
homepage = "https://github.com/ROCmSoftwarePlatform/hipSPARSE"
- git = "https://github.com/ROCmSoftwarePlatform/hipSPARSE.git"
- url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['libhipsparse']
-
- version('5.1.3', sha256='6e6a0752654f0d391533df8cedf4b630a78ad34c99087741520c582963ce1602')
- version('5.1.0', sha256='f41329534f2ff477a0db6b7f77a72bb062f117800970c122d676db8b207ce80b')
- version('5.0.2', sha256='a266e8b3bbdea04617260f51b3d85cc672af6ca417cae0812d04fd9702429c47')
- version('5.0.0', sha256='0a1754508e06d3a6b17593a71a3c57a3e25d3b46d88573098fda11442853196c')
- version('4.5.2', sha256='81ca24491fbf2bc8e5aa477a6c38776877579ac9f4241ddadeca76a579a7ebb5')
- version('4.5.0', sha256='1049c490fc2008d701a16d14e11004e3bc5b4da993aa48b117e3c44be5677e3c')
- version('4.3.1', sha256='e5757b5213b880237ae0f24616088f79c449c2955cf2133642dbbc9c655f4691', deprecated=True)
- version('4.3.0', sha256='194fbd589ce34471f3255f71ea5fca2d27bee47a464558a86d0713b4d26237ea', deprecated=True)
- version('4.2.0', sha256='cdedf3766c10200d3ebabe86cbb9c0fe6504e4b3317dccca289327d7c189bb3f', deprecated=True)
- version('4.1.0', sha256='66710c390489922f0bd1ac38fd8c32fcfb5b7760b92c2d282f7d1abf214742ee', deprecated=True)
- version('4.0.0', sha256='fc3736b2ea203209021616b2ffbcdd664781d692b07b8e8bb7f78b42dabbd5e5', deprecated=True)
- version('3.10.0', sha256='7fd863ebf6eed09325c23ba06d9008b2f2c1345283d1a331e329e1a512b602f7', deprecated=True)
- version('3.9.0', sha256='ab0ea3dd9b68a126291ed5a35e50fc85d0aeb35fe862f5d9e544435e4262c435', deprecated=True)
- version('3.8.0', sha256='8874c100e9ba54587a6057c2a0e555a0903254a16e9e01c2385bae1b027f83b5', deprecated=True)
- version('3.7.0', sha256='a2f02d8fc6ad9a561f06dacde54ecafd30563c5c95f93819a5694e5b650dad7f', deprecated=True)
- version('3.5.0', sha256='fa16b2a307a5d9716066c2876febcbc1cef855bf0c96d235d2d8f2206a0fb69d', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.5:', type='build')
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % 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',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('rocprim@' + ver, when='@' + ver)
-
- patch('e79985dccde22d826aceb3badfc643a3227979d2.patch', when='@3.5.0')
- patch('530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch', when='@3.5.0')
+ git = "https://github.com/ROCmSoftwarePlatform/hipSPARSE.git"
+ url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["libhipsparse"]
+
+ version("5.1.3", sha256="6e6a0752654f0d391533df8cedf4b630a78ad34c99087741520c582963ce1602")
+ version("5.1.0", sha256="f41329534f2ff477a0db6b7f77a72bb062f117800970c122d676db8b207ce80b")
+ version("5.0.2", sha256="a266e8b3bbdea04617260f51b3d85cc672af6ca417cae0812d04fd9702429c47")
+ version("5.0.0", sha256="0a1754508e06d3a6b17593a71a3c57a3e25d3b46d88573098fda11442853196c")
+ version("4.5.2", sha256="81ca24491fbf2bc8e5aa477a6c38776877579ac9f4241ddadeca76a579a7ebb5")
+ version("4.5.0", sha256="1049c490fc2008d701a16d14e11004e3bc5b4da993aa48b117e3c44be5677e3c")
+ version(
+ "4.3.1",
+ sha256="e5757b5213b880237ae0f24616088f79c449c2955cf2133642dbbc9c655f4691",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="194fbd589ce34471f3255f71ea5fca2d27bee47a464558a86d0713b4d26237ea",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="cdedf3766c10200d3ebabe86cbb9c0fe6504e4b3317dccca289327d7c189bb3f",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="66710c390489922f0bd1ac38fd8c32fcfb5b7760b92c2d282f7d1abf214742ee",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="fc3736b2ea203209021616b2ffbcdd664781d692b07b8e8bb7f78b42dabbd5e5",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="7fd863ebf6eed09325c23ba06d9008b2f2c1345283d1a331e329e1a512b602f7",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="ab0ea3dd9b68a126291ed5a35e50fc85d0aeb35fe862f5d9e544435e4262c435",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="8874c100e9ba54587a6057c2a0e555a0903254a16e9e01c2385bae1b027f83b5",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="a2f02d8fc6ad9a561f06dacde54ecafd30563c5c95f93819a5694e5b650dad7f",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="fa16b2a307a5d9716066c2876febcbc1cef855bf0c96d235d2d8f2206a0fb69d",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.5:", type="build")
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % 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",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocprim@" + ver, when="@" + ver)
+
+ patch("e79985dccde22d826aceb3badfc643a3227979d2.patch", when="@3.5.0")
+ patch("530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch", when="@3.5.0")
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -71,16 +143,16 @@ 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'),
+ 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"),
]
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
diff --git a/var/spack/repos/builtin/packages/hipsycl/package.py b/var/spack/repos/builtin/packages/hipsycl/package.py
index 5e16d84abf..887d9f049b 100644
--- a/var/spack/repos/builtin/packages/hipsycl/package.py
+++ b/var/spack/repos/builtin/packages/hipsycl/package.py
@@ -24,14 +24,8 @@ class Hipsycl(CMakePackage):
provides("sycl")
version("stable", branch="stable", submodules=True)
- version(
- "0.9.2",
- commit="49fd02499841ae884c61c738610e58c27ab51fdb",
- submodules=True)
- version(
- "0.9.1",
- commit="fe8465cd5399a932f7221343c07c9942b0fe644c",
- submodules=True)
+ version("0.9.2", commit="49fd02499841ae884c61c738610e58c27ab51fdb", submodules=True)
+ version("0.9.1", commit="fe8465cd5399a932f7221343c07c9942b0fe644c", submodules=True)
version(
"0.8.0",
commit="2daf8407e49dd32ebd1c266e8e944e390d28b22a",
@@ -46,7 +40,7 @@ class Hipsycl(CMakePackage):
depends_on("cmake@3.5:", type="build")
depends_on("boost +filesystem", when="@:0.8")
- depends_on("boost@1.67.0:1.69.0 +filesystem +fiber +context cxxstd=17", when='@0.9.1:')
+ depends_on("boost@1.67.0:1.69.0 +filesystem +fiber +context cxxstd=17", when="@0.9.1:")
depends_on("python@3:")
depends_on("llvm@8: +clang", when="~cuda")
depends_on("llvm@9: +clang", when="+cuda")
@@ -57,13 +51,14 @@ class Hipsycl(CMakePackage):
conflicts(
"%gcc@:4",
- when='@:0.9.0',
+ when="@:0.9.0",
msg="hipSYCL needs proper C++14 support to be built, %gcc is too old",
)
conflicts(
"%gcc@:8",
- when='@0.9.1:',
- msg="hipSYCL needs proper C++17 support to be built, %gcc is too old")
+ when="@0.9.1:",
+ msg="hipSYCL needs proper C++17 support to be built, %gcc is too old",
+ )
conflicts(
"^llvm build_type=Debug",
when="+cuda",
@@ -78,27 +73,21 @@ class Hipsycl(CMakePackage):
"-DWITH_CPU_BACKEND:Bool=TRUE",
# TODO: no ROCm stuff available in spack yet
"-DWITH_ROCM_BACKEND:Bool=FALSE",
- "-DWITH_CUDA_BACKEND:Bool={0}".format(
- "TRUE" if "+cuda" in spec else "FALSE"
- ),
+ "-DWITH_CUDA_BACKEND:Bool={0}".format("TRUE" if "+cuda" in spec else "FALSE"),
# prevent hipSYCL's cmake to look for other LLVM installations
# if the specified one isn't compatible
"-DDISABLE_LLVM_VERSION_CHECK:Bool=TRUE",
]
# LLVM directory containing all installed CMake files
# (e.g.: configs consumed by client projects)
- llvm_cmake_dirs = filesystem.find(
- spec["llvm"].prefix, "LLVMExports.cmake"
- )
+ llvm_cmake_dirs = filesystem.find(spec["llvm"].prefix, "LLVMExports.cmake")
if len(llvm_cmake_dirs) != 1:
raise InstallError(
"concretized llvm dependency must provide "
"a unique directory containing CMake client "
"files, found: {0}".format(llvm_cmake_dirs)
)
- args.append(
- "-DLLVM_DIR:String={0}".format(path.dirname(llvm_cmake_dirs[0]))
- )
+ args.append("-DLLVM_DIR:String={0}".format(path.dirname(llvm_cmake_dirs[0])))
# clang internal headers directory
llvm_clang_include_dirs = filesystem.find(
spec["llvm"].prefix, "__clang_cuda_runtime_wrapper.h"
@@ -110,9 +99,7 @@ class Hipsycl(CMakePackage):
"headers, found: {0}".format(llvm_clang_include_dirs)
)
args.append(
- "-DCLANG_INCLUDE_PATH:String={0}".format(
- path.dirname(llvm_clang_include_dirs[0])
- )
+ "-DCLANG_INCLUDE_PATH:String={0}".format(path.dirname(llvm_clang_include_dirs[0]))
)
# target clang++ executable
llvm_clang_bin = path.join(spec["llvm"].prefix.bin, "clang++")
@@ -122,16 +109,10 @@ class Hipsycl(CMakePackage):
"valid clang++ executable, found invalid: "
"{0}".format(llvm_clang_bin)
)
- args.append(
- "-DCLANG_EXECUTABLE_PATH:String={0}".format(llvm_clang_bin)
- )
+ args.append("-DCLANG_EXECUTABLE_PATH:String={0}".format(llvm_clang_bin))
# explicit CUDA toolkit
if "+cuda" in spec:
- args.append(
- "-DCUDA_TOOLKIT_ROOT_DIR:String={0}".format(
- spec["cuda"].prefix
- )
- )
+ args.append("-DCUDA_TOOLKIT_ROOT_DIR:String={0}".format(spec["cuda"].prefix))
return args
@run_after("install")
@@ -167,9 +148,7 @@ class Hipsycl(CMakePackage):
"found: {0}".format(so_paths)
)
rpaths.add(path.dirname(so_paths[0]))
- config["default-cuda-link-line"] += " " + " ".join(
- "-rpath {0}".format(p) for p in rpaths
- )
+ config["default-cuda-link-line"] += " " + " ".join("-rpath {0}".format(p) for p in rpaths)
# Replace the installed config file
with open(config_file_path, "w") as f:
json.dump(config, f, indent=2)
diff --git a/var/spack/repos/builtin/packages/hiredis/package.py b/var/spack/repos/builtin/packages/hiredis/package.py
index 3129c1c0af..1e5bc12d03 100644
--- a/var/spack/repos/builtin/packages/hiredis/package.py
+++ b/var/spack/repos/builtin/packages/hiredis/package.py
@@ -10,12 +10,12 @@ class Hiredis(MakefilePackage):
"""Hiredis is a minimalistic C client library for the Redis database."""
homepage = "https://github.com/redis/hiredis"
- url = "https://github.com/redis/hiredis/archive/v0.14.1.tar.gz"
+ url = "https://github.com/redis/hiredis/archive/v0.14.1.tar.gz"
- version('0.14.1', sha256='2663b2aed9fd430507e30fc5e63274ee40cdd1a296026e22eafd7d99b01c8913')
- version('0.14.0', sha256='042f965e182b80693015839a9d0278ae73fae5d5d09d8bf6d0e6a39a8c4393bd')
- version('0.13.3', sha256='717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78')
- version('0.13.2', sha256='b0cf73ebe039fe25ecaaa881acdda8bdc393ed997e049b04fc20865835953694')
+ version("0.14.1", sha256="2663b2aed9fd430507e30fc5e63274ee40cdd1a296026e22eafd7d99b01c8913")
+ version("0.14.0", sha256="042f965e182b80693015839a9d0278ae73fae5d5d09d8bf6d0e6a39a8c4393bd")
+ version("0.13.3", sha256="717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78")
+ version("0.13.2", sha256="b0cf73ebe039fe25ecaaa881acdda8bdc393ed997e049b04fc20865835953694")
def install(self, spec, prefix):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/hisat2/package.py b/var/spack/repos/builtin/packages/hisat2/package.py
index c8d51d2b64..2542942a21 100644
--- a/var/spack/repos/builtin/packages/hisat2/package.py
+++ b/var/spack/repos/builtin/packages/hisat2/package.py
@@ -9,37 +9,40 @@ from spack.package import *
class Hisat2(MakefilePackage):
"""HISAT2 is a fast and sensitive alignment program for mapping
- next-generation sequencing reads (whole-genome, transcriptome, and
- exome sequencing data) against the general human population (as well as
- against a single reference genome)."""
+ next-generation sequencing reads (whole-genome, transcriptome, and
+ exome sequencing data) against the general human population (as well as
+ against a single reference genome)."""
homepage = "https://daehwankimlab.github.io/hisat2/"
- url = "ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-source.zip"
+ url = "ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-source.zip"
- version('2.2.0', sha256='0dd55168853b82c1b085f79ed793dd029db163773f52272d7eb51b3b5e4a4cdd',
- url='https://cloud.biohpc.swmed.edu/index.php/s/hisat2-220-source/download',
- extension='zip')
- version('2.1.0', sha256='89a276eed1fc07414b1601947bc9466bdeb50e8f148ad42074186fe39a1ee781')
+ version(
+ "2.2.0",
+ sha256="0dd55168853b82c1b085f79ed793dd029db163773f52272d7eb51b3b5e4a4cdd",
+ url="https://cloud.biohpc.swmed.edu/index.php/s/hisat2-220-source/download",
+ extension="zip",
+ )
+ version("2.1.0", sha256="89a276eed1fc07414b1601947bc9466bdeb50e8f148ad42074186fe39a1ee781")
def install(self, spec, prefix):
- if spec.satisfies('@:2.1.0'):
- install_tree('doc', prefix.doc)
+ if spec.satisfies("@:2.1.0"):
+ install_tree("doc", prefix.doc)
- install_tree('example', prefix.example)
- install_tree('hisatgenotype_modules', prefix.hisatgenotype_modules)
- install_tree('hisatgenotype_scripts', prefix.hisatgenotype_scripts)
- install_tree('scripts', prefix.scripts)
+ install_tree("example", prefix.example)
+ install_tree("hisatgenotype_modules", prefix.hisatgenotype_modules)
+ install_tree("hisatgenotype_scripts", prefix.hisatgenotype_scripts)
+ install_tree("scripts", prefix.scripts)
mkdirp(prefix.bin)
- install('hisat2', prefix.bin)
- install('hisat2-align-s', prefix.bin)
- install('hisat2-align-l', prefix.bin)
- install('hisat2-build', prefix.bin)
- install('hisat2-build-s', prefix.bin)
- install('hisat2-build-l', prefix.bin)
- install('hisat2-inspect', prefix.bin)
- install('hisat2-inspect-s', prefix.bin)
- install('hisat2-inspect-l', prefix.bin)
- install('*.py', prefix.bin)
+ install("hisat2", prefix.bin)
+ install("hisat2-align-s", prefix.bin)
+ install("hisat2-align-l", prefix.bin)
+ install("hisat2-build", prefix.bin)
+ install("hisat2-build-s", prefix.bin)
+ install("hisat2-build-l", prefix.bin)
+ install("hisat2-inspect", prefix.bin)
+ install("hisat2-inspect-s", prefix.bin)
+ install("hisat2-inspect-l", prefix.bin)
+ install("*.py", prefix.bin)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix)
+ env.prepend_path("PATH", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/hisea/package.py b/var/spack/repos/builtin/packages/hisea/package.py
index 66b4e8db2f..08a945a30c 100644
--- a/var/spack/repos/builtin/packages/hisea/package.py
+++ b/var/spack/repos/builtin/packages/hisea/package.py
@@ -9,13 +9,16 @@ from spack.pkg.builtin.boost import Boost
class Hisea(MakefilePackage):
"""HISEA is an efficient all-vs-all long read aligner for SMRT sequencing
- data. Its algorithm is designed to produce highest alignment sensitivity
- among others."""
+ data. Its algorithm is designed to produce highest alignment sensitivity
+ among others."""
homepage = "https://doi.org/10.1186/s12859-017-1953-9"
- version('2017.12.26', sha256='3c6ddfb8490a327cc5f9e45f64cd4312abc6ef5719661ce8892db8a20a1e9c5e',
- url='https://github.com/lucian-ilie/HISEA/tarball/39e01e98caa0f2101da806ca59306296effe789c')
+ version(
+ "2017.12.26",
+ sha256="3c6ddfb8490a327cc5f9e45f64cd4312abc6ef5719661ce8892db8a20a1e9c5e",
+ url="https://github.com/lucian-ilie/HISEA/tarball/39e01e98caa0f2101da806ca59306296effe789c",
+ )
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -23,9 +26,9 @@ class Hisea(MakefilePackage):
depends_on(Boost.with_default_variants)
def patch(self):
- if self.spec.target.family == 'aarch64':
- filter_file('-mpopcnt', '', 'Makefile')
+ if self.spec.target.family == "aarch64":
+ filter_file("-mpopcnt", "", "Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('hisea', prefix.bin)
+ install("hisea", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hive/package.py b/var/spack/repos/builtin/packages/hive/package.py
index 33542f1980..1e038e4f5e 100644
--- a/var/spack/repos/builtin/packages/hive/package.py
+++ b/var/spack/repos/builtin/packages/hive/package.py
@@ -15,13 +15,13 @@ class Hive(Package):
"""
homepage = "https://hive.apache.org/"
- url = "https://www.apache.org/dist/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz"
+ url = "https://www.apache.org/dist/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz"
- version('3.1.2', sha256='d75dcf36908b4e7b9b0ec9aec57a46a6628b97b276c233cb2c2f1a3e89b13462')
- version('2.3.6', sha256='0b3736edc8d15f01ed649bfce7d74346c35fd57567411e9d0c3f48578f76610d')
- version('1.2.2', sha256='763b246a1a1ceeb815493d1e5e1d71836b0c5b9be1c4cd9c8d685565113771d1')
+ version("3.1.2", sha256="d75dcf36908b4e7b9b0ec9aec57a46a6628b97b276c233cb2c2f1a3e89b13462")
+ version("2.3.6", sha256="0b3736edc8d15f01ed649bfce7d74346c35fd57567411e9d0c3f48578f76610d")
+ version("1.2.2", sha256="763b246a1a1ceeb815493d1e5e1d71836b0c5b9be1c4cd9c8d685565113771d1")
- depends_on('hadoop', type='run')
+ depends_on("hadoop", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/hivex/package.py b/var/spack/repos/builtin/packages/hivex/package.py
index 326f86e80d..1ea2dfc15f 100644
--- a/var/spack/repos/builtin/packages/hivex/package.py
+++ b/var/spack/repos/builtin/packages/hivex/package.py
@@ -10,10 +10,10 @@ class Hivex(AutotoolsPackage):
"""Windows Registry "hive" extraction library."""
homepage = "https://libguestfs.org"
- url = "https://libguestfs.org/download/hivex/hivex-1.3.17.tar.gz"
+ url = "https://libguestfs.org/download/hivex/hivex-1.3.17.tar.gz"
- version('1.3.19', sha256='5102cc5149767229dbfb436ae7b47dd85b90e0215445e42c2809cbe32e54f762')
- version('1.3.18', sha256='8a1e788fd9ea9b6e8a99705ebd0ff8a65b1bdee28e319c89c4a965430d0a7445')
- version('1.3.17', sha256='13cb4b87ab72d74d9e83e56ae0f77152312f33ee772dc84fdd86b2cb9e8c52db')
+ version("1.3.19", sha256="5102cc5149767229dbfb436ae7b47dd85b90e0215445e42c2809cbe32e54f762")
+ version("1.3.18", sha256="8a1e788fd9ea9b6e8a99705ebd0ff8a65b1bdee28e319c89c4a965430d0a7445")
+ version("1.3.17", sha256="13cb4b87ab72d74d9e83e56ae0f77152312f33ee772dc84fdd86b2cb9e8c52db")
- depends_on('perl')
+ depends_on("perl")
diff --git a/var/spack/repos/builtin/packages/hmmer/package.py b/var/spack/repos/builtin/packages/hmmer/package.py
index 3bc803e06b..b4e2b3b13a 100644
--- a/var/spack/repos/builtin/packages/hmmer/package.py
+++ b/var/spack/repos/builtin/packages/hmmer/package.py
@@ -11,42 +11,38 @@ class Hmmer(Package):
and for making sequence alignments. It implements methods using
probabilistic models called profile hidden Markov models (profile HMMs).
"""
- homepage = 'http://www.hmmer.org'
- url = 'http://eddylab.org/software/hmmer/hmmer-3.3.tar.gz'
- version('3.3.2', sha256='92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69')
- version('3.3', sha256='0186bf40af67032666014971ed8ddc3cf2834bebc2be5b3bc0304a93e763736c')
- version('3.2.1', sha256='a56129f9d786ec25265774519fc4e736bbc16e4076946dcbd7f2c16efc8e2b9c')
- version('3.1b2', sha256='dd16edf4385c1df072c9e2f58c16ee1872d855a018a2ee6894205277017b5536')
- version('3.0', sha256='6977e6473fcb554b1d5a86dc9edffffa53918c1bd88d7fd20d7499f1ba719e83')
- version('2.4i', sha256='73cb85c2197017fa7a25482556ed250bdeed256974b99b0c25e02854e710a886')
- version('2.3.2', sha256='d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4')
- version('2.3.1', sha256='3956d53af8de5bb99eec18cba0628e86924c6543639d290293b6677a9224ea3f')
+ homepage = "http://www.hmmer.org"
+ url = "http://eddylab.org/software/hmmer/hmmer-3.3.tar.gz"
- variant('mpi', default=True, description='Compile with MPI')
- variant('gsl', default=False, description='Compile with GSL')
+ version("3.3.2", sha256="92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69")
+ version("3.3", sha256="0186bf40af67032666014971ed8ddc3cf2834bebc2be5b3bc0304a93e763736c")
+ version("3.2.1", sha256="a56129f9d786ec25265774519fc4e736bbc16e4076946dcbd7f2c16efc8e2b9c")
+ version("3.1b2", sha256="dd16edf4385c1df072c9e2f58c16ee1872d855a018a2ee6894205277017b5536")
+ version("3.0", sha256="6977e6473fcb554b1d5a86dc9edffffa53918c1bd88d7fd20d7499f1ba719e83")
+ version("2.4i", sha256="73cb85c2197017fa7a25482556ed250bdeed256974b99b0c25e02854e710a886")
+ version("2.3.2", sha256="d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4")
+ version("2.3.1", sha256="3956d53af8de5bb99eec18cba0628e86924c6543639d290293b6677a9224ea3f")
- depends_on('mpi', when='+mpi')
- depends_on('gsl', when='+gsl')
+ variant("mpi", default=True, description="Compile with MPI")
+ variant("gsl", default=False, description="Compile with GSL")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("gsl", when="+gsl")
def install(self, spec, prefix):
- configure_args = [
- '--prefix={0}'.format(prefix)
- ]
+ configure_args = ["--prefix={0}".format(prefix)]
- if '+gsl' in self.spec:
- configure_args.extend([
- '--with-gsl',
- 'LIBS=-lgsl -lgslcblas'
- ])
+ if "+gsl" in self.spec:
+ configure_args.extend(["--with-gsl", "LIBS=-lgsl -lgslcblas"])
- if '+mpi' in self.spec:
- configure_args.append('--enable-mpi')
+ if "+mpi" in self.spec:
+ configure_args.append("--enable-mpi")
configure(*configure_args)
make()
if self.run_tests:
- make('check')
+ make("check")
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/hohqmesh/package.py b/var/spack/repos/builtin/packages/hohqmesh/package.py
index 9dd3c84254..c645bc9220 100644
--- a/var/spack/repos/builtin/packages/hohqmesh/package.py
+++ b/var/spack/repos/builtin/packages/hohqmesh/package.py
@@ -10,16 +10,16 @@ class Hohqmesh(CMakePackage):
"""High Order mesh generator for Hexahedral and Quadrilateral meshes."""
homepage = "https://github.com/trixi-framework/HOHQMesh"
- git = "https://github.com/trixi-framework/HOHQMesh.git"
- url = "https://github.com/trixi-framework/HOHQMesh/archive/v1.0.0.tar.gz"
+ git = "https://github.com/trixi-framework/HOHQMesh.git"
+ url = "https://github.com/trixi-framework/HOHQMesh/archive/v1.0.0.tar.gz"
- maintainers = ['fluidnumerics-joe']
+ maintainers = ["fluidnumerics-joe"]
- version('1.2.1', sha256='b1b13a680c3ef6b8d6a8d05406f68c1ff641c26f69c468ccf2d7bed8d556dd7e')
- version('1.1.0', sha256='5fdb75157d9dc29bba55e6ae9dc2be71294754204f4f0912795532ae66aada10')
- version('1.0.1', sha256='8435f13c96d714a287f3c24392330047e2131d53fafe251a77eba365bd2b3141')
- version('1.0.0', sha256='3800e63975d0a61945508f13fb76d5e2145c0260440484252b6b81aa0bfe076d')
+ version("1.2.1", sha256="b1b13a680c3ef6b8d6a8d05406f68c1ff641c26f69c468ccf2d7bed8d556dd7e")
+ version("1.1.0", sha256="5fdb75157d9dc29bba55e6ae9dc2be71294754204f4f0912795532ae66aada10")
+ version("1.0.1", sha256="8435f13c96d714a287f3c24392330047e2131d53fafe251a77eba365bd2b3141")
+ version("1.0.0", sha256="3800e63975d0a61945508f13fb76d5e2145c0260440484252b6b81aa0bfe076d")
- depends_on('ftobjectlibrary')
+ depends_on("ftobjectlibrary")
parallel = False
diff --git a/var/spack/repos/builtin/packages/homer/package.py b/var/spack/repos/builtin/packages/homer/package.py
index 81a94b72de..30838d3e4d 100644
--- a/var/spack/repos/builtin/packages/homer/package.py
+++ b/var/spack/repos/builtin/packages/homer/package.py
@@ -12,38 +12,40 @@ class Homer(Package):
"""Software for motif discovery and next generation sequencing analysis"""
homepage = "http://homer.ucsd.edu/homer"
- url = "http://homer.ucsd.edu/homer/data/software/homer.v4.9.1.zip"
+ url = "http://homer.ucsd.edu/homer/data/software/homer.v4.9.1.zip"
- version('4.9.1', sha256='ad1303b0b0400dc8a88dbeae1ee03a94631977b751a3d335326c4febf0eec3a9')
+ version("4.9.1", sha256="ad1303b0b0400dc8a88dbeae1ee03a94631977b751a3d335326c4febf0eec3a9")
- depends_on('perl', type=('build', 'run'))
- depends_on('r-biocgenerics', type='run')
- depends_on('r-biocparallel', type='run')
- depends_on('r-edger', type='run')
- depends_on('r-deseq2', type='run')
+ depends_on("perl", type=("build", "run"))
+ depends_on("r-biocgenerics", type="run")
+ depends_on("r-biocparallel", type="run")
+ depends_on("r-edger", type="run")
+ depends_on("r-deseq2", type="run")
- variant('data', default=False,
- description='Download genome data packages')
+ variant("data", default=False, description="Download genome data packages")
def install(self, spec, prefix):
# initialize homer directories
- basedir = join_path(prefix.lib, 'homer')
+ basedir = join_path(prefix.lib, "homer")
mkdirp(basedir)
- install_tree('.', basedir)
+ install_tree(".", basedir)
# symlink bin so it is included in the PATH
- symlink(join_path(basedir, 'bin'), prefix.bin)
+ symlink(join_path(basedir, "bin"), prefix.bin)
# override homer base directory in configure script
- filter_file('my $homeDir = $1;',
- 'my $homeDir = \"{0}\";'.format(basedir),
- 'configureHomer.pl', string=True)
+ filter_file(
+ "my $homeDir = $1;",
+ 'my $homeDir = "{0}";'.format(basedir),
+ "configureHomer.pl",
+ string=True,
+ )
# compile/prepare binaries and perl scripts with the correct paths
- perl = which('perl')
- perl('configureHomer.pl', '-local')
+ perl = which("perl")
+ perl("configureHomer.pl", "-local")
# download extra data if requested
- if '+data' in spec:
- perl('configureHomer.pl', '-install', '-all')
+ if "+data" in spec:
+ perl("configureHomer.pl", "-install", "-all")
diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py
index 45accddd09..31a477cc5f 100644
--- a/var/spack/repos/builtin/packages/hoomd-blue/package.py
+++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py
@@ -19,65 +19,65 @@ class HoomdBlue(CMakePackage):
and perform in situ analysis."""
homepage = "https://glotzerlab.engin.umich.edu/hoomd-blue/"
- git = "https://bitbucket.org/glotzer/hoomd-blue.git"
+ git = "https://bitbucket.org/glotzer/hoomd-blue.git"
- version('develop', submodules=True)
+ version("develop", submodules=True)
# Bitbucket has tarballs for each release, but they cannot be built.
# The tarball doesn't come with the git submodules, nor does it come
# with a .git directory, causing the build to fail. As a workaround,
# clone a specific tag from Bitbucket instead of using the tarballs.
# https://bitbucket.org/glotzer/hoomd-blue/issues/238
- version('2.2.2', tag='v2.2.2', submodules=True)
- version('2.1.6', tag='v2.1.6', submodules=True)
+ version("2.2.2", tag="v2.2.2", submodules=True)
+ version("2.1.6", tag="v2.1.6", submodules=True)
- variant('mpi', default=True, description='Compile with MPI enabled')
- variant('cuda', default=True, description='Compile with CUDA Toolkit')
- variant('doc', default=False, description='Generate documentation')
+ variant("mpi", default=True, description="Compile with MPI enabled")
+ variant("cuda", default=True, description="Compile with CUDA Toolkit")
+ variant("doc", default=False, description="Generate documentation")
# HOOMD-blue requires C++11 support, which is only available in GCC 4.7+
# https://bitbucket.org/glotzer/hoomd-blue/issues/238
# https://gcc.gnu.org/projects/cxx-status.html
- conflicts('%gcc@:4.6')
+ conflicts("%gcc@:4.6")
# HOOMD-blue 2.1.6 uses hexadecimal floats, which are not technically
# part of the C++11 standard. GCC 6.0+ produces an error when this happens.
# https://bitbucket.org/glotzer/hoomd-blue/issues/239
# https://bugzilla.redhat.com/show_bug.cgi?id=1321986
- conflicts('%gcc@6.0:', when='@2.1.6')
+ conflicts("%gcc@6.0:", when="@2.1.6")
# HOOMD-blue GCC 7+ is not yet supported
- conflicts('%gcc@7.0:')
+ conflicts("%gcc@7.0:")
- extends('python')
- depends_on('python@2.7:')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('cmake@2.8.0:3.9.6', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('cuda@7.0:', when='+cuda')
- depends_on('doxygen@1.8.5:', when='+doc', type='build')
+ extends("python")
+ depends_on("python@2.7:")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("cmake@2.8.0:3.9.6", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("cuda@7.0:", when="+cuda")
+ depends_on("doxygen@1.8.5:", when="+doc", type="build")
def cmake_args(self):
spec = self.spec
cmake_args = [
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
- '-DCMAKE_INSTALL_PREFIX={0}'.format(python_platlib)
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
+ "-DCMAKE_INSTALL_PREFIX={0}".format(python_platlib),
]
# MPI support
- if '+mpi' in spec:
- os.environ['MPI_HOME'] = spec['mpi'].prefix
- cmake_args.append('-DENABLE_MPI=ON')
+ if "+mpi" in spec:
+ os.environ["MPI_HOME"] = spec["mpi"].prefix
+ cmake_args.append("-DENABLE_MPI=ON")
else:
- cmake_args.append('-DENABLE_MPI=OFF')
+ cmake_args.append("-DENABLE_MPI=OFF")
# CUDA support
- if '+cuda' in spec:
- cmake_args.append('-DENABLE_CUDA=ON')
+ if "+cuda" in spec:
+ cmake_args.append("-DENABLE_CUDA=ON")
else:
- cmake_args.append('-DENABLE_CUDA=OFF')
+ cmake_args.append("-DENABLE_CUDA=OFF")
# CUDA-aware MPI library support
# if '+cuda' in spec and '+mpi' in spec:
@@ -88,12 +88,12 @@ class HoomdBlue(CMakePackage):
# There may be a bug in the MPI-CUDA code. See:
# https://groups.google.com/forum/#!msg/hoomd-users/2griTESmc5I/E69s_M5fDwAJ
# This prevented "make test" from passing for me.
- cmake_args.append('-DENABLE_MPI_CUDA=OFF')
+ cmake_args.append("-DENABLE_MPI_CUDA=OFF")
# Documentation
- if '+doc' in spec:
- cmake_args.append('-DENABLE_DOXYGEN=ON')
+ if "+doc" in spec:
+ cmake_args.append("-DENABLE_DOXYGEN=ON")
else:
- cmake_args.append('-DENABLE_DOXYGEN=OFF')
+ cmake_args.append("-DENABLE_DOXYGEN=OFF")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/hoppet/package.py b/var/spack/repos/builtin/packages/hoppet/package.py
index cea92b53fc..ef63eb536e 100644
--- a/var/spack/repos/builtin/packages/hoppet/package.py
+++ b/var/spack/repos/builtin/packages/hoppet/package.py
@@ -11,9 +11,9 @@ class Hoppet(AutotoolsPackage):
common manipulations of parton distribution functions (PDFs)."""
homepage = "https://hoppet.hepforge.org/"
- url = "https://github.com/gavinsalam/hoppet/archive/refs/tags/hoppet-1.2.0.tar.gz"
+ url = "https://github.com/gavinsalam/hoppet/archive/refs/tags/hoppet-1.2.0.tar.gz"
- tags = ['heps']
- maintainers = ['haralmha']
+ tags = ["heps"]
+ maintainers = ["haralmha"]
- version('1.2.0', sha256='6e00eb56a4f922d03dfceba7b389a3aaf51f277afa46d7b634d661e0797e8898')
+ version("1.2.0", sha256="6e00eb56a4f922d03dfceba7b389a3aaf51f277afa46d7b634d661e0797e8898")
diff --git a/var/spack/repos/builtin/packages/hotspot/package.py b/var/spack/repos/builtin/packages/hotspot/package.py
index e8484045c5..24afb913e1 100644
--- a/var/spack/repos/builtin/packages/hotspot/package.py
+++ b/var/spack/repos/builtin/packages/hotspot/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Hotspot(MakefilePackage):
"""HotSpot is an accurate and fast thermal model suitable for use ini
- architectural studies."""
+ architectural studies."""
homepage = "http://lava.cs.virginia.edu/HotSpot/index.htm"
- git = "https://github.com/uvahotspot/HotSpot.git"
+ git = "https://github.com/uvahotspot/HotSpot.git"
- version('6.0', commit='a7a3286e368867c26381e0a23e36b3e273bdeda9')
+ version("6.0", commit="a7a3286e368867c26381e0a23e36b3e273bdeda9")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('hotspot', prefix.bin)
- install('hotfloorplan', prefix.bin)
+ install("hotspot", prefix.bin)
+ install("hotfloorplan", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hpcc/package.py b/var/spack/repos/builtin/packages/hpcc/package.py
index ceeb3a343e..fed9cbddda 100644
--- a/var/spack/repos/builtin/packages/hpcc/package.py
+++ b/var/spack/repos/builtin/packages/hpcc/package.py
@@ -37,62 +37,65 @@ class Hpcc(MakefilePackage):
url = "https://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz"
git = "https://github.com/icl-utk-edu/hpcc.git"
- version('develop', branch='main')
- version('1.5.0', sha256='0a6fef7ab9f3347e549fed65ebb98234feea9ee18aea0c8f59baefbe3cf7ffb8')
+ version("develop", branch="main")
+ version("1.5.0", sha256="0a6fef7ab9f3347e549fed65ebb98234feea9ee18aea0c8f59baefbe3cf7ffb8")
variant(
- 'fft', default='internal', description='FFT library to use',
- values=('internal', 'fftw2', 'mkl'), multi=False
+ "fft",
+ default="internal",
+ description="FFT library to use",
+ values=("internal", "fftw2", "mkl"),
+ multi=False,
)
- depends_on('gmake', type='build')
- depends_on('mpi@1.1:')
- depends_on('blas')
- depends_on('fftw-api@2+mpi', when='fft=fftw2')
- depends_on('mkl', when='fft=mkl')
+ depends_on("gmake", type="build")
+ depends_on("mpi@1.1:")
+ depends_on("blas")
+ depends_on("fftw-api@2+mpi", when="fft=fftw2")
+ depends_on("mkl", when="fft=mkl")
- arch = '{0}-{1}'.format(platform.system(), platform.processor())
+ arch = "{0}-{1}".format(platform.system(), platform.processor())
config = {
- '@SHELL@': '/bin/sh',
- '@CD@': 'cd',
- '@CP@': 'cp',
- '@LN_S@': 'ln -s',
- '@MKDIR@': 'mkdir',
- '@RM@': '/bin/rm -f',
- '@TOUCH@': 'touch',
- '@ARCHIVER@': 'ar',
- '@ARFLAGS@': 'r',
- '@RANLIB@': 'echo',
- '@ARCH@': arch,
- '@MPDIR@': '',
- '@MPINC@': '',
- '@MPLIB@': '',
- '@F2CDEFS@': '-DAdd_ -DF77_INTEGER=int -DStringSunStyle',
- '@LADIR@': '',
- '@LAINC@': '',
- '@LALIB@': '',
- '@CC@': None,
- '@CCNOOPT@': '',
- '@CCFLAGS@': '-O3',
- '@LINKER@': '$(CC)',
- '@LINKFLAGS@': ''
+ "@SHELL@": "/bin/sh",
+ "@CD@": "cd",
+ "@CP@": "cp",
+ "@LN_S@": "ln -s",
+ "@MKDIR@": "mkdir",
+ "@RM@": "/bin/rm -f",
+ "@TOUCH@": "touch",
+ "@ARCHIVER@": "ar",
+ "@ARFLAGS@": "r",
+ "@RANLIB@": "echo",
+ "@ARCH@": arch,
+ "@MPDIR@": "",
+ "@MPINC@": "",
+ "@MPLIB@": "",
+ "@F2CDEFS@": "-DAdd_ -DF77_INTEGER=int -DStringSunStyle",
+ "@LADIR@": "",
+ "@LAINC@": "",
+ "@LALIB@": "",
+ "@CC@": None,
+ "@CCNOOPT@": "",
+ "@CCFLAGS@": "-O3",
+ "@LINKER@": "$(CC)",
+ "@LINKFLAGS@": "",
}
def patch(self):
- if 'fftw' in self.spec:
+ if "fftw" in self.spec:
# spack's fftw2 prefix headers with floating point type
- filter_file(r"^\s*#include <fftw.h>", "#include <sfftw.h>",
- "FFT/wrapfftw.h")
- filter_file(r"^\s*#include <fftw_mpi.h>", "#include <sfftw_mpi.h>",
- "FFT/wrapmpifftw.h")
+ filter_file(r"^\s*#include <fftw.h>", "#include <sfftw.h>", "FFT/wrapfftw.h")
+ filter_file(
+ r"^\s*#include <fftw_mpi.h>", "#include <sfftw_mpi.h>", "FFT/wrapmpifftw.h"
+ )
def _write_make_arch(self, spec, prefix):
"""write make.arch file"""
- with working_dir('hpl'):
+ with working_dir("hpl"):
# copy template make.arch file
- make_arch_filename = 'Make.{0}'.format(self.arch)
- copy(join_path('setup', 'Make.UNKNOWN.in'), make_arch_filename)
+ make_arch_filename = "Make.{0}".format(self.arch)
+ copy(join_path("setup", "Make.UNKNOWN.in"), make_arch_filename)
# fill template with values
make_arch = FileFilter(make_arch_filename)
@@ -101,33 +104,28 @@ class Hpcc(MakefilePackage):
def edit(self, spec, prefix):
# Message Passing library (MPI)
- self.config['@MPINC@'] = spec['mpi'].headers.include_flags
- self.config['@MPLIB@'] = spec['mpi'].libs.search_flags
+ self.config["@MPINC@"] = spec["mpi"].headers.include_flags
+ self.config["@MPLIB@"] = spec["mpi"].libs.search_flags
lin_alg_libs = []
# FFT
- if self.spec.variants['fft'].value in ('fftw2', 'mkl'):
- self.config['@LAINC@'] += ' -DUSING_FFTW'
+ if self.spec.variants["fft"].value in ("fftw2", "mkl"):
+ self.config["@LAINC@"] += " -DUSING_FFTW"
- if self.spec.variants['fft'].value == 'fftw2':
- self.config['@LAINC@'] += \
- spec['fftw-api'].headers.include_flags
+ if self.spec.variants["fft"].value == "fftw2":
+ self.config["@LAINC@"] += spec["fftw-api"].headers.include_flags
# fftw does not set up libs for version 2
- lin_alg_libs.append(
- join_path(spec['fftw-api'].prefix.lib, 'libsfftw_mpi.so'))
- lin_alg_libs.append(
- join_path(spec['fftw-api'].prefix.lib, 'libsfftw.so'))
-
- elif self.spec.variants['fft'].value == 'mkl' and '^mkl' in spec:
- mklroot = env['MKLROOT']
- self.config['@LAINC@'] += \
- ' -I{0}'.format(join_path(mklroot, 'include/fftw'))
+ lin_alg_libs.append(join_path(spec["fftw-api"].prefix.lib, "libsfftw_mpi.so"))
+ lin_alg_libs.append(join_path(spec["fftw-api"].prefix.lib, "libsfftw.so"))
+
+ elif self.spec.variants["fft"].value == "mkl" and "^mkl" in spec:
+ mklroot = env["MKLROOT"]
+ self.config["@LAINC@"] += " -I{0}".format(join_path(mklroot, "include/fftw"))
libfftw2x_cdft = join_path(
- mklroot, 'lib', 'intel64', 'libfftw2x_cdft_DOUBLE_ilp64.a')
- libfftw2xc = join_path(
- mklroot, 'lib', 'intel64', 'libfftw2xc_double_intel.a')
- if not (os.path.exists(libfftw2x_cdft) and
- os.path.exists(libfftw2xc)):
+ mklroot, "lib", "intel64", "libfftw2x_cdft_DOUBLE_ilp64.a"
+ )
+ libfftw2xc = join_path(mklroot, "lib", "intel64", "libfftw2xc_double_intel.a")
+ if not (os.path.exists(libfftw2x_cdft) and os.path.exists(libfftw2xc)):
raise InstallError(
"HPCC need fftw2 interface, "
"here are brief notes how to make one:\n"
@@ -139,46 +137,43 @@ class Hpcc(MakefilePackage):
"# make FFTW C wrapper library\n"
"cd $MKLROOT/interfaces/fftw2xc\n"
"make libintel64 PRECISION=MKL_DOUBLE "
- "MKLROOT=$MKLROOT\n")
+ "MKLROOT=$MKLROOT\n"
+ )
lin_alg_libs.append(libfftw2xc)
lin_alg_libs.append(libfftw2x_cdft)
# Linear Algebra library (BLAS or VSIPL)
- self.config['@LAINC@'] = spec['blas'].headers.include_flags
- lin_alg_libs = lin_alg_libs + [
- lib for lib in spec['blas'].libs if lib not in lin_alg_libs]
+ self.config["@LAINC@"] = spec["blas"].headers.include_flags
+ lin_alg_libs = lin_alg_libs + [lib for lib in spec["blas"].libs if lib not in lin_alg_libs]
# pack all LA/FFT libraries
- self.config['@LALIB@'] = ' '.join(lin_alg_libs)
+ self.config["@LALIB@"] = " ".join(lin_alg_libs)
# Compilers / linkers - Optimization flags
- self.config['@CC@'] = '{0}'.format(spec['mpi'].mpicc)
+ self.config["@CC@"] = "{0}".format(spec["mpi"].mpicc)
# Compiler flags for CPU architecture optimizations
- if spec.satisfies('%intel'):
+ if spec.satisfies("%intel"):
# with intel-parallel-studio+mpi the '-march' arguments
# are not passed to icc
- arch_opt = spec.target.optimization_flags(
- spec.compiler.name, spec.compiler.version)
- self.config['@CCFLAGS@'] = \
- '-O3 -restrict -ansi-alias -ip {0}'.format(arch_opt)
- self.config['@CCNOOPT@'] = '-restrict'
+ arch_opt = spec.target.optimization_flags(spec.compiler.name, spec.compiler.version)
+ self.config["@CCFLAGS@"] = "-O3 -restrict -ansi-alias -ip {0}".format(arch_opt)
+ self.config["@CCNOOPT@"] = "-restrict"
self._write_make_arch(spec, prefix)
def build(self, spec, prefix):
- make('arch={0}'.format(self.arch))
+ make("arch={0}".format(self.arch))
def check(self):
"""Simple check that compiled binary is working:
launch with 4 MPI processes and check that test finished."""
# copy input
- copy('_hpccinf.txt', 'hpccinf.txt')
+ copy("_hpccinf.txt", "hpccinf.txt")
# run test
- run = Executable(
- join_path(os.path.dirname(self.spec['mpi'].mpicc), 'mpirun'))
- run('-np', '4', './hpcc')
+ run = Executable(join_path(os.path.dirname(self.spec["mpi"].mpicc), "mpirun"))
+ run("-np", "4", "./hpcc")
# check output
- hpccoutf = open('hpccoutf.txt', 'rt').read()
+ hpccoutf = open("hpccoutf.txt", "rt").read()
if not re.search("End of HPC Challenge tests", hpccoutf):
raise Exception("Test run was not successfull!")
@@ -186,29 +181,27 @@ class Hpcc(MakefilePackage):
"""Same as check but within prefix location"""
with working_dir(self.prefix.share.hpcc):
# run test
- run = Executable(
- join_path(os.path.dirname(self.spec['mpi'].mpicc), 'mpirun'))
- run('-np', '4', self.prefix.bin.hpcc)
+ run = Executable(join_path(os.path.dirname(self.spec["mpi"].mpicc), "mpirun"))
+ run("-np", "4", self.prefix.bin.hpcc)
# check output
- hpccoutf = open('hpccoutf.txt', 'rt').read()
+ hpccoutf = open("hpccoutf.txt", "rt").read()
if not re.search("End of HPC Challenge tests", hpccoutf):
raise Exception("Test run was not successfull!")
def install(self, spec, prefix):
# copy executable
mkdirp(self.prefix.bin)
- install('hpcc', prefix.bin)
+ install("hpcc", prefix.bin)
# copy input example
mkdirp(self.prefix.share.hpcc)
- install('_hpccinf.txt',
- join_path(self.prefix.share.hpcc, 'hpccinf.txt'))
+ install("_hpccinf.txt", join_path(self.prefix.share.hpcc, "hpccinf.txt"))
# copy documentation
mkdirp(self.prefix.doc.hpcc)
- install('README.html', self.prefix.doc.hpcc)
- install('README.txt', self.prefix.doc.hpcc)
+ install("README.html", self.prefix.doc.hpcc)
+ install("README.txt", self.prefix.doc.hpcc)
def flag_handler(self, name, flags):
# old GCC defaults to -std=c90 but C99 is required for "restrict"
- if self.spec.satisfies('%gcc@:5.1') and name == 'cflags':
+ if self.spec.satisfies("%gcc@:5.1") and name == "cflags":
flags.append(self.compiler.c99_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/hpccg/package.py b/var/spack/repos/builtin/packages/hpccg/package.py
index 8d78f6e2c8..6a6b3e9179 100644
--- a/var/spack/repos/builtin/packages/hpccg/package.py
+++ b/var/spack/repos/builtin/packages/hpccg/package.py
@@ -8,42 +8,42 @@ from spack.package import *
class Hpccg(MakefilePackage):
"""Proxy Application. Intended to be the 'best approximation
- to an unstructured implicit finite element or finite volume
- application in 800 lines or fewer.'
+ to an unstructured implicit finite element or finite volume
+ application in 800 lines or fewer.'
"""
homepage = "https://mantevo.org/about/applications/"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/HPCCG/HPCCG-1.0.tar.gz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/HPCCG/HPCCG-1.0.tar.gz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0', sha256='5be1b8cc3246811bfc9d6d7072be29455777d61b585675512ae52043ea64cefc')
+ version("1.0", sha256="5be1b8cc3246811bfc9d6d7072be29455777d61b585675512ae52043ea64cefc")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=True, description='Build with OpenMP support')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=True, description="Build with OpenMP support")
# Optional dependencies
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
@property
def build_targets(self):
targets = []
- if '+mpi' in self.spec:
- targets.append('CXX={0}'.format(self.spec['mpi'].mpicxx))
- targets.append('LINKER={0}'.format(self.spec['mpi'].mpicxx))
- targets.append('USE_MPI=-DUSING_MPI')
+ if "+mpi" in self.spec:
+ targets.append("CXX={0}".format(self.spec["mpi"].mpicxx))
+ targets.append("LINKER={0}".format(self.spec["mpi"].mpicxx))
+ targets.append("USE_MPI=-DUSING_MPI")
else:
- targets.append('CXX=c++')
- targets.append('LINKER=c++')
+ targets.append("CXX=c++")
+ targets.append("LINKER=c++")
- if '+openmp' in self.spec:
- targets.append('USE_OMP=-DUSING_OMP')
- targets.append('OMP_FLAGS={0}'.format(self.compiler.openmp_flag))
+ if "+openmp" in self.spec:
+ targets.append("USE_OMP=-DUSING_OMP")
+ targets.append("OMP_FLAGS={0}".format(self.compiler.openmp_flag))
# Remove Compiler Specific Optimization Flags
- if '%gcc' not in self.spec:
- targets.append('CPP_OPT_FLAGS=')
+ if "%gcc" not in self.spec:
+ targets.append("CPP_OPT_FLAGS=")
return targets
@@ -52,7 +52,7 @@ class Hpccg(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('test_HPCCG', prefix.bin)
- install('README', prefix.doc)
- install('weakScalingRunScript', prefix.bin)
- install('strongScalingRunScript', prefix.bin)
+ install("test_HPCCG", prefix.bin)
+ install("README", prefix.doc)
+ install("weakScalingRunScript", prefix.bin)
+ install("strongScalingRunScript", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hpcg/package.py b/var/spack/repos/builtin/packages/hpcg/package.py
index 4c446c2445..2380e93790 100644
--- a/var/spack/repos/builtin/packages/hpcg/package.py
+++ b/var/spack/repos/builtin/packages/hpcg/package.py
@@ -18,68 +18,76 @@ class Hpcg(AutotoolsPackage):
url = "https://www.hpcg-benchmark.org/downloads/hpcg-3.1.tar.gz"
git = "https://github.com/hpcg-benchmark/hpcg.git"
- version('develop', branch='master')
- version('3.1', sha256='33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4')
+ version("develop", branch="master")
+ version("3.1", sha256="33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4")
- variant('openmp', default=True, description='Enable OpenMP support')
+ variant("openmp", default=True, description="Enable OpenMP support")
- patch('https://github.com/hpcg-benchmark/hpcg/commit/e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75.patch?full_index=1', sha256='722c13837b287e979442f8372274aa5910a290aa39f1ed1ff646116be08dcae9', when='%gcc@9:')
- patch('https://github.com/hpcg-benchmark/hpcg/commit/e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75.patch?full_index=1', sha256='722c13837b287e979442f8372274aa5910a290aa39f1ed1ff646116be08dcae9', when='%aocc')
+ patch(
+ "https://github.com/hpcg-benchmark/hpcg/commit/e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75.patch?full_index=1",
+ sha256="722c13837b287e979442f8372274aa5910a290aa39f1ed1ff646116be08dcae9",
+ when="%gcc@9:",
+ )
+ patch(
+ "https://github.com/hpcg-benchmark/hpcg/commit/e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75.patch?full_index=1",
+ sha256="722c13837b287e979442f8372274aa5910a290aa39f1ed1ff646116be08dcae9",
+ when="%aocc",
+ )
- depends_on('mpi@1.1:')
+ depends_on("mpi@1.1:")
- arch = '{0}-{1}'.format(platform.system(), platform.processor())
- build_targets = ['arch={0}'.format(arch)]
+ arch = "{0}-{1}".format(platform.system(), platform.processor())
+ build_targets = ["arch={0}".format(arch)]
def configure(self, spec, prefix):
- CXXFLAGS = '-O3 -ffast-math -ftree-vectorize '
- if not spec.satisfies('%aocc') and not spec.satisfies('%cce'):
- CXXFLAGS += ' -ftree-vectorizer-verbose=0 '
- if spec.satisfies('%cce'):
- CXXFLAGS += ' -Rpass=loop-vectorize'
- CXXFLAGS += ' -Rpass-missed=loop-vectorize'
- CXXFLAGS += ' -Rpass-analysis=loop-vectorize '
- if '+openmp' in self.spec:
+ CXXFLAGS = "-O3 -ffast-math -ftree-vectorize "
+ if not spec.satisfies("%aocc") and not spec.satisfies("%cce"):
+ CXXFLAGS += " -ftree-vectorizer-verbose=0 "
+ if spec.satisfies("%cce"):
+ CXXFLAGS += " -Rpass=loop-vectorize"
+ CXXFLAGS += " -Rpass-missed=loop-vectorize"
+ CXXFLAGS += " -Rpass-analysis=loop-vectorize "
+ if "+openmp" in self.spec:
CXXFLAGS += self.compiler.openmp_flag
config = [
# Shell
- 'SHELL = /bin/sh',
- 'CD = cd',
- 'CP = cp',
- 'LN_S = ln -fs',
- 'MKDIR = mkdir -p',
- 'RM = /bin/rm -f',
- 'TOUCH = touch',
+ "SHELL = /bin/sh",
+ "CD = cd",
+ "CP = cp",
+ "LN_S = ln -fs",
+ "MKDIR = mkdir -p",
+ "RM = /bin/rm -f",
+ "TOUCH = touch",
# Platform identifier
- 'ARCH = {0}'.format(self.arch),
+ "ARCH = {0}".format(self.arch),
# HPCG Directory Structure / HPCG library
- 'TOPdir = {0}'.format(os.getcwd()),
- 'SRCdir = $(TOPdir)/src',
- 'INCdir = $(TOPdir)/src',
- 'BINdir = $(TOPdir)/bin',
+ "TOPdir = {0}".format(os.getcwd()),
+ "SRCdir = $(TOPdir)/src",
+ "INCdir = $(TOPdir)/src",
+ "BINdir = $(TOPdir)/bin",
# Message Passing library (MPI)
- 'MPinc = -I{0}'.format(spec['mpi'].prefix.include),
- 'MPlib = -L{0}'.format(spec['mpi'].prefix.lib),
+ "MPinc = -I{0}".format(spec["mpi"].prefix.include),
+ "MPlib = -L{0}".format(spec["mpi"].prefix.lib),
# HPCG includes / libraries / specifics
- 'HPCG_INCLUDES = -I$(INCdir) -I$(INCdir)/$(arch) $(MPinc)',
- 'HPCG_LIBS =',
- 'HPCG_OPTS =',
- 'HPCG_DEFS = $(HPCG_OPTS) $(HPCG_INCLUDES)',
+ "HPCG_INCLUDES = -I$(INCdir) -I$(INCdir)/$(arch) $(MPinc)",
+ "HPCG_LIBS =",
+ "HPCG_OPTS =",
+ "HPCG_DEFS = $(HPCG_OPTS) $(HPCG_INCLUDES)",
# Compilers / linkers - Optimization flags
- 'CXX = {0}'.format(spec['mpi'].mpicxx),
- 'CXXFLAGS = $(HPCG_DEFS) {0}'.format(CXXFLAGS),
- 'LINKER = $(CXX)',
- 'LINKFLAGS = $(CXXFLAGS)',
- 'ARCHIVER = ar',
- 'ARFLAGS = r',
- 'RANLIB = echo',
+ "CXX = {0}".format(spec["mpi"].mpicxx),
+ "CXXFLAGS = $(HPCG_DEFS) {0}".format(CXXFLAGS),
+ "LINKER = $(CXX)",
+ "LINKFLAGS = $(CXXFLAGS)",
+ "ARCHIVER = ar",
+ "ARFLAGS = r",
+ "RANLIB = echo",
]
# Write configuration options to include file
- with open('setup/Make.{0}'.format(self.arch), 'w') as makefile:
+ with open("setup/Make.{0}".format(self.arch), "w") as makefile:
for var in config:
- makefile.write('{0}\n'.format(var))
+ makefile.write("{0}\n".format(var))
def install(self, spec, prefix):
# Manual installation
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 754cd41056..287fe91106 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -17,151 +17,158 @@ class Hpctoolkit(AutotoolsPackage):
and attributes them to the full calling context in which they occur."""
homepage = "http://hpctoolkit.org"
- git = "https://github.com/HPCToolkit/hpctoolkit.git"
- maintainers = ['mwkrentel']
+ git = "https://github.com/HPCToolkit/hpctoolkit.git"
+ maintainers = ["mwkrentel"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('develop', branch='develop')
- version('master', branch='master')
- version('2022.05.15', commit='8ac72d9963c4ed7b7f56acb65feb02fbce353479')
- version('2022.04.15', commit='a92fdad29fc180cc522a9087bba9554a829ee002')
- version('2022.01.15', commit='0238e9a052a696707e4e65b2269f342baad728ae')
- version('2021.10.15', commit='a8f289e4dc87ff98e05cfc105978c09eb2f5ea16')
- version('2021.05.15', commit='004ea0c2aea6a261e7d5d216c24f8a703fc6c408')
- version('2021.03.01', commit='68a051044c952f0f4dac459d9941875c700039e7')
- version('2020.08.03', commit='d9d13c705d81e5de38e624254cf0875cce6add9a')
- version('2020.07.21', commit='4e56c780cffc53875aca67d6472a2fb3678970eb')
- version('2020.06.12', commit='ac6ae1156e77d35596fea743ed8ae768f7222f19')
- version('2020.03.01', commit='94ede4e6fa1e05e6f080be8dc388240ea027f769')
- version('2019.12.28', commit='b4e1877ff96069fd8ed0fdf0e36283a5b4b62240')
- version('2019.08.14', commit='6ea44ed3f93ede2d0a48937f288a2d41188a277c', deprecated=True)
- version('2018.12.28', commit='8dbf0d543171ffa9885344f32f23cc6f7f6e39bc', deprecated=True)
- version('2018.11.05', commit='d0c43e39020e67095b1f1d8bb89b75f22b12aee9', deprecated=True)
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("2022.05.15", commit="8ac72d9963c4ed7b7f56acb65feb02fbce353479")
+ version("2022.04.15", commit="a92fdad29fc180cc522a9087bba9554a829ee002")
+ version("2022.01.15", commit="0238e9a052a696707e4e65b2269f342baad728ae")
+ version("2021.10.15", commit="a8f289e4dc87ff98e05cfc105978c09eb2f5ea16")
+ version("2021.05.15", commit="004ea0c2aea6a261e7d5d216c24f8a703fc6c408")
+ version("2021.03.01", commit="68a051044c952f0f4dac459d9941875c700039e7")
+ version("2020.08.03", commit="d9d13c705d81e5de38e624254cf0875cce6add9a")
+ version("2020.07.21", commit="4e56c780cffc53875aca67d6472a2fb3678970eb")
+ version("2020.06.12", commit="ac6ae1156e77d35596fea743ed8ae768f7222f19")
+ version("2020.03.01", commit="94ede4e6fa1e05e6f080be8dc388240ea027f769")
+ version("2019.12.28", commit="b4e1877ff96069fd8ed0fdf0e36283a5b4b62240")
+ version("2019.08.14", commit="6ea44ed3f93ede2d0a48937f288a2d41188a277c", deprecated=True)
+ version("2018.12.28", commit="8dbf0d543171ffa9885344f32f23cc6f7f6e39bc", deprecated=True)
+ version("2018.11.05", commit="d0c43e39020e67095b1f1d8bb89b75f22b12aee9", deprecated=True)
# Options for MPI and hpcprof-mpi. We always support profiling
# MPI applications. These options add hpcprof-mpi, the MPI
# version of hpcprof. Cray and Blue Gene need separate options
# because an MPI module in packages.yaml doesn't work on these
# systems.
- variant('cray', default=False,
- description='Build for Cray compute nodes, including '
- 'hpcprof-mpi.')
+ variant(
+ "cray",
+ default=False,
+ description="Build for Cray compute nodes, including " "hpcprof-mpi.",
+ )
- variant('mpi', default=False,
- description='Build hpcprof-mpi, the MPI version of hpcprof.')
+ variant("mpi", default=False, description="Build hpcprof-mpi, the MPI version of hpcprof.")
# We can't build with both PAPI and perfmon for risk of segfault
# from mismatched header files (unless PAPI installs the perfmon
# headers).
- variant('papi', default=True,
- description='Use PAPI instead of perfmon for access to '
- 'the hardware performance counters.')
+ variant(
+ "papi",
+ default=True,
+ description="Use PAPI instead of perfmon for access to "
+ "the hardware performance counters.",
+ )
- variant('all-static', default=False,
- description='Needed when MPICXX builds static binaries '
- 'for the compute nodes.')
+ variant(
+ "all-static",
+ default=False,
+ description="Needed when MPICXX builds static binaries " "for the compute nodes.",
+ )
- variant('cuda', default=False,
- description='Support CUDA on NVIDIA GPUs (2020.03.01 or later).')
+ variant(
+ "cuda", default=False, description="Support CUDA on NVIDIA GPUs (2020.03.01 or later)."
+ )
- variant('level_zero', default=False,
- description='Support Level Zero on Intel GPUs (2022.04.15 or later).')
+ variant(
+ "level_zero",
+ default=False,
+ description="Support Level Zero on Intel GPUs (2022.04.15 or later).",
+ )
- variant('gtpin', default=False,
- description='Support instrumenting Intel GPU kernels with Intel GT-Pin '
- '(2022.05.15 or later, and requires level_zero).')
+ variant(
+ "gtpin",
+ default=False,
+ description="Support instrumenting Intel GPU kernels with Intel GT-Pin "
+ "(2022.05.15 or later, and requires level_zero).",
+ )
- variant('opencl', default=False,
- description='Support OpenCL')
+ variant("opencl", default=False, description="Support OpenCL")
- variant('rocm', default=False,
- description='Support ROCM on AMD GPUs (2022.04.15 or later).')
+ variant("rocm", default=False, description="Support ROCM on AMD GPUs (2022.04.15 or later).")
- variant('debug', default=False,
- description='Build in debug (develop) mode.')
+ variant("debug", default=False, description="Build in debug (develop) mode.")
- variant('viewer', default=True, description='Include hpcviewer.')
+ variant("viewer", default=True, description="Include hpcviewer.")
boost_libs = (
- '+atomic +chrono +date_time +filesystem +system +thread +timer'
- ' +graph +regex +shared +multithreaded visibility=global'
+ "+atomic +chrono +date_time +filesystem +system +thread +timer"
+ " +graph +regex +shared +multithreaded visibility=global"
)
- depends_on('binutils +libiberty', type='link', when='@2021:master')
- depends_on('binutils +libiberty~nls', type='link', when='@2020.04:2020')
- depends_on('binutils@:2.33.1 +libiberty~nls', type='link', when='@:2020.03')
- depends_on('boost' + boost_libs)
- depends_on('bzip2+shared', type='link')
- depends_on('dyninst@12.1.0:', when='@2022.0:')
- depends_on('dyninst@10.2.0:', when='@2021.0:2021.12')
- depends_on('dyninst@9.3.2:', when='@:2020')
- depends_on('elfutils+bzip2+xz~nls', type='link')
- depends_on('gotcha@1.0.3:', when='@:2020.09')
- depends_on('intel-tbb+shared')
- depends_on('libdwarf', when='@:master')
- depends_on('libiberty+pic', when='@develop')
- depends_on('libmonitor+hpctoolkit~dlopen', when='@2021.00:')
- depends_on('libmonitor+hpctoolkit+dlopen', when='@:2020')
- depends_on('libmonitor@2021.11.08:', when='@2022.01:')
- depends_on('libunwind@1.4: +xz+pic')
- depends_on('mbedtls+pic', when='@:2022.03')
- depends_on('xerces-c transcoder=iconv')
- depends_on('xz+pic', type='link')
- depends_on('zlib+shared')
-
- depends_on('cuda', when='+cuda')
- depends_on('oneapi-level-zero', when='+level_zero')
- depends_on('oneapi-igc', when='+gtpin')
- depends_on('intel-gtpin', when='+gtpin')
- depends_on('opencl-c-headers', when='+opencl')
-
- depends_on('intel-xed+pic', when='target=x86_64:')
- depends_on('memkind', type=('build', 'run'), when='@2021.05.01:')
- depends_on('papi', when='+papi')
- depends_on('libpfm4', when='~papi')
- depends_on('mpi', when='+mpi')
- depends_on('hpcviewer', type='run', when='+viewer')
-
- depends_on('hip@4.5:', when='+rocm')
- depends_on('hsa-rocr-dev@4.5:', when='+rocm')
- depends_on('roctracer-dev@4.5:', when='+rocm')
- depends_on('rocprofiler-dev@4.5:', when='+rocm')
-
- conflicts('%gcc@:4.7', when='^dyninst@10.0.0:',
- msg='hpctoolkit requires gnu gcc 4.8.x or later')
-
- conflicts('%gcc@:4', when='@2020.03:2020',
- msg='hpctoolkit requires gnu gcc 5.x or later')
-
- conflicts('%gcc@:6', when='@2021.00:',
- msg='hpctoolkit requires gnu gcc 7.x or later')
-
- conflicts('+cuda', when='@:2019',
- msg='cuda requires 2020.03.01 or later')
-
- conflicts('+gtpin', when='~level_zero',
- msg='gtpin requires level_zero')
-
- conflicts('+rocm', when='@:2022.03',
- msg='rocm requires 2022.04.15 or later')
-
- conflicts('^binutils@2.35:2.35.1',
- msg='avoid binutils 2.35 and 2.35.1 (spews errors)')
+ depends_on("binutils +libiberty", type="link", when="@2021:master")
+ depends_on("binutils +libiberty~nls", type="link", when="@2020.04:2020")
+ depends_on("binutils@:2.33.1 +libiberty~nls", type="link", when="@:2020.03")
+ depends_on("boost" + boost_libs)
+ depends_on("bzip2+shared", type="link")
+ depends_on("dyninst@12.1.0:", when="@2022.0:")
+ depends_on("dyninst@10.2.0:", when="@2021.0:2021.12")
+ depends_on("dyninst@9.3.2:", when="@:2020")
+ depends_on("elfutils+bzip2+xz~nls", type="link")
+ depends_on("gotcha@1.0.3:", when="@:2020.09")
+ depends_on("intel-tbb+shared")
+ depends_on("libdwarf", when="@:master")
+ depends_on("libiberty+pic", when="@develop")
+ depends_on("libmonitor+hpctoolkit~dlopen", when="@2021.00:")
+ depends_on("libmonitor+hpctoolkit+dlopen", when="@:2020")
+ depends_on("libmonitor@2021.11.08:", when="@2022.01:")
+ depends_on("libunwind@1.4: +xz+pic")
+ depends_on("mbedtls+pic", when="@:2022.03")
+ depends_on("xerces-c transcoder=iconv")
+ depends_on("xz+pic", type="link")
+ depends_on("zlib+shared")
+
+ depends_on("cuda", when="+cuda")
+ depends_on("oneapi-level-zero", when="+level_zero")
+ depends_on("oneapi-igc", when="+gtpin")
+ depends_on("intel-gtpin", when="+gtpin")
+ depends_on("opencl-c-headers", when="+opencl")
+
+ depends_on("intel-xed+pic", when="target=x86_64:")
+ depends_on("memkind", type=("build", "run"), when="@2021.05.01:")
+ depends_on("papi", when="+papi")
+ depends_on("libpfm4", when="~papi")
+ depends_on("mpi", when="+mpi")
+ depends_on("hpcviewer", type="run", when="+viewer")
+
+ depends_on("hip@4.5:", when="+rocm")
+ depends_on("hsa-rocr-dev@4.5:", when="+rocm")
+ depends_on("roctracer-dev@4.5:", when="+rocm")
+ depends_on("rocprofiler-dev@4.5:", when="+rocm")
+
+ conflicts(
+ "%gcc@:4.7", when="^dyninst@10.0.0:", msg="hpctoolkit requires gnu gcc 4.8.x or later"
+ )
+
+ conflicts("%gcc@:4", when="@2020.03:2020", msg="hpctoolkit requires gnu gcc 5.x or later")
+
+ conflicts("%gcc@:6", when="@2021.00:", msg="hpctoolkit requires gnu gcc 7.x or later")
+
+ conflicts("+cuda", when="@:2019", msg="cuda requires 2020.03.01 or later")
+
+ conflicts("+gtpin", when="~level_zero", msg="gtpin requires level_zero")
+
+ conflicts("+rocm", when="@:2022.03", msg="rocm requires 2022.04.15 or later")
+
+ conflicts("^binutils@2.35:2.35.1", msg="avoid binutils 2.35 and 2.35.1 (spews errors)")
# Fix the build for old revs with gcc 10.x.
- patch('gcc10-enum.patch', when='@2020.01.01:2020.08 %gcc@10.0:')
+ patch("gcc10-enum.patch", when="@2020.01.01:2020.08 %gcc@10.0:")
- patch('https://github.com/HPCToolkit/hpctoolkit/commit/511afd95b01d743edc5940c84e0079f462b2c23e.patch?full_index=1',
- sha256='c8371b929f45dafae37d2ef17880fcfb86de893beebaec501a282bc04b61ef64',
- when='@2019.08.01:2021.03 %gcc@11.0:')
+ patch(
+ "https://github.com/HPCToolkit/hpctoolkit/commit/511afd95b01d743edc5940c84e0079f462b2c23e.patch?full_index=1",
+ sha256="c8371b929f45dafae37d2ef17880fcfb86de893beebaec501a282bc04b61ef64",
+ when="@2019.08.01:2021.03 %gcc@11.0:",
+ )
# Change python to python3 for some old revs that use a script
# with /usr/bin/env python.
- depends_on('python@3.4:', type='build', when='@2020.03:2020.08')
- patch('python3.patch', when='@2020.03:2020.08')
+ depends_on("python@3.4:", type="build", when="@2020.03:2020.08")
+ patch("python3.patch", when="@2020.03:2020.08")
flag_handler = AutotoolsPackage.build_system_flags
@@ -169,80 +176,88 @@ class Hpctoolkit(AutotoolsPackage):
spec = self.spec
args = [
- '--with-boost=%s' % spec['boost'].prefix,
- '--with-bzip=%s' % spec['bzip2'].prefix,
- '--with-dyninst=%s' % spec['dyninst'].prefix,
- '--with-elfutils=%s' % spec['elfutils'].prefix,
- '--with-tbb=%s' % spec['intel-tbb'].prefix,
- '--with-libmonitor=%s' % spec['libmonitor'].prefix,
- '--with-libunwind=%s' % spec['libunwind'].prefix,
- '--with-xerces=%s' % spec['xerces-c'].prefix,
- '--with-lzma=%s' % spec['xz'].prefix,
- '--with-zlib=%s' % spec['zlib'].prefix,
+ "--with-boost=%s" % spec["boost"].prefix,
+ "--with-bzip=%s" % spec["bzip2"].prefix,
+ "--with-dyninst=%s" % spec["dyninst"].prefix,
+ "--with-elfutils=%s" % spec["elfutils"].prefix,
+ "--with-tbb=%s" % spec["intel-tbb"].prefix,
+ "--with-libmonitor=%s" % spec["libmonitor"].prefix,
+ "--with-libunwind=%s" % spec["libunwind"].prefix,
+ "--with-xerces=%s" % spec["xerces-c"].prefix,
+ "--with-lzma=%s" % spec["xz"].prefix,
+ "--with-zlib=%s" % spec["zlib"].prefix,
]
- if spec.satisfies('@:master'):
- args.extend([
- '--with-binutils=%s' % spec['binutils'].prefix,
- '--with-libdwarf=%s' % spec['libdwarf'].prefix,
- ])
+ if spec.satisfies("@:master"):
+ args.extend(
+ [
+ "--with-binutils=%s" % spec["binutils"].prefix,
+ "--with-libdwarf=%s" % spec["libdwarf"].prefix,
+ ]
+ )
else:
- args.append('--with-libiberty=%s' % spec['libiberty'].prefix)
+ args.append("--with-libiberty=%s" % spec["libiberty"].prefix)
- if spec.satisfies('@:2020.09'):
- args.append('--with-gotcha=%s' % spec['gotcha'].prefix)
+ if spec.satisfies("@:2020.09"):
+ args.append("--with-gotcha=%s" % spec["gotcha"].prefix)
- if spec.target.family == 'x86_64':
- args.append('--with-xed=%s' % spec['intel-xed'].prefix)
+ if spec.target.family == "x86_64":
+ args.append("--with-xed=%s" % spec["intel-xed"].prefix)
- if spec.satisfies('@:2022.03'):
- args.append('--with-mbedtls=%s' % spec['mbedtls'].prefix)
+ if spec.satisfies("@:2022.03"):
+ args.append("--with-mbedtls=%s" % spec["mbedtls"].prefix)
- if spec.satisfies('@2021.05.01:'):
- args.append('--with-memkind=%s' % spec['memkind'].prefix)
+ if spec.satisfies("@2021.05.01:"):
+ args.append("--with-memkind=%s" % spec["memkind"].prefix)
- if spec.satisfies('+papi'):
- args.append('--with-papi=%s' % spec['papi'].prefix)
+ if spec.satisfies("+papi"):
+ args.append("--with-papi=%s" % spec["papi"].prefix)
else:
- args.append('--with-perfmon=%s' % spec['libpfm4'].prefix)
-
- if '+cuda' in spec:
- args.append('--with-cuda=%s' % spec['cuda'].prefix)
-
- if '+level_zero' in spec:
- args.append('--with-level0=%s' % spec['oneapi-level-zero'].prefix)
-
- if '+opencl' in spec:
- args.append('--with-opencl=%s' % spec['opencl-c-headers'].prefix)
-
- if '+gtpin' in spec:
- args.extend([
- '--with-gtpin=%s' % spec['intel-gtpin'].prefix,
- '--with-igc=%s' % spec['oneapi-igc'].prefix,
- ])
-
- if spec.satisfies('+rocm'):
- args.extend([
- '--with-rocm-hip=%s' % spec['hip'].prefix,
- '--with-rocm-hsa=%s' % spec['hsa-rocr-dev'].prefix,
- '--with-rocm-tracer=%s' % spec['roctracer-dev'].prefix,
- '--with-rocm-profiler=%s' % spec['rocprofiler-dev'].prefix,
- ])
+ args.append("--with-perfmon=%s" % spec["libpfm4"].prefix)
+
+ if "+cuda" in spec:
+ args.append("--with-cuda=%s" % spec["cuda"].prefix)
+
+ if "+level_zero" in spec:
+ args.append("--with-level0=%s" % spec["oneapi-level-zero"].prefix)
+
+ if "+opencl" in spec:
+ args.append("--with-opencl=%s" % spec["opencl-c-headers"].prefix)
+
+ if "+gtpin" in spec:
+ args.extend(
+ [
+ "--with-gtpin=%s" % spec["intel-gtpin"].prefix,
+ "--with-igc=%s" % spec["oneapi-igc"].prefix,
+ ]
+ )
+
+ if spec.satisfies("+rocm"):
+ args.extend(
+ [
+ "--with-rocm-hip=%s" % spec["hip"].prefix,
+ "--with-rocm-hsa=%s" % spec["hsa-rocr-dev"].prefix,
+ "--with-rocm-tracer=%s" % spec["roctracer-dev"].prefix,
+ "--with-rocm-profiler=%s" % spec["rocprofiler-dev"].prefix,
+ ]
+ )
# MPI options for hpcprof-mpi.
- if '+cray' in spec:
- args.extend([
- '--enable-mpi-search=cray',
- '--enable-all-static',
- ])
- elif '+mpi' in spec:
- args.append('MPICXX=%s' % spec['mpi'].mpicxx)
-
- if '+all-static' in spec:
- args.append('--enable-all-static')
-
- if spec.satisfies('+debug'):
- args.append('--enable-develop')
+ if "+cray" in spec:
+ args.extend(
+ [
+ "--enable-mpi-search=cray",
+ "--enable-all-static",
+ ]
+ )
+ elif "+mpi" in spec:
+ args.append("MPICXX=%s" % spec["mpi"].mpicxx)
+
+ if "+all-static" in spec:
+ args.append("--enable-all-static")
+
+ if spec.satisfies("+debug"):
+ args.append("--enable-develop")
return args
@@ -253,11 +268,11 @@ class Hpctoolkit(AutotoolsPackage):
def setup_run_environment(self, env):
spec = self.spec
env.clear()
- env.prepend_path('PATH', spec.prefix.bin)
- env.prepend_path('MANPATH', spec.prefix.share.man)
- if '+viewer' in spec:
- env.prepend_path('PATH', spec['hpcviewer'].prefix.bin)
- env.prepend_path('MANPATH', spec['hpcviewer'].prefix.share.man)
+ env.prepend_path("PATH", spec.prefix.bin)
+ env.prepend_path("MANPATH", spec.prefix.share.man)
+ if "+viewer" in spec:
+ env.prepend_path("PATH", spec["hpcviewer"].prefix.bin)
+ env.prepend_path("MANPATH", spec["hpcviewer"].prefix.share.man)
# Build tests (spack install --run-tests). Disable the default
# spack tests and run autotools 'make check', but only from the
@@ -265,29 +280,30 @@ class Hpctoolkit(AutotoolsPackage):
build_time_test_callbacks = [] # type: List[str]
install_time_test_callbacks = [] # type: List[str]
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
- if self.spec.satisfies('@2022:'):
- with working_dir('tests'):
- make('check')
+ if self.spec.satisfies("@2022:"):
+ with working_dir("tests"):
+ make("check")
else:
- tty.warn('spack test for hpctoolkit requires 2022.01.15 or later')
+ tty.warn("spack test for hpctoolkit requires 2022.01.15 or later")
# Post-Install tests (spack test run). These are the same tests
# but with a different Makefile that works outside the build
# directory.
- @run_after('install')
+ @run_after("install")
def copy_test_files(self):
- if self.spec.satisfies('@2022:'):
- self.cache_extra_test_sources(['tests'])
+ if self.spec.satisfies("@2022:"):
+ self.cache_extra_test_sources(["tests"])
def test(self):
- test_dir = join_path(self.test_suite.current_test_cache_dir, 'tests')
- if self.spec.satisfies('@2022:'):
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "tests")
+ if self.spec.satisfies("@2022:"):
with working_dir(test_dir):
- make('-f', 'Makefile.spack', 'all')
- self.run_test('./run-sort', status=[0], installed=False,
- purpose='selection sort unit test')
+ make("-f", "Makefile.spack", "all")
+ self.run_test(
+ "./run-sort", status=[0], installed=False, purpose="selection sort unit test"
+ )
else:
- tty.warn('spack test for hpctoolkit requires 2022.01.15 or later')
+ tty.warn("spack test for hpctoolkit requires 2022.01.15 or later")
diff --git a/var/spack/repos/builtin/packages/hpcviewer/package.py b/var/spack/repos/builtin/packages/hpcviewer/package.py
index fbb94af210..42786752ad 100644
--- a/var/spack/repos/builtin/packages/hpcviewer/package.py
+++ b/var/spack/repos/builtin/packages/hpcviewer/package.py
@@ -14,25 +14,22 @@ from spack.package import *
# version and machine type. Starting with 2019.08, the name of the
# tar file contains the version number.
def viewer_url(ver, mach):
- ver2 = ('-' + ver) if ver >= '2019.08' else ''
+ ver2 = ("-" + ver) if ver >= "2019.08" else ""
return (
- 'http://hpctoolkit.org/download/hpcviewer/{0}/'
- 'hpcviewer{1}-linux.gtk.{2}.tgz'
+ "http://hpctoolkit.org/download/hpcviewer/{0}/" "hpcviewer{1}-linux.gtk.{2}.tgz"
).format(ver, ver2, mach)
def trace_url(ver, mach):
- ver2 = ('-' + ver) if ver >= '2019.08' else ''
+ ver2 = ("-" + ver) if ver >= "2019.08" else ""
return (
- 'http://hpctoolkit.org/download/hpcviewer/{0}/'
- 'hpctraceviewer{1}-linux.gtk.{2}.tgz'
+ "http://hpctoolkit.org/download/hpcviewer/{0}/" "hpctraceviewer{1}-linux.gtk.{2}.tgz"
).format(ver, ver2, mach)
def darwin_url(ver, mach):
return (
- 'http://hpctoolkit.org/download/hpcviewer/{0}/'
- 'hpcviewer-{0}-macosx.cocoa.{1}.zip'
+ "http://hpctoolkit.org/download/hpcviewer/{0}/" "hpcviewer-{0}-macosx.cocoa.{1}.zip"
).format(ver, mach)
@@ -47,186 +44,190 @@ class Hpcviewer(Package):
"""
homepage = "http://hpctoolkit.org"
- maintainers = ['mwkrentel']
+ maintainers = ["mwkrentel"]
darwin_sha = {
- ('2022.06', 'x86_64'): 'bac852e97577a696d1d07f66340e60b9079b76372d3718c543055e76acf78a38',
- ('2022.03', 'x86_64'): 'd8d1ea959f35fced7b624996d712e8e31965fea533092d104c388f750e80909b',
- ('2022.01', 'x86_64'): '75ea439af63ba3824fb270e474902246a0713d7f5914a96c1d70db13618dcf60',
- ('2021.10', 'x86_64'): '0b71f2d63d99eb00fbaf9c03cf8632c198627c80e4372eeec5f20864509cbbe8',
- ('2021.05', 'x86_64'): '4643567b41dddbbf9272cb56b0720f4eddfb144ca05aaad7d08c878ffaf8f2fa',
+ ("2022.06", "x86_64"): "bac852e97577a696d1d07f66340e60b9079b76372d3718c543055e76acf78a38",
+ ("2022.03", "x86_64"): "d8d1ea959f35fced7b624996d712e8e31965fea533092d104c388f750e80909b",
+ ("2022.01", "x86_64"): "75ea439af63ba3824fb270e474902246a0713d7f5914a96c1d70db13618dcf60",
+ ("2021.10", "x86_64"): "0b71f2d63d99eb00fbaf9c03cf8632c198627c80e4372eeec5f20864509cbbe8",
+ ("2021.05", "x86_64"): "4643567b41dddbbf9272cb56b0720f4eddfb144ca05aaad7d08c878ffaf8f2fa",
}
viewer_sha = {
- ('2022.06', 'aarch64'): '2714d44be798a63bc65e36b6bd35e690a3fcd79398b1b8ddcb447cd620b64e84',
- ('2022.06', 'ppc64le'): '09867257c90371cf908347cf0ee3eddb381f8481625a6a80307f7de78467ada6',
- ('2022.06', 'x86_64'): 'a0ef849f5c46054b4db3c9bdeb9a1812af2355749d5a3966a473b8f04a8765e9',
- ('2022.03', 'aarch64'): '8acbc7c5a3504a42f6014c2b252c474499a227815110afa811d38817df6925a3',
- ('2022.03', 'ppc64le'): '660b642288940fa70c2fa642d17239caee62b6ebef500793c9d4509fdf574e19',
- ('2022.03', 'x86_64'): '25297c18c6f9a3279a44125bd23d782131dc33d6d274c4367b67cc32140fd4e1',
- ('2022.01', 'aarch64'): '4709d9511ad0b3fb22ea914053e36bb746f088e2a756e0f790be8a6908d1c16a',
- ('2022.01', 'ppc64le'): '8403e3134a31a97ca71ce9f14d2b973b303b3c3c116d57c05e5b2792f7b59966',
- ('2022.01', 'x86_64'): 'a8e3090d8029afa5f853aa047d1a9bd792679c83b60374daeafdd45209d4e182',
- ('2021.10', 'aarch64'): 'c696a0ecc6696f9979de3940b5471a3d99c8d573736cabb24b86255d860a23dc',
- ('2021.10', 'ppc64le'): 'f0eda3510b71fd9115c5653efba29aaefcb335c66b118cf63f36e1353c39e24e',
- ('2021.10', 'x86_64'): 'd5a444e28d6c9d1a087c39bd3ffe55c6f982dc37a7a743b83bbba2fbfc7ca7c6',
- ('2021.05', 'aarch64'): 'a500bf14be14ca9b08a8382f1d122f59b45690b6a567df0932fc2cabd6382a9a',
- ('2021.05', 'ppc64le'): 'd39f9f6556abcd5a184db242711b72b2e8571d0b78bb08d0e497fd4e6dbe87a1',
- ('2021.05', 'x86_64'): 'f316c1fd0b134c96392cd4eb5e5aa2bffa36bd449f401d8fe950ab4f761c34ab',
- ('2021.03', 'aarch64'): '1b1f7f51a319a159aa96dee21b2cd77ee23b01df263ea122980fa1567e4dab8d',
- ('2021.03', 'ppc64le'): '8fc4683a9e61263ac78fe35391930b0cdc8e84dd50f8d41dcd0c6d8072b02937',
- ('2021.03', 'x86_64'): '40b4453fe662b896a853d869486b481ded0d29abdf5e50aab2d8f3bdf8940b04',
- ('2021.01', 'aarch64'): 'fe797a1c97943f7509c36a570198291e674cd4a793c1d6538a2761d66542dc52',
- ('2021.01', 'ppc64le'): 'ba4035de2ae208280c3744000ea08d2d7f8c31bd7095f722e442ddc289648063',
- ('2021.01', 'x86_64'): '99eba4e1c613203c4658f2874d0e79e1620db7a22ac7dcb810801886ba9f8a79',
- ('2020.12', 'ppc64le'): 'ce0d741aa8849621c03183dbf11a0dc1f6d296e3de80e25976a7f2a2750899c4',
- ('2020.12', 'x86_64'): '29c5e1427893f0652e863fd6d54a8585077662597e5073532ec9f3b116626498',
- ('2020.07', 'x86_64'): '19951662626c7c9817c4a75269c85810352dc48ae9a62dfb6ce4a5b502de2118',
- ('2020.07', 'ppc64'): '3f5d9358ef8ff9ba4f6dcaa4d7132f41ba55f0c132d9fd1e2f6da18341648a4e',
- ('2020.07', 'ppc64le'): 'e236a8578dc247279d1021aa35bac47e2d4864b906efcef76c0610ee0086b353',
- ('2020.05', 'x86_64'): '27f99c94a69abd005303fb58360b0d1b3eb7d223cab81c38ae6ccdd83ec15106',
- ('2020.05', 'ppc64'): '469bce07a75476c132d3791ca49e38db015917c9c36b4810e477bc1c54a13d68',
- ('2020.05', 'ppc64le'): 'fc4491bf6d9eaf2b7f2d39b722c978597a881ece557fb05a4cf27caabb9e0b99',
- ('2020.04', 'x86_64'): '5944c7b1e518b25d143df72b06a69cffb0bfc92186eb5efee2178fc2814a0b8b',
- ('2020.04', 'ppc64'): 'ba60615a550aa77a17eb94272b62365a22298cebc6dc2cb7463686741e58d874',
- ('2020.04', 'ppc64le'): '128494077979b447875ed730f1e8c5470fafcd52ae6debe61625031248d91f7c',
- ('2020.02', 'x86_64'): 'af1f514547a9325aee30eb891b31e38c7ea3f33d2d1978b44f83e7daa3d5de6b',
- ('2020.02', 'ppc64'): '7bb4926202db663aedd5a6830778c5f73f6b08a65d56861824ea95ba83b1f59c',
- ('2020.02', 'ppc64le'): 'cfcebb7ba301affd6d21d2afd43c540e6dd4c5bc39b0d20e8bd1e4fed6aa3481',
- ('2020.01', 'x86_64'): '3cd5a2a382cec1d64c8bd0abaf2b1461dcd4092a4b4074ddbdc1b96d2a0b4220',
- ('2020.01', 'ppc64'): '814394a5f410033cc1019526c268ef98b5b381e311fcd39ae8b2bde6c6ff017c',
- ('2020.01', 'ppc64le'): 'e830e956b8088c415fb25ef44a8aca16ebcb27bcd34536866612343217e3f9e4',
- ('2019.12', 'x86_64'): '6ba149c8d23d9913291655602894f7a91f9c838e69ae5682fd7b605467255c2d',
- ('2019.12', 'ppc64'): '787257272381fac26401e1013952bea94635172503e7abf8063081fe03f08384',
- ('2019.12', 'ppc64le'): 'fd20891fdae6dd5c2313cdd98e53c52023a0cf146a1121d0c889ebedc08a8bb9',
- ('2019.09', 'x86_64'): '40982a43880fe646b7f9d03ac4911b55f8a4464510eb8c7304ffaf4d4205ecc6',
- ('2019.09', 'ppc64'): '3972d604bd160c058185b6f8f3f3a63c4031046734b29cc386c24e40831e6798',
- ('2019.09', 'ppc64le'): 'c348f442b7415aadb94ead06bd35e96442a49a9768fd8c972ca707d77d61e0c3',
- ('2019.08', 'x86_64'): '249aae6a23dca19286ee15909afbeba5e515388f1c1ad87f572454534fccb9f2',
- ('2019.08', 'ppc64'): 'f91b4772c92c05a4a35c88eec094604f3c233c7233adeede97acba38592da379',
- ('2019.08', 'ppc64le'): 'b1bd5c76b37f225a01631193e0a62524bd41a54b3354a658fdfd0f66c444cc28',
- ('2019.07', 'x86_64'): 'e999781d6a7d178cb1db5b549650024fa9b19891e933bac8b0441d24e7bf015c',
- ('2019.07', 'ppc64'): '057ce0e2d6be5639639f762fb43b116fe31fb855745abaf4ea26bd281cffaab1',
- ('2019.07', 'ppc64le'): '40d6928e0761568168f3ce34f3ed320916ea60bda830dd74513897ef77386b28',
- ('2019.04', 'x86_64'): 'c524498ef235171e298c8142b7e73b0a1f7c433f9c471fb692d31f0685e53aa4',
- ('2019.04', 'ppc64'): 'dc9daee886ba72c0615db909860ee1aed0979f12c0d113efbe721ddabdf55199',
- ('2019.04', 'ppc64le'): 'dddabccef156996d390653639096ad3e27b7384a5754f42084f50c4a50a9009b',
- ('2019.02', 'x86_64'): 'e24368a3ec27b82736a781971a8371abfe7744b2a4f68b7b41d76f84af306b83',
- ('2019.02', 'ppc64'): '72c1ef1a5682c3273e900bb248f126428a02dfe728af0c49c7ee8381938d1e18',
- ('2019.02', 'ppc64le'): '02aaf27bb5b0f72d5b5738289bce60f6ef0ef7327ca96a890892509a09adc946',
+ ("2022.06", "aarch64"): "2714d44be798a63bc65e36b6bd35e690a3fcd79398b1b8ddcb447cd620b64e84",
+ ("2022.06", "ppc64le"): "09867257c90371cf908347cf0ee3eddb381f8481625a6a80307f7de78467ada6",
+ ("2022.06", "x86_64"): "a0ef849f5c46054b4db3c9bdeb9a1812af2355749d5a3966a473b8f04a8765e9",
+ ("2022.03", "aarch64"): "8acbc7c5a3504a42f6014c2b252c474499a227815110afa811d38817df6925a3",
+ ("2022.03", "ppc64le"): "660b642288940fa70c2fa642d17239caee62b6ebef500793c9d4509fdf574e19",
+ ("2022.03", "x86_64"): "25297c18c6f9a3279a44125bd23d782131dc33d6d274c4367b67cc32140fd4e1",
+ ("2022.01", "aarch64"): "4709d9511ad0b3fb22ea914053e36bb746f088e2a756e0f790be8a6908d1c16a",
+ ("2022.01", "ppc64le"): "8403e3134a31a97ca71ce9f14d2b973b303b3c3c116d57c05e5b2792f7b59966",
+ ("2022.01", "x86_64"): "a8e3090d8029afa5f853aa047d1a9bd792679c83b60374daeafdd45209d4e182",
+ ("2021.10", "aarch64"): "c696a0ecc6696f9979de3940b5471a3d99c8d573736cabb24b86255d860a23dc",
+ ("2021.10", "ppc64le"): "f0eda3510b71fd9115c5653efba29aaefcb335c66b118cf63f36e1353c39e24e",
+ ("2021.10", "x86_64"): "d5a444e28d6c9d1a087c39bd3ffe55c6f982dc37a7a743b83bbba2fbfc7ca7c6",
+ ("2021.05", "aarch64"): "a500bf14be14ca9b08a8382f1d122f59b45690b6a567df0932fc2cabd6382a9a",
+ ("2021.05", "ppc64le"): "d39f9f6556abcd5a184db242711b72b2e8571d0b78bb08d0e497fd4e6dbe87a1",
+ ("2021.05", "x86_64"): "f316c1fd0b134c96392cd4eb5e5aa2bffa36bd449f401d8fe950ab4f761c34ab",
+ ("2021.03", "aarch64"): "1b1f7f51a319a159aa96dee21b2cd77ee23b01df263ea122980fa1567e4dab8d",
+ ("2021.03", "ppc64le"): "8fc4683a9e61263ac78fe35391930b0cdc8e84dd50f8d41dcd0c6d8072b02937",
+ ("2021.03", "x86_64"): "40b4453fe662b896a853d869486b481ded0d29abdf5e50aab2d8f3bdf8940b04",
+ ("2021.01", "aarch64"): "fe797a1c97943f7509c36a570198291e674cd4a793c1d6538a2761d66542dc52",
+ ("2021.01", "ppc64le"): "ba4035de2ae208280c3744000ea08d2d7f8c31bd7095f722e442ddc289648063",
+ ("2021.01", "x86_64"): "99eba4e1c613203c4658f2874d0e79e1620db7a22ac7dcb810801886ba9f8a79",
+ ("2020.12", "ppc64le"): "ce0d741aa8849621c03183dbf11a0dc1f6d296e3de80e25976a7f2a2750899c4",
+ ("2020.12", "x86_64"): "29c5e1427893f0652e863fd6d54a8585077662597e5073532ec9f3b116626498",
+ ("2020.07", "x86_64"): "19951662626c7c9817c4a75269c85810352dc48ae9a62dfb6ce4a5b502de2118",
+ ("2020.07", "ppc64"): "3f5d9358ef8ff9ba4f6dcaa4d7132f41ba55f0c132d9fd1e2f6da18341648a4e",
+ ("2020.07", "ppc64le"): "e236a8578dc247279d1021aa35bac47e2d4864b906efcef76c0610ee0086b353",
+ ("2020.05", "x86_64"): "27f99c94a69abd005303fb58360b0d1b3eb7d223cab81c38ae6ccdd83ec15106",
+ ("2020.05", "ppc64"): "469bce07a75476c132d3791ca49e38db015917c9c36b4810e477bc1c54a13d68",
+ ("2020.05", "ppc64le"): "fc4491bf6d9eaf2b7f2d39b722c978597a881ece557fb05a4cf27caabb9e0b99",
+ ("2020.04", "x86_64"): "5944c7b1e518b25d143df72b06a69cffb0bfc92186eb5efee2178fc2814a0b8b",
+ ("2020.04", "ppc64"): "ba60615a550aa77a17eb94272b62365a22298cebc6dc2cb7463686741e58d874",
+ ("2020.04", "ppc64le"): "128494077979b447875ed730f1e8c5470fafcd52ae6debe61625031248d91f7c",
+ ("2020.02", "x86_64"): "af1f514547a9325aee30eb891b31e38c7ea3f33d2d1978b44f83e7daa3d5de6b",
+ ("2020.02", "ppc64"): "7bb4926202db663aedd5a6830778c5f73f6b08a65d56861824ea95ba83b1f59c",
+ ("2020.02", "ppc64le"): "cfcebb7ba301affd6d21d2afd43c540e6dd4c5bc39b0d20e8bd1e4fed6aa3481",
+ ("2020.01", "x86_64"): "3cd5a2a382cec1d64c8bd0abaf2b1461dcd4092a4b4074ddbdc1b96d2a0b4220",
+ ("2020.01", "ppc64"): "814394a5f410033cc1019526c268ef98b5b381e311fcd39ae8b2bde6c6ff017c",
+ ("2020.01", "ppc64le"): "e830e956b8088c415fb25ef44a8aca16ebcb27bcd34536866612343217e3f9e4",
+ ("2019.12", "x86_64"): "6ba149c8d23d9913291655602894f7a91f9c838e69ae5682fd7b605467255c2d",
+ ("2019.12", "ppc64"): "787257272381fac26401e1013952bea94635172503e7abf8063081fe03f08384",
+ ("2019.12", "ppc64le"): "fd20891fdae6dd5c2313cdd98e53c52023a0cf146a1121d0c889ebedc08a8bb9",
+ ("2019.09", "x86_64"): "40982a43880fe646b7f9d03ac4911b55f8a4464510eb8c7304ffaf4d4205ecc6",
+ ("2019.09", "ppc64"): "3972d604bd160c058185b6f8f3f3a63c4031046734b29cc386c24e40831e6798",
+ ("2019.09", "ppc64le"): "c348f442b7415aadb94ead06bd35e96442a49a9768fd8c972ca707d77d61e0c3",
+ ("2019.08", "x86_64"): "249aae6a23dca19286ee15909afbeba5e515388f1c1ad87f572454534fccb9f2",
+ ("2019.08", "ppc64"): "f91b4772c92c05a4a35c88eec094604f3c233c7233adeede97acba38592da379",
+ ("2019.08", "ppc64le"): "b1bd5c76b37f225a01631193e0a62524bd41a54b3354a658fdfd0f66c444cc28",
+ ("2019.07", "x86_64"): "e999781d6a7d178cb1db5b549650024fa9b19891e933bac8b0441d24e7bf015c",
+ ("2019.07", "ppc64"): "057ce0e2d6be5639639f762fb43b116fe31fb855745abaf4ea26bd281cffaab1",
+ ("2019.07", "ppc64le"): "40d6928e0761568168f3ce34f3ed320916ea60bda830dd74513897ef77386b28",
+ ("2019.04", "x86_64"): "c524498ef235171e298c8142b7e73b0a1f7c433f9c471fb692d31f0685e53aa4",
+ ("2019.04", "ppc64"): "dc9daee886ba72c0615db909860ee1aed0979f12c0d113efbe721ddabdf55199",
+ ("2019.04", "ppc64le"): "dddabccef156996d390653639096ad3e27b7384a5754f42084f50c4a50a9009b",
+ ("2019.02", "x86_64"): "e24368a3ec27b82736a781971a8371abfe7744b2a4f68b7b41d76f84af306b83",
+ ("2019.02", "ppc64"): "72c1ef1a5682c3273e900bb248f126428a02dfe728af0c49c7ee8381938d1e18",
+ ("2019.02", "ppc64le"): "02aaf27bb5b0f72d5b5738289bce60f6ef0ef7327ca96a890892509a09adc946",
}
trace_sha = {
- ('2020.07', 'x86_64'): '52aea55b1d40b9453c106ac5a83020a08839b9be1e71dbd1a9f471e5f3a55d43',
- ('2020.07', 'ppc64'): '3d9222310a18618704015aecbcab7f7c5a2cedbd5ecd8ace1bfc7e98d11b8d36',
- ('2020.07', 'ppc64le'): '2f0a8b95033a5816d468b87c8c139f08a307714e2e27a1cb4a35e1c5a8083cca',
- ('2020.05', 'x86_64'): 'a0b925099a00c10fcb38e937068e50937175fd46dc086121525e546a63a7fd83',
- ('2020.05', 'ppc64'): '40526f62f36e5b6438021c2b557256638d41a6b8f4e101534b5230ac644a9b85',
- ('2020.05', 'ppc64le'): 'c16e83b59362adcebecd4231374916a2b3a3c016f75a45b24e8398f777a24f89',
- ('2020.04', 'x86_64'): '695f7a06479c2b6958a6ebc3985b7ed777e7e126c04424ce980b224690f769f3',
- ('2020.04', 'ppc64'): '78cfadaf7bc6130cc4257241499b36f4f1c47f22d0daa29f5e733ca824a87b3c',
- ('2020.04', 'ppc64le'): '28c225023accbc85a19c6d8fdcc14dae64a475ed5de2b94f18e58aab4edd2c09',
- ('2020.02', 'x86_64'): 'b7b634e91108aa50a2e8647ac6bac87df775ae38aff078545efaa84735e0a666',
- ('2020.02', 'ppc64'): 'a3e845901689e1b32bc6ab2826c6ac6ed352df4839090fa530b20f747e6e0957',
- ('2020.02', 'ppc64le'): 'a64a283f61e706d988952a7cede9fac0328b09d2d0b64e4c08acc54e38781c98',
- ('2020.01', 'x86_64'): '9459177a2445e85d648384e2ccee20524592e91a74d615262f32d0876831cd7c',
- ('2020.01', 'ppc64'): '02366a2ba30b9b2450d50cf44933288f04fae5bf9868eef7bb2ae1b49d4f454e',
- ('2020.01', 'ppc64le'): '39970e84e397ed96bc994e7b8db3b7b3aab4e3155fa7ca8e68b9274bb58115f0',
- ('2019.12', 'x86_64'): '6339b36e655e2c2b07af4cb40946f325acc46da3ec590d36069661e69b046a92',
- ('2019.12', 'ppc64'): 'fe4ee5af22a983fa0ddbfbd97fa6676f07492400536e900188455f21e489c59b',
- ('2019.12', 'ppc64le'): '2688ea834c546b9e2c6e9d69d271a62dd00f6bc7ff4cb874563ba8d0ae5824e3',
- ('2019.09', 'x86_64'): '8d7ce0710570bb8cd424d88cc4b5bfe821330f24fef84bbbbb370fa291b60a14',
- ('2019.09', 'ppc64'): 'dfb3fe8283cbaeaa1653e8c8bf68267a3f25886bc452309b10f88a7b1e713ec6',
- ('2019.09', 'ppc64le'): 'c1b6ab4f6c91e3a226e8629de62e718c92318ffd83d03db3c40678d578b99b20',
- ('2019.08', 'x86_64'): '6cefed6a397298ab31cadd10831f5d5533d3f634a4a76bb93f686e603a42c5ed',
- ('2019.08', 'ppc64'): '64ca5605c89dd3065cacaeee4a8e2ac14b47953530711ed9e04666c8435e44e8',
- ('2019.08', 'ppc64le'): 'bee03b5cb2de7e8556cf1249f98ece7848c13a0de6b8ba71786c430da68f7bcc',
- ('2019.07', 'x86_64'): '267052cf742d12bbe900bc03bc7c47c8e1704fbaad0e1a3fc77b73dc506d5a68',
- ('2019.07', 'ppc64'): '5ae63d8e2f2edf5c3b982d3663311e4d55f9b378f512926b3ebadab27ba72e22',
- ('2019.07', 'ppc64le'): 'c2883714cbafa5252432c52d1d32ab5f34554b33a9bad20dcd2c0632388fbee5',
- ('2019.04', 'x86_64'): 'f5f908c0e52c97a72af1af8519f4b191298fe52bd811dd06a051b68cd7bcce27',
- ('2019.04', 'ppc64'): '221683c992e4fe2cd9079ad2ebb531d99d04a3cbb3a8860f795b276b1eaeab19',
- ('2019.04', 'ppc64le'): 'fe539c6a165a72bba6ea7bdb34a90d862d427c4d55095c97794d54e6dd9d3075',
- ('2019.02', 'x86_64'): '5ff11317a638318295821204ffcb1276e9da1684cd5f298410ae2bf78ce88b6b',
- ('2019.02', 'ppc64'): '95b2a7d848ecb924591c248f5e47c641646ef90a071db48237ddb96c4b71a8fb',
- ('2019.02', 'ppc64le'): '01a159306e7810efe07157ec823ac6ca7570ec2014c95db599a3f90eee33355c',
+ ("2020.07", "x86_64"): "52aea55b1d40b9453c106ac5a83020a08839b9be1e71dbd1a9f471e5f3a55d43",
+ ("2020.07", "ppc64"): "3d9222310a18618704015aecbcab7f7c5a2cedbd5ecd8ace1bfc7e98d11b8d36",
+ ("2020.07", "ppc64le"): "2f0a8b95033a5816d468b87c8c139f08a307714e2e27a1cb4a35e1c5a8083cca",
+ ("2020.05", "x86_64"): "a0b925099a00c10fcb38e937068e50937175fd46dc086121525e546a63a7fd83",
+ ("2020.05", "ppc64"): "40526f62f36e5b6438021c2b557256638d41a6b8f4e101534b5230ac644a9b85",
+ ("2020.05", "ppc64le"): "c16e83b59362adcebecd4231374916a2b3a3c016f75a45b24e8398f777a24f89",
+ ("2020.04", "x86_64"): "695f7a06479c2b6958a6ebc3985b7ed777e7e126c04424ce980b224690f769f3",
+ ("2020.04", "ppc64"): "78cfadaf7bc6130cc4257241499b36f4f1c47f22d0daa29f5e733ca824a87b3c",
+ ("2020.04", "ppc64le"): "28c225023accbc85a19c6d8fdcc14dae64a475ed5de2b94f18e58aab4edd2c09",
+ ("2020.02", "x86_64"): "b7b634e91108aa50a2e8647ac6bac87df775ae38aff078545efaa84735e0a666",
+ ("2020.02", "ppc64"): "a3e845901689e1b32bc6ab2826c6ac6ed352df4839090fa530b20f747e6e0957",
+ ("2020.02", "ppc64le"): "a64a283f61e706d988952a7cede9fac0328b09d2d0b64e4c08acc54e38781c98",
+ ("2020.01", "x86_64"): "9459177a2445e85d648384e2ccee20524592e91a74d615262f32d0876831cd7c",
+ ("2020.01", "ppc64"): "02366a2ba30b9b2450d50cf44933288f04fae5bf9868eef7bb2ae1b49d4f454e",
+ ("2020.01", "ppc64le"): "39970e84e397ed96bc994e7b8db3b7b3aab4e3155fa7ca8e68b9274bb58115f0",
+ ("2019.12", "x86_64"): "6339b36e655e2c2b07af4cb40946f325acc46da3ec590d36069661e69b046a92",
+ ("2019.12", "ppc64"): "fe4ee5af22a983fa0ddbfbd97fa6676f07492400536e900188455f21e489c59b",
+ ("2019.12", "ppc64le"): "2688ea834c546b9e2c6e9d69d271a62dd00f6bc7ff4cb874563ba8d0ae5824e3",
+ ("2019.09", "x86_64"): "8d7ce0710570bb8cd424d88cc4b5bfe821330f24fef84bbbbb370fa291b60a14",
+ ("2019.09", "ppc64"): "dfb3fe8283cbaeaa1653e8c8bf68267a3f25886bc452309b10f88a7b1e713ec6",
+ ("2019.09", "ppc64le"): "c1b6ab4f6c91e3a226e8629de62e718c92318ffd83d03db3c40678d578b99b20",
+ ("2019.08", "x86_64"): "6cefed6a397298ab31cadd10831f5d5533d3f634a4a76bb93f686e603a42c5ed",
+ ("2019.08", "ppc64"): "64ca5605c89dd3065cacaeee4a8e2ac14b47953530711ed9e04666c8435e44e8",
+ ("2019.08", "ppc64le"): "bee03b5cb2de7e8556cf1249f98ece7848c13a0de6b8ba71786c430da68f7bcc",
+ ("2019.07", "x86_64"): "267052cf742d12bbe900bc03bc7c47c8e1704fbaad0e1a3fc77b73dc506d5a68",
+ ("2019.07", "ppc64"): "5ae63d8e2f2edf5c3b982d3663311e4d55f9b378f512926b3ebadab27ba72e22",
+ ("2019.07", "ppc64le"): "c2883714cbafa5252432c52d1d32ab5f34554b33a9bad20dcd2c0632388fbee5",
+ ("2019.04", "x86_64"): "f5f908c0e52c97a72af1af8519f4b191298fe52bd811dd06a051b68cd7bcce27",
+ ("2019.04", "ppc64"): "221683c992e4fe2cd9079ad2ebb531d99d04a3cbb3a8860f795b276b1eaeab19",
+ ("2019.04", "ppc64le"): "fe539c6a165a72bba6ea7bdb34a90d862d427c4d55095c97794d54e6dd9d3075",
+ ("2019.02", "x86_64"): "5ff11317a638318295821204ffcb1276e9da1684cd5f298410ae2bf78ce88b6b",
+ ("2019.02", "ppc64"): "95b2a7d848ecb924591c248f5e47c641646ef90a071db48237ddb96c4b71a8fb",
+ ("2019.02", "ppc64le"): "01a159306e7810efe07157ec823ac6ca7570ec2014c95db599a3f90eee33355c",
}
system = platform.system().lower()
machine = platform.machine().lower()
# Versions for MacOSX / Darwin
- if system == 'darwin':
+ if system == "darwin":
for key in darwin_sha.keys():
if key[1] == machine:
version(key[0], url=darwin_url(*key), sha256=darwin_sha[key])
# Versions for Linux and Cray front-end
- if system == 'linux':
+ if system == "linux":
for key in viewer_sha.keys():
if key[1] == machine:
- version(key[0], url=viewer_url(*key), sha256=viewer_sha[key],
- deprecated=(key[0] <= '2020.01'))
+ version(
+ key[0],
+ url=viewer_url(*key),
+ sha256=viewer_sha[key],
+ deprecated=(key[0] <= "2020.01"),
+ )
# Current versions include the viewer and trace viewer in
# one tar file. Before 2020.07, the trace viewer was a
# separate tar file (resource).
if key in trace_sha:
- resource(name='hpctraceviewer', url=trace_url(*key),
- sha256=trace_sha[key], placement='TRACE',
- when='@{0}'.format(key[0]))
+ resource(
+ name="hpctraceviewer",
+ url=trace_url(*key),
+ sha256=trace_sha[key],
+ placement="TRACE",
+ when="@{0}".format(key[0]),
+ )
- depends_on('java@11:', type=('build', 'run'), when='@2021.0:')
- depends_on('java@8', type=('build', 'run'), when='@:2020')
+ depends_on("java@11:", type=("build", "run"), when="@2021.0:")
+ depends_on("java@8", type=("build", "run"), when="@:2020")
# Install for MacOSX / Darwin
- @when('platform=darwin')
+ @when("platform=darwin")
def install(self, spec, prefix):
# Add path to java binary to hpcviewer.ini file.
- ini_file = join_path('Contents', 'Eclipse', 'hpcviewer.ini')
- java_binary = join_path(spec['java'].prefix.bin, 'java')
- filter_file('(-startup)', '-vm\n' + java_binary + '\n' + r'\1',
- ini_file, backup=False)
+ ini_file = join_path("Contents", "Eclipse", "hpcviewer.ini")
+ java_binary = join_path(spec["java"].prefix.bin, "java")
+ filter_file("(-startup)", "-vm\n" + java_binary + "\n" + r"\1", ini_file, backup=False)
# Copy files into prefix/hpcviewer.app.
- app_dir = join_path(prefix, 'hpcviewer.app')
+ app_dir = join_path(prefix, "hpcviewer.app")
mkdirp(app_dir)
- install_tree('.', app_dir)
+ install_tree(".", app_dir)
# Add launch script to call 'open' on app directory.
mkdirp(prefix.bin)
- viewer_file = join_path(prefix.bin, 'hpcviewer')
- with open(viewer_file, 'w') as file:
- file.write('#!/bin/sh\n')
- file.write('open ' + app_dir + '\n')
+ viewer_file = join_path(prefix.bin, "hpcviewer")
+ with open(viewer_file, "w") as file:
+ file.write("#!/bin/sh\n")
+ file.write("open " + app_dir + "\n")
os.chmod(viewer_file, 0o755)
# Install for Cray front-end is the same as Linux.
- @when('platform=cray')
+ @when("platform=cray")
def install(self, spec, prefix):
self.linux_install(spec, prefix)
- @when('platform=linux')
+ @when("platform=linux")
def install(self, spec, prefix):
self.linux_install(spec, prefix)
# Both hpcviewer and trace viewer have an install script.
def linux_install(self, spec, prefix):
- args = [
- '--java', spec['java'].home,
- prefix
- ]
+ args = ["--java", spec["java"].home, prefix]
# Sometimes the script is install.sh, sometimes install.
- inst_path = join_path('.', 'install.sh')
+ inst_path = join_path(".", "install.sh")
if not os.path.exists(inst_path):
- inst_path = join_path('.', 'install')
+ inst_path = join_path(".", "install")
inst = Executable(inst_path)
inst(*args)
# Older versions used a separate resource for the traceviewer.
- if os.path.isdir('TRACE'):
- cd('TRACE')
+ if os.path.isdir("TRACE"):
+ cd("TRACE")
inst = Executable(inst_path)
inst(*args)
diff --git a/var/spack/repos/builtin/packages/hpcx-mpi/package.py b/var/spack/repos/builtin/packages/hpcx-mpi/package.py
index c8bd8c6720..665db2337c 100644
--- a/var/spack/repos/builtin/packages/hpcx-mpi/package.py
+++ b/var/spack/repos/builtin/packages/hpcx-mpi/package.py
@@ -13,30 +13,29 @@ class HpcxMpi(Package):
This package is for external specs only."""
homepage = "https://developer.nvidia.com/networking/hpc-x"
- maintainers = ['mwkrentel']
+ maintainers = ["mwkrentel"]
has_code = False
- provides('mpi')
+ provides("mpi")
def install(self, spec, prefix):
- raise InstallError('HPC-X MPI is not buildable, it is for external '
- 'specs only.')
+ raise InstallError("HPC-X MPI is not buildable, it is for external " "specs only.")
def setup_dependent_package(self, module, dependent_spec):
# This works for AOCC (AMD), Intel and GNU.
- self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc')
- self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx')
- self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77')
- self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90')
+ self.spec.mpicc = os.path.join(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = os.path.join(self.prefix.bin, "mpicxx")
+ self.spec.mpif77 = os.path.join(self.prefix.bin, "mpif77")
+ self.spec.mpifc = os.path.join(self.prefix.bin, "mpif90")
def make_base_environment(self, prefix, env):
- env.set('MPICC', os.path.join(prefix.bin, 'mpicc'))
- env.set('MPICXX', os.path.join(prefix.bin, 'mpicxx'))
- env.set('MPIF77', os.path.join(prefix.bin, 'mpif77'))
- env.set('MPIF90', os.path.join(prefix.bin, 'mpif90'))
- env.prepend_path('LD_LIBRARY_PATH', prefix.lib)
- env.set('OPAL_PREFIX', prefix)
+ env.set("MPICC", os.path.join(prefix.bin, "mpicc"))
+ env.set("MPICXX", os.path.join(prefix.bin, "mpicxx"))
+ env.set("MPIF77", os.path.join(prefix.bin, "mpif77"))
+ env.set("MPIF90", os.path.join(prefix.bin, "mpif90"))
+ env.prepend_path("LD_LIBRARY_PATH", prefix.lib)
+ env.set("OPAL_PREFIX", prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
self.make_base_environment(self.prefix, env)
diff --git a/var/spack/repos/builtin/packages/hpddm/package.py b/var/spack/repos/builtin/packages/hpddm/package.py
index 3c9f488c56..197707da96 100644
--- a/var/spack/repos/builtin/packages/hpddm/package.py
+++ b/var/spack/repos/builtin/packages/hpddm/package.py
@@ -10,66 +10,72 @@ 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"
+ url = "https://github.com/hpddm/hpddm"
+ git = "https://github.com/hpddm/hpddm.git"
- maintainers = ['corentin-dev']
+ maintainers = ["corentin-dev"]
- version('main', branch='main')
- version('2.1.2', commit='e58205623814f59bf2aec2e2bab8eafcfbd22466')
+ 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')
+ 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("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("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("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')
+ 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))
+ 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)
+ install_tree("include", prefix.include)
# make('install')
diff --git a/var/spack/repos/builtin/packages/hpgmg/package.py b/var/spack/repos/builtin/packages/hpgmg/package.py
index f769fb2e71..3331b8e525 100644
--- a/var/spack/repos/builtin/packages/hpgmg/package.py
+++ b/var/spack/repos/builtin/packages/hpgmg/package.py
@@ -18,67 +18,73 @@ class Hpgmg(MakefilePackage):
"""
homepage = "https://bitbucket.org/hpgmg/hpgmg"
- url = "https://hpgmg.org/static/hpgmg-0.4.tar.gz"
- git = "https://bitbucket.org/hpgmg/hpgmg.git"
-
- tags = ['proxy-app']
-
- version('develop', branch='master')
- version('0.4', sha256='abdabfe09453487299500b5bd8da4e6dc3d88477199bcfa38ac41d0b3c780f6f')
- version('a0a5510df23b', sha256='b9c50f25e541428d4735fb07344d1d0ed9fc821bdde918d8e0defa78c0d9b4f9')
- version('0.3', sha256='12a65da216fec91daea78594ae4b5a069c8f1a700f1ba21eed9f45a79a68c793')
-
- variant('fe', default=False, description='Build finite element solver')
- variant('fv', default='mpi', values=('serial', 'mpi', 'none'),
- description='Build finite volume solver with or without MPI support')
- variant('cuda', default=False, description='Build with CUDA')
- variant('debug', default=False, description='Build in debug mode')
-
- depends_on('petsc', when='+fe')
- depends_on('mpi', when='+fe')
- depends_on('mpi', when='fv=mpi')
- depends_on('cuda', when='+cuda')
- depends_on('python', type='build')
+ url = "https://hpgmg.org/static/hpgmg-0.4.tar.gz"
+ git = "https://bitbucket.org/hpgmg/hpgmg.git"
+
+ tags = ["proxy-app"]
+
+ version("develop", branch="master")
+ version("0.4", sha256="abdabfe09453487299500b5bd8da4e6dc3d88477199bcfa38ac41d0b3c780f6f")
+ version(
+ "a0a5510df23b", sha256="b9c50f25e541428d4735fb07344d1d0ed9fc821bdde918d8e0defa78c0d9b4f9"
+ )
+ version("0.3", sha256="12a65da216fec91daea78594ae4b5a069c8f1a700f1ba21eed9f45a79a68c793")
+
+ variant("fe", default=False, description="Build finite element solver")
+ variant(
+ "fv",
+ default="mpi",
+ values=("serial", "mpi", "none"),
+ description="Build finite volume solver with or without MPI support",
+ )
+ variant("cuda", default=False, description="Build with CUDA")
+ variant("debug", default=False, description="Build in debug mode")
+
+ depends_on("petsc", when="+fe")
+ depends_on("mpi", when="+fe")
+ depends_on("mpi", when="fv=mpi")
+ depends_on("cuda", when="+cuda")
+ depends_on("python", type="build")
def configure_args(self):
args = []
- if '+fe' in self.spec and not ('@0.3' in self.spec):
- args.append('--fe')
+ if "+fe" in self.spec and not ("@0.3" in self.spec):
+ args.append("--fe")
- if 'fv=serial' in self.spec:
- args.append('--no-fv-mpi')
+ if "fv=serial" in self.spec:
+ args.append("--no-fv-mpi")
- if 'mpi' in self.spec:
- args.append('--CC={0}'.format(self.spec['mpi'].mpicc))
+ if "mpi" in self.spec:
+ args.append("--CC={0}".format(self.spec["mpi"].mpicc))
cflags = []
- if 'fv=none' in self.spec:
- args.append('--no-fv')
+ if "fv=none" in self.spec:
+ args.append("--no-fv")
else:
# Apple's Clang doesn't support OpenMP
- if not self.spec.satisfies('%apple-clang'):
+ if not self.spec.satisfies("%apple-clang"):
cflags.append(self.compiler.openmp_flag)
- if '+debug' in self.spec:
- cflags.append('-g')
+ if "+debug" in self.spec:
+ cflags.append("-g")
else:
- cflags.append('-O3')
+ cflags.append("-O3")
- args.append('--CFLAGS=' + ' '.join(cflags))
+ args.append("--CFLAGS=" + " ".join(cflags))
# Explicitly specify the build directory to ensure that
# PETSC_ARCH is not used from the environment.
- args.append('--arch=build')
+ args.append("--arch=build")
return args
def edit(self, spec, prefix):
- python('configure', *self.configure_args())
+ python("configure", *self.configure_args())
def build(self, spec, prefix):
- make('-C', 'build')
+ make("-C", "build")
def install(self, spec, prefix):
- install_tree('build/bin', prefix.bin)
- install('README.md', prefix)
- install('LICENSE', prefix)
+ install_tree("build/bin", prefix.bin)
+ install("README.md", prefix)
+ install("LICENSE", prefix)
diff --git a/var/spack/repos/builtin/packages/hping/package.py b/var/spack/repos/builtin/packages/hping/package.py
index 2e00ec0108..56d8f1f716 100644
--- a/var/spack/repos/builtin/packages/hping/package.py
+++ b/var/spack/repos/builtin/packages/hping/package.py
@@ -10,31 +10,29 @@ class Hping(AutotoolsPackage):
"""hping is a command-line oriented TCP/IP packet assembler/analyzer."""
homepage = "http://www.hping.org"
- git = "https://github.com/antirez/hping.git"
+ git = "https://github.com/antirez/hping.git"
- version('master', commit='3547c7691742c6eaa31f8402e0ccbb81387c1b99')
+ version("master", commit="3547c7691742c6eaa31f8402e0ccbb81387c1b99")
- patch('bpf.patch', sha256='99b9f91a308ffca306f69ccdb285e289ee3d280ec47ec7229e3a7669cca512f2')
+ patch("bpf.patch", sha256="99b9f91a308ffca306f69ccdb285e289ee3d280ec47ec7229e3a7669cca512f2")
- depends_on('libpcap')
- depends_on('tcl')
+ depends_on("libpcap")
+ depends_on("tcl")
def setup_build_environment(self, env):
- env.set('TCLSH', self.spec['tcl'].prefix.bin.tclsh)
+ env.set("TCLSH", self.spec["tcl"].prefix.bin.tclsh)
- @run_before('configure')
+ @run_before("configure")
def filter_before_configure(self):
- makefileIn = FileFilter('Makefile.in')
- makefileIn.filter(r'/usr/sbin', self.prefix.sbin)
- configure = FileFilter('configure')
- configure.filter(r'/usr/local/include/tcl\${TCL_VER}',
- self.spec['tcl'].prefix.include)
- configure.filter(r'/usr/local/lib/',
- self.spec['tcl'].libs.directories[0])
+ makefileIn = FileFilter("Makefile.in")
+ makefileIn.filter(r"/usr/sbin", self.prefix.sbin)
+ configure = FileFilter("configure")
+ configure.filter(r"/usr/local/include/tcl\${TCL_VER}", self.spec["tcl"].prefix.include)
+ configure.filter(r"/usr/local/lib/", self.spec["tcl"].libs.directories[0])
def install(self, spec, prefix):
mkdirp(prefix.sbin)
- make('install')
+ make("install")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/hpl/package.py b/var/spack/repos/builtin/packages/hpl/package.py
index a1e3ff80ab..cd1d446e80 100644
--- a/var/spack/repos/builtin/packages/hpl/package.py
+++ b/var/spack/repos/builtin/packages/hpl/package.py
@@ -16,122 +16,118 @@ class Hpl(AutotoolsPackage):
implementation of the High Performance Computing Linpack Benchmark."""
homepage = "https://www.netlib.org/benchmark/hpl/"
- url = "https://www.netlib.org/benchmark/hpl/hpl-2.2.tar.gz"
+ url = "https://www.netlib.org/benchmark/hpl/hpl-2.2.tar.gz"
# Note: HPL uses autotools starting with 2.3
- version('2.3', sha256='32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830')
- version('2.2', sha256='ac7534163a09e21a5fa763e4e16dfc119bc84043f6e6a807aba666518f8df440')
+ version("2.3", sha256="32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830")
+ version("2.2", sha256="ac7534163a09e21a5fa763e4e16dfc119bc84043f6e6a807aba666518f8df440")
- variant('openmp', default=False, description='Enable OpenMP support')
+ variant("openmp", default=False, description="Enable OpenMP support")
- depends_on('mpi@1.1:')
- depends_on('blas')
+ depends_on("mpi@1.1:")
+ depends_on("blas")
# 2.3 adds support for openmpi 4
- conflicts('^openmpi@4.0.0:', when='@:2.2')
+ conflicts("^openmpi@4.0.0:", when="@:2.2")
parallel = False
- arch = '{0}-{1}'.format(platform.system(), platform.processor())
- build_targets = ['arch={0}'.format(arch)]
+ arch = "{0}-{1}".format(platform.system(), platform.processor())
+ build_targets = ["arch={0}".format(arch)]
- @when('@:2.2')
+ @when("@:2.2")
def autoreconf(self, spec, prefix):
# Prevent sanity check from killing the build
- touch('configure')
+ touch("configure")
- @when('@:2.2')
+ @when("@:2.2")
def configure(self, spec, prefix):
# List of configuration options
# Order is important
config = []
# OpenMP support
- if '+openmp' in spec:
- config.append(
- 'OMP_DEFS = {0}'.format(self.compiler.openmp_flag)
- )
-
- config.extend([
- # Shell
- 'SHELL = /bin/sh',
- 'CD = cd',
- 'CP = cp',
- 'LN_S = ln -fs',
- 'MKDIR = mkdir -p',
- 'RM = /bin/rm -f',
- 'TOUCH = touch',
- # Platform identifier
- 'ARCH = {0}'.format(self.arch),
- # HPL Directory Structure / HPL library
- 'TOPdir = {0}'.format(os.getcwd()),
- 'INCdir = $(TOPdir)/include',
- 'BINdir = $(TOPdir)/bin/$(ARCH)',
- 'LIBdir = $(TOPdir)/lib/$(ARCH)',
- 'HPLlib = $(LIBdir)/libhpl.a',
- # Message Passing library (MPI)
- 'MPinc = {0}'.format(spec['mpi'].prefix.include),
- 'MPlib = -L{0}'.format(spec['mpi'].prefix.lib),
- # Linear Algebra library (BLAS or VSIPL)
- 'LAinc = {0}'.format(spec['blas'].prefix.include),
- 'LAlib = {0}'.format(spec['blas'].libs.joined()),
- # F77 / C interface
- 'F2CDEFS = -DAdd_ -DF77_INTEGER=int -DStringSunStyle',
- # HPL includes / libraries / specifics
- 'HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) ' +
- '-I$(LAinc) -I$(MPinc)',
- 'HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)',
- 'HPL_OPTS = -DHPL_DETAILED_TIMING -DHPL_PROGRESS_REPORT',
- 'HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)',
- # Compilers / linkers - Optimization flags
- 'CC = {0}'.format(spec['mpi'].mpicc),
- 'CCNOOPT = $(HPL_DEFS)',
- 'CCFLAGS = $(HPL_DEFS) -O3',
- 'LINKER = $(CC)',
- 'LINKFLAGS = $(CCFLAGS) $(OMP_DEFS)',
- 'ARCHIVER = ar',
- 'ARFLAGS = r',
- 'RANLIB = echo'
- ])
+ if "+openmp" in spec:
+ config.append("OMP_DEFS = {0}".format(self.compiler.openmp_flag))
+
+ config.extend(
+ [
+ # Shell
+ "SHELL = /bin/sh",
+ "CD = cd",
+ "CP = cp",
+ "LN_S = ln -fs",
+ "MKDIR = mkdir -p",
+ "RM = /bin/rm -f",
+ "TOUCH = touch",
+ # Platform identifier
+ "ARCH = {0}".format(self.arch),
+ # HPL Directory Structure / HPL library
+ "TOPdir = {0}".format(os.getcwd()),
+ "INCdir = $(TOPdir)/include",
+ "BINdir = $(TOPdir)/bin/$(ARCH)",
+ "LIBdir = $(TOPdir)/lib/$(ARCH)",
+ "HPLlib = $(LIBdir)/libhpl.a",
+ # Message Passing library (MPI)
+ "MPinc = {0}".format(spec["mpi"].prefix.include),
+ "MPlib = -L{0}".format(spec["mpi"].prefix.lib),
+ # Linear Algebra library (BLAS or VSIPL)
+ "LAinc = {0}".format(spec["blas"].prefix.include),
+ "LAlib = {0}".format(spec["blas"].libs.joined()),
+ # F77 / C interface
+ "F2CDEFS = -DAdd_ -DF77_INTEGER=int -DStringSunStyle",
+ # HPL includes / libraries / specifics
+ "HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) " + "-I$(LAinc) -I$(MPinc)",
+ "HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)",
+ "HPL_OPTS = -DHPL_DETAILED_TIMING -DHPL_PROGRESS_REPORT",
+ "HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)",
+ # Compilers / linkers - Optimization flags
+ "CC = {0}".format(spec["mpi"].mpicc),
+ "CCNOOPT = $(HPL_DEFS)",
+ "CCFLAGS = $(HPL_DEFS) -O3",
+ "LINKER = $(CC)",
+ "LINKFLAGS = $(CCFLAGS) $(OMP_DEFS)",
+ "ARCHIVER = ar",
+ "ARFLAGS = r",
+ "RANLIB = echo",
+ ]
+ )
# Write configuration options to include file
- with open('Make.{0}'.format(self.arch), 'w') as makefile:
+ with open("Make.{0}".format(self.arch), "w") as makefile:
for var in config:
- makefile.write('{0}\n'.format(var))
+ makefile.write("{0}\n".format(var))
- @when('@2.3:')
+ @when("@2.3:")
def configure_args(self):
- filter_file(
- r"^libs10=.*", "libs10=%s" % self.spec["blas"].libs.ld_flags,
- "configure"
- )
+ filter_file(r"^libs10=.*", "libs10=%s" % self.spec["blas"].libs.ld_flags, "configure")
- if '+openmp' in self.spec:
- config = ['CFLAGS=-O3 ' + self.compiler.openmp_flag]
+ if "+openmp" in self.spec:
+ config = ["CFLAGS=-O3 " + self.compiler.openmp_flag]
else:
- config = ['CFLAGS=-O3']
+ config = ["CFLAGS=-O3"]
- if (self.spec.satisfies('^intel-mkl') or
- self.spec.satisfies('^intel-oneapi-mkl') or
- self.spec.satisfies('^intel-parallel-studio+mkl')):
- config.append('LDFLAGS={0}'.format(
- self.spec['blas'].libs.ld_flags))
+ if (
+ self.spec.satisfies("^intel-mkl")
+ or self.spec.satisfies("^intel-oneapi-mkl")
+ or self.spec.satisfies("^intel-parallel-studio+mkl")
+ ):
+ config.append("LDFLAGS={0}".format(self.spec["blas"].libs.ld_flags))
return config
- @when('@:2.2')
+ @when("@:2.2")
def install(self, spec, prefix):
# Manual installation
- install_tree(join_path('bin', self.arch), prefix.bin)
- install_tree(join_path('lib', self.arch), prefix.lib)
- install_tree(join_path('include', self.arch), prefix.include)
- install_tree('man', prefix.man)
+ install_tree(join_path("bin", self.arch), prefix.bin)
+ install_tree(join_path("lib", self.arch), prefix.lib)
+ install_tree(join_path("include", self.arch), prefix.include)
+ install_tree("man", prefix.man)
- @run_after('install')
+ @run_after("install")
def copy_dat(self):
- if self.spec.satisfies('@2.3:'):
+ if self.spec.satisfies("@2.3:"):
# The pre-2.3 makefile would include a default HPL.dat config
# file in the bin directory
- install('./testing/ptest/HPL.dat',
- join_path(self.prefix.bin, 'HPL.dat'))
+ install("./testing/ptest/HPL.dat", join_path(self.prefix.bin, "HPL.dat"))
diff --git a/var/spack/repos/builtin/packages/hpx-kokkos/package.py b/var/spack/repos/builtin/packages/hpx-kokkos/package.py
index 291816597f..f5d0a264be 100644
--- a/var/spack/repos/builtin/packages/hpx-kokkos/package.py
+++ b/var/spack/repos/builtin/packages/hpx-kokkos/package.py
@@ -9,41 +9,46 @@ from spack.package import *
class HpxKokkos(CMakePackage, CudaPackage, ROCmPackage):
"""HPXKokkos is an interoperability library for HPX and Kokkos"""
- homepage = 'https://github.com/STEllAR-GROUP/hpx-kokkos'
+ homepage = "https://github.com/STEllAR-GROUP/hpx-kokkos"
url = "https://github.com/STEllAR-GROUP/hpx-kokkos/archive/0.0.0.tar.gz"
- maintainers = ['G-071', 'msimberg']
+ maintainers = ["G-071", "msimberg"]
- version('master', git='https://github.com/STEllAR-GROUP/hpx-kokkos.git', branch='master')
- version('0.3.0', sha256='83c1d11dab95552ad0abdae767c71f757811d7b51d82bd231653dc942e89a45d')
- version('0.2.0', sha256='289b711cea26afe80be002fc521234c9194cd0e8f69863f3b08b654674dbe5d5')
- version('0.1.0', sha256='24edb817d0969f4aea1b68eab4984c2ea9a58f4760a9b8395e20f85b178f0850')
+ version("master", git="https://github.com/STEllAR-GROUP/hpx-kokkos.git", branch="master")
+ version("0.3.0", sha256="83c1d11dab95552ad0abdae767c71f757811d7b51d82bd231653dc942e89a45d")
+ version("0.2.0", sha256="289b711cea26afe80be002fc521234c9194cd0e8f69863f3b08b654674dbe5d5")
+ version("0.1.0", sha256="24edb817d0969f4aea1b68eab4984c2ea9a58f4760a9b8395e20f85b178f0850")
- cxxstds = ('14', '17', '20')
- variant('cxxstd', default='14', values=cxxstds, description='Use the specified C++ standard when building.')
+ cxxstds = ("14", "17", "20")
+ variant(
+ "cxxstd",
+ default="14",
+ values=cxxstds,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('cmake@3.19:', type='build')
+ depends_on("cmake@3.19:", type="build")
- depends_on('hpx')
- depends_on('kokkos +hpx +hpx_async_dispatch')
+ depends_on("hpx")
+ depends_on("kokkos +hpx +hpx_async_dispatch")
- depends_on('hpx@1.8:', when='@0.3:')
- depends_on('kokkos@3.6:', when='@0.3:')
+ depends_on("hpx@1.8:", when="@0.3:")
+ depends_on("kokkos@3.6:", when="@0.3:")
- depends_on('hpx@1.7', when='@0.2')
- depends_on('kokkos@3.6:', when='@0.2')
+ depends_on("hpx@1.7", when="@0.2")
+ depends_on("kokkos@3.6:", when="@0.2")
- depends_on('hpx@1.6', when='@0.1')
- depends_on('kokkos@3.2:3.5', when='@0.1')
+ depends_on("hpx@1.6", when="@0.1")
+ depends_on("kokkos@3.2:3.5", when="@0.1")
for cxxstd in cxxstds:
- depends_on('hpx cxxstd={0}'.format(cxxstd), when='cxxstd={0}'.format(cxxstd))
- depends_on('kokkos std={0}'.format(cxxstd), when='cxxstd={0}'.format(cxxstd))
+ depends_on("hpx cxxstd={0}".format(cxxstd), when="cxxstd={0}".format(cxxstd))
+ depends_on("kokkos std={0}".format(cxxstd), when="cxxstd={0}".format(cxxstd))
# HPXKokkos explicitly supports CUDA and ROCm. Other GPU backends can be
# used but without support in HPXKokkos. Other CPU backends, except Serial,
# can't be used together with the HPX backend.
- depends_on('hpx +cuda', when='+cuda')
- depends_on('kokkos +cuda +cuda_lambda +cuda_constexpr', when='+cuda')
+ depends_on("hpx +cuda", when="+cuda")
+ depends_on("kokkos +cuda +cuda_lambda +cuda_constexpr", when="+cuda")
- depends_on('hpx +rocm', when='+rocm')
- depends_on('kokkos +rocm', when='+rocm')
+ depends_on("hpx +rocm", when="+rocm")
+ depends_on("kokkos +rocm", when="+rocm")
diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py
index 1390554977..aaafe29610 100644
--- a/var/spack/repos/builtin/packages/hpx/package.py
+++ b/var/spack/repos/builtin/packages/hpx/package.py
@@ -16,47 +16,56 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://hpx.stellar-group.org/"
url = "https://github.com/STEllAR-GROUP/hpx/archive/1.2.1.tar.gz"
git = "https://github.com/STEllAR-GROUP/hpx.git"
- maintainers = ['msimberg', 'albestro', 'teonnik', 'hkaiser']
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('stable', tag='stable')
- version('1.8.0', sha256='93f147ab7cf0ab4161f37680ea720d3baeb86540a95382f2fb591645b2a9b135')
- version('1.7.1', sha256='008a0335def3c551cba31452eda035d7e914e3e4f77eec679eea070ac71bd83b')
- version('1.7.0', sha256='05099b860410aa5d8a10d6915b1a8818733aa1aa2d5f2b9774730ca7e6de5fac')
- version('1.6.0', sha256='4ab715613c1e1808edc93451781cc9bc98feec4e422ccd4322858a680f6d9017')
- version('1.5.1', sha256='b2f9358ce2a9446b9d8fb1998c30913e7199b007aa82e46d0aa05c763331c635')
- version('1.5.0', sha256='de2901d8ae017592c513e0af9cf58de295abc9802e55ece00424cbd8a3801920')
- version('1.4.1', sha256='965dabe44d17480e326d92da4eec56722d98b33943c53d2b0f8f4655cb208023')
- version('1.4.0', sha256='241a1c47fafba751848fac12446e7bf4ad3d342d5eb2fa1ef94dd904acc329ed')
- version('1.3.0', sha256='cd34da674064c4cc4a331402edbd65c5a1f8058fb46003314ca18fa08423c5ad')
- version('1.2.1', sha256='8cba9b48e919035176d3b7bbfc2c110df6f07803256626f1dad8d9dde16ab77a')
- version('1.2.0', sha256='20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170')
- version('1.1.0', sha256='1f28bbe58d8f0da600d60c3a74a644d75ac777b20a018a5c1c6030a470e8a1c9')
-
- generator = 'Ninja'
-
- map_cxxstd = lambda cxxstd: '2a' if cxxstd == '20' else cxxstd
- cxxstds = ('11', '14', '17', '20')
- variant('cxxstd',
- default='17',
- values=cxxstds,
- description='Use the specified C++ standard when building.')
+ maintainers = ["msimberg", "albestro", "teonnik", "hkaiser"]
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("stable", tag="stable")
+ version("1.8.0", sha256="93f147ab7cf0ab4161f37680ea720d3baeb86540a95382f2fb591645b2a9b135")
+ version("1.7.1", sha256="008a0335def3c551cba31452eda035d7e914e3e4f77eec679eea070ac71bd83b")
+ version("1.7.0", sha256="05099b860410aa5d8a10d6915b1a8818733aa1aa2d5f2b9774730ca7e6de5fac")
+ version("1.6.0", sha256="4ab715613c1e1808edc93451781cc9bc98feec4e422ccd4322858a680f6d9017")
+ version("1.5.1", sha256="b2f9358ce2a9446b9d8fb1998c30913e7199b007aa82e46d0aa05c763331c635")
+ version("1.5.0", sha256="de2901d8ae017592c513e0af9cf58de295abc9802e55ece00424cbd8a3801920")
+ version("1.4.1", sha256="965dabe44d17480e326d92da4eec56722d98b33943c53d2b0f8f4655cb208023")
+ version("1.4.0", sha256="241a1c47fafba751848fac12446e7bf4ad3d342d5eb2fa1ef94dd904acc329ed")
+ version("1.3.0", sha256="cd34da674064c4cc4a331402edbd65c5a1f8058fb46003314ca18fa08423c5ad")
+ version("1.2.1", sha256="8cba9b48e919035176d3b7bbfc2c110df6f07803256626f1dad8d9dde16ab77a")
+ version("1.2.0", sha256="20942314bd90064d9775f63b0e58a8ea146af5260a4c84d0854f9f968077c170")
+ version("1.1.0", sha256="1f28bbe58d8f0da600d60c3a74a644d75ac777b20a018a5c1c6030a470e8a1c9")
+
+ generator = "Ninja"
+
+ map_cxxstd = lambda cxxstd: "2a" if cxxstd == "20" else cxxstd
+ cxxstds = ("11", "14", "17", "20")
+ variant(
+ "cxxstd",
+ default="17",
+ values=cxxstds,
+ description="Use the specified C++ standard when building.",
+ )
variant(
- 'malloc', default='tcmalloc',
- description='Define which allocator will be linked in',
- values=('system', 'jemalloc', 'mimalloc', 'tbbmalloc', 'tcmalloc')
+ "malloc",
+ default="tcmalloc",
+ description="Define which allocator will be linked in",
+ values=("system", "jemalloc", "mimalloc", "tbbmalloc", "tcmalloc"),
)
- variant('max_cpu_count', default='64',
- description='Max number of OS-threads for HPX applications',
- values=lambda x: isinstance(x, str) and x.isdigit())
+ variant(
+ "max_cpu_count",
+ default="64",
+ description="Max number of OS-threads for HPX applications",
+ values=lambda x: isinstance(x, str) and x.isdigit(),
+ )
- instrumentation_values = ('apex', 'google_perftools', 'papi', 'valgrind')
- variant('instrumentation', values=any_combination_of(*instrumentation_values),
- description='Add support for various kind of instrumentation')
+ instrumentation_values = ("apex", "google_perftools", "papi", "valgrind")
+ variant(
+ "instrumentation",
+ values=any_combination_of(*instrumentation_values),
+ description="Add support for various kind of instrumentation",
+ )
variant(
"networking",
@@ -65,87 +74,86 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
)
default_generic_coroutines = True
- if sys.platform.startswith('linux') or sys.platform == 'win32':
+ if sys.platform.startswith("linux") or sys.platform == "win32":
default_generic_coroutines = False
variant(
- "generic_coroutines", default=default_generic_coroutines,
- description='Use Boost.Context as the underlying coroutines'
- ' context switch implementation.')
+ "generic_coroutines",
+ default=default_generic_coroutines,
+ description="Use Boost.Context as the underlying coroutines"
+ " context switch implementation.",
+ )
- variant('tools', default=False, description='Build HPX tools')
- variant('examples', default=False, description='Build examples')
- variant('async_mpi', default=False, description='Enable MPI Futures.')
- variant('async_cuda', default=False, description='Enable CUDA Futures.')
+ variant("tools", default=False, description="Build HPX tools")
+ variant("examples", default=False, description="Build examples")
+ variant("async_mpi", default=False, description="Enable MPI Futures.")
+ variant("async_cuda", default=False, description="Enable CUDA Futures.")
# Build dependencies
- depends_on('python', type=('build', 'test', 'run'))
- depends_on('ninja', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('git', type='build')
- depends_on('cmake', type='build')
+ depends_on("python", type=("build", "test", "run"))
+ depends_on("ninja", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("git", type="build")
+ depends_on("cmake", type="build")
# Other dependecies
- depends_on('hwloc')
+ depends_on("hwloc")
depends_on(Boost.with_default_variants)
- depends_on('boost +context', when='+generic_coroutines')
+ depends_on("boost +context", when="+generic_coroutines")
for cxxstd in cxxstds:
- depends_on(
- "boost cxxstd={0}".format(map_cxxstd(cxxstd)),
- when="cxxstd={0}".format(cxxstd)
- )
- depends_on('asio', when='@1.7:')
+ depends_on("boost cxxstd={0}".format(map_cxxstd(cxxstd)), when="cxxstd={0}".format(cxxstd))
+ depends_on("asio", when="@1.7:")
for cxxstd in cxxstds:
depends_on(
"asio cxxstd={0}".format(map_cxxstd(cxxstd)),
when="cxxstd={0} ^asio".format(cxxstd),
)
- depends_on('gperftools', when='malloc=tcmalloc')
- depends_on('jemalloc', when='malloc=jemalloc')
- depends_on('mimalloc', when='malloc=mimalloc')
- depends_on('tbb', when='malloc=tbbmalloc')
+ depends_on("gperftools", when="malloc=tcmalloc")
+ depends_on("jemalloc", when="malloc=jemalloc")
+ depends_on("mimalloc", when="malloc=mimalloc")
+ depends_on("tbb", when="malloc=tbbmalloc")
- depends_on('mpi', when='networking=mpi')
- depends_on('mpi', when='+async_mpi')
+ depends_on("mpi", when="networking=mpi")
+ depends_on("mpi", when="+async_mpi")
- depends_on('cuda', when='+async_cuda')
+ depends_on("cuda", when="+async_cuda")
- depends_on('otf2', when='instrumentation=apex')
- depends_on('gperftools', when='instrumentation=google_perftools')
- depends_on('papi', when='instrumentation=papi')
- depends_on('valgrind', when='instrumentation=valgrind')
+ depends_on("otf2", when="instrumentation=apex")
+ depends_on("gperftools", when="instrumentation=google_perftools")
+ depends_on("papi", when="instrumentation=papi")
+ depends_on("valgrind", when="instrumentation=valgrind")
# Restrictions for 1.8.X
- with when('@1.8:'):
- conflicts('cxxstd=14')
- conflicts('%gcc@:7')
- conflicts('%clang@:8')
+ with when("@1.8:"):
+ conflicts("cxxstd=14")
+ conflicts("%gcc@:7")
+ conflicts("%clang@:8")
depends_on("cuda@11:", when="+cuda")
# Restrictions for 1.7.X
- with when('@1.7:'):
- depends_on('cmake@3.18.0:', type='build')
- depends_on('boost@1.71.0:')
- depends_on('asio@1.12.0:')
- conflicts('%gcc@:6')
- conflicts('%clang@:6')
+ with when("@1.7:"):
+ depends_on("cmake@3.18.0:", type="build")
+ depends_on("boost@1.71.0:")
+ depends_on("asio@1.12.0:")
+ conflicts("%gcc@:6")
+ conflicts("%clang@:6")
# Restrictions for 1.6.X
- conflicts('+rocm', when='@:1.5')
+ conflicts("+rocm", when="@:1.5")
# Restrictions for 1.5.x
- conflicts('cxxstd=11', when='@1.5:')
+ conflicts("cxxstd=11", when="@1.5:")
# Restrictions for 1.2.X
- with when('@:1.2.1'):
- depends_on('cmake@3.9.0:', type='build')
- depends_on('boost@1.62.0:')
- depends_on('hwloc@1.11:')
+ with when("@:1.2.1"):
+ depends_on("cmake@3.9.0:", type="build")
+ depends_on("boost@1.62.0:")
+ depends_on("hwloc@1.11:")
# Restrictions before 1.2
- with when('@:1.1.0'):
- depends_on('boost@1.55.0:')
- depends_on('hwloc@1.6:')
+ with when("@:1.1.0"):
+ depends_on("boost@1.55.0:")
+ depends_on("hwloc@1.6:")
# Patches and one-off conflicts
@@ -163,83 +171,74 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
# boost 1.73.0 build problem with HPX 1.4.0 and 1.4.1
# https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
- depends_on('boost@:1.72.0', when='@:1.4')
+ depends_on("boost@:1.72.0", when="@:1.4")
# COROUTINES
# ~generic_coroutines conflict is not fully implemented
# for additional information see:
# https://github.com/spack/spack/pull/17654
# https://github.com/STEllAR-GROUP/hpx/issues/4829
- depends_on('boost+context', when='+generic_coroutines')
- _msg_generic_coroutines = 'This platform requires +generic_coroutines'
- conflicts('~generic_coroutines', when='platform=darwin', msg=_msg_generic_coroutines)
+ depends_on("boost+context", when="+generic_coroutines")
+ _msg_generic_coroutines = "This platform requires +generic_coroutines"
+ conflicts("~generic_coroutines", when="platform=darwin", msg=_msg_generic_coroutines)
# Patches APEX
- patch('git_external.patch', when='@1.3.0 instrumentation=apex')
- patch('mimalloc_no_version_requirement.patch', when='@:1.8 malloc=mimalloc')
+ patch("git_external.patch", when="@1.3.0 instrumentation=apex")
+ patch("mimalloc_no_version_requirement.patch", when="@:1.8 malloc=mimalloc")
def instrumentation_args(self):
args = []
for value in self.instrumentation_values:
- condition = 'instrumentation={0}'.format(value)
- args.append(self.define(
- 'HPX_WITH_{0}'.format(value.upper()), condition in self.spec
- ))
+ condition = "instrumentation={0}".format(value)
+ args.append(self.define("HPX_WITH_{0}".format(value.upper()), condition in self.spec))
return args
def cmake_args(self):
spec, args = self.spec, []
args += [
- self.define(
- 'HPX_WITH_CXX{0}'.format(spec.variants['cxxstd'].value), True),
-
- self.define_from_variant('HPX_WITH_MALLOC', 'malloc'),
- self.define_from_variant('HPX_WITH_CUDA', 'cuda'),
- self.define_from_variant('HPX_WITH_HIP', 'rocm'),
- self.define_from_variant('HPX_WITH_TOOLS', 'tools'),
- self.define_from_variant('HPX_WITH_EXAMPLES', 'examples'),
- self.define_from_variant('HPX_WITH_ASYNC_MPI', 'async_mpi'),
- self.define_from_variant('HPX_WITH_ASYNC_CUDA', 'async_cuda'),
- self.define('HPX_WITH_TESTS', self.run_tests),
-
- self.define('HPX_WITH_NETWORKING', 'networking=none' not in spec),
- self.define('HPX_WITH_PARCELPORT_TCP', 'networking=tcp' in spec),
- self.define('HPX_WITH_PARCELPORT_MPI', 'networking=mpi' in spec),
-
- self.define_from_variant(
- 'HPX_WITH_MAX_CPU_COUNT', 'max_cpu_count'),
- self.define_from_variant(
- 'HPX_WITH_GENERIC_CONTEXT_COROUTINES', 'generic_coroutines'),
-
- self.define('BOOST_ROOT', spec['boost'].prefix),
- self.define('HWLOC_ROOT', spec['hwloc'].prefix),
- self.define('HPX_WITH_BOOST_ALL_DYNAMIC_LINK', True),
- self.define('BUILD_SHARED_LIBS', True),
- self.define('HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE', False),
+ self.define("HPX_WITH_CXX{0}".format(spec.variants["cxxstd"].value), True),
+ self.define_from_variant("HPX_WITH_MALLOC", "malloc"),
+ self.define_from_variant("HPX_WITH_CUDA", "cuda"),
+ self.define_from_variant("HPX_WITH_HIP", "rocm"),
+ self.define_from_variant("HPX_WITH_TOOLS", "tools"),
+ self.define_from_variant("HPX_WITH_EXAMPLES", "examples"),
+ self.define_from_variant("HPX_WITH_ASYNC_MPI", "async_mpi"),
+ self.define_from_variant("HPX_WITH_ASYNC_CUDA", "async_cuda"),
+ self.define("HPX_WITH_TESTS", self.run_tests),
+ self.define("HPX_WITH_NETWORKING", "networking=none" not in spec),
+ self.define("HPX_WITH_PARCELPORT_TCP", "networking=tcp" in spec),
+ self.define("HPX_WITH_PARCELPORT_MPI", "networking=mpi" in spec),
+ self.define_from_variant("HPX_WITH_MAX_CPU_COUNT", "max_cpu_count"),
+ self.define_from_variant("HPX_WITH_GENERIC_CONTEXT_COROUTINES", "generic_coroutines"),
+ self.define("BOOST_ROOT", spec["boost"].prefix),
+ self.define("HWLOC_ROOT", spec["hwloc"].prefix),
+ self.define("HPX_WITH_BOOST_ALL_DYNAMIC_LINK", True),
+ self.define("BUILD_SHARED_LIBS", True),
+ self.define("HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE", False),
]
# Enable unity builds when available
if spec.satisfies("@1.7:"):
- args += [self.define('HPX_WITH_UNITY_BUILD', True)]
+ args += [self.define("HPX_WITH_UNITY_BUILD", True)]
# HIP support requires compiling with hipcc
- if '+rocm' in self.spec:
- args += [self.define('CMAKE_CXX_COMPILER', self.spec['hip'].hipcc)]
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args += [self.define('__skip_rocmclang', True)]
+ if "+rocm" in self.spec:
+ args += [self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc)]
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args += [self.define("__skip_rocmclang", True)]
# Instrumentation
args += self.instrumentation_args()
- if 'instrumentation=apex' in spec:
+ if "instrumentation=apex" in spec:
args += [
- self.define('APEX_WITH_OTF2', True),
- self.define('OTF2_ROOT', spec['otf2'].prefix),
+ self.define("APEX_WITH_OTF2", True),
+ self.define("OTF2_ROOT", spec["otf2"].prefix),
]
# it seems like there was a bug in the default version of APEX in 1.5.x
if spec.satisfies("@1.5"):
- args += [self.define('HPX_WITH_APEX_TAG', "v2.3.0")]
+ args += [self.define("HPX_WITH_APEX_TAG", "v2.3.0")]
return args
diff --git a/var/spack/repos/builtin/packages/hpx5/package.py b/var/spack/repos/builtin/packages/hpx5/package.py
index d6807ed09c..47beb5259b 100644
--- a/var/spack/repos/builtin/packages/hpx5/package.py
+++ b/var/spack/repos/builtin/packages/hpx5/package.py
@@ -17,46 +17,51 @@ class Hpx5(AutotoolsPackage):
platforms. It is being used by a broad range of scientific
applications enabling scientists to write code that performs and
scales better than contemporary runtimes."""
+
homepage = "http://hpx.crest.iu.edu"
- url = "https://github.com/adk9/hpx5/archive/v3.1.0.tar.gz"
+ url = "https://github.com/adk9/hpx5/archive/v3.1.0.tar.gz"
- version('4.1.0', sha256='3f01009f5e517c8dfca266dabb49894d688db5adce09608fb1c877263605a9f8')
- version('4.0.0', sha256='e35b1161566a65ffbd875c1413ea97a84be0c7b528a3dee99f5e250b2aecbd19')
- version('3.1.0', sha256='359d457a26b87abb415605911d791ce0ff6edbb064bc40b0f830960f8f612b84')
- version('3.0.0', sha256='10f14ba198a32787cee05962e346bafb922f74a5135fb09a1ba8c32a1e942800')
- version('2.2.0', sha256='e34c7513a287d517e67cce5aa3011474c48718e7860c3860ba1290c702be28a8')
- version('2.1.0', sha256='675826f669eeb3eab40947715af8c8495e2b3d299223372431dc01c1f7d5d616')
- version('2.0.0', sha256='0278728557b6684aeb86228f44d548ac809302f05a0b9c8b433cdd157629e384')
+ version("4.1.0", sha256="3f01009f5e517c8dfca266dabb49894d688db5adce09608fb1c877263605a9f8")
+ version("4.0.0", sha256="e35b1161566a65ffbd875c1413ea97a84be0c7b528a3dee99f5e250b2aecbd19")
+ version("3.1.0", sha256="359d457a26b87abb415605911d791ce0ff6edbb064bc40b0f830960f8f612b84")
+ version("3.0.0", sha256="10f14ba198a32787cee05962e346bafb922f74a5135fb09a1ba8c32a1e942800")
+ version("2.2.0", sha256="e34c7513a287d517e67cce5aa3011474c48718e7860c3860ba1290c702be28a8")
+ version("2.1.0", sha256="675826f669eeb3eab40947715af8c8495e2b3d299223372431dc01c1f7d5d616")
+ version("2.0.0", sha256="0278728557b6684aeb86228f44d548ac809302f05a0b9c8b433cdd157629e384")
# Don't second-guess what compiler we are using on Cray
- patch("configure.patch", when='@4.0.0')
-
- variant('cuda', default=False, description='Enable CUDA support')
- variant('cxx11', default=False, description='Enable C++11 hpx++ interface')
- variant('debug', default=False, description='Build debug version of HPX-5')
- variant('instrumentation', default=False, description='Enable instrumentation (may affect performance)')
- variant('metis', default=False, description='Enable METIS support')
- variant('mpi', default=False, description='Enable MPI support')
- variant('opencl', default=False, description='Enable OpenCL support')
- variant('photon', default=False, description='Enable Photon support')
- variant('pic', default=True, description='Produce position-independent code')
-
- depends_on("autoconf", type='build')
- depends_on("automake", type='build')
+ patch("configure.patch", when="@4.0.0")
+
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("cxx11", default=False, description="Enable C++11 hpx++ interface")
+ variant("debug", default=False, description="Build debug version of HPX-5")
+ variant(
+ "instrumentation",
+ default=False,
+ description="Enable instrumentation (may affect performance)",
+ )
+ variant("metis", default=False, description="Enable METIS support")
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("opencl", default=False, description="Enable OpenCL support")
+ variant("photon", default=False, description="Enable Photon support")
+ variant("pic", default=True, description="Produce position-independent code")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
depends_on("hwloc")
- depends_on("hwloc +cuda", when='+cuda')
+ depends_on("hwloc +cuda", when="+cuda")
# Note: We could disable CUDA support via "hwloc ~cuda"
depends_on("jemalloc")
# depends_on("libffi")
- depends_on("libtool", type='build')
+ depends_on("libtool", type="build")
# depends_on("lz4") # hpx5 always builds its own lz4
- depends_on("m4", type='build')
- depends_on("metis", when='+metis')
- depends_on("mpi", when='+mpi')
- depends_on("mpi", when='+photon')
- depends_on("opencl", when='+opencl')
+ depends_on("m4", type="build")
+ depends_on("metis", when="+metis")
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+photon")
+ depends_on("opencl", when="+opencl")
# depends_on("papi")
- depends_on("pkgconfig", type='build')
+ depends_on("pkgconfig", type="build")
configure_directory = "hpx"
build_directory = "spack-build"
@@ -64,55 +69,55 @@ class Hpx5(AutotoolsPackage):
def configure_args(self):
spec = self.spec
args = [
- '--enable-agas', # make this a variant?
- '--enable-jemalloc', # make this a variant?
- '--enable-percolation', # make this a variant?
+ "--enable-agas", # make this a variant?
+ "--enable-jemalloc", # make this a variant?
+ "--enable-percolation", # make this a variant?
# '--enable-rebalancing', # this seems broken
- '--with-hwloc=hwloc',
- '--with-jemalloc=jemalloc',
+ "--with-hwloc=hwloc",
+ "--with-jemalloc=jemalloc",
# Spack's libffi installs its headers strangely,
# leading to problems
- '--with-libffi=contrib',
+ "--with-libffi=contrib",
# '--with-papi=papi', # currently disabled in HPX
]
- if '+cxx11' in spec:
- args += ['--enable-hpx++']
+ if "+cxx11" in spec:
+ args += ["--enable-hpx++"]
- if '+debug' in spec:
- args += ['--enable-debug']
+ if "+debug" in spec:
+ args += ["--enable-debug"]
- if '+instrumentation' in spec:
- args += ['--enable-instrumentation']
+ if "+instrumentation" in spec:
+ args += ["--enable-instrumentation"]
- if '+mpi' in spec or '+photon' in spec:
+ if "+mpi" in spec or "+photon" in spec:
# photon requires mpi
- args += ['--enable-mpi']
+ args += ["--enable-mpi"]
# Choose pkg-config name for MPI library
- if '^openmpi' in spec:
- args += ['--with-mpi=ompi-cxx']
- elif '^mpich' in spec:
- args += ['--with-mpi=mpich']
- elif '^mvapich2' in spec:
- args += ['--with-mpi=mvapich2-cxx']
+ if "^openmpi" in spec:
+ args += ["--with-mpi=ompi-cxx"]
+ elif "^mpich" in spec:
+ args += ["--with-mpi=mpich"]
+ elif "^mvapich2" in spec:
+ args += ["--with-mpi=mvapich2-cxx"]
else:
- args += ['--with-mpi=system']
+ args += ["--with-mpi=system"]
# METIS does not support pkg-config; HPX will pick it up automatically
# if '+metis' in spec:
# args += ['--with-metis=???']
- if '+opencl' in spec:
- args += ['--enable-opencl']
- if '^pocl' in spec:
- args += ['--with-opencl=pocl']
+ if "+opencl" in spec:
+ args += ["--enable-opencl"]
+ if "^pocl" in spec:
+ args += ["--with-opencl=pocl"]
else:
- args += ['--with-opencl=system']
+ args += ["--with-opencl=system"]
- if '+photon' in spec:
- args += ['--enable-photon']
+ if "+photon" in spec:
+ args += ["--enable-photon"]
- if '+pic' in spec:
- args += ['--with-pic']
+ if "+pic" in spec:
+ args += ["--with-pic"]
return args
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 52d326b6bf..c8302a166c 100644
--- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py
+++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py
@@ -11,69 +11,131 @@ from spack.package import *
class HsaRocrDev(CMakePackage):
"""This repository includes the user mode API nterfaces and libraries
- necessary for host applications to launch computer kernels to available
- HSA ROCm kernel agents.AMD Heterogeneous System Architecture HSA -
- Linux HSA Runtime for Boltzmann (ROCm) platforms."""
+ necessary for host applications to launch computer kernels to available
+ HSA ROCm kernel agents.AMD Heterogeneous System Architecture HSA -
+ Linux HSA Runtime for Boltzmann (ROCm) platforms."""
homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"
- git = "https://github.com/RadeonOpenCompute/ROCR-Runtime.git"
- url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['libhsa-runtime64']
-
- version('master', branch='master')
- version('5.1.3', sha256='479340ec34cdffbbdb1002c85a47d1fccd23e8394631a1f001ef6130be08287d')
- version('5.1.0', sha256='a5f7245059c3d28dbc037e1e6fa3f09084e29147096dd61f7ce5560291ab330f')
- version('5.0.2', sha256='94ce313f3b37e6571778dc6865d73dafa798cbaf4de63b5307382c4a2418e99f')
- version('5.0.0', sha256='61644365ea2b09fa7ec22f3dbdb74f2b6b1daa34b180138da9e0c856006a373e')
- version('4.5.2', sha256='d99eddedce0a97d9970932b64b0bb4743e47d2740e8db0288dbda7bec3cefa80')
- version('4.5.0', sha256='fbf550f243dddfef46a716e360b77c43886fed3eef67215ab9dab1c82f3851ca')
- version('4.3.1', sha256='85fbd1645120b71635844090ce8bd9f7af0a3d1065d5fae476879f99ba0c0475', deprecated=True)
- version('4.3.0', sha256='2a08657a517971447fc233cb2c8ee2e117c6ab5efc31af147b28b3ef59b3847d', deprecated=True)
- version('4.2.0', sha256='fa0e7bcd64e97cbff7c39c9e87c84a49d2184dc977b341794770805ec3f896cc', deprecated=True)
- version('4.1.0', sha256='c223a5f7ccac280520abb6ea49fdd36fa9468718098a9d984be6ef839ccbc6db', deprecated=True)
- version('4.0.0', sha256='e84c48e80ea38698a5bd5da3940048ad3cab3696d10a53132acad07ca357f17c', deprecated=True)
- version('3.10.0', sha256='58866d8acdb6cc45227f2412098e37c65908b20ed3dd54901dfb515c15ad5f71', deprecated=True)
- version('3.9.0', sha256='d722fb61f62037894957856f2c2d17231c4622bdf75db372321ee30206dceeb6', deprecated=True)
- version('3.8.0', sha256='1dfad4d89d6c099e15073ed38e083bcf6cc463470dcc8a1e1b9e22060c060c72', deprecated=True)
- version('3.7.0', sha256='0071d14431f73ce74574e61d0786f2b7cf34b14ea898a1f54b6e1b06b2d468c0', deprecated=True)
- version('3.5.0', sha256='52c12eec3e3404c0749c70f156229786ee0c3e6d3c979aed9bbaea500fa1f3b8', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('shared', default=True, description='Build shared or static library')
- variant('image', default=True, description='build with or without image support')
-
- depends_on('cmake@3:', type="build")
+ git = "https://github.com/RadeonOpenCompute/ROCR-Runtime.git"
+ url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["libhsa-runtime64"]
+
+ version("master", branch="master")
+ version("5.1.3", sha256="479340ec34cdffbbdb1002c85a47d1fccd23e8394631a1f001ef6130be08287d")
+ version("5.1.0", sha256="a5f7245059c3d28dbc037e1e6fa3f09084e29147096dd61f7ce5560291ab330f")
+ version("5.0.2", sha256="94ce313f3b37e6571778dc6865d73dafa798cbaf4de63b5307382c4a2418e99f")
+ version("5.0.0", sha256="61644365ea2b09fa7ec22f3dbdb74f2b6b1daa34b180138da9e0c856006a373e")
+ version("4.5.2", sha256="d99eddedce0a97d9970932b64b0bb4743e47d2740e8db0288dbda7bec3cefa80")
+ version("4.5.0", sha256="fbf550f243dddfef46a716e360b77c43886fed3eef67215ab9dab1c82f3851ca")
+ version(
+ "4.3.1",
+ sha256="85fbd1645120b71635844090ce8bd9f7af0a3d1065d5fae476879f99ba0c0475",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="2a08657a517971447fc233cb2c8ee2e117c6ab5efc31af147b28b3ef59b3847d",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="fa0e7bcd64e97cbff7c39c9e87c84a49d2184dc977b341794770805ec3f896cc",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="c223a5f7ccac280520abb6ea49fdd36fa9468718098a9d984be6ef839ccbc6db",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="e84c48e80ea38698a5bd5da3940048ad3cab3696d10a53132acad07ca357f17c",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="58866d8acdb6cc45227f2412098e37c65908b20ed3dd54901dfb515c15ad5f71",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="d722fb61f62037894957856f2c2d17231c4622bdf75db372321ee30206dceeb6",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="1dfad4d89d6c099e15073ed38e083bcf6cc463470dcc8a1e1b9e22060c060c72",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="0071d14431f73ce74574e61d0786f2b7cf34b14ea898a1f54b6e1b06b2d468c0",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="52c12eec3e3404c0749c70f156229786ee0c3e6d3c979aed9bbaea500fa1f3b8",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("shared", default=True, description="Build shared or static library")
+ variant("image", default=True, description="build with or without image support")
+
+ depends_on("cmake@3:", type="build")
# Note, technically only necessary when='@3.7: +image', but added to all
# to work around https://github.com/spack/spack/issues/23951
- depends_on('xxd', when='+image', type='build')
- depends_on('elf', 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3', 'master']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
+ depends_on("xxd", when="+image", type="build")
+ depends_on("elf", 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
# allow standalone rocm-device-libs (useful for aomp)
- depends_on('rocm-device-libs@' + ver, when='@{0} ^llvm-amdgpu ~rocm-device-libs'.format(ver))
+ depends_on(
+ "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
+ )
# Both 3.5.0 and 3.7.0 force INSTALL_RPATH in different ways
- patch('0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch', when='@3.5.0')
- patch('0002-Remove-explicit-RPATH-again.patch', when='@3.7.0:')
+ patch("0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch", when="@3.5.0")
+ patch("0002-Remove-explicit-RPATH-again.patch", when="@3.7.0:")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -84,22 +146,23 @@ class HsaRocrDev(CMakePackage):
# hsa-rocr-dev wants the directory containing the header files, but
# libelf adds an extra path (include/libelf) compared to elfutils
libelf_include = os.path.dirname(
- find_headers('libelf', spec['elf'].prefix.include, recursive=True)[0])
+ find_headers("libelf", spec["elf"].prefix.include, recursive=True)[0]
+ )
args = [
- self.define('LIBELF_INCLUDE_DIRS', libelf_include),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
+ self.define("LIBELF_INCLUDE_DIRS", libelf_include),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
- if '@3.7.0:' in spec:
- args.append(self.define_from_variant('IMAGE_SUPPORT', 'image'))
+ if "@3.7.0:" in spec:
+ args.append(self.define_from_variant("IMAGE_SUPPORT", "image"))
# device libs is bundled with llvm-amdgpu (default) or standalone
- if '^rocm-device-libs' in spec:
- bitcode_dir = spec['rocm-device-libs'].prefix.amdgcn.bitcode
+ if "^rocm-device-libs" in spec:
+ bitcode_dir = spec["rocm-device-libs"].prefix.amdgcn.bitcode
else:
- bitcode_dir = spec['llvm-amdgpu'].prefix.amdgcn.bitcode
+ bitcode_dir = spec["llvm-amdgpu"].prefix.amdgcn.bitcode
- args.append(self.define('BITCODE_DIR', bitcode_dir))
+ args.append(self.define("BITCODE_DIR", bitcode_dir))
return args
diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py
index a872cbb4b8..55cbcf2d43 100644
--- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py
+++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py
@@ -9,54 +9,97 @@ from spack.package import *
class HsakmtRoct(CMakePackage):
"""This is a thunk python recipe to build and install Thunk Interface.
- Thunk Interface is a user-mode API interfaces used to interact
- with the ROCk driver."""
+ Thunk Interface is a user-mode API interfaces used to interact
+ with the ROCk driver."""
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-5.0.2.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('master', branch='master')
- version('5.1.3', sha256='3c66b1aa7451571ce8bee10e601d34b93c9416b9be476610ee5685dbad81034a')
- version('5.1.0', sha256='032717e80b1aefed59f11399e575564ee86ee7c125e889f7c79c2afdfab1eb93')
- version('5.0.2', sha256='f2a27ac18aada1dc0dba6455beb7dd7d88a4457c1917024ea372fecb03356e97')
- version('5.0.0', sha256='1d803572eac0d6186260b5671268bad7513aa9433f9c2e99f14c8bf766c02122')
- version('4.5.2', sha256='fb8e44226b9e393baf51bfcb9873f63ce7e4fcf7ee7f530979cf51857ea4d24b')
- version('4.5.0', sha256='620b39959e0ee5d709b8cf6eb3cc06c8356d72838343756230c638899b10bb9a')
- version('4.3.1', sha256='9d0727e746d4ae6e2709e3534d91046640be511a71c027f47db25e529fe3b4d4', deprecated=True)
- version('4.3.0', sha256='1ef5fe687bc23ffda17841fe354c1fb94e9aaf276ca9e5757488852f9066f231', deprecated=True)
- version('4.2.0', sha256='cc325d4b9a96062f2ad0515fce724a8c64ba56a7d7f1ac4a0753941b8599c52e', deprecated=True)
- version('4.1.0', sha256='8443ed5907a7ba9ad4003a49d90ff7b8886e1b2a5e90f14e4035765a7f64d7ca', deprecated=True)
- version('4.0.0', sha256='a6960fffc8388731ee18953faae12d1449c582e3b3594418845a544455895f42', deprecated=True)
- version('3.10.0', sha256='a3d629247a763cc36f5d48e9122cee8498574af628e14e3c38686c05f66e3e06', deprecated=True)
- version('3.9.0', sha256='e1bb8b010855736d8a97957222f648532d42646ec2964776a9a1455dc81104a3', deprecated=True)
- version('3.8.0', sha256='cd5440f31f592737b5d05448704bd01f91f73cfcab8a7829922e81332575cfe8', deprecated=True)
- version('3.7.0', sha256='b357fe7f425996c49f41748923ded1a140933de7564a70a828ed6ded6d896458', deprecated=True)
- version('3.5.0', sha256='d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('shared', default=True, description='Build shared or static library')
-
- depends_on('pkgconfig', type='build', when='@4.5.0:')
- depends_on('cmake@3:', type='build')
- depends_on('numactl')
- depends_on('libdrm', when='@4.5.0:')
+ git = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git"
+ url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-5.0.2.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("master", branch="master")
+ version("5.1.3", sha256="3c66b1aa7451571ce8bee10e601d34b93c9416b9be476610ee5685dbad81034a")
+ version("5.1.0", sha256="032717e80b1aefed59f11399e575564ee86ee7c125e889f7c79c2afdfab1eb93")
+ version("5.0.2", sha256="f2a27ac18aada1dc0dba6455beb7dd7d88a4457c1917024ea372fecb03356e97")
+ version("5.0.0", sha256="1d803572eac0d6186260b5671268bad7513aa9433f9c2e99f14c8bf766c02122")
+ version("4.5.2", sha256="fb8e44226b9e393baf51bfcb9873f63ce7e4fcf7ee7f530979cf51857ea4d24b")
+ version("4.5.0", sha256="620b39959e0ee5d709b8cf6eb3cc06c8356d72838343756230c638899b10bb9a")
+ version(
+ "4.3.1",
+ sha256="9d0727e746d4ae6e2709e3534d91046640be511a71c027f47db25e529fe3b4d4",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="1ef5fe687bc23ffda17841fe354c1fb94e9aaf276ca9e5757488852f9066f231",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="cc325d4b9a96062f2ad0515fce724a8c64ba56a7d7f1ac4a0753941b8599c52e",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="8443ed5907a7ba9ad4003a49d90ff7b8886e1b2a5e90f14e4035765a7f64d7ca",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="a6960fffc8388731ee18953faae12d1449c582e3b3594418845a544455895f42",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="a3d629247a763cc36f5d48e9122cee8498574af628e14e3c38686c05f66e3e06",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="e1bb8b010855736d8a97957222f648532d42646ec2964776a9a1455dc81104a3",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="cd5440f31f592737b5d05448704bd01f91f73cfcab8a7829922e81332575cfe8",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="b357fe7f425996c49f41748923ded1a140933de7564a70a828ed6ded6d896458",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("shared", default=True, description="Build shared or static library")
+
+ depends_on("pkgconfig", type="build", when="@4.5.0:")
+ depends_on("cmake@3:", type="build")
+ depends_on("numactl")
+ depends_on("libdrm", when="@4.5.0:")
# See https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/issues/72
# and https://github.com/spack/spack/issues/28398
- patch('0001-Remove-compiler-support-libraries-and-libudev-as-req.patch', when='@4.5.0:')
+ patch("0001-Remove-compiler-support-libraries-and-libudev-as-req.patch", when="@4.5.0:")
@property
def install_targets(self):
- if self.version == Version('3.5.0'):
- return ['install', 'install-dev']
+ if self.version == Version("3.5.0"):
+ return ["install", "install-dev"]
else:
- return ['install']
+ return ["install"]
def cmake_args(self):
- return [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
- ]
+ return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
diff --git a/var/spack/repos/builtin/packages/hsakmt/package.py b/var/spack/repos/builtin/packages/hsakmt/package.py
index 05d13a474c..1514836ae3 100644
--- a/var/spack/repos/builtin/packages/hsakmt/package.py
+++ b/var/spack/repos/builtin/packages/hsakmt/package.py
@@ -13,4 +13,4 @@ class Hsakmt(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/amd/hsakmt/"
xorg_mirror_path = "lib/hsakmt-1.0.0.tar.gz"
- version('1.0.0', sha256='3d46af85c27091937618f5e92f7446cff3e9e6378888645e6e238806461e5b77')
+ version("1.0.0", sha256="3d46af85c27091937618f5e92f7446cff3e9e6378888645e6e238806461e5b77")
diff --git a/var/spack/repos/builtin/packages/hsf-cmaketools/package.py b/var/spack/repos/builtin/packages/hsf-cmaketools/package.py
index f0cb46755f..928d4d586c 100644
--- a/var/spack/repos/builtin/packages/hsf-cmaketools/package.py
+++ b/var/spack/repos/builtin/packages/hsf-cmaketools/package.py
@@ -10,17 +10,17 @@ class HsfCmaketools(Package):
"""CMake 'Find' modules for commonly used HEP Packages"""
homepage = "https://github.com/HSF/cmaketools/"
- url = "https://github.com/HSF/cmaketools/archive/1.8.tar.gz"
- git = "https://github.com/HSF/cmaketools.git"
+ url = "https://github.com/HSF/cmaketools/archive/1.8.tar.gz"
+ git = "https://github.com/HSF/cmaketools.git"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('master', branch='master')
- version('1.8', sha256='91af30f5701dadf80a5d7e0d808c224c934f0784a3aff2d3b69aff24f7e1db41')
+ version("master", branch="master")
+ version("1.8", sha256="91af30f5701dadf80a5d7e0d808c224c934f0784a3aff2d3b69aff24f7e1db41")
# this package only needs to be installed in CMAKE_PREFIX_PATH
# which is set by spack
def install(self, spec, prefix):
mkdir(prefix.modules)
- install_tree('modules', prefix.modules)
+ install_tree("modules", prefix.modules)
install("CMakeToolsConfig.cmake", prefix)
diff --git a/var/spack/repos/builtin/packages/hssp/package.py b/var/spack/repos/builtin/packages/hssp/package.py
index ee9a37c05d..7690b4b581 100644
--- a/var/spack/repos/builtin/packages/hssp/package.py
+++ b/var/spack/repos/builtin/packages/hssp/package.py
@@ -9,40 +9,39 @@ from spack.pkg.builtin.boost import Boost
class Hssp(AutotoolsPackage):
"""The source code for building the mkhssp and hsspconv programs is bundled
- in the hssp project.
+ in the hssp project.
- The mkhssp executable creates stockholm files with hssp annotations in
- them. The hsspconv executable converts stockholm to the original hssp
- format.
+ The mkhssp executable creates stockholm files with hssp annotations in
+ them. The hsspconv executable converts stockholm to the original hssp
+ format.
"""
homepage = "https://github.com/cmbi/hssp"
- url = "https://github.com/cmbi/hssp/archive/3.0.10.tar.gz"
-
- version('3.0.10', sha256='9b2cba9c498e65fd48730f0fc86ca2b480bf12903a2c131521023f3a161fe870')
- version('3.0.9', sha256='2f67743ffd233ed9c4cd298e8fc65a332b863052945fb62bd61d7f1776274da9')
- version('3.0.8', sha256='56c926d2e43a3dd6324de558dde868751355f385d1b60fd85586a0a2c2bc82e0')
- version('3.0.7', sha256='3f1c09eb2cdc679119375a9ee552f853bcd1e959f030cb67ca6bd33809e6cdf2')
- version('3.0.6', sha256='8d3bc75bd9513dd0800a630049969639758692e42a28028651543320cce70d5f')
- version('3.0.5', sha256='8ca1de53e8add9e7af18a9f565bbcfa388f4d6ddcd2b7a1eae668c836ec0d09c')
- version('3.0.4', sha256='67a39d325ce9c17a416a26172fd5ae28878be3557cd611d7cbb9bcaf09507e76')
- version('3.0.3', sha256='42fc2b293fc60407ae097cc8021fd7cf0044092aa366c11ee99015beec83beea')
- version('3.0.2', sha256='76b4275c8cde120509d7920609fca983f2b04249a649d0aa802c69fd09e5f8cf')
- version('3.0.1', sha256='62a703d15bdfec82fdbd2a4275e1973b6a1ac6ccd4dbec75036f16faacaa9dce')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('boost@1.48:')
+ url = "https://github.com/cmbi/hssp/archive/3.0.10.tar.gz"
+
+ version("3.0.10", sha256="9b2cba9c498e65fd48730f0fc86ca2b480bf12903a2c131521023f3a161fe870")
+ version("3.0.9", sha256="2f67743ffd233ed9c4cd298e8fc65a332b863052945fb62bd61d7f1776274da9")
+ version("3.0.8", sha256="56c926d2e43a3dd6324de558dde868751355f385d1b60fd85586a0a2c2bc82e0")
+ version("3.0.7", sha256="3f1c09eb2cdc679119375a9ee552f853bcd1e959f030cb67ca6bd33809e6cdf2")
+ version("3.0.6", sha256="8d3bc75bd9513dd0800a630049969639758692e42a28028651543320cce70d5f")
+ version("3.0.5", sha256="8ca1de53e8add9e7af18a9f565bbcfa388f4d6ddcd2b7a1eae668c836ec0d09c")
+ version("3.0.4", sha256="67a39d325ce9c17a416a26172fd5ae28878be3557cd611d7cbb9bcaf09507e76")
+ version("3.0.3", sha256="42fc2b293fc60407ae097cc8021fd7cf0044092aa366c11ee99015beec83beea")
+ version("3.0.2", sha256="76b4275c8cde120509d7920609fca983f2b04249a649d0aa802c69fd09e5f8cf")
+ version("3.0.1", sha256="62a703d15bdfec82fdbd2a4275e1973b6a1ac6ccd4dbec75036f16faacaa9dce")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("boost@1.48:")
depends_on(Boost.with_default_variants)
def configure_args(self):
- args = [
- "--with-boost=%s" % self.spec['boost'].prefix]
+ args = ["--with-boost=%s" % self.spec["boost"].prefix]
return args
- @run_after('configure')
+ @run_after("configure")
def edit(self):
- makefile = FileFilter(join_path(self.stage.source_path, 'Makefile'))
- makefile.filter('.*-Werror .*', ' -Wno-error \\')
+ makefile = FileFilter(join_path(self.stage.source_path, "Makefile"))
+ makefile.filter(".*-Werror .*", " -Wno-error \\")
diff --git a/var/spack/repos/builtin/packages/hstr/package.py b/var/spack/repos/builtin/packages/hstr/package.py
index df7d2612bb..41dd8c47ac 100644
--- a/var/spack/repos/builtin/packages/hstr/package.py
+++ b/var/spack/repos/builtin/packages/hstr/package.py
@@ -12,13 +12,13 @@ class Hstr(AutotoolsPackage):
your command history."""
homepage = "https://github.com/dvorka/hstr"
- url = "https://github.com/dvorka/hstr/archive/1.22.tar.gz"
+ url = "https://github.com/dvorka/hstr/archive/1.22.tar.gz"
- version('1.22', sha256='384fee04e4c80a1964dcf443131c1da4a20dd474fb48132a51d3de0a946ba996')
+ version("1.22", sha256="384fee04e4c80a1964dcf443131c1da4a20dd474fb48132a51d3de0a946ba996")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('ncurses@5.9')
- depends_on('readline')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("ncurses@5.9")
+ depends_on("readline")
diff --git a/var/spack/repos/builtin/packages/hto4l/package.py b/var/spack/repos/builtin/packages/hto4l/package.py
index e1e7e32ac2..341dc34bf7 100644
--- a/var/spack/repos/builtin/packages/hto4l/package.py
+++ b/var/spack/repos/builtin/packages/hto4l/package.py
@@ -11,30 +11,35 @@ class Hto4l(MakefilePackage):
up to NLOPS electroweak accuracy and in presence of dimension-6 operators."""
homepage = "https://www2.pv.infn.it/~hepcomplex/hto4l.html"
- url = "http://www2.pv.infn.it/~hepcomplex/releases/hto4l/Hto4l-v2.02.tar.bz2"
+ url = "http://www2.pv.infn.it/~hepcomplex/releases/hto4l/Hto4l-v2.02.tar.bz2"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('2.02', sha256='1a7061689ddaf6bde1f12032479c529a9787d7b038ed55a0325398bd531aadf6')
+ version("2.02", sha256="1a7061689ddaf6bde1f12032479c529a9787d7b038ed55a0325398bd531aadf6")
- depends_on('gsl')
+ depends_on("gsl")
- @when('@2.02')
+ @when("@2.02")
def patch(self):
- filter_file(r'FFLAGS = -O1 -g -ffixed-line-length-none ' +
- r'-fno-range-check \$\(DEF\)QUAD=0 \$\(DEF\)U77EXT=0',
- 'FFLAGS = -O1 -g -ffixed-line-length-none -std=legacy ' +
- '-fno-range-check $(DEF)QUAD=0 $(DEF)U77EXT=0',
- 'LoopTools-2.10/makefile-lxplus')
- filter_file(r'-mkdir \$\(PREFIX\)', '-mkdir -p $(PREFIX)',
- 'LoopTools-2.10/makefile-lxplus')
- filter_file(r'-mkdir \$\(LIBDIR\) \$\(BINDIR\) \$\(INCLUDEDIR\)',
- '-mkdir -p $(LIBDIR) $(BINDIR) $(INCLUDEDIR)',
- 'LoopTools-2.10/makefile-lxplus')
+ filter_file(
+ r"FFLAGS = -O1 -g -ffixed-line-length-none "
+ + r"-fno-range-check \$\(DEF\)QUAD=0 \$\(DEF\)U77EXT=0",
+ "FFLAGS = -O1 -g -ffixed-line-length-none -std=legacy "
+ + "-fno-range-check $(DEF)QUAD=0 $(DEF)U77EXT=0",
+ "LoopTools-2.10/makefile-lxplus",
+ )
+ filter_file(
+ r"-mkdir \$\(PREFIX\)", "-mkdir -p $(PREFIX)", "LoopTools-2.10/makefile-lxplus"
+ )
+ filter_file(
+ r"-mkdir \$\(LIBDIR\) \$\(BINDIR\) \$\(INCLUDEDIR\)",
+ "-mkdir -p $(LIBDIR) $(BINDIR) $(INCLUDEDIR)",
+ "LoopTools-2.10/makefile-lxplus",
+ )
def edit(self, spec, prefix):
- env['GSL_HOME'] = self.spec['gsl'].prefix
+ env["GSL_HOME"] = self.spec["gsl"].prefix
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('Hto4l', prefix.bin)
+ install("Hto4l", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/htop/package.py b/var/spack/repos/builtin/packages/htop/package.py
index d3c029f75b..7e794b1d33 100644
--- a/var/spack/repos/builtin/packages/htop/package.py
+++ b/var/spack/repos/builtin/packages/htop/package.py
@@ -10,32 +10,40 @@ class Htop(AutotoolsPackage):
"""htop is an interactive text-mode process viewer for Unix systems."""
homepage = "https://github.com/htop-dev/htop/"
- url = "https://github.com/htop-dev/htop/archive/refs/tags/3.1.1.tar.gz"
- maintainers = ['sethrj']
-
- version('3.2.0', sha256='1a1dd174cc828521fe5fd0e052cff8c30aa50809cf80d3ce3a481c37d476ac54')
- version('3.1.2', sha256='fe9559637c8f21f5fd531a4c072048a404173806acbdad1359c6b82fd87aa001')
- version('3.1.1', sha256='b52280ad05a535ec632fbcd47e8e2c40a9376a9ddbd7caa00b38b9d6bb87ced6')
- version('3.0.5', sha256='4c2629bd50895bd24082ba2f81f8c972348aa2298cc6edc6a21a7fa18b73990c')
- version('2.2.0', sha256='d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57', url='https://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz')
- version('2.0.2', sha256='179be9dccb80cee0c5e1a1f58c8f72ce7b2328ede30fb71dcdf336539be2f487', url='https://hisham.hm/htop/releases/2.0.2/htop-2.0.2.tar.gz')
-
- variant('unicode', default=True, description='Enable Unicode support dependency')
- variant('hwloc', default=False, description='Enable hwloc support for CPU affinity')
- variant('debug', default=False, description='Enable asserts and internal sanity checks')
-
- depends_on('ncurses')
- depends_on('ncurses@6:', when='@3:')
- depends_on('m4', type='build', when='@3:')
- depends_on('autoconf', type='build', when='@3:')
- depends_on('automake', type='build', when='@3:')
- depends_on('libtool', type='build', when='@3:')
- depends_on('hwloc', when='+hwloc')
- depends_on('python+pythoncmd', type='build')
+ url = "https://github.com/htop-dev/htop/archive/refs/tags/3.1.1.tar.gz"
+ maintainers = ["sethrj"]
+
+ version("3.2.0", sha256="1a1dd174cc828521fe5fd0e052cff8c30aa50809cf80d3ce3a481c37d476ac54")
+ version("3.1.2", sha256="fe9559637c8f21f5fd531a4c072048a404173806acbdad1359c6b82fd87aa001")
+ version("3.1.1", sha256="b52280ad05a535ec632fbcd47e8e2c40a9376a9ddbd7caa00b38b9d6bb87ced6")
+ version("3.0.5", sha256="4c2629bd50895bd24082ba2f81f8c972348aa2298cc6edc6a21a7fa18b73990c")
+ version(
+ "2.2.0",
+ sha256="d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57",
+ url="https://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz",
+ )
+ version(
+ "2.0.2",
+ sha256="179be9dccb80cee0c5e1a1f58c8f72ce7b2328ede30fb71dcdf336539be2f487",
+ url="https://hisham.hm/htop/releases/2.0.2/htop-2.0.2.tar.gz",
+ )
+
+ variant("unicode", default=True, description="Enable Unicode support dependency")
+ variant("hwloc", default=False, description="Enable hwloc support for CPU affinity")
+ variant("debug", default=False, description="Enable asserts and internal sanity checks")
+
+ depends_on("ncurses")
+ depends_on("ncurses@6:", when="@3:")
+ depends_on("m4", type="build", when="@3:")
+ depends_on("autoconf", type="build", when="@3:")
+ depends_on("automake", type="build", when="@3:")
+ depends_on("libtool", type="build", when="@3:")
+ depends_on("hwloc", when="+hwloc")
+ depends_on("python+pythoncmd", type="build")
def configure_args(self):
args = []
- args += self.enable_or_disable('unicode')
- args += self.enable_or_disable('hwloc')
- args += self.enable_or_disable('debug')
+ args += self.enable_or_disable("unicode")
+ args += self.enable_or_disable("hwloc")
+ args += self.enable_or_disable("debug")
return args
diff --git a/var/spack/repos/builtin/packages/htslib/package.py b/var/spack/repos/builtin/packages/htslib/package.py
index 82e8e11a2d..006ff87be3 100644
--- a/var/spack/repos/builtin/packages/htslib/package.py
+++ b/var/spack/repos/builtin/packages/htslib/package.py
@@ -10,46 +10,50 @@ class Htslib(AutotoolsPackage):
"""C library for high-throughput sequencing data formats."""
homepage = "https://github.com/samtools/htslib"
- url = "https://github.com/samtools/htslib/releases/download/1.13/htslib-1.13.tar.bz2"
+ url = "https://github.com/samtools/htslib/releases/download/1.13/htslib-1.13.tar.bz2"
- version('1.14', sha256='ed221b8f52f4812f810eebe0cc56cd8355a5c9d21c62d142ac05ad0da147935f')
- version('1.13', sha256='f2407df9f97f0bb6b07656579e41a1ca5100464067b6b21bf962a2ea4b0efd65')
- version('1.12', sha256='2280141b46e953ba4ae01b98335a84f8e6ccbdb6d5cdbab7f70ee4f7e3b6f4ca')
- version('1.11', sha256='cffadd9baa6fce27b8fe0b01a462b489f06a5433dfe92121f667f40f632538d7')
- version('1.10.2', sha256='e3b543de2f71723830a1e0472cf5489ec27d0fbeb46b1103e14a11b7177d1939')
- version('1.9', sha256='e04b877057e8b3b8425d957f057b42f0e8509173621d3eccaedd0da607d9929a')
- version('1.8', sha256='c0ef1eec954a98cc708e9f99f6037db85db45670b52b6ab37abcc89b6c057ca1')
- version('1.7', sha256='be3d4e25c256acdd41bebb8a7ad55e89bb18e2fc7fc336124b1e2c82ae8886c6')
- version('1.6', sha256='9588be8be0c2390a87b7952d644e7a88bead2991b3468371347965f2e0504ccb')
- version('1.5', sha256='a02b515ea51d86352b089c63d778fb5e8b9d784937cf157e587189cb97ad922d')
- version('1.4', sha256='5cfc8818ff45cd6e924c32fec2489cb28853af8867a7ee8e755c4187f5883350')
- version('1.3.1', sha256='49d53a2395b8cef7d1d11270a09de888df8ba06f70fe68282e8235ee04124ae6')
- version('1.2', sha256='125c01421d5131afb4c3fd2bc9c7da6f4f1cd9ab5fc285c076080b9aca24bffc')
+ version("1.14", sha256="ed221b8f52f4812f810eebe0cc56cd8355a5c9d21c62d142ac05ad0da147935f")
+ version("1.13", sha256="f2407df9f97f0bb6b07656579e41a1ca5100464067b6b21bf962a2ea4b0efd65")
+ version("1.12", sha256="2280141b46e953ba4ae01b98335a84f8e6ccbdb6d5cdbab7f70ee4f7e3b6f4ca")
+ version("1.11", sha256="cffadd9baa6fce27b8fe0b01a462b489f06a5433dfe92121f667f40f632538d7")
+ version("1.10.2", sha256="e3b543de2f71723830a1e0472cf5489ec27d0fbeb46b1103e14a11b7177d1939")
+ version("1.9", sha256="e04b877057e8b3b8425d957f057b42f0e8509173621d3eccaedd0da607d9929a")
+ version("1.8", sha256="c0ef1eec954a98cc708e9f99f6037db85db45670b52b6ab37abcc89b6c057ca1")
+ version("1.7", sha256="be3d4e25c256acdd41bebb8a7ad55e89bb18e2fc7fc336124b1e2c82ae8886c6")
+ version("1.6", sha256="9588be8be0c2390a87b7952d644e7a88bead2991b3468371347965f2e0504ccb")
+ version("1.5", sha256="a02b515ea51d86352b089c63d778fb5e8b9d784937cf157e587189cb97ad922d")
+ version("1.4", sha256="5cfc8818ff45cd6e924c32fec2489cb28853af8867a7ee8e755c4187f5883350")
+ version("1.3.1", sha256="49d53a2395b8cef7d1d11270a09de888df8ba06f70fe68282e8235ee04124ae6")
+ version("1.2", sha256="125c01421d5131afb4c3fd2bc9c7da6f4f1cd9ab5fc285c076080b9aca24bffc")
- variant('libcurl',
- default=True,
- description='Enable libcurl-based support for http/https/etc URLs,'
- ' for versions >= 1.3. This also enables S3 and GCS support.')
- variant('libdeflate',
- default=True,
- description='use libdeflate for faster crc and deflate algorithms')
+ variant(
+ "libcurl",
+ default=True,
+ description="Enable libcurl-based support for http/https/etc URLs,"
+ " for versions >= 1.3. This also enables S3 and GCS support.",
+ )
+ variant(
+ "libdeflate",
+ default=True,
+ description="use libdeflate for faster crc and deflate algorithms",
+ )
- depends_on('zlib')
- depends_on('bzip2', when='@1.4:')
- depends_on('xz', when='@1.4:')
- depends_on('curl', when='@1.3:+libcurl')
- depends_on('libdeflate', when='@1.8:+libdeflate')
+ depends_on("zlib")
+ depends_on("bzip2", when="@1.4:")
+ depends_on("xz", when="@1.4:")
+ depends_on("curl", when="@1.3:+libcurl")
+ depends_on("libdeflate", when="@1.8:+libdeflate")
- depends_on('m4', when="@1.2")
- depends_on('autoconf', when="@1.2")
- depends_on('automake', when="@1.2")
- depends_on('libtool', when="@1.2")
+ depends_on("m4", when="@1.2")
+ depends_on("autoconf", when="@1.2")
+ depends_on("automake", when="@1.2")
+ depends_on("libtool", when="@1.2")
# v1.2 uses the automagically assembled tarball from .../archive/...
# everything else uses the tarballs uploaded to the release
def url_for_version(self, version):
- if version.string == '1.2':
- return 'https://github.com/samtools/htslib/archive/1.2.tar.gz'
+ if version.string == "1.2":
+ return "https://github.com/samtools/htslib/archive/1.2.tar.gz"
else:
url = "https://github.com/samtools/htslib/releases/download/{0}/htslib-{0}.tar.bz2"
return url.format(version.dotted)
@@ -58,10 +62,10 @@ class Htslib(AutotoolsPackage):
spec = self.spec
args = []
- if spec.satisfies('@1.3:'):
- args.extend(self.enable_or_disable('libcurl'))
+ if spec.satisfies("@1.3:"):
+ args.extend(self.enable_or_disable("libcurl"))
- if spec.satisfies('@1.8:'):
- args.extend(self.enable_or_disable('libdeflate'))
+ if spec.satisfies("@1.8:"):
+ args.extend(self.enable_or_disable("libdeflate"))
return args
diff --git a/var/spack/repos/builtin/packages/http-get/package.py b/var/spack/repos/builtin/packages/http-get/package.py
index b00682062b..bc17316b09 100644
--- a/var/spack/repos/builtin/packages/http-get/package.py
+++ b/var/spack/repos/builtin/packages/http-get/package.py
@@ -14,23 +14,23 @@ class HttpGet(MakefilePackage):
only HTTP. It can be configured to do HTTPS fetches as well."""
homepage = "https://www.acme.com/software/http_get/"
- url = "https://www.acme.com/software/http_get/http_get_23May2018.tar.gz"
+ url = "https://www.acme.com/software/http_get/http_get_23May2018.tar.gz"
- version('2018-05-23', sha256='f04e9d911fbc0cdb7c4ebe91dae1cc951ea14b657f48309c3952dcc938bb2e0d')
+ version(
+ "2018-05-23", sha256="f04e9d911fbc0cdb7c4ebe91dae1cc951ea14b657f48309c3952dcc938bb2e0d"
+ )
def url_for_version(self, version):
- ver = datetime.datetime.strptime(str(version), '%Y-%m-%d').date()
- verstr = datetime.datetime.strftime(ver, '%d%b%Y')
+ ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date()
+ verstr = datetime.datetime.strftime(ver, "%d%b%Y")
return "https://www.acme.com/software/http_get/http_get_{0}.tar.gz".format(verstr)
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter("BINDIR =\t/usr/local/bin",
- "BINDIR = {0}/bin".format(self.prefix))
- makefile.filter("MANDIR =\t/usr/local/man/man1",
- "MANDIR={0}/man/man1".format(self.prefix))
+ makefile.filter("BINDIR =\t/usr/local/bin", "BINDIR = {0}/bin".format(self.prefix))
+ makefile.filter("MANDIR =\t/usr/local/man/man1", "MANDIR={0}/man/man1".format(self.prefix))
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/http-load/package.py b/var/spack/repos/builtin/packages/http-load/package.py
index 1eac4acc55..bbdd6f9e96 100644
--- a/var/spack/repos/builtin/packages/http-load/package.py
+++ b/var/spack/repos/builtin/packages/http-load/package.py
@@ -12,23 +12,23 @@ class HttpLoad(MakefilePackage):
"""http_load - multiprocessing http test client"""
homepage = "https://www.acme.com/software/http_load/"
- url = "https://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz"
+ url = "https://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz"
- version('2016-03-09', sha256='5a7b00688680e3fca8726dc836fd3f94f403fde831c71d73d9a1537f215b4587')
+ version(
+ "2016-03-09", sha256="5a7b00688680e3fca8726dc836fd3f94f403fde831c71d73d9a1537f215b4587"
+ )
def url_for_version(self, version):
- ver = datetime.datetime.strptime(str(version), '%Y-%m-%d').date()
- verstr = datetime.datetime.strftime(ver, '%d%b%Y')
+ ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date()
+ verstr = datetime.datetime.strftime(ver, "%d%b%Y")
return "https://www.acme.com/software/http_load/http_load-{0}.tar.gz".format(verstr)
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter("BINDIR =\t/usr/local/bin",
- "BINDIR = {0}/bin".format(self.prefix))
- makefile.filter("MANDIR =\t/usr/local/man/man1",
- "MANDIR={0}/man/man1".format(self.prefix))
+ makefile.filter("BINDIR =\t/usr/local/bin", "BINDIR = {0}/bin".format(self.prefix))
+ makefile.filter("MANDIR =\t/usr/local/man/man1", "MANDIR={0}/man/man1".format(self.prefix))
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/http-parser/package.py b/var/spack/repos/builtin/packages/http-parser/package.py
index 40db1623db..076f79a58d 100644
--- a/var/spack/repos/builtin/packages/http-parser/package.py
+++ b/var/spack/repos/builtin/packages/http-parser/package.py
@@ -10,12 +10,12 @@ class HttpParser(MakefilePackage):
"""http request/response parser for c"""
homepage = "https://github.com/nodejs/http-parser"
- url = "https://github.com/nodejs/http-parser/archive/v2.9.4.tar.gz"
+ url = "https://github.com/nodejs/http-parser/archive/v2.9.4.tar.gz"
- version('2.9.4', sha256='467b9e30fd0979ee301065e70f637d525c28193449e1b13fbcb1b1fab3ad224f')
- version('2.9.3', sha256='8fa0ab8770fd8425a9b431fdbf91623c4d7a9cdb842b9339289bd2b0b01b0d3d')
- version('2.9.2', sha256='5199500e352584852c95c13423edc5f0cb329297c81dd69c3c8f52a75496da08')
- version('2.9.1', sha256='33220771208bcacecd970b6de03bebe239374a8e9cf3baeda79b4f3920bede21')
+ version("2.9.4", sha256="467b9e30fd0979ee301065e70f637d525c28193449e1b13fbcb1b1fab3ad224f")
+ version("2.9.3", sha256="8fa0ab8770fd8425a9b431fdbf91623c4d7a9cdb842b9339289bd2b0b01b0d3d")
+ version("2.9.2", sha256="5199500e352584852c95c13423edc5f0cb329297c81dd69c3c8f52a75496da08")
+ version("2.9.1", sha256="33220771208bcacecd970b6de03bebe239374a8e9cf3baeda79b4f3920bede21")
def install(self, spec, prefix):
- make('install', "DESTDIR=%s" % prefix, "PREFIX=")
+ make("install", "DESTDIR=%s" % prefix, "PREFIX=")
diff --git a/var/spack/repos/builtin/packages/http-ping/package.py b/var/spack/repos/builtin/packages/http-ping/package.py
index e3a26bd963..55ada6df91 100644
--- a/var/spack/repos/builtin/packages/http-ping/package.py
+++ b/var/spack/repos/builtin/packages/http-ping/package.py
@@ -13,23 +13,23 @@ class HttpPing(MakefilePackage):
HTTP requests instead of ICMP echo requests."""
homepage = "https://www.acme.com/software/http_ping/"
- url = "https://www.acme.com/software/http_ping/http_ping_09Mar2016.tar.gz"
+ url = "https://www.acme.com/software/http_ping/http_ping_09Mar2016.tar.gz"
- version('2016-03-09', sha256='f8b95773aaed09839a44a1927f979a62752d57aace79da3846bfb73e6c9805e9')
+ version(
+ "2016-03-09", sha256="f8b95773aaed09839a44a1927f979a62752d57aace79da3846bfb73e6c9805e9"
+ )
def url_for_version(self, version):
- ver = datetime.datetime.strptime(str(version), '%Y-%m-%d').date()
- verstr = datetime.datetime.strftime(ver, '%d%b%Y')
+ ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date()
+ verstr = datetime.datetime.strftime(ver, "%d%b%Y")
return "https://www.acme.com/software/http_ping/http_ping_{0}.tar.gz".format(verstr)
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter("BINDIR =\t/usr/local/bin",
- "BINDIR = {0}/bin".format(self.prefix))
- makefile.filter("MANDIR =\t/usr/local/man/man1",
- "MANDIR={0}/man/man1".format(self.prefix))
+ makefile.filter("BINDIR =\t/usr/local/bin", "BINDIR = {0}/bin".format(self.prefix))
+ makefile.filter("MANDIR =\t/usr/local/man/man1", "MANDIR={0}/man/man1".format(self.prefix))
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/http-post/package.py b/var/spack/repos/builtin/packages/http-post/package.py
index 908c8a019d..0c2b66a329 100644
--- a/var/spack/repos/builtin/packages/http-post/package.py
+++ b/var/spack/repos/builtin/packages/http-post/package.py
@@ -14,23 +14,23 @@ class HttpPost(MakefilePackage):
URL, only HTTP. It can be configured to do HTTPS POSTs as well."""
homepage = "https://www.acme.com/software/http_post/"
- url = "https://www.acme.com/software/http_post/http_post_18May2018.tar.gz"
+ url = "https://www.acme.com/software/http_post/http_post_18May2018.tar.gz"
- version('2018-05-18', sha256='6607faa91aea410efb9b86ae0b1b64541b55318831cf6bb3fdee5d68f8adab31')
+ version(
+ "2018-05-18", sha256="6607faa91aea410efb9b86ae0b1b64541b55318831cf6bb3fdee5d68f8adab31"
+ )
def url_for_version(self, version):
- ver = datetime.datetime.strptime(str(version), '%Y-%m-%d').date()
- verstr = datetime.datetime.strftime(ver, '%d%b%Y')
+ ver = datetime.datetime.strptime(str(version), "%Y-%m-%d").date()
+ verstr = datetime.datetime.strftime(ver, "%d%b%Y")
return "https://www.acme.com/software/http_post/http_post_{0}.tar.gz".format(verstr)
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter("BINDIR =\t/usr/local/bin",
- "BINDIR = {0}/bin".format(self.prefix))
- makefile.filter("MANDIR =\t/usr/local/man/man1",
- "MANDIR={0}/man/man1".format(self.prefix))
+ makefile.filter("BINDIR =\t/usr/local/bin", "BINDIR = {0}/bin".format(self.prefix))
+ makefile.filter("MANDIR =\t/usr/local/man/man1", "MANDIR={0}/man/man1".format(self.prefix))
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/httpd/package.py b/var/spack/repos/builtin/packages/httpd/package.py
index a457864ff8..94792dcb53 100644
--- a/var/spack/repos/builtin/packages/httpd/package.py
+++ b/var/spack/repos/builtin/packages/httpd/package.py
@@ -11,25 +11,25 @@ class Httpd(AutotoolsPackage):
web server."""
homepage = "https://httpd.apache.org/"
- url = "https://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2"
+ url = "https://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2"
- version('2.4.43', sha256='a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43')
- version('2.4.41', sha256='133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40')
- version('2.4.39', sha256='b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2')
- version('2.4.38', sha256='7dc65857a994c98370dc4334b260101a7a04be60e6e74a5c57a6dee1bc8f394a')
+ version("2.4.43", sha256="a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43")
+ version("2.4.41", sha256="133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40")
+ version("2.4.39", sha256="b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2")
+ version("2.4.38", sha256="7dc65857a994c98370dc4334b260101a7a04be60e6e74a5c57a6dee1bc8f394a")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('apr')
- depends_on('apr-util')
- depends_on('pcre')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("apr")
+ depends_on("apr-util")
+ depends_on("pcre")
def configure_args(self):
spec = self.spec
config_args = [
- '--with-apr={0}'.format(spec['apr'].prefix),
- '--with-apr-util={0}'.format(spec['apr-util'].prefix)
+ "--with-apr={0}".format(spec["apr"].prefix),
+ "--with-apr-util={0}".format(spec["apr-util"].prefix),
]
return config_args
diff --git a/var/spack/repos/builtin/packages/httperf/package.py b/var/spack/repos/builtin/packages/httperf/package.py
index 299066a0b3..cf60f57051 100644
--- a/var/spack/repos/builtin/packages/httperf/package.py
+++ b/var/spack/repos/builtin/packages/httperf/package.py
@@ -12,15 +12,15 @@ class Httperf(AutotoolsPackage):
measuring server performance."""
homepage = "https://github.com/httperf"
- git = "https://github.com/httperf/httperf.git"
+ git = "https://github.com/httperf/httperf.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def e_autogen(self):
- mkdirp('m4')
+ mkdirp("m4")
diff --git a/var/spack/repos/builtin/packages/httpie/package.py b/var/spack/repos/builtin/packages/httpie/package.py
index cc0775e16e..7bdfd5938e 100644
--- a/var/spack/repos/builtin/packages/httpie/package.py
+++ b/var/spack/repos/builtin/packages/httpie/package.py
@@ -9,22 +9,30 @@ from spack.package import *
class Httpie(PythonPackage):
"""Modern, user-friendly command-line HTTP client for the API era."""
- homepage = 'https://httpie.io/'
- pypi = 'httpie/httpie-2.6.0.tar.gz'
- maintainers = ['BoboTiG']
+ homepage = "https://httpie.io/"
+ pypi = "httpie/httpie-2.6.0.tar.gz"
+ maintainers = ["BoboTiG"]
- version('2.6.0', sha256='ef929317b239bbf0a5bb7159b4c5d2edbfc55f8a0bcf9cd24ce597daec2afca5')
- version('2.5.0', sha256='fe6a8bc50fb0635a84ebe1296a732e39357c3e1354541bf51a7057b4877e47f9')
- version('0.9.9', sha256='f1202e6fa60367e2265284a53f35bfa5917119592c2ab08277efc7fffd744fcb', deprecated=True)
- version('0.9.8', sha256='515870b15231530f56fe2164190581748e8799b66ef0fe36ec9da3396f0df6e1', deprecated=True)
+ version("2.6.0", sha256="ef929317b239bbf0a5bb7159b4c5d2edbfc55f8a0bcf9cd24ce597daec2afca5")
+ version("2.5.0", sha256="fe6a8bc50fb0635a84ebe1296a732e39357c3e1354541bf51a7057b4877e47f9")
+ version(
+ "0.9.9",
+ sha256="f1202e6fa60367e2265284a53f35bfa5917119592c2ab08277efc7fffd744fcb",
+ deprecated=True,
+ )
+ version(
+ "0.9.8",
+ sha256="515870b15231530f56fe2164190581748e8799b66ef0fe36ec9da3396f0df6e1",
+ deprecated=True,
+ )
- depends_on('python@3.6:', when='@2.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-charset-normalizer@2:', when='@2.6:', type=('build', 'run'))
- depends_on('py-defusedxml@0.6:', when='@2.5:', type=('build', 'run'))
- depends_on('py-pygments@2.1.3:', type=('build', 'run'))
- depends_on('py-pygments@2.5.2:', when='@2.5:', type=('build', 'run'))
- depends_on('py-requests@2.11:', type=('build', 'run'))
- depends_on('py-requests@2.22:+socks', when='@2.5:', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.9.1:', when='@2.5:', type=('build', 'run'))
- depends_on('py-argparse@1.2.1:', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
+ depends_on("python@3.6:", when="@2.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-charset-normalizer@2:", when="@2.6:", type=("build", "run"))
+ depends_on("py-defusedxml@0.6:", when="@2.5:", type=("build", "run"))
+ depends_on("py-pygments@2.1.3:", type=("build", "run"))
+ depends_on("py-pygments@2.5.2:", when="@2.5:", type=("build", "run"))
+ depends_on("py-requests@2.11:", type=("build", "run"))
+ depends_on("py-requests@2.22:+socks", when="@2.5:", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.9.1:", when="@2.5:", type=("build", "run"))
+ depends_on("py-argparse@1.2.1:", type=("build", "run"), when="^python@:2.6,3.0:3.1")
diff --git a/var/spack/repos/builtin/packages/httping/package.py b/var/spack/repos/builtin/packages/httping/package.py
index 7e18ddb025..45d962f82d 100644
--- a/var/spack/repos/builtin/packages/httping/package.py
+++ b/var/spack/repos/builtin/packages/httping/package.py
@@ -12,16 +12,16 @@ class Httping(AutotoolsPackage):
and retrivee the reply(only the headers), Be aware that the
transmission across the network also takes time! So it measures
the latency. of the webserver + network. It supports, of course,
- IPv6. httping was analyzed by Coverity Scan for software defects. """
+ IPv6. httping was analyzed by Coverity Scan for software defects."""
homepage = "https://www.vanheusden.com/httping/"
- url = "https://github.com/flok99/httping/archive/2.5.tar.gz"
+ url = "https://github.com/flok99/httping/archive/2.5.tar.gz"
- version('2.5', sha256='2ad423097fa7a0d2d20a387050e34374326a703dddce897e152a8341e47ea500')
- version('2.3.4', sha256='45ed71a72fd8c9c3975e49706c739395f75e3977b91f96e7e25652addfa0f242')
- version('2.3.3', sha256='b76ec14cb4f6cd29b60a974254f4be37ed721c1660ecde9f6aac516ba521ab86')
- version('2.3.1', sha256='90e86ca98f6c6bd33bd23a0eeda6f994dd8d147971d402da2733746c9b6ee61c')
- version('2.3', sha256='5d87e59e5d9e216346769471b581f289eac5e49cfc969407c199761367553ca8')
+ version("2.5", sha256="2ad423097fa7a0d2d20a387050e34374326a703dddce897e152a8341e47ea500")
+ version("2.3.4", sha256="45ed71a72fd8c9c3975e49706c739395f75e3977b91f96e7e25652addfa0f242")
+ version("2.3.3", sha256="b76ec14cb4f6cd29b60a974254f4be37ed721c1660ecde9f6aac516ba521ab86")
+ version("2.3.1", sha256="90e86ca98f6c6bd33bd23a0eeda6f994dd8d147971d402da2733746c9b6ee61c")
+ version("2.3", sha256="5d87e59e5d9e216346769471b581f289eac5e49cfc969407c199761367553ca8")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/httpress/package.py b/var/spack/repos/builtin/packages/httpress/package.py
index 1b125b9fdb..d1a05457d8 100644
--- a/var/spack/repos/builtin/packages/httpress/package.py
+++ b/var/spack/repos/builtin/packages/httpress/package.py
@@ -10,15 +10,15 @@ class Httpress(MakefilePackage):
"""High performance HTTP server stress & benchmark utility."""
homepage = "https://bitbucket.org/yarosla/httpress/wiki/Home"
- hg = "https://bitbucket.org/yarosla/httpress"
+ hg = "https://bitbucket.org/yarosla/httpress"
- version('develop')
- version('1.1.0', revision='1.1.0')
+ version("develop")
+ version("1.1.0", revision="1.1.0")
- depends_on('mercurial', type='build')
- depends_on('libev')
- depends_on('gnutls')
+ depends_on("mercurial", type="build")
+ depends_on("libev")
+ depends_on("gnutls")
def install(self, spec, prefix):
- install_tree('./bin/Release', prefix.bin)
- install_tree('./obj/Release', prefix.obj)
+ install_tree("./bin/Release", prefix.bin)
+ install_tree("./obj/Release", prefix.obj)
diff --git a/var/spack/repos/builtin/packages/hub/package.py b/var/spack/repos/builtin/packages/hub/package.py
index fb8426aa89..4117649c36 100644
--- a/var/spack/repos/builtin/packages/hub/package.py
+++ b/var/spack/repos/builtin/packages/hub/package.py
@@ -12,20 +12,19 @@ class Hub(Package):
"""The github git wrapper"""
homepage = "https://github.com/github/hub"
- url = "https://github.com/github/hub/archive/v2.2.2.tar.gz"
- git = "https://github.com/github/hub.git"
+ url = "https://github.com/github/hub/archive/v2.2.2.tar.gz"
+ git = "https://github.com/github/hub.git"
- version('master', branch='master')
- version('2.2.2', sha256='610572ee903aea1fa8622c16ab7ddef2bd1bfec9f4854447ab8e0fbdbe6a0cae')
- version('2.2.1', sha256='9350aba6a8e3da9d26b7258a4020bf84491af69595f7484f922d75fc8b86dc10')
- version('2.2.0', sha256='2da1351197eb5696c207f22c69a5422af052d74277b73d0b8661efb9ec1d0eb1')
- version('1.12.4', sha256='b7fe404d7dc5f60554f088bec12de5e80229331430ea0ced46d5bf89ecae5117')
+ version("master", branch="master")
+ version("2.2.2", sha256="610572ee903aea1fa8622c16ab7ddef2bd1bfec9f4854447ab8e0fbdbe6a0cae")
+ version("2.2.1", sha256="9350aba6a8e3da9d26b7258a4020bf84491af69595f7484f922d75fc8b86dc10")
+ version("2.2.0", sha256="2da1351197eb5696c207f22c69a5422af052d74277b73d0b8661efb9ec1d0eb1")
+ version("1.12.4", sha256="b7fe404d7dc5f60554f088bec12de5e80229331430ea0ced46d5bf89ecae5117")
extends("go")
def install(self, spec, prefix):
env = os.environ
- env['GOPATH'] = self.stage.source_path + ':' + env['GOPATH']
- bash = which('bash')
- bash(os.path.join('script', 'build'), '-o', os.path.join(prefix, 'bin',
- 'hub'))
+ env["GOPATH"] = self.stage.source_path + ":" + env["GOPATH"]
+ bash = which("bash")
+ bash(os.path.join("script", "build"), "-o", os.path.join(prefix, "bin", "hub"))
diff --git a/var/spack/repos/builtin/packages/hudi/package.py b/var/spack/repos/builtin/packages/hudi/package.py
index 0747711db4..35a662cb8a 100644
--- a/var/spack/repos/builtin/packages/hudi/package.py
+++ b/var/spack/repos/builtin/packages/hudi/package.py
@@ -12,8 +12,8 @@ class Hudi(MavenPackage):
Hudi manages the storage of large analytical datasets on DFS."""
homepage = "https://hudi.apache.org/"
- url = "https://github.com/apache/hudi/archive/release-0.5.3.tar.gz"
+ url = "https://github.com/apache/hudi/archive/release-0.5.3.tar.gz"
- version('0.5.3', sha256='8cbf52007fddd07eebd20c8962cd630b05a8ae4c597523fd63db837a45a0b227')
+ version("0.5.3", sha256="8cbf52007fddd07eebd20c8962cd630b05a8ae4c597523fd63db837a45a0b227")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/hugo/package.py b/var/spack/repos/builtin/packages/hugo/package.py
index 8484f6787e..35aeadb398 100644
--- a/var/spack/repos/builtin/packages/hugo/package.py
+++ b/var/spack/repos/builtin/packages/hugo/package.py
@@ -12,35 +12,35 @@ class Hugo(Package):
"""The world's fastest framework for building websites."""
homepage = "https://gohugo.io"
- url = "https://github.com/gohugoio/hugo/archive/v0.53.tar.gz"
+ url = "https://github.com/gohugoio/hugo/archive/v0.53.tar.gz"
- executables = ['^hugo$']
+ executables = ["^hugo$"]
- version('0.74.3', sha256='9b296fa0396c20956fa6a1f7afadaa78739af62c277b6c0cfae79a91b0fe823f')
- version('0.68.3', sha256='38e743605e45e3aafd9563feb9e78477e72d79535ce83b56b243ff991d3a2b6e')
- version('0.53', sha256='48e65a33d3b10527101d13c354538379d9df698e5c38f60f4660386f4232e65c')
+ version("0.74.3", sha256="9b296fa0396c20956fa6a1f7afadaa78739af62c277b6c0cfae79a91b0fe823f")
+ version("0.68.3", sha256="38e743605e45e3aafd9563feb9e78477e72d79535ce83b56b243ff991d3a2b6e")
+ version("0.53", sha256="48e65a33d3b10527101d13c354538379d9df698e5c38f60f4660386f4232e65c")
# Uses go modules.
# See https://gohugo.io/getting-started/installing/#fetch-from-github
- depends_on('go@1.11:', when='@0.48:', type='build')
+ depends_on("go@1.11:", when="@0.48:", type="build")
- variant('extended', default=False, description="Enable extended features")
+ variant("extended", default=False, description="Enable extended features")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('version', output=str, error=str)
- match = re.search(r'Hugo Static Site Generator v(\S+)', output)
+ output = Executable(exe)("version", output=str, error=str)
+ match = re.search(r"Hugo Static Site Generator v(\S+)", output)
return match.group(1) if match else None
def setup_build_environment(self, env):
- env.prepend_path('GOPATH', self.stage.path)
+ env.prepend_path("GOPATH", self.stage.path)
def install(self, spec, prefix):
- go_args = ['build']
- if self.spec.satisfies('+extended'):
- go_args.extend(['--tags', 'extended'])
+ go_args = ["build"]
+ if self.spec.satisfies("+extended"):
+ go_args.extend(["--tags", "extended"])
- go = which('go')
+ go = which("go")
go(*go_args)
mkdir(prefix.bin)
- install('hugo', prefix.bin)
+ install("hugo", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hunspell/package.py b/var/spack/repos/builtin/packages/hunspell/package.py
index ee8208d533..c8d3b8ce3b 100644
--- a/var/spack/repos/builtin/packages/hunspell/package.py
+++ b/var/spack/repos/builtin/packages/hunspell/package.py
@@ -10,19 +10,19 @@ class Hunspell(AutotoolsPackage):
"""The most popular spellchecking library (sez the author...)."""
homepage = "https://hunspell.github.io/"
- url = "https://github.com/hunspell/hunspell/archive/v1.6.0.tar.gz"
+ url = "https://github.com/hunspell/hunspell/archive/v1.6.0.tar.gz"
- version('1.7.0', sha256='bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a')
- version('1.6.0', sha256='512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2')
+ version("1.7.0", sha256="bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a")
+ version("1.6.0", sha256="512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext")
# TODO: If https://github.com/spack/spack/pull/12344 is merged, this
# method is unnecessary.
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
- autoreconf('-fiv')
+ autoreconf = which("autoreconf")
+ autoreconf("-fiv")
diff --git a/var/spack/repos/builtin/packages/hw-probe/package.py b/var/spack/repos/builtin/packages/hw-probe/package.py
index 41e21ed2d5..bdaf59d551 100644
--- a/var/spack/repos/builtin/packages/hw-probe/package.py
+++ b/var/spack/repos/builtin/packages/hw-probe/package.py
@@ -10,11 +10,11 @@ class HwProbe(MakefilePackage):
"""Hardware Probe Tool (hw-probe)."""
homepage = "https://github.com/linuxhw/hw-probe"
- url = "https://github.com/linuxhw/hw-probe/archive/1.5.tar.gz"
+ url = "https://github.com/linuxhw/hw-probe/archive/1.5.tar.gz"
- version('1.5', sha256='8bb7d6ff272c1412e26fcfd86e9df5c3e34e1584552404b930c281b8498b25ea')
- version('1.4', sha256='90f3ea83bf641348b209e4a2a910f65d836ae7828c0be0f660236ea413bc46bb')
- version('1.3', sha256='820ada4f16cb827e0990eb918e75423845fef54a863fdd88aa5bd23127354229')
+ version("1.5", sha256="8bb7d6ff272c1412e26fcfd86e9df5c3e34e1584552404b930c281b8498b25ea")
+ version("1.4", sha256="90f3ea83bf641348b209e4a2a910f65d836ae7828c0be0f660236ea413bc46bb")
+ version("1.3", sha256="820ada4f16cb827e0990eb918e75423845fef54a863fdd88aa5bd23127354229")
def install(self, spec, prefix):
- make('install', 'prefix={0}'.format(prefix))
+ make("install", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/hwdata/package.py b/var/spack/repos/builtin/packages/hwdata/package.py
index 00452e0b97..2dc9a8e9e2 100644
--- a/var/spack/repos/builtin/packages/hwdata/package.py
+++ b/var/spack/repos/builtin/packages/hwdata/package.py
@@ -10,7 +10,7 @@ class Hwdata(AutotoolsPackage):
"""Hardware identification and configuration data."""
homepage = "https://github.com/vcrhonek/hwdata"
- url = "https://github.com/vcrhonek/hwdata/archive/v0.337.tar.gz"
+ url = "https://github.com/vcrhonek/hwdata/archive/v0.337.tar.gz"
- version('0.345', sha256='fafcc97421ba766e08a2714ccc3eebb0daabc99e67d53c2d682721dd01ccf7a7')
- version('0.340', sha256='e3a0ef18af6795a362345a2c2c7177be351cb27b4cc0ed9278b7409759258802')
+ version("0.345", sha256="fafcc97421ba766e08a2714ccc3eebb0daabc99e67d53c2d682721dd01ccf7a7")
+ version("0.340", sha256="e3a0ef18af6795a362345a2c2c7177be351cb27b4cc0ed9278b7409759258802")
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index ad2325f629..42e39dd3f1 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -25,88 +25,84 @@ class Hwloc(AutotoolsPackage):
"""
homepage = "https://www.open-mpi.org/projects/hwloc/"
- url = "https://download.open-mpi.org/release/hwloc/v2.0/hwloc-2.0.2.tar.gz"
+ 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
- git = 'https://github.com/open-mpi/hwloc.git'
-
- maintainers = ['bgoglin']
- executables = ['^hwloc-bind$']
-
- version('master', branch='master')
- version('2.7.1', sha256='4cb0a781ed980b03ad8c48beb57407aa67c4b908e45722954b9730379bc7f6d5')
- version('2.7.0', sha256='d9b23e9b0d17247e8b50254810427ca8a9857dc868e2e3a049f958d7c66af374')
- version('2.6.0', sha256='9aa7e768ed4fd429f488466a311ef2191054ea96ea1a68657bc06ffbb745e59f')
- version('2.5.0', sha256='38aa8102faec302791f6b4f0d23960a3ffa25af3af6af006c64dbecac23f852c')
- version('2.4.1', sha256='4267fe1193a8989f3ab7563a7499e047e77e33fed8f4dec16822a7aebcf78459')
- version('2.4.0', sha256='30404065dc1d6872b0181269d0bb2424fbbc6e3b0a80491aa373109554006544')
- version('2.3.0', sha256='155480620c98b43ddf9ca66a6c318b363ca24acb5ff0683af9d25d9324f59836')
- version('2.2.0', sha256='2defba03ddd91761b858cbbdc2e3a6e27b44e94696dbfa21380191328485a433')
- version('2.1.0', sha256='1fb8cc1438de548e16ec3bb9e4b2abb9f7ce5656f71c0906583819fcfa8c2031')
- version('2.0.4', sha256='efadca880f5a59c6d5d6f7bc354546aa6f780d77cc2e139634c3de9564e7ce1f')
- version('2.0.3', sha256='64def246aaa5b3a6e411ce10932a22e2146c3031b735c8f94739534f06ad071c')
- version('2.0.2', sha256='27dcfe42e3fb3422b72ce48b48bf601c0a3e46e850ee72d9bdd17b5863b6e42c')
- version('2.0.1', sha256='f1156df22fc2365a31a3dc5f752c53aad49e34a5e22d75ed231cd97eaa437f9d')
- version('2.0.0', sha256='a0d425a0fc7c7e3f2c92a272ffaffbd913005556b4443e1887d2e1718d902887')
- version('1.11.13', sha256='a8f781ae4d347708a07d95e7549039887f151ed7f92263238527dfb0a3709b9d')
- version('1.11.12', sha256='f1d49433e605dd653a77e1478a78cee095787d554a94afe40d1376bca6708ca5')
- version('1.11.11', sha256='74329da3be1b25de8e98a712adb28b14e561889244bf3a8138afe91ab18e0b3a')
- version('1.11.10', sha256='0a2530b739d9ebf60c4c1e86adb5451a20d9e78f7798cf78d0147cc6df328aac')
- version('1.11.9', sha256='85b978995b67db0b1a12dd1a73b09ef3d39f8e3cb09f8b9c60cf04633acce46c')
- version('1.11.8', sha256='8af89b1164a330e36d18210360ea9bb305e19f9773d1c882855d261a13054ea8')
- version('1.11.7', sha256='ac16bed9cdd3c63bca1fe1ac3de522a1376b1487c4fc85b7b19592e28fd98e26')
- version('1.11.6', sha256='67963f15197e6b551539c4ed95a4f8882be9a16cf336300902004361cf89bdee')
- version('1.11.5', sha256='da2c780fce9b5440a1a7d1caf78f637feff9181a9d1ca090278cae4bea71b3df')
- version('1.11.4', sha256='1b6a58049c31ce36aff162cf4332998fd468486bd08fdfe0249a47437311512d')
- version('1.11.3', sha256='03a1cc63f23fed7e17e4d4369a75dc77d5c145111b8578b70e0964a12712dea0')
- version('1.11.2', sha256='d11f091ed54c56c325ffca1083113a405fcd8a25d5888af64f5cd6cf587b7b0a')
- version('1.11.1', sha256='b41f877d79b6026640943d57ef25311299378450f2995d507a5e633da711be61')
- version('1.9', sha256='9fb572daef35a1c8608d1a6232a4a9f56846bab2854c50562dfb9a7be294f4e8')
-
- variant('nvml', default=False, description="Support NVML device discovery")
- variant('gl', default=False, description="Support GL device discovery")
- variant('cuda', default=False, description="Support CUDA devices")
- variant('libxml2', default=True, description="Build with libxml2")
- variant('libudev', default=False, description="Build with libudev")
- variant('pci', default=(sys.platform != 'darwin'),
- description="Support analyzing devices on PCI bus")
- variant('shared', default=True, description="Build shared libraries")
+ git = "https://github.com/open-mpi/hwloc.git"
+
+ maintainers = ["bgoglin"]
+ executables = ["^hwloc-bind$"]
+
+ version("master", branch="master")
+ version("2.7.1", sha256="4cb0a781ed980b03ad8c48beb57407aa67c4b908e45722954b9730379bc7f6d5")
+ version("2.7.0", sha256="d9b23e9b0d17247e8b50254810427ca8a9857dc868e2e3a049f958d7c66af374")
+ version("2.6.0", sha256="9aa7e768ed4fd429f488466a311ef2191054ea96ea1a68657bc06ffbb745e59f")
+ version("2.5.0", sha256="38aa8102faec302791f6b4f0d23960a3ffa25af3af6af006c64dbecac23f852c")
+ version("2.4.1", sha256="4267fe1193a8989f3ab7563a7499e047e77e33fed8f4dec16822a7aebcf78459")
+ version("2.4.0", sha256="30404065dc1d6872b0181269d0bb2424fbbc6e3b0a80491aa373109554006544")
+ version("2.3.0", sha256="155480620c98b43ddf9ca66a6c318b363ca24acb5ff0683af9d25d9324f59836")
+ version("2.2.0", sha256="2defba03ddd91761b858cbbdc2e3a6e27b44e94696dbfa21380191328485a433")
+ version("2.1.0", sha256="1fb8cc1438de548e16ec3bb9e4b2abb9f7ce5656f71c0906583819fcfa8c2031")
+ version("2.0.4", sha256="efadca880f5a59c6d5d6f7bc354546aa6f780d77cc2e139634c3de9564e7ce1f")
+ version("2.0.3", sha256="64def246aaa5b3a6e411ce10932a22e2146c3031b735c8f94739534f06ad071c")
+ version("2.0.2", sha256="27dcfe42e3fb3422b72ce48b48bf601c0a3e46e850ee72d9bdd17b5863b6e42c")
+ version("2.0.1", sha256="f1156df22fc2365a31a3dc5f752c53aad49e34a5e22d75ed231cd97eaa437f9d")
+ version("2.0.0", sha256="a0d425a0fc7c7e3f2c92a272ffaffbd913005556b4443e1887d2e1718d902887")
+ version("1.11.13", sha256="a8f781ae4d347708a07d95e7549039887f151ed7f92263238527dfb0a3709b9d")
+ version("1.11.12", sha256="f1d49433e605dd653a77e1478a78cee095787d554a94afe40d1376bca6708ca5")
+ version("1.11.11", sha256="74329da3be1b25de8e98a712adb28b14e561889244bf3a8138afe91ab18e0b3a")
+ version("1.11.10", sha256="0a2530b739d9ebf60c4c1e86adb5451a20d9e78f7798cf78d0147cc6df328aac")
+ version("1.11.9", sha256="85b978995b67db0b1a12dd1a73b09ef3d39f8e3cb09f8b9c60cf04633acce46c")
+ version("1.11.8", sha256="8af89b1164a330e36d18210360ea9bb305e19f9773d1c882855d261a13054ea8")
+ version("1.11.7", sha256="ac16bed9cdd3c63bca1fe1ac3de522a1376b1487c4fc85b7b19592e28fd98e26")
+ version("1.11.6", sha256="67963f15197e6b551539c4ed95a4f8882be9a16cf336300902004361cf89bdee")
+ version("1.11.5", sha256="da2c780fce9b5440a1a7d1caf78f637feff9181a9d1ca090278cae4bea71b3df")
+ version("1.11.4", sha256="1b6a58049c31ce36aff162cf4332998fd468486bd08fdfe0249a47437311512d")
+ version("1.11.3", sha256="03a1cc63f23fed7e17e4d4369a75dc77d5c145111b8578b70e0964a12712dea0")
+ version("1.11.2", sha256="d11f091ed54c56c325ffca1083113a405fcd8a25d5888af64f5cd6cf587b7b0a")
+ version("1.11.1", sha256="b41f877d79b6026640943d57ef25311299378450f2995d507a5e633da711be61")
+ version("1.9", sha256="9fb572daef35a1c8608d1a6232a4a9f56846bab2854c50562dfb9a7be294f4e8")
+
+ variant("nvml", default=False, description="Support NVML device discovery")
+ variant("gl", default=False, description="Support GL device discovery")
+ variant("cuda", default=False, description="Support CUDA devices")
+ variant("libxml2", default=True, description="Build with libxml2")
+ variant("libudev", default=False, description="Build with libudev")
variant(
- 'cairo',
- default=False,
- description='Enable the Cairo back-end of hwloc\'s lstopo command'
+ "pci",
+ default=(sys.platform != "darwin"),
+ description="Support analyzing devices on PCI bus",
)
+ variant("shared", default=True, description="Build shared libraries")
variant(
- 'netloc',
- default=False,
- description="Enable netloc [requires MPI]"
+ "cairo", default=False, description="Enable the Cairo back-end of hwloc's lstopo command"
+ )
+ variant("netloc", 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")
+ variant(
+ "oneapi-level-zero", default=False, description="Support Intel OneAPI Level Zero devices"
)
- variant('opencl', default=False,
- description="Support an OpenCL library at run time")
- variant('rocm', default=False,
- description="Support ROCm devices")
- variant('oneapi-level-zero', default=False,
- description="Support Intel OneAPI Level Zero devices")
# netloc isn't available until version 2.0.0
- conflicts('+netloc', when="@:1")
+ conflicts("+netloc", when="@:1")
# libudev isn't available until version 1.11.0
- conflicts('+libudev', when="@:1.10")
-
- depends_on('pkgconfig', type='build')
- depends_on('m4', type='build', when='@master')
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('cuda', when='+nvml')
- depends_on('cuda', when='+cuda')
- depends_on('gl', when='+gl')
- depends_on('libpciaccess', when='+pci')
- depends_on('libxml2', when='+libxml2')
- depends_on('cairo', when='+cairo')
- depends_on('numactl', when='@:1.11.11 platform=linux')
- depends_on('ncurses')
+ conflicts("+libudev", when="@:1.10")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("m4", type="build", when="@master")
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("cuda", when="+nvml")
+ depends_on("cuda", when="+cuda")
+ depends_on("gl", when="+gl")
+ depends_on("libpciaccess", when="+pci")
+ depends_on("libxml2", when="+libxml2")
+ depends_on("cairo", when="+cairo")
+ depends_on("numactl", when="@:1.11.11 platform=linux")
+ depends_on("ncurses")
# Before 2.2 hwloc does not consider linking to libtinfo
# to detect ncurses, which is considered a bug.
@@ -116,35 +112,37 @@ class Hwloc(AutotoolsPackage):
# Therefore we patch the latest 1.x configure script to make
# it consider libtinfo too.
# see https://github.com/open-mpi/hwloc/pull/417
- patch('0001-Try-linking-to-libtinfo.patch', when='@1.11.13')
- depends_on('ncurses ~termlib', when='@2.0:2.2')
- depends_on('ncurses ~termlib', when='@1.0:1.11.12')
+ patch("0001-Try-linking-to-libtinfo.patch", when="@1.11.13")
+ depends_on("ncurses ~termlib", when="@2.0:2.2")
+ depends_on("ncurses ~termlib", when="@1.0:1.11.12")
# When mpi=openmpi, this introduces an unresolvable dependency.
# See https://github.com/spack/spack/issues/15836 for details
- depends_on('mpi', when='+netloc')
+ depends_on("mpi", when="+netloc")
- with when('+rocm'):
- depends_on('rocm-smi-lib')
- depends_on('rocm-opencl', when='+opencl')
+ 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')
+ depends_on("llvm-amdgpu~openmp", when="+opencl")
- with when('+oneapi-level-zero'):
- depends_on('oneapi-level-zero')
+ with when("+oneapi-level-zero"):
+ depends_on("oneapi-level-zero")
# oneapi-level-zero isn't available until version 2.5.0
- conflicts('@:2.4.99', msg='hwloc supports Intel OneAPI Level Zero only since 2.5.0')
+ conflicts("@:2.4.99", msg="hwloc supports Intel OneAPI Level Zero only since 2.5.0")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'hwloc-bind (\S+)',
- output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"hwloc-bind (\S+)", output)
return match.group(1) if match else None
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)
+ 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 = []
@@ -154,41 +152,39 @@ class Hwloc(AutotoolsPackage):
# 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 "+opencl" not in self.spec:
+ args.append("--disable-opencl")
# If ROCm libraries are found in system /opt/rocm
# during config stage, hwloc builds itself with
# librocm_smi support.
# This can fail the config tests while building
# OpenMPI due to lack of rpath to librocm_smi
- if '+rocm' not in self.spec:
- args.append('--disable-rsmi')
-
- if '+rocm' in self.spec:
- args.append('--with-rocm={0}'.format(self.spec['rocm'].prefix))
- args.append('--with-rocm-version={0}'.format(
- self.spec['rocm'].version))
-
- if '+netloc' in self.spec:
- args.append('--enable-netloc')
-
- args.extend(self.enable_or_disable('cairo'))
- args.extend(self.enable_or_disable('nvml'))
- args.extend(self.enable_or_disable('gl'))
- args.extend(self.enable_or_disable('cuda'))
- args.extend(self.enable_or_disable('libxml2'))
- args.extend(self.enable_or_disable('libudev'))
- args.extend(self.enable_or_disable('pci'))
- args.extend(self.enable_or_disable('shared'))
- args.extend(self.enable_or_disable('oneapi-level-zero'))
-
- if '+cuda' in self.spec:
- args.append('--with-cuda={0}'.format(self.spec['cuda'].prefix))
- args.append('--with-cuda-version={0}'.format(
- self.spec['cuda'].version))
-
- if '+oneapi-level-zero' in self.spec:
- args.append('--enable-levelzero')
+ if "+rocm" not in self.spec:
+ args.append("--disable-rsmi")
+
+ if "+rocm" in self.spec:
+ args.append("--with-rocm={0}".format(self.spec["rocm"].prefix))
+ args.append("--with-rocm-version={0}".format(self.spec["rocm"].version))
+
+ if "+netloc" in self.spec:
+ args.append("--enable-netloc")
+
+ args.extend(self.enable_or_disable("cairo"))
+ args.extend(self.enable_or_disable("nvml"))
+ args.extend(self.enable_or_disable("gl"))
+ args.extend(self.enable_or_disable("cuda"))
+ args.extend(self.enable_or_disable("libxml2"))
+ args.extend(self.enable_or_disable("libudev"))
+ args.extend(self.enable_or_disable("pci"))
+ args.extend(self.enable_or_disable("shared"))
+ args.extend(self.enable_or_disable("oneapi-level-zero"))
+
+ if "+cuda" in self.spec:
+ args.append("--with-cuda={0}".format(self.spec["cuda"].prefix))
+ args.append("--with-cuda-version={0}".format(self.spec["cuda"].version))
+
+ if "+oneapi-level-zero" in self.spec:
+ args.append("--enable-levelzero")
return args
diff --git a/var/spack/repos/builtin/packages/hybpiper/package.py b/var/spack/repos/builtin/packages/hybpiper/package.py
index 7d671e5b02..c4e2fa1a7b 100644
--- a/var/spack/repos/builtin/packages/hybpiper/package.py
+++ b/var/spack/repos/builtin/packages/hybpiper/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class Hybpiper(Package):
"""HybPiper was designed for targeted sequence capture, in which DNA
- sequencing libraries are enriched for gene regions of interest,
- especially for phylogenetics. HybPiper is a suite of Python scripts
- that wrap and connect bioinformatics tools in order to extract target
- sequences from high-throughput DNA sequencing reads"""
+ sequencing libraries are enriched for gene regions of interest,
+ especially for phylogenetics. HybPiper is a suite of Python scripts
+ that wrap and connect bioinformatics tools in order to extract target
+ sequences from high-throughput DNA sequencing reads"""
homepage = "https://github.com/mossmatters/HybPiper"
- url = "https://github.com/mossmatters/HybPiper/archive/v1.2.0.tar.gz"
- git = "https://github.com/mossmatters/HybPiper/HybPiper.git"
+ url = "https://github.com/mossmatters/HybPiper/archive/v1.2.0.tar.gz"
+ git = "https://github.com/mossmatters/HybPiper/HybPiper.git"
- version('1.3.1', sha256='7ca07a9390d1ca52c72721774fa220546f18d3fa3b58500f68f3b2d89dbc0ecf')
- version('1.2.0', sha256='34c7b324e9bcacb6ccfe87dc50615d6f93866433b61a59291707efa858b6df57')
+ version("1.3.1", sha256="7ca07a9390d1ca52c72721774fa220546f18d3fa3b58500f68f3b2d89dbc0ecf")
+ version("1.2.0", sha256="34c7b324e9bcacb6ccfe87dc50615d6f93866433b61a59291707efa858b6df57")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('exonerate')
- depends_on('blast-plus')
- depends_on('spades')
- depends_on('parallel')
- depends_on('bwa')
- depends_on('samtools')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("exonerate")
+ depends_on("blast-plus")
+ depends_on("spades")
+ depends_on("parallel")
+ depends_on("bwa")
+ depends_on("samtools")
def setup_run_environment(self, env):
- env.set('HYBPIPER_HOME', self.prefix)
+ env.set("HYBPIPER_HOME", self.prefix)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('*.py', prefix.bin)
+ install("*.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hybrid-lambda/package.py b/var/spack/repos/builtin/packages/hybrid-lambda/package.py
index 2452f73282..288963b322 100644
--- a/var/spack/repos/builtin/packages/hybrid-lambda/package.py
+++ b/var/spack/repos/builtin/packages/hybrid-lambda/package.py
@@ -9,39 +9,38 @@ from spack.pkg.builtin.boost import Boost
class HybridLambda(AutotoolsPackage):
"""Hybrid-Lambda is a software package that can simulate gene trees
- within a rooted species network or a rooted species tree under the
- coalescent process.
+ within a rooted species network or a rooted species tree under the
+ coalescent process.
- The main feature of this program is that users can
- choose to use the standard Kingman coalescent process, which produces
- bifurcating genealogies, or two other Lambda coalescent processes,
- which produce multifurcating genealogies. The other feature is that
- hybrid sim uses extended Newick formatted strings to make it easier to
- represent hybridization events between species."""
+ The main feature of this program is that users can
+ choose to use the standard Kingman coalescent process, which produces
+ bifurcating genealogies, or two other Lambda coalescent processes,
+ which produce multifurcating genealogies. The other feature is that
+ hybrid sim uses extended Newick formatted strings to make it easier to
+ represent hybridization events between species."""
homepage = "https://github.com/hybridLambda/hybrid-Lambda"
- git = "https://github.com/hybridLambda/hybrid-Lambda.git"
+ git = "https://github.com/hybridLambda/hybrid-Lambda.git"
- version('develop', submodules=True)
+ version("develop", submodules=True)
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cppunit', type='test')
+ depends_on("cppunit", type="test")
- @run_after('configure')
+ @run_after("configure")
def change_install_option_in_makefile(self):
- with working_dir('src'):
- filter_file(r'INSTALL = /bin/install -c',
- 'INSTALL = /bin/install -C', 'Makefile')
+ with working_dir("src"):
+ filter_file(r"INSTALL = /bin/install -c", "INSTALL = /bin/install -C", "Makefile")
@on_package_attributes(run_tests=True)
def setup_build_environment(self, env):
# build testcases with cppunit
- env.prepend_path('LD_LIBRARY_PATH', self.spec['cppunit'].libs.directories[0])
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["cppunit"].libs.directories[0])
diff --git a/var/spack/repos/builtin/packages/hybridsim/package.py b/var/spack/repos/builtin/packages/hybridsim/package.py
index e6ab618d32..4b0ff22ccc 100644
--- a/var/spack/repos/builtin/packages/hybridsim/package.py
+++ b/var/spack/repos/builtin/packages/hybridsim/package.py
@@ -17,9 +17,9 @@ class Hybridsim(MakefilePackage):
git = "https://github.com/jimstevens2001/HybridSim"
url = "https://github.com/jimstevens2001/HybridSim/archive/v2.0.1.tar.gz"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('2.0.1', sha256="57b82ac929acd36de84525e4d61358f1ab6532f5b635ca3f560e563479921937")
+ version("2.0.1", sha256="57b82ac929acd36de84525e4d61358f1ab6532f5b635ca3f560e563479921937")
depends_on("dramsim2")
depends_on("nvdimmsim")
diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py
index 01b643ba17..7341bc76c1 100644
--- a/var/spack/repos/builtin/packages/hydra/package.py
+++ b/var/spack/repos/builtin/packages/hydra/package.py
@@ -13,8 +13,8 @@ class Hydra(AutotoolsPackage):
management systems (such as slurm, pbs, sge)."""
homepage = "https://www.mpich.org"
- url = "https://www.mpich.org/static/downloads/3.2/hydra-3.2.tar.gz"
+ url = "https://www.mpich.org/static/downloads/3.2/hydra-3.2.tar.gz"
list_url = "https://www.mpich.org/static/downloads/"
list_depth = 1
- version('3.2', sha256='f7a67ec91a773d95cbbd479a80e926d44bee1ff9fc70a8d1df075ea53ea33889')
+ version("3.2", sha256="f7a67ec91a773d95cbbd479a80e926d44bee1ff9fc70a8d1df075ea53ea33889")
diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py
index f6464c9851..a11fb4f5c2 100644
--- a/var/spack/repos/builtin/packages/hydrogen/package.py
+++ b/var/spack/repos/builtin/packages/hydrogen/package.py
@@ -10,249 +10,256 @@ from spack.package import *
class Hydrogen(CMakePackage, CudaPackage, ROCmPackage):
"""Hydrogen: Distributed-memory dense and sparse-direct linear algebra
- and optimization library. Based on the Elemental library."""
+ and optimization library. Based on the Elemental library."""
homepage = "https://libelemental.org"
- url = "https://github.com/LLNL/Elemental/archive/v1.0.1.tar.gz"
- git = "https://github.com/LLNL/Elemental.git"
- tags = ['ecp', 'radiuss']
-
- maintainers = ['bvanessen']
-
- version('develop', branch='hydrogen')
- version('1.5.1', sha256='447da564278f98366906d561d9c8bc4d31678c56d761679c2ff3e59ee7a2895c')
- version('1.5.0', sha256='03dd487fb23b9fdbc715554a8ea48c3196a1021502e61b0172ef3fdfbee75180')
- version('1.4.0', sha256='c13374ff4a6c4d1076e47ba8c8d91a7082588b9958d1ed89cffb12f1d2e1452e')
- version('1.3.4', sha256='7979f6656f698f0bbad6798b39d4b569835b3013ff548d98089fce7c283c6741')
- version('1.3.3', sha256='a51a1cfd40ac74d10923dfce35c2c04a3082477683f6b35e7b558ea9f4bb6d51')
- version('1.3.2', sha256='50bc5e87955f8130003d04dfd9dcad63107e92b82704f8107baf95b0ccf98ed6')
- version('1.3.1', sha256='a8b8521458e9e747f2b24af87c4c2749a06e500019c383e0cefb33e5df6aaa1d')
- version('1.3.0', sha256='0f3006aa1d8235ecdd621e7344c99f56651c6836c2e1bc0cf006331b70126b36')
- version('1.2.0', sha256='8545975139582ee7bfe5d00f8d83a8697afc285bf7026b0761e9943355974806')
- version('1.1.0-1', sha256='73ce05e4166853a186469269cb00a454de71e126b2019f95bbae703b65606808')
- version('1.1.0', sha256='b4c12913acd01c72d31f4522266bfeb8df1d4d3b4aef02e07ccbc9a477894e71')
- version('1.0.1', sha256='27cf76e1ef1d58bd8f9b1e34081a14a682b7ff082fb5d1da56713e5e0040e528')
- version('1.0', sha256='d8a97de3133f2c6b6bb4b80d32b4a4cc25eb25e0df4f0cec0f8cb19bf34ece98')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('openmp', default=True,
- description='Make use of OpenMP within CPU-kernels')
- variant('openmp_blas', default=False,
- description='Use OpenMP for threading in the BLAS library')
- variant('quad', default=False,
- description='Enable quad precision')
- variant('int64', default=False,
- description='Use 64bit integers')
- variant('int64_blas', default=False,
- description='Use 64bit integers for BLAS.')
- variant('scalapack', default=False,
- description='Build with ScaLAPACK library')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
- 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')
- variant('test', default=False,
- description='Builds test suite')
- variant('al', default=False,
- description='Builds with Aluminum communication library')
- variant('omp_taskloops', default=False,
- description='Use OpenMP taskloops instead of parallel for loops.')
- variant('half', default=False,
- description='Builds with support for FP16 precision data types')
-
- conflicts('~openmp', when='+omp_taskloops')
- conflicts('+cuda', when='+rocm', msg='CUDA and ROCm support are mutually exclusive')
-
- depends_on('cmake@3.21.0:', type='build', when='@1.5.2:')
- depends_on('cmake@3.17.0:', type='build', when='@:1.5.1')
- depends_on('cmake@3.22.0:', type='build', when='%cce')
-
- depends_on('mpi')
- depends_on('hwloc@1.11:')
- depends_on('hwloc +cuda +nvml', when='+cuda')
- depends_on('hwloc@2.3.0:', when='+rocm')
+ url = "https://github.com/LLNL/Elemental/archive/v1.0.1.tar.gz"
+ git = "https://github.com/LLNL/Elemental.git"
+ tags = ["ecp", "radiuss"]
+
+ maintainers = ["bvanessen"]
+
+ version("develop", branch="hydrogen")
+ version("1.5.1", sha256="447da564278f98366906d561d9c8bc4d31678c56d761679c2ff3e59ee7a2895c")
+ version("1.5.0", sha256="03dd487fb23b9fdbc715554a8ea48c3196a1021502e61b0172ef3fdfbee75180")
+ version("1.4.0", sha256="c13374ff4a6c4d1076e47ba8c8d91a7082588b9958d1ed89cffb12f1d2e1452e")
+ version("1.3.4", sha256="7979f6656f698f0bbad6798b39d4b569835b3013ff548d98089fce7c283c6741")
+ version("1.3.3", sha256="a51a1cfd40ac74d10923dfce35c2c04a3082477683f6b35e7b558ea9f4bb6d51")
+ version("1.3.2", sha256="50bc5e87955f8130003d04dfd9dcad63107e92b82704f8107baf95b0ccf98ed6")
+ version("1.3.1", sha256="a8b8521458e9e747f2b24af87c4c2749a06e500019c383e0cefb33e5df6aaa1d")
+ version("1.3.0", sha256="0f3006aa1d8235ecdd621e7344c99f56651c6836c2e1bc0cf006331b70126b36")
+ version("1.2.0", sha256="8545975139582ee7bfe5d00f8d83a8697afc285bf7026b0761e9943355974806")
+ version("1.1.0-1", sha256="73ce05e4166853a186469269cb00a454de71e126b2019f95bbae703b65606808")
+ version("1.1.0", sha256="b4c12913acd01c72d31f4522266bfeb8df1d4d3b4aef02e07ccbc9a477894e71")
+ version("1.0.1", sha256="27cf76e1ef1d58bd8f9b1e34081a14a682b7ff082fb5d1da56713e5e0040e528")
+ version("1.0", sha256="d8a97de3133f2c6b6bb4b80d32b4a4cc25eb25e0df4f0cec0f8cb19bf34ece98")
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("openmp", default=True, description="Make use of OpenMP within CPU-kernels")
+ variant(
+ "openmp_blas", default=False, description="Use OpenMP for threading in the BLAS library"
+ )
+ variant("quad", default=False, description="Enable quad precision")
+ variant("int64", default=False, description="Use 64bit integers")
+ variant("int64_blas", default=False, description="Use 64bit integers for BLAS.")
+ variant("scalapack", default=False, description="Build with ScaLAPACK library")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+ 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",
+ )
+ variant("test", default=False, description="Builds test suite")
+ variant("al", default=False, description="Builds with Aluminum communication library")
+ variant(
+ "omp_taskloops",
+ default=False,
+ description="Use OpenMP taskloops instead of parallel for loops.",
+ )
+ variant("half", default=False, description="Builds with support for FP16 precision data types")
+
+ conflicts("~openmp", when="+omp_taskloops")
+ conflicts("+cuda", when="+rocm", msg="CUDA and ROCm support are mutually exclusive")
+
+ depends_on("cmake@3.21.0:", type="build", when="@1.5.2:")
+ depends_on("cmake@3.17.0:", type="build", when="@:1.5.1")
+ depends_on("cmake@3.22.0:", type="build", when="%cce")
+
+ depends_on("mpi")
+ depends_on("hwloc@1.11:")
+ depends_on("hwloc +cuda +nvml", when="+cuda")
+ depends_on("hwloc@2.3.0:", when="+rocm")
# Note that #1712 forces us to enumerate the different blas variants
- depends_on('openblas', when='blas=openblas')
- depends_on('openblas +ilp64', when='blas=openblas +int64_blas')
- depends_on('openblas threads=openmp', when='blas=openblas +openmp_blas')
+ depends_on("openblas", when="blas=openblas")
+ depends_on("openblas +ilp64", when="blas=openblas +int64_blas")
+ depends_on("openblas threads=openmp", when="blas=openblas +openmp_blas")
- depends_on('intel-mkl', when="blas=mkl")
- depends_on('intel-mkl +ilp64', when="blas=mkl +int64_blas")
- depends_on('intel-mkl threads=openmp', when='blas=mkl +openmp_blas')
+ depends_on("intel-mkl", when="blas=mkl")
+ depends_on("intel-mkl +ilp64", when="blas=mkl +int64_blas")
+ depends_on("intel-mkl threads=openmp", when="blas=mkl +openmp_blas")
- depends_on('veclibfort', when='blas=accelerate')
- conflicts('blas=accelerate +openmp_blas')
+ depends_on("veclibfort", when="blas=accelerate")
+ conflicts("blas=accelerate +openmp_blas")
- depends_on('essl', when='blas=essl')
- depends_on('essl +ilp64', when='blas=essl +int64_blas')
- depends_on('essl threads=openmp', when='blas=essl +openmp_blas')
- depends_on('netlib-lapack +external-blas', when='blas=essl')
+ depends_on("essl", when="blas=essl")
+ depends_on("essl +ilp64", when="blas=essl +int64_blas")
+ 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')
+ 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', when='@:1.3 +al')
- depends_on('aluminum@0.4.0:0.4', when='@1.4.0:1.4 +al')
- depends_on('aluminum@0.6.0:0.6', when='@1.5.0:1.5.1 +al')
- depends_on('aluminum@0.7.0:', when='@:1.0,1.5.2: +al')
+ depends_on("aluminum@:0.3", when="@:1.3 +al")
+ depends_on("aluminum@0.4.0:0.4", when="@1.4.0:1.4 +al")
+ depends_on("aluminum@0.6.0:0.6", when="@1.5.0:1.5.1 +al")
+ depends_on("aluminum@0.7.0:", when="@:1.0,1.5.2: +al")
# Add Aluminum variants
- depends_on('aluminum +cuda +nccl +cuda_rma', when='+al +cuda')
- depends_on('aluminum +rocm +rccl', 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)
+ depends_on("aluminum cuda_arch=%s" % arch, when="+al +cuda cuda_arch=%s" % arch)
# variants +rocm and amdgpu_targets are not automatically passed to
# dependencies, so do it manually.
for val in ROCmPackage.amdgpu_targets:
- depends_on('aluminum amdgpu_target=%s' % val, when='+al +rocm amdgpu_target=%s' % val)
+ depends_on("aluminum amdgpu_target=%s" % val, when="+al +rocm amdgpu_target=%s" % val)
# Note that this forces us to use OpenBLAS until #1712 is fixed
- depends_on('lapack', when='blas=openblas ~openmp_blas')
+ depends_on("lapack", when="blas=openblas ~openmp_blas")
- depends_on('scalapack', when='+scalapack')
- depends_on('gmp', when='+mpfr')
- depends_on('mpc', when='+mpfr')
- depends_on('mpfr', when='+mpfr')
+ depends_on("scalapack", when="+scalapack")
+ depends_on("gmp", when="+mpfr")
+ depends_on("mpc", when="+mpfr")
+ depends_on("mpfr", when="+mpfr")
- depends_on('cuda', when='+cuda')
- depends_on('cub', when='^cuda@:10')
- depends_on('hipcub', when='+rocm')
- depends_on('half', when='+half')
+ depends_on("cuda", when="+cuda")
+ depends_on("cub", when="^cuda@:10")
+ depends_on("hipcub", when="+rocm")
+ depends_on("half", when="+half")
- depends_on('llvm-openmp', when='%apple-clang +openmp')
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
- conflicts('@0:0.98', msg="Hydrogen did not exist before v0.99. " +
- "Did you mean to use Elemental instead?")
+ conflicts(
+ "@0:0.98",
+ msg="Hydrogen did not exist before v0.99. " + "Did you mean to use Elemental instead?",
+ )
- generator = 'Ninja'
- depends_on('ninja', type='build')
+ generator = "Ninja"
+ depends_on("ninja", type="build")
@property
def libs(self):
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libEl', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libEl", root=self.prefix, shared=shared, recursive=True)
def cmake_args(self):
spec = self.spec
- enable_gpu_fp16 = ('+cuda' in spec and '+half' in spec)
+ enable_gpu_fp16 = "+cuda" in spec and "+half" in spec
args = [
- '-DCMAKE_CXX_STANDARD=17',
- '-DCMAKE_INSTALL_MESSAGE:STRING=LAZY',
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('+shared' in spec),
- '-DHydrogen_ENABLE_OPENMP:BOOL=%s' % ('+openmp' in spec),
- '-DHydrogen_ENABLE_QUADMATH:BOOL=%s' % ('+quad' in spec),
- '-DHydrogen_USE_64BIT_INTS:BOOL=%s' % ('+int64' in spec),
- '-DHydrogen_USE_64BIT_BLAS_INTS:BOOL=%s' % ('+int64_blas' in spec),
- '-DHydrogen_ENABLE_MPC:BOOL=%s' % ('+mpfr' in spec),
- '-DHydrogen_GENERAL_LAPACK_FALLBACK=ON',
- '-DHydrogen_ENABLE_ALUMINUM=%s' % ('+al' in spec),
- '-DHydrogen_ENABLE_CUB=%s' % ('+cuda' in spec or '+rocm' in spec),
- '-DHydrogen_ENABLE_CUDA=%s' % ('+cuda' in spec),
- '-DHydrogen_ENABLE_ROCM=%s' % ('+rocm' in spec),
- '-DHydrogen_ENABLE_TESTING=%s' % ('+test' in spec),
- '-DHydrogen_ENABLE_HALF=%s' % ('+half' in spec),
- '-DHydrogen_ENABLE_GPU_FP16=%s' % enable_gpu_fp16,
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DCMAKE_INSTALL_MESSAGE:STRING=LAZY",
+ "-DBUILD_SHARED_LIBS:BOOL=%s" % ("+shared" in spec),
+ "-DHydrogen_ENABLE_OPENMP:BOOL=%s" % ("+openmp" in spec),
+ "-DHydrogen_ENABLE_QUADMATH:BOOL=%s" % ("+quad" in spec),
+ "-DHydrogen_USE_64BIT_INTS:BOOL=%s" % ("+int64" in spec),
+ "-DHydrogen_USE_64BIT_BLAS_INTS:BOOL=%s" % ("+int64_blas" in spec),
+ "-DHydrogen_ENABLE_MPC:BOOL=%s" % ("+mpfr" in spec),
+ "-DHydrogen_GENERAL_LAPACK_FALLBACK=ON",
+ "-DHydrogen_ENABLE_ALUMINUM=%s" % ("+al" in spec),
+ "-DHydrogen_ENABLE_CUB=%s" % ("+cuda" in spec or "+rocm" in spec),
+ "-DHydrogen_ENABLE_CUDA=%s" % ("+cuda" in spec),
+ "-DHydrogen_ENABLE_ROCM=%s" % ("+rocm" in spec),
+ "-DHydrogen_ENABLE_TESTING=%s" % ("+test" in spec),
+ "-DHydrogen_ENABLE_HALF=%s" % ("+half" in spec),
+ "-DHydrogen_ENABLE_GPU_FP16=%s" % enable_gpu_fp16,
]
- if not spec.satisfies('^cmake@3.23.0'):
+ if not spec.satisfies("^cmake@3.23.0"):
# There is a bug with using Ninja generator in this version
# of CMake
- args.append('-DCMAKE_EXPORT_COMPILE_COMMANDS=ON')
-
- if '+cuda' in spec:
- if self.spec.satisfies('%clang'):
- for flag in self.spec.compiler_flags['cxxflags']:
- if 'gcc-toolchain' in flag:
- args.append('-DCMAKE_CUDA_FLAGS=-Xcompiler={0}'.format(flag))
- args.append('-DCMAKE_CUDA_STANDARD=14')
- archs = spec.variants['cuda_arch'].value
- if archs != 'none':
+ args.append("-DCMAKE_EXPORT_COMPILE_COMMANDS=ON")
+
+ if "+cuda" in spec:
+ if self.spec.satisfies("%clang"):
+ for flag in self.spec.compiler_flags["cxxflags"]:
+ if "gcc-toolchain" in flag:
+ args.append("-DCMAKE_CUDA_FLAGS=-Xcompiler={0}".format(flag))
+ args.append("-DCMAKE_CUDA_STANDARD=14")
+ archs = spec.variants["cuda_arch"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append('-DCMAKE_CUDA_ARCHITECTURES=%s' % arch_str)
-
- if (spec.satisfies('%cce') and
- spec.satisfies('^cuda+allow-unsupported-compilers')):
- args.append('-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler')
-
- 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
- if archs != 'none':
+ args.append("-DCMAKE_CUDA_ARCHITECTURES=%s" % arch_str)
+
+ if spec.satisfies("%cce") and spec.satisfies("^cuda+allow-unsupported-compilers"):
+ args.append("-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler")
+
+ 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
+ if archs != "none":
arch_str = ",".join(archs)
- cxxflags_str = " ".join(self.spec.compiler_flags['cxxflags'])
+ cxxflags_str = " ".join(self.spec.compiler_flags["cxxflags"])
args.append(
- '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'
- ' -g -fsized-deallocation -fPIC {1}'
- ' -std=c++17'.format(arch_str, cxxflags_str)
+ "-DHIP_HIPCC_FLAGS=--amdgpu-target={0}"
+ " -g -fsized-deallocation -fPIC {1}"
+ " -std=c++17".format(arch_str, cxxflags_str)
+ )
+ args.extend(
+ [
+ "-DCMAKE_HIP_ARCHITECTURES=%s" % arch_str,
+ "-DAMDGPU_TARGETS=%s" % arch_str,
+ "-DGPU_TARGETS=%s" % arch_str,
+ ]
)
- args.extend([
- '-DCMAKE_HIP_ARCHITECTURES=%s' % arch_str,
- '-DAMDGPU_TARGETS=%s' % arch_str,
- '-DGPU_TARGETS=%s' % arch_str,
- ])
# Add support for OS X to find OpenMP (LLVM installed via brew)
- if self.spec.satisfies('%clang +openmp platform=darwin'):
+ if self.spec.satisfies("%clang +openmp platform=darwin"):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
- args.extend([
- '-DOpenMP_DIR={0}'.format(clang_root)])
-
- if 'blas=openblas' in spec:
- args.extend([
- '-DHydrogen_USE_OpenBLAS:BOOL=%s' % ('blas=openblas' in spec),
- '-DOpenBLAS_DIR:STRING={0}'.format(
- spec['openblas'].prefix)])
- elif 'blas=mkl' in spec:
- args.extend([
- '-DHydrogen_USE_MKL:BOOL=%s' % ('blas=mkl' in spec)])
- elif 'blas=accelerate' in spec:
- args.extend(['-DHydrogen_USE_ACCELERATE:BOOL=TRUE'])
- elif 'blas=essl' in spec:
+ args.extend(["-DOpenMP_DIR={0}".format(clang_root)])
+
+ if "blas=openblas" in spec:
+ args.extend(
+ [
+ "-DHydrogen_USE_OpenBLAS:BOOL=%s" % ("blas=openblas" in spec),
+ "-DOpenBLAS_DIR:STRING={0}".format(spec["openblas"].prefix),
+ ]
+ )
+ elif "blas=mkl" in spec:
+ args.extend(["-DHydrogen_USE_MKL:BOOL=%s" % ("blas=mkl" in spec)])
+ elif "blas=accelerate" in spec:
+ args.extend(["-DHydrogen_USE_ACCELERATE:BOOL=TRUE"])
+ elif "blas=essl" in spec:
# IF IBM ESSL is used it needs help finding the proper LAPACK libraries
- args.extend([
- '-DLAPACK_LIBRARIES=%s;-llapack;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names),
- '-DBLAS_LIBRARIES=%s;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names)])
-
- if '+omp_taskloops' in spec:
- args.extend([
- '-DHydrogen_ENABLE_OMP_TASKLOOP:BOOL=%s' %
- ('+omp_taskloops' in spec)])
-
- if '+al' in spec:
- args.extend([
- '-DHydrogen_ENABLE_ALUMINUM:BOOL=%s' % ('+al' in spec),
- '-DALUMINUM_DIR={0}'.format(
- spec['aluminum'].prefix)])
+ args.extend(
+ [
+ "-DLAPACK_LIBRARIES=%s;-llapack;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ "-DBLAS_LIBRARIES=%s;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ ]
+ )
+
+ if "+omp_taskloops" in spec:
+ args.extend(["-DHydrogen_ENABLE_OMP_TASKLOOP:BOOL=%s" % ("+omp_taskloops" in spec)])
+
+ if "+al" in spec:
+ args.extend(
+ [
+ "-DHydrogen_ENABLE_ALUMINUM:BOOL=%s" % ("+al" in spec),
+ "-DALUMINUM_DIR={0}".format(spec["aluminum"].prefix),
+ ]
+ )
return args
def setup_build_environment(self, env):
- if self.spec.satisfies('%apple-clang +openmp'):
- env.append_flags(
- 'CPPFLAGS', self.compiler.openmp_flag)
- env.append_flags(
- 'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'CXXFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
+ if self.spec.satisfies("%apple-clang +openmp"):
+ env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
+ env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("LDFLAGS", self.spec["llvm-openmp"].libs.ld_flags)
diff --git a/var/spack/repos/builtin/packages/hyperfine/package.py b/var/spack/repos/builtin/packages/hyperfine/package.py
index d9b704171d..2a8b4098f2 100644
--- a/var/spack/repos/builtin/packages/hyperfine/package.py
+++ b/var/spack/repos/builtin/packages/hyperfine/package.py
@@ -10,16 +10,16 @@ class Hyperfine(Package):
"""A command-line benchmarking tool."""
homepage = "https://github.com/sharkdp/hyperfine"
- url = "https://github.com/sharkdp/hyperfine/archive/refs/tags/v1.12.0.tar.gz"
+ url = "https://github.com/sharkdp/hyperfine/archive/refs/tags/v1.12.0.tar.gz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('1.14.0', sha256='59018c22242dd2ad2bd5fb4a34c0524948b7921d02aa79419ccec4c1ffd3da14')
- version('1.13.0', sha256='6e57c8e51962dd24a283ab46dde6fe306da772f4ef9bad86f8c89ac3a499c87e')
- version('1.12.0', sha256='2120870a97e68fa3426eac5646a071c9646e96d2309220e3c258bf588e496454')
+ version("1.14.0", sha256="59018c22242dd2ad2bd5fb4a34c0524948b7921d02aa79419ccec4c1ffd3da14")
+ version("1.13.0", sha256="6e57c8e51962dd24a283ab46dde6fe306da772f4ef9bad86f8c89ac3a499c87e")
+ version("1.12.0", sha256="2120870a97e68fa3426eac5646a071c9646e96d2309220e3c258bf588e496454")
- depends_on('rust@1.46:')
+ depends_on("rust@1.46:")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/hyperscan/package.py b/var/spack/repos/builtin/packages/hyperscan/package.py
index 9386229cb4..977de529f3 100644
--- a/var/spack/repos/builtin/packages/hyperscan/package.py
+++ b/var/spack/repos/builtin/packages/hyperscan/package.py
@@ -8,9 +8,15 @@ import platform
from spack.package import *
_versions = {
- 'v5.2.1': {
- 'Linux-aarch64': ('d2ac1669154ec27b794b64d026ad09caecee6e5e17fd35107595a7517711d2b9', 'https://github.com/kunpengcompute/hyperscan/archive/v5.2.1.aarch64.tar.gz'),
- 'Linux-x86_64': ('fd879e4ee5ecdd125e3a79ef040886978ae8f1203832d5a3f050c48f17eec867', 'https://github.com/intel/hyperscan/archive/v5.2.1.tar.gz')
+ "v5.2.1": {
+ "Linux-aarch64": (
+ "d2ac1669154ec27b794b64d026ad09caecee6e5e17fd35107595a7517711d2b9",
+ "https://github.com/kunpengcompute/hyperscan/archive/v5.2.1.aarch64.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "fd879e4ee5ecdd125e3a79ef040886978ae8f1203832d5a3f050c48f17eec867",
+ "https://github.com/intel/hyperscan/archive/v5.2.1.tar.gz",
+ ),
}
}
@@ -19,7 +25,7 @@ class Hyperscan(CMakePackage):
"""High-performance regular expression matching library."""
homepage = "https://www.hyperscan.io/"
- url = "https://github.com/intel/hyperscan/archive/v5.2.1.tar.gz"
+ url = "https://github.com/intel/hyperscan/archive/v5.2.1.tar.gz"
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
@@ -27,6 +33,6 @@ class Hyperscan(CMakePackage):
if pkg:
version(ver, sha256=pkg[0], url=pkg[1])
- depends_on('boost+exception+serialization+random+graph+container')
- depends_on('pcre')
- depends_on('ragel', type='build')
+ depends_on("boost+exception+serialization+random+graph+container")
+ depends_on("pcre")
+ depends_on("ragel", type="build")
diff --git a/var/spack/repos/builtin/packages/hyphen/package.py b/var/spack/repos/builtin/packages/hyphen/package.py
index 4974c8674b..0a4c60ae37 100644
--- a/var/spack/repos/builtin/packages/hyphen/package.py
+++ b/var/spack/repos/builtin/packages/hyphen/package.py
@@ -10,13 +10,13 @@ class Hyphen(AutotoolsPackage):
"""A library of text hyphenation."""
homepage = "https://hunspell.github.io"
- url = "https://downloads.sourceforge.net/hunspell/hyphen-2.8.8.tar.gz"
- git = "https://github.com/hunspell/hyphen.git"
+ url = "https://downloads.sourceforge.net/hunspell/hyphen-2.8.8.tar.gz"
+ git = "https://github.com/hunspell/hyphen.git"
- version('master', branch='master')
- version('2.8.8', sha256='304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705')
+ version("master", branch="master")
+ version("2.8.8", sha256="304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/hyphy/package.py b/var/spack/repos/builtin/packages/hyphy/package.py
index 7f6797e8a0..30eff48115 100644
--- a/var/spack/repos/builtin/packages/hyphy/package.py
+++ b/var/spack/repos/builtin/packages/hyphy/package.py
@@ -10,11 +10,11 @@ class Hyphy(CMakePackage):
"""HyPhy: Hypothesis testing using Phylogenies"""
homepage = "https://www.hyphy.org/"
- url = "https://github.com/veg/hyphy/archive/2.3.14.tar.gz"
+ url = "https://github.com/veg/hyphy/archive/2.3.14.tar.gz"
- version('2.3.14', sha256='9e6c817cb649986e3fe944bcaf88be3533e7e62968b9a486c719e951e5ed1cf6')
+ version("2.3.14", sha256="9e6c817cb649986e3fe944bcaf88be3533e7e62968b9a486c719e951e5ed1cf6")
- depends_on('cmake@3.0:', type='build')
- depends_on('curl')
+ depends_on("cmake@3.0:", type="build")
+ depends_on("curl")
- conflicts('%gcc@:4.8')
+ conflicts("%gcc@:4.8")
diff --git a/var/spack/repos/builtin/packages/hypre-cmake/package.py b/var/spack/repos/builtin/packages/hypre-cmake/package.py
index ee70c986ba..c4e3d17ce0 100644
--- a/var/spack/repos/builtin/packages/hypre-cmake/package.py
+++ b/var/spack/repos/builtin/packages/hypre-cmake/package.py
@@ -10,112 +10,118 @@ from spack.package import *
class HypreCmake(CMakePackage, CudaPackage):
"""Hypre is a library of high performance preconditioners that
- features parallel multigrid methods for both structured and
- unstructured grid problems."""
+ features parallel multigrid methods for both structured and
+ unstructured grid problems."""
homepage = "http://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"
+ url = "https://github.com/hypre-space/hypre/archive/v2.14.0.tar.gz"
+ git = "https://github.com/hypre-space/hypre.git"
- maintainers = ['ulrikeyang', 'osborn9', 'balay']
+ maintainers = ["ulrikeyang", "osborn9", "balay"]
test_requires_compiler = True
- version('develop', branch='master')
- version('2.22.0', sha256='2c786eb5d3e722d8d7b40254f138bef4565b2d4724041e56a8fa073bda5cfbb5')
-
- variant('shared', default=(sys.platform != 'darwin'),
- description="Build shared library (disables static library)")
- variant('superlu_dist', default=False,
- description='Activates support for SuperLU_Dist library')
- variant('int64', default=False,
- description="Use 64bit integers")
- variant('mixedint', default=False,
- description="Use 64bit integers while reducing memory use")
- variant('complex', default=False, description='Use complex values')
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('debug', default=False,
- description='Build debug instead of optimized version')
- variant('unified_memory', default=False, description='Use unified memory')
-
- depends_on("mpi", when='+mpi')
+ version("develop", branch="master")
+ version("2.22.0", sha256="2c786eb5d3e722d8d7b40254f138bef4565b2d4724041e56a8fa073bda5cfbb5")
+
+ variant(
+ "shared",
+ default=(sys.platform != "darwin"),
+ description="Build shared library (disables static library)",
+ )
+ variant(
+ "superlu_dist", default=False, description="Activates support for SuperLU_Dist library"
+ )
+ variant("int64", default=False, description="Use 64bit integers")
+ variant("mixedint", default=False, description="Use 64bit integers while reducing memory use")
+ variant("complex", default=False, description="Use complex values")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("debug", default=False, description="Build debug instead of optimized version")
+ variant("unified_memory", default=False, description="Use unified memory")
+
+ depends_on("mpi", when="+mpi")
depends_on("blas")
depends_on("lapack")
- depends_on('superlu-dist', when='+superlu_dist+mpi')
+ depends_on("superlu-dist", when="+superlu_dist+mpi")
- conflicts('+cuda', when='+int64')
- conflicts('+unified_memory', when='~cuda')
+ conflicts("+cuda", when="+int64")
+ conflicts("+unified_memory", when="~cuda")
def url_for_version(self, version):
- if version >= Version('2.12.0'):
- url = 'https://github.com/hypre-space/hypre/archive/v{0}.tar.gz'
+ if version >= Version("2.12.0"):
+ url = "https://github.com/hypre-space/hypre/archive/v{0}.tar.gz"
else:
- url = 'http://computing.llnl.gov/project/linear_solvers/download/hypre-{0}.tar.gz'
+ url = "http://computing.llnl.gov/project/linear_solvers/download/hypre-{0}.tar.gz"
return url.format(version)
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def cmake_args(self):
from_variant = self.define_from_variant
args = [
- from_variant('HYPRE_WITH_MPI', 'mpi'),
- from_variant('HYPRE_WITH_OPENMP', 'openmp'),
- from_variant('HYPRE_WITH_BIGINT', 'int64'),
- from_variant('HYPRE_WITH_MIXEDINT', 'mixedint'),
- from_variant('HYPRE_WITH_COMPLEX', 'complex'),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('HYPRE_ENABLE_SHARED', 'shared'),
- from_variant('HYPRE_WITH_DSUPERLU', 'superlu_dist'),
- from_variant('HYPRE_WITH_CUDA', 'cuda'),
- from_variant('HYPRE_ENABLE_UNIFIED_MEMORY', 'unified_memory'),
+ from_variant("HYPRE_WITH_MPI", "mpi"),
+ from_variant("HYPRE_WITH_OPENMP", "openmp"),
+ from_variant("HYPRE_WITH_BIGINT", "int64"),
+ from_variant("HYPRE_WITH_MIXEDINT", "mixedint"),
+ from_variant("HYPRE_WITH_COMPLEX", "complex"),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("HYPRE_ENABLE_SHARED", "shared"),
+ from_variant("HYPRE_WITH_DSUPERLU", "superlu_dist"),
+ from_variant("HYPRE_WITH_CUDA", "cuda"),
+ from_variant("HYPRE_ENABLE_UNIFIED_MEMORY", "unified_memory"),
]
return args
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
- env.set('CUDA_PATH', self.spec['cuda'].prefix)
- cuda_arch = self.spec.variants['cuda_arch'].value
+ if "+cuda" in self.spec:
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
+ env.set("CUDA_PATH", self.spec["cuda"].prefix)
+ cuda_arch = self.spec.variants["cuda_arch"].value
if cuda_arch:
arch_sorted = list(sorted(cuda_arch, reverse=True))
- env.set('HYPRE_CUDA_SM', arch_sorted[0])
+ env.set("HYPRE_CUDA_SM", arch_sorted[0])
# In CUDA builds hypre currently doesn't handle flags correctly
- env.append_flags(
- 'CXXFLAGS', '-O2' if '~debug' in self.spec else '-g')
+ env.append_flags("CXXFLAGS", "-O2" if "~debug" in self.spec else "-g")
- extra_install_tests = join_path('src', 'examples')
+ extra_install_tests = join_path("src", "examples")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
self.cache_extra_test_sources(self.extra_install_tests)
@property
def _cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.extra_install_tests)
+ return join_path(self.test_suite.current_test_cache_dir, self.extra_install_tests)
def test(self):
"""Perform smoke test on installed HYPRE package."""
- if '+mpi' not in self.spec:
- print('Skipping: HYPRE must be installed with +mpi to run tests')
+ if "+mpi" not in self.spec:
+ print("Skipping: HYPRE must be installed with +mpi to run tests")
return
# Build copied and cached test examples
- self.run_test('make',
- ['HYPRE_DIR={0}'.format(self.prefix), 'bigint'],
- purpose='test: building selected examples',
- work_dir=self._cached_tests_work_dir)
+ self.run_test(
+ "make",
+ ["HYPRE_DIR={0}".format(self.prefix), "bigint"],
+ purpose="test: building selected examples",
+ work_dir=self._cached_tests_work_dir,
+ )
# Run the examples built above
- for exe in ['./ex5big', './ex15big']:
- self.run_test(exe, [], [], installed=False,
- purpose='test: ensuring {0} runs'.format(exe),
- skip_missing=True,
- work_dir=self._cached_tests_work_dir)
+ for exe in ["./ex5big", "./ex15big"]:
+ self.run_test(
+ exe,
+ [],
+ [],
+ installed=False,
+ purpose="test: ensuring {0} runs".format(exe),
+ skip_missing=True,
+ work_dir=self._cached_tests_work_dir,
+ )
@property
def headers(self):
@@ -123,7 +129,7 @@ class HypreCmake(CMakePackage, CudaPackage):
in the same directory.
Sample usage: spec['hypre'].headers.cpp_flags
"""
- hdrs = find_headers('HYPRE', self.prefix.include, recursive=False)
+ hdrs = find_headers("HYPRE", self.prefix.include, recursive=False)
return hdrs or None
@property
@@ -131,7 +137,6 @@ class HypreCmake(CMakePackage, CudaPackage):
"""Export the hypre library.
Sample usage: spec['hypre'].libs.ld_flags
"""
- is_shared = '+shared' in self.spec
- libs = find_libraries('libHYPRE', root=self.prefix, shared=is_shared,
- recursive=True)
+ is_shared = "+shared" in self.spec
+ libs = find_libraries("libHYPRE", root=self.prefix, shared=is_shared, recursive=True)
return libs or None
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py
index 759acd7488..b298264dde 100644
--- a/var/spack/repos/builtin/packages/hypre/package.py
+++ b/var/spack/repos/builtin/packages/hypre/package.py
@@ -11,93 +11,91 @@ from spack.package import *
class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
"""Hypre is a library of high performance preconditioners that
- features parallel multigrid methods for both structured and
- unstructured grid problems."""
+ features parallel multigrid methods for both structured and
+ unstructured grid problems."""
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"
- tags = ['e4s', 'radiuss']
+ url = "https://github.com/hypre-space/hypre/archive/v2.14.0.tar.gz"
+ git = "https://github.com/hypre-space/hypre.git"
+ tags = ["e4s", "radiuss"]
- maintainers = ['ulrikeyang', 'osborn9', 'balay']
+ maintainers = ["ulrikeyang", "osborn9", "balay"]
test_requires_compiler = True
- version('develop', branch='master')
- version('2.25.0', sha256='f9fc8371d91239fca694284dab17175bfda3821d7b7a871fd2e8f9d5930f303c')
- version('2.24.0', sha256='f480e61fc25bf533fc201fdf79ec440be79bb8117650627d1f25151e8be2fdb5')
- version('2.23.0', sha256='8a9f9fb6f65531b77e4c319bf35bfc9d34bf529c36afe08837f56b635ac052e2')
- version('2.22.1', sha256='c1e7761b907c2ee0098091b69797e9be977bff8b7fd0479dc20cad42f45c4084')
- version('2.22.0', sha256='2c786eb5d3e722d8d7b40254f138bef4565b2d4724041e56a8fa073bda5cfbb5')
- version('2.21.0', sha256='e380f914fe7efe22afc44cdf553255410dc8a02a15b2e5ebd279ba88817feaf5')
- version('2.20.0', sha256='5be77b28ddf945c92cde4b52a272d16fb5e9a7dc05e714fc5765948cba802c01')
- version('2.19.0', sha256='466b19d8a86c69989a237f6f03f20d35c0c63a818776d2cd071b0a084cffeba5')
- version('2.18.2', sha256='28007b5b584eaf9397f933032d8367788707a2d356d78e47b99e551ab10cc76a')
- version('2.18.1', sha256='220f9c4ad024e815add8dad8950eaa2d8f4f231104788cf2a3c5d9da8f94ba6e')
- version('2.18.0', sha256='62591ac69f9cc9728bd6d952b65bcadd2dfe52b521081612609804a413f49b07')
- version('2.17.0', sha256='4674f938743aa29eb4d775211b13b089b9de84bfe5e9ea00c7d8782ed84a46d7')
- version('2.16.0', sha256='33f8a27041e697343b820d0426e74694670f955e21bbf3fcb07ee95b22c59e90')
- version('2.15.1', sha256='50d0c0c86b4baad227aa9bdfda4297acafc64c3c7256c27351f8bae1ae6f2402')
- version('2.15.0', sha256='2d597472b473964210ca9368b2cb027510fff4fa2193a8c04445e2ed4ff63045')
- version('2.14.0', sha256='705a0c67c68936bb011c50e7aa8d7d8b9693665a9709b584275ec3782e03ee8c')
- version('2.13.0', sha256='3979602689c3b6e491c7cf4b219cfe96df5a6cd69a5302ccaa8a95ab19064bad')
- version('2.12.1', sha256='824841a60b14167a0051b68fdb4e362e0207282348128c9d0ca0fd2c9848785c')
- version('2.11.2', sha256='25b6c1226411593f71bb5cf3891431afaa8c3fd487bdfe4faeeb55c6fdfb269e')
- version('2.11.1', sha256='6bb2ff565ff694596d0e94d0a75f0c3a2cd6715b8b7652bc71feb8698554db93')
- version('2.10.1', sha256='a4a9df645ebdc11e86221b794b276d1e17974887ead161d5050aaf0b43bb183a')
- version('2.10.0b', sha256='b55dbdc692afe5a00490d1ea1c38dd908dae244f7bdd7faaf711680059824c11')
+ version("develop", branch="master")
+ version("2.25.0", sha256="f9fc8371d91239fca694284dab17175bfda3821d7b7a871fd2e8f9d5930f303c")
+ version("2.24.0", sha256="f480e61fc25bf533fc201fdf79ec440be79bb8117650627d1f25151e8be2fdb5")
+ version("2.23.0", sha256="8a9f9fb6f65531b77e4c319bf35bfc9d34bf529c36afe08837f56b635ac052e2")
+ version("2.22.1", sha256="c1e7761b907c2ee0098091b69797e9be977bff8b7fd0479dc20cad42f45c4084")
+ version("2.22.0", sha256="2c786eb5d3e722d8d7b40254f138bef4565b2d4724041e56a8fa073bda5cfbb5")
+ version("2.21.0", sha256="e380f914fe7efe22afc44cdf553255410dc8a02a15b2e5ebd279ba88817feaf5")
+ version("2.20.0", sha256="5be77b28ddf945c92cde4b52a272d16fb5e9a7dc05e714fc5765948cba802c01")
+ version("2.19.0", sha256="466b19d8a86c69989a237f6f03f20d35c0c63a818776d2cd071b0a084cffeba5")
+ version("2.18.2", sha256="28007b5b584eaf9397f933032d8367788707a2d356d78e47b99e551ab10cc76a")
+ version("2.18.1", sha256="220f9c4ad024e815add8dad8950eaa2d8f4f231104788cf2a3c5d9da8f94ba6e")
+ version("2.18.0", sha256="62591ac69f9cc9728bd6d952b65bcadd2dfe52b521081612609804a413f49b07")
+ version("2.17.0", sha256="4674f938743aa29eb4d775211b13b089b9de84bfe5e9ea00c7d8782ed84a46d7")
+ version("2.16.0", sha256="33f8a27041e697343b820d0426e74694670f955e21bbf3fcb07ee95b22c59e90")
+ version("2.15.1", sha256="50d0c0c86b4baad227aa9bdfda4297acafc64c3c7256c27351f8bae1ae6f2402")
+ version("2.15.0", sha256="2d597472b473964210ca9368b2cb027510fff4fa2193a8c04445e2ed4ff63045")
+ version("2.14.0", sha256="705a0c67c68936bb011c50e7aa8d7d8b9693665a9709b584275ec3782e03ee8c")
+ version("2.13.0", sha256="3979602689c3b6e491c7cf4b219cfe96df5a6cd69a5302ccaa8a95ab19064bad")
+ version("2.12.1", sha256="824841a60b14167a0051b68fdb4e362e0207282348128c9d0ca0fd2c9848785c")
+ version("2.11.2", sha256="25b6c1226411593f71bb5cf3891431afaa8c3fd487bdfe4faeeb55c6fdfb269e")
+ version("2.11.1", sha256="6bb2ff565ff694596d0e94d0a75f0c3a2cd6715b8b7652bc71feb8698554db93")
+ version("2.10.1", sha256="a4a9df645ebdc11e86221b794b276d1e17974887ead161d5050aaf0b43bb183a")
+ version("2.10.0b", sha256="b55dbdc692afe5a00490d1ea1c38dd908dae244f7bdd7faaf711680059824c11")
# Versions 2.13.0 and later can be patched to build shared
# libraries on Darwin; the patch for this capability does not
# apply to version 2.12.1 and earlier due to changes in the build system
# between versions 2.12.1 and 2.13.0.
- variant('shared', default=(sys.platform != 'darwin'),
- description="Build shared library (disables static library)")
+ variant(
+ "shared",
+ default=(sys.platform != "darwin"),
+ description="Build shared library (disables static library)",
+ )
# Use internal SuperLU routines for FEI - version 2.12.1 and below
- variant('internal-superlu', default=False,
- description="Use internal SuperLU routines")
- variant('superlu-dist', default=False,
- description='Activates support for SuperLU_Dist library')
- variant('int64', default=False,
- description="Use 64bit integers")
- variant('mixedint', default=False,
- description="Use 64bit integers while reducing memory use")
- variant('complex', default=False, description='Use complex values')
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('debug', default=False,
- description='Build debug instead of optimized version')
- variant('unified-memory', default=False, description='Use unified memory')
- variant('fortran', default=True,
- description='Enables fortran bindings')
- variant('gptune', default=False,
- description='Add the GPTune hookup code')
+ variant("internal-superlu", default=False, description="Use internal SuperLU routines")
+ variant(
+ "superlu-dist", default=False, description="Activates support for SuperLU_Dist library"
+ )
+ variant("int64", default=False, description="Use 64bit integers")
+ variant("mixedint", default=False, description="Use 64bit integers while reducing memory use")
+ variant("complex", default=False, description="Use complex values")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("debug", default=False, description="Build debug instead of optimized version")
+ variant("unified-memory", default=False, description="Use unified memory")
+ variant("fortran", default=True, description="Enables fortran bindings")
+ variant("gptune", default=False, description="Add the GPTune hookup code")
# Patch to add gptune hookup codes
- patch('ij_gptune.patch', when='+gptune@2.19.0')
+ patch("ij_gptune.patch", when="+gptune@2.19.0")
# Patch to add ppc64le in config.guess
- patch('ibm-ppc64le.patch', when='@:2.11.1')
+ patch("ibm-ppc64le.patch", when="@:2.11.1")
# Patch to build shared libraries on Darwin
- patch('darwin-shared-libs-for-hypre-2.13.0.patch', when='+shared@2.13.0 platform=darwin')
- patch('darwin-shared-libs-for-hypre-2.14.0.patch', when='+shared@2.14.0 platform=darwin')
- patch('superlu-dist-link-2.15.0.patch', when='+superlu-dist @2.15:2.16.0')
- patch('superlu-dist-link-2.14.0.patch', when='+superlu-dist @:2.14.0')
- patch('hypre21800-compat.patch', when='@2.18.0')
+ patch("darwin-shared-libs-for-hypre-2.13.0.patch", when="+shared@2.13.0 platform=darwin")
+ patch("darwin-shared-libs-for-hypre-2.14.0.patch", when="+shared@2.14.0 platform=darwin")
+ patch("superlu-dist-link-2.15.0.patch", when="+superlu-dist @2.15:2.16.0")
+ patch("superlu-dist-link-2.14.0.patch", when="+superlu-dist @:2.14.0")
+ patch("hypre21800-compat.patch", when="@2.18.0")
# Patch to get config flags right
- patch('detect-compiler.patch', when='@2.15.0:2.20.0')
+ patch("detect-compiler.patch", when="@2.15.0:2.20.0")
- depends_on("mpi", when='+mpi')
+ depends_on("mpi", when="+mpi")
depends_on("blas")
depends_on("lapack")
- depends_on('superlu-dist', when='+superlu-dist+mpi')
+ depends_on("superlu-dist", when="+superlu-dist+mpi")
- conflicts('+cuda', when='+int64')
- conflicts('+rocm', when='+int64')
- conflicts('+rocm', when='@:2.20')
- conflicts('+unified-memory', when='~cuda~rocm')
- conflicts('+gptune', when='~mpi')
+ conflicts("+cuda", when="+int64")
+ conflicts("+rocm", when="+int64")
+ conflicts("+rocm", when="@:2.20")
+ conflicts("+unified-memory", when="~cuda~rocm")
+ conflicts("+gptune", when="~mpi")
# Patch to build shared libraries on Darwin does not apply to
# versions before 2.13.0
@@ -105,152 +103,156 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
# Conflicts
# Option added in v2.13.0
- conflicts('+superlu-dist', when='@:2.12')
+ conflicts("+superlu-dist", when="@:2.12")
# Internal SuperLU Option removed in v2.13.0
- conflicts('+internal-superlu', when='@2.13.0:')
+ conflicts("+internal-superlu", when="@2.13.0:")
# Option added in v2.16.0
- conflicts('+mixedint', when='@:2.15')
+ conflicts("+mixedint", when="@:2.15")
- configure_directory = 'src'
+ configure_directory = "src"
def url_for_version(self, version):
- if version >= Version('2.12.0'):
- url = 'https://github.com/hypre-space/hypre/archive/v{0}.tar.gz'
+ if version >= Version("2.12.0"):
+ url = "https://github.com/hypre-space/hypre/archive/v{0}.tar.gz"
else:
- url = 'http://computing.llnl.gov/project/linear_solvers/download/hypre-{0}.tar.gz'
+ url = "http://computing.llnl.gov/project/linear_solvers/download/hypre-{0}.tar.gz"
return url.format(version)
def configure_args(self):
spec = self.spec
# Note: --with-(lapack|blas)_libs= needs space separated list of names
- lapack = spec['lapack'].libs
- blas = spec['blas'].libs
+ lapack = spec["lapack"].libs
+ blas = spec["blas"].libs
configure_args = [
- '--prefix=%s' % prefix,
- '--with-lapack-libs=%s' % ' '.join(lapack.names),
- '--with-lapack-lib-dirs=%s' % ' '.join(lapack.directories),
- '--with-blas-libs=%s' % ' '.join(blas.names),
- '--with-blas-lib-dirs=%s' % ' '.join(blas.directories)
+ "--prefix=%s" % prefix,
+ "--with-lapack-libs=%s" % " ".join(lapack.names),
+ "--with-lapack-lib-dirs=%s" % " ".join(lapack.directories),
+ "--with-blas-libs=%s" % " ".join(blas.names),
+ "--with-blas-lib-dirs=%s" % " ".join(blas.directories),
]
- if '+mpi' in spec:
- os.environ['CC'] = spec['mpi'].mpicc
- os.environ['CXX'] = spec['mpi'].mpicxx
- if '+fortran' in spec:
- os.environ['F77'] = spec['mpi'].mpif77
- configure_args.append('--with-MPI')
- configure_args.append('--with-MPI-lib-dirs={0}'.format(
- spec['mpi'].prefix.lib))
- configure_args.append('--with-MPI-include={0}'.format(
- spec['mpi'].prefix.include))
+ if "+mpi" in spec:
+ os.environ["CC"] = spec["mpi"].mpicc
+ os.environ["CXX"] = spec["mpi"].mpicxx
+ if "+fortran" in spec:
+ os.environ["F77"] = spec["mpi"].mpif77
+ configure_args.append("--with-MPI")
+ configure_args.append("--with-MPI-lib-dirs={0}".format(spec["mpi"].prefix.lib))
+ configure_args.append("--with-MPI-include={0}".format(spec["mpi"].prefix.include))
else:
- configure_args.append('--without-MPI')
+ configure_args.append("--without-MPI")
- configure_args.extend(self.with_or_without('openmp'))
+ configure_args.extend(self.with_or_without("openmp"))
- if '+int64' in spec:
- configure_args.append('--enable-bigint')
+ if "+int64" in spec:
+ configure_args.append("--enable-bigint")
else:
- configure_args.append('--disable-bigint')
+ configure_args.append("--disable-bigint")
- configure_args.extend(self.enable_or_disable('mixedint'))
+ configure_args.extend(self.enable_or_disable("mixedint"))
- configure_args.extend(self.enable_or_disable('complex'))
+ configure_args.extend(self.enable_or_disable("complex"))
- if '+shared' in spec:
+ if "+shared" in spec:
configure_args.append("--enable-shared")
- if '~internal-superlu' in spec:
+ if "~internal-superlu" in spec:
configure_args.append("--without-superlu")
# MLI and FEI do not build without superlu on Linux
configure_args.append("--without-mli")
configure_args.append("--without-fei")
- if '+superlu-dist' in spec:
- configure_args.append('--with-dsuperlu-include=%s' %
- spec['superlu-dist'].prefix.include)
- configure_args.append('--with-dsuperlu-lib=%s' %
- spec['superlu-dist'].libs)
- configure_args.append('--with-dsuperlu')
-
- configure_args.extend(self.enable_or_disable('debug'))
-
- if '+cuda' in spec:
- configure_args.extend([
- '--with-cuda',
- '--enable-curand',
- '--enable-cusparse',
- ])
- cuda_arch_vals = spec.variants['cuda_arch'].value
+ if "+superlu-dist" in spec:
+ configure_args.append(
+ "--with-dsuperlu-include=%s" % spec["superlu-dist"].prefix.include
+ )
+ configure_args.append("--with-dsuperlu-lib=%s" % spec["superlu-dist"].libs)
+ configure_args.append("--with-dsuperlu")
+
+ configure_args.extend(self.enable_or_disable("debug"))
+
+ if "+cuda" in spec:
+ configure_args.extend(
+ [
+ "--with-cuda",
+ "--enable-curand",
+ "--enable-cusparse",
+ ]
+ )
+ cuda_arch_vals = spec.variants["cuda_arch"].value
if cuda_arch_vals:
cuda_arch_sorted = list(sorted(cuda_arch_vals, reverse=True))
cuda_arch = cuda_arch_sorted[0]
- configure_args.append('--with-gpu-arch={0}'.format(cuda_arch))
+ configure_args.append("--with-gpu-arch={0}".format(cuda_arch))
# New in 2.21.0: replaces --enable-cub
- if '@2.21.0:' in spec:
- configure_args.append('--enable-device-memory-pool')
- configure_args.append('--with-cuda-home={0}'.format(
- spec['cuda'].prefix))
+ if "@2.21.0:" in spec:
+ configure_args.append("--enable-device-memory-pool")
+ configure_args.append("--with-cuda-home={0}".format(spec["cuda"].prefix))
else:
- configure_args.append('--enable-cub')
+ configure_args.append("--enable-cub")
else:
- configure_args.extend([
- '--without-cuda',
- '--disable-curand',
- '--disable-cusparse',
- ])
- if '@:2.20.99' in spec:
- configure_args.append('--disable-cub')
-
- if '+rocm' in spec:
- configure_args.extend([
- '--with-hip',
- '--enable-rocrand',
- '--enable-rocsparse',
- ])
- rocm_arch_vals = spec.variants['amdgpu_target'].value
+ configure_args.extend(
+ [
+ "--without-cuda",
+ "--disable-curand",
+ "--disable-cusparse",
+ ]
+ )
+ if "@:2.20.99" in spec:
+ configure_args.append("--disable-cub")
+
+ if "+rocm" in spec:
+ configure_args.extend(
+ [
+ "--with-hip",
+ "--enable-rocrand",
+ "--enable-rocsparse",
+ ]
+ )
+ rocm_arch_vals = spec.variants["amdgpu_target"].value
if rocm_arch_vals:
rocm_arch_sorted = list(sorted(rocm_arch_vals, reverse=True))
rocm_arch = rocm_arch_sorted[0]
- configure_args.append('--with-gpu-arch={0}'.format(rocm_arch))
+ configure_args.append("--with-gpu-arch={0}".format(rocm_arch))
else:
- configure_args.extend([
- '--without-hip',
- '--disable-rocrand',
- '--disable-rocsparse',
- ])
+ configure_args.extend(
+ [
+ "--without-hip",
+ "--disable-rocrand",
+ "--disable-rocsparse",
+ ]
+ )
- if '+unified-memory' in spec:
- configure_args.append('--enable-unified-memory')
+ if "+unified-memory" in spec:
+ configure_args.append("--enable-unified-memory")
- configure_args.extend(self.enable_or_disable('fortran'))
+ configure_args.extend(self.enable_or_disable("fortran"))
return configure_args
def setup_build_environment(self, env):
spec = self.spec
- if '+mpi' in spec:
- env.set('CC', spec['mpi'].mpicc)
- env.set('CXX', spec['mpi'].mpicxx)
- if '+fortran' in spec:
- env.set('F77', spec['mpi'].mpif77)
-
- if '+cuda' in spec:
- env.set('CUDA_HOME', spec['cuda'].prefix)
- env.set('CUDA_PATH', spec['cuda'].prefix)
+ if "+mpi" in spec:
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("CXX", spec["mpi"].mpicxx)
+ if "+fortran" in spec:
+ env.set("F77", spec["mpi"].mpif77)
+
+ if "+cuda" in spec:
+ env.set("CUDA_HOME", spec["cuda"].prefix)
+ env.set("CUDA_PATH", spec["cuda"].prefix)
# In CUDA builds hypre currently doesn't handle flags correctly
- env.append_flags(
- 'CXXFLAGS', '-O2' if '~debug' in spec else '-g')
+ env.append_flags("CXXFLAGS", "-O2" if "~debug" in spec else "-g")
- if '+rocm' in spec:
+ if "+rocm" in spec:
# As of 2022/04/05, the following are set by 'llvm-amdgpu' and
# override hypre's default flags, so we unset them.
- env.unset('CFLAGS')
- env.unset('CXXFLAGS')
+ env.unset("CFLAGS")
+ env.unset("CXXFLAGS")
def build(self, spec, prefix):
with working_dir("src"):
@@ -263,47 +265,52 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
if self.run_tests:
make("check")
make("test")
- Executable(join_path('test', 'ij'))()
- sstruct = Executable(join_path('test', 'struct'))
+ Executable(join_path("test", "ij"))()
+ sstruct = Executable(join_path("test", "struct"))
sstruct()
- sstruct('-in', 'test/sstruct.in.default', '-solver', '40',
- '-rhsone')
+ sstruct("-in", "test/sstruct.in.default", "-solver", "40", "-rhsone")
make("install")
- if '+gptune' in self.spec:
+ if "+gptune" in self.spec:
make("test")
- self.run_test('mkdir', options=['-p', self.prefix.bin])
- self.run_test('cp', options=['test/ij', self.prefix.bin + '/.'])
+ self.run_test("mkdir", options=["-p", self.prefix.bin])
+ self.run_test("cp", options=["test/ij", self.prefix.bin + "/."])
- extra_install_tests = join_path('src', 'examples')
+ extra_install_tests = join_path("src", "examples")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
self.cache_extra_test_sources(self.extra_install_tests)
@property
def _cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.extra_install_tests)
+ return join_path(self.test_suite.current_test_cache_dir, self.extra_install_tests)
def test(self):
"""Perform smoke test on installed HYPRE package."""
- if '+mpi' not in self.spec:
- print('Skipping: HYPRE must be installed with +mpi to run tests')
+ if "+mpi" not in self.spec:
+ print("Skipping: HYPRE must be installed with +mpi to run tests")
return
# Build copied and cached test examples
- self.run_test('make',
- ['HYPRE_DIR={0}'.format(self.prefix), 'bigint'],
- purpose='test: building selected examples',
- work_dir=self._cached_tests_work_dir)
+ self.run_test(
+ "make",
+ ["HYPRE_DIR={0}".format(self.prefix), "bigint"],
+ purpose="test: building selected examples",
+ work_dir=self._cached_tests_work_dir,
+ )
# Run the examples built above
- for exe in ['./ex5big', './ex15big']:
- self.run_test(exe, [], [], installed=False,
- purpose='test: ensuring {0} runs'.format(exe),
- skip_missing=True,
- work_dir=self._cached_tests_work_dir)
+ for exe in ["./ex5big", "./ex15big"]:
+ self.run_test(
+ exe,
+ [],
+ [],
+ installed=False,
+ purpose="test: ensuring {0} runs".format(exe),
+ skip_missing=True,
+ work_dir=self._cached_tests_work_dir,
+ )
@property
def headers(self):
@@ -311,7 +318,7 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
in the same directory.
Sample usage: spec['hypre'].headers.cpp_flags
"""
- hdrs = find_headers('HYPRE', self.prefix.include, recursive=False)
+ hdrs = find_headers("HYPRE", self.prefix.include, recursive=False)
return hdrs or None
@property
@@ -319,7 +326,6 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
"""Export the hypre library.
Sample usage: spec['hypre'].libs.ld_flags
"""
- is_shared = '+shared' in self.spec
- libs = find_libraries('libHYPRE', root=self.prefix, shared=is_shared,
- recursive=True)
+ is_shared = "+shared" in self.spec
+ libs = find_libraries("libHYPRE", root=self.prefix, shared=is_shared, recursive=True)
return libs or None
diff --git a/var/spack/repos/builtin/packages/hztool/package.py b/var/spack/repos/builtin/packages/hztool/package.py
index 835113c83f..ae8b5036bf 100644
--- a/var/spack/repos/builtin/packages/hztool/package.py
+++ b/var/spack/repos/builtin/packages/hztool/package.py
@@ -12,25 +12,23 @@ class Hztool(AutotoolsPackage):
generators."""
homepage = "https://hztool.hepforge.org"
- url = "https://hztool.hepforge.org/downloads/?f=hztool-4.3.2.tar.gz"
+ url = "https://hztool.hepforge.org/downloads/?f=hztool-4.3.2.tar.gz"
list_url = "https://hztool.hepforge.org/downloads/"
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
- tags = ['hep']
+ tags = ["hep"]
- version('4.3.2', sha256='2a8d334abd96a7a9f70d53cfbb46f35902ccd1108861333a87542f8357152fd4')
- version('4.3', sha256='af1a302c16e9f0bfbfdd77a486a5f47553d81d1d049bc83cc72321ba285af264')
- version('4.2', sha256='87b74b2e424a1e6bd990cc12a0bfcba15854a6451ffa20aff8dc4bdfed559160')
- version('4.1', sha256='a24b5d483d1dacaa991958956e838601a426133c74885b3aa2fc27c98b42d22a')
- version('4.0', sha256='e6f6955159da46156bf9182f61754a59dd14e407d40c2448e3f821d55bf963a0')
+ version("4.3.2", sha256="2a8d334abd96a7a9f70d53cfbb46f35902ccd1108861333a87542f8357152fd4")
+ version("4.3", sha256="af1a302c16e9f0bfbfdd77a486a5f47553d81d1d049bc83cc72321ba285af264")
+ version("4.2", sha256="87b74b2e424a1e6bd990cc12a0bfcba15854a6451ffa20aff8dc4bdfed559160")
+ version("4.1", sha256="a24b5d483d1dacaa991958956e838601a426133c74885b3aa2fc27c98b42d22a")
+ version("4.0", sha256="e6f6955159da46156bf9182f61754a59dd14e407d40c2448e3f821d55bf963a0")
def patch(self):
- filter_file('-fno-automatic',
- '-fno-automatic -fallow-argument-mismatch',
- 'configure.ac')
+ filter_file("-fno-automatic", "-fno-automatic -fallow-argument-mismatch", "configure.ac")
def configure_args(self):
args = []
- args.append('--disable-docs')
+ args.append("--disable-docs")
return args
diff --git a/var/spack/repos/builtin/packages/i3/package.py b/var/spack/repos/builtin/packages/i3/package.py
index 36a70838cb..f797c04ae9 100644
--- a/var/spack/repos/builtin/packages/i3/package.py
+++ b/var/spack/repos/builtin/packages/i3/package.py
@@ -13,23 +13,23 @@ class I3(AutotoolsPackage):
license. i3 is primarily targeted at advanced users and developers."""
homepage = "https://i3wm.org/"
- url = "https://github.com/i3/i3/archive/4.14.1.tar.gz"
+ url = "https://github.com/i3/i3/archive/4.14.1.tar.gz"
- version('4.14.1', sha256='28d8102d656f17445a6e1523b12c1a730cc3925a520add1f75b56b9c842932f9')
+ version("4.14.1", sha256="28d8102d656f17445a6e1523b12c1a730cc3925a520add1f75b56b9c842932f9")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('libev')
- depends_on('startup-notification')
- depends_on('xcb-util-cursor')
- depends_on('xcb-util-keysyms')
- depends_on('xcb-util-wm')
- depends_on('xcb-util-xrm')
- depends_on('libxkbcommon')
- depends_on('yajl')
- depends_on('cairo+X')
- depends_on('pango+X')
+ depends_on("libev")
+ depends_on("startup-notification")
+ depends_on("xcb-util-cursor")
+ depends_on("xcb-util-keysyms")
+ depends_on("xcb-util-wm")
+ depends_on("xcb-util-xrm")
+ depends_on("libxkbcommon")
+ depends_on("yajl")
+ depends_on("cairo+X")
+ depends_on("pango+X")
diff --git a/var/spack/repos/builtin/packages/ibm-databroker/package.py b/var/spack/repos/builtin/packages/ibm-databroker/package.py
index ee5bf77998..ae80f92439 100644
--- a/var/spack/repos/builtin/packages/ibm-databroker/package.py
+++ b/var/spack/repos/builtin/packages/ibm-databroker/package.py
@@ -15,33 +15,33 @@ class IbmDatabroker(CMakePackage, PythonPackage):
can easily share and exchange data and messages with applications."""
homepage = "https://github.com/IBM/data-broker"
- git = "https://github.com/IBM/data-broker"
- url = 'https://github.com/IBM/data-broker/archive/0.6.1.tar.gz'
+ git = "https://github.com/IBM/data-broker"
+ url = "https://github.com/IBM/data-broker/archive/0.6.1.tar.gz"
# IBM dev team should take over
- maintainers = ['bhatiaharsh']
+ maintainers = ["bhatiaharsh"]
- version('master', branch='master')
- version('0.7.0', sha256='5460fa1c5c05ad25c759b2ee4cecee92980d4dde5bc7c5f6da9242806cf22bb8')
- version('0.6.1', sha256='2c7d6c6a269d4ae97aad4d770533e742f367da84758130c283733f25df83e535')
- version('0.6.0', sha256='5856209d965c923548ebb69119344f1fc596d4c0631121b230448cc91bac4290')
+ version("master", branch="master")
+ version("0.7.0", sha256="5460fa1c5c05ad25c759b2ee4cecee92980d4dde5bc7c5f6da9242806cf22bb8")
+ version("0.6.1", sha256="2c7d6c6a269d4ae97aad4d770533e742f367da84758130c283733f25df83e535")
+ version("0.6.0", sha256="5856209d965c923548ebb69119344f1fc596d4c0631121b230448cc91bac4290")
- variant('python', default=False, description='Build Python bindings')
+ variant("python", default=False, description="Build Python bindings")
- depends_on('cmake@2.8:', type='build')
- depends_on('redis@5.0.2:', type='run')
- depends_on('libevent@2.1.8', type=('build', 'run'))
+ depends_on("cmake@2.8:", type="build")
+ depends_on("redis@5.0.2:", type="run")
+ depends_on("libevent@2.1.8", type=("build", "run"))
- extends('python', when='+python')
- depends_on('python@3.7:', when='+python')
- depends_on('py-setuptools', when='+python')
+ extends("python", when="+python")
+ depends_on("python@3.7:", when="+python")
+ depends_on("py-setuptools", when="+python")
- patch('fixes_in_v0.6.1.patch', when='@0.6.1')
- patch('fixes_in_v0.7.0.patch', when='@0.7.0')
+ patch("fixes_in_v0.6.1.patch", when="@0.6.1")
+ patch("fixes_in_v0.7.0.patch", when="@0.7.0")
def cmake_args(self):
args = []
- args.append('-DDEFAULT_BE=redis')
- if '+python' in self.spec:
- args.append('-DPYDBR=1')
+ args.append("-DDEFAULT_BE=redis")
+ if "+python" in self.spec:
+ args.append("-DPYDBR=1")
return args
diff --git a/var/spack/repos/builtin/packages/ibm-java/package.py b/var/spack/repos/builtin/packages/ibm-java/package.py
index 2a936fe850..a953400d7a 100644
--- a/var/spack/repos/builtin/packages/ibm-java/package.py
+++ b/var/spack/repos/builtin/packages/ibm-java/package.py
@@ -16,25 +16,41 @@ class IbmJava(Package):
(and even current) versions may not be available."""
homepage = "https://developer.ibm.com/javasdk/"
- maintainers = ['mwkrentel']
+ maintainers = ["mwkrentel"]
# Note: IBM is fairly aggressive about taking down old versions,
# so we may need to update this frequently. Also, old revs may
# not be available for download.
version_list = [
- ('8.0.6.20', 'ppc64', '88748d1502a35845b18d514dd76835f0f47270c6ffbd81f67f611e32d042b288'),
- ('8.0.6.20', 'ppc64le', '4a7ac4712548d7630f2471a067406c94c3846fff75a0afc660682129dcf80e5b'),
- ('8.0.6.11', 'ppc64', '6fd17a6b9a34bb66e0db37f6402dc1b7612d54084c94b859f4a42f445fd174d4'),
- ('8.0.6.11', 'ppc64le', 'd69ff7519e32e89db88a9a4d4d88d1881524073ac940f35d3860db2c6647be2e'),
- ('8.0.6.10', 'ppc64', 'ff5151ead88f891624eefe33d80d56c325ca0aa4b93bd96c135cad326993eda2'),
- ('8.0.6.10', 'ppc64le', 'ea99ab28dd300b08940882d178247e99aafe5a998b1621cf288dfb247394e067'),
- ('8.0.6.7', 'ppc64', 'a1accb461a039af4587ea86511e317fea1d423e7f781459a17ed3947afed2982'),
- ('8.0.6.7', 'ppc64le', '9ede76a597af28c7f10c6f8a68788cc2dcd39fdab178c9bac56df8b3766ac717'),
- ('8.0.6.0', 'ppc64', 'e142746a83e47ab91d71839d5776f112ed154ae180d0628e3f10886151dad710'),
- ('8.0.6.0', 'ppc64le', '18c2eccf99225e6e7643141d8da4110cacc39f2fa00149fc26341d2272cc0102'),
- ('8.0.5.30', 'ppc64', 'd39ce321bdadd2b2b829637cacf9c1c0d90235a83ff6e7dcfa7078faca2f212f'),
- ('8.0.5.30', 'ppc64le', 'dec6434d926861366c135aac6234fc28b3e7685917015aa3a3089c06c3b3d8f0'),
+ ("8.0.6.20", "ppc64", "88748d1502a35845b18d514dd76835f0f47270c6ffbd81f67f611e32d042b288"),
+ (
+ "8.0.6.20",
+ "ppc64le",
+ "4a7ac4712548d7630f2471a067406c94c3846fff75a0afc660682129dcf80e5b",
+ ),
+ ("8.0.6.11", "ppc64", "6fd17a6b9a34bb66e0db37f6402dc1b7612d54084c94b859f4a42f445fd174d4"),
+ (
+ "8.0.6.11",
+ "ppc64le",
+ "d69ff7519e32e89db88a9a4d4d88d1881524073ac940f35d3860db2c6647be2e",
+ ),
+ ("8.0.6.10", "ppc64", "ff5151ead88f891624eefe33d80d56c325ca0aa4b93bd96c135cad326993eda2"),
+ (
+ "8.0.6.10",
+ "ppc64le",
+ "ea99ab28dd300b08940882d178247e99aafe5a998b1621cf288dfb247394e067",
+ ),
+ ("8.0.6.7", "ppc64", "a1accb461a039af4587ea86511e317fea1d423e7f781459a17ed3947afed2982"),
+ ("8.0.6.7", "ppc64le", "9ede76a597af28c7f10c6f8a68788cc2dcd39fdab178c9bac56df8b3766ac717"),
+ ("8.0.6.0", "ppc64", "e142746a83e47ab91d71839d5776f112ed154ae180d0628e3f10886151dad710"),
+ ("8.0.6.0", "ppc64le", "18c2eccf99225e6e7643141d8da4110cacc39f2fa00149fc26341d2272cc0102"),
+ ("8.0.5.30", "ppc64", "d39ce321bdadd2b2b829637cacf9c1c0d90235a83ff6e7dcfa7078faca2f212f"),
+ (
+ "8.0.5.30",
+ "ppc64le",
+ "dec6434d926861366c135aac6234fc28b3e7685917015aa3a3089c06c3b3d8f0",
+ ),
]
# There are separate tar files for big and little-endian machine
@@ -44,31 +60,33 @@ class IbmJava(Package):
if mach == platform.machine():
version(ver, sha256=sha, expand=False)
- provides('java@8')
+ provides("java@8")
- conflicts('target=x86_64:', msg='ibm-java is only available for ppc64 and ppc64le')
- conflicts('target=aarch64', msg='ibm-java is only available for ppc64 and ppc64le')
+ conflicts("target=x86_64:", msg="ibm-java is only available for ppc64 and ppc64le")
+ conflicts("target=aarch64", msg="ibm-java is only available for ppc64 and ppc64le")
# This assumes version numbers are 4-tuples: 8.0.5.30
def url_for_version(self, version):
# Convert 8.0.5.30 to 8.0-5.30 for the file name.
- dash = '{0}.{1}-{2}.{3}'.format(*(str(version).split('.')))
+ dash = "{0}.{1}-{2}.{3}".format(*(str(version).split(".")))
- url = ('http://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud'
- '/runtimes/java/{0}/linux/{1}/ibm-java-sdk-{2}-{1}'
- '-archive.bin').format(version, platform.machine(), dash)
+ url = (
+ "http://public.dhe.ibm.com/ibmdl/export/pub/systems/cloud"
+ "/runtimes/java/{0}/linux/{1}/ibm-java-sdk-{2}-{1}"
+ "-archive.bin"
+ ).format(version, platform.machine(), dash)
return url
@property
def libs(self):
- return find_libraries(['libjvm'], root=self.home, recursive=True)
+ return find_libraries(["libjvm"], root=self.home, recursive=True)
def setup_run_environment(self, env):
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
def install(self, spec, prefix):
archive = os.path.basename(self.stage.archive_file)
@@ -81,15 +99,15 @@ class IbmJava(Package):
copy(targ, archive)
# The properties file is how we avoid an interactive install.
- prop = 'properties'
- with open(prop, 'w') as file:
- file.write('INSTALLER_UI=silent\n')
- file.write('USER_INSTALL_DIR=%s\n' % prefix)
- file.write('LICENSE_ACCEPTED=TRUE\n')
+ prop = "properties"
+ with open(prop, "w") as file:
+ file.write("INSTALLER_UI=silent\n")
+ file.write("USER_INSTALL_DIR=%s\n" % prefix)
+ file.write("LICENSE_ACCEPTED=TRUE\n")
# Running the archive file installs everything.
set_executable(archive)
- inst = Executable(join_path('.', archive))
- inst('-f', prop)
+ inst = Executable(join_path(".", archive))
+ inst("-f", prop)
return
diff --git a/var/spack/repos/builtin/packages/ibmisc/package.py b/var/spack/repos/builtin/packages/ibmisc/package.py
index 8e30a026e3..76eaaf6a41 100644
--- a/var/spack/repos/builtin/packages/ibmisc/package.py
+++ b/var/spack/repos/builtin/packages/ibmisc/package.py
@@ -11,57 +11,49 @@ class Ibmisc(CMakePackage):
"""Misc. reusable utilities used by IceBin."""
homepage = "https://github.com/citibeth/ibmisc"
- url = "https://github.com/citibeth/ibmisc/archive/v0.1.0.tar.gz"
-
- maintainers = ['citibeth']
-
- version('0.1.0', sha256='38481a8680aad4b40eca6723b2898b344cf0ef891ebc3581f5e99fbe420fa0d8')
-
- variant('everytrace', default=False,
- description='Report errors through Everytrace')
- variant('proj', default=True,
- description='Compile utilities for PROJ.4 library')
- variant('blitz', default=True,
- description='Compile utilities for Blitz library')
- variant('netcdf', default=True,
- description='Compile utilities for NetCDF library')
- variant('boost', default=True,
- description='Compile utilities for Boost library')
- variant('udunits2', default=True,
- description='Compile utilities for UDUNITS2 library')
- variant('googletest', default=True,
- description='Compile utilities for Google Test library')
- variant('python', default=True,
- description='Compile utilities for use with Python/Cython')
-
- extends('python')
-
- depends_on('eigen')
- depends_on('everytrace', when='+everytrace')
- depends_on('proj@:4', when='+proj')
- depends_on('blitz', when='+blitz')
- depends_on('netcdf-cxx4', when='+netcdf')
- depends_on('udunits', when='+udunits2')
- depends_on('googletest', when='+googletest', type='build')
- depends_on('py-cython', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('boost', when='+boost')
+ url = "https://github.com/citibeth/ibmisc/archive/v0.1.0.tar.gz"
+
+ maintainers = ["citibeth"]
+
+ version("0.1.0", sha256="38481a8680aad4b40eca6723b2898b344cf0ef891ebc3581f5e99fbe420fa0d8")
+
+ variant("everytrace", default=False, description="Report errors through Everytrace")
+ variant("proj", default=True, description="Compile utilities for PROJ.4 library")
+ variant("blitz", default=True, description="Compile utilities for Blitz library")
+ variant("netcdf", default=True, description="Compile utilities for NetCDF library")
+ variant("boost", default=True, description="Compile utilities for Boost library")
+ variant("udunits2", default=True, description="Compile utilities for UDUNITS2 library")
+ variant("googletest", default=True, description="Compile utilities for Google Test library")
+ variant("python", default=True, description="Compile utilities for use with Python/Cython")
+
+ extends("python")
+
+ depends_on("eigen")
+ depends_on("everytrace", when="+everytrace")
+ depends_on("proj@:4", when="+proj")
+ depends_on("blitz", when="+blitz")
+ depends_on("netcdf-cxx4", when="+netcdf")
+ depends_on("udunits", when="+udunits2")
+ depends_on("googletest", when="+googletest", type="build")
+ depends_on("py-cython", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("boost", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
+ depends_on(Boost.with_default_variants, when="+boost")
# Build dependencies
- depends_on('doxygen', type='build')
+ depends_on("doxygen", type="build")
def cmake_args(self):
return [
- self.define_from_variant('USE_EVERYTRACE', 'everytrace'),
- self.define_from_variant('USE_PROJ4', 'proj'),
- self.define_from_variant('USE_BLITZ', 'blitz'),
- self.define_from_variant('USE_NETCDF', 'netcdf'),
- self.define_from_variant('USE_BOOST', 'boost'),
- self.define_from_variant('USE_UDUNITS2', 'udunits2'),
- self.define_from_variant('USE_GTEST', 'googletest'),
+ self.define_from_variant("USE_EVERYTRACE", "everytrace"),
+ self.define_from_variant("USE_PROJ4", "proj"),
+ self.define_from_variant("USE_BLITZ", "blitz"),
+ self.define_from_variant("USE_NETCDF", "netcdf"),
+ self.define_from_variant("USE_BOOST", "boost"),
+ self.define_from_variant("USE_UDUNITS2", "udunits2"),
+ self.define_from_variant("USE_GTEST", "googletest"),
]
diff --git a/var/spack/repos/builtin/packages/icarus/package.py b/var/spack/repos/builtin/packages/icarus/package.py
index 874c89374c..1f06b8f958 100644
--- a/var/spack/repos/builtin/packages/icarus/package.py
+++ b/var/spack/repos/builtin/packages/icarus/package.py
@@ -11,27 +11,30 @@ class Icarus(AutotoolsPackage):
homepage = "http://www.iverilog.icarus.com"
- version('v10_3', git='https://github.com/steveicarus/iverilog.git',
- commit='453c5465895eaca4a792d18b75e9ec14db6ea50e')
+ version(
+ "v10_3",
+ git="https://github.com/steveicarus/iverilog.git",
+ commit="453c5465895eaca4a792d18b75e9ec14db6ea50e",
+ )
- depends_on('autoconf', type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('gperf @3.0:', type='build')
- depends_on('readline @4.2:', type=('build', 'link'))
- depends_on('zlib', type=('build', 'link'))
+ depends_on("autoconf", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("gperf @3.0:", type="build")
+ depends_on("readline @4.2:", type=("build", "link"))
+ depends_on("zlib", type=("build", "link"))
- patch('fix-gcc-10.patch', when='@v10_3')
+ patch("fix-gcc-10.patch", when="@v10_3")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autoconf.sh')
+ bash = which("bash")
+ bash("./autoconf.sh")
- @run_before('install')
+ @run_before("install")
def create_install_folders(self):
mkdirp(prefix.bin)
- mkdirp(join_path(prefix.include, 'iverilog'))
- mkdirp(join_path(prefix.lib, 'ivl'))
- mkdirp(join_path(prefix.lib, 'ivl', 'include'))
- mkdirp(join_path(prefix.share, 'man'))
- mkdirp(join_path(prefix.share, 'man', 'man1'))
+ mkdirp(join_path(prefix.include, "iverilog"))
+ mkdirp(join_path(prefix.lib, "ivl"))
+ mkdirp(join_path(prefix.lib, "ivl", "include"))
+ mkdirp(join_path(prefix.share, "man"))
+ mkdirp(join_path(prefix.share, "man", "man1"))
diff --git a/var/spack/repos/builtin/packages/iceauth/package.py b/var/spack/repos/builtin/packages/iceauth/package.py
index cfd07ad1fe..624e4b19bf 100644
--- a/var/spack/repos/builtin/packages/iceauth/package.py
+++ b/var/spack/repos/builtin/packages/iceauth/package.py
@@ -14,10 +14,10 @@ class Iceauth(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/iceauth"
xorg_mirror_path = "app/iceauth-1.0.7.tar.gz"
- version('1.0.7', sha256='6c9706cce276609876e768759ed4ee3b447cd17af4a61f9b5a374c7dda9696d8')
+ version("1.0.7", sha256="6c9706cce276609876e768759ed4ee3b447cd17af4a61f9b5a374c7dda9696d8")
- depends_on('libice')
+ depends_on("libice")
- depends_on('xproto@7.0.22:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.22:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/icedtea/package.py b/var/spack/repos/builtin/packages/icedtea/package.py
index 445c82f95d..0538f27f43 100644
--- a/var/spack/repos/builtin/packages/icedtea/package.py
+++ b/var/spack/repos/builtin/packages/icedtea/package.py
@@ -15,100 +15,130 @@ class Icedtea(AutotoolsPackage):
existing IcedTea or OpenJDK install to build."""
homepage = "https://openjdk.java.net/projects/icedtea/"
- url = "https://icedtea.wildebeest.org/download/source/icedtea-3.4.0.tar.gz"
-
- version('3.9.0', sha256='84a63bc59f4e101ce8fa183060a59c7e8cbe270945310e90c92b8609a9b8bc88')
- version('3.8.0', sha256='ef1a9110294d0a905833f1db30da0c8a88bd2bde8d92ddb711d72ec763cd25b0')
- version('3.7.0', sha256='936302694e193791885e81cf72097eeadee5b68ba220889228b0aafbfb2cb654')
- version('3.6.0', sha256='74a43c4e027c72bb1c324f8f73af21565404326c9998f534f234ec2a36ca1cdb')
- version('3.5.1', sha256='b229f2aa5d743ff850fa695e61f65139bb6eca1a9d10af5306ad3766fcea2eb2')
- version('3.5.0', sha256='2c92e18fa70edaf73517fcf91bc2a7cc2ec2aa8ffdf22bb974fa6f9bc3065f30')
- version('3.4.0', sha256='2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b')
-
- variant('X', default=False, description="Build with GUI support.")
- variant('shenandoah', default=False,
- description="Build with the shenandoah gc. Only for version 3+")
-
- depends_on('pkgconfig', type='build')
- depends_on('gmake', type='build')
- depends_on('cups')
- depends_on('jdk', type='build')
+ url = "https://icedtea.wildebeest.org/download/source/icedtea-3.4.0.tar.gz"
+
+ version("3.9.0", sha256="84a63bc59f4e101ce8fa183060a59c7e8cbe270945310e90c92b8609a9b8bc88")
+ version("3.8.0", sha256="ef1a9110294d0a905833f1db30da0c8a88bd2bde8d92ddb711d72ec763cd25b0")
+ version("3.7.0", sha256="936302694e193791885e81cf72097eeadee5b68ba220889228b0aafbfb2cb654")
+ version("3.6.0", sha256="74a43c4e027c72bb1c324f8f73af21565404326c9998f534f234ec2a36ca1cdb")
+ version("3.5.1", sha256="b229f2aa5d743ff850fa695e61f65139bb6eca1a9d10af5306ad3766fcea2eb2")
+ version("3.5.0", sha256="2c92e18fa70edaf73517fcf91bc2a7cc2ec2aa8ffdf22bb974fa6f9bc3065f30")
+ version("3.4.0", sha256="2b606bbbf4ca5bcf2c8e811ea9060da30744860f3d63e1b3149fb5550a90b92b")
+
+ variant("X", default=False, description="Build with GUI support.")
+ variant(
+ "shenandoah",
+ default=False,
+ description="Build with the shenandoah gc. Only for version 3+",
+ )
+
+ depends_on("pkgconfig", type="build")
+ depends_on("gmake", type="build")
+ depends_on("cups")
+ depends_on("jdk", type="build")
# X11 deps required for building even when headless
- depends_on('libx11', when='~X', type='build')
- depends_on('xproto', when='~X', type='build')
- depends_on('libxext', when='~X', type='build')
- depends_on('libxtst', when='~X', type='build')
- depends_on('libxi', when='~X', type='build')
- depends_on('libxt', when='~X', type='build')
- depends_on('libxinerama', when='~X', type='build')
- depends_on('libxrender', when='~X', type='build')
- depends_on('libxcomposite', when='~X', type='build')
- depends_on('libxau', when='~X', type='build')
- depends_on('libxdmcp', when='~X', type='build')
- depends_on('gtkplus', when='~X', type='build')
-
- depends_on('libx11', when='+X')
- depends_on('xproto', when='+X')
- depends_on('libxext', when='+X')
- depends_on('libxtst', when='+X')
- depends_on('libxi', when='+X')
- depends_on('libxt', when='+X')
- depends_on('libxinerama', when='+X')
- depends_on('libxrender', when='+X')
- depends_on('libxcomposite', when='+X')
- depends_on('libxau', when='+X')
- depends_on('libxdmcp', when='+X')
- depends_on('gtkplus', when='+X')
-
- depends_on('freetype@2:')
- depends_on('wget', type='build')
- depends_on('giflib')
- depends_on('libpng')
- depends_on('jpeg')
- depends_on('lcms')
- depends_on('zlib')
- depends_on('alsa-lib', when='platform=linux')
-
- provides('java@8', when='@3.4.0:3')
+ depends_on("libx11", when="~X", type="build")
+ depends_on("xproto", when="~X", type="build")
+ depends_on("libxext", when="~X", type="build")
+ depends_on("libxtst", when="~X", type="build")
+ depends_on("libxi", when="~X", type="build")
+ depends_on("libxt", when="~X", type="build")
+ depends_on("libxinerama", when="~X", type="build")
+ depends_on("libxrender", when="~X", type="build")
+ depends_on("libxcomposite", when="~X", type="build")
+ depends_on("libxau", when="~X", type="build")
+ depends_on("libxdmcp", when="~X", type="build")
+ depends_on("gtkplus", when="~X", type="build")
+
+ depends_on("libx11", when="+X")
+ depends_on("xproto", when="+X")
+ depends_on("libxext", when="+X")
+ depends_on("libxtst", when="+X")
+ depends_on("libxi", when="+X")
+ depends_on("libxt", when="+X")
+ depends_on("libxinerama", when="+X")
+ depends_on("libxrender", when="+X")
+ depends_on("libxcomposite", when="+X")
+ depends_on("libxau", when="+X")
+ depends_on("libxdmcp", when="+X")
+ depends_on("gtkplus", when="+X")
+
+ depends_on("freetype@2:")
+ depends_on("wget", type="build")
+ depends_on("giflib")
+ depends_on("libpng")
+ depends_on("jpeg")
+ depends_on("lcms")
+ depends_on("zlib")
+ depends_on("alsa-lib", when="platform=linux")
+
+ provides("java@8", when="@3.4.0:3")
force_autoreconf = True
- resource(name='corba', placement='corba_src',
- sha256='47210b6c69dcc6193b9bf0a3d61b75b48f4fa56e8ca348e40200cfa14eca3fd1',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/corba.tar.xz',
- when='@3.4.0')
- resource(name='hotspot', placement='hotspot_src',
- sha256='973d668f312b869184665def8abe4037dcd78562bf0dda40367102aca647fd76',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/hotspot.tar.xz',
- when='@3.4.0')
- resource(name='jaxp', placement='jaxp_src',
- sha256='c74a8a27f1d2dfeaabfce3b5b46623e367fb0fbd5938a3aca8fcd23eb2ce1d53',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jaxp.tar.xz',
- when='@3.4.0')
- resource(name='jaxws', placement='jaxws_src',
- sha256='90642e9131f4c8922576305224278fcae72d8363956b76d4cdbf813027836cac',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jaxws.tar.xz',
- when='@3.4.0')
- resource(name='jdk', placement='jdk_src',
- sha256='ec71e37b98b4baa6831c5cb30bcc1ab18cd95993744dbc4d37a28b2dc5049896',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jdk.tar.xz',
- when='@3.4.0')
- resource(name='langtools', placement='langtools_src',
- sha256='489799c6a86fbfb7da2f2c0ec48e44970a152ea38b97bb40cc04bc09155ab39f',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/langtools.tar.xz',
- when='@3.4.0')
- resource(name='openjdk', placement='openjdk_src',
- sha256='f1eb8c8e45965adcaa1e9cc70df043a825d52409e96712d266167994ff88456d',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/openjdk.tar.xz',
- when='@3.4.0')
- resource(name='nashorn', placement='nashorn_src',
- sha256='3f3861e7268a3986fa8d5c940b85a0de1003f7ebb212df157a9b421ac621d6ae',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/nashorn.tar.xz',
- when='@3.4.0')
- resource(name='shenandoah', placement='shenandoah_src',
- sha256='61f7cc5896791ae564aa365cb3de80b16426b42f07e5734ebd30c4483fa2fd3a',
- url='https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/shenandoah.tar.xz',
- when='@3.4.0')
+ resource(
+ name="corba",
+ placement="corba_src",
+ sha256="47210b6c69dcc6193b9bf0a3d61b75b48f4fa56e8ca348e40200cfa14eca3fd1",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/corba.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="hotspot",
+ placement="hotspot_src",
+ sha256="973d668f312b869184665def8abe4037dcd78562bf0dda40367102aca647fd76",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/hotspot.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="jaxp",
+ placement="jaxp_src",
+ sha256="c74a8a27f1d2dfeaabfce3b5b46623e367fb0fbd5938a3aca8fcd23eb2ce1d53",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jaxp.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="jaxws",
+ placement="jaxws_src",
+ sha256="90642e9131f4c8922576305224278fcae72d8363956b76d4cdbf813027836cac",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jaxws.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="jdk",
+ placement="jdk_src",
+ sha256="ec71e37b98b4baa6831c5cb30bcc1ab18cd95993744dbc4d37a28b2dc5049896",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/jdk.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="langtools",
+ placement="langtools_src",
+ sha256="489799c6a86fbfb7da2f2c0ec48e44970a152ea38b97bb40cc04bc09155ab39f",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/langtools.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="openjdk",
+ placement="openjdk_src",
+ sha256="f1eb8c8e45965adcaa1e9cc70df043a825d52409e96712d266167994ff88456d",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/openjdk.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="nashorn",
+ placement="nashorn_src",
+ sha256="3f3861e7268a3986fa8d5c940b85a0de1003f7ebb212df157a9b421ac621d6ae",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/nashorn.tar.xz",
+ when="@3.4.0",
+ )
+ resource(
+ name="shenandoah",
+ placement="shenandoah_src",
+ sha256="61f7cc5896791ae564aa365cb3de80b16426b42f07e5734ebd30c4483fa2fd3a",
+ url="https://icedtea.wildebeest.org/download/drops/icedtea8/3.4.0/shenandoah.tar.xz",
+ when="@3.4.0",
+ )
# FIXME:
# 1. `extends('java')` doesn't work, you need to use `extends('icedtea')`
@@ -119,44 +149,46 @@ class Icedtea(AutotoolsPackage):
extendable = True
def configure_args(self):
- os.environ['POTENTIAL_CXX'] = os.environ['CXX']
- os.environ['POTENTIAL_CC'] = os.environ['CC']
- os.environ['WGET'] = self.spec['wget'].command.path
+ os.environ["POTENTIAL_CXX"] = os.environ["CXX"]
+ os.environ["POTENTIAL_CC"] = os.environ["CC"]
+ os.environ["WGET"] = self.spec["wget"].command.path
args = []
- if '~X' in self.spec:
- args.append('--enable-headless')
- if '+shenandoah' in self.spec:
- args.append('--with-hotspot-build=shenandoah')
- args.append('--with-hotspot-src-zip=' + self.stage[9].archive_file)
- args.append('--with-hotspot-checksum=no')
+ if "~X" in self.spec:
+ args.append("--enable-headless")
+ if "+shenandoah" in self.spec:
+ args.append("--with-hotspot-build=shenandoah")
+ args.append("--with-hotspot-src-zip=" + self.stage[9].archive_file)
+ args.append("--with-hotspot-checksum=no")
else:
- args.append('--with-hotspot-src-zip=' + self.stage[2].archive_file)
- args.append('--with-hotspot-checksum=no')
+ args.append("--with-hotspot-src-zip=" + self.stage[2].archive_file)
+ args.append("--with-hotspot-checksum=no")
args += [
- '--with-corba-src-zip=' + self.stage[1].archive_file,
- '--with-cobra-checksum=no',
- '--with-jaxp-src-zip=' + self.stage[3].archive_file,
- '--with-jaxp-checksum=no',
- '--with-jaxws-src-zip=' + self.stage[4].archive_file,
- '--with-jaxws-checksum=no',
- '--with-jdk-src-zip=' + self.stage[5].archive_file,
- '--with-jdk-checksum=no',
- '--with-langtools-src-zip=' + self.stage[6].archive_file,
- '--with-langtools-checksum=no',
- '--with-openjdk-src-zip=' + self.stage[7].archive_file,
- '--with-openjdk-checksum=no',
- '--with-nashorn-src-zip=' + self.stage[8].archive_file,
- '--with-nashorn-checksum=no', '--disable-maintainer-mode'
- '--disable-downloading', '--disable-system-pcsc',
- '--disable-system-sctp', '--disable-system-kerberos',
- '--with-jdk-home=' + self.spec['jdk'].home
+ "--with-corba-src-zip=" + self.stage[1].archive_file,
+ "--with-cobra-checksum=no",
+ "--with-jaxp-src-zip=" + self.stage[3].archive_file,
+ "--with-jaxp-checksum=no",
+ "--with-jaxws-src-zip=" + self.stage[4].archive_file,
+ "--with-jaxws-checksum=no",
+ "--with-jdk-src-zip=" + self.stage[5].archive_file,
+ "--with-jdk-checksum=no",
+ "--with-langtools-src-zip=" + self.stage[6].archive_file,
+ "--with-langtools-checksum=no",
+ "--with-openjdk-src-zip=" + self.stage[7].archive_file,
+ "--with-openjdk-checksum=no",
+ "--with-nashorn-src-zip=" + self.stage[8].archive_file,
+ "--with-nashorn-checksum=no",
+ "--disable-maintainer-mode" "--disable-downloading",
+ "--disable-system-pcsc",
+ "--disable-system-sctp",
+ "--disable-system-kerberos",
+ "--with-jdk-home=" + self.spec["jdk"].home,
]
return args
def setup_run_environment(self, env):
"""Set JAVA_HOME."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set JAVA_HOME and CLASSPATH.
@@ -164,15 +196,15 @@ class Icedtea(AutotoolsPackage):
CLASSPATH contains the installation prefix for the extension and any
other Java extensions it depends on."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
class_paths = []
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test")):
if d.package.extends(self.spec):
- class_paths.extend(find(d.prefix, '*.jar'))
+ class_paths.extend(find(d.prefix, "*.jar"))
classpath = os.pathsep.join(class_paths)
- env.set('CLASSPATH', classpath)
+ env.set("CLASSPATH", classpath)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set CLASSPATH.
@@ -182,6 +214,6 @@ class Icedtea(AutotoolsPackage):
# For runtime environment set only the path for
# dependent_spec and prepend it to CLASSPATH
if dependent_spec.package.extends(self.spec):
- class_paths = find(dependent_spec.prefix, '*.jar')
+ class_paths = find(dependent_spec.prefix, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py
index a077b66fcc..5f2f2ba49e 100644
--- a/var/spack/repos/builtin/packages/icet/package.py
+++ b/var/spack/repos/builtin/packages/icet/package.py
@@ -8,25 +8,27 @@ from spack.package import *
class Icet(CMakePackage):
"""The Image Composition Engine for Tiles (IceT) is a high-performance
- sort-last parallel rendering library."""
+ sort-last parallel rendering library."""
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"
+ 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"
- version('develop', branch='master')
- version('2.1.1', sha256='04cc5b7aa5b3ec95b255febdcfc2312e553ce3db5ca305526803d5737561ec32')
+ version("develop", branch="master")
+ version("2.1.1", sha256="04cc5b7aa5b3ec95b255febdcfc2312e553ce3db5ca305526803d5737561ec32")
- variant('opengl', default=False, description="Use opengl")
- variant('shared', default=True, description='Enable shared library')
+ variant("opengl", default=False, description="Use opengl")
+ variant("shared", default=True, description="Enable shared library")
- depends_on('mpi')
- depends_on('gl', when="+opengl")
+ depends_on("mpi")
+ depends_on("gl", when="+opengl")
def cmake_args(self):
- return [self.define_from_variant("ICET_USE_OPENGL", "opengl"),
- self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
+ return [
+ self.define_from_variant("ICET_USE_OPENGL", "opengl"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ ]
def setup_dependent_build_environment(self, env, dependent_spec):
"""Work-around for ill-placed CMake modules"""
- env.prepend_path('CMAKE_PREFIX_PATH', self.prefix.lib)
+ env.prepend_path("CMAKE_PREFIX_PATH", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/ico/package.py b/var/spack/repos/builtin/packages/ico/package.py
index e7f8bf22b3..797ccbc6a6 100644
--- a/var/spack/repos/builtin/packages/ico/package.py
+++ b/var/spack/repos/builtin/packages/ico/package.py
@@ -15,10 +15,10 @@ class Ico(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/ico"
xorg_mirror_path = "app/ico-1.0.4.tar.gz"
- version('1.0.4', sha256='eb8609c3b43dc2e575272f2702590525fe13229e022c4aff8b9a0cc2a3f3205d')
+ version("1.0.4", sha256="eb8609c3b43dc2e575272f2702590525fe13229e022c4aff8b9a0cc2a3f3205d")
- depends_on('libx11@0.99.1:')
+ depends_on("libx11@0.99.1:")
- depends_on('xproto@7.0.22:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.22:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py
index c97d76895a..a1c78d6828 100644
--- a/var/spack/repos/builtin/packages/icu4c/package.py
+++ b/var/spack/repos/builtin/packages/icu4c/package.py
@@ -12,68 +12,75 @@ class Icu4c(AutotoolsPackage):
C/C++ interface."""
homepage = "http://site.icu-project.org/"
- url = "https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz"
-
- version('67.1', sha256='94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc')
- version('66.1', sha256='52a3f2209ab95559c1cf0a14f24338001f389615bf00e2585ef3dbc43ecf0a2e')
- version('65.1', sha256='53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948')
- version('64.1', sha256='92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6')
- version('60.3', sha256='476287b17db6e0b7da230dce4b58e8e5669b1510847f82cab3647920f1374390')
- version('60.1', sha256='f8f5a6c8fbf32c015a467972bdb1477dc5f5d5dfea908b6ed218715eeb5ee225')
- version('58.3', sha256='2680f3c547cd26cba1d7ebd819cd336ff92cf444a270e195fd3b10bfdf22276c')
- version('58.2', sha256='2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c')
- version('57.2', sha256='623f04b921827a041f42d52495a6f8eee6565a9b7557051ac68e099123ff28dc')
- version('57.1', sha256='ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581')
-
- variant('cxxstd',
- default='11',
- values=('11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building')
-
- depends_on('python', type='build', when='@64.1:')
-
- conflicts('%intel@:16', when='@60.1:',
- msg="Intel compilers have immature C++11 and multibyte support")
- conflicts('%gcc@:4', when='@67.1:',
- msg="Older GCC compilers have immature C++11 support")
-
- patch('https://github.com/unicode-org/icu/commit/ddfc30860354cbcb78c2c0bcf800be5ab44a9e4f.patch?full_index=1',
- sha256='6be0b8068b0f5047dad7f4f6f655529304f1abbc551c93223c6f41dafc1e8acc',
- level=2, when='@58.0:59')
-
- configure_directory = 'source'
+ url = "https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz"
+
+ version("67.1", sha256="94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc")
+ version("66.1", sha256="52a3f2209ab95559c1cf0a14f24338001f389615bf00e2585ef3dbc43ecf0a2e")
+ version("65.1", sha256="53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948")
+ version("64.1", sha256="92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6")
+ version("60.3", sha256="476287b17db6e0b7da230dce4b58e8e5669b1510847f82cab3647920f1374390")
+ version("60.1", sha256="f8f5a6c8fbf32c015a467972bdb1477dc5f5d5dfea908b6ed218715eeb5ee225")
+ version("58.3", sha256="2680f3c547cd26cba1d7ebd819cd336ff92cf444a270e195fd3b10bfdf22276c")
+ version("58.2", sha256="2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c")
+ version("57.2", sha256="623f04b921827a041f42d52495a6f8eee6565a9b7557051ac68e099123ff28dc")
+ version("57.1", sha256="ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581")
+
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+
+ depends_on("python", type="build", when="@64.1:")
+
+ conflicts(
+ "%intel@:16",
+ when="@60.1:",
+ msg="Intel compilers have immature C++11 and multibyte support",
+ )
+ conflicts("%gcc@:4", when="@67.1:", msg="Older GCC compilers have immature C++11 support")
+
+ patch(
+ "https://github.com/unicode-org/icu/commit/ddfc30860354cbcb78c2c0bcf800be5ab44a9e4f.patch?full_index=1",
+ sha256="6be0b8068b0f5047dad7f4f6f655529304f1abbc551c93223c6f41dafc1e8acc",
+ level=2,
+ when="@58.0:59",
+ )
+
+ configure_directory = "source"
def url_for_version(self, version):
url = "https://github.com/unicode-org/icu/releases/download/release-{0}/icu4c-{1}-src.tgz"
return url.format(version.dashed, version.underscored)
def flag_handler(self, name, flags):
- if name == 'cxxflags':
+ if name == "cxxflags":
# Control of the C++ Standard is via adding the required "-std"
# flag to CXXFLAGS in env
- flags.append(getattr(self.compiler,
- 'cxx{0}_flag'.format(
- self.spec.variants['cxxstd'].value)))
+ flags.append(
+ getattr(self.compiler, "cxx{0}_flag".format(self.spec.variants["cxxstd"].value))
+ )
return (None, flags, None)
# Need to make sure that locale is UTF-8 in order to process source
# files in UTF-8.
- @when('@59:')
+ @when("@59:")
def setup_build_environment(self, env):
- env.set('LC_ALL', 'en_US.UTF-8')
+ env.set("LC_ALL", "en_US.UTF-8")
def configure_args(self):
args = []
- if 'python' in self.spec:
+ if "python" in self.spec:
# Make sure configure uses Spack's python package
# Without this, configure could pick a broken global installation
- args.append('PYTHON={0}'.format(self.spec['python'].command))
+ args.append("PYTHON={0}".format(self.spec["python"].command))
# The --enable-rpath option is only needed on MacOS, and it
# breaks the build for xerces-c on Linux.
- if 'platform=darwin' in self.spec:
- args.append('--enable-rpath')
+ if "platform=darwin" in self.spec:
+ args.append("--enable-rpath")
return args
diff --git a/var/spack/repos/builtin/packages/id3lib/package.py b/var/spack/repos/builtin/packages/id3lib/package.py
index 9293481cfe..4f37e11469 100644
--- a/var/spack/repos/builtin/packages/id3lib/package.py
+++ b/var/spack/repos/builtin/packages/id3lib/package.py
@@ -10,11 +10,11 @@ class Id3lib(AutotoolsPackage):
"""Library for manipulating ID3v1 and ID3v2 tags"""
homepage = "http://id3lib.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/id3lib/id3lib/3.8.3/id3lib-3.8.3.tar.gz"
+ url = "https://downloads.sourceforge.net/project/id3lib/id3lib/3.8.3/id3lib-3.8.3.tar.gz"
- version('3.8.3', sha256='2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079')
+ version("3.8.3", sha256="2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079")
- depends_on('zlib')
+ depends_on("zlib")
# http://connie.slackware.com/~alien/slackbuilds/id3lib/build/id3lib-3.8.3_gcc4.diff
# this is due to some changes in the c++ standard library headers
diff --git a/var/spack/repos/builtin/packages/idba/package.py b/var/spack/repos/builtin/packages/idba/package.py
index 3405e3d9b7..1d01a7e3d3 100644
--- a/var/spack/repos/builtin/packages/idba/package.py
+++ b/var/spack/repos/builtin/packages/idba/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Idba(AutotoolsPackage):
"""IDBA is a practical iterative De Bruijn Graph De Novo Assembler for
- sequence assembly in bioinfomatics."""
+ sequence assembly in bioinfomatics."""
homepage = "https://i.cs.hku.hk/~alse/hkubrg/projects/idba/"
- url = "https://github.com/loneknightpy/idba/archive/1.1.3.tar.gz"
+ url = "https://github.com/loneknightpy/idba/archive/1.1.3.tar.gz"
- version('1.1.3', sha256='6b1746a29884f4fa17b110d94d9ead677ab5557c084a93b16b6a043dbb148709')
+ version("1.1.3", sha256="6b1746a29884f4fa17b110d94d9ead677ab5557c084a93b16b6a043dbb148709")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/idl/package.py b/var/spack/repos/builtin/packages/idl/package.py
index 190c7fb54a..2b57de07fe 100644
--- a/var/spack/repos/builtin/packages/idl/package.py
+++ b/var/spack/repos/builtin/packages/idl/package.py
@@ -19,24 +19,24 @@ class Idl(Package):
manual_download = True
url = "file://{0}/idl8.7-linux.tar.gz".format(os.getcwd())
- maintainers = ['francinelapid']
+ maintainers = ["francinelapid"]
license_required = True
def install(self, spec, prefix):
# replace default install dir to self.prefix by editing answer file
- filter_file('/usr/local/harris', prefix, 'silent/idl_answer_file')
+ filter_file("/usr/local/harris", prefix, "silent/idl_answer_file")
# execute install script
- install_script = Executable('./install.sh')
- install_script('-s', input='silent/idl_answer_file')
+ install_script = Executable("./install.sh")
+ install_script("-s", input="silent/idl_answer_file")
def setup_run_environment(self, env):
# set necessary environment variables
- env.prepend_path('EXELIS_DIR', self.prefix)
- env.prepend_path('IDL_DIR', self.prefix.idl)
+ env.prepend_path("EXELIS_DIR", self.prefix)
+ env.prepend_path("IDL_DIR", self.prefix.idl)
# add bin to path
- env.prepend_path('PATH', self.prefix.idl.bin)
+ env.prepend_path("PATH", self.prefix.idl.bin)
diff --git a/var/spack/repos/builtin/packages/iegenlib/package.py b/var/spack/repos/builtin/packages/iegenlib/package.py
index 866d13acab..6ec51b16c7 100644
--- a/var/spack/repos/builtin/packages/iegenlib/package.py
+++ b/var/spack/repos/builtin/packages/iegenlib/package.py
@@ -8,37 +8,39 @@ from spack.package import *
class Iegenlib(CMakePackage):
"""Inspector/Executor Generation Library for manipulating sets
- and relations with uninterpreted function symbols. """
+ and relations with uninterpreted function symbols."""
homepage = "https://github.com/CompOpt4Apps/IEGenLib"
- git = "https://github.com/CompOpt4Apps/IEGenLib.git"
- url = "https://github.com/CompOpt4Apps/IEGenLib/archive/fc479ee6ff01dba26beffc1dc6bacdba03262138.zip"
+ git = "https://github.com/CompOpt4Apps/IEGenLib.git"
+ url = "https://github.com/CompOpt4Apps/IEGenLib/archive/fc479ee6ff01dba26beffc1dc6bacdba03262138.zip"
- maintainers = ['dhuth']
+ maintainers = ["dhuth"]
- version('master', branch='master')
- version('2018-07-03',
- url="https://github.com/CompOpt4Apps/IEGenLib/archive/fc479ee6ff01dba26beffc1dc6bacdba03262138.zip",
- sha256='b4c0b368363fcc1e34b388057cc0940bb87fc336cebb0772fd6055f45009b12b')
+ version("master", branch="master")
+ version(
+ "2018-07-03",
+ url="https://github.com/CompOpt4Apps/IEGenLib/archive/fc479ee6ff01dba26beffc1dc6bacdba03262138.zip",
+ sha256="b4c0b368363fcc1e34b388057cc0940bb87fc336cebb0772fd6055f45009b12b",
+ )
- depends_on('cmake@2.6:', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('texinfo', type='build')
- depends_on('isl')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("isl")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- @run_before('cmake')
+ @run_before("cmake")
def make_dirs(self):
- autoreconf = which('autoreconf')
- with working_dir('lib/isl'):
- autoreconf('-i')
- mkdirp('spack-build/bin')
+ autoreconf = which("autoreconf")
+ with working_dir("lib/isl"):
+ autoreconf("-i")
+ mkdirp("spack-build/bin")
def cmake_args(self):
args = []
- args.append('-DGEN_PARSER=no')
- args.append('-DBUILD_PYTHON=no')
+ args.append("-DGEN_PARSER=no")
+ args.append("-DBUILD_PYTHON=no")
return args
diff --git a/var/spack/repos/builtin/packages/ignite/package.py b/var/spack/repos/builtin/packages/ignite/package.py
index 952adeedd2..f7a337c9c9 100644
--- a/var/spack/repos/builtin/packages/ignite/package.py
+++ b/var/spack/repos/builtin/packages/ignite/package.py
@@ -14,15 +14,15 @@ class Ignite(Package):
"""
homepage = "https://ignite.apache.org/"
- url = "https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip"
+ url = "https://archive.apache.org/dist/ignite/2.6.0/apache-ignite-hadoop-2.6.0-bin.zip"
- version('2.6.0', sha256='be40350f301a308a0ab09413a130d421730bf253d200e054b82a7d0c275c69f2')
- version('2.5.0', sha256='00bd35b6c50754325b966d50c7eee7067e0558f3d52b3dee27aff981b6da38be')
- version('2.4.0', sha256='3d4f44fbb1c46731cf6ad4acce26da72960b292b307221cec55057b4f305abd9')
- version('2.3.0', sha256='aae162c3df243592f7baa0d63b9bf60a7bdb00c7198f43e75b0a777a6fe5b639')
- version('2.2.0', sha256='e4c150f59b11e14fdf4f663cf6f2c433dd55c17720221c89f3c67b9868177bd3')
+ version("2.6.0", sha256="be40350f301a308a0ab09413a130d421730bf253d200e054b82a7d0c275c69f2")
+ version("2.5.0", sha256="00bd35b6c50754325b966d50c7eee7067e0558f3d52b3dee27aff981b6da38be")
+ version("2.4.0", sha256="3d4f44fbb1c46731cf6ad4acce26da72960b292b307221cec55057b4f305abd9")
+ version("2.3.0", sha256="aae162c3df243592f7baa0d63b9bf60a7bdb00c7198f43e75b0a777a6fe5b639")
+ version("2.2.0", sha256="e4c150f59b11e14fdf4f663cf6f2c433dd55c17720221c89f3c67b9868177bd3")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/igprof/package.py b/var/spack/repos/builtin/packages/igprof/package.py
index 880dcea6b8..b828df5e01 100644
--- a/var/spack/repos/builtin/packages/igprof/package.py
+++ b/var/spack/repos/builtin/packages/igprof/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class Igprof(CMakePackage):
"""IgProf (the Ignominous Profiler) is a simple nice tool for measuring and
- analysing application memory and performance characteristics.
+ analysing application memory and performance characteristics.
- IgProf requires no changes to the application or the build process. It
- currently works on Linux (ia32, x86_64)."""
+ IgProf requires no changes to the application or the build process. It
+ currently works on Linux (ia32, x86_64)."""
homepage = "https://igprof.org/"
- url = "https://github.com/igprof/igprof/archive/v5.9.16.tar.gz"
+ url = "https://github.com/igprof/igprof/archive/v5.9.16.tar.gz"
- version('5.9.16', sha256='cc977466b310f47bbc2967a0bb6ecd49d7437089598346e3f1d8aaf9a7555d96')
+ version("5.9.16", sha256="cc977466b310f47bbc2967a0bb6ecd49d7437089598346e3f1d8aaf9a7555d96")
- depends_on('libunwind')
+ depends_on("libunwind")
# Three patches in one: C++11 compatibility (src/analyse.cc),
# libunwind "compatibility" (remove -Werror in CMakeLists.txt) -
# see also https://github.com/spack/spack/pull/21537,
# and gcc 8.x compatibility (the rest of the changes).
# Adopted from LCGCMake https://gitlab.cern.ch/sft/lcgcmake
- patch('igprof-5.9.16.patch', when='@5.9.16', level=0)
+ patch("igprof-5.9.16.patch", when="@5.9.16", level=0)
def build_system_flags(pkg, name, flags):
- if name == 'cxxflags':
- flags.extend(('-Wno-unused-variable', '-Wno-error=unused-result'))
+ if name == "cxxflags":
+ flags.extend(("-Wno-unused-variable", "-Wno-error=unused-result"))
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/igraph/package.py b/var/spack/repos/builtin/packages/igraph/package.py
index d6a3f83447..4a994b6271 100644
--- a/var/spack/repos/builtin/packages/igraph/package.py
+++ b/var/spack/repos/builtin/packages/igraph/package.py
@@ -10,8 +10,8 @@ class Igraph(AutotoolsPackage):
"""igraph is a library for creating and manipulating graphs."""
homepage = "https://igraph.org/"
- url = "https://github.com/igraph/igraph/releases/download/0.7.1/igraph-0.7.1.tar.gz"
+ url = "https://github.com/igraph/igraph/releases/download/0.7.1/igraph-0.7.1.tar.gz"
- version('0.7.1', sha256='d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df')
+ version("0.7.1", sha256="d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df")
- depends_on('libxml2')
+ depends_on("libxml2")
diff --git a/var/spack/repos/builtin/packages/igv/package.py b/var/spack/repos/builtin/packages/igv/package.py
index b1cc2205ac..64338e5959 100644
--- a/var/spack/repos/builtin/packages/igv/package.py
+++ b/var/spack/repos/builtin/packages/igv/package.py
@@ -13,31 +13,30 @@ class Igv(Package):
next-generation sequence data, and genomic annotations."""
homepage = "https://software.broadinstitute.org/software/igv/home"
- url = "https://data.broadinstitute.org/igv/projects/downloads/2.8/IGV_2.8.0.zip"
+ url = "https://data.broadinstitute.org/igv/projects/downloads/2.8/IGV_2.8.0.zip"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2.12.3', sha256='c87a109deb35994e1b28dee80b5acfd623ec3257f031fcd9cfce008cd32a4cf2')
- version('2.8.0', sha256='33f3ac57017907b931f90c35b63b2de2e4f8d2452f0fbb5be39d30288fc9b2c6')
+ version("2.12.3", sha256="c87a109deb35994e1b28dee80b5acfd623ec3257f031fcd9cfce008cd32a4cf2")
+ version("2.8.0", sha256="33f3ac57017907b931f90c35b63b2de2e4f8d2452f0fbb5be39d30288fc9b2c6")
- depends_on('java@11:', type='run')
+ depends_on("java@11:", type="run")
- variant('igvtools', default=False, description='Include igvtools')
+ variant("igvtools", default=False, description="Include igvtools")
def url_for_version(self, version):
- url = 'https://data.broadinstitute.org/igv/projects/downloads/{0}/IGV_{1}.zip'
+ url = "https://data.broadinstitute.org/igv/projects/downloads/{0}/IGV_{1}.zip"
return url.format(version.up_to(2), version)
def install(self, spec, prefix):
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
mkdirp(prefix.bin)
- install('igv.args', prefix)
- files = ['igv.sh', 'igv_hidpi.sh']
- if '+igvtools' in spec:
- files.extend(['igvtools', 'igvtools_gui', 'igvtools_gui_hidpi'])
+ install("igv.args", prefix)
+ files = ["igv.sh", "igv_hidpi.sh"]
+ if "+igvtools" in spec:
+ files.extend(["igvtools", "igvtools_gui", "igvtools_gui_hidpi"])
for f in files:
- filter_file('^prefix=.*$', 'prefix=' + prefix, f)
- filter_file(' java ', ' {0} '.format(spec['java'].prefix.bin.java),
- f)
+ filter_file("^prefix=.*$", "prefix=" + prefix, f)
+ filter_file(" java ", " {0} ".format(spec["java"].prefix.bin.java), f)
set_executable(f)
install(f, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/igvtools/package.py b/var/spack/repos/builtin/packages/igvtools/package.py
index 028f140b09..630b673362 100644
--- a/var/spack/repos/builtin/packages/igvtools/package.py
+++ b/var/spack/repos/builtin/packages/igvtools/package.py
@@ -13,17 +13,17 @@ class Igvtools(Package):
files"""
homepage = "https://software.broadinstitute.org/software/igv/home"
- url = "https://data.broadinstitute.org/igv/projects/downloads/2.3/igvtools_2.3.98.zip"
+ url = "https://data.broadinstitute.org/igv/projects/downloads/2.3/igvtools_2.3.98.zip"
- version('2.3.98', sha256='07027c179f25960bab9919f255c0f8e08f0861861ac6dc02d92be8313e0316a4')
+ version("2.3.98", sha256="07027c179f25960bab9919f255c0f8e08f0861861ac6dc02d92be8313e0316a4")
- depends_on('java@8:')
+ depends_on("java@8:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'igvtools.jar'
+ jar_file = "igvtools.jar"
install(jar_file, prefix.bin)
- install_tree('genomes', prefix.genomes)
+ install_tree("genomes", prefix.genomes)
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
@@ -34,8 +34,7 @@ class Igvtools(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file(jar_file, join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file(jar_file, join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/ike-scan/package.py b/var/spack/repos/builtin/packages/ike-scan/package.py
index d44339a77e..00ab70942a 100644
--- a/var/spack/repos/builtin/packages/ike-scan/package.py
+++ b/var/spack/repos/builtin/packages/ike-scan/package.py
@@ -10,6 +10,6 @@ class IkeScan(AutotoolsPackage):
"""Discover and fingerprint IKE hosts (IPsec VPN Servers)."""
homepage = "https://github.com/royhills/ike-scan"
- url = "https://github.com/royhills/ike-scan/releases/download/1.9/ike-scan-1.9.tar.gz"
+ url = "https://github.com/royhills/ike-scan/releases/download/1.9/ike-scan-1.9.tar.gz"
- version('1.9', sha256='05d15c7172034935d1e46b01dacf1101a293ae0d06c0e14025a4507656f1a7b6')
+ version("1.9", sha256="05d15c7172034935d1e46b01dacf1101a293ae0d06c0e14025a4507656f1a7b6")
diff --git a/var/spack/repos/builtin/packages/ilmbase/package.py b/var/spack/repos/builtin/packages/ilmbase/package.py
index 1fde411d74..d419c499d4 100644
--- a/var/spack/repos/builtin/packages/ilmbase/package.py
+++ b/var/spack/repos/builtin/packages/ilmbase/package.py
@@ -10,15 +10,27 @@ class Ilmbase(AutotoolsPackage):
"""OpenEXR ILM Base libraries (high dynamic-range image file format)"""
homepage = "https://www.openexr.com/"
- url = "https://github.com/openexr/openexr/releases/download/v2.3.0/ilmbase-2.3.0.tar.gz"
+ url = "https://github.com/openexr/openexr/releases/download/v2.3.0/ilmbase-2.3.0.tar.gz"
- version('2.3.0', sha256='456978d1a978a5f823c7c675f3f36b0ae14dba36638aeaa3c4b0e784f12a3862')
+ version("2.3.0", sha256="456978d1a978a5f823c7c675f3f36b0ae14dba36638aeaa3c4b0e784f12a3862")
- version('2.2.0', sha256='ecf815b60695555c1fbc73679e84c7c9902f4e8faa6e8000d2f905b8b86cedc7',
- url='http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.2.0.tar.gz')
- version('2.0.1', sha256='19b03975fea4461f2eff91f5df138b301b3ea9709eccbda98447f372bf09735f',
- url='http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.0.1.tar.gz')
- version('1.0.2', sha256='2e5cda799ffdfca9b1a16bb120d49c74a39af1457ef22f968918c6200ba62e44',
- url='http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.2.tar.gz')
- version('0.9.0', sha256='c134e47206d0e22ff0be96fa95391a13b635b6ad42668673e293f835fbd176b1',
- url='http://download.savannah.nongnu.org/releases/openexr/ilmbase-0.9.0.tar.gz')
+ version(
+ "2.2.0",
+ sha256="ecf815b60695555c1fbc73679e84c7c9902f4e8faa6e8000d2f905b8b86cedc7",
+ url="http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.2.0.tar.gz",
+ )
+ version(
+ "2.0.1",
+ sha256="19b03975fea4461f2eff91f5df138b301b3ea9709eccbda98447f372bf09735f",
+ url="http://download.savannah.nongnu.org/releases/openexr/ilmbase-2.0.1.tar.gz",
+ )
+ version(
+ "1.0.2",
+ sha256="2e5cda799ffdfca9b1a16bb120d49c74a39af1457ef22f968918c6200ba62e44",
+ url="http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.2.tar.gz",
+ )
+ version(
+ "0.9.0",
+ sha256="c134e47206d0e22ff0be96fa95391a13b635b6ad42668673e293f835fbd176b1",
+ url="http://download.savannah.nongnu.org/releases/openexr/ilmbase-0.9.0.tar.gz",
+ )
diff --git a/var/spack/repos/builtin/packages/ima-evm-utils/package.py b/var/spack/repos/builtin/packages/ima-evm-utils/package.py
index c20f56124a..a1661deef5 100644
--- a/var/spack/repos/builtin/packages/ima-evm-utils/package.py
+++ b/var/spack/repos/builtin/packages/ima-evm-utils/package.py
@@ -10,14 +10,16 @@ class ImaEvmUtils(AutotoolsPackage):
"""IMA/EVM control utilities."""
homepage = "https://linux-ima.sourceforge.net"
- url = "https://sourceforge.net/projects/linux-ima/files/ima-evm-utils/ima-evm-utils-1.3.2.tar.gz"
+ url = (
+ "https://sourceforge.net/projects/linux-ima/files/ima-evm-utils/ima-evm-utils-1.3.2.tar.gz"
+ )
- version('1.3.2', sha256='c2b206e7f9fbe62a938b7ae59e31906fefae4d5351fe01db739bd8346b75d4a7')
- version('1.3.1', sha256='5304271f31a3601a2af5984942d9bd6c7532597c5a97250c9a4524074fc39925')
- version('1.3', sha256='62e90e8dc6b131a4f34a356114cdcb5bef844f110abbdd5d8b53c449aecc609f')
- version('1.2.1', sha256='ad8471b58c4df29abd51c80d74b1501cfe3289b60d32d1b318618a8fd26c0c0a')
+ version("1.3.2", sha256="c2b206e7f9fbe62a938b7ae59e31906fefae4d5351fe01db739bd8346b75d4a7")
+ version("1.3.1", sha256="5304271f31a3601a2af5984942d9bd6c7532597c5a97250c9a4524074fc39925")
+ version("1.3", sha256="62e90e8dc6b131a4f34a356114cdcb5bef844f110abbdd5d8b53c449aecc609f")
+ version("1.2.1", sha256="ad8471b58c4df29abd51c80d74b1501cfe3289b60d32d1b318618a8fd26c0c0a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/imagemagick/package.py b/var/spack/repos/builtin/packages/imagemagick/package.py
index 51ef216441..1ea57d0348 100644
--- a/var/spack/repos/builtin/packages/imagemagick/package.py
+++ b/var/spack/repos/builtin/packages/imagemagick/package.py
@@ -13,31 +13,29 @@ class Imagemagick(AutotoolsPackage):
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')
- version('7.0.5-9', sha256='b85b269e0ed1628e88e840053823f8a33c314b2271f04762f43d33e9d0b4d264')
- version('7.0.2-7', sha256='f2f18a97f861c1668befdaff0cc3aaafb2111847aab028a88b4c2cb017acfbaa')
- version('7.0.2-6', sha256='7d49ca8030f895c683cae69c52d8edfc4876de651f5b8bfdbea907e222480bd3')
-
- depends_on('jpeg')
- depends_on('pango')
- depends_on('libtool', type='build')
- depends_on('libtool', when='@7.0.8:', type=('build', 'link'))
- depends_on('libpng')
- depends_on('freetype')
- depends_on('fontconfig')
- depends_on('libtiff')
- depends_on('ghostscript')
- depends_on('ghostscript-fonts')
- depends_on('libsm')
- depends_on('pkgconfig', type='build')
+ version("7.0.8-7", sha256="fadb36b59f310e9eee5249ecb2326b323a64da6cc716dd6d08ece8ea2c780b81")
+ version("7.0.5-9", sha256="b85b269e0ed1628e88e840053823f8a33c314b2271f04762f43d33e9d0b4d264")
+ version("7.0.2-7", sha256="f2f18a97f861c1668befdaff0cc3aaafb2111847aab028a88b4c2cb017acfbaa")
+ version("7.0.2-6", sha256="7d49ca8030f895c683cae69c52d8edfc4876de651f5b8bfdbea907e222480bd3")
+
+ depends_on("jpeg")
+ depends_on("pango")
+ depends_on("libtool", type="build")
+ depends_on("libtool", when="@7.0.8:", type=("build", "link"))
+ depends_on("libpng")
+ depends_on("freetype")
+ depends_on("fontconfig")
+ depends_on("libtiff")
+ depends_on("ghostscript")
+ depends_on("ghostscript-fonts")
+ depends_on("libsm")
+ depends_on("pkgconfig", type="build")
def configure_args(self):
spec = self.spec
- gs_font_dir = join_path(spec['ghostscript-fonts'].prefix.share, "font")
- return [
- '--with-gs-font-dir={0}'.format(gs_font_dir)
- ]
+ gs_font_dir = join_path(spec["ghostscript-fonts"].prefix.share, "font")
+ return ["--with-gs-font-dir={0}".format(gs_font_dir)]
@property
def libs(self):
- return find_libraries('libMagick*', root=self.prefix, recursive=True)
+ return find_libraries("libMagick*", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/imake/package.py b/var/spack/repos/builtin/packages/imake/package.py
index bd00dc90a6..40a5eee9be 100644
--- a/var/spack/repos/builtin/packages/imake/package.py
+++ b/var/spack/repos/builtin/packages/imake/package.py
@@ -12,14 +12,14 @@ class Imake(AutotoolsPackage, XorgPackage):
homepage = "http://www.snake.net/software/imake-stuff/"
xorg_mirror_path = "util/imake-1.0.7.tar.gz"
- version('1.0.7', sha256='6bda266a07eb33445d513f1e3c82a61e4822ccb94d420643d58e1be5f881e5cb')
+ version("1.0.7", sha256="6bda266a07eb33445d513f1e3c82a61e4822ccb94d420643d58e1be5f881e5cb")
- depends_on('xproto')
- depends_on('xorg-cf-files', type='run')
- depends_on('pkgconfig', type='build')
+ depends_on("xproto")
+ depends_on("xorg-cf-files", type="run")
+ depends_on("pkgconfig", type="build")
def configure_args(self):
args = []
- cfgdir = self.spec['xorg-cf-files'].prefix.lib.X11.config
- args.append('--with-config-dir={0}'.format(cfgdir))
+ cfgdir = self.spec["xorg-cf-files"].prefix.lib.X11.config
+ args.append("--with-config-dir={0}".format(cfgdir))
return args
diff --git a/var/spack/repos/builtin/packages/imath/package.py b/var/spack/repos/builtin/packages/imath/package.py
index ec447519b4..465f81e6d1 100644
--- a/var/spack/repos/builtin/packages/imath/package.py
+++ b/var/spack/repos/builtin/packages/imath/package.py
@@ -13,8 +13,8 @@ class Imath(CMakePackage):
16-bit floating-point type."""
homepage = "https://github.com/AcademySoftwareFoundation/Imath"
- url = "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.5.tar.gz"
+ url = "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.5.tar.gz"
- version('3.1.5', sha256='1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb')
+ version("3.1.5", sha256="1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb")
- depends_on('cmake@3.12:', type='build')
+ depends_on("cmake@3.12:", type="build")
diff --git a/var/spack/repos/builtin/packages/imgui/package.py b/var/spack/repos/builtin/packages/imgui/package.py
index efbc80c5d5..3fbe258fc6 100644
--- a/var/spack/repos/builtin/packages/imgui/package.py
+++ b/var/spack/repos/builtin/packages/imgui/package.py
@@ -14,11 +14,11 @@ class Imgui(Package):
(no external dependencies)."""
homepage = "https://github.com/ocornut/imgui"
- url = "https://github.com/ocornut/imgui/archive/refs/tags/v1.85.tar.gz"
+ url = "https://github.com/ocornut/imgui/archive/refs/tags/v1.85.tar.gz"
- version('1.85', sha256='7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77')
+ version("1.85", sha256="7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77")
def install(self, spec, prefix):
# No specific build process is required.
# You can add the .cpp files to your existing project.
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/imlib2/package.py b/var/spack/repos/builtin/packages/imlib2/package.py
index 8115caaee1..849e9f01c8 100644
--- a/var/spack/repos/builtin/packages/imlib2/package.py
+++ b/var/spack/repos/builtin/packages/imlib2/package.py
@@ -14,20 +14,20 @@ class Imlib2(AutotoolsPackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/enlightenment/"
sourceforge_mirror_path = "enlightenment/imlib2-1.5.1.tar.bz2"
- maintainers = ['TheQueasle']
+ 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')
+ 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")
- depends_on('libtiff')
- depends_on('giflib')
- depends_on('bzip2')
- depends_on('freetype')
- depends_on('libxext')
- depends_on('libpng')
- depends_on('libid3tag')
- depends_on('libjpeg-turbo')
- depends_on('pkgconfig', type='build')
+ depends_on("libtiff")
+ depends_on("giflib")
+ depends_on("bzip2")
+ depends_on("freetype")
+ depends_on("libxext")
+ depends_on("libpng")
+ depends_on("libid3tag")
+ depends_on("libjpeg-turbo")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/imp/package.py b/var/spack/repos/builtin/packages/imp/package.py
index 36dd37ad8f..1e98527577 100644
--- a/var/spack/repos/builtin/packages/imp/package.py
+++ b/var/spack/repos/builtin/packages/imp/package.py
@@ -11,17 +11,17 @@ class Imp(CMakePackage):
"""IMP, the Integrative Modeling Platform."""
homepage = "https://integrativemodeling.org"
- url = "https://github.com/salilab/imp/archive/2.8.0.tar.gz"
+ url = "https://github.com/salilab/imp/archive/2.8.0.tar.gz"
- version('2.8.0', sha256='0b46b8988febd7cdfc5838849007f9a547493ed4b6c752fe54571467eeb1acd2')
+ version("2.8.0", sha256="0b46b8988febd7cdfc5838849007f9a547493ed4b6c752fe54571467eeb1acd2")
- depends_on('python@2.7:')
- depends_on('swig')
- depends_on('boost@1.40:')
+ depends_on("python@2.7:")
+ depends_on("swig")
+ depends_on("boost@1.40:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('hdf5')
- depends_on('eigen')
+ depends_on("hdf5")
+ depends_on("eigen")
diff --git a/var/spack/repos/builtin/packages/impalajit-llvm/package.py b/var/spack/repos/builtin/packages/impalajit-llvm/package.py
index da3591eff7..a5fe5f6812 100644
--- a/var/spack/repos/builtin/packages/impalajit-llvm/package.py
+++ b/var/spack/repos/builtin/packages/impalajit-llvm/package.py
@@ -16,17 +16,17 @@ class ImpalajitLlvm(CMakePackage):
homepage = "https://github.com/ravil-mobile/ImpalaJIT"
git = "https://github.com/ravil-mobile/ImpalaJIT"
- maintainers = ['ravil-mobile']
+ maintainers = ["ravil-mobile"]
- version('develop', branch='master')
- version('1.0.0', tag='v1.0.0')
+ version("develop", branch="master")
+ version("1.0.0", tag="v1.0.0")
- variant('shared', default=True, description='build as a shared library')
+ variant("shared", default=True, description="build as a shared library")
- depends_on('llvm@10.0.0:11.1.0')
- depends_on('z3')
+ depends_on("llvm@10.0.0:11.1.0")
+ depends_on("z3")
def cmake_args(self):
args = []
- args.append(self.define_from_variant('SHARED_LIB', 'shared'))
+ args.append(self.define_from_variant("SHARED_LIB", "shared"))
return args
diff --git a/var/spack/repos/builtin/packages/improved-rdock/package.py b/var/spack/repos/builtin/packages/improved-rdock/package.py
index a32cd3ed2e..3b837c338c 100644
--- a/var/spack/repos/builtin/packages/improved-rdock/package.py
+++ b/var/spack/repos/builtin/packages/improved-rdock/package.py
@@ -19,63 +19,73 @@ class ImprovedRdock(MakefilePackage):
homepage = "https://github.com/clinfo/improved_rDock"
git = "https://github.com/clinfo/improved_rDock.git"
- version('main', branch='main')
-
- depends_on('popt')
- depends_on('cppunit')
- depends_on('openbabel @3.0.0: +python', type='run')
- depends_on('py-numpy', type='run')
- depends_on('mpi')
-
- patch('rdock_ld.patch')
- patch('rdock_python3.patch', when='^python@3:')
- patch('rdock_newcxx.patch')
- patch('rdock_useint.patch')
- patch('rdock_erase.patch')
- patch('rdock_loop.patch', when='target=aarch64:')
- patch('rdock_const.patch', when='%fj')
- patch('rdock_const2.patch', when='%fj')
+ version("main", branch="main")
+
+ depends_on("popt")
+ depends_on("cppunit")
+ depends_on("openbabel @3.0.0: +python", type="run")
+ depends_on("py-numpy", type="run")
+ depends_on("mpi")
+
+ patch("rdock_ld.patch")
+ patch("rdock_python3.patch", when="^python@3:")
+ patch("rdock_newcxx.patch")
+ patch("rdock_useint.patch")
+ patch("rdock_erase.patch")
+ patch("rdock_loop.patch", when="target=aarch64:")
+ patch("rdock_const.patch", when="%fj")
+ patch("rdock_const2.patch", when="%fj")
def edit(self, spec, prefix):
# compiler path
- tm = FileFilter(join_path('build', 'tmakelib', 'linux-g++-64',
- 'tmake.conf'))
- tm.filter('/usr/bin/gcc', spack_cc)
- tm.filter('mpicxx', self.spec['mpi'].mpicxx)
+ tm = FileFilter(join_path("build", "tmakelib", "linux-g++-64", "tmake.conf"))
+ tm.filter("/usr/bin/gcc", spack_cc)
+ tm.filter("mpicxx", self.spec["mpi"].mpicxx)
# compiler option
- if self.spec.target.family == 'aarch64':
- tm.filter('-m64', '')
- if not self.spec.satisfies('%gcc'):
- tm.filter('-pipe', '')
+ if self.spec.target.family == "aarch64":
+ tm.filter("-m64", "")
+ if not self.spec.satisfies("%gcc"):
+ tm.filter("-pipe", "")
def build(self, spec, prefix):
with working_dir("build"):
- make('linux-g++-64')
+ make("linux-g++-64")
def install(self, spec, prefix):
- for shfile in find('bin', '*'):
+ for shfile in find("bin", "*"):
set_executable(shfile)
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.set('RBT_ROOT', self.prefix)
+ env.set("RBT_ROOT", self.prefix)
def test(self):
- copy(join_path(self.prefix.example, '1sj0', '*'), '.')
- opts = ['-r', '1sj0_rdock.prm', '-was']
- self.run_test('rbcavity', options=opts)
-
- mpiexe = self.spec['mpi'].prefix.bin.mpirun
- opts = [self.prefix.bin.rbdock, '-r', '1sj0_rdock.prm',
- '-p', 'dock.prm', '-n', '100', '-i', '1sj0_ligand.sd',
- '-o', '1sj0_docking_out', '-s', '1']
+ copy(join_path(self.prefix.example, "1sj0", "*"), ".")
+ opts = ["-r", "1sj0_rdock.prm", "-was"]
+ self.run_test("rbcavity", options=opts)
+
+ mpiexe = self.spec["mpi"].prefix.bin.mpirun
+ opts = [
+ self.prefix.bin.rbdock,
+ "-r",
+ "1sj0_rdock.prm",
+ "-p",
+ "dock.prm",
+ "-n",
+ "100",
+ "-i",
+ "1sj0_ligand.sd",
+ "-o",
+ "1sj0_docking_out",
+ "-s",
+ "1",
+ ]
self.run_test(str(mpiexe), options=opts)
- opts = [join_path(self.test_suite.current_test_data_dir, 'test.sh')]
- self.run_test('bash', options=opts)
+ opts = [join_path(self.test_suite.current_test_data_dir, "test.sh")]
+ self.run_test("bash", options=opts)
- pythonexe = self.spec['python'].command.path
- opts = [self.spec.prefix.bin.sdrmsd,
- '1sj0_ligand.sd', '1sj0_docking_out_sorted.sd']
- expected = ['1\t0.55', '100\t7.91']
+ pythonexe = self.spec["python"].command.path
+ opts = [self.spec.prefix.bin.sdrmsd, "1sj0_ligand.sd", "1sj0_docking_out_sorted.sd"]
+ expected = ["1\t0.55", "100\t7.91"]
self.run_test(pythonexe, options=opts, expected=expected)
diff --git a/var/spack/repos/builtin/packages/impute2/package.py b/var/spack/repos/builtin/packages/impute2/package.py
index 816fbd8b3e..a26e2d3a04 100644
--- a/var/spack/repos/builtin/packages/impute2/package.py
+++ b/var/spack/repos/builtin/packages/impute2/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Impute2(Package):
"""IMPUTE2 is a genotype imputation and haplotype phasing program based on
- ideas from Howie et al. 2009."""
+ ideas from Howie et al. 2009."""
homepage = "https://mathgen.stats.ox.ac.uk/impute/impute_v2.html#home"
- url = "https://mathgen.stats.ox.ac.uk/impute/impute_v2.3.2_x86_64_dynamic.tgz"
+ url = "https://mathgen.stats.ox.ac.uk/impute/impute_v2.3.2_x86_64_dynamic.tgz"
- version('2.3.2', sha256='da4f64ec75aa2787b8f234e5a7ac4503d464e55ef436a9cd3f4867a10f0c2867')
+ version("2.3.2", sha256="da4f64ec75aa2787b8f234e5a7ac4503d464e55ef436a9cd3f4867a10f0c2867")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('impute2', prefix.bin)
+ install("impute2", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/infernal/package.py b/var/spack/repos/builtin/packages/infernal/package.py
index 273f8e1132..da63fe7c1c 100644
--- a/var/spack/repos/builtin/packages/infernal/package.py
+++ b/var/spack/repos/builtin/packages/infernal/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Infernal(AutotoolsPackage):
"""Infernal (INFERence of RNA ALignment) is for searching DNA sequence
- databases for RNA structure and sequence similarities. It is an
- implementation of a special case of profile stochastic context-free
- grammars called covariance models (CMs)."""
+ databases for RNA structure and sequence similarities. It is an
+ implementation of a special case of profile stochastic context-free
+ grammars called covariance models (CMs)."""
homepage = "http://eddylab.org/infernal/"
- url = "http://eddylab.org/infernal/infernal-1.1.2.tar.gz"
+ url = "http://eddylab.org/infernal/infernal-1.1.2.tar.gz"
- version('1.1.2', sha256='ac8c24f484205cfb7124c38d6dc638a28f2b9035b9433efec5dc753c7e84226b')
+ version("1.1.2", sha256="ac8c24f484205cfb7124c38d6dc638a28f2b9035b9433efec5dc753c7e84226b")
- variant('mpi', default=False, description='Enable MPI parallel support')
+ variant("mpi", default=False, description="Enable MPI parallel support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def configure_args(self):
args = []
- if '+mpi' in self.spec:
- args.append('--enable-mpi')
+ if "+mpi" in self.spec:
+ args.append("--enable-mpi")
else:
- args.append('--disable-mpi')
+ args.append("--disable-mpi")
return args
diff --git a/var/spack/repos/builtin/packages/influxdb/package.py b/var/spack/repos/builtin/packages/influxdb/package.py
index 39294d71f5..06a81741a2 100644
--- a/var/spack/repos/builtin/packages/influxdb/package.py
+++ b/var/spack/repos/builtin/packages/influxdb/package.py
@@ -8,12 +8,26 @@ import platform
from spack.package import *
_versions = {
- '1.8.1': {
- 'Linux_amd64': ('64e60e438ac8a8fdacc6623f238c40bffae31c795642146d70eb316533d3d70f', 'https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1-static_linux_amd64.tar.gz'),
- 'Linux_aarch64': ('fd5d7c962827ab1ccae27f6504595fdcd30c20d505b8e07d8573e274824e1366', 'https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1_linux_arm64.tar.gz')},
- '1.8.0': {
- 'Linux_amd64': ('aedc5083ae2e61ef374dbde5044ec2a5b27300e73eb92ccd135e6ff9844617e2', 'https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0-static_linux_amd64.tar.gz'),
- 'Linux_aarch64': ('e76c36c10e46c2fd17820156b290dd776a465da0298496af5d490e555504b079', 'https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_arm64.tar.gz')},
+ "1.8.1": {
+ "Linux_amd64": (
+ "64e60e438ac8a8fdacc6623f238c40bffae31c795642146d70eb316533d3d70f",
+ "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1-static_linux_amd64.tar.gz",
+ ),
+ "Linux_aarch64": (
+ "fd5d7c962827ab1ccae27f6504595fdcd30c20d505b8e07d8573e274824e1366",
+ "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1_linux_arm64.tar.gz",
+ ),
+ },
+ "1.8.0": {
+ "Linux_amd64": (
+ "aedc5083ae2e61ef374dbde5044ec2a5b27300e73eb92ccd135e6ff9844617e2",
+ "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0-static_linux_amd64.tar.gz",
+ ),
+ "Linux_aarch64": (
+ "e76c36c10e46c2fd17820156b290dd776a465da0298496af5d490e555504b079",
+ "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_arm64.tar.gz",
+ ),
+ },
}
@@ -21,7 +35,7 @@ class Influxdb(Package):
"""InfluxDB is an open source time series platform."""
homepage = "https://influxdata.com/"
- url = "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1-static_linux_amd64.tar.gz"
+ url = "https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1-static_linux_amd64.tar.gz"
for ver, packages in _versions.items():
key = "{0}_{1}".format(platform.system(), platform.machine())
@@ -30,9 +44,9 @@ class Influxdb(Package):
version(ver, sha256=pkg[0], url=pkg[1])
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.usr.bin)
+ env.prepend_path("PATH", self.prefix.usr.bin)
def install(self, spec, prefix):
- install_tree('usr', prefix)
- install_tree('etc', prefix.etc)
- install_tree('var', prefix.var)
+ install_tree("usr", prefix)
+ install_tree("etc", prefix.etc)
+ install_tree("var", prefix.var)
diff --git a/var/spack/repos/builtin/packages/iniparser/package.py b/var/spack/repos/builtin/packages/iniparser/package.py
index dbfc17827b..ef51377d50 100644
--- a/var/spack/repos/builtin/packages/iniparser/package.py
+++ b/var/spack/repos/builtin/packages/iniparser/package.py
@@ -11,15 +11,15 @@ class Iniparser(MakefilePackage):
"""This modules offers parsing of ini files from the C level."""
homepage = "http://ndevilla.free.fr/iniparser/"
- url = "https://github.com/ndevilla/iniparser/archive/v4.1.tar.gz"
+ url = "https://github.com/ndevilla/iniparser/archive/v4.1.tar.gz"
- version('4.1', sha256='960daa800dd31d70ba1bacf3ea2d22e8ddfc2906534bf328319495966443f3ae')
- version('4.0', sha256='e0bbd664bb3f0d64c21ac2d67a843b1c7a3a9710e96393344d170ab8b33e92ba')
- version('3.2', sha256='4a60b8e29d33d24b458749404e1ff2bcbfedd53ad800757daeed7955599fdce4')
- version('3.1', sha256='73b88632dc16c2839f5d9ac7e6ec7a41415a68e590f75d0580b302af4a5d821d')
+ version("4.1", sha256="960daa800dd31d70ba1bacf3ea2d22e8ddfc2906534bf328319495966443f3ae")
+ version("4.0", sha256="e0bbd664bb3f0d64c21ac2d67a843b1c7a3a9710e96393344d170ab8b33e92ba")
+ version("3.2", sha256="4a60b8e29d33d24b458749404e1ff2bcbfedd53ad800757daeed7955599fdce4")
+ version("3.1", sha256="73b88632dc16c2839f5d9ac7e6ec7a41415a68e590f75d0580b302af4a5d821d")
def install(self, spec, prefix):
mkdirp(prefix.include)
mkdirp(prefix.lib)
- install('src/*.h', prefix.include)
- install('libiniparser.*', prefix.lib)
+ install("src/*.h", prefix.include)
+ install("libiniparser.*", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/inputproto/package.py b/var/spack/repos/builtin/packages/inputproto/package.py
index 5e5cb2f80a..e2edb82ae9 100644
--- a/var/spack/repos/builtin/packages/inputproto/package.py
+++ b/var/spack/repos/builtin/packages/inputproto/package.py
@@ -15,7 +15,7 @@ class Inputproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/inputproto"
xorg_mirror_path = "proto/inputproto-2.3.2.tar.gz"
- version('2.3.2', sha256='10eaadd531f38f7c92ab59ef0708ca195caf3164a75c4ed99f0c04f2913f6ef3')
+ version("2.3.2", sha256="10eaadd531f38f7c92ab59ef0708ca195caf3164a75c4ed99f0c04f2913f6ef3")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py
index 9f4fe05684..514522fb3a 100644
--- a/var/spack/repos/builtin/packages/intel-daal/package.py
+++ b/var/spack/repos/builtin/packages/intel-daal/package.py
@@ -9,53 +9,113 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelDaal(IntelPackage):
"""Intel Data Analytics Acceleration Library. This package has been
- replace by intel-oneapi-dal.
+ replace by intel-oneapi-dal.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/en-us/daal"
- version('2020.2.254', sha256='08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16822/l_daal_2020.2.254.tgz')
- version('2020.1.217', sha256='3f84dea0ce1038ac1b9c25b3e2c02e9fac440fa36cc8adfce69edfc06fe0edda',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16536/l_daal_2020.1.217.tgz')
- version('2020.0.166', sha256='695166c9ab32ac5d3006d6d35162db3c98734210507144e315ed7c3b7dbca9c1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16234/l_daal_2020.0.166.tgz')
- version('2019.5.281', sha256='e92aaedbe35c9daf1c9483260cb2363da8a85fa1aa5566eb38cf4b1f410bc368',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15818/l_daal_2019.5.281.tgz')
- version('2019.4.243', sha256='c74486a555ca5636c2ac1b060d5424726c022468f3ee0898bb46e333cda6f7b8',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15552/l_daal_2019.4.243.tgz')
- version('2019.3.199', sha256='1f7d9cdecc1091b03f1ee6303fc7566179d1e3f1813a98ef7a6239f7d456b8ef',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15277/l_daal_2019.3.199.tgz')
- version('2019.2.187', sha256='2982886347e9376e892a5c4e22fa1d4b7b843e1ae988a107dd2d0a639f257765',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15097/l_daal_2019.2.187.tgz')
- version('2019.1.144', sha256='1672afac568c93e185283cf7e044d511381092ebc95d7204c4dccb83cc493197',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14869/l_daal_2019.1.144.tgz')
- version('2019.0.117', sha256='85ac8e983bc9b9cc635e87cb4ec775ffd3695e44275d20fdaf53c19ed280d69f',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13577/l_daal_2019.0.117.tgz')
- version('2018.3.222', sha256='378fec529a36508dd97529037e1164ff98e0e062a9a47ede99ccf9e91493d1e2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13007/l_daal_2018.3.222.tgz')
- version('2018.2.199', sha256='cee30299b3ffaea515f5a9609f4df0f644579c8a1ba2b61747b390f6caf85b14',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12727/l_daal_2018.2.199.tgz')
- version('2018.1.163', sha256='ac96b5a6c137cda18817d9b3505975863f8f53347225ebb6ccdaaf4bdb8dc349',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_daal_2018.1.163.tgz')
- version('2018.0.128', sha256='d13a7cd1b6779971f2ba46797447de9409c98a4d2f0eb0dc9622d9d63ac8990f',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12072/l_daal_2018.0.128.tgz')
- version('2017.4.239', sha256='cc4b608f59f3b2fafee16389102a763d27c46f6d136a6cfa89847418a8ea7460',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12148/l_daal_2017.4.239.tgz')
- version('2017.3.196', sha256='cfa863f342dd1c5fe8f1c7b6fd69589140370fc92742a19d82c8594e4e1e46ce',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11546/l_daal_2017.3.196.tgz')
- version('2017.2.174', sha256='5ee838b08d4cda7fc3e006e1deeed41671cbd7cfd11b64ec3b762c94dfc2b660',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11308/l_daal_2017.2.174.tgz')
- version('2017.1.132', sha256='6281105d3947fc2860e67401ea0218198cc4753fd2d4b513528a89143248e4f3',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10983/l_daal_2017.1.132.tgz')
- version('2017.0.098', sha256='a7064425653b4f5f0fe51e25358d267d8ae023179eece61e08da891b67d79fe5',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9664/l_daal_2017.0.098.tgz')
- version('2016.3.210', sha256='367eaef21ea0143c11ae3fd56cd2a05315768c059e14caa15894bcf96853687c',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9099/l_daal_2016.3.210.tgz')
- version('2016.2.181', sha256='afdb65768957784d28ac537b4933a86eb4193c68a636157caed17b29ccdbfacb',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8687/l_daal_2016.2.181.tgz')
-
- provides('daal')
+ version(
+ "2020.2.254",
+ sha256="08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16822/l_daal_2020.2.254.tgz",
+ )
+ version(
+ "2020.1.217",
+ sha256="3f84dea0ce1038ac1b9c25b3e2c02e9fac440fa36cc8adfce69edfc06fe0edda",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16536/l_daal_2020.1.217.tgz",
+ )
+ version(
+ "2020.0.166",
+ sha256="695166c9ab32ac5d3006d6d35162db3c98734210507144e315ed7c3b7dbca9c1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16234/l_daal_2020.0.166.tgz",
+ )
+ version(
+ "2019.5.281",
+ sha256="e92aaedbe35c9daf1c9483260cb2363da8a85fa1aa5566eb38cf4b1f410bc368",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15818/l_daal_2019.5.281.tgz",
+ )
+ version(
+ "2019.4.243",
+ sha256="c74486a555ca5636c2ac1b060d5424726c022468f3ee0898bb46e333cda6f7b8",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15552/l_daal_2019.4.243.tgz",
+ )
+ version(
+ "2019.3.199",
+ sha256="1f7d9cdecc1091b03f1ee6303fc7566179d1e3f1813a98ef7a6239f7d456b8ef",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15277/l_daal_2019.3.199.tgz",
+ )
+ version(
+ "2019.2.187",
+ sha256="2982886347e9376e892a5c4e22fa1d4b7b843e1ae988a107dd2d0a639f257765",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15097/l_daal_2019.2.187.tgz",
+ )
+ version(
+ "2019.1.144",
+ sha256="1672afac568c93e185283cf7e044d511381092ebc95d7204c4dccb83cc493197",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14869/l_daal_2019.1.144.tgz",
+ )
+ version(
+ "2019.0.117",
+ sha256="85ac8e983bc9b9cc635e87cb4ec775ffd3695e44275d20fdaf53c19ed280d69f",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13577/l_daal_2019.0.117.tgz",
+ )
+ version(
+ "2018.3.222",
+ sha256="378fec529a36508dd97529037e1164ff98e0e062a9a47ede99ccf9e91493d1e2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13007/l_daal_2018.3.222.tgz",
+ )
+ version(
+ "2018.2.199",
+ sha256="cee30299b3ffaea515f5a9609f4df0f644579c8a1ba2b61747b390f6caf85b14",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12727/l_daal_2018.2.199.tgz",
+ )
+ version(
+ "2018.1.163",
+ sha256="ac96b5a6c137cda18817d9b3505975863f8f53347225ebb6ccdaaf4bdb8dc349",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_daal_2018.1.163.tgz",
+ )
+ version(
+ "2018.0.128",
+ sha256="d13a7cd1b6779971f2ba46797447de9409c98a4d2f0eb0dc9622d9d63ac8990f",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12072/l_daal_2018.0.128.tgz",
+ )
+ version(
+ "2017.4.239",
+ sha256="cc4b608f59f3b2fafee16389102a763d27c46f6d136a6cfa89847418a8ea7460",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12148/l_daal_2017.4.239.tgz",
+ )
+ version(
+ "2017.3.196",
+ sha256="cfa863f342dd1c5fe8f1c7b6fd69589140370fc92742a19d82c8594e4e1e46ce",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11546/l_daal_2017.3.196.tgz",
+ )
+ version(
+ "2017.2.174",
+ sha256="5ee838b08d4cda7fc3e006e1deeed41671cbd7cfd11b64ec3b762c94dfc2b660",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11308/l_daal_2017.2.174.tgz",
+ )
+ version(
+ "2017.1.132",
+ sha256="6281105d3947fc2860e67401ea0218198cc4753fd2d4b513528a89143248e4f3",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10983/l_daal_2017.1.132.tgz",
+ )
+ version(
+ "2017.0.098",
+ sha256="a7064425653b4f5f0fe51e25358d267d8ae023179eece61e08da891b67d79fe5",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9664/l_daal_2017.0.098.tgz",
+ )
+ version(
+ "2016.3.210",
+ sha256="367eaef21ea0143c11ae3fd56cd2a05315768c059e14caa15894bcf96853687c",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9099/l_daal_2016.3.210.tgz",
+ )
+ version(
+ "2016.2.181",
+ sha256="afdb65768957784d28ac537b4933a86eb4193c68a636157caed17b29ccdbfacb",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8687/l_daal_2016.2.181.tgz",
+ )
+
+ provides("daal")
diff --git a/var/spack/repos/builtin/packages/intel-gpu-tools/package.py b/var/spack/repos/builtin/packages/intel-gpu-tools/package.py
index 42d17f2e34..2e23d0c37d 100644
--- a/var/spack/repos/builtin/packages/intel-gpu-tools/package.py
+++ b/var/spack/repos/builtin/packages/intel-gpu-tools/package.py
@@ -21,25 +21,25 @@ class IntelGpuTools(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/"
xorg_mirror_path = "app/intel-gpu-tools-1.16.tar.gz"
- version('1.20', sha256='c6ee992301e43ec14ef810ef532e2601ecf7399315f942207ae0dd568fd9c2b7')
- version('1.16', sha256='4874e6e7704c8d315deaf5b44cc9467ea5e502c7f816470a4a28827fcb34643f')
-
- depends_on('libdrm@2.4.64:')
- depends_on('libpciaccess@0.10:', when=(sys.platform != 'darwin'))
- depends_on('libunwind')
- depends_on('kmod')
- depends_on('cairo@1.12.0:')
- depends_on('glib')
-
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('python@3:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ version("1.20", sha256="c6ee992301e43ec14ef810ef532e2601ecf7399315f942207ae0dd568fd9c2b7")
+ version("1.16", sha256="4874e6e7704c8d315deaf5b44cc9467ea5e502c7f816470a4a28827fcb34643f")
+
+ depends_on("libdrm@2.4.64:")
+ depends_on("libpciaccess@0.10:", when=(sys.platform != "darwin"))
+ depends_on("libunwind")
+ depends_on("kmod")
+ depends_on("cairo@1.12.0:")
+ depends_on("glib")
+
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("python@3:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def configure_args(self):
- glib_include = join_path(self.spec['glib'].prefix.include, 'glib-2.0')
- return ['CPPFLAGS=-I{0}'.format(glib_include)]
+ glib_include = join_path(self.spec["glib"].prefix.include, "glib-2.0")
+ return ["CPPFLAGS=-I{0}".format(glib_include)]
# xrandr ?
diff --git a/var/spack/repos/builtin/packages/intel-gtpin/package.py b/var/spack/repos/builtin/packages/intel-gtpin/package.py
index bcd5bed0f4..9c33dbc3f8 100644
--- a/var/spack/repos/builtin/packages/intel-gtpin/package.py
+++ b/var/spack/repos/builtin/packages/intel-gtpin/package.py
@@ -34,28 +34,43 @@ class IntelGtpin(Package):
homepage = "https://www.intel.com/content/www/us/en/developer/articles/tool/gtpin.html"
url = "https://downloadmirror.intel.com/730598/external-release-gtpin-3.0-linux.tar.xz"
- maintainers = ['rashawnlk']
-
- version('3.0', sha256='8a8a238ab9937d85e4cc5a5c15a79cad0e4aa306b57e5d72dad3e09230a4cdab',
- url='https://downloadmirror.intel.com/730598/external-release-gtpin-3.0-linux.tar.xz')
-
- version('2.19', sha256='996cdfbcf7fbe736407d063e0ed1794e51bf31a72b50cf733a407af71118a304',
- url='https://downloadmirror.intel.com/686383/external-gtpin-2.19-linux.tar.xz')
-
- version('2.13', sha256='d715a55074147b73d51583bf684660b40f871e38e29af2bfc14dfe070fcbbada',
- url='https://downloadmirror.intel.com/682776/external-gtpin-2.13-linux.tar.bz2')
- version('2.12', sha256='432f1365bf4b3ff5847bb1059fb468ce6c7237ccd1489fbe8005f48e5a11e218',
- url='https://downloadmirror.intel.com/682777/external-gtpin-2.12-linux.tar.bz2')
- version('2.11.4', sha256='57f4d3aa67e8b7eb8a2456a4a770e60af770c599180cb2b6c3c8addd37311093',
- url='https://downloadmirror.intel.com/682779/external-gtpin-2.11.4-linux.tar.bz2')
-
- depends_on('patchelf', type='build')
+ maintainers = ["rashawnlk"]
+
+ version(
+ "3.0",
+ sha256="8a8a238ab9937d85e4cc5a5c15a79cad0e4aa306b57e5d72dad3e09230a4cdab",
+ url="https://downloadmirror.intel.com/730598/external-release-gtpin-3.0-linux.tar.xz",
+ )
+
+ version(
+ "2.19",
+ sha256="996cdfbcf7fbe736407d063e0ed1794e51bf31a72b50cf733a407af71118a304",
+ url="https://downloadmirror.intel.com/686383/external-gtpin-2.19-linux.tar.xz",
+ )
+
+ version(
+ "2.13",
+ sha256="d715a55074147b73d51583bf684660b40f871e38e29af2bfc14dfe070fcbbada",
+ url="https://downloadmirror.intel.com/682776/external-gtpin-2.13-linux.tar.bz2",
+ )
+ version(
+ "2.12",
+ sha256="432f1365bf4b3ff5847bb1059fb468ce6c7237ccd1489fbe8005f48e5a11e218",
+ url="https://downloadmirror.intel.com/682777/external-gtpin-2.12-linux.tar.bz2",
+ )
+ version(
+ "2.11.4",
+ sha256="57f4d3aa67e8b7eb8a2456a4a770e60af770c599180cb2b6c3c8addd37311093",
+ url="https://downloadmirror.intel.com/682779/external-gtpin-2.11.4-linux.tar.bz2",
+ )
+
+ depends_on("patchelf", type="build")
# Gtpin only runs on linux/cray x86_64.
- conflicts('platform=darwin', msg='intel-gtpin only runs on linux/cray')
- conflicts('target=ppc64:', msg='intel-gtpin only runs on x86_64')
- conflicts('target=ppc64le:', msg='intel-gtpin only runs on x86_64')
- conflicts('target=aarch64:', msg='intel-gtpin only runs on x86_64')
+ conflicts("platform=darwin", msg="intel-gtpin only runs on linux/cray")
+ conflicts("target=ppc64:", msg="intel-gtpin only runs on x86_64")
+ conflicts("target=ppc64le:", msg="intel-gtpin only runs on x86_64")
+ conflicts("target=aarch64:", msg="intel-gtpin only runs on x86_64")
# The gtbin tar file installs into Bin, Include, Lib directories.
@property
@@ -64,17 +79,18 @@ class IntelGtpin(Package):
@property
def headers(self):
- return find_headers('gtpin', self.prefix.Include)
+ return find_headers("gtpin", self.prefix.Include)
@property
def libs(self):
- return find_libraries('libgtpin', self.prefix.Lib, recursive=True)
+ return find_libraries("libgtpin", self.prefix.Lib, recursive=True)
# The gtpin binary uses libraries from its own Lib directory but
# doesn't set rpath.
def install(self, spec, prefix):
- patchelf = spec['patchelf'].command
- patchelf('--set-rpath', join_path('$ORIGIN', '..', 'Lib', 'intel64'),
- join_path('Bin', 'gtpin'))
+ patchelf = spec["patchelf"].command
+ patchelf(
+ "--set-rpath", join_path("$ORIGIN", "..", "Lib", "intel64"), join_path("Bin", "gtpin")
+ )
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/intel-ipp/package.py b/var/spack/repos/builtin/packages/intel-ipp/package.py
index 3552ec676b..972961f738 100644
--- a/var/spack/repos/builtin/packages/intel-ipp/package.py
+++ b/var/spack/repos/builtin/packages/intel-ipp/package.py
@@ -9,50 +9,104 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelIpp(IntelPackage):
"""Intel Integrated Performance Primitives. This package has been
- replaced by intel-oneapi-ipp.
+ replaced by intel-oneapi-ipp.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/en-us/intel-ipp"
- version('2020.2.254', sha256='18266ad1eec9b5b17e76da24f1aa9a9147300e5bd345e6bdad58d7187392fa77',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16846/l_ipp_2020.2.254.tgz')
- version('2020.1.217', sha256='0bf8ac7e635e7e602cf201063a1a7dea3779b093104563fdb15e6b7ecf2f00a7',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16534/l_ipp_2020.1.217.tgz')
- version('2020.0.166', sha256='6844007892ba524e828f245355cee44e8149f4c233abbbea16f7bb55a7d6ecff',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16233/l_ipp_2020.0.166.tgz')
- version('2019.5.281', sha256='61d1e1da1a4a50f1cf02a3ed44e87eed05e94d58b64ef1e67a3bdec363bee713',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15817/l_ipp_2019.5.281.tgz')
- version('2019.4.243', sha256='d4f4232323e66b010d8440c75189aeb6a3249966e05035242b21982238a7a7f2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15541/l_ipp_2019.4.243.tgz')
- version('2019.3.199', sha256='02545383206c1ae4dd66bfa6a38e2e14480ba11932eeed632df8ab798aa15ccd',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15276/l_ipp_2019.3.199.tgz')
- version('2019.2.187', sha256='280e9081278a0db3892fe82474c1201ec780a6f7c8d1f896494867f4b3bd8421',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15096/l_ipp_2019.2.187.tgz')
- version('2019.1.144', sha256='1eb7cd0fba74615aeafa4e314c645414497eb73f1705200c524fe78f00620db3',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14887/l_ipp_2019.1.144.tgz')
- version('2019.0.117', sha256='d552ba49fba58f0e94da2048176f21c5dfd490dca7c5ce666dfc2d18db7fd551',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13576/l_ipp_2019.0.117.tgz')
- version('2018.4.274', sha256='bdc6082c65410c98ccf6daf239e0a6625d15ec5e0ddc1c0563aad42b6ba9063c',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13726/l_ipp_2018.4.274.tgz')
- version('2018.3.222', sha256='bb783c5e6220e240f19136ae598cd1c1d647496495139ce680de58d3d5496934',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13006/l_ipp_2018.3.222.tgz')
- version('2018.2.199', sha256='55cb5c910b2c1e2bd798163fb5019b992b1259a0692e328bb9054778cf01562b',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12726/l_ipp_2018.2.199.tgz')
- version('2018.0.128', sha256='da568ceec1b7acbcc8f666b73d4092788b037b1b03c0436974b82155056ed166',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12071/l_ipp_2018.0.128.tgz')
- version('2017.3.196', sha256='50d49a1000a88a8a58bd610466e90ae28d07a70993a78cbbf85d44d27c4232b6',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11545/l_ipp_2017.3.196.tgz')
- version('2017.2.174', sha256='92f866c9dce8503d7e04223ec35f281cfeb0b81cf94208c3becb11aacfda7b99',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11307/l_ipp_2017.2.174.tgz')
- version('2017.1.132', sha256='2908bdeab3057d4ebcaa0b8ff5b00eb47425d35961a96f14780be68554d95376',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11031/l_ipp_2017.1.132.tgz')
- version('2017.0.098', sha256='7633d16e2578be64533892336c8a15c905139147b0f74eaf9f281358ad7cdcba',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9663/l_ipp_2017.0.098.tgz')
+ version(
+ "2020.2.254",
+ sha256="18266ad1eec9b5b17e76da24f1aa9a9147300e5bd345e6bdad58d7187392fa77",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16846/l_ipp_2020.2.254.tgz",
+ )
+ version(
+ "2020.1.217",
+ sha256="0bf8ac7e635e7e602cf201063a1a7dea3779b093104563fdb15e6b7ecf2f00a7",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16534/l_ipp_2020.1.217.tgz",
+ )
+ version(
+ "2020.0.166",
+ sha256="6844007892ba524e828f245355cee44e8149f4c233abbbea16f7bb55a7d6ecff",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16233/l_ipp_2020.0.166.tgz",
+ )
+ version(
+ "2019.5.281",
+ sha256="61d1e1da1a4a50f1cf02a3ed44e87eed05e94d58b64ef1e67a3bdec363bee713",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15817/l_ipp_2019.5.281.tgz",
+ )
+ version(
+ "2019.4.243",
+ sha256="d4f4232323e66b010d8440c75189aeb6a3249966e05035242b21982238a7a7f2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15541/l_ipp_2019.4.243.tgz",
+ )
+ version(
+ "2019.3.199",
+ sha256="02545383206c1ae4dd66bfa6a38e2e14480ba11932eeed632df8ab798aa15ccd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15276/l_ipp_2019.3.199.tgz",
+ )
+ version(
+ "2019.2.187",
+ sha256="280e9081278a0db3892fe82474c1201ec780a6f7c8d1f896494867f4b3bd8421",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15096/l_ipp_2019.2.187.tgz",
+ )
+ version(
+ "2019.1.144",
+ sha256="1eb7cd0fba74615aeafa4e314c645414497eb73f1705200c524fe78f00620db3",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14887/l_ipp_2019.1.144.tgz",
+ )
+ version(
+ "2019.0.117",
+ sha256="d552ba49fba58f0e94da2048176f21c5dfd490dca7c5ce666dfc2d18db7fd551",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13576/l_ipp_2019.0.117.tgz",
+ )
+ version(
+ "2018.4.274",
+ sha256="bdc6082c65410c98ccf6daf239e0a6625d15ec5e0ddc1c0563aad42b6ba9063c",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13726/l_ipp_2018.4.274.tgz",
+ )
+ version(
+ "2018.3.222",
+ sha256="bb783c5e6220e240f19136ae598cd1c1d647496495139ce680de58d3d5496934",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13006/l_ipp_2018.3.222.tgz",
+ )
+ version(
+ "2018.2.199",
+ sha256="55cb5c910b2c1e2bd798163fb5019b992b1259a0692e328bb9054778cf01562b",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12726/l_ipp_2018.2.199.tgz",
+ )
+ version(
+ "2018.0.128",
+ sha256="da568ceec1b7acbcc8f666b73d4092788b037b1b03c0436974b82155056ed166",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12071/l_ipp_2018.0.128.tgz",
+ )
+ version(
+ "2017.3.196",
+ sha256="50d49a1000a88a8a58bd610466e90ae28d07a70993a78cbbf85d44d27c4232b6",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11545/l_ipp_2017.3.196.tgz",
+ )
+ version(
+ "2017.2.174",
+ sha256="92f866c9dce8503d7e04223ec35f281cfeb0b81cf94208c3becb11aacfda7b99",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11307/l_ipp_2017.2.174.tgz",
+ )
+ version(
+ "2017.1.132",
+ sha256="2908bdeab3057d4ebcaa0b8ff5b00eb47425d35961a96f14780be68554d95376",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11031/l_ipp_2017.1.132.tgz",
+ )
+ version(
+ "2017.0.098",
+ sha256="7633d16e2578be64533892336c8a15c905139147b0f74eaf9f281358ad7cdcba",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9663/l_ipp_2017.0.098.tgz",
+ )
# built from parallel_studio_xe_2016.3.067
- version('9.0.3.210', sha256='8ce7bf17f4a0bbf8c441063de26be7f6e0f6179789e23f24eaa8b712632b3cdd',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9067/l_ipp_9.0.3.210.tgz')
+ version(
+ "9.0.3.210",
+ sha256="8ce7bf17f4a0bbf8c441063de26be7f6e0f6179789e23f24eaa8b712632b3cdd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9067/l_ipp_9.0.3.210.tgz",
+ )
- provides('ipp')
+ provides("ipp")
diff --git a/var/spack/repos/builtin/packages/intel-llvm/package.py b/var/spack/repos/builtin/packages/intel-llvm/package.py
index b28ee8a53d..a6811cb9be 100644
--- a/var/spack/repos/builtin/packages/intel-llvm/package.py
+++ b/var/spack/repos/builtin/packages/intel-llvm/package.py
@@ -7,46 +7,49 @@ from spack.package import *
class IntelLlvm(CMakePackage):
- """Intel's version of the LLVM compiler.
- """
+ """Intel's version of the LLVM compiler."""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- homepage = 'https://github.com/intel/llvm'
- git = 'https://github.com/intel/llvm.git'
+ homepage = "https://github.com/intel/llvm"
+ git = "https://github.com/intel/llvm.git"
- family = 'compiler'
+ family = "compiler"
- version('sycl', branch='sycl')
+ version("sycl", branch="sycl")
- depends_on('cmake@3.4.3:', type='build')
+ depends_on("cmake@3.4.3:", type="build")
# It doesn't seem possible to use != in a conflicts statement
# conflicts('target != x86_64',
# msg='Intel LLVM compiler currently only works for x86')
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', self.compiler.cxx11_flag)
+ env.append_flags("CXXFLAGS", self.compiler.cxx11_flag)
def setup_run_environment(self, env):
- if '+clang' in self.spec:
- env.set('CC', join_path(self.spec.prefix.bin, 'clang'))
- env.set('CXX', join_path(self.spec.prefix.bin, 'clang++'))
+ if "+clang" in self.spec:
+ env.set("CC", join_path(self.spec.prefix.bin, "clang"))
+ env.set("CXX", join_path(self.spec.prefix.bin, "clang++"))
- root_cmakelists_dir = 'llvm'
+ root_cmakelists_dir = "llvm"
def cmake_args(self):
cmake_args = []
- cmake_args.extend([
- '-DLLVM_TARGETS_TO_BUILD=X86',
- '-DLLVM_EXTERNAL_PROJECTS=llvm-spirv;sycl',
- '-DLLVM_ENABLE_PROJECTS=clang;llvm-spirv;sycl',
- '-DLLVM_EXTERNAL_SYCL_SOURCE_DIR={0}'.format(
- join_path(self.stage.source_path, 'sycl')),
- '-DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR={0}'.format(
- join_path(self.stage.source_path, 'llvm-spirv')),
- ])
+ cmake_args.extend(
+ [
+ "-DLLVM_TARGETS_TO_BUILD=X86",
+ "-DLLVM_EXTERNAL_PROJECTS=llvm-spirv;sycl",
+ "-DLLVM_ENABLE_PROJECTS=clang;llvm-spirv;sycl",
+ "-DLLVM_EXTERNAL_SYCL_SOURCE_DIR={0}".format(
+ join_path(self.stage.source_path, "sycl")
+ ),
+ "-DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR={0}".format(
+ join_path(self.stage.source_path, "llvm-spirv")
+ ),
+ ]
+ )
return cmake_args
diff --git a/var/spack/repos/builtin/packages/intel-mkl/package.py b/var/spack/repos/builtin/packages/intel-mkl/package.py
index 487a3e19ca..6967c8d672 100644
--- a/var/spack/repos/builtin/packages/intel-mkl/package.py
+++ b/var/spack/repos/builtin/packages/intel-mkl/package.py
@@ -11,82 +11,152 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelMkl(IntelPackage):
"""Intel Math Kernel Library. This package has been replaced by
- intel-oneapi-mkl.
+ intel-oneapi-mkl.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/en-us/intel-mkl"
- version('2020.4.304', sha256='2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/l_mkl_2020.4.304.tgz')
- version('2020.3.279', sha256='2b8e434ecc9462491130ba25a053927fd1a2eca05e12acb5936b08c486857a04',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16903/l_mkl_2020.3.279.tgz')
- version('2020.2.254', sha256='ed00a267af362a6c14212bd259ab1673d64337e077263033edeef8ac72c10223',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16849/l_mkl_2020.2.254.tgz')
- version('2020.1.217', sha256='082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/l_mkl_2020.1.217.tgz')
- version('2020.0.166', sha256='f6d92deb3ff10b11ba3df26b2c62bb4f0f7ae43e21905a91d553e58f0f5a8ae0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16232/l_mkl_2020.0.166.tgz')
- version('2019.5.281', sha256='9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/l_mkl_2019.5.281.tgz')
- version('2019.4.243', sha256='fcac7b0369665d93f0c4dd98afe2816aeba5410e2b760655fe55fc477f8f33d0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15540/l_mkl_2019.4.243.tgz')
- version('2019.3.199', sha256='06de2b54f4812e7c39a118536259c942029fe1d6d8918ad9df558a83c4162b8f',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15275/l_mkl_2019.3.199.tgz')
- version('2019.2.187', sha256='2bf004e6b5adb4f956993d6c20ea6ce289bb630314dd501db7f2dd5b9978ed1d',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15095/l_mkl_2019.2.187.tgz')
- version('2019.1.144', sha256='5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/l_mkl_2019.1.144.tgz')
- version('2019.0.117', sha256='4e1fe2c705cfc47050064c0d6c4dee1a8c6740ac1c4f64dde9c7511c4989c7ad',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/l_mkl_2019.0.117.tgz')
- version('2018.4.274', sha256='18eb3cde3e6a61a88f25afff25df762a560013f650aaf363f7d3d516a0d04881',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13725/l_mkl_2018.4.274.tgz')
- version('2018.3.222', sha256='108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/l_mkl_2018.3.222.tgz')
- version('2018.2.199', sha256='e28d12173bef9e615b0ded2f95f59a42b3e9ad0afa713a79f8801da2bfb31936',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12725/l_mkl_2018.2.199.tgz')
- version('2018.1.163', sha256='f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mkl_2018.1.163.tgz')
- version('2018.0.128', sha256='c368baa40ca88057292512534d7fad59fa24aef06da038ea0248e7cd1e280cec',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12070/l_mkl_2018.0.128.tgz')
- version('2017.4.239', sha256='dcac591ed1e95bd72357fd778edba215a7eab9c6993236373231cc16c200c92a',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12147/l_mkl_2017.4.239.tgz')
- version('2017.3.196', sha256='fd7295870fa164d6138c9818304f25f2bb263c814a6c6539c9fe4e104055f1ca',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11544/l_mkl_2017.3.196.tgz')
- version('2017.2.174', sha256='0b8a3fd6bc254c3c3d9d51acf047468c7f32bf0baff22aa1e064d16d9fea389f',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11306/l_mkl_2017.2.174.tgz')
- version('2017.1.132', sha256='8c6bbeac99326d59ef3afdc2a95308c317067efdaae50240d2f4a61f37622e69',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11024/l_mkl_2017.1.132.tgz')
- version('2017.0.098', sha256='f2233e8e011f461d9c15a853edf7ed0ae8849aa665a1ec765c1ff196fd70c4d9',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9662/l_mkl_2017.0.098.tgz')
+ version(
+ "2020.4.304",
+ sha256="2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/l_mkl_2020.4.304.tgz",
+ )
+ version(
+ "2020.3.279",
+ sha256="2b8e434ecc9462491130ba25a053927fd1a2eca05e12acb5936b08c486857a04",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16903/l_mkl_2020.3.279.tgz",
+ )
+ version(
+ "2020.2.254",
+ sha256="ed00a267af362a6c14212bd259ab1673d64337e077263033edeef8ac72c10223",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16849/l_mkl_2020.2.254.tgz",
+ )
+ version(
+ "2020.1.217",
+ sha256="082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/l_mkl_2020.1.217.tgz",
+ )
+ version(
+ "2020.0.166",
+ sha256="f6d92deb3ff10b11ba3df26b2c62bb4f0f7ae43e21905a91d553e58f0f5a8ae0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16232/l_mkl_2020.0.166.tgz",
+ )
+ version(
+ "2019.5.281",
+ sha256="9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/l_mkl_2019.5.281.tgz",
+ )
+ version(
+ "2019.4.243",
+ sha256="fcac7b0369665d93f0c4dd98afe2816aeba5410e2b760655fe55fc477f8f33d0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15540/l_mkl_2019.4.243.tgz",
+ )
+ version(
+ "2019.3.199",
+ sha256="06de2b54f4812e7c39a118536259c942029fe1d6d8918ad9df558a83c4162b8f",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15275/l_mkl_2019.3.199.tgz",
+ )
+ version(
+ "2019.2.187",
+ sha256="2bf004e6b5adb4f956993d6c20ea6ce289bb630314dd501db7f2dd5b9978ed1d",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15095/l_mkl_2019.2.187.tgz",
+ )
+ version(
+ "2019.1.144",
+ sha256="5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/l_mkl_2019.1.144.tgz",
+ )
+ version(
+ "2019.0.117",
+ sha256="4e1fe2c705cfc47050064c0d6c4dee1a8c6740ac1c4f64dde9c7511c4989c7ad",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/l_mkl_2019.0.117.tgz",
+ )
+ version(
+ "2018.4.274",
+ sha256="18eb3cde3e6a61a88f25afff25df762a560013f650aaf363f7d3d516a0d04881",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13725/l_mkl_2018.4.274.tgz",
+ )
+ version(
+ "2018.3.222",
+ sha256="108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/l_mkl_2018.3.222.tgz",
+ )
+ version(
+ "2018.2.199",
+ sha256="e28d12173bef9e615b0ded2f95f59a42b3e9ad0afa713a79f8801da2bfb31936",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12725/l_mkl_2018.2.199.tgz",
+ )
+ version(
+ "2018.1.163",
+ sha256="f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mkl_2018.1.163.tgz",
+ )
+ version(
+ "2018.0.128",
+ sha256="c368baa40ca88057292512534d7fad59fa24aef06da038ea0248e7cd1e280cec",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12070/l_mkl_2018.0.128.tgz",
+ )
+ version(
+ "2017.4.239",
+ sha256="dcac591ed1e95bd72357fd778edba215a7eab9c6993236373231cc16c200c92a",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12147/l_mkl_2017.4.239.tgz",
+ )
+ version(
+ "2017.3.196",
+ sha256="fd7295870fa164d6138c9818304f25f2bb263c814a6c6539c9fe4e104055f1ca",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11544/l_mkl_2017.3.196.tgz",
+ )
+ version(
+ "2017.2.174",
+ sha256="0b8a3fd6bc254c3c3d9d51acf047468c7f32bf0baff22aa1e064d16d9fea389f",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11306/l_mkl_2017.2.174.tgz",
+ )
+ version(
+ "2017.1.132",
+ sha256="8c6bbeac99326d59ef3afdc2a95308c317067efdaae50240d2f4a61f37622e69",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11024/l_mkl_2017.1.132.tgz",
+ )
+ version(
+ "2017.0.098",
+ sha256="f2233e8e011f461d9c15a853edf7ed0ae8849aa665a1ec765c1ff196fd70c4d9",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9662/l_mkl_2017.0.098.tgz",
+ )
# built from parallel_studio_xe_2016.3.x
- version('11.3.3.210', sha256='ff858f0951fd698e9fb30147ea25a8a810c57f0126c8457b3b0cdf625ea43372',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9068/l_mkl_11.3.3.210.tgz')
+ version(
+ "11.3.3.210",
+ sha256="ff858f0951fd698e9fb30147ea25a8a810c57f0126c8457b3b0cdf625ea43372",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9068/l_mkl_11.3.3.210.tgz",
+ )
# built from parallel_studio_xe_2016.2.062
- version('11.3.2.181', sha256='bac04a07a1fe2ae4996a67d1439ee90c54f31305e8663d1ccfce043bed84fc27',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8711/l_mkl_11.3.2.181.tgz')
+ version(
+ "11.3.2.181",
+ sha256="bac04a07a1fe2ae4996a67d1439ee90c54f31305e8663d1ccfce043bed84fc27",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8711/l_mkl_11.3.2.181.tgz",
+ )
- depends_on('cpio', type='build')
+ depends_on("cpio", type="build")
- variant('shared', default=True, description='Builds shared library')
- variant('ilp64', default=False, description='64 bit integers')
+ variant("shared", default=True, description="Builds shared library")
+ variant("ilp64", default=False, description="64 bit integers")
variant(
- 'threads', default='none',
- description='Multithreading support',
- values=('openmp', 'tbb', 'none'),
- multi=False
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("openmp", "tbb", "none"),
+ multi=False,
)
- provides('blas')
- provides('lapack')
- provides('lapack@3.9.0', when='@2020.4')
- provides('lapack@3.7.0', when='@11.3')
- provides('scalapack')
- provides('mkl')
- provides('fftw-api@3', when='@2017:')
+ provides("blas")
+ provides("lapack")
+ provides("lapack@3.9.0", when="@2020.4")
+ provides("lapack@3.7.0", when="@11.3")
+ provides("scalapack")
+ provides("mkl")
+ provides("fftw-api@3", when="@2017:")
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
# there is no libmkl_gnu_thread on macOS
- conflicts('threads=openmp', when='%gcc')
+ conflicts("threads=openmp", when="%gcc")
diff --git a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
index f3a29081bb..101caa1610 100644
--- a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
+++ b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
@@ -9,82 +9,83 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelMpiBenchmarks(MakefilePackage):
"""Intel MPI Benchmarks provides a set of elementary benchmarks that
- conform to MPI-1, MPI-2, and MPI-3 standard. You can run all of
- the supported benchmarks, or a subset specified in the command
- line using one executable file. Use command-line parameters to
- specify various settings, such as time measurement, message
- lengths, and selection of communicators.
+ conform to MPI-1, MPI-2, and MPI-3 standard. You can run all of
+ the supported benchmarks, or a subset specified in the command
+ line using one executable file. Use command-line parameters to
+ specify various settings, such as time measurement, message
+ lengths, and selection of communicators.
"""
homepage = "https://software.intel.com/en-us/articles/intel-mpi-benchmarks"
- url = "https://github.com/intel/mpi-benchmarks/archive/IMB-v2019.5.tar.gz"
+ url = "https://github.com/intel/mpi-benchmarks/archive/IMB-v2019.5.tar.gz"
- maintainers = ['carsonwoods']
+ maintainers = ["carsonwoods"]
- version('2019.6', sha256='1cd0bab9e947228fced4666d907f77c51336291533919896a923cff5fcad62e9')
- version('2019.5', sha256='61f8e872a3c3076af53007a68e4da3a8d66be2ba7a051dc21e626a4e2d26e651')
- version('2019.4', sha256='aeb336be10275c1a2f579b491b6631122876b461ac7148b1d0764f13b7552690')
- version('2019.3', sha256='4f256d11bfed9ca6166548486d61a062e67be61f13dd9f30690232720e185f31')
- version('2019.2', sha256='0bc2224a913073aaa5958f6ae08341e5fcd39cedc6722a09bfd4a3d7591a340b')
+ version("2019.6", sha256="1cd0bab9e947228fced4666d907f77c51336291533919896a923cff5fcad62e9")
+ version("2019.5", sha256="61f8e872a3c3076af53007a68e4da3a8d66be2ba7a051dc21e626a4e2d26e651")
+ version("2019.4", sha256="aeb336be10275c1a2f579b491b6631122876b461ac7148b1d0764f13b7552690")
+ version("2019.3", sha256="4f256d11bfed9ca6166548486d61a062e67be61f13dd9f30690232720e185f31")
+ version("2019.2", sha256="0bc2224a913073aaa5958f6ae08341e5fcd39cedc6722a09bfd4a3d7591a340b")
- depends_on('mpi')
+ depends_on("mpi")
# https://github.com/intel/mpi-benchmarks/pull/19
- patch('add_const.patch', when='@:2019.6')
+ patch("add_const.patch", when="@:2019.6")
# https://github.com/intel/mpi-benchmarks/pull/20
- patch('reorder_benchmark_macros.patch', when='@:2019.6')
+ patch("reorder_benchmark_macros.patch", when="@:2019.6")
variant(
- 'benchmark', default='all',
- values=('mpi1', 'ext', 'io', 'nbc',
- 'p2p', 'rma', 'mt', 'all'),
+ "benchmark",
+ default="all",
+ values=("mpi1", "ext", "io", "nbc", "p2p", "rma", "mt", "all"),
multi=False,
- description='Specify which benchmark to build')
+ description="Specify which benchmark to build",
+ )
def build(self, spec, prefix):
- env['CC'] = spec['mpi'].mpicc
- env['CXX'] = spec['mpi'].mpicxx
+ env["CC"] = spec["mpi"].mpicc
+ env["CXX"] = spec["mpi"].mpicxx
- if 'benchmark=mpi1' in spec:
- make('IMB-MPI1')
- elif 'benchmark=ext' in spec:
- make('IMB-EXT')
- elif 'benchmark=io' in spec:
- make('IMB-IO')
- elif 'benchmark=nbc' in spec:
- make('IMB-NBC')
- elif 'benchmark=p2p' in spec:
- make('IMB-P2P')
- elif 'benchmark=rma' in spec:
- make('IMB-RMA')
- elif 'benchmark=mt' in spec:
- make('IMB-MT')
+ if "benchmark=mpi1" in spec:
+ make("IMB-MPI1")
+ elif "benchmark=ext" in spec:
+ make("IMB-EXT")
+ elif "benchmark=io" in spec:
+ make("IMB-IO")
+ elif "benchmark=nbc" in spec:
+ make("IMB-NBC")
+ elif "benchmark=p2p" in spec:
+ make("IMB-P2P")
+ elif "benchmark=rma" in spec:
+ make("IMB-RMA")
+ elif "benchmark=mt" in spec:
+ make("IMB-MT")
else:
make("all")
def install(self, spec, prefix):
mkdir(prefix.bin)
- if 'benchmark=mpi1' in spec:
- install('IMB-MPI1', prefix.bin)
- elif 'benchmark=ext' in spec:
- install('IMB-EXT', prefix.bin)
- elif 'benchmark=io' in spec:
- install('IMB-IO', prefix.bin)
- elif 'benchmark=nbc' in spec:
- install('IMB-NBC', prefix.bin)
- elif 'benchmark=p2p' in spec:
- install('IMB-P2P', prefix.bin)
- elif 'benchmark=rma' in spec:
- install('IMB-RMA', prefix.bin)
- elif 'benchmark=mt' in spec:
- install('IMB-MT', prefix.bin)
+ if "benchmark=mpi1" in spec:
+ install("IMB-MPI1", prefix.bin)
+ elif "benchmark=ext" in spec:
+ install("IMB-EXT", prefix.bin)
+ elif "benchmark=io" in spec:
+ install("IMB-IO", prefix.bin)
+ elif "benchmark=nbc" in spec:
+ install("IMB-NBC", prefix.bin)
+ elif "benchmark=p2p" in spec:
+ install("IMB-P2P", prefix.bin)
+ elif "benchmark=rma" in spec:
+ install("IMB-RMA", prefix.bin)
+ elif "benchmark=mt" in spec:
+ install("IMB-MT", prefix.bin)
else:
- install('IMB-EXT', prefix.bin)
- install('IMB-IO', prefix.bin)
- install('IMB-MPI1', prefix.bin)
- install('IMB-MT', prefix.bin)
- install('IMB-NBC', prefix.bin)
- install('IMB-P2P', prefix.bin)
- install('IMB-RMA', prefix.bin)
+ install("IMB-EXT", prefix.bin)
+ install("IMB-IO", prefix.bin)
+ install("IMB-MPI1", prefix.bin)
+ install("IMB-MT", prefix.bin)
+ install("IMB-NBC", prefix.bin)
+ install("IMB-P2P", prefix.bin)
+ install("IMB-RMA", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/intel-mpi/package.py b/var/spack/repos/builtin/packages/intel-mpi/package.py
index 844035d384..68aec8734d 100644
--- a/var/spack/repos/builtin/packages/intel-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-mpi/package.py
@@ -8,75 +8,141 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelMpi(IntelPackage):
- """Intel MPI. This package has been replaced by intel-oneapi-mpi.
+ """Intel MPI. This package has been replaced by intel-oneapi-mpi."""
- """
-
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/en-us/intel-mpi-library"
- version('2019.10.317', sha256='28e1b615e63d2170a99feedc75e3b0c5a7e1a07dcdaf0a4181831b07817a5346',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17534/l_mpi_2019.10.317.tgz')
- version('2019.9.304', sha256='618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/l_mpi_2019.9.304.tgz')
- version('2019.8.254', sha256='fa163b4b79bd1b7509980c3e7ad81b354fc281a92f9cf2469bf4d323899567c0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16814/l_mpi_2019.8.254.tgz')
- version('2019.7.217', sha256='90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/l_mpi_2019.7.217.tgz')
- version('2019.6.166', sha256='119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16120/l_mpi_2019.6.166.tgz')
- version('2019.5.281', sha256='9c59da051f1325b221e5bc4d8b689152e85d019f143069fa39e17989306811f4',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15838/l_mpi_2019.5.281.tgz')
- version('2019.4.243', sha256='233a8660b92ecffd89fedd09f408da6ee140f97338c293146c9c080a154c5fcd',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15553/l_mpi_2019.4.243.tgz')
- version('2019.3.199', sha256='5304346c863f64de797250eeb14f51c5cfc8212ff20813b124f20e7666286990',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15260/l_mpi_2019.3.199.tgz')
- version('2019.2.187', sha256='6a3305933b5ef9e3f7de969e394c91620f3fa4bb815a4f439577739d04778b20',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15040/l_mpi_2019.2.187.tgz')
- version('2019.1.144', sha256='dac86a5db6b86503313742b17535856a432955604f7103cb4549a9bfc256c3cd',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14879/l_mpi_2019.1.144.tgz')
- version('2019.0.117', sha256='dfb403f49c1af61b337aa952b71289c7548c3a79c32c57865eab0ea0f0e1bc08',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13584/l_mpi_2019.0.117.tgz')
- version('2018.4.274', sha256='a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13741/l_mpi_2018.4.274.tgz')
- version('2018.3.222', sha256='5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13112/l_mpi_2018.3.222.tgz')
- version('2018.2.199', sha256='0927f1bff90d10974433ba2892e3fd38e6fee5232ab056a9f9decf565e814460',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12748/l_mpi_2018.2.199.tgz')
- version('2018.1.163', sha256='130b11571c3f71af00a722fa8641db5a1552ac343d770a8304216d8f5d00e75c',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mpi_2018.1.163.tgz')
- version('2018.0.128', sha256='debaf2cf80df06db9633dfab6aa82213b84a665a55ee2b0178403906b5090209',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12120/l_mpi_2018.0.128.tgz')
- version('2017.4.239', sha256='5a1048d284dce8bc75b45789471c83c94b3c59f8f159cab43d783fc44302510b',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12209/l_mpi_2017.4.239.tgz')
- version('2017.3.196', sha256='dad9efbc5bbd3fd27cce7e1e2507ad77f342d5ecc929747ae141c890e7fb87f0',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11595/l_mpi_2017.3.196.tgz')
- version('2017.2.174', sha256='106a4b362c13ddc6978715e50f5f81c58c1a4c70cd2d20a99e94947b7e733b88',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11334/l_mpi_2017.2.174.tgz')
- version('2017.1.132', sha256='8d30a63674fe05f17b0a908a9f7d54403018bfed2de03c208380b171ab99be82',
- url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11014/l_mpi_2017.1.132.tgz')
+ version(
+ "2019.10.317",
+ sha256="28e1b615e63d2170a99feedc75e3b0c5a7e1a07dcdaf0a4181831b07817a5346",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17534/l_mpi_2019.10.317.tgz",
+ )
+ version(
+ "2019.9.304",
+ sha256="618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/l_mpi_2019.9.304.tgz",
+ )
+ version(
+ "2019.8.254",
+ sha256="fa163b4b79bd1b7509980c3e7ad81b354fc281a92f9cf2469bf4d323899567c0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16814/l_mpi_2019.8.254.tgz",
+ )
+ version(
+ "2019.7.217",
+ sha256="90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/l_mpi_2019.7.217.tgz",
+ )
+ version(
+ "2019.6.166",
+ sha256="119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16120/l_mpi_2019.6.166.tgz",
+ )
+ version(
+ "2019.5.281",
+ sha256="9c59da051f1325b221e5bc4d8b689152e85d019f143069fa39e17989306811f4",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15838/l_mpi_2019.5.281.tgz",
+ )
+ version(
+ "2019.4.243",
+ sha256="233a8660b92ecffd89fedd09f408da6ee140f97338c293146c9c080a154c5fcd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15553/l_mpi_2019.4.243.tgz",
+ )
+ version(
+ "2019.3.199",
+ sha256="5304346c863f64de797250eeb14f51c5cfc8212ff20813b124f20e7666286990",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15260/l_mpi_2019.3.199.tgz",
+ )
+ version(
+ "2019.2.187",
+ sha256="6a3305933b5ef9e3f7de969e394c91620f3fa4bb815a4f439577739d04778b20",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15040/l_mpi_2019.2.187.tgz",
+ )
+ version(
+ "2019.1.144",
+ sha256="dac86a5db6b86503313742b17535856a432955604f7103cb4549a9bfc256c3cd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14879/l_mpi_2019.1.144.tgz",
+ )
+ version(
+ "2019.0.117",
+ sha256="dfb403f49c1af61b337aa952b71289c7548c3a79c32c57865eab0ea0f0e1bc08",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13584/l_mpi_2019.0.117.tgz",
+ )
+ version(
+ "2018.4.274",
+ sha256="a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13741/l_mpi_2018.4.274.tgz",
+ )
+ version(
+ "2018.3.222",
+ sha256="5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13112/l_mpi_2018.3.222.tgz",
+ )
+ version(
+ "2018.2.199",
+ sha256="0927f1bff90d10974433ba2892e3fd38e6fee5232ab056a9f9decf565e814460",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12748/l_mpi_2018.2.199.tgz",
+ )
+ version(
+ "2018.1.163",
+ sha256="130b11571c3f71af00a722fa8641db5a1552ac343d770a8304216d8f5d00e75c",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mpi_2018.1.163.tgz",
+ )
+ version(
+ "2018.0.128",
+ sha256="debaf2cf80df06db9633dfab6aa82213b84a665a55ee2b0178403906b5090209",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12120/l_mpi_2018.0.128.tgz",
+ )
+ version(
+ "2017.4.239",
+ sha256="5a1048d284dce8bc75b45789471c83c94b3c59f8f159cab43d783fc44302510b",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12209/l_mpi_2017.4.239.tgz",
+ )
+ version(
+ "2017.3.196",
+ sha256="dad9efbc5bbd3fd27cce7e1e2507ad77f342d5ecc929747ae141c890e7fb87f0",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11595/l_mpi_2017.3.196.tgz",
+ )
+ version(
+ "2017.2.174",
+ sha256="106a4b362c13ddc6978715e50f5f81c58c1a4c70cd2d20a99e94947b7e733b88",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11334/l_mpi_2017.2.174.tgz",
+ )
+ version(
+ "2017.1.132",
+ sha256="8d30a63674fe05f17b0a908a9f7d54403018bfed2de03c208380b171ab99be82",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11014/l_mpi_2017.1.132.tgz",
+ )
# built from parallel_studio_xe_2016.3.068
- version('5.1.3.223', sha256='544f4173b09609beba711fa3ba35567397ff3b8390e4f870a3307f819117dd9b',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz')
+ version(
+ "5.1.3.223",
+ sha256="544f4173b09609beba711fa3ba35567397ff3b8390e4f870a3307f819117dd9b",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz",
+ )
- provides('mpi')
+ provides("mpi")
- variant('external-libfabric', default=False, description='Enable external libfabric dependency')
- depends_on('libfabric', when='+external-libfabric', type=('build', 'link', 'run'))
+ variant(
+ "external-libfabric", default=False, description="Enable external libfabric dependency"
+ )
+ depends_on("libfabric", when="+external-libfabric", type=("build", "link", "run"))
def setup_dependent_build_environment(self, *args):
# Handle in callback, conveying client's compilers in additional arg.
# CAUTION - DUP code in:
# ../intel-mpi/package.py
# ../intel-parallel-studio/package.py
- self._setup_dependent_env_callback(*args, compilers_of_client={
- 'CC': spack_cc,
- 'CXX': spack_cxx,
- 'F77': spack_f77,
- 'F90': spack_fc,
- 'FC': spack_fc,
- })
+ self._setup_dependent_env_callback(
+ *args,
+ compilers_of_client={
+ "CC": spack_cc,
+ "CXX": spack_cxx,
+ "F77": spack_f77,
+ "F90": spack_fc,
+ "FC": spack_fc,
+ }
+ )
def setup_run_environment(self, env):
super(IntelMpi, self).setup_run_environment(env)
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
index 441fe1f83e..33ba3ed277 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
@@ -20,24 +20,32 @@ class IntelOneapiAdvisor(IntelOneApiPackage):
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html'
-
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18730/l_oneapi_advisor_p_2022.1.0.171_offline.sh',
- sha256='b627dbfefa779b44e7ab40dfa37614e56caa6e245feaed402d51826e6a7cb73b',
- expand=False)
- version('2022.0.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18369/l_oneapi_advisor_p_2022.0.0.92_offline.sh',
- sha256='f1c4317c2222c56fb2e292513f7eec7ec27eb1049d3600cb975bc08ed1477993',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18220/l_oneapi_advisor_p_2021.4.0.389_offline.sh',
- sha256='dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8',
- expand=False)
+ maintainers = ["rscohn2"]
+
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html"
+ )
+
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18730/l_oneapi_advisor_p_2022.1.0.171_offline.sh",
+ sha256="b627dbfefa779b44e7ab40dfa37614e56caa6e245feaed402d51826e6a7cb73b",
+ expand=False,
+ )
+ version(
+ "2022.0.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18369/l_oneapi_advisor_p_2022.0.0.92_offline.sh",
+ sha256="f1c4317c2222c56fb2e292513f7eec7ec27eb1049d3600cb975bc08ed1477993",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18220/l_oneapi_advisor_p_2021.4.0.389_offline.sh",
+ sha256="dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'advisor'
+ return "advisor"
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 695f9033ae..db319c8b82 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py
@@ -11,52 +11,68 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiCcl(IntelOneApiLibraryPackage):
"""The Intel oneAPI Collective Communications Library (oneCCL) enables
- developers and researchers to more quickly train newer and
- deeper models. This is done by using optimized communication
- patterns to distribute model training across multiple
- nodes. The library is designed for easy integration into deep
- learning frameworks, whether you are implementing them from
- scratch or customizing existing ones.
+ developers and researchers to more quickly train newer and
+ deeper models. This is done by using optimized communication
+ patterns to distribute model training across multiple
+ nodes. The library is designed for easy integration into deep
+ learning frameworks, whether you are implementing them from
+ scratch or customizing existing ones.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
# oneAPI Collective Communications Library
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/oneccl.html'
-
- depends_on('intel-oneapi-mpi')
-
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18697/l_oneapi_ccl_p_2021.6.0.568.sh',
- sha256='e3c50c9cbeb350e8f28488b2e8fee54156116548db8010bb2c2443048715d3ea',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18472/l_oneapi_ccl_p_2021.5.1.494_offline.sh',
- sha256='237f45d3c43447460e36eb7d68ae3bf611aa282015e57c7fe06c2004d368a68e',
- expand=False)
- version('2021.5.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18371/l_oneapi_ccl_p_2021.5.0.478_offline.sh',
- sha256='47584ad0269fd13bcfbc2cd0bb029bdcc02b723070abcb3d5e57f9586f4e74f8',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18188/l_oneapi_ccl_p_2021.4.0.433_offline.sh',
- sha256='004031629d97ef99267d8ea962b666dc4be1560d7d32bd510f97bc81d9251ef6',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17920/l_oneapi_ccl_p_2021.3.0.343_offline.sh',
- sha256='0bb63e2077215cc161973b2e5029919c55e84aea7620ee9a848f6c2cc1245e3f',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17731/l_oneapi_ccl_p_2021.2.0.269_offline.sh',
- sha256='18b7875030243295b75471e235e91e5f7b4fc15caf18c07d941a6d47fba378d7',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17391/l_oneapi_ccl_p_2021.1.1.54_offline.sh',
- sha256='de732df57a03763a286106c8b885fd60e83d17906936a8897a384b874e773f49',
- expand=False)
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/oneccl.html"
+ )
+
+ depends_on("intel-oneapi-mpi")
+
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18697/l_oneapi_ccl_p_2021.6.0.568.sh",
+ sha256="e3c50c9cbeb350e8f28488b2e8fee54156116548db8010bb2c2443048715d3ea",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18472/l_oneapi_ccl_p_2021.5.1.494_offline.sh",
+ sha256="237f45d3c43447460e36eb7d68ae3bf611aa282015e57c7fe06c2004d368a68e",
+ expand=False,
+ )
+ version(
+ "2021.5.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18371/l_oneapi_ccl_p_2021.5.0.478_offline.sh",
+ sha256="47584ad0269fd13bcfbc2cd0bb029bdcc02b723070abcb3d5e57f9586f4e74f8",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18188/l_oneapi_ccl_p_2021.4.0.433_offline.sh",
+ sha256="004031629d97ef99267d8ea962b666dc4be1560d7d32bd510f97bc81d9251ef6",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17920/l_oneapi_ccl_p_2021.3.0.343_offline.sh",
+ sha256="0bb63e2077215cc161973b2e5029919c55e84aea7620ee9a848f6c2cc1245e3f",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17731/l_oneapi_ccl_p_2021.2.0.269_offline.sh",
+ sha256="18b7875030243295b75471e235e91e5f7b4fc15caf18c07d941a6d47fba378d7",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17391/l_oneapi_ccl_p_2021.1.1.54_offline.sh",
+ sha256="de732df57a03763a286106c8b885fd60e83d17906936a8897a384b874e773f49",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'ccl'
+ return "ccl"
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py
index 635d79c705..ea1d720514 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
@IntelOneApiPackage.update_description
@@ -13,7 +13,7 @@ class IntelOneapiCompilersClassic(Package):
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi.html"
@@ -21,15 +21,17 @@ class IntelOneapiCompilersClassic(Package):
phases = []
- for ver in ['2022.1.0',
- '2022.0.2',
- '2022.0.1',
- '2021.4.0',
- '2021.3.0',
- '2021.2.0',
- '2021.1.2']:
+ for ver in [
+ "2022.1.0",
+ "2022.0.2",
+ "2022.0.1",
+ "2021.4.0",
+ "2021.3.0",
+ "2021.2.0",
+ "2021.1.2",
+ ]:
version(ver)
- depends_on('intel-oneapi-compilers@' + ver, when='@' + ver, type='run')
+ depends_on("intel-oneapi-compilers@" + ver, when="@" + ver, type="run")
def setup_run_environment(self, env):
"""Adds environment variables to the generated module file.
@@ -42,9 +44,10 @@ class IntelOneapiCompilersClassic(Package):
and from setting CC/CXX/F77/FC
"""
- bin = join_path(self.spec['intel-oneapi-compilers'].prefix,
- 'compile', 'linux', 'bin', 'intel64')
- env.set('CC', join_path(bin, 'icc'))
- env.set('CXX', join_path(bin, 'icpc'))
- env.set('F77', join_path(bin, 'ifort'))
- env.set('FC', join_path(bin, 'ifort'))
+ bin = join_path(
+ self.spec["intel-oneapi-compilers"].prefix, "compile", "linux", "bin", "intel64"
+ )
+ env.set("CC", join_path(bin, "icc"))
+ env.set("CXX", join_path(bin, "icpc"))
+ env.set("F77", join_path(bin, "ifort"))
+ env.set("FC", join_path(bin, "ifort"))
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 5579e3146f..1ddb47a872 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
@@ -10,84 +10,82 @@ from spack.package import *
linux_versions = [
{
- 'version': '2022.1.0',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18717/l_dpcpp-cpp-compiler_p_2022.1.0.137_offline.sh',
- 'sha256': '1027819581ba820470f351abfc2b2658ff2684ed8da9ed0e722a45774a2541d6'
+ "version": "2022.1.0",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18717/l_dpcpp-cpp-compiler_p_2022.1.0.137_offline.sh",
+ "sha256": "1027819581ba820470f351abfc2b2658ff2684ed8da9ed0e722a45774a2541d6",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18703/l_fortran-compiler_p_2022.1.0.134_offline.sh",
+ "sha256": "583082abe54a657eb933ea4ba3e988eef892985316be13f3e23e18a3c9515020",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18703/l_fortran-compiler_p_2022.1.0.134_offline.sh',
- 'sha256': '583082abe54a657eb933ea4ba3e988eef892985316be13f3e23e18a3c9515020'
- }
},
-
{
- 'version': '2022.0.2',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18478/l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh',
- 'sha256': 'ade5bbd203e7226ca096d7bf758dce07857252ec54e83908cac3849e6897b8f3'
+ "version": "2022.0.2",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18478/l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh",
+ "sha256": "ade5bbd203e7226ca096d7bf758dce07857252ec54e83908cac3849e6897b8f3",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18481/l_fortran-compiler_p_2022.0.2.83_offline.sh",
+ "sha256": "78532b4118fc3d7afd44e679fc8e7aed1e84efec0d892908d9368e0c7c6b190c",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18481/l_fortran-compiler_p_2022.0.2.83_offline.sh',
- 'sha256': '78532b4118fc3d7afd44e679fc8e7aed1e84efec0d892908d9368e0c7c6b190c'
- }
},
-
{
- 'version': '2022.0.1',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18435/l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh',
- 'sha256': 'c7cddc64c3040eece2dcaf48926ba197bb27e5a46588b1d7b3beddcdc379926a'
+ "version": "2022.0.1",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18435/l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh",
+ "sha256": "c7cddc64c3040eece2dcaf48926ba197bb27e5a46588b1d7b3beddcdc379926a",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18436/l_fortran-compiler_p_2022.0.1.70_offline.sh",
+ "sha256": "2cb28a04f93554bfeffd6cad8bd0e7082735f33d73430655dea86df8933f50d1",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18436/l_fortran-compiler_p_2022.0.1.70_offline.sh',
- 'sha256': '2cb28a04f93554bfeffd6cad8bd0e7082735f33d73430655dea86df8933f50d1'
- }
},
{
- 'version': '2021.4.0',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18209/l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh',
- 'sha256': '9206bff1c2fdeb1ca0d5f79def90dcf3e6c7d5711b9b5adecd96a2ba06503828'
+ "version": "2021.4.0",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18209/l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh",
+ "sha256": "9206bff1c2fdeb1ca0d5f79def90dcf3e6c7d5711b9b5adecd96a2ba06503828",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18210/l_fortran-compiler_p_2021.4.0.3224_offline.sh",
+ "sha256": "de2fcf40e296c2e882e1ddf2c45bb8d25aecfbeff2f75fcd7494068d621eb7e0",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18210/l_fortran-compiler_p_2021.4.0.3224_offline.sh',
- 'sha256': 'de2fcf40e296c2e882e1ddf2c45bb8d25aecfbeff2f75fcd7494068d621eb7e0'
- }
},
{
- 'version': '2021.3.0',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17928/l_dpcpp-cpp-compiler_p_2021.3.0.3168_offline.sh',
- 'sha256': 'f848d81b7cabc76c2841c9757abb2290921efd7b82491d830605f5785600e7a1'
+ "version": "2021.3.0",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17928/l_dpcpp-cpp-compiler_p_2021.3.0.3168_offline.sh",
+ "sha256": "f848d81b7cabc76c2841c9757abb2290921efd7b82491d830605f5785600e7a1",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17959/l_fortran-compiler_p_2021.3.0.3168_offline.sh",
+ "sha256": "c4553f7e707be8e8e196f625e4e7fbc8eff5474f64ab85fc7146b5ed53ebc87c",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17959/l_fortran-compiler_p_2021.3.0.3168_offline.sh',
- 'sha256': 'c4553f7e707be8e8e196f625e4e7fbc8eff5474f64ab85fc7146b5ed53ebc87c'
- }
},
{
- 'version': '2021.2.0',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh',
- 'sha256': '5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59'
+ "version": "2021.2.0",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh",
+ "sha256": "5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59",
+ },
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/l_fortran-compiler_p_2021.2.0.136_offline.sh",
+ "sha256": "a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/l_fortran-compiler_p_2021.2.0.136_offline.sh',
- 'sha256': 'a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1'
- }
},
{
- 'version': '2021.1.2',
- 'cpp': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17513/l_dpcpp-cpp-compiler_p_2021.1.2.63_offline.sh',
- 'sha256': '68d6cb638091990e578e358131c859f3bbbbfbf975c581fd0b4b4d36476d6f0a'
+ "version": "2021.1.2",
+ "cpp": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17513/l_dpcpp-cpp-compiler_p_2021.1.2.63_offline.sh",
+ "sha256": "68d6cb638091990e578e358131c859f3bbbbfbf975c581fd0b4b4d36476d6f0a",
},
- 'ftn': {
- 'url': 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17508/l_fortran-compiler_p_2021.1.2.62_offline.sh',
- 'sha256': '29345145268d08a59fa7eb6e58c7522768466dd98f6d9754540d1a0803596829'
- }
- }
+ "ftn": {
+ "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17508/l_fortran-compiler_p_2021.1.2.62_offline.sh",
+ "sha256": "29345145268d08a59fa7eb6e58c7522768466dd98f6d9754540d1a0803596829",
+ },
+ },
]
@@ -98,21 +96,26 @@ class IntelOneapiCompilers(IntelOneApiPackage):
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi.html"
- depends_on('patchelf', type='build')
+ depends_on("patchelf", type="build")
- if platform.system() == 'Linux':
+ if platform.system() == "Linux":
for v in linux_versions:
- version(v['version'], expand=False, **v['cpp'])
- resource(name='fortran-installer', placement='fortran-installer',
- when='@{0}'.format(v['version']), expand=False, **v['ftn'])
+ version(v["version"], expand=False, **v["cpp"])
+ resource(
+ name="fortran-installer",
+ placement="fortran-installer",
+ when="@{0}".format(v["version"]),
+ expand=False,
+ **v["ftn"]
+ )
@property
def component_dir(self):
- return 'compiler'
+ return "compiler"
def setup_run_environment(self, env):
"""Adds environment variables to the generated module file.
@@ -127,10 +130,10 @@ class IntelOneapiCompilers(IntelOneApiPackage):
"""
super(IntelOneapiCompilers, self).setup_run_environment(env)
- env.set('CC', self.component_prefix.bin.icx)
- env.set('CXX', self.component_prefix.bin.icpx)
- env.set('F77', self.component_prefix.bin.ifx)
- env.set('FC', self.component_prefix.bin.ifx)
+ env.set("CC", self.component_prefix.bin.icx)
+ env.set("CXX", self.component_prefix.bin.icpx)
+ env.set("F77", self.component_prefix.bin.ifx)
+ env.set("FC", self.component_prefix.bin.ifx)
def install(self, spec, prefix):
# Copy instead of install to speed up debugging
@@ -140,26 +143,25 @@ class IntelOneapiCompilers(IntelOneApiPackage):
super(IntelOneapiCompilers, self).install(spec, prefix)
# install fortran
- self.install_component(find('fortran-installer', '*')[0])
+ self.install_component(find("fortran-installer", "*")[0])
# Some installers have a bug and do not return an error code when failing
if not is_exe(self.component_prefix.linux.bin.intel64.ifort):
- raise RuntimeError('install failed')
+ raise RuntimeError("install failed")
- @run_after('install')
+ @run_after("install")
def inject_rpaths(self):
# Sets rpath so the compilers can work without setting LD_LIBRARY_PATH.
- patchelf = which('patchelf')
- patchelf.add_default_arg('--set-rpath')
- patchelf.add_default_arg(':'.join(self._ld_library_path()))
- for pd in ['bin', 'lib', join_path('compiler', 'lib', 'intel64_lin')]:
- for file in find(self.component_prefix.linux.join(pd), '*',
- recursive=False):
+ patchelf = which("patchelf")
+ patchelf.add_default_arg("--set-rpath")
+ patchelf.add_default_arg(":".join(self._ld_library_path()))
+ for pd in ["bin", "lib", join_path("compiler", "lib", "intel64_lin")]:
+ for file in find(self.component_prefix.linux.join(pd), "*", recursive=False):
# Try to patch all files, patchelf will do nothing and fail if file
# should not be patched
patchelf(file, fail_on_error=False)
- @run_after('install')
+ @run_after("install")
def extend_config_flags(self):
# Extends compiler config files to inject additional compiler flags.
@@ -173,26 +175,32 @@ class IntelOneapiCompilers(IntelOneApiPackage):
# TODO: it is unclear whether we should really use all elements of
# _ld_library_path because it looks like the only rpath that needs to be
# injected is self.component_prefix.linux.compiler.lib.intel64_lin.
- flags = ' '.join(['-Wl,-rpath,{0}'.format(d) for d in self._ld_library_path()])
- for cmp in ['icx', 'icpx', 'ifx',
- join_path('intel64', 'icc'),
- join_path('intel64', 'icpc'),
- join_path('intel64', 'ifort')]:
- cfg_file = self.component_prefix.linux.bin.join(cmp + '.cfg')
- with open(cfg_file, 'w') as f:
+ flags = " ".join(["-Wl,-rpath,{0}".format(d) for d in self._ld_library_path()])
+ for cmp in [
+ "icx",
+ "icpx",
+ "ifx",
+ join_path("intel64", "icc"),
+ join_path("intel64", "icpc"),
+ join_path("intel64", "ifort"),
+ ]:
+ cfg_file = self.component_prefix.linux.bin.join(cmp + ".cfg")
+ with open(cfg_file, "w") as f:
f.write(flags)
set_install_permissions(cfg_file)
def _ld_library_path(self):
# Returns an iterable of directories that might contain shared runtime libraries
# of the compilers themselves and the executables they produce.
- for d in ['lib',
- join_path('lib', 'x64'),
- join_path('lib', 'emu'),
- join_path('lib', 'oclfpga', 'host', 'linux64', 'lib'),
- join_path('lib', 'oclfpga', 'linux64', 'lib'),
- join_path('compiler', 'lib', 'intel64_lin'),
- join_path('compiler', 'lib')]:
+ for d in [
+ "lib",
+ join_path("lib", "x64"),
+ join_path("lib", "emu"),
+ join_path("lib", "oclfpga", "host", "linux64", "lib"),
+ join_path("lib", "oclfpga", "linux64", "lib"),
+ join_path("compiler", "lib", "intel64_lin"),
+ join_path("compiler", "lib"),
+ ]:
p = join_path(self.component_prefix.linux, d)
- if find(p, '*.' + dso_suffix, recursive=False):
+ if find(p, "*." + dso_suffix, recursive=False):
yield p
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 0870d24def..9ee247749f 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py
@@ -12,55 +12,71 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiDal(IntelOneApiLibraryPackage):
"""Intel oneAPI Data Analytics Library (oneDAL) is a library that
- helps speed up big data analysis by providing highly optimized
- algorithmic building blocks for all stages of data analytics
- (preprocessing, transformation, analysis, modeling, validation,
- and decision making) in batch, online, and distributed
- processing modes of computation. The library optimizes data
- ingestion along with algorithmic computation to increase
- throughput and scalability.
+ helps speed up big data analysis by providing highly optimized
+ algorithmic building blocks for all stages of data analytics
+ (preprocessing, transformation, analysis, modeling, validation,
+ and decision making) in batch, online, and distributed
+ processing modes of computation. The library optimizes data
+ ingestion along with algorithmic computation to increase
+ throughput and scalability.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onedal.html'
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onedal.html"
+ )
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18698/l_daal_oneapi_p_2021.6.0.915_offline.sh',
- sha256='bc9a430f372a5f9603c19ec25207c83ffd9d59fe517599c734d465e32afc9790',
- expand=False)
- version('2021.5.3',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18480/l_daal_oneapi_p_2021.5.3.832_offline.sh',
- sha256='6d3503cf7be2908bbb7bd18e67b8f2e96ad9aec53d4813c9be620adaa2db390f',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18432/l_daal_oneapi_p_2021.5.1.803_offline.sh',
- sha256='bba7bee3caef14fbb54ad40615222e5da429496455edf7375f11fd84a72c87ba',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18218/l_daal_oneapi_p_2021.4.0.729_offline.sh',
- sha256='61da9d2a40c75edadff65d052fd84ef3db1da5d94f86ad3956979e6988549dda',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17905/l_daal_oneapi_p_2021.3.0.557_offline.sh',
- sha256='4c2e77a3a2fa5f8a09b7d68760dfca6c07f3949010836cd6da34075463467995',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17747/l_daal_oneapi_p_2021.2.0.358_offline.sh',
- sha256='cbf4e64dbd21c10179f2d1d7e8b8b0f12eeffe6921602df33276cd0ebd1f8e34',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17443/l_daal_oneapi_p_2021.1.1.79_offline.sh',
- sha256='6e0e24bba462e80f0fba5a46e95cf0cca6cf17948a7753f8e396ddedd637544e',
- expand=False)
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18698/l_daal_oneapi_p_2021.6.0.915_offline.sh",
+ sha256="bc9a430f372a5f9603c19ec25207c83ffd9d59fe517599c734d465e32afc9790",
+ expand=False,
+ )
+ version(
+ "2021.5.3",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18480/l_daal_oneapi_p_2021.5.3.832_offline.sh",
+ sha256="6d3503cf7be2908bbb7bd18e67b8f2e96ad9aec53d4813c9be620adaa2db390f",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18432/l_daal_oneapi_p_2021.5.1.803_offline.sh",
+ sha256="bba7bee3caef14fbb54ad40615222e5da429496455edf7375f11fd84a72c87ba",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18218/l_daal_oneapi_p_2021.4.0.729_offline.sh",
+ sha256="61da9d2a40c75edadff65d052fd84ef3db1da5d94f86ad3956979e6988549dda",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17905/l_daal_oneapi_p_2021.3.0.557_offline.sh",
+ sha256="4c2e77a3a2fa5f8a09b7d68760dfca6c07f3949010836cd6da34075463467995",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17747/l_daal_oneapi_p_2021.2.0.358_offline.sh",
+ sha256="cbf4e64dbd21c10179f2d1d7e8b8b0f12eeffe6921602df33276cd0ebd1f8e34",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17443/l_daal_oneapi_p_2021.1.1.79_offline.sh",
+ sha256="6e0e24bba462e80f0fba5a46e95cf0cca6cf17948a7753f8e396ddedd637544e",
+ expand=False,
+ )
- depends_on('intel-oneapi-tbb')
+ depends_on("intel-oneapi-tbb")
- provides('daal')
- provides('onedal')
+ provides("daal")
+ provides("onedal")
@property
def component_dir(self):
- return 'dal'
+ return "dal"
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 204fc0d8d2..160c882af8 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py
@@ -12,63 +12,78 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiDnn(IntelOneApiLibraryPackage):
"""The Intel oneAPI Deep Neural Network Library (oneDNN) helps
- developers improve productivity and enhance the performance of
- their deep learning frameworks. It supports key data type
- formats, including 16 and 32-bit floating point, bfloat16, and
- 8-bit integers and implements rich operators, including
- convolution, matrix multiplication, pooling, batch
- normalization, activation functions, recurrent neural network
- (RNN) cells, and long short-term memory (LSTM) cells.
+ developers improve productivity and enhance the performance of
+ their deep learning frameworks. It supports key data type
+ formats, including 16 and 32-bit floating point, bfloat16, and
+ 8-bit integers and implements rich operators, including
+ convolution, matrix multiplication, pooling, batch
+ normalization, activation functions, recurrent neural network
+ (RNN) cells, and long short-term memory (LSTM) cells.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onednn.html'
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onednn.html"
+ )
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18725/l_onednn_p_2022.1.0.132_offline.sh',
- sha256='0b9a7efe8dd0f0b5132b353a8ee99226f75bae4bab188a453817263a0684cc93',
- expand=False)
- version('2022.0.2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18476/l_onednn_p_2022.0.2.43_offline.sh',
- sha256='a2a953542b4f632b51a2527d84bd76c3140a41c8085420da4237e2877c27c280',
- expand=False)
- version('2022.0.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18441/l_onednn_p_2022.0.1.26_offline.sh',
- sha256='8339806300d83d2629952e6e2f2758b52f517c072a20b7b7fc5642cf1e2a5410',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18221/l_onednn_p_2021.4.0.467_offline.sh',
- sha256='30cc601467f6a94b3d7e14f4639faf0b12fdf6d98df148b07acdb4dfdfb971db',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17923/l_onednn_p_2021.3.0.344_offline.sh',
- sha256='1521f6cbffcf9ce0c7b5dfcf1a2546a4a0c8d8abc99f3011709039aaa9e0859a',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17751/l_onednn_p_2021.2.0.228_offline.sh',
- sha256='62121a3355298211a124ff4e71c42fc172bf1061019be6c6120830a1a502aa88',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17385/l_onednn_p_2021.1.1.55_offline.sh',
- sha256='24002c57bb8931a74057a471a5859d275516c331fd8420bee4cae90989e77dc3',
- expand=False)
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18725/l_onednn_p_2022.1.0.132_offline.sh",
+ sha256="0b9a7efe8dd0f0b5132b353a8ee99226f75bae4bab188a453817263a0684cc93",
+ expand=False,
+ )
+ version(
+ "2022.0.2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18476/l_onednn_p_2022.0.2.43_offline.sh",
+ sha256="a2a953542b4f632b51a2527d84bd76c3140a41c8085420da4237e2877c27c280",
+ expand=False,
+ )
+ version(
+ "2022.0.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18441/l_onednn_p_2022.0.1.26_offline.sh",
+ sha256="8339806300d83d2629952e6e2f2758b52f517c072a20b7b7fc5642cf1e2a5410",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18221/l_onednn_p_2021.4.0.467_offline.sh",
+ sha256="30cc601467f6a94b3d7e14f4639faf0b12fdf6d98df148b07acdb4dfdfb971db",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17923/l_onednn_p_2021.3.0.344_offline.sh",
+ sha256="1521f6cbffcf9ce0c7b5dfcf1a2546a4a0c8d8abc99f3011709039aaa9e0859a",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17751/l_onednn_p_2021.2.0.228_offline.sh",
+ sha256="62121a3355298211a124ff4e71c42fc172bf1061019be6c6120830a1a502aa88",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17385/l_onednn_p_2021.1.1.55_offline.sh",
+ sha256="24002c57bb8931a74057a471a5859d275516c331fd8420bee4cae90989e77dc3",
+ expand=False,
+ )
- depends_on('intel-oneapi-tbb')
+ depends_on("intel-oneapi-tbb")
@property
def component_dir(self):
- return 'dnnl'
+ return "dnnl"
@property
def headers(self):
- include_path = join_path(self.component_prefix,
- 'cpu_dpcpp_gpu_dpcpp', 'include')
- return find_headers('dnnl', include_path)
+ include_path = join_path(self.component_prefix, "cpu_dpcpp_gpu_dpcpp", "include")
+ return find_headers("dnnl", include_path)
@property
def libs(self):
- lib_path = join_path(self.component_prefix, 'cpu_dpcpp_gpu_dpcpp', 'lib')
- return find_libraries(['libdnnl', 'libmkldnn'], root=lib_path, shared=True)
+ lib_path = join_path(self.component_prefix, "cpu_dpcpp_gpu_dpcpp", "lib")
+ return find_libraries(["libdnnl", "libmkldnn"], root=lib_path, shared=True)
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py
index 116fbcbdff..ff59ad18f6 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py
@@ -11,22 +11,24 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiDpct(IntelOneApiPackage):
"""The Intel DPC++ Compatibility Tool assists in migrating your
- existing CUDA code to SYCL code. The tool ports both CUDA
- language kernels and library API calls. Typically, 90%-95% of
- CUDA code automatically migrates to SYCL code.
+ existing CUDA code to SYCL code. The tool ports both CUDA
+ language kernels and library API calls. Typically, 90%-95% of
+ CUDA code automatically migrates to SYCL code.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- homepage = 'https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html#gs.2p8km6'
+ homepage = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html#gs.2p8km6"
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18746/l_dpcpp-ct_p_2022.1.0.172_offline.sh',
- sha256='ec42f4df3f9daf1af587b14b8b6644c773a0b270e03dd22ac9e2f49131e3e40c',
- expand=False)
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18746/l_dpcpp-ct_p_2022.1.0.172_offline.sh",
+ sha256="ec42f4df3f9daf1af587b14b8b6644c773a0b270e03dd22ac9e2f49131e3e40c",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'dpcpp-ct'
+ return "dpcpp-ct"
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 cdfb36e699..2ed5721f29 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py
@@ -12,44 +12,52 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiDpl(IntelOneApiLibraryPackage):
"""The Intel oneAPI DPC++ Library (oneDPL) is a companion to the Intel
- oneAPI DPC++/C++ Compiler and provides an alternative for C++
- developers who create heterogeneous applications and
- solutions. Its APIs are based on familiar standards-C++ STL,
- Parallel STL (PSTL), Boost.Compute, and SYCL*-to maximize
- productivity and performance across CPUs, GPUs, and FPGAs.
+ oneAPI DPC++/C++ Compiler and provides an alternative for C++
+ developers who create heterogeneous applications and
+ solutions. Its APIs are based on familiar standards-C++ STL,
+ Parallel STL (PSTL), Boost.Compute, and SYCL*-to maximize
+ productivity and performance across CPUs, GPUs, and FPGAs.
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://github.com/oneapi-src/oneDPL'
-
- if platform.system() == 'Linux':
- version('2021.7.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18752/l_oneDPL_p_2021.7.0.631_offline.sh',
- sha256='1e2d735d5eccfe8058e18f96d733eda8de5b7a07d613447b7d483fd3f9cec600',
- expand=False)
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18372/l_oneDPL_p_2021.6.0.501_offline.sh',
- sha256='0225f133a6c38b36d08635986870284a958e5286c55ca4b56a4058bd736f8f4f',
- expand=False)
- version('2021.5.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18189/l_oneDPL_p_2021.5.0.445_offline.sh',
- sha256='7d4adf300a18f779c3ab517070c61dba10e3952287d5aef37c38f739e9041a68',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17889/l_oneDPL_p_2021.4.0.337_offline.sh',
- sha256='540ef0d308c4b0f13ea10168a90edd42a56dc0883024f6f1a678b94c10b5c170',
- expand=False)
+ maintainers = ["rscohn2"]
+
+ homepage = "https://github.com/oneapi-src/oneDPL"
+
+ if platform.system() == "Linux":
+ version(
+ "2021.7.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18752/l_oneDPL_p_2021.7.0.631_offline.sh",
+ sha256="1e2d735d5eccfe8058e18f96d733eda8de5b7a07d613447b7d483fd3f9cec600",
+ expand=False,
+ )
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18372/l_oneDPL_p_2021.6.0.501_offline.sh",
+ sha256="0225f133a6c38b36d08635986870284a958e5286c55ca4b56a4058bd736f8f4f",
+ expand=False,
+ )
+ version(
+ "2021.5.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18189/l_oneDPL_p_2021.5.0.445_offline.sh",
+ sha256="7d4adf300a18f779c3ab517070c61dba10e3952287d5aef37c38f739e9041a68",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17889/l_oneDPL_p_2021.4.0.337_offline.sh",
+ sha256="540ef0d308c4b0f13ea10168a90edd42a56dc0883024f6f1a678b94c10b5c170",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'dpl'
+ return "dpl"
@property
def headers(self):
- include_path = join_path(self.component_prefix, 'linux', 'include')
- headers = find_headers('*', include_path, recursive=True)
+ include_path = join_path(self.component_prefix, "linux", "include")
+ headers = find_headers("*", include_path, recursive=True)
# Force this directory to be added to include path, even
# though no files are here because all includes are relative
# to this path
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
index 9fff62fcb0..36923e09fc 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
@@ -22,28 +22,36 @@ class IntelOneapiInspector(IntelOneApiPackage):
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/inspector.html'
-
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18712/l_inspector_oneapi_p_2022.1.0.123_offline.sh',
- sha256='8551180aa30be3abea11308fb11ea9a296f0e056ab07d9254585448a0b23333e',
- expand=False)
- version('2022.0.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18363/l_inspector_oneapi_p_2022.0.0.56_offline.sh',
- sha256='79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18239/l_inspector_oneapi_p_2021.4.0.266_offline.sh',
- sha256='c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17946/l_inspector_oneapi_p_2021.3.0.217_offline.sh',
- sha256='1371ca74be2a6d4b069cdb3f8f2d6109abbc3261a81f437f0fe5412a7b659b43',
- expand=False)
+ maintainers = ["rscohn2"]
+
+ homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/inspector.html"
+
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18712/l_inspector_oneapi_p_2022.1.0.123_offline.sh",
+ sha256="8551180aa30be3abea11308fb11ea9a296f0e056ab07d9254585448a0b23333e",
+ expand=False,
+ )
+ version(
+ "2022.0.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18363/l_inspector_oneapi_p_2022.0.0.56_offline.sh",
+ sha256="79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18239/l_inspector_oneapi_p_2021.4.0.266_offline.sh",
+ sha256="c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17946/l_inspector_oneapi_p_2021.3.0.217_offline.sh",
+ sha256="1371ca74be2a6d4b069cdb3f8f2d6109abbc3261a81f437f0fe5412a7b659b43",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'inspector'
+ return "inspector"
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 fda1f509d4..2342a236aa 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py
@@ -11,56 +11,72 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiIpp(IntelOneApiLibraryPackage):
"""Intel Integrated Performance Primitives (Intel IPP) is an extensive
- library of ready-to-use, domain-specific functions that are
- highly optimized for diverse Intel architectures. These
- functions take advantage of Single Instruction, Multiple Data
- (SIMD) instructions and improve the performance of
- computation-intensive applications, including signal
- processing, data compression, video processing, and
- cryptography. The intel-oneapi-ippcp package contains support
- for cryptography and everything else can be found in the
- intel-oneapi-ipp package.
+ library of ready-to-use, domain-specific functions that are
+ highly optimized for diverse Intel architectures. These
+ functions take advantage of Single Instruction, Multiple Data
+ (SIMD) instructions and improve the performance of
+ computation-intensive applications, including signal
+ processing, data compression, video processing, and
+ cryptography. The intel-oneapi-ippcp package contains support
+ for cryptography and everything else can be found in the
+ intel-oneapi-ipp package.
"""
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html'
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html"
+ )
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18748/l_ipp_oneapi_p_2021.6.0.626_offline.sh',
- sha256='cf09b5229dd38d75671fa1ab1af47e4d5f9f16dc7c9c22a4313a221a184774aa',
- expand=False)
- version('2021.5.2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18474/l_ipp_oneapi_p_2021.5.2.544_offline.sh',
- sha256='ba48d91ab1447d0ae3d3a5448e3f08e460393258b60630c743be88281e51608e',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18440/l_ipp_oneapi_p_2021.5.1.522_offline.sh',
- sha256='be99f9b0b2cc815e017188681ab997f3ace94e3010738fa6f702f2416dac0de4',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18219/l_ipp_oneapi_p_2021.4.0.459_offline.sh',
- sha256='1a7a8fe5502ae61c10f5c432b7662c6fa542e5832a40494eb1c3a2d8e27c9f3e',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17958/l_ipp_oneapi_p_2021.3.0.333_offline.sh',
- sha256='67e75c80813ec9a30d5fda5860f76122ae66fa2128a48c8461f5e6b100b38bbb',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17758/l_ipp_oneapi_p_2021.2.0.233_offline.sh',
- sha256='ccdfc81f77203822d80151b40ce9e8fd82bb2de85a9b132ceed12d24d3f3ff52',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17436/l_ipp_oneapi_p_2021.1.1.47_offline.sh',
- sha256='2656a3a7f1f9f1438cbdf98fd472a213c452754ef9476dd65190a7d46618ba86',
- expand=False)
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18748/l_ipp_oneapi_p_2021.6.0.626_offline.sh",
+ sha256="cf09b5229dd38d75671fa1ab1af47e4d5f9f16dc7c9c22a4313a221a184774aa",
+ expand=False,
+ )
+ version(
+ "2021.5.2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18474/l_ipp_oneapi_p_2021.5.2.544_offline.sh",
+ sha256="ba48d91ab1447d0ae3d3a5448e3f08e460393258b60630c743be88281e51608e",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18440/l_ipp_oneapi_p_2021.5.1.522_offline.sh",
+ sha256="be99f9b0b2cc815e017188681ab997f3ace94e3010738fa6f702f2416dac0de4",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18219/l_ipp_oneapi_p_2021.4.0.459_offline.sh",
+ sha256="1a7a8fe5502ae61c10f5c432b7662c6fa542e5832a40494eb1c3a2d8e27c9f3e",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17958/l_ipp_oneapi_p_2021.3.0.333_offline.sh",
+ sha256="67e75c80813ec9a30d5fda5860f76122ae66fa2128a48c8461f5e6b100b38bbb",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17758/l_ipp_oneapi_p_2021.2.0.233_offline.sh",
+ sha256="ccdfc81f77203822d80151b40ce9e8fd82bb2de85a9b132ceed12d24d3f3ff52",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17436/l_ipp_oneapi_p_2021.1.1.47_offline.sh",
+ sha256="2656a3a7f1f9f1438cbdf98fd472a213c452754ef9476dd65190a7d46618ba86",
+ expand=False,
+ )
- depends_on('intel-oneapi-tbb')
+ depends_on("intel-oneapi-tbb")
- provides('ipp')
+ provides("ipp")
@property
def component_dir(self):
- return 'ipp'
+ return "ipp"
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 be5beddbbc..1ac8c9dad8 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py
@@ -12,52 +12,68 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiIppcp(IntelOneApiLibraryPackage):
"""Intel Integrated Performance Primitives (Intel IPP) is an extensive
- library of ready-to-use, domain-specific functions that are
- highly optimized for diverse Intel architectures. These
- functions take advantage of Single Instruction, Multiple Data
- (SIMD) instructions and improve the performance of
- computation-intensive applications, including signal
- processing, data compression, video processing, and
- cryptography. The intel-oneapi-ippcp package contains support
- for cryptography and everything else can be found in the
- intel-oneapi-ipp package.
+ library of ready-to-use, domain-specific functions that are
+ highly optimized for diverse Intel architectures. These
+ functions take advantage of Single Instruction, Multiple Data
+ (SIMD) instructions and improve the performance of
+ computation-intensive applications, including signal
+ processing, data compression, video processing, and
+ cryptography. The intel-oneapi-ippcp package contains support
+ for cryptography and everything else can be found in the
+ intel-oneapi-ipp package.
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html'
-
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18709/l_ippcp_oneapi_p_2021.6.0.536_offline.sh',
- sha256='dac90862b408a6418f3782a5c4bf940939b1307ff4841ecfc6a29322976a2d43',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18470/l_ippcp_oneapi_p_2021.5.1.462_offline.sh',
- sha256='7ec058abbc1cdfd240320228d6426c65e5a855fd3a27e11fbd1ad2523f64812a',
- expand=False)
- version('2021.5.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18364/l_ippcp_oneapi_p_2021.5.0.445_offline.sh',
- sha256='e71aee288cc970b9c9fe21f7d5c300dbc2a4ea0687c7028f200d6b87e6c895a1',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18187/l_ippcp_oneapi_p_2021.4.0.401_offline.sh',
- sha256='2ca2320f733ee75b4a27865185a1b0730879fe2c47596e570b1bd50d0b8ac608',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17886/l_ippcp_oneapi_p_2021.3.0.315_offline.sh',
- sha256='0214d132d8e64b02e9cc63182e2099fb9caebf8c240fb1629ae898c2e1f72fb9',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17684/l_ippcp_oneapi_p_2021.2.0.231_offline.sh',
- sha256='64cd5924b42f924b6a8128a8bf8e686f5dc52b98f586ffac6c2e2f1585e3aba9',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17415/l_ippcp_oneapi_p_2021.1.1.54_offline.sh',
- sha256='c0967afae22c7a223ec42542bcc702121064cd3d8f680eff36169c94f964a936',
- expand=False)
+ maintainers = ["rscohn2"]
+
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html"
+ )
+
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18709/l_ippcp_oneapi_p_2021.6.0.536_offline.sh",
+ sha256="dac90862b408a6418f3782a5c4bf940939b1307ff4841ecfc6a29322976a2d43",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18470/l_ippcp_oneapi_p_2021.5.1.462_offline.sh",
+ sha256="7ec058abbc1cdfd240320228d6426c65e5a855fd3a27e11fbd1ad2523f64812a",
+ expand=False,
+ )
+ version(
+ "2021.5.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18364/l_ippcp_oneapi_p_2021.5.0.445_offline.sh",
+ sha256="e71aee288cc970b9c9fe21f7d5c300dbc2a4ea0687c7028f200d6b87e6c895a1",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18187/l_ippcp_oneapi_p_2021.4.0.401_offline.sh",
+ sha256="2ca2320f733ee75b4a27865185a1b0730879fe2c47596e570b1bd50d0b8ac608",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17886/l_ippcp_oneapi_p_2021.3.0.315_offline.sh",
+ sha256="0214d132d8e64b02e9cc63182e2099fb9caebf8c240fb1629ae898c2e1f72fb9",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17684/l_ippcp_oneapi_p_2021.2.0.231_offline.sh",
+ sha256="64cd5924b42f924b6a8128a8bf8e686f5dc52b98f586ffac6c2e2f1585e3aba9",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17415/l_ippcp_oneapi_p_2021.1.1.54_offline.sh",
+ sha256="c0967afae22c7a223ec42542bcc702121064cd3d8f680eff36169c94f964a936",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'ippcp'
+ return "ippcp"
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 bbd0e2b350..4d52e7347a 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py
@@ -12,79 +12,95 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiMkl(IntelOneApiLibraryPackage):
"""Intel oneAPI Math Kernel Library (Intel oneMKL; formerly Intel Math
- Kernel Library or Intel MKL), is a library of optimized math
- routines for science, engineering, and financial
- applications. Core math functions include BLAS, LAPACK,
- ScaLAPACK, sparse solvers, fast Fourier transforms, and vector
- math.
+ Kernel Library or Intel MKL), is a library of optimized math
+ routines for science, engineering, and financial
+ applications. Core math functions include BLAS, LAPACK,
+ ScaLAPACK, sparse solvers, fast Fourier transforms, and vector
+ math.
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html'
-
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18721/l_onemkl_p_2022.1.0.223_offline.sh',
- sha256='4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e',
- expand=False)
- version('2022.0.2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18483/l_onemkl_p_2022.0.2.136_offline.sh',
- sha256='134b748825a474acc862bb4a7fada99741a15b7627cfaa6ba0fb05ec0b902b5e',
- expand=False)
- version('2022.0.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18444/l_onemkl_p_2022.0.1.117_offline.sh',
- sha256='22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18222/l_onemkl_p_2021.4.0.640_offline.sh',
- sha256='9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17901/l_onemkl_p_2021.3.0.520_offline.sh',
- sha256='a06e1cdbfd8becc63440b473b153659885f25a6e3c4dcb2907ad9cd0c3ad59ce',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17757/l_onemkl_p_2021.2.0.296_offline.sh',
- sha256='816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17402/l_onemkl_p_2021.1.1.52_offline.sh',
- sha256='818b6bd9a6c116f4578cda3151da0612ec9c3ce8b2c8a64730d625ce5b13cc0c',
- expand=False)
-
- variant('shared', default=True, description='Builds shared library')
- variant('ilp64', default=False,
- description='Build with ILP64 support')
- variant('cluster', default=False,
- description='Build with cluster support: scalapack, blacs, etc')
-
- depends_on('intel-oneapi-tbb')
+ maintainers = ["rscohn2"]
+
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html"
+ )
+
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18721/l_onemkl_p_2022.1.0.223_offline.sh",
+ sha256="4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e",
+ expand=False,
+ )
+ version(
+ "2022.0.2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18483/l_onemkl_p_2022.0.2.136_offline.sh",
+ sha256="134b748825a474acc862bb4a7fada99741a15b7627cfaa6ba0fb05ec0b902b5e",
+ expand=False,
+ )
+ version(
+ "2022.0.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18444/l_onemkl_p_2022.0.1.117_offline.sh",
+ sha256="22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18222/l_onemkl_p_2021.4.0.640_offline.sh",
+ sha256="9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17901/l_onemkl_p_2021.3.0.520_offline.sh",
+ sha256="a06e1cdbfd8becc63440b473b153659885f25a6e3c4dcb2907ad9cd0c3ad59ce",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17757/l_onemkl_p_2021.2.0.296_offline.sh",
+ sha256="816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17402/l_onemkl_p_2021.1.1.52_offline.sh",
+ sha256="818b6bd9a6c116f4578cda3151da0612ec9c3ce8b2c8a64730d625ce5b13cc0c",
+ expand=False,
+ )
+
+ variant("shared", default=True, description="Builds shared library")
+ variant("ilp64", default=False, description="Build with ILP64 support")
+ variant(
+ "cluster", default=False, description="Build with cluster support: scalapack, blacs, etc"
+ )
+
+ depends_on("intel-oneapi-tbb")
# cluster libraries need mpi
- depends_on('mpi', when='+cluster')
+ depends_on("mpi", when="+cluster")
- provides('fftw-api@3')
- provides('scalapack', when='+cluster')
- provides('mkl')
- provides('lapack')
- provides('blas')
+ provides("fftw-api@3")
+ provides("scalapack", when="+cluster")
+ provides("mkl")
+ provides("lapack")
+ provides("blas")
@property
def component_dir(self):
- return 'mkl'
+ return "mkl"
@property
def headers(self):
- return find_headers('*', self.component_prefix.include)
+ return find_headers("*", self.component_prefix.include)
@property
def libs(self):
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
libs = self._find_mkl_libs(shared)
- system_libs = find_system_libraries(['libpthread', 'libm', 'libdl'])
+ system_libs = find_system_libraries(["libpthread", "libm", "libdl"])
if shared:
return libs + system_libs
else:
@@ -100,28 +116,26 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage):
# flags too. We prefer the __INTEL_POST_CFLAGS/__INTEL_POST_FFLAGS flags over
# the PRE ones so that any other RPATHs provided by the users on the command
# line come before and take precedence over the ones we inject here.
- for d in self._find_mkl_libs('+shared' in self.spec).directories:
- flag = '-Wl,-rpath,{0}'.format(d)
- env.append_path('__INTEL_POST_CFLAGS', flag, separator=' ')
- env.append_path('__INTEL_POST_FFLAGS', flag, separator=' ')
+ for d in self._find_mkl_libs("+shared" in self.spec).directories:
+ flag = "-Wl,-rpath,{0}".format(d)
+ env.append_path("__INTEL_POST_CFLAGS", flag, separator=" ")
+ env.append_path("__INTEL_POST_FFLAGS", flag, separator=" ")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('MKLROOT', self.component_prefix)
+ env.set("MKLROOT", self.component_prefix)
def _find_mkl_libs(self, shared):
libs = []
- if '+cluster' in self.spec:
- libs.extend([self._xlp64_lib('libmkl_scalapack'), 'libmkl_cdft_core'])
+ if "+cluster" in self.spec:
+ libs.extend([self._xlp64_lib("libmkl_scalapack"), "libmkl_cdft_core"])
- libs.extend([self._xlp64_lib('libmkl_intel'),
- 'libmkl_sequential', 'libmkl_core'])
+ libs.extend([self._xlp64_lib("libmkl_intel"), "libmkl_sequential", "libmkl_core"])
- if '+cluster' in self.spec:
- libs.append(self._xlp64_lib('libmkl_blacs_intelmpi'))
+ if "+cluster" in self.spec:
+ libs.append(self._xlp64_lib("libmkl_blacs_intelmpi"))
- return find_libraries(
- libs, self.component_prefix.lib.intel64, shared=shared)
+ return find_libraries(libs, self.component_prefix.lib.intel64, shared=shared)
def _xlp64_lib(self, lib):
- return lib + ('_ilp64' if '+ilp64' in self.spec else '_lp64')
+ return lib + ("_ilp64" if "+ilp64" in self.spec else "_lp64")
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 e8e8e3e268..08ef7fa3dc 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
@@ -12,129 +12,148 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiMpi(IntelOneApiLibraryPackage):
"""Intel MPI Library is a multifabric message-passing library that
- implements the open-source MPICH specification. Use the library
- to create, maintain, and test advanced, complex applications
- that perform better on high-performance computing (HPC)
- clusters based on Intel processors.
+ implements the open-source MPICH specification. Use the library
+ to create, maintain, and test advanced, complex applications
+ that perform better on high-performance computing (HPC)
+ clusters based on Intel processors.
"""
- maintainers = ['rscohn2', ]
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html'
-
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18714/l_mpi_oneapi_p_2021.6.0.602_offline.sh',
- sha256='e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18471/l_mpi_oneapi_p_2021.5.1.515_offline.sh',
- sha256='b992573959e39752e503e691564a0d876b099547c38b322d5775c5b06ec07a7f',
- expand=False)
- version('2021.5.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18370/l_mpi_oneapi_p_2021.5.0.495_offline.sh',
- sha256='3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18186/l_mpi_oneapi_p_2021.4.0.441_offline.sh',
- sha256='cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17947/l_mpi_oneapi_p_2021.3.0.294_offline.sh',
- sha256='04c48f864ee4c723b1b4ca62f2bea8c04d5d7e3de19171fd62b17868bc79bc36',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/l_mpi_oneapi_p_2021.2.0.215_offline.sh',
- sha256='d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17397/l_mpi_oneapi_p_2021.1.1.76_offline.sh',
- sha256='8b7693a156c6fc6269637bef586a8fd3ea6610cac2aae4e7f48c1fbb601625fe',
- expand=False)
-
- variant('ilp64', default=False,
- description='Build with ILP64 support')
- variant('generic-names', default=False,
- description='Use generic names, e.g mpicc instead of mpiicc')
- variant('external-libfabric', default=False,
- description='Enable external libfabric dependency')
- depends_on('libfabric', when='+external-libfabric', type=('link', 'run'))
-
- provides('mpi@:3.1')
+ maintainers = [
+ "rscohn2",
+ ]
+
+ homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html"
+
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18714/l_mpi_oneapi_p_2021.6.0.602_offline.sh",
+ sha256="e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18471/l_mpi_oneapi_p_2021.5.1.515_offline.sh",
+ sha256="b992573959e39752e503e691564a0d876b099547c38b322d5775c5b06ec07a7f",
+ expand=False,
+ )
+ version(
+ "2021.5.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18370/l_mpi_oneapi_p_2021.5.0.495_offline.sh",
+ sha256="3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18186/l_mpi_oneapi_p_2021.4.0.441_offline.sh",
+ sha256="cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17947/l_mpi_oneapi_p_2021.3.0.294_offline.sh",
+ sha256="04c48f864ee4c723b1b4ca62f2bea8c04d5d7e3de19171fd62b17868bc79bc36",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/l_mpi_oneapi_p_2021.2.0.215_offline.sh",
+ sha256="d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17397/l_mpi_oneapi_p_2021.1.1.76_offline.sh",
+ sha256="8b7693a156c6fc6269637bef586a8fd3ea6610cac2aae4e7f48c1fbb601625fe",
+ expand=False,
+ )
+
+ variant("ilp64", default=False, description="Build with ILP64 support")
+ variant(
+ "generic-names",
+ default=False,
+ description="Use generic names, e.g mpicc instead of mpiicc",
+ )
+ variant(
+ "external-libfabric", default=False, description="Enable external libfabric dependency"
+ )
+ depends_on("libfabric", when="+external-libfabric", type=("link", "run"))
+
+ provides("mpi@:3.1")
@property
def component_dir(self):
- return 'mpi'
+ return "mpi"
def setup_dependent_package(self, module, dep_spec):
- if '+generic-names' in self.spec:
- self.spec.mpicc = join_path(self.component_prefix.bin, 'mpicc')
- self.spec.mpicxx = join_path(self.component_prefix.bin, 'mpicxx')
- self.spec.mpif77 = join_path(self.component_prefix.bin, 'mpif77')
- self.spec.mpifc = join_path(self.component_prefix.bin, 'mpifc')
+ if "+generic-names" in self.spec:
+ self.spec.mpicc = join_path(self.component_prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.component_prefix.bin, "mpicxx")
+ self.spec.mpif77 = join_path(self.component_prefix.bin, "mpif77")
+ self.spec.mpifc = join_path(self.component_prefix.bin, "mpifc")
else:
- self.spec.mpicc = join_path(self.component_prefix.bin, 'mpiicc')
- self.spec.mpicxx = join_path(self.component_prefix.bin, 'mpiicpc')
- self.spec.mpif77 = join_path(self.component_prefix.bin, 'mpiifort')
- self.spec.mpifc = join_path(self.component_prefix.bin, 'mpiifort')
+ self.spec.mpicc = join_path(self.component_prefix.bin, "mpiicc")
+ self.spec.mpicxx = join_path(self.component_prefix.bin, "mpiicpc")
+ self.spec.mpif77 = join_path(self.component_prefix.bin, "mpiifort")
+ self.spec.mpifc = join_path(self.component_prefix.bin, "mpiifort")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('MPICH_CC', spack_cc)
- env.set('MPICH_CXX', spack_cxx)
- env.set('MPICH_F77', spack_f77)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
# Set compiler wrappers for dependent build stage
- if '+generic-names' in self.spec:
- env.set('MPICC', join_path(self.component_prefix.bin, 'mpicc'))
- env.set('MPICXX', join_path(self.component_prefix.bin, 'mpicxx'))
- env.set('MPIF77', join_path(self.component_prefix.bin, 'mpif77'))
- env.set('MPIF90', join_path(self.component_prefix.bin, 'mpif90'))
- env.set('MPIFC', join_path(self.component_prefix.bin, 'mpifc'))
+ if "+generic-names" in self.spec:
+ env.set("MPICC", join_path(self.component_prefix.bin, "mpicc"))
+ env.set("MPICXX", join_path(self.component_prefix.bin, "mpicxx"))
+ env.set("MPIF77", join_path(self.component_prefix.bin, "mpif77"))
+ env.set("MPIF90", join_path(self.component_prefix.bin, "mpif90"))
+ env.set("MPIFC", join_path(self.component_prefix.bin, "mpifc"))
else:
- env.set('MPICC', join_path(self.component_prefix.bin, 'mpiicc'))
- env.set('MPICXX', join_path(self.component_prefix.bin, 'mpiicpc'))
- env.set('MPIF77', join_path(self.component_prefix.bin, 'mpiifort'))
- env.set('MPIF90', join_path(self.component_prefix.bin, 'mpiifort'))
- env.set('MPIFC', join_path(self.component_prefix.bin, 'mpiifort'))
+ env.set("MPICC", join_path(self.component_prefix.bin, "mpiicc"))
+ env.set("MPICXX", join_path(self.component_prefix.bin, "mpiicpc"))
+ env.set("MPIF77", join_path(self.component_prefix.bin, "mpiifort"))
+ env.set("MPIF90", join_path(self.component_prefix.bin, "mpiifort"))
+ env.set("MPIFC", join_path(self.component_prefix.bin, "mpiifort"))
- env.set('I_MPI_ROOT', self.component_prefix)
+ env.set("I_MPI_ROOT", self.component_prefix)
@property
def headers(self):
- headers = find_headers('*', self.component_prefix.include)
- if '+ilp64' in self.spec:
- headers += find_headers('*', self.component_prefix.include.ilp64)
+ headers = find_headers("*", self.component_prefix.include)
+ if "+ilp64" in self.spec:
+ headers += find_headers("*", self.component_prefix.include.ilp64)
return headers
@property
def libs(self):
libs = []
- if '+ilp64' in self.spec:
- libs += find_libraries('libmpi_ilp64', self.component_prefix.lib.release)
- libs += find_libraries(['libmpicxx', 'libmpifort'], self.component_prefix.lib)
- libs += find_libraries('libmpi', self.component_prefix.lib.release)
- libs += find_system_libraries(['libdl', 'librt', 'libpthread'])
+ if "+ilp64" in self.spec:
+ libs += find_libraries("libmpi_ilp64", self.component_prefix.lib.release)
+ libs += find_libraries(["libmpicxx", "libmpifort"], self.component_prefix.lib)
+ libs += find_libraries("libmpi", self.component_prefix.lib.release)
+ libs += find_system_libraries(["libdl", "librt", "libpthread"])
# Find libfabric for libmpi.so
- if '+external-libfabric' in self.spec:
- libs += self.spec['libfabric'].libs
+ if "+external-libfabric" in self.spec:
+ libs += self.spec["libfabric"].libs
else:
- libs += find_libraries(['libfabric'], self.component_prefix.libfabric.lib)
+ libs += find_libraries(["libfabric"], self.component_prefix.libfabric.lib)
return libs
- @run_after('install')
+ @run_after("install")
def fix_wrappers(self):
# When spack builds from source
# fix I_MPI_SUBSTITUTE_INSTALLDIR and
# __EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__
- for wrapper in ['mpif77', 'mpif90', 'mpigcc', 'mpigxx', 'mpiicc',
- 'mpiicpc', 'mpiifort']:
- filter_file(r'I_MPI_SUBSTITUTE_INSTALLDIR|'
- r'__EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__',
- self.component_prefix,
- self.component_prefix.bin.join(wrapper),
- backup=False)
+ for wrapper in ["mpif77", "mpif90", "mpigcc", "mpigxx", "mpiicc", "mpiicpc", "mpiifort"]:
+ filter_file(
+ r"I_MPI_SUBSTITUTE_INSTALLDIR|" r"__EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__",
+ self.component_prefix,
+ self.component_prefix.bin.join(wrapper),
+ backup=False,
+ )
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 88b1d8628d..c558ef0c7e 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py
@@ -12,48 +12,64 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelOneapiTbb(IntelOneApiLibraryPackage):
"""Intel oneAPI Threading Building Blocks (oneTBB) is a flexible
- performance library that simplifies the work of adding
- parallelism to complex applications across accelerated
- architectures, even if you are not a threading expert.
+ performance library that simplifies the work of adding
+ parallelism to complex applications across accelerated
+ architectures, even if you are not a threading expert.
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html'
-
- if platform.system() == 'Linux':
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18728/l_tbb_oneapi_p_2021.6.0.835_offline.sh',
- sha256='e9ede40a3d7745de6d711d43818f820c8486ab544a45610a71118fbca20698e5',
- expand=False)
- version('2021.5.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18473/l_tbb_oneapi_p_2021.5.1.738_offline.sh',
- sha256='c154749f1f370e4cde11a0a7c80452d479e2dfa53ff2b1b97003d9c0d99c91e3',
- expand=False)
- version('2021.5.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18380/l_tbb_oneapi_p_2021.5.0.707_offline.sh',
- sha256='6ff7890a74a43ae02e0fa2d9c5533fce70a49dff8e73278b546a0995367fec5e',
- expand=False)
- version('2021.4.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18194/l_tbb_oneapi_p_2021.4.0.643_offline.sh',
- sha256='33332012ff8ffe7987b1a20bea794d76f7d8050ccff04fa6e1990974c336ee24',
- expand=False)
- version('2021.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17952/l_tbb_oneapi_p_2021.3.0.511_offline.sh',
- sha256='b83f5e018e3d262e42e9c96881845bbc09c3f036c265e65023422ca8e8637633',
- expand=False)
- version('2021.2.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17759/l_tbb_oneapi_p_2021.2.0.357_offline.sh',
- sha256='c1c3623c5bef547b30eac009e7a444611bf714c758d7472c114e9be9d5700eba',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17378/l_tbb_oneapi_p_2021.1.1.119_offline.sh',
- sha256='535290e3910a9d906a730b24af212afa231523cf13a668d480bade5f2a01b53b',
- expand=False)
-
- provides('tbb')
+ maintainers = ["rscohn2"]
+
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html"
+ )
+
+ if platform.system() == "Linux":
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18728/l_tbb_oneapi_p_2021.6.0.835_offline.sh",
+ sha256="e9ede40a3d7745de6d711d43818f820c8486ab544a45610a71118fbca20698e5",
+ expand=False,
+ )
+ version(
+ "2021.5.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18473/l_tbb_oneapi_p_2021.5.1.738_offline.sh",
+ sha256="c154749f1f370e4cde11a0a7c80452d479e2dfa53ff2b1b97003d9c0d99c91e3",
+ expand=False,
+ )
+ version(
+ "2021.5.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18380/l_tbb_oneapi_p_2021.5.0.707_offline.sh",
+ sha256="6ff7890a74a43ae02e0fa2d9c5533fce70a49dff8e73278b546a0995367fec5e",
+ expand=False,
+ )
+ version(
+ "2021.4.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18194/l_tbb_oneapi_p_2021.4.0.643_offline.sh",
+ sha256="33332012ff8ffe7987b1a20bea794d76f7d8050ccff04fa6e1990974c336ee24",
+ expand=False,
+ )
+ version(
+ "2021.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17952/l_tbb_oneapi_p_2021.3.0.511_offline.sh",
+ sha256="b83f5e018e3d262e42e9c96881845bbc09c3f036c265e65023422ca8e8637633",
+ expand=False,
+ )
+ version(
+ "2021.2.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17759/l_tbb_oneapi_p_2021.2.0.357_offline.sh",
+ sha256="c1c3623c5bef547b30eac009e7a444611bf714c758d7472c114e9be9d5700eba",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17378/l_tbb_oneapi_p_2021.1.1.119_offline.sh",
+ sha256="535290e3910a9d906a730b24af212afa231523cf13a668d480bade5f2a01b53b",
+ expand=False,
+ )
+
+ provides("tbb")
@property
def component_dir(self):
- return 'tbb'
+ return "tbb"
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 17c2ec3a50..cf77f1c9c5 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py
@@ -21,32 +21,44 @@ class IntelOneapiVpl(IntelOneApiLibraryPackage):
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html'
-
- if platform.system() == 'Linux':
- version('2022.1.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18750/l_oneVPL_p_2022.1.0.154_offline.sh',
- sha256='486cca918c9772a43f62da77e07cdf54dabb92ecebf494eb8c89c4492ab43447',
- expand=False)
- version('2022.0.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18375/l_oneVPL_p_2022.0.0.58_offline.sh',
- sha256='600b8566e1aa523b97291bed6b08f69a04bc7c4c75c035942a64a38f45a1a7f0',
- expand=False)
- version('2021.6.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18190/l_oneVPL_p_2021.6.0.458_offline.sh',
- sha256='40c50008be3f03d17cc8c0c34324593c1d419ee4c45af5543aa5a2d5fb11071f',
- expand=False)
- version('2021.2.2',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17733/l_oneVPL_p_2021.2.2.212_offline.sh',
- sha256='21106ba5cde22f3e31fd55280fbccf263508fa054030f12d5dff4a5379ef3bb7',
- expand=False)
- version('2021.1.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/17418/l_oneVPL_p_2021.1.1.66_offline.sh',
- sha256='0fec42545b30b7bb2e4e33deb12ab27a02900f5703153d9601673a8ce43082ed',
- expand=False)
+ maintainers = ["rscohn2"]
+
+ homepage = (
+ "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html"
+ )
+
+ if platform.system() == "Linux":
+ version(
+ "2022.1.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18750/l_oneVPL_p_2022.1.0.154_offline.sh",
+ sha256="486cca918c9772a43f62da77e07cdf54dabb92ecebf494eb8c89c4492ab43447",
+ expand=False,
+ )
+ version(
+ "2022.0.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18375/l_oneVPL_p_2022.0.0.58_offline.sh",
+ sha256="600b8566e1aa523b97291bed6b08f69a04bc7c4c75c035942a64a38f45a1a7f0",
+ expand=False,
+ )
+ version(
+ "2021.6.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18190/l_oneVPL_p_2021.6.0.458_offline.sh",
+ sha256="40c50008be3f03d17cc8c0c34324593c1d419ee4c45af5543aa5a2d5fb11071f",
+ expand=False,
+ )
+ version(
+ "2021.2.2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17733/l_oneVPL_p_2021.2.2.212_offline.sh",
+ sha256="21106ba5cde22f3e31fd55280fbccf263508fa054030f12d5dff4a5379ef3bb7",
+ expand=False,
+ )
+ version(
+ "2021.1.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17418/l_oneVPL_p_2021.1.1.66_offline.sh",
+ sha256="0fec42545b30b7bb2e4e33deb12ab27a02900f5703153d9601673a8ce43082ed",
+ expand=False,
+ )
@property
def component_dir(self):
- return 'vpl'
+ return "vpl"
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
index 8a104c75f2..b20fc56389 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
@@ -23,28 +23,36 @@ class IntelOneapiVtune(IntelOneApiPackage):
"""
- maintainers = ['rscohn2']
-
- homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/vtune-profiler.html'
-
- if platform.system() == 'Linux':
- version('2022.3.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18656/l_oneapi_vtune_p_2022.3.0.195_offline.sh',
- sha256='7921fce7fcc3b82575be22d9c36beec961ba2a9fb5262ba16a04090bcbd2e1a6',
- expand=False)
- version('2022.0.0',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18406/l_oneapi_vtune_p_2022.0.0.94_offline.sh',
- sha256='aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7',
- expand=False)
- version('2021.7.1',
- url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18086/l_oneapi_vtune_p_2021.7.1.492_offline.sh',
- sha256='4cf17078ae6e09f26f70bd9d0b726af234cc30c342ae4a8fda69941b40139b26',
- expand=False)
- 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)
+ maintainers = ["rscohn2"]
+
+ homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/vtune-profiler.html"
+
+ if platform.system() == "Linux":
+ version(
+ "2022.3.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18656/l_oneapi_vtune_p_2022.3.0.195_offline.sh",
+ sha256="7921fce7fcc3b82575be22d9c36beec961ba2a9fb5262ba16a04090bcbd2e1a6",
+ expand=False,
+ )
+ version(
+ "2022.0.0",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18406/l_oneapi_vtune_p_2022.0.0.94_offline.sh",
+ sha256="aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7",
+ expand=False,
+ )
+ version(
+ "2021.7.1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18086/l_oneapi_vtune_p_2021.7.1.492_offline.sh",
+ sha256="4cf17078ae6e09f26f70bd9d0b726af234cc30c342ae4a8fda69941b40139b26",
+ expand=False,
+ )
+ 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'
+ return "vtune"
diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
index 4a6fadfa89..a02e75feb8 100644
--- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
+++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
@@ -9,15 +9,15 @@ from spack.package import *
@IntelOneApiPackage.update_description
class IntelParallelStudio(IntelPackage):
"""This is an earlier version of Intel parallel software development
- tools and has now been replaced by the Intel oneAPI Toolkits.
+ tools and has now been replaced by the Intel oneAPI Toolkits.
"""
homepage = "https://software.intel.com/en-us/intel-parallel-studio-xe"
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- depends_on('patchelf', type='build')
+ depends_on("patchelf", type="build")
# As of 2016, the product comes in three "editions" that vary by scope.
#
@@ -28,221 +28,568 @@ class IntelParallelStudio(IntelPackage):
# in the 'intel' package.
# Cluster Edition (top tier; all components included)
- version('cluster.2020.4', sha256='f36e49da97b6ce24d2d464d73d7ff49d71cff20e1698c20e607919819602a9f5', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17113/parallel_studio_xe_2020_update4_cluster_edition.tgz')
- version('cluster.2020.2', sha256='4795c44374e8988b91da20ac8f13022d7d773461def4a26ca210a8694f69f133', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz')
- version('cluster.2020.1', sha256='fd11d8de72b2bd60474f8bce7b463e4cbb2255969b9eaf24f689575aa2a2abab', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz')
- version('cluster.2020.0', sha256='573b1d20707d68ce85b70934cfad15b5ad9cc14124a261c17ddd7717ba842c64', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz')
- #
- version('cluster.2019.5', sha256='c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz')
- version('cluster.2019.4', sha256='32aee12de3b5ca14caf7578313c06b205795c67620f4a9606ea45696ee3b3d9e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15533/parallel_studio_xe_2019_update4_cluster_edition.tgz')
- version('cluster.2019.3', sha256='b5b022366d6d1a98dbb63b60221c62bc951c9819653ad6f5142192e89f78cf63', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15268/parallel_studio_xe_2019_update3_cluster_edition.tgz')
- version('cluster.2019.2', sha256='8c526bdd95d1da454e5cada00f7a2353089b86d0c9df2088ca7f842fe3ff4cae', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15088/parallel_studio_xe_2019_update2_cluster_edition.tgz')
- version('cluster.2019.1', sha256='3a1eb39f15615f7a2688426b9835e5e841e0c030f21dcfc899fe23e09bd2c645', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14850/parallel_studio_xe_2019_update1_cluster_edition.tgz')
- version('cluster.2019.0', sha256='1096dd4139bdd4b3abbda69a17d1e229a606759f793f5b0ba0d39623928ee4a1', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13589/parallel_studio_xe_2019_cluster_edition.tgz')
- #
- version('cluster.2018.4', sha256='210a5904a860e11b861720e68416f91fd47a459e4500976853291fa8b0478566', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13717/parallel_studio_xe_2018_update4_cluster_edition.tgz')
- version('cluster.2018.3', sha256='23c64b88cea5056eaeef7b4ae0f4c6a86485c97f5e41d6c8419cb00aa4929287', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12998/parallel_studio_xe_2018_update3_cluster_edition.tgz')
- version('cluster.2018.2', sha256='550bc4758f7dd70e75830d329947532ad8b7cbb85225b8ec6db7e78a3f1d6d84', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz')
- version('cluster.2018.1', sha256='f7a94e83248d2641eb7ae2c1abf681067203a5b4372619e039861b468744774c', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12374/parallel_studio_xe_2018_update1_cluster_edition.tgz')
- version('cluster.2018.0', sha256='526e5e71c420dc9b557b0bae2a81abb33eedb9b6a28ac94996ccbcf71cf53774', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12058/parallel_studio_xe_2018_cluster_edition.tgz')
- #
- version('cluster.2017.7', sha256='133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz')
- version('cluster.2017.6', sha256='d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz')
- version('cluster.2017.5', sha256='36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz')
- version('cluster.2017.4', sha256='27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz')
- version('cluster.2017.3', sha256='856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz')
- version('cluster.2017.2', sha256='83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz')
- version('cluster.2017.1', sha256='c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz')
- version('cluster.2017.0', sha256='f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz')
- #
- version('cluster.2016.4', sha256='ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz')
- version('cluster.2016.3', sha256='aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz')
- version('cluster.2016.2', sha256='280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz')
- version('cluster.2016.1', sha256='f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz')
- version('cluster.2016.0', sha256='fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz')
- #
- version('cluster.2015.6', sha256='e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz')
- version('cluster.2015.1', sha256='84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz')
+ version(
+ "cluster.2020.4",
+ sha256="f36e49da97b6ce24d2d464d73d7ff49d71cff20e1698c20e607919819602a9f5",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17113/parallel_studio_xe_2020_update4_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2020.2",
+ sha256="4795c44374e8988b91da20ac8f13022d7d773461def4a26ca210a8694f69f133",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2020.1",
+ sha256="fd11d8de72b2bd60474f8bce7b463e4cbb2255969b9eaf24f689575aa2a2abab",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2020.0",
+ sha256="573b1d20707d68ce85b70934cfad15b5ad9cc14124a261c17ddd7717ba842c64",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz",
+ )
+ #
+ version(
+ "cluster.2019.5",
+ sha256="c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2019.4",
+ sha256="32aee12de3b5ca14caf7578313c06b205795c67620f4a9606ea45696ee3b3d9e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15533/parallel_studio_xe_2019_update4_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2019.3",
+ sha256="b5b022366d6d1a98dbb63b60221c62bc951c9819653ad6f5142192e89f78cf63",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15268/parallel_studio_xe_2019_update3_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2019.2",
+ sha256="8c526bdd95d1da454e5cada00f7a2353089b86d0c9df2088ca7f842fe3ff4cae",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15088/parallel_studio_xe_2019_update2_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2019.1",
+ sha256="3a1eb39f15615f7a2688426b9835e5e841e0c030f21dcfc899fe23e09bd2c645",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14850/parallel_studio_xe_2019_update1_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2019.0",
+ sha256="1096dd4139bdd4b3abbda69a17d1e229a606759f793f5b0ba0d39623928ee4a1",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13589/parallel_studio_xe_2019_cluster_edition.tgz",
+ )
+ #
+ version(
+ "cluster.2018.4",
+ sha256="210a5904a860e11b861720e68416f91fd47a459e4500976853291fa8b0478566",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13717/parallel_studio_xe_2018_update4_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2018.3",
+ sha256="23c64b88cea5056eaeef7b4ae0f4c6a86485c97f5e41d6c8419cb00aa4929287",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12998/parallel_studio_xe_2018_update3_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2018.2",
+ sha256="550bc4758f7dd70e75830d329947532ad8b7cbb85225b8ec6db7e78a3f1d6d84",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2018.1",
+ sha256="f7a94e83248d2641eb7ae2c1abf681067203a5b4372619e039861b468744774c",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12374/parallel_studio_xe_2018_update1_cluster_edition.tgz",
+ )
+ version(
+ "cluster.2018.0",
+ sha256="526e5e71c420dc9b557b0bae2a81abb33eedb9b6a28ac94996ccbcf71cf53774",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12058/parallel_studio_xe_2018_cluster_edition.tgz",
+ )
+ #
+ version(
+ "cluster.2017.7",
+ sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz",
+ )
+ version(
+ "cluster.2017.6",
+ sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz",
+ )
+ version(
+ "cluster.2017.5",
+ sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz",
+ )
+ version(
+ "cluster.2017.4",
+ sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz",
+ )
+ version(
+ "cluster.2017.3",
+ sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz",
+ )
+ version(
+ "cluster.2017.2",
+ sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz",
+ )
+ version(
+ "cluster.2017.1",
+ sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz",
+ )
+ version(
+ "cluster.2017.0",
+ sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz",
+ )
+ #
+ version(
+ "cluster.2016.4",
+ sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz",
+ )
+ version(
+ "cluster.2016.3",
+ sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz",
+ )
+ version(
+ "cluster.2016.2",
+ sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz",
+ )
+ version(
+ "cluster.2016.1",
+ sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz",
+ )
+ version(
+ "cluster.2016.0",
+ sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz",
+ )
+ #
+ version(
+ "cluster.2015.6",
+ sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz",
+ )
+ version(
+ "cluster.2015.1",
+ sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz",
+ )
# Professional Edition (middle tier; excluded: MPI/TAC/Cluster Checker)
#
# NB: Pre-2018 download packages for Professional are the same as for
# Cluster; differences manifest only in the tokens present in the license
# file delivered as part of the purchase.
- version('professional.2020.4', sha256='f9679a40c63575191385837f4f1bdafbcfd3736f09ac51d0761248b9ca9cc9e6', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17114/parallel_studio_xe_2020_update4_professional_edition.tgz')
- version('professional.2020.2', sha256='96f9bca551a43e09d9648e8cba357739a759423adb671d1aa5973b7a930370c5', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz')
- version('professional.2020.1', sha256='5b547be92ecf50cb338b3038a565f5609135b27aa98a8b7964879eb2331eb29a', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz')
- version('professional.2020.0', sha256='e88cad18d28da50ed9cb87b12adccf13efd91bf94731dc33290481306c6f15ac', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16226/parallel_studio_xe_2020_professional_edition.tgz')
- #
- version('professional.2019.5', sha256='0ec638330214539361f8632e20759f385a5a78013dcc980ee93743d86d354452', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15810/parallel_studio_xe_2019_update5_professional_edition.tgz')
- version('professional.2019.4', sha256='9b2818ea5739ade100841e99ce79ef7f4049a2513beb2ce20fc94706f1ba0231', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15534/parallel_studio_xe_2019_update4_professional_edition.tgz')
- version('professional.2019.3', sha256='92a8879106d0bdf1ecf4670cd97fbcdc67d78b13bdf484f2c516a533aa7a27f9', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15269/parallel_studio_xe_2019_update3_professional_edition.tgz')
- version('professional.2019.2', sha256='cdb629d74612d135ca197f1f64e6a081e31df68cda92346a29e1223bb06e64ea', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15089/parallel_studio_xe_2019_update2_professional_edition.tgz')
- version('professional.2019.1', sha256='bc83ef5a728903359ae11a2b90ad7dae4ae61194afb28bb5bb419f6a6aea225d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14825/parallel_studio_xe_2019_update1_professional_edition.tgz')
- version('professional.2019.0', sha256='94b9714e353e5c4f58d38cb236e2f8911cbef31c4b42a148d60c988e926411e2', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13578/parallel_studio_xe_2019_professional_edition.tgz')
- #
- version('professional.2018.4', sha256='54ab4320da849108602096fa7a34aa21751068467e0d1584aa8f16352b77d323', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13718/parallel_studio_xe_2018_update4_professional_edition.tgz')
- version('professional.2018.3', sha256='3d8e72ccad31f243e43b72a925ad4a6908e2955682433898640ab783decf9960', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12999/parallel_studio_xe_2018_update3_professional_edition.tgz')
- version('professional.2018.2', sha256='fc577b29fb2c687441d4faea14a6fb6da529fc78fcb778cbface59f40e128e02', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12718/parallel_studio_xe_2018_update2_professional_edition.tgz')
- version('professional.2018.1', sha256='dd3e118069d87eebb614336732323b48172c8c8a653cde673a8ef02f7358e94d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12375/parallel_studio_xe_2018_update1_professional_edition.tgz')
- version('professional.2018.0', sha256='72308ffa088391ea65726a79d7a73738206fbb1d8ed8563e3d06eab3120fb1a0', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12062/parallel_studio_xe_2018_professional_edition.tgz')
- #
- version('professional.2017.7', sha256='133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz')
- version('professional.2017.6', sha256='d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz')
- version('professional.2017.5', sha256='36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz')
- version('professional.2017.4', sha256='27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz')
- version('professional.2017.3', sha256='856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz')
- version('professional.2017.2', sha256='83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz')
- version('professional.2017.1', sha256='c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz')
- version('professional.2017.0', sha256='f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz')
- #
- version('professional.2016.4', sha256='ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz')
- version('professional.2016.3', sha256='aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz')
- version('professional.2016.2', sha256='280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz')
- version('professional.2016.1', sha256='f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz')
- version('professional.2016.0', sha256='fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz')
- #
- version('professional.2015.6', sha256='e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz')
- version('professional.2015.1', sha256='84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz')
+ version(
+ "professional.2020.4",
+ sha256="f9679a40c63575191385837f4f1bdafbcfd3736f09ac51d0761248b9ca9cc9e6",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17114/parallel_studio_xe_2020_update4_professional_edition.tgz",
+ )
+ version(
+ "professional.2020.2",
+ sha256="96f9bca551a43e09d9648e8cba357739a759423adb671d1aa5973b7a930370c5",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz",
+ )
+ version(
+ "professional.2020.1",
+ sha256="5b547be92ecf50cb338b3038a565f5609135b27aa98a8b7964879eb2331eb29a",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz",
+ )
+ version(
+ "professional.2020.0",
+ sha256="e88cad18d28da50ed9cb87b12adccf13efd91bf94731dc33290481306c6f15ac",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16226/parallel_studio_xe_2020_professional_edition.tgz",
+ )
+ #
+ version(
+ "professional.2019.5",
+ sha256="0ec638330214539361f8632e20759f385a5a78013dcc980ee93743d86d354452",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15810/parallel_studio_xe_2019_update5_professional_edition.tgz",
+ )
+ version(
+ "professional.2019.4",
+ sha256="9b2818ea5739ade100841e99ce79ef7f4049a2513beb2ce20fc94706f1ba0231",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15534/parallel_studio_xe_2019_update4_professional_edition.tgz",
+ )
+ version(
+ "professional.2019.3",
+ sha256="92a8879106d0bdf1ecf4670cd97fbcdc67d78b13bdf484f2c516a533aa7a27f9",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15269/parallel_studio_xe_2019_update3_professional_edition.tgz",
+ )
+ version(
+ "professional.2019.2",
+ sha256="cdb629d74612d135ca197f1f64e6a081e31df68cda92346a29e1223bb06e64ea",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15089/parallel_studio_xe_2019_update2_professional_edition.tgz",
+ )
+ version(
+ "professional.2019.1",
+ sha256="bc83ef5a728903359ae11a2b90ad7dae4ae61194afb28bb5bb419f6a6aea225d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14825/parallel_studio_xe_2019_update1_professional_edition.tgz",
+ )
+ version(
+ "professional.2019.0",
+ sha256="94b9714e353e5c4f58d38cb236e2f8911cbef31c4b42a148d60c988e926411e2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13578/parallel_studio_xe_2019_professional_edition.tgz",
+ )
+ #
+ version(
+ "professional.2018.4",
+ sha256="54ab4320da849108602096fa7a34aa21751068467e0d1584aa8f16352b77d323",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13718/parallel_studio_xe_2018_update4_professional_edition.tgz",
+ )
+ version(
+ "professional.2018.3",
+ sha256="3d8e72ccad31f243e43b72a925ad4a6908e2955682433898640ab783decf9960",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12999/parallel_studio_xe_2018_update3_professional_edition.tgz",
+ )
+ version(
+ "professional.2018.2",
+ sha256="fc577b29fb2c687441d4faea14a6fb6da529fc78fcb778cbface59f40e128e02",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12718/parallel_studio_xe_2018_update2_professional_edition.tgz",
+ )
+ version(
+ "professional.2018.1",
+ sha256="dd3e118069d87eebb614336732323b48172c8c8a653cde673a8ef02f7358e94d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12375/parallel_studio_xe_2018_update1_professional_edition.tgz",
+ )
+ version(
+ "professional.2018.0",
+ sha256="72308ffa088391ea65726a79d7a73738206fbb1d8ed8563e3d06eab3120fb1a0",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12062/parallel_studio_xe_2018_professional_edition.tgz",
+ )
+ #
+ version(
+ "professional.2017.7",
+ sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz",
+ )
+ version(
+ "professional.2017.6",
+ sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz",
+ )
+ version(
+ "professional.2017.5",
+ sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz",
+ )
+ version(
+ "professional.2017.4",
+ sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz",
+ )
+ version(
+ "professional.2017.3",
+ sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz",
+ )
+ version(
+ "professional.2017.2",
+ sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz",
+ )
+ version(
+ "professional.2017.1",
+ sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz",
+ )
+ version(
+ "professional.2017.0",
+ sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz",
+ )
+ #
+ version(
+ "professional.2016.4",
+ sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz",
+ )
+ version(
+ "professional.2016.3",
+ sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz",
+ )
+ version(
+ "professional.2016.2",
+ sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz",
+ )
+ version(
+ "professional.2016.1",
+ sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz",
+ )
+ version(
+ "professional.2016.0",
+ sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz",
+ )
+ #
+ version(
+ "professional.2015.6",
+ sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz",
+ )
+ version(
+ "professional.2015.1",
+ sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz",
+ )
# Composer Edition (basic tier; excluded: MPI/..., Advisor/Inspector/Vtune)
- version('composer.2020.4', sha256='ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
- version('composer.2020.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
- version('composer.2020.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
- version('composer.2020.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
- #
- version('composer.2019.5', sha256='e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz')
- version('composer.2019.4', sha256='1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz')
- version('composer.2019.3', sha256='15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz')
- version('composer.2019.2', sha256='1e0f400be1f458592a8c2e7d55c1b2a4506f68f22bacbf1175af947809a4cd87', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15092/parallel_studio_xe_2019_update2_composer_edition.tgz')
- version('composer.2019.1', sha256='db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz')
- version('composer.2019.0', sha256='e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz')
- #
- version('composer.2018.4', sha256='94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz')
- version('composer.2018.3', sha256='f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz')
- version('composer.2018.2', sha256='02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz')
- version('composer.2018.1', sha256='db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz')
- version('composer.2018.0', sha256='ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz')
- #
- version('composer.2017.7', sha256='661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz')
- version('composer.2017.6', sha256='771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz')
- version('composer.2017.5', sha256='ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz')
- version('composer.2017.4', sha256='4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz')
- version('composer.2017.3', sha256='3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz')
- version('composer.2017.2', sha256='abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz')
- version('composer.2017.1', sha256='bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz')
- version('composer.2017.0', sha256='d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz')
- #
- version('composer.2016.4', sha256='17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz')
- version('composer.2016.3', sha256='fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz')
- version('composer.2016.2', sha256='6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz')
+ version(
+ "composer.2020.4",
+ sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
+ )
+ version(
+ "composer.2020.2",
+ sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
+ )
+ version(
+ "composer.2020.1",
+ sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
+ )
+ version(
+ "composer.2020.0",
+ sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
+ )
+ #
+ version(
+ "composer.2019.5",
+ sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz",
+ )
+ version(
+ "composer.2019.4",
+ sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz",
+ )
+ version(
+ "composer.2019.3",
+ sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz",
+ )
+ version(
+ "composer.2019.2",
+ sha256="1e0f400be1f458592a8c2e7d55c1b2a4506f68f22bacbf1175af947809a4cd87",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15092/parallel_studio_xe_2019_update2_composer_edition.tgz",
+ )
+ version(
+ "composer.2019.1",
+ sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz",
+ )
+ version(
+ "composer.2019.0",
+ sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz",
+ )
+ #
+ version(
+ "composer.2018.4",
+ sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz",
+ )
+ version(
+ "composer.2018.3",
+ sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz",
+ )
+ version(
+ "composer.2018.2",
+ sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz",
+ )
+ version(
+ "composer.2018.1",
+ sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz",
+ )
+ version(
+ "composer.2018.0",
+ sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz",
+ )
+ #
+ version(
+ "composer.2017.7",
+ sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.6",
+ sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.5",
+ sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.4",
+ sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.3",
+ sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.2",
+ sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.1",
+ sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz",
+ )
+ version(
+ "composer.2017.0",
+ sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz",
+ )
+ #
+ version(
+ "composer.2016.4",
+ sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz",
+ )
+ version(
+ "composer.2016.3",
+ sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz",
+ )
+ version(
+ "composer.2016.2",
+ sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz",
+ )
#
# Pre-2016, the only product was "Composer XE"; dir structure is different.
- version('composer.2015.6', sha256='b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz')
- version('composer.2015.1', sha256='8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz')
+ version(
+ "composer.2015.6",
+ sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz",
+ )
+ version(
+ "composer.2015.1",
+ sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz",
+ )
# Generic Variants
- variant('rpath', default=True,
- description='Add rpath to .cfg files')
- variant('newdtags', default=False,
- description='Allow use of --enable-new-dtags in MPI wrappers')
- variant('shared', default=True,
- description='Builds shared library')
- variant('ilp64', default=False,
- description='64 bit integers')
+ variant("rpath", default=True, description="Add rpath to .cfg files")
variant(
- 'threads', default='none',
- description='Multithreading support',
- values=('openmp', 'none'),
- multi=False
+ "newdtags", default=False, description="Allow use of --enable-new-dtags in MPI wrappers"
+ )
+ variant("shared", default=True, description="Builds shared library")
+ variant("ilp64", default=False, description="64 bit integers")
+ variant(
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("openmp", "none"),
+ multi=False,
)
auto_dispatch_options = IntelPackage.auto_dispatch_options
variant(
- 'auto_dispatch',
+ "auto_dispatch",
values=any_combination_of(*auto_dispatch_options),
- description='Enable generation of multiple auto-dispatch code paths'
+ description="Enable generation of multiple auto-dispatch code paths",
)
# Components available in all editions
- variant('daal', default=True,
- description='Install the Intel DAAL libraries')
- variant('gdb', default=False,
- description='Install the Intel Debugger for Heterogeneous Compute')
- variant('ipp', default=True,
- description='Install the Intel IPP libraries')
- variant('mkl', default=True,
- description='Install the Intel MKL library')
- variant('mpi', default=True,
- description='Install the Intel MPI library')
- variant('tbb', default=True,
- description='Install the Intel TBB libraries')
+ variant("daal", default=True, description="Install the Intel DAAL libraries")
+ variant(
+ "gdb", default=False, description="Install the Intel Debugger for Heterogeneous Compute"
+ )
+ variant("ipp", default=True, description="Install the Intel IPP libraries")
+ variant("mkl", default=True, description="Install the Intel MKL library")
+ variant("mpi", default=True, description="Install the Intel MPI library")
+ variant("tbb", default=True, description="Install the Intel TBB libraries")
# Components only available in the Professional and Cluster Editions
- variant('advisor', default=False,
- description='Install the Intel Advisor')
- variant('clck', default=False,
- description='Install the Intel Cluster Checker')
- variant('inspector', default=False,
- description='Install the Intel Inspector')
- variant('itac', default=False,
- description='Install the Intel Trace Analyzer and Collector')
- variant('vtune', default=False,
- description='Install the Intel VTune Amplifier XE')
-
- provides('daal', when='+daal')
- provides('ipp', when='+ipp')
-
- provides('mkl', when='+mkl')
- provides('blas', when='+mkl')
- provides('lapack', when='+mkl')
- provides('scalapack', when='+mkl')
-
- provides('fftw-api@3', when='+mkl@professional.2017:')
- provides('fftw-api@3', when='+mkl@cluster.2017:')
- provides('fftw-api@3', when='+mkl@composer.2017:')
-
- provides('mpi', when='+mpi')
- provides('tbb', when='+tbb')
+ variant("advisor", default=False, description="Install the Intel Advisor")
+ variant("clck", default=False, description="Install the Intel Cluster Checker")
+ variant("inspector", default=False, description="Install the Intel Inspector")
+ variant("itac", default=False, description="Install the Intel Trace Analyzer and Collector")
+ variant("vtune", default=False, description="Install the Intel VTune Amplifier XE")
+
+ provides("daal", when="+daal")
+ provides("ipp", when="+ipp")
+
+ provides("mkl", when="+mkl")
+ provides("blas", when="+mkl")
+ provides("lapack", when="+mkl")
+ provides("scalapack", when="+mkl")
+
+ provides("fftw-api@3", when="+mkl@professional.2017:")
+ provides("fftw-api@3", when="+mkl@cluster.2017:")
+ provides("fftw-api@3", when="+mkl@composer.2017:")
+
+ provides("mpi", when="+mpi")
+ provides("tbb", when="+tbb")
# For TBB, static linkage is not and has never been supported by Intel:
# https://www.threadingbuildingblocks.org/faq/there-version-tbb-provides-statically-linked-libraries
- conflicts('+tbb', when='~shared')
+ conflicts("+tbb", when="~shared")
- conflicts('+advisor', when='@composer.0:composer')
- conflicts('+clck', when='@composer.0:composer')
- conflicts('+inspector', when='@composer.0:composer')
- conflicts('+itac', when='@composer.0:composer')
- conflicts('+mpi', when='@composer.0:composer')
- conflicts('+vtune', when='@composer.0:composer')
+ conflicts("+advisor", when="@composer.0:composer")
+ conflicts("+clck", when="@composer.0:composer")
+ conflicts("+inspector", when="@composer.0:composer")
+ conflicts("+itac", when="@composer.0:composer")
+ conflicts("+mpi", when="@composer.0:composer")
+ conflicts("+vtune", when="@composer.0:composer")
- conflicts('+clck', when='@professional.0:professional')
- conflicts('+itac', when='@professional.0:professional')
- conflicts('+mpi', when='@professional.0:professional')
+ conflicts("+clck", when="@professional.0:professional")
+ conflicts("+itac", when="@professional.0:professional")
+ conflicts("+mpi", when="@professional.0:professional")
# The following components are not available before 2016
- conflicts('+daal', when='@professional.0:professional.2015.7')
- conflicts('+daal', when='@cluster.0:cluster.2015.7')
- conflicts('+daal', when='@composer.0:composer.2015.7')
+ conflicts("+daal", when="@professional.0:professional.2015.7")
+ conflicts("+daal", when="@cluster.0:cluster.2015.7")
+ conflicts("+daal", when="@composer.0:composer.2015.7")
# MacOS does not support some of the auto dispatch settings
- conflicts('auto_dispatch=SSE2', 'platform=darwin',
- msg='SSE2 is not supported on MacOS')
- conflicts('auto_dispatch=SSE3', 'platform=darwin target=x86_64:',
- msg='SSE3 is not supported on MacOS x86_64')
+ conflicts("auto_dispatch=SSE2", "platform=darwin", msg="SSE2 is not supported on MacOS")
+ conflicts(
+ "auto_dispatch=SSE3",
+ "platform=darwin target=x86_64:",
+ msg="SSE3 is not supported on MacOS x86_64",
+ )
def setup_dependent_build_environment(self, *args):
# Handle in callback, conveying client's compilers in additional arg.
# CAUTION - DUP code in:
# ../intel-mpi/package.py
# ../intel-parallel-studio/package.py
- self._setup_dependent_env_callback(*args, compilers_of_client={
- 'CC': spack_cc,
- 'CXX': spack_cxx,
- 'F77': spack_f77,
- 'F90': spack_fc,
- 'FC': spack_fc,
- })
+ self._setup_dependent_env_callback(
+ *args,
+ compilers_of_client={
+ "CC": spack_cc,
+ "CXX": spack_cxx,
+ "F77": spack_f77,
+ "F90": spack_fc,
+ "FC": spack_fc,
+ }
+ )
def setup_run_environment(self, env):
super(IntelParallelStudio, self).setup_run_environment(env)
diff --git a/var/spack/repos/builtin/packages/intel-pin/package.py b/var/spack/repos/builtin/packages/intel-pin/package.py
index aee8775e31..ec1f99fc36 100644
--- a/var/spack/repos/builtin/packages/intel-pin/package.py
+++ b/var/spack/repos/builtin/packages/intel-pin/package.py
@@ -14,17 +14,45 @@ class IntelPin(Package):
dynamic program analysis tools."""
homepage = "http://www.pintool.org"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('3.15', sha256='51ab5a381ff477335050b20943133965c5c515d074ad6afb801a898dae8af642', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.15-98253-gb56e429b1-gcc-linux.tar.gz')
- version('3.14', sha256='6c3b477c88673e0285fcd866a37a4fa47537d461a8bf48416ae3e9667eb7529b', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.14-98223-gb010a12c6-gcc-linux.tar.gz')
- version('3.13', sha256='04a36e91f3f85119c3496f364a8806c82bb675f7536a8ab45344c9890b5e2714', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.13-98189-g60a6ef199-gcc-linux.tar.gz')
- version('3.11', sha256='aa5abca475a6e106a75e6ed4ba518fb75a57549a59f00681e6bd6e3f221bd23a', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.11-97998-g7ecce2dac-gcc-linux.tar.gz')
- version('3.10', sha256='7c8f14c3a0654bab662b58aba460403138fa44517bd40052501e8e0075b2702a', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.10-97971-gc5e41af74-gcc-linux.tar.gz')
- version('3.7', sha256='4730328795be61f1addb0e505a3792a4b4ca80b1b9405acf217beec6b5b90fb8', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.7-97619-g0d0c92f4f-gcc-linux.tar.gz')
- version('2.14', sha256="1c29f589515772411a699a82fc4a3156cad95863a29741dfa6522865d4d281a1", url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz")
+ version(
+ "3.15",
+ sha256="51ab5a381ff477335050b20943133965c5c515d074ad6afb801a898dae8af642",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.15-98253-gb56e429b1-gcc-linux.tar.gz",
+ )
+ version(
+ "3.14",
+ sha256="6c3b477c88673e0285fcd866a37a4fa47537d461a8bf48416ae3e9667eb7529b",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.14-98223-gb010a12c6-gcc-linux.tar.gz",
+ )
+ version(
+ "3.13",
+ sha256="04a36e91f3f85119c3496f364a8806c82bb675f7536a8ab45344c9890b5e2714",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.13-98189-g60a6ef199-gcc-linux.tar.gz",
+ )
+ version(
+ "3.11",
+ sha256="aa5abca475a6e106a75e6ed4ba518fb75a57549a59f00681e6bd6e3f221bd23a",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.11-97998-g7ecce2dac-gcc-linux.tar.gz",
+ )
+ version(
+ "3.10",
+ sha256="7c8f14c3a0654bab662b58aba460403138fa44517bd40052501e8e0075b2702a",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.10-97971-gc5e41af74-gcc-linux.tar.gz",
+ )
+ version(
+ "3.7",
+ sha256="4730328795be61f1addb0e505a3792a4b4ca80b1b9405acf217beec6b5b90fb8",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.7-97619-g0d0c92f4f-gcc-linux.tar.gz",
+ )
+ version(
+ "2.14",
+ sha256="1c29f589515772411a699a82fc4a3156cad95863a29741dfa6522865d4d281a1",
+ url="https://software.intel.com/sites/landingpage/pintool/downloads/pin-2.14-71313-gcc.4.4.7-linux.tar.gz",
+ )
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
mkdir(prefix.bin)
- symlink(join_path(prefix, 'pin'), join_path(prefix.bin, 'pin'))
+ symlink(join_path(prefix, "pin"), join_path(prefix.bin, "pin"))
diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py
index 1ed0b60445..60814d23c2 100644
--- a/var/spack/repos/builtin/packages/intel-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-tbb/package.py
@@ -17,58 +17,62 @@ class IntelTbb(CMakePackage):
C++ programs that take full advantage of multicore performance, that are
portable and composable, and that have future-proof scalability.
"""
+
homepage = "https://www.threadingbuildingblocks.org/"
- url_prefix = 'https://github.com/oneapi-src/oneTBB/'
- url = url_prefix + 'archive/v2020.1.tar.gz'
+ url_prefix = "https://github.com/oneapi-src/oneTBB/"
+ url = url_prefix + "archive/v2020.1.tar.gz"
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
# 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')
- version('2020.1', sha256='7c96a150ed22bc3c6628bc3fef9ed475c00887b26d37bca61518d76a56510971')
- version('2020.0', sha256='57714f2d2cf33935db33cee93af57eb3ecd5a7bef40c1fb7ca4a41d79684b118')
- version('2019.9', sha256='3f5ea81b9caa195f1967a599036b473b2e7c347117330cda99b79cfcf5b77c84')
- version('2019.8', sha256='6b540118cbc79f9cbc06a35033c18156c21b84ab7b6cf56d773b168ad2b68566')
- version('2019.7', sha256='94847fc627ed081c63ea253e31f23645ed3671548106b095ce303d1da5d76275')
- version('2019.6', sha256='21cd496ac768560e70d35e5423878aa3bcf0285f7194be77935d8febf0b18f47')
- version('2019.5', sha256='abf9236e6ec9a3675fa59ab56c2192c7ab4f7096a82af118e8efa514b2541578')
- version('2019.4', sha256='673e540aba6e526b220cbeacc3e4ff7b19a8689a00d7a09a9dc94396d73b24df')
- version('2019.3', sha256='4cb6bde796ae056e7c29f31bfdc6cfd0cfe848925219e9c82a20f09158e81542')
- version('2019.2', sha256='3bbe21054bd5b593ef99d4dfe451432cbf1f6f9429cd0dd543e879ef7e4e3327')
- version('2019.1', sha256='e6fb8dd1a1ae834b4e5f4ae6c4c87a3362f81a3aaeddfa6325168c6cfee59391')
- version('2019', sha256='91f00308a4e431bd9632b439d516134d7084f1eb35f52b7c9b111b46bdfcf093')
- version('2018.6', sha256='0ebb5fc877871ef15f7395d6e3c86de4ffedb820dc336383a3ab71fc39426aa7')
- version('2018.5', sha256='b8dbab5aea2b70cf07844f86fa413e549e099aa3205b6a04059ca92ead93a372')
- version('2018.4', sha256='c973b41b6da3db10efa7e14ce64a850e3fbfbcc16374494a005bf994d53a770a')
- version('2018.3', sha256='e5f19d747f6adabfc7daf2cc0a1ddcfab0f26bc083d70ea0a63def4a9f3919c5')
- version('2018.2', sha256='733c4dba646573b8285b1923dc106f0d771725bea620baa3659c86ab9312a1f4')
- version('2018.1', sha256='a9f51e0d081fbdda441d0150e759c7562318d6d7bc5a0c9a9d8064217d4d8d8d')
- version('2018', sha256='d427c58a59863c5f9510fffb3d05cd1bcc7abb94cdde1613407559e88b1263ab')
- version('2017.8', sha256='227cc1a8329da67f9957285f0020ad4d73d9ce26cbf88614349b8b74bb189ae1')
- version('2017.7', sha256='f487243e5931e967479189ef75946f02e3bb666ea73dcc19ac2828edd5550746')
- version('2017.6', sha256='b0f40edd010b90ce2519c1cebfa6f33216a1828d4fba19291b5cd23bd7fe809b')
- version('2017.5', sha256='b785e7181317350f0bb20f7bffda20bdecde7e82b824d2e5eb6d408a3b9cbeaf')
- version('2017.4', sha256='9a70ae3068767bf8c530bf98b9bbc655e36e82a301b347f7de76f99f401df1dd')
- version('2017.3', sha256='230ed3ff32bb3e91df1f59e4a3a567bde02639d9970b7e87cee0421b4c0b0f23')
- version('2017.2', sha256='dd37c896f95ca2357e828c24c9c4a169c6a6b5c905b3862a6cab09474d164497')
- version('2017.1', sha256='9b5b36b6d0ed97a3a1711b9095e78aed79bc998957a4a6b3d8a7af063523f037')
- version('2017', sha256='470544b0f374987273cc12e7706353edba8f9547578291d45b5b29358d4e5e81')
- version('4.4.6', sha256='65101b3a0eda38320ec3e3603daa79c54e6a60fb59ed2959738eaf4ce6d17f0a')
- version('4.4.5', sha256='2e372703fe444442c77760229897f00bb4babff62f7d0861b3f2783883cb257e')
- version('4.4.4', sha256='3ed03838c4e368b78305b0561cac48d369919bb4d9d68edd4d8a3becd6f62f5c')
- version('4.4.3', sha256='f0ff2e3735c8057b792f29c96f4f7623c1e4c76abfeda88be48645b8338c0f00')
- version('4.4.2', sha256='1ab10e70354685cee3ddf614f3e291434cea86c8eb62031e025f4052278152ad')
- version('4.4.1', sha256='05737bf6dd220b31aad63d77ca59c742271f81b4cc6643aa6f93d37450ae32b5')
- version('4.4', sha256='93c74b6054c69c86fa49d0fce7c50061fc907cb198a7237b8dd058298fd40c0e')
-
- provides('tbb')
+ 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")
+ version("2020.1", sha256="7c96a150ed22bc3c6628bc3fef9ed475c00887b26d37bca61518d76a56510971")
+ version("2020.0", sha256="57714f2d2cf33935db33cee93af57eb3ecd5a7bef40c1fb7ca4a41d79684b118")
+ version("2019.9", sha256="3f5ea81b9caa195f1967a599036b473b2e7c347117330cda99b79cfcf5b77c84")
+ version("2019.8", sha256="6b540118cbc79f9cbc06a35033c18156c21b84ab7b6cf56d773b168ad2b68566")
+ version("2019.7", sha256="94847fc627ed081c63ea253e31f23645ed3671548106b095ce303d1da5d76275")
+ version("2019.6", sha256="21cd496ac768560e70d35e5423878aa3bcf0285f7194be77935d8febf0b18f47")
+ version("2019.5", sha256="abf9236e6ec9a3675fa59ab56c2192c7ab4f7096a82af118e8efa514b2541578")
+ version("2019.4", sha256="673e540aba6e526b220cbeacc3e4ff7b19a8689a00d7a09a9dc94396d73b24df")
+ version("2019.3", sha256="4cb6bde796ae056e7c29f31bfdc6cfd0cfe848925219e9c82a20f09158e81542")
+ version("2019.2", sha256="3bbe21054bd5b593ef99d4dfe451432cbf1f6f9429cd0dd543e879ef7e4e3327")
+ version("2019.1", sha256="e6fb8dd1a1ae834b4e5f4ae6c4c87a3362f81a3aaeddfa6325168c6cfee59391")
+ version("2019", sha256="91f00308a4e431bd9632b439d516134d7084f1eb35f52b7c9b111b46bdfcf093")
+ version("2018.6", sha256="0ebb5fc877871ef15f7395d6e3c86de4ffedb820dc336383a3ab71fc39426aa7")
+ version("2018.5", sha256="b8dbab5aea2b70cf07844f86fa413e549e099aa3205b6a04059ca92ead93a372")
+ version("2018.4", sha256="c973b41b6da3db10efa7e14ce64a850e3fbfbcc16374494a005bf994d53a770a")
+ version("2018.3", sha256="e5f19d747f6adabfc7daf2cc0a1ddcfab0f26bc083d70ea0a63def4a9f3919c5")
+ version("2018.2", sha256="733c4dba646573b8285b1923dc106f0d771725bea620baa3659c86ab9312a1f4")
+ version("2018.1", sha256="a9f51e0d081fbdda441d0150e759c7562318d6d7bc5a0c9a9d8064217d4d8d8d")
+ version("2018", sha256="d427c58a59863c5f9510fffb3d05cd1bcc7abb94cdde1613407559e88b1263ab")
+ version("2017.8", sha256="227cc1a8329da67f9957285f0020ad4d73d9ce26cbf88614349b8b74bb189ae1")
+ version("2017.7", sha256="f487243e5931e967479189ef75946f02e3bb666ea73dcc19ac2828edd5550746")
+ version("2017.6", sha256="b0f40edd010b90ce2519c1cebfa6f33216a1828d4fba19291b5cd23bd7fe809b")
+ version("2017.5", sha256="b785e7181317350f0bb20f7bffda20bdecde7e82b824d2e5eb6d408a3b9cbeaf")
+ version("2017.4", sha256="9a70ae3068767bf8c530bf98b9bbc655e36e82a301b347f7de76f99f401df1dd")
+ version("2017.3", sha256="230ed3ff32bb3e91df1f59e4a3a567bde02639d9970b7e87cee0421b4c0b0f23")
+ version("2017.2", sha256="dd37c896f95ca2357e828c24c9c4a169c6a6b5c905b3862a6cab09474d164497")
+ version("2017.1", sha256="9b5b36b6d0ed97a3a1711b9095e78aed79bc998957a4a6b3d8a7af063523f037")
+ version("2017", sha256="470544b0f374987273cc12e7706353edba8f9547578291d45b5b29358d4e5e81")
+ version("4.4.6", sha256="65101b3a0eda38320ec3e3603daa79c54e6a60fb59ed2959738eaf4ce6d17f0a")
+ version("4.4.5", sha256="2e372703fe444442c77760229897f00bb4babff62f7d0861b3f2783883cb257e")
+ version("4.4.4", sha256="3ed03838c4e368b78305b0561cac48d369919bb4d9d68edd4d8a3becd6f62f5c")
+ version("4.4.3", sha256="f0ff2e3735c8057b792f29c96f4f7623c1e4c76abfeda88be48645b8338c0f00")
+ version("4.4.2", sha256="1ab10e70354685cee3ddf614f3e291434cea86c8eb62031e025f4052278152ad")
+ version("4.4.1", sha256="05737bf6dd220b31aad63d77ca59c742271f81b4cc6643aa6f93d37450ae32b5")
+ version("4.4", sha256="93c74b6054c69c86fa49d0fce7c50061fc907cb198a7237b8dd058298fd40c0e")
+
+ provides("tbb")
# Clang builds incorrectly determine GCC version which in turn incorrectly
# causes a mismatch in C++ features resulting in a link error. This also
@@ -77,49 +81,46 @@ class IntelTbb(CMakePackage):
#
# See https://github.com/intel/tbb/pull/147 for details.
#
- conflicts('%apple-clang', when='@:2019.6',
- msg='2019.7 or later required for clang')
- conflicts('%clang', when='@:2019.6',
- msg='2019.7 or later required for clang')
+ conflicts("%apple-clang", when="@:2019.6", msg="2019.7 or later required for clang")
+ conflicts("%clang", when="@:2019.6", msg="2019.7 or later required for clang")
- conflicts('%gcc@6.1:', when='@:4.4.3',
- msg='4.4.4 or later required for GCC >= 6.1.')
+ conflicts("%gcc@6.1:", when="@:4.4.3", msg="4.4.4 or later required for GCC >= 6.1.")
- variant('shared', default=True,
- description='Builds a shared version of TBB libraries')
+ variant("shared", default=True, description="Builds a shared version of TBB libraries")
- variant('cxxstd',
- default='default',
- values=('default', '98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="default",
+ values=("default", "98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- variant('tm', default=True,
- description='Enable use of transactional memory on x86')
+ variant("tm", default=True, description="Enable use of transactional memory on x86")
# Testing version ranges inside when clauses was fixed in e9ee9eaf.
# See: #8957 and #13989.
# Build and install CMake config files if we're new enough.
# CMake support started in 2017.7.
- depends_on('cmake@3.1.0:', type='build', when='@2017.7:')
+ depends_on("cmake@3.1.0:", type="build", when="@2017.7:")
- depends_on('hwloc', when='@2021.1.1:')
+ depends_on("hwloc", when="@2021.1.1:")
# Patch for pedantic warnings (#10836). This was fixed in the TBB
# source tree in 2019.6.
- patch("gcc_generic-pedantic-2019.patch", level=1, when='@2019.1:2019.5')
- patch("gcc_generic-pedantic-4.4.patch", level=1, when='@:2019.0')
+ patch("gcc_generic-pedantic-2019.patch", level=1, when="@2019.1:2019.5")
+ patch("gcc_generic-pedantic-4.4.patch", level=1, when="@:2019.0")
# Patch cmakeConfig.cmake.in to find the libraries where we install them.
- patch("tbb_cmakeConfig-2019.5.patch", level=0, when='@2019.5:2021.0')
- patch("tbb_cmakeConfig.patch", level=0, when='@2017.7:2019.4')
+ patch("tbb_cmakeConfig-2019.5.patch", level=0, when="@2019.5:2021.0")
+ patch("tbb_cmakeConfig.patch", level=0, when="@2017.7:2019.4")
# Restore the debug targets.
patch("makefile-debug.patch", when="@2020:2021.0")
# Some very old systems don't support transactional memory.
- patch("disable-tm.patch", when='~tm')
+ patch("disable-tm.patch", when="~tm")
# Add support for building on arm64 macOS,
# also included in hombrew and already available upstream:
@@ -129,24 +130,18 @@ class IntelTbb(CMakePackage):
# 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")
+ 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")
+ 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")
+ 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
@@ -155,25 +150,24 @@ class IntelTbb(CMakePackage):
# 4.4.6 --> 4.4.6.tar.gz
#
def url_for_version(self, version):
- url = self.url_prefix + 'archive/{0}.tar.gz'
+ url = self.url_prefix + "archive/{0}.tar.gz"
if version[0] >= 2020:
- name = 'v{0}'.format(version)
+ name = "v{0}".format(version)
elif version[0] >= 2017 and len(version) > 1:
- name = '{0}_U{1}'.format(version[0], version[1])
+ name = "{0}_U{1}".format(version[0], version[1])
else:
- name = '{0}'.format(version)
+ name = "{0}".format(version)
return url.format(name)
# We set OS here in case the user has it set to something else
# that TBB doesn't expect.
def setup_build_environment(self, env):
- env.set('OS', platform.system())
+ env.set("OS", platform.system())
- @when('@:2020.3')
+ @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,
- "*.%s.inc" % compiler))
+ fs = glob.glob(join_path(tbb_build_subdir, "*.%s.inc" % compiler))
for f in fs:
lines = open(f).readlines()
of = open(f, "w")
@@ -187,23 +181,24 @@ class IntelTbb(CMakePackage):
else:
of.write(lin)
- @when('@:2020.3')
+ @when("@:2020.3")
def cmake(self, spec, prefix):
return
- @when('@:2020.3')
+ @when("@:2020.3")
def cmake_args(self):
return
- @when('@:2020.3')
+ @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')
- or spec.satisfies('%gcc@4.8.0: os=centos6')
- or spec.satisfies('%gcc@4.8.0: os=scientific6')):
- filter_file(r'RTM_KEY.*=.*rtm.*', 'RTM_KEY =',
- join_path('build', 'linux.gcc.inc'))
+ if (
+ spec.satisfies("%gcc@4.8.0: os=rhel6")
+ or spec.satisfies("%gcc@4.8.0: os=centos6")
+ or spec.satisfies("%gcc@4.8.0: os=scientific6")
+ ):
+ filter_file(r"RTM_KEY.*=.*rtm.*", "RTM_KEY =", join_path("build", "linux.gcc.inc"))
# We need to follow TBB's compiler selection logic to get the proper
# build + link flags but we still need to use spack's compiler wrappers
@@ -217,9 +212,9 @@ class IntelTbb(CMakePackage):
#
self.coerce_to_spack("build")
- if spec.satisfies('%clang') or spec.satisfies('%apple-clang'):
+ if spec.satisfies("%clang") or spec.satisfies("%apple-clang"):
tbb_compiler = "clang"
- elif spec.satisfies('%intel'):
+ elif spec.satisfies("%intel"):
tbb_compiler = "icc"
else:
tbb_compiler = "gcc"
@@ -229,12 +224,11 @@ class IntelTbb(CMakePackage):
# Static builds of TBB are enabled by including 'big_iron.inc' file
# See caveats in 'big_iron.inc' for limits on using TBB statically
# Lore states this file must be handed to make before other options
- if '+shared' not in self.spec:
+ if "+shared" not in self.spec:
make_opts.append("extra_inc=big_iron.inc")
- if spec.variants['cxxstd'].value != 'default':
- make_opts.append('stdver=c++{0}'.
- format(spec.variants['cxxstd'].value))
+ if spec.variants["cxxstd"].value != "default":
+ make_opts.append("stdver=c++{0}".format(spec.variants["cxxstd"].value))
#
# tbb does not have a configure script or make install target
@@ -243,80 +237,74 @@ class IntelTbb(CMakePackage):
make_opts.append("compiler={0}".format(tbb_compiler))
make(*make_opts)
- @when('@:2020.3')
+ @when("@:2020.3")
def install(self, spec, prefix):
mkdirp(prefix)
mkdirp(prefix.lib)
# install headers to {prefix}/include
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
# install libs to {prefix}/lib
- tbb_lib_names = ["libtbb",
- "libtbbmalloc",
- "libtbbmalloc_proxy"]
+ tbb_lib_names = ["libtbb", "libtbbmalloc", "libtbbmalloc_proxy"]
for lib_name in tbb_lib_names:
# install release libs
- install(join_path("build", "*release", lib_name + ".*"),
- prefix.lib)
+ install(join_path("build", "*release", lib_name + ".*"), prefix.lib)
# install debug libs if they exist
- install(join_path("build", "*debug", lib_name + "_debug.*"),
- prefix.lib)
+ install(join_path("build", "*debug", lib_name + "_debug.*"), prefix.lib)
- if spec.satisfies('@2017.8,2018.1:', strict=True):
+ if spec.satisfies("@2017.8,2018.1:", strict=True):
# Generate and install the CMake Config file.
- cmake_args = ('-DTBB_ROOT={0}'.format(prefix),
- '-DTBB_OS={0}'.format(platform.system()),
- '-P',
- 'tbb_config_generator.cmake')
- with working_dir(join_path(self.stage.source_path, 'cmake')):
+ cmake_args = (
+ "-DTBB_ROOT={0}".format(prefix),
+ "-DTBB_OS={0}".format(platform.system()),
+ "-P",
+ "tbb_config_generator.cmake",
+ )
+ with working_dir(join_path(self.stage.source_path, "cmake")):
inspect.getmodule(self).cmake(*cmake_args)
- @when('@:2020.3')
- @run_after('install')
+ @when("@:2020.3")
+ @run_after("install")
def darwin_fix(self):
# Replace @rpath in ids with full path
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
fix_darwin_install_name(self.prefix.lib)
@property
def libs(self):
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libtbb*', root=self.prefix, shared=shared, recursive=True)
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libtbb*", root=self.prefix, shared=shared, recursive=True)
- @when('@2021.1.1:')
+ @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)
+ 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
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
# pkg-config generation is introduced in May 5, 2021.
# It must not be overwritten by spack-generated tbb.pc.
# https://github.com/oneapi-src/oneTBB/commit/478de5b1887c928e52f029d706af6ea640a877be
- if self.spec.satisfies('@:2021.2.0', strict=True):
+ if self.spec.satisfies("@:2021.2.0", strict=True):
mkdirp(self.prefix.lib.pkgconfig)
- with open(join_path(self.prefix.lib.pkgconfig, 'tbb.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(self.prefix.lib))
- f.write('includedir={0}\n'.format(self.prefix.include))
- f.write('\n')
- f.write('Name: Threading Building Blocks\n')
- f.write('Description: Intel\'s parallelism library for C++\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -ltbb -latomic\n')
+ with open(join_path(self.prefix.lib.pkgconfig, "tbb.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(self.prefix.lib))
+ f.write("includedir={0}\n".format(self.prefix.include))
+ f.write("\n")
+ f.write("Name: Threading Building Blocks\n")
+ f.write("Description: Intel's parallelism library for C++\n")
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -ltbb -latomic\n")
diff --git a/var/spack/repos/builtin/packages/intel-xed/package.py b/var/spack/repos/builtin/packages/intel-xed/package.py
index 4d70d9ec8a..49e17fe46f 100644
--- a/var/spack/repos/builtin/packages/intel-xed/package.py
+++ b/var/spack/repos/builtin/packages/intel-xed/package.py
@@ -14,100 +14,100 @@ class IntelXed(Package):
a lightweight library for decoding the length of an instruction."""
homepage = "https://intelxed.github.io/"
- git = "https://github.com/intelxed/xed.git"
- maintainers = ['mwkrentel']
+ git = "https://github.com/intelxed/xed.git"
+ maintainers = ["mwkrentel"]
- mbuild_git = 'https://github.com/intelxed/mbuild.git'
+ mbuild_git = "https://github.com/intelxed/mbuild.git"
# Current versions now have actual releases and tags.
- version('main', branch='main')
- version('2022.04.17', tag='v2022.04.17')
- version('12.0.1', tag='12.0.1')
- version('11.2.0', tag='11.2.0')
+ version("main", branch="main")
+ version("2022.04.17", tag="v2022.04.17")
+ version("12.0.1", tag="12.0.1")
+ version("11.2.0", tag="11.2.0")
# The old 2019.03.01 version (before there were tags).
- version('10.2019.03', commit='b7231de4c808db821d64f4018d15412640c34113')
+ version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113")
- resource(name='mbuild', placement='mbuild', git=mbuild_git,
- branch='main', when='@main')
+ resource(name="mbuild", placement="mbuild", git=mbuild_git, branch="main", when="@main")
- resource(name='mbuild', placement='mbuild', git=mbuild_git,
- commit='09b6654be0c52bf1df44e88c88b411a67b624cbd', when='@:9999')
+ resource(
+ name="mbuild",
+ placement="mbuild",
+ git=mbuild_git,
+ commit="09b6654be0c52bf1df44e88c88b411a67b624cbd",
+ when="@:9999",
+ )
- variant('debug', default=False, description='Enable debug symbols')
- variant('pic', default=False,
- description='Compile with position independent code.')
+ variant("debug", default=False, description="Enable debug symbols")
+ variant("pic", default=False, description="Compile with position independent code.")
# The current mfile uses python3 by name.
- depends_on('python@3.4:', type='build')
+ depends_on("python@3.4:", type="build")
- patch('1201-segv.patch', when='@12.0.1')
- patch('2019-python3.patch', when='@10.2019.03')
+ patch("1201-segv.patch", when="@12.0.1")
+ patch("2019-python3.patch", when="@10.2019.03")
- conflicts('target=ppc64:', msg='intel-xed only runs on x86')
- conflicts('target=ppc64le:', msg='intel-xed only runs on x86')
- conflicts('target=aarch64:', msg='intel-xed only runs on x86')
+ conflicts("target=ppc64:", msg="intel-xed only runs on x86")
+ conflicts("target=ppc64le:", msg="intel-xed only runs on x86")
+ conflicts("target=aarch64:", msg="intel-xed only runs on x86")
mycflags = [] # type: List[str]
# Save CFLAGS for use in install.
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
self.mycflags = flags
- if '+pic' in self.spec:
+ if "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
return (flags, None, None)
def install(self, spec, prefix):
# XED needs PYTHONPATH to find the mbuild directory.
- mbuild_dir = join_path(self.stage.source_path, 'mbuild')
- python_path = os.getenv('PYTHONPATH', '')
- os.environ['PYTHONPATH'] = mbuild_dir + ':' + python_path
+ mbuild_dir = join_path(self.stage.source_path, "mbuild")
+ python_path = os.getenv("PYTHONPATH", "")
+ os.environ["PYTHONPATH"] = mbuild_dir + ":" + python_path
- mfile = Executable(join_path('.', 'mfile.py'))
+ mfile = Executable(join_path(".", "mfile.py"))
- args = ['-j', str(make_jobs),
- '--cc=%s' % spack_cc,
- '--no-werror']
+ args = ["-j", str(make_jobs), "--cc=%s" % spack_cc, "--no-werror"]
- if '+debug' in spec:
- args.append('--debug')
+ if "+debug" in spec:
+ args.append("--debug")
# If an optimization flag (-O...) is specified in CFLAGS, use
# that, else set default opt level.
for flag in self.mycflags:
- if flag.startswith('-O'):
+ if flag.startswith("-O"):
break
else:
- args.append('--opt=2')
+ args.append("--opt=2")
# Build and install static libxed.a.
- mfile('--clean')
+ mfile("--clean")
mfile(*args)
mkdirp(prefix.include)
mkdirp(prefix.lib)
mkdirp(prefix.bin)
- install(join_path('obj', 'lib*.a'), prefix.lib)
+ install(join_path("obj", "lib*.a"), prefix.lib)
# Build and install shared libxed.so and examples (to get the CLI).
- mfile('--clean')
- mfile('examples', '--shared', *args)
+ mfile("--clean")
+ mfile("examples", "--shared", *args)
- install(join_path('obj', 'lib*.so'), prefix.lib)
+ install(join_path("obj", "lib*.so"), prefix.lib)
# Starting with 11.x, the install files are moved or copied into
# subdirs of obj/wkit.
- if spec.satisfies('@11.0:'):
- wkit = join_path('obj', 'wkit')
- install(join_path(wkit, 'bin', 'xed'), prefix.bin)
- install(join_path(wkit, 'include', 'xed', '*.h'), prefix.include)
+ if spec.satisfies("@11.0:"):
+ wkit = join_path("obj", "wkit")
+ install(join_path(wkit, "bin", "xed"), prefix.bin)
+ install(join_path(wkit, "include", "xed", "*.h"), prefix.include)
else:
# Old 2019.03.01 paths.
- install(join_path('obj', 'examples', 'xed'), prefix.bin)
- install(join_path('include', 'public', 'xed', '*.h'),
- prefix.include)
- install(join_path('obj', '*.h'), prefix.include)
+ install(join_path("obj", "examples", "xed"), prefix.bin)
+ install(join_path("include", "public", "xed", "*.h"), prefix.include)
+ install(join_path("obj", "*.h"), prefix.include)
diff --git a/var/spack/repos/builtin/packages/intel/package.py b/var/spack/repos/builtin/packages/intel/package.py
index 4a923b37ac..f32337fbc4 100644
--- a/var/spack/repos/builtin/packages/intel/package.py
+++ b/var/spack/repos/builtin/packages/intel/package.py
@@ -12,81 +12,201 @@ from spack.package import *
@IntelOneApiPackage.update_description
class Intel(IntelPackage):
"""Intel Compilers. This package has been replaced by
- intel-oneapi-compilers.
+ intel-oneapi-compilers.
"""
homepage = "https://software.intel.com/en-us/intel-parallel-studio-xe"
# Robert Cohn
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- depends_on('patchelf', type='build')
+ depends_on("patchelf", type="build")
# Same as in ../intel-parallel-studio/package.py, Composer Edition,
# but the version numbering in Spack differs.
- version('20.0.4', sha256='ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17117/parallel_studio_xe_2020_update4_composer_edition.tgz')
- version('20.0.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
- version('20.0.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
- version('20.0.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
- version('19.1.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
- version('19.1.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
- version('19.1.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
- version('19.0.5', sha256='e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz')
- version('19.0.4', sha256='1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz')
- version('19.0.3', sha256='15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz')
- version('19.0.1', sha256='db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz')
- version('19.0.0', sha256='e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz')
+ version(
+ "20.0.4",
+ sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17117/parallel_studio_xe_2020_update4_composer_edition.tgz",
+ )
+ version(
+ "20.0.2",
+ sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
+ )
+ version(
+ "20.0.1",
+ sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
+ )
+ version(
+ "20.0.0",
+ sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
+ )
+ version(
+ "19.1.2",
+ sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz",
+ )
+ version(
+ "19.1.1",
+ sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz",
+ )
+ version(
+ "19.1.0",
+ sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz",
+ )
+ version(
+ "19.0.5",
+ sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz",
+ )
+ version(
+ "19.0.4",
+ sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz",
+ )
+ version(
+ "19.0.3",
+ sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz",
+ )
+ version(
+ "19.0.1",
+ sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz",
+ )
+ version(
+ "19.0.0",
+ sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz",
+ )
# Version 18.0.5 comes with parallel studio 2018 update 4. See:
# https://software.intel.com/en-us/articles/intel-compiler-and-composer-update-version-numbers-to-compiler-version-number-mapping
- version('18.0.5', sha256='94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz')
- version('18.0.3', sha256='f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz')
- version('18.0.2', sha256='02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz')
- version('18.0.1', sha256='db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz')
- version('18.0.0', sha256='ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz')
+ version(
+ "18.0.5",
+ sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz",
+ )
+ version(
+ "18.0.3",
+ sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz",
+ )
+ version(
+ "18.0.2",
+ sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz",
+ )
+ version(
+ "18.0.1",
+ sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz",
+ )
+ version(
+ "18.0.0",
+ sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz",
+ )
#
- version('17.0.7', sha256='661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz')
- version('17.0.6', sha256='771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f', url='https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz')
- version('17.0.5', sha256='ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz')
- version('17.0.4', sha256='4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz')
- version('17.0.3', sha256='3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz')
- version('17.0.2', sha256='abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz')
- version('17.0.1', sha256='bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz')
- version('17.0.0', sha256='d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz')
+ version(
+ "17.0.7",
+ sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz",
+ )
+ version(
+ "17.0.6",
+ sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f",
+ url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz",
+ )
+ version(
+ "17.0.5",
+ sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz",
+ )
+ version(
+ "17.0.4",
+ sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz",
+ )
+ version(
+ "17.0.3",
+ sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz",
+ )
+ version(
+ "17.0.2",
+ sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz",
+ )
+ version(
+ "17.0.1",
+ sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz",
+ )
+ version(
+ "17.0.0",
+ sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz",
+ )
#
- version('16.0.4', sha256='17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz')
- version('16.0.3', sha256='fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz')
- version('16.0.2', sha256='6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz')
+ version(
+ "16.0.4",
+ sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz",
+ )
+ version(
+ "16.0.3",
+ sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz",
+ )
+ version(
+ "16.0.2",
+ sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz",
+ )
#
# Grandfathered release; different directory structure.
- version('15.0.6', sha256='b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz')
- version('15.0.1', sha256='8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz')
+ version(
+ "15.0.6",
+ sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz",
+ )
+ version(
+ "15.0.1",
+ sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9",
+ url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz",
+ )
- variant('rpath', default=True, description='Add rpath to .cfg files')
+ variant("rpath", default=True, description="Add rpath to .cfg files")
auto_dispatch_options = IntelPackage.auto_dispatch_options
variant(
- 'auto_dispatch',
+ "auto_dispatch",
values=any_combination_of(*auto_dispatch_options),
- description='Enable generation of multiple auto-dispatch code paths'
+ description="Enable generation of multiple auto-dispatch code paths",
)
# MacOS does not support some of the auto dispatch settings
- conflicts('auto_dispatch=SSE2', 'platform=darwin',
- msg='SSE2 is not supported on MacOS')
- conflicts('auto_dispatch=SSE3', 'platform=darwin target=x86_64:',
- msg='SSE3 is not supported on MacOS x86_64')
+ conflicts("auto_dispatch=SSE2", "platform=darwin", msg="SSE2 is not supported on MacOS")
+ conflicts(
+ "auto_dispatch=SSE3",
+ "platform=darwin target=x86_64:",
+ msg="SSE3 is not supported on MacOS x86_64",
+ )
- executables = ['^icc$', '^icpc$', '^ifort$']
+ executables = ["^icc$", "^icpc$", "^ifort$"]
@classmethod
def determine_version(cls, exe):
- version_regex = re.compile(r'\((?:IFORT|ICC)\) ([^ ]+)')
+ version_regex = re.compile(r"\((?:IFORT|ICC)\) ([^ ]+)")
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '--version'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "--version")
match = version_regex.search(output)
if match:
return match.group(1)
@@ -101,20 +221,20 @@ class Intel(IntelPackage):
def determine_variants(cls, exes, version_str):
compilers = {}
for exe in exes:
- if 'icc' in exe:
- compilers['c'] = exe
- if 'icpc' in exe:
- compilers['cxx'] = exe
- if 'ifort' in exe:
- compilers['fortran'] = exe
- return '', {'compilers': compilers}
+ if "icc" in exe:
+ compilers["c"] = exe
+ if "icpc" in exe:
+ compilers["cxx"] = exe
+ if "ifort" in exe:
+ compilers["fortran"] = exe
+ return "", {"compilers": compilers}
@property
def cc(self):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('c', None)
+ return self.spec.extra_attributes["compilers"].get("c", None)
return str(self.spec.prefix.bin.intel64.icc)
@property
@@ -122,7 +242,7 @@ class Intel(IntelPackage):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('cxx', None)
+ return self.spec.extra_attributes["compilers"].get("cxx", None)
return str(self.spec.prefix.bin.intel64.icpc)
@property
@@ -130,7 +250,7 @@ class Intel(IntelPackage):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fortran', None)
+ return self.spec.extra_attributes["compilers"].get("fortran", None)
return str(self.spec.prefix.bin.intel64.ifort)
# Since the current package is a subset of 'intel-parallel-studio',
diff --git a/var/spack/repos/builtin/packages/interproscan/package.py b/var/spack/repos/builtin/packages/interproscan/package.py
index 54ad5a4e97..8dcefdd944 100644
--- a/var/spack/repos/builtin/packages/interproscan/package.py
+++ b/var/spack/repos/builtin/packages/interproscan/package.py
@@ -8,67 +8,69 @@ from spack.package import *
class Interproscan(Package):
"""InterProScan is the software package that allows sequences
- (protein and nucleic) to be scanned against InterPro's signatures.
- Signatures are predictive models, provided by several different
- databases, that make up the InterPro consortium."""
+ (protein and nucleic) to be scanned against InterPro's signatures.
+ Signatures are predictive models, provided by several different
+ databases, that make up the InterPro consortium."""
homepage = "https://www.ebi.ac.uk/interpro/interproscan.html"
- url = "https://github.com/ebi-pf-team/interproscan/archive/5.36-75.0.tar.gz"
- maintainers = ['snehring']
+ url = "https://github.com/ebi-pf-team/interproscan/archive/5.36-75.0.tar.gz"
+ maintainers = ["snehring"]
- version('5.56-89.0', sha256='75e6a8f86ca17356a2f77f75b07d6d8fb7b397c9575f6e9716b64983e490b230')
- version('5.38-76.0', sha256='cb191ff8eee275689b789167a57b368ea5c06bbcd36b4de23e8bbbbdc0fc7434')
- version('5.36-75.0', sha256='383d7431e47c985056c856ceb6d4dcf7ed2559a4a3d5c210c01ce3975875addb')
- version('4.8',
- sha256='f1cb0ae1218eb05ed59ad7f94883f474eb9a6185a56ad3a93a364acb73506a3f',
- url='ftp://ftp.ebi.ac.uk/pub/software/unix/iprscan/4/RELEASE/4.8/iprscan_v4.8.tar.gz')
+ version("5.56-89.0", sha256="75e6a8f86ca17356a2f77f75b07d6d8fb7b397c9575f6e9716b64983e490b230")
+ version("5.38-76.0", sha256="cb191ff8eee275689b789167a57b368ea5c06bbcd36b4de23e8bbbbdc0fc7434")
+ version("5.36-75.0", sha256="383d7431e47c985056c856ceb6d4dcf7ed2559a4a3d5c210c01ce3975875addb")
+ version(
+ "4.8",
+ sha256="f1cb0ae1218eb05ed59ad7f94883f474eb9a6185a56ad3a93a364acb73506a3f",
+ url="ftp://ftp.ebi.ac.uk/pub/software/unix/iprscan/4/RELEASE/4.8/iprscan_v4.8.tar.gz",
+ )
resource(
- when='@:4.8',
- name='binaries',
+ when="@:4.8",
+ name="binaries",
url="https://ftp.ebi.ac.uk/pub/databases/interpro/iprscan/BIN/4.x/iprscan_bin4.x_Linux64.tar.gz",
- sha256='551610a4682b112522f3ded5268f76ba9a47399a72e726fafb17cc938a50e7ee',
+ sha256="551610a4682b112522f3ded5268f76ba9a47399a72e726fafb17cc938a50e7ee",
)
- depends_on('java@8.0:8.9', type=('build', 'run'), when='@5:5.36-99.0')
- depends_on('java@11.0:', type=('build', 'run'), when='@5.37-76.0:')
- depends_on('maven', type='build', when='@5:')
- depends_on('perl@5:', type=('build', 'run'))
- depends_on('python@3:', when='@5:', type=('build', 'run'))
- depends_on('perl-cgi', when='@:4.8', type=('build', 'run'))
- depends_on('perl-mailtools', when='@:4.8', type=('build', 'run'))
- depends_on('perl-xml-quote', when='@:4.8', type=('build', 'run'))
- depends_on('perl-xml-parser', when='@:4.8', type=('build', 'run'))
- depends_on('perl-io-string', when='@:4.8', type=('build', 'run'))
- depends_on('perl-io-stringy', when='@:4.8', type=('build', 'run'))
- depends_on('perl-db-file', when='@:4.8', type=('build', 'run'))
+ depends_on("java@8.0:8.9", type=("build", "run"), when="@5:5.36-99.0")
+ depends_on("java@11.0:", type=("build", "run"), when="@5.37-76.0:")
+ depends_on("maven", type="build", when="@5:")
+ depends_on("perl@5:", type=("build", "run"))
+ depends_on("python@3:", when="@5:", type=("build", "run"))
+ depends_on("perl-cgi", when="@:4.8", type=("build", "run"))
+ depends_on("perl-mailtools", when="@:4.8", type=("build", "run"))
+ depends_on("perl-xml-quote", when="@:4.8", type=("build", "run"))
+ depends_on("perl-xml-parser", when="@:4.8", type=("build", "run"))
+ depends_on("perl-io-string", when="@:4.8", type=("build", "run"))
+ depends_on("perl-io-stringy", when="@:4.8", type=("build", "run"))
+ depends_on("perl-db-file", when="@:4.8", type=("build", "run"))
- patch('large-gid.patch', when='@5:')
- patch('non-interactive.patch', when='@:4.8')
- patch('ps_scan.patch', when='@:4.8')
+ patch("large-gid.patch", when="@5:")
+ patch("non-interactive.patch", when="@:4.8")
+ patch("ps_scan.patch", when="@:4.8")
def install(self, spec, prefix):
- with working_dir('core'):
+ with working_dir("core"):
if self.run_tests:
- which('mvn')('verify')
+ which("mvn")("verify")
else:
- which('mvn')('package', '-DskipTests')
+ which("mvn")("package", "-DskipTests")
- install_tree('.', prefix)
+ install_tree(".", prefix)
# link the main shell script into the PATH
- ips_bin_suffix = 'core/jms-implementation/target/interproscan-5-dist'
+ ips_bin_suffix = "core/jms-implementation/target/interproscan-5-dist"
symlink(join_path(prefix, ips_bin_suffix), prefix.bin)
- @when('@:4.8')
+ @when("@:4.8")
def install(self, spec, prefix):
- perl = which('perl')
+ perl = which("perl")
- src = join_path(self.stage.source_path, 'iprscan', 'bin', 'Linux')
- dst = join_path(self.stage.source_path, 'bin', 'binaries')
+ src = join_path(self.stage.source_path, "iprscan", "bin", "Linux")
+ dst = join_path(self.stage.source_path, "bin", "binaries")
force_symlink(src, dst)
- install_tree('.', prefix)
+ install_tree(".", prefix)
with working_dir(prefix):
- perl('Config.pl')
+ perl("Config.pl")
diff --git a/var/spack/repos/builtin/packages/intltool/package.py b/var/spack/repos/builtin/packages/intltool/package.py
index 7314933d69..ffbccf0dde 100644
--- a/var/spack/repos/builtin/packages/intltool/package.py
+++ b/var/spack/repos/builtin/packages/intltool/package.py
@@ -10,21 +10,23 @@ class Intltool(AutotoolsPackage):
"""intltool is a set of tools to centralize translation of many different
file formats using GNU gettext-compatible PO files."""
- homepage = 'https://freedesktop.org/wiki/Software/intltool/'
- url = 'https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz'
- list_url = 'https://launchpad.net/intltool/+download'
+ homepage = "https://freedesktop.org/wiki/Software/intltool/"
+ url = "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz"
+ list_url = "https://launchpad.net/intltool/+download"
- version('0.51.0', sha256='67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd')
+ version("0.51.0", sha256="67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd")
# requires XML::Parser perl module
- depends_on('perl-xml-parser', type=('build', 'run'))
- depends_on('perl@5.8.1:', type=('build', 'run'))
+ depends_on("perl-xml-parser", type=("build", "run"))
+ depends_on("perl@5.8.1:", type=("build", "run"))
# patch for "Unescaped left brace in regex is illegal here in regex"
# warnings witn perl 5.22 and errors with perl 5.26 and newer
- patch('https://launchpadlibrarian.net/216052398/intltool-perl-5.22.patch',
- sha256='ca9d6562f29f06c64150f50369a24402b7aa01a3a0dc73dce55106f3224330a1',
- level=0)
+ patch(
+ "https://launchpadlibrarian.net/216052398/intltool-perl-5.22.patch",
+ sha256="ca9d6562f29f06c64150f50369a24402b7aa01a3a0dc73dce55106f3224330a1",
+ level=0,
+ )
def check(self):
# `make check` passes but causes `make install` to fail
@@ -37,11 +39,11 @@ class Intltool(AutotoolsPackage):
# intltool is very likely to be a build dependency,
# so we add the tools it provides to the dependent module
executables = [
- 'intltool-extract',
- 'intltoolize',
- 'intltool-merge',
- 'intltool-prepare',
- 'intltool-update'
+ "intltool-extract",
+ "intltoolize",
+ "intltool-merge",
+ "intltool-prepare",
+ "intltool-update",
]
for name in executables:
diff --git a/var/spack/repos/builtin/packages/ioapi/package.py b/var/spack/repos/builtin/packages/ioapi/package.py
index 5c2c3f1624..52d3cf0fcb 100644
--- a/var/spack/repos/builtin/packages/ioapi/package.py
+++ b/var/spack/repos/builtin/packages/ioapi/package.py
@@ -12,45 +12,61 @@ class Ioapi(MakefilePackage):
"""Models-3/EDSS Input/Output Applications Programming Interface."""
homepage = "https://www.cmascenter.org/ioapi/"
- url = "https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz"
- maintainers = ['omsai']
+ url = "https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz"
+ maintainers = ["omsai"]
# This checksum is somewhat meaningless because upstream updates the tarball
# without incrementing the version despite requests no to do this.
# Therefore the checksum fails everytime upstream silently updates the
# source tarball (#28247). This also means that one must test for breaking
# changes when updating the checksum and avoid #22633.
- version('3.2', sha256='0a3cbf236ffbd9fb5f6509e35308c3353f1f53096efe0c51b84883d2da86924b')
- depends_on('netcdf-c@4:')
- depends_on('netcdf-fortran@4:')
- depends_on('sed', type='build')
+ version("3.2", sha256="0a3cbf236ffbd9fb5f6509e35308c3353f1f53096efe0c51b84883d2da86924b")
+ depends_on("netcdf-c@4:")
+ depends_on("netcdf-fortran@4:")
+ depends_on("sed", type="build")
def edit(self, spec, prefix):
# No default Makefile bundled; edit the template.
- os.symlink('Makefile.template', 'Makefile')
+ os.symlink("Makefile.template", "Makefile")
# The makefile uses stubborn assignments of = instead of ?= so
# edit the makefile instead of using environmental variables.
- makefile = FileFilter('Makefile')
- makefile.filter('(^VERSION.*)', '''
+ makefile = FileFilter("Makefile")
+ makefile.filter(
+ "(^VERSION.*)",
+ """
CPLMODE = nocpl
\\1
- '''.strip())
- makefile.filter('^BASEDIR.*', ('''
-BASEDIR = ''' + self.build_directory + '''
-INSTALL = ''' + prefix + '''
-BININST = ''' + prefix.bin + '''
-LIBINST = ''' + prefix.lib + '''
+ """.strip(),
+ )
+ makefile.filter(
+ "^BASEDIR.*",
+ (
+ """
+BASEDIR = """
+ + self.build_directory
+ + """
+INSTALL = """
+ + prefix
+ + """
+BININST = """
+ + prefix.bin
+ + """
+LIBINST = """
+ + prefix.lib
+ + """
BIN = Linux2_x86_64
- ''').strip())
+ """
+ ).strip(),
+ )
# Fix circular dependency bug for generating subdirectory Makefiles.
- makefile.filter('^configure:.*', 'configure:')
+ makefile.filter("^configure:.*", "configure:")
# Generate the subdirectory Makefiles.
- make('configure')
+ make("configure")
def install(self, spec, prefix):
- make('install')
+ make("install")
# Install the header files.
mkdirp(prefix.include.fixed132)
- install('ioapi/*.EXT', prefix.include)
+ install("ioapi/*.EXT", prefix.include)
# Install the header files for CMAQ and SMOKE in the
# non-standard -ffixed-line-length-132 format.
- install('ioapi/fixed_src/*.EXT', prefix.include.fixed132)
+ install("ioapi/fixed_src/*.EXT", prefix.include.fixed132)
diff --git a/var/spack/repos/builtin/packages/ior/package.py b/var/spack/repos/builtin/packages/ior/package.py
index 5ef417223e..6da55bbd96 100644
--- a/var/spack/repos/builtin/packages/ior/package.py
+++ b/var/spack/repos/builtin/packages/ior/package.py
@@ -11,51 +11,57 @@ class Ior(AutotoolsPackage):
using POSIX, MPI-IO, or HDF5 interfaces."""
homepage = "https://github.com/hpc/ior"
- url = "https://github.com/hpc/ior/archive/3.2.1.tar.gz"
-
- version('develop', git='https://github.com/hpc/ior.git', branch='main')
- version('3.3.0', sha256='701f2167f81ef963e227d4c036c4a947a98b5642b7c14c87c8ae657849891528', preferred=True)
- version('3.3.0rc1', sha256='0e42ebf5b5adae60625bf97989c8e2519d41ea2e3d18561d7d5b945625317aa5')
- version('3.2.1', sha256='ebcf2495aecb357370a91a2d5852cfd83bba72765e586bcfaf15fb79ca46d00e')
- version('3.2.0', sha256='91a766fb9c34b5780705d0997b71b236a1120da46652763ba11d9a8c44251852')
- version('3.0.1', sha256='0cbefbcdb02fb13ba364e102f9e7cc2dcf761698533dac25de446a3a3e81390d')
-
- variant('hdf5', default=False, description='support IO with HDF5 backend')
- variant('ncmpi', default=False, description='support IO with NCMPI backend')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mpi')
- depends_on('hdf5+mpi', when='+hdf5')
- depends_on('parallel-netcdf', when='+ncmpi')
+ url = "https://github.com/hpc/ior/archive/3.2.1.tar.gz"
+
+ version("develop", git="https://github.com/hpc/ior.git", branch="main")
+ version(
+ "3.3.0",
+ sha256="701f2167f81ef963e227d4c036c4a947a98b5642b7c14c87c8ae657849891528",
+ preferred=True,
+ )
+ version("3.3.0rc1", sha256="0e42ebf5b5adae60625bf97989c8e2519d41ea2e3d18561d7d5b945625317aa5")
+ version("3.2.1", sha256="ebcf2495aecb357370a91a2d5852cfd83bba72765e586bcfaf15fb79ca46d00e")
+ version("3.2.0", sha256="91a766fb9c34b5780705d0997b71b236a1120da46652763ba11d9a8c44251852")
+ version("3.0.1", sha256="0cbefbcdb02fb13ba364e102f9e7cc2dcf761698533dac25de446a3a3e81390d")
+
+ variant("hdf5", default=False, description="support IO with HDF5 backend")
+ variant("ncmpi", default=False, description="support IO with NCMPI backend")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mpi")
+ depends_on("hdf5+mpi", when="+hdf5")
+ depends_on("parallel-netcdf", when="+ncmpi")
# The build for 3.2.0 fails if hdf5 is enabled
# See https://github.com/hpc/ior/pull/124
- patch('https://github.com/hpc/ior/commit/1dbca5c293f95074f9887ddb2043fa984670fb4d.patch?full_index=1',
- sha256='ce7fa0eabf408f9b712c478a08aa62d68737d213901707ef8cbfc3aec02e2713',
- when='@3.2.0 +hdf5')
+ patch(
+ "https://github.com/hpc/ior/commit/1dbca5c293f95074f9887ddb2043fa984670fb4d.patch?full_index=1",
+ sha256="ce7fa0eabf408f9b712c478a08aa62d68737d213901707ef8cbfc3aec02e2713",
+ when="@3.2.0 +hdf5",
+ )
- @run_before('autoreconf')
+ @run_before("autoreconf")
def bootstrap(self):
- Executable('./bootstrap')()
+ Executable("./bootstrap")()
def configure_args(self):
spec = self.spec
config_args = []
- env['CC'] = spec['mpi'].mpicc
+ env["CC"] = spec["mpi"].mpicc
- if '+hdf5' in spec:
- config_args.append('--with-hdf5')
- config_args.append('CFLAGS=-D H5_USE_16_API')
+ if "+hdf5" in spec:
+ config_args.append("--with-hdf5")
+ config_args.append("CFLAGS=-D H5_USE_16_API")
else:
- config_args.append('--without-hdf5')
+ config_args.append("--without-hdf5")
- if '+ncmpi' in spec:
- config_args.append('--with-ncmpi')
+ if "+ncmpi" in spec:
+ config_args.append("--with-ncmpi")
else:
- config_args.append('--without-ncmpi')
+ config_args.append("--without-ncmpi")
return config_args
diff --git a/var/spack/repos/builtin/packages/iozone/package.py b/var/spack/repos/builtin/packages/iozone/package.py
index fb90c697e2..288cb21f9d 100644
--- a/var/spack/repos/builtin/packages/iozone/package.py
+++ b/var/spack/repos/builtin/packages/iozone/package.py
@@ -14,15 +14,15 @@ class Iozone(MakefilePackage):
machines and runs under many operating systems."""
homepage = "https://www.iozone.org/"
- url = "https://www.iozone.org/src/current/iozone3_465.tar"
+ url = "https://www.iozone.org/src/current/iozone3_465.tar"
- version('3_491', sha256='2cc4842d382e46a585d1df9ae1e255695480dcc0fc05c3b1cb32ef3493d0ec9a')
- version('3_465', sha256='2e3d72916e7d7340a7c505fc0c3d28553fcc5ff2daf41d811368e55bd4e6a293')
+ version("3_491", sha256="2cc4842d382e46a585d1df9ae1e255695480dcc0fc05c3b1cb32ef3493d0ec9a")
+ version("3_465", sha256="2e3d72916e7d7340a7c505fc0c3d28553fcc5ff2daf41d811368e55bd4e6a293")
# TODO: Add support for other architectures as necessary
- build_targets = ['linux-AMD64']
+ build_targets = ["linux-AMD64"]
- build_directory = 'src/current'
+ build_directory = "src/current"
def edit(self, spec, prefix):
for dirpath, dirnames, filenames in os.walk(self.stage.source_path):
@@ -31,12 +31,10 @@ class Iozone(MakefilePackage):
os.chmod(path, 0o644)
with working_dir(self.build_directory):
- filter_file(r'^CC\t= cc',
- r'CC\t= {0}'.format(spack_cc),
- 'makefile')
+ filter_file(r"^CC\t= cc", r"CC\t= {0}".format(spack_cc), "makefile")
def install(self, spec, prefix):
- install_tree('docs', join_path(prefix, 'docs'))
+ install_tree("docs", join_path(prefix, "docs"))
with working_dir(self.build_directory):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ip/package.py b/var/spack/repos/builtin/packages/ip/package.py
index 9348656bb5..1b437ce300 100644
--- a/var/spack/repos/builtin/packages/ip/package.py
+++ b/var/spack/repos/builtin/packages/ip/package.py
@@ -12,18 +12,21 @@ class Ip(CMakePackage):
NCEP. This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-ip"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v3.3.3.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v3.3.3.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'edwardhartnett', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "kgerheiser", "edwardhartnett", "Hang-Lei-NOAA"]
- version('4.0.0', sha256='a2ef0cc4e4012f9cb0389fab6097407f4c623eb49772d96eb80c44f804aa86b8')
- version('3.3.3', sha256='d5a569ca7c8225a3ade64ef5cd68f3319bcd11f6f86eb3dba901d93842eb3633', preferred=True)
+ version("4.0.0", sha256="a2ef0cc4e4012f9cb0389fab6097407f4c623eb49772d96eb80c44f804aa86b8")
+ version(
+ "3.3.3",
+ sha256="d5a569ca7c8225a3ade64ef5cd68f3319bcd11f6f86eb3dba901d93842eb3633",
+ preferred=True,
+ )
- depends_on('sp')
+ depends_on("sp")
def setup_run_environment(self, env):
- for suffix in ('4', '8', 'd'):
- lib = find_libraries('libip_4', root=self.prefix,
- shared=False, recursive=True)
- env.set('IP_LIB' + suffix, lib[0])
- env.set('IP_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
+ for suffix in ("4", "8", "d"):
+ lib = find_libraries("libip_4", root=self.prefix, shared=False, recursive=True)
+ env.set("IP_LIB" + suffix, lib[0])
+ env.set("IP_INC" + suffix, join_path(self.prefix, "include_" + suffix))
diff --git a/var/spack/repos/builtin/packages/ip2/package.py b/var/spack/repos/builtin/packages/ip2/package.py
index c89536e903..ee68a7d1a3 100644
--- a/var/spack/repos/builtin/packages/ip2/package.py
+++ b/var/spack/repos/builtin/packages/ip2/package.py
@@ -15,17 +15,18 @@ class Ip2(CMakePackage):
This is part of the NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-ip2"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-ip2/archive/refs/tags/v1.1.2.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-ip2/archive/refs/tags/v1.1.2.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.1.2', sha256='73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab')
+ version("1.1.2", sha256="73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab")
- depends_on('sp')
+ depends_on("sp")
def setup_run_environment(self, env):
- for suffix in ('4', '8', 'd'):
- lib = find_libraries('libip2_' + suffix, root=self.prefix,
- shared=False, recursive=True)
- env.set('IP2_LIB' + suffix, lib[0])
- env.set('IP2_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
+ for suffix in ("4", "8", "d"):
+ lib = find_libraries(
+ "libip2_" + suffix, root=self.prefix, shared=False, recursive=True
+ )
+ env.set("IP2_LIB" + suffix, lib[0])
+ env.set("IP2_INC" + suffix, join_path(self.prefix, "include_" + suffix))
diff --git a/var/spack/repos/builtin/packages/ipcalc/package.py b/var/spack/repos/builtin/packages/ipcalc/package.py
index 84bfc080cd..2abde0e759 100644
--- a/var/spack/repos/builtin/packages/ipcalc/package.py
+++ b/var/spack/repos/builtin/packages/ipcalc/package.py
@@ -13,17 +13,17 @@ class Ipcalc(MakefilePackage):
to be used by scripts or other programs."""
homepage = "https://gitlab.com/ipcalc/ipcalc"
- url = "https://github.com/nmav/ipcalc/archive/0.2.3.tar.gz"
+ url = "https://github.com/nmav/ipcalc/archive/0.2.3.tar.gz"
- version('0.2.3', sha256='c416f34d381a7333ad8aa8982fcfc88434818b3cc35a33b62a75c10f2a6af3c9')
- version('0.2.2', sha256='bf1b95eca219e564c85fa4233fe65342963cf3e8a303a7e10b4dd7269c864794')
- version('0.2.0', sha256='c965c1296172a6acc50d54dfe81f7e5d589f9762b5d9ae459eee00349675336b')
+ version("0.2.3", sha256="c416f34d381a7333ad8aa8982fcfc88434818b3cc35a33b62a75c10f2a6af3c9")
+ version("0.2.2", sha256="bf1b95eca219e564c85fa4233fe65342963cf3e8a303a7e10b4dd7269c864794")
+ version("0.2.0", sha256="c965c1296172a6acc50d54dfe81f7e5d589f9762b5d9ae459eee00349675336b")
- depends_on('geoip-api-c')
+ depends_on("geoip-api-c")
def setup_build_environment(self, env):
- env.prepend_path('LIBPATH', self.spec['geoip-api-c'].prefix.lib)
+ env.prepend_path("LIBPATH", self.spec["geoip-api-c"].prefix.lib)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ipcalc', prefix.bin)
+ install("ipcalc", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/iperf2/package.py b/var/spack/repos/builtin/packages/iperf2/package.py
index 1a85bea0f9..e47370c8cd 100644
--- a/var/spack/repos/builtin/packages/iperf2/package.py
+++ b/var/spack/repos/builtin/packages/iperf2/package.py
@@ -14,4 +14,4 @@ class Iperf2(AutotoolsPackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/iperf2"
sourceforge_mirror_path = "iperf2/iperf-2.0.12.tar.gz"
- version('2.0.12', sha256='367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646')
+ version("2.0.12", sha256="367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646")
diff --git a/var/spack/repos/builtin/packages/iperf3/package.py b/var/spack/repos/builtin/packages/iperf3/package.py
index 8fcf5699e4..17ff6002c0 100644
--- a/var/spack/repos/builtin/packages/iperf3/package.py
+++ b/var/spack/repos/builtin/packages/iperf3/package.py
@@ -12,6 +12,6 @@ class Iperf3(AutotoolsPackage):
maintained project."""
homepage = "https://software.es.net/iperf/"
- url = "https://github.com/esnet/iperf/archive/3.6.tar.gz"
+ url = "https://github.com/esnet/iperf/archive/3.6.tar.gz"
- version('3.6', sha256='1ad23f70a8eb4b892a3cbb247cafa956e0f5c7d8b8601b1d9c8031c2a806f23f')
+ version("3.6", sha256="1ad23f70a8eb4b892a3cbb247cafa956e0f5c7d8b8601b1d9c8031c2a806f23f")
diff --git a/var/spack/repos/builtin/packages/ipopt/package.py b/var/spack/repos/builtin/packages/ipopt/package.py
index 44a5b8a2ed..ef53e462bf 100644
--- a/var/spack/repos/builtin/packages/ipopt/package.py
+++ b/var/spack/repos/builtin/packages/ipopt/package.py
@@ -8,61 +8,57 @@ from spack.package import *
class Ipopt(AutotoolsPackage):
"""Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a
- software package for large-scale nonlinear optimization."""
+ software package for large-scale nonlinear optimization."""
homepage = "https://github.com/coin-or/Ipopt"
- url = "https://github.com/coin-or/Ipopt/archive/refs/tags/releases/3.13.2.tar.gz"
- maintainers = ['goxberry']
-
- version('3.14.5', sha256='9ebbbbf14a64e998e3fba5d2662a8f9bd03f97b1406017e78ae54e5d105ae932')
- version('3.14.4', sha256='60865150b6fad19c5968395b57ff4a0892380125646c3afa2a714926f5ac9487')
- version('3.14.3', sha256='29bbf8bbadd5f2965e18e33451723d1fed0c42b14f6493396cf53a05cdfd2c09')
- version('3.14.2', sha256='3ec6776b9a1ed8895f662bfc9939b067722770297be78ca4d6dc1cb42557da62')
- version('3.14.1', sha256='afa37bbb0d91003c58284113717dc304718a1f236c97fe097dfab1672cb879c6')
- version('3.14.0', sha256='9bed72a5456ef37f1b95746c932986e6664eb70b983d4fab61cf8aa811facdf1')
- version('3.13.4', sha256='1fdd0f8ea637856d66b1ebdd7d52ad1b8b8c1142d1a4ce0976b200ab280e5683')
- version('3.13.3', sha256='86354b36c691e6cd6b8049218519923ab0ce8a6f0a432c2c0de605191f2d4a1c')
- version('3.13.2', sha256='891ab9e9c7db29fc8ac5c779ccec6313301098de7bbf735ca230cd5544c49496')
- version('3.13.1', sha256='64fc63a3fe27cf5efaf17ebee861f7db5bf70aacf9c316c0d37e4beb4eb72e11')
- version('3.13.0', sha256='dc392396be28c4a0d49bfab399320cb3f70db5b8f090028a883d826a47744ecf')
- version('3.12.13', sha256='ab8b9457dc6c7240a45e74b4a3851821ccafc2927cfa5c8998e95941d67a94d0')
- version('3.12.12', sha256='7587c21f48bc85ae3a84d544fc67cff0d61c41bf2168879f46f7500ee5cabf73')
- version('3.12.11', sha256='d2c402b9e760f8a20314324ff967b8a3dee73d5bcf3739dd8c06a9f2e99da927')
- version('3.12.10', sha256='dfd29dc95ec815e1ff0a3b7dc86ecc8944b24977e40724c35dac25aa192ac3cd')
- version('3.12.9', sha256='af2b65338d388c9b5528cc3952ecf8d943c46564b6705087d964d0fcdb79a552')
- version('3.12.8', sha256='fa120112cd3722927f4c9ab3fb7eff9a25638ea28d467874854779a81c7cdde8')
- version('3.12.7', sha256='f20017c8e880ec1e55d3efbb615209dfe28a58d0ec5147ce9490fe90afe9d445')
- version('3.12.6', sha256='6e7253705d5c2d1e9bab2dad9f6b0658439cc83f1c51b923aac056bd26bc0f6f')
- version('3.12.5', sha256='0f0a3a93c1bf46f588b2cdc4989bb3d8b646890aefbe531606c88f143bcf7bd2')
- version('3.12.4', sha256='75e8ea3b0246a56e09ad78a4a54d0986b5be28d547ae808ea6ee2055fe2ae4aa')
- version('3.12.3', sha256='fb828fd94ede8c529e29e562947172ceff2052126f6bd91d9a2bfae96fa7bfad')
- version('3.12.2', sha256='0fa4498e61b301a65ba395bcecb2c1c1df49e56d6c6d109f0f26a0f75e3f43ee')
- version('3.12.1', sha256='bde8c415136bb38d5a3c5935757399760c6cabf67e9362702e59ab6027f030ec')
- version('3.12.0', sha256='b42f44eb53540205ede4584cced5d88a7b3ec2f1fac6e173a105496307e273a0')
-
- variant('coinhsl', default=False,
- description="Build with Coin Harwell Subroutine Libraries")
- variant('metis', default=False,
- description="Build with METIS partitioning support")
- variant('debug', default=False,
- description="Build debug instead of optimized version")
- variant('mumps', default=True,
- description='Build with support for linear solver MUMPS')
+ url = "https://github.com/coin-or/Ipopt/archive/refs/tags/releases/3.13.2.tar.gz"
+ maintainers = ["goxberry"]
+
+ version("3.14.5", sha256="9ebbbbf14a64e998e3fba5d2662a8f9bd03f97b1406017e78ae54e5d105ae932")
+ version("3.14.4", sha256="60865150b6fad19c5968395b57ff4a0892380125646c3afa2a714926f5ac9487")
+ version("3.14.3", sha256="29bbf8bbadd5f2965e18e33451723d1fed0c42b14f6493396cf53a05cdfd2c09")
+ version("3.14.2", sha256="3ec6776b9a1ed8895f662bfc9939b067722770297be78ca4d6dc1cb42557da62")
+ version("3.14.1", sha256="afa37bbb0d91003c58284113717dc304718a1f236c97fe097dfab1672cb879c6")
+ version("3.14.0", sha256="9bed72a5456ef37f1b95746c932986e6664eb70b983d4fab61cf8aa811facdf1")
+ version("3.13.4", sha256="1fdd0f8ea637856d66b1ebdd7d52ad1b8b8c1142d1a4ce0976b200ab280e5683")
+ version("3.13.3", sha256="86354b36c691e6cd6b8049218519923ab0ce8a6f0a432c2c0de605191f2d4a1c")
+ version("3.13.2", sha256="891ab9e9c7db29fc8ac5c779ccec6313301098de7bbf735ca230cd5544c49496")
+ version("3.13.1", sha256="64fc63a3fe27cf5efaf17ebee861f7db5bf70aacf9c316c0d37e4beb4eb72e11")
+ version("3.13.0", sha256="dc392396be28c4a0d49bfab399320cb3f70db5b8f090028a883d826a47744ecf")
+ version("3.12.13", sha256="ab8b9457dc6c7240a45e74b4a3851821ccafc2927cfa5c8998e95941d67a94d0")
+ version("3.12.12", sha256="7587c21f48bc85ae3a84d544fc67cff0d61c41bf2168879f46f7500ee5cabf73")
+ version("3.12.11", sha256="d2c402b9e760f8a20314324ff967b8a3dee73d5bcf3739dd8c06a9f2e99da927")
+ version("3.12.10", sha256="dfd29dc95ec815e1ff0a3b7dc86ecc8944b24977e40724c35dac25aa192ac3cd")
+ version("3.12.9", sha256="af2b65338d388c9b5528cc3952ecf8d943c46564b6705087d964d0fcdb79a552")
+ version("3.12.8", sha256="fa120112cd3722927f4c9ab3fb7eff9a25638ea28d467874854779a81c7cdde8")
+ version("3.12.7", sha256="f20017c8e880ec1e55d3efbb615209dfe28a58d0ec5147ce9490fe90afe9d445")
+ version("3.12.6", sha256="6e7253705d5c2d1e9bab2dad9f6b0658439cc83f1c51b923aac056bd26bc0f6f")
+ version("3.12.5", sha256="0f0a3a93c1bf46f588b2cdc4989bb3d8b646890aefbe531606c88f143bcf7bd2")
+ version("3.12.4", sha256="75e8ea3b0246a56e09ad78a4a54d0986b5be28d547ae808ea6ee2055fe2ae4aa")
+ version("3.12.3", sha256="fb828fd94ede8c529e29e562947172ceff2052126f6bd91d9a2bfae96fa7bfad")
+ version("3.12.2", sha256="0fa4498e61b301a65ba395bcecb2c1c1df49e56d6c6d109f0f26a0f75e3f43ee")
+ version("3.12.1", sha256="bde8c415136bb38d5a3c5935757399760c6cabf67e9362702e59ab6027f030ec")
+ version("3.12.0", sha256="b42f44eb53540205ede4584cced5d88a7b3ec2f1fac6e173a105496307e273a0")
+
+ variant("coinhsl", default=False, description="Build with Coin Harwell Subroutine Libraries")
+ variant("metis", default=False, description="Build with METIS partitioning support")
+ variant("debug", default=False, description="Build debug instead of optimized version")
+ variant("mumps", default=True, description="Build with support for linear solver MUMPS")
depends_on("blas")
depends_on("lapack")
- depends_on("pkgconfig", type='build')
- depends_on("mumps+double~mpi", when='+mumps')
- depends_on('coinhsl', when='+coinhsl')
- depends_on('metis@4.0:', when='+metis')
+ depends_on("pkgconfig", type="build")
+ depends_on("mumps+double~mpi", when="+mumps")
+ depends_on("coinhsl", when="+coinhsl")
+ depends_on("metis@4.0:", when="+metis")
# Must have at least one linear solver available!
- conflicts('~mumps', when='~coinhsl')
+ conflicts("~mumps", when="~coinhsl")
- patch('ipopt_ppc_build.patch', when='arch=ppc64le')
+ patch("ipopt_ppc_build.patch", when="arch=ppc64le")
flag_handler = build_system_flags
- build_directory = 'spack-build'
+ build_directory = "spack-build"
# IPOPT does not build correctly in parallel on OS X
parallel = False
@@ -70,11 +66,11 @@ class Ipopt(AutotoolsPackage):
def configure_args(self):
spec = self.spec
# Dependency directories
- blas_dir = spec['blas'].prefix
- lapack_dir = spec['lapack'].prefix
+ blas_dir = spec["blas"].prefix
+ lapack_dir = spec["lapack"].prefix
- blas_lib = spec['blas'].libs.ld_flags
- lapack_lib = spec['lapack'].libs.ld_flags
+ blas_lib = spec["blas"].libs.ld_flags
+ lapack_lib = spec["lapack"].libs.ld_flags
args = [
"--prefix=%s" % self.prefix,
@@ -82,60 +78,79 @@ class Ipopt(AutotoolsPackage):
"coin_skip_warn_cxxflags=yes",
]
- if spec.satisfies('@:3.12.13'):
- args.extend([
- "--with-lapack-lib={0}".format(lapack_lib),
- "--with-lapack-incdir={0}".format(lapack_dir.include),
- "--with-blas-lib={0}".format(blas_lib),
- "--with-blas-incdir={0}".format(blas_dir.include),
- ])
+ if spec.satisfies("@:3.12.13"):
+ args.extend(
+ [
+ "--with-lapack-lib={0}".format(lapack_lib),
+ "--with-lapack-incdir={0}".format(lapack_dir.include),
+ "--with-blas-lib={0}".format(blas_lib),
+ "--with-blas-incdir={0}".format(blas_dir.include),
+ ]
+ )
else:
- args.extend([
- "--with-lapack-lflags={0} {1}".format(lapack_lib, blas_lib),
- ])
-
- if '+mumps' in spec:
- mumps_dir = spec['mumps'].prefix
+ args.extend(
+ [
+ "--with-lapack-lflags={0} {1}".format(lapack_lib, blas_lib),
+ ]
+ )
+
+ if "+mumps" in spec:
+ mumps_dir = spec["mumps"].prefix
mumps_flags = "-ldmumps -lmumps_common -lpord -lmpiseq"
mumps_libcmd = "-L%s " % mumps_dir.lib + mumps_flags
- if spec.satisfies('@:3.12.13'):
- args.extend([
- "--with-mumps-incdir=%s" % mumps_dir.include,
- "--with-mumps-lib=%s" % mumps_libcmd])
+ if spec.satisfies("@:3.12.13"):
+ args.extend(
+ [
+ "--with-mumps-incdir=%s" % mumps_dir.include,
+ "--with-mumps-lib=%s" % mumps_libcmd,
+ ]
+ )
else:
- args.extend([
- "--with-mumps",
- "--with-mumps-lflags=%s" % mumps_libcmd,
- "--with-mumps-cflags=%s" % mumps_dir.include])
-
- if 'coinhsl' in spec:
- hsl_ld_flags = '-ldl {0}'.format(spec['coinhsl'].libs.ld_flags)
-
- if spec.satisfies('^coinhsl+blas'):
- hsl_ld_flags += ' {0}'.format(spec['blas'].libs.ld_flags)
-
- if spec.satisfies('@:3.12.13'):
- args.extend([
- '--with-hsl-lib=%s' % hsl_ld_flags,
- '--with-hsl-incdir=%s' % spec['coinhsl'].prefix.include])
+ args.extend(
+ [
+ "--with-mumps",
+ "--with-mumps-lflags=%s" % mumps_libcmd,
+ "--with-mumps-cflags=%s" % mumps_dir.include,
+ ]
+ )
+
+ if "coinhsl" in spec:
+ hsl_ld_flags = "-ldl {0}".format(spec["coinhsl"].libs.ld_flags)
+
+ if spec.satisfies("^coinhsl+blas"):
+ hsl_ld_flags += " {0}".format(spec["blas"].libs.ld_flags)
+
+ if spec.satisfies("@:3.12.13"):
+ args.extend(
+ [
+ "--with-hsl-lib=%s" % hsl_ld_flags,
+ "--with-hsl-incdir=%s" % spec["coinhsl"].prefix.include,
+ ]
+ )
else:
- args.extend([
- "--with-hsl",
- "--with-hsl-lflags=%s" % hsl_ld_flags,
- "--with-hsl-cflags=%s" % spec['coinhsl'].prefix.include])
-
- if 'metis' in spec:
- if spec.satisfies('@:3.12.13'):
- args.extend([
- '--with-metis-lib=%s' % spec['metis'].libs.ld_flags,
- '--with-metis-incdir=%s' % spec['metis'].prefix.include])
+ args.extend(
+ [
+ "--with-hsl",
+ "--with-hsl-lflags=%s" % hsl_ld_flags,
+ "--with-hsl-cflags=%s" % spec["coinhsl"].prefix.include,
+ ]
+ )
+
+ if "metis" in spec:
+ if spec.satisfies("@:3.12.13"):
+ args.extend(
+ [
+ "--with-metis-lib=%s" % spec["metis"].libs.ld_flags,
+ "--with-metis-incdir=%s" % spec["metis"].prefix.include,
+ ]
+ )
# The IPOPT configure file states that '--enable-debug' implies
# '--disable-shared', but adding '--enable-shared' overrides
# '--disable-shared' and builds a shared library with debug symbols
- if '+debug' in spec:
- args.append('--enable-debug')
+ if "+debug" in spec:
+ args.append("--enable-debug")
else:
- args.append('--disable-debug')
+ args.append("--disable-debug")
return args
diff --git a/var/spack/repos/builtin/packages/iproute2/package.py b/var/spack/repos/builtin/packages/iproute2/package.py
index fe41246339..8532ed346e 100644
--- a/var/spack/repos/builtin/packages/iproute2/package.py
+++ b/var/spack/repos/builtin/packages/iproute2/package.py
@@ -10,22 +10,22 @@ class Iproute2(AutotoolsPackage):
"""This is a set of utilities for Linux networking."""
homepage = "https://github.com/shemminger/iproute2"
- url = "https://github.com/shemminger/iproute2/archive/v5.9.0.tar.gz"
+ url = "https://github.com/shemminger/iproute2/archive/v5.9.0.tar.gz"
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('libmnl')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("libmnl")
- version('5.11.0', sha256='16b79e6ce65d4d5fd425cef2fd92a58c403a93faeeed0e0a3202b36a8e857d1f')
- version('5.10.0', sha256='164f1de457eefbdadb98d82c309a0977542b34e7a2dfe81e497a0b93675cb3d2')
- version('5.9.0', sha256='1afde56d416f136b1236ac2f8276e4edbe114ca3c2ab12f11af11b84cf0992e4')
- version('5.8.0', sha256='78c73ed49c35fae59ab4e9d88220dcc70da924de3838e13a3cdc7c09496e5a45')
- version('5.7.0', sha256='12a3861f463c6bbd1bb3b213ac734f75c89172b74104140dd0bbfcb1e13ee798')
- version('5.6.0', sha256='be41c35eddb02e736a2040b66ccfacee41fe7ee454580588f8959568d8a3c5b3')
- version('5.5.0', sha256='5bc88876a3140f640e3318453382be5be4c673ccc17a518c05a5ce2ef9aa9a7f')
+ version("5.11.0", sha256="16b79e6ce65d4d5fd425cef2fd92a58c403a93faeeed0e0a3202b36a8e857d1f")
+ version("5.10.0", sha256="164f1de457eefbdadb98d82c309a0977542b34e7a2dfe81e497a0b93675cb3d2")
+ version("5.9.0", sha256="1afde56d416f136b1236ac2f8276e4edbe114ca3c2ab12f11af11b84cf0992e4")
+ version("5.8.0", sha256="78c73ed49c35fae59ab4e9d88220dcc70da924de3838e13a3cdc7c09496e5a45")
+ version("5.7.0", sha256="12a3861f463c6bbd1bb3b213ac734f75c89172b74104140dd0bbfcb1e13ee798")
+ version("5.6.0", sha256="be41c35eddb02e736a2040b66ccfacee41fe7ee454580588f8959568d8a3c5b3")
+ version("5.5.0", sha256="5bc88876a3140f640e3318453382be5be4c673ccc17a518c05a5ce2ef9aa9a7f")
def install(self, spec, prefix):
- make('install', 'DESTDIR={0}'.format(prefix), 'PREFIX=')
+ make("install", "DESTDIR={0}".format(prefix), "PREFIX=")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/iptraf-ng/package.py b/var/spack/repos/builtin/packages/iptraf-ng/package.py
index 1b42b8bb37..3dca34c00f 100644
--- a/var/spack/repos/builtin/packages/iptraf-ng/package.py
+++ b/var/spack/repos/builtin/packages/iptraf-ng/package.py
@@ -10,13 +10,13 @@ class IptrafNg(MakefilePackage):
"""A console-based network monitoring utility."""
homepage = "https://github.com/iptraf-ng/iptraf-ng"
- url = "https://github.com/iptraf-ng/iptraf-ng/archive/v1.2.0.tar.gz"
+ url = "https://github.com/iptraf-ng/iptraf-ng/archive/v1.2.0.tar.gz"
- version('1.2.1', sha256='9f5cef584065420dea1ba32c86126aede1fa9bd25b0f8362b0f9fd9754f00870')
- version('1.2.0', sha256='9725115e501d083674d50a7686029d3a08f920abd35c9a2d4a28b5ddb782417f')
- version('1.1.4', sha256='16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c')
+ version("1.2.1", sha256="9f5cef584065420dea1ba32c86126aede1fa9bd25b0f8362b0f9fd9754f00870")
+ version("1.2.0", sha256="9725115e501d083674d50a7686029d3a08f920abd35c9a2d4a28b5ddb782417f")
+ version("1.1.4", sha256="16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c")
- depends_on('ncurses')
+ depends_on("ncurses")
def install(self, spec, prefix):
- make('install', 'prefix={0}'.format(prefix))
+ make("install", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/iq-tree/package.py b/var/spack/repos/builtin/packages/iq-tree/package.py
index 27d5fed746..0f75cf4b05 100644
--- a/var/spack/repos/builtin/packages/iq-tree/package.py
+++ b/var/spack/repos/builtin/packages/iq-tree/package.py
@@ -11,25 +11,25 @@ class IqTree(CMakePackage):
"""IQ-TREE Efficient software for phylogenomic inference"""
homepage = "http://www.iqtree.org"
- git = "https://github.com/iqtree/iqtree2.git"
- url = "https://github.com/Cibiv/IQ-TREE/archive/v1.6.12.tar.gz"
+ git = "https://github.com/iqtree/iqtree2.git"
+ url = "https://github.com/Cibiv/IQ-TREE/archive/v1.6.12.tar.gz"
- version('2.1.3', tag='v2.1.3', submodules=True)
- version('2.0.6', tag='v2.0.6', submodules=True)
- version('1.6.12', sha256='9614092de7a157de82c9cc402b19cc8bfa0cb0ffc93b91817875c2b4bb46a284')
+ version("2.1.3", tag="v2.1.3", submodules=True)
+ version("2.0.6", tag="v2.0.6", submodules=True)
+ version("1.6.12", sha256="9614092de7a157de82c9cc402b19cc8bfa0cb0ffc93b91817875c2b4bb46a284")
- variant('openmp', default=True, description='Enable OpenMP support.')
- variant('mpi', default=False, description='Enable MPI support.')
- variant('lsd2', default=True, description='Activate Least Squares Dating.')
+ variant("openmp", default=True, description="Enable OpenMP support.")
+ variant("mpi", default=False, description="Enable MPI support.")
+ variant("lsd2", default=True, description="Activate Least Squares Dating.")
- maintainers = ['ilbiondo']
+ maintainers = ["ilbiondo"]
# Depends on Eigen3 and zlib
depends_on("boost+container+math+exception")
depends_on("eigen")
depends_on("zlib")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
@@ -37,18 +37,18 @@ class IqTree(CMakePackage):
args = []
iqflags = []
- if '+lsd2' in spec:
- args.append('-DUSE_LSD2=ON')
+ if "+lsd2" in spec:
+ args.append("-DUSE_LSD2=ON")
- if '+openmp' in spec:
- iqflags.append('omp')
+ if "+openmp" in spec:
+ iqflags.append("omp")
- if '+mpi' in spec:
- iqflags.append('mpi')
+ if "+mpi" in spec:
+ iqflags.append("mpi")
if not iqflags:
- iqflags.append('single')
+ iqflags.append("single")
- args.append('-DIQTREE_FLAGS=' + ",".join(iqflags))
+ args.append("-DIQTREE_FLAGS=" + ",".join(iqflags))
return args
diff --git a/var/spack/repos/builtin/packages/irep/package.py b/var/spack/repos/builtin/packages/irep/package.py
index 596f19f0fc..592ec9455f 100644
--- a/var/spack/repos/builtin/packages/irep/package.py
+++ b/var/spack/repos/builtin/packages/irep/package.py
@@ -12,10 +12,10 @@ class Irep(CMakePackage):
format is a set of tables -- Lua's one (and only?) data structure."""
homepage = "https://irep.readthedocs.io/"
- url = "https://github.com/LLNL/irep/archive/refs/tags/v1.0.0.tar.gz"
+ url = "https://github.com/LLNL/irep/archive/refs/tags/v1.0.0.tar.gz"
- maintainers = ['tomstitt', 'kennyweiss']
+ maintainers = ["tomstitt", "kennyweiss"]
- version('1.0.0', 'b84203ac92de824dbdc672de45cfdb9609373791c4ee84a5201fa6e4ccecc1a4')
+ version("1.0.0", "b84203ac92de824dbdc672de45cfdb9609373791c4ee84a5201fa6e4ccecc1a4")
- depends_on('lua-lang')
+ depends_on("lua-lang")
diff --git a/var/spack/repos/builtin/packages/isaac-server/package.py b/var/spack/repos/builtin/packages/isaac-server/package.py
index a1d24573a0..c8ad2e2aec 100644
--- a/var/spack/repos/builtin/packages/isaac-server/package.py
+++ b/var/spack/repos/builtin/packages/isaac-server/package.py
@@ -10,35 +10,35 @@ class IsaacServer(CMakePackage):
"""In Situ Animation of Accelerated Computations: Server"""
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"
-
- maintainers = ['ax3l']
-
- version('develop', branch='dev')
- version('master', branch='master')
- version('1.5.2', sha256='9cedd72bea06f387b697b17a0db076e50fb3b85b74f21d3a6d99ed0d664a9ef2')
- version('1.5.1', sha256='f62d53aa6e1c28e51437dbf3d1ac0daa2f98d28660f09feaabcc953ff01b076e')
- version('1.5.0', sha256='4d5a150dfe064289d760da368102172f84e9e8851a177c8125a56e151db58dce')
- version('1.4.0', sha256='6cbd4cc54a22de5e5a3427e44141db6e7b80b33fe7a0c707390a113655bf344e')
- version('1.3.3', sha256='92a972d05d315ad66546671c047b7edf8ed0e05d64d2b8d77ababb5bb9b93d8e')
- version('1.3.2', sha256='e6eedc641de5b0a7c5ea5cda6b11e9b6d4a78dfac8be90302147b26d09859a68')
- version('1.3.1', sha256='7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf')
- version('1.3.0', sha256='fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574')
+ url = "https://github.com/ComputationalRadiationPhysics/isaac/archive/v1.3.0.tar.gz"
+ git = "https://github.com/ComputationalRadiationPhysics/isaac.git"
+
+ maintainers = ["ax3l"]
+
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("1.5.2", sha256="9cedd72bea06f387b697b17a0db076e50fb3b85b74f21d3a6d99ed0d664a9ef2")
+ version("1.5.1", sha256="f62d53aa6e1c28e51437dbf3d1ac0daa2f98d28660f09feaabcc953ff01b076e")
+ version("1.5.0", sha256="4d5a150dfe064289d760da368102172f84e9e8851a177c8125a56e151db58dce")
+ version("1.4.0", sha256="6cbd4cc54a22de5e5a3427e44141db6e7b80b33fe7a0c707390a113655bf344e")
+ version("1.3.3", sha256="92a972d05d315ad66546671c047b7edf8ed0e05d64d2b8d77ababb5bb9b93d8e")
+ version("1.3.2", sha256="e6eedc641de5b0a7c5ea5cda6b11e9b6d4a78dfac8be90302147b26d09859a68")
+ version("1.3.1", sha256="7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf")
+ version("1.3.0", sha256="fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574")
# variant('gstreamer', default=False, description= \
# 'Support for RTP streams, e.g. to Twitch or Youtube')
- depends_on('cmake@3.3:', type='build')
- depends_on('jpeg', type='link')
- depends_on('jansson@:2.9', type='link', when='@:1.5.1')
- depends_on('jansson', type='link')
- depends_on('boost@1.56.0:+serialization', type='link')
- depends_on('libwebsockets@2.1.1:', type='link')
+ depends_on("cmake@3.3:", type="build")
+ depends_on("jpeg", type="link")
+ depends_on("jansson@:2.9", type="link", when="@:1.5.1")
+ depends_on("jansson", type="link")
+ depends_on("boost@1.56.0:+serialization", type="link")
+ depends_on("libwebsockets@2.1.1:", type="link")
# depends_on('gstreamer@1.0', when='+gstreamer')
# https://github.com/ComputationalRadiationPhysics/isaac/pull/70
- patch('jpeg.patch', when='@:1.3.1')
- patch('arm.patch', when='@:1.4.0 target=aarch64:')
+ patch("jpeg.patch", when="@:1.3.1")
+ patch("arm.patch", when="@:1.4.0 target=aarch64:")
- root_cmakelists_dir = 'server'
+ root_cmakelists_dir = "server"
diff --git a/var/spack/repos/builtin/packages/isaac/package.py b/var/spack/repos/builtin/packages/isaac/package.py
index b90029c19e..a04bf0f801 100644
--- a/var/spack/repos/builtin/packages/isaac/package.py
+++ b/var/spack/repos/builtin/packages/isaac/package.py
@@ -10,35 +10,34 @@ class Isaac(CMakePackage):
"""In Situ Animation of Accelerated Computations: Header-Only Library"""
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"
-
- maintainers = ['ax3l']
-
- version('develop', branch='dev')
- version('master', branch='master')
- version('1.5.2', sha256='9cedd72bea06f387b697b17a0db076e50fb3b85b74f21d3a6d99ed0d664a9ef2')
- version('1.5.1', sha256='f62d53aa6e1c28e51437dbf3d1ac0daa2f98d28660f09feaabcc953ff01b076e')
- version('1.5.0', sha256='4d5a150dfe064289d760da368102172f84e9e8851a177c8125a56e151db58dce')
- version('1.4.0', sha256='6cbd4cc54a22de5e5a3427e44141db6e7b80b33fe7a0c707390a113655bf344e')
- version('1.3.3', sha256='92a972d05d315ad66546671c047b7edf8ed0e05d64d2b8d77ababb5bb9b93d8e')
- version('1.3.2', sha256='e6eedc641de5b0a7c5ea5cda6b11e9b6d4a78dfac8be90302147b26d09859a68')
- version('1.3.1', sha256='7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf')
- version('1.3.0', sha256='fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574')
-
- variant('cuda', default=True,
- description='Generate CUDA kernels for Nvidia GPUs')
+ url = "https://github.com/ComputationalRadiationPhysics/isaac/archive/v1.3.0.tar.gz"
+ git = "https://github.com/ComputationalRadiationPhysics/isaac.git"
+
+ maintainers = ["ax3l"]
+
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("1.5.2", sha256="9cedd72bea06f387b697b17a0db076e50fb3b85b74f21d3a6d99ed0d664a9ef2")
+ version("1.5.1", sha256="f62d53aa6e1c28e51437dbf3d1ac0daa2f98d28660f09feaabcc953ff01b076e")
+ version("1.5.0", sha256="4d5a150dfe064289d760da368102172f84e9e8851a177c8125a56e151db58dce")
+ version("1.4.0", sha256="6cbd4cc54a22de5e5a3427e44141db6e7b80b33fe7a0c707390a113655bf344e")
+ version("1.3.3", sha256="92a972d05d315ad66546671c047b7edf8ed0e05d64d2b8d77ababb5bb9b93d8e")
+ version("1.3.2", sha256="e6eedc641de5b0a7c5ea5cda6b11e9b6d4a78dfac8be90302147b26d09859a68")
+ version("1.3.1", sha256="7dead8f3d5467cbd2cde8187e7b860a4ab7796348895d18291f97a76e28757cf")
+ version("1.3.0", sha256="fcf10f4738e7790ef6604e1e2cdd052a129ba4e53a439deaafa9fb2a70585574")
+
+ variant("cuda", default=True, description="Generate CUDA kernels for Nvidia GPUs")
# variant('alpaka', default=False,
# description='Generate kernels via Alpaka, for CPUs or GPUs')
- depends_on('cmake@3.3:', type='build')
- depends_on('jpeg', type='link')
- depends_on('jansson', type='link')
- depends_on('boost@1.56.0:', type='link')
- depends_on('boost@1.65.1:', type='link', when='^cuda@9:')
- depends_on('cuda@7.0:', type='link', when='+cuda')
+ depends_on("cmake@3.3:", type="build")
+ depends_on("jpeg", type="link")
+ depends_on("jansson", type="link")
+ depends_on("boost@1.56.0:", type="link")
+ depends_on("boost@1.65.1:", type="link", when="^cuda@9:")
+ depends_on("cuda@7.0:", type="link", when="+cuda")
# depends_on('alpaka@0.3', when='+alpaka')
- depends_on('icet', type='link')
- depends_on('mpi', type='link')
+ depends_on("icet", type="link")
+ depends_on("mpi", type="link")
- root_cmakelists_dir = 'lib'
+ root_cmakelists_dir = "lib"
diff --git a/var/spack/repos/builtin/packages/isc-dhcp/package.py b/var/spack/repos/builtin/packages/isc-dhcp/package.py
index 9c35299f14..777bb8e148 100644
--- a/var/spack/repos/builtin/packages/isc-dhcp/package.py
+++ b/var/spack/repos/builtin/packages/isc-dhcp/package.py
@@ -13,20 +13,20 @@ class IscDhcp(AutotoolsPackage):
in high-volume and high-reliability applications."""
homepage = "https://www.isc.org/dhcp/"
- url = "https://downloads.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2.tar.gz"
+ url = "https://downloads.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2.tar.gz"
list_url = "https://downloads.isc.org/isc/dhcp"
list_depth = 1
parallel = False
- version('4.4.2', sha256='1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521')
- version('4.4.1', sha256='2a22508922ab367b4af4664a0472dc220cc9603482cf3c16d9aff14f3a76b608')
- version('4.4.0', sha256='4a90be0f22ad81c987f5584661b60a594f1b21c581b82bfba3ae60f89ae44397')
- version('4.3.6', sha256='a41eaf6364f1377fe065d35671d9cf82bbbc8f21207819b2b9f33f652aec6f1b')
- version('4.3.5', sha256='eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954')
+ version("4.4.2", sha256="1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521")
+ version("4.4.1", sha256="2a22508922ab367b4af4664a0472dc220cc9603482cf3c16d9aff14f3a76b608")
+ version("4.4.0", sha256="4a90be0f22ad81c987f5584661b60a594f1b21c581b82bfba3ae60f89ae44397")
+ version("4.3.6", sha256="a41eaf6364f1377fe065d35671d9cf82bbbc8f21207819b2b9f33f652aec6f1b")
+ version("4.3.5", sha256="eb95936bf15d2393c55dd505bc527d1d4408289cec5a9fa8abb99f7577e7f954")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('bind9', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("bind9", type="build")
diff --git a/var/spack/repos/builtin/packages/isescan/package.py b/var/spack/repos/builtin/packages/isescan/package.py
index 2896d87e00..c109f68ce1 100644
--- a/var/spack/repos/builtin/packages/isescan/package.py
+++ b/var/spack/repos/builtin/packages/isescan/package.py
@@ -8,64 +8,66 @@ from spack.package import *
class Isescan(Package):
"""A python pipeline to identify IS (Insertion Sequence) elements in
- genome and metagenome"""
+ genome and metagenome"""
homepage = "https://github.com/xiezhq/ISEScan"
- url = "https://github.com/xiezhq/ISEScan/archive/v1.7.2.1.tar.gz"
+ url = "https://github.com/xiezhq/ISEScan/archive/v1.7.2.1.tar.gz"
- version('1.7.2.1', sha256='b971a3e86a8cddaa4bcd520ba9e75425bbe93190466f81a3791ae0cb4baf5e5d')
+ version("1.7.2.1", sha256="b971a3e86a8cddaa4bcd520ba9e75425bbe93190466f81a3791ae0cb4baf5e5d")
- depends_on('python@3.3.3:', type='run')
- depends_on('py-numpy@1.8.0:', type='run')
- depends_on('py-scipy@0.13.1:', type='run')
- depends_on('py-biopython@1.62:', type='run')
- depends_on('py-fastcluster', type='run')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type='run')
- depends_on('blast-plus@2.2.31:', type='run')
- depends_on('fraggenescan@:1.30', type='run')
- depends_on('hmmer@3.1b2:', type='run')
+ depends_on("python@3.3.3:", type="run")
+ depends_on("py-numpy@1.8.0:", type="run")
+ depends_on("py-scipy@0.13.1:", type="run")
+ depends_on("py-biopython@1.62:", type="run")
+ depends_on("py-fastcluster", type="run")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type="run")
+ depends_on("blast-plus@2.2.31:", type="run")
+ depends_on("fraggenescan@:1.30", type="run")
+ depends_on("hmmer@3.1b2:", type="run")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('LD_LIBRARY_PATH',
- join_path(self.prefix, 'ssw201507'))
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "ssw201507"))
def install(self, spec, prefix):
# build bundled SSW library
- with working_dir('ssw201507'):
+ with working_dir("ssw201507"):
Executable(spack_cc)(
- '-O3', '-pipe', self.compiler.cc_pic_flag, '-shared',
- '-rdynamic', '-o', 'libssw.' + dso_suffix, 'ssw.c', 'ssw.h',
+ "-O3",
+ "-pipe",
+ self.compiler.cc_pic_flag,
+ "-shared",
+ "-rdynamic",
+ "-o",
+ "libssw." + dso_suffix,
+ "ssw.c",
+ "ssw.h",
)
# set paths to required programs
- blast_pfx = self.spec['blast-plus'].prefix.bin
+ blast_pfx = self.spec["blast-plus"].prefix.bin
blastn_path = blast_pfx.blastn
blastp_path = blast_pfx.blastp
makeblastdb_path = blast_pfx.makeblastdb
- hmmer_pfx = self.spec['hmmer'].prefix.bin
+ hmmer_pfx = self.spec["hmmer"].prefix.bin
phmmer_path = hmmer_pfx.phmmer
hmmsearch_path = hmmer_pfx.hmmsearch
- fgs_pfx = self.spec['fraggenescan'].prefix.bin
- fgs_path = join_path(fgs_pfx, 'run_FragGeneScan.pl')
+ fgs_pfx = self.spec["fraggenescan"].prefix.bin
+ fgs_path = join_path(fgs_pfx, "run_FragGeneScan.pl")
- constants = FileFilter('constants.py')
+ constants = FileFilter("constants.py")
- constants.filter('/apps/inst/FragGeneScan1.30/run_FragGeneScan.pl',
- fgs_path, string=True)
- constants.filter('/apps/inst/hmmer-3.3/bin/phmmer',
- phmmer_path, string=True)
- constants.filter('/apps/inst/hmmer-3.3/bin/hmmsearch',
- hmmsearch_path, string=True)
- constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/blastn',
- blastn_path, string=True)
- constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/blastp',
- blastp_path, string=True)
- constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/makeblastdb',
- makeblastdb_path, string=True)
+ constants.filter("/apps/inst/FragGeneScan1.30/run_FragGeneScan.pl", fgs_path, string=True)
+ constants.filter("/apps/inst/hmmer-3.3/bin/phmmer", phmmer_path, string=True)
+ constants.filter("/apps/inst/hmmer-3.3/bin/hmmsearch", hmmsearch_path, string=True)
+ constants.filter("/apps/inst/ncbi-blast-2.10.0+/bin/blastn", blastn_path, string=True)
+ constants.filter("/apps/inst/ncbi-blast-2.10.0+/bin/blastp", blastp_path, string=True)
+ constants.filter(
+ "/apps/inst/ncbi-blast-2.10.0+/bin/makeblastdb", makeblastdb_path, string=True
+ )
# install the whole tree
- install_tree('.', prefix)
- set_executable(join_path(prefix, 'isescan.py'))
+ install_tree(".", prefix)
+ set_executable(join_path(prefix, "isescan.py"))
diff --git a/var/spack/repos/builtin/packages/isl/package.py b/var/spack/repos/builtin/packages/isl/package.py
index fa16c84374..5e4048f74d 100644
--- a/var/spack/repos/builtin/packages/isl/package.py
+++ b/var/spack/repos/builtin/packages/isl/package.py
@@ -11,19 +11,17 @@ class Isl(AutotoolsPackage):
sets and relations of integer points bounded by affine constraints."""
homepage = "https://libisl.sourceforge.io/"
- url = "https://libisl.sourceforge.io/isl-0.21.tar.bz2"
+ url = "https://libisl.sourceforge.io/isl-0.21.tar.bz2"
- version('0.24', sha256='fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0')
- version('0.21', sha256='d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859')
- version('0.20', sha256='b587e083eb65a8b394e833dea1744f21af3f0e413a448c17536b5549ae42a4c2')
- version('0.19', sha256='d59726f34f7852a081fbd3defd1ab2136f174110fc2e0c8d10bb122173fa9ed8')
- version('0.18', sha256='6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b')
- version('0.15', sha256='8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b')
- version('0.14', sha256='7e3c02ff52f8540f6a85534f54158968417fd676001651c8289c705bd0228f36')
+ version("0.24", sha256="fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0")
+ version("0.21", sha256="d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859")
+ version("0.20", sha256="b587e083eb65a8b394e833dea1744f21af3f0e413a448c17536b5549ae42a4c2")
+ version("0.19", sha256="d59726f34f7852a081fbd3defd1ab2136f174110fc2e0c8d10bb122173fa9ed8")
+ version("0.18", sha256="6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b")
+ version("0.15", sha256="8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b")
+ version("0.14", sha256="7e3c02ff52f8540f6a85534f54158968417fd676001651c8289c705bd0228f36")
- depends_on('gmp')
+ depends_on("gmp")
def configure_args(self):
- return [
- '--with-gmp-prefix={0}'.format(self.spec['gmp'].prefix)
- ]
+ return ["--with-gmp-prefix={0}".format(self.spec["gmp"].prefix)]
diff --git a/var/spack/repos/builtin/packages/iso-codes/package.py b/var/spack/repos/builtin/packages/iso-codes/package.py
index c9339f3d6b..d926a92417 100644
--- a/var/spack/repos/builtin/packages/iso-codes/package.py
+++ b/var/spack/repos/builtin/packages/iso-codes/package.py
@@ -11,13 +11,13 @@ class IsoCodes(AutotoolsPackage):
"""ISO-codes provides lists of various ISO standards"""
homepage = "https://salsa.debian.org/iso-codes-team/iso-codes"
- url = "https://deb.debian.org/debian/pool/main/i/iso-codes/iso-codes_4.3.orig.tar.xz"
+ url = "https://deb.debian.org/debian/pool/main/i/iso-codes/iso-codes_4.3.orig.tar.xz"
- version('4.3', sha256='643eb83b2d714e8650ed7112706968d057bf5b101ba71c8ef219e20f1737b141')
+ version("4.3", sha256="643eb83b2d714e8650ed7112706968d057bf5b101ba71c8ef219e20f1737b141")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gettext', type='build')
- depends_on('python@3:', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gettext", type="build")
+ depends_on("python@3:", type="build")
diff --git a/var/spack/repos/builtin/packages/ispc/package.py b/var/spack/repos/builtin/packages/ispc/package.py
index 397e081788..e41f463bca 100644
--- a/var/spack/repos/builtin/packages/ispc/package.py
+++ b/var/spack/repos/builtin/packages/ispc/package.py
@@ -18,58 +18,62 @@ class Ispc(CMakePackage):
An open-source compiler for high-performance SIMD programming on the CPU"""
homepage = "https://ispc.github.io"
- url = "https://github.com/ispc/ispc/tarball/v1.14.1"
- git = "https://github.com/ispc/ispc"
- maintainers = ['aumuell']
-
- executables = ['^ispc$']
-
- version('main', branch='main')
- 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')
- version('1.13.0', sha256='aca595508b51dd1ff065c406a3fd7c93822320c510077dd4d97a2b98a23f097a')
-
- depends_on('python', type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('ncurses', type='link')
- depends_on('zlib', type='link')
- depends_on('llvm+clang')
- depends_on('llvm@:12', when='@:1.16')
- depends_on('llvm@11:', when='@1.16.0:')
- depends_on('llvm@10:11', when='@1.15.0:1.15')
- depends_on('llvm@10.0:10', when='@1.13:1.14')
-
- patch('don-t-assume-that-ncurses-zlib-are-system-libraries.patch',
- when='@1.14.0:1.14',
- sha256='d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc')
-
- patch('fix-linking-against-llvm-10.patch', when='@1.13.0:1.13',
- sha256='d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc')
+ url = "https://github.com/ispc/ispc/tarball/v1.14.1"
+ git = "https://github.com/ispc/ispc"
+ maintainers = ["aumuell"]
+
+ executables = ["^ispc$"]
+
+ version("main", branch="main")
+ 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")
+ version("1.13.0", sha256="aca595508b51dd1ff065c406a3fd7c93822320c510077dd4d97a2b98a23f097a")
+
+ depends_on("python", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("ncurses", type="link")
+ depends_on("zlib", type="link")
+ depends_on("llvm+clang")
+ depends_on("llvm@:12", when="@:1.16")
+ depends_on("llvm@11:", when="@1.16.0:")
+ depends_on("llvm@10:11", when="@1.15.0:1.15")
+ depends_on("llvm@10.0:10", when="@1.13:1.14")
+
+ patch(
+ "don-t-assume-that-ncurses-zlib-are-system-libraries.patch",
+ when="@1.14.0:1.14",
+ sha256="d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc",
+ )
+
+ patch(
+ "fix-linking-against-llvm-10.patch",
+ when="@1.13.0:1.13",
+ sha256="d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc",
+ )
def patch(self):
with open("check-m32.c", "w") as f:
- f.write('#include <sys/cdefs.h>')
+ f.write("#include <sys/cdefs.h>")
try:
- Executable(self.compiler.cc)('-m32', '-shared', 'check-m32.c', error=str)
+ Executable(self.compiler.cc)("-m32", "-shared", "check-m32.c", error=str)
except ProcessError:
- filter_file('bit 32 64', 'bit 64', 'cmake/GenerateBuiltins.cmake')
+ filter_file("bit 32 64", "bit 64", "cmake/GenerateBuiltins.cmake")
def cmake_args(self):
args = []
- args.append('-DARM_ENABLED=FALSE')
- args.append('-DISPC_NO_DUMPS=ON') # otherwise, LLVM needs patching
- args.append('-DISPC_INCLUDE_EXAMPLES=OFF')
- args.append('-DISPC_INCLUDE_TESTS=OFF')
- args.append('-DISPC_INCLUDE_UTILS=OFF')
+ args.append("-DARM_ENABLED=FALSE")
+ args.append("-DISPC_NO_DUMPS=ON") # otherwise, LLVM needs patching
+ args.append("-DISPC_INCLUDE_EXAMPLES=OFF")
+ args.append("-DISPC_INCLUDE_TESTS=OFF")
+ args.append("-DISPC_INCLUDE_UTILS=OFF")
return args
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'^Intel.*[iI][sS][pP][cC]\),\s+(\S+)\s+\(build.*\)',
- output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"^Intel.*[iI][sS][pP][cC]\),\s+(\S+)\s+\(build.*\)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/istio/package.py b/var/spack/repos/builtin/packages/istio/package.py
index f1dd73ad5a..6e12f9467e 100644
--- a/var/spack/repos/builtin/packages/istio/package.py
+++ b/var/spack/repos/builtin/packages/istio/package.py
@@ -8,18 +8,22 @@ import platform
from spack.package import *
_versions = {
- '1.6.7': {
- 'Linux-aarch64': '22b0f94efafe9f221c00f4599d9a04e473554515e5fdf8d119fd27e27e36c89f',
- 'Linux-x86_64': '3243d2c4bb7a116aa04a6bc21d289fb73cdc704988af1749d2a1f0fb5426be36'},
- '1.6.6': {
- 'Linux-aarch64': 'b122a0abde24b7680194f504815db5e054483b3657292a6150104e9d129787a5',
- 'Linux-x86_64': '3f092ffb3a1c13eccfadb42fe14166049535945f349241f90a91d97e57036da7'},
- '1.6.5': {
- 'Linux-aarch64': 'c32ed12be0e2bb33bae510fd6b680656990bf2c2ba6059277b6f463a195355a0',
- 'Linux-x86_64': '68e58e8aec544c2b72377f7c334f90f6215bc819f3ed71ac952692cc5c9b73ac'},
- '1.6.4': {
- 'Linux-aarch64': '700416965f48f91ce5a654513b5aa4ed56dd5875e98af203389b3d20d55016b2',
- 'Linux-x86_64': '97ce26edad734b4a324b1a3914cead3a38ac70a029dbe09777a483ec192d04df'},
+ "1.6.7": {
+ "Linux-aarch64": "22b0f94efafe9f221c00f4599d9a04e473554515e5fdf8d119fd27e27e36c89f",
+ "Linux-x86_64": "3243d2c4bb7a116aa04a6bc21d289fb73cdc704988af1749d2a1f0fb5426be36",
+ },
+ "1.6.6": {
+ "Linux-aarch64": "b122a0abde24b7680194f504815db5e054483b3657292a6150104e9d129787a5",
+ "Linux-x86_64": "3f092ffb3a1c13eccfadb42fe14166049535945f349241f90a91d97e57036da7",
+ },
+ "1.6.5": {
+ "Linux-aarch64": "c32ed12be0e2bb33bae510fd6b680656990bf2c2ba6059277b6f463a195355a0",
+ "Linux-x86_64": "68e58e8aec544c2b72377f7c334f90f6215bc819f3ed71ac952692cc5c9b73ac",
+ },
+ "1.6.4": {
+ "Linux-aarch64": "700416965f48f91ce5a654513b5aa4ed56dd5875e98af203389b3d20d55016b2",
+ "Linux-x86_64": "97ce26edad734b4a324b1a3914cead3a38ac70a029dbe09777a483ec192d04df",
+ },
}
@@ -27,7 +31,7 @@ class Istio(Package):
"""An open platform to connect, manage, and secure microservices."""
homepage = "https://istio.io/"
- url = "https://github.com/istio/istio/releases/download/1.6.5/istio-1.6.5-linux-arm64.tar.gz"
+ url = "https://github.com/istio/istio/releases/download/1.6.5/istio-1.6.5-linux-arm64.tar.gz"
list_url = "https://github.com/istio/istio/releases/download"
list_depth = 1
@@ -38,14 +42,14 @@ class Istio(Package):
version(ver, sha256=sha_val)
def url_for_version(self, version):
- url = 'https://github.com/istio/istio/releases/download/{0}/istio-{0}-linux-{1}.tar.gz'
- if platform.machine() == 'aarch64':
- aarch = 'arm64'
- elif platform.machine() == 'x86_64':
- aarch = 'amd64'
+ url = "https://github.com/istio/istio/releases/download/{0}/istio-{0}-linux-{1}.tar.gz"
+ if platform.machine() == "aarch64":
+ aarch = "arm64"
+ elif platform.machine() == "x86_64":
+ aarch = "amd64"
else:
- aarch = 'unknown'
+ aarch = "unknown"
return url.format(version, aarch)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/itensor/package.py b/var/spack/repos/builtin/packages/itensor/package.py
index c942a14bc1..c4877e0848 100644
--- a/var/spack/repos/builtin/packages/itensor/package.py
+++ b/var/spack/repos/builtin/packages/itensor/package.py
@@ -13,131 +13,120 @@ class Itensor(MakefilePackage):
implementing tensor network calculations."""
homepage = "https://itensor.org/index.html"
- url = "https://github.com/ITensor/ITensor/archive/v3.1.6.tar.gz"
-
- version('3.1.11', sha256='bc6c48d34c4d4281d15116d7d95d7e6e2b6878b9a60ce33372b8967a96826e95')
- version('3.1.10', sha256='68c149e23a1ab936ef8175ea11fedc0ec64031c3686ede93c3a5ab0c893774f6')
- version('3.1.9', sha256='4dd71b251b63fb7775ef854212df6f1d5d3ac4d6d1905dc03b1e6d2a0a620a17')
- version('3.1.8', sha256='9dae666baa6f9317fa1ca96c6229c6e62bbbb690e5ee7345f3781948903839f4')
- version('3.1.7', sha256='ff3fb3121408fc4be4aa91b16f0b0e6d2fd0129b1c9cd9b075b5197ab9b3d37f')
- version('3.1.6', sha256='1c42cd39c45124063d9812b851b4d99735caff7ac2da971b4287c2018d4cf32a')
- version('3.1.5', sha256='a0661efdda3bfc4fab1796243d4b438b0f17adce08b6bb21a2aaae9766b6a1ec')
- version('3.1.4', sha256='bdcfa786f5165b6f5d1a40a80e7ecca2e59e2ee7050fd60f42ef4a4a55a793c5')
- version('3.1.3', sha256='ff6b04f9c642c6795acd3485f44619282a2dde7a49a4e0dee89b47b69dc3853e')
- version('3.1.2', sha256='3e0f032c211e11be1b5a4adf4a581698a949d03b35c0e9b2e3d9f4bab6dd7967')
- version('3.1.1', sha256='3c12d288e50522b5bd152f956a48ec187486cfeb4ccb1ea9a05d3f0bf3bf8059')
- version('3.1.0', sha256='b887cb9c7fc06f60d9d6834380b643adea8d165d574ab1859883f399725b9db9')
- version('3.0.1', sha256='5e2ac3a5b62fb3e34f1e520e6da911b56659507fb4143118d4a602a5866bc912')
- version('3.0.0', sha256='1d249a3a6442188a9f7829b32238c1025457c2930566d134a785994b1f7c54a9')
- version('2.1.1', sha256='b91a67af66ed0fa7678494f3895b5d5ae7f1dc1026540689f9625f515cb7791c')
-
- variant('openmp', default=False, description='Enable OpenMP support.')
- variant('hdf5', default=False, description='Build rockstar with HDF5 support.')
- variant('shared', default=False, description='Also build dynamic libraries.')
-
- depends_on('lapack')
- depends_on('hdf5@:1.10+hl', when='+hdf5')
-
- conflicts('^openblas threads=none', when='+openmp')
- conflicts('^openblas threads=pthreads', when='+openmp')
+ url = "https://github.com/ITensor/ITensor/archive/v3.1.6.tar.gz"
+
+ version("3.1.11", sha256="bc6c48d34c4d4281d15116d7d95d7e6e2b6878b9a60ce33372b8967a96826e95")
+ version("3.1.10", sha256="68c149e23a1ab936ef8175ea11fedc0ec64031c3686ede93c3a5ab0c893774f6")
+ version("3.1.9", sha256="4dd71b251b63fb7775ef854212df6f1d5d3ac4d6d1905dc03b1e6d2a0a620a17")
+ version("3.1.8", sha256="9dae666baa6f9317fa1ca96c6229c6e62bbbb690e5ee7345f3781948903839f4")
+ version("3.1.7", sha256="ff3fb3121408fc4be4aa91b16f0b0e6d2fd0129b1c9cd9b075b5197ab9b3d37f")
+ version("3.1.6", sha256="1c42cd39c45124063d9812b851b4d99735caff7ac2da971b4287c2018d4cf32a")
+ version("3.1.5", sha256="a0661efdda3bfc4fab1796243d4b438b0f17adce08b6bb21a2aaae9766b6a1ec")
+ version("3.1.4", sha256="bdcfa786f5165b6f5d1a40a80e7ecca2e59e2ee7050fd60f42ef4a4a55a793c5")
+ version("3.1.3", sha256="ff6b04f9c642c6795acd3485f44619282a2dde7a49a4e0dee89b47b69dc3853e")
+ version("3.1.2", sha256="3e0f032c211e11be1b5a4adf4a581698a949d03b35c0e9b2e3d9f4bab6dd7967")
+ version("3.1.1", sha256="3c12d288e50522b5bd152f956a48ec187486cfeb4ccb1ea9a05d3f0bf3bf8059")
+ version("3.1.0", sha256="b887cb9c7fc06f60d9d6834380b643adea8d165d574ab1859883f399725b9db9")
+ version("3.0.1", sha256="5e2ac3a5b62fb3e34f1e520e6da911b56659507fb4143118d4a602a5866bc912")
+ version("3.0.0", sha256="1d249a3a6442188a9f7829b32238c1025457c2930566d134a785994b1f7c54a9")
+ version("2.1.1", sha256="b91a67af66ed0fa7678494f3895b5d5ae7f1dc1026540689f9625f515cb7791c")
+
+ variant("openmp", default=False, description="Enable OpenMP support.")
+ variant("hdf5", default=False, description="Build rockstar with HDF5 support.")
+ variant("shared", default=False, description="Also build dynamic libraries.")
+
+ depends_on("lapack")
+ depends_on("hdf5@:1.10+hl", when="+hdf5")
+
+ conflicts("^openblas threads=none", when="+openmp")
+ conflicts("^openblas threads=pthreads", when="+openmp")
def getcopts(self, spec):
copts = []
copts.append(self.compiler.cxx17_flag)
copts.append(self.compiler.cc_pic_flag)
- if spec.satisfies('%gcc'):
- if not spec.satisfies('arch=aarch64:'):
- copts.append('-m64')
- copts.append('-fconcepts')
- if spec.satisfies('%clang') or spec.satisfies('%fj'):
- copts.append('-Wno-gcc-compat')
- return ' ' + ' '.join(copts)
+ if spec.satisfies("%gcc"):
+ if not spec.satisfies("arch=aarch64:"):
+ copts.append("-m64")
+ copts.append("-fconcepts")
+ if spec.satisfies("%clang") or spec.satisfies("%fj"):
+ copts.append("-Wno-gcc-compat")
+ return " " + " ".join(copts)
def edit(self, spec, prefix):
# 0.copy options.mk
- mf = 'options.mk'
- copy('options.mk.sample', mf)
+ mf = "options.mk"
+ copy("options.mk.sample", mf)
# 1.CCCOM
- ccopts = 'CCCOM={0}{1}'.format(spack_cxx, self.getcopts(spec))
- filter_file(r'^CCCOM.+', ccopts, mf)
+ ccopts = "CCCOM={0}{1}".format(spack_cxx, self.getcopts(spec))
+ filter_file(r"^CCCOM.+", ccopts, mf)
# 2.BLAS/LAPACK
# Set default values
- vpla = 'PLATFORM=lapack'
- vlib = 'BLAS_LAPACK_LIBFLAGS='
- vlib += spec['lapack'].libs.ld_flags
- vinc = 'BLAS_LAPACK_INCLUDEFLAGS=-I'
- vinc += spec['lapack'].prefix.include
- ltype = spec['lapack'].name
+ vpla = "PLATFORM=lapack"
+ vlib = "BLAS_LAPACK_LIBFLAGS="
+ vlib += spec["lapack"].libs.ld_flags
+ vinc = "BLAS_LAPACK_INCLUDEFLAGS=-I"
+ vinc += spec["lapack"].prefix.include
+ ltype = spec["lapack"].name
# lapack specific
- if ltype == 'openblas':
- vpla = 'PLATFORM=openblas'
- if spec.satisfies('%gcc'):
- vinc += ' -fpermissive'
- vinc += ' -DHAVE_LAPACK_CONFIG_H'
- vinc += ' -DLAPACK_COMPLEX_STRUCTURE'
- filter_file('#PLATFORM=lapack', vinc, mf, String=True)
- elif ltype == 'intel-mkl':
- vpla = 'PLATFORM=mkl'
- filter_file('#PLATFORM=lapack', vinc, mf, String=True)
-
- filter_file(r'^PLATFORM.+', vpla, mf)
- filter_file(r'^BLAS_LAPACK_LIBFLAGS.+', vlib, mf)
+ if ltype == "openblas":
+ vpla = "PLATFORM=openblas"
+ if spec.satisfies("%gcc"):
+ vinc += " -fpermissive"
+ vinc += " -DHAVE_LAPACK_CONFIG_H"
+ vinc += " -DLAPACK_COMPLEX_STRUCTURE"
+ filter_file("#PLATFORM=lapack", vinc, mf, String=True)
+ elif ltype == "intel-mkl":
+ vpla = "PLATFORM=mkl"
+ filter_file("#PLATFORM=lapack", vinc, mf, String=True)
+
+ filter_file(r"^PLATFORM.+", vpla, mf)
+ filter_file(r"^BLAS_LAPACK_LIBFLAGS.+", vlib, mf)
# 3.HDF5
- if '+hdf5' in spec:
- hdf5p = 'HDF5_PREFIX={0}'.format(spec["hdf5"].prefix.lib)
- filter_file('^#HDF5.+', hdf5p, mf)
+ if "+hdf5" in spec:
+ hdf5p = "HDF5_PREFIX={0}".format(spec["hdf5"].prefix.lib)
+ filter_file("^#HDF5.+", hdf5p, mf)
# 4.openmp
- if '+openmp' in spec:
- filter_file('#ITENSOR_USE_OMP', 'ITENSOR_USE_OMP', mf)
- filter_file('-fopenmp', self.compiler.openmp_flag, mf)
+ if "+openmp" in spec:
+ filter_file("#ITENSOR_USE_OMP", "ITENSOR_USE_OMP", mf)
+ filter_file("-fopenmp", self.compiler.openmp_flag, mf)
# 5.prefix
- filter_file(
- r'^PREFIX.+',
- 'PREFIX={0}'.format(os.getcwd()),
- mf
- )
+ filter_file(r"^PREFIX.+", "PREFIX={0}".format(os.getcwd()), mf)
# 5.shared
- if '+shared' in spec:
- filter_file('ITENSOR_MAKE_DYLIB=0', 'ITENSOR_MAKE_DYLIB=1', mf)
+ if "+shared" in spec:
+ filter_file("ITENSOR_MAKE_DYLIB=0", "ITENSOR_MAKE_DYLIB=1", mf)
def install(self, spec, prefix):
# 0.backup options.mk
- mf = 'options.mk'
- copy(mf, 'options.mk.build')
+ mf = "options.mk"
+ copy(mf, "options.mk.build")
# 1.CCCOM
- ccopts = 'CCCOM={0}'.format(self.compiler.cxx)
- ccopts += ' ' + ' '.join(spec.compiler_flags['cxxflags'])
- if spec.satisfies('%fj'):
- ccopts += ' ' + env["FCC_ENV"]
+ ccopts = "CCCOM={0}".format(self.compiler.cxx)
+ ccopts += " " + " ".join(spec.compiler_flags["cxxflags"])
+ if spec.satisfies("%fj"):
+ ccopts += " " + env["FCC_ENV"]
ccopts += self.getcopts(spec)
- filter_file(r'^CCCOM.+', ccopts, mf)
+ filter_file(r"^CCCOM.+", ccopts, mf)
# 2.LDFLAGS
- vlib = 'BLAS_LAPACK_LIBFLAGS={0} '.format(' '.join(
- spec.compiler_flags['ldflags'] + spec.compiler_flags['ldlibs']))
- filter_file(r'^BLAS_LAPACK_LIBFLAGS=', vlib, mf)
+ vlib = "BLAS_LAPACK_LIBFLAGS={0} ".format(
+ " ".join(spec.compiler_flags["ldflags"] + spec.compiler_flags["ldlibs"])
+ )
+ filter_file(r"^BLAS_LAPACK_LIBFLAGS=", vlib, mf)
# 3.prefix
- filter_file(
- r'^PREFIX.+',
- 'PREFIX={0}'.format(prefix),
- mf
- )
+ filter_file(r"^PREFIX.+", "PREFIX={0}".format(prefix), mf)
# tutorial/project_template/Makefile
- mf2 = join_path('tutorial', 'project_template', 'Makefile')
- filter_file(
- r'^LIBRARY_DIR.+',
- 'LIBRARY_DIR={0}'.format(prefix),
- mf2
- )
+ mf2 = join_path("tutorial", "project_template", "Makefile")
+ filter_file(r"^LIBRARY_DIR.+", "LIBRARY_DIR={0}".format(prefix), mf2)
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/itk/package.py b/var/spack/repos/builtin/packages/itk/package.py
index 0f304d452d..edeb208d33 100644
--- a/var/spack/repos/builtin/packages/itk/package.py
+++ b/var/spack/repos/builtin/packages/itk/package.py
@@ -20,21 +20,23 @@ class Itk(CMakePackage):
with a MRI scan in order to combine the information contained in both."""
homepage = "https://itk.org/"
- url = "https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.1.1/InsightToolkit-5.1.1.tar.gz"
+ url = "https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.1.1/InsightToolkit-5.1.1.tar.gz"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('5.3rc02', sha256='163aaf4a6cecd5b70ff718c1a986c746581797212fd1b629fa81f12ae4756d14')
- version('5.2.1', sha256='192d41bcdd258273d88069094f98c61c38693553fd751b54f8cda308439555db', preferred=True)
- version('5.2.0', sha256='12c9cf543cbdd929330322f0a704ba6925a13d36d01fc721a74d131c0b82796e')
- version('5.1.2', sha256='f1e5a78e11125348f68f655c6b89b617c3a8b2c09f710081f621054811a70c98')
- version('5.1.1', sha256='39e2a63840054361b728878a35b21bbe38374682ffb4b5c4f8f8f7514dedb58e')
+ version("5.3rc02", sha256="163aaf4a6cecd5b70ff718c1a986c746581797212fd1b629fa81f12ae4756d14")
+ version(
+ "5.2.1",
+ sha256="192d41bcdd258273d88069094f98c61c38693553fd751b54f8cda308439555db",
+ preferred=True,
+ )
+ version("5.2.0", sha256="12c9cf543cbdd929330322f0a704ba6925a13d36d01fc721a74d131c0b82796e")
+ version("5.1.2", sha256="f1e5a78e11125348f68f655c6b89b617c3a8b2c09f710081f621054811a70c98")
+ version("5.1.1", sha256="39e2a63840054361b728878a35b21bbe38374682ffb4b5c4f8f8f7514dedb58e")
- variant('review', default=False, description='enable modules under review')
- variant('rtk', default=False,
- description='build the RTK (Reconstruction Toolkit module')
- variant('minc', default=False,
- description='enable support for MINC files')
+ variant("review", default=False, description="enable modules under review")
+ variant("rtk", default=False, description="build the RTK (Reconstruction Toolkit module")
+ variant("minc", default=False, description="enable support for MINC files")
# TODO: This will not work if the resource is pulled from a spack mirror.
# The build process will checkout the appropriate commit but it needs to be
@@ -49,39 +51,41 @@ class Itk(CMakePackage):
# when='+rtk',
# )
- depends_on('git', type='build')
- depends_on('perl', type='build')
+ depends_on("git", type="build")
+ depends_on("perl", type="build")
- depends_on('eigen')
- depends_on('expat')
- depends_on('fftw-api')
- depends_on('googletest')
- depends_on('hdf5+cxx')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('zlib')
+ depends_on("eigen")
+ depends_on("expat")
+ depends_on("fftw-api")
+ depends_on("googletest")
+ depends_on("hdf5+cxx")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("zlib")
def cmake_args(self):
force = CMakePackage.define
from_variant = self.define_from_variant
- use_mkl = '^mkl' in self.spec
+ use_mkl = "^mkl" in self.spec
args = [
- force('BUILD_SHARED_LIBS', True),
- force('ITK_USE_SYSTEM_LIBRARIES', True),
- force('ITK_USE_MKL', use_mkl),
- from_variant('Module_ITKReview', 'review'),
- from_variant('Module_RTK', 'rtk'),
- from_variant('Module_ITKIOMINC', 'minc'),
- from_variant('Module_ITKIOTransformMINC', 'minc')
+ force("BUILD_SHARED_LIBS", True),
+ force("ITK_USE_SYSTEM_LIBRARIES", True),
+ force("ITK_USE_MKL", use_mkl),
+ from_variant("Module_ITKReview", "review"),
+ from_variant("Module_RTK", "rtk"),
+ from_variant("Module_ITKIOMINC", "minc"),
+ from_variant("Module_ITKIOTransformMINC", "minc"),
]
if not use_mkl:
- args.extend([
- force('USE_FFTWD', True),
- force('USE_FFTWF', True),
- force('USE_SYSTEM_FFTW', True),
- ])
+ args.extend(
+ [
+ force("USE_FFTWD", True),
+ force("USE_FFTWF", True),
+ force("USE_SYSTEM_FFTW", True),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/itstool/package.py b/var/spack/repos/builtin/packages/itstool/package.py
index 47ad0a58a4..b6c73cf561 100644
--- a/var/spack/repos/builtin/packages/itstool/package.py
+++ b/var/spack/repos/builtin/packages/itstool/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Itstool(AutotoolsPackage):
"""ITS Tool allows you to translate your XML documents with PO files, using
- rules from the W3C Internationalization Tag Set (ITS) to determine what
- to translate and how to separate it into PO file messages."""
+ rules from the W3C Internationalization Tag Set (ITS) to determine what
+ to translate and how to separate it into PO file messages."""
homepage = "http://itstool.org/"
- url = "http://files.itstool.org/itstool/itstool-2.0.2.tar.bz2"
+ url = "http://files.itstool.org/itstool/itstool-2.0.2.tar.bz2"
- maintainers = ['agoodLANL']
+ maintainers = ["agoodLANL"]
- version('2.0.7', sha256='6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca')
- version('2.0.2', sha256='bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a')
- version('2.0.1', sha256='ec6b1b32403cbe338b6ac63c61ab1ecd361f539a6e41ef50eae56a4f577234d1')
- version('2.0.0', sha256='14708111b11b4a70e240e3b404d7a58941e61dbb5caf7e18833294d654c09169')
- version('1.2.0', sha256='46fed63fb89c72dbfc03097b4477084ff05ad6f171212d8f1f1546ea543978aa')
+ version("2.0.7", sha256="6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca")
+ version("2.0.2", sha256="bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a")
+ version("2.0.1", sha256="ec6b1b32403cbe338b6ac63c61ab1ecd361f539a6e41ef50eae56a4f577234d1")
+ version("2.0.0", sha256="14708111b11b4a70e240e3b404d7a58941e61dbb5caf7e18833294d654c09169")
+ version("1.2.0", sha256="46fed63fb89c72dbfc03097b4477084ff05ad6f171212d8f1f1546ea543978aa")
- depends_on('libxml2+python', type=('build', 'run'))
- depends_on('python@2.0:2', when='@:2.0.2')
+ depends_on("libxml2+python", type=("build", "run"))
+ depends_on("python@2.0:2", when="@:2.0.2")
diff --git a/var/spack/repos/builtin/packages/itsx/package.py b/var/spack/repos/builtin/packages/itsx/package.py
index 9dbd285899..6b42e6a969 100644
--- a/var/spack/repos/builtin/packages/itsx/package.py
+++ b/var/spack/repos/builtin/packages/itsx/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Itsx(Package):
"""Improved software detection and extraction of ITS1 and ITS2 from
- ribosomal ITS sequences of fungi and other eukaryotes for use in
- environmental sequencing"""
+ ribosomal ITS sequences of fungi and other eukaryotes for use in
+ environmental sequencing"""
homepage = "https://microbiology.se/software/itsx/"
- url = "https://microbiology.se/sw/ITSx_1.0.11.tar.gz"
+ url = "https://microbiology.se/sw/ITSx_1.0.11.tar.gz"
- version('1.0.11', sha256='8f4f76fc9c43b61f4dd4cd8dc4e495e9687943e15515396583f7a757651d435e')
+ version("1.0.11", sha256="8f4f76fc9c43b61f4dd4cd8dc4e495e9687943e15515396583f7a757651d435e")
- depends_on('perl', type=('build', 'run'))
- depends_on('hmmer')
+ depends_on("perl", type=("build", "run"))
+ depends_on("hmmer")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ITSx', prefix.bin)
- install_tree('ITSx_db', prefix.bin.ITSx_db)
+ install("ITSx", prefix.bin)
+ install_tree("ITSx_db", prefix.bin.ITSx_db)
diff --git a/var/spack/repos/builtin/packages/iwyu/package.py b/var/spack/repos/builtin/packages/iwyu/package.py
index 726f8e62ea..5325563ee1 100644
--- a/var/spack/repos/builtin/packages/iwyu/package.py
+++ b/var/spack/repos/builtin/packages/iwyu/package.py
@@ -14,43 +14,42 @@ class Iwyu(CMakePackage):
"""
homepage = "https://include-what-you-use.org"
- url = "https://include-what-you-use.org/downloads/include-what-you-use-0.13.src.tar.gz"
-
- maintainers = ['sethrj']
-
- version('0.18', sha256='9102fc8419294757df86a89ce6ec305f8d90a818d1f2598a139d15eb1894b8f3')
- version('0.17', sha256='eca7c04f8b416b6385ed00e33669a7fa4693cd26cb72b522cde558828eb0c665')
- version('0.16', sha256='8d6fc9b255343bc1e5ec459e39512df1d51c60e03562985e0076036119ff5a1c')
- version('0.15', sha256='2bd6f2ae0d76e4a9412f468a5fa1af93d5f20bb66b9e7bf73479c31d789ac2e2')
- version('0.14', sha256='43184397db57660c32e3298a6b1fd5ab82e808a1f5ab0591d6745f8d256200ef')
- version('0.13', sha256='49294270aa64e8c04182369212cd919f3b3e0e47601b1f935f038c761c265bc9')
- version('0.12', sha256='a5892fb0abccb820c394e4e245c00ef30fc94e4ae58a048b23f94047c0816025')
- version('0.11', sha256='2d2877726c4aed9518cbb37673ffbc2b7da9c239bf8fe29432da35c1c0ec367a')
-
- patch('iwyu-013-cmake.patch', when='@0.13:0.14')
-
- depends_on('llvm+clang@14.0:14', when='@0.18')
- depends_on('llvm+clang@13.0:13', when='@0.17')
- depends_on('llvm+clang@12.0:12', when='@0.16')
- depends_on('llvm+clang@11.0:11', when='@0.15')
- depends_on('llvm+clang@10.0:10', when='@0.14')
- depends_on('llvm+clang@9.0:9', when='@0.13')
- depends_on('llvm+clang@8.0:8', when='@0.12')
- depends_on('llvm+clang@7.0:7', when='@0.11')
+ url = "https://include-what-you-use.org/downloads/include-what-you-use-0.13.src.tar.gz"
+
+ maintainers = ["sethrj"]
+
+ version("0.18", sha256="9102fc8419294757df86a89ce6ec305f8d90a818d1f2598a139d15eb1894b8f3")
+ version("0.17", sha256="eca7c04f8b416b6385ed00e33669a7fa4693cd26cb72b522cde558828eb0c665")
+ version("0.16", sha256="8d6fc9b255343bc1e5ec459e39512df1d51c60e03562985e0076036119ff5a1c")
+ version("0.15", sha256="2bd6f2ae0d76e4a9412f468a5fa1af93d5f20bb66b9e7bf73479c31d789ac2e2")
+ version("0.14", sha256="43184397db57660c32e3298a6b1fd5ab82e808a1f5ab0591d6745f8d256200ef")
+ version("0.13", sha256="49294270aa64e8c04182369212cd919f3b3e0e47601b1f935f038c761c265bc9")
+ version("0.12", sha256="a5892fb0abccb820c394e4e245c00ef30fc94e4ae58a048b23f94047c0816025")
+ version("0.11", sha256="2d2877726c4aed9518cbb37673ffbc2b7da9c239bf8fe29432da35c1c0ec367a")
+
+ patch("iwyu-013-cmake.patch", when="@0.13:0.14")
+
+ depends_on("llvm+clang@14.0:14", when="@0.18")
+ depends_on("llvm+clang@13.0:13", when="@0.17")
+ depends_on("llvm+clang@12.0:12", when="@0.16")
+ depends_on("llvm+clang@11.0:11", when="@0.15")
+ depends_on("llvm+clang@10.0:10", when="@0.14")
+ depends_on("llvm+clang@9.0:9", when="@0.13")
+ depends_on("llvm+clang@8.0:8", when="@0.12")
+ depends_on("llvm+clang@7.0:7", when="@0.11")
# iwyu uses X86AsmParser so must have the x86 target on non-x86 arch
_arches = set(str(x.family) for x in archspec.cpu.TARGETS.values())
- for _arch in _arches - set(['x86', 'x86_64']):
- depends_on('llvm targets=x86', when='arch={0}:'.format(_arch))
+ for _arch in _arches - set(["x86", "x86_64"]):
+ depends_on("llvm targets=x86", when="arch={0}:".format(_arch))
- @when('@0.14:')
+ @when("@0.14:")
def cmake_args(self):
- return [self.define('CMAKE_CXX_STANDARD', 14),
- self.define('CMAKE_CXX_EXTENSIONS', False)]
+ return [self.define("CMAKE_CXX_STANDARD", 14), self.define("CMAKE_CXX_EXTENSIONS", False)]
- @run_after('install')
+ @run_after("install")
def link_resources(self):
# iwyu needs to find Clang's headers
# https://github.com/include-what-you-use/include-what-you-use/blob/master/README.md#how-to-install
mkdir(self.prefix.lib)
- symlink(self.spec['llvm'].prefix.lib.clang, self.prefix.lib.clang)
+ symlink(self.spec["llvm"].prefix.lib.clang, self.prefix.lib.clang)
diff --git a/var/spack/repos/builtin/packages/jackcess/package.py b/var/spack/repos/builtin/packages/jackcess/package.py
index a1ffbb5a05..fdb7ed0220 100644
--- a/var/spack/repos/builtin/packages/jackcess/package.py
+++ b/var/spack/repos/builtin/packages/jackcess/package.py
@@ -11,18 +11,26 @@ class Jackcess(Package):
MS Access databases (currently supporting versions 2000-2016)."""
homepage = "http://jackcess.sourceforge.net/"
- url = "https://sourceforge.net/projects/jackcess/files/jackcess/2.1.12/jackcess-2.1.12.jar"
+ url = "https://sourceforge.net/projects/jackcess/files/jackcess/2.1.12/jackcess-2.1.12.jar"
- version('2.1.12', sha256='347e666d8f6abf382a0e1a7597421911423f20cf71237225f9eb53626f377f22', expand=False)
- version('1.2.14.3', sha256='a6fab0c4b5daf23dcf7fd309ee4ffc6df12ff982510c094e45442adf88712787', expand=False,
- url='https://sourceforge.net/projects/jackcess/files/jackcess/Older%20Releases/1.2.14.3/jackcess-1.2.14.3.jar')
+ version(
+ "2.1.12",
+ sha256="347e666d8f6abf382a0e1a7597421911423f20cf71237225f9eb53626f377f22",
+ expand=False,
+ )
+ version(
+ "1.2.14.3",
+ sha256="a6fab0c4b5daf23dcf7fd309ee4ffc6df12ff982510c094e45442adf88712787",
+ expand=False,
+ url="https://sourceforge.net/projects/jackcess/files/jackcess/Older%20Releases/1.2.14.3/jackcess-1.2.14.3.jar",
+ )
- extends('openjdk')
- depends_on('java', type='run')
- depends_on('commons-lang@2.6', when='@2.1.12', type='run')
- depends_on('commons-lang@2.4', when='@1.2.14.3', type='run')
- depends_on('commons-logging@1.1.3', when='@2.1.12', type='run')
- depends_on('commons-logging@1.1.1', when='@1.2.14.3', type='run')
+ extends("openjdk")
+ depends_on("java", type="run")
+ depends_on("commons-lang@2.6", when="@2.1.12", type="run")
+ depends_on("commons-lang@2.4", when="@1.2.14.3", type="run")
+ depends_on("commons-logging@1.1.3", when="@2.1.12", type="run")
+ depends_on("commons-logging@1.1.1", when="@1.2.14.3", type="run")
def install(self, spec, prefix):
- install('jackcess-{0}.jar'.format(self.version), prefix)
+ install("jackcess-{0}.jar".format(self.version), prefix)
diff --git a/var/spack/repos/builtin/packages/jafka/package.py b/var/spack/repos/builtin/packages/jafka/package.py
index b7a5f31712..bcc6be3142 100644
--- a/var/spack/repos/builtin/packages/jafka/package.py
+++ b/var/spack/repos/builtin/packages/jafka/package.py
@@ -12,18 +12,18 @@ class Jafka(Package):
"""
homepage = "https://github.com/adyliu/jafka"
- url = "https://github.com/adyliu/jafka/releases/download/3.0.6/jafka-3.0.6.tgz"
+ url = "https://github.com/adyliu/jafka/releases/download/3.0.6/jafka-3.0.6.tgz"
- version('3.0.6', sha256='89c9456360ace5d43c3af52b5d2e712fc49be2f88b1b3dcfe0c8f195a3244e17')
- version('3.0.5', sha256='43f1b4188a092c30f48f9cdd0bddd3074f331a9b916b6cb566da2e9e40bc09a7')
- version('3.0.4', sha256='a5334fc9280764f9fd4b5eb156154c721f074c1bcc1e5496189af7c06cd16b45')
- version('3.0.3', sha256='226e902af7754bb0df2cc0f30195e4f8f2512d9935265d40633293014582c7e2')
- version('3.0.2', sha256='c7194476475a9c3cc09ed5a4e84eecf47a8d75011f413b26fd2c0b66c598f467')
- version('3.0.1', sha256='3a75e7e5bb469b6d9061985a1ce3b5d0b622f44268da71cab4a854bce7150d41')
- version('3.0.0', sha256='4c4bacdd5fba8096118f6e842b4731a3f7b3885514fe1c6b707ea45c86c7c409')
- version('1.6.2', sha256='fbe5d6a3ce5e66282e27c7b71beaeeede948c598abb452abd2cae41149f44196')
+ version("3.0.6", sha256="89c9456360ace5d43c3af52b5d2e712fc49be2f88b1b3dcfe0c8f195a3244e17")
+ version("3.0.5", sha256="43f1b4188a092c30f48f9cdd0bddd3074f331a9b916b6cb566da2e9e40bc09a7")
+ version("3.0.4", sha256="a5334fc9280764f9fd4b5eb156154c721f074c1bcc1e5496189af7c06cd16b45")
+ version("3.0.3", sha256="226e902af7754bb0df2cc0f30195e4f8f2512d9935265d40633293014582c7e2")
+ version("3.0.2", sha256="c7194476475a9c3cc09ed5a4e84eecf47a8d75011f413b26fd2c0b66c598f467")
+ version("3.0.1", sha256="3a75e7e5bb469b6d9061985a1ce3b5d0b622f44268da71cab4a854bce7150d41")
+ version("3.0.0", sha256="4c4bacdd5fba8096118f6e842b4731a3f7b3885514fe1c6b707ea45c86c7c409")
+ version("1.6.2", sha256="fbe5d6a3ce5e66282e27c7b71beaeeede948c598abb452abd2cae41149f44196")
- depends_on('java@7:', type='run')
+ depends_on("java@7:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/jags/package.py b/var/spack/repos/builtin/packages/jags/package.py
index 000490231a..5a3bf9714c 100644
--- a/var/spack/repos/builtin/packages/jags/package.py
+++ b/var/spack/repos/builtin/packages/jags/package.py
@@ -8,21 +8,23 @@ from spack.package import *
class Jags(AutotoolsPackage):
"""JAGS is Just Another Gibbs Sampler. It is a program for analysis of
- Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC)
- simulation not wholly unlike BUGS"""
+ Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC)
+ simulation not wholly unlike BUGS"""
- tags = ['mcmc', 'Gibbs-sampler']
+ tags = ["mcmc", "Gibbs-sampler"]
homepage = "http://mcmc-jags.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/mcmc-jags/JAGS/4.x/Source/JAGS-4.2.0.tar.gz"
- version('4.3.0', sha256='8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc')
- version('4.2.0', sha256='af3e9d2896d3e712f99e2a0c81091c6b08f096650af6aa9d0c631c0790409cf7')
+ version("4.3.0", sha256="8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc")
+ version("4.2.0", sha256="af3e9d2896d3e712f99e2a0c81091c6b08f096650af6aa9d0c631c0790409cf7")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
def configure_args(self):
- args = ['--with-blas=%s' % self.spec['blas'].libs.ld_flags,
- '--with-lapack=%s' % self.spec['lapack'].libs.ld_flags]
+ args = [
+ "--with-blas=%s" % self.spec["blas"].libs.ld_flags,
+ "--with-lapack=%s" % self.spec["lapack"].libs.ld_flags,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/jali/package.py b/var/spack/repos/builtin/packages/jali/package.py
index b07f56da26..89b0436edd 100644
--- a/var/spack/repos/builtin/packages/jali/package.py
+++ b/var/spack/repos/builtin/packages/jali/package.py
@@ -13,45 +13,45 @@ class Jali(CMakePackage):
"""
homepage = "https://github.com/lanl/jali"
- git = "https://github.com/lanl/jali"
- url = "https://github.com/lanl/jali/archive/1.1.6.tar.gz"
+ git = "https://github.com/lanl/jali"
+ url = "https://github.com/lanl/jali/archive/1.1.6.tar.gz"
- maintainers = ['raovgarimella']
+ maintainers = ["raovgarimella"]
- version('master', branch='master')
- version('1.1.6', sha256='a2f4e4f238c60ea78486e0c9ea5b3e2cdd9d91c2ae5ea006a1d33a12e9eafa3a')
- version('1.1.5', sha256='4f18f3e8b50f20a89918e99596a7226c215944d84df642bc1fb2d6c31464b95b')
- version('1.1.4', sha256='135ab02be1487fcdfb039613cbed630bce336d581a66468c66209db0a9d8a104')
- version('1.1.1', sha256='c96c000b3893ea7f15bbc886524476dd466ae145e77deedc27e412fcc3541207')
- version('1.1.0', sha256='783dfcd6a9284af83bb380ed257fa8b0757dc2f7f9196d935eb974fb6523c644')
- version('1.0.5', sha256='979170615d33a7bf20c96bd4d0285e05a2bbd901164e377a8bccbd9af9463801')
+ version("master", branch="master")
+ version("1.1.6", sha256="a2f4e4f238c60ea78486e0c9ea5b3e2cdd9d91c2ae5ea006a1d33a12e9eafa3a")
+ version("1.1.5", sha256="4f18f3e8b50f20a89918e99596a7226c215944d84df642bc1fb2d6c31464b95b")
+ version("1.1.4", sha256="135ab02be1487fcdfb039613cbed630bce336d581a66468c66209db0a9d8a104")
+ version("1.1.1", sha256="c96c000b3893ea7f15bbc886524476dd466ae145e77deedc27e412fcc3541207")
+ version("1.1.0", sha256="783dfcd6a9284af83bb380ed257fa8b0757dc2f7f9196d935eb974fb6523c644")
+ version("1.0.5", sha256="979170615d33a7bf20c96bd4d0285e05a2bbd901164e377a8bccbd9af9463801")
- variant('mstk', default=True, description='Enable MSTK')
+ variant("mstk", default=True, description="Enable MSTK")
# dependencies
- depends_on('cmake@3.13:', type='build')
+ depends_on("cmake@3.13:", type="build")
- depends_on('mpi')
+ depends_on("mpi")
# Fixme: Can the maintainers please confirm if this is a required dependency
- depends_on('boost')
+ depends_on("boost")
depends_on(Boost.with_default_variants)
- depends_on('mstk@3.3.5: +exodusii+parallel~use_markers partitioner=all', when='+mstk')
+ depends_on("mstk@3.3.5: +exodusii+parallel~use_markers partitioner=all", when="+mstk")
- depends_on('zoltan -fortran')
- depends_on('metis')
- depends_on('exodusii')
+ depends_on("zoltan -fortran")
+ depends_on("metis")
+ depends_on("exodusii")
# Unit testing variant
- depends_on('unittest-cpp', type='test')
+ depends_on("unittest-cpp", type="test")
def cmake_args(self):
options = []
# Turn MSTK ON/OFF
- options.append(self.define_from_variant('ENABLE_MSTK_Mesh', 'mstk'))
+ options.append(self.define_from_variant("ENABLE_MSTK_Mesh", "mstk"))
# Unit test variant
- options.append(self.define('ENABLE_TESTS', self.run_tests))
+ options.append(self.define("ENABLE_TESTS", self.run_tests))
return options
diff --git a/var/spack/repos/builtin/packages/jansi-native/package.py b/var/spack/repos/builtin/packages/jansi-native/package.py
index 39ef54ebec..a4f90beece 100644
--- a/var/spack/repos/builtin/packages/jansi-native/package.py
+++ b/var/spack/repos/builtin/packages/jansi-native/package.py
@@ -12,8 +12,8 @@ class JansiNative(MavenPackage):
on windows."""
homepage = "https://fusesource.github.io/jansi/"
- url = "https://github.com/fusesource/jansi-native/archive/jansi-native-1.8.tar.gz"
+ url = "https://github.com/fusesource/jansi-native/archive/jansi-native-1.8.tar.gz"
- version('1.8', sha256='053808f58495a5657c7e7f388008b02065fbbb3f231454bfcfa159adc2e2fcea')
+ version("1.8", sha256="053808f58495a5657c7e7f388008b02065fbbb3f231454bfcfa159adc2e2fcea")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/jansi/package.py b/var/spack/repos/builtin/packages/jansi/package.py
index 2a05e9249f..c07d0fa6e7 100644
--- a/var/spack/repos/builtin/packages/jansi/package.py
+++ b/var/spack/repos/builtin/packages/jansi/package.py
@@ -12,12 +12,12 @@ class Jansi(MavenPackage):
works even on Windows."""
homepage = "https://fusesource.github.io/jansi/"
- url = "https://github.com/fusesource/jansi/archive/jansi-project-1.18.tar.gz"
+ url = "https://github.com/fusesource/jansi/archive/jansi-project-1.18.tar.gz"
- version('1.18', sha256='73cd47ecf370a33c6e76afb5d9a8abf99489361d7bd191781dbd9b7efd082aa5')
- version('1.17.1', sha256='3d7280eb14edc82e480d66b225470ed6a1da5c5afa4faeab7804a1f15e53b2cd')
- version('1.17', sha256='aa30765df4912d8bc1a00b1cb9e50b3534c060dec84f35f1d0c6fbf40ad71b67')
- version('1.16', sha256='5f600cfa151367e029baa9ce33491059575945791ff9db82b8df8d4848187086')
- version('1.15', sha256='620c59deea17408eeddbe398d3638d7c9971de1807e494eb33fdf8c994b95104')
+ version("1.18", sha256="73cd47ecf370a33c6e76afb5d9a8abf99489361d7bd191781dbd9b7efd082aa5")
+ version("1.17.1", sha256="3d7280eb14edc82e480d66b225470ed6a1da5c5afa4faeab7804a1f15e53b2cd")
+ version("1.17", sha256="aa30765df4912d8bc1a00b1cb9e50b3534c060dec84f35f1d0c6fbf40ad71b67")
+ version("1.16", sha256="5f600cfa151367e029baa9ce33491059575945791ff9db82b8df8d4848187086")
+ version("1.15", sha256="620c59deea17408eeddbe398d3638d7c9971de1807e494eb33fdf8c994b95104")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/jansson/package.py b/var/spack/repos/builtin/packages/jansson/package.py
index 5679db8beb..8de097f541 100644
--- a/var/spack/repos/builtin/packages/jansson/package.py
+++ b/var/spack/repos/builtin/packages/jansson/package.py
@@ -8,25 +8,24 @@ from spack.package import *
class Jansson(CMakePackage):
"""Jansson is a C library for encoding, decoding and manipulating JSON
- data."""
+ data."""
homepage = "https://www.digip.org/jansson/"
- url = "https://github.com/akheron/jansson/archive/v2.9.tar.gz"
- maintainers = ['ax3l']
+ url = "https://github.com/akheron/jansson/archive/v2.9.tar.gz"
+ maintainers = ["ax3l"]
- version('2.14', sha256='c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b')
- version('2.13.1', sha256='f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0')
- version('2.13', sha256='beb47da10cb27668de3012cc193a1873a898ad5710a1126be9e6d3357beb5b30')
- version('2.12', sha256='76260d30e9bbd0ef392798525e8cd7fe59a6450c54ca6135672e3cd6a1642941')
- version('2.11', sha256='6ff0eab3a8baf64d21cae25f88a0311fb282006eb992080722a9099469c32881')
- version('2.10', sha256='b0a899f90ade82e42da0ecabc8af1fa296d69691e7c0786c4994fb79d4833ebb')
- version('2.9', sha256='952fa714b399e71c1c3aa020e32e899f290c82126ca4d0d14cff5d10af457656')
+ version("2.14", sha256="c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b")
+ version("2.13.1", sha256="f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0")
+ version("2.13", sha256="beb47da10cb27668de3012cc193a1873a898ad5710a1126be9e6d3357beb5b30")
+ version("2.12", sha256="76260d30e9bbd0ef392798525e8cd7fe59a6450c54ca6135672e3cd6a1642941")
+ version("2.11", sha256="6ff0eab3a8baf64d21cae25f88a0311fb282006eb992080722a9099469c32881")
+ version("2.10", sha256="b0a899f90ade82e42da0ecabc8af1fa296d69691e7c0786c4994fb79d4833ebb")
+ version("2.9", sha256="952fa714b399e71c1c3aa020e32e899f290c82126ca4d0d14cff5d10af457656")
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ variant("shared", default=True, description="Enables the build of shared libraries")
def cmake_args(self):
return [
- self.define_from_variant('JANSSON_BUILD_SHARED_LIBS', 'shared'),
- self.define('JANSSON_BUILD_DOCS', False)
+ self.define_from_variant("JANSSON_BUILD_SHARED_LIBS", "shared"),
+ self.define("JANSSON_BUILD_DOCS", False),
]
diff --git a/var/spack/repos/builtin/packages/jasper/package.py b/var/spack/repos/builtin/packages/jasper/package.py
index f9c974307c..7d83dee287 100644
--- a/var/spack/repos/builtin/packages/jasper/package.py
+++ b/var/spack/repos/builtin/packages/jasper/package.py
@@ -10,98 +10,101 @@ class Jasper(Package):
"""Library for manipulating JPEG-2000 images"""
homepage = "https://www.ece.uvic.ca/~frodo/jasper/"
- url = "https://github.com/jasper-software/jasper/archive/version-2.0.32.tar.gz"
-
- version('3.0.3', sha256='1b324f7746681f6d24d06fcf163cf3b8ae7ac320adc776c3d611b2b62c31b65f')
- version('2.0.32', sha256='a3583a06698a6d6106f2fc413aa42d65d86bedf9a988d60e5cfa38bf72bc64b9')
- version('2.0.31', sha256='d419baa2f8a6ffda18472487f6314f0f08b673204723bf11c3a1f5b3f1b8e768')
- version('2.0.16', sha256='f1d8b90f231184d99968f361884e2054a1714fdbbd9944ba1ae4ebdcc9bbfdb1')
- version('2.0.14', sha256='85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b')
- version('1.900.1', sha256='c2b03f28166f9dc8ae434918839ae9aa9962b880fcfd24eebddd0a2daeb9192c')
-
- variant('jpeg', default=True, description='Enable the use of the JPEG library')
- variant('opengl', default=False, description='Enable the use of the OpenGL and GLUT libraries')
- variant('shared', default=True, description='Enable the building of shared libraries')
- variant('build_type', default='Release', description='CMake build type', values=('Debug', 'Release'))
-
- depends_on('cmake@2.8.11:', type='build', when='@2:')
- depends_on('cmake@3.12:', type='build', when='@3:')
- depends_on('jpeg', when='+jpeg')
- depends_on('gl', when='+opengl')
+ url = "https://github.com/jasper-software/jasper/archive/version-2.0.32.tar.gz"
+
+ version("3.0.3", sha256="1b324f7746681f6d24d06fcf163cf3b8ae7ac320adc776c3d611b2b62c31b65f")
+ version("2.0.32", sha256="a3583a06698a6d6106f2fc413aa42d65d86bedf9a988d60e5cfa38bf72bc64b9")
+ version("2.0.31", sha256="d419baa2f8a6ffda18472487f6314f0f08b673204723bf11c3a1f5b3f1b8e768")
+ version("2.0.16", sha256="f1d8b90f231184d99968f361884e2054a1714fdbbd9944ba1ae4ebdcc9bbfdb1")
+ version("2.0.14", sha256="85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b")
+ version("1.900.1", sha256="c2b03f28166f9dc8ae434918839ae9aa9962b880fcfd24eebddd0a2daeb9192c")
+
+ variant("jpeg", default=True, description="Enable the use of the JPEG library")
+ variant("opengl", default=False, description="Enable the use of the OpenGL and GLUT libraries")
+ variant("shared", default=True, description="Enable the building of shared libraries")
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release"),
+ )
+
+ depends_on("cmake@2.8.11:", type="build", when="@2:")
+ depends_on("cmake@3.12:", type="build", when="@3:")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("gl", when="+opengl")
# invalid compilers flags
- conflicts('@2.0.0:2', when='%nvhpc')
+ conflicts("@2.0.0:2", when="%nvhpc")
# Fixes a bug where an assertion fails when certain JPEG-2000
# files with an alpha channel are processed.
# See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786
- patch('fix_alpha_channel_assert_fail.patch', when='@1.900.1')
+ patch("fix_alpha_channel_assert_fail.patch", when="@1.900.1")
def cmake_args(self):
spec = self.spec
args = std_cmake_args
- args.append('-DJAS_ENABLE_DOC=false')
+ args.append("-DJAS_ENABLE_DOC=false")
- if '+jpeg' in spec:
- args.append('-DJAS_ENABLE_LIBJPEG=true')
+ if "+jpeg" in spec:
+ args.append("-DJAS_ENABLE_LIBJPEG=true")
else:
- args.append('-DJAS_ENABLE_LIBJPEG=false')
+ args.append("-DJAS_ENABLE_LIBJPEG=false")
- if '+opengl' in spec:
- args.append('-DJAS_ENABLE_OPENGL=true')
+ if "+opengl" in spec:
+ args.append("-DJAS_ENABLE_OPENGL=true")
else:
- args.append('-DJAS_ENABLE_OPENGL=false')
+ args.append("-DJAS_ENABLE_OPENGL=false")
- if '+shared' in spec:
- args.append('-DJAS_ENABLE_SHARED=true')
+ if "+shared" in spec:
+ args.append("-DJAS_ENABLE_SHARED=true")
else:
- args.append('-DJAS_ENABLE_SHARED=false')
+ args.append("-DJAS_ENABLE_SHARED=false")
return args
def configure_args(self):
spec = self.spec
- args = [
- '--prefix={0}'.format(self.prefix)
- ]
+ args = ["--prefix={0}".format(self.prefix)]
- if '+jpeg' in spec:
- args.append('--enable-libjpeg')
+ if "+jpeg" in spec:
+ args.append("--enable-libjpeg")
else:
- args.append('--disable-libjpeg')
+ args.append("--disable-libjpeg")
- if '+opengl' in spec:
- args.append('--enable-opengl')
+ if "+opengl" in spec:
+ args.append("--enable-opengl")
else:
- args.append('--disable-opengl')
+ args.append("--disable-opengl")
- if '+shared' in spec:
- args.append('--enable-shared')
+ if "+shared" in spec:
+ args.append("--enable-shared")
else:
- args.append('--disable-shared')
+ args.append("--disable-shared")
- if 'build_type=Debug' in spec:
- args.append('--enable-debug')
+ if "build_type=Debug" in spec:
+ args.append("--enable-debug")
else:
- args.append('--disable-debug')
+ args.append("--disable-debug")
return args
- @when('@2:')
+ @when("@2:")
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
- cmake('..', *self.cmake_args())
+ with working_dir("spack-build", create=True):
+ cmake("..", *self.cmake_args())
make()
if self.run_tests:
- make('test')
- make('install')
+ make("test")
+ make("install")
- @when('@:1')
+ @when("@:1")
def install(self, spec, prefix):
configure(*self.configure_args())
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
diff --git a/var/spack/repos/builtin/packages/jbigkit/package.py b/var/spack/repos/builtin/packages/jbigkit/package.py
index 0edeba7d5c..0307dae878 100644
--- a/var/spack/repos/builtin/packages/jbigkit/package.py
+++ b/var/spack/repos/builtin/packages/jbigkit/package.py
@@ -11,31 +11,29 @@ class Jbigkit(MakefilePackage):
the JBIG1 data compression standard."""
homepage = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/"
- url = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz"
+ url = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz"
- version('2.1', sha256='de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932')
- version('1.6', sha256='d841b6d0723c1082450967f3ea500be01810a34ec4a97ad10985ae7071a6150b')
+ version("2.1", sha256="de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932")
+ version("1.6", sha256="d841b6d0723c1082450967f3ea500be01810a34ec4a97ad10985ae7071a6150b")
- build_directory = 'libjbig'
+ build_directory = "libjbig"
def edit(self, spec, prefix):
- makefile = FileFilter('libjbig/Makefile')
- makefile.filter('CC = .*', 'CC = cc')
+ makefile = FileFilter("libjbig/Makefile")
+ makefile.filter("CC = .*", "CC = cc")
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdir(prefix.include)
- for f in ['jbig85.h', 'jbig_ar.h', 'jbig.h']:
+ for f in ["jbig85.h", "jbig_ar.h", "jbig.h"]:
install(f, prefix.include)
mkdir(prefix.lib)
- for f in ['libjbig85.a', 'libjbig.a']:
+ for f in ["libjbig85.a", "libjbig.a"]:
install(f, prefix.lib)
mkdir(prefix.bin)
- for f in ['tstcodec', 'tstcodec85']:
+ for f in ["tstcodec", "tstcodec85"]:
install(f, prefix.bin)
@property
def libs(self):
- return find_libraries(
- "libjbig*", root=self.prefix, shared=False, recursive=True
- )
+ return find_libraries("libjbig*", root=self.prefix, shared=False, recursive=True)
diff --git a/var/spack/repos/builtin/packages/jblob/package.py b/var/spack/repos/builtin/packages/jblob/package.py
index 464a4d0189..e2b5830925 100644
--- a/var/spack/repos/builtin/packages/jblob/package.py
+++ b/var/spack/repos/builtin/packages/jblob/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Jblob(Package):
"""
- The German Climate Computing Center
- (DKRZ: Deutsches Klimarechenzentrum GmbH)
- provides a Long Term Archiving Service for large research
- data sets which are relevant for climate or Earth system research.
+ The German Climate Computing Center
+ (DKRZ: Deutsches Klimarechenzentrum GmbH)
+ provides a Long Term Archiving Service for large research
+ data sets which are relevant for climate or Earth system research.
"""
homepage = "https://cera-www.dkrz.de/WDCC/ui/cerasearch"
- url = "https://cera-www.dkrz.de/jblob/jblob-3.0.zip"
+ url = "https://cera-www.dkrz.de/jblob/jblob-3.0.zip"
- maintainers = ['ajkotobi']
+ maintainers = ["ajkotobi"]
- version('3.0', sha256='576b5956358386a8832c6d1d13c410705e54888354a10cfd4f094513458067e4')
+ version("3.0", sha256="576b5956358386a8832c6d1d13c410705e54888354a10cfd4f094513458067e4")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def setup_run_environment(self, env):
- env.set('JAVA_HOME', self.spec['java'].prefix)
+ env.set("JAVA_HOME", self.spec["java"].prefix)
def install(self, spec, prefix):
- filter_file('/opt/jblob-' + self.version, prefix, 'jblob')
+ filter_file("/opt/jblob-" + self.version, prefix, "jblob")
mkdir(prefix.bin)
- install('jblob', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('docs', prefix.docs)
+ install("jblob", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("docs", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/jchronoss/package.py b/var/spack/repos/builtin/packages/jchronoss/package.py
index 6b234e5633..a4a348b394 100644
--- a/var/spack/repos/builtin/packages/jchronoss/package.py
+++ b/var/spack/repos/builtin/packages/jchronoss/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Jchronoss(CMakePackage):
- """ JCHRONOSS aims to help HPC application testing process
- to scale as much as the application does. """
+ """JCHRONOSS aims to help HPC application testing process
+ to scale as much as the application does."""
homepage = "https://jchronoss.hpcframework.com"
- url = "https://fs.paratools.com/mpc/contrib/apps/jchronoss/JCHRONOSS-1.2.tar.gz"
+ url = "https://fs.paratools.com/mpc/contrib/apps/jchronoss/JCHRONOSS-1.2.tar.gz"
- version('1.2', sha256='52a565a28c0b83b433065060863d29f2b3e4b05f4f26b7a5893a21a2c66d6eba')
- version('1.1.1', sha256='5a11463b7295817f503c58dda1a82c0d3568bdee5e9d13d59e00d337ba84dc45')
- version('1.1', sha256='e8230416c94fb58516a4b9293efd0a67edf4a37e82cfae2ced2c0af8b4615f22')
- version('1.0', sha256='6a92d3cf2424fc7eaaeac9bfefe395596275e552ac5660eb4543e43679586f24')
+ version("1.2", sha256="52a565a28c0b83b433065060863d29f2b3e4b05f4f26b7a5893a21a2c66d6eba")
+ version("1.1.1", sha256="5a11463b7295817f503c58dda1a82c0d3568bdee5e9d13d59e00d337ba84dc45")
+ version("1.1", sha256="e8230416c94fb58516a4b9293efd0a67edf4a37e82cfae2ced2c0af8b4615f22")
+ version("1.0", sha256="6a92d3cf2424fc7eaaeac9bfefe395596275e552ac5660eb4543e43679586f24")
variant("realtime", default=False, description="Enable Real-Time support")
variant("openmp", default=False, description="Enable OpenMP constructs")
variant("ncurses", default=False, description="Enable ncurses-based tool")
- variant('color', default=False, description='Enable colour-themed output')
+ variant("color", default=False, description="Enable colour-themed output")
depends_on("libxml2")
depends_on("libwebsockets", when="+realtime")
@@ -32,13 +32,13 @@ class Jchronoss(CMakePackage):
def cmake_args(self):
args = ["-DSPACK_DRIVEN=ON"]
- if '+color' in self.spec:
+ if "+color" in self.spec:
args.append("-DENABLE_COLOR=yes")
- if '+openmp' in self.spec:
+ if "+openmp" in self.spec:
args.append("-DENABLE_OPENMP=yes")
- if '+ncurses' in self.spec:
+ if "+ncurses" in self.spec:
args.append("-DENABLE_PLUGIN_NCURSES=yes")
- if '+realtime' in self.spec:
+ if "+realtime" in self.spec:
args.append("-DENABLE_PLUGIN_SERVER=yes")
return args
diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py
index a9356f17f6..3abfc54154 100644
--- a/var/spack/repos/builtin/packages/jdk/package.py
+++ b/var/spack/repos/builtin/packages/jdk/package.py
@@ -19,14 +19,14 @@ class Jdk(Package):
homepage = "https://www.oracle.com/technetwork/java/javase/downloads/index.html"
- maintainers = ['justintoo']
+ maintainers = ["justintoo"]
# Oracle requires that you accept their License Agreement in order
# to access the Java packages in download.oracle.com. In order to
# automate this process, we need to utilize these additional curl
# command-line options. See:
# http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux
- fetch_options = {'cookie': 'oraclelicense=accept-securebackup-cookie'}
+ fetch_options = {"cookie": "oraclelicense=accept-securebackup-cookie"}
# To add the latest version, go to the homepage listed above,
# click "JDK Download", click "Accept License Agreement", right-click the
@@ -34,44 +34,83 @@ class Jdk(Package):
# found in a link above. The build number can be deciphered from the URL.
# Alternatively, run `bin/java -version` after extracting. Replace '+'
# symbol in version with '_', otherwise it will be interpreted as a variant
- version('14_36', sha256='4639bbaecc9cc606f1a4b99fda1efcaefcbf57a7025b3828b095093a6c866afd',
- url='https://download.oracle.com/otn-pub/java/jdk/14+36/076bab302c7b4508975440c56f6cc26a/jdk-14_linux-x64_bin.tar.gz')
- version('12.0.2_10', sha256='2dde6fda89a4ec6e6560ed464e917861c9e40bf576e7a64856dafc55abaaff51',
- url='https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz')
- version('12.0.1_12', sha256='9fd6dcdaf2cfca7da59e39b009a0f5bcd53bec2fb16105f7ca8d689cdab68d75',
- url='https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.tar.gz')
- version('11.0.2_9', sha256='7b4fd8ffcf53e9ff699d964a80e4abf9706b5bdb5644a765c2b96f99e3a2cdc8',
- url='https://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.tar.gz')
- version('11.0.1_13', sha256='e7fd856bacad04b6dbf3606094b6a81fa9930d6dbb044bbd787be7ea93abc885',
- url='https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz')
- version('10.0.2_13', sha256='6633c20d53c50c20835364d0f3e172e0cbbce78fff81867488f22a6298fa372b',
- url='https://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz')
- version('10.0.1_10', sha256='ae8ed645e6af38432a56a847597ac61d4283b7536688dbab44ab536199d1e5a4',
- url='https://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz')
- version('1.8.0_241-b07', sha256='419d32677855f676076a25aed58e79432969142bbd778ff8eb57cb618c69e8cb',
- url='https://download.oracle.com/otn-pub/java/jdk/8u241-b07/1f5b5a70bf22433b84d0e960903adac8/jdk-8u241-linux-x64.tar.gz')
- version('1.8.0_231-b11', sha256='a011584a2c9378bf70c6903ef5fbf101b30b08937441dc2ec67932fb3620b2cf',
- url='https://download.oracle.com/otn-pub/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz')
- version('1.8.0_212-b10', sha256='3160c50aa8d8e081c8c7fe0f859ea452922eca5d2ae8f8ef22011ae87e6fedfb',
- url='https://download.oracle.com/otn-pub/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz')
- version('1.8.0_202-b08', sha256='9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0',
- url='https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz')
- version('1.8.0_141-b15', sha256='041d5218fbea6cd7e81c8c15e51d0d32911573af2ed69e066787a8dc8a39ba4f',
- url='https://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz')
- version('1.8.0_131-b11', sha256='62b215bdfb48bace523723cdbb2157c665e6a25429c73828a32f00e587301236',
- url='https://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz')
-
- provides('java@14', when='@14.0:14')
- provides('java@13', when='@13.0:13')
- provides('java@12', when='@12.0:12')
- provides('java@11', when='@11.0:11')
- provides('java@10', when='@10.0:10')
- provides('java@9', when='@9.0:9')
- provides('java@8', when='@1.8.0:1.8')
- provides('java@7', when='@1.7.0:1.7')
-
- conflicts('target=ppc64:', msg='jdk is only available for x86_64')
- conflicts('target=ppc64le:', msg='jdk is only available for x86_64')
+ version(
+ "14_36",
+ sha256="4639bbaecc9cc606f1a4b99fda1efcaefcbf57a7025b3828b095093a6c866afd",
+ url="https://download.oracle.com/otn-pub/java/jdk/14+36/076bab302c7b4508975440c56f6cc26a/jdk-14_linux-x64_bin.tar.gz",
+ )
+ version(
+ "12.0.2_10",
+ sha256="2dde6fda89a4ec6e6560ed464e917861c9e40bf576e7a64856dafc55abaaff51",
+ url="https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz",
+ )
+ version(
+ "12.0.1_12",
+ sha256="9fd6dcdaf2cfca7da59e39b009a0f5bcd53bec2fb16105f7ca8d689cdab68d75",
+ url="https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.tar.gz",
+ )
+ version(
+ "11.0.2_9",
+ sha256="7b4fd8ffcf53e9ff699d964a80e4abf9706b5bdb5644a765c2b96f99e3a2cdc8",
+ url="https://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.tar.gz",
+ )
+ version(
+ "11.0.1_13",
+ sha256="e7fd856bacad04b6dbf3606094b6a81fa9930d6dbb044bbd787be7ea93abc885",
+ url="https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz",
+ )
+ version(
+ "10.0.2_13",
+ sha256="6633c20d53c50c20835364d0f3e172e0cbbce78fff81867488f22a6298fa372b",
+ url="https://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz",
+ )
+ version(
+ "10.0.1_10",
+ sha256="ae8ed645e6af38432a56a847597ac61d4283b7536688dbab44ab536199d1e5a4",
+ url="https://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz",
+ )
+ version(
+ "1.8.0_241-b07",
+ sha256="419d32677855f676076a25aed58e79432969142bbd778ff8eb57cb618c69e8cb",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u241-b07/1f5b5a70bf22433b84d0e960903adac8/jdk-8u241-linux-x64.tar.gz",
+ )
+ version(
+ "1.8.0_231-b11",
+ sha256="a011584a2c9378bf70c6903ef5fbf101b30b08937441dc2ec67932fb3620b2cf",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz",
+ )
+ version(
+ "1.8.0_212-b10",
+ sha256="3160c50aa8d8e081c8c7fe0f859ea452922eca5d2ae8f8ef22011ae87e6fedfb",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz",
+ )
+ version(
+ "1.8.0_202-b08",
+ sha256="9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz",
+ )
+ version(
+ "1.8.0_141-b15",
+ sha256="041d5218fbea6cd7e81c8c15e51d0d32911573af2ed69e066787a8dc8a39ba4f",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz",
+ )
+ version(
+ "1.8.0_131-b11",
+ sha256="62b215bdfb48bace523723cdbb2157c665e6a25429c73828a32f00e587301236",
+ url="https://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz",
+ )
+
+ provides("java@14", when="@14.0:14")
+ provides("java@13", when="@13.0:13")
+ provides("java@12", when="@12.0:12")
+ provides("java@11", when="@11.0:11")
+ provides("java@10", when="@10.0:10")
+ provides("java@9", when="@9.0:9")
+ provides("java@8", when="@1.8.0:1.8")
+ provides("java@7", when="@1.7.0:1.7")
+
+ conflicts("target=ppc64:", msg="jdk is only available for x86_64")
+ conflicts("target=ppc64le:", msg="jdk is only available for x86_64")
# FIXME:
# 1. `extends('java')` doesn't work, you need to use `extends('jdk')`
@@ -81,18 +120,18 @@ class Jdk(Package):
# can symlink all *.jar files to `prefix.lib.ext`
extendable = True
- executables = ['^java$']
+ executables = ["^java$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('-version', output=str, error=str)
+ output = Executable(exe)("-version", output=str, error=str)
# Make sure this is actually Oracle JDK, not OpenJDK
- if 'openjdk' in output:
+ if "openjdk" in output:
return None
- match = re.search(r'\(build (\S+)\)', output)
- return match.group(1).replace('+', '_') if match else None
+ match = re.search(r"\(build (\S+)\)", output)
+ return match.group(1).replace("+", "_") if match else None
@property
def home(self):
@@ -112,7 +151,7 @@ class Jdk(Package):
if os.path.exists(java_home):
java_home = Executable(java_home)
version = str(self.version.up_to(2))
- prefix = java_home('--version', version, output=str).strip()
+ prefix = java_home("--version", version, output=str).strip()
prefix = Prefix(prefix)
return prefix
@@ -127,11 +166,11 @@ class Jdk(Package):
Search recursively to find the correct library location."""
- return find_libraries(['libjvm'], root=self.home, recursive=True)
+ return find_libraries(["libjvm"], root=self.home, recursive=True)
- @run_before('install')
+ @run_before("install")
def macos_check(self):
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
msg = """\
Spack's JDK package only supports Linux. If you need to install JDK on macOS,
manually download the .dmg from:
@@ -163,17 +202,19 @@ and adding entries for each installation:
- spec: jdk@10.0.1_10
prefix: /path/to/jdk/Home
- spec: jdk@1.7.0_45-b18
- prefix: /path/to/jdk/Home""".format(self.homepage)
+ prefix: /path/to/jdk/Home""".format(
+ self.homepage
+ )
tty.die(msg)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
"""Set JAVA_HOME."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set JAVA_HOME and CLASSPATH.
@@ -181,15 +222,15 @@ and adding entries for each installation:
CLASSPATH contains the installation prefix for the extension and any
other Java extensions it depends on."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
class_paths = []
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test")):
if d.package.extends(self.spec):
- class_paths.extend(find(d.prefix, '*.jar'))
+ class_paths.extend(find(d.prefix, "*.jar"))
classpath = os.pathsep.join(class_paths)
- env.set('CLASSPATH', classpath)
+ env.set("CLASSPATH", classpath)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set CLASSPATH.
@@ -199,6 +240,6 @@ and adding entries for each installation:
# For runtime environment set only the path for
# dependent_spec and prepend it to CLASSPATH
if dependent_spec.package.extends(self.spec):
- class_paths = find(dependent_spec.prefix, '*.jar')
+ class_paths = find(dependent_spec.prefix, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/jellyfish/package.py b/var/spack/repos/builtin/packages/jellyfish/package.py
index 2b7ef95cc6..76fd9ba868 100644
--- a/var/spack/repos/builtin/packages/jellyfish/package.py
+++ b/var/spack/repos/builtin/packages/jellyfish/package.py
@@ -8,17 +8,20 @@ from spack.package import *
class Jellyfish(AutotoolsPackage):
"""JELLYFISH is a tool for fast, memory-efficient counting of k-mers in
- DNA."""
+ DNA."""
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"
+ url = "https://github.com/gmarcais/Jellyfish/releases/download/v2.2.7/jellyfish-2.2.7.tar.gz"
list_url = "https://www.cbcb.umd.edu/software/jellyfish/"
- version('2.2.7', sha256='d80420b4924aa0119353a5b704f923863abc802e94efeb531593147c13e631a8')
- version('1.1.11', sha256='496645d96b08ba35db1f856d857a159798c73cbc1eccb852ef1b253d1678c8e2',
- url='https://www.cbcb.umd.edu/software/jellyfish/jellyfish-1.1.11.tar.gz')
+ version("2.2.7", sha256="d80420b4924aa0119353a5b704f923863abc802e94efeb531593147c13e631a8")
+ version(
+ "1.1.11",
+ sha256="496645d96b08ba35db1f856d857a159798c73cbc1eccb852ef1b253d1678c8e2",
+ url="https://www.cbcb.umd.edu/software/jellyfish/jellyfish-1.1.11.tar.gz",
+ )
- depends_on('perl', type=('build', 'run'))
- depends_on('python', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", type=("build", "run"))
- patch('dna_codes.patch', when='@1.1.11')
+ patch("dna_codes.patch", when="@1.1.11")
diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py
index 695fd221ef..1def773354 100644
--- a/var/spack/repos/builtin/packages/jemalloc/package.py
+++ b/var/spack/repos/builtin/packages/jemalloc/package.py
@@ -8,51 +8,58 @@ from spack.package import *
class Jemalloc(AutotoolsPackage):
"""jemalloc is a general purpose malloc(3) implementation that emphasizes
- fragmentation avoidance and scalable concurrency support."""
+ fragmentation avoidance and scalable concurrency support."""
+
homepage = "http://jemalloc.net/"
- url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
-
- maintainers = ['iarspider']
-
- version('5.2.1', sha256='34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6')
- version('5.2.0', sha256='74be9f44a60d2a99398e706baa921e4efde82bf8fd16e5c0643c375c5851e3b4')
- version('4.5.0', sha256='9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780')
- version('4.4.0', sha256='a7aea63e9718d2f1adf81d87e3df3cb1b58deb86fc77bad5d702c4c59687b033')
- version('4.3.1', sha256='f7bb183ad8056941791e0f075b802e8ff10bd6e2d904e682f87c8f6a510c278b')
- version('4.2.1', sha256='5630650d5c1caab95d2f0898de4fe5ab8519dc680b04963b38bb425ef6a42d57')
- version('4.2.0', sha256='b216ddaeb901697fe38bd30ea02d7505a4b60e8979092009f95cfda860d46acb')
- version('4.1.0', sha256='fad06d714f72adb4265783bc169c6d98eeb032d57ba02d87d1dcb4a2d933ec8e')
- version('4.0.4', sha256='3fda8d8d7fcd041aa0bebbecd45c46b28873cf37bd36c56bf44961b36d0f42d0')
-
- variant('stats', default=False, description='Enable heap statistics')
- variant('prof', default=False, description='Enable heap profiling')
+ url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
+
+ maintainers = ["iarspider"]
+
+ version("5.2.1", sha256="34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6")
+ version("5.2.0", sha256="74be9f44a60d2a99398e706baa921e4efde82bf8fd16e5c0643c375c5851e3b4")
+ version("4.5.0", sha256="9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780")
+ version("4.4.0", sha256="a7aea63e9718d2f1adf81d87e3df3cb1b58deb86fc77bad5d702c4c59687b033")
+ version("4.3.1", sha256="f7bb183ad8056941791e0f075b802e8ff10bd6e2d904e682f87c8f6a510c278b")
+ version("4.2.1", sha256="5630650d5c1caab95d2f0898de4fe5ab8519dc680b04963b38bb425ef6a42d57")
+ version("4.2.0", sha256="b216ddaeb901697fe38bd30ea02d7505a4b60e8979092009f95cfda860d46acb")
+ version("4.1.0", sha256="fad06d714f72adb4265783bc169c6d98eeb032d57ba02d87d1dcb4a2d933ec8e")
+ version("4.0.4", sha256="3fda8d8d7fcd041aa0bebbecd45c46b28873cf37bd36c56bf44961b36d0f42d0")
+
+ variant("stats", default=False, description="Enable heap statistics")
+ variant("prof", default=False, description="Enable heap profiling")
variant(
- 'jemalloc_prefix', default='none',
- description='Prefix to prepend to all public APIs',
+ "jemalloc_prefix",
+ default="none",
+ description="Prefix to prepend to all public APIs",
values=None,
- multi=False
+ multi=False,
+ )
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
)
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
- variant('documentation', default=False, description='Build documentation')
- variant('debug', default=False, description='Build debugging code')
- variant('fill', default=True, description='Enable or disable support for junk/zero filling')
+ variant("documentation", default=False, description="Build documentation")
+ variant("debug", default=False, description="Build debugging code")
+ variant("fill", default=True, description="Enable or disable support for junk/zero filling")
def configure_args(self):
spec = self.spec
args = []
- if '+stats' in spec:
- args.append('--enable-stats')
- if '+prof' in spec:
- args.append('--enable-prof')
+ if "+stats" in spec:
+ args.append("--enable-stats")
+ if "+prof" in spec:
+ args.append("--enable-prof")
- je_prefix = spec.variants['jemalloc_prefix'].value
- if je_prefix != 'none':
- args.append('--with-jemalloc-prefix={0}'.format(je_prefix))
+ je_prefix = spec.variants["jemalloc_prefix"].value
+ if je_prefix != "none":
+ args.append("--with-jemalloc-prefix={0}".format(je_prefix))
- args += self.enable_or_disable('libs')
- args += self.enable_or_disable('documentation')
- args += self.enable_or_disable('debug')
- args += self.enable_or_disable('fill')
+ args += self.enable_or_disable("libs")
+ args += self.enable_or_disable("documentation")
+ args += self.enable_or_disable("debug")
+ args += self.enable_or_disable("fill")
return args
diff --git a/var/spack/repos/builtin/packages/jetty-project/package.py b/var/spack/repos/builtin/packages/jetty-project/package.py
index 28bc3e4f11..3144df4b70 100644
--- a/var/spack/repos/builtin/packages/jetty-project/package.py
+++ b/var/spack/repos/builtin/packages/jetty-project/package.py
@@ -11,10 +11,16 @@ class JettyProject(MavenPackage):
server and servlet engine."""
homepage = "https://www.eclipse.org/jetty"
- url = "https://github.com/eclipse/jetty.project/archive/jetty-9.4.31.v20200723.tar.gz"
+ url = "https://github.com/eclipse/jetty.project/archive/jetty-9.4.31.v20200723.tar.gz"
- version('9.4.31.v20200723', sha256='3cab80ddc14763764509552d79d5f1f17b565a3eb0a1951991d4a6fcfee9b4b1')
- version('9.4.30.v20200611', sha256='fac8bb95f8e8de245b284d359607b414893992ebb4e2b6e3ee40161297ea2111')
+ version(
+ "9.4.31.v20200723",
+ sha256="3cab80ddc14763764509552d79d5f1f17b565a3eb0a1951991d4a6fcfee9b4b1",
+ )
+ version(
+ "9.4.30.v20200611",
+ sha256="fac8bb95f8e8de245b284d359607b414893992ebb4e2b6e3ee40161297ea2111",
+ )
- depends_on('java@8', type=('build', 'run'))
- depends_on('maven@3:', type='build')
+ depends_on("java@8", type=("build", "run"))
+ depends_on("maven@3:", type="build")
diff --git a/var/spack/repos/builtin/packages/jhpcn-df/package.py b/var/spack/repos/builtin/packages/jhpcn-df/package.py
index 2605fe58f9..c68c5cae58 100644
--- a/var/spack/repos/builtin/packages/jhpcn-df/package.py
+++ b/var/spack/repos/builtin/packages/jhpcn-df/package.py
@@ -19,19 +19,19 @@ class JhpcnDf(CMakePackage):
"""
homepage = "https://avr-aics-riken.github.io/JHPCN-DF/"
- url = "https://github.com/avr-aics-riken/JHPCN-DF/archive/1.1.0.tar.gz"
+ url = "https://github.com/avr-aics-riken/JHPCN-DF/archive/1.1.0.tar.gz"
- version('1.1.0', sha256='106d99cc4faac5c76e51e8bfe3193c1d3dc91648072cf418d868ed830592b04b')
+ version("1.1.0", sha256="106d99cc4faac5c76e51e8bfe3193c1d3dc91648072cf418d868ed830592b04b")
- variant('lz4', default=False, description='Enable lz4')
- variant('fortran', default=False, description='Enable Fortran Interface')
+ variant("lz4", default=False, description="Enable lz4")
+ variant("fortran", default=False, description="Enable Fortran Interface")
- depends_on('zlib', type='link')
- depends_on('lz4@:1.7', when='+lz4', type='link')
+ depends_on("zlib", type="link")
+ depends_on("lz4@:1.7", when="+lz4", type="link")
def cmake_args(self):
args = [
- self.define_from_variant('with_Fortran_interface', 'fortran'),
- self.define_from_variant('with_lz4', 'lz4')
+ self.define_from_variant("with_Fortran_interface", "fortran"),
+ self.define_from_variant("with_lz4", "lz4"),
]
return args
diff --git a/var/spack/repos/builtin/packages/jimtcl/package.py b/var/spack/repos/builtin/packages/jimtcl/package.py
index 5b085fd0ef..78a828c5cc 100644
--- a/var/spack/repos/builtin/packages/jimtcl/package.py
+++ b/var/spack/repos/builtin/packages/jimtcl/package.py
@@ -10,8 +10,8 @@ class Jimtcl(AutotoolsPackage):
"""A small-footprint implementation of the Tcl programming language."""
homepage = "http://jim.tcl.tk/"
- url = "https://github.com/msteveb/jimtcl/archive/0.79.tar.gz"
+ url = "https://github.com/msteveb/jimtcl/archive/0.79.tar.gz"
- version('0.79', sha256='ab8204cd03b946f5149e1273af9c86d8e73b146084a0fbeb1d4f41a75b0b3411')
- version('0.78', sha256='cf801795c9fd98bfff6882c14afdf96424ba86dead58c2a4e15978b176d3e12b')
- version('0.77', sha256='0874c50ab932c68940c29c48c014266a322c54ff357a0919386f32cc341eb3b2')
+ version("0.79", sha256="ab8204cd03b946f5149e1273af9c86d8e73b146084a0fbeb1d4f41a75b0b3411")
+ version("0.78", sha256="cf801795c9fd98bfff6882c14afdf96424ba86dead58c2a4e15978b176d3e12b")
+ version("0.77", sha256="0874c50ab932c68940c29c48c014266a322c54ff357a0919386f32cc341eb3b2")
diff --git a/var/spack/repos/builtin/packages/jline3/package.py b/var/spack/repos/builtin/packages/jline3/package.py
index 1b377f605d..8288d1e480 100644
--- a/var/spack/repos/builtin/packages/jline3/package.py
+++ b/var/spack/repos/builtin/packages/jline3/package.py
@@ -10,10 +10,10 @@ class Jline3(MavenPackage):
"""JLine is a Java library for handling console input."""
homepage = "https://github.com/jline/jline3/"
- url = "https://github.com/jline/jline3/archive/jline-parent-3.16.0.tar.gz"
+ url = "https://github.com/jline/jline3/archive/jline-parent-3.16.0.tar.gz"
- version('3.16.0', sha256='d2de8dfe55a55e20752aeb082a75192bf835baaab75f257d3fab90ce350fdbcb')
- version('3.15.0', sha256='3953c22efad2d525f1d1fbf8f02baa302da21c18f3f60a19ee216e819fab9ac1')
- version('3.14.1', sha256='9b1bdb48af772eb60a010544bc28a6cca565d2856ababe5684e0938ca519335b')
- version('3.14.0', sha256='8e0bee3d2f2b734723a3cef441b6a5e2b6c11193f80030a7119f94a43a964bbf')
- version('3.13.3', sha256='ebba1b156820390835fb56e12d6ca7dad77fe85eee1f5f761019ec87ca32da86')
+ version("3.16.0", sha256="d2de8dfe55a55e20752aeb082a75192bf835baaab75f257d3fab90ce350fdbcb")
+ version("3.15.0", sha256="3953c22efad2d525f1d1fbf8f02baa302da21c18f3f60a19ee216e819fab9ac1")
+ version("3.14.1", sha256="9b1bdb48af772eb60a010544bc28a6cca565d2856ababe5684e0938ca519335b")
+ version("3.14.0", sha256="8e0bee3d2f2b734723a3cef441b6a5e2b6c11193f80030a7119f94a43a964bbf")
+ version("3.13.3", sha256="ebba1b156820390835fb56e12d6ca7dad77fe85eee1f5f761019ec87ca32da86")
diff --git a/var/spack/repos/builtin/packages/jmol/package.py b/var/spack/repos/builtin/packages/jmol/package.py
index b970a47172..55609898e9 100644
--- a/var/spack/repos/builtin/packages/jmol/package.py
+++ b/var/spack/repos/builtin/packages/jmol/package.py
@@ -15,24 +15,24 @@ class Jmol(Package):
homepage = "http://jmol.sourceforge.net/"
url = "https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.8/Jmol%2014.8.0/Jmol-14.8.0-binary.tar.gz"
- version('14.31.0', sha256='eee0703773607c8bd6d51751d0d062c3e10ce44c11e1d7828e4ea3d5f710e892')
- version('14.8.0', sha256='8ec45e8d289aa0762194ca71848edc7d736121ddc72276031a253a3651e6d588')
+ version("14.31.0", sha256="eee0703773607c8bd6d51751d0d062c3e10ce44c11e1d7828e4ea3d5f710e892")
+ version("14.8.0", sha256="8ec45e8d289aa0762194ca71848edc7d736121ddc72276031a253a3651e6d588")
def url_for_version(self, version):
- url = 'https://sourceforge.net/projects/jmol/files/Jmol/Version%20{0}/Jmol%20{1}/Jmol-{1}-binary.tar.gz'
+ url = "https://sourceforge.net/projects/jmol/files/Jmol/Version%20{0}/Jmol%20{1}/Jmol-{1}-binary.tar.gz"
return url.format(version.up_to(2), version)
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- if os.path.exists('jmol-{0}'.format(self.version)):
+ if os.path.exists("jmol-{0}".format(self.version)):
# tar ball contains subdir with different versions
- install_tree('jmol-{0}'.format(self.version), prefix)
+ install_tree("jmol-{0}".format(self.version), prefix)
else:
# no subdirs - tarball was unpacked in spack-src
- install_tree('./', prefix)
+ install_tree("./", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
- env.set('JMOL_HOME', self.prefix)
- env.prepend_path('PATH', self.spec['java'].prefix.bin)
+ env.prepend_path("PATH", self.prefix)
+ env.set("JMOL_HOME", self.prefix)
+ env.prepend_path("PATH", self.spec["java"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/jogl/package.py b/var/spack/repos/builtin/packages/jogl/package.py
index 337bd9408c..dc22729bfa 100644
--- a/var/spack/repos/builtin/packages/jogl/package.py
+++ b/var/spack/repos/builtin/packages/jogl/package.py
@@ -13,59 +13,56 @@ class Jogl(Package):
as well as nearly all vendor extensions."""
homepage = "https://jogamp.org/jogl/www/"
- git = "https://github.com/WadeWalker/jogl.git"
+ git = "https://github.com/WadeWalker/jogl.git"
- version('java-11-fixes', branch='java-11-fixes', submodules=True)
+ version("java-11-fixes", branch="java-11-fixes", submodules=True)
- depends_on('ant', type='build')
- depends_on('java', type=('build', 'run'))
- depends_on('gluegen', type=('build', 'run'))
- depends_on('gl', type='link')
- depends_on('glu', type='link')
- depends_on('libxcursor', type='link')
+ depends_on("ant", type="build")
+ depends_on("java", type=("build", "run"))
+ depends_on("gluegen", type=("build", "run"))
+ depends_on("gl", type="link")
+ depends_on("glu", type="link")
+ depends_on("libxcursor", type="link")
# Xfree86 Video mode extentions is deprecated
- patch('noxf86vm.patch')
+ patch("noxf86vm.patch")
- phases = ['edit', 'build', 'install']
+ phases = ["edit", "build", "install"]
def edit(self, spec, prefix):
- common = join_path('make', 'build-common.xml')
- filter_file('../../gluegen', spec['gluegen'].prefix, common)
- for target in ['nativewindow', 'jogl', 'newt']:
- conf = join_path('make', 'build-{0}.xml'.format(target))
- filter_file(r'syslibset dir="\${env.TARGET_PLATFORM_ROOT}[^"]*"',
- 'syslibset', conf)
- filter_file('/usr/include', spec['libxcursor'].prefix.include,
- conf)
+ common = join_path("make", "build-common.xml")
+ filter_file("../../gluegen", spec["gluegen"].prefix, common)
+ for target in ["nativewindow", "jogl", "newt"]:
+ conf = join_path("make", "build-{0}.xml".format(target))
+ filter_file(r'syslibset dir="\${env.TARGET_PLATFORM_ROOT}[^"]*"', "syslibset", conf)
+ filter_file("/usr/include", spec["libxcursor"].prefix.include, conf)
- compiler_mapping = {'gcc': 'gcc', 'clang': 'clang', 'fj': 'fcc'}
+ compiler_mapping = {"gcc": "gcc", "clang": "clang", "fj": "fcc"}
def build(self, spec, prefix):
cname = spec.compiler.name
- compiler = self.compiler_mapping.get(cname, 'gcc')
- ant = spec['ant'].command
- antarg = ['-Dcommon.gluegen.build.done=true',
- '-Dgcc.compat.compiler={0}'.format(compiler)]
- with working_dir('make'):
+ compiler = self.compiler_mapping.get(cname, "gcc")
+ ant = spec["ant"].command
+ antarg = ["-Dcommon.gluegen.build.done=true", "-Dgcc.compat.compiler={0}".format(compiler)]
+ with working_dir("make"):
ant(*antarg)
def install(self, spec, prefix):
mkdirp(prefix.lib)
- with working_dir(join_path('build', 'jar')):
- install('*.jar', prefix.lib)
- with working_dir(join_path('build', 'lib')):
- install('*.so', prefix.lib)
+ with working_dir(join_path("build", "jar")):
+ install("*.jar", prefix.lib)
+ with working_dir(join_path("build", "lib")):
+ install("*.so", prefix.lib)
def setup_build_environment(self, env):
- env.unset('CLASSPATH')
+ env.unset("CLASSPATH")
def setup_run_environment(self, env):
- class_paths = find(prefix.lib, '*.jar')
+ class_paths = find(prefix.lib, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
def setup_dependent_build_environment(self, env, dependent_spec):
- class_paths = find(prefix.lib, '*.jar')
+ class_paths = find(prefix.lib, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/jose/package.py b/var/spack/repos/builtin/packages/jose/package.py
index 8a1485464e..08d31d4bb7 100644
--- a/var/spack/repos/builtin/packages/jose/package.py
+++ b/var/spack/repos/builtin/packages/jose/package.py
@@ -10,13 +10,13 @@ class Jose(AutotoolsPackage):
"""This package contains a C library for performing JOSE operations."""
homepage = "https://github.com/latchset/jose/"
- url = "https://github.com/latchset/jose/releases/download/v10/jose-10.tar.bz2"
+ url = "https://github.com/latchset/jose/releases/download/v10/jose-10.tar.bz2"
- version('10', sha256='5c9cdcfb535c4d9f781393d7530521c72b1dd81caa9934cab6dd752cc7efcd72')
- version('9', sha256='64262b1344d92fc183f70ca93db6100cd97b3dfa7cddea1e08e8588e6cd681eb')
- version('8', sha256='24e3d71e3da5a7913ab3c299381d76dfde488d91cb108b1a9527454bf1e9dc51')
+ version("10", sha256="5c9cdcfb535c4d9f781393d7530521c72b1dd81caa9934cab6dd752cc7efcd72")
+ version("9", sha256="64262b1344d92fc183f70ca93db6100cd97b3dfa7cddea1e08e8588e6cd681eb")
+ version("8", sha256="24e3d71e3da5a7913ab3c299381d76dfde488d91cb108b1a9527454bf1e9dc51")
- depends_on('pkgconfig', type='build')
- depends_on('jansson@2.10:')
- depends_on('zlib')
- depends_on('openssl@1.0.2:')
+ depends_on("pkgconfig", type="build")
+ depends_on("jansson@2.10:")
+ depends_on("zlib")
+ depends_on("openssl@1.0.2:")
diff --git a/var/spack/repos/builtin/packages/jpegoptim/package.py b/var/spack/repos/builtin/packages/jpegoptim/package.py
index aae5b866a3..b380325a43 100644
--- a/var/spack/repos/builtin/packages/jpegoptim/package.py
+++ b/var/spack/repos/builtin/packages/jpegoptim/package.py
@@ -10,10 +10,10 @@ class Jpegoptim(AutotoolsPackage):
"""jpegoptim - utility to optimize/compress JPEG files"""
homepage = "https://www.iki.fi/tjko/projects.html"
- url = "https://github.com/tjko/jpegoptim/archive/RELEASE.1.4.6.tar.gz"
+ url = "https://github.com/tjko/jpegoptim/archive/RELEASE.1.4.6.tar.gz"
- version('1.4.6', sha256='c44dcfac0a113c3bec13d0fc60faf57a0f9a31f88473ccad33ecdf210b4c0c52')
- version('1.4.5', sha256='53207f479f96c4f792b3187f31abf3534d69c88fe23720d0c23f5310c5d2b2f5')
- version('1.4.4', sha256='bc6b018ae8c3eb12d07596693d54243e214780a2a2303a6578747d3671f45da3')
+ version("1.4.6", sha256="c44dcfac0a113c3bec13d0fc60faf57a0f9a31f88473ccad33ecdf210b4c0c52")
+ version("1.4.5", sha256="53207f479f96c4f792b3187f31abf3534d69c88fe23720d0c23f5310c5d2b2f5")
+ version("1.4.4", sha256="bc6b018ae8c3eb12d07596693d54243e214780a2a2303a6578747d3671f45da3")
- depends_on('libjpeg')
+ depends_on("libjpeg")
diff --git a/var/spack/repos/builtin/packages/jq/package.py b/var/spack/repos/builtin/packages/jq/package.py
index 055299ba05..b24c74314f 100644
--- a/var/spack/repos/builtin/packages/jq/package.py
+++ b/var/spack/repos/builtin/packages/jq/package.py
@@ -14,21 +14,21 @@ class Jq(AutotoolsPackage):
"""jq is a lightweight and flexible command-line JSON processor."""
homepage = "https://stedolan.github.io/jq/"
- url = "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz"
+ url = "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz"
- version('1.6', sha256='5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72')
- version('1.5', sha256='c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c')
+ version("1.6", sha256="5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72")
+ version("1.5", sha256="c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c")
- depends_on('oniguruma')
- depends_on('bison@3.0:', type='build')
+ depends_on("oniguruma")
+ depends_on("bison@3.0:", type="build")
- if sys.platform == 'darwin' and macos_version() >= Version('10.15'):
- patch('builtinc.patch', when='@1.5:')
+ if sys.platform == "darwin" and macos_version() >= Version("10.15"):
+ patch("builtinc.patch", when="@1.5:")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- jq = self.spec['jq'].command
- f = os.path.join(os.path.dirname(__file__), 'input.json')
+ jq = self.spec["jq"].command
+ f = os.path.join(os.path.dirname(__file__), "input.json")
- assert jq('.bar', input=f, output=str) == '2\n'
+ assert jq(".bar", input=f, output=str) == "2\n"
diff --git a/var/spack/repos/builtin/packages/json-c/package.py b/var/spack/repos/builtin/packages/json-c/package.py
index 2e53534fd0..559039f21d 100644
--- a/var/spack/repos/builtin/packages/json-c/package.py
+++ b/var/spack/repos/builtin/packages/json-c/package.py
@@ -8,49 +8,49 @@ from spack.package import *
class JsonC(CMakePackage):
"""A JSON implementation in C."""
+
homepage = "https://github.com/json-c/json-c/wiki"
- url = "https://s3.amazonaws.com/json-c_releases/releases/json-c-0.15.tar.gz"
+ url = "https://s3.amazonaws.com/json-c_releases/releases/json-c-0.15.tar.gz"
- version('0.16', sha256='8e45ac8f96ec7791eaf3bb7ee50e9c2100bbbc87b8d0f1d030c5ba8a0288d96b')
- version('0.15', sha256='b8d80a1ddb718b3ba7492916237bbf86609e9709fb007e7f7d4322f02341a4c6')
- version('0.14', sha256='b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870')
- version('0.13.1', sha256='b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873')
- version('0.12.1', sha256='2a136451a7932d80b7d197b10441e26e39428d67b1443ec43bbba824705e1123')
- version('0.12', sha256='000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f')
- version('0.11', sha256='28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c')
+ version("0.16", sha256="8e45ac8f96ec7791eaf3bb7ee50e9c2100bbbc87b8d0f1d030c5ba8a0288d96b")
+ version("0.15", sha256="b8d80a1ddb718b3ba7492916237bbf86609e9709fb007e7f7d4322f02341a4c6")
+ version("0.14", sha256="b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870")
+ version("0.13.1", sha256="b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873")
+ version("0.12.1", sha256="2a136451a7932d80b7d197b10441e26e39428d67b1443ec43bbba824705e1123")
+ version("0.12", sha256="000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f")
+ version("0.11", sha256="28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c")
- depends_on('autoconf', when='@:0.13.1', type='build')
+ depends_on("autoconf", when="@:0.13.1", type="build")
parallel = False
- @when('@0.12:0.12.1 %gcc@7:')
+ @when("@0.12:0.12.1 %gcc@7:")
def patch(self):
- filter_file('-Wextra',
- '-Wextra -Wno-error=implicit-fallthrough '
- '-Wno-error=unused-but-set-variable',
- 'Makefile.in')
+ filter_file(
+ "-Wextra",
+ "-Wextra -Wno-error=implicit-fallthrough " "-Wno-error=unused-but-set-variable",
+ "Makefile.in",
+ )
- @when('@:0.13.1')
+ @when("@:0.13.1")
def cmake(self, spec, prefix):
- configure_args = ['--prefix=' + prefix]
+ configure_args = ["--prefix=" + prefix]
configure(*configure_args)
- @when('@:0.13.1')
+ @when("@:0.13.1")
def build(self, spec, prefix):
make()
- @when('@:0.13.1')
+ @when("@:0.13.1")
def install(self, spec, prefix):
- make('install')
+ make("install")
- @when('%cce@11.0.3:')
+ @when("%cce@11.0.3:")
def patch(self):
- filter_file('-Werror',
- '',
- 'CMakeLists.txt')
+ filter_file("-Werror", "", "CMakeLists.txt")
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if 'platform=darwin' in self.spec:
+ if "platform=darwin" in self.spec:
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/json-cwx/package.py b/var/spack/repos/builtin/packages/json-cwx/package.py
index e1dd91c55b..aec3b0fa97 100644
--- a/var/spack/repos/builtin/packages/json-cwx/package.py
+++ b/var/spack/repos/builtin/packages/json-cwx/package.py
@@ -10,27 +10,30 @@ class JsonCwx(AutotoolsPackage):
"""JSON-C with Extensions"""
homepage = "https://github.com/LLNL/json-cwx"
- url = "https://github.com/LLNL/json-cwx/archive/0.12.tar.gz"
+ url = "https://github.com/LLNL/json-cwx/archive/0.12.tar.gz"
- version('0.12', sha256='3bfae1f23eacba53ee130dbd1a6acf617af4627a9b4e4581d64b20a99b4e2b60')
+ version("0.12", sha256="3bfae1f23eacba53ee130dbd1a6acf617af4627a9b4e4581d64b20a99b4e2b60")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
parallel = False
- configure_directory = 'json-cwx'
+ configure_directory = "json-cwx"
def autoreconf(self, spec, prefix):
- with working_dir('json-cwx'):
+ with working_dir("json-cwx"):
autogen = Executable("./autogen.sh")
autogen()
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('-Wno-error=deprecated-declarations -Wextra '
- '-Wwrite-strings -Wno-unused-parameter -std=gnu99',
- '', 'json-cwx/Makefile.am.inc')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file(
+ "-Wno-error=deprecated-declarations -Wextra "
+ "-Wwrite-strings -Wno-unused-parameter -std=gnu99",
+ "",
+ "json-cwx/Makefile.am.inc",
+ )
diff --git a/var/spack/repos/builtin/packages/json-glib/package.py b/var/spack/repos/builtin/packages/json-glib/package.py
index 9648df520d..8a768d18d5 100644
--- a/var/spack/repos/builtin/packages/json-glib/package.py
+++ b/var/spack/repos/builtin/packages/json-glib/package.py
@@ -11,30 +11,46 @@ class JsonGlib(MesonPackage):
GObject data types and API."""
homepage = "https://developer.gnome.org/json-glib"
- url = "https://ftp.gnome.org/pub/gnome/sources/json-glib/1.2/json-glib-1.2.8.tar.xz"
+ url = "https://ftp.gnome.org/pub/gnome/sources/json-glib/1.2/json-glib-1.2.8.tar.xz"
list_url = "https://ftp.gnome.org/pub/gnome/sources/json-glib/"
list_depth = 1
- version('1.6.6', sha256='96ec98be7a91f6dde33636720e3da2ff6ecbb90e76ccaa49497f31a6855a490e')
- version('1.5.2', sha256='ad08438327b6106dc040c0581477bdf1cd3daaa5d285920cc768b8627f746666', deprecated=True)
- version('1.4.4', sha256='720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47', deprecated=True)
- version('1.3.2', sha256='f6a80f42e63a3267356f20408bf91a1696837aa66d864ac7de2564ecbd332a7c', deprecated=True)
- version('1.2.8', sha256='fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a', deprecated=True)
-
- depends_on('glib')
- depends_on('gobject-introspection')
-
- @when('@:1.5')
+ version("1.6.6", sha256="96ec98be7a91f6dde33636720e3da2ff6ecbb90e76ccaa49497f31a6855a490e")
+ version(
+ "1.5.2",
+ sha256="ad08438327b6106dc040c0581477bdf1cd3daaa5d285920cc768b8627f746666",
+ deprecated=True,
+ )
+ version(
+ "1.4.4",
+ sha256="720c5f4379513dc11fd97dc75336eb0c0d3338c53128044d9fabec4374f4bc47",
+ deprecated=True,
+ )
+ version(
+ "1.3.2",
+ sha256="f6a80f42e63a3267356f20408bf91a1696837aa66d864ac7de2564ecbd332a7c",
+ deprecated=True,
+ )
+ version(
+ "1.2.8",
+ sha256="fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a",
+ deprecated=True,
+ )
+
+ depends_on("glib")
+ depends_on("gobject-introspection")
+
+ @when("@:1.5")
def meson(self, spec, prefix):
"""Run the AutotoolsPackage configure phase"""
- configure('--prefix=' + prefix)
+ configure("--prefix=" + prefix)
- @when('@:1.5')
+ @when("@:1.5")
def build(self, spec, prefix):
"""Run the AutotoolsPackage build phase"""
make()
- @when('@:1.5')
+ @when("@:1.5")
def install(self, spec, prefix):
"""Run the AutotoolsPackage install phase"""
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/jsoncpp/package.py b/var/spack/repos/builtin/packages/jsoncpp/package.py
index c9a77d4408..bc4b5bc241 100644
--- a/var/spack/repos/builtin/packages/jsoncpp/package.py
+++ b/var/spack/repos/builtin/packages/jsoncpp/package.py
@@ -13,56 +13,60 @@ class Jsoncpp(CMakePackage):
steps, making it a convenient format to store user input files."""
homepage = "https://github.com/open-source-parsers/jsoncpp"
- url = "https://github.com/open-source-parsers/jsoncpp/archive/1.7.3.tar.gz"
+ url = "https://github.com/open-source-parsers/jsoncpp/archive/1.7.3.tar.gz"
- version('1.9.4', sha256='e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999')
- version('1.9.3', sha256='8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d')
- version('1.9.2', sha256='77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0')
- version('1.9.1', sha256='c7b40f5605dd972108f503f031b20186f5e5bca2b65cd4b8bd6c3e4ba8126697')
- version('1.9.0', sha256='bdd3ba9ed1f110b3eb57474d9094e90ab239b93b4803b4f9b1722c281e85a4ac')
- version('1.8.4', sha256='c49deac9e0933bcb7044f08516861a2d560988540b23de2ac1ad443b219afdb6')
- version('1.8.3', sha256='3671ba6051e0f30849942cc66d1798fdf0362d089343a83f704c09ee7156604f')
- version('1.8.2', sha256='811f5aee20df2ef0868a73a976ec6f9aab61f4ca71c66eddf38094b2b3078eef')
- version('1.8.1', sha256='858db2faf348f89fdf1062bd3e79256772e897e7f17df73e0624edf004f2f9ac')
- version('1.8.0', sha256='5deb2462cbf0c0121c9d6c9823ec72fe71417e34242e3509bc7c003d526465bc')
- version('1.7.7', sha256='087640ebcf7fbcfe8e2717a0b9528fff89c52fcf69fa2a18cc2b538008098f97')
- version('1.7.6', sha256='07cf5d4f184394ec0a9aa657dd4c13ea682c52a1ab4da2fb176cb2d5501101e8')
- version('1.7.5', sha256='4338c6cab8af8dee6cdfd54e6218bd0533785f552c6162bb083f8dd28bf8fbbe')
- version('1.7.4', sha256='10dcd0677e80727e572a1e462193e51a5fde3e023b99e144b2ee1a469835f769')
- version('1.7.3', sha256='1cfcad14054039ba97c22531888796cb9369e6353f257aacaad34fda956ada53')
+ version("1.9.4", sha256="e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999")
+ version("1.9.3", sha256="8593c1d69e703563d94d8c12244e2e18893eeb9a8a9f8aa3d09a327aa45c8f7d")
+ version("1.9.2", sha256="77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0")
+ version("1.9.1", sha256="c7b40f5605dd972108f503f031b20186f5e5bca2b65cd4b8bd6c3e4ba8126697")
+ version("1.9.0", sha256="bdd3ba9ed1f110b3eb57474d9094e90ab239b93b4803b4f9b1722c281e85a4ac")
+ version("1.8.4", sha256="c49deac9e0933bcb7044f08516861a2d560988540b23de2ac1ad443b219afdb6")
+ version("1.8.3", sha256="3671ba6051e0f30849942cc66d1798fdf0362d089343a83f704c09ee7156604f")
+ version("1.8.2", sha256="811f5aee20df2ef0868a73a976ec6f9aab61f4ca71c66eddf38094b2b3078eef")
+ version("1.8.1", sha256="858db2faf348f89fdf1062bd3e79256772e897e7f17df73e0624edf004f2f9ac")
+ version("1.8.0", sha256="5deb2462cbf0c0121c9d6c9823ec72fe71417e34242e3509bc7c003d526465bc")
+ version("1.7.7", sha256="087640ebcf7fbcfe8e2717a0b9528fff89c52fcf69fa2a18cc2b538008098f97")
+ version("1.7.6", sha256="07cf5d4f184394ec0a9aa657dd4c13ea682c52a1ab4da2fb176cb2d5501101e8")
+ version("1.7.5", sha256="4338c6cab8af8dee6cdfd54e6218bd0533785f552c6162bb083f8dd28bf8fbbe")
+ version("1.7.4", sha256="10dcd0677e80727e572a1e462193e51a5fde3e023b99e144b2ee1a469835f769")
+ version("1.7.3", sha256="1cfcad14054039ba97c22531888796cb9369e6353f257aacaad34fda956ada53")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo',
- 'MinSizeRel', 'Coverage'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel", "Coverage"),
+ )
- variant('cxxstd',
- default='default',
- values=('default', '98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="default",
+ values=("default", "98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('cmake@3.1:', type='build')
- depends_on('python', type='test')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("python", type="test")
# Ref: https://github.com/open-source-parsers/jsoncpp/pull/1023
# Released in 1.9.2, patch does not apply cleanly across releases.
# May apply to more compilers in the future.
- @when('@:1.9.1 %clang@10.0.0:')
+ @when("@:1.9.1 %clang@10.0.0:")
def patch(self):
filter_file(
- 'return d >= min && d <= max;',
- 'return d >= static_cast<double>(min) && '
- 'd <= static_cast<double>(max);',
- 'src/lib_json/json_value.cpp')
+ "return d >= min && d <= max;",
+ "return d >= static_cast<double>(min) && " "d <= static_cast<double>(max);",
+ "src/lib_json/json_value.cpp",
+ )
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS=ON']
- cxxstd = self.spec.variants['cxxstd'].value
- if cxxstd != 'default':
- args.append('-DCMAKE_CXX_STANDARD={0}'.format(cxxstd))
+ args = ["-DBUILD_SHARED_LIBS=ON"]
+ cxxstd = self.spec.variants["cxxstd"].value
+ if cxxstd != "default":
+ args.append("-DCMAKE_CXX_STANDARD={0}".format(cxxstd))
if self.run_tests:
- args.append('-DJSONCPP_WITH_TESTS=ON')
+ args.append("-DJSONCPP_WITH_TESTS=ON")
else:
- args.append('-DJSONCPP_WITH_TESTS=OFF')
+ args.append("-DJSONCPP_WITH_TESTS=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/jstorm/package.py b/var/spack/repos/builtin/packages/jstorm/package.py
index 261cb79cac..7391a23794 100644
--- a/var/spack/repos/builtin/packages/jstorm/package.py
+++ b/var/spack/repos/builtin/packages/jstorm/package.py
@@ -12,9 +12,9 @@ class Jstorm(Package):
"""
homepage = "https://github.com/alibaba/jstorm"
- url = "https://github.com/alibaba/jstorm/releases/download/2.4.0/jstorm-2.4.0.tgz"
+ url = "https://github.com/alibaba/jstorm/releases/download/2.4.0/jstorm-2.4.0.tgz"
- version('2.4.0', sha256='8a3965cb51ff95395a40e8d9fd83f12b0aad15c2726c74a796d8085cccc9d69f')
+ version("2.4.0", sha256="8a3965cb51ff95395a40e8d9fd83f12b0aad15c2726c74a796d8085cccc9d69f")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/jube/package.py b/var/spack/repos/builtin/packages/jube/package.py
index ebaed0d327..27cd49f08a 100644
--- a/var/spack/repos/builtin/packages/jube/package.py
+++ b/var/spack/repos/builtin/packages/jube/package.py
@@ -12,32 +12,82 @@ class Jube(PythonPackage):
computer systems and evaluate the results."""
homepage = "https://www.fz-juelich.de/jsc/jube/"
- url = "https://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=2.2.2"
-
- version('2.4.0', sha256='87c02555f3d1a8ecaff139cf8e7a7167cabd1049c8cc77f1bd8f4484e210d524', extension='tar.gz')
- version('2.3.0', sha256='6051d45af2ff35031ccc460185fbfa61f7f36ea14f17a0d51a9e62cd7af3709a', extension="tar.gz")
- version('2.2.2', sha256='135bc03cf07c4624ef2cf581ba5ec52eb44ca1dac15cffb83637e86170980477', extension="tar.gz")
- version('2.2.1', sha256='68751bf2e17766650ccddb7a5321dd1ac8b34ffa3585db392befbe9ff180ddd9', extension="tar.gz")
- version('2.2.0', sha256='bc825884fc8506d0fb7b3b5cbb5ad4c7e82b1fe1d7ec861ca33699adfc8100f1', extension="tar.gz")
- version('2.1.4', sha256='13da3213db834ed2f3a04fedf20a24c4a11b76620e18fed0a0bbcb7484f980bb', extension="tar.gz")
- version('2.1.3', sha256='ccc7af95eb1e3f63c52a26db08ef9986f7cc500df7a51af0c5e14ed4e7431ad6', extension="tar.gz")
- version('2.1.2', sha256='4ff1c4eabaaa71829e46e4fb4092a88675f8c2b6708d5ec2b12f991dd9a4de2d', extension="tar.gz")
- version('2.1.1', sha256='0c48ce4cb9300300d115ae428b1843c4229a54eb286ab0ced953e96ed3f2b9b2', extension="tar.gz")
- version('2.1.0', sha256='eb9c542b9eb760ea834459a09f8be55891e993a40e277d325bc093b040921e23', extension="tar.gz")
- version('2.0.1', sha256='ef3c4de8b2353ec0ee229428b1ef1912bc3019b72d4e78be00eecd1f384aeec0', extension="tar.gz")
- version('2.0.0', sha256='ecfe8717bc61f35f333bc24d27b39e78e67c596e23512bdd97c9b4f28491f0b3', extension="tar.gz")
+ url = "https://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=2.2.2"
+
+ version(
+ "2.4.0",
+ sha256="87c02555f3d1a8ecaff139cf8e7a7167cabd1049c8cc77f1bd8f4484e210d524",
+ extension="tar.gz",
+ )
+ version(
+ "2.3.0",
+ sha256="6051d45af2ff35031ccc460185fbfa61f7f36ea14f17a0d51a9e62cd7af3709a",
+ extension="tar.gz",
+ )
+ version(
+ "2.2.2",
+ sha256="135bc03cf07c4624ef2cf581ba5ec52eb44ca1dac15cffb83637e86170980477",
+ extension="tar.gz",
+ )
+ version(
+ "2.2.1",
+ sha256="68751bf2e17766650ccddb7a5321dd1ac8b34ffa3585db392befbe9ff180ddd9",
+ extension="tar.gz",
+ )
+ version(
+ "2.2.0",
+ sha256="bc825884fc8506d0fb7b3b5cbb5ad4c7e82b1fe1d7ec861ca33699adfc8100f1",
+ extension="tar.gz",
+ )
+ version(
+ "2.1.4",
+ sha256="13da3213db834ed2f3a04fedf20a24c4a11b76620e18fed0a0bbcb7484f980bb",
+ extension="tar.gz",
+ )
+ version(
+ "2.1.3",
+ sha256="ccc7af95eb1e3f63c52a26db08ef9986f7cc500df7a51af0c5e14ed4e7431ad6",
+ extension="tar.gz",
+ )
+ version(
+ "2.1.2",
+ sha256="4ff1c4eabaaa71829e46e4fb4092a88675f8c2b6708d5ec2b12f991dd9a4de2d",
+ extension="tar.gz",
+ )
+ version(
+ "2.1.1",
+ sha256="0c48ce4cb9300300d115ae428b1843c4229a54eb286ab0ced953e96ed3f2b9b2",
+ extension="tar.gz",
+ )
+ version(
+ "2.1.0",
+ sha256="eb9c542b9eb760ea834459a09f8be55891e993a40e277d325bc093b040921e23",
+ extension="tar.gz",
+ )
+ version(
+ "2.0.1",
+ sha256="ef3c4de8b2353ec0ee229428b1ef1912bc3019b72d4e78be00eecd1f384aeec0",
+ extension="tar.gz",
+ )
+ version(
+ "2.0.0",
+ sha256="ecfe8717bc61f35f333bc24d27b39e78e67c596e23512bdd97c9b4f28491f0b3",
+ extension="tar.gz",
+ )
variant(
- 'resource_manager', default='none',
- description='Select resource manager templates',
- values=('none', 'loadleveler', 'lsf', 'moab', 'pbs', 'slurm'),
- multi=False
+ "resource_manager",
+ default="none",
+ description="Select resource manager templates",
+ values=("none", "loadleveler", "lsf", "moab", "pbs", "slurm"),
+ multi=False,
)
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
def setup_run_environment(self, env):
- if not self.spec.variants['resource_manager'].value == 'none':
- env.prepend_path('JUBE_INCLUDE_PATH', join_path(
- self.prefix.platform,
- self.spec.variants['resource_manager'].value))
+ if not self.spec.variants["resource_manager"].value == "none":
+ env.prepend_path(
+ "JUBE_INCLUDE_PATH",
+ join_path(self.prefix.platform, self.spec.variants["resource_manager"].value),
+ )
diff --git a/var/spack/repos/builtin/packages/judy/package.py b/var/spack/repos/builtin/packages/judy/package.py
index 549d7c7d7d..4d3dea4775 100644
--- a/var/spack/repos/builtin/packages/judy/package.py
+++ b/var/spack/repos/builtin/packages/judy/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class Judy(AutotoolsPackage):
"""Judy: General-purpose dynamic array, associative array and hash-trie."""
+
homepage = "http://judy.sourceforge.net/"
- url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz"
+ url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz"
- version('1.0.5', sha256='d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb')
+ version("1.0.5", sha256="d2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb")
parallel = False
diff --git a/var/spack/repos/builtin/packages/julea/package.py b/var/spack/repos/builtin/packages/julea/package.py
index 0d05845b82..0eb590f2ec 100644
--- a/var/spack/repos/builtin/packages/julea/package.py
+++ b/var/spack/repos/builtin/packages/julea/package.py
@@ -14,31 +14,31 @@ class Julea(MesonPackage):
already included."""
homepage = "https://github.com/wr-hamburg/julea"
- git = "https://github.com/wr-hamburg/julea.git"
+ git = "https://github.com/wr-hamburg/julea.git"
- tags = ['HPC', 'I/O', 'storage']
- maintainers = ['michaelkuhn']
+ tags = ["HPC", "I/O", "storage"]
+ maintainers = ["michaelkuhn"]
- version('master', branch='master')
+ version("master", branch="master")
- variant('hdf5', default=True, description='Enable HDF5 support')
- variant('leveldb', default=True, description='Enable LevelDB support')
- variant('lmdb', default=True, description='Enable LMDB support')
- variant('mariadb', default=True, description='Enable MariaDB support')
- variant('mongodb', default=True, description='Enable MongoDB support')
- variant('rocksdb', default=True, description='Enable RocksDB support')
- variant('sqlite', default=True, description='Enable SQLite support')
+ variant("hdf5", default=True, description="Enable HDF5 support")
+ variant("leveldb", default=True, description="Enable LevelDB support")
+ variant("lmdb", default=True, description="Enable LMDB support")
+ variant("mariadb", default=True, description="Enable MariaDB support")
+ variant("mongodb", default=True, description="Enable MongoDB support")
+ variant("rocksdb", default=True, description="Enable RocksDB support")
+ variant("sqlite", default=True, description="Enable SQLite support")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
- depends_on('glib')
- depends_on('libbson')
+ depends_on("glib")
+ depends_on("libbson")
# depends_on('libfabric')
- depends_on('hdf5@1.12.0:', when='+hdf5')
- depends_on('leveldb', when='+leveldb')
- depends_on('lmdb', when='+lmdb')
- depends_on('mariadb-c-client', when='+mariadb')
- depends_on('mongo-c-driver', when='+mongodb')
- depends_on('rocksdb', when='+rocksdb')
- depends_on('sqlite', when='+sqlite')
+ depends_on("hdf5@1.12.0:", when="+hdf5")
+ depends_on("leveldb", when="+leveldb")
+ depends_on("lmdb", when="+lmdb")
+ depends_on("mariadb-c-client", when="+mariadb")
+ depends_on("mongo-c-driver", when="+mongodb")
+ depends_on("rocksdb", when="+rocksdb")
+ depends_on("sqlite", when="+sqlite")
diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py
index 389df30d91..e11b6d5cca 100644
--- a/var/spack/repos/builtin/packages/julia/package.py
+++ b/var/spack/repos/builtin/packages/julia/package.py
@@ -20,34 +20,63 @@ class Julia(MakefilePackage):
"""The Julia Language: A fresh approach to technical computing"""
homepage = "https://julialang.org"
- url = "https://github.com/JuliaLang/julia/releases/download/v1.7.0/julia-1.7.0.tar.gz"
- git = "https://github.com/JuliaLang/julia.git"
+ url = "https://github.com/JuliaLang/julia/releases/download/v1.7.0/julia-1.7.0.tar.gz"
+ git = "https://github.com/JuliaLang/julia.git"
- maintainers = ['glennpj', 'vchuravy', 'haampie']
+ maintainers = ["glennpj", "vchuravy", "haampie"]
- version('master', branch='master')
- version('1.8.0-rc1', sha256='ed0395880c32c48a284b115279d27d79ab1ca6fb53a4b97a8d25eba54ec97306')
- version('1.7.3', sha256='06df2a81e6a18d0333ffa58d36f6eb84934c38984898f9e0c3072c8facaa7306', preferred=True)
- version('1.7.2', sha256='0847943dd65001f3322b00c7dc4e12f56e70e98c6b798ccbd4f02d27ce161fef')
- version('1.7.1', sha256='17d298e50e4e3dd897246ccebd9f40ce5b89077fa36217860efaec4576aa718e')
- version('1.7.0', sha256='8e870dbef71bc72469933317a1a18214fd1b4b12f1080784af7b2c56177efcb4')
- version('1.6.6', sha256='a8023708cadb2649395769810e6cec8afc8e352aa6d407189b6c88b86d7f5090', preferred=True)
- version('1.6.5', sha256='b70ae299ff6b63a9e9cbf697147a48a31b4639476d1947cb52e4201e444f23cb')
- version('1.6.4', sha256='a4aa921030250f58015201e28204bff604a007defc5a379a608723e6bb1808d4')
+ version("master", branch="master")
+ version("1.8.0-rc1", sha256="ed0395880c32c48a284b115279d27d79ab1ca6fb53a4b97a8d25eba54ec97306")
+ version(
+ "1.7.3",
+ sha256="06df2a81e6a18d0333ffa58d36f6eb84934c38984898f9e0c3072c8facaa7306",
+ preferred=True,
+ )
+ version("1.7.2", sha256="0847943dd65001f3322b00c7dc4e12f56e70e98c6b798ccbd4f02d27ce161fef")
+ version("1.7.1", sha256="17d298e50e4e3dd897246ccebd9f40ce5b89077fa36217860efaec4576aa718e")
+ version("1.7.0", sha256="8e870dbef71bc72469933317a1a18214fd1b4b12f1080784af7b2c56177efcb4")
+ version(
+ "1.6.6",
+ sha256="a8023708cadb2649395769810e6cec8afc8e352aa6d407189b6c88b86d7f5090",
+ preferred=True,
+ )
+ version("1.6.5", sha256="b70ae299ff6b63a9e9cbf697147a48a31b4639476d1947cb52e4201e444f23cb")
+ version("1.6.4", sha256="a4aa921030250f58015201e28204bff604a007defc5a379a608723e6bb1808d4")
# We've deprecated these versions, so that we can remove them in Spack 0.18
# They are still available in Spack 0.17. Julia 0.17.0 is the first version that
# can be built enitrely from Spack packages, without a network connection during
# the build.
for v in [
- '1.6.3', '1.6.2', '1.6.1', '1.6.0', '1.5.4', '1.5.3', '1.5.2', '1.5.1', '1.5.0',
- '1.4.2', '1.4.1', '1.4.0', '1.3.1', '1.2.0', '1.1.1', '1.0.0', '0.6.2', '0.5.2',
- '0.5.1', '0.5.0', '0.4.7', '0.4.6', '0.4.5', '0.4.3'
+ "1.6.3",
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.4",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.1",
+ "1.2.0",
+ "1.1.1",
+ "1.0.0",
+ "0.6.2",
+ "0.5.2",
+ "0.5.1",
+ "0.5.0",
+ "0.4.7",
+ "0.4.6",
+ "0.4.5",
+ "0.4.3",
]:
version(v, deprecated=True)
- variant('precompile', default=True, description='Improve julia startup time')
- variant('openlibm', default=True, description='Use openlibm instead of libm')
+ variant("precompile", default=True, description="Improve julia startup time")
+ variant("openlibm", default=True, description="Use openlibm instead of libm")
# Note, we just use link_llvm_dylib so that we not only get a libLLVM,
# but also so that llvm-config --libfiles gives only the dylib. Without
@@ -57,105 +86,130 @@ class Julia(MakefilePackage):
" targets=amdgpu,bpf,nvptx,webassembly"
" version_suffix=jl +link_llvm_dylib ~internal_unwind"
)
- depends_on('libuv', when='@:1.7')
- depends_on('libuv-julia', when='@1.8:')
+ depends_on("libuv", when="@:1.7")
+ depends_on("libuv-julia", when="@1.8:")
- with when('@1.8.0:1.8'):
+ with when("@1.8.0:1.8"):
# libssh2.so.1, libpcre2-8.so.0, mbedtls.so.14, mbedcrypto.so.7, mbedx509.so.1
# openlibm.so.4, libblastrampoline.so.5, libgit2.so.1.3, libnghttp2.so.14,
# libcurl.so.4
- depends_on('libblastrampoline@5.1.0:5')
- depends_on('libgit2@1.3.0:1.3')
- depends_on('libssh2@1.10.0:1.10')
- depends_on('libuv-julia@1.44.1')
- depends_on('llvm@13.0.1 shlib_symbol_version=jl')
- depends_on('mbedtls@2.28.0:2.28')
- depends_on('openlibm@0.8.1:0.8', when='+openlibm')
- depends_on('nghttp2@1.47.0:1.47')
-
- with when('@1.7.0:1.7'):
+ depends_on("libblastrampoline@5.1.0:5")
+ depends_on("libgit2@1.3.0:1.3")
+ depends_on("libssh2@1.10.0:1.10")
+ depends_on("libuv-julia@1.44.1")
+ depends_on("llvm@13.0.1 shlib_symbol_version=jl")
+ depends_on("mbedtls@2.28.0:2.28")
+ depends_on("openlibm@0.8.1:0.8", when="+openlibm")
+ depends_on("nghttp2@1.47.0:1.47")
+
+ with when("@1.7.0:1.7"):
# libssh2.so.1, libpcre2-8.so.0, mbedtls.so.13, mbedcrypto.so.5, mbedx509.so.1
# openlibm.so.3
- depends_on('libblastrampoline@3.0.0:3')
- depends_on('libgit2@1.1.0:1.1')
- depends_on('libssh2@1.9.0:1.9')
- depends_on('libuv@1.42.0')
- depends_on('llvm@12.0.1')
- depends_on('mbedtls@2.24.0:2.24')
- depends_on('openlibm@0.7.0:0.7', when='+openlibm')
-
- with when('@1.6.0:1.6'):
+ depends_on("libblastrampoline@3.0.0:3")
+ depends_on("libgit2@1.1.0:1.1")
+ depends_on("libssh2@1.9.0:1.9")
+ depends_on("libuv@1.42.0")
+ depends_on("llvm@12.0.1")
+ depends_on("mbedtls@2.24.0:2.24")
+ depends_on("openlibm@0.7.0:0.7", when="+openlibm")
+
+ with when("@1.6.0:1.6"):
# libssh2.so.1, libpcre2-8.so.0, mbedtls.so.13, mbedcrypto.so.5, mbedx509.so.1
# openlibm.so.3, (todo: complete this list for upperbounds...)
- depends_on('libgit2@1.1.0:1.1')
- depends_on('libssh2@1.9.0:1.9')
- depends_on('libuv@1.39.0')
- depends_on('llvm@11.0.1')
- depends_on('mbedtls@2.24.0:2.24')
- depends_on('openlibm@0.7.0:0.7', when='+openlibm')
+ depends_on("libgit2@1.1.0:1.1")
+ depends_on("libssh2@1.9.0:1.9")
+ depends_on("libuv@1.39.0")
+ depends_on("llvm@11.0.1")
+ depends_on("mbedtls@2.24.0:2.24")
+ depends_on("openlibm@0.7.0:0.7", when="+openlibm")
# Patches for llvm
- depends_on('llvm', patches='llvm7-symver-jlprefix.patch', when='@:1.7')
- depends_on('llvm', when='^llvm@11.0.1', patches=patch(
- 'https://raw.githubusercontent.com/spack/patches/0b543955683a903d711a3e95ff29a4ce3951ca13/julia/llvm-11.0.1-julia-1.6.patch',
- sha256='8866ee0595272b826b72d173301a2e625855e80680a84af837f1ed6db4657f42'))
- depends_on('llvm', when='^llvm@12.0.1', patches=patch(
- 'https://github.com/JuliaLang/llvm-project/compare/fed41342a82f5a3a9201819a82bf7a48313e296b...980d2f60a8524c5546397db9e8bbb7d6ea56c1b7.patch',
- sha256='10cb42f80c2eaad3e9c87cb818b6676f1be26737bdf972c77392d71707386aa4'))
- depends_on('llvm', when='^llvm@13.0.1', patches=patch(
- 'https://github.com/JuliaLang/llvm-project/compare/75e33f71c2dae584b13a7d1186ae0a038ba98838...2f4460bd46aa80d4fe0d80c3dabcb10379e8d61b.patch',
- sha256='45f72c59ae5cf45461e9cd8b224ca49b739d885c79b3786026433c6c22f83b5f'))
+ depends_on("llvm", patches="llvm7-symver-jlprefix.patch", when="@:1.7")
+ depends_on(
+ "llvm",
+ when="^llvm@11.0.1",
+ patches=patch(
+ "https://raw.githubusercontent.com/spack/patches/0b543955683a903d711a3e95ff29a4ce3951ca13/julia/llvm-11.0.1-julia-1.6.patch",
+ sha256="8866ee0595272b826b72d173301a2e625855e80680a84af837f1ed6db4657f42",
+ ),
+ )
+ depends_on(
+ "llvm",
+ when="^llvm@12.0.1",
+ patches=patch(
+ "https://github.com/JuliaLang/llvm-project/compare/fed41342a82f5a3a9201819a82bf7a48313e296b...980d2f60a8524c5546397db9e8bbb7d6ea56c1b7.patch",
+ sha256="10cb42f80c2eaad3e9c87cb818b6676f1be26737bdf972c77392d71707386aa4",
+ ),
+ )
+ depends_on(
+ "llvm",
+ when="^llvm@13.0.1",
+ patches=patch(
+ "https://github.com/JuliaLang/llvm-project/compare/75e33f71c2dae584b13a7d1186ae0a038ba98838...2f4460bd46aa80d4fe0d80c3dabcb10379e8d61b.patch",
+ sha256="45f72c59ae5cf45461e9cd8b224ca49b739d885c79b3786026433c6c22f83b5f",
+ ),
+ )
# Patches for libuv
- depends_on('libuv', when='^libuv@1.39.0', patches=patch(
- 'https://raw.githubusercontent.com/spack/patches/b59ca193423c4c388254f528afabb906b5373162/julia/libuv-1.39.0.patch',
- sha256='f7c1e7341e89dc35dfd85435ba35833beaef575b997c3f978c27d0dbf805149b'))
- depends_on('libuv', when='^libuv@1.42.0', patches=patch(
- 'https://raw.githubusercontent.com/spack/patches/89b6d14eb1f3c3d458a06f1e06f7dda3ab67bd38/julia/libuv-1.42.0.patch',
- sha256='d9252fbe67ac8f15e15653f0f6b00dffa07ae1a42f013d4329d17d8b492b7cdb'))
+ depends_on(
+ "libuv",
+ when="^libuv@1.39.0",
+ patches=patch(
+ "https://raw.githubusercontent.com/spack/patches/b59ca193423c4c388254f528afabb906b5373162/julia/libuv-1.39.0.patch",
+ sha256="f7c1e7341e89dc35dfd85435ba35833beaef575b997c3f978c27d0dbf805149b",
+ ),
+ )
+ depends_on(
+ "libuv",
+ when="^libuv@1.42.0",
+ patches=patch(
+ "https://raw.githubusercontent.com/spack/patches/89b6d14eb1f3c3d458a06f1e06f7dda3ab67bd38/julia/libuv-1.42.0.patch",
+ sha256="d9252fbe67ac8f15e15653f0f6b00dffa07ae1a42f013d4329d17d8b492b7cdb",
+ ),
+ )
# patchelf 0.13 is required because the rpath patch uses --add-rpath
- depends_on('patchelf@0.13:', type='build')
- depends_on('perl', type='build')
- depends_on('libwhich', type='build')
-
- depends_on('blas') # note: for now openblas is fixed...
- depends_on('curl tls=mbedtls +nghttp2 +libssh2')
- depends_on('dsfmt@2.2.4:') # apparently 2.2.3->2.2.4 breaks API
- depends_on('gmp')
- depends_on('lapack') # note: for now openblas is fixed...
- depends_on('libblastrampoline', when='@1.7.0:')
- depends_on('libgit2')
- depends_on('libssh2 crypto=mbedtls')
- depends_on('mbedtls libs=shared')
- depends_on('mpfr')
- depends_on('nghttp2')
- depends_on('openblas +ilp64 symbol_suffix=64_')
- depends_on('openlibm', when='+openlibm')
- depends_on('p7zip')
- depends_on('pcre2')
- depends_on('suite-sparse +pic')
- depends_on('unwind')
- depends_on('utf8proc')
- depends_on('zlib +shared +pic +optimize')
+ depends_on("patchelf@0.13:", type="build")
+ depends_on("perl", type="build")
+ depends_on("libwhich", type="build")
+
+ depends_on("blas") # note: for now openblas is fixed...
+ depends_on("curl tls=mbedtls +nghttp2 +libssh2")
+ depends_on("dsfmt@2.2.4:") # apparently 2.2.3->2.2.4 breaks API
+ depends_on("gmp")
+ depends_on("lapack") # note: for now openblas is fixed...
+ depends_on("libblastrampoline", when="@1.7.0:")
+ depends_on("libgit2")
+ depends_on("libssh2 crypto=mbedtls")
+ depends_on("mbedtls libs=shared")
+ depends_on("mpfr")
+ depends_on("nghttp2")
+ depends_on("openblas +ilp64 symbol_suffix=64_")
+ depends_on("openlibm", when="+openlibm")
+ depends_on("p7zip")
+ depends_on("pcre2")
+ depends_on("suite-sparse +pic")
+ depends_on("unwind")
+ depends_on("utf8proc")
+ depends_on("zlib +shared +pic +optimize")
# Patches for julia
- patch('julia-1.6-system-libwhich-and-p7zip-symlink.patch', when='@1.6.0:1.6')
- patch('use-add-rpath.patch')
+ patch("julia-1.6-system-libwhich-and-p7zip-symlink.patch", when="@1.6.0:1.6")
+ patch("use-add-rpath.patch")
# Fix gfortran abi detection https://github.com/JuliaLang/julia/pull/44026
- patch('fix-gfortran.patch', when='@1.7.0:1.7.2')
+ patch("fix-gfortran.patch", when="@1.7.0:1.7.2")
# Don't make julia run patchelf --set-rpath on llvm (presumably this should've
# only applied to libllvm when it's vendored by julia).
- patch('revert-fix-rpath-of-libllvm.patch', when='@1.7.0:1.7.2')
+ patch("revert-fix-rpath-of-libllvm.patch", when="@1.7.0:1.7.2")
# Allow build with clang.
- patch('gcc-ifdef.patch', when='@1.7.0:1.7')
+ patch("gcc-ifdef.patch", when="@1.7.0:1.7")
# Make sure Julia sets -DNDEBUG when including LLVM header files.
- patch('llvm-NDEBUG.patch', when='@1.7.0:1.7')
- patch('llvm-NDEBUG-1.8.patch', when='@1.8.0:1.8')
+ patch("llvm-NDEBUG.patch", when="@1.7.0:1.7")
+ patch("llvm-NDEBUG-1.8.patch", when="@1.8.0:1.8")
def patch(self):
# The system-libwhich-libblastrampoline.patch causes a rebuild of docs as it
@@ -168,92 +222,98 @@ class Julia(MakefilePackage):
def setup_build_environment(self, env):
# this is a bit ridiculous, but we are setting runtime linker paths to
# dependencies so that libwhich can locate them.
- if (
- self.spec.satisfies('platform=linux') or
- self.spec.satisfies('platform=cray')
- ):
- linker_var = 'LD_LIBRARY_PATH'
- elif self.spec.satisfies('platform=darwin'):
- linker_var = 'DYLD_FALLBACK_LIBRARY_PATH'
+ if self.spec.satisfies("platform=linux") or self.spec.satisfies("platform=cray"):
+ linker_var = "LD_LIBRARY_PATH"
+ elif self.spec.satisfies("platform=darwin"):
+ linker_var = "DYLD_FALLBACK_LIBRARY_PATH"
else:
return
pkgs = [
- 'curl', 'dsfmt', 'gmp', 'libgit2', 'libssh2', 'libunwind', 'mbedtls',
- 'mpfr', 'nghttp2', 'openblas', 'openlibm', 'pcre2', 'suite-sparse',
- 'utf8proc', 'zlib'
+ "curl",
+ "dsfmt",
+ "gmp",
+ "libgit2",
+ "libssh2",
+ "libunwind",
+ "mbedtls",
+ "mpfr",
+ "nghttp2",
+ "openblas",
+ "openlibm",
+ "pcre2",
+ "suite-sparse",
+ "utf8proc",
+ "zlib",
]
- if self.spec.satisfies('@1.7.0:'):
- pkgs.append('libblastrampoline')
+ if self.spec.satisfies("@1.7.0:"):
+ pkgs.append("libblastrampoline")
for pkg in pkgs:
for dir in self.spec[pkg].libs.directories:
env.prepend_path(linker_var, dir)
def edit(self, spec, prefix):
# TODO: use a search query for blas / lapack?
- libblas = os.path.splitext(spec['blas'].libs.basenames[0])[0]
- liblapack = os.path.splitext(spec['lapack'].libs.basenames[0])[0]
+ libblas = os.path.splitext(spec["blas"].libs.basenames[0])[0]
+ liblapack = os.path.splitext(spec["lapack"].libs.basenames[0])[0]
# Host compiler target name
march = get_best_target(spec.target, spec.compiler.name, spec.compiler.version)
# LLVM compatible name for the JIT
- julia_cpu_target = get_best_target(spec.target, 'clang', spec['llvm'].version)
+ julia_cpu_target = get_best_target(spec.target, "clang", spec["llvm"].version)
- libuv = 'libuv-julia' if '^libuv-julia' in spec else 'libuv'
+ libuv = "libuv-julia" if "^libuv-julia" in spec else "libuv"
options = [
- 'prefix:={0}'.format(prefix),
- 'MARCH:={0}'.format(march),
- 'JULIA_CPU_TARGET:={0}'.format(julia_cpu_target),
- 'USE_BINARYBUILDER:=0',
- 'VERBOSE:=1',
-
+ "prefix:={0}".format(prefix),
+ "MARCH:={0}".format(march),
+ "JULIA_CPU_TARGET:={0}".format(julia_cpu_target),
+ "USE_BINARYBUILDER:=0",
+ "VERBOSE:=1",
# Spack managed dependencies
- 'USE_SYSTEM_BLAS:=1',
- 'USE_SYSTEM_CSL:=1',
- 'USE_SYSTEM_CURL:=1',
- 'USE_SYSTEM_DSFMT:=1',
- 'USE_SYSTEM_GMP:=1',
- 'USE_SYSTEM_LAPACK:=1',
- 'USE_SYSTEM_LIBBLASTRAMPOLINE:=1',
- 'USE_SYSTEM_LIBGIT2:=1',
- 'USE_SYSTEM_LIBSSH2:=1',
- 'USE_SYSTEM_LIBSUITESPARSE:=1', # @1.7:
- 'USE_SYSTEM_SUITESPARSE:=1', # @:1.6
- 'USE_SYSTEM_LIBUNWIND:=1',
- 'USE_SYSTEM_LIBUV:=1',
- 'USE_SYSTEM_LIBWHICH:=1',
- 'USE_SYSTEM_LLVM:=1',
- 'USE_SYSTEM_MBEDTLS:=1',
- 'USE_SYSTEM_MPFR:=1',
- 'USE_SYSTEM_P7ZIP:=1',
- 'USE_SYSTEM_PATCHELF:=1',
- 'USE_SYSTEM_PCRE:=1',
- 'USE_SYSTEM_UTF8PROC:=1',
- 'USE_SYSTEM_ZLIB:=1',
-
+ "USE_SYSTEM_BLAS:=1",
+ "USE_SYSTEM_CSL:=1",
+ "USE_SYSTEM_CURL:=1",
+ "USE_SYSTEM_DSFMT:=1",
+ "USE_SYSTEM_GMP:=1",
+ "USE_SYSTEM_LAPACK:=1",
+ "USE_SYSTEM_LIBBLASTRAMPOLINE:=1",
+ "USE_SYSTEM_LIBGIT2:=1",
+ "USE_SYSTEM_LIBSSH2:=1",
+ "USE_SYSTEM_LIBSUITESPARSE:=1", # @1.7:
+ "USE_SYSTEM_SUITESPARSE:=1", # @:1.6
+ "USE_SYSTEM_LIBUNWIND:=1",
+ "USE_SYSTEM_LIBUV:=1",
+ "USE_SYSTEM_LIBWHICH:=1",
+ "USE_SYSTEM_LLVM:=1",
+ "USE_SYSTEM_MBEDTLS:=1",
+ "USE_SYSTEM_MPFR:=1",
+ "USE_SYSTEM_P7ZIP:=1",
+ "USE_SYSTEM_PATCHELF:=1",
+ "USE_SYSTEM_PCRE:=1",
+ "USE_SYSTEM_UTF8PROC:=1",
+ "USE_SYSTEM_ZLIB:=1",
# todo: ilp depends on arch
- 'USE_BLAS64:=1',
- 'LIBBLASNAME:={0}'.format(libblas),
- 'LIBLAPACKNAME:={0}'.format(liblapack),
- 'override LIBUV:={0}'.format(spec[libuv].libs.libraries[0]),
- 'override LIBUV_INC:={0}'.format(spec[libuv].headers.directories[0]),
- 'override USE_LLVM_SHLIB:=1',
+ "USE_BLAS64:=1",
+ "LIBBLASNAME:={0}".format(libblas),
+ "LIBLAPACKNAME:={0}".format(liblapack),
+ "override LIBUV:={0}".format(spec[libuv].libs.libraries[0]),
+ "override LIBUV_INC:={0}".format(spec[libuv].headers.directories[0]),
+ "override USE_LLVM_SHLIB:=1",
# make rebuilds a bit faster for now, not sure if this should be kept
- 'JULIA_PRECOMPILE:={0}'.format(
- '1' if spec.variants['precompile'].value else '0'),
+ "JULIA_PRECOMPILE:={0}".format("1" if spec.variants["precompile"].value else "0"),
]
- options.append('USEGCC:={}'.format('1' if '%gcc' in spec else '0'))
- options.append('USECLANG:={}'.format('1' if '%clang' in spec else '0'))
+ options.append("USEGCC:={}".format("1" if "%gcc" in spec else "0"))
+ options.append("USECLANG:={}".format("1" if "%clang" in spec else "0"))
# libm or openlibm?
- if spec.variants['openlibm'].value:
- options.append('USE_SYSTEM_LIBM=0')
- options.append('USE_SYSTEM_OPENLIBM=1')
+ if spec.variants["openlibm"].value:
+ options.append("USE_SYSTEM_LIBM=0")
+ options.append("USE_SYSTEM_OPENLIBM=1")
else:
- options.append('USE_SYSTEM_LIBM=1')
- options.append('USE_SYSTEM_OPENLIBM=0')
+ options.append("USE_SYSTEM_LIBM=1")
+ options.append("USE_SYSTEM_OPENLIBM=0")
- with open('Make.user', 'w') as f:
- f.write('\n'.join(options) + '\n')
+ with open("Make.user", "w") as f:
+ f.write("\n".join(options) + "\n")
diff --git a/var/spack/repos/builtin/packages/junit4/package.py b/var/spack/repos/builtin/packages/junit4/package.py
index 8a02a5e68f..43690709bf 100644
--- a/var/spack/repos/builtin/packages/junit4/package.py
+++ b/var/spack/repos/builtin/packages/junit4/package.py
@@ -10,10 +10,10 @@ class Junit4(MavenPackage):
"""A programmer-oriented testing framework for Java."""
homepage = "https://github.com/junit-team/junit4/wiki"
- url = "https://github.com/junit-team/junit4/archive/r4.13.tar.gz"
+ url = "https://github.com/junit-team/junit4/archive/r4.13.tar.gz"
- version('4.13', sha256='c4e8f5681ad387a386a5aebe05ed4b73ffbfff963e154fbc4d77090f230777c7')
- version('4.12', sha256='9a5b458258c6537df0d2df7122a06895a26b9c7c8061e5991a0be81d76b10d24')
+ version("4.13", sha256="c4e8f5681ad387a386a5aebe05ed4b73ffbfff963e154fbc4d77090f230777c7")
+ version("4.12", sha256="9a5b458258c6537df0d2df7122a06895a26b9c7c8061e5991a0be81d76b10d24")
- depends_on('java@5:', type=('build', 'run'))
- depends_on('maven@3.0.4:', type='build')
+ depends_on("java@5:", type=("build", "run"))
+ depends_on("maven@3.0.4:", type="build")
diff --git a/var/spack/repos/builtin/packages/k8/package.py b/var/spack/repos/builtin/packages/k8/package.py
index 6af391ac4e..96bd84db77 100644
--- a/var/spack/repos/builtin/packages/k8/package.py
+++ b/var/spack/repos/builtin/packages/k8/package.py
@@ -13,16 +13,16 @@ class K8(Package):
"""K8 is a Javascript shell based on Google's V8 Javascript engine."""
homepage = "https://github.com/attractivechaos/k8"
- url = "https://github.com/attractivechaos/k8/releases/download/v0.2.4/k8-0.2.4.tar.bz2"
+ url = "https://github.com/attractivechaos/k8/releases/download/v0.2.4/k8-0.2.4.tar.bz2"
- version('0.2.4', sha256='da8a99c7f1ce7f0cb23ff07ce10510e770686b906d5431442a5439743c0b3c47')
+ version("0.2.4", sha256="da8a99c7f1ce7f0cb23ff07ce10510e770686b906d5431442a5439743c0b3c47")
- depends_on('zlib', type='run')
+ depends_on("zlib", type="run")
def install(self, spec, prefix):
- if (sys.platform == 'darwin'):
- os.rename('k8-Darwin', 'k8')
+ if sys.platform == "darwin":
+ os.rename("k8-Darwin", "k8")
- if (sys.platform != 'darwin'):
- os.rename('k8-Linux', 'k8')
- install_tree('.', prefix.bin)
+ if sys.platform != "darwin":
+ os.rename("k8-Linux", "k8")
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kadath/package.py b/var/spack/repos/builtin/packages/kadath/package.py
index 5f1e9eedc8..5a03ae0a33 100644
--- a/var/spack/repos/builtin/packages/kadath/package.py
+++ b/var/spack/repos/builtin/packages/kadath/package.py
@@ -20,46 +20,51 @@ class Kadath(CMakePackage):
"""
homepage = "https://kadath.obspm.fr/fuka/"
- git = "https://gitlab.obspm.fr/grandcle/Kadath.git"
+ git = "https://gitlab.obspm.fr/grandcle/Kadath.git"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('fuka', branch='fuka')
+ version("fuka", branch="fuka")
- variant('mpi', default=True, description='Enable MPI support')
+ 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')
+ 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')
+ 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'
+ root_cmakelists_dir = "build_release"
def patch(self):
- for code in self.spec.variants['codes'].value:
- if code != 'none':
+ 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"))
+ 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)
+ 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'),
+ self.define_from_variant("PAR_VERSION", "mpi"),
]
def cmake(self, spec, prefix):
@@ -68,21 +73,21 @@ class Kadath(CMakePackage):
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':
+ 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':
+ 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)
+ install_tree("include", prefix.include)
mkdirp(prefix.lib)
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/kafka/package.py b/var/spack/repos/builtin/packages/kafka/package.py
index 0221a19e95..9600e4a5f5 100644
--- a/var/spack/repos/builtin/packages/kafka/package.py
+++ b/var/spack/repos/builtin/packages/kafka/package.py
@@ -14,22 +14,32 @@ class Kafka(Package):
"""
homepage = "https://www-eu.apache.org/dist/kafka"
- url = "https://www-eu.apache.org/dist/kafka/2.3.1/kafka_2.12-2.3.1.tgz"
+ url = "https://www-eu.apache.org/dist/kafka/2.3.1/kafka_2.12-2.3.1.tgz"
list_url = "https://www-eu.apache.org/dist/kafka/"
list_depth = 1
- version('2.13-2.4.0', sha256='c1c5246c7075459687b3160b713a001f5cd1cc563b9a3db189868d2f22aa9110')
- version('2.12-2.4.0', sha256='b9582bab0c3e8d131953b1afa72d6885ca1caae0061c2623071e7f396f2ccfee')
- version('2.12-2.3.1', sha256='5a3ddd4148371284693370d56f6f66c7a86d86dd96c533447d2a94d176768d2e')
- version('2.12-2.3.0', sha256='d86f5121a9f0c44477ae6b6f235daecc3f04ecb7bf98596fd91f402336eee3e7')
- version('2.12-2.2.2', sha256='7a1713d2ee929e54b1c889a449d77006513e59afb3032366368b2ebccd9e9ec0')
-
- depends_on('java@8:', type='run')
+ version(
+ "2.13-2.4.0", sha256="c1c5246c7075459687b3160b713a001f5cd1cc563b9a3db189868d2f22aa9110"
+ )
+ version(
+ "2.12-2.4.0", sha256="b9582bab0c3e8d131953b1afa72d6885ca1caae0061c2623071e7f396f2ccfee"
+ )
+ version(
+ "2.12-2.3.1", sha256="5a3ddd4148371284693370d56f6f66c7a86d86dd96c533447d2a94d176768d2e"
+ )
+ version(
+ "2.12-2.3.0", sha256="d86f5121a9f0c44477ae6b6f235daecc3f04ecb7bf98596fd91f402336eee3e7"
+ )
+ version(
+ "2.12-2.2.2", sha256="7a1713d2ee929e54b1c889a449d77006513e59afb3032366368b2ebccd9e9ec0"
+ )
+
+ depends_on("java@8:", type="run")
def url_for_version(self, version):
url = "https://www-eu.apache.org/dist/kafka/{0}/kafka_{1}.tgz"
- parent_dir = str(version).split('-')[1]
+ parent_dir = str(version).split("-")[1]
return url.format(parent_dir, version)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/kahip/package.py b/var/spack/repos/builtin/packages/kahip/package.py
index 25539bd416..43af0b546d 100644
--- a/var/spack/repos/builtin/packages/kahip/package.py
+++ b/var/spack/repos/builtin/packages/kahip/package.py
@@ -22,28 +22,38 @@ class Kahip(CMakePackage):
geared towards efficient partitioning of social networks.
"""
- homepage = 'http://algo2.iti.kit.edu/documents/kahip/index.html'
- url = 'https://github.com/KaHIP/KaHIP/archive/v3.14.tar.gz'
- git = 'https://github.com/KaHIP/KaHIP.git'
+ homepage = "http://algo2.iti.kit.edu/documents/kahip/index.html"
+ url = "https://github.com/KaHIP/KaHIP/archive/v3.14.tar.gz"
+ git = "https://github.com/KaHIP/KaHIP.git"
maintainers = ["ma595"]
- version('develop', branch='master')
- version('3.14', sha256='9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242')
- version('3.13', sha256='fae21778a4ce8e59ccb98e5cbb6c01f0af7e594657d21f6c0eb2c6e74398deb1')
- version('3.12', sha256='df923b94b552772d58b4c1f359b3f2e4a05f7f26ab4ebd00a0ab7d2579f4c257')
- version('3.11', sha256='347575d48c306b92ab6e47c13fa570e1af1e210255f470e6aa12c2509a8c13e3')
- version('2.00', sha256='1cc9e5b12fea559288d377e8b8b701af1b2b707de8e550d0bda18b36be29d21d', url='https://algo2.iti.kit.edu/schulz/software_releases/KaHIP_2.00.tar.gz', deprecated=True)
-
- variant('deterministic', default=False, when='@3.13:', description='Compile with the deterministic seed')
- variant('metis', default=False, description='metis support')
-
- depends_on('scons', type='build', when='@2:2.10')
- depends_on('argtable')
- depends_on('mpi') # Note: upstream package only tested on openmpi
+ version("develop", branch="master")
+ version("3.14", sha256="9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242")
+ version("3.13", sha256="fae21778a4ce8e59ccb98e5cbb6c01f0af7e594657d21f6c0eb2c6e74398deb1")
+ version("3.12", sha256="df923b94b552772d58b4c1f359b3f2e4a05f7f26ab4ebd00a0ab7d2579f4c257")
+ version("3.11", sha256="347575d48c306b92ab6e47c13fa570e1af1e210255f470e6aa12c2509a8c13e3")
+ version(
+ "2.00",
+ sha256="1cc9e5b12fea559288d377e8b8b701af1b2b707de8e550d0bda18b36be29d21d",
+ url="https://algo2.iti.kit.edu/schulz/software_releases/KaHIP_2.00.tar.gz",
+ deprecated=True,
+ )
+
+ variant(
+ "deterministic",
+ default=False,
+ when="@3.13:",
+ description="Compile with the deterministic seed",
+ )
+ variant("metis", default=False, description="metis support")
+
+ depends_on("scons", type="build", when="@2:2.10")
+ depends_on("argtable")
+ depends_on("mpi") # Note: upstream package only tested on openmpi
depends_on("metis", when="@3.12: +metis")
- conflicts('%apple-clang')
- conflicts('%clang')
+ conflicts("%apple-clang")
+ conflicts("%clang")
# Fix SConstruct files to be python3 friendly (convert print from a
# statement to a function)
@@ -51,8 +61,8 @@ class Kahip(CMakePackage):
# *) first file patches Sconstruct files present in all versions (from
# 2.00 to 2.10)
# *) second is for files only present in 2.00
- patch('fix-sconstruct-for-py3.patch', when='@2:2.10 ^python@3:')
- patch('fix-sconstruct-for-py3-v2.00.patch', when='@2.00 ^python@3:')
+ patch("fix-sconstruct-for-py3.patch", when="@2:2.10 ^python@3:")
+ patch("fix-sconstruct-for-py3-v2.00.patch", when="@2.00 ^python@3:")
# 'when' decorators to override new CMake build approach (old build was SConstruct).
@when("@:2.10")
@@ -61,17 +71,17 @@ class Kahip(CMakePackage):
Filter these out so Spack can control it."""
files = [
- 'compile.sh',
- 'parallel/modified_kahip/compile.sh',
- 'parallel/parallel_src/compile.sh',
+ "compile.sh",
+ "parallel/modified_kahip/compile.sh",
+ "parallel/parallel_src/compile.sh",
]
for f in files:
- filter_file('NCORES=.*', 'NCORES={0}'.format(make_jobs), f)
+ filter_file("NCORES=.*", "NCORES={0}".format(make_jobs), f)
@when("@3.13:")
def cmake_args(self):
- return [self.define_from_variant('DETERMINISTIC_PARHIP', 'deterministic')]
+ return [self.define_from_variant("DETERMINISTIC_PARHIP", "deterministic")]
@when("@:2.10")
def cmake(self, spec, prefix):
@@ -80,7 +90,7 @@ class Kahip(CMakePackage):
@when("@:2.10")
def build(self, spec, prefix):
"""Build using the KaHIP compile.sh script. Uses scons internally."""
- builder = Executable('./compile.sh')
+ builder = Executable("./compile.sh")
builder()
@when("@:2.10")
@@ -91,11 +101,11 @@ class Kahip(CMakePackage):
mkdirp(prefix.include)
mkdirp(prefix.lib)
- with working_dir('deploy'):
- for f in os.listdir('.'):
- if re.match(r'.*\.(a|so|dylib)$', f):
+ with working_dir("deploy"):
+ for f in os.listdir("."):
+ if re.match(r".*\.(a|so|dylib)$", f):
install(f, prefix.lib)
- elif re.match(r'.*\.h$', f):
+ elif re.match(r".*\.h$", f):
install(f, prefix.include)
else:
install(f, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kaiju/package.py b/var/spack/repos/builtin/packages/kaiju/package.py
index 5c64fbb58b..679b706a75 100644
--- a/var/spack/repos/builtin/packages/kaiju/package.py
+++ b/var/spack/repos/builtin/packages/kaiju/package.py
@@ -11,19 +11,19 @@ class Kaiju(MakefilePackage):
of high-throughput sequencing reads."""
homepage = "https://github.com/bioinformatics-centre/kaiju"
- url = "https://github.com/bioinformatics-centre/kaiju/archive/v1.6.2.zip"
+ url = "https://github.com/bioinformatics-centre/kaiju/archive/v1.6.2.zip"
- version('1.6.2', sha256='2685fed7e27ddeb26530fd60a4b388f2d5f3e29aaa79f8e2e6abcbac64075db8')
+ version("1.6.2", sha256="2685fed7e27ddeb26530fd60a4b388f2d5f3e29aaa79f8e2e6abcbac64075db8")
- build_directory = 'src'
+ build_directory = "src"
- depends_on('perl-io-compress', type='run')
- depends_on('py-htseq', type='run')
+ depends_on("perl-io-compress", type="run")
+ depends_on("py-htseq", type="run")
def edit(self, spec, prefix):
# Replace ftp:// with https://
- makedb = FileFilter('util/makeDB.sh')
- makedb.filter('ftp://', 'https://', string=True)
+ makedb = FileFilter("util/makeDB.sh")
+ makedb.filter("ftp://", "https://", string=True)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kakoune/package.py b/var/spack/repos/builtin/packages/kakoune/package.py
index 1414c3e131..cdfaa203b5 100644
--- a/var/spack/repos/builtin/packages/kakoune/package.py
+++ b/var/spack/repos/builtin/packages/kakoune/package.py
@@ -10,17 +10,21 @@ class Kakoune(MakefilePackage):
"""mawww's experiment for a better code editor."""
homepage = "https://www.kakoune.org"
- url = "https://github.com/mawww/kakoune/releases/download/v2021.11.08/kakoune-2021.11.08.tar.bz2"
+ url = (
+ "https://github.com/mawww/kakoune/releases/download/v2021.11.08/kakoune-2021.11.08.tar.bz2"
+ )
- maintainers = ['Bambi']
+ maintainers = ["Bambi"]
- version('2021.11.08', sha256='aa30889d9da11331a243a8f40fe4f6a8619321b19217debac8f565e06eddb5f4')
+ version(
+ "2021.11.08", sha256="aa30889d9da11331a243a8f40fe4f6a8619321b19217debac8f565e06eddb5f4"
+ )
- depends_on('ncurses')
+ depends_on("ncurses")
- conflicts('%gcc@:8', when='@2021.11.08', msg='GCC version must be at least 9.0!')
+ conflicts("%gcc@:8", when="@2021.11.08", msg="GCC version must be at least 9.0!")
- build_targets = ['all', 'man']
+ build_targets = ["all", "man"]
def edit(self, spec, prefix):
- env['PREFIX'] = prefix
+ env["PREFIX"] = prefix
diff --git a/var/spack/repos/builtin/packages/kaks-calculator/package.py b/var/spack/repos/builtin/packages/kaks-calculator/package.py
index 51d2f675d1..cd5c997575 100644
--- a/var/spack/repos/builtin/packages/kaks-calculator/package.py
+++ b/var/spack/repos/builtin/packages/kaks-calculator/package.py
@@ -8,33 +8,32 @@ from spack.package import *
class KaksCalculator(MakefilePackage, SourceforgePackage):
"""KaKs_Calculator adopts model selection and model averaging to calculate
- nonsynonymous (Ka) and synonymous (Ks) substitution rates, attempting to
- include as many features as needed for accurately capturing evolutionary
- information in protein-coding sequences."""
+ nonsynonymous (Ka) and synonymous (Ks) substitution rates, attempting to
+ include as many features as needed for accurately capturing evolutionary
+ information in protein-coding sequences."""
homepage = "https://sourceforge.net/projects/kakscalculator2"
sourceforge_mirror_path = "kakscalculator2/KaKs_Calculator2.0.tar.gz"
- version('2.0', sha256='e2df719a2fecc549d8ddc4e6d8f5cfa4b248282dca319c1928eaf886d68ec3c5')
+ version("2.0", sha256="e2df719a2fecc549d8ddc4e6d8f5cfa4b248282dca319c1928eaf886d68ec3c5")
- build_directory = 'src'
+ build_directory = "src"
def url_for_version(self, version):
- url = 'https://downloads.sourceforge.net/project/kakscalculator2/KaKs_Calculator{0}.tar.gz'
+ url = "https://downloads.sourceforge.net/project/kakscalculator2/KaKs_Calculator{0}.tar.gz"
return url.format(version)
# include<string.h> needs added to header file for compilation to work
def patch(self):
with working_dir(self.build_directory):
- header = FileFilter('base.h')
- header.filter('#include<time.h>',
- '#include<time.h>\n#include<string.h>')
+ header = FileFilter("base.h")
+ header.filter("#include<time.h>", "#include<time.h>\n#include<string.h>")
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir(self.build_directory):
- install('KaKs_Calculator', prefix.bin)
- install('ConPairs', prefix.bin)
- install('AXTConvertor', prefix.bin)
- install_tree('doc', prefix.doc)
- install_tree('examples', prefix.examples)
+ install("KaKs_Calculator", prefix.bin)
+ install("ConPairs", prefix.bin)
+ install("AXTConvertor", prefix.bin)
+ install_tree("doc", prefix.doc)
+ install_tree("examples", prefix.examples)
diff --git a/var/spack/repos/builtin/packages/kaldi/package.py b/var/spack/repos/builtin/packages/kaldi/package.py
index a6a5d269e5..5f2f83cb2a 100644
--- a/var/spack/repos/builtin/packages/kaldi/package.py
+++ b/var/spack/repos/builtin/packages/kaldi/package.py
@@ -10,89 +10,88 @@ from os.path import join
from spack.package import *
-class Kaldi(Package): # Does not use Autotools
+class Kaldi(Package): # Does not use Autotools
"""Kaldi is a toolkit for speech recognition written
in C++ and licensed under the Apache License v2.0.
Kaldi is intended for use by speech recognition researchers."""
homepage = "https://github.com/kaldi-asr/kaldi"
- git = "https://github.com/kaldi-asr/kaldi.git"
-
- version('master')
- version('2021-11-16', commit='6e03a3f5f99d6d8c22494d90b7e7f9ceb0117ac8')
- version('2019-09-29', commit='6ffde4b41c58de778245149690927d592cd5956a')
- version('2019-07-29', commit='7637de77e0a77bf280bef9bf484e4f37c4eb9475')
- version('2018-07-11', commit='6f2140b032b0108bc313eefdca65151289642773')
- version('2015-10-07', commit='c024e8aa0a727bf76c91a318f76a1f8b0b59249e')
-
- variant('shared', default=True,
- description='build shared libraries')
- variant('double', default=False,
- description='build with double precision floats')
- variant('cuda', default=False,
- description='build with CUDA')
-
- depends_on('blas')
- depends_on('cuda', when='+cuda')
- depends_on('sph2pipe', type='run')
- depends_on('sctk', type='run')
- depends_on('speex', type='run')
- depends_on('openfst@1.4.1-patch', when='@2015-10-07')
- depends_on('openfst@1.6.0:', when='@2018-07-11')
- depends_on('openfst@1.6.0:', when='@2019-07-29')
- depends_on('openfst@1.6.7:1.7.3', when='@2019-09-29:')
- depends_on('cub', when='@2019-07-29:^cuda@:10')
-
- patch('openfst-1.4.1.patch', when='@2015-10-07')
- patch('0001_CMakeLists_txt.patch', when='+cuda@11:')
+ git = "https://github.com/kaldi-asr/kaldi.git"
+
+ version("master")
+ version("2021-11-16", commit="6e03a3f5f99d6d8c22494d90b7e7f9ceb0117ac8")
+ version("2019-09-29", commit="6ffde4b41c58de778245149690927d592cd5956a")
+ version("2019-07-29", commit="7637de77e0a77bf280bef9bf484e4f37c4eb9475")
+ version("2018-07-11", commit="6f2140b032b0108bc313eefdca65151289642773")
+ version("2015-10-07", commit="c024e8aa0a727bf76c91a318f76a1f8b0b59249e")
+
+ variant("shared", default=True, description="build shared libraries")
+ variant("double", default=False, description="build with double precision floats")
+ variant("cuda", default=False, description="build with CUDA")
+
+ depends_on("blas")
+ depends_on("cuda", when="+cuda")
+ depends_on("sph2pipe", type="run")
+ depends_on("sctk", type="run")
+ depends_on("speex", type="run")
+ depends_on("openfst@1.4.1-patch", when="@2015-10-07")
+ depends_on("openfst@1.6.0:", when="@2018-07-11")
+ depends_on("openfst@1.6.0:", when="@2019-07-29")
+ depends_on("openfst@1.6.7:1.7.3", when="@2019-09-29:")
+ depends_on("cub", when="@2019-07-29:^cuda@:10")
+
+ patch("openfst-1.4.1.patch", when="@2015-10-07")
+ patch("0001_CMakeLists_txt.patch", when="+cuda@11:")
# Change process of version analysis when using Fujitsu compiler.
- patch('fujitsu_fix_version_analysis.patch', when='@2018-07-11:%fj')
+ patch("fujitsu_fix_version_analysis.patch", when="@2018-07-11:%fj")
def install(self, spec, prefix):
- configure_args = ['--fst-root=' + spec['openfst'].prefix]
- configure_args.append('--fst-version=' + str(spec['openfst'].version))
- configure_args.append('--speex-root=' + spec['speex'].prefix)
- configure_args.append('--cub-root=' + spec['cuda'].prefix.include)
+ configure_args = ["--fst-root=" + spec["openfst"].prefix]
+ configure_args.append("--fst-version=" + str(spec["openfst"].version))
+ configure_args.append("--speex-root=" + spec["speex"].prefix)
+ configure_args.append("--cub-root=" + spec["cuda"].prefix.include)
- if '~shared' in spec:
- configure_args.append('--static')
+ if "~shared" in spec:
+ configure_args.append("--static")
else:
- configure_args.append('--shared')
-
- if '^openblas' in spec:
- configure_args.append('--mathlib=OPENBLAS')
- configure_args.append('--openblas-root=' + spec['blas'].prefix)
- if '+openmp' in spec['blas'].variants:
- configure_args.append('--threaded-math=yes')
- elif '^atlas' in spec:
- configure_args.append('--mathlib=ATLAS')
- configure_args.append('--atlas-root=' + spec['blas'].prefix)
- if '+pthread' in spec['blas'].variants:
- configure_args.append('--threaded-atlas')
- elif '^intel-parallel-studio' in spec or '^intel-mkl' in spec:
- configure_args.append('--mathlib=MKL')
- configure_args.append('--mkl-root=' + spec['blas'].prefix.mkl)
- if '+openmp' in spec['blas'].variants:
- configure_args.append('--mkl-threading=iomp')
-
- if '+cuda' in spec:
- configure_args.append('--use-cuda=yes')
- configure_args.append('--cudatk-dir=' + spec['cuda'].prefix)
-
- if spec.satisfies('@2019-07-29: ^cuda@:10'):
- configure_args.append('--cub-root=' + spec['cub'].prefix.include)
+ configure_args.append("--shared")
+
+ if "^openblas" in spec:
+ configure_args.append("--mathlib=OPENBLAS")
+ configure_args.append("--openblas-root=" + spec["blas"].prefix)
+ if "+openmp" in spec["blas"].variants:
+ configure_args.append("--threaded-math=yes")
+ elif "^atlas" in spec:
+ configure_args.append("--mathlib=ATLAS")
+ configure_args.append("--atlas-root=" + spec["blas"].prefix)
+ if "+pthread" in spec["blas"].variants:
+ configure_args.append("--threaded-atlas")
+ elif "^intel-parallel-studio" in spec or "^intel-mkl" in spec:
+ configure_args.append("--mathlib=MKL")
+ configure_args.append("--mkl-root=" + spec["blas"].prefix.mkl)
+ if "+openmp" in spec["blas"].variants:
+ configure_args.append("--mkl-threading=iomp")
+
+ if "+cuda" in spec:
+ configure_args.append("--use-cuda=yes")
+ configure_args.append("--cudatk-dir=" + spec["cuda"].prefix)
+
+ if spec.satisfies("@2019-07-29: ^cuda@:10"):
+ configure_args.append("--cub-root=" + spec["cub"].prefix.include)
with working_dir("src"):
configure(*configure_args)
make()
mkdirp(prefix.bin)
- for root, dirs, files in os.walk('.'):
+ for root, dirs, files in os.walk("."):
for name in files:
- if name.endswith("." + dso_suffix) \
- or name.endswith(".cc") \
- or name.endswith(".pptx"):
+ if (
+ name.endswith("." + dso_suffix)
+ or name.endswith(".cc")
+ or name.endswith(".pptx")
+ ):
continue
if "configure" == name:
continue
@@ -100,18 +99,17 @@ class Kaldi(Package): # Does not use Autotools
install(join(root, name), prefix.bin)
mkdir(prefix.lib)
- for root, dirs, files in os.walk('lib'):
+ for root, dirs, files in os.walk("lib"):
for name in files:
if name.endswith("." + dso_suffix):
fpath = join(root, name)
src = os.readlink(fpath)
install(src, prefix.lib)
- for root, dirs, files in os.walk('.'):
+ for root, dirs, files in os.walk("."):
for name in files:
- if fnmatch(name, '*.h'):
+ if fnmatch(name, "*.h"):
mkdirp(join(prefix.include, root.strip("./")))
- install(join(root, name),
- join(prefix.include, root.strip("./")))
- egs_dir = join(prefix, 'egs')
- install_tree('egs', egs_dir)
+ install(join(root, name), join(prefix.include, root.strip("./")))
+ egs_dir = join(prefix, "egs")
+ install_tree("egs", egs_dir)
diff --git a/var/spack/repos/builtin/packages/kallisto/package.py b/var/spack/repos/builtin/packages/kallisto/package.py
index 75a4e601d1..c97abf0ece 100644
--- a/var/spack/repos/builtin/packages/kallisto/package.py
+++ b/var/spack/repos/builtin/packages/kallisto/package.py
@@ -8,47 +8,44 @@ from spack.package import *
class Kallisto(CMakePackage):
"""kallisto is a program for quantifying abundances of transcripts from
- RNA-Seq data."""
+ RNA-Seq data."""
homepage = "https://pachterlab.github.io/kallisto"
- url = "https://github.com/pachterlab/kallisto/archive/v0.43.1.tar.gz"
+ url = "https://github.com/pachterlab/kallisto/archive/v0.43.1.tar.gz"
- version('0.48.0', sha256='1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0')
- version('0.46.2', sha256='c447ca8ddc40fcbd7d877d7c868bc8b72807aa8823a8a8d659e19bdd515baaf2')
- version('0.43.1', sha256='7baef1b3b67bcf81dc7c604db2ef30f5520b48d532bf28ec26331cb60ce69400')
+ version("0.48.0", sha256="1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0")
+ version("0.46.2", sha256="c447ca8ddc40fcbd7d877d7c868bc8b72807aa8823a8a8d659e19bdd515baaf2")
+ version("0.43.1", sha256="7baef1b3b67bcf81dc7c604db2ef30f5520b48d532bf28ec26331cb60ce69400")
# HDF5 support is optional beginning with version 0.46.2.
- variant('hdf5',
- when='@0.46.2:',
- default=False,
- description='Build with HDF5 support')
+ variant("hdf5", when="@0.46.2:", default=False, description="Build with HDF5 support")
- depends_on('zlib')
- depends_on('hdf5', when='@:0.43')
- depends_on('hdf5', when='+hdf5')
+ depends_on("zlib")
+ depends_on("hdf5", when="@:0.43")
+ depends_on("hdf5", when="+hdf5")
# htslib isn't built in time to be used....
parallel = False
# v0.44.0 vendored a copy of htslib and uses auto* to build
# its configure script.
- depends_on('autoconf', type='build', when='@0.44.0:')
- depends_on('automake', type='build', when='@0.44.0:')
- depends_on('libtool', type='build', when='@0.44.0:')
- depends_on('m4', type='build', when='@0.44.0:')
+ depends_on("autoconf", type="build", when="@0.44.0:")
+ depends_on("automake", type="build", when="@0.44.0:")
+ depends_on("libtool", type="build", when="@0.44.0:")
+ depends_on("m4", type="build", when="@0.44.0:")
- patch('link_zlib.patch', when='@:0.43')
- patch('limits.patch', when='@:0.46')
- patch('htslib_configure.patch', when='@0.44.0:^autoconf@2.70:')
+ patch("link_zlib.patch", when="@:0.43")
+ patch("limits.patch", when="@:0.46")
+ patch("htslib_configure.patch", when="@0.44.0:^autoconf@2.70:")
- @run_before('cmake')
+ @run_before("cmake")
def autoreconf(self):
# Versions of autoconf greater than 2.69 need config.guess and
# config.sub in the tree.
- if self.spec.satisfies('@0.44.0:^autoconf@2.70:'):
- with working_dir(join_path(self.stage.source_path, 'ext', 'htslib')):
- autoreconf = which('autoreconf')
- autoreconf('--install')
+ if self.spec.satisfies("@0.44.0:^autoconf@2.70:"):
+ with working_dir(join_path(self.stage.source_path, "ext", "htslib")):
+ autoreconf = which("autoreconf")
+ autoreconf("--install")
# Including '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON' in the cmake args
# causes bits of cmake's output to end up in the autoconf-generated
@@ -61,10 +58,10 @@ class Kallisto(CMakePackage):
setting.
"""
a = super(Kallisto, self).std_cmake_args
- if self.spec.satisfies('@0.44.0:'):
- args = [i for i in a if i != '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON']
- if self.spec.satisfies('@0.46.2:'):
- args.append(self.define_from_variant('USE_HDF5', 'hdf5'))
+ if self.spec.satisfies("@0.44.0:"):
+ args = [i for i in a if i != "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"]
+ if self.spec.satisfies("@0.46.2:"):
+ args.append(self.define_from_variant("USE_HDF5", "hdf5"))
else:
args = a
diff --git a/var/spack/repos/builtin/packages/karma/package.py b/var/spack/repos/builtin/packages/karma/package.py
index 71392322d8..478d88982b 100644
--- a/var/spack/repos/builtin/packages/karma/package.py
+++ b/var/spack/repos/builtin/packages/karma/package.py
@@ -11,23 +11,25 @@ class Karma(Package):
encryption, graphics display, user interface and manipulating the Karma
network data structure. It contains KarmaLib (the structured libraries
and API) and a large number of modules (applications)
- to perform many standard tasks. """
+ to perform many standard tasks."""
homepage = "https://www.atnf.csiro.au/computing/software/karma/"
- url = "ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-common.tar.bz2"
+ url = "ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-common.tar.bz2"
- version('1.7.25-common', sha256='afda682d79c0923df5a6c447a32b09294da1582933abae3205c008104da54fbd')
+ version(
+ "1.7.25-common", sha256="afda682d79c0923df5a6c447a32b09294da1582933abae3205c008104da54fbd"
+ )
- depends_on('libx11', type=('build', 'run'))
- depends_on('libxaw', type=('build', 'run'))
+ depends_on("libx11", type=("build", "run"))
+ depends_on("libxaw", type=("build", "run"))
resource(
- name='karma-linux',
- url='ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-amd64_Linux_libc6.3.tar.bz2',
- sha256='effc3ed61c28b966b357147d90357d03c22d743c6af6edb49a863c6eb625a441',
- destination='./'
+ name="karma-linux",
+ url="ftp://ftp.atnf.csiro.au/pub/software/karma/karma-1.7.25-amd64_Linux_libc6.3.tar.bz2",
+ sha256="effc3ed61c28b966b357147d90357d03c22d743c6af6edb49a863c6eb625a441",
+ destination="./",
)
def install(self, spec, prefix):
- install_tree('./karma-1.7.25/amd64_Linux_libc6.3/bin', prefix.bin)
- install_tree('./karma-1.7.25/amd64_Linux_libc6.3/lib', prefix.lib)
+ install_tree("./karma-1.7.25/amd64_Linux_libc6.3/bin", prefix.bin)
+ install_tree("./karma-1.7.25/amd64_Linux_libc6.3/lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/kassiopeia/package.py b/var/spack/repos/builtin/packages/kassiopeia/package.py
index 1c761753c7..9ac075f2b0 100644
--- a/var/spack/repos/builtin/packages/kassiopeia/package.py
+++ b/var/spack/repos/builtin/packages/kassiopeia/package.py
@@ -10,68 +10,59 @@ class Kassiopeia(CMakePackage):
"""Simulation of electric and magnetic fields and particle tracking."""
homepage = "https://katrin-experiment.github.io/Kassiopeia/"
- url = "https://github.com/KATRIN-Experiment/Kassiopeia/archive/v3.6.1.tar.gz"
- git = "https://github.com/KATRIN-Experiment/Kassiopeia.git"
+ url = "https://github.com/KATRIN-Experiment/Kassiopeia/archive/v3.6.1.tar.gz"
+ git = "https://github.com/KATRIN-Experiment/Kassiopeia.git"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
version("main", branch="main")
- version('3.8.0', sha256='ae44c2d485fadaa6f562388064a211ae51b7d06bab7add2723ab0c8b21eb7e8f')
- version('3.7.7', sha256='b5f62b2e796fac57698794b46b63acbc47ce02010bd1f716996918a550b22a21')
- version('3.7.6', sha256='fa20cf0f29ee2312bf96b07661d7b5c9303782d907671acd01032cc1f13edd55')
- version('3.7.5', sha256='8f28d08c7ef51e64221e0a4705f3cee3a5d738b8cdde5ce9fa58a3a0dd14ae05')
- version('3.7.4', sha256='c1514163a084530930be10dbe487fb1950ccbc9662a4a190bdecffbd84a71fd4')
- version('3.7.3', sha256='a8753585b9fa0903e1f5f821c4ced3cddd72792ad7e6075a7e25318f81ad9eaa')
- version('3.7.2', sha256='bdfdf8c26fa5ad19e8b9c6eb600dfbd3c8218cd695ce067f10633b63bd192f92')
- version('3.7.1', sha256='b22ae2fe5c2271bdf6aaf65d9ecf57ff0d6a88d28ad26d176e1129f0e58faea4')
- version('3.7.0', sha256='32a3e98c77d1b97fe9862cf1d8c6ba8e6c82fb9295a6a217c7ce77cbec751046')
- version('3.6.1', sha256='30193d5384ad81b8570fdcd1bb35b15cc365ab84712819ac0d989c6f5cf6f790')
- version('3.5.0', sha256='b704d77bd182b2806dc8323f642d3197ce21dba3d456430f594b19a7596bda22')
- version('3.4.0', sha256='4e2bca61011e670186d49048aea080a06c3c95dacf4b79e7549c36960b4557f4')
+ version("3.8.0", sha256="ae44c2d485fadaa6f562388064a211ae51b7d06bab7add2723ab0c8b21eb7e8f")
+ version("3.7.7", sha256="b5f62b2e796fac57698794b46b63acbc47ce02010bd1f716996918a550b22a21")
+ version("3.7.6", sha256="fa20cf0f29ee2312bf96b07661d7b5c9303782d907671acd01032cc1f13edd55")
+ version("3.7.5", sha256="8f28d08c7ef51e64221e0a4705f3cee3a5d738b8cdde5ce9fa58a3a0dd14ae05")
+ version("3.7.4", sha256="c1514163a084530930be10dbe487fb1950ccbc9662a4a190bdecffbd84a71fd4")
+ version("3.7.3", sha256="a8753585b9fa0903e1f5f821c4ced3cddd72792ad7e6075a7e25318f81ad9eaa")
+ version("3.7.2", sha256="bdfdf8c26fa5ad19e8b9c6eb600dfbd3c8218cd695ce067f10633b63bd192f92")
+ version("3.7.1", sha256="b22ae2fe5c2271bdf6aaf65d9ecf57ff0d6a88d28ad26d176e1129f0e58faea4")
+ version("3.7.0", sha256="32a3e98c77d1b97fe9862cf1d8c6ba8e6c82fb9295a6a217c7ce77cbec751046")
+ version("3.6.1", sha256="30193d5384ad81b8570fdcd1bb35b15cc365ab84712819ac0d989c6f5cf6f790")
+ version("3.5.0", sha256="b704d77bd182b2806dc8323f642d3197ce21dba3d456430f594b19a7596bda22")
+ version("3.4.0", sha256="4e2bca61011e670186d49048aea080a06c3c95dacf4b79e7549c36960b4557f4")
- variant("root", default=False,
- description="Include support for writing ROOT files")
- variant("vtk", default=False,
- description="Include visualization support through VTK")
- variant("mpi", default=False,
- description="Include MPI support for field calculations")
- variant("tbb", default=False,
- description="Include Intel TBB support for field calculations")
- variant("opencl", default=False,
- description="Include OpenCL support for field calculations")
- variant("log4cxx", default=False,
- description="Use log4cxx for logging")
- variant("boost", default=False,
- description="Build Boost dependent modules")
+ variant("root", default=False, description="Include support for writing ROOT files")
+ variant("vtk", default=False, description="Include visualization support through VTK")
+ variant("mpi", default=False, description="Include MPI support for field calculations")
+ variant("tbb", default=False, description="Include Intel TBB support for field calculations")
+ variant("opencl", default=False, description="Include OpenCL support for field calculations")
+ variant("log4cxx", default=False, description="Use log4cxx for logging")
+ variant("boost", default=False, description="Build Boost dependent modules")
- depends_on('cmake@3.13:', type='build')
- depends_on('zlib')
- depends_on('root@6.0.0:', when='+root')
- depends_on('vtk@6.1:', when='+vtk')
- depends_on('mpi', when='+mpi')
- depends_on('tbb', when='+tbb')
- depends_on('opencl', when='+opencl')
- depends_on('log4cxx', when='+log4cxx')
- depends_on('boost', when='+boost')
+ depends_on("cmake@3.13:", type="build")
+ depends_on("zlib")
+ depends_on("root@6.0.0:", when="+root")
+ depends_on("vtk@6.1:", when="+vtk")
+ depends_on("mpi", when="+mpi")
+ depends_on("tbb", when="+tbb")
+ depends_on("opencl", when="+opencl")
+ depends_on("log4cxx", when="+log4cxx")
+ depends_on("boost", when="+boost")
- @when('@:3.8.0')
+ @when("@:3.8.0")
def patch(self):
- filter_file(
- 'LANGUAGES CXX',
- 'LANGUAGES CXX C',
- 'CMakeLists.txt')
+ filter_file("LANGUAGES CXX", "LANGUAGES CXX C", "CMakeLists.txt")
filter_file(
'#include "vtkXMLPolyDataWriter.h"',
'#include "vtkXMLPolyDataWriter.h"\n#include "vtkUnsignedCharArray.h"',
- 'KGeoBag/Source/Visualization/Vtk/Source/KGVTKGeometryPainter.cc')
+ "KGeoBag/Source/Visualization/Vtk/Source/KGVTKGeometryPainter.cc",
+ )
def cmake_args(self):
- if '+root' in self.spec:
- cxxstd = self.spec['root'].variants['cxxstd'].value
+ if "+root" in self.spec:
+ cxxstd = self.spec["root"].variants["cxxstd"].value
else:
- cxxstd = '14'
+ cxxstd = "14"
args = [
self.define_from_variant("KASPER_USE_BOOST", "boost"),
self.define_from_variant("KASPER_USE_VTK", "vtk"),
@@ -79,6 +70,6 @@ class Kassiopeia(CMakePackage):
self.define_from_variant("KEMField_USE_MPI", "mpi"),
self.define_from_variant("KEMField_USE_OPENCL", "opencl"),
self.define_from_variant("Kommon_USE_Log4CXX", "log4cxx"),
- self.define("CMAKE_CXX_STANDARD", cxxstd)
+ self.define("CMAKE_CXX_STANDARD", cxxstd),
]
return args
diff --git a/var/spack/repos/builtin/packages/kbd/package.py b/var/spack/repos/builtin/packages/kbd/package.py
index a668c5131c..34b2333845 100644
--- a/var/spack/repos/builtin/packages/kbd/package.py
+++ b/var/spack/repos/builtin/packages/kbd/package.py
@@ -12,14 +12,14 @@ class Kbd(AutotoolsPackage):
what they do is loading console fonts and keyboard maps."""
homepage = "https://kbd-project.org/"
- url = "https://github.com/legionus/kbd/archive/v2.3.0.tar.gz"
+ url = "https://github.com/legionus/kbd/archive/v2.3.0.tar.gz"
- version('2.3.0', sha256='28f05450cfde08259341b9641d222027844c075f77a2bac6ce143b3f33a6eb4e')
- version('2.2.90', sha256='a310a915f474c85ee28cd860677a34a529aca940daa44634a428dd6df58c196e')
- version('2.2.0', sha256='5dec023c7a05b4d11d8ae795f59fab2b0bacfcc5c20a3d534dc7566cfe47ccf7')
+ version("2.3.0", sha256="28f05450cfde08259341b9641d222027844c075f77a2bac6ce143b3f33a6eb4e")
+ version("2.2.90", sha256="a310a915f474c85ee28cd860677a34a529aca940daa44634a428dd6df58c196e")
+ version("2.2.0", sha256="5dec023c7a05b4d11d8ae795f59fab2b0bacfcc5c20a3d534dc7566cfe47ccf7")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libpam')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libpam")
diff --git a/var/spack/repos/builtin/packages/kbproto/package.py b/var/spack/repos/builtin/packages/kbproto/package.py
index 9da7d772c1..b8362dd7a8 100644
--- a/var/spack/repos/builtin/packages/kbproto/package.py
+++ b/var/spack/repos/builtin/packages/kbproto/package.py
@@ -15,7 +15,7 @@ class Kbproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/kbproto"
xorg_mirror_path = "proto/kbproto-1.0.7.tar.gz"
- version('1.0.7', sha256='828cb275b91268b1a3ea950d5c0c5eb076c678fdf005d517411f89cc8c3bb416')
+ version("1.0.7", sha256="828cb275b91268b1a3ea950d5c0c5eb076c678fdf005d517411f89cc8c3bb416")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/kcov/package.py b/var/spack/repos/builtin/packages/kcov/package.py
index 9e21767a9c..9fd1cbc2c4 100644
--- a/var/spack/repos/builtin/packages/kcov/package.py
+++ b/var/spack/repos/builtin/packages/kcov/package.py
@@ -12,24 +12,24 @@ class Kcov(CMakePackage):
compilation options"""
homepage = "https://simonkagstrom.github.io/kcov/index.html"
- url = "https://github.com/SimonKagstrom/kcov/archive/38.tar.gz"
+ url = "https://github.com/SimonKagstrom/kcov/archive/38.tar.gz"
- version('38', sha256='b37af60d81a9b1e3b140f9473bdcb7975af12040feb24cc666f9bb2bb0be68b4')
+ version("38", sha256="b37af60d81a9b1e3b140f9473bdcb7975af12040feb24cc666f9bb2bb0be68b4")
- depends_on('cmake@2.8.4:', type='build')
- depends_on('zlib')
- depends_on('curl')
- depends_on('elfutils', when='platform=linux')
- depends_on('binutils +libiberty', when='platform=linux', type='link')
+ depends_on("cmake@2.8.4:", type="build")
+ depends_on("zlib")
+ depends_on("curl")
+ depends_on("elfutils", when="platform=linux")
+ depends_on("binutils +libiberty", when="platform=linux", type="link")
def cmake_args(self):
# Necessary at least on macOS, fixes linking error to LLDB
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/kcov.rb
- return ['-DSPECIFY_RPATH=ON']
+ return ["-DSPECIFY_RPATH=ON"]
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
# The help message exits with an exit code of 1
kcov = Executable(self.prefix.bin.kcov)
- kcov('-h', ignore_errors=1)
+ kcov("-h", ignore_errors=1)
diff --git a/var/spack/repos/builtin/packages/kdiff3/package.py b/var/spack/repos/builtin/packages/kdiff3/package.py
index 9991008fc2..1ca76c1621 100644
--- a/var/spack/repos/builtin/packages/kdiff3/package.py
+++ b/var/spack/repos/builtin/packages/kdiff3/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Kdiff3(Package):
"""Compare and merge 2 or 3 files or directories."""
+
homepage = "http://kdiff3.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/kdiff3/kdiff3/0.9.98/kdiff3-0.9.98.tar.gz"
+ url = "https://downloads.sourceforge.net/project/kdiff3/kdiff3/0.9.98/kdiff3-0.9.98.tar.gz"
- version('0.9.98', sha256='802c1ababa02b403a5dca15955c01592997116a24909745016931537210fd668')
+ version("0.9.98", sha256="802c1ababa02b403a5dca15955c01592997116a24909745016931537210fd668")
depends_on("qt@:4,5.2.0:")
def install(self, spec, prefix):
# make is done inside
- configure('qt4')
+ configure("qt4")
# there is no make install, bummer...
mkdirp(self.prefix.bin)
- install(join_path(self.stage.source_path, 'releaseQt', 'kdiff3'),
- self.prefix.bin)
+ install(join_path(self.stage.source_path, "releaseQt", "kdiff3"), self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kea/package.py b/var/spack/repos/builtin/packages/kea/package.py
index 9df910aba3..fec0c1be55 100644
--- a/var/spack/repos/builtin/packages/kea/package.py
+++ b/var/spack/repos/builtin/packages/kea/package.py
@@ -11,15 +11,15 @@ class Kea(AutotoolsPackage):
"""Modern, open source DHCPv4 & DHCPv6 server."""
homepage = "https://www.isc.org/kea/"
- url = "https://downloads.isc.org/isc/kea/1.6.2/kea-1.6.2.tar.gz"
+ url = "https://downloads.isc.org/isc/kea/1.6.2/kea-1.6.2.tar.gz"
- version('1.6.2', sha256='2af7336027143c3e98d8d1d44165b2c2cbb0252a92bd88f6dd4d2c6adb69d7b5')
+ version("1.6.2", sha256="2af7336027143c3e98d8d1d44165b2c2cbb0252a92bd88f6dd4d2c6adb69d7b5")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('log4cplus')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("log4cplus")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
diff --git a/var/spack/repos/builtin/packages/kealib/package.py b/var/spack/repos/builtin/packages/kealib/package.py
index be73dc640b..8c28ada803 100644
--- a/var/spack/repos/builtin/packages/kealib/package.py
+++ b/var/spack/repos/builtin/packages/kealib/package.py
@@ -22,56 +22,52 @@ class Kealib(CMakePackage):
Development work on this project has been funded by Landcare Research.
"""
+
homepage = "http://www.kealib.org/"
- url = "https://github.com/ubarsc/kealib/releases/download/kealib-1.4.15/kealib-1.4.15.tar.gz"
- git = "https://github.com/ubarsc/kealib"
+ url = "https://github.com/ubarsc/kealib/releases/download/kealib-1.4.15/kealib-1.4.15.tar.gz"
+ git = "https://github.com/ubarsc/kealib"
- maintainers = ['gillins', 'neilflood', 'petebunting']
+ maintainers = ["gillins", "neilflood", "petebunting"]
- version('develop', git=git)
- version('1.4.15', sha256='40f2573c00f005f93c1fa88f1f13bfbd485cbc7a9b3f1c706931e69bff17dae4')
- version('1.4.12', sha256='0b100e36b3e25e57487aa197d7be47f22e1b30afb16a57fdaa5f877696ec321e')
- version('1.4.11', sha256='3d64cdec560c7a338ccb38e3a456db4e3b176ac62f945daa6e332e60fe4eca90')
- version('1.4.10', sha256='b1bd2d6834d2fe09ba456fce77f7a9452b406dbe302f7ef1aabe924e45e6bb5e')
- version('1.4.9', sha256='1c80489f17114a229097c2e8c61d5e4c82ea63ae631c81a817fef95cfd527174')
- version('1.4.8', sha256='0f24d8478865abcb17865c8f49c0370095726c529b8ac373ffae018ad3d40a02')
- version('1.4.7', sha256='ec38751b3b555d3a26f0c7445f2d2cd9d7c3a3502237519a206a50cb58df56ec')
+ version("develop", git=git)
+ version("1.4.15", sha256="40f2573c00f005f93c1fa88f1f13bfbd485cbc7a9b3f1c706931e69bff17dae4")
+ version("1.4.12", sha256="0b100e36b3e25e57487aa197d7be47f22e1b30afb16a57fdaa5f877696ec321e")
+ version("1.4.11", sha256="3d64cdec560c7a338ccb38e3a456db4e3b176ac62f945daa6e332e60fe4eca90")
+ version("1.4.10", sha256="b1bd2d6834d2fe09ba456fce77f7a9452b406dbe302f7ef1aabe924e45e6bb5e")
+ version("1.4.9", sha256="1c80489f17114a229097c2e8c61d5e4c82ea63ae631c81a817fef95cfd527174")
+ version("1.4.8", sha256="0f24d8478865abcb17865c8f49c0370095726c529b8ac373ffae018ad3d40a02")
+ version("1.4.7", sha256="ec38751b3b555d3a26f0c7445f2d2cd9d7c3a3502237519a206a50cb58df56ec")
- depends_on('cmake@2.8.10:', type='build')
- depends_on('hdf5+cxx+hl')
+ depends_on("cmake@2.8.10:", type="build")
+ depends_on("hdf5+cxx+hl")
- patch('cmake.patch', when='@1.4.7')
+ patch("cmake.patch", when="@1.4.7")
@property
def command(self):
- exe = 'kea-config'
- if self.spec.satisfies('platform=windows'):
- exe += '.bat'
+ exe = "kea-config"
+ if self.spec.satisfies("platform=windows"):
+ exe += ".bat"
return Executable(self.prefix.bin.join(exe))
@property
def root_cmakelists_dir(self):
- if self.version >= Version('1.4.9'):
- return '.'
+ if self.version >= Version("1.4.9"):
+ return "."
else:
- return 'trunk'
+ return "trunk"
def cmake_args(self):
spec = self.spec
- if self.version >= Version('1.4.9'):
- return [
- '-DHDF5_ROOT={0}'.format(spec['hdf5'].prefix)
- ]
+ if self.version >= Version("1.4.9"):
+ return ["-DHDF5_ROOT={0}".format(spec["hdf5"].prefix)]
else:
return [
- '-DHDF5_INCLUDE_DIR={0}'.format(
- spec['hdf5'].headers.directories[0]),
- '-DHDF5_LIB_PATH={0}'.format(
- spec['hdf5'].libs.directories[0])
+ "-DHDF5_INCLUDE_DIR={0}".format(spec["hdf5"].headers.directories[0]),
+ "-DHDF5_LIB_PATH={0}".format(spec["hdf5"].libs.directories[0]),
]
@property
def libs(self):
- return find_libraries('libkea', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libkea", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/keepalived/package.py b/var/spack/repos/builtin/packages/keepalived/package.py
index 2fbf0f706a..b21b931983 100644
--- a/var/spack/repos/builtin/packages/keepalived/package.py
+++ b/var/spack/repos/builtin/packages/keepalived/package.py
@@ -13,21 +13,20 @@ class Keepalived(AutotoolsPackage):
"""
homepage = "https://www.keepalived.org"
- url = "https://www.keepalived.org/software/keepalived-1.2.0.tar.gz"
+ url = "https://www.keepalived.org/software/keepalived-1.2.0.tar.gz"
- version('2.0.19', sha256='0e2f8454765bc6a5fa26758bd9cec18aae42882843cdd24848aff0ae65ce4ca7')
- version('2.0.18', sha256='1423a2b1b8e541211029b9e1e1452e683bbe5f4b0b287eddd609aaf5ff024fd0')
- version('2.0.17', sha256='8965ffa2ffe243014f9c0245daa65f00a9930cf746edf33525d28a86f97497b4')
- version('2.0.16', sha256='f0c7dc86147a286913c1c2c918f557735016285d25779d4d2fce5732fcb888df')
- version('2.0.15', sha256='933ee01bc6346aa573453b998f87510d3cce4aba4537c9642b24e6dbfba5c6f4')
- version('2.0.14', sha256='1bf586e56ee38b47b82f2a27b27e04d0e5b23f1810db6a8e801bde9d3eb8617b')
- version('2.0.13', sha256='c7fb38e8a322fb898fb9f6d5d566827a30aa5a4cd1774f474bb4041c85bcbc46')
- version('2.0.12', sha256='fd50e433d784cfd948de5726752cf89ab7001f587fe10a5110c6c7cbda4b7b5e')
- version('2.0.11', sha256='a298b0c02a20959cfc365b62c14f45abd50d5e0595b2869f5bce10ec2392fa48')
+ version("2.0.19", sha256="0e2f8454765bc6a5fa26758bd9cec18aae42882843cdd24848aff0ae65ce4ca7")
+ version("2.0.18", sha256="1423a2b1b8e541211029b9e1e1452e683bbe5f4b0b287eddd609aaf5ff024fd0")
+ version("2.0.17", sha256="8965ffa2ffe243014f9c0245daa65f00a9930cf746edf33525d28a86f97497b4")
+ version("2.0.16", sha256="f0c7dc86147a286913c1c2c918f557735016285d25779d4d2fce5732fcb888df")
+ version("2.0.15", sha256="933ee01bc6346aa573453b998f87510d3cce4aba4537c9642b24e6dbfba5c6f4")
+ version("2.0.14", sha256="1bf586e56ee38b47b82f2a27b27e04d0e5b23f1810db6a8e801bde9d3eb8617b")
+ version("2.0.13", sha256="c7fb38e8a322fb898fb9f6d5d566827a30aa5a4cd1774f474bb4041c85bcbc46")
+ version("2.0.12", sha256="fd50e433d784cfd948de5726752cf89ab7001f587fe10a5110c6c7cbda4b7b5e")
+ version("2.0.11", sha256="a298b0c02a20959cfc365b62c14f45abd50d5e0595b2869f5bce10ec2392fa48")
- depends_on('openssl')
+ depends_on("openssl")
def configure_args(self):
- args = ["--with-systemdsystemunitdir=" +
- self.spec['keepalived'].prefix.lib.systemd.system]
+ args = ["--with-systemdsystemunitdir=" + self.spec["keepalived"].prefix.lib.systemd.system]
return args
diff --git a/var/spack/repos/builtin/packages/keepassxc/package.py b/var/spack/repos/builtin/packages/keepassxc/package.py
index c94252d488..5e8ed2b176 100644
--- a/var/spack/repos/builtin/packages/keepassxc/package.py
+++ b/var/spack/repos/builtin/packages/keepassxc/package.py
@@ -10,73 +10,73 @@ class Keepassxc(CMakePackage):
"""KeePassXC - Cross-Platform Password Manager, modern, secure, and open-source."""
homepage = "https://keepassxc.org"
- url = "https://github.com/keepassxreboot/keepassxc/releases/download/2.6.4/keepassxc-2.6.4-src.tar.xz"
- git = "https://github.com/keepassxreboot/keepassxc.git"
+ url = "https://github.com/keepassxreboot/keepassxc/releases/download/2.6.4/keepassxc-2.6.4-src.tar.xz"
+ git = "https://github.com/keepassxreboot/keepassxc.git"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('master', branch='master')
- version('2.7.1', sha256='6001ba626c35c316dbda6de35736f012a2264f95139fcb4a094b8eb49b15d3e7')
- version('2.7.0', sha256='83be76890904cd6703343fa097d68bcfdd99bb525cf518fa62a7df9293026aa7')
- version('2.6.6', sha256='3603b11ac39b289c47fac77fa150e05fd64b393d8cfdf5732dc3ef106650a4e2')
- version('2.6.4', sha256='e536e2a71c90fcf264eb831fb1a8b518ee1b03829828f862eeea748d3310f82b')
+ version("master", branch="master")
+ version("2.7.1", sha256="6001ba626c35c316dbda6de35736f012a2264f95139fcb4a094b8eb49b15d3e7")
+ version("2.7.0", sha256="83be76890904cd6703343fa097d68bcfdd99bb525cf518fa62a7df9293026aa7")
+ version("2.6.6", sha256="3603b11ac39b289c47fac77fa150e05fd64b393d8cfdf5732dc3ef106650a4e2")
+ version("2.6.4", sha256="e536e2a71c90fcf264eb831fb1a8b518ee1b03829828f862eeea748d3310f82b")
- variant('build_type', default='Release',
- description='The build type for the installation (only Debug or'
- ' ( Documentation indicates Release).',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- variant('autotype', default=False,
- description='enable auto-type')
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type for the installation (only Debug or"
+ " ( Documentation indicates Release).",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant("autotype", default=False, description="enable auto-type")
# https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC
# https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux
- depends_on('cmake@3.1:', type='build')
+ depends_on("cmake@3.1:", type="build")
# It installs the last gcc instead of using one that is >= 4.7
- conflicts('%gcc@:4.7', when='%gcc',
- msg="Older than 4.7 GCC compilers are not supported")
- conflicts('%clang@:3.0', when='%clang',
- msg="Older than 3.0 clang compilers are not supported")
+ conflicts("%gcc@:4.7", when="%gcc", msg="Older than 4.7 GCC compilers are not supported")
+ conflicts("%clang@:3.0", when="%clang", msg="Older than 3.0 clang compilers are not supported")
# The following libraries are required:
- depends_on('qt+dbus~framework@5.2:')
- depends_on('libgcrypt@1.6:', type='link')
- depends_on('zlib', type='link')
- depends_on('libmicrohttpd', type='link')
- depends_on('libsodium@1.0.12:', type='link')
- depends_on('readline')
+ depends_on("qt+dbus~framework@5.2:")
+ depends_on("libgcrypt@1.6:", type="link")
+ depends_on("zlib", type="link")
+ depends_on("libmicrohttpd", type="link")
+ depends_on("libsodium@1.0.12:", type="link")
+ depends_on("readline")
# Modified argon2 on CentOS to have a standard library directory
- depends_on('argon2', type=('link', 'build'))
+ depends_on("argon2", type=("link", "build"))
# Had to add libqrencode
- depends_on('libqrencode', type=('link', 'build'))
+ depends_on("libqrencode", type=("link", "build"))
# Has anyone done gem i bundler and gem i asciidoctor ? https://asciidoctor.org/
- depends_on('ruby-asciidoctor@2.0:', type=('build'))
+ depends_on("ruby-asciidoctor@2.0:", type=("build"))
# sudo apt install libxi-dev libxtst-dev libqt5x11extras5-dev libyubikey-dev \
# libykpers-1-dev libquazip5-dev libreadline-dev
# These are required to build Auto-Type, Yubikey and browser integration support.
- depends_on('libxi', type='link', when='+autotype')
- depends_on('libxtst', type='link', when='+autotype')
- depends_on('botan@2:', when='@2.7.0:')
+ depends_on("libxi", type="link", when="+autotype")
+ depends_on("libxtst", type="link", when="+autotype")
+ depends_on("botan@2:", when="@2.7.0:")
def cmake_args(self):
spec = self.spec
args = [
- '-DKEEPASSXC_BUILD_TYPE=Release',
- '-DCMAKE_INSTALL_DATADIR=%s' % join_path(spec.prefix, 'share'),
+ "-DKEEPASSXC_BUILD_TYPE=Release",
+ "-DCMAKE_INSTALL_DATADIR=%s" % join_path(spec.prefix, "share"),
]
- if '+autotype' in spec:
- args.append('-DWITH_XC_ALL=ON')
+ if "+autotype" in spec:
+ args.append("-DWITH_XC_ALL=ON")
else:
- args.append('-DWITH_XC_ALL=OFF')
+ args.append("-DWITH_XC_ALL=OFF")
- if spec.satisfies('platform=darwin'):
- args.append('-DCMAKE_OSX_ARCHITECTURES=x86_64')
+ if spec.satisfies("platform=darwin"):
+ args.append("-DCMAKE_OSX_ARCHITECTURES=x86_64")
return args
- @when('platform=darwin')
+ @when("platform=darwin")
def make(self, spec, prefix):
- make('package')
+ make("package")
def edit(self, spec, prefix):
- env['DESTDIR'] = spec.prefix
+ env["DESTDIR"] = spec.prefix
diff --git a/var/spack/repos/builtin/packages/kentutils/package.py b/var/spack/repos/builtin/packages/kentutils/package.py
index 1fbf8e633a..4e2419e4e5 100644
--- a/var/spack/repos/builtin/packages/kentutils/package.py
+++ b/var/spack/repos/builtin/packages/kentutils/package.py
@@ -10,25 +10,25 @@ class Kentutils(MakefilePackage):
"""Jim Kent command line bioinformatic utilities"""
homepage = "https://github.com/ENCODE-DCC/kentUtils"
- git = "https://github.com/ENCODE-DCC/kentUtils.git"
+ git = "https://github.com/ENCODE-DCC/kentUtils.git"
- version('302.1', commit='d8376c5d52a161f2267346ed3dc94b5dce74c2f9')
+ version("302.1", commit="d8376c5d52a161f2267346ed3dc94b5dce74c2f9")
- depends_on('libpng')
- depends_on('openssl')
+ depends_on("libpng")
+ depends_on("openssl")
# Actually depends on mysql, but mariadb works for now until mysql is
# available
- depends_on('mariadb')
+ depends_on("mariadb")
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/keyutils/package.py b/var/spack/repos/builtin/packages/keyutils/package.py
index 4e7a8e4843..7d40d07ed1 100644
--- a/var/spack/repos/builtin/packages/keyutils/package.py
+++ b/var/spack/repos/builtin/packages/keyutils/package.py
@@ -12,16 +12,16 @@ class Keyutils(MakefilePackage):
into the Linux kernel."""
homepage = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/"
- url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-1.6.1.tar.gz"
+ url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-1.6.1.tar.gz"
- version('1.6.1', sha256='3c71dcfc6900d07b02f4e061d8fb218a4ae6519c1d283d6a57b8e27718e2f557')
- version('1.6', sha256='c6a27b4e3d0122d921f3dcea4b1f02a8616ca844535960d6af76ef67d015b5cf')
- version('1.5.10', sha256='e1fdbde234c786b65609a4cf080a2c5fbdb57f049249c139160c85fc3dfa7da9')
- version('1.5.9', sha256='2dc0bdb099ab8331e02e5dbbce320359bef76eda0a4ddbd2ba1d1b9d3a8cdff8')
+ version("1.6.1", sha256="3c71dcfc6900d07b02f4e061d8fb218a4ae6519c1d283d6a57b8e27718e2f557")
+ version("1.6", sha256="c6a27b4e3d0122d921f3dcea4b1f02a8616ca844535960d6af76ef67d015b5cf")
+ version("1.5.10", sha256="e1fdbde234c786b65609a4cf080a2c5fbdb57f049249c139160c85fc3dfa7da9")
+ version("1.5.9", sha256="2dc0bdb099ab8331e02e5dbbce320359bef76eda0a4ddbd2ba1d1b9d3a8cdff8")
- conflicts('platform=darwin', msg='Linux-only')
+ conflicts("platform=darwin", msg="Linux-only")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
mkdirp(prefix.include)
- install(join_path(prefix, '*.h'), prefix.include)
+ install(join_path(prefix, "*.h"), prefix.include)
diff --git a/var/spack/repos/builtin/packages/kibana/package.py b/var/spack/repos/builtin/packages/kibana/package.py
index 01640bdfff..8f4cfab4aa 100644
--- a/var/spack/repos/builtin/packages/kibana/package.py
+++ b/var/spack/repos/builtin/packages/kibana/package.py
@@ -11,11 +11,11 @@ class Kibana(Package):
Elastic Stack"""
homepage = "https://www.elastic.co/products/kibana"
- url = "https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz"
+ url = "https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz"
- version('6.4.0', sha256='df2056105a08c206a1adf9caed09a152a53429a0f1efc1ba3ccd616092d78aee')
+ version("6.4.0", sha256="df2056105a08c206a1adf9caed09a152a53429a0f1efc1ba3ccd616092d78aee")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install_tree('.', join_path(prefix, '.'))
+ install_tree(".", join_path(prefix, "."))
diff --git a/var/spack/repos/builtin/packages/kicad/package.py b/var/spack/repos/builtin/packages/kicad/package.py
index e2ecd7bf68..91a11cea06 100644
--- a/var/spack/repos/builtin/packages/kicad/package.py
+++ b/var/spack/repos/builtin/packages/kicad/package.py
@@ -12,63 +12,82 @@ class Kicad(CMakePackage):
Automation (EDA). The programs handle Schematic Capture, and PCB
Layout with Gerber output."""
- homepage = 'https://kicad.org'
- url = 'https://gitlab.com/kicad/code/kicad/-/archive/5.1.8/kicad-5.1.8.tar.gz'
- maintainers = ['aweits']
+ homepage = "https://kicad.org"
+ url = "https://gitlab.com/kicad/code/kicad/-/archive/5.1.8/kicad-5.1.8.tar.gz"
+ maintainers = ["aweits"]
- version('5.1.9', sha256='841be864b9dc5c761193c3ee9cbdbed6729952d7b38451aa8e1977bdfdb6081b')
- version('5.1.8', sha256='bf24f8ef427b4a989479b8e4af0b8ae5c54766755f12748e2e88a922c5344ca4')
+ version("5.1.9", sha256="841be864b9dc5c761193c3ee9cbdbed6729952d7b38451aa8e1977bdfdb6081b")
+ version("5.1.8", sha256="bf24f8ef427b4a989479b8e4af0b8ae5c54766755f12748e2e88a922c5344ca4")
- depends_on('wxwidgets')
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("wxwidgets")
+ depends_on("python@3:", type=("build", "run"))
# py-wxpython needs work
# depends_on('py-wxpython', type=('build', 'run'))
- depends_on('glew')
- depends_on('gl')
- depends_on('glm')
- depends_on('boost@1.56:')
+ depends_on("glew")
+ depends_on("gl")
+ depends_on("glm")
+ depends_on("boost@1.56:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('oce+X11')
- depends_on('swig', type='build')
- depends_on('curl')
- depends_on('pkgconfig')
- depends_on('git', type=('build', 'run'))
- depends_on('ngspice')
- depends_on('hicolor-icon-theme', type=('build', 'run'))
- depends_on('adwaita-icon-theme', type=('build', 'run'))
- depends_on('gsettings-desktop-schemas', type=('build', 'run'))
-
- extends('python')
+ depends_on("oce+X11")
+ depends_on("swig", type="build")
+ depends_on("curl")
+ depends_on("pkgconfig")
+ depends_on("git", type=("build", "run"))
+ depends_on("ngspice")
+ depends_on("hicolor-icon-theme", type=("build", "run"))
+ depends_on("adwaita-icon-theme", type=("build", "run"))
+ depends_on("gsettings-desktop-schemas", type=("build", "run"))
+
+ extends("python")
resource_list = [
# version, resource, sha256sum
- ('5.1.8', 'footprints', '8937b5ba0f67844ffaca40632bebe9c2f4f17fba446137434aa72363c55d7dd9'),
- ('5.1.8', 'packages3D', '81e64939e922742431284bb19d1ec274d6dc10fd238e5583ead21dc08876c221'),
- ('5.1.8', 'symbols', '98cedcca4d7ad6e3be96ec5a41f8f9b3414eae276bac1efdfd3f8871f0f8bc7e'),
- ('5.1.8', 'templates', 'd64ca82854e9780413447a3fa82a528b264d39f57d467fddfc78f919e7ed15c5'),
- ('5.1.9', 'footprints', 'a86fbe00fccd6da2d29687ec0c56a9c3cb6b9748ee8fd35c1625839168f28edc'),
- ('5.1.9', 'packages3D', '35a4888dabd2dedb0d49c3e84b0eebc97b306200510e818dad90d4bb1c9e3296'),
- ('5.1.9', 'symbols', '6741a7b01f14f1f5aae3155a554816516cf02ce7790074ba8462dee8091f8c2f'),
- ('5.1.9', 'templates', 'bacf93567f8efe87314762448bb69698c8ed387058c13868c051c91740014aac'),
+ (
+ "5.1.8",
+ "footprints",
+ "8937b5ba0f67844ffaca40632bebe9c2f4f17fba446137434aa72363c55d7dd9",
+ ),
+ (
+ "5.1.8",
+ "packages3D",
+ "81e64939e922742431284bb19d1ec274d6dc10fd238e5583ead21dc08876c221",
+ ),
+ ("5.1.8", "symbols", "98cedcca4d7ad6e3be96ec5a41f8f9b3414eae276bac1efdfd3f8871f0f8bc7e"),
+ ("5.1.8", "templates", "d64ca82854e9780413447a3fa82a528b264d39f57d467fddfc78f919e7ed15c5"),
+ (
+ "5.1.9",
+ "footprints",
+ "a86fbe00fccd6da2d29687ec0c56a9c3cb6b9748ee8fd35c1625839168f28edc",
+ ),
+ (
+ "5.1.9",
+ "packages3D",
+ "35a4888dabd2dedb0d49c3e84b0eebc97b306200510e818dad90d4bb1c9e3296",
+ ),
+ ("5.1.9", "symbols", "6741a7b01f14f1f5aae3155a554816516cf02ce7790074ba8462dee8091f8c2f"),
+ ("5.1.9", "templates", "bacf93567f8efe87314762448bb69698c8ed387058c13868c051c91740014aac"),
]
for ver, lib, checksum in resource_list:
- resource(when='@{0}'.format(ver),
- name=lib,
- url='https://gitlab.com/kicad/libraries/kicad-{0}/-/archive/{1}/kicad-{0}-{1}.tar.bz2'.format(lib, ver),
- sha256=checksum,
- destination='',
- )
+ resource(
+ when="@{0}".format(ver),
+ name=lib,
+ url="https://gitlab.com/kicad/libraries/kicad-{0}/-/archive/{1}/kicad-{0}-{1}.tar.bz2".format(
+ lib, ver
+ ),
+ sha256=checksum,
+ destination="",
+ )
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
@@ -78,15 +97,15 @@ class Kicad(CMakePackage):
def cmake_args(self):
args = []
- args.append('-DKICAD_SCRIPTING_PYTHON3=ON')
- args.append('-DKICAD_SCRIPTING_WXPYTHON=OFF')
+ args.append("-DKICAD_SCRIPTING_PYTHON3=ON")
+ args.append("-DKICAD_SCRIPTING_WXPYTHON=OFF")
return args
- @run_after('install')
+ @run_after("install")
def install_libraries(self):
for ver, lib, checksum in self.resource_list:
if self.spec.version == Version(ver):
- with working_dir('kicad-{0}-{1}'.format(lib, ver)):
+ with working_dir("kicad-{0}-{1}".format(lib, ver)):
args = std_cmake_args
cmake(*args)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/kim-api/package.py b/var/spack/repos/builtin/packages/kim-api/package.py
index e54fa237a6..cb529127f8 100644
--- a/var/spack/repos/builtin/packages/kim-api/package.py
+++ b/var/spack/repos/builtin/packages/kim-api/package.py
@@ -8,40 +8,42 @@ from spack.package import *
class KimApi(CMakePackage):
"""OpenKIM is an online framework for making molecular simulations
- reliable, reproducible, and portable. Computer implementations of
- inter-atomic models are archived in OpenKIM, verified for coding
- integrity, and tested by computing their predictions for a variety
- of material properties. Models conforming to the KIM application
- programming interface (API) work seamlessly with major simulation
- codes that have adopted the KIM API standard.
-
- This package provides the kim-api library and supporting
- utilities. It also provides a small set of example models.
-
- To obtain all models archived at https://openkim.org that are
- compatible with the kim-api package, install and activate the
- openkim-models package too.
+ reliable, reproducible, and portable. Computer implementations of
+ inter-atomic models are archived in OpenKIM, verified for coding
+ integrity, and tested by computing their predictions for a variety
+ of material properties. Models conforming to the KIM application
+ programming interface (API) work seamlessly with major simulation
+ codes that have adopted the KIM API standard.
+
+ This package provides the kim-api library and supporting
+ utilities. It also provides a small set of example models.
+
+ To obtain all models archived at https://openkim.org that are
+ compatible with the kim-api package, install and activate the
+ openkim-models package too.
"""
+
extendable = True
homepage = "https://openkim.org/"
- url = "https://s3.openkim.org/kim-api/kim-api-2.2.1.txz"
- git = "https://github.com/openkim/kim-api.git"
-
- maintainers = ['ellio167']
-
- version('develop', branch='devel')
- version('2.2.1', sha256="1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e")
- version('2.1.3', sha256="88a5416006c65a2940d82fad49de0885aead05bfa8b59f87d287db5516b9c467")
- version('2.1.2', sha256="16c7dd362cf95288b6288e1a76caf8baef652eb2cf8af500a5eb4767ba2fe80c")
- version('2.1.1', sha256="25c4e83c6caa83a1c4ad480b430f1926fb44813b64f548fdaedc45e310b5f6b9")
- version('2.1.0', sha256="d6b154b31b288ec0a5643db176950ed71f1ca83a146af210a1d5d01cce8ce958")
- version('2.0.2', sha256="26e7cf91066692f316b8ba1548ccb7152bf56aad75902bce2338cff53e74e63d")
+ url = "https://s3.openkim.org/kim-api/kim-api-2.2.1.txz"
+ git = "https://github.com/openkim/kim-api.git"
+
+ maintainers = ["ellio167"]
+
+ version("develop", branch="devel")
+ version("2.2.1", sha256="1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e")
+ version("2.1.3", sha256="88a5416006c65a2940d82fad49de0885aead05bfa8b59f87d287db5516b9c467")
+ version("2.1.2", sha256="16c7dd362cf95288b6288e1a76caf8baef652eb2cf8af500a5eb4767ba2fe80c")
+ version("2.1.1", sha256="25c4e83c6caa83a1c4ad480b430f1926fb44813b64f548fdaedc45e310b5f6b9")
+ version("2.1.0", sha256="d6b154b31b288ec0a5643db176950ed71f1ca83a146af210a1d5d01cce8ce958")
+ version("2.0.2", sha256="26e7cf91066692f316b8ba1548ccb7152bf56aad75902bce2338cff53e74e63d")
# The Fujitsu compiler requires the '--linkfortran'
# option to combine C++ and Fortran programs.
- patch('fujitsu_add_link_flags.patch', when='%fj')
+ patch("fujitsu_add_link_flags.patch", when="%fj")
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('-std=gnu', '',
- 'examples/simulators/simulator-model-example/CMakeLists.txt')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file(
+ "-std=gnu", "", "examples/simulators/simulator-model-example/CMakeLists.txt"
+ )
diff --git a/var/spack/repos/builtin/packages/kinesis/package.py b/var/spack/repos/builtin/packages/kinesis/package.py
index 368fd61778..3bd634f0bc 100644
--- a/var/spack/repos/builtin/packages/kinesis/package.py
+++ b/var/spack/repos/builtin/packages/kinesis/package.py
@@ -12,11 +12,11 @@ class Kinesis(MavenPackage):
developers to easily consume and process data from Amazon Kinesis."""
homepage = "https://aws.amazon.com/kinesis"
- url = "https://github.com/awslabs/amazon-kinesis-client/archive/v2.2.10.tar.gz"
+ url = "https://github.com/awslabs/amazon-kinesis-client/archive/v2.2.10.tar.gz"
- version('2.2.10', sha256='ab1fa33466d07c41d0bbf0d1c7d2380d6f5d2957dea040ca5fe911be83bfe9f9')
- version('2.2.9', sha256='8d743c2dae127ce7c08627e7944aad4ccf025b4d71aa5486b57469c32daf20e6')
- version('2.2.8', sha256='0753d6c84247fa58c09749ca7d258a11c658b64eb65286eff74a2115613183a8')
- version('2.2.7', sha256='1838ef2327920d1df6f41db1de55318d6935d16ddde90b6e65ec65d374993177')
+ version("2.2.10", sha256="ab1fa33466d07c41d0bbf0d1c7d2380d6f5d2957dea040ca5fe911be83bfe9f9")
+ version("2.2.9", sha256="8d743c2dae127ce7c08627e7944aad4ccf025b4d71aa5486b57469c32daf20e6")
+ version("2.2.8", sha256="0753d6c84247fa58c09749ca7d258a11c658b64eb65286eff74a2115613183a8")
+ version("2.2.7", sha256="1838ef2327920d1df6f41db1de55318d6935d16ddde90b6e65ec65d374993177")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/kineto/package.py b/var/spack/repos/builtin/packages/kineto/package.py
index 9de3453c0d..7c70fb985e 100644
--- a/var/spack/repos/builtin/packages/kineto/package.py
+++ b/var/spack/repos/builtin/packages/kineto/package.py
@@ -11,18 +11,24 @@ class Kineto(CMakePackage):
and hardware performance counters."""
homepage = "https://github.com/pytorch/kineto"
- git = "https://github.com/pytorch/kineto.git"
-
- version('master', branch='master', submodules=True)
- version('2021-05-12', commit='a631215ac294805d5360e0ecceceb34de6557ba8', submodules=True) # py-torch@1.9
- version('2021-03-16', commit='ce98f8b95b2ee5ffed257ca90090cd8adcf15b53', submodules=True) # py-torch@1.8.1
- version('2021-02-04', commit='258d9a471f8d3a50a0f52b85c3fe0902f65489df', submodules=True) # py-torch@1.8.0
-
- root_cmakelists_dir = 'libkineto'
-
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
- depends_on('cuda')
-
- generator = 'Ninja'
+ git = "https://github.com/pytorch/kineto.git"
+
+ version("master", branch="master", submodules=True)
+ version(
+ "2021-05-12", commit="a631215ac294805d5360e0ecceceb34de6557ba8", submodules=True
+ ) # py-torch@1.9
+ version(
+ "2021-03-16", commit="ce98f8b95b2ee5ffed257ca90090cd8adcf15b53", submodules=True
+ ) # py-torch@1.8.1
+ version(
+ "2021-02-04", commit="258d9a471f8d3a50a0f52b85c3fe0902f65489df", submodules=True
+ ) # py-torch@1.8.0
+
+ root_cmakelists_dir = "libkineto"
+
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
+ depends_on("cuda")
+
+ generator = "Ninja"
diff --git a/var/spack/repos/builtin/packages/kitty/package.py b/var/spack/repos/builtin/packages/kitty/package.py
index ceb33aa66c..a70e21ef7e 100644
--- a/var/spack/repos/builtin/packages/kitty/package.py
+++ b/var/spack/repos/builtin/packages/kitty/package.py
@@ -16,41 +16,40 @@ class Kitty(Package):
"""
homepage = "https://sw.kovidgoyal.net/kitty/index.html"
- url = "https://github.com/kovidgoyal/kitty/archive/v0.12.3.tar.gz"
- git = "https://github.com/kovidgoyal/kitty.git"
-
- version('0.12.3', sha256='8d8a1f9c48519e618ac53b614056cf4589edb02fd1d19aa26d5f478e7067887e')
- version('0.12.2', sha256='f1ffb3d10adb9532f9591fc0bbeca527dda50d6d2b6b3934f0799300fd4eefc2')
- version('0.12.1', sha256='a3bf33e3d014635c6951fe4e3f2a0681173a1f44a9fa7a8ed4b60d20de53534a')
- version('0.12.0', sha256='30db676c55cdee0bfe5ff9a30ba569941ba83376a4bb754c8894c1b59ad9ed19')
- version('0.11.3', sha256='f0e1f0972fcee141c05caac543ef017ee7c87ddddf5fde636c614a28e45021c3')
- version('0.11.2', sha256='20d5289732271c33fa4da52c841b8567a2a2b8f514675bb9a2ede9097adb3712')
- version('0.11.1', sha256='3bbc6b5465d424969b16c5ad7f2f67ffbfe33657fdcb443e1bcc11aa00726841')
- version('0.11.0', sha256='abba2b93795609810e4c9b5cefbbada57e370722cee8a00f94a78c0c96226432')
- version('0.10.1', sha256='ef22208497a76e2f88ebe56c176e4608f049b056252cf1bf122c9c1ec711cfa6')
- version('0.10.0', sha256='056563862c5759b740e95efff44b82c1a4efc370092f22f26aee0b774106bf4d')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('harfbuzz@1.5.0:')
- depends_on('libxkbcommon@0.5:')
- depends_on('zlib')
- depends_on('libpng')
- depends_on('gl', type=('build', 'link', 'run'))
- depends_on('pkgconfig', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', type='build')
- depends_on('freetype', when=sys.platform != 'darwin')
- depends_on('fontconfig', when=sys.platform != 'darwin')
- depends_on('xrandr', when=sys.platform != 'darwin')
- depends_on('libxinerama', when=sys.platform != 'darwin')
- depends_on('xineramaproto', when=sys.platform != 'darwin')
- depends_on('libxi', when=sys.platform != 'darwin')
- depends_on('libxcursor', when=sys.platform != 'darwin')
- depends_on('fixesproto', when=sys.platform != 'darwin')
- depends_on('dbus', when=sys.platform != 'darwin')
- depends_on('xkeyboard-config', when=sys.platform != 'darwin')
+ url = "https://github.com/kovidgoyal/kitty/archive/v0.12.3.tar.gz"
+ git = "https://github.com/kovidgoyal/kitty.git"
+
+ version("0.12.3", sha256="8d8a1f9c48519e618ac53b614056cf4589edb02fd1d19aa26d5f478e7067887e")
+ version("0.12.2", sha256="f1ffb3d10adb9532f9591fc0bbeca527dda50d6d2b6b3934f0799300fd4eefc2")
+ version("0.12.1", sha256="a3bf33e3d014635c6951fe4e3f2a0681173a1f44a9fa7a8ed4b60d20de53534a")
+ version("0.12.0", sha256="30db676c55cdee0bfe5ff9a30ba569941ba83376a4bb754c8894c1b59ad9ed19")
+ version("0.11.3", sha256="f0e1f0972fcee141c05caac543ef017ee7c87ddddf5fde636c614a28e45021c3")
+ version("0.11.2", sha256="20d5289732271c33fa4da52c841b8567a2a2b8f514675bb9a2ede9097adb3712")
+ version("0.11.1", sha256="3bbc6b5465d424969b16c5ad7f2f67ffbfe33657fdcb443e1bcc11aa00726841")
+ version("0.11.0", sha256="abba2b93795609810e4c9b5cefbbada57e370722cee8a00f94a78c0c96226432")
+ version("0.10.1", sha256="ef22208497a76e2f88ebe56c176e4608f049b056252cf1bf122c9c1ec711cfa6")
+ version("0.10.0", sha256="056563862c5759b740e95efff44b82c1a4efc370092f22f26aee0b774106bf4d")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("harfbuzz@1.5.0:")
+ depends_on("libxkbcommon@0.5:")
+ depends_on("zlib")
+ depends_on("libpng")
+ depends_on("gl", type=("build", "link", "run"))
+ depends_on("pkgconfig", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", type="build")
+ depends_on("freetype", when=sys.platform != "darwin")
+ depends_on("fontconfig", when=sys.platform != "darwin")
+ depends_on("xrandr", when=sys.platform != "darwin")
+ depends_on("libxinerama", when=sys.platform != "darwin")
+ depends_on("xineramaproto", when=sys.platform != "darwin")
+ depends_on("libxi", when=sys.platform != "darwin")
+ depends_on("libxcursor", when=sys.platform != "darwin")
+ depends_on("fixesproto", when=sys.platform != "darwin")
+ depends_on("dbus", when=sys.platform != "darwin")
+ depends_on("xkeyboard-config", when=sys.platform != "darwin")
def install(self, spec, prefix):
with working_dir(self.build_directory):
- self.python('-s', 'setup.py', 'linux-package',
- '--prefix={0}'.format(prefix))
+ self.python("-s", "setup.py", "linux-package", "--prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/kmergenie/package.py b/var/spack/repos/builtin/packages/kmergenie/package.py
index ac035dac4b..e206ce9fd4 100644
--- a/var/spack/repos/builtin/packages/kmergenie/package.py
+++ b/var/spack/repos/builtin/packages/kmergenie/package.py
@@ -7,18 +7,17 @@ from spack.package import *
class Kmergenie(MakefilePackage):
- """KmerGenie estimates the best k-mer length for genome de novo assembly.
- """
+ """KmerGenie estimates the best k-mer length for genome de novo assembly."""
homepage = "http://kmergenie.bx.psu.edu/"
- url = "http://kmergenie.bx.psu.edu/kmergenie-1.7044.tar.gz"
+ url = "http://kmergenie.bx.psu.edu/kmergenie-1.7044.tar.gz"
- version('1.7044', sha256='46f2a08a2d7b1885414143e436829dd7e61fcc31ec4e429433e516a168d2978e')
+ version("1.7044", sha256="46f2a08a2d7b1885414143e436829dd7e61fcc31ec4e429433e516a168d2978e")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('r', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("r", type=("build", "run"))
+ depends_on("zlib")
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kmod/package.py b/var/spack/repos/builtin/packages/kmod/package.py
index e7ac2473a5..c48015db55 100644
--- a/var/spack/repos/builtin/packages/kmod/package.py
+++ b/var/spack/repos/builtin/packages/kmod/package.py
@@ -12,27 +12,28 @@ class Kmod(AutotoolsPackage):
aliases."""
homepage = "https://github.com/lucasdemarchi/kmod"
- url = "https://github.com/lucasdemarchi/kmod/archive/v27.tar.gz"
+ url = "https://github.com/lucasdemarchi/kmod/archive/v27.tar.gz"
- version('27', sha256='969c4573b01f4c9e1d3e3c9d179bd16ec999bbb99dd55b7623f42551328478c3')
- version('26', sha256='f28bc40ead548dce4a8e956fccfc36fd80f2b40884d270b812f1bfbd886e858c')
- version('25', sha256='16a8bbd3ee321d0847847256ea2fd124f6250257c055c8cf97e78f18bf27559c')
- version('24', sha256='f7a5ee07d4901c87711880536604de7e31c182d85a72de7b8d7dd04d4ee0aa59')
- version('23', sha256='8f139543d82e8ccc2227dec4c016d6656e9789365a6dce73f90b620a53e62ee6')
+ version("27", sha256="969c4573b01f4c9e1d3e3c9d179bd16ec999bbb99dd55b7623f42551328478c3")
+ version("26", sha256="f28bc40ead548dce4a8e956fccfc36fd80f2b40884d270b812f1bfbd886e858c")
+ version("25", sha256="16a8bbd3ee321d0847847256ea2fd124f6250257c055c8cf97e78f18bf27559c")
+ version("24", sha256="f7a5ee07d4901c87711880536604de7e31c182d85a72de7b8d7dd04d4ee0aa59")
+ version("23", sha256="8f139543d82e8ccc2227dec4c016d6656e9789365a6dce73f90b620a53e62ee6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('lzma')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("lzma")
def autoreconf(self, spec, prefix):
bash = which("bash")
- bash('autogen.sh')
+ bash("autogen.sh")
def configure_args(self):
- args = ['--disable-manpages',
- '--with-bashcompletiondir=' +
- join_path(self.spec['kmod'].prefix, 'share',
- 'bash-completion', 'completions')]
+ args = [
+ "--disable-manpages",
+ "--with-bashcompletiondir="
+ + join_path(self.spec["kmod"].prefix, "share", "bash-completion", "completions"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/knem/package.py b/var/spack/repos/builtin/packages/knem/package.py
index a6bec70353..ad9c4ff26d 100644
--- a/var/spack/repos/builtin/packages/knem/package.py
+++ b/var/spack/repos/builtin/packages/knem/package.py
@@ -15,48 +15,56 @@ class Knem(AutotoolsPackage):
list_url = "https://knem.gitlabpages.inria.fr/download"
git = "https://gitlab.inria.fr/knem/knem.git"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('master', branch='master')
- version('1.1.4', sha256='9f0e360579ae7655e07d6644583fd325515e9ff2b42ef5decb5421a003510937',
- url="https://gitlab.inria.fr/knem/knem/uploads/4a43e3eb860cda2bbd5bf5c7c04a24b6/knem-1.1.4.tar.gz")
- version('1.1.3', sha256='50d3c4a20c140108b8ce47aaafd0ade0927d6f507e1b5cc690dd6bddeef30f60',
- url="https://gitlab.inria.fr/knem/knem/uploads/59375c38537e6ff2d94209f190c54aa6/knem-1.1.3.tar.gz")
+ version("master", branch="master")
+ version(
+ "1.1.4",
+ sha256="9f0e360579ae7655e07d6644583fd325515e9ff2b42ef5decb5421a003510937",
+ url="https://gitlab.inria.fr/knem/knem/uploads/4a43e3eb860cda2bbd5bf5c7c04a24b6/knem-1.1.4.tar.gz",
+ )
+ version(
+ "1.1.3",
+ sha256="50d3c4a20c140108b8ce47aaafd0ade0927d6f507e1b5cc690dd6bddeef30f60",
+ url="https://gitlab.inria.fr/knem/knem/uploads/59375c38537e6ff2d94209f190c54aa6/knem-1.1.3.tar.gz",
+ )
- variant('hwloc', default=True,
- description='Enable hwloc in the user-space tools')
+ variant("hwloc", default=True, description="Enable hwloc in the user-space tools")
- patch('https://gitlab.inria.fr/knem/knem/-/commit/5c8cb902d6040df58cdc4e4e4c10d1f1426c3525.patch',
- sha256='78885a02d6f031a793db6a7190549f8d64c8606b353051d65f8e3f802b801902',
- when='@1.1.4')
+ patch(
+ "https://gitlab.inria.fr/knem/knem/-/commit/5c8cb902d6040df58cdc4e4e4c10d1f1426c3525.patch",
+ sha256="78885a02d6f031a793db6a7190549f8d64c8606b353051d65f8e3f802b801902",
+ when="@1.1.4",
+ )
- depends_on('hwloc', when='+hwloc')
- depends_on('pkgconfig', type='build', when='+hwloc')
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('m4', type='build', when='@master')
+ depends_on("hwloc", when="+hwloc")
+ depends_on("pkgconfig", type="build", when="+hwloc")
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("m4", type="build", when="@master")
# The support for hwloc was added in 0.9.1:
- conflicts('+hwloc', when='@:0.9.0')
+ conflicts("+hwloc", when="@:0.9.0")
# Ideally, we should list all non-Linux-based platforms here:
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
# All compilers except for gcc are in conflict:
for __compiler in spack.compilers.supported_compilers():
- if __compiler != 'gcc':
- conflicts('%{0}'.format(__compiler),
- msg='Linux kernel module must be compiled with gcc')
+ if __compiler != "gcc":
+ conflicts(
+ "%{0}".format(__compiler), msg="Linux kernel module must be compiled with gcc"
+ )
- @run_before('build')
+ @run_before("build")
def override_kernel_compiler(self):
# Override the compiler for kernel module source files. We need
# this additional argument for all installation phases.
- make.add_default_arg('CC={0}'.format(spack_cc))
+ make.add_default_arg("CC={0}".format(spack_cc))
def configure_args(self):
- return self.enable_or_disable('hwloc')
+ return self.enable_or_disable("hwloc")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
diff --git a/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py b/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py
index 21663d71d4..882a684e90 100644
--- a/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-kernels-legacy/package.py
@@ -11,40 +11,52 @@ class KokkosKernelsLegacy(MakefilePackage):
Provides BLAS, Sparse BLAS and Graph Kernels."""
homepage = "https://github.com/kokkos/kokkos-kernels"
- url = "https://github.com/kokkos/kokkos-kernels/archive/2.7.00.tar.gz"
-
- version('2.7.00', sha256='adf4af44eadbdfbeb9ec69dd5fae4e2852bd1fbe4a69213efd199e49f4098254', deprecated=True)
- version('2.6.00', sha256='14ebf806f66b9ca73949a478b8d959be7fa1165a640935760a724d7cc0a66335', deprecated=True)
- version('2.5.00', sha256='2c2289da3a41dafd97726e90507debafbb9f5e49ca5b0f5c8d1e044a5796f000', deprecated=True)
+ url = "https://github.com/kokkos/kokkos-kernels/archive/2.7.00.tar.gz"
+
+ version(
+ "2.7.00",
+ sha256="adf4af44eadbdfbeb9ec69dd5fae4e2852bd1fbe4a69213efd199e49f4098254",
+ deprecated=True,
+ )
+ version(
+ "2.6.00",
+ sha256="14ebf806f66b9ca73949a478b8d959be7fa1165a640935760a724d7cc0a66335",
+ deprecated=True,
+ )
+ version(
+ "2.5.00",
+ sha256="2c2289da3a41dafd97726e90507debafbb9f5e49ca5b0f5c8d1e044a5796f000",
+ deprecated=True,
+ )
# make sure kokkos kernels version matches kokkos
- depends_on('kokkos-legacy@2.5.00', when='@2.5.00')
- depends_on('kokkos-legacy@2.6.00', when='@2.6.00')
- depends_on('kokkos-legacy@2.7.00', when='@2.7.00')
+ depends_on("kokkos-legacy@2.5.00", when="@2.5.00")
+ depends_on("kokkos-legacy@2.6.00", when="@2.6.00")
+ depends_on("kokkos-legacy@2.7.00", when="@2.7.00")
- patch('makefile.patch')
+ patch("makefile.patch")
def edit(self, spec, prefix):
makefile = FileFilter("src/Makefile")
- makefile.filter('CXX = .*', 'CXX = ' + env['CXX'])
+ makefile.filter("CXX = .*", "CXX = " + env["CXX"])
def build(self, spec, prefix):
- with working_dir('build', create=True):
- makefile_path = '%s%s' % (self.stage.source_path, '/src/Makefile')
- copy(makefile_path, 'Makefile')
+ with working_dir("build", create=True):
+ makefile_path = "%s%s" % (self.stage.source_path, "/src/Makefile")
+ copy(makefile_path, "Makefile")
make_args = [
- 'KOKKOSKERNELS_INSTALL_PATH=%s' % prefix,
- 'KOKKOSKERNELS_PATH=%s' % self.stage.source_path,
- 'KOKKOS_PATH=%s' % spec['kokkos'].prefix
+ "KOKKOSKERNELS_INSTALL_PATH=%s" % prefix,
+ "KOKKOSKERNELS_PATH=%s" % self.stage.source_path,
+ "KOKKOS_PATH=%s" % spec["kokkos"].prefix,
]
- make('build', *make_args)
+ make("build", *make_args)
def install(self, spec, prefix):
- with working_dir('build', create=False):
+ with working_dir("build", create=False):
make_args = [
- 'KOKKOSKERNELS_INSTALL_PATH=%s' % prefix,
- 'KOKKOSKERNELS_PATH=%s' % self.stage.source_path,
- 'KOKKOS_PATH=%s' % spec['kokkos'].prefix
+ "KOKKOSKERNELS_INSTALL_PATH=%s" % prefix,
+ "KOKKOSKERNELS_PATH=%s" % self.stage.source_path,
+ "KOKKOS_PATH=%s" % spec["kokkos"].prefix,
]
- make('install', *make_args)
+ make("install", *make_args)
diff --git a/var/spack/repos/builtin/packages/kokkos-kernels/package.py b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
index 4edc7599c0..58f57bb44e 100644
--- a/var/spack/repos/builtin/packages/kokkos-kernels/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
@@ -10,29 +10,29 @@ class KokkosKernels(CMakePackage, CudaPackage):
for small matrices, that can be used in larger Kokkos parallel routines"""
homepage = "https://github.com/kokkos/kokkos-kernels"
- git = "https://github.com/kokkos/kokkos-kernels.git"
- url = "https://github.com/kokkos/kokkos-kernels/archive/3.6.00.tar.gz"
+ git = "https://github.com/kokkos/kokkos-kernels.git"
+ url = "https://github.com/kokkos/kokkos-kernels/archive/3.6.00.tar.gz"
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- maintainers = ['lucbv', 'srajama1', 'brian-kelley']
+ maintainers = ["lucbv", "srajama1", "brian-kelley"]
# generate checksum for each release tarball with the following command
# openssl sha256 kokkos-kernels-x.y.z.tar.gz
- version('develop', branch='develop')
- version('master', branch='master')
- version('3.6.00', sha256="2753643fd643b9eed9f7d370e0ff5fa957211d08a91aa75398e31cbc9e5eb0a5")
- version('3.5.00', sha256="a03a41a047d95f9f07cd1e1d30692afdb75b5c705ef524e19c1d02fe60ccf8d1")
- version('3.4.01', sha256="f504aa4afbffb58fa7c4430d0fdb8fd5690a268823fa15eb0b7d58dab9d351e6")
- version('3.4.00', sha256="07ba11869e686cb0d47272d1ef494ccfbcdef3f93ff1c8b64ab9e136a53a227a")
- version('3.3.01', sha256="0f21fe6b5a8b6ae7738290e293aa990719aefe88b32f84617436bfd6074a8f77")
- version('3.3.00', sha256="8d7f78815301afb90ddba7914dce5b718cea792ac0c7350d2f8d00bd2ef1cece")
- version('3.2.01', sha256="c486e5cac19e354a517498c362838619435734d64b44f44ce909b0531c21d95c")
- version('3.2.00', sha256="8ac20ee28ae7813ce1bda461918800ad57fdbac2af86ef5d1ba74e83e10956de")
- version('3.1.00', sha256="27fea241ae92f41bd5b070b1a590ba3a56a06aca750207a98bea2f64a4a40c89")
- version('3.0.00', sha256="e4b832aed3f8e785de24298f312af71217a26067aea2de51531e8c1e597ef0e6")
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("3.6.00", sha256="2753643fd643b9eed9f7d370e0ff5fa957211d08a91aa75398e31cbc9e5eb0a5")
+ version("3.5.00", sha256="a03a41a047d95f9f07cd1e1d30692afdb75b5c705ef524e19c1d02fe60ccf8d1")
+ version("3.4.01", sha256="f504aa4afbffb58fa7c4430d0fdb8fd5690a268823fa15eb0b7d58dab9d351e6")
+ version("3.4.00", sha256="07ba11869e686cb0d47272d1ef494ccfbcdef3f93ff1c8b64ab9e136a53a227a")
+ version("3.3.01", sha256="0f21fe6b5a8b6ae7738290e293aa990719aefe88b32f84617436bfd6074a8f77")
+ version("3.3.00", sha256="8d7f78815301afb90ddba7914dce5b718cea792ac0c7350d2f8d00bd2ef1cece")
+ version("3.2.01", sha256="c486e5cac19e354a517498c362838619435734d64b44f44ce909b0531c21d95c")
+ version("3.2.00", sha256="8ac20ee28ae7813ce1bda461918800ad57fdbac2af86ef5d1ba74e83e10956de")
+ version("3.1.00", sha256="27fea241ae92f41bd5b070b1a590ba3a56a06aca750207a98bea2f64a4a40c89")
+ version("3.0.00", sha256="e4b832aed3f8e785de24298f312af71217a26067aea2de51531e8c1e597ef0e6")
depends_on("kokkos")
depends_on("kokkos@master", when="@master")
@@ -47,13 +47,13 @@ class KokkosKernels(CMakePackage, CudaPackage):
depends_on("kokkos@3.2.00", when="@3.2.00")
depends_on("kokkos@3.1.00", when="@3.1.00")
depends_on("kokkos@3.0.00", when="@3.0.00")
- depends_on("cmake@3.16:", type='build')
+ depends_on("cmake@3.16:", type="build")
backends = {
- 'serial': (False, "enable Serial backend (default)"),
- 'cuda': (False, "enable Cuda backend"),
- 'openmp': (False, "enable OpenMP backend"),
- 'pthread': (False, "enable Pthread backend"),
+ "serial": (False, "enable Serial backend (default)"),
+ "cuda": (False, "enable Cuda backend"),
+ "openmp": (False, "enable OpenMP backend"),
+ "pthread": (False, "enable Pthread backend"),
}
for backend in backends:
@@ -62,12 +62,12 @@ class KokkosKernels(CMakePackage, CudaPackage):
depends_on("kokkos+%s" % backend.lower(), when="+%s" % backend.lower())
space_etis = {
- "execspace_cuda": ('auto', "", "cuda"),
- "execspace_openmp": ('auto', "", "openmp"),
- "execspace_threads": ('auto', "", "pthread"),
- "execspace_serial": ('auto', "", "serial"),
- "memspace_cudauvmspace": ('auto', "", "cuda"),
- "memspace_cudaspace": ('auto', "", "cuda"),
+ "execspace_cuda": ("auto", "", "cuda"),
+ "execspace_openmp": ("auto", "", "openmp"),
+ "execspace_threads": ("auto", "", "pthread"),
+ "execspace_serial": ("auto", "", "serial"),
+ "memspace_cudauvmspace": ("auto", "", "cuda"),
+ "memspace_cudaspace": ("auto", "", "cuda"),
}
for eti in space_etis:
deflt, descr, backend_required = space_etis[eti]
@@ -75,14 +75,14 @@ class KokkosKernels(CMakePackage, CudaPackage):
depends_on("kokkos+%s" % backend_required, when="+%s" % eti)
numeric_etis = {
- "ordinals": ("int", "ORDINAL_", # default, cmake name
- ["int", "int64_t"]), # allowed values
- "offsets": ("int,size_t", "OFFSET_",
- ["int", "size_t"]),
- "layouts": ("left", "LAYOUT",
- ["left", "right"]),
- "scalars": ("double", "",
- ["float", "double", "complex_float", "complex_double"])
+ "ordinals": (
+ "int",
+ "ORDINAL_", # default, cmake name
+ ["int", "int64_t"],
+ ), # allowed values
+ "offsets": ("int,size_t", "OFFSET_", ["int", "size_t"]),
+ "layouts": ("left", "LAYOUT", ["left", "right"]),
+ "scalars": ("double", "", ["float", "double", "complex_float", "complex_double"]),
}
for eti in numeric_etis:
deflt, cmake_name, vals = numeric_etis[eti]
@@ -105,7 +105,7 @@ class KokkosKernels(CMakePackage, CudaPackage):
variant(tpl, default=deflt_bool, description=descr)
depends_on(spackname, when="+%s" % tpl)
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
def cmake_args(self):
spec = self.spec
@@ -116,8 +116,8 @@ class KokkosKernels(CMakePackage, CudaPackage):
options.append("-DSpack_WORKAROUND=On")
options.append("-DKokkos_ROOT=%s" % spec["kokkos"].prefix)
- if spec.satisfies('^kokkos+rocm'):
- options.append("-DCMAKE_CXX_COMPILER=%s" % spec['hip'].hipcc)
+ if spec.satisfies("^kokkos+rocm"):
+ options.append("-DCMAKE_CXX_COMPILER=%s" % spec["hip"].hipcc)
else:
# Compiler weirdness due to nvcc_wrapper
options.append("-DCMAKE_CXX_COMPILER=%s" % spec["kokkos"].kokkos_cxx)
@@ -130,23 +130,19 @@ class KokkosKernels(CMakePackage, CudaPackage):
off_flag = "~%s" % tpl
dflt, spackname, rootname, descr = self.tpls[tpl]
if on_flag in self.spec:
- options.append("-DKokkosKernels_ENABLE_TPL_%s=ON" %
- tpl.upper())
+ options.append("-DKokkosKernels_ENABLE_TPL_%s=ON" % tpl.upper())
if rootname:
- options.append("-D%s_ROOT=%s" %
- (rootname, spec[spackname].prefix))
+ options.append("-D%s_ROOT=%s" % (rootname, spec[spackname].prefix))
else:
pass # this should get picked up automatically, we hope
elif off_flag in self.spec:
- options.append(
- "-DKokkosKernels_ENABLE_TPL_%s=OFF" % tpl.upper())
+ options.append("-DKokkosKernels_ENABLE_TPL_%s=OFF" % tpl.upper())
for eti in self.numeric_etis:
deflt, cmake_name, vals = self.numeric_etis[eti]
for val in vals:
keyval = "%s=%s" % (eti, val)
- cmake_option = "KokkosKernels_INST_%s%s" % (
- cmake_name.upper(), val.upper())
+ cmake_option = "KokkosKernels_INST_%s%s" % (cmake_name.upper(), val.upper())
if keyval in spec:
options.append("-D%s=ON" % cmake_option)
else:
@@ -171,6 +167,6 @@ class KokkosKernels(CMakePackage, CudaPackage):
elif off_flag in self.spec:
options.append("-DKokkosKernels_INST_%s=OFF" % eti.upper())
- options.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
return options
diff --git a/var/spack/repos/builtin/packages/kokkos-legacy/package.py b/var/spack/repos/builtin/packages/kokkos-legacy/package.py
index 4921c66b73..7176cf11a5 100644
--- a/var/spack/repos/builtin/packages/kokkos-legacy/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-legacy/package.py
@@ -11,219 +11,325 @@ class KokkosLegacy(Package):
portable applications targeting all major HPC platforms."""
homepage = "https://github.com/kokkos/kokkos"
- url = "https://github.com/kokkos/kokkos/archive/2.03.00.tar.gz"
- git = "https://github.com/kokkos/kokkos.git"
-
- version('2.9.00', sha256='e0621197791ed3a381b4f02c78fa529f3cff3abb74d52157b4add17e8aa04bc4', deprecated=True)
- version('2.8.00', sha256='1c72661f2d770517bff98837001b42b9c677d1df29f7493a1d7c008549aff630', deprecated=True)
- version('2.7.24', sha256='a308a80ea1488f4c18884b828ce7ae9f5210b9a6b2f61b208d875084d8da8cb0', deprecated=True)
- version('2.7.00', sha256='01595996e612ef7410aa42fa265a23101cfe1b6993fa9810ca844db5c89ad765', deprecated=True)
- version('2.6.00', sha256='ab3c6b49cf0cfa2173eaf0c50acd2827fdc0ce260e9b46d5cb8be35261092486', deprecated=True)
- version('2.5.00', sha256='ea232594bf746abb99ae2aafaeef5d07adc089968010a62a88aaa892106d9476', deprecated=True)
- version('2.04.11', sha256='f2680aee0169f6cbbec38410f9c80bf8a160435f6a07769c1e9112da8b9349a0', deprecated=True)
- version('2.04.04', sha256='5bac8ddc2fac9bc6e01dd40f92ca6cbbb346a25deca5be2fec71acf712d0d0c7', deprecated=True)
- version('2.04.00', sha256='b04658d368986df207662a7a37c1ad974c321447bc2c2b5b696d7e9ee4481f34', deprecated=True)
- version('2.03.13', sha256='002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056', deprecated=True)
- version('2.03.05', sha256='b18ddaa1496130ff3f675ea9ddbc6df9cdf378d53edf96df89e70ff189e10e1d', deprecated=True)
- version('2.03.00', sha256='722bea558d8986efee765ac912febb3c1ce289a8e9bdfef77cd0145df0ea8a3d', deprecated=True)
- version('2.02.15', sha256='6b4a7f189f0341f378f950f3c798f520d2e473b13435b137ff3b666e799a076d', deprecated=True)
- version('2.02.07', sha256='7b4ac81021d6868f4eb8e2a1cb92ba76bad9c3f197403b8b1eac0f11c983247c', deprecated=True)
-
- variant('debug', default=False, description="Build debug version of Kokkos")
-
- variant('serial', default=True, description="enable Serial backend (default)")
- variant('pthreads', default=False, description="enable Pthreads backend")
- variant('qthreads', default=False, description="enable Qthreads backend")
- variant('cuda', default=False, description="enable Cuda backend")
- variant('openmp', default=False, description="enable OpenMP backend")
+ url = "https://github.com/kokkos/kokkos/archive/2.03.00.tar.gz"
+ git = "https://github.com/kokkos/kokkos.git"
+
+ version(
+ "2.9.00",
+ sha256="e0621197791ed3a381b4f02c78fa529f3cff3abb74d52157b4add17e8aa04bc4",
+ deprecated=True,
+ )
+ version(
+ "2.8.00",
+ sha256="1c72661f2d770517bff98837001b42b9c677d1df29f7493a1d7c008549aff630",
+ deprecated=True,
+ )
+ version(
+ "2.7.24",
+ sha256="a308a80ea1488f4c18884b828ce7ae9f5210b9a6b2f61b208d875084d8da8cb0",
+ deprecated=True,
+ )
+ version(
+ "2.7.00",
+ sha256="01595996e612ef7410aa42fa265a23101cfe1b6993fa9810ca844db5c89ad765",
+ deprecated=True,
+ )
+ version(
+ "2.6.00",
+ sha256="ab3c6b49cf0cfa2173eaf0c50acd2827fdc0ce260e9b46d5cb8be35261092486",
+ deprecated=True,
+ )
+ version(
+ "2.5.00",
+ sha256="ea232594bf746abb99ae2aafaeef5d07adc089968010a62a88aaa892106d9476",
+ deprecated=True,
+ )
+ version(
+ "2.04.11",
+ sha256="f2680aee0169f6cbbec38410f9c80bf8a160435f6a07769c1e9112da8b9349a0",
+ deprecated=True,
+ )
+ version(
+ "2.04.04",
+ sha256="5bac8ddc2fac9bc6e01dd40f92ca6cbbb346a25deca5be2fec71acf712d0d0c7",
+ deprecated=True,
+ )
+ version(
+ "2.04.00",
+ sha256="b04658d368986df207662a7a37c1ad974c321447bc2c2b5b696d7e9ee4481f34",
+ deprecated=True,
+ )
+ version(
+ "2.03.13",
+ sha256="002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056",
+ deprecated=True,
+ )
+ version(
+ "2.03.05",
+ sha256="b18ddaa1496130ff3f675ea9ddbc6df9cdf378d53edf96df89e70ff189e10e1d",
+ deprecated=True,
+ )
+ version(
+ "2.03.00",
+ sha256="722bea558d8986efee765ac912febb3c1ce289a8e9bdfef77cd0145df0ea8a3d",
+ deprecated=True,
+ )
+ version(
+ "2.02.15",
+ sha256="6b4a7f189f0341f378f950f3c798f520d2e473b13435b137ff3b666e799a076d",
+ deprecated=True,
+ )
+ version(
+ "2.02.07",
+ sha256="7b4ac81021d6868f4eb8e2a1cb92ba76bad9c3f197403b8b1eac0f11c983247c",
+ deprecated=True,
+ )
+
+ variant("debug", default=False, description="Build debug version of Kokkos")
+
+ variant("serial", default=True, description="enable Serial backend (default)")
+ variant("pthreads", default=False, description="enable Pthreads backend")
+ variant("qthreads", default=False, description="enable Qthreads backend")
+ variant("cuda", default=False, description="enable Cuda backend")
+ variant("openmp", default=False, description="enable OpenMP backend")
# Compilation options
- variant('pic', default=False,
- description="enable position independent code (-fPIC flag)")
+ variant("pic", default=False, description="enable position independent code (-fPIC flag)")
# Kokkos options
- variant('aggressive_vectorization', default=False,
- description="set aggressive_vectorization Kokkos option")
- variant('disable_profiling', default=False,
- description="set disable_profiling Kokkos option")
- variant('disable_dualview_modify_check', default=False,
- description="set disable_dualview_modify_check Kokkos option")
- variant('enable_profile_load_print', default=False,
- description="set enable_profile_load_print Kokkos option")
- variant('compiler_warnings', default=False,
- description="set compiler_warnings Kokkos option")
- variant('disable_deprecated_code', default=False,
- description="set disable_deprecated_code Kokkos option")
- variant('enable_eti', default=False,
- description="set enable_eti Kokkos option")
+ variant(
+ "aggressive_vectorization",
+ default=False,
+ description="set aggressive_vectorization Kokkos option",
+ )
+ variant("disable_profiling", default=False, description="set disable_profiling Kokkos option")
+ variant(
+ "disable_dualview_modify_check",
+ default=False,
+ description="set disable_dualview_modify_check Kokkos option",
+ )
+ variant(
+ "enable_profile_load_print",
+ default=False,
+ description="set enable_profile_load_print Kokkos option",
+ )
+ variant("compiler_warnings", default=False, description="set compiler_warnings Kokkos option")
+ variant(
+ "disable_deprecated_code",
+ default=False,
+ description="set disable_deprecated_code Kokkos option",
+ )
+ variant("enable_eti", default=False, description="set enable_eti Kokkos option")
# CUDA options
- variant('force_uvm', default=False,
- description="set force_uvm Kokkos CUDA option")
- variant('use_ldg', default=False,
- description="set use_ldg Kokkos CUDA option")
- variant('rdc', default=False,
- description="set rdc Kokkos CUDA option")
- variant('enable_lambda', default=False,
- description="set enable_lambda Kokkos CUDA option")
-
- host_values = ('AMDAVX', 'ARMv80', 'ARMv81', 'ARMv8-ThunderX',
- 'Power7', 'Power8', 'Power9',
- 'WSM', 'SNB', 'HSW', 'BDW', 'SKX',
- 'KNC', 'KNL')
-
- gpu_values = ('Kepler30', 'Kepler32', 'Kepler35', 'Kepler37',
- 'Maxwell50', 'Maxwell52', 'Maxwell53',
- 'Pascal60', 'Pascal61',
- 'Volta70', 'Volta72')
+ variant("force_uvm", default=False, description="set force_uvm Kokkos CUDA option")
+ variant("use_ldg", default=False, description="set use_ldg Kokkos CUDA option")
+ variant("rdc", default=False, description="set rdc Kokkos CUDA option")
+ variant("enable_lambda", default=False, description="set enable_lambda Kokkos CUDA option")
+
+ host_values = (
+ "AMDAVX",
+ "ARMv80",
+ "ARMv81",
+ "ARMv8-ThunderX",
+ "Power7",
+ "Power8",
+ "Power9",
+ "WSM",
+ "SNB",
+ "HSW",
+ "BDW",
+ "SKX",
+ "KNC",
+ "KNL",
+ )
+
+ gpu_values = (
+ "Kepler30",
+ "Kepler32",
+ "Kepler35",
+ "Kepler37",
+ "Maxwell50",
+ "Maxwell52",
+ "Maxwell53",
+ "Pascal60",
+ "Pascal61",
+ "Volta70",
+ "Volta72",
+ )
# C++ standard variant
- cxx_stds = ('none', 'c++11', 'c++14', 'c++17', 'c++1y', 'c++1z', 'c++2a')
- variant('cxxstd', default='none', values=cxx_stds, multi=False,
- description='set cxxstandard Kokkos option')
+ cxx_stds = ("none", "c++11", "c++14", "c++17", "c++1y", "c++1z", "c++2a")
+ variant(
+ "cxxstd",
+ default="none",
+ values=cxx_stds,
+ multi=False,
+ description="set cxxstandard Kokkos option",
+ )
# Host architecture variant
variant(
- 'host_arch',
- default='none',
- values=host_values + ('none',),
- description='Set the host architecture to use'
+ "host_arch",
+ default="none",
+ values=host_values + ("none",),
+ description="Set the host architecture to use",
)
# GPU architecture variant
variant(
- 'gpu_arch',
- default='none',
- values=gpu_values + ('none',),
- description='Set the GPU architecture to use'
+ "gpu_arch",
+ default="none",
+ values=gpu_values + ("none",),
+ description="Set the GPU architecture to use",
)
# Checks on Kokkos version and Kokkos options
- conflicts('+aggressive_vectorization', when='@:2.0',)
- conflicts('+disable_profiling', when='@:2.0',)
- conflicts('+disable_dualview_modify_check', when='@:2.03.04',)
- conflicts('+enable_profile_load_print', when='@:2.03.04',)
- conflicts('+compiler_warnings', when='@:2.03.14',)
- conflicts('+disable_deprecated_code', when='@:2.5',)
- conflicts('+enable_eti', when='@:2.6',)
+ conflicts(
+ "+aggressive_vectorization",
+ when="@:2.0",
+ )
+ conflicts(
+ "+disable_profiling",
+ when="@:2.0",
+ )
+ conflicts(
+ "+disable_dualview_modify_check",
+ when="@:2.03.04",
+ )
+ conflicts(
+ "+enable_profile_load_print",
+ when="@:2.03.04",
+ )
+ conflicts(
+ "+compiler_warnings",
+ when="@:2.03.14",
+ )
+ conflicts(
+ "+disable_deprecated_code",
+ when="@:2.5",
+ )
+ conflicts(
+ "+enable_eti",
+ when="@:2.6",
+ )
# Check that we haven't specified a gpu architecture
# without specifying CUDA
for p in gpu_values:
- conflicts('gpu_arch={0}'.format(p), when='~cuda',
- msg='Must specify CUDA backend to use a GPU architecture.')
+ conflicts(
+ "gpu_arch={0}".format(p),
+ when="~cuda",
+ msg="Must specify CUDA backend to use a GPU architecture.",
+ )
# Check that we haven't specified a Kokkos CUDA option
# without specifying CUDA
- conflicts('+force_uvm', when='~cuda',
- msg='Must enable CUDA to use force_uvm.')
- conflicts('+use_ldg', when='~cuda',
- msg='Must enable CUDA to use use_ldg.')
- conflicts('+rdc', when='~cuda',
- msg='Must enable CUDA to use rdc.')
- conflicts('+enable_lambda', when='~cuda',
- msg='Must enable CUDA to use enable_lambda.')
+ conflicts("+force_uvm", when="~cuda", msg="Must enable CUDA to use force_uvm.")
+ conflicts("+use_ldg", when="~cuda", msg="Must enable CUDA to use use_ldg.")
+ conflicts("+rdc", when="~cuda", msg="Must enable CUDA to use rdc.")
+ conflicts("+enable_lambda", when="~cuda", msg="Must enable CUDA to use enable_lambda.")
# Check that we haven't asked for a GPU architecture that
# the revision of kokkos does not support
- conflicts('gpu_arch=Volta70', when='@:2.5')
- conflicts('gpu_arch=Volta72', when='@:2.5')
+ conflicts("gpu_arch=Volta70", when="@:2.5")
+ conflicts("gpu_arch=Volta72", when="@:2.5")
# conflicts on kokkos version and cuda enabled
# see kokkos issue #1296
# https://github.com/kokkos/kokkos/issues/1296
- conflicts('+cuda', when='@2.5.00:2.7.00',
- msg='Kokkos build system has issue (#1296) when CUDA enabled'
- ' in version 2.5.00 through 2.7.00.')
+ conflicts(
+ "+cuda",
+ when="@2.5.00:2.7.00",
+ msg="Kokkos build system has issue (#1296) when CUDA enabled"
+ " in version 2.5.00 through 2.7.00.",
+ )
# Specify that v1.x is required as v2.x has API changes
- depends_on('hwloc@:1')
- depends_on('qthreads', when='+qthreads')
- depends_on('cuda', when='+cuda')
+ depends_on("hwloc@:1")
+ depends_on("qthreads", when="+qthreads")
+ depends_on("cuda", when="+cuda")
# generate_makefile.bash calls cmake
- depends_on('cmake@3.10:', type='build')
+ depends_on("cmake@3.10:", type="build")
def install(self, spec, prefix):
- generate = which(join_path(self.stage.source_path,
- 'generate_makefile.bash'))
- with working_dir('build', create=True):
+ generate = which(join_path(self.stage.source_path, "generate_makefile.bash"))
+ with working_dir("build", create=True):
g_args = [
- '--prefix=%s' % prefix,
- '--with-hwloc=%s' % spec['hwloc'].prefix,
+ "--prefix=%s" % prefix,
+ "--with-hwloc=%s" % spec["hwloc"].prefix,
]
arch_args = []
kokkos_options_args = []
cuda_options_args = []
# PIC
- if '+pic' in spec:
- g_args.append('--cxxflags=-fPIC')
+ if "+pic" in spec:
+ g_args.append("--cxxflags=-fPIC")
# C++ standard
- cxxstandard = spec.variants['cxxstd'].value
- if cxxstandard != 'none':
- g_args.append('--cxxstandard=%s' % cxxstandard)
+ cxxstandard = spec.variants["cxxstd"].value
+ if cxxstandard != "none":
+ g_args.append("--cxxstandard=%s" % cxxstandard)
# Build Debug
- if '+debug' in spec:
- g_args.append('--debug')
+ if "+debug" in spec:
+ g_args.append("--debug")
# Backends
- if '+serial' in spec:
- g_args.append('--with-serial')
- if '+openmp' in spec:
- g_args.append('--with-openmp')
- if '+pthreads' in spec:
- g_args.append('--with-pthread')
- if '+qthreads' in spec:
- g_args.append('--with-qthreads=%s' % spec['qthreads'].prefix)
- if '+cuda' in spec:
- g_args.append('--with-cuda=%s' % spec['cuda'].prefix)
+ if "+serial" in spec:
+ g_args.append("--with-serial")
+ if "+openmp" in spec:
+ g_args.append("--with-openmp")
+ if "+pthreads" in spec:
+ g_args.append("--with-pthread")
+ if "+qthreads" in spec:
+ g_args.append("--with-qthreads=%s" % spec["qthreads"].prefix)
+ if "+cuda" in spec:
+ g_args.append("--with-cuda=%s" % spec["cuda"].prefix)
# Host architectures
- host_arch = spec.variants['host_arch'].value
+ host_arch = spec.variants["host_arch"].value
# GPU architectures
- gpu_arch = spec.variants['gpu_arch'].value
- if host_arch != 'none':
+ gpu_arch = spec.variants["gpu_arch"].value
+ if host_arch != "none":
arch_args.append(host_arch)
- if gpu_arch != 'none':
+ if gpu_arch != "none":
arch_args.append(gpu_arch)
# Combined architecture flags
if arch_args:
- g_args.append('--arch={0}'.format(','.join(arch_args)))
+ g_args.append("--arch={0}".format(",".join(arch_args)))
# CUDA options
- if '+force_uvm' in spec:
- cuda_options_args.append('force_uvm')
- if '+use_ldg' in spec:
- cuda_options_args.append('use_ldg')
- if '+rdc' in spec:
- cuda_options_args.append('rdc')
- if '+enable_lambda' in spec:
- cuda_options_args.append('enable_lambda')
+ if "+force_uvm" in spec:
+ cuda_options_args.append("force_uvm")
+ if "+use_ldg" in spec:
+ cuda_options_args.append("use_ldg")
+ if "+rdc" in spec:
+ cuda_options_args.append("rdc")
+ if "+enable_lambda" in spec:
+ cuda_options_args.append("enable_lambda")
if cuda_options_args:
- g_args.append('--with-cuda-options={0}'
- .format(','.join(cuda_options_args)))
+ g_args.append("--with-cuda-options={0}".format(",".join(cuda_options_args)))
# Kokkos options
- if '+aggressive_vectorization' in spec:
- kokkos_options_args.append('aggressive_vectorization')
- if '+disable_profiling' in spec:
- kokkos_options_args.append('disable_profiling')
- if '+disable_dualview_modify_check' in spec:
- kokkos_options_args.append('disable_dualview_modify_check')
- if '+enable_profile_load_print' in spec:
- kokkos_options_args.append('enable_profile_load_print')
- if '+compiler_warnings' in spec:
- kokkos_options_args.append('compiler_warnings')
- if '+disable_deprecated_code' in spec:
- kokkos_options_args.append('disable_deprecated_code')
- if '+enable_eti' in spec:
- kokkos_options_args.append('enable_eti')
+ if "+aggressive_vectorization" in spec:
+ kokkos_options_args.append("aggressive_vectorization")
+ if "+disable_profiling" in spec:
+ kokkos_options_args.append("disable_profiling")
+ if "+disable_dualview_modify_check" in spec:
+ kokkos_options_args.append("disable_dualview_modify_check")
+ if "+enable_profile_load_print" in spec:
+ kokkos_options_args.append("enable_profile_load_print")
+ if "+compiler_warnings" in spec:
+ kokkos_options_args.append("compiler_warnings")
+ if "+disable_deprecated_code" in spec:
+ kokkos_options_args.append("disable_deprecated_code")
+ if "+enable_eti" in spec:
+ kokkos_options_args.append("enable_eti")
if kokkos_options_args:
- g_args.append('--with-options={0}'
- .format(','.join(kokkos_options_args)))
+ g_args.append("--with-options={0}".format(",".join(kokkos_options_args)))
generate(*g_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
index d415c302a0..4ea535bc39 100644
--- a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
@@ -9,7 +9,7 @@ from spack.package import *
class KokkosNvccWrapper(Package):
"""The NVCC wrapper provides a wrapper around NVCC to make it a
- 'full' C++ compiler that accepts all flags"""
+ 'full' C++ compiler that accepts all flags"""
# We no longer maintain this as a separate repo
# Download the Kokkos repo and install from there
@@ -17,18 +17,17 @@ class KokkosNvccWrapper(Package):
git = "https://github.com/kokkos/kokkos.git"
url = "https://github.com/kokkos/kokkos/archive/3.1.01.tar.gz"
- version('3.2.00', sha256='05e1b4dd1ef383ca56fe577913e1ff31614764e65de6d6f2a163b2bddb60b3e9')
- version('3.1.01', sha256='ff5024ebe8570887d00246e2793667e0d796b08c77a8227fe271127d36eec9dd')
- version('3.1.00', sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878")
- version('3.0.00', sha256="c00613d0194a4fbd0726719bbed8b0404ed06275f310189b3493f5739042a92b")
- version('master', branch='master')
- version('develop', branch='develop')
+ version("3.2.00", sha256="05e1b4dd1ef383ca56fe577913e1ff31614764e65de6d6f2a163b2bddb60b3e9")
+ version("3.1.01", sha256="ff5024ebe8570887d00246e2793667e0d796b08c77a8227fe271127d36eec9dd")
+ version("3.1.00", sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878")
+ version("3.0.00", sha256="c00613d0194a4fbd0726719bbed8b0404ed06275f310189b3493f5739042a92b")
+ version("master", branch="master")
+ version("develop", branch="develop")
- variant("mpi", default=True,
- description="use with MPI as the underlying compiler")
+ variant("mpi", default=True, description="use with MPI as the underlying compiler")
depends_on("cuda")
depends_on("mpi", when="+mpi")
- depends_on("cmake@3.10:", type='build')
+ depends_on("cmake@3.10:", type="build")
def install(self, spec, prefix):
src = os.path.join("bin", "nvcc_wrapper")
@@ -37,12 +36,12 @@ class KokkosNvccWrapper(Package):
def setup_dependent_build_environment(self, env, dependent_spec):
wrapper = join_path(self.prefix.bin, "nvcc_wrapper")
- env.set('CUDA_ROOT', dependent_spec["cuda"].prefix)
- env.set('NVCC_WRAPPER_DEFAULT_COMPILER', self.compiler.cxx)
- env.set('KOKKOS_CXX', self.compiler.cxx)
- env.set('MPICH_CXX', wrapper)
- env.set('OMPI_CXX', wrapper)
- env.set('MPICXX_CXX', wrapper) # HPE MPT
+ env.set("CUDA_ROOT", dependent_spec["cuda"].prefix)
+ env.set("NVCC_WRAPPER_DEFAULT_COMPILER", self.compiler.cxx)
+ env.set("KOKKOS_CXX", self.compiler.cxx)
+ env.set("MPICH_CXX", wrapper)
+ env.set("OMPI_CXX", wrapper)
+ env.set("MPICXX_CXX", wrapper) # HPE MPT
def setup_dependent_package(self, module, dependent_spec):
wrapper = join_path(self.prefix.bin, "nvcc_wrapper")
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py
index 64a98d9d6c..f05fb1845d 100644
--- a/var/spack/repos/builtin/packages/kokkos/package.py
+++ b/var/spack/repos/builtin/packages/kokkos/package.py
@@ -14,40 +14,40 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
portable applications targeting all major HPC platforms."""
homepage = "https://github.com/kokkos/kokkos"
- git = "https://github.com/kokkos/kokkos.git"
- url = "https://github.com/kokkos/kokkos/archive/3.6.00.tar.gz"
+ git = "https://github.com/kokkos/kokkos.git"
+ url = "https://github.com/kokkos/kokkos/archive/3.6.00.tar.gz"
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- maintainers = ['janciesko', 'crtrott']
-
- version('master', branch='master')
- version('develop', branch='develop')
- version('3.6.01', sha256='1b80a70c5d641da9fefbbb652e857d7c7a76a0ebad1f477c253853e209deb8db')
- version('3.6.00', sha256='53b11fffb53c5d48da5418893ac7bc814ca2fde9c86074bdfeaa967598c918f4')
- version('3.5.00', sha256='748f06aed63b1e77e3653cd2f896ef0d2c64cb2e2d896d9e5a57fec3ff0244ff')
- version('3.4.01', sha256='146d5e233228e75ef59ca497e8f5872d9b272cb93e8e9cdfe05ad34a23f483d1')
- version('3.4.00', sha256='2e4438f9e4767442d8a55e65d000cc9cde92277d415ab4913a96cd3ad901d317')
- version('3.3.01', sha256='4919b00bb7b6eb80f6c335a32f98ebe262229d82e72d3bae6dd91aaf3d234c37')
- version('3.3.00', sha256='170b9deaa1943185e928f8fcb812cd4593a07ed7d220607467e8f0419e147295')
- version('3.2.01', sha256='9e27a3d8f81559845e190d60f277d84d6f558412a3df3301d9545e91373bcaf1')
- version('3.2.00', sha256='05e1b4dd1ef383ca56fe577913e1ff31614764e65de6d6f2a163b2bddb60b3e9')
- version('3.1.01', sha256='ff5024ebe8570887d00246e2793667e0d796b08c77a8227fe271127d36eec9dd')
- version('3.1.00', sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878")
- version('3.0.00', sha256="c00613d0194a4fbd0726719bbed8b0404ed06275f310189b3493f5739042a92b")
-
- depends_on("cmake@3.16:", type='build')
+ maintainers = ["janciesko", "crtrott"]
+
+ version("master", branch="master")
+ version("develop", branch="develop")
+ version("3.6.01", sha256="1b80a70c5d641da9fefbbb652e857d7c7a76a0ebad1f477c253853e209deb8db")
+ version("3.6.00", sha256="53b11fffb53c5d48da5418893ac7bc814ca2fde9c86074bdfeaa967598c918f4")
+ version("3.5.00", sha256="748f06aed63b1e77e3653cd2f896ef0d2c64cb2e2d896d9e5a57fec3ff0244ff")
+ version("3.4.01", sha256="146d5e233228e75ef59ca497e8f5872d9b272cb93e8e9cdfe05ad34a23f483d1")
+ version("3.4.00", sha256="2e4438f9e4767442d8a55e65d000cc9cde92277d415ab4913a96cd3ad901d317")
+ version("3.3.01", sha256="4919b00bb7b6eb80f6c335a32f98ebe262229d82e72d3bae6dd91aaf3d234c37")
+ version("3.3.00", sha256="170b9deaa1943185e928f8fcb812cd4593a07ed7d220607467e8f0419e147295")
+ version("3.2.01", sha256="9e27a3d8f81559845e190d60f277d84d6f558412a3df3301d9545e91373bcaf1")
+ version("3.2.00", sha256="05e1b4dd1ef383ca56fe577913e1ff31614764e65de6d6f2a163b2bddb60b3e9")
+ version("3.1.01", sha256="ff5024ebe8570887d00246e2793667e0d796b08c77a8227fe271127d36eec9dd")
+ version("3.1.00", sha256="b935c9b780e7330bcb80809992caa2b66fd387e3a1c261c955d622dae857d878")
+ version("3.0.00", sha256="c00613d0194a4fbd0726719bbed8b0404ed06275f310189b3493f5739042a92b")
+
+ depends_on("cmake@3.16:", type="build")
devices_variants = {
- 'cuda': [False, 'Whether to build CUDA backend'],
- 'openmp': [False, 'Whether to build OpenMP backend'],
- 'pthread': [False, 'Whether to build Pthread backend'],
- 'serial': [True, 'Whether to build serial backend'],
- 'rocm': [False, 'Whether to build HIP backend'],
- 'sycl': [False, 'Whether to build the SYCL backend'],
- 'openmptarget': [False, 'Whether to build the OpenMPTarget backend']
+ "cuda": [False, "Whether to build CUDA backend"],
+ "openmp": [False, "Whether to build OpenMP backend"],
+ "pthread": [False, "Whether to build Pthread backend"],
+ "serial": [True, "Whether to build serial backend"],
+ "rocm": [False, "Whether to build HIP backend"],
+ "sycl": [False, "Whether to build the SYCL backend"],
+ "openmptarget": [False, "Whether to build the OpenMPTarget backend"],
}
conflicts("+rocm", when="@:3.0")
conflicts("+sycl", when="@:3.3")
@@ -57,46 +57,32 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
conflicts("@:3.5.00 +sycl", when="%dpcpp@2022.0.0")
tpls_variants = {
- 'hpx': [False, 'Whether to enable the HPX library'],
- 'hwloc': [False, 'Whether to enable the HWLOC library'],
- 'numactl': [False, 'Whether to enable the LIBNUMA library'],
- 'memkind': [False, 'Whether to enable the MEMKIND library'],
+ "hpx": [False, "Whether to enable the HPX library"],
+ "hwloc": [False, "Whether to enable the HWLOC library"],
+ "numactl": [False, "Whether to enable the LIBNUMA library"],
+ "memkind": [False, "Whether to enable the MEMKIND library"],
}
options_variants = {
- 'aggressive_vectorization': [False,
- 'Aggressively vectorize loops'],
- 'compiler_warnings': [False,
- 'Print all compiler warnings'],
- 'cuda_constexpr': [False,
- 'Activate experimental constexpr features'],
- 'cuda_lambda': [False,
- 'Activate experimental lambda features'],
- 'cuda_ldg_intrinsic': [False,
- 'Use CUDA LDG intrinsics'],
- 'cuda_relocatable_device_code': [False,
- 'Enable RDC for CUDA'],
- 'cuda_uvm': [False,
- 'Enable unified virtual memory (UVM) for CUDA'],
- 'debug': [False,
- 'Activate extra debug features - may increase compiletimes'],
- 'debug_bounds_check': [False,
- 'Use bounds checking - will increase runtime'],
- 'debug_dualview_modify_check': [False, 'Debug check on dual views'],
- 'deprecated_code': [False, 'Whether to enable deprecated code'],
- 'examples': [False, 'Whether to build OpenMP backend'],
- 'explicit_instantiation': [False,
- 'Explicitly instantiate template types'],
- 'hpx_async_dispatch': [False,
- 'Whether HPX supports asynchronous dispath'],
- 'profiling': [True,
- 'Create bindings for profiling tools'],
- 'tuning': [False,
- 'Create bindings for tuning tools'],
- 'profiling_load_print': [False,
- 'Print which profiling tools got loaded'],
- 'qthread': [False, 'Eenable the QTHREAD library'],
- 'tests': [False, 'Build for tests'],
+ "aggressive_vectorization": [False, "Aggressively vectorize loops"],
+ "compiler_warnings": [False, "Print all compiler warnings"],
+ "cuda_constexpr": [False, "Activate experimental constexpr features"],
+ "cuda_lambda": [False, "Activate experimental lambda features"],
+ "cuda_ldg_intrinsic": [False, "Use CUDA LDG intrinsics"],
+ "cuda_relocatable_device_code": [False, "Enable RDC for CUDA"],
+ "cuda_uvm": [False, "Enable unified virtual memory (UVM) for CUDA"],
+ "debug": [False, "Activate extra debug features - may increase compiletimes"],
+ "debug_bounds_check": [False, "Use bounds checking - will increase runtime"],
+ "debug_dualview_modify_check": [False, "Debug check on dual views"],
+ "deprecated_code": [False, "Whether to enable deprecated code"],
+ "examples": [False, "Whether to build OpenMP backend"],
+ "explicit_instantiation": [False, "Explicitly instantiate template types"],
+ "hpx_async_dispatch": [False, "Whether HPX supports asynchronous dispath"],
+ "profiling": [True, "Create bindings for profiling tools"],
+ "tuning": [False, "Create bindings for tuning tools"],
+ "profiling_load_print": [False, "Print which profiling tools got loaded"],
+ "qthread": [False, "Eenable the QTHREAD library"],
+ "tests": [False, "Build for tests"],
}
spack_micro_arch_map = {
@@ -129,50 +115,57 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
}
spack_cuda_arch_map = {
- "30": 'kepler30',
- "32": 'kepler32',
- "35": 'kepler35',
- "37": 'kepler37',
- "50": 'maxwell50',
- "52": 'maxwell52',
- "53": 'maxwell53',
- "60": 'pascal60',
- "61": 'pascal61',
- "70": 'volta70',
- "72": 'volta72',
- "75": 'turing75',
- "80": 'ampere80',
- "86": 'ampere86',
+ "30": "kepler30",
+ "32": "kepler32",
+ "35": "kepler35",
+ "37": "kepler37",
+ "50": "maxwell50",
+ "52": "maxwell52",
+ "53": "maxwell53",
+ "60": "pascal60",
+ "61": "pascal61",
+ "70": "volta70",
+ "72": "volta72",
+ "75": "turing75",
+ "80": "ampere80",
+ "86": "ampere86",
}
cuda_arches = spack_cuda_arch_map.values()
conflicts("+cuda", when="cuda_arch=none")
amdgpu_arch_map = {
- 'gfx900': 'vega900',
- 'gfx906': 'vega906',
- 'gfx908': 'vega908',
- 'gfx90a': 'vega90A'
+ "gfx900": "vega900",
+ "gfx906": "vega906",
+ "gfx908": "vega908",
+ "gfx90a": "vega90A",
}
amd_support_conflict_msg = (
- '{0} is not supported; '
- 'Kokkos supports the following AMD GPU targets: '
- + ', '.join(amdgpu_arch_map.keys()))
+ "{0} is not supported; "
+ "Kokkos supports the following AMD GPU targets: " + ", ".join(amdgpu_arch_map.keys())
+ )
for arch in ROCmPackage.amdgpu_targets:
if arch not in amdgpu_arch_map:
- conflicts('+rocm', when='amdgpu_target={0}'.format(arch),
- msg=amd_support_conflict_msg.format(arch))
+ conflicts(
+ "+rocm",
+ when="amdgpu_target={0}".format(arch),
+ msg=amd_support_conflict_msg.format(arch),
+ )
intel_gpu_arches = (
- 'intel_gen',
- 'intel_gen9',
- 'intel_gen11',
- 'intel_gen12lp',
- 'intel_dg1',
- 'intel_xehp',
- 'intel_pvc'
+ "intel_gen",
+ "intel_gen9",
+ "intel_gen11",
+ "intel_gen12lp",
+ "intel_dg1",
+ "intel_xehp",
+ "intel_pvc",
+ )
+ variant(
+ "intel_gpu_arch",
+ default="none",
+ values=("none",) + intel_gpu_arches,
+ description="Intel GPU architecture",
)
- variant("intel_gpu_arch", default='none', values=('none',) + intel_gpu_arches,
- description="Intel GPU architecture")
devices_values = list(devices_variants.keys())
for dev in devices_variants:
@@ -182,8 +175,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
options_values = list(options_variants.keys())
for opt in options_values:
if "cuda" in opt:
- conflicts('+%s' % opt, when="~cuda",
- msg="Must enable CUDA to use %s" % opt)
+ conflicts("+%s" % opt, when="~cuda", msg="Must enable CUDA to use %s" % opt)
dflt, desc = options_variants[opt]
variant(opt, default=dflt, description=desc)
@@ -193,8 +185,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
variant(tpl, default=dflt, description=desc)
depends_on(tpl, when="+%s" % tpl)
- variant("wrapper", default=False,
- description="Use nvcc-wrapper for CUDA build")
+ variant("wrapper", default=False, description="Use nvcc-wrapper for CUDA build")
depends_on("kokkos-nvcc-wrapper", when="+wrapper")
depends_on("kokkos-nvcc-wrapper@develop", when="@develop+wrapper")
depends_on("kokkos-nvcc-wrapper@master", when="@master+wrapper")
@@ -210,15 +201,17 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda", when="std=20")
# SYCL and OpenMPTarget require C++17 or higher
- for stdver in stds[:stds.index('17')]:
- conflicts('+sycl', when='std={0}'.format(stdver),
- msg='SYCL requires C++17 or higher')
- conflicts("+openmptarget", when='std={0}'.format(stdver),
- msg='OpenMPTarget requires C++17 or higher')
+ for stdver in stds[: stds.index("17")]:
+ conflicts("+sycl", when="std={0}".format(stdver), msg="SYCL requires C++17 or higher")
+ conflicts(
+ "+openmptarget",
+ when="std={0}".format(stdver),
+ msg="OpenMPTarget requires C++17 or higher",
+ )
# HPX should use the same C++ standard
for std in stds:
- depends_on('hpx cxxstd={0}'.format(std), when='+hpx std={0}'.format(std))
+ depends_on("hpx cxxstd={0}".format(std), when="+hpx std={0}".format(std))
# HPX version constraints
depends_on("hpx@:1.6", when="@:3.5 +hpx")
@@ -227,12 +220,11 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
# Patches
patch("hpx_profiling_fences.patch", when="@3.5.00 +hpx")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
@classmethod
def get_microarch(cls, target):
- """Get the Kokkos microarch name for a Spack target (spec.target).
- """
+ """Get the Kokkos microarch name for a Spack target (spec.target)."""
smam = cls.spack_micro_arch_map
# Find closest ancestor that has a known microarch optimization
@@ -247,7 +239,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
return smam[target.name]
def append_args(self, cmake_prefix, cmake_options, spack_options):
- variant_to_cmake_option = {'rocm': 'hip'}
+ variant_to_cmake_option = {"rocm": "hip"}
for variant_name in cmake_options:
opt = variant_to_cmake_option.get(variant_name, variant_name)
optname = "Kokkos_%s_%s" % (cmake_prefix, opt.upper())
@@ -269,8 +261,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
if spec.satisfies("~wrapper+cuda") and not (
spec.satisfies("%clang") or spec.satisfies("%cce")
):
- raise InstallError("Kokkos requires +wrapper when using +cuda"
- "without clang")
+ raise InstallError("Kokkos requires +wrapper when using +cuda" "without clang")
options = [
from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
@@ -291,19 +282,17 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
spack_microarches.append(kokkos_microarch_name)
if "+rocm" in spec:
- for amdgpu_target in spec.variants['amdgpu_target'].value:
+ for amdgpu_target in spec.variants["amdgpu_target"].value:
if amdgpu_target != "none":
if amdgpu_target in self.amdgpu_arch_map:
- spack_microarches.append(
- self.amdgpu_arch_map[amdgpu_target])
+ spack_microarches.append(self.amdgpu_arch_map[amdgpu_target])
else:
# Note that conflict declarations should prevent
# choosing an unsupported AMD GPU target
- raise SpackError("Unsupported target: {0}".format(
- amdgpu_target))
+ raise SpackError("Unsupported target: {0}".format(amdgpu_target))
- if self.spec.variants['intel_gpu_arch'].value != 'none':
- spack_microarches.append(self.spec.variants['intel_gpu_arch'].value)
+ if self.spec.variants["intel_gpu_arch"].value != "none":
+ spack_microarches.append(self.spec.variants["intel_gpu_arch"].value)
for arch in spack_microarches:
options.append(self.define("Kokkos_ARCH_" + arch.upper(), True))
@@ -316,48 +305,47 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
if spec.variants[tpl].value:
options.append(self.define(tpl + "_DIR", spec[tpl].prefix))
- if '+rocm' in self.spec:
- options.append(self.define(
- 'CMAKE_CXX_COMPILER', self.spec['hip'].hipcc))
- elif '+wrapper' in self.spec:
- options.append(self.define(
- "CMAKE_CXX_COMPILER",
- self.spec["kokkos-nvcc-wrapper"].kokkos_cxx
- ))
+ if "+rocm" in self.spec:
+ options.append(self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc))
+ elif "+wrapper" in self.spec:
+ options.append(
+ self.define("CMAKE_CXX_COMPILER", self.spec["kokkos-nvcc-wrapper"].kokkos_cxx)
+ )
return options
- test_script_relative_path = join_path('scripts', 'spack_test')
+ test_script_relative_path = join_path("scripts", "spack_test")
# TODO: Replace this method and its 'get' use for cmake path with
# join_path(self.spec['cmake'].prefix.bin, 'cmake') once stand-alone
# tests can access build dependencies through self.spec['cmake'].
def cmake_bin(self, set=True):
"""(Hack) Set/get cmake dependency path."""
- filepath = join_path(self.install_test_root, 'cmake_bin_path.txt')
+ filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
if set:
- with open(filepath, 'w') as out_file:
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- out_file.write('{0}\n'.format(cmake_bin))
+ with open(filepath, "w") as out_file:
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ out_file.write("{0}\n".format(cmake_bin))
elif os.path.isfile(filepath):
- with open(filepath, 'r') as in_file:
+ with open(filepath, "r") as in_file:
return in_file.read().strip()
- @run_after('install')
+ @run_after("install")
def setup_build_tests(self):
# Skip if unsupported version
- cmake_source_path = join_path(self.stage.source_path,
- self.test_script_relative_path)
+ cmake_source_path = join_path(self.stage.source_path, self.test_script_relative_path)
if not os.path.exists(cmake_source_path):
return
"""Copy test."""
- cmake_out_path = join_path(self.test_script_relative_path, 'out')
- cmake_args = [cmake_source_path,
- "-DSPACK_PACKAGE_SOURCE_DIR:PATH={0}".
- format(self.stage.source_path),
- "-DSPACK_PACKAGE_TEST_ROOT_DIR:PATH={0}".
- format(join_path(self.install_test_root, cmake_out_path)),
- "-DSPACK_PACKAGE_INSTALL_DIR:PATH={0}".format(self.prefix)]
+ cmake_out_path = join_path(self.test_script_relative_path, "out")
+ cmake_args = [
+ cmake_source_path,
+ "-DSPACK_PACKAGE_SOURCE_DIR:PATH={0}".format(self.stage.source_path),
+ "-DSPACK_PACKAGE_TEST_ROOT_DIR:PATH={0}".format(
+ join_path(self.install_test_root, cmake_out_path)
+ ),
+ "-DSPACK_PACKAGE_INSTALL_DIR:PATH={0}".format(self.prefix),
+ ]
cmake(*cmake_args)
self.cache_extra_test_sources(cmake_out_path)
self.cmake_bin(set=True)
@@ -367,35 +355,33 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
cmake_bin = self.cmake_bin(set=False)
if not cmake_bin:
- tty.msg('Skipping kokkos test: cmake_bin_path.txt not found')
+ tty.msg("Skipping kokkos test: cmake_bin_path.txt not found")
return
- cmake_args = [cmake_path, '-DEXECUTABLE_OUTPUT_PATH=' + cmake_path]
+ cmake_args = [cmake_path, "-DEXECUTABLE_OUTPUT_PATH=" + cmake_path]
- if not self.run_test(cmake_bin,
- options=cmake_args,
- purpose='Generate the Makefile'):
- tty.warn('Skipping kokkos test: failed to generate Makefile')
+ if not self.run_test(cmake_bin, options=cmake_args, purpose="Generate the Makefile"):
+ tty.warn("Skipping kokkos test: failed to generate Makefile")
return
- if not self.run_test('make',
- purpose='Build test software'):
- tty.warn('Skipping kokkos test: failed to build test')
+ if not self.run_test("make", purpose="Build test software"):
+ tty.warn("Skipping kokkos test: failed to build test")
def run_tests(self, cmake_path):
"""Run test."""
- if not self.run_test('make',
- options=[cmake_path, 'test'],
- purpose='Checking ability to execute.'):
- tty.warn('Failed to run kokkos test')
+ if not self.run_test(
+ "make", options=[cmake_path, "test"], purpose="Checking ability to execute."
+ ):
+ tty.warn("Failed to run kokkos test")
def test(self):
# Skip if unsupported version
- cmake_path = join_path(self.test_suite.current_test_cache_dir,
- self.test_script_relative_path, 'out')
+ cmake_path = join_path(
+ self.test_suite.current_test_cache_dir, self.test_script_relative_path, "out"
+ )
if not os.path.exists(cmake_path):
- tty.warn('Skipping smoke tests: {0} is missing'.format(cmake_path))
+ tty.warn("Skipping smoke tests: {0} is missing".format(cmake_path))
return
self.build_tests(cmake_path)
diff --git a/var/spack/repos/builtin/packages/kraken/package.py b/var/spack/repos/builtin/packages/kraken/package.py
index 93ecff4281..32d05aaba6 100644
--- a/var/spack/repos/builtin/packages/kraken/package.py
+++ b/var/spack/repos/builtin/packages/kraken/package.py
@@ -11,23 +11,23 @@ from spack.package import *
class Kraken(Package):
"""Kraken is a system for assigning taxonomic labels to short DNA
- sequences, usually obtained through metagenomic studies."""
+ sequences, usually obtained through metagenomic studies."""
homepage = "https://ccb.jhu.edu/software/kraken/"
- url = "https://github.com/DerrickWood/kraken/archive/v1.0.tar.gz"
+ url = "https://github.com/DerrickWood/kraken/archive/v1.0.tar.gz"
- version('1.0', sha256='bade6d83233c26226d02bd427fe0a4d6cd6dc5c0300927e30d41e885a478c378')
+ version("1.0", sha256="bade6d83233c26226d02bd427fe0a4d6cd6dc5c0300927e30d41e885a478c378")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
# Does NOT support JELLYFISH 2.0. Ver 1.1.11 is the last version of
# JELLYFISH 1.
- depends_on('jellyfish@1.1.11', when='@1.0')
+ depends_on("jellyfish@1.1.11", when="@1.0")
def install(self, spec, prefix):
- installer = Executable('./install_kraken.sh')
+ installer = Executable("./install_kraken.sh")
installer(self.stage.source_path)
mkdirp(prefix.bin)
- files = glob.iglob('*')
+ files = glob.iglob("*")
for file in files:
if os.path.isfile(file):
install(file, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kraken2/package.py b/var/spack/repos/builtin/packages/kraken2/package.py
index 310ad6bdf3..7edc20e24a 100644
--- a/var/spack/repos/builtin/packages/kraken2/package.py
+++ b/var/spack/repos/builtin/packages/kraken2/package.py
@@ -11,28 +11,34 @@ from spack.package import *
class Kraken2(Package):
"""Kraken2 is a system for assigning taxonomic labels to short DNA
- sequences, usually obtained through metagenomic studies."""
+ sequences, usually obtained through metagenomic studies."""
homepage = "https://ccb.jhu.edu/software/kraken2/"
- url = "https://github.com/DerrickWood/kraken2/archive/v2.1.1.tar.gz"
-
- maintainers = ['rberg2']
-
- version('2.1.2', sha256='e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3')
- version('2.1.1', sha256='8f3e928cdb32b9e8e6f55b44703d1557b2a5fc3f30f63e8d16e465e19a81dee4')
- version('2.0.8-beta', sha256='f2a91fc57a40b3e87df8ac2ea7c0ff1060cc9295c95de417ee53249ee3f7ad8e')
- version('2.0.7-beta', sha256='baa160f5aef73327e1a79e6d1c54b64b2fcdaee0be31b456f7bc411d1897a744')
- version('2.0.6-beta', sha256='d77db6251179c4d7e16bc9b5e5e9043d25acf81f3e32ad6eadfba829a31e1d09')
-
- depends_on('perl', type=('build', 'run'))
- depends_on('rsync', type=('run'))
- depends_on('wget', type=('run'))
+ url = "https://github.com/DerrickWood/kraken2/archive/v2.1.1.tar.gz"
+
+ maintainers = ["rberg2"]
+
+ version("2.1.2", sha256="e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3")
+ version("2.1.1", sha256="8f3e928cdb32b9e8e6f55b44703d1557b2a5fc3f30f63e8d16e465e19a81dee4")
+ version(
+ "2.0.8-beta", sha256="f2a91fc57a40b3e87df8ac2ea7c0ff1060cc9295c95de417ee53249ee3f7ad8e"
+ )
+ version(
+ "2.0.7-beta", sha256="baa160f5aef73327e1a79e6d1c54b64b2fcdaee0be31b456f7bc411d1897a744"
+ )
+ version(
+ "2.0.6-beta", sha256="d77db6251179c4d7e16bc9b5e5e9043d25acf81f3e32ad6eadfba829a31e1d09"
+ )
+
+ depends_on("perl", type=("build", "run"))
+ depends_on("rsync", type=("run"))
+ depends_on("wget", type=("run"))
def install(self, spec, prefix):
- installer = Executable('./install_kraken2.sh')
+ installer = Executable("./install_kraken2.sh")
installer(self.stage.source_path)
mkdirp(prefix.bin)
- files = glob.iglob('*')
+ files = glob.iglob("*")
for file in files:
if os.path.isfile(file):
install(file, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/krb5/package.py b/var/spack/repos/builtin/packages/krb5/package.py
index 53993771c3..e211fcb035 100644
--- a/var/spack/repos/builtin/packages/krb5/package.py
+++ b/var/spack/repos/builtin/packages/krb5/package.py
@@ -11,73 +11,73 @@ from spack.package import *
class Krb5(AutotoolsPackage):
"""Network authentication protocol"""
- homepage = "https://kerberos.org"
- url = "https://kerberos.org/dist/krb5/1.16/krb5-1.16.1.tar.gz"
- list_url = "https://kerberos.org/dist/krb5/"
+ homepage = "https://kerberos.org"
+ url = "https://kerberos.org/dist/krb5/1.16/krb5-1.16.1.tar.gz"
+ list_url = "https://kerberos.org/dist/krb5/"
list_depth = 1
- version('1.19.3', sha256='56d04863cfddc9d9eb7af17556e043e3537d41c6e545610778676cf551b9dcd0')
- version('1.19.2', sha256='10453fee4e3a8f8ce6129059e5c050b8a65dab1c257df68b99b3112eaa0cdf6a')
- version('1.18.2', sha256='c6e4c9ec1a98141c3f5d66ddf1a135549050c9fab4e9a4620ee9b22085873ae0')
- version('1.18.1', sha256='02a4e700f10936f937cd1a4c303cab8687a11abecc6107bd4b706b9329cd5400')
- version('1.18', sha256='73913934d711dcf9d5f5605803578edb44b9a11786df3c1b2711f4e1752f2c88')
- version('1.17.1', sha256='3706d7ec2eaa773e0e32d3a87bf742ebaecae7d064e190443a3acddfd8afb181')
- version('1.17', sha256='5a6e2284a53de5702d3dc2be3b9339c963f9b5397d3fbbc53beb249380a781f5')
- version('1.16.3', sha256='e40499df7c6dbef0cf9b11870a0e167cde827737d8b2c06a9436334f08ab9b0d')
- version('1.16.2', sha256='9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027')
- version('1.16.1', sha256='214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117')
-
- depends_on('diffutils', type='build')
- depends_on('bison', type='build')
- depends_on('openssl@:1')
- depends_on('gettext')
+ version("1.19.3", sha256="56d04863cfddc9d9eb7af17556e043e3537d41c6e545610778676cf551b9dcd0")
+ version("1.19.2", sha256="10453fee4e3a8f8ce6129059e5c050b8a65dab1c257df68b99b3112eaa0cdf6a")
+ version("1.18.2", sha256="c6e4c9ec1a98141c3f5d66ddf1a135549050c9fab4e9a4620ee9b22085873ae0")
+ version("1.18.1", sha256="02a4e700f10936f937cd1a4c303cab8687a11abecc6107bd4b706b9329cd5400")
+ version("1.18", sha256="73913934d711dcf9d5f5605803578edb44b9a11786df3c1b2711f4e1752f2c88")
+ version("1.17.1", sha256="3706d7ec2eaa773e0e32d3a87bf742ebaecae7d064e190443a3acddfd8afb181")
+ version("1.17", sha256="5a6e2284a53de5702d3dc2be3b9339c963f9b5397d3fbbc53beb249380a781f5")
+ version("1.16.3", sha256="e40499df7c6dbef0cf9b11870a0e167cde827737d8b2c06a9436334f08ab9b0d")
+ version("1.16.2", sha256="9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027")
+ version("1.16.1", sha256="214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117")
+
+ depends_on("diffutils", type="build")
+ depends_on("bison", type="build")
+ depends_on("openssl@:1")
+ depends_on("gettext")
variant(
- 'shared', default=True,
- description='install shared libraries if True, static if false'
+ "shared", default=True, description="install shared libraries if True, static if false"
)
# This patch is applied in newer upstream releases
- patch('mit-krb5-1.17-static-libs.patch', level=0, when='@:1.18.9')
+ patch("mit-krb5-1.17-static-libs.patch", level=0, when="@:1.18.9")
- configure_directory = 'src'
- build_directory = 'src'
+ configure_directory = "src"
+ build_directory = "src"
- executables = ['^krb5-config$']
+ executables = ["^krb5-config$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'Kerberos 5 release\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"Kerberos 5 release\s+(\S+)", output)
return match.group(1) if match else None
def url_for_version(self, version):
- url = 'https://kerberos.org/dist/krb5/{0}/krb5-{1}.tar.gz'
+ url = "https://kerberos.org/dist/krb5/{0}/krb5-{1}.tar.gz"
return url.format(version.up_to(2), version)
def patch(self):
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/krb5.rb
# https://krbdev.mit.edu/rt/Ticket/Display.html?id=8928
filter_file(
- 'void foo1() __attribute__((constructor));',
- '#include <unistd.h>\nvoid foo1() __attribute__((constructor));',
- join_path(self.configure_directory, 'configure'),
- string=True)
+ "void foo1() __attribute__((constructor));",
+ "#include <unistd.h>\nvoid foo1() __attribute__((constructor));",
+ join_path(self.configure_directory, "configure"),
+ string=True,
+ )
def configure_args(self):
- args = ['--without-system-verto']
+ args = ["--without-system-verto"]
- if '~shared' in self.spec:
- args.append('--enable-static')
- args.append('--disable-shared')
+ if "~shared" in self.spec:
+ args.append("--enable-static")
+ args.append("--disable-shared")
else:
- args.append('--disable-static')
+ args.append("--disable-static")
return args
def setup_build_environment(self, env):
- env.prepend_path('LD_LIBRARY_PATH', self.spec['gettext'].prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["gettext"].prefix.lib)
def flag_handler(self, name, flags):
- if name == 'ldlibs':
- flags.append('-lintl')
+ if name == "ldlibs":
+ flags.append("-lintl")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/krims/package.py b/var/spack/repos/builtin/packages/krims/package.py
index 87e7dd711e..6e169f11b5 100644
--- a/var/spack/repos/builtin/packages/krims/package.py
+++ b/var/spack/repos/builtin/packages/krims/package.py
@@ -10,10 +10,10 @@ class Krims(CMakePackage):
"""The bucket of Krimskrams every C or C++ project needs"""
homepage = "https://lazyten.org/krims"
- url = "https://github.com/lazyten/krims/archive/v0.2.1.tar.gz"
- git = "https://github.com/lazyten/krims.git"
+ url = "https://github.com/lazyten/krims/archive/v0.2.1.tar.gz"
+ git = "https://github.com/lazyten/krims.git"
- maintainers = ['mfherbst']
+ maintainers = ["mfherbst"]
#
# Versions
@@ -25,15 +25,16 @@ class Krims(CMakePackage):
# Variants
#
# Library build type
- variant("build_type", default="DebugRelease",
- description="The build type to build",
- values=("Debug", "Release", "DebugRelease"))
- variant("shared", default=True,
- description="Build shared libraries (else the static one)")
+ variant(
+ "build_type",
+ default="DebugRelease",
+ description="The build type to build",
+ values=("Debug", "Release", "DebugRelease"),
+ )
+ variant("shared", default=True, description="Build shared libraries (else the static one)")
# Components
- variant("examples", default=False,
- description="Compile examples")
+ variant("examples", default=False, description="Compile examples")
#
# Conflicts
@@ -47,7 +48,7 @@ class Krims(CMakePackage):
# patch
#
# float80 is enable only x86_64
- patch('float80.patch')
+ patch("float80.patch")
#
# Dependencies
diff --git a/var/spack/repos/builtin/packages/kripke/package.py b/var/spack/repos/builtin/packages/kripke/package.py
index ed1018573f..0fbdb7f59c 100644
--- a/var/spack/repos/builtin/packages/kripke/package.py
+++ b/var/spack/repos/builtin/packages/kripke/package.py
@@ -8,38 +8,39 @@ from spack.package import *
class Kripke(CMakePackage):
"""Kripke is a simple, scalable, 3D Sn deterministic particle
- transport proxy/mini app.
+ transport proxy/mini app.
"""
+
homepage = "https://computing.llnl.gov/projects/co-design/kripke"
- git = "https://github.com/LLNL/Kripke.git"
+ git = "https://github.com/LLNL/Kripke.git"
- tags = ['proxy-app']
- version('1.2.4', submodules=True, tag='v1.2.4')
- version('1.2.3', submodules=True, tag='v1.2.3')
- version('1.2.2', submodules=True, tag='v1.2.2-CORAL2')
- version('1.2.1', submodules=True, tag='v1.2.1-CORAL2')
- version('1.2.0', submodules=True, tag='v1.2.0-CORAL2')
+ tags = ["proxy-app"]
+ version("1.2.4", submodules=True, tag="v1.2.4")
+ version("1.2.3", submodules=True, tag="v1.2.3")
+ version("1.2.2", submodules=True, tag="v1.2.2-CORAL2")
+ version("1.2.1", submodules=True, tag="v1.2.1-CORAL2")
+ version("1.2.0", submodules=True, tag="v1.2.0-CORAL2")
- variant('mpi', default=True, description='Build with MPI.')
- variant('openmp', default=True, description='Build with OpenMP enabled.')
- variant('caliper', default=False, description='Build with Caliper support enabled.')
+ variant("mpi", default=True, description="Build with MPI.")
+ variant("openmp", default=True, description="Build with OpenMP enabled.")
+ variant("caliper", default=False, description="Build with Caliper support enabled.")
- depends_on('mpi', when='+mpi')
- depends_on('cmake@3.0:', type='build')
- depends_on('caliper', when='+caliper')
+ depends_on("mpi", when="+mpi")
+ depends_on("cmake@3.0:", type="build")
+ depends_on("caliper", when="+caliper")
def cmake_args(self):
def enabled(variant):
- return (1 if variant in self.spec else 0)
+ return 1 if variant in self.spec else 0
return [
- '-DENABLE_OPENMP=%d' % enabled('+openmp'),
- '-DENABLE_MPI=%d' % enabled('+mpi'),
- '-DENABLE_CALIPER=%d' % enabled('+caliper'),
+ "-DENABLE_OPENMP=%d" % enabled("+openmp"),
+ "-DENABLE_MPI=%d" % enabled("+mpi"),
+ "-DENABLE_CALIPER=%d" % enabled("+caliper"),
]
def install(self, spec, prefix):
# Kripke does not provide install target, so we have to copy
# things into place.
mkdirp(prefix.bin)
- install(join_path(self.build_directory, 'bin/kripke.exe'), prefix.bin)
+ install(join_path(self.build_directory, "bin/kripke.exe"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kubernetes/package.py b/var/spack/repos/builtin/packages/kubernetes/package.py
index 0e030cd520..5d9bf0e48e 100644
--- a/var/spack/repos/builtin/packages/kubernetes/package.py
+++ b/var/spack/repos/builtin/packages/kubernetes/package.py
@@ -12,14 +12,14 @@ class Kubernetes(Package):
for deployment, maintenance, and scaling of applications."""
homepage = "https://kubernetes.io"
- url = "https://github.com/kubernetes/kubernetes/archive/v1.19.0-alpha.0.tar.gz"
+ url = "https://github.com/kubernetes/kubernetes/archive/v1.19.0-alpha.0.tar.gz"
- version('1.18.1', sha256='33ca738f1f4e6ad453b80f231f71e62470b822f21d44dc5b8121b2964ae8e6f8')
- version('1.18.0', sha256='6bd252b8b5401ad6f1fb34116cd5df59153beced3881b98464862a81c083f7ab')
- version('1.17.4', sha256='b61a6eb3bd5251884f34853cc51aa31c6680e7e476268fe06eb33f3d95294f62')
+ version("1.18.1", sha256="33ca738f1f4e6ad453b80f231f71e62470b822f21d44dc5b8121b2964ae8e6f8")
+ version("1.18.0", sha256="6bd252b8b5401ad6f1fb34116cd5df59153beced3881b98464862a81c083f7ab")
+ version("1.17.4", sha256="b61a6eb3bd5251884f34853cc51aa31c6680e7e476268fe06eb33f3d95294f62")
- depends_on('go', type='build')
+ depends_on("go", type="build")
def install(self, spec, prefix):
make()
- install_tree('_output/bin', prefix.bin)
+ install_tree("_output/bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/kvasir-mpl/package.py b/var/spack/repos/builtin/packages/kvasir-mpl/package.py
index 9bfb970f31..559c6f4b11 100644
--- a/var/spack/repos/builtin/packages/kvasir-mpl/package.py
+++ b/var/spack/repos/builtin/packages/kvasir-mpl/package.py
@@ -11,9 +11,9 @@ class KvasirMpl(Package):
"""Kvasir metaprogramming library"""
homepage = "https://github.com/kvasir-io/mpl"
- git = "https://github.com/kvasir-io/mpl.git"
+ git = "https://github.com/kvasir-io/mpl.git"
- version('develop', branch='development')
+ version("develop", branch="development")
def install(self, spec, prefix):
- install_tree('src', prefix.include)
+ install_tree("src", prefix.include)
diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py
index 54665b2584..9c3211aa25 100644
--- a/var/spack/repos/builtin/packages/kvtree/package.py
+++ b/var/spack/repos/builtin/packages/kvtree/package.py
@@ -11,51 +11,54 @@ class Kvtree(CMakePackage):
hashes."""
homepage = "https://github.com/ecp-veloc/KVTree"
- url = "https://github.com/ecp-veloc/KVTree/archive/v1.1.1.tar.gz"
- git = "https://github.com/ecp-veloc/kvtree.git"
- tags = ['ecp']
+ url = "https://github.com/ecp-veloc/KVTree/archive/v1.1.1.tar.gz"
+ git = "https://github.com/ecp-veloc/kvtree.git"
+ tags = ["ecp"]
- maintainers = ['CamStan', 'gonsie']
+ maintainers = ["CamStan", "gonsie"]
- version('main', branch='main')
- version('1.3.0', sha256='8281e075772d3534183c46133553d5765455d79ed98a895743663db891755ca9')
- version('1.2.0', sha256='ecd4b8bc479c33ab4f23fc764445a3bb353a1d15c208d011f5577a32c182477f')
- version('1.1.1', sha256='4776bd55a559b7f9bb594454ae6b14ebff0087c93c3d59ac7d1ab27df4aa4d74')
- version('1.1.0', sha256='3e6c003e7b8094d7c2d1529a973d68a68f953ffa63dcde5f4c7c7e81ddf06564')
- version('1.0.3', sha256='c742cdb1241ef4cb13767019204d5350a3c4383384bed9fb66680b93ff44b0d4')
- version('1.0.2', sha256='56fb5b747758c24a907a8380e8748d296900d94de9547bc15f6b427ac4ae2ec4')
+ version("main", branch="main")
+ version("1.3.0", sha256="8281e075772d3534183c46133553d5765455d79ed98a895743663db891755ca9")
+ version("1.2.0", sha256="ecd4b8bc479c33ab4f23fc764445a3bb353a1d15c208d011f5577a32c182477f")
+ version("1.1.1", sha256="4776bd55a559b7f9bb594454ae6b14ebff0087c93c3d59ac7d1ab27df4aa4d74")
+ version("1.1.0", sha256="3e6c003e7b8094d7c2d1529a973d68a68f953ffa63dcde5f4c7c7e81ddf06564")
+ version("1.0.3", sha256="c742cdb1241ef4cb13767019204d5350a3c4383384bed9fb66680b93ff44b0d4")
+ version("1.0.2", sha256="56fb5b747758c24a907a8380e8748d296900d94de9547bc15f6b427ac4ae2ec4")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
- variant('mpi', default=True, description='Build with MPI message packing')
- depends_on('mpi', when='+mpi')
+ variant("mpi", default=True, description="Build with MPI message packing")
+ depends_on("mpi", when="+mpi")
- variant('file_lock', default='FLOCK',
- values=('FLOCK', 'FNCTL', 'NONE'),
- multi=False,
- description='File locking style for KVTree.')
+ variant(
+ "file_lock",
+ default="FLOCK",
+ values=("FLOCK", "FNCTL", "NONE"),
+ multi=False,
+ description="File locking style for KVTree.",
+ )
- variant('shared', default=True, description='Build with shared libraries')
+ variant("shared", default=True, description="Build with shared libraries")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%cce'):
- if name == 'ldflags':
- flags.append('-Wl,-z,muldefs')
+ if self.spec.satisfies("%cce"):
+ if name == "ldflags":
+ flags.append("-Wl,-z,muldefs")
return (flags, None, None)
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define_from_variant('MPI'))
- if '+mpi' in spec:
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
+ args.append(self.define_from_variant("MPI"))
+ if "+mpi" in spec:
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
- args.append(self.define_from_variant('KVTREE_FILE_LOCK', 'file_lock'))
+ args.append(self.define_from_variant("KVTREE_FILE_LOCK", "file_lock"))
- if spec.satisfies('@1.2.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@1.2.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('KVTREE_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("KVTREE_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/kylin/package.py b/var/spack/repos/builtin/packages/kylin/package.py
index 7c29b4d42e..bb797d248b 100644
--- a/var/spack/repos/builtin/packages/kylin/package.py
+++ b/var/spack/repos/builtin/packages/kylin/package.py
@@ -17,8 +17,8 @@ class Kylin(MavenPackage):
data."""
homepage = "https://kylin.apache.org"
- url = "https://github.com/apache/kylin/archive/kylin-3.1.0.tar.gz"
+ url = "https://github.com/apache/kylin/archive/kylin-3.1.0.tar.gz"
- version('3.1.0', sha256='84073ff16a0dad6e0611fea9fbf2b977b6bac307107a222b7f576a3a3b712157')
+ version("3.1.0", sha256="84073ff16a0dad6e0611fea9fbf2b977b6bac307107a222b7f576a3a3b712157")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ladot/package.py b/var/spack/repos/builtin/packages/ladot/package.py
index beea99ecaf..2a6ec8668d 100644
--- a/var/spack/repos/builtin/packages/ladot/package.py
+++ b/var/spack/repos/builtin/packages/ladot/package.py
@@ -11,18 +11,18 @@ class Ladot(Package):
(graphviz) relatively easy."""
homepage = "https://brighten.bigw.org/projects/ladot/"
- url = "https://brighten.bigw.org/projects/ladot/ladot-1.2.tar.gz"
+ url = "https://brighten.bigw.org/projects/ladot/ladot-1.2.tar.gz"
- version('1.2', sha256='f829eeca829b82c0315cd87bffe410bccab96309b86b1c883b3ddaa93170f25e')
+ version("1.2", sha256="f829eeca829b82c0315cd87bffe410bccab96309b86b1c883b3ddaa93170f25e")
- depends_on('perl', type=('run', 'test'))
- depends_on('graphviz', type=('run', 'test'))
- depends_on('texlive', type='test')
+ depends_on("perl", type=("run", "test"))
+ depends_on("graphviz", type=("run", "test"))
+ depends_on("texlive", type="test")
def install(self, spec, prefix):
if self.run_tests:
- with working_dir('example'):
+ with working_dir("example"):
make()
mkdir(prefix.bin)
- install('ladot', prefix.bin)
+ install("ladot", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/laghos/package.py b/var/spack/repos/builtin/packages/laghos/package.py
index a1bed15d2a..941828683e 100644
--- a/var/spack/repos/builtin/packages/laghos/package.py
+++ b/var/spack/repos/builtin/packages/laghos/package.py
@@ -8,60 +8,61 @@ from spack.package import *
class Laghos(MakefilePackage):
"""Laghos (LAGrangian High-Order Solver) is a CEED miniapp that solves the
- time-dependent Euler equations of compressible gas dynamics in a moving
- Lagrangian frame using unstructured high-order finite element spatial
- discretization and explicit high-order time-stepping.
+ time-dependent Euler equations of compressible gas dynamics in a moving
+ Lagrangian frame using unstructured high-order finite element spatial
+ discretization and explicit high-order time-stepping.
"""
- tags = ['proxy-app', 'ecp-proxy-app']
+
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://computing.llnl.gov/projects/co-design/laghos"
- url = "https://github.com/CEED/Laghos/archive/v1.0.tar.gz"
- git = "https://github.com/CEED/Laghos.git"
+ url = "https://github.com/CEED/Laghos/archive/v1.0.tar.gz"
+ git = "https://github.com/CEED/Laghos.git"
- maintainers = ['v-dobrev', 'tzanio', 'vladotomov']
+ maintainers = ["v-dobrev", "tzanio", "vladotomov"]
- version('develop', branch='master')
- version('3.1', sha256='49b65edcbf9732c7f6c228958620e18980c43ad8381315a8ba9957ecb7534cd5')
- version('3.0', sha256='4db56286e15b42ecdc8d540c4888a7dec698b019df9c7ccb8319b7ea1f92d8b4')
- version('2.0', sha256='dd3632d5558889beec2cd3c49eb60f633f99e6d886ac868731610dd006c44c14')
- version('1.1', sha256='53b9bfe2af263c63eb4544ca1731dd26f40b73a0d2775a9883db51821bf23b7f')
- version('1.0', sha256='af50a126355a41c758fcda335a43fdb0a3cd97e608ba51c485afda3dd84a5b34')
+ version("develop", branch="master")
+ version("3.1", sha256="49b65edcbf9732c7f6c228958620e18980c43ad8381315a8ba9957ecb7534cd5")
+ version("3.0", sha256="4db56286e15b42ecdc8d540c4888a7dec698b019df9c7ccb8319b7ea1f92d8b4")
+ version("2.0", sha256="dd3632d5558889beec2cd3c49eb60f633f99e6d886ac868731610dd006c44c14")
+ version("1.1", sha256="53b9bfe2af263c63eb4544ca1731dd26f40b73a0d2775a9883db51821bf23b7f")
+ version("1.0", sha256="af50a126355a41c758fcda335a43fdb0a3cd97e608ba51c485afda3dd84a5b34")
- variant('metis', default=True, description='Enable/disable METIS support')
- variant('ofast', default=False, description="Enable gcc optimization flags")
+ 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')
+ depends_on("mfem+mpi+metis", when="+metis")
+ depends_on("mfem+mpi~metis", when="~metis")
- depends_on('mfem@develop', when='@develop')
- depends_on('mfem@4.2.0:', when='@3.1')
- depends_on('mfem@4.1.0:4.1', when='@3.0')
+ depends_on("mfem@develop", when="@develop")
+ depends_on("mfem@4.2.0:", when="@3.1")
+ depends_on("mfem@4.1.0:4.1", when="@3.0")
# Recommended mfem version for laghos v2.0 is: ^mfem@3.4.1-laghos-v2.0
- depends_on('mfem@3.4.1-laghos-v2.0', when='@2.0')
+ depends_on("mfem@3.4.1-laghos-v2.0", when="@2.0")
# Recommended mfem version for laghos v1.x is: ^mfem@3.3.1-laghos-v1.0
- depends_on('mfem@3.3.1-laghos-v1.0', when='@1.0,1.1')
+ depends_on("mfem@3.3.1-laghos-v1.0", when="@1.0,1.1")
@property
def build_targets(self):
targets = []
spec = self.spec
- targets.append('MFEM_DIR=%s' % spec['mfem'].prefix)
- targets.append('CONFIG_MK=%s' % spec['mfem'].package.config_mk)
- 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')
+ targets.append("MFEM_DIR=%s" % spec["mfem"].prefix)
+ targets.append("CONFIG_MK=%s" % spec["mfem"].package.config_mk)
+ 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
def check(self):
with working_dir(self.build_directory):
- make('test', *self.build_targets)
+ make("test", *self.build_targets)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('laghos', prefix.bin)
+ install("laghos", prefix.bin)
install_time_test_callbacks = [] # type: List[str]
diff --git a/var/spack/repos/builtin/packages/lame/package.py b/var/spack/repos/builtin/packages/lame/package.py
index 61e4119ba8..70ff1e502d 100644
--- a/var/spack/repos/builtin/packages/lame/package.py
+++ b/var/spack/repos/builtin/packages/lame/package.py
@@ -11,12 +11,12 @@ class Lame(AutotoolsPackage):
under the LGPL."""
homepage = "http://lame.sourceforge.net/"
- url = "https://download.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz"
+ url = "https://download.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz"
- version('3.100', sha256='ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e')
+ version("3.100", sha256="ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e")
- depends_on('nasm', type='build')
+ depends_on("nasm", type="build")
def configure_args(self):
- args = ['--enable-mp3rtp', '--disable-static']
+ args = ["--enable-mp3rtp", "--disable-static"]
return args
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index 1d8ba8019e..9d290a5d30 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -16,595 +16,798 @@ class Lammps(CMakePackage, CudaPackage):
See https://github.com/spack/spack/pull/5342 for a detailed
discussion.
"""
+
homepage = "https://lammps.sandia.gov/"
- url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz"
- git = "https://github.com/lammps/lammps.git"
+ url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz"
+ git = "https://github.com/lammps/lammps.git"
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
- version('develop', branch='develop')
- version('20220623', sha256='21533ce6f174c80815a48c99e5f3dd109e69d55c4cad47312d88a7190a35927f')
- version('20220602', sha256='3e8f54453e53b3b387a68317277f832b8cf64a981e64b21e98bb37ea36ac4a60')
- version('20220504', sha256='fe05bae8090fd0177b3c1b987cd32a9cb7cd05d790828ba954c764eb52e10b52')
- version('20220324', sha256='d791cc93eedfc345fdf87bfa5b6f7e17e461f86ba197f9e9c3d477ce8657a7ef')
- version('20220217', sha256='e5bd2bf325835fa98d1b95f0667c83076580916027df5b8109d5470d1b97da98')
- version('20220107', sha256='fbf6c6814968ae0d772d7b6783079ff4f249a8faeceb39992c344969e9f1edbb')
- version('20211214', sha256='9f7b1ee2394678c1a6baa2c158a62345680a952eee251783e3c246b3f12db4c9')
- version('20211027', sha256='c06f682fcf9d5921ca90c857a104e90fba0fe65decaac9732745e4da49281938')
- version('20210929.3', sha256='d7df30f7ce0bd8b7c21949cf5bdf1877858815379cddb8a264da7a8cbf699639')
- version('20210929.2', sha256='26586c1e82356b60e40359ee474818003c7788214bfe2bfe9128a3dbe5200b4d')
- version('20210929.1', sha256='3b792e20864bf88b855332486996f2c540deabb4e3507e48fa4ee96ad79615ec')
- version('20210929', sha256='5132f332b582be3006510562ef10bac9ef76d760f34fc08a2af556416c57cf4c')
- version('20210920', sha256='e3eba96933c1dd3177143c7ac837cae69faceba196948fbad2970425db414d8c')
- version('20210831', sha256='532c42576a79d72682deaf43225ca773ed9f9e35deb484a82f91905b6cba23ec')
- version('20210730', sha256='c5e998c8282a835d2bcba4fceffe3cecdf9aed9bdf79fa9c945af573e632f6e7')
- version('20210728', sha256='6b844d2c3f7170a59d36fbf761483aa0c63d95eda254d00fe4d10542403abe36')
- version('20210702', sha256='4fdd8ca2dbde8809c0048716650b73ae1f840e22ebe24b25f6f7a499377fea57')
- version('20210514', sha256='74d9c4386f2181b15a024314c42b7a0b0aaefd3b4b947aeca00fe07e5b2f3317')
- version('20210408', sha256='1645147b7777de4f616b8232edf0b597868084f969c777fa0a757949c3f71f56')
- version('20210310', sha256='25708378dbeccf794bc5045aceb84380bf4a3ca03fc8e5d150a26ca88d371474')
- version('20201029', sha256='3d347f6b512bc360505019d1c6183c969a2e1da402e31a1e26577daf5e419d95')
- version('20200721', sha256='845bfeddb7b667799a1a5dbc166b397d714c3d2720316604a979d3465b4190a9')
- version('20200630', sha256='413cbfabcc1541a339c7a4ab5693fbeb768f46bb1250640ba94686c6e90922fc')
- version('20200505', sha256='c49d77fd602d28ebd8cf10f7359b9fc4d14668c72039028ed7792453d416de73')
- version('20200303', sha256='9aa56dfb8673a06e6c88588505ec1dfc01dd94f9d60e719ed0c605e48cc06c58')
- version('20200227', sha256='1aabcf38bc72285797c710b648e906151a912c36b634a9c88ac383aacf85516e')
- version('20200218', sha256='73bcf146660804ced954f6a0a8dce937482677778d46018ca5a688127bf97211')
- version('20200204', sha256='3bf3de546ede34ffcd89f1fca5fd66aa78c662e7c8a76e30ce593e44a00d23ce')
- version('20200124', sha256='443829560d760690e1ae21ad54922f56f34f640a81e817f5cc65d2a4af3a6a5d')
- version('20200109', sha256='f2fd24f6c10837801f490913d73f672ec7c6becda08465d7e834a2bfbe3d7cd6')
- version('20191120', sha256='fd146bf517a6c2fb8a69ecb3749dc352eef94414739cd7855c668c690af85d27')
- version('20191030', sha256='5279567f731386ffdb87800b448903a63de2591064e13b4d5216acae25b7e541')
- version('20190919', sha256='0f693203afe86bc70c084c55f29330bdeea3e3ad6791f81c727f7a34a7f6caf3')
- version('20190807', sha256='895d71914057e070fdf0ae5ccf9d6552b932355056690bdb8e86d96549218cc0')
- version('20190605', sha256='c7b35090aef7b114d2b47a7298c1e8237dd811da87995c997bf7639cca743152')
- version('20181212', sha256='ccc5d2c21c4b62ce4afe7b3a0fe2f37b83e5a5e43819b7c2e2e255cce2ce0f24')
- version('20181207', sha256='d92104d008a7f1d0b6071011decc5c6dc8b936a3418b20bd34b055371302557f')
- version('20181127', sha256='c076b633eda5506f895de4c73103df8b995d9fec01be82c67c7608efcc345179')
- version('20181115', sha256='3bc9c166e465cac625c4a8e4060e597003f4619dadd57d3bc8d25bcd930f286e')
- version('20181109', sha256='dd30fe492fa147fb6f39bfcc79d8c786b9689f7fbe86d56de58cace53b6198c9')
- version('20181024', sha256='a171dff5aff7aaa2c9606ab2abc9260f2b685a5c7f6d650e7f2b59cf4aa149d6')
- version('20181010', sha256='bda762ee2d2dcefe0b4e36fb689c6b9f7ede49324444ccde6c59cba727b4b02d')
- version('20180918', sha256='02f143d518d8647b77137adc527faa9725c7afbc538d670253169e2a9b3fa0e6')
- version('20180905', sha256='ee0df649e33a9bf4fe62e062452978731548a56b7487e8e1ce9403676217958d')
- version('20180831', sha256='6c604b3ebd0cef1a5b18730d2c2eb1e659b2db65c5b1ae6240b8a0b150e4dff3')
- version('20180822', sha256='9f8942ca3f8e81377ae88ccfd075da4e27d0dd677526085e1a807777c8324074')
- version('20180629', sha256='1acf7d9b37b99f17563cd4c8bb00ec57bb2e29eb77c0603fd6871898de74763b')
- version('20180316', sha256='a81f88c93e417ecb87cd5f5464c9a2570384a48ff13764051c5e846c3d1258c1')
- version('20180222', sha256='374254d5131b7118b9ab0f0e27d20c3d13d96b03ed2b5224057f0c1065828694')
- version('20170922', sha256='f0bf6eb530d528f4d261d0a261e5616cbb6e990156808b721e73234e463849d3')
- version('20170901', sha256='5d88d4e92f4e0bb57c8ab30e0d20de556830af820223778b9967bec2184efd46')
+ version("develop", branch="develop")
+ version("20220623", sha256="21533ce6f174c80815a48c99e5f3dd109e69d55c4cad47312d88a7190a35927f")
+ version("20220602", sha256="3e8f54453e53b3b387a68317277f832b8cf64a981e64b21e98bb37ea36ac4a60")
+ version("20220504", sha256="fe05bae8090fd0177b3c1b987cd32a9cb7cd05d790828ba954c764eb52e10b52")
+ version("20220324", sha256="d791cc93eedfc345fdf87bfa5b6f7e17e461f86ba197f9e9c3d477ce8657a7ef")
+ version("20220217", sha256="e5bd2bf325835fa98d1b95f0667c83076580916027df5b8109d5470d1b97da98")
+ version("20220107", sha256="fbf6c6814968ae0d772d7b6783079ff4f249a8faeceb39992c344969e9f1edbb")
+ version("20211214", sha256="9f7b1ee2394678c1a6baa2c158a62345680a952eee251783e3c246b3f12db4c9")
+ version("20211027", sha256="c06f682fcf9d5921ca90c857a104e90fba0fe65decaac9732745e4da49281938")
+ version(
+ "20210929.3", sha256="d7df30f7ce0bd8b7c21949cf5bdf1877858815379cddb8a264da7a8cbf699639"
+ )
+ version(
+ "20210929.2", sha256="26586c1e82356b60e40359ee474818003c7788214bfe2bfe9128a3dbe5200b4d"
+ )
+ version(
+ "20210929.1", sha256="3b792e20864bf88b855332486996f2c540deabb4e3507e48fa4ee96ad79615ec"
+ )
+ version("20210929", sha256="5132f332b582be3006510562ef10bac9ef76d760f34fc08a2af556416c57cf4c")
+ version("20210920", sha256="e3eba96933c1dd3177143c7ac837cae69faceba196948fbad2970425db414d8c")
+ version("20210831", sha256="532c42576a79d72682deaf43225ca773ed9f9e35deb484a82f91905b6cba23ec")
+ version("20210730", sha256="c5e998c8282a835d2bcba4fceffe3cecdf9aed9bdf79fa9c945af573e632f6e7")
+ version("20210728", sha256="6b844d2c3f7170a59d36fbf761483aa0c63d95eda254d00fe4d10542403abe36")
+ version("20210702", sha256="4fdd8ca2dbde8809c0048716650b73ae1f840e22ebe24b25f6f7a499377fea57")
+ version("20210514", sha256="74d9c4386f2181b15a024314c42b7a0b0aaefd3b4b947aeca00fe07e5b2f3317")
+ version("20210408", sha256="1645147b7777de4f616b8232edf0b597868084f969c777fa0a757949c3f71f56")
+ version("20210310", sha256="25708378dbeccf794bc5045aceb84380bf4a3ca03fc8e5d150a26ca88d371474")
+ version("20201029", sha256="3d347f6b512bc360505019d1c6183c969a2e1da402e31a1e26577daf5e419d95")
+ version("20200721", sha256="845bfeddb7b667799a1a5dbc166b397d714c3d2720316604a979d3465b4190a9")
+ version("20200630", sha256="413cbfabcc1541a339c7a4ab5693fbeb768f46bb1250640ba94686c6e90922fc")
+ version("20200505", sha256="c49d77fd602d28ebd8cf10f7359b9fc4d14668c72039028ed7792453d416de73")
+ version("20200303", sha256="9aa56dfb8673a06e6c88588505ec1dfc01dd94f9d60e719ed0c605e48cc06c58")
+ version("20200227", sha256="1aabcf38bc72285797c710b648e906151a912c36b634a9c88ac383aacf85516e")
+ version("20200218", sha256="73bcf146660804ced954f6a0a8dce937482677778d46018ca5a688127bf97211")
+ version("20200204", sha256="3bf3de546ede34ffcd89f1fca5fd66aa78c662e7c8a76e30ce593e44a00d23ce")
+ version("20200124", sha256="443829560d760690e1ae21ad54922f56f34f640a81e817f5cc65d2a4af3a6a5d")
+ version("20200109", sha256="f2fd24f6c10837801f490913d73f672ec7c6becda08465d7e834a2bfbe3d7cd6")
+ version("20191120", sha256="fd146bf517a6c2fb8a69ecb3749dc352eef94414739cd7855c668c690af85d27")
+ version("20191030", sha256="5279567f731386ffdb87800b448903a63de2591064e13b4d5216acae25b7e541")
+ version("20190919", sha256="0f693203afe86bc70c084c55f29330bdeea3e3ad6791f81c727f7a34a7f6caf3")
+ version("20190807", sha256="895d71914057e070fdf0ae5ccf9d6552b932355056690bdb8e86d96549218cc0")
+ version("20190605", sha256="c7b35090aef7b114d2b47a7298c1e8237dd811da87995c997bf7639cca743152")
+ version("20181212", sha256="ccc5d2c21c4b62ce4afe7b3a0fe2f37b83e5a5e43819b7c2e2e255cce2ce0f24")
+ version("20181207", sha256="d92104d008a7f1d0b6071011decc5c6dc8b936a3418b20bd34b055371302557f")
+ version("20181127", sha256="c076b633eda5506f895de4c73103df8b995d9fec01be82c67c7608efcc345179")
+ version("20181115", sha256="3bc9c166e465cac625c4a8e4060e597003f4619dadd57d3bc8d25bcd930f286e")
+ version("20181109", sha256="dd30fe492fa147fb6f39bfcc79d8c786b9689f7fbe86d56de58cace53b6198c9")
+ version("20181024", sha256="a171dff5aff7aaa2c9606ab2abc9260f2b685a5c7f6d650e7f2b59cf4aa149d6")
+ version("20181010", sha256="bda762ee2d2dcefe0b4e36fb689c6b9f7ede49324444ccde6c59cba727b4b02d")
+ version("20180918", sha256="02f143d518d8647b77137adc527faa9725c7afbc538d670253169e2a9b3fa0e6")
+ version("20180905", sha256="ee0df649e33a9bf4fe62e062452978731548a56b7487e8e1ce9403676217958d")
+ version("20180831", sha256="6c604b3ebd0cef1a5b18730d2c2eb1e659b2db65c5b1ae6240b8a0b150e4dff3")
+ version("20180822", sha256="9f8942ca3f8e81377ae88ccfd075da4e27d0dd677526085e1a807777c8324074")
+ version("20180629", sha256="1acf7d9b37b99f17563cd4c8bb00ec57bb2e29eb77c0603fd6871898de74763b")
+ version("20180316", sha256="a81f88c93e417ecb87cd5f5464c9a2570384a48ff13764051c5e846c3d1258c1")
+ version("20180222", sha256="374254d5131b7118b9ab0f0e27d20c3d13d96b03ed2b5224057f0c1065828694")
+ version("20170922", sha256="f0bf6eb530d528f4d261d0a261e5616cbb6e990156808b721e73234e463849d3")
+ version("20170901", sha256="5d88d4e92f4e0bb57c8ab30e0d20de556830af820223778b9967bec2184efd46")
def url_for_version(self, version):
- split_ver = str(version).split('.')
+ split_ver = str(version).split(".")
vdate = dt.datetime.strptime(split_ver[0], "%Y%m%d")
if len(split_ver) < 2:
update = ""
else:
update = "_update{0}".format(split_ver[1])
return "https://github.com/lammps/lammps/archive/patch_{0}{1}.tar.gz".format(
- vdate.strftime("%d%b%Y").lstrip('0'), update)
+ vdate.strftime("%d%b%Y").lstrip("0"), update
+ )
# List of supported optional packages
# Note: package `openmp` in this recipe is called `openmp-package`, to avoid clash
# with the pre-existing `openmp` variant
- supported_packages = ['asphere', 'body', 'bpm', 'class2', 'colloid', 'compress',
- 'coreshell', 'dielectric', 'dipole', 'electrode', 'granular',
- 'kspace', 'kokkos', 'latte', 'manybody', 'mc', 'meam', 'misc',
- 'mliap', 'ml-iap', 'ml-snap', 'molecule', 'mpiio',
- 'opt', 'peri', 'plugin', 'poems', 'python', 'qeq', 'replica',
- 'rigid', 'shock', 'snap', 'spin', 'srd', 'voronoi',
- 'user-atc', 'user-adios',
- 'user-awpmd', 'user-bocs', 'user-brownian', 'user-cgsdk',
- 'user-colvars', 'user-diffraction', 'user-dpd',
- 'user-drude', 'user-eff', 'user-fep', 'user-h5md',
- 'user-lb', 'user-manifold', 'user-meamc',
- 'user-mesodpd', 'user-mesont', 'user-mgpt', 'user-misc',
- 'user-mofff', 'user-molfile', 'user-netcdf', 'user-omp',
- 'user-phonon', 'user-plumed', 'user-ptm', 'user-qtb',
- 'user-reaction', 'user-reaxc', 'user-sdpd',
- 'user-smd', 'user-smtbq', 'user-sph', 'user-tally',
- 'user-uef', 'user-yaff',
- 'atc', 'adios', 'awpmd', 'bocs', 'brownian', 'cg-sdk',
- 'colvars', 'diffraction', 'dpd-basic', 'dpd-meso',
- 'dpd-react', 'dpd-smooth', 'drude', 'eff', 'extra-compute',
- 'extra-dump', 'extra-fix', 'extra-molecule', 'extra-pair',
- 'fep', 'h5md', 'interlayer', 'latboltz', 'machdyn',
- 'manifold', 'mesont', 'mgpt', 'mofff', 'molfile', 'netcdf',
- 'openmp-package', 'orient', 'phonon', 'plumed', 'ptm', 'qtb',
- 'reaction', 'reaxff', 'smtbq', 'sph', 'tally', 'uef', 'yaff']
+ supported_packages = [
+ "asphere",
+ "body",
+ "bpm",
+ "class2",
+ "colloid",
+ "compress",
+ "coreshell",
+ "dielectric",
+ "dipole",
+ "electrode",
+ "granular",
+ "kspace",
+ "kokkos",
+ "latte",
+ "manybody",
+ "mc",
+ "meam",
+ "misc",
+ "mliap",
+ "ml-iap",
+ "ml-snap",
+ "molecule",
+ "mpiio",
+ "opt",
+ "peri",
+ "plugin",
+ "poems",
+ "python",
+ "qeq",
+ "replica",
+ "rigid",
+ "shock",
+ "snap",
+ "spin",
+ "srd",
+ "voronoi",
+ "user-atc",
+ "user-adios",
+ "user-awpmd",
+ "user-bocs",
+ "user-brownian",
+ "user-cgsdk",
+ "user-colvars",
+ "user-diffraction",
+ "user-dpd",
+ "user-drude",
+ "user-eff",
+ "user-fep",
+ "user-h5md",
+ "user-lb",
+ "user-manifold",
+ "user-meamc",
+ "user-mesodpd",
+ "user-mesont",
+ "user-mgpt",
+ "user-misc",
+ "user-mofff",
+ "user-molfile",
+ "user-netcdf",
+ "user-omp",
+ "user-phonon",
+ "user-plumed",
+ "user-ptm",
+ "user-qtb",
+ "user-reaction",
+ "user-reaxc",
+ "user-sdpd",
+ "user-smd",
+ "user-smtbq",
+ "user-sph",
+ "user-tally",
+ "user-uef",
+ "user-yaff",
+ "atc",
+ "adios",
+ "awpmd",
+ "bocs",
+ "brownian",
+ "cg-sdk",
+ "colvars",
+ "diffraction",
+ "dpd-basic",
+ "dpd-meso",
+ "dpd-react",
+ "dpd-smooth",
+ "drude",
+ "eff",
+ "extra-compute",
+ "extra-dump",
+ "extra-fix",
+ "extra-molecule",
+ "extra-pair",
+ "fep",
+ "h5md",
+ "interlayer",
+ "latboltz",
+ "machdyn",
+ "manifold",
+ "mesont",
+ "mgpt",
+ "mofff",
+ "molfile",
+ "netcdf",
+ "openmp-package",
+ "orient",
+ "phonon",
+ "plumed",
+ "ptm",
+ "qtb",
+ "reaction",
+ "reaxff",
+ "smtbq",
+ "sph",
+ "tally",
+ "uef",
+ "yaff",
+ ]
for pkg in supported_packages:
- variant(pkg, default=False,
- description='Activate the {0} package'
- .format(pkg.replace('-package', '')))
- variant('lib', default=True,
- description='Build the liblammps in addition to the executable')
- variant('mpi', default=True,
- description='Build with mpi')
- variant('jpeg', default=True,
- description='Build with jpeg support')
- variant('png', default=True,
- description='Build with png support')
- variant('ffmpeg', default=True,
- description='Build with ffmpeg support')
- variant('kim', default=True,
- description='Build with KIM support')
- variant('openmp', default=True, description='Build with OpenMP')
- variant('opencl', default=False, description='Build with OpenCL')
- variant('exceptions', default=False,
- description='Build with lammps exceptions')
- variant('cuda_mps', default=False,
- description='(CUDA only) Enable tweaks for running ' +
- 'with Nvidia CUDA Multi-process services daemon')
-
+ variant(
+ pkg,
+ default=False,
+ description="Activate the {0} package".format(pkg.replace("-package", "")),
+ )
+ variant("lib", default=True, description="Build the liblammps in addition to the executable")
+ variant("mpi", default=True, description="Build with mpi")
+ variant("jpeg", default=True, description="Build with jpeg support")
+ variant("png", default=True, description="Build with png support")
+ variant("ffmpeg", default=True, description="Build with ffmpeg support")
+ variant("kim", default=True, description="Build with KIM support")
+ variant("openmp", default=True, description="Build with OpenMP")
+ variant("opencl", default=False, description="Build with OpenCL")
+ variant("exceptions", default=False, description="Build with lammps exceptions")
variant(
- 'lammps_sizes', default='smallbig',
- description='LAMMPS integer sizes (smallsmall: all 32-bit, smallbig:' +
- '64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)',
- values=('smallbig', 'bigbig', 'smallsmall'), multi=False
- )
- variant('fftw_precision', default='double', when='+kspace',
- description='Select FFTW precision (used by Kspace)',
- values=('single', 'double'), multi=False)
+ "cuda_mps",
+ default=False,
+ description="(CUDA only) Enable tweaks for running "
+ + "with Nvidia CUDA Multi-process services daemon",
+ )
- depends_on('mpi', when='+mpi')
- depends_on('mpi', when='+mpiio')
- depends_on('fftw-api@3', when='+kspace')
- depends_on('voropp+pic', when='+voronoi')
- depends_on('netcdf-c+mpi', when='+user-netcdf')
- depends_on('netcdf-c+mpi', when='+netcdf')
- depends_on('blas', when='+user-atc')
- depends_on('blas', when='+atc')
- depends_on('lapack', when='+user-atc')
- depends_on('lapack', when='+atc')
- depends_on('opencl', when='+opencl')
- depends_on('latte@1.0.1', when='@:20180222+latte')
- depends_on('latte@1.1.1:', when='@20180316:20180628+latte')
- depends_on('latte@1.2.1:', when='@20180629:20200505+latte')
- depends_on('latte@1.2.2:', when='@20200602:+latte')
- depends_on('blas', when='+latte')
- depends_on('lapack', when='+latte')
- depends_on('python', when='+python')
- depends_on('mpi', when='+user-lb')
- depends_on('mpi', when='+latboltz')
- depends_on('mpi', when='+user-h5md')
- depends_on('mpi', when='+h5md')
- depends_on('hdf5', when='+user-h5md')
- depends_on('hdf5', when='+h5md')
- depends_on('jpeg', when='+jpeg')
- depends_on('kim-api', when='+kim')
- depends_on('libpng', when='+png')
- depends_on('ffmpeg', when='+ffmpeg')
- depends_on('kokkos+deprecated_code+shared@3.0.00', when='@20200303+kokkos')
- depends_on('kokkos+shared@3.1:', when='@20200505:+kokkos')
- depends_on('adios2', when='+user-adios')
- depends_on('adios2', when='+adios')
- depends_on('plumed', when='+user-plumed')
- depends_on('plumed', when='+plumed')
- depends_on('eigen@3:', when='+user-smd')
- depends_on('eigen@3:', when='+machdyn')
- depends_on('py-cython', when='+mliap+python')
- depends_on('py-cython', when='+ml-iap+python')
- depends_on('py-numpy', when='+mliap+python')
- depends_on('py-numpy', when='+ml-iap+python')
+ variant(
+ "lammps_sizes",
+ default="smallbig",
+ description="LAMMPS integer sizes (smallsmall: all 32-bit, smallbig:"
+ + "64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)",
+ values=("smallbig", "bigbig", "smallsmall"),
+ multi=False,
+ )
+ variant(
+ "fftw_precision",
+ default="double",
+ when="+kspace",
+ description="Select FFTW precision (used by Kspace)",
+ values=("single", "double"),
+ multi=False,
+ )
- conflicts('+cuda', when='+opencl')
- conflicts('+body', when='+poems@:20180628')
- conflicts('+latte', when='@:20170921')
- conflicts('+python', when='~lib')
- conflicts('+qeq', when='~manybody')
- conflicts('+user-atc', when='~manybody')
- conflicts('+atc', when='~manybody')
- conflicts('+user-misc', when='~manybody')
- conflicts('+user-phonon', when='~kspace')
- conflicts('+phonon', when='~kspace')
- conflicts('%gcc@9:', when='@:20200303+openmp')
- conflicts('+kokkos', when='@:20200227')
- conflicts('+dielectric', when='~kspace')
- conflicts('+dielectric', when='@:20210702~user-misc')
- conflicts('+dielectric', when='@20210728:~extra-pair')
- conflicts(
- '+meam', when='@20181212:20210527',
- msg='+meam is removed between @20181212 and @20210527, use +user-meamc instead')
- conflicts(
- '+user-meamc', when='@:20181212',
- msg='+user-meamc only added @20181212, use +meam instead')
- conflicts(
- '+user-reaction', when='@:20200303',
- msg='+user-reaction only supported for version 20200505 and later')
- conflicts(
- '+plugin', when='@:20210310',
- msg='+plugin only supported for version 20210408 and later')
- conflicts(
- '+user-brownian', when='@:20210408',
- msg='+user-brownian only supported for version 20210514 and later')
- conflicts(
- '+dielectric', when='@:20210527',
- msg='+dielectric only supported for version 20210702 and later')
- conflicts(
- '+dpd-basic', when='@:20210527',
- msg='+dpd-basic only supported for version 20210702 and later')
- conflicts(
- '+bpm', when='@:20220324',
- msg='+bpm only supported for version 20220504 and later')
- conflicts(
- '+electrode', when='@:20220324',
- msg='+electrode only supported for version 20220504 and later')
- conflicts('+electrode', when='~kspace')
- conflicts('+mliap', when='~snap')
- conflicts('+ml-iap', when='~ml-snap')
- conflicts(
- '+user-adios +mpi', when='^adios2~mpi',
- msg='With +user-adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+user-adios ~mpi', when='^adios2+mpi',
- msg='With +user-adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+adios +mpi', when='^adios2~mpi',
- msg='With +adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+adios ~mpi', when='^adios2+mpi',
- msg='With +adios, mpi setting for adios2 and lammps must be the same')
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+mpiio")
+ depends_on("fftw-api@3", when="+kspace")
+ depends_on("voropp+pic", when="+voronoi")
+ depends_on("netcdf-c+mpi", when="+user-netcdf")
+ depends_on("netcdf-c+mpi", when="+netcdf")
+ depends_on("blas", when="+user-atc")
+ depends_on("blas", when="+atc")
+ depends_on("lapack", when="+user-atc")
+ depends_on("lapack", when="+atc")
+ depends_on("opencl", when="+opencl")
+ depends_on("latte@1.0.1", when="@:20180222+latte")
+ depends_on("latte@1.1.1:", when="@20180316:20180628+latte")
+ depends_on("latte@1.2.1:", when="@20180629:20200505+latte")
+ depends_on("latte@1.2.2:", when="@20200602:+latte")
+ depends_on("blas", when="+latte")
+ depends_on("lapack", when="+latte")
+ depends_on("python", when="+python")
+ depends_on("mpi", when="+user-lb")
+ depends_on("mpi", when="+latboltz")
+ depends_on("mpi", when="+user-h5md")
+ depends_on("mpi", when="+h5md")
+ depends_on("hdf5", when="+user-h5md")
+ depends_on("hdf5", when="+h5md")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("kim-api", when="+kim")
+ depends_on("libpng", when="+png")
+ depends_on("ffmpeg", when="+ffmpeg")
+ depends_on("kokkos+deprecated_code+shared@3.0.00", when="@20200303+kokkos")
+ depends_on("kokkos+shared@3.1:", when="@20200505:+kokkos")
+ depends_on("adios2", when="+user-adios")
+ depends_on("adios2", when="+adios")
+ depends_on("plumed", when="+user-plumed")
+ depends_on("plumed", when="+plumed")
+ depends_on("eigen@3:", when="+user-smd")
+ depends_on("eigen@3:", when="+machdyn")
+ depends_on("py-cython", when="+mliap+python")
+ depends_on("py-cython", when="+ml-iap+python")
+ depends_on("py-numpy", when="+mliap+python")
+ depends_on("py-numpy", when="+ml-iap+python")
- # In the following, package refactoring at 2 July 2021
- conflicts(
- '+mliap', when='@20210702:',
- msg='+mliap was removed after @20210527, use +ml-iap instead')
+ conflicts("+cuda", when="+opencl")
+ conflicts("+body", when="+poems@:20180628")
+ conflicts("+latte", when="@:20170921")
+ conflicts("+python", when="~lib")
+ conflicts("+qeq", when="~manybody")
+ conflicts("+user-atc", when="~manybody")
+ conflicts("+atc", when="~manybody")
+ conflicts("+user-misc", when="~manybody")
+ conflicts("+user-phonon", when="~kspace")
+ conflicts("+phonon", when="~kspace")
+ conflicts("%gcc@9:", when="@:20200303+openmp")
+ conflicts("+kokkos", when="@:20200227")
+ conflicts("+dielectric", when="~kspace")
+ conflicts("+dielectric", when="@:20210702~user-misc")
+ conflicts("+dielectric", when="@20210728:~extra-pair")
+ conflicts(
+ "+meam",
+ when="@20181212:20210527",
+ msg="+meam is removed between @20181212 and @20210527, use +user-meamc instead",
+ )
conflicts(
- '+ml-iap', when='@:20210527',
- msg='+ml-iap only added @20210702, use +mliap instead')
+ "+user-meamc", when="@:20181212", msg="+user-meamc only added @20181212, use +meam instead"
+ )
conflicts(
- '+snap', when='@20210702:',
- msg='+snap was removed after @20210527, use +ml-snap instead')
+ "+user-reaction",
+ when="@:20200303",
+ msg="+user-reaction only supported for version 20200505 and later",
+ )
conflicts(
- '+ml-snap', when='@:20210527',
- msg='+ml-snap only added @20210702, use +snap instead')
- #
+ "+plugin", when="@:20210310", msg="+plugin only supported for version 20210408 and later"
+ )
conflicts(
- '+user-atc', when='@20210702:',
- msg='+user-atc was removed after @20210527, use +atc instead')
+ "+user-brownian",
+ when="@:20210408",
+ msg="+user-brownian only supported for version 20210514 and later",
+ )
conflicts(
- '+atc', when='@:20210527',
- msg='+atc only added @20210702, use +user-atc instead')
+ "+dielectric",
+ when="@:20210527",
+ msg="+dielectric only supported for version 20210702 and later",
+ )
conflicts(
- '+user-adios', when='@20210702:',
- msg='+user-adios was removed after @20210527, use +adios instead')
+ "+dpd-basic",
+ when="@:20210527",
+ msg="+dpd-basic only supported for version 20210702 and later",
+ )
+ conflicts("+bpm", when="@:20220324", msg="+bpm only supported for version 20220504 and later")
conflicts(
- '+adios', when='@:20210527',
- msg='+adios only added @20210702, use +user-adios instead')
+ "+electrode",
+ when="@:20220324",
+ msg="+electrode only supported for version 20220504 and later",
+ )
+ conflicts("+electrode", when="~kspace")
+ conflicts("+mliap", when="~snap")
+ conflicts("+ml-iap", when="~ml-snap")
conflicts(
- '+user-awpmd', when='@20210702:',
- msg='+user-awpmd was removed after @20210527, use +awpmd instead')
+ "+user-adios +mpi",
+ when="^adios2~mpi",
+ msg="With +user-adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+awpmd', when='@:20210527',
- msg='+awpmd only added @20210702, use +user-awpmd instead')
+ "+user-adios ~mpi",
+ when="^adios2+mpi",
+ msg="With +user-adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+user-bocs', when='@20210702:',
- msg='+user-bocs was removed after @20210527, use +bocs instead')
+ "+adios +mpi",
+ when="^adios2~mpi",
+ msg="With +adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+bocs', when='@:20210527',
- msg='+bocs only added @20210702, use +user-bocs instead')
+ "+adios ~mpi",
+ when="^adios2+mpi",
+ msg="With +adios, mpi setting for adios2 and lammps must be the same",
+ )
+
+ # In the following, package refactoring at 2 July 2021
conflicts(
- '+user-brownian', when='@20210702:',
- msg='+user-brownian was removed after @20210527, use +brownian instead')
+ "+mliap", when="@20210702:", msg="+mliap was removed after @20210527, use +ml-iap instead"
+ )
+ conflicts("+ml-iap", when="@:20210527", msg="+ml-iap only added @20210702, use +mliap instead")
conflicts(
- '+brownian', when='@:20210527',
- msg='+brownian only added @20210702, use +user-brownian instead')
+ "+snap", when="@20210702:", msg="+snap was removed after @20210527, use +ml-snap instead"
+ )
conflicts(
- '+user-cgsdk', when='@20210702:',
- msg='+user-cgsdk was removed after @20210527, use +cg-sdk instead')
+ "+ml-snap", when="@:20210527", msg="+ml-snap only added @20210702, use +snap instead"
+ )
+ #
conflicts(
- '+cg-sdk', when='@:20210527',
- msg='+cg-sdk only added @20210702, use +user-cgsdk instead')
+ "+user-atc",
+ when="@20210702:",
+ msg="+user-atc was removed after @20210527, use +atc instead",
+ )
+ conflicts("+atc", when="@:20210527", msg="+atc only added @20210702, use +user-atc instead")
conflicts(
- '+user-colvars', when='@20210702:',
- msg='+user-colvars was removed after @20210527, use +colvars instead')
+ "+user-adios",
+ when="@20210702:",
+ msg="+user-adios was removed after @20210527, use +adios instead",
+ )
conflicts(
- '+colvars', when='@:20210527',
- msg='+colvars only added @20210702, use +user-colvars instead')
+ "+adios", when="@:20210527", msg="+adios only added @20210702, use +user-adios instead"
+ )
conflicts(
- '+user-diffraction', when='@20210702:',
- msg='+user-diffraction was removed after @20210527, use +diffraction instead')
+ "+user-awpmd",
+ when="@20210702:",
+ msg="+user-awpmd was removed after @20210527, use +awpmd instead",
+ )
conflicts(
- '+diffraction', when='@:20210527',
- msg='+diffraction only added @20210702, use +user-diffraction instead')
+ "+awpmd", when="@:20210527", msg="+awpmd only added @20210702, use +user-awpmd instead"
+ )
conflicts(
- '+user-dpd', when='@20210702:',
- msg='+user-dpd was removed after @20210527, use +dpd-react instead')
+ "+user-bocs",
+ when="@20210702:",
+ msg="+user-bocs was removed after @20210527, use +bocs instead",
+ )
+ conflicts("+bocs", when="@:20210527", msg="+bocs only added @20210702, use +user-bocs instead")
conflicts(
- '+dpd-react', when='@:20210527',
- msg='+dpd-react only added @20210702, use +user-dpd instead')
+ "+user-brownian",
+ when="@20210702:",
+ msg="+user-brownian was removed after @20210527, use +brownian instead",
+ )
conflicts(
- '+user-drude', when='@20210702:',
- msg='+user-drude was removed after @20210527, use +drude instead')
+ "+brownian",
+ when="@:20210527",
+ msg="+brownian only added @20210702, use +user-brownian instead",
+ )
conflicts(
- '+drude', when='@:20210527',
- msg='+drude only added @20210702, use +user-drude instead')
+ "+user-cgsdk",
+ when="@20210702:",
+ msg="+user-cgsdk was removed after @20210527, use +cg-sdk instead",
+ )
conflicts(
- '+user-eff', when='@20210702:',
- msg='+user-eff was removed after @20210527, use +eff instead')
+ "+cg-sdk", when="@:20210527", msg="+cg-sdk only added @20210702, use +user-cgsdk instead"
+ )
conflicts(
- '+eff', when='@:20210527',
- msg='+eff only added @20210702, use +user-eff instead')
+ "+user-colvars",
+ when="@20210702:",
+ msg="+user-colvars was removed after @20210527, use +colvars instead",
+ )
conflicts(
- '+user-fep', when='@20210702:',
- msg='+user-fep was removed after @20210527, use +fep instead')
+ "+colvars",
+ when="@:20210527",
+ msg="+colvars only added @20210702, use +user-colvars instead",
+ )
conflicts(
- '+fep', when='@:20210527',
- msg='+fep only added @20210702, use +user-fep instead')
+ "+user-diffraction",
+ when="@20210702:",
+ msg="+user-diffraction was removed after @20210527, use +diffraction instead",
+ )
conflicts(
- '+user-h5md', when='@20210702:',
- msg='+user-h5md was removed after @20210527, use +h5md instead')
+ "+diffraction",
+ when="@:20210527",
+ msg="+diffraction only added @20210702, use +user-diffraction instead",
+ )
conflicts(
- '+h5md', when='@:20210527',
- msg='+h5md only added @20210702, use +user-h5md instead')
+ "+user-dpd",
+ when="@20210702:",
+ msg="+user-dpd was removed after @20210527, use +dpd-react instead",
+ )
conflicts(
- '+user-lb', when='@20210702:',
- msg='+user-lb was removed after @20210527, use +latboltz instead')
+ "+dpd-react",
+ when="@:20210527",
+ msg="+dpd-react only added @20210702, use +user-dpd instead",
+ )
conflicts(
- '+latboltz', when='@:20210527',
- msg='+latboltz only added @20210702, use +user-lb instead')
+ "+user-drude",
+ when="@20210702:",
+ msg="+user-drude was removed after @20210527, use +drude instead",
+ )
conflicts(
- '+user-manifold', when='@20210702:',
- msg='+user-manifold was removed after @20210527, use +manifold instead')
+ "+drude", when="@:20210527", msg="+drude only added @20210702, use +user-drude instead"
+ )
conflicts(
- '+manifold', when='@:20210527',
- msg='+manifold only added @20210702, use +user-manifold instead')
+ "+user-eff",
+ when="@20210702:",
+ msg="+user-eff was removed after @20210527, use +eff instead",
+ )
+ conflicts("+eff", when="@:20210527", msg="+eff only added @20210702, use +user-eff instead")
conflicts(
- '+user-meamc', when='@20210702:',
- msg='+user-meamc was removed after @20210527, use +meam instead')
+ "+user-fep",
+ when="@20210702:",
+ msg="+user-fep was removed after @20210527, use +fep instead",
+ )
+ conflicts("+fep", when="@:20210527", msg="+fep only added @20210702, use +user-fep instead")
conflicts(
- '+user-mesodpd', when='@20210702:',
- msg='+user-mesodpd was removed after @20210527, use +dpd-meso instead')
+ "+user-h5md",
+ when="@20210702:",
+ msg="+user-h5md was removed after @20210527, use +h5md instead",
+ )
+ conflicts("+h5md", when="@:20210527", msg="+h5md only added @20210702, use +user-h5md instead")
conflicts(
- '+dpd-meso', when='@:20210527',
- msg='+dpd-meso only added @20210702, use +user-mesodpd instead')
+ "+user-lb",
+ when="@20210702:",
+ msg="+user-lb was removed after @20210527, use +latboltz instead",
+ )
conflicts(
- '+user-mesont', when='@20210702:',
- msg='+user-mesont was removed after @20210527, use +mesont instead')
+ "+latboltz", when="@:20210527", msg="+latboltz only added @20210702, use +user-lb instead"
+ )
conflicts(
- '+mesont', when='@:20210527',
- msg='+mesont only added @20210702, use +user-mesont instead')
+ "+user-manifold",
+ when="@20210702:",
+ msg="+user-manifold was removed after @20210527, use +manifold instead",
+ )
conflicts(
- '+user-mgpt', when='@20210702:',
- msg='+user-mgpt was removed after @20210527, use +mgpt instead')
+ "+manifold",
+ when="@:20210527",
+ msg="+manifold only added @20210702, use +user-manifold instead",
+ )
conflicts(
- '+mgpt', when='@:20210527',
- msg='+mgpt only added @20210702, use +user-mgpt instead')
+ "+user-meamc",
+ when="@20210702:",
+ msg="+user-meamc was removed after @20210527, use +meam instead",
+ )
conflicts(
- '+user-mofff', when='@20210702:',
- msg='+user-mofff was removed after @20210527, use +mofff instead')
+ "+user-mesodpd",
+ when="@20210702:",
+ msg="+user-mesodpd was removed after @20210527, use +dpd-meso instead",
+ )
conflicts(
- '+mofff', when='@:20210527',
- msg='+mofff only added @20210702, use +user-mofff instead')
+ "+dpd-meso",
+ when="@:20210527",
+ msg="+dpd-meso only added @20210702, use +user-mesodpd instead",
+ )
conflicts(
- '+user-molfile', when='@20210702:',
- msg='+user-molfile was removed after @20210527, use +molfile instead')
+ "+user-mesont",
+ when="@20210702:",
+ msg="+user-mesont was removed after @20210527, use +mesont instead",
+ )
conflicts(
- '+molfile', when='@:20210527',
- msg='+molfile only added @20210702, use +user-molfile instead')
+ "+mesont", when="@:20210527", msg="+mesont only added @20210702, use +user-mesont instead"
+ )
conflicts(
- '+user-netcdf', when='@20210702:',
- msg='+user-netcdf was removed after @20210527, use +netcdf instead')
+ "+user-mgpt",
+ when="@20210702:",
+ msg="+user-mgpt was removed after @20210527, use +mgpt instead",
+ )
+ conflicts("+mgpt", when="@:20210527", msg="+mgpt only added @20210702, use +user-mgpt instead")
conflicts(
- '+netcdf', when='@:20210527',
- msg='+netcdf only added @20210702, use +user-netcdf instead')
+ "+user-mofff",
+ when="@20210702:",
+ msg="+user-mofff was removed after @20210527, use +mofff instead",
+ )
conflicts(
- '+user-omp', when='@20210702:',
- msg='+user-omp was removed after @20210527, use +openmp-package instead')
+ "+mofff", when="@:20210527", msg="+mofff only added @20210702, use +user-mofff instead"
+ )
conflicts(
- '+openmp-package', when='@:20210527',
- msg='+openmp-package only added @20210702, use +user-omp instead')
+ "+user-molfile",
+ when="@20210702:",
+ msg="+user-molfile was removed after @20210527, use +molfile instead",
+ )
conflicts(
- '+user-phonon', when='@20210702:',
- msg='+user-phonon was removed after @20210527, use +phonon instead')
+ "+molfile",
+ when="@:20210527",
+ msg="+molfile only added @20210702, use +user-molfile instead",
+ )
conflicts(
- '+phonon', when='@:20210527',
- msg='+phonon only added @20210702, use +user-phonon instead')
+ "+user-netcdf",
+ when="@20210702:",
+ msg="+user-netcdf was removed after @20210527, use +netcdf instead",
+ )
conflicts(
- '+user-plumed', when='@20210702:',
- msg='+user-plumed was removed after @20210527, use +plumed instead')
+ "+netcdf", when="@:20210527", msg="+netcdf only added @20210702, use +user-netcdf instead"
+ )
conflicts(
- '+plumed', when='@:20210527',
- msg='+plumed only added @20210702, use +user-plumed instead')
+ "+user-omp",
+ when="@20210702:",
+ msg="+user-omp was removed after @20210527, use +openmp-package instead",
+ )
conflicts(
- '+user-ptm', when='@20210702:',
- msg='+user-ptm was removed after @20210527, use +ptm instead')
+ "+openmp-package",
+ when="@:20210527",
+ msg="+openmp-package only added @20210702, use +user-omp instead",
+ )
conflicts(
- '+ptm', when='@:20210527',
- msg='+ptm only added @20210702, use +user-ptm instead')
+ "+user-phonon",
+ when="@20210702:",
+ msg="+user-phonon was removed after @20210527, use +phonon instead",
+ )
conflicts(
- '+user-qtb', when='@20210702:',
- msg='+user-qtb was removed after @20210527, use +qtb instead')
+ "+phonon", when="@:20210527", msg="+phonon only added @20210702, use +user-phonon instead"
+ )
conflicts(
- '+qtb', when='@:20210527',
- msg='+qtb only added @20210702, use +user-qtb instead')
+ "+user-plumed",
+ when="@20210702:",
+ msg="+user-plumed was removed after @20210527, use +plumed instead",
+ )
conflicts(
- '+user-reaction', when='@20210702:',
- msg='+user-reaction was removed after @20210527, use +reaction instead')
+ "+plumed", when="@:20210527", msg="+plumed only added @20210702, use +user-plumed instead"
+ )
conflicts(
- '+reaction', when='@:20210527',
- msg='+reaction only added @20210702, use +user-reaction instead')
+ "+user-ptm",
+ when="@20210702:",
+ msg="+user-ptm was removed after @20210527, use +ptm instead",
+ )
+ conflicts("+ptm", when="@:20210527", msg="+ptm only added @20210702, use +user-ptm instead")
conflicts(
- '+user-reaxc', when='@20210702:',
- msg='+user-reaxc was removed after @20210527, use +reaxff instead')
+ "+user-qtb",
+ when="@20210702:",
+ msg="+user-qtb was removed after @20210527, use +qtb instead",
+ )
+ conflicts("+qtb", when="@:20210527", msg="+qtb only added @20210702, use +user-qtb instead")
conflicts(
- '+reaxff', when='@:20210527',
- msg='+reaxff only added @20210702, use +user-reaxc instead')
+ "+user-reaction",
+ when="@20210702:",
+ msg="+user-reaction was removed after @20210527, use +reaction instead",
+ )
conflicts(
- '+user-sdpd', when='@20210702:',
- msg='+user-sdpd was removed after @20210527, use +dpd-smooth instead')
+ "+reaction",
+ when="@:20210527",
+ msg="+reaction only added @20210702, use +user-reaction instead",
+ )
conflicts(
- '+dpd-smooth', when='@:20210527',
- msg='+dpd-smooth only added @20210702, use +user-sdpd instead')
+ "+user-reaxc",
+ when="@20210702:",
+ msg="+user-reaxc was removed after @20210527, use +reaxff instead",
+ )
conflicts(
- '+user-smd', when='@20210702:',
- msg='+user-smd was removed after @20210527, use +machdyn instead')
+ "+reaxff", when="@:20210527", msg="+reaxff only added @20210702, use +user-reaxc instead"
+ )
conflicts(
- '+machdyn', when='@:20210527',
- msg='+machdyn only added @20210702, use +user-smd instead')
+ "+user-sdpd",
+ when="@20210702:",
+ msg="+user-sdpd was removed after @20210527, use +dpd-smooth instead",
+ )
conflicts(
- '+user-smtbq', when='@20210702:',
- msg='+user-smtbq was removed after @20210527, use +smtbq instead')
+ "+dpd-smooth",
+ when="@:20210527",
+ msg="+dpd-smooth only added @20210702, use +user-sdpd instead",
+ )
conflicts(
- '+smtbq', when='@:20210527',
- msg='+smtbq only added @20210702, use +user-smtbq instead')
+ "+user-smd",
+ when="@20210702:",
+ msg="+user-smd was removed after @20210527, use +machdyn instead",
+ )
conflicts(
- '+user-sph', when='@20210702:',
- msg='+user-sph was removed after @20210527, use +sph instead')
+ "+machdyn", when="@:20210527", msg="+machdyn only added @20210702, use +user-smd instead"
+ )
conflicts(
- '+sph', when='@:20210527',
- msg='+sph only added @20210702, use +user-sph instead')
+ "+user-smtbq",
+ when="@20210702:",
+ msg="+user-smtbq was removed after @20210527, use +smtbq instead",
+ )
conflicts(
- '+user-tally', when='@20210702:',
- msg='+user-tally was removed after @20210527, use +tally instead')
+ "+smtbq", when="@:20210527", msg="+smtbq only added @20210702, use +user-smtbq instead"
+ )
conflicts(
- '+tally', when='@:20210527',
- msg='+tally only added @20210702, use +user-tally instead')
+ "+user-sph",
+ when="@20210702:",
+ msg="+user-sph was removed after @20210527, use +sph instead",
+ )
+ conflicts("+sph", when="@:20210527", msg="+sph only added @20210702, use +user-sph instead")
conflicts(
- '+user-uef', when='@20210702:',
- msg='+user-uef was removed after @20210527, use +uef instead')
+ "+user-tally",
+ when="@20210702:",
+ msg="+user-tally was removed after @20210527, use +tally instead",
+ )
conflicts(
- '+uef', when='@:20210527',
- msg='+uef only added @20210702, use +user-uef instead')
+ "+tally", when="@:20210527", msg="+tally only added @20210702, use +user-tally instead"
+ )
conflicts(
- '+user-yaff', when='@20210702:',
- msg='+user-yaff was removed after @20210527, use +yaff instead')
+ "+user-uef",
+ when="@20210702:",
+ msg="+user-uef was removed after @20210527, use +uef instead",
+ )
+ conflicts("+uef", when="@:20210527", msg="+uef only added @20210702, use +user-uef instead")
conflicts(
- '+yaff', when='@:20210527',
- msg='+yaff only added @20210702, use +user-yaff instead')
+ "+user-yaff",
+ when="@20210702:",
+ msg="+user-yaff was removed after @20210527, use +yaff instead",
+ )
+ conflicts("+yaff", when="@:20210527", msg="+yaff only added @20210702, use +user-yaff instead")
# In the following, package refactoring at 28 July 2021
conflicts(
- '+user-misc', when='@20210728:',
- msg='+user-misc was removed after @20210702, and split over multiple packages')
+ "+user-misc",
+ when="@20210728:",
+ msg="+user-misc was removed after @20210702, and split over multiple packages",
+ )
conflicts(
- '+extra-compute', when='@:20210702',
- msg='+extra-compute only added @20210728, use +user-misc instead')
+ "+extra-compute",
+ when="@:20210702",
+ msg="+extra-compute only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-dump', when='@:20210702',
- msg='+extra-dump only added @20210728, use +user-misc instead')
+ "+extra-dump",
+ when="@:20210702",
+ msg="+extra-dump only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-fix', when='@:20210702',
- msg='+extra-fix only added @20210728, use +user-misc instead')
+ "+extra-fix",
+ when="@:20210702",
+ msg="+extra-fix only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-molecule', when='@:20210702',
- msg='+extra-molecule only added @20210728, use +user-misc instead')
+ "+extra-molecule",
+ when="@:20210702",
+ msg="+extra-molecule only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-pair', when='@:20210702',
- msg='+extra-pair only added @20210728, use +user-misc instead')
+ "+extra-pair",
+ when="@:20210702",
+ msg="+extra-pair only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+interlayer', when='@:20210702',
- msg='+interlayer only added @20210728, use +user-misc instead')
+ "+interlayer",
+ when="@:20210702",
+ msg="+interlayer only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+orient', when='@:20210702',
- msg='+orient only added @20210728, use +user-misc instead')
+ "+orient", when="@:20210702", msg="+orient only added @20210728, use +user-misc instead"
+ )
patch("lib.patch", when="@20170901")
patch("660.patch", when="@20170922")
patch("gtest_fix.patch", when="@:20210310 %aocc@3.2.0")
- patch("https://github.com/lammps/lammps/commit/562300996285fdec4ef74542383276898555af06.patch?full_index=1",
- sha256="e6f1b62bbfdc79d632f4cea98019202d0dd25aa4ae61a70df1164cb4f290df79",
- when="@20200721 +cuda")
+ patch(
+ "https://github.com/lammps/lammps/commit/562300996285fdec4ef74542383276898555af06.patch?full_index=1",
+ sha256="e6f1b62bbfdc79d632f4cea98019202d0dd25aa4ae61a70df1164cb4f290df79",
+ when="@20200721 +cuda",
+ )
- root_cmakelists_dir = 'cmake'
+ root_cmakelists_dir = "cmake"
def cmake_args(self):
spec = self.spec
- mpi_prefix = 'ENABLE'
- pkg_prefix = 'ENABLE'
- if spec.satisfies('@20180629:'):
- mpi_prefix = 'BUILD'
- pkg_prefix = 'PKG'
+ mpi_prefix = "ENABLE"
+ pkg_prefix = "ENABLE"
+ if spec.satisfies("@20180629:"):
+ mpi_prefix = "BUILD"
+ pkg_prefix = "PKG"
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'lib'),
- self.define_from_variant('LAMMPS_EXCEPTIONS', 'exceptions'),
- '-D{0}_MPI={1}'.format(
- mpi_prefix,
- 'ON' if '+mpi' in spec else 'OFF'),
- self.define_from_variant('BUILD_OMP', 'openmp'),
- '-DENABLE_TESTING=ON'
+ self.define_from_variant("BUILD_SHARED_LIBS", "lib"),
+ self.define_from_variant("LAMMPS_EXCEPTIONS", "exceptions"),
+ "-D{0}_MPI={1}".format(mpi_prefix, "ON" if "+mpi" in spec else "OFF"),
+ self.define_from_variant("BUILD_OMP", "openmp"),
+ "-DENABLE_TESTING=ON",
]
- if spec.satisfies('+cuda'):
- args.append('-DPKG_GPU=ON')
- args.append('-DGPU_API=cuda')
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DGPU_ARCH=sm_{0}'.format(cuda_arch[0]))
- args.append(self.define_from_variant('CUDA_MPS_SUPPORT', 'cuda_mps'))
- elif spec.satisfies('+opencl'):
- args.append('-DPKG_GPU=ON')
- args.append('-DGPU_API=opencl')
+ if spec.satisfies("+cuda"):
+ args.append("-DPKG_GPU=ON")
+ args.append("-DGPU_API=cuda")
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
+ args.append("-DGPU_ARCH=sm_{0}".format(cuda_arch[0]))
+ args.append(self.define_from_variant("CUDA_MPS_SUPPORT", "cuda_mps"))
+ elif spec.satisfies("+opencl"):
+ args.append("-DPKG_GPU=ON")
+ args.append("-DGPU_API=opencl")
else:
- args.append('-DPKG_GPU=OFF')
+ args.append("-DPKG_GPU=OFF")
- if spec.satisfies('@20180629:+lib'):
- args.append('-DBUILD_LIB=ON')
+ if spec.satisfies("@20180629:+lib"):
+ args.append("-DBUILD_LIB=ON")
- if spec.satisfies('%aocc'):
- cxx_flags = '-Ofast -mfma -fvectorize -funroll-loops'
- args.append(self.define('CMAKE_CXX_FLAGS_RELEASE', cxx_flags))
+ if spec.satisfies("%aocc"):
+ cxx_flags = "-Ofast -mfma -fvectorize -funroll-loops"
+ args.append(self.define("CMAKE_CXX_FLAGS_RELEASE", cxx_flags))
# Overwrite generic cpu tune option
cmake_tune_flags = archspec.cpu.TARGETS[spec.target.name].optimization_flags(
- spec.compiler.name,
- spec.compiler.version
+ spec.compiler.name, spec.compiler.version
)
- args.append(self.define('CMAKE_TUNE_FLAGS', cmake_tune_flags))
+ args.append(self.define("CMAKE_TUNE_FLAGS", cmake_tune_flags))
- lammps_sizes = self.spec.variants['lammps_sizes'].value
- args.append(self.define('LAMMPS_SIZES', lammps_sizes))
+ lammps_sizes = self.spec.variants["lammps_sizes"].value
+ args.append(self.define("LAMMPS_SIZES", lammps_sizes))
- args.append(self.define_from_variant('WITH_JPEG', 'jpeg'))
- args.append(self.define_from_variant('WITH_PNG', 'png'))
- args.append(self.define_from_variant('WITH_FFMPEG', 'ffmpeg'))
+ args.append(self.define_from_variant("WITH_JPEG", "jpeg"))
+ args.append(self.define_from_variant("WITH_PNG", "png"))
+ args.append(self.define_from_variant("WITH_FFMPEG", "ffmpeg"))
for pkg in self.supported_packages:
- opt = '-D{0}_{1}'.format(pkg_prefix, pkg.replace('-package', '').upper())
- if '+{0}'.format(pkg) in spec:
- args.append('{0}=ON'.format(opt))
+ opt = "-D{0}_{1}".format(pkg_prefix, pkg.replace("-package", "").upper())
+ if "+{0}".format(pkg) in spec:
+ args.append("{0}=ON".format(opt))
else:
- args.append('{0}=OFF'.format(opt))
- if '+kim' in spec:
- args.append('-DPKG_KIM=ON')
- if '+kspace' in spec:
+ args.append("{0}=OFF".format(opt))
+ if "+kim" in spec:
+ args.append("-DPKG_KIM=ON")
+ if "+kspace" in spec:
# If FFTW3 is selected, then CMake will try to detect, if threaded
# FFTW libraries are available and enable them by default.
- if '^fftw' in spec:
- args.append('-DFFT=FFTW3')
- if '^mkl' in spec:
- args.append('-DFFT=MKL')
- if '^amdfftw' in spec:
- args.append(self.define('FFT', 'FFTW3'))
- if '^cray-fftw' in spec:
- args.append('-DFFT=FFTW3')
+ if "^fftw" in spec:
+ args.append("-DFFT=FFTW3")
+ if "^mkl" in spec:
+ args.append("-DFFT=MKL")
+ if "^amdfftw" in spec:
+ args.append(self.define("FFT", "FFTW3"))
+ if "^cray-fftw" in spec:
+ args.append("-DFFT=FFTW3")
# Using the -DFFT_SINGLE setting trades off a little accuracy
# for reduced memory use and parallel communication costs
# for transposing 3d FFT data.
- if spec.satisfies('fftw_precision=single'):
- args.append('-DFFT_SINGLE=True')
+ if spec.satisfies("fftw_precision=single"):
+ args.append("-DFFT_SINGLE=True")
else:
- args.append('-DFFT_SINGLE=False')
+ args.append("-DFFT_SINGLE=False")
- if '+kokkos' in spec:
- args.append('-DEXTERNAL_KOKKOS=ON')
- if '+user-adios' in spec or '+adios' in spec:
- args.append('-DADIOS2_DIR={0}'.format(self.spec['adios2'].prefix))
- if '+user-plumed' in spec or '+plumed' in spec:
- args.append('-DDOWNLOAD_PLUMED=no')
- if '+shared' in self.spec['plumed']:
- args.append('-DPLUMED_MODE=shared')
+ if "+kokkos" in spec:
+ args.append("-DEXTERNAL_KOKKOS=ON")
+ if "+user-adios" in spec or "+adios" in spec:
+ args.append("-DADIOS2_DIR={0}".format(self.spec["adios2"].prefix))
+ if "+user-plumed" in spec or "+plumed" in spec:
+ args.append("-DDOWNLOAD_PLUMED=no")
+ if "+shared" in self.spec["plumed"]:
+ args.append("-DPLUMED_MODE=shared")
else:
- args.append('-DPLUMED_MODE=static')
- if '+user-smd' in spec or '+machdyn' in spec:
- args.append('-DDOWNLOAD_EIGEN3=no')
- args.append('-DEIGEN3_INCLUDE_DIR={0}'.format(
- self.spec['eigen'].prefix.include))
+ args.append("-DPLUMED_MODE=static")
+ if "+user-smd" in spec or "+machdyn" in spec:
+ args.append("-DDOWNLOAD_EIGEN3=no")
+ args.append("-DEIGEN3_INCLUDE_DIR={0}".format(self.spec["eigen"].prefix.include))
return args
def setup_run_environment(self, env):
- env.set('LAMMPS_POTENTIALS',
- self.prefix.share.lammps.potentials)
+ env.set("LAMMPS_POTENTIALS", self.prefix.share.lammps.potentials)
diff --git a/var/spack/repos/builtin/packages/landsfcutil/package.py b/var/spack/repos/builtin/packages/landsfcutil/package.py
index 850a5f5919..ff3a9bf6bf 100644
--- a/var/spack/repos/builtin/packages/landsfcutil/package.py
+++ b/var/spack/repos/builtin/packages/landsfcutil/package.py
@@ -13,23 +13,23 @@ class Landsfcutil(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-landsfcutil"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-landsfcutil/archive/refs/tags/v2.4.1.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-landsfcutil/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- version('2.4.1', sha256='831c5005a480eabe9a8542b4deec838c2650f6966863ea2711cc0cc5db51ca14')
+ version("2.4.1", sha256="831c5005a480eabe9a8542b4deec838c2650f6966863ea2711cc0cc5db51ca14")
def setup_run_environment(self, env):
- for suffix in ('4', 'd'):
- lib = find_libraries('liblandsfcutil_' + suffix, root=self.prefix,
- shared=False, recursive=True)
+ for suffix in ("4", "d"):
+ lib = find_libraries(
+ "liblandsfcutil_" + suffix, root=self.prefix, shared=False, recursive=True
+ )
- env.set('LANDSFCUTIL_LIB' + suffix, lib[0])
- env.set('LANDSFCUTIL_INC' + suffix,
- join_path(self.prefix, 'include_' + suffix))
+ env.set("LANDSFCUTIL_LIB" + suffix, lib[0])
+ env.set("LANDSFCUTIL_INC" + suffix, join_path(self.prefix, "include_" + suffix))
def flag_handler(self, name, flags):
- if self.spec.satisfies('%fj'):
- if name == 'fflags':
- flags.append('-Free')
+ if self.spec.satisfies("%fj"):
+ if name == "fflags":
+ flags.append("-Free")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py b/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py
index 5bd21808ed..b9fffd7a52 100644
--- a/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py
+++ b/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py
@@ -7,11 +7,10 @@ from spack.package import *
class LanlCmakeModules(CMakePackage):
- '''CMake modules for projects that have not yet adopted modern CMake.
- '''
+ """CMake modules for projects that have not yet adopted modern CMake."""
- maintainers = ['tuxfan']
- homepage = 'https://lanl.github.io/cmake-modules'
- git = 'https://github.com/lanl/cmake-modules.git'
+ maintainers = ["tuxfan"]
+ homepage = "https://lanl.github.io/cmake-modules"
+ git = "https://github.com/lanl/cmake-modules.git"
- version('develop', branch='develop')
+ version("develop", branch="develop")
diff --git a/var/spack/repos/builtin/packages/lapackpp/package.py b/var/spack/repos/builtin/packages/lapackpp/package.py
index 93026e8991..9a56b692c7 100644
--- a/var/spack/repos/builtin/packages/lapackpp/package.py
+++ b/var/spack/repos/builtin/packages/lapackpp/package.py
@@ -10,64 +10,74 @@ from spack.package import *
# Each LAPACK++ version requires a specific BLAS++ version
_versions = [
# LAPACK++, BLAS++
- ['master', 'master'],
- ['2022.05.00', '2022.05.00'],
- ['2020.10.00', '2020.10.00'],
- ['2020.10.01', '2020.10.01'],
- ['2020.10.02', '2020.10.02'],
- ['2021.04.00', '2021.04.01:'], # or later
+ ["master", "master"],
+ ["2022.05.00", "2022.05.00"],
+ ["2020.10.00", "2020.10.00"],
+ ["2020.10.01", "2020.10.01"],
+ ["2020.10.02", "2020.10.02"],
+ ["2021.04.00", "2021.04.01:"], # or later
]
class Lapackpp(CMakePackage):
"""LAPACK++: C++ API for the LAPACK Linear Algebra Package. Developed
- by the Innovative Computing Laboratory at the University of Tennessee,
- Knoxville."""
+ by the Innovative Computing Laboratory at the University of Tennessee,
+ Knoxville."""
homepage = "https://bitbucket.org/icl/lapackpp"
git = homepage
- url = 'https://bitbucket.org/icl/lapackpp/downloads/lapackpp-2020.09.00.tar.gz'
- maintainers = ['teonnik', 'Sely85', 'G-Ragghianti', 'mgates3']
-
- version('master', branch='master')
- version('2022.05.00', sha256='d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2')
- version('2021.04.00', sha256='67abd8de9757dba86eb5d154cdb91f176b6c8b2b7d8e2a669ba0c221c4bb60ed')
- version('2020.10.02', sha256='8dde9b95d75b494c4f8b893d68034e95b7a7541981359acb97b6c1c4a9c45cd9')
- version('2020.10.01', sha256='ecd659730b4c3cfb8d2595f9bbb6af65d96b79397db654f17fe045bdfea841c0')
- version('2020.10.00', sha256='5f6ab3bd3794711818a3a50198efd29571520bf455e13ffa8ba50fa8376d7d1a')
-
- variant('shared', default=True, description='Build shared library')
+ url = "https://bitbucket.org/icl/lapackpp/downloads/lapackpp-2020.09.00.tar.gz"
+ maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"]
+
+ version("master", branch="master")
+ version(
+ "2022.05.00", sha256="d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2"
+ )
+ version(
+ "2021.04.00", sha256="67abd8de9757dba86eb5d154cdb91f176b6c8b2b7d8e2a669ba0c221c4bb60ed"
+ )
+ version(
+ "2020.10.02", sha256="8dde9b95d75b494c4f8b893d68034e95b7a7541981359acb97b6c1c4a9c45cd9"
+ )
+ version(
+ "2020.10.01", sha256="ecd659730b4c3cfb8d2595f9bbb6af65d96b79397db654f17fe045bdfea841c0"
+ )
+ version(
+ "2020.10.00", sha256="5f6ab3bd3794711818a3a50198efd29571520bf455e13ffa8ba50fa8376d7d1a"
+ )
+
+ variant("shared", default=True, description="Build shared library")
# Match each LAPACK++ version to a specific BLAS++ version
for (lpp_ver, bpp_ver) in _versions:
- depends_on('blaspp@' + bpp_ver, when='@' + lpp_ver)
+ depends_on("blaspp@" + bpp_ver, when="@" + lpp_ver)
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
def cmake_args(self):
spec = self.spec
args = [
- '-DBUILD_SHARED_LIBS=%s' % ('+shared' in spec),
- '-Dbuild_tests=%s' % self.run_tests,
- '-DLAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(';')
+ "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec),
+ "-Dbuild_tests=%s" % self.run_tests,
+ "-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
]
- if spec['blas'].name == 'cray-libsci':
- args.append(self.define('BLA_VENDOR', 'CRAY'))
+ if spec["blas"].name == "cray-libsci":
+ args.append(self.define("BLA_VENDOR", "CRAY"))
return args
def check(self):
# If the tester fails to build, ensure that the check() fails.
- if os.path.isfile(join_path(self.build_directory, 'test', 'tester')):
+ if os.path.isfile(join_path(self.build_directory, "test", "tester")):
with working_dir(self.build_directory):
- make('check')
+ make("check")
else:
- raise Exception('The tester was not built!')
+ raise Exception("The tester was not built!")
def flag_handler(self, name, flags):
- if (self.spec['blas'].name == 'cray-libsci') and name == 'cxxflags':
- flags.append('-DLAPACK_FORTRAN_ADD_')
+ if (self.spec["blas"].name == "cray-libsci") and name == "cxxflags":
+ flags.append("-DLAPACK_FORTRAN_ADD_")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/last/package.py b/var/spack/repos/builtin/packages/last/package.py
index 85679b7be5..383b0177cc 100644
--- a/var/spack/repos/builtin/packages/last/package.py
+++ b/var/spack/repos/builtin/packages/last/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class Last(MakefilePackage):
"""LAST finds similar regions between sequences, and aligns them. It is
- designed for comparing large datasets to each other (e.g. vertebrate
- genomes and/or large numbers of DNA reads)."""
+ designed for comparing large datasets to each other (e.g. vertebrate
+ genomes and/or large numbers of DNA reads)."""
homepage = "http://last.cbrc.jp/"
- url = "http://last.cbrc.jp/last-869.zip"
- git = "https://gitlab.com/mcfrith/last.git"
- maintainers = ['snehring']
+ url = "http://last.cbrc.jp/last-869.zip"
+ git = "https://gitlab.com/mcfrith/last.git"
+ maintainers = ["snehring"]
- version('1282', commit='4368be912f4759e52b549940276f1adf087f489a')
- version('869', sha256='6371a6282bc1bb02a5e5013cc463625f2ce3e7746ff2ea0bdf9fe6b15605a67c')
+ version("1282", commit="4368be912f4759e52b549940276f1adf087f489a")
+ version("869", sha256="6371a6282bc1bb02a5e5013cc463625f2ce3e7746ff2ea0bdf9fe6b15605a67c")
def edit(self, spec, prefix):
- files = ['mat-doc.sh', 'mat-inc.sh', 'seed-doc.sh', 'seed-inc.sh']
- if spec.satisfies('@1282:'):
- files.append('gc-inc.sh')
- with working_dir('build'):
+ files = ["mat-doc.sh", "mat-inc.sh", "seed-doc.sh", "seed-inc.sh"]
+ if spec.satisfies("@1282:"):
+ files.append("gc-inc.sh")
+ with working_dir("build"):
for f in files:
set_executable(f)
def install(self, spec, prefix):
- make('install', 'prefix=%s' % prefix)
+ make("install", "prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/lastz/package.py b/var/spack/repos/builtin/packages/lastz/package.py
index 60ceee323e..1281d3f718 100644
--- a/var/spack/repos/builtin/packages/lastz/package.py
+++ b/var/spack/repos/builtin/packages/lastz/package.py
@@ -10,17 +10,17 @@ class Lastz(MakefilePackage):
"""LASTZ is a program for aligning DNA sequences, a pairwise aligner."""
homepage = "https://lastz.github.io/lastz"
- url = "https://github.com/lastz/lastz/archive/1.04.00.tar.gz"
- version('1.04.15', sha256='46a5cfb1fd41911a36fce5d3a2721ebfec9146952943b302e78b0dfffddd77f8')
- version('1.04.03', sha256='c58ed8e37c4b0e82492b3a2b3e12447a3c40286fb8358906d19f10b0a713e9f4')
- version('1.04.00', sha256='a4c2c7a77430387e96dbc9f5bdc75874334c672be90f5720956c0f211abf9f5a')
+ url = "https://github.com/lastz/lastz/archive/1.04.00.tar.gz"
+ version("1.04.15", sha256="46a5cfb1fd41911a36fce5d3a2721ebfec9146952943b302e78b0dfffddd77f8")
+ version("1.04.03", sha256="c58ed8e37c4b0e82492b3a2b3e12447a3c40286fb8358906d19f10b0a713e9f4")
+ version("1.04.00", sha256="a4c2c7a77430387e96dbc9f5bdc75874334c672be90f5720956c0f211abf9f5a")
# Ref: https://github.com/lastz/lastz/commit/20aa14f483265b4eac97f25aca666c708b9655e4
- patch('sequences.c.patch', when='@:1.04.03')
+ patch("sequences.c.patch", when="@:1.04.03")
# set compile commands for each compiler
def edit(self, spec, prefix):
- filter_file('gcc', spack_cc, 'src/Makefile')
+ filter_file("gcc", spack_cc, "src/Makefile")
def install(self, spec, prefix):
- make('install', 'LASTZ_INSTALL={0}'.format(prefix.bin))
+ make("install", "LASTZ_INSTALL={0}".format(prefix.bin))
diff --git a/var/spack/repos/builtin/packages/laszip/package.py b/var/spack/repos/builtin/packages/laszip/package.py
index c75e58ffd4..6ba3ba2ca3 100644
--- a/var/spack/repos/builtin/packages/laszip/package.py
+++ b/var/spack/repos/builtin/packages/laszip/package.py
@@ -10,6 +10,6 @@ class Laszip(CMakePackage):
"""Free and lossless LiDAR compression"""
homepage = "https://laszip.org/"
- url = "https://github.com/LASzip/LASzip/releases/download/3.4.1/laszip-src-3.4.1.tar.gz"
+ url = "https://github.com/LASzip/LASzip/releases/download/3.4.1/laszip-src-3.4.1.tar.gz"
- version('3.4.1', sha256='5d9b0ffaf8b7319c2fa216da3f3f878bb8f4e5b4b14d2c154d441a351da2be37')
+ version("3.4.1", sha256="5d9b0ffaf8b7319c2fa216da3f3f878bb8f4e5b4b14d2c154d441a351da2be37")
diff --git a/var/spack/repos/builtin/packages/latex2html/package.py b/var/spack/repos/builtin/packages/latex2html/package.py
index 381756cd41..3a17de9d1f 100644
--- a/var/spack/repos/builtin/packages/latex2html/package.py
+++ b/var/spack/repos/builtin/packages/latex2html/package.py
@@ -13,81 +13,112 @@ class Latex2html(AutotoolsPackage):
"""LaTeX2HTML is a utility that converts LaTeX documents to web pages in HTML."""
homepage = "https://www.latex2html.org/"
- url = "https://github.com/latex2html/latex2html/archive/refs/tags/v2021.tar.gz"
- git = "https://github.com/latex2html/latex2html.git"
+ url = "https://github.com/latex2html/latex2html/archive/refs/tags/v2021.tar.gz"
+ git = "https://github.com/latex2html/latex2html.git"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('master', branch='master')
- version('2021', sha256='872fe7a53f91ababaafc964847639e3644f2b9fab3282ea059788e4e18cbba47')
- version('2017', sha256='28a5d4b8f14b1f95928da281b6332559bcd83349ba439b2fa43655b2e21c83ab')
+ version("master", branch="master")
+ version("2021", sha256="872fe7a53f91ababaafc964847639e3644f2b9fab3282ea059788e4e18cbba47")
+ version("2017", sha256="28a5d4b8f14b1f95928da281b6332559bcd83349ba439b2fa43655b2e21c83ab")
- variant('svg', default=True, description='Enable SVG images')
- variant('png', default=True, description='Enable PNG images')
- variant('gif', default=True, description='Enable GIF images')
+ variant("svg", default=True, description="Enable SVG images")
+ variant("png", default=True, description="Enable PNG images")
+ variant("gif", default=True, description="Enable GIF images")
- depends_on('ghostscript', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
+ depends_on("ghostscript", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
# Provides pdfcrop scheme=full
- depends_on('texlive', type=('build', 'run'))
+ depends_on("texlive", type=("build", "run"))
- depends_on('netpbm', type=('build', 'run'))
+ depends_on("netpbm", type=("build", "run"))
# Provides pdftocairo
- depends_on('poppler+glib', type=('build', 'run'), when='+svg')
+ depends_on("poppler+glib", type=("build", "run"), when="+svg")
# A copy of texlive function as long as it does not provide the
# bin env to dependent package:
def tex_arch(self):
- tex_arch = '{0}-{1}'.format(platform.machine(),
- platform.system().lower())
+ tex_arch = "{0}-{1}".format(platform.machine(), platform.system().lower())
return tex_arch
def configure_args(self):
spec = self.spec
- args = ['--with-perl={0}'.format(spec['perl'].command.path)]
- args.extend(self.enable_or_disable('png'))
- args.extend(self.enable_or_disable('gif'))
- args.extend(self.enable_or_disable('svg'))
+ args = ["--with-perl={0}".format(spec["perl"].command.path)]
+ args.extend(self.enable_or_disable("png"))
+ args.extend(self.enable_or_disable("gif"))
+ args.extend(self.enable_or_disable("svg"))
# Since packages do not always provide a proper dependent_build_environment,
# one needs to guess where the bins are since latex2html configure wants to
# hard set the bins location once for all:
- for p in ['gs', 'ps2pdf']:
- exe = join_path(spec['ghostscript'].prefix.bin, p)
+ for p in ["gs", "ps2pdf"]:
+ exe = join_path(spec["ghostscript"].prefix.bin, p)
if os.path.exists(exe):
- args.append('--with-{0}={1}'.format(p, exe))
- pnms = ['pnmcrop', 'pnmflip', 'ppmquant', 'pnmfile', 'pnmcat', 'pbmmake',
- 'ppmtogif', 'pnmtopng', 'ppmtojpeg', 'pnmcut', 'pnmpad', 'pnmrotate',
- 'pnmscale', 'giftopnm', 'jpegtopnm', 'pngtopnm', 'tifftopnm',
- 'anytopnm', 'bmptoppm', 'pcxtoppm', 'sgitopnm', 'xbmtopbm', 'xwdtopnm']
+ args.append("--with-{0}={1}".format(p, exe))
+ pnms = [
+ "pnmcrop",
+ "pnmflip",
+ "ppmquant",
+ "pnmfile",
+ "pnmcat",
+ "pbmmake",
+ "ppmtogif",
+ "pnmtopng",
+ "ppmtojpeg",
+ "pnmcut",
+ "pnmpad",
+ "pnmrotate",
+ "pnmscale",
+ "giftopnm",
+ "jpegtopnm",
+ "pngtopnm",
+ "tifftopnm",
+ "anytopnm",
+ "bmptoppm",
+ "pcxtoppm",
+ "sgitopnm",
+ "xbmtopbm",
+ "xwdtopnm",
+ ]
for p in pnms:
- exe = join_path(spec['netpbm'].prefix.bin, p)
+ exe = join_path(spec["netpbm"].prefix.bin, p)
if os.path.exists(exe):
- args.append('--with-{0}={1}'.format(p, exe))
+ args.append("--with-{0}={1}".format(p, exe))
# PR #24102 at https://github.com/spack/spack/pull/24102
# should make this useless ; but at least it lets us know which are the
# texlive bins that latex2html may use.
- lats = ['pdfcrop', 'tex', 'initex', 'latex', 'dvips', 'dvipng', 'pdflatex',
- 'lualatex', 'dvilualatex', 'kpsewhich', 'mktexlsr']
+ lats = [
+ "pdfcrop",
+ "tex",
+ "initex",
+ "latex",
+ "dvips",
+ "dvipng",
+ "pdflatex",
+ "lualatex",
+ "dvilualatex",
+ "kpsewhich",
+ "mktexlsr",
+ ]
for p in lats:
- exe = join_path(spec['texlive'].prefix.bin, self.tex_arch(), p)
+ exe = join_path(spec["texlive"].prefix.bin, self.tex_arch(), p)
if os.path.exists(exe):
- args.append('--with-{0}={1}'.format(p, exe))
+ args.append("--with-{0}={1}".format(p, exe))
else:
# This should be the only needed code if texlive where
# to set its proper dependent_build_environment
exe = which(p)
if exe:
- args.append('--with-{0}={1}'.format(p, str(exe)))
- if '+svg' in spec:
- p = 'pdftocairo'
- exe = join_path(spec['poppler'].prefix.bin, p)
+ args.append("--with-{0}={1}".format(p, str(exe)))
+ if "+svg" in spec:
+ p = "pdftocairo"
+ exe = join_path(spec["poppler"].prefix.bin, p)
if os.path.exists(exe):
- args.append('--with-{0}={1}'.format(p, exe))
+ args.append("--with-{0}={1}".format(p, exe))
else:
exe = which(p)
if exe:
- args.append('--with-{0}={1}'.format(p, str(exe)))
+ args.append("--with-{0}={1}".format(p, str(exe)))
return args
diff --git a/var/spack/repos/builtin/packages/latte/package.py b/var/spack/repos/builtin/packages/latte/package.py
index 9aa3424069..0ba9fcb9e7 100644
--- a/var/spack/repos/builtin/packages/latte/package.py
+++ b/var/spack/repos/builtin/packages/latte/package.py
@@ -11,44 +11,42 @@ class Latte(CMakePackage):
"""Open source density functional tight binding molecular dynamics."""
homepage = "https://github.com/lanl/latte"
- url = "https://github.com/lanl/latte/tarball/v1.2.1"
- git = "https://github.com/lanl/latte.git"
+ url = "https://github.com/lanl/latte/tarball/v1.2.1"
+ git = "https://github.com/lanl/latte.git"
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
- version('master', branch='master')
- version('1.2.2', sha256='ab1346939dbd70ffd89c5e5bf8d24946cb3655dc25b203bec7fc59c6c63e4c79')
- version('1.2.1', sha256='a21dda5ebdcefa56e9ff7296d74ef03f89c200d2e110a02af7a84612668bf702')
- version('1.0.1', sha256='67b2957639ad8e36b69bc6ea9a13085183a881562af9ca6d2b90b412ff073789')
+ version("master", branch="master")
+ version("1.2.2", sha256="ab1346939dbd70ffd89c5e5bf8d24946cb3655dc25b203bec7fc59c6c63e4c79")
+ version("1.2.1", sha256="a21dda5ebdcefa56e9ff7296d74ef03f89c200d2e110a02af7a84612668bf702")
+ version("1.0.1", sha256="67b2957639ad8e36b69bc6ea9a13085183a881562af9ca6d2b90b412ff073789")
- variant('mpi', default=True,
- description='Build with mpi')
- variant('progress', default=False,
- description='Use progress for fast')
- variant('shared', default=True, description='Build shared libs')
+ variant("mpi", default=True, description="Build with mpi")
+ variant("progress", default=False, description="Use progress for fast")
+ variant("shared", default=True, description="Build shared libs")
- depends_on("cmake@3.1:", type='build')
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('qmd-progress', when='+progress')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("qmd-progress", when="+progress")
- root_cmakelists_dir = 'cmake'
+ root_cmakelists_dir = "cmake"
def cmake_args(self):
options = []
- if '+shared' in self.spec:
- options.append('-DBUILD_SHARED_LIBS=ON')
+ if "+shared" in self.spec:
+ options.append("-DBUILD_SHARED_LIBS=ON")
else:
- options.append('-DBUILD_SHARED_LIBS=OFF')
- if '+mpi' in self.spec:
- options.append('-DO_MPI=yes')
- if '+progress' in self.spec:
- options.append('-DPROGRESS=yes')
-
- blas_list = ';'.join(self.spec['blas'].libs)
- lapack_list = ';'.join(self.spec['lapack'].libs)
- options.append('-DBLAS_LIBRARIES={0}'.format(blas_list))
- options.append('-DLAPACK_LIBRARIES={0}'.format(lapack_list))
+ options.append("-DBUILD_SHARED_LIBS=OFF")
+ if "+mpi" in self.spec:
+ options.append("-DO_MPI=yes")
+ if "+progress" in self.spec:
+ options.append("-DPROGRESS=yes")
+
+ blas_list = ";".join(self.spec["blas"].libs)
+ lapack_list = ";".join(self.spec["lapack"].libs)
+ options.append("-DBLAS_LIBRARIES={0}".format(blas_list))
+ options.append("-DLAPACK_LIBRARIES={0}".format(lapack_list))
return options
diff --git a/var/spack/repos/builtin/packages/launchmon/package.py b/var/spack/repos/builtin/packages/launchmon/package.py
index 18d9ab8799..63a7d6e519 100644
--- a/var/spack/repos/builtin/packages/launchmon/package.py
+++ b/var/spack/repos/builtin/packages/launchmon/package.py
@@ -8,31 +8,31 @@ from spack.package import *
class Launchmon(AutotoolsPackage):
"""Software infrastructure that enables HPC run-time tools to
- co-locate tool daemons with a parallel job."""
+ co-locate tool daemons with a parallel job."""
+
homepage = "https://github.com/LLNL/LaunchMON"
url = "https://github.com/LLNL/LaunchMON/releases/download/v1.0.2/launchmon-v1.0.2.tar.gz"
- git = "https://github.com/llnl/launchmon.git"
- maintainers = ['lee218llnl']
-
- version('master', branch='master')
- version('1.0.2', sha256='1d301ccccfe0873efcd66da87ed5e4d7bafc560b00aee396d8a9365f53b3a33a')
-
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('pkgconfig', type='build')
- depends_on('libgcrypt')
- depends_on('libgpg-error')
- depends_on("elf", type='link')
+ git = "https://github.com/llnl/launchmon.git"
+ maintainers = ["lee218llnl"]
+
+ version("master", branch="master")
+ version("1.0.2", sha256="1d301ccccfe0873efcd66da87ed5e4d7bafc560b00aee396d8a9365f53b3a33a")
+
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("pkgconfig", type="build")
+ depends_on("libgcrypt")
+ depends_on("libgpg-error")
+ depends_on("elf", type="link")
depends_on("boost+exception")
- depends_on("spectrum-mpi", when='arch=ppc64le')
+ depends_on("spectrum-mpi", when="arch=ppc64le")
- patch('launchmon-char-conv.patch', when='@1.0.2')
- patch('for_aarch64.patch', when='@:1.0.2 target=aarch64:')
+ patch("launchmon-char-conv.patch", when="@1.0.2")
+ patch("for_aarch64.patch", when="@:1.0.2 target=aarch64:")
def setup_build_environment(self, env):
- if self.spec.satisfies('@master'):
+ if self.spec.satisfies("@master"):
# automake for launchmon requires the AM_PATH_LIBGCRYPT macro
# which is defined in libgcrypt.m4
- env.prepend_path('ACLOCAL_PATH',
- self.spec['libgcrypt'].prefix.share.aclocal)
+ env.prepend_path("ACLOCAL_PATH", self.spec["libgcrypt"].prefix.share.aclocal)
diff --git a/var/spack/repos/builtin/packages/lazyten/package.py b/var/spack/repos/builtin/packages/lazyten/package.py
index 2644621c91..688ea5bbd7 100644
--- a/var/spack/repos/builtin/packages/lazyten/package.py
+++ b/var/spack/repos/builtin/packages/lazyten/package.py
@@ -12,34 +12,34 @@ class Lazyten(CMakePackage):
"""Lightweight linear algebra library based on lazy matrices"""
homepage = "https://lazyten.org"
- url = "https://github.com/lazyten/lazyten/archive/v0.4.1.tar.gz"
- git = "https://github.com/lazyten/lazyten.git"
+ url = "https://github.com/lazyten/lazyten/archive/v0.4.1.tar.gz"
+ git = "https://github.com/lazyten/lazyten.git"
- maintainers = ['mfherbst']
+ maintainers = ["mfherbst"]
#
# Versions
#
version("develop", branch="master")
- version('0.4.1', sha256='696d151382993c13d04516c77db3ea712a70e3cb449539b9e79abc78cf245ae4')
+ version("0.4.1", sha256="696d151382993c13d04516c77db3ea712a70e3cb449539b9e79abc78cf245ae4")
#
# Variants
#
# Library build type
- variant("build_type", default="DebugRelease",
- description="The build type to build",
- values=("Debug", "Release", "DebugRelease"))
- variant("shared", default=True,
- description="Build shared libraries (else the static one)")
+ variant(
+ "build_type",
+ default="DebugRelease",
+ description="The build type to build",
+ values=("Debug", "Release", "DebugRelease"),
+ )
+ variant("shared", default=True, description="Build shared libraries (else the static one)")
# Features
- variant("arpack", default=True,
- description="Build with Arpack support")
+ variant("arpack", default=True, description="Build with Arpack support")
# Components
- variant("examples", default=False,
- description="Compile examples")
+ variant("examples", default=False, description="Compile examples")
#
# Conflicts
@@ -55,12 +55,12 @@ class Lazyten(CMakePackage):
depends_on("cmake@3:", type="build")
depends_on("krims@develop", when="@develop")
- depends_on("krims@0.2.1", when="@0.4.1")
+ depends_on("krims@0.2.1", when="@0.4.1")
depends_on("blas")
depends_on("lapack")
depends_on("armadillo@4:")
- depends_on("arpack-ng", when="+arpack")
+ depends_on("arpack-ng", when="+arpack")
#
# Settings and cmake cache
@@ -83,14 +83,16 @@ class Lazyten(CMakePackage):
args.append("-Dkrims_DIR=" + krims_modules)
# Add linear algebra backends
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- args.extend([
- "-DARMADILLO_INCLUDE_DIR=" + spec["armadillo"].prefix.include,
- "-DARMADILLO_LIBRARY=" + ";".join(spec["armadillo"].libs),
- #
- "-DLAPACK_FOUND=ON",
- "-DLAPACK_LIBRARIES=" + ";".join(lapack_blas),
- ])
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ args.extend(
+ [
+ "-DARMADILLO_INCLUDE_DIR=" + spec["armadillo"].prefix.include,
+ "-DARMADILLO_LIBRARY=" + ";".join(spec["armadillo"].libs),
+ #
+ "-DLAPACK_FOUND=ON",
+ "-DLAPACK_LIBRARIES=" + ";".join(lapack_blas),
+ ]
+ )
if "+arpack" in spec:
args.append("-DARPACK_DIR=" + spec["arpack-ng"].prefix)
diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index 3500d3eb62..192f7fe975 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -16,450 +16,470 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage):
"""
homepage = "https://software.llnl.gov/lbann/"
- url = "https://github.com/LLNL/lbann/archive/v0.91.tar.gz"
- git = "https://github.com/LLNL/lbann.git"
- tags = ['ecp', 'radiuss']
-
- maintainers = ['bvanessen']
-
- version('develop', branch='develop')
- version('0.102', sha256='3734a76794991207e2dd2221f05f0e63a86ddafa777515d93d99d48629140f1a')
- version('0.101', sha256='69d3fe000a88a448dc4f7e263bcb342c34a177bd9744153654528cd86335a1f7')
- version('0.100', sha256='d1bab4fb6f1b80ae83a7286cc536a32830890f6e5b0c3107a17c2600d0796912')
- version('0.99', sha256='3358d44f1bc894321ce07d733afdf6cb7de39c33e3852d73c9f31f530175b7cd')
- version('0.98.1', sha256='9a2da8f41cd8bf17d1845edf9de6d60f781204ebd37bffba96d8872036c10c66')
- version('0.98', sha256='8d64b9ac0f1d60db553efa4e657f5ea87e790afe65336117267e9c7ae6f68239')
- version('0.97.1', sha256='2f2756126ac8bb993202cf532d72c4d4044e877f4d52de9fdf70d0babd500ce4')
- version('0.97', sha256='9794a706fc7ac151926231efdf74564c39fbaa99edca4acb745ee7d20c32dae7')
- version('0.96', sha256='97af78e9d3c405e963361d0db96ee5425ee0766fa52b43c75b8a5670d48e4b4a')
- version('0.95', sha256='d310b986948b5ee2bedec36383a7fe79403721c8dc2663a280676b4e431f83c2')
- version('0.94', sha256='567e99b488ebe6294933c98a212281bffd5220fc13a0a5cd8441f9a3761ceccf')
- version('0.93', sha256='77bfd7fe52ee7495050f49bcdd0e353ba1730e3ad15042c678faa5eeed55fb8c')
- version('0.92', sha256='9187c5bcbc562c2828fe619d53884ab80afb1bcd627a817edb935b80affe7b84')
- version('0.91', sha256='b69f470829f434f266119a33695592f74802cff4b76b37022db00ab32de322f5')
-
- variant('al', default=True, description='Builds with support for Aluminum Library')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
- variant('conduit', default=True,
- description='Builds with support for Conduit Library '
- '(note that for v0.99 conduit is required)')
- variant('deterministic', default=False,
- description='Builds with support for deterministic execution')
- variant('dihydrogen', default=True,
- description='Builds with support for DiHydrogen Tensor Library')
- variant('distconv', default=False,
- description='Builds with support for spatial, filter, or channel '
- 'distributed convolutions')
- variant('dtype', default='float',
- description='Type for floating point representation of weights',
- values=('float', 'double'))
- variant('fft', default=False, description='Support for FFT operations')
- variant('half', default=False,
- description='Builds with support for FP16 precision data types')
- variant('hwloc', default=True, description='Add support for topology aware algorithms')
- variant('nvprof', default=False, description='Build with region annotations for NVPROF')
- variant('numpy', default=False,
- description='Builds with support for processing NumPy data files')
- variant('vision', default=False,
- description='Builds with support for image processing data with OpenCV')
- variant('vtune', default=False, description='Builds with support for Intel VTune')
- variant('onednn', default=False, description='Support for OneDNN')
- variant('onnx', default=False, description='Support for exporting models into ONNX format')
- variant('nvshmem', default=False, description='Support for NVSHMEM')
- variant('python', default=True, description='Support for Python extensions (e.g. Data Reader)')
- variant('pfe', default=True, description='Python Frontend for generating and launching models')
- variant('boost', default=False, description='Enable callbacks that use Boost libraries')
- variant('asan', default=False, description='Build with support for address-sanitizer')
+ url = "https://github.com/LLNL/lbann/archive/v0.91.tar.gz"
+ git = "https://github.com/LLNL/lbann.git"
+ tags = ["ecp", "radiuss"]
+
+ maintainers = ["bvanessen"]
+
+ version("develop", branch="develop")
+ version("0.102", sha256="3734a76794991207e2dd2221f05f0e63a86ddafa777515d93d99d48629140f1a")
+ version("0.101", sha256="69d3fe000a88a448dc4f7e263bcb342c34a177bd9744153654528cd86335a1f7")
+ version("0.100", sha256="d1bab4fb6f1b80ae83a7286cc536a32830890f6e5b0c3107a17c2600d0796912")
+ version("0.99", sha256="3358d44f1bc894321ce07d733afdf6cb7de39c33e3852d73c9f31f530175b7cd")
+ version("0.98.1", sha256="9a2da8f41cd8bf17d1845edf9de6d60f781204ebd37bffba96d8872036c10c66")
+ version("0.98", sha256="8d64b9ac0f1d60db553efa4e657f5ea87e790afe65336117267e9c7ae6f68239")
+ version("0.97.1", sha256="2f2756126ac8bb993202cf532d72c4d4044e877f4d52de9fdf70d0babd500ce4")
+ version("0.97", sha256="9794a706fc7ac151926231efdf74564c39fbaa99edca4acb745ee7d20c32dae7")
+ version("0.96", sha256="97af78e9d3c405e963361d0db96ee5425ee0766fa52b43c75b8a5670d48e4b4a")
+ version("0.95", sha256="d310b986948b5ee2bedec36383a7fe79403721c8dc2663a280676b4e431f83c2")
+ version("0.94", sha256="567e99b488ebe6294933c98a212281bffd5220fc13a0a5cd8441f9a3761ceccf")
+ version("0.93", sha256="77bfd7fe52ee7495050f49bcdd0e353ba1730e3ad15042c678faa5eeed55fb8c")
+ version("0.92", sha256="9187c5bcbc562c2828fe619d53884ab80afb1bcd627a817edb935b80affe7b84")
+ version("0.91", sha256="b69f470829f434f266119a33695592f74802cff4b76b37022db00ab32de322f5")
+
+ variant("al", default=True, description="Builds with support for Aluminum Library")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+ variant(
+ "conduit",
+ default=True,
+ description="Builds with support for Conduit Library "
+ "(note that for v0.99 conduit is required)",
+ )
+ variant(
+ "deterministic",
+ default=False,
+ description="Builds with support for deterministic execution",
+ )
+ variant(
+ "dihydrogen", default=True, description="Builds with support for DiHydrogen Tensor Library"
+ )
+ variant(
+ "distconv",
+ default=False,
+ description="Builds with support for spatial, filter, or channel "
+ "distributed convolutions",
+ )
+ variant(
+ "dtype",
+ default="float",
+ description="Type for floating point representation of weights",
+ values=("float", "double"),
+ )
+ variant("fft", default=False, description="Support for FFT operations")
+ variant("half", default=False, description="Builds with support for FP16 precision data types")
+ variant("hwloc", default=True, description="Add support for topology aware algorithms")
+ variant("nvprof", default=False, description="Build with region annotations for NVPROF")
+ variant(
+ "numpy", default=False, description="Builds with support for processing NumPy data files"
+ )
+ variant(
+ "vision",
+ default=False,
+ description="Builds with support for image processing data with OpenCV",
+ )
+ variant("vtune", default=False, description="Builds with support for Intel VTune")
+ variant("onednn", default=False, description="Support for OneDNN")
+ variant("onnx", default=False, description="Support for exporting models into ONNX format")
+ variant("nvshmem", default=False, description="Support for NVSHMEM")
+ variant("python", default=True, description="Support for Python extensions (e.g. Data Reader)")
+ variant("pfe", default=True, description="Python Frontend for generating and launching models")
+ variant("boost", default=False, description="Enable callbacks that use Boost libraries")
+ variant("asan", default=False, description="Build with support for address-sanitizer")
# LBANN benefits from high performance linkers, but passing these in as command
# line options forces the linker flags to unnecessarily propagate to all
# dependent packages. Don't include gold or lld as dependencies
- variant('gold', default=False, description='Use gold high performance linker')
+ variant("gold", default=False, description="Use gold high performance linker")
variant("lld", default=False, description="Use lld high performance linker")
# Don't expose this a dependency until Spack can find the external properly
# depends_on('binutils+gold', type='build', when='+gold')
# Variant Conflicts
- conflicts('@:0.90,0.99:', when='~conduit')
- conflicts('@0.90:0.101', when='+fft')
- conflicts('@:0.90,0.102:', when='~dihydrogen')
- conflicts('~cuda', when='+nvprof')
- conflicts('~hwloc', when='+al')
- conflicts('~cuda', when='+nvshmem')
- conflicts('+cuda', when='+rocm', msg='CUDA and ROCm support are mutually exclusive')
-
- conflicts('~vision', when='@0.91:0.101')
- conflicts('~numpy', when='@0.91:0.101')
- conflicts('~python', when='@0.91:0.101')
- conflicts('~pfe', when='@0.91:0.101')
+ conflicts("@:0.90,0.99:", when="~conduit")
+ conflicts("@0.90:0.101", when="+fft")
+ conflicts("@:0.90,0.102:", when="~dihydrogen")
+ conflicts("~cuda", when="+nvprof")
+ conflicts("~hwloc", when="+al")
+ conflicts("~cuda", when="+nvshmem")
+ conflicts("+cuda", when="+rocm", msg="CUDA and ROCm support are mutually exclusive")
+
+ conflicts("~vision", when="@0.91:0.101")
+ conflicts("~numpy", when="@0.91:0.101")
+ conflicts("~python", when="@0.91:0.101")
+ conflicts("~pfe", when="@0.91:0.101")
for comp in spack.compilers.supported_compilers():
- if comp != 'clang':
- conflicts('+lld', when='%' + comp)
+ if comp != "clang":
+ conflicts("+lld", when="%" + comp)
conflicts("+lld", when="+gold")
- conflicts('+gold', when='platform=darwin', msg="gold does not work on Darwin")
- conflicts('+lld', when='platform=darwin', msg="lld does not work on Darwin")
+ conflicts("+gold", when="platform=darwin", msg="gold does not work on Darwin")
+ conflicts("+lld", when="platform=darwin", msg="lld does not work on Darwin")
- depends_on('cmake@3.17.0:', type='build')
- depends_on('cmake@3.21.0:', type='build', when='@0.103:')
+ depends_on("cmake@3.17.0:", type="build")
+ depends_on("cmake@3.21.0:", type="build", when="@0.103:")
# Specify the correct versions of Hydrogen
- depends_on('hydrogen@:1.3.4', when='@0.95:0.100')
- depends_on('hydrogen@1.4.0:1.4', when='@0.101:0.101.99')
- depends_on('hydrogen@1.5.0:', when='@:0.90,0.102:')
+ depends_on("hydrogen@:1.3.4", when="@0.95:0.100")
+ depends_on("hydrogen@1.4.0:1.4", when="@0.101:0.101.99")
+ depends_on("hydrogen@1.5.0:", when="@:0.90,0.102:")
# Add Hydrogen variants
- depends_on('hydrogen +openmp +shared +int64')
- depends_on('hydrogen +openmp_blas', when=sys.platform != 'darwin')
- depends_on('hydrogen ~al', when='~al')
- depends_on('hydrogen +al', when='+al')
- depends_on('hydrogen ~cuda', when='~cuda')
- depends_on('hydrogen +cuda', when='+cuda')
- depends_on('hydrogen ~half', when='~half')
- depends_on('hydrogen +half', when='+half')
- depends_on('hydrogen ~rocm', when='~rocm')
- depends_on('hydrogen +rocm', when='+rocm')
- depends_on('hydrogen build_type=Debug', when='build_type=Debug')
+ depends_on("hydrogen +openmp +shared +int64")
+ depends_on("hydrogen +openmp_blas", when=sys.platform != "darwin")
+ depends_on("hydrogen ~al", when="~al")
+ depends_on("hydrogen +al", when="+al")
+ depends_on("hydrogen ~cuda", when="~cuda")
+ depends_on("hydrogen +cuda", when="+cuda")
+ depends_on("hydrogen ~half", when="~half")
+ depends_on("hydrogen +half", when="+half")
+ depends_on("hydrogen ~rocm", when="~rocm")
+ depends_on("hydrogen +rocm", when="+rocm")
+ depends_on("hydrogen build_type=Debug", when="build_type=Debug")
# Older versions depended on Elemental not Hydrogen
- depends_on('elemental +openmp_blas +shared +int64', when='@0.91:0.94')
- depends_on('elemental +openmp_blas +shared +int64 build_type=Debug',
- when='build_type=Debug @0.91:0.94')
+ depends_on("elemental +openmp_blas +shared +int64", when="@0.91:0.94")
+ depends_on(
+ "elemental +openmp_blas +shared +int64 build_type=Debug",
+ when="build_type=Debug @0.91:0.94",
+ )
# Specify the correct version of Aluminum
- depends_on('aluminum@:0.3', when='@0.95:0.100 +al')
- depends_on('aluminum@0.4.0:0.4', when='@0.101:0.101.99 +al')
- depends_on('aluminum@0.5.0:', when='@:0.90,0.102: +al')
+ depends_on("aluminum@:0.3", when="@0.95:0.100 +al")
+ depends_on("aluminum@0.4.0:0.4", when="@0.101:0.101.99 +al")
+ depends_on("aluminum@0.5.0:", when="@:0.90,0.102: +al")
# Add Aluminum variants
- 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')
- depends_on('dihydrogen +openmp_blas', when=sys.platform != 'darwin')
- depends_on('dihydrogen ~cuda', when='+dihydrogen ~cuda')
- depends_on('dihydrogen +cuda', when='+dihydrogen +cuda')
- depends_on('dihydrogen ~al', when='+dihydrogen ~al')
- depends_on('dihydrogen +al', when='+dihydrogen +al')
- depends_on('dihydrogen +distconv +cuda', when='+distconv')
- depends_on('dihydrogen ~half', when='+dihydrogen ~half')
- depends_on('dihydrogen +half', when='+dihydrogen +half')
- depends_on('dihydrogen ~nvshmem', when='+dihydrogen ~nvshmem')
- depends_on('dihydrogen +nvshmem', when='+dihydrogen +nvshmem')
- depends_on('dihydrogen ~rocm', when='+dihydrogen ~rocm')
- depends_on('dihydrogen +rocm', when='+dihydrogen +rocm')
- depends_on('dihydrogen@0.1', when='@0.101:0.101.99 +dihydrogen')
- depends_on('dihydrogen@:0.0,0.2:', when='@:0.90,0.102: +dihydrogen')
- conflicts('~dihydrogen', when='+distconv')
+ 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")
+ depends_on("dihydrogen +openmp_blas", when=sys.platform != "darwin")
+ depends_on("dihydrogen ~cuda", when="+dihydrogen ~cuda")
+ depends_on("dihydrogen +cuda", when="+dihydrogen +cuda")
+ depends_on("dihydrogen ~al", when="+dihydrogen ~al")
+ depends_on("dihydrogen +al", when="+dihydrogen +al")
+ depends_on("dihydrogen +distconv +cuda", when="+distconv")
+ depends_on("dihydrogen ~half", when="+dihydrogen ~half")
+ depends_on("dihydrogen +half", when="+dihydrogen +half")
+ depends_on("dihydrogen ~nvshmem", when="+dihydrogen ~nvshmem")
+ depends_on("dihydrogen +nvshmem", when="+dihydrogen +nvshmem")
+ depends_on("dihydrogen ~rocm", when="+dihydrogen ~rocm")
+ depends_on("dihydrogen +rocm", when="+dihydrogen +rocm")
+ depends_on("dihydrogen@0.1", when="@0.101:0.101.99 +dihydrogen")
+ depends_on("dihydrogen@:0.0,0.2:", when="@:0.90,0.102: +dihydrogen")
+ conflicts("~dihydrogen", when="+distconv")
for arch in CudaPackage.cuda_arch_values:
- depends_on('hydrogen cuda_arch=%s' % arch, when='+cuda cuda_arch=%s' % arch)
- depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch)
- depends_on('dihydrogen cuda_arch=%s' % arch, when='+dihydrogen +cuda cuda_arch=%s' % arch)
- depends_on('nccl cuda_arch=%s' % arch, when='+cuda cuda_arch=%s' % arch)
+ depends_on("hydrogen cuda_arch=%s" % arch, when="+cuda cuda_arch=%s" % arch)
+ depends_on("aluminum cuda_arch=%s" % arch, when="+al +cuda cuda_arch=%s" % arch)
+ depends_on("dihydrogen cuda_arch=%s" % arch, when="+dihydrogen +cuda cuda_arch=%s" % arch)
+ depends_on("nccl cuda_arch=%s" % arch, when="+cuda cuda_arch=%s" % arch)
# variants +rocm and amdgpu_targets are not automatically passed to
# dependencies, so do it manually.
for val in ROCmPackage.amdgpu_targets:
- depends_on('hydrogen amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('aluminum amdgpu_target=%s' % val, when='+al amdgpu_target=%s' % val)
- depends_on('dihydrogen amdgpu_target=%s' % val, when='+dihydrogen amdgpu_target=%s' % val)
+ depends_on("hydrogen amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
+ depends_on("aluminum amdgpu_target=%s" % val, when="+al amdgpu_target=%s" % val)
+ depends_on("dihydrogen amdgpu_target=%s" % val, when="+dihydrogen amdgpu_target=%s" % val)
- depends_on('cudnn', when='@0.90:0.100 +cuda')
- depends_on('cudnn@8.0.2:', when='@:0.90,0.101: +cuda')
- depends_on('cub', when='@0.94:0.98.2 +cuda ^cuda@:10')
- depends_on('cutensor', when='@:0.90,0.102: +cuda')
- depends_on('hipcub', when='+rocm')
- depends_on('mpi')
- depends_on('hwloc@1.11:', when='@:0.90,0.102: +hwloc')
- depends_on('hwloc@1.11.0:1.11', when='@0.95:0.101 +hwloc')
- depends_on('hwloc +cuda +nvml', when='+cuda')
- depends_on('hwloc@2.3.0:', when='+rocm')
+ depends_on("cudnn", when="@0.90:0.100 +cuda")
+ depends_on("cudnn@8.0.2:", when="@:0.90,0.101: +cuda")
+ depends_on("cub", when="@0.94:0.98.2 +cuda ^cuda@:10")
+ depends_on("cutensor", when="@:0.90,0.102: +cuda")
+ depends_on("hipcub", when="+rocm")
+ depends_on("mpi")
+ depends_on("hwloc@1.11:", when="@:0.90,0.102: +hwloc")
+ depends_on("hwloc@1.11.0:1.11", when="@0.95:0.101 +hwloc")
+ depends_on("hwloc +cuda +nvml", when="+cuda")
+ depends_on("hwloc@2.3.0:", when="+rocm")
- depends_on('half', when='+half')
+ depends_on("half", when="+half")
- depends_on('fftw@3.3: +openmp', when='+fft')
+ depends_on("fftw@3.3: +openmp", when="+fft")
# LBANN wraps OpenCV calls in OpenMP parallel loops, build without OpenMP
# Additionally disable video related options, they incorrectly link in a
# bad OpenMP library when building with clang or Intel compilers
- depends_on('opencv@4.1.0: build_type=RelWithDebInfo +highgui '
- '+imgcodecs +imgproc +jpeg +png +tiff +fast-math ~cuda',
- when='+vision')
+ depends_on(
+ "opencv@4.1.0: build_type=RelWithDebInfo +highgui "
+ "+imgcodecs +imgproc +jpeg +png +tiff +fast-math ~cuda",
+ when="+vision",
+ )
# Note that for Power systems we want the environment to add +powerpc
# When using a GCC compiler
- depends_on('opencv@4.1.0: +powerpc', when='+vision %gcc arch=ppc64le:')
+ depends_on("opencv@4.1.0: +powerpc", when="+vision %gcc arch=ppc64le:")
- depends_on('cnpy', when='+numpy')
- depends_on('nccl', when='@0.94:0.98.2 +cuda')
+ depends_on("cnpy", when="+numpy")
+ depends_on("nccl", when="@0.94:0.98.2 +cuda")
# Note that conduit defaults to +fortran +parmetis +python, none of which are
# necessary by LBANN: you may want to disable those options in your
# packages.yaml
- depends_on('conduit@0.4.0: +hdf5', when='@0.94:0 +conduit')
- depends_on('conduit@0.5.0:0.6 +hdf5', when='@0.100:0.101 +conduit')
- depends_on('conduit@0.6.0: +hdf5', when='@:0.90,0.99:')
+ depends_on("conduit@0.4.0: +hdf5", when="@0.94:0 +conduit")
+ depends_on("conduit@0.5.0:0.6 +hdf5", when="@0.100:0.101 +conduit")
+ depends_on("conduit@0.6.0: +hdf5", when="@:0.90,0.99:")
# LBANN can use Python in two modes 1) as part of an extensible framework
# and 2) to drive the front end model creation and launch
# Core library support for Python Data Reader and extensible interface
- depends_on('python@3: +shared', type=('run'), when='@:0.90,0.99: +python')
- extends("python", when='+python')
+ depends_on("python@3: +shared", type=("run"), when="@:0.90,0.99: +python")
+ extends("python", when="+python")
# Python front end and possible extra packages
- depends_on('python@3: +shared', type=('build', 'run'), when='@:0.90,0.99: +pfe')
- extends("python", when='+pfe')
- depends_on('py-setuptools', type='build', when='+pfe')
- depends_on('py-argparse', type='run', when='@:0.90,0.99: +pfe ^python@:2.6,3.0:3.1')
- depends_on('py-protobuf+cpp@3.10.0', type=('build', 'run'), when='@:0.90,0.99: +pfe')
+ depends_on("python@3: +shared", type=("build", "run"), when="@:0.90,0.99: +pfe")
+ extends("python", when="+pfe")
+ depends_on("py-setuptools", type="build", when="+pfe")
+ depends_on("py-argparse", type="run", when="@:0.90,0.99: +pfe ^python@:2.6,3.0:3.1")
+ depends_on("py-protobuf+cpp@3.10.0", type=("build", "run"), when="@:0.90,0.99: +pfe")
- depends_on('protobuf+shared@3.10.0', when='@:0.90,0.99:')
+ depends_on("protobuf+shared@3.10.0", when="@:0.90,0.99:")
# using cereal@1.3.1 and above requires changing the
# find_package call to lowercase, so stick with :1.3.0
- depends_on('cereal@:1.3.0')
- depends_on('catch2@2.9.0:2.99.999', type=('build', 'test'))
- depends_on('clara')
+ depends_on("cereal@:1.3.0")
+ depends_on("catch2@2.9.0:2.99.999", type=("build", "test"))
+ depends_on("clara")
- depends_on('llvm-openmp', when='%apple-clang')
+ depends_on("llvm-openmp", when="%apple-clang")
- depends_on('onednn cpu_runtime=omp gpu_runtime=none', when='+onednn')
- depends_on('onnx', when='+onnx')
- depends_on('nvshmem', when='+nvshmem')
+ depends_on("onednn cpu_runtime=omp gpu_runtime=none", when="+onednn")
+ depends_on("onnx", when="+onnx")
+ depends_on("nvshmem", when="+nvshmem")
- depends_on('zstr')
+ depends_on("zstr")
- generator = 'Ninja'
- depends_on('ninja', type='build')
+ generator = "Ninja"
+ depends_on("ninja", type="build")
@property
def common_config_args(self):
spec = self.spec
# Environment variables
cppflags = []
- cppflags.append('-DLBANN_SET_EL_RNG')
- cppflags.append('-std=c++17')
+ cppflags.append("-DLBANN_SET_EL_RNG")
+ cppflags.append("-std=c++17")
args = []
- args.extend([
- '-DCMAKE_CXX_FLAGS=%s' % ' '.join(cppflags),
- '-DLBANN_VERSION=spack',
- ])
-
- if '+numpy' in spec:
+ args.extend(
+ [
+ "-DCMAKE_CXX_FLAGS=%s" % " ".join(cppflags),
+ "-DLBANN_VERSION=spack",
+ ]
+ )
+
+ if "+numpy" in spec:
args.append(
- '-DCNPY_DIR={0}'.format(spec['cnpy'].prefix),
+ "-DCNPY_DIR={0}".format(spec["cnpy"].prefix),
)
# Use lld high performance linker
- if '+lld' in spec:
- args.extend([
- '-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld',
- '-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld'])
+ if "+lld" in spec:
+ args.extend(
+ [
+ "-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld",
+ ]
+ )
# Use gold high performance linker
- if '+gold' in spec:
- args.extend([
- '-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold',
- '-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=gold'])
+ if "+gold" in spec:
+ args.extend(
+ [
+ "-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold",
+ "-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=gold",
+ ]
+ )
return args
def setup_build_environment(self, env):
- if self.spec.satisfies('%apple-clang'):
- env.append_flags(
- 'CPPFLAGS', self.compiler.openmp_flag)
- env.append_flags(
- 'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'CXXFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
+ if self.spec.satisfies("%apple-clang"):
+ env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
+ env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("LDFLAGS", self.spec["llvm-openmp"].libs.ld_flags)
# Get any recent versions or non-numeric version
# Note that develop > numeric and non-develop < numeric
- @when('@:0.90,0.94:')
+ @when("@:0.90,0.94:")
def cmake_args(self):
spec = self.spec
args = self.common_config_args
- args.extend([
- '-DCMAKE_CXX_STANDARD=17',
- '-DLBANN_WITH_CNPY=%s' % ('+numpy' in spec),
- '-DLBANN_DETERMINISTIC:BOOL=%s' % ('+deterministic' in spec),
- '-DLBANN_WITH_HWLOC=%s' % ('+hwloc' in spec),
- '-DLBANN_WITH_ALUMINUM:BOOL=%s' % ('+al' in spec),
- '-DLBANN_WITH_ADDRESS_SANITIZER:BOOL=%s' % ('+asan' in spec),
- '-DLBANN_WITH_BOOST:BOOL=%s' % ('+boost' in spec),
- '-DLBANN_WITH_CONDUIT:BOOL=%s' % ('+conduit' in spec),
- '-DLBANN_WITH_NVSHMEM:BOOL=%s' % ('+nvshmem' in spec),
- '-DLBANN_WITH_FFT:BOOL=%s' % ('+fft' in spec),
- '-DLBANN_WITH_ONEDNN:BOOL=%s' % ('+onednn' in spec),
- '-DLBANN_WITH_ONNX:BOOL=%s' % ('+onnx' in spec),
- '-DLBANN_WITH_EMBEDDED_PYTHON:BOOL=%s' % ('+python' in spec),
- '-DLBANN_WITH_PYTHON_FRONTEND:BOOL=%s' % ('+pfe' in spec),
- '-DLBANN_WITH_TBINF=OFF',
- '-DLBANN_WITH_UNIT_TESTING:BOOL=%s' % (self.run_tests),
- '-DLBANN_WITH_VISION:BOOL=%s' % ('+vision' in spec),
- '-DLBANN_WITH_VTUNE:BOOL=%s' % ('+vtune' in spec),
- '-DLBANN_DATATYPE={0}'.format(spec.variants['dtype'].value),
- '-DCEREAL_DIR={0}'.format(spec['cereal'].prefix),
- # protobuf is included by py-protobuf+cpp
- '-DProtobuf_DIR={0}'.format(spec['protobuf'].prefix),
- '-Dprotobuf_MODULE_COMPATIBLE=ON'])
-
- if not spec.satisfies('^cmake@3.23.0'):
+ args.extend(
+ [
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DLBANN_WITH_CNPY=%s" % ("+numpy" in spec),
+ "-DLBANN_DETERMINISTIC:BOOL=%s" % ("+deterministic" in spec),
+ "-DLBANN_WITH_HWLOC=%s" % ("+hwloc" in spec),
+ "-DLBANN_WITH_ALUMINUM:BOOL=%s" % ("+al" in spec),
+ "-DLBANN_WITH_ADDRESS_SANITIZER:BOOL=%s" % ("+asan" in spec),
+ "-DLBANN_WITH_BOOST:BOOL=%s" % ("+boost" in spec),
+ "-DLBANN_WITH_CONDUIT:BOOL=%s" % ("+conduit" in spec),
+ "-DLBANN_WITH_NVSHMEM:BOOL=%s" % ("+nvshmem" in spec),
+ "-DLBANN_WITH_FFT:BOOL=%s" % ("+fft" in spec),
+ "-DLBANN_WITH_ONEDNN:BOOL=%s" % ("+onednn" in spec),
+ "-DLBANN_WITH_ONNX:BOOL=%s" % ("+onnx" in spec),
+ "-DLBANN_WITH_EMBEDDED_PYTHON:BOOL=%s" % ("+python" in spec),
+ "-DLBANN_WITH_PYTHON_FRONTEND:BOOL=%s" % ("+pfe" in spec),
+ "-DLBANN_WITH_TBINF=OFF",
+ "-DLBANN_WITH_UNIT_TESTING:BOOL=%s" % (self.run_tests),
+ "-DLBANN_WITH_VISION:BOOL=%s" % ("+vision" in spec),
+ "-DLBANN_WITH_VTUNE:BOOL=%s" % ("+vtune" in spec),
+ "-DLBANN_DATATYPE={0}".format(spec.variants["dtype"].value),
+ "-DCEREAL_DIR={0}".format(spec["cereal"].prefix),
+ # protobuf is included by py-protobuf+cpp
+ "-DProtobuf_DIR={0}".format(spec["protobuf"].prefix),
+ "-Dprotobuf_MODULE_COMPATIBLE=ON",
+ ]
+ )
+
+ if not spec.satisfies("^cmake@3.23.0"):
# There is a bug with using Ninja generator in this version
# of CMake
- args.append('-DCMAKE_EXPORT_COMPILE_COMMANDS=ON')
-
- if '+cuda' in spec:
- if self.spec.satisfies('%clang'):
- for flag in self.spec.compiler_flags['cxxflags']:
- if 'gcc-toolchain' in flag:
- args.append('-DCMAKE_CUDA_FLAGS=-Xcompiler={0}'.format(flag))
- if spec.satisfies('^cuda@11.0:'):
- args.append('-DCMAKE_CUDA_STANDARD=17')
+ args.append("-DCMAKE_EXPORT_COMPILE_COMMANDS=ON")
+
+ if "+cuda" in spec:
+ if self.spec.satisfies("%clang"):
+ for flag in self.spec.compiler_flags["cxxflags"]:
+ if "gcc-toolchain" in flag:
+ args.append("-DCMAKE_CUDA_FLAGS=-Xcompiler={0}".format(flag))
+ 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':
+ args.append("-DCMAKE_CUDA_STANDARD=14")
+ archs = spec.variants["cuda_arch"].value
+ if archs != "none":
arch_str = ";".join(archs)
- args.append('-DCMAKE_CUDA_ARCHITECTURES=%s' % arch_str)
+ args.append("-DCMAKE_CUDA_ARCHITECTURES=%s" % arch_str)
- if (spec.satisfies('%cce') and
- spec.satisfies('^cuda+allow-unsupported-compilers')):
- args.append('-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler')
+ if spec.satisfies("%cce") and spec.satisfies("^cuda+allow-unsupported-compilers"):
+ args.append("-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler")
- if spec.satisfies('@:0.90') or spec.satisfies('@0.95:'):
- args.append(
- '-DHydrogen_DIR={0}/CMake/hydrogen'.format(
- spec['hydrogen'].prefix))
- elif spec.satisfies('@0.94'):
- args.append(
- '-DElemental_DIR={0}/CMake/elemental'.format(
- spec['elemental'].prefix))
+ if spec.satisfies("@:0.90") or spec.satisfies("@0.95:"):
+ args.append("-DHydrogen_DIR={0}/CMake/hydrogen".format(spec["hydrogen"].prefix))
+ elif spec.satisfies("@0.94"):
+ args.append("-DElemental_DIR={0}/CMake/elemental".format(spec["elemental"].prefix))
- if spec.satisfies('@0.94:0.98.2'):
- args.append('-DLBANN_WITH_NCCL:BOOL=%s' %
- ('+cuda +nccl' in spec))
+ if spec.satisfies("@0.94:0.98.2"):
+ args.append("-DLBANN_WITH_NCCL:BOOL=%s" % ("+cuda +nccl" in spec))
- if '+vtune' in spec:
- args.append('-DVTUNE_DIR={0}'.format(spec['vtune'].prefix))
+ if "+vtune" in spec:
+ args.append("-DVTUNE_DIR={0}".format(spec["vtune"].prefix))
- if '+al' in spec:
- args.append('-DAluminum_DIR={0}'.format(spec['aluminum'].prefix))
+ if "+al" in spec:
+ args.append("-DAluminum_DIR={0}".format(spec["aluminum"].prefix))
- if '+conduit' in spec:
- args.append('-DConduit_DIR={0}'.format(spec['conduit'].prefix))
+ if "+conduit" in spec:
+ args.append("-DConduit_DIR={0}".format(spec["conduit"].prefix))
# Add support for OpenMP with external (Brew) clang
- if spec.satisfies('%clang platform=darwin'):
+ if spec.satisfies("%clang platform=darwin"):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
- args.extend([
- '-DOpenMP_CXX_FLAGS=-fopenmp=libomp',
- '-DOpenMP_CXX_LIB_NAMES=libomp',
- '-DOpenMP_libomp_LIBRARY={0}/lib/libomp.dylib'.format(
- clang_root)])
-
- if '+vision' in spec:
- args.append('-DOpenCV_DIR:STRING={0}'.format(
- spec['opencv'].prefix))
-
- if '+cuda' in spec:
- args.append(
- '-DCUDA_TOOLKIT_ROOT_DIR={0}'.format(
- spec['cuda'].prefix))
- args.append(
- '-DcuDNN_DIR={0}'.format(
- spec['cudnn'].prefix))
- if spec.satisfies('@0.94:0.98.2'):
- if spec.satisfies('^cuda@:10'):
- args.append('-DCUB_DIR={0}'.format(
- spec['cub'].prefix))
- if '+nccl' in spec:
- args.append(
- '-DNCCL_DIR={0}'.format(
- spec['nccl'].prefix))
- args.append(
- '-DLBANN_WITH_NVPROF:BOOL=%s' % ('+nvprof' in spec))
-
- if spec.satisfies('@:0.90') or spec.satisfies('@0.100:'):
- args.append(
- '-DLBANN_WITH_DIHYDROGEN:BOOL=%s' % ('+dihydrogen' in spec))
+ args.extend(
+ [
+ "-DOpenMP_CXX_FLAGS=-fopenmp=libomp",
+ "-DOpenMP_CXX_LIB_NAMES=libomp",
+ "-DOpenMP_libomp_LIBRARY={0}/lib/libomp.dylib".format(clang_root),
+ ]
+ )
- if spec.satisfies('@:0.90') or spec.satisfies('@0.101:'):
- args.append(
- '-DLBANN_WITH_DISTCONV:BOOL=%s' % ('+distconv' in spec))
-
- if '+rocm' in spec:
- args.extend([
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix),
- '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)])
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ if "+vision" in spec:
+ args.append("-DOpenCV_DIR:STRING={0}".format(spec["opencv"].prefix))
+
+ if "+cuda" in spec:
+ args.append("-DCUDA_TOOLKIT_ROOT_DIR={0}".format(spec["cuda"].prefix))
+ args.append("-DcuDNN_DIR={0}".format(spec["cudnn"].prefix))
+ if spec.satisfies("@0.94:0.98.2"):
+ if spec.satisfies("^cuda@:10"):
+ args.append("-DCUB_DIR={0}".format(spec["cub"].prefix))
+ if "+nccl" in spec:
+ args.append("-DNCCL_DIR={0}".format(spec["nccl"].prefix))
+ args.append("-DLBANN_WITH_NVPROF:BOOL=%s" % ("+nvprof" in spec))
+
+ if spec.satisfies("@:0.90") or spec.satisfies("@0.100:"):
+ args.append("-DLBANN_WITH_DIHYDROGEN:BOOL=%s" % ("+dihydrogen" in spec))
+
+ if spec.satisfies("@:0.90") or spec.satisfies("@0.101:"):
+ args.append("-DLBANN_WITH_DISTCONV:BOOL=%s" % ("+distconv" in spec))
+
+ if "+rocm" in spec:
+ args.extend(
+ [
+ "-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix),
+ "-DHIP_CXX_COMPILER={0}".format(self.spec["hip"].hipcc),
+ ]
+ )
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- cxxflags_str = " ".join(self.spec.compiler_flags['cxxflags'])
+ cxxflags_str = " ".join(self.spec.compiler_flags["cxxflags"])
args.append(
- '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'
- ' -g -fsized-deallocation -fPIC -std=c++17 {1}'.format(
- arch_str, cxxflags_str)
+ "-DHIP_HIPCC_FLAGS=--amdgpu-target={0}"
+ " -g -fsized-deallocation -fPIC -std=c++17 {1}".format(arch_str, cxxflags_str)
+ )
+ args.extend(
+ [
+ "-DCMAKE_HIP_ARCHITECTURES=%s" % arch_str,
+ "-DAMDGPU_TARGETS=%s" % arch_str,
+ "-DGPU_TARGETS=%s" % arch_str,
+ ]
)
- args.extend([
- '-DCMAKE_HIP_ARCHITECTURES=%s' % arch_str,
- '-DAMDGPU_TARGETS=%s' % arch_str,
- '-DGPU_TARGETS=%s' % arch_str,
- ])
# IF IBM ESSL is used it needs help finding the proper LAPACK libraries
- if self.spec.satisfies('^essl'):
- args.extend([
- '-DLAPACK_LIBRARIES=%s;-llapack;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names),
- '-DBLAS_LIBRARIES=%s;-lblas' %
- ';'.join('-l{0}'.format(lib) for lib in self.spec['essl'].libs.names)])
+ if self.spec.satisfies("^essl"):
+ args.extend(
+ [
+ "-DLAPACK_LIBRARIES=%s;-llapack;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ "-DBLAS_LIBRARIES=%s;-lblas"
+ % ";".join("-l{0}".format(lib) for lib in self.spec["essl"].libs.names),
+ ]
+ )
return args
- @when('@0.91:0.93')
+ @when("@0.91:0.93")
def cmake_args(self):
spec = self.spec
args = self.common_config_args
- args.extend([
- '-DWITH_CUDA:BOOL=%s' % ('+cuda' in spec),
- '-DWITH_CUDNN:BOOL=%s' % ('+cuda' in spec),
- '-DELEMENTAL_USE_CUBLAS:BOOL=%s' % (
- '+cublas' in spec['elemental']),
- '-DWITH_TBINF=OFF',
- '-DWITH_VTUNE=OFF',
- '-DElemental_DIR={0}'.format(spec['elemental'].prefix),
- '-DELEMENTAL_MATH_LIBS={0}'.format(
- spec['elemental'].libs),
- '-DVERBOSE=0',
- '-DLBANN_HOME=.'])
-
- if spec.variants['dtype'].value == 'float':
- args.append('-DDATATYPE=4')
- elif spec.variants['dtype'].value == 'double':
- args.append('-DDATATYPE=8')
-
- if '+vision' in spec:
- args.append('-DOpenCV_DIR:STRING={0}'.format(
- spec['opencv'].prefix))
-
- if '+cudnn' in spec:
- args.append('-DcuDNN_DIR={0}'.format(
- spec['cudnn'].prefix))
-
- if '+cub' in spec and spec.satisfies('^cuda@:10'):
- args.append('-DCUB_DIR={0}'.format(
- spec['cub'].prefix))
+ args.extend(
+ [
+ "-DWITH_CUDA:BOOL=%s" % ("+cuda" in spec),
+ "-DWITH_CUDNN:BOOL=%s" % ("+cuda" in spec),
+ "-DELEMENTAL_USE_CUBLAS:BOOL=%s" % ("+cublas" in spec["elemental"]),
+ "-DWITH_TBINF=OFF",
+ "-DWITH_VTUNE=OFF",
+ "-DElemental_DIR={0}".format(spec["elemental"].prefix),
+ "-DELEMENTAL_MATH_LIBS={0}".format(spec["elemental"].libs),
+ "-DVERBOSE=0",
+ "-DLBANN_HOME=.",
+ ]
+ )
+
+ if spec.variants["dtype"].value == "float":
+ args.append("-DDATATYPE=4")
+ elif spec.variants["dtype"].value == "double":
+ args.append("-DDATATYPE=8")
+
+ if "+vision" in spec:
+ args.append("-DOpenCV_DIR:STRING={0}".format(spec["opencv"].prefix))
+
+ if "+cudnn" in spec:
+ args.append("-DcuDNN_DIR={0}".format(spec["cudnn"].prefix))
+
+ if "+cub" in spec and spec.satisfies("^cuda@:10"):
+ args.append("-DCUB_DIR={0}".format(spec["cub"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/lbxproxy/package.py b/var/spack/repos/builtin/packages/lbxproxy/package.py
index fe465ded54..535000eaf5 100644
--- a/var/spack/repos/builtin/packages/lbxproxy/package.py
+++ b/var/spack/repos/builtin/packages/lbxproxy/package.py
@@ -19,15 +19,15 @@ class Lbxproxy(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/lbxproxy"
xorg_mirror_path = "app/lbxproxy-1.0.3.tar.gz"
- version('1.0.3', sha256='db36251c9656c7da720f31e10df384f8946a9a5395915371b60d9423ad8f6a80')
-
- depends_on('libxext')
- depends_on('liblbxutil')
- depends_on('libx11')
- depends_on('libice')
-
- depends_on('xtrans')
- depends_on('xproxymanagementprotocol')
- depends_on('bigreqsproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ version("1.0.3", sha256="db36251c9656c7da720f31e10df384f8946a9a5395915371b60d9423ad8f6a80")
+
+ depends_on("libxext")
+ depends_on("liblbxutil")
+ depends_on("libx11")
+ depends_on("libice")
+
+ depends_on("xtrans")
+ depends_on("xproxymanagementprotocol")
+ depends_on("bigreqsproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/lbzip2/package.py b/var/spack/repos/builtin/packages/lbzip2/package.py
index f18a9d5b8b..53c146f32d 100644
--- a/var/spack/repos/builtin/packages/lbzip2/package.py
+++ b/var/spack/repos/builtin/packages/lbzip2/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class Lbzip2(AutotoolsPackage):
"""Multi-threaded compression utility with support for bzip2
- compressed file format"""
+ compressed file format"""
homepage = "https://lbzip2.org/"
- url = "http://archive.lbzip2.org/lbzip2-2.5.tar.gz"
+ url = "http://archive.lbzip2.org/lbzip2-2.5.tar.gz"
- version('2.5', sha256='46c75ee93cc95eedc6005625442b2b8e59a2bef3ba80987d0491f055185650e9')
+ version("2.5", sha256="46c75ee93cc95eedc6005625442b2b8e59a2bef3ba80987d0491f055185650e9")
diff --git a/var/spack/repos/builtin/packages/lcals/package.py b/var/spack/repos/builtin/packages/lcals/package.py
index 8f79c7039a..a4c9562583 100644
--- a/var/spack/repos/builtin/packages/lcals/package.py
+++ b/var/spack/repos/builtin/packages/lcals/package.py
@@ -11,24 +11,24 @@ from spack.package import *
class Lcals(MakefilePackage):
"""LCALS ("Livermore Compiler Analysis Loop Suite") is a collection of loop
- kernels based, in part, on historical "Livermore Loops" benchmarks
- (See the 1986 technical report: "The Livermore Fortran Kernels:
- A Computer Test of the Numerical Performance Range",
- by Frank H. McMahon, UCRL-53745.). The suite contains facilities to
- generate timing statistics and reports."""
+ kernels based, in part, on historical "Livermore Loops" benchmarks
+ (See the 1986 technical report: "The Livermore Fortran Kernels:
+ A Computer Test of the Numerical Performance Range",
+ by Frank H. McMahon, UCRL-53745.). The suite contains facilities to
+ generate timing statistics and reports."""
homepage = "https://computing.llnl.gov/projects/co-design/lcals"
- url = "https://computing.llnl.gov/projects/co-design/download/lcals-v1.0.2.tgz"
+ url = "https://computing.llnl.gov/projects/co-design/download/lcals-v1.0.2.tgz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0.2', sha256='a146590f7c1e9a9311ccf74dc0bef1fb19d77429db35a33c6725529fb1b0327e')
+ version("1.0.2", sha256="a146590f7c1e9a9311ccf74dc0bef1fb19d77429db35a33c6725529fb1b0327e")
variant(
- 'microarch',
- description='Micro arch: SSE, AVX, MIC.',
- default='sse',
- values=('sse', 'avx', 'MIC'),
+ "microarch",
+ description="Micro arch: SSE, AVX, MIC.",
+ default="sse",
+ values=("sse", "avx", "MIC"),
)
@property
@@ -36,58 +36,58 @@ class Lcals(MakefilePackage):
targets = []
- cxxflags = '-std=c++0x '
- cxx_compile = ''
+ cxxflags = "-std=c++0x "
+ cxx_compile = ""
- microarch = self.spec.variants['microarch'].value
+ microarch = self.spec.variants["microarch"].value
arch = platform.machine()
- if microarch == 'MIC':
- arch = 'MIC'
- elif arch == 'x86_64' or arch == 'x86_32':
- arch = 'x86'
- elif arch == 'aarch64':
- arch = 'aarch64'
+ if microarch == "MIC":
+ arch = "MIC"
+ elif arch == "x86_64" or arch == "x86_32":
+ arch = "x86"
+ elif arch == "aarch64":
+ arch = "aarch64"
else:
- raise InstallError('unknown architecture.')
-
- if self.compiler.name == 'intel':
- if arch == 'MIC':
- cxxflags += '-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_ICC '
- cxx_compile += '-g -O3 -mmic -vec-report3 '
- ' -inline-max-total-size=10000 -inline-forceinline -ansi-alias'
- elif microarch == 'sse' and arch == 'x86':
- cxxflags += '-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_ICC '
- cxx_compile += '-O3 -msse4.1 -inline-max-total-size=10000'
- ' -inline-forceinline -ansi-alias -std=c++0x '
- elif microarch == 'avx' and arch == 'x86':
- cxxflags += '-DLCALS_PLATFORM_X86_AVX -DLCALS_COMPILER_ICC '
- cxx_compile += '-O3 -mavx -inline-max-total-size=10000'
- ' -inline-forceinline -ansi-alias -std=c++0x'
+ raise InstallError("unknown architecture.")
+
+ if self.compiler.name == "intel":
+ if arch == "MIC":
+ cxxflags += "-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_ICC "
+ cxx_compile += "-g -O3 -mmic -vec-report3 "
+ " -inline-max-total-size=10000 -inline-forceinline -ansi-alias"
+ elif microarch == "sse" and arch == "x86":
+ cxxflags += "-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_ICC "
+ cxx_compile += "-O3 -msse4.1 -inline-max-total-size=10000"
+ " -inline-forceinline -ansi-alias -std=c++0x "
+ elif microarch == "avx" and arch == "x86":
+ cxxflags += "-DLCALS_PLATFORM_X86_AVX -DLCALS_COMPILER_ICC "
+ cxx_compile += "-O3 -mavx -inline-max-total-size=10000"
+ " -inline-forceinline -ansi-alias -std=c++0x"
cxxflags += self.compiler.openmp_flag
- elif self.compiler.name == 'gcc':
- if arch == 'MIC' or (microarch == 'sse' and arch == 'x86'):
- cxxflags += '-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_GNU '
- cxx_compile += '-Ofast -msse4.1 -finline-functions'
- ' -finline-limit=10000 -std=c++11 '
- elif microarch == 'avx' and arch == 'x86':
- cxxflags += '-DLCALS_PLATFORM_X86_AVX -DLCALS_COMPILER_GNU '
- cxx_compile += '-Ofast -mavx -finline-functions'
- ' -finline-limit=10000 -std=c++11'
- elif arch == 'aarch64':
- cxxflags += '-DLCALS_COMPILER_GNU '
- cxx_compile += '-Ofast -finline-functions'
- ' -finline-limit=10000 -std=c++11'
+ elif self.compiler.name == "gcc":
+ if arch == "MIC" or (microarch == "sse" and arch == "x86"):
+ cxxflags += "-DLCALS_PLATFORM_X86_SSE -DLCALS_COMPILER_GNU "
+ cxx_compile += "-Ofast -msse4.1 -finline-functions"
+ " -finline-limit=10000 -std=c++11 "
+ elif microarch == "avx" and arch == "x86":
+ cxxflags += "-DLCALS_PLATFORM_X86_AVX -DLCALS_COMPILER_GNU "
+ cxx_compile += "-Ofast -mavx -finline-functions"
+ " -finline-limit=10000 -std=c++11"
+ elif arch == "aarch64":
+ cxxflags += "-DLCALS_COMPILER_GNU "
+ cxx_compile += "-Ofast -finline-functions"
+ " -finline-limit=10000 -std=c++11"
cxxflags += self.compiler.openmp_flag
- targets.append('LCALS_ARCH=')
- cxx_compile += ' ' + cxxflags
- targets.append('CXX_COMPILE={0} {1}'.format(spack_cxx, cxx_compile))
+ targets.append("LCALS_ARCH=")
+ cxx_compile += " " + cxxflags
+ targets.append("CXX_COMPILE={0} {1}".format(spack_cxx, cxx_compile))
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('lcals.exe', prefix.bin)
- install('lcalsversioninfo.txt', prefix)
+ install("lcals.exe", prefix.bin)
+ install("lcalsversioninfo.txt", prefix)
diff --git a/var/spack/repos/builtin/packages/lcgenv/package.py b/var/spack/repos/builtin/packages/lcgenv/package.py
index 705dff869d..d8a002d65b 100644
--- a/var/spack/repos/builtin/packages/lcgenv/package.py
+++ b/var/spack/repos/builtin/packages/lcgenv/package.py
@@ -10,11 +10,11 @@ class Lcgenv(Package):
"""This package provides environment for packages in SFT LCG releases."""
homepage = "https://gitlab.cern.ch/GENSER/lcgenv"
- url = "https://gitlab.cern.ch/GENSER/lcgenv/-/archive/v1.3.19/lcgenv-v1.3.19.tar.gz"
+ url = "https://gitlab.cern.ch/GENSER/lcgenv/-/archive/v1.3.19/lcgenv-v1.3.19.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('1.3.19', sha256='b091743705cf84ff5de60487f2f73cbf9d10676577cd1d99bbde00d3616d0751')
+ version("1.3.19", sha256="b091743705cf84ff5de60487f2f73cbf9d10676577cd1d99bbde00d3616d0751")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/lcio/package.py b/var/spack/repos/builtin/packages/lcio/package.py
index 50fb305fde..6946a9cd9d 100644
--- a/var/spack/repos/builtin/packages/lcio/package.py
+++ b/var/spack/repos/builtin/packages/lcio/package.py
@@ -11,69 +11,67 @@ class Lcio(CMakePackage):
"""HEP Library for Linear Collider Input/Output"""
homepage = "http://lcio.desy.de"
- git = "https://github.com/iLCSoft/LCIO.git"
- url = "https://github.com/iLCSoft/LCIO/archive/v02-13-03.tar.gz"
-
- tags = ['hep']
-
- maintainers = ['gaede', 'vvolkl']
-
- version('master', branch='master')
- version('2.17.1', sha256='e7e4e4399a53680dfb8cc497e7f59633a96361f8f9435d1b044a90fd3ad97ab7')
- version('2.17', sha256='a81e07790443f0e2d9abb18bc3b5f2929edbc8d8e4f307f931679eaa39bb044a')
- version('2.16.1', sha256='992a649f864785e62fe12d7a638b2696c91f9535881de33f22b3cceabcdcdbaf')
- version('2.16', sha256='aff7707750d821f31cbae3d7529fd8e22457f48d759e834ec01aa9389b5dbf1a')
- version('2.15.4', sha256='720c8130762d445df44d2c245da01c0a1ca807d7ed62362cebf7b3a99f9a37d7')
- version('2.15.3', sha256='a00f9e1e8fc98151e88e603bbfca8088ded21ae3daca5c91869628a19af0cefb')
- version('2.15.2', sha256='9886c6f5c275c1c51bde978e4f5514bb4ea9588239f1d3ee95a76ef4b686e69d')
- version('2.15.1', sha256='32921feb162408357d00a81cdd489c374b3ed8ab6f442d798b22835de7243d32')
- version('2.15', sha256='27ea161a36ca93bf6b11381b63e90d100d3aeda3a00377bebcf2972c436aa3a7')
- version('2.14.2', sha256='e64f4bf932edf6d6cdaf0162e5104f8fbf3e5fd9737c7a080c48859009621919')
- version('2.14.1', sha256='ef670b10b6a01649fd4f3afcf38cbbee4cd83133612f922977260a6fea2bf30f')
- version('2.14', sha256='85a7da4873b3501887d371cb8d993cb9f373323b190a8d523ad91b900a5f1284')
- version('2.13.3', sha256='35aaa7989be33574a7c44ea7e6d7780ab26ef8bd4aa29d495f3831a3cd269304')
- version('2.13.2', sha256='9f153ba13e56ee16795378f9192678d40df1faca51d00aaa8fb80547bfecb8d8')
- version('2.13.1', sha256='aa572e2ba38c0cadd6a92fa933c3ed97e21d016c7982578d3f293901169f4ec0')
-
- variant('cxxstd',
- default='17',
- values=('11', '14', '17', '20'),
- multi=False,
- description='Use the specified C++ standard when building.')
- variant("jar", default=False,
- description="Turn on to build/install lcio.jar")
- variant("rootdict", default=True,
- description="Turn on to build/install ROOT dictionary.")
- variant("examples", default=False,
- description="Turn on to build LCIO examples")
-
- depends_on('sio@0.0.2:', when='@2.14:')
- depends_on('sio@0.1:', when='@2.16:')
-
- depends_on('root@6.04:', when="+rootdict")
- depends_on('root@6.04: cxxstd=11', when="+rootdict cxxstd=11")
- depends_on('root@6.04: cxxstd=14', when="+rootdict cxxstd=14")
- depends_on('root@6.04: cxxstd=17', when="+rootdict cxxstd=17")
- depends_on('root@6.04: cxxstd=20', when="+rootdict cxxstd=20")
- depends_on('openjdk', when="+jar")
+ git = "https://github.com/iLCSoft/LCIO.git"
+ url = "https://github.com/iLCSoft/LCIO/archive/v02-13-03.tar.gz"
+
+ tags = ["hep"]
+
+ maintainers = ["gaede", "vvolkl"]
+
+ version("master", branch="master")
+ version("2.17.1", sha256="e7e4e4399a53680dfb8cc497e7f59633a96361f8f9435d1b044a90fd3ad97ab7")
+ version("2.17", sha256="a81e07790443f0e2d9abb18bc3b5f2929edbc8d8e4f307f931679eaa39bb044a")
+ version("2.16.1", sha256="992a649f864785e62fe12d7a638b2696c91f9535881de33f22b3cceabcdcdbaf")
+ version("2.16", sha256="aff7707750d821f31cbae3d7529fd8e22457f48d759e834ec01aa9389b5dbf1a")
+ version("2.15.4", sha256="720c8130762d445df44d2c245da01c0a1ca807d7ed62362cebf7b3a99f9a37d7")
+ version("2.15.3", sha256="a00f9e1e8fc98151e88e603bbfca8088ded21ae3daca5c91869628a19af0cefb")
+ version("2.15.2", sha256="9886c6f5c275c1c51bde978e4f5514bb4ea9588239f1d3ee95a76ef4b686e69d")
+ version("2.15.1", sha256="32921feb162408357d00a81cdd489c374b3ed8ab6f442d798b22835de7243d32")
+ version("2.15", sha256="27ea161a36ca93bf6b11381b63e90d100d3aeda3a00377bebcf2972c436aa3a7")
+ version("2.14.2", sha256="e64f4bf932edf6d6cdaf0162e5104f8fbf3e5fd9737c7a080c48859009621919")
+ version("2.14.1", sha256="ef670b10b6a01649fd4f3afcf38cbbee4cd83133612f922977260a6fea2bf30f")
+ version("2.14", sha256="85a7da4873b3501887d371cb8d993cb9f373323b190a8d523ad91b900a5f1284")
+ version("2.13.3", sha256="35aaa7989be33574a7c44ea7e6d7780ab26ef8bd4aa29d495f3831a3cd269304")
+ version("2.13.2", sha256="9f153ba13e56ee16795378f9192678d40df1faca51d00aaa8fb80547bfecb8d8")
+ version("2.13.1", sha256="aa572e2ba38c0cadd6a92fa933c3ed97e21d016c7982578d3f293901169f4ec0")
+
+ variant(
+ "cxxstd",
+ default="17",
+ values=("11", "14", "17", "20"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+ variant("jar", default=False, description="Turn on to build/install lcio.jar")
+ variant("rootdict", default=True, description="Turn on to build/install ROOT dictionary.")
+ variant("examples", default=False, description="Turn on to build LCIO examples")
+
+ depends_on("sio@0.0.2:", when="@2.14:")
+ depends_on("sio@0.1:", when="@2.16:")
+
+ depends_on("root@6.04:", when="+rootdict")
+ depends_on("root@6.04: cxxstd=11", when="+rootdict cxxstd=11")
+ depends_on("root@6.04: cxxstd=14", when="+rootdict cxxstd=14")
+ depends_on("root@6.04: cxxstd=17", when="+rootdict cxxstd=17")
+ depends_on("root@6.04: cxxstd=20", when="+rootdict cxxstd=20")
+ depends_on("openjdk", when="+jar")
# build error with +termlib, to be investigated
- depends_on('ncurses~termlib', when="+examples")
- depends_on('delphes', when="+examples")
- depends_on('readline', when="+examples")
+ depends_on("ncurses~termlib", when="+examples")
+ depends_on("delphes", when="+examples")
+ depends_on("readline", when="+examples")
def cmake_args(self):
args = [
- self.define('CMAKE_CXX_STANDARD',
- self.spec.variants['cxxstd'].value),
- self.define('BUILD_TESTING', self.run_tests),
- self.define_from_variant("BUILD_LCIO_EXAMPLES", 'examples'),
- self.define_from_variant("BUILD_ROOTDICT", 'rootdict'),
- self.define_from_variant("INSTALL_JAR", 'jar'),
+ self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_LCIO_EXAMPLES", "examples"),
+ self.define_from_variant("BUILD_ROOTDICT", "rootdict"),
+ self.define_from_variant("INSTALL_JAR", "jar"),
]
return args
def url_for_version(self, version):
- base_url = self.url.rsplit('/', 1)[0]
+ base_url = self.url.rsplit("/", 1)[0]
major = str(version[0]).zfill(2)
minor = str(version[1]).zfill(2)
# handle the different cases for the patch version:
@@ -90,29 +88,25 @@ class Lcio(CMakePackage):
else:
url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch)
else:
- print('Error - Wrong version format provided')
+ print("Error - Wrong version format provided")
return
return url
def setup_run_environment(self, env):
- env.set('LCIO', self.prefix)
- env.prepend_path('PYTHONPATH', self.prefix.python)
+ env.set("LCIO", self.prefix)
+ env.prepend_path("PYTHONPATH", self.prefix.python)
# needed for the python bindings to find "Exceptions.h"
- env.prepend_path('CPATH', self.prefix)
+ env.prepend_path("CPATH", self.prefix)
- @run_after('install')
+ @run_after("install")
def install_source(self):
# these files are needed for the python bindings and root to
# find the headers
- if self.spec.version > Version('2.17'):
+ if self.spec.version > Version("2.17"):
# This has been fixed upstream
return
- install_tree('src/cpp/include/pre-generated/',
- self.prefix.include + '/pre-generated')
- install('src/cpp/include/IOIMPL/LCEventLazyImpl.h',
- self.prefix.include + '/IOIMPL/')
- install('src/cpp/include/SIO/SIOHandlerMgr.h',
- self.prefix.include + '/SIO/')
- install('src/cpp/include/SIO/SIOObjectHandler.h',
- self.prefix.include + '/SIO/')
+ install_tree("src/cpp/include/pre-generated/", self.prefix.include + "/pre-generated")
+ install("src/cpp/include/IOIMPL/LCEventLazyImpl.h", self.prefix.include + "/IOIMPL/")
+ install("src/cpp/include/SIO/SIOHandlerMgr.h", self.prefix.include + "/SIO/")
+ install("src/cpp/include/SIO/SIOObjectHandler.h", self.prefix.include + "/SIO/")
diff --git a/var/spack/repos/builtin/packages/lcms/package.py b/var/spack/repos/builtin/packages/lcms/package.py
index 8915894ba0..27054abf3e 100644
--- a/var/spack/repos/builtin/packages/lcms/package.py
+++ b/var/spack/repos/builtin/packages/lcms/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Lcms(AutotoolsPackage):
"""Little cms is a color management library. Implements fast
- transforms between ICC profiles. It is focused on speed, and is
- portable across several platforms (MIT license)."""
+ transforms between ICC profiles. It is focused on speed, and is
+ portable across several platforms (MIT license)."""
homepage = "https://www.littlecms.com"
- url = "http://downloads.sourceforge.net/project/lcms/lcms/2.9/lcms2-2.9.tar.gz"
+ url = "http://downloads.sourceforge.net/project/lcms/lcms/2.9/lcms2-2.9.tar.gz"
- version('2.13.1', sha256='d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88')
- version('2.9', sha256='48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20')
- version('2.8', sha256='66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22')
- version('2.6', sha256='5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1')
+ version("2.13.1", sha256="d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88")
+ version("2.9", sha256="48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20")
+ version("2.8", sha256="66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22")
+ version("2.6", sha256="5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1")
def url_for_version(self, version):
url = "http://downloads.sourceforge.net/project/lcms/lcms/{0}/lcms2-{1}.tar.gz"
return url.format(version.up_to(2), version)
- depends_on('jpeg')
- depends_on('libtiff')
- depends_on('zlib')
+ depends_on("jpeg")
+ depends_on("libtiff")
+ depends_on("zlib")
@property
def libs(self):
- return find_libraries('liblcms2', root=self.prefix, recursive=True)
+ return find_libraries("liblcms2", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/lcov/package.py b/var/spack/repos/builtin/packages/lcov/package.py
index 8da049db6d..7645351c73 100644
--- a/var/spack/repos/builtin/packages/lcov/package.py
+++ b/var/spack/repos/builtin/packages/lcov/package.py
@@ -13,10 +13,10 @@ class Lcov(MakefilePackage):
supports statement, function and branch coverage measurement."""
homepage = "http://ltp.sourceforge.net/coverage/lcov.php"
- url = "https://github.com/linux-test-project/lcov/releases/download/v1.14/lcov-1.14.tar.gz"
+ url = "https://github.com/linux-test-project/lcov/releases/download/v1.14/lcov-1.14.tar.gz"
- version('1.15', sha256='c1cda2fa33bec9aa2c2c73c87226cfe97de0831887176b45ee523c5e30f8053a')
- version('1.14', sha256='14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a')
+ version("1.15", sha256="c1cda2fa33bec9aa2c2c73c87226cfe97de0831887176b45ee523c5e30f8053a")
+ version("1.14", sha256="14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a")
def install(self, spec, prefix):
make("DESTDIR=", "PREFIX=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/ldak/package.py b/var/spack/repos/builtin/packages/ldak/package.py
index f68c62acc9..23b7a2e31e 100644
--- a/var/spack/repos/builtin/packages/ldak/package.py
+++ b/var/spack/repos/builtin/packages/ldak/package.py
@@ -10,35 +10,33 @@ class Ldak(Package):
"""LDAK is a software package for analyzing GWAS data"""
homepage = "https://dougspeed.com/ldak/"
- url = "https://dougspeed.com/wp-content/uploads/source.zip"
+ url = "https://dougspeed.com/wp-content/uploads/source.zip"
- version('5.1', sha256='ae3eb8c2ef31af210e138336fd6edcd0e3a26ea9bae89fd6c0c6ea33e3a1517e')
+ version("5.1", sha256="ae3eb8c2ef31af210e138336fd6edcd0e3a26ea9bae89fd6c0c6ea33e3a1517e")
- variant('mkl', default=False, description='Use MKL')
+ variant("mkl", default=False, description="Use MKL")
- depends_on('zlib')
- depends_on('blas')
- depends_on('lapack')
- depends_on('mkl', when='+mkl')
+ depends_on("zlib")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mkl", when="+mkl")
- for t in ['aarch64', 'arm', 'ppc', 'ppc64', 'ppc64le',
- 'ppcle', 'sparc', 'sparc64', 'x86']:
- conflicts('target={0}:'.format(t),
- msg='libspot is available linux x86_64 only')
+ for t in ["aarch64", "arm", "ppc", "ppc64", "ppc64le", "ppcle", "sparc", "sparc64", "x86"]:
+ conflicts("target={0}:".format(t), msg="libspot is available linux x86_64 only")
def setup_build_environment(self, env):
- env.append_flags('LDLIBS', '-lm')
- env.append_flags('LDLIBS', '-lz')
- libs = (self.spec['lapack'].libs + self.spec['blas'].libs).ld_flags
- env.append_flags('LDLIBS', libs)
- if self.spec.platform == 'darwin':
- env.append_flags('LDLIBS', 'libqsopt.mac.a')
+ env.append_flags("LDLIBS", "-lm")
+ env.append_flags("LDLIBS", "-lz")
+ libs = (self.spec["lapack"].libs + self.spec["blas"].libs).ld_flags
+ env.append_flags("LDLIBS", libs)
+ if self.spec.platform == "darwin":
+ env.append_flags("LDLIBS", "libqsopt.mac.a")
else:
- env.append_flags('LDLIBS', 'libqsopt.linux.a')
+ env.append_flags("LDLIBS", "libqsopt.linux.a")
def install(self, spec, prefix):
- if self.spec.satisfies('~mkl'):
- filter_file('#define MKL.*', '#define MKL 0', 'ldak.c')
- make('ldak')
+ if self.spec.satisfies("~mkl"):
+ filter_file("#define MKL.*", "#define MKL 0", "ldak.c")
+ make("ldak")
mkdirp(prefix.bin)
- install('ldak', prefix.bin.ldak)
+ install("ldak", prefix.bin.ldak)
diff --git a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py
index a80333cf60..a3ed2f2264 100644
--- a/var/spack/repos/builtin/packages/ldc-bootstrap/package.py
+++ b/var/spack/repos/builtin/packages/ldc-bootstrap/package.py
@@ -22,14 +22,14 @@ class LdcBootstrap(CMakePackage):
url = "https://github.com/ldc-developers/ldc/releases/download/v0.17.4/ldc-0.17.4-src.tar.gz"
# This is the last version that does not require a D compiler to bootstrap
- version('0.17.4', sha256='48428afde380415640f3db4e38529345f3c8485b1913717995547f907534c1c3')
+ version("0.17.4", sha256="48428afde380415640f3db4e38529345f3c8485b1913717995547f907534c1c3")
- depends_on('llvm@3.7:')
- depends_on('zlib')
- depends_on('libconfig')
- depends_on('curl')
- depends_on('libedit')
- depends_on('binutils')
+ depends_on("llvm@3.7:")
+ depends_on("zlib")
+ depends_on("libconfig")
+ depends_on("curl")
+ depends_on("libedit")
+ depends_on("binutils")
def setup_dependent_build_environment(self, env, dep_spec):
@@ -38,9 +38,7 @@ class LdcBootstrap(CMakePackage):
# the variables that get unset)
# We need libphobos in LD_LIBRARY_PATH
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib)
def cmake_args(self):
- return [
- '-DBUILD_SHARED_LIBS:BOOL=ON'
- ]
+ return ["-DBUILD_SHARED_LIBS:BOOL=ON"]
diff --git a/var/spack/repos/builtin/packages/ldc/package.py b/var/spack/repos/builtin/packages/ldc/package.py
index b0bc892baa..6f2ce6a48d 100644
--- a/var/spack/repos/builtin/packages/ldc/package.py
+++ b/var/spack/repos/builtin/packages/ldc/package.py
@@ -17,50 +17,43 @@ class Ldc(CMakePackage):
"""
homepage = "https://dlang.org/"
- url = "https://github.com/ldc-developers/ldc/releases/download/v1.3.0/ldc-1.3.0-src.tar.gz"
+ url = "https://github.com/ldc-developers/ldc/releases/download/v1.3.0/ldc-1.3.0-src.tar.gz"
- version('1.3.0', sha256='efe31a639bcb44e1f5b752da21713376d9410a01279fecc8aab8572065a3050b')
+ version("1.3.0", sha256="efe31a639bcb44e1f5b752da21713376d9410a01279fecc8aab8572065a3050b")
- variant(
- 'shared',
- default=True,
- description='Build runtime and tooling as shared libs'
- )
+ variant("shared", default=True, description="Build runtime and tooling as shared libs")
- depends_on('llvm@3.9:')
- depends_on('zlib')
- depends_on('libconfig')
- depends_on('curl')
- depends_on('libedit')
- depends_on('binutils', type=('build', 'link', 'run'))
- depends_on('ldc-bootstrap', type=('build', 'link'))
+ depends_on("llvm@3.9:")
+ depends_on("zlib")
+ depends_on("libconfig")
+ depends_on("curl")
+ depends_on("libedit")
+ depends_on("binutils", type=("build", "link", "run"))
+ depends_on("ldc-bootstrap", type=("build", "link"))
- provides('D@2')
+ provides("D@2")
def cmake_args(self):
- ldmd2 = self.spec['ldc-bootstrap'].prefix.bin.ldmd2
+ ldmd2 = self.spec["ldc-bootstrap"].prefix.bin.ldmd2
args = [
- '-DD_COMPILER:STRING={0}'.format(ldmd2),
- '-DBUILD_SHARED_LIBS:BOOL={0}'.format(
- 'ON' if '+shared' in self.spec else 'OFF'
- ),
- '-DLDC_INSTALL_LTOPLUGIN:BOOL=ON',
- '-DLDC_BUILD_WITH_LTO:BOOL=OFF'
+ "-DD_COMPILER:STRING={0}".format(ldmd2),
+ "-DBUILD_SHARED_LIBS:BOOL={0}".format("ON" if "+shared" in self.spec else "OFF"),
+ "-DLDC_INSTALL_LTOPLUGIN:BOOL=ON",
+ "-DLDC_BUILD_WITH_LTO:BOOL=OFF",
]
return args
- @run_after('install')
+ @run_after("install")
def add_rpath_to_conf(self):
# Here we modify the configuration file for ldc2 to inject flags
# that will rpath the standard library location
- config_file = join_path(self.prefix.etc, 'ldc2.conf')
+ config_file = join_path(self.prefix.etc, "ldc2.conf")
- search_for = r'switches = \['
- substitute_with = 'switches = [\n' + \
- ' "-L-rpath={0}",'.format(self.prefix.lib)
+ search_for = r"switches = \["
+ substitute_with = "switches = [\n" + ' "-L-rpath={0}",'.format(self.prefix.lib)
filter_file(search_for, substitute_with, config_file)
diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py
index 35196106f8..f18599d66e 100644
--- a/var/spack/repos/builtin/packages/legion/package.py
+++ b/var/spack/repos/builtin/packages/legion/package.py
@@ -10,80 +10,92 @@ from spack.package import *
class Legion(CMakePackage, ROCmPackage):
"""Legion is a data-centric parallel programming system for writing
- portable high performance programs targeted at distributed heterogeneous
- architectures. Legion presents abstractions which allow programmers to
- describe properties of program data (e.g. independence, locality). By
- making the Legion programming system aware of the structure of program
- data, it can automate many of the tedious tasks programmers currently
- face, including correctly extracting task- and data-level parallelism
- and moving data around complex memory hierarchies. A novel mapping
- interface provides explicit programmer controlled placement of data in
- the memory hierarchy and assignment of tasks to processors in a way
- that is orthogonal to correctness, thereby enabling easy porting and
- tuning of Legion applications to new architectures."""
+ portable high performance programs targeted at distributed heterogeneous
+ architectures. Legion presents abstractions which allow programmers to
+ describe properties of program data (e.g. independence, locality). By
+ making the Legion programming system aware of the structure of program
+ data, it can automate many of the tedious tasks programmers currently
+ face, including correctly extracting task- and data-level parallelism
+ and moving data around complex memory hierarchies. A novel mapping
+ interface provides explicit programmer controlled placement of data in
+ the memory hierarchy and assignment of tasks to processors in a way
+ that is orthogonal to correctness, thereby enabling easy porting and
+ tuning of Legion applications to new architectures."""
homepage = "https://legion.stanford.edu/"
git = "https://github.com/StanfordLegion/legion.git"
- maintainers = ['pmccormick', 'streichler']
- tags = ['e4s']
- version('21.03.0', tag='legion-21.03.0')
- version('stable', branch='stable')
- version('master', branch='master')
- version('cr', branch='control_replication')
+ maintainers = ["pmccormick", "streichler"]
+ tags = ["e4s"]
+ version("21.03.0", tag="legion-21.03.0")
+ version("stable", branch="stable")
+ version("master", branch="master")
+ version("cr", branch="control_replication")
- depends_on("cmake@3.16:", type='build')
+ depends_on("cmake@3.16:", type="build")
# TODO: Need to spec version of MPI v3 for use of the low-level MPI transport
# layer. At present the MPI layer is still experimental and we discourge its
# use for general (not legion development) use cases.
- depends_on('mpi', when='network=mpi')
- depends_on('mpi', when='network=gasnet') # MPI is required to build gasnet (needs mpicc).
- depends_on('ucx', when='conduit=ucx')
- depends_on('mpi', when='conduit=mpi')
- depends_on('cuda@10.0:11.9', when='+cuda_unsupported_compiler')
- depends_on('cuda@10.0:11.9', when='+cuda')
- depends_on('hdf5', when='+hdf5')
- depends_on('hwloc', when='+hwloc')
+ depends_on("mpi", when="network=mpi")
+ depends_on("mpi", when="network=gasnet") # MPI is required to build gasnet (needs mpicc).
+ depends_on("ucx", when="conduit=ucx")
+ depends_on("mpi", when="conduit=mpi")
+ depends_on("cuda@10.0:11.9", when="+cuda_unsupported_compiler")
+ depends_on("cuda@10.0:11.9", when="+cuda")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hwloc", when="+hwloc")
# cuda-centric
# reminder for arch numbers to names: 60=pascal, 70=volta, 75=turing, 80=ampere
# TODO: we could use a map here to clean up and use naming vs. numbers.
- cuda_arch_list = ('60', '70', '75', '80')
+ cuda_arch_list = ("60", "70", "75", "80")
for nvarch in cuda_arch_list:
- depends_on('kokkos@3.3.01:+cuda+cuda_lambda+wrapper cuda_arch={0}'.format(nvarch),
- when='%gcc+kokkos+cuda cuda_arch={0}'.format(nvarch))
- depends_on("kokkos@3.3.01:+cuda+cuda_lambda~wrapper cuda_arch={0}".format(nvarch),
- when="%clang+kokkos+cuda cuda_arch={0}".format(nvarch))
-
- depends_on('kokkos@3.3.01:~cuda', when='+kokkos~cuda')
- depends_on("kokkos@3.3.01:~cuda+openmp", when='+kokkos+openmp')
+ depends_on(
+ "kokkos@3.3.01:+cuda+cuda_lambda+wrapper cuda_arch={0}".format(nvarch),
+ when="%gcc+kokkos+cuda cuda_arch={0}".format(nvarch),
+ )
+ depends_on(
+ "kokkos@3.3.01:+cuda+cuda_lambda~wrapper cuda_arch={0}".format(nvarch),
+ when="%clang+kokkos+cuda cuda_arch={0}".format(nvarch),
+ )
+
+ depends_on("kokkos@3.3.01:~cuda", when="+kokkos~cuda")
+ depends_on("kokkos@3.3.01:~cuda+openmp", when="+kokkos+openmp")
# HIP specific
- variant('hip_hijack', default=False,
- description="Hijack application calls into the HIP runtime",
- when='+rocm')
- variant('hip_target', default='ROCM',
- values=('ROCM', 'CUDA'),
- description="API used by HIP",
- multi=False,
- when='+rocm')
+ variant(
+ "hip_hijack",
+ default=False,
+ description="Hijack application calls into the HIP runtime",
+ when="+rocm",
+ )
+ variant(
+ "hip_target",
+ default="ROCM",
+ values=("ROCM", "CUDA"),
+ description="API used by HIP",
+ multi=False,
+ when="+rocm",
+ )
for arch in ROCmPackage.amdgpu_targets:
- depends_on('kokkos@3.3.01:+rocm amdgpu_target={0}'.format(arch),
- when='+rocm amdgpu_target={0}'.format(arch))
+ depends_on(
+ "kokkos@3.3.01:+rocm amdgpu_target={0}".format(arch),
+ when="+rocm amdgpu_target={0}".format(arch),
+ )
- depends_on('kokkos@3.3.01:+rocm', when='+kokkos+rocm')
+ depends_on("kokkos@3.3.01:+rocm", when="+kokkos+rocm")
- depends_on('python@3', when='+python')
- depends_on('papi', when='+papi')
- depends_on('zlib', when='+zlib')
+ depends_on("python@3", when="+python")
+ depends_on("papi", when="+papi")
+ depends_on("zlib", when="+zlib")
# A C++ standard variant to work-around some odd behaviors with apple-clang
# but this might be helpful for other use cases down the road. Legion's
# current development policy is C++11 or greater so we capture that aspect
# here.
cpp_stds = ["11", "14", "17", "20"]
- variant('cxxstd', default="11", values=cpp_stds, multi=False)
+ variant("cxxstd", default="11", values=cpp_stds, multi=False)
# TODO: Need a AMD/HIP variant to match support landing in 21.03.0.
@@ -92,18 +104,23 @@ class Legion(CMakePackage, ROCmPackage):
# mature. We have many users that default to using no network layer for
# day-to-day development thus we default to 'none'. MPI support is new and
# should be considered as a beta release.
- variant('network', default='none',
- values=('gasnet', 'mpi', 'none'),
- description="The network communications/transport layer to use.",
- multi=False)
+ variant(
+ "network",
+ default="none",
+ values=("gasnet", "mpi", "none"),
+ description="The network communications/transport layer to use.",
+ multi=False,
+ )
# Add Gasnet tarball dependency in spack managed manner
# TODO: Provide less mutable tag instead of branch
- resource(name='stanfordgasnet',
- git='https://github.com/StanfordLegion/gasnet.git',
- destination='stanfordgasnet',
- branch='master',
- when='network=gasnet')
+ resource(
+ name="stanfordgasnet",
+ git="https://github.com/StanfordLegion/gasnet.git",
+ destination="stanfordgasnet",
+ branch="master",
+ when="network=gasnet",
+ )
# We default to automatically embedding a gasnet build. To override this
# point the package a pre-installed version of GASNet-Ex via the gasnet_root
@@ -111,7 +128,7 @@ class Legion(CMakePackage, ROCmPackage):
#
# make sure we have a valid directory provided for gasnet_root...
def validate_gasnet_root(value):
- if value == 'none':
+ if value == "none":
return True
if not os.path.isdir(value):
@@ -120,302 +137,327 @@ class Legion(CMakePackage, ROCmPackage):
else:
return True
- variant('gasnet_root',
- default='none',
- values=validate_gasnet_root,
- description="Path to a pre-installed version of GASNet (prefix directory).",
- multi=False)
- conflicts('gasnet_root', when="network=mpi")
-
- variant('conduit', default='none',
- values=('aries', 'ibv', 'udp', 'mpi', 'ucx', 'none'),
- description="The gasnet conduit(s) to enable.",
- multi=False)
-
- conflicts('conduit=none', when='network=gasnet',
- msg="a conduit must be selected when 'network=gasnet'")
-
- gasnet_conduits = ('aries', 'ibv', 'udp', 'mpi', 'ucx')
+ variant(
+ "gasnet_root",
+ default="none",
+ values=validate_gasnet_root,
+ description="Path to a pre-installed version of GASNet (prefix directory).",
+ multi=False,
+ )
+ conflicts("gasnet_root", when="network=mpi")
+
+ variant(
+ "conduit",
+ default="none",
+ values=("aries", "ibv", "udp", "mpi", "ucx", "none"),
+ description="The gasnet conduit(s) to enable.",
+ multi=False,
+ )
+
+ conflicts(
+ "conduit=none",
+ when="network=gasnet",
+ msg="a conduit must be selected when 'network=gasnet'",
+ )
+
+ gasnet_conduits = ("aries", "ibv", "udp", "mpi", "ucx")
for c in gasnet_conduits:
- conflict_str = 'conduit=%s' % c
- conflicts(conflict_str, when='network=mpi',
- msg="conduit attribute requires 'network=gasnet'.")
- conflicts(conflict_str, when='network=none',
- msg="conduit attribute requires 'network=gasnet'.")
-
- variant('gasnet_debug', default=False,
- description="Build gasnet with debugging enabled.")
- conflicts('+gasnet_debug', when='network=mpi')
- conflicts('+gasnet_debug', when='network=none')
-
- variant('shared', default=False,
- description="Build shared libraries.")
-
- variant('bounds_checks', default=False,
- description="Enable bounds checking in Legion accessors.")
-
- variant('privilege_checks', default=False,
- description="Enable runtime privildge checks in Legion accessors.")
-
- variant('enable_tls', default=False,
- description="Enable thread-local-storage of the Legion context.")
-
- variant('output_level', default='warning',
- # Note: these values are dependent upon those used in the cmake config.
- values=("spew", "debug", "info", "print", "warning", "error", "fatal",
- "none"),
- description="Set the compile-time logging level.",
- multi=False)
-
- variant('spy', default=False,
- description="Enable detailed logging for Legion Spy debugging.")
+ conflict_str = "conduit=%s" % c
+ conflicts(
+ conflict_str, when="network=mpi", msg="conduit attribute requires 'network=gasnet'."
+ )
+ conflicts(
+ conflict_str, when="network=none", msg="conduit attribute requires 'network=gasnet'."
+ )
+
+ variant("gasnet_debug", default=False, description="Build gasnet with debugging enabled.")
+ conflicts("+gasnet_debug", when="network=mpi")
+ conflicts("+gasnet_debug", when="network=none")
+
+ variant("shared", default=False, description="Build shared libraries.")
+
+ variant(
+ "bounds_checks", default=False, description="Enable bounds checking in Legion accessors."
+ )
+
+ variant(
+ "privilege_checks",
+ default=False,
+ description="Enable runtime privildge checks in Legion accessors.",
+ )
+
+ variant(
+ "enable_tls",
+ default=False,
+ description="Enable thread-local-storage of the Legion context.",
+ )
+
+ variant(
+ "output_level",
+ default="warning",
+ # Note: these values are dependent upon those used in the cmake config.
+ values=("spew", "debug", "info", "print", "warning", "error", "fatal", "none"),
+ description="Set the compile-time logging level.",
+ multi=False,
+ )
+
+ variant("spy", default=False, description="Enable detailed logging for Legion Spy debugging.")
# note: we will be dependent upon spack's latest-and-greatest cuda version...
- variant('cuda', default=False,
- description="Enable CUDA support.")
- variant('cuda_hijack', default=False,
- description="Hijack application calls into the CUDA runtime (+cuda).")
- variant('cuda_arch', default='70',
- values=cuda_arch_list,
- description="GPU/CUDA architecture to build for.",
- multi=False)
- variant('cuda_unsupported_compiler', default=False,
- description="Disable nvcc version check (--allow-unsupported-compiler).")
- conflicts('+cuda_hijack', when='~cuda')
-
- variant('fortran', default=False,
- description="Enable Fortran bindings.")
-
- variant('hdf5', default=False,
- description="Enable support for HDF5.")
-
- variant('hwloc', default=False,
- description="Use hwloc for topology awareness.")
-
- variant('kokkos', default=False,
- description="Enable support for interoperability with Kokkos.")
-
- variant('bindings', default=False,
- description="Build runtime language bindings (excl. Fortran).")
-
- variant('libdl', default=True,
- description="Enable support for dynamic object/library loading.")
-
- variant('openmp', default=False,
- description="Enable support for OpenMP within Legion tasks.")
-
- variant('papi', default=False,
- description="Enable PAPI performance measurements.")
-
- variant('python', default=False,
- description="Enable Python support.")
-
- variant('zlib', default=True,
- description="Enable zlib support.")
-
- variant('redop_complex', default=False,
- description="Use reduction operators for complex types.")
-
- variant('max_dims', values=int, default=3,
- description="Set max number of dimensions for logical regions.")
- variant('max_fields', values=int, default=512,
- description="Maximum number of fields allowed in a logical region.")
+ variant("cuda", default=False, description="Enable CUDA support.")
+ variant(
+ "cuda_hijack",
+ default=False,
+ description="Hijack application calls into the CUDA runtime (+cuda).",
+ )
+ variant(
+ "cuda_arch",
+ default="70",
+ values=cuda_arch_list,
+ description="GPU/CUDA architecture to build for.",
+ multi=False,
+ )
+ variant(
+ "cuda_unsupported_compiler",
+ default=False,
+ description="Disable nvcc version check (--allow-unsupported-compiler).",
+ )
+ conflicts("+cuda_hijack", when="~cuda")
+
+ variant("fortran", default=False, description="Enable Fortran bindings.")
+
+ variant("hdf5", default=False, description="Enable support for HDF5.")
+
+ variant("hwloc", default=False, description="Use hwloc for topology awareness.")
+
+ variant(
+ "kokkos", default=False, description="Enable support for interoperability with Kokkos."
+ )
+
+ variant(
+ "bindings", default=False, description="Build runtime language bindings (excl. Fortran)."
+ )
+
+ variant(
+ "libdl", default=True, description="Enable support for dynamic object/library loading."
+ )
+
+ variant("openmp", default=False, description="Enable support for OpenMP within Legion tasks.")
+
+ variant("papi", default=False, description="Enable PAPI performance measurements.")
+
+ variant("python", default=False, description="Enable Python support.")
+
+ variant("zlib", default=True, description="Enable zlib support.")
+
+ variant(
+ "redop_complex", default=False, description="Use reduction operators for complex types."
+ )
+
+ variant(
+ "max_dims",
+ values=int,
+ default=3,
+ description="Set max number of dimensions for logical regions.",
+ )
+ variant(
+ "max_fields",
+ values=int,
+ default=512,
+ description="Maximum number of fields allowed in a logical region.",
+ )
def setup_build_environment(self, build_env):
spec = self.spec
- if '+rocm' in spec:
- build_env.set("HIP_PATH", spec['hip'].prefix)
+ if "+rocm" in spec:
+ build_env.set("HIP_PATH", spec["hip"].prefix)
def cmake_args(self):
spec = self.spec
cmake_cxx_flags = []
from_variant = self.define_from_variant
- options = [
- from_variant("CMAKE_CXX_STANDARD", "cxxstd")
- ]
+ options = [from_variant("CMAKE_CXX_STANDARD", "cxxstd")]
- if 'network=gasnet' in spec:
- options.append('-DLegion_NETWORKS=gasnetex')
- if spec.variants['gasnet_root'].value != 'none':
- gasnet_dir = spec.variants['gasnet_root'].value
- options.append('-DGASNet_ROOT_DIR=%s' % gasnet_dir)
+ if "network=gasnet" in spec:
+ options.append("-DLegion_NETWORKS=gasnetex")
+ if spec.variants["gasnet_root"].value != "none":
+ gasnet_dir = spec.variants["gasnet_root"].value
+ options.append("-DGASNet_ROOT_DIR=%s" % gasnet_dir)
else:
- gasnet_dir = join_path(self.stage.source_path,
- "stanfordgasnet",
- "gasnet")
- options.append('-DLegion_EMBED_GASNet=ON')
- options.append('-DLegion_EMBED_GASNet_LOCALSRC=%s' % gasnet_dir)
-
- gasnet_conduit = spec.variants['conduit'].value
- options.append('-DGASNet_CONDUIT=%s' % gasnet_conduit)
-
- if '+gasnet_debug' in spec:
- options.append('-DLegion_EMBED_GASNet_CONFIGURE_ARGS=--enable-debug')
- elif 'network=mpi' in spec:
- options.append('-DLegion_NETWORKS=mpi')
- if spec.variants['gasnet_root'].value != 'none':
+ gasnet_dir = join_path(self.stage.source_path, "stanfordgasnet", "gasnet")
+ options.append("-DLegion_EMBED_GASNet=ON")
+ options.append("-DLegion_EMBED_GASNet_LOCALSRC=%s" % gasnet_dir)
+
+ gasnet_conduit = spec.variants["conduit"].value
+ options.append("-DGASNet_CONDUIT=%s" % gasnet_conduit)
+
+ if "+gasnet_debug" in spec:
+ options.append("-DLegion_EMBED_GASNet_CONFIGURE_ARGS=--enable-debug")
+ elif "network=mpi" in spec:
+ options.append("-DLegion_NETWORKS=mpi")
+ if spec.variants["gasnet_root"].value != "none":
raise InstallError("'gasnet_root' is only valid when 'network=gasnet'.")
else:
- if spec.variants['gasnet_root'].value != 'none':
+ if spec.variants["gasnet_root"].value != "none":
raise InstallError("'gasnet_root' is only valid when 'network=gasnet'.")
- options.append('-DLegion_EMBED_GASNet=OFF')
+ options.append("-DLegion_EMBED_GASNet=OFF")
- if '+shared' in spec:
- options.append('-DBUILD_SHARED_LIBS=ON')
+ if "+shared" in spec:
+ options.append("-DBUILD_SHARED_LIBS=ON")
else:
- options.append('-DBUILD_SHARED_LIBS=OFF')
+ options.append("-DBUILD_SHARED_LIBS=OFF")
- if '+bounds_checks' in spec:
+ if "+bounds_checks" in spec:
# default is off.
- options.append('-DLegion_BOUNDS_CHECKS=ON')
- if '+privilege_checks' in spec:
+ options.append("-DLegion_BOUNDS_CHECKS=ON")
+ if "+privilege_checks" in spec:
# default is off.
- options.append('-DLegion_PRIVILEGE_CHECKS=ON')
- if '+enable_tls' in spec:
+ options.append("-DLegion_PRIVILEGE_CHECKS=ON")
+ if "+enable_tls" in spec:
# default is off.
- options.append('-DLegion_ENABLE_TLS=ON')
- if 'output_level' in spec:
- level = str.upper(spec.variants['output_level'].value)
- options.append('-DLegion_OUTPUT_LEVEL=%s' % level)
- if '+spy' in spec:
+ options.append("-DLegion_ENABLE_TLS=ON")
+ if "output_level" in spec:
+ level = str.upper(spec.variants["output_level"].value)
+ options.append("-DLegion_OUTPUT_LEVEL=%s" % level)
+ if "+spy" in spec:
# default is off.
- options.append('-DLegion_SPY=ON')
-
- if '+cuda' in spec:
- cuda_arch = spec.variants['cuda_arch'].value
- options.append('-DLegion_USE_CUDA=ON')
- options.append('-DLegion_GPU_REDUCTIONS=ON')
- options.append('-DLegion_CUDA_ARCH=%s' % cuda_arch)
- if '+cuda_hijack' in spec:
- options.append('-DLegion_HIJACK_CUDART=ON')
+ options.append("-DLegion_SPY=ON")
+
+ if "+cuda" in spec:
+ cuda_arch = spec.variants["cuda_arch"].value
+ options.append("-DLegion_USE_CUDA=ON")
+ options.append("-DLegion_GPU_REDUCTIONS=ON")
+ options.append("-DLegion_CUDA_ARCH=%s" % cuda_arch)
+ if "+cuda_hijack" in spec:
+ options.append("-DLegion_HIJACK_CUDART=ON")
else:
- options.append('-DLegion_HIJACK_CUDART=OFF')
+ options.append("-DLegion_HIJACK_CUDART=OFF")
- if '+cuda_unsupported_compiler' in spec:
- options.append('-DCUDA_NVCC_FLAGS:STRING=--allow-unsupported-compiler')
+ if "+cuda_unsupported_compiler" in spec:
+ options.append("-DCUDA_NVCC_FLAGS:STRING=--allow-unsupported-compiler")
- if '+rocm' in spec:
- options.append('-DLegion_USE_HIP=ON')
- options.append('-DLegion_GPU_REDUCTIONS=ON')
- options.append(from_variant('Legion_HIP_TARGET', 'hip_target'))
- options.append(from_variant('Legion_HIP_ARCH', 'amdgpu_target'))
- options.append(from_variant('Legion_HIJACK_HIP', 'hip_hijack'))
+ if "+rocm" in spec:
+ options.append("-DLegion_USE_HIP=ON")
+ options.append("-DLegion_GPU_REDUCTIONS=ON")
+ options.append(from_variant("Legion_HIP_TARGET", "hip_target"))
+ options.append(from_variant("Legion_HIP_ARCH", "amdgpu_target"))
+ options.append(from_variant("Legion_HIJACK_HIP", "hip_hijack"))
- if '+fortran' in spec:
+ if "+fortran" in spec:
# default is off.
- options.append('-DLegion_USE_Fortran=ON')
+ options.append("-DLegion_USE_Fortran=ON")
- if '+hdf5' in spec:
+ if "+hdf5" in spec:
# default is off.
- options.append('-DLegion_USE_HDF5=ON')
+ options.append("-DLegion_USE_HDF5=ON")
- if '+hwloc' in spec:
+ if "+hwloc" in spec:
# default is off.
- options.append('-DLegion_USE_HWLOC=ON')
+ options.append("-DLegion_USE_HWLOC=ON")
- if '+kokkos' in spec:
+ if "+kokkos" in spec:
# default is off.
- options.append('-DLegion_USE_Kokkos=ON')
- os.environ['KOKKOS_CXX_COMPILER'] = spec['kokkos'].kokkos_cxx
+ options.append("-DLegion_USE_Kokkos=ON")
+ os.environ["KOKKOS_CXX_COMPILER"] = spec["kokkos"].kokkos_cxx
- if '+libdl' in spec:
+ if "+libdl" in spec:
# default is on.
- options.append('-DLegion_USE_LIBDL=ON')
+ options.append("-DLegion_USE_LIBDL=ON")
else:
- options.append('-DLegion_USE_LIBDL=OFF')
+ options.append("-DLegion_USE_LIBDL=OFF")
- if '+openmp' in spec:
+ if "+openmp" in spec:
# default is off.
- options.append('-DLegion_USE_OpenMP=ON')
+ options.append("-DLegion_USE_OpenMP=ON")
- if '+papi' in spec:
+ if "+papi" in spec:
# default is off.
- options.append('-DLegion_USE_PAPI=ON')
+ options.append("-DLegion_USE_PAPI=ON")
- if '+python' in spec:
+ if "+python" in spec:
# default is off.
- options.append('-DLegion_USE_Python=ON')
+ options.append("-DLegion_USE_Python=ON")
- if '+zlib' in spec:
+ if "+zlib" in spec:
# default is on.
- options.append('-DLegion_USE_ZLIB=ON')
+ options.append("-DLegion_USE_ZLIB=ON")
else:
- options.append('-DLegion_USE_ZLIB=OFF')
+ options.append("-DLegion_USE_ZLIB=OFF")
- if '+redop_complex' in spec:
+ if "+redop_complex" in spec:
# default is off.
- options.append('-DLegion_REDOP_COMPLEX=ON')
+ options.append("-DLegion_REDOP_COMPLEX=ON")
- if '+bindings' in spec:
+ if "+bindings" in spec:
# default is off.
- options.append('-DLegion_BUILD_BINDINGS=ON')
- options.append('-DLegion_REDOP_COMPLEX=ON') # required for bindings
- options.append('-DLegion_USE_Fortran=ON')
-
- if spec.variants['build_type'].value == 'Debug':
- cmake_cxx_flags.extend([
- '-DDEBUG_REALM',
- '-DDEBUG_LEGION',
- '-ggdb',
- ])
-
- maxdims = int(spec.variants['max_dims'].value)
+ options.append("-DLegion_BUILD_BINDINGS=ON")
+ options.append("-DLegion_REDOP_COMPLEX=ON") # required for bindings
+ options.append("-DLegion_USE_Fortran=ON")
+
+ if spec.variants["build_type"].value == "Debug":
+ cmake_cxx_flags.extend(
+ [
+ "-DDEBUG_REALM",
+ "-DDEBUG_LEGION",
+ "-ggdb",
+ ]
+ )
+
+ maxdims = int(spec.variants["max_dims"].value)
# TODO: sanity check if maxdims < 0 || > 9???
- options.append('-DLegion_MAX_DIM=%d' % maxdims)
+ options.append("-DLegion_MAX_DIM=%d" % maxdims)
- maxfields = int(spec.variants['max_fields'].value)
- if (maxfields <= 0):
+ maxfields = int(spec.variants["max_fields"].value)
+ if maxfields <= 0:
maxfields = 512
# make sure maxfields is a power of two. if not,
# find the next largest power of two and use that...
- if (maxfields & (maxfields - 1) != 0):
+ if maxfields & (maxfields - 1) != 0:
while maxfields & maxfields - 1:
maxfields = maxfields & maxfields - 1
maxfields = maxfields << 1
- options.append('-DLegion_MAX_FIELDS=%d' % maxfields)
+ options.append("-DLegion_MAX_FIELDS=%d" % maxfields)
# This disables Legion's CMake build system's logic for targeting the native
# CPU architecture in favor of Spack-provided compiler flags
- options.append('-DBUILD_MARCH:STRING=')
+ options.append("-DBUILD_MARCH:STRING=")
return options
- @run_after('install')
+ @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')])
+ 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')
+ 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')
+ print("Skipping local_function_tasks test")
return
- exe = 'local_function_tasks'
+ 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'))]
+ 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(
+ "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("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)
+ self.run_test(exe, purpose="test: run {0} example".format(exe), work_dir=test_dir)
def test(self):
self.run_local_function_tasks_test()
diff --git a/var/spack/repos/builtin/packages/lemon/package.py b/var/spack/repos/builtin/packages/lemon/package.py
index 08f437ed71..d75a1a965e 100644
--- a/var/spack/repos/builtin/packages/lemon/package.py
+++ b/var/spack/repos/builtin/packages/lemon/package.py
@@ -13,6 +13,6 @@ class Lemon(CMakePackage):
optimization tasks connected mainly with graphs and networks."""
homepage = "https://lemon.cs.elte.hu/trac/lemon"
- url = "https://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz"
+ url = "https://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz"
- version('1.3.1', sha256='71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8')
+ version("1.3.1", sha256="71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8")
diff --git a/var/spack/repos/builtin/packages/leptonica/package.py b/var/spack/repos/builtin/packages/leptonica/package.py
index df2d5e946b..7199ba3a23 100644
--- a/var/spack/repos/builtin/packages/leptonica/package.py
+++ b/var/spack/repos/builtin/packages/leptonica/package.py
@@ -11,22 +11,22 @@ class Leptonica(CMakePackage):
broadly useful for image processing and image analysis applications."""
homepage = "http://www.leptonica.org/"
- url = "https://github.com/DanBloomberg/leptonica/archive/1.80.0.tar.gz"
+ url = "https://github.com/DanBloomberg/leptonica/archive/1.80.0.tar.gz"
- version('1.81.0', sha256='70ebc04ff8b9684205bd1d01843c635a8521255b74813bf7cce9a33368f7952c')
- version('1.80.0', sha256='3952b974ec057d24267aae48c54bca68ead8275604bf084a73a4b953ff79196e')
- version('1.79.0', sha256='bf9716f91a4844c2682a07ef21eaf68b6f1077af1f63f27c438394fd66218e17')
- version('1.78.0', sha256='f8ac4d93cc76b524c2c81d27850bfc342e68b91368aa7a1f7d69e34ce13adbb4')
+ version("1.81.0", sha256="70ebc04ff8b9684205bd1d01843c635a8521255b74813bf7cce9a33368f7952c")
+ version("1.80.0", sha256="3952b974ec057d24267aae48c54bca68ead8275604bf084a73a4b953ff79196e")
+ version("1.79.0", sha256="bf9716f91a4844c2682a07ef21eaf68b6f1077af1f63f27c438394fd66218e17")
+ version("1.78.0", sha256="f8ac4d93cc76b524c2c81d27850bfc342e68b91368aa7a1f7d69e34ce13adbb4")
- depends_on('giflib')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('zlib')
- depends_on('libwebp+libwebpmux+libwebpdemux')
- depends_on('openjpeg')
+ depends_on("giflib")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("zlib")
+ depends_on("libwebp+libwebpmux+libwebpdemux")
+ depends_on("openjpeg")
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS=ON']
+ args = ["-DBUILD_SHARED_LIBS=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/lerc/package.py b/var/spack/repos/builtin/packages/lerc/package.py
index 243820f0f6..92b788dd28 100644
--- a/var/spack/repos/builtin/packages/lerc/package.py
+++ b/var/spack/repos/builtin/packages/lerc/package.py
@@ -15,8 +15,8 @@ class Lerc(CMakePackage):
input image is preserved (within user defined error bounds)."""
homepage = "https://github.com/Esri/lerc"
- url = "https://github.com/Esri/lerc/archive/refs/tags/v3.0.tar.gz"
+ url = "https://github.com/Esri/lerc/archive/refs/tags/v3.0.tar.gz"
- version('3.0', sha256='8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1')
+ version("3.0", sha256="8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1")
- depends_on('cmake@3.11:', type='build')
+ depends_on("cmake@3.11:", type="build")
diff --git a/var/spack/repos/builtin/packages/less/package.py b/var/spack/repos/builtin/packages/less/package.py
index 7606d967b5..d854a0b0db 100644
--- a/var/spack/repos/builtin/packages/less/package.py
+++ b/var/spack/repos/builtin/packages/less/package.py
@@ -12,9 +12,9 @@ class Less(AutotoolsPackage):
file aswell as forwards."""
homepage = "https://www.greenwoodsoftware.com/less/"
- url = "https://www.greenwoodsoftware.com/less/less-551.zip"
+ url = "https://www.greenwoodsoftware.com/less/less-551.zip"
list_url = "https://www.greenwoodsoftware.com/less/download.html"
- version('590', sha256='69056021c365b16504cf5bd3864436a5e50cb2f98b76cd68b99b457064139375')
- version('551', sha256='2630db16ef188e88b513b3cc24daa9a798c45643cc7da06e549c9c00cfd84244')
- version('530', sha256='8c1652ba88a726314aa2616d1c896ca8fe9a30253a5a67bc21d444e79a6c6bc3')
+ version("590", sha256="69056021c365b16504cf5bd3864436a5e50cb2f98b76cd68b99b457064139375")
+ version("551", sha256="2630db16ef188e88b513b3cc24daa9a798c45643cc7da06e549c9c00cfd84244")
+ version("530", sha256="8c1652ba88a726314aa2616d1c896ca8fe9a30253a5a67bc21d444e79a6c6bc3")
diff --git a/var/spack/repos/builtin/packages/lesstif/package.py b/var/spack/repos/builtin/packages/lesstif/package.py
index bbdfa14112..858ab373bf 100644
--- a/var/spack/repos/builtin/packages/lesstif/package.py
+++ b/var/spack/repos/builtin/packages/lesstif/package.py
@@ -10,38 +10,36 @@ class Lesstif(AutotoolsPackage):
"""LessTif is the Hungry Programmers' version of OSF/Motif."""
homepage = "https://sourceforge.net/projects/lesstif"
- url = "https://sourceforge.net/projects/lesstif/files/lesstif/0.95.2/lesstif-0.95.2.tar.bz2/download"
+ url = "https://sourceforge.net/projects/lesstif/files/lesstif/0.95.2/lesstif-0.95.2.tar.bz2/download"
- version('0.95.2', sha256='eb4aa38858c29a4a3bcf605cfe7d91ca41f4522d78d770f69721e6e3a4ecf7e3')
+ version("0.95.2", sha256="eb4aa38858c29a4a3bcf605cfe7d91ca41f4522d78d770f69721e6e3a4ecf7e3")
- variant('shared', default=True, description='Build shared libraries')
- variant('static', default=False, description='Build static libraries')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("static", default=False, description="Build static libraries")
- depends_on('libice')
- depends_on('libsm')
- depends_on('libxt')
- depends_on('libxext')
+ depends_on("libice")
+ depends_on("libsm")
+ depends_on("libxt")
+ depends_on("libxext")
def patch(self):
- filter_file("ACLOCALDIR=.*",
- "ACLOCALDIR='${datarootdir}/aclocal'",
- "configure")
+ filter_file("ACLOCALDIR=.*", "ACLOCALDIR='${datarootdir}/aclocal'", "configure")
def setup_build_environment(self, env):
# 'sed' fails if LANG=en_US.UTF-8 as is often the case on Macs.
# The configure script finds our superenv sed wrapper, sets
# SED, but then doesn't use that variable.
- env.set('LANG', 'C')
+ env.set("LANG", "C")
def configure_args(self):
spec = self.spec
args = [
- '--disable-debug',
- '--enable-production',
- '--disable-dependency-tracking',
- '--enable-shared' if '+shared' in spec else '--disable-shared',
- '--enable-static' if '+static' in spec else '--disable-static',
+ "--disable-debug",
+ "--enable-production",
+ "--disable-dependency-tracking",
+ "--enable-shared" if "+shared" in spec else "--disable-shared",
+ "--enable-static" if "+static" in spec else "--disable-static",
]
return args
@@ -49,4 +47,4 @@ class Lesstif(AutotoolsPackage):
# LessTif won't install in parallel 'cause several parts of the
# Makefile will try to make the same directory and `mkdir` will fail.
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/leveldb/package.py b/var/spack/repos/builtin/packages/leveldb/package.py
index a40ad402c2..03c9bf4f10 100644
--- a/var/spack/repos/builtin/packages/leveldb/package.py
+++ b/var/spack/repos/builtin/packages/leveldb/package.py
@@ -12,87 +12,89 @@ class Leveldb(CMakePackage):
that provides an ordered mapping from string keys to string values."""
homepage = "https://github.com/google/leveldb"
- url = "https://github.com/google/leveldb/archive/1.22.tar.gz"
- git = "https://github.com/google/leveldb.git"
+ url = "https://github.com/google/leveldb/archive/1.22.tar.gz"
+ git = "https://github.com/google/leveldb.git"
- version('master', branch='master')
- version('1.23', sha256='9a37f8a6174f09bd622bc723b55881dc541cd50747cbd08831c2a82d620f6d76')
- version('1.22', sha256='55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2')
- version('1.20', sha256='f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664')
- version('1.18', sha256='4aa1a7479bc567b95a59ac6fb79eba49f61884d6fd400f20b7af147d54c5cee5')
+ version("master", branch="master")
+ version("1.23", sha256="9a37f8a6174f09bd622bc723b55881dc541cd50747cbd08831c2a82d620f6d76")
+ version("1.22", sha256="55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2")
+ version("1.20", sha256="f5abe8b5b209c2f36560b75f32ce61412f39a2922f7045ae764a2c23335b6664")
+ version("1.18", sha256="4aa1a7479bc567b95a59ac6fb79eba49f61884d6fd400f20b7af147d54c5cee5")
- variant('shared', default=True, description='Build shared library')
+ variant("shared", default=True, description="Build shared library")
- depends_on('cmake@3.9:', when='@1.21:', type='build')
+ depends_on("cmake@3.9:", when="@1.21:", type="build")
- depends_on('snappy')
+ depends_on("snappy")
- patch('0001-fix-check-for-Wthread-safety.patch', when='@1.22')
+ patch("0001-fix-check-for-Wthread-safety.patch", when="@1.22")
def url_for_version(self, version):
- url = 'https://github.com/google/leveldb/archive/{0}.tar.gz'
+ url = "https://github.com/google/leveldb/archive/{0}.tar.gz"
- if version >= Version('1.21'):
+ if version >= Version("1.21"):
ver = version
else:
- ver = 'v{0}'.format(version)
+ ver = "v{0}".format(version)
return url.format(ver)
# CMake support was added in version 1.21
- @when('@:1.20')
+ @when("@:1.20")
def cmake(self, spec, prefix):
pass
- @when('@:1.20')
+ @when("@:1.20")
def build(self, spec, prefix):
pass
- @when('@:1.20')
+ @when("@:1.20")
def install(self, spec, prefix):
make()
mkdirp(prefix.lib)
# Needed for version 1.20
- install('out-shared/libleveldb.*', prefix.lib)
- install('out-static/libleveldb.*', prefix.lib)
+ install("out-shared/libleveldb.*", prefix.lib)
+ install("out-static/libleveldb.*", prefix.lib)
# Needed for version 1.18
- install('libleveldb.*', prefix.lib)
+ install("libleveldb.*", prefix.lib)
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
def cmake_args(self):
args = []
- if '+shared' in self.spec:
- args.append('-DBUILD_SHARED_LIBS=ON')
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
+ args.append("-DBUILD_SHARED_LIBS=OFF")
# The tarball is missing the benchmark and test submodules
- if self.spec.satisfies('@1.23:'):
- args.append('-DLEVELDB_BUILD_BENCHMARKS=OFF')
- args.append('-DLEVELDB_BUILD_TESTS=OFF')
+ if self.spec.satisfies("@1.23:"):
+ args.append("-DLEVELDB_BUILD_BENCHMARKS=OFF")
+ args.append("-DLEVELDB_BUILD_TESTS=OFF")
return args
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
- libdir = self.spec['leveldb'].libs.directories[0]
- pkg_path = join_path(libdir, 'pkgconfig')
+ libdir = self.spec["leveldb"].libs.directories[0]
+ pkg_path = join_path(libdir, "pkgconfig")
mkdirp(pkg_path)
- with open(join_path(pkg_path, 'leveldb.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(libdir))
- f.write('includedir={0}\n'.format(self.prefix.include))
- f.write('\n')
- f.write('Name: leveldb\n')
- f.write('Description: LevelDB is a fast key-value storage library'
- ' written at Google that provides an ordered mapping from'
- ' string keys to string values.\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -lleveldb\n')
+ with open(join_path(pkg_path, "leveldb.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(libdir))
+ f.write("includedir={0}\n".format(self.prefix.include))
+ f.write("\n")
+ f.write("Name: leveldb\n")
+ f.write(
+ "Description: LevelDB is a fast key-value storage library"
+ " written at Google that provides an ordered mapping from"
+ " string keys to string values.\n"
+ )
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -lleveldb\n")
diff --git a/var/spack/repos/builtin/packages/lftp/package.py b/var/spack/repos/builtin/packages/lftp/package.py
index 5227256502..9a177dfdee 100644
--- a/var/spack/repos/builtin/packages/lftp/package.py
+++ b/var/spack/repos/builtin/packages/lftp/package.py
@@ -8,29 +8,29 @@ from spack.package import *
class Lftp(AutotoolsPackage):
"""LFTP is a sophisticated file transfer program supporting a number
- of network protocols (ftp, http, sftp, fish, torrent)."""
+ of network protocols (ftp, http, sftp, fish, torrent)."""
homepage = "https://lftp.yar.ru/"
- url = "https://lftp.yar.ru/ftp/lftp-4.9.2.tar.gz"
+ url = "https://lftp.yar.ru/ftp/lftp-4.9.2.tar.gz"
- version('4.9.2', sha256='a37589c61914073f53c5da0e68bd233b41802509d758a022000e1ae2076da733')
- version('4.8.1', sha256='6117866215cd889dab30ff73292cd1d35fe0e12a9af5cd76d093500d07ab65a3')
- version('4.7.7', sha256='7bce216050094a1146ed05bed8fe5b3518224764ffe98884a848d44dc76fff8f')
- version('4.6.4', sha256='791e783779d3d6b519d0c23155430b9785f2854023eb834c716f5ba78873b15a')
+ version("4.9.2", sha256="a37589c61914073f53c5da0e68bd233b41802509d758a022000e1ae2076da733")
+ version("4.8.1", sha256="6117866215cd889dab30ff73292cd1d35fe0e12a9af5cd76d093500d07ab65a3")
+ version("4.7.7", sha256="7bce216050094a1146ed05bed8fe5b3518224764ffe98884a848d44dc76fff8f")
+ version("4.6.4", sha256="791e783779d3d6b519d0c23155430b9785f2854023eb834c716f5ba78873b15a")
- depends_on('expat')
- depends_on('iconv')
- depends_on('ncurses')
- depends_on('openssl')
- depends_on('readline')
- depends_on('zlib')
+ depends_on("expat")
+ depends_on("iconv")
+ depends_on("ncurses")
+ depends_on("openssl")
+ depends_on("readline")
+ depends_on("zlib")
def configure_args(self):
return [
- '--with-expat={0}'.format(self.spec['expat'].prefix),
- '--with-libiconv={0}'.format(self.spec['iconv'].prefix),
- '--with-openssl={0}'.format(self.spec['openssl'].prefix),
- '--with-readline={0}'.format(self.spec['readline'].prefix),
- '--with-zlib={0}'.format(self.spec['zlib'].prefix),
- '--disable-dependency-tracking',
+ "--with-expat={0}".format(self.spec["expat"].prefix),
+ "--with-libiconv={0}".format(self.spec["iconv"].prefix),
+ "--with-openssl={0}".format(self.spec["openssl"].prefix),
+ "--with-readline={0}".format(self.spec["readline"].prefix),
+ "--with-zlib={0}".format(self.spec["zlib"].prefix),
+ "--disable-dependency-tracking",
]
diff --git a/var/spack/repos/builtin/packages/lhapdf/package.py b/var/spack/repos/builtin/packages/lhapdf/package.py
index 43ae27a51b..063101e479 100644
--- a/var/spack/repos/builtin/packages/lhapdf/package.py
+++ b/var/spack/repos/builtin/packages/lhapdf/package.py
@@ -8,37 +8,40 @@ from spack.package import *
class Lhapdf(AutotoolsPackage):
"""LHAPDF is a general purpose C++ interpolator,
- used for evaluating PDFs from discretised data files. """
+ used for evaluating PDFs from discretised data files."""
homepage = "https://lhapdf.hepforge.org/"
- git = "https://gitlab.com/hepcedar/lhapdf"
+ git = "https://gitlab.com/hepcedar/lhapdf"
# the tarballs from hepforge include bundled cython sources
# that may break the build when using incompatible python versions
# thus use the release tarball from gitlab that does not include lhapdf.cxx
- url = "https://gitlab.com/hepcedar/lhapdf/-/archive/lhapdf-6.4.0/lhapdf-lhapdf-6.4.0.tar.gz"
+ url = "https://gitlab.com/hepcedar/lhapdf/-/archive/lhapdf-6.4.0/lhapdf-lhapdf-6.4.0.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('6.5.1', sha256='7a19ba4cdee7053bb79db317143fe768dd6abef1ec34e2d183225e13df96a983')
- version('6.4.0', sha256='155702c36df46de30c5f7fa249193a9a0eea614191de1606301e06cd8062fc29')
- version('6.3.0', sha256='864468439c7662bbceed6c61c7132682ec83381a23c9c9920502fdd7329dd816')
- version('6.2.3', sha256='37200a1ab70247250a141dfed7419d178f9a83bd23a4f8a38e203d4e27b41308')
+ version("6.5.1", sha256="7a19ba4cdee7053bb79db317143fe768dd6abef1ec34e2d183225e13df96a983")
+ version("6.4.0", sha256="155702c36df46de30c5f7fa249193a9a0eea614191de1606301e06cd8062fc29")
+ version("6.3.0", sha256="864468439c7662bbceed6c61c7132682ec83381a23c9c9920502fdd7329dd816")
+ version("6.2.3", sha256="37200a1ab70247250a141dfed7419d178f9a83bd23a4f8a38e203d4e27b41308")
- variant('python', default=True, description="Build python bindings")
+ variant("python", default=True, description="Build python bindings")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- extends('python', when='+python')
- depends_on('py-cython', type='build', when='+python')
- depends_on('py-setuptools', type='build', when='+python')
- depends_on('gettext', type='build', when='+python')
+ extends("python", when="+python")
+ depends_on("py-cython", type="build", when="+python")
+ depends_on("py-setuptools", type="build", when="+python")
+ depends_on("gettext", type="build", when="+python")
def configure_args(self):
- args = ['FCFLAGS=-O3', 'CFLAGS=-O3', 'CXXFLAGS=-O3',
- 'LIBS=-L' + self.spec['python'].prefix.lib +
- ' -L' + self.spec['gettext'].prefix.lib]
- args.extend(self.enable_or_disable('python'))
+ args = [
+ "FCFLAGS=-O3",
+ "CFLAGS=-O3",
+ "CXXFLAGS=-O3",
+ "LIBS=-L" + self.spec["python"].prefix.lib + " -L" + self.spec["gettext"].prefix.lib,
+ ]
+ args.extend(self.enable_or_disable("python"))
return args
diff --git a/var/spack/repos/builtin/packages/lhapdf5/package.py b/var/spack/repos/builtin/packages/lhapdf5/package.py
index 669dd8cf75..34fa2376bb 100644
--- a/var/spack/repos/builtin/packages/lhapdf5/package.py
+++ b/var/spack/repos/builtin/packages/lhapdf5/package.py
@@ -11,36 +11,33 @@ class Lhapdf5(AutotoolsPackage):
used for evaluating PDFs from discretised data files."""
homepage = "https://lhapdf.hepforge.org/lhapdf5/"
- url = "https://lhapdf.hepforge.org/downloads?f=old/lhapdf-5.9.1.tar.gz"
-
- version('5.9.1', sha256='86b9b046d7f25627ce2aab6847ef1c5534972f4bae18de98225080cf5086919c')
- version('5.9.0', sha256='64b9018ce6102ae7b6a92c990ca6afa841fb992d87b1abf5756c3d04c4d46b9c')
- version('5.8.9', sha256='b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c')
- version('5.8.8', sha256='fe4c7148b1858c3c534c5e80ea1a8766b4407d19c44c40578da54e390af228f8')
- version('5.8.7', sha256='4c6effdcc74c8b60aaa18bf60e224de3c5f3c2e5b0efc08d38338f01bec7db47')
- version('5.8.6', sha256='689800b2ad6d822e2da0435f9303457feaa9102bff8ef9dbfd708e13afceeef2')
- version('5.8.5', sha256='f37d87c70a65a770bb2d013c4d1d9aa5d90c0f52b9430d56bab578fd221e8e41')
- version('5.8.4', sha256='75a3b44bd4509bec47806fb5ad4baaa6334a2aa8f51cf2f7195d4f08bd353ca2')
- version('5.8.3', sha256='e9b5e72bab65adef9ef78a5e0ee526a6ee673bed142f5e3617c0a27029b84275')
- version('5.8.2', sha256='c54b4153b43453426510fd8aa322de66a80a33137ad251124345309615f6a3a6')
- version('5.8.1', sha256='e113818541e976be69a9524007c2db19059da9af7abfebf7c53d86eafa2109c9')
- version('5.8.0', sha256='8381ea5f785dde95772a2b6d5890f1cb72012e223e6861823fd81b09eedaa7a3')
- version('5.7.1', sha256='40529629351598317fbf7b5905661e51b23778019d50451eee78d7b1118e2559')
-
- variant('python2', default=False,
- description="Enable Python2 extension")
-
- depends_on('python@2.3:2.7', when='+python2')
+ url = "https://lhapdf.hepforge.org/downloads?f=old/lhapdf-5.9.1.tar.gz"
+
+ version("5.9.1", sha256="86b9b046d7f25627ce2aab6847ef1c5534972f4bae18de98225080cf5086919c")
+ version("5.9.0", sha256="64b9018ce6102ae7b6a92c990ca6afa841fb992d87b1abf5756c3d04c4d46b9c")
+ version("5.8.9", sha256="b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c")
+ version("5.8.8", sha256="fe4c7148b1858c3c534c5e80ea1a8766b4407d19c44c40578da54e390af228f8")
+ version("5.8.7", sha256="4c6effdcc74c8b60aaa18bf60e224de3c5f3c2e5b0efc08d38338f01bec7db47")
+ version("5.8.6", sha256="689800b2ad6d822e2da0435f9303457feaa9102bff8ef9dbfd708e13afceeef2")
+ version("5.8.5", sha256="f37d87c70a65a770bb2d013c4d1d9aa5d90c0f52b9430d56bab578fd221e8e41")
+ version("5.8.4", sha256="75a3b44bd4509bec47806fb5ad4baaa6334a2aa8f51cf2f7195d4f08bd353ca2")
+ version("5.8.3", sha256="e9b5e72bab65adef9ef78a5e0ee526a6ee673bed142f5e3617c0a27029b84275")
+ version("5.8.2", sha256="c54b4153b43453426510fd8aa322de66a80a33137ad251124345309615f6a3a6")
+ version("5.8.1", sha256="e113818541e976be69a9524007c2db19059da9af7abfebf7c53d86eafa2109c9")
+ version("5.8.0", sha256="8381ea5f785dde95772a2b6d5890f1cb72012e223e6861823fd81b09eedaa7a3")
+ version("5.7.1", sha256="40529629351598317fbf7b5905661e51b23778019d50451eee78d7b1118e2559")
+
+ variant("python2", default=False, description="Enable Python2 extension")
+
+ depends_on("python@2.3:2.7", when="+python2")
def setup_build_environment(self, env):
- env.append_flags('FFLAGS', '-std=legacy')
- if self.spec.satisfies('+python2'):
- env.append_flags(
- 'PYTHON',
- join_path(self.spec['python'].prefix.bin, 'python'))
+ env.append_flags("FFLAGS", "-std=legacy")
+ if self.spec.satisfies("+python2"):
+ env.append_flags("PYTHON", join_path(self.spec["python"].prefix.bin, "python"))
def configure_args(self):
args = []
- if self.spec.satisfies('-python2'):
- args.append('--disable-pyext')
+ if self.spec.satisfies("-python2"):
+ args.append("--disable-pyext")
return args
diff --git a/var/spack/repos/builtin/packages/lhapdfsets/package.py b/var/spack/repos/builtin/packages/lhapdfsets/package.py
index c7645bc42c..b7d7bf874d 100644
--- a/var/spack/repos/builtin/packages/lhapdfsets/package.py
+++ b/var/spack/repos/builtin/packages/lhapdfsets/package.py
@@ -10,52 +10,59 @@ from spack.package import *
class Lhapdfsets(BundlePackage):
"""A set of disretised data files of parton density functions ,
- to be used with the LHAPDF library"""
+ to be used with the LHAPDF library"""
homepage = "https://lhapdf.hepforge.org/pdfsets.html"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('6.3.0')
+ version("6.3.0")
- depends_on('lhapdf', type='build')
+ depends_on("lhapdf", type="build")
- phases = ['install']
+ phases = ["install"]
# use a dummy executables for spack external support
- executables = [r'^lhapdf$']
+ executables = [r"^lhapdf$"]
- variant('sets', description="Individiual lhapdf sets to install", values=('all', 'default'), default='default')
+ variant(
+ "sets",
+ description="Individiual lhapdf sets to install",
+ values=("all", "default"),
+ default="default",
+ )
def install(self, spec, prefix):
mkdirp(self.prefix.share.lhapdfsets)
- lhapdf = which('lhapdf')
- sets = self.spec.variants['sets'].value
- if sets == 'all':
+ lhapdf = which("lhapdf")
+ sets = self.spec.variants["sets"].value
+ if sets == "all":
# parse set names from index file
- all_sets = [_line.split()[1] for _line in
- open(join_path(os.path.dirname(__file__),
- 'pdfsets.index')).readlines()]
+ all_sets = [
+ _line.split()[1]
+ for _line in open(
+ join_path(os.path.dirname(__file__), "pdfsets.index")
+ ).readlines()
+ ]
sets = all_sets
- elif sets == 'default':
+ elif sets == "default":
default_sets = ["MMHT2014lo68cl", "MMHT2014nlo68cl", "CT14lo", "CT14nlo"]
sets = default_sets
- lhapdf("--pdfdir=" + self.prefix.share.lhapdfsets,
- "install", *sets)
+ lhapdf("--pdfdir=" + self.prefix.share.lhapdfsets, "install", *sets)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('LHAPDF_DATA_PATH', self.prefix.share.lhapdfsets)
+ env.set("LHAPDF_DATA_PATH", self.prefix.share.lhapdfsets)
def setup_run_environment(self, env):
- env.set('LHAPDF_DATA_PATH', self.prefix.share.lhapdfsets)
+ env.set("LHAPDF_DATA_PATH", self.prefix.share.lhapdfsets)
@classmethod
def determine_spec_details(cls, prefix, exes_in_prefix):
- path = os.environ.get('LHAPDF_DATA_PATH', None)
+ path = os.environ.get("LHAPDF_DATA_PATH", None)
# unfortunately the sets are not versioned -
# just hardcode the current version and hope it is fine
- s = Spec.from_detection('lhapdfsets@6.3.0')
+ s = Spec.from_detection("lhapdfsets@6.3.0")
s.external_path = path
return s if path else None
diff --git a/var/spack/repos/builtin/packages/libabigail/package.py b/var/spack/repos/builtin/packages/libabigail/package.py
index 7d8020c567..2781e18c4a 100644
--- a/var/spack/repos/builtin/packages/libabigail/package.py
+++ b/var/spack/repos/builtin/packages/libabigail/package.py
@@ -10,42 +10,43 @@ class Libabigail(AutotoolsPackage):
"""The ABI Generic Analysis and Instrumentation Library"""
homepage = "https://sourceware.org/libabigail"
- url = "https://mirrors.kernel.org/sourceware/libabigail/libabigail-2.0.tar.gz"
- git = "https://sourceware.org/git/libabigail.git"
+ url = "https://mirrors.kernel.org/sourceware/libabigail/libabigail-2.0.tar.gz"
+ git = "https://sourceware.org/git/libabigail.git"
- version('master', branch='master')
- version('2.0', sha256='3704ae97a56bf076ca08fb5dea6b21db998fbbf14c4f9de12824b78db53b6fda')
- version('1.8', sha256='1cbf260b894ccafc61b2673ba30c020c3f67dbba9dfa88dca3935dff661d665c')
+ version("master", branch="master")
+ version("2.0", sha256="3704ae97a56bf076ca08fb5dea6b21db998fbbf14c4f9de12824b78db53b6fda")
+ version("1.8", sha256="1cbf260b894ccafc61b2673ba30c020c3f67dbba9dfa88dca3935dff661d665c")
- variant('docs', default=False, description='build documentation')
+ variant("docs", default=False, description="build documentation")
- depends_on('elfutils', type=('build', 'link'))
- depends_on('libxml2', type=("build", "link"))
+ depends_on("elfutils", type=("build", "link"))
+ depends_on("libxml2", type=("build", "link"))
- depends_on('autoconf', type='build', when="@master")
- depends_on('automake', type='build', when="@master")
- depends_on('libtool', type='build', when="@master")
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
# Libabigail won't generate it's bin without Python
- depends_on('python@3.8:')
+ depends_on("python@3.8:")
# Will not find libxml without this
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# Documentation dependencies
- depends_on('doxygen', type="build", when="+docs")
- depends_on('py-sphinx', type='build', when="+docs")
+ depends_on("doxygen", type="build", when="+docs")
+ depends_on("py-sphinx", type="build", when="+docs")
def configure_args(self):
spec = self.spec
- config_args = ['CPPFLAGS=-I{0}/include'.format(spec['libxml2'].prefix)]
- config_args.append('LDFLAGS=-L{0} -Wl,-rpath,{0}'.format(
- spec['libxml2'].libs.directories[0]))
+ config_args = ["CPPFLAGS=-I{0}/include".format(spec["libxml2"].prefix)]
+ config_args.append(
+ "LDFLAGS=-L{0} -Wl,-rpath,{0}".format(spec["libxml2"].libs.directories[0])
+ )
return config_args
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.configure_directory):
# We need force (f) because without it, looks for RedHat library
- autoreconf('-ivf')
+ autoreconf("-ivf")
diff --git a/var/spack/repos/builtin/packages/libaec/package.py b/var/spack/repos/builtin/packages/libaec/package.py
index 05987ee191..7f4f52c084 100644
--- a/var/spack/repos/builtin/packages/libaec/package.py
+++ b/var/spack/repos/builtin/packages/libaec/package.py
@@ -8,49 +8,45 @@ from spack.package import *
class Libaec(CMakePackage):
"""Libaec provides fast lossless compression of 1 up to 32 bit wide signed
- or unsigned integers (samples). It implements Golomb-Rice compression
- method under the BSD license and includes a free drop-in replacement for
- the SZIP library.
+ or unsigned integers (samples). It implements Golomb-Rice compression
+ method under the BSD license and includes a free drop-in replacement for
+ the SZIP library.
"""
- homepage = 'https://gitlab.dkrz.de/k202009/libaec'
- url = 'https://gitlab.dkrz.de/api/v4/projects/k202009%2Flibaec/repository/archive.tar.gz?sha=v1.0.2'
- list_url = 'https://gitlab.dkrz.de/k202009/libaec/tags'
+ homepage = "https://gitlab.dkrz.de/k202009/libaec"
+ url = "https://gitlab.dkrz.de/api/v4/projects/k202009%2Flibaec/repository/archive.tar.gz?sha=v1.0.2"
+ list_url = "https://gitlab.dkrz.de/k202009/libaec/tags"
- provides('szip')
+ provides("szip")
- version('1.0.6', sha256='abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be')
- 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')
+ version("1.0.6", sha256="abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be")
+ 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")
- variant('shared', default=True,
- description='Builds a shared version of the library')
+ variant("shared", default=True, description="Builds a shared version of the library")
@property
def libs(self):
query = self.spec.last_query
- libraries = ['libaec']
+ libraries = ["libaec"]
- if 'szip' == query.name or 'szip' in query.extra_parameters:
- libraries.insert(0, 'libsz')
+ if "szip" == query.name or "szip" in query.extra_parameters:
+ libraries.insert(0, "libsz")
- shared = '~shared' not in self.spec
+ shared = "~shared" not in self.spec
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if not libs:
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
return libs
def cmake_args(self):
- return [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
diff --git a/var/spack/repos/builtin/packages/libaio/package.py b/var/spack/repos/builtin/packages/libaio/package.py
index baeeece86d..b32f084ad9 100644
--- a/var/spack/repos/builtin/packages/libaio/package.py
+++ b/var/spack/repos/builtin/packages/libaio/package.py
@@ -18,12 +18,14 @@ class Libaio(MakefilePackage):
"""
homepage = "http://lse.sourceforge.net/io/aio.html"
- url = "https://debian.inf.tu-dresden.de/debian/pool/main/liba/libaio/libaio_0.3.110.orig.tar.gz"
+ url = (
+ "https://debian.inf.tu-dresden.de/debian/pool/main/liba/libaio/libaio_0.3.110.orig.tar.gz"
+ )
- version('0.3.110', sha256='e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e')
+ version("0.3.110", sha256="e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e")
- conflicts('platform=darwin', msg="libaio is a linux specific library")
+ conflicts("platform=darwin", msg="libaio is a linux specific library")
@property
def install_targets(self):
- return ['prefix={0}'.format(self.spec.prefix), 'install']
+ return ["prefix={0}".format(self.spec.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/libao/package.py b/var/spack/repos/builtin/packages/libao/package.py
index b8fd5502b3..040df54696 100644
--- a/var/spack/repos/builtin/packages/libao/package.py
+++ b/var/spack/repos/builtin/packages/libao/package.py
@@ -10,14 +10,14 @@ class Libao(AutotoolsPackage):
"""A Cross-platform Audio Library."""
homepage = "https://github.com/xiph/libao/"
- url = "https://github.com/xiph/libao/archive/1.2.2.tar.gz"
+ url = "https://github.com/xiph/libao/archive/1.2.2.tar.gz"
- version('1.2.2', sha256='df8a6d0e238feeccb26a783e778716fb41a801536fe7b6fce068e313c0e2bf4d')
- version('1.2.0', sha256='5ec2d15ee39f218e93a87f5cc8508aaebf5c8b544f42488dcb2b504d97392c99')
- version('1.1.0', sha256='69edc39fa2759133edfcdee0ec47559067a1a8e7cd718db0eb3c82ca4254aa6b')
+ version("1.2.2", sha256="df8a6d0e238feeccb26a783e778716fb41a801536fe7b6fce068e313c0e2bf4d")
+ version("1.2.0", sha256="5ec2d15ee39f218e93a87f5cc8508aaebf5c8b544f42488dcb2b504d97392c99")
+ version("1.1.0", sha256="69edc39fa2759133edfcdee0ec47559067a1a8e7cd718db0eb3c82ca4254aa6b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('perl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("perl")
diff --git a/var/spack/repos/builtin/packages/libapplewm/package.py b/var/spack/repos/builtin/packages/libapplewm/package.py
index 6d588736f7..22e224e601 100644
--- a/var/spack/repos/builtin/packages/libapplewm/package.py
+++ b/var/spack/repos/builtin/packages/libapplewm/package.py
@@ -14,15 +14,15 @@ class Libapplewm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libAppleWM"
xorg_mirror_path = "lib/libAppleWM-1.4.1.tar.gz"
- version('1.4.1', sha256='d7fb098d65ad4d840f60e5c92de7f58f1725bd70d0d132755ea453462fd50049')
+ version("1.4.1", sha256="d7fb098d65ad4d840f60e5c92de7f58f1725bd70d0d132755ea453462fd50049")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('applewmproto@1.4:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("applewmproto@1.4:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# Crashes with this error message on Linux:
# HIServices/Processes.h: No such file or directory
diff --git a/var/spack/repos/builtin/packages/libapreq2/package.py b/var/spack/repos/builtin/packages/libapreq2/package.py
index 93f2866aa3..dc1906c3fd 100644
--- a/var/spack/repos/builtin/packages/libapreq2/package.py
+++ b/var/spack/repos/builtin/packages/libapreq2/package.py
@@ -13,13 +13,13 @@ class Libapreq2(AutotoolsPackage):
language bindings are most welcome)."""
homepage = "https://github.com/gitpan/libapreq2"
- url = "https://github.com/gitpan/libapreq2/archive/gitpan_version/2.13.tar.gz"
+ url = "https://github.com/gitpan/libapreq2/archive/gitpan_version/2.13.tar.gz"
- version('2.13', sha256='477ce8207e89869e1e4520286697a56d4bd6af348899849ecef43c88bf0872d1')
- version('2.12', sha256='75cc1daa60e781270178c8f9fbe9c68231a7bc96bcc5c7a970cfce75d784b568')
- version('2.08', sha256='9f491588957415ebe0decdf6758fcb5c0d3eaf05a573bdd51de499ae111ffc53')
+ version("2.13", sha256="477ce8207e89869e1e4520286697a56d4bd6af348899849ecef43c88bf0872d1")
+ version("2.12", sha256="75cc1daa60e781270178c8f9fbe9c68231a7bc96bcc5c7a970cfce75d784b568")
+ version("2.08", sha256="9f491588957415ebe0decdf6758fcb5c0d3eaf05a573bdd51de499ae111ffc53")
- depends_on('apr')
- depends_on('apr-util')
- depends_on('httpd')
- depends_on('perl', type='build')
+ depends_on("apr")
+ depends_on("apr-util")
+ depends_on("httpd")
+ depends_on("perl", type="build")
diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py
index b1c0407654..4fc211a95d 100644
--- a/var/spack/repos/builtin/packages/libarchive/package.py
+++ b/var/spack/repos/builtin/packages/libarchive/package.py
@@ -8,58 +8,85 @@ from spack.package import *
class Libarchive(AutotoolsPackage):
"""libarchive: C library and command-line tools for reading and
- writing tar, cpio, zip, ISO, and other archive formats."""
+ writing tar, cpio, zip, ISO, and other archive formats."""
homepage = "https://www.libarchive.org"
- url = "https://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"
- maintainers = ['haampie']
+ url = "https://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')
- version('3.2.1', sha256='72ee1a4e3fd534525f13a0ba1aa7b05b203d186e0c6072a8a4738649d0b3cfd2')
- version('3.1.2', sha256='eb87eacd8fe49e8d90c8fdc189813023ccc319c5e752b01fb6ad0cc7b2c53d5e')
- version('3.1.1', sha256='4968f9a3f2405ec7e07d5f6e78b36f21bceee6196df0a795165f89774bbbc6d8')
- version('3.1.0', sha256='64b15dfa623b323da8fc9c238b5bca962ec3b38dcdfd2ed86f5f509e578a3524')
+ version("3.5.2", sha256="5f245bd5176bc5f67428eb0aa497e09979264a153a074d35416521a5b8e86189")
+ version("3.5.1", sha256="9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a")
+ version("3.4.1", sha256="fcf87f3ad8db2e4f74f32526dee62dd1fb9894782b0a503a89c9d7a70a235191")
+ version("3.3.2", sha256="ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce")
+ version("3.2.1", sha256="72ee1a4e3fd534525f13a0ba1aa7b05b203d186e0c6072a8a4738649d0b3cfd2")
+ version("3.1.2", sha256="eb87eacd8fe49e8d90c8fdc189813023ccc319c5e752b01fb6ad0cc7b2c53d5e")
+ version("3.1.1", sha256="4968f9a3f2405ec7e07d5f6e78b36f21bceee6196df0a795165f89774bbbc6d8")
+ version("3.1.0", sha256="64b15dfa623b323da8fc9c238b5bca962ec3b38dcdfd2ed86f5f509e578a3524")
- variant('libs', default='static,shared', values=('static', 'shared'),
- multi=True, description='What libraries to build')
+ variant(
+ "libs",
+ default="static,shared",
+ values=("static", "shared"),
+ multi=True,
+ description="What libraries to build",
+ )
# 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')
+ 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')
- 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('zstd', when='compression=zstd')
+ 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("zstd", when="compression=zstd")
- depends_on('nettle', when='crypto=nettle')
- depends_on('openssl', when='crypto=openssl')
- depends_on('mbedtls@2.0:2 +pic', when='crypto=mbedtls')
+ depends_on("nettle", when="crypto=nettle")
+ depends_on("openssl", when="crypto=openssl")
+ depends_on("mbedtls@2.0:2 +pic", when="crypto=mbedtls")
- depends_on('libxml2', when='xar=libxml2')
- depends_on('expat', when='xar=expat')
+ depends_on("libxml2", when="xar=libxml2")
+ depends_on("expat", when="xar=expat")
- depends_on('libiconv', when='+iconv')
+ depends_on("libiconv", when="+iconv")
- conflicts('crypto=mbedtls', when='@:3.4.1', msg="mbed TLS is only supported from libarchive 3.4.2")
+ 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']
- 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')
+ 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
diff --git a/var/spack/repos/builtin/packages/libasr/package.py b/var/spack/repos/builtin/packages/libasr/package.py
index a5ed986428..07d566e5ef 100644
--- a/var/spack/repos/builtin/packages/libasr/package.py
+++ b/var/spack/repos/builtin/packages/libasr/package.py
@@ -10,7 +10,7 @@ class Libasr(AutotoolsPackage):
"""libasr is a free, simple and portable asynchronous resolver library."""
homepage = "https://github.com/OpenSMTPD/libasr"
- url = "https://github.com/OpenSMTPD/libasr/releases/download/1.0.4/libasr-1.0.4.tar.gz"
+ url = "https://github.com/OpenSMTPD/libasr/releases/download/1.0.4/libasr-1.0.4.tar.gz"
- version('1.0.4', sha256='19fb6bed10d15c9775c8d008cd1130155917ae4e801c729fe85e6d88a545dab4')
- version('1.0.3', sha256='9cd88e0172e6d426438875e09229d1d473d56db546d02b630f9dd14db226d68d')
+ version("1.0.4", sha256="19fb6bed10d15c9775c8d008cd1130155917ae4e801c729fe85e6d88a545dab4")
+ version("1.0.3", sha256="9cd88e0172e6d426438875e09229d1d473d56db546d02b630f9dd14db226d68d")
diff --git a/var/spack/repos/builtin/packages/libassuan/package.py b/var/spack/repos/builtin/packages/libassuan/package.py
index fd655b18cb..3a583c21fd 100644
--- a/var/spack/repos/builtin/packages/libassuan/package.py
+++ b/var/spack/repos/builtin/packages/libassuan/package.py
@@ -15,19 +15,19 @@ class Libassuan(AutotoolsPackage):
homepage = "https://gnupg.org/software/libassuan/index.html"
url = "https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.4.5.tar.bz2"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('2.5.5', sha256='8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4')
- version('2.5.4', sha256='c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0')
- version('2.5.3', sha256='91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702')
- version('2.4.5', sha256='fbfea5d1dbcdee34f2597b0afb3d8bb4eda96c924a1e01b01c2acde68b81625f')
- version('2.4.3', sha256='22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71')
+ version("2.5.5", sha256="8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4")
+ version("2.5.4", sha256="c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0")
+ version("2.5.3", sha256="91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702")
+ version("2.4.5", sha256="fbfea5d1dbcdee34f2597b0afb3d8bb4eda96c924a1e01b01c2acde68b81625f")
+ version("2.4.3", sha256="22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71")
- depends_on('libgpg-error@1.17:')
+ depends_on("libgpg-error@1.17:")
def configure_args(self):
return [
- '--enable-static',
- '--enable-shared',
- '--with-libgpg-error-prefix=' + self.spec['libgpg-error'].prefix
+ "--enable-static",
+ "--enable-shared",
+ "--with-libgpg-error-prefix=" + self.spec["libgpg-error"].prefix,
]
diff --git a/var/spack/repos/builtin/packages/libatasmart/package.py b/var/spack/repos/builtin/packages/libatasmart/package.py
index ba054328bc..c90f67eac6 100644
--- a/var/spack/repos/builtin/packages/libatasmart/package.py
+++ b/var/spack/repos/builtin/packages/libatasmart/package.py
@@ -11,16 +11,16 @@ class Libatasmart(AutotoolsPackage):
health monitoring."""
homepage = "https://github.com/ebe-forks/libatasmart"
- url = "https://github.com/ebe-forks/libatasmart/archive/v0.19.tar.gz"
+ url = "https://github.com/ebe-forks/libatasmart/archive/v0.19.tar.gz"
- version('0.19', sha256='10bb5321a254e28bd60fd297f284bfc81cce4fde92e150187640e62ec667e5fb')
- version('0.18', sha256='4a6e93fbaec2d4caffb06ddd47c2c35ea4ad2d3d22e805bf284adba949f64ddf')
- version('0.17', sha256='353b2ec097814254989a809fd495f95a315e608fdf320c2b96dc52d70392e955')
+ version("0.19", sha256="10bb5321a254e28bd60fd297f284bfc81cce4fde92e150187640e62ec667e5fb")
+ version("0.18", sha256="4a6e93fbaec2d4caffb06ddd47c2c35ea4ad2d3d22e805bf284adba949f64ddf")
+ version("0.17", sha256="353b2ec097814254989a809fd495f95a315e608fdf320c2b96dc52d70392e955")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/libatomic-ops/package.py b/var/spack/repos/builtin/packages/libatomic-ops/package.py
index 0cb2995d92..66a8ddbe09 100644
--- a/var/spack/repos/builtin/packages/libatomic-ops/package.py
+++ b/var/spack/repos/builtin/packages/libatomic-ops/package.py
@@ -11,11 +11,11 @@ class LibatomicOps(AutotoolsPackage):
atomic memory update operations on a number architectures."""
homepage = "https://www.hboehm.info/gc/"
- url = "https://github.com/ivmai/libatomic_ops/releases/download/v7.6.12/libatomic_ops-7.6.12.tar.gz"
+ url = "https://github.com/ivmai/libatomic_ops/releases/download/v7.6.12/libatomic_ops-7.6.12.tar.gz"
- version('7.6.12', sha256='f0ab566e25fce08b560e1feab6a3db01db4a38e5bc687804334ef3920c549f3e')
- version('7.6.6', sha256='99feabc5f54877f314db4fadeb109f0b3e1d1a54afb6b4b3dfba1e707e38e074')
- version('7.4.4', sha256='bf210a600dd1becbf7936dd2914cf5f5d3356046904848dcfd27d0c8b12b6f8f')
+ version("7.6.12", sha256="f0ab566e25fce08b560e1feab6a3db01db4a38e5bc687804334ef3920c549f3e")
+ version("7.6.6", sha256="99feabc5f54877f314db4fadeb109f0b3e1d1a54afb6b4b3dfba1e707e38e074")
+ version("7.4.4", sha256="bf210a600dd1becbf7936dd2914cf5f5d3356046904848dcfd27d0c8b12b6f8f")
def configure_args(self):
- return ['--enable-shared']
+ return ["--enable-shared"]
diff --git a/var/spack/repos/builtin/packages/libbacktrace/package.py b/var/spack/repos/builtin/packages/libbacktrace/package.py
index 53dcd9c71d..dd59e932cb 100644
--- a/var/spack/repos/builtin/packages/libbacktrace/package.py
+++ b/var/spack/repos/builtin/packages/libbacktrace/package.py
@@ -11,13 +11,13 @@ class Libbacktrace(AutotoolsPackage):
symbolic backtraces."""
homepage = "https://github.com/ianlancetaylor/libbacktrace"
- git = "https://github.com/ianlancetaylor/libbacktrace.git"
- maintainers = ['trahay']
+ git = "https://github.com/ianlancetaylor/libbacktrace.git"
+ maintainers = ["trahay"]
- version('master', branch='master')
- version('2020-02-19', commit='ca0de0517f3be44fedf5a2c01cfaf6437d4cae68')
+ version("master", branch="master")
+ version("2020-02-19", commit="ca0de0517f3be44fedf5a2c01cfaf6437d4cae68")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libbeagle/package.py b/var/spack/repos/builtin/packages/libbeagle/package.py
index 5d68b2eb0d..a466c893cb 100644
--- a/var/spack/repos/builtin/packages/libbeagle/package.py
+++ b/var/spack/repos/builtin/packages/libbeagle/package.py
@@ -8,72 +8,74 @@ from spack.package import *
class Libbeagle(AutotoolsPackage, CudaPackage):
"""Beagle performs genotype calling, genotype phasing, imputation of
- ungenotyped markers, and identity-by-descent segment detection."""
+ ungenotyped markers, and identity-by-descent segment detection."""
homepage = "https://github.com/beagle-dev/beagle-lib"
- url = "https://github.com/beagle-dev/beagle-lib/archive/v3.1.2.tar.gz"
+ url = "https://github.com/beagle-dev/beagle-lib/archive/v3.1.2.tar.gz"
- version('3.1.2', sha256='dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275')
- version('2.1.2', sha256='82ff13f4e7d7bffab6352e4551dfa13afabf82bff54ea5761d1fc1e78341d7de',
- url='https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz')
+ version("3.1.2", sha256="dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275")
+ version(
+ "2.1.2",
+ sha256="82ff13f4e7d7bffab6352e4551dfa13afabf82bff54ea5761d1fc1e78341d7de",
+ url="https://github.com/beagle-dev/beagle-lib/archive/beagle_release_2_1_2.tar.gz",
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('subversion', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('java', type='build')
- depends_on('opencl', when='+opencl')
+ depends_on("subversion", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("java", type="build")
+ depends_on("opencl", when="+opencl")
cuda_arch_values = CudaPackage.cuda_arch_values
- variant('opencl', default=False, description='Include OpenCL (GPU) support')
+ variant("opencl", default=False, description="Include OpenCL (GPU) support")
variant(
- 'cuda_arch',
- description='CUDA architecture',
- default='none',
- values=('none',) + cuda_arch_values,
- multi=False
+ "cuda_arch",
+ description="CUDA architecture",
+ default="none",
+ values=("none",) + cuda_arch_values,
+ multi=False,
)
- conflicts('cuda_arch=none', when='+cuda',
- msg='must select a CUDA architecture')
+ conflicts("cuda_arch=none", when="+cuda", msg="must select a CUDA architecture")
def patch(self):
# update cuda architecture if necessary
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- archflag = '-arch=compute_{0}'.format(cuda_arch)
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ archflag = "-arch=compute_{0}".format(cuda_arch)
- filter_file('-arch compute_13', '',
- 'libhmsbeagle/GPU/kernels/Makefile.am',
- string=True)
+ filter_file(
+ "-arch compute_13", "", "libhmsbeagle/GPU/kernels/Makefile.am", string=True
+ )
- filter_file(r'(NVCCFLAGS="-O3).*(")',
- r'\1 {0}\2'.format(archflag), 'configure.ac')
+ filter_file(r'(NVCCFLAGS="-O3).*(")', r"\1 {0}\2".format(archflag), "configure.ac")
# point CUDA_LIBS to libcuda.so
- filter_file('-L$with_cuda/lib', '-L$with_cuda/lib64/stubs',
- 'configure.ac', string=True)
+ filter_file(
+ "-L$with_cuda/lib", "-L$with_cuda/lib64/stubs", "configure.ac", string=True
+ )
def autoreconf(self, spec, prefix):
- which('bash')('autogen.sh')
+ which("bash")("autogen.sh")
def configure_args(self):
args = [
# Since spack will inject architecture flags turn off -march=native
# when building libbeagle.
- '--disable-march-native',
+ "--disable-march-native",
]
- if '+cuda' in self.spec:
- args.append('--with-cuda={0}'.format(self.spec['cuda'].prefix))
+ if "+cuda" in self.spec:
+ args.append("--with-cuda={0}".format(self.spec["cuda"].prefix))
else:
- args.append('--without-cuda')
+ args.append("--without-cuda")
- if '+opencl' in self.spec:
- args.append('--with-opencl={0}'.format(self.spec['opencl'].prefix))
+ if "+opencl" in self.spec:
+ args.append("--with-opencl={0}".format(self.spec["opencl"].prefix))
else:
- args.append('--without-opencl')
+ args.append("--without-opencl")
return args
diff --git a/var/spack/repos/builtin/packages/libbeato/package.py b/var/spack/repos/builtin/packages/libbeato/package.py
index aa74fbd679..109e7879e1 100644
--- a/var/spack/repos/builtin/packages/libbeato/package.py
+++ b/var/spack/repos/builtin/packages/libbeato/package.py
@@ -12,6 +12,6 @@ class Libbeato(AutotoolsPackage):
from UCSC's Genome Browser Group."""
homepage = "https://github.com/CRG-Barcelona/libbeato"
- git = "https://github.com/CRG-Barcelona/libbeato.git"
+ git = "https://github.com/CRG-Barcelona/libbeato.git"
- version('master', branch='master')
+ version("master", branch="master")
diff --git a/var/spack/repos/builtin/packages/libbinio/package.py b/var/spack/repos/builtin/packages/libbinio/package.py
index 1e78c0715f..68af9f550b 100644
--- a/var/spack/repos/builtin/packages/libbinio/package.py
+++ b/var/spack/repos/builtin/packages/libbinio/package.py
@@ -10,7 +10,7 @@ class Libbinio(AutotoolsPackage):
"""Platform-independent way to access binary data streams in C++."""
homepage = "https://github.com/adplug/libbinio"
- url = "https://github.com/adplug/libbinio/releases/download/libbinio-1.5/libbinio-1.5.tar.bz2"
+ url = "https://github.com/adplug/libbinio/releases/download/libbinio-1.5/libbinio-1.5.tar.bz2"
- version('1.5', sha256='398b2468e7838d2274d1f62dbc112e7e043433812f7ae63ef29f5cb31dc6defd')
- version('1.4', sha256='4a32d3154517510a3fe4f2dc95e378dcc818a4a921fc0cb992bdc0d416a77e75')
+ version("1.5", sha256="398b2468e7838d2274d1f62dbc112e7e043433812f7ae63ef29f5cb31dc6defd")
+ version("1.4", sha256="4a32d3154517510a3fe4f2dc95e378dcc818a4a921fc0cb992bdc0d416a77e75")
diff --git a/var/spack/repos/builtin/packages/libblastrampoline/package.py b/var/spack/repos/builtin/packages/libblastrampoline/package.py
index 259ad461ae..b8638e54b8 100644
--- a/var/spack/repos/builtin/packages/libblastrampoline/package.py
+++ b/var/spack/repos/builtin/packages/libblastrampoline/package.py
@@ -10,28 +10,32 @@ class Libblastrampoline(MakefilePackage):
"""Using PLT trampolines to provide a BLAS and LAPACK demuxing library."""
homepage = "https://github.com/JuliaLinearAlgebra/libblastrampoline"
- git = "https://github.com/JuliaLinearAlgebra/libblastrampoline.git"
- url = "https://github.com/JuliaLinearAlgebra/libblastrampoline/archive/refs/tags/v3.1.0.tar.gz"
+ git = "https://github.com/JuliaLinearAlgebra/libblastrampoline.git"
+ url = "https://github.com/JuliaLinearAlgebra/libblastrampoline/archive/refs/tags/v3.1.0.tar.gz"
- maintainers = ['haampie', 'giordano']
+ maintainers = ["haampie", "giordano"]
- version('5.1.0', sha256='55ac0c8f9cb91b2ed2db014be8394c9dadf3b5f26bd8af6dca9d6f20ca72b8fd')
- version('5.0.2', sha256='2e96fa62957719351da3e4dff8cd0949449073708f5564dae0a224a556432356')
- version('5.0.1', sha256='1066b4d157276e41ca66ca94f0f8c2900c221b49da2df3c410e6f8bf1ce9b488')
+ version("5.1.0", sha256="55ac0c8f9cb91b2ed2db014be8394c9dadf3b5f26bd8af6dca9d6f20ca72b8fd")
+ version("5.0.2", sha256="2e96fa62957719351da3e4dff8cd0949449073708f5564dae0a224a556432356")
+ version("5.0.1", sha256="1066b4d157276e41ca66ca94f0f8c2900c221b49da2df3c410e6f8bf1ce9b488")
# v5.0.0 contains a bug, fixed in v5.0.1, which causes segmentation faults
- version('5.0.0', sha256='20f434add7d9ae4503bb7a61e320ad1aea8e8371f53b1e32dc691e4701080658', deprecated=True)
- version('4.1.0', sha256='8b1a3a55b1e1a849e907288e3afbd10d367b25364a59cb2ccaddc88604b13266')
- version('4.0.0', sha256='8816dfba6f0c547bca5fba9d83e63062387def3089622a9514babf79e1737310')
- version('3.1.0', sha256='f6136cc2b5d090ceca67cffa55b4c8af4bcee874333d49297c867abdb0749b5f')
- version('3.0.4', sha256='3c8a54a3bd8a2737b7f74ebeb56df8e2a48083c9094dbbff80b225c228e31793')
- version('3.0.3', sha256='a9c553ee6f20fa2f92098edcb3fc4a331c653250e559f72b9317b4ee84500cd7')
- version('3.0.2', sha256='caefd708cf0cf53b01cea74a09ab763bf4dfa4aec4468892720f3921521c1f74')
- version('3.0.1', sha256='b5b8ac0d3aba1bcb9dc26d7d6bb36b352d45e7d7e2594c6122e72b9e5d75a772')
- version('3.0.0', sha256='4d0856d30e7ba0cb0de08b08b60fd34879ce98714341124acf87e587d1bbbcde')
- version('2.2.0', sha256='1fb8752891578b45e187019c67fccbaafb108756aadc69bdd876033846ad30d3')
-
- build_directory = 'src'
+ version(
+ "5.0.0",
+ sha256="20f434add7d9ae4503bb7a61e320ad1aea8e8371f53b1e32dc691e4701080658",
+ deprecated=True,
+ )
+ version("4.1.0", sha256="8b1a3a55b1e1a849e907288e3afbd10d367b25364a59cb2ccaddc88604b13266")
+ version("4.0.0", sha256="8816dfba6f0c547bca5fba9d83e63062387def3089622a9514babf79e1737310")
+ version("3.1.0", sha256="f6136cc2b5d090ceca67cffa55b4c8af4bcee874333d49297c867abdb0749b5f")
+ version("3.0.4", sha256="3c8a54a3bd8a2737b7f74ebeb56df8e2a48083c9094dbbff80b225c228e31793")
+ version("3.0.3", sha256="a9c553ee6f20fa2f92098edcb3fc4a331c653250e559f72b9317b4ee84500cd7")
+ version("3.0.2", sha256="caefd708cf0cf53b01cea74a09ab763bf4dfa4aec4468892720f3921521c1f74")
+ version("3.0.1", sha256="b5b8ac0d3aba1bcb9dc26d7d6bb36b352d45e7d7e2594c6122e72b9e5d75a772")
+ version("3.0.0", sha256="4d0856d30e7ba0cb0de08b08b60fd34879ce98714341124acf87e587d1bbbcde")
+ version("2.2.0", sha256="1fb8752891578b45e187019c67fccbaafb108756aadc69bdd876033846ad30d3")
+
+ build_directory = "src"
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/libbsd/package.py b/var/spack/repos/builtin/packages/libbsd/package.py
index 5dc351ff9e..c407db1c6e 100644
--- a/var/spack/repos/builtin/packages/libbsd/package.py
+++ b/var/spack/repos/builtin/packages/libbsd/package.py
@@ -14,29 +14,29 @@ class Libbsd(AutotoolsPackage):
"""
homepage = "https://libbsd.freedesktop.org/wiki/"
- urls = [
+ urls = [
"https://libbsd.freedesktop.org/releases/libbsd-0.9.1.tar.xz",
- "https://mirrors.dotsrc.org/pub/mirrors/exherbo/libbsd-0.9.1.tar.xz"
+ "https://mirrors.dotsrc.org/pub/mirrors/exherbo/libbsd-0.9.1.tar.xz",
]
- version('0.11.5', sha256='1a9c952525635c1bb6770cb22e969b938d8e6a9d7912362b98ee8370599b0efd')
- version('0.11.3', sha256='ff95cf8184151dacae4247832f8d4ea8800fa127dbd15033ecfe839f285b42a1')
- version('0.11.2', sha256='9a7fbe60924d40ce4322a00b6f70be07b3704479b2bca1210dd1564924930ff5')
- version('0.11.1', sha256='0d018e78f85d7d724740a28408f0bf346b7bbe5dc1c7256fb21e640e2a3d5205')
- version('0.11.0', sha256='9043e24f5898eae6e0ce97bea4f2d15197e90f6e9b91d0c6a8d10fb1405fd562')
- version('0.10.0', sha256='34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887')
- version('0.9.1', sha256='56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4')
- version('0.9.0', sha256='8a469afd1bab340992cf99e1e6b7ae4f4c54882d663d8a2c5ea52250617afb01')
- version('0.8.7', sha256='f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31')
- version('0.8.6', sha256='467fbf9df1f49af11f7f686691057c8c0a7613ae5a870577bef9155de39f9687')
+ version("0.11.5", sha256="1a9c952525635c1bb6770cb22e969b938d8e6a9d7912362b98ee8370599b0efd")
+ version("0.11.3", sha256="ff95cf8184151dacae4247832f8d4ea8800fa127dbd15033ecfe839f285b42a1")
+ version("0.11.2", sha256="9a7fbe60924d40ce4322a00b6f70be07b3704479b2bca1210dd1564924930ff5")
+ version("0.11.1", sha256="0d018e78f85d7d724740a28408f0bf346b7bbe5dc1c7256fb21e640e2a3d5205")
+ version("0.11.0", sha256="9043e24f5898eae6e0ce97bea4f2d15197e90f6e9b91d0c6a8d10fb1405fd562")
+ version("0.10.0", sha256="34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887")
+ version("0.9.1", sha256="56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4")
+ version("0.9.0", sha256="8a469afd1bab340992cf99e1e6b7ae4f4c54882d663d8a2c5ea52250617afb01")
+ version("0.8.7", sha256="f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31")
+ version("0.8.6", sha256="467fbf9df1f49af11f7f686691057c8c0a7613ae5a870577bef9155de39f9687")
- patch('cdefs.h.patch', when='@0.8.6 %gcc@:4')
- patch('local-elf.h.patch', when='@:0.10 %intel')
+ patch("cdefs.h.patch", when="@0.8.6 %gcc@:4")
+ patch("local-elf.h.patch", when="@:0.10 %intel")
# https://gitlab.freedesktop.org/libbsd/libbsd/issues/1
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
# install hook calls compilers with -nostdlib
- conflicts('@0.11.4: %nvhpc')
+ conflicts("@0.11.4: %nvhpc")
- depends_on('libmd', when='@0.11:')
+ depends_on("libmd", when="@0.11:")
diff --git a/var/spack/repos/builtin/packages/libbson/package.py b/var/spack/repos/builtin/packages/libbson/package.py
index 3e3fd66756..9b8ef911c1 100644
--- a/var/spack/repos/builtin/packages/libbson/package.py
+++ b/var/spack/repos/builtin/packages/libbson/package.py
@@ -11,51 +11,48 @@ class Libbson(Package):
parsing, and iterating BSON documents."""
homepage = "https://github.com/mongodb/mongo-c-driver"
- url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.16.2/mongo-c-driver-1.16.2.tar.gz"
+ url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.16.2/mongo-c-driver-1.16.2.tar.gz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('1.21.0', sha256='840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4')
- version('1.17.6', sha256='8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150')
- version('1.17.5', sha256='4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be')
- version('1.17.0', sha256='90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9')
- version('1.16.2', sha256='0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e')
- version('1.9.5', sha256='6bb51b863a4641d6d7729e4b55df8f4389ed534c34eb3a1cda906a53df11072c')
- version('1.9.4', sha256='c3cc230a3451bf7fedc5bb34c3191fd23d841e65ec415301f6c77e531924b769')
- version('1.9.3', sha256='244e786c746fe6326433b1a6fcaadbdedc0da3d11c7b3168f0afa468f310e5f1')
- version('1.9.1', sha256='236d9fcec0fe419c2201481081e497f49136eda2349b61cfede6233013bf7601')
- version('1.8.1', sha256='9d18d14671b7890e27b2a5ce33a73a5ed5d33d39bba70209bae99c1dc7aa1ed4')
- version('1.8.0', sha256='63dea744b265a2e17c7b5e289f7803c679721d98e2975ea7d56bc1e7b8586bc1')
- version('1.7.0', sha256='442d89e89dfb43bba1f65080dc61fdcba01dcb23468b2842c1dbdd4acd6049d3')
- version('1.6.3', sha256='e9e4012a9080bdc927b5060b126a2c82ca11e71ebe7f2152d079fa2ce461a7fb')
- version('1.6.2', sha256='aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba')
- version('1.6.1', sha256='5f160d44ea42ce9352a7a3607bc10d3b4b22d3271763aa3b3a12665e73e3a02d')
+ version("1.21.0", sha256="840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4")
+ version("1.17.6", sha256="8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150")
+ version("1.17.5", sha256="4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be")
+ version("1.17.0", sha256="90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9")
+ version("1.16.2", sha256="0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e")
+ version("1.9.5", sha256="6bb51b863a4641d6d7729e4b55df8f4389ed534c34eb3a1cda906a53df11072c")
+ version("1.9.4", sha256="c3cc230a3451bf7fedc5bb34c3191fd23d841e65ec415301f6c77e531924b769")
+ version("1.9.3", sha256="244e786c746fe6326433b1a6fcaadbdedc0da3d11c7b3168f0afa468f310e5f1")
+ version("1.9.1", sha256="236d9fcec0fe419c2201481081e497f49136eda2349b61cfede6233013bf7601")
+ version("1.8.1", sha256="9d18d14671b7890e27b2a5ce33a73a5ed5d33d39bba70209bae99c1dc7aa1ed4")
+ version("1.8.0", sha256="63dea744b265a2e17c7b5e289f7803c679721d98e2975ea7d56bc1e7b8586bc1")
+ version("1.7.0", sha256="442d89e89dfb43bba1f65080dc61fdcba01dcb23468b2842c1dbdd4acd6049d3")
+ version("1.6.3", sha256="e9e4012a9080bdc927b5060b126a2c82ca11e71ebe7f2152d079fa2ce461a7fb")
+ version("1.6.2", sha256="aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba")
+ version("1.6.1", sha256="5f160d44ea42ce9352a7a3607bc10d3b4b22d3271763aa3b3a12665e73e3a02d")
- depends_on('cmake@3.1:', type='build', when='@1.10.0:')
+ depends_on("cmake@3.1:", type="build", when="@1.10.0:")
- depends_on('autoconf', type='build', when='@1.6.1')
- depends_on('automake', type='build', when='@1.6.1')
- depends_on('libtool', type='build', when='@1.6.1')
- depends_on('m4', type='build', when='@1.6.1')
+ depends_on("autoconf", type="build", when="@1.6.1")
+ depends_on("automake", type="build", when="@1.6.1")
+ depends_on("libtool", type="build", when="@1.6.1")
+ depends_on("m4", type="build", when="@1.6.1")
def url_for_version(self, version):
- if version >= Version('1.10.0'):
- url = 'https://github.com/mongodb/mongo-c-driver/releases/download/{0}/mongo-c-driver-{0}.tar.gz'
+ if version >= Version("1.10.0"):
+ url = "https://github.com/mongodb/mongo-c-driver/releases/download/{0}/mongo-c-driver-{0}.tar.gz"
else:
- url = 'https://github.com/mongodb/libbson/releases/download/{0}/libbson-{0}.tar.gz'
+ url = "https://github.com/mongodb/libbson/releases/download/{0}/libbson-{0}.tar.gz"
return url.format(version)
def cmake_args(self):
- args = [
- '-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF',
- '-DENABLE_MONGOC=OFF'
- ]
+ args = ["-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF", "-DENABLE_MONGOC=OFF"]
return args
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
# We cannot simply do
# cmake('..', *std_cmake_args, *self.cmake_args())
# because that is not Python 2 compatible. Instead, collect
@@ -63,21 +60,21 @@ class Libbson(Package):
args = []
args.extend(std_cmake_args)
args.extend(self.cmake_args())
- cmake('..', *args)
+ cmake("..", *args)
make()
- make('install')
+ make("install")
@property
def force_autoreconf(self):
# 1.6.1 tarball is broken
- return self.spec.satisfies('@1.6.1')
+ return self.spec.satisfies("@1.6.1")
- @when('@:1.9')
+ @when("@:1.9")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix))
+ configure("--prefix={0}".format(prefix))
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
diff --git a/var/spack/repos/builtin/packages/libbytesize/package.py b/var/spack/repos/builtin/packages/libbytesize/package.py
index de94e884d8..a83cbdafe6 100644
--- a/var/spack/repos/builtin/packages/libbytesize/package.py
+++ b/var/spack/repos/builtin/packages/libbytesize/package.py
@@ -11,13 +11,13 @@ class Libbytesize(AutotoolsPackage):
facilitate the common operations with sizes in bytes."""
homepage = "https://github.com/storaged-project/libbytesize"
- url = "https://github.com/storaged-project/libbytesize/releases/download/2.4/libbytesize-2.4.tar.gz"
+ url = "https://github.com/storaged-project/libbytesize/releases/download/2.4/libbytesize-2.4.tar.gz"
- version('2.4', sha256='25ccb5762bb8c860b63ed1d40e0c5564e3e0084693fbe6554467a8ca1c1d8c7f')
- version('2.3', sha256='3c74113fc8cd1a2fbd8870fa0ed7cef2ef24d60ef91e7145fbc041f9aa144479')
- version('2.2', sha256='b93c54b502880c095c9f5767a42464853e2687db2e5e3084908a615bafe73baa')
+ version("2.4", sha256="25ccb5762bb8c860b63ed1d40e0c5564e3e0084693fbe6554467a8ca1c1d8c7f")
+ version("2.3", sha256="3c74113fc8cd1a2fbd8870fa0ed7cef2ef24d60ef91e7145fbc041f9aa144479")
+ version("2.2", sha256="b93c54b502880c095c9f5767a42464853e2687db2e5e3084908a615bafe73baa")
- extends('python')
- depends_on('pcre2')
- depends_on('gmp')
- depends_on('mpfr')
+ extends("python")
+ depends_on("pcre2")
+ depends_on("gmp")
+ depends_on("mpfr")
diff --git a/var/spack/repos/builtin/packages/libc/package.py b/var/spack/repos/builtin/packages/libc/package.py
index 43cf21c9db..f5d9b08ec5 100644
--- a/var/spack/repos/builtin/packages/libc/package.py
+++ b/var/spack/repos/builtin/packages/libc/package.py
@@ -11,13 +11,13 @@ class Libc(BundlePackage):
homepage = "https://en.wikipedia.org/wiki/C_standard_library"
- version('1.0') # Dummy
+ version("1.0") # Dummy
- variant('iconv', default=False, description='Provides interfaces for Localization Functions')
- variant('rpc', default=False, description='Provides interfaces for RPC')
+ variant("iconv", default=False, description="Provides interfaces for Localization Functions")
+ variant("rpc", default=False, description="Provides interfaces for RPC")
- provides('iconv', when='+iconv')
- provides('rpc', when='+rpc')
+ provides("iconv", when="+iconv")
+ provides("rpc", when="+rpc")
@property
def libs(self):
diff --git a/var/spack/repos/builtin/packages/libcanberra/package.py b/var/spack/repos/builtin/packages/libcanberra/package.py
index 17498554df..f0d2045c39 100644
--- a/var/spack/repos/builtin/packages/libcanberra/package.py
+++ b/var/spack/repos/builtin/packages/libcanberra/package.py
@@ -12,39 +12,39 @@ class Libcanberra(AutotoolsPackage):
such as GNOME."""
homepage = "https://0pointer.de/lennart/projects/libcanberra/"
- url = "https://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz"
+ url = "https://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz"
- version('0.30', sha256='c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72')
+ version("0.30", sha256="c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72")
# TODO: Add variants and dependencies for the following audio support:
# ALSA, OSS, PulseAudio, udev, GStreamer, null, GTK3+ , tdb
- variant('gtk', default=False, description='Enable optional GTK+ support')
+ variant("gtk", default=False, description="Enable optional GTK+ support")
- depends_on('libxrender', when='+gtk')
- depends_on('libxext', when='+gtk')
- depends_on('libx11', when='+gtk')
- depends_on('libxinerama', when='+gtk')
- depends_on('libxrandr', when='+gtk')
- depends_on('libxcursor', when='+gtk')
- depends_on('libxcomposite', when='+gtk')
- depends_on('libxdamage', when='+gtk')
- depends_on('libxfixes', when='+gtk')
- depends_on('libxcb', when='+gtk')
- depends_on('libxau', when='+gtk')
- depends_on('gtkplus', when='+gtk')
+ depends_on("libxrender", when="+gtk")
+ depends_on("libxext", when="+gtk")
+ depends_on("libx11", when="+gtk")
+ depends_on("libxinerama", when="+gtk")
+ depends_on("libxrandr", when="+gtk")
+ depends_on("libxcursor", when="+gtk")
+ depends_on("libxcomposite", when="+gtk")
+ depends_on("libxdamage", when="+gtk")
+ depends_on("libxfixes", when="+gtk")
+ depends_on("libxcb", when="+gtk")
+ depends_on("libxau", when="+gtk")
+ depends_on("gtkplus", when="+gtk")
- depends_on('libvorbis')
- depends_on('libtool', type='build')
+ depends_on("libvorbis")
+ depends_on("libtool", type="build")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
def configure_args(self):
- args = ['--enable-static']
+ args = ["--enable-static"]
- if '+gtk' in self.spec:
- args.append('--enable-gtk')
+ if "+gtk" in self.spec:
+ args.append("--enable-gtk")
else:
- args.append('--disable-gtk')
+ args.append("--disable-gtk")
return args
diff --git a/var/spack/repos/builtin/packages/libcap-ng/package.py b/var/spack/repos/builtin/packages/libcap-ng/package.py
index c4a6894ae4..4a37867d56 100644
--- a/var/spack/repos/builtin/packages/libcap-ng/package.py
+++ b/var/spack/repos/builtin/packages/libcap-ng/package.py
@@ -10,36 +10,36 @@ class LibcapNg(AutotoolsPackage):
"""Libcap-ng is a library that makes using posix capabilities easier"""
homepage = "https://github.com/stevegrubb/libcap-ng/"
- url = "https://github.com/stevegrubb/libcap-ng/archive/v0.8.tar.gz"
+ url = "https://github.com/stevegrubb/libcap-ng/archive/v0.8.tar.gz"
- version('0.8', sha256='836ea8188ae7c658cdf003e62a241509dd542f3dec5bc40c603f53a5aadaa93f')
- version('0.7.11', sha256='78f32ff282b49b7b91c56d317fb6669df26da332c6fc9462870cec2573352222')
- version('0.7.10', sha256='c3c156a215e5be5430b2f3b8717bbd1afdabe458b6068a8d163e71cefe98fc32')
+ version("0.8", sha256="836ea8188ae7c658cdf003e62a241509dd542f3dec5bc40c603f53a5aadaa93f")
+ version("0.7.11", sha256="78f32ff282b49b7b91c56d317fb6669df26da332c6fc9462870cec2573352222")
+ version("0.7.10", sha256="c3c156a215e5be5430b2f3b8717bbd1afdabe458b6068a8d163e71cefe98fc32")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('attr', type='build')
- depends_on('swig', type='build')
- depends_on('python@2.7:', type=('build', 'link', 'run'), when='+python')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("attr", type="build")
+ depends_on("swig", type="build")
+ depends_on("python@2.7:", type=("build", "link", "run"), when="+python")
- variant('python', default=True, description='Enable python')
+ variant("python", default=True, description="Enable python")
- extends('python', when='+python')
+ extends("python", when="+python")
def setup_build_environment(self, env):
- if self.spec.satisfies('+python'):
- env.set('PYTHON', self.spec['python'].command.path)
+ if self.spec.satisfies("+python"):
+ env.set("PYTHON", self.spec["python"].command.path)
def configure_args(self):
args = []
spec = self.spec
- if spec.satisfies('+python'):
- if spec.satisfies('^python@3:'):
- args.extend(['--without-python', '--with-python3'])
+ if spec.satisfies("+python"):
+ if spec.satisfies("^python@3:"):
+ args.extend(["--without-python", "--with-python3"])
else:
- args.extend(['--with-python', '--without-python3'])
+ args.extend(["--with-python", "--without-python3"])
else:
- args.extend(['--without-python', '--without-python3'])
+ args.extend(["--without-python", "--without-python3"])
return args
diff --git a/var/spack/repos/builtin/packages/libcap/package.py b/var/spack/repos/builtin/packages/libcap/package.py
index 4fcebe7f20..20130629ef 100644
--- a/var/spack/repos/builtin/packages/libcap/package.py
+++ b/var/spack/repos/builtin/packages/libcap/package.py
@@ -13,21 +13,16 @@ class Libcap(MakefilePackage):
distinct privileges."""
homepage = "https://sites.google.com/site/fullycapable/"
- url = "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.25.tar.gz"
+ url = "https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.25.tar.gz"
- version('2.64', sha256='e9ec608ae5720989d7274531f9898d64b6bca2491a231b8091229e49891933dd')
- version('2.25', sha256='4ca80dc6f9f23d14747e4b619fd9784434c570e24a7346f326c692784ed83a86')
+ version("2.64", sha256="e9ec608ae5720989d7274531f9898d64b6bca2491a231b8091229e49891933dd")
+ version("2.25", sha256="4ca80dc6f9f23d14747e4b619fd9784434c570e24a7346f326c692784ed83a86")
- patch('libcap-fix-the-libcap-native-building-failure-on-CentOS-6.7.patch', when='@2.25')
+ patch("libcap-fix-the-libcap-native-building-failure-on-CentOS-6.7.patch", when="@2.25")
def install(self, spec, prefix):
- make_args = [
- 'RAISE_SETFCAP=no',
- 'lib=lib',
- 'prefix={0}'.format(prefix),
- 'install'
- ]
+ make_args = ["RAISE_SETFCAP=no", "lib=lib", "prefix={0}".format(prefix), "install"]
make(*make_args)
- chmod = which('chmod')
- chmod('+x', join_path(prefix.lib, 'libcap.so'))
+ chmod = which("chmod")
+ chmod("+x", join_path(prefix.lib, "libcap.so"))
diff --git a/var/spack/repos/builtin/packages/libcatalyst/package.py b/var/spack/repos/builtin/packages/libcatalyst/package.py
index e81a5157cc..7a25ec816a 100644
--- a/var/spack/repos/builtin/packages/libcatalyst/package.py
+++ b/var/spack/repos/builtin/packages/libcatalyst/package.py
@@ -10,31 +10,33 @@ class Libcatalyst(CMakePackage):
"""Catalyst is an API specification developed for simulations (and other
scientific data producers) to analyze and visualize data in situ."""
- homepage = 'https://gitlab.kitware.com/paraview/catalyst'
- url = "https://gitlab.kitware.com/paraview/catalyst/-/archive/{0}/catalyst-{0}.tar.bz2"
+ homepage = "https://gitlab.kitware.com/paraview/catalyst"
+ url = "https://gitlab.kitware.com/paraview/catalyst/-/archive/{0}/catalyst-{0}.tar.bz2"
- maintainers = ['mathstuf']
+ maintainers = ["mathstuf"]
# master as of 2021-05-12
- version('2021-05-12', sha256='5a01f12b271d9d9e9b89f31d45a5f4b8426904483639d38754893adfd3547bab')
+ version(
+ "2021-05-12", sha256="5a01f12b271d9d9e9b89f31d45a5f4b8426904483639d38754893adfd3547bab"
+ )
- variant('mpi', default=False, description='Enable MPI support')
- variant('python3', default=False, description='Enable Python3 support')
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("python3", default=False, description="Enable Python3 support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# TODO: catalyst doesn't support an external conduit
# depends_on('conduit')
def url_for_version(self, version):
- _urlfmt = self.url
+ _urlfmt = self.url
return _urlfmt.format(version)
def cmake_args(self):
"""Populate cmake arguments for libcatalyst."""
args = [
- '-DCATALYST_BUILD_TESTING=OFF',
- self.define_from_variant('CATALYST_USE_MPI', 'mpi')
+ "-DCATALYST_BUILD_TESTING=OFF",
+ self.define_from_variant("CATALYST_USE_MPI", "mpi"),
]
return args
diff --git a/var/spack/repos/builtin/packages/libceed/package.py b/var/spack/repos/builtin/packages/libceed/package.py
index 9af0033b33..5a945e412f 100644
--- a/var/spack/repos/builtin/packages/libceed/package.py
+++ b/var/spack/repos/builtin/packages/libceed/package.py
@@ -12,51 +12,53 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/CEED/libCEED"
git = "https://github.com/CEED/libCEED.git"
- maintainers = ['jedbrown', 'v-dobrev', 'tzanio', 'jeremylt']
+ maintainers = ["jedbrown", "v-dobrev", "tzanio", "jeremylt"]
- version('develop', branch='main')
- version('0.10.1', tag='v0.10.1')
- version('0.9', tag='v0.9.0')
- version('0.8', tag='v0.8')
- version('0.7', tag='v0.7')
- version('0.6', commit='c7f533e01e2f3f6720fbf37aac2af2ffed225f60') # tag v0.6 + small portability fixes
- version('0.5', tag='v0.5')
- version('0.4', tag='v0.4')
- version('0.2', tag='v0.2')
- version('0.1', tag='v0.1')
+ version("develop", branch="main")
+ version("0.10.1", tag="v0.10.1")
+ version("0.9", tag="v0.9.0")
+ version("0.8", tag="v0.8")
+ version("0.7", tag="v0.7")
+ version(
+ "0.6", commit="c7f533e01e2f3f6720fbf37aac2af2ffed225f60"
+ ) # tag v0.6 + small portability fixes
+ version("0.5", tag="v0.5")
+ version("0.4", tag="v0.4")
+ version("0.2", tag="v0.2")
+ version("0.1", tag="v0.1")
- variant('occa', default=False, description='Enable OCCA backends')
- variant('debug', default=False, description='Enable debug build')
- variant('libxsmm', default=False, description='Enable LIBXSMM backend', when='@0.3:')
- variant('magma', default=False, description='Enable MAGMA backend', when='@0.6:')
+ variant("occa", default=False, description="Enable OCCA backends")
+ variant("debug", default=False, description="Enable debug build")
+ variant("libxsmm", default=False, description="Enable LIBXSMM backend", when="@0.3:")
+ variant("magma", default=False, description="Enable MAGMA backend", when="@0.6:")
- conflicts('+rocm', when='@:0.6')
+ conflicts("+rocm", when="@:0.6")
- with when('+rocm'):
- depends_on('hip@3.8.0', when='@0.7:0.7.99')
- depends_on('hip@3.8.0:', when='@0.8:')
- depends_on('hipblas@3.8.0:', when='@0.8:')
+ with when("+rocm"):
+ depends_on("hip@3.8.0", when="@0.7:0.7.99")
+ depends_on("hip@3.8.0:", when="@0.8:")
+ depends_on("hipblas@3.8.0:", when="@0.8:")
- conflicts('+occa', when='@0.9:')
+ conflicts("+occa", when="@0.9:")
- with when('+occa'):
- depends_on('occa@1.1.0', when='@0.7:')
- depends_on('occa@1.0.8:', when='@0.4')
- depends_on('occa@1.0.0-alpha.5,develop', when='@:0.2')
- depends_on('occa+cuda', when='+cuda')
- depends_on('occa~cuda', when='~cuda')
+ with when("+occa"):
+ depends_on("occa@1.1.0", when="@0.7:")
+ depends_on("occa@1.0.8:", when="@0.4")
+ depends_on("occa@1.0.0-alpha.5,develop", when="@:0.2")
+ depends_on("occa+cuda", when="+cuda")
+ depends_on("occa~cuda", when="~cuda")
- depends_on('libxsmm', when='+libxsmm')
+ depends_on("libxsmm", when="+libxsmm")
- depends_on('magma', when='+magma')
+ depends_on("magma", when="+magma")
- patch('libceed-v0.8-hip.patch', when='@0.8+rocm')
- patch('pkgconfig-version-0.4.diff', when='@0.4')
+ patch("libceed-v0.8-hip.patch", when="@0.8+rocm")
+ patch("pkgconfig-version-0.4.diff", when="@0.4")
# occa: do not occaFree kernels
# Repeated creation and freeing of kernels appears to expose a caching
# bug in Occa.
- patch('occaFree-0.2.diff', when='@0.2')
+ patch("occaFree-0.2.diff", when="@0.2")
@property
def common_make_opts(self):
@@ -65,76 +67,77 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
# Note: The occa package exports OCCA_DIR in the environment
# Use verbose building output
- makeopts = ['V=1']
+ makeopts = ["V=1"]
- if '@:0.2' in spec:
- makeopts += ['NDEBUG=%s' % ('' if '+debug' in spec else '1')]
+ if "@:0.2" in spec:
+ makeopts += ["NDEBUG=%s" % ("" if "+debug" in spec else "1")]
- elif '@0.4:' in spec:
+ elif "@0.4:" in spec:
# Determine options based on the compiler:
- if '+debug' in spec:
- opt = '-g'
- elif compiler.name == 'gcc':
- opt = '-O3 -g -ffp-contract=fast'
+ if "+debug" in spec:
+ opt = "-g"
+ elif compiler.name == "gcc":
+ opt = "-O3 -g -ffp-contract=fast"
if compiler.version >= ver(4.9):
- opt += ' -fopenmp-simd'
- if self.spec.target.family in ['x86_64', 'aarch64']:
- opt += ' -march=native'
- elif compiler.name == 'apple-clang':
- opt = '-O3 -g -march=native -ffp-contract=fast'
+ opt += " -fopenmp-simd"
+ if self.spec.target.family in ["x86_64", "aarch64"]:
+ opt += " -march=native"
+ elif compiler.name == "apple-clang":
+ opt = "-O3 -g -march=native -ffp-contract=fast"
if compiler.version >= ver(10):
- opt += ' -fopenmp-simd'
- elif compiler.name == 'clang':
- opt = '-O3 -g -march=native -ffp-contract=fast'
+ opt += " -fopenmp-simd"
+ elif compiler.name == "clang":
+ opt = "-O3 -g -march=native -ffp-contract=fast"
if compiler.version >= ver(6):
- opt += ' -fopenmp-simd'
- elif compiler.name in ['xl', 'xl_r']:
- opt = '-O -g -qsimd=auto'
- elif compiler.name == 'intel':
- opt = '-O3 -g'
- makeopts += ['CC_VENDOR=icc']
+ opt += " -fopenmp-simd"
+ elif compiler.name in ["xl", "xl_r"]:
+ opt = "-O -g -qsimd=auto"
+ elif compiler.name == "intel":
+ opt = "-O3 -g"
+ makeopts += ["CC_VENDOR=icc"]
else:
- opt = '-O -g'
+ opt = "-O -g"
# Note: spack will inject additional target-specific flags through
# the compiler wrapper.
- makeopts += ['OPT=%s' % opt]
-
- if spec.satisfies('@0.7') and compiler.name in ['xl', 'xl_r']:
- makeopts += ['CXXFLAGS.XL=-qpic -std=c++11 -MMD']
-
- if spec.satisfies('@:0.7') and 'avx' in self.spec.target:
- makeopts.append('AVX=1')
-
- if '+cuda' in spec:
- makeopts += ['CUDA_DIR=%s' % spec['cuda'].prefix]
- makeopts += ['CUDA_ARCH=sm_%s' %
- spec.variants['cuda_arch'].value]
- if spec.satisfies('@:0.4'):
- nvccflags = ['-ccbin %s -Xcompiler "%s" -Xcompiler %s' %
- (compiler.cxx, opt, compiler.cc_pic_flag)]
- nvccflags = ' '.join(nvccflags)
- makeopts += ['NVCCFLAGS=%s' % nvccflags]
+ makeopts += ["OPT=%s" % opt]
+
+ if spec.satisfies("@0.7") and compiler.name in ["xl", "xl_r"]:
+ makeopts += ["CXXFLAGS.XL=-qpic -std=c++11 -MMD"]
+
+ if spec.satisfies("@:0.7") and "avx" in self.spec.target:
+ makeopts.append("AVX=1")
+
+ if "+cuda" in spec:
+ makeopts += ["CUDA_DIR=%s" % spec["cuda"].prefix]
+ makeopts += ["CUDA_ARCH=sm_%s" % spec.variants["cuda_arch"].value]
+ if spec.satisfies("@:0.4"):
+ nvccflags = [
+ '-ccbin %s -Xcompiler "%s" -Xcompiler %s'
+ % (compiler.cxx, opt, compiler.cc_pic_flag)
+ ]
+ nvccflags = " ".join(nvccflags)
+ makeopts += ["NVCCFLAGS=%s" % nvccflags]
else:
# Disable CUDA auto-detection:
- makeopts += ['CUDA_DIR=/disable-cuda']
+ makeopts += ["CUDA_DIR=/disable-cuda"]
- if '+rocm' in spec:
- makeopts += ['HIP_DIR=%s' % spec['hip'].prefix]
- amdgpu_target = ','.join(spec.variants['amdgpu_target'].value)
- makeopts += ['HIP_ARCH=%s' % amdgpu_target]
- if spec.satisfies('@0.8'):
- makeopts += ['HIPBLAS_DIR=%s' % spec['hipblas'].prefix]
+ if "+rocm" in spec:
+ makeopts += ["HIP_DIR=%s" % spec["hip"].prefix]
+ amdgpu_target = ",".join(spec.variants["amdgpu_target"].value)
+ makeopts += ["HIP_ARCH=%s" % amdgpu_target]
+ if spec.satisfies("@0.8"):
+ makeopts += ["HIPBLAS_DIR=%s" % spec["hipblas"].prefix]
- if '+libxsmm' in spec:
- makeopts += ['XSMM_DIR=%s' % spec['libxsmm'].prefix]
+ if "+libxsmm" in spec:
+ makeopts += ["XSMM_DIR=%s" % spec["libxsmm"].prefix]
- if '+magma' in spec:
- makeopts += ['MAGMA_DIR=%s' % spec['magma'].prefix]
+ if "+magma" in spec:
+ makeopts += ["MAGMA_DIR=%s" % spec["magma"].prefix]
return makeopts
def edit(self, spec, prefix):
- make('info', *self.common_make_opts)
+ make("info", *self.common_make_opts)
@property
def build_targets(self):
@@ -142,23 +145,20 @@ class Libceed(MakefilePackage, CudaPackage, ROCmPackage):
@property
def install_targets(self):
- return ['install', 'prefix={0}'.format(self.prefix)] + \
- self.common_make_opts
+ return ["install", "prefix={0}".format(self.prefix)] + self.common_make_opts
def check(self):
- make('prove', *self.common_make_opts, parallel=False)
+ make("prove", *self.common_make_opts, parallel=False)
- @when('@0.1')
+ @when("@0.1")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install('ceed.h', prefix.include)
+ install("ceed.h", prefix.include)
mkdirp(prefix.lib)
- install('libceed.%s' % dso_suffix, prefix.lib)
- filter_file(r'^prefix=.*$', 'prefix=%s' % prefix, 'ceed.pc')
- filter_file(r'^includedir=\$\{prefix\}$',
- 'includedir=${prefix}/include', 'ceed.pc')
- filter_file(r'^libdir=\$\{prefix\}$',
- 'libdir=${prefix}/lib', 'ceed.pc')
- filter_file(r'Version:.*$', 'Version: 0.1', 'ceed.pc')
+ install("libceed.%s" % dso_suffix, prefix.lib)
+ filter_file(r"^prefix=.*$", "prefix=%s" % prefix, "ceed.pc")
+ filter_file(r"^includedir=\$\{prefix\}$", "includedir=${prefix}/include", "ceed.pc")
+ filter_file(r"^libdir=\$\{prefix\}$", "libdir=${prefix}/lib", "ceed.pc")
+ filter_file(r"Version:.*$", "Version: 0.1", "ceed.pc")
mkdirp(prefix.lib.pkgconfig)
- install('ceed.pc', prefix.lib.pkgconfig)
+ install("ceed.pc", prefix.lib.pkgconfig)
diff --git a/var/spack/repos/builtin/packages/libcerf/package.py b/var/spack/repos/builtin/packages/libcerf/package.py
index 38adec762d..5d4a6f805c 100644
--- a/var/spack/repos/builtin/packages/libcerf/package.py
+++ b/var/spack/repos/builtin/packages/libcerf/package.py
@@ -9,24 +9,25 @@ from spack.package import *
class Libcerf(AutotoolsPackage, SourceforgePackage):
"""A self-contained C library providing complex error functions, based
- on Faddeeva's plasma dispersion function w(z). Also provides Dawson's
- integral and Voigt's convolution of a Gaussian and a Lorentzian
+ on Faddeeva's plasma dispersion function w(z). Also provides Dawson's
+ integral and Voigt's convolution of a Gaussian and a Lorentzian
"""
+
homepage = "https://sourceforge.net/projects/libcerf"
sourceforge_mirror_path = "libcerf/libcerf-1.3.tgz"
- version('1.3', sha256='d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859')
+ version("1.3", sha256="d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859")
def configure_args(self):
spec = self.spec
options = []
# Clang reports unused functions as errors, see
# http://clang.debian.net/status.php?version=3.8.1&key=UNUSED_FUNCTION
- if spec.satisfies('%clang') or spec.satisfies('%apple-clang'):
- options.append('CFLAGS=-Wno-unused-function')
+ if spec.satisfies("%clang") or spec.satisfies("%apple-clang"):
+ options.append("CFLAGS=-Wno-unused-function")
# fujitsu compiler has a error about unused functions too.
- if spec.satisfies('%fj'):
- options.append('CFLAGS=-Wno-unused-function')
+ if spec.satisfies("%fj"):
+ options.append("CFLAGS=-Wno-unused-function")
return options
diff --git a/var/spack/repos/builtin/packages/libcgroup/package.py b/var/spack/repos/builtin/packages/libcgroup/package.py
index d94d0176a8..7651a2553d 100644
--- a/var/spack/repos/builtin/packages/libcgroup/package.py
+++ b/var/spack/repos/builtin/packages/libcgroup/package.py
@@ -10,16 +10,16 @@ class Libcgroup(AutotoolsPackage):
"""Library of control groups."""
homepage = "https://sourceforge.net/projects/libcg/"
- url = "https://sourceforge.net/projects/libcg/files/libcgroup/v0.41/libcgroup-0.41.tar.bz2"
+ url = "https://sourceforge.net/projects/libcg/files/libcgroup/v0.41/libcgroup-0.41.tar.bz2"
- version('0.41', sha256='e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51')
- version('0.37', sha256='15c8f3febb546530d3495af4e4904b3189c273277ca2d8553dec882cde1cd0f6')
- version('0.36', sha256='8dcd2ae220435b3de736d3efb0023fdf1192d7a7f4032b439f3cf5342cff7b4c')
+ version("0.41", sha256="e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51")
+ version("0.37", sha256="15c8f3febb546530d3495af4e4904b3189c273277ca2d8553dec882cde1cd0f6")
+ version("0.36", sha256="8dcd2ae220435b3de736d3efb0023fdf1192d7a7f4032b439f3cf5342cff7b4c")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('linux-pam')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("linux-pam")
diff --git a/var/spack/repos/builtin/packages/libcint/package.py b/var/spack/repos/builtin/packages/libcint/package.py
index 8fdc57a760..e01023d9bc 100644
--- a/var/spack/repos/builtin/packages/libcint/package.py
+++ b/var/spack/repos/builtin/packages/libcint/package.py
@@ -9,45 +9,44 @@ from spack.package import *
class Libcint(CMakePackage):
"""Library for analytical Gaussian integrals for quantum chemistry."""
- homepage = "https://github.com/sunqm/libcint"
- url = "https://github.com/sunqm/libcint/archive/v3.0.4.tar.gz"
- maintainers = ['mfherbst']
+ homepage = "https://github.com/sunqm/libcint"
+ url = "https://github.com/sunqm/libcint/archive/v3.0.4.tar.gz"
+ maintainers = ["mfherbst"]
#
# Versions
#
- version('5.1.3', sha256='a239275a0464360c904fd06e67d2e76ef1147e04bc634befb40c67d3e79b3638')
- version('3.0.13', sha256='ee64f0bc7fb6073063ac3c9bbef8951feada141e197b1a5cc389c8cccf8dc360')
- version('3.0.12', sha256='7409ef41f1465cf4c1ae9834dfc0b0585c0fdc63b55d8ee8b8a7a6d5e31f309d')
- version('3.0.11', sha256='4c9c24d4bd4791391848f19a4be5177137aca27a8e0375574101a7a1261157cf')
- version('3.0.10', sha256='aac6d9630dc4c62840f03262166e877d3aeaf27b6b33498fb490fa3428f12fe4')
- version('3.0.8', sha256='ca94772f74aaf7b8ad4d7c1b09578c9115ec909c3d8b82dacc908c351c631c35')
- version('3.0.7', sha256='e603cd90567c6116d4f704ea66a010b447c11052e90db1d91488adc187142ead')
- version('3.0.6', sha256='a7d6d46de9be044409270b27727a1d620d21b5fda6aa7291548938e1ced25404')
- version('3.0.5', sha256='7bde241ce83c00b89c80459e3af5734d40925d8fd9fcaaa7245f61b08192c722')
- version('3.0.4', sha256='0f25ef7ad282dd7a20e4decf283558e4f949243a5423ff4c0cd875276c310c47')
+ version("5.1.3", sha256="a239275a0464360c904fd06e67d2e76ef1147e04bc634befb40c67d3e79b3638")
+ version("3.0.13", sha256="ee64f0bc7fb6073063ac3c9bbef8951feada141e197b1a5cc389c8cccf8dc360")
+ version("3.0.12", sha256="7409ef41f1465cf4c1ae9834dfc0b0585c0fdc63b55d8ee8b8a7a6d5e31f309d")
+ version("3.0.11", sha256="4c9c24d4bd4791391848f19a4be5177137aca27a8e0375574101a7a1261157cf")
+ version("3.0.10", sha256="aac6d9630dc4c62840f03262166e877d3aeaf27b6b33498fb490fa3428f12fe4")
+ version("3.0.8", sha256="ca94772f74aaf7b8ad4d7c1b09578c9115ec909c3d8b82dacc908c351c631c35")
+ version("3.0.7", sha256="e603cd90567c6116d4f704ea66a010b447c11052e90db1d91488adc187142ead")
+ version("3.0.6", sha256="a7d6d46de9be044409270b27727a1d620d21b5fda6aa7291548938e1ced25404")
+ version("3.0.5", sha256="7bde241ce83c00b89c80459e3af5734d40925d8fd9fcaaa7245f61b08192c722")
+ version("3.0.4", sha256="0f25ef7ad282dd7a20e4decf283558e4f949243a5423ff4c0cd875276c310c47")
#
# Variants
#
- variant('f12', default=True,
- description="Enable explicitly correlated f12 integrals.")
- variant('coulomb_erf', default=True,
- description="Enable attenuated coulomb operator integrals.")
- variant('test', default=False, description="Build test programs")
- variant('shared', default=True,
- description="Build the shared library")
+ variant("f12", default=True, description="Enable explicitly correlated f12 integrals.")
+ variant(
+ "coulomb_erf", default=True, description="Enable attenuated coulomb operator integrals."
+ )
+ variant("test", default=False, description="Build test programs")
+ variant("shared", default=True, description="Build the shared library")
#
# Dependencies and conflicts
#
- depends_on('cmake@2.6:', type="build")
- depends_on('blas')
- depends_on('python', type=("build", "test"), when="+test")
- depends_on('py-numpy', type=("build", "test"), when="+test")
+ depends_on("cmake@2.6:", type="build")
+ depends_on("blas")
+ depends_on("python", type=("build", "test"), when="+test")
+ depends_on("py-numpy", type=("build", "test"), when="+test")
# Libcint tests only work with a shared libcint library
- conflicts('+test~shared')
+ conflicts("+test~shared")
#
# Settings and cmake cache
diff --git a/var/spack/repos/builtin/packages/libcircle/package.py b/var/spack/repos/builtin/packages/libcircle/package.py
index 03defab88f..e3163372fb 100644
--- a/var/spack/repos/builtin/packages/libcircle/package.py
+++ b/var/spack/repos/builtin/packages/libcircle/package.py
@@ -8,32 +8,40 @@ from spack.package import *
class Libcircle(AutotoolsPackage):
"""libcircle provides an efficient distributed queue on a cluster,
- using self-stabilizing work stealing."""
+ using self-stabilizing work stealing."""
homepage = "https://github.com/hpc/libcircle"
- git = "https://github.com/hpc/libcircle.git"
- url = "https://github.com/hpc/libcircle/releases/download/0.2.1-rc.1/libcircle-0.2.1-rc.1.tar.gz"
-
- version('master', branch='master')
- version('0.3.0', sha256='5ce38eb5b3c2b394bca1316310758f276c893dd3f4c15d7bc14ea05d3110ce58', url='https://github.com/hpc/libcircle/releases/download/v0.3/libcircle-0.3.0.tar.gz')
- version('0.2.1-rc.1', sha256='5747f91cf4417023304dcc92fd07e3617ac712ca1eeb698880979bbca3f54865')
-
- depends_on('mpi')
- depends_on('pkgconfig', type='build')
- depends_on('libpciaccess', type='link')
- 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')
+ git = "https://github.com/hpc/libcircle.git"
+ url = (
+ "https://github.com/hpc/libcircle/releases/download/0.2.1-rc.1/libcircle-0.2.1-rc.1.tar.gz"
+ )
+
+ version("master", branch="master")
+ version(
+ "0.3.0",
+ sha256="5ce38eb5b3c2b394bca1316310758f276c893dd3f4c15d7bc14ea05d3110ce58",
+ url="https://github.com/hpc/libcircle/releases/download/v0.3/libcircle-0.3.0.tar.gz",
+ )
+ version(
+ "0.2.1-rc.1", sha256="5747f91cf4417023304dcc92fd07e3617ac712ca1eeb698880979bbca3f54865"
+ )
+
+ depends_on("mpi")
+ depends_on("pkgconfig", type="build")
+ depends_on("libpciaccess", type="link")
+ 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")
@property
def force_autoreconf(self):
- return self.spec.satisfies('%cce')
+ return self.spec.satisfies("%cce")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
with working_dir(self.configure_directory):
# Bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libconfig/package.py b/var/spack/repos/builtin/packages/libconfig/package.py
index cfeb1b8d21..24efc79ea8 100644
--- a/var/spack/repos/builtin/packages/libconfig/package.py
+++ b/var/spack/repos/builtin/packages/libconfig/package.py
@@ -10,16 +10,16 @@ class Libconfig(AutotoolsPackage):
"""C/C++ Configuration File Library"""
homepage = "https://www.hyperrealm.com/libconfig/"
- url = "https://github.com/hyperrealm/libconfig/archive/v1.5.tar.gz"
+ url = "https://github.com/hyperrealm/libconfig/archive/v1.5.tar.gz"
force_autoreconf = True
- version('1.7.2', sha256='f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726')
- version('1.7.1', sha256='d288e6ae817f4ef78df43cdb2647f768dc97899ee82fcc41f857e8eb9fd7fbdb')
- version('1.5', sha256='cae5c02361d8a9b2bb26946c64f089d2e5e599972f386203fbc48975c0d885c8')
+ version("1.7.2", sha256="f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726")
+ version("1.7.1", sha256="d288e6ae817f4ef78df43cdb2647f768dc97899ee82fcc41f857e8eb9fd7fbdb")
+ version("1.5", sha256="cae5c02361d8a9b2bb26946c64f089d2e5e599972f386203fbc48975c0d885c8")
- depends_on('m4', type=('build'))
- depends_on('autoconf', type=('build'))
- depends_on('automake', type=('build'))
- depends_on('libtool', type=('build'))
- depends_on('texinfo', type='build')
+ depends_on("m4", type=("build"))
+ depends_on("autoconf", type=("build"))
+ depends_on("automake", type=("build"))
+ depends_on("libtool", type=("build"))
+ depends_on("texinfo", type="build")
diff --git a/var/spack/repos/builtin/packages/libconfuse/package.py b/var/spack/repos/builtin/packages/libconfuse/package.py
index b9459d340b..4c5a10cda4 100644
--- a/var/spack/repos/builtin/packages/libconfuse/package.py
+++ b/var/spack/repos/builtin/packages/libconfuse/package.py
@@ -10,18 +10,18 @@ class Libconfuse(AutotoolsPackage):
"""Small configuration file parser library for C."""
homepage = "https://github.com/martinh/libconfuse"
- url = "https://github.com/martinh/libconfuse/archive/v3.2.2.tar.gz"
+ url = "https://github.com/martinh/libconfuse/archive/v3.2.2.tar.gz"
- version('3.2.2', sha256='2cf7e032980aff8f488efba61510dc3fb95e9a4b9183f985dea457a5651b0e2c')
- version('3.2.1', sha256='2eff8e3c300c4ed1d67fdb13f9d31a72a68e31874b4640db15334305bc40cebd')
+ version("3.2.2", sha256="2cf7e032980aff8f488efba61510dc3fb95e9a4b9183f985dea457a5651b0e2c")
+ version("3.2.1", sha256="2eff8e3c300c4ed1d67fdb13f9d31a72a68e31874b4640db15334305bc40cebd")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gettext', type='build')
- depends_on('flex', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gettext", type="build")
+ depends_on("flex", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libcroco/package.py b/var/spack/repos/builtin/packages/libcroco/package.py
index 4b26e515be..2f1a5f07c2 100644
--- a/var/spack/repos/builtin/packages/libcroco/package.py
+++ b/var/spack/repos/builtin/packages/libcroco/package.py
@@ -10,23 +10,21 @@ class Libcroco(AutotoolsPackage):
"""Libcroco is a standalone css2 parsing and manipulation library."""
homepage = "https://developer.gnome.org/libcroco"
- url = "http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.tar.xz"
+ url = "http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.tar.xz"
- version('0.6.13', sha256='767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4')
- version('0.6.12', sha256='ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860')
+ version("0.6.13", sha256="767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4")
+ version("0.6.12", sha256="ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860")
- variant('doc', default=False, description='Build documentation with gtk-doc')
+ variant("doc", default=False, description="Build documentation with gtk-doc")
- depends_on('glib')
- depends_on('libxml2')
- depends_on('gtk-doc', type='build', when='+doc')
- depends_on('pkgconfig', type='build')
+ depends_on("glib")
+ depends_on("libxml2")
+ depends_on("gtk-doc", type="build", when="+doc")
+ depends_on("pkgconfig", type="build")
def configure_args(self):
- args = [
- '--enable-gtk-doc=' + ('yes' if self.spec.variants['doc'].value else 'no')
- ]
+ args = ["--enable-gtk-doc=" + ("yes" if self.spec.variants["doc"].value else "no")]
# macOS ld does not support this flag
# https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libcroco.rb
- args.append('--disable-Bsymbolic')
+ args.append("--disable-Bsymbolic")
return args
diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py
index b5e5a66184..bcc57e2919 100644
--- a/var/spack/repos/builtin/packages/libctl/package.py
+++ b/var/spack/repos/builtin/packages/libctl/package.py
@@ -11,23 +11,24 @@ class Libctl(AutotoolsPackage):
control files for scientific simulations."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/Libctl"
- git = "https://github.com/NanoComp/libctl.git"
- url = "https://github.com/NanoComp/libctl/releases/download/v4.2.0/libctl-4.2.0.tar.gz"
+ git = "https://github.com/NanoComp/libctl.git"
+ url = "https://github.com/NanoComp/libctl/releases/download/v4.2.0/libctl-4.2.0.tar.gz"
- version('4.2.0', sha256='0341ad6ea260ecda2efb3d4b679abb3d05ca6211792381979b036177a9291975')
- version('3.2.2', sha256='8abd8b58bc60e84e16d25b56f71020e0cb24d75b28bc5db86d50028197c7efbc',
- url='http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz')
+ version("4.2.0", sha256="0341ad6ea260ecda2efb3d4b679abb3d05ca6211792381979b036177a9291975")
+ version(
+ "3.2.2",
+ sha256="8abd8b58bc60e84e16d25b56f71020e0cb24d75b28bc5db86d50028197c7efbc",
+ url="http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz",
+ )
- depends_on('guile')
+ depends_on("guile")
def configure_args(self):
spec = self.spec
return [
- '--enable-shared',
- 'GUILE={0}'.format(join_path(
- spec['guile'].prefix.bin, 'guile')),
- 'GUILE_CONFIG={0}'.format(join_path(
- spec['guile'].prefix.bin, 'guile-config')),
- 'LIBS=-lm',
+ "--enable-shared",
+ "GUILE={0}".format(join_path(spec["guile"].prefix.bin, "guile")),
+ "GUILE_CONFIG={0}".format(join_path(spec["guile"].prefix.bin, "guile-config")),
+ "LIBS=-lm",
]
diff --git a/var/spack/repos/builtin/packages/libcudf/package.py b/var/spack/repos/builtin/packages/libcudf/package.py
index 034613a04d..d02984cbf9 100644
--- a/var/spack/repos/builtin/packages/libcudf/package.py
+++ b/var/spack/repos/builtin/packages/libcudf/package.py
@@ -13,29 +13,29 @@ class Libcudf(CMakePackage):
aggregating, filtering, and otherwise manipulating data."""
homepage = "https://rapids.ai"
- url = "https://github.com/rapidsai/cudf/archive/v0.15.0.tar.gz"
+ url = "https://github.com/rapidsai/cudf/archive/v0.15.0.tar.gz"
- version('0.15.0', sha256='2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4')
+ version("0.15.0", sha256="2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4")
- depends_on('cmake@3.14:', type='build')
- depends_on('cuda@10.0:')
+ depends_on("cmake@3.14:", type="build")
+ depends_on("cuda@10.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('arrow+cuda+orc+parquet')
- depends_on('librmm')
- depends_on('dlpack')
+ depends_on("arrow+cuda+orc+parquet")
+ depends_on("librmm")
+ depends_on("dlpack")
- root_cmakelists_dir = 'cpp'
+ root_cmakelists_dir = "cpp"
def cmake_args(self):
args = []
# args.append('-DGPU_ARCHES')
- args.append('-DUSE_NVTX=ON')
- args.append('-DBUILD_BENCHMARKS=OFF')
- args.append('-DDISABLE_DEPRICATION_WARNING=ON')
- args.append('-DPER_THREAD_DEFAULT_STREAM=OFF')
+ args.append("-DUSE_NVTX=ON")
+ args.append("-DBUILD_BENCHMARKS=OFF")
+ args.append("-DDISABLE_DEPRICATION_WARNING=ON")
+ args.append("-DPER_THREAD_DEFAULT_STREAM=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/libcuml/package.py b/var/spack/repos/builtin/packages/libcuml/package.py
index d95a9b8bd7..8a687ad045 100644
--- a/var/spack/repos/builtin/packages/libcuml/package.py
+++ b/var/spack/repos/builtin/packages/libcuml/package.py
@@ -12,28 +12,28 @@ class Libcuml(CMakePackage):
that share compatible APIs with other RAPIDS projects."""
homepage = "https://rapids.ai"
- url = "https://github.com/rapidsai/cuml/archive/v0.15.0.tar.gz"
+ url = "https://github.com/rapidsai/cuml/archive/v0.15.0.tar.gz"
- version('0.15.0', sha256='5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7')
+ version("0.15.0", sha256="5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7")
- depends_on('cmake@3.14:', type='build')
- depends_on('zlib')
- depends_on('libcudf@0.8:')
- depends_on('cuda@9.2:')
- depends_on('blas')
- depends_on('nccl@2.4:')
- depends_on('treelite')
- depends_on('googletest')
- depends_on('libcumlprims')
- depends_on('mpi')
- depends_on('ucx')
+ depends_on("cmake@3.14:", type="build")
+ depends_on("zlib")
+ depends_on("libcudf@0.8:")
+ depends_on("cuda@9.2:")
+ depends_on("blas")
+ depends_on("nccl@2.4:")
+ depends_on("treelite")
+ depends_on("googletest")
+ depends_on("libcumlprims")
+ depends_on("mpi")
+ depends_on("ucx")
- root_cmakelists_dir = 'cpp'
+ root_cmakelists_dir = "cpp"
def cmake_args(self):
args = []
- args.append("-DNCCL_PATH={0}".format(self.spec['nccl'].prefix))
+ args.append("-DNCCL_PATH={0}".format(self.spec["nccl"].prefix))
args.append("-DBUILD_CUML_C_LIBRARY=ON")
args.append("-DWITH_UCX=ON")
args.append("-DNVTX=OFF")
diff --git a/var/spack/repos/builtin/packages/libcumlprims/package.py b/var/spack/repos/builtin/packages/libcumlprims/package.py
index bae4230312..6f836122e8 100644
--- a/var/spack/repos/builtin/packages/libcumlprims/package.py
+++ b/var/spack/repos/builtin/packages/libcumlprims/package.py
@@ -10,21 +10,29 @@ class Libcumlprims(Package):
"""libcuMLPrims library"""
homepage = "https://rapids.ai"
- url = "https://anaconda.org/nvidia/libcumlprims/0.15.0/download/linux-64/libcumlprims-0.15.0-cuda11.0_gdbd0d39_0.tar.bz2"
-
- version('0.15.0-cuda11.0_gdbd0d39_0', sha256='0edc55767f06f533fbff7a0fecaf6e6d4f82eec39604b3874a07b5609f79ece8')
- version('0.15.0-cuda10.2_gdbd0d39_0', sha256='b7a8740de0d15380829f42fcb078567e73ab7d29b14be073376153bf2d8ec945')
- version('0.15.0-cuda10.1_gdbd0d39_0', sha256='f055f904b5ef67995869b0bc648d9fe30839b08e77cb335573bf9f1c816d4d9b')
-
- depends_on('cuda@11.0.0:11.0', when='@0.15.0-cuda11.0_gdbd0d39_0')
- depends_on('cuda@10.2.0:10.2', when='@0.15.0-cuda10.2_gdbd0d39_0')
- depends_on('cuda@10.1.0:10.1', when='@0.15.0-cuda10.1_gdbd0d39_0')
+ url = "https://anaconda.org/nvidia/libcumlprims/0.15.0/download/linux-64/libcumlprims-0.15.0-cuda11.0_gdbd0d39_0.tar.bz2"
+
+ version(
+ "0.15.0-cuda11.0_gdbd0d39_0",
+ sha256="0edc55767f06f533fbff7a0fecaf6e6d4f82eec39604b3874a07b5609f79ece8",
+ )
+ version(
+ "0.15.0-cuda10.2_gdbd0d39_0",
+ sha256="b7a8740de0d15380829f42fcb078567e73ab7d29b14be073376153bf2d8ec945",
+ )
+ version(
+ "0.15.0-cuda10.1_gdbd0d39_0",
+ sha256="f055f904b5ef67995869b0bc648d9fe30839b08e77cb335573bf9f1c816d4d9b",
+ )
+
+ depends_on("cuda@11.0.0:11.0", when="@0.15.0-cuda11.0_gdbd0d39_0")
+ depends_on("cuda@10.2.0:10.2", when="@0.15.0-cuda10.2_gdbd0d39_0")
+ depends_on("cuda@10.1.0:10.1", when="@0.15.0-cuda10.1_gdbd0d39_0")
@property
def headers(self):
- headers = find_headers('*', self.prefix.include, recursive=True)
- headers.directories = [self.prefix.include,
- self.prefix.include.cumlprims]
+ headers = find_headers("*", self.prefix.include, recursive=True)
+ headers.directories = [self.prefix.include, self.prefix.include.cumlprims]
return headers
def url_for_version(self, version):
@@ -32,4 +40,4 @@ class Libcumlprims(Package):
return url.format(version.up_to(3), version)
def install(self, spec, prefix):
- install_tree('.', self.prefix)
+ install_tree(".", self.prefix)
diff --git a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
index 1dece30689..88b1c5fa0d 100644
--- a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
+++ b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class LibcxxwrapJulia(CMakePackage):
"""This is the C++ library component of the CxxWrap.jl package, distributed as a
-regular CMake library for use in other C++ projects."""
+ regular CMake library for use in other C++ projects."""
homepage = "https://github.com/JuliaInterop/libcxxwrap-julia"
- url = "https://github.com/JuliaInterop/libcxxwrap-julia/archive/refs/tags/v0.8.3.tar.gz"
- git = "https://github.com/JuliaInterop/libcxxwrap-julia.git"
+ url = "https://github.com/JuliaInterop/libcxxwrap-julia/archive/refs/tags/v0.8.3.tar.gz"
+ git = "https://github.com/JuliaInterop/libcxxwrap-julia.git"
- maintainers = ['eloop']
+ maintainers = ["eloop"]
# note: use the @main branch version if you're building for julia 1.7
- version('main', branch='main')
+ version("main", branch="main")
- version('0.9.1', sha256='d7938d88ae2dbcc6abf505df3ac280dcd7c85fca0954af56911cf510d6161e05')
- version('0.8.3', sha256='b0421d11bdee5ce8af4922de6dfe3b0e5d69b07bb52894e3a22a477bbd27ee9e')
- version('0.8.2', sha256='f8b171def3d61904ba8f9a9052a405c25afbfb9a3c5af3dd30bc36a0184ed539')
+ version("0.9.1", sha256="d7938d88ae2dbcc6abf505df3ac280dcd7c85fca0954af56911cf510d6161e05")
+ version("0.8.3", sha256="b0421d11bdee5ce8af4922de6dfe3b0e5d69b07bb52894e3a22a477bbd27ee9e")
+ version("0.8.2", sha256="f8b171def3d61904ba8f9a9052a405c25afbfb9a3c5af3dd30bc36a0184ed539")
- depends_on('julia')
+ depends_on("julia")
diff --git a/var/spack/repos/builtin/packages/libcyaml/package.py b/var/spack/repos/builtin/packages/libcyaml/package.py
index 75104a75b8..ffce838131 100644
--- a/var/spack/repos/builtin/packages/libcyaml/package.py
+++ b/var/spack/repos/builtin/packages/libcyaml/package.py
@@ -11,14 +11,14 @@ class Libcyaml(MakefilePackage):
documents. It is written in ISO C11 and licensed under the ISC licence."""
homepage = "https://github.com/tlsa/libcyaml"
- url = "https://github.com/tlsa/libcyaml/archive/v1.1.0.tar.gz"
+ url = "https://github.com/tlsa/libcyaml/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='37a00ed8ec206b60a712acfd44196bef063b8f02e376d8e86f61a7007a81daea')
+ version("1.1.0", sha256="37a00ed8ec206b60a712acfd44196bef063b8f02e376d8e86f61a7007a81daea")
- depends_on('libyaml')
+ depends_on("libyaml")
def build(self, spec, prefix):
- make('VARIANT=release')
+ make("VARIANT=release")
def install(self, spec, prefix):
- make('install', 'VARIANT=release', 'PREFIX={0}'.format(prefix))
+ make("install", "VARIANT=release", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/libdaemon/package.py b/var/spack/repos/builtin/packages/libdaemon/package.py
index 586621af42..1c30925549 100644
--- a/var/spack/repos/builtin/packages/libdaemon/package.py
+++ b/var/spack/repos/builtin/packages/libdaemon/package.py
@@ -11,8 +11,8 @@ class Libdaemon(AutotoolsPackage):
UNIX daemons."""
homepage = "https://0pointer.de/lennart/projects/libdaemon/"
- url = "https://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz"
+ url = "https://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz"
- version('0.14', sha256='fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834')
- version('0.13', sha256='bd949d459d2da54f1cdfbd1f4592e32541e8a195aca56fa7a8329ed79836d709')
- version('0.12', sha256='39e7c9f8644d1af310d076c1a5cc648040033e4724e7edfd85eb983ad88336d0')
+ version("0.14", sha256="fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834")
+ version("0.13", sha256="bd949d459d2da54f1cdfbd1f4592e32541e8a195aca56fa7a8329ed79836d709")
+ version("0.12", sha256="39e7c9f8644d1af310d076c1a5cc648040033e4724e7edfd85eb983ad88336d0")
diff --git a/var/spack/repos/builtin/packages/libdap4/package.py b/var/spack/repos/builtin/packages/libdap4/package.py
index 063483eced..4878dcb211 100644
--- a/var/spack/repos/builtin/packages/libdap4/package.py
+++ b/var/spack/repos/builtin/packages/libdap4/package.py
@@ -15,26 +15,26 @@ class Libdap4(AutotoolsPackage):
"""
homepage = "https://www.opendap.org/"
- url = "https://github.com/OPENDAP/libdap4/archive/version-3.20.4.tar.gz"
+ url = "https://github.com/OPENDAP/libdap4/archive/version-3.20.4.tar.gz"
- maintainers = ['tjhei']
+ maintainers = ["tjhei"]
- version('3.20.4', sha256='c39fa310985cc8963029ad0d0aba784e7dbf1f70c566bd7ae58242f1bb06d24a')
+ version("3.20.4", sha256="c39fa310985cc8963029ad0d0aba784e7dbf1f70c566bd7ae58242f1bb06d24a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('bison', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("bison", type="build")
- depends_on('flex')
- depends_on('curl')
- depends_on('libxml2')
- depends_on('uuid')
+ depends_on("flex")
+ depends_on("curl")
+ depends_on("libxml2")
+ depends_on("uuid")
def configure_args(self):
# libxml2 exports ./include/libxml2/ instead of ./include/, which we
# need, so grab this path manually:
- libxml2_include = self.spec['libxml2'].prefix.include
- args = ['CPPFLAGS=-I{0}'.format(libxml2_include)]
+ libxml2_include = self.spec["libxml2"].prefix.include
+ args = ["CPPFLAGS=-I{0}".format(libxml2_include)]
return args
diff --git a/var/spack/repos/builtin/packages/libdatrie/package.py b/var/spack/repos/builtin/packages/libdatrie/package.py
index b84fff15b6..3a1033d3ca 100644
--- a/var/spack/repos/builtin/packages/libdatrie/package.py
+++ b/var/spack/repos/builtin/packages/libdatrie/package.py
@@ -11,9 +11,9 @@ class Libdatrie(AutotoolsPackage):
trie."""
homepage = "https://linux.thai.net/projects/datrie"
- url = "https://github.com/tlwg/libdatrie/releases/download/v0.2.12/libdatrie-0.2.12.tar.xz"
+ url = "https://github.com/tlwg/libdatrie/releases/download/v0.2.12/libdatrie-0.2.12.tar.xz"
- version('0.2.12', sha256='452dcc4d3a96c01f80f7c291b42be11863cd1554ff78b93e110becce6e00b149')
- version('0.2.11', sha256='547c7bd2ab9e10ad65f3270cae8ca7027f52db9c30f7327d24354ad41a98e94b')
+ version("0.2.12", sha256="452dcc4d3a96c01f80f7c291b42be11863cd1554ff78b93e110becce6e00b149")
+ version("0.2.11", sha256="547c7bd2ab9e10ad65f3270cae8ca7027f52db9c30f7327d24354ad41a98e94b")
- depends_on('doxygen@1.8.8:', type='build')
+ depends_on("doxygen@1.8.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/libdc1394/package.py b/var/spack/repos/builtin/packages/libdc1394/package.py
index c982820dab..9d876a738b 100644
--- a/var/spack/repos/builtin/packages/libdc1394/package.py
+++ b/var/spack/repos/builtin/packages/libdc1394/package.py
@@ -10,19 +10,19 @@ class Libdc1394(AutotoolsPackage):
"""Library providing an API for IEEE 1394 cameras."""
homepage = "https://damien.douxchamps.net/ieee1394/libdc1394/"
- url = "https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.6/libdc1394-2.2.6.tar.gz"
+ url = "https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.6/libdc1394-2.2.6.tar.gz"
- maintainers = ['traversaro']
+ maintainers = ["traversaro"]
- version('2.2.6', sha256='2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed')
+ version("2.2.6", sha256="2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed")
- depends_on('pkgconfig', type='build')
- depends_on('libusb')
- depends_on('libraw1394')
+ depends_on("pkgconfig", type="build")
+ depends_on("libusb")
+ depends_on("libraw1394")
def configure_args(self):
args = []
- args.append('--disable-dependency-tracking')
- args.append('--disable-examples')
- args.append('--disable-sdltest')
+ args.append("--disable-dependency-tracking")
+ args.append("--disable-examples")
+ args.append("--disable-sdltest")
return args
diff --git a/var/spack/repos/builtin/packages/libdeflate/package.py b/var/spack/repos/builtin/packages/libdeflate/package.py
index 1cfc7a7865..495441f054 100644
--- a/var/spack/repos/builtin/packages/libdeflate/package.py
+++ b/var/spack/repos/builtin/packages/libdeflate/package.py
@@ -10,15 +10,15 @@ class Libdeflate(MakefilePackage):
"""Heavily optimized library for DEFLATE/zlib/gzip compression and decompression"""
homepage = "https://github.com/ebiggers/libdeflate"
- url = "https://github.com/ebiggers/libdeflate/archive/v1.7.tar.gz"
+ url = "https://github.com/ebiggers/libdeflate/archive/v1.7.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.10', sha256='5c1f75c285cd87202226f4de49985dcb75732f527eefba2b3ddd70a8865f2533')
- version('1.7', sha256='a5e6a0a9ab69f40f0f59332106532ca76918977a974e7004977a9498e3f11350')
+ version("1.10", sha256="5c1f75c285cd87202226f4de49985dcb75732f527eefba2b3ddd70a8865f2533")
+ version("1.7", sha256="a5e6a0a9ab69f40f0f59332106532ca76918977a974e7004977a9498e3f11350")
- depends_on('zlib')
- depends_on('gzip')
+ depends_on("zlib")
+ depends_on("gzip")
def patch(self):
- filter_file(r'\/usr\/local', self.prefix, 'Makefile')
+ filter_file(r"\/usr\/local", self.prefix, "Makefile")
diff --git a/var/spack/repos/builtin/packages/libdivsufsort/package.py b/var/spack/repos/builtin/packages/libdivsufsort/package.py
index 13f3b912cf..fa65ef97da 100644
--- a/var/spack/repos/builtin/packages/libdivsufsort/package.py
+++ b/var/spack/repos/builtin/packages/libdivsufsort/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Libdivsufsort(CMakePackage):
"""libdivsufsort is a software library that implements a
- lightweight suffix array construction algorithm."""
+ lightweight suffix array construction algorithm."""
homepage = "https://github.com/y-256/libdivsufsort"
- url = "https://github.com/y-256/libdivsufsort/archive/2.0.1.tar.gz"
+ url = "https://github.com/y-256/libdivsufsort/archive/2.0.1.tar.gz"
- version('2.0.1', sha256='9164cb6044dcb6e430555721e3318d5a8f38871c2da9fd9256665746a69351e0')
+ version("2.0.1", sha256="9164cb6044dcb6e430555721e3318d5a8f38871c2da9fd9256665746a69351e0")
def cmake_args(self):
- args = ['-DBUILD_DIVSUFSORT64=ON']
+ args = ["-DBUILD_DIVSUFSORT64=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/libdmx/package.py b/var/spack/repos/builtin/packages/libdmx/package.py
index ad440f3577..566295388d 100644
--- a/var/spack/repos/builtin/packages/libdmx/package.py
+++ b/var/spack/repos/builtin/packages/libdmx/package.py
@@ -13,12 +13,12 @@ class Libdmx(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libdmx"
xorg_mirror_path = "lib/libdmx-1.1.3.tar.gz"
- version('1.1.3', sha256='c4b24d7e13e5a67ead7a18f0b4cc9b7b5363c9d04cd01b83b5122ff92b3b4996')
+ version("1.1.3", sha256="c4b24d7e13e5a67ead7a18f0b4cc9b7b5363c9d04cd01b83b5122ff92b3b4996")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('dmxproto@2.2.99.1:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("dmxproto@2.2.99.1:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py
index 55884e4cee..5d21a3c0f0 100644
--- a/var/spack/repos/builtin/packages/libdrm/package.py
+++ b/var/spack/repos/builtin/packages/libdrm/package.py
@@ -11,84 +11,84 @@ class Libdrm(Package):
on Linux, BSD and other systems supporting the ioctl interface."""
homepage = "https://dri.freedesktop.org/libdrm/"
- url = "https://dri.freedesktop.org/libdrm/libdrm-2.4.101.tar.xz"
+ url = "https://dri.freedesktop.org/libdrm/libdrm-2.4.101.tar.xz"
list_url = "https://dri.freedesktop.org/libdrm/"
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
- version('2.4.110', sha256='eecee4c4b47ed6d6ce1a9be3d6d92102548ea35e442282216d47d05293cf9737')
- version('2.4.109', sha256='629352e08c1fe84862ca046598d8a08ce14d26ab25ee1f4704f993d074cb7f26')
- version('2.4.108', sha256='a1d7948cbc536763fde14b4beb5e4da7867607966d4cf46301087e8b8fe3d6a0')
- version('2.4.107', sha256='c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888')
- version('2.4.100', sha256='6a5337c054c0c47bc16607a21efa2b622e08030be4101ef4a241c5eb05b6619b')
- version('2.4.81', sha256='64036c5e0668fdc2b820dcc0ebab712f44fd2c2147d23dc5a6e003b19f0d3e9f')
- version('2.4.75', sha256='a411bff814b4336c8908dcbd045cd89fdc7afedc75b795d897d462e467cbb01d')
- version('2.4.70', sha256='73615b9c1c4852e5ce045efa19c866e8df98e396b2443bf859eea05574ecb64f')
- version('2.4.59', sha256='ed9d03a92c2d80e6310cc350db3430620f1659ae084a07c6824cee7bc81ae8fa')
- version('2.4.33', sha256='bd2a8fecf28616f2157ca33ede691c139cc294ed2d0c4244b62ca7d22e98e5a4')
+ version("2.4.110", sha256="eecee4c4b47ed6d6ce1a9be3d6d92102548ea35e442282216d47d05293cf9737")
+ version("2.4.109", sha256="629352e08c1fe84862ca046598d8a08ce14d26ab25ee1f4704f993d074cb7f26")
+ version("2.4.108", sha256="a1d7948cbc536763fde14b4beb5e4da7867607966d4cf46301087e8b8fe3d6a0")
+ version("2.4.107", sha256="c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888")
+ version("2.4.100", sha256="6a5337c054c0c47bc16607a21efa2b622e08030be4101ef4a241c5eb05b6619b")
+ version("2.4.81", sha256="64036c5e0668fdc2b820dcc0ebab712f44fd2c2147d23dc5a6e003b19f0d3e9f")
+ version("2.4.75", sha256="a411bff814b4336c8908dcbd045cd89fdc7afedc75b795d897d462e467cbb01d")
+ version("2.4.70", sha256="73615b9c1c4852e5ce045efa19c866e8df98e396b2443bf859eea05574ecb64f")
+ version("2.4.59", sha256="ed9d03a92c2d80e6310cc350db3430620f1659ae084a07c6824cee7bc81ae8fa")
+ version("2.4.33", sha256="bd2a8fecf28616f2157ca33ede691c139cc294ed2d0c4244b62ca7d22e98e5a4")
- variant('docs', default=False, description="Build man pages")
+ variant("docs", default=False, description="Build man pages")
- depends_on('pkgconfig', type='build')
- depends_on('libpciaccess@0.10:')
- depends_on('libpthread-stubs')
+ depends_on("pkgconfig", type="build")
+ depends_on("libpciaccess@0.10:")
+ depends_on("libpthread-stubs")
# 2.4.90 is the first version to use meson, spack defaults to meson since
# 2.4.101.
- depends_on('meson', type='build', when='@2.4.101:')
+ depends_on("meson", type="build", when="@2.4.101:")
# >= 2.4.104 uses reStructuredText for man pages.
- with when('@2.4.104: +docs'):
- depends_on('py-docutils', type='build')
+ with when("@2.4.104: +docs"):
+ depends_on("py-docutils", type="build")
# < 2.4.104 uses docbook for man pages.
- with when('@:2.4.103 +docs'):
- depends_on('docbook-xml', type='build')
- depends_on('docbook-xsl', type='build')
- depends_on('libxslt', type='build')
+ with when("@:2.4.103 +docs"):
+ depends_on("docbook-xml", type="build")
+ depends_on("docbook-xsl", type="build")
+ depends_on("libxslt", type="build")
def url_for_version(self, version):
- if version <= Version('2.4.100'):
- return self.list_url + 'libdrm-%s.tar.gz' % version
+ if version <= Version("2.4.100"):
+ return self.list_url + "libdrm-%s.tar.gz" % version
else:
- return self.list_url + 'libdrm-%s.tar.xz' % version
+ return self.list_url + "libdrm-%s.tar.xz" % version
def meson_args(self):
- return [
- '-Dman-pages=' + ('true' if '+docs' in self.spec else 'false')
- ]
+ return ["-Dman-pages=" + ("true" if "+docs" in self.spec else "false")]
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
args = []
args.extend(std_meson_args)
args.extend(self.meson_args())
- meson('..', *args)
- ninja('-v')
+ meson("..", *args)
+ ninja("-v")
if self.run_tests:
- ninja('test')
- ninja('install')
+ ninja("test")
+ ninja("install")
- @when('@:2.4.100')
+ @when("@:2.4.100")
def configure_args(self):
args = []
- args.append('--enable-static')
- if self.version <= Version('2.4.70'):
+ args.append("--enable-static")
+ if self.version <= Version("2.4.70"):
# Needed to fix build for spack/spack#1740, but breaks newer
# builds/compilers
- args.append('LIBS=-lrt')
- if (self.spec.satisfies('%gcc@10.0.0:') or
- self.spec.satisfies('%clang@11.0.0:') or
- self.spec.satisfies('%aocc@2.3.0:')):
- args.append('CFLAGS=-fcommon')
+ args.append("LIBS=-lrt")
+ if (
+ self.spec.satisfies("%gcc@10.0.0:")
+ or self.spec.satisfies("%clang@11.0.0:")
+ or self.spec.satisfies("%aocc@2.3.0:")
+ ):
+ args.append("CFLAGS=-fcommon")
return args
- @when('@:2.4.100')
+ @when("@:2.4.100")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix), *self.configure_args())
+ configure("--prefix={0}".format(prefix), *self.configure_args())
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
diff --git a/var/spack/repos/builtin/packages/libdwarf/package.py b/var/spack/repos/builtin/packages/libdwarf/package.py
index 572a5e23ed..ed3350e2a5 100644
--- a/var/spack/repos/builtin/packages/libdwarf/package.py
+++ b/var/spack/repos/builtin/packages/libdwarf/package.py
@@ -9,105 +9,104 @@ import sys
from spack.package import *
# Only build certain parts of dwarf because the other ones break.
-dwarf_dirs = ['libdwarf', 'dwarfdump2']
+dwarf_dirs = ["libdwarf", "dwarfdump2"]
class Libdwarf(Package):
"""The DWARF Debugging Information Format is of interest to
- programmers working on compilers and debuggers (and any one
- interested in reading or writing DWARF information). It was
- developed by a committee (known as the PLSIG at the time)
- starting around 1991. Starting around 1991 SGI developed the
- libdwarf and dwarfdump tools for internal use and as part of
- SGI IRIX developer tools. Since that time dwarfdump and
- libdwarf have been shipped (as an executable and archive
- respectively, not source) with every release of the SGI
- MIPS/IRIX C compiler."""
+ programmers working on compilers and debuggers (and any one
+ interested in reading or writing DWARF information). It was
+ developed by a committee (known as the PLSIG at the time)
+ starting around 1991. Starting around 1991 SGI developed the
+ libdwarf and dwarfdump tools for internal use and as part of
+ SGI IRIX developer tools. Since that time dwarfdump and
+ libdwarf have been shipped (as an executable and archive
+ respectively, not source) with every release of the SGI
+ MIPS/IRIX C compiler."""
homepage = "https://www.prevanders.net/dwarf.html"
- url = "https://www.prevanders.net/libdwarf-20160507.tar.gz"
+ url = "https://www.prevanders.net/libdwarf-20160507.tar.gz"
list_url = homepage
- version('20180129', sha256='8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6')
- version('20160507', sha256='12ae39376e3915bf8fa92555989f3ad5f2f4f332b590a628541ce68987b337af')
- version('20130729', sha256='b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b')
- version('20130207', sha256='5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8')
- version('20130126', sha256='c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe')
- depends_on("elfutils@0.163", when='@20160507', type='link')
- depends_on("elf", type='link')
- depends_on('zlib', type='link')
+ version("20180129", sha256="8bd91b57064b0c14ade5a009d3a1ce819f1b6ec0e189fc876eb8f42a8720d8a6")
+ version("20160507", sha256="12ae39376e3915bf8fa92555989f3ad5f2f4f332b590a628541ce68987b337af")
+ version("20130729", sha256="b6455d8616baf2883e2af91f006d6cbd583128fdfff46e3d1fae460bc223bb7b")
+ version("20130207", sha256="5cb81459f0a1f6a2a10ef4635faddc2fa5e1a9e36901018c017759e491e708b8")
+ version("20130126", sha256="c23c847935f8612f4fcdcfa0b3311f1553dcbd95bb683d3d5e030440201192fe")
+ depends_on("elfutils@0.163", when="@20160507", type="link")
+ depends_on("elf", type="link")
+ depends_on("zlib", type="link")
parallel = False
def patch(self):
- filter_file(r'^typedef struct Elf Elf;$', '', 'libdwarf/libdwarf.h.in')
+ filter_file(r"^typedef struct Elf Elf;$", "", "libdwarf/libdwarf.h.in")
def install(self, spec, prefix):
# dwarf build does not set arguments for ar properly
- make.add_default_arg('ARFLAGS=rcs')
+ make.add_default_arg("ARFLAGS=rcs")
# Dwarf doesn't provide an install, so we have to do it.
mkdirp(prefix.bin, prefix.include, prefix.lib, prefix.man.man1)
- with working_dir('libdwarf'):
+ with working_dir("libdwarf"):
extra_config_args = []
# this is to prevent picking up system /usr/include/libelf.h
- if spec.satisfies('^libelf'):
- libelf_inc_dir = join_path(spec['libelf'].prefix,
- 'include/libelf')
+ if spec.satisfies("^libelf"):
+ libelf_inc_dir = join_path(spec["libelf"].prefix, "include/libelf")
extra_config_args.append(
- 'CFLAGS=-I{0} -Wl,-L{1} -Wl,-lelf'.format(
- libelf_inc_dir, spec['libelf'].prefix.lib))
- configure("--prefix=" + prefix, "--enable-shared",
- *extra_config_args)
- filter_file(r'^dwfzlib\s*=\s*-lz',
- 'dwfzlib=-L{0} -lz'.format(
- self.spec['zlib'].prefix.lib),
- 'Makefile')
+ "CFLAGS=-I{0} -Wl,-L{1} -Wl,-lelf".format(
+ libelf_inc_dir, spec["libelf"].prefix.lib
+ )
+ )
+ configure("--prefix=" + prefix, "--enable-shared", *extra_config_args)
+ filter_file(
+ r"^dwfzlib\s*=\s*-lz",
+ "dwfzlib=-L{0} -lz".format(self.spec["zlib"].prefix.lib),
+ "Makefile",
+ )
make()
- libdwarf_name = 'libdwarf.{0}'.format(dso_suffix)
- libdwarf1_name = 'libdwarf.{0}'.format(dso_suffix) + ".1"
- install('libdwarf.a', prefix.lib)
- install('libdwarf.so', join_path(prefix.lib, libdwarf1_name))
- if spec.satisfies('@20160507:'):
+ libdwarf_name = "libdwarf.{0}".format(dso_suffix)
+ libdwarf1_name = "libdwarf.{0}".format(dso_suffix) + ".1"
+ install("libdwarf.a", prefix.lib)
+ install("libdwarf.so", join_path(prefix.lib, libdwarf1_name))
+ if spec.satisfies("@20160507:"):
with working_dir(prefix.lib):
os.symlink(libdwarf1_name, libdwarf_name)
- install('libdwarf.h', prefix.include)
- install('dwarf.h', prefix.include)
+ install("libdwarf.h", prefix.include)
+ install("dwarf.h", prefix.include)
# It seems like fix_darwin_install_name can't be used
# here directly; the install name of the library in
# the stage directory must be fixed in order for dyld
# to locate it on Darwin when spack builds dwarfdump
- if sys.platform == 'darwin':
- install_name_tool = which('install_name_tool')
- install_name_tool('-id',
- join_path('..', 'libdwarf',
- 'libdwarf.so'),
- 'libdwarf.so')
-
- if spec.satisfies('@20130126:20130729'):
- dwarfdump_dir = 'dwarfdump2'
+ if sys.platform == "darwin":
+ install_name_tool = which("install_name_tool")
+ install_name_tool("-id", join_path("..", "libdwarf", "libdwarf.so"), "libdwarf.so")
+
+ if spec.satisfies("@20130126:20130729"):
+ dwarfdump_dir = "dwarfdump2"
else:
- dwarfdump_dir = 'dwarfdump'
+ dwarfdump_dir = "dwarfdump"
with working_dir(dwarfdump_dir):
configure("--prefix=" + prefix)
- filter_file(r'^dwfzlib\s*=\s*-lz',
- 'dwfzlib=-L{0} -lz'.format(
- self.spec['zlib'].prefix.lib),
- 'Makefile')
+ filter_file(
+ r"^dwfzlib\s*=\s*-lz",
+ "dwfzlib=-L{0} -lz".format(self.spec["zlib"].prefix.lib),
+ "Makefile",
+ )
# This makefile has strings of copy commands that
# cause a race in parallel
make(parallel=False)
- install('dwarfdump', prefix.bin)
- install('dwarfdump.conf', prefix.lib)
- install('dwarfdump.1', prefix.man.man1)
+ install("dwarfdump", prefix.bin)
+ install("dwarfdump.conf", prefix.lib)
+ install("dwarfdump.1", prefix.man.man1)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libeatmydata/package.py b/var/spack/repos/builtin/packages/libeatmydata/package.py
index 5daa147a6a..e53e003557 100644
--- a/var/spack/repos/builtin/packages/libeatmydata/package.py
+++ b/var/spack/repos/builtin/packages/libeatmydata/package.py
@@ -13,12 +13,12 @@ class Libeatmydata(AutotoolsPackage):
this software no longer crash safe."""
homepage = "https://www.flamingspork.com/projects/libeatmydata/"
- url = "https://www.flamingspork.com/projects/libeatmydata/libeatmydata-105.tar.gz"
+ url = "https://www.flamingspork.com/projects/libeatmydata/libeatmydata-105.tar.gz"
- version('105', sha256='bdd2d068b6b27cf47cd22aa4c5da43b3d4a05944cfe0ad1b0d843d360ed3a8dd')
+ version("105", sha256="bdd2d068b6b27cf47cd22aa4c5da43b3d4a05944cfe0ad1b0d843d360ed3a8dd")
- depends_on('strace', type='test')
+ depends_on("strace", type="test")
def check(self):
# Tests must run in serial
- make('check', parallel=False)
+ make("check", parallel=False)
diff --git a/var/spack/repos/builtin/packages/libecpint/package.py b/var/spack/repos/builtin/packages/libecpint/package.py
index 78ed5631c4..a0f9557cba 100644
--- a/var/spack/repos/builtin/packages/libecpint/package.py
+++ b/var/spack/repos/builtin/packages/libecpint/package.py
@@ -12,20 +12,20 @@ class Libecpint(CMakePackage):
"""
homepage = "https://github.com/robashaw/libecpint"
- url = "https://github.com/robashaw/libecpint/archive/v1.0.4.tar.gz"
- git = "https://github.com/robashaw/libecpint"
+ url = "https://github.com/robashaw/libecpint/archive/v1.0.4.tar.gz"
+ git = "https://github.com/robashaw/libecpint"
- version('master', branch='master')
- version('1.0.5', sha256='3ad5ff342b1bc870f5992c296e8bd8aa590c21a9b14333958c601f8916d6f532')
- version('1.0.4', sha256='fad9d1ac98f8dcd40f7bee69aef653bfa3079f016e43277cbd554e06890aa186')
- version('1.0.3', sha256='13c3f7d1cf35355e37a903196d5cace60f6a72ae041e8b3502dfabdd19dde17a')
- version('1.0.2', sha256='2fb73af4d30a40bdd9df9e04b1f762c38ab7ed3a39c11509f3f87250fe0b5778')
- version('1.0.1', sha256='245b89fe8cb0a92cbbb79c811b48cb15fcfc937389df89387466f1bf76a096bf')
- version('1.0.0', sha256='47d741cc48a543ef9c85483cb2d5cd1c9f6677fa7e9920886d083b3c25232379')
+ version("master", branch="master")
+ version("1.0.5", sha256="3ad5ff342b1bc870f5992c296e8bd8aa590c21a9b14333958c601f8916d6f532")
+ version("1.0.4", sha256="fad9d1ac98f8dcd40f7bee69aef653bfa3079f016e43277cbd554e06890aa186")
+ version("1.0.3", sha256="13c3f7d1cf35355e37a903196d5cace60f6a72ae041e8b3502dfabdd19dde17a")
+ version("1.0.2", sha256="2fb73af4d30a40bdd9df9e04b1f762c38ab7ed3a39c11509f3f87250fe0b5778")
+ version("1.0.1", sha256="245b89fe8cb0a92cbbb79c811b48cb15fcfc937389df89387466f1bf76a096bf")
+ version("1.0.0", sha256="47d741cc48a543ef9c85483cb2d5cd1c9f6677fa7e9920886d083b3c25232379")
- depends_on('pugixml')
- depends_on('googletest')
+ depends_on("pugixml")
+ depends_on("googletest")
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS=ON']
+ args = ["-DBUILD_SHARED_LIBS=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/libedit/package.py b/var/spack/repos/builtin/packages/libedit/package.py
index b215c4f295..2033837066 100644
--- a/var/spack/repos/builtin/packages/libedit/package.py
+++ b/var/spack/repos/builtin/packages/libedit/package.py
@@ -8,17 +8,28 @@ from spack.package import *
class Libedit(AutotoolsPackage):
"""An autotools compatible port of the NetBSD editline library"""
+
homepage = "https://thrysoee.dk/editline/"
- url = "https://thrysoee.dk/editline/libedit-20170329-3.1.tar.gz"
+ url = "https://thrysoee.dk/editline/libedit-20170329-3.1.tar.gz"
- version('3.1-20210216', sha256='2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a')
- version('3.1-20191231', sha256='dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071')
- version('3.1-20170329', sha256='91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be')
- version('3.1-20160903', sha256='0ccbd2e7d46097f136fcb1aaa0d5bc24e23bb73f57d25bee5a852a683eaa7567')
- version('3.1-20150325', sha256='c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5')
+ version(
+ "3.1-20210216", sha256="2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a"
+ )
+ version(
+ "3.1-20191231", sha256="dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071"
+ )
+ version(
+ "3.1-20170329", sha256="91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be"
+ )
+ version(
+ "3.1-20160903", sha256="0ccbd2e7d46097f136fcb1aaa0d5bc24e23bb73f57d25bee5a852a683eaa7567"
+ )
+ version(
+ "3.1-20150325", sha256="c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5"
+ )
- depends_on('pkgconfig', type='build')
- depends_on('ncurses')
+ depends_on("pkgconfig", type="build")
+ depends_on("ncurses")
def url_for_version(self, version):
url = "http://thrysoee.dk/editline/libedit-{0}-{1}.tar.gz"
diff --git a/var/spack/repos/builtin/packages/libefence/package.py b/var/spack/repos/builtin/packages/libefence/package.py
index 24c326b502..13ea9f9f80 100644
--- a/var/spack/repos/builtin/packages/libefence/package.py
+++ b/var/spack/repos/builtin/packages/libefence/package.py
@@ -14,15 +14,19 @@ class Libefence(MakefilePackage):
code that caused the error."""
homepage = "https://packages.debian.org/unstable/electric-fence"
- url = "https://deb.debian.org/debian/pool/main/e/electric-fence/electric-fence_2.2.6.tar.gz"
+ url = "https://deb.debian.org/debian/pool/main/e/electric-fence/electric-fence_2.2.6.tar.gz"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('2.2.6', sha256='a949e0dedb06cbcd444566cce1457223f2c41abd3513f21663f30f19ccc48e24')
+ version("2.2.6", sha256="a949e0dedb06cbcd444566cce1457223f2c41abd3513f21663f30f19ccc48e24")
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
- make('install', 'LIB_INSTALL_DIR=' + prefix.lib,
- 'MAN_INSTALL_DIR=' + prefix.man.man3, parallel=False)
+ make(
+ "install",
+ "LIB_INSTALL_DIR=" + prefix.lib,
+ "MAN_INSTALL_DIR=" + prefix.man.man3,
+ parallel=False,
+ )
diff --git a/var/spack/repos/builtin/packages/libelf/package.py b/var/spack/repos/builtin/packages/libelf/package.py
index 85158e5dfc..fb3ec7c677 100644
--- a/var/spack/repos/builtin/packages/libelf/package.py
+++ b/var/spack/repos/builtin/packages/libelf/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Libelf(AutotoolsPackage):
"""libelf lets you read, modify or create ELF object files in an
- architecture-independent way. The library takes care of size
- and endian issues, e.g. you can process a file for SPARC
- processors on an Intel-based system. Note: libelf is no longer
- maintained and packages that depend on libelf should migrate to
- elfutils."""
+ architecture-independent way. The library takes care of size
+ and endian issues, e.g. you can process a file for SPARC
+ processors on an Intel-based system. Note: libelf is no longer
+ maintained and packages that depend on libelf should migrate to
+ elfutils."""
# The original homepage no longer exists, but the tar file is
# archived at fossies.org.
@@ -21,19 +21,17 @@ class Libelf(AutotoolsPackage):
homepage = "https://directory.fsf.org/wiki/Libelf"
urls = [
- 'https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz',
- 'https://ftp.osuosl.org/pub/blfs/conglomeration/libelf/libelf-0.8.13.tar.gz'
+ "https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz",
+ "https://ftp.osuosl.org/pub/blfs/conglomeration/libelf/libelf-0.8.13.tar.gz",
]
- version('0.8.13', sha256='591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d')
+ version("0.8.13", sha256="591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d")
- provides('elf@0')
+ provides("elf@0")
def configure_args(self):
- args = ["--enable-shared",
- "--disable-dependency-tracking",
- "--disable-debug"]
+ args = ["--enable-shared", "--disable-dependency-tracking", "--disable-debug"]
return args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/libemos/package.py b/var/spack/repos/builtin/packages/libemos/package.py
index 1686809373..cab4d9093a 100644
--- a/var/spack/repos/builtin/packages/libemos/package.py
+++ b/var/spack/repos/builtin/packages/libemos/package.py
@@ -8,43 +8,51 @@ from spack.package import *
class Libemos(CMakePackage):
"""The Interpolation library (EMOSLIB) includes Interpolation software and
- BUFR & CREX encoding/decoding routines."""
+ BUFR & CREX encoding/decoding routines."""
homepage = "https://software.ecmwf.int/wiki/display/EMOS/Emoslib"
- url = "https://software.ecmwf.int/wiki/download/attachments/3473472/libemos-4.4.2-Source.tar.gz"
+ url = (
+ "https://software.ecmwf.int/wiki/download/attachments/3473472/libemos-4.4.2-Source.tar.gz"
+ )
list_url = "https://software.ecmwf.int/wiki/display/EMOS/Releases"
- version('4.5.1', sha256='c982d9fd7dcd15c3a4d1e1115b90430928b660e17f73f7d4e360dd9f87f68c46')
- version('4.5.0', sha256='debe474603224c318f8ed4a1c209a4d1416807c594c3faa196059b2228824393')
- version('4.4.9', sha256='61af7dfcd37875b4f834e2e4371922ec529a8c03879c52e8fb911b35e4c0d413')
- version('4.4.7', sha256='669fb070c1ce655812882140a92b100233f065829868d9374bad2fcbb6b356e5')
- version('4.4.2', sha256='e2d20ad71e3beb398916f98a35a3c56ee0141d5bc9b3adff15095ff3b6dccea8')
-
- variant('grib', default='eccodes', values=('eccodes', 'grib-api'),
- description='Specify GRIB backend')
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
-
- depends_on('eccodes', when='grib=eccodes')
- depends_on('grib-api', when='grib=grib-api')
- depends_on('fftw precision=float,double')
- depends_on('cmake@2.8.11:', type='build')
- depends_on('pkgconfig', type='build')
-
- conflicts('grib=eccodes', when='@:4.4.1',
- msg='Eccodes is supported starting version 4.4.2')
+ version("4.5.1", sha256="c982d9fd7dcd15c3a4d1e1115b90430928b660e17f73f7d4e360dd9f87f68c46")
+ version("4.5.0", sha256="debe474603224c318f8ed4a1c209a4d1416807c594c3faa196059b2228824393")
+ version("4.4.9", sha256="61af7dfcd37875b4f834e2e4371922ec529a8c03879c52e8fb911b35e4c0d413")
+ version("4.4.7", sha256="669fb070c1ce655812882140a92b100233f065829868d9374bad2fcbb6b356e5")
+ version("4.4.2", sha256="e2d20ad71e3beb398916f98a35a3c56ee0141d5bc9b3adff15095ff3b6dccea8")
+
+ variant(
+ "grib",
+ default="eccodes",
+ values=("eccodes", "grib-api"),
+ description="Specify GRIB backend",
+ )
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "Production"),
+ )
+
+ depends_on("eccodes", when="grib=eccodes")
+ depends_on("grib-api", when="grib=grib-api")
+ depends_on("fftw precision=float,double")
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("pkgconfig", type="build")
+
+ conflicts("grib=eccodes", when="@:4.4.1", msg="Eccodes is supported starting version 4.4.2")
def cmake_args(self):
args = []
- if self.spec.variants['grib'].value == 'eccodes':
- args.append('-DENABLE_ECCODES=ON')
+ if self.spec.variants["grib"].value == "eccodes":
+ args.append("-DENABLE_ECCODES=ON")
else:
- if self.spec.satisfies('@4.4.2:'):
- args.append('-DENABLE_ECCODES=OFF')
+ if self.spec.satisfies("@4.4.2:"):
+ args.append("-DENABLE_ECCODES=OFF")
# To support long pathnames that spack generates
- args.append('-DCMAKE_Fortran_FLAGS=-ffree-line-length-none')
+ args.append("-DCMAKE_Fortran_FLAGS=-ffree-line-length-none")
return args
diff --git a/var/spack/repos/builtin/packages/libepoxy/package.py b/var/spack/repos/builtin/packages/libepoxy/package.py
index c4f55affa3..8c048fd1e4 100644
--- a/var/spack/repos/builtin/packages/libepoxy/package.py
+++ b/var/spack/repos/builtin/packages/libepoxy/package.py
@@ -9,30 +9,31 @@ from spack.package import *
class Libepoxy(AutotoolsPackage):
"""Epoxy is a library for handling OpenGL function pointer management for
you."""
+
homepage = "https://github.com/anholt/libepoxy"
- url = "https://github.com/anholt/libepoxy/releases/download/1.4.3/libepoxy-1.4.3.tar.xz"
+ url = "https://github.com/anholt/libepoxy/releases/download/1.4.3/libepoxy-1.4.3.tar.xz"
list_url = "https://github.com/anholt/libepoxy/releases"
- version('1.4.3', sha256='0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6')
+ version("1.4.3", sha256="0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6")
- depends_on('pkgconfig', type='build')
- depends_on('gl')
- depends_on('libx11', when='+glx')
+ depends_on("pkgconfig", type="build")
+ depends_on("gl")
+ depends_on("libx11", when="+glx")
- variant('glx', default=True, description='enable GLX support')
+ variant("glx", default=True, description="enable GLX support")
def configure_args(self):
# Disable egl, otherwise configure fails with:
# error: Package requirements (egl) were not met
# Package 'egl', required by 'virtual:world', not found
- args = ['--enable-egl=no']
+ args = ["--enable-egl=no"]
# --enable-glx defaults to auto and was failing on PPC64LE systems
# because libx11 was missing from the dependences. This explicitly
# enables/disables glx support.
- if '+glx' in self.spec:
- args.append('--enable-glx=yes')
+ if "+glx" in self.spec:
+ args.append("--enable-glx=yes")
else:
- args.append('--enable-glx=no')
+ args.append("--enable-glx=no")
return args
diff --git a/var/spack/repos/builtin/packages/libestr/package.py b/var/spack/repos/builtin/packages/libestr/package.py
index 28e2090fef..c938d0fd6d 100644
--- a/var/spack/repos/builtin/packages/libestr/package.py
+++ b/var/spack/repos/builtin/packages/libestr/package.py
@@ -10,13 +10,13 @@ class Libestr(AutotoolsPackage):
"""C library for string handling (and a bit more)."""
homepage = "https://libestr.adiscon.com/"
- url = "https://github.com/rsyslog/libestr/archive/v0.1.11.tar.gz"
+ url = "https://github.com/rsyslog/libestr/archive/v0.1.11.tar.gz"
- version('0.1.11', sha256='46b53b80f875fd82981d927a45f0c9df9d17ee1d0e29efab76aaa9cd54a46bb4')
- version('0.1.10', sha256='e8756b071540314abef25c044f893d6b5d249e46709329a4b3e7361403c29a1e')
- version('0.1.9', sha256='efa0b90b5fe22844bac26042f988de6e8b2770e28dbd84bf49b9982d9c3e34f8')
+ version("0.1.11", sha256="46b53b80f875fd82981d927a45f0c9df9d17ee1d0e29efab76aaa9cd54a46bb4")
+ version("0.1.10", sha256="e8756b071540314abef25c044f893d6b5d249e46709329a4b3e7361403c29a1e")
+ version("0.1.9", sha256="efa0b90b5fe22844bac26042f988de6e8b2770e28dbd84bf49b9982d9c3e34f8")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libev/package.py b/var/spack/repos/builtin/packages/libev/package.py
index a94b01e26d..4de88b3260 100644
--- a/var/spack/repos/builtin/packages/libev/package.py
+++ b/var/spack/repos/builtin/packages/libev/package.py
@@ -11,13 +11,13 @@ class Libev(AutotoolsPackage):
after libevent, but without its limitations and bugs."""
homepage = "http://software.schmorp.de/pkg/libev.html"
- url = "http://dist.schmorp.de/libev/Attic/libev-4.24.tar.gz"
- git = "https://github.com/enki/libev.git"
+ url = "http://dist.schmorp.de/libev/Attic/libev-4.24.tar.gz"
+ git = "https://github.com/enki/libev.git"
- version('develop', branch='master')
- version('4.24', sha256='973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821')
+ version("develop", branch="master")
+ version("4.24", sha256="973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821")
- 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="@develop")
+ depends_on("automake", type="build", when="@develop")
+ depends_on("libtool", type="build", when="@develop")
+ depends_on("m4", type="build", when="@develop")
diff --git a/var/spack/repos/builtin/packages/libevdev/package.py b/var/spack/repos/builtin/packages/libevdev/package.py
index 366b98c103..91f5025668 100644
--- a/var/spack/repos/builtin/packages/libevdev/package.py
+++ b/var/spack/repos/builtin/packages/libevdev/package.py
@@ -12,15 +12,15 @@ class Libevdev(AutotoolsPackage):
library interface to the callers, thus avoiding erroneous ioctls, etc."""
homepage = "https://cgit.freedesktop.org/libevdev"
- url = "https://github.com/whot/libevdev/archive/libevdev-1.5.4.tar.gz"
+ url = "https://github.com/whot/libevdev/archive/libevdev-1.5.4.tar.gz"
- version('1.5.4', sha256='11ef3510970c049b0e30985be3149d27b4b36b7cbe14ca678746aac1ca86744d')
- version('1.5.3', sha256='14575ecac843af1f05dd90099a3163086da5b7a888da9d14263036b7b93894eb')
- version('1.5.2', sha256='75780467d76ee93ecaf62cfd0fa6020629231289230548dae04638936af1e1c8')
- version('1.5.1', sha256='a9a789abf2f047d2449f09458bb754a9dd53f550ea537654d59492acad787ce6')
- version('1.5.0', sha256='ae1b64f26f4b6b55d78bf6e8de87eeb8c58e964b1d457ffa8060e4a889dcb31f')
+ version("1.5.4", sha256="11ef3510970c049b0e30985be3149d27b4b36b7cbe14ca678746aac1ca86744d")
+ version("1.5.3", sha256="14575ecac843af1f05dd90099a3163086da5b7a888da9d14263036b7b93894eb")
+ version("1.5.2", sha256="75780467d76ee93ecaf62cfd0fa6020629231289230548dae04638936af1e1c8")
+ version("1.5.1", sha256="a9a789abf2f047d2449f09458bb754a9dd53f550ea537654d59492acad787ce6")
+ version("1.5.0", sha256="ae1b64f26f4b6b55d78bf6e8de87eeb8c58e964b1d457ffa8060e4a889dcb31f")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libevent/package.py b/var/spack/repos/builtin/packages/libevent/package.py
index 1b192b73ed..9042a566d4 100644
--- a/var/spack/repos/builtin/packages/libevent/package.py
+++ b/var/spack/repos/builtin/packages/libevent/package.py
@@ -8,40 +8,41 @@ from spack.package import *
class Libevent(AutotoolsPackage):
"""The libevent API provides a mechanism to execute a callback function
- when a specific event occurs on a file descriptor or after a
- timeout has been reached. Furthermore, libevent also support
- callbacks due to signals or regular timeouts.
+ when a specific event occurs on a file descriptor or after a
+ timeout has been reached. Furthermore, libevent also support
+ callbacks due to signals or regular timeouts.
"""
homepage = "https://libevent.org"
- url = "https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz"
+ url = "https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz"
list_url = "https://libevent.org/old-releases.html"
- version('2.1.12', sha256='92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb')
- version('2.1.11', sha256='a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d')
- version('2.1.10', sha256='e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0')
- version('2.1.8', sha256='965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2')
- version('2.0.22', sha256='71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3')
- version('2.0.21', sha256='22a530a8a5ba1cb9c080cba033206b17dacd21437762155c6d30ee6469f574f5')
- version('2.0.20', sha256='10698a0e6abb3ca00b1c9e8cfddc66933bcc4c9c78b5600a7064c4c3ef9c6a24')
- version('2.0.19', sha256='1591fb411a67876a514a33df54b85417b31e01800284bcc6894fc410c3eaea21')
- version('2.0.18', sha256='44ed97277715b24ef3b36e93d8c1d39ae80c29c7723793911e22dc6e0c3c4acb')
- version('2.0.17', sha256='51735d1241f9f6d2d6465d8abc76f7511764f6de7d81026120c629612296faa6')
- version('2.0.16', sha256='a578c7bcaf3bab1cc7924bd4d219f2ea621ab8c51dfc4f886e234b6ef4d38295')
- version('2.0.15', sha256='ab535bae9af788c8711a8d138c4cae0722f22a1a4ac4d8084abc7b0e0468bc5c')
- version('2.0.14', sha256='3c97a72cddd5bff63450efe7c646e15ad08dec32d5223b69cb10c2dc305812da')
- version('2.0.13', sha256='e2cc3b9f03e68ff878919b1cd031a210ba9ff376283d895161afcbc25aca00a9')
- version('2.0.12', sha256='ac0283f72e0f881e93ac3ae9497a20c78bd075c6c12506ad10e821aa1c29e5ab')
+ version("2.1.12", sha256="92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb")
+ version("2.1.11", sha256="a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d")
+ version("2.1.10", sha256="e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0")
+ version("2.1.8", sha256="965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2")
+ version("2.0.22", sha256="71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3")
+ version("2.0.21", sha256="22a530a8a5ba1cb9c080cba033206b17dacd21437762155c6d30ee6469f574f5")
+ version("2.0.20", sha256="10698a0e6abb3ca00b1c9e8cfddc66933bcc4c9c78b5600a7064c4c3ef9c6a24")
+ version("2.0.19", sha256="1591fb411a67876a514a33df54b85417b31e01800284bcc6894fc410c3eaea21")
+ version("2.0.18", sha256="44ed97277715b24ef3b36e93d8c1d39ae80c29c7723793911e22dc6e0c3c4acb")
+ version("2.0.17", sha256="51735d1241f9f6d2d6465d8abc76f7511764f6de7d81026120c629612296faa6")
+ version("2.0.16", sha256="a578c7bcaf3bab1cc7924bd4d219f2ea621ab8c51dfc4f886e234b6ef4d38295")
+ version("2.0.15", sha256="ab535bae9af788c8711a8d138c4cae0722f22a1a4ac4d8084abc7b0e0468bc5c")
+ version("2.0.14", sha256="3c97a72cddd5bff63450efe7c646e15ad08dec32d5223b69cb10c2dc305812da")
+ version("2.0.13", sha256="e2cc3b9f03e68ff878919b1cd031a210ba9ff376283d895161afcbc25aca00a9")
+ version("2.0.12", sha256="ac0283f72e0f881e93ac3ae9497a20c78bd075c6c12506ad10e821aa1c29e5ab")
- variant('openssl', default=True,
- description="Build with encryption enabled at the libevent level.")
+ variant(
+ "openssl", default=True, description="Build with encryption enabled at the libevent level."
+ )
# Versions before 2.1 do not build with OpenSSL 1.1
- depends_on('openssl@:1.0', when='@:2.0+openssl')
- depends_on('openssl', when='+openssl')
+ depends_on("openssl@:1.0", when="@:2.0+openssl")
+ depends_on("openssl", when="+openssl")
def url_for_version(self, version):
- if version >= Version('2.0.22'):
+ if version >= Version("2.0.22"):
url = "https://github.com/libevent/libevent/releases/download/release-{0}-stable/libevent-{0}-stable.tar.gz"
else:
url = "https://github.com/downloads/libevent/libevent/libevent-{0}-stable.tar.gz"
@@ -51,21 +52,21 @@ class Libevent(AutotoolsPackage):
def configure_args(self):
spec = self.spec
configure_args = []
- if '+openssl' in spec:
- configure_args.append('--enable-openssl')
+ if "+openssl" in spec:
+ configure_args.append("--enable-openssl")
else:
- configure_args.append('--disable-openssl')
+ configure_args.append("--disable-openssl")
return configure_args
def patch(self):
- if self.spec.satisfies('%nvhpc'):
+ if self.spec.satisfies("%nvhpc"):
# Remove incompatible compiler flags
- filter_file(' -Wmissing-declarations', '', 'configure')
- filter_file(' -Wbad-function-cast', '', 'configure')
- filter_file(' -Wno-unused-parameter', '', 'configure')
- filter_file(' -Wmissing-field-initializers', '', 'configure')
- filter_file(' -Waddress', '', 'configure')
- filter_file(' -Wnormalized=id', '', 'configure')
- filter_file(' -Woverride-init', '', 'configure')
- filter_file(' -Wlogical-op', '', 'configure')
+ filter_file(" -Wmissing-declarations", "", "configure")
+ filter_file(" -Wbad-function-cast", "", "configure")
+ filter_file(" -Wno-unused-parameter", "", "configure")
+ filter_file(" -Wmissing-field-initializers", "", "configure")
+ filter_file(" -Waddress", "", "configure")
+ filter_file(" -Wnormalized=id", "", "configure")
+ filter_file(" -Woverride-init", "", "configure")
+ filter_file(" -Wlogical-op", "", "configure")
diff --git a/var/spack/repos/builtin/packages/libevpath/package.py b/var/spack/repos/builtin/packages/libevpath/package.py
index bb303e5eeb..f5cac11723 100644
--- a/var/spack/repos/builtin/packages/libevpath/package.py
+++ b/var/spack/repos/builtin/packages/libevpath/package.py
@@ -14,32 +14,32 @@ class Libevpath(CMakePackage):
"""
homepage = "https://github.com/GTkorvo/evpath"
- url = "https://github.com/GTkorvo/evpath/archive/v4.1.1.tar.gz"
- git = "https://github.com/GTkorvo/evpath.git"
+ url = "https://github.com/GTkorvo/evpath/archive/v4.1.1.tar.gz"
+ git = "https://github.com/GTkorvo/evpath.git"
- version('develop', branch='master')
- version('4.4.0', sha256='c8d20d33c84d8d826493f453760eceb792d601734ff61238662c16fa6243dc29')
- version('4.2.4', sha256='070698a068798e2e34dd73debb936cf275af23987a4cb0d06aa3e50c481042ff')
- version('4.2.1', sha256='c745946f2ecff65bfc80978c2038c37c3803076064cfd29ea3023d671c950770')
- version('4.1.2', sha256='2c0d5acc0e1c5aadd32d7147d2f0ce26220e3870e21c7d5429372d8f881e519e')
- version('4.1.1', sha256='cfc9587f98c1f057eb25712855d14311fd91d6284151eee7bd8936c4ff7ee001')
+ version("develop", branch="master")
+ version("4.4.0", sha256="c8d20d33c84d8d826493f453760eceb792d601734ff61238662c16fa6243dc29")
+ version("4.2.4", sha256="070698a068798e2e34dd73debb936cf275af23987a4cb0d06aa3e50c481042ff")
+ version("4.2.1", sha256="c745946f2ecff65bfc80978c2038c37c3803076064cfd29ea3023d671c950770")
+ version("4.1.2", sha256="2c0d5acc0e1c5aadd32d7147d2f0ce26220e3870e21c7d5429372d8f881e519e")
+ version("4.1.1", sha256="cfc9587f98c1f057eb25712855d14311fd91d6284151eee7bd8936c4ff7ee001")
- variant('enet_transport', default=False, description='Build an ENET transport for EVpath')
+ variant("enet_transport", default=False, description="Build an ENET transport for EVpath")
- depends_on('gtkorvo-enet', when='@4.4.0: +enet_transport')
- depends_on('gtkorvo-enet@1.3.13', when='@:4.2.4 +enet_transport')
- depends_on('libffs')
+ depends_on("gtkorvo-enet", when="@4.4.0: +enet_transport")
+ depends_on("gtkorvo-enet@1.3.13", when="@:4.2.4 +enet_transport")
+ depends_on("libffs")
def cmake_args(self):
args = ["-DTARGET_CNL=1"]
- if self.spec.satisfies('@4.4.0:'):
+ if self.spec.satisfies("@4.4.0:"):
args.append("-DBUILD_SHARED_LIBS=OFF")
else:
args.append("-DENABLE_BUILD_STATIC=STATIC")
if self.run_tests:
- args.append('-DENABLE_TESTING=1')
+ args.append("-DENABLE_TESTING=1")
else:
- args.append('-DENABLE_TESTING=0')
+ args.append("-DENABLE_TESTING=0")
return args
diff --git a/var/spack/repos/builtin/packages/libexif/package.py b/var/spack/repos/builtin/packages/libexif/package.py
index 7328ef941b..a3b1bad606 100644
--- a/var/spack/repos/builtin/packages/libexif/package.py
+++ b/var/spack/repos/builtin/packages/libexif/package.py
@@ -11,7 +11,7 @@ class Libexif(AutotoolsPackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/libexif"
sourceforge_mirror_path = "libexif/libexif-0.6.21.tar.bz2"
- maintainers = ['TheQueasle']
+ maintainers = ["TheQueasle"]
- version('0.6.21', sha256='16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a')
- depends_on('glib')
+ version("0.6.21", sha256="16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a")
+ depends_on("glib")
diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py
index c76a1c2a4c..1091a7e59c 100644
--- a/var/spack/repos/builtin/packages/libfabric/package.py
+++ b/var/spack/repos/builtin/packages/libfabric/package.py
@@ -8,120 +8,123 @@ from spack.package import *
class Libfabric(AutotoolsPackage):
"""The Open Fabrics Interfaces (OFI) is a framework focused on exporting
- fabric communication services to applications."""
+ fabric communication services to applications."""
homepage = "https://libfabric.org/"
- url = "https://github.com/ofiwg/libfabric/releases/download/v1.8.0/libfabric-1.8.0.tar.bz2"
- git = "https://github.com/ofiwg/libfabric.git"
-
- maintainers = ['rajachan']
-
- version('master', branch='master')
- version('1.14.1', sha256='6cfabb94bca8e419d9015212506f5a367d077c5b11e94b9f57997ec6ca3d8aed')
- version('1.14.0', sha256='fc261388848f3cff555bd653f5cb901f6b9485ad285e5c53328b13f0e69f749a')
- version('1.13.2', sha256='25d783b0722a8df8fe61c1de75fafca684c5fe520303180f26f0ad6409cfc0b9')
- version('1.13.1', sha256='8e6eed38c4a39aa4cbf7d5d3734f0eecbfc030182f1f9b3be470702f2586d30e')
- version('1.12.1', sha256='db3c8e0a495e6e9da6a7436adab905468aedfbd4579ee3da5232a5c111ba642c')
- version('1.12.0', sha256='ca98785fe25e68a26c61e272be64a1efeea37e61b0dcebd34ccfd381bda7d9cc')
- version('1.11.2', sha256='ff2ba821b55a54855d327e6f6fb8a14312c9c9ca7c873525b6a246d8f974d7da')
- version('1.11.1', sha256='a72a7dac6322bed09ef1af33bcade3024ca5847a1e9c8fa369da6ab879111fe7')
- version('1.11.0', sha256='9938abf628e7ea8dcf60a94a4b62d499fbc0dbc6733478b6db2e6a373c80d58f')
- version('1.10.1', sha256='889fa8c99eed1ff2a5fd6faf6d5222f2cf38476b24f3b764f2cbb5900fee8284')
- version('1.10.0', sha256='c1ef6e9cd6dafec3f003d2f78f0f3a25f055a7a791e98b5a0db1e4c5036e40f6')
- version('1.9.1', sha256='c305c6035c992523e08c7591a6a3707225ba3e72de40443eaed837a10df6771a')
- version('1.9.0', sha256='559bfb7376c38253c936d0b104591c3394880376d676894895706c4f5f88597c')
- version('1.8.1', sha256='3c560b997f9eafd89f961dd8e8a29a81aad3e39aee888e3f3822da419047dc88')
- version('1.8.0', sha256='c4763383a96af4af52cd81b3b094227f5cf8e91662f861670965994539b7ee37')
- version('1.7.1', sha256='f4e9cc48319763cff4943de96bf527b737c9f1d6ac3088b8b5c75d07bd719569')
- version('1.7.0', sha256='b3dd9cc0fa36fe8c3b9997ba279ec831a905704816c25fe3c4c09fc7eeceaac4')
- version('1.6.2', sha256='ec63f61f5e529964ef65fd101627d8782c0efc2b88b3d5fc7f0bfd2c1e95ab2c')
- version('1.6.1', sha256='33215a91450e2234ebdc7c467f041b6757f76f5ba926425e89d80c27b3fd7da2')
- version('1.6.0', sha256='b3ce7bd655052ea4da7bf01a3177d96d94e5f41b3fd6011ac43f50fcb2dc7581')
- version('1.5.3', sha256='f62a40da06f8951db267a59a4ee7363b6ee60a7abbc55cd5db6c8b067d93fa0c')
- version('1.5.0', sha256='88a8ad6772f11d83e5b6f7152a908ffcb237af273a74a1bd1cb4202f577f1f23')
- version('1.4.2', sha256='5d027d7e4e34cb62508803e51d6bd2f477932ad68948996429df2bfff37ca2a5')
-
- fabrics = ('efa',
- 'gni',
- 'mlx',
- 'mrail',
- 'psm',
- 'psm2',
- 'psm3',
- 'rxm',
- 'rxd',
- 'shm',
- 'sockets',
- 'tcp',
- 'udp',
- 'usnic',
- 'verbs',
- 'xpmem')
-
- variant('fabrics',
- default='sockets,tcp,udp',
- description='A list of enabled fabrics',
- values=fabrics,
- multi=True)
+ url = "https://github.com/ofiwg/libfabric/releases/download/v1.8.0/libfabric-1.8.0.tar.bz2"
+ git = "https://github.com/ofiwg/libfabric.git"
+
+ maintainers = ["rajachan"]
+
+ version("master", branch="master")
+ version("1.14.1", sha256="6cfabb94bca8e419d9015212506f5a367d077c5b11e94b9f57997ec6ca3d8aed")
+ version("1.14.0", sha256="fc261388848f3cff555bd653f5cb901f6b9485ad285e5c53328b13f0e69f749a")
+ version("1.13.2", sha256="25d783b0722a8df8fe61c1de75fafca684c5fe520303180f26f0ad6409cfc0b9")
+ version("1.13.1", sha256="8e6eed38c4a39aa4cbf7d5d3734f0eecbfc030182f1f9b3be470702f2586d30e")
+ version("1.12.1", sha256="db3c8e0a495e6e9da6a7436adab905468aedfbd4579ee3da5232a5c111ba642c")
+ version("1.12.0", sha256="ca98785fe25e68a26c61e272be64a1efeea37e61b0dcebd34ccfd381bda7d9cc")
+ version("1.11.2", sha256="ff2ba821b55a54855d327e6f6fb8a14312c9c9ca7c873525b6a246d8f974d7da")
+ version("1.11.1", sha256="a72a7dac6322bed09ef1af33bcade3024ca5847a1e9c8fa369da6ab879111fe7")
+ version("1.11.0", sha256="9938abf628e7ea8dcf60a94a4b62d499fbc0dbc6733478b6db2e6a373c80d58f")
+ version("1.10.1", sha256="889fa8c99eed1ff2a5fd6faf6d5222f2cf38476b24f3b764f2cbb5900fee8284")
+ version("1.10.0", sha256="c1ef6e9cd6dafec3f003d2f78f0f3a25f055a7a791e98b5a0db1e4c5036e40f6")
+ version("1.9.1", sha256="c305c6035c992523e08c7591a6a3707225ba3e72de40443eaed837a10df6771a")
+ version("1.9.0", sha256="559bfb7376c38253c936d0b104591c3394880376d676894895706c4f5f88597c")
+ version("1.8.1", sha256="3c560b997f9eafd89f961dd8e8a29a81aad3e39aee888e3f3822da419047dc88")
+ version("1.8.0", sha256="c4763383a96af4af52cd81b3b094227f5cf8e91662f861670965994539b7ee37")
+ version("1.7.1", sha256="f4e9cc48319763cff4943de96bf527b737c9f1d6ac3088b8b5c75d07bd719569")
+ version("1.7.0", sha256="b3dd9cc0fa36fe8c3b9997ba279ec831a905704816c25fe3c4c09fc7eeceaac4")
+ version("1.6.2", sha256="ec63f61f5e529964ef65fd101627d8782c0efc2b88b3d5fc7f0bfd2c1e95ab2c")
+ version("1.6.1", sha256="33215a91450e2234ebdc7c467f041b6757f76f5ba926425e89d80c27b3fd7da2")
+ version("1.6.0", sha256="b3ce7bd655052ea4da7bf01a3177d96d94e5f41b3fd6011ac43f50fcb2dc7581")
+ version("1.5.3", sha256="f62a40da06f8951db267a59a4ee7363b6ee60a7abbc55cd5db6c8b067d93fa0c")
+ version("1.5.0", sha256="88a8ad6772f11d83e5b6f7152a908ffcb237af273a74a1bd1cb4202f577f1f23")
+ version("1.4.2", sha256="5d027d7e4e34cb62508803e51d6bd2f477932ad68948996429df2bfff37ca2a5")
+
+ fabrics = (
+ "efa",
+ "gni",
+ "mlx",
+ "mrail",
+ "psm",
+ "psm2",
+ "psm3",
+ "rxm",
+ "rxd",
+ "shm",
+ "sockets",
+ "tcp",
+ "udp",
+ "usnic",
+ "verbs",
+ "xpmem",
+ )
+
+ variant(
+ "fabrics",
+ default="sockets,tcp,udp",
+ description="A list of enabled fabrics",
+ values=fabrics,
+ multi=True,
+ )
# NOTE: the 'kdreg' variant enables use of the special /dev/kdreg file to
# assist in memory registration caching in the GNI provider. This
# device file can only be opened once per process, however, and thus it
# frequently conflicts with MPI.
- variant('kdreg', default=False,
- description='Enable kdreg on supported Cray platforms')
+ variant("kdreg", default=False, description="Enable kdreg on supported Cray platforms")
- variant('debug', default=False,
- description='Enable debugging')
+ variant("debug", default=False, description="Enable debugging")
# For version 1.9.0:
# headers: fix forward-declaration of enum fi_collective_op with C++
- patch('https://github.com/ofiwg/libfabric/commit/2e95b0efd85fa8a3d814128e34ec57ffd357460e.patch?full_index=1',
- sha256='456693e28bb1fc41a0bbb94b97ae054e7d28f81ca94795d7f294243da58c6376',
- when='@1.9.0')
+ patch(
+ "https://github.com/ofiwg/libfabric/commit/2e95b0efd85fa8a3d814128e34ec57ffd357460e.patch?full_index=1",
+ sha256="456693e28bb1fc41a0bbb94b97ae054e7d28f81ca94795d7f294243da58c6376",
+ when="@1.9.0",
+ )
# Fix for the inline assembly problem for the Nvidia compilers
# https://github.com/ofiwg/libfabric/pull/7665
- patch('nvhpc-symver.patch', when='@1.6.0:1.14.0 %nvhpc')
+ patch("nvhpc-symver.patch", when="@1.6.0:1.14.0 %nvhpc")
- depends_on('rdma-core', when='fabrics=verbs')
- depends_on('rdma-core', when='@1.10.0: fabrics=efa')
- depends_on('opa-psm2', when='fabrics=psm2')
- depends_on('psm', when='fabrics=psm')
- depends_on('ucx', when='fabrics=mlx')
+ depends_on("rdma-core", when="fabrics=verbs")
+ depends_on("rdma-core", when="@1.10.0: fabrics=efa")
+ depends_on("opa-psm2", when="fabrics=psm2")
+ depends_on("psm", when="fabrics=psm")
+ depends_on("ucx", when="fabrics=mlx")
- depends_on('m4', when='@develop', type='build')
- depends_on('autoconf', when='@develop', type='build')
- depends_on('automake', when='@develop', type='build')
- depends_on('libtool', when='@develop', type='build')
+ depends_on("m4", when="@develop", type="build")
+ depends_on("autoconf", when="@develop", type="build")
+ depends_on("automake", when="@develop", type="build")
+ depends_on("libtool", when="@develop", type="build")
- conflicts('@1.9.0', when='platform=darwin',
- msg='This distribution is missing critical files')
+ conflicts("@1.9.0", when="platform=darwin", msg="This distribution is missing critical files")
def setup_build_environment(self, env):
if self.run_tests:
- env.prepend_path('PATH', self.prefix.bin)
+ env.prepend_path("PATH", self.prefix.bin)
- @when('@develop')
+ @when("@develop")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def configure_args(self):
args = []
- args.extend(self.enable_or_disable('debug'))
+ args.extend(self.enable_or_disable("debug"))
- if '+kdreg' in self.spec:
- args.append('--with-kdreg=yes')
+ if "+kdreg" in self.spec:
+ args.append("--with-kdreg=yes")
else:
- args.append('--with-kdreg=no')
+ args.append("--with-kdreg=no")
for fabric in self.fabrics:
- if 'fabrics=' + fabric in self.spec:
- args.append('--enable-{0}=yes'.format(fabric))
+ if "fabrics=" + fabric in self.spec:
+ args.append("--enable-{0}=yes".format(fabric))
else:
- args.append('--enable-{0}=no'.format(fabric))
+ args.append("--enable-{0}=no".format(fabric))
return args
diff --git a/var/spack/repos/builtin/packages/libfastcommon/package.py b/var/spack/repos/builtin/packages/libfastcommon/package.py
index 4f8d5165a3..e13be6366c 100644
--- a/var/spack/repos/builtin/packages/libfastcommon/package.py
+++ b/var/spack/repos/builtin/packages/libfastcommon/package.py
@@ -16,16 +16,16 @@ class Libfastcommon(Package):
"""
homepage = "https://github.com/happyfish100/libfastcommon"
- url = "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz"
+ url = "https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz"
- version('1.0.43', sha256='05425aed8e6bc7ba283abba4e1bb500cc7f8c873c35bb86712d7123144a37b4c')
- version('1.0.42', sha256='653c781b8e19a53f69aa8b1d823a832270e310438385f4c176a337304c03bc52')
- version('1.0.41', sha256='23cc5900bdf82fe907084deaf4e36a4f1857ac2a7378a2999a6c806bd3b22562')
- version('1.0.40', sha256='ebb89a1bfeb5b140f596fd3e2a0ff202420be05a4d80ef67ddcfdbb248b9fef8')
- version('1.0.39', sha256='72ca36f83f3453564ca09d2d0c31354b868cf52ef5a24cfb15e66d0e505c90ac')
+ version("1.0.43", sha256="05425aed8e6bc7ba283abba4e1bb500cc7f8c873c35bb86712d7123144a37b4c")
+ version("1.0.42", sha256="653c781b8e19a53f69aa8b1d823a832270e310438385f4c176a337304c03bc52")
+ version("1.0.41", sha256="23cc5900bdf82fe907084deaf4e36a4f1857ac2a7378a2999a6c806bd3b22562")
+ version("1.0.40", sha256="ebb89a1bfeb5b140f596fd3e2a0ff202420be05a4d80ef67ddcfdbb248b9fef8")
+ version("1.0.39", sha256="72ca36f83f3453564ca09d2d0c31354b868cf52ef5a24cfb15e66d0e505c90ac")
def install(self, spec, prefix):
- sh = which('sh')
- sh('make.sh')
- sh('make.sh', 'install')
- install_tree('.', prefix)
+ sh = which("sh")
+ sh("make.sh")
+ sh("make.sh", "install")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/libfastjson/package.py b/var/spack/repos/builtin/packages/libfastjson/package.py
index 621ff9a223..3067ab9edc 100644
--- a/var/spack/repos/builtin/packages/libfastjson/package.py
+++ b/var/spack/repos/builtin/packages/libfastjson/package.py
@@ -10,13 +10,13 @@ class Libfastjson(AutotoolsPackage):
"""a fast json library for C."""
homepage = "https://github.com/rsyslog/libfastjson"
- url = "https://github.com/rsyslog/libfastjson/archive/v0.99.8.tar.gz"
+ url = "https://github.com/rsyslog/libfastjson/archive/v0.99.8.tar.gz"
- version('0.99.8', sha256='7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3')
- version('0.99.7', sha256='a142a6e5fa5c9c4ac32615c42fc663a1a14bff305c922e55192b6abf7d1ce1d8')
- version('0.99.6', sha256='617373e5205c84b5f674354df6ee9cba53ef8a227f0d1aa928666ed8a16d5547')
+ version("0.99.8", sha256="7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3")
+ version("0.99.7", sha256="a142a6e5fa5c9c4ac32615c42fc663a1a14bff305c922e55192b6abf7d1ce1d8")
+ version("0.99.6", sha256="617373e5205c84b5f674354df6ee9cba53ef8a227f0d1aa928666ed8a16d5547")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libffi/package.py b/var/spack/repos/builtin/packages/libffi/package.py
index 94f10d1c44..d181a76ef4 100644
--- a/var/spack/repos/builtin/packages/libffi/package.py
+++ b/var/spack/repos/builtin/packages/libffi/package.py
@@ -11,31 +11,40 @@ class Libffi(AutotoolsPackage):
interface to various calling conventions. This allows a programmer
to call any function specified by a call interface description at
run time."""
+
homepage = "https://sourceware.org/libffi/"
- url = "https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz"
+ url = "https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz"
- version('3.4.2', sha256='540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620')
- version('3.3', url='https://sourceware.org/pub/libffi/libffi-3.3.tar.gz', sha256='72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056')
- version('3.2.1', url='https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz', sha256='d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37')
+ version("3.4.2", sha256="540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620")
+ version(
+ "3.3",
+ url="https://sourceware.org/pub/libffi/libffi-3.3.tar.gz",
+ sha256="72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056",
+ )
+ version(
+ "3.2.1",
+ url="https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz",
+ sha256="d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37",
+ )
- patch('clang-powerpc-3.2.1.patch', when='@3.2.1%clang platform=linux')
+ patch("clang-powerpc-3.2.1.patch", when="@3.2.1%clang platform=linux")
# ref.: https://github.com/libffi/libffi/pull/561
- patch('powerpc-3.3.patch', when='@3.3')
+ patch("powerpc-3.3.patch", when="@3.3")
@property
def headers(self):
# The headers are probably in self.prefix.lib but we search everywhere
- return find_headers('ffi', self.prefix, recursive=True)
+ return find_headers("ffi", self.prefix, recursive=True)
def configure_args(self):
args = []
- if self.spec.version >= Version('3.3'):
+ if self.spec.version >= Version("3.3"):
# Spack adds its own target flags, so tell libffi not to
# second-guess us
- args.append('--without-gcc-arch')
+ args.append("--without-gcc-arch")
# At the moment, build scripts accept 'aarch64-apple-darwin'
# but not 'arm64-apple-darwin'.
# See: https://github.com/libffi/libffi/issues/571
- if self.spec.satisfies('platform=darwin target=aarch64:'):
- args.append('--build=aarch64-apple-darwin')
+ if self.spec.satisfies("platform=darwin target=aarch64:"):
+ args.append("--build=aarch64-apple-darwin")
return args
diff --git a/var/spack/repos/builtin/packages/libffs/package.py b/var/spack/repos/builtin/packages/libffs/package.py
index 6fdc1b6080..a209bd269b 100644
--- a/var/spack/repos/builtin/packages/libffs/package.py
+++ b/var/spack/repos/builtin/packages/libffs/package.py
@@ -15,30 +15,30 @@ class Libffs(CMakePackage):
"""
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"
+ url = "https://github.com/GTkorvo/ffs/archive/v1.1.tar.gz"
+ git = "https://github.com/GTkorvo/ffs.git"
- version('develop', branch='master')
- version('1.5', sha256='e1f3df42eb36fa35c5445887d679e26b7e3c9be697a07cd38e4ae824dbcd8ef8')
- version('1.1.1', sha256='9c3a82b3357e6ac255b65d4f45003dd270dea3ec0cd7a2aa40b59b3eab4bdb83')
- version('1.1', sha256='008fd87c5a6cb216cd757b4dc04057fc987b39b7a367623eb4cf0fd32a9fd81e')
+ version("develop", branch="master")
+ version("1.5", sha256="e1f3df42eb36fa35c5445887d679e26b7e3c9be697a07cd38e4ae824dbcd8ef8")
+ version("1.1.1", sha256="9c3a82b3357e6ac255b65d4f45003dd270dea3ec0cd7a2aa40b59b3eab4bdb83")
+ version("1.1", sha256="008fd87c5a6cb216cd757b4dc04057fc987b39b7a367623eb4cf0fd32a9fd81e")
- depends_on('flex', type='build', when='@:1.4')
- depends_on('bison', type='build', when='@:1.4')
- depends_on('gtkorvo-cercs-env', type='build', when='@:1.4')
- depends_on('gtkorvo-atl')
- depends_on('gtkorvo-dill')
+ depends_on("flex", type="build", when="@:1.4")
+ depends_on("bison", type="build", when="@:1.4")
+ depends_on("gtkorvo-cercs-env", type="build", when="@:1.4")
+ depends_on("gtkorvo-atl")
+ depends_on("gtkorvo-dill")
def cmake_args(self):
args = ["-DTARGET_CNL=1"]
- if self.spec.satisfies('@1.5:'):
+ if self.spec.satisfies("@1.5:"):
args.append("-DBUILD_SHARED_LIBS=OFF")
else:
args.append("-DENABLE_BUILD_STATIC=STATIC")
if self.run_tests:
- args.append('-DENABLE_TESTING=0')
+ args.append("-DENABLE_TESTING=0")
else:
- args.append('-DENABLE_TESTING=0')
+ args.append("-DENABLE_TESTING=0")
return args
diff --git a/var/spack/repos/builtin/packages/libfive/package.py b/var/spack/repos/builtin/packages/libfive/package.py
index ecc90524a0..7696c7bec3 100644
--- a/var/spack/repos/builtin/packages/libfive/package.py
+++ b/var/spack/repos/builtin/packages/libfive/package.py
@@ -11,39 +11,44 @@ class Libfive(CMakePackage):
"""libfive is a software library and set of tools for solid modeling."""
homepage = "https://libfive.com"
- git = "https://github.com/libfive/libfive.git"
+ git = "https://github.com/libfive/libfive.git"
# https://libfive.com/download/ recommends working from the master branch
# and currently, all tags are from 2017:
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('pkgconfig', type='build')
- depends_on('cmake@3.12:', type='build')
- depends_on('boost@1.65:')
+ depends_on("pkgconfig", type="build")
+ depends_on("cmake@3.12:", type="build")
+ depends_on("boost@1.65:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('eigen@3.3.0:')
- depends_on('libpng')
- depends_on('python@3:', when='+python', type=('link', 'run'))
- depends_on('guile@2.2.1:', when='+guile')
+ depends_on("eigen@3.3.0:")
+ depends_on("libpng")
+ depends_on("python@3:", when="+python", type=("link", "run"))
+ depends_on("guile@2.2.1:", when="+guile")
# In case build of future git master fails, check raising the minimum Qt version
- depends_on('qt@5.15.2:+opengl', when='+qt')
+ depends_on("qt@5.15.2:+opengl", when="+qt")
- variant('qt', default=True, description='Enable Studio UI(with Guile or Python)')
- variant('guile', default=True, description='Enable Guile support for Studio UI')
- variant('python', default=True, description='Enable Python support for Studio UI')
+ variant("qt", default=True, description="Enable Studio UI(with Guile or Python)")
+ variant("guile", default=True, description="Enable Guile support for Studio UI")
+ variant("python", default=True, description="Enable Python support for Studio UI")
- variant('packed_opcodes', default=False,
- description='packed opcodes breaks compatibility with saved f-reps!')
+ variant(
+ "packed_opcodes",
+ default=False,
+ description="packed opcodes breaks compatibility with saved f-reps!",
+ )
def cmake_args(self):
- if self.spec.satisfies('+qt~guile~python'):
- raise InstallError('The Qt-based Studio UI (+qt) needs +guile or +python!')
-
- return [self.define_from_variant('BUILD_STUDIO_APP', 'qt'),
- self.define_from_variant('BUILD_GUILE_BINDINGS', 'guile'),
- self.define_from_variant('BUILD_PYTHON_BINDINGS', 'python'),
- self.define_from_variant('LIBFIVE_PACKED_OPCODES', 'packed_opcodes')]
+ if self.spec.satisfies("+qt~guile~python"):
+ raise InstallError("The Qt-based Studio UI (+qt) needs +guile or +python!")
+
+ return [
+ self.define_from_variant("BUILD_STUDIO_APP", "qt"),
+ self.define_from_variant("BUILD_GUILE_BINDINGS", "guile"),
+ self.define_from_variant("BUILD_PYTHON_BINDINGS", "python"),
+ self.define_from_variant("LIBFIVE_PACKED_OPCODES", "packed_opcodes"),
+ ]
diff --git a/var/spack/repos/builtin/packages/libflame/package.py b/var/spack/repos/builtin/packages/libflame/package.py
index 7a9705e35c..ef26c72a96 100644
--- a/var/spack/repos/builtin/packages/libflame/package.py
+++ b/var/spack/repos/builtin/packages/libflame/package.py
@@ -10,26 +10,29 @@ class LibflameBase(AutotoolsPackage):
"""Base class for building Libflame, shared with the AMD
optimized version of the library in the 'libflame' package"""
- provides('lapack', when='+lapack2flame')
+ provides("lapack", when="+lapack2flame")
- variant('lapack2flame', default=True,
- description='Map legacy LAPACK routine invocations'
- ' to their corresponding native C implementations'
- ' in libflame.')
+ variant(
+ "lapack2flame",
+ default=True,
+ description="Map legacy LAPACK routine invocations"
+ " to their corresponding native C implementations"
+ " in libflame.",
+ )
- variant('threads', default='none',
- description='Multithreading support',
- values=('pthreads', 'openmp', 'none'),
- multi=False)
+ variant(
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("pthreads", "openmp", "none"),
+ multi=False,
+ )
- variant('static', default=True,
- description='Build static library')
+ variant("static", default=True, description="Build static library")
- variant('shared', default=True,
- description='Build shared library')
+ variant("shared", default=True, description="Build shared library")
- variant('debug', default=False,
- description='Build with debugging support')
+ variant("debug", default=False, description="Build with debugging support")
# TODO: Libflame prefers to defer to an external
# LAPACK library for small problems. Is this to be
@@ -37,61 +40,61 @@ class LibflameBase(AutotoolsPackage):
# Libflame has a secondary dependency on BLAS:
# https://github.com/flame/libflame/issues/24
- depends_on('blas')
+ depends_on("blas")
# There is a known issue with the makefile:
# https://groups.google.com/forum/#!topic/libflame-discuss/lQKEfjyudOY
- patch('Makefile_5.1.0.patch', when='@5.1.0')
+ patch("Makefile_5.1.0.patch", when="@5.1.0")
# Problems with permissions on installed libraries:
# https://github.com/flame/libflame/issues/24
- patch('Makefile_5.2.0.patch', when='@5.2.0')
+ patch("Makefile_5.2.0.patch", when="@5.2.0")
# Problems building on macOS:
# https://github.com/flame/libflame/issues/23
- patch('Makefile_5.2.0_darwin.patch', when='@5.2.0')
+ patch("Makefile_5.2.0_darwin.patch", when="@5.2.0")
def flag_handler(self, name, flags):
# -std=gnu99 at least required, old versions of GCC default to -std=c90
- if self.spec.satisfies('%gcc@:5.1') and name == 'cflags':
- flags.append('-std=gnu99')
+ if self.spec.satisfies("%gcc@:5.1") and name == "cflags":
+ flags.append("-std=gnu99")
return (flags, None, None)
def enable_or_disable_threads(self):
- opt_val = self.spec.variants['threads'].value
- if opt_val == 'none':
- opt_val = 'no'
- return ['--enable-multithreading={0}'.format(opt_val)]
+ opt_val = self.spec.variants["threads"].value
+ if opt_val == "none":
+ opt_val = "no"
+ return ["--enable-multithreading={0}".format(opt_val)]
def configure_args(self):
# Libflame has a secondary dependency on BLAS,
# but doesn't know which library name to expect:
# https://github.com/flame/libflame/issues/24
- config_args = ['LIBS=' + self.spec['blas'].libs.link_flags]
+ config_args = ["LIBS=" + self.spec["blas"].libs.link_flags]
- if '+lapack2flame' in self.spec:
+ if "+lapack2flame" in self.spec:
config_args.append("--enable-lapack2flame")
else:
config_args.append("--disable-lapack2flame")
- if '+static' in self.spec:
+ if "+static" in self.spec:
config_args.append("--enable-static-build")
else:
config_args.append("--disable-static-build")
- if '+shared' in self.spec:
+ if "+shared" in self.spec:
config_args.append("--enable-dynamic-build")
else:
config_args.append("--disable-dynamic-build")
- if '+debug' in self.spec:
+ if "+debug" in self.spec:
config_args.append("--enable-debug")
else:
config_args.append("--disable-debug")
config_args.extend(self.enable_or_disable_threads())
- if self.spec.variants['threads'].value != 'none':
+ if self.spec.variants["threads"].value != "none":
config_args.append("--enable-supermatrix")
else:
config_args.append("--disable-supermatrix")
@@ -99,15 +102,15 @@ class LibflameBase(AutotoolsPackage):
# https://github.com/flame/libflame/issues/21
config_args.append("--enable-max-arg-list-hack")
- if self.spec.satisfies('^blis'):
- config_args.append('LDFLAGS=-L{}'.format(self.spec['blis'].prefix.lib))
+ if self.spec.satisfies("^blis"):
+ config_args.append("LDFLAGS=-L{}".format(self.spec["blis"].prefix.lib))
return config_args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
@@ -124,11 +127,11 @@ class Libflame(LibflameBase):
url = "https://github.com/flame/libflame/archive/5.1.0.tar.gz"
git = "https://github.com/flame/libflame.git"
- version('master', branch='master')
- version('5.2.0', sha256='997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c')
- version('5.1.0', sha256='e7189b750890bd781fe773f366b374518dd1d89a6513d3d6261bf549826384d1')
+ version("master", branch="master")
+ version("5.2.0", sha256="997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c")
+ version("5.1.0", sha256="e7189b750890bd781fe773f366b374518dd1d89a6513d3d6261bf549826384d1")
- provides('flame@5.2', when='@5.2.0')
- provides('flame@5.1', when='@5.1.0')
+ provides("flame@5.2", when="@5.2.0")
+ provides("flame@5.1", when="@5.1.0")
- depends_on('python', type='build')
+ depends_on("python", type="build")
diff --git a/var/spack/repos/builtin/packages/libfms/package.py b/var/spack/repos/builtin/packages/libfms/package.py
index 354c11312d..97fd688766 100644
--- a/var/spack/repos/builtin/packages/libfms/package.py
+++ b/var/spack/repos/builtin/packages/libfms/package.py
@@ -12,48 +12,45 @@ class Libfms(CMakePackage):
homepage = "https://github.com/CEED/FMS"
git = "https://github.com/CEED/FMS.git"
- tags = ['FEM', 'Meshes', 'Fields', 'High-order', 'I/O', 'Data-exchange']
+ tags = ["FEM", "Meshes", "Fields", "High-order", "I/O", "Data-exchange"]
- maintainers = ['v-dobrev', 'tzanio', 'cwsmith']
+ maintainers = ["v-dobrev", "tzanio", "cwsmith"]
- version('develop', branch='master')
- version('0.2.0', tag='v0.2')
+ version("develop", branch="master")
+ version("0.2.0", tag="v0.2")
- variant('conduit', default=True,
- description='Build with Conduit I/O support')
- variant('shared', default=True,
- description='Build shared libraries')
+ variant("conduit", default=True, description="Build with Conduit I/O support")
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('cmake@3.1:', type='build')
- depends_on('conduit@0.7.1:', when='+conduit')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("conduit@0.7.1:", when="+conduit")
def cmake_args(self):
args = []
- args.extend([
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- ])
- if '+conduit' in self.spec:
- args.extend([
- self.define('CONDUIT_DIR', self.spec['conduit'].prefix)
- ])
+ args.extend(
+ [
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ ]
+ )
+ if "+conduit" in self.spec:
+ args.extend([self.define("CONDUIT_DIR", self.spec["conduit"].prefix)])
return args
@property
def headers(self):
"""Export the FMS headers.
- Sample usage: spec['libfms'].headers.cpp_flags
+ Sample usage: spec['libfms'].headers.cpp_flags
"""
- fms_h_names = ['fms', 'fmsio']
+ fms_h_names = ["fms", "fmsio"]
hdrs = find_headers(fms_h_names, self.prefix.include, recursive=False)
return hdrs or None # Raise an error if no headers are found
@property
def libs(self):
"""Export the FMS library.
- Sample usage: spec['libfms'].libs.ld_flags
+ Sample usage: spec['libfms'].libs.ld_flags
"""
- is_shared = '+shared' in self.spec
- libs = find_libraries('libfms', root=self.prefix, shared=is_shared,
- recursive=True)
+ is_shared = "+shared" in self.spec
+ libs = find_libraries("libfms", root=self.prefix, shared=is_shared, recursive=True)
return libs or None # Raise an error if no libs are found
diff --git a/var/spack/repos/builtin/packages/libfontenc/package.py b/var/spack/repos/builtin/packages/libfontenc/package.py
index 2d8af7c718..a0e53216e4 100644
--- a/var/spack/repos/builtin/packages/libfontenc/package.py
+++ b/var/spack/repos/builtin/packages/libfontenc/package.py
@@ -12,10 +12,10 @@ class Libfontenc(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libfontenc"
xorg_mirror_path = "lib/libfontenc-1.1.3.tar.gz"
- version('1.1.3', sha256='6fba26760ca8d5045f2b52ddf641c12cedc19ee30939c6478162b7db8b6220fb')
+ version("1.1.3", sha256="6fba26760ca8d5045f2b52ddf641c12cedc19ee30939c6478162b7db8b6220fb")
- depends_on('zlib')
+ depends_on("zlib")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libfs/package.py b/var/spack/repos/builtin/packages/libfs/package.py
index c1c80bbe1c..9c11c28dad 100644
--- a/var/spack/repos/builtin/packages/libfs/package.py
+++ b/var/spack/repos/builtin/packages/libfs/package.py
@@ -15,10 +15,10 @@ class Libfs(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libFS"
xorg_mirror_path = "lib/libFS-1.0.7.tar.gz"
- version('1.0.7', sha256='91bf1c5ce4115b7dbf4e314fdbee54052708e8f7b6a2ec6e82c309bcbe40ef3d')
+ version("1.0.7", sha256="91bf1c5ce4115b7dbf4e314fdbee54052708e8f7b6a2ec6e82c309bcbe40ef3d")
- depends_on('xproto@7.0.17:')
- depends_on('fontsproto')
- depends_on('xtrans')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("fontsproto")
+ depends_on("xtrans")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libfuse/package.py b/var/spack/repos/builtin/packages/libfuse/package.py
index a705cc1753..bea4f2df72 100644
--- a/var/spack/repos/builtin/packages/libfuse/package.py
+++ b/var/spack/repos/builtin/packages/libfuse/package.py
@@ -14,89 +14,120 @@ class Libfuse(MesonPackage):
Userspace) interface"""
homepage = "https://github.com/libfuse/libfuse"
- url = "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz"
-
- version('3.11.0', sha256='25a00226d2d449c15b2f08467d6d5ebbb2a428260c4ab773721c32adbc6da072')
- version('3.10.5', sha256='e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6')
- version('3.10.4', sha256='bfcb2520fd83db29e9fefd57d3abd5285f38ad484739aeee8e03fbec9b2d984a')
- version('3.10.3', sha256='c32527782cef620df58b162aa29901d1fb13253b029375d5860a2253a810344e')
- version('3.10.2', sha256='a16f93cc083264afd0d2958a0dc88f24c6c5d40a9f3842c645b1909e13edb75f')
- version('3.10.1', sha256='d8954e7b4c022c651aa80db3bb4a161437dd285cd5f1a23d0e25f055dcebe00d')
- version('3.10.0', sha256='52bbb52035f7eeaa54d139e21805d357f848f6e02ac956831d04988165a92c7b')
- version('3.9.4', sha256='9e076ae757a09cac9ce1beb50b3361ae83a831e5abc0f1bf5cdf771cd1320338')
- version('3.9.3', sha256='0f8f7ad9cc6667c6751efa425dd0a665dcc9d75f0b7fc0cb5b85141a514110e9')
- version('3.9.2', sha256='b4409255cbda6f6975ca330f5b04cb335b823a95ddd8c812c3d224ec53478fc0')
- version('2.9.9', sha256='d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5')
+ url = "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz"
+
+ version("3.11.0", sha256="25a00226d2d449c15b2f08467d6d5ebbb2a428260c4ab773721c32adbc6da072")
+ version("3.10.5", sha256="e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6")
+ version("3.10.4", sha256="bfcb2520fd83db29e9fefd57d3abd5285f38ad484739aeee8e03fbec9b2d984a")
+ version("3.10.3", sha256="c32527782cef620df58b162aa29901d1fb13253b029375d5860a2253a810344e")
+ version("3.10.2", sha256="a16f93cc083264afd0d2958a0dc88f24c6c5d40a9f3842c645b1909e13edb75f")
+ version("3.10.1", sha256="d8954e7b4c022c651aa80db3bb4a161437dd285cd5f1a23d0e25f055dcebe00d")
+ version("3.10.0", sha256="52bbb52035f7eeaa54d139e21805d357f848f6e02ac956831d04988165a92c7b")
+ version("3.9.4", sha256="9e076ae757a09cac9ce1beb50b3361ae83a831e5abc0f1bf5cdf771cd1320338")
+ version("3.9.3", sha256="0f8f7ad9cc6667c6751efa425dd0a665dcc9d75f0b7fc0cb5b85141a514110e9")
+ version("3.9.2", sha256="b4409255cbda6f6975ca330f5b04cb335b823a95ddd8c812c3d224ec53478fc0")
+ version("2.9.9", sha256="d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5")
def url_for_version(self, version):
if version < Version("3.0.0"):
- return "https://github.com/libfuse/libfuse/releases/download/fuse-{0}/fuse-{1}.tar.gz".format(version, version)
- return "https://github.com/libfuse/libfuse/archive/refs/tags/fuse-{0}.tar.gz".format(version)
-
- variant('useroot', when='+utils', default=False, description="Use root privileges to make fusermount a setuid binary after installation")
- variant('system_install', when='+utils', default=False, description=(
- "Do not run the post-install script "
- "which typically sets up udev rules and "
- "and init script in /etc/init.d"))
- variant('utils', default=True, description='Build and install helper and example programs.')
-
- depends_on('autoconf', type='build', when='@:2')
- depends_on('automake', type='build', when='@:2')
- depends_on('libtool', type='build', when='@:2')
- depends_on('gettext', type='build', when='@:2')
-
- provides('fuse')
- conflicts("+useroot", when='~system_install', msg="useroot requires system_install")
- conflicts('platform=darwin', msg='libfuse does not support OS-X, use macfuse instead')
+ return "https://github.com/libfuse/libfuse/releases/download/fuse-{0}/fuse-{1}.tar.gz".format(
+ version, version
+ )
+ return "https://github.com/libfuse/libfuse/archive/refs/tags/fuse-{0}.tar.gz".format(
+ version
+ )
+
+ variant(
+ "useroot",
+ when="+utils",
+ default=False,
+ description="Use root privileges to make fusermount a setuid binary after installation",
+ )
+ variant(
+ "system_install",
+ when="+utils",
+ default=False,
+ description=(
+ "Do not run the post-install script "
+ "which typically sets up udev rules and "
+ "and init script in /etc/init.d"
+ ),
+ )
+ variant("utils", default=True, description="Build and install helper and example programs.")
+
+ depends_on("autoconf", type="build", when="@:2")
+ depends_on("automake", type="build", when="@:2")
+ depends_on("libtool", type="build", when="@:2")
+ depends_on("gettext", type="build", when="@:2")
+
+ provides("fuse")
+ conflicts("+useroot", when="~system_install", msg="useroot requires system_install")
+ conflicts("platform=darwin", msg="libfuse does not support OS-X, use macfuse instead")
# Drops the install script which does system configuration
- patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
- patch('https://src.fedoraproject.org/rpms/fuse3/raw/0519b7bf17c4dd1b31ee704d49f8ed94aa5ba6ab/f/fuse3-gcc11.patch', sha256='3ad6719d2393b46615b5787e71778917a7a6aaa189ba3c3e0fc16d110a8414ec', when='@3: %gcc@11:')
-
- patch('https://github.com/libfuse/libfuse/commit/6d55007027dfe7b75a74899f497f075046cc5404.patch?full_index=1', sha256='2e265d31628175ce9dcea1ca2e423fdbed9469e2ace6b24a7fe7a72cb54b1da9', when='@:2')
- patch('https://github.com/libfuse/libfuse/commit/5d38afc8a5b4a2a6e27aad7a1840046e99cd826d.patch?full_index=1', sha256='6b7ea8451d29944adb2fdc1bd119c93e74fe54431b1315f148a071015343ec1a', when='@:2')
+ patch("0001-Do-not-run-install-script.patch", when="@3: ~system_install")
+ patch(
+ "https://src.fedoraproject.org/rpms/fuse3/raw/0519b7bf17c4dd1b31ee704d49f8ed94aa5ba6ab/f/fuse3-gcc11.patch",
+ sha256="3ad6719d2393b46615b5787e71778917a7a6aaa189ba3c3e0fc16d110a8414ec",
+ when="@3: %gcc@11:",
+ )
+
+ patch(
+ "https://github.com/libfuse/libfuse/commit/6d55007027dfe7b75a74899f497f075046cc5404.patch?full_index=1",
+ sha256="2e265d31628175ce9dcea1ca2e423fdbed9469e2ace6b24a7fe7a72cb54b1da9",
+ when="@:2",
+ )
+ patch(
+ "https://github.com/libfuse/libfuse/commit/5d38afc8a5b4a2a6e27aad7a1840046e99cd826d.patch?full_index=1",
+ sha256="6b7ea8451d29944adb2fdc1bd119c93e74fe54431b1315f148a071015343ec1a",
+ when="@:2",
+ )
# https://bugs.gentoo.org/803923
- patch('https://github.com/libfuse/libfuse/commit/5a43d0f724c56f8836f3f92411e0de1b5f82db32.patch?full_index=1', sha256='94d5c6d9785471147506851b023cb111ef2081d1c0e695728037bbf4f64ce30a', when='@:2')
+ patch(
+ "https://github.com/libfuse/libfuse/commit/5a43d0f724c56f8836f3f92411e0de1b5f82db32.patch?full_index=1",
+ sha256="94d5c6d9785471147506851b023cb111ef2081d1c0e695728037bbf4f64ce30a",
+ when="@:2",
+ )
- executables = ['^fusermount3?$']
+ executables = ["^fusermount3?$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'^fusermount.*version: (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"^fusermount.*version: (\S+)", output)
return match.group(1) if match else None
def meson_args(self):
args = []
- if '+utils' in self.spec:
- args.append('-Dutils=true')
- args.append('-Dexamples=true')
+ if "+utils" in self.spec:
+ args.append("-Dutils=true")
+ args.append("-Dexamples=true")
else:
- args.append('-Dutils=false')
- args.append('-Dexamples=false')
+ args.append("-Dutils=false")
+ args.append("-Dexamples=false")
- if '+useroot' in self.spec:
- args.append('-Duseroot=true')
+ if "+useroot" in self.spec:
+ args.append("-Duseroot=true")
else:
- args.append('-Duseroot=false')
+ args.append("-Duseroot=false")
- if '~system_install' in self.spec:
+ if "~system_install" in self.spec:
# Fix meson's setup if meson does not have the host system's udev package:
- args.append('-Dudevrulesdir={0}'.format(self.prefix.etc.rules.d))
+ args.append("-Dudevrulesdir={0}".format(self.prefix.etc.rules.d))
else:
# Likewise, but with +system_install, it may install to /lib/udev/rules.d:
- args.append('-Dudevrulesdir={0}'.format('/lib/udev/rules.d'))
+ args.append("-Dudevrulesdir={0}".format("/lib/udev/rules.d"))
return args
# Before libfuse 3.x this was an autotools package
- @when('@:2')
+ @when("@:2")
def meson(self, spec, prefix):
- ar_args = ['-ivf']
- for dep in self.spec.dependencies(deptype='build'):
+ ar_args = ["-ivf"]
+ for dep in self.spec.dependencies(deptype="build"):
if os.path.exists(dep.prefix.share.aclocal):
- ar_args.extend(['-I', dep.prefix.share.aclocal])
+ ar_args.extend(["-I", dep.prefix.share.aclocal])
autoreconf(*ar_args)
args = [
@@ -106,17 +137,19 @@ class Libfuse(MesonPackage):
"INIT_D_PATH={0}".format(self.prefix.etc),
]
- args.append('--enable-static' if 'default_library=static' in self.spec
- else '--disable-static')
- args.append('--enable-shared' if 'default_library=shared' in self.spec
- else '--disable-shared')
+ args.append(
+ "--enable-static" if "default_library=static" in self.spec else "--disable-static"
+ )
+ args.append(
+ "--enable-shared" if "default_library=shared" in self.spec else "--disable-shared"
+ )
configure(*args)
- @when('@:2')
+ @when("@:2")
def build(self, spec, prefix):
make()
- @when('@:2')
+ @when("@:2")
def install(self, spec, prefix):
make("install")
diff --git a/var/spack/repos/builtin/packages/libfyaml/package.py b/var/spack/repos/builtin/packages/libfyaml/package.py
index 2e0aaa6c1a..fa4225151e 100644
--- a/var/spack/repos/builtin/packages/libfyaml/package.py
+++ b/var/spack/repos/builtin/packages/libfyaml/package.py
@@ -11,9 +11,9 @@ class Libfyaml(AutotoolsPackage):
YAML spec and passing the full YAML testsuite."""
homepage = "https://github.com/pantoniou/libfyaml"
- url = "https://github.com/pantoniou/libfyaml/releases/download/v0.5.7/libfyaml-0.5.7.tar.gz"
+ url = "https://github.com/pantoniou/libfyaml/releases/download/v0.5.7/libfyaml-0.5.7.tar.gz"
- version('0.7.12', sha256='485342c6920e9fdc2addfe75e5c3e0381793f18b339ab7393c1b6edf78bf8ca8')
- version('0.5.7', sha256='3221f31bb3feba97e544a82d0d5e4711ff0e4101cca63923dc5a1a001c187590')
+ version("0.7.12", sha256="485342c6920e9fdc2addfe75e5c3e0381793f18b339ab7393c1b6edf78bf8ca8")
+ version("0.5.7", sha256="3221f31bb3feba97e544a82d0d5e4711ff0e4101cca63923dc5a1a001c187590")
- depends_on('m4', type='build')
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libgain/package.py b/var/spack/repos/builtin/packages/libgain/package.py
index c796dd5f98..db35b050ed 100644
--- a/var/spack/repos/builtin/packages/libgain/package.py
+++ b/var/spack/repos/builtin/packages/libgain/package.py
@@ -8,18 +8,19 @@ from spack.package import *
class Libgain(AutotoolsPackage):
"""GaIn is intended to provide routines with a relatively simple interface
- for calculation of overlap, kinetic and 2,3 and 4 center Coulomb integrals
- over either Solid or Cubic Harmonics Gaussian basis sets."""
+ for calculation of overlap, kinetic and 2,3 and 4 center Coulomb integrals
+ over either Solid or Cubic Harmonics Gaussian basis sets."""
homepage = "https://bigdft.org/"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
- version('1.0.0', sha256='3e02637433272f5edfee74ea47abf93ab7e3f1ce717664d22329468a5bd45c3a',
- url="https://gitlab.com/l_sim/bigdft-suite/-/raw/1.9.1/GaIn-1.0.tar.gz")
+ version(
+ "1.0.0",
+ sha256="3e02637433272f5edfee74ea47abf93ab7e3f1ce717664d22329468a5bd45c3a",
+ url="https://gitlab.com/l_sim/bigdft-suite/-/raw/1.9.1/GaIn-1.0.tar.gz",
+ )
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- 'libGaIn', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libGaIn", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libgcrypt/package.py b/var/spack/repos/builtin/packages/libgcrypt/package.py
index 581000a5a4..e7798429f6 100644
--- a/var/spack/repos/builtin/packages/libgcrypt/package.py
+++ b/var/spack/repos/builtin/packages/libgcrypt/package.py
@@ -10,37 +10,36 @@ class Libgcrypt(AutotoolsPackage):
"""Cryptographic library based on the code from GnuPG."""
homepage = "https://gnupg.org/software/libgcrypt/index.html"
- url = "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2"
-
- maintainers = ['alalazo']
-
- version('1.10.1', sha256='ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de')
- version('1.10.0', sha256='6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81')
- version('1.9.4', sha256='ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7')
- version('1.9.3', sha256='97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd')
- version('1.9.2', sha256='b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a')
- version('1.9.1', sha256='c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9')
- version('1.8.7', sha256='03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748')
- version('1.8.6', sha256='0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975')
- version('1.8.5', sha256='3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3')
- version('1.8.4', sha256='f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227')
- version('1.8.1', sha256='7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3')
- version('1.7.6', sha256='626aafee84af9d2ce253d2c143dc1c0902dda045780cc241f39970fc60be05bc')
- version('1.6.2', sha256='de084492a6b38cdb27b67eaf749ceba76bf7029f63a9c0c3c1b05c88c9885c4c')
-
- depends_on('libgpg-error@1.25:')
+ url = "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2"
+
+ maintainers = ["alalazo"]
+
+ version("1.10.1", sha256="ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de")
+ version("1.10.0", sha256="6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81")
+ version("1.9.4", sha256="ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7")
+ version("1.9.3", sha256="97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd")
+ version("1.9.2", sha256="b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a")
+ version("1.9.1", sha256="c5a67a8b9b2bd370fb415ed1ee31c7172e5683076493cf4a3678a0fbdf0265d9")
+ version("1.8.7", sha256="03b70f028299561b7034b8966d7dd77ef16ed139c43440925fe8782561974748")
+ version("1.8.6", sha256="0cba2700617b99fc33864a0c16b1fa7fdf9781d9ed3509f5d767178e5fd7b975")
+ version("1.8.5", sha256="3b4a2a94cb637eff5bdebbcaf46f4d95c4f25206f459809339cdada0eb577ac3")
+ version("1.8.4", sha256="f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227")
+ version("1.8.1", sha256="7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3")
+ version("1.7.6", sha256="626aafee84af9d2ce253d2c143dc1c0902dda045780cc241f39970fc60be05bc")
+ version("1.6.2", sha256="de084492a6b38cdb27b67eaf749ceba76bf7029f63a9c0c3c1b05c88c9885c4c")
+
+ depends_on("libgpg-error@1.25:")
def check(self):
# Without this hack, `make check` fails on macOS when SIP is enabled
# https://bugs.gnupg.org/gnupg/issue2056
# https://github.com/Homebrew/homebrew-core/pull/3004
- if self.spec.satisfies('platform=darwin'):
- old = self.prefix.lib.join('libgcrypt.20.dylib')
- new = join_path(
- self.stage.source_path, 'src', '.libs', 'libgcrypt.20.dylib')
- filename = 'tests/.libs/random'
+ if self.spec.satisfies("platform=darwin"):
+ old = self.prefix.lib.join("libgcrypt.20.dylib")
+ new = join_path(self.stage.source_path, "src", ".libs", "libgcrypt.20.dylib")
+ filename = "tests/.libs/random"
- install_name_tool = Executable('install_name_tool')
- install_name_tool('-change', old, new, filename)
+ install_name_tool = Executable("install_name_tool")
+ install_name_tool("-change", old, new, filename)
- make('check')
+ make("check")
diff --git a/var/spack/repos/builtin/packages/libgd/package.py b/var/spack/repos/builtin/packages/libgd/package.py
index 6e873f4805..297d4f663f 100644
--- a/var/spack/repos/builtin/packages/libgd/package.py
+++ b/var/spack/repos/builtin/packages/libgd/package.py
@@ -9,39 +9,39 @@ from spack.package import *
class Libgd(AutotoolsPackage):
"""GD is an open source code library for the dynamic creation of images
- by programmers. GD is written in C, and "wrappers" are available
- for Perl, PHP and other languages. GD creates PNG, JPEG, GIF,
- WebP, XPM, BMP images, among other formats. GD is commonly used to
- generate charts, graphics, thumbnails, and most anything else, on
- the fly. While not restricted to use on the web, the most common
- applications of GD involve website development.
+ by programmers. GD is written in C, and "wrappers" are available
+ for Perl, PHP and other languages. GD creates PNG, JPEG, GIF,
+ WebP, XPM, BMP images, among other formats. GD is commonly used to
+ generate charts, graphics, thumbnails, and most anything else, on
+ the fly. While not restricted to use on the web, the most common
+ applications of GD involve website development.
"""
homepage = "https://github.com/libgd/libgd"
- url = 'https://github.com/libgd/libgd/releases/download/gd-2.2.4/libgd-2.2.4.tar.gz'
+ url = "https://github.com/libgd/libgd/releases/download/gd-2.2.4/libgd-2.2.4.tar.gz"
- version('2.2.4', sha256='487a650aa614217ed08ab1bd1aa5d282f9d379cfd95c756aed0b43406381be65')
+ version("2.2.4", sha256="487a650aa614217ed08ab1bd1aa5d282f9d379cfd95c756aed0b43406381be65")
# Build dependencies
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
-
- depends_on('iconv')
- depends_on('libpng')
- depends_on('jpeg')
- depends_on('libtiff')
- depends_on('fontconfig')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
+
+ depends_on("iconv")
+ depends_on("libpng")
+ depends_on("jpeg")
+ depends_on("libtiff")
+ depends_on("fontconfig")
def patch(self):
- p = self.spec['jpeg'].libs.search_flags
+ p = self.spec["jpeg"].libs.search_flags
filter_file(
'LIBJPEG_LIBS " -ljpeg"',
'LIBJPEG_LIBS "{0} -ljpeg"'.format(p),
- 'configure',
- string=True
+ "configure",
+ string=True,
)
diff --git a/var/spack/repos/builtin/packages/libgeotiff/package.py b/var/spack/repos/builtin/packages/libgeotiff/package.py
index f94b997362..e6782ea864 100644
--- a/var/spack/repos/builtin/packages/libgeotiff/package.py
+++ b/var/spack/repos/builtin/packages/libgeotiff/package.py
@@ -13,60 +13,65 @@ class Libgeotiff(AutotoolsPackage):
"""
homepage = "https://trac.osgeo.org/geotiff/"
- url = "https://download.osgeo.org/geotiff/libgeotiff/libgeotiff-1.6.0.tar.gz"
+ url = "https://download.osgeo.org/geotiff/libgeotiff/libgeotiff-1.6.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.6.0', sha256='9311017e5284cffb86f2c7b7a9df1fb5ebcdc61c30468fb2e6bca36e4272ebca')
- version('1.5.1', sha256='f9e99733c170d11052f562bcd2c7cb4de53ed405f7acdde4f16195cd3ead612c')
- version('1.5.0', sha256='1c0bef329c60f770ed128e8b273945100f1a4b5abd161ac61e93bc947b0624dd')
- version('1.4.3', sha256='b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265')
- version('1.4.2', sha256='ad87048adb91167b07f34974a8e53e4ec356494c29f1748de95252e8f81a5e6e')
+ version("1.6.0", sha256="9311017e5284cffb86f2c7b7a9df1fb5ebcdc61c30468fb2e6bca36e4272ebca")
+ version("1.5.1", sha256="f9e99733c170d11052f562bcd2c7cb4de53ed405f7acdde4f16195cd3ead612c")
+ version("1.5.0", sha256="1c0bef329c60f770ed128e8b273945100f1a4b5abd161ac61e93bc947b0624dd")
+ version("1.4.3", sha256="b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265")
+ version("1.4.2", sha256="ad87048adb91167b07f34974a8e53e4ec356494c29f1748de95252e8f81a5e6e")
- variant('zlib', default=True, description='Include zlib support')
- variant('jpeg', default=True, description='Include jpeg support')
- variant('proj', default=True, description='Use PROJ.x library')
+ variant("zlib", default=True, description="Include zlib support")
+ variant("jpeg", default=True, description="Include jpeg support")
+ variant("proj", default=True, description="Use PROJ.x library")
- depends_on('zlib', when='+zlib')
- depends_on('jpeg', when='+jpeg')
- depends_on('libtiff')
- depends_on('proj', when='+proj')
- depends_on('proj@:5', when='@:1.4+proj')
- depends_on('proj@6:', when='@1.5:+proj')
+ depends_on("zlib", when="+zlib")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libtiff")
+ depends_on("proj", when="+proj")
+ depends_on("proj@:5", when="@:1.4+proj")
+ depends_on("proj@6:", when="@1.5:+proj")
# Patches required to fix rounding issues in unit tests
# https://github.com/OSGeo/libgeotiff/issues/16
- patch('https://github.com/OSGeo/libgeotiff/commit/7cb9b68ea72fb2a6023bb98796fd3ba6dc7b64a1.patch?full_index=1',
- sha256='bae1441ba8cd1d4e94b8d6a080db64b768dd537faa7e2fb8c04133f68e71d304',
- level=2, when='@1.5.0:1.5.1')
- patch('https://github.com/OSGeo/libgeotiff/commit/4b41ca6ce332f0c21504c2da3da850275d9da5ae.patch?full_index=1',
- sha256='b368cdf5755f2ddf69d974bf86691440dcc861c41d86280780626f5a31f33b13',
- level=2, when='@1.5.0:1.5.1')
+ patch(
+ "https://github.com/OSGeo/libgeotiff/commit/7cb9b68ea72fb2a6023bb98796fd3ba6dc7b64a1.patch?full_index=1",
+ sha256="bae1441ba8cd1d4e94b8d6a080db64b768dd537faa7e2fb8c04133f68e71d304",
+ level=2,
+ when="@1.5.0:1.5.1",
+ )
+ patch(
+ "https://github.com/OSGeo/libgeotiff/commit/4b41ca6ce332f0c21504c2da3da850275d9da5ae.patch?full_index=1",
+ sha256="b368cdf5755f2ddf69d974bf86691440dcc861c41d86280780626f5a31f33b13",
+ level=2,
+ when="@1.5.0:1.5.1",
+ )
# Patch required to fix absolute path issue in unit tests
# https://github.com/OSGeo/libgeotiff/issues/16
- patch('a76c686441398669422cb728411abd2dec358f7f.patch',
- level=2, when='@1.5.0:1.5.1')
+ patch("a76c686441398669422cb728411abd2dec358f7f.patch", level=2, when="@1.5.0:1.5.1")
def configure_args(self):
spec = self.spec
args = [
- '--with-libtiff={0}'.format(spec['libtiff'].prefix),
+ "--with-libtiff={0}".format(spec["libtiff"].prefix),
]
- if '+zlib' in spec:
- args.append('--with-zlib={0}'.format(spec['zlib'].prefix))
+ if "+zlib" in spec:
+ args.append("--with-zlib={0}".format(spec["zlib"].prefix))
else:
- args.append('--with-zlib=no')
+ args.append("--with-zlib=no")
- if '+jpeg' in spec:
- args.append('--with-jpeg={0}'.format(spec['jpeg'].prefix))
+ if "+jpeg" in spec:
+ args.append("--with-jpeg={0}".format(spec["jpeg"].prefix))
else:
- args.append('--with-jpeg=no')
+ args.append("--with-jpeg=no")
- if '+proj' in spec:
- args.append('--with-proj={0}'.format(spec['proj'].prefix))
+ if "+proj" in spec:
+ args.append("--with-proj={0}".format(spec["proj"].prefix))
else:
- args.append('--with-proj=no')
+ args.append("--with-proj=no")
return args
diff --git a/var/spack/repos/builtin/packages/libgff/package.py b/var/spack/repos/builtin/packages/libgff/package.py
index 9bfc39bac5..d1347f1fbc 100644
--- a/var/spack/repos/builtin/packages/libgff/package.py
+++ b/var/spack/repos/builtin/packages/libgff/package.py
@@ -11,9 +11,9 @@ class Libgff(CMakePackage):
a heavyweight dependency."""
homepage = "https://github.com/COMBINE-lab/libgff/"
- url = "https://github.com/COMBINE-lab/libgff/archive/v2.0.0.tar.gz"
+ url = "https://github.com/COMBINE-lab/libgff/archive/v2.0.0.tar.gz"
# notify when the package is updated.
- maintainers = ['ajxander12']
+ maintainers = ["ajxander12"]
- version('2.0.0', sha256='7656b19459a7ca7d2fd0fcec4f2e0fd0deec1b4f39c703a114e8f4c22d82a99c')
+ version("2.0.0", sha256="7656b19459a7ca7d2fd0fcec4f2e0fd0deec1b4f39c703a114e8f4c22d82a99c")
diff --git a/var/spack/repos/builtin/packages/libgit2/package.py b/var/spack/repos/builtin/packages/libgit2/package.py
index 99df5cea6f..d16090f0f9 100644
--- a/var/spack/repos/builtin/packages/libgit2/package.py
+++ b/var/spack/repos/builtin/packages/libgit2/package.py
@@ -14,103 +14,106 @@ class Libgit2(CMakePackage):
"""
homepage = "https://libgit2.github.com/"
- url = "https://github.com/libgit2/libgit2/archive/v0.26.0.tar.gz"
+ url = "https://github.com/libgit2/libgit2/archive/v0.26.0.tar.gz"
maintainers = ["AndrewGaspar"]
- version('1.4.3', sha256='f48b961e463a9e4e7e7e58b21a0fb5a9b2a1d24d9ba4d15870a0c9b8ad965163')
- version('1.4.2', sha256='901c2b4492976b86477569502a41c31b274b69adc177149c02099ea88404ef19')
- version('1.4.1', sha256='fccd371a271133e29d002dd207490d22a0c9b06992b874b8edb8366532a94f54')
- version('1.4.0', sha256='9051e75964350054d5e3f9339bc4d1fb56ac14949710e3860f98f07a0433fa25')
- version('1.3.1', sha256='a2a0a90d577f1771ba9f7e98042865c3f6386c896eeefa846c3fc0c37ce7c6e0')
- version('1.3.0', sha256='192eeff84596ff09efb6b01835a066f2df7cd7985e0991c79595688e6b36444e')
- version('1.2.0', sha256='701a5086a968a46f25e631941b99fc23e4755ca2c56f59371ce1d94b9a0cc643')
- version('1.1.1', sha256='13a525373f64c711a00a058514d890d1512080265f98e0935ab279393f21a620')
- version('1.1.0', sha256='41a6d5d740fd608674c7db8685685f45535323e73e784062cf000a633d420d1e')
- version('1.0.1', sha256='1775427a6098f441ddbaa5bd4e9b8a043c7401e450ed761e69a415530fea81d2')
- version('1.0.0', sha256='6a1fa16a7f6335ce8b2630fbdbb5e57c4027929ebc56fcd1ac55edb141b409b4')
- version('0.99.0', sha256='174024310c1563097a6613a0d3f7539d11a9a86517cd67ce533849065de08a11')
- version('0.28.5', sha256='2b7b68aee6f123bc84cc502a9c12738435b8054e7d628962e091cd2a25be4f42')
- version('0.28.4', sha256='30f3877469d09f2e4a21be933b4e2800560d16646028dd800744dc5f7fb0c749')
- version('0.28.3', sha256='ee5344730fe11ce7c86646e19c2d257757be293f5a567548d398fb3af8b8e53b')
- version('0.28.2', sha256='42b5f1e9b9159d66d86fff0394215c5733b6ef8f9b9d054cdd8c73ad47177fc3')
- version('0.28.1', sha256='0ca11048795b0d6338f2e57717370208c2c97ad66c6d5eac0c97a8827d13936b')
- version('0.28.0', sha256='9d60d64dc77085e8e530e5c66314057eafe0c06e4a7a61149a70ff3e0688f284')
- version('0.27.10', sha256='f6fd26378ff71bd7a4b17b576c82c774a2e9c2d6b74b24718a8fb29551e1c4a5')
- version('0.27.9', sha256='adf17310b590e6e7618f070c742b5ee028aeeed2c60099bc4190c386b5060de1')
- version('0.27.8', sha256='8313873d49dc01e8b880ec334d7430ae67496a89aaa8c6e7bbd3affb47a00c76')
- version('0.27.7', sha256='1a5435a483759b1cd96feb12b11abb5231b0688016db506ce5947178f6ba2531')
- version('0.27.6', sha256='d98db2ed11ec82fee94dce4819b466524613852c2c9c3426d351c57729ec49da')
- version('0.27.5', sha256='15f2775f4f325951d9139ed906502b6c71fee6787cada9b045f5994072ccbd33')
- version('0.27.4', sha256='0b7ca31cb959ff1b22afa0da8621782afe61f99242bf716c403802ffbdb21d51')
- version('0.27.3', sha256='50a57bd91f57aa310fb7d5e2a340b3779dc17e67b4e7e66111feac5c2432f1a5')
- version('0.27.2', sha256='ffacdbd5588aeb03e98e3866a7e2ceace468723a439bdc9bb01362fe140fa9e5')
- version('0.27.1', sha256='837b11927bc5f64e7f9ab0376f57cfe3ca5aa52ffd2007ac41184b21124fb086')
- version('0.27.0', sha256='545b0458292c786aba334f1bf1c8f73600ae73dd7205a7bb791a187ee48ab8d2')
- version('0.26.8', sha256='0f20d7e239be030db33d7350bab38ada2830b3bffab5539730074e71b0267796')
- version('0.26.7', sha256='65584ac1f4de2c3ab8491351c8629eb68bad2d65e67f6411bf0333b8976dc4ef')
- version('0.26.6', sha256='7669dd47ebdab86ced8888816c552596ec923b6e126704a3445b2081cb0e5662')
- version('0.26.5', sha256='52e28a5166564bc4365a2e4112f5e5c6e334708dbf13596241b2fd34efc1b0a9')
- version('0.26.4', sha256='292fa2600bbb4e52641793cfcc1c19ffc0bf97b5fd8378d422a6bfe7afffcb97')
- version('0.26.3', sha256='0da4e211dfb63c22e5f43f2a4a5373e86a140afa88a25ca6ba3cc2cae58263d2')
- version('0.26.2', sha256='747b47d5b02a2387ff81301c694763785181b895690b6eb91ed1ae4b7904307b')
- version('0.26.1', sha256='68cd0f8ee9e0ca84dcf0f0267d0a8297471d3365622d22d3da67c57165bb0722')
- version('0.26.0', sha256='6a62393e0ceb37d02fe0d5707713f504e7acac9006ef33da1e88960bd78b6eac')
+ version("1.4.3", sha256="f48b961e463a9e4e7e7e58b21a0fb5a9b2a1d24d9ba4d15870a0c9b8ad965163")
+ version("1.4.2", sha256="901c2b4492976b86477569502a41c31b274b69adc177149c02099ea88404ef19")
+ version("1.4.1", sha256="fccd371a271133e29d002dd207490d22a0c9b06992b874b8edb8366532a94f54")
+ version("1.4.0", sha256="9051e75964350054d5e3f9339bc4d1fb56ac14949710e3860f98f07a0433fa25")
+ version("1.3.1", sha256="a2a0a90d577f1771ba9f7e98042865c3f6386c896eeefa846c3fc0c37ce7c6e0")
+ version("1.3.0", sha256="192eeff84596ff09efb6b01835a066f2df7cd7985e0991c79595688e6b36444e")
+ version("1.2.0", sha256="701a5086a968a46f25e631941b99fc23e4755ca2c56f59371ce1d94b9a0cc643")
+ version("1.1.1", sha256="13a525373f64c711a00a058514d890d1512080265f98e0935ab279393f21a620")
+ version("1.1.0", sha256="41a6d5d740fd608674c7db8685685f45535323e73e784062cf000a633d420d1e")
+ version("1.0.1", sha256="1775427a6098f441ddbaa5bd4e9b8a043c7401e450ed761e69a415530fea81d2")
+ version("1.0.0", sha256="6a1fa16a7f6335ce8b2630fbdbb5e57c4027929ebc56fcd1ac55edb141b409b4")
+ version("0.99.0", sha256="174024310c1563097a6613a0d3f7539d11a9a86517cd67ce533849065de08a11")
+ version("0.28.5", sha256="2b7b68aee6f123bc84cc502a9c12738435b8054e7d628962e091cd2a25be4f42")
+ version("0.28.4", sha256="30f3877469d09f2e4a21be933b4e2800560d16646028dd800744dc5f7fb0c749")
+ version("0.28.3", sha256="ee5344730fe11ce7c86646e19c2d257757be293f5a567548d398fb3af8b8e53b")
+ version("0.28.2", sha256="42b5f1e9b9159d66d86fff0394215c5733b6ef8f9b9d054cdd8c73ad47177fc3")
+ version("0.28.1", sha256="0ca11048795b0d6338f2e57717370208c2c97ad66c6d5eac0c97a8827d13936b")
+ version("0.28.0", sha256="9d60d64dc77085e8e530e5c66314057eafe0c06e4a7a61149a70ff3e0688f284")
+ version("0.27.10", sha256="f6fd26378ff71bd7a4b17b576c82c774a2e9c2d6b74b24718a8fb29551e1c4a5")
+ version("0.27.9", sha256="adf17310b590e6e7618f070c742b5ee028aeeed2c60099bc4190c386b5060de1")
+ version("0.27.8", sha256="8313873d49dc01e8b880ec334d7430ae67496a89aaa8c6e7bbd3affb47a00c76")
+ version("0.27.7", sha256="1a5435a483759b1cd96feb12b11abb5231b0688016db506ce5947178f6ba2531")
+ version("0.27.6", sha256="d98db2ed11ec82fee94dce4819b466524613852c2c9c3426d351c57729ec49da")
+ version("0.27.5", sha256="15f2775f4f325951d9139ed906502b6c71fee6787cada9b045f5994072ccbd33")
+ version("0.27.4", sha256="0b7ca31cb959ff1b22afa0da8621782afe61f99242bf716c403802ffbdb21d51")
+ version("0.27.3", sha256="50a57bd91f57aa310fb7d5e2a340b3779dc17e67b4e7e66111feac5c2432f1a5")
+ version("0.27.2", sha256="ffacdbd5588aeb03e98e3866a7e2ceace468723a439bdc9bb01362fe140fa9e5")
+ version("0.27.1", sha256="837b11927bc5f64e7f9ab0376f57cfe3ca5aa52ffd2007ac41184b21124fb086")
+ version("0.27.0", sha256="545b0458292c786aba334f1bf1c8f73600ae73dd7205a7bb791a187ee48ab8d2")
+ version("0.26.8", sha256="0f20d7e239be030db33d7350bab38ada2830b3bffab5539730074e71b0267796")
+ version("0.26.7", sha256="65584ac1f4de2c3ab8491351c8629eb68bad2d65e67f6411bf0333b8976dc4ef")
+ version("0.26.6", sha256="7669dd47ebdab86ced8888816c552596ec923b6e126704a3445b2081cb0e5662")
+ version("0.26.5", sha256="52e28a5166564bc4365a2e4112f5e5c6e334708dbf13596241b2fd34efc1b0a9")
+ version("0.26.4", sha256="292fa2600bbb4e52641793cfcc1c19ffc0bf97b5fd8378d422a6bfe7afffcb97")
+ version("0.26.3", sha256="0da4e211dfb63c22e5f43f2a4a5373e86a140afa88a25ca6ba3cc2cae58263d2")
+ version("0.26.2", sha256="747b47d5b02a2387ff81301c694763785181b895690b6eb91ed1ae4b7904307b")
+ version("0.26.1", sha256="68cd0f8ee9e0ca84dcf0f0267d0a8297471d3365622d22d3da67c57165bb0722")
+ version("0.26.0", sha256="6a62393e0ceb37d02fe0d5707713f504e7acac9006ef33da1e88960bd78b6eac")
# Backends
variant(
- 'https', default='system', description='HTTPS support',
- values=('system', 'openssl', 'none'), multi=False)
- variant('ssh', default=True, description='Enable SSH support')
- variant('curl', default=False, description='Enable libcurl support (only supported through v0.27)')
+ "https",
+ default="system",
+ description="HTTPS support",
+ values=("system", "openssl", "none"),
+ multi=False,
+ )
+ variant("ssh", default=True, description="Enable SSH support")
+ variant(
+ "curl", default=False, description="Enable libcurl support (only supported through v0.27)"
+ )
- variant('mmap', default=True, description='Enable mmap support', when='@1.1.1:')
+ variant("mmap", default=True, description="Enable mmap support", when="@1.1.1:")
# Build Dependencies
- depends_on('cmake@2.8:', type='build', when="@:0.28")
- depends_on('cmake@3.5:', type='build', when="@0.99:")
- depends_on('pkgconfig', type='build')
+ depends_on("cmake@2.8:", type="build", when="@:0.28")
+ depends_on("cmake@3.5:", type="build", when="@0.99:")
+ depends_on("pkgconfig", type="build")
# Runtime Dependencies
- depends_on('libssh2', when='+ssh')
- depends_on('openssl', when='https=system platform=linux')
- depends_on('openssl', when='https=system platform=cray')
- depends_on('openssl', when='https=openssl')
- depends_on('curl', when='+curl')
+ depends_on("libssh2", when="+ssh")
+ depends_on("openssl", when="https=system platform=linux")
+ depends_on("openssl", when="https=system platform=cray")
+ depends_on("openssl", when="https=openssl")
+ depends_on("curl", when="+curl")
- conflicts('+curl', when='@0.28:')
+ conflicts("+curl", when="@0.28:")
def flag_handler(self, name, flags):
- if name == 'cflags' and not self.spec.variants.get('mmap', False):
- flags.append('-DNO_MMAP')
+ if name == "cflags" and not self.spec.variants.get("mmap", False):
+ flags.append("-DNO_MMAP")
return (flags, None, None)
def cmake_args(self):
args = []
- if 'https=system' in self.spec:
- if 'platform=linux' in self.spec or 'platform=cray' in self.spec:
- args.append('-DUSE_HTTPS=OpenSSL')
- elif 'platform=darwin' in self.spec:
- args.append('-DUSE_HTTPS=SecureTransport')
+ if "https=system" in self.spec:
+ if "platform=linux" in self.spec or "platform=cray" in self.spec:
+ args.append("-DUSE_HTTPS=OpenSSL")
+ elif "platform=darwin" in self.spec:
+ args.append("-DUSE_HTTPS=SecureTransport")
else:
# Let CMake try to find an HTTPS implementation. Mileage on
# your platform may vary
- args.append('-DUSE_HTTPS=ON')
- elif 'https=openssl' in self.spec:
- args.append('-DUSE_HTTPS=OpenSSL')
+ args.append("-DUSE_HTTPS=ON")
+ elif "https=openssl" in self.spec:
+ args.append("-DUSE_HTTPS=OpenSSL")
else:
- args.append('-DUSE_HTTPS=OFF')
+ args.append("-DUSE_HTTPS=OFF")
- args.append(
- '-DUSE_SSH={0}'.format('ON' if '+ssh' in self.spec else 'OFF'))
+ args.append("-DUSE_SSH={0}".format("ON" if "+ssh" in self.spec else "OFF"))
# The curl backed is not supported after 0.27.x
- if '@:0.27 +curl' in self.spec:
- args.append(
- '-DCURL={0}'.format('ON' if '+curl' in self.spec else 'OFF'))
+ if "@:0.27 +curl" in self.spec:
+ args.append("-DCURL={0}".format("ON" if "+curl" in self.spec else "OFF"))
# Control tests
- args.append(
- self.define('BUILD_CLAR', self.run_tests))
+ args.append(self.define("BUILD_CLAR", self.run_tests))
return args
diff --git a/var/spack/repos/builtin/packages/libgpg-error/package.py b/var/spack/repos/builtin/packages/libgpg-error/package.py
index e07f8e0188..acdc73f8a7 100644
--- a/var/spack/repos/builtin/packages/libgpg-error/package.py
+++ b/var/spack/repos/builtin/packages/libgpg-error/package.py
@@ -10,29 +10,29 @@ class LibgpgError(AutotoolsPackage):
"""Common error values for all GnuPG components."""
homepage = "https://www.gnupg.org/related_software/libgpg-error/index.en.html"
- url = "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.37.tar.bz2"
-
- maintainers = ['alalazo']
-
- version('1.45', sha256='570f8ee4fb4bff7b7495cff920c275002aea2147e9a1d220c068213267f80a26')
- version('1.44', sha256='8e3d2da7a8b9a104dd8e9212ebe8e0daf86aa838cc1314ba6bc4de8f2d8a1ff9')
- version('1.43', sha256='a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf')
- version('1.42', sha256='fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23')
- version('1.41', sha256='64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742')
- version('1.40', sha256='e6b0392e852a8ad069242265c513c946b492b00816f3967a97d297886939623a')
- version('1.37', sha256='b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763')
- version('1.36', sha256='babd98437208c163175c29453f8681094bcaf92968a15cafb1a276076b33c97c')
- version('1.27', sha256='4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2')
- version('1.21', sha256='b7dbdb3cad63a740e9f0c632a1da32d4afdb694ec86c8625c98ea0691713b84d')
- version('1.18', sha256='9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153d80810')
-
- depends_on('awk', type='build')
+ url = "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.37.tar.bz2"
+
+ maintainers = ["alalazo"]
+
+ version("1.45", sha256="570f8ee4fb4bff7b7495cff920c275002aea2147e9a1d220c068213267f80a26")
+ version("1.44", sha256="8e3d2da7a8b9a104dd8e9212ebe8e0daf86aa838cc1314ba6bc4de8f2d8a1ff9")
+ version("1.43", sha256="a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf")
+ version("1.42", sha256="fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23")
+ version("1.41", sha256="64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742")
+ version("1.40", sha256="e6b0392e852a8ad069242265c513c946b492b00816f3967a97d297886939623a")
+ version("1.37", sha256="b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763")
+ version("1.36", sha256="babd98437208c163175c29453f8681094bcaf92968a15cafb1a276076b33c97c")
+ version("1.27", sha256="4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2")
+ version("1.21", sha256="b7dbdb3cad63a740e9f0c632a1da32d4afdb694ec86c8625c98ea0691713b84d")
+ version("1.18", sha256="9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153d80810")
+
+ depends_on("awk", type="build")
# Patch for using gawk@5, c.f. https://dev.gnupg.org/T4459
- patch('awk-5.patch', when='@1.36^gawk@5:')
+ patch("awk-5.patch", when="@1.36^gawk@5:")
def configure_args(self):
return [
- '--enable-static',
- '--enable-shared',
- '--enable-tests' if self.run_tests else '--disable-tests'
+ "--enable-static",
+ "--enable-shared",
+ "--enable-tests" if self.run_tests else "--disable-tests",
]
diff --git a/var/spack/repos/builtin/packages/libgpuarray/package.py b/var/spack/repos/builtin/packages/libgpuarray/package.py
index cda4189ae2..f18dadfb60 100644
--- a/var/spack/repos/builtin/packages/libgpuarray/package.py
+++ b/var/spack/repos/builtin/packages/libgpuarray/package.py
@@ -12,18 +12,18 @@ class Libgpuarray(CMakePackage):
for simple need/quick test."""
homepage = "https://github.com/Theano/libgpuarray"
- url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz"
+ url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz"
- version('0.7.6', sha256='ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a')
- version('0.7.5', sha256='39c4d2e743848be43c8819c736e089ae51b11aa446cc6ee05af945c2dfd63420')
- version('0.7.2', sha256='ef11ee6f8d62d53831277fd3dcab662aa770a5b5de2d30fe3018c4af959204da')
- version('0.7.1', sha256='4d0f9dd63b0595a8c04d8cee91b2619847c033b011c71d776caa784322382ed6')
- version('0.7.0', sha256='afe7907435dcbf78b3ea9b9f6c97e5a0d4a219a7170f5025ca0db1c289bb88df')
- version('0.6.9', sha256='689716feecb4e495f4d383ec1518cf3ba70a2a642a903cc445b6b6ffc119bc25')
- version('0.6.2', sha256='04756c6270c0ce3b91a9bf01be38c4fc743f5356acc18d9f807198021677bcc8')
- version('0.6.1', sha256='b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5')
- version('0.6.0', sha256='a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af')
+ version("0.7.6", sha256="ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a")
+ version("0.7.5", sha256="39c4d2e743848be43c8819c736e089ae51b11aa446cc6ee05af945c2dfd63420")
+ version("0.7.2", sha256="ef11ee6f8d62d53831277fd3dcab662aa770a5b5de2d30fe3018c4af959204da")
+ version("0.7.1", sha256="4d0f9dd63b0595a8c04d8cee91b2619847c033b011c71d776caa784322382ed6")
+ version("0.7.0", sha256="afe7907435dcbf78b3ea9b9f6c97e5a0d4a219a7170f5025ca0db1c289bb88df")
+ version("0.6.9", sha256="689716feecb4e495f4d383ec1518cf3ba70a2a642a903cc445b6b6ffc119bc25")
+ version("0.6.2", sha256="04756c6270c0ce3b91a9bf01be38c4fc743f5356acc18d9f807198021677bcc8")
+ version("0.6.1", sha256="b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5")
+ version("0.6.0", sha256="a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af")
- depends_on('cuda')
- depends_on('cmake@3:', type='build')
- depends_on('check')
+ depends_on("cuda")
+ depends_on("cmake@3:", type="build")
+ depends_on("check")
diff --git a/var/spack/repos/builtin/packages/libgridxc/package.py b/var/spack/repos/builtin/packages/libgridxc/package.py
index f32a1f3e5c..0a4af916ad 100644
--- a/var/spack/repos/builtin/packages/libgridxc/package.py
+++ b/var/spack/repos/builtin/packages/libgridxc/package.py
@@ -14,47 +14,50 @@ class Libgridxc(MakefilePackage):
"""
homepage = "https://gitlab.com/siesta-project/libraries/libgridxc"
- git = "https://gitlab.com/siesta-project/libraries/libgridxc.git"
- url = "https://gitlab.com/siesta-project/libraries/libgridxc/-/archive/libgridxc-0.9.6/libgridxc-libgridxc-0.9.6.tar.gz"
-
- version('0.9.6', sha256='3b89ccc02d65729ea2d7cb291ae1d9b53acd65c1fd144e8846362cffb71b114a')
- version('0.9.5', sha256='98aa34dbaffe360ff332606eebb7c842994244a3114015d89c5a3850298c40aa')
- version('0.9.1', sha256='346735e30dd3a4099532a985b7a491f6d2b882954a527bdac655d87232be5341')
- version('0.8.5', sha256='af293be83d85908231aba9074f2b51545457bc7fce87fab9f72010a10f0028a6')
- version('0.8.4', sha256='b4f2f4af1f0c98b9e82505b99924da16e8c7719dd3e3e95f1d16e504b43944ce')
- version('0.8.3', sha256='01643c2e009474d4eb1f945f7e506f465bf0378d19e56028bc4a9af56ab0b1f3')
- version('0.8.0', sha256='ff89b3302f850d1d9f651951e4ade20dfa4c71c809a2d86382c6797392064c9c')
- version('0.7.6', sha256='058b80f40c85997eea0eae3f15b7cc8105f817e59564106308b22f57a03b216b')
-
- depends_on('autoconf@2.69:', type='build')
- depends_on('automake@1.14:', type='build')
- depends_on('libtool@2.4.2:', type='build')
- depends_on('m4', type='build')
- depends_on('libxc@:4.3.4', when='@0.8.0:')
-
- build_directory = 'build'
+ git = "https://gitlab.com/siesta-project/libraries/libgridxc.git"
+ url = "https://gitlab.com/siesta-project/libraries/libgridxc/-/archive/libgridxc-0.9.6/libgridxc-libgridxc-0.9.6.tar.gz"
+
+ version("0.9.6", sha256="3b89ccc02d65729ea2d7cb291ae1d9b53acd65c1fd144e8846362cffb71b114a")
+ version("0.9.5", sha256="98aa34dbaffe360ff332606eebb7c842994244a3114015d89c5a3850298c40aa")
+ version("0.9.1", sha256="346735e30dd3a4099532a985b7a491f6d2b882954a527bdac655d87232be5341")
+ version("0.8.5", sha256="af293be83d85908231aba9074f2b51545457bc7fce87fab9f72010a10f0028a6")
+ version("0.8.4", sha256="b4f2f4af1f0c98b9e82505b99924da16e8c7719dd3e3e95f1d16e504b43944ce")
+ version("0.8.3", sha256="01643c2e009474d4eb1f945f7e506f465bf0378d19e56028bc4a9af56ab0b1f3")
+ version("0.8.0", sha256="ff89b3302f850d1d9f651951e4ade20dfa4c71c809a2d86382c6797392064c9c")
+ version("0.7.6", sha256="058b80f40c85997eea0eae3f15b7cc8105f817e59564106308b22f57a03b216b")
+
+ depends_on("autoconf@2.69:", type="build")
+ depends_on("automake@1.14:", type="build")
+ depends_on("libtool@2.4.2:", type="build")
+ depends_on("m4", type="build")
+ depends_on("libxc@:4.3.4", when="@0.8.0:")
+
+ build_directory = "build"
parallel = False
def edit(self, spec, prefix):
- sh = which('sh')
- with working_dir('build', create=True):
- sh('../src/config.sh')
- copy('../extra/fortran.mk', 'fortran.mk')
+ sh = which("sh")
+ with working_dir("build", create=True):
+ sh("../src/config.sh")
+ copy("../extra/fortran.mk", "fortran.mk")
@property
def build_targets(self):
- args = ['PREFIX={0}'.format(self.prefix), 'FC=fc']
- if self.spec.satisfies('@0.8.0:'):
- args += ['WITH_LIBXC=1',
- 'LIBXC_ROOT={0}'.format(self.spec['libxc'].prefix)]
+ args = ["PREFIX={0}".format(self.prefix), "FC=fc"]
+ if self.spec.satisfies("@0.8.0:"):
+ args += ["WITH_LIBXC=1", "LIBXC_ROOT={0}".format(self.spec["libxc"].prefix)]
return args
def install(self, spec, prefix):
- mkdirp(join_path(self.prefix, 'share', 'org.siesta-project'))
- install(join_path(self.prefix, 'gridxc.mk'),
- join_path(self.prefix, 'share', 'org.siesta-project', 'gridxc.mk'))
- os.remove(join_path(self.prefix, 'gridxc.mk'))
- install(join_path(self.prefix, 'libxc.mk'),
- join_path(self.prefix, 'share', 'org.siesta-project', 'libxc.mk'))
- os.remove(join_path(self.prefix, 'libxc.mk'))
+ mkdirp(join_path(self.prefix, "share", "org.siesta-project"))
+ install(
+ join_path(self.prefix, "gridxc.mk"),
+ join_path(self.prefix, "share", "org.siesta-project", "gridxc.mk"),
+ )
+ os.remove(join_path(self.prefix, "gridxc.mk"))
+ install(
+ join_path(self.prefix, "libxc.mk"),
+ join_path(self.prefix, "share", "org.siesta-project", "libxc.mk"),
+ )
+ os.remove(join_path(self.prefix, "libxc.mk"))
diff --git a/var/spack/repos/builtin/packages/libgssglue/package.py b/var/spack/repos/builtin/packages/libgssglue/package.py
index 246758fb50..e27dee134e 100644
--- a/var/spack/repos/builtin/packages/libgssglue/package.py
+++ b/var/spack/repos/builtin/packages/libgssglue/package.py
@@ -10,8 +10,8 @@ class Libgssglue(AutotoolsPackage):
"""GSSAPI interface using mechanisms from other GSSAPI implementations."""
homepage = "http://www.citi.umich.edu/projects/nfsv4/linux/"
- url = "http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/libgssglue-0.4.tar.gz"
+ url = "http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/libgssglue-0.4.tar.gz"
- version('0.4', sha256='3f791a75502ba723e5e85e41e5e0c711bb89e2716b7c0ec6e74bd1df6739043a')
- version('0.3', sha256='d98a022af432b61fe2a1eb811b5916743ccb781e383da680f1a00fd1005a5174')
- version('0.2', sha256='3de4974e19e54048acdc465d3b3c6c006cb66d2952d36e6b0afc10012184dc91')
+ version("0.4", sha256="3f791a75502ba723e5e85e41e5e0c711bb89e2716b7c0ec6e74bd1df6739043a")
+ version("0.3", sha256="d98a022af432b61fe2a1eb811b5916743ccb781e383da680f1a00fd1005a5174")
+ version("0.2", sha256="3de4974e19e54048acdc465d3b3c6c006cb66d2952d36e6b0afc10012184dc91")
diff --git a/var/spack/repos/builtin/packages/libgtextutils/package.py b/var/spack/repos/builtin/packages/libgtextutils/package.py
index 30323b380c..49f5da7b1d 100644
--- a/var/spack/repos/builtin/packages/libgtextutils/package.py
+++ b/var/spack/repos/builtin/packages/libgtextutils/package.py
@@ -10,7 +10,7 @@ class Libgtextutils(AutotoolsPackage):
"""Gordon's Text utils Library."""
homepage = "https://github.com/agordon/libgtextutils"
- url = "https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz"
+ url = "https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz"
- patch('text_line_reader.patch')
- version('0.7', sha256='792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a')
+ patch("text_line_reader.patch")
+ version("0.7", sha256="792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a")
diff --git a/var/spack/repos/builtin/packages/libharu/package.py b/var/spack/repos/builtin/packages/libharu/package.py
index 74a3e57ad5..7e00358ac7 100644
--- a/var/spack/repos/builtin/packages/libharu/package.py
+++ b/var/spack/repos/builtin/packages/libharu/package.py
@@ -15,35 +15,35 @@ class Libharu(AutotoolsPackage):
generating PDF."""
homepage = "http://libharu.org"
- url = "https://github.com/libharu/libharu/archive/RELEASE_2_3_0.tar.gz"
- git = "https://github.com/libharu/libharu.git"
+ url = "https://github.com/libharu/libharu/archive/RELEASE_2_3_0.tar.gz"
+ git = "https://github.com/libharu/libharu.git"
- version('master', branch='master')
- version('2.3.0', sha256='8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2')
- version('2.2.0', sha256='5e63246d2da0272a9dbe5963fd827c7efa6e29d97a2d047c0d4c5f0b780f10b5')
+ version("master", branch="master")
+ version("2.3.0", sha256="8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2")
+ version("2.2.0", sha256="5e63246d2da0272a9dbe5963fd827c7efa6e29d97a2d047c0d4c5f0b780f10b5")
- depends_on('libtool', type=('build'))
- depends_on('autoconf', type=('build'))
- depends_on('automake', type=('build'))
- depends_on('libpng')
- depends_on('zlib')
+ depends_on("libtool", type=("build"))
+ depends_on("autoconf", type=("build"))
+ depends_on("automake", type=("build"))
+ depends_on("libpng")
+ depends_on("zlib")
def autoreconf(self, spec, prefix):
"""execute their autotools wrapper script"""
- if os.path.exists('./buildconf.sh'):
- bash = which('bash')
- bash('./buildconf.sh', '--force')
+ if os.path.exists("./buildconf.sh"):
+ bash = which("bash")
+ bash("./buildconf.sh", "--force")
def configure_args(self):
"""Point to spack-installed zlib and libpng"""
spec = self.spec
args = []
- args.append('--with-zlib={0}'.format(spec['zlib'].prefix))
- args.append('--with-png={0}'.format(spec['libpng'].prefix))
+ args.append("--with-zlib={0}".format(spec["zlib"].prefix))
+ args.append("--with-png={0}".format(spec["libpng"].prefix))
return args
def url_for_version(self, version):
- url = 'https://github.com/libharu/libharu/archive/RELEASE_{0}.tar.gz'
+ url = "https://github.com/libharu/libharu/archive/RELEASE_{0}.tar.gz"
return url.format(version.underscored)
diff --git a/var/spack/repos/builtin/packages/libhbaapi/package.py b/var/spack/repos/builtin/packages/libhbaapi/package.py
index 42adf25b19..3cf887c3c4 100644
--- a/var/spack/repos/builtin/packages/libhbaapi/package.py
+++ b/var/spack/repos/builtin/packages/libhbaapi/package.py
@@ -10,13 +10,13 @@ class Libhbaapi(AutotoolsPackage):
"""The SNIA HBA API library"""
homepage = "https://github.com/cleech/libHBAAPI"
- url = "https://github.com/cleech/libHBAAPI/archive/v3.11.tar.gz"
+ url = "https://github.com/cleech/libHBAAPI/archive/v3.11.tar.gz"
- version('3.11', sha256='c7b2530d616fd7bee46e214e7eb91c91803aec3297a7c6bbf73467a1edad4e10')
- version('3.10', sha256='ca4f4ec3defa057c1b51bc87cc749efe5d54579e055d7a51688d18cc35166462')
- version('3.9', sha256='8e60616abde44488fed05254988f9b41653d2204a7218072714d6623e099c863')
+ version("3.11", sha256="c7b2530d616fd7bee46e214e7eb91c91803aec3297a7c6bbf73467a1edad4e10")
+ version("3.10", sha256="ca4f4ec3defa057c1b51bc87cc749efe5d54579e055d7a51688d18cc35166462")
+ version("3.9", sha256="8e60616abde44488fed05254988f9b41653d2204a7218072714d6623e099c863")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libhio/package.py b/var/spack/repos/builtin/packages/libhio/package.py
index 6da09fad60..af62fd6a00 100644
--- a/var/spack/repos/builtin/packages/libhio/package.py
+++ b/var/spack/repos/builtin/packages/libhio/package.py
@@ -9,60 +9,60 @@ from spack.package import *
class Libhio(AutotoolsPackage):
"""libHIO is a flexible, high-performance parallel IO package developed
- at LANL. libHIO supports IO to either a conventional PFS or to Cray
- DataWarp with management of Cray DataWarp space and stage-in and
- stage-out from and to the PFS.
+ at LANL. libHIO supports IO to either a conventional PFS or to Cray
+ DataWarp with management of Cray DataWarp space and stage-in and
+ stage-out from and to the PFS.
"""
homepage = "https://github.com/hpc/libhio"
- url = "https://github.com/hpc/libhio/releases/download/hio.1.4.1.0/libhio-1.4.1.0.tar.bz2"
- git = "https://github.com/hpc/libhio.git"
- maintainers = ['plamborn']
+ url = "https://github.com/hpc/libhio/releases/download/hio.1.4.1.0/libhio-1.4.1.0.tar.bz2"
+ git = "https://github.com/hpc/libhio.git"
+ maintainers = ["plamborn"]
#
# We don't include older versions since they are missing features
# needed by current and future consumers of libhio
#
- version('master', branch='master')
- version('1.4.1.6', sha256='863e7274f9e32d97bd5d9e6745ad9449735bdc8bd5623f152a32be45e6f3a212')
- version('1.4.1.5', sha256='af5cb2a799a8470ed95847c3b07ea3ad61f8f7d5a2b79c52a46ca784846e8962')
- version('1.4.1.4', sha256='6998a424cff97be9a207032b3addd19f292d8ebda72043be92a8f942ae3b4da1')
- version('1.4.1.3', sha256='b6ad2354f1bc597e7e55fc989ff50944835d64149f4925c2f45df950919e4d08')
- version('1.4.1.2', sha256='87a0f9b72b7aa69485c40d9bd36f02af653b70e8eed3eb0b50eaeb02ff0a9049')
- version('1.4.1.1', sha256='5c65d18bf74357f9d9960bf6b9ad2432f8fc5a2b653e72befe4d1caabb9a2f7a')
- version('1.4.1.0', sha256='963f4a8d365afd92a5593f80946e2c4c79f4185d897436a43fae61dae5567ac4')
+ version("master", branch="master")
+ version("1.4.1.6", sha256="863e7274f9e32d97bd5d9e6745ad9449735bdc8bd5623f152a32be45e6f3a212")
+ version("1.4.1.5", sha256="af5cb2a799a8470ed95847c3b07ea3ad61f8f7d5a2b79c52a46ca784846e8962")
+ version("1.4.1.4", sha256="6998a424cff97be9a207032b3addd19f292d8ebda72043be92a8f942ae3b4da1")
+ version("1.4.1.3", sha256="b6ad2354f1bc597e7e55fc989ff50944835d64149f4925c2f45df950919e4d08")
+ version("1.4.1.2", sha256="87a0f9b72b7aa69485c40d9bd36f02af653b70e8eed3eb0b50eaeb02ff0a9049")
+ version("1.4.1.1", sha256="5c65d18bf74357f9d9960bf6b9ad2432f8fc5a2b653e72befe4d1caabb9a2f7a")
+ version("1.4.1.0", sha256="963f4a8d365afd92a5593f80946e2c4c79f4185d897436a43fae61dae5567ac4")
#
# main users of libhio thru spack will want to use HFDF5 plugin,
# so make hdf5 variant a default
#
- variant('hdf5', default=True, description='Enable HDF5 support')
+ variant("hdf5", default=True, description="Enable HDF5 support")
depends_on("json-c")
depends_on("bzip2")
depends_on("pkgconfig", type="build")
- depends_on('mpi')
+ depends_on("mpi")
#
# libhio depends on hdf5+mpi if hdf5 is being used since it
# autodetects the presence of an MPI and/or uses mpicc by default to build
- depends_on('hdf5+mpi', when='+hdf5')
+ depends_on("hdf5+mpi", when="+hdf5")
#
# wow, we need to patch libhio
#
- patch('0001-configury-fix-a-problem-with-bz2-configury.patch', when="@1.4.1.0")
- patch('0001-hdf5-make-docs-optional.patch', when="@1.4.1.0")
- patch('0001-spack-fix-for-spack-to-work-on-non-cray-systems.patch', when="@1.4.1.2")
+ patch("0001-configury-fix-a-problem-with-bz2-configury.patch", when="@1.4.1.0")
+ patch("0001-hdf5-make-docs-optional.patch", when="@1.4.1.0")
+ patch("0001-spack-fix-for-spack-to-work-on-non-cray-systems.patch", when="@1.4.1.2")
def configure_args(self):
spec = self.spec
args = []
- args.append('--with-external_bz2={0}'.format(spec['bzip2'].prefix))
- if '+hdf5' in spec:
- args.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
+ args.append("--with-external_bz2={0}".format(spec["bzip2"].prefix))
+ if "+hdf5" in spec:
+ args.append("--with-hdf5={0}".format(spec["hdf5"].prefix))
- args.append('--with-external-json={0}'.format(spec['json-c'].prefix))
+ args.append("--with-external-json={0}".format(spec["json-c"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/libhugetlbfs/package.py b/var/spack/repos/builtin/packages/libhugetlbfs/package.py
index 7e09d35ce3..8bb43a77a1 100644
--- a/var/spack/repos/builtin/packages/libhugetlbfs/package.py
+++ b/var/spack/repos/builtin/packages/libhugetlbfs/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Libhugetlbfs(MakefilePackage):
"""libhugetlbfs is a library which provides easy access
- to huge pages of memory."""
+ to huge pages of memory."""
homepage = "https://github.com/libhugetlbfs/libhugetlbfs"
- url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/2.22/libhugetlbfs-2.22.tar.gz"
+ url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/2.22/libhugetlbfs-2.22.tar.gz"
- version('2.22', sha256='94dca9ea2c527cd77bf28904094fe4708865a85122d416bfccc8f4b73b9a6785')
+ version("2.22", sha256="94dca9ea2c527cd77bf28904094fe4708865a85122d416bfccc8f4b73b9a6785")
def install(self, spec, prefix):
- make('install', "PREFIX=%s" % prefix)
+ make("install", "PREFIX=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/libiberty/package.py b/var/spack/repos/builtin/packages/libiberty/package.py
index ff78c57663..f698f12d7d 100644
--- a/var/spack/repos/builtin/packages/libiberty/package.py
+++ b/var/spack/repos/builtin/packages/libiberty/package.py
@@ -17,48 +17,47 @@ class Libiberty(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/binutils/"
gnu_mirror_path = "binutils/binutils-2.31.1.tar.xz"
- maintainers = ['mwkrentel']
-
- version('2.37', sha256='820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c')
- version('2.36.1', sha256='e81d9edf373f193af428a0f256674aea62a9d74dfe93f65192d4eae030b0f3b0')
- version('2.36', sha256='5788292cc5bbcca0848545af05986f6b17058b105be59e99ba7d0f9eb5336fb8')
- version('2.35.2', sha256='dcd5b0416e7b0a9b24bed76cd8c6c132526805761863150a26d016415b8bdc7b')
- version('2.35.1', sha256='3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607')
- version('2.35', sha256='1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85')
- version('2.34', sha256='f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952')
- version('2.33.1', sha256='ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf')
- version('2.32', sha256='0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04')
- version('2.31.1', sha256='5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86')
- version('2.30', sha256='6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6')
- version('2.29.1', sha256='e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577')
- version('2.28.1', sha256='16328a906e55a3c633854beec8e9e255a639b366436470b4f6245eb0d2fde942')
-
- variant('pic', default=False,
- description='Compile with position independent code.')
+ maintainers = ["mwkrentel"]
+
+ version("2.37", sha256="820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c")
+ version("2.36.1", sha256="e81d9edf373f193af428a0f256674aea62a9d74dfe93f65192d4eae030b0f3b0")
+ version("2.36", sha256="5788292cc5bbcca0848545af05986f6b17058b105be59e99ba7d0f9eb5336fb8")
+ version("2.35.2", sha256="dcd5b0416e7b0a9b24bed76cd8c6c132526805761863150a26d016415b8bdc7b")
+ version("2.35.1", sha256="3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607")
+ version("2.35", sha256="1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85")
+ version("2.34", sha256="f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952")
+ version("2.33.1", sha256="ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf")
+ version("2.32", sha256="0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04")
+ version("2.31.1", sha256="5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86")
+ version("2.30", sha256="6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6")
+ version("2.29.1", sha256="e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577")
+ version("2.28.1", sha256="16328a906e55a3c633854beec8e9e255a639b366436470b4f6245eb0d2fde942")
+
+ variant("pic", default=False, description="Compile with position independent code.")
# Configure and build just libiberty.
- configure_directory = 'libiberty'
+ configure_directory = "libiberty"
# Set default cflags (-g -O2), add -fPIC if requested, and move to
# the configure line.
def flag_handler(self, name, flags):
- if name != 'cflags':
+ if name != "cflags":
return (flags, None, None)
- if '-g' not in flags:
- flags.append('-g')
+ if "-g" not in flags:
+ flags.append("-g")
for flag in flags:
- if flag.startswith('-O'):
+ if flag.startswith("-O"):
break
else:
- flags.append('-O2')
+ flags.append("-O2")
- if '+pic' in self.spec:
+ if "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
return (None, None, flags)
def configure_args(self):
- args = ['--enable-install-libiberty']
+ args = ["--enable-install-libiberty"]
return args
diff --git a/var/spack/repos/builtin/packages/libibumad/package.py b/var/spack/repos/builtin/packages/libibumad/package.py
index 21001593cc..948dd5c776 100644
--- a/var/spack/repos/builtin/packages/libibumad/package.py
+++ b/var/spack/repos/builtin/packages/libibumad/package.py
@@ -1,4 +1,3 @@
-
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
@@ -9,19 +8,19 @@ from spack.package import *
class Libibumad(CMakePackage):
"""This package installs the user-space libraries and headers for libibumad.
- This is a subset of the linux-rdma distribution."""
+ This is a subset of the linux-rdma distribution."""
homepage = "https://github.com/linux-rdma/"
- url = "https://github.com/linux-rdma/rdma-core/archive/v25.0.tar.gz"
+ url = "https://github.com/linux-rdma/rdma-core/archive/v25.0.tar.gz"
- version('25.0', sha256='d735bd091d13e8a68ce650e432b5bdc934fc7f1d5fb42a6045278a5b3f7fe48b')
+ version("25.0", sha256="d735bd091d13e8a68ce650e432b5bdc934fc7f1d5fb42a6045278a5b3f7fe48b")
- depends_on('libnl')
+ depends_on("libnl")
def build(self, spec, prefix):
- with working_dir(join_path(self.build_directory, 'libibumad')):
+ with working_dir(join_path(self.build_directory, "libibumad")):
make()
def install(self, spec, prefix):
- with working_dir(join_path(self.build_directory, 'libibumad')):
- make('install')
+ with working_dir(join_path(self.build_directory, "libibumad")):
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libical/package.py b/var/spack/repos/builtin/packages/libical/package.py
index 190acb7654..7c81882c34 100644
--- a/var/spack/repos/builtin/packages/libical/package.py
+++ b/var/spack/repos/builtin/packages/libical/package.py
@@ -12,15 +12,15 @@ class Libical(CMakePackage):
homepage = "https://github.com/libical/libical"
url = "https://github.com/libical/libical/archive/v3.0.8.tar.gz"
- version('3.0.11', sha256='1e6c5e10c5a48f7a40c68958055f0e2759d9ab3563aca17273fe35a5df7dbbf1')
- version('3.0.8', sha256='09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f')
+ version("3.0.11", sha256="1e6c5e10c5a48f7a40c68958055f0e2759d9ab3563aca17273fe35a5df7dbbf1")
+ version("3.0.8", sha256="09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f")
- depends_on('cmake@3.1.0:', type='build')
- depends_on('perl', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('glib@2.32:')
- depends_on('icu4c')
- depends_on('libxml2@2.7.3:')
+ depends_on("cmake@3.1.0:", type="build")
+ depends_on("perl", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("glib@2.32:")
+ depends_on("icu4c")
+ depends_on("libxml2@2.7.3:")
def cmake_args(self):
- return ['-DENABLE_GTK_DOC=OFF']
+ return ["-DENABLE_GTK_DOC=OFF"]
diff --git a/var/spack/repos/builtin/packages/libice/package.py b/var/spack/repos/builtin/packages/libice/package.py
index b3ba192c60..f936f4874c 100644
--- a/var/spack/repos/builtin/packages/libice/package.py
+++ b/var/spack/repos/builtin/packages/libice/package.py
@@ -12,14 +12,13 @@ class Libice(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libICE"
xorg_mirror_path = "lib/libICE-1.0.9.tar.gz"
- version('1.0.9', sha256='7812a824a66dd654c830d21982749b3b563d9c2dfe0b88b203cefc14a891edc0')
+ version("1.0.9", sha256="7812a824a66dd654c830d21982749b3b563d9c2dfe0b88b203cefc14a891edc0")
- depends_on('xproto')
- depends_on('xtrans')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xtrans")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries('libICE', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libICE", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py
index 9b53ba4a9d..d80be75d4d 100644
--- a/var/spack/repos/builtin/packages/libiconv/package.py
+++ b/var/spack/repos/builtin/packages/libiconv/package.py
@@ -13,27 +13,31 @@ class Libiconv(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/libiconv/"
gnu_mirror_path = "libiconv/libiconv-1.16.tar.gz"
- version('1.16', sha256='e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04')
- 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')
+ version("1.16", sha256="e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04")
+ 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')
- provides('iconv')
+ patch("gets.patch", when="@1.14")
+ provides("iconv")
- conflicts('@1.14', when='%gcc@5:')
+ conflicts("@1.14", when="%gcc@5:")
def configure_args(self):
- args = ['--enable-extra-encodings']
+ args = ["--enable-extra-encodings"]
- args += self.enable_or_disable('libs')
- args.append('--with-pic')
+ args += self.enable_or_disable("libs")
+ args.append("--with-pic")
# A hack to patch config.guess in the libcharset sub directory
- copy('./build-aux/config.guess',
- 'libcharset/build-aux/config.guess')
+ copy("./build-aux/config.guess", "libcharset/build-aux/config.guess")
return args
diff --git a/var/spack/repos/builtin/packages/libid3tag/package.py b/var/spack/repos/builtin/packages/libid3tag/package.py
index 48ccc5e569..8a5cf493a3 100644
--- a/var/spack/repos/builtin/packages/libid3tag/package.py
+++ b/var/spack/repos/builtin/packages/libid3tag/package.py
@@ -11,29 +11,29 @@ class Libid3tag(AutotoolsPackage):
"""library for id3 tagging"""
homepage = "https://www.underbit.com/products/mad/"
- url = "ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz"
+ url = "ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz"
- maintainers = ['TheQueasle']
+ maintainers = ["TheQueasle"]
- version('0.15.1b', '63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151')
+ version("0.15.1b", "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151")
- depends_on('zlib')
- depends_on('gperf')
+ depends_on("zlib")
+ depends_on("gperf")
# source: https://git.archlinux.org/svntogit/packages.git/tree/trunk/10_utf16.diff?h=packages/libid3tag
- patch('10_utf16.diff')
+ patch("10_utf16.diff")
# source: https://git.archlinux.org/svntogit/packages.git/tree/trunk/11_unknown_encoding.diff?h=packages/libid3tag
- patch('11_unknown_encoding.dif')
+ patch("11_unknown_encoding.dif")
# source: https://git.archlinux.org/svntogit/packages.git/tree/trunk/CVE-2008-2109.patch?h=packages/libid3tag
- patch('CVE-2008-2109.patch', level=0)
+ patch("CVE-2008-2109.patch", level=0)
# source: https://git.archlinux.org/svntogit/packages.git/tree/trunk/libid3tag-gperf.patch?h=packages/libid3tag
- patch('libid3tag-gperf.patch', when="^gperf@3.1:")
+ patch("libid3tag-gperf.patch", when="^gperf@3.1:")
- @run_before('configure')
+ @run_before("configure")
def preclean(self):
"""
Remove compat.c and frametype.c in order to regenerate from gperf
sources
"""
- os.remove('compat.c')
- os.remove('frametype.c')
+ os.remove("compat.c")
+ os.remove("frametype.c")
diff --git a/var/spack/repos/builtin/packages/libidl/package.py b/var/spack/repos/builtin/packages/libidl/package.py
index b81b6c1c7f..3dabe47b1d 100644
--- a/var/spack/repos/builtin/packages/libidl/package.py
+++ b/var/spack/repos/builtin/packages/libidl/package.py
@@ -11,11 +11,11 @@ class Libidl(AutotoolsPackage):
"""libraries for Interface Definition Language files"""
homepage = "https://developer.gnome.org/"
- url = "https://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.14.tar.bz2"
+ url = "https://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.14.tar.bz2"
- version('0.8.14', sha256='c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220')
+ version("0.8.14", sha256="c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('glib')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("glib")
diff --git a/var/spack/repos/builtin/packages/libidn2/package.py b/var/spack/repos/builtin/packages/libidn2/package.py
index 7d66913e66..75b317ca85 100644
--- a/var/spack/repos/builtin/packages/libidn2/package.py
+++ b/var/spack/repos/builtin/packages/libidn2/package.py
@@ -15,13 +15,13 @@ class Libidn2(AutotoolsPackage, GNUMirrorPackage):
# URL must remain http:// so Spack can bootstrap curl
gnu_mirror_path = "libidn/libidn2-2.0.5.tar.gz"
- version('2.3.0', sha256='e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5')
- version('2.1.1a', sha256='57666bcf6ecf54230d7bac95c392379561954b57a673903aed4d3336b3048b72')
- version('2.1.1', sha256='95416080329298a13269e13175041b530cec3d98b54cafae9424b8dfd22078b1')
- version('2.1.0', sha256='032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32')
- version('2.0.5', sha256='53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8')
+ version("2.3.0", sha256="e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5")
+ version("2.1.1a", sha256="57666bcf6ecf54230d7bac95c392379561954b57a673903aed4d3336b3048b72")
+ version("2.1.1", sha256="95416080329298a13269e13175041b530cec3d98b54cafae9424b8dfd22078b1")
+ version("2.1.0", sha256="032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32")
+ version("2.0.5", sha256="53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8")
- depends_on('libunistring')
+ depends_on("libunistring")
# in-source build fails
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/libimagequant/package.py b/var/spack/repos/builtin/packages/libimagequant/package.py
index d35a1d7432..0c7821e64e 100644
--- a/var/spack/repos/builtin/packages/libimagequant/package.py
+++ b/var/spack/repos/builtin/packages/libimagequant/package.py
@@ -13,9 +13,9 @@ class Libimagequant(MakefilePackage):
"""
homepage = "https://pngquant.org/lib/"
- url = "https://github.com/ImageOptim/libimagequant/archive/2.12.6.tar.gz"
+ url = "https://github.com/ImageOptim/libimagequant/archive/2.12.6.tar.gz"
- version('2.12.6', sha256='b34964512c0dbe550c5f1b394c246c42a988cd73b71a76c5838aa2b4a96e43a0')
+ version("2.12.6", sha256="b34964512c0dbe550c5f1b394c246c42a988cd73b71a76c5838aa2b4a96e43a0")
def edit(self, spec, prefix):
- configure('--prefix=' + prefix)
+ configure("--prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/libimobiledevice/package.py b/var/spack/repos/builtin/packages/libimobiledevice/package.py
index 28a7867ad9..f6b50996f8 100644
--- a/var/spack/repos/builtin/packages/libimobiledevice/package.py
+++ b/var/spack/repos/builtin/packages/libimobiledevice/package.py
@@ -11,25 +11,25 @@ class Libimobiledevice(AutotoolsPackage):
"""Library to communicate with iOS devices natively."""
homepage = "https://www.libimobiledevice.org/"
- url = "https://www.libimobiledevice.org/downloads/libimobiledevice-1.2.0.tar.bz2"
- git = "https://git.libimobiledevice.org/libimobiledevice.git"
+ url = "https://www.libimobiledevice.org/downloads/libimobiledevice-1.2.0.tar.bz2"
+ git = "https://git.libimobiledevice.org/libimobiledevice.git"
- version('master', branch='master')
- version('1.2.0', sha256='786b0de0875053bf61b5531a86ae8119e320edab724fc62fe2150cc931f11037')
+ version("master", branch="master")
+ version("1.2.0", sha256="786b0de0875053bf61b5531a86ae8119e320edab724fc62fe2150cc931f11037")
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('pkgconfig', type='build')
- depends_on('libplist')
- depends_on('libtasn1')
- depends_on('libusbmuxd')
- depends_on('openssl')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("pkgconfig", type="build")
+ depends_on("libplist")
+ depends_on("libtasn1")
+ depends_on("libusbmuxd")
+ depends_on("openssl")
def configure_args(self):
return [
- '--disable-dependency-tracking',
- '--disable-silent-rules',
- '--enable-debug-code',
- '--without-cython'
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
+ "--enable-debug-code",
+ "--without-cython",
]
diff --git a/var/spack/repos/builtin/packages/libinih/package.py b/var/spack/repos/builtin/packages/libinih/package.py
index 196181e728..2575927c1b 100644
--- a/var/spack/repos/builtin/packages/libinih/package.py
+++ b/var/spack/repos/builtin/packages/libinih/package.py
@@ -12,7 +12,7 @@ class Libinih(MesonPackage):
"""
homepage = "https://github.com/benhoyt/inih"
- url = "https://github.com/benhoyt/inih/archive/refs/tags/r53.tar.gz"
- git = "https://github.com/benhoyt/inih.git"
+ url = "https://github.com/benhoyt/inih/archive/refs/tags/r53.tar.gz"
+ git = "https://github.com/benhoyt/inih.git"
- version('master', branch="master")
+ version("master", branch="master")
diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py
index 479bf5566b..85c875f7bc 100644
--- a/var/spack/repos/builtin/packages/libint/package.py
+++ b/var/spack/repos/builtin/packages/libint/package.py
@@ -9,15 +9,15 @@ from spack.package import *
from spack.pkg.builtin.boost import Boost
TUNE_VARIANTS = (
- 'none',
- 'cp2k-lmax-4',
- 'cp2k-lmax-5',
- 'cp2k-lmax-6',
- 'cp2k-lmax-7',
- 'molgw-lmax-4',
- 'molgw-lmax-5',
- 'molgw-lmax-6',
- 'molgw-lmax-7',
+ "none",
+ "cp2k-lmax-4",
+ "cp2k-lmax-5",
+ "cp2k-lmax-6",
+ "cp2k-lmax-7",
+ "molgw-lmax-4",
+ "molgw-lmax-5",
+ "molgw-lmax-6",
+ "molgw-lmax-7",
)
@@ -29,69 +29,80 @@ class Libint(AutotoolsPackage):
homepage = "https://github.com/evaleev/libint"
url = "https://github.com/evaleev/libint/archive/v2.1.0.tar.gz"
- maintainers = ['dev-zero']
-
- version('2.6.0', sha256='4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa')
- version('2.4.2', sha256='86dff38065e69a3a51d15cfdc638f766044cb87e5c6682d960c14f9847e2eac3')
- version('2.4.1', sha256='0513be124563fdbbc7cd3c7043e221df1bda236a037027ba9343429a27db8ce4')
- version('2.4.0', sha256='52eb16f065406099dcfaceb12f9a7f7e329c9cfcf6ed9bfacb0cff7431dd6019')
- version('2.2.0', sha256='f737d485f33ac819d7f28c6ce303b1f3a2296bfd2c14f7c1323f8c5d370bb0e3')
- version('2.1.0', sha256='43c453a1663aa1c55294df89ff9ece3aefc8d1bbba5ea31dbfe71b2d812e24c8')
- version('1.1.6', sha256='f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6')
- version('1.1.5', sha256='ec8cd4a4ba1e1a98230165210c293632372f0e573acd878ed62e5ec6f8b6174b')
-
- variant('debug', default=False,
- description='Enable building with debug symbols')
- variant('fortran', default=False,
- description='Build & install Fortran bindings')
- variant('tune', default='none', multi=False,
- values=TUNE_VARIANTS,
- description='Tune libint for use with the given package')
- variant('fma', default=False,
- description=('Generate code utilizing FMA'
- ' (requires capable CPU and recent enough compiler)'))
+ maintainers = ["dev-zero"]
+
+ version("2.6.0", sha256="4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa")
+ version("2.4.2", sha256="86dff38065e69a3a51d15cfdc638f766044cb87e5c6682d960c14f9847e2eac3")
+ version("2.4.1", sha256="0513be124563fdbbc7cd3c7043e221df1bda236a037027ba9343429a27db8ce4")
+ version("2.4.0", sha256="52eb16f065406099dcfaceb12f9a7f7e329c9cfcf6ed9bfacb0cff7431dd6019")
+ version("2.2.0", sha256="f737d485f33ac819d7f28c6ce303b1f3a2296bfd2c14f7c1323f8c5d370bb0e3")
+ version("2.1.0", sha256="43c453a1663aa1c55294df89ff9ece3aefc8d1bbba5ea31dbfe71b2d812e24c8")
+ version("1.1.6", sha256="f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6")
+ version("1.1.5", sha256="ec8cd4a4ba1e1a98230165210c293632372f0e573acd878ed62e5ec6f8b6174b")
+
+ variant("debug", default=False, description="Enable building with debug symbols")
+ variant("fortran", default=False, description="Build & install Fortran bindings")
+ variant(
+ "tune",
+ default="none",
+ multi=False,
+ values=TUNE_VARIANTS,
+ description="Tune libint for use with the given package",
+ )
+ variant(
+ "fma",
+ default=False,
+ description=(
+ "Generate code utilizing FMA" " (requires capable CPU and recent enough compiler)"
+ ),
+ )
# Build dependencies
- depends_on('autoconf@2.52:', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('python', type='build')
+ depends_on("autoconf@2.52:", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("python", type="build")
# Libint 2 dependencies
# Fixme: Can maintainers please confirm that this is a required dependency
- depends_on(Boost.with_default_variants, when='@2:')
- depends_on('gmp', when='@2:')
+ depends_on(Boost.with_default_variants, when="@2:")
+ depends_on("gmp", when="@2:")
for tvariant in TUNE_VARIANTS[1:]:
- conflicts('tune={0}'.format(tvariant), when='@:2.5',
- msg=('for versions prior to 2.6, tuning for specific'
- 'codes/configurations is not supported'))
+ conflicts(
+ "tune={0}".format(tvariant),
+ when="@:2.5",
+ msg=(
+ "for versions prior to 2.6, tuning for specific"
+ "codes/configurations is not supported"
+ ),
+ )
def url_for_version(self, version):
base_url = "https://github.com/evaleev/libint/archive"
- if version == Version('1.0.0'):
+ if version == Version("1.0.0"):
return "{0}/LIBINT_1_00.tar.gz".format(base_url)
- elif version < Version('2.1.0'):
+ elif version < Version("2.1.0"):
return "{0}/release-{1}.tar.gz".format(base_url, version.dashed)
else:
return "{0}/v{1}.tar.gz".format(base_url, version)
def autoreconf(self, spec, prefix):
if self.spec.satisfies("@2:"):
- which('bash')('autogen.sh')
+ which("bash")("autogen.sh")
else:
# Fall back since autogen is not available
libtoolize()
- aclocal('-I', 'lib/autoconf')
+ aclocal("-I", "lib/autoconf")
autoconf()
- if '@2.6.0:' in spec:
+ if "@2.6.0:" in spec:
# skip tarball creation and removal of dir with generated code
- filter_file(r'^(export::.*)\s+tgz$', r'\1', 'export/Makefile')
+ filter_file(r"^(export::.*)\s+tgz$", r"\1", "export/Makefile")
@property
def optflags(self):
- flags = '-O2'
+ flags = "-O2"
# microarchitecture-specific optimization flags should be controlled
# by Spack, otherwise we may end up with contradictory or invalid flags
@@ -101,98 +112,94 @@ class Libint(AutotoolsPackage):
def setup_build_environment(self, env):
# Set optimization flags
- env.set('CFLAGS', self.optflags)
- env.set('CXXFLAGS', self.optflags)
+ env.set("CFLAGS", self.optflags)
+ env.set("CXXFLAGS", self.optflags)
# Change AR to xiar if we compile with Intel and we
# find the executable
- if '%intel' in self.spec and which('xiar'):
- env.set('AR', 'xiar')
+ if "%intel" in self.spec and which("xiar"):
+ env.set("AR", "xiar")
def configure_args(self):
- config_args = [
- '--enable-shared'
- ]
+ config_args = ["--enable-shared"]
if self.spec.satisfies("@2:"):
# --with-boost option available only from version 2 and above
- config_args.extend([
- '--with-boost={0}'.format(self.spec['boost'].prefix)
- ])
+ config_args.extend(["--with-boost={0}".format(self.spec["boost"].prefix)])
# Optimization flag names have changed in libint 2
- if self.version < Version('2.0.0'):
- config_args.extend([
- '--with-cc-optflags={0}'.format(self.optflags),
- '--with-cxx-optflags={0}'.format(self.optflags)
- ])
+ if self.version < Version("2.0.0"):
+ config_args.extend(
+ [
+ "--with-cc-optflags={0}".format(self.optflags),
+ "--with-cxx-optflags={0}".format(self.optflags),
+ ]
+ )
else:
- config_args.extend([
- '--with-cxx-optflags={0}'.format(self.optflags),
- '--with-cxxgen-optflags={0}'.format(self.optflags)
- ])
+ config_args.extend(
+ [
+ "--with-cxx-optflags={0}".format(self.optflags),
+ "--with-cxxgen-optflags={0}".format(self.optflags),
+ ]
+ )
# Options required by CP2K, removed in libint 2
- if self.version < Version('2.0.0'):
- config_args.extend([
- '--with-libint-max-am=5',
- '--with-libderiv-max-am1=4'
- ])
-
- if '@2.6.0:' in self.spec:
- config_args += ['--with-libint-exportdir=generated']
- config_args += self.enable_or_disable(
- 'debug', activation_value=lambda x: 'opt')
- config_args += self.enable_or_disable('fma')
-
- tune_value = self.spec.variants['tune'].value
- if tune_value.startswith('cp2k'):
- lmax = int(tune_value.split('-lmax-')[1])
+ if self.version < Version("2.0.0"):
+ config_args.extend(["--with-libint-max-am=5", "--with-libderiv-max-am1=4"])
+
+ if "@2.6.0:" in self.spec:
+ config_args += ["--with-libint-exportdir=generated"]
+ config_args += self.enable_or_disable("debug", activation_value=lambda x: "opt")
+ config_args += self.enable_or_disable("fma")
+
+ tune_value = self.spec.variants["tune"].value
+ if tune_value.startswith("cp2k"):
+ lmax = int(tune_value.split("-lmax-")[1])
config_args += [
- '--enable-eri=1',
- '--enable-eri2=1',
- '--enable-eri3=1',
- '--with-max-am={0}'.format(lmax),
- '--with-eri-max-am={0},{1}'.format(lmax, lmax - 1),
- '--with-eri2-max-am={0},{1}'.format(lmax + 2, lmax + 1),
- '--with-eri3-max-am={0},{1}'.format(lmax + 2, lmax + 1),
- '--with-opt-am=3',
+ "--enable-eri=1",
+ "--enable-eri2=1",
+ "--enable-eri3=1",
+ "--with-max-am={0}".format(lmax),
+ "--with-eri-max-am={0},{1}".format(lmax, lmax - 1),
+ "--with-eri2-max-am={0},{1}".format(lmax + 2, lmax + 1),
+ "--with-eri3-max-am={0},{1}".format(lmax + 2, lmax + 1),
+ "--with-opt-am=3",
# keep code-size at an acceptable limit,
# cf. https://github.com/evaleev/libint/wiki#program-specific-notes:
- '--enable-generic-code',
- '--disable-unrolling',
+ "--enable-generic-code",
+ "--disable-unrolling",
]
- if tune_value.startswith('molgw'):
- lmax = int(tune_value.split('-lmax-')[1])
+ if tune_value.startswith("molgw"):
+ lmax = int(tune_value.split("-lmax-")[1])
config_args += [
- '--enable-1body=1',
- '--enable-eri=0',
- '--enable-eri2=0',
- '--enable-eri3=0',
- '--with-multipole-max-order=0',
- '--with-max-am={0}'.format(lmax),
- '--with-eri-max-am={0}'.format(lmax),
- '--with-eri2-max-am={0}'.format(lmax),
- '--with-eri3-max-am={0}'.format(lmax),
- '--with-opt-am=2',
- '--enable-contracted-ints',
+ "--enable-1body=1",
+ "--enable-eri=0",
+ "--enable-eri2=0",
+ "--enable-eri3=0",
+ "--with-multipole-max-order=0",
+ "--with-max-am={0}".format(lmax),
+ "--with-eri-max-am={0}".format(lmax),
+ "--with-eri2-max-am={0}".format(lmax),
+ "--with-eri3-max-am={0}".format(lmax),
+ "--with-opt-am=2",
+ "--enable-contracted-ints",
# keep code-size at an acceptable limit,
# cf. https://github.com/evaleev/libint/wiki#program-specific-notes:
- '--enable-generic-code',
- '--disable-unrolling',
+ "--enable-generic-code",
+ "--disable-unrolling",
]
return config_args
@property
def build_targets(self):
- if '@2.6.0:' in self.spec:
- return ['export']
+ if "@2.6.0:" in self.spec:
+ return ["export"]
return []
- @when('@2.6.0:')
+ @when("@2.6.0:")
def build(self, spec, prefix):
"""
Starting from libint 2.6.0 we're using the 2-stage build
@@ -204,37 +211,37 @@ class Libint(AutotoolsPackage):
# is deprecated and one should use CMake, but with the currently
# recent 2.7.0.b1 it still doesn't work
# first generate the libint compiler
- make('export')
+ make("export")
# now build the library
- with working_dir(os.path.join(self.build_directory, 'generated')):
+ with working_dir(os.path.join(self.build_directory, "generated")):
# straight from the AutotoolsPackage class:
config_args = [
- '--prefix={0}'.format(prefix),
- '--enable-shared',
- '--with-boost={0}'.format(self.spec['boost'].prefix),
- '--with-cxx-optflags={0}'.format(self.optflags),
+ "--prefix={0}".format(prefix),
+ "--enable-shared",
+ "--with-boost={0}".format(self.spec["boost"].prefix),
+ "--with-cxx-optflags={0}".format(self.optflags),
]
- config_args += self.enable_or_disable(
- 'debug', activation_value=lambda x: 'opt')
- config_args += self.enable_or_disable('fortran')
+ config_args += self.enable_or_disable("debug", activation_value=lambda x: "opt")
+ config_args += self.enable_or_disable("fortran")
- configure = Executable('./configure')
+ configure = Executable("./configure")
configure(*config_args)
make()
- @when('@2.6.0:')
+ @when("@2.6.0:")
def check(self):
- with working_dir(os.path.join(self.build_directory, 'generated')):
- make('check')
+ with working_dir(os.path.join(self.build_directory, "generated")):
+ make("check")
- @when('@2.6.0:')
+ @when("@2.6.0:")
def install(self, spec, prefix):
- with working_dir(os.path.join(self.build_directory, 'generated')):
- make('install')
+ with working_dir(os.path.join(self.build_directory, "generated")):
+ make("install")
def patch(self):
# Use Fortran compiler to link the Fortran example, not the C++
# compiler
- if '+fortran' in self.spec:
- filter_file('$(CXX) $(CXXFLAGS)', '$(FC) $(FCFLAGS)',
- 'export/fortran/Makefile', string=True)
+ if "+fortran" in self.spec:
+ filter_file(
+ "$(CXX) $(CXXFLAGS)", "$(FC) $(FCFLAGS)", "export/fortran/Makefile", string=True
+ )
diff --git a/var/spack/repos/builtin/packages/libisal/package.py b/var/spack/repos/builtin/packages/libisal/package.py
index 5fa545f23c..dc0bf9802d 100644
--- a/var/spack/repos/builtin/packages/libisal/package.py
+++ b/var/spack/repos/builtin/packages/libisal/package.py
@@ -11,17 +11,17 @@ class Libisal(AutotoolsPackage):
storage applications."""
homepage = "https://github.com/intel/isa-l"
- url = "https://github.com/intel/isa-l/archive/v2.29.0.tar.gz"
+ url = "https://github.com/intel/isa-l/archive/v2.29.0.tar.gz"
- version('2.29.0', sha256='832d9747ef3f0c8c05d39e3d7fd6ee5299a844e1ee7382fc8c8b52a268f36eda')
+ version("2.29.0", sha256="832d9747ef3f0c8c05d39e3d7fd6ee5299a844e1ee7382fc8c8b52a268f36eda")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('nasm', type='build')
+ depends_on("nasm", type="build")
def autoreconf(self, spec, prefix):
- autogen = Executable('./autogen.sh')
+ autogen = Executable("./autogen.sh")
autogen()
diff --git a/var/spack/repos/builtin/packages/libiscsi/package.py b/var/spack/repos/builtin/packages/libiscsi/package.py
index 36e868cbae..189ce7ffcf 100644
--- a/var/spack/repos/builtin/packages/libiscsi/package.py
+++ b/var/spack/repos/builtin/packages/libiscsi/package.py
@@ -11,18 +11,18 @@ class Libiscsi(AutotoolsPackage):
be used to access the resources of an iSCSI target."""
homepage = "https://github.com/sahlberg/libiscsi"
- url = "https://github.com/sahlberg/libiscsi/archive/1.19.0.tar.gz"
+ url = "https://github.com/sahlberg/libiscsi/archive/1.19.0.tar.gz"
- version('1.19.0', sha256='c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df')
- version('1.18.0', sha256='464d104e12533dc11f0dd7662cbc2f01c132f94aa4f5bd519e3413ef485830e8')
- version('1.17.0', sha256='80a7f75bfaffc8bec9920ba7af3f1d14cd862c35c3c5f2c9617b45b975232112')
- version('1.16.0', sha256='35c7be63a8c3a7cee7b697901b6d2dd464e098e1881671eb67462983053b3c7b')
- version('1.15.0', sha256='489e625e58c1e6da2fa3536f9c4b12290f2d3fb4ce14edc0583b8ba500605c34')
+ version("1.19.0", sha256="c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df")
+ version("1.18.0", sha256="464d104e12533dc11f0dd7662cbc2f01c132f94aa4f5bd519e3413ef485830e8")
+ version("1.17.0", sha256="80a7f75bfaffc8bec9920ba7af3f1d14cd862c35c3c5f2c9617b45b975232112")
+ version("1.16.0", sha256="35c7be63a8c3a7cee7b697901b6d2dd464e098e1881671eb67462983053b3c7b")
+ version("1.15.0", sha256="489e625e58c1e6da2fa3536f9c4b12290f2d3fb4ce14edc0583b8ba500605c34")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--force')
+ autoreconf("--install", "--force")
diff --git a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
index a81cd6192f..b6c4fc323a 100644
--- a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
+++ b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py
@@ -13,43 +13,56 @@ class LibjpegTurbo(Package):
libjpeg is a library that implements JPEG image encoding, decoding and
transcoding.
"""
+
# https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/BUILDING.md
homepage = "https://libjpeg-turbo.org/"
url = "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.3.tar.gz"
- version('2.1.3', sha256='dbda0c685942aa3ea908496592491e5ec8160d2cf1ec9d5fd5470e50768e7859')
- version('2.1.2', sha256='e7fdc8a255c45bc8fbd9aa11c1a49c23092fcd7379296aeaeb14d3343a3d1bed')
- version('2.1.1', sha256='20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4')
- version('2.1.0', sha256='d6b7790927d658108dfd3bee2f0c66a2924c51ee7f9dc930f62c452f4a638c52')
- version('2.0.6', sha256='005aee2fcdca252cee42271f7f90574dda64ca6505d9f8b86ae61abc2b426371')
- version('2.0.5', sha256='b3090cd37b5a8b3e4dbd30a1311b3989a894e5d3c668f14cbc6739d77c9402b7')
- version('2.0.4', sha256='7777c3c19762940cff42b3ba4d7cd5c52d1671b39a79532050c85efb99079064')
- version('2.0.3', sha256='a69598bf079463b34d45ca7268462a18b6507fdaa62bb1dfd212f02041499b5d')
- version('2.0.2', sha256='b45255bd476c19c7c6b198c07c0487e8b8536373b82f2b38346b32b4fa7bb942')
- version('1.5.90', sha256='cb948ade92561d8626fd7866a4a7ba3b952f9759ea3dd642927bc687470f60b7')
- version('1.5.3', sha256='1a17020f859cb12711175a67eab5c71fc1904e04b587046218e36106e07eabde', deprecated=True)
- version('1.5.0', sha256='232280e1c9c3e6a1de95fe99be2f7f9c0362ee08f3e3e48d50ee83b9a2ed955b', deprecated=True)
- version('1.3.1', sha256='5008aeeac303ea9159a0ec3ccff295434f4e63b05aed4a684c9964d497304524', deprecated=True)
+ version("2.1.3", sha256="dbda0c685942aa3ea908496592491e5ec8160d2cf1ec9d5fd5470e50768e7859")
+ version("2.1.2", sha256="e7fdc8a255c45bc8fbd9aa11c1a49c23092fcd7379296aeaeb14d3343a3d1bed")
+ version("2.1.1", sha256="20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4")
+ version("2.1.0", sha256="d6b7790927d658108dfd3bee2f0c66a2924c51ee7f9dc930f62c452f4a638c52")
+ version("2.0.6", sha256="005aee2fcdca252cee42271f7f90574dda64ca6505d9f8b86ae61abc2b426371")
+ version("2.0.5", sha256="b3090cd37b5a8b3e4dbd30a1311b3989a894e5d3c668f14cbc6739d77c9402b7")
+ version("2.0.4", sha256="7777c3c19762940cff42b3ba4d7cd5c52d1671b39a79532050c85efb99079064")
+ version("2.0.3", sha256="a69598bf079463b34d45ca7268462a18b6507fdaa62bb1dfd212f02041499b5d")
+ version("2.0.2", sha256="b45255bd476c19c7c6b198c07c0487e8b8536373b82f2b38346b32b4fa7bb942")
+ version("1.5.90", sha256="cb948ade92561d8626fd7866a4a7ba3b952f9759ea3dd642927bc687470f60b7")
+ version(
+ "1.5.3",
+ sha256="1a17020f859cb12711175a67eab5c71fc1904e04b587046218e36106e07eabde",
+ deprecated=True,
+ )
+ version(
+ "1.5.0",
+ sha256="232280e1c9c3e6a1de95fe99be2f7f9c0362ee08f3e3e48d50ee83b9a2ed955b",
+ deprecated=True,
+ )
+ version(
+ "1.3.1",
+ sha256="5008aeeac303ea9159a0ec3ccff295434f4e63b05aed4a684c9964d497304524",
+ deprecated=True,
+ )
- provides('jpeg')
+ provides("jpeg")
# Can use either of these. But in the current version of the package
# only nasm is used. In order to use yasm an environmental variable
# NASM must be set.
# TODO: Implement the selection between two supported assemblers.
# depends_on('yasm', type='build')
- depends_on('nasm', type='build')
- depends_on('autoconf', type='build', when='@1.3.1:1.5.3')
- depends_on('automake', type='build', when='@1.3.1:1.5.3')
- depends_on('libtool', type='build', when='@1.3.1:1.5.3')
- depends_on('cmake', type='build', when='@1.5.90:')
+ depends_on("nasm", type="build")
+ depends_on("autoconf", type="build", when="@1.3.1:1.5.3")
+ depends_on("automake", type="build", when="@1.3.1:1.5.3")
+ depends_on("libtool", type="build", when="@1.3.1:1.5.3")
+ depends_on("cmake", type="build", when="@1.5.90:")
@property
def libs(self):
- return find_libraries('libjpeg*', root=self.prefix, recursive=True)
+ return find_libraries("libjpeg*", root=self.prefix, recursive=True)
def flag_handler(self, name, flags):
- if self.spec.satisfies('@1.5.90:'):
+ if self.spec.satisfies("@1.5.90:"):
return (None, None, flags)
else:
# compiler flags for earlier version are injected into the
@@ -59,25 +72,24 @@ class LibjpegTurbo(Package):
def flags_to_build_system_args(self, flags):
# This only handles cflags, other flags are discarded
cmake_flag_args = []
- if 'cflags' in flags and flags['cflags']:
- cmake_flag_args.append('-DCMAKE_C_FLAGS={0}'.format(
- ' '.join(flags['cflags'])))
+ if "cflags" in flags and flags["cflags"]:
+ cmake_flag_args.append("-DCMAKE_C_FLAGS={0}".format(" ".join(flags["cflags"])))
self.cmake_flag_args = cmake_flag_args
- @when('@1.3.1:1.5.3')
+ @when("@1.3.1:1.5.3")
def install(self, spec, prefix):
- autoreconf('-ifv')
- configure('--prefix=%s' % prefix)
+ autoreconf("-ifv")
+ configure("--prefix=%s" % prefix)
make()
- make('install')
+ make("install")
- @when('@1.5.90:')
+ @when("@1.5.90:")
def install(self, spec, prefix):
- cmake_args = ['-GUnix Makefiles']
- if hasattr(self, 'cmake_flag_args'):
+ cmake_args = ["-GUnix Makefiles"]
+ if hasattr(self, "cmake_flag_args"):
cmake_args.extend(self.cmake_flag_args)
cmake_args.extend(std_cmake_args)
- with working_dir('spack-build', create=True):
- cmake('..', *cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *cmake_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libjpeg/package.py b/var/spack/repos/builtin/packages/libjpeg/package.py
index 9df1137757..796e109f83 100644
--- a/var/spack/repos/builtin/packages/libjpeg/package.py
+++ b/var/spack/repos/builtin/packages/libjpeg/package.py
@@ -12,17 +12,17 @@ class Libjpeg(AutotoolsPackage):
alongside various utilities for handling JPEG data."""
homepage = "http://www.ijg.org"
- url = "https://www.ijg.org/files/jpegsrc.v9d.tar.gz"
+ url = "https://www.ijg.org/files/jpegsrc.v9d.tar.gz"
- version('9e', sha256='4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d')
- version('9d', sha256='6c434a3be59f8f62425b2e3c077e785c9ce30ee5874ea1c270e843f273ba71ee')
- version('9c', sha256='650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122')
- version('9b', sha256='240fd398da741669bf3c90366f58452ea59041cacc741a489b99f2f6a0bad052')
- version('9a', sha256='3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7')
+ version("9e", sha256="4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d")
+ version("9d", sha256="6c434a3be59f8f62425b2e3c077e785c9ce30ee5874ea1c270e843f273ba71ee")
+ version("9c", sha256="650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122")
+ version("9b", sha256="240fd398da741669bf3c90366f58452ea59041cacc741a489b99f2f6a0bad052")
+ version("9a", sha256="3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7")
- provides('jpeg')
+ provides("jpeg")
def check(self):
# Libjpeg has both 'check' and 'test' targets that are aliases.
# Only need to run the tests once.
- make('check')
+ make("check")
diff --git a/var/spack/repos/builtin/packages/libjson/package.py b/var/spack/repos/builtin/packages/libjson/package.py
index d9b3012c2b..d6eaf1bf4c 100644
--- a/var/spack/repos/builtin/packages/libjson/package.py
+++ b/var/spack/repos/builtin/packages/libjson/package.py
@@ -12,16 +12,16 @@ class Libjson(MakefilePackage):
and structured data format."""
homepage = "https://github.com/vincenthz/libjson"
- url = "https://github.com/vincenthz/libjson/archive/v0.8.tar.gz"
+ url = "https://github.com/vincenthz/libjson/archive/v0.8.tar.gz"
- version('0.8', sha256='a6ffcc2f8f649daa9a3247569bbc09e405b17e30b72da31418cc68d771265db6')
- version('0.7', sha256='6620213876706a784532b743e1a4dac5710356af2f5578ebccb408e67fd2456a')
- version('0.6', sha256='55a094343e8c0fafc2060b73ba5555022257cddf7ac173f6f6c439793a6119d5')
- version('0.5', sha256='d19e149118c01c4a1f4cd16be3ce54bfc97a7210b6f0d76a3f8ef75bf70e8acd')
- version('0.4', sha256='9b3ebbeb1940dbd8664524d27e66d991fedc00cca9f403f9aa9c2f28104ca81b')
+ version("0.8", sha256="a6ffcc2f8f649daa9a3247569bbc09e405b17e30b72da31418cc68d771265db6")
+ version("0.7", sha256="6620213876706a784532b743e1a4dac5710356af2f5578ebccb408e67fd2456a")
+ version("0.6", sha256="55a094343e8c0fafc2060b73ba5555022257cddf7ac173f6f6c439793a6119d5")
+ version("0.5", sha256="d19e149118c01c4a1f4cd16be3ce54bfc97a7210b6f0d76a3f8ef75bf70e8acd")
+ version("0.4", sha256="9b3ebbeb1940dbd8664524d27e66d991fedc00cca9f403f9aa9c2f28104ca81b")
def edit(self, spec, prefix):
- filter_file('-o root -g root', '', 'Makefile')
+ filter_file("-o root -g root", "", "Makefile")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/libjwt/package.py b/var/spack/repos/builtin/packages/libjwt/package.py
index da3874a710..46a9719f36 100644
--- a/var/spack/repos/builtin/packages/libjwt/package.py
+++ b/var/spack/repos/builtin/packages/libjwt/package.py
@@ -10,23 +10,23 @@ class Libjwt(AutotoolsPackage):
"""libjwt JSON Web Token C Library"""
homepage = "https://github.com/benmcollins/libjwt"
- git = "https://github.com/benmcollins/libjwt"
- url = "https://github.com/benmcollins/libjwt/archive/v1.12.0.tar.gz"
+ git = "https://github.com/benmcollins/libjwt"
+ url = "https://github.com/benmcollins/libjwt/archive/v1.12.0.tar.gz"
- maintainers = ['bollig']
+ maintainers = ["bollig"]
- version('1.13.1', sha256='4df55ac89c6692adaf3badb43daf3241fd876612c9ab627e250dfc4bb59993d9')
- version('1.12.1', sha256='d29e4250d437340b076350e910e69fd5539ef8b92528d0306745cec0e343cc17')
- version('1.12.0', sha256='eaf5d8b31d867c02dde767efa2cf494840885a415a3c9a62680bf870a4511bee')
+ version("1.13.1", sha256="4df55ac89c6692adaf3badb43daf3241fd876612c9ab627e250dfc4bb59993d9")
+ version("1.12.1", sha256="d29e4250d437340b076350e910e69fd5539ef8b92528d0306745cec0e343cc17")
+ version("1.12.0", sha256="eaf5d8b31d867c02dde767efa2cf494840885a415a3c9a62680bf870a4511bee")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
# Needs openssl at runtime to ensure we can generate keys
- depends_on('openssl', type=('build', 'run'))
- depends_on('jansson')
+ depends_on("openssl", type=("build", "run"))
+ depends_on("jansson")
def configure_args(self):
- return ['--without-examples']
+ return ["--without-examples"]
diff --git a/var/spack/repos/builtin/packages/libkcapi/package.py b/var/spack/repos/builtin/packages/libkcapi/package.py
index 519af0b446..6e4da9aed4 100644
--- a/var/spack/repos/builtin/packages/libkcapi/package.py
+++ b/var/spack/repos/builtin/packages/libkcapi/package.py
@@ -10,13 +10,13 @@ class Libkcapi(AutotoolsPackage):
"""libkcapi allows user-space to access the Linux kernel crypto API."""
homepage = "https://github.com/smuellerDD/libkcapi"
- url = "https://github.com/smuellerDD/libkcapi/archive/v1.2.0.tar.gz"
+ url = "https://github.com/smuellerDD/libkcapi/archive/v1.2.0.tar.gz"
- version('1.2.0', sha256='8be75173c56342c8fe1c63a901c0d9cb750405abdc23288d04f549a960862867')
- version('1.1.5', sha256='ca38bf4d750dd2d3531ddb94d502feedb0f926bd9b29fb97e253b83bbceb6611')
- version('1.1.4', sha256='241ffa4f2813c6da442b1c1e152d489905ffab35a6c50e76aca5ee6fe60319dd')
+ version("1.2.0", sha256="8be75173c56342c8fe1c63a901c0d9cb750405abdc23288d04f549a960862867")
+ version("1.1.5", sha256="ca38bf4d750dd2d3531ddb94d502feedb0f926bd9b29fb97e253b83bbceb6611")
+ version("1.1.4", sha256="241ffa4f2813c6da442b1c1e152d489905ffab35a6c50e76aca5ee6fe60319dd")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libkml/package.py b/var/spack/repos/builtin/packages/libkml/package.py
index 80e98d7af2..10a3e602e1 100644
--- a/var/spack/repos/builtin/packages/libkml/package.py
+++ b/var/spack/repos/builtin/packages/libkml/package.py
@@ -14,59 +14,58 @@ class Libkml(CMakePackage):
# but this project is dead. See https://github.com/google/libkml/issues/4
homepage = "https://github.com/libkml/libkml"
- url = "https://github.com/libkml/libkml/archive/1.3.0.tar.gz"
+ url = "https://github.com/libkml/libkml/archive/1.3.0.tar.gz"
- version('1.3.0', sha256='8892439e5570091965aaffe30b08631fdf7ca7f81f6495b4648f0950d7ea7963')
+ version("1.3.0", sha256="8892439e5570091965aaffe30b08631fdf7ca7f81f6495b4648f0950d7ea7963")
- variant('java', default=False, description='Build java bindings')
- variant('python', default=False, description='Build python bindings')
+ variant("java", default=False, description="Build java bindings")
+ variant("python", default=False, description="Build python bindings")
- extends('openjdk', when='+java')
- extends('python', when='+python')
+ extends("openjdk", when="+java")
+ extends("python", when="+python")
# See DEPENDENCIES
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
# FIXME: Can the maintainers confirm if this is a required dependency
- depends_on('boost@1.44.0:')
+ depends_on("boost@1.44.0:")
depends_on(Boost.with_default_variants)
- depends_on('expat@2.1.0:')
- depends_on('minizip@1.2.8:')
- depends_on('uriparser')
- depends_on('zlib@1.2.8:')
- depends_on('googletest@1.7.0:', type='link')
- depends_on('swig', when='+java', type='build')
- depends_on('swig', when='+python', type='build')
+ depends_on("expat@2.1.0:")
+ depends_on("minizip@1.2.8:")
+ depends_on("uriparser")
+ depends_on("zlib@1.2.8:")
+ depends_on("googletest@1.7.0:", type="link")
+ depends_on("swig", when="+java", type="build")
+ depends_on("swig", when="+python", type="build")
@property
def libs(self):
- return find_libraries('libkmlbase', root=self.prefix, recursive=True)
+ return find_libraries("libkmlbase", root=self.prefix, recursive=True)
def cmake_args(self):
spec = self.spec
args = []
- if '+java' in spec:
- args.append('-DWITH_JAVA:BOOL=ON')
+ if "+java" in spec:
+ args.append("-DWITH_JAVA:BOOL=ON")
else:
- args.append('-DWITH_JAVA:BOOL=OFF')
+ args.append("-DWITH_JAVA:BOOL=OFF")
- if '+python' in spec:
- args.append('-DWITH_PYTHON:BOOL=ON')
+ if "+python" in spec:
+ args.append("-DWITH_PYTHON:BOOL=ON")
else:
- args.append('-DWITH_PYTHON:BOOL=OFF')
+ args.append("-DWITH_PYTHON:BOOL=OFF")
if self.run_tests:
- args.append('-DBUILD_TESTING:BOOL=ON')
- args.append('-DGTEST_INCLUDE_DIR:PATH={0}'.format(
- spec['googletest'].prefix.include))
+ args.append("-DBUILD_TESTING:BOOL=ON")
+ args.append("-DGTEST_INCLUDE_DIR:PATH={0}".format(spec["googletest"].prefix.include))
else:
- args.append('-DBUILD_TESTING:BOOL=OFF')
+ args.append("-DBUILD_TESTING:BOOL=OFF")
return args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libksba/package.py b/var/spack/repos/builtin/packages/libksba/package.py
index 224c0eb328..9cb7d40c94 100644
--- a/var/spack/repos/builtin/packages/libksba/package.py
+++ b/var/spack/repos/builtin/packages/libksba/package.py
@@ -15,21 +15,21 @@ class Libksba(AutotoolsPackage):
homepage = "https://gnupg.org/software/libksba/index.html"
url = "https://gnupg.org/ftp/gcrypt/libksba/libksba-1.3.5.tar.bz2"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('1.6.0', sha256='dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b')
- version('1.5.1', sha256='b0f4c65e4e447d9a2349f6b8c0e77a28be9531e4548ba02c545d1f46dc7bf921')
- version('1.5.0', sha256='ae4af129216b2d7fdea0b5bf2a788cd458a79c983bb09a43f4d525cc87aba0ba')
- version('1.4.0', sha256='bfe6a8e91ff0f54d8a329514db406667000cb207238eded49b599761bfca41b6')
- version('1.3.5', sha256='41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340')
+ version("1.6.0", sha256="dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b")
+ version("1.5.1", sha256="b0f4c65e4e447d9a2349f6b8c0e77a28be9531e4548ba02c545d1f46dc7bf921")
+ version("1.5.0", sha256="ae4af129216b2d7fdea0b5bf2a788cd458a79c983bb09a43f4d525cc87aba0ba")
+ version("1.4.0", sha256="bfe6a8e91ff0f54d8a329514db406667000cb207238eded49b599761bfca41b6")
+ version("1.3.5", sha256="41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340")
- depends_on('libgpg-error@1.8:')
+ depends_on("libgpg-error@1.8:")
- conflicts('%apple-clang@12:', when='@:1.3')
+ conflicts("%apple-clang@12:", when="@:1.3")
def configure_args(self):
return [
- '--enable-static',
- '--enable-shared',
- '--with-libgpg-error-prefix=' + self.spec['libgpg-error'].prefix
+ "--enable-static",
+ "--enable-shared",
+ "--with-libgpg-error-prefix=" + self.spec["libgpg-error"].prefix,
]
diff --git a/var/spack/repos/builtin/packages/liblas/package.py b/var/spack/repos/builtin/packages/liblas/package.py
index a02db90782..5c3f318dfc 100644
--- a/var/spack/repos/builtin/packages/liblas/package.py
+++ b/var/spack/repos/builtin/packages/liblas/package.py
@@ -12,44 +12,44 @@ class Liblas(CMakePackage):
"""
homepage = "https://liblas.org/"
- url = "https://download.osgeo.org/liblas/libLAS-1.8.1.tar.bz2"
+ url = "https://download.osgeo.org/liblas/libLAS-1.8.1.tar.bz2"
- version('1.8.1', sha256='9adb4a98c63b461ed2bc82e214ae522cbd809cff578f28511122efe6c7ea4e76')
+ version("1.8.1", sha256="9adb4a98c63b461ed2bc82e214ae522cbd809cff578f28511122efe6c7ea4e76")
# libLAS linkage of GDAL and libgeotiff enhances spatial coordinate system
# description and provides data reprojection support.
# Ref.: https://liblas.org/compilation.html#optional-libraries
- variant('endian', default=False, description='Build with "Endian-aware" option')
- variant('gdal', default=False, description='Build with GDAL for enhanced performance')
- variant('geotiff', default=True, description='Build with GeoTIFF for enhanced performance')
- variant('laszip', default=False, description='Build with LasZip')
+ variant("endian", default=False, description='Build with "Endian-aware" option')
+ variant("gdal", default=False, description="Build with GDAL for enhanced performance")
+ variant("geotiff", default=True, description="Build with GeoTIFF for enhanced performance")
+ variant("laszip", default=False, description="Build with LasZip")
- depends_on('cmake@2.6:', type='build')
- depends_on('libgeotiff@1.3:', when='+geotiff')
- depends_on('boost@1.42:1.72+program_options+thread+system+iostreams+filesystem')
- depends_on('laszip@2.0.1:', when='+laszip')
- depends_on('gdal@1.7:', when='+gdal')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("libgeotiff@1.3:", when="+geotiff")
+ depends_on("boost@1.42:1.72+program_options+thread+system+iostreams+filesystem")
+ depends_on("laszip@2.0.1:", when="+laszip")
+ depends_on("gdal@1.7:", when="+gdal")
def cmake_args(self):
args = []
- if '+endian' in self.spec:
- args.append('-DWITH_ENDIANAWARE=ON')
+ if "+endian" in self.spec:
+ args.append("-DWITH_ENDIANAWARE=ON")
else:
- args.append('-DWITH_ENDIANAWARE=OFF')
+ args.append("-DWITH_ENDIANAWARE=OFF")
- if '+gdal' in self.spec:
- args.append('-DWITH_GDAL=ON')
+ if "+gdal" in self.spec:
+ args.append("-DWITH_GDAL=ON")
else:
- args.append('-DWITH_GDAL=OFF')
+ args.append("-DWITH_GDAL=OFF")
- if '+geotiff' in self.spec:
- args.append('-DWITH_GEOTIFF=ON')
+ if "+geotiff" in self.spec:
+ args.append("-DWITH_GEOTIFF=ON")
else:
- args.append('-DWITH_GEOTIFF=OFF')
+ args.append("-DWITH_GEOTIFF=OFF")
- if '+laszip' in self.spec:
- args.append('-DWITH_LASZIP=ON')
+ if "+laszip" in self.spec:
+ args.append("-DWITH_LASZIP=ON")
else:
- args.append('-DWITH_LASZIP=OFF')
+ args.append("-DWITH_LASZIP=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/liblbfgs/package.py b/var/spack/repos/builtin/packages/liblbfgs/package.py
index faabb53063..83c78e4c2b 100644
--- a/var/spack/repos/builtin/packages/liblbfgs/package.py
+++ b/var/spack/repos/builtin/packages/liblbfgs/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Liblbfgs(AutotoolsPackage):
"""libLBFGS is a C port of the implementation of Limited-memory
- Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method written by Jorge Nocedal.
+ Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) method written by Jorge Nocedal.
- The L-BFGS method solves the unconstrainted minimization problem:
- minimize F(x), x = (x1, x2, ..., xN),
- only if the objective function F(x) and its gradient G(x) are computable."""
+ The L-BFGS method solves the unconstrainted minimization problem:
+ minimize F(x), x = (x1, x2, ..., xN),
+ only if the objective function F(x) and its gradient G(x) are computable."""
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"
+ url = "https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz"
+ git = "https://github.com/chokkan/liblbfgs.git"
- maintainers = ['RemiLacroix-IDRIS']
+ maintainers = ["RemiLacroix-IDRIS"]
- version('master', branch='master')
- version('1.10', sha256='4158ab7402b573e5c69d5f6b03c973047a91e16ca5737d3347e3af9c906868cf')
+ version("master", branch="master")
+ version("1.10", sha256="4158ab7402b573e5c69d5f6b03c973047a91e16ca5737d3347e3af9c906868cf")
- 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("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")
diff --git a/var/spack/repos/builtin/packages/liblbxutil/package.py b/var/spack/repos/builtin/packages/liblbxutil/package.py
index a6fd7ef979..cd24baa150 100644
--- a/var/spack/repos/builtin/packages/liblbxutil/package.py
+++ b/var/spack/repos/builtin/packages/liblbxutil/package.py
@@ -12,13 +12,13 @@ class Liblbxutil(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/liblbxutil"
xorg_mirror_path = "lib/liblbxutil-1.1.0.tar.gz"
- version('1.1.0', sha256='285c1bc688cc71ec089e9284f2566d1780cc5d90816e9997890af8689f386951')
+ version("1.1.0", sha256="285c1bc688cc71ec089e9284f2566d1780cc5d90816e9997890af8689f386951")
- depends_on('xextproto@7.0.99.1:')
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
- depends_on('zlib', type='link')
+ depends_on("xextproto@7.0.99.1:")
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
+ depends_on("zlib", type="link")
# There is a bug in the library that causes the following messages:
# undefined symbol: Xfree
diff --git a/var/spack/repos/builtin/packages/liblockfile/package.py b/var/spack/repos/builtin/packages/liblockfile/package.py
index 7e66571f88..3d52f15284 100644
--- a/var/spack/repos/builtin/packages/liblockfile/package.py
+++ b/var/spack/repos/builtin/packages/liblockfile/package.py
@@ -10,12 +10,12 @@ class Liblockfile(AutotoolsPackage):
"""NFS-safe locking library"""
homepage = "https://github.com/miquels/liblockfile"
- url = "https://github.com/miquels/liblockfile/archive/v1.14.tar.gz"
+ url = "https://github.com/miquels/liblockfile/archive/v1.14.tar.gz"
- version('1.14', sha256='be85dba347889d9b65cbd361a611e6b88e044fdca9c98e5139d5fbc9ba37ccc8')
+ version("1.14", sha256="be85dba347889d9b65cbd361a611e6b88e044fdca9c98e5139d5fbc9ba37ccc8")
- patch('install_as_nonroot.patch')
+ patch("install_as_nonroot.patch")
def configure_args(self):
- args = ['--enable-shared']
+ args = ["--enable-shared"]
return args
diff --git a/var/spack/repos/builtin/packages/liblognorm/package.py b/var/spack/repos/builtin/packages/liblognorm/package.py
index 85b5918653..7375eeeb3c 100644
--- a/var/spack/repos/builtin/packages/liblognorm/package.py
+++ b/var/spack/repos/builtin/packages/liblognorm/package.py
@@ -10,18 +10,18 @@ class Liblognorm(AutotoolsPackage):
"""Liblognorm is a fast-samples based normalization library."""
homepage = "https://www.liblognorm.com/"
- url = "https://github.com/rsyslog/liblognorm/archive/v2.0.6.tar.gz"
+ url = "https://github.com/rsyslog/liblognorm/archive/v2.0.6.tar.gz"
- version('2.0.6', sha256='594ea3318ef419cb7f21cf81c513db35a838b32207999a11a82b709da9ff9a2b')
- version('2.0.5', sha256='dd779b6992de37995555e1d54caf0716a694765efc65480eed2c713105ab46fe')
- version('2.0.4', sha256='af4d7d8ce11fb99514169f288163f87cb9ade1cb79595656d96b51b2482c493d')
- version('2.0.3', sha256='fac2a6a5adbeb63d06a63ab2e398b3fac8625d0ea69db68f1d81196897a9d687')
- version('2.0.2', sha256='bdd08e9837e8fcca5029ec12c9fb9f16593313f9d743625bab062250e0daa5d8')
+ version("2.0.6", sha256="594ea3318ef419cb7f21cf81c513db35a838b32207999a11a82b709da9ff9a2b")
+ version("2.0.5", sha256="dd779b6992de37995555e1d54caf0716a694765efc65480eed2c713105ab46fe")
+ version("2.0.4", sha256="af4d7d8ce11fb99514169f288163f87cb9ade1cb79595656d96b51b2482c493d")
+ version("2.0.3", sha256="fac2a6a5adbeb63d06a63ab2e398b3fac8625d0ea69db68f1d81196897a9d687")
+ version("2.0.2", sha256="bdd08e9837e8fcca5029ec12c9fb9f16593313f9d743625bab062250e0daa5d8")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libestr')
- depends_on('libfastjson')
+ depends_on("libestr")
+ depends_on("libfastjson")
diff --git a/var/spack/repos/builtin/packages/liblouis/package.py b/var/spack/repos/builtin/packages/liblouis/package.py
index 181ee9b779..07c403f2b9 100644
--- a/var/spack/repos/builtin/packages/liblouis/package.py
+++ b/var/spack/repos/builtin/packages/liblouis/package.py
@@ -11,11 +11,11 @@ class Liblouis(AutotoolsPackage):
named in honor of Louis Braille."""
homepage = "http://liblouis.org/"
- url = "https://github.com/liblouis/liblouis/releases/download/v3.15.0/liblouis-3.15.0.tar.gz"
+ url = "https://github.com/liblouis/liblouis/releases/download/v3.15.0/liblouis-3.15.0.tar.gz"
- version('3.17.0', sha256='78c71476467850935d145010c8fcb26b513df1843505b3eb4c41888541a0113d')
- version('3.15.0', sha256='3a381b132b140747e5fcd47354da6cf43959da2167f8bc598430bbac51224467')
- version('3.14.0', sha256='f5b25f8059dd76595aeb419b1522dda78f281a75a7c56dceaaa443f8c437306a')
- version('3.13.0', sha256='2803b89a2bff9f02032125fa7b7d0a204a60d8d14f232242344b5f09535e9a01')
- version('3.12.0', sha256='87d9bad6d75916270bad14bb22fa5f487c7edee4774878c04bef82833bc9467d')
- version('3.11.0', sha256='b802aba0bff49636907ca748225e21c56ecf3f3ebc143d582430036d4d9f6259')
+ version("3.17.0", sha256="78c71476467850935d145010c8fcb26b513df1843505b3eb4c41888541a0113d")
+ version("3.15.0", sha256="3a381b132b140747e5fcd47354da6cf43959da2167f8bc598430bbac51224467")
+ version("3.14.0", sha256="f5b25f8059dd76595aeb419b1522dda78f281a75a7c56dceaaa443f8c437306a")
+ version("3.13.0", sha256="2803b89a2bff9f02032125fa7b7d0a204a60d8d14f232242344b5f09535e9a01")
+ version("3.12.0", sha256="87d9bad6d75916270bad14bb22fa5f487c7edee4774878c04bef82833bc9467d")
+ version("3.11.0", sha256="b802aba0bff49636907ca748225e21c56ecf3f3ebc143d582430036d4d9f6259")
diff --git a/var/spack/repos/builtin/packages/libluv/package.py b/var/spack/repos/builtin/packages/libluv/package.py
index 433ff1c136..eb8d0f43a3 100644
--- a/var/spack/repos/builtin/packages/libluv/package.py
+++ b/var/spack/repos/builtin/packages/libluv/package.py
@@ -12,21 +12,21 @@ class Libluv(CMakePackage):
any lua project."""
homepage = "https://github.com/luvit/luv"
- url = "https://github.com/luvit/luv/releases/download/1.36.0-0/luv-1.36.0-0.tar.gz"
+ url = "https://github.com/luvit/luv/releases/download/1.36.0-0/luv-1.36.0-0.tar.gz"
- version('1.43.0-0', sha256='567a6f3dcdcf8a9b54ddc57ffef89d1e950d72832b85ee81c8c83a9d4e0e9de2')
- version('1.42.0-1', sha256='4b6fbaa89d2420edf6070ad9e522993e132bd7eb2540ff754c2b9f1497744db2')
- version('1.42.0-0', sha256='b5228a9d0eaacd9f862b6270c732d5c90773a28ce53b6d9e32a14050e7947f36')
- version('1.36.0-0', sha256='f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445')
+ version("1.43.0-0", sha256="567a6f3dcdcf8a9b54ddc57ffef89d1e950d72832b85ee81c8c83a9d4e0e9de2")
+ version("1.42.0-1", sha256="4b6fbaa89d2420edf6070ad9e522993e132bd7eb2540ff754c2b9f1497744db2")
+ version("1.42.0-0", sha256="b5228a9d0eaacd9f862b6270c732d5c90773a28ce53b6d9e32a14050e7947f36")
+ version("1.36.0-0", sha256="f2e7eb372574f25c6978c1dc74280d22efdcd7df2dda4a286c7fe7dceda26445")
- depends_on('lua-lang', type='link')
- depends_on('libuv', type='link')
+ depends_on("lua-lang", type="link")
+ depends_on("libuv", type="link")
def cmake_args(self):
args = [
- '-DLUA_BUILD_TYPE=System',
- '-DBUILD_STATIC_LIBS=ON',
- '-DBUILD_SHARED_LIBS=ON',
- '-DWITH_SHARED_LIBUV=ON',
+ "-DLUA_BUILD_TYPE=System",
+ "-DBUILD_STATIC_LIBS=ON",
+ "-DBUILD_SHARED_LIBS=ON",
+ "-DWITH_SHARED_LIBUV=ON",
]
return args
diff --git a/var/spack/repos/builtin/packages/liblzf/package.py b/var/spack/repos/builtin/packages/liblzf/package.py
index f58ade1d89..12ef9adcd0 100644
--- a/var/spack/repos/builtin/packages/liblzf/package.py
+++ b/var/spack/repos/builtin/packages/liblzf/package.py
@@ -14,6 +14,6 @@ class Liblzf(AutotoolsPackage):
in portable C."""
homepage = "http://oldhome.schmorp.de/marc/liblzf.html"
- url = "http://dist.schmorp.de/liblzf/liblzf-3.6.tar.gz"
+ url = "http://dist.schmorp.de/liblzf/liblzf-3.6.tar.gz"
- version('3.6', sha256='9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a')
+ version("3.6", sha256="9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a")
diff --git a/var/spack/repos/builtin/packages/libmacaroons/package.py b/var/spack/repos/builtin/packages/libmacaroons/package.py
index 0c690b28e3..b2f48f0d64 100644
--- a/var/spack/repos/builtin/packages/libmacaroons/package.py
+++ b/var/spack/repos/builtin/packages/libmacaroons/package.py
@@ -7,20 +7,20 @@ from spack.package import *
class Libmacaroons(AutotoolsPackage):
- """"This library provides an implementation of macaroons[1], which
+ """ "This library provides an implementation of macaroons[1], which
are flexible authorization tokens that work great in distributed
systems."""
homepage = "https://github.com/rescrv/libmacaroons/"
- url = "https://github.com/rescrv/libmacaroons/archive/releases/0.3.0.tar.gz"
+ url = "https://github.com/rescrv/libmacaroons/archive/releases/0.3.0.tar.gz"
- version('0.3.0', sha256='e1db403c01b0407a276a84b2aaf54515faebe1a5c1a31ec10857a1917161d109')
- version('0.2.0', sha256='fa2146d89a4e844703896ece778f0c42b2b0ee3d09dea350ff34fd6873e72018')
- version('0.1.0', sha256='0aa413d8a793f004874695466f93eed9c8e721524765704fe410694583928007')
+ version("0.3.0", sha256="e1db403c01b0407a276a84b2aaf54515faebe1a5c1a31ec10857a1917161d109")
+ version("0.2.0", sha256="fa2146d89a4e844703896ece778f0c42b2b0ee3d09dea350ff34fd6873e72018")
+ version("0.1.0", sha256="0aa413d8a793f004874695466f93eed9c8e721524765704fe410694583928007")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libsodium')
+ depends_on("libsodium")
diff --git a/var/spack/repos/builtin/packages/libmad/package.py b/var/spack/repos/builtin/packages/libmad/package.py
index a02a5368e4..cad29f087f 100644
--- a/var/spack/repos/builtin/packages/libmad/package.py
+++ b/var/spack/repos/builtin/packages/libmad/package.py
@@ -10,18 +10,18 @@ class Libmad(AutotoolsPackage):
"""MAD is a high-quality MPEG audio decoder."""
homepage = "https://www.underbit.com/products/mad/"
- url = "ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz"
+ url = "ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz"
list_url = "ftp://ftp.mars.org/pub/mpeg/"
- version('0.15.1b', sha256='bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690')
+ version("0.15.1b", sha256="bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# Patch orignally from here, adapted to create missing files:
# https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libmad.html
- patch('libmad-0.15.1b.patch')
+ patch("libmad-0.15.1b.patch")
force_autoreconf = True
diff --git a/var/spack/repos/builtin/packages/libmatheval/package.py b/var/spack/repos/builtin/packages/libmatheval/package.py
index 412ed31afa..3621090848 100644
--- a/var/spack/repos/builtin/packages/libmatheval/package.py
+++ b/var/spack/repos/builtin/packages/libmatheval/package.py
@@ -17,16 +17,16 @@ class Libmatheval(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/libmatheval/"
gnu_mirror_path = "libmatheval/libmatheval-1.1.11.tar.gz"
- version('1.1.11', sha256='474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab')
+ version("1.1.11", sha256="474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab")
# Only needed for unit tests, but configure crashes without it
- depends_on('guile', type='build')
+ depends_on("guile", type="build")
- depends_on('flex')
+ depends_on("flex")
# guile 2.0 provides a deprecated interface for the unit test using guile
- patch('guile-2.0.patch', when='^guile@2.0')
+ patch("guile-2.0.patch", when="^guile@2.0")
# guile 2.2 does not support deprecated functions any longer
# the patch skips the unit tests
- patch('guile-2.2.patch', when='^guile@2.2:')
+ patch("guile-2.2.patch", when="^guile@2.2:")
diff --git a/var/spack/repos/builtin/packages/libmaus2/package.py b/var/spack/repos/builtin/packages/libmaus2/package.py
index 6df396bdab..12653a4e90 100644
--- a/var/spack/repos/builtin/packages/libmaus2/package.py
+++ b/var/spack/repos/builtin/packages/libmaus2/package.py
@@ -10,24 +10,27 @@ class Libmaus2(AutotoolsPackage):
"""libmaus2 is a collection of data structures and algorithmse."""
homepage = "https://gitlab.com/german.tischler/libmaus2"
- url = "https://gitlab.com/german.tischler/libmaus2/-/archive/2.0.767-release-20201123131410/libmaus2-2.0.767-release-20201123131410.tar.gz"
+ url = "https://gitlab.com/german.tischler/libmaus2/-/archive/2.0.767-release-20201123131410/libmaus2-2.0.767-release-20201123131410.tar.gz"
- version('2.0.767', sha256='40cec9bef2fb61d8df0a35cdf76c59a1d8389686d393805138c364d0c029f03c',
- url='https://gitlab.com/german.tischler/libmaus2/-/archive/2.0.767-release-20201123131410/libmaus2-2.0.767-release-20201123131410.tar.gz')
+ version(
+ "2.0.767",
+ sha256="40cec9bef2fb61d8df0a35cdf76c59a1d8389686d393805138c364d0c029f03c",
+ url="https://gitlab.com/german.tischler/libmaus2/-/archive/2.0.767-release-20201123131410/libmaus2-2.0.767-release-20201123131410.tar.gz",
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
conflicts(
- '%gcc@:7.9',
+ "%gcc@:7.9",
msg=(
"libmaus2 uses std::filesystem. "
"std::filesystem requires greater than or equal to GCC 8."
- )
+ ),
)
def setup_build_environment(self, env):
- if self.spec.satisfies('%gcc@8.0:8.9') or self.spec.satisfies('%fj'):
- env.append_flags('LDFLAGS', "-lstdc++fs")
+ if self.spec.satisfies("%gcc@8.0:8.9") or self.spec.satisfies("%fj"):
+ env.append_flags("LDFLAGS", "-lstdc++fs")
diff --git a/var/spack/repos/builtin/packages/libmaxminddb/package.py b/var/spack/repos/builtin/packages/libmaxminddb/package.py
index 149025eaeb..7f0e5d1c21 100644
--- a/var/spack/repos/builtin/packages/libmaxminddb/package.py
+++ b/var/spack/repos/builtin/packages/libmaxminddb/package.py
@@ -10,12 +10,12 @@ class Libmaxminddb(AutotoolsPackage):
"""C library for the MaxMind DB file format"""
homepage = "https://github.com/maxmind/libmaxminddb"
- url = "https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz"
+ url = (
+ "https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz"
+ )
- version('1.3.2', sha256='e6f881aa6bd8cfa154a44d965450620df1f714c6dc9dd9971ad98f6e04f6c0f0')
+ version("1.3.2", sha256="e6f881aa6bd8cfa154a44d965450620df1f714c6dc9dd9971ad98f6e04f6c0f0")
def configure_args(self):
- args = ['--disable-debug',
- '--disable-dependency-tracking',
- '--disable-silent-rules']
+ args = ["--disable-debug", "--disable-dependency-tracking", "--disable-silent-rules"]
return args
diff --git a/var/spack/repos/builtin/packages/libmbim/package.py b/var/spack/repos/builtin/packages/libmbim/package.py
index 9e480afb2a..c3bf57458c 100644
--- a/var/spack/repos/builtin/packages/libmbim/package.py
+++ b/var/spack/repos/builtin/packages/libmbim/package.py
@@ -12,21 +12,21 @@ class Libmbim(AutotoolsPackage):
protocol."""
homepage = "https://github.com/linux-mobile-broadband/libmbim/"
- url = "https://github.com/linux-mobile-broadband/libmbim/archive/1.20.4.tar.gz"
+ url = "https://github.com/linux-mobile-broadband/libmbim/archive/1.20.4.tar.gz"
- version('1.20.4', sha256='edb56afb862a7756dc097086d8fa791c93332f6f1daf27759eff6ddc99a0f50d')
- version('1.18.0', sha256='47003bfdf78bf32009a1d917f30c063079fa5bd4afc739d6d8ec356070b270df')
- version('1.16.2', sha256='06b7a9e8430c6ab213d96c71a71469aefc86deb52cffd5e4f75121d9a79545e2')
- version('1.16.0', sha256='d123426678f415c2ac4544534ed8a9ff54d133c2ba8c982ce667b793e54f8e99')
- version('1.14.4', sha256='4b2e8723ea50b2e1d22695850c40abb9f7bcb713ea3b9f91f2c350aaa6ae8d1c')
- version('1.14.2', sha256='bf161c4f78327f8422fd6a820e7e5571d99b719af45429e581bfd6a1585fe4a8')
+ version("1.20.4", sha256="edb56afb862a7756dc097086d8fa791c93332f6f1daf27759eff6ddc99a0f50d")
+ version("1.18.0", sha256="47003bfdf78bf32009a1d917f30c063079fa5bd4afc739d6d8ec356070b270df")
+ version("1.16.2", sha256="06b7a9e8430c6ab213d96c71a71469aefc86deb52cffd5e4f75121d9a79545e2")
+ version("1.16.0", sha256="d123426678f415c2ac4544534ed8a9ff54d133c2ba8c982ce667b793e54f8e99")
+ version("1.14.4", sha256="4b2e8723ea50b2e1d22695850c40abb9f7bcb713ea3b9f91f2c350aaa6ae8d1c")
+ version("1.14.2", sha256="bf161c4f78327f8422fd6a820e7e5571d99b719af45429e581bfd6a1585fe4a8")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('glib@:2.62.0')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("glib@:2.62.0")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libmcrypt/package.py b/var/spack/repos/builtin/packages/libmcrypt/package.py
index f2c00a0620..f3083eb937 100644
--- a/var/spack/repos/builtin/packages/libmcrypt/package.py
+++ b/var/spack/repos/builtin/packages/libmcrypt/package.py
@@ -12,6 +12,6 @@ class Libmcrypt(AutotoolsPackage):
algorithms."""
homepage = "https://sourceforge.net/projects/mcrypt/files/Libmcrypt/"
- url = "https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz"
+ url = "https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz"
- version('2.5.8', sha256='e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e')
+ version("2.5.8", sha256="e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e")
diff --git a/var/spack/repos/builtin/packages/libmd/package.py b/var/spack/repos/builtin/packages/libmd/package.py
index 235e2786d7..3afddf1967 100644
--- a/var/spack/repos/builtin/packages/libmd/package.py
+++ b/var/spack/repos/builtin/packages/libmd/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Libmd(AutotoolsPackage):
"""This library provides message digest functions found on BSD systems
- either on their libc (NetBSD, OpenBSD) or libmd (FreeBSD, DragonflyBSD,
- macOS, Solaris) libraries and lacking on others like GNU systems."""
+ either on their libc (NetBSD, OpenBSD) or libmd (FreeBSD, DragonflyBSD,
+ macOS, Solaris) libraries and lacking on others like GNU systems."""
homepage = "https://www.hadrons.org/software/libmd/"
- url = "https://archive.hadrons.org/software/libmd/libmd-1.0.3.tar.xz"
+ url = "https://archive.hadrons.org/software/libmd/libmd-1.0.3.tar.xz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('1.0.4', sha256='f51c921042e34beddeded4b75557656559cf5b1f2448033b4c1eec11c07e530f')
- version('1.0.3', sha256='5a02097f95cc250a3f1001865e4dbba5f1d15554120f95693c0541923c52af4a')
- version('1.0.2', sha256='dc66b8278f82e7e1bf774fbd4bc83a0348e8f27afa185b2c2779cfcb3da25013')
- version('1.0.1', sha256='e14eeb931cf85330f95ff822262d3033125488dfb2f867441e36e2d2c4a34c71')
- version('1.0.0', sha256='f21aea69f6411cb4307cda1f6378c7ed07830202b5f4cb9e64f681fdaf2d64c7')
+ version("1.0.4", sha256="f51c921042e34beddeded4b75557656559cf5b1f2448033b4c1eec11c07e530f")
+ version("1.0.3", sha256="5a02097f95cc250a3f1001865e4dbba5f1d15554120f95693c0541923c52af4a")
+ version("1.0.2", sha256="dc66b8278f82e7e1bf774fbd4bc83a0348e8f27afa185b2c2779cfcb3da25013")
+ version("1.0.1", sha256="e14eeb931cf85330f95ff822262d3033125488dfb2f867441e36e2d2c4a34c71")
+ version("1.0.0", sha256="f21aea69f6411cb4307cda1f6378c7ed07830202b5f4cb9e64f681fdaf2d64c7")
# Use wrapper functions instead of __attribute__ __alias__
- patch('nvhpc-aliases.patch', when='%nvhpc')
+ patch("nvhpc-aliases.patch", when="%nvhpc")
diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py
index 727d471187..45b4bfb1c0 100644
--- a/var/spack/repos/builtin/packages/libmesh/package.py
+++ b/var/spack/repos/builtin/packages/libmesh/package.py
@@ -9,38 +9,64 @@ from spack.pkg.builtin.boost import Boost
class Libmesh(AutotoolsPackage):
"""The libMesh library provides a framework for the numerical simulation of
- partial differential equations using arbitrary unstructured
- discretizations on serial and parallel platforms."""
+ partial differential equations using arbitrary unstructured
+ discretizations on serial and parallel platforms."""
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"
+ url = "https://github.com/libMesh/libmesh/releases/download/v1.0.0/libmesh-1.0.0.tar.bz2"
+ git = "https://github.com/libMesh/libmesh.git"
- version('master', branch='master', submodules=True)
+ version("master", branch="master", submodules=True)
- version('1.4.1', sha256='67eb7d5a9c954d891ca1386b70f138333a87a141d9c44213449ca6be69a66414')
- version('1.4.0', sha256='62d7fce89096c950d1b38908484856ea63df57754b64cde6582e7ac407c8c81d')
- version('1.3.1', sha256='638cf30d05c249315760f16cbae4804964db8857a04d5e640f37617bef17ab0f')
- version('1.3.0', sha256='a8cc2cd44f42b960989dba10fa438b04af5798c46db0b4ec3ed29591b8359786')
- version('1.2.1', sha256='11c22c7d96874a17de6b8c74caa45d6745d40bf3610e88b2bd28fd3381f5ba70')
- version('1.0.0', sha256='8909b0354e147fa50d176caa63ef22b02326d49250e964be23532d89432e727f')
+ version("1.4.1", sha256="67eb7d5a9c954d891ca1386b70f138333a87a141d9c44213449ca6be69a66414")
+ version("1.4.0", sha256="62d7fce89096c950d1b38908484856ea63df57754b64cde6582e7ac407c8c81d")
+ version("1.3.1", sha256="638cf30d05c249315760f16cbae4804964db8857a04d5e640f37617bef17ab0f")
+ version("1.3.0", sha256="a8cc2cd44f42b960989dba10fa438b04af5798c46db0b4ec3ed29591b8359786")
+ version("1.2.1", sha256="11c22c7d96874a17de6b8c74caa45d6745d40bf3610e88b2bd28fd3381f5ba70")
+ version("1.0.0", sha256="8909b0354e147fa50d176caa63ef22b02326d49250e964be23532d89432e727f")
# support for libraries that are only available through the bundled copies:
# TODO libMesh 1.2.1 gained the ability to specify a path to capnproto
- variant('capnproto', default=False, description='Compile with the bundled capnproto serialization library')
- variant('exodusii', default=False, description='Compile with the bundled ExodusII output library')
- variant('vtk', default=False, description='Compile with VTK input/output library')
- variant('fparser', default=False, description='Compile with the bundled fparser function parser library')
- variant('gmv', default=False, description='Compile with the bundled gmv format IO library')
- variant('laspack', default=False, description='Compile with the bundled laspack interative solver library')
- variant('libhilbert', default=False, description='Compile with the bundled libHilbert partitioning library')
- variant('metaphysicl', default=False, description='Compile with the bundled metaphysicl AD library')
- variant('perflog', default=False, description='Compile with performance logging support')
- variant('blocked', default=False, description='Compile with support for blocked storage')
- variant('metis', default=False, description='Compile with the bundled METIS graph partitioning library')
- variant('nanoflann', default=False, description='Compile with the bundled nanoflann graph library')
- variant('nemesis', default=False, description='Compile with the bundled nemesis IO library')
- variant('netcdf', default=False, description='Compile with the bundled NETCDF IO library')
+ variant(
+ "capnproto",
+ default=False,
+ description="Compile with the bundled capnproto serialization library",
+ )
+ variant(
+ "exodusii", default=False, description="Compile with the bundled ExodusII output library"
+ )
+ variant("vtk", default=False, description="Compile with VTK input/output library")
+ variant(
+ "fparser",
+ default=False,
+ description="Compile with the bundled fparser function parser library",
+ )
+ variant("gmv", default=False, description="Compile with the bundled gmv format IO library")
+ variant(
+ "laspack",
+ default=False,
+ description="Compile with the bundled laspack interative solver library",
+ )
+ variant(
+ "libhilbert",
+ default=False,
+ description="Compile with the bundled libHilbert partitioning library",
+ )
+ variant(
+ "metaphysicl", default=False, description="Compile with the bundled metaphysicl AD library"
+ )
+ variant("perflog", default=False, description="Compile with performance logging support")
+ variant("blocked", default=False, description="Compile with support for blocked storage")
+ variant(
+ "metis",
+ default=False,
+ description="Compile with the bundled METIS graph partitioning library",
+ )
+ variant(
+ "nanoflann", default=False, description="Compile with the bundled nanoflann graph library"
+ )
+ variant("nemesis", default=False, description="Compile with the bundled nemesis IO library")
+ variant("netcdf", default=False, description="Compile with the bundled NETCDF IO library")
# TODO the copy of parmetis bundled with libMesh assumes that we use the
# bundled copy of metis, but previous versions of this build script use an
# external metis installation. Be conservative and completely disable
@@ -49,204 +75,237 @@ class Libmesh(AutotoolsPackage):
#
# variant('parmetis', default=False,
# description='Compile with the bundled PARMETIS graph library')
- variant('qhull', default=False, description='Compile with the bundled qhull mesh generation library')
- variant('sfc', default=False, description='Compile with the bundled sfcurves partitioning library')
- variant('tetgen', default=False, description='Compile with the bundled tetgen mesh generation library')
- variant('triangle', default=False, description='Compile with the bundled Triangle mesh generation library')
+ variant(
+ "qhull",
+ default=False,
+ description="Compile with the bundled qhull mesh generation library",
+ )
+ variant(
+ "sfc", default=False, description="Compile with the bundled sfcurves partitioning library"
+ )
+ variant(
+ "tetgen",
+ default=False,
+ description="Compile with the bundled tetgen mesh generation library",
+ )
+ variant(
+ "triangle",
+ default=False,
+ description="Compile with the bundled Triangle mesh generation library",
+ )
# support for libraries that may be externally installed:
- variant('boost', default=False, description='Compile with components dependent on boost')
- variant('eigen', default=False, description='support for dense linear algebra with Eigen')
- variant('hdf5', default=False, description='Compile with support for HDF5 files')
- variant('slepc', default=False, description='Compile with support for the SLEPc eigensolver')
- variant('petsc', default=False, description='Compile with support for the PETSc')
+ variant("boost", default=False, description="Compile with components dependent on boost")
+ variant("eigen", default=False, description="support for dense linear algebra with Eigen")
+ variant("hdf5", default=False, description="Compile with support for HDF5 files")
+ variant("slepc", default=False, description="Compile with support for the SLEPc eigensolver")
+ variant("petsc", default=False, description="Compile with support for the PETSc")
# other features:
- variant('debug', default=False, description='Compile with support for debugging')
- variant('mpi', default=True, description='Enables MPI parallelism')
+ variant("debug", default=False, description="Compile with support for debugging")
+ variant("mpi", default=True, description="Enables MPI parallelism")
# While it is possible to configure libMesh to use openMP with neither
# pthreads nor TBB, no openMP code can actually be reached without enabling
# pthreads as well. Hence, since enabling openMP while disabling pthreads
# is not useful, we include openMP in the same variant to make it clear
# which scheduler is ultimately used.
- variant('threads', default='none',
- description='Enable threading support (with a particular '
- 'scheduler, in the case of openmp and tbb)',
- values=('none', 'pthreads', 'tbb', 'openmp'), multi=False)
-
- conflicts('+metaphysicl', when='@:1.2',
- msg='The interface to metaphysicl is not available in libMesh '
- 'versions older than 1.3.0. Please explicitly disable this '
- 'variant.')
-
- depends_on('boost', when='+boost')
+ variant(
+ "threads",
+ default="none",
+ description="Enable threading support (with a particular "
+ "scheduler, in the case of openmp and tbb)",
+ values=("none", "pthreads", "tbb", "openmp"),
+ multi=False,
+ )
+
+ conflicts(
+ "+metaphysicl",
+ when="@:1.2",
+ msg="The interface to metaphysicl is not available in libMesh "
+ "versions older than 1.3.0. Please explicitly disable this "
+ "variant.",
+ )
+
+ depends_on("boost", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('eigen', when='+eigen')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('mpi', when='+mpi')
- depends_on('mpi', when='+slepc')
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("eigen", when="+eigen")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+slepc")
# compilation dependencies depend on perl
- depends_on('perl')
- depends_on('petsc+mpi', when='+mpi')
- depends_on('petsc+metis', when='+metis')
- depends_on('slepc', when='+slepc')
- depends_on('petsc', when='+petsc')
- depends_on('tbb', when='threads=tbb')
- depends_on('vtk', when='+vtk')
+ depends_on("perl")
+ depends_on("petsc+mpi", when="+mpi")
+ depends_on("petsc+metis", when="+metis")
+ depends_on("slepc", when="+slepc")
+ depends_on("petsc", when="+petsc")
+ depends_on("tbb", when="threads=tbb")
+ depends_on("vtk", when="+vtk")
def configure_args(self):
options = []
# GLIBCXX debugging is not, by default, supported by other libraries,
# so unconditionally disable it for libmesh
- options.append('--enable-glibcxx-debugging=no')
+ options.append("--enable-glibcxx-debugging=no")
# All bundled dependencies are explicitly disabled, so we do not need
# to perform this check:
- options.append('--disable-strict-lgpl')
+ options.append("--disable-strict-lgpl")
# The Hinnant unique pointer implementation is incompatible with boost
# (and not necessary with C++11 support), so unconditionally disable
# it:
- options.append('--disable-hinnant-unique-ptr')
+ options.append("--disable-hinnant-unique-ptr")
# libMesh does not allow for us to specify an installation location for
# zlib, an undocumented dependency of gzstreams: hence we must
# unconditionally disable gzstreams.
- options.append('--enable-gzstreams=no')
+ options.append("--enable-gzstreams=no")
# Similarly, since we cannot specify a location for bzip2 or xz, so
# disable them to avoid picking up system installations:
- options.append('--disable-bzip2')
- options.append('--disable-xz')
+ options.append("--disable-bzip2")
+ options.append("--disable-xz")
# TODO enable GDB backtracing. Disable for now to avoid picking up the
# system gdb installation:
- options.append('--without-gdb-command')
+ options.append("--without-gdb-command")
# TODO add X11 as a dependency to get tecplot working
- options.append('--enable-tecio=no')
- options.append('--enable-tecplot=no')
+ options.append("--enable-tecio=no")
+ options.append("--enable-tecplot=no")
# handle the bundled libraries that are not themselves dependencies of
# other bundled libaries:
- for bundled_library in ['capnproto', 'exodusii', 'fparser', 'gmv',
- 'laspack', 'libHilbert', 'metaphysicl',
- 'nanoflann', 'nemesis', 'parmetis', 'qhull',
- 'sfc', 'tetgen', 'triangle']:
- if '+' + bundled_library.lower() in self.spec:
- options.append('--enable-' + bundled_library + "=yes")
+ for bundled_library in [
+ "capnproto",
+ "exodusii",
+ "fparser",
+ "gmv",
+ "laspack",
+ "libHilbert",
+ "metaphysicl",
+ "nanoflann",
+ "nemesis",
+ "parmetis",
+ "qhull",
+ "sfc",
+ "tetgen",
+ "triangle",
+ ]:
+ if "+" + bundled_library.lower() in self.spec:
+ options.append("--enable-" + bundled_library + "=yes")
else:
- options.append('--enable-' + bundled_library + "=no")
+ options.append("--enable-" + bundled_library + "=no")
# and the ones which are dependencies of other bundled libraries:
- if '+exodusii' in self.spec or '+netcdf' in self.spec:
- options.append('--enable-netcdf=yes')
+ if "+exodusii" in self.spec or "+netcdf" in self.spec:
+ options.append("--enable-netcdf=yes")
else:
- options.append('--enable-netcdf=no')
+ options.append("--enable-netcdf=no")
- if '+vtk' in self.spec:
- options.append('--enable-vtk')
- options.append('--with-vtk=%s' % self.spec['vtk'].prefix)
+ if "+vtk" in self.spec:
+ options.append("--enable-vtk")
+ options.append("--with-vtk=%s" % self.spec["vtk"].prefix)
else:
- options.append('--disable-vtk')
+ options.append("--disable-vtk")
# handle external library dependencies:
- if '+boost' in self.spec:
- options.append('--with-boost=%s' % self.spec['boost'].prefix)
+ if "+boost" in self.spec:
+ options.append("--with-boost=%s" % self.spec["boost"].prefix)
else:
- options.append('--enable-boost=no')
+ options.append("--enable-boost=no")
- if '+eigen' in self.spec:
- options.append('--with-eigen=%s' % self.spec['eigen'].prefix)
+ if "+eigen" in self.spec:
+ options.append("--with-eigen=%s" % self.spec["eigen"].prefix)
else:
- options.append('--enable-eigen=no')
+ options.append("--enable-eigen=no")
- if '+metaphysicl' in self.spec:
- options.append('--enable-metaphysicl')
+ if "+metaphysicl" in self.spec:
+ options.append("--enable-metaphysicl")
else:
- options.append('--disable-metaphysicl')
+ options.append("--disable-metaphysicl")
- if '+perflog' in self.spec:
- options.append('--enable-perflog')
+ if "+perflog" in self.spec:
+ options.append("--enable-perflog")
else:
- options.append('--disable-perflog')
+ options.append("--disable-perflog")
- if '+blocked' in self.spec:
- options.append('--enable-blocked-storage')
+ if "+blocked" in self.spec:
+ options.append("--enable-blocked-storage")
else:
- options.append('--disable-blocked-storage')
+ options.append("--disable-blocked-storage")
- if '+hdf5' in self.spec:
- options.append('--with-hdf5=%s' % self.spec['hdf5'].prefix)
+ if "+hdf5" in self.spec:
+ options.append("--with-hdf5=%s" % self.spec["hdf5"].prefix)
else:
- options.append('--enable-hdf5=no')
+ options.append("--enable-hdf5=no")
# This is necessary with libMesh 1.2.1 to prevent a configure
# error:
- if '+netcdf' not in self.spec:
- options.append('--disable-netcdf-4')
-
- if '+metis' in self.spec:
- options.append('--enable-metis')
- options.append('--enable-parmetis')
- if ('+petsc' in self.spec):
- options.append('--with-metis=PETSc')
- options.append('--with-parmetis=PETSc')
-
- if '+petsc' in self.spec or '+slepc' in self.spec:
- options.append('--enable-petsc=yes')
- options.append('PETSC_DIR=%s' % self.spec['petsc'].prefix)
+ if "+netcdf" not in self.spec:
+ options.append("--disable-netcdf-4")
+
+ if "+metis" in self.spec:
+ options.append("--enable-metis")
+ options.append("--enable-parmetis")
+ if "+petsc" in self.spec:
+ options.append("--with-metis=PETSc")
+ options.append("--with-parmetis=PETSc")
+
+ if "+petsc" in self.spec or "+slepc" in self.spec:
+ options.append("--enable-petsc=yes")
+ options.append("PETSC_DIR=%s" % self.spec["petsc"].prefix)
else:
- options.append('--enable-petsc=no')
+ options.append("--enable-petsc=no")
- if '+slepc' in self.spec:
- options.append('--enable-slepc=yes')
- options.append('SLEPC_DIR=%s' % self.spec['slepc'].prefix)
+ if "+slepc" in self.spec:
+ options.append("--enable-slepc=yes")
+ options.append("SLEPC_DIR=%s" % self.spec["slepc"].prefix)
else:
- options.append('--enable-slepc=no')
+ options.append("--enable-slepc=no")
# and, finally, other things:
- if '+debug' in self.spec:
- options.append('--with-methods=dbg')
+ if "+debug" in self.spec:
+ options.append("--with-methods=dbg")
else:
- options.append('--with-methods=opt')
+ options.append("--with-methods=opt")
- if '+mpi' in self.spec:
- options.append('CC=%s' % self.spec['mpi'].mpicc)
- options.append('CXX=%s' % self.spec['mpi'].mpicxx)
- options.append('--with-mpi=%s' % self.spec['mpi'].prefix)
+ if "+mpi" in self.spec:
+ options.append("CC=%s" % self.spec["mpi"].mpicc)
+ options.append("CXX=%s" % self.spec["mpi"].mpicxx)
+ options.append("--with-mpi=%s" % self.spec["mpi"].prefix)
else:
- options.append('--disable-mpi')
+ options.append("--disable-mpi")
# libMesh will try to link with the system MPI library unless we
# provide explicit overrides
- options.append('CC=%s' % self.compiler.cc)
- options.append('CXX=%s' % self.compiler.cxx)
+ options.append("CC=%s" % self.compiler.cc)
+ options.append("CXX=%s" % self.compiler.cxx)
- if 'threads=openmp' in self.spec:
+ if "threads=openmp" in self.spec:
# OpenMP cannot be used if pthreads is not available: see
# parallel/threads_pthread.h and parallel/threads.h
- options.append('--enable-openmp=yes')
- options.append('--with-thread-model=pthread')
- options.append('--enable-pthreads=yes')
+ options.append("--enable-openmp=yes")
+ options.append("--with-thread-model=pthread")
+ options.append("--enable-pthreads=yes")
else:
- options.append('--enable-openmp=no')
+ options.append("--enable-openmp=no")
- if 'threads=pthreads' in self.spec:
- options.append('--with-thread-model=pthread')
- options.append('--enable-pthreads=yes')
+ if "threads=pthreads" in self.spec:
+ options.append("--with-thread-model=pthread")
+ options.append("--enable-pthreads=yes")
else:
- if 'threads=openmp' not in self.spec:
- options.append('--enable-pthreads=no')
+ if "threads=openmp" not in self.spec:
+ options.append("--enable-pthreads=no")
- if 'threads=tbb' in self.spec:
- options.append('--with-thread-model=tbb')
- options.append('--enable-tbb=yes')
- options.append('--with-tbb=%s' % self.spec['tbb'].prefix)
+ if "threads=tbb" in self.spec:
+ options.append("--with-thread-model=tbb")
+ options.append("--enable-tbb=yes")
+ options.append("--with-tbb=%s" % self.spec["tbb"].prefix)
else:
- options.append('--enable-tbb=no')
+ options.append("--enable-tbb=no")
return options
def setup_dependent_build_environment(self, env, dependent_spec):
- env.append_flags('PERL', self.spec['perl'].command.path)
+ env.append_flags("PERL", self.spec["perl"].command.path)
diff --git a/var/spack/repos/builtin/packages/libmetalink/package.py b/var/spack/repos/builtin/packages/libmetalink/package.py
index c9bc6b568d..981e507bcc 100644
--- a/var/spack/repos/builtin/packages/libmetalink/package.py
+++ b/var/spack/repos/builtin/packages/libmetalink/package.py
@@ -12,16 +12,16 @@ class Libmetalink(AutotoolsPackage):
(RFC 5854)."""
homepage = "https://launchpad.net/libmetalink"
- url = "https://github.com/metalink-dev/libmetalink/archive/release-0.1.3.tar.gz"
+ url = "https://github.com/metalink-dev/libmetalink/archive/release-0.1.3.tar.gz"
- version('0.1.3', sha256='7469c4a64b9dd78c3f23fa575fe001bbfd548c181492a2067b59609872122d7a')
- version('0.1.2', sha256='64af0979c11658f7a1659ca97ebc3c7bac8104253bf504015ac3b9c363382bae')
- version('0.1.1', sha256='e9b8dff68b0b999884c21f68d9b1cc0c1993270e3e1f639f82e27b1eb960cb66')
+ version("0.1.3", sha256="7469c4a64b9dd78c3f23fa575fe001bbfd548c181492a2067b59609872122d7a")
+ version("0.1.2", sha256="64af0979c11658f7a1659ca97ebc3c7bac8104253bf504015ac3b9c363382bae")
+ version("0.1.1", sha256="e9b8dff68b0b999884c21f68d9b1cc0c1993270e3e1f639f82e27b1eb960cb66")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('expat@2.1.0:')
- depends_on('libxml2@2.7.8:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("expat@2.1.0:")
+ depends_on("libxml2@2.7.8:")
diff --git a/var/spack/repos/builtin/packages/libmicrodns/package.py b/var/spack/repos/builtin/packages/libmicrodns/package.py
index 36e120bfc9..77e00f31f7 100644
--- a/var/spack/repos/builtin/packages/libmicrodns/package.py
+++ b/var/spack/repos/builtin/packages/libmicrodns/package.py
@@ -10,8 +10,8 @@ class Libmicrodns(MesonPackage):
"""Minimal mDNS resolver (and announcer) cross-platform library."""
homepage = "https://github.com/videolabs/libmicrodns/"
- url = "https://github.com/videolabs/libmicrodns/releases/download/0.2.0/microdns-0.2.0.tar.xz"
+ url = "https://github.com/videolabs/libmicrodns/releases/download/0.2.0/microdns-0.2.0.tar.xz"
- version('0.2.0', sha256='2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446')
- version('0.1.2', sha256='666c4b9d86b5b3c37357bb78453c7e8b72cd65ade22d0a7963bfbefe51509b5c')
- version('0.1.1', sha256='498c81fd07718f449267a207948536cbb527610942d91999488eaea6de301c52')
+ version("0.2.0", sha256="2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446")
+ version("0.1.2", sha256="666c4b9d86b5b3c37357bb78453c7e8b72cd65ade22d0a7963bfbefe51509b5c")
+ version("0.1.1", sha256="498c81fd07718f449267a207948536cbb527610942d91999488eaea6de301c52")
diff --git a/var/spack/repos/builtin/packages/libmicrohttpd/package.py b/var/spack/repos/builtin/packages/libmicrohttpd/package.py
index 3c8ba409b9..5a00011d20 100644
--- a/var/spack/repos/builtin/packages/libmicrohttpd/package.py
+++ b/var/spack/repos/builtin/packages/libmicrohttpd/package.py
@@ -8,41 +8,39 @@ from spack.package import *
class Libmicrohttpd(AutotoolsPackage):
"""GNU libmicrohttpd is a small C library that is supposed to make
- it easy to run an HTTP server as part of another application.
+ it easy to run an HTTP server as part of another application.
"""
homepage = "https://www.gnu.org/software/libmicrohttpd/"
- url = "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.71.tar.gz"
+ url = "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.71.tar.gz"
- maintainers = ['hainest']
+ maintainers = ["hainest"]
- version('0.9.71', 'e8f445e85faf727b89e9f9590daea4473ae00ead38b237cf1eda55172b89b182')
- version('0.9.70', '90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307')
+ version("0.9.71", "e8f445e85faf727b89e9f9590daea4473ae00ead38b237cf1eda55172b89b182")
+ version("0.9.70", "90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307")
- variant('https',
- default=False,
- description="HTTPS support with GnuTLS")
+ variant("https", default=False, description="HTTPS support with GnuTLS")
- depends_on('gettext')
- depends_on('gnutls', when='+https')
- depends_on('libgcrypt', when='+https')
+ depends_on("gettext")
+ depends_on("gnutls", when="+https")
+ depends_on("libgcrypt", when="+https")
def configure_args(self):
options = [
- '--enable-static=no', # don't build static libs
- '--enable-shared=yes', # always build shared libs
- '--with-pic', # always build PIC libs
- '--disable-rpath', # let spack handle the RPATH
- '--disable-doc', # don't build the docs
- '--disable-examples', # don't build the examples
- '--disable-curl' # disable cURL-based testcases
+ "--enable-static=no", # don't build static libs
+ "--enable-shared=yes", # always build shared libs
+ "--with-pic", # always build PIC libs
+ "--disable-rpath", # let spack handle the RPATH
+ "--disable-doc", # don't build the docs
+ "--disable-examples", # don't build the examples
+ "--disable-curl", # disable cURL-based testcases
]
- if self.spec.satisfies('+https'):
- options.append('--enable-https')
- prefix = self.spec['gnutls'].prefix
- options.append('--with-gnutls={0}'.format(prefix))
- prefix = self.spec['libgcrypt'].prefix
- options.append('--with-libgcrypt-prefix={0}'.format(prefix))
+ if self.spec.satisfies("+https"):
+ options.append("--enable-https")
+ prefix = self.spec["gnutls"].prefix
+ options.append("--with-gnutls={0}".format(prefix))
+ prefix = self.spec["libgcrypt"].prefix
+ options.append("--with-libgcrypt-prefix={0}".format(prefix))
return options
diff --git a/var/spack/repos/builtin/packages/libmmtf-cpp/package.py b/var/spack/repos/builtin/packages/libmmtf-cpp/package.py
index 8e5241473c..fe0d9ec39c 100644
--- a/var/spack/repos/builtin/packages/libmmtf-cpp/package.py
+++ b/var/spack/repos/builtin/packages/libmmtf-cpp/package.py
@@ -12,8 +12,8 @@ class LibmmtfCpp(CMakePackage):
encoding and decoding libraries."""
homepage = "https://github.com/rcsb/mmtf-cpp"
- url = "https://github.com/rcsb/mmtf-cpp/archive/v1.0.0.tar.gz"
+ url = "https://github.com/rcsb/mmtf-cpp/archive/v1.0.0.tar.gz"
- version('1.0.0', sha256='881f69c4bb56605fa63fd5ca50842facc4947f686cbf678ad04930674d714f40')
+ version("1.0.0", sha256="881f69c4bb56605fa63fd5ca50842facc4947f686cbf678ad04930674d714f40")
- depends_on('msgpack-c')
+ depends_on("msgpack-c")
diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py
index 2369684dc8..28b69ba94b 100644
--- a/var/spack/repos/builtin/packages/libmng/package.py
+++ b/var/spack/repos/builtin/packages/libmng/package.py
@@ -8,13 +8,14 @@ from spack.package import *
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."""
+ and examining Multiple-Image Network Graphics. MNG is the animation
+ extension to the popular PNG image format."""
+
homepage = "https://sourceforge.net/projects/libmng/"
- url = "http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.3/libmng-2.0.3.tar.gz"
+ url = "http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.3/libmng-2.0.3.tar.gz"
- version('2.0.3', sha256='cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa')
- version('2.0.2', sha256='4908797bb3541fb5cd8fffbe0b1513ed163509f2a4d57a78b26a96f8d1dd05a2')
+ version("2.0.3", sha256="cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa")
+ version("2.0.2", sha256="4908797bb3541fb5cd8fffbe0b1513ed163509f2a4d57a78b26a96f8d1dd05a2")
depends_on("jpeg")
depends_on("zlib")
@@ -22,9 +23,7 @@ class Libmng(CMakePackage):
def patch(self):
# jpeg requires stdio to be included before its headers.
- filter_file(r'^(\#include \<jpeglib\.h\>)',
- '#include<stdio.h>\n\\1', 'libmng_types.h')
+ filter_file(r"^(\#include \<jpeglib\.h\>)", "#include<stdio.h>\n\\1", "libmng_types.h")
def cmake_args(self):
- return ['-DWITH_LCMS2:BOOL=ON',
- '-DWITH_LCMS1:BOOL=OFF']
+ return ["-DWITH_LCMS2:BOOL=ON", "-DWITH_LCMS1:BOOL=OFF"]
diff --git a/var/spack/repos/builtin/packages/libmnl/package.py b/var/spack/repos/builtin/packages/libmnl/package.py
index 2247251fa9..5d7ebbdf34 100644
--- a/var/spack/repos/builtin/packages/libmnl/package.py
+++ b/var/spack/repos/builtin/packages/libmnl/package.py
@@ -14,13 +14,13 @@ class Libmnl(AutotoolsPackage):
that allows you to re-use code and to avoid re-inventing the wheel."""
homepage = "https://github.com/threatstack/libmnl"
- url = "https://github.com/threatstack/libmnl/archive/libmnl-1.0.3.tar.gz"
+ url = "https://github.com/threatstack/libmnl/archive/libmnl-1.0.3.tar.gz"
- version('1.0.3', sha256='14405da1bb3a679c24e0fe1f2845d47359ed2de8055e588df4b6b19cab68e901')
- version('1.0.2', sha256='2caec4716aceb245130f4e42f8c118b92618e37db8bb94e2799aff42b95c269f')
- version('1.0.1', sha256='60fe2a6ce59f6118b75b598dc11fc89b97e20ff8633fbea26fc568c45bbb672b')
+ version("1.0.3", sha256="14405da1bb3a679c24e0fe1f2845d47359ed2de8055e588df4b6b19cab68e901")
+ version("1.0.2", sha256="2caec4716aceb245130f4e42f8c118b92618e37db8bb94e2799aff42b95c269f")
+ version("1.0.1", sha256="60fe2a6ce59f6118b75b598dc11fc89b97e20ff8633fbea26fc568c45bbb672b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libmo-unpack/package.py b/var/spack/repos/builtin/packages/libmo-unpack/package.py
index 3b1f2a190d..dea4ac9d74 100644
--- a/var/spack/repos/builtin/packages/libmo-unpack/package.py
+++ b/var/spack/repos/builtin/packages/libmo-unpack/package.py
@@ -11,8 +11,8 @@ class LibmoUnpack(CMakePackage):
used in UM files."""
homepage = "https://github.com/SciTools/libmo_unpack"
- url = "https://github.com/SciTools/libmo_unpack/archive/v3.1.2.tar.gz"
+ url = "https://github.com/SciTools/libmo_unpack/archive/v3.1.2.tar.gz"
- version('3.1.2', sha256='e09ef3e6f1075144acc5d6466b4ef70b2fe32ed4ab1840dd4fb7e15a40f3d370')
+ version("3.1.2", sha256="e09ef3e6f1075144acc5d6466b4ef70b2fe32ed4ab1840dd4fb7e15a40f3d370")
- depends_on('check')
+ depends_on("check")
diff --git a/var/spack/repos/builtin/packages/libmodbus/package.py b/var/spack/repos/builtin/packages/libmodbus/package.py
index 34f5618767..903a303ef5 100644
--- a/var/spack/repos/builtin/packages/libmodbus/package.py
+++ b/var/spack/repos/builtin/packages/libmodbus/package.py
@@ -12,15 +12,15 @@ class Libmodbus(AutotoolsPackage):
and supports RTU (serial) and TCP (Ethernet) communications."""
homepage = "https://libmodbus.org/"
- url = "https://libmodbus.org/releases/libmodbus-3.0.8.tar.gz"
+ url = "https://libmodbus.org/releases/libmodbus-3.0.8.tar.gz"
- version('3.1.6', sha256='d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16')
- version('3.1.5', sha256='f7a9538f23a8786b1ee62a4b75879b5c0e194e728350de1b741ce7d595970f06')
- version('3.1.4', sha256='c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637')
- version('3.1.3', sha256='9e02d79d715522e03b61c313c7278fcf80860816718587819318b8ad9c3fd0ce')
- version('3.1.2', sha256='661e14f9dc904f3f1b034464ddaa5fd4b8472f8f5d1ea10a1148af85591b7ee9')
- version('3.1.1', sha256='76d93aff749d6029f81dcf1fb3fd6abe10c9b48d376f3a03a4f41c5197c95c99')
- version('3.0.8', sha256='022f0691d920b8aee3ee49d7af0f69b7ef80fc3c849a8e0281d5bc27db7a24ea')
- version('3.0.7', sha256='6c26850cd5dedcf5dad40977ac7f2ee990a3667f6959a1e05e22959bdf537961')
- version('3.0.6', sha256='046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6')
- version('3.0.5', sha256='19aad5d55fa315602d6e836a858a3802f1608f9d824afba05fa12a58a1b1e656')
+ version("3.1.6", sha256="d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16")
+ version("3.1.5", sha256="f7a9538f23a8786b1ee62a4b75879b5c0e194e728350de1b741ce7d595970f06")
+ version("3.1.4", sha256="c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637")
+ version("3.1.3", sha256="9e02d79d715522e03b61c313c7278fcf80860816718587819318b8ad9c3fd0ce")
+ version("3.1.2", sha256="661e14f9dc904f3f1b034464ddaa5fd4b8472f8f5d1ea10a1148af85591b7ee9")
+ version("3.1.1", sha256="76d93aff749d6029f81dcf1fb3fd6abe10c9b48d376f3a03a4f41c5197c95c99")
+ version("3.0.8", sha256="022f0691d920b8aee3ee49d7af0f69b7ef80fc3c849a8e0281d5bc27db7a24ea")
+ version("3.0.7", sha256="6c26850cd5dedcf5dad40977ac7f2ee990a3667f6959a1e05e22959bdf537961")
+ version("3.0.6", sha256="046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6")
+ version("3.0.5", sha256="19aad5d55fa315602d6e836a858a3802f1608f9d824afba05fa12a58a1b1e656")
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index ee48dcd1ad..a4aa307119 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -12,60 +12,57 @@ class Libmonitor(AutotoolsPackage):
which to build process monitoring tools and profilers."""
homepage = "https://github.com/HPCToolkit/libmonitor"
- git = "https://github.com/HPCToolkit/libmonitor.git"
- maintainers = ['mwkrentel']
+ git = "https://github.com/HPCToolkit/libmonitor.git"
+ maintainers = ["mwkrentel"]
- version('master', branch='master')
- version('2021.11.08', commit='22aa52c621534f12d401fa37f6963bfca7441e20')
- version('2021.04.27', commit='a2d1b6be23410ef1ad2c9d0006672453803243c2')
- version('2020.10.15', commit='36e5cb7ebeadfff01476b79ff04f6ec772ba831d')
- version('2019.05.31', commit='c9767087d52e58a719aa7f149136b101e499db44')
- version('2018.07.18', commit='d28cc1d3c08c02013a68a022a57a6ac73db88166')
- version('2013.02.18', commit='4f2311e413fd90583263d6f20453bbe552ccfef3')
+ version("master", branch="master")
+ version("2021.11.08", commit="22aa52c621534f12d401fa37f6963bfca7441e20")
+ version("2021.04.27", commit="a2d1b6be23410ef1ad2c9d0006672453803243c2")
+ version("2020.10.15", commit="36e5cb7ebeadfff01476b79ff04f6ec772ba831d")
+ version("2019.05.31", commit="c9767087d52e58a719aa7f149136b101e499db44")
+ version("2018.07.18", commit="d28cc1d3c08c02013a68a022a57a6ac73db88166")
+ version("2013.02.18", commit="4f2311e413fd90583263d6f20453bbe552ccfef3")
# Configure for Rice HPCToolkit.
- variant('hpctoolkit', default=False,
- description='Configure for HPCToolkit')
+ variant("hpctoolkit", default=False, description="Configure for HPCToolkit")
# Configure for OpenSpeedshop and Survey.
# Configure for adding MPI Post Comm Rank support
- variant('commrank', default=False,
- description="Build with MPI Post Comm Rank support patch.")
+ variant("commrank", default=False, description="Build with MPI Post Comm Rank support patch.")
- variant('dlopen', default=True,
- description='Override dlopen and dlclose')
+ variant("dlopen", default=True, description="Override dlopen and dlclose")
- patch('libmonitorkrell-0001.patch', when='@2013.02.18+commrank')
- patch('libmonitorkrell-0002.patch', when='@2013.02.18+commrank')
+ patch("libmonitorkrell-0001.patch", when="@2013.02.18+commrank")
+ patch("libmonitorkrell-0002.patch", when="@2013.02.18+commrank")
- patch('add-monitor-comm-rank-notification.patch', when='@2020.10.15+commrank')
+ patch("add-monitor-comm-rank-notification.patch", when="@2020.10.15+commrank")
- signals = 'SIGBUS, SIGSEGV, SIGPROF, 36, 37, 38'
+ signals = "SIGBUS, SIGSEGV, SIGPROF, 36, 37, 38"
# Set default cflags (-g -O2) and move to the configure line.
def flag_handler(self, name, flags):
- if name != 'cflags':
+ if name != "cflags":
return (flags, None, None)
- if '-g' not in flags:
- flags.append('-g')
+ if "-g" not in flags:
+ flags.append("-g")
for flag in flags:
- if flag.startswith('-O'):
+ if flag.startswith("-O"):
break
else:
- flags.append('-O2')
+ flags.append("-O2")
return (None, None, flags)
def configure_args(self):
args = []
- if '+hpctoolkit' in self.spec:
- args.append('--enable-client-signals=%s' % self.signals)
+ if "+hpctoolkit" in self.spec:
+ args.append("--enable-client-signals=%s" % self.signals)
- if '+dlopen' in self.spec:
- args.append('--enable-dlfcn')
+ if "+dlopen" in self.spec:
+ args.append("--enable-dlfcn")
else:
- args.append('--disable-dlfcn')
+ args.append("--disable-dlfcn")
return args
diff --git a/var/spack/repos/builtin/packages/libmpdclient/package.py b/var/spack/repos/builtin/packages/libmpdclient/package.py
index 4a1bdbb015..8335bf44f9 100644
--- a/var/spack/repos/builtin/packages/libmpdclient/package.py
+++ b/var/spack/repos/builtin/packages/libmpdclient/package.py
@@ -11,10 +11,10 @@ class Libmpdclient(MesonPackage):
Daemon protocol."""
homepage = "https://www.musicpd.org/"
- url = "https://github.com/MusicPlayerDaemon/libmpdclient/archive/v2.19.tar.gz"
+ url = "https://github.com/MusicPlayerDaemon/libmpdclient/archive/v2.19.tar.gz"
- version('2.19', sha256='12b566b75c3b6789ff8fc94698497d1f3fbaf0cbf9fa6c3a1e3906ef0d2bcbbb')
- version('2.18', sha256='9b97d00022f2053c06d87bff40b319dfab930ee2b5fa9b8dec208a2911ca3efc')
- version('2.17', sha256='06eb4b67c63f64d647e97257ff5f8506bf9c2a26b314bf5d0dd5944995b59fc9')
- version('2.16', sha256='6651898489b69d2f2f8e94f0ed6ddcc0dd2cdbcf99b02131b790551922558d6c')
- version('2.15', sha256='dd3d36801e397bf43719a291289ff610af71859c08f3196a506e4b1af43c290c')
+ version("2.19", sha256="12b566b75c3b6789ff8fc94698497d1f3fbaf0cbf9fa6c3a1e3906ef0d2bcbbb")
+ version("2.18", sha256="9b97d00022f2053c06d87bff40b319dfab930ee2b5fa9b8dec208a2911ca3efc")
+ version("2.17", sha256="06eb4b67c63f64d647e97257ff5f8506bf9c2a26b314bf5d0dd5944995b59fc9")
+ version("2.16", sha256="6651898489b69d2f2f8e94f0ed6ddcc0dd2cdbcf99b02131b790551922558d6c")
+ version("2.15", sha256="dd3d36801e397bf43719a291289ff610af71859c08f3196a506e4b1af43c290c")
diff --git a/var/spack/repos/builtin/packages/libnbc/package.py b/var/spack/repos/builtin/packages/libnbc/package.py
index 18d83ee0af..3b42863217 100644
--- a/var/spack/repos/builtin/packages/libnbc/package.py
+++ b/var/spack/repos/builtin/packages/libnbc/package.py
@@ -12,9 +12,10 @@ class Libnbc(AutotoolsPackage):
MPI-1, it supports all MPI-1 collective operations in a
nonblocking manner. LibNBC is distributed under the BSD license.
"""
+
homepage = "http://unixer.de/research/nbcoll/libnbc/"
- url = "http://unixer.de/research/nbcoll/libnbc/libNBC-1.1.1.tar.gz"
+ url = "http://unixer.de/research/nbcoll/libnbc/libNBC-1.1.1.tar.gz"
- version('1.1.1', sha256='63aa5f75f84c191da0688cb551ebd0e9e46928edfba350b2a534eb0c704dd9c3')
+ version("1.1.1", sha256="63aa5f75f84c191da0688cb551ebd0e9e46928edfba350b2a534eb0c704dd9c3")
depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/libndp/package.py b/var/spack/repos/builtin/packages/libndp/package.py
index 1f4029bd04..dface2048e 100644
--- a/var/spack/repos/builtin/packages/libndp/package.py
+++ b/var/spack/repos/builtin/packages/libndp/package.py
@@ -10,15 +10,15 @@ class Libndp(AutotoolsPackage):
"""Libndp - Library for Neighbor Discovery Protocol"""
homepage = "http://www.libndp.org/"
- url = "https://github.com/jpirko/libndp/archive/v1.7.tar.gz"
+ url = "https://github.com/jpirko/libndp/archive/v1.7.tar.gz"
- version('1.7', sha256='44be73630ee785ed9f571f9aaaeba0e1d375fa337fd841270034c813b5b0e6fd')
- version('1.6', sha256='565d6c4167f83ec697c762ea002f23e8f0b00828d0749b1ce928f068543e5aad')
- version('1.5', sha256='42c0a8938d4302c72a42e2d954deef7e4903bb3974da6804a929a3cd0b5b6aa7')
- version('1.4', sha256='b9b23d14e9b2d87745810d9d0e956e9fb45f44e794b1629492850c5a8fbbb083')
- version('1.3', sha256='e933dc1b9ce85089de8ba0f6ba4c3ec47eba0e9a404e14c1789a6fa9e23793f6')
+ version("1.7", sha256="44be73630ee785ed9f571f9aaaeba0e1d375fa337fd841270034c813b5b0e6fd")
+ version("1.6", sha256="565d6c4167f83ec697c762ea002f23e8f0b00828d0749b1ce928f068543e5aad")
+ version("1.5", sha256="42c0a8938d4302c72a42e2d954deef7e4903bb3974da6804a929a3cd0b5b6aa7")
+ version("1.4", sha256="b9b23d14e9b2d87745810d9d0e956e9fb45f44e794b1629492850c5a8fbbb083")
+ version("1.3", sha256="e933dc1b9ce85089de8ba0f6ba4c3ec47eba0e9a404e14c1789a6fa9e23793f6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libnet/package.py b/var/spack/repos/builtin/packages/libnet/package.py
index 8f39a25abd..10c4717ad5 100644
--- a/var/spack/repos/builtin/packages/libnet/package.py
+++ b/var/spack/repos/builtin/packages/libnet/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class Libnet(AutotoolsPackage):
"""Libnet is an API to help with the construction and handling of
network packets. It provides a portable framework for low-level
- network packet writing and handling """
+ network packet writing and handling"""
homepage = "https://github.com/libnet/libnet"
- url = "https://github.com/libnet/libnet/archive/v1.2.tar.gz"
+ url = "https://github.com/libnet/libnet/archive/v1.2.tar.gz"
- version('1.2', sha256='b7a371a337d242c017f3471d70bea2963596bec5bd3bd0e33e8517550e2311ef')
+ version("1.2", sha256="b7a371a337d242c017f3471d70bea2963596bec5bd3bd0e33e8517550e2311ef")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py
index 951dae83b2..6d4d947313 100644
--- a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py
+++ b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py
@@ -11,16 +11,16 @@ class LibnetfilterConntrack(AutotoolsPackage):
interface (API) to the in-kernel connection tracking state table."""
homepage = "https://netfilter.org"
- url = "https://github.com/Distrotech/libnetfilter_conntrack/archive/libnetfilter_conntrack-1.0.4.tar.gz"
+ url = "https://github.com/Distrotech/libnetfilter_conntrack/archive/libnetfilter_conntrack-1.0.4.tar.gz"
- version('1.0.4', sha256='68168697b9d6430b7797ddd579e13a2cef06ea15c154dfd14e18be64e035ea6e')
- version('1.0.3', sha256='e2129d7c0346c7140355d643da8e3409cbd755689ea889bc0d6dbd557f1b5671')
- version('1.0.2', sha256='97f641a2e47053bd87bc817292519d6661e8f84a22d3314724b83b9f5eaddbff')
+ version("1.0.4", sha256="68168697b9d6430b7797ddd579e13a2cef06ea15c154dfd14e18be64e035ea6e")
+ version("1.0.3", sha256="e2129d7c0346c7140355d643da8e3409cbd755689ea889bc0d6dbd557f1b5671")
+ version("1.0.2", sha256="97f641a2e47053bd87bc817292519d6661e8f84a22d3314724b83b9f5eaddbff")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libmnl@1.0.3:')
- depends_on('libnfnetlink@1.0.0:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libmnl@1.0.3:")
+ depends_on("libnfnetlink@1.0.0:")
diff --git a/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py b/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py
index 9fe324f54f..55169f20cb 100644
--- a/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py
+++ b/var/spack/repos/builtin/packages/libnetfilter-cthelper/package.py
@@ -10,12 +10,14 @@ class LibnetfilterCthelper(AutotoolsPackage):
"""Libnetfilter-cthelper library for user space helpers / ALGs"""
homepage = "https://github.com/vyos/libnetfilter-cthelper/"
- url = "https://github.com/vyos/libnetfilter-cthelper/archive/VyOS_1.2-2019Q4.tar.gz"
+ url = "https://github.com/vyos/libnetfilter-cthelper/archive/VyOS_1.2-2019Q4.tar.gz"
- version('1.2-2019Q4', sha256='15a7b13999d1428d75e720c8116318cd51bec1d365852ae1778d3c85b93a9777')
+ version(
+ "1.2-2019Q4", sha256="15a7b13999d1428d75e720c8116318cd51bec1d365852ae1778d3c85b93a9777"
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libmnl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libmnl")
diff --git a/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py b/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py
index f3879e2653..11aaf18bed 100644
--- a/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py
+++ b/var/spack/repos/builtin/packages/libnetfilter-cttimeout/package.py
@@ -10,13 +10,15 @@ class LibnetfilterCttimeout(AutotoolsPackage):
"""Conntrack timeout policy library."""
homepage = "https://github.com/vyos/libnetfilter-cttimeout/"
- url = "https://github.com/vyos/libnetfilter-cttimeout/archive/VyOS_1.2-2019Q4.tar.gz"
+ url = "https://github.com/vyos/libnetfilter-cttimeout/archive/VyOS_1.2-2019Q4.tar.gz"
- version('1.2-2019Q4', sha256='71cebdf07a578901b160a54199062a4b4cd445e14742e2c7badc0900d8ae56b6')
+ version(
+ "1.2-2019Q4", sha256="71cebdf07a578901b160a54199062a4b4cd445e14742e2c7badc0900d8ae56b6"
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libmnl')
+ depends_on("libmnl")
diff --git a/var/spack/repos/builtin/packages/libnetfilter-queue/package.py b/var/spack/repos/builtin/packages/libnetfilter-queue/package.py
index 5a7fb70675..7f8d162812 100644
--- a/var/spack/repos/builtin/packages/libnetfilter-queue/package.py
+++ b/var/spack/repos/builtin/packages/libnetfilter-queue/package.py
@@ -10,14 +10,16 @@ class LibnetfilterQueue(AutotoolsPackage):
"""Libnetfilter-queue libnetfilter queue library."""
homepage = "https://github.com/vyos/libnetfilter-queue/"
- url = "https://github.com/vyos/libnetfilter-queue/archive/VyOS_1.2-2019Q4.tar.gz"
+ url = "https://github.com/vyos/libnetfilter-queue/archive/VyOS_1.2-2019Q4.tar.gz"
- version('1.2-2019Q4', sha256='73b87e600b492cf9e3aa8fb6e9855e1ccc523a7bc466c1fd1a0e6ffa424d746e')
+ version(
+ "1.2-2019Q4", sha256="73b87e600b492cf9e3aa8fb6e9855e1ccc523a7bc466c1fd1a0e6ffa424d746e"
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libnfnetlink')
- depends_on('libmnl')
+ depends_on("libnfnetlink")
+ depends_on("libmnl")
diff --git a/var/spack/repos/builtin/packages/libnetworkit/package.py b/var/spack/repos/builtin/packages/libnetworkit/package.py
index 84614b7890..6824e84f41 100644
--- a/var/spack/repos/builtin/packages/libnetworkit/package.py
+++ b/var/spack/repos/builtin/packages/libnetworkit/package.py
@@ -8,43 +8,45 @@ from spack.package import *
class Libnetworkit(CMakePackage):
"""NetworKit is a growing open-source toolkit for large-scale network
- analysis. Its aim is to provide tools for the analysis of large networks
- in the size range from thousands to billions of edges. For this purpose,
- it implements efficient graph algorithms, many of them parallel to
- utilize multicore architectures. These are meant to compute standard
- measures of network analysis, such as degree sequences, clustering
- coefficients, and centrality measures. In this respect, NetworKit is
- comparable to packages such as NetworkX, albeit with a focus on
- parallelism and scalability."""
+ analysis. Its aim is to provide tools for the analysis of large networks
+ in the size range from thousands to billions of edges. For this purpose,
+ it implements efficient graph algorithms, many of them parallel to
+ utilize multicore architectures. These are meant to compute standard
+ measures of network analysis, such as degree sequences, clustering
+ coefficients, and centrality measures. In this respect, NetworKit is
+ comparable to packages such as NetworkX, albeit with a focus on
+ parallelism and scalability."""
homepage = "https://networkit.github.io/"
- url = "https://github.com/networkit/networkit/archive/6.1.tar.gz"
+ url = "https://github.com/networkit/networkit/archive/6.1.tar.gz"
- maintainers = ['fabratu']
+ maintainers = ["fabratu"]
- version('9.0', sha256='c574473bc7d86934f0f4b3049c0eeb9c4444cfa873e5fecda194ee5b1930f82c')
- version('8.1', sha256='0a22eb839606b9fabfa68c7add12c4de5eee735c6f8bb34420e5916ce5d7f829')
- version('8.0', sha256='cdf9571043edbe76c447622ed33efe9cba2880f887ca231d98f6d3c22027e20e')
- version('7.1', sha256='60026c3be581ae9d5c919c861605082fcb9c8205758b3ddfcde2408153ae166e')
- version('7.0', sha256='4faf16c5fae3e14d3c1b6f30e25c6e093dcf6a3dbf021235f3161ac2a527f682')
- version('6.1', sha256='22c953ea1054c356663b31c77114c2f0c8fec17e0e707aeec23026241beab9b2')
+ version("9.0", sha256="c574473bc7d86934f0f4b3049c0eeb9c4444cfa873e5fecda194ee5b1930f82c")
+ version("8.1", sha256="0a22eb839606b9fabfa68c7add12c4de5eee735c6f8bb34420e5916ce5d7f829")
+ version("8.0", sha256="cdf9571043edbe76c447622ed33efe9cba2880f887ca231d98f6d3c22027e20e")
+ version("7.1", sha256="60026c3be581ae9d5c919c861605082fcb9c8205758b3ddfcde2408153ae166e")
+ version("7.0", sha256="4faf16c5fae3e14d3c1b6f30e25c6e093dcf6a3dbf021235f3161ac2a527f682")
+ version("6.1", sha256="22c953ea1054c356663b31c77114c2f0c8fec17e0e707aeec23026241beab9b2")
- variant('static', default=False, description='Enables the build of shared libraries')
- variant('doc', default=False, description='Enables the build with sphinx documentation')
+ variant("static", default=False, description="Enables the build of shared libraries")
+ variant("doc", default=False, description="Enables the build with sphinx documentation")
- depends_on('libtlx')
- depends_on('llvm-openmp', when='%apple-clang')
- depends_on('py-sphinx', when='+doc', type='build')
+ depends_on("libtlx")
+ depends_on("llvm-openmp", when="%apple-clang")
+ depends_on("py-sphinx", when="+doc", type="build")
- 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:')
+ 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
- tlx_libs = spec['libtlx'].prefix
+ tlx_libs = spec["libtlx"].prefix
- args = ['-DNETWORKIT_EXT_TLX=%s' % tlx_libs,
- self.define_from_variant('NETWORKIT_STATIC', 'static')]
+ args = [
+ "-DNETWORKIT_EXT_TLX=%s" % tlx_libs,
+ self.define_from_variant("NETWORKIT_STATIC", "static"),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/libnfnetlink/package.py b/var/spack/repos/builtin/packages/libnfnetlink/package.py
index 82d34af7be..6d91b3e7a5 100644
--- a/var/spack/repos/builtin/packages/libnfnetlink/package.py
+++ b/var/spack/repos/builtin/packages/libnfnetlink/package.py
@@ -13,13 +13,13 @@ class Libnfnetlink(AutotoolsPackage):
libnfnetlink_log and libnfnetlink_queue."""
homepage = "https://netfilter.org"
- url = "https://github.com/Distrotech/libnfnetlink/archive/libnfnetlink-1.0.1.tar.gz"
+ url = "https://github.com/Distrotech/libnfnetlink/archive/libnfnetlink-1.0.1.tar.gz"
- version('1.0.1', sha256='11dd8a1045b03d47c878535eeb6b9eb34db295d21903a4dfd2c2cc63f45e675b')
- version('1.0.0', sha256='1d43456e51d5ff2e8bc84b68d8acad3bb15603cfaa806ba9693eea4f2aa1abeb')
- version('0.0.41', sha256='84381ad3aec4fc4884c020c7774a241160d92ed50c9f93a2660db94e212cbb72')
+ version("1.0.1", sha256="11dd8a1045b03d47c878535eeb6b9eb34db295d21903a4dfd2c2cc63f45e675b")
+ version("1.0.0", sha256="1d43456e51d5ff2e8bc84b68d8acad3bb15603cfaa806ba9693eea4f2aa1abeb")
+ version("0.0.41", sha256="84381ad3aec4fc4884c020c7774a241160d92ed50c9f93a2660db94e212cbb72")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libnfs/package.py b/var/spack/repos/builtin/packages/libnfs/package.py
index c79b2cc43a..01c91d3ead 100644
--- a/var/spack/repos/builtin/packages/libnfs/package.py
+++ b/var/spack/repos/builtin/packages/libnfs/package.py
@@ -10,10 +10,10 @@ class Libnfs(CMakePackage):
"""LIBNFS is a client library for accessing NFS shares over a network."""
homepage = "https://sites.google.com/site/libnfstarballs/"
- url = "https://github.com/sahlberg/libnfs/archive/libnfs-4.0.0.tar.gz"
+ url = "https://github.com/sahlberg/libnfs/archive/libnfs-4.0.0.tar.gz"
- version('4.0.0', sha256='6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d')
- version('3.0.0', sha256='445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5')
- version('2.0.0', sha256='7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e')
- version('1.11.0', sha256='fc2e45df14d8714ccd07dc2bbe919e45a2e36318bae7f045cbbb883a7854640f')
- version('1.10.0', sha256='7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272')
+ version("4.0.0", sha256="6ee77e9fe220e2d3e3b1f53cfea04fb319828cc7dbb97dd9df09e46e901d797d")
+ version("3.0.0", sha256="445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5")
+ version("2.0.0", sha256="7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e")
+ version("1.11.0", sha256="fc2e45df14d8714ccd07dc2bbe919e45a2e36318bae7f045cbbb883a7854640f")
+ version("1.10.0", sha256="7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272")
diff --git a/var/spack/repos/builtin/packages/libnfsidmap/package.py b/var/spack/repos/builtin/packages/libnfsidmap/package.py
index e6520a0222..c1263bf2f0 100644
--- a/var/spack/repos/builtin/packages/libnfsidmap/package.py
+++ b/var/spack/repos/builtin/packages/libnfsidmap/package.py
@@ -10,16 +10,16 @@ class Libnfsidmap(AutotoolsPackage):
"""Library to help mapping id's, mainly for NFSv4."""
homepage = "https://github.com/Distrotech/libnfsidmap/"
- url = "https://github.com/Distrotech/libnfsidmap/archive/libnfsidmap-0-27-rc2.tar.gz"
+ url = "https://github.com/Distrotech/libnfsidmap/archive/libnfsidmap-0-27-rc2.tar.gz"
- version('0-26', sha256='8c6d62285b528d673fcb8908fbe230ae82287b292d90925d014c6f367e8425ef')
- version('0-25', sha256='dbf844a2aa820d7275eca55c2e392d12453ab4020d37d532ea6beac47efc4725')
+ version("0-26", sha256="8c6d62285b528d673fcb8908fbe230ae82287b292d90925d014c6f367e8425ef")
+ version("0-25", sha256="dbf844a2aa820d7275eca55c2e392d12453ab4020d37d532ea6beac47efc4725")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libnftnl/package.py b/var/spack/repos/builtin/packages/libnftnl/package.py
index f9b32c9b89..71e53c364c 100644
--- a/var/spack/repos/builtin/packages/libnftnl/package.py
+++ b/var/spack/repos/builtin/packages/libnftnl/package.py
@@ -11,11 +11,11 @@ class Libnftnl(AutotoolsPackage):
over libmnl."""
homepage = "https://git.netfilter.org/libnftnl/"
- url = "http://ftp.netfilter.org/pub/libnftnl/libnftnl-1.1.5.tar.bz2"
+ url = "http://ftp.netfilter.org/pub/libnftnl/libnftnl-1.1.5.tar.bz2"
- version('1.1.6', sha256='c1eb5a696fc1d4b3b412770586017bc01af93da3ddd25233d34a62979dee1eca')
- version('1.1.5', sha256='66de4d05227c0a1a731c369b193010d18a05b1185c2735211e0ecf658eeb14f3')
- version('1.1.4', sha256='c8c7988347adf261efac5bba59f8e5f995ffb65f247a88cc144e69620573ed20')
+ version("1.1.6", sha256="c1eb5a696fc1d4b3b412770586017bc01af93da3ddd25233d34a62979dee1eca")
+ version("1.1.5", sha256="66de4d05227c0a1a731c369b193010d18a05b1185c2735211e0ecf658eeb14f3")
+ version("1.1.4", sha256="c8c7988347adf261efac5bba59f8e5f995ffb65f247a88cc144e69620573ed20")
- depends_on('pkgconfig', type='build')
- depends_on('libmnl@1.0.3:')
+ depends_on("pkgconfig", type="build")
+ depends_on("libmnl@1.0.3:")
diff --git a/var/spack/repos/builtin/packages/libnids/package.py b/var/spack/repos/builtin/packages/libnids/package.py
index 4128d56f0a..6fcf57d4d8 100644
--- a/var/spack/repos/builtin/packages/libnids/package.py
+++ b/var/spack/repos/builtin/packages/libnids/package.py
@@ -12,12 +12,12 @@ class Libnids(AutotoolsPackage):
E-component."""
homepage = "http://libnids.sourceforge.net/"
- url = "https://github.com/MITRECND/libnids/archive/1.25.tar.gz"
- git = "https://github.com/MITRECND/libnids.git"
+ url = "https://github.com/MITRECND/libnids/archive/1.25.tar.gz"
+ git = "https://github.com/MITRECND/libnids.git"
- version('master', branch='master')
- version('1.25', sha256='47aa634bd0cdad81e092fac3aef6f12ee346c2f536a1eff4d3d5dacdb6dfcec1')
+ version("master", branch="master")
+ version("1.25", sha256="47aa634bd0cdad81e092fac3aef6f12ee346c2f536a1eff4d3d5dacdb6dfcec1")
- depends_on('libpcap')
- depends_on('libnet')
- depends_on('glib@2.2.0:')
+ depends_on("libpcap")
+ depends_on("libnet")
+ depends_on("glib@2.2.0:")
diff --git a/var/spack/repos/builtin/packages/libnl/package.py b/var/spack/repos/builtin/packages/libnl/package.py
index 1de244047a..87d0b00151 100644
--- a/var/spack/repos/builtin/packages/libnl/package.py
+++ b/var/spack/repos/builtin/packages/libnl/package.py
@@ -11,12 +11,12 @@ class Libnl(AutotoolsPackage):
"""libnl - Netlink Protocol Library Suite"""
homepage = "https://www.infradead.org/~tgr/libnl/"
- url = "https://github.com/thom311/libnl/releases/download/libnl3_3_0/libnl-3.3.0.tar.gz"
+ url = "https://github.com/thom311/libnl/releases/download/libnl3_3_0/libnl-3.3.0.tar.gz"
- version('3.3.0', sha256='705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4')
+ version("3.3.0", sha256="705468b5ae4cd1eb099d2d1c476d6a3abe519bc2810becf12fb1e32de1e074e4")
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('m4', type='build')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("m4", type="build")
- conflicts('platform=darwin', msg='libnl requires FreeBSD or Linux')
+ conflicts("platform=darwin", msg="libnl requires FreeBSD or Linux")
diff --git a/var/spack/repos/builtin/packages/libnotify/package.py b/var/spack/repos/builtin/packages/libnotify/package.py
index 1c2e0224ed..9d1444f85d 100644
--- a/var/spack/repos/builtin/packages/libnotify/package.py
+++ b/var/spack/repos/builtin/packages/libnotify/package.py
@@ -10,9 +10,9 @@ class Libnotify(MesonPackage):
"""libnotify is a library for sending desktop notifications"""
homepage = "https://github.com/GNOME/libnotify"
- url = "https://github.com/GNOME/libnotify/archive/0.7.9.tar.gz"
+ url = "https://github.com/GNOME/libnotify/archive/0.7.9.tar.gz"
- version('0.7.9', sha256='9bd4f5fa911d27567e7cc2d2d09d69356c16703c4e8d22c0b49a5c45651f3af0')
+ version("0.7.9", sha256="9bd4f5fa911d27567e7cc2d2d09d69356c16703c4e8d22c0b49a5c45651f3af0")
# Libnotify is having trouble with finding the DTD and XSLT for docbook,
# which is required for both of these varients.
@@ -21,16 +21,16 @@ class Libnotify(MesonPackage):
# variant('gtkdoc', default=False,
# description='Build with gtkdoc. Currently broken')
- depends_on('pkgconfig', type='build')
- depends_on('glib@2.26.0:')
- depends_on('gtkplus@2.90:')
- depends_on('gobject-introspection')
- depends_on('libxslt', type='build')
- depends_on('docbook-xsl', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("glib@2.26.0:")
+ depends_on("gtkplus@2.90:")
+ depends_on("gobject-introspection")
+ depends_on("libxslt", type="build")
+ depends_on("docbook-xsl", type="build")
# depends_on('gtk-doc', when='+gtkdoc', type='build')
# depends_on('xmlto', when='+docbook', type='build')
- patch('docbook-location.patch')
+ patch("docbook-location.patch")
def meson_args(self):
# spec = self.spec
@@ -40,18 +40,18 @@ class Libnotify(MesonPackage):
# args.append('-Ddocbook_docs=enabled')
# else:
# args.append('-Ddocbook_docs=disabled')
- args.append('-Ddocbook_docs=disabled')
+ args.append("-Ddocbook_docs=disabled")
# if self.run_tests:
# args.append('-Dtests=true')
# else:
# args.append('-Dtests=false')
- args.append('-Dtests=false')
+ args.append("-Dtests=false")
# if '+gtkdoc' in spec:
# args.append('-Dgtk_doc=true')
# else:
# args.append('-Dgtk_doc=false')
- args.append('-Dgtk_doc=false')
+ args.append("-Dgtk_doc=false")
return args
diff --git a/var/spack/repos/builtin/packages/libnova/package.py b/var/spack/repos/builtin/packages/libnova/package.py
index c4cd6ec382..de5c990255 100644
--- a/var/spack/repos/builtin/packages/libnova/package.py
+++ b/var/spack/repos/builtin/packages/libnova/package.py
@@ -7,17 +7,17 @@ from spack.package import *
class Libnova(AutotoolsPackage):
- """"libnova is a general purpose, double precision, Celestial Mechanics,
- Astrometry and Astrodynamics library."""
+ """ "libnova is a general purpose, double precision, Celestial Mechanics,
+ Astrometry and Astrodynamics library."""
homepage = "http://libnova.sourceforge.net"
- url = "https://sourceforge.net/projects/libnova/files/libnova/v%200.15.0/libnova-0.15.0.tar.gz/download"
+ url = "https://sourceforge.net/projects/libnova/files/libnova/v%200.15.0/libnova-0.15.0.tar.gz/download"
- version('0.15.0', sha256='7c5aa33e45a3e7118d77df05af7341e61784284f1e8d0d965307f1663f415bb1')
+ version("0.15.0", sha256="7c5aa33e45a3e7118d77df05af7341e61784284f1e8d0d965307f1663f415bb1")
- depends_on('m4')
- depends_on('autoconf')
- depends_on('automake')
- depends_on('libtool')
+ depends_on("m4")
+ depends_on("autoconf")
+ depends_on("automake")
+ depends_on("libtool")
force_autoreconf = True
diff --git a/var/spack/repos/builtin/packages/libnrm/package.py b/var/spack/repos/builtin/packages/libnrm/package.py
index 68ddd359ba..b64b582789 100644
--- a/var/spack/repos/builtin/packages/libnrm/package.py
+++ b/var/spack/repos/builtin/packages/libnrm/package.py
@@ -12,15 +12,15 @@ class Libnrm(AutotoolsPackage):
homepage = "https://xgitlab.cels.anl.gov/argo/libnrm"
url = "https://www.mcs.anl.gov/research/projects/argo/downloads/libnrm-0.1.0.tar.gz"
- version('0.1.0', sha256='f849ada384025fa41251acc2a43aa335e0cb1b9cd1c8ab8b9d1808a036ae551e')
+ version("0.1.0", sha256="f849ada384025fa41251acc2a43aa335e0cb1b9cd1c8ab8b9d1808a036ae551e")
- tags = ['e4s']
+ tags = ["e4s"]
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('libzmq')
- depends_on('mpich')
+ depends_on("libzmq")
+ depends_on("mpich")
diff --git a/var/spack/repos/builtin/packages/libnsl/package.py b/var/spack/repos/builtin/packages/libnsl/package.py
index b7d0dad0e1..e2e660abd9 100644
--- a/var/spack/repos/builtin/packages/libnsl/package.py
+++ b/var/spack/repos/builtin/packages/libnsl/package.py
@@ -11,22 +11,25 @@ class Libnsl(AutotoolsPackage):
in a IPv6 ready version."""
homepage = "https://github.com/thkukuk/libnsl"
- url = "https://github.com/thkukuk/libnsl/archive/v1.3.0.tar.gz"
+ url = "https://github.com/thkukuk/libnsl/archive/v1.3.0.tar.gz"
- version('1.3.0', sha256='8e88017f01dd428f50386186b0cd82ad06c9b2a47f9c5ea6b3023fc6e08a6b0f')
- version('1.2.0', sha256='a5a28ef17c4ca23a005a729257c959620b09f8c7f99d0edbfe2eb6b06bafd3f8')
- version('1.1.0', sha256='f9f0b2e2412aae1d33d40277809d7af1b867f1cb1b7319ad4d0cfa59a75e193a',
- url='https://github.com/thkukuk/libnsl/archive/1.1.0.tar.gz')
+ version("1.3.0", sha256="8e88017f01dd428f50386186b0cd82ad06c9b2a47f9c5ea6b3023fc6e08a6b0f")
+ version("1.2.0", sha256="a5a28ef17c4ca23a005a729257c959620b09f8c7f99d0edbfe2eb6b06bafd3f8")
+ version(
+ "1.1.0",
+ sha256="f9f0b2e2412aae1d33d40277809d7af1b867f1cb1b7319ad4d0cfa59a75e193a",
+ url="https://github.com/thkukuk/libnsl/archive/1.1.0.tar.gz",
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('gettext')
- depends_on('rpcsvc-proto')
- depends_on('libtirpc')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("gettext")
+ depends_on("rpcsvc-proto")
+ depends_on("libtirpc")
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
- autoreconf('-fi')
+ autoreconf = which("autoreconf")
+ autoreconf("-fi")
diff --git a/var/spack/repos/builtin/packages/libogg/package.py b/var/spack/repos/builtin/packages/libogg/package.py
index 936bdb30d0..cd92093ca3 100644
--- a/var/spack/repos/builtin/packages/libogg/package.py
+++ b/var/spack/repos/builtin/packages/libogg/package.py
@@ -11,14 +11,16 @@ class Libogg(AutotoolsPackage):
format for the Xiph.org multimedia codecs."""
homepage = "https://www.xiph.org/ogg/"
- url = "http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz"
+ url = "http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz"
- version('1.3.5', sha256='0eb4b4b9420a0f51db142ba3f9c64b333f826532dc0f48c6410ae51f4799b664')
- version('1.3.4', sha256='fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e')
- version('1.3.2', sha256='e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692')
+ version("1.3.5", sha256="0eb4b4b9420a0f51db142ba3f9c64b333f826532dc0f48c6410ae51f4799b664")
+ version("1.3.4", sha256="fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e")
+ version("1.3.2", sha256="e19ee34711d7af328cb26287f4137e70630e7261b17cbe3cd41011d73a654692")
# Backport a patch that fixes an unsigned typedef problem on macOS:
# https://github.com/xiph/ogg/pull/64
- patch('https://github.com/xiph/ogg/commit/c8fca6b4a02d695b1ceea39b330d4406001c03ed.patch?full_index=1',
- sha256='0f4d289aecb3d5f7329d51f1a72ab10c04c336b25481a40d6d841120721be485',
- when='@1.3.4 platform=darwin')
+ patch(
+ "https://github.com/xiph/ogg/commit/c8fca6b4a02d695b1ceea39b330d4406001c03ed.patch?full_index=1",
+ sha256="0f4d289aecb3d5f7329d51f1a72ab10c04c336b25481a40d6d841120721be485",
+ when="@1.3.4 platform=darwin",
+ )
diff --git a/var/spack/repos/builtin/packages/liboldx/package.py b/var/spack/repos/builtin/packages/liboldx/package.py
index 7ffdbd7ee4..7879b88f5d 100644
--- a/var/spack/repos/builtin/packages/liboldx/package.py
+++ b/var/spack/repos/builtin/packages/liboldx/package.py
@@ -12,9 +12,9 @@ class Liboldx(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/liboldX/"
xorg_mirror_path = "lib/liboldX-1.0.1.tar.gz"
- version('1.0.1', sha256='74322dbf04df69787485eb24b16e12783dfc3454befaf18482ead51bd7b55dc8')
+ version("1.0.1", sha256="74322dbf04df69787485eb24b16e12783dfc3454befaf18482ead51bd7b55dc8")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libopts/package.py b/var/spack/repos/builtin/packages/libopts/package.py
index 72eabfe7fc..afb09a3f29 100644
--- a/var/spack/repos/builtin/packages/libopts/package.py
+++ b/var/spack/repos/builtin/packages/libopts/package.py
@@ -11,11 +11,11 @@ class Libopts(AutotoolsPackage):
development of metaheuristic-based techniques."""
homepage = "https://github.com/jppbsi/LibOPT/"
- git = "https://github.com/jppbsi/LibOPT.git"
+ git = "https://github.com/jppbsi/LibOPT.git"
- version('master', branch='master')
+ version("master", branch="master")
parallel = False
def install(self, spec, prefix):
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libp11/package.py b/var/spack/repos/builtin/packages/libp11/package.py
index 6575b70672..21466ddb2f 100644
--- a/var/spack/repos/builtin/packages/libp11/package.py
+++ b/var/spack/repos/builtin/packages/libp11/package.py
@@ -17,19 +17,19 @@ class Libp11(AutotoolsPackage):
are not made available to the applications using them."""
homepage = "https://github.com/OpenSC/libp11/wiki"
- url = "https://github.com/OpenSC/libp11/archive/libp11-0.4.10.tar.gz"
+ url = "https://github.com/OpenSC/libp11/archive/libp11-0.4.10.tar.gz"
- version('0.4.11', sha256='56d6149879bda379613d89adfd3486ce5a3c20af6c1e3f9e83d15d900ab9e4bc')
- version('0.4.10', sha256='123c1525fa7ce7a34060f9a4148a30717482c517a378f428b704459820c1bf35')
- version('0.4.9', sha256='9d1c76d74c21ca224f96204982097ebc6b956f645b2b0b5f9c502a20e9ffcfd8')
- version('0.4.8', sha256='acccd56b736942dfcc490d102d2cb2b6afa6b2e448dd1dc5a1b773eadb98f83d')
+ version("0.4.11", sha256="56d6149879bda379613d89adfd3486ce5a3c20af6c1e3f9e83d15d900ab9e4bc")
+ version("0.4.10", sha256="123c1525fa7ce7a34060f9a4148a30717482c517a378f428b704459820c1bf35")
+ version("0.4.9", sha256="9d1c76d74c21ca224f96204982097ebc6b956f645b2b0b5f9c502a20e9ffcfd8")
+ version("0.4.8", sha256="acccd56b736942dfcc490d102d2cb2b6afa6b2e448dd1dc5a1b773eadb98f83d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('openssl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("openssl")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
diff --git a/var/spack/repos/builtin/packages/libpam/package.py b/var/spack/repos/builtin/packages/libpam/package.py
index 601a6f9907..d51fd66ef5 100644
--- a/var/spack/repos/builtin/packages/libpam/package.py
+++ b/var/spack/repos/builtin/packages/libpam/package.py
@@ -11,18 +11,18 @@ class Libpam(AutotoolsPackage):
logging into servers via SSH, OpenVPN, etc"""
homepage = "https://github.com/google/google-authenticator-libpam"
- url = "https://github.com/google/google-authenticator-libpam/archive/1.09.tar.gz"
+ url = "https://github.com/google/google-authenticator-libpam/archive/1.09.tar.gz"
- version('1.09', sha256='ab1d7983413dc2f11de2efa903e5c326af8cb9ea37765dacb39949417f7cd037')
- version('1.08', sha256='6f6d7530261ba9e2ece84214f1445857d488b7851c28a58356b49f2d9fd36290')
- version('1.07', sha256='104a158e013585e20287f8d33935e93c711b96281e6dda621a5c19575d0b0405')
+ version("1.09", sha256="ab1d7983413dc2f11de2efa903e5c326af8cb9ea37765dacb39949417f7cd037")
+ version("1.08", sha256="6f6d7530261ba9e2ece84214f1445857d488b7851c28a58356b49f2d9fd36290")
+ version("1.07", sha256="104a158e013585e20287f8d33935e93c711b96281e6dda621a5c19575d0b0405")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('linux-pam')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("linux-pam")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap.sh')
+ bash = which("bash")
+ bash("./bootstrap.sh")
diff --git a/var/spack/repos/builtin/packages/libpaper/package.py b/var/spack/repos/builtin/packages/libpaper/package.py
index 35c68346e4..6b88905f01 100644
--- a/var/spack/repos/builtin/packages/libpaper/package.py
+++ b/var/spack/repos/builtin/packages/libpaper/package.py
@@ -12,11 +12,11 @@ class Libpaper(AutotoolsPackage):
user-specified paper size."""
homepage = "https://packages.debian.org/unstable/source/libpaper"
- url = "https://deb.debian.org/debian/pool/main/libp/libpaper/libpaper_1.1.28.tar.gz"
+ url = "https://deb.debian.org/debian/pool/main/libp/libpaper/libpaper_1.1.28.tar.gz"
- version('1.1.28', sha256='c8bb946ec93d3c2c72bbb1d7257e90172a22a44a07a07fb6b802a5bb2c95fddc')
+ version("1.1.28", sha256="c8bb946ec93d3c2c72bbb1d7257e90172a22a44a07a07fb6b802a5bb2c95fddc")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libpcap/package.py b/var/spack/repos/builtin/packages/libpcap/package.py
index 3d0b740db2..cb878257d5 100644
--- a/var/spack/repos/builtin/packages/libpcap/package.py
+++ b/var/spack/repos/builtin/packages/libpcap/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class Libpcap(AutotoolsPackage):
"""libpcap is a portable library in C/C++ for packet capture."""
+
homepage = "https://www.tcpdump.org/"
list_url = "https://www.tcpdump.org/release/"
- url = "https://www.tcpdump.org/release/libpcap-1.8.1.tar.gz"
+ url = "https://www.tcpdump.org/release/libpcap-1.8.1.tar.gz"
- version('1.10.0', sha256='8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e')
- version('1.9.1', sha256='635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094')
- version('1.8.1', sha256='673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e')
+ version("1.10.0", sha256="8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e")
+ version("1.9.1", sha256="635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094")
+ version("1.8.1", sha256="673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index 1af2e96c8d..7e6d010967 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -12,15 +12,15 @@ class Libpciaccess(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libpciaccess/"
xorg_mirror_path = "lib/libpciaccess-0.13.5.tar.gz"
- version('0.16', sha256='84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27')
- version('0.13.5', sha256='fe26ec788732b4ef60b550f2d3fa51c605d27f646e18ecec878f061807a3526e')
- version('0.13.4', sha256='74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f')
+ version("0.16", sha256="84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27")
+ version("0.13.5", sha256="fe26ec788732b4ef60b550f2d3fa51c605d27f646e18ecec878f061807a3526e")
+ version("0.13.4", sha256="74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f")
- depends_on('libtool', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("libtool", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
- patch('nvhpc.patch', when='%nvhpc')
+ patch("nvhpc.patch", when="%nvhpc")
# A known issue exists when building with PGI as documented here:
# https://bugs.freedesktop.org/show_bug.cgi?id=94398
@@ -29,17 +29,17 @@ class Libpciaccess(AutotoolsPackage, XorgPackage):
#
# When the ability to use dependencies built by another compiler, using a
# libpciaccess built by gcc should be usable by PGI builds.
- conflicts('%pgi')
+ conflicts("%pgi")
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
def configure_args(self):
config_args = []
- if (self.spec.satisfies('%nvhpc@:20.11') and
- (self.spec.target.family == 'aarch64' or
- self.spec.target.family == 'ppc64le')):
- config_args.append('--disable-strict-compilation')
- config_args.append('--disable-selective-werror')
+ if self.spec.satisfies("%nvhpc@:20.11") and (
+ self.spec.target.family == "aarch64" or self.spec.target.family == "ppc64le"
+ ):
+ config_args.append("--disable-strict-compilation")
+ config_args.append("--disable-selective-werror")
return config_args
diff --git a/var/spack/repos/builtin/packages/libpeas/package.py b/var/spack/repos/builtin/packages/libpeas/package.py
index 460ad7d1b6..64a11acde9 100644
--- a/var/spack/repos/builtin/packages/libpeas/package.py
+++ b/var/spack/repos/builtin/packages/libpeas/package.py
@@ -15,41 +15,41 @@ class Libpeas(AutotoolsPackage):
extensibility."""
homepage = "http://developer.gnome.org/libpeas/stable"
- url = 'https://download.gnome.org/sources/libpeas/1.22/libpeas-1.22.0.tar.xz'
-
- version('1.22.0', sha256='5b2fc0f53962b25bca131a5ec0139e6fef8e254481b6e777975f7a1d2702a962')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('atk')
- depends_on('intltool@0.40.0:')
- depends_on('xmlto', type='build')
- depends_on('perl', type='build')
- depends_on('perl-xml-parser', type='build')
- depends_on('glib@2.10:')
- depends_on('gobject-introspection')
- depends_on('libffi')
- depends_on('gtkplus')
- depends_on('gdk-pixbuf')
- depends_on('pango')
- depends_on('gnome-common')
- depends_on('py-pygobject@3:', type='build')
- depends_on('python@3:3.7.9', type='build')
+ url = "https://download.gnome.org/sources/libpeas/1.22/libpeas-1.22.0.tar.xz"
+
+ version("1.22.0", sha256="5b2fc0f53962b25bca131a5ec0139e6fef8e254481b6e777975f7a1d2702a962")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("atk")
+ depends_on("intltool@0.40.0:")
+ depends_on("xmlto", type="build")
+ depends_on("perl", type="build")
+ depends_on("perl-xml-parser", type="build")
+ depends_on("glib@2.10:")
+ depends_on("gobject-introspection")
+ depends_on("libffi")
+ depends_on("gtkplus")
+ depends_on("gdk-pixbuf")
+ depends_on("pango")
+ depends_on("gnome-common")
+ depends_on("py-pygobject@3:", type="build")
+ depends_on("python@3:3.7.9", type="build")
def url_for_version(self, version):
- url = 'https://download.gnome.org/sources/libpeas/'
- url += '{0}/libpeas-{1}.tar.xz'
+ url = "https://download.gnome.org/sources/libpeas/"
+ url += "{0}/libpeas-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
# Let
@@ -74,38 +74,36 @@ class Libpeas(AutotoolsPackage):
# in python_lib_path. However, pkg-config returns the correct
# directory, so pkg-config is used to generate the correct paths for
# LDFLAGS.
- pkg_config = which('pkg-config')
- python_prefix = self.spec['python'].prefix.lib.pkgconfig
- python_pc_file = os.path.join(python_prefix, 'python3.pc')
- python_ldflags = pkg_config('--libs', python_pc_file, output=str)
+ pkg_config = which("pkg-config")
+ python_prefix = self.spec["python"].prefix.lib.pkgconfig
+ python_pc_file = os.path.join(python_prefix, "python3.pc")
+ python_ldflags = pkg_config("--libs", python_pc_file, output=str)
- env.append_path('LDFLAGS', python_ldflags)
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.append_path("LDFLAGS", python_ldflags)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_run_environment(self, env):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def autoreconf(self, spec, prefix):
- autoreconf_args = ['-ivf']
- aclocal_pkg_list = ['pkgconfig',
- 'gettext',
- 'intltool',
- 'glib',
- 'gobject-introspection',
- 'gnome-common',
- 'gtkplus']
- aclocal_path = os.path.join('share', 'aclocal')
+ autoreconf_args = ["-ivf"]
+ aclocal_pkg_list = [
+ "pkgconfig",
+ "gettext",
+ "intltool",
+ "glib",
+ "gobject-introspection",
+ "gnome-common",
+ "gtkplus",
+ ]
+ aclocal_path = os.path.join("share", "aclocal")
for pkg in aclocal_pkg_list:
- autoreconf_args += ['-I',
- os.path.join(spec[pkg].prefix, aclocal_path)]
+ autoreconf_args += ["-I", os.path.join(spec[pkg].prefix, aclocal_path)]
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
autoreconf(*autoreconf_args)
def configure_args(self):
- args = ['--disable-silent-rules',
- '--enable-gtk',
- '--enable-python3',
- '--disable-python2']
+ args = ["--disable-silent-rules", "--enable-gtk", "--enable-python3", "--disable-python2"]
return args
diff --git a/var/spack/repos/builtin/packages/libpfm4/package.py b/var/spack/repos/builtin/packages/libpfm4/package.py
index 7a070b5fcf..120d2da01f 100644
--- a/var/spack/repos/builtin/packages/libpfm4/package.py
+++ b/var/spack/repos/builtin/packages/libpfm4/package.py
@@ -8,29 +8,29 @@ from spack.package import *
class Libpfm4(MakefilePackage):
"""libpfm4 is a userspace library to help
- setup performance events for use with
- the perf_events Linux kernel interface."""
+ setup performance events for use with
+ the perf_events Linux kernel interface."""
homepage = "http://perfmon2.sourceforge.net"
- url = "https://downloads.sourceforge.net/project/perfmon2/libpfm4/libpfm-4.8.0.tar.gz"
- maintainers = ['mwkrentel']
+ url = "https://downloads.sourceforge.net/project/perfmon2/libpfm4/libpfm-4.8.0.tar.gz"
+ maintainers = ["mwkrentel"]
- version('4.11.0', sha256='5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc')
- version('4.10.1', sha256='c61c575378b5c17ccfc5806761e4038828610de76e2e34fac9f7fa73ba844b49')
- version('4.9.0', sha256='db0fbe8ee28fd9beeb5d3e80b7cb3b104debcf6a9fcf5cb8b882f0662c79e4e2')
- version('4.8.0', sha256='9193787a73201b4254e3669243fd71d15a9550486920861912090a09f366cf68')
+ version("4.11.0", sha256="5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc")
+ version("4.10.1", sha256="c61c575378b5c17ccfc5806761e4038828610de76e2e34fac9f7fa73ba844b49")
+ version("4.9.0", sha256="db0fbe8ee28fd9beeb5d3e80b7cb3b104debcf6a9fcf5cb8b882f0662c79e4e2")
+ version("4.8.0", sha256="9193787a73201b4254e3669243fd71d15a9550486920861912090a09f366cf68")
# Fails to build libpfm4 with intel compiler version 16 and 17
- conflicts('%intel@16:17')
+ conflicts("%intel@16:17")
# Set default optimization level (-O2) if not specified.
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
for flag in flags:
- if flag.startswith('-O'):
+ if flag.startswith("-O"):
break
else:
- flags.append('-O2')
+ flags.append("-O2")
return (flags, None, None)
@@ -38,13 +38,15 @@ class Libpfm4(MakefilePackage):
# compiler, version, we don't want to fail the build over a stray
# warning.
def patch(self):
- filter_file('-Werror', '', 'config.mk')
+ filter_file("-Werror", "", "config.mk")
@property
def install_targets(self):
- return ['DESTDIR={0}'.format(self.prefix),
- 'LIBDIR=/lib',
- 'INCDIR=/include',
- 'MANDIR=/man',
- 'LDCONFIG=true',
- 'install']
+ return [
+ "DESTDIR={0}".format(self.prefix),
+ "LIBDIR=/lib",
+ "INCDIR=/include",
+ "MANDIR=/man",
+ "LDCONFIG=true",
+ "install",
+ ]
diff --git a/var/spack/repos/builtin/packages/libpipeline/package.py b/var/spack/repos/builtin/packages/libpipeline/package.py
index 16b5c976e4..467a0c5a75 100644
--- a/var/spack/repos/builtin/packages/libpipeline/package.py
+++ b/var/spack/repos/builtin/packages/libpipeline/package.py
@@ -14,8 +14,8 @@ class Libpipeline(AutotoolsPackage):
git = "https://gitlab.com/cjwatson/libpipeline"
url = "https://download.savannah.nongnu.org/releases/libpipeline/libpipeline-1.5.5.tar.gz"
- version('1.5.5', sha256='0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc')
- version('1.4.2', sha256='fef1fc9aa40ce8796f18cd1aecd888a9484a9556c8b0f8d07c863578277679be')
+ version("1.5.5", sha256="0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc")
+ version("1.4.2", sha256="fef1fc9aa40ce8796f18cd1aecd888a9484a9556c8b0f8d07c863578277679be")
- depends_on('pkgconfig', type='build')
- depends_on('check', type='test')
+ depends_on("pkgconfig", type="build")
+ depends_on("check", type="test")
diff --git a/var/spack/repos/builtin/packages/libplist/package.py b/var/spack/repos/builtin/packages/libplist/package.py
index 233d143136..a4611a606e 100644
--- a/var/spack/repos/builtin/packages/libplist/package.py
+++ b/var/spack/repos/builtin/packages/libplist/package.py
@@ -14,32 +14,34 @@ class Libplist(AutotoolsPackage):
url = "https://github.com/libimobiledevice/libplist/releases/download/2.2.0/libplist-2.2.0.tar.bz2"
git = "https://git.libimobiledevice.org/libplist.git"
- version('master', branch='master')
- version('2.2.0', sha256='4a5517e5377ec421df84c586ba85bb4e1d26f11ad203d7d450a907c0156fbd9a')
- version('2.0.0', sha256='3a7e9694c2d9a85174ba1fa92417cfabaea7f6d19631e544948dc7e17e82f602')
- version('1.10', sha256='f44c52a0f8065d41d44772a7484f93bc5e7da21a8f4a9ad3f38a36b827eeff0b')
- version('1.9', sha256='53c4d49db3b3ac9e5a17a2abc3000c529cf2b7d0229c4a25d7c2d465bc3ce3fc')
- version('1.8', sha256='a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec')
- version('1.7', sha256='92ad4d7e71ee13bd8ad17c99c193d26b22a18c226f0068c3ee63085a9f8c4451')
- version('1.6', sha256='2e548ef3239e7bbbbf4771b19a6eedbf78f91e5e6c96d5df83c52838e16cffd6')
- version('1.5', sha256='2380a93e8ae0c591f921798ab333a66fda35f85001bd31941aaa58f7aef1e0d9')
- version('1.4', sha256='2ad226abe1131a72e7ecbb2b921ad92f54b8e787c2281c89b00145b519479a71')
- version('1.3', sha256='982c8aac59cdc3fafc925a407a29b6cf367c5ec9bad6ad509fe5ea25d3e5b6b0')
-
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('pkgconfig', type='build')
-
- install_targets = ['install', 'PYTHON_LDFLAGS=-undefined dynamic_lookup']
+ version("master", branch="master")
+ version("2.2.0", sha256="4a5517e5377ec421df84c586ba85bb4e1d26f11ad203d7d450a907c0156fbd9a")
+ version("2.0.0", sha256="3a7e9694c2d9a85174ba1fa92417cfabaea7f6d19631e544948dc7e17e82f602")
+ version("1.10", sha256="f44c52a0f8065d41d44772a7484f93bc5e7da21a8f4a9ad3f38a36b827eeff0b")
+ version("1.9", sha256="53c4d49db3b3ac9e5a17a2abc3000c529cf2b7d0229c4a25d7c2d465bc3ce3fc")
+ version("1.8", sha256="a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec")
+ version("1.7", sha256="92ad4d7e71ee13bd8ad17c99c193d26b22a18c226f0068c3ee63085a9f8c4451")
+ version("1.6", sha256="2e548ef3239e7bbbbf4771b19a6eedbf78f91e5e6c96d5df83c52838e16cffd6")
+ version("1.5", sha256="2380a93e8ae0c591f921798ab333a66fda35f85001bd31941aaa58f7aef1e0d9")
+ version("1.4", sha256="2ad226abe1131a72e7ecbb2b921ad92f54b8e787c2281c89b00145b519479a71")
+ version("1.3", sha256="982c8aac59cdc3fafc925a407a29b6cf367c5ec9bad6ad509fe5ea25d3e5b6b0")
+
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("pkgconfig", type="build")
+
+ install_targets = ["install", "PYTHON_LDFLAGS=-undefined dynamic_lookup"]
def autoreconf(self, spec, prefix):
- if self.spec.satisfies('@master'):
- autogen = Executable('./autogen.sh')
+ if self.spec.satisfies("@master"):
+ autogen = Executable("./autogen.sh")
autogen()
def configure_args(self):
- return ['--disable-dependency-tracking',
- '--disable-silent-rules',
- '--prefix=%s' % self.spec.prefix,
- '--without-cython']
+ return [
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
+ "--prefix=%s" % self.spec.prefix,
+ "--without-cython",
+ ]
diff --git a/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py b/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py
index 4b51ea931d..abe93d0d45 100644
--- a/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py
+++ b/var/spack/repos/builtin/packages/libpmemobj-cpp/package.py
@@ -10,31 +10,34 @@ class LibpmemobjCpp(CMakePackage):
"""C++ bindings for libpmemobj (https://github.com/pmem/pmdk)"""
homepage = "https://github.com/pmem/libpmemobj-cpp"
- url = "https://github.com/pmem/libpmemobj-cpp/archive/1.12.tar.gz"
- git = "https://github.com/pmem/libpmemobj-cpp.git"
-
- version('develop', branch='master')
- version('1.12', sha256='5a7e082a862affbd87ff174b790be7db77f7d85d4c583acc34011f1104bc54a9')
- version('1.11', sha256='2818f3ce23c861222d2765c377e6d4ccf8a2e2f66e4d23e4e2c35f4246f4a403')
- version('1.10', sha256='bba31d9a1c21b38c20cbe2d2b152effef7e2debfa89a87e0c32de616c31d9191')
- version('1.9', sha256='0284c20e7f642f16b3d49d576a6540bcf68330962ac273e11b07158b6e769689')
- version('1.8', sha256='dcf60be1140a90f10b8eeb763d53e3dfcdf5a5b345e10f78d469356642527b32')
- version('1.7', sha256='53af87a648ff28a74d6856ce2125ca4acdb0c4b78062df1cba18d50d35e3eada')
- version('1.6', sha256='791bf86c6b9401451e3d20f19cb8799d312b9d58659cb93aa532cd724db554ae')
- version('1.5.1', sha256='0448bac4697f6563789e5bf22b8556288ae67ab916608bc45d0a3baa24c67985')
- version('1.5', sha256='6254aa2fb77977f8b91998eb866216d2af22f4ccbffdfc7932df1dff151da61e')
+ url = "https://github.com/pmem/libpmemobj-cpp/archive/1.12.tar.gz"
+ git = "https://github.com/pmem/libpmemobj-cpp.git"
+
+ version("develop", branch="master")
+ version("1.12", sha256="5a7e082a862affbd87ff174b790be7db77f7d85d4c583acc34011f1104bc54a9")
+ version("1.11", sha256="2818f3ce23c861222d2765c377e6d4ccf8a2e2f66e4d23e4e2c35f4246f4a403")
+ version("1.10", sha256="bba31d9a1c21b38c20cbe2d2b152effef7e2debfa89a87e0c32de616c31d9191")
+ version("1.9", sha256="0284c20e7f642f16b3d49d576a6540bcf68330962ac273e11b07158b6e769689")
+ version("1.8", sha256="dcf60be1140a90f10b8eeb763d53e3dfcdf5a5b345e10f78d469356642527b32")
+ version("1.7", sha256="53af87a648ff28a74d6856ce2125ca4acdb0c4b78062df1cba18d50d35e3eada")
+ version("1.6", sha256="791bf86c6b9401451e3d20f19cb8799d312b9d58659cb93aa532cd724db554ae")
+ version("1.5.1", sha256="0448bac4697f6563789e5bf22b8556288ae67ab916608bc45d0a3baa24c67985")
+ version("1.5", sha256="6254aa2fb77977f8b91998eb866216d2af22f4ccbffdfc7932df1dff151da61e")
# libpmemobj only supports 'Debug' and 'Release'
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release'))
-
- depends_on('pmdk@master', when='@develop')
- depends_on('pmdk@1.9:', when='@1.12:')
- depends_on('pmdk@1.8:', when='@1.9:')
- depends_on('pmdk@1.7:', when='@1.8:')
- depends_on('pmdk@1.4:', when='@1.5:')
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release"),
+ )
+
+ depends_on("pmdk@master", when="@develop")
+ depends_on("pmdk@1.9:", when="@1.12:")
+ depends_on("pmdk@1.8:", when="@1.9:")
+ depends_on("pmdk@1.7:", when="@1.8:")
+ depends_on("pmdk@1.4:", when="@1.5:")
def cmake_args(self):
- args = ['-DTESTS_USE_VALGRIND=OFF']
+ args = ["-DTESTS_USE_VALGRIND=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/libpng/package.py b/var/spack/repos/builtin/packages/libpng/package.py
index 5fec86c4e9..eb3b10a2d9 100644
--- a/var/spack/repos/builtin/packages/libpng/package.py
+++ b/var/spack/repos/builtin/packages/libpng/package.py
@@ -13,7 +13,7 @@ class Libpng(AutotoolsPackage):
url = "https://prdownloads.sourceforge.net/libpng/libpng-1.6.37.tar.xz"
git = "https://github.com/glennrp/libpng.git"
- version('1.6.37', sha256='505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca')
+ version("1.6.37", sha256="505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca")
# From http://www.libpng.org/pub/png/libpng.html (2019-04-15)
# libpng versions 1.6.36 and earlier have a use-after-free bug in the
# simplified libpng API png_image_free(). It has been assigned ID
@@ -21,22 +21,22 @@ class Libpng(AutotoolsPackage):
# released on 15 April 2019.
# Required for qt@3
- version('1.5.30', sha256='7d76275fad2ede4b7d87c5fd46e6f488d2a16b5a69dc968ffa840ab39ba756ed')
- version('1.2.57', sha256='0f4620e11fa283fedafb474427c8e96bf149511a1804bdc47350963ae5cf54d8')
+ version("1.5.30", sha256="7d76275fad2ede4b7d87c5fd46e6f488d2a16b5a69dc968ffa840ab39ba756ed")
+ version("1.2.57", sha256="0f4620e11fa283fedafb474427c8e96bf149511a1804bdc47350963ae5cf54d8")
- depends_on('zlib@1.0.4:') # 1.2.5 or later recommended
+ depends_on("zlib@1.0.4:") # 1.2.5 or later recommended
def configure_args(self):
args = [
# not honored, see
# https://sourceforge.net/p/libpng/bugs/210/#33f1
# '--with-zlib=' + self.spec['zlib'].prefix,
- 'CPPFLAGS={0}'.format(self.spec['zlib'].headers.include_flags),
- 'LDFLAGS={0}'.format(self.spec['zlib'].libs.search_flags)
+ "CPPFLAGS={0}".format(self.spec["zlib"].headers.include_flags),
+ "LDFLAGS={0}".format(self.spec["zlib"].libs.search_flags),
]
return args
def check(self):
# Libpng has both 'check' and 'test' targets that are aliases.
# Only need to run the tests once.
- make('check')
+ make("check")
diff --git a/var/spack/repos/builtin/packages/libproxy/package.py b/var/spack/repos/builtin/packages/libproxy/package.py
index bd8f2feca0..f4b3156204 100644
--- a/var/spack/repos/builtin/packages/libproxy/package.py
+++ b/var/spack/repos/builtin/packages/libproxy/package.py
@@ -11,28 +11,28 @@ class Libproxy(CMakePackage):
management."""
homepage = "https://libproxy.github.io/libproxy/"
- url = "https://github.com/libproxy/libproxy/archive/0.4.15.tar.gz"
+ url = "https://github.com/libproxy/libproxy/archive/0.4.15.tar.gz"
- version('0.4.17', sha256='88c624711412665515e2800a7e564aabb5b3ee781b9820eca9168035b0de60a9')
- version('0.4.16', sha256='9e7959d6ae1d6c817f0ac1e253105ce8d99f55d7821c1b6eaef32bf6879c6f0a')
- version('0.4.15', sha256='18f58b0a0043b6881774187427ead158d310127fc46a1c668ad6d207fb28b4e0')
- version('0.4.14', sha256='6220a6cab837a8996116a0568324cadfd09a07ec16b930d2a330e16d5c2e1eb6')
- version('0.4.13', sha256='d610bc0ef81a18ba418d759c5f4f87bf7102229a9153fb397d7d490987330ffd')
+ version("0.4.17", sha256="88c624711412665515e2800a7e564aabb5b3ee781b9820eca9168035b0de60a9")
+ version("0.4.16", sha256="9e7959d6ae1d6c817f0ac1e253105ce8d99f55d7821c1b6eaef32bf6879c6f0a")
+ version("0.4.15", sha256="18f58b0a0043b6881774187427ead158d310127fc46a1c668ad6d207fb28b4e0")
+ version("0.4.14", sha256="6220a6cab837a8996116a0568324cadfd09a07ec16b930d2a330e16d5c2e1eb6")
+ version("0.4.13", sha256="d610bc0ef81a18ba418d759c5f4f87bf7102229a9153fb397d7d490987330ffd")
- variant('perl', default=False, description='Enable Perl bindings')
- variant('python', default=True, description='Enable Python bindings')
+ variant("perl", default=False, description="Enable Perl bindings")
+ variant("python", default=True, description="Enable Python bindings")
- depends_on('zlib')
- depends_on('perl', type=('build', 'run'), when='+perl')
- depends_on('python', type=('build', 'run'), when='+python')
- depends_on('python@:3.6', type=('build', 'run'), when='@:0.4.15 +python')
+ depends_on("zlib")
+ depends_on("perl", type=("build", "run"), when="+perl")
+ depends_on("python", type=("build", "run"), when="+python")
+ depends_on("python@:3.6", type=("build", "run"), when="@:0.4.15 +python")
def cmake_args(self):
from_variant = self.define_from_variant
return [
- from_variant('WITH_PERL', 'perl'),
- from_variant('WITH_PYTHON3', 'python'),
- CMakePackage.define('WITH_DOTNET', False),
- CMakePackage.define('WITH_PYTHON2', False),
- CMakePackage.define('WITH_VALA', False),
+ from_variant("WITH_PERL", "perl"),
+ from_variant("WITH_PYTHON3", "python"),
+ CMakePackage.define("WITH_DOTNET", False),
+ CMakePackage.define("WITH_PYTHON2", False),
+ CMakePackage.define("WITH_VALA", False),
]
diff --git a/var/spack/repos/builtin/packages/libpsl/package.py b/var/spack/repos/builtin/packages/libpsl/package.py
index fdb1b19d20..4932eed915 100644
--- a/var/spack/repos/builtin/packages/libpsl/package.py
+++ b/var/spack/repos/builtin/packages/libpsl/package.py
@@ -10,28 +10,30 @@ class Libpsl(AutotoolsPackage):
"""libpsl - C library to handle the Public Suffix List."""
homepage = "https://github.com/rockdaboot/libpsl"
- url = "https://github.com/rockdaboot/libpsl/releases/download/libpsl-0.17.0/libpsl-0.17.0.tar.gz"
+ url = (
+ "https://github.com/rockdaboot/libpsl/releases/download/libpsl-0.17.0/libpsl-0.17.0.tar.gz"
+ )
- version('0.17.0', sha256='025729d6a26ffd53cb54b4d86196f62c01d1813a4360c627546c6eb60ce3dd4b')
+ version("0.17.0", sha256="025729d6a26ffd53cb54b4d86196f62c01d1813a4360c627546c6eb60ce3dd4b")
- depends_on('icu4c')
+ depends_on("icu4c")
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('python@2.7:', type='build')
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@2.7:", type="build")
- depends_on('valgrind~mpi~boost', type='test')
+ depends_on("valgrind~mpi~boost", type="test")
def configure_args(self):
spec = self.spec
args = [
- 'PYTHON={0}'.format(spec['python'].command.path),
+ "PYTHON={0}".format(spec["python"].command.path),
]
if self.run_tests:
- args.append('--enable-valgrind-tests')
+ args.append("--enable-valgrind-tests")
else:
- args.append('--disable-valgrind-tests')
+ args.append("--disable-valgrind-tests")
return args
diff --git a/var/spack/repos/builtin/packages/libpsml/package.py b/var/spack/repos/builtin/packages/libpsml/package.py
index 2e3d004fd9..f4be18423d 100644
--- a/var/spack/repos/builtin/packages/libpsml/package.py
+++ b/var/spack/repos/builtin/packages/libpsml/package.py
@@ -11,20 +11,20 @@ class Libpsml(AutotoolsPackage):
"""libPSML is a library to handle pseudopotentials in PSML format."""
homepage = "https://gitlab.com/siesta-project/libraries/libpsml"
- git = "https://gitlab.com/siesta-project/libraries/libpsml.git"
- url = "https://gitlab.com/siesta-project/libraries/libpsml/-/archive/libpsml-1.1.10/libpsml-libpsml-1.1.10.tar.gz"
+ git = "https://gitlab.com/siesta-project/libraries/libpsml.git"
+ url = "https://gitlab.com/siesta-project/libraries/libpsml/-/archive/libpsml-1.1.10/libpsml-libpsml-1.1.10.tar.gz"
- version('1.1.10', sha256='ba87ece7d443a42a5db3a119c555a29a391a060dd6f3f5039a2c6ea248b7fe84')
- version('1.1.9', sha256='04b8de33c555ae94a790116cd3cf7b6c9e8ec9a018562edff544a2e04876cf0c')
- version('1.1.8', sha256='77498783be1bc7006819f36c42477b5913464b8c660203f7d6b7f7e25aa29145')
- version('1.1.7', sha256='b3f5431fd3965b66fe01b899c0c3ef73d9f969d67329cd1f5aba84fb056b5dd1')
- version('1.1.6', sha256='521647dbd945b208e5d468fceeb2bc397737d9a659e2c7549597bf4eb29f60df')
+ version("1.1.10", sha256="ba87ece7d443a42a5db3a119c555a29a391a060dd6f3f5039a2c6ea248b7fe84")
+ version("1.1.9", sha256="04b8de33c555ae94a790116cd3cf7b6c9e8ec9a018562edff544a2e04876cf0c")
+ version("1.1.8", sha256="77498783be1bc7006819f36c42477b5913464b8c660203f7d6b7f7e25aa29145")
+ version("1.1.7", sha256="b3f5431fd3965b66fe01b899c0c3ef73d9f969d67329cd1f5aba84fb056b5dd1")
+ version("1.1.6", sha256="521647dbd945b208e5d468fceeb2bc397737d9a659e2c7549597bf4eb29f60df")
- depends_on('autoconf@2.69:', type='build')
- depends_on('automake@1.14:', type='build')
- depends_on('libtool@2.4.2:', type='build')
- depends_on('m4', type='build')
- depends_on('xmlf90')
+ depends_on("autoconf@2.69:", type="build")
+ depends_on("automake@1.14:", type="build")
+ depends_on("libtool@2.4.2:", type="build")
+ depends_on("m4", type="build")
+ depends_on("xmlf90")
def configure_args(self):
- return ['--with-xmlf90=%s' % self.spec['xmlf90'].prefix]
+ return ["--with-xmlf90=%s" % self.spec["xmlf90"].prefix]
diff --git a/var/spack/repos/builtin/packages/libpthread-stubs/package.py b/var/spack/repos/builtin/packages/libpthread-stubs/package.py
index 7938ab33cd..b20941610a 100644
--- a/var/spack/repos/builtin/packages/libpthread-stubs/package.py
+++ b/var/spack/repos/builtin/packages/libpthread-stubs/package.py
@@ -11,7 +11,7 @@ class LibpthreadStubs(AutotoolsPackage):
functions not provided in libc or otherwise available by default."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.gz"
- version('0.4', sha256='50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9')
- version('0.3', sha256='3031f466cf0b06de6b3ccbf2019d15c4fcf75229b7d226a711bc1885b3a82cde')
+ version("0.4", sha256="50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9")
+ version("0.3", sha256="3031f466cf0b06de6b3ccbf2019d15c4fcf75229b7d226a711bc1885b3a82cde")
diff --git a/var/spack/repos/builtin/packages/libpulsar/package.py b/var/spack/repos/builtin/packages/libpulsar/package.py
index 838321df49..84e9b9c496 100644
--- a/var/spack/repos/builtin/packages/libpulsar/package.py
+++ b/var/spack/repos/builtin/packages/libpulsar/package.py
@@ -9,29 +9,28 @@ from spack.pkg.builtin.boost import Boost
class Libpulsar(CMakePackage):
"""libpulsar is a C/C++ client library implementation of the Apache Pulsar
- protocol."""
+ protocol."""
homepage = "https://github.com/apache/pulsar"
- url = "https://github.com/apache/pulsar/archive/v2.7.0.tar.gz"
+ url = "https://github.com/apache/pulsar/archive/v2.7.0.tar.gz"
- maintainers = ['aahmed-se']
+ maintainers = ["aahmed-se"]
- version('2.7.0',
- sha256='5bf8e5115075e12c848a9e4474cd47067c3200f7ff13c45f624f7383287e8e5e')
+ version("2.7.0", sha256="5bf8e5115075e12c848a9e4474cd47067c3200f7ff13c45f624f7383287e8e5e")
- depends_on('zstd')
+ depends_on("zstd")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('protobuf')
- depends_on('pkgconfig')
- depends_on('openssl')
- depends_on('cmake @3.14:', type='build')
- depends_on('curl', type=('build', 'link'))
+ depends_on("protobuf")
+ depends_on("pkgconfig")
+ depends_on("openssl")
+ depends_on("cmake @3.14:", type="build")
+ depends_on("curl", type=("build", "link"))
- root_cmakelists_dir = 'pulsar-client-cpp'
+ root_cmakelists_dir = "pulsar-client-cpp"
def cmake_args(self):
args = ["-DBUILD_PYTHON_WRAPPER=OFF", "-DBUILD_TESTS=OFF"]
diff --git a/var/spack/repos/builtin/packages/libqglviewer/package.py b/var/spack/repos/builtin/packages/libqglviewer/package.py
index 67eb655f8d..92c71992a7 100644
--- a/var/spack/repos/builtin/packages/libqglviewer/package.py
+++ b/var/spack/repos/builtin/packages/libqglviewer/package.py
@@ -12,29 +12,33 @@ class Libqglviewer(QMakePackage):
OpenGL 3D viewers."""
homepage = "http://libqglviewer.com/"
- url = "http://libqglviewer.com/src/libQGLViewer-2.7.2.tar.gz"
- git = "https://github.com/GillesDebunne/libQGLViewer.git"
+ url = "http://libqglviewer.com/src/libQGLViewer-2.7.2.tar.gz"
+ git = "https://github.com/GillesDebunne/libQGLViewer.git"
- version('2.7.2', sha256='e2d2799dec5cff74548e951556a1fa06a11d9bcde2ce6593f9c27a17543b7c08')
+ version("2.7.2", sha256="e2d2799dec5cff74548e951556a1fa06a11d9bcde2ce6593f9c27a17543b7c08")
# http://libqglviewer.com/installUnix.html
- depends_on('qt+gui+opengl')
- depends_on('freeglut', when='^qt@:3.0')
- depends_on('glu', type='link')
+ depends_on("qt+gui+opengl")
+ depends_on("freeglut", when="^qt@:3.0")
+ depends_on("glu", type="link")
- build_directory = 'QGLViewer'
+ build_directory = "QGLViewer"
def patch(self):
# Build dylib instead of Framework on macOS
- if self.spec.satisfies('platform=darwin'):
- filter_file('!staticlib: CONFIG *= lib_bundle', '',
- join_path('QGLViewer', 'QGLViewer.pro'), string=True)
+ if self.spec.satisfies("platform=darwin"):
+ filter_file(
+ "!staticlib: CONFIG *= lib_bundle",
+ "",
+ join_path("QGLViewer", "QGLViewer.pro"),
+ string=True,
+ )
def qmake_args(self):
- return ['PREFIX=' + self.prefix]
+ return ["PREFIX=" + self.prefix]
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libqrencode/package.py b/var/spack/repos/builtin/packages/libqrencode/package.py
index d94af243a7..98eece8b74 100644
--- a/var/spack/repos/builtin/packages/libqrencode/package.py
+++ b/var/spack/repos/builtin/packages/libqrencode/package.py
@@ -11,34 +11,34 @@ class Libqrencode(AutotoolsPackage):
"""libqrencode - a fast and compact QR Code encoding library."""
homepage = "https://fukuchi.org/works/qrencode/"
- url = "https://github.com/fukuchi/libqrencode/archive/v4.1.1.tar.gz"
- git = "https://github.com/fukuchi/libqrencode.git"
+ url = "https://github.com/fukuchi/libqrencode/archive/v4.1.1.tar.gz"
+ git = "https://github.com/fukuchi/libqrencode.git"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('master', branch='master')
- version('4.1.1', sha256='5385bc1b8c2f20f3b91d258bf8ccc8cf62023935df2d2676b5b67049f31a049c')
+ version("master", branch="master")
+ version("4.1.1", sha256="5385bc1b8c2f20f3b91d258bf8ccc8cf62023935df2d2676b5b67049f31a049c")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
# We assume a reasonably recent libtool is necessary
- depends_on('libtool@2.4.2:', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("libtool@2.4.2:", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
# https://fukuchi.org/works/qrencode/ requires libpng-dev
- depends_on('libpng@1.2.0:', type='link')
+ depends_on("libpng@1.2.0:", type="link")
def autoreconf(self, spec, prefix):
# We had to call for autoreconf as well:
# https://stackoverflow.com/questions/3096989/libtool-version-mismatch-error
# There appears $LIBTOOLIZE --force --automake --copy is not necessary
args = [
- 'autoreconf --force --install',
+ "autoreconf --force --install",
]
- with open('autogen.sh', 'a') as fh:
- fh.write('\n'.join(args))
+ with open("autogen.sh", "a") as fh:
+ fh.write("\n".join(args))
# https://fukuchi.org/works/qrencode/
# If there is no "configure" script in the source code directory,
# run "autogen.sh" at first to generate it - this is mandatory if
# you downloaded the source from GitHub
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
diff --git a/var/spack/repos/builtin/packages/libquo/package.py b/var/spack/repos/builtin/packages/libquo/package.py
index 3e7de9c19e..1b855f8cf7 100644
--- a/var/spack/repos/builtin/packages/libquo/package.py
+++ b/var/spack/repos/builtin/packages/libquo/package.py
@@ -12,36 +12,36 @@ class Libquo(AutotoolsPackage):
single- and multi-threaded libraries."""
homepage = "https://github.com/lanl/libquo"
- url = "https://lanl.github.io/libquo/dists/libquo-1.3.1.tar.gz"
- git = "https://github.com/lanl/libquo.git"
+ url = "https://lanl.github.io/libquo/dists/libquo-1.3.1.tar.gz"
+ git = "https://github.com/lanl/libquo.git"
- maintainers = ['samuelkgutierrez']
+ maintainers = ["samuelkgutierrez"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('1.3.1', sha256='407f7c61cc80aa934cf6086f3516a31dee3b803047713c297102452c3d7d6ed1')
- version('1.3', sha256='61b0beff15eae4be94b5d3cbcbf7bf757659604465709ed01827cbba45efcf90')
- version('1.2.9', sha256='0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b')
+ version("master", branch="master")
+ version("1.3.1", sha256="407f7c61cc80aa934cf6086f3516a31dee3b803047713c297102452c3d7d6ed1")
+ version("1.3", sha256="61b0beff15eae4be94b5d3cbcbf7bf757659604465709ed01827cbba45efcf90")
+ version("1.2.9", sha256="0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b")
- depends_on('mpi')
+ depends_on("mpi")
- depends_on('m4', when='@develop', type='build')
- depends_on('autoconf', when='@develop', type='build')
- depends_on('automake', when='@develop', type='build')
- depends_on('libtool', when='@develop', type='build')
+ depends_on("m4", when="@develop", type="build")
+ depends_on("autoconf", when="@develop", type="build")
+ depends_on("automake", when="@develop", type="build")
+ depends_on("libtool", when="@develop", type="build")
- @when('@develop')
+ @when("@develop")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen')
+ bash = which("bash")
+ bash("./autogen")
def configure_args(self):
config_args = [
- 'CC={0}'.format(self.spec['mpi'].mpicc),
- 'FC={0}'.format(self.spec['mpi'].mpifc)
+ "CC={0}".format(self.spec["mpi"].mpicc),
+ "FC={0}".format(self.spec["mpi"].mpifc),
]
- if '%pgi' in self.spec:
- config_args.append('CFLAGS={0}'.format(self.compiler.cc_pic_flag))
- config_args.append('FCFLAGS={0}'.format(self.compiler.fc_pic_flag))
+ if "%pgi" in self.spec:
+ config_args.append("CFLAGS={0}".format(self.compiler.cc_pic_flag))
+ config_args.append("FCFLAGS={0}".format(self.compiler.fc_pic_flag))
return config_args
diff --git a/var/spack/repos/builtin/packages/librdkafka/package.py b/var/spack/repos/builtin/packages/librdkafka/package.py
index 50cd8aec47..6c60878bd5 100644
--- a/var/spack/repos/builtin/packages/librdkafka/package.py
+++ b/var/spack/repos/builtin/packages/librdkafka/package.py
@@ -11,11 +11,11 @@ class Librdkafka(AutotoolsPackage):
protocol."""
homepage = "https://github.com/edenhill/librdkafka"
- url = "https://github.com/edenhill/librdkafka/archive/v1.5.0.tar.gz"
+ url = "https://github.com/edenhill/librdkafka/archive/v1.5.0.tar.gz"
- version('1.5.0', 'f7fee59fdbf1286ec23ef0b35b2dfb41031c8727c90ced6435b8cf576f23a656')
- version('1.4.4', '0984ffbe17b9e04599fb9eceb16cfa189f525a042bef02474cd1bbfe1ea68416')
- version('1.4.2', '3b99a36c082a67ef6295eabd4fb3e32ab0bff7c6b0d397d6352697335f4e57eb')
+ version("1.5.0", "f7fee59fdbf1286ec23ef0b35b2dfb41031c8727c90ced6435b8cf576f23a656")
+ version("1.4.4", "0984ffbe17b9e04599fb9eceb16cfa189f525a042bef02474cd1bbfe1ea68416")
+ version("1.4.2", "3b99a36c082a67ef6295eabd4fb3e32ab0bff7c6b0d397d6352697335f4e57eb")
- depends_on('zstd')
- depends_on('lz4')
+ depends_on("zstd")
+ depends_on("lz4")
diff --git a/var/spack/repos/builtin/packages/librelp/package.py b/var/spack/repos/builtin/packages/librelp/package.py
index 9d9f170447..8dacf49bcc 100644
--- a/var/spack/repos/builtin/packages/librelp/package.py
+++ b/var/spack/repos/builtin/packages/librelp/package.py
@@ -12,16 +12,16 @@ class Librelp(AutotoolsPackage):
extensible logging protocol."""
homepage = "https://www.rsyslog.com/librelp/"
- url = "https://github.com/rsyslog/librelp/archive/v1.7.0.tar.gz"
+ url = "https://github.com/rsyslog/librelp/archive/v1.7.0.tar.gz"
- version('1.7.0', sha256='ff46bdd74798934663d1388d010270325dc6a6ed6d44358ca69b280a8304b1e9')
- version('1.6.0', sha256='acaaa6b8e295ecd8e9d9b70c1c3c8fb3cc3c95a9ed5ce1689688510d0eecb37e')
- version('1.5.0', sha256='ce7f463944417ba77d7b586590e41e276f7b107d3e35a77ce768cf3889b5e1a6')
+ version("1.7.0", sha256="ff46bdd74798934663d1388d010270325dc6a6ed6d44358ca69b280a8304b1e9")
+ version("1.6.0", sha256="acaaa6b8e295ecd8e9d9b70c1c3c8fb3cc3c95a9ed5ce1689688510d0eecb37e")
+ version("1.5.0", sha256="ce7f463944417ba77d7b586590e41e276f7b107d3e35a77ce768cf3889b5e1a6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('valgrind', type='test')
- depends_on('openssl')
- depends_on('gnutls@2.0.0:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("valgrind", type="test")
+ depends_on("openssl")
+ depends_on("gnutls@2.0.0:")
diff --git a/var/spack/repos/builtin/packages/libristra/package.py b/var/spack/repos/builtin/packages/libristra/package.py
index 109d18c4e1..3f5c1ce9ec 100644
--- a/var/spack/repos/builtin/packages/libristra/package.py
+++ b/var/spack/repos/builtin/packages/libristra/package.py
@@ -8,35 +8,41 @@ from spack.package import *
class Libristra(CMakePackage):
- """ The ristra library is a set of support utilities for
+ """The ristra library is a set of support utilities for
ristra codes, including simple mathematical operations, physical
units, and input parsing
"""
- homepage = 'https://github.com/laristra/libristra'
- url = 'https://github.com/laristra/libristra/archive/master.zip'
- git = 'https://github.com/laristra/libristra.git'
-
- version('master', branch='master', submodules=False, preferred=True)
- version('1.0.0', commit='33235fe0334ca7f1f99b386a90932d9f8e1e71de')
-
- variant('build_type', default='Release', values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'),
- description='The build type to build', multi=False)
- variant('paraview', default=False, description='Enable ParaView')
- variant('shared_lua', default=False, description='Build with shared lua')
-
- depends_on('cmake@3.12:')
- depends_on('mpi')
- depends_on('boost@1.70.0: cxxstd=17 +program_options')
- depends_on('lua@5.3.5~shared', when='~shared_lua')
- depends_on('lua@5.3.5+shared', when='+shared_lua')
+
+ homepage = "https://github.com/laristra/libristra"
+ url = "https://github.com/laristra/libristra/archive/master.zip"
+ git = "https://github.com/laristra/libristra.git"
+
+ version("master", branch="master", submodules=False, preferred=True)
+ version("1.0.0", commit="33235fe0334ca7f1f99b386a90932d9f8e1e71de")
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ description="The build type to build",
+ multi=False,
+ )
+ variant("paraview", default=False, description="Enable ParaView")
+ variant("shared_lua", default=False, description="Build with shared lua")
+
+ depends_on("cmake@3.12:")
+ depends_on("mpi")
+ depends_on("boost@1.70.0: cxxstd=17 +program_options")
+ depends_on("lua@5.3.5~shared", when="~shared_lua")
+ depends_on("lua@5.3.5+shared", when="+shared_lua")
# TODO: might want to move paraview out of libristra
- depends_on('paraview', when='+paraview')
+ depends_on("paraview", when="+paraview")
# We explicitly depend on gtest and can no longer rely on others for it
- depends_on('googletest@1.8.1+gmock')
+ depends_on("googletest@1.8.1+gmock")
def cmake_args(self):
- options = ['-DENABLE_LUA=ON']
+ options = ["-DENABLE_LUA=ON"]
- options.append(self.define('ENABLE_UNIT_TESTS', self.run_tests))
+ options.append(self.define("ENABLE_UNIT_TESTS", self.run_tests))
return options
diff --git a/var/spack/repos/builtin/packages/librmm/package.py b/var/spack/repos/builtin/packages/librmm/package.py
index 3cee830798..042c4f5d30 100644
--- a/var/spack/repos/builtin/packages/librmm/package.py
+++ b/var/spack/repos/builtin/packages/librmm/package.py
@@ -12,8 +12,8 @@ class Librmm(CMakePackage):
customizing how host and device memory are allocated."""
homepage = "https://github.com/rapidsai/rmm"
- url = "https://github.com/rapidsai/rmm/archive/v0.15.0.tar.gz"
+ url = "https://github.com/rapidsai/rmm/archive/v0.15.0.tar.gz"
- version('0.15.0', sha256='599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972')
+ version("0.15.0", sha256="599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972")
- depends_on('cuda@9.0:')
+ depends_on("cuda@9.0:")
diff --git a/var/spack/repos/builtin/packages/librom/package.py b/var/spack/repos/builtin/packages/librom/package.py
index 8793edb069..56423792ca 100644
--- a/var/spack/repos/builtin/packages/librom/package.py
+++ b/var/spack/repos/builtin/packages/librom/package.py
@@ -11,18 +11,18 @@ class Librom(AutotoolsPackage):
"""libROM: library for computing large-scale reduced order models"""
homepage = "https://github.com/LLNL/libROM"
- git = "https://github.com/LLNL/libROM.git"
+ git = "https://github.com/LLNL/libROM.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('lapack')
- depends_on('mpi')
- depends_on('zlib')
- depends_on('libszip')
- depends_on('hdf5')
- depends_on('perl')
- depends_on('graphviz')
- depends_on('doxygen')
+ depends_on("lapack")
+ depends_on("mpi")
+ depends_on("zlib")
+ depends_on("libszip")
+ depends_on("hdf5")
+ depends_on("perl")
+ depends_on("graphviz")
+ depends_on("doxygen")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -31,30 +31,32 @@ class Librom(AutotoolsPackage):
def configure_args(self):
spec = self.spec
- args = ['--with-lapack={0}'.format(spec['lapack'].prefix),
- '--with-lapack-libs={0}'.format(spec['lapack'].libs.ld_flags),
- '--with-zlib={0}'.format(spec['zlib'].prefix),
- '--with-szlib={0}'.format(spec['libszip'].prefix),
- '--with-hdf5={0}'.format(spec['hdf5'].prefix),
- '--with-MPICC={0}'.format(spec['mpi'].mpicc),
- '--with-mpi-include={0}'.format(spec['mpi'].prefix.include),
- '--with-mpi-libs={0}'.format(spec['mpi'].libs.ld_flags),
- '--with-perl={0}'.format(spec['perl'].prefix),
- '--with-doxygen={0}'.format(spec['doxygen'].prefix)]
+ args = [
+ "--with-lapack={0}".format(spec["lapack"].prefix),
+ "--with-lapack-libs={0}".format(spec["lapack"].libs.ld_flags),
+ "--with-zlib={0}".format(spec["zlib"].prefix),
+ "--with-szlib={0}".format(spec["libszip"].prefix),
+ "--with-hdf5={0}".format(spec["hdf5"].prefix),
+ "--with-MPICC={0}".format(spec["mpi"].mpicc),
+ "--with-mpi-include={0}".format(spec["mpi"].prefix.include),
+ "--with-mpi-libs={0}".format(spec["mpi"].libs.ld_flags),
+ "--with-perl={0}".format(spec["perl"].prefix),
+ "--with-doxygen={0}".format(spec["doxygen"].prefix),
+ ]
return args
# TODO(oxberry1@llnl.gov): Submit PR upstream that implements
# install phase in autotools
def install(self, spec, prefix):
mkdirp(prefix.lib)
- install('libROM.a', join_path(prefix.lib, 'libROM.a'))
+ install("libROM.a", join_path(prefix.lib, "libROM.a"))
mkdirp(prefix.include)
- install('*.h', prefix.include)
+ install("*.h", prefix.include)
mkdirp(prefix.share)
- install('libROM_Design_and_Theory.pdf',
- join_path(prefix.share,
- 'libROM_Design_and_Theory.pdf'))
+ install(
+ "libROM_Design_and_Theory.pdf", join_path(prefix.share, "libROM_Design_and_Theory.pdf")
+ )
- install_tree('docs', prefix.share.docs)
+ install_tree("docs", prefix.share.docs)
diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py
index 8e7d9eea7a..3900fc19cf 100644
--- a/var/spack/repos/builtin/packages/librsb/package.py
+++ b/var/spack/repos/builtin/packages/librsb/package.py
@@ -11,63 +11,63 @@ class Librsb(AutotoolsPackage):
library for the Recursive Sparse Blocks format"""
homepage = "http://librsb.sourceforge.net/"
- url = "http://download.sourceforge.net/librsb/librsb-1.3.0.1.tar.gz"
+ url = "http://download.sourceforge.net/librsb/librsb-1.3.0.1.tar.gz"
list_url = "https://sourceforge.net/projects/librsb/files/"
- version('1.3.0.1', '3fc024a410f94aca2a7139ae79f4d713b11fa83304293630c363786874c17db4')
- version('1.3.0.0', '2ac8725d1f988f57df9383ae6b0bb2ed221ec935187d31ebb62ea95ee868a790')
- version('1.2.0.11', '0686be29bbe277e227c6021de6bd0564e4fc83f996b787886437d28048057bc8')
- version('1.2.0.10', 'ec49f3f78a7c43fc9e10976593d100aa49b1863309ed8fa3ccbb7aad52d2f7b8')
- version('1.2.0.9', 'f421f5d572461601120933e3c1cfee2ca69e6ecc92cbb11baa4e86bdedd3d9fa')
- version('1.2.0.8', '8bebd19a1866d80ade13eabfdd0f07ae7e8a485c0b975b5d15f531ac204d80cb')
+ version("1.3.0.1", "3fc024a410f94aca2a7139ae79f4d713b11fa83304293630c363786874c17db4")
+ version("1.3.0.0", "2ac8725d1f988f57df9383ae6b0bb2ed221ec935187d31ebb62ea95ee868a790")
+ version("1.2.0.11", "0686be29bbe277e227c6021de6bd0564e4fc83f996b787886437d28048057bc8")
+ version("1.2.0.10", "ec49f3f78a7c43fc9e10976593d100aa49b1863309ed8fa3ccbb7aad52d2f7b8")
+ version("1.2.0.9", "f421f5d572461601120933e3c1cfee2ca69e6ecc92cbb11baa4e86bdedd3d9fa")
+ version("1.2.0.8", "8bebd19a1866d80ade13eabfdd0f07ae7e8a485c0b975b5d15f531ac204d80cb")
- depends_on('zlib')
- depends_on('googletest', type='build', when='+googletest')
- conflicts('%apple-clang')
+ depends_on("zlib")
+ depends_on("googletest", type="build", when="+googletest")
+ conflicts("%apple-clang")
# conflicts('%clang')
- conflicts('%gcc@11.0.0:11.2.99', msg='gcc-11.0:gcc-11.3 can break librsb on x86_64')
- conflicts('+asan', when='+native', msg='native must be disabled when asan is enabled')
+ conflicts("%gcc@11.0.0:11.2.99", msg="gcc-11.0:gcc-11.3 can break librsb on x86_64")
+ conflicts("+asan", when="+native", msg="native must be disabled when asan is enabled")
- variant('asan', default=False, description="Use ASAN.")
- variant('debug', default=False, description="Enable debug features.")
- variant('googletest', default=False, description="Use Google Test as prerequisite.")
- variant('native', default=True, description="Use native flags.")
- variant('nospblas', default=False, description="Disable Building The Sparse BLAS API.")
- variant('serial', default=False, description="Disable OpenMP support.")
- variant('verbose', default=False, description="Extra Library Verbosity. Good for learning.")
+ variant("asan", default=False, description="Use ASAN.")
+ variant("debug", default=False, description="Enable debug features.")
+ variant("googletest", default=False, description="Use Google Test as prerequisite.")
+ variant("native", default=True, description="Use native flags.")
+ variant("nospblas", default=False, description="Disable Building The Sparse BLAS API.")
+ variant("serial", default=False, description="Disable OpenMP support.")
+ variant("verbose", default=False, description="Extra Library Verbosity. Good for learning.")
def setup_build_environment(self, spack_env):
- if '+asan' in self.spec:
- spack_env.set('LSAN_OPTIONS', 'verbosity=1:log_threads=1')
- spack_env.set('ASAN_OPTS', 'detect_leaks=0')
+ if "+asan" in self.spec:
+ spack_env.set("LSAN_OPTIONS", "verbosity=1:log_threads=1")
+ spack_env.set("ASAN_OPTS", "detect_leaks=0")
def configure_args(self):
args = [
- '--enable-openmp',
- '--with-zlib',
- '--enable-fortran-module-install',
- 'CPPFLAGS={0}'.format(self.spec['zlib'].headers.include_flags),
- 'LDFLAGS={0}'.format(self.spec['zlib'].libs.search_flags)
+ "--enable-openmp",
+ "--with-zlib",
+ "--enable-fortran-module-install",
+ "CPPFLAGS={0}".format(self.spec["zlib"].headers.include_flags),
+ "LDFLAGS={0}".format(self.spec["zlib"].libs.search_flags),
]
- if '+asan' in self.spec:
- args.append('CFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer')
- args.append('CXXFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer')
- args.append('LIBS=-lasan')
- args.append('FCLIBS=-lasan')
- args.append('--disable-shared')
- args.append('--enable-fortran-linker')
- if '+debug' in self.spec:
- args.append('--enable-allocator-wrapper')
- args.append('--enable-debug')
- if '+native' in self.spec:
- args.append('CFLAGS=-O3 -march=native')
- args.append('CXXFLAGS=-O3 -march=native')
- args.append('FCFLAGS=-O3 -march=native')
- if '+nospblas' in self.spec:
- args.append('--disable-sparse-blas-interface')
- if '+serial' in self.spec:
- args.append('--disable-openmp')
- if '+verbose' in self.spec:
- args.append('--enable-internals-error-verbosity=1')
- args.append('--enable-interface-error-verbosity=1')
+ if "+asan" in self.spec:
+ args.append("CFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer")
+ args.append("CXXFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer")
+ args.append("LIBS=-lasan")
+ args.append("FCLIBS=-lasan")
+ args.append("--disable-shared")
+ args.append("--enable-fortran-linker")
+ if "+debug" in self.spec:
+ args.append("--enable-allocator-wrapper")
+ args.append("--enable-debug")
+ if "+native" in self.spec:
+ args.append("CFLAGS=-O3 -march=native")
+ args.append("CXXFLAGS=-O3 -march=native")
+ args.append("FCFLAGS=-O3 -march=native")
+ if "+nospblas" in self.spec:
+ args.append("--disable-sparse-blas-interface")
+ if "+serial" in self.spec:
+ args.append("--disable-openmp")
+ if "+verbose" in self.spec:
+ args.append("--enable-internals-error-verbosity=1")
+ args.append("--enable-interface-error-verbosity=1")
return args
diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py
index 8a23d07a83..6723c1bd23 100644
--- a/var/spack/repos/builtin/packages/librsvg/package.py
+++ b/var/spack/repos/builtin/packages/librsvg/package.py
@@ -10,48 +10,46 @@ class Librsvg(AutotoolsPackage):
"""Library to render SVG files using Cairo"""
homepage = "https://wiki.gnome.org/Projects/LibRsvg"
- url = "https://download.gnome.org/sources/librsvg/2.44/librsvg-2.44.14.tar.xz"
+ url = "https://download.gnome.org/sources/librsvg/2.44/librsvg-2.44.14.tar.xz"
- version('2.51.0', sha256='89d32e38445025e1b1d9af3dd9d3aeb9f6fce527aeecbecf38b369b34c80c038')
- version('2.50.2', sha256='6211f271ce4cd44a7318190d36712e9cea384a933d3e3570004edeb210a056d3')
- version('2.50.0', sha256='b3fadba240f09b9c9898ab20cb7311467243e607cf8f928b7c5f842474ee3df4')
- version('2.44.14', sha256='6a85a7868639cdd4aa064245cc8e9d864dad8b8e9a4a8031bb09a4796bc4e303')
+ version("2.51.0", sha256="89d32e38445025e1b1d9af3dd9d3aeb9f6fce527aeecbecf38b369b34c80c038")
+ version("2.50.2", sha256="6211f271ce4cd44a7318190d36712e9cea384a933d3e3570004edeb210a056d3")
+ version("2.50.0", sha256="b3fadba240f09b9c9898ab20cb7311467243e607cf8f928b7c5f842474ee3df4")
+ version("2.44.14", sha256="6a85a7868639cdd4aa064245cc8e9d864dad8b8e9a4a8031bb09a4796bc4e303")
- variant('doc', default=False, description='Build documentation with gtk-doc')
+ variant("doc", default=False, description="Build documentation with gtk-doc")
- depends_on("gobject-introspection", type='build')
- depends_on("pkgconfig", type='build')
- depends_on("rust", type='build')
- depends_on('gtk-doc', type='build', when='+doc')
+ depends_on("gobject-introspection", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("rust", type="build")
+ depends_on("gtk-doc", type="build", when="+doc")
depends_on("cairo+gobject")
depends_on("gdk-pixbuf")
depends_on("glib")
depends_on("libcroco")
depends_on("pango")
- depends_on('libffi')
- depends_on('libxml2')
- depends_on('shared-mime-info')
+ depends_on("libffi")
+ depends_on("libxml2")
+ depends_on("shared-mime-info")
def url_for_version(self, version):
- url = "https://download.gnome.org/sources/librsvg/"
+ url = "https://download.gnome.org/sources/librsvg/"
url += "{0}/librsvg-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_build_environment(self, env):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
# librsvg uses pthread_atfork() but does not use -pthread on Ubuntu 18.04 %gcc@8
- env.append_flags('LDFLAGS', '-pthread')
+ env.append_flags("LDFLAGS", "-pthread")
def setup_run_environment(self, env):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def configure_args(self):
- return [
- '--enable-gtk-doc=' + ('yes' if self.spec.variants['doc'].value else 'no')
- ]
+ return ["--enable-gtk-doc=" + ("yes" if self.spec.variants["doc"].value else "no")]
diff --git a/var/spack/repos/builtin/packages/librtlsdr/package.py b/var/spack/repos/builtin/packages/librtlsdr/package.py
index fcdc10af1b..2db2f356a4 100644
--- a/var/spack/repos/builtin/packages/librtlsdr/package.py
+++ b/var/spack/repos/builtin/packages/librtlsdr/package.py
@@ -10,9 +10,9 @@ class Librtlsdr(CMakePackage):
"""turns your Realtek RTL2832 based DVB dongle into a SDR receiver."""
homepage = "https://osmocom.org/projects/rtl-sdr/wiki"
- url = "https://github.com/steve-m/librtlsdr/archive/0.6.0.tar.gz"
+ url = "https://github.com/steve-m/librtlsdr/archive/0.6.0.tar.gz"
- version('0.6.0', sha256='80a5155f3505bca8f1b808f8414d7dcd7c459b662a1cde84d3a2629a6e72ae55')
- version('0.5.4', sha256='6fd0d298c1a18fc8005b0c2f6199b08bc15e3fb4f4312f551eea2ae269c940c5')
+ version("0.6.0", sha256="80a5155f3505bca8f1b808f8414d7dcd7c459b662a1cde84d3a2629a6e72ae55")
+ version("0.5.4", sha256="6fd0d298c1a18fc8005b0c2f6199b08bc15e3fb4f4312f551eea2ae269c940c5")
- depends_on('libusb')
+ depends_on("libusb")
diff --git a/var/spack/repos/builtin/packages/librttopo/package.py b/var/spack/repos/builtin/packages/librttopo/package.py
index 2b5c876778..da0392f691 100644
--- a/var/spack/repos/builtin/packages/librttopo/package.py
+++ b/var/spack/repos/builtin/packages/librttopo/package.py
@@ -16,15 +16,15 @@ class Librttopo(AutotoolsPackage):
url = "https://git.osgeo.org/gitea/rttopo/librttopo/archive/librttopo-1.1.0.tar.gz"
git = "https://git.osgeo.org/gitea/rttopo/librttopo.git"
- version('1.1.0', sha256='2e2fcabb48193a712a6c76ac9a9be2a53f82e32f91a2bc834d9f1b4fa9cd879f')
+ version("1.1.0", sha256="2e2fcabb48193a712a6c76ac9a9be2a53f82e32f91a2bc834d9f1b4fa9cd879f")
- depends_on('geos')
+ depends_on("geos")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libsakura/package.py b/var/spack/repos/builtin/packages/libsakura/package.py
index a64da8a8f4..c53ac10acf 100644
--- a/var/spack/repos/builtin/packages/libsakura/package.py
+++ b/var/spack/repos/builtin/packages/libsakura/package.py
@@ -11,22 +11,22 @@ class Libsakura(CMakePackage):
"""
homepage = "https://alma-intweb.mtk.nao.ac.jp/~sakura/api/html/index.html"
- url = "https://alma-dl.mtk.nao.ac.jp/ftp/sakura/releases/src/libsakura-4.0.2065/libsakura-4.0.2065.tar.gz"
+ url = "https://alma-dl.mtk.nao.ac.jp/ftp/sakura/releases/src/libsakura-4.0.2065/libsakura-4.0.2065.tar.gz"
- maintainers = ['mpokorny']
+ maintainers = ["mpokorny"]
- version('4.0.2065', sha256='3fde3713b1ca539f0b2397ec72a0086a3138ef63f89dce4be51ee60585df995f')
- version('3.0.2025', sha256='381a49d57cbc88dea15e08f7ed64ba57481d25bce8e5f68938dd4b6a30589c16')
+ version("4.0.2065", sha256="3fde3713b1ca539f0b2397ec72a0086a3138ef63f89dce4be51ee60585df995f")
+ version("3.0.2025", sha256="381a49d57cbc88dea15e08f7ed64ba57481d25bce8e5f68938dd4b6a30589c16")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
- depends_on('eigen@3.2:')
- depends_on('fftw@3.3.2: precision=float', when='@:3')
- depends_on('fftw@3.3.2: precision=double', when='@4.0.0:')
- depends_on('log4cxx')
+ depends_on("eigen@3.2:")
+ depends_on("fftw@3.3.2: precision=float", when="@:3")
+ depends_on("fftw@3.3.2: precision=double", when="@4.0.0:")
+ depends_on("log4cxx")
- patch('cmakelists.patch')
+ patch("cmakelists.patch")
def cmake_args(self):
- args = ['-DSIMD_ARCH=native', '-DBUILD_DOC:BOOL=OFF']
+ args = ["-DSIMD_ARCH=native", "-DBUILD_DOC:BOOL=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/libsamplerate/package.py b/var/spack/repos/builtin/packages/libsamplerate/package.py
index 412202ae11..9463c5817f 100644
--- a/var/spack/repos/builtin/packages/libsamplerate/package.py
+++ b/var/spack/repos/builtin/packages/libsamplerate/package.py
@@ -11,12 +11,12 @@ class Libsamplerate(AutotoolsPackage):
performing sample rate conversion of audio data."""
homepage = "http://www.mega-nerd.com/libsamplerate/history.html"
- url = "http://www.mega-nerd.com/libsamplerate/libsamplerate-0.1.9.tar.gz"
+ url = "http://www.mega-nerd.com/libsamplerate/libsamplerate-0.1.9.tar.gz"
- version('0.1.9', sha256='0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1')
- version('0.1.8', sha256='93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06')
+ version("0.1.9", sha256="0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1")
+ version("0.1.8", sha256="93b54bdf46d5e6d2354b7034395fe329c222a966790de34520702bb9642f1c06")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/libseccomp/package.py b/var/spack/repos/builtin/packages/libseccomp/package.py
index 77dd955be2..03ff5dc479 100644
--- a/var/spack/repos/builtin/packages/libseccomp/package.py
+++ b/var/spack/repos/builtin/packages/libseccomp/package.py
@@ -10,14 +10,14 @@ class Libseccomp(AutotoolsPackage):
"""The main libseccomp repository"""
homepage = "https://github.com/seccomp/libseccomp"
- url = 'https://github.com/seccomp/libseccomp/releases/download/v2.5.3/libseccomp-2.5.3.tar.gz'
+ url = "https://github.com/seccomp/libseccomp/releases/download/v2.5.3/libseccomp-2.5.3.tar.gz"
- version('2.5.3', sha256='59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76')
- version('2.3.3', sha256='7fc28f4294cc72e61c529bedf97e705c3acf9c479a8f1a3028d4cd2ca9f3b155')
+ version("2.5.3", sha256="59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76")
+ version("2.3.3", sha256="7fc28f4294cc72e61c529bedf97e705c3acf9c479a8f1a3028d4cd2ca9f3b155")
- variant('python', default=True, description="Build Python bindings")
+ variant("python", default=True, description="Build Python bindings")
- depends_on('gperf', type='build', when='@2.5:')
+ depends_on("gperf", type="build", when="@2.5:")
depends_on("py-cython", type="build", when="+python")
def configure_args(self):
diff --git a/var/spack/repos/builtin/packages/libsecret/package.py b/var/spack/repos/builtin/packages/libsecret/package.py
index b3415c23ee..3a7a18d953 100644
--- a/var/spack/repos/builtin/packages/libsecret/package.py
+++ b/var/spack/repos/builtin/packages/libsecret/package.py
@@ -16,32 +16,32 @@ class Libsecret(AutotoolsPackage):
"""
homepage = "https://wiki.gnome.org/Projects/Libsecret"
- url = "http://ftp.gnome.org/pub/gnome/sources/libsecret/0.18/libsecret-0.18.8.tar.xz"
+ url = "http://ftp.gnome.org/pub/gnome/sources/libsecret/0.18/libsecret-0.18.8.tar.xz"
- version('0.18.8', sha256='3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15')
+ version("0.18.8", sha256="3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15")
- variant('gcrypt', default=True, description='Build with libgcrypt')
- variant('gobj', default=False, description='Build with gobject-introspection')
+ variant("gcrypt", default=True, description="Build with libgcrypt")
+ variant("gobj", default=False, description="Build with gobject-introspection")
# Optional Vala support is not implemented yet
# variant('vala', default=False, descript='Build with Vala support')
- depends_on('pkgconfig', type='build')
-# depends_on('mesa')
+ depends_on("pkgconfig", type="build")
+ # depends_on('mesa')
# https://gitlab.gnome.org/GNOME/libsecret/blob/master/meson.build
- depends_on('glib@2.44:')
- depends_on('libgcrypt@1.2.2:', when='+gcrypt')
- depends_on('gobject-introspection', when='+gobj')
+ depends_on("glib@2.44:")
+ depends_on("libgcrypt@1.2.2:", when="+gcrypt")
+ depends_on("gobject-introspection", when="+gobj")
# depends_on('vala', when='+vala') # Package doesn't exist yet
def url_for_version(self, version):
- url = 'http://ftp.gnome.org/pub/gnome/sources/libsecret'
- return url + '/%s/libsecret-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/gnome/sources/libsecret"
+ return url + "/%s/libsecret-%s.tar.xz" % (version.up_to(2), version)
# https://www.linuxfromscratch.org/blfs/view/svn/gnome/libsecret.html
def configure_args(self):
args = []
- args.append('--disable-static')
- args.append('--disable-manpages')
- if '+gcrypt' not in self.spec:
- args.append('--disable-gcrypt')
+ args.append("--disable-static")
+ args.append("--disable-manpages")
+ if "+gcrypt" not in self.spec:
+ args.append("--disable-gcrypt")
return args
diff --git a/var/spack/repos/builtin/packages/libsharp/package.py b/var/spack/repos/builtin/packages/libsharp/package.py
index 04bfeb9c36..70a3e161fc 100644
--- a/var/spack/repos/builtin/packages/libsharp/package.py
+++ b/var/spack/repos/builtin/packages/libsharp/package.py
@@ -11,39 +11,39 @@ class Libsharp(AutotoolsPackage):
spin-weighted spherical harmonic transforms, which evolved from the libpsht
library."""
- variant('openmp', default=True, description='Build with openmp support')
- variant('mpi', default=True, description='Build with MPI support')
- variant('pic', default=True, description='Generate position-independent code (PIC)')
+ variant("openmp", default=True, description="Build with openmp support")
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("pic", default=True, description="Generate position-independent code (PIC)")
homepage = "https://github.com/Libsharp/libsharp"
- git = "https://github.com/Libsharp/libsharp.git"
+ git = "https://github.com/Libsharp/libsharp.git"
- version('1.0.0', commit='cc4753ff4b0ef393f0d4ada41a175c6d1dd85d71', preferred=True)
- version('2018-01-17', commit='593d4eba67d61827191c32fb94bf235cb31205e1')
+ version("1.0.0", commit="cc4753ff4b0ef393f0d4ada41a175c6d1dd85d71", preferred=True)
+ version("2018-01-17", commit="593d4eba67d61827191c32fb94bf235cb31205e1")
- depends_on('autoconf', type='build')
- depends_on('mpi', when='+mpi')
+ depends_on("autoconf", type="build")
+ depends_on("mpi", when="+mpi")
- patch('arm.patch', when='@2018-01-17 target=aarch64:')
- patch('1.0.0-arm.patch', when='@1.0.0 target=aarch64:')
+ patch("arm.patch", when="@2018-01-17 target=aarch64:")
+ patch("1.0.0-arm.patch", when="@1.0.0 target=aarch64:")
def autoreconf(self, spec, prefix):
"""Generate autotools configuration"""
- bash = which('bash')
- bash('autoconf')
+ bash = which("bash")
+ bash("autoconf")
def configure_args(self):
args = []
- if '+openmp' not in self.spec:
+ if "+openmp" not in self.spec:
args.append("--disable-openmp")
- if '+mpi' not in self.spec:
+ if "+mpi" not in self.spec:
args.append("--disable-mpi")
- if '+pic' in self.spec:
+ if "+pic" in self.spec:
args.append("--enable-pic")
return args
def install(self, spec, prefix):
# Libsharp's only caller healpix include headers like 'libsharp/xxx.h'
# Install xxx.h to include/libsharp
- install_tree('auto/include', prefix.include.libsharp)
- install_tree('auto/lib', prefix.lib)
+ install_tree("auto/include", prefix.include.libsharp)
+ install_tree("auto/lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libshm/package.py b/var/spack/repos/builtin/packages/libshm/package.py
index 1366976051..f1ebe30a8c 100644
--- a/var/spack/repos/builtin/packages/libshm/package.py
+++ b/var/spack/repos/builtin/packages/libshm/package.py
@@ -11,9 +11,9 @@ class Libshm(Package):
making an easy C++11 access to a shared memory."""
homepage = "https://github.com/afeldman/libshm"
- git = "https://github.com/afeldman/libshm.git"
+ git = "https://github.com/afeldman/libshm.git"
- version('master')
+ version("master")
def install(self, spec, prefix):
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/libsigcpp/package.py b/var/spack/repos/builtin/packages/libsigcpp/package.py
index 5e4acbe05a..dc5486114a 100644
--- a/var/spack/repos/builtin/packages/libsigcpp/package.py
+++ b/var/spack/repos/builtin/packages/libsigcpp/package.py
@@ -10,22 +10,22 @@ class Libsigcpp(AutotoolsPackage):
"""Libsigc++ is a C++ library for typesafe callbacks"""
homepage = "https://libsigcplusplus.github.io/libsigcplusplus/index.html"
- url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++/2.99/libsigc++-2.99.12.tar.xz"
+ url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++/2.99/libsigc++-2.99.12.tar.xz"
list_url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++/"
list_depth = 1
- version('2.99.12', sha256='d902ae277f5baf2d56025586e2153cc2f158472e382723c67f49049f7c6690a8')
- version('2.9.3', sha256='0bf9b301ad6198c550986c51150a646df198e8d1d235270c16486b0dda30097f')
- version('2.1.1', sha256='7a2bd0b521544b31051c476205a0e74ace53771ec1a939bfec3c297b50c9fd78')
- version('2.0.3', sha256='6ee6d5f164d8a34da33d2251cdb348b4f5769bf993ed8a6d4055bd47562f94a2')
+ version("2.99.12", sha256="d902ae277f5baf2d56025586e2153cc2f158472e382723c67f49049f7c6690a8")
+ version("2.9.3", sha256="0bf9b301ad6198c550986c51150a646df198e8d1d235270c16486b0dda30097f")
+ version("2.1.1", sha256="7a2bd0b521544b31051c476205a0e74ace53771ec1a939bfec3c297b50c9fd78")
+ version("2.0.3", sha256="6ee6d5f164d8a34da33d2251cdb348b4f5769bf993ed8a6d4055bd47562f94a2")
- depends_on('m4', when='@:2.9', type='build')
+ depends_on("m4", when="@:2.9", type="build")
def url_for_version(self, version):
"""Handle version-based custom URLs."""
url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++"
- ext = '.tar.gz' if version < Version('2.2.10') else '.tar.xz'
+ ext = ".tar.gz" if version < Version("2.2.10") else ".tar.xz"
return url + "/%s/libsigc++-%s%s" % (version.up_to(2), version, ext)
def configure_args(self):
- return ['--enable-static']
+ return ["--enable-static"]
diff --git a/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py b/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py
index 9fc4dc247d..ab29f15f90 100644
--- a/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py
+++ b/var/spack/repos/builtin/packages/libsignal-protocol-c/package.py
@@ -10,8 +10,8 @@ class LibsignalProtocolC(CMakePackage):
"""C library for the Signal protocol"""
homepage = "https://signal.org/en/"
- url = "https://github.com/signalapp/libsignal-protocol-c/archive/refs/tags/v2.3.3.tar.gz"
+ url = "https://github.com/signalapp/libsignal-protocol-c/archive/refs/tags/v2.3.3.tar.gz"
- maintainers = ['pwablito']
+ maintainers = ["pwablito"]
- version('2.3.3', sha256='c22e7690546e24d46210ca92dd808f17c3102e1344cd2f9a370136a96d22319d')
+ version("2.3.3", sha256="c22e7690546e24d46210ca92dd808f17c3102e1344cd2f9a370136a96d22319d")
diff --git a/var/spack/repos/builtin/packages/libsigsegv/package.py b/var/spack/repos/builtin/packages/libsigsegv/package.py
index a831c9922c..fe18883ecd 100644
--- a/var/spack/repos/builtin/packages/libsigsegv/package.py
+++ b/var/spack/repos/builtin/packages/libsigsegv/package.py
@@ -13,21 +13,21 @@ class Libsigsegv(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/libsigsegv/"
gnu_mirror_path = "libsigsegv/libsigsegv-2.13.tar.gz"
- version('2.13', sha256='be78ee4176b05f7c75ff03298d84874db90f4b6c9d5503f0da1226b3a3c48119')
- version('2.12', sha256='3ae1af359eebaa4ffc5896a1aee3568c052c99879316a1ab57f8fe1789c390b6')
- version('2.11', sha256='dd7c2eb2ef6c47189406d562c1dc0f96f2fc808036834d596075d58377e37a18')
- version('2.10', sha256='8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a')
+ version("2.13", sha256="be78ee4176b05f7c75ff03298d84874db90f4b6c9d5503f0da1226b3a3c48119")
+ version("2.12", sha256="3ae1af359eebaa4ffc5896a1aee3568c052c99879316a1ab57f8fe1789c390b6")
+ version("2.11", sha256="dd7c2eb2ef6c47189406d562c1dc0f96f2fc808036834d596075d58377e37a18")
+ version("2.10", sha256="8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a")
- patch('patch.new_config_guess', when='@2.10')
+ patch("patch.new_config_guess", when="@2.10")
test_requires_compiler = True
def configure_args(self):
- return ['--enable-shared']
+ return ["--enable-shared"]
- extra_install_tests = 'tests/.libs'
+ extra_install_tests = "tests/.libs"
- @run_after('install')
+ @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`."""
@@ -36,40 +36,40 @@ class Libsigsegv(AutotoolsPackage, GNUMirrorPackage):
def _run_smoke_tests(self):
"""Build and run the added smoke (install) test."""
data_dir = self.test_suite.current_test_data_dir
- prog = 'smoke_test'
- src = data_dir.join('{0}.c'.format(prog))
+ prog = "smoke_test"
+ src = data_dir.join("{0}.c".format(prog))
options = [
- '-I{0}'.format(self.prefix.include),
+ "-I{0}".format(self.prefix.include),
src,
- '-o',
+ "-o",
prog,
- '-L{0}'.format(self.prefix.lib),
- '-lsigsegv',
- '{0}{1}'.format(self.compiler.cc_rpath_arg, self.prefix.lib)]
- reason = 'test: checking ability to link to the library'
- self.run_test('cc', options, [], installed=False, purpose=reason)
+ "-L{0}".format(self.prefix.lib),
+ "-lsigsegv",
+ "{0}{1}".format(self.compiler.cc_rpath_arg, self.prefix.lib),
+ ]
+ reason = "test: checking ability to link to the library"
+ self.run_test("cc", options, [], installed=False, purpose=reason)
# Now run the program and confirm the output matches expectations
- expected = get_escaped_text_output(data_dir.join('smoke_test.out'))
- reason = 'test: checking ability to use the library'
+ expected = get_escaped_text_output(data_dir.join("smoke_test.out"))
+ reason = "test: checking ability to use the library"
self.run_test(prog, [], expected, purpose=reason)
def _run_build_tests(self):
"""Run selected build tests."""
- passed = 'Test passed'
+ passed = "Test passed"
checks = {
- 'sigsegv1': [passed],
- 'sigsegv2': [passed],
- 'sigsegv3': ['caught', passed],
- 'stackoverflow1': ['recursion', 'Stack overflow', passed],
- 'stackoverflow2': ['recursion', 'overflow', 'violation', passed],
+ "sigsegv1": [passed],
+ "sigsegv2": [passed],
+ "sigsegv3": ["caught", passed],
+ "stackoverflow1": ["recursion", "Stack overflow", passed],
+ "stackoverflow2": ["recursion", "overflow", "violation", passed],
}
for exe, expected in checks.items():
- reason = 'test: checking {0} output'.format(exe)
- self.run_test(exe, [], expected, installed=True, purpose=reason,
- skip_missing=True)
+ reason = "test: checking {0} output".format(exe)
+ self.run_test(exe, [], expected, installed=True, purpose=reason, skip_missing=True)
def test(self):
# Run the simple built-in smoke test
diff --git a/var/spack/repos/builtin/packages/libslirp/package.py b/var/spack/repos/builtin/packages/libslirp/package.py
index 0e3eb4088f..9a4eadaad3 100644
--- a/var/spack/repos/builtin/packages/libslirp/package.py
+++ b/var/spack/repos/builtin/packages/libslirp/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class Libslirp(MesonPackage):
"""General purpose TCP-IP emulator"""
- homepage = 'https://gitlab.freedesktop.org/slirp/libslirp'
- url = 'https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.6.1/libslirp-v4.6.1.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://gitlab.freedesktop.org/slirp/libslirp"
+ url = "https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.6.1/libslirp-v4.6.1.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('4.6.1', sha256='69ad4df0123742a29cc783b35de34771ed74d085482470df6313b6abeb799b11')
+ version("4.6.1", sha256="69ad4df0123742a29cc783b35de34771ed74d085482470df6313b6abeb799b11")
- depends_on('pkgconfig', type='build')
- depends_on('glib')
+ depends_on("pkgconfig", type="build")
+ depends_on("glib")
diff --git a/var/spack/repos/builtin/packages/libsm/package.py b/var/spack/repos/builtin/packages/libsm/package.py
index 08a4d55c48..6bc0cfa598 100644
--- a/var/spack/repos/builtin/packages/libsm/package.py
+++ b/var/spack/repos/builtin/packages/libsm/package.py
@@ -12,18 +12,17 @@ class Libsm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libSM"
xorg_mirror_path = "lib/libSM-1.2.2.tar.gz"
- version('1.2.3', sha256='1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320')
- version('1.2.2', sha256='14bb7c669ce2b8ff712fbdbf48120e3742a77edcd5e025d6b3325ed30cf120f4')
+ version("1.2.3", sha256="1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320")
+ version("1.2.2", sha256="14bb7c669ce2b8ff712fbdbf48120e3742a77edcd5e025d6b3325ed30cf120f4")
- depends_on('libice@1.0.5:')
- depends_on('uuid')
+ depends_on("libice@1.0.5:")
+ depends_on("uuid")
- depends_on('xproto')
- depends_on('xtrans')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xtrans")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries('libSM', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libSM", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libsndfile/package.py b/var/spack/repos/builtin/packages/libsndfile/package.py
index 056ebf7b2e..45e5637c00 100644
--- a/var/spack/repos/builtin/packages/libsndfile/package.py
+++ b/var/spack/repos/builtin/packages/libsndfile/package.py
@@ -13,28 +13,28 @@ class Libsndfile(AutotoolsPackage):
format under the Gnu Lesser General Public License."""
homepage = "http://www.mega-nerd.com/libsndfile/"
- url = "http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz"
+ url = "http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz"
- version('1.0.28', sha256='1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9')
+ version("1.0.28", sha256="1ff33929f042fa333aed1e8923aa628c3ee9e1eb85512686c55092d1e5a9dfa9")
- variant('alsa', default=False, description='Use alsa in example programs')
- variant('external-libs',
- default=False,
- description='Build with support for FLAC, Ogg and Vorbis')
- variant('sqlite', default=False, description='Build with sqlite support')
+ variant("alsa", default=False, description="Use alsa in example programs")
+ variant(
+ "external-libs", default=False, description="Build with support for FLAC, Ogg and Vorbis"
+ )
+ variant("sqlite", default=False, description="Build with sqlite support")
- depends_on('pkgconfig', type='build')
- depends_on('alsa-lib', when='+alsa')
- depends_on('flac@1.3.1:', when='+external-libs')
- depends_on('libogg@1.1.3:', when='+external-libs')
- depends_on('libvorbis@1.2.3:', when='+external-libs')
- depends_on('sqlite@3.2:', when='+sqlite')
+ depends_on("pkgconfig", type="build")
+ depends_on("alsa-lib", when="+alsa")
+ depends_on("flac@1.3.1:", when="+external-libs")
+ depends_on("libogg@1.1.3:", when="+external-libs")
+ depends_on("libvorbis@1.2.3:", when="+external-libs")
+ depends_on("sqlite@3.2:", when="+sqlite")
def configure_args(self):
args = []
- args += self.enable_or_disable('alsa')
- args += self.enable_or_disable('external-libs')
- args += self.enable_or_disable('sqlite')
+ args += self.enable_or_disable("alsa")
+ args += self.enable_or_disable("external-libs")
+ args += self.enable_or_disable("sqlite")
return args
diff --git a/var/spack/repos/builtin/packages/libsodium/package.py b/var/spack/repos/builtin/packages/libsodium/package.py
index 11031fabce..eea265cc7f 100644
--- a/var/spack/repos/builtin/packages/libsodium/package.py
+++ b/var/spack/repos/builtin/packages/libsodium/package.py
@@ -13,28 +13,29 @@ from spack.package import *
class Libsodium(AutotoolsPackage):
"""Sodium is a modern, easy-to-use software library for encryption,
decryption, signatures, password hashing and more."""
+
homepage = "https://download.libsodium.org/doc/"
- url = "https://download.libsodium.org/libsodium/releases/libsodium-1.0.13.tar.gz"
+ url = "https://download.libsodium.org/libsodium/releases/libsodium-1.0.13.tar.gz"
list_url = "https://download.libsodium.org/libsodium/releases/old"
- version('1.0.18', sha256='6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1')
- version('1.0.17', sha256='0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1')
- version('1.0.16', sha256='eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533')
- version('1.0.15', sha256='fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4')
- version('1.0.13', sha256='9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd')
- version('1.0.3', sha256='cbcfc63cc90c05d18a20f229a62c7e7054a73731d0aa858c0517152c549b1288')
- version('1.0.2', sha256='961d8f10047f545ae658bcc73b8ab0bf2c312ac945968dd579d87c768e5baa19')
- version('1.0.1', sha256='c3090887a4ef9e2d63af1c1e77f5d5a0656fadb5105ebb9fb66a302210cb3af5')
- version('1.0.0', sha256='ced1fe3d2066953fea94f307a92f8ae41bf0643739a44309cbe43aa881dbc9a5')
- version('0.7.1', sha256='ef46bbb5bac263ef6d3fc00ccc11d4690aea83643412919fe15369b9870280a7')
+ version("1.0.18", sha256="6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1")
+ version("1.0.17", sha256="0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1")
+ version("1.0.16", sha256="eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533")
+ version("1.0.15", sha256="fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4")
+ version("1.0.13", sha256="9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd")
+ version("1.0.3", sha256="cbcfc63cc90c05d18a20f229a62c7e7054a73731d0aa858c0517152c549b1288")
+ version("1.0.2", sha256="961d8f10047f545ae658bcc73b8ab0bf2c312ac945968dd579d87c768e5baa19")
+ version("1.0.1", sha256="c3090887a4ef9e2d63af1c1e77f5d5a0656fadb5105ebb9fb66a302210cb3af5")
+ version("1.0.0", sha256="ced1fe3d2066953fea94f307a92f8ae41bf0643739a44309cbe43aa881dbc9a5")
+ version("0.7.1", sha256="ef46bbb5bac263ef6d3fc00ccc11d4690aea83643412919fe15369b9870280a7")
def url_for_version(self, version):
- url = 'https://download.libsodium.org/libsodium/releases/'
- if version < Version('1.0.16'):
- url += 'old/unsupported/'
- elif version < Version('1.0.17'):
- url += 'old/'
- return url + 'libsodium-{0}.tar.gz'.format(version)
+ url = "https://download.libsodium.org/libsodium/releases/"
+ if version < Version("1.0.16"):
+ url += "old/unsupported/"
+ elif version < Version("1.0.17"):
+ url += "old/"
+ return url + "libsodium-{0}.tar.gz".format(version)
def patch(self):
# Necessary on ppc64le / aarch64, because Spack tries to execute these scripts
diff --git a/var/spack/repos/builtin/packages/libspatialindex/package.py b/var/spack/repos/builtin/packages/libspatialindex/package.py
index fcf123d05f..bac0777ac2 100644
--- a/var/spack/repos/builtin/packages/libspatialindex/package.py
+++ b/var/spack/repos/builtin/packages/libspatialindex/package.py
@@ -12,13 +12,11 @@ class Libspatialindex(CMakePackage):
homepage = "https://libspatialindex.org/"
url = "https://github.com/libspatialindex/libspatialindex/archive/refs/tags/1.8.5.tar.gz"
- version('1.9.3', sha256='7b44340a3edc55c11abfc453bb60f148b29f569cef9e1148583e76132e9c7379')
- version('1.8.5', sha256='93cce77269612f45287b521d5afdfb245be2b93b8b6438d92f8b9e0bdb37059d')
+ version("1.9.3", sha256="7b44340a3edc55c11abfc453bb60f148b29f569cef9e1148583e76132e9c7379")
+ version("1.8.5", sha256="93cce77269612f45287b521d5afdfb245be2b93b8b6438d92f8b9e0bdb37059d")
- depends_on('cmake@3.5.0:', type='build')
+ depends_on("cmake@3.5.0:", type="build")
@property
def libs(self):
- return find_libraries(
- ['libspatialindex_c'], root=self.prefix, recursive=True, shared=True
- )
+ return find_libraries(["libspatialindex_c"], root=self.prefix, recursive=True, shared=True)
diff --git a/var/spack/repos/builtin/packages/libspatialite/package.py b/var/spack/repos/builtin/packages/libspatialite/package.py
index f7ff124206..f74375bc33 100644
--- a/var/spack/repos/builtin/packages/libspatialite/package.py
+++ b/var/spack/repos/builtin/packages/libspatialite/package.py
@@ -10,36 +10,39 @@ from spack.package import *
class Libspatialite(AutotoolsPackage):
"""SpatiaLite is an open source library intended to extend the
- SQLite core to support fully fledged Spatial SQL capabilities."""
+ SQLite core to support fully fledged Spatial SQL capabilities."""
homepage = "https://www.gaia-gis.it"
- url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz"
+ url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz"
manual_download = True
- version('5.0.1', sha256='eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98')
- version('5.0.0', sha256='7b7fd70243f5a0b175696d87c46dde0ace030eacc27f39241c24bac5dfac6dac')
+ version("5.0.1", sha256="eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98")
+ version("5.0.0", sha256="7b7fd70243f5a0b175696d87c46dde0ace030eacc27f39241c24bac5dfac6dac")
# Must download manually from:
# https://www.gaia-gis.it/fossil/libspatialite/info/c7f67038bf06d98d
# For instructions on the file:// below..
# https://github.com/spack/spack/issues/2489
- version('5.0.0.2.c7f67038bf',
- sha256='f8100f71b769c7db066c6f938af6b00e920e4b90ac14c00a4f3ed7171565caab',
- url="file://%s/SpatiaLite-c7f67038bf.tar.gz" % os.getcwd())
-
- version('5.0.0-beta0', sha256='caacf5378a5cfab9b8e98bb361e2b592e714e21f5c152b795df80d0ab1da1c42')
- version('4.3.0a',
- sha256='88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499')
- version('3.0.1', sha256='4983d6584069fd5ff0cfcccccee1015088dab2db177c0dc7050ce8306b68f8e6')
-
- depends_on('pkgconfig', type='build')
- depends_on('sqlite+rtree')
- depends_on('proj@:5', when='@:4')
+ version(
+ "5.0.0.2.c7f67038bf",
+ sha256="f8100f71b769c7db066c6f938af6b00e920e4b90ac14c00a4f3ed7171565caab",
+ url="file://%s/SpatiaLite-c7f67038bf.tar.gz" % os.getcwd(),
+ )
+
+ version(
+ "5.0.0-beta0", sha256="caacf5378a5cfab9b8e98bb361e2b592e714e21f5c152b795df80d0ab1da1c42"
+ )
+ version("4.3.0a", sha256="88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499")
+ version("3.0.1", sha256="4983d6584069fd5ff0cfcccccee1015088dab2db177c0dc7050ce8306b68f8e6")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("sqlite+rtree")
+ depends_on("proj@:5", when="@:4")
# PROJ.6 is OK w/ newer versions
# https://www.gaia-gis.it/fossil/libspatialite/wiki?name=PROJ.6
- depends_on('proj')
- depends_on('geos')
- depends_on('freexl')
- depends_on('iconv')
- depends_on('libxml2')
- depends_on('minizip', when='@5.0.0:')
- depends_on('librttopo', when='@5.0.1:')
+ depends_on("proj")
+ depends_on("geos")
+ depends_on("freexl")
+ depends_on("iconv")
+ depends_on("libxml2")
+ depends_on("minizip", when="@5.0.0:")
+ depends_on("librttopo", when="@5.0.1:")
diff --git a/var/spack/repos/builtin/packages/libspiro/package.py b/var/spack/repos/builtin/packages/libspiro/package.py
index 19b5c4bcf3..6e5acb37c8 100644
--- a/var/spack/repos/builtin/packages/libspiro/package.py
+++ b/var/spack/repos/builtin/packages/libspiro/package.py
@@ -11,12 +11,12 @@ class Libspiro(AutotoolsPackage):
beautiful curves."""
homepage = "https://github.com/fontforge/"
- url = "https://github.com/fontforge/libspiro/archive/20200505.tar.gz"
+ url = "https://github.com/fontforge/libspiro/archive/20200505.tar.gz"
- version('20200505', sha256='00be530b5c0ea9274baadf6c05521f0b192d4c3c1db636ac8b08efd44aaea8f5')
- version('20190731', sha256='24c7d1ccc7c7fe44ff10c376aa9f96e20e505f417ee72b63dc91a9b34eeac354')
+ version("20200505", sha256="00be530b5c0ea9274baadf6c05521f0b192d4c3c1db636ac8b08efd44aaea8f5")
+ version("20190731", sha256="24c7d1ccc7c7fe44ff10c376aa9f96e20e505f417ee72b63dc91a9b34eeac354")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libsplash/package.py b/var/spack/repos/builtin/packages/libsplash/package.py
index 4b3d5abf42..7a989c6321 100644
--- a/var/spack/repos/builtin/packages/libsplash/package.py
+++ b/var/spack/repos/builtin/packages/libsplash/package.py
@@ -16,37 +16,36 @@ class Libsplash(CMakePackage):
"""
homepage = "https://github.com/ComputationalRadiationPhysics/libSplash"
- url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
- git = "https://github.com/ComputationalRadiationPhysics/libSplash.git"
- maintainers = ['ax3l']
+ url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
+ git = "https://github.com/ComputationalRadiationPhysics/libSplash.git"
+ maintainers = ["ax3l"]
- version('develop', branch='dev')
- version('master', branch='master')
- version('1.7.0', sha256='51ab17c54233a8be86d7c5d59c755fb63a4a197315a510e5c49b20b070ebab73')
- version('1.6.0', sha256='4d068de85504dfafb11bbaf6f2725a442c1f611e7cf962a924931a6220dad0f4')
- version('1.5.0', sha256='a94547c416cee64bffd06736f61dd4e134f98a3da24117d52ee9f997c36d6b8d')
- version('1.4.0', sha256='b86f2af15e5a05df30d4791c4ddb99a1db7b727d51b84706525fe247cfc70c78')
- version('1.3.1', sha256='6ad04261e6d377a59b209f345af56405b37830f0dcfac28770b63091bff59383')
- version('1.2.4', sha256='f5c4f792fee5609ede6a7d2fee5fa5799d3b68e8cdc23001a3aba390394d2f36')
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("1.7.0", sha256="51ab17c54233a8be86d7c5d59c755fb63a4a197315a510e5c49b20b070ebab73")
+ version("1.6.0", sha256="4d068de85504dfafb11bbaf6f2725a442c1f611e7cf962a924931a6220dad0f4")
+ version("1.5.0", sha256="a94547c416cee64bffd06736f61dd4e134f98a3da24117d52ee9f997c36d6b8d")
+ version("1.4.0", sha256="b86f2af15e5a05df30d4791c4ddb99a1db7b727d51b84706525fe247cfc70c78")
+ version("1.3.1", sha256="6ad04261e6d377a59b209f345af56405b37830f0dcfac28770b63091bff59383")
+ version("1.2.4", sha256="f5c4f792fee5609ede6a7d2fee5fa5799d3b68e8cdc23001a3aba390394d2f36")
- variant('mpi', default=True,
- description='Enable parallel I/O (one-file aggregation) support')
+ variant("mpi", default=True, description="Enable parallel I/O (one-file aggregation) support")
- depends_on('cmake@3.10.0:', type='build', when='@1.7.0:')
- depends_on('hdf5@1.8.6: ~mpi', when='~mpi')
- depends_on('hdf5@1.8.6: +mpi', when='+mpi')
- depends_on('mpi', when='+mpi')
+ depends_on("cmake@3.10.0:", type="build", when="@1.7.0:")
+ depends_on("hdf5@1.8.6: ~mpi", when="~mpi")
+ depends_on("hdf5@1.8.6: +mpi", when="+mpi")
+ depends_on("mpi", when="+mpi")
- patch('root_cmake_1.7.0.patch', when='@1.7.0')
+ patch("root_cmake_1.7.0.patch", when="@1.7.0")
def cmake_args(self):
spec = self.spec
args = []
- if spec.satisfies('@1.7.0:'):
+ if spec.satisfies("@1.7.0:"):
args += [
- self.define_from_variant('Splash_USE_MPI', 'mpi'),
- self.define_from_variant('Splash_USE_PARALLEL', 'mpi')
+ self.define_from_variant("Splash_USE_MPI", "mpi"),
+ self.define_from_variant("Splash_USE_PARALLEL", "mpi"),
]
return args
diff --git a/var/spack/repos/builtin/packages/libssh/package.py b/var/spack/repos/builtin/packages/libssh/package.py
index 23231fe473..85be822654 100644
--- a/var/spack/repos/builtin/packages/libssh/package.py
+++ b/var/spack/repos/builtin/packages/libssh/package.py
@@ -10,21 +10,21 @@ class Libssh(CMakePackage):
"""libssh: the SSH library"""
homepage = "https://www.libssh.org"
- url = "https://www.libssh.org/files/0.8/libssh-0.8.5.tar.xz"
+ url = "https://www.libssh.org/files/0.8/libssh-0.8.5.tar.xz"
- version('0.8.5', sha256='07d2c431240fc88f6b06bcb36ae267f9afeedce2e32f6c42f8844b205ab5a335')
- version('0.7.5', sha256='54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095')
+ version("0.8.5", sha256="07d2c431240fc88f6b06bcb36ae267f9afeedce2e32f6c42f8844b205ab5a335")
+ version("0.7.5", sha256="54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095")
variant("gssapi", default=True, description="Build with gssapi support")
- depends_on('openssl@:1.0', when='@:0.7')
- depends_on('openssl')
- depends_on('zlib')
- depends_on('krb5', when='+gssapi')
+ depends_on("openssl@:1.0", when="@:0.7")
+ depends_on("openssl")
+ depends_on("zlib")
+ depends_on("krb5", when="+gssapi")
def url_for_version(self, version):
url = "https://www.libssh.org/files/{0}/libssh-{1}.tar.xz"
return url.format(version.up_to(2), version)
def cmake_args(self):
- args = [self.define_from_variant('WITH_GSSAPI', 'gssapi')]
+ args = [self.define_from_variant("WITH_GSSAPI", "gssapi")]
return args
diff --git a/var/spack/repos/builtin/packages/libssh2/package.py b/var/spack/repos/builtin/packages/libssh2/package.py
index 94c4cec53b..abbac21d90 100644
--- a/var/spack/repos/builtin/packages/libssh2/package.py
+++ b/var/spack/repos/builtin/packages/libssh2/package.py
@@ -10,48 +10,50 @@ class Libssh2(CMakePackage):
"""libssh2 is a client-side C library implementing the SSH2 protocol"""
homepage = "https://www.libssh2.org/"
- url = "https://www.libssh2.org/download/libssh2-1.7.0.tar.gz"
+ url = "https://www.libssh2.org/download/libssh2-1.7.0.tar.gz"
- version('1.10.0', sha256='2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51')
- version('1.9.0', sha256='d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd')
- version('1.8.0', sha256='39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4')
- version('1.7.0', sha256='e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584')
- version('1.4.3', sha256='eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d') # CentOS7
+ version("1.10.0", sha256="2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51")
+ version("1.9.0", sha256="d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd")
+ version("1.8.0", sha256="39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4")
+ version("1.7.0", sha256="e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584")
+ version(
+ "1.4.3", sha256="eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d"
+ ) # CentOS7
- variant('crypto', default='openssl', values=('openssl', 'mbedtls'), multi=False)
- variant('shared', default=True, description="Build shared libraries")
+ variant("crypto", default="openssl", values=("openssl", "mbedtls"), multi=False)
+ variant("shared", default=True, description="Build shared libraries")
- conflicts('crypto=mbedtls', when='@:1.7', msg='mbedtls only available from 1.8.0')
+ conflicts("crypto=mbedtls", when="@:1.7", msg="mbedtls only available from 1.8.0")
- depends_on('cmake@2.8.11:', type='build')
- depends_on('openssl', when='crypto=openssl')
- depends_on('openssl@:2', when='@:1.9 crypto=openssl')
- depends_on('mbedtls@:2 +pic', when='crypto=mbedtls')
- depends_on('zlib')
- depends_on('xz')
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("openssl", when="crypto=openssl")
+ depends_on("openssl@:2", when="@:1.9 crypto=openssl")
+ depends_on("mbedtls@:2 +pic", when="crypto=mbedtls")
+ depends_on("zlib")
+ depends_on("xz")
def cmake_args(self):
args = [
- self.define('BUILD_TESTING', 'OFF'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
+ self.define("BUILD_TESTING", "OFF"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
- crypto = self.spec.variants['crypto'].value
+ crypto = self.spec.variants["crypto"].value
- if crypto == 'openssl':
- args.append(self.define('CRYPTO_BACKEND', 'OpenSSL'))
- elif crypto == 'mbedtls':
- args.append(self.define('CRYPTO_BACKEND', 'mbedTLS'))
+ if crypto == "openssl":
+ args.append(self.define("CRYPTO_BACKEND", "OpenSSL"))
+ elif crypto == "mbedtls":
+ args.append(self.define("CRYPTO_BACKEND", "mbedTLS"))
return args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
def check(self):
# Docker is required to run tests
- if which('docker'):
- make('test')
+ if which("docker"):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libsvm/package.py b/var/spack/repos/builtin/packages/libsvm/package.py
index f5fa43a3b2..ed8c64af3e 100644
--- a/var/spack/repos/builtin/packages/libsvm/package.py
+++ b/var/spack/repos/builtin/packages/libsvm/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Libsvm(MakefilePackage):
"""Libsvm is a simple, easy-to-use, and efficient software for SVM
- classification and regression."""
+ classification and regression."""
homepage = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
- url = "https://github.com/cjlin1/libsvm/archive/v322.tar.gz"
+ url = "https://github.com/cjlin1/libsvm/archive/v322.tar.gz"
- version('323', sha256='7a466f90f327a98f8ed1cb217570547bcb00077933d1619f3cb9e73518f38196')
- version('322', sha256='a3469436f795bb3f8b1e65ea761e14e5599ec7ee941c001d771c07b7da318ac6')
+ version("323", sha256="7a466f90f327a98f8ed1cb217570547bcb00077933d1619f3cb9e73518f38196")
+ version("322", sha256="a3469436f795bb3f8b1e65ea761e14e5599ec7ee941c001d771c07b7da318ac6")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.lib)
- install('svm-predict', prefix.bin)
- install('svm-scale', prefix.bin)
- install('svm-train', prefix.bin)
- install('svm.o', prefix.lib)
+ install("svm-predict", prefix.bin)
+ install("svm-scale", prefix.bin)
+ install("svm-train", prefix.bin)
+ install("svm.o", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/libszip/package.py b/var/spack/repos/builtin/packages/libszip/package.py
index a83a0853a4..f6b9187f0e 100644
--- a/var/spack/repos/builtin/packages/libszip/package.py
+++ b/var/spack/repos/builtin/packages/libszip/package.py
@@ -15,35 +15,32 @@ class Libszip(AutotoolsPackage):
"""
homepage = "https://support.hdfgroup.org/doc_resource/SZIP/"
- url = "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz"
+ url = "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz"
list_url = "https://support.hdfgroup.org/ftp/lib-external/szip"
list_depth = 3
- provides('szip')
+ provides("szip")
- version('2.1.1', sha256='21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412')
- version('2.1', sha256='a816d95d5662e8279625abdbea7d0e62157d7d1f028020b1075500bf483ed5ef')
+ version("2.1.1", sha256="21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412")
+ version("2.1", sha256="a816d95d5662e8279625abdbea7d0e62157d7d1f028020b1075500bf483ed5ef")
@property
def libs(self):
- shared = 'static' not in self.spec.last_query.extra_parameters
+ shared = "static" not in self.spec.last_query.extra_parameters
- libs = find_libraries(
- 'libsz', root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries("libsz", root=self.prefix, shared=shared, recursive=True)
if not libs:
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
return libs
def configure_args(self):
return [
- '--enable-production',
- '--enable-shared',
- '--enable-static',
- '--enable-encoding',
+ "--enable-production",
+ "--enable-shared",
+ "--enable-static",
+ "--enable-encoding",
]
diff --git a/var/spack/repos/builtin/packages/libtar/package.py b/var/spack/repos/builtin/packages/libtar/package.py
index 97f918b6f5..fabcec16a3 100644
--- a/var/spack/repos/builtin/packages/libtar/package.py
+++ b/var/spack/repos/builtin/packages/libtar/package.py
@@ -11,13 +11,13 @@ class Libtar(AutotoolsPackage):
programs."""
homepage = "https://repo.or.cz/libtar.git"
- url = "https://github.com/tklauser/libtar/archive/v1.2.20.tar.gz"
+ url = "https://github.com/tklauser/libtar/archive/v1.2.20.tar.gz"
- version('1.2.20', sha256='3152fc61cf03c82efbf99645596efdadba297eac3e85a52ae189902a072c9a16')
- version('1.2.19', sha256='5fea7152106b1b8cda109da27f505439865dd196da94f503fab18264591ddf64')
- version('1.2.18', sha256='a5ac82dae9677b5b74333ed63043b9699c7ef561e2eacf301188c277952d4b7d')
+ version("1.2.20", sha256="3152fc61cf03c82efbf99645596efdadba297eac3e85a52ae189902a072c9a16")
+ version("1.2.19", sha256="5fea7152106b1b8cda109da27f505439865dd196da94f503fab18264591ddf64")
+ version("1.2.18", sha256="a5ac82dae9677b5b74333ed63043b9699c7ef561e2eacf301188c277952d4b7d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libtasn1/package.py b/var/spack/repos/builtin/packages/libtasn1/package.py
index fc6beba28c..d857c0d3c0 100644
--- a/var/spack/repos/builtin/packages/libtasn1/package.py
+++ b/var/spack/repos/builtin/packages/libtasn1/package.py
@@ -10,24 +10,26 @@ class Libtasn1(Package):
"""ASN.1 structure parser library."""
homepage = "https://www.gnu.org/software/libtasn1/"
- url = "https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.13.tar.gz"
+ url = "https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.13.tar.gz"
- version('4.13', sha256='7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca')
- version('4.12', sha256='6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753')
- version('4.10', sha256='681a4d9a0d259f2125713f2e5766c5809f151b3a1392fd91390f780b4b8f5a02')
- version('4.9', sha256='4f6f7a8fd691ac2b8307c8ca365bad711db607d4ad5966f6938a9d2ecd65c920')
- version('4.8', sha256='fa802fc94d79baa00e7397cedf29eb6827d4bd8b4dd77b577373577c93a8c513')
- version('4.7', sha256='a40780dc93fc6d819170240e8ece25352058a85fd1d2347ce0f143667d8f11c9')
- version('4.6', sha256='3462fc25e2d2536878c39a8825f5e36ba2e2611b27ef535e064f4c56258e508b')
- version('4.5', sha256='89b3b5dce119273431544ecb305081f3530911001bb12e5d76588907edb71bda')
- version('4.4', sha256='f8349db1b4fe634105c77e11d26b2173e587827e86e1a489b5e38ffa822e0c5d')
- version('4.3', sha256='733513e3ffb03bd4910f97ef2683e602b40501428e4eb7649e325c2f4b1756cc')
- version('4.2', sha256='693b41cb36c2ac02d5990180b0712a79a591168e93d85f7fcbb75a0a0be4cdbb')
- version('4.1', sha256='60ee6571dcfa00cf55406404912274d6dc759cbaa80d666b89d819feeff5f301')
- version('4.0', sha256='41d044f7644bdd1c4f8a5c15ac1885ca1fcbf32f5f6dd4760a19278b979857fe')
+ version("4.13", sha256="7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca")
+ version("4.12", sha256="6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753")
+ version("4.10", sha256="681a4d9a0d259f2125713f2e5766c5809f151b3a1392fd91390f780b4b8f5a02")
+ version("4.9", sha256="4f6f7a8fd691ac2b8307c8ca365bad711db607d4ad5966f6938a9d2ecd65c920")
+ version("4.8", sha256="fa802fc94d79baa00e7397cedf29eb6827d4bd8b4dd77b577373577c93a8c513")
+ version("4.7", sha256="a40780dc93fc6d819170240e8ece25352058a85fd1d2347ce0f143667d8f11c9")
+ version("4.6", sha256="3462fc25e2d2536878c39a8825f5e36ba2e2611b27ef535e064f4c56258e508b")
+ version("4.5", sha256="89b3b5dce119273431544ecb305081f3530911001bb12e5d76588907edb71bda")
+ version("4.4", sha256="f8349db1b4fe634105c77e11d26b2173e587827e86e1a489b5e38ffa822e0c5d")
+ version("4.3", sha256="733513e3ffb03bd4910f97ef2683e602b40501428e4eb7649e325c2f4b1756cc")
+ version("4.2", sha256="693b41cb36c2ac02d5990180b0712a79a591168e93d85f7fcbb75a0a0be4cdbb")
+ version("4.1", sha256="60ee6571dcfa00cf55406404912274d6dc759cbaa80d666b89d819feeff5f301")
+ version("4.0", sha256="41d044f7644bdd1c4f8a5c15ac1885ca1fcbf32f5f6dd4760a19278b979857fe")
def install(self, spec, prefix):
- configure('--disable-dependency-tracking',
- '--disable-silent-rules',
- '--prefix=%s' % self.spec.prefix)
- make('install')
+ configure(
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
+ "--prefix=%s" % self.spec.prefix,
+ )
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libtermkey/package.py b/var/spack/repos/builtin/packages/libtermkey/package.py
index 68a418ead2..1b33472cc7 100644
--- a/var/spack/repos/builtin/packages/libtermkey/package.py
+++ b/var/spack/repos/builtin/packages/libtermkey/package.py
@@ -8,19 +8,20 @@ from spack.package import *
class Libtermkey(Package):
"""Easy keyboard entry processing for terminal programs"""
+
homepage = "http://www.leonerd.org.uk/code/libtermkey/"
- url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz"
+ url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz"
- version('0.22', sha256='6945bd3c4aaa83da83d80a045c5563da4edd7d0374c62c0d35aec09eb3014600')
- version('0.18', sha256='239746de41c845af52bb3c14055558f743292dd6c24ac26c2d6567a5a6093926')
- version('0.17', sha256='68949364ed5eaad857b3dea10071cde74b00b9f236dfbb702169f246c3cef389')
- version('0.16', sha256='6c8136efa5d0b3277014a5d4519ea81190079c82656b7db1655a1bd147326a70')
- version('0.15b', sha256='6825422c6297e4f81b2c48962b4512585ca8a50bf31f24b3234a1be71a9d7a6e')
- version('0.14', sha256='3d114d4509499b80a583ea39cd35f18268aacf4a7bbf56c142cd032632005c79')
+ version("0.22", sha256="6945bd3c4aaa83da83d80a045c5563da4edd7d0374c62c0d35aec09eb3014600")
+ version("0.18", sha256="239746de41c845af52bb3c14055558f743292dd6c24ac26c2d6567a5a6093926")
+ version("0.17", sha256="68949364ed5eaad857b3dea10071cde74b00b9f236dfbb702169f246c3cef389")
+ version("0.16", sha256="6c8136efa5d0b3277014a5d4519ea81190079c82656b7db1655a1bd147326a70")
+ version("0.15b", sha256="6825422c6297e4f81b2c48962b4512585ca8a50bf31f24b3234a1be71a9d7a6e")
+ version("0.14", sha256="3d114d4509499b80a583ea39cd35f18268aacf4a7bbf56c142cd032632005c79")
- depends_on('libtool', type='build')
- depends_on('unibilium')
- depends_on('pkgconfig')
+ depends_on("libtool", type="build")
+ depends_on("unibilium")
+ depends_on("pkgconfig")
def install(self, spec, prefix):
make()
diff --git a/var/spack/repos/builtin/packages/libthai/package.py b/var/spack/repos/builtin/packages/libthai/package.py
index e8bece98b8..0894185cff 100644
--- a/var/spack/repos/builtin/packages/libthai/package.py
+++ b/var/spack/repos/builtin/packages/libthai/package.py
@@ -14,10 +14,10 @@ class Libthai(AutotoolsPackage):
and string supports."""
homepage = "https://linux.thai.net"
- url = "https://github.com/tlwg/libthai/releases/download/v0.1.28/libthai-0.1.28.tar.xz"
+ url = "https://github.com/tlwg/libthai/releases/download/v0.1.28/libthai-0.1.28.tar.xz"
- version('0.1.28', sha256='ffe0a17b4b5aa11b153c15986800eca19f6c93a4025ffa5cf2cab2dcdf1ae911')
- version('0.1.27', sha256='1659fa1b7b1d6562102d7feb8c8c3fd94bb2dc5761ed7dbaae4f300e1c03eff6')
+ version("0.1.28", sha256="ffe0a17b4b5aa11b153c15986800eca19f6c93a4025ffa5cf2cab2dcdf1ae911")
+ version("0.1.27", sha256="1659fa1b7b1d6562102d7feb8c8c3fd94bb2dc5761ed7dbaae4f300e1c03eff6")
- depends_on('libdatrie')
- depends_on('doxygen@1.8.8:', type='build')
+ depends_on("libdatrie")
+ depends_on("doxygen@1.8.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/libtheora/package.py b/var/spack/repos/builtin/packages/libtheora/package.py
index 77f4540b50..60f161df24 100644
--- a/var/spack/repos/builtin/packages/libtheora/package.py
+++ b/var/spack/repos/builtin/packages/libtheora/package.py
@@ -10,35 +10,37 @@ class Libtheora(AutotoolsPackage):
"""Theora Video Compression."""
homepage = "https://www.theora.org"
- url = "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz"
+ url = "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz"
- version('1.1.1', sha256='f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61')
- version('1.1.0', sha256='3d7b4fb1c115f1a530afd430eed2e8861fa57c8b179ec2d5a5d8f1cd0c7a4268')
+ version("1.1.1", sha256="f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61")
+ version("1.1.0", sha256="3d7b4fb1c115f1a530afd430eed2e8861fa57c8b179ec2d5a5d8f1cd0c7a4268")
- variant('doc', default=False, description="Build documentation")
+ variant("doc", default=False, description="Build documentation")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('doxygen', when='+doc', type='build')
- depends_on('libogg')
- depends_on('libpng')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("doxygen", when="+doc", type="build")
+ depends_on("libogg")
+ depends_on("libpng")
- patch('exit-prior-to-running-configure.patch', when='@1.1.1')
- patch('fix_encoding.patch', when='@1.1:')
- patch('https://gitlab.xiph.org/xiph/theora/-/commit/7288b539c52e99168488dc3a343845c9365617c8.patch',
- sha256='8b1f256fa6bfb4ce1355c5be1104e8cfe695c8484d8ea19db06c006880a02298', when='^libpng@1.6:')
+ patch("exit-prior-to-running-configure.patch", when="@1.1.1")
+ patch("fix_encoding.patch", when="@1.1:")
+ patch(
+ "https://gitlab.xiph.org/xiph/theora/-/commit/7288b539c52e99168488dc3a343845c9365617c8.patch",
+ sha256="8b1f256fa6bfb4ce1355c5be1104e8cfe695c8484d8ea19db06c006880a02298",
+ when="^libpng@1.6:",
+ )
def autoreconf(self, spec, prefix):
- sh = which('sh')
- if self.spec.satisfies('target=aarch64:'):
- sh('./autogen.sh', 'prefix={0}'.format(prefix),
- '--build=arm-linux')
+ sh = which("sh")
+ if self.spec.satisfies("target=aarch64:"):
+ sh("./autogen.sh", "prefix={0}".format(prefix), "--build=arm-linux")
else:
- sh('./autogen.sh', 'prefix={0}'.format(prefix))
+ sh("./autogen.sh", "prefix={0}".format(prefix))
def configure_args(self):
args = []
- args += self.enable_or_disable('doc')
+ args += self.enable_or_disable("doc")
return args
diff --git a/var/spack/repos/builtin/packages/libtiff/package.py b/var/spack/repos/builtin/packages/libtiff/package.py
index ebaa6315ed..6efc7bf661 100644
--- a/var/spack/repos/builtin/packages/libtiff/package.py
+++ b/var/spack/repos/builtin/packages/libtiff/package.py
@@ -10,80 +10,81 @@ class Libtiff(AutotoolsPackage):
"""LibTIFF - Tag Image File Format (TIFF) Library and Utilities."""
homepage = "http://www.simplesystems.org/libtiff/"
- url = "https://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz"
+ url = "https://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('4.4.0', sha256='917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed')
- version('4.3.0', sha256='0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8')
- version('4.2.0', sha256='eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb')
- version('4.1.0', sha256='5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634')
- version('4.0.10', sha256='2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4')
- version('4.0.9', sha256='6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd')
- version('4.0.8', sha256='59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910')
- version('4.0.7', sha256='9f43a2cfb9589e5cecaa66e16bf87f814c945f22df7ba600d63aac4632c4f019')
- version('4.0.6', sha256='4d57a50907b510e3049a4bba0d7888930fdfc16ce49f1bf693e5b6247370d68c')
- version('3.9.7', sha256='f5d64dd4ce61c55f5e9f6dc3920fbe5a41e02c2e607da7117a35eb5c320cef6a')
+ version("4.4.0", sha256="917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed")
+ version("4.3.0", sha256="0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8")
+ version("4.2.0", sha256="eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb")
+ version("4.1.0", sha256="5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634")
+ version("4.0.10", sha256="2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4")
+ version("4.0.9", sha256="6e7bdeec2c310734e734d19aae3a71ebe37a4d842e0e23dbb1b8921c0026cfcd")
+ version("4.0.8", sha256="59d7a5a8ccd92059913f246877db95a2918e6c04fb9d43fd74e5c3390dac2910")
+ version("4.0.7", sha256="9f43a2cfb9589e5cecaa66e16bf87f814c945f22df7ba600d63aac4632c4f019")
+ version("4.0.6", sha256="4d57a50907b510e3049a4bba0d7888930fdfc16ce49f1bf693e5b6247370d68c")
+ version("3.9.7", sha256="f5d64dd4ce61c55f5e9f6dc3920fbe5a41e02c2e607da7117a35eb5c320cef6a")
- variant('zlib', default=False, description='Enable Zlib usage')
- variant('libdeflate', default=False, description='Enable libdeflate usage')
- variant('pixarlog', default=False, description='Enable support for Pixar log-format algorithm')
- variant('jpeg', default=False, description='Enable IJG JPEG library usage')
- variant('old-jpeg', default=False, description='Enable support for Old JPEG compression')
- variant('jpeg12', default=False, description='Enable libjpeg 8/12bit dual mode')
- variant('jbig', default=False, description='Enable JBIG-KIT usage')
- variant('lerc', default=False, description='Enable liblerc usage')
- variant('lzma', default=False, description='Enable liblzma usage')
- variant('zstd', default=False, description='Enable libzstd usage')
- variant('webp', default=False, description='Enable libwebp usage')
+ variant("zlib", default=False, description="Enable Zlib usage")
+ variant("libdeflate", default=False, description="Enable libdeflate usage")
+ variant("pixarlog", default=False, description="Enable support for Pixar log-format algorithm")
+ variant("jpeg", default=False, description="Enable IJG JPEG library usage")
+ variant("old-jpeg", default=False, description="Enable support for Old JPEG compression")
+ variant("jpeg12", default=False, description="Enable libjpeg 8/12bit dual mode")
+ variant("jbig", default=False, description="Enable JBIG-KIT usage")
+ variant("lerc", default=False, description="Enable liblerc usage")
+ variant("lzma", default=False, description="Enable liblzma usage")
+ variant("zstd", default=False, description="Enable libzstd usage")
+ variant("webp", default=False, description="Enable libwebp usage")
- depends_on('zlib', when='+zlib')
- depends_on('zlib', when='+pixarlog')
- depends_on('jpeg@5:', when='+jpeg')
- depends_on('jbigkit', when='+jbig')
- depends_on('lerc', when='+lerc')
- depends_on('xz', when='+lzma')
- depends_on('zstd@1:', when='+zstd')
- depends_on('libwebp', when='+webp')
+ depends_on("zlib", when="+zlib")
+ depends_on("zlib", when="+pixarlog")
+ depends_on("jpeg@5:", when="+jpeg")
+ depends_on("jbigkit", when="+jbig")
+ depends_on("lerc", when="+lerc")
+ depends_on("xz", when="+lzma")
+ depends_on("zstd@1:", when="+zstd")
+ depends_on("libwebp", when="+webp")
- conflicts('+libdeflate', when='~zlib')
- conflicts('+libdeflate', when='@:4.1')
- conflicts('+jpeg12', when='~jpeg')
- conflicts('+jpeg12', when='@:3')
- conflicts('+lerc', when='~zlib')
- conflicts('+lerc', when='@:4.2')
- conflicts('+lzma', when='@:3')
- conflicts('+zstd', when='@:4.0.9')
- conflicts('+webp', when='@:4.0.9')
+ conflicts("+libdeflate", when="~zlib")
+ conflicts("+libdeflate", when="@:4.1")
+ conflicts("+jpeg12", when="~jpeg")
+ conflicts("+jpeg12", when="@:3")
+ conflicts("+lerc", when="~zlib")
+ conflicts("+lerc", when="@:4.2")
+ conflicts("+lzma", when="@:3")
+ conflicts("+zstd", when="@:4.0.9")
+ conflicts("+webp", when="@:4.0.9")
# 4.3.0 contains a bug that breaks the build on case-sensitive filesystems when
# using a C++20-capable compiler (commonly the case on macOS). Not an easy way to
# check for this, so add a conflict for macOS overall. For more details, see:
# https://gitlab.com/libtiff/libtiff/-/merge_requests/243
- conflicts('platform=darwin', when='@4.3.0')
+ conflicts("platform=darwin", when="@4.3.0")
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- filter_file('vl_cv_prog_cc_warnings="-Wall -W"',
- 'vl_cv_prog_cc_warnings="-Wall"', 'configure')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file(
+ 'vl_cv_prog_cc_warnings="-Wall -W"', 'vl_cv_prog_cc_warnings="-Wall"', "configure"
+ )
def configure_args(self):
args = []
- args += self.enable_or_disable('zlib')
- if self.spec.satisfies('@4.2:'):
- args += self.enable_or_disable('libdeflate')
- args += self.enable_or_disable('pixarlog')
- args += self.enable_or_disable('jpeg')
- args += self.enable_or_disable('old-jpeg')
- if self.spec.satisfies('@4:'):
- args += self.enable_or_disable('jpeg12')
- args += self.enable_or_disable('jbig')
- if self.spec.satisfies('@4.3:'):
- args += self.enable_or_disable('lerc')
- if self.spec.satisfies('@4:'):
- args += self.enable_or_disable('lzma')
- if self.spec.satisfies('@4.0.10:'):
- args += self.enable_or_disable('zstd')
- args += self.enable_or_disable('webp')
+ args += self.enable_or_disable("zlib")
+ if self.spec.satisfies("@4.2:"):
+ args += self.enable_or_disable("libdeflate")
+ args += self.enable_or_disable("pixarlog")
+ args += self.enable_or_disable("jpeg")
+ args += self.enable_or_disable("old-jpeg")
+ if self.spec.satisfies("@4:"):
+ args += self.enable_or_disable("jpeg12")
+ args += self.enable_or_disable("jbig")
+ if self.spec.satisfies("@4.3:"):
+ args += self.enable_or_disable("lerc")
+ if self.spec.satisfies("@4:"):
+ args += self.enable_or_disable("lzma")
+ if self.spec.satisfies("@4.0.10:"):
+ args += self.enable_or_disable("zstd")
+ args += self.enable_or_disable("webp")
return args
diff --git a/var/spack/repos/builtin/packages/libtirpc/package.py b/var/spack/repos/builtin/packages/libtirpc/package.py
index 04bfb83582..44bbdb9a01 100644
--- a/var/spack/repos/builtin/packages/libtirpc/package.py
+++ b/var/spack/repos/builtin/packages/libtirpc/package.py
@@ -7,25 +7,24 @@ from spack.package import *
class Libtirpc(AutotoolsPackage):
- """Libtirpc is a port of Suns Transport-Independent RPC library to Linux.
- """
+ """Libtirpc is a port of Suns Transport-Independent RPC library to Linux."""
homepage = "https://sourceforge.net/projects/libtirpc/"
url = "https://sourceforge.net/projects/libtirpc/files/libtirpc/1.1.4/libtirpc-1.1.4.tar.bz2/download"
- version('1.2.6', sha256='4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc')
- version('1.1.4', sha256='2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d')
+ version("1.2.6", sha256="4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc")
+ version("1.1.4", sha256="2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d")
- depends_on('krb5')
+ depends_on("krb5")
- provides('rpc')
+ provides("rpc")
# Remove -pipe flag to compiler in Makefiles when using nvhpc
- patch('libtirpc-remove-pipe-flag-for-nvhpc.patch', when='%nvhpc')
+ patch("libtirpc-remove-pipe-flag-for-nvhpc.patch", when="%nvhpc")
# FIXME: build error on macOS
# auth_none.c:81:9: error: unknown type name 'mutex_t'
- conflicts('platform=darwin', msg='Does not build on macOS')
+ conflicts("platform=darwin", msg="Does not build on macOS")
@property
def headers(self):
diff --git a/var/spack/repos/builtin/packages/libtlx/package.py b/var/spack/repos/builtin/packages/libtlx/package.py
index 913eab2447..2ac856af58 100644
--- a/var/spack/repos/builtin/packages/libtlx/package.py
+++ b/var/spack/repos/builtin/packages/libtlx/package.py
@@ -7,23 +7,27 @@ from spack.package import *
class Libtlx(CMakePackage):
- """ tlx is a collection of C++ helpers and extensions universally needed,
- but not found in the STL.
- The most important design goals and conventions are:
- 1) high modularity with as little dependencies between
- modules as possible.
- 2) attempt to never break existing interfaces.
- 3) compile on all platforms with C++ - smartphones, supercomputers,
- windows, etc.
- 4) zero external dependencies: no additional libraries are required.
- 5) warning and bug-freeness on all compilers.
- 6) keep overhead down - small overall size such that is can be included
- without bloating applications."""
+ """tlx is a collection of C++ helpers and extensions universally needed,
+ but not found in the STL.
+ The most important design goals and conventions are:
+ 1) high modularity with as little dependencies between
+ modules as possible.
+ 2) attempt to never break existing interfaces.
+ 3) compile on all platforms with C++ - smartphones, supercomputers,
+ windows, etc.
+ 4) zero external dependencies: no additional libraries are required.
+ 5) warning and bug-freeness on all compilers.
+ 6) keep overhead down - small overall size such that is can be included
+ without bloating applications."""
homepage = "https://tlx.github.io/"
- url = "https://github.com/tlx/tlx/archive/v0.5.20191212.tar.gz"
+ url = "https://github.com/tlx/tlx/archive/v0.5.20191212.tar.gz"
- maintainers = ['fabratu']
+ maintainers = ["fabratu"]
- version('0.5.20200222', sha256='99e63691af3ada066682243f3a65cd6eb32700071cdd6cfedb18777b5ff5ff4d')
- version('0.5.20191212', sha256='5e67d3042a390dbb831b6d46437e3c7fadf738bff362aa7376b210b10ecd532d')
+ version(
+ "0.5.20200222", sha256="99e63691af3ada066682243f3a65cd6eb32700071cdd6cfedb18777b5ff5ff4d"
+ )
+ version(
+ "0.5.20191212", sha256="5e67d3042a390dbb831b6d46437e3c7fadf738bff362aa7376b210b10ecd532d"
+ )
diff --git a/var/spack/repos/builtin/packages/libtomlc99/package.py b/var/spack/repos/builtin/packages/libtomlc99/package.py
index 6762281a63..feb921362c 100644
--- a/var/spack/repos/builtin/packages/libtomlc99/package.py
+++ b/var/spack/repos/builtin/packages/libtomlc99/package.py
@@ -10,21 +10,24 @@ class Libtomlc99(Package):
"""TOML in c99; v0.4.0 compliant."""
homepage = "https://github.com/cktan/tomlc99"
- git = "https://github.com/cktan/tomlc99.git"
+ git = "https://github.com/cktan/tomlc99.git"
# Since there is no official versioning, yet, just use the date and prefix
# with '0.' to make switching to proper versioning easier later.
- version('0.2020.12.23', commit='e97a56633e54297990158ab56a7e50a089cddf7d')
- version('0.2019.06.24', commit='b701a09579200b1bd87081d1e6a284a89b5576c8')
+ version("0.2020.12.23", commit="e97a56633e54297990158ab56a7e50a089cddf7d")
+ version("0.2019.06.24", commit="b701a09579200b1bd87081d1e6a284a89b5576c8")
# Unfortunately, upstream Makefile does not build shared libaries, so use
# local changes for now.
- version('0.2019.05.02', commit='35118431263dec2a2a7b55e4dd717a5f54992e3e',
- sha256sum='f131679131c1fcb012004a3334abb2b77a329490549c4d68455ba4ec55af9b10',
- git="https://github.com/obreitwi/tomlc99.git")
+ version(
+ "0.2019.05.02",
+ commit="35118431263dec2a2a7b55e4dd717a5f54992e3e",
+ sha256sum="f131679131c1fcb012004a3334abb2b77a329490549c4d68455ba4ec55af9b10",
+ git="https://github.com/obreitwi/tomlc99.git",
+ )
# Does not build shared libraries.
- version('0.2019.03.06', commit='bd76f1276ee5f5df0eb064f1842af5ad1737cf1e')
+ version("0.2019.03.06", commit="bd76f1276ee5f5df0eb064f1842af5ad1737cf1e")
- variant('debug', default=False, description="Build with debug enabled.")
+ variant("debug", default=False, description="Build with debug enabled.")
def install(self, spec, prefix):
make_args = []
@@ -32,4 +35,4 @@ class Libtomlc99(Package):
make_args.append("DEBUG=1")
make(*make_args)
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/libtommath/package.py b/var/spack/repos/builtin/packages/libtommath/package.py
index 8f392979fd..48af57b015 100644
--- a/var/spack/repos/builtin/packages/libtommath/package.py
+++ b/var/spack/repos/builtin/packages/libtommath/package.py
@@ -10,11 +10,10 @@ class Libtommath(MakefilePackage):
"""A portable number theoretic multiple-precision integer library."""
homepage = "https://www.libtom.net/"
- url = "https://github.com/libtom/libtommath/archive/v1.2.0.tar.gz"
+ url = "https://github.com/libtom/libtommath/archive/v1.2.0.tar.gz"
- version('1.2.0', sha256='f3c20ab5df600d8d89e054d096c116417197827d12732e678525667aa724e30f')
- version('1.1.0', sha256='71b6f3f99341b7693393ab4b58f03b79b6afc2ee5288666cc4538b4b336355f4')
+ version("1.2.0", sha256="f3c20ab5df600d8d89e054d096c116417197827d12732e678525667aa724e30f")
+ version("1.1.0", sha256="71b6f3f99341b7693393ab4b58f03b79b6afc2ee5288666cc4538b4b336355f4")
def install(self, spec, prefix):
- make('DESTDIR={0}'.format(prefix),
- 'LIBPATH=/lib', 'INCPATH=/include', 'install')
+ make("DESTDIR={0}".format(prefix), "LIBPATH=/lib", "INCPATH=/include", "install")
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index 8354cd5bb2..507a3b6551 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -11,71 +11,77 @@ from spack.package import *
class Libtool(AutotoolsPackage, GNUMirrorPackage):
"""libtool -- library building part of autotools."""
- homepage = 'https://www.gnu.org/software/libtool/'
+ homepage = "https://www.gnu.org/software/libtool/"
gnu_mirror_path = "libtool/libtool-2.4.6.tar.gz"
- version('develop', git='https://git.savannah.gnu.org/git/libtool.git',
- branch='master', submodules=True)
+ version(
+ "develop",
+ git="https://git.savannah.gnu.org/git/libtool.git",
+ branch="master",
+ submodules=True,
+ )
- version('2.4.7', sha256='04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8')
- version('2.4.6', sha256='e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3')
+ version("2.4.7", sha256="04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8")
+ version("2.4.6", sha256="e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3")
# Version released in 2011
- version('2.4.2', sha256='b38de44862a987293cd3d8dfae1c409d514b6c4e794ebc93648febf9afc38918', deprecated=True)
-
- depends_on('m4@1.4.6:', type='build')
-
- with when('@2.4.2'):
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('help2man', type='build')
-
- with when('@2.4.6'):
- depends_on('autoconf@2.62:', type='test')
- depends_on('automake', type='test')
-
- with when('@develop'):
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('help2man', type='build')
- depends_on('xz', type='build')
- depends_on('texinfo', type='build')
+ version(
+ "2.4.2",
+ sha256="b38de44862a987293cd3d8dfae1c409d514b6c4e794ebc93648febf9afc38918",
+ deprecated=True,
+ )
+
+ depends_on("m4@1.4.6:", type="build")
+
+ with when("@2.4.2"):
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("help2man", type="build")
+
+ with when("@2.4.6"):
+ depends_on("autoconf@2.62:", type="test")
+ depends_on("automake", type="test")
+
+ with when("@develop"):
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("help2man", type="build")
+ depends_on("xz", type="build")
+ depends_on("texinfo", type="build")
# Fix parsing of compiler output when collecting predeps and postdeps
# https://lists.gnu.org/archive/html/bug-libtool/2016-03/msg00003.html
- patch('flag_space.patch')
+ patch("flag_space.patch")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^g?libtool(ize)?$']
+ executables = ["^g?libtool(ize)?$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'\(GNU libtool\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"\(GNU libtool\)\s+(\S+)", output)
return match.group(1) if match else None
- @when('@2.4.2,develop')
+ @when("@2.4.2,develop")
def autoreconf(self, spec, prefix):
- Executable('./bootstrap')()
+ Executable("./bootstrap")()
@property
def libs(self):
- return find_libraries(
- ['libltdl'], root=self.prefix, recursive=True, shared=True
- )
+ return find_libraries(["libltdl"], root=self.prefix, recursive=True, shared=True)
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- filter_file('-fno-builtin', '-Mnobuiltin', 'configure')
- filter_file('-fno-builtin', '-Mnobuiltin', 'libltdl/configure')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file("-fno-builtin", "-Mnobuiltin", "configure")
+ filter_file("-fno-builtin", "-Mnobuiltin", "libltdl/configure")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
+ env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal)
def setup_dependent_package(self, module, dependent_spec):
# Automake is very likely to be a build dependency, so we add
@@ -84,11 +90,11 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage):
# GNU libtool, so also add 'glibtool' and 'glibtoolize' to the
# list of executables. See Homebrew:
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/libtool.rb
- executables = ['libtoolize', 'libtool', 'glibtoolize', 'glibtool']
+ executables = ["libtoolize", "libtool", "glibtoolize", "glibtool"]
for name in executables:
setattr(module, name, self._make_executable(name))
- @run_after('install')
+ @run_after("install")
def post_install(self):
# Some platforms name GNU libtool and GNU libtoolize
# 'glibtool' and 'glibtoolize', respectively, to differentiate
@@ -96,10 +102,10 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage):
# platforms, build systems sometimes expect to use the assumed
# GNU commands glibtool and glibtoolize instead of the BSD
# variant; this happens frequently, for instance, on Darwin
- symlink(join_path(self.prefix.bin, 'libtool'),
- join_path(self.prefix.bin, 'glibtool'))
- symlink(join_path(self.prefix.bin, 'libtoolize'),
- join_path(self.prefix.bin, 'glibtoolize'))
+ symlink(join_path(self.prefix.bin, "libtool"), join_path(self.prefix.bin, "glibtool"))
+ symlink(
+ join_path(self.prefix.bin, "libtoolize"), join_path(self.prefix.bin, "glibtoolize")
+ )
def setup_build_environment(self, env):
"""Wrapper until spack has a real implementation of setup_test_environment()"""
@@ -108,12 +114,12 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage):
def setup_test_environment(self, env):
"""When Fortran is not provided, a few tests need to be skipped"""
- if (self.compiler.f77 is None):
- env.set('F77', 'no')
- if (self.compiler.fc is None):
- env.set('FC', 'no')
+ if self.compiler.f77 is None:
+ env.set("F77", "no")
+ if self.compiler.fc is None:
+ env.set("FC", "no")
- @when('@2.4.6')
+ @when("@2.4.6")
def check(self):
"""installcheck of libtool-2.4.6 runs the full testsuite, skip 'make check'"""
pass
diff --git a/var/spack/repos/builtin/packages/libtorrent/package.py b/var/spack/repos/builtin/packages/libtorrent/package.py
index 38156999db..ee34168b44 100644
--- a/var/spack/repos/builtin/packages/libtorrent/package.py
+++ b/var/spack/repos/builtin/packages/libtorrent/package.py
@@ -11,10 +11,10 @@ class Libtorrent(AutotoolsPackage):
with a focus on high performance and good code."""
homepage = "https://github.com/rakshasa/libtorrent"
- url = "https://github.com/rakshasa/libtorrent/archive/v0.13.8.tar.gz"
+ url = "https://github.com/rakshasa/libtorrent/archive/v0.13.8.tar.gz"
- version('0.13.8', sha256='0f6c2e7ffd3a1723ab47fdac785ec40f85c0a5b5a42c1d002272205b988be722')
+ version("0.13.8", sha256="0f6c2e7ffd3a1723ab47fdac785ec40f85c0a5b5a42c1d002272205b988be722")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py
index 676aa39b79..572f459b43 100644
--- a/var/spack/repos/builtin/packages/libtree/package.py
+++ b/var/spack/repos/builtin/packages/libtree/package.py
@@ -10,78 +10,83 @@ class Libtree(MakefilePackage):
"""ldd as a tree"""
homepage = "https://github.com/haampie/libtree"
- git = "https://github.com/haampie/libtree.git"
- url = "https://github.com/haampie/libtree/archive/refs/tags/v2.0.0.tar.gz"
- maintainers = ['haampie']
+ git = "https://github.com/haampie/libtree.git"
+ url = "https://github.com/haampie/libtree/archive/refs/tags/v2.0.0.tar.gz"
+ maintainers = ["haampie"]
- version('master', branch='master')
- version('3.1.1', sha256='6148436f54296945d22420254dd78e1829d60124bb2f5b9881320a6550f73f5c')
- version('3.1.0', sha256='8057edb2dd77b0acf6ceab6868741993979dccd41fc41a58bde743f11666d781')
- version('3.0.4', sha256='38d08d7513a11934a83b13ad5aa44ee2406cca70a8186fa621705df8b8d2ef06')
- version('3.0.3', sha256='7e4589b617775cb3a2b4b8fe03f80b81e43ef16046d680f1517ce52d7be9893f')
- version('3.0.2', sha256='f07c9cf3394cacd1eab15d42b97b9b6787d8bd3b7f6746fe0f39e7d951eebaac')
- version('3.0.1', sha256='20d3cd66f5c74058de9dd594af8ffd639c795d27ab435c588a3cd43911c1604f')
- version('3.0.0', sha256='6f7b069a8e5d86741e18a4c8a7e835ac530ae012dfc9509e00ffa694aa6818b1')
- version('2.0.0', sha256='099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883')
- version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf')
- version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd')
- version('1.2.1', sha256='26791c0f418b93d502879db0e1fd2fd3081b885ad87326611d992a5f8977a9b0')
- version('1.2.0', sha256='3e74655f22b1dcc19e8a1b9e7796b8ad44bc37f29e9a99134119e8521e28be97')
- version('1.1.4', sha256='38648f67c8fa72c3a4a3af2bb254b5fd6989c0f1362387ab298176db5cbbcc4e')
- version('1.1.3', sha256='4c681d7b67ef3d62f95450fb7eb84e33ff10a3b9db1f7e195b965b2c3c58226b')
- version('1.1.2', sha256='31641c6bf6c2980ffa7b4c57392460434f97ba66fe51fe6346867430b33a0374')
- version('1.1.1', sha256='3e8543145a40a94e9e2ce9fed003d2bf68294e1fce9607028a286bc132e17dc4')
- version('1.1.0', sha256='6cf36fb9a4c8c3af01855527d4931110732bb2d1c19be9334c689f1fd1c78536')
- version('1.0.4', sha256='b15a54b6f388b8bd8636e288fcb581029f1e65353660387b0096a554ad8e9e45')
- version('1.0.3', sha256='67ce886c191d50959a5727246cdb04af38872cd811c9ed4e3822f77a8f40b20b')
+ version("master", branch="master")
+ version("3.1.1", sha256="6148436f54296945d22420254dd78e1829d60124bb2f5b9881320a6550f73f5c")
+ version("3.1.0", sha256="8057edb2dd77b0acf6ceab6868741993979dccd41fc41a58bde743f11666d781")
+ version("3.0.4", sha256="38d08d7513a11934a83b13ad5aa44ee2406cca70a8186fa621705df8b8d2ef06")
+ version("3.0.3", sha256="7e4589b617775cb3a2b4b8fe03f80b81e43ef16046d680f1517ce52d7be9893f")
+ version("3.0.2", sha256="f07c9cf3394cacd1eab15d42b97b9b6787d8bd3b7f6746fe0f39e7d951eebaac")
+ version("3.0.1", sha256="20d3cd66f5c74058de9dd594af8ffd639c795d27ab435c588a3cd43911c1604f")
+ version("3.0.0", sha256="6f7b069a8e5d86741e18a4c8a7e835ac530ae012dfc9509e00ffa694aa6818b1")
+ version("2.0.0", sha256="099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883")
+ version("1.2.3", sha256="4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf")
+ version("1.2.2", sha256="4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd")
+ version("1.2.1", sha256="26791c0f418b93d502879db0e1fd2fd3081b885ad87326611d992a5f8977a9b0")
+ version("1.2.0", sha256="3e74655f22b1dcc19e8a1b9e7796b8ad44bc37f29e9a99134119e8521e28be97")
+ version("1.1.4", sha256="38648f67c8fa72c3a4a3af2bb254b5fd6989c0f1362387ab298176db5cbbcc4e")
+ version("1.1.3", sha256="4c681d7b67ef3d62f95450fb7eb84e33ff10a3b9db1f7e195b965b2c3c58226b")
+ version("1.1.2", sha256="31641c6bf6c2980ffa7b4c57392460434f97ba66fe51fe6346867430b33a0374")
+ version("1.1.1", sha256="3e8543145a40a94e9e2ce9fed003d2bf68294e1fce9607028a286bc132e17dc4")
+ version("1.1.0", sha256="6cf36fb9a4c8c3af01855527d4931110732bb2d1c19be9334c689f1fd1c78536")
+ 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/releases/download/v{0}/sources.tar.gz".format(
+ version
+ )
+ )
return "https://github.com/haampie/libtree/archive/refs/tags/v{0}.tar.gz".format(version)
# Version 3.x (Makefile)
- @when('@3:')
+ @when("@3:")
def install(self, spec, prefix):
- make('install', 'PREFIX=' + prefix)
+ make("install", "PREFIX=" + prefix)
# Version 2.x and earlier (CMake)
- with when('@:2'):
- variant('chrpath', default=False, description='Use chrpath for deployment')
- variant('strip', default=False, description='Use binutils strip for deployment')
- variant('build_type', default='RelWithDebInfo',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- depends_on('googletest', type='test')
- depends_on('cmake@3:', type='build')
- depends_on('chrpath', when='+chrpath', type='run')
- depends_on('binutils', when='+strip', type='run')
+ with when("@:2"):
+ variant("chrpath", default=False, description="Use chrpath for deployment")
+ variant("strip", default=False, description="Use binutils strip for deployment")
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ depends_on("googletest", type="test")
+ depends_on("cmake@3:", type="build")
+ depends_on("chrpath", when="+chrpath", type="run")
+ depends_on("binutils", when="+strip", type="run")
# header only dependencies
- depends_on('cpp-termcolor', when='@2.0.0:2', type='build')
- depends_on('cxxopts', when='@2.0.0:2', type='build')
- depends_on('elfio@:3.9', when='@2.0.0:2', type='build')
+ depends_on("cpp-termcolor", when="@2.0.0:2", type="build")
+ depends_on("cxxopts", when="@2.0.0:2", type="build")
+ depends_on("elfio@:3.9", when="@2.0.0:2", type="build")
def cmake_args(self):
- tests_enabled = 'ON' if self.run_tests else 'OFF'
- if self.spec.satisfies('@2.0:'):
- tests_define = 'LIBTREE_BUILD_TESTS'
+ 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'
+ tests_define = "BUILD_TESTING"
- return [
- CMakePackage.define(tests_define, tests_enabled)
- ]
+ return [CMakePackage.define(tests_define, tests_enabled)]
- @when('@:2')
+ @when("@:2")
def edit(self, spec, prefix):
options = CMakePackage._std_args(self) + self.cmake_args()
options.append(self.stage.source_path)
with working_dir(self.build_directory):
cmake(*options)
- @when('@:2')
+ @when("@:2")
def check(self):
with working_dir(self.build_directory):
- ctest('--output-on-failure')
+ ctest("--output-on-failure")
diff --git a/var/spack/repos/builtin/packages/libuecc/package.py b/var/spack/repos/builtin/packages/libuecc/package.py
index a1a309bcc5..0c55ad3a36 100644
--- a/var/spack/repos/builtin/packages/libuecc/package.py
+++ b/var/spack/repos/builtin/packages/libuecc/package.py
@@ -11,7 +11,7 @@ class Libuecc(CMakePackage):
library compatible with Ed25519."""
homepage = "https://github.com/fars/libuecc"
- url = "https://github.com/fars/libuecc/archive/v7.tar.gz"
+ url = "https://github.com/fars/libuecc/archive/v7.tar.gz"
- version('7', sha256='465a6584c991c13fddf36700328c44fee9a3baff9025fb5f232b34d003d715e0')
- version('6', sha256='ad813abd91462a6b10608e51862a65998649651b22ab5d82f920622cc93befd7')
+ version("7", sha256="465a6584c991c13fddf36700328c44fee9a3baff9025fb5f232b34d003d715e0")
+ version("6", sha256="ad813abd91462a6b10608e51862a65998649651b22ab5d82f920622cc93befd7")
diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py
index e8f5df0141..da4d793ce5 100644
--- a/var/spack/repos/builtin/packages/libunistring/package.py
+++ b/var/spack/repos/builtin/packages/libunistring/package.py
@@ -12,34 +12,34 @@ class Libunistring(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/libunistring/"
gnu_mirror_path = "libunistring/libunistring-0.9.10.tar.xz"
- git = 'https://git.savannah.gnu.org/git/libunistring.git'
- maintainers = ['bernhardkaindl']
-
- version('master', branch='master')
- version('0.9.10', sha256='eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7')
- version('0.9.9', sha256='a4d993ecfce16cf503ff7579f5da64619cee66226fb3b998dafb706190d9a833')
- version('0.9.8', sha256='7b9338cf52706facb2e18587dceda2fbc4a2a3519efa1e15a3f2a68193942f80')
- version('0.9.7', sha256='2e3764512aaf2ce598af5a38818c0ea23dedf1ff5460070d1b6cee5c3336e797')
- version('0.9.6', sha256='2df42eae46743e3f91201bf5c100041540a7704e8b9abfd57c972b2d544de41b')
-
- depends_on('iconv')
- with when('@master'):
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('texinfo', type='build')
- depends_on('gperf', type='build')
+ git = "https://git.savannah.gnu.org/git/libunistring.git"
+ maintainers = ["bernhardkaindl"]
+
+ version("master", branch="master")
+ version("0.9.10", sha256="eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7")
+ version("0.9.9", sha256="a4d993ecfce16cf503ff7579f5da64619cee66226fb3b998dafb706190d9a833")
+ version("0.9.8", sha256="7b9338cf52706facb2e18587dceda2fbc4a2a3519efa1e15a3f2a68193942f80")
+ version("0.9.7", sha256="2e3764512aaf2ce598af5a38818c0ea23dedf1ff5460070d1b6cee5c3336e797")
+ version("0.9.6", sha256="2df42eae46743e3f91201bf5c100041540a7704e8b9abfd57c972b2d544de41b")
+
+ depends_on("iconv")
+ with when("@master"):
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("gperf", type="build")
# glibc 2.28+ removed libio.h and thus _IO_ftrylockfile
- patch('removed_libio.patch', when='@:0.9.9')
+ patch("removed_libio.patch", when="@:0.9.9")
- @when('@0.9.10')
+ @when("@0.9.10")
def patch(self):
# Applies upstream fix for testcase: pragma weak conflicts with --as-needed
# https://bugs.gentoo.org/688464#c9 (this links to all further info)
- filter_file('# pragma weak pthread_create', '', 'tests/glthread/thread.h')
+ filter_file("# pragma weak pthread_create", "", "tests/glthread/thread.h")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- which('./gitsub.sh')('pull')
- which('./autogen.sh')()
+ which("./gitsub.sh")("pull")
+ which("./autogen.sh")()
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index ef41ce1677..7f68504226 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -8,87 +8,102 @@ from spack.package import *
class Libunwind(AutotoolsPackage):
"""A portable and efficient C programming interface (API) to determine
- the call-chain of a program."""
+ the call-chain of a program."""
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']
-
- version('master', branch='master')
- version('1.6-stable', branch='v1.6-stable')
- version('1.6.2', sha256='4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976')
- version('1.5-stable', branch='v1.5-stable')
- version('1.5.0', sha256='90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017')
- version('1.4.0', sha256='df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435')
- version('1.3.1', sha256='43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8')
- version('1.2.1', sha256='3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb')
- version('1.1', sha256='9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a',
- deprecated=True)
-
- variant('docs', default=True, description='Build man page')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
- variant('pic', default=False,
- description='Compile with position independent code.')
- variant('tests', default=True, description='Build tests')
-
- variant('block_signals', default=False,
- description='Block signals before performing mutex operations')
-
- variant('components',
- values=any_combination_of('coredump', 'ptrace', 'setjump'),
- description='Build specified libunwind libraries')
-
- variant('conservative_checks', default=False,
- description='Validate all memory addresses before use')
-
- variant('cxx_exceptions', default=False,
- description='Use libunwind to handle C++ exceptions')
-
- variant('debug', default=False,
- description='Turn on debug support (slows down execution)')
-
- variant('debug_frame', default=False,
- description='Load the ".debug_frame" section if available')
-
- variant('weak_backtrace', default=True,
- description="Provide the weak 'backtrace' symbol")
-
- variant('xz', default=False,
- description='Support xz (lzma) compressed symbol tables.')
-
- variant('zlib', default=False,
- description='Support zlib compressed symbol tables '
- '(1.5 and later).')
+ url = "http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz"
+ git = "https://github.com/libunwind/libunwind"
+ maintainers = ["mwkrentel"]
+
+ version("master", branch="master")
+ version("1.6-stable", branch="v1.6-stable")
+ version("1.6.2", sha256="4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976")
+ version("1.5-stable", branch="v1.5-stable")
+ version("1.5.0", sha256="90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017")
+ version("1.4.0", sha256="df59c931bd4d7ebfd83ee481c943edf015138089b8e50abed8d9c57ba9338435")
+ version("1.3.1", sha256="43997a3939b6ccdf2f669b50fdb8a4d3205374728c2923ddc2354c65260214f8")
+ version("1.2.1", sha256="3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb")
+ version(
+ "1.1",
+ sha256="9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a",
+ deprecated=True,
+ )
+
+ variant("docs", default=True, description="Build man page")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+ variant("pic", default=False, description="Compile with position independent code.")
+ variant("tests", default=True, description="Build tests")
+
+ variant(
+ "block_signals",
+ default=False,
+ description="Block signals before performing mutex operations",
+ )
+
+ variant(
+ "components",
+ values=any_combination_of("coredump", "ptrace", "setjump"),
+ description="Build specified libunwind libraries",
+ )
+
+ variant(
+ "conservative_checks",
+ default=False,
+ description="Validate all memory addresses before use",
+ )
+
+ variant("cxx_exceptions", default=False, description="Use libunwind to handle C++ exceptions")
+
+ variant("debug", default=False, description="Turn on debug support (slows down execution)")
+
+ variant(
+ "debug_frame", default=False, description='Load the ".debug_frame" section if available'
+ )
+
+ variant("weak_backtrace", default=True, description="Provide the weak 'backtrace' symbol")
+
+ variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")
+
+ variant(
+ "zlib",
+ default=False,
+ description="Support zlib compressed symbol tables " "(1.5 and later).",
+ )
# The libunwind releases contain the autotools generated files,
# but the git repo snapshots do not.
- reconf_versions = '@master,1.5-stable,1.6-stable'
- depends_on('autoconf', type='build', when=reconf_versions)
- depends_on('automake', type='build', when=reconf_versions)
- depends_on('libtool', type='build', when=reconf_versions)
- depends_on('m4', type='build', when=reconf_versions)
+ reconf_versions = "@master,1.5-stable,1.6-stable"
+ depends_on("autoconf", type="build", when=reconf_versions)
+ depends_on("automake", type="build", when=reconf_versions)
+ depends_on("libtool", type="build", when=reconf_versions)
+ depends_on("m4", type="build", when=reconf_versions)
- depends_on('xz', type='link', when='+xz')
- depends_on('zlib', type='link', when='+zlib')
+ depends_on("xz", type="link", when="+xz")
+ depends_on("zlib", type="link", when="+zlib")
- conflicts('platform=darwin',
- msg='Non-GNU libunwind needs ELF libraries Darwin does not have')
+ conflicts("platform=darwin", msg="Non-GNU libunwind needs ELF libraries Darwin does not have")
- provides('unwind')
+ provides("unwind")
def flag_handler(self, name, flags):
wrapper_flags = []
- if name == 'cflags':
+ if name == "cflags":
# https://github.com/libunwind/libunwind/pull/166
- if (self.spec.satisfies('@:1.4 %gcc@10:') or
- self.spec.satisfies('@:1.4 %cce@11:') or
- self.spec.satisfies('@:1.4 %clang@11:')):
- wrapper_flags.append('-fcommon')
-
- if '+pic' in self.spec:
+ if (
+ self.spec.satisfies("@:1.4 %gcc@10:")
+ or self.spec.satisfies("@:1.4 %cce@11:")
+ or self.spec.satisfies("@:1.4 %clang@11:")
+ ):
+ wrapper_flags.append("-fcommon")
+
+ if "+pic" in self.spec:
wrapper_flags.append(self.compiler.cc_pic_flag)
return (wrapper_flags, None, flags)
@@ -97,23 +112,22 @@ class Libunwind(AutotoolsPackage):
spec = self.spec
args = []
- args += self.enable_or_disable('documentation', variant='docs')
- args += self.enable_or_disable('libs')
- args += self.enable_or_disable('tests')
-
- args += self.enable_or_disable('block-signals', variant='block_signals')
- args += self.enable_or_disable('components')
- args += self.enable_or_disable('conservative-checks',
- variant='conservative_checks')
- args += self.enable_or_disable('cxx-exceptions', variant='cxx_exceptions')
- args += self.enable_or_disable('debug')
- args += self.enable_or_disable('debug-frame', variant='debug_frame')
- args += self.enable_or_disable('minidebuginfo', variant='xz')
+ args += self.enable_or_disable("documentation", variant="docs")
+ args += self.enable_or_disable("libs")
+ args += self.enable_or_disable("tests")
+
+ args += self.enable_or_disable("block-signals", variant="block_signals")
+ args += self.enable_or_disable("components")
+ args += self.enable_or_disable("conservative-checks", variant="conservative_checks")
+ args += self.enable_or_disable("cxx-exceptions", variant="cxx_exceptions")
+ args += self.enable_or_disable("debug")
+ args += self.enable_or_disable("debug-frame", variant="debug_frame")
+ args += self.enable_or_disable("minidebuginfo", variant="xz")
# building without weak backtrace symbol is possible in 1.5.x and later
- if self.spec.satisfies('@1.5:'):
- args += self.enable_or_disable('weak-backtrace', variant='weak_backtrace')
+ if self.spec.satisfies("@1.5:"):
+ args += self.enable_or_disable("weak-backtrace", variant="weak_backtrace")
# zlib support is available in 1.5.x and later
- if spec.satisfies('@1.5:'):
- args += self.enable_or_disable('zlibdebuginfo', variant='zlib')
+ if spec.satisfies("@1.5:"):
+ args += self.enable_or_disable("zlibdebuginfo", variant="zlib")
return args
diff --git a/var/spack/repos/builtin/packages/libusb/package.py b/var/spack/repos/builtin/packages/libusb/package.py
index 374c40a5a1..cb1f9c809f 100644
--- a/var/spack/repos/builtin/packages/libusb/package.py
+++ b/var/spack/repos/builtin/packages/libusb/package.py
@@ -11,25 +11,25 @@ class Libusb(AutotoolsPackage):
"""Library for USB device access."""
homepage = "https://libusb.info/"
- url = "https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.tar.bz2"
- git = "https://github.com/libusb/libusb"
+ url = "https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.tar.bz2"
+ git = "https://github.com/libusb/libusb"
- version('master', branch='master')
- version('1.0.22', sha256='75aeb9d59a4fdb800d329a545c2e6799f732362193b465ea198f2aa275518157')
- version('1.0.21', sha256='7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b')
- version('1.0.20', sha256='cb057190ba0a961768224e4dc6883104c6f945b2bf2ef90d7da39e7c1834f7ff')
+ version("master", branch="master")
+ version("1.0.22", sha256="75aeb9d59a4fdb800d329a545c2e6799f732362193b465ea198f2aa275518157")
+ version("1.0.21", sha256="7dce9cce9a81194b7065ee912bcd55eeffebab694ea403ffb91b67db66b1824b")
+ version("1.0.20", sha256="cb057190ba0a961768224e4dc6883104c6f945b2bf2ef90d7da39e7c1834f7ff")
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
- @when('@master')
+ @when("@master")
def patch(self):
- mkdir('m4')
+ mkdir("m4")
def configure_args(self):
args = []
- args.append('--disable-dependency-tracking')
+ args.append("--disable-dependency-tracking")
# no libudev/systemd package currently in spack
- args.append('--disable-udev')
+ args.append("--disable-udev")
return args
diff --git a/var/spack/repos/builtin/packages/libusbmuxd/package.py b/var/spack/repos/builtin/packages/libusbmuxd/package.py
index c659d7b06c..f7f889d007 100644
--- a/var/spack/repos/builtin/packages/libusbmuxd/package.py
+++ b/var/spack/repos/builtin/packages/libusbmuxd/package.py
@@ -10,21 +10,18 @@ class Libusbmuxd(AutotoolsPackage):
"""A client library to multiplex connections from and to iOS devices."""
homepage = "https://www.libimobiledevice.org/"
- url = "https://www.libimobiledevice.org/downloads/libusbmuxd-1.0.10.tar.bz2"
- git = "https://git.libimobiledevice.org/libusbmuxd.git"
+ url = "https://www.libimobiledevice.org/downloads/libusbmuxd-1.0.10.tar.bz2"
+ git = "https://git.libimobiledevice.org/libusbmuxd.git"
- version('master', branch='master')
- version('1.0.10', sha256='1aa21391265d2284ac3ccb7cf278126d10d354878589905b35e8102104fec9f2')
- version('1.0.9', sha256='2e3f708a3df30ad7832d2d2389eeb29f68f4e4488a42a20149cc99f4f9223dfc')
+ version("master", branch="master")
+ version("1.0.10", sha256="1aa21391265d2284ac3ccb7cf278126d10d354878589905b35e8102104fec9f2")
+ version("1.0.9", sha256="2e3f708a3df30ad7832d2d2389eeb29f68f4e4488a42a20149cc99f4f9223dfc")
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('pkgconfig', type='build')
- depends_on('libplist')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("pkgconfig", type="build")
+ depends_on("libplist")
def configure_args(self):
- return [
- '--disable-dependency-tracking',
- '--disable-silent-rules'
- ]
+ return ["--disable-dependency-tracking", "--disable-silent-rules"]
diff --git a/var/spack/repos/builtin/packages/libuser/package.py b/var/spack/repos/builtin/packages/libuser/package.py
index f0b30b99cd..c54c51d491 100644
--- a/var/spack/repos/builtin/packages/libuser/package.py
+++ b/var/spack/repos/builtin/packages/libuser/package.py
@@ -10,15 +10,15 @@ class Libuser(AutotoolsPackage):
"""A user and group account administration library."""
homepage = "https://pagure.io/libuser"
- url = "https://releases.pagure.org/libuser/libuser-0.62.tar.xz"
+ url = "https://releases.pagure.org/libuser/libuser-0.62.tar.xz"
- version('0.62', sha256='a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3cace20b')
- version('0.61', sha256='0a114a52446e12781e2ffdf26f59df0d14e7809c7db5e551d3cf61c4e398751d')
- version('0.60', sha256='b1f73408ebfee79eb01a47c5879a2cdef6a00b75ee24870de7df1b816ff483eb')
+ version("0.62", sha256="a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3cace20b")
+ version("0.61", sha256="0a114a52446e12781e2ffdf26f59df0d14e7809c7db5e551d3cf61c4e398751d")
+ version("0.60", sha256="b1f73408ebfee79eb01a47c5879a2cdef6a00b75ee24870de7df1b816ff483eb")
- depends_on('glib')
- depends_on('linux-pam')
- depends_on('popt')
+ depends_on("glib")
+ depends_on("linux-pam")
+ depends_on("popt")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/libuuid/package.py b/var/spack/repos/builtin/packages/libuuid/package.py
index c955b3e8cc..9bf189df9e 100644
--- a/var/spack/repos/builtin/packages/libuuid/package.py
+++ b/var/spack/repos/builtin/packages/libuuid/package.py
@@ -12,6 +12,6 @@ class Libuuid(AutotoolsPackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/libuuid/"
sourceforge_mirror_path = "libuuid/libuuid-1.0.3.tar.gz"
- version('1.0.3', sha256='46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644')
+ version("1.0.3", sha256="46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644")
- provides('uuid')
+ provides("uuid")
diff --git a/var/spack/repos/builtin/packages/libuv-julia/package.py b/var/spack/repos/builtin/packages/libuv-julia/package.py
index d744decb20..e800853582 100644
--- a/var/spack/repos/builtin/packages/libuv-julia/package.py
+++ b/var/spack/repos/builtin/packages/libuv-julia/package.py
@@ -7,15 +7,18 @@ from spack.package import *
class LibuvJulia(AutotoolsPackage):
"""Multi-platform library with a focus on asynchronous IO"""
+
homepage = "https://libuv.org"
- url = "https://github.com/JuliaLang/libuv/archive/refs/heads/julia-uv2-1.44.1.tar.gz"
+ url = "https://github.com/JuliaLang/libuv/archive/refs/heads/julia-uv2-1.44.1.tar.gz"
# julia's libuv fork doesn't tag releases, only has release branches, so we
# fix commits.
- version('1.44.1',
- sha256='f931e7825702cbb6d07486d92e5436990cf20f91e2b56d6f759822c0f832b13e',
- url="https://github.com/JuliaLang/libuv/archive/1b2d16477fe1142adea952168d828a066e03ee4c.tar.gz")
+ version(
+ "1.44.1",
+ sha256="f931e7825702cbb6d07486d92e5436990cf20f91e2b56d6f759822c0f832b13e",
+ url="https://github.com/JuliaLang/libuv/archive/1b2d16477fe1142adea952168d828a066e03ee4c.tar.gz",
+ )
@property
def libs(self):
- return find_libraries(['libuv'], root=self.prefix, recursive=True)
+ return find_libraries(["libuv"], root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py
index 2ae02a0574..e19d4aa4b1 100644
--- a/var/spack/repos/builtin/packages/libuv/package.py
+++ b/var/spack/repos/builtin/packages/libuv/package.py
@@ -7,43 +7,47 @@ from spack.package import *
class Libuv(AutotoolsPackage):
"""Multi-platform library with a focus on asynchronous IO"""
+
homepage = "https://libuv.org"
url = "https://dist.libuv.org/dist/v1.44.1/libuv-v1.44.1-dist.tar.gz"
- version('1.44.1', sha256='b7293cefb470e17774dcf5d62c4c969636172726155b55ceef5092b7554863cc')
- version('1.44.0', sha256='6c52494401cfe8d08fb4ec245882f0bd4b1572b5a8e79d6c418b855422a1a27d')
- version('1.43.0', sha256='90d72bb7ae18de2519d0cac70eb89c319351146b90cd3f91303a492707e693a4')
- version('1.42.0', sha256='43129625155a8aed796ebe90b8d4c990a73985ec717de2b2d5d3a23cfe4deb72')
- version('1.41.1', sha256='65db0c7f2438bc8cd48865de282bf6670027f3557d6e3cb62fb65b2e350a687d')
- version('1.41.0', sha256='1184533907e1ddad9c0dcd30a5abb0fe25288c287ff7fee303fff7b9b2d6eb6e')
- version('1.40.0', sha256='61a90db95bac00adec1cc5ddc767ebbcaabc70242bd1134a7a6b1fb1d498a194')
- version('1.39.0', sha256='5c52de5bdcfb322dbe10f98feb56e45162e668ad08bc28ab4b914d4f79911697')
- version('1.38.1', sha256='0ece7d279e480fa386b066130a562ad1a622079d43d1c30731f2f66cd3f5c647')
- version('1.25.0', sha256='0e927ddc0f1c83899000a63e9286cac5958222f8fb5870a49b0c81804944a912')
- version('1.10.0', sha256='0307a0eec6caddd476f9cad39e18fdd6f22a08aa58103c4b0aead96d638be15e')
- version('1.9.0', sha256='d595b2725abcce851c76239aab038adc126c58714cfb572b2ebb2d21b3593842')
+ version("1.44.1", sha256="b7293cefb470e17774dcf5d62c4c969636172726155b55ceef5092b7554863cc")
+ version("1.44.0", sha256="6c52494401cfe8d08fb4ec245882f0bd4b1572b5a8e79d6c418b855422a1a27d")
+ version("1.43.0", sha256="90d72bb7ae18de2519d0cac70eb89c319351146b90cd3f91303a492707e693a4")
+ version("1.42.0", sha256="43129625155a8aed796ebe90b8d4c990a73985ec717de2b2d5d3a23cfe4deb72")
+ version("1.41.1", sha256="65db0c7f2438bc8cd48865de282bf6670027f3557d6e3cb62fb65b2e350a687d")
+ version("1.41.0", sha256="1184533907e1ddad9c0dcd30a5abb0fe25288c287ff7fee303fff7b9b2d6eb6e")
+ version("1.40.0", sha256="61a90db95bac00adec1cc5ddc767ebbcaabc70242bd1134a7a6b1fb1d498a194")
+ version("1.39.0", sha256="5c52de5bdcfb322dbe10f98feb56e45162e668ad08bc28ab4b914d4f79911697")
+ version("1.38.1", sha256="0ece7d279e480fa386b066130a562ad1a622079d43d1c30731f2f66cd3f5c647")
+ version("1.25.0", sha256="0e927ddc0f1c83899000a63e9286cac5958222f8fb5870a49b0c81804944a912")
+ version("1.10.0", sha256="0307a0eec6caddd476f9cad39e18fdd6f22a08aa58103c4b0aead96d638be15e")
+ version("1.9.0", sha256="d595b2725abcce851c76239aab038adc126c58714cfb572b2ebb2d21b3593842")
def url_for_version(self, version):
- if version < Version('1.44.0'):
+ if version < Version("1.44.0"):
url = "https://dist.libuv.org/dist/v{0}/libuv-v{0}.tar.gz"
else:
# From 1.44 on, the `-dist` download includes a configure script
url = "https://dist.libuv.org/dist/v{0}/libuv-v{0}-dist.tar.gz"
return url.format(version, version)
- depends_on('automake', type='build', when='@:1.43.0')
- depends_on('autoconf', type='build', when='@:1.43.0')
- depends_on('libtool', type='build', when='@:1.43.0')
- depends_on('m4', type='build', when='@:1.43.0')
+ depends_on("automake", type="build", when="@:1.43.0")
+ depends_on("autoconf", type="build", when="@:1.43.0")
+ depends_on("libtool", type="build", when="@:1.43.0")
+ depends_on("m4", type="build", when="@:1.43.0")
# Tries to build an Objective-C file with GCC's C frontend
# https://github.com/libuv/libuv/issues/2805
- conflicts('%gcc platform=darwin', when='@:1.37.9',
- msg='libuv does not compile with GCC on macOS yet, use clang. '
- 'See: https://github.com/libuv/libuv/issues/2805')
+ conflicts(
+ "%gcc platform=darwin",
+ when="@:1.37.9",
+ msg="libuv does not compile with GCC on macOS yet, use clang. "
+ "See: https://github.com/libuv/libuv/issues/2805",
+ )
- @when('@:1.43')
+ @when("@:1.43")
def autoreconf(self, spec, prefix):
# This is needed because autogen.sh generates on-the-fly
# an m4 macro needed during configuration
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
diff --git a/var/spack/repos/builtin/packages/libvdwxc/package.py b/var/spack/repos/builtin/packages/libvdwxc/package.py
index 6cc1108e6f..92ee96f58a 100644
--- a/var/spack/repos/builtin/packages/libvdwxc/package.py
+++ b/var/spack/repos/builtin/packages/libvdwxc/package.py
@@ -9,7 +9,7 @@ from spack.package import *
class Libvdwxc(AutotoolsPackage):
"""Portable C library of density functionals with van der Waals
- interactions for density functional theory"""
+ interactions for density functional theory"""
homepage = "https://libvdwxc.gitlab.io/libvdwxc/"
url = "https://launchpad.net/libvdwxc/stable/0.4.0/+download/libvdwxc-0.4.0.tar.gz"
@@ -31,9 +31,7 @@ class Libvdwxc(AutotoolsPackage):
spec = self.spec
args = [
- "--{0}-pfft".format(
- "with" if self.spec.satisfies("+pfft") else "without"
- ),
+ "--{0}-pfft".format("with" if self.spec.satisfies("+pfft") else "without"),
"MPICC=", # make sure both variables are always unset
"MPIFC=", # otherwise the configure scripts complains
]
diff --git a/var/spack/repos/builtin/packages/libverto/package.py b/var/spack/repos/builtin/packages/libverto/package.py
index e3f9659d56..3738facdcb 100644
--- a/var/spack/repos/builtin/packages/libverto/package.py
+++ b/var/spack/repos/builtin/packages/libverto/package.py
@@ -12,13 +12,13 @@ class Libverto(AutotoolsPackage):
loop to the application."""
homepage = "https://github.com/latchset/libverto/"
- url = "https://github.com/latchset/libverto/archive/0.3.1.tar.gz"
+ url = "https://github.com/latchset/libverto/archive/0.3.1.tar.gz"
- version('0.3.1', sha256='02c7e679577ae7608ed35fe740bec2ef8c58142344cef247f2797ef788d41adc')
- version('0.3.0', sha256='fad201d9d0ac1abf1283d2d78bb3a615f72cfd2a2141673589d93c0cb762b3f1')
- version('0.2.7', sha256='0ef688a8a8690c24714834cc155b067b1c5d3f3194acceb333751deebd50de01')
+ version("0.3.1", sha256="02c7e679577ae7608ed35fe740bec2ef8c58142344cef247f2797ef788d41adc")
+ version("0.3.0", sha256="fad201d9d0ac1abf1283d2d78bb3a615f72cfd2a2141673589d93c0cb762b3f1")
+ version("0.2.7", sha256="0ef688a8a8690c24714834cc155b067b1c5d3f3194acceb333751deebd50de01")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libvips/package.py b/var/spack/repos/builtin/packages/libvips/package.py
index b5cff4a6e3..5c5468f89b 100644
--- a/var/spack/repos/builtin/packages/libvips/package.py
+++ b/var/spack/repos/builtin/packages/libvips/package.py
@@ -12,35 +12,30 @@ class Libvips(AutotoolsPackage):
little memory."""
homepage = "https://libvips.github.io/libvips/"
- url = "https://github.com/libvips/libvips/releases/download/v8.9.0/vips-8.9.0.tar.gz"
- git = "https://github.com/libvips/libvips.git"
+ url = "https://github.com/libvips/libvips/releases/download/v8.9.0/vips-8.9.0.tar.gz"
+ git = "https://github.com/libvips/libvips.git"
- version('8.10.5', sha256='a4eef2f5334ab6dbf133cd3c6d6394d5bdb3e76d5ea4d578b02e1bc3d9e1cfd8')
- version('8.9.1', sha256='45633798877839005016c9d3494e98dee065f5cb9e20f4552d3b315b8e8bce91')
- version('8.9.0', sha256='97334a5e70aff343d2587f23cb8068fc846a58cd937c89a446142ccf00ea0349')
+ version("8.10.5", sha256="a4eef2f5334ab6dbf133cd3c6d6394d5bdb3e76d5ea4d578b02e1bc3d9e1cfd8")
+ version("8.9.1", sha256="45633798877839005016c9d3494e98dee065f5cb9e20f4552d3b315b8e8bce91")
+ version("8.9.0", sha256="97334a5e70aff343d2587f23cb8068fc846a58cd937c89a446142ccf00ea0349")
- variant('fftw', default=True,
- description='Uses FFTW3 for fourier transforms.')
+ variant("fftw", default=True, description="Uses FFTW3 for fourier transforms.")
- variant('jpeg', default=False,
- description='Enable JPEG support')
+ variant("jpeg", default=False, description="Enable JPEG support")
- variant('tiff', default=False,
- description='Enable TIFF support')
+ variant("tiff", default=False, description="Enable TIFF support")
- variant('png', default=False,
- description='Enable pngfile support')
+ variant("png", default=False, description="Enable pngfile support")
- variant('poppler', default=False,
- description='Enable PDF rendering via poppler')
+ variant("poppler", default=False, description="Enable PDF rendering via poppler")
# TODO: Add more variants!
- depends_on('glib')
- depends_on('expat')
+ depends_on("glib")
+ depends_on("expat")
- depends_on('fftw', when='+fftw')
- depends_on('libjpeg', when='+jpeg')
- depends_on('libtiff', when='+tiff')
- depends_on('libpng', when='+png')
- depends_on('poppler', when='+poppler')
+ depends_on("fftw", when="+fftw")
+ depends_on("libjpeg", when="+jpeg")
+ depends_on("libtiff", when="+tiff")
+ depends_on("libpng", when="+png")
+ depends_on("poppler", when="+poppler")
diff --git a/var/spack/repos/builtin/packages/libvorbis/package.py b/var/spack/repos/builtin/packages/libvorbis/package.py
index 14e26d9472..12032fb7f8 100644
--- a/var/spack/repos/builtin/packages/libvorbis/package.py
+++ b/var/spack/repos/builtin/packages/libvorbis/package.py
@@ -13,14 +13,14 @@ class Libvorbis(AutotoolsPackage):
bitrates from 16 to 128 kbps/channel."""
homepage = "https://xiph.org/vorbis/"
- url = "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz"
+ url = "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz"
- version('1.3.7', sha256='0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab')
- version('1.3.5', sha256='6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce')
+ version("1.3.7", sha256="0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab")
+ version("1.3.5", sha256="6efbcecdd3e5dfbf090341b485da9d176eb250d893e3eb378c428a2db38301ce")
- depends_on('libogg')
+ depends_on("libogg")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# `make check` crashes when run in parallel
parallel = False
diff --git a/var/spack/repos/builtin/packages/libvori/package.py b/var/spack/repos/builtin/packages/libvori/package.py
index fbdb8d2653..99e68f465f 100644
--- a/var/spack/repos/builtin/packages/libvori/package.py
+++ b/var/spack/repos/builtin/packages/libvori/package.py
@@ -10,11 +10,11 @@ class Libvori(CMakePackage):
"""Support for Voronoi Integration and lossless BQB compression"""
homepage = "https://brehm-research.de/voronoi.php"
- url = "https://www.cp2k.org/static/downloads/libvori-201217.tar.gz"
+ url = "https://www.cp2k.org/static/downloads/libvori-201217.tar.gz"
- maintainers = ['dev-zero']
+ maintainers = ["dev-zero"]
- version('210412', sha256='331886aea9d093d8c44b95a07fab13d47f101b1f94a0640d7d670eb722bf90ac')
- version('201229', sha256='da0afb292c94f8de2aaebfd0b692d15ffd86083cb8a48478b07ca93823decc06')
- version('201224', sha256='16f6c49eaa17ea23868925dbaae2eca71bdacbe50418c97d6c55e05728038f31')
- version('201217', sha256='6ad456ed6ca5d28cadcc0d90eabe8fff5caa77b99f12764323de5e3ae21cddf5')
+ version("210412", sha256="331886aea9d093d8c44b95a07fab13d47f101b1f94a0640d7d670eb722bf90ac")
+ version("201229", sha256="da0afb292c94f8de2aaebfd0b692d15ffd86083cb8a48478b07ca93823decc06")
+ version("201224", sha256="16f6c49eaa17ea23868925dbaae2eca71bdacbe50418c97d6c55e05728038f31")
+ version("201217", sha256="6ad456ed6ca5d28cadcc0d90eabe8fff5caa77b99f12764323de5e3ae21cddf5")
diff --git a/var/spack/repos/builtin/packages/libvpx/package.py b/var/spack/repos/builtin/packages/libvpx/package.py
index 9c12a315fc..145f7738aa 100644
--- a/var/spack/repos/builtin/packages/libvpx/package.py
+++ b/var/spack/repos/builtin/packages/libvpx/package.py
@@ -15,17 +15,16 @@ class Libvpx(AutotoolsPackage):
"""
homepage = "https://chromium.googlesource.com/webm/libvpx"
- url = "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz"
+ url = "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz"
- version('1.10.0', sha256='85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a')
+ version("1.10.0", sha256="85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a")
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
- depends_on('yasm')
+ depends_on("yasm")
def configure_args(self):
extra_args = []
if "+pic" in self.spec:
- extra_args.append('--enable-pic')
+ extra_args.append("--enable-pic")
return extra_args
diff --git a/var/spack/repos/builtin/packages/libvterm/package.py b/var/spack/repos/builtin/packages/libvterm/package.py
index e4ebc448c6..390f430826 100644
--- a/var/spack/repos/builtin/packages/libvterm/package.py
+++ b/var/spack/repos/builtin/packages/libvterm/package.py
@@ -9,14 +9,19 @@ from spack.package import *
class Libvterm(Package):
"""An abstract library implementation of a terminal emulator"""
+
homepage = "http://www.leonerd.org.uk/code/libvterm/"
- url = "http://www.leonerd.org.uk/code/libvterm/libvterm-0.1.3.tar.gz"
+ url = "http://www.leonerd.org.uk/code/libvterm/libvterm-0.1.3.tar.gz"
- version('0.1.4', sha256='bc70349e95559c667672fc8c55b9527d9db9ada0fb80a3beda533418d782d3dd')
- version('0.1.3', sha256='e41724466a4658e0f095e8fc5aeae26026c0726dce98ee71d6920d06f7d78e2b')
- version('0.0.0', sha256='6344eca01c02e2270348b79e033c1e0957028dbcd76bc784e8106bea9ec3029d', url='http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr726.tar.gz')
+ version("0.1.4", sha256="bc70349e95559c667672fc8c55b9527d9db9ada0fb80a3beda533418d782d3dd")
+ version("0.1.3", sha256="e41724466a4658e0f095e8fc5aeae26026c0726dce98ee71d6920d06f7d78e2b")
+ version(
+ "0.0.0",
+ sha256="6344eca01c02e2270348b79e033c1e0957028dbcd76bc784e8106bea9ec3029d",
+ url="http://www.leonerd.org.uk/code/libvterm/libvterm-0+bzr726.tar.gz",
+ )
- depends_on('libtool', type='build')
+ depends_on("libtool", type="build")
def install(self, spec, prefix):
make()
diff --git a/var/spack/repos/builtin/packages/libwebp/package.py b/var/spack/repos/builtin/packages/libwebp/package.py
index 2d15379295..7a5e50714d 100644
--- a/var/spack/repos/builtin/packages/libwebp/package.py
+++ b/var/spack/repos/builtin/packages/libwebp/package.py
@@ -12,45 +12,45 @@ class Libwebp(AutotoolsPackage):
developers can create smaller, richer images that make the web faster."""
homepage = "https://developers.google.com/speed/webp/"
- url = "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz"
-
- version('1.2.2', sha256='7656532f837af5f4cec3ff6bafe552c044dc39bf453587bd5b77450802f4aee6')
- version('1.2.0', sha256='2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c')
- version('1.0.3', sha256='e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f')
-
- variant('libwebpmux', default=False, description='Build libwebpmux')
- variant('libwebpdemux', default=False, description='Build libwebpdemux')
- variant('libwebpdecoder', default=False, description='Build libwebpdecoder')
- variant('libwebpextras', default=False, description='Build libwebpextras')
- variant('gif', default=False, description='GIF support')
- variant('jpeg', default=False, description='JPEG support')
- variant('png', default=False, description='PNG support')
- variant('tiff', default=False, description='TIFF support')
-
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('giflib', when='+gif')
- depends_on('jpeg', when='+jpeg')
- depends_on('libpng', when='+png')
- depends_on('libtiff', when='+tiff')
+ url = "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3.tar.gz"
+
+ version("1.2.2", sha256="7656532f837af5f4cec3ff6bafe552c044dc39bf453587bd5b77450802f4aee6")
+ version("1.2.0", sha256="2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c")
+ version("1.0.3", sha256="e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f")
+
+ variant("libwebpmux", default=False, description="Build libwebpmux")
+ variant("libwebpdemux", default=False, description="Build libwebpdemux")
+ variant("libwebpdecoder", default=False, description="Build libwebpdecoder")
+ variant("libwebpextras", default=False, description="Build libwebpextras")
+ variant("gif", default=False, description="GIF support")
+ variant("jpeg", default=False, description="JPEG support")
+ variant("png", default=False, description="PNG support")
+ variant("tiff", default=False, description="TIFF support")
+
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("giflib", when="+gif")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libpng", when="+png")
+ depends_on("libtiff", when="+tiff")
def configure_args(self):
# TODO: add variants and dependencies for these
args = [
- '--disable-gl',
- '--disable-sdl',
- '--disable-wic',
+ "--disable-gl",
+ "--disable-sdl",
+ "--disable-wic",
]
- args += self.enable_or_disable('gif')
- args += self.enable_or_disable('jpeg')
- args += self.enable_or_disable('png')
- args += self.enable_or_disable('tiff')
- args += self.enable_or_disable('libwebpmux')
- args += self.enable_or_disable('libwebpdemux')
- args += self.enable_or_disable('libwebpdecoder')
- args += self.enable_or_disable('libwebpextras')
+ args += self.enable_or_disable("gif")
+ args += self.enable_or_disable("jpeg")
+ args += self.enable_or_disable("png")
+ args += self.enable_or_disable("tiff")
+ args += self.enable_or_disable("libwebpmux")
+ args += self.enable_or_disable("libwebpdemux")
+ args += self.enable_or_disable("libwebpdecoder")
+ args += self.enable_or_disable("libwebpextras")
return args
diff --git a/var/spack/repos/builtin/packages/libwebsockets/package.py b/var/spack/repos/builtin/packages/libwebsockets/package.py
index 97e468983e..38201b2cd5 100644
--- a/var/spack/repos/builtin/packages/libwebsockets/package.py
+++ b/var/spack/repos/builtin/packages/libwebsockets/package.py
@@ -10,14 +10,14 @@ class Libwebsockets(CMakePackage):
"""C library for lightweight websocket clients and servers."""
homepage = "https://github.com/warmcat/libwebsockets"
- url = "https://github.com/warmcat/libwebsockets/archive/v2.1.0.tar.gz"
- maintainers = ['ax3l']
+ url = "https://github.com/warmcat/libwebsockets/archive/v2.1.0.tar.gz"
+ maintainers = ["ax3l"]
- version('2.2.1', sha256='e7f9eaef258e003c9ada0803a9a5636757a5bc0a58927858834fb38a87d18ad2')
- version('2.1.1', sha256='96183cbdfcd6e6a3d9465e854a924b7bfde6c8c6d3384d6159ad797c2e823b4d')
- version('2.1.0', sha256='bcc96aaa609daae4d3f7ab1ee480126709ef4f6a8bf9c85de40aae48e38cce66')
- version('2.0.3', sha256='cf0e91b564c879ab98844385c98e7c9e298cbb969dbc251a3f18a47feb94342c')
- version('1.7.9', sha256='86a5105881ea2cb206f8795483d294e9509055decf60436bcc1e746262416438')
+ version("2.2.1", sha256="e7f9eaef258e003c9ada0803a9a5636757a5bc0a58927858834fb38a87d18ad2")
+ version("2.1.1", sha256="96183cbdfcd6e6a3d9465e854a924b7bfde6c8c6d3384d6159ad797c2e823b4d")
+ version("2.1.0", sha256="bcc96aaa609daae4d3f7ab1ee480126709ef4f6a8bf9c85de40aae48e38cce66")
+ version("2.0.3", sha256="cf0e91b564c879ab98844385c98e7c9e298cbb969dbc251a3f18a47feb94342c")
+ version("1.7.9", sha256="86a5105881ea2cb206f8795483d294e9509055decf60436bcc1e746262416438")
- depends_on('zlib')
- depends_on('openssl')
+ depends_on("zlib")
+ depends_on("openssl")
diff --git a/var/spack/repos/builtin/packages/libwhich/package.py b/var/spack/repos/builtin/packages/libwhich/package.py
index e6d3ad2f26..e47789b50a 100644
--- a/var/spack/repos/builtin/packages/libwhich/package.py
+++ b/var/spack/repos/builtin/packages/libwhich/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Libwhich(Package):
"""
- Libwhich: the functionality of which for libraries.
+ Libwhich: the functionality of which for libraries.
"""
homepage = "https://github.com/vtjnash/libwhich"
- url = "https://github.com/vtjnash/libwhich/archive/refs/tags/v1.1.0.tar.gz"
- git = "https://github.com/vtjnash/libwhich.git"
+ url = "https://github.com/vtjnash/libwhich/archive/refs/tags/v1.1.0.tar.gz"
+ git = "https://github.com/vtjnash/libwhich.git"
- maintainers = ['dmageeLANL']
+ maintainers = ["dmageeLANL"]
- version('master', branch='master')
- version('1.1.0', sha256='f1c30bf7396859ad437a5db74e9e328fb4b4e1379457121e28a3524b1e3a0b3f')
- version('1.0.0', sha256='61d5d643d4cbd4b340b9b48922e1b4fd2a35729b7cfdcc7283aab82a6f742a6c')
+ version("master", branch="master")
+ version("1.1.0", sha256="f1c30bf7396859ad437a5db74e9e328fb4b4e1379457121e28a3524b1e3a0b3f")
+ version("1.0.0", sha256="61d5d643d4cbd4b340b9b48922e1b4fd2a35729b7cfdcc7283aab82a6f742a6c")
def install(self, spec, prefix):
make()
mkdir(prefix.bin)
- install('libwhich', prefix.bin)
+ install("libwhich", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/libwindowswm/package.py b/var/spack/repos/builtin/packages/libwindowswm/package.py
index 55a373957f..c4e6b93053 100644
--- a/var/spack/repos/builtin/packages/libwindowswm/package.py
+++ b/var/spack/repos/builtin/packages/libwindowswm/package.py
@@ -17,12 +17,12 @@ class Libwindowswm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libWindowsWM"
xorg_mirror_path = "lib/libWindowsWM-1.0.1.tar.gz"
- version('1.0.1', sha256='94f9c0add3bad38ebd84bc43d854207c4deaaa74fb15339276e022546124b98a')
+ version("1.0.1", sha256="94f9c0add3bad38ebd84bc43d854207c4deaaa74fb15339276e022546124b98a")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('windowswmproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("windowswmproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libx11/package.py b/var/spack/repos/builtin/packages/libx11/package.py
index 9ef0f1f014..8cbdc660d8 100644
--- a/var/spack/repos/builtin/packages/libx11/package.py
+++ b/var/spack/repos/builtin/packages/libx11/package.py
@@ -12,43 +12,44 @@ class Libx11(AutotoolsPackage, XorgPackage):
homepage = "https://www.x.org/"
xorg_mirror_path = "lib/libX11-1.6.7.tar.gz"
- version('1.7.0', sha256='c48ec61785ec68fc6a9a6aca0a9578393414fe2562e3cc9cca30234345c7b6ac')
- version('1.6.7', sha256='f62ab88c2a87b55e1dc338726a55bb6ed8048084fe6a3294a7ae324ca45159d1')
- version('1.6.5', sha256='3abce972ba62620611fab5b404dafb852da3da54e7c287831c30863011d28fb3')
- version('1.6.3', sha256='0b03b9d22f4c9e59b4ba498f294e297f013cae27050dfa0f3496640200db5376')
-
- depends_on('libxcb@1.1.92:')
-
- depends_on('xproto@7.0.25:', when='@1.7.0:')
- depends_on('xproto@7.0.17:')
- depends_on('xextproto')
- depends_on('xtrans')
- depends_on('kbproto')
- depends_on('inputproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
- depends_on('perl', type='build')
+ version("1.7.0", sha256="c48ec61785ec68fc6a9a6aca0a9578393414fe2562e3cc9cca30234345c7b6ac")
+ version("1.6.7", sha256="f62ab88c2a87b55e1dc338726a55bb6ed8048084fe6a3294a7ae324ca45159d1")
+ version("1.6.5", sha256="3abce972ba62620611fab5b404dafb852da3da54e7c287831c30863011d28fb3")
+ version("1.6.3", sha256="0b03b9d22f4c9e59b4ba498f294e297f013cae27050dfa0f3496640200db5376")
+
+ depends_on("libxcb@1.1.92:")
+
+ depends_on("xproto@7.0.25:", when="@1.7.0:")
+ depends_on("xproto@7.0.17:")
+ depends_on("xextproto")
+ depends_on("xtrans")
+ depends_on("kbproto")
+ depends_on("inputproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
+ depends_on("perl", type="build")
def configure_args(self):
config_args = []
# -Werror flags are not properly interpreted by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- config_args.append('--disable-selective-werror')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ config_args.append("--disable-selective-werror")
return config_args
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
+ env.prepend_path("XLOCALEDIR", self.prefix.share.X11.locale)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XLOCALEDIR', self.prefix.share.X11.locale)
+ env.prepend_path("XLOCALEDIR", self.prefix.share.X11.locale)
@property
def libs(self):
- for dir in ['lib64', 'lib']:
- libs = find_libraries('libX11', join_path(self.prefix, dir),
- shared=True, recursive=False)
+ for dir in ["lib64", "lib"]:
+ libs = find_libraries(
+ "libX11", join_path(self.prefix, dir), shared=True, recursive=False
+ )
if libs:
return libs
return None
diff --git a/var/spack/repos/builtin/packages/libxau/package.py b/var/spack/repos/builtin/packages/libxau/package.py
index a31cfa66d0..44d5cfe427 100644
--- a/var/spack/repos/builtin/packages/libxau/package.py
+++ b/var/spack/repos/builtin/packages/libxau/package.py
@@ -14,8 +14,8 @@ class Libxau(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXau/"
xorg_mirror_path = "lib/libXau-1.0.8.tar.gz"
- version('1.0.8', sha256='c343b4ef66d66a6b3e0e27aa46b37ad5cab0f11a5c565eafb4a1c7590bc71d7b')
+ version("1.0.8", sha256="c343b4ef66d66a6b3e0e27aa46b37ad5cab0f11a5c565eafb4a1c7590bc71d7b")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxaw/package.py b/var/spack/repos/builtin/packages/libxaw/package.py
index 72e5886e6c..3d2fc31744 100644
--- a/var/spack/repos/builtin/packages/libxaw/package.py
+++ b/var/spack/repos/builtin/packages/libxaw/package.py
@@ -13,16 +13,16 @@ class Libxaw(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw"
xorg_mirror_path = "lib/libXaw-1.0.13.tar.gz"
- version('1.0.13', sha256='7e74ac3e5f67def549722ff0333d6e6276b8becd9d89615cda011e71238ab694')
- version('1.0.12', sha256='e32abc68d759ffb643f842329838f8b6c157e31023cc91059aabf730e7222ad2')
+ version("1.0.13", sha256="7e74ac3e5f67def549722ff0333d6e6276b8becd9d89615cda011e71238ab694")
+ version("1.0.12", sha256="e32abc68d759ffb643f842329838f8b6c157e31023cc91059aabf730e7222ad2")
- depends_on('libx11')
- depends_on('libxext')
- depends_on('libxt')
- depends_on('libxmu')
- depends_on('libxpm')
+ depends_on("libx11")
+ depends_on("libxext")
+ depends_on("libxt")
+ depends_on("libxmu")
+ depends_on("libxpm")
- depends_on('xproto')
- depends_on('xextproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xextproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxaw3d/package.py b/var/spack/repos/builtin/packages/libxaw3d/package.py
index 7abecea392..1e8385cb70 100644
--- a/var/spack/repos/builtin/packages/libxaw3d/package.py
+++ b/var/spack/repos/builtin/packages/libxaw3d/package.py
@@ -13,13 +13,13 @@ class Libxaw3d(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw3d"
xorg_mirror_path = "lib/libXaw3d-1.6.2.tar.gz"
- version('1.6.2', sha256='847dab01aeac1448916e3b4edb4425594b3ac2896562d9c7141aa4ac6c898ba9')
+ version("1.6.2", sha256="847dab01aeac1448916e3b4edb4425594b3ac2896562d9c7141aa4ac6c898ba9")
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxmu')
- depends_on('libxext')
- depends_on('libxpm')
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxmu")
+ depends_on("libxext")
+ depends_on("libxpm")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py
index 81eaba8cf1..a1dbc3ad6c 100644
--- a/var/spack/repos/builtin/packages/libxc/package.py
+++ b/var/spack/repos/builtin/packages/libxc/package.py
@@ -11,34 +11,34 @@ class Libxc(AutotoolsPackage, CudaPackage):
density-functional theory."""
homepage = "https://tddft.org/programs/libxc/"
- url = "https://www.tddft.org/programs/libxc/down.php?file=2.2.2/libxc-2.2.2.tar.gz"
+ url = "https://www.tddft.org/programs/libxc/down.php?file=2.2.2/libxc-2.2.2.tar.gz"
- version('5.2.3', sha256='7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2')
- version('5.1.7', sha256='1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34')
- version('5.1.5', sha256='02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9')
- version('5.1.3', sha256='0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd')
- version('5.1.2', sha256='180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a')
- version('5.1.0', sha256='f67b6e518372871d9eed6e5dba77c3ab5ea030c229ba7a7d44bcf51f3258373f')
- version('5.0.0', sha256='1cdc57930f7b57da4eb9b2c55a50ba1c2c385936ddaf5582fee830994461a892')
- version('4.3.4', sha256='a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337')
- version('4.3.2', sha256='bc159aea2537521998c7fb1199789e1be71e04c4b7758d58282622e347603a6f')
- version('4.2.3', sha256='02e49e9ba7d21d18df17e9e57eae861e6ce05e65e966e1e832475aa09e344256')
- version('3.0.0', sha256='5542b99042c09b2925f2e3700d769cda4fb411b476d446c833ea28c6bfa8792a')
- version('2.2.2', sha256='6ca1d0bb5fdc341d59960707bc67f23ad54de8a6018e19e02eee2b16ea7cc642')
- version('2.2.1', sha256='ade61c1fa4ed238edd56408fd8ee6c2e305a3d5753e160017e2a71817c98fd00')
+ version("5.2.3", sha256="7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2")
+ version("5.1.7", sha256="1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34")
+ version("5.1.5", sha256="02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9")
+ version("5.1.3", sha256="0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd")
+ version("5.1.2", sha256="180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a")
+ version("5.1.0", sha256="f67b6e518372871d9eed6e5dba77c3ab5ea030c229ba7a7d44bcf51f3258373f")
+ version("5.0.0", sha256="1cdc57930f7b57da4eb9b2c55a50ba1c2c385936ddaf5582fee830994461a892")
+ version("4.3.4", sha256="a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337")
+ version("4.3.2", sha256="bc159aea2537521998c7fb1199789e1be71e04c4b7758d58282622e347603a6f")
+ version("4.2.3", sha256="02e49e9ba7d21d18df17e9e57eae861e6ce05e65e966e1e832475aa09e344256")
+ version("3.0.0", sha256="5542b99042c09b2925f2e3700d769cda4fb411b476d446c833ea28c6bfa8792a")
+ version("2.2.2", sha256="6ca1d0bb5fdc341d59960707bc67f23ad54de8a6018e19e02eee2b16ea7cc642")
+ version("2.2.1", sha256="ade61c1fa4ed238edd56408fd8ee6c2e305a3d5753e160017e2a71817c98fd00")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
- conflicts('+shared +cuda', msg='Only ~shared supported with +cuda')
- conflicts('+cuda', when='@:4', msg='CUDA support only in libxc 5.0.0 and above')
+ conflicts("+shared +cuda", msg="Only ~shared supported with +cuda")
+ conflicts("+cuda", when="@:4", msg="CUDA support only in libxc 5.0.0 and above")
- depends_on('perl', type='build')
+ depends_on("perl", type="build")
- patch('0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch', when='@5.0.0')
- patch('0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch', when='@5.0.0')
+ patch("0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch", when="@5.0.0")
+ patch("0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch", when="@5.0.0")
- patch('nvhpc-configure.patch', when='%nvhpc')
- patch('nvhpc-libtool.patch', when='@develop %nvhpc')
+ patch("nvhpc-configure.patch", when="%nvhpc")
+ patch("nvhpc-libtool.patch", when="@develop %nvhpc")
@property
def libs(self):
@@ -51,25 +51,22 @@ class Libxc(AutotoolsPackage, CudaPackage):
"""
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libxc']
+ libraries = ["libxc"]
# Libxc installs both shared and static libraries.
# If a client ask for static explicitly then return
# the static libraries
- shared = (self.spec.variants['shared'].value and
- 'static' not in query_parameters)
+ shared = self.spec.variants["shared"].value and "static" not in query_parameters
# Libxc has a fortran90 interface: give clients the
# possibility to query for it
- if 'fortran' in query_parameters:
- if self.version < Version('4.0.0'):
- libraries = ['libxcf90'] + libraries
+ if "fortran" in query_parameters:
+ if self.version < Version("4.0.0"):
+ libraries = ["libxcf90"] + libraries
else: # starting from version 4 there is also a stable f03 iface
- libraries = ['libxcf90', 'libxcf03'] + libraries
+ libraries = ["libxcf90", "libxcf03"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
def setup_build_environment(self, env):
# microarchitecture-specific optimization flags should be controlled
@@ -77,46 +74,48 @@ class Libxc(AutotoolsPackage, CudaPackage):
# see https://github.com/spack/spack/issues/17794
# libxc on the other hand only sets the generic -O2 when it detects GCC
- optflags = '-O2'
- env.append_flags('CFLAGS', optflags)
- env.append_flags('FCFLAGS', optflags)
+ optflags = "-O2"
+ env.append_flags("CFLAGS", optflags)
+ env.append_flags("FCFLAGS", optflags)
- if '%intel' in self.spec:
- env.append_flags('CFLAGS', '-std=c99')
- if 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')
+ if "%aocc" in self.spec:
+ env.append_flags("FCFLAGS", "-fPIC")
- if '+cuda' in self.spec:
- nvcc = self.spec['cuda'].prefix.bin.nvcc
- env.set('CCLD', '{0} -ccbin {1}'.format(nvcc, spack_cc))
- env.set('CC', '{0} -x cu -ccbin {1}'.format(nvcc, spack_cc))
+ if "+cuda" in self.spec:
+ nvcc = self.spec["cuda"].prefix.bin.nvcc
+ env.set("CCLD", "{0} -ccbin {1}".format(nvcc, spack_cc))
+ env.set("CC", "{0} -x cu -ccbin {1}".format(nvcc, spack_cc))
- cuda_arch = self.spec.variants['cuda_arch'].value[0]
+ cuda_arch = self.spec.variants["cuda_arch"].value[0]
- if cuda_arch != 'none':
- env.append_flags('CFLAGS', '-arch=sm_{0}'.format(cuda_arch))
+ if cuda_arch != "none":
+ env.append_flags("CFLAGS", "-arch=sm_{0}".format(cuda_arch))
def configure_args(self):
spec = self.spec
args = [
- '--enable-shared' if '+shared' in spec else '--disable-shared',
- '--enable-cuda' if '+cuda' in spec else '--disable-cuda'
+ "--enable-shared" if "+shared" in spec else "--disable-shared",
+ "--enable-cuda" if "+cuda" in spec else "--disable-cuda",
]
return args
- @run_after('configure')
+ @run_after("configure")
def patch_libtool(self):
"""AOCC support for LIBXC"""
- if '%aocc' in self.spec:
+ if "%aocc" in self.spec:
filter_file(
- r'\$wl-soname \$wl\$soname',
- r'-fuse-ld=ld -Wl,-soname,\$soname',
- 'libtool', string=True)
+ r"\$wl-soname \$wl\$soname",
+ r"-fuse-ld=ld -Wl,-soname,\$soname",
+ "libtool",
+ string=True,
+ )
def check(self):
# libxc provides a testsuite, but many tests fail
diff --git a/var/spack/repos/builtin/packages/libxcb/package.py b/var/spack/repos/builtin/packages/libxcb/package.py
index f36102ad74..8250e24fa6 100644
--- a/var/spack/repos/builtin/packages/libxcb/package.py
+++ b/var/spack/repos/builtin/packages/libxcb/package.py
@@ -13,24 +13,24 @@ class Libxcb(AutotoolsPackage):
extensibility."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.14.tar.xz"
+ url = "https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.14.tar.xz"
- version('1.14', sha256='a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34')
- version('1.13', sha256='0bb3cfd46dbd90066bf4d7de3cad73ec1024c7325a4a0cbf5f4a0d4fa91155fb')
- version('1.12', sha256='092f147149d8a6410647a848378aaae749304d5b73e028ccb8306aa8a9e26f06')
- version('1.11.1', sha256='660312d5e64d0a5800262488042c1707a0261fa01a759bad265b1b75dd4844dd')
- version('1.11', sha256='4b351e1dc95eb0a1c25fa63611a6f4cf033cb63e20997c4874c80bbd1876d0b4')
+ version("1.14", sha256="a55ed6db98d43469801262d81dc2572ed124edc3db31059d4e9916eb9f844c34")
+ version("1.13", sha256="0bb3cfd46dbd90066bf4d7de3cad73ec1024c7325a4a0cbf5f4a0d4fa91155fb")
+ version("1.12", sha256="092f147149d8a6410647a848378aaae749304d5b73e028ccb8306aa8a9e26f06")
+ version("1.11.1", sha256="660312d5e64d0a5800262488042c1707a0261fa01a759bad265b1b75dd4844dd")
+ version("1.11", sha256="4b351e1dc95eb0a1c25fa63611a6f4cf033cb63e20997c4874c80bbd1876d0b4")
- depends_on('libpthread-stubs')
- depends_on('libxau@0.99.2:')
- depends_on('libxdmcp')
+ depends_on("libpthread-stubs")
+ depends_on("libxau@0.99.2:")
+ depends_on("libxdmcp")
# libxcb 1.X requires xcb-proto >= 1.X
- depends_on('xcb-proto')
- depends_on('xcb-proto@1.14:', when='@1.14:1.14.999')
- depends_on('xcb-proto@1.13:', when='@1.13:1.13.999')
- depends_on('xcb-proto@1.12:', when='@1.12:1.12.999')
- depends_on('xcb-proto@1.11:', when='@1.11:1.11.999')
+ depends_on("xcb-proto")
+ depends_on("xcb-proto@1.14:", when="@1.14:1.14.999")
+ depends_on("xcb-proto@1.13:", when="@1.13:1.13.999")
+ depends_on("xcb-proto@1.12:", when="@1.12:1.12.999")
+ depends_on("xcb-proto@1.11:", when="@1.11:1.11.999")
# TODO: uncomment once build deps can be resolved separately
# See #7646, #4145, #4063, and #2548 for details
@@ -38,14 +38,14 @@ class Libxcb(AutotoolsPackage):
# depends_on('python', type='build')
# depends_on('python@2:2.8', when='@:1.12', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def url_for_version(self, version):
- if version >= Version('1.14'):
- url = 'https://xorg.freedesktop.org/archive/individual/lib/libxcb-{0}.tar.xz'
+ if version >= Version("1.14"):
+ url = "https://xorg.freedesktop.org/archive/individual/lib/libxcb-{0}.tar.xz"
else:
- url = 'https://xcb.freedesktop.org/dist/libxcb-{0}.tar.gz'
+ url = "https://xcb.freedesktop.org/dist/libxcb-{0}.tar.gz"
return url.format(version)
@@ -53,13 +53,10 @@ class Libxcb(AutotoolsPackage):
config_args = []
# -Werror flags are not properly interpreted by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- config_args.append('--disable-selective-werror')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ config_args.append("--disable-selective-werror")
return config_args
def patch(self):
- filter_file(
- 'typedef struct xcb_auth_info_t {',
- 'typedef struct {',
- 'src/xcb.h')
+ filter_file("typedef struct xcb_auth_info_t {", "typedef struct {", "src/xcb.h")
diff --git a/var/spack/repos/builtin/packages/libxcomposite/package.py b/var/spack/repos/builtin/packages/libxcomposite/package.py
index c816e93572..56668145f4 100644
--- a/var/spack/repos/builtin/packages/libxcomposite/package.py
+++ b/var/spack/repos/builtin/packages/libxcomposite/package.py
@@ -13,11 +13,11 @@ class Libxcomposite(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXcomposite"
xorg_mirror_path = "lib/libXcomposite-0.4.4.tar.gz"
- version('0.4.4', sha256='83c04649819c6f52cda1b0ce8bcdcc48ad8618428ad803fb07f20b802f1bdad1')
+ version("0.4.4", sha256="83c04649819c6f52cda1b0ce8bcdcc48ad8618428ad803fb07f20b802f1bdad1")
- depends_on('libx11')
- depends_on('libxfixes')
- depends_on('fixesproto@0.4:')
- depends_on('compositeproto@0.4:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("libx11")
+ depends_on("libxfixes")
+ depends_on("fixesproto@0.4:")
+ depends_on("compositeproto@0.4:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxcrypt/package.py b/var/spack/repos/builtin/packages/libxcrypt/package.py
index 8894c97f93..6d2758dd5f 100644
--- a/var/spack/repos/builtin/packages/libxcrypt/package.py
+++ b/var/spack/repos/builtin/packages/libxcrypt/package.py
@@ -10,13 +10,13 @@ class Libxcrypt(AutotoolsPackage):
"""libxcrypt is a modern library for one-way hashing of passwords."""
homepage = "https://github.com/besser82/libxcrypt"
- url = "https://github.com/besser82/libxcrypt/archive/v4.4.17.tar.gz"
+ url = "https://github.com/besser82/libxcrypt/archive/v4.4.17.tar.gz"
- version('4.4.17', sha256='7665168d0409574a03f7b484682e68334764c29c21ca5df438955a381384ca07')
- version('4.4.16', sha256='a98f65b8baffa2b5ba68ee53c10c0a328166ef4116bce3baece190c8ce01f375')
- version('4.4.15', sha256='8bcdef03bc65f9dbda742e56820435b6f13eea59fb903765141c6467f4655e5a')
+ version("4.4.17", sha256="7665168d0409574a03f7b484682e68334764c29c21ca5df438955a381384ca07")
+ version("4.4.16", sha256="a98f65b8baffa2b5ba68ee53c10c0a328166ef4116bce3baece190c8ce01f375")
+ version("4.4.15", sha256="8bcdef03bc65f9dbda742e56820435b6f13eea59fb903765141c6467f4655e5a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/libxcursor/package.py b/var/spack/repos/builtin/packages/libxcursor/package.py
index 3a87c02893..e8784ea93d 100644
--- a/var/spack/repos/builtin/packages/libxcursor/package.py
+++ b/var/spack/repos/builtin/packages/libxcursor/package.py
@@ -12,12 +12,12 @@ class Libxcursor(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXcursor"
xorg_mirror_path = "lib/libXcursor-1.1.14.tar.gz"
- version('1.1.14', sha256='be0954faf274969ffa6d95b9606b9c0cfee28c13b6fc014f15606a0c8b05c17b')
+ version("1.1.14", sha256="be0954faf274969ffa6d95b9606b9c0cfee28c13b6fc014f15606a0c8b05c17b")
- depends_on('libxrender@0.8.2:')
- depends_on('libxfixes')
- depends_on('libx11')
+ depends_on("libxrender@0.8.2:")
+ depends_on("libxfixes")
+ depends_on("libx11")
- depends_on('fixesproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("fixesproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxdamage/package.py b/var/spack/repos/builtin/packages/libxdamage/package.py
index 8e46370608..b8d8ffb7b9 100644
--- a/var/spack/repos/builtin/packages/libxdamage/package.py
+++ b/var/spack/repos/builtin/packages/libxdamage/package.py
@@ -12,13 +12,13 @@ class Libxdamage(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXdamage"
xorg_mirror_path = "lib/libXdamage-1.1.4.tar.gz"
- version('1.1.4', sha256='4bb3e9d917f5f593df2277d452926ee6ad96de7b7cd1017cbcf4579fe5d3442b')
+ version("1.1.4", sha256="4bb3e9d917f5f593df2277d452926ee6ad96de7b7cd1017cbcf4579fe5d3442b")
- depends_on('libxfixes')
- depends_on('libx11')
+ depends_on("libxfixes")
+ depends_on("libx11")
- depends_on('damageproto@1.1:')
- depends_on('fixesproto')
- depends_on('xextproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("damageproto@1.1:")
+ depends_on("fixesproto")
+ depends_on("xextproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxdmcp/package.py b/var/spack/repos/builtin/packages/libxdmcp/package.py
index 99291f2936..cfaa783e1e 100644
--- a/var/spack/repos/builtin/packages/libxdmcp/package.py
+++ b/var/spack/repos/builtin/packages/libxdmcp/package.py
@@ -12,10 +12,10 @@ class Libxdmcp(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXdmcp"
xorg_mirror_path = "lib/libXdmcp-1.1.2.tar.gz"
- version('1.1.2', sha256='6f7c7e491a23035a26284d247779174dedc67e34e93cc3548b648ffdb6fc57c0')
+ version("1.1.2", sha256="6f7c7e491a23035a26284d247779174dedc67e34e93cc3548b648ffdb6fc57c0")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
- depends_on('libbsd', when='platform=linux')
- depends_on('libbsd', when='platform=cray')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
+ depends_on("libbsd", when="platform=linux")
+ depends_on("libbsd", when="platform=cray")
diff --git a/var/spack/repos/builtin/packages/libxevie/package.py b/var/spack/repos/builtin/packages/libxevie/package.py
index edfecba6a9..454edb5f00 100644
--- a/var/spack/repos/builtin/packages/libxevie/package.py
+++ b/var/spack/repos/builtin/packages/libxevie/package.py
@@ -12,13 +12,13 @@ class Libxevie(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXevie"
xorg_mirror_path = "lib/libXevie-1.0.3.tar.gz"
- version('1.0.3', sha256='3759bb1f7fdade13ed99bfc05c0717bc42ce3f187e7da4eef80beddf5e461258')
+ version("1.0.3", sha256="3759bb1f7fdade13ed99bfc05c0717bc42ce3f187e7da4eef80beddf5e461258")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xproto')
- depends_on('xextproto')
- depends_on('evieext')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xextproto")
+ depends_on("evieext")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxext/package.py b/var/spack/repos/builtin/packages/libxext/package.py
index 9b41f5ef84..c152bf070e 100644
--- a/var/spack/repos/builtin/packages/libxext/package.py
+++ b/var/spack/repos/builtin/packages/libxext/package.py
@@ -12,16 +12,15 @@ class Libxext(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXext"
xorg_mirror_path = "lib/libXext-1.3.3.tar.gz"
- version('1.3.3', sha256='eb0b88050491fef4716da4b06a4d92b4fc9e76f880d6310b2157df604342cfe5')
+ version("1.3.3", sha256="eb0b88050491fef4716da4b06a4d92b4fc9e76f880d6310b2157df604342cfe5")
- depends_on('libx11@1.6:')
+ depends_on("libx11@1.6:")
- depends_on('xproto@7.0.13:')
- depends_on('xextproto@7.2:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.13:")
+ depends_on("xextproto@7.2:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries('libXext', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libXext", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxfixes/package.py b/var/spack/repos/builtin/packages/libxfixes/package.py
index 462c759c17..4239291c05 100644
--- a/var/spack/repos/builtin/packages/libxfixes/package.py
+++ b/var/spack/repos/builtin/packages/libxfixes/package.py
@@ -13,12 +13,12 @@ class Libxfixes(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXfixes"
xorg_mirror_path = "lib/libXfixes-5.0.2.tar.gz"
- version('5.0.2', sha256='ad8df1ecf3324512b80ed12a9ca07556e561b14256d94216e67a68345b23c981')
+ version("5.0.2", sha256="ad8df1ecf3324512b80ed12a9ca07556e561b14256d94216e67a68345b23c981")
- depends_on('libx11@1.6:')
+ depends_on("libx11@1.6:")
- depends_on('xproto')
- depends_on('fixesproto@5.0:')
- depends_on('xextproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("fixesproto@5.0:")
+ depends_on("xextproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxfont/package.py b/var/spack/repos/builtin/packages/libxfont/package.py
index c271077e8f..59b82da7eb 100644
--- a/var/spack/repos/builtin/packages/libxfont/package.py
+++ b/var/spack/repos/builtin/packages/libxfont/package.py
@@ -17,13 +17,13 @@ class Libxfont(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont"
xorg_mirror_path = "lib/libXfont-1.5.2.tar.gz"
- version('1.5.2', sha256='a7350c75171d03d06ae0d623e42240356d6d3e1ac7dfe606639bf20f0d653c93')
+ version("1.5.2", sha256="a7350c75171d03d06ae0d623e42240356d6d3e1ac7dfe606639bf20f0d653c93")
- depends_on('libfontenc')
- depends_on('freetype')
+ depends_on("libfontenc")
+ depends_on("freetype")
- depends_on('xtrans')
- depends_on('xproto')
- depends_on('fontsproto@2.1.3:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xtrans")
+ depends_on("xproto")
+ depends_on("fontsproto@2.1.3:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxfont2/package.py b/var/spack/repos/builtin/packages/libxfont2/package.py
index 155b0621e7..3ac14b0cad 100644
--- a/var/spack/repos/builtin/packages/libxfont2/package.py
+++ b/var/spack/repos/builtin/packages/libxfont2/package.py
@@ -17,13 +17,13 @@ class Libxfont2(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont"
xorg_mirror_path = "lib/libXfont2-2.0.1.tar.gz"
- version('2.0.1', sha256='381b6b385a69343df48a082523c856aed9042fbbc8ee0a6342fb502e4321230a')
+ version("2.0.1", sha256="381b6b385a69343df48a082523c856aed9042fbbc8ee0a6342fb502e4321230a")
- depends_on('libfontenc')
- depends_on('freetype')
+ depends_on("libfontenc")
+ depends_on("freetype")
- depends_on('xtrans')
- depends_on('xproto')
- depends_on('fontsproto@2.1.3:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xtrans")
+ depends_on("xproto")
+ depends_on("fontsproto@2.1.3:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxfontcache/package.py b/var/spack/repos/builtin/packages/libxfontcache/package.py
index 4ddf0fcfde..f9dcf25430 100644
--- a/var/spack/repos/builtin/packages/libxfontcache/package.py
+++ b/var/spack/repos/builtin/packages/libxfontcache/package.py
@@ -12,12 +12,12 @@ class Libxfontcache(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXfontcache"
xorg_mirror_path = "lib/libXfontcache-1.0.5.tar.gz"
- version('1.0.5', sha256='fdba75307a0983d2566554e0e9effa7079551f1b7b46e8de642d067998619659')
+ version("1.0.5", sha256="fdba75307a0983d2566554e0e9effa7079551f1b7b46e8de642d067998619659")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('fontcacheproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("fontcacheproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxft/package.py b/var/spack/repos/builtin/packages/libxft/package.py
index ee401e1cad..f921e8fce3 100644
--- a/var/spack/repos/builtin/packages/libxft/package.py
+++ b/var/spack/repos/builtin/packages/libxft/package.py
@@ -16,12 +16,12 @@ class Libxft(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXft"
xorg_mirror_path = "lib/libXft-2.3.2.tar.gz"
- version('2.3.2', sha256='26cdddcc70b187833cbe9dc54df1864ba4c03a7175b2ca9276de9f05dce74507')
+ version("2.3.2", sha256="26cdddcc70b187833cbe9dc54df1864ba4c03a7175b2ca9276de9f05dce74507")
- depends_on('freetype@2.1.6:')
- depends_on('fontconfig@2.5.92:')
- depends_on('libx11')
- depends_on('libxrender@0.8.2:')
+ depends_on("freetype@2.1.6:")
+ depends_on("fontconfig@2.5.92:")
+ depends_on("libx11")
+ depends_on("libxrender@0.8.2:")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxi/package.py b/var/spack/repos/builtin/packages/libxi/package.py
index 4b99d6d1a8..f63e1903c8 100644
--- a/var/spack/repos/builtin/packages/libxi/package.py
+++ b/var/spack/repos/builtin/packages/libxi/package.py
@@ -12,18 +12,17 @@ class Libxi(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXi"
xorg_mirror_path = "lib/libXi-1.7.6.tar.gz"
- version('1.7.6', sha256='4e88fa7decd287e58140ea72238f8d54e4791de302938c83695fc0c9ac102b7e')
+ version("1.7.6", sha256="4e88fa7decd287e58140ea72238f8d54e4791de302938c83695fc0c9ac102b7e")
- depends_on('pkgconfig', type='build')
- depends_on('libx11@1.6:')
- depends_on('libxext@1.0.99.1:')
- depends_on('libxfixes@5:')
- depends_on('fixesproto@5.0:')
- depends_on('xproto@7.0.13:')
- depends_on('xextproto@7.0.3:')
- depends_on('inputproto@2.2.99.1:')
+ depends_on("pkgconfig", type="build")
+ depends_on("libx11@1.6:")
+ depends_on("libxext@1.0.99.1:")
+ depends_on("libxfixes@5:")
+ depends_on("fixesproto@5.0:")
+ depends_on("xproto@7.0.13:")
+ depends_on("xextproto@7.0.3:")
+ depends_on("inputproto@2.2.99.1:")
@property
def libs(self):
- return find_libraries(
- 'libXi', self.prefix, shared=True, recursive=True)
+ return find_libraries("libXi", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxinerama/package.py b/var/spack/repos/builtin/packages/libxinerama/package.py
index 9c8546e32b..68e8d27133 100644
--- a/var/spack/repos/builtin/packages/libxinerama/package.py
+++ b/var/spack/repos/builtin/packages/libxinerama/package.py
@@ -12,17 +12,16 @@ class Libxinerama(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXinerama"
xorg_mirror_path = "lib/libXinerama-1.1.3.tar.gz"
- version('1.1.3', sha256='0ba243222ae5aba4c6a3d7a394c32c8b69220a6872dbb00b7abae8753aca9a44')
+ version("1.1.3", sha256="0ba243222ae5aba4c6a3d7a394c32c8b69220a6872dbb00b7abae8753aca9a44")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('xineramaproto@1.1.99.1:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("xineramaproto@1.1.99.1:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries('libXinerama', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libXinerama", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxkbcommon/package.py b/var/spack/repos/builtin/packages/libxkbcommon/package.py
index 1c7d080dcd..b7003ab5a9 100644
--- a/var/spack/repos/builtin/packages/libxkbcommon/package.py
+++ b/var/spack/repos/builtin/packages/libxkbcommon/package.py
@@ -13,52 +13,64 @@ class Libxkbcommon(MesonPackage):
applications."""
homepage = "https://xkbcommon.org/"
- url = "https://xkbcommon.org/download/libxkbcommon-0.8.2.tar.xz"
+ url = "https://xkbcommon.org/download/libxkbcommon-0.8.2.tar.xz"
- version('1.4.0', sha256='106cec5263f9100a7e79b5f7220f889bc78e7d7ffc55d2b6fdb1efefb8024031')
- version('0.8.2', sha256='7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c', deprecated=True)
- version('0.8.0', sha256='e829265db04e0aebfb0591b6dc3377b64599558167846c3f5ee5c5e53641fe6d', deprecated=True)
- version('0.7.1', sha256='ba59305d2e19e47c27ea065c2e0df96ebac6a3c6e97e28ae5620073b6084e68b', deprecated=True)
+ version("1.4.0", sha256="106cec5263f9100a7e79b5f7220f889bc78e7d7ffc55d2b6fdb1efefb8024031")
+ version(
+ "0.8.2",
+ sha256="7ab8c4b3403d89d01898066b72cb6069bddeb5af94905a65368f671a026ed58c",
+ deprecated=True,
+ )
+ version(
+ "0.8.0",
+ sha256="e829265db04e0aebfb0591b6dc3377b64599558167846c3f5ee5c5e53641fe6d",
+ deprecated=True,
+ )
+ version(
+ "0.7.1",
+ sha256="ba59305d2e19e47c27ea065c2e0df96ebac6a3c6e97e28ae5620073b6084e68b",
+ deprecated=True,
+ )
- variant('wayland', default=False, description='Enable Wayland support')
+ variant("wayland", default=False, description="Enable Wayland support")
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('bison', type='build')
- depends_on('util-macros')
- depends_on('xkbdata')
- depends_on('libxcb@1.10:')
- depends_on('libxml2', when='@1:')
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("bison", type="build")
+ depends_on("util-macros")
+ depends_on("xkbdata")
+ depends_on("libxcb@1.10:")
+ depends_on("libxml2", when="@1:")
- depends_on('wayland@1.2.0:', when='+wayland')
- depends_on('wayland-protocols@1.7:', when='+wayland')
+ depends_on("wayland@1.2.0:", when="+wayland")
+ depends_on("wayland-protocols@1.7:", when="+wayland")
def meson_args(self):
return [
- '-Dxkb-config-root={0}'.format(self.spec['xkbdata'].prefix),
- '-Denable-docs=false',
- '-Denable-wayland=' + str(self.spec.satisfies('+wayland'))
+ "-Dxkb-config-root={0}".format(self.spec["xkbdata"].prefix),
+ "-Denable-docs=false",
+ "-Denable-wayland=" + str(self.spec.satisfies("+wayland")),
]
- @when('@:0.8')
+ @when("@:0.8")
def configure_args(self):
"""Configure arguments are passed using meson_args functions"""
return [
- '--with-xkb-config-root={0}'.format(self.spec['xkbdata'].prefix),
- '--disable-docs',
- '--' + ('en' if self.spec.satisfies('+wayland') else 'dis') + 'able-wayland'
+ "--with-xkb-config-root={0}".format(self.spec["xkbdata"].prefix),
+ "--disable-docs",
+ "--" + ("en" if self.spec.satisfies("+wayland") else "dis") + "able-wayland",
]
- @when('@:0.8')
+ @when("@:0.8")
def meson(self, spec, prefix):
"""Run the AutotoolsPackage configure phase in source_path"""
- configure('--prefix=' + prefix, *self.configure_args())
+ configure("--prefix=" + prefix, *self.configure_args())
- @when('@:0.8')
+ @when("@:0.8")
def build(self, spec, prefix):
"""Run the AutotoolsPackage build phase in source_path"""
make()
- @when('@:0.8')
+ @when("@:0.8")
def install(self, spec, prefix):
"""Run the AutotoolsPackage install phase in source_path"""
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libxkbfile/package.py b/var/spack/repos/builtin/packages/libxkbfile/package.py
index 5d6e814fc5..339d22469f 100644
--- a/var/spack/repos/builtin/packages/libxkbfile/package.py
+++ b/var/spack/repos/builtin/packages/libxkbfile/package.py
@@ -12,10 +12,10 @@ class Libxkbfile(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libxkbfile"
xorg_mirror_path = "lib/libxkbfile-1.0.9.tar.gz"
- version('1.0.9', sha256='95df50570f38e720fb79976f603761ae6eff761613eb56f258c3cb6bab4fd5e3')
+ version("1.0.9", sha256="95df50570f38e720fb79976f603761ae6eff761613eb56f258c3cb6bab4fd5e3")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('kbproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("kbproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxkbui/package.py b/var/spack/repos/builtin/packages/libxkbui/package.py
index bdfa5fca96..0cc2e3f6d3 100644
--- a/var/spack/repos/builtin/packages/libxkbui/package.py
+++ b/var/spack/repos/builtin/packages/libxkbui/package.py
@@ -12,11 +12,11 @@ class Libxkbui(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libxkbui/"
xorg_mirror_path = "lib/libxkbui-1.0.2.tar.gz"
- version('1.0.2', sha256='196ab4867f3754caae34e51a663cbce26b4af819db3960f1fc4fb42c6a3c535d')
+ version("1.0.2", sha256="196ab4867f3754caae34e51a663cbce26b4af819db3960f1fc4fb42c6a3c535d")
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxkbfile')
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxkbfile")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 0f938f1b42..7825a84722 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -10,53 +10,59 @@ from spack.package import *
class Libxml2(AutotoolsPackage):
"""Libxml2 is the XML C parser and toolkit developed for the Gnome
- project (but usable outside of the Gnome platform), it is free
- software available under the MIT License."""
+ project (but usable outside of the Gnome platform), it is free
+ software available under the MIT License."""
homepage = "http://xmlsoft.org"
- url = 'https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.13.tar.xz'
- list_url = 'https://gitlab.gnome.org/GNOME/libxml2/-/releases'
+ url = "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.13.tar.xz"
+ list_url = "https://gitlab.gnome.org/GNOME/libxml2/-/releases"
def url_for_version(self, version):
- if version >= Version('2.9.13'):
- url = 'https://download.gnome.org/sources/libxml2/{0}/libxml2-{1}.tar.xz'
+ if version >= Version("2.9.13"):
+ url = "https://download.gnome.org/sources/libxml2/{0}/libxml2-{1}.tar.xz"
return url.format(version.up_to(2), version)
- return 'http://xmlsoft.org/sources/libxml2-{0}.tar.gz'.format(version)
+ return "http://xmlsoft.org/sources/libxml2-{0}.tar.gz".format(version)
- version('2.9.13', sha256='276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e')
- 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')
- version('2.9.4', sha256='ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c')
- version('2.9.2', sha256='5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc')
- version('2.7.8', sha256='cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec')
+ version("2.9.13", sha256="276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e")
+ 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")
+ version("2.9.4", sha256="ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c")
+ version("2.9.2", sha256="5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc")
+ version("2.7.8", sha256="cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec")
- variant('python', default=False, description='Enable Python support')
+ variant("python", default=False, description="Enable Python support")
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('iconv')
- depends_on('zlib')
- depends_on('xz')
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("iconv")
+ depends_on("zlib")
+ depends_on("xz")
# avoid cycle dependency for concretizer
- depends_on('python+shared~libxml2', when='+python')
- extends('python', when='+python',
- ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|'
- '(lib/xml2.*$)|(lib/cmake.*$)')
+ depends_on("python+shared~libxml2", when="+python")
+ extends(
+ "python",
+ when="+python",
+ ignore=r"(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|"
+ "(lib/xml2.*$)|(lib/cmake.*$)",
+ )
# XML Conformance Test Suites
# See https://www.w3.org/XML/Test/ for information
- resource(name='xmlts', url='https://www.w3.org/XML/Test/xmlts20080827.tar.gz',
- sha256='96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7')
+ resource(
+ name="xmlts",
+ url="https://www.w3.org/XML/Test/xmlts20080827.tar.gz",
+ sha256="96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7",
+ )
- patch('nvhpc-configure.patch', when='%nvhpc')
- patch('nvhpc-elfgcchack.patch', when='%nvhpc')
+ patch("nvhpc-configure.patch", when="%nvhpc")
+ patch("nvhpc-elfgcchack.patch", when="%nvhpc")
@property
def command(self):
- return Executable(self.prefix.bin.join('xml2-config'))
+ return Executable(self.prefix.bin.join("xml2-config"))
@property
def headers(self):
@@ -68,60 +74,71 @@ class Libxml2(AutotoolsPackage):
def configure_args(self):
spec = self.spec
- args = ['--with-lzma={0}'.format(spec['xz'].prefix),
- '--with-iconv={0}'.format(spec['iconv'].prefix)]
-
- if '+python' in spec:
- args.extend([
- '--with-python={0}'.format(spec['python'].home),
- '--with-python-install-dir={0}'.format(python_platlib)
- ])
+ args = [
+ "--with-lzma={0}".format(spec["xz"].prefix),
+ "--with-iconv={0}".format(spec["iconv"].prefix),
+ ]
+
+ if "+python" in spec:
+ args.extend(
+ [
+ "--with-python={0}".format(spec["python"].home),
+ "--with-python-install-dir={0}".format(python_platlib),
+ ]
+ )
else:
- args.append('--without-python')
+ args.append("--without-python")
return args
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('-pedantic -Wall -Wextra -Wshadow -Wpointer-arith '
- '-Wcast-align -Wwrite-strings -Waggregate-return '
- '-Wstrict-prototypes -Wmissing-prototypes '
- '-Wnested-externs -Winline -Wredundant-decls',
- '-Wall', 'configure')
- filter_file('-Wno-long-long -Wno-format-extra-args', '',
- 'configure')
-
- @run_after('install')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file(
+ "-pedantic -Wall -Wextra -Wshadow -Wpointer-arith "
+ "-Wcast-align -Wwrite-strings -Waggregate-return "
+ "-Wstrict-prototypes -Wmissing-prototypes "
+ "-Wnested-externs -Winline -Wredundant-decls",
+ "-Wall",
+ "configure",
+ )
+ filter_file("-Wno-long-long -Wno-format-extra-args", "", "configure")
+
+ @run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
- if '+python' in self.spec:
- with working_dir('spack-test', create=True):
- python('-c', 'import libxml2')
+ if "+python" in self.spec:
+ with working_dir("spack-test", create=True):
+ python("-c", "import libxml2")
def test(self):
"""Perform smoke tests on the installed package"""
# Start with what we already have post-install
- tty.msg('test: Performing simple import test')
+ tty.msg("test: Performing simple import test")
self.import_module_test()
data_dir = self.test_suite.current_test_data_dir
# Now run defined tests based on expected executables
- dtd_path = data_dir.join('info.dtd')
- test_filename = 'test.xml'
+ dtd_path = data_dir.join("info.dtd")
+ test_filename = "test.xml"
exec_checks = {
- 'xml2-config': [
- ('--version', [str(self.spec.version)], 0)],
- 'xmllint': [
- (['--auto', '-o', test_filename], [], 0),
- (['--postvalid', test_filename],
- ['validity error', 'no DTD found', 'does not validate'], 3),
- (['--dtdvalid', dtd_path, test_filename],
- ['validity error', 'does not follow the DTD'], 3),
- (['--dtdvalid', dtd_path, data_dir.join('info.xml')], [], 0)],
- 'xmlcatalog': [
- ('--create', ['<catalog xmlns', 'catalog"/>'], 0)],
+ "xml2-config": [("--version", [str(self.spec.version)], 0)],
+ "xmllint": [
+ (["--auto", "-o", test_filename], [], 0),
+ (
+ ["--postvalid", test_filename],
+ ["validity error", "no DTD found", "does not validate"],
+ 3,
+ ),
+ (
+ ["--dtdvalid", dtd_path, test_filename],
+ ["validity error", "does not follow the DTD"],
+ 3,
+ ),
+ (["--dtdvalid", dtd_path, data_dir.join("info.xml")], [], 0),
+ ],
+ "xmlcatalog": [("--create", ["<catalog xmlns", 'catalog"/>'], 0)],
}
for exe in exec_checks:
for options, expected, status in exec_checks[exe]:
diff --git a/var/spack/repos/builtin/packages/libxmu/package.py b/var/spack/repos/builtin/packages/libxmu/package.py
index f2d6b36f06..fdb2a3df07 100644
--- a/var/spack/repos/builtin/packages/libxmu/package.py
+++ b/var/spack/repos/builtin/packages/libxmu/package.py
@@ -15,12 +15,12 @@ class Libxmu(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXmu"
xorg_mirror_path = "lib/libXmu-1.1.2.tar.gz"
- version('1.1.2', sha256='e5fd4bacef068f9509b8226017205040e38d3fba8d2de55037200e7176c13dba')
+ version("1.1.2", sha256="e5fd4bacef068f9509b8226017205040e38d3fba8d2de55037200e7176c13dba")
- depends_on('libxt')
- depends_on('libxext')
- depends_on('libx11')
+ depends_on("libxt")
+ depends_on("libxext")
+ depends_on("libx11")
- depends_on('xextproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxp/package.py b/var/spack/repos/builtin/packages/libxp/package.py
index d5014d1dec..4554768221 100644
--- a/var/spack/repos/builtin/packages/libxp/package.py
+++ b/var/spack/repos/builtin/packages/libxp/package.py
@@ -12,13 +12,13 @@ class Libxp(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXp"
xorg_mirror_path = "lib/libXp-1.0.3.tar.gz"
- version('1.0.3', sha256='f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c')
+ version("1.0.3", sha256="f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c")
- depends_on('libx11@1.6:')
- depends_on('libxext')
- depends_on('libxau')
+ depends_on("libx11@1.6:")
+ depends_on("libxext")
+ depends_on("libxau")
- depends_on('xextproto')
- depends_on('printproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("printproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxpm/package.py b/var/spack/repos/builtin/packages/libxpm/package.py
index cb87778ec7..523dbfe037 100644
--- a/var/spack/repos/builtin/packages/libxpm/package.py
+++ b/var/spack/repos/builtin/packages/libxpm/package.py
@@ -12,24 +12,23 @@ class Libxpm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXpm"
xorg_mirror_path = "lib/libXpm-3.5.12.tar.gz"
- version('3.5.12', sha256='2523acc780eac01db5163267b36f5b94374bfb0de26fc0b5a7bee76649fd8501')
- version('3.5.11', sha256='53ddf924441b7ed2de994d4934358c13d9abf4828b1b16e1255ade5032b31df7')
- version('3.5.10', sha256='f73f06928a140fd2090c439d1d55c6682095044495af6bf886f8e66cf21baee5')
- version('3.5.9', sha256='23beb930e27bc7df33cb0f6dbffc703852297c311b7e20146ff82e9a51f3e358')
- version('3.5.8', sha256='06472c7fdd175ea54c84162a428be19c154e7dda03d8bf91beee7f1d104669a6')
- version('3.5.7', sha256='422fbb311c4fe6ef337e937eb3adc8617a4320bd3e00fce06850d4360829b3ae')
+ version("3.5.12", sha256="2523acc780eac01db5163267b36f5b94374bfb0de26fc0b5a7bee76649fd8501")
+ version("3.5.11", sha256="53ddf924441b7ed2de994d4934358c13d9abf4828b1b16e1255ade5032b31df7")
+ version("3.5.10", sha256="f73f06928a140fd2090c439d1d55c6682095044495af6bf886f8e66cf21baee5")
+ version("3.5.9", sha256="23beb930e27bc7df33cb0f6dbffc703852297c311b7e20146ff82e9a51f3e358")
+ version("3.5.8", sha256="06472c7fdd175ea54c84162a428be19c154e7dda03d8bf91beee7f1d104669a6")
+ version("3.5.7", sha256="422fbb311c4fe6ef337e937eb3adc8617a4320bd3e00fce06850d4360829b3ae")
- depends_on('gettext')
- depends_on('libx11')
+ depends_on("gettext")
+ depends_on("libx11")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def setup_build_environment(self, env):
# If libxpm is installed as an external package, gettext won't
# be available in the spec. See
# https://github.com/spack/spack/issues/9149 for details.
- if 'gettext' in self.spec:
- env.append_flags('LDFLAGS', '-L{0} -lintl'.format(
- self.spec['gettext'].prefix.lib))
+ if "gettext" in self.spec:
+ env.append_flags("LDFLAGS", "-L{0} -lintl".format(self.spec["gettext"].prefix.lib))
diff --git a/var/spack/repos/builtin/packages/libxpresent/package.py b/var/spack/repos/builtin/packages/libxpresent/package.py
index 0e45ef6341..c155ae6dcd 100644
--- a/var/spack/repos/builtin/packages/libxpresent/package.py
+++ b/var/spack/repos/builtin/packages/libxpresent/package.py
@@ -13,17 +13,17 @@ class Libxpresent(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXpresent/"
xorg_mirror_path = "lib/libXpresent-1.0.0.tar.gz"
- version('1.0.0', sha256='92f1bdfb67ae2ffcdb25ad72c02cac5e4912dc9bc792858240df1d7f105946fa')
+ version("1.0.0", sha256="92f1bdfb67ae2ffcdb25ad72c02cac5e4912dc9bc792858240df1d7f105946fa")
- depends_on('libx11', type='link')
- depends_on('libxext', type='link')
- depends_on('libxfixes', type='link')
- depends_on('libxrandr', type='link')
+ depends_on("libx11", type="link")
+ depends_on("libxext", type="link")
+ depends_on("libxfixes", type="link")
+ depends_on("libxrandr", type="link")
- depends_on('xproto')
- depends_on('presentproto@1.0:')
- depends_on('xextproto')
- depends_on('fixesproto')
- depends_on('randrproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("presentproto@1.0:")
+ depends_on("xextproto")
+ depends_on("fixesproto")
+ depends_on("randrproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxprintapputil/package.py b/var/spack/repos/builtin/packages/libxprintapputil/package.py
index f60b951636..d6ecf0dd58 100644
--- a/var/spack/repos/builtin/packages/libxprintapputil/package.py
+++ b/var/spack/repos/builtin/packages/libxprintapputil/package.py
@@ -12,13 +12,13 @@ class Libxprintapputil(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXprintAppUtil/"
xorg_mirror_path = "lib/libXprintAppUtil-1.0.1.tar.gz"
- version('1.0.1', sha256='5af3939ffe15508b942bc1e325a29a95b1c85e8900a5f65a896101e63048bbf7')
+ version("1.0.1", sha256="5af3939ffe15508b942bc1e325a29a95b1c85e8900a5f65a896101e63048bbf7")
- depends_on('libx11')
- depends_on('libxp')
- depends_on('libxprintutil')
- depends_on('libxau')
+ depends_on("libx11")
+ depends_on("libxp")
+ depends_on("libxprintutil")
+ depends_on("libxau")
- depends_on('printproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("printproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxprintutil/package.py b/var/spack/repos/builtin/packages/libxprintutil/package.py
index a8ce1163c3..5804be0c25 100644
--- a/var/spack/repos/builtin/packages/libxprintutil/package.py
+++ b/var/spack/repos/builtin/packages/libxprintutil/package.py
@@ -12,13 +12,13 @@ class Libxprintutil(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXprintUtil/"
xorg_mirror_path = "lib/libXprintUtil-1.0.1.tar.gz"
- version('1.0.1', sha256='220924216f98ef8f7aa4cff33629edb1171ad10f8ea302a1eb85055545d4d195')
+ version("1.0.1", sha256="220924216f98ef8f7aa4cff33629edb1171ad10f8ea302a1eb85055545d4d195")
- depends_on('libx11')
- depends_on('libxp')
- depends_on('libxt')
- depends_on('libxau')
+ depends_on("libx11")
+ depends_on("libxp")
+ depends_on("libxt")
+ depends_on("libxau")
- depends_on('printproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("printproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxrandr/package.py b/var/spack/repos/builtin/packages/libxrandr/package.py
index 0b75e68a46..def407c923 100644
--- a/var/spack/repos/builtin/packages/libxrandr/package.py
+++ b/var/spack/repos/builtin/packages/libxrandr/package.py
@@ -12,19 +12,18 @@ class Libxrandr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXrandr"
xorg_mirror_path = "lib/libXrandr-1.5.0.tar.gz"
- version('1.5.0', sha256='1b594a149e6b124aab7149446f2fd886461e2935eca8dca43fe83a70cf8ec451')
+ version("1.5.0", sha256="1b594a149e6b124aab7149446f2fd886461e2935eca8dca43fe83a70cf8ec451")
- depends_on('libx11@1.6:')
- depends_on('libxext')
- depends_on('libxrender')
+ depends_on("libx11@1.6:")
+ depends_on("libxext")
+ depends_on("libxrender")
- depends_on('randrproto@1.5:')
- depends_on('xextproto')
- depends_on('renderproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("randrproto@1.5:")
+ depends_on("xextproto")
+ depends_on("renderproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries(
- 'libXrandr', self.prefix, shared=True, recursive=True)
+ return find_libraries("libXrandr", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxrender/package.py b/var/spack/repos/builtin/packages/libxrender/package.py
index 87dd19b441..11ffe60db4 100644
--- a/var/spack/repos/builtin/packages/libxrender/package.py
+++ b/var/spack/repos/builtin/packages/libxrender/package.py
@@ -12,16 +12,15 @@ class Libxrender(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXrender"
xorg_mirror_path = "lib/libXrender-0.9.10.tar.gz"
- version('0.9.10', sha256='770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf')
- version('0.9.9', sha256='beeac64ff8d225f775019eb7c688782dee9f4cc7b412a65538f8dde7be4e90fe')
+ version("0.9.10", sha256="770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf")
+ version("0.9.9", sha256="beeac64ff8d225f775019eb7c688782dee9f4cc7b412a65538f8dde7be4e90fe")
- depends_on('libx11@1.6:')
+ depends_on("libx11@1.6:")
- depends_on('renderproto@0.9:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("renderproto@0.9:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries('libXrender', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libXrender", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxres/package.py b/var/spack/repos/builtin/packages/libxres/package.py
index 4779f5a6c5..fa5de98801 100644
--- a/var/spack/repos/builtin/packages/libxres/package.py
+++ b/var/spack/repos/builtin/packages/libxres/package.py
@@ -12,12 +12,12 @@ class Libxres(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXRes"
xorg_mirror_path = "lib/libXres-1.0.7.tar.gz"
- version('1.0.7', sha256='488c9fa14b38f794d1f019fe62e6b06514a39f1a7538e55ece8faf22482fefcd')
+ version("1.0.7", sha256="488c9fa14b38f794d1f019fe62e6b06514a39f1a7538e55ece8faf22482fefcd")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('resourceproto@1.0:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("resourceproto@1.0:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxscrnsaver/package.py b/var/spack/repos/builtin/packages/libxscrnsaver/package.py
index f859326c25..a8c8962686 100644
--- a/var/spack/repos/builtin/packages/libxscrnsaver/package.py
+++ b/var/spack/repos/builtin/packages/libxscrnsaver/package.py
@@ -12,12 +12,12 @@ class Libxscrnsaver(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXScrnSaver"
xorg_mirror_path = "lib/libXScrnSaver-1.2.2.tar.gz"
- version('1.2.2', sha256='e12ba814d44f7b58534c0d8521e2d4574f7bf2787da405de4341c3b9f4cc8d96')
+ version("1.2.2", sha256="e12ba814d44f7b58534c0d8521e2d4574f7bf2787da405de4341c3b9f4cc8d96")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('scrnsaverproto@1.2:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("scrnsaverproto@1.2:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxshmfence/package.py b/var/spack/repos/builtin/packages/libxshmfence/package.py
index bb7251967f..8f8e2c8696 100644
--- a/var/spack/repos/builtin/packages/libxshmfence/package.py
+++ b/var/spack/repos/builtin/packages/libxshmfence/package.py
@@ -16,9 +16,9 @@ class Libxshmfence(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libxshmfence/"
xorg_mirror_path = "lib/libxshmfence-1.3.tar.bz2"
- version('1.3', sha256='b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7')
- version('1.2', sha256='d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c')
+ version("1.3", sha256="b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7")
+ version("1.2", sha256="d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxslt/package.py b/var/spack/repos/builtin/packages/libxslt/package.py
index a21f148905..9c613721a8 100644
--- a/var/spack/repos/builtin/packages/libxslt/package.py
+++ b/var/spack/repos/builtin/packages/libxslt/package.py
@@ -14,51 +14,51 @@ class Libxslt(AutotoolsPackage):
and some of Saxon's evaluate and expressions extensions."""
homepage = "http://www.xmlsoft.org/XSLT/index.html"
- url = "http://xmlsoft.org/sources/libxslt-1.1.32.tar.gz"
+ url = "http://xmlsoft.org/sources/libxslt-1.1.32.tar.gz"
- version('1.1.33', sha256='8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8')
- version('1.1.32', sha256='526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460')
- version('1.1.29', sha256='b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce')
- version('1.1.28', sha256='5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c')
- version('1.1.26', sha256='55dd52b42861f8a02989d701ef716d6280bfa02971e967c285016f99c66e3db1')
+ version("1.1.33", sha256="8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8")
+ version("1.1.32", sha256="526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460")
+ version("1.1.29", sha256="b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce")
+ version("1.1.28", sha256="5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c")
+ version("1.1.26", sha256="55dd52b42861f8a02989d701ef716d6280bfa02971e967c285016f99c66e3db1")
- variant('crypto', default=True, description='Build libexslt with crypto support')
- variant('python', default=False, description='Build Python bindings')
+ variant("crypto", default=True, description="Build libexslt with crypto support")
+ variant("python", default=False, description="Build Python bindings")
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('iconv')
- depends_on('libxml2')
- depends_on('libxml2+python', when='+python')
- depends_on('xz')
- depends_on('zlib')
- depends_on('libgcrypt', when='+crypto')
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("iconv")
+ depends_on("libxml2")
+ depends_on("libxml2+python", when="+python")
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("libgcrypt", when="+crypto")
- depends_on('python+shared', when='+python')
- extends('python', when='+python')
+ depends_on("python+shared", when="+python")
+ extends("python", when="+python")
def configure_args(self):
args = []
- if '+crypto' in self.spec:
- args.append('--with-crypto')
+ if "+crypto" in self.spec:
+ args.append("--with-crypto")
else:
- args.append('--without-crypto')
+ args.append("--without-crypto")
- if '+python' in self.spec:
- args.append('--with-python={0}'.format(self.spec['python'].home))
+ if "+python" in self.spec:
+ args.append("--with-python={0}".format(self.spec["python"].home))
else:
- args.append('--without-python')
+ args.append("--without-python")
return args
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
- if '+python' in self.spec:
- with working_dir('spack-test', create=True):
- python('-c', 'import libxslt')
+ if "+python" in self.spec:
+ with working_dir("spack-test", create=True):
+ python("-c", "import libxslt")
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('-Wmissing-format-attribute', '', 'configure')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file("-Wmissing-format-attribute", "", "configure")
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
index a9e8a29ebf..1ff96ec7a3 100644
--- a/var/spack/repos/builtin/packages/libxsmm/package.py
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -14,127 +14,132 @@ class Libxsmm(MakefilePackage):
and sparse matrix operations,
and deep learning primitives."""
- homepage = 'https://github.com/hfp/libxsmm'
- url = 'https://github.com/hfp/libxsmm/archive/1.17.tar.gz'
- git = 'https://github.com/hfp/libxsmm.git'
-
- maintainers = ['hfp']
-
- version('master', branch='master')
- version('1.17', sha256='8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92')
- version('1.16.3', sha256='e491ccadebc5cdcd1fc08b5b4509a0aba4e2c096f53d7880062a66b82a0baf84')
- version('1.16.2', sha256='bdc7554b56b9e0a380fc9c7b4f4394b41be863344858bc633bc9c25835c4c64e')
- version('1.16.1', sha256='93dc7a3ec40401988729ddb2c6ea2294911261f7e6cd979cf061b5c3691d729d')
- version('1.16', sha256='4f4f2ad97815413af80821d2e306eb6f00541941ad412662da05c02361a20e07')
- version('1.15', sha256='499e5adfbf90cd3673309243c2b56b237d54f86db2437e1ac06c8746b55ab91c')
- version('1.14', sha256='9c0af4509ea341d1ee2c6c19fc6f19289318c3bd4b17844efeb9e7f9691abf76')
- version('1.13', sha256='47c034e169820a9633770eece0e0fdd8d4a744e09b81da2af8c2608a4625811e')
- version('1.12.1', sha256='3687fb98da00ba92cd50b5f0d18b39912c7886dad3856843573aee0cb34e9791')
- version('1.12', sha256='37432fae4404ca12d8c5a205bfec7f9326c2d607d9ec37680f42dae60b52382a')
- version('1.11', sha256='5fc1972471cd8e2b8b64ea017590193739fc88d9818e3d086621e5c08e86ea35')
- version('1.10', sha256='2904f7983719fd5c5af081121c1d028d45b10b854aec9a9e67996a0602631abc')
- version('1.9', sha256='cd8532021352b4a0290d209f7f9bfd7c2411e08286a893af3577a43457287bfa')
- version('1.8.3', sha256='08ed4a67731d07c739fa83c426a06a5a8fe576bc273da4bab84eb0d1f4405011')
- version('1.8.2', sha256='252ab73e437f5fcc87268df1ac130ffe6eb41e4281d9d3a3eaa7d591a85a612f')
- version('1.8.1', sha256='2ade869c3f42f23b5263c7d594aa3c7e5e61ac6a3afcaf5d6e42899d2a7986ce')
- version('1.8', sha256='0330201afb5525d0950ec861fec9dd75eb40a03845ebe03d2c635cf8bfc14fea')
- version('1.7.1', sha256='9d3f63ce3eed62f04e4036de6f2be2ce0ff07781ca571af6e0bf85b077edf17a')
- version('1.7', sha256='2eea65624a697e74b939511cd2a686b4c957e90c99be168fe134d96771e811ad')
- version('1.6.6', sha256='7c048a48e17f7f14a475be7b83e6e941289e03debb42ce9e02a06353412f9f2a')
- version('1.6.5', sha256='5231419a8e13e7a6d286cf25d32a3aa75c443a625e5ea57024d36468bc3d5936')
- version('1.6.4', sha256='3788bf1cdb60f119f8a04ed7ed96861322e539ce2d2ea977f00431d6b2b80beb')
- version('1.6.3', sha256='afad4f75ec5959bc3b18b741f3f16864f699c8b763598d01faf6af029dded48c')
- version('1.6.2', sha256='c1ad21dee1239c9c2422b2dd2dc83e7a364909fc82ff9bd6ce7d9c73ee4569de')
- version('1.6.1', sha256='1dd81077b186300122dc8a8f1872c21fd2bd9b88286ab9f068cc7b62fa7593a7')
- version('1.6', sha256='c2a56f8cdc2ab03a6477ef98dbaa00917674fda59caa2824a1a29f78d2255ba5')
- version('1.5.2', sha256='a037b7335932921960d687ef3d49b50ee38a83e0c8ad237bc20d3f4a0523f7d3')
- version('1.5.1', sha256='9e2a400e63b6fb2d4954e53536090eb8eb6f0ca25d0f34dd3a4f166802aa3d54')
- version('1.5', sha256='c52568c5e0e8dc9d8fcf869a716d73598e52f71c3d83af5a4c0b3be81403b423')
- version('1.4.4', sha256='bf4a0fff05cf721e11cb6cdb74f3d27dd0fa67ccc024055f2d9dd5dbd928c7c0')
- version('1.4.3', sha256='5033c33038ba4a75c675387aeb7c86b629e43ffc0a40df0b78e4ed52e4b5bd90')
- version('1.4.2', sha256='9c89391635be96759486a245365793bc4593859e6d7957b37c39a29f9b4f95eb')
- version('1.4.1', sha256='c19be118694c9b4e9a61ef4205b1e1a7e0c400c07f9bce65ae430d2dc2be5fe1')
- version('1.4', sha256='cf483a370d802bd8800c06a12d14d2b4406a745c8a0b2c8722ccc992d0cd72dd')
-
- variant('shared', default=False,
- description='With shared libraries (and static libraries).')
- variant('debug', default=False,
- description='With call-trace (LIBXSMM_TRACE); unoptimized.')
- variant('header-only', default=False, when='@1.6.2:',
- description='With header-only installation')
- variant('generator', default=False,
- description='With generator executable(s)')
- variant('blas', default='default', multi=False,
- description='Control behavior of BLAS calls',
- values=('default', '0', '1', '2'))
- variant('large_jit_buffer', default=False, when='@1.17:',
- description='Max. JIT buffer size increased to 256 KiB')
- depends_on('python', type='build')
+ homepage = "https://github.com/hfp/libxsmm"
+ url = "https://github.com/hfp/libxsmm/archive/1.17.tar.gz"
+ git = "https://github.com/hfp/libxsmm.git"
+
+ maintainers = ["hfp"]
+
+ version("master", branch="master")
+ version("1.17", sha256="8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92")
+ version("1.16.3", sha256="e491ccadebc5cdcd1fc08b5b4509a0aba4e2c096f53d7880062a66b82a0baf84")
+ version("1.16.2", sha256="bdc7554b56b9e0a380fc9c7b4f4394b41be863344858bc633bc9c25835c4c64e")
+ version("1.16.1", sha256="93dc7a3ec40401988729ddb2c6ea2294911261f7e6cd979cf061b5c3691d729d")
+ version("1.16", sha256="4f4f2ad97815413af80821d2e306eb6f00541941ad412662da05c02361a20e07")
+ version("1.15", sha256="499e5adfbf90cd3673309243c2b56b237d54f86db2437e1ac06c8746b55ab91c")
+ version("1.14", sha256="9c0af4509ea341d1ee2c6c19fc6f19289318c3bd4b17844efeb9e7f9691abf76")
+ version("1.13", sha256="47c034e169820a9633770eece0e0fdd8d4a744e09b81da2af8c2608a4625811e")
+ version("1.12.1", sha256="3687fb98da00ba92cd50b5f0d18b39912c7886dad3856843573aee0cb34e9791")
+ version("1.12", sha256="37432fae4404ca12d8c5a205bfec7f9326c2d607d9ec37680f42dae60b52382a")
+ version("1.11", sha256="5fc1972471cd8e2b8b64ea017590193739fc88d9818e3d086621e5c08e86ea35")
+ version("1.10", sha256="2904f7983719fd5c5af081121c1d028d45b10b854aec9a9e67996a0602631abc")
+ version("1.9", sha256="cd8532021352b4a0290d209f7f9bfd7c2411e08286a893af3577a43457287bfa")
+ version("1.8.3", sha256="08ed4a67731d07c739fa83c426a06a5a8fe576bc273da4bab84eb0d1f4405011")
+ version("1.8.2", sha256="252ab73e437f5fcc87268df1ac130ffe6eb41e4281d9d3a3eaa7d591a85a612f")
+ version("1.8.1", sha256="2ade869c3f42f23b5263c7d594aa3c7e5e61ac6a3afcaf5d6e42899d2a7986ce")
+ version("1.8", sha256="0330201afb5525d0950ec861fec9dd75eb40a03845ebe03d2c635cf8bfc14fea")
+ version("1.7.1", sha256="9d3f63ce3eed62f04e4036de6f2be2ce0ff07781ca571af6e0bf85b077edf17a")
+ version("1.7", sha256="2eea65624a697e74b939511cd2a686b4c957e90c99be168fe134d96771e811ad")
+ version("1.6.6", sha256="7c048a48e17f7f14a475be7b83e6e941289e03debb42ce9e02a06353412f9f2a")
+ version("1.6.5", sha256="5231419a8e13e7a6d286cf25d32a3aa75c443a625e5ea57024d36468bc3d5936")
+ version("1.6.4", sha256="3788bf1cdb60f119f8a04ed7ed96861322e539ce2d2ea977f00431d6b2b80beb")
+ version("1.6.3", sha256="afad4f75ec5959bc3b18b741f3f16864f699c8b763598d01faf6af029dded48c")
+ version("1.6.2", sha256="c1ad21dee1239c9c2422b2dd2dc83e7a364909fc82ff9bd6ce7d9c73ee4569de")
+ version("1.6.1", sha256="1dd81077b186300122dc8a8f1872c21fd2bd9b88286ab9f068cc7b62fa7593a7")
+ version("1.6", sha256="c2a56f8cdc2ab03a6477ef98dbaa00917674fda59caa2824a1a29f78d2255ba5")
+ version("1.5.2", sha256="a037b7335932921960d687ef3d49b50ee38a83e0c8ad237bc20d3f4a0523f7d3")
+ version("1.5.1", sha256="9e2a400e63b6fb2d4954e53536090eb8eb6f0ca25d0f34dd3a4f166802aa3d54")
+ version("1.5", sha256="c52568c5e0e8dc9d8fcf869a716d73598e52f71c3d83af5a4c0b3be81403b423")
+ version("1.4.4", sha256="bf4a0fff05cf721e11cb6cdb74f3d27dd0fa67ccc024055f2d9dd5dbd928c7c0")
+ version("1.4.3", sha256="5033c33038ba4a75c675387aeb7c86b629e43ffc0a40df0b78e4ed52e4b5bd90")
+ version("1.4.2", sha256="9c89391635be96759486a245365793bc4593859e6d7957b37c39a29f9b4f95eb")
+ version("1.4.1", sha256="c19be118694c9b4e9a61ef4205b1e1a7e0c400c07f9bce65ae430d2dc2be5fe1")
+ version("1.4", sha256="cf483a370d802bd8800c06a12d14d2b4406a745c8a0b2c8722ccc992d0cd72dd")
+
+ variant("shared", default=False, description="With shared libraries (and static libraries).")
+ variant("debug", default=False, description="With call-trace (LIBXSMM_TRACE); unoptimized.")
+ variant(
+ "header-only", default=False, when="@1.6.2:", description="With header-only installation"
+ )
+ variant("generator", default=False, description="With generator executable(s)")
+ variant(
+ "blas",
+ default="default",
+ multi=False,
+ description="Control behavior of BLAS calls",
+ values=("default", "0", "1", "2"),
+ )
+ variant(
+ "large_jit_buffer",
+ default=False,
+ when="@1.17:",
+ description="Max. JIT buffer size increased to 256 KiB",
+ )
+ depends_on("python", type="build")
@property
def libs(self):
- result = find_libraries(['libxsmm', 'libxsmmf'], root=self.prefix,
- recursive=True)
+ result = find_libraries(["libxsmm", "libxsmmf"], root=self.prefix, recursive=True)
if len(result) == 0:
- result = find_libraries(['libxsmm', 'libxsmmf'], root=self.prefix,
- shared=False, recursive=True)
+ result = find_libraries(
+ ["libxsmm", "libxsmmf"], root=self.prefix, shared=False, recursive=True
+ )
return result
def build(self, spec, prefix):
# include symbols by default
make_args = [
- 'CC={0}'.format(spack_cc),
- 'CXX={0}'.format(spack_cxx),
- 'FC={0}'.format(spack_fc),
- 'PREFIX=%s' % prefix,
- 'SYM=1'
+ "CC={0}".format(spack_cc),
+ "CXX={0}".format(spack_cxx),
+ "FC={0}".format(spack_fc),
+ "PREFIX=%s" % prefix,
+ "SYM=1",
]
# JIT (AVX and later) makes MNK, M, N, or K spec. superfluous
# make_args += ['MNK=1 4 5 6 8 9 13 16 17 22 23 24 26 32']
# include call trace as the build is already de-optimized
- if '+debug' in spec:
- make_args += ['DBG=1']
- make_args += ['TRACE=1']
+ if "+debug" in spec:
+ make_args += ["DBG=1"]
+ make_args += ["TRACE=1"]
- blas_val = spec.variants['blas'].value
- if blas_val != 'default':
- make_args += ['BLAS={0}'.format(blas_val)]
+ blas_val = spec.variants["blas"].value
+ if blas_val != "default":
+ make_args += ["BLAS={0}".format(blas_val)]
- if '+large_jit_buffer' in spec:
- make_args += ['CODE_BUF_MAXSIZE=262144']
+ if "+large_jit_buffer" in spec:
+ make_args += ["CODE_BUF_MAXSIZE=262144"]
- if '+shared' in spec:
- make(*(make_args + ['STATIC=0']))
+ if "+shared" in spec:
+ make(*(make_args + ["STATIC=0"]))
# builds static libraries by default
make(*make_args)
def install(self, spec, prefix):
- install_tree('include', prefix.include)
+ install_tree("include", prefix.include)
# move pkg-config files to their right place
- mkdirp('lib/pkgconfig')
- for pcfile in glob('lib/*.pc'):
- os.rename(pcfile, os.path.join('lib/pkgconfig',
- os.path.basename(pcfile)))
+ mkdirp("lib/pkgconfig")
+ for pcfile in glob("lib/*.pc"):
+ os.rename(pcfile, os.path.join("lib/pkgconfig", os.path.basename(pcfile)))
# always install libraries
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
- if '+header-only' in spec:
- install_tree('src', prefix.src)
+ if "+header-only" in spec:
+ install_tree("src", prefix.src)
- if '+generator' in spec:
- install_tree('bin', prefix.bin)
+ if "+generator" in spec:
+ install_tree("bin", prefix.bin)
mkdirp(prefix.doc)
- install(join_path('documentation', '*.md'), prefix.doc)
- install(join_path('documentation', '*.pdf'), prefix.doc)
- if '@1.8.2:' in spec:
- install('LICENSE.md', prefix.doc)
+ install(join_path("documentation", "*.md"), prefix.doc)
+ install(join_path("documentation", "*.pdf"), prefix.doc)
+ if "@1.8.2:" in spec:
+ install("LICENSE.md", prefix.doc)
else:
- install('README.md', prefix.doc)
- install('LICENSE', prefix.doc)
- install('version.txt', prefix.doc)
+ install("README.md", prefix.doc)
+ install("LICENSE", prefix.doc)
+ install("version.txt", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/libxstream/package.py b/var/spack/repos/builtin/packages/libxstream/package.py
index 9821f61058..c31190a43b 100644
--- a/var/spack/repos/builtin/packages/libxstream/package.py
+++ b/var/spack/repos/builtin/packages/libxstream/package.py
@@ -11,21 +11,21 @@ class Libxstream(Package):
that are able to run asynchronous while preserving the usual stream
conditions."""
- homepage = 'https://github.com/hfp/libxstream'
- url = 'https://github.com/hfp/libxstream/archive/0.9.0.tar.gz'
+ homepage = "https://github.com/hfp/libxstream"
+ url = "https://github.com/hfp/libxstream/archive/0.9.0.tar.gz"
- version('0.9.0', sha256='03365f23b337533b8e5a049a24bc5a91c0f1539dd042ca5312abccc8f713b473')
+ version("0.9.0", sha256="03365f23b337533b8e5a049a24bc5a91c0f1539dd042ca5312abccc8f713b473")
def patch(self):
- kwargs = {'ignore_absent': False, 'backup': True, 'string': True}
- makefile = FileFilter('Makefile.inc')
+ kwargs = {"ignore_absent": False, "backup": True, "string": True}
+ makefile = FileFilter("Makefile.inc")
- makefile.filter('CC =', 'CC ?=', **kwargs)
- makefile.filter('CXX =', 'CXX ?=', **kwargs)
- makefile.filter('FC =', 'FC ?=', **kwargs)
+ makefile.filter("CC =", "CC ?=", **kwargs)
+ makefile.filter("CXX =", "CXX ?=", **kwargs)
+ makefile.filter("FC =", "FC ?=", **kwargs)
def install(self, spec, prefix):
make()
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- install_tree('documentation', prefix.share + '/libxstream/doc/')
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ install_tree("documentation", prefix.share + "/libxstream/doc/")
diff --git a/var/spack/repos/builtin/packages/libxt/package.py b/var/spack/repos/builtin/packages/libxt/package.py
index aeecf6c2cb..b86dbd96a6 100644
--- a/var/spack/repos/builtin/packages/libxt/package.py
+++ b/var/spack/repos/builtin/packages/libxt/package.py
@@ -12,19 +12,17 @@ class Libxt(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXt"
xorg_mirror_path = "lib/libXt-1.1.5.tar.gz"
- version('1.1.5', sha256='b59bee38a9935565fa49dc1bfe84cb30173e2e07e1dcdf801430d4b54eb0caa3')
+ version("1.1.5", sha256="b59bee38a9935565fa49dc1bfe84cb30173e2e07e1dcdf801430d4b54eb0caa3")
- depends_on('libsm')
- depends_on('libice')
- depends_on('libx11')
+ depends_on("libsm")
+ depends_on("libice")
+ depends_on("libx11")
- depends_on('xproto')
- depends_on('kbproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("kbproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries(
- 'libXt', root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries("libXt", root=self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libxtrap/package.py b/var/spack/repos/builtin/packages/libxtrap/package.py
index acca4cca64..a2acd3f934 100644
--- a/var/spack/repos/builtin/packages/libxtrap/package.py
+++ b/var/spack/repos/builtin/packages/libxtrap/package.py
@@ -21,13 +21,13 @@ class Libxtrap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXTrap"
xorg_mirror_path = "lib/libXTrap-1.0.1.tar.gz"
- version('1.0.1', sha256='db748e299dcc9af68428795b898a4a96cf806f79b75786781136503e4fce5e17')
+ version("1.0.1", sha256="db748e299dcc9af68428795b898a4a96cf806f79b75786781136503e4fce5e17")
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxext")
- depends_on('trapproto')
- depends_on('xextproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("trapproto")
+ depends_on("xextproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxtst/package.py b/var/spack/repos/builtin/packages/libxtst/package.py
index a20a8fc389..22d2beac79 100644
--- a/var/spack/repos/builtin/packages/libxtst/package.py
+++ b/var/spack/repos/builtin/packages/libxtst/package.py
@@ -21,15 +21,15 @@ class Libxtst(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXtst"
xorg_mirror_path = "lib/libXtst-1.2.2.tar.gz"
- version('1.2.2', sha256='221838960c7b9058cd6795c1c3ee8e25bae1c68106be314bc3036a4f26be0e6c')
-
- depends_on('libx11')
- depends_on('libxext@1.0.99.4:')
- depends_on('libxi')
-
- depends_on('recordproto@1.13.99.1:')
- depends_on('xextproto@7.0.99.3:')
- depends_on('inputproto')
- depends_on('fixesproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ version("1.2.2", sha256="221838960c7b9058cd6795c1c3ee8e25bae1c68106be314bc3036a4f26be0e6c")
+
+ depends_on("libx11")
+ depends_on("libxext@1.0.99.4:")
+ depends_on("libxi")
+
+ depends_on("recordproto@1.13.99.1:")
+ depends_on("xextproto@7.0.99.3:")
+ depends_on("inputproto")
+ depends_on("fixesproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxv/package.py b/var/spack/repos/builtin/packages/libxv/package.py
index 955b622ede..d3a9af1b66 100644
--- a/var/spack/repos/builtin/packages/libxv/package.py
+++ b/var/spack/repos/builtin/packages/libxv/package.py
@@ -13,12 +13,12 @@ class Libxv(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXv"
xorg_mirror_path = "lib/libXv-1.0.10.tar.gz"
- version('1.0.10', sha256='89a664928b625558268de81c633e300948b3752b0593453d7815f8775bab5293')
+ version("1.0.10", sha256="89a664928b625558268de81c633e300948b3752b0593453d7815f8775bab5293")
- depends_on('libx11@1.6:')
- depends_on('libxext')
+ depends_on("libx11@1.6:")
+ depends_on("libxext")
- depends_on('xextproto')
- depends_on('videoproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("videoproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxvmc/package.py b/var/spack/repos/builtin/packages/libxvmc/package.py
index 84012c6b65..8252a27393 100644
--- a/var/spack/repos/builtin/packages/libxvmc/package.py
+++ b/var/spack/repos/builtin/packages/libxvmc/package.py
@@ -12,13 +12,13 @@ class Libxvmc(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXvMC"
xorg_mirror_path = "lib/libXvMC-1.0.9.tar.gz"
- version('1.0.9', sha256='090f087fe65b30b3edfb996c79ff6cf299e473fb25e955fff1c4e9cb624da2c2')
+ version("1.0.9", sha256="090f087fe65b30b3edfb996c79ff6cf299e473fb25e955fff1c4e9cb624da2c2")
- depends_on('libx11@1.6:')
- depends_on('libxext')
- depends_on('libxv')
+ depends_on("libx11@1.6:")
+ depends_on("libxext")
+ depends_on("libxv")
- depends_on('xextproto')
- depends_on('videoproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xextproto")
+ depends_on("videoproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxxf86dga/package.py b/var/spack/repos/builtin/packages/libxxf86dga/package.py
index 4b00ba8524..d57d9e3d3b 100644
--- a/var/spack/repos/builtin/packages/libxxf86dga/package.py
+++ b/var/spack/repos/builtin/packages/libxxf86dga/package.py
@@ -12,13 +12,13 @@ class Libxxf86dga(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86dga"
xorg_mirror_path = "lib/libXxf86dga-1.1.4.tar.gz"
- version('1.1.4', sha256='e6361620a15ceba666901ca8423e8be0c6ed0271a7088742009160349173766b')
+ version("1.1.4", sha256="e6361620a15ceba666901ca8423e8be0c6ed0271a7088742009160349173766b")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xproto')
- depends_on('xextproto')
- depends_on('xf86dgaproto@2.0.99.2:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xextproto")
+ depends_on("xf86dgaproto@2.0.99.2:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxxf86misc/package.py b/var/spack/repos/builtin/packages/libxxf86misc/package.py
index 6089a0859e..a8da8f8e3e 100644
--- a/var/spack/repos/builtin/packages/libxxf86misc/package.py
+++ b/var/spack/repos/builtin/packages/libxxf86misc/package.py
@@ -12,13 +12,13 @@ class Libxxf86misc(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86misc"
xorg_mirror_path = "lib/libXxf86misc-1.0.3.tar.gz"
- version('1.0.3', sha256='358f692f793af00f6ef4c7a8566c1bcaeeea37e417337db3f519522cc1df3946')
+ version("1.0.3", sha256="358f692f793af00f6ef4c7a8566c1bcaeeea37e417337db3f519522cc1df3946")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('xproto')
- depends_on('xextproto')
- depends_on('xf86miscproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xextproto")
+ depends_on("xf86miscproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/libxxf86vm/package.py b/var/spack/repos/builtin/packages/libxxf86vm/package.py
index fea57a41e9..8745408400 100644
--- a/var/spack/repos/builtin/packages/libxxf86vm/package.py
+++ b/var/spack/repos/builtin/packages/libxxf86vm/package.py
@@ -12,18 +12,17 @@ class Libxxf86vm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86vm"
xorg_mirror_path = "lib/libXxf86vm-1.1.4.tar.gz"
- version('1.1.4', sha256='5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99')
+ version("1.1.4", sha256="5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99")
- depends_on('libx11@1.6:')
- depends_on('libxext')
+ depends_on("libx11@1.6:")
+ depends_on("libxext")
- depends_on('xproto')
- depends_on('xextproto')
- depends_on('xf86vidmodeproto@2.2.99.1:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xextproto")
+ depends_on("xf86vidmodeproto@2.2.99.1:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
@property
def libs(self):
- return find_libraries(
- 'libXxf86vm', self.prefix, shared=True, recursive=True)
+ return find_libraries("libXxf86vm", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/libyaml/package.py b/var/spack/repos/builtin/packages/libyaml/package.py
index cfa1d5eb77..0ae24cad04 100644
--- a/var/spack/repos/builtin/packages/libyaml/package.py
+++ b/var/spack/repos/builtin/packages/libyaml/package.py
@@ -10,30 +10,30 @@ class Libyaml(AutotoolsPackage):
"""A C library for parsing and emitting YAML."""
homepage = "https://pyyaml.org/wiki/LibYAML"
- url = "https://pyyaml.org/download/libyaml/yaml-0.2.4.tar.gz"
- git = "https://github.com/yaml/libyaml.git"
+ url = "https://pyyaml.org/download/libyaml/yaml-0.2.4.tar.gz"
+ git = "https://github.com/yaml/libyaml.git"
- version('master', branch='master')
- version('0.2.5', sha256='c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4')
- version('0.2.4', sha256='d80aeda8747b7c26fbbfd87ab687786e58394a8435ae3970e79cb97882e30557')
- version('0.2.3', sha256='08bbb80284d77092e68a6f69f1e480e8ed93e215c47b2ca29290e3bd5a191108')
- version('0.2.2', sha256='4a9100ab61047fd9bd395bcef3ce5403365cafd55c1e0d0299cde14958e47be9')
- version('0.2.1', sha256='78281145641a080fb32d6e7a87b9c0664d611dcb4d542e90baf731f51cbb59cd')
- version('0.1.7', sha256='8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729')
- version('0.1.6', sha256='7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749')
- version('0.1.5', sha256='fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef')
- version('0.1.4', sha256='7bf81554ae5ab2d9b6977da398ea789722e0db75b86bffdaeb4e66d961de6a37')
- version('0.1.3', sha256='a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a')
- version('0.1.2', sha256='5beb94529cc7ac79b17e354f9b03aea311f5af17be5d48bc39e6f1db5059f70f')
- version('0.1.1', sha256='76444692a94de4e6776a1bdf3b735e8f016bb374ae7c60496f8032fdc6085889')
+ version("master", branch="master")
+ version("0.2.5", sha256="c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4")
+ version("0.2.4", sha256="d80aeda8747b7c26fbbfd87ab687786e58394a8435ae3970e79cb97882e30557")
+ version("0.2.3", sha256="08bbb80284d77092e68a6f69f1e480e8ed93e215c47b2ca29290e3bd5a191108")
+ version("0.2.2", sha256="4a9100ab61047fd9bd395bcef3ce5403365cafd55c1e0d0299cde14958e47be9")
+ version("0.2.1", sha256="78281145641a080fb32d6e7a87b9c0664d611dcb4d542e90baf731f51cbb59cd")
+ version("0.1.7", sha256="8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729")
+ version("0.1.6", sha256="7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749")
+ version("0.1.5", sha256="fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef")
+ version("0.1.4", sha256="7bf81554ae5ab2d9b6977da398ea789722e0db75b86bffdaeb4e66d961de6a37")
+ version("0.1.3", sha256="a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a")
+ version("0.1.2", sha256="5beb94529cc7ac79b17e354f9b03aea311f5af17be5d48bc39e6f1db5059f70f")
+ version("0.1.1", sha256="76444692a94de4e6776a1bdf3b735e8f016bb374ae7c60496f8032fdc6085889")
- depends_on('automake', when='@master')
- depends_on('autoconf', when='@master')
- depends_on('libtool', when='@master')
- depends_on('m4', when='@master')
+ depends_on("automake", when="@master")
+ depends_on("autoconf", when="@master")
+ depends_on("libtool", when="@master")
+ depends_on("m4", when="@master")
- @run_before('configure')
+ @run_before("configure")
def bootstrap(self):
- if self.spec.satisfies('@master'):
- bootstrap = Executable('./bootstrap')
+ if self.spec.satisfies("@master"):
+ bootstrap = Executable("./bootstrap")
bootstrap()
diff --git a/var/spack/repos/builtin/packages/libyogrt/package.py b/var/spack/repos/builtin/packages/libyogrt/package.py
index d9bec09974..15fc6ad364 100644
--- a/var/spack/repos/builtin/packages/libyogrt/package.py
+++ b/var/spack/repos/builtin/packages/libyogrt/package.py
@@ -12,19 +12,19 @@ class Libyogrt(AutotoolsPackage):
"""Your One Get Remaining Time Library."""
homepage = "https://github.com/LLNL/libyogrt"
- url = "https://github.com/LLNL/libyogrt/releases/download/1.21/libyogrt-1.21.tar.gz"
-
- version('1.27', sha256='c57ce60770b61aa20bc83fe34ff52b5e444964338df3786f282d0d9bcdd26138')
- version('1.24', sha256='36695030e72b24b1f22bfcfe42bfd1d3c87f9c0eea5e94ce0120782581ea522f')
- version('1.23', sha256='c95e7a6be29c0d1ac1b673b0ba1d4e5781981722f93d0da99ae62ff3b5f35b5f')
- version('1.22', sha256='38e7d1ea3fa030f0169197aa96cde9f01caa595a590764ef1cb2ae07379cb711')
- version('1.21', sha256='5f8f0942d35ee4e418273e478e632210b3fa648dcb6a2e6a92c6ba4213cdc362')
- version('1.20-7', sha256='735e9d6fa572e239ccc73e11c84b4583338b24df0fa91c48e8bc038d882003f7')
- version('1.20-6', sha256='ba5a2e202f995cf7ae3bf87b451943733e760ede02ca172f712cbf2eea693222')
- version('1.20-5', sha256='1e41bc656abffb121145264bc898421c3f355d3be35f1711b7b5e3ffe7effdd9')
- version('1.20-4', sha256='0858a729068b272d4047d79f6a5187cdbd427bdfec64db4e143524b4789a06c5')
- version('1.20-3', sha256='61a8f28f452aef0e09d700dbaaffd91ae3855f7ac221c7ebe478a028df635e31')
- version('1.20-2', sha256='bf22a82ab3bfede780be3fb6c132cc354234f8d57d3cccd58fe594f074ed7f95')
+ url = "https://github.com/LLNL/libyogrt/releases/download/1.21/libyogrt-1.21.tar.gz"
+
+ version("1.27", sha256="c57ce60770b61aa20bc83fe34ff52b5e444964338df3786f282d0d9bcdd26138")
+ version("1.24", sha256="36695030e72b24b1f22bfcfe42bfd1d3c87f9c0eea5e94ce0120782581ea522f")
+ version("1.23", sha256="c95e7a6be29c0d1ac1b673b0ba1d4e5781981722f93d0da99ae62ff3b5f35b5f")
+ version("1.22", sha256="38e7d1ea3fa030f0169197aa96cde9f01caa595a590764ef1cb2ae07379cb711")
+ version("1.21", sha256="5f8f0942d35ee4e418273e478e632210b3fa648dcb6a2e6a92c6ba4213cdc362")
+ version("1.20-7", sha256="735e9d6fa572e239ccc73e11c84b4583338b24df0fa91c48e8bc038d882003f7")
+ version("1.20-6", sha256="ba5a2e202f995cf7ae3bf87b451943733e760ede02ca172f712cbf2eea693222")
+ version("1.20-5", sha256="1e41bc656abffb121145264bc898421c3f355d3be35f1711b7b5e3ffe7effdd9")
+ version("1.20-4", sha256="0858a729068b272d4047d79f6a5187cdbd427bdfec64db4e143524b4789a06c5")
+ version("1.20-3", sha256="61a8f28f452aef0e09d700dbaaffd91ae3855f7ac221c7ebe478a028df635e31")
+ version("1.20-2", sha256="bf22a82ab3bfede780be3fb6c132cc354234f8d57d3cccd58fe594f074ed7f95")
# libyogrt supports the following schedulers:
# flux, lcrm, lsf, moab, slurm, AIX+slurm
@@ -34,50 +34,55 @@ class Libyogrt(AutotoolsPackage):
# the slurm option here connects to a spack-installed slurm
# if/when other schedulers have spack packages, they can be added
- variant('scheduler', default='system',
- description="Select scheduler integration",
- values=['system', 'flux', 'lsf', 'slurm'], multi=False)
- depends_on('flux-core@0.21.0:', when='scheduler=flux')
- depends_on('lsf', when='scheduler=lsf')
- depends_on('slurm', when='scheduler=slurm')
+ variant(
+ "scheduler",
+ default="system",
+ description="Select scheduler integration",
+ values=["system", "flux", "lsf", "slurm"],
+ multi=False,
+ )
+ depends_on("flux-core@0.21.0:", when="scheduler=flux")
+ depends_on("lsf", when="scheduler=lsf")
+ depends_on("slurm", when="scheduler=slurm")
# support for flux added in libyogrt 1.27
- conflicts('scheduler=flux', when='@:1.26')
+ conflicts("scheduler=flux", when="@:1.26")
- conflicts('scheduler=lsf', when='@:1.22')
+ conflicts("scheduler=lsf", when="@:1.22")
- variant('static', default='False',
- description="build static library")
+ variant("static", default="False", description="build static library")
def url_for_version(self, version):
if version < Version(1.21):
return "https://github.com/LLNL/libyogrt/archive/%s.tar.gz" % version
else:
- return "https://github.com/LLNL/libyogrt/releases/download/{0}/libyogrt-{0}.tar.gz".format(version)
+ return "https://github.com/LLNL/libyogrt/releases/download/{0}/libyogrt-{0}.tar.gz".format(
+ version
+ )
def configure_args(self):
args = []
- sched = self.spec.variants['scheduler'].value
+ sched = self.spec.variants["scheduler"].value
if sched == "lsf":
# The LSF library depends on a couple of other libraries,
# and running the build inside of spack does not find
# them, and the user has to add them when they want
# to use -lyogrt. If we explicitly tell it what libraries
# to use, the user does not need to specify them
- args.append('--with-lsf')
- args.append('LIBS=-llsf -lrt -lnsl')
+ args.append("--with-lsf")
+ args.append("LIBS=-llsf -lrt -lnsl")
elif sched == "flux":
- args.append('--with-flux=%s' % (self.spec['flux-core'].prefix))
+ args.append("--with-flux=%s" % (self.spec["flux-core"].prefix))
elif sched != "system":
- args.append('--with-%s=%s' % (sched, self.spec[sched].prefix))
+ args.append("--with-%s=%s" % (sched, self.spec[sched].prefix))
- if '+static' in self.spec:
- args.append('--enable-static=yes')
+ if "+static" in self.spec:
+ args.append("--enable-static=yes")
return args
- @run_after('install')
+ @run_after("install")
def create_yogrt_conf(self):
etcpath = os.path.join(prefix, "etc")
@@ -88,7 +93,7 @@ class Libyogrt(AutotoolsPackage):
# if no scheduler is specified, create yogrt conf file
# with backend=none
- sched = self.spec.variants['scheduler'].value
+ sched = self.spec.variants["scheduler"].value
if sched == "system":
sched = "none"
diff --git a/var/spack/repos/builtin/packages/libzip/package.py b/var/spack/repos/builtin/packages/libzip/package.py
index 4e24417026..72ebf9b3a9 100644
--- a/var/spack/repos/builtin/packages/libzip/package.py
+++ b/var/spack/repos/builtin/packages/libzip/package.py
@@ -11,8 +11,8 @@ class Libzip(AutotoolsPackage):
and modifying zip archives."""
homepage = "https://nih.at/libzip/index.html"
- url = "https://nih.at/libzip/libzip-1.2.0.tar.gz"
+ url = "https://nih.at/libzip/libzip-1.2.0.tar.gz"
- version('1.2.0', sha256='6cf9840e427db96ebf3936665430bab204c9ebbd0120c326459077ed9c907d9f')
+ version("1.2.0", sha256="6cf9840e427db96ebf3936665430bab204c9ebbd0120c326459077ed9c907d9f")
- depends_on('zlib@1.1.2:')
+ depends_on("zlib@1.1.2:")
diff --git a/var/spack/repos/builtin/packages/libzmq/package.py b/var/spack/repos/builtin/packages/libzmq/package.py
index 3a2dc2f73a..e994fd74c2 100644
--- a/var/spack/repos/builtin/packages/libzmq/package.py
+++ b/var/spack/repos/builtin/packages/libzmq/package.py
@@ -12,71 +12,78 @@ class Libzmq(AutotoolsPackage):
"""The ZMQ networking/concurrency library and core API"""
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"
-
- version('master', branch='master')
- version('4.3.4', sha256='c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5')
- version('4.3.3', sha256='9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2')
- version('4.3.2', sha256='ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763')
- version('4.3.1', sha256='bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb')
- version('4.3.0', sha256='8e9c3af6dc5a8540b356697081303be392ade3f014615028b3c896d0148397fd')
- version('4.2.5', sha256='cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f')
- version('4.2.2', sha256='5b23f4ca9ef545d5bd3af55d305765e3ee06b986263b31967435d285a3e6df6b')
- version('4.1.4', sha256='e99f44fde25c2e4cb84ce440f87ca7d3fe3271c2b8cfbc67d55e4de25e6fe378')
- version('4.1.2', sha256='f9162ead6d68521e5154d871bac304f88857308bb02366b81bb588497a345927')
- version('4.1.1', sha256='43d61e5706b43946aad4a661400627bcde9c63cc25816d4749c67b64c3dab8db')
- version('4.0.7', sha256='e00b2967e074990d0538361cc79084a0a92892df2c6e7585da34e4c61ee47b03')
- version('4.0.6', sha256='28a2a9c9b77014c39087a498942449df18bb9885cdb63334833525a1d19f2894')
- version('4.0.5', sha256='3bc93c5f67370341428364ce007d448f4bb58a0eaabd0a60697d8086bc43342b')
-
- variant("libsodium", default=True,
- description="Build with message encryption support via libsodium")
-
- variant("drafts", default=False,
- description="Build and install draft classes and methods")
-
- variant("docs", default=False,
- description="Build documentation")
-
- variant("libbsd", when='@4.3.3:', default=(sys.platform != 'darwin'),
- description="Use strlcpy from libbsd " +
- "(will use own implementation if false)")
-
- variant("libunwind", default=False,
- description="Build with libunwind support")
-
- depends_on("libsodium", when='+libsodium')
- depends_on("libsodium@:1.0.3", when='+libsodium@:4.1.2')
-
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
- depends_on('pkgconfig', type='build')
- depends_on('docbook-xml', type='build', when='+docs')
- depends_on('docbook-xsl', type='build', when='+docs')
-
- depends_on('libbsd', when='+libbsd')
-
- depends_on('libunwind', when='+libunwind')
-
- conflicts('%gcc@8:', when='@:4.2.2')
- conflicts('%gcc@12:', when='@4.3.2:4.3.4')
+ url = "https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz"
+ git = "https://github.com/zeromq/libzmq.git"
+
+ version("master", branch="master")
+ version("4.3.4", sha256="c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5")
+ version("4.3.3", sha256="9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2")
+ version("4.3.2", sha256="ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763")
+ version("4.3.1", sha256="bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb")
+ version("4.3.0", sha256="8e9c3af6dc5a8540b356697081303be392ade3f014615028b3c896d0148397fd")
+ version("4.2.5", sha256="cc9090ba35713d59bb2f7d7965f877036c49c5558ea0c290b0dcc6f2a17e489f")
+ version("4.2.2", sha256="5b23f4ca9ef545d5bd3af55d305765e3ee06b986263b31967435d285a3e6df6b")
+ version("4.1.4", sha256="e99f44fde25c2e4cb84ce440f87ca7d3fe3271c2b8cfbc67d55e4de25e6fe378")
+ version("4.1.2", sha256="f9162ead6d68521e5154d871bac304f88857308bb02366b81bb588497a345927")
+ version("4.1.1", sha256="43d61e5706b43946aad4a661400627bcde9c63cc25816d4749c67b64c3dab8db")
+ version("4.0.7", sha256="e00b2967e074990d0538361cc79084a0a92892df2c6e7585da34e4c61ee47b03")
+ version("4.0.6", sha256="28a2a9c9b77014c39087a498942449df18bb9885cdb63334833525a1d19f2894")
+ version("4.0.5", sha256="3bc93c5f67370341428364ce007d448f4bb58a0eaabd0a60697d8086bc43342b")
+
+ variant(
+ "libsodium",
+ default=True,
+ description="Build with message encryption support via libsodium",
+ )
+
+ variant("drafts", default=False, description="Build and install draft classes and methods")
+
+ variant("docs", default=False, description="Build documentation")
+
+ variant(
+ "libbsd",
+ when="@4.3.3:",
+ default=(sys.platform != "darwin"),
+ description="Use strlcpy from libbsd " + "(will use own implementation if false)",
+ )
+
+ variant("libunwind", default=False, description="Build with libunwind support")
+
+ depends_on("libsodium", when="+libsodium")
+ depends_on("libsodium@:1.0.3", when="+libsodium@:4.1.2")
+
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
+ depends_on("pkgconfig", type="build")
+ depends_on("docbook-xml", type="build", when="+docs")
+ depends_on("docbook-xsl", type="build", when="+docs")
+
+ depends_on("libbsd", when="+libbsd")
+
+ depends_on("libunwind", when="+libunwind")
+
+ conflicts("%gcc@8:", when="@:4.2.2")
+ conflicts("%gcc@12:", when="@4.3.2:4.3.4")
# Fix aggressive compiler warning false positive
- patch('https://github.com/zeromq/libzmq/commit/92b2c38a2c51a1942a380c7ee08147f7b1ca6845.patch?full_index=1', sha256='310b8aa57a8ea77b7ac74debb3bf928cbafdef5e7ca35beaac5d9c61c7edd239', when='@4.2.3:4.3.4 %gcc@11:')
+ patch(
+ "https://github.com/zeromq/libzmq/commit/92b2c38a2c51a1942a380c7ee08147f7b1ca6845.patch?full_index=1",
+ sha256="310b8aa57a8ea77b7ac74debb3bf928cbafdef5e7ca35beaac5d9c61c7edd239",
+ when="@4.2.3:4.3.4 %gcc@11:",
+ )
def url_for_version(self, version):
- if version <= Version('4.1.4'):
+ if version <= Version("4.1.4"):
url = "http://download.zeromq.org/zeromq-{0}.tar.gz"
else:
url = "https://github.com/zeromq/libzmq/releases/download/v{0}/zeromq-{0}.tar.gz"
return url.format(version)
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def configure_args(self):
config_args = []
@@ -85,11 +92,11 @@ class Libzmq(AutotoolsPackage):
config_args.extend(self.enable_or_disable("libbsd"))
config_args.extend(self.enable_or_disable("libunwind"))
- if '+libsodium' in self.spec:
- config_args.append('--with-libsodium')
- if '~docs' in self.spec:
- config_args.append('--without-docs')
- if 'clang' in self.compiler.cc:
+ if "+libsodium" in self.spec:
+ config_args.append("--with-libsodium")
+ if "~docs" in self.spec:
+ config_args.append("--without-docs")
+ if "clang" in self.compiler.cc:
config_args.append("CFLAGS=-Wno-gnu")
config_args.append("CXXFLAGS=-Wno-gnu")
return config_args
diff --git a/var/spack/repos/builtin/packages/liggghts/package.py b/var/spack/repos/builtin/packages/liggghts/package.py
index 9cf1c1f85d..b6fbd8c2a8 100644
--- a/var/spack/repos/builtin/packages/liggghts/package.py
+++ b/var/spack/repos/builtin/packages/liggghts/package.py
@@ -11,89 +11,82 @@ from spack.package import *
class Liggghts(MakefilePackage):
"""Discrete element method particle simulation."""
- homepage = 'https://www.cfdem.com/media/DEM/docu/Manual.html'
- url = 'https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/archive/3.8.0.tar.gz'
- git = 'ssh://git@github.com/CFDEMproject/LIGGGHTS-PUBLIC.git'
- version('3.8.0', sha256='9cb2e6596f584463ac2f80e3ff7b9588b7e3638c44324635b6329df87b90ab03')
+ homepage = "https://www.cfdem.com/media/DEM/docu/Manual.html"
+ url = "https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/archive/3.8.0.tar.gz"
+ git = "ssh://git@github.com/CFDEMproject/LIGGGHTS-PUBLIC.git"
- variant('mpi', default=True, description='Enable MPI support')
- variant('jpeg', default=True, description='Enable JPEG support')
- variant('gzip', default=True,
- description='Enable GZIP for some input and output files')
- variant('debug', default=False,
- description='Builds a debug version of the executable')
- variant('profile', default=False,
- description='Generate profiling code')
+ version("3.8.0", sha256="9cb2e6596f584463ac2f80e3ff7b9588b7e3638c44324635b6329df87b90ab03")
- depends_on('vtk@6.1.0:8.2.0')
- depends_on('mpi', when='+mpi')
- depends_on('jpeg', when='+jpeg')
- depends_on('zlib', when="+gzip")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("jpeg", default=True, description="Enable JPEG support")
+ variant("gzip", default=True, description="Enable GZIP for some input and output files")
+ variant("debug", default=False, description="Builds a debug version of the executable")
+ variant("profile", default=False, description="Generate profiling code")
- build_directory = 'src'
- build_targets = ['auto']
+ depends_on("vtk@6.1.0:8.2.0")
+ depends_on("mpi", when="+mpi")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("zlib", when="+gzip")
+
+ build_directory = "src"
+ build_targets = ["auto"]
def edit(self, spec, prefix):
# The package expects you to create Makefile.user from
# Makefile.user_default.
- makefile_default = os.path.join('src', 'MAKE', 'Makefile.user_default')
- makefile_user = os.path.join('src', 'MAKE', 'Makefile.user')
+ makefile_default = os.path.join("src", "MAKE", "Makefile.user_default")
+ makefile_user = os.path.join("src", "MAKE", "Makefile.user")
os.symlink(os.path.basename(makefile_default), makefile_user)
makefile = FileFilter(makefile_user)
- makefile_auto = FileFilter(
- os.path.join('src', 'MAKE', 'Makefile.auto'))
+ makefile_auto = FileFilter(os.path.join("src", "MAKE", "Makefile.auto"))
# Upstream misleadingly suggests that VTK is an optional
# dependency, but VTK is always needed to create an output file!
- vtk = spec['vtk']
- makefile.filter(r'^#(VTK_INC_USR=-I).*',
- r'\1{0}'.format(
- # Glob for the VTK subdirectory like "vtk-8.1".
- glob(os.path.join(vtk.prefix.include, "vtk*"))[0]))
- makefile.filter(r'^#(VTK_LIB_USR=-L).*',
- r'\1{0}'.format(vtk.prefix.lib))
-
- if '+mpi' in spec:
- mpi = spec['mpi']
- makefile.filter(r'^#(MPICXX_USER=).*',
- r'\1{0}'.format(mpi.mpicxx))
- makefile.filter(r'^#(MPI_INC_USER=).*',
- r'\1{0}'.format(mpi.prefix.include))
- makefile.filter(r'^#(MPI_LIB_USER=).*',
- r'\1{0}'.format(mpi.prefix.lib))
+ vtk = spec["vtk"]
+ makefile.filter(
+ r"^#(VTK_INC_USR=-I).*",
+ r"\1{0}".format(
+ # Glob for the VTK subdirectory like "vtk-8.1".
+ glob(os.path.join(vtk.prefix.include, "vtk*"))[0]
+ ),
+ )
+ makefile.filter(r"^#(VTK_LIB_USR=-L).*", r"\1{0}".format(vtk.prefix.lib))
+
+ if "+mpi" in spec:
+ mpi = spec["mpi"]
+ makefile.filter(r"^#(MPICXX_USER=).*", r"\1{0}".format(mpi.mpicxx))
+ makefile.filter(r"^#(MPI_INC_USER=).*", r"\1{0}".format(mpi.prefix.include))
+ makefile.filter(r"^#(MPI_LIB_USER=).*", r"\1{0}".format(mpi.prefix.lib))
else:
- makefile.filter(r'^(USE_MPI = ).*', r'\1"OFF"')
+ makefile.filter(r"^(USE_MPI = ).*", r'\1"OFF"')
# Set path to C++ compiler.
- makefile.filter(r'^#(CXX_USR=).*', r'\1{0}'.format(env['CXX']))
+ makefile.filter(r"^#(CXX_USR=).*", r"\1{0}".format(env["CXX"]))
# Disable compilation sanity check which recursively
# builds using its own target!
- makefile_auto.filter(r'^(.+)(EXTRA_ADDLIBS.*mpi_stubs.*)',
- r'\1#\2')
+ makefile_auto.filter(r"^(.+)(EXTRA_ADDLIBS.*mpi_stubs.*)", r"\1#\2")
- if '+jpeg' in spec:
- jpeg = spec['jpeg']
- makefile.filter(r'^(USE_JPG = ).*', r'\1"ON"')
- makefile.filter(r'^#(JPG_INC_USER=-I).*',
- r'\1{0}'.format(jpeg.prefix.include))
- makefile.filter(r'^#(JPG_LIB_USER=-L).*',
- r'\1{0}'.format(jpeg.prefix.lib))
+ if "+jpeg" in spec:
+ jpeg = spec["jpeg"]
+ makefile.filter(r"^(USE_JPG = ).*", r'\1"ON"')
+ makefile.filter(r"^#(JPG_INC_USER=-I).*", r"\1{0}".format(jpeg.prefix.include))
+ makefile.filter(r"^#(JPG_LIB_USER=-L).*", r"\1{0}".format(jpeg.prefix.lib))
- if '+gzip' in spec:
- makefile.filter(r'^(USE_GZIP = ).*', r'\1"ON"')
+ if "+gzip" in spec:
+ makefile.filter(r"^(USE_GZIP = ).*", r'\1"ON"')
- if '+debug' in spec:
- makefile.filter(r'^(USE_DEBUG = ).*', r'\1"ON"')
+ if "+debug" in spec:
+ makefile.filter(r"^(USE_DEBUG = ).*", r'\1"ON"')
- if '+profile' in spec:
- makefile.filter(r'^(USE_PROFILE = ).*', r'\1"ON"')
+ if "+profile" in spec:
+ makefile.filter(r"^(USE_PROFILE = ).*", r'\1"ON"')
# Enable debug output of Makefile.auto in the log file
# src/Obj_auto/make_auto.log to quickly troubleshoot if
# anything goes wrong.
- env['AUTO_DEBUG'] = '1'
+ env["AUTO_DEBUG"] = "1"
def install(self, spec, prefix):
mkdir(prefix.bin)
- install(os.path.join('src', 'lmp_auto'), prefix.bin.liggghts)
+ install(os.path.join("src", "lmp_auto"), prefix.bin.liggghts)
diff --git a/var/spack/repos/builtin/packages/lighttpd/package.py b/var/spack/repos/builtin/packages/lighttpd/package.py
index cbe0847627..e4a40abc45 100644
--- a/var/spack/repos/builtin/packages/lighttpd/package.py
+++ b/var/spack/repos/builtin/packages/lighttpd/package.py
@@ -11,17 +11,17 @@ class Lighttpd(CMakePackage):
"""a secure, fast, compliant and very flexible web-server"""
homepage = "https://www.lighttpd.net"
- url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.50.tar.gz"
+ url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.50.tar.gz"
- version('1.4.55', sha256='065259fb618774df516add13df22a52cac76a8f59e4561f143fe3ec810f4a03a')
- version('1.4.54', sha256='5151d38cb7c4c40effa13710e77ebdbef899f945b062cf32befc02d128ac424c')
- version('1.4.53', sha256='423b3951f212e3a30511eb86f4662a1848c6e857074289ff23fc310eef520266')
- version('1.4.52', sha256='0f9de0227681c078f6b8c6154b581ced5fe7bcb5ff428ccf292581764b771145')
- version('1.4.51', sha256='4301fe64136c7030d63cccc96996c6603dcbe82cca9a72e0aca29ce88284c978')
- version('1.4.50', sha256='c9a9f175aca6db22ebebbc47de52c54a99bbd1dce8d61bb75103609a3d798235')
- version('1.4.49', sha256='8b744baf9f29c386fff1a6d2e435491e726cb8d29cfdb1fe20ab782ee2fc2ac7')
+ version("1.4.55", sha256="065259fb618774df516add13df22a52cac76a8f59e4561f143fe3ec810f4a03a")
+ version("1.4.54", sha256="5151d38cb7c4c40effa13710e77ebdbef899f945b062cf32befc02d128ac424c")
+ version("1.4.53", sha256="423b3951f212e3a30511eb86f4662a1848c6e857074289ff23fc310eef520266")
+ version("1.4.52", sha256="0f9de0227681c078f6b8c6154b581ced5fe7bcb5ff428ccf292581764b771145")
+ version("1.4.51", sha256="4301fe64136c7030d63cccc96996c6603dcbe82cca9a72e0aca29ce88284c978")
+ version("1.4.50", sha256="c9a9f175aca6db22ebebbc47de52c54a99bbd1dce8d61bb75103609a3d798235")
+ version("1.4.49", sha256="8b744baf9f29c386fff1a6d2e435491e726cb8d29cfdb1fe20ab782ee2fc2ac7")
- depends_on('pcre')
+ depends_on("pcre")
def cmake_args(self):
return ["-DSBINDIR=bin"]
diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py
index 5d711cccd2..accf3eef49 100644
--- a/var/spack/repos/builtin/packages/ligra/package.py
+++ b/var/spack/repos/builtin/packages/ligra/package.py
@@ -10,35 +10,35 @@ class Ligra(MakefilePackage):
"""A Lightweight Graph Processing Framework for Shared Memory"""
homepage = "https://jshun.github.io/ligra/"
- url = "https://github.com/jshun/ligra/archive/v.1.5.tar.gz"
+ url = "https://github.com/jshun/ligra/archive/v.1.5.tar.gz"
- version('1.5', sha256='74113a5a3c19a0e319a5b9ebefc8a67c5d18d4d2a9670363092a966f4163f6b7')
- version('1.4', sha256='bb70a1428c71cf2f7e1512cdedcd8330c754f5a2c8309ab9d9666591cff6a4e1')
- version('1.3', sha256='df848038734bb9724d6c9bd95595c91eb6b07027642be93bff161f020ff257e4')
- version('1.2', sha256='ec8778b0762772fc78437243ccaee72066d67a310bc352d6665dd2de520c04cc')
- version('1.1', sha256='a7311b96fabc286a8f1250d8a6e2d1b1e4545c720fa6bb4acf7ed31211fcc99a')
- version('1.0', sha256='fb39ae0a3eddb26f37b8cc0a543648575a50bcc488cecd4a5f1beaaf2458736c')
+ version("1.5", sha256="74113a5a3c19a0e319a5b9ebefc8a67c5d18d4d2a9670363092a966f4163f6b7")
+ version("1.4", sha256="bb70a1428c71cf2f7e1512cdedcd8330c754f5a2c8309ab9d9666591cff6a4e1")
+ version("1.3", sha256="df848038734bb9724d6c9bd95595c91eb6b07027642be93bff161f020ff257e4")
+ version("1.2", sha256="ec8778b0762772fc78437243ccaee72066d67a310bc352d6665dd2de520c04cc")
+ version("1.1", sha256="a7311b96fabc286a8f1250d8a6e2d1b1e4545c720fa6bb4acf7ed31211fcc99a")
+ version("1.0", sha256="fb39ae0a3eddb26f37b8cc0a543648575a50bcc488cecd4a5f1beaaf2458736c")
- variant('openmp', default=True, description="Build with OpenMP")
- variant('mkl', default=False, description="Build with Intel MKL")
+ variant("openmp", default=True, description="Build with OpenMP")
+ variant("mkl", default=False, description="Build with Intel MKL")
# TODO: Add cilk variant when spack has a cilk plus package created.
- depends_on('mkl', when='+mkl')
+ depends_on("mkl", when="+mkl")
def setup_build_environment(self, env):
- if '+openmp' in self.spec:
- env.set('OPENMP', '1')
+ if "+openmp" in self.spec:
+ env.set("OPENMP", "1")
# when +mkl, MKLROOT will be defined by intel-mkl package,
# triggering a build with mkl support
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.apps)
- env.prepend_path('PATH', self.prefix.utils)
+ env.prepend_path("PATH", self.prefix.apps)
+ env.prepend_path("PATH", self.prefix.utils)
def build(self, spec, prefix):
- make('-C', 'apps')
- make('-C', 'utils')
+ make("-C", "apps")
+ make("-C", "utils")
def install(self, spec, prefix):
- install_tree('.', prefix)
- install_tree('ligra', prefix.include)
+ install_tree(".", prefix)
+ install_tree("ligra", prefix.include)
diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py
index 15135d91be..ed3a5ceb43 100644
--- a/var/spack/repos/builtin/packages/likwid/package.py
+++ b/var/spack/repos/builtin/packages/likwid/package.py
@@ -18,184 +18,166 @@ class Likwid(Package):
for information."""
homepage = "https://hpc.fau.de/research/tools/likwid/"
- url = "https://github.com/RRZE-HPC/likwid/archive/v5.0.0.tar.gz"
- git = "https://github.com/RRZE-HPC/likwid.git"
- maintainers = ['TomTheBear']
-
- version('5.2.1', sha256='1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2')
- version('5.2.0', sha256='aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0')
- version('5.1.1', sha256='faec7c62987967232f476a6ff0ee85af686fd24b5a360126896b7f435d1f943f')
- version('5.1.0', sha256='5a180702a1656c6315b861a85031ab4cb090424aec42cbbb326b849e29f55571')
- version('5.0.2', sha256='0a1c8984e4b43ea8b99d09456ef05035eb934594af1669432117585c638a2da4')
- version('5.0.1', sha256='3757b0cb66e8af0116f9288c7f90543acbd8e2af8f72f77aef447ca2b3e76453')
- version('5.0.0', sha256='26623f5a1a5fec19d798f0114774a5293d1c93a148538b9591a13e50930fa41e')
- version('4.3.4', sha256='5c0d1c66b25dac8292a02232f06454067f031a238f010c62f40ef913c6609a83')
- version('4.3.3', sha256='a681378cd66c1679ca840fb5fac3136bfec93c01b3d78cc1d00a641db325a9a3')
- version('4.3.2', sha256='fd39529854b8952e7530da1684835aa43ac6ce2169f5ebd1fb2a481f6fb288ac')
- version('4.3.1', sha256='4b40a96717da54514274d166f9b71928545468091c939c1d74109733279eaeb1')
- version('4.3.0', sha256='86fc5f82c80fcff1a643394627839ec79f1ca2bcfad30000eb7018da592588b4')
-
- patch('https://github.com/RRZE-HPC/likwid/commit/e0332ace8fe8ca7dcd4b4477a25e37944f173a5c.patch?full_index=1',
- when='@5.0.1',
- sha256='13211de1b9f256b547e1565240c2c9d063855b17d70bd7379442789aa3424246')
- patch('https://github.com/RRZE-HPC/likwid/commit/d2d0ef333b5e0997d7c80fc6ac1a473b5e47d084.patch?full_index=1',
- when='@4.3.4',
- sha256='f14cd6bc5870e4665fe465dabaff965a5fdee19c6d669a1ec5ce2b143dcdde4b')
- patch('https://github.com/RRZE-HPC/likwid/files/5341379/likwid-lua5.1.patch.txt',
- when='@5.0.2^lua@5.1',
- sha256='bc56253c1e3436b5ba7bf4c5533d0391206900c8663c008f771a16376975e416')
- patch('https://github.com/RRZE-HPC/likwid/releases/download/v5.1.0/likwid-mpirun-5.1.0.patch?full_index=1',
- when='@5.1.0',
- sha256='62da145da0a09de21020f9726290e1daf7437691bab8a92d7254bc192d5f3061')
- variant('fortran', default=True, description='with fortran interface')
- variant('cuda', default=False, description='with Nvidia GPU profiling support')
+ url = "https://github.com/RRZE-HPC/likwid/archive/v5.0.0.tar.gz"
+ git = "https://github.com/RRZE-HPC/likwid.git"
+ maintainers = ["TomTheBear"]
+
+ version("5.2.1", sha256="1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2")
+ version("5.2.0", sha256="aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0")
+ version("5.1.1", sha256="faec7c62987967232f476a6ff0ee85af686fd24b5a360126896b7f435d1f943f")
+ version("5.1.0", sha256="5a180702a1656c6315b861a85031ab4cb090424aec42cbbb326b849e29f55571")
+ version("5.0.2", sha256="0a1c8984e4b43ea8b99d09456ef05035eb934594af1669432117585c638a2da4")
+ version("5.0.1", sha256="3757b0cb66e8af0116f9288c7f90543acbd8e2af8f72f77aef447ca2b3e76453")
+ version("5.0.0", sha256="26623f5a1a5fec19d798f0114774a5293d1c93a148538b9591a13e50930fa41e")
+ version("4.3.4", sha256="5c0d1c66b25dac8292a02232f06454067f031a238f010c62f40ef913c6609a83")
+ version("4.3.3", sha256="a681378cd66c1679ca840fb5fac3136bfec93c01b3d78cc1d00a641db325a9a3")
+ version("4.3.2", sha256="fd39529854b8952e7530da1684835aa43ac6ce2169f5ebd1fb2a481f6fb288ac")
+ version("4.3.1", sha256="4b40a96717da54514274d166f9b71928545468091c939c1d74109733279eaeb1")
+ version("4.3.0", sha256="86fc5f82c80fcff1a643394627839ec79f1ca2bcfad30000eb7018da592588b4")
+
+ patch(
+ "https://github.com/RRZE-HPC/likwid/commit/e0332ace8fe8ca7dcd4b4477a25e37944f173a5c.patch?full_index=1",
+ when="@5.0.1",
+ sha256="13211de1b9f256b547e1565240c2c9d063855b17d70bd7379442789aa3424246",
+ )
+ patch(
+ "https://github.com/RRZE-HPC/likwid/commit/d2d0ef333b5e0997d7c80fc6ac1a473b5e47d084.patch?full_index=1",
+ when="@4.3.4",
+ sha256="f14cd6bc5870e4665fe465dabaff965a5fdee19c6d669a1ec5ce2b143dcdde4b",
+ )
+ patch(
+ "https://github.com/RRZE-HPC/likwid/files/5341379/likwid-lua5.1.patch.txt",
+ when="@5.0.2^lua@5.1",
+ sha256="bc56253c1e3436b5ba7bf4c5533d0391206900c8663c008f771a16376975e416",
+ )
+ patch(
+ "https://github.com/RRZE-HPC/likwid/releases/download/v5.1.0/likwid-mpirun-5.1.0.patch?full_index=1",
+ when="@5.1.0",
+ sha256="62da145da0a09de21020f9726290e1daf7437691bab8a92d7254bc192d5f3061",
+ )
+ variant("fortran", default=True, description="with fortran interface")
+ variant("cuda", default=False, description="with Nvidia GPU profiling support")
# NOTE: There is no way to use an externally provided hwloc with Likwid.
# The reason is that the internal hwloc is patched to contain extra
# functionality and functions are prefixed with "likwid_".
# Note: extra functionality was included in upstream hwloc
- depends_on('lua', when='@:4')
- depends_on('lua@5.2:', when='@5:5.0.1')
- depends_on('lua', when='@5.0.2:')
- depends_on('cuda', when='@5: +cuda')
- depends_on('hwloc', when='@5.2.0:')
+ depends_on("lua", when="@:4")
+ depends_on("lua@5.2:", when="@5:5.0.1")
+ depends_on("lua", when="@5.0.2:")
+ depends_on("cuda", when="@5: +cuda")
+ depends_on("hwloc", when="@5.2.0:")
# TODO: check
# depends_on('gnuplot', type='run')
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
def patch(self):
- files = glob.glob('perl/*.*') + glob.glob('bench/perl/*.*')
+ files = glob.glob("perl/*.*") + glob.glob("bench/perl/*.*")
# Allow the scripts to find Spack's perl
- filter_file('^#!/usr/bin/perl -w', '#!/usr/bin/env perl', *files)
- filter_file('^#!/usr/bin/perl', '#!/usr/bin/env perl', *files)
+ filter_file("^#!/usr/bin/perl -w", "#!/usr/bin/env perl", *files)
+ filter_file("^#!/usr/bin/perl", "#!/usr/bin/env perl", *files)
def setup_run_environment(self, env):
if "+cuda" in self.spec:
- libs = find_libraries('libcupti', root=self.spec['cuda'].prefix,
- shared=True, recursive=True)
+ libs = find_libraries(
+ "libcupti", root=self.spec["cuda"].prefix, shared=True, recursive=True
+ )
for lib in libs.directories:
- env.append_path('LD_LIBRARY_PATH', lib)
+ env.append_path("LD_LIBRARY_PATH", lib)
- @run_before('install')
+ @run_before("install")
def filter_sbang(self):
# Filter sbang before install so Spack's sbang hook can fix it up
- files = ['perl/feedGnuplot'] + glob.glob('filters/*')
+ files = ["perl/feedGnuplot"] + glob.glob("filters/*")
- filter_file('^#!/usr/bin/perl',
- '#!{0}'.format(self.spec['perl'].command.path),
- *files)
+ filter_file("^#!/usr/bin/perl", "#!{0}".format(self.spec["perl"].command.path), *files)
def install(self, spec, prefix):
supported_compilers = {
- 'apple-clang': 'CLANG',
- 'clang': 'CLANG',
- 'gcc': 'GCC',
- 'intel': 'ICC'
+ "apple-clang": "CLANG",
+ "clang": "CLANG",
+ "gcc": "GCC",
+ "intel": "ICC",
}
- if spec.target.family == 'aarch64':
- supported_compilers = {
- 'gcc': 'GCCARMv8', 'clang': 'ARMCLANG', 'arm': 'ARMCLANG'}
- elif spec.target.family == 'ppc64' or spec.target.family == 'ppc64le':
- supported_compilers = {'gcc': 'GCCPOWER'}
+ if spec.target.family == "aarch64":
+ supported_compilers = {"gcc": "GCCARMv8", "clang": "ARMCLANG", "arm": "ARMCLANG"}
+ elif spec.target.family == "ppc64" or spec.target.family == "ppc64le":
+ supported_compilers = {"gcc": "GCCPOWER"}
if self.compiler.name not in supported_compilers:
- raise RuntimeError('{0} is not a supported compiler \
- to compile Likwid'.format(self.compiler.name))
-
- filter_file('^COMPILER .*',
- 'COMPILER = ' +
- supported_compilers[self.compiler.name],
- 'config.mk')
- filter_file('^PREFIX .*',
- 'PREFIX = ' +
- prefix,
- 'config.mk')
+ raise RuntimeError(
+ "{0} is not a supported compiler \
+ to compile Likwid".format(
+ self.compiler.name
+ )
+ )
+
+ filter_file(
+ "^COMPILER .*", "COMPILER = " + supported_compilers[self.compiler.name], "config.mk"
+ )
+ filter_file("^PREFIX .*", "PREFIX = " + prefix, "config.mk")
# FIXME: once https://github.com/spack/spack/issues/4432 is
# resolved, install as root by default and remove this
- filter_file('^ACCESSMODE .*',
- 'ACCESSMODE = perf_event',
- 'config.mk')
- filter_file('^BUILDFREQ .*',
- 'BUILDFREQ = false',
- 'config.mk')
- filter_file('^BUILDDAEMON .*',
- 'BUILDDAEMON = false',
- 'config.mk')
-
- if '+fortran' in self.spec:
- filter_file('^FORTRAN_INTERFACE .*',
- 'FORTRAN_INTERFACE = true',
- 'config.mk')
- if self.compiler.name == 'gcc':
- makepath = join_path('make', 'include_GCC.mk')
- filter_file('ifort', 'gfortran', makepath)
- filter_file('-module', '-I', makepath)
+ filter_file("^ACCESSMODE .*", "ACCESSMODE = perf_event", "config.mk")
+ filter_file("^BUILDFREQ .*", "BUILDFREQ = false", "config.mk")
+ filter_file("^BUILDDAEMON .*", "BUILDDAEMON = false", "config.mk")
+
+ if "+fortran" in self.spec:
+ filter_file("^FORTRAN_INTERFACE .*", "FORTRAN_INTERFACE = true", "config.mk")
+ if self.compiler.name == "gcc":
+ makepath = join_path("make", "include_GCC.mk")
+ filter_file("ifort", "gfortran", makepath)
+ filter_file("-module", "-I", makepath)
else:
- filter_file('^FORTRAN_INTERFACE .*',
- 'FORTRAN_INTERFACE = false',
- 'config.mk')
+ filter_file("^FORTRAN_INTERFACE .*", "FORTRAN_INTERFACE = false", "config.mk")
if "+cuda" in self.spec:
- filter_file('^NVIDIA_INTERFACE.*',
- 'NVIDIA_INTERFACE = true',
- 'config.mk')
- filter_file('^BUILDAPPDAEMON.*',
- 'BUILDAPPDAEMON = true',
- 'config.mk')
- cudainc = spec['cuda'].prefix.include
- filter_file('^CUDAINCLUDE.*',
- 'CUDAINCLUDE = {0}'.format(cudainc),
- 'config.mk')
- cuptihead = HeaderList(find(spec['cuda'].prefix, 'cupti.h',
- recursive=True))
- filter_file('^CUPTIINCLUDE.*',
- 'CUPTIINCLUDE = {0}'.format(cuptihead.directories[0]),
- 'config.mk')
+ filter_file("^NVIDIA_INTERFACE.*", "NVIDIA_INTERFACE = true", "config.mk")
+ filter_file("^BUILDAPPDAEMON.*", "BUILDAPPDAEMON = true", "config.mk")
+ cudainc = spec["cuda"].prefix.include
+ filter_file("^CUDAINCLUDE.*", "CUDAINCLUDE = {0}".format(cudainc), "config.mk")
+ cuptihead = HeaderList(find(spec["cuda"].prefix, "cupti.h", recursive=True))
+ filter_file(
+ "^CUPTIINCLUDE.*",
+ "CUPTIINCLUDE = {0}".format(cuptihead.directories[0]),
+ "config.mk",
+ )
else:
- filter_file('^NVIDIA_INTERFACE.*',
- 'NVIDIA_INTERFACE = false',
- 'config.mk')
-
- if spec.satisfies('^lua'):
- filter_file('^#LUA_INCLUDE_DIR.*',
- 'LUA_INCLUDE_DIR = {0}'.format(
- spec['lua'].prefix.include),
- 'config.mk')
- filter_file('^#LUA_LIB_DIR.*',
- 'LUA_LIB_DIR = {0}'.format(
- spec['lua'].prefix.lib),
- 'config.mk')
- filter_file('^#LUA_LIB_NAME.*',
- 'LUA_LIB_NAME = lua',
- 'config.mk')
- filter_file('^#LUA_BIN.*',
- 'LUA_BIN = {0}'.format(
- spec['lua'].prefix.bin),
- 'config.mk')
-
- if spec.satisfies('^hwloc'):
- filter_file('^#HWLOC_INCLUDE_DIR.*',
- 'HWLOC_INCLUDE_DIR = {0}'.format(
- spec['hwloc'].prefix.include),
- 'config.mk')
- filter_file('^#HWLOC_LIB_DIR.*',
- 'HWLOC_LIB_DIR = {0}'.format(
- spec['hwloc'].prefix.lib),
- 'config.mk')
- filter_file('^#HWLOC_LIB_NAME.*',
- 'HWLOC_LIB_NAME = hwloc',
- 'config.mk')
+ filter_file("^NVIDIA_INTERFACE.*", "NVIDIA_INTERFACE = false", "config.mk")
+
+ if spec.satisfies("^lua"):
+ filter_file(
+ "^#LUA_INCLUDE_DIR.*",
+ "LUA_INCLUDE_DIR = {0}".format(spec["lua"].prefix.include),
+ "config.mk",
+ )
+ filter_file(
+ "^#LUA_LIB_DIR.*", "LUA_LIB_DIR = {0}".format(spec["lua"].prefix.lib), "config.mk"
+ )
+ filter_file("^#LUA_LIB_NAME.*", "LUA_LIB_NAME = lua", "config.mk")
+ filter_file("^#LUA_BIN.*", "LUA_BIN = {0}".format(spec["lua"].prefix.bin), "config.mk")
+
+ if spec.satisfies("^hwloc"):
+ filter_file(
+ "^#HWLOC_INCLUDE_DIR.*",
+ "HWLOC_INCLUDE_DIR = {0}".format(spec["hwloc"].prefix.include),
+ "config.mk",
+ )
+ filter_file(
+ "^#HWLOC_LIB_DIR.*",
+ "HWLOC_LIB_DIR = {0}".format(spec["hwloc"].prefix.lib),
+ "config.mk",
+ )
+ filter_file("^#HWLOC_LIB_NAME.*", "HWLOC_LIB_NAME = hwloc", "config.mk")
# https://github.com/RRZE-HPC/likwid/issues/287
- if self.spec.satisfies('@:5.0.2 %gcc@10:'):
- filter_file(r'^(CFLAGS.*)',
- '\\1 -fcommon',
- 'make/include_GCC.mk')
+ if self.spec.satisfies("@:5.0.2 %gcc@10:"):
+ filter_file(r"^(CFLAGS.*)", "\\1 -fcommon", "make/include_GCC.mk")
- env['PWD'] = os.getcwd()
+ env["PWD"] = os.getcwd()
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/linkphase3/package.py b/var/spack/repos/builtin/packages/linkphase3/package.py
index 7700afee16..6950ce94f5 100644
--- a/var/spack/repos/builtin/packages/linkphase3/package.py
+++ b/var/spack/repos/builtin/packages/linkphase3/package.py
@@ -10,12 +10,12 @@ class Linkphase3(Package):
"""Haplotype reconstruction in pedigreed populations."""
homepage = "https://github.com/tdruet/LINKPHASE3"
- git = "https://github.com/tdruet/LINKPHASE3.git"
+ git = "https://github.com/tdruet/LINKPHASE3.git"
- version('2017-06-14', commit='559913593fc818bb1adb29796a548cf5bf323827')
+ version("2017-06-14", commit="559913593fc818bb1adb29796a548cf5bf323827")
def install(self, spec, prefix):
fortran = Executable(self.compiler.fc)
- fortran('LINKPHASE3.f90', '-o', 'LINKPHASE3')
+ fortran("LINKPHASE3.f90", "-o", "LINKPHASE3")
mkdirp(prefix.bin)
- install('LINKPHASE3', prefix.bin)
+ install("LINKPHASE3", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/linktest/package.py b/var/spack/repos/builtin/packages/linktest/package.py
index 86c31a2d0d..c11f77fbc6 100644
--- a/var/spack/repos/builtin/packages/linktest/package.py
+++ b/var/spack/repos/builtin/packages/linktest/package.py
@@ -11,29 +11,34 @@ class Linktest(MakefilePackage):
"""Performance tool to generate communication matrix using
parallel ping-pong benchmark"""
- homepage = "https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/LinkTest/_node.html"
- url = "https://apps.fz-juelich.de/jsc/linktest/download.php?version=1.2p1"
+ homepage = (
+ "https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/LinkTest/_node.html"
+ )
+ url = "https://apps.fz-juelich.de/jsc/linktest/download.php?version=1.2p1"
- maintainers = ['pramodk']
+ maintainers = ["pramodk"]
- version('1.2p1', sha256='981b96da1d5bf214507b8e219a36e8d0183d8bd5c10539b26f660b2c83e5269d', extension='tar.gz')
+ version(
+ "1.2p1",
+ sha256="981b96da1d5bf214507b8e219a36e8d0183d8bd5c10539b26f660b2c83e5269d",
+ extension="tar.gz",
+ )
- depends_on('mpi')
- depends_on('sionlib')
+ depends_on("mpi")
+ depends_on("sionlib")
def edit(self, spec, prefix):
- with working_dir('src'):
- makefile = FileFilter('Makefile')
- makefile.filter('= gcc', '= cc')
- makefile.filter('mpicc', spec['mpi'].mpicc)
- makefile.filter('#SIONLIB_INST=.*',
- 'SIONLIB_INST=%s' % spec['sionlib'].prefix)
+ with working_dir("src"):
+ makefile = FileFilter("Makefile")
+ makefile.filter("= gcc", "= cc")
+ makefile.filter("mpicc", spec["mpi"].mpicc)
+ makefile.filter("#SIONLIB_INST=.*", "SIONLIB_INST=%s" % spec["sionlib"].prefix)
def build(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
make()
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('src/mpilinktest', prefix.bin)
- install('src/pingponganalysis', prefix.bin)
+ install("src/mpilinktest", prefix.bin)
+ install("src/pingponganalysis", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/linsys-v/package.py b/var/spack/repos/builtin/packages/linsys-v/package.py
index 21dbf99b36..8b3ea75fcc 100644
--- a/var/spack/repos/builtin/packages/linsys-v/package.py
+++ b/var/spack/repos/builtin/packages/linsys-v/package.py
@@ -24,18 +24,13 @@ class LinsysV(MakefilePackage):
depends_on("scalapack", type="link")
def patch(self):
- math_libs = (
- self.spec["lapack"].libs
- + self.spec["blas"].libs
- + self.spec["scalapack"].libs
- )
+ math_libs = self.spec["lapack"].libs + self.spec["blas"].libs + self.spec["scalapack"].libs
makefile = FileFilter("Makefile")
if self.spec.satisfies("%gcc"):
makefile.filter(r"^ENV\s+=\sK", "#ENV=K")
makefile.filter(r"^#ENV\s+=\sGCC", "ENV=GCC")
makefile.filter(r"^MKL\s+=\s1", "MKL=0")
- makefile.filter(r"^CC\s+=\smpicc",
- "CC={0}".format(self.spec["mpi"].mpicc))
+ makefile.filter(r"^CC\s+=\smpicc", "CC={0}".format(self.spec["mpi"].mpicc))
makefile.filter(
r"^LIBS\s+=\s-lscalapack\s-lblacs\s-llapack\s-lblas",
"LIBS={0}".format(math_libs.ld_flags) + " -lm",
@@ -44,15 +39,10 @@ class LinsysV(MakefilePackage):
makefile.filter(r"^#ENV\s+=\sK", "ENV=K")
makefile.filter(r"^ENV\s+=\sGCC", "#ENV=GCC")
makefile.filter(r"^MKL\s+=\s1", "MKL=0")
- makefile.filter(
- r"^CC\s+=\smpifccpx",
- "CC={0}".format(self.spec["mpi"].mpicc)
- )
+ makefile.filter(r"^CC\s+=\smpifccpx", "CC={0}".format(self.spec["mpi"].mpicc))
makefile.filter(
r"^CFLAGS\s+=\s-Kfast,openmp",
- "CFLAGS=-Ofast -fstrict-aliasing {0}".format(
- self.compiler.openmp_flag
- ),
+ "CFLAGS=-Ofast -fstrict-aliasing {0}".format(self.compiler.openmp_flag),
)
makefile.filter(
r"^LIBS\s+=\s-SCALAPACK\s-SSL2BLAMP",
@@ -61,8 +51,7 @@ class LinsysV(MakefilePackage):
elif self.spec.satisfies("%intel"):
makefile.filter(r"^ENV\s+=\sGCC", "#ENV=GCC")
makefile.filter(r"^ENV\s+=\sICC", "ENV=ICC")
- makefile.filter(r"^C\s+=\smpiicc",
- "CC={0}".format(self.spec["mpi"].mpicc))
+ makefile.filter(r"^C\s+=\smpiicc", "CC={0}".format(self.spec["mpi"].mpicc))
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/linux-headers/package.py b/var/spack/repos/builtin/packages/linux-headers/package.py
index 9b08938a0f..5981ce27a7 100644
--- a/var/spack/repos/builtin/packages/linux-headers/package.py
+++ b/var/spack/repos/builtin/packages/linux-headers/package.py
@@ -10,17 +10,17 @@ class LinuxHeaders(Package):
"""The Linux kernel headers."""
homepage = "https://www.kernel.org/"
- url = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.10.tar.xz"
+ url = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.10.tar.xz"
list_url = "https://www.kernel.org/pub/linux/kernel"
list_depth = 2
- version('4.9.10', sha256='bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525')
+ version("4.9.10", sha256="bd6e05476fd8d9ea4945e11598d87bc97806bbc8d03556abbaaf809707661525")
def setup_build_environment(self, env):
# This variable is used in the Makefile. If it is defined on the
# system, it can break the build if there is no build recipe for
# that specific ARCH
- env.unset('ARCH')
+ env.unset("ARCH")
def install(self, spec, prefix):
- make('headers_install', 'INSTALL_HDR_PATH={0}'.format(prefix))
+ make("headers_install", "INSTALL_HDR_PATH={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/linux-pam/package.py b/var/spack/repos/builtin/packages/linux-pam/package.py
index 0c010714be..9a7922cdda 100644
--- a/var/spack/repos/builtin/packages/linux-pam/package.py
+++ b/var/spack/repos/builtin/packages/linux-pam/package.py
@@ -10,21 +10,19 @@ class LinuxPam(AutotoolsPackage):
"""Linux PAM (Pluggable Authentication Modules for Linux) project."""
homepage = "http://www.linux-pam.org/"
- url = "https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2.tar.xz"
+ url = "https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2.tar.xz"
- version('1.5.1', sha256='201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc')
- version('1.5.2', sha256='e4ec7131a91da44512574268f493c6d8ca105c87091691b8e9b56ca685d4f94d')
- version('1.5.0', sha256='02d39854b508fae9dc713f7733bbcdadbe17b50de965aedddd65bcb6cc7852c8')
- version('1.4.0', sha256='cd6d928c51e64139be3bdb38692c68183a509b83d4f2c221024ccd4bcddfd034')
- version('1.3.1', sha256='eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db')
+ version("1.5.1", sha256="201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc")
+ version("1.5.2", sha256="e4ec7131a91da44512574268f493c6d8ca105c87091691b8e9b56ca685d4f94d")
+ version("1.5.0", sha256="02d39854b508fae9dc713f7733bbcdadbe17b50de965aedddd65bcb6cc7852c8")
+ version("1.4.0", sha256="cd6d928c51e64139be3bdb38692c68183a509b83d4f2c221024ccd4bcddfd034")
+ version("1.3.1", sha256="eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
def configure_args(self):
- config_args = [
- '--includedir=' + self.prefix.include.security
- ]
+ config_args = ["--includedir=" + self.prefix.include.security]
return config_args
diff --git a/var/spack/repos/builtin/packages/lis/package.py b/var/spack/repos/builtin/packages/lis/package.py
index d9213e066a..f6478e9b00 100644
--- a/var/spack/repos/builtin/packages/lis/package.py
+++ b/var/spack/repos/builtin/packages/lis/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Lis(AutotoolsPackage):
"""Lis (Library of Iterative Solvers for linear systems,
- pronounced [lis]) is a parallel software library for
- solving discretized linear equations and eigenvalue
- problems that arise in the numerical solution of partial
- differential equations using iterative methods."""
+ pronounced [lis]) is a parallel software library for
+ solving discretized linear equations and eigenvalue
+ problems that arise in the numerical solution of partial
+ differential equations using iterative methods."""
homepage = "https://www.ssisc.org/lis/index.en.html"
- url = "https://www.ssisc.org/lis/dl/lis-2.0.27.zip"
+ url = "https://www.ssisc.org/lis/dl/lis-2.0.27.zip"
- version('2.0.27', sha256='85f32f4abbc94d1b40b22c10b915170271b19822b6aa6939b1cb295f6e455237')
+ version("2.0.27", sha256="85f32f4abbc94d1b40b22c10b915170271b19822b6aa6939b1cb295f6e455237")
- variant('mpi', default=False, description='Build with MPI library')
- variant('omp', default=False, description='Build with openMP library')
- variant('f90', default=False, description='enable FORTRAN 90 compatible interfaces')
+ variant("mpi", default=False, description="Build with MPI library")
+ variant("omp", default=False, description="Build with openMP library")
+ variant("f90", default=False, description="enable FORTRAN 90 compatible interfaces")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def configure_args(self):
config_args = []
- config_args.extend(self.enable_or_disable('mpi'))
- config_args.extend(self.enable_or_disable('omp'))
- config_args.extend(self.enable_or_disable('f90'))
+ config_args.extend(self.enable_or_disable("mpi"))
+ config_args.extend(self.enable_or_disable("omp"))
+ config_args.extend(self.enable_or_disable("f90"))
- if self.spec.satisfies('%fj'):
- config_args.append('CLIBS=-lm')
- config_args.append('FCLDFLAGS=-mlcmain=main')
+ if self.spec.satisfies("%fj"):
+ config_args.append("CLIBS=-lm")
+ config_args.append("FCLDFLAGS=-mlcmain=main")
return config_args
diff --git a/var/spack/repos/builtin/packages/listres/package.py b/var/spack/repos/builtin/packages/listres/package.py
index 937105c58c..c5035a39dd 100644
--- a/var/spack/repos/builtin/packages/listres/package.py
+++ b/var/spack/repos/builtin/packages/listres/package.py
@@ -13,12 +13,12 @@ class Listres(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/listres"
xorg_mirror_path = "app/listres-1.0.3.tar.gz"
- version('1.0.3', sha256='87d5698b8aa4d841e45e6556932c9914210cbd8b10003d664b31185b087981be')
+ version("1.0.3", sha256="87d5698b8aa4d841e45e6556932c9914210cbd8b10003d664b31185b087981be")
- depends_on('libxaw')
- depends_on('libxt')
- depends_on('libxmu')
+ depends_on("libxaw")
+ depends_on("libxt")
+ depends_on("libxmu")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/lizard/package.py b/var/spack/repos/builtin/packages/lizard/package.py
index 88f1fa8e33..8b09a0edaa 100644
--- a/var/spack/repos/builtin/packages/lizard/package.py
+++ b/var/spack/repos/builtin/packages/lizard/package.py
@@ -8,20 +8,19 @@ from spack.package import *
class Lizard(MakefilePackage):
"""Lizard (formerly LZ5) is an efficient compressor with very
- fast decompression. It achieves compression ratio that is
- comparable to zip/zlib and zstd/brotli (at low and medium
- compression levels) at decompression speed of 1000 MB/s and
- faster."""
+ fast decompression. It achieves compression ratio that is
+ comparable to zip/zlib and zstd/brotli (at low and medium
+ compression levels) at decompression speed of 1000 MB/s and
+ faster."""
homepage = "https://github.com/inikep/lizard"
- url = "https://github.com/inikep/lizard/archive/v1.0.tar.gz"
- git = "https://github.com/inikep/lizard.git"
+ url = "https://github.com/inikep/lizard/archive/v1.0.tar.gz"
+ git = "https://github.com/inikep/lizard.git"
- version('develop', branch='lizard')
- version('1.0',
- sha256='6f666ed699fc15dc7fdaabfaa55787b40ac251681b50c0d8df017c671a9457e6')
+ version("develop", branch="lizard")
+ version("1.0", sha256="6f666ed699fc15dc7fdaabfaa55787b40ac251681b50c0d8df017c671a9457e6")
- patch('fix-install-decompress.patch', when='@1.0')
+ patch("fix-install-decompress.patch", when="@1.0")
def install(self, spec, prefix):
make("PREFIX=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/lksctp-tools/package.py b/var/spack/repos/builtin/packages/lksctp-tools/package.py
index d838c94ca0..013e5fd0e9 100644
--- a/var/spack/repos/builtin/packages/lksctp-tools/package.py
+++ b/var/spack/repos/builtin/packages/lksctp-tools/package.py
@@ -10,11 +10,11 @@ class LksctpTools(AutotoolsPackage):
"""A Linux SCTP helper library"""
homepage = "https://github.com/sctp/lksctp-tools"
- url = "https://github.com/sctp/lksctp-tools/archive/v1.0.18.tar.gz"
+ url = "https://github.com/sctp/lksctp-tools/archive/v1.0.18.tar.gz"
- version('1.0.18', sha256='3e9ab5b3844a8b65fc8152633aafe85f406e6da463e53921583dfc4a443ff03a')
+ version("1.0.18", sha256="3e9ab5b3844a8b65fc8152633aafe85f406e6da463e53921583dfc4a443ff03a")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
index be2fb26d99..3704770dd7 100644
--- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
+++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
@@ -11,174 +11,218 @@ from spack.package import *
class LlvmAmdgpu(CMakePackage):
"""Toolkit for the construction of highly optimized compilers,
- optimizers, and run-time environments."""
+ optimizers, and run-time environments."""
homepage = "https://github.com/RadeonOpenCompute/llvm-project"
- git = "https://github.com/RadeonOpenCompute/llvm-project.git"
- url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
-
- version('master', branch='amd-stg-open')
- version('5.1.3', sha256='d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128')
- version('5.1.0', sha256='db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10')
- version('5.0.2', sha256='99a14394b406263576ed3d8d10334de7c78d42b349109f375d178b11492eecaf')
- version('5.0.0', sha256='bca2db4aaab71541cac588d6a708fde60f0ebe744809bde8a3847044a1a77413')
- version('4.5.2', sha256='36a4f7dd961cf373b743fc679bdf622089d2a905de2cfd6fd6c9e7ff8d8ad61f')
- version('4.5.0', sha256='b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97')
- version('4.3.1', sha256='b53c6b13be7d77dc93a7c62e4adbb414701e4e601e1af2d1e98da4ee07c9837f', deprecated=True)
- version('4.3.0', sha256='1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87', deprecated=True)
- version('4.2.0', sha256='751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661', deprecated=True)
- version('4.1.0', sha256='244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae', deprecated=True)
- version('4.0.0', sha256='aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69', deprecated=True)
- version('3.10.0', sha256='8262aff88c1ff6c4deb4da5a4f8cda1bf90668950e2b911f93f73edaee53b370', deprecated=True)
- version('3.9.0', sha256='1ff14b56d10c2c44d36c3c412b190d3d8cd1bb12cfc7cd58af004c16fd9987d1', deprecated=True)
- version('3.8.0', sha256='93a28464a4d0c1c9f4ba55e473e5d1cde4c5c0e6d087ec8a0a3aef1f5f5208e8', deprecated=True)
- version('3.7.0', sha256='3e2542ce54b91b5c841f33d542143e0e43eae95e8785731405af29f08ace725b', deprecated=True)
- version('3.5.0', sha256='4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ git = "https://github.com/RadeonOpenCompute/llvm-project.git"
+ url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+
+ version("master", branch="amd-stg-open")
+ version("5.1.3", sha256="d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128")
+ version("5.1.0", sha256="db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10")
+ version("5.0.2", sha256="99a14394b406263576ed3d8d10334de7c78d42b349109f375d178b11492eecaf")
+ version("5.0.0", sha256="bca2db4aaab71541cac588d6a708fde60f0ebe744809bde8a3847044a1a77413")
+ version("4.5.2", sha256="36a4f7dd961cf373b743fc679bdf622089d2a905de2cfd6fd6c9e7ff8d8ad61f")
+ version("4.5.0", sha256="b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97")
+ version(
+ "4.3.1",
+ sha256="b53c6b13be7d77dc93a7c62e4adbb414701e4e601e1af2d1e98da4ee07c9837f",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="8262aff88c1ff6c4deb4da5a4f8cda1bf90668950e2b911f93f73edaee53b370",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="1ff14b56d10c2c44d36c3c412b190d3d8cd1bb12cfc7cd58af004c16fd9987d1",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="93a28464a4d0c1c9f4ba55e473e5d1cde4c5c0e6d087ec8a0a3aef1f5f5208e8",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="3e2542ce54b91b5c841f33d542143e0e43eae95e8785731405af29f08ace725b",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c",
+ deprecated=True,
+ )
+
variant(
- 'rocm-device-libs',
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant(
+ "rocm-device-libs",
default=True,
description=(
- 'Build ROCm device libs as external LLVM project instead of a '
- 'standalone spack package.'
- )
+ "Build ROCm device libs as external LLVM project instead of a "
+ "standalone spack package."
+ ),
)
- variant('openmp', default=False, description='Enable OpenMP')
+ variant("openmp", default=False, description="Enable OpenMP")
variant(
- 'llvm_dylib',
+ "llvm_dylib",
default=False,
- description='Build LLVM shared library, containing all '
- 'components in a single shared library',
+ description="Build LLVM shared library, containing all "
+ "components in a single shared library",
)
variant(
- 'link_llvm_dylib',
+ "link_llvm_dylib",
default=False,
- description='Link LLVM tools against the LLVM shared library',
+ description="Link LLVM tools against the LLVM shared library",
)
- provides('libllvm@11', when='@3.5:3.8')
- provides('libllvm@12', when='@3.9:4.2')
- provides('libllvm@13', when='@4.3:4.9')
- provides('libllvm@14', when='@5:')
+ provides("libllvm@11", when="@3.5:3.8")
+ provides("libllvm@12", when="@3.9:4.2")
+ provides("libllvm@13", when="@4.3:4.9")
+ provides("libllvm@14", when="@5:")
- depends_on('cmake@3.4.3:', type='build', when='@:3.8')
- depends_on('cmake@3.13.4:', type='build', when='@3.9.0:')
- depends_on('python', type='build')
- depends_on('z3', type='link')
- depends_on('zlib', type='link')
- depends_on('ncurses+termlib', type='link')
+ depends_on("cmake@3.4.3:", type="build", when="@:3.8")
+ depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
+ depends_on("python", type="build")
+ depends_on("z3", type="link")
+ depends_on("zlib", type="link")
+ depends_on("ncurses+termlib", type="link")
# openmp dependencies
- depends_on("perl-data-dumper", type=("build"), when='+openmp')
- depends_on("hwloc", when='+openmp')
- depends_on('elf', type='link', when='+openmp')
+ depends_on("perl-data-dumper", type=("build"), when="+openmp")
+ depends_on("hwloc", when="+openmp")
+ depends_on("elf", type="link", when="+openmp")
# Will likely only be fixed in LLVM 12 upstream
- patch('fix-system-zlib-ncurses.patch', when='@3.5.0:3.8.0')
- patch('fix-ncurses-3.9.0.patch', when='@3.9.0:4.0.0')
+ patch("fix-system-zlib-ncurses.patch", when="@3.5.0:3.8.0")
+ 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:4.5.2')
+ patch("fix-spack-detection-4.2.0.patch", when="@4.2.0:4.5.2")
- patch('remove-cyclades-inclusion-in-sanitizer.patch', when='@4.2.0:4.5.2')
- conflicts('^cmake@3.19.0')
+ patch("remove-cyclades-inclusion-in-sanitizer.patch", when="@4.2.0:4.5.2")
+ conflicts("^cmake@3.19.0")
- root_cmakelists_dir = 'llvm'
- install_targets = ['clang-tidy', 'install']
+ root_cmakelists_dir = "llvm"
+ install_targets = ["clang-tidy", "install"]
# Add device libs sources so they can be an external LLVM project
for d_version, d_shasum in [
- ('5.1.3', 'c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e'),
- ('5.1.0', '47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f'),
- ('5.0.2', '49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e'),
- ('5.0.0', '83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0'),
- ('4.5.2', '50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61'),
- ('4.5.0', '78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77'),
- ('4.3.1', 'a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592'),
- ('4.3.0', '055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2'),
- ('4.2.0', '34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f'),
- ('4.1.0', 'f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b'),
- ('4.0.0', 'd0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a'),
- ('3.10.0', 'bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc'),
- ('3.9.0', 'c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7'),
- ('3.8.0', 'e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574'),
- ('3.7.0', 'b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d'),
- ('3.5.0', 'dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378')
+ ("5.1.3", "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e"),
+ ("5.1.0", "47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f"),
+ ("5.0.2", "49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e"),
+ ("5.0.0", "83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0"),
+ ("4.5.2", "50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61"),
+ ("4.5.0", "78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77"),
+ ("4.3.1", "a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592"),
+ ("4.3.0", "055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2"),
+ ("4.2.0", "34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f"),
+ ("4.1.0", "f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b"),
+ ("4.0.0", "d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a"),
+ ("3.10.0", "bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc"),
+ ("3.9.0", "c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7"),
+ ("3.8.0", "e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574"),
+ ("3.7.0", "b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d"),
+ ("3.5.0", "dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378"),
]:
resource(
- name='rocm-device-libs',
- placement='rocm-device-libs',
- url='https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="rocm-device-libs",
+ placement="rocm-device-libs",
+ url="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
- when='@{0} +rocm-device-libs'.format(d_version)
+ when="@{0} +rocm-device-libs".format(d_version),
)
resource(
- name='rocm-device-libs',
- placement='rocm-device-libs',
- git='https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git',
- branch='amd-stg-open',
- when='@master +rocm-device-libs'
+ name="rocm-device-libs",
+ placement="rocm-device-libs",
+ git="https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git",
+ branch="amd-stg-open",
+ when="@master +rocm-device-libs",
)
def cmake_args(self):
- llvm_projects = [
- 'clang',
- 'lld',
- 'clang-tools-extra',
- 'compiler-rt'
- ]
+ llvm_projects = ["clang", "lld", "clang-tools-extra", "compiler-rt"]
args = []
- if self.spec.satisfies('@4.3.0:'):
+ if self.spec.satisfies("@4.3.0:"):
args = [
- self.define('LLVM_ENABLE_Z3_SOLVER', 'OFF'),
- self.define('LLLVM_ENABLE_ZLIB', 'ON'),
- self.define('CLANG_DEFAULT_LINKER', 'lld')
+ self.define("LLVM_ENABLE_Z3_SOLVER", "OFF"),
+ self.define("LLLVM_ENABLE_ZLIB", "ON"),
+ self.define("CLANG_DEFAULT_LINKER", "lld"),
]
- if self.spec.satisfies('@4.3.0:4.5.2'):
- llvm_projects.append('libcxx')
- llvm_projects.append('libcxxabi')
- args.append(self.define('LIBCXX_ENABLE_SHARED', 'OFF'))
- args.append(self.define('LIBCXX_ENABLE_STATIC', 'ON'))
- args.append(self.define('LIBCXX_INSTALL_LIBRARY', 'OFF'))
- args.append(self.define('LIBCXX_INSTALL_HEADERS', 'OFF'))
- args.append(self.define('LIBCXXABI_ENABLE_SHARED', 'OFF'))
- args.append(self.define('LIBCXXABI_ENABLE_STATIC', 'ON'))
- args.append(self.define('LIBCXXABI_INSTALL_STATIC_LIBRARY', 'OFF'))
+ if self.spec.satisfies("@4.3.0:4.5.2"):
+ llvm_projects.append("libcxx")
+ llvm_projects.append("libcxxabi")
+ args.append(self.define("LIBCXX_ENABLE_SHARED", "OFF"))
+ args.append(self.define("LIBCXX_ENABLE_STATIC", "ON"))
+ args.append(self.define("LIBCXX_INSTALL_LIBRARY", "OFF"))
+ args.append(self.define("LIBCXX_INSTALL_HEADERS", "OFF"))
+ args.append(self.define("LIBCXXABI_ENABLE_SHARED", "OFF"))
+ args.append(self.define("LIBCXXABI_ENABLE_STATIC", "ON"))
+ args.append(self.define("LIBCXXABI_INSTALL_STATIC_LIBRARY", "OFF"))
- if '+openmp' in self.spec:
- llvm_projects.append('openmp')
+ if "+openmp" in self.spec:
+ llvm_projects.append("openmp")
- args.extend([self.define('LLVM_ENABLE_PROJECTS', ';'.join(llvm_projects))])
+ args.extend([self.define("LLVM_ENABLE_PROJECTS", ";".join(llvm_projects))])
- if self.spec.satisfies('@4.5.0:'):
- args.append(self.define('PACKAGE_VENDOR', 'AMD'))
+ if self.spec.satisfies("@4.5.0:"):
+ args.append(self.define("PACKAGE_VENDOR", "AMD"))
- if self.spec.satisfies('@5.0.0:'):
- args.append(self.define('CLANG_ENABLE_AMDCLANG', 'ON'))
+ if self.spec.satisfies("@5.0.0:"):
+ args.append(self.define("CLANG_ENABLE_AMDCLANG", "ON"))
# Enable rocm-device-libs as a external project
- if '+rocm-device-libs' in self.spec:
- dir = os.path.join(self.stage.source_path, 'rocm-device-libs')
- args.extend([
- self.define('LLVM_EXTERNAL_PROJECTS', 'device-libs'),
- self.define('LLVM_EXTERNAL_DEVICE_LIBS_SOURCE_DIR', dir)
- ])
-
- if '+llvm_dylib' in self.spec:
+ if "+rocm-device-libs" in self.spec:
+ dir = os.path.join(self.stage.source_path, "rocm-device-libs")
+ args.extend(
+ [
+ self.define("LLVM_EXTERNAL_PROJECTS", "device-libs"),
+ self.define("LLVM_EXTERNAL_DEVICE_LIBS_SOURCE_DIR", dir),
+ ]
+ )
+
+ if "+llvm_dylib" in self.spec:
args.append("-DLLVM_BUILD_LLVM_DYLIB:Bool=ON")
- if '+link_llvm_dylib' in self.spec:
+ if "+link_llvm_dylib" in self.spec:
args.append("-DLLVM_LINK_LLVM_DYLIB:Bool=ON")
# Get the GCC prefix for LLVM.
if self.compiler.name == "gcc":
compiler = Executable(self.compiler.cc)
- gcc_output = compiler('-print-search-dirs', output=str, error=str)
+ gcc_output = compiler("-print-search-dirs", output=str, error=str)
gcc_prefix = ""
for line in gcc_output.splitlines():
@@ -188,7 +232,7 @@ class LlvmAmdgpu(CMakePackage):
gcc_prefix = line.split(":")[1].strip()
gcc_prefix = ancestor(gcc_prefix, 4)
break
- args.append(self.define('GCC_INSTALL_PREFIX', gcc_prefix))
+ args.append(self.define("GCC_INSTALL_PREFIX", gcc_prefix))
return args
@@ -196,7 +240,7 @@ class LlvmAmdgpu(CMakePackage):
def post_install(self):
# TODO:Enabling LLVM_ENABLE_RUNTIMES for libcxx,libcxxabi did not build.
# bootstraping the libcxx with the just built clang
- if self.spec.satisfies('@4.5.0:'):
+ if self.spec.satisfies("@4.5.0:"):
spec = self.spec
define = CMakePackage.define
libcxxdir = "build-bootstrapped-libcxx"
diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py
index 357650cd4d..d8ba211c29 100644
--- a/var/spack/repos/builtin/packages/llvm-doe/package.py
+++ b/var/spack/repos/builtin/packages/llvm-doe/package.py
@@ -22,21 +22,21 @@ class LlvmDoe(CMakePackage, CudaPackage):
homepage = "https://github.com/llvm-doe-org"
url = "https://github.com/llvm-doe-org/llvm-project/archive/llvmorg-10.0.0.zip"
git = "https://github.com/llvm-doe-org/llvm-project"
- maintainers = ['vlkale']
+ maintainers = ["vlkale"]
- tags = ['e4s']
+ tags = ["e4s"]
- generator = 'Ninja'
+ generator = "Ninja"
family = "compiler" # Used by lmod
- version('doe', branch='doe', preferred=True)
- version('upstream', branch='llvm.org/main')
- version('bolt', branch='bolt/main')
- version('develop.clacc', branch='clacc/main')
- version('pragma-clang-loop', branch='sollve/pragma-clang-loop')
- version('pragma-omp-tile', branch='sollve/pragma-omp-tile')
- version('13.0.0', branch='llvm.org/llvmorg-13.0.0')
+ version("doe", branch="doe", preferred=True)
+ version("upstream", branch="llvm.org/main")
+ version("bolt", branch="bolt/main")
+ version("develop.clacc", branch="clacc/main")
+ version("pragma-clang-loop", branch="sollve/pragma-clang-loop")
+ version("pragma-omp-tile", branch="sollve/pragma-omp-tile")
+ version("13.0.0", branch="llvm.org/llvmorg-13.0.0")
# NOTE: The debug version of LLVM is an order of magnitude larger than
# the release version, and may take up 20-30 GB of space. If you want
@@ -68,8 +68,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
variant(
"polly",
default=True,
- description="Build the LLVM polyhedral optimization plugin, "
- "only builds for 3.7.0+",
+ description="Build the LLVM polyhedral optimization plugin, " "only builds for 3.7.0+",
)
variant(
"libcxx",
@@ -129,25 +128,24 @@ class LlvmDoe(CMakePackage, CudaPackage):
default=False,
description="Build BOLT/OpenMP with Argobots. Effective when @bolt",
)
- variant('code_signing', default=False,
- description="Enable code-signing on macOS")
+ variant("code_signing", default=False, description="Enable code-signing on macOS")
variant("python", default=False, description="Install python bindings")
- variant('version_suffix', default='none', description="Add a symbol suffix")
- variant('z3', default=False, description='Use Z3 for the clang static analyzer')
+ variant("version_suffix", default="none", description="Add a symbol suffix")
+ variant("z3", default=False, description="Use Z3 for the clang static analyzer")
extends("python", when="+python")
# Build dependency
depends_on("cmake@3.4.3:", type="build")
- depends_on('cmake@3.13.4:', type='build', when='@12:')
+ depends_on("cmake@3.13.4:", type="build", when="@12:")
depends_on("ninja", type="build")
depends_on("python", when="~python", type="build")
depends_on("pkgconfig", type="build")
# Universal dependency
depends_on("python", when="+python")
- depends_on("z3", when='+clang+z3')
+ depends_on("z3", when="+clang+z3")
# openmp dependencies
depends_on("perl-data-dumper", type=("build"))
@@ -173,7 +171,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
conflicts("+compiler-rt", when="~clang")
conflicts("+flang", when="~clang")
- conflicts('~mlir', when='+flang', msg='Flang requires MLIR')
+ conflicts("~mlir", when="+flang", msg="Flang requires MLIR")
# Older LLVM do not build with newer compilers, and vice versa
conflicts("%gcc@8:", when="@:5")
@@ -189,17 +187,17 @@ class LlvmDoe(CMakePackage, CudaPackage):
# GCC 11 - latest stable release per GCC release page
# Clang: 11, 12 - latest two stable releases per LLVM release page
# AppleClang 12 - latest stable release per Xcode release page
- conflicts("%gcc@:10", when="@13:+libcxx")
- conflicts("%clang@:10", when="@13:+libcxx")
+ conflicts("%gcc@:10", when="@13:+libcxx")
+ conflicts("%clang@:10", when="@13:+libcxx")
conflicts("%apple-clang@:11", when="@13:+libcxx")
# libcxx-4 and compiler-rt-4 fail to build with "newer" clang and gcc versions:
- conflicts('%gcc@7:', when='@:4+libcxx')
- conflicts('%clang@6:', when='@:4+libcxx')
- conflicts('%apple-clang@6:', when='@:4+libcxx')
- conflicts('%gcc@7:', when='@:4+compiler-rt')
- conflicts('%clang@6:', when='@:4+compiler-rt')
- conflicts('%apple-clang@6:', when='@:4+compiler-rt')
+ conflicts("%gcc@7:", when="@:4+libcxx")
+ conflicts("%clang@6:", when="@:4+libcxx")
+ conflicts("%apple-clang@6:", when="@:4+libcxx")
+ conflicts("%gcc@7:", when="@:4+compiler-rt")
+ conflicts("%clang@6:", when="@:4+compiler-rt")
+ conflicts("%apple-clang@6:", when="@:4+compiler-rt")
# OMP TSAN exists in > 5.x
conflicts("+omp_tsan", when="@:5")
@@ -215,22 +213,22 @@ class LlvmDoe(CMakePackage, CudaPackage):
conflicts("+mlir", when="@:9")
# code signing is only necessary on macOS",
- conflicts('+code_signing', when='platform=linux')
- conflicts('+code_signing', when='platform=cray')
+ conflicts("+code_signing", when="platform=linux")
+ conflicts("+code_signing", when="platform=cray")
conflicts(
- '+code_signing',
- when='~lldb platform=darwin',
+ "+code_signing",
+ when="~lldb platform=darwin",
msg="code signing is only necessary for building the "
- "in-tree debug server on macOS. Turning this variant "
- "off enables a build of llvm with lldb that uses the "
- "system debug server",
+ "in-tree debug server on macOS. Turning this variant "
+ "off enables a build of llvm with lldb that uses the "
+ "system debug server",
)
# LLVM bug https://bugs.llvm.org/show_bug.cgi?id=48234
# CMake bug: https://gitlab.kitware.com/cmake/cmake/-/issues/21469
# Fixed in upstream versions of both
- conflicts('^cmake@3.19.0', when='@:11.0.0')
+ conflicts("^cmake@3.19.0", when="@:11.0.0")
# Backport from llvm master + additional fix
# see https://bugs.llvm.org/show_bug.cgi?id=39696
@@ -249,7 +247,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
# detection for LLVM. See:
#
# https://spack.readthedocs.io/en/latest/packaging_guide.html#making-a-package-discoverable-with-spack-external-find
- executables = ['clang', 'flang', 'ld.lld', 'lldb']
+ executables = ["clang", "flang", "ld.lld", "lldb"]
@classmethod
def filter_detected_exes(cls, prefix, exes_in_prefix):
@@ -259,7 +257,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
# on some port and would hang Spack during detection.
# clang-cl and clang-cpp are dev tools that we don't
# need to test
- if any(x in exe for x in ('vscode', 'cpp', '-cl', '-gpu')):
+ if any(x in exe for x in ("vscode", "cpp", "-cl", "-gpu")):
continue
result.append(exe)
return result
@@ -268,20 +266,20 @@ class LlvmDoe(CMakePackage, CudaPackage):
def determine_version(cls, exe):
version_regex = re.compile(
# Normal clang compiler versions are left as-is
- r'clang version ([^ )\n]+)-svn[~.\w\d-]*|'
+ r"clang version ([^ )\n]+)-svn[~.\w\d-]*|"
# Don't include hyphenated patch numbers in the version
# (see https://github.com/spack/spack/pull/14365 for details)
- r'clang version ([^ )\n]+?)-[~.\w\d-]*|'
- r'clang version ([^ )\n]+)|'
+ r"clang version ([^ )\n]+?)-[~.\w\d-]*|"
+ r"clang version ([^ )\n]+)|"
# LLDB
- r'lldb version ([^ )\n]+)|'
+ r"lldb version ([^ )\n]+)|"
# LLD
- r'LLD ([^ )\n]+) \(compatible with GNU linkers\)'
+ r"LLD ([^ )\n]+) \(compatible with GNU linkers\)"
)
try:
compiler = Executable(exe)
- output = compiler('--version', output=str, error=str)
- if 'Apple' in output:
+ output = compiler("--version", output=str, error=str)
+ if "Apple" in output:
return None
match = version_regex.search(output)
if match:
@@ -295,38 +293,39 @@ class LlvmDoe(CMakePackage, CudaPackage):
@classmethod
def determine_variants(cls, exes, version_str):
- variants, compilers = ['+clang'], {}
+ variants, compilers = ["+clang"], {}
lld_found, lldb_found = False, False
for exe in exes:
- if 'clang++' in exe:
- compilers['cxx'] = exe
- elif 'clang' in exe:
- compilers['c'] = exe
- elif 'flang' in exe:
- variants.append('+flang')
- compilers['fc'] = exe
- compilers['f77'] = exe
- elif 'ld.lld' in exe:
+ if "clang++" in exe:
+ compilers["cxx"] = exe
+ elif "clang" in exe:
+ compilers["c"] = exe
+ elif "flang" in exe:
+ variants.append("+flang")
+ compilers["fc"] = exe
+ compilers["f77"] = exe
+ elif "ld.lld" in exe:
lld_found = True
- compilers['ld'] = exe
- elif 'lldb' in exe:
+ compilers["ld"] = exe
+ elif "lldb" in exe:
lldb_found = True
- compilers['lldb'] = exe
+ compilers["lldb"] = exe
- variants.append('+lld' if lld_found else '~lld')
- variants.append('+lldb' if lldb_found else '~lldb')
+ variants.append("+lld" if lld_found else "~lld")
+ variants.append("+lldb" if lldb_found else "~lldb")
- return ''.join(variants), {'compilers': compilers}
+ return "".join(variants), {"compilers": compilers}
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
# For LLVM 'compilers' is a mandatory attribute
- msg = ('the extra attribute "compilers" must be set for '
- 'the detected spec "{0}"'.format(spec))
- assert 'compilers' in extra_attributes, msg
- compilers = extra_attributes['compilers']
- for key in ('c', 'cxx'):
- msg = '{0} compiler not found for {1}'
+ msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
+ spec
+ )
+ assert "compilers" in extra_attributes, msg
+ compilers = extra_attributes["compilers"]
+ for key in ("c", "cxx"):
+ msg = "{0} compiler not found for {1}"
assert key in compilers, msg.format(key, spec)
@property
@@ -334,10 +333,10 @@ class LlvmDoe(CMakePackage, CudaPackage):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('c', None)
+ return self.spec.extra_attributes["compilers"].get("c", None)
result = None
- if '+clang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'clang')
+ if "+clang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "clang")
return result
@property
@@ -345,10 +344,10 @@ class LlvmDoe(CMakePackage, CudaPackage):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('cxx', None)
+ return self.spec.extra_attributes["compilers"].get("cxx", None)
result = None
- if '+clang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'clang++')
+ if "+clang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "clang++")
return result
@property
@@ -356,10 +355,10 @@ class LlvmDoe(CMakePackage, CudaPackage):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fc', None)
+ return self.spec.extra_attributes["compilers"].get("fc", None)
result = None
- if '+flang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'flang')
+ if "+flang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "flang")
return result
@property
@@ -367,22 +366,21 @@ class LlvmDoe(CMakePackage, CudaPackage):
msg = "cannot retrieve Fortran 77 compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('f77', None)
+ return self.spec.extra_attributes["compilers"].get("f77", None)
result = None
- if '+flang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'flang')
+ if "+flang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "flang")
return result
- @run_before('cmake')
+ @run_before("cmake")
def codesign_check(self):
if self.spec.satisfies("+code_signing"):
- codesign = which('codesign')
- mkdir('tmp')
- llvm_check_file = join_path('tmp', 'llvm_check')
- copy('/usr/bin/false', llvm_check_file)
+ codesign = which("codesign")
+ mkdir("tmp")
+ llvm_check_file = join_path("tmp", "llvm_check")
+ copy("/usr/bin/false", llvm_check_file)
try:
- codesign('-f', '-s', 'lldb_codesign', '--dryrun',
- llvm_check_file)
+ codesign("-f", "-s", "lldb_codesign", "--dryrun", llvm_check_file)
except ProcessError:
# Newer LLVM versions have a simple script that sets up
@@ -392,32 +390,32 @@ class LlvmDoe(CMakePackage, CudaPackage):
setup()
except Exception:
raise RuntimeError(
- 'spack was unable to either find or set up'
- 'code-signing on your system. Please refer to'
- 'https://lldb.llvm.org/resources/build.html#'
- 'code-signing-on-macos for details on how to'
- 'create this identity.'
+ "spack was unable to either find or set up"
+ "code-signing on your system. Please refer to"
+ "https://lldb.llvm.org/resources/build.html#"
+ "code-signing-on-macos for details on how to"
+ "create this identity."
)
def flag_handler(self, name, flags):
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
- return(None, flags, None)
- elif name == 'ldflags' and self.spec.satisfies('%intel'):
- flags.append('-shared-intel')
- return(None, flags, None)
- return(flags, None, None)
+ return (None, flags, None)
+ elif name == "ldflags" and self.spec.satisfies("%intel"):
+ flags.append("-shared-intel")
+ return (None, flags, None)
+ return (flags, None, None)
def setup_build_environment(self, env):
"""When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH"""
- if self.compiler.name in ['clang', 'apple-clang']:
- for lld in 'ld.lld-{0}'.format(self.compiler.version.version[0]), 'ld.lld':
+ if self.compiler.name in ["clang", "apple-clang"]:
+ for lld in "ld.lld-{0}".format(self.compiler.version.version[0]), "ld.lld":
bin = os.path.join(os.path.dirname(self.compiler.cc), lld)
- sym = os.path.join(self.stage.path, 'ld.lld')
+ sym = os.path.join(self.stage.path, "ld.lld")
if os.path.exists(bin) and not os.path.exists(sym):
mkdirp(self.stage.path)
os.symlink(bin, sym)
- env.prepend_path('PATH', self.stage.path)
+ env.prepend_path("PATH", self.stage.path)
def setup_run_environment(self, env):
if "+clang" in self.spec:
@@ -434,7 +432,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
define = CMakePackage.define
from_variant = self.define_from_variant
- python = spec['python']
+ python = spec["python"]
cmake_args = [
define("LLVM_REQUIRES_RTTI", True),
define("LLVM_ENABLE_RTTI", True),
@@ -445,9 +443,9 @@ class LlvmDoe(CMakePackage, CudaPackage):
define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
]
- version_suffix = spec.variants['version_suffix'].value
- if version_suffix != 'none':
- cmake_args.append(define('LLVM_VERSION_SUFFIX', version_suffix))
+ version_suffix = spec.variants["version_suffix"].value
+ if version_suffix != "none":
+ cmake_args.append(define("LLVM_VERSION_SUFFIX", version_suffix))
if python.version >= Version("3"):
cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
@@ -458,44 +456,52 @@ class LlvmDoe(CMakePackage, CudaPackage):
runtimes = []
if "+cuda" in spec:
- cmake_args.extend([
- define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
- define("LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES",
- ",".join(spec.variants["cuda_arch"].value)),
- define("CLANG_OPENMP_NVPTX_DEFAULT_ARCH",
- "sm_{0}".format(spec.variants["cuda_arch"].value[-1])),
- ])
+ cmake_args.extend(
+ [
+ define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
+ define(
+ "LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES",
+ ",".join(spec.variants["cuda_arch"].value),
+ ),
+ define(
+ "CLANG_OPENMP_NVPTX_DEFAULT_ARCH",
+ "sm_{0}".format(spec.variants["cuda_arch"].value[-1]),
+ ),
+ ]
+ )
if "+omp_as_runtime" in spec:
- cmake_args.extend([
- define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
- # work around bad libelf detection in libomptarget
- define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
- spec["libelf"].prefix.include),
- ])
+ cmake_args.extend(
+ [
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ # work around bad libelf detection in libomptarget
+ define(
+ "LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["libelf"].prefix.include
+ ),
+ ]
+ )
else:
# still build libomptarget but disable cuda
- cmake_args.extend([
- define("CUDA_TOOLKIT_ROOT_DIR", "IGNORE"),
- define("CUDA_SDK_ROOT_DIR", "IGNORE"),
- define("CUDA_NVCC_EXECUTABLE", "IGNORE"),
- define("LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES", "IGNORE"),
- ])
+ cmake_args.extend(
+ [
+ define("CUDA_TOOLKIT_ROOT_DIR", "IGNORE"),
+ define("CUDA_SDK_ROOT_DIR", "IGNORE"),
+ define("CUDA_NVCC_EXECUTABLE", "IGNORE"),
+ define("LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES", "IGNORE"),
+ ]
+ )
cmake_args.append(from_variant("LIBOMPTARGET_ENABLE_DEBUG", "omp_debug"))
if "+lldb" in spec:
- if spec.version >= Version('10'):
- cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", 'python'))
+ if spec.version >= Version("10"):
+ cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", "python"))
else:
- cmake_args.append(define("LLDB_DISABLE_PYTHON",
- '~python' in spec))
+ cmake_args.append(define("LLDB_DISABLE_PYTHON", "~python" in spec))
if spec.satisfies("@5.0.0: +python"):
cmake_args.append(define("LLDB_USE_SYSTEM_SIX", True))
if "+gold" in spec:
- cmake_args.append(
- define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include)
- )
+ cmake_args.append(define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include))
if "+clang" in spec:
projects.append("clang")
@@ -506,11 +512,11 @@ class LlvmDoe(CMakePackage, CudaPackage):
projects.append("openmp")
if self.spec.satisfies("@8"):
- cmake_args.append(define('CLANG_ANALYZER_ENABLE_Z3_SOLVER',
- self.spec.satisfies('@8+z3')))
+ cmake_args.append(
+ define("CLANG_ANALYZER_ENABLE_Z3_SOLVER", self.spec.satisfies("@8+z3"))
+ )
if self.spec.satisfies("@9:"):
- cmake_args.append(define('LLVM_ENABLE_Z3_SOLVER',
- self.spec.satisfies('@9:+z3')))
+ cmake_args.append(define("LLVM_ENABLE_Z3_SOLVER", self.spec.satisfies("@9:+z3")))
if "+flang" in spec:
projects.append("flang")
@@ -531,16 +537,18 @@ class LlvmDoe(CMakePackage, CudaPackage):
projects.append("polly")
cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
- cmake_args.extend([
- define('BUILD_SHARED_LIBS', False),
- from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
- from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
- from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
- # By default on Linux, libc++.so is a ldscript. CMake fails to add
- # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
- # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
- define('LIBCXX_ENABLE_STATIC_ABI_LIBRARY', True)
- ])
+ cmake_args.extend(
+ [
+ define("BUILD_SHARED_LIBS", False),
+ from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
+ from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
+ from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
+ # By default on Linux, libc++.so is a ldscript. CMake fails to add
+ # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
+ # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
+ define("LIBCXX_ENABLE_STATIC_ABI_LIBRARY", True),
+ ]
+ )
if "+all_targets" not in spec: # all is default on cmake
@@ -575,7 +583,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
if self.compiler.name == "gcc":
compiler = Executable(self.compiler.cc)
- gcc_output = compiler('-print-search-dirs', output=str, error=str)
+ gcc_output = compiler("-print-search-dirs", output=str, error=str)
for line in gcc_output.splitlines():
if line.startswith("install:"):
@@ -590,7 +598,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
# cmake_args.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
if self.spec.satisfies("~code_signing platform=darwin"):
- cmake_args.append(define('LLDB_USE_SYSTEM_DEBUGSERVER', True))
+ cmake_args.append(define("LLDB_USE_SYSTEM_DEBUGSERVER", True))
# Semicolon seperated list of projects to enable
cmake_args.append(define("LLVM_ENABLE_PROJECTS", projects))
@@ -614,20 +622,24 @@ class LlvmDoe(CMakePackage, CudaPackage):
# rebuild libomptarget to get bytecode runtime library files
with working_dir(ompdir, create=True):
cmake_args = [
- '-G', 'Ninja',
- define('CMAKE_BUILD_TYPE', spec.variants['build_type'].value),
+ "-G",
+ "Ninja",
+ define("CMAKE_BUILD_TYPE", spec.variants["build_type"].value),
define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"),
define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"),
define("CMAKE_INSTALL_PREFIX", spec.prefix),
- define('CMAKE_PREFIX_PATH', prefix_paths)
+ define("CMAKE_PREFIX_PATH", prefix_paths),
]
cmake_args.extend(self.cmake_args())
- cmake_args.extend([
- define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
- define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
- spec["libelf"].prefix.include),
- self.stage.source_path + "/openmp",
- ])
+ cmake_args.extend(
+ [
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ define(
+ "LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["libelf"].prefix.include
+ ),
+ self.stage.source_path + "/openmp",
+ ]
+ )
cmake(*cmake_args)
ninja()
diff --git a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
index 7a0ac20fc9..ae3b3d4933 100644
--- a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
+++ b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py
@@ -9,71 +9,79 @@ from spack.package import *
class LlvmOpenmpOmpt(CMakePackage):
"""The OpenMP subproject provides an OpenMP runtime for use with the
- OpenMP implementation in Clang. This branch includes experimental
- changes for OMPT, the OpenMP Tools interface"""
+ OpenMP implementation in Clang. This branch includes experimental
+ changes for OMPT, the OpenMP Tools interface"""
homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp"
- git = "https://github.com/OpenMPToolsInterface/LLVM-openmp.git"
+ git = "https://github.com/OpenMPToolsInterface/LLVM-openmp.git"
# tr6_forwards branch
- version('tr6_forwards', branch='tr6_forwards')
- version('3.9.2b2', commit='5cdca5dd3c0c336d42a335ca7cff622e270c9d47')
+ version("tr6_forwards", branch="tr6_forwards")
+ version("3.9.2b2", commit="5cdca5dd3c0c336d42a335ca7cff622e270c9d47")
# align-to-tr-rebased branch
- version('3.9.2b', commit='982a08bcf3df9fb5afc04ac3bada47f19cc4e3d3')
+ version("3.9.2b", commit="982a08bcf3df9fb5afc04ac3bada47f19cc4e3d3")
# variant for building llvm-openmp-ompt as a stand alone library
- variant('standalone', default=False,
- description="Build llvm openmpi ompt library as a \
- stand alone entity.")
+ variant(
+ "standalone",
+ default=False,
+ description="Build llvm openmpi ompt library as a \
+ stand alone entity.",
+ )
# variant for building libomptarget
- variant('libomptarget', default=True,
- description='Enable building libomptarget for offloading')
-
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
-
- depends_on('cmake@2.8:', type='build')
- depends_on('llvm', when='~standalone')
- depends_on('ninja@1.5:', type='build')
- depends_on('perl@5.22.0:', type='build')
- depends_on('elf', when='+libomptarget')
- depends_on('libffi', when='+libomptarget')
-
- generator = 'Ninja'
+ variant(
+ "libomptarget", default=True, description="Enable building libomptarget for offloading"
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+
+ depends_on("cmake@2.8:", type="build")
+ depends_on("llvm", when="~standalone")
+ depends_on("ninja@1.5:", type="build")
+ depends_on("perl@5.22.0:", type="build")
+ depends_on("elf", when="+libomptarget")
+ depends_on("libffi", when="+libomptarget")
+
+ generator = "Ninja"
def cmake_args(self):
cmake_args = [
- '-DLIBOMP_OMPT_SUPPORT=on',
- '-DLIBOMP_OMPT_BLAME=on',
- '-DLIBOMP_OMPT_TRACE=on',
- '-DCMAKE_C_COMPILER=%s' % spack_cc,
- '-DCMAKE_CXX_COMPILER=%s' % spack_cxx
+ "-DLIBOMP_OMPT_SUPPORT=on",
+ "-DLIBOMP_OMPT_BLAME=on",
+ "-DLIBOMP_OMPT_TRACE=on",
+ "-DCMAKE_C_COMPILER=%s" % spack_cc,
+ "-DCMAKE_CXX_COMPILER=%s" % spack_cxx,
]
# Build llvm-openmp-ompt as a stand alone library
# CMAKE rpath variable prevents standalone error
# where this package wants the llvm tools path
- if '+standalone' in self.spec:
+ if "+standalone" in self.spec:
cmake_args.extend(
- ['-DLIBOMP_STANDALONE_BUILD=true',
- '-DCMAKE_BUILD_WITH_INSTALL_RPATH=true',
- '-DLIBOMP_USE_DEBUGGER=false'])
+ [
+ "-DLIBOMP_STANDALONE_BUILD=true",
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=true",
+ "-DLIBOMP_USE_DEBUGGER=false",
+ ]
+ )
# Build llvm-openmp-ompt using the tr6_forwards branch
# This requires the version to be 5.0 (50)
- if '@tr6_forwards' in self.spec:
- cmake_args.extend(
- ['-DLIBOMP_OMP_VERSION=50'])
+ if "@tr6_forwards" in self.spec:
+ cmake_args.extend(["-DLIBOMP_OMP_VERSION=50"])
# Disable support for libomptarget
- if '~libomptarget' in self.spec:
- cmake_args.extend(
- ['-DOPENMP_ENABLE_LIBOMPTARGET=OFF'])
+ if "~libomptarget" in self.spec:
+ cmake_args.extend(["-DOPENMP_ENABLE_LIBOMPTARGET=OFF"])
return cmake_args
@property
def libs(self):
- return find_libraries('libomp', root=self.prefix, recursive=True)
+ return find_libraries("libomp", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/llvm-openmp/package.py b/var/spack/repos/builtin/packages/llvm-openmp/package.py
index 1e179b78d1..b96ed934f8 100644
--- a/var/spack/repos/builtin/packages/llvm-openmp/package.py
+++ b/var/spack/repos/builtin/packages/llvm-openmp/package.py
@@ -13,26 +13,29 @@ class LlvmOpenmp(CMakePackage):
homepage = "https://openmp.llvm.org/"
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/openmp-14.0.6.src.tar.xz"
- version('14.0.6', sha256='4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f')
- version('12.0.1', sha256='60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091')
- version('9.0.0', sha256='9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b')
- version('8.0.0', sha256='f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5')
+ version("14.0.6", sha256="4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f")
+ version("12.0.1", sha256="60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091")
+ version("9.0.0", sha256="9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b")
+ version("8.0.0", sha256="f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5")
- depends_on('cmake@3.13.4:', when='@12:', type='build')
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@3.13.4:", when="@12:", type="build")
+ depends_on("cmake@2.8:", type="build")
- variant('multicompat', default=False,
- description="Support gomp and the Intel openMP runtime library.")
+ variant(
+ "multicompat",
+ default=False,
+ description="Support gomp and the Intel openMP runtime library.",
+ )
@property
def root_cmakelists_dir(self):
- if self.spec.satisfies('@14:'):
- return 'openmp-{}.src'.format(self.version)
+ if self.spec.satisfies("@14:"):
+ return "openmp-{}.src".format(self.version)
else:
- return '.'
+ return "."
def url_for_version(self, version):
- if version >= Version('9.0.1'):
+ if version >= Version("9.0.1"):
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-{0}/openmp-{0}.src.tar.xz"
else:
url = "https://releases.llvm.org/{0}/openmp-{0}.src.tar.xz"
@@ -42,14 +45,12 @@ class LlvmOpenmp(CMakePackage):
def cmake_args(self):
# Disable LIBOMP_INSTALL_ALIASES, otherwise the library is installed as
# libgomp alias which can conflict with GCC's libgomp.
- cmake_args = [
- '-DLIBOMP_INSTALL_ALIASES=OFF'
- ]
+ cmake_args = ["-DLIBOMP_INSTALL_ALIASES=OFF"]
# Add optional support for both Intel and gcc compilers
- if self.spec.satisfies('+multicompat'):
- cmake_args.append('-DKMP_GOMP_COMPAT=1')
+ if self.spec.satisfies("+multicompat"):
+ cmake_args.append("-DKMP_GOMP_COMPAT=1")
return cmake_args
@property
def libs(self):
- return find_libraries('libomp', root=self.prefix, recursive=True)
+ return find_libraries("libomp", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index d0a3f3484f..c097dfb130 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -16,21 +16,21 @@ from spack.package import *
class Llvm(CMakePackage, CudaPackage):
"""The LLVM Project is a collection of modular and reusable compiler and
- toolchain technologies. Despite its name, LLVM has little to do
- with traditional virtual machines, though it does provide helpful
- libraries that can be used to build them. The name "LLVM" itself
- is not an acronym; it is the full name of the project.
+ toolchain technologies. Despite its name, LLVM has little to do
+ with traditional virtual machines, though it does provide helpful
+ libraries that can be used to build them. The name "LLVM" itself
+ is not an acronym; it is the full name of the project.
"""
homepage = "https://llvm.org/"
url = "https://github.com/llvm/llvm-project/archive/llvmorg-7.1.0.tar.gz"
list_url = "https://releases.llvm.org/download.html"
git = "https://github.com/llvm/llvm-project"
- maintainers = ['trws', 'haampie']
+ maintainers = ["trws", "haampie"]
- tags = ['e4s']
+ tags = ["e4s"]
- generator = 'Ninja'
+ generator = "Ninja"
family = "compiler" # Used by lmod
@@ -86,7 +86,8 @@ class Llvm(CMakePackage, CudaPackage):
)
variant(
"flang",
- default=False, when='@11: +clang',
+ default=False,
+ when="@11: +clang",
description="Build the LLVM Fortran compiler frontend "
"(experimental - parser only, needs GCC)",
)
@@ -95,27 +96,29 @@ class Llvm(CMakePackage, CudaPackage):
default=False,
description="Include debugging code in OpenMP runtime libraries",
)
- variant("lldb", default=True, when='+clang', description="Build the LLVM debugger")
+ variant("lldb", default=True, when="+clang", description="Build the LLVM debugger")
variant("lld", default=True, description="Build the LLVM linker")
- variant("mlir", default=False, when='@10:', description="Build with MLIR support")
+ variant("mlir", default=False, when="@10:", description="Build with MLIR support")
variant(
"internal_unwind",
- default=True, when='+clang',
+ default=True,
+ when="+clang",
description="Build the libcxxabi libunwind",
)
variant(
"polly",
default=True,
- description="Build the LLVM polyhedral optimization plugin, "
- "only builds for 3.7.0+",
+ description="Build the LLVM polyhedral optimization plugin, " "only builds for 3.7.0+",
)
variant(
"libcxx",
- default=True, when='+clang',
+ default=True,
+ when="+clang",
description="Build the LLVM C++ standard library",
)
variant(
- "compiler-rt", when='+clang',
+ "compiler-rt",
+ when="+clang",
default=True,
description="Build LLVM compiler runtime, including sanitizers",
)
@@ -136,18 +139,40 @@ class Llvm(CMakePackage, CudaPackage):
)
variant(
"link_llvm_dylib",
- default=False, when='+llvm_dylib',
+ default=False,
+ when="+llvm_dylib",
description="Link LLVM tools against the LLVM shared library",
)
variant(
"targets",
default="none",
- description=("What targets to build. Spack's target family is always added "
- "(e.g. X86 is automatically enabled when targeting znver2)."),
- values=("all", "none", "aarch64", "amdgpu", "arm", "avr", "bpf", "cppbackend",
- "hexagon", "lanai", "mips", "msp430", "nvptx", "powerpc", "riscv",
- "sparc", "systemz", "webassembly", "x86", "xcore"),
- multi=True
+ description=(
+ "What targets to build. Spack's target family is always added "
+ "(e.g. X86 is automatically enabled when targeting znver2)."
+ ),
+ values=(
+ "all",
+ "none",
+ "aarch64",
+ "amdgpu",
+ "arm",
+ "avr",
+ "bpf",
+ "cppbackend",
+ "hexagon",
+ "lanai",
+ "mips",
+ "msp430",
+ "nvptx",
+ "powerpc",
+ "riscv",
+ "sparc",
+ "systemz",
+ "webassembly",
+ "x86",
+ "xcore",
+ ),
+ multi=True,
)
variant(
"build_type",
@@ -157,51 +182,52 @@ class Llvm(CMakePackage, CudaPackage):
)
variant(
"omp_tsan",
- default=False, when='@6:',
+ default=False,
+ when="@6:",
description="Build with OpenMP capable thread sanitizer",
)
variant(
"omp_as_runtime",
default=True,
- when='+clang @12:',
+ when="+clang @12:",
description="Build OpenMP runtime via ENABLE_RUNTIME by just-built Clang",
)
- variant('code_signing', default=False,
- when='+lldb platform=darwin',
- description="Enable code-signing on macOS")
+ variant(
+ "code_signing",
+ default=False,
+ when="+lldb platform=darwin",
+ description="Enable code-signing on macOS",
+ )
variant("python", default=False, description="Install python bindings")
- variant('version_suffix', default='none', description="Add a symbol suffix")
+ variant("version_suffix", default="none", description="Add a symbol suffix")
variant(
- 'shlib_symbol_version',
- default='none',
+ "shlib_symbol_version",
+ default="none",
description="Add shared library symbol version",
- when='@13:'
+ when="@13:",
)
variant(
- 'z3',
- default=False,
- when='+clang @8:',
- description='Use Z3 for the clang static analyzer'
+ "z3", default=False, when="+clang @8:", description="Use Z3 for the clang static analyzer"
)
- provides('libllvm@14', when='@14.0.0:14')
- provides('libllvm@13', when='@13.0.0:13')
- provides('libllvm@12', when='@12.0.0:12')
- provides('libllvm@11', when='@11.0.0:11')
- provides('libllvm@10', when='@10.0.0:10')
- provides('libllvm@9', when='@9.0.0:9')
- provides('libllvm@8', when='@8.0.0:8')
- provides('libllvm@7', when='@7.0.0:7')
- provides('libllvm@6', when='@6.0.0:6')
- provides('libllvm@5', when='@5.0.0:5')
- provides('libllvm@4', when='@4.0.0:4')
- provides('libllvm@3', when='@3.0.0:3')
+ provides("libllvm@14", when="@14.0.0:14")
+ provides("libllvm@13", when="@13.0.0:13")
+ provides("libllvm@12", when="@12.0.0:12")
+ provides("libllvm@11", when="@11.0.0:11")
+ provides("libllvm@10", when="@10.0.0:10")
+ provides("libllvm@9", when="@9.0.0:9")
+ provides("libllvm@8", when="@8.0.0:8")
+ provides("libllvm@7", when="@7.0.0:7")
+ provides("libllvm@6", when="@6.0.0:6")
+ provides("libllvm@5", when="@5.0.0:5")
+ provides("libllvm@4", when="@4.0.0:4")
+ provides("libllvm@3", when="@3.0.0:3")
extends("python", when="+python")
# Build dependency
depends_on("cmake@3.4.3:", type="build")
- depends_on('cmake@3.13.4:', type='build', when='@12:')
+ depends_on("cmake@3.13.4:", type="build", when="@12:")
depends_on("ninja", type="build")
depends_on("python@2.7:2.8", when="@:4 ~python", type="build")
depends_on("python", when="@5: ~python", type="build")
@@ -245,7 +271,7 @@ class Llvm(CMakePackage, CudaPackage):
# clang/lib: a lambda parameter cannot shadow an explicitly captured entity
conflicts("%clang@8:", when="@:4")
# Internal compiler error on gcc 8.4 on aarch64 https://bugzilla.redhat.com/show_bug.cgi?id=1958295
- conflicts('%gcc@8.4:8.4.9', when='@12: target=aarch64:')
+ conflicts("%gcc@8.4:8.4.9", when="@12: target=aarch64:")
# When these versions are concretized, but not explicitly with +libcxx, these
# conflicts will enable clingo to set ~libcxx, making the build successful:
@@ -255,17 +281,17 @@ class Llvm(CMakePackage, CudaPackage):
# GCC 11 - latest stable release per GCC release page
# Clang: 11, 12 - latest two stable releases per LLVM release page
# AppleClang 12 - latest stable release per Xcode release page
- conflicts("%gcc@:10", when="@13:+libcxx")
- conflicts("%clang@:10", when="@13:+libcxx")
+ conflicts("%gcc@:10", when="@13:+libcxx")
+ conflicts("%clang@:10", when="@13:+libcxx")
conflicts("%apple-clang@:11", when="@13:+libcxx")
# libcxx-4 and compiler-rt-4 fail to build with "newer" clang and gcc versions:
- conflicts('%gcc@7:', when='@:4+libcxx')
- conflicts('%clang@6:', when='@:4+libcxx')
- conflicts('%apple-clang@6:', when='@:4+libcxx')
- conflicts('%gcc@7:', when='@:4+compiler-rt')
- conflicts('%clang@6:', when='@:4+compiler-rt')
- conflicts('%apple-clang@6:', when='@:4+compiler-rt')
+ conflicts("%gcc@7:", when="@:4+libcxx")
+ conflicts("%clang@6:", when="@:4+libcxx")
+ conflicts("%apple-clang@6:", when="@:4+libcxx")
+ conflicts("%gcc@7:", when="@:4+compiler-rt")
+ conflicts("%clang@6:", when="@:4+compiler-rt")
+ conflicts("%apple-clang@6:", when="@:4+compiler-rt")
# cuda_arch value must be specified
conflicts("cuda_arch=none", when="+cuda", msg="A value for cuda_arch must be specified.")
@@ -273,27 +299,27 @@ class Llvm(CMakePackage, CudaPackage):
# LLVM bug https://bugs.llvm.org/show_bug.cgi?id=48234
# CMake bug: https://gitlab.kitware.com/cmake/cmake/-/issues/21469
# Fixed in upstream versions of both
- conflicts('^cmake@3.19.0', when='@6:11.0.0')
+ conflicts("^cmake@3.19.0", when="@6:11.0.0")
# Github issue #4986
patch("llvm_gcc7.patch", when="@4.0.0:4.0.1+lldb %gcc@7.0:")
# sys/ustat.h has been removed in favour of statfs from glibc-2.28. Use fixed sizes:
- patch('llvm5-sanitizer-ustat.patch', when="@4:6.0.0+compiler-rt")
+ patch("llvm5-sanitizer-ustat.patch", when="@4:6.0.0+compiler-rt")
# Fix lld templates: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230463
- patch('llvm4-lld-ELF-Symbols.patch', when="@4+lld%clang@6:")
- patch('llvm5-lld-ELF-Symbols.patch', when="@5+lld%clang@7:")
+ patch("llvm4-lld-ELF-Symbols.patch", when="@4+lld%clang@6:")
+ patch("llvm5-lld-ELF-Symbols.patch", when="@5+lld%clang@7:")
# Fix missing std:size_t in 'llvm@4:5' when built with '%clang@7:'
- patch('xray_buffer_queue-cstddef.patch', when="@4:5+compiler-rt%clang@7:")
+ patch("xray_buffer_queue-cstddef.patch", when="@4:5+compiler-rt%clang@7:")
# https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
- patch('sanitizer-ipc_perm_mode.patch', when="@5:7+compiler-rt%clang@11:")
- patch('sanitizer-ipc_perm_mode.patch', when="@5:9+compiler-rt%gcc@9:")
+ patch("sanitizer-ipc_perm_mode.patch", when="@5:7+compiler-rt%clang@11:")
+ patch("sanitizer-ipc_perm_mode.patch", when="@5:9+compiler-rt%gcc@9:")
# github.com/spack/spack/issues/24270: MicrosoftDemangle for %gcc@10: and %clang@13:
- patch('missing-includes.patch', when='@8')
+ patch("missing-includes.patch", when="@8")
# Backport from llvm upstream gcc ppc const expr long double issue
# see https://bugs.llvm.org/show_bug.cgi?id=39696
@@ -302,8 +328,8 @@ class Llvm(CMakePackage, CudaPackage):
# eventually unbroken (d9a42ec98adc) for the 11.0 release. The first
# patch backports the original correct fix to previous releases. The
# second patch backports the un-breaking of the original fix.
- patch('constexpr_longdouble.patch', when='@6:8+libcxx')
- patch('constexpr_longdouble_9.0.patch', when='@9:10+libcxx')
+ patch("constexpr_longdouble.patch", when="@6:8+libcxx")
+ patch("constexpr_longdouble_9.0.patch", when="@9:10+libcxx")
# Backport from llvm master; see
# https://bugs.llvm.org/show_bug.cgi?id=38233
@@ -319,38 +345,40 @@ class Llvm(CMakePackage, CudaPackage):
patch("llvm_python_path.patch", when="@:11")
# Workaround for issue https://github.com/spack/spack/issues/18197
- patch('llvm7_intel.patch', when='@7 %intel@18.0.2,19.0.0:19.1.99')
+ patch("llvm7_intel.patch", when="@7 %intel@18.0.2,19.0.0:19.1.99")
# Remove cyclades support to build against newer kernel headers
# https://reviews.llvm.org/D102059
- patch('no_cyclades.patch', when='@10:12.0.0')
- patch('no_cyclades9.patch', when='@6:9')
+ patch("no_cyclades.patch", when="@10:12.0.0")
+ patch("no_cyclades9.patch", when="@6:9")
- patch('llvm-gcc11.patch', when='@9:11%gcc@11:')
+ patch("llvm-gcc11.patch", when="@9:11%gcc@11:")
# add -lpthread to build OpenMP libraries with Fujitsu compiler
- patch('llvm12-thread.patch', when='@12 %fj')
- patch('llvm13-thread.patch', when='@13 %fj')
+ patch("llvm12-thread.patch", when="@12 %fj")
+ patch("llvm13-thread.patch", when="@13 %fj")
# avoid build failed with Fujitsu compiler
- patch('llvm13-fujitsu.patch', when='@13 %fj')
+ patch("llvm13-fujitsu.patch", when="@13 %fj")
# patch for missing hwloc.h include for libompd
- patch('llvm14-hwloc-ompd.patch', when='@14')
+ patch("llvm14-hwloc-ompd.patch", when="@14")
# make libflags a list in openmp subproject when ~omp_as_runtime
- patch('libomp-libflags-as-list.patch', when='@3.7:14')
+ patch("libomp-libflags-as-list.patch", when="@3.7:14")
# Add missing include leading to build fail with clang
- patch('https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1.patch?full_index=1',
- sha256='514926d661635de47972c7d403c9c4669235aa51e22e56d44676d2a2709179b6',
- when='@8:11')
+ patch(
+ "https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1.patch?full_index=1",
+ sha256="514926d661635de47972c7d403c9c4669235aa51e22e56d44676d2a2709179b6",
+ when="@8:11",
+ )
# The functions and attributes below implement external package
# detection for LLVM. See:
#
# https://spack.readthedocs.io/en/latest/packaging_guide.html#making-a-package-discoverable-with-spack-external-find
- executables = ['clang', 'flang', 'ld.lld', 'lldb']
+ executables = ["clang", "flang", "ld.lld", "lldb"]
@classmethod
def filter_detected_exes(cls, prefix, exes_in_prefix):
@@ -360,7 +388,7 @@ class Llvm(CMakePackage, CudaPackage):
# on some port and would hang Spack during detection.
# clang-cl and clang-cpp are dev tools that we don't
# need to test
- if any(x in exe for x in ('vscode', 'cpp', '-cl', '-gpu')):
+ if any(x in exe for x in ("vscode", "cpp", "-cl", "-gpu")):
continue
result.append(exe)
return result
@@ -369,20 +397,20 @@ class Llvm(CMakePackage, CudaPackage):
def determine_version(cls, exe):
version_regex = re.compile(
# Normal clang compiler versions are left as-is
- r'clang version ([^ )\n]+)-svn[~.\w\d-]*|'
+ r"clang version ([^ )\n]+)-svn[~.\w\d-]*|"
# Don't include hyphenated patch numbers in the version
# (see https://github.com/spack/spack/pull/14365 for details)
- r'clang version ([^ )\n]+?)-[~.\w\d-]*|'
- r'clang version ([^ )\n]+)|'
+ r"clang version ([^ )\n]+?)-[~.\w\d-]*|"
+ r"clang version ([^ )\n]+)|"
# LLDB
- r'lldb version ([^ )\n]+)|'
+ r"lldb version ([^ )\n]+)|"
# LLD
- r'LLD ([^ )\n]+) \(compatible with GNU linkers\)'
+ r"LLD ([^ )\n]+) \(compatible with GNU linkers\)"
)
try:
compiler = Executable(exe)
- output = compiler('--version', output=str, error=str)
- if 'Apple' in output:
+ output = compiler("--version", output=str, error=str)
+ if "Apple" in output:
return None
match = version_regex.search(output)
if match:
@@ -396,38 +424,39 @@ class Llvm(CMakePackage, CudaPackage):
@classmethod
def determine_variants(cls, exes, version_str):
- variants, compilers = ['+clang'], {}
+ variants, compilers = ["+clang"], {}
lld_found, lldb_found = False, False
for exe in exes:
- if 'clang++' in exe:
- compilers['cxx'] = exe
- elif 'clang' in exe:
- compilers['c'] = exe
- elif 'flang' in exe:
- variants.append('+flang')
- compilers['fc'] = exe
- compilers['f77'] = exe
- elif 'ld.lld' in exe:
+ if "clang++" in exe:
+ compilers["cxx"] = exe
+ elif "clang" in exe:
+ compilers["c"] = exe
+ elif "flang" in exe:
+ variants.append("+flang")
+ compilers["fc"] = exe
+ compilers["f77"] = exe
+ elif "ld.lld" in exe:
lld_found = True
- compilers['ld'] = exe
- elif 'lldb' in exe:
+ compilers["ld"] = exe
+ elif "lldb" in exe:
lldb_found = True
- compilers['lldb'] = exe
+ compilers["lldb"] = exe
- variants.append('+lld' if lld_found else '~lld')
- variants.append('+lldb' if lldb_found else '~lldb')
+ variants.append("+lld" if lld_found else "~lld")
+ variants.append("+lldb" if lldb_found else "~lldb")
- return ''.join(variants), {'compilers': compilers}
+ return "".join(variants), {"compilers": compilers}
@classmethod
def validate_detected_spec(cls, spec, extra_attributes):
# For LLVM 'compilers' is a mandatory attribute
- msg = ('the extra attribute "compilers" must be set for '
- 'the detected spec "{0}"'.format(spec))
- assert 'compilers' in extra_attributes, msg
- compilers = extra_attributes['compilers']
- for key in ('c', 'cxx'):
- msg = '{0} compiler not found for {1}'
+ msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
+ spec
+ )
+ assert "compilers" in extra_attributes, msg
+ compilers = extra_attributes["compilers"]
+ for key in ("c", "cxx"):
+ msg = "{0} compiler not found for {1}"
assert key in compilers, msg.format(key, spec)
@property
@@ -435,10 +464,10 @@ class Llvm(CMakePackage, CudaPackage):
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('c', None)
+ return self.spec.extra_attributes["compilers"].get("c", None)
result = None
- if '+clang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'clang')
+ if "+clang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "clang")
return result
@property
@@ -446,10 +475,10 @@ class Llvm(CMakePackage, CudaPackage):
msg = "cannot retrieve C++ compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('cxx', None)
+ return self.spec.extra_attributes["compilers"].get("cxx", None)
result = None
- if '+clang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'clang++')
+ if "+clang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "clang++")
return result
@property
@@ -457,10 +486,10 @@ class Llvm(CMakePackage, CudaPackage):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fc', None)
+ return self.spec.extra_attributes["compilers"].get("fc", None)
result = None
- if '+flang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'flang')
+ if "+flang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "flang")
return result
@property
@@ -468,27 +497,25 @@ class Llvm(CMakePackage, CudaPackage):
msg = "cannot retrieve Fortran 77 compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('f77', None)
+ return self.spec.extra_attributes["compilers"].get("f77", None)
result = None
- if '+flang' in self.spec:
- result = os.path.join(self.spec.prefix.bin, 'flang')
+ if "+flang" in self.spec:
+ result = os.path.join(self.spec.prefix.bin, "flang")
return result
@property
def libs(self):
- return LibraryList(self.llvm_config("--libfiles", "all",
- result="list"))
+ return LibraryList(self.llvm_config("--libfiles", "all", result="list"))
- @run_before('cmake')
+ @run_before("cmake")
def codesign_check(self):
if self.spec.satisfies("+code_signing"):
- codesign = which('codesign')
- mkdir('tmp')
- llvm_check_file = join_path('tmp', 'llvm_check')
- copy('/usr/bin/false', llvm_check_file)
+ codesign = which("codesign")
+ mkdir("tmp")
+ llvm_check_file = join_path("tmp", "llvm_check")
+ copy("/usr/bin/false", llvm_check_file)
try:
- codesign('-f', '-s', 'lldb_codesign', '--dryrun',
- llvm_check_file)
+ codesign("-f", "-s", "lldb_codesign", "--dryrun", llvm_check_file)
except ProcessError:
# Newer LLVM versions have a simple script that sets up
@@ -498,32 +525,32 @@ class Llvm(CMakePackage, CudaPackage):
setup()
except Exception:
raise RuntimeError(
- 'spack was unable to either find or set up'
- 'code-signing on your system. Please refer to'
- 'https://lldb.llvm.org/resources/build.html#'
- 'code-signing-on-macos for details on how to'
- 'create this identity.'
+ "spack was unable to either find or set up"
+ "code-signing on your system. Please refer to"
+ "https://lldb.llvm.org/resources/build.html#"
+ "code-signing-on-macos for details on how to"
+ "create this identity."
)
def flag_handler(self, name, flags):
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
- return(None, flags, None)
- elif name == 'ldflags' and self.spec.satisfies('%intel'):
- flags.append('-shared-intel')
- return(None, flags, None)
- return(flags, None, None)
+ return (None, flags, None)
+ elif name == "ldflags" and self.spec.satisfies("%intel"):
+ flags.append("-shared-intel")
+ return (None, flags, None)
+ return (flags, None, None)
def setup_build_environment(self, env):
"""When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH"""
- if self.compiler.name in ['clang', 'apple-clang']:
- for lld in 'ld.lld-{0}'.format(self.compiler.version.version[0]), 'ld.lld':
+ if self.compiler.name in ["clang", "apple-clang"]:
+ for lld in "ld.lld-{0}".format(self.compiler.version.version[0]), "ld.lld":
bin = os.path.join(os.path.dirname(self.compiler.cc), lld)
- sym = os.path.join(self.stage.path, 'ld.lld')
+ sym = os.path.join(self.stage.path, "ld.lld")
if os.path.exists(bin) and not os.path.exists(sym):
mkdirp(self.stage.path)
os.symlink(bin, sym)
- env.prepend_path('PATH', self.stage.path)
+ env.prepend_path("PATH", self.stage.path)
def setup_run_environment(self, env):
if "+clang" in self.spec:
@@ -540,7 +567,7 @@ class Llvm(CMakePackage, CudaPackage):
define = CMakePackage.define
from_variant = self.define_from_variant
- python = spec['python']
+ python = spec["python"]
cmake_args = [
define("LLVM_REQUIRES_RTTI", True),
define("LLVM_ENABLE_RTTI", True),
@@ -553,14 +580,13 @@ class Llvm(CMakePackage, CudaPackage):
define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
]
- version_suffix = spec.variants['version_suffix'].value
- if version_suffix != 'none':
- cmake_args.append(define('LLVM_VERSION_SUFFIX', version_suffix))
+ version_suffix = spec.variants["version_suffix"].value
+ if version_suffix != "none":
+ cmake_args.append(define("LLVM_VERSION_SUFFIX", version_suffix))
- shlib_symbol_version = spec.variants.get('shlib_symbol_version', None)
- if shlib_symbol_version is not None and shlib_symbol_version.value != 'none':
- cmake_args.append(define('LLVM_SHLIB_SYMBOL_VERSION',
- shlib_symbol_version.value))
+ shlib_symbol_version = spec.variants.get("shlib_symbol_version", None)
+ if shlib_symbol_version is not None and shlib_symbol_version.value != "none":
+ cmake_args.append(define("LLVM_SHLIB_SYMBOL_VERSION", shlib_symbol_version.value))
if python.version >= Version("3"):
cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
@@ -571,47 +597,56 @@ class Llvm(CMakePackage, CudaPackage):
runtimes = []
if "+cuda" in spec:
- cmake_args.extend([
- define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
- define("LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES",
- ",".join(spec.variants["cuda_arch"].value)),
- define("CLANG_OPENMP_NVPTX_DEFAULT_ARCH",
- "sm_{0}".format(spec.variants["cuda_arch"].value[-1])),
- ])
+ cmake_args.extend(
+ [
+ define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
+ define(
+ "LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES",
+ ",".join(spec.variants["cuda_arch"].value),
+ ),
+ define(
+ "CLANG_OPENMP_NVPTX_DEFAULT_ARCH",
+ "sm_{0}".format(spec.variants["cuda_arch"].value[-1]),
+ ),
+ ]
+ )
if "+omp_as_runtime" in spec:
- cmake_args.extend([
- define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
- # work around bad libelf detection in libomptarget
- define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
- spec["libelf"].prefix.include),
- ])
+ cmake_args.extend(
+ [
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ # work around bad libelf detection in libomptarget
+ define(
+ "LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["libelf"].prefix.include
+ ),
+ ]
+ )
else:
# still build libomptarget but disable cuda
- cmake_args.extend([
- define("CUDA_TOOLKIT_ROOT_DIR", "IGNORE"),
- define("CUDA_SDK_ROOT_DIR", "IGNORE"),
- define("CUDA_NVCC_EXECUTABLE", "IGNORE"),
- define("LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES", "IGNORE"),
- ])
+ cmake_args.extend(
+ [
+ define("CUDA_TOOLKIT_ROOT_DIR", "IGNORE"),
+ define("CUDA_SDK_ROOT_DIR", "IGNORE"),
+ define("CUDA_NVCC_EXECUTABLE", "IGNORE"),
+ define("LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES", "IGNORE"),
+ ]
+ )
cmake_args.append(from_variant("LIBOMPTARGET_ENABLE_DEBUG", "omp_debug"))
if "+lldb" in spec:
projects.append("lldb")
- cmake_args.append(define('LLDB_ENABLE_LIBEDIT', True))
- cmake_args.append(define('LLDB_ENABLE_NCURSES', True))
- cmake_args.append(define('LLDB_ENABLE_LIBXML2', False))
- if spec.version >= Version('10'):
- cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", 'python'))
+ cmake_args.append(define("LLDB_ENABLE_LIBEDIT", True))
+ cmake_args.append(define("LLDB_ENABLE_NCURSES", True))
+ cmake_args.append(define("LLDB_ENABLE_LIBXML2", False))
+ if spec.version >= Version("10"):
+ cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", "python"))
else:
- cmake_args.append(define("LLDB_DISABLE_PYTHON", '~python' in spec))
+ cmake_args.append(define("LLDB_DISABLE_PYTHON", "~python" in spec))
if spec.satisfies("@5.0.0: +python"):
cmake_args.append(define("LLDB_USE_SYSTEM_SIX", True))
if "+gold" in spec:
- cmake_args.append(
- define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include)
- )
+ cmake_args.append(define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include))
if "+clang" in spec:
projects.append("clang")
@@ -621,10 +656,10 @@ class Llvm(CMakePackage, CudaPackage):
else:
projects.append("openmp")
- if '@8' in spec:
- cmake_args.append(from_variant('CLANG_ANALYZER_ENABLE_Z3_SOLVER', 'z3'))
- elif '@9:' in spec:
- cmake_args.append(from_variant('LLVM_ENABLE_Z3_SOLVER', 'z3'))
+ if "@8" in spec:
+ cmake_args.append(from_variant("CLANG_ANALYZER_ENABLE_Z3_SOLVER", "z3"))
+ elif "@9:" in spec:
+ cmake_args.append(from_variant("LLVM_ENABLE_Z3_SOLVER", "z3"))
if "+flang" in spec:
projects.append("flang")
@@ -643,26 +678,26 @@ class Llvm(CMakePackage, CudaPackage):
projects.append("polly")
cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
- cmake_args.extend([
- define("BUILD_SHARED_LIBS", False),
- from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
- from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
- from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
- # By default on Linux, libc++.so is a ldscript. CMake fails to add
- # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
- # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
- define('LIBCXX_ENABLE_STATIC_ABI_LIBRARY', True)
- ])
-
- cmake_args.append(define(
- "LLVM_TARGETS_TO_BUILD",
- get_llvm_targets_to_build(spec)))
+ cmake_args.extend(
+ [
+ define("BUILD_SHARED_LIBS", False),
+ from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
+ from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
+ from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
+ # By default on Linux, libc++.so is a ldscript. CMake fails to add
+ # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
+ # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
+ define("LIBCXX_ENABLE_STATIC_ABI_LIBRARY", True),
+ ]
+ )
+
+ cmake_args.append(define("LLVM_TARGETS_TO_BUILD", get_llvm_targets_to_build(spec)))
cmake_args.append(from_variant("LIBOMP_TSAN_SUPPORT", "omp_tsan"))
if self.compiler.name == "gcc":
compiler = Executable(self.compiler.cc)
- gcc_output = compiler('-print-search-dirs', output=str, error=str)
+ gcc_output = compiler("-print-search-dirs", output=str, error=str)
for line in gcc_output.splitlines():
if line.startswith("install:"):
@@ -674,7 +709,7 @@ class Llvm(CMakePackage, CudaPackage):
cmake_args.append(define("GCC_INSTALL_PREFIX", gcc_prefix))
if self.spec.satisfies("~code_signing platform=darwin"):
- cmake_args.append(define('LLDB_USE_SYSTEM_DEBUGSERVER', True))
+ cmake_args.append(define("LLDB_USE_SYSTEM_DEBUGSERVER", True))
# Semicolon seperated list of projects to enable
cmake_args.append(define("LLVM_ENABLE_PROJECTS", projects))
@@ -698,20 +733,24 @@ class Llvm(CMakePackage, CudaPackage):
# rebuild libomptarget to get bytecode runtime library files
with working_dir(ompdir, create=True):
cmake_args = [
- '-G', 'Ninja',
- define('CMAKE_BUILD_TYPE', spec.variants['build_type'].value),
+ "-G",
+ "Ninja",
+ define("CMAKE_BUILD_TYPE", spec.variants["build_type"].value),
define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"),
define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"),
define("CMAKE_INSTALL_PREFIX", spec.prefix),
- define('CMAKE_PREFIX_PATH', prefix_paths)
+ define("CMAKE_PREFIX_PATH", prefix_paths),
]
cmake_args.extend(self.cmake_args())
- cmake_args.extend([
- define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
- define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
- spec["libelf"].prefix.include),
- self.stage.source_path + "/openmp",
- ])
+ cmake_args.extend(
+ [
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ define(
+ "LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR", spec["libelf"].prefix.include
+ ),
+ self.stage.source_path + "/openmp",
+ ]
+ )
cmake(*cmake_args)
ninja()
@@ -726,22 +765,22 @@ class Llvm(CMakePackage, CudaPackage):
install_tree("bin", join_path(self.prefix, "libexec", "llvm"))
def llvm_config(self, *args, **kwargs):
- lc = Executable(self.prefix.bin.join('llvm-config'))
- if not kwargs.get('output'):
- kwargs['output'] = str
+ lc = Executable(self.prefix.bin.join("llvm-config"))
+ if not kwargs.get("output"):
+ kwargs["output"] = str
ret = lc(*args, **kwargs)
- if kwargs.get('result') == "list":
+ if kwargs.get("result") == "list":
return ret.split()
else:
return ret
def get_llvm_targets_to_build(spec):
- targets = spec.variants['targets'].value
+ targets = spec.variants["targets"].value
# Build everything?
- if 'all' in targets:
- return 'all'
+ if "all" in targets:
+ return "all"
# Convert targets variant values to CMake LLVM_TARGETS_TO_BUILD array.
spack_to_cmake = {
@@ -762,10 +801,10 @@ def get_llvm_targets_to_build(spec):
"systemz": "SystemZ",
"webassembly": "WebAssembly",
"x86": "X86",
- "xcore": "XCore"
+ "xcore": "XCore",
}
- if 'none' in targets:
+ if "none" in targets:
llvm_targets = set()
else:
llvm_targets = set(spack_to_cmake[target] for target in targets)
diff --git a/var/spack/repos/builtin/packages/lm-sensors/package.py b/var/spack/repos/builtin/packages/lm-sensors/package.py
index 3f1e0274f6..820de01172 100644
--- a/var/spack/repos/builtin/packages/lm-sensors/package.py
+++ b/var/spack/repos/builtin/packages/lm-sensors/package.py
@@ -8,34 +8,32 @@ from spack.package import *
class LmSensors(MakefilePackage):
"""The lm-sensors package provides user-space support for the
- hardware monitoring drivers in Linux. """
+ hardware monitoring drivers in Linux."""
homepage = "https://github.com/groeck/lm-sensors/"
url = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz"
- maintainers = ['G-Ragghianti']
-
- version('3-6-0', sha256='0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197')
- version('3-5-0', sha256='f671c1d63a4cd8581b3a4a775fd7864a740b15ad046fe92038bcff5c5134d7e0')
- version('3-4-0', sha256='e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e')
- version('3-3-5', sha256='e3802f80785c54822027a8c187b10066ba685ec5e997fd02c1d29761ea9c83d4')
- version('3-3-4', sha256='1c586684b39292b5fabaf5a2701241885ea6483e5e15265e1f501e1b639fdd86')
- version('3-3-3', sha256='f1c1078afc712693f003989446b59d817794ed7eb733b401c83ed6b1d7d45b73')
- version('3-3-2', sha256='927f841e42afb16b35a313a02825122d3a5be59d4b6c567fd90caf23eeda30a8')
- version('3-3-1', sha256='769b8649e4da2739c07c9a1b2975a8efe6aa9b69cd65fe350ccccbafd4821d95')
- version('3-3-0', sha256='35ed28640cb2cd1492c4d6620a7c6b8dd2fa44fbb603d5f4d867311e8f56dd37')
- version('3-2-0', sha256='ff54bee654f9f317224489fa64aeb659425d58ac3d031fe019c2c072ba19ee9a')
- version('3-1-2', sha256='a587f4f37c0f32ac48575338013ee443a0152d87543e8e702db6161ec0ca1161')
- version('3-1-1', sha256='22b5ab0bab853c34298ff617efb292c5dde7b254596b31ce4c6e90b1d1cf8ad8')
-
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('perl', type='run')
+ maintainers = ["G-Ragghianti"]
+
+ version("3-6-0", sha256="0591f9fa0339f0d15e75326d0365871c2d4e2ed8aa1ff759b3a55d3734b7d197")
+ version("3-5-0", sha256="f671c1d63a4cd8581b3a4a775fd7864a740b15ad046fe92038bcff5c5134d7e0")
+ version("3-4-0", sha256="e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e")
+ version("3-3-5", sha256="e3802f80785c54822027a8c187b10066ba685ec5e997fd02c1d29761ea9c83d4")
+ version("3-3-4", sha256="1c586684b39292b5fabaf5a2701241885ea6483e5e15265e1f501e1b639fdd86")
+ version("3-3-3", sha256="f1c1078afc712693f003989446b59d817794ed7eb733b401c83ed6b1d7d45b73")
+ version("3-3-2", sha256="927f841e42afb16b35a313a02825122d3a5be59d4b6c567fd90caf23eeda30a8")
+ version("3-3-1", sha256="769b8649e4da2739c07c9a1b2975a8efe6aa9b69cd65fe350ccccbafd4821d95")
+ version("3-3-0", sha256="35ed28640cb2cd1492c4d6620a7c6b8dd2fa44fbb603d5f4d867311e8f56dd37")
+ version("3-2-0", sha256="ff54bee654f9f317224489fa64aeb659425d58ac3d031fe019c2c072ba19ee9a")
+ version("3-1-2", sha256="a587f4f37c0f32ac48575338013ee443a0152d87543e8e702db6161ec0ca1161")
+ version("3-1-1", sha256="22b5ab0bab853c34298ff617efb292c5dde7b254596b31ce4c6e90b1d1cf8ad8")
+
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("perl", type="run")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix),
- 'ETCDIR={0}/etc'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix), "ETCDIR={0}/etc".format(prefix))
@property
def libs(self):
- return find_libraries(
- 'libsensors', root=self.prefix, shared=True, recursive=True)
+ return find_libraries("libsensors", root=self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/lmbench/package.py b/var/spack/repos/builtin/packages/lmbench/package.py
index 07fc68b025..e1c35635c4 100644
--- a/var/spack/repos/builtin/packages/lmbench/package.py
+++ b/var/spack/repos/builtin/packages/lmbench/package.py
@@ -13,20 +13,24 @@ class Lmbench(MakefilePackage):
basic costs of key operations."""
homepage = "http://lmbench.sourceforge.net/"
- git = "https://github.com/intel/lmbench.git"
+ git = "https://github.com/intel/lmbench.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('libtirpc')
+ depends_on("libtirpc")
- patch('fix_results_path_for_aarch64.patch', sha256='2af57abc9058c56b6dd0697bb01a98902230bef92b117017e318faba148eef60', when='target=aarch64:')
+ patch(
+ "fix_results_path_for_aarch64.patch",
+ sha256="2af57abc9058c56b6dd0697bb01a98902230bef92b117017e318faba148eef60",
+ when="target=aarch64:",
+ )
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['libtirpc'].prefix.include.tirpc)
- env.append_flags('LDFLAGS', '-ltirpc')
+ env.prepend_path("CPATH", self.spec["libtirpc"].prefix.include.tirpc)
+ env.append_flags("LDFLAGS", "-ltirpc")
def build(self, spec, prefix):
- make('build')
+ make("build")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/lmdb/package.py b/var/spack/repos/builtin/packages/lmdb/package.py
index 04eb80072e..e0591b4b09 100644
--- a/var/spack/repos/builtin/packages/lmdb/package.py
+++ b/var/spack/repos/builtin/packages/lmdb/package.py
@@ -13,37 +13,39 @@ class Lmdb(MakefilePackage):
the persistence of standard disk-based databases."""
homepage = "https://lmdb.tech/"
- url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.21.tar.gz"
+ url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.21.tar.gz"
- version('0.9.29', sha256='22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb')
- version('0.9.24', sha256='44602436c52c29d4f301f55f6fd8115f945469b868348e3cddaf91ab2473ea26')
- version('0.9.22', sha256='f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28')
- version('0.9.21', sha256='1187b635a4cc415bb6972bba346121f81edd996e99b8f0816151d4090f90b559')
- version('0.9.16', sha256='49d7b40949f2ced9bc8b23ea6a89e75471a1c9126537a8b268c318a00b84322b')
+ version("0.9.29", sha256="22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb")
+ version("0.9.24", sha256="44602436c52c29d4f301f55f6fd8115f945469b868348e3cddaf91ab2473ea26")
+ version("0.9.22", sha256="f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28")
+ version("0.9.21", sha256="1187b635a4cc415bb6972bba346121f81edd996e99b8f0816151d4090f90b559")
+ version("0.9.16", sha256="49d7b40949f2ced9bc8b23ea6a89e75471a1c9126537a8b268c318a00b84322b")
- build_directory = 'libraries/liblmdb'
+ build_directory = "libraries/liblmdb"
@property
def build_targets(self):
- return ['CC={0}'.format(spack_cc)]
+ return ["CC={0}".format(spack_cc)]
@property
def install_targets(self):
- return ['prefix={0}'.format(self.prefix), 'install']
+ return ["prefix={0}".format(self.prefix), "install"]
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
mkdirp(self.prefix.lib.pkgconfig)
- with open(join_path(self.prefix.lib.pkgconfig, 'lmdb.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(self.prefix.lib))
- f.write('includedir={0}\n'.format(self.prefix.include))
- f.write('\n')
- f.write('Name: LMDB\n')
- f.write('Description: Symas LMDB is an extraordinarily fast, '
- 'memory-efficient database.\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -llmdb\n')
+ with open(join_path(self.prefix.lib.pkgconfig, "lmdb.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(self.prefix.lib))
+ f.write("includedir={0}\n".format(self.prefix.include))
+ f.write("\n")
+ f.write("Name: LMDB\n")
+ f.write(
+ "Description: Symas LMDB is an extraordinarily fast, "
+ "memory-efficient database.\n"
+ )
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -llmdb\n")
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index f9e6a874d2..68715cee06 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -18,76 +18,76 @@ class Lmod(AutotoolsPackage):
library and header files can be found.
"""
- homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod'
- url = "https://github.com/TACC/Lmod/archive/8.5.6.tar.gz"
-
- version('8.7.2', sha256='5f44f3783496d2d597ced7531e1714c740dbb2883a7d16fde362135fb0b0fd96')
- version('8.6.18', sha256='3db1c665c35fb8beb78c02e40d56accd361d82b715df70b2a995bcb10fbc2c80')
- version('8.6.5', sha256='4a1823264187340be11104d82f8226905daa8149186fa8615dfc742b6d19c2ce')
- version('8.5.29', sha256='4e38074e3ea1d41f3809b6b357440618f821437dffa47d8e653d0ade48d45ab7')
- version('8.5.27', sha256='bec911ff6b20de7d38587d1f9c351f58ed7bdf10cb3938089c82944b5ee0ab0d')
- version('8.5.6', sha256='1d1058ffa33a661994c1b2af4bfee4aa1539720cd5c13d61e18adbfb231bbe88')
- version('8.3', sha256='c2c2e9e6b387b011ee617cb009a2199caac8bf200330cb8a065ceedee09e664a')
- version('8.2.10', sha256='15676d82235faf5c755a747f0e318badb1a5c3ff1552fa8022c67ff083ee9e2f')
- version('8.1.5', sha256='3e5846d3d8e593cbcdfa0aed1474569bf5b5cfd19fd288de22051823d449d344')
- version('8.0.9', sha256='9813c22ae4dd21eb3dc480f6ce307156512092b4bca954bf8aacc15944f23673')
- version('7.8.15', sha256='00a257f5073d656adc73045997c28f323b7a4f6d901f1c57b7db2b0cd6bee6e6')
- version('7.8.1', sha256='74244c22cecd72777e75631f357d2e20ff7f2b9c2ef59e4e38b5a171b7b6eeea')
- version('7.8', sha256='40388380a36a00c3ce929a9f88c8fffc93deeabf87a7c3f8864a82acad38c3ba')
- version('7.7.29', sha256='269235d07d8ea387a2578f90bb64cf8ad16b4f28dcce196b293eb48cf1f71fb4')
- version('7.7.13', sha256='6145f075e5d49e12fcf0e75bb38afb27f205d23ba3496c1ff6c8b2cbaa9908be')
- version('7.7', sha256='090118fcecedbce5515cca8b77297f082686583aa06ca811b9703cd828f10e0a')
- version('7.6.14', sha256='f628ed2272bb26671d2c478afef2ddd88dce324748032bfe8d6f6c7747f00162')
- version('7.4.11', sha256='54c3629f6e455a4767dfb775e1b0ca46b8f217dcc0966bf0227c0ea11e0e0d62')
- version('7.4.10', sha256='7b37936ddbc574f03eb08579f1d1bb5fa8c476b55ee070dc3c432d96970e6562')
- version('7.4.9', sha256='5aee6cc9cf0b27327c8b4f5fdfb9aa079d90aed685ee7853cbcc49c32b48a5d9')
- version('7.4.8', sha256='a634989dcd34b0ad7bee95ca535765b7de886d9f9ef78cad5976122356d71169')
- version('7.4.5', sha256='a4af6dcd3d9b209cc10467e6ce77301c0ec517437b70cfc567a3180030c4f404')
- version('7.4.1', sha256='1d407c68a5a8c1ae9870a12303ba81d2a92b68f66ac7dd704ccffb65bfb873d9')
- version('7.3', sha256='624e8ffb7527b380dc248cf7ddf36beecb91c762d840be447bc9a55bf8cd26c2')
- version('6.4.5', sha256='741744a2837c9d92fceeccfebdc8e07ce4f4b7e56f67b214d317955bbd8786b7')
- version('6.4.1', sha256='a260b4e42269a80b517c066ba8484658362ea095e80767a2376bbe33d9b070a5')
- version('6.3.7', sha256='55ddb52cbdc0e2e389b3405229336df9aabfa582c874f5df2559ea264e2ee4ae')
-
- depends_on('lua+shared@5.1:')
- depends_on('lua-luaposix', type=('build', 'run'))
- depends_on('lua-luafilesystem', type=('build', 'run'))
- depends_on('tcl', type=('build', 'link', 'run'))
-
- variant('auto_swap', default=True, description='Auto swapping of compilers, etc.')
- variant('redirect', default=False, description='Redirect messages to stdout (instead of stderr)')
-
- patch('fix_tclsh_paths.patch', when='@:6.4.3')
- patch('0001-fix-problem-with-MODULESHOME-and-issue-271.patch', when='@7.3.28:7.4.10')
+ homepage = "https://www.tacc.utexas.edu/research-development/tacc-projects/lmod"
+ url = "https://github.com/TACC/Lmod/archive/8.5.6.tar.gz"
+
+ version("8.7.2", sha256="5f44f3783496d2d597ced7531e1714c740dbb2883a7d16fde362135fb0b0fd96")
+ version("8.6.18", sha256="3db1c665c35fb8beb78c02e40d56accd361d82b715df70b2a995bcb10fbc2c80")
+ version("8.6.5", sha256="4a1823264187340be11104d82f8226905daa8149186fa8615dfc742b6d19c2ce")
+ version("8.5.29", sha256="4e38074e3ea1d41f3809b6b357440618f821437dffa47d8e653d0ade48d45ab7")
+ version("8.5.27", sha256="bec911ff6b20de7d38587d1f9c351f58ed7bdf10cb3938089c82944b5ee0ab0d")
+ version("8.5.6", sha256="1d1058ffa33a661994c1b2af4bfee4aa1539720cd5c13d61e18adbfb231bbe88")
+ version("8.3", sha256="c2c2e9e6b387b011ee617cb009a2199caac8bf200330cb8a065ceedee09e664a")
+ version("8.2.10", sha256="15676d82235faf5c755a747f0e318badb1a5c3ff1552fa8022c67ff083ee9e2f")
+ version("8.1.5", sha256="3e5846d3d8e593cbcdfa0aed1474569bf5b5cfd19fd288de22051823d449d344")
+ version("8.0.9", sha256="9813c22ae4dd21eb3dc480f6ce307156512092b4bca954bf8aacc15944f23673")
+ version("7.8.15", sha256="00a257f5073d656adc73045997c28f323b7a4f6d901f1c57b7db2b0cd6bee6e6")
+ version("7.8.1", sha256="74244c22cecd72777e75631f357d2e20ff7f2b9c2ef59e4e38b5a171b7b6eeea")
+ version("7.8", sha256="40388380a36a00c3ce929a9f88c8fffc93deeabf87a7c3f8864a82acad38c3ba")
+ version("7.7.29", sha256="269235d07d8ea387a2578f90bb64cf8ad16b4f28dcce196b293eb48cf1f71fb4")
+ version("7.7.13", sha256="6145f075e5d49e12fcf0e75bb38afb27f205d23ba3496c1ff6c8b2cbaa9908be")
+ version("7.7", sha256="090118fcecedbce5515cca8b77297f082686583aa06ca811b9703cd828f10e0a")
+ version("7.6.14", sha256="f628ed2272bb26671d2c478afef2ddd88dce324748032bfe8d6f6c7747f00162")
+ version("7.4.11", sha256="54c3629f6e455a4767dfb775e1b0ca46b8f217dcc0966bf0227c0ea11e0e0d62")
+ version("7.4.10", sha256="7b37936ddbc574f03eb08579f1d1bb5fa8c476b55ee070dc3c432d96970e6562")
+ version("7.4.9", sha256="5aee6cc9cf0b27327c8b4f5fdfb9aa079d90aed685ee7853cbcc49c32b48a5d9")
+ version("7.4.8", sha256="a634989dcd34b0ad7bee95ca535765b7de886d9f9ef78cad5976122356d71169")
+ version("7.4.5", sha256="a4af6dcd3d9b209cc10467e6ce77301c0ec517437b70cfc567a3180030c4f404")
+ version("7.4.1", sha256="1d407c68a5a8c1ae9870a12303ba81d2a92b68f66ac7dd704ccffb65bfb873d9")
+ version("7.3", sha256="624e8ffb7527b380dc248cf7ddf36beecb91c762d840be447bc9a55bf8cd26c2")
+ version("6.4.5", sha256="741744a2837c9d92fceeccfebdc8e07ce4f4b7e56f67b214d317955bbd8786b7")
+ version("6.4.1", sha256="a260b4e42269a80b517c066ba8484658362ea095e80767a2376bbe33d9b070a5")
+ version("6.3.7", sha256="55ddb52cbdc0e2e389b3405229336df9aabfa582c874f5df2559ea264e2ee4ae")
+
+ depends_on("lua+shared@5.1:")
+ depends_on("lua-luaposix", type=("build", "run"))
+ depends_on("lua-luafilesystem", type=("build", "run"))
+ depends_on("tcl", type=("build", "link", "run"))
+
+ variant("auto_swap", default=True, description="Auto swapping of compilers, etc.")
+ variant(
+ "redirect", default=False, description="Redirect messages to stdout (instead of stderr)"
+ )
+
+ patch("fix_tclsh_paths.patch", when="@:6.4.3")
+ patch("0001-fix-problem-with-MODULESHOME-and-issue-271.patch", when="@7.3.28:7.4.10")
parallel = False
def setup_build_environment(self, env):
- stage_lua_path = join_path(
- self.stage.source_path, 'src', '?.lua')
- env.append_path('LUA_PATH', stage_lua_path.format(
- version=self.version), separator=';')
+ stage_lua_path = join_path(self.stage.source_path, "src", "?.lua")
+ env.append_path("LUA_PATH", stage_lua_path.format(version=self.version), separator=";")
def patch(self):
"""The tcl scripts should use the tclsh that was discovered
- by the configure script. Touch up their #! lines so that the
- sed in the Makefile's install step has something to work on.
- Requires the change in the associated patch file.fg"""
- if self.spec.version <= Version('6.4.3'):
- for tclscript in glob('src/*.tcl'):
- filter_file(r'^#!.*tclsh', '#!@path_to_tclsh@', tclscript)
+ by the configure script. Touch up their #! lines so that the
+ sed in the Makefile's install step has something to work on.
+ Requires the change in the associated patch file.fg"""
+ if self.spec.version <= Version("6.4.3"):
+ for tclscript in glob("src/*.tcl"):
+ filter_file(r"^#!.*tclsh", "#!@path_to_tclsh@", tclscript)
def configure_args(self):
args = []
- if '+auto_swap' in self.spec:
- args.append('--with-autoSwap=yes')
+ if "+auto_swap" in self.spec:
+ args.append("--with-autoSwap=yes")
else:
- args.append('--with-autoSwap=no')
+ args.append("--with-autoSwap=no")
- if '+redirect' in self.spec:
- args.append('--with-redirect=yes')
+ if "+redirect" in self.spec:
+ args.append("--with-redirect=yes")
else:
- args.append('--with-redirect=no')
+ args.append("--with-redirect=no")
return args
diff --git a/var/spack/repos/builtin/packages/lndir/package.py b/var/spack/repos/builtin/packages/lndir/package.py
index 8c61ee2b89..882518ae6c 100644
--- a/var/spack/repos/builtin/packages/lndir/package.py
+++ b/var/spack/repos/builtin/packages/lndir/package.py
@@ -13,7 +13,7 @@ class Lndir(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/util/lndir"
xorg_mirror_path = "util/lndir-1.0.3.tar.gz"
- version('1.0.3', sha256='95b2d26fb3cbe702f828146c7a4c7c48001d2da52b062580227b7b68180be902')
+ version("1.0.3", sha256="95b2d26fb3cbe702f828146c7a4c7c48001d2da52b062580227b7b68180be902")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/log4c/package.py b/var/spack/repos/builtin/packages/log4c/package.py
index ec8feb568e..62fc45a1f4 100644
--- a/var/spack/repos/builtin/packages/log4c/package.py
+++ b/var/spack/repos/builtin/packages/log4c/package.py
@@ -10,8 +10,8 @@ class Log4c(AutotoolsPackage):
"""Library for writing log messages from C programs"""
homepage = "http://log4c.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/log4c/log4c/1.2.4/log4c-1.2.4.tar.gz"
+ url = "https://downloads.sourceforge.net/project/log4c/log4c/1.2.4/log4c-1.2.4.tar.gz"
- version('1.2.4', sha256='5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea')
+ version("1.2.4", sha256="5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea")
- depends_on('expat@1.95.1:')
+ depends_on("expat@1.95.1:")
diff --git a/var/spack/repos/builtin/packages/log4cplus/package.py b/var/spack/repos/builtin/packages/log4cplus/package.py
index 8d33e935bb..f1d4058e26 100644
--- a/var/spack/repos/builtin/packages/log4cplus/package.py
+++ b/var/spack/repos/builtin/packages/log4cplus/package.py
@@ -12,8 +12,8 @@ class Log4cplus(CMakePackage):
granular control over log management and configuration."""
homepage = "https://sourceforge.net/projects/log4cplus/"
- url = "https://download.sourceforge.net/project/log4cplus/log4cplus-stable/2.0.1/log4cplus-2.0.1.tar.bz2"
+ url = "https://download.sourceforge.net/project/log4cplus/log4cplus-stable/2.0.1/log4cplus-2.0.1.tar.bz2"
- version('2.0.7', sha256='8fadbafee2ba4e558a0f78842613c9fb239c775d83f23340d091084c0e1b12ab')
- version('2.0.1', sha256='43baa7dec3db1ecc97dd9ecf3b50220439d2c7041d15860c36aa1d48dcf480b5')
- version('1.2.1', sha256='ada80be050033d7636beb894eb54de5575ceca95a5572e9437b0fc4ed7d877c4')
+ version("2.0.7", sha256="8fadbafee2ba4e558a0f78842613c9fb239c775d83f23340d091084c0e1b12ab")
+ version("2.0.1", sha256="43baa7dec3db1ecc97dd9ecf3b50220439d2c7041d15860c36aa1d48dcf480b5")
+ version("1.2.1", sha256="ada80be050033d7636beb894eb54de5575ceca95a5572e9437b0fc4ed7d877c4")
diff --git a/var/spack/repos/builtin/packages/log4cpp/package.py b/var/spack/repos/builtin/packages/log4cpp/package.py
index aa60e9ecdb..c62df155c3 100644
--- a/var/spack/repos/builtin/packages/log4cpp/package.py
+++ b/var/spack/repos/builtin/packages/log4cpp/package.py
@@ -14,6 +14,6 @@ class Log4cpp(AutotoolsPackage):
reasonable."""
homepage = "http://log4cpp.sourceforge.net/"
- url = "http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.3.tar.gz"
+ url = "http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.3.tar.gz"
- version('1.1.3', sha256='2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d')
+ version("1.1.3", sha256="2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d")
diff --git a/var/spack/repos/builtin/packages/log4cxx/package.py b/var/spack/repos/builtin/packages/log4cxx/package.py
index 3f4c351223..9ad8dffc36 100644
--- a/var/spack/repos/builtin/packages/log4cxx/package.py
+++ b/var/spack/repos/builtin/packages/log4cxx/package.py
@@ -10,25 +10,25 @@ class Log4cxx(CMakePackage):
"""A C++ port of Log4j"""
homepage = "https://logging.apache.org/log4cxx/latest_stable/"
- url = "https://dlcdn.apache.org/logging/log4cxx/0.12.0/apache-log4cxx-0.12.0.tar.gz"
+ url = "https://dlcdn.apache.org/logging/log4cxx/0.12.0/apache-log4cxx-0.12.0.tar.gz"
- maintainers = ['nicmcd']
+ maintainers = ["nicmcd"]
- version('0.12.1', sha256='7bea5cb477f0e31c838f0e1f4f498cc3b30c2eae74703ddda923e7e8c2268d22')
- version('0.12.0', sha256='bd5b5009ca914c8fa7944b92ea6b4ca6fb7d146f65d526f21bf8b3c6a0520e44')
+ version("0.12.1", sha256="7bea5cb477f0e31c838f0e1f4f498cc3b30c2eae74703ddda923e7e8c2268d22")
+ version("0.12.0", sha256="bd5b5009ca914c8fa7944b92ea6b4ca6fb7d146f65d526f21bf8b3c6a0520e44")
- variant('cxxstd', default='17', description='C++ standard',
- values=('11', '17'), multi=False)
+ variant("cxxstd", default="17", description="C++ standard", values=("11", "17"), multi=False)
- depends_on('cmake@3.13:', type='build')
+ depends_on("cmake@3.13:", type="build")
- depends_on('apr-util')
- depends_on('apr')
- depends_on('boost+thread+system', when='cxxstd=11')
- depends_on('zlib')
- depends_on('zip')
+ depends_on("apr-util")
+ depends_on("apr")
+ depends_on("boost+thread+system", when="cxxstd=11")
+ depends_on("zlib")
+ depends_on("zip")
def cmake_args(self):
return [
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- self.define('BUILD_TESTING', 'off')]
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ self.define("BUILD_TESTING", "off"),
+ ]
diff --git a/var/spack/repos/builtin/packages/logrotate/package.py b/var/spack/repos/builtin/packages/logrotate/package.py
index a5d694d07d..3436d9a269 100644
--- a/var/spack/repos/builtin/packages/logrotate/package.py
+++ b/var/spack/repos/builtin/packages/logrotate/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Logrotate(AutotoolsPackage):
"""The logrotate utility is designed to simplify the administration of
- log files on a system which generates a lot of log files. """
+ log files on a system which generates a lot of log files."""
homepage = "https://github.com/logrotate/logrotate"
- url = "https://github.com/logrotate/logrotate/archive/3.17.0.tar.gz"
+ url = "https://github.com/logrotate/logrotate/archive/3.17.0.tar.gz"
- version('3.17.0', sha256='c25ea219018b024988b791e91e9f6070c34d2056efa6ffed878067866c0ed765')
- version('3.16.0', sha256='bc6acfd09925045d48b5ff553c24c567cfd5f59d513c4ac34bfb51fa6b79dc8a')
- version('3.15.1', sha256='a7b20f5184c9598c36546f9200d3bd616d561478a0423ab8074e97a1cd7b1c25')
+ version("3.17.0", sha256="c25ea219018b024988b791e91e9f6070c34d2056efa6ffed878067866c0ed765")
+ version("3.16.0", sha256="bc6acfd09925045d48b5ff553c24c567cfd5f59d513c4ac34bfb51fa6b79dc8a")
+ version("3.15.1", sha256="a7b20f5184c9598c36546f9200d3bd616d561478a0423ab8074e97a1cd7b1c25")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('popt')
- depends_on('acl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("popt")
+ depends_on("acl")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/logstash/package.py b/var/spack/repos/builtin/packages/logstash/package.py
index 6501902d6d..f16eb9e86d 100644
--- a/var/spack/repos/builtin/packages/logstash/package.py
+++ b/var/spack/repos/builtin/packages/logstash/package.py
@@ -15,9 +15,9 @@ class Logstash(Package):
"""
homepage = "https://artifacts.elastic.co"
- url = "https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz"
+ url = "https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz"
- version('6.6.0', sha256='5a9a8b9942631e9d4c3dfb8d47075276e8c2cff343841145550cc0c1cfe7bba7')
+ version("6.6.0", sha256="5a9a8b9942631e9d4c3dfb8d47075276e8c2cff343841145550cc0c1cfe7bba7")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/loki/package.py b/var/spack/repos/builtin/packages/loki/package.py
index 8f716fab6a..61a70f8a41 100644
--- a/var/spack/repos/builtin/packages/loki/package.py
+++ b/var/spack/repos/builtin/packages/loki/package.py
@@ -11,22 +11,22 @@ class Loki(MakefilePackage):
of common design patterns and idioms."""
homepage = "http://loki-lib.sourceforge.net"
- url = "https://downloads.sourceforge.net/project/loki-lib/Loki/Loki%200.1.7/loki-0.1.7.tar.bz2"
- tags = ['e4s']
+ url = "https://downloads.sourceforge.net/project/loki-lib/Loki/Loki%200.1.7/loki-0.1.7.tar.bz2"
+ tags = ["e4s"]
- version('0.1.7', sha256='07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198')
+ version("0.1.7", sha256="07553754f6be2738559947db69b0718512665bf4a34015fa3a875b6eb1111198")
- variant('shared', default=True, description="Build shared libraries")
+ variant("shared", default=True, description="Build shared libraries")
def build(self, spec, prefix):
- if '+shared' in spec:
- make('-C', 'src', 'build-shared')
+ if "+shared" in spec:
+ make("-C", "src", "build-shared")
else:
- make('-C', 'src', 'build-static')
+ make("-C", "src", "build-static")
def install(self, spec, prefix):
- make('-C', 'include', 'install', 'prefix={0}'.format(prefix))
- if '+shared' in spec:
- make('-C', 'src', 'install-shared', 'prefix={0}'.format(prefix))
+ make("-C", "include", "install", "prefix={0}".format(prefix))
+ if "+shared" in spec:
+ make("-C", "src", "install-shared", "prefix={0}".format(prefix))
else:
- make('-C', 'src', 'install-static', 'prefix={0}'.format(prefix))
+ make("-C", "src", "install-static", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/looptools/package.py b/var/spack/repos/builtin/packages/looptools/package.py
index 1026c68325..f00ff0107c 100644
--- a/var/spack/repos/builtin/packages/looptools/package.py
+++ b/var/spack/repos/builtin/packages/looptools/package.py
@@ -8,20 +8,19 @@ from spack.package import *
class Looptools(AutotoolsPackage):
"""LoopTools is a package for evaluation of scalar and tensor one-loop
- integrals based on the FF package by G.J. van Oldenborgh. It
- features an easy Fortran, C++, and Mathematica interface to the
- scalar one-loop functions of FF and in addition provides
- the 2-, 3-, and 4-point tensor coefficient functions. """
+ integrals based on the FF package by G.J. van Oldenborgh. It
+ features an easy Fortran, C++, and Mathematica interface to the
+ scalar one-loop functions of FF and in addition provides
+ the 2-, 3-, and 4-point tensor coefficient functions."""
homepage = "http://www.feynarts.de/looptools/"
- url = "http://www.feynarts.de/looptools/LoopTools-2.15.tar.gz"
+ url = "http://www.feynarts.de/looptools/LoopTools-2.15.tar.gz"
- version('2.15', sha256='a065ffdc4fe6882aa3bb926134ba8ec875d6c0a633c3d4aa5f70db26542713f2')
- version('2.8', sha256='2395518d0eac9b0883a2c249b9a5ba80df443929c520c45e60f5a4284166eb42')
+ version("2.15", sha256="a065ffdc4fe6882aa3bb926134ba8ec875d6c0a633c3d4aa5f70db26542713f2")
+ version("2.8", sha256="2395518d0eac9b0883a2c249b9a5ba80df443929c520c45e60f5a4284166eb42")
- patch('conf.patch', when='%fj')
+ patch("conf.patch", when="%fj")
def configure_args(self):
- args = ["FFLAGS=" + self.compiler.f77_pic_flag,
- "CFLAGS=" + self.compiler.cc_pic_flag]
+ args = ["FFLAGS=" + self.compiler.f77_pic_flag, "CFLAGS=" + self.compiler.cc_pic_flag]
return args
diff --git a/var/spack/repos/builtin/packages/lordec/package.py b/var/spack/repos/builtin/packages/lordec/package.py
index 569bedb97a..781b4aa205 100644
--- a/var/spack/repos/builtin/packages/lordec/package.py
+++ b/var/spack/repos/builtin/packages/lordec/package.py
@@ -13,39 +13,44 @@ class Lordec(MakefilePackage):
intended for PacBio reads."""
homepage = "http://www.atgc-montpellier.fr/lordec/"
- url = "https://gite.lirmm.fr/lordec/lordec-releases/uploads/e3116a5f251e46e47f7a3b7ddb2bd7f6/lordec-src_0.8.tar.gz"
+ url = "https://gite.lirmm.fr/lordec/lordec-releases/uploads/e3116a5f251e46e47f7a3b7ddb2bd7f6/lordec-src_0.8.tar.gz"
- version('0.9', sha256='8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b')
- version('0.8', sha256='3894a7c57649a3545b598f92a48d55eda66d729ab51606b00470c50611b12823')
+ version("0.9", sha256="8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b")
+ version("0.8", sha256="3894a7c57649a3545b598f92a48d55eda66d729ab51606b00470c50611b12823")
def url_for_version(self, version):
- if version == Version('0.8'):
+ if version == Version("0.8"):
return "https://gite.lirmm.fr/lordec/lordec-releases/uploads/e3116a5f251e46e47f7a3b7ddb2bd7f6/lordec-src_0.8.tar.gz"
- if version == Version('0.9'):
+ if version == Version("0.9"):
return "https://gite.lirmm.fr/lordec/lordec-releases/uploads/800a96d81b3348e368a0ff3a260a88e1/lordec-src_0.9.tar.bz2"
- depends_on('boost@1.48.0:1.64.0', type=['build', 'link'])
+ depends_on("boost@1.48.0:1.64.0", type=["build", "link"])
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('gatb-core@1.4.1:', type=['build', 'link', 'run'])
- depends_on('zlib', type=['build', 'link'])
+ depends_on("gatb-core@1.4.1:", type=["build", "link", "run"])
+ depends_on("zlib", type=["build", "link"])
- build_targets = ['clean', 'all']
+ build_targets = ["clean", "all"]
def edit(self, spec, prefix):
- lbstr = 'AUTOMATIC_LIBBOOST_LOCAL_INSTALL=no'
- filter_file('^AUTOMATIC_LIBBOOST_LOCAL_INSTALL.*$', lbstr, 'Makefile')
- filter_file('gatb_v.*gatb_core.hpp', '', 'Makefile')
+ lbstr = "AUTOMATIC_LIBBOOST_LOCAL_INSTALL=no"
+ filter_file("^AUTOMATIC_LIBBOOST_LOCAL_INSTALL.*$", lbstr, "Makefile")
+ filter_file("gatb_v.*gatb_core.hpp", "", "Makefile")
def install(self, spec, prefix):
mkdir(prefix.include)
- install('*.h', prefix.include)
+ install("*.h", prefix.include)
mkdir(prefix.bin)
- binaries = ['lordec-correct', 'lordec-stat', 'lordec-trim',
- 'lordec-trim-split', 'lordec-build-SR-graph']
+ binaries = [
+ "lordec-correct",
+ "lordec-stat",
+ "lordec-trim",
+ "lordec-trim-split",
+ "lordec-build-SR-graph",
+ ]
for binary in binaries:
install(binary, prefix.bin)
mkdir(prefix.tools)
- install('lordec_sge_slurm_wrapper.sh', prefix.tools)
+ install("lordec_sge_slurm_wrapper.sh", prefix.tools)
diff --git a/var/spack/repos/builtin/packages/lorene/package.py b/var/spack/repos/builtin/packages/lorene/package.py
index 2a643156b7..71e7dfe0e0 100644
--- a/var/spack/repos/builtin/packages/lorene/package.py
+++ b/var/spack/repos/builtin/packages/lorene/package.py
@@ -19,93 +19,113 @@ class Lorene(MakefilePackage):
spectral methods."""
homepage = "https://lorene.obspm.fr/index.html"
- cvs = ":pserver:anonymous:anonymous@octane.obspm.fr:/cvsroot%module=Lorene"
+ cvs = ":pserver:anonymous:anonymous@octane.obspm.fr:/cvsroot%module=Lorene"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('2021.4.22', date='2021-04-22')
+ version("2021.4.22", date="2021-04-22")
- variant('fftw', default=True,
- description='Use external FFTW for spectral transformations')
- variant('bin_star', default=True,
- description='Build Bin_star solver for binary neutron star systems')
+ variant("fftw", default=True, description="Use external FFTW for spectral transformations")
+ variant(
+ "bin_star",
+ default=True,
+ description="Build Bin_star solver for binary neutron star systems",
+ )
- depends_on('blas')
- depends_on('fftw @3:', when='+fftw')
- depends_on('gsl')
- depends_on('lapack')
- depends_on('pgplot')
+ depends_on("blas")
+ depends_on("fftw @3:", when="+fftw")
+ depends_on("gsl")
+ depends_on("lapack")
+ depends_on("pgplot")
parallel = False
def edit(self, spec, prefix):
- 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
- gsl_incdirs = "-I" + spec['gsl'].prefix.include
- gsl_libdirs = "-L" + spec['gsl'].prefix.lib
- gsl_libs = spec['gsl'].libs.link_flags
- lapack_libs = spec['lapack'].libs.link_flags
- pgplot_incdirs = "-I" + spec['pgplot'].prefix.include
- pgplot_libdirs = "-L" + spec['pgplot'].prefix.lib
- pgplot_libs = spec['pgplot'].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
+ gsl_incdirs = "-I" + spec["gsl"].prefix.include
+ gsl_libdirs = "-L" + spec["gsl"].prefix.lib
+ gsl_libs = spec["gsl"].libs.link_flags
+ lapack_libs = spec["lapack"].libs.link_flags
+ pgplot_incdirs = "-I" + spec["pgplot"].prefix.include
+ pgplot_libdirs = "-L" + spec["pgplot"].prefix.lib
+ pgplot_libs = spec["pgplot"].libs.link_flags
substitutions = [
- ('@CXX@', self.compiler.cxx),
- ('@CXXFLAGS@', "-g -I$(HOME_LORENE)/C++/Include -O3 -DNDEBUG"),
- ('@CXXFLAGS_G@', "-g -I$(HOME_LORENE)/C++/Include"),
- ('@F77@', self.compiler.f77),
- ('@F77FLAGS@', "-ffixed-line-length-none -g -O3"),
- ('@F77FLAGS_G@', "-ffixed-line-length-none -g"),
- ('@INC@',
- ("-I$(HOME_LORENE)/C++/Include " +
- "-I$(HOME_LORENE)/C++/Include_extra " +
- fftw_incdirs + " " + gsl_incdirs + " " + pgplot_incdirs)),
- ('@RANLIB@', "ls"),
- ('@MAKEDEPEND@', ": >$(df).d"),
- ('@FFT_DIR@', "FFTW3"),
- ('@LIB_CXX@', fftw_libdirs + " " + fftw_libs + " -lgfortran"),
- ('@LIB_GSL@', gsl_libdirs + " " + gsl_libs),
- ('@LIB_LAPACK@', lapack_libs + " " + blas_libs),
- ('@LIB_PGPLOT@', pgplot_libdirs + " " + pgplot_libs),
+ ("@CXX@", self.compiler.cxx),
+ ("@CXXFLAGS@", "-g -I$(HOME_LORENE)/C++/Include -O3 -DNDEBUG"),
+ ("@CXXFLAGS_G@", "-g -I$(HOME_LORENE)/C++/Include"),
+ ("@F77@", self.compiler.f77),
+ ("@F77FLAGS@", "-ffixed-line-length-none -g -O3"),
+ ("@F77FLAGS_G@", "-ffixed-line-length-none -g"),
+ (
+ "@INC@",
+ (
+ "-I$(HOME_LORENE)/C++/Include "
+ + "-I$(HOME_LORENE)/C++/Include_extra "
+ + fftw_incdirs
+ + " "
+ + gsl_incdirs
+ + " "
+ + pgplot_incdirs
+ ),
+ ),
+ ("@RANLIB@", "ls"),
+ ("@MAKEDEPEND@", ": >$(df).d"),
+ ("@FFT_DIR@", "FFTW3"),
+ ("@LIB_CXX@", fftw_libdirs + " " + fftw_libs + " -lgfortran"),
+ ("@LIB_GSL@", gsl_libdirs + " " + gsl_libs),
+ ("@LIB_LAPACK@", lapack_libs + " " + blas_libs),
+ ("@LIB_PGPLOT@", pgplot_libdirs + " " + pgplot_libs),
]
local_settings_template = join_path(
- os.path.dirname(inspect.getmodule(self).__file__),
- 'local_settings.template'
- )
- local_settings = join_path(
- self.stage.source_path, 'local_settings'
+ os.path.dirname(inspect.getmodule(self).__file__), "local_settings.template"
)
+ local_settings = join_path(self.stage.source_path, "local_settings")
copy(local_settings_template, local_settings)
for key, value in substitutions:
filter_file(key, value, local_settings)
def build(self, spec, prefix):
- args = ['HOME_LORENE=' + self.build_directory]
+ args = ["HOME_LORENE=" + self.build_directory]
# (We could build the documentation as well.)
# (We could circumvent the build system and simply compile all
# source files, and do so in parallel.)
- make('cpp', 'fortran', 'export', *args)
- if '+bin_star' in spec:
- with working_dir(join_path('Codes', 'Bin_star')):
- make('-f', 'Makefile_O2',
- 'coal', 'lit_bin', 'init_bin', 'coal_regu', 'init_bin_regu',
- 'analyse', 'prepare_seq',
- *args)
+ make("cpp", "fortran", "export", *args)
+ if "+bin_star" in spec:
+ with working_dir(join_path("Codes", "Bin_star")):
+ make(
+ "-f",
+ "Makefile_O2",
+ "coal",
+ "lit_bin",
+ "init_bin",
+ "coal_regu",
+ "init_bin_regu",
+ "analyse",
+ "prepare_seq",
+ *args
+ )
def install(self, spec, prefix):
mkdirp(prefix.lib)
- install_tree('Lib', prefix.lib)
+ install_tree("Lib", prefix.lib)
mkdirp(prefix.bin)
- if '+bin_star' in spec:
- 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)
+ if "+bin_star" in spec:
+ 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):
shared = "+shared" in self.spec
- return find_libraries(
- "liblorene*", root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("liblorene*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/lp-solve/package.py b/var/spack/repos/builtin/packages/lp-solve/package.py
index 4d7576781e..c4fb54a943 100644
--- a/var/spack/repos/builtin/packages/lp-solve/package.py
+++ b/var/spack/repos/builtin/packages/lp-solve/package.py
@@ -10,23 +10,23 @@ class LpSolve(Package):
"""lp_solve is a Mixed Integer Linear Programming (MILP) solver."""
homepage = "https://sourceforge.net/projects/lpsolve/"
- url = "https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.11/lp_solve_5.5.2.11_source.tar.gz"
+ url = "https://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.11/lp_solve_5.5.2.11_source.tar.gz"
- version('5.5.2.11', sha256='6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f')
+ version("5.5.2.11", sha256="6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f")
def install(self, spec, prefix):
- with working_dir('lpsolve55'):
+ with working_dir("lpsolve55"):
mkdir(prefix.lib)
- sh = which('sh')
- sh('-x', 'ccc')
- install_tree('bin/ux64', prefix.lib)
- with working_dir('lp_solve'):
+ sh = which("sh")
+ sh("-x", "ccc")
+ install_tree("bin/ux64", prefix.lib)
+ with working_dir("lp_solve"):
mkdir(prefix.bin)
- sh = which('sh')
- sh('-x', 'ccc')
- install_tree('bin/ux64', prefix.bin)
+ sh = which("sh")
+ sh("-x", "ccc")
+ install_tree("bin/ux64", prefix.bin)
mkdirp(prefix.include.lpsolve)
- headers = find('.', '*.h', recursive=False)
+ headers = find(".", "*.h", recursive=False)
for header in headers:
install(header, prefix.include.lpsolve)
diff --git a/var/spack/repos/builtin/packages/lrslib/package.py b/var/spack/repos/builtin/packages/lrslib/package.py
index 5db209fec3..98ef09cb41 100644
--- a/var/spack/repos/builtin/packages/lrslib/package.py
+++ b/var/spack/repos/builtin/packages/lrslib/package.py
@@ -11,14 +11,15 @@ class Lrslib(Package):
"""lrslib Ver 6.2 is a self-contained ANSI C implementation of the
reverse search algorithm for vertex enumeration/convex hull
problems and comes with a choice of three arithmetic packages"""
+
homepage = "http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
- url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-062.tar.gz"
+ url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-062.tar.gz"
- version('6.2', sha256='adf92f9c7e70c001340b9c28f414208d49c581df46b550f56ab9a360348e4f09')
- version('6.1', sha256='6d5b30ee67e1fdcd6bf03e14717616f18912d59b3707f6d53f9c594c1674ec45')
- version('6.0', sha256='1a569786ecd89ef4f2ddee5ebc32e321f0339505be40f4ffbd2daa95fed1c505')
- version('5.1', sha256='500893df61631944bac14a76c6e13fc08e6e729727443fa5480b2510de0db635')
- version('4.3', sha256='04fc1916ea122b3f2446968d2739717aa2c6c94b21fba1f2c627fd17fcf7a963')
+ version("6.2", sha256="adf92f9c7e70c001340b9c28f414208d49c581df46b550f56ab9a360348e4f09")
+ version("6.1", sha256="6d5b30ee67e1fdcd6bf03e14717616f18912d59b3707f6d53f9c594c1674ec45")
+ version("6.0", sha256="1a569786ecd89ef4f2ddee5ebc32e321f0339505be40f4ffbd2daa95fed1c505")
+ version("5.1", sha256="500893df61631944bac14a76c6e13fc08e6e729727443fa5480b2510de0db635")
+ version("4.3", sha256="04fc1916ea122b3f2446968d2739717aa2c6c94b21fba1f2c627fd17fcf7a963")
# Note: lrslib can also be built with Boost, and probably without gmp
@@ -28,7 +29,7 @@ class Lrslib(Package):
patch("Makefile.spack.patch")
# Ref: https://github.com/mkoeppe/lrslib/commit/2e8c5bd6c06430151faea5910f44aa032c4178a9
- patch('fix-return-value.patch')
+ patch("fix-return-value.patch")
def url_for_version(self, version):
url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-0{0}.tar.gz"
@@ -36,9 +37,12 @@ class Lrslib(Package):
def install(self, spec, prefix):
# The Makefile isn't portable; use our own instead
- makeargs = ["-f", "Makefile.spack",
- "PREFIX=%s" % prefix,
- # "BOOST_PREFIX=%s" % spec["boost"].prefix,
- "GMP_PREFIX=%s" % spec["gmp"].prefix]
+ makeargs = [
+ "-f",
+ "Makefile.spack",
+ "PREFIX=%s" % prefix,
+ # "BOOST_PREFIX=%s" % spec["boost"].prefix,
+ "GMP_PREFIX=%s" % spec["gmp"].prefix,
+ ]
make(*makeargs)
make("install", *makeargs)
diff --git a/var/spack/repos/builtin/packages/lrzip/package.py b/var/spack/repos/builtin/packages/lrzip/package.py
index cfac1bf533..eab1a7b5a3 100644
--- a/var/spack/repos/builtin/packages/lrzip/package.py
+++ b/var/spack/repos/builtin/packages/lrzip/package.py
@@ -14,30 +14,27 @@ class Lrzip(Package):
choose to optimise for speed (fast compression / decompression) or size,
but not both."""
- homepage = 'http://lrzip.kolivas.org'
- url = 'https://github.com/ckolivas/lrzip/archive/v0.630.tar.gz'
- git = 'https://github.com/ckolivas/lrzip.git'
+ homepage = "http://lrzip.kolivas.org"
+ url = "https://github.com/ckolivas/lrzip/archive/v0.630.tar.gz"
+ git = "https://github.com/ckolivas/lrzip.git"
- version('master', branch='master')
- version('0.630', sha256='7b9bf6415fb2294a8e83a5a1c6a8d7da17a19f4730567c8fa16e3016d79250a6')
- version('0.621', sha256='4bf93c1df076b6e6a57f32c0c4b7790b4d25d724c259394e1d32b680c0657121')
- version('0.616', sha256='6ef50bfec15d7585e5b085067c9fe91a87246ccd14a3165acd08b147bba26a2e')
- version('0.615', sha256='45bc3e09a9c467c9331499e4e7919ea97d0824d24a1f2c3ec9548bb2b9d14898')
+ version("master", branch="master")
+ version("0.630", sha256="7b9bf6415fb2294a8e83a5a1c6a8d7da17a19f4730567c8fa16e3016d79250a6")
+ version("0.621", sha256="4bf93c1df076b6e6a57f32c0c4b7790b4d25d724c259394e1d32b680c0657121")
+ version("0.616", sha256="6ef50bfec15d7585e5b085067c9fe91a87246ccd14a3165acd08b147bba26a2e")
+ version("0.615", sha256="45bc3e09a9c467c9331499e4e7919ea97d0824d24a1f2c3ec9548bb2b9d14898")
# depends_on('coreutils')
- depends_on('lzo')
- depends_on('zlib')
- depends_on('bzip2')
+ depends_on("lzo")
+ depends_on("zlib")
+ depends_on("bzip2")
def install(self, spec, prefix):
- set_executable('./autogen.sh')
- autogen = Executable('./autogen.sh')
+ set_executable("./autogen.sh")
+ autogen = Executable("./autogen.sh")
- configure_args = [
- '--prefix={0}'.format(prefix),
- '--disable-dependency-tracking'
- ]
+ configure_args = ["--prefix={0}".format(prefix), "--disable-dependency-tracking"]
autogen(*configure_args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/lsf/package.py b/var/spack/repos/builtin/packages/lsf/package.py
index 3206d94811..8f1a8e9e44 100644
--- a/var/spack/repos/builtin/packages/lsf/package.py
+++ b/var/spack/repos/builtin/packages/lsf/package.py
@@ -13,7 +13,7 @@ class Lsf(Package):
homepage = "https://www.ibm.com/products/hpc-workload-management"
has_code = False
- version('10.1')
+ version("10.1")
# LSF needs to be added as an external package to SPACK. For this, the
# config file packages.yaml needs to be adjusted:
@@ -27,5 +27,8 @@ class Lsf(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/lshw/package.py b/var/spack/repos/builtin/packages/lshw/package.py
index b85eeab529..549d684fcc 100644
--- a/var/spack/repos/builtin/packages/lshw/package.py
+++ b/var/spack/repos/builtin/packages/lshw/package.py
@@ -16,13 +16,13 @@ class Lshw(MakefilePackage):
"""
homepage = "https://github.com/lyonel/lshw"
- url = "https://github.com/lyonel/lshw/archive/B.02.18.tar.gz"
+ url = "https://github.com/lyonel/lshw/archive/B.02.18.tar.gz"
- version('02.18', sha256='aa8cb2eebf36e9e46dfc227f24784aa8c87181ec96e57ee6c455da8a0ce4fa77')
- version('02.17', sha256='0bb76c7df7733dc9b80d5d35f9d9752409ddb506e190453a2cc960461de5ddeb')
- version('02.16', sha256='58a7731d204791dd33db5eb3fde9808d1235283e069e6c33a193637ccec27b3e')
- version('02.15', sha256='33c51ba0554d4bcd8ff9a67e5971a63b9ddd58213e2901a09000815376bc61b9')
+ version("02.18", sha256="aa8cb2eebf36e9e46dfc227f24784aa8c87181ec96e57ee6c455da8a0ce4fa77")
+ version("02.17", sha256="0bb76c7df7733dc9b80d5d35f9d9752409ddb506e190453a2cc960461de5ddeb")
+ version("02.16", sha256="58a7731d204791dd33db5eb3fde9808d1235283e069e6c33a193637ccec27b3e")
+ version("02.15", sha256="33c51ba0554d4bcd8ff9a67e5971a63b9ddd58213e2901a09000815376bc61b9")
def install(self, spec, prefix):
- make('install')
- install_tree('.', prefix)
+ make("install")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/lsof/package.py b/var/spack/repos/builtin/packages/lsof/package.py
index e6762697c1..7c69120ed5 100644
--- a/var/spack/repos/builtin/packages/lsof/package.py
+++ b/var/spack/repos/builtin/packages/lsof/package.py
@@ -10,22 +10,22 @@ class Lsof(Package):
"""Lsof displays information about files open to Unix processes."""
homepage = "https://people.freebsd.org/~abe/"
- url = "https://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.91.tar.gz"
+ url = "https://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.91.tar.gz"
list_url = "https://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/"
- version('4.91', sha256='3ca57887470fdf223a8e8aae4559cd3a26787bea93b94336c90ee8062e29e352')
- version('4.90', sha256='27794d3d6499fd5f0f08710b4518b33aed8a4580951d1adf27f6c25898685c9e')
- version('4.89', sha256='5d08da7ebe049c9d9a6472d6afb81aa5af54c4733a3f8822cbc22b57867633c9')
+ version("4.91", sha256="3ca57887470fdf223a8e8aae4559cd3a26787bea93b94336c90ee8062e29e352")
+ version("4.90", sha256="27794d3d6499fd5f0f08710b4518b33aed8a4580951d1adf27f6c25898685c9e")
+ version("4.89", sha256="5d08da7ebe049c9d9a6472d6afb81aa5af54c4733a3f8822cbc22b57867633c9")
def install(self, spec, prefix):
- tar = which('tar')
- tar('xf', 'lsof_{0}_src.tar'.format(self.version))
+ tar = which("tar")
+ tar("xf", "lsof_{0}_src.tar".format(self.version))
- with working_dir('lsof_{0}_src'.format(self.version)):
- configure = Executable('./Configure')
- configure('-n', 'linux')
+ with working_dir("lsof_{0}_src".format(self.version)):
+ configure = Executable("./Configure")
+ configure("-n", "linux")
make()
mkdir(prefix.bin)
- install('lsof', prefix.bin)
+ install("lsof", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/lsscsi/package.py b/var/spack/repos/builtin/packages/lsscsi/package.py
index d69898160b..bf83eb429d 100644
--- a/var/spack/repos/builtin/packages/lsscsi/package.py
+++ b/var/spack/repos/builtin/packages/lsscsi/package.py
@@ -13,7 +13,7 @@ class Lsscsi(AutotoolsPackage):
been widely used prior to the lk 2.6 series."""
homepage = "https://sg.danny.cz/scsi/lsscsi.html"
- url = "https://sg.danny.cz/scsi/lsscsi-0.31.tgz"
+ url = "https://sg.danny.cz/scsi/lsscsi-0.31.tgz"
- version('0.31', sha256='12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca')
- version('0.30', sha256='619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15')
+ version("0.31", sha256="12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca")
+ version("0.30", sha256="619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15")
diff --git a/var/spack/repos/builtin/packages/ltp/package.py b/var/spack/repos/builtin/packages/ltp/package.py
index 8e591c61ec..ae34b2ff66 100644
--- a/var/spack/repos/builtin/packages/ltp/package.py
+++ b/var/spack/repos/builtin/packages/ltp/package.py
@@ -14,12 +14,12 @@ class Ltp(AutotoolsPackage):
of tools for testing the Linux kernel and related features."""
homepage = "https://github.com/linux-test-project/ltp"
- url = "https://github.com/linux-test-project/ltp/archive/20190517.tar.gz"
+ url = "https://github.com/linux-test-project/ltp/archive/20190517.tar.gz"
- version('20190930', sha256='eca11dbe11a61f3035561a2aa272d578ca9380563440f9ba876c0c4755a42533')
- version('20190517', sha256='538175fff2d6c9d69748b2d4afcf5ac43f7300456f839fa7b5b101c7ad447af7')
+ version("20190930", sha256="eca11dbe11a61f3035561a2aa272d578ca9380563440f9ba876c0c4755a42533")
+ version("20190517", sha256="538175fff2d6c9d69748b2d4afcf5ac43f7300456f839fa7b5b101c7ad447af7")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/ltr-retriever/package.py b/var/spack/repos/builtin/packages/ltr-retriever/package.py
index 847bb6cdf8..81953d81b1 100644
--- a/var/spack/repos/builtin/packages/ltr-retriever/package.py
+++ b/var/spack/repos/builtin/packages/ltr-retriever/package.py
@@ -10,37 +10,31 @@ from spack.package import *
class LtrRetriever(Package):
"""LTR_retriever is a highly accurate and sensitive program for
- identification of LTR retrotransposons."""
+ identification of LTR retrotransposons."""
homepage = "https://github.com/oushujun/LTR_retriever"
- url = "https://github.com/oushujun/LTR_retriever/archive/v2.8.7.tar.gz"
+ url = "https://github.com/oushujun/LTR_retriever/archive/v2.8.7.tar.gz"
- version('2.8.7', sha256='29ca6f699c57b5e964aa0ee6c7d3e1e4cd5362dadd789e5f0e8c82fe0bb29369')
+ version("2.8.7", sha256="29ca6f699c57b5e964aa0ee6c7d3e1e4cd5362dadd789e5f0e8c82fe0bb29369")
- depends_on('perl', type='run')
- depends_on('blast-plus', type='run')
- depends_on('hmmer@3.1b2:', type='run')
- depends_on('cdhit', type='run')
- depends_on('repeatmasker', type='run')
+ depends_on("perl", type="run")
+ depends_on("blast-plus", type="run")
+ depends_on("hmmer@3.1b2:", type="run")
+ depends_on("cdhit", type="run")
+ depends_on("repeatmasker", type="run")
def install(self, spec, prefix):
- filter_file(r'BLAST\+=.*', 'BLAST+=%s' % spec['blast-plus'].prefix.bin,
- 'paths')
- filter_file('RepeatMasker=.*',
- 'RepeatMasker=%s' % spec['repeatmasker'].prefix.bin,
- 'paths')
- filter_file('HMMER=.*',
- 'HMMER=%s' % spec['hmmer'].prefix.bin,
- 'paths')
- filter_file('CDHIT=.*',
- 'CDHIT=%s' % spec['cdhit'].prefix,
- 'paths')
- filter_file('BLAST=.*', '', 'paths')
+ filter_file(r"BLAST\+=.*", "BLAST+=%s" % spec["blast-plus"].prefix.bin, "paths")
+ filter_file(
+ "RepeatMasker=.*", "RepeatMasker=%s" % spec["repeatmasker"].prefix.bin, "paths"
+ )
+ filter_file("HMMER=.*", "HMMER=%s" % spec["hmmer"].prefix.bin, "paths")
+ filter_file("CDHIT=.*", "CDHIT=%s" % spec["cdhit"].prefix, "paths")
+ filter_file("BLAST=.*", "", "paths")
mkdirp(prefix.opt)
mkdirp(prefix.bin)
- install_tree('.', prefix.opt.ltr_retriever)
+ install_tree(".", prefix.opt.ltr_retriever)
- symlink(prefix.opt.ltr_retriever.LTR_retriever,
- prefix.bin.LTR_retriever)
+ symlink(prefix.opt.ltr_retriever.LTR_retriever, prefix.bin.LTR_retriever)
diff --git a/var/spack/repos/builtin/packages/ltrace/package.py b/var/spack/repos/builtin/packages/ltrace/package.py
index b1e72ac5ee..3385bccab0 100644
--- a/var/spack/repos/builtin/packages/ltrace/package.py
+++ b/var/spack/repos/builtin/packages/ltrace/package.py
@@ -12,13 +12,13 @@ class Ltrace(AutotoolsPackage):
can also intercept and print the system calls executed by the program."""
homepage = "https://www.ltrace.org"
- url = "https://www.ltrace.org/ltrace_0.7.3.orig.tar.bz2"
+ url = "https://www.ltrace.org/ltrace_0.7.3.orig.tar.bz2"
- version('0.7.3', sha256='0e6f8c077471b544c06def7192d983861ad2f8688dd5504beae62f0c5f5b9503')
+ version("0.7.3", sha256="0e6f8c077471b544c06def7192d983861ad2f8688dd5504beae62f0c5f5b9503")
- conflicts('platform=darwin', msg='ltrace runs only on Linux.')
+ conflicts("platform=darwin", msg="ltrace runs only on Linux.")
def configure_args(self):
# Disable -Werror since some functions used by ltrace
# have been deprecated in recent version of glibc
- return ['--disable-werror']
+ return ["--disable-werror"]
diff --git a/var/spack/repos/builtin/packages/lua-bit32/package.py b/var/spack/repos/builtin/packages/lua-bit32/package.py
index 3080c8b753..315ed99857 100644
--- a/var/spack/repos/builtin/packages/lua-bit32/package.py
+++ b/var/spack/repos/builtin/packages/lua-bit32/package.py
@@ -10,8 +10,12 @@ class LuaBit32(LuaPackage):
"""Lua 5.2 bit operations for Lua 5.1"""
homepage = "https://luarocks.org/modules/siffiejoe/bit32/"
- url = "https://luarocks.org/manifests/siffiejoe/bit32-5.3.5.1-1.src.rock"
+ url = "https://luarocks.org/manifests/siffiejoe/bit32-5.3.5.1-1.src.rock"
- version('5.3.5.1-1', sha256='0e273427f2b877270f9cec5642ebe2670242926ba9638d4e6df7e4e1263ca12c', expand=False)
+ version(
+ "5.3.5.1-1",
+ sha256="0e273427f2b877270f9cec5642ebe2670242926ba9638d4e6df7e4e1263ca12c",
+ expand=False,
+ )
- depends_on('lua-lang@5.1')
+ depends_on("lua-lang@5.1")
diff --git a/var/spack/repos/builtin/packages/lua-bitlib/package.py b/var/spack/repos/builtin/packages/lua-bitlib/package.py
index 29825bc5c6..cb21f46af1 100644
--- a/var/spack/repos/builtin/packages/lua-bitlib/package.py
+++ b/var/spack/repos/builtin/packages/lua-bitlib/package.py
@@ -11,11 +11,14 @@ class LuaBitlib(LuaPackage):
"""Lua-jit-like bitwise operations for lua"""
homepage = "http://luaforge.net/projects/bitlib"
- url = "https://luarocks.org/manifests/luarocks/bitlib-23-2.src.rock"
+ url = "https://luarocks.org/manifests/luarocks/bitlib-23-2.src.rock"
- version('23-2', sha256='fe226edc2808162e67418e6b2c98befc0ed25a489ecffc6974fa153f951c0c34',
- expand=False)
+ version(
+ "23-2",
+ sha256="fe226edc2808162e67418e6b2c98befc0ed25a489ecffc6974fa153f951c0c34",
+ expand=False,
+ )
def preprocess(self, spec, prefix):
- m = FileFilter('lbitlib.c')
- m.filter('luaL_reg', 'luaL_Reg')
+ m = FileFilter("lbitlib.c")
+ m.filter("luaL_reg", "luaL_Reg")
diff --git a/var/spack/repos/builtin/packages/lua-ffi/package.py b/var/spack/repos/builtin/packages/lua-ffi/package.py
index df08027484..de22b8062e 100644
--- a/var/spack/repos/builtin/packages/lua-ffi/package.py
+++ b/var/spack/repos/builtin/packages/lua-ffi/package.py
@@ -13,8 +13,12 @@ class LuaFfi(LuaPackage):
git = "https://github.com/facebook/luaffifb/"
url = "https://github.com/facebook/luaffifb/"
- maintainers = ['trws']
+ maintainers = ["trws"]
- version('0.0.1.fakever', git="https://github.com/facebook/luaffifb/", commit='a1cb731b08c91643b0665935eb5622b3d621211b')
+ version(
+ "0.0.1.fakever",
+ git="https://github.com/facebook/luaffifb/",
+ commit="a1cb731b08c91643b0665935eb5622b3d621211b",
+ )
- depends_on('lua@5.1:5.1.99')
+ depends_on("lua@5.1:5.1.99")
diff --git a/var/spack/repos/builtin/packages/lua-lpeg/package.py b/var/spack/repos/builtin/packages/lua-lpeg/package.py
index b5654ccbfa..fbdfde590e 100644
--- a/var/spack/repos/builtin/packages/lua-lpeg/package.py
+++ b/var/spack/repos/builtin/packages/lua-lpeg/package.py
@@ -11,9 +11,17 @@ class LuaLpeg(LuaPackage):
"""pattern-matching for lua"""
homepage = "http://www.inf.puc-rio.br/~roberto/lpeg/"
- url = "https://luarocks.org/manifests/gvvaughan/lpeg-1.0.2-1.src.rock"
+ url = "https://luarocks.org/manifests/gvvaughan/lpeg-1.0.2-1.src.rock"
- version('1.0.2-1', sha256='e0d0d687897f06588558168eeb1902ac41a11edd1b58f1aa61b99d0ea0abbfbc', expand=False)
- version('0.12-1', sha256='3962e8d695d0f9095c9453f2a42f9f1a89fb94db9b0c3bf22934c1e8a3b0ef5a', expand=False)
+ version(
+ "1.0.2-1",
+ sha256="e0d0d687897f06588558168eeb1902ac41a11edd1b58f1aa61b99d0ea0abbfbc",
+ expand=False,
+ )
+ version(
+ "0.12-1",
+ sha256="3962e8d695d0f9095c9453f2a42f9f1a89fb94db9b0c3bf22934c1e8a3b0ef5a",
+ expand=False,
+ )
depends_on("lua@:5.1.9", when="@:0.12.1^lua")
diff --git a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
index c9aa489f77..e349a9c91e 100644
--- a/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
+++ b/var/spack/repos/builtin/packages/lua-luafilesystem/package.py
@@ -16,9 +16,9 @@ class LuaLuafilesystem(LuaPackage):
LuaFileSystem is free software and uses the same license as Lua 5.1
"""
- homepage = 'http://keplerproject.github.io/luafilesystem'
- url = 'https://github.com/keplerproject/luafilesystem/archive/v1_6_3.tar.gz'
+ homepage = "http://keplerproject.github.io/luafilesystem"
+ url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_3.tar.gz"
- version('1_8_0', sha256='16d17c788b8093f2047325343f5e9b74cccb1ea96001e45914a58bbae8932495')
- version('1_7_0_2', sha256='23b4883aeb4fb90b2d0f338659f33a631f9df7a7e67c54115775a77d4ac3cc59')
- version('1_6_3', sha256='11c7b1fc2e560c0a521246b84e6257138d97dddde5a19e405714dbabcb9436ca')
+ version("1_8_0", sha256="16d17c788b8093f2047325343f5e9b74cccb1ea96001e45914a58bbae8932495")
+ version("1_7_0_2", sha256="23b4883aeb4fb90b2d0f338659f33a631f9df7a7e67c54115775a77d4ac3cc59")
+ version("1_6_3", sha256="11c7b1fc2e560c0a521246b84e6257138d97dddde5a19e405714dbabcb9436ca")
diff --git a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py
index 885656c174..35d341278e 100644
--- a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py
+++ b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py
@@ -11,12 +11,19 @@ from spack.pkg.builtin.lua import LuaImplPackage
class LuaLuajitOpenresty(LuaImplPackage):
"""Flast flexible JITed lua - OpenResty maintained fork"""
+
homepage = "https://openresty.org/en/luajit.html"
- url = "https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20220111.tar.gz"
+ url = "https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20220111.tar.gz"
- version('2.1-20220111', sha256='1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3')
+ version(
+ "2.1-20220111", sha256="1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3"
+ )
- variant('lualinks', default=True, description="add symlinks to make lua-luajit a drop-in lua replacement")
+ variant(
+ "lualinks",
+ default=True,
+ description="add symlinks to make lua-luajit a drop-in lua replacement",
+ )
provides("lua-lang@5.1", when="+lualinks")
conflicts("lua", when="+lualinks")
@@ -29,29 +36,25 @@ class LuaLuajitOpenresty(LuaImplPackage):
@property
def headers(self):
- hdrs = find_headers('luajit', self.prefix.include, recursive=True)
+ hdrs = find_headers("luajit", self.prefix.include, recursive=True)
hdrs.directories = os.path.dirname(hdrs[0])
return hdrs or None
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('PREFIX= .*', 'PREFIX = {0}'.format(prefix))
- src_makefile = FileFilter(join_path('src', 'Makefile'))
- src_makefile.filter(
- '^DEFAULT_CC = .*',
- 'DEFAULT_CC = {0}'.format(spack_cc))
+ makefile = FileFilter("Makefile")
+ makefile.filter("PREFIX= .*", "PREFIX = {0}".format(prefix))
+ src_makefile = FileFilter(join_path("src", "Makefile"))
+ src_makefile.filter("^DEFAULT_CC = .*", "DEFAULT_CC = {0}".format(spack_cc))
src_makefile.filter(
- '^DYNAMIC_CC = .*',
- 'DYNAMIC_CC = $(CC) {0}'.format(self.compiler.cc_pic_flag))
+ "^DYNAMIC_CC = .*", "DYNAMIC_CC = $(CC) {0}".format(self.compiler.cc_pic_flag)
+ )
# Catalina and higher produce a non-functional luajit unless this is set
if spec.satisfies("platform=darwin"):
src_makefile.filter(
- '^.XCFLAGS.= -DLUAJIT_ENABLE_GC64',
- 'XCFLAGS+= -DLUAJIT_ENABLE_GC64',
+ "^.XCFLAGS.= -DLUAJIT_ENABLE_GC64",
+ "XCFLAGS+= -DLUAJIT_ENABLE_GC64",
)
# Linking with the C++ compiler is a dirty hack to deal with the fact
# that unwinding symbols are not included by libc, this is necessary
# on some platforms for the final link stage to work
- src_makefile.filter(
- '^TARGET_LD = .*',
- 'TARGET_LD = {0}'.format(spack_cxx))
+ src_makefile.filter("^TARGET_LD = .*", "TARGET_LD = {0}".format(spack_cxx))
diff --git a/var/spack/repos/builtin/packages/lua-luajit/package.py b/var/spack/repos/builtin/packages/lua-luajit/package.py
index e1e15616d5..8d9a6babc8 100644
--- a/var/spack/repos/builtin/packages/lua-luajit/package.py
+++ b/var/spack/repos/builtin/packages/lua-luajit/package.py
@@ -11,22 +11,33 @@ from spack.pkg.builtin.lua import LuaImplPackage
class LuaLuajit(LuaImplPackage):
"""Flast flexible JITed lua"""
+
homepage = "https://www.luajit.org"
- url = "https://luajit.org/download/LuaJIT-2.0.5.tar.gz"
+ url = "https://luajit.org/download/LuaJIT-2.0.5.tar.gz"
- version('2.1.0-beta3', sha256='1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3')
- version('2.0.5', sha256='874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979', preferred=True)
- version('2.0.4', sha256='620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d')
+ version(
+ "2.1.0-beta3", sha256="1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3"
+ )
+ version(
+ "2.0.5",
+ sha256="874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979",
+ preferred=True,
+ )
+ version("2.0.4", sha256="620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d")
- conflicts('@:2.0.5', when='target=aarch64:')
+ conflicts("@:2.0.5", when="target=aarch64:")
- variant('lualinks', default=True, description="add symlinks to make lua-luajit a drop-in lua replacement")
+ variant(
+ "lualinks",
+ default=True,
+ description="add symlinks to make lua-luajit a drop-in lua replacement",
+ )
provides("lua-lang@5.1", when="+lualinks")
conflicts("lua", when="+lualinks")
provides("luajit")
lua_version_override = "5.1"
- conflicts('platform=darwin', msg='luajit not supported on MacOS, see lua-luajit-openresty')
+ conflicts("platform=darwin", msg="luajit not supported on MacOS, see lua-luajit-openresty")
@run_after("install")
def install_links(self):
@@ -34,24 +45,20 @@ class LuaLuajit(LuaImplPackage):
@property
def headers(self):
- hdrs = find_headers('luajit', self.prefix.include, recursive=True)
+ hdrs = find_headers("luajit", self.prefix.include, recursive=True)
hdrs.directories = os.path.dirname(hdrs[0])
return hdrs or None
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('PREFIX= .*', 'PREFIX = {0}'.format(prefix))
- src_makefile = FileFilter(join_path('src', 'Makefile'))
- src_makefile.filter(
- '^DEFAULT_CC = .*',
- 'DEFAULT_CC = {0}'.format(spack_cc))
+ makefile = FileFilter("Makefile")
+ makefile.filter("PREFIX= .*", "PREFIX = {0}".format(prefix))
+ src_makefile = FileFilter(join_path("src", "Makefile"))
+ src_makefile.filter("^DEFAULT_CC = .*", "DEFAULT_CC = {0}".format(spack_cc))
src_makefile.filter(
- '^DYNAMIC_CC = .*',
- 'DYNAMIC_CC = $(CC) {0}'.format(self.compiler.cc_pic_flag))
+ "^DYNAMIC_CC = .*", "DYNAMIC_CC = $(CC) {0}".format(self.compiler.cc_pic_flag)
+ )
# Linking with the C++ compiler is a dirty hack to deal with the fact
# that unwinding symbols are not included by libc, this is necessary
# on some platforms for the final link stage to work
- src_makefile.filter(
- '^TARGET_LD = .*',
- 'TARGET_LD = {0}'.format(spack_cxx))
+ src_makefile.filter("^TARGET_LD = .*", "TARGET_LD = {0}".format(spack_cxx))
diff --git a/var/spack/repos/builtin/packages/lua-luaposix/package.py b/var/spack/repos/builtin/packages/lua-luaposix/package.py
index 80c4b51f36..09eb0f7b50 100644
--- a/var/spack/repos/builtin/packages/lua-luaposix/package.py
+++ b/var/spack/repos/builtin/packages/lua-luaposix/package.py
@@ -8,12 +8,16 @@ from spack.package import *
class LuaLuaposix(LuaPackage):
"""Lua posix bindings, including ncurses"""
+
homepage = "https://github.com/luaposix/luaposix/"
- url = "https://github.com/luaposix/luaposix/archive/release-v33.4.0.tar.gz"
+ url = "https://github.com/luaposix/luaposix/archive/release-v33.4.0.tar.gz"
- version('35.0', sha256='a4edf2f715feff65acb009e8d1689e57ec665eb79bc36a6649fae55eafd56809',
- url='https://github.com/luaposix/luaposix/archive/refs/tags/v35.0.tar.gz')
- version('33.4.0', sha256='e66262f5b7fe1c32c65f17a5ef5ffb31c4d1877019b4870a5d373e2ab6526a21')
- version('33.2.1', sha256='4fb34dfea67f4cf3194cdecc6614c9aea67edc3c4093d34137669ea869c358e1')
+ version(
+ "35.0",
+ sha256="a4edf2f715feff65acb009e8d1689e57ec665eb79bc36a6649fae55eafd56809",
+ url="https://github.com/luaposix/luaposix/archive/refs/tags/v35.0.tar.gz",
+ )
+ version("33.4.0", sha256="e66262f5b7fe1c32c65f17a5ef5ffb31c4d1877019b4870a5d373e2ab6526a21")
+ version("33.2.1", sha256="4fb34dfea67f4cf3194cdecc6614c9aea67edc3c4093d34137669ea869c358e1")
- depends_on('lua-bit32', when='^lua-lang@5.1:5.1.99')
+ depends_on("lua-bit32", when="^lua-lang@5.1:5.1.99")
diff --git a/var/spack/repos/builtin/packages/lua-sol2/package.py b/var/spack/repos/builtin/packages/lua-sol2/package.py
index 5d04635fa8..7d17f69973 100644
--- a/var/spack/repos/builtin/packages/lua-sol2/package.py
+++ b/var/spack/repos/builtin/packages/lua-sol2/package.py
@@ -10,20 +10,20 @@ class LuaSol2(CMakePackage):
"""sol2 is a C++ library binding to Lua."""
homepage = "https://github.com/ThePhD/sol2"
- url = "https://github.com/ThePhD/sol2/archive/refs/tags/v3.2.2.tar.gz"
- git = "https://github.com/ThePhD/sol2.git"
+ url = "https://github.com/ThePhD/sol2/archive/refs/tags/v3.2.2.tar.gz"
+ git = "https://github.com/ThePhD/sol2.git"
- version('develop', branch='develop')
- version('3.2.3', sha256='f74158f92996f476786be9c9e83f8275129bb1da2a8d517d050421ac160a4b9e')
- version('3.2.2', sha256='141790dae0c1821dd2dbac3595433de49ba72545845efc3ec7d88de8b0a3b2da')
- version('3.2.1', sha256='b10f88dc1246f74a10348faef7d2c06e2784693307df74dcd87c4641cf6a6828')
- version('3.2.0', sha256='733f03d82df6e0e8a15967831840d240dcb2c606982bec753bd173a9cc1b3435')
- version('3.0.3', sha256='bf089e50387edfc70063e24fd7fbb693cceba4a50147d864fabedd1b33483582')
- version('3.0.2', sha256='3f5f369eae6732ae9a315fe4370bbdc9900d2f2f4f291206aeb5b2d5533f0c99')
+ version("develop", branch="develop")
+ version("3.2.3", sha256="f74158f92996f476786be9c9e83f8275129bb1da2a8d517d050421ac160a4b9e")
+ version("3.2.2", sha256="141790dae0c1821dd2dbac3595433de49ba72545845efc3ec7d88de8b0a3b2da")
+ version("3.2.1", sha256="b10f88dc1246f74a10348faef7d2c06e2784693307df74dcd87c4641cf6a6828")
+ version("3.2.0", sha256="733f03d82df6e0e8a15967831840d240dcb2c606982bec753bd173a9cc1b3435")
+ version("3.0.3", sha256="bf089e50387edfc70063e24fd7fbb693cceba4a50147d864fabedd1b33483582")
+ version("3.0.2", sha256="3f5f369eae6732ae9a315fe4370bbdc9900d2f2f4f291206aeb5b2d5533f0c99")
# Lua is not needed when building, since sol2 is headers-only
- depends_on('lua', type=('link', 'run'))
+ depends_on("lua", type=("link", "run"))
def cmake_args(self):
- args = ['-DSOL2_ENABLE_INSTALL=ON']
+ args = ["-DSOL2_ENABLE_INSTALL=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py
index de1a0a5c95..7753bf1e09 100644
--- a/var/spack/repos/builtin/packages/lua/package.py
+++ b/var/spack/repos/builtin/packages/lua/package.py
@@ -89,9 +89,7 @@ class LuaImplPackage(MakefilePackage):
with working_dir(self.prefix.include):
if not os.path.exists(self.prefix.include.lua):
- luajit_include_subdirs = glob.glob(
- os.path.join(self.prefix.include, "luajit*")
- )
+ luajit_include_subdirs = glob.glob(os.path.join(self.prefix.include, "luajit*"))
assert len(luajit_include_subdirs) == 1
symlink(luajit_include_subdirs[0], "lua")
@@ -120,9 +118,7 @@ class LuaImplPackage(MakefilePackage):
def _setup_dependent_env_helper(self, env, dependent_spec):
lua_paths = []
- for d in dependent_spec.traverse(
- deptypes=("build", "run"), deptype_query="run"
- ):
+ for d in dependent_spec.traverse(deptypes=("build", "run"), deptype_query="run"):
if d.package.extends(self.spec):
lua_paths.append(os.path.join(d.prefix, self.lua_lib_dir))
lua_paths.append(os.path.join(d.prefix, self.lua_lib64_dir))
@@ -136,18 +132,16 @@ class LuaImplPackage(MakefilePackage):
# Always add this package's paths
for p in (
- os.path.join(self.spec.prefix, self.lua_lib_dir),
- os.path.join(self.spec.prefix, self.lua_lib64_dir),
- os.path.join(self.spec.prefix, self.lua_share_dir),
+ os.path.join(self.spec.prefix, self.lua_lib_dir),
+ os.path.join(self.spec.prefix, self.lua_lib64_dir),
+ os.path.join(self.spec.prefix, self.lua_share_dir),
):
self.append_paths(lua_patterns, lua_cpatterns, p)
return lua_patterns, lua_cpatterns
def setup_dependent_build_environment(self, env, dependent_spec):
- lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(
- env, dependent_spec
- )
+ lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(env, dependent_spec)
env.prepend_path("LUA_PATH", ";".join(lua_patterns), separator=";")
env.prepend_path("LUA_CPATH", ";".join(lua_cpatterns), separator=";")
@@ -155,9 +149,7 @@ class LuaImplPackage(MakefilePackage):
def setup_dependent_run_environment(self, env, dependent_spec):
# For run time environment set only the path for dependent_spec and
# prepend it to LUAPATH
- lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(
- env, dependent_spec
- )
+ lua_patterns, lua_cpatterns = self._setup_dependent_env_helper(env, dependent_spec)
if dependent_spec.package.extends(self.spec):
env.prepend_path("LUA_PATH", ";".join(lua_patterns), separator=";")
@@ -217,83 +209,84 @@ class Lua(LuaImplPackage):
homepage = "https://www.lua.org"
url = "https://www.lua.org/ftp/lua-5.3.4.tar.gz"
- version('5.3.5', sha256='0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac')
- version('5.3.4', sha256='f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c')
- version('5.3.2', sha256='c740c7bb23a936944e1cc63b7c3c5351a8976d7867c5252c8854f7b2af9da68f')
- version('5.3.1', sha256='072767aad6cc2e62044a66e8562f51770d941e972dc1e4068ba719cd8bffac17')
- version('5.3.0', sha256='ae4a5eb2d660515eb191bfe3e061f2b8ffe94dce73d32cfd0de090ddcc0ddb01')
- version('5.2.4', sha256='b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b')
- version('5.2.3', sha256='13c2fb97961381f7d06d5b5cea55b743c163800896fd5c5e2356201d3619002d')
- version('5.2.2', sha256='3fd67de3f5ed133bf312906082fa524545c6b9e1b952e8215ffbd27113f49f00')
- version('5.2.1', sha256='64304da87976133196f9e4c15250b70f444467b6ed80d7cfd7b3b982b5177be5')
- version('5.2.0', sha256='cabe379465aa8e388988073d59b69e76ba0025429d2c1da80821a252cdf6be0d')
- version('5.1.5', sha256='2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333')
- version('5.1.4', sha256='b038e225eaf2a5b57c9bcc35cd13aa8c6c8288ef493d52970c9545074098af3a')
- version('5.1.3', sha256='6b5df2edaa5e02bf1a2d85e1442b2e329493b30b0c0780f77199d24f087d296d')
+ version("5.3.5", sha256="0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac")
+ version("5.3.4", sha256="f681aa518233bc407e23acf0f5887c884f17436f000d453b2491a9f11a52400c")
+ version("5.3.2", sha256="c740c7bb23a936944e1cc63b7c3c5351a8976d7867c5252c8854f7b2af9da68f")
+ version("5.3.1", sha256="072767aad6cc2e62044a66e8562f51770d941e972dc1e4068ba719cd8bffac17")
+ version("5.3.0", sha256="ae4a5eb2d660515eb191bfe3e061f2b8ffe94dce73d32cfd0de090ddcc0ddb01")
+ version("5.2.4", sha256="b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b")
+ version("5.2.3", sha256="13c2fb97961381f7d06d5b5cea55b743c163800896fd5c5e2356201d3619002d")
+ version("5.2.2", sha256="3fd67de3f5ed133bf312906082fa524545c6b9e1b952e8215ffbd27113f49f00")
+ version("5.2.1", sha256="64304da87976133196f9e4c15250b70f444467b6ed80d7cfd7b3b982b5177be5")
+ version("5.2.0", sha256="cabe379465aa8e388988073d59b69e76ba0025429d2c1da80821a252cdf6be0d")
+ version("5.1.5", sha256="2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333")
+ version("5.1.4", sha256="b038e225eaf2a5b57c9bcc35cd13aa8c6c8288ef493d52970c9545074098af3a")
+ version("5.1.3", sha256="6b5df2edaa5e02bf1a2d85e1442b2e329493b30b0c0780f77199d24f087d296d")
variant("pcfile", default=False, description="Add patch for lua.pc generation")
- variant('shared', default=True,
- description='Builds a shared version of the library')
+ variant("shared", default=True, description="Builds a shared version of the library")
- provides('lua-lang@5.1', when='@5.1:5.1.99')
- provides('lua-lang@5.2', when='@5.2:5.2.99')
- provides('lua-lang@5.3', when='@5.3:5.3.99')
+ provides("lua-lang@5.1", when="@5.1:5.1.99")
+ provides("lua-lang@5.2", when="@5.2:5.2.99")
+ provides("lua-lang@5.3", when="@5.3:5.3.99")
- depends_on('ncurses+termlib')
- depends_on('readline')
+ depends_on("ncurses+termlib")
+ depends_on("readline")
patch(
"http://lua.2524044.n2.nabble.com/attachment/7666421/0/pkg-config.patch",
sha256="208316c2564bdd5343fa522f3b230d84bd164058957059838df7df56876cb4ae",
- when="+pcfile"
+ when="+pcfile",
)
def install(self, spec, prefix):
if spec.satisfies("platform=darwin"):
- target = 'macosx'
+ target = "macosx"
else:
- target = 'linux'
- make('INSTALL_TOP=%s' % prefix,
- 'MYLDFLAGS=' + ' '.join((
- spec['readline'].libs.search_flags,
- spec['ncurses'].libs.search_flags)),
- 'MYLIBS=%s' % spec['ncurses'].libs.link_flags,
- 'CC=%s -std=gnu99 %s' % (spack_cc,
- self.compiler.cc_pic_flag),
- target)
- make('INSTALL_TOP=%s' % prefix,
- 'install')
-
- if '+shared' in spec:
- static_to_shared_library(join_path(prefix.lib, 'liblua.a'),
- arguments=['-lm', '-ldl'],
- version=self.version,
- compat_version=self.version.up_to(2))
+ target = "linux"
+ make(
+ "INSTALL_TOP=%s" % prefix,
+ "MYLDFLAGS="
+ + " ".join((spec["readline"].libs.search_flags, spec["ncurses"].libs.search_flags)),
+ "MYLIBS=%s" % spec["ncurses"].libs.link_flags,
+ "CC=%s -std=gnu99 %s" % (spack_cc, self.compiler.cc_pic_flag),
+ target,
+ )
+ make("INSTALL_TOP=%s" % prefix, "install")
+
+ if "+shared" in spec:
+ static_to_shared_library(
+ join_path(prefix.lib, "liblua.a"),
+ arguments=["-lm", "-ldl"],
+ version=self.version,
+ compat_version=self.version.up_to(2),
+ )
# compatibility with ax_lua.m4 from autoconf-archive
# https://www.gnu.org/software/autoconf-archive/ax_lua.html
- if '+shared' in spec:
+ if "+shared" in spec:
with working_dir(prefix.lib):
# e.g., liblua.so.5.1.5
- src_path = 'liblua.{0}.{1}'.format(dso_suffix,
- str(self.version.up_to(3)))
+ src_path = "liblua.{0}.{1}".format(dso_suffix, str(self.version.up_to(3)))
# For lua version 5.1.X, the symlinks should be:
# liblua5.1.so
# liblua51.so
# liblua-5.1.so
# liblua-51.so
- version_formats = [str(self.version.up_to(2)),
- Version(str(self.version.up_to(2))).joined]
+ version_formats = [
+ str(self.version.up_to(2)),
+ Version(str(self.version.up_to(2))).joined,
+ ]
for version_str in version_formats:
- for joiner in ['', '-']:
- dest_path = 'liblua{0}{1}.{2}'.format(joiner,
- version_str,
- dso_suffix)
+ for joiner in ["", "-"]:
+ dest_path = "liblua{0}{1}.{2}".format(joiner, version_str, dso_suffix)
os.symlink(src_path, dest_path)
- @run_after('install')
+ @run_after("install")
def link_pkg_config(self):
if "+pcfile" in self.spec:
- symlink(join_path(self.prefix.lib, 'pkgconfig', 'lua5.3.pc'),
- join_path(self.prefix.lib, 'pkgconfig', 'lua.pc'))
+ symlink(
+ join_path(self.prefix.lib, "pkgconfig", "lua5.3.pc"),
+ join_path(self.prefix.lib, "pkgconfig", "lua.pc"),
+ )
diff --git a/var/spack/repos/builtin/packages/lucene/package.py b/var/spack/repos/builtin/packages/lucene/package.py
index 9c6188ccd9..9c6b8d0517 100644
--- a/var/spack/repos/builtin/packages/lucene/package.py
+++ b/var/spack/repos/builtin/packages/lucene/package.py
@@ -13,16 +13,16 @@ class Lucene(Package):
"""
homepage = "https://lucene.apache.org/"
- url = "https://archive.apache.org/dist/lucene/java/8.3.1/lucene-8.3.1.tgz"
+ url = "https://archive.apache.org/dist/lucene/java/8.3.1/lucene-8.3.1.tgz"
list_url = "https://archive.apache.org/dist/lucene/java/"
list_depth = 1
- version('8.3.1', sha256='acd61ad458d16f3c98b9dd4653c6a34dd666a965842e461f7cdf8947fa041e1a')
- version('8.3.0', sha256='67c4f8081f24ff9f4eb4f2b999ac19f7a639b416e5b6f1c1c74e0524a481fc7e')
- version('8.2.0', sha256='505cad34698b217fd6ceee581a8215223a47df5af820c94ca70a6bdbba9d5d7c')
- version('8.1.1', sha256='d62b0acdf2b1ed7a25ccdb593ad8584caeaa20cc9870e22790d3ec7fa6240a8c')
+ version("8.3.1", sha256="acd61ad458d16f3c98b9dd4653c6a34dd666a965842e461f7cdf8947fa041e1a")
+ version("8.3.0", sha256="67c4f8081f24ff9f4eb4f2b999ac19f7a639b416e5b6f1c1c74e0524a481fc7e")
+ version("8.2.0", sha256="505cad34698b217fd6ceee581a8215223a47df5af820c94ca70a6bdbba9d5d7c")
+ version("8.1.1", sha256="d62b0acdf2b1ed7a25ccdb593ad8584caeaa20cc9870e22790d3ec7fa6240a8c")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/luit/package.py b/var/spack/repos/builtin/packages/luit/package.py
index bc5889e680..d0a3bb19c4 100644
--- a/var/spack/repos/builtin/packages/luit/package.py
+++ b/var/spack/repos/builtin/packages/luit/package.py
@@ -15,14 +15,14 @@ class Luit(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/luit"
xorg_mirror_path = "app/luit-1.1.1.tar.gz"
- version('1.1.1', sha256='87b0be0bd01f3b857a53e6625bdd31cef18418c95394b7f4387f8ecef78e45da')
+ version("1.1.1", sha256="87b0be0bd01f3b857a53e6625bdd31cef18418c95394b7f4387f8ecef78e45da")
- depends_on('libfontenc')
- depends_on('libx11')
+ depends_on("libfontenc")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# see https://www.linuxquestions.org/questions/linux-from-scratch-13/can't-compile-luit-xorg-applications-4175476308/
def configure_args(self):
- return ['CFLAGS=-U_XOPEN_SOURCE -D_XOPEN_SOURCE=600']
+ return ["CFLAGS=-U_XOPEN_SOURCE -D_XOPEN_SOURCE=600"]
diff --git a/var/spack/repos/builtin/packages/lulesh/package.py b/var/spack/repos/builtin/packages/lulesh/package.py
index a88fc763a2..e3bd895d4c 100644
--- a/var/spack/repos/builtin/packages/lulesh/package.py
+++ b/var/spack/repos/builtin/packages/lulesh/package.py
@@ -11,55 +11,50 @@ class Lulesh(MakefilePackage):
style typical in scientific C or C++ based applications. Hard
code to only solve a Sedov blast problem with analytic answer
"""
- tags = ['proxy-app']
+
+ tags = ["proxy-app"]
homepage = "https://computing.llnl.gov/projects/co-design/lulesh"
- git = "https://github.com/LLNL/LULESH.git"
+ git = "https://github.com/LLNL/LULESH.git"
- version('2.0.3', tag='2.0.3')
+ version("2.0.3", tag="2.0.3")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('visual', default=False,
- description='Build with Visualization support (Silo, hdf5)')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("visual", default=False, description="Build with Visualization support (Silo, hdf5)")
- depends_on('mpi', when='+mpi')
- depends_on('silo', when='+visual')
- depends_on('hdf5', when='+visual')
+ depends_on("mpi", when="+mpi")
+ depends_on("silo", when="+visual")
+ depends_on("hdf5", when="+visual")
@property
def build_targets(self):
targets = []
- cxxflag = ' -g -O3 -I. '
- ldflags = ' -g -O3 '
- if '~mpi' in self.spec:
- targets.append('CXX = {0} {1}'.format(spack_cxx, ' -DUSE_MPI=0 '))
+ cxxflag = " -g -O3 -I. "
+ ldflags = " -g -O3 "
+ if "~mpi" in self.spec:
+ targets.append("CXX = {0} {1}".format(spack_cxx, " -DUSE_MPI=0 "))
else:
- targets.append(
- 'CXX = {0} {1}'.format(self.spec['mpi'].mpicxx,
- ' -DUSE_MPI=1'))
- targets.append(
- 'MPI_INC = {0}'.format(self.spec['mpi'].prefix.include))
- targets.append('MPI_LIB = {0}'.format(self.spec['mpi'].prefix.lib))
- if '+visual' in self.spec:
- targets.append(
- 'SILO_INCDIR = {0}'.format(self.spec['silo'].prefix.include))
- targets.append(
- 'SILO_LIBDIR = {0}'.format(self.spec['silo'].prefix.lib))
- cxxflag = ' -g -DVIZ_MESH -I${SILO_INCDIR} '
- ldflags = ' -g -L${SILO_LIBDIR} -Wl,-rpath -Wl, '
- ldflags += '${SILO_LIBDIR} -lsiloh5 -lhdf5 '
-
- if '+openmp' in self.spec:
+ targets.append("CXX = {0} {1}".format(self.spec["mpi"].mpicxx, " -DUSE_MPI=1"))
+ targets.append("MPI_INC = {0}".format(self.spec["mpi"].prefix.include))
+ targets.append("MPI_LIB = {0}".format(self.spec["mpi"].prefix.lib))
+ if "+visual" in self.spec:
+ targets.append("SILO_INCDIR = {0}".format(self.spec["silo"].prefix.include))
+ targets.append("SILO_LIBDIR = {0}".format(self.spec["silo"].prefix.lib))
+ cxxflag = " -g -DVIZ_MESH -I${SILO_INCDIR} "
+ ldflags = " -g -L${SILO_LIBDIR} -Wl,-rpath -Wl, "
+ ldflags += "${SILO_LIBDIR} -lsiloh5 -lhdf5 "
+
+ if "+openmp" in self.spec:
cxxflag += self.compiler.openmp_flag
ldflags += self.compiler.openmp_flag
- targets.append('CXXFLAGS = {0}'.format(cxxflag))
- targets.append('LDFLAGS = {0}'.format(ldflags))
+ targets.append("CXXFLAGS = {0}".format(cxxflag))
+ targets.append("LDFLAGS = {0}".format(ldflags))
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('lulesh{0}'.format(self.version.up_to(2)), prefix.bin)
+ install("lulesh{0}".format(self.version.up_to(2)), prefix.bin)
mkdirp(prefix.doc)
- install('README', prefix.doc)
- install('TODO', prefix.doc)
+ install("README", prefix.doc)
+ install("TODO", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/lumpy-sv/package.py b/var/spack/repos/builtin/packages/lumpy-sv/package.py
index 451e018568..63f90ed950 100644
--- a/var/spack/repos/builtin/packages/lumpy-sv/package.py
+++ b/var/spack/repos/builtin/packages/lumpy-sv/package.py
@@ -10,15 +10,15 @@ class LumpySv(MakefilePackage):
"""A probabilistic framework for structural variant discovery."""
homepage = "https://github.com/arq5x/lumpy-sv"
- url = "https://github.com/arq5x/lumpy-sv/archive/0.2.13.tar.gz"
+ url = "https://github.com/arq5x/lumpy-sv/archive/0.2.13.tar.gz"
- version('0.2.13', sha256='3672b86ef0190ebe520648a6140077ee9f15b0549cb233dca18036e63bbf6375')
+ version("0.2.13", sha256="3672b86ef0190ebe520648a6140077ee9f15b0549cb233dca18036e63bbf6375")
- depends_on('htslib')
+ depends_on("htslib")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('export CXX .*', '')
+ makefile = FileFilter("Makefile")
+ makefile.filter("export CXX .*", "")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/lustre/package.py b/var/spack/repos/builtin/packages/lustre/package.py
index cfd4a6fffa..d4b33741f6 100644
--- a/var/spack/repos/builtin/packages/lustre/package.py
+++ b/var/spack/repos/builtin/packages/lustre/package.py
@@ -10,19 +10,19 @@ from spack.package import *
class Lustre(Package):
"""Lustre is a type of parallel distributed file system,
- generally used for large-scale cluster computing."""
+ generally used for large-scale cluster computing."""
- homepage = 'http://lustre.org/'
+ homepage = "http://lustre.org/"
has_code = False
- executables = [r'^lfs$']
+ executables = [r"^lfs$"]
- version('2.12')
+ version("2.12")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'lfs (\d\S*)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"lfs (\d\S*)", output)
return match.group(1) if match else None
# Lustre is filesystem and needs to be installed on system.
@@ -38,5 +38,8 @@ class Lustre(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/lvarray/package.py b/var/spack/repos/builtin/packages/lvarray/package.py
index 84a88f10e5..92d5815756 100644
--- a/var/spack/repos/builtin/packages/lvarray/package.py
+++ b/var/spack/repos/builtin/packages/lvarray/package.py
@@ -35,69 +35,68 @@ class Lvarray(CMakePackage, CudaPackage):
"""LvArray portable HPC containers."""
homepage = "https://github.com/GEOSX/lvarray"
- git = "https://github.com/GEOSX/LvArray.git"
- tags = ['radiuss']
+ git = "https://github.com/GEOSX/LvArray.git"
+ tags = ["radiuss"]
- maintainers = ['corbett5']
+ maintainers = ["corbett5"]
- version('develop', branch='develop', submodules=False)
- version('main', branch='main', submodules=False)
- version('0.2.2', tag='v0.2.2', submodules=False)
- version('0.2.1', tag='v0.2.1', submodules=False)
- version('0.1.0', tag='v0.1.0', submodules=True)
+ version("develop", branch="develop", submodules=False)
+ version("main", branch="main", submodules=False)
+ version("0.2.2", tag="v0.2.2", submodules=False)
+ version("0.2.1", tag="v0.2.1", submodules=False)
+ version("0.1.0", tag="v0.1.0", submodules=True)
- variant('shared', default=True, description='Build Shared Libs')
- variant('umpire', default=False, description='Build Umpire support')
- variant('chai', default=False, description='Build Chai support')
- variant('caliper', default=False, description='Build Caliper support')
- variant('pylvarray', default=False, description='Build Python support')
- variant('tests', default=True, description='Build tests')
- variant('benchmarks', default=False, description='Build benchmarks')
- variant('examples', default=False, description='Build examples')
- variant('docs', default=False, description='Build docs')
- variant('addr2line', default=True,
- description='Build support for addr2line.')
+ variant("shared", default=True, description="Build Shared Libs")
+ variant("umpire", default=False, description="Build Umpire support")
+ variant("chai", default=False, description="Build Chai support")
+ variant("caliper", default=False, description="Build Caliper support")
+ variant("pylvarray", default=False, description="Build Python support")
+ variant("tests", default=True, description="Build tests")
+ variant("benchmarks", default=False, description="Build benchmarks")
+ variant("examples", default=False, description="Build examples")
+ variant("docs", default=False, description="Build docs")
+ variant("addr2line", default=True, description="Build support for addr2line.")
- depends_on('blt', when='@0.2.0:', type='build')
+ depends_on("blt", when="@0.2.0:", type="build")
- depends_on('camp')
- depends_on('camp+cuda', when='+cuda')
+ depends_on("camp")
+ depends_on("camp+cuda", when="+cuda")
- depends_on('raja')
- depends_on('raja+cuda', when='+cuda')
+ depends_on("raja")
+ depends_on("raja+cuda", when="+cuda")
# At the moment Umpire doesn't support shared when building with CUDA.
- depends_on('umpire', when='+umpire')
- depends_on('umpire+cuda~shared', when='+umpire+cuda')
+ depends_on("umpire", when="+umpire")
+ depends_on("umpire+cuda~shared", when="+umpire+cuda")
- depends_on('chai+raja', when='+chai')
- depends_on('chai+raja+cuda', when='+chai+cuda')
+ depends_on("chai+raja", when="+chai")
+ depends_on("chai+raja+cuda", when="+chai+cuda")
- depends_on('caliper', when='+caliper')
+ depends_on("caliper", when="+caliper")
- depends_on('python +shared +pic', type=('build', 'link', 'run'), when='+pylvarray')
- depends_on('py-numpy@1.19:', type=('build', 'link', 'run'), when='+pylvarray')
- depends_on('py-scipy@1.5.2:', type=('build', 'run'), when='+pylvarray')
+ depends_on("python +shared +pic", type=("build", "link", "run"), when="+pylvarray")
+ depends_on("py-numpy@1.19:", type=("build", "link", "run"), when="+pylvarray")
+ depends_on("py-scipy@1.5.2:", type=("build", "run"), when="+pylvarray")
- depends_on('doxygen@1.8.13:', when='+docs', type='build')
- depends_on('py-sphinx@1.6.3:', when='+docs', type='build')
+ depends_on("doxygen@1.8.13:", when="+docs", type="build")
+ depends_on("py-sphinx@1.6.3:", when="+docs", type="build")
- phases = ['hostconfig', 'cmake', 'build', 'install']
+ phases = ["hostconfig", "cmake", "build", "install"]
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check(self):
"""Searches the CMake-generated Makefile for the target ``test``
and runs it if found.
"""
with working_dir(self.build_directory):
- ctest('-V', '--force-new-ctest-process', '-j 1')
+ ctest("-V", "--force-new-ctest-process", "-j 1")
- @run_after('build')
+ @run_after("build")
def build_docs(self):
- if '+docs' in self.spec:
+ if "+docs" in self.spec:
with working_dir(self.build_directory):
- make('docs')
+ make("docs")
def _get_sys_type(self, spec):
sys_type = str(spec.architecture)
@@ -107,14 +106,17 @@ class Lvarray(CMakePackage, CudaPackage):
return sys_type
def _get_host_config_path(self, spec):
- var = ''
- if '+cuda' in spec:
- var = '-'.join([var, 'cuda'])
-
- hostname = socket.gethostname().rstrip('1234567890')
- host_config_path = "%s-%s-%s%s.cmake" % (hostname,
- self._get_sys_type(spec),
- spec.compiler, var)
+ var = ""
+ if "+cuda" in spec:
+ var = "-".join([var, "cuda"])
+
+ hostname = socket.gethostname().rstrip("1234567890")
+ host_config_path = "%s-%s-%s%s.cmake" % (
+ hostname,
+ self._get_sys_type(spec),
+ spec.compiler,
+ var,
+ )
dest_dir = self.stage.source_path
host_config_path = os.path.abspath(pjoin(dest_dir, host_config_path))
@@ -154,7 +156,7 @@ class Lvarray(CMakePackage, CudaPackage):
# Find and record what CMake is used
##############################################
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
cmake_exe = os.path.realpath(cmake_exe)
host_config_path = self._get_host_config_path(spec)
@@ -169,8 +171,8 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# CMake executable path: %s\n" % cmake_exe)
cfg.write("#{0}\n\n".format("-" * 80))
- if 'blt' in spec:
- cfg.write(cmake_cache_entry('BLT_SOURCE_DIR', spec['blt'].prefix))
+ if "blt" in spec:
+ cfg.write(cmake_cache_entry("BLT_SOURCE_DIR", spec["blt"].prefix))
#######################
# Compiler Settings
@@ -183,12 +185,12 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
# use global spack compiler flags
- cflags = ' '.join(spec.compiler_flags['cflags'])
- cxxflags = ' '.join(spec.compiler_flags['cxxflags'])
+ cflags = " ".join(spec.compiler_flags["cflags"])
+ cxxflags = " ".join(spec.compiler_flags["cxxflags"])
if "%intel" in spec:
- cflags += ' -qoverride-limits'
- cxxflags += ' -qoverride-limits'
+ cflags += " -qoverride-limits"
+ cxxflags += " -qoverride-limits"
if cflags:
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
@@ -197,17 +199,14 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
release_flags = "-O3 -DNDEBUG"
- cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE",
- release_flags))
+ cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE", release_flags))
reldebinf_flags = "-O3 -g -DNDEBUG"
- cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELWITHDEBINFO",
- reldebinf_flags))
+ cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELWITHDEBINFO", reldebinf_flags))
debug_flags = "-O0 -g"
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags))
if "%clang arch=linux-rhel7-ppc64le" in spec:
- cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS",
- "-Wl,--no-toc-optimize"))
+ cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS", "-Wl,--no-toc-optimize"))
if "+cuda" in spec:
cfg.write("#{0}\n".format("-" * 80))
@@ -217,34 +216,38 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write(cmake_cache_option("ENABLE_CUDA", True))
cfg.write(cmake_cache_entry("CMAKE_CUDA_STANDARD", 14))
- cudatoolkitdir = spec['cuda'].prefix
- cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR",
- cudatoolkitdir))
+ cudatoolkitdir = spec["cuda"].prefix
+ cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR", cudatoolkitdir))
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
cfg.write(cmake_cache_entry("CMAKE_CUDA_COMPILER", cudacompiler))
- cmake_cuda_flags = ('-restrict --expt-extended-lambda -Werror '
- 'cross-execution-space-call,reorder,'
- 'deprecated-declarations')
+ cmake_cuda_flags = (
+ "-restrict --expt-extended-lambda -Werror "
+ "cross-execution-space-call,reorder,"
+ "deprecated-declarations"
+ )
archSpecifiers = ("-mtune", "-mcpu", "-march", "-qtune", "-qarch")
for archSpecifier in archSpecifiers:
- for compilerArg in spec.compiler_flags['cxxflags']:
+ for compilerArg in spec.compiler_flags["cxxflags"]:
if compilerArg.startswith(archSpecifier):
- cmake_cuda_flags += ' -Xcompiler ' + compilerArg
+ cmake_cuda_flags += " -Xcompiler " + compilerArg
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- cmake_cuda_flags += ' -arch sm_{0}'.format(cuda_arch[0])
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ cmake_cuda_flags += " -arch sm_{0}".format(cuda_arch[0])
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS", cmake_cuda_flags))
- cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELEASE",
- "-O3 -Xcompiler -O3 -DNDEBUG"))
- cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELWITHDEBINFO",
- "-O3 -g -lineinfo -Xcompiler -O3"))
- cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_DEBUG",
- "-O0 -Xcompiler -O0 -g -G"))
+ cfg.write(
+ cmake_cache_string("CMAKE_CUDA_FLAGS_RELEASE", "-O3 -Xcompiler -O3 -DNDEBUG")
+ )
+ cfg.write(
+ cmake_cache_string(
+ "CMAKE_CUDA_FLAGS_RELWITHDEBINFO", "-O3 -g -lineinfo -Xcompiler -O3"
+ )
+ )
+ cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_DEBUG", "-O0 -Xcompiler -O0 -g -G"))
else:
cfg.write(cmake_cache_option("ENABLE_CUDA", False))
@@ -253,13 +256,13 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("# CAMP\n")
cfg.write("#{0}\n\n".format("-" * 80))
- cfg.write(cmake_cache_entry("CAMP_DIR", spec['camp'].prefix))
+ cfg.write(cmake_cache_entry("CAMP_DIR", spec["camp"].prefix))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# RAJA\n")
cfg.write("#{0}\n\n".format("-" * 80))
- cfg.write(cmake_cache_entry("RAJA_DIR", spec['raja'].prefix))
+ cfg.write(cmake_cache_entry("RAJA_DIR", spec["raja"].prefix))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Umpire\n")
@@ -267,7 +270,7 @@ class Lvarray(CMakePackage, CudaPackage):
if "+umpire" in spec:
cfg.write(cmake_cache_option("ENABLE_UMPIRE", True))
- cfg.write(cmake_cache_entry("UMPIRE_DIR", spec['umpire'].prefix))
+ cfg.write(cmake_cache_entry("UMPIRE_DIR", spec["umpire"].prefix))
else:
cfg.write(cmake_cache_option("ENABLE_UMPIRE", False))
@@ -277,7 +280,7 @@ class Lvarray(CMakePackage, CudaPackage):
if "+chai" in spec:
cfg.write(cmake_cache_option("ENABLE_CHAI", True))
- cfg.write(cmake_cache_entry("CHAI_DIR", spec['chai'].prefix))
+ cfg.write(cmake_cache_entry("CHAI_DIR", spec["chai"].prefix))
else:
cfg.write(cmake_cache_option("ENABLE_CHAI", False))
@@ -291,43 +294,45 @@ class Lvarray(CMakePackage, CudaPackage):
cfg.write("#{0}\n\n".format("-" * 80))
cfg.write(cmake_cache_option("ENABLE_CALIPER", True))
- cfg.write(cmake_cache_entry("CALIPER_DIR", spec['caliper'].prefix))
+ cfg.write(cmake_cache_entry("CALIPER_DIR", spec["caliper"].prefix))
else:
cfg.write(cmake_cache_option("ENABLE_CALIPER", False))
- cfg.write('#{0}\n'.format('-' * 80))
- cfg.write('# Python\n')
- cfg.write('#{0}\n\n'.format('-' * 80))
- if '+pylvarray' in spec:
- cfg.write(cmake_cache_option('ENABLE_PYLVARRAY', True))
- python_exe = os.path.join(spec['python'].prefix.bin, 'python3')
- cfg.write(cmake_cache_entry('Python3_EXECUTABLE', python_exe))
+ cfg.write("#{0}\n".format("-" * 80))
+ cfg.write("# Python\n")
+ cfg.write("#{0}\n\n".format("-" * 80))
+ if "+pylvarray" in spec:
+ cfg.write(cmake_cache_option("ENABLE_PYLVARRAY", True))
+ python_exe = os.path.join(spec["python"].prefix.bin, "python3")
+ cfg.write(cmake_cache_entry("Python3_EXECUTABLE", python_exe))
else:
- cfg.write(cmake_cache_option('ENABLE_PYLVARRAY', False))
+ cfg.write(cmake_cache_option("ENABLE_PYLVARRAY", False))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Documentation\n")
cfg.write("#{0}\n\n".format("-" * 80))
if "+docs" in spec:
cfg.write(cmake_cache_option("ENABLE_DOCS", True))
- sphinx_dir = spec['py-sphinx'].prefix
- cfg.write(cmake_cache_string('SPHINX_EXECUTABLE',
- os.path.join(sphinx_dir,
- 'bin',
- 'sphinx-build')))
-
- doxygen_dir = spec['doxygen'].prefix
- cfg.write(cmake_cache_string('DOXYGEN_EXECUTABLE',
- os.path.join(doxygen_dir,
- 'bin',
- 'doxygen')))
+ sphinx_dir = spec["py-sphinx"].prefix
+ cfg.write(
+ cmake_cache_string(
+ "SPHINX_EXECUTABLE", os.path.join(sphinx_dir, "bin", "sphinx-build")
+ )
+ )
+
+ doxygen_dir = spec["doxygen"].prefix
+ cfg.write(
+ cmake_cache_string(
+ "DOXYGEN_EXECUTABLE", os.path.join(doxygen_dir, "bin", "doxygen")
+ )
+ )
else:
cfg.write(cmake_cache_option("ENABLE_DOCS", False))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# addr2line\n")
cfg.write("#{0}\n\n".format("-" * 80))
- cfg.write(cmake_cache_option('ENABLE_ADDR2LINE', '+addr2line' in spec))
+ cfg.write(cmake_cache_option("ENABLE_ADDR2LINE", "+addr2line" in spec))
cfg.write("#{0}\n".format("-" * 80))
cfg.write("# Other\n")
@@ -338,25 +343,26 @@ class Lvarray(CMakePackage, CudaPackage):
host_config_path = self._get_host_config_path(spec)
options = []
- options.extend(['-C', host_config_path])
+ options.extend(["-C", host_config_path])
# Shared libs
- options.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
- if '~tests~examples~benchmarks' in spec:
- options.append('-DENABLE_TESTS=OFF')
+ if "~tests~examples~benchmarks" in spec:
+ options.append("-DENABLE_TESTS=OFF")
else:
- options.append('-DENABLE_TESTS=ON')
-
- if '~test' in spec:
- options.append('-DDISABLE_UNIT_TESTS=ON')
- elif "+tests" in spec and ('%intel' in spec or '%xl' in spec):
- warnings.warn('The LvArray unit tests take an excessive amount of'
- ' time to build with the Intel or IBM compilers.')
-
- options.append(self.define_from_variant('ENABLE_EXAMPLES', 'examples'))
- options.append(self.define_from_variant('ENABLE_BENCHMARKS',
- 'benchmarks'))
- options.append(self.define_from_variant('ENABLE_DOCS', 'docs'))
+ options.append("-DENABLE_TESTS=ON")
+
+ if "~test" in spec:
+ options.append("-DDISABLE_UNIT_TESTS=ON")
+ elif "+tests" in spec and ("%intel" in spec or "%xl" in spec):
+ warnings.warn(
+ "The LvArray unit tests take an excessive amount of"
+ " time to build with the Intel or IBM compilers."
+ )
+
+ options.append(self.define_from_variant("ENABLE_EXAMPLES", "examples"))
+ options.append(self.define_from_variant("ENABLE_BENCHMARKS", "benchmarks"))
+ options.append(self.define_from_variant("ENABLE_DOCS", "docs"))
return options
diff --git a/var/spack/repos/builtin/packages/lvm2/package.py b/var/spack/repos/builtin/packages/lvm2/package.py
index 4a34efce6a..cac348abfe 100644
--- a/var/spack/repos/builtin/packages/lvm2/package.py
+++ b/var/spack/repos/builtin/packages/lvm2/package.py
@@ -21,31 +21,29 @@ class Lvm2(AutotoolsPackage, SourcewarePackage):
"""
homepage = "https://www.sourceware.org/lvm2"
- sourceware_mirror_path = 'lvm2/LVM2.2.03.14.tgz'
+ sourceware_mirror_path = "lvm2/LVM2.2.03.14.tgz"
- version('2.03.14', sha256='4a63bc8a084a8ae3c7bc5e6530cac264139d218575c64416c8b99e3fe039a05c')
- version('2.03.05', sha256='ca52815c999b20c6d25e3192f142f081b93d01f07b9d787e99664b169dba2700')
- version('2.03.04', sha256='f151f36fc0039997d2d9369b607b9262568b1a268afe19fd1535807355402142')
- version('2.03.03', sha256='cedefa63ec5ae1b62fedbfddfc30706c095be0fc7c6aaed6fd1c50bc8c840dde')
- version('2.03.02', sha256='550ba750239fd75b7e52c9877565cabffef506bbf6d7f6f17b9700dee56c720f')
- version('2.03.01', sha256='424e58b074195ec08e0315fa1aff2550590998c33aea5c43bdceb8c1d135530b')
- version('2.03.00', sha256='405992bf76960e60c7219d84d5f1e22edc34422a1ea812e21b2ac3c813d0da4e')
+ version("2.03.14", sha256="4a63bc8a084a8ae3c7bc5e6530cac264139d218575c64416c8b99e3fe039a05c")
+ version("2.03.05", sha256="ca52815c999b20c6d25e3192f142f081b93d01f07b9d787e99664b169dba2700")
+ version("2.03.04", sha256="f151f36fc0039997d2d9369b607b9262568b1a268afe19fd1535807355402142")
+ version("2.03.03", sha256="cedefa63ec5ae1b62fedbfddfc30706c095be0fc7c6aaed6fd1c50bc8c840dde")
+ version("2.03.02", sha256="550ba750239fd75b7e52c9877565cabffef506bbf6d7f6f17b9700dee56c720f")
+ version("2.03.01", sha256="424e58b074195ec08e0315fa1aff2550590998c33aea5c43bdceb8c1d135530b")
+ version("2.03.00", sha256="405992bf76960e60c7219d84d5f1e22edc34422a1ea812e21b2ac3c813d0da4e")
def url_for_version(self, version):
url = "https://sourceware.org/pub/lvm2/releases/LVM2.{0}.tgz"
return url.format(version)
- variant('pkgconfig', default=True,
- description='install pkgconfig support')
+ variant("pkgconfig", default=True, description="install pkgconfig support")
- depends_on('libaio')
- depends_on('pkgconfig', type='build', when='+pkgconfig')
+ depends_on("libaio")
+ depends_on("pkgconfig", type="build", when="+pkgconfig")
- conflicts('platform=darwin',
- msg='lvm2 depends on libaio which does not support Darwin')
+ conflicts("platform=darwin", msg="lvm2 depends on libaio which does not support Darwin")
def configure_args(self):
return [
- '--with-confdir={0}'.format(self.prefix.etc),
- '--with-default-system-dir={0}'.format(self.prefix.etc.lvm)
- ] + self.enable_or_disable('pkgconfig')
+ "--with-confdir={0}".format(self.prefix.etc),
+ "--with-default-system-dir={0}".format(self.prefix.etc.lvm),
+ ] + self.enable_or_disable("pkgconfig")
diff --git a/var/spack/repos/builtin/packages/lwgrp/package.py b/var/spack/repos/builtin/packages/lwgrp/package.py
index 35fe437220..89288c99d0 100644
--- a/var/spack/repos/builtin/packages/lwgrp/package.py
+++ b/var/spack/repos/builtin/packages/lwgrp/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Lwgrp(AutotoolsPackage):
"""Thie light-weight group library provides process group
- representations using O(log N) space and time."""
+ representations using O(log N) space and time."""
homepage = "https://github.com/LLNL/lwgrp"
- url = "https://github.com/LLNL/lwgrp/releases/download/v1.0.2/lwgrp-1.0.2.tar.gz"
- git = "https://github.com/LLNL/lwgrp.git"
+ url = "https://github.com/LLNL/lwgrp/releases/download/v1.0.2/lwgrp-1.0.2.tar.gz"
+ git = "https://github.com/LLNL/lwgrp.git"
- version('main', branch='main')
- version('1.0.5', sha256='16b579e13b8a5218f4fe1b8715f6aafb09133a0cefbcd6b2eaf73802955dee6b')
- version('1.0.4', sha256='0c933df7658660a0225f8e3a940eb2621efa4421397859417c8d90d906d4e90a')
- version('1.0.3', sha256='20b2fc3908bfdf04d1c177f86e227a147214cd155c548b3dd75e54c78e1c1c47')
- version('1.0.2', sha256='c9d4233946e40f01efd0b4644fd9224becec51b9b5f8cbf45f5bac3129b5b536')
+ version("main", branch="main")
+ version("1.0.5", sha256="16b579e13b8a5218f4fe1b8715f6aafb09133a0cefbcd6b2eaf73802955dee6b")
+ version("1.0.4", sha256="0c933df7658660a0225f8e3a940eb2621efa4421397859417c8d90d906d4e90a")
+ version("1.0.3", sha256="20b2fc3908bfdf04d1c177f86e227a147214cd155c548b3dd75e54c78e1c1c47")
+ version("1.0.2", sha256="c9d4233946e40f01efd0b4644fd9224becec51b9b5f8cbf45f5bac3129b5b536")
- depends_on('mpi')
+ depends_on("mpi")
- variant('shared', default=True, description='Build with shared libraries')
+ variant("shared", default=True, description="Build with shared libraries")
def configure_args(self):
- return self.enable_or_disable('shared')
+ return self.enable_or_disable("shared")
diff --git a/var/spack/repos/builtin/packages/lwm2/package.py b/var/spack/repos/builtin/packages/lwm2/package.py
index d4084c2f31..b895bcba6c 100644
--- a/var/spack/repos/builtin/packages/lwm2/package.py
+++ b/var/spack/repos/builtin/packages/lwm2/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class Lwm2(AutotoolsPackage):
"""LWM2: Light Weight Measurement Module. This is a PMPI module
- that can collect a number of time-sliced MPI and POSIX I/O
- measurements from a program.
+ that can collect a number of time-sliced MPI and POSIX I/O
+ measurements from a program.
"""
+
homepage = "https://jay.grs.rwth-aachen.de/redmine/projects/lwm2"
- hg = "https://jay.grs.rwth-aachen.de/hg/lwm2"
+ hg = "https://jay.grs.rwth-aachen.de/hg/lwm2"
- version('torus', revision='torus')
+ version("torus", revision="torus")
depends_on("papi")
depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/lwtnn/package.py b/var/spack/repos/builtin/packages/lwtnn/package.py
index e15a906030..df9f39d313 100644
--- a/var/spack/repos/builtin/packages/lwtnn/package.py
+++ b/var/spack/repos/builtin/packages/lwtnn/package.py
@@ -10,15 +10,15 @@ class Lwtnn(CMakePackage):
"""Lightweight Trained Neural Network."""
homepage = "https://github.com/lwtnn/lwtnn"
- url = "https://github.com/lwtnn/lwtnn/archive/refs/tags/v2.12.1.tar.gz"
+ url = "https://github.com/lwtnn/lwtnn/archive/refs/tags/v2.12.1.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('2.13', sha256='d5c1cede00f9d9cc0a25f070f744999453aec477dae6ef02701c11543c5b9553')
- version('2.12.1', sha256='b820e698d4ed60737e646ca87a42354e8ac548403348b7f2940e8fda1c0f8203')
- version('2.10', sha256='bf84b290c44da582226344b0d5febf7fdbd1cbdee94fcc8bcac972c7355564ed')
+ version("2.13", sha256="d5c1cede00f9d9cc0a25f070f744999453aec477dae6ef02701c11543c5b9553")
+ version("2.12.1", sha256="b820e698d4ed60737e646ca87a42354e8ac548403348b7f2940e8fda1c0f8203")
+ version("2.10", sha256="bf84b290c44da582226344b0d5febf7fdbd1cbdee94fcc8bcac972c7355564ed")
- depends_on('boost@1.54:')
- depends_on('eigen')
+ depends_on("boost@1.54:")
+ depends_on("eigen")
# https://github.com/lwtnn/lwtnn/issues/161
- depends_on('eigen@:3.3.99', when='@2.11:2.12')
+ depends_on("eigen@:3.3.99", when="@2.11:2.12")
diff --git a/var/spack/repos/builtin/packages/lxc/package.py b/var/spack/repos/builtin/packages/lxc/package.py
index 53349a21a6..314da4a792 100644
--- a/var/spack/repos/builtin/packages/lxc/package.py
+++ b/var/spack/repos/builtin/packages/lxc/package.py
@@ -14,26 +14,27 @@ class Lxc(AutotoolsPackage):
well-known containerization features inside the Linux kernel."""
homepage = "https://linuxcontainers.org/lxc/"
- url = "https://github.com/lxc/lxc/archive/lxc-4.0.2.tar.gz"
+ url = "https://github.com/lxc/lxc/archive/lxc-4.0.2.tar.gz"
- version('4.0.2', sha256='89a9f1c6c9c0c43ffc4ec4d281381d60dcf698af1578effa491be97885ab282a')
- version('4.0.1', sha256='5b17c48db24d93f8a687bf4557358e252126c50a66f5756b3e0ea2cf04a60d05')
- version('4.0.0', sha256='8cd36f002f656bbcd01679e6b8892f81ed036d5589aed45b36358014b32277dd')
- version('3.2.1', sha256='59f46fad0a6d921c59a6768ba781295e0986989a96e2d216de2b4b3a14392e65')
- version('3.2.0', sha256='5dbf25a1c15aa96e184a4e9ef580d40f08bf06818ad21614d6c79fce5447c7eb')
- version('3.1.0', sha256='14c34bb3390c60331107a5fbd5c6520e4873c774de2293e9efcb3c0e860b807d')
- version('3.0.4', sha256='12a126e634a8df81507fd9d3a4984bacaacf22153c11f024e215810ea78fcc4f')
- version('3.0.3', sha256='e794f287755d2529cb49f01b72802abfec31f2a02259719b60a62897da6e8298')
- version('2.0.11', sha256='31334ffe0e2d8e38779d80ce670a523f4f5559c2a02c9e085c2f0cf43995d0b0')
- version('2.0.10', sha256='b748de0914467aafea18a568602735907fc95f4272609dba7b0f8c91d7dde776')
+ version("4.0.2", sha256="89a9f1c6c9c0c43ffc4ec4d281381d60dcf698af1578effa491be97885ab282a")
+ version("4.0.1", sha256="5b17c48db24d93f8a687bf4557358e252126c50a66f5756b3e0ea2cf04a60d05")
+ version("4.0.0", sha256="8cd36f002f656bbcd01679e6b8892f81ed036d5589aed45b36358014b32277dd")
+ version("3.2.1", sha256="59f46fad0a6d921c59a6768ba781295e0986989a96e2d216de2b4b3a14392e65")
+ version("3.2.0", sha256="5dbf25a1c15aa96e184a4e9ef580d40f08bf06818ad21614d6c79fce5447c7eb")
+ version("3.1.0", sha256="14c34bb3390c60331107a5fbd5c6520e4873c774de2293e9efcb3c0e860b807d")
+ version("3.0.4", sha256="12a126e634a8df81507fd9d3a4984bacaacf22153c11f024e215810ea78fcc4f")
+ version("3.0.3", sha256="e794f287755d2529cb49f01b72802abfec31f2a02259719b60a62897da6e8298")
+ version("2.0.11", sha256="31334ffe0e2d8e38779d80ce670a523f4f5559c2a02c9e085c2f0cf43995d0b0")
+ version("2.0.10", sha256="b748de0914467aafea18a568602735907fc95f4272609dba7b0f8c91d7dde776")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def configure_args(self):
- args = ["bashcompdir=" +
- join_path(self.spec['lxc'].prefix, 'share',
- 'bash-completion', 'completions')]
+ args = [
+ "bashcompdir="
+ + join_path(self.spec["lxc"].prefix, "share", "bash-completion", "completions")
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/lynx/package.py b/var/spack/repos/builtin/packages/lynx/package.py
index 9b540b06a7..998f1e746c 100644
--- a/var/spack/repos/builtin/packages/lynx/package.py
+++ b/var/spack/repos/builtin/packages/lynx/package.py
@@ -10,20 +10,22 @@ class Lynx(AutotoolsPackage):
"""Lynx is the text web browser."""
homepage = "https://lynx.invisible-island.net/"
- url = "https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.gz"
+ url = "https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.gz"
- version('2.8.9.1', sha256='a46e4167b8f02c066d2fe2eafcc5603367be0e3fe2e59e9fc4eb016f306afc8e')
+ version("2.8.9.1", sha256="a46e4167b8f02c066d2fe2eafcc5603367be0e3fe2e59e9fc4eb016f306afc8e")
- depends_on('ncurses')
+ depends_on("ncurses")
def url_for_version(self, version):
version_str = version.string
- index = version_str.rfind('.')
+ index = version_str.rfind(".")
tmp = list(version_str)
if index >= 0:
- tmp.insert(index, 'rel')
- version_str = ''.join(tmp)
+ tmp.insert(index, "rel")
+ version_str = "".join(tmp)
else:
version_str = version
- url = "https://invisible-mirror.net/archives/lynx/tarballs/lynx{0}.tar.gz".format(version_str)
+ url = "https://invisible-mirror.net/archives/lynx/tarballs/lynx{0}.tar.gz".format(
+ version_str
+ )
return url
diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py
index 5f172cd72a..4c3dbfffd2 100644
--- a/var/spack/repos/builtin/packages/lz4/package.py
+++ b/var/spack/repos/builtin/packages/lz4/package.py
@@ -15,55 +15,62 @@ class Lz4(MakefilePackage):
typically reaching RAM speed limits on multi-core systems."""
homepage = "https://lz4.github.io/lz4/"
- url = "https://github.com/lz4/lz4/archive/v1.9.2.tar.gz"
+ url = "https://github.com/lz4/lz4/archive/v1.9.2.tar.gz"
- version('1.9.3', sha256='030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1')
- version('1.9.2', sha256='658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc')
- version('1.9.0', sha256='f8b6d5662fa534bd61227d313535721ae41a68c9d84058b7b7d86e143572dcfb')
- version('1.8.3', sha256='33af5936ac06536805f9745e0b6d61da606a1f8b4cc5c04dd3cbaca3b9b4fc43')
- version('1.8.1.2', sha256='12f3a9e776a923275b2dc78ae138b4967ad6280863b77ff733028ce89b8123f9')
- version('1.7.5', sha256='0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e')
- version('1.3.1', sha256='9d4d00614d6b9dec3114b33d1224b6262b99ace24434c53487a0c8fd0b18cfed')
+ version("1.9.3", sha256="030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1")
+ version("1.9.2", sha256="658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc")
+ version("1.9.0", sha256="f8b6d5662fa534bd61227d313535721ae41a68c9d84058b7b7d86e143572dcfb")
+ version("1.8.3", sha256="33af5936ac06536805f9745e0b6d61da606a1f8b4cc5c04dd3cbaca3b9b4fc43")
+ version("1.8.1.2", sha256="12f3a9e776a923275b2dc78ae138b4967ad6280863b77ff733028ce89b8123f9")
+ version("1.7.5", sha256="0190cacd63022ccb86f44fa5041dc6c3804407ad61550ca21c382827319e7e7e")
+ version("1.3.1", sha256="9d4d00614d6b9dec3114b33d1224b6262b99ace24434c53487a0c8fd0b18cfed")
- depends_on('valgrind', type='test')
+ depends_on("valgrind", type="test")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
def url_for_version(self, version):
url = "https://github.com/lz4/lz4/archive"
- if version > Version('1.3.1'):
+ if version > Version("1.3.1"):
return "{0}/v{1}.tar.gz".format(url, version)
else:
return "{0}/r{1}.tar.gz".format(url, version.joined)
def build(self, spec, prefix):
par = True
- if spec.compiler.name == 'nvhpc':
+ if spec.compiler.name == "nvhpc":
# relocation error when building shared and dynamic libs in
# parallel
par = False
if sys.platform != "darwin":
- make('MOREFLAGS=-lrt', parallel=par) # fixes make error on CentOS6
+ make("MOREFLAGS=-lrt", parallel=par) # fixes make error on CentOS6
else:
make(parallel=par)
def install(self, spec, prefix):
- make('install',
- 'PREFIX={0}'.format(prefix),
- 'BUILD_SHARED={0}'.format('yes' if 'libs=shared' in self.spec else 'no'),
- 'BUILD_STATIC={0}'.format('yes' if 'libs=static' in self.spec else 'no'))
+ make(
+ "install",
+ "PREFIX={0}".format(prefix),
+ "BUILD_SHARED={0}".format("yes" if "libs=shared" in self.spec else "no"),
+ "BUILD_STATIC={0}".format("yes" if "libs=static" in self.spec else "no"),
+ )
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- filter_file('-fvisibility=hidden', '', 'Makefile')
- filter_file('-fvisibility=hidden', '', 'lib/Makefile')
- filter_file('-pedantic', '', 'Makefile')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file("-fvisibility=hidden", "", "Makefile")
+ filter_file("-fvisibility=hidden", "", "lib/Makefile")
+ filter_file("-pedantic", "", "Makefile")
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/lzma/package.py b/var/spack/repos/builtin/packages/lzma/package.py
index 7ea814d8ff..483bf8cd0a 100644
--- a/var/spack/repos/builtin/packages/lzma/package.py
+++ b/var/spack/repos/builtin/packages/lzma/package.py
@@ -17,6 +17,6 @@ class Lzma(AutotoolsPackage):
Utils relatively easy."""
homepage = "https://tukaani.org/lzma/"
- url = "https://tukaani.org/lzma/lzma-4.32.7.tar.gz"
+ url = "https://tukaani.org/lzma/lzma-4.32.7.tar.gz"
- version('4.32.7', sha256='9f337a8c51e5ded198d1032f5087ba3fe438f2a54e9df419e513a151775b032c')
+ version("4.32.7", sha256="9f337a8c51e5ded198d1032f5087ba3fe438f2a54e9df419e513a151775b032c")
diff --git a/var/spack/repos/builtin/packages/lzo/package.py b/var/spack/repos/builtin/packages/lzo/package.py
index 1d2eab90f2..89bf2932e2 100644
--- a/var/spack/repos/builtin/packages/lzo/package.py
+++ b/var/spack/repos/builtin/packages/lzo/package.py
@@ -9,20 +9,25 @@ from spack.package import *
class Lzo(AutotoolsPackage):
"""Real-time data compression library"""
- homepage = 'https://www.oberhumer.com/opensource/lzo/'
- url = 'https://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz'
+ homepage = "https://www.oberhumer.com/opensource/lzo/"
+ url = "https://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz"
- version('2.10', sha256='c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072')
- version('2.09', sha256='f294a7ced313063c057c504257f437c8335c41bfeed23531ee4e6a2b87bcb34c')
- version('2.08', sha256='ac1b3e4dee46febe9fd28737eb7f5692d3232ef1a01da10444394c3d47536614')
- version('2.07', sha256='9298ccf43f856ef00643d110042b2fefe694b569c161aef0c6f8e4ada590e6d4')
- version('2.06', sha256='ff79e6f836d62d3f86ef6ce893ed65d07e638ef4d3cb952963471b4234d43e73')
- version('2.05', sha256='449f98186d76ba252cd17ff1241ca2a96b7f62e0d3e4766f88730dab0ea5f333')
+ version("2.10", sha256="c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072")
+ version("2.09", sha256="f294a7ced313063c057c504257f437c8335c41bfeed23531ee4e6a2b87bcb34c")
+ version("2.08", sha256="ac1b3e4dee46febe9fd28737eb7f5692d3232ef1a01da10444394c3d47536614")
+ version("2.07", sha256="9298ccf43f856ef00643d110042b2fefe694b569c161aef0c6f8e4ada590e6d4")
+ version("2.06", sha256="ff79e6f836d62d3f86ef6ce893ed65d07e638ef4d3cb952963471b4234d43e73")
+ version("2.05", sha256="449f98186d76ba252cd17ff1241ca2a96b7f62e0d3e4766f88730dab0ea5f333")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
def configure_args(self):
- args = ['--disable-dependency-tracking']
- args += self.enable_or_disable('libs')
+ args = ["--disable-dependency-tracking"]
+ args += self.enable_or_disable("libs")
return args
diff --git a/var/spack/repos/builtin/packages/lzop/package.py b/var/spack/repos/builtin/packages/lzop/package.py
index 5512348213..278ab65c96 100644
--- a/var/spack/repos/builtin/packages/lzop/package.py
+++ b/var/spack/repos/builtin/packages/lzop/package.py
@@ -13,11 +13,11 @@ class Lzop(CMakePackage):
(at the cost of some compression ratio)."""
homepage = "https://www.lzop.org"
- url = "https://www.lzop.org/download/lzop-1.03.tar.gz"
+ url = "https://www.lzop.org/download/lzop-1.03.tar.gz"
- version('1.04', sha256='7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41')
- version('1.03', sha256='c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9')
- version('1.01', sha256='28acd94d933befbc3af986abcfe833173fb7563b66533fdb4ac592f38bb944c7')
+ version("1.04", sha256="7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f305a2f41")
+ version("1.03", sha256="c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9")
+ version("1.01", sha256="28acd94d933befbc3af986abcfe833173fb7563b66533fdb4ac592f38bb944c7")
- depends_on('pkgconfig', type='build')
- depends_on('lzo')
+ depends_on("pkgconfig", type="build")
+ depends_on("lzo")
diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py
index a4599c3afc..1dad2aac8a 100644
--- a/var/spack/repos/builtin/packages/m4/package.py
+++ b/var/spack/repos/builtin/packages/m4/package.py
@@ -15,49 +15,52 @@ class M4(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/m4/m4.html"
gnu_mirror_path = "m4/m4-1.4.18.tar.gz"
- version('1.4.19', sha256='3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70')
- version('1.4.18', sha256='ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab')
- version('1.4.17', sha256='3ce725133ee552b8b4baca7837fb772940b25e81b2a9dc92537aeaf733538c9e')
+ version("1.4.19", sha256="3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70")
+ version("1.4.18", sha256="ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab")
+ version("1.4.17", sha256="3ce725133ee552b8b4baca7837fb772940b25e81b2a9dc92537aeaf733538c9e")
- patch('gnulib-pgi.patch', when='@1.4.18')
- patch('pgi.patch', when='@1.4.17')
+ 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')
+ 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')
+ 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 <jeremyhu@apple.com>
- patch('secure_snprintf.patch', when='@:1.4.18 os=highsierra')
- patch('secure_snprintf.patch', when='@:1.4.18 os=mojave')
- patch('secure_snprintf.patch', when='@:1.4.18 os=catalina')
- patch('secure_snprintf.patch', when='@:1.4.18 os=bigsur')
+ patch("secure_snprintf.patch", when="@:1.4.18 os=highsierra")
+ patch("secure_snprintf.patch", when="@:1.4.18 os=mojave")
+ patch("secure_snprintf.patch", when="@:1.4.18 os=catalina")
+ patch("secure_snprintf.patch", when="@:1.4.18 os=bigsur")
# https://bugzilla.redhat.com/show_bug.cgi?id=1573342
- patch('https://src.fedoraproject.org/rpms/m4/raw/5d147168d4b93f38a4833f5dd1d650ad88af5a8a/f/m4-1.4.18-glibc-change-work-around.patch', sha256='fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8', when='@1.4.18')
+ patch(
+ "https://src.fedoraproject.org/rpms/m4/raw/5d147168d4b93f38a4833f5dd1d650ad88af5a8a/f/m4-1.4.18-glibc-change-work-around.patch",
+ sha256="fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8",
+ when="@1.4.18",
+ )
# from: https://www.mail-archive.com/m4-patches@gnu.org/msg01208.html
# tests: Fix failing test checks/198.sysval with upstream patch for doc/m4.texi
- patch('checks-198.sysval.1.patch', when='@1.4.19')
- patch('checks-198.sysval.2.patch', when='@1.4.19')
+ patch("checks-198.sysval.1.patch", when="@1.4.19")
+ patch("checks-198.sysval.2.patch", when="@1.4.19")
- variant('sigsegv', default=True,
- description="Build the libsigsegv dependency")
+ variant("sigsegv", default=True, description="Build the libsigsegv dependency")
- depends_on('diffutils', type='build')
- depends_on('libsigsegv', when='+sigsegv')
+ depends_on("diffutils", type="build")
+ depends_on("libsigsegv", when="+sigsegv")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^g?m4$']
+ executables = ["^g?m4$"]
- @when('@1.4.19')
+ @when("@1.4.19")
def patch(self):
- """ skip texinfo of m4.info for patched m4.texi (patched only a test in it) """
- timestamp = os.path.getmtime('doc/m4.info')
- os.utime('doc/m4.texi', (timestamp, timestamp))
+ """skip texinfo of m4.info for patched m4.texi (patched only a test in it)"""
+ timestamp = os.path.getmtime("doc/m4.info")
+ os.utime("doc/m4.texi", (timestamp, timestamp))
@classmethod
def determine_version(cls, exe):
@@ -65,58 +68,60 @@ class M4(AutotoolsPackage, GNUMirrorPackage):
# GNU M4 1.4.6
# Output on Linux:
# m4 (GNU M4) 1.4.18
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU M4\)?\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU M4\)?\s+(\S+)", output)
return match.group(1) if match else None
def setup_dependent_build_environment(self, env, dependent_spec):
# Inform autom4te if it wasn't built correctly (some external
# installations such as homebrew). See
# https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
- env.set('M4', self.prefix.bin.m4)
+ env.set("M4", self.prefix.bin.m4)
def setup_run_environment(self, env):
- env.set('M4', self.prefix.bin.m4)
+ env.set("M4", self.prefix.bin.m4)
def configure_args(self):
spec = self.spec
- args = ['--enable-c++']
+ args = ["--enable-c++"]
- if spec.satisfies('%cce@9:'):
- args.append('LDFLAGS=-rtlib=compiler-rt')
+ if spec.satisfies("%cce@9:"):
+ args.append("LDFLAGS=-rtlib=compiler-rt")
- if (spec.satisfies('%clang') or
- spec.satisfies('%aocc') or
- spec.satisfies('%arm') or
- spec.satisfies('%fj')) and not spec.satisfies('platform=darwin'):
- args.append('LDFLAGS=-rtlib=compiler-rt')
+ if (
+ spec.satisfies("%clang")
+ or spec.satisfies("%aocc")
+ or spec.satisfies("%arm")
+ or spec.satisfies("%fj")
+ ) and not spec.satisfies("platform=darwin"):
+ args.append("LDFLAGS=-rtlib=compiler-rt")
- if spec.satisfies('%intel@:18'):
- args.append('CFLAGS=-no-gcc')
+ if spec.satisfies("%intel@:18"):
+ args.append("CFLAGS=-no-gcc")
- if '+sigsegv' in spec:
- args.append('--with-libsigsegv-prefix={0}'.format(
- spec['libsigsegv'].prefix))
+ if "+sigsegv" in spec:
+ args.append("--with-libsigsegv-prefix={0}".format(spec["libsigsegv"].prefix))
else:
- args.append('--without-libsigsegv-prefix')
+ args.append("--without-libsigsegv-prefix")
# https://lists.gnu.org/archive/html/bug-m4/2016-09/msg00002.html
arch = spec.architecture
- if (arch.platform == 'darwin' and arch.os == 'sierra' and
- '%gcc' in spec):
- args.append('ac_cv_type_struct_sched_param=yes')
+ if arch.platform == "darwin" and arch.os == "sierra" and "%gcc" in spec:
+ args.append("ac_cv_type_struct_sched_param=yes")
return args
def test(self):
spec_vers = str(self.spec.version)
- reason = 'test: ensuring m4 version is {0}'.format(spec_vers)
- self.run_test('m4', '--version', spec_vers, installed=True,
- purpose=reason, skip_missing=False)
+ reason = "test: ensuring m4 version is {0}".format(spec_vers)
+ self.run_test(
+ "m4", "--version", spec_vers, installed=True, purpose=reason, skip_missing=False
+ )
- reason = 'test: ensuring m4 example succeeds'
+ reason = "test: ensuring m4 example succeeds"
test_data_dir = self.test_suite.current_test_data_dir
- hello_file = test_data_dir.join('hello.m4')
- expected = get_escaped_text_output(test_data_dir.join('hello.out'))
- self.run_test('m4', hello_file, expected, installed=True,
- purpose=reason, skip_missing=False)
+ hello_file = test_data_dir.join("hello.m4")
+ expected = get_escaped_text_output(test_data_dir.join("hello.out"))
+ self.run_test(
+ "m4", hello_file, expected, installed=True, purpose=reason, skip_missing=False
+ )
diff --git a/var/spack/repos/builtin/packages/macfuse/package.py b/var/spack/repos/builtin/packages/macfuse/package.py
index ad94d4261c..651577b148 100644
--- a/var/spack/repos/builtin/packages/macfuse/package.py
+++ b/var/spack/repos/builtin/packages/macfuse/package.py
@@ -10,14 +10,14 @@ class Macfuse(Package):
"""FUSE for macOS allows you to extend macOS via third party file systems."""
homepage = "https://osxfuse.github.io/"
- git = "https://github.com/osxfuse/osxfuse.git"
+ git = "https://github.com/osxfuse/osxfuse.git"
has_code = False # only distributed in binary form
- version('4.1.2')
+ version("4.1.2")
- provides('fuse')
- conflicts('platform=linux', msg='macfuse does not support linux, use libfuse instead')
- conflicts('platform=cray', msg='macfuse does not support cray, use libfuse instead')
+ provides("fuse")
+ conflicts("platform=linux", msg="macfuse does not support linux, use libfuse instead")
+ conflicts("platform=cray", msg="macfuse does not support cray, use libfuse instead")
def install(self, spec, prefix):
msg = """
@@ -43,4 +43,4 @@ and add an entry like so:
raise InstallError(msg)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.set('FUSE_LIBRARY_PATH', self.prefix.macFUSE)
+ env.set("FUSE_LIBRARY_PATH", self.prefix.macFUSE)
diff --git a/var/spack/repos/builtin/packages/macsio/package.py b/var/spack/repos/builtin/packages/macsio/package.py
index 67457a2b51..063a1f2bc4 100644
--- a/var/spack/repos/builtin/packages/macsio/package.py
+++ b/var/spack/repos/builtin/packages/macsio/package.py
@@ -9,44 +9,44 @@ from spack.package import *
class Macsio(CMakePackage):
"""A Multi-purpose, Application-Centric, Scalable I/O Proxy Application."""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://computing.llnl.gov/projects/co-design/macsio"
- url = "https://github.com/LLNL/MACSio/archive/v1.1.tar.gz"
- git = "https://github.com/LLNL/MACSio.git"
+ url = "https://github.com/LLNL/MACSio/archive/v1.1.tar.gz"
+ git = "https://github.com/LLNL/MACSio.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- version('1.1', sha256='a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec')
- version('1.0', sha256='1dd0df28f9f31510329d5874c1519c745b5c6bec12e102cea3e9f4b05e5d3072')
+ version("1.1", sha256="a86249b0f10647c0b631773db69568388094605ec1a0af149d9e61e95e6961ec")
+ version("1.0", sha256="1dd0df28f9f31510329d5874c1519c745b5c6bec12e102cea3e9f4b05e5d3072")
- variant('mpi', default=True, description="Build MPI plugin")
- variant('silo', default=True, description="Build with SILO plugin")
+ variant("mpi", default=True, description="Build MPI plugin")
+ variant("silo", default=True, description="Build with SILO plugin")
# TODO: multi-level variants for hdf5
- variant('hdf5', default=False, description="Build HDF5 plugin")
- variant('zfp', default=False, description="Build HDF5 with ZFP compression")
- variant('szip', default=False, description="Build HDF5 with SZIP compression")
- variant('zlib', default=False, description="Build HDF5 with ZLIB compression")
- variant('pdb', default=False, description="Build PDB plugin")
- variant('exodus', default=False, description="Build EXODUS plugin")
- variant('scr', default=False, description="Build with SCR support")
- variant('typhonio', default=False, description="Build TYPHONIO plugin")
-
- depends_on('json-cwx')
- depends_on('mpi', when="+mpi")
- depends_on('silo', when="+silo")
- depends_on('hdf5+hl', when="+hdf5")
+ variant("hdf5", default=False, description="Build HDF5 plugin")
+ variant("zfp", default=False, description="Build HDF5 with ZFP compression")
+ variant("szip", default=False, description="Build HDF5 with SZIP compression")
+ variant("zlib", default=False, description="Build HDF5 with ZLIB compression")
+ variant("pdb", default=False, description="Build PDB plugin")
+ variant("exodus", default=False, description="Build EXODUS plugin")
+ variant("scr", default=False, description="Build with SCR support")
+ variant("typhonio", default=False, description="Build TYPHONIO plugin")
+
+ depends_on("json-cwx")
+ depends_on("mpi", when="+mpi")
+ depends_on("silo", when="+silo")
+ depends_on("hdf5+hl", when="+hdf5")
# depends_on('hdf5+szip', when="+szip")
- depends_on('exodusii', when="+exodus")
+ depends_on("exodusii", when="+exodus")
# pdb is packaged with silo
- depends_on('silo', when="+pdb")
- depends_on('typhonio', when="+typhonio")
- depends_on('scr', when="+scr")
+ depends_on("silo", when="+pdb")
+ depends_on("typhonio", when="+typhonio")
+ depends_on("scr", when="+scr")
# macsio@1.1 has bug with ~mpi configuration
- conflicts('~mpi', when='@1.1')
+ conflicts("~mpi", when="@1.1")
# Ref: https://github.com/LLNL/MACSio/commit/51b8c40cd9813adec5dd4dd6cee948bb9ddb7ee1
- patch('cast.patch', when='@1.1')
+ patch("cast.patch", when="@1.1")
def cmake_args(self):
spec = self.spec
@@ -59,18 +59,15 @@ class Macsio(CMakePackage):
cmake_args.append("-DENABLE_SILO_PLUGIN=OFF")
if "+silo" in spec:
- cmake_args.append("-DWITH_SILO_PREFIX={0}"
- .format(spec['silo'].prefix))
+ cmake_args.append("-DWITH_SILO_PREFIX={0}".format(spec["silo"].prefix))
if "+pdb" in spec:
# pdb is a part of silo
cmake_args.append("-DENABLE_PDB_PLUGIN=ON")
- cmake_args.append("-DWITH_SILO_PREFIX={0}"
- .format(spec['silo'].prefix))
+ cmake_args.append("-DWITH_SILO_PREFIX={0}".format(spec["silo"].prefix))
if "+hdf5" in spec:
cmake_args.append("-DENABLE_HDF5_PLUGIN=ON")
- cmake_args.append("-DWITH_HDF5_PREFIX={0}"
- .format(spec['hdf5'].prefix))
+ cmake_args.append("-DWITH_HDF5_PREFIX={0}".format(spec["hdf5"].prefix))
# TODO: Multi-level variants
# ZFP not in hdf5 spack package??
# if "+zfp" in spec:
@@ -90,15 +87,12 @@ class Macsio(CMakePackage):
if "+typhonio" in spec:
cmake_args.append("-DENABLE_TYPHONIO_PLUGIN=ON")
- cmake_args.append("-DWITH_TYPHONIO_PREFIX={0}"
- .format(spec['typhonio'].prefix))
+ cmake_args.append("-DWITH_TYPHONIO_PREFIX={0}".format(spec["typhonio"].prefix))
if "+exodus" in spec:
cmake_args.append("-DENABLE_EXODUS_PLUGIN=ON")
- cmake_args.append("-DWITH_EXODUS_PREFIX={0}"
- .format(spec['exodusii'].prefix))
+ cmake_args.append("-DWITH_EXODUS_PREFIX={0}".format(spec["exodusii"].prefix))
# exodus requires netcdf
- cmake_args.append("-DWITH_NETCDF_PREFIX={0}"
- .format(spec['netcdf-c'].prefix))
+ cmake_args.append("-DWITH_NETCDF_PREFIX={0}".format(spec["netcdf-c"].prefix))
return cmake_args
diff --git a/var/spack/repos/builtin/packages/mad-numdiff/package.py b/var/spack/repos/builtin/packages/mad-numdiff/package.py
index 26505532c3..41a01e2194 100644
--- a/var/spack/repos/builtin/packages/mad-numdiff/package.py
+++ b/var/spack/repos/builtin/packages/mad-numdiff/package.py
@@ -11,8 +11,8 @@ class MadNumdiff(CMakePackage):
"""compare unformatted text files with numerical content"""
homepage = "https://github.com/quinoacomputing/ndiff"
- url = "https://github.com/quinoacomputing/ndiff/tarball/20150724"
- git = "https://github.com/quinoacomputing/ndiff.git"
+ url = "https://github.com/quinoacomputing/ndiff/tarball/20150724"
+ git = "https://github.com/quinoacomputing/ndiff.git"
- version('develop', branch='master')
- version('20150724', sha256='33130b48416f8dcb6402acbcb8906cdec35b7242fe2f3ad49b7d7c063d75377b')
+ version("develop", branch="master")
+ version("20150724", sha256="33130b48416f8dcb6402acbcb8906cdec35b7242fe2f3ad49b7d7c063d75377b")
diff --git a/var/spack/repos/builtin/packages/madgraph5amc/package.py b/var/spack/repos/builtin/packages/madgraph5amc/package.py
index 53184db73a..0e6bb5778b 100644
--- a/var/spack/repos/builtin/packages/madgraph5amc/package.py
+++ b/var/spack/repos/builtin/packages/madgraph5amc/package.py
@@ -10,94 +10,103 @@ from spack.package import *
class Madgraph5amc(MakefilePackage):
"""MadGraph5_aMC@NLO is a framework that aims at providing
- all the elements necessary for SM and BSM phenomenology,
- such as the computations of cross sections, the generation
- of hard events and their matching with event generators,
- and the use of a variety of tools relevant to
- event manipulation and analysis. """
+ all the elements necessary for SM and BSM phenomenology,
+ such as the computations of cross sections, the generation
+ of hard events and their matching with event generators,
+ and the use of a variety of tools relevant to
+ event manipulation and analysis."""
homepage = "https://launchpad.net/mg5amcnlo"
- url = "https://launchpad.net/mg5amcnlo/2.0/2.7.x/+download/MG5_aMC_v2.7.3.tar.gz"
-
- tags = ['hep']
-
- version('2.8.1', sha256='acda34414beba201e529b8c03f87f4893fb3f99ed2956a131d60a387e76c5b8c',
- url="https://launchpad.net/mg5amcnlo/2.0/2.8.x/+download/MG5_aMC_v2.8.1.tar.gz")
- version('2.8.0', sha256='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
- url="https://launchpad.net/mg5amcnlo/2.0/2.8.x/+download/MG5_aMC_v2.8.0.tar.gz")
- version('2.7.3.py3', sha256='400c26f9b15b07baaad9bd62091ceea785c2d3a59618fdc27cad213816bc7225')
- version('2.7.3.py2', sha256='0b665356f4d9359e6e382e0f408dc11db594734567c6b2f0ec0e0697f2dbe099',
- url="https://launchpad.net/mg5amcnlo/2.0/2.7.x/+download/MG5_aMC_v2.7.3.tar.gz")
-
- variant('atlas', default=False, description='Apply changes requested by ' +
- "the ATLAS experimenent on LHC")
- variant('ninja', default=False, description='Use external installation' +
- " of Ninja")
- variant('collier', default=False, description='Use external installation' +
- ' of Collier')
-
- conflicts('%gcc@10:', when='@2.7.3')
-
- depends_on('syscalc')
- depends_on('gosam-contrib', when='+ninja')
- depends_on('collier', when='+collier')
- depends_on('lhapdf')
- depends_on('fastjet')
- depends_on('py-six', when='@2.7.3.py3,2.8.0:', type=('build', 'run'))
-
- depends_on('python@2.7.0:2.8.0', when='@2.7.3.py2', type=('build', 'run'))
- depends_on('python@3.7:', when='@2.7.3.py3', type=('build', 'run'))
- depends_on('python@2.7.0:2.8.0,3.7:', when='@2.8.0:', type=('build', 'run'))
- depends_on('libtirpc')
-
- patch('array-bounds.patch')
- patch('madgraph5amc.patch', level=0)
- patch('madgraph5amc-2.7.3.atlas.patch', level=0, when='@2.7.3.py2+atlas')
- patch('madgraph5amc-2.7.3.atlas.patch', level=0, when='@2.7.3.py3+atlas')
- patch('madgraph5amc-2.8.0.atlas.patch', level=0, when='@2.8.0+atlas')
- patch('madgraph5amc-2.8.0.atlas.patch', level=0, when='@2.8.1+atlas')
+ url = "https://launchpad.net/mg5amcnlo/2.0/2.7.x/+download/MG5_aMC_v2.7.3.tar.gz"
+
+ tags = ["hep"]
+
+ version(
+ "2.8.1",
+ sha256="acda34414beba201e529b8c03f87f4893fb3f99ed2956a131d60a387e76c5b8c",
+ url="https://launchpad.net/mg5amcnlo/2.0/2.8.x/+download/MG5_aMC_v2.8.1.tar.gz",
+ )
+ version(
+ "2.8.0",
+ sha256="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ url="https://launchpad.net/mg5amcnlo/2.0/2.8.x/+download/MG5_aMC_v2.8.0.tar.gz",
+ )
+ version("2.7.3.py3", sha256="400c26f9b15b07baaad9bd62091ceea785c2d3a59618fdc27cad213816bc7225")
+ version(
+ "2.7.3.py2",
+ sha256="0b665356f4d9359e6e382e0f408dc11db594734567c6b2f0ec0e0697f2dbe099",
+ url="https://launchpad.net/mg5amcnlo/2.0/2.7.x/+download/MG5_aMC_v2.7.3.tar.gz",
+ )
+
+ variant(
+ "atlas",
+ default=False,
+ description="Apply changes requested by " + "the ATLAS experimenent on LHC",
+ )
+ variant("ninja", default=False, description="Use external installation" + " of Ninja")
+ variant("collier", default=False, description="Use external installation" + " of Collier")
+
+ conflicts("%gcc@10:", when="@2.7.3")
+
+ depends_on("syscalc")
+ depends_on("gosam-contrib", when="+ninja")
+ depends_on("collier", when="+collier")
+ depends_on("lhapdf")
+ depends_on("fastjet")
+ depends_on("py-six", when="@2.7.3.py3,2.8.0:", type=("build", "run"))
+
+ depends_on("python@2.7.0:2.8.0", when="@2.7.3.py2", type=("build", "run"))
+ depends_on("python@3.7:", when="@2.7.3.py3", type=("build", "run"))
+ depends_on("python@2.7.0:2.8.0,3.7:", when="@2.8.0:", type=("build", "run"))
+ depends_on("libtirpc")
+
+ patch("array-bounds.patch")
+ patch("madgraph5amc.patch", level=0)
+ patch("madgraph5amc-2.7.3.atlas.patch", level=0, when="@2.7.3.py2+atlas")
+ patch("madgraph5amc-2.7.3.atlas.patch", level=0, when="@2.7.3.py3+atlas")
+ patch("madgraph5amc-2.8.0.atlas.patch", level=0, when="@2.8.0+atlas")
+ patch("madgraph5amc-2.8.0.atlas.patch", level=0, when="@2.8.1+atlas")
def edit(self, spec, prefix):
def set_parameter(name, value):
- config_files.filter('^#?[ ]*' + name + '[ ]*=.*$',
- name + ' = ' + value,
- ignore_absent=True)
+ config_files.filter(
+ "^#?[ ]*" + name + "[ ]*=.*$", name + " = " + value, ignore_absent=True
+ )
- config_files = FileFilter(join_path("input",
- ".mg5_configuration_default.txt"),
- join_path("input", "mg5_configuration.txt"))
+ config_files = FileFilter(
+ join_path("input", ".mg5_configuration_default.txt"),
+ join_path("input", "mg5_configuration.txt"),
+ )
- set_parameter('syscalc_path', spec['syscalc'].prefix.bin)
+ set_parameter("syscalc_path", spec["syscalc"].prefix.bin)
- if '+ninja' in spec:
- set_parameter('ninja', spec['gosam-contrib'].prefix)
+ if "+ninja" in spec:
+ set_parameter("ninja", spec["gosam-contrib"].prefix)
- if '+collier' in spec:
- set_parameter('collier', spec['collier'].prefix.lib)
+ if "+collier" in spec:
+ set_parameter("collier", spec["collier"].prefix.lib)
- set_parameter('output_dependencies', 'internal')
- set_parameter('lhapdf', join_path(spec['lhapdf'].prefix.bin,
- 'lhapdf-config'))
- set_parameter('fastjet', join_path(spec['fastjet'].prefix.bin,
- 'fastjet-config'))
+ set_parameter("output_dependencies", "internal")
+ set_parameter("lhapdf", join_path(spec["lhapdf"].prefix.bin, "lhapdf-config"))
+ set_parameter("fastjet", join_path(spec["fastjet"].prefix.bin, "fastjet-config"))
- set_parameter('automatic_html_opening', 'False')
+ set_parameter("automatic_html_opening", "False")
def build(self, spec, prefix):
- with working_dir(join_path('vendor', 'CutTools')):
+ with working_dir(join_path("vendor", "CutTools")):
make(parallel=False)
- with working_dir(join_path('vendor', 'StdHEP')):
- for m in ['mcfio/arch_mcfio', 'src/stdhep_arch']:
+ with working_dir(join_path("vendor", "StdHEP")):
+ for m in ["mcfio/arch_mcfio", "src/stdhep_arch"]:
arch = FileFilter(m)
- arch.filter('CC.*=.*', 'CC = {0}'.format(spack_cc))
+ arch.filter("CC.*=.*", "CC = {0}".format(spack_cc))
make(parallel=False)
- if '+atlas' in spec:
- if os.path.exists(join_path('bin', 'compile.py')):
- compile_py = Executable(join_path('bin', 'compile.py'))
+ if "+atlas" in spec:
+ if os.path.exists(join_path("bin", "compile.py")):
+ compile_py = Executable(join_path("bin", "compile.py"))
else:
- compile_py = Executable(join_path('bin', '.compile.py'))
+ compile_py = Executable(join_path("bin", ".compile.py"))
compile_py()
@@ -112,12 +121,13 @@ class Madgraph5amc(MakefilePackage):
if os.path.isdir(p):
installdir(p)
else:
- if p != 'doc.tgz':
+ if p != "doc.tgz":
installfile(p)
else:
mkdirp(prefix.share)
install(p, join_path(prefix.share, p))
- install(join_path('Template', 'LO', 'Source', '.make_opts'),
- join_path(prefix, 'Template', 'LO',
- 'Source', 'make_opts'))
+ install(
+ join_path("Template", "LO", "Source", ".make_opts"),
+ join_path(prefix, "Template", "LO", "Source", "make_opts"),
+ )
diff --git a/var/spack/repos/builtin/packages/madx/package.py b/var/spack/repos/builtin/packages/madx/package.py
index a42bbf470c..dd64ccc91a 100644
--- a/var/spack/repos/builtin/packages/madx/package.py
+++ b/var/spack/repos/builtin/packages/madx/package.py
@@ -11,34 +11,36 @@ class Madx(CMakePackage):
for designing particle accelerators."""
homepage = "https://github.com/MethodicalAcceleratorDesign/MAD-X"
- url = "https://github.com/MethodicalAcceleratorDesign/MAD-X/archive/refs/tags/5.07.00.tar.gz"
- git = "https://github.com/MethodicalAcceleratorDesign/MAD-X.git"
+ url = "https://github.com/MethodicalAcceleratorDesign/MAD-X/archive/refs/tags/5.07.00.tar.gz"
+ git = "https://github.com/MethodicalAcceleratorDesign/MAD-X.git"
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
# Supported MAD-X versions
- version('5.08.01', sha256='89c943fcb474344a4f7d28de98e8eae0aec40f779bf908daff79043bf3520555')
- version('5.08.00', sha256='0b3fe2aca8899289ef7bfb98d745f13b8c4082e239f54f2662c9cad8d1e63a53')
- version('5.07.00', sha256='77c0ec591dc3ea76cf57c60a5d7c73b6c0d66cca1fa7c4eb25a9071e8fc67e60')
+ version("5.08.01", sha256="89c943fcb474344a4f7d28de98e8eae0aec40f779bf908daff79043bf3520555")
+ version("5.08.00", sha256="0b3fe2aca8899289ef7bfb98d745f13b8c4082e239f54f2662c9cad8d1e63a53")
+ version("5.07.00", sha256="77c0ec591dc3ea76cf57c60a5d7c73b6c0d66cca1fa7c4eb25a9071e8fc67e60")
- variant('x11', default=True, description='Turn on plotting using X11')
+ variant("x11", default=True, description="Turn on plotting using X11")
# patch for gcc-11 to avoid error due to variable shadowing
- patch('https://github.com/MethodicalAcceleratorDesign/MAD-X/commit/e7a434290df675b894f70026ce0c7c217330cce5.patch?full_index=1',
- sha256='d09c26f10b6b69d2cb209fee317f90804d92b419026d5181007559119daf33f6',
- when='@:5.07.00')
+ patch(
+ "https://github.com/MethodicalAcceleratorDesign/MAD-X/commit/e7a434290df675b894f70026ce0c7c217330cce5.patch?full_index=1",
+ sha256="d09c26f10b6b69d2cb209fee317f90804d92b419026d5181007559119daf33f6",
+ when="@:5.07.00",
+ )
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
depends_on("libx11")
depends_on("zlib")
def cmake_args(self):
args = [
- self.define('MADX_STATIC', False), # Turn on for static linking
- self.define('MADX_LAPACK', True), # Use system blas/lapack installation
- self.define('MADX_NTPSA', True), # Build with NTPSA
- self.define('MADX_ONLINE', False), # Build with Online model
- self.define_from_variant('MADX_X11', 'x11'), # Turn on plotting using X11
+ self.define("MADX_STATIC", False), # Turn on for static linking
+ self.define("MADX_LAPACK", True), # Use system blas/lapack installation
+ self.define("MADX_NTPSA", True), # Build with NTPSA
+ self.define("MADX_ONLINE", False), # Build with Online model
+ self.define_from_variant("MADX_X11", "x11"), # Turn on plotting using X11
]
return args
diff --git a/var/spack/repos/builtin/packages/mafft/package.py b/var/spack/repos/builtin/packages/mafft/package.py
index 92d92d9570..2423b6c931 100644
--- a/var/spack/repos/builtin/packages/mafft/package.py
+++ b/var/spack/repos/builtin/packages/mafft/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Mafft(Package):
"""MAFFT is a multiple sequence alignment program for unix-like
- operating systems. It offers a range of multiple alignment
- methods, L-INS-i (accurate; for alignment of <~200 sequences),
- FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc."""
+ operating systems. It offers a range of multiple alignment
+ methods, L-INS-i (accurate; for alignment of <~200 sequences),
+ FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc."""
homepage = "https://mafft.cbrc.jp/alignment/software/index.html"
- url = "https://mafft.cbrc.jp/alignment/software/mafft-7.221-with-extensions-src.tgz"
+ url = "https://mafft.cbrc.jp/alignment/software/mafft-7.221-with-extensions-src.tgz"
- version('7.481', sha256='7397f1193048587a3d887e46a353418e67849f71729764e8195b218e3453dfa2')
- version('7.475', sha256='bb6973ae089ea18cfbd3861a5b9d2c8b7e1543a1fdc78ac2d7cd8dbe3443f319')
- version('7.453', sha256='8b2f0d6249c575f80cd51278ab45dd149b8ac9b159adac20fd1ddc7a6722af11')
- version('7.407', sha256='1840b51a0b93f40b4d6076af996ee46396428d8dbaf7ba1d847abff9cb1463e5')
- version('7.221', sha256='0bc78111966d9b00ddfa14fa217fa5bb0c593a558674a13f02dca7bcd51f7fcf')
+ version("7.481", sha256="7397f1193048587a3d887e46a353418e67849f71729764e8195b218e3453dfa2")
+ version("7.475", sha256="bb6973ae089ea18cfbd3861a5b9d2c8b7e1543a1fdc78ac2d7cd8dbe3443f319")
+ version("7.453", sha256="8b2f0d6249c575f80cd51278ab45dd149b8ac9b159adac20fd1ddc7a6722af11")
+ version("7.407", sha256="1840b51a0b93f40b4d6076af996ee46396428d8dbaf7ba1d847abff9cb1463e5")
+ version("7.221", sha256="0bc78111966d9b00ddfa14fa217fa5bb0c593a558674a13f02dca7bcd51f7fcf")
def install(self, spec, prefix):
- with working_dir('core'):
- make('PREFIX=%s' % prefix)
- make('PREFIX=%s' % prefix, 'install')
- with working_dir('extensions'):
- make('PREFIX=%s' % prefix)
- make('PREFIX=%s' % prefix, 'install')
+ with working_dir("core"):
+ make("PREFIX=%s" % prefix)
+ make("PREFIX=%s" % prefix, "install")
+ with working_dir("extensions"):
+ make("PREFIX=%s" % prefix)
+ make("PREFIX=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py
index 5cc3595c2d..4746c9a953 100644
--- a/var/spack/repos/builtin/packages/magics/package.py
+++ b/var/spack/repos/builtin/packages/magics/package.py
@@ -11,69 +11,75 @@ from spack.package import *
class Magics(CMakePackage):
"""Magics is the latest generation of the ECMWF's Meteorological plotting
- software MAGICS. Although completely redesigned in C++, it is intended
- to be as backwards-compatible as possible with the Fortran interface."""
+ software MAGICS. Although completely redesigned in C++, it is intended
+ to be as backwards-compatible as possible with the Fortran interface."""
homepage = "https://software.ecmwf.int/wiki/display/MAGP/Magics"
- url = "https://confluence.ecmwf.int/download/attachments/3473464/Magics-4.2.4-Source.tar.gz?api=v2"
+ url = "https://confluence.ecmwf.int/download/attachments/3473464/Magics-4.2.4-Source.tar.gz?api=v2"
list_url = "https://software.ecmwf.int/wiki/display/MAGP/Releases"
# The policy on which minor releases remain available and which get deleted
# after a newer version becomes available is unclear.
- version('4.9.3', sha256='c01ee7c4b05c5512e93e573748d2766d299fa1a60c226f2a0d0989f3d7c5239b')
- version('4.4.0', sha256='544058cd334f3e28a16d00ea7811e13cdf282f9c1ebec2ad7868171d925abd24')
- version('4.3.3', sha256='27d3de71cf41f3d557fd85dabaea2baaab34c4c6422a5b5b15071a6a53387601')
- version('4.3.1', sha256='b1995e2f5bf24943715446d1302cc5d7de4cacfe4cee7c3cfd1037ac183cd181')
- version('4.3.0', sha256='f6c0d32c243913e53320dd94ce8e1e6a64bd9a44af77d5ac32c062bc18355b8a')
- version('4.2.6', sha256='9b34a375d9125ab6e8a715b970da2e479f96370bac6a5bb8a015a079ed9e027c')
- version('4.2.4', sha256='920c7dbb1aaabe65a31c6c18010829210f8b2f8d614b6c405dc5a4530e346f07')
- version('4.1.0', sha256='da626c31f53716990754dd72ab7b2f3902a8ad924b23ef3309bd14900d170541')
- version('2.34.3', sha256='38487562e83c0470f94d9c7fb9418cbadf92f1e643033237baba2abdc77e6238')
- version('2.34.1', sha256='8df27f8f262ebc32a61f8696df15a7b4a6e4203b2a8e53fe7aa13caa1c4e3fa4')
- version('2.33.0', sha256='32d3079749f89988715a8c3df01b712d9b989b7fd242828ec09563e47c5a3e82')
- version('2.32.0', sha256='233b046c93b84be60ac8011212668de35c2693d89fffcaad333b42b8c4ffad06')
- version('2.31.0', sha256='13c314661bb154499a87db9063238d6ecebad0d4fec37b0f3d90fe34aa37eec6')
- version('2.29.6', sha256='88cfa5e2bd823c4669a3d2fe0349f14545e810333c1b4d031ce74a7a5218a2db')
- version('2.29.4', sha256='82bdb4f7e38776776d2155a82d0acaa017402365a043731708345ac4ac00198f')
- version('2.29.0', sha256='4c5067c4630e831bf81d15454476ff0d050c488b768f6a10272aad62ce8d0f92')
-
- conflicts('%gcc@11:', when='@:4.4', msg='missing #include <limits>')
+ version("4.9.3", sha256="c01ee7c4b05c5512e93e573748d2766d299fa1a60c226f2a0d0989f3d7c5239b")
+ version("4.4.0", sha256="544058cd334f3e28a16d00ea7811e13cdf282f9c1ebec2ad7868171d925abd24")
+ version("4.3.3", sha256="27d3de71cf41f3d557fd85dabaea2baaab34c4c6422a5b5b15071a6a53387601")
+ version("4.3.1", sha256="b1995e2f5bf24943715446d1302cc5d7de4cacfe4cee7c3cfd1037ac183cd181")
+ version("4.3.0", sha256="f6c0d32c243913e53320dd94ce8e1e6a64bd9a44af77d5ac32c062bc18355b8a")
+ version("4.2.6", sha256="9b34a375d9125ab6e8a715b970da2e479f96370bac6a5bb8a015a079ed9e027c")
+ version("4.2.4", sha256="920c7dbb1aaabe65a31c6c18010829210f8b2f8d614b6c405dc5a4530e346f07")
+ version("4.1.0", sha256="da626c31f53716990754dd72ab7b2f3902a8ad924b23ef3309bd14900d170541")
+ version("2.34.3", sha256="38487562e83c0470f94d9c7fb9418cbadf92f1e643033237baba2abdc77e6238")
+ version("2.34.1", sha256="8df27f8f262ebc32a61f8696df15a7b4a6e4203b2a8e53fe7aa13caa1c4e3fa4")
+ version("2.33.0", sha256="32d3079749f89988715a8c3df01b712d9b989b7fd242828ec09563e47c5a3e82")
+ version("2.32.0", sha256="233b046c93b84be60ac8011212668de35c2693d89fffcaad333b42b8c4ffad06")
+ version("2.31.0", sha256="13c314661bb154499a87db9063238d6ecebad0d4fec37b0f3d90fe34aa37eec6")
+ version("2.29.6", sha256="88cfa5e2bd823c4669a3d2fe0349f14545e810333c1b4d031ce74a7a5218a2db")
+ version("2.29.4", sha256="82bdb4f7e38776776d2155a82d0acaa017402365a043731708345ac4ac00198f")
+ version("2.29.0", sha256="4c5067c4630e831bf81d15454476ff0d050c488b768f6a10272aad62ce8d0f92")
+
+ conflicts("%gcc@11:", when="@:4.4", msg="missing #include <limits>")
# The patch reorders includes and adds namespaces where necessary to
# resolve ambiguity of invocations of isnan and isinf functions. The
# patch is not needed since the version 2.29.1
- patch('resolve_isnan_ambiguity.patch', when='@2.29.0')
-
- variant('grib', default='eccodes', values=('eccodes', 'grib-api'),
- description='Specify GRIB backend')
- variant('netcdf', default=False, description='Enable NetCDF support')
- variant('cairo', default=False,
- description='Enable cairo support[png/jpeg]')
- variant('python', default=False, description='Enable Python interface')
- variant('fortran', default=False, description='Enable Fortran interface')
- variant('metview', default=False, description='Enable metview support')
- variant('qt', default=False, description='Enable metview support with qt')
- variant('bufr', default=False, description='Enable BUFR support')
-
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
+ patch("resolve_isnan_ambiguity.patch", when="@2.29.0")
+
+ variant(
+ "grib",
+ default="eccodes",
+ values=("eccodes", "grib-api"),
+ description="Specify GRIB backend",
+ )
+ variant("netcdf", default=False, description="Enable NetCDF support")
+ variant("cairo", default=False, description="Enable cairo support[png/jpeg]")
+ variant("python", default=False, description="Enable Python interface")
+ variant("fortran", default=False, description="Enable Fortran interface")
+ variant("metview", default=False, description="Enable metview support")
+ variant("qt", default=False, description="Enable metview support with qt")
+ variant("bufr", default=False, description="Enable BUFR support")
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "Production"),
+ )
# Build dependencies
- depends_on('cmake@2.8.11:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('python', type='build')
- depends_on('python@:2', type='build', when='@:3')
- depends_on('perl', type='build')
- depends_on('perl-xml-parser', type='build')
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python", type="build")
+ depends_on("python@:2", type="build", when="@:3")
+ depends_on("perl", type="build")
+ depends_on("perl-xml-parser", type="build")
# Non-optional dependencies
# change of proj4 api starting from version 4.3.0
# https://github.com/OSGeo/PROJ/wiki/proj.h-adoption-status
- depends_on('proj@:5', when='@:4.2.6')
- depends_on('proj@6:', when='@4.3:')
- depends_on('boost+exception')
- depends_on('expat')
+ depends_on("proj@:5", when="@:4.2.6")
+ depends_on("proj@6:", when="@4.3:")
+ depends_on("boost+exception")
+ depends_on("expat")
# Magics (at least up to version 2.34.3) should directly and
# unconditionally depend on zlib, which is not reflected neither in the
@@ -84,103 +90,102 @@ class Magics(CMakePackage):
# that files that make calls to png library get compiled and linked
# unconditionally, which makes png a non-optional dependency (and
# ENABLE_PNG always has to be set to ON).
- depends_on('zlib')
- depends_on('libpng')
+ depends_on("zlib")
+ depends_on("libpng")
# GRIB support is non-optional, regardless of what the instruction says.
- depends_on('eccodes', when='grib=eccodes')
- depends_on('grib-api', when='grib=grib-api')
+ depends_on("eccodes", when="grib=eccodes")
+ depends_on("grib-api", when="grib=grib-api")
# Even if netcdf is disabled and -DENABLE_NETCDF=OFF is set, building
# magics still requires legacy netcdf-cxx
- depends_on('netcdf-cxx', when='@4.1.0:4.3.1')
+ depends_on("netcdf-cxx", when="@4.1.0:4.3.1")
# Optional dependencies
- depends_on('netcdf-cxx', when='+netcdf')
- depends_on('pango', when='+cairo')
- depends_on('libemos grib=eccodes', when='+bufr grib=eccodes')
- depends_on('libemos grib=grib-api', when='+bufr grib=grib-api')
- depends_on('qt', when='+metview+qt')
+ depends_on("netcdf-cxx", when="+netcdf")
+ depends_on("pango", when="+cairo")
+ depends_on("libemos grib=eccodes", when="+bufr grib=eccodes")
+ depends_on("libemos grib=grib-api", when="+bufr grib=grib-api")
+ depends_on("qt", when="+metview+qt")
- extends('python', when='+python')
+ extends("python", when="+python")
# Python 2 is required for running the building scripts. Since we can't
# have two different versions of Python at the same time, we haven't even
# tested if the Python interface supports Python 3.
- depends_on('python', when='+python', type=('link', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('swig', when='+python', type='build')
+ depends_on("python", when="+python", type=("link", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("swig", when="+python", type="build")
# Versions @4: supports python 2.7 and 3.x, and require python
# and py-jinja2 for build (even though does not build python interface)
- depends_on('python', when='@4.0.0:', type=('build'))
- depends_on('py-jinja2', when='@4.0.0:', type=('build'))
-
- conflicts('grib=eccodes', when='@:2.29.0',
- msg='Eccodes is supported starting version 2.29.1')
- conflicts('+python', when='@:2.28',
- msg='Python interface is supported starting version 2.29.0')
- conflicts('+python', when='@4:',
- msg='Python interface is separate from the library '
- 'starting with 4.0.0')
+ depends_on("python", when="@4.0.0:", type=("build"))
+ depends_on("py-jinja2", when="@4.0.0:", type=("build"))
+
+ conflicts("grib=eccodes", when="@:2.29.0", msg="Eccodes is supported starting version 2.29.1")
+ conflicts(
+ "+python", when="@:2.28", msg="Python interface is supported starting version 2.29.0"
+ )
+ conflicts(
+ "+python",
+ when="@4:",
+ msg="Python interface is separate from the library " "starting with 4.0.0",
+ )
# Replace system python and perl by spack versions:
def patch(self):
- for plfile in glob.glob('*/*.pl'):
- filter_file('#!/usr/bin/perl', '#!/usr/bin/env perl', plfile)
- for pyfile in glob.glob('*/*.py'):
- filter_file('#!/usr/bin/python',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(
- self.spec['python'].command.path)),
- pyfile)
- filter_file('HAVE_GRIB', 'SKIP_REQUIRED_FILE_WASREMOVED', 'test/CMakeLists.txt')
+ for plfile in glob.glob("*/*.pl"):
+ filter_file("#!/usr/bin/perl", "#!/usr/bin/env perl", plfile)
+ for pyfile in glob.glob("*/*.py"):
+ filter_file(
+ "#!/usr/bin/python",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ pyfile,
+ )
+ filter_file("HAVE_GRIB", "SKIP_REQUIRED_FILE_WASREMOVED", "test/CMakeLists.txt")
def cmake_args(self):
- args = [
- '-DENABLE_ODB=OFF',
- '-DENABLE_SPOT=OFF'
- ]
+ args = ["-DENABLE_ODB=OFF", "-DENABLE_SPOT=OFF"]
- if self.spec.variants['grib'].value == 'eccodes':
- args.append('-DENABLE_ECCODES=ON')
+ if self.spec.variants["grib"].value == "eccodes":
+ args.append("-DENABLE_ECCODES=ON")
else:
- if self.spec.satisfies('@2.29.1:'):
- args.append('-DENABLE_ECCODES=OFF')
+ if self.spec.satisfies("@2.29.1:"):
+ args.append("-DENABLE_ECCODES=OFF")
# magics@4.2.4:4.3.1 cannot be built without netcdf
- if '+netcdf' in self.spec or self.spec.satisfies('@4.1.0:4.3.1'):
- args.append('-DENABLE_NETCDF=ON')
+ if "+netcdf" in self.spec or self.spec.satisfies("@4.1.0:4.3.1"):
+ args.append("-DENABLE_NETCDF=ON")
else:
- args.append('-DENABLE_NETCDF=OFF')
+ args.append("-DENABLE_NETCDF=OFF")
- if '+cairo' in self.spec:
- args.append('-DENABLE_CAIRO=ON')
+ if "+cairo" in self.spec:
+ args.append("-DENABLE_CAIRO=ON")
else:
- args.append('-DENABLE_CAIRO=OFF')
+ args.append("-DENABLE_CAIRO=OFF")
- if '+python' in self.spec:
- args.append('-DENABLE_PYTHON=ON')
+ if "+python" in self.spec:
+ args.append("-DENABLE_PYTHON=ON")
else:
- if self.spec.satisfies('@2.29.0:'):
- args.append('-DENABLE_PYTHON=OFF')
+ if self.spec.satisfies("@2.29.0:"):
+ args.append("-DENABLE_PYTHON=OFF")
- if '+fortran' in self.spec:
- args.append('-DENABLE_FORTRAN=ON')
+ if "+fortran" in self.spec:
+ args.append("-DENABLE_FORTRAN=ON")
else:
- args.append('-DENABLE_FORTRAN=OFF')
+ args.append("-DENABLE_FORTRAN=OFF")
- if '+bufr' in self.spec:
- args.append('-DENABLE_BUFR=ON')
+ if "+bufr" in self.spec:
+ args.append("-DENABLE_BUFR=ON")
else:
- args.append('-DENABLE_BUFR=OFF')
+ args.append("-DENABLE_BUFR=OFF")
- if '+metview' in self.spec:
- if '+qt' in self.spec:
- args.append('-DENABLE_METVIEW=ON')
- if self.spec['qt'].satisfies('@5:'):
- args.append('-DENABLE_QT5=ON')
+ if "+metview" in self.spec:
+ if "+qt" in self.spec:
+ args.append("-DENABLE_METVIEW=ON")
+ if self.spec["qt"].satisfies("@5:"):
+ args.append("-DENABLE_QT5=ON")
else:
- args.append('-DENABLE_METVIEW_NO_QT=ON')
+ args.append("-DENABLE_METVIEW_NO_QT=ON")
else:
- args.append('-DENABLE_METVIEW=OFF')
+ args.append("-DENABLE_METVIEW=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py
index e8f901fd89..870a6d6d50 100644
--- a/var/spack/repos/builtin/packages/magma/package.py
+++ b/var/spack/repos/builtin/packages/magma/package.py
@@ -9,168 +9,165 @@ from spack.package import *
class Magma(CMakePackage, CudaPackage, ROCmPackage):
"""The MAGMA project aims to develop a dense linear algebra library similar
- to LAPACK but for heterogeneous/hybrid architectures, starting with
- current "Multicore+GPU" systems.
+ to LAPACK but for heterogeneous/hybrid architectures, starting with
+ current "Multicore+GPU" systems.
"""
homepage = "https://icl.cs.utk.edu/magma/"
- git = 'https://bitbucket.org/icl/magma'
+ git = "https://bitbucket.org/icl/magma"
url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-2.2.0.tar.gz"
- maintainers = ['stomov', 'luszczek', 'G-Ragghianti']
+ maintainers = ["stomov", "luszczek", "G-Ragghianti"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('master', branch='master')
- version('2.6.2', sha256='75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71', preferred=True)
- version('2.6.1', sha256='6cd83808c6e8bc7a44028e05112b3ab4e579bcc73202ed14733f66661127e213')
- version('2.6.0', sha256='50cdd384f44f06a34469e7125f8b2ffae13c1975d373c3f1510d91be2b7638ec')
- version('2.5.4', sha256='7734fb417ae0c367b418dea15096aef2e278a423e527c615aab47f0683683b67')
- version('2.5.3', sha256='c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6')
- version('2.5.2', sha256='065feb85558f9dd6f4cc4db36ac633a3f787827fc832d0b578a049a43a195620')
- version('2.5.1', sha256='ce32c199131515336b30c92a907effe0c441ebc5c5bdb255e4b06b2508de109f')
- version('2.5.0', sha256='4fd45c7e46bd9d9124253e7838bbfb9e6003c64c2c67ffcff02e6c36d2bcfa33')
- version('2.4.0', sha256='4eb839b1295405fd29c8a6f5b4ed578476010bf976af46573f80d1169f1f9a4f')
- version('2.3.0', sha256='010a4a057d7aa1e57b9426bffc0958f3d06913c9151463737e289e67dd9ea608')
- version('2.2.0', sha256='df5d4ace417e5bf52694eae0d91490c6bde4cde1b0da98e8d400c5c3a70d83a2')
-
- variant('fortran', default=True,
- description='Enable Fortran bindings support')
- variant('shared', default=True,
- description='Enable shared library')
- variant('cuda', default=True, description='Build with CUDA')
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('cuda@8:', when='@2.5.1: +cuda') # See PR #14471
- depends_on('hipblas', when='+rocm')
- depends_on('hipsparse', when='+rocm')
-
- conflicts('~cuda', when='~rocm', msg='Either CUDA or HIP support must be enabled')
- conflicts('+rocm', when='+cuda', msg='CUDA must be disabled to support HIP (ROCm)')
- conflicts('+rocm', when='@:2.5.4', msg='HIP support starts in version 2.6.0')
- conflicts('cuda_arch=none', when='+cuda',
- msg='Please indicate a CUDA arch value or values')
+ version("master", branch="master")
+ version(
+ "2.6.2",
+ sha256="75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71",
+ preferred=True,
+ )
+ version("2.6.1", sha256="6cd83808c6e8bc7a44028e05112b3ab4e579bcc73202ed14733f66661127e213")
+ version("2.6.0", sha256="50cdd384f44f06a34469e7125f8b2ffae13c1975d373c3f1510d91be2b7638ec")
+ version("2.5.4", sha256="7734fb417ae0c367b418dea15096aef2e278a423e527c615aab47f0683683b67")
+ version("2.5.3", sha256="c602d269a9f9a3df28f6a4f593be819abb12ed3fa413bba1ff8183de721c5ef6")
+ version("2.5.2", sha256="065feb85558f9dd6f4cc4db36ac633a3f787827fc832d0b578a049a43a195620")
+ version("2.5.1", sha256="ce32c199131515336b30c92a907effe0c441ebc5c5bdb255e4b06b2508de109f")
+ version("2.5.0", sha256="4fd45c7e46bd9d9124253e7838bbfb9e6003c64c2c67ffcff02e6c36d2bcfa33")
+ version("2.4.0", sha256="4eb839b1295405fd29c8a6f5b4ed578476010bf976af46573f80d1169f1f9a4f")
+ version("2.3.0", sha256="010a4a057d7aa1e57b9426bffc0958f3d06913c9151463737e289e67dd9ea608")
+ version("2.2.0", sha256="df5d4ace417e5bf52694eae0d91490c6bde4cde1b0da98e8d400c5c3a70d83a2")
+
+ variant("fortran", default=True, description="Enable Fortran bindings support")
+ variant("shared", default=True, description="Enable shared library")
+ variant("cuda", default=True, description="Build with CUDA")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("cuda@8:", when="@2.5.1: +cuda") # See PR #14471
+ depends_on("hipblas", when="+rocm")
+ depends_on("hipsparse", when="+rocm")
+
+ conflicts("~cuda", when="~rocm", msg="Either CUDA or HIP support must be enabled")
+ conflicts("+rocm", when="+cuda", msg="CUDA must be disabled to support HIP (ROCm)")
+ conflicts("+rocm", when="@:2.5.4", msg="HIP support starts in version 2.6.0")
+ conflicts("cuda_arch=none", when="+cuda", msg="Please indicate a CUDA arch value or values")
# currently not compatible with CUDA-11
# https://bitbucket.org/icl/magma/issues/22/cuda-11-changes-issue
# https://bitbucket.org/icl/magma/issues/25/error-cusparsesolveanalysisinfo_t-does-not
- conflicts('^cuda@11:', when='@:2.5.3')
+ conflicts("^cuda@11:", when="@:2.5.3")
# Many cuda_arch values are not yet recognized by MAGMA's CMakeLists.txt
for target in [10, 11, 12, 13, 21, 32, 52, 53, 61, 62, 72, 86]:
- conflicts('cuda_arch={}'.format(target))
+ conflicts("cuda_arch={}".format(target))
# Some cuda_arch values had support added recently
- conflicts('cuda_arch=37', when='@:2.5')
- conflicts('cuda_arch=60', when='@:2.2')
- conflicts('cuda_arch=70', when='@:2.2')
- conflicts('cuda_arch=75', when='@:2.5.0')
- conflicts('cuda_arch=80', when='@:2.5.3')
-
- patch('ibm-xl.patch', when='@2.2:2.5.0%xl')
- patch('ibm-xl.patch', when='@2.2:2.5.0%xl_r')
- patch('magma-2.3.0-gcc-4.8.patch', when='@2.3.0%gcc@:4.8')
- patch('magma-2.5.0.patch', when='@2.5.0')
- patch('magma-2.5.0-cmake.patch', when='@2.5.0')
- patch('cmake-W.patch', when='@2.5.0:%nvhpc')
-
- @run_before('cmake')
+ conflicts("cuda_arch=37", when="@:2.5")
+ conflicts("cuda_arch=60", when="@:2.2")
+ conflicts("cuda_arch=70", when="@:2.2")
+ conflicts("cuda_arch=75", when="@:2.5.0")
+ conflicts("cuda_arch=80", when="@:2.5.3")
+
+ patch("ibm-xl.patch", when="@2.2:2.5.0%xl")
+ patch("ibm-xl.patch", when="@2.2:2.5.0%xl_r")
+ patch("magma-2.3.0-gcc-4.8.patch", when="@2.3.0%gcc@:4.8")
+ patch("magma-2.5.0.patch", when="@2.5.0")
+ patch("magma-2.5.0-cmake.patch", when="@2.5.0")
+ patch("cmake-W.patch", when="@2.5.0:%nvhpc")
+
+ @run_before("cmake")
def generate_gpu_config(self):
"""If not an official release, a generation step is required to build"""
spec = self.spec
# 2.6.2rc1 is not an official release
- should_generate = ('@master' in spec) or ('@2.6.2rc1' in spec)
+ should_generate = ("@master" in spec) or ("@2.6.2rc1" in spec)
if not should_generate:
return
- backend = 'cuda' if '+cuda' in spec else 'hip'
+ backend = "cuda" if "+cuda" in spec else "hip"
- gpu_target = ''
- if '+cuda' in spec:
- cuda_archs = spec.variants['cuda_arch'].value
- gpu_target = ' '.join('sm_{0}'.format(i) for i in cuda_archs)
+ gpu_target = ""
+ if "+cuda" in spec:
+ cuda_archs = spec.variants["cuda_arch"].value
+ gpu_target = " ".join("sm_{0}".format(i) for i in cuda_archs)
else:
- gpu_target = spec.variants['amdgpu_target'].value
+ gpu_target = spec.variants["amdgpu_target"].value
- with open('make.inc', 'w') as inc:
- inc.write('FORT = true\n')
- inc.write('GPU_TARGET = {0}\n'.format(gpu_target))
- inc.write('BACKEND = {0}\n'.format(backend))
+ with open("make.inc", "w") as inc:
+ inc.write("FORT = true\n")
+ inc.write("GPU_TARGET = {0}\n".format(gpu_target))
+ inc.write("BACKEND = {0}\n".format(backend))
- make('generate')
+ make("generate")
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DCMAKE_INSTALL_PREFIX=%s' % self.prefix,
- '-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix,
- '-DBLAS_LIBRARIES=%s' % spec['blas'].libs.joined(';'),
- # As of MAGMA v2.3.0, CMakeLists.txt does not use the variable
- # BLAS_LIBRARIES, but only LAPACK_LIBRARIES, so we need to
- # explicitly add blas to LAPACK_LIBRARIES.
- '-DLAPACK_LIBRARIES=%s' %
- (spec['lapack'].libs + spec['blas'].libs).joined(';')
- ])
-
- options += ['-DBUILD_SHARED_LIBS=%s' %
- ('ON' if ('+shared' in spec) else 'OFF')]
-
- if spec.satisfies('%cce'):
- options += ['-DCUDA_NVCC_FLAGS=-allow-unsupported-compiler']
-
- if '+fortran' in spec:
- options.extend([
- '-DUSE_FORTRAN=yes'
- ])
- if spec.satisfies('%xl') or spec.satisfies('%xl_r'):
- options.extend([
- '-DCMAKE_Fortran_COMPILER=%s' % self.compiler.f77
- ])
-
- if spec.satisfies('%cce'):
- options.append('-DCMAKE_Fortran_FLAGS=-ef')
-
- if spec.satisfies('^cuda'):
- cuda_arch = self.spec.variants['cuda_arch'].value
- if '@:2.2.0' in spec:
- capabilities = ' '.join('sm{0}'.format(i) for i in cuda_arch)
- options.extend(['-DGPU_TARGET=' + capabilities])
+ options.extend(
+ [
+ "-DCMAKE_INSTALL_PREFIX=%s" % self.prefix,
+ "-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib" % self.prefix,
+ "-DBLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"),
+ # As of MAGMA v2.3.0, CMakeLists.txt does not use the variable
+ # BLAS_LIBRARIES, but only LAPACK_LIBRARIES, so we need to
+ # explicitly add blas to LAPACK_LIBRARIES.
+ "-DLAPACK_LIBRARIES=%s" % (spec["lapack"].libs + spec["blas"].libs).joined(";"),
+ ]
+ )
+
+ options += ["-DBUILD_SHARED_LIBS=%s" % ("ON" if ("+shared" in spec) else "OFF")]
+
+ if spec.satisfies("%cce"):
+ options += ["-DCUDA_NVCC_FLAGS=-allow-unsupported-compiler"]
+
+ if "+fortran" in spec:
+ options.extend(["-DUSE_FORTRAN=yes"])
+ if spec.satisfies("%xl") or spec.satisfies("%xl_r"):
+ options.extend(["-DCMAKE_Fortran_COMPILER=%s" % self.compiler.f77])
+
+ if spec.satisfies("%cce"):
+ options.append("-DCMAKE_Fortran_FLAGS=-ef")
+
+ if spec.satisfies("^cuda"):
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ if "@:2.2.0" in spec:
+ capabilities = " ".join("sm{0}".format(i) for i in cuda_arch)
+ options.extend(["-DGPU_TARGET=" + capabilities])
else:
- capabilities = ' '.join('sm_{0}'.format(i) for i in cuda_arch)
- options.extend(['-DGPU_TARGET=' + capabilities])
+ capabilities = " ".join("sm_{0}".format(i) for i in cuda_arch)
+ options.extend(["-DGPU_TARGET=" + capabilities])
- if '@2.5.0' in spec:
- options.extend(['-DMAGMA_SPARSE=OFF'])
- if spec.compiler.name in ['xl', 'xl_r']:
- options.extend(['-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=TRUE'])
+ if "@2.5.0" in spec:
+ options.extend(["-DMAGMA_SPARSE=OFF"])
+ if spec.compiler.name in ["xl", "xl_r"]:
+ options.extend(["-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=TRUE"])
- if '+rocm' in spec:
- options.extend(['-DMAGMA_ENABLE_HIP=ON'])
- options.extend(['-DCMAKE_CXX_COMPILER=hipcc'])
+ if "+rocm" in spec:
+ options.extend(["-DMAGMA_ENABLE_HIP=ON"])
+ options.extend(["-DCMAKE_CXX_COMPILER=hipcc"])
# See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322
- if spec.satisfies('^cmake@3.21.0:3.21.2'):
- options.extend(['-D__skip_rocmclang=ON'])
+ if spec.satisfies("^cmake@3.21.0:3.21.2"):
+ options.extend(["-D__skip_rocmclang=ON"])
else:
- options.extend(['-DMAGMA_ENABLE_CUDA=ON'])
+ options.extend(["-DMAGMA_ENABLE_CUDA=ON"])
return options
- @run_after('install')
+ @run_after("install")
def post_install(self):
- install('magmablas/atomics.cuh', self.prefix.include)
- install('control/magma_threadsetting.h', self.prefix.include)
- install('control/pthread_barrier.h', self.prefix.include)
- install('control/magma_internal.h', self.prefix.include)
+ install("magmablas/atomics.cuh", self.prefix.include)
+ install("control/magma_threadsetting.h", self.prefix.include)
+ install("control/pthread_barrier.h", self.prefix.include)
+ install("control/magma_internal.h", self.prefix.include)
- test_src_dir = 'example'
+ test_src_dir = "example"
- @run_after('install')
+ @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`."""
@@ -179,19 +176,16 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage):
def test(self):
test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir)
with working_dir(test_dir, create=False):
- pkg_config_path = '{0}/lib/pkgconfig'.format(self.prefix)
+ pkg_config_path = "{0}/lib/pkgconfig".format(self.prefix)
with spack.util.environment.set_env(PKG_CONFIG_PATH=pkg_config_path):
- make('c')
- self.run_test('./example_sparse',
- purpose='MAGMA smoke test - sparse solver')
- self.run_test('./example_sparse_operator',
- purpose='MAGMA smoke test - sparse operator')
- self.run_test('./example_v1',
- purpose='MAGMA smoke test - legacy v1 interface')
- self.run_test('./example_v2',
- purpose='MAGMA smoke test - v2 interface')
- if '+fortran' in self.spec:
- make('fortran')
- self.run_test('./example_f',
- purpose='MAGMA smoke test - Fortran interface')
- make('clean')
+ make("c")
+ self.run_test("./example_sparse", purpose="MAGMA smoke test - sparse solver")
+ self.run_test(
+ "./example_sparse_operator", purpose="MAGMA smoke test - sparse operator"
+ )
+ self.run_test("./example_v1", purpose="MAGMA smoke test - legacy v1 interface")
+ self.run_test("./example_v2", purpose="MAGMA smoke test - v2 interface")
+ if "+fortran" in self.spec:
+ make("fortran")
+ self.run_test("./example_f", purpose="MAGMA smoke test - Fortran interface")
+ make("clean")
diff --git a/var/spack/repos/builtin/packages/mahout/package.py b/var/spack/repos/builtin/packages/mahout/package.py
index 8ea2bd933d..4464067d11 100644
--- a/var/spack/repos/builtin/packages/mahout/package.py
+++ b/var/spack/repos/builtin/packages/mahout/package.py
@@ -12,14 +12,14 @@ class Mahout(MavenPackage):
quickly creating scalable performant machine learning applications."""
homepage = "https://mahout.apache.org/"
- url = "https://archive.apache.org/dist/mahout/0.13.0/apache-mahout-distribution-0.13.0-src.tar.gz"
+ url = "https://archive.apache.org/dist/mahout/0.13.0/apache-mahout-distribution-0.13.0-src.tar.gz"
list_url = "https://archive.apache.org/dist/mahout"
list_depth = 1
- version('0.13.0', sha256='bbe5a584fa83eb4ea3e0c146256e3e913c225426434759458d1423508da7c519')
- version('0.12.2', sha256='cac9a3fd4f11b2cb850b86d1bd23aec90e960cfae91850c49056c2eaae71afba')
- version('0.12.1', sha256='32e334115e4b2bfa21ba58e888fc47cdde2ca32c915d1694ed6761bda3b05dbb')
- version('0.12.0', sha256='65f340072131b1178b7bf4da115782254bdb20d6abd9789f10fc6dfe1ea7e7ad')
+ version("0.13.0", sha256="bbe5a584fa83eb4ea3e0c146256e3e913c225426434759458d1423508da7c519")
+ version("0.12.2", sha256="cac9a3fd4f11b2cb850b86d1bd23aec90e960cfae91850c49056c2eaae71afba")
+ version("0.12.1", sha256="32e334115e4b2bfa21ba58e888fc47cdde2ca32c915d1694ed6761bda3b05dbb")
+ version("0.12.0", sha256="65f340072131b1178b7bf4da115782254bdb20d6abd9789f10fc6dfe1ea7e7ad")
- depends_on('java@8:', type=('build', 'run'))
- depends_on('maven@3.3.3:', type='build')
+ depends_on("java@8:", type=("build", "run"))
+ depends_on("maven@3.3.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/makedepend/package.py b/var/spack/repos/builtin/packages/makedepend/package.py
index 051b62dc3b..640fa1ba4e 100644
--- a/var/spack/repos/builtin/packages/makedepend/package.py
+++ b/var/spack/repos/builtin/packages/makedepend/package.py
@@ -12,7 +12,7 @@ class Makedepend(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/util/makedepend"
xorg_mirror_path = "util/makedepend-1.0.5.tar.gz"
- version('1.0.5', sha256='503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004')
+ version("1.0.5", sha256="503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/maker/package.py b/var/spack/repos/builtin/packages/maker/package.py
index db36d34f93..c79aa0e9c1 100644
--- a/var/spack/repos/builtin/packages/maker/package.py
+++ b/var/spack/repos/builtin/packages/maker/package.py
@@ -34,62 +34,67 @@ class Maker(Package):
homepage = "https://www.yandell-lab.org/software/maker.html"
manual_download = True
- version('3.01.03', sha256='d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d')
- version('2.31.10', sha256='d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d')
+ version("3.01.03", sha256="d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d")
+ version("2.31.10", sha256="d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d")
def url_for_version(self, version):
return "file://{0}/maker-{1}.tgz".format(os.getcwd(), version)
- variant('mpi', default=True, description='Build with MPI support')
-
- patch('install.patch')
- patch('mpi.patch')
- patch('MpiChunk.patch')
-
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-module-build', type='build')
- depends_on('perl-dbi', type=('build', 'run'))
- depends_on('perl-dbd-mysql', type=('build', 'run'))
- depends_on('perl-dbd-pg', type=('build', 'run'))
- depends_on('perl-dbd-sqlite', type=('build', 'run'))
- depends_on('perl-forks', type=('build', 'run'))
- depends_on('perl-file-which', type=('build', 'run'))
- depends_on('perl-perl-unsafe-signals', type=('build', 'run'))
- depends_on('perl-bit-vector', type=('build', 'run'))
- depends_on('perl-inline-c', type=('build', 'run'))
- depends_on('perl-io-all', type=('build', 'run'))
- depends_on('perl-io-prompt', type=('build', 'run'))
- depends_on('perl-bioperl', type=('build', 'run'))
- depends_on('blast-plus')
- depends_on('snap-korf')
- depends_on('repeatmasker')
- depends_on('exonerate')
- depends_on('augustus')
- depends_on('interproscan@:4.8')
- depends_on('mpi', when='+mpi')
+ variant("mpi", default=True, description="Build with MPI support")
+
+ patch("install.patch")
+ patch("mpi.patch")
+ patch("MpiChunk.patch")
+
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-dbi", type=("build", "run"))
+ depends_on("perl-dbd-mysql", type=("build", "run"))
+ depends_on("perl-dbd-pg", type=("build", "run"))
+ depends_on("perl-dbd-sqlite", type=("build", "run"))
+ depends_on("perl-forks", type=("build", "run"))
+ depends_on("perl-file-which", type=("build", "run"))
+ depends_on("perl-perl-unsafe-signals", type=("build", "run"))
+ depends_on("perl-bit-vector", type=("build", "run"))
+ depends_on("perl-inline-c", type=("build", "run"))
+ depends_on("perl-io-all", type=("build", "run"))
+ depends_on("perl-io-prompt", type=("build", "run"))
+ depends_on("perl-bioperl", type=("build", "run"))
+ depends_on("blast-plus")
+ depends_on("snap-korf")
+ depends_on("repeatmasker")
+ depends_on("exonerate")
+ depends_on("augustus")
+ depends_on("interproscan@:4.8")
+ depends_on("mpi", when="+mpi")
def install(self, spec, prefix):
- if '+mpi' in spec:
- with working_dir('src'):
- pattern = r'my \$go = 0;'
- repl = 'my $go = 1;'
- filter_file(pattern, repl, 'Build.PL', backup=False)
+ if "+mpi" in spec:
+ with working_dir("src"):
+ pattern = r"my \$go = 0;"
+ repl = "my $go = 1;"
+ filter_file(pattern, repl, "Build.PL", backup=False)
- perl = which('perl')
- rm = which('rm')
- with working_dir('src'):
- perl('Build.PL', '--install_base', prefix)
- perl('Build', 'install')
+ perl = which("perl")
+ rm = which("rm")
+ with working_dir("src"):
+ perl("Build.PL", "--install_base", prefix)
+ perl("Build", "install")
- install_tree('lib', join_path(prefix, 'perl', 'lib'))
+ install_tree("lib", join_path(prefix, "perl", "lib"))
# Remove scripts that do not work. The 'mpi_evaluator' and
# 'mpi_iprscan' scripts depend on a custom perl module that is not
# shipped with maker. The 'maker2chado' script depends on setting up a
# CHADO database which is out of scope here.
- for package in ('maker2chado', 'maker2jbrowse', 'maker2wap',
- 'mpi_evaluator', 'mpi_iprscan'):
- rm('-f', join_path(prefix.bin, package))
+ for package in (
+ "maker2chado",
+ "maker2jbrowse",
+ "maker2wap",
+ "mpi_evaluator",
+ "mpi_iprscan",
+ ):
+ rm("-f", join_path(prefix.bin, package))
# Remove old IO::Prompt perl module
- rm('-r', '-f', join_path(prefix, 'perl', 'lib', 'IO'))
+ rm("-r", "-f", join_path(prefix, "perl", "lib", "IO"))
diff --git a/var/spack/repos/builtin/packages/mallocmc/package.py b/var/spack/repos/builtin/packages/mallocmc/package.py
index a6b87bdff0..33da7411d0 100644
--- a/var/spack/repos/builtin/packages/mallocmc/package.py
+++ b/var/spack/repos/builtin/packages/mallocmc/package.py
@@ -20,24 +20,24 @@ class Mallocmc(CMakePackage):
"""
homepage = "https://github.com/ComputationalRadiationPhysics/mallocMC"
- url = "https://github.com/ComputationalRadiationPhysics/mallocMC/archive/2.2.0crp.tar.gz"
- git = "https://github.com/ComputationalRadiationPhysics/mallocMC.git"
+ url = "https://github.com/ComputationalRadiationPhysics/mallocMC/archive/2.2.0crp.tar.gz"
+ git = "https://github.com/ComputationalRadiationPhysics/mallocMC.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='dev')
- version('master', branch='master')
- version('2.2.0crp', sha256='1b500ee7fcea45a67a81fc0e1c294b4b0c413cd1f76168522f35ade7d44be9b6')
- version('2.1.0crp', sha256='973c606624cf4e049518d0366d72fb164fa837ab0068c7a44df7e567b95ef9bf')
- version('2.0.1crp', sha256='85873355814be22310e22e214e4d8e9798aaab9001c19da8ec9dd29c04603e9e')
- version('2.0.0crp', sha256='1a6b5b4f9a890d4389703cb853868cc31a97457bfea3b62d6b3ae31e56d7bbd9')
- version('1.0.2crp', sha256='696c5bb7e90a75937a2479c40e7cfddcc876f8fc634dca04b61d132ab1243f12')
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("2.2.0crp", sha256="1b500ee7fcea45a67a81fc0e1c294b4b0c413cd1f76168522f35ade7d44be9b6")
+ version("2.1.0crp", sha256="973c606624cf4e049518d0366d72fb164fa837ab0068c7a44df7e567b95ef9bf")
+ version("2.0.1crp", sha256="85873355814be22310e22e214e4d8e9798aaab9001c19da8ec9dd29c04603e9e")
+ version("2.0.0crp", sha256="1a6b5b4f9a890d4389703cb853868cc31a97457bfea3b62d6b3ae31e56d7bbd9")
+ version("1.0.2crp", sha256="696c5bb7e90a75937a2479c40e7cfddcc876f8fc634dca04b61d132ab1243f12")
- depends_on('cmake@2.8.12.2:', type='build')
- depends_on('boost@1.48.0:', type='link')
+ depends_on("cmake@2.8.12.2:", type="build")
+ depends_on("boost@1.48.0:", type="link")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='link')
- depends_on('cuda@5.0:', type='link')
+ depends_on(Boost.with_default_variants, type="link")
+ depends_on("cuda@5.0:", type="link")
diff --git a/var/spack/repos/builtin/packages/maloc/package.py b/var/spack/repos/builtin/packages/maloc/package.py
index 7dae9463ad..11c777fbbb 100644
--- a/var/spack/repos/builtin/packages/maloc/package.py
+++ b/var/spack/repos/builtin/packages/maloc/package.py
@@ -14,26 +14,26 @@ class Maloc(AutotoolsPackage):
including MC, SG, and APBS."""
homepage = "http://fetk.org/codes/maloc/"
- url = "http://www.fetk.org/codes/download/maloc-1.0.tar.gz"
+ url = "http://www.fetk.org/codes/download/maloc-1.0.tar.gz"
- version('1.5', sha256='58e1197fcd4c74d3cbb1d39d712eb0a3c5886a1e6629f22c5c78ce2bac983fc0')
- version('1.4', sha256='cba0c6730f148bf7ddb77dac07e497655642f43b632256fcebf3192b45af1833')
- version('1.3', sha256='337788ac8f263487aba5b3aa5ef7f33eaac1d3951ad49349078d5ed77482ad2e')
- version('1.2', sha256='e6033195a054bad7527d360e52349a4d1eb876c681a58fa373f42fd1ab26962c')
- version('1.1', sha256='b5dd7923e84f13e7ed43304ed1062de24171c5a7a042a12b0d1e501d6eaedf58')
- version('1.0', sha256='23f3ea3215067fd8f1ba4c407375f387b5f1d11258f29508295e651828d32cb7')
+ version("1.5", sha256="58e1197fcd4c74d3cbb1d39d712eb0a3c5886a1e6629f22c5c78ce2bac983fc0")
+ version("1.4", sha256="cba0c6730f148bf7ddb77dac07e497655642f43b632256fcebf3192b45af1833")
+ version("1.3", sha256="337788ac8f263487aba5b3aa5ef7f33eaac1d3951ad49349078d5ed77482ad2e")
+ version("1.2", sha256="e6033195a054bad7527d360e52349a4d1eb876c681a58fa373f42fd1ab26962c")
+ version("1.1", sha256="b5dd7923e84f13e7ed43304ed1062de24171c5a7a042a12b0d1e501d6eaedf58")
+ version("1.0", sha256="23f3ea3215067fd8f1ba4c407375f387b5f1d11258f29508295e651828d32cb7")
- variant('doc', default=False, description='Build documentation.')
+ variant("doc", default=False, description="Build documentation.")
- depends_on('graphviz', type='build', when='+doc')
- depends_on('doxygen', type='build', when='+doc')
+ depends_on("graphviz", type="build", when="+doc")
+ depends_on("doxygen", type="build", when="+doc")
def configure_args(self):
spec = self.spec
args = []
- if '~doc' in spec:
- args.append('--with-doxygen=no')
- args.append('--with-dot=no')
+ if "~doc" in spec:
+ args.append("--with-doxygen=no")
+ args.append("--with-dot=no")
return args
diff --git a/var/spack/repos/builtin/packages/man-db/package.py b/var/spack/repos/builtin/packages/man-db/package.py
index 8c190f1b55..0c91a6f5fe 100644
--- a/var/spack/repos/builtin/packages/man-db/package.py
+++ b/var/spack/repos/builtin/packages/man-db/package.py
@@ -13,32 +13,32 @@ class ManDb(AutotoolsPackage):
flat-text whatis databases."""
homepage = "https://www.nongnu.org/man-db/"
- git = "https://gitlab.com/cjwatson/man-db"
- url = "https://download.savannah.nongnu.org/releases/man-db/man-db-2.10.1.tar.xz"
-
- version('2.10.2', sha256='ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d')
- version('2.10.1', sha256='2ffd8f2e80122fe72e60c740c851e6a3e15c9a7921185eb4752c1c672824bed6')
- version('2.7.6.1', sha256='08edbc52f24aca3eebac429b5444efd48b9b90b9b84ca0ed5507e5c13ed10f3f')
-
- depends_on('pkgconfig', type='build')
- depends_on('gettext')
- depends_on('libpipeline@1.5.0:', when='@2.8.0:')
- depends_on('libpipeline@1.4.0:', when='@2.7.1:')
- depends_on('libpipeline@1.3.0:', when='@2.6.7:')
- depends_on('libpipeline@1.1.0:', when='@2.6.0:')
- depends_on('flex')
- depends_on('gdbm')
- depends_on('groff', type=('build', 'link', 'run'))
+ git = "https://gitlab.com/cjwatson/man-db"
+ url = "https://download.savannah.nongnu.org/releases/man-db/man-db-2.10.1.tar.xz"
+
+ version("2.10.2", sha256="ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d")
+ version("2.10.1", sha256="2ffd8f2e80122fe72e60c740c851e6a3e15c9a7921185eb4752c1c672824bed6")
+ version("2.7.6.1", sha256="08edbc52f24aca3eebac429b5444efd48b9b90b9b84ca0ed5507e5c13ed10f3f")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("gettext")
+ depends_on("libpipeline@1.5.0:", when="@2.8.0:")
+ depends_on("libpipeline@1.4.0:", when="@2.7.1:")
+ depends_on("libpipeline@1.3.0:", when="@2.6.7:")
+ depends_on("libpipeline@1.1.0:", when="@2.6.0:")
+ depends_on("flex")
+ depends_on("gdbm")
+ depends_on("groff", type=("build", "link", "run"))
# TODO: add gzip support via a new package.
# man pages are typically compressed, include all available
# compression libraries
- depends_on('bzip2', type=('build', 'link', 'run'))
- depends_on('xz', type=('build', 'link', 'run'))
+ depends_on("bzip2", type=("build", "link", "run"))
+ depends_on("xz", type=("build", "link", "run"))
def configure_args(self):
return [
- '--disable-setuid',
- '--without-systemdsystemunitdir',
- '--without-systemdtmpfilesdir'
+ "--disable-setuid",
+ "--without-systemdsystemunitdir",
+ "--without-systemdtmpfilesdir",
]
diff --git a/var/spack/repos/builtin/packages/manta/package.py b/var/spack/repos/builtin/packages/manta/package.py
index a1471211ec..522a9b1f0e 100644
--- a/var/spack/repos/builtin/packages/manta/package.py
+++ b/var/spack/repos/builtin/packages/manta/package.py
@@ -10,17 +10,17 @@ class Manta(CMakePackage):
"""Structural variant and indel caller for mapped sequencing data"""
homepage = "https://github.com/Illumina/manta"
- url = "https://github.com/Illumina/manta/releases/download/v1.3.2/manta-1.3.2.release_src.tar.bz2"
+ url = "https://github.com/Illumina/manta/releases/download/v1.3.2/manta-1.3.2.release_src.tar.bz2"
- version('1.6.0', sha256='c846d61b02483265c09d58bd85dacf5326a94f38179b5ae4f70694be96e1368f')
- version('1.5.0', sha256='9aa1a59c9cb8d2dd33724a42959c9398aff7840c5bf3c895d2483a8093b3d2dc')
- version('1.4.0', sha256='4f8f827485e3ad9a12318bfcbf62fa622263378767514eb938bc02ad5ad74f10')
- version('1.3.2', sha256='eb346d1a44aff1180732dcd03864b89efc1245652e1993107fb60da4ad739f79')
- version('1.3.1', sha256='9ba943623088e552a4b45bccea48125a0553905f4cc7ea86a9de567e155a5888')
- version('1.3.0', sha256='3db4b5475c33e3aeeb5435969c74364af9d2d77dd3bcf8dc70bf44a851e450dd')
+ version("1.6.0", sha256="c846d61b02483265c09d58bd85dacf5326a94f38179b5ae4f70694be96e1368f")
+ version("1.5.0", sha256="9aa1a59c9cb8d2dd33724a42959c9398aff7840c5bf3c895d2483a8093b3d2dc")
+ version("1.4.0", sha256="4f8f827485e3ad9a12318bfcbf62fa622263378767514eb938bc02ad5ad74f10")
+ version("1.3.2", sha256="eb346d1a44aff1180732dcd03864b89efc1245652e1993107fb60da4ad739f79")
+ version("1.3.1", sha256="9ba943623088e552a4b45bccea48125a0553905f4cc7ea86a9de567e155a5888")
+ version("1.3.0", sha256="3db4b5475c33e3aeeb5435969c74364af9d2d77dd3bcf8dc70bf44a851e450dd")
- depends_on('cmake@2.8.12:', type='build')
- depends_on('python@2.7.0:2.7', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("python@2.7.0:2.7", type=("build", "run"))
+ depends_on("zlib")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/mapnik/package.py b/var/spack/repos/builtin/packages/mapnik/package.py
index 25d69f4e56..055b44724d 100644
--- a/var/spack/repos/builtin/packages/mapnik/package.py
+++ b/var/spack/repos/builtin/packages/mapnik/package.py
@@ -14,46 +14,50 @@ class Mapnik(AutotoolsPackage):
"""
homepage = "https://mapnik.org/"
- url = "https://github.com/mapnik/mapnik/releases/download/v3.0.22/mapnik-v3.0.22.tar.bz2"
+ url = "https://github.com/mapnik/mapnik/releases/download/v3.0.22/mapnik-v3.0.22.tar.bz2"
- version('3.0.23', sha256='4b1352e01f7ce25ab099e586d7ae98e0b74145a3bf94dd365cb0a2bdab3b9dc2')
- version('3.0.22', sha256='930612ad9e604b6a29b9cea1bc1de85cf7cf2b2b8211f57ec8b6b94463128ab9')
+ version("3.0.23", sha256="4b1352e01f7ce25ab099e586d7ae98e0b74145a3bf94dd365cb0a2bdab3b9dc2")
+ version("3.0.22", sha256="930612ad9e604b6a29b9cea1bc1de85cf7cf2b2b8211f57ec8b6b94463128ab9")
- depends_on('python', type=('build', 'run'))
- depends_on('boost@:1.72.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.23')
- depends_on('boost@:1.69.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.22')
+ depends_on("python", type=("build", "run"))
+ depends_on(
+ "boost@:1.72.0 +regex+filesystem+system+icu+program_options cxxstd=11", when="@3.0.23"
+ )
+ depends_on(
+ "boost@:1.69.0 +regex+filesystem+system+icu+program_options cxxstd=11", when="@3.0.22"
+ )
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('icu4c')
- depends_on('zlib')
- depends_on('freetype')
- depends_on('libxml2')
- depends_on('harfbuzz')
- depends_on('libpng')
- depends_on('libjpeg')
- depends_on('libtiff')
- depends_on('proj')
- depends_on('cairo+pdf') # +pdf needed for mapnik.printing
- depends_on('postgresql', type=('build', 'link', 'run'))
- depends_on('gdal', type=('build', 'link', 'run'))
- depends_on('sqlite+rtree', type=('build', 'link', 'run'))
- depends_on('libwebp')
+ depends_on("icu4c")
+ depends_on("zlib")
+ depends_on("freetype")
+ depends_on("libxml2")
+ depends_on("harfbuzz")
+ depends_on("libpng")
+ depends_on("libjpeg")
+ depends_on("libtiff")
+ depends_on("proj")
+ depends_on("cairo+pdf") # +pdf needed for mapnik.printing
+ depends_on("postgresql", type=("build", "link", "run"))
+ depends_on("gdal", type=("build", "link", "run"))
+ depends_on("sqlite+rtree", type=("build", "link", "run"))
+ depends_on("libwebp")
def setup_build_environment(self, env):
spec = self.spec
- env.set('GDAL_DATA', spec['gdal'].prefix.share.gdal)
+ env.set("GDAL_DATA", spec["gdal"].prefix.share.gdal)
def configure_args(self):
return [
'CXXFLAGS="-std=c++11"',
- 'PREFIX=' + self.prefix,
- 'BOOST_INCLUDES=' + self.spec['boost'].prefix.include,
- 'BOOST_LIBS=' + self.spec['boost'].prefix.lib.directories[0],
- 'PROJ_INCLUDES=' + self.spec['proj'].prefix.include,
- 'PROJ_LIBS=' + self.spec['proj'].prefix.lib.directories[0],
- 'CAIRO_INCLUDES=' + self.spec['cairo'].prefix.include,
- 'CAIRO_LIBS=' + self.spec['cairo'].prefix.lib.directories[0],
+ "PREFIX=" + self.prefix,
+ "BOOST_INCLUDES=" + self.spec["boost"].prefix.include,
+ "BOOST_LIBS=" + self.spec["boost"].prefix.lib.directories[0],
+ "PROJ_INCLUDES=" + self.spec["proj"].prefix.include,
+ "PROJ_LIBS=" + self.spec["proj"].prefix.lib.directories[0],
+ "CAIRO_INCLUDES=" + self.spec["cairo"].prefix.include,
+ "CAIRO_LIBS=" + self.spec["cairo"].prefix.lib.directories[0],
]
diff --git a/var/spack/repos/builtin/packages/mapserver/package.py b/var/spack/repos/builtin/packages/mapserver/package.py
index 2427ad86c1..81cead7610 100644
--- a/var/spack/repos/builtin/packages/mapserver/package.py
+++ b/var/spack/repos/builtin/packages/mapserver/package.py
@@ -10,96 +10,96 @@ from spack.package import *
class Mapserver(CMakePackage):
"""MapServer is an Open Source geographic data rendering engine written
- in C. Beyond browsing GIS data, MapServer allows you create
- "geographic image maps", that is, maps that can direct users
- to content"""
+ in C. Beyond browsing GIS data, MapServer allows you create
+ "geographic image maps", that is, maps that can direct users
+ to content"""
homepage = "https://www.mapserver.org/"
- url = "https://download.osgeo.org/mapserver/mapserver-7.2.1.tar.gz"
-
- version('7.2.1', sha256='9459a7057d5a85be66a41096a5d804f74665381186c37077c94b56e784db6102')
-
- variant('python', default=False, description='Enable Python mapscript support')
- variant('curl', default=False, description='Enable Curl HTTP support (required for wms/wfs client, and remote SLD)')
- variant('ruby', default=False, description='Enable Ruby mapscript support')
- variant('java', default=False, description='Enable Java mapscript support')
- variant('perl', default=False, description='Enable Perl mapscript support')
-
- depends_on('libpng')
- depends_on('freetype')
- depends_on('jpeg')
- depends_on('zlib')
- depends_on('proj')
- depends_on('proj@:5', when='@:7.3')
- depends_on('proj@6:', when='@7.4:')
- depends_on('curl', when='+curl')
- depends_on('geos')
- depends_on('libxml2')
- depends_on('giflib')
- depends_on('gdal')
- depends_on('swig', type='build')
- depends_on('python', when='+python')
- depends_on('postgresql')
- depends_on('ruby', when='+ruby')
- depends_on('java', when='+java')
- depends_on('perl', when='+perl')
-
- extends('python', when='+python')
-
- @when('+python')
+ url = "https://download.osgeo.org/mapserver/mapserver-7.2.1.tar.gz"
+
+ version("7.2.1", sha256="9459a7057d5a85be66a41096a5d804f74665381186c37077c94b56e784db6102")
+
+ variant("python", default=False, description="Enable Python mapscript support")
+ variant(
+ "curl",
+ default=False,
+ description="Enable Curl HTTP support (required for wms/wfs client, and remote SLD)",
+ )
+ variant("ruby", default=False, description="Enable Ruby mapscript support")
+ variant("java", default=False, description="Enable Java mapscript support")
+ variant("perl", default=False, description="Enable Perl mapscript support")
+
+ depends_on("libpng")
+ depends_on("freetype")
+ depends_on("jpeg")
+ depends_on("zlib")
+ depends_on("proj")
+ depends_on("proj@:5", when="@:7.3")
+ depends_on("proj@6:", when="@7.4:")
+ depends_on("curl", when="+curl")
+ depends_on("geos")
+ depends_on("libxml2")
+ depends_on("giflib")
+ depends_on("gdal")
+ depends_on("swig", type="build")
+ depends_on("python", when="+python")
+ depends_on("postgresql")
+ depends_on("ruby", when="+ruby")
+ depends_on("java", when="+java")
+ depends_on("perl", when="+perl")
+
+ extends("python", when="+python")
+
+ @when("+python")
def patch(self):
# The Python bindings install themselves into the main python
# site-packages directory, instead of under the current package
# prefix. This hack patches the CMakeLists.txt for the Python
# bindings and hard-wires in the right destination. A bit ugly,
# sorry, but I don't speak cmake.
- pyversiondir = "python{0}".format(self.spec['python'].version.up_to(2))
- sitepackages = os.path.join(self.spec.prefix.lib,
- pyversiondir,
- "site-packages")
- filter_file(r'\${PYTHON_SITE_PACKAGES}',
- sitepackages,
- 'mapscript/python/CMakeLists.txt')
+ pyversiondir = "python{0}".format(self.spec["python"].version.up_to(2))
+ sitepackages = os.path.join(self.spec.prefix.lib, pyversiondir, "site-packages")
+ filter_file(r"\${PYTHON_SITE_PACKAGES}", sitepackages, "mapscript/python/CMakeLists.txt")
def cmake_args(self):
args = []
- if '+python' in self.spec:
- args.append('-DWITH_PYTHON=ON')
+ if "+python" in self.spec:
+ args.append("-DWITH_PYTHON=ON")
else:
- args.append('-DWITH_PYTHON=OFF')
+ args.append("-DWITH_PYTHON=OFF")
- if '+java' in self.spec:
- args.append('-DWITH_JAVA=ON')
+ if "+java" in self.spec:
+ args.append("-DWITH_JAVA=ON")
else:
- args.append('-DWITH_JAVA=OFF')
+ args.append("-DWITH_JAVA=OFF")
- if '+ruby' in self.spec:
- args.append('-DWITH_RUBY=ON')
+ if "+ruby" in self.spec:
+ args.append("-DWITH_RUBY=ON")
else:
- args.append('-DWITH_RUBY=OFF')
+ args.append("-DWITH_RUBY=OFF")
- if '+perl' in self.spec:
- args.append('-DWITH_PERL=ON')
+ if "+perl" in self.spec:
+ args.append("-DWITH_PERL=ON")
else:
- args.append('-DWITH_PERL=OFF')
+ args.append("-DWITH_PERL=OFF")
- if '+curl' in self.spec:
- args.append('-DWITH_CURL=ON')
+ if "+curl" in self.spec:
+ args.append("-DWITH_CURL=ON")
else:
- args.append('-DWITH_CURL=OFF')
+ args.append("-DWITH_CURL=OFF")
# These things are switched on by default, although possibly some
# should be variants.
- args.append('-DWITH_WCS=ON')
- args.append('-DWITH_WFS=ON')
- args.append('-DWITH_WMS=ON')
+ args.append("-DWITH_WCS=ON")
+ args.append("-DWITH_WFS=ON")
+ args.append("-DWITH_WMS=ON")
# These things are switched of until someone bothers to make them work
- args.append('-DWITH_FRIBIDI=OFF')
- args.append('-DWITH_HARFBUZZ=OFF')
- args.append('-DWITH_CAIRO=OFF')
- args.append('-DWITH_FCGI=OFF')
- args.append('-DWITH_PROTOBUFC=OFF')
+ args.append("-DWITH_FRIBIDI=OFF")
+ args.append("-DWITH_HARFBUZZ=OFF")
+ args.append("-DWITH_CAIRO=OFF")
+ args.append("-DWITH_FCGI=OFF")
+ args.append("-DWITH_PROTOBUFC=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/mapsplice2/package.py b/var/spack/repos/builtin/packages/mapsplice2/package.py
index f5e250c5f8..fcc21523f4 100644
--- a/var/spack/repos/builtin/packages/mapsplice2/package.py
+++ b/var/spack/repos/builtin/packages/mapsplice2/package.py
@@ -9,8 +9,8 @@ from spack.package import *
class Mapsplice2(MakefilePackage):
"""MapSplice is a software for mapping RNA-seq data to reference genome
- for splice junction discovery that depends only on reference genome,
- and not on any further annotations."""
+ for splice junction discovery that depends only on reference genome,
+ and not on any further annotations."""
homepage = "http://www.netlab.uky.edu/p/bioinfo/MapSplice2"
url = "https://protocols.netlab.uky.edu/~zeng/MapSplice-v2.2.1.zip"
diff --git a/var/spack/repos/builtin/packages/maq/package.py b/var/spack/repos/builtin/packages/maq/package.py
index 770b224998..1dfc0ceef6 100644
--- a/var/spack/repos/builtin/packages/maq/package.py
+++ b/var/spack/repos/builtin/packages/maq/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Maq(AutotoolsPackage):
"""Maq is a software that builds mapping assemblies from short reads
- generated by the next-generation sequencing machines."""
+ generated by the next-generation sequencing machines."""
homepage = "http://maq.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/maq/maq/0.7.1/maq-0.7.1.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/maq/maq/0.7.1/maq-0.7.1.tar.bz2"
list_url = "https://sourceforge.net/projects/maq/files/maq/"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('0.7.1', sha256='e1671e0408b0895f5ab943839ee8f28747cf5f55dc64032c7469b133202b6de2')
- version('0.5.0', sha256='c292c19baf291b2415b460d687d43a71ece00a7d178cc5984bc8fc30cfce2dfb')
+ version("0.7.1", sha256="e1671e0408b0895f5ab943839ee8f28747cf5f55dc64032c7469b133202b6de2")
+ version("0.5.0", sha256="c292c19baf291b2415b460d687d43a71ece00a7d178cc5984bc8fc30cfce2dfb")
- depends_on('perl', type='run')
+ depends_on("perl", type="run")
def patch(self):
- with working_dir('scripts'):
- scripts = ['farm-run.pl', 'maq_eval.pl', 'maq.pl', 'maq_plot.pl']
+ with working_dir("scripts"):
+ scripts = ["farm-run.pl", "maq_eval.pl", "maq.pl", "maq_plot.pl"]
for s in scripts:
- filter_file('/usr/bin/perl', self.spec['perl'].prefix.bin.perl, s)
+ filter_file("/usr/bin/perl", self.spec["perl"].prefix.bin.perl, s)
def flag_handler(self, name, flags):
- if name.lower() == 'cxxflags':
- flags.append('-fpermissive')
+ if name.lower() == "cxxflags":
+ flags.append("-fpermissive")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/margo/package.py b/var/spack/repos/builtin/packages/margo/package.py
index 52d7ee3ca1..cca1ee91b3 100644
--- a/var/spack/repos/builtin/packages/margo/package.py
+++ b/var/spack/repos/builtin/packages/margo/package.py
@@ -11,47 +11,123 @@ class Margo(AutotoolsPackage):
implementation. This name will be deprecated soon; please use the
mochi-margo package instead."""
- homepage = 'https://github.com/mochi-hpc/mochi-margo'
- git = 'https://github.com/mochi-hpc/mochi-margo.git'
- url = 'https://github.com/mochi-hpc/mochi-margo/archive/v0.9.tar.gz'
-
- maintainers = ['carns', 'mdorier', 'fbudin69500', 'chuckatkins']
-
- version('master', branch='master', deprecated=True)
- version('0.9.1', sha256='3fe933f2d758ef23d582bc776e4f8cfae9bf9d0849b8b1f9d73ee024e218f2bc', deprecated=True)
- version('0.9', sha256='a24376f66450cc8fd7a43043e189f8efce5a931585e53c1e2e41894a3e99b517', deprecated=True)
- version('0.7', sha256='492d1afe2e7984fa638614a5d34486d2ff761f5599b5984efd5ae3f55cafde54', deprecated=True)
- version('0.7.2', sha256='0ca796abdb82084813a5de033d92364910b5ad1a0df135534d6b1c36ef627859', deprecated=True)
- version('0.7.1', sha256='eebbe02c47ed4c65ef1d4f23ffdc6a8aa2e2348ca6c51bfc3c4dfbf78fbfc30b', deprecated=True)
- version('0.6', sha256='56feb718da2b155d7277a7b10b669516ebffaa034f811f3665ceed7ad0f19d1b', deprecated=True)
- version('0.6.4', sha256='5ba1c72ee05aa9738d3dc4d6d01bd59790284c6c77b909c5d7756fe7049d6177', deprecated=True)
- version('0.6.3', sha256='5f373cd554edd15cead58bd5d30093bd88d45039d06ff7738eb18b3674287c76', deprecated=True)
- version('0.6.2', sha256='c6a6909439e1d3ba1a1693d8da66057eb7e4ec4b239c04bc7f19fc487c4c58da', deprecated=True)
- version('0.6.1', sha256='80d8d15d0917b5522c31dc2d83136de2313d50ca05c71c5e5ad83c483a3214b7', deprecated=True)
- version('0.5', sha256='d3b768b8300bc2cb87964e74c39b4e8eb9822d8a2e56fc93dc475ddcb1a868e3', deprecated=True)
- version('0.5.2', sha256='73be3acaf012a85a91ac62824c93f5ee1ea0ffe4c25779ece19723f4baf9547d', deprecated=True)
- version('0.5.1', sha256='6fdf58e189538e22341c8361ab069fc80fe5460a6869882359b295a890febad7', deprecated=True)
- version('0.4.7', sha256='596d83b11fb2bd9950fd99c9ab12c14915ab2cda233084ae40ecae1e6c584333', deprecated=True)
- version('0.4.6', sha256='b27447a2050ae61091bae3ff6b4d23a56153947f18847face9f98facbdb4e329', deprecated=True)
- version('0.4.5', sha256='b0d02f73edf180f2393f54c5a980620b8d6dcd42b90efdea6866861824fa49cf', deprecated=True)
- version('0.4.4', sha256='2e2e6e2a8a7d7385e2fe204c113cb149f30847f0b1f48ec8dd708a74280bd89e', deprecated=True)
- version('0.4.3', sha256='61a634d6983bee2ffa06e1e2da4c541cb8f56ddd9dd9f8e04e8044fb38657475', deprecated=True)
- version('0.4.2', sha256='91085e28f50e373b9616e1ae5c3c8d40a19a7d3776259592d8f361766890bcaa', deprecated=True)
-
- depends_on('json-c', when='@0.9:')
- depends_on('autoconf@2.65:', type=("build"))
- depends_on('m4', type=('build'))
- depends_on('automake', type=("build"))
- depends_on('libtool', type=("build"))
- depends_on('pkgconfig', type=("build"))
- depends_on('argobots@1.0:')
+ homepage = "https://github.com/mochi-hpc/mochi-margo"
+ git = "https://github.com/mochi-hpc/mochi-margo.git"
+ url = "https://github.com/mochi-hpc/mochi-margo/archive/v0.9.tar.gz"
+
+ maintainers = ["carns", "mdorier", "fbudin69500", "chuckatkins"]
+
+ version("master", branch="master", deprecated=True)
+ version(
+ "0.9.1",
+ sha256="3fe933f2d758ef23d582bc776e4f8cfae9bf9d0849b8b1f9d73ee024e218f2bc",
+ deprecated=True,
+ )
+ version(
+ "0.9",
+ sha256="a24376f66450cc8fd7a43043e189f8efce5a931585e53c1e2e41894a3e99b517",
+ deprecated=True,
+ )
+ version(
+ "0.7",
+ sha256="492d1afe2e7984fa638614a5d34486d2ff761f5599b5984efd5ae3f55cafde54",
+ deprecated=True,
+ )
+ version(
+ "0.7.2",
+ sha256="0ca796abdb82084813a5de033d92364910b5ad1a0df135534d6b1c36ef627859",
+ deprecated=True,
+ )
+ version(
+ "0.7.1",
+ sha256="eebbe02c47ed4c65ef1d4f23ffdc6a8aa2e2348ca6c51bfc3c4dfbf78fbfc30b",
+ deprecated=True,
+ )
+ version(
+ "0.6",
+ sha256="56feb718da2b155d7277a7b10b669516ebffaa034f811f3665ceed7ad0f19d1b",
+ deprecated=True,
+ )
+ version(
+ "0.6.4",
+ sha256="5ba1c72ee05aa9738d3dc4d6d01bd59790284c6c77b909c5d7756fe7049d6177",
+ deprecated=True,
+ )
+ version(
+ "0.6.3",
+ sha256="5f373cd554edd15cead58bd5d30093bd88d45039d06ff7738eb18b3674287c76",
+ deprecated=True,
+ )
+ version(
+ "0.6.2",
+ sha256="c6a6909439e1d3ba1a1693d8da66057eb7e4ec4b239c04bc7f19fc487c4c58da",
+ deprecated=True,
+ )
+ version(
+ "0.6.1",
+ sha256="80d8d15d0917b5522c31dc2d83136de2313d50ca05c71c5e5ad83c483a3214b7",
+ deprecated=True,
+ )
+ version(
+ "0.5",
+ sha256="d3b768b8300bc2cb87964e74c39b4e8eb9822d8a2e56fc93dc475ddcb1a868e3",
+ deprecated=True,
+ )
+ version(
+ "0.5.2",
+ sha256="73be3acaf012a85a91ac62824c93f5ee1ea0ffe4c25779ece19723f4baf9547d",
+ deprecated=True,
+ )
+ version(
+ "0.5.1",
+ sha256="6fdf58e189538e22341c8361ab069fc80fe5460a6869882359b295a890febad7",
+ deprecated=True,
+ )
+ version(
+ "0.4.7",
+ sha256="596d83b11fb2bd9950fd99c9ab12c14915ab2cda233084ae40ecae1e6c584333",
+ deprecated=True,
+ )
+ version(
+ "0.4.6",
+ sha256="b27447a2050ae61091bae3ff6b4d23a56153947f18847face9f98facbdb4e329",
+ deprecated=True,
+ )
+ version(
+ "0.4.5",
+ sha256="b0d02f73edf180f2393f54c5a980620b8d6dcd42b90efdea6866861824fa49cf",
+ deprecated=True,
+ )
+ version(
+ "0.4.4",
+ sha256="2e2e6e2a8a7d7385e2fe204c113cb149f30847f0b1f48ec8dd708a74280bd89e",
+ deprecated=True,
+ )
+ version(
+ "0.4.3",
+ sha256="61a634d6983bee2ffa06e1e2da4c541cb8f56ddd9dd9f8e04e8044fb38657475",
+ deprecated=True,
+ )
+ version(
+ "0.4.2",
+ sha256="91085e28f50e373b9616e1ae5c3c8d40a19a7d3776259592d8f361766890bcaa",
+ deprecated=True,
+ )
+
+ depends_on("json-c", when="@0.9:")
+ depends_on("autoconf@2.65:", type=("build"))
+ depends_on("m4", type=("build"))
+ depends_on("automake", type=("build"))
+ depends_on("libtool", type=("build"))
+ depends_on("pkgconfig", type=("build"))
+ depends_on("argobots@1.0:")
# "breadcrumb" support not available in mercury-1.0
- depends_on('mercury@1.0.0:', type=("build", "link", "run"), when='@:0.5.1')
- depends_on('mercury@2.0.0:', type=("build", "link", "run"), when='@0.5.2:')
+ depends_on("mercury@1.0.0:", type=("build", "link", "run"), when="@:0.5.1")
+ depends_on("mercury@2.0.0:", type=("build", "link", "run"), when="@0.5.2:")
# dependencies for develop version
- depends_on('mercury@master', type=("build", "link", "run"), when='@develop')
+ depends_on("mercury@master", type=("build", "link", "run"), when="@develop")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('./prepare.sh')
+ sh = which("sh")
+ sh("./prepare.sh")
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 ad6cf8243f..0eafda8f26 100644
--- a/var/spack/repos/builtin/packages/mariadb-c-client/package.py
+++ b/var/spack/repos/builtin/packages/mariadb-c-client/package.py
@@ -18,62 +18,63 @@ class MariadbCClient(CMakePackage):
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"
+ 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/"
list_depth = 1
- version('3.2.6', sha256='9c22fff9d18db7ebdcb63979882fb6b68d2036cf2eb62f043eac922cd36bdb91')
- version('3.1.13', sha256='0271a5edfd64b13bca5937267474e4747d832ec62e169fc2589d2ead63746875')
- version('3.1.9', sha256='108d99bf2add434dcb3bd9526ba1d89a2b9a943b62dcd9d0a41fcbef8ffbf2c7')
- version('3.1.6', sha256='d266bb67df83c088c4fb05392713d2504c67be620894cedaf758a9561c116720')
- version('3.1.5', sha256='a9de5fedd1a7805c86e23be49b9ceb79a86b090ad560d51495d7ba5952a9d9d5')
- version('3.1.4', sha256='7a1a72fee00e4c28060f96c3efbbf38aabcbbab17903e82fce85a85002565316')
- version('3.0.9', sha256='7277c0caba6f50b1d07e1d682baf0b962a63e2e6af9e00e09b8dcf36a7858641')
- version('3.0.8', sha256='2ca368fd79e87e80497a5c9fd18922d8316af8584d87cecb35bd5897cb1efd05')
- version('3.0.7', sha256='f63883c9360675d111646fba5c97feb0d08e0def5873dd189d78bafbb75fa004')
- version('3.0.6', sha256='2b2d18dc969dc385f7f740e4db112300e11bc626c9ba9aa05c284704095b9e48')
- version('3.0.5', sha256='940017f13a13846153eb9d36290824c4615c8a8be4142b6bbaeb698609f02667')
- version('3.0.4', sha256='6eff680cd429fdb32940f6ea4755a997dda1bb00f142f439071f752fd0b200cf')
- version('3.0.3', sha256='210f0ee3414b235d3db8e98e9e5a0a98381ecf771e67ca4a688036368984eeea')
- version('3.0.2', sha256='518d14b8d77838370767d73f9bf1674f46232e1a2a34d4195bd38f52a3033758')
- version('2.3.7', sha256='94f9582da738809ae1d9f1813185165ec7c8caf9195bdd04e511f6bdcb883f8e')
- version('2.3.6', sha256='6b271d25dddda15f1c2328eee64f646a2e8b116ea21b04ece24b5a70712c3e96')
- version('2.3.5', sha256='2f3bf4c326d74284debf7099f30cf3615f7978d1ec22b8c1083676688a76746f')
- version('2.3.4', sha256='8beb0513da8a24ed2cb47836564c8b57045c3b36f933362f74b3676567c13abc')
- version('2.3.3', sha256='82a5710134e7654b9cad58964d6a25ed91b3dc1804ff51e8be2def0032914089')
- version('2.3.2', sha256='4063c8655dc37608d4eade981e25b76f67f5d36e8426dc7f20d59e48ebba628a')
- version('2.3.1', sha256='6ab7e1477ae1484939675a3b499f98148980a0bd340d15d22df00a5c6656c633')
- version('2.3.0', sha256='37faae901ca77bd48d2c6286f2e19e8c1abe7cac6fb1b128bd556617f4335c8a')
- version('2.2.3', sha256='cd01ce2c418382f90fd0b21c3c756b89643880efe3447507bf740569b9d08eed')
- version('2.2.2', sha256='93f56ad9f08bbaf0da8ef03bc96f7093c426ae40dede60575d485e1b99e6406b')
- version('2.2.1', sha256='c30ba19be03a6ac8688ef7620aed0eabdf34ca9ee886c017c56b013b5f8ee06a')
- version('2.2.0', sha256='3825b068d38bc19d6ad1eaecdd74bcd49d6ddd9d00559fb150e4e851a55bbbd4')
- version('2.1.0', sha256='568050b89463af7610d458669fd9eee06dcc9405689aca8a526ac8c013b59167')
+ version("3.2.6", sha256="9c22fff9d18db7ebdcb63979882fb6b68d2036cf2eb62f043eac922cd36bdb91")
+ version("3.1.13", sha256="0271a5edfd64b13bca5937267474e4747d832ec62e169fc2589d2ead63746875")
+ version("3.1.9", sha256="108d99bf2add434dcb3bd9526ba1d89a2b9a943b62dcd9d0a41fcbef8ffbf2c7")
+ version("3.1.6", sha256="d266bb67df83c088c4fb05392713d2504c67be620894cedaf758a9561c116720")
+ version("3.1.5", sha256="a9de5fedd1a7805c86e23be49b9ceb79a86b090ad560d51495d7ba5952a9d9d5")
+ version("3.1.4", sha256="7a1a72fee00e4c28060f96c3efbbf38aabcbbab17903e82fce85a85002565316")
+ version("3.0.9", sha256="7277c0caba6f50b1d07e1d682baf0b962a63e2e6af9e00e09b8dcf36a7858641")
+ version("3.0.8", sha256="2ca368fd79e87e80497a5c9fd18922d8316af8584d87cecb35bd5897cb1efd05")
+ version("3.0.7", sha256="f63883c9360675d111646fba5c97feb0d08e0def5873dd189d78bafbb75fa004")
+ version("3.0.6", sha256="2b2d18dc969dc385f7f740e4db112300e11bc626c9ba9aa05c284704095b9e48")
+ version("3.0.5", sha256="940017f13a13846153eb9d36290824c4615c8a8be4142b6bbaeb698609f02667")
+ version("3.0.4", sha256="6eff680cd429fdb32940f6ea4755a997dda1bb00f142f439071f752fd0b200cf")
+ version("3.0.3", sha256="210f0ee3414b235d3db8e98e9e5a0a98381ecf771e67ca4a688036368984eeea")
+ version("3.0.2", sha256="518d14b8d77838370767d73f9bf1674f46232e1a2a34d4195bd38f52a3033758")
+ version("2.3.7", sha256="94f9582da738809ae1d9f1813185165ec7c8caf9195bdd04e511f6bdcb883f8e")
+ version("2.3.6", sha256="6b271d25dddda15f1c2328eee64f646a2e8b116ea21b04ece24b5a70712c3e96")
+ version("2.3.5", sha256="2f3bf4c326d74284debf7099f30cf3615f7978d1ec22b8c1083676688a76746f")
+ version("2.3.4", sha256="8beb0513da8a24ed2cb47836564c8b57045c3b36f933362f74b3676567c13abc")
+ version("2.3.3", sha256="82a5710134e7654b9cad58964d6a25ed91b3dc1804ff51e8be2def0032914089")
+ version("2.3.2", sha256="4063c8655dc37608d4eade981e25b76f67f5d36e8426dc7f20d59e48ebba628a")
+ version("2.3.1", sha256="6ab7e1477ae1484939675a3b499f98148980a0bd340d15d22df00a5c6656c633")
+ version("2.3.0", sha256="37faae901ca77bd48d2c6286f2e19e8c1abe7cac6fb1b128bd556617f4335c8a")
+ version("2.2.3", sha256="cd01ce2c418382f90fd0b21c3c756b89643880efe3447507bf740569b9d08eed")
+ version("2.2.2", sha256="93f56ad9f08bbaf0da8ef03bc96f7093c426ae40dede60575d485e1b99e6406b")
+ version("2.2.1", sha256="c30ba19be03a6ac8688ef7620aed0eabdf34ca9ee886c017c56b013b5f8ee06a")
+ version("2.2.0", sha256="3825b068d38bc19d6ad1eaecdd74bcd49d6ddd9d00559fb150e4e851a55bbbd4")
+ version("2.1.0", sha256="568050b89463af7610d458669fd9eee06dcc9405689aca8a526ac8c013b59167")
- provides('mariadb-client')
- provides('mysql-client')
+ provides("mariadb-client")
+ provides("mysql-client")
- depends_on('cmake@2.6:', type='build')
- depends_on('curl')
- depends_on('pcre')
- depends_on('openssl')
- depends_on('zlib')
- depends_on('krb5')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("curl")
+ depends_on("pcre")
+ depends_on("openssl")
+ depends_on("zlib")
+ depends_on("krb5")
# patch needed for cmake-3.20
- patch('https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c.patch?full_index=1',
- sha256='760fd19cd8d4d756a0799ed9110cfd2898237e43835fefe3668079c5b87fc36d', when='@:3.1.12')
+ patch(
+ "https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c.patch?full_index=1",
+ sha256="760fd19cd8d4d756a0799ed9110cfd2898237e43835fefe3668079c5b87fc36d",
+ when="@:3.1.12",
+ )
def url_for_version(self, version):
url = "https://downloads.mariadb.com/Connectors/c/connector-c-{0}/mariadb-connector-c-{1}-src.tar.gz"
return url.format(version.up_to(3), version)
def cmake_args(self):
- args = ['-DWITH_EXTERNAL_ZLIB=ON', '-DWITH_MYSQLCOMPAT=ON']
+ args = ["-DWITH_EXTERNAL_ZLIB=ON", "-DWITH_MYSQLCOMPAT=ON"]
return args
@property
def libs(self):
- return find_libraries(
- ['libmariadb'], root=self.prefix, recursive=True, shared=True
- )
+ return find_libraries(["libmariadb"], root=self.prefix, recursive=True, shared=True)
diff --git a/var/spack/repos/builtin/packages/mariadb/package.py b/var/spack/repos/builtin/packages/mariadb/package.py
index 9b9845854e..0ffbba8cba 100644
--- a/var/spack/repos/builtin/packages/mariadb/package.py
+++ b/var/spack/repos/builtin/packages/mariadb/package.py
@@ -21,55 +21,60 @@ class Mariadb(CMakePackage):
homepage = "https://mariadb.org/about/"
url = "http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-10.2.8/source/mariadb-10.2.8.tar.gz"
- version('10.8.2', sha256='14e0f7f8817a41bbcb5ebdd2345a9bd44035fde7db45c028b6d4c35887ae956c')
- version('10.4.12', sha256='fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208')
- version('10.4.8', sha256='10cc2c3bdb76733c9c6fd1e3c6c860d8b4282c85926da7d472d2a0e00fffca9b')
- version('10.4.7', sha256='c8e6a6d0bb4f22c416ed675d24682a3ecfa383c5283efee70c8edf131374d817')
- version('10.2.8', sha256='8dd250fe79f085e26f52ac448fbdb7af2a161f735fae3aed210680b9f2492393')
- version('10.1.23', sha256='54d8114e24bfa5e3ebdc7d69e071ad1471912847ea481b227d204f9d644300bf')
- version('5.5.56', sha256='950c3422cb262b16ce133caadbc342219f50f9b45dcc71b8db78fc376a971726')
- version('10.1.14', sha256='18e71974a059a268a3f28281599607344d548714ade823d575576121f76ada13')
- version('5.5.49', sha256='2c82f2af71b88a7940d5ff647498ed78922c92e88004942caa213131e20f4706')
+ version("10.8.2", sha256="14e0f7f8817a41bbcb5ebdd2345a9bd44035fde7db45c028b6d4c35887ae956c")
+ version("10.4.12", sha256="fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208")
+ version("10.4.8", sha256="10cc2c3bdb76733c9c6fd1e3c6c860d8b4282c85926da7d472d2a0e00fffca9b")
+ version("10.4.7", sha256="c8e6a6d0bb4f22c416ed675d24682a3ecfa383c5283efee70c8edf131374d817")
+ version("10.2.8", sha256="8dd250fe79f085e26f52ac448fbdb7af2a161f735fae3aed210680b9f2492393")
+ version("10.1.23", sha256="54d8114e24bfa5e3ebdc7d69e071ad1471912847ea481b227d204f9d644300bf")
+ version("5.5.56", sha256="950c3422cb262b16ce133caadbc342219f50f9b45dcc71b8db78fc376a971726")
+ version("10.1.14", sha256="18e71974a059a268a3f28281599607344d548714ade823d575576121f76ada13")
+ version("5.5.49", sha256="2c82f2af71b88a7940d5ff647498ed78922c92e88004942caa213131e20f4706")
- variant('nonblocking', default=True, description='Allow non blocking '
- 'operations in the mariadb client library.')
+ variant(
+ "nonblocking",
+ default=True,
+ description="Allow non blocking " "operations in the mariadb client library.",
+ )
- provides('mariadb-client')
- provides('mysql-client')
+ provides("mariadb-client")
+ provides("mysql-client")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cmake@2.6:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('bison', type='build')
- depends_on('jemalloc')
- depends_on('libaio', when='platform=linux')
- depends_on('libedit')
- depends_on('libevent', when='+nonblocking')
- depends_on('ncurses')
- depends_on('zlib')
- depends_on('curl')
- depends_on('libxml2')
- depends_on('lz4')
- depends_on('libzmq')
- depends_on('msgpack-c')
- depends_on('openssl')
- depends_on('openssl@:1.0', when='@:10.1')
- depends_on('krb5')
+ depends_on("cmake@2.6:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("bison", type="build")
+ depends_on("jemalloc")
+ depends_on("libaio", when="platform=linux")
+ depends_on("libedit")
+ depends_on("libevent", when="+nonblocking")
+ depends_on("ncurses")
+ depends_on("zlib")
+ depends_on("curl")
+ depends_on("libxml2")
+ depends_on("lz4")
+ depends_on("libzmq")
+ depends_on("msgpack-c")
+ depends_on("openssl")
+ depends_on("openssl@:1.0", when="@:10.1")
+ depends_on("krb5")
- conflicts('%gcc@9.1.0:', when='@:5.5')
+ conflicts("%gcc@9.1.0:", when="@:5.5")
# patch needed for cmake-3.20
- patch('https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c.patch?full_index=1',
- sha256='760fd19cd8d4d756a0799ed9110cfd2898237e43835fefe3668079c5b87fc36d',
- working_dir='libmariadb',
- when='@10.2.8:10.4.12')
+ patch(
+ "https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c.patch?full_index=1",
+ sha256="760fd19cd8d4d756a0799ed9110cfd2898237e43835fefe3668079c5b87fc36d",
+ working_dir="libmariadb",
+ when="@10.2.8:10.4.12",
+ )
def cmake_args(self):
args = []
- args.append('-DENABLE_DTRACE:BOOL=OFF')
+ args.append("-DENABLE_DTRACE:BOOL=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/mark/package.py b/var/spack/repos/builtin/packages/mark/package.py
index 56ed312f34..39589d15e4 100644
--- a/var/spack/repos/builtin/packages/mark/package.py
+++ b/var/spack/repos/builtin/packages/mark/package.py
@@ -23,15 +23,18 @@ class Mark(Package):
homepage = "http://www.phidot.org/software/mark/index.html"
manual_download = True
- version('1.0', sha256='5422c9444d5fa6b3b22f4a9f2ce41af2072a1a7283f6f9099dc02cc5282696bc',
- expand=False)
+ version(
+ "1.0",
+ sha256="5422c9444d5fa6b3b22f4a9f2ce41af2072a1a7283f6f9099dc02cc5282696bc",
+ expand=False,
+ )
def url_for_version(self, version):
return "file://{0}/mark".format(os.getcwd())
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('mark', prefix.bin)
+ install("mark", prefix.bin)
- chmod = which('chmod')
- chmod('+x', prefix.bin.mark)
+ chmod = which("chmod")
+ chmod("+x", prefix.bin.mark)
diff --git a/var/spack/repos/builtin/packages/masa/package.py b/var/spack/repos/builtin/packages/masa/package.py
index e77d372e1d..73b62f714f 100644
--- a/var/spack/repos/builtin/packages/masa/package.py
+++ b/var/spack/repos/builtin/packages/masa/package.py
@@ -8,46 +8,42 @@ from spack.package import *
class Masa(AutotoolsPackage):
"""MASA (Manufactured Analytical Solution Abstraction) is a library
- written in C++ (with C, python and Fortran90 interfaces) which
- provides a suite of manufactured solutions for the software
- verification of partial differential equation solvers in multiple
- dimensions."""
+ written in C++ (with C, python and Fortran90 interfaces) which
+ provides a suite of manufactured solutions for the software
+ verification of partial differential equation solvers in multiple
+ dimensions."""
homepage = "https://github.com/manufactured-solutions/MASA"
- git = "https://github.com/manufactured-solutions/MASA.git"
+ git = "https://github.com/manufactured-solutions/MASA.git"
- version('master', branch='master')
+ version("master", branch="master")
- variant('fortran', default=True,
- description='Compile with Fortran interfaces')
- variant('python', default=True,
- description='Compile with Python interfaces')
+ variant("fortran", default=True, description="Compile with Fortran interfaces")
+ variant("python", default=True, description="Compile with Python interfaces")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('swig', type='build')
- depends_on('python', when='+python')
- depends_on('metaphysicl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("swig", type="build")
+ depends_on("python", when="+python")
+ depends_on("metaphysicl")
def configure_args(self):
options = []
- options.extend([
- '--with-metaphysicl=%s' % self.spec['metaphysicl'].prefix
- ])
+ options.extend(["--with-metaphysicl=%s" % self.spec["metaphysicl"].prefix])
- if '+fortran' in self.spec:
- options.extend(['--enable-fortran-interfaces'])
+ if "+fortran" in self.spec:
+ options.extend(["--enable-fortran-interfaces"])
- if '+python' in self.spec:
- options.extend(['--enable-python-interfaces'])
+ if "+python" in self.spec:
+ 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')
+ 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/mash/package.py b/var/spack/repos/builtin/packages/mash/package.py
index 694b314188..8faddc5811 100644
--- a/var/spack/repos/builtin/packages/mash/package.py
+++ b/var/spack/repos/builtin/packages/mash/package.py
@@ -12,23 +12,23 @@ class Mash(AutotoolsPackage):
"""
homepage = "https://mash.readthedocs.org/"
- url = "https://github.com/marbl/Mash/archive/refs/tags/v2.3.tar.gz"
+ url = "https://github.com/marbl/Mash/archive/refs/tags/v2.3.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('2.3', sha256='f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1')
+ version("2.3", sha256="f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1")
- conflicts('%gcc@11:', msg='mash cannot be build with gcc >= 11')
+ conflicts("%gcc@11:", msg="mash cannot be build with gcc >= 11")
- depends_on("autoconf", type='build')
- depends_on("automake", type='build')
- depends_on("libtool", type='build')
- depends_on("m4", type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
depends_on("capnproto")
depends_on("gsl")
def configure_args(self):
args = []
- args.append("--with-capnp=" + self.spec['capnproto'].prefix)
- args.append("--with-gsl=" + self.spec['gsl'].prefix)
+ args.append("--with-capnp=" + self.spec["capnproto"].prefix)
+ args.append("--with-gsl=" + self.spec["gsl"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/masurca/package.py b/var/spack/repos/builtin/packages/masurca/package.py
index 4840643cd7..b01b903f43 100644
--- a/var/spack/repos/builtin/packages/masurca/package.py
+++ b/var/spack/repos/builtin/packages/masurca/package.py
@@ -9,39 +9,38 @@ from spack.pkg.builtin.boost import Boost
class Masurca(Package):
"""MaSuRCA is whole genome assembly software. It combines the efficiency
- of the de Bruijn graph and Overlap-Layout-Consensus (OLC)
- approaches."""
+ of the de Bruijn graph and Overlap-Layout-Consensus (OLC)
+ approaches."""
homepage = "http://www.genome.umd.edu/masurca.html"
url = "https://github.com/alekseyzimin/masurca/releases/download/v3.3.1/MaSuRCA-3.3.1.tar.gz"
- version('4.0.9', sha256='a31c2f786452f207c0b0b20e646b6c85b7357dcfd522b697c1009d902d3ed4cf')
- version('4.0.5', sha256='db525c26f2b09d6b359a2830fcbd4a3fdc65068e9a116c91076240fd1f5924ed')
- version('4.0.1', sha256='68628acaf3681d09288b48a35fec7909b347b84494fb26c84051942256299870')
- version('3.3.1', sha256='587d0ee2c6b9fbd3436ca2a9001e19f251b677757fe5e88e7f94a0664231e020')
- version('3.2.9', sha256='795ad4bd42e15cf3ef2e5329aa7e4f2cdeb7e186ce2e350a45127e319db2904b')
+ version("4.0.9", sha256="a31c2f786452f207c0b0b20e646b6c85b7357dcfd522b697c1009d902d3ed4cf")
+ version("4.0.5", sha256="db525c26f2b09d6b359a2830fcbd4a3fdc65068e9a116c91076240fd1f5924ed")
+ version("4.0.1", sha256="68628acaf3681d09288b48a35fec7909b347b84494fb26c84051942256299870")
+ version("3.3.1", sha256="587d0ee2c6b9fbd3436ca2a9001e19f251b677757fe5e88e7f94a0664231e020")
+ version("3.2.9", sha256="795ad4bd42e15cf3ef2e5329aa7e4f2cdeb7e186ce2e350a45127e319db2904b")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
depends_on(Boost.with_default_variants)
- depends_on('zlib')
- patch('arm.patch', when='target=aarch64:')
+ depends_on("zlib")
+ patch("arm.patch", when="target=aarch64:")
def patch(self):
- filter_file('#include <sys/sysctl.h>', '',
- 'global-1/CA8/src/AS_BAT/memoryMappedFile.H')
- if self.spec.target.family == 'aarch64':
- for makefile in 'Makefile.am', 'Makefile.in':
- m = join_path('global-1', 'prepare', makefile)
- filter_file('-minline-all-stringops', '', m)
- m = join_path('global-1', makefile)
- filter_file('-minline-all-stringops', '', m)
+ filter_file("#include <sys/sysctl.h>", "", "global-1/CA8/src/AS_BAT/memoryMappedFile.H")
+ if self.spec.target.family == "aarch64":
+ for makefile in "Makefile.am", "Makefile.in":
+ m = join_path("global-1", "prepare", makefile)
+ filter_file("-minline-all-stringops", "", m)
+ m = join_path("global-1", makefile)
+ filter_file("-minline-all-stringops", "", m)
def setup_build_environment(self, env):
- if '@4:' in self.spec:
- env.set('DEST', self.prefix)
+ if "@4:" in self.spec:
+ env.set("DEST", self.prefix)
def install(self, spec, prefix):
- installer = Executable('./install.sh')
+ installer = Executable("./install.sh")
installer()
- if '@:4' in self.spec:
- install_tree('.', prefix)
+ if "@:4" in self.spec:
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/mathematica/package.py b/var/spack/repos/builtin/packages/mathematica/package.py
index 43b2885595..cf3600bbd9 100644
--- a/var/spack/repos/builtin/packages/mathematica/package.py
+++ b/var/spack/repos/builtin/packages/mathematica/package.py
@@ -10,52 +10,63 @@ from spack.package import *
class Mathematica(Package):
"""Mathematica: high-powered computation with thousands of Wolfram Language
- functions, natural language input, real-world data, mobile support.
+ functions, natural language input, real-world data, mobile support.
- Note: A manual download is required for Mathematica.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for Mathematica.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.wolfram.com/mathematica/"
- url = 'file://{0}/Mathematica_12.0.0_LINUX.sh'.format(os.getcwd())
+ url = "file://{0}/Mathematica_12.0.0_LINUX.sh".format(os.getcwd())
manual_download = True
- version('12.2.0',
- sha256='3b6676a203c6adb7e9c418a5484b037974287b5be09c64e7dfea74ddc0e400d7',
- expand=False)
- version('12.1.1',
- sha256='ad47b886be4a9864d70f523f792615a051d4ebc987d9a0f654b645b4eb43b30a',
- expand=False)
- version('12.0.0',
- sha256='b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7',
- expand=False)
+ version(
+ "12.2.0",
+ sha256="3b6676a203c6adb7e9c418a5484b037974287b5be09c64e7dfea74ddc0e400d7",
+ expand=False,
+ )
+ version(
+ "12.1.1",
+ sha256="ad47b886be4a9864d70f523f792615a051d4ebc987d9a0f654b645b4eb43b30a",
+ expand=False,
+ )
+ version(
+ "12.0.0",
+ sha256="b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7",
+ expand=False,
+ )
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['Configuration/Licensing/mathpass']
- license_url = 'https://reference.wolfram.com/language/tutorial/RegistrationAndPasswords.html#857035062'
+ license_comment = "#"
+ license_files = ["Configuration/Licensing/mathpass"]
+ license_url = (
+ "https://reference.wolfram.com/language/tutorial/RegistrationAndPasswords.html#857035062"
+ )
def install(self, spec, prefix):
# Backup .spack because Mathematica moves it but never restores it
- copy_tree(join_path(prefix, '.spack'),
- join_path(self.stage.path, '.spack'))
-
- sh = which('sh')
- sh(self.stage.archive_file, '--', '-auto', '-verbose',
- '-targetdir={0}'.format(prefix),
- '-execdir={0}'.format(prefix.bin),
- '-selinux=y')
+ copy_tree(join_path(prefix, ".spack"), join_path(self.stage.path, ".spack"))
+
+ sh = which("sh")
+ sh(
+ self.stage.archive_file,
+ "--",
+ "-auto",
+ "-verbose",
+ "-targetdir={0}".format(prefix),
+ "-execdir={0}".format(prefix.bin),
+ "-selinux=y",
+ )
# This is what most people would use on a cluster but the installer
# does not symlink it
- ws_link_path = os.path.join(prefix.bin, 'wolframscript')
+ ws_link_path = os.path.join(prefix.bin, "wolframscript")
if not os.path.exists(ws_link_path):
- ln = which('ln')
- ws_path = os.path.join(prefix, 'Executables', 'wolframscript')
- ln('-s', ws_path, ws_link_path)
+ ln = which("ln")
+ ws_path = os.path.join(prefix, "Executables", "wolframscript")
+ ln("-s", ws_path, ws_link_path)
# Move back .spack where it belongs
- copy_tree(join_path(self.stage.path, '.spack'),
- join_path(prefix, '.spack'))
+ copy_tree(join_path(self.stage.path, ".spack"), join_path(prefix, ".spack"))
diff --git a/var/spack/repos/builtin/packages/matio/package.py b/var/spack/repos/builtin/packages/matio/package.py
index 0467833d13..8d45e78dbd 100644
--- a/var/spack/repos/builtin/packages/matio/package.py
+++ b/var/spack/repos/builtin/packages/matio/package.py
@@ -8,50 +8,52 @@ from spack.package import *
class Matio(AutotoolsPackage):
"""matio is an C library for reading and writing Matlab MAT files"""
- homepage = "https://sourceforge.net/projects/matio/"
- git = "https://github.com/tbeu/matio"
- url = "https://github.com/tbeu/matio/releases/download/v1.5.9/matio-1.5.9.tar.gz"
-
- version('1.5.17', sha256='5e455527d370ab297c4abe5a2ab4d599c93ac7c1a0c85d841cc5c22f8221c400')
- version('1.5.16', sha256='47ba3d5d269d5709b8d9a7385c88c8b5fb5ff875ef781a1ced4892b5b03c4f44')
- version('1.5.15', sha256='21bf4587bb7f0231dbb4fcc88728468f1764c06211d5a0415cd622036f09b1cf')
- version('1.5.14', sha256='0b3abb98f5cd75627122a72522db4e4280eb580bdbeafe90a8a0d2df22801f6e')
- version('1.5.13', sha256='feadb2f54ba7c9db6deba8c994e401d7a1a8e7afd0fe74487691052b8139e5cb')
- version('1.5.12', sha256='8695e380e465056afa5b5e20128935afe7d50e03830f9f7778a72e1e1894d8a9')
- version('1.5.11', sha256='0ccced0c55c9c2cdc21348b7e16447843402d729ffaadd6135767faad7c9cf0b')
- version('1.5.10', sha256='41209918cebd8cc87a4aa815fed553610911be558f027aee54af8b599c78b501')
- version('1.5.9', sha256='beb7f965831ec5b4ef43f8830ee1ef1c121cd98e11b0f6e1d98713d9f860c05c')
- version('1.5.8', sha256='6e49353d1d9d5127696f2e67b46cf9a1dc639663283c9bc4ce5280489c03e1f0')
- version('1.5.7', sha256='84b9a17ada1ee08374fb47cc2d0e10a95b8f7f603b58576239f90b8c576fad48')
- version('1.5.6', sha256='39a6e6a40d9fd8d707f4494483b8df30ffd617ba0a19c663e3685ad55ff55878')
- version('1.5.5', sha256='72f00cc3cd8f7603c48867887cef886289f1f04a30f1c777aeef0b9ddd7d9c9d')
- version('1.5.4', sha256='90d16dfea9070d241ef5818fee2345aee251a3c55b86b5d0314967e61fcd18ef')
- version('1.5.3', sha256='85ba46e192331473dc4d8a9d266679f8f81e60c06debdc4b6f9d7906bad46257')
- version('1.5.2', sha256='db02d0fb3373c3d766a606309b17e64a5d8da55610e921a9f1a0ec171e911d45')
-
- variant("zlib", default=True,
- description='support for compressed mat files')
- variant("hdf5", default=True,
- description='support for version 7.3 mat files via hdf5')
- variant("shared", default=True, description='Enables the build of shared libraries.')
+
+ homepage = "https://sourceforge.net/projects/matio/"
+ git = "https://github.com/tbeu/matio"
+ url = "https://github.com/tbeu/matio/releases/download/v1.5.9/matio-1.5.9.tar.gz"
+
+ version("1.5.17", sha256="5e455527d370ab297c4abe5a2ab4d599c93ac7c1a0c85d841cc5c22f8221c400")
+ version("1.5.16", sha256="47ba3d5d269d5709b8d9a7385c88c8b5fb5ff875ef781a1ced4892b5b03c4f44")
+ version("1.5.15", sha256="21bf4587bb7f0231dbb4fcc88728468f1764c06211d5a0415cd622036f09b1cf")
+ version("1.5.14", sha256="0b3abb98f5cd75627122a72522db4e4280eb580bdbeafe90a8a0d2df22801f6e")
+ version("1.5.13", sha256="feadb2f54ba7c9db6deba8c994e401d7a1a8e7afd0fe74487691052b8139e5cb")
+ version("1.5.12", sha256="8695e380e465056afa5b5e20128935afe7d50e03830f9f7778a72e1e1894d8a9")
+ version("1.5.11", sha256="0ccced0c55c9c2cdc21348b7e16447843402d729ffaadd6135767faad7c9cf0b")
+ version("1.5.10", sha256="41209918cebd8cc87a4aa815fed553610911be558f027aee54af8b599c78b501")
+ version("1.5.9", sha256="beb7f965831ec5b4ef43f8830ee1ef1c121cd98e11b0f6e1d98713d9f860c05c")
+ version("1.5.8", sha256="6e49353d1d9d5127696f2e67b46cf9a1dc639663283c9bc4ce5280489c03e1f0")
+ version("1.5.7", sha256="84b9a17ada1ee08374fb47cc2d0e10a95b8f7f603b58576239f90b8c576fad48")
+ version("1.5.6", sha256="39a6e6a40d9fd8d707f4494483b8df30ffd617ba0a19c663e3685ad55ff55878")
+ version("1.5.5", sha256="72f00cc3cd8f7603c48867887cef886289f1f04a30f1c777aeef0b9ddd7d9c9d")
+ version("1.5.4", sha256="90d16dfea9070d241ef5818fee2345aee251a3c55b86b5d0314967e61fcd18ef")
+ version("1.5.3", sha256="85ba46e192331473dc4d8a9d266679f8f81e60c06debdc4b6f9d7906bad46257")
+ version("1.5.2", sha256="db02d0fb3373c3d766a606309b17e64a5d8da55610e921a9f1a0ec171e911d45")
+
+ variant("zlib", default=True, description="support for compressed mat files")
+ variant("hdf5", default=True, description="support for version 7.3 mat files via hdf5")
+ variant("shared", default=True, description="Enables the build of shared libraries.")
depends_on("zlib", when="+zlib")
depends_on("hdf5", when="+hdf5")
def configure_args(self):
args = []
- if '+zlib' in self.spec:
- args.append("--with-zlib=%s" % self.spec['zlib'].prefix)
- if '+hdf5' in self.spec:
- args.append("--with-hdf5=%s" % self.spec['hdf5'].prefix)
- if '+shared' not in self.spec:
+ if "+zlib" in self.spec:
+ args.append("--with-zlib=%s" % self.spec["zlib"].prefix)
+ if "+hdf5" in self.spec:
+ args.append("--with-hdf5=%s" % self.spec["hdf5"].prefix)
+ if "+shared" not in self.spec:
args.append("--disable-shared")
return args
def patch(self):
- if self.spec.satisfies('%nvhpc@:20.11'):
+ if self.spec.satisfies("%nvhpc@:20.11"):
# workaround anonymous version tag linker error for the NVIDIA
# compilers
- filter_file('${wl}-version-script '
- '${wl}$output_objdir/$libname.ver', '',
- 'configure', string=True)
+ filter_file(
+ "${wl}-version-script " "${wl}$output_objdir/$libname.ver",
+ "",
+ "configure",
+ string=True,
+ )
diff --git a/var/spack/repos/builtin/packages/matlab/package.py b/var/spack/repos/builtin/packages/matlab/package.py
index 440c9041f7..b8aad5868d 100644
--- a/var/spack/repos/builtin/packages/matlab/package.py
+++ b/var/spack/repos/builtin/packages/matlab/package.py
@@ -26,24 +26,28 @@ class Matlab(Package):
homepage = "https://www.mathworks.com/products/matlab.html"
manual_download = True
- version('R2019b', sha256='d60787263afb810283b7820c4c8d9cb1f854c7cb80f47e136643fd95bf5fbd59')
- version('R2018b', sha256='8cfcddd3878d3a69371c4e838773bcabf12aaf0362cc2e1ae7e8820845635cac')
- version('R2016b', sha256='a3121057b1905b132e5741de9f7f8350378592d84c5525faf3ec571620a336f2')
- version('R2015b', sha256='dead402960f4ab8f22debe8b28a402069166cd967d9dcca443f6c2940b00a783')
-
- variant('mode', default='interactive',
- values=('interactive', 'silent', 'automated'),
- description='Installation mode (interactive, silent, or automated)')
-
- variant('key', default='<installation-key-here>',
- description='The file installation key to use')
+ version("R2019b", sha256="d60787263afb810283b7820c4c8d9cb1f854c7cb80f47e136643fd95bf5fbd59")
+ version("R2018b", sha256="8cfcddd3878d3a69371c4e838773bcabf12aaf0362cc2e1ae7e8820845635cac")
+ version("R2016b", sha256="a3121057b1905b132e5741de9f7f8350378592d84c5525faf3ec571620a336f2")
+ version("R2015b", sha256="dead402960f4ab8f22debe8b28a402069166cd967d9dcca443f6c2940b00a783")
+
+ variant(
+ "mode",
+ default="interactive",
+ values=("interactive", "silent", "automated"),
+ description="Installation mode (interactive, silent, or automated)",
+ )
+
+ variant(
+ "key", default="<installation-key-here>", description="The file installation key to use"
+ )
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['licenses/license.dat']
- license_vars = ['LM_LICENSE_FILE']
- license_url = 'https://www.mathworks.com/help/install/index.html'
+ license_comment = "#"
+ license_files = ["licenses/license.dat"]
+ license_vars = ["LM_LICENSE_FILE"]
+ license_url = "https://www.mathworks.com/help/install/index.html"
extendable = True
@@ -52,33 +56,32 @@ class Matlab(Package):
def install(self, spec, prefix):
config = {
- 'destinationFolder': prefix,
- 'mode': spec.variants['mode'].value,
- 'fileInstallationKey': spec.variants['key'].value,
- 'licensePath': self.global_license_file,
- 'agreeToLicense': 'yes'
+ "destinationFolder": prefix,
+ "mode": spec.variants["mode"].value,
+ "fileInstallationKey": spec.variants["key"].value,
+ "licensePath": self.global_license_file,
+ "agreeToLicense": "yes",
}
# Store values requested by the installer in a file
- with open('spack_installer_input.txt', 'w') as input_file:
+ with open("spack_installer_input.txt", "w") as input_file:
for key in config:
- input_file.write('{0}={1}\n'.format(key, config[key]))
+ input_file.write("{0}={1}\n".format(key, config[key]))
# Run silent installation script
# Full path required
- input_file = join_path(
- self.stage.source_path, 'spack_installer_input.txt')
- subprocess.call(['./install', '-inputFile', input_file])
+ input_file = join_path(self.stage.source_path, "spack_installer_input.txt")
+ subprocess.call(["./install", "-inputFile", input_file])
- @run_after('install')
+ @run_after("install")
def post_install(self):
# Fix broken link
with working_dir(self.spec.prefix.bin.glnxa64):
- os.unlink('libSDL2.so')
- os.symlink('libSDL2-2.0.so.0.2.1', 'libSDL2.so')
+ os.unlink("libSDL2.so")
+ os.symlink("libSDL2-2.0.so.0.2.1", "libSDL2.so")
# Fix to random exceptions when changing display settings
# https://www.mathworks.com/matlabcentral/answers/373897-external-monitor-throws-java-exception
- java_opts = os.path.join(self.spec.prefix.bin.glnxa64, 'java.opts')
- with open(java_opts, 'w') as out:
- out.write('-Dsun.java2d.xrender=false\n')
+ java_opts = os.path.join(self.spec.prefix.bin.glnxa64, "java.opts")
+ with open(java_opts, "w") as out:
+ out.write("-Dsun.java2d.xrender=false\n")
diff --git a/var/spack/repos/builtin/packages/maven/package.py b/var/spack/repos/builtin/packages/maven/package.py
index f683ee554b..d498cab39a 100644
--- a/var/spack/repos/builtin/packages/maven/package.py
+++ b/var/spack/repos/builtin/packages/maven/package.py
@@ -14,25 +14,25 @@ class Maven(Package):
homepage = "https://maven.apache.org/index.html"
url = "https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.tar.gz"
- version('3.8.4', sha256='2cdc9c519427bb20fdc25bef5a9063b790e4abd930e7b14b4e9f4863d6f9f13c')
- version('3.6.3', sha256='26ad91d751b3a9a53087aefa743f4e16a17741d3915b219cf74112bf87a438c5')
- version('3.6.2', sha256='3fbc92d1961482d6fbd57fbf3dd6d27a4de70778528ee3fb44aa7d27eb32dfdc')
- version('3.6.1', sha256='2528c35a99c30f8940cc599ba15d34359d58bec57af58c1075519b8cd33b69e7')
- version('3.6.0', sha256='6a1b346af36a1f1a491c1c1a141667c5de69b42e6611d3687df26868bc0f4637')
- version('3.5.0', sha256='beb91419245395bd69a4a6edad5ca3ec1a8b64e41457672dc687c173a495f034')
- version('3.3.9', sha256='6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82')
- version('3.0.4', sha256='d35a876034c08cb7e20ea2fbcf168bcad4dff5801abad82d48055517513faa2f')
+ version("3.8.4", sha256="2cdc9c519427bb20fdc25bef5a9063b790e4abd930e7b14b4e9f4863d6f9f13c")
+ version("3.6.3", sha256="26ad91d751b3a9a53087aefa743f4e16a17741d3915b219cf74112bf87a438c5")
+ version("3.6.2", sha256="3fbc92d1961482d6fbd57fbf3dd6d27a4de70778528ee3fb44aa7d27eb32dfdc")
+ version("3.6.1", sha256="2528c35a99c30f8940cc599ba15d34359d58bec57af58c1075519b8cd33b69e7")
+ version("3.6.0", sha256="6a1b346af36a1f1a491c1c1a141667c5de69b42e6611d3687df26868bc0f4637")
+ version("3.5.0", sha256="beb91419245395bd69a4a6edad5ca3ec1a8b64e41457672dc687c173a495f034")
+ version("3.3.9", sha256="6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82")
+ version("3.0.4", sha256="d35a876034c08cb7e20ea2fbcf168bcad4dff5801abad82d48055517513faa2f")
- depends_on('java', type='run')
+ depends_on("java", type="run")
- executables = ['^mvn$']
+ executables = ["^mvn$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'Apache Maven (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"Apache Maven (\S+)", output)
return match.group(1) if match else None
def install(self, spec, prefix):
# install pre-built distribution
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/maverick/package.py b/var/spack/repos/builtin/packages/maverick/package.py
index ea47b445ad..d890821d88 100644
--- a/var/spack/repos/builtin/packages/maverick/package.py
+++ b/var/spack/repos/builtin/packages/maverick/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Maverick(MakefilePackage):
"""MavericK is a program for inferring population structure on the basis
- of genetic information."""
+ of genetic information."""
homepage = "https://github.com/bobverity/MavericK"
- url = "https://github.com/bobverity/MavericK/archive/v1.0.4.tar.gz"
+ url = "https://github.com/bobverity/MavericK/archive/v1.0.4.tar.gz"
- version('1.0.4', sha256='d4634c1b3f09cec9eb60d72348e2f479d74220ecbdebd940bb18b480db8df8cb')
+ version("1.0.4", sha256="d4634c1b3f09cec9eb60d72348e2f479d74220ecbdebd940bb18b480db8df8cb")
- conflicts('%gcc@:6.0')
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%gcc@:6.0")
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('MavericK', prefix.bin)
+ install("MavericK", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mawk/package.py b/var/spack/repos/builtin/packages/mawk/package.py
index 80350aa828..34725d50e2 100644
--- a/var/spack/repos/builtin/packages/mawk/package.py
+++ b/var/spack/repos/builtin/packages/mawk/package.py
@@ -10,9 +10,11 @@ class Mawk(AutotoolsPackage):
"""mawk is an interpreter for the AWK Programming Language."""
homepage = "https://invisible-island.net/mawk/mawk.html"
- url = "https://invisible-mirror.net/archives/mawk/mawk-1.3.4.tgz"
+ url = "https://invisible-mirror.net/archives/mawk/mawk-1.3.4.tgz"
- version('1.3.4-20171017', sha256='db17115d1ed18ed1607c8b93291db9ccd4fe5e0f30d2928c3c5d127b23ec9e5b')
- version('1.3.4', sha256='2f2ab8831c441a5793ad333193c888c9ba29c900f009aa23c9fffc100c405925')
+ version(
+ "1.3.4-20171017", sha256="db17115d1ed18ed1607c8b93291db9ccd4fe5e0f30d2928c3c5d127b23ec9e5b"
+ )
+ version("1.3.4", sha256="2f2ab8831c441a5793ad333193c888c9ba29c900f009aa23c9fffc100c405925")
- provides('awk')
+ provides("awk")
diff --git a/var/spack/repos/builtin/packages/mbdyn/package.py b/var/spack/repos/builtin/packages/mbdyn/package.py
index e613bdefa7..176c67047a 100644
--- a/var/spack/repos/builtin/packages/mbdyn/package.py
+++ b/var/spack/repos/builtin/packages/mbdyn/package.py
@@ -11,9 +11,9 @@ class Mbdyn(AutotoolsPackage):
multibody dynamics analysis software."""
homepage = "https://www.mbdyn.org/"
- url = "https://www.mbdyn.org/userfiles/downloads/mbdyn-1.7.3.tar.gz"
+ url = "https://www.mbdyn.org/userfiles/downloads/mbdyn-1.7.3.tar.gz"
- version('1.7.3', sha256='3cf05cd1cb14c1af3d987aac119b6ecf0d835bc1aee06bc4cf7cc5a245c1f36d')
+ version("1.7.3", sha256="3cf05cd1cb14c1af3d987aac119b6ecf0d835bc1aee06bc4cf7cc5a245c1f36d")
# Failed to build mbdyn with gcc@4.8.5 and gcc@9.2.0
- conflicts('%gcc@:5.0,9.0:')
+ conflicts("%gcc@:5.0,9.0:")
diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py
index fff1e38e5c..3d5121ba1f 100644
--- a/var/spack/repos/builtin/packages/mbedtls/package.py
+++ b/var/spack/repos/builtin/packages/mbedtls/package.py
@@ -8,57 +8,106 @@ from spack.package import *
class Mbedtls(MakefilePackage):
"""mbed TLS (formerly known as PolarSSL) makes it trivially easy for
- developers to include cryptographic and SSL/TLS capabilities in
- their (embedded) products, facilitating this functionality with a
- minimal coding footprint.
+ developers to include cryptographic and SSL/TLS capabilities in
+ their (embedded) products, facilitating this functionality with a
+ minimal coding footprint.
"""
homepage = "https://tls.mbed.org"
- url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz"
- maintainers = ['mwkrentel', 'haampie']
-
- version('3.1.0', sha256='64d01a3b22b91cf3a25630257f268f11bc7bfa37981ae6d397802dd4ccec4690')
- version('3.0.0', sha256='377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0')
- version('2.28.0', sha256='f644248f23cf04315cf9bb58d88c4c9471c16ca0533ecf33f86fb7749a3e5fa6')
- version('2.27.0', sha256='4f6a43f06ded62aa20ef582436a39b65902e1126cbbe2fb17f394e9e9a552767')
- version('2.24.0', sha256='b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3')
- version('2.16.12', sha256='0afb4a4ce5b771f2fb86daee786362fbe48285f05b73cd205f46a224ec031783')
- version('2.16.11', sha256='51bb9685c4f4ff9255da5659ff346b89dcaf129e3ba0f3b2b0c48a1a7495e701')
- version('2.16.9', sha256='b7ca99ee10551b5b13242b7effebefd2a5cc38c287e5f5be1267d51ee45effe3', deprecated=True)
- version('2.16.7', sha256='4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86', deprecated=True)
- version('2.16.1', sha256='daf0d40f3016c34eb42d1e4b3b52be047e976d566aba8668977723c829af72f3', deprecated=True)
- version('2.7.19', sha256='3da12b1cebe1a25da8365d5349f67db514aefcaa75e26082d7cb2fa3ce9608aa')
- version('2.7.10', sha256='42b19b30b86a798bdb69c5da2f8bbd7d72ffede9a35b888ab986a29480f9dc3e', deprecated=True)
- version('2.3.0', sha256='1614ee70be99a18ca8298148308fb725aad4ad31c569438bb51655a4999b14f9', deprecated=True)
- version('2.2.1', sha256='32819c62c20e8740a11b49daa5d09ac6f179edf120a87ac559cd63120b66b699', deprecated=True)
- version('2.2.0', sha256='75494361e412444b38ebb9c908b7e17a5fb582eb9c3fadb2fe9b21e96f1bf8cb', deprecated=True)
- version('2.1.4', sha256='a0ee4d3dd135baf67a3cf5ad9e70d67575561704325d6c93d8f087181f4db338', deprecated=True)
- version('2.1.3', sha256='94da4618d5a518b99f7914a5e348be436e3571113d9a9978d130725a1fc7bfac', deprecated=True)
- version('1.3.16', sha256='0c2666222b66cf09c4630fa60a715aafd7decb1a09933b75c0c540b0625ac5df', deprecated=True)
-
- variant('pic', default=False, description='Compile with position independent code.')
- variant('build_type', default='Release', description='Build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- variant('libs', default='static', values=('shared', 'static'),
- multi=True, description='What libraries to build')
-
- depends_on('perl', type='test')
- depends_on('python@3:', type='test', when='@3:')
- depends_on('python@:2', type='test', when='@:2')
+ url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz"
+ maintainers = ["mwkrentel", "haampie"]
+
+ version("3.1.0", sha256="64d01a3b22b91cf3a25630257f268f11bc7bfa37981ae6d397802dd4ccec4690")
+ version("3.0.0", sha256="377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0")
+ version("2.28.0", sha256="f644248f23cf04315cf9bb58d88c4c9471c16ca0533ecf33f86fb7749a3e5fa6")
+ version("2.27.0", sha256="4f6a43f06ded62aa20ef582436a39b65902e1126cbbe2fb17f394e9e9a552767")
+ version("2.24.0", sha256="b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3")
+ version("2.16.12", sha256="0afb4a4ce5b771f2fb86daee786362fbe48285f05b73cd205f46a224ec031783")
+ version("2.16.11", sha256="51bb9685c4f4ff9255da5659ff346b89dcaf129e3ba0f3b2b0c48a1a7495e701")
+ version(
+ "2.16.9",
+ sha256="b7ca99ee10551b5b13242b7effebefd2a5cc38c287e5f5be1267d51ee45effe3",
+ deprecated=True,
+ )
+ version(
+ "2.16.7",
+ sha256="4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86",
+ deprecated=True,
+ )
+ version(
+ "2.16.1",
+ sha256="daf0d40f3016c34eb42d1e4b3b52be047e976d566aba8668977723c829af72f3",
+ deprecated=True,
+ )
+ version("2.7.19", sha256="3da12b1cebe1a25da8365d5349f67db514aefcaa75e26082d7cb2fa3ce9608aa")
+ version(
+ "2.7.10",
+ sha256="42b19b30b86a798bdb69c5da2f8bbd7d72ffede9a35b888ab986a29480f9dc3e",
+ deprecated=True,
+ )
+ version(
+ "2.3.0",
+ sha256="1614ee70be99a18ca8298148308fb725aad4ad31c569438bb51655a4999b14f9",
+ deprecated=True,
+ )
+ version(
+ "2.2.1",
+ sha256="32819c62c20e8740a11b49daa5d09ac6f179edf120a87ac559cd63120b66b699",
+ deprecated=True,
+ )
+ version(
+ "2.2.0",
+ sha256="75494361e412444b38ebb9c908b7e17a5fb582eb9c3fadb2fe9b21e96f1bf8cb",
+ deprecated=True,
+ )
+ version(
+ "2.1.4",
+ sha256="a0ee4d3dd135baf67a3cf5ad9e70d67575561704325d6c93d8f087181f4db338",
+ deprecated=True,
+ )
+ version(
+ "2.1.3",
+ sha256="94da4618d5a518b99f7914a5e348be436e3571113d9a9978d130725a1fc7bfac",
+ deprecated=True,
+ )
+ version(
+ "1.3.16",
+ sha256="0c2666222b66cf09c4630fa60a715aafd7decb1a09933b75c0c540b0625ac5df",
+ deprecated=True,
+ )
+
+ variant("pic", default=False, description="Compile with position independent code.")
+ variant(
+ "build_type",
+ default="Release",
+ description="Build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant(
+ "libs",
+ default="static",
+ values=("shared", "static"),
+ multi=True,
+ description="What libraries to build",
+ )
+
+ depends_on("perl", type="test")
+ depends_on("python@3:", type="test", when="@3:")
+ depends_on("python@:2", type="test", when="@:2")
# See https://github.com/Mbed-TLS/mbedtls/issues/4917
# Only 2.16.12, 2.28.0 and 3.1.0 support clang 12.
- conflicts('%clang@12:', when='@:2.16.11,2.17:2.27,2.29:3.0')
+ conflicts("%clang@12:", when="@:2.16.11,2.17:2.27,2.29:3.0")
# See https://github.com/ARMmbed/mbedtls/pull/5126
# and the 2.x backport: https://github.com/ARMmbed/mbedtls/pull/5133
- patch('fix-dt-needed-shared-libs.patch', when='@2.7:2.27,3.0.0')
+ patch("fix-dt-needed-shared-libs.patch", when="@2.7:2.27,3.0.0")
build_type_to_flags = {
- 'Debug': '-O0 -g',
- 'Release': '-O3',
- 'RelWithDebInfo': '-O2 -g',
- 'MinSizeRel': '-Os',
+ "Debug": "-O0 -g",
+ "Release": "-O3",
+ "RelWithDebInfo": "-O2 -g",
+ "MinSizeRel": "-Os",
}
# TODO: Can't express this in spack right now; but we can live with
@@ -67,24 +116,24 @@ class Mbedtls(MakefilePackage):
def flag_handler(self, name, flags):
# Compile with PIC, if requested.
- if name == 'cflags':
- build_type = self.spec.variants['build_type'].value
+ if name == "cflags":
+ build_type = self.spec.variants["build_type"].value
flags.append(self.build_type_to_flags[build_type])
- if self.spec.variants['pic'].value:
+ if self.spec.variants["pic"].value:
flags.append(self.compiler.cc_pic_flag)
return (None, flags, None)
def setup_build_environment(self, env):
- if 'shared' in self.spec.variants['libs'].value:
- env.set('SHARED', 'yes')
+ if "shared" in self.spec.variants["libs"].value:
+ env.set("SHARED", "yes")
- if '%nvhpc' in self.spec:
+ if "%nvhpc" in self.spec:
# -Wno-format-nonliteral is not supported.
- env.set('WARNING_CFLAGS', '-Wall -Wextra -Wformat=2')
+ env.set("WARNING_CFLAGS", "-Wall -Wextra -Wformat=2")
def build(self, spec, prefix):
- make('no_test')
+ make("no_test")
def install(self, spec, prefix):
- make('install', 'DESTDIR={0}'.format(prefix))
+ make("install", "DESTDIR={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/mc/package.py b/var/spack/repos/builtin/packages/mc/package.py
index 47bed9314c..506fc6325d 100644
--- a/var/spack/repos/builtin/packages/mc/package.py
+++ b/var/spack/repos/builtin/packages/mc/package.py
@@ -10,33 +10,33 @@ class Mc(AutotoolsPackage):
"""The GNU Midnight Commander is a visual file manager."""
homepage = "https://midnight-commander.org"
- url = "http://ftp.midnight-commander.org/mc-4.8.20.tar.bz2"
+ url = "http://ftp.midnight-commander.org/mc-4.8.20.tar.bz2"
- version('4.8.28', sha256='6bb47533d7a55bb21e46292d2f94786c9037bd7a70bf02b6a3c48adb0c9ce20c')
- version('4.8.26', sha256='9d6358d0a351a455a1410aab57f33b6b48b0fcf31344b9a10b0ff497595979d1')
- version('4.8.23', sha256='238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d')
- version('4.8.21', sha256='251d9f0ef9309ef3eea0fdc4c12b8b61149e5056bef1b2de2ccc7f015d973444')
- version('4.8.20', sha256='2d85daaa6ab26e524946df4823ac2f69802bc16bc967781b5e28d5b86fc3b979')
+ version("4.8.28", sha256="6bb47533d7a55bb21e46292d2f94786c9037bd7a70bf02b6a3c48adb0c9ce20c")
+ version("4.8.26", sha256="9d6358d0a351a455a1410aab57f33b6b48b0fcf31344b9a10b0ff497595979d1")
+ version("4.8.23", sha256="238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d")
+ version("4.8.21", sha256="251d9f0ef9309ef3eea0fdc4c12b8b61149e5056bef1b2de2ccc7f015d973444")
+ version("4.8.20", sha256="2d85daaa6ab26e524946df4823ac2f69802bc16bc967781b5e28d5b86fc3b979")
- depends_on('ncurses')
- depends_on('pkgconfig', type='build')
- depends_on('glib@2.14:')
- depends_on('libssh2@1.2.5:')
+ depends_on("ncurses")
+ depends_on("pkgconfig", type="build")
+ depends_on("glib@2.14:")
+ depends_on("libssh2@1.2.5:")
def setup_build_environment(self, env):
# Fix compilation bug on macOS by pretending we don't have utimensat()
# https://github.com/MidnightCommander/mc/pull/130
- if 'darwin' in self.spec.architecture:
- env.set('ac_cv_func_utimensat', 'no')
+ if "darwin" in self.spec.architecture:
+ env.set("ac_cv_func_utimensat", "no")
def configure_args(self):
args = [
- 'CFLAGS={0}'.format(self.compiler.c99_flag),
- '--disable-debug',
- '--disable-dependency-tracking',
- '--disable-silent-rules',
- '--without-x',
- '--with-screen=ncurses',
- '--enable-vfs-sftp'
+ "CFLAGS={0}".format(self.compiler.c99_flag),
+ "--disable-debug",
+ "--disable-dependency-tracking",
+ "--disable-silent-rules",
+ "--without-x",
+ "--with-screen=ncurses",
+ "--enable-vfs-sftp",
]
return args
diff --git a/var/spack/repos/builtin/packages/mcl/package.py b/var/spack/repos/builtin/packages/mcl/package.py
index 539ed47133..f6768b1842 100644
--- a/var/spack/repos/builtin/packages/mcl/package.py
+++ b/var/spack/repos/builtin/packages/mcl/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class Mcl(AutotoolsPackage):
"""The MCL algorithm is short for the Markov Cluster Algorithm, a fast
- and scalable unsupervised cluster algorithm for graphs (also known
- as networks) based on simulation of (stochastic) flow in graphs."""
+ and scalable unsupervised cluster algorithm for graphs (also known
+ as networks) based on simulation of (stochastic) flow in graphs."""
homepage = "https://www.micans.org/mcl/index.html"
- url = "https://www.micans.org/mcl/src/mcl-14-137.tar.gz"
+ url = "https://www.micans.org/mcl/src/mcl-14-137.tar.gz"
- version('14-137', sha256='b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497')
+ version("14-137", sha256="b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497")
- @when('%gcc@10:')
+ @when("%gcc@10:")
def patch(self):
- filter_file('^dim', 'extern dim', 'src/impala/iface.h')
- filter_file('^double', 'extern double', 'src/impala/iface.h')
+ filter_file("^dim", "extern dim", "src/impala/iface.h")
+ filter_file("^double", "extern double", "src/impala/iface.h")
diff --git a/var/spack/repos/builtin/packages/mcpp/package.py b/var/spack/repos/builtin/packages/mcpp/package.py
index 5e71240ac1..3296462074 100644
--- a/var/spack/repos/builtin/packages/mcpp/package.py
+++ b/var/spack/repos/builtin/packages/mcpp/package.py
@@ -13,8 +13,8 @@ class Mcpp(AutotoolsPackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/mcpp/"
sourceforge_mirror_path = "mcpp/mcpp/V.2.7.2/mcpp-2.7.2.tar.gz"
- version('2.7.2', sha256='3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864')
+ version("2.7.2", sha256="3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864")
def configure_args(self):
- config_args = ['--enable-mcpplib', '--disable-static']
+ config_args = ["--enable-mcpplib", "--disable-static"]
return config_args
diff --git a/var/spack/repos/builtin/packages/mctc-lib/package.py b/var/spack/repos/builtin/packages/mctc-lib/package.py
index bcdf8a5b1a..5afdfb8b58 100644
--- a/var/spack/repos/builtin/packages/mctc-lib/package.py
+++ b/var/spack/repos/builtin/packages/mctc-lib/package.py
@@ -10,13 +10,13 @@ class MctcLib(MesonPackage):
"""Modular computation toolchain library for quantum chemistry file IO"""
homepage = "https://github.com/grimme-lab/mctc-lib"
- url = "https://github.com/grimme-lab/mctc-lib/releases/download/v0.3.0/mctc-lib-0.3.0.tar.xz"
+ url = "https://github.com/grimme-lab/mctc-lib/releases/download/v0.3.0/mctc-lib-0.3.0.tar.xz"
git = "https://github.com/grimme-lab/mctc-lib"
maintainers = ["awvwgk"]
version("main", branch="main")
- version('0.3.0', '81f3edbf322e6e28e621730a796278498b84af0f221f785c537a315312059bf0')
+ version("0.3.0", "81f3edbf322e6e28e621730a796278498b84af0f221f785c537a315312059bf0")
variant("json", default=False, description="Enable support for JSON")
diff --git a/var/spack/repos/builtin/packages/mcutils/package.py b/var/spack/repos/builtin/packages/mcutils/package.py
index cedbc7c896..4d983e8080 100644
--- a/var/spack/repos/builtin/packages/mcutils/package.py
+++ b/var/spack/repos/builtin/packages/mcutils/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Mcutils(MakefilePackage):
"""A collection of routines for classification and manipulation of
- particle physics simulated HepMC event records."""
+ particle physics simulated HepMC event records."""
homepage = "https://gitlab.com/hepcedar/mcutils"
- git = "https://gitlab.com/hepcedar/mcutils.git"
-
- tags = ['hep']
-
- version('1.3.5', tag='mcutils-1.3.5')
- version('1.3.4', tag='mcutils-1.3.4')
- version('1.3.3', tag='mcutils-1.3.3')
- version('1.3.2', tag='mcutils-1.3.2')
- version('1.3.1', tag='mcutils-1.3.1')
- version('1.3.1', tag='mcutils-1.3.0')
- version('1.2.1', tag='mcutils-1.2.1')
- version('1.2.0', tag='mcutils-1.2.0')
- version('1.1.2', tag='mcutils-1.1.2')
- version('1.1.1', tag='mcutils-1.1.1')
- version('1.1.0', tag='mcutils-1.1.0')
- version('1.0.3', tag='mcutils-1.0.3')
- version('1.0.2', tag='mcutils-1.0.2')
- version('1.0.1', tag='mcutils-1.0.1')
- version('1.0.0', tag='mcutils-1.0.0')
-
- depends_on('heputils', when='@1.1.0:')
+ git = "https://gitlab.com/hepcedar/mcutils.git"
+
+ tags = ["hep"]
+
+ version("1.3.5", tag="mcutils-1.3.5")
+ version("1.3.4", tag="mcutils-1.3.4")
+ version("1.3.3", tag="mcutils-1.3.3")
+ version("1.3.2", tag="mcutils-1.3.2")
+ version("1.3.1", tag="mcutils-1.3.1")
+ version("1.3.1", tag="mcutils-1.3.0")
+ version("1.2.1", tag="mcutils-1.2.1")
+ version("1.2.0", tag="mcutils-1.2.0")
+ version("1.1.2", tag="mcutils-1.1.2")
+ version("1.1.1", tag="mcutils-1.1.1")
+ version("1.1.0", tag="mcutils-1.1.0")
+ version("1.0.3", tag="mcutils-1.0.3")
+ version("1.0.2", tag="mcutils-1.0.2")
+ version("1.0.1", tag="mcutils-1.0.1")
+ version("1.0.0", tag="mcutils-1.0.0")
+
+ depends_on("heputils", when="@1.1.0:")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/mdsplus/package.py b/var/spack/repos/builtin/packages/mdsplus/package.py
index 277424040b..35a3a085bb 100644
--- a/var/spack/repos/builtin/packages/mdsplus/package.py
+++ b/var/spack/repos/builtin/packages/mdsplus/package.py
@@ -9,47 +9,45 @@ from spack.package import *
class Mdsplus(AutotoolsPackage):
"""A set of software tools for data acquisition and storage and a
methodology for management of complex scientific data."""
+
homepage = "https://mdsplus.org"
- git = "https://github.com/MDSplus/mdsplus.git"
+ git = "https://github.com/MDSplus/mdsplus.git"
- maintainers = ['wmvanvliet']
+ maintainers = ["wmvanvliet"]
parallel = False
- version('stable_release-7-96-17', tag='stable_release-7-96-17',
- submodules=True)
+ version("stable_release-7-96-17", tag="stable_release-7-96-17", submodules=True)
- variant('java', default=True,
- description='Build java libraries and applications')
- variant('python', default=True,
- description='Install python module')
+ variant("java", default=True, description="Build java libraries and applications")
+ variant("python", default=True, description="Install python module")
# Autotools needed for building
- depends_on('autoconf', type='build')
- depends_on('autoconf-archive', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("autoconf-archive", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
# Libs needed for building and linking
- depends_on('libxml2')
- depends_on('readline')
+ depends_on("libxml2")
+ depends_on("readline")
# GUI bindings
- depends_on('motif')
+ depends_on("motif")
# Language bindings
- depends_on('java', type=('build', 'run'), when='+java')
+ depends_on("java", type=("build", "run"), when="+java")
def configure_args(self):
- return self.enable_or_disable('java')
+ return self.enable_or_disable("java")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
def setup_run_environment(self, env):
- env.set('MDSPLUS_DIR', self.prefix)
- if '+python' in self.spec:
- env.prepend_path('PYTHONPATH', '{0}/python'.format(self.prefix))
+ env.set("MDSPLUS_DIR", self.prefix)
+ if "+python" in self.spec:
+ env.prepend_path("PYTHONPATH", "{0}/python".format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/mdtest/package.py b/var/spack/repos/builtin/packages/mdtest/package.py
index 269039b44f..fb1968cced 100644
--- a/var/spack/repos/builtin/packages/mdtest/package.py
+++ b/var/spack/repos/builtin/packages/mdtest/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Mdtest(Package):
"""mdtest is an MPI-coordinated metadata benchmark test
- that performs open/stat/close operations on files
- and directories and then reports the performance."""
+ that performs open/stat/close operations on files
+ and directories and then reports the performance."""
homepage = "https://github.com/LLNL/mdtest"
- git = "https://github.com/LLNL/mdtest.git"
+ git = "https://github.com/LLNL/mdtest.git"
- version('1.9.3', commit='49f3f0')
+ version("1.9.3", commit="49f3f0")
- depends_on('mpi')
+ depends_on("mpi")
def install(self, spec, prefix):
- filter_file('$(CC.$(OS))', spec['mpi'].mpicc, 'Makefile', string=True)
- make('mdtest')
+ filter_file("$(CC.$(OS))", spec["mpi"].mpicc, "Makefile", string=True)
+ make("mdtest")
mkdirp(prefix.bin)
- install('mdtest', prefix.bin)
+ install("mdtest", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/med/package.py b/var/spack/repos/builtin/packages/med/package.py
index b1df37e56f..d5192a5d74 100644
--- a/var/spack/repos/builtin/packages/med/package.py
+++ b/var/spack/repos/builtin/packages/med/package.py
@@ -12,65 +12,74 @@ class Med(CMakePackage):
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']
+ maintainers = ["likask"]
# 4.1.0 does not compile in static mode
- version('4.1.0', sha256='847db5d6fbc9ce6924cb4aea86362812c9a5ef6b9684377e4dd6879627651fce')
- version('4.0.0', sha256='a474e90b5882ce69c5e9f66f6359c53b8b73eb448c5f631fa96e8cd2c14df004', preferred=True)
- version('3.2.0', sha256='d52e9a1bdd10f31aa154c34a5799b48d4266dc6b4a5ee05a9ceda525f2c6c138')
-
- variant('api23', default=True, description='Enable API2.3')
- variant('mpi', default=True, description='Enable MPI')
- variant('shared', default=False,
- description='Builds a shared version of the library')
- variant('fortran', default=False, description='Enable Fortran support')
-
- depends_on('mpi', when='+mpi')
- depends_on('hdf5@:1.8.22+mpi', when='@3.2.0+mpi')
- depends_on('hdf5@1.10.2:1.10.7+mpi', when='@4.0.0:+mpi')
- depends_on('hdf5@:1.8.22~mpi', when='@3.2.0~mpi')
- depends_on('hdf5@1.10.2:1.10.7~mpi', when='@4.0.0:~mpi')
+ version("4.1.0", sha256="847db5d6fbc9ce6924cb4aea86362812c9a5ef6b9684377e4dd6879627651fce")
+ version(
+ "4.0.0",
+ sha256="a474e90b5882ce69c5e9f66f6359c53b8b73eb448c5f631fa96e8cd2c14df004",
+ preferred=True,
+ )
+ version("3.2.0", sha256="d52e9a1bdd10f31aa154c34a5799b48d4266dc6b4a5ee05a9ceda525f2c6c138")
+
+ variant("api23", default=True, description="Enable API2.3")
+ variant("mpi", default=True, description="Enable MPI")
+ variant("shared", default=False, description="Builds a shared version of the library")
+ variant("fortran", default=False, description="Enable Fortran support")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5@:1.8.22+mpi", when="@3.2.0+mpi")
+ depends_on("hdf5@1.10.2:1.10.7+mpi", when="@4.0.0:+mpi")
+ depends_on("hdf5@:1.8.22~mpi", when="@3.2.0~mpi")
+ depends_on("hdf5@1.10.2:1.10.7~mpi", when="@4.0.0:~mpi")
# the "TARGET hdf5" patch below only works with HDF5 shared library builds
- depends_on('hdf5+shared', when='@4.0.0:4.1.99')
+ depends_on("hdf5+shared", when="@4.0.0:4.1.99")
conflicts("@4.1.0", when="~shared", msg="Link error when static")
# C++11 requires a space between literal and identifier
- patch('add_space.patch', when='@3.2.0')
+ patch("add_space.patch", when="@3.2.0")
# fix problem where CMake "could not find TARGET hdf5"
- patch('med-4.1.0-hdf5-target.patch', when='@4.0.0:4.1.99')
+ patch("med-4.1.0-hdf5-target.patch", when="@4.0.0:4.1.99")
def cmake_args(self):
spec = self.spec
options = [
- self.define('HDF5_ROOT_DIR', spec['hdf5'].prefix),
- self.define('MEDFILE_BUILD_TESTS', self.run_tests),
- self.define('MEDFILE_BUILD_PYTHON', False),
- self.define('MEDFILE_INSTALL_DOC', False),
+ self.define("HDF5_ROOT_DIR", spec["hdf5"].prefix),
+ self.define("MEDFILE_BUILD_TESTS", self.run_tests),
+ self.define("MEDFILE_BUILD_PYTHON", False),
+ self.define("MEDFILE_INSTALL_DOC", False),
]
- if '~fortran' in spec:
- options.append('-DCMAKE_Fortran_COMPILER=')
-
- if '+api23' in spec:
- options.extend([
- '-DCMAKE_CXX_FLAGS:STRING=-DMED_API_23=1',
- '-DCMAKE_C_FLAGS:STRING=-DMED_API_23=1',
- '-DMED_API_23=1'])
-
- if '+shared' in spec:
- options.extend([
- '-DMEDFILE_BUILD_SHARED_LIBS=ON',
- '-DMEDFILE_BUILD_STATIC_LIBS=OFF',
- ])
+ if "~fortran" in spec:
+ options.append("-DCMAKE_Fortran_COMPILER=")
+
+ if "+api23" in spec:
+ options.extend(
+ [
+ "-DCMAKE_CXX_FLAGS:STRING=-DMED_API_23=1",
+ "-DCMAKE_C_FLAGS:STRING=-DMED_API_23=1",
+ "-DMED_API_23=1",
+ ]
+ )
+
+ if "+shared" in spec:
+ options.extend(
+ [
+ "-DMEDFILE_BUILD_SHARED_LIBS=ON",
+ "-DMEDFILE_BUILD_STATIC_LIBS=OFF",
+ ]
+ )
else:
- options.extend([
- '-DMEDFILE_BUILD_SHARED_LIBS=OFF',
- '-DMEDFILE_BUILD_STATIC_LIBS=ON',
- ])
-
- if '+mpi' in spec:
- options.extend(['-DMEDFILE_USE_MPI=YES',
- '-DMPI_ROOT_DIR=%s' % spec['mpi'].prefix])
+ options.extend(
+ [
+ "-DMEDFILE_BUILD_SHARED_LIBS=OFF",
+ "-DMEDFILE_BUILD_STATIC_LIBS=ON",
+ ]
+ )
+
+ if "+mpi" in spec:
+ options.extend(["-DMEDFILE_USE_MPI=YES", "-DMPI_ROOT_DIR=%s" % spec["mpi"].prefix])
return options
diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py
index 9340a2d83f..5f8124e473 100644
--- a/var/spack/repos/builtin/packages/meep/package.py
+++ b/var/spack/repos/builtin/packages/meep/package.py
@@ -11,97 +11,103 @@ class Meep(AutotoolsPackage):
software package developed at MIT to model electromagnetic systems."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/Meep"
- git = "https://github.com/NanoComp/meep.git"
- url = "https://github.com/NanoComp/meep/archive/refs/tags/v1.21.0.tar.gz"
-
- version('master', branch='master')
-
- version('1.21.0', sha256='71911cd2f38b15bdafe9a27ad111f706f24717894d5f9b6f9f19c6c10a0d5896')
- version('1.3', sha256='564c1ff1b413a3487cf81048a45deabfdac4243a1a37ce743f4fcf0c055fd438',
- url='http://ab-initio.mit.edu/meep/meep-1.3.tar.gz')
- version('1.2.1', sha256='f1f0683e5688d231f7dd1863939677148fc27a6744c03510e030c85d6c518ea5',
- url='http://ab-initio.mit.edu/meep/meep-1.2.1.tar.gz')
- version('1.1.1', sha256='7a97b5555da1f9ea2ec6eed5c45bd97bcd6ddbd54bdfc181f46c696dffc169f2',
- url='http://ab-initio.mit.edu/meep/old/meep-1.1.1.tar.gz')
-
- variant('blas', default=True, description='Enable BLAS support')
- variant('lapack', default=True, description='Enable LAPACK support')
- variant('harminv', default=True, description='Enable Harminv support')
- variant('guile', default=True, description='Enable Guilde support')
- variant('libctl', default=True, description='Enable libctl support')
- variant('mpi', default=True, description='Enable MPI support')
- variant('hdf5', default=True, description='Enable HDF5 support')
- variant('gsl', default=True, description='Enable GSL support')
- variant('python', default=True, description='Enable Python support')
- variant('single', default=False, description='Enable Single Precision')
-
- depends_on('autoconf', type='build', when='@1.21.0')
- depends_on('automake', type='build', when='@1.21.0')
- depends_on('libtool', type='build', when='@1.21.0')
-
- depends_on('blas', when='+blas')
- depends_on('lapack', when='+lapack')
- depends_on('harminv', when='+harminv')
- depends_on('guile@:2', when='@:1.4+guile')
- depends_on('guile@2:', when='@1.4:+guile')
- depends_on('libctl@3.2', when='@:1.3+libctl')
- depends_on('libctl@4:', when='+libctl')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5~mpi', when='+hdf5~mpi')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('gsl', when='+gsl')
- with when('+python'):
- depends_on('python')
- depends_on('py-numpy')
- depends_on('swig')
- depends_on('py-mpi4py', when='+mpi')
+ git = "https://github.com/NanoComp/meep.git"
+ url = "https://github.com/NanoComp/meep/archive/refs/tags/v1.21.0.tar.gz"
+
+ version("master", branch="master")
+
+ version("1.21.0", sha256="71911cd2f38b15bdafe9a27ad111f706f24717894d5f9b6f9f19c6c10a0d5896")
+ version(
+ "1.3",
+ sha256="564c1ff1b413a3487cf81048a45deabfdac4243a1a37ce743f4fcf0c055fd438",
+ url="http://ab-initio.mit.edu/meep/meep-1.3.tar.gz",
+ )
+ version(
+ "1.2.1",
+ sha256="f1f0683e5688d231f7dd1863939677148fc27a6744c03510e030c85d6c518ea5",
+ url="http://ab-initio.mit.edu/meep/meep-1.2.1.tar.gz",
+ )
+ version(
+ "1.1.1",
+ sha256="7a97b5555da1f9ea2ec6eed5c45bd97bcd6ddbd54bdfc181f46c696dffc169f2",
+ url="http://ab-initio.mit.edu/meep/old/meep-1.1.1.tar.gz",
+ )
+
+ variant("blas", default=True, description="Enable BLAS support")
+ variant("lapack", default=True, description="Enable LAPACK support")
+ variant("harminv", default=True, description="Enable Harminv support")
+ variant("guile", default=True, description="Enable Guilde support")
+ variant("libctl", default=True, description="Enable libctl support")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("hdf5", default=True, description="Enable HDF5 support")
+ variant("gsl", default=True, description="Enable GSL support")
+ variant("python", default=True, description="Enable Python support")
+ variant("single", default=False, description="Enable Single Precision")
+
+ depends_on("autoconf", type="build", when="@1.21.0")
+ depends_on("automake", type="build", when="@1.21.0")
+ depends_on("libtool", type="build", when="@1.21.0")
+
+ depends_on("blas", when="+blas")
+ depends_on("lapack", when="+lapack")
+ depends_on("harminv", when="+harminv")
+ depends_on("guile@:2", when="@:1.4+guile")
+ depends_on("guile@2:", when="@1.4:+guile")
+ depends_on("libctl@3.2", when="@:1.3+libctl")
+ depends_on("libctl@4:", when="+libctl")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5~mpi", when="+hdf5~mpi")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("gsl", when="+gsl")
+ with when("+python"):
+ depends_on("python")
+ depends_on("py-numpy")
+ depends_on("swig")
+ depends_on("py-mpi4py", when="+mpi")
def configure_args(self):
spec = self.spec
- config_args = [
- '--enable-shared'
- ]
+ config_args = ["--enable-shared"]
- if '+blas' in spec:
- config_args.append('--with-blas={0}'.format(
- spec['blas'].prefix.lib))
+ if "+blas" in spec:
+ config_args.append("--with-blas={0}".format(spec["blas"].prefix.lib))
else:
- config_args.append('--without-blas')
+ config_args.append("--without-blas")
- if '+lapack' in spec:
- config_args.append('--with-lapack={0}'.format(
- spec['lapack'].prefix.lib))
+ if "+lapack" in spec:
+ config_args.append("--with-lapack={0}".format(spec["lapack"].prefix.lib))
else:
- config_args.append('--without-lapack')
+ config_args.append("--without-lapack")
- if '+libctl' in spec:
- config_args.append('--with-libctl={0}'.format(
- join_path(spec['libctl'].prefix.share, 'libctl')))
+ if "+libctl" in spec:
+ config_args.append(
+ "--with-libctl={0}".format(join_path(spec["libctl"].prefix.share, "libctl"))
+ )
else:
- config_args.append('--without-libctl')
+ config_args.append("--without-libctl")
- if '+mpi' in spec:
- config_args.append('--with-mpi')
+ if "+mpi" in spec:
+ config_args.append("--with-mpi")
else:
- config_args.append('--without-mpi')
+ config_args.append("--without-mpi")
- if '+hdf5' in spec:
- config_args.append('--with-hdf5')
+ if "+hdf5" in spec:
+ config_args.append("--with-hdf5")
else:
- config_args.append('--without-hdf5')
+ config_args.append("--without-hdf5")
- if '+python' in spec:
- config_args.append('--with-python')
+ if "+python" in spec:
+ config_args.append("--with-python")
else:
- config_args.append('--without-python')
- config_args.append('--without-scheme')
+ config_args.append("--without-python")
+ config_args.append("--without-scheme")
- if '+single' in spec:
- config_args.append('--enable-single')
+ if "+single" in spec:
+ config_args.append("--enable-single")
- if spec.satisfies('@1.21.0:'):
- config_args.append('--enable-maintainer-mode')
+ if spec.satisfies("@1.21.0:"):
+ config_args.append("--enable-maintainer-mode")
return config_args
@@ -110,7 +116,7 @@ class Meep(AutotoolsPackage):
# aniso_disp test fails unless installed with harminv
# near2far test fails unless installed with gsl
- if '+harminv' in spec and '+gsl' in spec:
+ if "+harminv" in spec and "+gsl" in spec:
# Most tests fail when run in parallel
# 2D_convergence tests still fails to converge for unknown reasons
- make('check', parallel=False)
+ make("check", parallel=False)
diff --git a/var/spack/repos/builtin/packages/mefit/package.py b/var/spack/repos/builtin/packages/mefit/package.py
index e4f76c6977..4cd24e6d4d 100644
--- a/var/spack/repos/builtin/packages/mefit/package.py
+++ b/var/spack/repos/builtin/packages/mefit/package.py
@@ -11,17 +11,17 @@ class Mefit(Package):
merge statistics, and filter reads for quality."""
homepage = "https://github.com/nisheth/MeFiT"
- git = "https://github.com/nisheth/MeFiT.git"
+ git = "https://github.com/nisheth/MeFiT.git"
- version('1.0', commit='0733326d8917570bbf70ff5c0f710bf66c13db09')
+ version("1.0", commit="0733326d8917570bbf70ff5c0f710bf66c13db09")
- depends_on('py-numpy')
- depends_on('py-htseq')
- depends_on('jellyfish')
- depends_on('casper %gcc@4.8.5')
+ depends_on("py-numpy")
+ depends_on("py-htseq")
+ depends_on("jellyfish")
+ depends_on("casper %gcc@4.8.5")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/megadock/package.py b/var/spack/repos/builtin/packages/megadock/package.py
index 46039bdd8e..3c7a5c1562 100644
--- a/var/spack/repos/builtin/packages/megadock/package.py
+++ b/var/spack/repos/builtin/packages/megadock/package.py
@@ -10,69 +10,68 @@ from spack.package import *
class Megadock(MakefilePackage, CudaPackage):
"""an ultra-high-performance protein-protein docking for
- heterogeneous supercomputers"""
+ heterogeneous supercomputers"""
homepage = "https://www.bi.cs.titech.ac.jp/megadock/"
- url = "https://www.bi.cs.titech.ac.jp/megadock/archives/megadock-4.0.3.tgz"
+ url = "https://www.bi.cs.titech.ac.jp/megadock/archives/megadock-4.0.3.tgz"
- version('4.0.3', sha256='c1409a411555f4f7b4eeeda81caf622d8a28259a599ea1d2181069c55f257664')
+ version("4.0.3", sha256="c1409a411555f4f7b4eeeda81caf622d8a28259a599ea1d2181069c55f257664")
- variant('mpi', description='Enable MPI', default=False)
+ variant("mpi", description="Enable MPI", default=False)
- depends_on('fftw')
- depends_on('mpi', when='+mpi')
+ depends_on("fftw")
+ depends_on("mpi", when="+mpi")
def edit(self, spec, prefix):
# point cuda samples relative to cuda installation
- filter_file('/opt/cuda/6.5/samples', '$(CUDA_INSTALL_PATH)/samples',
- 'Makefile', string=True)
+ filter_file(
+ "/opt/cuda/6.5/samples", "$(CUDA_INSTALL_PATH)/samples", "Makefile", string=True
+ )
# need to link calcrg to compiler's math impl
# libm seems to be present in most compilers
- mathlib = '-lm'
+ mathlib = "-lm"
# prefer libimf with intel
- if '%intel' in spec:
- mathlib = '-limf'
+ if "%intel" in spec:
+ mathlib = "-limf"
- filter_file('-o calcrg', '%s -o calcrg' % mathlib,
- 'Makefile', string=True)
+ filter_file("-o calcrg", "%s -o calcrg" % mathlib, "Makefile", string=True)
# makefile has a weird var for cuda_arch, use conditionally
- if '+cuda' in spec:
- arch = spec.variants['cuda_arch'].value
- archflag = ''
+ if "+cuda" in spec:
+ arch = spec.variants["cuda_arch"].value
+ archflag = ""
- if arch[0] != 'none':
- archflag = '-arch=%s' % arch[0]
+ if arch[0] != "none":
+ archflag = "-arch=%s" % arch[0]
- filter_file('-arch=$(SM_VERSIONS)', archflag,
- 'Makefile', string=True)
+ filter_file("-arch=$(SM_VERSIONS)", archflag, "Makefile", string=True)
@property
def build_targets(self):
spec = self.spec
targets = [
- 'USE_GPU=%s' % ('1' if '+cuda' in spec else '0'),
- 'USE_MPI=%s' % ('1' if '+mpi' in spec else '0'),
- 'OMPFLAG=%s' % self.compiler.openmp_flag,
- 'CPPCOMPILER=c++',
- 'FFTW_INSTALL_PATH=%s' % self.spec['fftw'].prefix,
+ "USE_GPU=%s" % ("1" if "+cuda" in spec else "0"),
+ "USE_MPI=%s" % ("1" if "+mpi" in spec else "0"),
+ "OMPFLAG=%s" % self.compiler.openmp_flag,
+ "CPPCOMPILER=c++",
+ "FFTW_INSTALL_PATH=%s" % self.spec["fftw"].prefix,
]
- if '+cuda' in spec:
- targets.append('CUDA_INSTALL_PATH=%s' % self.spec['cuda'].prefix)
+ if "+cuda" in spec:
+ targets.append("CUDA_INSTALL_PATH=%s" % self.spec["cuda"].prefix)
- if '+mpi' in spec:
- targets.append('MPICOMPILER=%s' % self.spec['mpi'].mpicxx)
+ if "+mpi" in spec:
+ targets.append("MPICOMPILER=%s" % self.spec["mpi"].mpicxx)
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- for suffix in ['', '-gpu', '-dp', '-gpu-dp']:
- fn = 'megadock' + suffix
+ for suffix in ["", "-gpu", "-dp", "-gpu-dp"]:
+ fn = "megadock" + suffix
if os.path.isfile(fn):
install(fn, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/megahit/package.py b/var/spack/repos/builtin/packages/megahit/package.py
index 50cf031c06..3a6d73d595 100644
--- a/var/spack/repos/builtin/packages/megahit/package.py
+++ b/var/spack/repos/builtin/packages/megahit/package.py
@@ -11,18 +11,18 @@ class Megahit(MakefilePackage):
large and complex metagenomics assembly via succinct de Bruijn graph"""
homepage = "https://github.com/voutcn/megahit"
- url = "https://github.com/voutcn/megahit/archive/v1.1.3.tar.gz"
+ url = "https://github.com/voutcn/megahit/archive/v1.1.3.tar.gz"
- version('1.1.4', sha256='ecd64c8bfa516ef6b19f9b2961ede281ec814db836f1a91953c213c944e1575f')
- version('1.1.3', sha256='b6eefdee075aaf7a8f9090e2e8b08b770caff90aa43a255e0e220d82ce71c492')
+ version("1.1.4", sha256="ecd64c8bfa516ef6b19f9b2961ede281ec814db836f1a91953c213c944e1575f")
+ version("1.1.3", sha256="b6eefdee075aaf7a8f9090e2e8b08b770caff90aa43a255e0e220d82ce71c492")
- depends_on('zlib')
+ depends_on("zlib")
- patch('amd.patch', when='target=aarch64:')
+ patch("amd.patch", when="target=aarch64:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('megahit', prefix.bin)
- install('megahit_asm_core', prefix.bin)
- install('megahit_sdbg_build', prefix.bin)
- install('megahit_toolkit', prefix.bin)
+ install("megahit", prefix.bin)
+ install("megahit_asm_core", prefix.bin)
+ install("megahit_sdbg_build", prefix.bin)
+ install("megahit_toolkit", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/melissa/package.py b/var/spack/repos/builtin/packages/melissa/package.py
index 2872dcb497..164fb674f0 100644
--- a/var/spack/repos/builtin/packages/melissa/package.py
+++ b/var/spack/repos/builtin/packages/melissa/package.py
@@ -11,32 +11,36 @@ class Melissa(CMakePackage):
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'
+ 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.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")
-
- 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'))
+ maintainers = ["christoph-conrads", "raffino"]
+
+ version("master", branch="master")
+ version("develop", branch="develop")
+ 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")
+
+ 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')
+ 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
diff --git a/var/spack/repos/builtin/packages/memaxes/package.py b/var/spack/repos/builtin/packages/memaxes/package.py
index d366e551a6..903f0e7b7a 100644
--- a/var/spack/repos/builtin/packages/memaxes/package.py
+++ b/var/spack/repos/builtin/packages/memaxes/package.py
@@ -11,14 +11,17 @@ class Memaxes(Package):
homepage = "https://github.com/llnl/MemAxes"
- version('0.5', sha256='9858f0f675b50e347d0b88545558e5d6b4333347c762b15d399b8d8004d7b68b',
- url='https://github.com/llnl/MemAxes/archive/v0.5.tar.gz')
+ version(
+ "0.5",
+ sha256="9858f0f675b50e347d0b88545558e5d6b4333347c762b15d399b8d8004d7b68b",
+ url="https://github.com/llnl/MemAxes/archive/v0.5.tar.gz",
+ )
- depends_on('cmake@2.8.9:', type='build')
+ depends_on("cmake@2.8.9:", type="build")
depends_on("qt@5:")
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
- cmake('..', *std_cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *std_cmake_args)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/memcached/package.py b/var/spack/repos/builtin/packages/memcached/package.py
index 45624a85de..fa31d8ecbb 100644
--- a/var/spack/repos/builtin/packages/memcached/package.py
+++ b/var/spack/repos/builtin/packages/memcached/package.py
@@ -13,28 +13,28 @@ class Memcached(AutotoolsPackage):
"""
homepage = "https://github.com/memcached/memcached"
- url = "https://github.com/memcached/memcached/archive/1.5.20.tar.gz"
-
- version('1.5.20', sha256='ee93aff47123e0b464e9f007b651b14c89c19e0c20352d8d1c399febbb038cb6')
- version('1.5.19', sha256='7af7a2e9b1f468d7f6056f23ce21c04936ce6891f8cb8cd54e133f489a8226e8')
- version('1.5.18', sha256='0bf8154f53d2781164421acd195a1665ac2f77316263c3526206c38e402c4b0d')
- version('1.5.17', sha256='cb30ad851e95c0190e6b7e59695f1ed2e51d65a9e6c82c893e043dc066053377')
- version('1.5.16', sha256='a0c1a7e72186722d7c0e9d5527a63beb339b933d768687f183e163adf935c662')
- version('1.5.15', sha256='4ef8627308e99bdd4200ef4f260fbcdd65a4ba634bd593ca02dbbfd71222e9f7')
- version('1.5.14', sha256='ae8ed2ed853b840a8430d8575d4e91b87c550b111874b416c551001403ac6a74')
- version('1.5.13', sha256='ae59a8b49be17afb344e57c8a8d64f9ae38b6efbc3f9115a422dbcb2b23795fc')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libevent', type='build')
+ url = "https://github.com/memcached/memcached/archive/1.5.20.tar.gz"
+
+ version("1.5.20", sha256="ee93aff47123e0b464e9f007b651b14c89c19e0c20352d8d1c399febbb038cb6")
+ version("1.5.19", sha256="7af7a2e9b1f468d7f6056f23ce21c04936ce6891f8cb8cd54e133f489a8226e8")
+ version("1.5.18", sha256="0bf8154f53d2781164421acd195a1665ac2f77316263c3526206c38e402c4b0d")
+ version("1.5.17", sha256="cb30ad851e95c0190e6b7e59695f1ed2e51d65a9e6c82c893e043dc066053377")
+ version("1.5.16", sha256="a0c1a7e72186722d7c0e9d5527a63beb339b933d768687f183e163adf935c662")
+ version("1.5.15", sha256="4ef8627308e99bdd4200ef4f260fbcdd65a4ba634bd593ca02dbbfd71222e9f7")
+ version("1.5.14", sha256="ae8ed2ed853b840a8430d8575d4e91b87c550b111874b416c551001403ac6a74")
+ version("1.5.13", sha256="ae59a8b49be17afb344e57c8a8d64f9ae38b6efbc3f9115a422dbcb2b23795fc")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libevent", type="build")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('./autogen.sh')
- autoreconf('--install', '--verbose', '--force')
+ sh = which("sh")
+ sh("./autogen.sh")
+ autoreconf("--install", "--verbose", "--force")
def configure_args(self):
- args = ['--with-libevent={0}'.format(self.spec['libevent'].prefix)]
+ args = ["--with-libevent={0}".format(self.spec["libevent"].prefix)]
return args
diff --git a/var/spack/repos/builtin/packages/meme/package.py b/var/spack/repos/builtin/packages/meme/package.py
index 32756fa655..08e7e75c70 100644
--- a/var/spack/repos/builtin/packages/meme/package.py
+++ b/var/spack/repos/builtin/packages/meme/package.py
@@ -13,43 +13,43 @@ class Meme(AutotoolsPackage):
wide variety of other motif-based analyses."""
homepage = "https://meme-suite.org"
- url = "http://meme-suite.org/meme-software/5.1.1/meme-5.1.1.tar.gz"
+ url = "http://meme-suite.org/meme-software/5.1.1/meme-5.1.1.tar.gz"
- version('5.3.0', sha256='b2ddec9db972fcf77b29c7deb62df8b1dd8a6638c13c1aa06a5d563c4a7ff756')
- version('5.2.0', sha256='0cbf8c2172e9b6c07855b8aeec457f4825f0b132f8cbb11192880e2f6033f54f')
- version('5.1.1', sha256='38d73d256d431ad4eb7da2c817ce56ff2b4e26c39387ff0d6ada088938b38eb5')
- version('4.12.0', sha256='49ff80f842b59d328588acfcd1d15bf94c55fed661d22b0f95f37430cc363a06')
- version('4.11.4', sha256='3e869ff57e327a9c8615dbef784e3f1095f7f7a0120cecd55efe10c3f2ee8eb3')
+ version("5.3.0", sha256="b2ddec9db972fcf77b29c7deb62df8b1dd8a6638c13c1aa06a5d563c4a7ff756")
+ version("5.2.0", sha256="0cbf8c2172e9b6c07855b8aeec457f4825f0b132f8cbb11192880e2f6033f54f")
+ version("5.1.1", sha256="38d73d256d431ad4eb7da2c817ce56ff2b4e26c39387ff0d6ada088938b38eb5")
+ version("4.12.0", sha256="49ff80f842b59d328588acfcd1d15bf94c55fed661d22b0f95f37430cc363a06")
+ version("4.11.4", sha256="3e869ff57e327a9c8615dbef784e3f1095f7f7a0120cecd55efe10c3f2ee8eb3")
- variant('mpi', default=True, description='Enable MPI support')
- variant('image-magick', default=False, description='Enable image-magick for png output')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("image-magick", default=False, description="Enable image-magick for png output")
- depends_on('zlib', type=('link'))
- depends_on('libgcrypt', type=('link'))
- depends_on('perl', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('mpi', when='+mpi')
- depends_on('imagemagick', type=('build', 'run'), when='+image-magick')
- depends_on('perl-xml-parser', type=('build', 'run'))
- depends_on('libxml2', type=('build', 'run'))
- depends_on('libxslt', type=('build', 'run'))
+ depends_on("zlib", type=("link"))
+ depends_on("libgcrypt", type=("link"))
+ depends_on("perl", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("mpi", when="+mpi")
+ depends_on("imagemagick", type=("build", "run"), when="+image-magick")
+ depends_on("perl-xml-parser", type=("build", "run"))
+ depends_on("libxml2", type=("build", "run"))
+ depends_on("libxslt", type=("build", "run"))
- patch('arm.patch', when='%arm')
+ patch("arm.patch", when="%arm")
def url_for_version(self, version):
- url = 'http://meme-suite.org/meme-software/{0}/meme{1}{2}.tar.gz'
- sep = '-' if version >= Version('5.0.2') else '_'
+ url = "http://meme-suite.org/meme-software/{0}/meme{1}{2}.tar.gz"
+ sep = "-" if version >= Version("5.0.2") else "_"
return url.format(version.up_to(3), sep, version)
def configure_args(self):
spec = self.spec
args = []
- if '~mpi' in spec:
- args += ['--enable-serial']
+ if "~mpi" in spec:
+ args += ["--enable-serial"]
return args
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('-fno-common', '', 'configure')
- filter_file('-Wno-unused', '', 'configure')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file("-fno-common", "", "configure")
+ filter_file("-Wno-unused", "", "configure")
diff --git a/var/spack/repos/builtin/packages/memkind/package.py b/var/spack/repos/builtin/packages/memkind/package.py
index 9475c64a77..a18bb7ca51 100644
--- a/var/spack/repos/builtin/packages/memkind/package.py
+++ b/var/spack/repos/builtin/packages/memkind/package.py
@@ -22,39 +22,39 @@ class Memkind(AutotoolsPackage):
enabled features."""
homepage = "https://github.com/memkind/memkind"
- url = "https://github.com/memkind/memkind/archive/v1.7.0.tar.gz"
-
- version('1.13.0', sha256='3f0d919b61fdd4d2ebce14e0b7dbb856e2144138778940107c13549523f3bdc0')
- version('1.12.0', sha256='b0781d493dec0da0089884fd54bcfdde03311019c56f90505ed0b884100bfbad')
- version('1.10.1', sha256='c203615d964a0bb151756ad8a5c9565391ee77d79c1f8b59d2ea8ff87989b294')
- version('1.10.0', sha256='0399a1d6a179d065cdbc59bb687fcd00d09dfbb1789334acfdf7431a48707d26')
- version('1.9.0', sha256='491f21c8d09904ad23700c755b9134fbed08bf227506c2fde135429688158b84')
- version('1.8.0', sha256='8b57c5afa8afa6793e4662322e37620bbb11f119cd8d29654ec00945bbe13a17')
- version('1.7.0', sha256='5048eaaa1bc484203c685a019f3f428ab6c9b1cf94ef6d264e299bc0127ec572')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('numactl')
+ url = "https://github.com/memkind/memkind/archive/v1.7.0.tar.gz"
+
+ version("1.13.0", sha256="3f0d919b61fdd4d2ebce14e0b7dbb856e2144138778940107c13549523f3bdc0")
+ version("1.12.0", sha256="b0781d493dec0da0089884fd54bcfdde03311019c56f90505ed0b884100bfbad")
+ version("1.10.1", sha256="c203615d964a0bb151756ad8a5c9565391ee77d79c1f8b59d2ea8ff87989b294")
+ version("1.10.0", sha256="0399a1d6a179d065cdbc59bb687fcd00d09dfbb1789334acfdf7431a48707d26")
+ version("1.9.0", sha256="491f21c8d09904ad23700c755b9134fbed08bf227506c2fde135429688158b84")
+ version("1.8.0", sha256="8b57c5afa8afa6793e4662322e37620bbb11f119cd8d29654ec00945bbe13a17")
+ version("1.7.0", sha256="5048eaaa1bc484203c685a019f3f428ab6c9b1cf94ef6d264e299bc0127ec572")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("numactl")
# memkind includes a copy of jemalloc; see
# <https://github.com/memkind/memkind#jemalloc>.
- conflicts('jemalloc')
+ conflicts("jemalloc")
def patch(self):
- with open('VERSION', 'w') as version_file:
- version_file.write('{0}\n'.format(self.version))
+ with open("VERSION", "w") as version_file:
+ version_file.write("{0}\n".format(self.version))
# Remove `-Werror`
filter_file(r" -Werror ", " ", "Makefile.am", "configure.ac")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def build_jemalloc(self):
- if os.path.exists('build_jemalloc.sh'):
- bash = which('bash')
- bash('./build_jemalloc.sh')
+ if os.path.exists("build_jemalloc.sh"):
+ bash = which("bash")
+ bash("./build_jemalloc.sh")
def autoreconf(self, spec, prefix):
- if os.path.exists('autogen.sh'):
- bash = which('bash')
- bash('./autogen.sh')
+ if os.path.exists("autogen.sh"):
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/memsurfer/package.py b/var/spack/repos/builtin/packages/memsurfer/package.py
index b159a3445e..8a169d26cc 100644
--- a/var/spack/repos/builtin/packages/memsurfer/package.py
+++ b/var/spack/repos/builtin/packages/memsurfer/package.py
@@ -9,40 +9,39 @@ from spack.package import *
class Memsurfer(PythonPackage):
"""MemSurfer is a tool to compute and analyze membrane surfaces found in a
- wide variety of large-scale molecular simulations."""
+ wide variety of large-scale molecular simulations."""
homepage = "https://github.com/LLNL/MemSurfer"
git = "https://github.com/LLNL/MemSurfer.git"
- maintainers = ['bhatiaharsh']
+ maintainers = ["bhatiaharsh"]
- version('1.0', tag='v1.0', submodules=True)
- version('master', branch='master', submodules=True)
- version('develop', branch='develop', submodules=True)
+ version("1.0", tag="v1.0", submodules=True)
+ version("master", branch="master", submodules=True)
+ version("develop", branch="develop", submodules=True)
- variant('osmesa', default=False,
- description='Enable OSMesa support (for VTK)')
+ variant("osmesa", default=False, description="Enable OSMesa support (for VTK)")
- extends('python')
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ extends("python")
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('cmake@3.14:', type='build')
- depends_on('swig@3.0.12', type='build')
+ depends_on("cmake@3.14:", type="build")
+ depends_on("swig@3.0.12", type="build")
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
- depends_on('eigen@3.3.7')
- depends_on('cgal@4.13 +shared~core~demos~imageio')
+ depends_on("eigen@3.3.7")
+ depends_on("cgal@4.13 +shared~core~demos~imageio")
# vtk needs to know whether to build with mesa or opengl
- depends_on('vtk@8.1.2 ~ffmpeg~mpi+opengl2~qt~xdmf+python')
- depends_on('vtk ~osmesa', when='~osmesa')
- depends_on('vtk +osmesa', when='+osmesa')
+ depends_on("vtk@8.1.2 ~ffmpeg~mpi+opengl2~qt~xdmf+python")
+ depends_on("vtk ~osmesa", when="~osmesa")
+ depends_on("vtk +osmesa", when="+osmesa")
# memsurfer's setup needs path to these deps to build extension modules
def setup_build_environment(self, env):
- env.set('VTK_ROOT', self.spec['vtk'].prefix)
- env.set('CGAL_ROOT', self.spec['cgal'].prefix)
- env.set('BOOST_ROOT', self.spec['boost'].prefix)
- env.set('EIGEN_ROOT', self.spec['eigen'].prefix)
+ env.set("VTK_ROOT", self.spec["vtk"].prefix)
+ env.set("CGAL_ROOT", self.spec["cgal"].prefix)
+ env.set("BOOST_ROOT", self.spec["boost"].prefix)
+ env.set("EIGEN_ROOT", self.spec["eigen"].prefix)
diff --git a/var/spack/repos/builtin/packages/memtester/package.py b/var/spack/repos/builtin/packages/memtester/package.py
index ddfabf9833..465f7b3df9 100644
--- a/var/spack/repos/builtin/packages/memtester/package.py
+++ b/var/spack/repos/builtin/packages/memtester/package.py
@@ -10,15 +10,14 @@ class Memtester(MakefilePackage):
"""A userspace utility for testing the memory subsystem for faults."""
homepage = "http://pyropus.ca/software/memtester/"
- url = "http://pyropus.ca/software/memtester/old-versions/memtester-4.3.0.tar.gz"
+ url = "http://pyropus.ca/software/memtester/old-versions/memtester-4.3.0.tar.gz"
- version('4.3.0', sha256='f9dfe2fd737c38fad6535bbab327da9a21f7ce4ea6f18c7b3339adef6bf5fd88')
- version('4.2.2', sha256='a494569d58d642c796332a1b7f3b4b86845b52da66c15c96fbeecd74e48dae8e')
- version('4.2.1', sha256='3433e1c757e56457610f5a97bf1a2d612c609290eba5183dd273e070134a21d2')
- version('4.2.0', sha256='cb9d5437a0c429d18500bddef93084bb2fead0d5ccfedfd00ee28ff118e52695')
- version('4.1.3', sha256='ac56f0b6d6d6e58bcf2a3fa7f2c9b29894f5177871f21115a1906c535106acf6')
+ version("4.3.0", sha256="f9dfe2fd737c38fad6535bbab327da9a21f7ce4ea6f18c7b3339adef6bf5fd88")
+ version("4.2.2", sha256="a494569d58d642c796332a1b7f3b4b86845b52da66c15c96fbeecd74e48dae8e")
+ version("4.2.1", sha256="3433e1c757e56457610f5a97bf1a2d612c609290eba5183dd273e070134a21d2")
+ version("4.2.0", sha256="cb9d5437a0c429d18500bddef93084bb2fead0d5ccfedfd00ee28ff118e52695")
+ version("4.1.3", sha256="ac56f0b6d6d6e58bcf2a3fa7f2c9b29894f5177871f21115a1906c535106acf6")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter("INSTALLPATH\t= /usr/local",
- "INSTALLPATH\t= {0}".format(self.prefix))
+ makefile.filter("INSTALLPATH\t= /usr/local", "INSTALLPATH\t= {0}".format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/meraculous/package.py b/var/spack/repos/builtin/packages/meraculous/package.py
index 14220c4482..7780a69b4c 100644
--- a/var/spack/repos/builtin/packages/meraculous/package.py
+++ b/var/spack/repos/builtin/packages/meraculous/package.py
@@ -9,31 +9,31 @@ from spack.pkg.builtin.boost import Boost
class Meraculous(CMakePackage, SourceforgePackage):
"""Meraculous is a while genome assembler for Next Generation Sequencing
- data geared for large genomes."""
+ data geared for large genomes."""
homepage = "http://jgi.doe.gov/data-and-tools/meraculous/"
sourceforge_mirror_path = "meraculous20/Meraculous-v2.2.4.tar.gz"
- git = "https://bitbucket.org/berkeleylab/genomics-meraculous2.git"
+ git = "https://bitbucket.org/berkeleylab/genomics-meraculous2.git"
- version('2.2.5.1', branch='release-2.2.5.1')
- version('2.2.4', sha256='3b4b8848232be902af9ebc77b38b83bcc531f12120115be089bdd6371ad2bf5b')
+ version("2.2.5.1", branch="release-2.2.5.1")
+ version("2.2.4", sha256="3b4b8848232be902af9ebc77b38b83bcc531f12120115be089bdd6371ad2bf5b")
- depends_on('perl', type=('build', 'run'))
- depends_on('boost@1.5.0:')
+ depends_on("perl", type=("build", "run"))
+ depends_on("boost@1.5.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('gnuplot@3.7:')
- depends_on('perl-log-log4perl', type=('build', 'run'))
+ depends_on("gnuplot@3.7:")
+ depends_on("perl-log-log4perl", type=("build", "run"))
- conflicts('%gcc@6.0.0:', when='@2.2.4')
+ conflicts("%gcc@6.0.0:", when="@2.2.4")
def patch(self):
- edit = FileFilter('CMakeLists.txt')
+ edit = FileFilter("CMakeLists.txt")
edit.filter(r"-static-libstdc\+\+", "")
def setup_run_environment(self, env):
- env.set('MERACULOUS_ROOT', self.prefix)
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.set("MERACULOUS_ROOT", self.prefix)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py
index 5a34ce25c3..171cc77eaa 100644
--- a/var/spack/repos/builtin/packages/mercurial/package.py
+++ b/var/spack/repos/builtin/packages/mercurial/package.py
@@ -12,40 +12,40 @@ class Mercurial(PythonPackage):
"""Mercurial is a free, distributed source control management tool."""
homepage = "https://www.mercurial-scm.org"
- url = "https://www.mercurial-scm.org/release/mercurial-5.3.tar.gz"
-
- version('5.8', sha256='fc5d6a8f6478d88ef83cdd0ab6d86ad68ee722bbdf4964e6a0b47c3c6ba5309f')
- version('5.7.1', sha256='cb5139144ccb2ef648f36963c8606d47dea1cb0e22aa2c055d6f860ce3fde7b0')
- version('5.7', sha256='609c3e7c9276dd75b03b713eccc10f5e0553001f35ae21600bcea1509699c601')
- version('5.6.1', sha256='e55c254f4904c45226a106780e57f4279aee03368f6ff6a981d5d2a38243ffad')
- version('5.3', sha256='e57ff61d6b67695149dd451922b40aa455ab02e01711806a131a1e95c544f9b9')
- version('5.1.2', sha256='15af0b090b23649e0e53621a88dde97b55a734d7cb08b77d3df284db70d44e2e')
- version('5.1.1', sha256='35fc8ba5e0379c1b3affa2757e83fb0509e8ac314cbd9f1fd133cf265d16e49f')
- version('4.9.1', sha256='1bdd21bb87d1e05fb5cd395d488d0e0cc2f2f90ce0fd248e31a03595da5ccb47')
- version('4.4.1', sha256='8f2a5512d6cc2ffb08988aef639330a2f0378e4ac3ee0e1fbbdb64d9fff56246')
- version('4.1.2', sha256='09415253fb409a77e19b9951532a3c22c4e07e74bab80652527064617daab194')
- version('3.9.1', sha256='625e4fc7e85ec2278c2828bdc547fce74091b3bbe4d9eeeba2d61af51195df74')
- version('3.9', sha256='834f25dcff44994198fb8a7ba161a6e24204dbd63c8e6270577e06e6cedbdabc')
- version('3.8.4', sha256='4b2e3ef19d34fa1d781cb7425506a05d4b6b1172bab69d6ea78874175fdf3da6')
- version('3.8.3', sha256='f84556cdf9a331984261549d9d08143ab9da33d7c03f0aa323b0ee52d0782a4c')
- version('3.8.2', sha256='cb78b16956140625266a8a6d1fadc7c868969d994086e1ec60279a66bf20bffd')
- version('3.8.1', sha256='face1f058de5530b56b0dfd3b4d0b23d89590c588605c06f3d18b79e8c30d594')
-
- depends_on('python+bz2+ssl+zlib@2.6:2.8', when='@:4.2', type=('build', 'run'))
- depends_on('python+bz2+ssl+zlib@2.7:2.8,3.5.3:3.5,3.6.2:', when='@4.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-docutils', type='build')
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-certifi', type=('build', 'run'))
+ url = "https://www.mercurial-scm.org/release/mercurial-5.3.tar.gz"
+
+ version("5.8", sha256="fc5d6a8f6478d88ef83cdd0ab6d86ad68ee722bbdf4964e6a0b47c3c6ba5309f")
+ version("5.7.1", sha256="cb5139144ccb2ef648f36963c8606d47dea1cb0e22aa2c055d6f860ce3fde7b0")
+ version("5.7", sha256="609c3e7c9276dd75b03b713eccc10f5e0553001f35ae21600bcea1509699c601")
+ version("5.6.1", sha256="e55c254f4904c45226a106780e57f4279aee03368f6ff6a981d5d2a38243ffad")
+ version("5.3", sha256="e57ff61d6b67695149dd451922b40aa455ab02e01711806a131a1e95c544f9b9")
+ version("5.1.2", sha256="15af0b090b23649e0e53621a88dde97b55a734d7cb08b77d3df284db70d44e2e")
+ version("5.1.1", sha256="35fc8ba5e0379c1b3affa2757e83fb0509e8ac314cbd9f1fd133cf265d16e49f")
+ version("4.9.1", sha256="1bdd21bb87d1e05fb5cd395d488d0e0cc2f2f90ce0fd248e31a03595da5ccb47")
+ version("4.4.1", sha256="8f2a5512d6cc2ffb08988aef639330a2f0378e4ac3ee0e1fbbdb64d9fff56246")
+ version("4.1.2", sha256="09415253fb409a77e19b9951532a3c22c4e07e74bab80652527064617daab194")
+ version("3.9.1", sha256="625e4fc7e85ec2278c2828bdc547fce74091b3bbe4d9eeeba2d61af51195df74")
+ version("3.9", sha256="834f25dcff44994198fb8a7ba161a6e24204dbd63c8e6270577e06e6cedbdabc")
+ version("3.8.4", sha256="4b2e3ef19d34fa1d781cb7425506a05d4b6b1172bab69d6ea78874175fdf3da6")
+ version("3.8.3", sha256="f84556cdf9a331984261549d9d08143ab9da33d7c03f0aa323b0ee52d0782a4c")
+ version("3.8.2", sha256="cb78b16956140625266a8a6d1fadc7c868969d994086e1ec60279a66bf20bffd")
+ version("3.8.1", sha256="face1f058de5530b56b0dfd3b4d0b23d89590c588605c06f3d18b79e8c30d594")
+
+ depends_on("python+bz2+ssl+zlib@2.6:2.8", when="@:4.2", type=("build", "run"))
+ depends_on("python+bz2+ssl+zlib@2.7:2.8,3.5.3:3.5,3.6.2:", when="@4.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docutils", type="build")
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-certifi", type=("build", "run"))
def setup_build_environment(self, env):
# Python 3 support is still experimental, explicitly allow
- env.set('HGALLOWPYTHON3', True)
- env.set('HGPYTHON3', True)
+ env.set("HGALLOWPYTHON3", True)
+ env.set("HGPYTHON3", True)
# Setuptools is still opt-in, explicitly enable
- env.set('FORCE_SETUPTOOLS', True)
+ env.set("FORCE_SETUPTOOLS", True)
- @run_after('install')
+ @run_after("install")
def post_install(self):
prefix = self.prefix
@@ -53,20 +53,20 @@ class Mercurial(PythonPackage):
mkdirp(prefix.man.man1)
mkdirp(prefix.man.man5)
mkdirp(prefix.man.man8)
- with working_dir('doc'):
- install('hg.1', prefix.man.man1)
- install('hgignore.5', prefix.man.man5)
- install('hgrc.5', prefix.man.man5)
- install('hg-ssh.8', prefix.man.man8)
+ with working_dir("doc"):
+ install("hg.1", prefix.man.man1)
+ install("hgignore.5", prefix.man.man5)
+ install("hgrc.5", prefix.man.man5)
+ install("hg-ssh.8", prefix.man.man8)
# Install completion scripts
contrib = prefix.contrib
mkdir(contrib)
- with working_dir('contrib'):
- install('bash_completion', contrib.bash_completion)
- install('zsh_completion', contrib.zsh_completion)
+ with working_dir("contrib"):
+ install("bash_completion", contrib.bash_completion)
+ install("zsh_completion", contrib.zsh_completion)
- @run_after('install')
+ @run_after("install")
def configure_certificates(self):
"""Configuration of HTTPS certificate authorities
https://www.mercurial-scm.org/wiki/CACertificates"""
@@ -77,25 +77,27 @@ class Mercurial(PythonPackage):
hgrc_filename = etc_dir.hgrc
# Use certifi to find the location of the CA certificate
- print_str = self.spec['python'].package.print_string('certifi.where()')
- certificate = python('-c', 'import certifi; ' + print_str, output=str)
+ print_str = self.spec["python"].package.print_string("certifi.where()")
+ certificate = python("-c", "import certifi; " + print_str, output=str)
if not certificate:
- tty.warn('CA certificate not found. You may not be able to '
- 'connect to an HTTPS server. If your CA certificate '
- 'is in a non-standard location, you should add it to '
- '{0}.'.format(hgrc_filename))
+ tty.warn(
+ "CA certificate not found. You may not be able to "
+ "connect to an HTTPS server. If your CA certificate "
+ "is in a non-standard location, you should add it to "
+ "{0}.".format(hgrc_filename)
+ )
else:
# Write the global mercurial configuration file
- with open(hgrc_filename, 'w') as hgrc:
- hgrc.write('[web]\ncacerts = {0}'.format(certificate))
+ with open(hgrc_filename, "w") as hgrc:
+ hgrc.write("[web]\ncacerts = {0}".format(certificate))
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
"""Sanity-check setup."""
hg = Executable(self.prefix.bin.hg)
- hg('debuginstall')
- hg('version')
+ hg("debuginstall")
+ hg("version")
diff --git a/var/spack/repos/builtin/packages/mercury/package.py b/var/spack/repos/builtin/packages/mercury/package.py
index aa697d6a66..43a4eef686 100644
--- a/var/spack/repos/builtin/packages/mercury/package.py
+++ b/var/spack/repos/builtin/packages/mercury/package.py
@@ -9,71 +9,71 @@ from spack.pkg.builtin.boost import Boost
class Mercury(CMakePackage):
"""Mercury is a C library for implementing RPC, optimized for HPC"""
- homepage = 'https://mercury-hpc.github.io/'
- url = 'https://github.com/mercury-hpc/mercury/releases/download/v1.0.1/mercury-1.0.1.tar.bz2'
- git = 'https://github.com/mercury-hpc/mercury.git'
-
- maintainers = ['soumagne']
- tags = ['e4s']
- version('master', branch='master', submodules=True)
- version('2.1.0', sha256='9a58437161e9273b1b1c484d2f1a477a89eea9afe84575415025d47656f3761b')
- version('2.0.1', sha256='335946d9620ac669643ffd9861a5fb3ee486834bab674b7779eaac9d6662e3fa')
- version('2.0.0', sha256='9e80923712e25df56014309df70660e828dbeabbe5fcc82ee024bcc86e7eb6b7')
- version('1.0.1', sha256='02febd56c401ef7afa250caf28d012b37dee842bfde7ee16fcd2f741b9cf25b3')
- version('1.0.0', sha256='fb0e44d13f4652f53e21040435f91d452bc2b629b6e98dcf5292cd0bece899d4')
- version('0.9.0', sha256='40868e141cac035213fe79400f8926823fb1f5a0651fd7027cbe162b063843ef')
-
- variant('bmi', default=False, description='Use BMI plugin')
- variant('mpi', default=False, description='Use MPI plugin')
- variant('ofi', default=True, when='@1.0.0:', description='Use OFI libfabric plugin')
+ homepage = "https://mercury-hpc.github.io/"
+ url = "https://github.com/mercury-hpc/mercury/releases/download/v1.0.1/mercury-1.0.1.tar.bz2"
+ git = "https://github.com/mercury-hpc/mercury.git"
+
+ maintainers = ["soumagne"]
+ tags = ["e4s"]
+ version("master", branch="master", submodules=True)
+ version("2.1.0", sha256="9a58437161e9273b1b1c484d2f1a477a89eea9afe84575415025d47656f3761b")
+ version("2.0.1", sha256="335946d9620ac669643ffd9861a5fb3ee486834bab674b7779eaac9d6662e3fa")
+ version("2.0.0", sha256="9e80923712e25df56014309df70660e828dbeabbe5fcc82ee024bcc86e7eb6b7")
+ version("1.0.1", sha256="02febd56c401ef7afa250caf28d012b37dee842bfde7ee16fcd2f741b9cf25b3")
+ version("1.0.0", sha256="fb0e44d13f4652f53e21040435f91d452bc2b629b6e98dcf5292cd0bece899d4")
+ version("0.9.0", sha256="40868e141cac035213fe79400f8926823fb1f5a0651fd7027cbe162b063843ef")
+
+ variant("bmi", default=False, description="Use BMI plugin")
+ variant("mpi", default=False, description="Use MPI plugin")
+ variant("ofi", default=True, when="@1.0.0:", description="Use OFI libfabric plugin")
# NOTE: the sm plugin does not require any package dependency.
- variant('sm', default=True, description='Use shared-memory plugin')
- variant('ucx', default=False, when='@2.1.0:', description='Use UCX plugin')
+ variant("sm", default=True, description="Use shared-memory plugin")
+ variant("ucx", default=False, when="@2.1.0:", description="Use UCX plugin")
# NOTE: if boostsys is False, mercury will install its own copy
# of the preprocessor headers.
- variant('boostsys', default=True,
- description='Use preprocessor headers from boost dependency')
- variant('shared', default=True,
- description='Build with shared libraries')
+ variant("boostsys", default=True, description="Use preprocessor headers from boost dependency")
+ variant("shared", default=True, description="Build with shared libraries")
# NOTE: the 'udreg' variant requires that the MPICH_GNI_NDREG_ENTRIES=1024
# environment variable be set at run time to avoid conflicts with
# Cray-MPICH if libfabric and MPI are used at the same time
- variant('udreg', default=False, when='@1.0.0:+ofi',
- description='Enable udreg on supported Cray platforms')
- variant('debug', default=False,
- description='Enable Mercury to print debug output')
- variant('checksum', default=True,
- description='Checksum verify all request/response messages')
-
- depends_on('cmake@2.8.12.2:', type='build')
- depends_on('bmi', when='+bmi')
- depends_on('mpi', when='+mpi')
- with when('+ofi'):
- depends_on('libfabric@1.5:', when='@:2.0.1')
- depends_on('libfabric@1.7:', when='@2.1.0:')
+ variant(
+ "udreg",
+ default=False,
+ when="@1.0.0:+ofi",
+ description="Enable udreg on supported Cray platforms",
+ )
+ variant("debug", default=False, description="Enable Mercury to print debug output")
+ variant("checksum", default=True, description="Checksum verify all request/response messages")
+
+ depends_on("cmake@2.8.12.2:", type="build")
+ depends_on("bmi", when="+bmi")
+ depends_on("mpi", when="+mpi")
+ with when("+ofi"):
+ depends_on("libfabric@1.5:", when="@:2.0.1")
+ depends_on("libfabric@1.7:", when="@2.1.0:")
# openpa dependency is removed in 2.1.0
- depends_on('openpa@1.0.3:', when='@:2.0.1%gcc@:4.8')
- depends_on('boost@1.48:', when='+boostsys')
+ depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
+ depends_on("boost@1.48:", when="+boostsys")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boostsys')
- depends_on('boost', when='@:0.9') # internal boost headers were added in 1.0.0
+ depends_on(Boost.with_default_variants, when="+boostsys")
+ depends_on("boost", when="@:0.9") # internal boost headers were added in 1.0.0
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:0.9')
- depends_on('ucx+thread_multiple', when='+ucx')
+ depends_on(Boost.with_default_variants, when="@:0.9")
+ depends_on("ucx+thread_multiple", when="+ucx")
# Fix CMake check_symbol_exists
# See https://github.com/mercury-hpc/mercury/issues/299
- patch('fix-cmake-3.15-check_symbol_exists.patch', when='@1.0.0:1.0.1')
+ patch("fix-cmake-3.15-check_symbol_exists.patch", when="@1.0.0:1.0.1")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%cce'):
- if name == 'ldflags':
- flags.append('-Wl,-z,muldefs')
+ if self.spec.satisfies("%cce"):
+ if name == "ldflags":
+ flags.append("-Wl,-z,muldefs")
return (None, None, flags)
def cmake_args(self):
@@ -81,62 +81,60 @@ class Mercury(CMakePackage):
spec = self.spec
define = self.define
define_from_variant = self.define_from_variant
- parallel_tests = '+mpi' in spec and self.run_tests
+ parallel_tests = "+mpi" in spec and self.run_tests
cmake_args = [
- define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- define('BUILD_TESTING', self.run_tests),
- define('MERCURY_USE_BOOST_PP', True),
- define_from_variant('MERCURY_USE_CHECKSUMS', 'checksum'),
- define('MERCURY_USE_SYSTEM_MCHECKSUM', False),
- define('MERCURY_USE_XDR', False),
- define_from_variant('NA_USE_BMI', 'bmi'),
- define_from_variant('NA_USE_MPI', 'mpi'),
- define_from_variant('NA_USE_SM', 'sm'),
+ define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ define("BUILD_TESTING", self.run_tests),
+ define("MERCURY_USE_BOOST_PP", True),
+ define_from_variant("MERCURY_USE_CHECKSUMS", "checksum"),
+ define("MERCURY_USE_SYSTEM_MCHECKSUM", False),
+ define("MERCURY_USE_XDR", False),
+ define_from_variant("NA_USE_BMI", "bmi"),
+ define_from_variant("NA_USE_MPI", "mpi"),
+ define_from_variant("NA_USE_SM", "sm"),
]
- if '@2.1.0:' in spec:
- cmake_args.append(
- define_from_variant('NA_USE_UCX', 'ucx')
- )
+ if "@2.1.0:" in spec:
+ cmake_args.append(define_from_variant("NA_USE_UCX", "ucx"))
- if '@2.0.0:' in spec:
- cmake_args.extend([
- define_from_variant('MERCURY_ENABLE_DEBUG', 'debug'),
- define('MERCURY_TESTING_ENABLE_PARALLEL', parallel_tests),
- ])
+ if "@2.0.0:" in spec:
+ cmake_args.extend(
+ [
+ define_from_variant("MERCURY_ENABLE_DEBUG", "debug"),
+ define("MERCURY_TESTING_ENABLE_PARALLEL", parallel_tests),
+ ]
+ )
# Previous versions of mercury had more extensive CMake options
- if '@:1.0.1' in spec:
- cmake_args.extend([
- define('MERCURY_ENABLE_PARALLEL_TESTING', parallel_tests),
- define('MERCURY_ENABLE_POST_LIMIT', False),
- define_from_variant('MERCURY_ENABLE_VERBOSE_ERROR', 'debug'),
- define('MERCURY_USE_EAGER_BULK', True),
- define('MERCURY_USE_SELF_FORWARD', True),
- ])
-
- if '@1.0.0:' in spec:
- cmake_args.extend([
- define_from_variant('MERCURY_USE_SYSTEM_BOOST', 'boostsys'),
- define_from_variant('NA_USE_OFI', 'ofi'),
- ])
-
- if '+ofi' in spec:
- ofi_fabrics = spec['libfabric'].variants['fabrics'].value
- if 'gni' in ofi_fabrics:
- cmake_args.append(
- define_from_variant('NA_OFI_GNI_USE_UDREG', 'udreg')
- )
+ if "@:1.0.1" in spec:
+ cmake_args.extend(
+ [
+ define("MERCURY_ENABLE_PARALLEL_TESTING", parallel_tests),
+ define("MERCURY_ENABLE_POST_LIMIT", False),
+ define_from_variant("MERCURY_ENABLE_VERBOSE_ERROR", "debug"),
+ define("MERCURY_USE_EAGER_BULK", True),
+ define("MERCURY_USE_SELF_FORWARD", True),
+ ]
+ )
+
+ if "@1.0.0:" in spec:
+ cmake_args.extend(
+ [
+ define_from_variant("MERCURY_USE_SYSTEM_BOOST", "boostsys"),
+ define_from_variant("NA_USE_OFI", "ofi"),
+ ]
+ )
+
+ if "+ofi" in spec:
+ ofi_fabrics = spec["libfabric"].variants["fabrics"].value
+ if "gni" in ofi_fabrics:
+ cmake_args.append(define_from_variant("NA_OFI_GNI_USE_UDREG", "udreg"))
if self.run_tests:
- supported = ['sockets', 'tcp', 'verbs', 'psm2', 'gni']
- ofi_test_fabrics = list(
- filter(lambda x: x in supported, ofi_fabrics)
- )
+ supported = ["sockets", "tcp", "verbs", "psm2", "gni"]
+ ofi_test_fabrics = list(filter(lambda x: x in supported, ofi_fabrics))
cmake_args.append(
- define('NA_OFI_TESTING_PROTOCOL', format(
- ';'.join(ofi_test_fabrics))
- )
+ define("NA_OFI_TESTING_PROTOCOL", format(";".join(ofi_test_fabrics)))
)
return cmake_args
@@ -145,4 +143,4 @@ class Mercury(CMakePackage):
"""Unit tests fail when run in parallel."""
with working_dir(self.build_directory):
- make('test', parallel=False)
+ make("test", parallel=False)
diff --git a/var/spack/repos/builtin/packages/mesa-demos/package.py b/var/spack/repos/builtin/packages/mesa-demos/package.py
index eaa8f4b248..b094bf2ca2 100644
--- a/var/spack/repos/builtin/packages/mesa-demos/package.py
+++ b/var/spack/repos/builtin/packages/mesa-demos/package.py
@@ -11,61 +11,64 @@ class MesaDemos(AutotoolsPackage):
"""This package provides some demo applications for testing Mesa."""
homepage = "https://www.mesa3d.org"
- url = "https://gitlab.freedesktop.org/mesa/demos/-/archive/mesa-demos-8.4.0/demos-mesa-demos-8.4.0.tar.gz"
+ url = "https://gitlab.freedesktop.org/mesa/demos/-/archive/mesa-demos-8.4.0/demos-mesa-demos-8.4.0.tar.gz"
- version('8.4.0', sha256='e9d235e6dad69d6b00877bf07e6d1859e368c0873e5401ec68a6ddb43375e900')
- version('8.3.0', sha256='9bc1b37f4fc7bfc3f818f2d3851ffde28e8167ef11dca87f4781e9ef6206901f')
- version('8.2.0', sha256='5a9f71b815d968d0c3b77edfcc3782d0211f8520b00da9e554ccfed80c8889f6')
- version('8.1.0', sha256='cc5826105355830208c90047fc38c5b09fa3ab0045366e7e859104935b00b76d')
+ version("8.4.0", sha256="e9d235e6dad69d6b00877bf07e6d1859e368c0873e5401ec68a6ddb43375e900")
+ version("8.3.0", sha256="9bc1b37f4fc7bfc3f818f2d3851ffde28e8167ef11dca87f4781e9ef6206901f")
+ version("8.2.0", sha256="5a9f71b815d968d0c3b77edfcc3782d0211f8520b00da9e554ccfed80c8889f6")
+ version("8.1.0", sha256="cc5826105355830208c90047fc38c5b09fa3ab0045366e7e859104935b00b76d")
- variant('gl',
- default='glx' if sys.platform.startswith('linux') else 'osmesa',
- values=('glx', 'osmesa', 'other'), multi=False,
- description='The OpenGL provider to use')
- conflicts('osmesa', when='gl=glx')
- conflicts('osmesa', when='gl=other')
- conflicts('glx', when='gl=osmesa')
- conflicts('glx', when='gl=other')
+ variant(
+ "gl",
+ default="glx" if sys.platform.startswith("linux") else "osmesa",
+ values=("glx", "osmesa", "other"),
+ multi=False,
+ description="The OpenGL provider to use",
+ )
+ conflicts("osmesa", when="gl=glx")
+ conflicts("osmesa", when="gl=other")
+ conflicts("glx", when="gl=osmesa")
+ conflicts("glx", when="gl=other")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('gl')
- depends_on('osmesa', when='gl=osmesa')
- depends_on('glx', when='gl=glx')
- depends_on('libx11', when='gl=glx')
- depends_on('libxext', when='gl=glx')
+ depends_on("gl")
+ depends_on("osmesa", when="gl=osmesa")
+ depends_on("glx", when="gl=glx")
+ depends_on("libx11", when="gl=glx")
+ depends_on("libxext", when="gl=glx")
- depends_on('glu')
- depends_on('glew@1.5.4:')
+ depends_on("glu")
+ depends_on("glew@1.5.4:")
# OSMesa demos don't actually use glut
- patch('osmesa-glut.patch')
+ patch("osmesa-glut.patch")
def configure_args(self):
spec = self.spec
args = [
- '--disable-egl',
- '--disable-gles1',
- '--disable-gles2',
- '--disable-vg',
- '--disable-libdrm',
- '--disable-wayland',
- '--disable-gbm',
- '--disable-freetype2',
- '--disable-rbug',
- '--without-glut',
+ "--disable-egl",
+ "--disable-gles1",
+ "--disable-gles2",
+ "--disable-vg",
+ "--disable-libdrm",
+ "--disable-wayland",
+ "--disable-gbm",
+ "--disable-freetype2",
+ "--disable-rbug",
+ "--without-glut",
]
- if 'gl=glx' in spec:
- args.append('--enable-x11')
+ if "gl=glx" in spec:
+ args.append("--enable-x11")
else:
- args.append('--disable-x11')
- if 'gl=osmesa' in spec:
- args.append('--enable-osmesa')
+ args.append("--disable-x11")
+ if "gl=osmesa" in spec:
+ args.append("--enable-osmesa")
else:
- args.append('--disable-osmesa')
+ args.append("--disable-osmesa")
return args
diff --git a/var/spack/repos/builtin/packages/mesa-glu/package.py b/var/spack/repos/builtin/packages/mesa-glu/package.py
index d53553c848..f9d6cee59f 100644
--- a/var/spack/repos/builtin/packages/mesa-glu/package.py
+++ b/var/spack/repos/builtin/packages/mesa-glu/package.py
@@ -12,37 +12,40 @@ class MesaGlu(AutotoolsPackage):
"""This package provides the Mesa OpenGL Utility library."""
homepage = "https://www.mesa3d.org"
- url = "https://www.mesa3d.org/archive/glu/glu-9.0.0.tar.gz"
-
- version('9.0.2', sha256='24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65')
- version('9.0.1', sha256='f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7')
- version('9.0.0', sha256='4387476a1933f36fec1531178ea204057bbeb04cc2d8396c9ea32720a1f7e264')
-
- variant('gl',
- default='glx' if sys.platform.startswith('linux') else 'other',
- values=('glx', 'osmesa', 'other'), multi=False,
- description='The OpenGL provider to use')
- conflicts('osmesa', when='gl=glx')
- conflicts('osmesa', when='gl=other')
- conflicts('glx', when='gl=osmesa')
- conflicts('glx', when='gl=other')
-
- depends_on('gl@3:')
- depends_on('osmesa', when='gl=osmesa')
- depends_on('glx', when='gl=glx')
-
- provides('glu@1.3')
+ url = "https://www.mesa3d.org/archive/glu/glu-9.0.0.tar.gz"
+
+ version("9.0.2", sha256="24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65")
+ version("9.0.1", sha256="f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7")
+ version("9.0.0", sha256="4387476a1933f36fec1531178ea204057bbeb04cc2d8396c9ea32720a1f7e264")
+
+ variant(
+ "gl",
+ default="glx" if sys.platform.startswith("linux") else "other",
+ values=("glx", "osmesa", "other"),
+ multi=False,
+ description="The OpenGL provider to use",
+ )
+ conflicts("osmesa", when="gl=glx")
+ conflicts("osmesa", when="gl=other")
+ conflicts("glx", when="gl=osmesa")
+ conflicts("glx", when="gl=other")
+
+ depends_on("gl@3:")
+ depends_on("osmesa", when="gl=osmesa")
+ depends_on("glx", when="gl=glx")
+
+ provides("glu@1.3")
def configure_args(self):
- args = ['--disable-libglvnd']
+ args = ["--disable-libglvnd"]
- if 'gl=osmesa' in self.spec:
- args.append('--enable-osmesa')
+ if "gl=osmesa" in self.spec:
+ args.append("--enable-osmesa")
else:
- args.append('--disable-osmesa')
+ args.append("--disable-osmesa")
return args
@property
def libs(self):
- return find_libraries('libGLU', self.prefix, recursive=True)
+ return find_libraries("libGLU", self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py
index f0b7787732..900478f6a7 100644
--- a/var/spack/repos/builtin/packages/mesa/package.py
+++ b/var/spack/repos/builtin/packages/mesa/package.py
@@ -10,74 +10,86 @@ from spack.package import *
class Mesa(MesonPackage):
"""Mesa is an open-source implementation of the OpenGL specification
- - a system for rendering interactive 3D graphics."""
+ - a system for rendering interactive 3D graphics."""
homepage = "https://www.mesa3d.org"
- maintainers = ['chuckatkins', 'v-dobrev']
+ maintainers = ["chuckatkins", "v-dobrev"]
git = "https://gitlab.freedesktop.org/mesa/mesa.git"
url = "https://archive.mesa3d.org/mesa-20.2.1.tar.xz"
- version('main', tag='main')
- version('22.1.2', sha256='df4fa560dcce6680133067cd15b0505fc424ca703244ce9ab247c74d2fab6885', preferred=True)
- version('22.0.2', sha256='df4fa560dcce6680133067cd15b0505fc424ca703244ce9ab247c74d2fab6885')
- version('21.3.8', sha256='e70d273bdc53a4e931871bb5550ba3900e6a3deab2fff64184107c33e92d9da7')
- version('21.3.7', sha256='b4fa9db7aa61bf209ef0b40bef83080999d86ad98df8b8b4fada7c128a1efc3d')
- version('21.3.1', sha256='2b0dc2540cb192525741d00f706dbc4586349185dafc65729c7fda0800cc474d')
- version('21.2.6', sha256='1e7e22d93c6e8859fa044b1121119d26b2e67e4184b92ebb81c66497dc80c954')
- version('21.2.5', sha256='8e49585fb760d973723dab6435d0c86f7849b8305b1e6d99f475138d896bacbb')
- version('21.2.4', sha256='fe6ede82d1ac02339da3c2ec1820a379641902fd351a52cc01153f76eff85b44')
- version('21.2.3', sha256='7245284a159d2484770e1835a673e79e4322a9ddf43b17859668244946db7174')
- version('21.2.1', sha256='2c65e6710b419b67456a48beefd0be827b32db416772e0e363d5f7d54dc01787')
- version('21.0.3', sha256='565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b')
- version('21.0.0', sha256='e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84')
- version('20.3.4', sha256='dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084')
- version('20.2.1', sha256='d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a')
-
- depends_on('meson@0.52:', type='build')
-
- depends_on('pkgconfig', type='build')
- depends_on('bison', type='build')
- depends_on('cmake', type='build')
- depends_on('flex', type='build')
- depends_on('gettext', type='build')
- depends_on('python@3:', type='build')
- depends_on('py-mako@0.8.0:', type='build')
- depends_on('unwind')
- depends_on('expat')
- depends_on('zlib@1.2.3:')
+ version("main", tag="main")
+ version(
+ "22.1.2",
+ sha256="df4fa560dcce6680133067cd15b0505fc424ca703244ce9ab247c74d2fab6885",
+ preferred=True,
+ )
+ version("22.0.2", sha256="df4fa560dcce6680133067cd15b0505fc424ca703244ce9ab247c74d2fab6885")
+ version("21.3.8", sha256="e70d273bdc53a4e931871bb5550ba3900e6a3deab2fff64184107c33e92d9da7")
+ version("21.3.7", sha256="b4fa9db7aa61bf209ef0b40bef83080999d86ad98df8b8b4fada7c128a1efc3d")
+ version("21.3.1", sha256="2b0dc2540cb192525741d00f706dbc4586349185dafc65729c7fda0800cc474d")
+ version("21.2.6", sha256="1e7e22d93c6e8859fa044b1121119d26b2e67e4184b92ebb81c66497dc80c954")
+ version("21.2.5", sha256="8e49585fb760d973723dab6435d0c86f7849b8305b1e6d99f475138d896bacbb")
+ version("21.2.4", sha256="fe6ede82d1ac02339da3c2ec1820a379641902fd351a52cc01153f76eff85b44")
+ version("21.2.3", sha256="7245284a159d2484770e1835a673e79e4322a9ddf43b17859668244946db7174")
+ version("21.2.1", sha256="2c65e6710b419b67456a48beefd0be827b32db416772e0e363d5f7d54dc01787")
+ version("21.0.3", sha256="565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b")
+ version("21.0.0", sha256="e6204e98e6a8d77cf9dc5d34f99dd8e3ef7144f3601c808ca0dd26ba522e0d84")
+ version("20.3.4", sha256="dc21a987ec1ff45b278fe4b1419b1719f1968debbb80221480e44180849b4084")
+ version("20.2.1", sha256="d1a46d9a3f291bc0e0374600bdcb59844fa3eafaa50398e472a36fc65fd0244a")
+
+ depends_on("meson@0.52:", type="build")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("bison", type="build")
+ depends_on("cmake", type="build")
+ depends_on("flex", type="build")
+ depends_on("gettext", type="build")
+ depends_on("python@3:", type="build")
+ depends_on("py-mako@0.8.0:", type="build")
+ depends_on("unwind")
+ depends_on("expat")
+ depends_on("zlib@1.2.3:")
# Override the build type variant so we can default to release
- variant('buildtype', default='release',
- description='Meson build type',
- values=('plain', 'debug', 'debugoptimized', 'release', 'minsize'))
+ variant(
+ "buildtype",
+ default="release",
+ description="Meson build type",
+ values=("plain", "debug", "debugoptimized", "release", "minsize"),
+ )
# Internal options
- variant('llvm', default=True, description="Enable LLVM.")
+ variant("llvm", default=True, description="Enable LLVM.")
# when clauses:
# +llvm - swr requires llvm
# buildtype=release - swr has known assert failures in debug that can be ignored
# @:21 - swr was removed in 22.0
variant(
- 'swr',
+ "swr",
values=spack.variant.DisjointSetsOfValues(
- ('none',), ('auto',), ('avx', 'avx2', 'knl', 'skx',),
+ ("none",),
+ ("auto",),
+ (
+ "avx",
+ "avx2",
+ "knl",
+ "skx",
+ ),
)
- .with_non_feature_values('auto')
- .with_non_feature_values('none')
- .with_default('auto'),
- when='+llvm buildtype=release @:21',
+ .with_non_feature_values("auto")
+ .with_non_feature_values("none")
+ .with_default("auto"),
+ when="+llvm buildtype=release @:21",
description="Enable the SWR driver.",
)
# Front ends
- variant('osmesa', default=True, description="Enable the OSMesa frontend.",
- when='+opengl')
+ variant("osmesa", default=True, description="Enable the OSMesa frontend.", when="+opengl")
- is_linux = sys.platform.startswith('linux')
- variant('glx', default=is_linux, description="Enable the GLX frontend.",
- when='+opengl')
+ is_linux = sys.platform.startswith("linux")
+ variant("glx", default=is_linux, description="Enable the GLX frontend.", when="+opengl")
# TODO: effectively deal with EGL. The implications of this have not been
# worked through yet
@@ -88,205 +100,194 @@ class Mesa(MesonPackage):
# needing to check which llvm targets were built (ptx or amdgpu, etc.)
# Back ends
- variant('opengl', default=True, description="Enable full OpenGL support.")
- variant('opengles', default=False, description="Enable OpenGL ES support.")
+ variant("opengl", default=True, description="Enable full OpenGL support.")
+ variant("opengles", default=False, description="Enable OpenGL ES support.")
# Provides
- provides('libglx', when='+glx')
+ provides("libglx", when="+glx")
# provides('egl@1.5', when='+egl')
- provides('libosmesa', when='+osmesa')
+ provides("libosmesa", when="+osmesa")
# Variant dependencies
- with when('+llvm'):
- depends_on('libllvm@6:')
- depends_on('libllvm@:11', when='@:20')
- depends_on('libllvm@:12', when='@:21')
- depends_on('libx11', when='+glx')
- depends_on('libxcb', when='+glx')
- depends_on('libxext', when='+glx')
- depends_on('libxt', when='+glx')
- depends_on('xrandr', when='+glx')
- depends_on('glproto@1.4.14:', when='+glx')
+ with when("+llvm"):
+ depends_on("libllvm@6:")
+ depends_on("libllvm@:11", when="@:20")
+ depends_on("libllvm@:12", when="@:21")
+ depends_on("libx11", when="+glx")
+ depends_on("libxcb", when="+glx")
+ depends_on("libxext", when="+glx")
+ depends_on("libxt", when="+glx")
+ depends_on("xrandr", when="+glx")
+ depends_on("glproto@1.4.14:", when="+glx")
# version specific issue
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96130
- conflicts('%gcc@10.1.0', msg='GCC 10.1.0 has a bug')
+ conflicts("%gcc@10.1.0", msg="GCC 10.1.0 has a bug")
# Require at least 1 front-end
# TODO: Add egl to this conflict once made available
- conflicts('~osmesa ~glx')
+ conflicts("~osmesa ~glx")
# Require at least 1 back-end
# TODO: Add vulkan to this conflict once made available
- conflicts('~opengl ~opengles')
+ conflicts("~opengl ~opengles")
# OpenGL ES requires OpenGL
- conflicts('~opengl +opengles')
+ conflicts("~opengl +opengles")
# requires native to be added to llvm_modules when using gallium swrast
- patch('https://cgit.freedesktop.org/mesa/mesa/patch/meson.build?id=054dd668a69acc70d47c73abe4646e96a1f23577',
- sha256='36096a178070e40217945e12d542dfe80016cb897284a01114d616656c577d73',
- when='@21.0.0:21.0.3')
+ patch(
+ "https://cgit.freedesktop.org/mesa/mesa/patch/meson.build?id=054dd668a69acc70d47c73abe4646e96a1f23577",
+ sha256="36096a178070e40217945e12d542dfe80016cb897284a01114d616656c577d73",
+ when="@21.0.0:21.0.3",
+ )
- patch('mesa_check_llvm_version_suffix.patch', when='@21.2.3:')
+ patch("mesa_check_llvm_version_suffix.patch", when="@21.2.3:")
# Explicitly use the llvm-config tool
def patch(self):
- filter_file(
- r"_llvm_method = 'auto'",
- "_llvm_method = 'config-tool'",
- "meson.build")
+ filter_file(r"_llvm_method = 'auto'", "_llvm_method = 'config-tool'", "meson.build")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%intel'):
- if name == 'cflags':
- flags.append('-std=c99')
+ if self.spec.satisfies("%intel"):
+ if name == "cflags":
+ flags.append("-std=c99")
return super(Mesa, self).flag_handler(name, flags)
def meson_args(self):
spec = self.spec
args = [
- '-Dvulkan-drivers=',
- '-Dgallium-vdpau=disabled',
- '-Dgallium-xvmc=disabled',
- '-Dgallium-omx=disabled',
- '-Dgallium-va=disabled',
- '-Dgallium-xa=disabled',
- '-Dgallium-nine=false',
- '-Dgallium-opencl=disabled',
- '-Dbuild-tests=false',
- '-Dglvnd=false']
+ "-Dvulkan-drivers=",
+ "-Dgallium-vdpau=disabled",
+ "-Dgallium-xvmc=disabled",
+ "-Dgallium-omx=disabled",
+ "-Dgallium-va=disabled",
+ "-Dgallium-xa=disabled",
+ "-Dgallium-nine=false",
+ "-Dgallium-opencl=disabled",
+ "-Dbuild-tests=false",
+ "-Dglvnd=false",
+ ]
args_platforms = []
- args_gallium_drivers = ['swrast']
+ args_gallium_drivers = ["swrast"]
args_dri_drivers = []
- opt_enable = lambda c, o: '-D%s=%sabled' % (o, 'en' if c else 'dis')
- opt_bool = lambda c, o: '-D%s=%s' % (o, str(c).lower())
- if spec.target.family == 'arm' or spec.target.family == 'aarch64':
- args.append('-Dlibunwind=disabled')
+ opt_enable = lambda c, o: "-D%s=%sabled" % (o, "en" if c else "dis")
+ opt_bool = lambda c, o: "-D%s=%s" % (o, str(c).lower())
+ if spec.target.family == "arm" or spec.target.family == "aarch64":
+ args.append("-Dlibunwind=disabled")
num_frontends = 0
- if spec.satisfies('@:20.3'):
- osmesa_enable, osmesa_disable = ('gallium', 'none')
+ if spec.satisfies("@:20.3"):
+ osmesa_enable, osmesa_disable = ("gallium", "none")
else:
- osmesa_enable, osmesa_disable = ('true', 'false')
+ osmesa_enable, osmesa_disable = ("true", "false")
- if '+osmesa' in spec:
+ if "+osmesa" in spec:
num_frontends += 1
- args.append('-Dosmesa={0}'.format(osmesa_enable))
+ args.append("-Dosmesa={0}".format(osmesa_enable))
else:
- args.append('-Dosmesa={0}'.format(osmesa_disable))
+ args.append("-Dosmesa={0}".format(osmesa_disable))
- if '+glx' in spec:
+ if "+glx" in spec:
num_frontends += 1
- if '+egl' in spec:
- args.append('-Dglx=dri')
+ if "+egl" in spec:
+ args.append("-Dglx=dri")
else:
- if spec.satisfies('@22:'):
- args.append('-Dglx=xlib')
+ if spec.satisfies("@22:"):
+ args.append("-Dglx=xlib")
else:
- args.append('-Dglx=gallium-xlib')
- args_platforms.append('x11')
+ args.append("-Dglx=gallium-xlib")
+ args_platforms.append("x11")
else:
- args.append('-Dglx=disabled')
+ args.append("-Dglx=disabled")
- if '+egl' in spec:
+ if "+egl" in spec:
num_frontends += 1
- args.extend(['-Degl=enabled', '-Dgbm=enabled', '-Ddri3=enabled'])
- args_platforms.append('surfaceless')
+ args.extend(["-Degl=enabled", "-Dgbm=enabled", "-Ddri3=enabled"])
+ args_platforms.append("surfaceless")
else:
- args.extend(
- ['-Degl=disabled', '-Dgbm=disabled', '-Ddri3=disabled'])
+ args.extend(["-Degl=disabled", "-Dgbm=disabled", "-Ddri3=disabled"])
- args.append(opt_bool('+opengl' in spec, 'opengl'))
- args.append(opt_enable('+opengles' in spec, 'gles1'))
- args.append(opt_enable('+opengles' in spec, 'gles2'))
+ args.append(opt_bool("+opengl" in spec, "opengl"))
+ args.append(opt_enable("+opengles" in spec, "gles1"))
+ args.append(opt_enable("+opengles" in spec, "gles2"))
- args.append(opt_enable(num_frontends > 1, 'shared-glapi'))
+ args.append(opt_enable(num_frontends > 1, "shared-glapi"))
- if '+llvm' in spec:
- llvm_config = Executable(spec['libllvm'].prefix.bin.join('llvm-config'))
+ if "+llvm" in spec:
+ llvm_config = Executable(spec["libllvm"].prefix.bin.join("llvm-config"))
# Fix builds on hosts where /usr/bin/llvm-config-* is found and provides an
# incompatible version. Ensure that the llvm-config of spec['libllvm'] is
# used.
- args.append('--native-file')
- args.append('meson-native-config.ini')
+ args.append("--native-file")
+ args.append("meson-native-config.ini")
mkdirp(self.build_directory)
with working_dir(self.build_directory):
- with open('meson-native-config.ini', 'w') as native_config:
- native_config.write('[binaries]\n')
- native_config.write(
- "llvm-config = '{0}'\n".format(llvm_config.path))
- args.append('-Dllvm=enabled')
- args.append(opt_enable(
- '+llvm_dylib' in spec['libllvm'], 'shared-llvm'))
+ with open("meson-native-config.ini", "w") as native_config:
+ native_config.write("[binaries]\n")
+ native_config.write("llvm-config = '{0}'\n".format(llvm_config.path))
+ args.append("-Dllvm=enabled")
+ args.append(opt_enable("+llvm_dylib" in spec["libllvm"], "shared-llvm"))
# Match the llvm rtti setting
- if llvm_config('--has-rtti', error=str, output=str).strip() == 'YES':
- args.append('-Dcpp_rtti=true')
+ if llvm_config("--has-rtti", error=str, output=str).strip() == "YES":
+ args.append("-Dcpp_rtti=true")
else:
- args.append('-Dcpp_rtti=false')
+ args.append("-Dcpp_rtti=false")
else:
- args.append('-Dllvm=disabled')
+ args.append("-Dllvm=disabled")
args_swr_arches = []
- if 'swr=auto' in spec:
- if 'avx' in spec.target:
- args_swr_arches.append('avx')
- if 'avx2' in spec.target:
- args_swr_arches.append('avx2')
- if 'avx512f' in spec.target:
- if 'avx512er' in spec.target:
- args_swr_arches.append('knl')
- if 'avx512bw' in spec.target:
- args_swr_arches.append('skx')
+ if "swr=auto" in spec:
+ if "avx" in spec.target:
+ args_swr_arches.append("avx")
+ if "avx2" in spec.target:
+ args_swr_arches.append("avx2")
+ if "avx512f" in spec.target:
+ if "avx512er" in spec.target:
+ args_swr_arches.append("knl")
+ if "avx512bw" in spec.target:
+ args_swr_arches.append("skx")
else:
- if 'swr=avx' in spec:
- args_swr_arches.append('avx')
- if 'swr=avx2' in spec:
- args_swr_arches.append('avx2')
- if 'swr=knl' in spec:
- args_swr_arches.append('knl')
- if 'swr=skx' in spec:
- args_swr_arches.append('skx')
+ if "swr=avx" in spec:
+ args_swr_arches.append("avx")
+ if "swr=avx2" in spec:
+ args_swr_arches.append("avx2")
+ if "swr=knl" in spec:
+ args_swr_arches.append("knl")
+ if "swr=skx" in spec:
+ args_swr_arches.append("skx")
if args_swr_arches:
- args_gallium_drivers.append('swr')
- args.append('-Dswr-arches=' + ','.join(args_swr_arches))
+ args_gallium_drivers.append("swr")
+ args.append("-Dswr-arches=" + ",".join(args_swr_arches))
# Add the remaining list args
- args.append('-Dplatforms=' + ','.join(args_platforms))
- args.append('-Dgallium-drivers=' + ','.join(args_gallium_drivers))
- args.append('-Ddri-drivers=' + ','.join(args_dri_drivers))
+ args.append("-Dplatforms=" + ",".join(args_platforms))
+ args.append("-Dgallium-drivers=" + ",".join(args_gallium_drivers))
+ args.append("-Ddri-drivers=" + ",".join(args_dri_drivers))
return args
@property
def libglx_headers(self):
- return find_headers('GL/glx',
- root=self.spec.prefix.include,
- recursive=False)
+ return find_headers("GL/glx", root=self.spec.prefix.include, recursive=False)
@property
def libglx_libs(self):
- return find_libraries('libGL',
- root=self.spec.prefix,
- recursive=True)
+ return find_libraries("libGL", root=self.spec.prefix, recursive=True)
@property
def libosmesa_headers(self):
- return find_headers('GL/osmesa',
- root=self.spec.prefix.include,
- recursive=False)
+ return find_headers("GL/osmesa", root=self.spec.prefix.include, recursive=False)
@property
def libosmesa_libs(self):
- if 'platform=windows' in self.spec:
- lib_name = 'osmesa'
+ if "platform=windows" in self.spec:
+ lib_name = "osmesa"
else:
- lib_name = 'libOSMesa'
- return find_libraries(lib_name,
- root=self.spec.prefix,
- recursive=True)
+ lib_name = "libOSMesa"
+ return find_libraries(lib_name, root=self.spec.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/mesa18/package.py b/var/spack/repos/builtin/packages/mesa18/package.py
index aadfc6e960..96e6ff4bbd 100644
--- a/var/spack/repos/builtin/packages/mesa18/package.py
+++ b/var/spack/repos/builtin/packages/mesa18/package.py
@@ -10,177 +10,185 @@ from spack.package import *
class Mesa18(AutotoolsPackage):
"""Mesa is an open-source implementation of the OpenGL specification
- - a system for rendering interactive 3D graphics."""
+ - a system for rendering interactive 3D graphics."""
homepage = "https://www.mesa3d.org"
- maintainers = ['v-dobrev', 'chuckatkins', 'ChristianTackeGSI']
+ maintainers = ["v-dobrev", "chuckatkins", "ChristianTackeGSI"]
# Note that we always want to build from the git repo instead of a
# tarball since the tarball has pre-generated files for certain versions
# of LLVM while the git repo doesn't so it can adapt at build time to
# whatever version of LLVM you're using.
- git = "https://gitlab.freedesktop.org/mesa/mesa.git"
-
- version('18.3.6', tag='mesa-18.3.6')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('binutils+plugins', when=(sys.platform != 'darwin'), type='build')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('python@:3.8', type='build') # https://github.com/spack/spack/issues/28219
- depends_on('py-mako@0.8.0:', type='build')
- depends_on('libxml2')
- depends_on('zlib')
- depends_on('expat')
- depends_on('ncurses+termlib')
+ git = "https://gitlab.freedesktop.org/mesa/mesa.git"
+
+ version("18.3.6", tag="mesa-18.3.6")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("binutils+plugins", when=(sys.platform != "darwin"), type="build")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@:3.8", type="build") # https://github.com/spack/spack/issues/28219
+ depends_on("py-mako@0.8.0:", type="build")
+ depends_on("libxml2")
+ depends_on("zlib")
+ depends_on("expat")
+ depends_on("ncurses+termlib")
# Internal options
- variant('llvm', default=True, description="Enable LLVM.")
+ variant("llvm", default=True, description="Enable LLVM.")
variant(
- 'swr',
+ "swr",
values=spack.variant.DisjointSetsOfValues(
- ('none',), ('auto',), ('avx', 'avx2', 'knl', 'skx',),
+ ("none",),
+ ("auto",),
+ (
+ "avx",
+ "avx2",
+ "knl",
+ "skx",
+ ),
)
- .with_non_feature_values('auto')
- .with_non_feature_values('none')
- .with_default('auto'),
- when='+llvm',
+ .with_non_feature_values("auto")
+ .with_non_feature_values("none")
+ .with_default("auto"),
+ when="+llvm",
description="Enable the SWR driver.",
)
# Front ends
- variant('osmesa', default=True, description="Enable the OSMesa frontend.")
+ variant("osmesa", default=True, description="Enable the OSMesa frontend.")
- is_linux = sys.platform.startswith('linux')
- variant('glx', default=is_linux, description="Enable the GLX frontend.")
+ is_linux = sys.platform.startswith("linux")
+ variant("glx", default=is_linux, description="Enable the GLX frontend.")
# Additional backends
- variant('opengles', default=False, description="Enable OpenGL ES support.")
+ variant("opengles", default=False, description="Enable OpenGL ES support.")
# Provides
- provides('libglx', when='+glx')
- provides('libosmesa', when='+osmesa')
+ provides("libglx", when="+glx")
+ provides("libosmesa", when="+osmesa")
# Variant dependencies
- depends_on('libllvm@6:10', when='+llvm')
- depends_on('libx11', when='+glx')
- depends_on('libxcb', when='+glx')
- depends_on('libxext', when='+glx')
- depends_on('glproto@1.4.14:', when='+glx')
+ depends_on("libllvm@6:10", when="+llvm")
+ depends_on("libx11", when="+glx")
+ depends_on("libxcb", when="+glx")
+ depends_on("libxext", when="+glx")
+ depends_on("glproto@1.4.14:", when="+glx")
# Require at least 1 front-end
- conflicts('~osmesa ~glx')
+ conflicts("~osmesa ~glx")
# Prevent an unnecessary xcb-dri dependency
- patch('autotools-x11-nodri.patch')
+ patch("autotools-x11-nodri.patch")
# Backport Mesa MR#6053 to prevent multiply-defined symbols
- patch('multiple-symbols_hash.patch', when='@:20.1.4%gcc@10:')
+ patch("multiple-symbols_hash.patch", when="@:20.1.4%gcc@10:")
def setup_build_environment(self, env):
- env.set('PYTHON', self.spec['python'].command.path)
+ env.set("PYTHON", self.spec["python"].command.path)
def autoreconf(self, spec, prefix):
- which('autoreconf')('--force', '--verbose', '--install')
+ which("autoreconf")("--force", "--verbose", "--install")
def configure_args(self):
spec = self.spec
args = [
- 'LDFLAGS={0}'.format(self.spec['ncurses'].libs.search_flags),
- '--enable-shared',
- '--disable-static',
- '--disable-libglvnd',
- '--disable-nine',
- '--disable-omx-bellagio',
- '--disable-omx-tizonia',
- '--disable-opencl',
- '--disable-opencl-icd',
- '--disable-va',
- '--disable-vdpau',
- '--disable-xa',
- '--disable-xvmc',
- '--disable-osmesa',
- '--with-vulkan-drivers=',
- '--disable-egl',
- '--disable-gbm',
- '--disable-dri',
- '--enable-opengl']
+ "LDFLAGS={0}".format(self.spec["ncurses"].libs.search_flags),
+ "--enable-shared",
+ "--disable-static",
+ "--disable-libglvnd",
+ "--disable-nine",
+ "--disable-omx-bellagio",
+ "--disable-omx-tizonia",
+ "--disable-opencl",
+ "--disable-opencl-icd",
+ "--disable-va",
+ "--disable-vdpau",
+ "--disable-xa",
+ "--disable-xvmc",
+ "--disable-osmesa",
+ "--with-vulkan-drivers=",
+ "--disable-egl",
+ "--disable-gbm",
+ "--disable-dri",
+ "--enable-opengl",
+ ]
args_platforms = []
- args_gallium_drivers = ['swrast']
+ args_gallium_drivers = ["swrast"]
args_dri_drivers = []
- if spec.target.family == 'arm' or spec.target.family == 'aarch64':
- args.append('--disable-libunwind')
+ if spec.target.family == "arm" or spec.target.family == "aarch64":
+ args.append("--disable-libunwind")
num_frontends = 0
- if '+osmesa' in spec:
+ if "+osmesa" in spec:
num_frontends += 1
- args.append('--enable-gallium-osmesa')
+ args.append("--enable-gallium-osmesa")
else:
- args.append('--disable-gallium-osmesa')
+ args.append("--disable-gallium-osmesa")
- if '+glx' in spec:
+ if "+glx" in spec:
num_frontends += 1
- args.append('--enable-glx=gallium-xlib')
- args_platforms.append('x11')
+ args.append("--enable-glx=gallium-xlib")
+ args_platforms.append("x11")
else:
- args.append('--disable-glx')
+ args.append("--disable-glx")
- if '+opengles' in spec:
- args.extend(['--enable-gles1', '--enable-gles2'])
+ if "+opengles" in spec:
+ args.extend(["--enable-gles1", "--enable-gles2"])
else:
- args.extend(['--disable-gles1', '--disable-gles2'])
+ args.extend(["--disable-gles1", "--disable-gles2"])
if num_frontends > 1:
- args.append('--enable-shared-glapi')
+ args.append("--enable-shared-glapi")
else:
- args.append('--disable-shared-glapi')
+ args.append("--disable-shared-glapi")
- if '+llvm' in spec:
- args.append('--enable-llvm')
- args.append('--with-llvm-prefix=%s' % spec['libllvm'].prefix)
- if '+llvm_dylib' in spec['libllvm']:
- args.append('--enable-llvm-shared-libs')
+ if "+llvm" in spec:
+ args.append("--enable-llvm")
+ args.append("--with-llvm-prefix=%s" % spec["libllvm"].prefix)
+ if "+llvm_dylib" in spec["libllvm"]:
+ args.append("--enable-llvm-shared-libs")
else:
- args.append('--disable-llvm-shared-libs')
+ args.append("--disable-llvm-shared-libs")
else:
- args.append('--disable-llvm')
+ args.append("--disable-llvm")
args_swr_arches = []
- if 'swr=auto' in spec:
- if 'avx' in spec.target:
- args_swr_arches.append('avx')
- if 'avx2' in spec.target:
- args_swr_arches.append('avx2')
- if 'avx512f' in spec.target:
- if 'avx512er' in spec.target:
- args_swr_arches.append('knl')
- if 'avx512bw' in spec.target:
- args_swr_arches.append('skx')
+ if "swr=auto" in spec:
+ if "avx" in spec.target:
+ args_swr_arches.append("avx")
+ if "avx2" in spec.target:
+ args_swr_arches.append("avx2")
+ if "avx512f" in spec.target:
+ if "avx512er" in spec.target:
+ args_swr_arches.append("knl")
+ if "avx512bw" in spec.target:
+ args_swr_arches.append("skx")
else:
- if 'swr=avx' in spec:
- args_swr_arches.append('avx')
- if 'swr=avx2' in spec:
- args_swr_arches.append('avx2')
- if 'swr=knl' in spec:
- args_swr_arches.append('knl')
- if 'swr=skx' in spec:
- args_swr_arches.append('skx')
+ if "swr=avx" in spec:
+ args_swr_arches.append("avx")
+ if "swr=avx2" in spec:
+ args_swr_arches.append("avx2")
+ if "swr=knl" in spec:
+ args_swr_arches.append("knl")
+ if "swr=skx" in spec:
+ args_swr_arches.append("skx")
if args_swr_arches:
- args_gallium_drivers.append('swr')
- args.append('--with-swr-archs=' + ','.join(args_swr_arches))
+ args_gallium_drivers.append("swr")
+ args.append("--with-swr-archs=" + ",".join(args_swr_arches))
# Add the remaining list args
- args.append('--with-platforms=' + ','.join(args_platforms))
- args.append('--with-gallium-drivers=' + ','.join(args_gallium_drivers))
- args.append('--with-dri-drivers=' + ','.join(args_dri_drivers))
+ args.append("--with-platforms=" + ",".join(args_platforms))
+ args.append("--with-gallium-drivers=" + ",".join(args_gallium_drivers))
+ args.append("--with-dri-drivers=" + ",".join(args_dri_drivers))
return args
@@ -188,49 +196,40 @@ class Mesa18(AutotoolsPackage):
def libs(self):
spec = self.spec
libs_to_seek = set()
- if 'platform=windows' in spec:
- libs_to_seek.add('opengl32')
- if '+osmesa' in spec:
- libs_to_seek.add('osmesa')
+ if "platform=windows" in spec:
+ libs_to_seek.add("opengl32")
+ if "+osmesa" in spec:
+ libs_to_seek.add("osmesa")
else:
- libs_to_seek.add('libGL')
- if '+osmesa' in spec:
- libs_to_seek.add('libOSMesa')
- if '+glx' in spec:
- libs_to_seek.add('libGL')
- if '+opengles' in spec:
- libs_to_seek.add('libGLESv1_CM')
- libs_to_seek.add('libGLESv2')
-
- return find_libraries(list(libs_to_seek),
- root=self.spec.prefix,
- shared=True,
- recursive=True)
+ libs_to_seek.add("libGL")
+ if "+osmesa" in spec:
+ libs_to_seek.add("libOSMesa")
+ if "+glx" in spec:
+ libs_to_seek.add("libGL")
+ if "+opengles" in spec:
+ libs_to_seek.add("libGLESv1_CM")
+ libs_to_seek.add("libGLESv2")
+
+ return find_libraries(
+ list(libs_to_seek), root=self.spec.prefix, shared=True, recursive=True
+ )
@property
def libglx_headers(self):
- return find_headers('GL/glx',
- root=self.spec.prefix.include,
- recursive=False)
+ return find_headers("GL/glx", root=self.spec.prefix.include, recursive=False)
@property
def libglx_libs(self):
- return find_libraries('libGL',
- root=self.spec.prefix,
- recursive=True)
+ return find_libraries("libGL", root=self.spec.prefix, recursive=True)
@property
def libosmesa_headers(self):
- return find_headers('GL/osmesa',
- root=self.spec.prefix.include,
- recursive=False)
+ return find_headers("GL/osmesa", root=self.spec.prefix.include, recursive=False)
@property
def libosmesa_libs(self):
- if 'platform=windows' in self.spec:
- lib_name = 'osmesa'
+ if "platform=windows" in self.spec:
+ lib_name = "osmesa"
else:
- lib_name = 'libOSMesa'
- return find_libraries(lib_name,
- root=self.spec.prefix,
- recursive=True)
+ lib_name = "libOSMesa"
+ return find_libraries(lib_name, root=self.spec.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/meshkit/package.py b/var/spack/repos/builtin/packages/meshkit/package.py
index f6ccfc9123..c70103d99f 100644
--- a/var/spack/repos/builtin/packages/meshkit/package.py
+++ b/var/spack/repos/builtin/packages/meshkit/package.py
@@ -8,52 +8,54 @@ from spack.package import *
class Meshkit(AutotoolsPackage):
"""MeshKit is an open-source library of mesh generation functionality.
- Its design philosophy is two-fold: it provides a collection of
- meshing algorithms for use in real meshing problems, along with
- other tools commonly needed to support mesh generation"""
+ Its design philosophy is two-fold: it provides a collection of
+ meshing algorithms for use in real meshing problems, along with
+ other tools commonly needed to support mesh generation"""
homepage = "https://sigma.mcs.anl.gov/meshkit-library"
url = "https://ftp.mcs.anl.gov/pub/fathom/meshkit-1.5.0.tar.gz"
- version('1.5.0', sha256='6a4c119af191e24ef40644acb7cfbe967af0678ac3412f38a943fb28d661cac7')
+ version("1.5.0", sha256="6a4c119af191e24ef40644acb7cfbe967af0678ac3412f38a943fb28d661cac7")
- variant("mpi", default=True, description='enable mpi support')
- variant("netgen", default=False, description='enable netgen support')
- variant("debug", default=False, description='enable debug symbols')
- variant("shared", default=False, description='enable shared builds')
+ variant("mpi", default=True, description="enable mpi support")
+ variant("netgen", default=False, description="enable netgen support")
+ variant("debug", default=False, description="enable debug symbols")
+ variant("shared", default=False, description="enable shared builds")
- depends_on('mpi', when='+mpi')
- depends_on('netgen', when='+netgen')
- depends_on('cgm')
- depends_on('moab+cgm+irel+fbigeom')
+ depends_on("mpi", when="+mpi")
+ depends_on("netgen", when="+netgen")
+ depends_on("cgm")
+ depends_on("moab+cgm+irel+fbigeom")
def configure_args(self):
spec = self.spec
args = [
- "--with-igeom={0}".format(spec['cgm'].prefix),
- "--with-imesh={0}".format(spec['moab'].prefix)
+ "--with-igeom={0}".format(spec["cgm"].prefix),
+ "--with-imesh={0}".format(spec["moab"].prefix),
]
- if '+mpi' in spec:
- args.extend([
- "--with-mpi",
- "CC={0}".format(spec['mpi'].mpicc),
- "CXX={0}".format(spec['mpi'].mpicxx),
- "FC={0}".format(spec['mpi'].mpifc)
- ])
-# FIXME without-mpi is not working
-# else:
-# args.append("--without-mpi")
- if '+netgen' in spec:
- args.append("--with-netgen={0}".format(spec['netgen'].prefix))
+ if "+mpi" in spec:
+ args.extend(
+ [
+ "--with-mpi",
+ "CC={0}".format(spec["mpi"].mpicc),
+ "CXX={0}".format(spec["mpi"].mpicxx),
+ "FC={0}".format(spec["mpi"].mpifc),
+ ]
+ )
+ # FIXME without-mpi is not working
+ # else:
+ # args.append("--without-mpi")
+ if "+netgen" in spec:
+ args.append("--with-netgen={0}".format(spec["netgen"].prefix))
else:
args.append("--without-netgen")
- if '+debug' in spec:
+ if "+debug" in spec:
args.append("--enable-debug")
else:
args.append("--disable-debug")
- if '+shared' in spec:
+ if "+shared" in spec:
args.append("--enable-shared")
else:
args.append("--disable-shared")
diff --git a/var/spack/repos/builtin/packages/meshtool/package.py b/var/spack/repos/builtin/packages/meshtool/package.py
index 3e4614142d..1137d7842f 100644
--- a/var/spack/repos/builtin/packages/meshtool/package.py
+++ b/var/spack/repos/builtin/packages/meshtool/package.py
@@ -10,18 +10,18 @@ class Meshtool(MakefilePackage):
"""Meshtool - A mesh manipulation utility"""
homepage = "https://bitbucket.org/aneic/meshtool/"
- git = "https://bitbucket.org/aneic/meshtool.git"
+ git = "https://bitbucket.org/aneic/meshtool.git"
- maintainers = ['MarieHouillon']
+ maintainers = ["MarieHouillon"]
- version('master', branch='master', preferred=True)
+ version("master", branch="master", preferred=True)
# Version to use with openCARP releases
- version('oc10.0', commit='6c5cfbd067120901f15a04bf63beec409bda6dc9')
- version('oc9.0', commit='6c5cfbd067120901f15a04bf63beec409bda6dc9')
- version('oc8.2', commit='6c5cfbd067120901f15a04bf63beec409bda6dc9')
- version('oc8.1', commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
- version('oc7.0', commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+ version("oc10.0", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+ version("oc9.0", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+ version("oc8.2", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+ version("oc8.1", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
+ version("oc7.0", commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('meshtool', prefix.bin)
+ install("meshtool", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py
index 10c029a2b1..ee846ee013 100644
--- a/var/spack/repos/builtin/packages/meson/package.py
+++ b/var/spack/repos/builtin/packages/meson/package.py
@@ -9,73 +9,75 @@ from spack.package import *
class Meson(PythonPackage):
"""Meson is a portable open source build system meant to be both
- extremely fast, and as user friendly as possible."""
+ extremely fast, and as user friendly as possible."""
homepage = "https://mesonbuild.com/"
- url = "https://github.com/mesonbuild/meson/archive/0.49.0.tar.gz"
+ url = "https://github.com/mesonbuild/meson/archive/0.49.0.tar.gz"
- tags = ['build-tools']
+ tags = ["build-tools"]
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('0.62.2', sha256='97108f4d9bb16bc758c44749bd25ec7d42c6a762961efbed8b7589a2a3551ea6')
- version('0.62.1', sha256='9fb52e66dbc613479a5f70e46cc2e8faf5aa65e09313f2c71fa63b8afd018107')
- version('0.62.0', sha256='72ac3bab701dfd597604de29cc74baaa1cc0ad8ca26ae23d5288de26abfe1c80')
- version('0.61.4', sha256='c9cc34bcb15c19cfd5ee0d7b07111152701f602db2b59ef6b63d3628e0bbe719')
- version('0.61.2', sha256='33cd555314a94d52acfbb3f6f44d4e61c4ad0bfec7acf4301be7e40bb969b3a8')
- version('0.60.3', sha256='6c191a9b4049e0c9a2a7d1275ab635b91f6ffec1912d75df4c5ec6acf35f74fe')
- version('0.60.0', sha256='5672a560fc4094c88ca5b8be0487e099fe84357e5045f5aecf1113084800e6fd')
- version('0.59.2', sha256='e6d5ccd503d41f938f6cfc4dc9e7326ffe28acabe091b1ff0c6535bdf09732dd')
- 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')
- version('0.57.1', sha256='0c043c9b5350e9087cd4f6becf6c0d10b1d618ca3f919e0dcca2cdf342360d5d')
- version('0.57.0', sha256='fd26a27c1a509240c668ebd29d280649d9239cf8684ead51d5cb499d1e1188bd')
- version('0.56.2', sha256='aaae961c3413033789248ffe6762589e80b6cf487c334d0b808e31a32c48f35f')
- version('0.56.0', sha256='a9ca7adf66dc69fbb7e583f7c7aef16b9fe56ec2874a3d58747e69a3affdf300')
- version('0.55.3', sha256='2b276df50c5b13ccdbfb14d3333141e9e7985aca31b60400b3f3e0be2ee6897e')
- version('0.55.2', sha256='56244896e56c2b619f819d047b6de412ecc5250975ee8717f1e329113d178e06')
- version('0.55.1', sha256='c7ebf2fff5934a974c7edd1aebb5fc9c3e1da5ae3184a29581fde917638eea39')
- version('0.55.0', sha256='9034c943c8cf4d734c0e18e5ba038dd762fcdcc614c45b41703305da8382e90c')
- version('0.54.3', sha256='c25caff342b5368bfe33fab6108f454fcf12e2f2cef70817205872ddef669e8b')
- version('0.54.2', sha256='85cafdc70ae7d1d9d506e7356b917c649c4df2077bd6a0382db37648aa4ecbdb')
- version('0.54.1', sha256='854e8b94ab36e5aece813d2b2aee8a639bd52201dfea50890722ac9128e2f59e')
- version('0.54.0', sha256='95efdbaa7cb3e915ab9a7b26b1412475398fdc3e834842a780f1646c7764f2d9')
- version('0.53.2', sha256='eab4f5d5dde12d002b7ddd958a9a0658589b63622b6cea2715e0235b95917888')
- version('0.49.1', sha256='a944e7f25a2bc8e4ba3502ab5835d8a8b8f2530415c9d6fcffb53e0abaea2ced')
- version('0.49.0', sha256='11bc959e7173e714e4a4e85dd2bd9d0149b0a51c8ba82d5f44cc63735f603c74')
- version('0.42.0', sha256='6c318a2da3859326a37f8a380e3c50e97aaabff6990067218dffffea674ed76f')
- version('0.41.2', sha256='2daf448d3f2479d60e30617451f09bf02d26304dd1bd12ee1de936a53e42c7a4')
- version('0.41.1', sha256='a48901f02ffeb9ff5cf5361d71b1fca202f9cd72998043ad011fc5de0294cf8b')
+ version("0.62.2", sha256="97108f4d9bb16bc758c44749bd25ec7d42c6a762961efbed8b7589a2a3551ea6")
+ version("0.62.1", sha256="9fb52e66dbc613479a5f70e46cc2e8faf5aa65e09313f2c71fa63b8afd018107")
+ version("0.62.0", sha256="72ac3bab701dfd597604de29cc74baaa1cc0ad8ca26ae23d5288de26abfe1c80")
+ version("0.61.4", sha256="c9cc34bcb15c19cfd5ee0d7b07111152701f602db2b59ef6b63d3628e0bbe719")
+ version("0.61.2", sha256="33cd555314a94d52acfbb3f6f44d4e61c4ad0bfec7acf4301be7e40bb969b3a8")
+ version("0.60.3", sha256="6c191a9b4049e0c9a2a7d1275ab635b91f6ffec1912d75df4c5ec6acf35f74fe")
+ version("0.60.0", sha256="5672a560fc4094c88ca5b8be0487e099fe84357e5045f5aecf1113084800e6fd")
+ version("0.59.2", sha256="e6d5ccd503d41f938f6cfc4dc9e7326ffe28acabe091b1ff0c6535bdf09732dd")
+ 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")
+ version("0.57.1", sha256="0c043c9b5350e9087cd4f6becf6c0d10b1d618ca3f919e0dcca2cdf342360d5d")
+ version("0.57.0", sha256="fd26a27c1a509240c668ebd29d280649d9239cf8684ead51d5cb499d1e1188bd")
+ version("0.56.2", sha256="aaae961c3413033789248ffe6762589e80b6cf487c334d0b808e31a32c48f35f")
+ version("0.56.0", sha256="a9ca7adf66dc69fbb7e583f7c7aef16b9fe56ec2874a3d58747e69a3affdf300")
+ version("0.55.3", sha256="2b276df50c5b13ccdbfb14d3333141e9e7985aca31b60400b3f3e0be2ee6897e")
+ version("0.55.2", sha256="56244896e56c2b619f819d047b6de412ecc5250975ee8717f1e329113d178e06")
+ version("0.55.1", sha256="c7ebf2fff5934a974c7edd1aebb5fc9c3e1da5ae3184a29581fde917638eea39")
+ version("0.55.0", sha256="9034c943c8cf4d734c0e18e5ba038dd762fcdcc614c45b41703305da8382e90c")
+ version("0.54.3", sha256="c25caff342b5368bfe33fab6108f454fcf12e2f2cef70817205872ddef669e8b")
+ version("0.54.2", sha256="85cafdc70ae7d1d9d506e7356b917c649c4df2077bd6a0382db37648aa4ecbdb")
+ version("0.54.1", sha256="854e8b94ab36e5aece813d2b2aee8a639bd52201dfea50890722ac9128e2f59e")
+ version("0.54.0", sha256="95efdbaa7cb3e915ab9a7b26b1412475398fdc3e834842a780f1646c7764f2d9")
+ version("0.53.2", sha256="eab4f5d5dde12d002b7ddd958a9a0658589b63622b6cea2715e0235b95917888")
+ version("0.49.1", sha256="a944e7f25a2bc8e4ba3502ab5835d8a8b8f2530415c9d6fcffb53e0abaea2ced")
+ version("0.49.0", sha256="11bc959e7173e714e4a4e85dd2bd9d0149b0a51c8ba82d5f44cc63735f603c74")
+ version("0.42.0", sha256="6c318a2da3859326a37f8a380e3c50e97aaabff6990067218dffffea674ed76f")
+ version("0.41.2", sha256="2daf448d3f2479d60e30617451f09bf02d26304dd1bd12ee1de936a53e42c7a4")
+ version("0.41.1", sha256="a48901f02ffeb9ff5cf5361d71b1fca202f9cd72998043ad011fc5de0294cf8b")
- depends_on('python@3.7:', when='@0.62.0:', type=('build', 'run'))
- depends_on('python@3.6:', when='@0.57.0:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('ninja', type='run')
+ depends_on("python@3.7:", when="@0.62.0:", type=("build", "run"))
+ depends_on("python@3.6:", when="@0.57.0:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("ninja", type="run")
# By default, Meson strips the rpath on installation. This patch disables
# rpath modification completely to make sure that Spack's rpath changes
# are not reverted.
- patch('rpath-0.49.patch', when='@0.49:0.53')
- patch('rpath-0.54.patch', when='@0.54:0.55')
- patch('rpath-0.56.patch', when='@0.56:0.57')
- patch('rpath-0.58.patch', when='@0.58:')
+ patch("rpath-0.49.patch", when="@0.49:0.53")
+ patch("rpath-0.54.patch", when="@0.54:0.55")
+ patch("rpath-0.56.patch", when="@0.56:0.57")
+ patch("rpath-0.58.patch", when="@0.58:")
# Help meson recognize Intel OneAPI compilers
- patch('https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/9850.patch?full_index=1',
- sha256='9c874726ce0a06922580d3e3d6adbe74e5144b3a661ef1059f32c9c1bc478b65',
- when='@0.60.0:')
+ patch(
+ "https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/9850.patch?full_index=1",
+ sha256="9c874726ce0a06922580d3e3d6adbe74e5144b3a661ef1059f32c9c1bc478b65",
+ when="@0.60.0:",
+ )
- executables = ['^meson$']
+ executables = ["^meson$"]
@classmethod
def determine_version(cls, exe):
- return Executable(exe)('--version', output=str, error=str).rstrip()
+ return Executable(exe)("--version", output=str, error=str).rstrip()
def setup_dependent_build_environment(self, env, dependent_spec):
# https://github.com/pybind/pybind11/issues/595
- if self.spec.satisfies('platform=darwin'):
- env.set('STRIP', 'strip -x')
+ if self.spec.satisfies("platform=darwin"):
+ env.set("STRIP", "strip -x")
diff --git a/var/spack/repos/builtin/packages/mesquite/package.py b/var/spack/repos/builtin/packages/mesquite/package.py
index 79be319a71..244d31d292 100644
--- a/var/spack/repos/builtin/packages/mesquite/package.py
+++ b/var/spack/repos/builtin/packages/mesquite/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class Mesquite(AutotoolsPackage):
"""Mesquite (Mesh Quality Improvement Toolkit) is designed to provide a
- stand-alone, portable, comprehensive suite of mesh quality improvement
- algorithms and components that can be used to construct custom quality
- improvement algorithms. Mesquite provides a robust and effective mesh
- improvement toolkit that allows both meshing researchers application
- scientists to benefit from the latest developments in mesh quality
- control and improvement."""
+ stand-alone, portable, comprehensive suite of mesh quality improvement
+ algorithms and components that can be used to construct custom quality
+ improvement algorithms. Mesquite provides a robust and effective mesh
+ improvement toolkit that allows both meshing researchers application
+ scientists to benefit from the latest developments in mesh quality
+ control and improvement."""
homepage = "https://software.sandia.gov/mesquite"
- url = "https://software.sandia.gov/mesquite/mesquite-2.3.0.tar.gz"
+ url = "https://software.sandia.gov/mesquite/mesquite-2.3.0.tar.gz"
- version('2.99', sha256='7d834dbcc3132d903dbecb59337dc5b47505b7fb579b68f1ce66e5df87106954')
- version('2.3.0', sha256='4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28')
- version('2.2.0', sha256='3d48322c3e148431ee1af155d6bb94dfeef15795da1f46996c112df27778a4a2')
+ version("2.99", sha256="7d834dbcc3132d903dbecb59337dc5b47505b7fb579b68f1ce66e5df87106954")
+ version("2.3.0", sha256="4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28")
+ version("2.2.0", sha256="3d48322c3e148431ee1af155d6bb94dfeef15795da1f46996c112df27778a4a2")
- variant('mpi', default=True, description='Enable MPI parallel support')
+ variant("mpi", default=True, description="Enable MPI parallel support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def configure_args(self):
args = [
- '--enable-release',
- '--enable-shared',
+ "--enable-release",
+ "--enable-shared",
]
- if '+mpi' in self.spec:
- args.append('CC=%s' % self.spec['mpi'].mpicc)
- args.append('CXX=%s' % self.spec['mpi'].mpicxx)
- args.append('--with-mpi=%s' % self.spec['mpi'].prefix)
+ if "+mpi" in self.spec:
+ args.append("CC=%s" % self.spec["mpi"].mpicc)
+ args.append("CXX=%s" % self.spec["mpi"].mpicxx)
+ args.append("--with-mpi=%s" % self.spec["mpi"].prefix)
else:
- args.append('--without-mpi')
+ args.append("--without-mpi")
return args
diff --git a/var/spack/repos/builtin/packages/metabat/package.py b/var/spack/repos/builtin/packages/metabat/package.py
index 88484431f6..3721c8e980 100644
--- a/var/spack/repos/builtin/packages/metabat/package.py
+++ b/var/spack/repos/builtin/packages/metabat/package.py
@@ -12,37 +12,41 @@ class Metabat(CMakePackage):
genomes from complex microbial communities."""
homepage = "https://bitbucket.org/berkeleylab/metabat"
- url = "https://bitbucket.org/berkeleylab/metabat/get/v2.12.1.tar.gz"
-
- version('2.15', sha256='550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e')
- version('2.14', sha256='d43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2')
- version('2.13', sha256='aa75a2b62ec9588add4c288993821bab5312a83b1259ff0d508c215133492d74')
- version('2.12.1', sha256='e3aca0656f56f815135521360dc56667ec26af25143c3a31d645fef1a96abbc2', deprecated=True)
- version('2.11.2', sha256='9baf81b385e503e71792706237c308a21ff9177a3211c79057dcecf8434e9a67', deprecated=True)
-
- depends_on('cmake', type='build', when='@2.13:')
- depends_on('boost@1.55.0:', type=('build', 'run'))
+ url = "https://bitbucket.org/berkeleylab/metabat/get/v2.12.1.tar.gz"
+
+ version("2.15", sha256="550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e")
+ version("2.14", sha256="d43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2")
+ version("2.13", sha256="aa75a2b62ec9588add4c288993821bab5312a83b1259ff0d508c215133492d74")
+ version(
+ "2.12.1",
+ sha256="e3aca0656f56f815135521360dc56667ec26af25143c3a31d645fef1a96abbc2",
+ deprecated=True,
+ )
+ version(
+ "2.11.2",
+ sha256="9baf81b385e503e71792706237c308a21ff9177a3211c79057dcecf8434e9a67",
+ deprecated=True,
+ )
+
+ depends_on("cmake", type="build", when="@2.13:")
+ depends_on("boost@1.55.0:", type=("build", "run"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type=('build', 'run'))
- depends_on('perl', type='run')
- depends_on('zlib', type='link')
- depends_on('ncurses', type='link')
+ depends_on(Boost.with_default_variants, type=("build", "run"))
+ depends_on("perl", type="run")
+ depends_on("zlib", type="link")
+ depends_on("ncurses", type="link")
def setup_build_environment(self, env):
- env.set('BOOST_ROOT', self.spec['boost'].prefix)
+ env.set("BOOST_ROOT", self.spec["boost"].prefix)
def install_args(self, spec, prefix):
return ["PREFIX={0}".format(prefix)]
- @run_after('build')
+ @run_after("build")
def fix_perl_scripts(self):
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl',
- 'aggregateBinDepths.pl')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "aggregateBinDepths.pl")
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl',
- 'aggregateContigOverlapsByBin.pl')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "aggregateContigOverlapsByBin.pl")
diff --git a/var/spack/repos/builtin/packages/metall/package.py b/var/spack/repos/builtin/packages/metall/package.py
index 5cf9948926..4082ca7941 100644
--- a/var/spack/repos/builtin/packages/metall/package.py
+++ b/var/spack/repos/builtin/packages/metall/package.py
@@ -11,60 +11,57 @@ class Metall(CMakePackage):
"""A Persistent Memory Allocator For Data-Centric Analytics"""
homepage = "https://github.com/LLNL/metall"
- git = "https://github.com/LLNL/metall.git"
- url = "https://github.com/LLNL/metall/archive/refs/tags/v0.20.tar.gz"
+ git = "https://github.com/LLNL/metall.git"
+ url = "https://github.com/LLNL/metall/archive/refs/tags/v0.20.tar.gz"
- maintainers = ['KIwabuchi', 'rogerpearce', 'mayagokhale']
+ maintainers = ["KIwabuchi", "rogerpearce", "mayagokhale"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('develop', branch='develop')
+ version("master", branch="master")
+ version("develop", branch="develop")
- version('0.21', sha256='feaff7a935f98d3cc1e2b21f6eae40edc674a5bd0133306afd3851148aaed026')
- version('0.20', sha256='cafe54c682004a66a059f54e2d7128ea7622e9941ea492297d04c260675e9af4')
- version('0.19', sha256='541f428d4a7e629e1e60754f9d5f5e84fe973d421b2647f5ed2ec25b977ddd56')
- version('0.18', sha256='cd1fee376d0523d43e43b92c43731d45a2c4324278a071a5f626f400afecef24')
- version('0.17', sha256='8de6ec2a430a141a2ad465ccd40ba9d0eb0c57d9f2f2de657fe837a73c466e61')
- 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')
- version('0.10', sha256='58b4b5507d4db5baca315b1bed2b728981755d755b91ef63bd0b6dfaf320f46b')
- version('0.9', sha256='2d7bd9ea2f1e04136050f210884445a9e3dcb96c992cf42ff9ea4b392f85f927')
+ version("0.21", sha256="feaff7a935f98d3cc1e2b21f6eae40edc674a5bd0133306afd3851148aaed026")
+ version("0.20", sha256="cafe54c682004a66a059f54e2d7128ea7622e9941ea492297d04c260675e9af4")
+ version("0.19", sha256="541f428d4a7e629e1e60754f9d5f5e84fe973d421b2647f5ed2ec25b977ddd56")
+ version("0.18", sha256="cd1fee376d0523d43e43b92c43731d45a2c4324278a071a5f626f400afecef24")
+ version("0.17", sha256="8de6ec2a430a141a2ad465ccd40ba9d0eb0c57d9f2f2de657fe837a73c466e61")
+ 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")
+ version("0.10", sha256="58b4b5507d4db5baca315b1bed2b728981755d755b91ef63bd0b6dfaf320f46b")
+ version("0.9", sha256="2d7bd9ea2f1e04136050f210884445a9e3dcb96c992cf42ff9ea4b392f85f927")
- depends_on('cmake@3.10:', type='build')
- depends_on('boost@1.64:', type=('build', 'link'))
+ depends_on("cmake@3.10:", type="build")
+ depends_on("boost@1.64:", type=("build", "link"))
# googletest is required only for test
# GCC is also required only for test (Metall is a header-only library)
# Hint: Use 'spack install --test=root metall' or 'spack install --test=all metall'
# to run test (adds a call to 'make test' to the build)
- depends_on('googletest %gcc@8.1.0:', type=('test'))
+ depends_on("googletest %gcc@8.1.0:", type=("test"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type=('build', 'link'))
+ depends_on(Boost.with_default_variants, type=("build", "link"))
def cmake_args(self):
if self.run_tests:
- args = ['-DBUILD_TEST=ON', '-DSKIP_DOWNLOAD_GTEST=ON']
+ args = ["-DBUILD_TEST=ON", "-DSKIP_DOWNLOAD_GTEST=ON"]
return args
else:
- args = ['-DINSTALL_HEADER_ONLY=ON']
+ args = ["-DINSTALL_HEADER_ONLY=ON"]
return args
def setup_build_environment(self, env):
# Configure the directories for test
if self.run_tests:
- env.set(
- 'METALL_TEST_DIR',
- join_path(self.build_directory, 'build_test')
- )
+ env.set("METALL_TEST_DIR", join_path(self.build_directory, "build_test"))
# 'spack load metall' sets METALL_ROOT environmental variable
def setup_run_environment(self, env):
- env.set('METALL_ROOT', self.prefix)
+ env.set("METALL_ROOT", self.prefix)
diff --git a/var/spack/repos/builtin/packages/metaphysicl/package.py b/var/spack/repos/builtin/packages/metaphysicl/package.py
index 2553877aa1..d79894bd7f 100644
--- a/var/spack/repos/builtin/packages/metaphysicl/package.py
+++ b/var/spack/repos/builtin/packages/metaphysicl/package.py
@@ -8,14 +8,15 @@ from spack.package import *
class Metaphysicl(AutotoolsPackage):
"""Metaprogramming and operator-overloaded classes for
- numerical simulations."""
+ numerical simulations."""
+
homepage = "https://github.com/roystgnr/MetaPhysicL"
- url = "https://github.com/roystgnr/MetaPhysicL/archive/v0.2.0.tar.gz"
+ url = "https://github.com/roystgnr/MetaPhysicL/archive/v0.2.0.tar.gz"
- version('0.5.0', sha256='dbba0590970a128ae2ae7064b621f78f95ca2303b70a12b079a51702573840a6')
- version('0.3.3', sha256='6581ec6512d3509bfca6f93052f7d47dd2d9e4b9f2b3580d778495ae381a0b0d')
- version('0.2.0', sha256='ff4f9fad870dcdc85d56fb1f8d94123fecbef9189f967d254ba9607624b5f32e')
+ version("0.5.0", sha256="dbba0590970a128ae2ae7064b621f78f95ca2303b70a12b079a51702573840a6")
+ version("0.3.3", sha256="6581ec6512d3509bfca6f93052f7d47dd2d9e4b9f2b3580d778495ae381a0b0d")
+ version("0.2.0", sha256="ff4f9fad870dcdc85d56fb1f8d94123fecbef9189f967d254ba9607624b5f32e")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/metis/package.py b/var/spack/repos/builtin/packages/metis/package.py
index 20c972f8df..edf99be5ee 100644
--- a/var/spack/repos/builtin/packages/metis/package.py
+++ b/var/spack/repos/builtin/packages/metis/package.py
@@ -12,153 +12,176 @@ from spack.package import *
class Metis(Package):
"""METIS is a set of serial programs for partitioning graphs, partitioning
- finite element meshes, and producing fill reducing orderings for sparse
- matrices. The algorithms implemented in METIS are based on the
- multilevel recursive-bisection, multilevel k-way, and multi-constraint
- partitioning schemes."""
+ finite element meshes, and producing fill reducing orderings for sparse
+ matrices. The algorithms implemented in METIS are based on the
+ multilevel recursive-bisection, multilevel k-way, and multi-constraint
+ partitioning schemes."""
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
- url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
+ url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
list_url = "http://glaros.dtc.umn.edu/gkhome/fsroot/sw/metis/OLD"
# not a metis developer, just package reviewer!
- maintainers = ['mthcrts']
+ maintainers = ["mthcrts"]
- version('5.1.0', sha256='76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2')
- version('4.0.3', sha256='5efa35de80703c1b2c4d0de080fafbcf4e0d363a21149a1ad2f96e0144841a55')
+ version("5.1.0", sha256="76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2")
+ version("4.0.3", sha256="5efa35de80703c1b2c4d0de080fafbcf4e0d363a21149a1ad2f96e0144841a55")
- variant('shared', default=True, description='Enables the build of shared libraries.')
- variant('gdb', default=False, description='Enables gdb support (version 5+).')
- variant('int64', default=False, description='Sets the bit width of METIS\'s index type to 64.')
- variant('real64', default=False, description='Sets the bit width of METIS\'s real type to 64.')
+ variant("shared", default=True, description="Enables the build of shared libraries.")
+ variant("gdb", default=False, description="Enables gdb support (version 5+).")
+ variant("int64", default=False, description="Sets the bit width of METIS's index type to 64.")
+ variant("real64", default=False, description="Sets the bit width of METIS's real type to 64.")
# For Metis version 5:, the build system is CMake, provide the
# `build_type` variant.
- variant('build_type', default='Release',
- description='The build type for the installation (only Debug or'
- ' Release allowed for version 4).',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type for the installation (only Debug or"
+ " Release allowed for version 4).",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
# Prior to version 5, the (non-cmake) build system only knows about
# 'build_type=Debug|Release'.
- conflicts('@:4', when='build_type=RelWithDebInfo')
- conflicts('@:4', when='build_type=MinSizeRel')
- conflicts('@:4', when='+gdb')
- conflicts('@:4', when='+int64')
- conflicts('@:4', when='+real64')
+ conflicts("@:4", when="build_type=RelWithDebInfo")
+ conflicts("@:4", when="build_type=MinSizeRel")
+ conflicts("@:4", when="+gdb")
+ conflicts("@:4", when="+int64")
+ conflicts("@:4", when="+real64")
- depends_on('cmake@2.8:', when='@5:', type='build')
+ depends_on("cmake@2.8:", when="@5:", type="build")
- patch('install_gklib_defs_rename.patch', when='@5:')
- patch('gklib_nomisleadingindentation_warning.patch', when='@5: %gcc@6:')
+ patch("install_gklib_defs_rename.patch", when="@5:")
+ patch("gklib_nomisleadingindentation_warning.patch", when="@5: %gcc@6:")
def setup_build_environment(self, env):
# Ignore warnings/errors re unrecognized omp pragmas on %intel
- if '%intel@14:' in self.spec:
- env.append_flags('CFLAGS', '-diag-disable 3180')
+ if "%intel@14:" in self.spec:
+ env.append_flags("CFLAGS", "-diag-disable 3180")
# Ignore some warnings to get it to compile with %nvhpc
# 111: statement is unreachable
# 177: variable "foo" was declared but never referenced
# 188: enumerated type mixed with another type
# 550: variable "foo" was set but never used
- if '%nvhpc' in self.spec:
- env.append_flags('CFLAGS', '--display_error_number')
- env.append_flags('CFLAGS', '--diag_suppress 111')
- env.append_flags('CFLAGS', '--diag_suppress 177')
- env.append_flags('CFLAGS', '--diag_suppress 188')
- env.append_flags('CFLAGS', '--diag_suppress 550')
-
- @when('@5:')
+ if "%nvhpc" in self.spec:
+ env.append_flags("CFLAGS", "--display_error_number")
+ env.append_flags("CFLAGS", "--diag_suppress 111")
+ env.append_flags("CFLAGS", "--diag_suppress 177")
+ env.append_flags("CFLAGS", "--diag_suppress 188")
+ env.append_flags("CFLAGS", "--diag_suppress 550")
+
+ @when("@5:")
def patch(self):
source_path = self.stage.source_path
- metis_header = FileFilter(join_path(source_path, 'include', 'metis.h'))
+ metis_header = FileFilter(join_path(source_path, "include", "metis.h"))
metis_header.filter(
- r'(\b)(IDXTYPEWIDTH )(\d+)(\b)',
- r'\1\2{0}\4'.format('64' if '+int64' in self.spec else '32'),
+ r"(\b)(IDXTYPEWIDTH )(\d+)(\b)",
+ r"\1\2{0}\4".format("64" if "+int64" in self.spec else "32"),
)
metis_header.filter(
- r'(\b)(REALTYPEWIDTH )(\d+)(\b)',
- r'\1\2{0}\4'.format('64' if '+real64' in self.spec else '32'),
+ r"(\b)(REALTYPEWIDTH )(\d+)(\b)",
+ r"\1\2{0}\4".format("64" if "+real64" in self.spec else "32"),
)
# Make clang 7.3 happy.
# Prevents "ld: section __DATA/__thread_bss extends beyond end of file"
# See upstream LLVM issue https://llvm.org/bugs/show_bug.cgi?id=27059
# and https://github.com/Homebrew/homebrew-science/blob/master/metis.rb
- if self.spec.satisfies('%clang@7.3.0'):
- filter_file('#define MAX_JBUFS 128', '#define MAX_JBUFS 24',
- join_path(source_path, 'GKlib', 'error.c'))
-
- @when('@:4')
+ if self.spec.satisfies("%clang@7.3.0"):
+ filter_file(
+ "#define MAX_JBUFS 128",
+ "#define MAX_JBUFS 24",
+ join_path(source_path, "GKlib", "error.c"),
+ )
+
+ @when("@:4")
def install(self, spec, prefix):
# Process library spec and options
options = []
- if '+shared' in spec:
- options.append('COPTIONS={0}'.format(self.compiler.cc_pic_flag))
- if spec.variants['build_type'].value == 'Debug':
- options.append('OPTFLAGS=-g -O0')
+ if "+shared" in spec:
+ options.append("COPTIONS={0}".format(self.compiler.cc_pic_flag))
+ if spec.variants["build_type"].value == "Debug":
+ options.append("OPTFLAGS=-g -O0")
make(*options)
# Compile and install library files
ccompile = Executable(self.compiler.cc)
mkdir(prefix.bin)
- binfiles = ('pmetis', 'kmetis', 'oemetis', 'onmetis', 'partnmesh',
- 'partdmesh', 'mesh2nodal', 'mesh2dual', 'graphchk')
+ binfiles = (
+ "pmetis",
+ "kmetis",
+ "oemetis",
+ "onmetis",
+ "partnmesh",
+ "partdmesh",
+ "mesh2nodal",
+ "mesh2dual",
+ "graphchk",
+ )
for binfile in binfiles:
install(binfile, prefix.bin)
mkdir(prefix.lib)
- install('libmetis.a', prefix.lib)
+ install("libmetis.a", prefix.lib)
mkdir(prefix.include)
- install(join_path('Lib', '*.h'), prefix.include)
+ install(join_path("Lib", "*.h"), prefix.include)
mkdir(prefix.share)
- sharefiles = (('Graphs', '4elt.graph'), ('Graphs', 'metis.mesh'),
- ('Graphs', 'test.mgraph'))
+ sharefiles = (
+ ("Graphs", "4elt.graph"),
+ ("Graphs", "metis.mesh"),
+ ("Graphs", "test.mgraph"),
+ )
for sharefile in tuple(join_path(*sf) for sf in sharefiles):
install(sharefile, prefix.share)
- if '+shared' in spec:
- shared_flags = [self.compiler.cc_pic_flag, '-shared']
- if sys.platform == 'darwin':
- shared_suffix = 'dylib'
- shared_flags.extend(['-Wl,-all_load', 'libmetis.a'])
+ if "+shared" in spec:
+ shared_flags = [self.compiler.cc_pic_flag, "-shared"]
+ if sys.platform == "darwin":
+ shared_suffix = "dylib"
+ shared_flags.extend(["-Wl,-all_load", "libmetis.a"])
else:
- shared_suffix = 'so'
- shared_flags.extend(['-Wl,-whole-archive', 'libmetis.a',
- '-Wl,-no-whole-archive'])
+ shared_suffix = "so"
+ shared_flags.extend(["-Wl,-whole-archive", "libmetis.a", "-Wl,-no-whole-archive"])
- shared_out = '%s/libmetis.%s' % (prefix.lib, shared_suffix)
- shared_flags.extend(['-o', shared_out])
+ shared_out = "%s/libmetis.%s" % (prefix.lib, shared_suffix)
+ shared_flags.extend(["-o", shared_out])
ccompile(*shared_flags)
# Set up and run tests on installation
- ccompile('-I%s' % prefix.include, '-L%s' % prefix.lib,
- (self.compiler.cc_rpath_arg + prefix.lib
- if '+shared' in spec else ''),
- join_path('Programs', 'io.o'), join_path('Test', 'mtest.c'),
- '-o', '%s/mtest' % prefix.bin, '-lmetis', '-lm')
+ ccompile(
+ "-I%s" % prefix.include,
+ "-L%s" % prefix.lib,
+ (self.compiler.cc_rpath_arg + prefix.lib if "+shared" in spec else ""),
+ join_path("Programs", "io.o"),
+ join_path("Test", "mtest.c"),
+ "-o",
+ "%s/mtest" % prefix.bin,
+ "-lmetis",
+ "-lm",
+ )
if self.run_tests:
test_bin = lambda testname: join_path(prefix.bin, testname)
test_graph = lambda graphname: join_path(prefix.share, graphname)
- graph = test_graph('4elt.graph')
- os.system('%s %s' % (test_bin('mtest'), graph))
- os.system('%s %s 40' % (test_bin('kmetis'), graph))
- os.system('%s %s' % (test_bin('onmetis'), graph))
- graph = test_graph('test.mgraph')
- os.system('%s %s 2' % (test_bin('pmetis'), graph))
- os.system('%s %s 2' % (test_bin('kmetis'), graph))
- os.system('%s %s 5' % (test_bin('kmetis'), graph))
- graph = test_graph('metis.mesh')
- os.system('%s %s 10' % (test_bin('partnmesh'), graph))
- os.system('%s %s 10' % (test_bin('partdmesh'), graph))
- os.system('%s %s' % (test_bin('mesh2dual'), graph))
+ graph = test_graph("4elt.graph")
+ os.system("%s %s" % (test_bin("mtest"), graph))
+ os.system("%s %s 40" % (test_bin("kmetis"), graph))
+ os.system("%s %s" % (test_bin("onmetis"), graph))
+ graph = test_graph("test.mgraph")
+ os.system("%s %s 2" % (test_bin("pmetis"), graph))
+ os.system("%s %s 2" % (test_bin("kmetis"), graph))
+ os.system("%s %s 5" % (test_bin("kmetis"), graph))
+ graph = test_graph("metis.mesh")
+ os.system("%s %s 10" % (test_bin("partnmesh"), graph))
+ os.system("%s %s 10" % (test_bin("partdmesh"), graph))
+ os.system("%s %s" % (test_bin("mesh2dual"), graph))
# FIXME: The following code should replace the testing code in the
# block above since it causes installs to fail when one or more of
@@ -179,64 +202,64 @@ class Metis(Package):
Executable(test_bin('mesh2dual'))(test_graph('metis.mesh'))
"""
- @when('@5:')
+ @when("@5:")
def install(self, spec, prefix):
source_directory = self.stage.source_path
- build_directory = join_path(self.stage.path, 'build')
+ build_directory = join_path(self.stage.path, "build")
options = CMakePackage._std_args(self)
- options.append('-DGKLIB_PATH:PATH=%s/GKlib' % source_directory)
+ options.append("-DGKLIB_PATH:PATH=%s/GKlib" % source_directory)
# Normally this is available via the 'CMakePackage' object, but metis
# IS-A 'Package' (not a 'CMakePackage') to support non-cmake metis@:5.
- build_type = spec.variants['build_type'].value
- options.extend(['-DCMAKE_BUILD_TYPE:STRING={0}'.format(build_type)])
+ build_type = spec.variants["build_type"].value
+ options.extend(["-DCMAKE_BUILD_TYPE:STRING={0}".format(build_type)])
- if '+shared' in spec:
- options.append('-DSHARED:BOOL=ON')
+ if "+shared" in spec:
+ options.append("-DSHARED:BOOL=ON")
else:
# Remove all RPATH options
# (RPATHxxx options somehow trigger cmake to link dynamically)
rpath_options = []
for o in options:
- if o.find('RPATH') >= 0:
+ if o.find("RPATH") >= 0:
rpath_options.append(o)
for o in rpath_options:
options.remove(o)
- if '+gdb' in spec:
- options.append('-DGDB:BOOL=ON')
+ if "+gdb" in spec:
+ options.append("-DGDB:BOOL=ON")
with working_dir(build_directory, create=True):
cmake(source_directory, *options)
make()
- make('install')
+ make("install")
# install all headers, which will be needed for ParMETIS and other programs
subdirs = ["GKlib", "libmetis", "programs"]
for subd in subdirs:
inc_dist = join_path(prefix.include, subd)
mkdirp(inc_dist)
- install(join_path(source_directory, subd, '*.h'), inc_dist)
+ install(join_path(source_directory, subd, "*.h"), inc_dist)
if self.run_tests:
# FIXME: On some systems, the installed binaries for METIS cannot
# be executed without first being read.
- ls = which('ls')
- ls('-a', '-l', prefix.bin)
+ ls = which("ls")
+ ls("-a", "-l", prefix.bin)
- for f in ['4elt', 'copter2', 'mdual']:
- graph = join_path(source_directory, 'graphs', '%s.graph' % f)
- Executable(join_path(prefix.bin, 'graphchk'))(graph)
- Executable(join_path(prefix.bin, 'gpmetis'))(graph, '2')
- Executable(join_path(prefix.bin, 'ndmetis'))(graph)
+ for f in ["4elt", "copter2", "mdual"]:
+ graph = join_path(source_directory, "graphs", "%s.graph" % f)
+ Executable(join_path(prefix.bin, "graphchk"))(graph)
+ Executable(join_path(prefix.bin, "gpmetis"))(graph, "2")
+ Executable(join_path(prefix.bin, "ndmetis"))(graph)
- graph = join_path(source_directory, 'graphs', 'test.mgraph')
- Executable(join_path(prefix.bin, 'gpmetis'))(graph, '2')
- graph = join_path(source_directory, 'graphs', 'metis.mesh')
- Executable(join_path(prefix.bin, 'mpmetis'))(graph, '2')
+ graph = join_path(source_directory, "graphs", "test.mgraph")
+ Executable(join_path(prefix.bin, "gpmetis"))(graph, "2")
+ graph = join_path(source_directory, "graphs", "metis.mesh")
+ Executable(join_path(prefix.bin, "mpmetis"))(graph, "2")
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if (sys.platform == 'darwin') and ('+shared' in self.spec):
+ if (sys.platform == "darwin") and ("+shared" in self.spec):
fix_darwin_install_name(prefix.lib)
diff --git a/var/spack/repos/builtin/packages/metkit/package.py b/var/spack/repos/builtin/packages/metkit/package.py
index a05abf87e6..12ab1e738f 100644
--- a/var/spack/repos/builtin/packages/metkit/package.py
+++ b/var/spack/repos/builtin/packages/metkit/package.py
@@ -10,42 +10,45 @@ class Metkit(CMakePackage):
"""Toolkit for manipulating and describing meteorological objects,
implementing the MARS language and associated processing and semantics."""
- homepage = 'https://github.com/ecmwf/metkit'
- url = 'https://github.com/ecmwf/metkit/archive/refs/tags/1.7.0.tar.gz'
+ homepage = "https://github.com/ecmwf/metkit"
+ url = "https://github.com/ecmwf/metkit/archive/refs/tags/1.7.0.tar.gz"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('1.7.0', sha256='8c34f6d8ea5381bd1bcfb22462349d03e1592e67d8137e76b3cecf134a9d338c')
+ version("1.7.0", sha256="8c34f6d8ea5381bd1bcfb22462349d03e1592e67d8137e76b3cecf134a9d338c")
- variant('tools', default=True, description='Build the command line tools')
- variant('grib', default=True, description='Enable support for GRIB format')
- variant('odb', default=False, description='Enable support for ODB data')
+ variant("tools", default=True, description="Build the command line tools")
+ variant("grib", default=True, description="Enable support for GRIB format")
+ variant("odb", default=False, description="Enable support for ODB data")
- depends_on('cmake@3.12:', type='build')
- depends_on('ecbuild@3.4:', type='build')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("ecbuild@3.4:", type="build")
- depends_on('eckit@1.16:')
+ depends_on("eckit@1.16:")
- depends_on('eccodes@2.5:', when='+grib')
+ depends_on("eccodes@2.5:", when="+grib")
- depends_on('odc', when='+odb')
+ depends_on("odc", when="+odb")
- conflicts('+tools', when='~grib~odb',
- msg='None of the command line tools is built when both '
- 'GRIB format and ODB data support are disabled')
+ conflicts(
+ "+tools",
+ when="~grib~odb",
+ msg="None of the command line tools is built when both "
+ "GRIB format and ODB data support are disabled",
+ )
def cmake_args(self):
args = [
- self.define_from_variant('ENABLE_BUILD_TOOLS', 'tools'),
- self.define_from_variant('ENABLE_GRIB', 'grib'),
- self.define_from_variant('ENABLE_ODC', 'odb'),
+ self.define_from_variant("ENABLE_BUILD_TOOLS", "tools"),
+ self.define_from_variant("ENABLE_GRIB", "grib"),
+ self.define_from_variant("ENABLE_ODC", "odb"),
# The tests download additional data (~4KB):
- self.define('ENABLE_TESTS', self.run_tests),
+ self.define("ENABLE_TESTS", self.run_tests),
# The library does not really implement support for BUFR format:
- self.define('ENABLE_BUFR', False),
+ self.define("ENABLE_BUFR", False),
# The library does not really implement support for NetCDF format:
- self.define('ENABLE_NETCDF', False),
+ self.define("ENABLE_NETCDF", False),
# We do not need any experimental features:
- self.define('ENABLE_EXPERIMENTAL', False)
+ self.define("ENABLE_EXPERIMENTAL", False),
]
return args
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index 68d48331f2..0d20dd6180 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -13,13 +13,12 @@ from spack.package import *
class Mfem(Package, CudaPackage, ROCmPackage):
"""Free, lightweight, scalable C++ library for finite element methods."""
- tags = ['fem', 'finite-elements', 'high-order', 'amr', 'hpc', 'radiuss', 'e4s']
+ tags = ["fem", "finite-elements", "high-order", "amr", "hpc", "radiuss", "e4s"]
- homepage = 'http://www.mfem.org'
- git = 'https://github.com/mfem/mfem.git'
+ homepage = "http://www.mfem.org"
+ git = "https://github.com/mfem/mfem.git"
- maintainers = ['v-dobrev', 'tzanio', 'acfisher',
- 'goxberry', 'markcmiller86']
+ maintainers = ["v-dobrev", "tzanio", "acfisher", "goxberry", "markcmiller86"]
test_requires_compiler = True
@@ -47,324 +46,364 @@ class Mfem(Package, CudaPackage, ROCmPackage):
# 'develop' is a special version that is always larger (or newer) than any
# other version.
- version('develop', branch='master')
-
- version('4.4.0',
- sha256='37250dbef6e97b16dc9ab50973e8d68bc165bb4afcdaf91b3b72c8972c87deef',
- url='https://bit.ly/mfem-4-4', extension='tar.gz')
-
- 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')
-
- version('4.1.0',
- '4c83fdcf083f8e2f5b37200a755db843cdb858811e25a8486ad36b2cbec0e11d',
- url='https://bit.ly/mfem-4-1', extension='tar.gz')
+ version("develop", branch="master")
+
+ version(
+ "4.4.0",
+ sha256="37250dbef6e97b16dc9ab50973e8d68bc165bb4afcdaf91b3b72c8972c87deef",
+ url="https://bit.ly/mfem-4-4",
+ extension="tar.gz",
+ )
+
+ 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",
+ )
+
+ version(
+ "4.1.0",
+ "4c83fdcf083f8e2f5b37200a755db843cdb858811e25a8486ad36b2cbec0e11d",
+ url="https://bit.ly/mfem-4-1",
+ extension="tar.gz",
+ )
# Tagged development version used by xSDK
- version('4.0.1-xsdk', commit='c55c80d17b82d80de04b849dd526e17044f8c99a')
+ version("4.0.1-xsdk", commit="c55c80d17b82d80de04b849dd526e17044f8c99a")
- version('4.0.0',
- 'df5bdac798ea84a263979f6fbf79de9013e1c55562f95f98644c3edcacfbc727',
- url='https://bit.ly/mfem-4-0', extension='tar.gz')
+ version(
+ "4.0.0",
+ "df5bdac798ea84a263979f6fbf79de9013e1c55562f95f98644c3edcacfbc727",
+ url="https://bit.ly/mfem-4-0",
+ extension="tar.gz",
+ )
# Tagged development version used by the laghos package:
- version('3.4.1-laghos-v2.0', tag='laghos-v2.0')
-
- version('3.4.0',
- sha256='4e73e4fe0482636de3c5dc983cd395839a83cb16f6f509bd88b053e8b3858e05',
- url='https://bit.ly/mfem-3-4', extension='tar.gz')
-
- version('3.3.2',
- sha256='b70fa3c5080b9ec514fc05f4a04ff74322b99ac4ecd6d99c229f0ed5188fc0ce',
- url='https://goo.gl/Kd7Jk8', extension='tar.gz')
+ version("3.4.1-laghos-v2.0", tag="laghos-v2.0")
+
+ version(
+ "3.4.0",
+ sha256="4e73e4fe0482636de3c5dc983cd395839a83cb16f6f509bd88b053e8b3858e05",
+ url="https://bit.ly/mfem-3-4",
+ extension="tar.gz",
+ )
+
+ version(
+ "3.3.2",
+ sha256="b70fa3c5080b9ec514fc05f4a04ff74322b99ac4ecd6d99c229f0ed5188fc0ce",
+ url="https://goo.gl/Kd7Jk8",
+ extension="tar.gz",
+ )
# Tagged development version used by the laghos package:
- version('3.3.1-laghos-v1.0', tag='laghos-v1.0')
-
- version('3.3',
- sha256='b17bd452593aada93dc0fee748fcfbbf4f04ce3e7d77fdd0341cc9103bcacd0b',
- url='http://goo.gl/Vrpsns', extension='tar.gz')
-
- version('3.2',
- sha256='2938c3deed4ec4f7fd5b5f5cfe656845282e86e2dcd477d292390058b7b94340',
- url='http://goo.gl/Y9T75B', extension='tar.gz')
-
- version('3.1',
- sha256='841ea5cf58de6fae4de0f553b0e01ebaab9cd9c67fa821e8a715666ecf18fc57',
- url='http://goo.gl/xrScXn', extension='tar.gz')
-
- variant('static', default=True,
- description='Build static library')
- variant('shared', default=False,
- description='Build shared library')
- variant('mpi', default=True, sticky=True,
- description='Enable MPI parallelism')
+ version("3.3.1-laghos-v1.0", tag="laghos-v1.0")
+
+ version(
+ "3.3",
+ sha256="b17bd452593aada93dc0fee748fcfbbf4f04ce3e7d77fdd0341cc9103bcacd0b",
+ url="http://goo.gl/Vrpsns",
+ extension="tar.gz",
+ )
+
+ version(
+ "3.2",
+ sha256="2938c3deed4ec4f7fd5b5f5cfe656845282e86e2dcd477d292390058b7b94340",
+ url="http://goo.gl/Y9T75B",
+ extension="tar.gz",
+ )
+
+ version(
+ "3.1",
+ sha256="841ea5cf58de6fae4de0f553b0e01ebaab9cd9c67fa821e8a715666ecf18fc57",
+ url="http://goo.gl/xrScXn",
+ extension="tar.gz",
+ )
+
+ variant("static", default=True, description="Build static library")
+ variant("shared", default=False, description="Build shared library")
+ variant("mpi", default=True, sticky=True, description="Enable MPI parallelism")
# Can we make the default value for 'metis' to depend on the 'mpi' value?
- variant('metis', default=True, sticky=True,
- description='Enable METIS support')
- variant('openmp', default=False,
- description='Enable OpenMP parallelism')
+ variant("metis", default=True, sticky=True, description="Enable METIS support")
+ variant("openmp", default=False, description="Enable OpenMP parallelism")
# Note: '+cuda' and 'cuda_arch' variants are added by the CudaPackage
# Note: '+rocm' and 'amdgpu_target' variants are added by the ROCmPackage
- variant('occa', default=False, description='Enable OCCA backend')
- variant('raja', default=False, description='Enable RAJA backend')
- variant('libceed', default=False, description='Enable libCEED backend')
- variant('umpire', default=False, description='Enable Umpire support')
- variant('amgx', default=False, description='Enable NVIDIA AmgX solver support')
-
- variant('threadsafe', default=False,
- description=('Enable thread safe features.'
- ' Required for OpenMP.'
- ' May cause minor performance issues.'))
- variant('superlu-dist', default=False,
- description='Enable MPI parallel, sparse direct solvers')
- variant('strumpack', default=False,
- description='Enable support for STRUMPACK')
- variant('suite-sparse', default=False,
- description='Enable serial, sparse direct solvers')
- variant('petsc', default=False,
- description='Enable PETSc solvers, preconditioners, etc.')
- variant('slepc', default=False,
- description='Enable SLEPc integration')
- variant('sundials', default=False,
- description='Enable Sundials time integrators')
- variant('pumi', default=False,
- description='Enable functionality based on PUMI')
- variant('gslib', default=False,
- description='Enable functionality based on GSLIB')
- variant('mpfr', default=False,
- description='Enable precise, 1D quadrature rules')
- variant('lapack', default=False,
- description='Use external blas/lapack routines')
- variant('debug', default=False,
- description='Build debug instead of optimized version')
- variant('netcdf', default=False,
- description='Enable Cubit/Genesis reader')
- variant('conduit', default=False,
- description='Enable binary data I/O using Conduit')
- variant('zlib', default=True,
- description='Support zip\'d streams for I/O')
- variant('gnutls', default=False,
- description='Enable secure sockets using GnuTLS')
- variant('libunwind', default=False,
- description='Enable backtrace on error support using Libunwind')
- variant('fms', default=False, when='@4.3.0:',
- description='Enable FMS I/O support')
+ variant("occa", default=False, description="Enable OCCA backend")
+ variant("raja", default=False, description="Enable RAJA backend")
+ variant("libceed", default=False, description="Enable libCEED backend")
+ variant("umpire", default=False, description="Enable Umpire support")
+ variant("amgx", default=False, description="Enable NVIDIA AmgX solver support")
+
+ variant(
+ "threadsafe",
+ default=False,
+ description=(
+ "Enable thread safe features."
+ " Required for OpenMP."
+ " May cause minor performance issues."
+ ),
+ )
+ variant(
+ "superlu-dist", default=False, description="Enable MPI parallel, sparse direct solvers"
+ )
+ variant("strumpack", default=False, description="Enable support for STRUMPACK")
+ variant("suite-sparse", default=False, description="Enable serial, sparse direct solvers")
+ variant("petsc", default=False, description="Enable PETSc solvers, preconditioners, etc.")
+ variant("slepc", default=False, description="Enable SLEPc integration")
+ variant("sundials", default=False, description="Enable Sundials time integrators")
+ variant("pumi", default=False, description="Enable functionality based on PUMI")
+ variant("gslib", default=False, description="Enable functionality based on GSLIB")
+ variant("mpfr", default=False, description="Enable precise, 1D quadrature rules")
+ variant("lapack", default=False, description="Use external blas/lapack routines")
+ variant("debug", default=False, description="Build debug instead of optimized version")
+ variant("netcdf", default=False, description="Enable Cubit/Genesis reader")
+ variant("conduit", default=False, description="Enable binary data I/O using Conduit")
+ variant("zlib", default=True, description="Support zip'd streams for I/O")
+ variant("gnutls", default=False, description="Enable secure sockets using GnuTLS")
+ variant(
+ "libunwind", default=False, description="Enable backtrace on error support using Libunwind"
+ )
+ variant("fms", default=False, when="@4.3.0:", description="Enable FMS I/O support")
# TODO: SIMD, Ginkgo, ADIOS2, HiOp, MKL CPardiso, Axom/Sidre
- variant('timer', default='auto',
- values=('auto', 'std', 'posix', 'mac', 'mpi'),
- description='Timing functions to use in mfem::StopWatch')
- variant('examples', default=False,
- description='Build and install examples')
- variant('miniapps', default=False,
- description='Build and install miniapps')
-
- conflicts('+shared', when='@:3.3.2')
- conflicts('~static~shared')
- conflicts('~threadsafe', when='@:3+openmp')
-
- conflicts('+cuda', when='@:3')
- conflicts('+rocm', when='@:4.1')
- conflicts('+cuda+rocm')
- conflicts('+netcdf', when='@:3.1')
- conflicts('+superlu-dist', when='@:3.1')
+ variant(
+ "timer",
+ default="auto",
+ values=("auto", "std", "posix", "mac", "mpi"),
+ description="Timing functions to use in mfem::StopWatch",
+ )
+ variant("examples", default=False, description="Build and install examples")
+ variant("miniapps", default=False, description="Build and install miniapps")
+
+ conflicts("+shared", when="@:3.3.2")
+ conflicts("~static~shared")
+ conflicts("~threadsafe", when="@:3+openmp")
+
+ conflicts("+cuda", when="@:3")
+ conflicts("+rocm", when="@:4.1")
+ conflicts("+cuda+rocm")
+ conflicts("+netcdf", when="@:3.1")
+ conflicts("+superlu-dist", when="@:3.1")
# STRUMPACK support was added in mfem v3.3.2, however, here we allow only
# strumpack v3+ support for which is available starting with mfem v4.0:
- conflicts('+strumpack', when='@:3')
- conflicts('+gnutls', when='@:3.1')
- conflicts('+zlib', when='@:3.2')
- conflicts('+mpfr', when='@:3.2')
- conflicts('+petsc', when='@:3.2')
- conflicts('+slepc', when='@:4.1')
- conflicts('+sundials', when='@:3.2')
- conflicts('+pumi', when='@:3.3.2')
- conflicts('+gslib', when='@:4.0')
- conflicts('timer=mac', when='@:3.3.0')
- conflicts('timer=mpi', when='@:3.3.0')
- conflicts('~metis+mpi', when='@:3.3.0')
- conflicts('+metis~mpi', when='@:3.3.0')
- conflicts('+conduit', when='@:3.3.2')
- conflicts('+occa', when='mfem@:3')
- conflicts('+raja', when='mfem@:3')
- conflicts('+libceed', when='mfem@:4.0')
- conflicts('+umpire', when='mfem@:4.0')
- conflicts('+amgx', when='mfem@:4.1')
- conflicts('+amgx', when='~cuda')
- conflicts('+mpi~cuda ^hypre+cuda')
- conflicts('+mpi ^hypre+cuda', when='@:4.2')
- conflicts('+mpi~rocm ^hypre+rocm')
- conflicts('+mpi ^hypre+rocm', when='@:4.3')
-
- conflicts('+superlu-dist', when='~mpi')
- conflicts('+strumpack', when='~mpi')
- conflicts('+petsc', when='~mpi')
- conflicts('+slepc', when='~petsc')
- conflicts('+pumi', when='~mpi')
- conflicts('timer=mpi', when='~mpi')
+ conflicts("+strumpack", when="@:3")
+ conflicts("+gnutls", when="@:3.1")
+ conflicts("+zlib", when="@:3.2")
+ conflicts("+mpfr", when="@:3.2")
+ conflicts("+petsc", when="@:3.2")
+ conflicts("+slepc", when="@:4.1")
+ conflicts("+sundials", when="@:3.2")
+ conflicts("+pumi", when="@:3.3.2")
+ conflicts("+gslib", when="@:4.0")
+ conflicts("timer=mac", when="@:3.3.0")
+ conflicts("timer=mpi", when="@:3.3.0")
+ conflicts("~metis+mpi", when="@:3.3.0")
+ conflicts("+metis~mpi", when="@:3.3.0")
+ conflicts("+conduit", when="@:3.3.2")
+ conflicts("+occa", when="mfem@:3")
+ conflicts("+raja", when="mfem@:3")
+ conflicts("+libceed", when="mfem@:4.0")
+ conflicts("+umpire", when="mfem@:4.0")
+ conflicts("+amgx", when="mfem@:4.1")
+ conflicts("+amgx", when="~cuda")
+ conflicts("+mpi~cuda ^hypre+cuda")
+ conflicts("+mpi ^hypre+cuda", when="@:4.2")
+ conflicts("+mpi~rocm ^hypre+rocm")
+ conflicts("+mpi ^hypre+rocm", when="@:4.3")
+
+ conflicts("+superlu-dist", when="~mpi")
+ conflicts("+strumpack", when="~mpi")
+ conflicts("+petsc", when="~mpi")
+ conflicts("+slepc", when="~petsc")
+ conflicts("+pumi", when="~mpi")
+ conflicts("timer=mpi", when="~mpi")
# See https://github.com/mfem/mfem/issues/2957
- conflicts('^mpich@4:', when='@:4.3+mpi')
+ conflicts("^mpich@4:", when="@:4.3+mpi")
- depends_on('mpi', when='+mpi')
- depends_on('hypre@2.10.0:2.13', when='@:3.3+mpi')
- depends_on('hypre@:2.20.0', when='@3.4:4.2+mpi')
- depends_on('hypre@:2.23.0', when='@4.3.0+mpi')
- depends_on('hypre', when='+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("hypre@2.10.0:2.13", when="@:3.3+mpi")
+ depends_on("hypre@:2.20.0", when="@3.4:4.2+mpi")
+ depends_on("hypre@:2.23.0", when="@4.3.0+mpi")
+ depends_on("hypre", when="+mpi")
# Propagate 'cuda_arch' to 'hypre' without propagating the '+cuda'
# variant because we want to allow 'mfem+cuda ^hypre~cuda':
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('hypre@2.22.1:+cuda cuda_arch={0}'.format(sm_),
- when='+mpi+cuda cuda_arch={0} ^hypre+cuda'
- .format(sm_))
+ depends_on(
+ "hypre@2.22.1:+cuda cuda_arch={0}".format(sm_),
+ when="+mpi+cuda cuda_arch={0} ^hypre+cuda".format(sm_),
+ )
# Propagate 'amdgpu_target' to 'hypre' without propagating the '+rocm'
# variant because we want to allow 'mfem+rocm ^hypre~rocm':
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('hypre@2.23.0:+rocm amdgpu_target={0}'.format(gfx),
- when='+mpi+rocm amdgpu_target={0} ^hypre+rocm'
- .format(gfx))
-
- depends_on('metis', when='+metis')
- depends_on('blas', when='+lapack')
- depends_on('lapack@3.0:', when='+lapack')
-
- depends_on('sundials@2.7.0', when='@:3.3.0+sundials~mpi')
- depends_on('sundials@2.7.0+mpi+hypre', when='@:3.3.0+sundials+mpi')
- depends_on('sundials@2.7.0:', when='@3.3.2:+sundials~mpi')
- depends_on('sundials@2.7.0:+mpi+hypre', when='@3.3.2:+sundials+mpi')
- depends_on('sundials@5.0.0:5', when='@4.0.1-xsdk:+sundials~mpi')
- depends_on('sundials@5.0.0:5+mpi+hypre', when='@4.0.1-xsdk:+sundials+mpi')
+ depends_on(
+ "hypre@2.23.0:+rocm amdgpu_target={0}".format(gfx),
+ when="+mpi+rocm amdgpu_target={0} ^hypre+rocm".format(gfx),
+ )
+
+ depends_on("metis", when="+metis")
+ depends_on("blas", when="+lapack")
+ depends_on("lapack@3.0:", when="+lapack")
+
+ depends_on("sundials@2.7.0", when="@:3.3.0+sundials~mpi")
+ depends_on("sundials@2.7.0+mpi+hypre", when="@:3.3.0+sundials+mpi")
+ depends_on("sundials@2.7.0:", when="@3.3.2:+sundials~mpi")
+ depends_on("sundials@2.7.0:+mpi+hypre", when="@3.3.2:+sundials+mpi")
+ depends_on("sundials@5.0.0:5", when="@4.0.1-xsdk:+sundials~mpi")
+ depends_on("sundials@5.0.0:5+mpi+hypre", when="@4.0.1-xsdk:+sundials+mpi")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('sundials@5.4.0:5+cuda cuda_arch={0}'.format(sm_),
- when='@4.2.0:+sundials+cuda cuda_arch={0}'.format(sm_))
- depends_on('pumi', when='+pumi~shared')
- depends_on('pumi+shared', when='+pumi+shared')
- depends_on('pumi@2.2.3:2.2.5', when='@4.2.0:4.3.0+pumi')
- depends_on('pumi@2.2.6:', when='@4.4.0:+pumi')
- depends_on('gslib+mpi', when='+gslib+mpi')
- depends_on('gslib~mpi~mpiio', when='+gslib~mpi')
- depends_on('gslib@1.0.5:1.0.6', when='@:4.2+gslib')
- depends_on('gslib@1.0.7:', when='@4.3.0:+gslib')
- depends_on('suite-sparse', when='+suite-sparse')
- depends_on('superlu-dist', when='+superlu-dist')
- depends_on('strumpack@3.0.0:', when='+strumpack~shared')
- depends_on('strumpack@3.0.0:+shared', when='+strumpack+shared')
+ depends_on(
+ "sundials@5.4.0:5+cuda cuda_arch={0}".format(sm_),
+ when="@4.2.0:+sundials+cuda cuda_arch={0}".format(sm_),
+ )
+ depends_on("pumi", when="+pumi~shared")
+ depends_on("pumi+shared", when="+pumi+shared")
+ depends_on("pumi@2.2.3:2.2.5", when="@4.2.0:4.3.0+pumi")
+ depends_on("pumi@2.2.6:", when="@4.4.0:+pumi")
+ depends_on("gslib+mpi", when="+gslib+mpi")
+ depends_on("gslib~mpi~mpiio", when="+gslib~mpi")
+ depends_on("gslib@1.0.5:1.0.6", when="@:4.2+gslib")
+ depends_on("gslib@1.0.7:", when="@4.3.0:+gslib")
+ depends_on("suite-sparse", when="+suite-sparse")
+ depends_on("superlu-dist", when="+superlu-dist")
+ depends_on("strumpack@3.0.0:", when="+strumpack~shared")
+ depends_on("strumpack@3.0.0:+shared", when="+strumpack+shared")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('strumpack+cuda cuda_arch={0}'.format(sm_),
- when='+strumpack+cuda cuda_arch={0}'.format(sm_))
+ depends_on(
+ "strumpack+cuda cuda_arch={0}".format(sm_),
+ when="+strumpack+cuda cuda_arch={0}".format(sm_),
+ )
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('strumpack+rocm amdgpu_target={0}'.format(gfx),
- when='+strumpack+rocm amdgpu_target={0}'.format(gfx))
+ depends_on(
+ "strumpack+rocm amdgpu_target={0}".format(gfx),
+ when="+strumpack+rocm amdgpu_target={0}".format(gfx),
+ )
# The PETSc tests in MFEM will fail if PETSc is not configured with
# MUMPS (and SuiteSparse in older versions). On the other hand, PETSc built
# with MUMPS is not strictly required, so we do not require it here.
- depends_on('petsc@3.8:+mpi+double+hypre', when='+petsc')
- depends_on('slepc@3.8.0:', when='+slepc')
+ depends_on("petsc@3.8:+mpi+double+hypre", when="+petsc")
+ depends_on("slepc@3.8.0:", when="+slepc")
# Propagate 'cuda_arch' to 'petsc'/'slepc' without propagating the '+cuda'
# variant because we want to allow 'mfem+cuda+petsc ^petsc~cuda':
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('petsc+cuda cuda_arch={0}'.format(sm_),
- when='+cuda+petsc cuda_arch={0} ^petsc+cuda'
- .format(sm_))
- depends_on('slepc+cuda cuda_arch={0}'.format(sm_),
- when='+cuda+slepc cuda_arch={0} ^petsc+cuda'
- .format(sm_))
+ depends_on(
+ "petsc+cuda cuda_arch={0}".format(sm_),
+ when="+cuda+petsc cuda_arch={0} ^petsc+cuda".format(sm_),
+ )
+ depends_on(
+ "slepc+cuda cuda_arch={0}".format(sm_),
+ when="+cuda+slepc cuda_arch={0} ^petsc+cuda".format(sm_),
+ )
# Propagate 'amdgpu_target' to 'petsc'/'slepc' without propagating the
# '+rocm' variant because we want to allow 'mfem+rocm+petsc ^petsc~rocm':
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('petsc+rocm amdgpu_target={0}'.format(gfx),
- when='+rocm+petsc amdgpu_target={0} ^petsc+rocm'
- .format(gfx))
- depends_on('slepc+rocm amdgpu_target={0}'.format(gfx),
- when='+rocm+slepc amdgpu_target={0} ^petsc+rocm'
- .format(gfx))
- depends_on('mpfr', when='+mpfr')
- depends_on('netcdf-c@4.1.3:', when='+netcdf')
- depends_on('unwind', when='+libunwind')
- depends_on('zlib', when='+zlib')
- depends_on('gnutls', when='+gnutls')
- depends_on('conduit@0.3.1:,master:', when='+conduit')
- depends_on('conduit+mpi', when='+conduit+mpi')
- depends_on('libfms@0.2.0:', when='+fms')
+ depends_on(
+ "petsc+rocm amdgpu_target={0}".format(gfx),
+ when="+rocm+petsc amdgpu_target={0} ^petsc+rocm".format(gfx),
+ )
+ depends_on(
+ "slepc+rocm amdgpu_target={0}".format(gfx),
+ when="+rocm+slepc amdgpu_target={0} ^petsc+rocm".format(gfx),
+ )
+ depends_on("mpfr", when="+mpfr")
+ depends_on("netcdf-c@4.1.3:", when="+netcdf")
+ depends_on("unwind", when="+libunwind")
+ depends_on("zlib", when="+zlib")
+ depends_on("gnutls", when="+gnutls")
+ depends_on("conduit@0.3.1:,master:", when="+conduit")
+ depends_on("conduit+mpi", when="+conduit+mpi")
+ depends_on("libfms@0.2.0:", when="+fms")
# The MFEM 4.0.0 SuperLU interface fails when using hypre@2.16.0 and
# superlu-dist@6.1.1. See https://github.com/mfem/mfem/issues/983.
# This issue was resolved in v4.1.
- conflicts('+superlu-dist',
- when='mfem@:4.0 ^hypre@2.16.0: ^superlu-dist@6:')
+ conflicts("+superlu-dist", when="mfem@:4.0 ^hypre@2.16.0: ^superlu-dist@6:")
# The STRUMPACK v3 interface in MFEM seems to be broken as of MFEM v4.1
# when using hypre version >= 2.16.0.
# This issue is resolved in v4.2.
- conflicts('+strumpack', when='mfem@4.0.0:4.1 ^hypre@2.16.0:')
- conflicts('+strumpack ^strumpack+cuda', when='~cuda')
+ conflicts("+strumpack", when="mfem@4.0.0:4.1 ^hypre@2.16.0:")
+ conflicts("+strumpack ^strumpack+cuda", when="~cuda")
- depends_on('occa@1.0.8:', when='@:4.1+occa')
- depends_on('occa@1.1.0', when='@4.2.0:+occa')
- depends_on('occa+cuda', when='+occa+cuda')
+ depends_on("occa@1.0.8:", when="@:4.1+occa")
+ depends_on("occa@1.1.0", when="@4.2.0:+occa")
+ depends_on("occa+cuda", when="+occa+cuda")
# TODO: propagate '+rocm' variant to occa when it is supported
- depends_on('raja@0.7.0:0.9.0', when='@4.0.0+raja')
- depends_on('raja@0.10.0:0.12.1', when='@4.0.1:4.2.0+raja')
- depends_on('raja@0.13.0', when='@4.3.0+raja')
- depends_on('raja@0.14.0:', when='@4.4.0:+raja')
+ depends_on("raja@0.7.0:0.9.0", when="@4.0.0+raja")
+ depends_on("raja@0.10.0:0.12.1", when="@4.0.1:4.2.0+raja")
+ depends_on("raja@0.13.0", when="@4.3.0+raja")
+ depends_on("raja@0.14.0:", when="@4.4.0:+raja")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('raja+cuda cuda_arch={0}'.format(sm_),
- when='+raja+cuda cuda_arch={0}'.format(sm_))
+ depends_on(
+ "raja+cuda cuda_arch={0}".format(sm_), when="+raja+cuda cuda_arch={0}".format(sm_)
+ )
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('raja+rocm amdgpu_target={0}'.format(gfx),
- when='+raja+rocm amdgpu_target={0}'.format(gfx))
+ depends_on(
+ "raja+rocm amdgpu_target={0}".format(gfx),
+ when="+raja+rocm amdgpu_target={0}".format(gfx),
+ )
- depends_on('libceed@0.6', when='@:4.1+libceed')
- depends_on('libceed@0.7:0.8', when='@4.2.0+libceed')
- depends_on('libceed@0.8:0.9', when='@4.3.0+libceed')
- depends_on('libceed@0.10.1:', when='@4.4.0:+libceed')
+ depends_on("libceed@0.6", when="@:4.1+libceed")
+ depends_on("libceed@0.7:0.8", when="@4.2.0+libceed")
+ depends_on("libceed@0.8:0.9", when="@4.3.0+libceed")
+ depends_on("libceed@0.10.1:", when="@4.4.0:+libceed")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('libceed+cuda cuda_arch={0}'.format(sm_),
- when='+libceed+cuda cuda_arch={0}'.format(sm_))
+ depends_on(
+ "libceed+cuda cuda_arch={0}".format(sm_),
+ when="+libceed+cuda cuda_arch={0}".format(sm_),
+ )
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('libceed+rocm amdgpu_target={0}'.format(gfx),
- when='+libceed+rocm amdgpu_target={0}'.format(gfx))
+ depends_on(
+ "libceed+rocm amdgpu_target={0}".format(gfx),
+ when="+libceed+rocm amdgpu_target={0}".format(gfx),
+ )
- depends_on('umpire@2.0.0:2.1.0', when='@:4.3.0+umpire')
- depends_on('umpire@3.0.0:', when='@4.4.0:+umpire')
+ depends_on("umpire@2.0.0:2.1.0", when="@:4.3.0+umpire")
+ depends_on("umpire@3.0.0:", when="@4.4.0:+umpire")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('umpire+cuda cuda_arch={0}'.format(sm_),
- when='+umpire+cuda cuda_arch={0}'.format(sm_))
+ depends_on(
+ "umpire+cuda cuda_arch={0}".format(sm_), when="+umpire+cuda cuda_arch={0}".format(sm_)
+ )
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('umpire+rocm amdgpu_target={0}'.format(gfx),
- when='+umpire+rocm amdgpu_target={0}'.format(gfx))
+ depends_on(
+ "umpire+rocm amdgpu_target={0}".format(gfx),
+ when="+umpire+rocm amdgpu_target={0}".format(gfx),
+ )
# AmgX: propagate the cuda_arch and mpi settings:
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('amgx+mpi cuda_arch={0}'.format(sm_),
- when='+amgx+mpi cuda_arch={0}'.format(sm_))
- depends_on('amgx~mpi cuda_arch={0}'.format(sm_),
- when='+amgx~mpi cuda_arch={0}'.format(sm_))
-
- patch('mfem_ppc_build.patch', when='@3.2:3.3.0 arch=ppc64le')
- patch('mfem-3.4.patch', when='@3.4.0')
- patch('mfem-3.3-3.4-petsc-3.9.patch',
- when='@3.3.0:3.4.0 +petsc ^petsc@3.9.0:')
- patch('mfem-4.2-umpire.patch', when='@4.2.0+umpire')
- patch('mfem-4.2-slepc.patch', when='@4.2.0+slepc')
- patch('mfem-4.2-petsc-3.15.0.patch', when='@4.2.0+petsc ^petsc@3.15.0:')
- patch('mfem-4.3-hypre-2.23.0.patch', when='@4.3.0')
- patch('mfem-4.3-cusparse-11.4.patch', when='@4.3.0+cuda')
+ depends_on(
+ "amgx+mpi cuda_arch={0}".format(sm_), when="+amgx+mpi cuda_arch={0}".format(sm_)
+ )
+ depends_on(
+ "amgx~mpi cuda_arch={0}".format(sm_), when="+amgx~mpi cuda_arch={0}".format(sm_)
+ )
+
+ patch("mfem_ppc_build.patch", when="@3.2:3.3.0 arch=ppc64le")
+ patch("mfem-3.4.patch", when="@3.4.0")
+ patch("mfem-3.3-3.4-petsc-3.9.patch", when="@3.3.0:3.4.0 +petsc ^petsc@3.9.0:")
+ patch("mfem-4.2-umpire.patch", when="@4.2.0+umpire")
+ patch("mfem-4.2-slepc.patch", when="@4.2.0+slepc")
+ patch("mfem-4.2-petsc-3.15.0.patch", when="@4.2.0+petsc ^petsc@3.15.0:")
+ patch("mfem-4.3-hypre-2.23.0.patch", when="@4.3.0")
+ patch("mfem-4.3-cusparse-11.4.patch", when="@4.3.0+cuda")
# Patch to fix MFEM makefile syntax error. See
# https://github.com/mfem/mfem/issues/1042 for the bug report and
# https://github.com/mfem/mfem/pull/1043 for the bugfix contributed
# upstream.
- patch('mfem-4.0.0-makefile-syntax-fix.patch', when='@4.0.0')
- phases = ['configure', 'build', 'install']
+ patch("mfem-4.0.0-makefile-syntax-fix.patch", when="@4.0.0")
+ phases = ["configure", "build", "install"]
def setup_build_environment(self, env):
- env.unset('MFEM_DIR')
- env.unset('MFEM_BUILD_DIR')
+ env.unset("MFEM_DIR")
+ env.unset("MFEM_BUILD_DIR")
#
# Note: Although MFEM does support CMake configuration, MFEM
@@ -374,31 +413,30 @@ class Mfem(Package, CudaPackage, ROCmPackage):
# configuration options. So, don't use CMake
#
def configure(self, spec, prefix):
-
def yes_no(varstr):
- return 'YES' if varstr in self.spec else 'NO'
+ return "YES" if varstr in self.spec else "NO"
# See also find_system_libraries in lib/spack/llnl/util/filesystem.py
# where the same list of paths is used.
sys_lib_paths = [
- '/lib64',
- '/lib',
- '/usr/lib64',
- '/usr/lib',
- '/usr/local/lib64',
- '/usr/local/lib',
- '/usr/lib/x86_64-linux-gnu',
+ "/lib64",
+ "/lib",
+ "/usr/lib64",
+ "/usr/lib",
+ "/usr/local/lib64",
+ "/usr/local/lib",
+ "/usr/lib/x86_64-linux-gnu",
]
def is_sys_lib_path(dir):
return dir in sys_lib_paths
- xcompiler = ''
- xlinker = '-Wl,'
- if '+cuda' in spec:
- xcompiler = '-Xcompiler='
- xlinker = '-Xlinker='
- cuda_arch = None if '~cuda' in spec else spec.variants['cuda_arch'].value
+ xcompiler = ""
+ xlinker = "-Wl,"
+ if "+cuda" in spec:
+ xcompiler = "-Xcompiler="
+ xlinker = "-Xlinker="
+ cuda_arch = None if "~cuda" in spec else spec.variants["cuda_arch"].value
# We need to add rpaths explicitly to allow proper export of link flags
# from within MFEM.
@@ -408,400 +446,414 @@ class Mfem(Package, CudaPackage, ROCmPackage):
# above -- this is done to avoid issues like this:
# https://github.com/mfem/mfem/issues/1088.
def ld_flags_from_library_list(libs_list):
- flags = ['%s-rpath,%s' % (xlinker, dir)
- for dir in libs_list.directories
- if not is_sys_lib_path(dir)]
- flags += ['-L%s' % dir for dir in libs_list.directories
- if not is_sys_lib_path(dir)]
+ flags = [
+ "%s-rpath,%s" % (xlinker, dir)
+ for dir in libs_list.directories
+ if not is_sys_lib_path(dir)
+ ]
+ flags += ["-L%s" % dir for dir in libs_list.directories if not is_sys_lib_path(dir)]
flags += [libs_list.link_flags]
- return ' '.join(flags)
+ return " ".join(flags)
def ld_flags_from_dirs(pkg_dirs_list, pkg_libs_list):
- flags = ['%s-rpath,%s' % (xlinker, dir) for dir in pkg_dirs_list
- if not is_sys_lib_path(dir)]
- flags += ['-L%s' % dir for dir in pkg_dirs_list
- if not is_sys_lib_path(dir)]
- flags += ['-l%s' % lib for lib in pkg_libs_list]
- return ' '.join(flags)
+ flags = [
+ "%s-rpath,%s" % (xlinker, dir) for dir in pkg_dirs_list if not is_sys_lib_path(dir)
+ ]
+ flags += ["-L%s" % dir for dir in pkg_dirs_list if not is_sys_lib_path(dir)]
+ flags += ["-l%s" % lib for lib in pkg_libs_list]
+ return " ".join(flags)
def find_optional_library(name, prefix):
for shared in [True, False]:
- for path in ['lib64', 'lib']:
- lib = find_libraries(name, join_path(prefix, path),
- shared=shared, recursive=False)
+ for path in ["lib64", "lib"]:
+ lib = find_libraries(
+ name, join_path(prefix, path), shared=shared, recursive=False
+ )
if lib:
return lib
return LibraryList([])
# Determine how to run MPI tests, e.g. when using '--test=root', when
# Spack is run inside a batch system job.
- mfem_mpiexec = 'mpirun'
- mfem_mpiexec_np = '-np'
- if 'SLURM_JOBID' in os.environ:
- mfem_mpiexec = 'srun'
- mfem_mpiexec_np = '-n'
- elif 'LSB_JOBID' in os.environ:
- if 'LLNL_COMPUTE_NODES' in os.environ:
- mfem_mpiexec = 'lrun'
- mfem_mpiexec_np = '-n'
+ mfem_mpiexec = "mpirun"
+ mfem_mpiexec_np = "-np"
+ if "SLURM_JOBID" in os.environ:
+ mfem_mpiexec = "srun"
+ mfem_mpiexec_np = "-n"
+ elif "LSB_JOBID" in os.environ:
+ if "LLNL_COMPUTE_NODES" in os.environ:
+ mfem_mpiexec = "lrun"
+ mfem_mpiexec_np = "-n"
else:
- mfem_mpiexec = 'jsrun'
- mfem_mpiexec_np = '-p'
+ mfem_mpiexec = "jsrun"
+ mfem_mpiexec_np = "-p"
- metis5_str = 'NO'
- if ('+metis' in spec) and spec['metis'].satisfies('@5:'):
- metis5_str = 'YES'
+ metis5_str = "NO"
+ if ("+metis" in spec) and spec["metis"].satisfies("@5:"):
+ metis5_str = "YES"
- zlib_var = 'MFEM_USE_ZLIB' if (spec.satisfies('@4.1.0:')) else \
- 'MFEM_USE_GZSTREAM'
+ zlib_var = "MFEM_USE_ZLIB" if (spec.satisfies("@4.1.0:")) else "MFEM_USE_GZSTREAM"
options = [
- 'PREFIX=%s' % prefix,
- 'MFEM_USE_MEMALLOC=YES',
- 'MFEM_DEBUG=%s' % yes_no('+debug'),
+ "PREFIX=%s" % prefix,
+ "MFEM_USE_MEMALLOC=YES",
+ "MFEM_DEBUG=%s" % yes_no("+debug"),
# NOTE: env['CXX'] is the spack c++ compiler wrapper. The real
# compiler is defined by env['SPACK_CXX'].
- 'CXX=%s' % env['CXX'],
- 'MFEM_USE_LIBUNWIND=%s' % yes_no('+libunwind'),
- '%s=%s' % (zlib_var, yes_no('+zlib')),
- 'MFEM_USE_METIS=%s' % yes_no('+metis'),
- 'MFEM_USE_METIS_5=%s' % metis5_str,
- 'MFEM_THREAD_SAFE=%s' % yes_no('+threadsafe'),
- 'MFEM_USE_MPI=%s' % yes_no('+mpi'),
- 'MFEM_USE_LAPACK=%s' % yes_no('+lapack'),
- 'MFEM_USE_SUPERLU=%s' % yes_no('+superlu-dist'),
- 'MFEM_USE_STRUMPACK=%s' % yes_no('+strumpack'),
- 'MFEM_USE_SUITESPARSE=%s' % yes_no('+suite-sparse'),
- 'MFEM_USE_SUNDIALS=%s' % yes_no('+sundials'),
- 'MFEM_USE_PETSC=%s' % yes_no('+petsc'),
- 'MFEM_USE_SLEPC=%s' % yes_no('+slepc'),
- 'MFEM_USE_PUMI=%s' % yes_no('+pumi'),
- 'MFEM_USE_GSLIB=%s' % yes_no('+gslib'),
- 'MFEM_USE_NETCDF=%s' % yes_no('+netcdf'),
- 'MFEM_USE_MPFR=%s' % yes_no('+mpfr'),
- 'MFEM_USE_GNUTLS=%s' % yes_no('+gnutls'),
- 'MFEM_USE_OPENMP=%s' % yes_no('+openmp'),
- 'MFEM_USE_CONDUIT=%s' % yes_no('+conduit'),
- 'MFEM_USE_CUDA=%s' % yes_no('+cuda'),
- 'MFEM_USE_HIP=%s' % yes_no('+rocm'),
- 'MFEM_USE_OCCA=%s' % yes_no('+occa'),
- 'MFEM_USE_RAJA=%s' % yes_no('+raja'),
- 'MFEM_USE_AMGX=%s' % yes_no('+amgx'),
- 'MFEM_USE_CEED=%s' % yes_no('+libceed'),
- 'MFEM_USE_UMPIRE=%s' % yes_no('+umpire'),
- 'MFEM_USE_FMS=%s' % yes_no('+fms'),
- 'MFEM_MPIEXEC=%s' % mfem_mpiexec,
- 'MFEM_MPIEXEC_NP=%s' % mfem_mpiexec_np]
-
- cxxflags = spec.compiler_flags['cxxflags']
+ "CXX=%s" % env["CXX"],
+ "MFEM_USE_LIBUNWIND=%s" % yes_no("+libunwind"),
+ "%s=%s" % (zlib_var, yes_no("+zlib")),
+ "MFEM_USE_METIS=%s" % yes_no("+metis"),
+ "MFEM_USE_METIS_5=%s" % metis5_str,
+ "MFEM_THREAD_SAFE=%s" % yes_no("+threadsafe"),
+ "MFEM_USE_MPI=%s" % yes_no("+mpi"),
+ "MFEM_USE_LAPACK=%s" % yes_no("+lapack"),
+ "MFEM_USE_SUPERLU=%s" % yes_no("+superlu-dist"),
+ "MFEM_USE_STRUMPACK=%s" % yes_no("+strumpack"),
+ "MFEM_USE_SUITESPARSE=%s" % yes_no("+suite-sparse"),
+ "MFEM_USE_SUNDIALS=%s" % yes_no("+sundials"),
+ "MFEM_USE_PETSC=%s" % yes_no("+petsc"),
+ "MFEM_USE_SLEPC=%s" % yes_no("+slepc"),
+ "MFEM_USE_PUMI=%s" % yes_no("+pumi"),
+ "MFEM_USE_GSLIB=%s" % yes_no("+gslib"),
+ "MFEM_USE_NETCDF=%s" % yes_no("+netcdf"),
+ "MFEM_USE_MPFR=%s" % yes_no("+mpfr"),
+ "MFEM_USE_GNUTLS=%s" % yes_no("+gnutls"),
+ "MFEM_USE_OPENMP=%s" % yes_no("+openmp"),
+ "MFEM_USE_CONDUIT=%s" % yes_no("+conduit"),
+ "MFEM_USE_CUDA=%s" % yes_no("+cuda"),
+ "MFEM_USE_HIP=%s" % yes_no("+rocm"),
+ "MFEM_USE_OCCA=%s" % yes_no("+occa"),
+ "MFEM_USE_RAJA=%s" % yes_no("+raja"),
+ "MFEM_USE_AMGX=%s" % yes_no("+amgx"),
+ "MFEM_USE_CEED=%s" % yes_no("+libceed"),
+ "MFEM_USE_UMPIRE=%s" % yes_no("+umpire"),
+ "MFEM_USE_FMS=%s" % yes_no("+fms"),
+ "MFEM_MPIEXEC=%s" % mfem_mpiexec,
+ "MFEM_MPIEXEC_NP=%s" % mfem_mpiexec_np,
+ ]
+
+ cxxflags = spec.compiler_flags["cxxflags"]
if cxxflags:
# Add opt/debug flags if they are not present in global cxx flags
- opt_flag_found = any(f in self.compiler.opt_flags
- for f in cxxflags)
- debug_flag_found = any(f in self.compiler.debug_flags
- for f in cxxflags)
+ opt_flag_found = any(f in self.compiler.opt_flags for f in cxxflags)
+ debug_flag_found = any(f in self.compiler.debug_flags for f in cxxflags)
- if '+debug' in spec:
+ if "+debug" in spec:
if not debug_flag_found:
- cxxflags.append('-g')
+ cxxflags.append("-g")
if not opt_flag_found:
- cxxflags.append('-O0')
+ cxxflags.append("-O0")
else:
if not opt_flag_found:
- cxxflags.append('-O2')
+ cxxflags.append("-O2")
cxxflags = [(xcompiler + flag) for flag in cxxflags]
- if '+cuda' in spec:
+ if "+cuda" in spec:
cxxflags += [
- '-x=cu --expt-extended-lambda -arch=sm_%s' % cuda_arch,
- '-ccbin %s' % (spec['mpi'].mpicxx if '+mpi' in spec
- else env['CXX'])]
- if self.spec.satisfies('@4.0.0:'):
- if '+cuda' in spec:
- cxxflags.append('-std=c++11')
+ "-x=cu --expt-extended-lambda -arch=sm_%s" % cuda_arch,
+ "-ccbin %s" % (spec["mpi"].mpicxx if "+mpi" in spec else env["CXX"]),
+ ]
+ if self.spec.satisfies("@4.0.0:"):
+ if "+cuda" in spec:
+ cxxflags.append("-std=c++11")
else:
cxxflags.append(self.compiler.cxx11_flag)
# The cxxflags are set by the spack c++ compiler wrapper. We also
# set CXXFLAGS explicitly, for clarity, and to properly export the
# cxxflags in the variable MFEM_CXXFLAGS in config.mk.
- options += ['CXXFLAGS=%s' % ' '.join(cxxflags)]
+ options += ["CXXFLAGS=%s" % " ".join(cxxflags)]
# Treat any 'CXXFLAGS' in the environment as extra c++ flags which are
# handled through the 'CPPFLAGS' makefile variable in MFEM. Also, unset
# 'CXXFLAGS' from the environment to prevent it from overriding the
# defaults.
- if 'CXXFLAGS' in env:
- options += ['CPPFLAGS=%s' % env['CXXFLAGS']]
- del env['CXXFLAGS']
-
- if '~static' in spec:
- options += ['STATIC=NO']
- if '+shared' in spec:
- options += [
- 'SHARED=YES',
- 'PICFLAG=%s' % (xcompiler + self.compiler.cxx_pic_flag)]
-
- if '+mpi' in spec:
- options += ['MPICXX=%s' % spec['mpi'].mpicxx]
- hypre = spec['hypre']
+ if "CXXFLAGS" in env:
+ options += ["CPPFLAGS=%s" % env["CXXFLAGS"]]
+ del env["CXXFLAGS"]
+
+ if "~static" in spec:
+ options += ["STATIC=NO"]
+ if "+shared" in spec:
+ options += ["SHARED=YES", "PICFLAG=%s" % (xcompiler + self.compiler.cxx_pic_flag)]
+
+ if "+mpi" in spec:
+ options += ["MPICXX=%s" % spec["mpi"].mpicxx]
+ hypre = spec["hypre"]
# The hypre package always links with 'blas' and 'lapack'.
- all_hypre_libs = hypre.libs + hypre['lapack'].libs + \
- hypre['blas'].libs
- hypre_gpu_libs = ''
- if '+cuda' in hypre:
- hypre_gpu_libs = ' -lcusparse -lcurand'
- elif '+rocm' in hypre:
- hypre_gpu_libs = ' ' + \
- ld_flags_from_dirs([env['ROCM_PATH'] + '/lib'],
- ['rocsparse', 'rocrand'])
+ all_hypre_libs = hypre.libs + hypre["lapack"].libs + hypre["blas"].libs
+ hypre_gpu_libs = ""
+ if "+cuda" in hypre:
+ hypre_gpu_libs = " -lcusparse -lcurand"
+ elif "+rocm" in hypre:
+ hypre_gpu_libs = " " + ld_flags_from_dirs(
+ [env["ROCM_PATH"] + "/lib"], ["rocsparse", "rocrand"]
+ )
options += [
- 'HYPRE_OPT=-I%s' % hypre.prefix.include,
- 'HYPRE_LIB=%s%s' %
- (ld_flags_from_library_list(all_hypre_libs), hypre_gpu_libs)]
+ "HYPRE_OPT=-I%s" % hypre.prefix.include,
+ "HYPRE_LIB=%s%s" % (ld_flags_from_library_list(all_hypre_libs), hypre_gpu_libs),
+ ]
- if '+metis' in spec:
+ if "+metis" in spec:
options += [
- 'METIS_OPT=-I%s' % spec['metis'].prefix.include,
- 'METIS_LIB=%s' %
- ld_flags_from_library_list(spec['metis'].libs)]
+ "METIS_OPT=-I%s" % spec["metis"].prefix.include,
+ "METIS_LIB=%s" % ld_flags_from_library_list(spec["metis"].libs),
+ ]
- if '+lapack' in spec:
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ if "+lapack" in spec:
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
options += [
# LAPACK_OPT is not used
- 'LAPACK_LIB=%s' % ld_flags_from_library_list(lapack_blas)]
+ "LAPACK_LIB=%s"
+ % ld_flags_from_library_list(lapack_blas)
+ ]
- if '+superlu-dist' in spec:
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ if "+superlu-dist" in spec:
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
options += [
- 'SUPERLU_OPT=-I%s -I%s' %
- (spec['superlu-dist'].prefix.include,
- spec['parmetis'].prefix.include),
- 'SUPERLU_LIB=%s %s' %
- (ld_flags_from_dirs([spec['superlu-dist'].prefix.lib,
- spec['parmetis'].prefix.lib],
- ['superlu_dist', 'parmetis']),
- ld_flags_from_library_list(lapack_blas))]
-
- if '+strumpack' in spec:
- strumpack = spec['strumpack']
- sp_opt = ['-I%s' % strumpack.prefix.include]
+ "SUPERLU_OPT=-I%s -I%s"
+ % (spec["superlu-dist"].prefix.include, spec["parmetis"].prefix.include),
+ "SUPERLU_LIB=%s %s"
+ % (
+ ld_flags_from_dirs(
+ [spec["superlu-dist"].prefix.lib, spec["parmetis"].prefix.lib],
+ ["superlu_dist", "parmetis"],
+ ),
+ ld_flags_from_library_list(lapack_blas),
+ ),
+ ]
+
+ if "+strumpack" in spec:
+ strumpack = spec["strumpack"]
+ sp_opt = ["-I%s" % strumpack.prefix.include]
sp_lib = [ld_flags_from_library_list(strumpack.libs)]
# Parts of STRUMPACK use fortran, so we need to link with the
# fortran library and also the MPI fortran library:
- if '~shared' in strumpack:
- if os.path.basename(env['FC']) == 'gfortran':
- gfortran = Executable(env['FC'])
- libext = 'dylib' if sys.platform == 'darwin' else 'so'
- libfile = os.path.abspath(gfortran(
- '-print-file-name=libgfortran.%s' % libext,
- output=str).strip())
+ if "~shared" in strumpack:
+ if os.path.basename(env["FC"]) == "gfortran":
+ gfortran = Executable(env["FC"])
+ libext = "dylib" if sys.platform == "darwin" else "so"
+ libfile = os.path.abspath(
+ gfortran("-print-file-name=libgfortran.%s" % libext, output=str).strip()
+ )
gfortran_lib = LibraryList(libfile)
sp_lib += [ld_flags_from_library_list(gfortran_lib)]
- if ('^mpich' in strumpack) or ('^mvapich2' in strumpack):
- sp_lib += ['-lmpifort']
- elif '^openmpi' in strumpack:
- sp_lib += ['-lmpi_mpifh']
- elif '^spectrum-mpi' in strumpack:
- sp_lib += ['-lmpi_ibm_mpifh']
- if '+openmp' in strumpack:
+ if ("^mpich" in strumpack) or ("^mvapich2" in strumpack):
+ sp_lib += ["-lmpifort"]
+ elif "^openmpi" in strumpack:
+ sp_lib += ["-lmpi_mpifh"]
+ elif "^spectrum-mpi" in strumpack:
+ sp_lib += ["-lmpi_ibm_mpifh"]
+ if "+openmp" in strumpack:
# The '+openmp' in the spec means strumpack will TRY to find
# OpenMP; if not found, we should not add any flags -- how do
# we figure out if strumpack found OpenMP?
- if not self.spec.satisfies('%apple-clang'):
+ if not self.spec.satisfies("%apple-clang"):
sp_opt += [xcompiler + self.compiler.openmp_flag]
- if '^parmetis' in strumpack:
- parmetis = strumpack['parmetis']
+ if "^parmetis" in strumpack:
+ parmetis = strumpack["parmetis"]
sp_opt += [parmetis.headers.cpp_flags]
sp_lib += [ld_flags_from_library_list(parmetis.libs)]
- if '^netlib-scalapack' in strumpack:
- scalapack = strumpack['scalapack']
- sp_opt += ['-I%s' % scalapack.prefix.include]
- sp_lib += [ld_flags_from_dirs([scalapack.prefix.lib],
- ['scalapack'])]
- elif '^scalapack' in strumpack:
- scalapack = strumpack['scalapack']
+ if "^netlib-scalapack" in strumpack:
+ scalapack = strumpack["scalapack"]
+ sp_opt += ["-I%s" % scalapack.prefix.include]
+ sp_lib += [ld_flags_from_dirs([scalapack.prefix.lib], ["scalapack"])]
+ elif "^scalapack" in strumpack:
+ scalapack = strumpack["scalapack"]
sp_opt += [scalapack.headers.cpp_flags]
sp_lib += [ld_flags_from_library_list(scalapack.libs)]
- if '+butterflypack' in strumpack:
- bp = strumpack['butterflypack']
- sp_opt += ['-I%s' % bp.prefix.include]
- bp_libs = find_libraries(['libdbutterflypack',
- 'libzbutterflypack'],
- bp.prefix,
- shared=('+shared' in bp),
- recursive=True)
+ if "+butterflypack" in strumpack:
+ bp = strumpack["butterflypack"]
+ sp_opt += ["-I%s" % bp.prefix.include]
+ bp_libs = find_libraries(
+ ["libdbutterflypack", "libzbutterflypack"],
+ bp.prefix,
+ shared=("+shared" in bp),
+ recursive=True,
+ )
sp_lib += [ld_flags_from_library_list(bp_libs)]
- if '+zfp' in strumpack:
- zfp = strumpack['zfp']
- sp_opt += ['-I%s' % zfp.prefix.include]
- zfp_lib = find_libraries('libzfp',
- zfp.prefix,
- shared=('+shared' in zfp),
- recursive=True)
+ if "+zfp" in strumpack:
+ zfp = strumpack["zfp"]
+ sp_opt += ["-I%s" % zfp.prefix.include]
+ zfp_lib = find_libraries(
+ "libzfp", zfp.prefix, shared=("+shared" in zfp), recursive=True
+ )
sp_lib += [ld_flags_from_library_list(zfp_lib)]
- if '+cuda' in strumpack:
+ if "+cuda" in strumpack:
# assuming also ('+cuda' in spec)
- sp_lib += ['-lcusolver', '-lcublas']
+ sp_lib += ["-lcusolver", "-lcublas"]
options += [
- 'STRUMPACK_OPT=%s' % ' '.join(sp_opt),
- 'STRUMPACK_LIB=%s' % ' '.join(sp_lib)]
+ "STRUMPACK_OPT=%s" % " ".join(sp_opt),
+ "STRUMPACK_LIB=%s" % " ".join(sp_lib),
+ ]
- if '+suite-sparse' in spec:
- ss_spec = 'suite-sparse:' + self.suitesparse_components
+ if "+suite-sparse" in spec:
+ ss_spec = "suite-sparse:" + self.suitesparse_components
options += [
- 'SUITESPARSE_OPT=-I%s' % spec[ss_spec].prefix.include,
- 'SUITESPARSE_LIB=%s' %
- ld_flags_from_library_list(spec[ss_spec].libs)]
+ "SUITESPARSE_OPT=-I%s" % spec[ss_spec].prefix.include,
+ "SUITESPARSE_LIB=%s" % ld_flags_from_library_list(spec[ss_spec].libs),
+ ]
- if '+sundials' in spec:
- sun_spec = 'sundials:' + self.sundials_components
+ if "+sundials" in spec:
+ sun_spec = "sundials:" + self.sundials_components
options += [
- 'SUNDIALS_OPT=%s' % spec[sun_spec].headers.cpp_flags,
- 'SUNDIALS_LIB=%s' %
- ld_flags_from_library_list(spec[sun_spec].libs)]
+ "SUNDIALS_OPT=%s" % spec[sun_spec].headers.cpp_flags,
+ "SUNDIALS_LIB=%s" % ld_flags_from_library_list(spec[sun_spec].libs),
+ ]
- if '+petsc' in spec:
- petsc = spec['petsc']
- if '+shared' in petsc:
+ if "+petsc" in spec:
+ petsc = spec["petsc"]
+ if "+shared" in petsc:
options += [
- 'PETSC_OPT=%s' % petsc.headers.cpp_flags,
- 'PETSC_LIB=%s' % ld_flags_from_library_list(petsc.libs)]
+ "PETSC_OPT=%s" % petsc.headers.cpp_flags,
+ "PETSC_LIB=%s" % ld_flags_from_library_list(petsc.libs),
+ ]
else:
- options += ['PETSC_DIR=%s' % petsc.prefix]
+ options += ["PETSC_DIR=%s" % petsc.prefix]
- if '+slepc' in spec:
- slepc = spec['slepc']
+ if "+slepc" in spec:
+ slepc = spec["slepc"]
options += [
- 'SLEPC_OPT=%s' % slepc.headers.cpp_flags,
- 'SLEPC_LIB=%s' % ld_flags_from_library_list(slepc.libs)]
-
- if '+pumi' in spec:
- pumi_libs = ['pumi', 'crv', 'ma', 'mds', 'apf', 'pcu', 'gmi',
- 'parma', 'lion', 'mth', 'apf_zoltan', 'spr']
+ "SLEPC_OPT=%s" % slepc.headers.cpp_flags,
+ "SLEPC_LIB=%s" % ld_flags_from_library_list(slepc.libs),
+ ]
+
+ if "+pumi" in spec:
+ pumi_libs = [
+ "pumi",
+ "crv",
+ "ma",
+ "mds",
+ "apf",
+ "pcu",
+ "gmi",
+ "parma",
+ "lion",
+ "mth",
+ "apf_zoltan",
+ "spr",
+ ]
options += [
- 'PUMI_OPT=-I%s' % spec['pumi'].prefix.include,
- 'PUMI_LIB=%s' %
- ld_flags_from_dirs([spec['pumi'].prefix.lib], pumi_libs)]
+ "PUMI_OPT=-I%s" % spec["pumi"].prefix.include,
+ "PUMI_LIB=%s" % ld_flags_from_dirs([spec["pumi"].prefix.lib], pumi_libs),
+ ]
- if '+gslib' in spec:
+ if "+gslib" in spec:
options += [
- 'GSLIB_OPT=-I%s' % spec['gslib'].prefix.include,
- 'GSLIB_LIB=%s' %
- ld_flags_from_dirs([spec['gslib'].prefix.lib], ['gs'])]
-
- if '+netcdf' in spec:
- lib_flags = ld_flags_from_dirs([spec['netcdf-c'].prefix.lib],
- ['netcdf'])
- hdf5 = spec['hdf5:hl']
- if hdf5.satisfies('~shared'):
+ "GSLIB_OPT=-I%s" % spec["gslib"].prefix.include,
+ "GSLIB_LIB=%s" % ld_flags_from_dirs([spec["gslib"].prefix.lib], ["gs"]),
+ ]
+
+ if "+netcdf" in spec:
+ lib_flags = ld_flags_from_dirs([spec["netcdf-c"].prefix.lib], ["netcdf"])
+ hdf5 = spec["hdf5:hl"]
+ if hdf5.satisfies("~shared"):
hdf5_libs = hdf5.libs
- hdf5_libs += LibraryList(find_system_libraries('libdl'))
+ hdf5_libs += LibraryList(find_system_libraries("libdl"))
lib_flags += " " + ld_flags_from_library_list(hdf5_libs)
options += [
- 'NETCDF_OPT=-I%s' % spec['netcdf-c'].prefix.include,
- 'NETCDF_LIB=%s' % lib_flags]
+ "NETCDF_OPT=-I%s" % spec["netcdf-c"].prefix.include,
+ "NETCDF_LIB=%s" % lib_flags,
+ ]
- if '+zlib' in spec:
+ if "+zlib" in spec:
if "@:3.3.2" in spec:
- options += ['ZLIB_DIR=%s' % spec['zlib'].prefix]
+ options += ["ZLIB_DIR=%s" % spec["zlib"].prefix]
else:
options += [
- 'ZLIB_OPT=-I%s' % spec['zlib'].prefix.include,
- 'ZLIB_LIB=%s' %
- ld_flags_from_library_list(spec['zlib'].libs)]
+ "ZLIB_OPT=-I%s" % spec["zlib"].prefix.include,
+ "ZLIB_LIB=%s" % ld_flags_from_library_list(spec["zlib"].libs),
+ ]
- if '+mpfr' in spec:
+ if "+mpfr" in spec:
options += [
- 'MPFR_OPT=-I%s' % spec['mpfr'].prefix.include,
- 'MPFR_LIB=%s' %
- ld_flags_from_dirs([spec['mpfr'].prefix.lib], ['mpfr'])]
+ "MPFR_OPT=-I%s" % spec["mpfr"].prefix.include,
+ "MPFR_LIB=%s" % ld_flags_from_dirs([spec["mpfr"].prefix.lib], ["mpfr"]),
+ ]
- if '+gnutls' in spec:
+ if "+gnutls" in spec:
options += [
- 'GNUTLS_OPT=-I%s' % spec['gnutls'].prefix.include,
- 'GNUTLS_LIB=%s' %
- ld_flags_from_dirs([spec['gnutls'].prefix.lib], ['gnutls'])]
-
- if '+libunwind' in spec:
- libunwind = spec['unwind']
- headers = find_headers('libunwind', libunwind.prefix.include)
- headers.add_macro('-g')
- libs = find_optional_library('libunwind', libunwind.prefix)
+ "GNUTLS_OPT=-I%s" % spec["gnutls"].prefix.include,
+ "GNUTLS_LIB=%s" % ld_flags_from_dirs([spec["gnutls"].prefix.lib], ["gnutls"]),
+ ]
+
+ if "+libunwind" in spec:
+ libunwind = spec["unwind"]
+ headers = find_headers("libunwind", libunwind.prefix.include)
+ headers.add_macro("-g")
+ libs = find_optional_library("libunwind", libunwind.prefix)
# When mfem uses libunwind, it also needs 'libdl'.
- libs += LibraryList(find_system_libraries('libdl'))
+ libs += LibraryList(find_system_libraries("libdl"))
options += [
- 'LIBUNWIND_OPT=%s' % headers.cpp_flags,
- 'LIBUNWIND_LIB=%s' % ld_flags_from_library_list(libs)]
+ "LIBUNWIND_OPT=%s" % headers.cpp_flags,
+ "LIBUNWIND_LIB=%s" % ld_flags_from_library_list(libs),
+ ]
- if '+openmp' in spec:
- options += [
- 'OPENMP_OPT=%s' % (xcompiler + self.compiler.openmp_flag)]
+ if "+openmp" in spec:
+ options += ["OPENMP_OPT=%s" % (xcompiler + self.compiler.openmp_flag)]
- if '+cuda' in spec:
+ if "+cuda" in spec:
options += [
- 'CUDA_CXX=%s' % join_path(spec['cuda'].prefix, 'bin', 'nvcc'),
- 'CUDA_ARCH=sm_%s' % cuda_arch]
+ "CUDA_CXX=%s" % join_path(spec["cuda"].prefix, "bin", "nvcc"),
+ "CUDA_ARCH=sm_%s" % cuda_arch,
+ ]
+
+ if "+rocm" in spec:
+ amdgpu_target = ",".join(spec.variants["amdgpu_target"].value)
+ options += ["HIP_CXX=%s" % spec["hip"].hipcc, "HIP_ARCH=%s" % amdgpu_target]
- if '+rocm' in spec:
- amdgpu_target = ','.join(spec.variants['amdgpu_target'].value)
+ if "+occa" in spec:
+ options += [
+ "OCCA_OPT=-I%s" % spec["occa"].prefix.include,
+ "OCCA_LIB=%s" % ld_flags_from_dirs([spec["occa"].prefix.lib], ["occa"]),
+ ]
+
+ if "+raja" in spec:
+ raja_opt = "-I%s" % spec["raja"].prefix.include
+ if spec["raja"].satisfies("^camp"):
+ raja_opt += " -I%s" % spec["camp"].prefix.include
options += [
- 'HIP_CXX=%s' % spec['hip'].hipcc,
- 'HIP_ARCH=%s' % amdgpu_target]
-
- if '+occa' in spec:
- options += ['OCCA_OPT=-I%s' % spec['occa'].prefix.include,
- 'OCCA_LIB=%s' %
- ld_flags_from_dirs([spec['occa'].prefix.lib],
- ['occa'])]
-
- if '+raja' in spec:
- raja_opt = '-I%s' % spec['raja'].prefix.include
- if spec['raja'].satisfies('^camp'):
- raja_opt += ' -I%s' % spec['camp'].prefix.include
- options += ['RAJA_OPT=%s' % raja_opt,
- 'RAJA_LIB=%s' %
- ld_flags_from_dirs([spec['raja'].prefix.lib],
- ['RAJA'])]
-
- if '+amgx' in spec:
- amgx = spec['amgx']
- if '+shared' in amgx:
- options += ['AMGX_OPT=-I%s' % amgx.prefix.include,
- 'AMGX_LIB=%s' %
- ld_flags_from_library_list(amgx.libs)]
+ "RAJA_OPT=%s" % raja_opt,
+ "RAJA_LIB=%s" % ld_flags_from_dirs([spec["raja"].prefix.lib], ["RAJA"]),
+ ]
+
+ if "+amgx" in spec:
+ amgx = spec["amgx"]
+ if "+shared" in amgx:
+ options += [
+ "AMGX_OPT=-I%s" % amgx.prefix.include,
+ "AMGX_LIB=%s" % ld_flags_from_library_list(amgx.libs),
+ ]
else:
- options += ['AMGX_DIR=%s' % amgx.prefix]
-
- if '+libceed' in spec:
- options += ['CEED_OPT=-I%s' % spec['libceed'].prefix.include,
- 'CEED_LIB=%s' %
- ld_flags_from_dirs([spec['libceed'].prefix.lib],
- ['ceed'])]
-
- if '+umpire' in spec:
- options += ['UMPIRE_OPT=-I%s' % spec['umpire'].prefix.include,
- 'UMPIRE_LIB=%s' %
- ld_flags_from_library_list(spec['umpire'].libs)]
-
- timer_ids = {'std': '0', 'posix': '2', 'mac': '4', 'mpi': '6'}
- timer = spec.variants['timer'].value
- if timer != 'auto':
- options += ['MFEM_TIMER_TYPE=%s' % timer_ids[timer]]
-
- if '+conduit' in spec:
- conduit = spec['conduit']
- headers = HeaderList(find(conduit.prefix.include, 'conduit.hpp',
- recursive=True))
- conduit_libs = ['libconduit', 'libconduit_relay',
- 'libconduit_blueprint']
- libs = find_libraries(conduit_libs, conduit.prefix.lib,
- shared=('+shared' in conduit))
- libs += LibraryList(find_system_libraries('libdl'))
- if '+hdf5' in conduit:
- hdf5 = conduit['hdf5']
- headers += find_headers('hdf5', hdf5.prefix.include)
+ options += ["AMGX_DIR=%s" % amgx.prefix]
+
+ if "+libceed" in spec:
+ options += [
+ "CEED_OPT=-I%s" % spec["libceed"].prefix.include,
+ "CEED_LIB=%s" % ld_flags_from_dirs([spec["libceed"].prefix.lib], ["ceed"]),
+ ]
+
+ if "+umpire" in spec:
+ options += [
+ "UMPIRE_OPT=-I%s" % spec["umpire"].prefix.include,
+ "UMPIRE_LIB=%s" % ld_flags_from_library_list(spec["umpire"].libs),
+ ]
+
+ timer_ids = {"std": "0", "posix": "2", "mac": "4", "mpi": "6"}
+ timer = spec.variants["timer"].value
+ if timer != "auto":
+ options += ["MFEM_TIMER_TYPE=%s" % timer_ids[timer]]
+
+ if "+conduit" in spec:
+ conduit = spec["conduit"]
+ headers = HeaderList(find(conduit.prefix.include, "conduit.hpp", recursive=True))
+ conduit_libs = ["libconduit", "libconduit_relay", "libconduit_blueprint"]
+ libs = find_libraries(conduit_libs, conduit.prefix.lib, shared=("+shared" in conduit))
+ libs += LibraryList(find_system_libraries("libdl"))
+ if "+hdf5" in conduit:
+ hdf5 = conduit["hdf5"]
+ headers += find_headers("hdf5", hdf5.prefix.include)
libs += hdf5.libs
##################
@@ -827,188 +879,179 @@ class Mfem(Package, CudaPackage, ROCmPackage):
# construct proper include path
conduit_include_path = conduit.prefix.include.conduit
# add this path to the found flags
- conduit_opt_flags = "-I{0} {1}".format(conduit_include_path,
- headers.cpp_flags)
+ conduit_opt_flags = "-I{0} {1}".format(conduit_include_path, headers.cpp_flags)
options += [
- 'CONDUIT_OPT=%s' % conduit_opt_flags,
- 'CONDUIT_LIB=%s' % ld_flags_from_library_list(libs)]
+ "CONDUIT_OPT=%s" % conduit_opt_flags,
+ "CONDUIT_LIB=%s" % ld_flags_from_library_list(libs),
+ ]
- if '+fms' in spec:
- libfms = spec['libfms']
+ if "+fms" in spec:
+ libfms = spec["libfms"]
options += [
- 'FMS_OPT=%s' % libfms.headers.cpp_flags,
- 'FMS_LIB=%s' % ld_flags_from_library_list(libfms.libs)]
+ "FMS_OPT=%s" % libfms.headers.cpp_flags,
+ "FMS_LIB=%s" % ld_flags_from_library_list(libfms.libs),
+ ]
- make('config', *options, parallel=False)
- make('info', parallel=False)
+ make("config", *options, parallel=False)
+ make("info", parallel=False)
def build(self, spec, prefix):
- make('lib')
+ make("lib")
- @run_after('build')
+ @run_after("build")
def check_or_test(self):
# Running 'make check' or 'make test' may fail if MFEM_MPIEXEC or
# MFEM_MPIEXEC_NP are not set appropriately.
if not self.run_tests:
# check we can build ex1 (~mpi) or ex1p (+mpi).
- make('-C', 'examples', 'ex1p' if ('+mpi' in self.spec) else 'ex1',
- parallel=False)
+ make("-C", "examples", "ex1p" if ("+mpi" in self.spec) else "ex1", parallel=False)
# make('check', parallel=False)
else:
- make('all')
- make('test', parallel=False)
+ make("all")
+ make("test", parallel=False)
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
# TODO: The way the examples and miniapps are being installed is not
# perfect. For example, the makefiles do not work.
- install_em = ('+examples' in spec) or ('+miniapps' in spec)
- if install_em and ('+shared' in spec):
- make('examples/clean', 'miniapps/clean')
+ install_em = ("+examples" in spec) or ("+miniapps" in spec)
+ if install_em and ("+shared" in spec):
+ make("examples/clean", "miniapps/clean")
# This is a hack to get the examples and miniapps to link with the
# installed shared mfem library:
- with working_dir('config'):
- os.rename('config.mk', 'config.mk.orig')
- copy(str(self.config_mk), 'config.mk')
- shutil.copystat('config.mk.orig', 'config.mk')
+ with working_dir("config"):
+ os.rename("config.mk", "config.mk.orig")
+ copy(str(self.config_mk), "config.mk")
+ shutil.copystat("config.mk.orig", "config.mk")
- prefix_share = join_path(prefix, 'share', 'mfem')
+ prefix_share = join_path(prefix, "share", "mfem")
- if '+examples' in spec:
- make('examples')
- install_tree('examples', join_path(prefix_share, 'examples'))
+ if "+examples" in spec:
+ make("examples")
+ install_tree("examples", join_path(prefix_share, "examples"))
- if '+miniapps' in spec:
- make('miniapps')
- install_tree('miniapps', join_path(prefix_share, 'miniapps'))
+ if "+miniapps" in spec:
+ make("miniapps")
+ install_tree("miniapps", join_path(prefix_share, "miniapps"))
if install_em:
- install_tree('data', join_path(prefix_share, 'data'))
+ install_tree("data", join_path(prefix_share, "data"))
- examples_src_dir = 'examples'
- examples_data_dir = 'data'
+ examples_src_dir = "examples"
+ examples_data_dir = "data"
- @run_after('install')
+ @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`."""
# Clean the 'examples' directory -- at least one example is always built
# and we do not want to cache executables.
- make('examples/clean', parallel=False)
- self.cache_extra_test_sources([self.examples_src_dir,
- self.examples_data_dir])
+ make("examples/clean", parallel=False)
+ self.cache_extra_test_sources([self.examples_src_dir, self.examples_data_dir])
def test(self):
- test_dir = join_path(
- self.test_suite.current_test_cache_dir,
- self.examples_src_dir
- )
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
# MFEM has many examples to serve as a suitable smoke check. ex10
# was chosen arbitrarily among the examples that work both with
# MPI and without it
- test_exe = 'ex10p' if ('+mpi' in self.spec) else 'ex10'
+ test_exe = "ex10p" if ("+mpi" in self.spec) else "ex10"
self.run_test(
- 'make',
- [
- 'CONFIG_MK={0}/share/mfem/config.mk'.format(self.prefix),
- test_exe,
- 'parallel=False'
- ],
- purpose='test: building {0}'.format(test_exe),
+ "make",
+ ["CONFIG_MK={0}/share/mfem/config.mk".format(self.prefix), test_exe, "parallel=False"],
+ purpose="test: building {0}".format(test_exe),
skip_missing=False,
work_dir=test_dir,
)
self.run_test(
- './{0}'.format(test_exe),
- [
- '--mesh',
- '../{0}/beam-quad.mesh'.format(self.examples_data_dir)
- ],
+ "./{0}".format(test_exe),
+ ["--mesh", "../{0}/beam-quad.mesh".format(self.examples_data_dir)],
[],
installed=False,
- purpose='test: running {0}'.format(test_exe),
+ purpose="test: running {0}".format(test_exe),
skip_missing=False,
work_dir=test_dir,
)
# this patch is only needed for mfem 4.1, where a few
# released files include byte order marks
- @when('@4.1.0')
+ @when("@4.1.0")
def patch(self):
# Remove the byte order mark since it messes with some compilers
files_with_bom = [
- 'fem/gslib.hpp', 'fem/gslib.cpp', 'linalg/hiop.hpp',
- 'miniapps/gslib/field-diff.cpp', 'miniapps/gslib/findpts.cpp',
- 'miniapps/gslib/pfindpts.cpp']
- bom = '\xef\xbb\xbf' if sys.version_info < (3,) else u'\ufeff'
+ "fem/gslib.hpp",
+ "fem/gslib.cpp",
+ "linalg/hiop.hpp",
+ "miniapps/gslib/field-diff.cpp",
+ "miniapps/gslib/findpts.cpp",
+ "miniapps/gslib/pfindpts.cpp",
+ ]
+ bom = "\xef\xbb\xbf" if sys.version_info < (3,) else u"\ufeff"
for f in files_with_bom:
- filter_file(bom, '', f)
+ filter_file(bom, "", f)
@property
def suitesparse_components(self):
"""Return the SuiteSparse components needed by MFEM."""
- ss_comps = 'umfpack,cholmod,colamd,amd,camd,ccolamd,suitesparseconfig'
- if self.spec.satisfies('@3.2:'):
- ss_comps = 'klu,btf,' + ss_comps
+ ss_comps = "umfpack,cholmod,colamd,amd,camd,ccolamd,suitesparseconfig"
+ if self.spec.satisfies("@3.2:"):
+ ss_comps = "klu,btf," + ss_comps
return ss_comps
@property
def sundials_components(self):
"""Return the SUNDIALS components needed by MFEM."""
spec = self.spec
- sun_comps = 'arkode,cvodes,nvecserial,kinsol'
- if '+mpi' in spec:
- if spec.satisfies('@4.2:'):
- sun_comps += ',nvecparallel,nvecmpiplusx'
+ sun_comps = "arkode,cvodes,nvecserial,kinsol"
+ if "+mpi" in spec:
+ if spec.satisfies("@4.2:"):
+ sun_comps += ",nvecparallel,nvecmpiplusx"
else:
- sun_comps += ',nvecparhyp,nvecparallel'
- if '+cuda' in spec and '+cuda' in spec['sundials']:
- sun_comps += ',nveccuda'
+ sun_comps += ",nvecparhyp,nvecparallel"
+ if "+cuda" in spec and "+cuda" in spec["sundials"]:
+ sun_comps += ",nveccuda"
return sun_comps
@property
def headers(self):
- """Export the main mfem header, mfem.hpp.
- """
- hdrs = HeaderList(find(self.prefix.include, 'mfem.hpp',
- recursive=False))
+ """Export the main mfem header, mfem.hpp."""
+ hdrs = HeaderList(find(self.prefix.include, "mfem.hpp", recursive=False))
return hdrs or None
@property
def libs(self):
- """Export the mfem library file.
- """
- libs = find_libraries('libmfem', root=self.prefix.lib,
- shared=('+shared' in self.spec), recursive=False)
+ """Export the mfem library file."""
+ libs = find_libraries(
+ "libmfem", root=self.prefix.lib, shared=("+shared" in self.spec), recursive=False
+ )
return libs or None
@property
def config_mk(self):
"""Export the location of the config.mk file.
- This property can be accessed using spec['mfem'].package.config_mk
+ This property can be accessed using spec['mfem'].package.config_mk
"""
dirs = [self.prefix, self.prefix.share.mfem]
for d in dirs:
- f = join_path(d, 'config.mk')
+ f = join_path(d, "config.mk")
if os.access(f, os.R_OK):
return FileList(f)
- return FileList(find(self.prefix, 'config.mk', recursive=True))
+ return FileList(find(self.prefix, "config.mk", recursive=True))
@property
def test_mk(self):
"""Export the location of the test.mk file.
- This property can be accessed using spec['mfem'].package.test_mk.
- In version 3.3.2 and newer, the location of test.mk is also defined
- inside config.mk, variable MFEM_TEST_MK.
+ This property can be accessed using spec['mfem'].package.test_mk.
+ In version 3.3.2 and newer, the location of test.mk is also defined
+ inside config.mk, variable MFEM_TEST_MK.
"""
dirs = [self.prefix, self.prefix.share.mfem]
for d in dirs:
- f = join_path(d, 'test.mk')
+ f = join_path(d, "test.mk")
if os.access(f, os.R_OK):
return FileList(f)
- return FileList(find(self.prefix, 'test.mk', recursive=True))
+ return FileList(find(self.prefix, "test.mk", recursive=True))
diff --git a/var/spack/repos/builtin/packages/mg/package.py b/var/spack/repos/builtin/packages/mg/package.py
index b3abe826e8..f2eb3eae8a 100644
--- a/var/spack/repos/builtin/packages/mg/package.py
+++ b/var/spack/repos/builtin/packages/mg/package.py
@@ -14,16 +14,16 @@ class Mg(MakefilePackage):
types than emacs or vi."""
homepage = "https://github.com/ibara/mg"
- url = "https://github.com/ibara/mg/archive/mg-6.6.tar.gz"
+ url = "https://github.com/ibara/mg/archive/mg-6.6.tar.gz"
- version('6.6', sha256='e8440353da1a52ec7d40fb88d4f145da49c320b5ba31daf895b0b0db5ccd0632')
+ version("6.6", sha256="e8440353da1a52ec7d40fb88d4f145da49c320b5ba31daf895b0b0db5ccd0632")
- depends_on('ncurses')
+ depends_on("ncurses")
def edit(self, spec, prefix):
- configure = Executable('./configure')
+ configure = Executable("./configure")
args = [
- '--mandir={0}'.format(self.prefix.man),
- '--prefix={0}'.format(self.prefix),
+ "--mandir={0}".format(self.prefix.man),
+ "--prefix={0}".format(self.prefix),
]
configure(*args)
diff --git a/var/spack/repos/builtin/packages/mgis/package.py b/var/spack/repos/builtin/packages/mgis/package.py
index 214d640df9..f06777c4dd 100644
--- a/var/spack/repos/builtin/packages/mgis/package.py
+++ b/var/spack/repos/builtin/packages/mgis/package.py
@@ -18,9 +18,9 @@ class Mgis(CMakePackage):
"""
homepage = "https://thelfer.github.io/mgis/web/index.html"
- url = "https://github.com/thelfer/MFrontGenericInterfaceSupport/archive/MFrontGenericInterfaceSupport-1.2.tar.gz"
- git = "https://github.com/thelfer/MFrontGenericInterfaceSupport.git"
- maintainers = ['thelfer']
+ url = "https://github.com/thelfer/MFrontGenericInterfaceSupport/archive/MFrontGenericInterfaceSupport-1.2.tar.gz"
+ git = "https://github.com/thelfer/MFrontGenericInterfaceSupport.git"
+ maintainers = ["thelfer"]
# development branches
version("master", branch="master")
@@ -30,56 +30,59 @@ class Mgis(CMakePackage):
version("rliv-1.0", branch="rliv-1.0")
# released version
- version('2.0', sha256='cb427d77f2c79423e969815b948a8b44da33a4370d1760e8c1e22a569f3585e2',
- preferred=True)
- version('1.2.2', sha256='dc24e85cc90ec656ed707eef3d511317ad800915014d9e4e9cf8818b406586d5')
- version('1.2.1', sha256='a2d7cae3a24546adcf1d1bf7f13f012170d359370f5b6b2c1730b19eb507601d')
- version('1.2', sha256='ed82ab91cbe17c00ef36578dbfcb4d1817d4c956619b7cccbea3e3f1a3b31940')
- version('1.1', sha256='06593d7a052678deaee87ef60b2213db7545c5be9823f261d3388b3978a0b7a5')
- version('1.0.1', sha256='6102621455bc5d9b1591cd33e93b2e15a9572d2ce59ca6dfa30ba57ae1265c08')
- version('1.0', sha256='279c98da00fa6855edf29c2b8f8bad6e7732298dc62ef67d028d6bbeaac043b3')
+ version(
+ "2.0",
+ sha256="cb427d77f2c79423e969815b948a8b44da33a4370d1760e8c1e22a569f3585e2",
+ preferred=True,
+ )
+ version("1.2.2", sha256="dc24e85cc90ec656ed707eef3d511317ad800915014d9e4e9cf8818b406586d5")
+ version("1.2.1", sha256="a2d7cae3a24546adcf1d1bf7f13f012170d359370f5b6b2c1730b19eb507601d")
+ version("1.2", sha256="ed82ab91cbe17c00ef36578dbfcb4d1817d4c956619b7cccbea3e3f1a3b31940")
+ version("1.1", sha256="06593d7a052678deaee87ef60b2213db7545c5be9823f261d3388b3978a0b7a5")
+ version("1.0.1", sha256="6102621455bc5d9b1591cd33e93b2e15a9572d2ce59ca6dfa30ba57ae1265c08")
+ version("1.0", sha256="279c98da00fa6855edf29c2b8f8bad6e7732298dc62ef67d028d6bbeaac043b3")
# variants
- variant('c', default=True,
- description='Enables c bindings')
- variant('fortran', default=True,
- description='Enables fortran bindings')
- variant('python', default=True,
- description='Enables python bindings')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant("c", default=True, description="Enables c bindings")
+ variant("fortran", default=True, description="Enables fortran bindings")
+ variant("python", default=True, description="Enables python bindings")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
# dependencies
- depends_on('tfel@4.0.0', when="@2.0")
- depends_on('tfel@3.4.3', when="@1.2.2")
- depends_on('tfel@3.4.1', when="@1.2.1")
- depends_on('tfel@3.4.0', when="@1.2")
- depends_on('tfel@3.3.0', when="@1.1")
- depends_on('tfel@3.2.1', when="@1.0.1")
- depends_on('tfel@3.2.0', when="@1.0")
- depends_on('tfel@rliv-3.4', when="@rliv-1.2")
- depends_on('tfel@rliv-3.3', when="@rliv-1.1")
- depends_on('tfel@rliv-3.2', when="@rliv-1.0")
- depends_on('tfel@master', when="@master")
- depends_on('boost+python+numpy+exception+container', when='+python',
- type=('build', 'link', 'run'))
- depends_on('py-numpy', when='+python',
- type=('build', 'link', 'run'))
-
- extends('python', when='+python')
+ depends_on("tfel@4.0.0", when="@2.0")
+ depends_on("tfel@3.4.3", when="@1.2.2")
+ depends_on("tfel@3.4.1", when="@1.2.1")
+ depends_on("tfel@3.4.0", when="@1.2")
+ depends_on("tfel@3.3.0", when="@1.1")
+ depends_on("tfel@3.2.1", when="@1.0.1")
+ depends_on("tfel@3.2.0", when="@1.0")
+ depends_on("tfel@rliv-3.4", when="@rliv-1.2")
+ depends_on("tfel@rliv-3.3", when="@rliv-1.1")
+ depends_on("tfel@rliv-3.2", when="@rliv-1.0")
+ depends_on("tfel@master", when="@master")
+ depends_on(
+ "boost+python+numpy+exception+container", when="+python", type=("build", "link", "run")
+ )
+ depends_on("py-numpy", when="+python", type=("build", "link", "run"))
+
+ extends("python", when="+python")
def patch(self):
"""Fix the test suite to use the PYTHONPATH provided by the spack buildenv"""
- filter_file('tests/;', 'tests:', 'bindings/python/tests/CMakeLists.txt')
+ filter_file("tests/;", "tests:", "bindings/python/tests/CMakeLists.txt")
def check(self):
"""skip target 'test' which doesn't build the test programs used by tests"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
- self._if_make_target_execute('check')
- elif self.generator == 'Ninja':
- self._if_ninja_target_execute('check')
+ if self.generator == "Unix Makefiles":
+ self._if_make_target_execute("check")
+ elif self.generator == "Ninja":
+ self._if_ninja_target_execute("check")
def cmake_args(self):
@@ -87,23 +90,19 @@ class Mgis(CMakePackage):
args.append("-DUSE_EXTERNAL_COMPILER_FLAGS=ON")
- for i in ['c', 'fortran', 'python']:
- if '+' + i in self.spec:
+ for i in ["c", "fortran", "python"]:
+ if "+" + i in self.spec:
args.append("-Denable-{0}-bindings=ON".format(i))
else:
args.append("-Denable-{0}-bindings=OFF".format(i))
- if '+python' in self.spec:
+ if "+python" in self.spec:
# adding path to python
- python = self.spec['python']
- args.append('-DPYTHON_LIBRARY={0}'.
- format(python.libs[0]))
- args.append('-DPYTHON_INCLUDE_DIR={0}'.
- format(python.headers.directories[0]))
- args.append('-DPython_ADDITIONAL_VERSIONS={0}'.
- format(python.version.up_to(2)))
+ python = self.spec["python"]
+ args.append("-DPYTHON_LIBRARY={0}".format(python.libs[0]))
+ args.append("-DPYTHON_INCLUDE_DIR={0}".format(python.headers.directories[0]))
+ args.append("-DPython_ADDITIONAL_VERSIONS={0}".format(python.version.up_to(2)))
# adding path to boost
- args.append('-DBOOST_ROOT={0}'.
- format(self.spec['boost'].prefix))
+ args.append("-DBOOST_ROOT={0}".format(self.spec["boost"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/microbiomeutil/package.py b/var/spack/repos/builtin/packages/microbiomeutil/package.py
index c7b2985a0f..b2683b0d84 100644
--- a/var/spack/repos/builtin/packages/microbiomeutil/package.py
+++ b/var/spack/repos/builtin/packages/microbiomeutil/package.py
@@ -12,23 +12,23 @@ class Microbiomeutil(MakefilePackage, SourceforgePackage):
homepage = "http://microbiomeutil.sourceforge.net/"
sourceforge_mirror_path = "microbiomeutil/microbiomeutil-r20110519.tgz"
- version('20110519', sha256='9233de80ea57bfb9e9371cbe7e3bfad2d4a51168fddaf60fa144c4046c80d823')
+ version("20110519", sha256="9233de80ea57bfb9e9371cbe7e3bfad2d4a51168fddaf60fa144c4046c80d823")
- depends_on('perl', type=('build', 'run'))
- depends_on('blast-plus')
- depends_on('cdbfasta')
+ depends_on("perl", type=("build", "run"))
+ depends_on("blast-plus")
+ depends_on("cdbfasta")
def install(self, spec, prefix):
- install_tree('ChimeraSlayer', prefix.ChimeraSlayer)
- install_tree('NAST-iEr', join_path(prefix, 'NAST-iEr'))
- install_tree('TreeChopper', prefix.TreeChopper)
- install_tree('WigeoN', prefix.WigeoN)
- install_tree('docs', prefix.docs)
- install_tree('RESOURCES', prefix.resources)
- install_tree('AmosCmp16Spipeline', prefix.AmosCmp16Spipeline)
+ install_tree("ChimeraSlayer", prefix.ChimeraSlayer)
+ install_tree("NAST-iEr", join_path(prefix, "NAST-iEr"))
+ install_tree("TreeChopper", prefix.TreeChopper)
+ install_tree("WigeoN", prefix.WigeoN)
+ install_tree("docs", prefix.docs)
+ install_tree("RESOURCES", prefix.resources)
+ install_tree("AmosCmp16Spipeline", prefix.AmosCmp16Spipeline)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.ChimeraSlayer)
- env.prepend_path('PATH', join_path(self.prefix, 'NAST-iEr'))
- env.prepend_path('PATH', self.prefix.TreeChopper)
- env.prepend_path('PATH', self.prefix.WigeoN)
+ env.prepend_path("PATH", self.prefix.ChimeraSlayer)
+ env.prepend_path("PATH", join_path(self.prefix, "NAST-iEr"))
+ env.prepend_path("PATH", self.prefix.TreeChopper)
+ env.prepend_path("PATH", self.prefix.WigeoN)
diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py
index 598a055784..45d75f0493 100644
--- a/var/spack/repos/builtin/packages/migraphx/package.py
+++ b/var/spack/repos/builtin/packages/migraphx/package.py
@@ -9,97 +9,152 @@ from spack.package import *
class Migraphx(CMakePackage):
- """ AMD's graph optimization engine."""
+ """AMD's graph optimization engine."""
homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX"
- git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git"
+ git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git"
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libmigraphx']
-
- version('5.1.3', sha256='686e068774500a46b6e6488370bbf5bd0bba6d19ecdb00636f951704d19c9ef2')
- version('5.1.0', sha256='6398efaef18a74f2a475aa21bd34bc7c077332a430ee3f6ba4fde6e6a6aa9f89')
- version('5.0.2', sha256='3ef48ac03b909d1a1aa1f91f365ce64af2ce66635b6efb5ad0b207dc51ff2fd6')
- version('5.0.0', sha256='779a91ccfa4c2576251189f0c646ff7707c3646319c7d5dd137872beb52d2953')
- version('4.5.2', sha256='ecfd9a8e7967076f056d5b6a90b22f8919b82226443769b181193f16ebf58b83')
- version('4.5.0', sha256='8d243a48406af7f960c03bc28a16fad931de8e008ae848799adae504cc5f1355')
- version('4.3.1', sha256='e0b04da37aed937a2b2218059c189559a15460c191b5e9b00c7366c81c90b06e', deprecated=True)
- version('4.3.0', sha256='99cf202a5e86cf5502b0f8bf12f152dbd5a6aacc204b3d9d5efca67a54793408', deprecated=True)
- version('4.2.0', sha256='93f22f6c641dde5d7fb8abcbd99621b3c81e332e125a6f3a258d5e4cf2055f55', deprecated=True)
- version('4.1.0', sha256='f9b1d2e25cdbaf5d0bfb07d4c8ccef0abaa291757c4bce296c3b5b9488174045', deprecated=True)
- version('4.0.0', sha256='b8b845249626e9169353dbfa2530db468972a7569b248c8118ff19e029a12e55', deprecated=True)
- version('3.10.0', sha256='eda22b9af286afb7806e6b5d5ebb0d612dce87c9bad64ba5176fda1c2ed9c9b7', deprecated=True)
- version('3.9.0', sha256='7649689e06522302c07b39abb88bdcc3d4de18a7559d4f6a9e238e92b2074032', deprecated=True)
- version('3.8.0', sha256='08fa991349a2b95364b0a69be7960580c3e3fde2fda0f0c67bc41429ea2d67a0', deprecated=True)
- version('3.7.0', sha256='697c3c7babaa025eaabec630dbd8a87d10dc4fe35fafa3b0d3463aaf1fc46399', deprecated=True)
- version('3.5.0', sha256='5766f3b262468c500be5051a056811a8edfa741734a5c08c4ecb0337b7906377', deprecated=True)
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libmigraphx"]
+
+ version("5.1.3", sha256="686e068774500a46b6e6488370bbf5bd0bba6d19ecdb00636f951704d19c9ef2")
+ version("5.1.0", sha256="6398efaef18a74f2a475aa21bd34bc7c077332a430ee3f6ba4fde6e6a6aa9f89")
+ version("5.0.2", sha256="3ef48ac03b909d1a1aa1f91f365ce64af2ce66635b6efb5ad0b207dc51ff2fd6")
+ version("5.0.0", sha256="779a91ccfa4c2576251189f0c646ff7707c3646319c7d5dd137872beb52d2953")
+ version("4.5.2", sha256="ecfd9a8e7967076f056d5b6a90b22f8919b82226443769b181193f16ebf58b83")
+ version("4.5.0", sha256="8d243a48406af7f960c03bc28a16fad931de8e008ae848799adae504cc5f1355")
+ version(
+ "4.3.1",
+ sha256="e0b04da37aed937a2b2218059c189559a15460c191b5e9b00c7366c81c90b06e",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="99cf202a5e86cf5502b0f8bf12f152dbd5a6aacc204b3d9d5efca67a54793408",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="93f22f6c641dde5d7fb8abcbd99621b3c81e332e125a6f3a258d5e4cf2055f55",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="f9b1d2e25cdbaf5d0bfb07d4c8ccef0abaa291757c4bce296c3b5b9488174045",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="b8b845249626e9169353dbfa2530db468972a7569b248c8118ff19e029a12e55",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="eda22b9af286afb7806e6b5d5ebb0d612dce87c9bad64ba5176fda1c2ed9c9b7",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="7649689e06522302c07b39abb88bdcc3d4de18a7559d4f6a9e238e92b2074032",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="08fa991349a2b95364b0a69be7960580c3e3fde2fda0f0c67bc41429ea2d67a0",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="697c3c7babaa025eaabec630dbd8a87d10dc4fe35fafa3b0d3463aaf1fc46399",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="5766f3b262468c500be5051a056811a8edfa741734a5c08c4ecb0337b7906377",
+ deprecated=True,
+ )
def url_for_version(self, version):
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/"
- if version <= Version('3.5.0'):
+ if version <= Version("3.5.0"):
url += "{0}.tar.gz".format(version)
else:
url += "rocm-{0}.tar.gz".format(version)
return url
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- patch('0001-Adding-nlohmann-json-include-directory.patch', when='@3.9.0:')
- patch('0002-restrict-python-2.7-usage.patch', when='@3.9.0:')
-
- depends_on('cmake@3.5:', type='build')
- depends_on('protobuf', type='link')
- depends_on('blaze', type='build')
- depends_on('nlohmann-json', type='link')
- depends_on('msgpack-c', type='link')
- depends_on('half@1.12.0', type='link')
- depends_on('python@3.5:', type='build')
- depends_on('py-pybind11', type='build', when='@:4.0.0')
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
- depends_on('miopen-hip@' + ver, when='@' + ver)
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ patch("0001-Adding-nlohmann-json-include-directory.patch", when="@3.9.0:")
+ patch("0002-restrict-python-2.7-usage.patch", when="@3.9.0:")
+
+ depends_on("cmake@3.5:", type="build")
+ depends_on("protobuf", type="link")
+ depends_on("blaze", type="build")
+ depends_on("nlohmann-json", type="link")
+ depends_on("msgpack-c", type="link")
+ depends_on("half@1.12.0", type="link")
+ depends_on("python@3.5:", type="build")
+ depends_on("py-pybind11", type="build", when="@:4.0.0")
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
+ depends_on("miopen-hip@" + ver, when="@" + ver)
@property
def cmake_python_hints(self):
"""Include the python include path to the
CMake based on current spec
"""
- python = self.spec['python']
- return [
- self.define('Python_INCLUDE_DIR', python.package.config_vars['include'])
- ]
+ python = self.spec["python"]
+ return [self.define("Python_INCLUDE_DIR", python.package.config_vars["include"])]
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
- args = [
- '-DCMAKE_CXX_COMPILER={0}/bin/clang++'
- .format(self.spec['llvm-amdgpu'].prefix)
- ]
- if '@3.9.0:' in self.spec:
- args.append('-DNLOHMANN_JSON_INCLUDE={0}'.format(
- self.spec['nlohmann-json'].prefix.include))
-
- if self.spec['cmake'].satisfies('@3.16.0:'):
+ args = ["-DCMAKE_CXX_COMPILER={0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix)]
+ if "@3.9.0:" in self.spec:
+ args.append(
+ "-DNLOHMANN_JSON_INCLUDE={0}".format(self.spec["nlohmann-json"].prefix.include)
+ )
+
+ if self.spec["cmake"].satisfies("@3.16.0:"):
args += self.cmake_python_hints
return args
diff --git a/var/spack/repos/builtin/packages/migrate/package.py b/var/spack/repos/builtin/packages/migrate/package.py
index 3f30d5511e..82ae392300 100644
--- a/var/spack/repos/builtin/packages/migrate/package.py
+++ b/var/spack/repos/builtin/packages/migrate/package.py
@@ -8,32 +8,31 @@ from spack.package import *
class Migrate(AutotoolsPackage):
"""Migrate estimates effective population sizes and past migration rates
- between n population assuming a migration matrix model with asymmetric
- migration rates and different subpopulation sizes"""
+ between n population assuming a migration matrix model with asymmetric
+ migration rates and different subpopulation sizes"""
homepage = "https://popgen.sc.fsu.edu/"
- url = "https://popgen.sc.fsu.edu/currentversions/migrate-3.6.11.src.tar.gz"
+ url = "https://popgen.sc.fsu.edu/currentversions/migrate-3.6.11.src.tar.gz"
- version('3.6.11', sha256='a9ba06a4e995a45b8d04037f5f2da23e1fe64a2f3565189bdd50c62c6fe01fb8')
+ version("3.6.11", sha256="a9ba06a4e995a45b8d04037f5f2da23e1fe64a2f3565189bdd50c62c6fe01fb8")
- variant('mpi', default=False,
- description='Build MPI binaries')
+ variant("mpi", default=False, description="Build MPI binaries")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('zlib', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("zlib", type="link")
- depends_on('openmpi', type=('build', 'link', 'run'), when='+mpi')
+ depends_on("openmpi", type=("build", "link", "run"), when="+mpi")
- configure_directory = 'src'
+ configure_directory = "src"
def configure_args(self):
- return ['--with-zlib=system']
+ return ["--with-zlib=system"]
def build(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
# this software is written with parts both in C and C++.
# it tries to link using gcc which causes problems, so this package
# explicitly links with g++ (CXX) instead.
@@ -42,34 +41,37 @@ class Migrate(AutotoolsPackage):
# so the package uses a custom filter by replacing substrings
# in the Makefile.
- mfc = ''
- with open('Makefile') as m:
+ mfc = ""
+ with open("Makefile") as m:
mfc = mfc_old = m.read()
# replace linking step
- mfc = mfc.replace('$(NAME): $(PRODUCT_DEPENDS)\n\t$(CC)',
- '$(NAME): $(PRODUCT_DEPENDS)\n\t$(CXX)')
- mfc = mfc.replace('$(MPINAME): $(PRODUCT_DEPENDS)\n\t$(CC)',
- '$(MPINAME): $(PRODUCT_DEPENDS)\n\t$(CXX)')
+ mfc = mfc.replace(
+ "$(NAME): $(PRODUCT_DEPENDS)\n\t$(CC)", "$(NAME): $(PRODUCT_DEPENDS)\n\t$(CXX)"
+ )
+ mfc = mfc.replace(
+ "$(MPINAME): $(PRODUCT_DEPENDS)\n\t$(CC)",
+ "$(MPINAME): $(PRODUCT_DEPENDS)\n\t$(CXX)",
+ )
# make sure the replace worked
- if (mfc == mfc_old):
- raise InstallError('Failed to update linker command')
+ if mfc == mfc_old:
+ raise InstallError("Failed to update linker command")
# don't try to install MPI binaries that aren't there
- if '+mpi' not in spec:
- line = '$(INSTALL) $(IFLAGS) $(MPINAME) $(INSTALLDIR)'
- mfc = mfc.replace(line, '')
+ if "+mpi" not in spec:
+ line = "$(INSTALL) $(IFLAGS) $(MPINAME) $(INSTALLDIR)"
+ mfc = mfc.replace(line, "")
# write modified makefile back
- with open('Makefile', 'w') as m:
+ with open("Makefile", "w") as m:
m.write(mfc)
make()
- if '+mpi' in spec:
- make('mpis')
+ if "+mpi" in spec:
+ make("mpis")
def install(self, spec, prefix):
mkdirp(prefix.man)
- with working_dir('src'):
- make('install')
+ with working_dir("src"):
+ make("install")
diff --git a/var/spack/repos/builtin/packages/mii/package.py b/var/spack/repos/builtin/packages/mii/package.py
index cbb3c4ae95..8907363584 100644
--- a/var/spack/repos/builtin/packages/mii/package.py
+++ b/var/spack/repos/builtin/packages/mii/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Mii(MakefilePackage):
"""Mii is an inverted indexing system for environment modules.
- After installation you will no longer need to load modules to run
- applications.
+ After installation you will no longer need to load modules to run
+ applications.
- NOTE: Additional steps are required after installing the
- Spack package to enable Mii in your shell. Please see the README
- on the homepage for more information."""
+ NOTE: Additional steps are required after installing the
+ Spack package to enable Mii in your shell. Please see the README
+ on the homepage for more information."""
homepage = "https://github.com/codeandkey/mii"
- url = "https://github.com/codeandkey/mii/archive/v1.0.4.tar.gz"
+ url = "https://github.com/codeandkey/mii/archive/v1.0.4.tar.gz"
- version('1.0.4', sha256='3c4e7e6e8c21969da8dade05fecab35be61f2bb82d75eeaf19db8cc97f8058b5')
+ version("1.0.4", sha256="3c4e7e6e8c21969da8dade05fecab35be61f2bb82d75eeaf19db8cc97f8058b5")
def setup_build_environment(self, env):
- env.set('PREFIX', self.prefix)
+ env.set("PREFIX", self.prefix)
diff --git a/var/spack/repos/builtin/packages/millepede/package.py b/var/spack/repos/builtin/packages/millepede/package.py
index 0b4a7c3a5b..5d875af38f 100644
--- a/var/spack/repos/builtin/packages/millepede/package.py
+++ b/var/spack/repos/builtin/packages/millepede/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Millepede(MakefilePackage):
"""Millepede II is a package for linear least squares fits
- with a large number of parameters. Developed for the
- alignment and calibration of tracking detectors."""
+ with a large number of parameters. Developed for the
+ alignment and calibration of tracking detectors."""
homepage = "https://gitlab.desy.de/claus.kleinwort/millepede-ii"
- url = "https://gitlab.desy.de/claus.kleinwort/millepede-ii/-/archive/V04-11-01/millepede-ii-V04-11-01.tar.gz"
+ url = "https://gitlab.desy.de/claus.kleinwort/millepede-ii/-/archive/V04-11-01/millepede-ii-V04-11-01.tar.gz"
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
parallel = False
- version('04-11-01', sha256='9869eb84d8d07cecfab15c396f3faa36aef10906e39f8641c48b58e0325b3205')
+ version("04-11-01", sha256="9869eb84d8d07cecfab15c396f3faa36aef10906e39f8641c48b58e0325b3205")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
- make('install', 'PREFIX=' + prefix)
+ make("install", "PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/mimalloc/package.py b/var/spack/repos/builtin/packages/mimalloc/package.py
index ca254f6c80..0bc0774c24 100644
--- a/var/spack/repos/builtin/packages/mimalloc/package.py
+++ b/var/spack/repos/builtin/packages/mimalloc/package.py
@@ -12,15 +12,15 @@ class Mimalloc(CMakePackage):
homepage = "https://microsoft.github.io/mimalloc"
url = "https://github.com/microsoft/mimalloc/archive/v0.0.0.tar.gz"
git = "https://github.com/microsoft/mimalloc.git"
- maintainers = ['msimberg']
+ maintainers = ["msimberg"]
- version('dev-slice', branch='dev-slice')
- version('dev', branch='dev')
- version('master', branch='master')
- version('2.0.6', sha256='9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5')
- version('1.7.6', sha256='d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da')
+ version("dev-slice", branch="dev-slice")
+ version("dev", branch="dev")
+ version("master", branch="master")
+ version("2.0.6", sha256="9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5")
+ version("1.7.6", sha256="d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da")
- depends_on('cmake@3.0:', type='build')
+ depends_on("cmake@3.0:", type="build")
libs_values = ("shared", "static", "object")
variant(
@@ -105,12 +105,8 @@ class Mimalloc(CMakePackage):
def cmake_args(self):
args = [
- self.define("MI_BUILD_%s" % lib.upper(),
- lib in self.spec.variants["libs"].value)
+ self.define("MI_BUILD_%s" % lib.upper(), lib in self.spec.variants["libs"].value)
for lib in self.libs_values
]
- args += [
- self.define_from_variant("MI_%s" % k.upper(), k)
- for k in self.mimalloc_options
- ]
+ args += [self.define_from_variant("MI_%s" % k.upper(), k) for k in self.mimalloc_options]
return args
diff --git a/var/spack/repos/builtin/packages/minc-toolkit/package.py b/var/spack/repos/builtin/packages/minc-toolkit/package.py
index 293abaadae..30273d4afc 100644
--- a/var/spack/repos/builtin/packages/minc-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/minc-toolkit/package.py
@@ -10,37 +10,36 @@ class MincToolkit(CMakePackage):
"""Bundles multiple MINC-related packages"""
homepage = "https://github.com/BIC-MNI/minc-toolkit-v2"
- git = "https://github.com/BIC-MNI/minc-toolkit-v2.git"
+ git = "https://github.com/BIC-MNI/minc-toolkit-v2.git"
- version('1.9.18.2', commit="b98e4972bdac2b78e3c1e412d75c97e2e7c5f6b9",
- submodules=True)
- version('1.9.18.1', commit="38597c464b6e93eda680ab4a9e903366d53d7737",
- submodules=True)
+ version("1.9.18.2", commit="b98e4972bdac2b78e3c1e412d75c97e2e7c5f6b9", submodules=True)
+ version("1.9.18.1", commit="38597c464b6e93eda680ab4a9e903366d53d7737", submodules=True)
- variant('shared', default=True,
- description="Build shared libraries")
- variant('visualisation', default=False,
- description="Build visual tools (Display, register, etc.)")
+ variant("shared", default=True, description="Build shared libraries")
+ variant(
+ "visualisation", default=False, description="Build visual tools (Display, register, etc.)"
+ )
- depends_on('perl')
+ depends_on("perl")
# included Perl packages are not added to the Perl path by default.
# rather than inheriting from both CMakePackage and PerlPackage,
# it seems clean just to add them as dependencies:
- depends_on('perl-text-format', type=('build', 'run'))
- depends_on('perl-getopt-tabular', type=('build', 'run'))
- depends_on('perl-mni-perllib', type=('build', 'run'))
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('zlib', type='link')
- depends_on('freeglut', when="+visualisation")
+ depends_on("perl-text-format", type=("build", "run"))
+ depends_on("perl-getopt-tabular", type=("build", "run"))
+ depends_on("perl-mni-perllib", type=("build", "run"))
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("zlib", type="link")
+ depends_on("freeglut", when="+visualisation")
def cmake_args(self):
- return [self.define_from_variant('MT_BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('MT_BUILD_VISUAL_TOOLS', 'visualisation'),
- # newer ANTs packaged separately
- "-DMT_BUILD_ANTS=OFF",
- # newer c3d packaged separately
- "-DMT_BUILD_C3D=OFF",
- # should be packaged separately with newer ITK
- "-DMT_BUILD_ELASTIX=OFF"
- ]
+ return [
+ self.define_from_variant("MT_BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("MT_BUILD_VISUAL_TOOLS", "visualisation"),
+ # newer ANTs packaged separately
+ "-DMT_BUILD_ANTS=OFF",
+ # newer c3d packaged separately
+ "-DMT_BUILD_C3D=OFF",
+ # should be packaged separately with newer ITK
+ "-DMT_BUILD_ELASTIX=OFF",
+ ]
diff --git a/var/spack/repos/builtin/packages/minced/package.py b/var/spack/repos/builtin/packages/minced/package.py
index a79cb2ee9d..934197329e 100644
--- a/var/spack/repos/builtin/packages/minced/package.py
+++ b/var/spack/repos/builtin/packages/minced/package.py
@@ -13,16 +13,16 @@ class Minced(Package):
800 bp."""
homepage = "https://github.com/ctSkennerton/minced"
- url = "https://github.com/ctSkennerton/minced/archive/0.2.0.tar.gz"
+ url = "https://github.com/ctSkennerton/minced/archive/0.2.0.tar.gz"
- version('0.3.2', sha256='334aee43292d0b657c4849f818ddfb3ac7811eb505502bf24a01d66719084b44')
- version('0.2.0', sha256='e1ca61e0307e6a2a2480bc0a1291a2c677110f34c3247d4773fdba7e95a6b573')
- version('0.1.6', sha256='035e343591b4595c571e17b0b3f526a01a23c3a47ebafb66f20ba667b29b3ed7')
+ version("0.3.2", sha256="334aee43292d0b657c4849f818ddfb3ac7811eb505502bf24a01d66719084b44")
+ version("0.2.0", sha256="e1ca61e0307e6a2a2480bc0a1291a2c677110f34c3247d4773fdba7e95a6b573")
+ version("0.1.6", sha256="035e343591b4595c571e17b0b3f526a01a23c3a47ebafb66f20ba667b29b3ed7")
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
make()
mkdirp(prefix.bin)
- install('minced', prefix.bin)
- install('minced.jar', prefix.bin)
+ install("minced", prefix.bin)
+ install("minced.jar", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mindthegap/package.py b/var/spack/repos/builtin/packages/mindthegap/package.py
index 34a6fd690c..97e012f881 100644
--- a/var/spack/repos/builtin/packages/mindthegap/package.py
+++ b/var/spack/repos/builtin/packages/mindthegap/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Mindthegap(CMakePackage):
"""MindTheGap is a software that performs integrated detection and
- assembly of genomic insertion variants in NGS read datasets with
- respect to a reference genome."""
+ assembly of genomic insertion variants in NGS read datasets with
+ respect to a reference genome."""
homepage = "https://gatb.inria.fr/software/mind-the-gap/"
- git = "https://github.com/GATB/MindTheGap.git"
+ git = "https://github.com/GATB/MindTheGap.git"
- version('2.0.2', tags='v2.0.2', submodules=True)
+ version("2.0.2", tags="v2.0.2", submodules=True)
- depends_on('zlib')
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/miniaero/package.py b/var/spack/repos/builtin/packages/miniaero/package.py
index 9aecd78279..9ec24722eb 100644
--- a/var/spack/repos/builtin/packages/miniaero/package.py
+++ b/var/spack/repos/builtin/packages/miniaero/package.py
@@ -9,25 +9,24 @@ from spack.package import *
class Miniaero(MakefilePackage):
"""Proxy Application. MiniAero is a mini-application for the evaulation
- of programming models and hardware for next generation platforms.
+ of programming models and hardware for next generation platforms.
"""
homepage = "https://mantevo.org"
- git = "https://github.com/Mantevo/miniAero.git"
+ git = "https://github.com/Mantevo/miniAero.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('2016-11-11', commit='f46d135479a5be19ec5d146ccaf0e581aeff4596')
+ version("2016-11-11", commit="f46d135479a5be19ec5d146ccaf0e581aeff4596")
- depends_on('kokkos-legacy')
+ depends_on("kokkos-legacy")
@property
def build_targets(self):
targets = [
- '--directory=kokkos',
- 'CXX=c++',
- 'KOKKOS_PATH={0}'.format(
- self.spec['kokkos-legacy'].prefix)
+ "--directory=kokkos",
+ "CXX=c++",
+ "KOKKOS_PATH={0}".format(self.spec["kokkos-legacy"].prefix),
]
return targets
@@ -37,7 +36,7 @@ class Miniaero(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('kokkos/miniAero.host', prefix.bin)
- install('kokkos/README', prefix.doc)
- install('kokkos/tests/3D_Sod_Serial/miniaero.inp', prefix.bin)
- install_tree('kokkos/tests', prefix.doc.tests)
+ install("kokkos/miniAero.host", prefix.bin)
+ install("kokkos/README", prefix.doc)
+ install("kokkos/tests/3D_Sod_Serial/miniaero.inp", prefix.bin)
+ install_tree("kokkos/tests", prefix.doc.tests)
diff --git a/var/spack/repos/builtin/packages/miniamr/package.py b/var/spack/repos/builtin/packages/miniamr/package.py
index 16303c6cbb..d809e3dbfc 100644
--- a/var/spack/repos/builtin/packages/miniamr/package.py
+++ b/var/spack/repos/builtin/packages/miniamr/package.py
@@ -9,34 +9,34 @@ from spack.package import *
class Miniamr(MakefilePackage):
"""Proxy Application. 3D stencil calculation with
- Adaptive Mesh Refinement (AMR)
+ Adaptive Mesh Refinement (AMR)
"""
homepage = "https://mantevo.org"
- git = "https://github.com/Mantevo/miniAMR.git"
- url = "https://github.com/Mantevo/miniAMR/archive/v1.4.0.tar.gz"
+ git = "https://github.com/Mantevo/miniAMR.git"
+ url = "https://github.com/Mantevo/miniAMR/archive/v1.4.0.tar.gz"
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('master', branch='master')
- version('1.6.6', sha256='a7f79fae49e433ef8350cbd34cbf57c486089cf7ac0d1f1f3b23c820d3e5bb9f')
- version('1.6.5', sha256='c70f0f648c73ea4497817ceee158334eeb901fc5c32cf804deef3226cd9cf26a')
- version('1.6.4', sha256='807d50608b69fb1a61924718964be96c0a2f9fa2e37fdc027bc3f0f116544732')
- version('1.4.4', sha256='b83f438ff351481b4310c46ddf63b9fffc7f29f916a5717377e72919a5b788b6')
- version('1.4.3', sha256='4c3fbc1662ae3e139669fb3844134486a7488a0b6e085c3b24bebcc8d12d3ac6')
- version('1.4.2', sha256='d2347e0e22a8e79aa0dc3316b67dd7c40dded39d82f6e068e6fb8c9f0766566b')
- version('1.4.1', sha256='dd8e8d9fd0768cb4f2c5d7fe6989dfa6bb95a8461f04deaccdbb50b0dd51e97a')
- version('1.4.0', sha256='f0b959c90416288c5ab51ed86b6ba49bc8a319006c2a74a070c94133267edc6f')
+ version("master", branch="master")
+ version("1.6.6", sha256="a7f79fae49e433ef8350cbd34cbf57c486089cf7ac0d1f1f3b23c820d3e5bb9f")
+ version("1.6.5", sha256="c70f0f648c73ea4497817ceee158334eeb901fc5c32cf804deef3226cd9cf26a")
+ version("1.6.4", sha256="807d50608b69fb1a61924718964be96c0a2f9fa2e37fdc027bc3f0f116544732")
+ version("1.4.4", sha256="b83f438ff351481b4310c46ddf63b9fffc7f29f916a5717377e72919a5b788b6")
+ version("1.4.3", sha256="4c3fbc1662ae3e139669fb3844134486a7488a0b6e085c3b24bebcc8d12d3ac6")
+ version("1.4.2", sha256="d2347e0e22a8e79aa0dc3316b67dd7c40dded39d82f6e068e6fb8c9f0766566b")
+ version("1.4.1", sha256="dd8e8d9fd0768cb4f2c5d7fe6989dfa6bb95a8461f04deaccdbb50b0dd51e97a")
+ version("1.4.0", sha256="f0b959c90416288c5ab51ed86b6ba49bc8a319006c2a74a070c94133267edc6f")
- depends_on('mpi')
+ depends_on("mpi")
@property
def build_targets(self):
targets = []
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
- targets.append('LD={0}'.format(self.spec['mpi'].mpicc))
- targets.append('LDLIBS=-lm')
- targets.append('--directory=ref')
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
+ targets.append("LD={0}".format(self.spec["mpi"].mpicc))
+ targets.append("LDLIBS=-lm")
+ targets.append("--directory=ref")
return targets
@@ -45,9 +45,9 @@ class Miniamr(MakefilePackage):
mkdir(prefix.bin)
mkdir(prefix.docs)
- if spec.satisfies('@1.6.4:'):
- install('ref/miniAMR.x', prefix.bin)
+ if spec.satisfies("@1.6.4:"):
+ install("ref/miniAMR.x", prefix.bin)
else:
- install('ref/ma.x', prefix.bin)
+ install("ref/ma.x", prefix.bin)
# Install Support Documents
- install('ref/README', prefix.docs)
+ install("ref/README", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/miniapp-ascent/package.py b/var/spack/repos/builtin/packages/miniapp-ascent/package.py
index 02f9bb3efb..1105e1beba 100644
--- a/var/spack/repos/builtin/packages/miniapp-ascent/package.py
+++ b/var/spack/repos/builtin/packages/miniapp-ascent/package.py
@@ -10,13 +10,12 @@ class MiniappAscent(Package):
"""Pantheon/E4S/Ascent in-situ miniapp example workflow"""
homepage = "https://github.com/cinemascienceworkflows/2021-04_Miniapp-Ascent"
- git = "https://github.com/cinemascienceworkflows/2021-04_Miniapp-Ascent.git"
- url = "https://github.com/cinemascienceworkflows/2021-04_Miniapp-Ascent/archive/refs/heads/master.zip"
+ git = "https://github.com/cinemascienceworkflows/2021-04_Miniapp-Ascent.git"
+ url = "https://github.com/cinemascienceworkflows/2021-04_Miniapp-Ascent/archive/refs/heads/master.zip"
- version('master',
- branch='master')
+ version("master", branch="master")
- depends_on("ascent", type=('run'))
+ depends_on("ascent", type=("run"))
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix)
diff --git a/var/spack/repos/builtin/packages/miniasm/package.py b/var/spack/repos/builtin/packages/miniasm/package.py
index c5c38b53b0..2c85f063d8 100644
--- a/var/spack/repos/builtin/packages/miniasm/package.py
+++ b/var/spack/repos/builtin/packages/miniasm/package.py
@@ -11,11 +11,11 @@ class Miniasm(MakefilePackage):
reads."""
homepage = "http://www.example.co://github.com/lh3/miniasm"
- git = "https://github.com/lh3/miniasm.git"
+ git = "https://github.com/lh3/miniasm.git"
- version('2018-3-30', commit='55cf0189e2f7d5bda5868396cebe066eec0a9547')
+ version("2018-3-30", commit="55cf0189e2f7d5bda5868396cebe066eec0a9547")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/miniconda2/package.py b/var/spack/repos/builtin/packages/miniconda2/package.py
index 4f17d84986..04520ddfe1 100644
--- a/var/spack/repos/builtin/packages/miniconda2/package.py
+++ b/var/spack/repos/builtin/packages/miniconda2/package.py
@@ -13,23 +13,51 @@ class Miniconda2(Package):
"""The minimalist bootstrap toolset for conda and Python2."""
homepage = "https://conda.io/miniconda.html"
- url = "https://repo.continuum.io/miniconda/Miniconda2-4.6.14-Linux-x86_64.sh"
-
- version('4.7.12.1', sha256='383fe7b6c2574e425eee3c65533a5101e68a2d525e66356844a80aa02a556695', expand=False)
- version('4.6.14', sha256='3e20425afa1a2a4c45ee30bd168b90ca30a3fdf8598b61cb68432886aadc6f4d', expand=False)
- version('4.5.11', sha256='0e23e8d0a1a14445f78960a66b363b464b889ee3b0e3f275b7ffb836df1cb0c6', expand=False)
- version('4.5.4', sha256='77d95c99996495b9e44db3c3b7d7981143d32d5e9a58709c51d35bf695fda67d', expand=False)
- version('4.3.30', sha256='0891000ca28359e63aa77e613c01f7a88855dedfc0ddc8be31829f3139318cf3', expand=False)
- version('4.3.14', sha256='2dc629843be954fc747f08ffbcb973b5473f6818464b82a00260c38f687e02f1', expand=False)
- version('4.3.11', sha256='fbc77646cc62e39f4aa5dd1dda1c94cc4e0bc3be580b10aa2ca2ae0013456a87', expand=False)
+ url = "https://repo.continuum.io/miniconda/Miniconda2-4.6.14-Linux-x86_64.sh"
+
+ version(
+ "4.7.12.1",
+ sha256="383fe7b6c2574e425eee3c65533a5101e68a2d525e66356844a80aa02a556695",
+ expand=False,
+ )
+ version(
+ "4.6.14",
+ sha256="3e20425afa1a2a4c45ee30bd168b90ca30a3fdf8598b61cb68432886aadc6f4d",
+ expand=False,
+ )
+ version(
+ "4.5.11",
+ sha256="0e23e8d0a1a14445f78960a66b363b464b889ee3b0e3f275b7ffb836df1cb0c6",
+ expand=False,
+ )
+ version(
+ "4.5.4",
+ sha256="77d95c99996495b9e44db3c3b7d7981143d32d5e9a58709c51d35bf695fda67d",
+ expand=False,
+ )
+ version(
+ "4.3.30",
+ sha256="0891000ca28359e63aa77e613c01f7a88855dedfc0ddc8be31829f3139318cf3",
+ expand=False,
+ )
+ version(
+ "4.3.14",
+ sha256="2dc629843be954fc747f08ffbcb973b5473f6818464b82a00260c38f687e02f1",
+ expand=False,
+ )
+ version(
+ "4.3.11",
+ sha256="fbc77646cc62e39f4aa5dd1dda1c94cc4e0bc3be580b10aa2ca2ae0013456a87",
+ expand=False,
+ )
def install(self, spec, prefix):
# peel the name of the script out of the pathname of the
# downloaded file
dir, script = split(self.stage.archive_file)
- bash = which('bash')
- bash(script, '-b', '-f', '-p', self.prefix)
+ bash = which("bash")
+ bash(script, "-b", "-f", "-p", self.prefix)
def setup_run_environment(self, env):
- filename = self.prefix.etc.join('profile.d').join('conda.sh')
+ filename = self.prefix.etc.join("profile.d").join("conda.sh")
env.extend(EnvironmentModifications.from_sourcing_file(filename))
diff --git a/var/spack/repos/builtin/packages/miniconda3/package.py b/var/spack/repos/builtin/packages/miniconda3/package.py
index dee3581975..b9e3dce380 100644
--- a/var/spack/repos/builtin/packages/miniconda3/package.py
+++ b/var/spack/repos/builtin/packages/miniconda3/package.py
@@ -10,27 +10,70 @@ from spack.package import *
from spack.util.environment import EnvironmentModifications
_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')},
- '4.8.2': {
- 'Linux-x86_64': ('5bbb193fd201ebe25f4aeb3c58ba83feced6a25982ef4afa86d5506c3656c142', 'https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh')},
- '4.7.12.1': {
- 'Linux-x86_64': ('bfe34e1fa28d6d75a7ad05fd02fa5472275673d5f5621b77380898dee1be15d2', 'https://repo.continuum.io/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh')},
- '4.6.14': {
- 'Linux-x86_64': ('0d6b23895a91294a4924bd685a3a1f48e35a17970a073cd2f684ffe2c31fc4be', 'https://repo.continuum.io/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh')},
- '4.5.11': {
- 'Linux-x86_64': ('ea4594241e13a2671c5b158b3b813f0794fe58d514795fbf72a1aad24db918cf', 'https://repo.continuum.io/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh')},
- '4.5.4': {
- 'Linux-x86_64': ('80ecc86f8c2f131c5170e43df489514f80e3971dd105c075935470bbf2476dea', 'https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh')},
- '4.3.30': {
- 'Linux-x86_64': ('66c822dfe76636b4cc2ae5604816e0e723aa01620f50087f06410ecf5bfdf38c', 'https://repo.continuum.io/miniconda/Miniconda3-4.3.30-Linux-x86_64.sh')},
- '4.3.14': {
- 'Linux-x86_64': ('902f31a46b4a05477a9862485be5f84af761a444f8813345ff8dad8f6d3bccb2', 'https://repo.continuum.io/miniconda/Miniconda3-4.3.14-Linux-x86_64.sh')},
- '4.3.11': {
- 'Linux-x86_64': ('b9fe70ce7b6fa8df05abfb56995959b897d0365299f5046063bc236843474fb8', 'https://repo.continuum.io/miniconda/Miniconda3-4.3.11-Linux-x86_64.sh')},
+ "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",
+ ),
+ },
+ "4.8.2": {
+ "Linux-x86_64": (
+ "5bbb193fd201ebe25f4aeb3c58ba83feced6a25982ef4afa86d5506c3656c142",
+ "https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh",
+ )
+ },
+ "4.7.12.1": {
+ "Linux-x86_64": (
+ "bfe34e1fa28d6d75a7ad05fd02fa5472275673d5f5621b77380898dee1be15d2",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh",
+ )
+ },
+ "4.6.14": {
+ "Linux-x86_64": (
+ "0d6b23895a91294a4924bd685a3a1f48e35a17970a073cd2f684ffe2c31fc4be",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh",
+ )
+ },
+ "4.5.11": {
+ "Linux-x86_64": (
+ "ea4594241e13a2671c5b158b3b813f0794fe58d514795fbf72a1aad24db918cf",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh",
+ )
+ },
+ "4.5.4": {
+ "Linux-x86_64": (
+ "80ecc86f8c2f131c5170e43df489514f80e3971dd105c075935470bbf2476dea",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh",
+ )
+ },
+ "4.3.30": {
+ "Linux-x86_64": (
+ "66c822dfe76636b4cc2ae5604816e0e723aa01620f50087f06410ecf5bfdf38c",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.3.30-Linux-x86_64.sh",
+ )
+ },
+ "4.3.14": {
+ "Linux-x86_64": (
+ "902f31a46b4a05477a9862485be5f84af761a444f8813345ff8dad8f6d3bccb2",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.3.14-Linux-x86_64.sh",
+ )
+ },
+ "4.3.11": {
+ "Linux-x86_64": (
+ "b9fe70ce7b6fa8df05abfb56995959b897d0365299f5046063bc236843474fb8",
+ "https://repo.continuum.io/miniconda/Miniconda3-4.3.11-Linux-x86_64.sh",
+ )
+ },
}
@@ -49,9 +92,9 @@ class Miniconda3(Package):
# peel the name of the script out of the pathname of the
# downloaded file
dir, script = split(self.stage.archive_file)
- bash = which('bash')
- bash(script, '-b', '-f', '-p', self.prefix)
+ bash = which("bash")
+ bash(script, "-b", "-f", "-p", self.prefix)
def setup_run_environment(self, env):
- filename = self.prefix.etc.join('profile.d').join('conda.sh')
+ filename = self.prefix.etc.join("profile.d").join("conda.sh")
env.extend(EnvironmentModifications.from_sourcing_file(filename))
diff --git a/var/spack/repos/builtin/packages/minife/package.py b/var/spack/repos/builtin/packages/minife/package.py
index 22ec325320..e2ab45f942 100644
--- a/var/spack/repos/builtin/packages/minife/package.py
+++ b/var/spack/repos/builtin/packages/minife/package.py
@@ -8,39 +8,41 @@ from spack.package import *
class Minife(MakefilePackage):
"""Proxy Application. MiniFE is an proxy application
- for unstructured implicit finite element codes.
+ for unstructured implicit finite element codes.
"""
homepage = "https://mantevo.org/"
- url = "https://github.com/Mantevo/miniFE/archive/v2.1.0.tar.gz"
+ url = "https://github.com/Mantevo/miniFE/archive/v2.1.0.tar.gz"
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('2.1.0', sha256='59f4c56d73d2a758cba86939db2d36e12705282cb4174ce78223d984527f5d15')
+ version("2.1.0", sha256="59f4c56d73d2a758cba86939db2d36e12705282cb4174ce78223d984527f5d15")
- variant('build', default='ref', description='Type of Parallelism',
- values=('ref', 'openmp', 'qthreads', 'kokkos'))
+ variant(
+ "build",
+ default="ref",
+ description="Type of Parallelism",
+ values=("ref", "openmp", "qthreads", "kokkos"),
+ )
- depends_on('mpi')
- depends_on('qthreads', when='build=qthreads')
+ depends_on("mpi")
+ depends_on("qthreads", when="build=qthreads")
@property
def build_targets(self):
targets = [
- '--directory={0}/src'.format(self.spec.variants['build'].value),
- 'CXX={0}'.format(self.spec['mpi'].mpicxx),
- 'CC={0}'.format(self.spec['mpi'].mpicc)
+ "--directory={0}/src".format(self.spec.variants["build"].value),
+ "CXX={0}".format(self.spec["mpi"].mpicxx),
+ "CC={0}".format(self.spec["mpi"].mpicc),
]
return targets
def edit(self, spec, prefix):
- makefile = FileFilter('{0}/src/Makefile'.format(
- self.spec.variants['build'].value))
+ makefile = FileFilter("{0}/src/Makefile".format(self.spec.variants["build"].value))
- makefile.filter('-fopenmp', self.compiler.openmp_flag, string=True)
+ makefile.filter("-fopenmp", self.compiler.openmp_flag, string=True)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('{0}/src/miniFE.x'.format(self.spec.variants['build'].value),
- prefix.bin)
+ install("{0}/src/miniFE.x".format(self.spec.variants["build"].value), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/miniforge3/package.py b/var/spack/repos/builtin/packages/miniforge3/package.py
index 45d43e44eb..8fec275432 100644
--- a/var/spack/repos/builtin/packages/miniforge3/package.py
+++ b/var/spack/repos/builtin/packages/miniforge3/package.py
@@ -10,33 +10,43 @@ class Miniforge3(Package):
"""Miniforge3 is a minimal installer for conda specific to conda-forge."""
homepage = "https://github.com/conda-forge/miniforge"
- url = "https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-x86_64.sh"
+ url = "https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-x86_64.sh"
- version('4.8.3-4-Linux-x86_64',
- url='https://github.com/conda-forge/miniforge/releases/download/4.8.3-4/Miniforge3-4.8.3-4-Linux-x86_64.sh',
- sha256='24951262a126582f5f2e1cf82c9cd0fa20e936ef3309fdb8397175f29e647646',
- expand=False)
- version('4.8.3-4-Linux-aarch64',
- url='https://github.com/conda-forge/miniforge/releases/download/4.8.3-4/Miniforge3-4.8.3-4-Linux-aarch64.sh',
- sha256='52a8dde14ecfb633800a2de26543a78315058e30f5883701da1ad2f2d5ba9ed8',
- expand=False)
- version('4.8.3-2-Linux-x86_64',
- url='https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-x86_64.sh',
- sha256='c8e5b894fe91ce0f86e61065d2247346af107f8d53de0ad89ec848701c4ec1f9',
- expand=False)
- version('4.8.3-2-Linux-aarch64',
- url='https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-aarch64.sh',
- sha256='bfefc0ede6354568978b4198607edd7f17c2f50ca4c6a47e9f22f8c257c8230a',
- expand=False)
- version('4.8.3-2-MacOSX-x86_64',
- url='https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-MacOSX-x86_64.sh',
- sha256='25ca082ab00a776db356f9bbc660edf6d24659e2aec1cbec5fd4ce992d4d193d',
- expand=False)
+ version(
+ "4.8.3-4-Linux-x86_64",
+ url="https://github.com/conda-forge/miniforge/releases/download/4.8.3-4/Miniforge3-4.8.3-4-Linux-x86_64.sh",
+ sha256="24951262a126582f5f2e1cf82c9cd0fa20e936ef3309fdb8397175f29e647646",
+ expand=False,
+ )
+ version(
+ "4.8.3-4-Linux-aarch64",
+ url="https://github.com/conda-forge/miniforge/releases/download/4.8.3-4/Miniforge3-4.8.3-4-Linux-aarch64.sh",
+ sha256="52a8dde14ecfb633800a2de26543a78315058e30f5883701da1ad2f2d5ba9ed8",
+ expand=False,
+ )
+ version(
+ "4.8.3-2-Linux-x86_64",
+ url="https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-x86_64.sh",
+ sha256="c8e5b894fe91ce0f86e61065d2247346af107f8d53de0ad89ec848701c4ec1f9",
+ expand=False,
+ )
+ version(
+ "4.8.3-2-Linux-aarch64",
+ url="https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-Linux-aarch64.sh",
+ sha256="bfefc0ede6354568978b4198607edd7f17c2f50ca4c6a47e9f22f8c257c8230a",
+ expand=False,
+ )
+ version(
+ "4.8.3-2-MacOSX-x86_64",
+ url="https://github.com/conda-forge/miniforge/releases/download/4.8.3-2/Miniforge3-4.8.3-2-MacOSX-x86_64.sh",
+ sha256="25ca082ab00a776db356f9bbc660edf6d24659e2aec1cbec5fd4ce992d4d193d",
+ expand=False,
+ )
def install(self, spec, prefix):
mkdirp(prefix)
- pkgname = 'Miniforge3-{0}.sh'.format(self.version)
- chmod = which('chmod')
- chmod('+x', pkgname)
- sh = which('sh')
- sh('./{0}'.format(pkgname), '-b', '-f', '-s', '-p', prefix)
+ pkgname = "Miniforge3-{0}.sh".format(self.version)
+ chmod = which("chmod")
+ chmod("+x", pkgname)
+ sh = which("sh")
+ sh("./{0}".format(pkgname), "-b", "-f", "-s", "-p", prefix)
diff --git a/var/spack/repos/builtin/packages/minigan/package.py b/var/spack/repos/builtin/packages/minigan/package.py
index 35554849b0..2e9e1b8005 100644
--- a/var/spack/repos/builtin/packages/minigan/package.py
+++ b/var/spack/repos/builtin/packages/minigan/package.py
@@ -12,17 +12,17 @@ class Minigan(Package):
Sandia National Laboratories."""
homepage = "https://github.com/SandiaMLMiniApps/miniGAN"
- url = "https://github.com/SandiaMLMiniApps/miniGAN/archive/1.0.0.tar.gz"
+ url = "https://github.com/SandiaMLMiniApps/miniGAN/archive/1.0.0.tar.gz"
- version('1.0.0', sha256='ef6d5def9c7040af520acc64b7a8b6c8ec4b7901721b11b0cb25a583ea0c8ae3')
+ version("1.0.0", sha256="ef6d5def9c7040af520acc64b7a8b6c8ec4b7901721b11b0cb25a583ea0c8ae3")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-horovod@master', type=('build', 'run'))
- depends_on('py-torchvision', type=('build', 'run'))
- depends_on('py-matplotlib@3.0.0', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-horovod@master", type=("build", "run"))
+ depends_on("py-torchvision", type=("build", "run"))
+ depends_on("py-matplotlib@3.0.0", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/minighost/package.py b/var/spack/repos/builtin/packages/minighost/package.py
index c8e0ee52e3..2a2e9e2ca8 100644
--- a/var/spack/repos/builtin/packages/minighost/package.py
+++ b/var/spack/repos/builtin/packages/minighost/package.py
@@ -11,52 +11,51 @@ from spack.package import *
class Minighost(MakefilePackage):
"""Proxy Application. A Finite Difference proxy
- application which implements a difference stencil
- across a homogenous three dimensional domain.
+ application which implements a difference stencil
+ across a homogenous three dimensional domain.
"""
homepage = "https://mantevo.org"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniGhost/miniGhost_1.0.1.tar.gz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniGhost/miniGhost_1.0.1.tar.gz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0.1', sha256='713f305559d892923cde0ad3cbc53c7cefc52a684f65275ccc9fb0b1d049cccc')
+ version("1.0.1", sha256="713f305559d892923cde0ad3cbc53c7cefc52a684f65275ccc9fb0b1d049cccc")
- variant('mpi', default=True, description='Enable MPI Support')
+ variant("mpi", default=True, description="Enable MPI Support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
parallel = False
@property
def build_targets(self):
- targets = ['--directory=miniGhost_ref']
+ targets = ["--directory=miniGhost_ref"]
- if '+mpi' in self.spec:
- targets.append('PROTOCOL=-D_MG_MPI')
- targets.append('FC={0}'.format(self.spec['mpi'].mpif77))
+ if "+mpi" in self.spec:
+ targets.append("PROTOCOL=-D_MG_MPI")
+ targets.append("FC={0}".format(self.spec["mpi"].mpif77))
# CC is only used for linking, use it to pull in the right f77 libs
- targets.append('CC={0}'.format(self.spec['mpi'].mpif77))
+ targets.append("CC={0}".format(self.spec["mpi"].mpif77))
else:
- targets.append('PROTOCOL=-D_MG_SERIAL')
- targets.append('FC=f77')
- targets.append('CC=cc')
-
- if '%gcc' in self.spec:
- targets.append('COMPILER_SUITE=gnu')
- targets.append('LIBS=-lm -lgfortran')
- elif '%cce' in self.spec:
- targets.append('COMPILER_SUITE=cray')
- elif '%intel' in self.spec:
- targets.append('COMPILER_SUITE=intel')
- elif '%pgi' in self.spec:
- targets.append('COMPILER_SUITE=pgi')
+ targets.append("PROTOCOL=-D_MG_SERIAL")
+ targets.append("FC=f77")
+ targets.append("CC=cc")
+
+ if "%gcc" in self.spec:
+ targets.append("COMPILER_SUITE=gnu")
+ targets.append("LIBS=-lm -lgfortran")
+ elif "%cce" in self.spec:
+ targets.append("COMPILER_SUITE=cray")
+ elif "%intel" in self.spec:
+ targets.append("COMPILER_SUITE=intel")
+ elif "%pgi" in self.spec:
+ targets.append("COMPILER_SUITE=pgi")
return targets
def edit(self, spec, prefix):
- inner_tar = tarfile.open(
- 'miniGhost_ref_{0}.tar.gz'.format(self.version.up_to(3)))
+ inner_tar = tarfile.open("miniGhost_ref_{0}.tar.gz".format(self.version.up_to(3)))
inner_tar.extractall()
def install(self, spec, prefix):
@@ -64,13 +63,13 @@ class Minighost(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('miniGhost_ref/miniGhost.x', prefix.bin)
- install('miniGhost_ref/default-settings.h', prefix.bin)
+ install("miniGhost_ref/miniGhost.x", prefix.bin)
+ install("miniGhost_ref/default-settings.h", prefix.bin)
- if '+mpi' in spec:
- install('miniGhost_ref/runtest.mpi', prefix.bin)
- install('miniGhost_ref/runtest.mpi.ds', prefix.bin)
+ if "+mpi" in spec:
+ install("miniGhost_ref/runtest.mpi", prefix.bin)
+ install("miniGhost_ref/runtest.mpi.ds", prefix.bin)
else:
- install('miniGhost_ref/runtest.serial', prefix.bin)
+ install("miniGhost_ref/runtest.serial", prefix.bin)
- install('README', prefix.doc)
+ install("README", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/minigmg/package.py b/var/spack/repos/builtin/packages/minigmg/package.py
index ebcb0857f0..0d2781f883 100644
--- a/var/spack/repos/builtin/packages/minigmg/package.py
+++ b/var/spack/repos/builtin/packages/minigmg/package.py
@@ -20,80 +20,87 @@ class Minigmg(Package):
and algorithmic tradeoffs inherit in multigrid. miniGMG was developed
under the CACHE Joint Math-CS Institute.
- Note, miniGMG code has been supersceded by HPGMG. """
+ Note, miniGMG code has been supersceded by HPGMG."""
- homepage = "http://crd.lbl.gov/departments/computer-science/PAR/research/previous-projects/miniGMG/"
- url = "https://crd.lbl.gov/assets/Uploads/FTG/Projects/miniGMG/miniGMG.tar.gz"
+ homepage = (
+ "http://crd.lbl.gov/departments/computer-science/PAR/research/previous-projects/miniGMG/"
+ )
+ url = "https://crd.lbl.gov/assets/Uploads/FTG/Projects/miniGMG/miniGMG.tar.gz"
- version('master', sha256='1c2d27496a881f655f5e849d6a7a132625e535739f82575991c511cc2cf899ac')
+ version("master", sha256="1c2d27496a881f655f5e849d6a7a132625e535739f82575991c511cc2cf899ac")
- variant('vec', default='ompif', description='Which method of vectorisation to use',
- values=('ompif', 'sse', 'avx', 'simde'), multi=False)
+ variant(
+ "vec",
+ default="ompif",
+ description="Which method of vectorisation to use",
+ values=("ompif", "sse", "avx", "simde"),
+ multi=False,
+ )
- variant('opt', default=False, description='Enable optimization flags for improved OpenMP')
+ variant("opt", default=False, description="Enable optimization flags for improved OpenMP")
- depends_on('mpi')
+ depends_on("mpi")
# Set up SIMD Everywhere config
- depends_on('simde', when='vec=simde')
- patch('simde.patch', when='vec=simde')
+ depends_on("simde", when="vec=simde")
+ patch("simde.patch", when="vec=simde")
# Patch to add timer for Aarch64 rather than rdtsc
- patch('aarch64_time.patch', when='target=aarch64:')
+ patch("aarch64_time.patch", when="target=aarch64:")
# Replaces inline with inline static, for correct syntax
- patch('inline_static.patch')
+ patch("inline_static.patch")
def install(self, spec, prefix):
- cc = Executable(spec['mpi'].mpicc)
+ cc = Executable(spec["mpi"].mpicc)
args = []
# Default optimisation level
- if spec.satisfies('+opt'):
- if self.spec.satisfies('%nvhpc'):
- args.append('-fast')
+ if spec.satisfies("+opt"):
+ if self.spec.satisfies("%nvhpc"):
+ args.append("-fast")
else:
- args.append('-Ofast')
+ args.append("-Ofast")
else:
- args.append('-O3')
+ args.append("-O3")
# Add OpenMP flag
args += [self.compiler.openmp_flag]
- args += ['miniGMG.c', 'mg.c', 'box.c', 'solver.c']
+ args += ["miniGMG.c", "mg.c", "box.c", "solver.c"]
# Set the correct operators file - using the vec variant
- if spec.satisfies('vec=sse'):
- args += ['operators.sse.c']
- elif spec.satisfies('vec=avx'):
- args += ['operators.avx.c']
- elif spec.satisfies('vec=simde'):
- args += ['operators.simde.c']
+ if spec.satisfies("vec=sse"):
+ args += ["operators.sse.c"]
+ elif spec.satisfies("vec=avx"):
+ args += ["operators.avx.c"]
+ elif spec.satisfies("vec=simde"):
+ args += ["operators.simde.c"]
else:
- args += ['operators.ompif.c']
+ args += ["operators.ompif.c"]
# Switch out timer file (depends on patch)
- if spec.satisfies('target=aarch64:'):
- args += ['timer.aarch64.c']
+ if spec.satisfies("target=aarch64:"):
+ args += ["timer.aarch64.c"]
else:
- args += ['timer.x86.c']
+ args += ["timer.x86.c"]
- args += ['-D__MPI']
+ args += ["-D__MPI"]
- if spec.satisfies('+opt'):
- args += ['-D__PREFETCH_NEXT_PLANE_FROM_DRAM']
- args += ['-D__FUSION_RESIDUAL_RESTRICTION']
+ if spec.satisfies("+opt"):
+ args += ["-D__PREFETCH_NEXT_PLANE_FROM_DRAM"]
+ args += ["-D__FUSION_RESIDUAL_RESTRICTION"]
else:
- args += ['-D__COLLABORATIVE_THREADING=6']
+ args += ["-D__COLLABORATIVE_THREADING=6"]
- args += ['-D__TEST_MG_CONVERGENCE', '-D__PRINT_NORM', '-D__USE_BICGSTAB']
- args += ['-o', 'run.miniGMG', '-lm']
+ args += ["-D__TEST_MG_CONVERGENCE", "-D__PRINT_NORM", "-D__USE_BICGSTAB"]
+ args += ["-o", "run.miniGMG", "-lm"]
cc(*args)
mkdir(prefix.bin)
- install('run.miniGMG', prefix.bin)
+ install("run.miniGMG", prefix.bin)
mkdir(prefix.jobs)
- install('job*', prefix.jobs)
+ install("job*", prefix.jobs)
diff --git a/var/spack/repos/builtin/packages/minimap2/package.py b/var/spack/repos/builtin/packages/minimap2/package.py
index 1168c74611..6c6d68fd14 100644
--- a/var/spack/repos/builtin/packages/minimap2/package.py
+++ b/var/spack/repos/builtin/packages/minimap2/package.py
@@ -8,29 +8,26 @@ from spack.package import *
class Minimap2(PythonPackage):
"""Minimap2 is a versatile sequence alignment program that aligns DNA or
- mRNA sequences against a large reference database.
- Mappy provides a convenient interface to minimap2."""
+ mRNA sequences against a large reference database.
+ Mappy provides a convenient interface to minimap2."""
homepage = "https://github.com/lh3/minimap2"
- url = "https://github.com/lh3/minimap2/releases/download/v2.2/minimap2-2.2.tar.bz2"
+ url = "https://github.com/lh3/minimap2/releases/download/v2.2/minimap2-2.2.tar.bz2"
- version('2.14', sha256='9088b785bb0c33488ca3a27c8994648ce21a8be54cb117f5ecee26343facd03b')
- version('2.10', sha256='52b36f726ec00bfca4a2ffc23036d1a2b5f96f0aae5a92fd826be6680c481c20')
- version('2.2', sha256='7e8683aa74c4454a8cfe3821f405c4439082e24c152b4b834fdb56a117ecaed9')
+ version("2.14", sha256="9088b785bb0c33488ca3a27c8994648ce21a8be54cb117f5ecee26343facd03b")
+ version("2.10", sha256="52b36f726ec00bfca4a2ffc23036d1a2b5f96f0aae5a92fd826be6680c481c20")
+ version("2.2", sha256="7e8683aa74c4454a8cfe3821f405c4439082e24c152b4b834fdb56a117ecaed9")
- conflicts('target=aarch64:', when='@:2.10')
- depends_on('zlib', type='link')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ conflicts("target=aarch64:", when="@:2.10")
+ depends_on("zlib", type="link")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
- @run_after('install')
+ @run_after("install")
def install_minimap2(self):
make_arg = []
- if self.spec.target.family == 'aarch64':
- make_arg.extend([
- 'arm_neon=1',
- 'aarch64=1'
- ])
+ if self.spec.target.family == "aarch64":
+ make_arg.extend(["arm_neon=1", "aarch64=1"])
make(*make_arg)
mkdirp(prefix.bin)
- install('minimap2', prefix.bin)
+ install("minimap2", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/minimd/package.py b/var/spack/repos/builtin/packages/minimd/package.py
index d5cc6f9612..2f5246bb1f 100644
--- a/var/spack/repos/builtin/packages/minimd/package.py
+++ b/var/spack/repos/builtin/packages/minimd/package.py
@@ -10,48 +10,46 @@ from spack.package import *
class Minimd(MakefilePackage):
"""Proxy Application. A simple proxy for the force computations
- in a typical molecular dynamics applications.
+ in a typical molecular dynamics applications.
"""
homepage = "https://mantevo.org"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniMD/miniMD_1.2.tgz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniMD/miniMD_1.2.tgz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.2', sha256='2874d35b12a15f9e92137e6f2060c1150cff75f8a7b88b255daf130087e5901e')
+ version("1.2", sha256="2874d35b12a15f9e92137e6f2060c1150cff75f8a7b88b255daf130087e5901e")
- depends_on('mpi')
+ depends_on("mpi")
- build_directory = 'miniMD_ref'
+ build_directory = "miniMD_ref"
@property
def build_targets(self):
targets = [
- 'LINK={0}'.format(self.spec['mpi'].mpicxx),
- 'CC={0}'.format(self.spec['mpi'].mpicxx),
- 'CCFLAGS={0} -DMPICH_IGNORE_CXX_SEEK -DNOCHUNK'.format(
- self.compiler.openmp_flag),
- 'EXE=miniMD_mpi',
- 'openmpi'
+ "LINK={0}".format(self.spec["mpi"].mpicxx),
+ "CC={0}".format(self.spec["mpi"].mpicxx),
+ "CCFLAGS={0} -DMPICH_IGNORE_CXX_SEEK -DNOCHUNK".format(self.compiler.openmp_flag),
+ "EXE=miniMD_mpi",
+ "openmpi",
]
return targets
def edit(self, spec, prefix):
- inner_tar = tarfile.open(name='miniMD_{0}_ref.tgz'.format(
- self.version.up_to(2)))
+ inner_tar = tarfile.open(name="miniMD_{0}_ref.tgz".format(self.version.up_to(2)))
inner_tar.extractall()
- if spec.target.family == 'aarch64':
- makefile = FileFilter('miniMD_ref/Makefile.openmpi')
- makefile.filter('-mavx', '')
+ if spec.target.family == "aarch64":
+ makefile = FileFilter("miniMD_ref/Makefile.openmpi")
+ makefile.filter("-mavx", "")
def install(self, spec, prefix):
# Manual Installation
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('miniMD_ref/miniMD_mpi', prefix.bin)
- install('miniMD_ref/in.lj.miniMD', prefix.bin)
- install('miniMD_ref/README', prefix.doc)
- install('miniMD_ref/in.*', prefix.doc)
+ install("miniMD_ref/miniMD_mpi", prefix.bin)
+ install("miniMD_ref/in.lj.miniMD", prefix.bin)
+ install("miniMD_ref/README", prefix.doc)
+ install("miniMD_ref/in.*", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/minio/package.py b/var/spack/repos/builtin/packages/minio/package.py
index 5b139699ad..086d688a24 100644
--- a/var/spack/repos/builtin/packages/minio/package.py
+++ b/var/spack/repos/builtin/packages/minio/package.py
@@ -13,17 +13,26 @@ class Minio(MakefilePackage):
machine learning, analytics and application data workloads."""
homepage = "https://min.io/"
- url = "https://github.com/minio/minio/archive/RELEASE.2020-07-13T18-09-56Z.tar.gz"
-
- version('2020-07-13T18-09-56Z', sha256='147fca3930389162cc7306a0fa5cf478ee2deba4b31a9317f3d35e82aa58d41e')
- version('2020-07-12T19-14-17Z', sha256='bb8ba5d93215ab37788171d8b9ce68e78d64e7b7c74aea508c15958158d85b03')
- version('2020-07-02T00-15-09Z', sha256='4255c4d95a3e010f16a3f1e974768dc68509075403a97a9b9882f7d9e89fedc5')
-
- depends_on('go', type='build')
+ url = "https://github.com/minio/minio/archive/RELEASE.2020-07-13T18-09-56Z.tar.gz"
+
+ version(
+ "2020-07-13T18-09-56Z",
+ sha256="147fca3930389162cc7306a0fa5cf478ee2deba4b31a9317f3d35e82aa58d41e",
+ )
+ version(
+ "2020-07-12T19-14-17Z",
+ sha256="bb8ba5d93215ab37788171d8b9ce68e78d64e7b7c74aea508c15958158d85b03",
+ )
+ version(
+ "2020-07-02T00-15-09Z",
+ sha256="4255c4d95a3e010f16a3f1e974768dc68509075403a97a9b9882f7d9e89fedc5",
+ )
+
+ depends_on("go", type="build")
def url_for_version(self, version):
- return ("https://github.com/minio/minio/archive/RELEASE.{0}.tar.gz".format(version))
+ return "https://github.com/minio/minio/archive/RELEASE.{0}.tar.gz".format(version)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('minio', prefix.bin)
+ install("minio", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/miniqmc/package.py b/var/spack/repos/builtin/packages/miniqmc/package.py
index 6dd1d52a6c..686f795e3d 100644
--- a/var/spack/repos/builtin/packages/miniqmc/package.py
+++ b/var/spack/repos/builtin/packages/miniqmc/package.py
@@ -8,36 +8,35 @@ from spack.package import *
class Miniqmc(CMakePackage):
"""A simplified real space QMC code for algorithm development,
- performance portability testing, and computer science experiments
+ performance portability testing, and computer science experiments
"""
homepage = "https://github.com/QMCPACK/miniqmc"
- url = "https://github.com/QMCPACK/miniqmc/archive/0.2.0.tar.gz"
+ url = "https://github.com/QMCPACK/miniqmc/archive/0.2.0.tar.gz"
- version('0.4.0', sha256='41ddb5de6dcc85404344c80dc7538aedf5e1f1eb0f2a67ebac069209f7dd11e4')
- version('0.3.0', sha256='3ba494ba1055df91e157cb426d1fbe4192aa3f04b019277d9e571d057664d5a9')
- version('0.2.0', sha256='cdf6fc6df6ccc1e034c62f937c040bfd6a4e65a0974b95f6884edd004ae36ee4')
+ version("0.4.0", sha256="41ddb5de6dcc85404344c80dc7538aedf5e1f1eb0f2a67ebac069209f7dd11e4")
+ version("0.3.0", sha256="3ba494ba1055df91e157cb426d1fbe4192aa3f04b019277d9e571d057664d5a9")
+ version("0.2.0", sha256="cdf6fc6df6ccc1e034c62f937c040bfd6a4e65a0974b95f6884edd004ae36ee4")
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- depends_on('mpi')
- depends_on('lapack')
+ depends_on("mpi")
+ depends_on("lapack")
# Add missing PGI compiler config
- patch('pgi-cmake.patch', when='@:0.4 % nvhpc')
+ patch("pgi-cmake.patch", when="@:0.4 % nvhpc")
def cmake_args(self):
args = [
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx,
- '-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc
+ "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ "-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc,
]
- if self.spec.satisfies('%nvhpc'):
- args.append('-DLAPACK_LIBRARIES={0}'.format(
- self.spec['lapack'].libs.joined(';')))
+ if self.spec.satisfies("%nvhpc"):
+ args.append("-DLAPACK_LIBRARIES={0}".format(self.spec["lapack"].libs.joined(";")))
return args
def install(self, spec, prefix):
- install_tree(join_path(self.build_directory, 'bin'), prefix.bin)
- install_tree(join_path(self.build_directory, 'lib'), prefix.lib)
+ install_tree(join_path(self.build_directory, "bin"), prefix.bin)
+ install_tree(join_path(self.build_directory, "lib"), prefix.lib)
diff --git a/var/spack/repos/builtin/packages/minisign/package.py b/var/spack/repos/builtin/packages/minisign/package.py
index ee3a5cf987..4b57d8f129 100644
--- a/var/spack/repos/builtin/packages/minisign/package.py
+++ b/var/spack/repos/builtin/packages/minisign/package.py
@@ -11,16 +11,15 @@ class Minisign(CMakePackage):
homepage = "https://jedisct1.github.io/minisign/"
url = "https://github.com/jedisct1/minisign/archive/0.7.tar.gz"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('0.9', sha256='caa4b3dd314e065c6f387b2713f7603673e39a8a0b1a76f96ef6c9a5b845da0f')
- version('0.8', sha256='130eb5246076bc7ec42f13495a601382e566bb6733430d40a68de5e43a7f1082')
- version('0.7', sha256='0c9f25ae647b6ba38cf7e6aea1da4e8fb20e1bc64ef0c679da737a38c8ad43ef')
+ version("0.9", sha256="caa4b3dd314e065c6f387b2713f7603673e39a8a0b1a76f96ef6c9a5b845da0f")
+ version("0.8", sha256="130eb5246076bc7ec42f13495a601382e566bb6733430d40a68de5e43a7f1082")
+ version("0.7", sha256="0c9f25ae647b6ba38cf7e6aea1da4e8fb20e1bc64ef0c679da737a38c8ad43ef")
- variant('static', default=True,
- description='builds a static version of the executable')
+ variant("static", default=True, description="builds a static version of the executable")
- depends_on('libsodium')
+ depends_on("libsodium")
def cmake_args(self):
- return [self.define_from_variant('STATIC_LIBSODIUM', 'static')]
+ return [self.define_from_variant("STATIC_LIBSODIUM", "static")]
diff --git a/var/spack/repos/builtin/packages/minismac2d/package.py b/var/spack/repos/builtin/packages/minismac2d/package.py
index 13d91ac3cd..ac5c9db476 100644
--- a/var/spack/repos/builtin/packages/minismac2d/package.py
+++ b/var/spack/repos/builtin/packages/minismac2d/package.py
@@ -9,53 +9,51 @@ from spack.package import *
class Minismac2d(MakefilePackage):
"""Proxy Application. Solves the finite-differenced 2D incompressible
- Navier-Stokes equations with Spalart-Allmaras one-equation
- turbulence model on a structured body conforming grid.
+ Navier-Stokes equations with Spalart-Allmaras one-equation
+ turbulence model on a structured body conforming grid.
"""
homepage = "https://mantevo.org"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniSMAC2D/miniSMAC2D-2.0.tgz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniSMAC2D/miniSMAC2D-2.0.tgz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('2.0', sha256='ec01b74c06a2c0386efbbb61b14305327342a08fb92bf52e76f60a2063adf065')
+ version("2.0", sha256="ec01b74c06a2c0386efbbb61b14305327342a08fb92bf52e76f60a2063adf065")
- depends_on('mpi')
+ depends_on("mpi")
parallel = False
@property
def build_targets(self):
targets = [
- 'CPP=cpp',
- 'FC={0}'.format(self.spec['mpi'].mpifc),
- 'LD={0}'.format(self.spec['mpi'].mpifc),
- 'MPIDIR=-I{0}'.format(self.spec['mpi'].headers.directories[0]),
- 'CPPFLAGS=-P -traditional -DD_PRECISION',
- 'FFLAGS=-O3 -c -g -DD_PRECISION',
- 'LDFLAGS=-O3',
- '--file=Makefile_mpi_only'
+ "CPP=cpp",
+ "FC={0}".format(self.spec["mpi"].mpifc),
+ "LD={0}".format(self.spec["mpi"].mpifc),
+ "MPIDIR=-I{0}".format(self.spec["mpi"].headers.directories[0]),
+ "CPPFLAGS=-P -traditional -DD_PRECISION",
+ "FFLAGS=-O3 -c -g -DD_PRECISION",
+ "LDFLAGS=-O3",
+ "--file=Makefile_mpi_only",
]
return targets
def edit(self, spec, prefix):
# Editing input file to point to installed data files
- param_file = FileFilter('smac2d.in')
- param_file.filter('bcmain_directory=.*', "bcmain_directory='.'")
- param_file.filter('bcmain_filename=.*',
- "bcmain_filename='bcmain.dat_original_119x31'")
- param_file.filter('xygrid_directory=.*', "xygrid_directory='.'")
- param_file.filter('xygrid_filename=.*',
- "xygrid_filename='xy.dat_original_119x31'")
+ param_file = FileFilter("smac2d.in")
+ param_file.filter("bcmain_directory=.*", "bcmain_directory='.'")
+ param_file.filter("bcmain_filename=.*", "bcmain_filename='bcmain.dat_original_119x31'")
+ param_file.filter("xygrid_directory=.*", "xygrid_directory='.'")
+ param_file.filter("xygrid_filename=.*", "xygrid_filename='xy.dat_original_119x31'")
def install(self, spec, prefix):
# Manual Installation
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('smac2d_mpi_only', prefix.bin)
- install('bcmain.dat_original_119x31', prefix.bin)
- install('xy.dat_original_119x31', prefix.bin)
- install('smac2d.in', prefix.bin)
- install('README.txt', prefix.doc)
+ install("smac2d_mpi_only", prefix.bin)
+ install("bcmain.dat_original_119x31", prefix.bin)
+ install("xy.dat_original_119x31", prefix.bin)
+ install("smac2d.in", prefix.bin)
+ install("README.txt", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/minitri/package.py b/var/spack/repos/builtin/packages/minitri/package.py
index 79b97d16ec..c124bb2f7f 100644
--- a/var/spack/repos/builtin/packages/minitri/package.py
+++ b/var/spack/repos/builtin/packages/minitri/package.py
@@ -10,27 +10,27 @@ class Minitri(MakefilePackage):
"""A simple, triangle-based data analytics proxy application."""
homepage = "https://github.com/Mantevo/miniTri"
- url = "https://github.com/Mantevo/miniTri/archive/v1.0.tar.gz"
+ url = "https://github.com/Mantevo/miniTri/archive/v1.0.tar.gz"
- version('1.0', sha256='e340dbb04b7c182804ebf6f5a946a392f1c68b7f798885c091c3f0d8aaa844ce')
+ version("1.0", sha256="e340dbb04b7c182804ebf6f5a946a392f1c68b7f798885c091c3f0d8aaa844ce")
- variant('mpi', default=True, description='Build with MPI support')
+ variant("mpi", default=True, description="Build with MPI support")
- depends_on('mpi', when="+mpi")
+ depends_on("mpi", when="+mpi")
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
@property
def build_targets(self):
targets = []
- if '+mpi' in self.spec:
- targets.append('CCC={0}'.format(self.spec['mpi'].mpicxx))
- targets.append('--directory=miniTri/linearAlgebra/MPI')
+ if "+mpi" in self.spec:
+ targets.append("CCC={0}".format(self.spec["mpi"].mpicxx))
+ targets.append("--directory=miniTri/linearAlgebra/MPI")
else:
- targets.append('CCC={0}'.format(self.compiler.cxx))
- targets.append('--directory=miniTri/linearAlgebra/serial')
+ targets.append("CCC={0}".format(self.compiler.cxx))
+ targets.append("--directory=miniTri/linearAlgebra/serial")
- targets.append('--file=Makefile')
+ targets.append("--file=Makefile")
return targets
def install(self, spec, prefix):
@@ -38,7 +38,7 @@ class Minitri(MakefilePackage):
mkdir(prefix.bin)
mkdir(prefix.doc)
- if '+mpi' in spec:
- install('miniTri/linearAlgebra/MPI/miniTri.exe', prefix.bin)
+ if "+mpi" in spec:
+ install("miniTri/linearAlgebra/MPI/miniTri.exe", prefix.bin)
else:
- install('miniTri/linearAlgebra/serial/miniTri.exe', prefix.bin)
+ install("miniTri/linearAlgebra/serial/miniTri.exe", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/minivite/package.py b/var/spack/repos/builtin/packages/minivite/package.py
index 343a5b50ee..14010102dd 100644
--- a/var/spack/repos/builtin/packages/minivite/package.py
+++ b/var/spack/repos/builtin/packages/minivite/package.py
@@ -8,43 +8,44 @@ from spack.package import *
class Minivite(MakefilePackage):
"""miniVite is a proxy application that implements a single phase of
- Louvain method in distributed memory for graph community detection.
+ Louvain method in distributed memory for graph community detection.
"""
- tags = ['proxy-app', 'ecp-proxy-app']
+
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://hpc.pnl.gov/people/hala/grappolo.html"
- git = "https://github.com/Exa-Graph/miniVite.git"
+ git = "https://github.com/Exa-Graph/miniVite.git"
- version('develop', branch='master')
- version('1.0', tag='v1.0')
- version('1.1', tag='v1.1')
+ version("develop", branch="master")
+ version("1.0", tag="v1.0")
+ version("1.1", tag="v1.1")
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('opt', default=True, description='Optimization flags')
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("opt", default=True, description="Optimization flags")
- depends_on('mpi')
+ depends_on("mpi")
@property
def build_targets(self):
targets = []
- cxxflags = ['-std=c++11 -g -DCHECK_NUM_EDGES -DPRINT_EXTRA_NEDGES']
+ cxxflags = ["-std=c++11 -g -DCHECK_NUM_EDGES -DPRINT_EXTRA_NEDGES"]
ldflags = []
- if '+openmp' in self.spec:
+ if "+openmp" in self.spec:
cxxflags.append(self.compiler.openmp_flag)
ldflags.append(self.compiler.openmp_flag)
- if '+opt' in self.spec:
- cxxflags.append(' -O3 ')
+ if "+opt" in self.spec:
+ cxxflags.append(" -O3 ")
- targets.append('CXXFLAGS={0}'.format(' '.join(cxxflags)))
- targets.append('OPTFLAGS={0}'.format(' '.join(ldflags)))
- targets.append('CXX={0}'.format(self.spec['mpi'].mpicxx))
+ targets.append("CXXFLAGS={0}".format(" ".join(cxxflags)))
+ targets.append("OPTFLAGS={0}".format(" ".join(ldflags)))
+ targets.append("CXX={0}".format(self.spec["mpi"].mpicxx))
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if (self.version >= Version('1.1')):
- install('miniVite', prefix.bin)
- elif (self.version >= Version('1.0')):
- install('dspl', prefix.bin)
+ if self.version >= Version("1.1"):
+ install("miniVite", prefix.bin)
+ elif self.version >= Version("1.0"):
+ install("dspl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/minixyce/package.py b/var/spack/repos/builtin/packages/minixyce/package.py
index d4b8f1d63f..db24b32fe4 100644
--- a/var/spack/repos/builtin/packages/minixyce/package.py
+++ b/var/spack/repos/builtin/packages/minixyce/package.py
@@ -9,44 +9,44 @@ from spack.package import *
class Minixyce(MakefilePackage):
"""Proxy Application. A portable proxy of some of the key
- capabilities in the electrical modeling Xyce.
+ capabilities in the electrical modeling Xyce.
"""
homepage = "https://mantevo.org"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniXyce/miniXyce_1.0.tar.gz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/MiniXyce/miniXyce_1.0.tar.gz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0', sha256='40e3b4ed5c65cb1d210e828460e99b755cac922a7e27e70c687d5bb6ed19a21b')
+ version("1.0", sha256="40e3b4ed5c65cb1d210e828460e99b755cac922a7e27e70c687d5bb6ed19a21b")
- variant('mpi', default=True, description='Build with MPI Support')
+ variant("mpi", default=True, description="Build with MPI Support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
@property
def build_targets(self):
targets = []
- if '+mpi' in self.spec:
- targets.append('CXX={0}'.format(self.spec['mpi'].mpicxx))
- targets.append('LINKER={0}'.format(self.spec['mpi'].mpicxx))
- targets.append('USE_MPI=-DHAVE_MPI -DMPICH_IGNORE_CXX_SEEK')
+ if "+mpi" in self.spec:
+ targets.append("CXX={0}".format(self.spec["mpi"].mpicxx))
+ targets.append("LINKER={0}".format(self.spec["mpi"].mpicxx))
+ targets.append("USE_MPI=-DHAVE_MPI -DMPICH_IGNORE_CXX_SEEK")
else:
- targets.append('CXX=c++')
- targets.append('LINKER=c++')
- targets.append('USE_MPI=')
+ targets.append("CXX=c++")
+ targets.append("LINKER=c++")
+ targets.append("USE_MPI=")
# Remove Compiler Specific Optimization Flags
- if '%gcc' not in self.spec:
- targets.append('CPP_OPT_FLAGS=')
+ if "%gcc" not in self.spec:
+ targets.append("CPP_OPT_FLAGS=")
return targets
def build(self, spec, prefix):
- with working_dir('miniXyce_ref'):
+ with working_dir("miniXyce_ref"):
# Call Script Targets First to Generate Needed Files
- make('generate_info')
- make('common_files')
+ make("generate_info")
+ make("common_files")
make(*self.build_targets)
def install(self, spec, prefix):
@@ -54,8 +54,8 @@ class Minixyce(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('miniXyce_ref/miniXyce.x', prefix.bin)
- install('miniXyce_ref/default_params.txt', prefix.bin)
- install('README', prefix.doc)
+ install("miniXyce_ref/miniXyce.x", prefix.bin)
+ install("miniXyce_ref/default_params.txt", prefix.bin)
+ install("README", prefix.doc)
- install_tree('miniXyce_ref/tests/', prefix.doc.tests)
+ install_tree("miniXyce_ref/tests/", prefix.doc.tests)
diff --git a/var/spack/repos/builtin/packages/minizip/package.py b/var/spack/repos/builtin/packages/minizip/package.py
index 8606b5b95b..e83f6548d3 100644
--- a/var/spack/repos/builtin/packages/minizip/package.py
+++ b/var/spack/repos/builtin/packages/minizip/package.py
@@ -10,28 +10,28 @@ class Minizip(AutotoolsPackage):
"""C library for zip/unzip via zLib."""
homepage = "https://www.winimage.com/zLibDll/minizip.html"
- url = "https://zlib.net/fossils/zlib-1.2.11.tar.gz"
+ url = "https://zlib.net/fossils/zlib-1.2.11.tar.gz"
- version('1.2.11', sha256='c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1')
+ version("1.2.11", sha256="c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1")
- configure_directory = 'contrib/minizip'
+ configure_directory = "contrib/minizip"
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('zlib')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("zlib")
# error: implicit declaration of function 'mkdir' is invalid in C99
- patch('implicit.patch', when='%apple-clang@12:')
- patch('implicit.patch', when='%gcc@7.3.0:')
+ patch("implicit.patch", when="%apple-clang@12:")
+ patch("implicit.patch", when="%gcc@7.3.0:")
# statically link to libz.a
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/minizip.rb
- patch('static.patch', when='%apple-clang@12:')
+ patch("static.patch", when="%apple-clang@12:")
# build minizip and miniunz
- @run_before('autoreconf')
+ @run_before("autoreconf")
def build_minizip_binary(self):
configure()
make()
@@ -39,9 +39,9 @@ class Minizip(AutotoolsPackage):
make()
# install minizip and miniunz
- @run_after('install')
+ @run_after("install")
def install_minizip_binary(self):
mkdirp(self.prefix.bin)
with working_dir(self.configure_directory):
- install('minizip', self.prefix.bin)
- install('miniunz', self.prefix.bin)
+ install("minizip", self.prefix.bin)
+ install("miniunz", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/minuit/package.py b/var/spack/repos/builtin/packages/minuit/package.py
index b4a2265821..0c74dd9c1c 100644
--- a/var/spack/repos/builtin/packages/minuit/package.py
+++ b/var/spack/repos/builtin/packages/minuit/package.py
@@ -10,38 +10,38 @@ class Minuit(AutotoolsPackage):
"""MINUIT is a physics analysis tool for function minimization."""
homepage = "https://seal.web.cern.ch/seal/snapshot/work-packages/mathlibs/minuit/home.html"
- url = "http://www.cern.ch/mathlibs/sw/5_34_14/Minuit2/Minuit2-5.34.14.tar.gz"
+ url = "http://www.cern.ch/mathlibs/sw/5_34_14/Minuit2/Minuit2-5.34.14.tar.gz"
list_url = "https://seal.web.cern.ch/seal/snapshot/work-packages/mathlibs/minuit/release/download.html"
- version('5.34.14', sha256='2ca9a283bbc315064c0a322bc4cb74c7e8fd51f9494f7856e5159d0a0aa8c356')
- version('5.28.00', sha256='c3d380b021f4f8e21cde9b73f7019a2aa94c4fcaf5af3f30151ef5f7bfcb23cb')
- version('5.27.02', sha256='262e2a014f17dd54535b71efc69d1ee6318e6109a57dbe376b416247a031ad5e')
- version('5.24.00', sha256='2e4df8de85eab97484424d1c10128c489948f0dbab4779c36195aa1a42d4b2c2')
- version('5.22.00', sha256='9a64698e8c38a1ac88c98a023f423611f3a157fd9f63bf13671211d3c7a9d7c4')
- version('5.21.06', sha256='4c12b35993c8ecf644043d3d876afb5537a702eb24771f57dbe55d5ea6f49d92')
- version('5.20.00', sha256='c5afbfcf25cb4fb95f773f6611a46ec4f293ad2f3c3a3cd75f79ea5e226f62e4')
- version('5.18.00', sha256='57f0a6079677d45f89ac7d1105bbcb28fe6f22609856f3225c582ff5209ada7e')
- version('5.16.00', sha256='db840e4983de0cea9fa1e861cd3c373c5effd969ad88849b1dd0894f80a02717')
- version('5.14.00', sha256='d38fc8477124b07ebf38fa3fe9f16e7fa070aefe700fce15454b2e749f89db8d')
- version('5.12.00', sha256='c206033a723888a0a079fd0de05027460d99dca1d2b4eeb0ad0e7b60cea86236')
- version('5.10.00', sha256='4f51eb73b0eed527cc2c6f860cc6e2a5d86bb84f37f3c6d8ca469ce6c1ae96c4')
- version('5.08.00', sha256='cf5f2858f40933928738b4d204651dfdfdca8431111bb8b7300b3b43b9b5fa30')
- version('1.7.9', sha256='a7b7fdf89267fe272ae336725c9f4b98e5ccc67ab666e34284a64ec977ee0e07')
- version('1.7.6', sha256='1141e885eec53a0fa859581c160dee522876c65fc7396255ab9a0388622aedd8')
- version('1.7.1', sha256='fe7255974969a7e329dd3ed2b934f502c80a6f74ffb85a311ea56a325cd7ca06')
- version('1.6.3', sha256='17851717cd7e99c705bf3546641572064ef9485653c5741698ff760d34af7271')
- version('1.6.0', sha256='d12259f53ed9957215c3cef11e2d0dce755f627bb3506172f25dcd7ce9950a24')
- version('1.5.2', sha256='b0ed8d7d0071b1e8daa5a5dc4c05d522731617a5430a288b932edc331869c063')
- version('1.5.0', sha256='b5fffdc1d06a2b4ffd6dad5fdd30d127ea354a789aaa9f25f33cf7c539898b7f')
+ version("5.34.14", sha256="2ca9a283bbc315064c0a322bc4cb74c7e8fd51f9494f7856e5159d0a0aa8c356")
+ version("5.28.00", sha256="c3d380b021f4f8e21cde9b73f7019a2aa94c4fcaf5af3f30151ef5f7bfcb23cb")
+ version("5.27.02", sha256="262e2a014f17dd54535b71efc69d1ee6318e6109a57dbe376b416247a031ad5e")
+ version("5.24.00", sha256="2e4df8de85eab97484424d1c10128c489948f0dbab4779c36195aa1a42d4b2c2")
+ version("5.22.00", sha256="9a64698e8c38a1ac88c98a023f423611f3a157fd9f63bf13671211d3c7a9d7c4")
+ version("5.21.06", sha256="4c12b35993c8ecf644043d3d876afb5537a702eb24771f57dbe55d5ea6f49d92")
+ version("5.20.00", sha256="c5afbfcf25cb4fb95f773f6611a46ec4f293ad2f3c3a3cd75f79ea5e226f62e4")
+ version("5.18.00", sha256="57f0a6079677d45f89ac7d1105bbcb28fe6f22609856f3225c582ff5209ada7e")
+ version("5.16.00", sha256="db840e4983de0cea9fa1e861cd3c373c5effd969ad88849b1dd0894f80a02717")
+ version("5.14.00", sha256="d38fc8477124b07ebf38fa3fe9f16e7fa070aefe700fce15454b2e749f89db8d")
+ version("5.12.00", sha256="c206033a723888a0a079fd0de05027460d99dca1d2b4eeb0ad0e7b60cea86236")
+ version("5.10.00", sha256="4f51eb73b0eed527cc2c6f860cc6e2a5d86bb84f37f3c6d8ca469ce6c1ae96c4")
+ version("5.08.00", sha256="cf5f2858f40933928738b4d204651dfdfdca8431111bb8b7300b3b43b9b5fa30")
+ version("1.7.9", sha256="a7b7fdf89267fe272ae336725c9f4b98e5ccc67ab666e34284a64ec977ee0e07")
+ version("1.7.6", sha256="1141e885eec53a0fa859581c160dee522876c65fc7396255ab9a0388622aedd8")
+ version("1.7.1", sha256="fe7255974969a7e329dd3ed2b934f502c80a6f74ffb85a311ea56a325cd7ca06")
+ version("1.6.3", sha256="17851717cd7e99c705bf3546641572064ef9485653c5741698ff760d34af7271")
+ version("1.6.0", sha256="d12259f53ed9957215c3cef11e2d0dce755f627bb3506172f25dcd7ce9950a24")
+ version("1.5.2", sha256="b0ed8d7d0071b1e8daa5a5dc4c05d522731617a5430a288b932edc331869c063")
+ version("1.5.0", sha256="b5fffdc1d06a2b4ffd6dad5fdd30d127ea354a789aaa9f25f33cf7c539898b7f")
def url_for_version(self, version):
- if version > Version('5.0.0'):
+ if version > Version("5.0.0"):
url = "http://www.cern.ch/mathlibs/sw/{0}/Minuit2/Minuit2-{1}.tar.gz"
return url.format(version.underscored, version)
else:
url = "http://seal.web.cern.ch/seal/minuit/releases/Minuit-{0}.tar.gz"
return url.format(version.underscored)
- patch('sprintf.cxx.patch', when='@5.08.00:5.18.00')
- patch('sprintf.patch', when='@:1.7.9')
- patch('LASymMatrix.h.patch', when='@:1.7.6')
+ patch("sprintf.cxx.patch", when="@5.08.00:5.18.00")
+ patch("sprintf.patch", when="@:1.7.9")
+ patch("LASymMatrix.h.patch", when="@:1.7.6")
diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py
index 657d5bbbb5..75577790c5 100644
--- a/var/spack/repos/builtin/packages/miopen-hip/package.py
+++ b/var/spack/repos/builtin/packages/miopen-hip/package.py
@@ -13,80 +13,139 @@ class MiopenHip(CMakePackage):
"""AMD's library for high performance machine learning primitives."""
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
- git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
+ git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libMIOpen']
-
- version('5.1.3', sha256='510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d')
- version('5.1.0', sha256='bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd')
- version('5.0.2', sha256='e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be')
- version('5.0.0', sha256='4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7')
- version('4.5.2', sha256='cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc')
- version('4.5.0', sha256='be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda')
- version('4.3.1', sha256='1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a', deprecated=True)
- version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d', deprecated=True)
- version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c', deprecated=True)
- version('4.1.0', sha256='068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee', deprecated=True)
- version('4.0.0', sha256='84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6', deprecated=True)
- version('3.10.0', sha256='926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a', deprecated=True)
- version('3.9.0', sha256='f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156', deprecated=True)
- version('3.8.0', sha256='612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f', deprecated=True)
- version('3.7.0', sha256='f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103', deprecated=True)
- version('3.5.0', sha256='aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.5:', type='build')
- depends_on('pkgconfig', type='build')
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libMIOpen"]
+
+ version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d")
+ version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd")
+ version("5.0.2", sha256="e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be")
+ version("5.0.0", sha256="4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7")
+ version("4.5.2", sha256="cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc")
+ version("4.5.0", sha256="be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda")
+ version(
+ "4.3.1",
+ sha256="1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.5:", type="build")
+ depends_on("pkgconfig", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('boost@1.67.0:1.73.0')
- depends_on('bzip2')
- depends_on('sqlite')
- depends_on('half')
- depends_on('zlib', when='@3.9.0:')
-
- patch('0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch', when='@3.9.0:5.0.2')
-
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocm-clang-ocl@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
-
- for ver in ['5.1.0', '5.1.3']:
- depends_on('mlirmiopen@' + ver, when='@' + ver)
+ depends_on("boost@1.67.0:1.73.0")
+ depends_on("bzip2")
+ depends_on("sqlite")
+ depends_on("half")
+ depends_on("zlib", when="@3.9.0:")
+
+ patch("0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch", when="@3.9.0:5.0.2")
+
+ for ver in [
+ "3.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocm-clang-ocl@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
+
+ for ver in ["5.1.0", "5.1.3"]:
+ depends_on("mlirmiopen@" + ver, when="@" + ver)
def setup_build_environment(self, env):
- if '@3.9.0:' in self.spec:
- lib_dir = self.spec['zlib'].libs.directories[0]
- env.prepend_path('LIBRARY_PATH', lib_dir)
+ if "@3.9.0:" in self.spec:
+ lib_dir = self.spec["zlib"].libs.directories[0]
+ env.prepend_path("LIBRARY_PATH", lib_dir)
def get_bitcode_dir(self):
spec = self.spec
# and the exact location of its bitcode depends on the version
- if spec.version >= Version('3.9.0'):
- return spec['llvm-amdgpu'].prefix.amdgcn.bitcode
+ if spec.version >= Version("3.9.0"):
+ return spec["llvm-amdgpu"].prefix.amdgcn.bitcode
else:
- return spec['llvm-amdgpu'].prefix.lib
+ return spec["llvm-amdgpu"].prefix.lib
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -95,20 +154,18 @@ class MiopenHip(CMakePackage):
spec = self.spec
args = [
- self.define('MIOPEN_BACKEND', 'HIP'),
+ self.define("MIOPEN_BACKEND", "HIP"),
self.define(
- 'CMAKE_CXX_COMPILER',
- '{0}/bin/clang++'.format(spec['llvm-amdgpu'].prefix)
+ "CMAKE_CXX_COMPILER", "{0}/bin/clang++".format(spec["llvm-amdgpu"].prefix)
),
self.define(
- 'MIOPEN_AMDGCN_ASSEMBLER',
- '{0}/bin/clang'.format(spec['llvm-amdgpu'].prefix)
+ "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())
+ self.define("Boost_USE_STATIC_LIBS", "Off"),
+ self.define("HIP_PREFIX_PATH", spec["hip"].prefix),
+ self.define("DEVICELIBS_PREFIX_PATH", self.get_bitcode_dir()),
]
- if self.spec.satisfies('@5.1.0:'):
- mlir_inc = spec['mlirmiopen'].prefix.include
- args.append(self.define('CMAKE_CXX_FLAGS', '-I{0}'.format(mlir_inc)))
+ if self.spec.satisfies("@5.1.0:"):
+ mlir_inc = spec["mlirmiopen"].prefix.include
+ args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}".format(mlir_inc)))
return args
diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py
index eb069cf3bb..1e38f29868 100644
--- a/var/spack/repos/builtin/packages/miopen-opencl/package.py
+++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py
@@ -15,85 +15,155 @@ class MiopenOpencl(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libMIOpen']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libMIOpen"]
- version('5.1.3', sha256='510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d')
- version('5.1.0', sha256='bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd')
- version('5.0.2', sha256='e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be')
- version('5.0.0', sha256='4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7')
- version('4.5.2', sha256='cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc')
- version('4.5.0', sha256='be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda')
- version('4.3.1', sha256='1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a', deprecated=True)
- version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d', deprecated=True)
- version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c', deprecated=True)
- version('4.1.0', sha256='068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee', deprecated=True)
- version('4.0.0', sha256='84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6', deprecated=True)
- version('3.10.0', sha256='926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a', deprecated=True)
- version('3.9.0', sha256='f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156', deprecated=True)
- version('3.8.0', sha256='612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f', deprecated=True)
- version('3.7.0', sha256='f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103', deprecated=True)
- version('3.5.0', sha256='aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82', deprecated=True)
+ version("5.1.3", sha256="510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d")
+ version("5.1.0", sha256="bb50201334d68addf153b84b88ab803027c4913d71bdbda6f5ccde3f672f6fdd")
+ version("5.0.2", sha256="e73c18c6e0791d6ca8958508d899072ce12fc6c27cf78792d0c2a5c7e34427be")
+ version("5.0.0", sha256="4a46a2bdd11a2597c83cdb0c5e208b81728fab2ff7c585dabfca5aa05ee7a4f7")
+ version("4.5.2", sha256="cb49bdf215ed9881755239b6312d72f829c1a0edf510e6d1fbb206c41f5406fc")
+ version("4.5.0", sha256="be2f5ce962e15e62d427978422498c0ddf821b91fd40777a1ba915a2794d6fda")
+ version(
+ "4.3.1",
+ sha256="1fb2fd8b24f984174ec5338a58b7964e128b74dafb101373a41c8ed33955251a",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="926e43c5583cf70d6b247f9fe45971b8b1cc9668f9c8490c142c7e8b6e268f1a",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="f57d75a220c1094395cc1dccab2185c759d779751ddbb5369a6f041ec77b2156",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="612b30d4a967bf18c7fa7aa3ef12ed558314ed04cee2775b842bf6a96cd7276f",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3.5:', type='build')
- depends_on('boost@1.67.0:1.73.0', type='link')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("boost@1.67.0:1.73.0", type="link")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='link')
- depends_on('pkgconfig', type='build')
- depends_on('bzip2', type='link')
- depends_on('sqlite', type='link')
- depends_on('half', type='build')
- depends_on('miopengemm@1.1.6', type='link', when='@3.5.0')
+ depends_on(Boost.with_default_variants, type="link")
+ depends_on("pkgconfig", type="build")
+ depends_on("bzip2", type="link")
+ depends_on("sqlite", type="link")
+ depends_on("half", type="build")
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocm-opencl@' + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('miopengemm@' + 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("miopengemm@" + ver, when="@" + ver)
- for ver in ['5.1.0', '5.1.3']:
- depends_on('mlirmiopen@' + ver, when='@' + ver)
+ for ver in ["5.1.0", "5.1.3"]:
+ depends_on("mlirmiopen@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('MIOPEN_BACKEND', 'OpenCL'),
+ self.define("MIOPEN_BACKEND", "OpenCL"),
self.define(
- 'MIOPEN_HIP_COMPILER',
- '{0}/bin/clang++'.format(self.spec['llvm-amdgpu'].prefix)
+ "MIOPEN_HIP_COMPILER", "{0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix)
),
self.define(
- 'HIP_CXX_COMPILER',
- '{0}/bin/clang++'.format(self.spec['llvm-amdgpu'].prefix)
+ "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)
+ "MIOPEN_AMDGCN_ASSEMBLER", "{0}/bin/clang".format(self.spec["llvm-amdgpu"].prefix)
),
- self.define('Boost_USE_STATIC_LIBS', 'Off')
+ self.define("Boost_USE_STATIC_LIBS", "Off"),
]
return args
diff --git a/var/spack/repos/builtin/packages/miopen-tensile/package.py b/var/spack/repos/builtin/packages/miopen-tensile/package.py
index cf3bd94f10..656c994c83 100644
--- a/var/spack/repos/builtin/packages/miopen-tensile/package.py
+++ b/var/spack/repos/builtin/packages/miopen-tensile/package.py
@@ -10,77 +10,83 @@ from spack.package import *
class MiopenTensile(CMakePackage):
"""MIOpenTensile provides host-callable interfaces to Tensile library.
- MIOpenTensile supports one programming model: HIP"""
+ MIOpenTensile supports one programming model: HIP"""
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenTensile"
git = "https://github.com/ROCmSoftwarePlatform/MIOpenTensile.git"
- url = "https://github.com/ROCmSoftwarePlatform/MIOpentensile/archive/rocm-5.0.0.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam']
- libraries = ['libMIOpenTensile']
-
- version('5.1.0', sha256='f1ae57bd4df8c154357b3f17caf0cfd5f80ba16ffff67bf6219a56f1eb5f897d')
- version('5.0.2', sha256='7b85a6a37d0905b0a3baa8361fd71a5a32ad90f3a562fd5e1af7e2ba68099fa6')
- version('5.0.0', sha256='276ada52e2e8431851296a60df538e0171f8a1c4e9894de8954ffa9306cda2d8')
- version('4.5.2', sha256='eae14b20aec5ad57815c85d0571b7aecc3704696147f3cdbe34287e88da0c9e9')
- version('4.5.0', sha256='5f181f536040c0612bf889600f75951e7ec031ae5c4cb9c2c44f6ac3b15b004b')
-
- tensile_architecture = ('all', 'gfx906', 'gfx908', 'gfx803', 'gfx900')
-
- variant('tensile_architecture', default='all', values=tensile_architecture, multi=True)
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- patch('0002-Improve-compilation-by-using-local-tensile-path.patch', when='@4.5.0:')
-
- depends_on('cmake@3.5:', type='build')
- depends_on('msgpack-c@3:')
- depends_on('python@3.6:', type='build')
- depends_on('py-virtualenv', type='build')
- depends_on('perl-file-which', type='build')
- depends_on('py-pyyaml', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-msgpack', type='build')
- depends_on('py-pip', type='build')
-
- resource(name='Tensile',
- git='https://github.com/ROCmSoftwarePlatform/Tensile.git',
- commit='9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf',
- when='@4.5.0:')
-
- for ver in ['4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
- depends_on('rocminfo@' + ver, when='@' + ver)
+ url = "https://github.com/ROCmSoftwarePlatform/MIOpentensile/archive/rocm-5.0.0.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam"]
+ libraries = ["libMIOpenTensile"]
+
+ version("5.1.0", sha256="f1ae57bd4df8c154357b3f17caf0cfd5f80ba16ffff67bf6219a56f1eb5f897d")
+ version("5.0.2", sha256="7b85a6a37d0905b0a3baa8361fd71a5a32ad90f3a562fd5e1af7e2ba68099fa6")
+ version("5.0.0", sha256="276ada52e2e8431851296a60df538e0171f8a1c4e9894de8954ffa9306cda2d8")
+ version("4.5.2", sha256="eae14b20aec5ad57815c85d0571b7aecc3704696147f3cdbe34287e88da0c9e9")
+ version("4.5.0", sha256="5f181f536040c0612bf889600f75951e7ec031ae5c4cb9c2c44f6ac3b15b004b")
+
+ tensile_architecture = ("all", "gfx906", "gfx908", "gfx803", "gfx900")
+
+ variant("tensile_architecture", default="all", values=tensile_architecture, multi=True)
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ patch("0002-Improve-compilation-by-using-local-tensile-path.patch", when="@4.5.0:")
+
+ depends_on("cmake@3.5:", type="build")
+ depends_on("msgpack-c@3:")
+ depends_on("python@3.6:", type="build")
+ depends_on("py-virtualenv", type="build")
+ depends_on("perl-file-which", type="build")
+ depends_on("py-pyyaml", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-msgpack", type="build")
+ depends_on("py-pip", type="build")
+
+ resource(
+ name="Tensile",
+ git="https://github.com/ROCmSoftwarePlatform/Tensile.git",
+ commit="9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf",
+ when="@4.5.0:",
+ )
+
+ for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0"]:
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
+ depends_on("rocminfo@" + ver, when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
- arch = self.spec.variants['tensile_architecture'].value
- tensile_path = join_path(self.stage.source_path, 'Tensile')
+ arch = self.spec.variants["tensile_architecture"].value
+ tensile_path = join_path(self.stage.source_path, "Tensile")
args = [
- self.define('TENSILE_USE_MSGPACK', 'ON'),
- self.define('COMPILER', 'hipcc'),
- self.define('TENSILE_USE_LLVM', 'OFF'),
- self.define('CODE_OBJECT_VERSION', 'V3'),
- self.define('TENSILE_LIBRARY_FORMAT', 'msgpack'),
- self.define('MIOPEN_TENSILE_SRC', 'asm_full'),
- self.define('Tensile_TEST_LOCAL_PATH', tensile_path)
+ self.define("TENSILE_USE_MSGPACK", "ON"),
+ self.define("COMPILER", "hipcc"),
+ self.define("TENSILE_USE_LLVM", "OFF"),
+ self.define("CODE_OBJECT_VERSION", "V3"),
+ self.define("TENSILE_LIBRARY_FORMAT", "msgpack"),
+ self.define("MIOPEN_TENSILE_SRC", "asm_full"),
+ self.define("Tensile_TEST_LOCAL_PATH", tensile_path),
]
- args.append(self.define('Tensile_ARCHITECTURE', arch))
+ args.append(self.define("Tensile_ARCHITECTURE", arch))
return args
diff --git a/var/spack/repos/builtin/packages/miopengemm/package.py b/var/spack/repos/builtin/packages/miopengemm/package.py
index 5b8d37b67d..77a39ae144 100644
--- a/var/spack/repos/builtin/packages/miopengemm/package.py
+++ b/var/spack/repos/builtin/packages/miopengemm/package.py
@@ -13,56 +13,114 @@ class Miopengemm(CMakePackage):
and kernel generator"""
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM"
- git = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM.git"
- url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM.git"
+ url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libmiopengemm']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libmiopengemm"]
def url_for_version(self, version):
- if version == Version('1.1.6'):
+ if version == Version("1.1.6"):
return "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/1.1.6.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-{0}.tar.gz"
return url.format(version)
- version('5.1.3', sha256='c70fc9e2a6d47356a612e24f5757bf16fdf26e671bd53a0975c1a0978da740b6')
- version('5.1.0', sha256='e2b20cdc20a745bcb7a554852e6b4bd39274c7dcc13fc19a81a282fb4dfa475f')
- version('5.0.2', sha256='64a6bf7c902af63d85563e29361763e9daa1fd3699490a91c222b057673612cc')
- version('5.0.0', sha256='122cfb4e79476092e84f73f48540701c90fb87e0dc20cdf39f202d92e9ff5544')
- version('4.5.2', sha256='e778e0ccb123cd637ac459b2aecdf0fdead158580479bc0adfc9a28879e1d1c9')
- version('4.5.0', sha256='54ec908109a91f9022b61e63e3a1b9706cdcf133ba6fb3b39a65ca0e79be7747')
- version('4.3.1', sha256='0aee2281d9b8c625e9bda8efff3067237d6155a53f6c720dcb4e3b3ec8bf8d14', deprecated=True)
- version('4.3.0', sha256='d32b3b98e695b7db2fd2faa6587a57728d1252d6d649dcb2db3102f98cd5930e', deprecated=True)
- version('4.2.0', sha256='a11fa063248ed339fe897ab4c5d338b7279035fa37fcbe0909e2c4c352aaefb1', deprecated=True)
- version('4.1.0', sha256='389328eb4a16565853691bd5b01a0eab978d99e3217329236ddc63a38b8dd4eb', deprecated=True)
- version('4.0.0', sha256='366d03facb1ec5f6f4894aa88859df1d7fea00fee0cbac5173d7577e9a8ba799', deprecated=True)
- version('3.10.0', sha256='66d844a17729ab25c1c2a243667d9714eb89fd51e42bfc014e2faf54a8642064', deprecated=True)
- version('3.9.0', sha256='8e1273c35d50e9fd92e303d9bcbdd42ddbfda20844b3248428e16b54928f6dc2', deprecated=True)
- version('3.8.0', sha256='d76f5b4b3b9d1e3589a92f667f39eab5b5ab54ec3c4e04d412035be3ec623547', deprecated=True)
- version('3.7.0', sha256='392b280ca564b120f6b24ec1fe8782cba08a8a5fb52938e8bc3dc887d3fd08fa', deprecated=True)
- version('1.1.6', sha256='9ab04903794c6a59432928eaec92c687d51e2b4fd29630cf227cbc49d56dc69b', deprecated=True)
+ version("5.1.3", sha256="c70fc9e2a6d47356a612e24f5757bf16fdf26e671bd53a0975c1a0978da740b6")
+ version("5.1.0", sha256="e2b20cdc20a745bcb7a554852e6b4bd39274c7dcc13fc19a81a282fb4dfa475f")
+ version("5.0.2", sha256="64a6bf7c902af63d85563e29361763e9daa1fd3699490a91c222b057673612cc")
+ version("5.0.0", sha256="122cfb4e79476092e84f73f48540701c90fb87e0dc20cdf39f202d92e9ff5544")
+ version("4.5.2", sha256="e778e0ccb123cd637ac459b2aecdf0fdead158580479bc0adfc9a28879e1d1c9")
+ version("4.5.0", sha256="54ec908109a91f9022b61e63e3a1b9706cdcf133ba6fb3b39a65ca0e79be7747")
+ version(
+ "4.3.1",
+ sha256="0aee2281d9b8c625e9bda8efff3067237d6155a53f6c720dcb4e3b3ec8bf8d14",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="d32b3b98e695b7db2fd2faa6587a57728d1252d6d649dcb2db3102f98cd5930e",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="a11fa063248ed339fe897ab4c5d338b7279035fa37fcbe0909e2c4c352aaefb1",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="389328eb4a16565853691bd5b01a0eab978d99e3217329236ddc63a38b8dd4eb",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="366d03facb1ec5f6f4894aa88859df1d7fea00fee0cbac5173d7577e9a8ba799",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="66d844a17729ab25c1c2a243667d9714eb89fd51e42bfc014e2faf54a8642064",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="8e1273c35d50e9fd92e303d9bcbdd42ddbfda20844b3248428e16b54928f6dc2",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="d76f5b4b3b9d1e3589a92f667f39eab5b5ab54ec3c4e04d412035be3ec623547",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="392b280ca564b120f6b24ec1fe8782cba08a8a5fb52938e8bc3dc887d3fd08fa",
+ deprecated=True,
+ )
+ version(
+ "1.1.6",
+ sha256="9ab04903794c6a59432928eaec92c687d51e2b4fd29630cf227cbc49d56dc69b",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3:', type='build')
- depends_on('rocm-cmake@3.5.0', type='build', when='@1.1.6')
- depends_on('rocm-opencl@3.5.0', when='@1.1.6')
+ depends_on("cmake@3:", type="build")
+ depends_on("rocm-cmake@3.5.0", type="build", when="@1.1.6")
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@' + ver, type='build', 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
+ depends_on("rocm-opencl@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
diff --git a/var/spack/repos/builtin/packages/mira/package.py b/var/spack/repos/builtin/packages/mira/package.py
index 486fe7ad97..5b1afc872d 100644
--- a/var/spack/repos/builtin/packages/mira/package.py
+++ b/var/spack/repos/builtin/packages/mira/package.py
@@ -9,31 +9,35 @@ from spack.pkg.builtin.boost import Boost
class Mira(AutotoolsPackage):
"""MIRA is a multi-pass DNA sequence data assembler/mapper for whole genome
- and EST/RNASeq projects."""
+ and EST/RNASeq projects."""
homepage = "https://sourceforge.net/projects/mira-assembler/"
- url = "https://downloads.sourceforge.net/project/mira-assembler/MIRA/stable/mira-4.0.2.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/mira-assembler/MIRA/stable/mira-4.0.2.tar.bz2"
- version('4.0.2', sha256='a32cb2b21e0968a5536446287c895fe9e03d11d78957554e355c1080b7b92a80')
+ version("4.0.2", sha256="a32cb2b21e0968a5536446287c895fe9e03d11d78957554e355c1080b7b92a80")
- depends_on('boost@1.46:')
+ depends_on("boost@1.46:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('expat@2.0.1:')
- depends_on('gperftools')
+ depends_on("expat@2.0.1:")
+ depends_on("gperftools")
- conflicts('%gcc@6:', when='@:4.0.2')
+ conflicts("%gcc@6:", when="@:4.0.2")
def patch(self):
- with working_dir(join_path('src', 'progs')):
- edit = FileFilter('quirks.C')
- edit.filter('#include <boost/filesystem.hpp>',
- '#include <boost/filesystem.hpp>\n#include <iostream>')
+ with working_dir(join_path("src", "progs")):
+ edit = FileFilter("quirks.C")
+ edit.filter(
+ "#include <boost/filesystem.hpp>",
+ "#include <boost/filesystem.hpp>\n#include <iostream>",
+ )
def configure_args(self):
- args = ['--with-boost=%s' % self.spec['boost'].prefix,
- '--with-expat=%s' % self.spec['expat'].prefix]
+ args = [
+ "--with-boost=%s" % self.spec["boost"].prefix,
+ "--with-expat=%s" % self.spec["expat"].prefix,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/miranda/package.py b/var/spack/repos/builtin/packages/miranda/package.py
index 2fa5add08a..43a71ad34d 100644
--- a/var/spack/repos/builtin/packages/miranda/package.py
+++ b/var/spack/repos/builtin/packages/miranda/package.py
@@ -10,7 +10,10 @@ class Miranda(AutotoolsPackage):
"""miRanda is an algorithm for finding genomic targets for microRNAs."""
homepage = "http://www.microrna.org/microrna/getDownloads.do"
- url = "https://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz"
+ url = "https://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz"
- version('3.3a', sha256='a671da562cf4636ef5085b27349df2df2f335774663fd423deb08f31212ec778',
- url='https://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz')
+ version(
+ "3.3a",
+ sha256="a671da562cf4636ef5085b27349df2df2f335774663fd423deb08f31212ec778",
+ url="https://cbio.mskcc.org/microrna_data/miRanda-aug2010.tar.gz",
+ )
diff --git a/var/spack/repos/builtin/packages/mirdeep2/package.py b/var/spack/repos/builtin/packages/mirdeep2/package.py
index e080d7815b..6c16afec05 100644
--- a/var/spack/repos/builtin/packages/mirdeep2/package.py
+++ b/var/spack/repos/builtin/packages/mirdeep2/package.py
@@ -11,40 +11,38 @@ from spack.package import *
class Mirdeep2(Package):
"""miRDeep2 is a completely overhauled tool which discovers microRNA genes
- by analyzing sequenced RNAs."""
+ by analyzing sequenced RNAs."""
homepage = "https://www.mdc-berlin.de/8551903/en/"
- url = "https://www.mdc-berlin.de/system/files/migrated_files/fiona/mirdeep2_0_0_8.zip"
+ url = "https://www.mdc-berlin.de/system/files/migrated_files/fiona/mirdeep2_0_0_8.zip"
- version('0.0.8', sha256='eeb24ee1b0e76b49ee2f542da3ee7d46d163c80b152709e963492b79f4fca1b8')
+ version("0.0.8", sha256="eeb24ee1b0e76b49ee2f542da3ee7d46d163c80b152709e963492b79f4fca1b8")
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-pdf-api2', type=('build', 'run'))
- depends_on('bowtie')
- depends_on('viennarna')
- depends_on('squid')
- depends_on('randfold')
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-pdf-api2", type=("build", "run"))
+ depends_on("bowtie")
+ depends_on("viennarna")
+ depends_on("squid")
+ depends_on("randfold")
def url_for_version(self, version):
- url = 'https://www.mdc-berlin.de/system/files/migrated_files/fiona/mirdeep2_{0}.zip'
+ url = "https://www.mdc-berlin.de/system/files/migrated_files/fiona/mirdeep2_{0}.zip"
return url.format(version.underscored)
def patch(self):
- with working_dir('src'):
+ with working_dir("src"):
files = glob.iglob("*.pl")
for file in files:
chmod(file, 0o755)
change = FileFilter(file)
- change.filter('usr/bin/perl', 'usr/bin/env perl')
- change.filter('perl -W', 'perl')
- change.filter("../Rfam_for_miRDeep.fa",
- "Rfam_for_miRDeep.fa")
- change.filter("../install_successful",
- "install_successful")
+ change.filter("usr/bin/perl", "usr/bin/env perl")
+ change.filter("perl -W", "perl")
+ change.filter("../Rfam_for_miRDeep.fa", "Rfam_for_miRDeep.fa")
+ change.filter("../install_successful", "install_successful")
def install(self, spec, prefix):
- install_tree('src', prefix.bin)
- install('Rfam_for_miRDeep.fa', prefix.bin)
+ install_tree("src", prefix.bin)
+ install("Rfam_for_miRDeep.fa", prefix.bin)
# miRDeep looks for the install_sucessful file to check if you used
# their automated install script which we'll just be kind of hacking
# around
diff --git a/var/spack/repos/builtin/packages/mitofates/package.py b/var/spack/repos/builtin/packages/mitofates/package.py
index 1b39ce62f7..bfd58d6935 100644
--- a/var/spack/repos/builtin/packages/mitofates/package.py
+++ b/var/spack/repos/builtin/packages/mitofates/package.py
@@ -10,41 +10,41 @@ from spack.package import *
class Mitofates(Package):
"""MitoFates predicts mitochondrial presequence, a cleavable localization
- signal located in N-terminal, and its cleaved position."""
+ signal located in N-terminal, and its cleaved position."""
homepage = "http://mitf.cbrc.jp/MitoFates/cgi-bin/top.cgi"
- url = "http://mitf.cbrc.jp/MitoFates/program/MitoFates_1.2.tar.gz"
+ url = "http://mitf.cbrc.jp/MitoFates/program/MitoFates_1.2.tar.gz"
- version('1.2', sha256='fafc93d8d619fe993ce747782d31ab9a89b248cd4f817e0242e4ceb5e33cf0a7')
+ version("1.2", sha256="fafc93d8d619fe993ce747782d31ab9a89b248cd4f817e0242e4ceb5e33cf0a7")
- depends_on('libsvm')
- depends_on('perl', type='run')
- depends_on('perl-inline-c', type='run')
- depends_on('perl-perl6-slurp', type='run')
- depends_on('perl-math-cephes', type='run')
+ depends_on("libsvm")
+ depends_on("perl", type="run")
+ depends_on("perl-inline-c", type="run")
+ depends_on("perl-perl6-slurp", type="run")
+ depends_on("perl-math-cephes", type="run")
# The DirichletRegulator_fast.pm sets the perl Inline directory
# to be inside the deployed source (which won't be writable by
# the end user of site wide deployed software.
# Removing that config entry will cause the inline module to auto
# create a directory in the user's homedir instead
- patch('DirichletRegulator_fast.patch')
+ patch("DirichletRegulator_fast.patch")
def patch(self):
- perlscripts = FileFilter('MitoFates.pl')
- perlscripts.filter('#!/usr/bin/perl', '#!/usr/bin/env perl')
+ perlscripts = FileFilter("MitoFates.pl")
+ perlscripts.filter("#!/usr/bin/perl", "#!/usr/bin/env perl")
# other perl module files probably should get this filter too
- with working_dir(join_path(self.stage.source_path, 'bin/modules')):
- perlmodules = glob.glob('*.pm')
- filter_file('#!/usr/bin/perl', '#!/usr/bin/env perl', *perlmodules)
+ with working_dir(join_path(self.stage.source_path, "bin/modules")):
+ perlmodules = glob.glob("*.pm")
+ filter_file("#!/usr/bin/perl", "#!/usr/bin/env perl", *perlmodules)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install('MitoFates.pl', prefix)
- chmod = which('chmod')
- chmod('+x', join_path(prefix, 'MitoFates.pl'))
+ install_tree("bin", prefix.bin)
+ install("MitoFates.pl", prefix)
+ chmod = which("chmod")
+ chmod("+x", join_path(prefix, "MitoFates.pl"))
def setup_run_environment(self, env):
# We want the main MitoFates.pl script in the path
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/mitos/package.py b/var/spack/repos/builtin/packages/mitos/package.py
index 57bbb0e6a8..188af998fe 100644
--- a/var/spack/repos/builtin/packages/mitos/package.py
+++ b/var/spack/repos/builtin/packages/mitos/package.py
@@ -11,13 +11,13 @@ class Mitos(CMakePackage):
performance data to view with MemAxes"""
homepage = "https://github.com/llnl/Mitos"
- url = "https://github.com/LLNL/Mitos/archive/v0.9.1.tar.gz"
- git = "https://github.com/llnl/Mitos.git"
+ url = "https://github.com/LLNL/Mitos/archive/v0.9.1.tar.gz"
+ git = "https://github.com/llnl/Mitos.git"
- version('0.9.2', commit='8cb143a2e8c00353ff531a781a9ca0992b0aaa3d')
- version('0.9.1', sha256='67abe227d2f9b4d2f235031b526d3ceb2c4792ad98772b1b1d5af0d227a795fc')
+ version("0.9.2", commit="8cb143a2e8c00353ff531a781a9ca0992b0aaa3d")
+ version("0.9.1", sha256="67abe227d2f9b4d2f235031b526d3ceb2c4792ad98772b1b1d5af0d227a795fc")
- depends_on('dyninst@8.2.1:')
- depends_on('hwloc')
- depends_on('mpi')
- depends_on('cmake@2.8:', type='build')
+ depends_on("dyninst@8.2.1:")
+ depends_on("hwloc")
+ depends_on("mpi")
+ depends_on("cmake@2.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py
index 649569d68e..efbfd8e0a1 100644
--- a/var/spack/repos/builtin/packages/mivisionx/package.py
+++ b/var/spack/repos/builtin/packages/mivisionx/package.py
@@ -12,101 +12,170 @@ class Mivisionx(CMakePackage):
applications bundled into a single toolkit."""
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-5.1.3.tar.gz"
+ git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX.git"
+ url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-5.1.3.tar.gz"
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
def url_for_version(self, version):
- if version == Version('1.7'):
+ if version == Version("1.7"):
return "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/1.7.tar.gz"
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz"
return url.format(version)
- version('5.1.3', sha256='62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9')
- version('5.1.0', sha256='e082415cc2fb859c53a6d6e5d72ca4529f6b4d56a4abe274dc374faaa5910513')
- version('5.0.2', sha256='da730c2347b7f2d0cb7a262f8305750988f18e9f1eb206cf297bacaab2f6b408')
- version('5.0.0', sha256='935113feb71eced2b5f21fffc2a90a188b4ef2fe009c50f0445504cb27fbc58c')
- version('4.5.2', sha256='26fd7fbd2e319bf4a8657900ad2f81bba1ae66745c2ba95f2f87e33903cfe69c')
- version('4.5.0', sha256='518834893d3fcdb7ecff179b3f3992ca1aacb30b6d95711c74918abb6f80b925')
- version('4.3.1', sha256='d77d63c0f148870dcd2a39a823e94b28adef9e84d2c37dfc3b05db5de4d7af83', deprecated=True)
- version('4.3.0', sha256='31f6ab9fb7f40b23d4b24c9a70f809623720943e0492c3d357dd22dcfa50efb2', deprecated=True)
- version('4.2.0', sha256='172857b1b340373ae81ed6aa241559aa781e32250e75c82d7ba3c002930a8a3a', deprecated=True)
- version('4.1.0', sha256='0b431a49807682b9a81adac6a64160a0712ddaa3963e0f05595c93b92be777ea', deprecated=True)
- version('4.0.0', sha256='e09d4890b729740ded056b3974daea84c8eb1fc93714c52bf89f853c2eef1fb5', deprecated=True)
- version('3.10.0', sha256='8a67fae77a05ef60a501e64a572a7bd2ccb9243518b1414112ccd1d1f78d08c8', deprecated=True)
- version('3.9.0', sha256='892812cc6e6977ed8cd4b69c63f4c17be43b83c78eeafd9549236c17f6eaa2af', deprecated=True)
- version('3.8.0', sha256='4e177a9b5dcae671d6ea9f0686cf5f73fcd1e3feb3c50425c8c6d43ac5d77feb', deprecated=True)
- version('3.7.0', sha256='3ce13c6449739c653139fc121411d94eaa9d764d3d339c4c78fab4b8aa199965', deprecated=True)
- version('1.7', sha256='ff77142fd4d4a93136fd0ac17348861f10e8f5d5f656fa9dacee08d8fcd2b1d8', deprecated=True)
+ version("5.1.3", sha256="62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9")
+ version("5.1.0", sha256="e082415cc2fb859c53a6d6e5d72ca4529f6b4d56a4abe274dc374faaa5910513")
+ version("5.0.2", sha256="da730c2347b7f2d0cb7a262f8305750988f18e9f1eb206cf297bacaab2f6b408")
+ version("5.0.0", sha256="935113feb71eced2b5f21fffc2a90a188b4ef2fe009c50f0445504cb27fbc58c")
+ version("4.5.2", sha256="26fd7fbd2e319bf4a8657900ad2f81bba1ae66745c2ba95f2f87e33903cfe69c")
+ version("4.5.0", sha256="518834893d3fcdb7ecff179b3f3992ca1aacb30b6d95711c74918abb6f80b925")
+ version(
+ "4.3.1",
+ sha256="d77d63c0f148870dcd2a39a823e94b28adef9e84d2c37dfc3b05db5de4d7af83",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="31f6ab9fb7f40b23d4b24c9a70f809623720943e0492c3d357dd22dcfa50efb2",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="172857b1b340373ae81ed6aa241559aa781e32250e75c82d7ba3c002930a8a3a",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="0b431a49807682b9a81adac6a64160a0712ddaa3963e0f05595c93b92be777ea",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="e09d4890b729740ded056b3974daea84c8eb1fc93714c52bf89f853c2eef1fb5",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="8a67fae77a05ef60a501e64a572a7bd2ccb9243518b1414112ccd1d1f78d08c8",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="892812cc6e6977ed8cd4b69c63f4c17be43b83c78eeafd9549236c17f6eaa2af",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="4e177a9b5dcae671d6ea9f0686cf5f73fcd1e3feb3c50425c8c6d43ac5d77feb",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="3ce13c6449739c653139fc121411d94eaa9d764d3d339c4c78fab4b8aa199965",
+ deprecated=True,
+ )
+ version(
+ "1.7",
+ sha256="ff77142fd4d4a93136fd0ac17348861f10e8f5d5f656fa9dacee08d8fcd2b1d8",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('backend', default='OPENCL', values=("HIP", "OPENCL"), description='backend type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("backend", default="OPENCL", values=("HIP", "OPENCL"), description="backend type")
def patch(self):
- if '@4.2.0' in self.spec:
- filter_file('${ROCM_PATH}/opencl',
- 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)
- if '@4.5.0:' in self.spec:
- filter_file('${ROCM_PATH}/miopen',
- self.spec['miopen-hip'].prefix.miopen,
- 'amd_openvx_extensions/CMakeLists.txt',
- string=True)
- filter_file('${ROCM_PATH}/bin',
- self.spec['hip'].prefix.bin,
- 'amd_openvx/openvx/hipvx/CMakeLists.txt',
- string=True)
- filter_file('${ROCM_PATH}/bin',
- self.spec['hip'].prefix.bin,
- 'amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt',
- string=True)
+ if "@4.2.0" in self.spec:
+ filter_file(
+ "${ROCM_PATH}/opencl",
+ 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,
+ )
+ if "@4.5.0:" in self.spec:
+ filter_file(
+ "${ROCM_PATH}/miopen",
+ self.spec["miopen-hip"].prefix.miopen,
+ "amd_openvx_extensions/CMakeLists.txt",
+ string=True,
+ )
+ filter_file(
+ "${ROCM_PATH}/bin",
+ self.spec["hip"].prefix.bin,
+ "amd_openvx/openvx/hipvx/CMakeLists.txt",
+ string=True,
+ )
+ filter_file(
+ "${ROCM_PATH}/bin",
+ self.spec["hip"].prefix.bin,
+ "amd_openvx_extensions/amd_nn/nn_hip/CMakeLists.txt",
+ string=True,
+ )
def flag_handler(self, name, flags):
spec = self.spec
- protobuf = spec['protobuf'].prefix.include
- if name == 'cxxflags':
- flags.append('-I{0}'.format(protobuf))
+ protobuf = spec["protobuf"].prefix.include
+ if name == "cxxflags":
+ flags.append("-I{0}".format(protobuf))
return (flags, None, None)
- depends_on('cmake@3.5:', type='build')
- depends_on('ffmpeg@:4', type='build')
- depends_on('protobuf@:3', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ffmpeg@:4", type="build")
+ depends_on("protobuf@:3", type="build")
depends_on(
- 'opencv@:3.4'
- '+calib3d+features2d+highgui+imgcodecs+imgproc'
- '+video+videoio+flann+photo+objdetect',
- type='build'
+ "opencv@:3.4"
+ "+calib3d+features2d+highgui+imgcodecs+imgproc"
+ "+video+videoio+flann+photo+objdetect",
+ type="build",
)
- depends_on('rocm-opencl@3.5.0', when='@1.7')
- depends_on('rocm-cmake@3.5.0', type='build', when='@1.7')
- depends_on('miopen-opencl@3.5.0', when='@1.7')
- depends_on('miopengemm@1.1.6', when='@1.7')
- depends_on('openssl', when='@4.0.0:')
- conflicts('^cmake@3.22:', when='@:5.0.0')
+ depends_on("rocm-opencl@3.5.0", when="@1.7")
+ depends_on("rocm-cmake@3.5.0", type="build", when="@1.7")
+ depends_on("miopen-opencl@3.5.0", when="@1.7")
+ depends_on("miopengemm@1.1.6", when="@1.7")
+ depends_on("openssl", when="@4.0.0:")
+ conflicts("^cmake@3.22:", when="@:5.0.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', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-opencl@' + ver, when='@' + ver)
- depends_on('miopengemm@' + ver, when='@' + ver)
- depends_on('miopen-opencl@' + ver, when='@' + ver)
- for ver in ['4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('miopen-hip@' + 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-opencl@" + ver, when="@" + ver)
+ depends_on("miopengemm@" + ver, when="@" + ver)
+ depends_on("miopen-opencl@" + ver, when="@" + ver)
+ for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0", "5.1.3"]:
+ depends_on("miopen-hip@" + ver, when="@" + ver)
def cmake_args(self):
spec = self.spec
- protobuf = spec['protobuf'].prefix.include
+ protobuf = spec["protobuf"].prefix.include
args = [
- self.define('CMAKE_CXX_FLAGS', '-I{0}'.format(protobuf)),
- self.define_from_variant('BACKEND', 'backend'),
- self.define('HIP_PATH', spec['hip'].prefix),
- self.define('HSA_PATH', spec['hsa-rocr-dev'].prefix)
+ self.define("CMAKE_CXX_FLAGS", "-I{0}".format(protobuf)),
+ self.define_from_variant("BACKEND", "backend"),
+ self.define("HIP_PATH", spec["hip"].prefix),
+ self.define("HSA_PATH", spec["hsa-rocr-dev"].prefix),
]
return args
diff --git a/var/spack/repos/builtin/packages/mixcr/package.py b/var/spack/repos/builtin/packages/mixcr/package.py
index fe591db1d4..ec82d84154 100644
--- a/var/spack/repos/builtin/packages/mixcr/package.py
+++ b/var/spack/repos/builtin/packages/mixcr/package.py
@@ -16,14 +16,14 @@ class Mixcr(Package):
gene segments."""
homepage = "https://mixcr.readthedocs.io/en/master/index.html"
- url = "https://github.com/milaboratory/mixcr/releases/download/v3.0.2/mixcr-3.0.2.zip"
+ url = "https://github.com/milaboratory/mixcr/releases/download/v3.0.2/mixcr-3.0.2.zip"
- version('3.0.2', sha256='b4dcad985053438d5f5590555f399edfbd8cb514e1b9717620ee0ad0b5eb6b33')
+ version("3.0.2", sha256="b4dcad985053438d5f5590555f399edfbd8cb514e1b9717620ee0ad0b5eb6b33")
- depends_on('java@8:')
+ depends_on("java@8:")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/mkfontdir/package.py b/var/spack/repos/builtin/packages/mkfontdir/package.py
index 411f108fb0..7783c59252 100644
--- a/var/spack/repos/builtin/packages/mkfontdir/package.py
+++ b/var/spack/repos/builtin/packages/mkfontdir/package.py
@@ -14,9 +14,9 @@ class Mkfontdir(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/mkfontdir"
xorg_mirror_path = "app/mkfontdir-1.0.7.tar.gz"
- version('1.0.7', sha256='bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7')
+ version("1.0.7", sha256="bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7")
- depends_on('mkfontscale', type='run')
+ depends_on("mkfontscale", type="run")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/mkfontscale/package.py b/var/spack/repos/builtin/packages/mkfontscale/package.py
index da3f324ecd..95e6c8fcd6 100644
--- a/var/spack/repos/builtin/packages/mkfontscale/package.py
+++ b/var/spack/repos/builtin/packages/mkfontscale/package.py
@@ -13,11 +13,11 @@ class Mkfontscale(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/mkfontscale"
xorg_mirror_path = "app/mkfontscale-1.1.2.tar.gz"
- version('1.1.2', sha256='8bba59e60fbc4cb082092cf6b67e810b47b4fe64fbc77dbea1d7e7d55312b2e4')
+ version("1.1.2", sha256="8bba59e60fbc4cb082092cf6b67e810b47b4fe64fbc77dbea1d7e7d55312b2e4")
- depends_on('libfontenc')
- depends_on('freetype')
+ depends_on("libfontenc")
+ depends_on("freetype")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/mlhka/package.py b/var/spack/repos/builtin/packages/mlhka/package.py
index e31a71da48..930e4075ae 100644
--- a/var/spack/repos/builtin/packages/mlhka/package.py
+++ b/var/spack/repos/builtin/packages/mlhka/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class Mlhka(Package):
"""A maximum likelihood ratio test of natural selection, using polymorphism
- and divergence data."""
+ and divergence data."""
homepage = "https://wright.eeb.utoronto.ca"
- git = "https://github.com/rossibarra/MLHKA.git"
+ git = "https://github.com/rossibarra/MLHKA.git"
- version('2.1', commit='e735ddd39073af58da21b00b27dea203736e5467')
+ version("2.1", commit="e735ddd39073af58da21b00b27dea203736e5467")
def install(self, spec, prefix):
- cxx = which('c++')
- cxx('MLHKA_version{0}.cpp'.format(self.version), '-o', 'MLHKA')
+ cxx = which("c++")
+ cxx("MLHKA_version{0}.cpp".format(self.version), "-o", "MLHKA")
mkdirp(prefix.bin)
- install('MLHKA', prefix.bin)
+ install("MLHKA", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mlirmiopen/package.py b/var/spack/repos/builtin/packages/mlirmiopen/package.py
index b13df1d0b8..3539ce4dbb 100644
--- a/var/spack/repos/builtin/packages/mlirmiopen/package.py
+++ b/var/spack/repos/builtin/packages/mlirmiopen/package.py
@@ -13,47 +13,45 @@ class Mlirmiopen(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir"
url = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir/archive/refs/tags/rocm-5.1.3.tar.gz"
git = "https://github.com/ROCmSoftwarePlatform/llvm-project-mlir.git"
- tags = ['rocm']
-
- maintainers = ['srekolam']
-
- version('5.1.3', sha256='936f92707ffe9a1973728503db6365bb7f14e5aeccfaef9f0924e54d25080c69')
- version('5.1.0', sha256='56dab11877295784cbb754c10bf2bd6535a3dfea31ec0b97ffe77b94115109dc')
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('python', type='build')
- depends_on('z3', type='link')
- depends_on('zlib', type='link')
- depends_on('ncurses+termlib', type='link')
- depends_on('bzip2')
- depends_on('sqlite')
- depends_on('half')
- depends_on('pkgconfig', type='build')
-
- for ver in ['5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
+ tags = ["rocm"]
+
+ maintainers = ["srekolam"]
+
+ version("5.1.3", sha256="936f92707ffe9a1973728503db6365bb7f14e5aeccfaef9f0924e54d25080c69")
+ version("5.1.0", sha256="56dab11877295784cbb754c10bf2bd6535a3dfea31ec0b97ffe77b94115109dc")
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("python", type="build")
+ depends_on("z3", type="link")
+ depends_on("zlib", type="link")
+ depends_on("ncurses+termlib", type="link")
+ depends_on("bzip2")
+ depends_on("sqlite")
+ depends_on("half")
+ depends_on("pkgconfig", type="build")
+
+ for ver in ["5.1.0", "5.1.3"]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
def cmake_args(self):
spec = self.spec
- llvm_projects = [
- 'mlir',
- 'lld'
- ]
+ llvm_projects = ["mlir", "lld"]
args = [
self.define(
- 'CMAKE_CXX_COMPILER',
- '{0}/bin/clang++'.format(spec['llvm-amdgpu'].prefix)
- ),
- self.define(
- 'CMAKE_C_COMPILER',
- '{0}/bin/clang'.format(spec['llvm-amdgpu'].prefix)
+ "CMAKE_CXX_COMPILER", "{0}/bin/clang++".format(spec["llvm-amdgpu"].prefix)
),
- self.define('HIP_PATH', spec['hip'].prefix),
- self.define('BUILD_FAT_LIBMLIRMIOPEN', 'ON')
+ self.define("CMAKE_C_COMPILER", "{0}/bin/clang".format(spec["llvm-amdgpu"].prefix)),
+ self.define("HIP_PATH", spec["hip"].prefix),
+ self.define("BUILD_FAT_LIBMLIRMIOPEN", "ON"),
]
- args.extend([self.define('LLVM_ENABLE_PROJECTS', ';'.join(llvm_projects))])
+ args.extend([self.define("LLVM_ENABLE_PROJECTS", ";".join(llvm_projects))])
return args
diff --git a/var/spack/repos/builtin/packages/mlocate/package.py b/var/spack/repos/builtin/packages/mlocate/package.py
index 18751b2141..a05020c95c 100644
--- a/var/spack/repos/builtin/packages/mlocate/package.py
+++ b/var/spack/repos/builtin/packages/mlocate/package.py
@@ -13,8 +13,8 @@ class Mlocate(AutotoolsPackage):
much."""
homepage = "https://pagure.io/mlocate"
- url = "https://releases.pagure.org/mlocate/mlocate-0.26.tar.xz"
+ url = "https://releases.pagure.org/mlocate/mlocate-0.26.tar.xz"
- version('0.26', sha256='3063df79fe198fb9618e180c54baf3105b33d88fe602ff2d8570aaf944f1263e')
- version('0.25', sha256='ab95c111f9dba35b5690896180dd0a7639dbf07d70b862fcb0731264d9273951')
- version('0.24', sha256='5787bee846735e21ff57df9e345d5db73d684d2cea9efc0f387462ccfbc6796f')
+ version("0.26", sha256="3063df79fe198fb9618e180c54baf3105b33d88fe602ff2d8570aaf944f1263e")
+ version("0.25", sha256="ab95c111f9dba35b5690896180dd0a7639dbf07d70b862fcb0731264d9273951")
+ version("0.24", sha256="5787bee846735e21ff57df9e345d5db73d684d2cea9efc0f387462ccfbc6796f")
diff --git a/var/spack/repos/builtin/packages/mlperf-deepcam/package.py b/var/spack/repos/builtin/packages/mlperf-deepcam/package.py
index ca0dec9324..1998a35549 100644
--- a/var/spack/repos/builtin/packages/mlperf-deepcam/package.py
+++ b/var/spack/repos/builtin/packages/mlperf-deepcam/package.py
@@ -7,35 +7,35 @@ from spack.package import *
class MlperfDeepcam(Package, CudaPackage):
"""PyTorch implementation for the climate segmentation benchmark,
- based on the Exascale Deep Learning for Climate Analytics"""
+ based on the Exascale Deep Learning for Climate Analytics"""
homepage = "https://github.com/azrael417/mlperf-deepcam"
- git = "https://github.com/azrael417/mlperf-deepcam.git"
-
- version('master', branch='master')
-
- tags = ['proxy-app']
-
- depends_on('python@3:', type=('build', 'run'))
-
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-pycuda', type=('build', 'run'))
- depends_on('py-mpi4py', type=('build', 'run'))
- depends_on('py-torch+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch~cuda~cudnn~nccl', when='~cuda', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-basemap', type=('build', 'run'))
- depends_on('py-pillow', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pillow', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-apex', type=('build', 'run'))
- depends_on('py-wandb', type=('build', 'run'))
- depends_on('py-apex', type=('build', 'run'))
- depends_on('py-mlperf-logging', type=('build', 'run'))
- depends_on('py-pytorch-gradual-warmup-lr', type=('build', 'run'))
+ git = "https://github.com/azrael417/mlperf-deepcam.git"
+
+ version("master", branch="master")
+
+ tags = ["proxy-app"]
+
+ depends_on("python@3:", type=("build", "run"))
+
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-pycuda", type=("build", "run"))
+ depends_on("py-mpi4py", type=("build", "run"))
+ depends_on("py-torch+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch~cuda~cudnn~nccl", when="~cuda", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-basemap", type=("build", "run"))
+ depends_on("py-pillow", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pillow", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-apex", type=("build", "run"))
+ depends_on("py-wandb", type=("build", "run"))
+ depends_on("py-apex", type=("build", "run"))
+ depends_on("py-mlperf-logging", type=("build", "run"))
+ depends_on("py-pytorch-gradual-warmup-lr", type=("build", "run"))
def install(self, spec, prefix):
# Mostly about providing an environment so just copy everything
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/mmg/package.py b/var/spack/repos/builtin/packages/mmg/package.py
index 32df11c461..45c6346d39 100644
--- a/var/spack/repos/builtin/packages/mmg/package.py
+++ b/var/spack/repos/builtin/packages/mmg/package.py
@@ -24,37 +24,37 @@ class Mmg(CMakePackage):
"""
homepage = "https://www.mmgtools.org/"
- url = "https://github.com/MmgTools/mmg/archive/v5.3.13.tar.gz"
+ url = "https://github.com/MmgTools/mmg/archive/v5.3.13.tar.gz"
- version('5.6.0', sha256='bbf9163d65bc6e0f81dd3acc5a51e4a8c47a7fdae849abc26277e01154fe2437')
- version('5.5.2', sha256='58e3b866101e6f0686758e16bcf9fb5fb06c85184533fc5054ef1c8adfd4be73')
- version('5.4.0', sha256='2b5cc505018859856766be901797ff5d4789f89377038a0211176a5571039750')
- version('5.3.13', sha256='d9a5925b69b0433f942ab2c8e55659d9ccea758743354b43d54fdf88a6c3c191')
+ version("5.6.0", sha256="bbf9163d65bc6e0f81dd3acc5a51e4a8c47a7fdae849abc26277e01154fe2437")
+ version("5.5.2", sha256="58e3b866101e6f0686758e16bcf9fb5fb06c85184533fc5054ef1c8adfd4be73")
+ version("5.4.0", sha256="2b5cc505018859856766be901797ff5d4789f89377038a0211176a5571039750")
+ version("5.3.13", sha256="d9a5925b69b0433f942ab2c8e55659d9ccea758743354b43d54fdf88a6c3c191")
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('scotch', default=True, description='Enable SCOTCH library support')
- variant('doc', default=False, description='Build documentation')
- variant('vtk', default=False, when='@5.5.0:', description='Enable VTK I/O support')
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("scotch", default=True, description="Enable SCOTCH library support")
+ variant("doc", default=False, description="Build documentation")
+ variant("vtk", default=False, when="@5.5.0:", description="Enable VTK I/O support")
- depends_on('scotch', when='+scotch')
- depends_on('doxygen', when='+doc')
- depends_on('vtk', when='+vtk')
+ depends_on("scotch", when="+scotch")
+ depends_on("doxygen", when="+doc")
+ depends_on("vtk", when="+vtk")
def cmake_args(self):
args = []
- args.append(self.define_from_variant('USE_SCOTCH', 'scotch'))
- args.append(self.define_from_variant('USE_VTK', 'vtk'))
+ args.append(self.define_from_variant("USE_SCOTCH", "scotch"))
+ args.append(self.define_from_variant("USE_VTK", "vtk"))
- if '+shared' in self.spec:
- args.append('-DLIBMMG3D_SHARED=ON')
- args.append('-DLIBMMG2D_SHARED=ON')
- args.append('-DLIBMMGS_SHARED=ON')
- args.append('-DLIBMMG_SHARED=ON')
+ if "+shared" in self.spec:
+ args.append("-DLIBMMG3D_SHARED=ON")
+ args.append("-DLIBMMG2D_SHARED=ON")
+ args.append("-DLIBMMGS_SHARED=ON")
+ args.append("-DLIBMMG_SHARED=ON")
else:
- args.append('-DLIBMMG3D_STATIC=ON')
- args.append('-DLIBMMG2D_STATIC=ON')
- args.append('-DLIBMMGS_STATIC=ON')
- args.append('-DLIBMMG_STATIC=ON')
+ args.append("-DLIBMMG3D_STATIC=ON")
+ args.append("-DLIBMMG2D_STATIC=ON")
+ args.append("-DLIBMMGS_STATIC=ON")
+ args.append("-DLIBMMG_STATIC=ON")
return args
diff --git a/var/spack/repos/builtin/packages/mmv/package.py b/var/spack/repos/builtin/packages/mmv/package.py
index 30b628b26e..a37a1f7a07 100644
--- a/var/spack/repos/builtin/packages/mmv/package.py
+++ b/var/spack/repos/builtin/packages/mmv/package.py
@@ -13,33 +13,33 @@ class Mmv(MakefilePackage):
move/copy/append/link multiple files according to a set of wildcard
patterns. This multiple action is performed safely, i.e. without any
unexpected deletion of files due to collisions of target names with
- existing filenames or with other target names. """
+ existing filenames or with other target names."""
homepage = "https://packages.debian.org/source/buster/mmv"
- url = "https://deb.debian.org/debian/pool/main/m/mmv/mmv_1.01b.orig.tar.gz"
+ url = "https://deb.debian.org/debian/pool/main/m/mmv/mmv_1.01b.orig.tar.gz"
- version('1.01b', sha256='0399c027ea1e51fd607266c1e33573866d4db89f64a74be8b4a1d2d1ff1fdeef')
+ version("1.01b", sha256="0399c027ea1e51fd607266c1e33573866d4db89f64a74be8b4a1d2d1ff1fdeef")
- patch('better-diagnostics-for-directories-584850.diff')
- patch('format-security.diff')
- patch('man-page-examples.diff')
- patch('man-page-fixes.diff')
- patch('man-page-warning-149873.diff')
- patch('patches-as-of-mmv-1.01b-15.diff')
- patch('utime.diff')
+ patch("better-diagnostics-for-directories-584850.diff")
+ patch("format-security.diff")
+ patch("man-page-examples.diff")
+ patch("man-page-fixes.diff")
+ patch("man-page-warning-149873.diff")
+ patch("patches-as-of-mmv-1.01b-15.diff")
+ patch("utime.diff")
def build(self, spec, prefix):
cc = Executable(self.compiler.cc)
- cc('-DIS_SYSV', '-DHAS_DIRENT', '-DHAS_RENAME', '-O2', '-o', 'mmv', 'mmv.c')
+ cc("-DIS_SYSV", "-DHAS_DIRENT", "-DHAS_RENAME", "-O2", "-o", "mmv", "mmv.c")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('mmv', prefix.bin)
- os.symlink(join_path(prefix.bin, 'mmv'), 'mad')
- os.symlink(join_path(prefix.bin, 'mmv'), 'mcp')
- os.symlink(join_path(prefix.bin, 'mmv'), 'mln')
+ install("mmv", prefix.bin)
+ os.symlink(join_path(prefix.bin, "mmv"), "mad")
+ os.symlink(join_path(prefix.bin, "mmv"), "mcp")
+ os.symlink(join_path(prefix.bin, "mmv"), "mln")
mkdirp(prefix.man1)
- install('mmv.1', prefix.man1)
- os.symlink(join_path(prefix.man1, 'mmv.1'), 'mad.1')
- os.symlink(join_path(prefix.man1, 'mmv.1'), 'mcp.1')
- os.symlink(join_path(prefix.man1, 'mmv.1'), 'mln.1')
+ install("mmv.1", prefix.man1)
+ os.symlink(join_path(prefix.man1, "mmv.1"), "mad.1")
+ os.symlink(join_path(prefix.man1, "mmv.1"), "mcp.1")
+ os.symlink(join_path(prefix.man1, "mmv.1"), "mln.1")
diff --git a/var/spack/repos/builtin/packages/moab/package.py b/var/spack/repos/builtin/packages/moab/package.py
index 4e3b9ca2c0..8749c65b91 100644
--- a/var/spack/repos/builtin/packages/moab/package.py
+++ b/var/spack/repos/builtin/packages/moab/package.py
@@ -20,47 +20,43 @@ class Moab(AutotoolsPackage):
git = "https://bitbucket.org/fathomteam/moab.git"
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')
- version('5.0.2', commit='01d05b1805236ef44da36f67eb2701095f2e33c7')
- version('5.0.1', commit='6cc12bd4ae3fa7c9ad81c595e4d38fa84f0884be')
- version('5.0.0', sha256='df5d5eb8c0d0dbb046de2e60aa611f276cbf007c9226c44a24ed19c570244e64')
- version('4.9.2', sha256='26611b8cc24f6b7df52eb4ecbd31523d61523da0524b5a2d066a7656e2e82ac5')
- version('4.9.1', sha256='b26cee46c096157323cafe047ad58616e16ebdb1e06caf6878673817cb4410cf')
- version('4.9.0', sha256='267a7c05da847e4ea856db2c649a5484fb7bdc132ab56721ca50ee69a7389f4d')
- version('4.8.2', sha256='b105cff42930058dc14eabb9a25e979df7289b175732fe319d2494e83e09e968')
-
- variant('mpi', default=True, description='enable mpi support')
- variant('hdf5', default=True,
- description='Required to enable the hdf5 (default I/O) format')
- variant('netcdf', default=False,
- description='Required to enable the ExodusII reader/writer.')
- variant('pnetcdf', default=False,
- description='Enable pnetcdf (AKA parallel-netcdf) support')
- variant('zoltan', default=False, description='Enable zoltan support')
- variant('cgm', default=False, description='Enable common geometric module')
- variant('metis', default=True, description='Enable metis link')
- variant('parmetis', default=True, description='Enable parmetis link')
- variant('irel', default=False, description='Enable irel interface')
- variant('fbigeom', default=False, description='Enable fbigeom interface')
- variant('coupler', default=True, description='Enable mbcoupler tool')
- variant('dagmc', default=False, description='Enable dagmc tool')
-
- variant("debug", default=False, description='enable debug symbols')
- variant('shared', default=False,
- description='Enables the build of shared libraries')
- variant('fortran', default=True, description='Enable Fortran support')
-
- conflicts('+irel', when='~cgm')
- conflicts('+pnetcdf', when='~mpi')
- conflicts('+parmetis', when='~mpi')
- conflicts('+coupler', when='~mpi')
+ 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")
+ version("5.0.2", commit="01d05b1805236ef44da36f67eb2701095f2e33c7")
+ version("5.0.1", commit="6cc12bd4ae3fa7c9ad81c595e4d38fa84f0884be")
+ version("5.0.0", sha256="df5d5eb8c0d0dbb046de2e60aa611f276cbf007c9226c44a24ed19c570244e64")
+ version("4.9.2", sha256="26611b8cc24f6b7df52eb4ecbd31523d61523da0524b5a2d066a7656e2e82ac5")
+ version("4.9.1", sha256="b26cee46c096157323cafe047ad58616e16ebdb1e06caf6878673817cb4410cf")
+ version("4.9.0", sha256="267a7c05da847e4ea856db2c649a5484fb7bdc132ab56721ca50ee69a7389f4d")
+ version("4.8.2", sha256="b105cff42930058dc14eabb9a25e979df7289b175732fe319d2494e83e09e968")
+
+ variant("mpi", default=True, description="enable mpi support")
+ variant("hdf5", default=True, description="Required to enable the hdf5 (default I/O) format")
+ variant("netcdf", default=False, description="Required to enable the ExodusII reader/writer.")
+ variant("pnetcdf", default=False, description="Enable pnetcdf (AKA parallel-netcdf) support")
+ variant("zoltan", default=False, description="Enable zoltan support")
+ variant("cgm", default=False, description="Enable common geometric module")
+ variant("metis", default=True, description="Enable metis link")
+ variant("parmetis", default=True, description="Enable parmetis link")
+ variant("irel", default=False, description="Enable irel interface")
+ variant("fbigeom", default=False, description="Enable fbigeom interface")
+ variant("coupler", default=True, description="Enable mbcoupler tool")
+ variant("dagmc", default=False, description="Enable dagmc tool")
+
+ variant("debug", default=False, description="enable debug symbols")
+ variant("shared", default=False, description="Enables the build of shared libraries")
+ variant("fortran", default=True, description="Enable Fortran support")
+
+ conflicts("+irel", when="~cgm")
+ conflicts("+pnetcdf", when="~mpi")
+ conflicts("+parmetis", when="~mpi")
+ conflicts("+coupler", when="~mpi")
# There are many possible variants for MOAB. Here are examples for
# two of them:
@@ -70,139 +66,140 @@ class Moab(AutotoolsPackage):
# depends_on('cgns', when='+cgns')
# depends_on('vtk', when='+vtk')
- depends_on('autoconf', type='build', when='@master,5.0.1:')
- depends_on('automake', type='build', when='@master,5.0.1:')
- depends_on('libtool', type='build', when='@master,5.0.1:')
- depends_on('m4', type='build', when='@master,5.0.1:')
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5', when='+hdf5')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('netcdf-c', when='+netcdf')
- depends_on('parallel-netcdf', when='+pnetcdf')
- depends_on('cgm', when='+cgm')
- depends_on('metis', when='+metis')
- depends_on('parmetis', when='+parmetis')
+ depends_on("autoconf", type="build", when="@master,5.0.1:")
+ depends_on("automake", type="build", when="@master,5.0.1:")
+ depends_on("libtool", type="build", when="@master,5.0.1:")
+ depends_on("m4", type="build", when="@master,5.0.1:")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("parallel-netcdf", when="+pnetcdf")
+ depends_on("cgm", when="+cgm")
+ depends_on("metis", when="+metis")
+ depends_on("parmetis", when="+parmetis")
# FIXME it seems that zoltan needs to be built without fortran
- depends_on('zoltan~fortran', when='+zoltan')
+ depends_on("zoltan~fortran", when="+zoltan")
- patch('tools-492.patch', when='@4.9.2')
+ patch("tools-492.patch", when="@4.9.2")
- @run_before('configure')
+ @run_before("configure")
def remove_march_native(self):
- filter_file('-march=native', '', 'configure', string=True)
+ filter_file("-march=native", "", "configure", string=True)
def configure_args(self):
spec = self.spec
options = [
- '--enable-optimize',
- '--disable-vtkMOABReader',
- '--disable-mbtagprop',
- '--disable-mbmem',
- '--disable-spheredecomp',
- '--disable-mbsurfplot',
- '--disable-gsets',
- '--disable-mcnpmit',
- '--disable-refiner',
- '--disable-h5mtools',
- '--disable-mbcslam',
- '--with-pic',
- '--without-vtk'
+ "--enable-optimize",
+ "--disable-vtkMOABReader",
+ "--disable-mbtagprop",
+ "--disable-mbmem",
+ "--disable-spheredecomp",
+ "--disable-mbsurfplot",
+ "--disable-gsets",
+ "--disable-mcnpmit",
+ "--disable-refiner",
+ "--disable-h5mtools",
+ "--disable-mbcslam",
+ "--with-pic",
+ "--without-vtk",
]
- if '+mpi' in spec:
- options.extend([
- '--with-mpi=%s' % spec['mpi'].prefix,
- 'CXX=%s' % spec['mpi'].mpicxx,
- 'CC=%s' % spec['mpi'].mpicc,
- 'FC=%s' % spec['mpi'].mpifc
- ])
- if '+parmetis' in spec:
- options.append('--with-parmetis=%s' % spec['parmetis'].prefix)
+ if "+mpi" in spec:
+ options.extend(
+ [
+ "--with-mpi=%s" % spec["mpi"].prefix,
+ "CXX=%s" % spec["mpi"].mpicxx,
+ "CC=%s" % spec["mpi"].mpicc,
+ "FC=%s" % spec["mpi"].mpifc,
+ ]
+ )
+ if "+parmetis" in spec:
+ options.append("--with-parmetis=%s" % spec["parmetis"].prefix)
else:
- options.append('--without-parmetis')
-# FIXME: --without-mpi does not configure right
-# else:
-# options.append('--without-mpi')
+ options.append("--without-parmetis")
+ # FIXME: --without-mpi does not configure right
+ # else:
+ # options.append('--without-mpi')
- options.append('--with-blas=%s' % spec['blas'].libs.ld_flags)
- options.append('--with-lapack=%s' % spec['lapack'].libs.ld_flags)
+ options.append("--with-blas=%s" % spec["blas"].libs.ld_flags)
+ options.append("--with-lapack=%s" % spec["lapack"].libs.ld_flags)
- if '+hdf5' in spec:
- options.append('--with-hdf5=%s' % spec['hdf5'].prefix)
+ if "+hdf5" in spec:
+ options.append("--with-hdf5=%s" % spec["hdf5"].prefix)
else:
- options.append('--without-hdf5')
+ options.append("--without-hdf5")
- if '+netcdf' in spec:
- options.append('--with-netcdf=%s' % spec['netcdf-c'].prefix)
+ if "+netcdf" in spec:
+ options.append("--with-netcdf=%s" % spec["netcdf-c"].prefix)
else:
- options.append('--without-netcdf')
+ options.append("--without-netcdf")
- if '+pnetcdf' in spec:
- options.append('--with-pnetcdf=%s'
- % spec['parallel-netcdf'].prefix)
+ if "+pnetcdf" in spec:
+ options.append("--with-pnetcdf=%s" % spec["parallel-netcdf"].prefix)
else:
- options.append('--without-pnetcdf')
+ options.append("--without-pnetcdf")
- if '+cgm' in spec:
- options.append('--with-cgm=%s' % spec['cgm'].prefix)
- if '+irel' in spec:
- options.append('--enable-irel')
+ if "+cgm" in spec:
+ options.append("--with-cgm=%s" % spec["cgm"].prefix)
+ if "+irel" in spec:
+ options.append("--enable-irel")
else:
- options.append('--disable-irel')
+ options.append("--disable-irel")
else:
- options.append('--without-cgm')
- if '+fbigeom' in spec:
- options.append('--enable-fbigeom')
+ options.append("--without-cgm")
+ if "+fbigeom" in spec:
+ options.append("--enable-fbigeom")
else:
- options.append('--disable-fbigeom')
+ options.append("--disable-fbigeom")
- if '+coupler' in spec:
- options.append('--enable-mbcoupler')
+ if "+coupler" in spec:
+ options.append("--enable-mbcoupler")
else:
- options.append('--disable-mbcoupler')
+ options.append("--disable-mbcoupler")
- if '+dagmc' in spec:
- options.append('--enable-dagmc')
+ if "+dagmc" in spec:
+ options.append("--enable-dagmc")
else:
- options.append('--disable-dagmc')
+ options.append("--disable-dagmc")
- if '+metis' in spec:
- options.append('--with-metis=%s' % spec['metis'].prefix)
+ if "+metis" in spec:
+ options.append("--with-metis=%s" % spec["metis"].prefix)
else:
- options.append('--without-metis')
+ options.append("--without-metis")
- if '+parmetis' in spec:
- options.append('--with-parmetis=%s' % spec['parmetis'].prefix)
+ if "+parmetis" in spec:
+ options.append("--with-parmetis=%s" % spec["parmetis"].prefix)
else:
- options.append('--without-parmetis')
+ options.append("--without-parmetis")
- if '+zoltan' in spec:
- options.append('--with-zoltan=%s' % spec['zoltan'].prefix)
+ if "+zoltan" in spec:
+ options.append("--with-zoltan=%s" % spec["zoltan"].prefix)
else:
- options.append('--without-zoltan')
+ options.append("--without-zoltan")
- if '+debug' in spec:
- options.append('--enable-debug')
+ if "+debug" in spec:
+ options.append("--enable-debug")
else:
- options.append('--disable-debug')
+ options.append("--disable-debug")
# FIXME it seems that with cgm and shared, we have a link
# issue in tools/geometry
- if '+shared' in spec:
- options.append('--enable-shared')
+ if "+shared" in spec:
+ options.append("--enable-shared")
else:
- options.append('--disable-shared')
+ options.append("--disable-shared")
- if '~fortran' in spec:
- options.append('--disable-fortran')
+ if "~fortran" in spec:
+ options.append("--disable-fortran")
else:
- options.append('--enable-fortran')
+ options.append("--enable-fortran")
return options
# FIXME Run the install phase with -j 1. There seems to be a problem with
# parallel installations of examples
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/mochi-margo/package.py b/var/spack/repos/builtin/packages/mochi-margo/package.py
index 98c874c8b5..7feb7345fc 100644
--- a/var/spack/repos/builtin/packages/mochi-margo/package.py
+++ b/var/spack/repos/builtin/packages/mochi-margo/package.py
@@ -10,53 +10,53 @@ class MochiMargo(AutotoolsPackage):
"""A library that provides Argobots bindings to the Mercury RPC
implementation."""
- homepage = 'https://github.com/mochi-hpc/mochi-margo'
- git = 'https://github.com/mochi-hpc/mochi-margo.git'
- url = 'https://github.com/mochi-hpc/mochi-margo/archive/v0.9.tar.gz'
-
- maintainers = ['carns', 'mdorier', 'fbudin69500', 'chuckatkins']
-
- version('main', branch='main')
- version('0.9.10', sha256='b205b45fe200d1b2801ea3b913fa75d709af97abf470f4ad72a08d2839f03772')
- version('0.9.9', sha256='9e8fce88a6bd9c1002b4a6924c935ebb2e2024e3afe6618b17e23538335bd15d')
- version('0.9.8', sha256='a139e804bf0b2725433c256e8315a2ba896f1fb34d9057261a4b92df783ffbbb')
- version('0.9.7', sha256='ab45c5594f10d7d8cf8e67529b3972f7174b4ee5e3fbcd8446658490a884c5e2')
- version('0.9.6', sha256='fa339cc9621542fb398bb9fcd6b081d3578c75c3f398f3e6b05033f24ea63e33')
- version('0.9.5', sha256='b5c52477a82aa44a079f876cbb8166d0bce5a07a92bcf8a0c76670b245e728a3')
- version('0.9.4', sha256='4292e083c8375ab07bc6dd0b3b1ea2ce9c9dd864c27ac7f07c6913dcccecc746')
- version('0.9.3', sha256='1331423d4864349c3a9ec52b2114122659da310d5270fa1aea652e8ee48a0b3a')
- version('0.9.2', sha256='de88cd725c8ff3ec63412f3f5ed22ad1a56cb367c31b842c816ce40cba777f7c')
- version('0.9.1', sha256='3fe933f2d758ef23d582bc776e4f8cfae9bf9d0849b8b1f9d73ee024e218f2bc')
- version('0.9', sha256='a24376f66450cc8fd7a43043e189f8efce5a931585e53c1e2e41894a3e99b517')
- version('0.7', sha256='492d1afe2e7984fa638614a5d34486d2ff761f5599b5984efd5ae3f55cafde54')
- version('0.7.2', sha256='0ca796abdb82084813a5de033d92364910b5ad1a0df135534d6b1c36ef627859')
- version('0.7.1', sha256='eebbe02c47ed4c65ef1d4f23ffdc6a8aa2e2348ca6c51bfc3c4dfbf78fbfc30b')
- version('0.6', sha256='56feb718da2b155d7277a7b10b669516ebffaa034f811f3665ceed7ad0f19d1b')
- version('0.6.4', sha256='5ba1c72ee05aa9738d3dc4d6d01bd59790284c6c77b909c5d7756fe7049d6177')
- version('0.6.3', sha256='5f373cd554edd15cead58bd5d30093bd88d45039d06ff7738eb18b3674287c76')
- version('0.6.2', sha256='c6a6909439e1d3ba1a1693d8da66057eb7e4ec4b239c04bc7f19fc487c4c58da')
- version('0.6.1', sha256='80d8d15d0917b5522c31dc2d83136de2313d50ca05c71c5e5ad83c483a3214b7')
- version('0.5', sha256='d3b768b8300bc2cb87964e74c39b4e8eb9822d8a2e56fc93dc475ddcb1a868e3')
- version('0.5.2', sha256='73be3acaf012a85a91ac62824c93f5ee1ea0ffe4c25779ece19723f4baf9547d')
- version('0.5.1', sha256='6fdf58e189538e22341c8361ab069fc80fe5460a6869882359b295a890febad7')
- version('0.4.7', sha256='596d83b11fb2bd9950fd99c9ab12c14915ab2cda233084ae40ecae1e6c584333')
- version('0.4.6', sha256='b27447a2050ae61091bae3ff6b4d23a56153947f18847face9f98facbdb4e329')
- version('0.4.5', sha256='b0d02f73edf180f2393f54c5a980620b8d6dcd42b90efdea6866861824fa49cf')
- version('0.4.4', sha256='2e2e6e2a8a7d7385e2fe204c113cb149f30847f0b1f48ec8dd708a74280bd89e')
- version('0.4.3', sha256='61a634d6983bee2ffa06e1e2da4c541cb8f56ddd9dd9f8e04e8044fb38657475')
- version('0.4.2', sha256='91085e28f50e373b9616e1ae5c3c8d40a19a7d3776259592d8f361766890bcaa')
-
- depends_on('json-c', when='@0.9:')
- depends_on('autoconf@2.65:', type=("build"))
- depends_on('m4', type=('build'))
- depends_on('automake', type=("build"))
- depends_on('libtool', type=("build"))
- depends_on('pkgconfig', type=("build"))
- depends_on('argobots@1.0:')
+ homepage = "https://github.com/mochi-hpc/mochi-margo"
+ git = "https://github.com/mochi-hpc/mochi-margo.git"
+ url = "https://github.com/mochi-hpc/mochi-margo/archive/v0.9.tar.gz"
+
+ maintainers = ["carns", "mdorier", "fbudin69500", "chuckatkins"]
+
+ version("main", branch="main")
+ version("0.9.10", sha256="b205b45fe200d1b2801ea3b913fa75d709af97abf470f4ad72a08d2839f03772")
+ version("0.9.9", sha256="9e8fce88a6bd9c1002b4a6924c935ebb2e2024e3afe6618b17e23538335bd15d")
+ version("0.9.8", sha256="a139e804bf0b2725433c256e8315a2ba896f1fb34d9057261a4b92df783ffbbb")
+ version("0.9.7", sha256="ab45c5594f10d7d8cf8e67529b3972f7174b4ee5e3fbcd8446658490a884c5e2")
+ version("0.9.6", sha256="fa339cc9621542fb398bb9fcd6b081d3578c75c3f398f3e6b05033f24ea63e33")
+ version("0.9.5", sha256="b5c52477a82aa44a079f876cbb8166d0bce5a07a92bcf8a0c76670b245e728a3")
+ version("0.9.4", sha256="4292e083c8375ab07bc6dd0b3b1ea2ce9c9dd864c27ac7f07c6913dcccecc746")
+ version("0.9.3", sha256="1331423d4864349c3a9ec52b2114122659da310d5270fa1aea652e8ee48a0b3a")
+ version("0.9.2", sha256="de88cd725c8ff3ec63412f3f5ed22ad1a56cb367c31b842c816ce40cba777f7c")
+ version("0.9.1", sha256="3fe933f2d758ef23d582bc776e4f8cfae9bf9d0849b8b1f9d73ee024e218f2bc")
+ version("0.9", sha256="a24376f66450cc8fd7a43043e189f8efce5a931585e53c1e2e41894a3e99b517")
+ version("0.7", sha256="492d1afe2e7984fa638614a5d34486d2ff761f5599b5984efd5ae3f55cafde54")
+ version("0.7.2", sha256="0ca796abdb82084813a5de033d92364910b5ad1a0df135534d6b1c36ef627859")
+ version("0.7.1", sha256="eebbe02c47ed4c65ef1d4f23ffdc6a8aa2e2348ca6c51bfc3c4dfbf78fbfc30b")
+ version("0.6", sha256="56feb718da2b155d7277a7b10b669516ebffaa034f811f3665ceed7ad0f19d1b")
+ version("0.6.4", sha256="5ba1c72ee05aa9738d3dc4d6d01bd59790284c6c77b909c5d7756fe7049d6177")
+ version("0.6.3", sha256="5f373cd554edd15cead58bd5d30093bd88d45039d06ff7738eb18b3674287c76")
+ version("0.6.2", sha256="c6a6909439e1d3ba1a1693d8da66057eb7e4ec4b239c04bc7f19fc487c4c58da")
+ version("0.6.1", sha256="80d8d15d0917b5522c31dc2d83136de2313d50ca05c71c5e5ad83c483a3214b7")
+ version("0.5", sha256="d3b768b8300bc2cb87964e74c39b4e8eb9822d8a2e56fc93dc475ddcb1a868e3")
+ version("0.5.2", sha256="73be3acaf012a85a91ac62824c93f5ee1ea0ffe4c25779ece19723f4baf9547d")
+ version("0.5.1", sha256="6fdf58e189538e22341c8361ab069fc80fe5460a6869882359b295a890febad7")
+ version("0.4.7", sha256="596d83b11fb2bd9950fd99c9ab12c14915ab2cda233084ae40ecae1e6c584333")
+ version("0.4.6", sha256="b27447a2050ae61091bae3ff6b4d23a56153947f18847face9f98facbdb4e329")
+ version("0.4.5", sha256="b0d02f73edf180f2393f54c5a980620b8d6dcd42b90efdea6866861824fa49cf")
+ version("0.4.4", sha256="2e2e6e2a8a7d7385e2fe204c113cb149f30847f0b1f48ec8dd708a74280bd89e")
+ version("0.4.3", sha256="61a634d6983bee2ffa06e1e2da4c541cb8f56ddd9dd9f8e04e8044fb38657475")
+ version("0.4.2", sha256="91085e28f50e373b9616e1ae5c3c8d40a19a7d3776259592d8f361766890bcaa")
+
+ depends_on("json-c", when="@0.9:")
+ depends_on("autoconf@2.65:", type=("build"))
+ depends_on("m4", type=("build"))
+ depends_on("automake", type=("build"))
+ depends_on("libtool", type=("build"))
+ depends_on("pkgconfig", type=("build"))
+ depends_on("argobots@1.0:")
# "breadcrumb" support not available in mercury-1.0
- depends_on('mercury@1.0.0:', type=("build", "link", "run"), when='@:0.5.1')
- depends_on('mercury@2.0.0:', type=("build", "link", "run"), when='@0.5.2:')
+ depends_on("mercury@1.0.0:", type=("build", "link", "run"), when="@:0.5.1")
+ depends_on("mercury@2.0.0:", type=("build", "link", "run"), when="@0.5.2:")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('./prepare.sh')
+ sh = which("sh")
+ sh("./prepare.sh")
diff --git a/var/spack/repos/builtin/packages/mochi-thallium/package.py b/var/spack/repos/builtin/packages/mochi-thallium/package.py
index 0db85ce456..b5e4f1b62f 100644
--- a/var/spack/repos/builtin/packages/mochi-thallium/package.py
+++ b/var/spack/repos/builtin/packages/mochi-thallium/package.py
@@ -9,55 +9,58 @@ class MochiThallium(CMakePackage):
"""A Mochi C++14 library wrapping Margo, Mercury,
and Argobots and providing an object-oriented way to use these libraries."""
- homepage = 'https://github.com/mochi-hpc/mochi-thallium'
- url = 'https://github.com/mochi-hpc/mochi-thallium/archive/refs/tags/v0.8.5.tar.gz'
- git = 'https://github.com/mochi-hpc/mochi-thallium.git'
+ homepage = "https://github.com/mochi-hpc/mochi-thallium"
+ url = "https://github.com/mochi-hpc/mochi-thallium/archive/refs/tags/v0.8.5.tar.gz"
+ git = "https://github.com/mochi-hpc/mochi-thallium.git"
- maintainers = ['mdorier']
+ maintainers = ["mdorier"]
- version('main', branch='main')
- version('0.10.1', sha256='5a8dc1f1622f4186b02fbabd47a8a33ca6be3d07757010f3d63d30e9f74fec8c')
- version('0.10.0', sha256='5319e25a42deab7c639e980885fe3be717cda2c2c693a1906f5a6c79b31edef8')
- version('0.9.1', sha256='dee884d0e054c838807f9c17781acfa99b26e3be1cc527bf09ceaa997336b3e4')
- version('0.9', sha256='6b867b73f5dd76ea160d83782980149f33ae3567c370cee63d945e2e94609331')
- version('0.8.5', sha256='2d6d1fd97ad5b38c848ece6428c27400f752d57254324bfd0f1ea660d6a815a6')
- version('0.8.4', sha256='cb3f98a399664f41917a9a046fac3058f6ec53c85174dd97d5befd361bec0727')
- version('0.8.3', sha256='47b7837796ebd362b993cda5131912372c4abbc17a6967d177e0c3687c44ab7d')
- version('0.8.2', sha256='c90e3551189bae3552aab9089ce6343995736d734199c762bb8fa790968092ed')
- version('0.8.1', sha256='3c7a72de3f77917432f9e751559f413845a68563477cc29bd127ca7126c5f64a')
- version('0.8', sha256='3032196b1e5d7031fa4f79e81a44503fd02bca3abdc25f6ae0a5f3943e6397e4')
- version('0.7', sha256='173be344445b36a6e21abc192ef228fb7ca9dbc33d4484f284b5f4d31c79b7de')
- version('0.6.1', sha256='3e13b7d615fca827baa7cbee518f33ee908752c394361ede7668f4c47770f9f3')
- version('0.6', sha256='849db7c6297f8dcbb7786a6c3a11db05b316b5f7f028e52fbab439a84986562f')
- version('0.5.4', sha256='e5dbd63c8ed9e5bb7548d9a5d04c240482115a245e1312052ca3c17b2fa4e21b')
- version('0.5.3', sha256='372567f4203840d98543da9f3d5ef3c7989735b46e60337205578d5c93cf4e02')
- version('0.5.2', sha256='fe4f92880a2e574456afd934cede109d973055db9ca2a4a915501d635e42b3e7')
- version('0.5.1', sha256='e43abe03c91e38eb865fe6179f389a66cc38f2962f6a5a7ac93b01259f15aa18')
- version('0.5', sha256='0f85bad3680e94af734eaf063ec08620d4c16e1c8f0c4f85ae1ba010fbac958c')
- version('0.4.2', sha256='cf04efbf01bcbecac121fbc5f5c0d40dca2074638c0682c86f55e72121f64829')
- version('0.4.1', sha256='65136c01f276be70592e600a8942cee76164ea4c9646f2deecc9fd83b3c5bcfc')
- version('0.4', sha256='51b7efe8706f47a1508624bbfba12d800a8374ac1db076897c7d01d85621d30f')
- version('0.3.4', sha256='1f0e56c4a8d1285dcc288a50dadd7803a9cd0a311dd7798fec0b0800877d933a')
- version('0.3.3', sha256='33a31d5ccba781343f0ec18396f895e5ed60d9a52b35d3667698754e2a8a639a')
- version('0.3.2', sha256='7d90269101c881af40b73b0ffe1d55baa7203075b277fe8763735cc52278cee5')
- version('0.3.1', sha256='61403b1ba5f4d205408e6a7e04c785df6dea02f59fe9fa1742db05aa752cc8a0')
- version('0.3', sha256='4f9f78e52c1725f6ea5f933d7548bde36729dd9eff08f58fe7fe40682bc5f748')
+ version("main", branch="main")
+ version("0.10.1", sha256="5a8dc1f1622f4186b02fbabd47a8a33ca6be3d07757010f3d63d30e9f74fec8c")
+ version("0.10.0", sha256="5319e25a42deab7c639e980885fe3be717cda2c2c693a1906f5a6c79b31edef8")
+ version("0.9.1", sha256="dee884d0e054c838807f9c17781acfa99b26e3be1cc527bf09ceaa997336b3e4")
+ version("0.9", sha256="6b867b73f5dd76ea160d83782980149f33ae3567c370cee63d945e2e94609331")
+ version("0.8.5", sha256="2d6d1fd97ad5b38c848ece6428c27400f752d57254324bfd0f1ea660d6a815a6")
+ version("0.8.4", sha256="cb3f98a399664f41917a9a046fac3058f6ec53c85174dd97d5befd361bec0727")
+ version("0.8.3", sha256="47b7837796ebd362b993cda5131912372c4abbc17a6967d177e0c3687c44ab7d")
+ version("0.8.2", sha256="c90e3551189bae3552aab9089ce6343995736d734199c762bb8fa790968092ed")
+ version("0.8.1", sha256="3c7a72de3f77917432f9e751559f413845a68563477cc29bd127ca7126c5f64a")
+ version("0.8", sha256="3032196b1e5d7031fa4f79e81a44503fd02bca3abdc25f6ae0a5f3943e6397e4")
+ version("0.7", sha256="173be344445b36a6e21abc192ef228fb7ca9dbc33d4484f284b5f4d31c79b7de")
+ version("0.6.1", sha256="3e13b7d615fca827baa7cbee518f33ee908752c394361ede7668f4c47770f9f3")
+ version("0.6", sha256="849db7c6297f8dcbb7786a6c3a11db05b316b5f7f028e52fbab439a84986562f")
+ version("0.5.4", sha256="e5dbd63c8ed9e5bb7548d9a5d04c240482115a245e1312052ca3c17b2fa4e21b")
+ version("0.5.3", sha256="372567f4203840d98543da9f3d5ef3c7989735b46e60337205578d5c93cf4e02")
+ version("0.5.2", sha256="fe4f92880a2e574456afd934cede109d973055db9ca2a4a915501d635e42b3e7")
+ version("0.5.1", sha256="e43abe03c91e38eb865fe6179f389a66cc38f2962f6a5a7ac93b01259f15aa18")
+ version("0.5", sha256="0f85bad3680e94af734eaf063ec08620d4c16e1c8f0c4f85ae1ba010fbac958c")
+ version("0.4.2", sha256="cf04efbf01bcbecac121fbc5f5c0d40dca2074638c0682c86f55e72121f64829")
+ version("0.4.1", sha256="65136c01f276be70592e600a8942cee76164ea4c9646f2deecc9fd83b3c5bcfc")
+ version("0.4", sha256="51b7efe8706f47a1508624bbfba12d800a8374ac1db076897c7d01d85621d30f")
+ version("0.3.4", sha256="1f0e56c4a8d1285dcc288a50dadd7803a9cd0a311dd7798fec0b0800877d933a")
+ version("0.3.3", sha256="33a31d5ccba781343f0ec18396f895e5ed60d9a52b35d3667698754e2a8a639a")
+ version("0.3.2", sha256="7d90269101c881af40b73b0ffe1d55baa7203075b277fe8763735cc52278cee5")
+ version("0.3.1", sha256="61403b1ba5f4d205408e6a7e04c785df6dea02f59fe9fa1742db05aa752cc8a0")
+ version("0.3", sha256="4f9f78e52c1725f6ea5f933d7548bde36729dd9eff08f58fe7fe40682bc5f748")
- variant('cereal', default=True,
- description='Use the cereal library for serialization',
- when='@0.4.1:')
+ variant(
+ "cereal",
+ default=True,
+ description="Use the cereal library for serialization",
+ when="@0.4.1:",
+ )
- depends_on('pkgconfig', type=('build'))
- depends_on('mochi-margo@0.9.8:', when='@0.10.0:')
- depends_on('mochi-margo@0.7:', when='@0.7:')
- depends_on('mochi-margo@0.6:', when='@0.5:')
- depends_on('mochi-margo@0.5:', when='@0.4:0.4.2')
- depends_on('mochi-margo@0.4:', when='@:0.3.4')
- with when('+cereal'):
- depends_on('cereal@:1.3.0', when='@0.4.1:0.10.0')
- depends_on('cereal@1.3.1:', when='@0.10.1:')
+ depends_on("pkgconfig", type=("build"))
+ depends_on("mochi-margo@0.9.8:", when="@0.10.0:")
+ depends_on("mochi-margo@0.7:", when="@0.7:")
+ depends_on("mochi-margo@0.6:", when="@0.5:")
+ depends_on("mochi-margo@0.5:", when="@0.4:0.4.2")
+ depends_on("mochi-margo@0.4:", when="@:0.3.4")
+ with when("+cereal"):
+ depends_on("cereal@:1.3.0", when="@0.4.1:0.10.0")
+ depends_on("cereal@1.3.1:", when="@0.10.1:")
# thallium relies on std::decay_t
- conflicts('%gcc@:4.9.0')
+ conflicts("%gcc@:4.9.0")
def cmake_args(self):
args = []
diff --git a/var/spack/repos/builtin/packages/model-traits/package.py b/var/spack/repos/builtin/packages/model-traits/package.py
index b19320b9d3..e18544f87a 100644
--- a/var/spack/repos/builtin/packages/model-traits/package.py
+++ b/var/spack/repos/builtin/packages/model-traits/package.py
@@ -7,52 +7,64 @@ from spack.package import *
class ModelTraits(CMakePackage):
- """ Model setup and querying in C++. """
+ """Model setup and querying in C++."""
homepage = "https://github.com/jacobmerson/model-traits/"
- url = "https://github.com/jacobmerson/model-traits/archive/refs/tags/v0.1.0.tar.gz"
- git = "https://github.com/jacobmerson/model-traits.git"
-
- maintainers = ['jacobmerson']
-
- version('0.2.1', sha256='241ce5738ea72182a570ae474aedff58751e6ea448bd174005c5520c8b5a95d1')
- version('0.2.0', sha256='f367cf96a4c1c19f6e2dcf92af6bf69b39217a01fe6f1942d4825258eca8d4bc')
- version('0.1.1', sha256='75af53b4f576071570fdcfa7a4ce150b935cf21368da41d16d8377c5b3b93713')
- version('0.1.0', sha256='ff7c1c5be6977f1d3dc592e8b6c5bff5a8b7ea80d0f059d85c02300bdb8faf2c')
- version('main', branch='main')
-
- variant('yaml', default=True, description='build the Yaml IO backend')
- variant('simmetrix', default=False, description='build the Simmetrix backend')
- variant('pumi', default=False, description='build the pumi examples')
-
- depends_on('yaml-cpp@0.6.3:', when='+yaml')
- depends_on('catch2@3.0.0-preview3:', type='test')
- depends_on('pumi', when='+pumi')
- depends_on('simmetrix-simmodsuite', when='+simmetrix')
- depends_on('fmt@7.1.3')
- depends_on('cmake@3.14.0:', type='build')
- depends_on('mpi', when='+simmetrix')
- depends_on('mpi', when='+pumi')
+ url = "https://github.com/jacobmerson/model-traits/archive/refs/tags/v0.1.0.tar.gz"
+ git = "https://github.com/jacobmerson/model-traits.git"
+
+ maintainers = ["jacobmerson"]
+
+ version("0.2.1", sha256="241ce5738ea72182a570ae474aedff58751e6ea448bd174005c5520c8b5a95d1")
+ version("0.2.0", sha256="f367cf96a4c1c19f6e2dcf92af6bf69b39217a01fe6f1942d4825258eca8d4bc")
+ version("0.1.1", sha256="75af53b4f576071570fdcfa7a4ce150b935cf21368da41d16d8377c5b3b93713")
+ version("0.1.0", sha256="ff7c1c5be6977f1d3dc592e8b6c5bff5a8b7ea80d0f059d85c02300bdb8faf2c")
+ version("main", branch="main")
+
+ variant("yaml", default=True, description="build the Yaml IO backend")
+ variant("simmetrix", default=False, description="build the Simmetrix backend")
+ variant("pumi", default=False, description="build the pumi examples")
+
+ depends_on("yaml-cpp@0.6.3:", when="+yaml")
+ depends_on("catch2@3.0.0-preview3:", type="test")
+ depends_on("pumi", when="+pumi")
+ depends_on("simmetrix-simmodsuite", when="+simmetrix")
+ depends_on("fmt@7.1.3")
+ depends_on("cmake@3.14.0:", type="build")
+ depends_on("mpi", when="+simmetrix")
+ depends_on("mpi", when="+pumi")
def cmake_args(self):
- args = [self.define('BUILD_TESTING', self.run_tests)]
- if self.spec.satisfies('@:0.1.1'):
- args.extend([self.define('BUILD_EXTERNAL', False),
- self.define_from_variant('ENABLE_SCOREC', 'pumi'),
- self.define_from_variant('ENABLE_SIMMETRIX', 'simmetrix'),
- self.define_from_variant('ENABLE_YAML', 'yaml')])
+ args = [self.define("BUILD_TESTING", self.run_tests)]
+ if self.spec.satisfies("@:0.1.1"):
+ args.extend(
+ [
+ self.define("BUILD_EXTERNAL", False),
+ self.define_from_variant("ENABLE_SCOREC", "pumi"),
+ self.define_from_variant("ENABLE_SIMMETRIX", "simmetrix"),
+ self.define_from_variant("ENABLE_YAML", "yaml"),
+ ]
+ )
else:
- args.extend([self.define('MODEL_TRAITS_BUILD_EXTERNAL', False),
- self.define_from_variant('MODEL_TRAITS_ENABLE_SCOREC', 'pumi'),
- self.define_from_variant('MODEL_TRAITS_ENABLE_SIMMETRIX',
- 'simmetrix'),
- self.define_from_variant('MODEL_TRAITS_ENABLE_YAML', 'yaml')])
+ args.extend(
+ [
+ self.define("MODEL_TRAITS_BUILD_EXTERNAL", False),
+ self.define_from_variant("MODEL_TRAITS_ENABLE_SCOREC", "pumi"),
+ self.define_from_variant("MODEL_TRAITS_ENABLE_SIMMETRIX", "simmetrix"),
+ self.define_from_variant("MODEL_TRAITS_ENABLE_YAML", "yaml"),
+ ]
+ )
if "+simmetrix" in self.spec:
- args.append(self.define('SIM_MPI', self.spec['mpi'].name +
- self.spec['mpi'].version.string))
- args.append(self.define('SKIP_SIMMETRIX_VERSION_CHECK', True))
- if '+pumi' in self.spec or "+simmetrix" in self.spec:
- args.extend([self.define("CMAKE_CXX_COMPILER", self.spec['mpi'].mpicxx),
- self.define("CMAKE_C_COMPILER", self.spec['mpi'].mpicc),
- self.define("CMAKE_Fortran_COMPILER", self.spec['mpi'].mpif77)])
+ args.append(
+ self.define("SIM_MPI", self.spec["mpi"].name + self.spec["mpi"].version.string)
+ )
+ args.append(self.define("SKIP_SIMMETRIX_VERSION_CHECK", True))
+ if "+pumi" in self.spec or "+simmetrix" in self.spec:
+ args.extend(
+ [
+ self.define("CMAKE_CXX_COMPILER", self.spec["mpi"].mpicxx),
+ self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc),
+ self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpif77),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/modeltest-ng/package.py b/var/spack/repos/builtin/packages/modeltest-ng/package.py
index e7566dfd08..524e27401b 100644
--- a/var/spack/repos/builtin/packages/modeltest-ng/package.py
+++ b/var/spack/repos/builtin/packages/modeltest-ng/package.py
@@ -10,20 +10,19 @@ class ModeltestNg(CMakePackage):
"""Best-fit model selection"""
homepage = "https://github.com/ddarriba/modeltest"
- url = "https://github.com/ddarriba/modeltest/archive/refs/tags/v0.1.7.tar.gz"
- git = "https://github.com/ddarriba/modeltest.git"
+ url = "https://github.com/ddarriba/modeltest/archive/refs/tags/v0.1.7.tar.gz"
+ git = "https://github.com/ddarriba/modeltest.git"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.1.7', commit="cc028888f1d4222aaa53b99c6b02cd934a279001", submodules=True)
+ version("0.1.7", commit="cc028888f1d4222aaa53b99c6b02cd934a279001", submodules=True)
- variant('mpi', default=False, description="Enable MPI")
+ variant("mpi", default=False, description="Enable MPI")
- depends_on('glib')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('openmpi', when='+mpi')
+ depends_on("glib")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("openmpi", when="+mpi")
def cmake_args(self):
- return [
- self.define_from_variant('ENABLE_MPI', 'mpi')]
+ return [self.define_from_variant("ENABLE_MPI", "mpi")]
diff --git a/var/spack/repos/builtin/packages/modern-wheel/package.py b/var/spack/repos/builtin/packages/modern-wheel/package.py
index 625a2a8ccf..165c07bedf 100644
--- a/var/spack/repos/builtin/packages/modern-wheel/package.py
+++ b/var/spack/repos/builtin/packages/modern-wheel/package.py
@@ -14,19 +14,19 @@ class ModernWheel(CMakePackage):
and misc patterns."""
homepage = "https://github.com/alalazo/modern_wheel"
- url = "https://github.com/alalazo/modern_wheel/archive/1.2.tar.gz"
- maintainers = ['alalazo']
+ url = "https://github.com/alalazo/modern_wheel/archive/1.2.tar.gz"
+ maintainers = ["alalazo"]
- version('1.2', sha256='48612f698d7159f0eb10d93ddc3e2682b06a54d3a836ff227636be3261aed15e')
- version('1.1', sha256='d8ba4891257b96108e9b9406a556f8ced3b71ce85c3fcdca6bfd9cc37bf010a3')
- version('1.0', sha256='b90a1e29af0b67dfa4c07f9c19b2d04fa78cd878b29a9c42bc766dabd6cb1b90')
+ version("1.2", sha256="48612f698d7159f0eb10d93ddc3e2682b06a54d3a836ff227636be3261aed15e")
+ version("1.1", sha256="d8ba4891257b96108e9b9406a556f8ced3b71ce85c3fcdca6bfd9cc37bf010a3")
+ version("1.0", sha256="b90a1e29af0b67dfa4c07f9c19b2d04fa78cd878b29a9c42bc766dabd6cb1b90")
- variant('shared', default=True,
- description='Enables the build of shared libraries')
+ variant("shared", default=True, description="Enables the build of shared libraries")
# Test implementation files cause some issues on darwin,
# needs to be investigated.
- variant('test', default=sys.platform != 'darwin',
- description='Enables the build of unit tests')
+ variant(
+ "test", default=sys.platform != "darwin", description="Enables the build of unit tests"
+ )
# FindBoost shipped with CMake up to version 3.10.2 (latest one
# up to now) is known to be unable to detect Boost >= 1.66.0.
@@ -34,14 +34,14 @@ class ModernWheel(CMakePackage):
# https://gitlab.kitware.com/cmake/cmake/issues/17575
# Until then, just assume that we cannot correctly configure
# ModernWheel with Boost >= 1.66.0.
- depends_on('boost +exception+test+system +filesystem', when='@:1.1')
- depends_on('boost@:1.65 +exception+test+system +filesystem', when='@1.2:')
+ depends_on("boost +exception+test+system +filesystem", when="@:1.1")
+ depends_on("boost@:1.65 +exception+test+system +filesystem", when="@1.2:")
# add virtual destructor to BaseMultiParms class.
- patch('add_virtual_destructor.patch')
+ patch("add_virtual_destructor.patch")
def cmake_args(self):
return [
- self.define_from_variant('BUILD_UNIT_TEST', 'test'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant("BUILD_UNIT_TEST", "test"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
diff --git a/var/spack/repos/builtin/packages/modylas/package.py b/var/spack/repos/builtin/packages/modylas/package.py
index c83c4617ea..16382a35bc 100644
--- a/var/spack/repos/builtin/packages/modylas/package.py
+++ b/var/spack/repos/builtin/packages/modylas/package.py
@@ -17,34 +17,34 @@ class Modylas(AutotoolsPackage):
"""
homepage = "https://www.modylas.org"
- url = "file://{0}/MODYLAS_1.0.4.tar.gz".format(os.getcwd())
+ url = "file://{0}/MODYLAS_1.0.4.tar.gz".format(os.getcwd())
manual_download = True
- version('1.0.4', 'e0b5cccf8e363c1182eced37aa31b06b1c5b1526da7d449a6142424ac4ea6311')
+ version("1.0.4", "e0b5cccf8e363c1182eced37aa31b06b1c5b1526da7d449a6142424ac4ea6311")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
# to define MPIPARA when +mpi
- patch('makefile.patch')
+ patch("makefile.patch")
# fix no width I in format
- patch('gcc_format.patch', when='%gcc')
+ patch("gcc_format.patch", when="%gcc")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('mpi', when='+mpi')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("mpi", when="+mpi")
- build_directory = 'source'
- configure_directory = 'source'
+ build_directory = "source"
+ configure_directory = "source"
def setup_build_environment(self, env):
- if self.spec.satisfies('+mpi'):
- env.set('FC', self.spec['mpi'].mpifc, force=True)
- fflags = ['-O3', self.compiler.openmp_flag]
- if self.spec.satisfies('%gcc'):
- fflags.append('-cpp')
- elif self.spec.satisfies('%fj'):
- fflags.append('-Cpp')
- env.set('FCFLAGS', ' '.join(fflags))
+ if self.spec.satisfies("+mpi"):
+ env.set("FC", self.spec["mpi"].mpifc, force=True)
+ fflags = ["-O3", self.compiler.openmp_flag]
+ if self.spec.satisfies("%gcc"):
+ fflags.append("-cpp")
+ elif self.spec.satisfies("%fj"):
+ fflags.append("-Cpp")
+ env.set("FCFLAGS", " ".join(fflags))
def configure_args(self):
- return self.enable_or_disable('mpi')
+ return self.enable_or_disable("mpi")
diff --git a/var/spack/repos/builtin/packages/mofem-cephas/package.py b/var/spack/repos/builtin/packages/mofem-cephas/package.py
index adbc27f63c..e540000956 100644
--- a/var/spack/repos/builtin/packages/mofem-cephas/package.py
+++ b/var/spack/repos/builtin/packages/mofem-cephas/package.py
@@ -14,29 +14,31 @@ class MofemCephas(CMakePackage):
homepage = "http://mofem.eng.gla.ac.uk"
git = "https://bitbucket.org/likask/mofem-cephas.git"
- maintainers = ['likask']
-
- version('develop', branch='develop')
- version('0.8.17', tag='v0.8.17')
- version('0.8.16', tag='v0.8.16')
- version('0.8.15', tag='v0.8.15')
- version('0.8.14', tag='v0.8.14')
- version('0.8.13', tag='v0.8.13')
- version('0.8.12', tag='v0.8.12')
- version('0.8.11', tag='v0.8.11')
- version('0.8.10', tag='v0.8.10')
- version('0.8.9', tag='v0.8.9')
- version('0.8.8', tag='v0.8.8')
- version('0.8.7', tag='v0.8.7')
+ maintainers = ["likask"]
+
+ version("develop", branch="develop")
+ version("0.8.17", tag="v0.8.17")
+ version("0.8.16", tag="v0.8.16")
+ version("0.8.15", tag="v0.8.15")
+ version("0.8.14", tag="v0.8.14")
+ version("0.8.13", tag="v0.8.13")
+ version("0.8.12", tag="v0.8.12")
+ version("0.8.11", tag="v0.8.11")
+ version("0.8.10", tag="v0.8.10")
+ version("0.8.9", tag="v0.8.9")
+ version("0.8.8", tag="v0.8.8")
+ version("0.8.7", tag="v0.8.7")
# This option can be only used for development of core lib
- variant('copy_user_modules', default=True,
- description='Copy user modules directory '
- 'instead of linking to source')
- variant('adol-c', default=True, description='Compile with ADOL-C')
- variant('tetgen', default=True, description='Compile with Tetgen')
- variant('med', default=True, description='Compile with Med')
- variant('slepc', default=False, description='Compile with Slepc')
+ variant(
+ "copy_user_modules",
+ default=True,
+ description="Copy user modules directory " "instead of linking to source",
+ )
+ variant("adol-c", default=True, description="Compile with ADOL-C")
+ variant("tetgen", default=True, description="Compile with Tetgen")
+ variant("med", default=True, description="Compile with Med")
+ variant("slepc", default=False, description="Compile with Slepc")
depends_on("mpi")
depends_on("boost@:1.68")
@@ -50,47 +52,49 @@ class MofemCephas(CMakePackage):
# packages, f.e. MED format
depends_on("hdf5@:1.8.19+hl+mpi+fortran")
depends_on("petsc@:3.9.3+mumps+mpi")
- depends_on('slepc', when='+slepc')
+ depends_on("slepc", when="+slepc")
depends_on("moab")
# Upper bound set to ADOL-C until issues with memory leaks
# for versions 2.6: fully resolved
depends_on("adol-c@2.5.2~examples", when="+adol-c")
depends_on("tetgen", when="+tetgen")
- depends_on("med", when='+med')
+ depends_on("med", when="+med")
extendable = True
- root_cmakelists_dir = 'mofem'
+ root_cmakelists_dir = "mofem"
def cmake_args(self):
spec = self.spec
options = []
# obligatory options
- options.extend([
- '-DWITH_SPACK=YES',
- '-DPETSC_DIR=%s' % spec['petsc'].prefix,
- '-DPETSC_ARCH=',
- '-DMOAB_DIR=%s' % spec['moab'].prefix,
- '-DBOOST_DIR=%s' % spec['boost'].prefix])
+ options.extend(
+ [
+ "-DWITH_SPACK=YES",
+ "-DPETSC_DIR=%s" % spec["petsc"].prefix,
+ "-DPETSC_ARCH=",
+ "-DMOAB_DIR=%s" % spec["moab"].prefix,
+ "-DBOOST_DIR=%s" % spec["boost"].prefix,
+ ]
+ )
# build tests
- options.append(self.define('MOFEM_BUILD_TESTS', self.run_tests))
+ options.append(self.define("MOFEM_BUILD_TESTS", self.run_tests))
# variant packages
- if '+adol-c' in spec:
- options.append('-DADOL-C_DIR=%s' % spec['adol-c'].prefix)
+ if "+adol-c" in spec:
+ options.append("-DADOL-C_DIR=%s" % spec["adol-c"].prefix)
- if '+tetgen' in spec:
- options.append('-DTETGEN_DIR=%s' % spec['tetgen'].prefix)
+ if "+tetgen" in spec:
+ options.append("-DTETGEN_DIR=%s" % spec["tetgen"].prefix)
- if '+med' in spec:
- options.append('-DMED_DIR=%s' % spec['med'].prefix)
+ if "+med" in spec:
+ options.append("-DMED_DIR=%s" % spec["med"].prefix)
- if '+slepc' in spec:
- options.append('-DSLEPC_DIR=%s' % spec['slepc'].prefix)
+ if "+slepc" in spec:
+ options.append("-DSLEPC_DIR=%s" % spec["slepc"].prefix)
# copy users modules, i.e. stand alone vs linked users modules
- options.append(
- self.define_from_variant('STAND_ALLONE_USERS_MODULES', 'copy_user_modules'))
+ options.append(self.define_from_variant("STAND_ALLONE_USERS_MODULES", "copy_user_modules"))
return options
diff --git a/var/spack/repos/builtin/packages/mofem-fracture-module/package.py b/var/spack/repos/builtin/packages/mofem-fracture-module/package.py
index 403d2f5283..cdf29d8759 100644
--- a/var/spack/repos/builtin/packages/mofem-fracture-module/package.py
+++ b/var/spack/repos/builtin/packages/mofem-fracture-module/package.py
@@ -13,26 +13,29 @@ class MofemFractureModule(CMakePackage):
homepage = "http://mofem.eng.gla.ac.uk"
git = "https://bitbucket.org/likask/mofem_um_fracture_mechanics.git"
- maintainers = ['likask']
-
- version('develop', branch='develop')
- version('0.9.50', tag='v0.9.50')
- version('0.9.49', tag='v0.9.49')
- version('0.9.48', tag='v0.9.48')
- version('0.9.47', tag='v0.9.47')
- version('0.9.46', tag='v0.9.46')
- version('0.9.45', tag='v0.9.45')
- version('0.9.44', tag='v0.9.44')
- version('0.9.42', tag='v0.9.42')
-
- variant('copy_user_modules', default=True,
- description='Copy user modules directory instead linking')
-
- extends('mofem-cephas')
- depends_on('mofem-users-modules@0.8.17', when='@0.9.50')
- depends_on('mofem-users-modules@0.8.16', when='@0.9.49')
- depends_on('mofem-users-modules@0.8.15', when='@0.9.48')
- depends_on("mofem-users-modules", type=('build', 'link', 'run'))
+ maintainers = ["likask"]
+
+ version("develop", branch="develop")
+ version("0.9.50", tag="v0.9.50")
+ version("0.9.49", tag="v0.9.49")
+ version("0.9.48", tag="v0.9.48")
+ version("0.9.47", tag="v0.9.47")
+ version("0.9.46", tag="v0.9.46")
+ version("0.9.45", tag="v0.9.45")
+ version("0.9.44", tag="v0.9.44")
+ version("0.9.42", tag="v0.9.42")
+
+ variant(
+ "copy_user_modules",
+ default=True,
+ description="Copy user modules directory instead linking",
+ )
+
+ extends("mofem-cephas")
+ depends_on("mofem-users-modules@0.8.17", when="@0.9.50")
+ depends_on("mofem-users-modules@0.8.16", when="@0.9.49")
+ depends_on("mofem-users-modules@0.8.15", when="@0.9.48")
+ depends_on("mofem-users-modules", type=("build", "link", "run"))
# The CMakeLists.txt installed with mofem-cephas package set cmake
# environment to install extension from extension repository. It searches
@@ -50,36 +53,40 @@ class MofemFractureModule(CMakePackage):
:return: directory containing CMakeLists.txt
"""
spec = self.spec
- return spec['mofem-users-modules'].prefix.users_modules
+ return spec["mofem-users-modules"].prefix.users_modules
def cmake_args(self):
spec = self.spec
# obligatory options
options = [
- self.define('WITH_SPACK', True),
- self.define('EXTERNAL_MODULES_BUILD', True),
- self.define('UM_INSTALL_BREFIX',
- spec['mofem-users-modules'].prefix),
- self.define('EXTERNAL_MODULE_SOURCE_DIRS', self.stage.source_path),
- self.define_from_variant('STAND_ALLONE_USERS_MODULES',
- 'copy_user_modules')
+ self.define("WITH_SPACK", True),
+ self.define("EXTERNAL_MODULES_BUILD", True),
+ self.define("UM_INSTALL_BREFIX", spec["mofem-users-modules"].prefix),
+ self.define("EXTERNAL_MODULE_SOURCE_DIRS", self.stage.source_path),
+ self.define_from_variant("STAND_ALLONE_USERS_MODULES", "copy_user_modules"),
]
# Set module version
- if self.spec.version == Version('develop'):
- options.extend([
- '-DFM_VERSION_MAJOR=%s' % 0,
- '-DFM_VERSION_MINOR=%s' % 0,
- '-DFM_VERSION_BUILD=%s' % 0])
+ if self.spec.version == Version("develop"):
+ options.extend(
+ [
+ "-DFM_VERSION_MAJOR=%s" % 0,
+ "-DFM_VERSION_MINOR=%s" % 0,
+ "-DFM_VERSION_BUILD=%s" % 0,
+ ]
+ )
else:
- options.extend([
- '-DFM_VERSION_MAJOR=%s' % self.spec.version[0],
- '-DFM_VERSION_MINOR=%s' % self.spec.version[1],
- '-DFM_VERSION_BUILD=%s' % self.spec.version[2]])
+ options.extend(
+ [
+ "-DFM_VERSION_MAJOR=%s" % self.spec.version[0],
+ "-DFM_VERSION_MINOR=%s" % self.spec.version[1],
+ "-DFM_VERSION_BUILD=%s" % self.spec.version[2],
+ ]
+ )
# build tests
- options.append(self.define('MOFEM_UM_BUILD_TESTS', self.run_tests))
+ options.append(self.define("MOFEM_UM_BUILD_TESTS", self.run_tests))
return options
@@ -88,7 +95,7 @@ class MofemFractureModule(CMakePackage):
# code to play, change and make it. Having source code at hand one can
# compile in own build directory it in package view when the extension is
# activated.
- @run_after('install')
+ @run_after("install")
def copy_source_code(self):
source = self.stage.source_path
prefix = self.prefix
diff --git a/var/spack/repos/builtin/packages/mofem-minimal-surface-equation/package.py b/var/spack/repos/builtin/packages/mofem-minimal-surface-equation/package.py
index 93070cd81f..4d89d2e8fd 100644
--- a/var/spack/repos/builtin/packages/mofem-minimal-surface-equation/package.py
+++ b/var/spack/repos/builtin/packages/mofem-minimal-surface-equation/package.py
@@ -13,17 +13,20 @@ class MofemMinimalSurfaceEquation(CMakePackage):
homepage = "http://mofem.eng.gla.ac.uk"
git = "https://bitbucket.org/likask/mofem_um_minimal_surface_equation.git"
- maintainers = ['likask']
+ maintainers = ["likask"]
- version('develop', branch='develop')
- version('0.3.10', tag='v0.3.10')
- version('0.3.9', tag='v0.3.9')
+ version("develop", branch="develop")
+ version("0.3.10", tag="v0.3.10")
+ version("0.3.9", tag="v0.3.9")
- variant('copy_user_modules', default=True,
- description='Copy user modules directory instead linking')
+ variant(
+ "copy_user_modules",
+ default=True,
+ description="Copy user modules directory instead linking",
+ )
- extends('mofem-cephas')
- depends_on("mofem-users-modules", type=('build', 'link', 'run'))
+ extends("mofem-cephas")
+ depends_on("mofem-users-modules", type=("build", "link", "run"))
# The CMakeLists.txt installed with mofem - cephas package set cmake
# environment to install extension from extension repository.It searches
@@ -41,7 +44,7 @@ class MofemMinimalSurfaceEquation(CMakePackage):
:return: directory containing CMakeLists.txt
"""
spec = self.spec
- return spec['mofem-users-modules'].prefix.users_modules
+ return spec["mofem-users-modules"].prefix.users_modules
def cmake_args(self):
spec = self.spec
@@ -51,15 +54,18 @@ class MofemMinimalSurfaceEquation(CMakePackage):
options = []
# obligatory options
- options.extend([
- '-DWITH_SPACK=YES',
- '-DEXTERNAL_MODULES_BUILD=YES',
- '-DUM_INSTALL_BREFIX=%s' % spec['mofem-users-modules'].prefix,
- '-DEXTERNAL_MODULE_SOURCE_DIRS=%s' % source,
- from_variant('STAND_ALLONE_USERS_MODULES', 'copy_user_modules')])
+ options.extend(
+ [
+ "-DWITH_SPACK=YES",
+ "-DEXTERNAL_MODULES_BUILD=YES",
+ "-DUM_INSTALL_BREFIX=%s" % spec["mofem-users-modules"].prefix,
+ "-DEXTERNAL_MODULE_SOURCE_DIRS=%s" % source,
+ from_variant("STAND_ALLONE_USERS_MODULES", "copy_user_modules"),
+ ]
+ )
# build tests
- options.append(self.define('MOFEM_UM_BUILD_TESTS', self.run_tests))
+ options.append(self.define("MOFEM_UM_BUILD_TESTS", self.run_tests))
return options
@@ -68,7 +74,7 @@ class MofemMinimalSurfaceEquation(CMakePackage):
# code to play, change and make it. Having source code at hand one can
# compile in own build directory it in package view when the extension is
# activated.
- @run_after('install')
+ @run_after("install")
def copy_source_code(self):
source = self.stage.source_path
prefix = self.prefix
diff --git a/var/spack/repos/builtin/packages/mofem-users-modules/package.py b/var/spack/repos/builtin/packages/mofem-users-modules/package.py
index a0ef1eed0d..5246733547 100644
--- a/var/spack/repos/builtin/packages/mofem-users-modules/package.py
+++ b/var/spack/repos/builtin/packages/mofem-users-modules/package.py
@@ -16,33 +16,36 @@ class MofemUsersModules(CMakePackage):
homepage = "http://mofem.eng.gla.ac.uk"
git = "https://likask@bitbucket.org/mofem/users-modules-cephas.git"
- version('develop', branch='develop')
- version('0.8.17', commit='60b2341f1635f595d571096dd8c70a7cf7538aeb')
- version('0.8.16', commit='f6af51ad7db5b5dbc9d9acc6e753277a857c9f24')
- version('0.8.15', commit='4843b2d92ec21ad100a8d637698f56b3a2e14af3')
- version('0.8.14', commit='cfaa32133c574a31beaeb36202d033280521ddff')
- version('0.8.12', commit='7b2ce5595a95d1b919f50103513c44bb2bc9e6d2')
- version('0.8.11', commit='329b06d758137f1ec830f157d383b5ea415963de')
- version('0.8.10', commit='ca03a8222b20f9c8ff93a2d6f4c3babbcfde2058')
- version('0.8.8', commit='eb40f3c218badcd528ab08ee952835fb2ff07fd3')
- version('0.8.7', commit='a83b236f26f258f4d6bafc379ddcb9503088df56')
+ version("develop", branch="develop")
+ version("0.8.17", commit="60b2341f1635f595d571096dd8c70a7cf7538aeb")
+ version("0.8.16", commit="f6af51ad7db5b5dbc9d9acc6e753277a857c9f24")
+ version("0.8.15", commit="4843b2d92ec21ad100a8d637698f56b3a2e14af3")
+ version("0.8.14", commit="cfaa32133c574a31beaeb36202d033280521ddff")
+ version("0.8.12", commit="7b2ce5595a95d1b919f50103513c44bb2bc9e6d2")
+ version("0.8.11", commit="329b06d758137f1ec830f157d383b5ea415963de")
+ version("0.8.10", commit="ca03a8222b20f9c8ff93a2d6f4c3babbcfde2058")
+ version("0.8.8", commit="eb40f3c218badcd528ab08ee952835fb2ff07fd3")
+ version("0.8.7", commit="a83b236f26f258f4d6bafc379ddcb9503088df56")
- maintainers = ['likask']
+ maintainers = ["likask"]
- variant('copy_user_modules', default=True,
- description='Copy user modules directory instead linking')
+ variant(
+ "copy_user_modules",
+ default=True,
+ description="Copy user modules directory instead linking",
+ )
- extends('mofem-cephas')
- depends_on('mofem-cephas@0.8.17', when='@0.8.17')
- depends_on('mofem-cephas@0.8.16', when='@0.8.16')
- depends_on('mofem-cephas@0.8.15', when='@0.8.15')
- depends_on('mofem-cephas@0.8.14', when='@0.8.14')
- depends_on('mofem-cephas@0.8.12:0.8.13', when='@0.8.12')
- depends_on('mofem-cephas@0.8.11', when='@0.8.11')
- depends_on('mofem-cephas@0.8.10', when='@0.8.10')
- depends_on('mofem-cephas@0.8.8:0.8.9', when='@0.8.8')
- depends_on('mofem-cephas@0.8.7', when='@0.8.7')
- depends_on('mofem-cephas@develop', when='@develop')
+ extends("mofem-cephas")
+ depends_on("mofem-cephas@0.8.17", when="@0.8.17")
+ depends_on("mofem-cephas@0.8.16", when="@0.8.16")
+ depends_on("mofem-cephas@0.8.15", when="@0.8.15")
+ depends_on("mofem-cephas@0.8.14", when="@0.8.14")
+ depends_on("mofem-cephas@0.8.12:0.8.13", when="@0.8.12")
+ depends_on("mofem-cephas@0.8.11", when="@0.8.11")
+ depends_on("mofem-cephas@0.8.10", when="@0.8.10")
+ depends_on("mofem-cephas@0.8.8:0.8.9", when="@0.8.8")
+ depends_on("mofem-cephas@0.8.7", when="@0.8.7")
+ depends_on("mofem-cephas@develop", when="@develop")
def cmake_args(self):
spec = self.spec
@@ -51,13 +54,16 @@ class MofemUsersModules(CMakePackage):
options = []
# obligatory options
- options.extend([
- '-DMOFEM_DIR=%s' % spec['mofem-cephas'].prefix.users_module,
- '-DWITH_SPACK=YES',
- from_variant('STAND_ALLONE_USERS_MODULES', 'copy_user_modules')])
+ options.extend(
+ [
+ "-DMOFEM_DIR=%s" % spec["mofem-cephas"].prefix.users_module,
+ "-DWITH_SPACK=YES",
+ from_variant("STAND_ALLONE_USERS_MODULES", "copy_user_modules"),
+ ]
+ )
# build tests
- options.append(self.define('MOFEM_UM_BUILD_TESTS', self.run_tests))
+ options.append(self.define("MOFEM_UM_BUILD_TESTS", self.run_tests))
return options
@@ -67,7 +73,7 @@ class MofemUsersModules(CMakePackage):
# access to source code to play, change and make it. Having source code at
# hand one can compile in own build directory it in package view when the
# extension is activated.
- @run_after('install')
+ @run_after("install")
def copy_source_code(self):
source = self.stage.source_path
prefix = self.prefix
diff --git a/var/spack/repos/builtin/packages/mokutil/package.py b/var/spack/repos/builtin/packages/mokutil/package.py
index f160b3cba8..13cb2eb47a 100644
--- a/var/spack/repos/builtin/packages/mokutil/package.py
+++ b/var/spack/repos/builtin/packages/mokutil/package.py
@@ -10,23 +10,22 @@ class Mokutil(AutotoolsPackage):
"""The utility to manipulate machines owner keys which managed in shim."""
homepage = "https://github.com/lcp/mokutil"
- url = "https://github.com/lcp/mokutil/archive/0.4.0.tar.gz"
+ url = "https://github.com/lcp/mokutil/archive/0.4.0.tar.gz"
- version('0.4.0', sha256='2e9c574e4a4fa63b2f23116cdcb389f448a28945548e232076f77947e35b7361')
- version('0.3.0', sha256='70ccbffbbba0427dfd6b57902d667bf73d6223296c897ce3441fc2221352a773')
- version('0.2.0', sha256='a51ef146b8f2169c4e4a0d2f86cae5f4d66cc520989fc2f70a7a620f9587a20b')
+ version("0.4.0", sha256="2e9c574e4a4fa63b2f23116cdcb389f448a28945548e232076f77947e35b7361")
+ version("0.3.0", sha256="70ccbffbbba0427dfd6b57902d667bf73d6223296c897ce3441fc2221352a773")
+ version("0.2.0", sha256="a51ef146b8f2169c4e4a0d2f86cae5f4d66cc520989fc2f70a7a620f9587a20b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('efivar')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("efivar")
def setup_build_environment(self, env):
- env.prepend_path('C_INCLUDE_PATH',
- self.spec['efivar'].prefix.include.efivar)
+ env.prepend_path("C_INCLUDE_PATH", self.spec["efivar"].prefix.include.efivar)
def install(self, spec, prefix):
- bash_completion_dir = 'BASH_COMPLETION_DIR='
- bash_completion_dir += '{0}/usr/share/bash-completion/completions'
- make('install', bash_completion_dir.format(prefix))
+ bash_completion_dir = "BASH_COMPLETION_DIR="
+ bash_completion_dir += "{0}/usr/share/bash-completion/completions"
+ make("install", bash_completion_dir.format(prefix))
diff --git a/var/spack/repos/builtin/packages/molcas/package.py b/var/spack/repos/builtin/packages/molcas/package.py
index 253225d281..3a084b21ed 100644
--- a/var/spack/repos/builtin/packages/molcas/package.py
+++ b/var/spack/repos/builtin/packages/molcas/package.py
@@ -10,22 +10,22 @@ from spack.package import *
class Molcas(CMakePackage):
"""Molcas is an ab initio quantum chemistry software package
- developed by scientists to be used by scientists.
- Please set the path to licence file with the following command
- export MOLCAS_LICENSE=/path/to/molcas/license/"""
+ developed by scientists to be used by scientists.
+ Please set the path to licence file with the following command
+ export MOLCAS_LICENSE=/path/to/molcas/license/"""
homepage = "https://www.molcas.org/"
url = "file://{0}/molcas8.2.tar.gz".format(os.getcwd())
manual_download = True
- version('8.2', '25b5fb8e1338b458a3eaea0b3d3b5e58')
+ version("8.2", "25b5fb8e1338b458a3eaea0b3d3b5e58")
# Licensing
license_required = True
- license_vars = ['MOLCAS_LICENSE']
+ license_vars = ["MOLCAS_LICENSE"]
- depends_on('openmpi')
- depends_on('openblas')
- depends_on('hdf5')
+ depends_on("openmpi")
+ depends_on("openblas")
+ depends_on("hdf5")
- patch('install_driver.patch')
+ patch("install_driver.patch")
diff --git a/var/spack/repos/builtin/packages/molden/package.py b/var/spack/repos/builtin/packages/molden/package.py
index 4ba0dedcab..721bb938d8 100644
--- a/var/spack/repos/builtin/packages/molden/package.py
+++ b/var/spack/repos/builtin/packages/molden/package.py
@@ -8,64 +8,60 @@ from spack.package import *
class Molden(MakefilePackage):
"""A package for displaying Molecular Density from various
- Ab Initio packages"""
+ Ab Initio packages"""
homepage = "https://www3.cmbi.umcn.nl/molden/"
- url = "ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/molden6.5.tar.gz"
+ url = "ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/molden6.5.tar.gz"
- maintainers = ['dev-zero']
+ maintainers = ["dev-zero"]
- version('6.7', sha256='ebd73e8d95271eb82a1464a7eab28a042662483bbff6e6dcc7db0d1c9b2e4432')
- version('6.6', sha256='2a2a7a116a336b607b50e8135bc2cca764c50e4a6896013ee3c6f582b741ee72')
- version('6.5', sha256='192631a0996b2bfa9f6b0769f83da38a9e4f83b1db9358982b23d6a594b4e8d4')
+ version("6.7", sha256="ebd73e8d95271eb82a1464a7eab28a042662483bbff6e6dcc7db0d1c9b2e4432")
+ version("6.6", sha256="2a2a7a116a336b607b50e8135bc2cca764c50e4a6896013ee3c6f582b741ee72")
+ version("6.5", sha256="192631a0996b2bfa9f6b0769f83da38a9e4f83b1db9358982b23d6a594b4e8d4")
- depends_on('libx11')
- depends_on('libxmu')
- depends_on('gl@3:')
- depends_on('glu@1.3')
- depends_on('makedepend', type='build')
+ depends_on("libx11")
+ depends_on("libxmu")
+ depends_on("gl@3:")
+ depends_on("glu@1.3")
+ depends_on("makedepend", type="build")
parallel = False # building in parallel is broken
- build_targets = ['clean', 'all']
+ build_targets = ["clean", "all"]
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
+ makefile = FileFilter("makefile")
# never register extensions
- makefile.filter(r'(\s*)EXTEN = .*', r'\1EXTEN =')
+ makefile.filter(r"(\s*)EXTEN = .*", r"\1EXTEN =")
# always Spacks wrappers:
- makefile.filter(r'(\s*)CC = .*', r'\1CC = cc')
- makefile.filter(r'(\s*)FC = .*', r'\1FC = f77')
+ makefile.filter(r"(\s*)CC = .*", r"\1CC = cc")
+ makefile.filter(r"(\s*)FC = .*", r"\1FC = f77")
# make sure we don't link in system X11 libs:
- makefile.filter(
- r'(.+)-L/usr/(?:X11R6/lib|X11R6/lib64|lib/X11) (.*)',
- r'\1 \2')
- makefile.filter(
- r'(.+)-I/usr/(?:X11R6/include|include/X11) (.*)',
- r'\1 \2')
+ makefile.filter(r"(.+)-L/usr/(?:X11R6/lib|X11R6/lib64|lib/X11) (.*)", r"\1 \2")
+ makefile.filter(r"(.+)-I/usr/(?:X11R6/include|include/X11) (.*)", r"\1 \2")
# enable basic optimization flags, arch-specific is done via wrappers
- cflags = '-O2 -funroll-loops'
+ cflags = "-O2 -funroll-loops"
fflags = cflags
- makefile.filter(r'CFLAGS = (.*)', r'CFLAGS = {0} \1'.format(cflags))
- makefile.filter(r'FFLAGS = (.*)', r'FFLAGS = {0} \1'.format(fflags))
+ makefile.filter(r"CFLAGS = (.*)", r"CFLAGS = {0} \1".format(cflags))
+ makefile.filter(r"FFLAGS = (.*)", r"FFLAGS = {0} \1".format(fflags))
- if spec.target.family == 'aarch64':
- makefile.filter(r'AFLAG=*', r'AFLAG=')
- makefile.filter(r'rm -f src/', r'rm -f ')
+ if spec.target.family == "aarch64":
+ makefile.filter(r"AFLAG=*", r"AFLAG=")
+ makefile.filter(r"rm -f src/", r"rm -f ")
def flag_handler(self, name, flags):
- if name == 'fflags':
- if self.spec.satisfies('%gcc@10:'):
+ if name == "fflags":
+ if self.spec.satisfies("%gcc@10:"):
if flags is None:
flags = []
- flags.append('-fallow-argument-mismatch')
+ flags.append("-fallow-argument-mismatch")
return (flags, None, None)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mongo-c-driver/package.py b/var/spack/repos/builtin/packages/mongo-c-driver/package.py
index a8f874fbe0..43dce46da7 100644
--- a/var/spack/repos/builtin/packages/mongo-c-driver/package.py
+++ b/var/spack/repos/builtin/packages/mongo-c-driver/package.py
@@ -10,90 +10,89 @@ class MongoCDriver(Package):
"""libmongoc is a client library written in C for MongoDB."""
homepage = "https://github.com/mongodb/mongo-c-driver"
- url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.7.0/mongo-c-driver-1.7.0.tar.gz"
-
- maintainers = ['michaelkuhn']
-
- version('1.21.0', sha256='840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4')
- version('1.17.6', sha256='8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150')
- version('1.17.5', sha256='4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be')
- version('1.17.0', sha256='90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9')
- version('1.16.2', sha256='0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e')
- version('1.9.5', sha256='4a4bd0b0375450250a3da50c050b84b9ba8950ce32e16555714e75ebae0b8019')
- version('1.9.4', sha256='910c2f1b2e3df4d0ea39c2f242160028f90fcb8201f05339a730ec4ba70811fb')
- version('1.9.3', sha256='c2c94ef63aaa09efabcbadc4ac3c8740faa102266bdd2559d550f1955b824398')
- version('1.9.1', sha256='91951444d34581deeaff46cc2985c68805754f618a20ac369b761ce9b621c4cd')
- version('1.8.1', sha256='87d87b7581018cde7edff85f522d43d9c0a226df26fa53b77ca1613a3aca8233')
- version('1.8.0', sha256='1b53883b4cbf08e7d77ad7ab7a02deca90b1719c67f9ad132b47e60d0206ea4e')
- version('1.7.0', sha256='48a0dbd44fef2124b51cf501f06be269b1a39452303b880b37473a6030c6e023')
- version('1.6.3', sha256='82df03de117a3ccf563b9eccfd2e5365df8f215a36dea7446d439969033ced7b')
- version('1.6.2', sha256='7ec27e9be4da2bf9e4b316374f8c29f816f0a0f019b984411777e9681e17f70e')
- version('1.6.1', sha256='1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898')
-
- variant('ssl', default=True, description='Enable SSL support.')
- variant('snappy', default=True, description='Enable Snappy support.')
- variant('zlib', default=True, description='Enable zlib support.')
- variant('zstd', default=True, description='Enable zstd support.')
-
- patch('https://github.com/mongodb/mongo-c-driver/pull/466.patch?full_index=1',
- sha256='d8802d91226c176ba46d5b82413757121331d556a3a3d57ab65b70e175cab296',
- when='@1.8.1')
-
- depends_on('cmake@3.1:', type='build', when='@1.10.0:')
-
- depends_on('autoconf', type='build', when='@1.8.1')
- depends_on('automake', type='build', when='@1.8.1')
- depends_on('libtool', type='build', when='@1.8.1')
- depends_on('m4', type='build', when='@1.8.1')
-
- depends_on('pkgconfig', type='build')
+ url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.7.0/mongo-c-driver-1.7.0.tar.gz"
+
+ maintainers = ["michaelkuhn"]
+
+ version("1.21.0", sha256="840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4")
+ version("1.17.6", sha256="8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150")
+ version("1.17.5", sha256="4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be")
+ version("1.17.0", sha256="90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9")
+ version("1.16.2", sha256="0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e")
+ version("1.9.5", sha256="4a4bd0b0375450250a3da50c050b84b9ba8950ce32e16555714e75ebae0b8019")
+ version("1.9.4", sha256="910c2f1b2e3df4d0ea39c2f242160028f90fcb8201f05339a730ec4ba70811fb")
+ version("1.9.3", sha256="c2c94ef63aaa09efabcbadc4ac3c8740faa102266bdd2559d550f1955b824398")
+ version("1.9.1", sha256="91951444d34581deeaff46cc2985c68805754f618a20ac369b761ce9b621c4cd")
+ version("1.8.1", sha256="87d87b7581018cde7edff85f522d43d9c0a226df26fa53b77ca1613a3aca8233")
+ version("1.8.0", sha256="1b53883b4cbf08e7d77ad7ab7a02deca90b1719c67f9ad132b47e60d0206ea4e")
+ version("1.7.0", sha256="48a0dbd44fef2124b51cf501f06be269b1a39452303b880b37473a6030c6e023")
+ version("1.6.3", sha256="82df03de117a3ccf563b9eccfd2e5365df8f215a36dea7446d439969033ced7b")
+ version("1.6.2", sha256="7ec27e9be4da2bf9e4b316374f8c29f816f0a0f019b984411777e9681e17f70e")
+ version("1.6.1", sha256="1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898")
+
+ variant("ssl", default=True, description="Enable SSL support.")
+ variant("snappy", default=True, description="Enable Snappy support.")
+ variant("zlib", default=True, description="Enable zlib support.")
+ variant("zstd", default=True, description="Enable zstd support.")
+
+ patch(
+ "https://github.com/mongodb/mongo-c-driver/pull/466.patch?full_index=1",
+ sha256="d8802d91226c176ba46d5b82413757121331d556a3a3d57ab65b70e175cab296",
+ when="@1.8.1",
+ )
+
+ depends_on("cmake@3.1:", type="build", when="@1.10.0:")
+
+ depends_on("autoconf", type="build", when="@1.8.1")
+ depends_on("automake", type="build", when="@1.8.1")
+ depends_on("libtool", type="build", when="@1.8.1")
+ depends_on("m4", type="build", when="@1.8.1")
+
+ depends_on("pkgconfig", type="build")
# When updating mongo-c-driver, libbson has to be kept in sync.
- depends_on('libbson@1.21.0:1.21', when='@1.21')
- depends_on('libbson@1.17.0:1.17', when='@1.17')
- depends_on('libbson@1.16.0:1.16', when='@1.16')
- depends_on('libbson@1.9.0:1.9', when='@1.9')
- depends_on('libbson@1.8.0:1.8', when='@1.8')
- depends_on('libbson@1.7.0:1.7', when='@1.7')
- depends_on('libbson@1.6.0:1.6', when='@1.6')
-
- depends_on('openssl', when='+ssl')
- depends_on('snappy', when='+snappy')
- depends_on('zlib', when='+zlib')
- depends_on('zstd', when='+zstd')
+ depends_on("libbson@1.21.0:1.21", when="@1.21")
+ depends_on("libbson@1.17.0:1.17", when="@1.17")
+ depends_on("libbson@1.16.0:1.16", when="@1.16")
+ depends_on("libbson@1.9.0:1.9", when="@1.9")
+ depends_on("libbson@1.8.0:1.8", when="@1.8")
+ depends_on("libbson@1.7.0:1.7", when="@1.7")
+ depends_on("libbson@1.6.0:1.6", when="@1.6")
+
+ depends_on("openssl", when="+ssl")
+ depends_on("snappy", when="+snappy")
+ depends_on("zlib", when="+zlib")
+ depends_on("zstd", when="+zstd")
def cmake_args(self):
spec = self.spec
- args = [
- '-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF',
- '-DENABLE_BSON=SYSTEM'
- ]
+ args = ["-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF", "-DENABLE_BSON=SYSTEM"]
- if '+ssl' in spec:
- args.append('-DENABLE_SSL=OPENSSL')
+ if "+ssl" in spec:
+ args.append("-DENABLE_SSL=OPENSSL")
else:
- args.append('-DENABLE_SSL=OFF')
+ args.append("-DENABLE_SSL=OFF")
- if '+snappy' in spec:
- args.append('-DENABLE_SNAPPY=ON')
+ if "+snappy" in spec:
+ args.append("-DENABLE_SNAPPY=ON")
else:
- args.append('-DENABLE_SNAPPY=OFF')
+ args.append("-DENABLE_SNAPPY=OFF")
- if '+zlib' in spec:
- args.append('-DENABLE_ZLIB=SYSTEM')
+ if "+zlib" in spec:
+ args.append("-DENABLE_ZLIB=SYSTEM")
else:
- args.append('-DENABLE_ZLIB=OFF')
+ args.append("-DENABLE_ZLIB=OFF")
- if '+zstd' in spec:
- args.append('-DENABLE_ZSTD=ON')
+ if "+zstd" in spec:
+ args.append("-DENABLE_ZSTD=ON")
else:
- args.append('-DENABLE_ZSTD=OFF')
+ args.append("-DENABLE_ZSTD=OFF")
return args
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
# We cannot simply do
# cmake('..', *std_cmake_args, *self.cmake_args())
# because that is not Python 2 compatible. Instead, collect
@@ -101,48 +100,45 @@ class MongoCDriver(Package):
args = []
args.extend(std_cmake_args)
args.extend(self.cmake_args())
- cmake('..', *args)
+ cmake("..", *args)
make()
- make('install')
+ make("install")
@property
def force_autoreconf(self):
# Run autoreconf due to build system patch
- return self.spec.satisfies('@1.8.1')
+ return self.spec.satisfies("@1.8.1")
def configure_args(self):
spec = self.spec
- args = [
- '--disable-automatic-init-and-cleanup',
- '--with-libbson=system'
- ]
+ args = ["--disable-automatic-init-and-cleanup", "--with-libbson=system"]
- if '+ssl' in spec:
- args.append('--enable-ssl=openssl')
+ if "+ssl" in spec:
+ args.append("--enable-ssl=openssl")
else:
- args.append('--enable-ssl=no')
+ args.append("--enable-ssl=no")
- if spec.satisfies('@1.7.0:'):
+ if spec.satisfies("@1.7.0:"):
# --with-{snappy,zlib}=system are broken for versions < 1.8.1
- if '+snappy' not in spec:
- args.append('--with-snappy=no')
- elif spec.satisfies('@1.8.1:'):
- args.append('--with-snappy=system')
+ if "+snappy" not in spec:
+ args.append("--with-snappy=no")
+ elif spec.satisfies("@1.8.1:"):
+ args.append("--with-snappy=system")
- if '+zlib' not in spec:
- args.append('--with-zlib=no')
- elif spec.satisfies('@1.8.1:'):
- args.append('--with-zlib=system')
+ if "+zlib" not in spec:
+ args.append("--with-zlib=no")
+ elif spec.satisfies("@1.8.1:"):
+ args.append("--with-zlib=system")
return args
- @when('@:1.9')
+ @when("@:1.9")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix), *self.configure_args())
+ configure("--prefix={0}".format(prefix), *self.configure_args())
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
if self.run_tests:
- make('installcheck')
+ make("installcheck")
diff --git a/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py b/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py
index b81fa3f862..db89d81002 100644
--- a/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py
+++ b/var/spack/repos/builtin/packages/mongo-cxx-driver/package.py
@@ -11,8 +11,8 @@ class MongoCxxDriver(CMakePackage):
"""C++ Driver for MongoDB"""
homepage = "http://www.mongocxx.org"
- url = "https://github.com/mongodb/mongo-cxx-driver/archive/r3.2.0.tar.gz"
+ url = "https://github.com/mongodb/mongo-cxx-driver/archive/r3.2.0.tar.gz"
- version('3.2.0', sha256='e26edd44cf20bd6be91907403b6d63a065ce95df4c61565770147a46716aad8c')
+ version("3.2.0", sha256="e26edd44cf20bd6be91907403b6d63a065ce95df4c61565770147a46716aad8c")
- depends_on('mongo-c-driver@1.9.2:')
+ depends_on("mongo-c-driver@1.9.2:")
diff --git a/var/spack/repos/builtin/packages/mongodb-async-driver/package.py b/var/spack/repos/builtin/packages/mongodb-async-driver/package.py
index 675da62fe8..4cecaca05b 100644
--- a/var/spack/repos/builtin/packages/mongodb-async-driver/package.py
+++ b/var/spack/repos/builtin/packages/mongodb-async-driver/package.py
@@ -11,7 +11,7 @@ class MongodbAsyncDriver(MavenPackage):
"""The MongoDB Asynchronous Java Driver."""
homepage = "http://www.allanbank.com/mongodb-async-driver/"
- url = "https://github.com/allanbank/mongodb-async-driver/archive/rel_2.0.1.tar.gz"
+ url = "https://github.com/allanbank/mongodb-async-driver/archive/rel_2.0.1.tar.gz"
- version('2.0.1', sha256='87f22c16f3744a847eeb8276ed132bf235f025db0b7dee0d0f239d5cdcab720c')
- version('2.0.0', sha256='8cffe4c960d42550be30c27d66f5de6df4edb5ee7a094c50519986dc5cbcf9b8')
+ version("2.0.1", sha256="87f22c16f3744a847eeb8276ed132bf235f025db0b7dee0d0f239d5cdcab720c")
+ version("2.0.0", sha256="8cffe4c960d42550be30c27d66f5de6df4edb5ee7a094c50519986dc5cbcf9b8")
diff --git a/var/spack/repos/builtin/packages/mono/package.py b/var/spack/repos/builtin/packages/mono/package.py
index af2f7ebe3f..1f130a64fa 100644
--- a/var/spack/repos/builtin/packages/mono/package.py
+++ b/var/spack/repos/builtin/packages/mono/package.py
@@ -8,52 +8,72 @@ from spack.package import *
class Mono(AutotoolsPackage):
"""Mono is a software platform designed to allow developers to easily
- create cross platform applications. It is an open source
- implementation of Microsoft's .NET Framework based on the ECMA
- standards for C# and the Common Language Runtime.
+ create cross platform applications. It is an open source
+ implementation of Microsoft's .NET Framework based on the ECMA
+ standards for C# and the Common Language Runtime.
"""
homepage = "https://www.mono-project.com/"
- url = "https://download.mono-project.com/sources/mono/mono-5.0.1.1.tar.bz2"
- maintainers = ['grospelliergilles']
+ 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
- variant('patch-folder-path', default=False,
- description='Point SpecialFolder.CommonApplicationData folder '
- 'into Spack installation instead of /usr/share')
-
- depends_on('cmake', type=('build'))
- depends_on('iconv')
- 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',
- url='https://download.mono-project.com/sources/mono/mono-6.8.0.105.tar.xz')
- version('5.18.0.240', sha256='143e80eb00519ff496742e78ee07403a3c3629437f3a498eee539de8108da895')
- version('5.16.0.220', sha256='f420867232b426c062fa182256a66b29efa92992c119847359cdd1ab75af8de3')
- version('5.14.0.177', sha256='d4f5fa2e8188d66fbc8054f4145711e45c1faa6d070e63600efab93d1d189498')
- version('5.12.0.309', sha256='7c4738c91187bfcea7b40f9e7a4bf3a0e4f54fdc0f4472612f84803e8bed368f')
- version('5.10.1.57', sha256='76cbd8545db6adc5a1738c343d957a7015c95e1439c461ea4f2bd56bd6337ab4')
- version('5.4.1.7', sha256='543d9ec2ccebad9bb8425b22e10271f13d9512487c0e1578eeccdb1b8dc6a055')
- version('5.4.0.167', sha256='c2afe51b0fb074936a8e7eaee805c352f37cbf1093bb41c5345078f77d913ce0')
- version('5.0.1.1', sha256='48d6ae71d593cd01bf0f499de569359d45856cda325575e1bacb5fabaa7e9718')
- version('4.8.0.524', sha256='ca02614cfc9fe65e310631cd611d7b07d1ff205ce193006d4be0f9919c26bdcf')
+ variant(
+ "patch-folder-path",
+ default=False,
+ description="Point SpecialFolder.CommonApplicationData folder "
+ "into Spack installation instead of /usr/share",
+ )
+
+ depends_on("cmake", type=("build"))
+ depends_on("iconv")
+ 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",
+ url="https://download.mono-project.com/sources/mono/mono-6.8.0.105.tar.xz",
+ )
+ version(
+ "5.18.0.240", sha256="143e80eb00519ff496742e78ee07403a3c3629437f3a498eee539de8108da895"
+ )
+ version(
+ "5.16.0.220", sha256="f420867232b426c062fa182256a66b29efa92992c119847359cdd1ab75af8de3"
+ )
+ version(
+ "5.14.0.177", sha256="d4f5fa2e8188d66fbc8054f4145711e45c1faa6d070e63600efab93d1d189498"
+ )
+ version(
+ "5.12.0.309", sha256="7c4738c91187bfcea7b40f9e7a4bf3a0e4f54fdc0f4472612f84803e8bed368f"
+ )
+ version("5.10.1.57", sha256="76cbd8545db6adc5a1738c343d957a7015c95e1439c461ea4f2bd56bd6337ab4")
+ version("5.4.1.7", sha256="543d9ec2ccebad9bb8425b22e10271f13d9512487c0e1578eeccdb1b8dc6a055")
+ version("5.4.0.167", sha256="c2afe51b0fb074936a8e7eaee805c352f37cbf1093bb41c5345078f77d913ce0")
+ version("5.0.1.1", sha256="48d6ae71d593cd01bf0f499de569359d45856cda325575e1bacb5fabaa7e9718")
+ version("4.8.0.524", sha256="ca02614cfc9fe65e310631cd611d7b07d1ff205ce193006d4be0f9919c26bdcf")
def patch(self):
- if '+patch-folder-path' in self.spec:
+ if "+patch-folder-path" in self.spec:
before = 'return "/usr/share";'
after = 'return "{0}";'.format(self.prefix.share)
- f = 'mcs/class/corlib/System/Environment.cs'
- kwargs = {'ignore_absent': False, 'backup': True, 'string': True}
+ f = "mcs/class/corlib/System/Environment.cs"
+ kwargs = {"ignore_absent": False, "backup": True, "string": True}
filter_file(before, after, f, **kwargs)
def configure_args(self):
args = []
- li = self.spec['iconv'].prefix
- args.append('--with-libiconv-prefix={p}'.format(p=li))
+ li = self.spec["iconv"].prefix
+ args.append("--with-libiconv-prefix={p}".format(p=li))
return args
diff --git a/var/spack/repos/builtin/packages/montage/package.py b/var/spack/repos/builtin/packages/montage/package.py
index 9e33f20117..aca7eda675 100644
--- a/var/spack/repos/builtin/packages/montage/package.py
+++ b/var/spack/repos/builtin/packages/montage/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Montage(MakefilePackage):
"""Montage is a toolkit for assembling Flexible Image Transport System
- (FITS) images into custom mosaics."""
+ (FITS) images into custom mosaics."""
homepage = "http://montage.ipac.caltech.edu/"
- url = "http://montage.ipac.caltech.edu/download/Montage_v6.0.tar.gz"
+ url = "http://montage.ipac.caltech.edu/download/Montage_v6.0.tar.gz"
- version('6.0', sha256='1f540a7389d30fcf9f8cd9897617cc68b19350fbcde97c4d1cdc5634de1992c6')
+ version("6.0", sha256="1f540a7389d30fcf9f8cd9897617cc68b19350fbcde97c4d1cdc5634de1992c6")
- depends_on('freetype')
- depends_on('bzip2')
- depends_on('libpng')
+ depends_on("freetype")
+ depends_on("bzip2")
+ depends_on("libpng")
def install(self, spec, prefix):
# not using autotools, just builds bin and lib in the source directory
mkdirp(prefix.bin, prefix.lib)
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/moosefs/package.py b/var/spack/repos/builtin/packages/moosefs/package.py
index df74c92469..266e62ff1b 100644
--- a/var/spack/repos/builtin/packages/moosefs/package.py
+++ b/var/spack/repos/builtin/packages/moosefs/package.py
@@ -14,16 +14,15 @@ class Moosefs(AutotoolsPackage):
"""
homepage = "https://github.com/moosefs/moosefs"
- url = "https://github.com/moosefs/moosefs/archive/v3.0.109.tar.gz"
+ url = "https://github.com/moosefs/moosefs/archive/v3.0.109.tar.gz"
- version('3.0.109', sha256='413349d254f75ea9b9c974a12f67225c7cbec389f8a39a68db569c0d0f6f4ef3')
- version('3.0.108', sha256='344c4b7875603fc0b091e5c80f4a5b2eda780a3d050de2ef38232e55e56b054a')
- version('3.0.107', sha256='192dca0c04f61334846e00c1193952bb0f69f3960f223a8d55016b74d72cfdb6')
- version('3.0.105', sha256='12a5bb265d774da8fc6f051c51de08105ddeaa162b2d972d491caa542e01164f')
- version('3.0.104', sha256='b3209ecd8366038ba898c4642dd6fdf2fa5d50a37345f01ed209e078700db5bb')
- version('3.0.103', sha256='c5f1f6f78c2b7d8d6563000deed704ead3deac77279cb13f9f16d7ee56ee7ff7')
+ version("3.0.109", sha256="413349d254f75ea9b9c974a12f67225c7cbec389f8a39a68db569c0d0f6f4ef3")
+ version("3.0.108", sha256="344c4b7875603fc0b091e5c80f4a5b2eda780a3d050de2ef38232e55e56b054a")
+ version("3.0.107", sha256="192dca0c04f61334846e00c1193952bb0f69f3960f223a8d55016b74d72cfdb6")
+ version("3.0.105", sha256="12a5bb265d774da8fc6f051c51de08105ddeaa162b2d972d491caa542e01164f")
+ version("3.0.104", sha256="b3209ecd8366038ba898c4642dd6fdf2fa5d50a37345f01ed209e078700db5bb")
+ version("3.0.103", sha256="c5f1f6f78c2b7d8d6563000deed704ead3deac77279cb13f9f16d7ee56ee7ff7")
def configure_args(self):
- args = ["--with-systemdsystemunitdir=" +
- self.spec['moosefs'].prefix.lib.systemd.system]
+ args = ["--with-systemdsystemunitdir=" + self.spec["moosefs"].prefix.lib.systemd.system]
return args
diff --git a/var/spack/repos/builtin/packages/moreutils/package.py b/var/spack/repos/builtin/packages/moreutils/package.py
index c0f6478f91..43406989b1 100644
--- a/var/spack/repos/builtin/packages/moreutils/package.py
+++ b/var/spack/repos/builtin/packages/moreutils/package.py
@@ -12,21 +12,21 @@ class Moreutils(MakefilePackage):
tools that nobody thought to write long ago, when Unix was young."""
homepage = "https://joeyh.name/code/moreutils"
- url = "https://deb.debian.org/debian/pool/main/m/moreutils/moreutils_0.63.orig.tar.xz"
+ url = "https://deb.debian.org/debian/pool/main/m/moreutils/moreutils_0.63.orig.tar.xz"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('0.65', sha256='ba0cfaa1ff6ead2b15c62a67292de66a366f9b815a09697b54677f7e15f5a2b2')
- version('0.63', sha256='01f0b331e07e62c70d58c2dabbb68f5c4ddae4ee6f2d8f070fd1e316108af72c')
+ version("0.65", sha256="ba0cfaa1ff6ead2b15c62a67292de66a366f9b815a09697b54677f7e15f5a2b2")
+ version("0.63", sha256="01f0b331e07e62c70d58c2dabbb68f5c4ddae4ee6f2d8f070fd1e316108af72c")
- depends_on('perl', type='build')
- depends_on('docbook-xsl', type='build')
- depends_on('libxml2', type='build')
- depends_on('libxslt', type='build')
+ depends_on("perl", type="build")
+ depends_on("docbook-xsl", type="build")
+ depends_on("libxml2", type="build")
+ depends_on("libxslt", type="build")
def edit(self, spec, prefix):
- isutf8_makefile = FileFilter('is_utf8/Makefile')
- isutf8_makefile.filter('CC = .*', '')
+ isutf8_makefile = FileFilter("is_utf8/Makefile")
+ isutf8_makefile.filter("CC = .*", "")
- env['DOCBOOKXSL'] = spec['docbook-xsl'].prefix
- env['PREFIX'] = self.prefix
+ env["DOCBOOKXSL"] = spec["docbook-xsl"].prefix
+ env["PREFIX"] = self.prefix
diff --git a/var/spack/repos/builtin/packages/mosh/package.py b/var/spack/repos/builtin/packages/mosh/package.py
index c673084ddb..9adaf9e37c 100644
--- a/var/spack/repos/builtin/packages/mosh/package.py
+++ b/var/spack/repos/builtin/packages/mosh/package.py
@@ -14,18 +14,18 @@ class Mosh(AutotoolsPackage):
"""
homepage = "https://mosh.org/"
- url = "https://mosh.org/mosh-1.2.6.tar.gz"
+ url = "https://mosh.org/mosh-1.2.6.tar.gz"
- version('1.3.2', sha256='da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216')
- version('1.3.0', sha256='320e12f461e55d71566597976bd9440ba6c5265fa68fbf614c6f1c8401f93376')
- version('1.2.6', sha256='7e82b7fbfcc698c70f5843bb960dadb8e7bd7ac1d4d2151c9d979372ea850e85')
+ version("1.3.2", sha256="da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216")
+ version("1.3.0", sha256="320e12f461e55d71566597976bd9440ba6c5265fa68fbf614c6f1c8401f93376")
+ version("1.2.6", sha256="7e82b7fbfcc698c70f5843bb960dadb8e7bd7ac1d4d2151c9d979372ea850e85")
- depends_on('protobuf')
- depends_on('ncurses')
- depends_on('zlib')
- depends_on('openssl')
+ depends_on("protobuf")
+ depends_on("ncurses")
+ depends_on("zlib")
+ depends_on("openssl")
- depends_on('pkgconfig', type='build')
- depends_on('perl', type='run')
+ depends_on("pkgconfig", type="build")
+ depends_on("perl", type="run")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/mosquitto/package.py b/var/spack/repos/builtin/packages/mosquitto/package.py
index 949b895d1a..c21cfbe70c 100644
--- a/var/spack/repos/builtin/packages/mosquitto/package.py
+++ b/var/spack/repos/builtin/packages/mosquitto/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class Mosquitto(CMakePackage):
"""Mosquitto is an open source implementation of a server
- for version 5.0, 3.1.1, and 3.1 of the MQTT protocol."""
+ for version 5.0, 3.1.1, and 3.1 of the MQTT protocol."""
- homepage = 'https://mosquitto.org'
- git = 'https://github.com/eclipse/mosquitto'
- url = 'https://mosquitto.org/files/source/mosquitto-2.0.14.tar.gz'
+ homepage = "https://mosquitto.org"
+ git = "https://github.com/eclipse/mosquitto"
+ url = "https://mosquitto.org/files/source/mosquitto-2.0.14.tar.gz"
- version('2.0.14', sha256='d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925')
- version('1.6.15', sha256='5ff2271512f745bf1a451072cd3768a5daed71e90c5179fae12b049d6c02aa0f')
- version('1.5.11', sha256='4a3b8a8f5505d27a7a966dd68bfd76f1e69feb51796d1b46b7271d1bb5a1a299')
- version('1.4.15', sha256='7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83')
- version('1.3.5', sha256='16eb3dbef183827665feee9288362c7352cd016ba04ca0402a0ccf857d1c2ab2')
+ version("2.0.14", sha256="d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925")
+ version("1.6.15", sha256="5ff2271512f745bf1a451072cd3768a5daed71e90c5179fae12b049d6c02aa0f")
+ version("1.5.11", sha256="4a3b8a8f5505d27a7a966dd68bfd76f1e69feb51796d1b46b7271d1bb5a1a299")
+ version("1.4.15", sha256="7d3b3e245a3b4ec94b05678c8199c806359737949f4cfe0bf936184f6ca89a83")
+ version("1.3.5", sha256="16eb3dbef183827665feee9288362c7352cd016ba04ca0402a0ccf857d1c2ab2")
- variant('tls', default=True, description='Build with TLS support')
- variant('cjson', default=True, description='Build with cJSON support', when='@2.0.0:')
- variant('static', default=False, description='Build with static libraries', when='@1.5.0:')
- variant('c-ares', default=False, description='Build with c-ares support', when='@1.4.0:')
- variant('websocket', default=False, description='Build with websocket support', when='@1.4.0:')
+ variant("tls", default=True, description="Build with TLS support")
+ variant("cjson", default=True, description="Build with cJSON support", when="@2.0.0:")
+ variant("static", default=False, description="Build with static libraries", when="@1.5.0:")
+ variant("c-ares", default=False, description="Build with c-ares support", when="@1.4.0:")
+ variant("websocket", default=False, description="Build with websocket support", when="@1.4.0:")
- depends_on('openssl', when='+tls')
- depends_on('cjson', when='+cjson')
- depends_on('c-ares', when='+c-ares')
- depends_on('libwebsockets', when='+websocket')
+ depends_on("openssl", when="+tls")
+ depends_on("cjson", when="+cjson")
+ depends_on("c-ares", when="+c-ares")
+ depends_on("libwebsockets", when="+websocket")
def cmake_args(self):
args = [
- self.define('DOCUMENTATION', 'no'),
- self.define_from_variant('WITH_CJSON', 'cjson'),
- self.define_from_variant('WITH_TLS', 'tls'),
- self.define_from_variant('WITH_STATIC_LIBRARIES', 'static'),
- self.define_from_variant('WITH_SRV', 'c-ares'),
- self.define_from_variant('WITH_WEBSOCKETS', 'websocket')
+ self.define("DOCUMENTATION", "no"),
+ self.define_from_variant("WITH_CJSON", "cjson"),
+ self.define_from_variant("WITH_TLS", "tls"),
+ self.define_from_variant("WITH_STATIC_LIBRARIES", "static"),
+ self.define_from_variant("WITH_SRV", "c-ares"),
+ self.define_from_variant("WITH_WEBSOCKETS", "websocket"),
]
return args
diff --git a/var/spack/repos/builtin/packages/mothur/package.py b/var/spack/repos/builtin/packages/mothur/package.py
index f9b928a6f2..2d546c7958 100644
--- a/var/spack/repos/builtin/packages/mothur/package.py
+++ b/var/spack/repos/builtin/packages/mothur/package.py
@@ -9,40 +9,43 @@ from spack.pkg.builtin.boost import Boost
class Mothur(MakefilePackage):
"""This project seeks to develop a single piece of open-source, expandable
- software to fill the bioinformatics needs of the microbial ecology
- community."""
+ software to fill the bioinformatics needs of the microbial ecology
+ community."""
homepage = "https://github.com/mothur/mothur"
- url = "https://github.com/mothur/mothur/archive/v1.39.5.tar.gz"
+ url = "https://github.com/mothur/mothur/archive/v1.39.5.tar.gz"
- version('1.46.1', sha256='29b500b3c92d726cde34922f697f2e47f0b7127d76d9a6fb167cc2b8ba3d00fd')
- version('1.43.0', sha256='12ccd95a85bec3bb1564b8feabd244ea85413973740754803d01fc71ecb0a2c1')
- version('1.42.1', sha256='6b61591dda289ac2d8361f9c1547ffbeeba3b9fbdff877dd286bad850bbd5539')
- version('1.40.5', sha256='a0fbdfa68b966d7adc4560e3787506a0dad8b47b4b996c2663cd6c0b416d101a')
- version('1.39.5', sha256='9f1cd691e9631a2ab7647b19eb59cd21ea643f29b22cde73d7f343372dfee342')
+ version("1.46.1", sha256="29b500b3c92d726cde34922f697f2e47f0b7127d76d9a6fb167cc2b8ba3d00fd")
+ version("1.43.0", sha256="12ccd95a85bec3bb1564b8feabd244ea85413973740754803d01fc71ecb0a2c1")
+ version("1.42.1", sha256="6b61591dda289ac2d8361f9c1547ffbeeba3b9fbdff877dd286bad850bbd5539")
+ version("1.40.5", sha256="a0fbdfa68b966d7adc4560e3787506a0dad8b47b4b996c2663cd6c0b416d101a")
+ version("1.39.5", sha256="9f1cd691e9631a2ab7647b19eb59cd21ea643f29b22cde73d7f343372dfee342")
- variant('vsearch', default=False, description='Use vsearch')
+ variant("vsearch", default=False, description="Use vsearch")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('readline')
- depends_on('vsearch@2.13.3', when='+vsearch', type='run')
+ depends_on("readline")
+ depends_on("vsearch@2.13.3", when="+vsearch", type="run")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('BOOST_LIBRARY_DIR=\"\\\"Enter_your_boost_library_path'
- '_here\\\"\"', 'BOOST_LIBRARY_DIR=%s' %
- self.spec['boost'].prefix.lib)
- makefile.filter('BOOST_INCLUDE_DIR=\"\\\"Enter_your_boost_include_path'
- '_here\\\"\"', 'BOOST_INCLUDE_DIR=%s' %
- self.spec['boost'].prefix.include)
- makefile.filter('MOTHUR_FILES=\"\\\"Enter_your_default_path_'
- 'here\\\"\"', 'MOTHUR_FILES=%s' % prefix)
+ makefile = FileFilter("Makefile")
+ makefile.filter(
+ 'BOOST_LIBRARY_DIR="\\"Enter_your_boost_library_path' '_here\\""',
+ "BOOST_LIBRARY_DIR=%s" % self.spec["boost"].prefix.lib,
+ )
+ makefile.filter(
+ 'BOOST_INCLUDE_DIR="\\"Enter_your_boost_include_path' '_here\\""',
+ "BOOST_INCLUDE_DIR=%s" % self.spec["boost"].prefix.include,
+ )
+ makefile.filter(
+ 'MOTHUR_FILES="\\"Enter_your_default_path_' 'here\\""', "MOTHUR_FILES=%s" % prefix
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('mothur', prefix.bin)
- install('uchime', prefix.bin)
- install_tree('source', prefix.include)
+ install("mothur", prefix.bin)
+ install("uchime", prefix.bin)
+ install_tree("source", prefix.include)
diff --git a/var/spack/repos/builtin/packages/motif/package.py b/var/spack/repos/builtin/packages/motif/package.py
index 861781243f..b37e5198a5 100644
--- a/var/spack/repos/builtin/packages/motif/package.py
+++ b/var/spack/repos/builtin/packages/motif/package.py
@@ -7,16 +7,17 @@ from spack.package import *
class Motif(AutotoolsPackage):
- """"
+ """ "
Motif - Graphical user interface (GUI)
specification and the widget toolkit
"""
+
force_autoreconf = True
homepage = "https://motif.ics.com/"
url = "https://cfhcable.dl.sourceforge.net/project/motif/Motif%202.3.8%20Source%20Code/motif-2.3.8.tar.gz"
- version('2.3.8', sha256='859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7')
+ version("2.3.8", sha256="859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7")
depends_on("flex")
depends_on("libx11")
@@ -35,16 +36,18 @@ class Motif(AutotoolsPackage):
depends_on("libtool", type="build")
depends_on("pkgconfig", type="build")
- patch('add_xbitmaps_dependency.patch')
+ patch("add_xbitmaps_dependency.patch")
def patch(self):
# fix linking the simple_app demo program
# https://bugs.launchpad.net/ubuntu/+source/openmotif/+bug/705294
- filter_file('../../../lib/Exm/libExm.a',
- '../../../lib/Exm/libExm.a -lX11',
- 'demos/programs/Exm/simple_app/Makefile.am')
+ filter_file(
+ "../../../lib/Exm/libExm.a",
+ "../../../lib/Exm/libExm.a -lX11",
+ "demos/programs/Exm/simple_app/Makefile.am",
+ )
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.configure_directory):
- autoreconf('-ivf')
+ autoreconf("-ivf")
diff --git a/var/spack/repos/builtin/packages/motioncor2/package.py b/var/spack/repos/builtin/packages/motioncor2/package.py
index 5fad3a1b2a..f040616154 100644
--- a/var/spack/repos/builtin/packages/motioncor2/package.py
+++ b/var/spack/repos/builtin/packages/motioncor2/package.py
@@ -20,33 +20,39 @@ class Motioncor2(Package):
homepage = "http://msg.ucsf.edu/em/software"
manual_download = True
- version('1.4.7',
- sha256='8c33969b10916835b55f14f3c370f67ebe5c4b2a9df9ec487c5251710f038e6b')
+ version("1.4.7", sha256="8c33969b10916835b55f14f3c370f67ebe5c4b2a9df9ec487c5251710f038e6b")
# None of the below are available for download
- version('1.1.0',
- '6e37e7ed63a9f0aab5d794b2604d5ba79333960bb9440a1a218630b03dbeaeac',
- deprecated=True)
- version('1.0.5',
- '4efa55af25644bcff1ca7882419267b8c094c9cc6155b37d2c204b154c56f5a8',
- url='http://msg.ucsf.edu/MotionCor2/MotionCor2-1.0.5.tar.gz',
- deprecated=True)
- version('1.0.4',
- 'c75738160ac18d3f27c33677e78e63313d8ec2b023b5a46173428c3fa0451a94',
- url='http://msg.ucsf.edu/MotionCor2/MotionCor2-1.0.4.tar.gz',
- deprecated=True)
+ version(
+ "1.1.0",
+ "6e37e7ed63a9f0aab5d794b2604d5ba79333960bb9440a1a218630b03dbeaeac",
+ deprecated=True,
+ )
+ version(
+ "1.0.5",
+ "4efa55af25644bcff1ca7882419267b8c094c9cc6155b37d2c204b154c56f5a8",
+ url="http://msg.ucsf.edu/MotionCor2/MotionCor2-1.0.5.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.0.4",
+ "c75738160ac18d3f27c33677e78e63313d8ec2b023b5a46173428c3fa0451a94",
+ url="http://msg.ucsf.edu/MotionCor2/MotionCor2-1.0.4.tar.gz",
+ deprecated=True,
+ )
def url_for_version(self, version):
return "file://{0}/MotionCor2_{1}.zip".format(os.getcwd(), version)
- depends_on('cuda@10.2,11.1:11.5', type='run')
- depends_on('libtiff', type='run')
+ depends_on("cuda@10.2,11.1:11.5", type="run")
+ depends_on("libtiff", type="run")
def install(self, spec, prefix):
- cuda_version = spec['cuda'].version.up_to(2).joined
+ cuda_version = spec["cuda"].version.up_to(2).joined
mkdirp(prefix.bin)
- with working_dir('MotionCor2_{0}'.format(spec.version)):
- install('MotionCor2_{0}_Cuda{1}_*'.format(spec.version,
- cuda_version),
- join_path(prefix.bin, 'MotionCor2'))
+ with working_dir("MotionCor2_{0}".format(spec.version)):
+ install(
+ "MotionCor2_{0}_Cuda{1}_*".format(spec.version, cuda_version),
+ join_path(prefix.bin, "MotionCor2"),
+ )
diff --git a/var/spack/repos/builtin/packages/mount-point-attributes/package.py b/var/spack/repos/builtin/packages/mount-point-attributes/package.py
index 8069280a5d..563f7f0f8e 100644
--- a/var/spack/repos/builtin/packages/mount-point-attributes/package.py
+++ b/var/spack/repos/builtin/packages/mount-point-attributes/package.py
@@ -8,19 +8,23 @@ from spack.package import *
class MountPointAttributes(AutotoolsPackage):
"""Library to turn expensive, non-scalable file system calls into simple
- string comparison operations."""
+ string comparison operations."""
homepage = "https://github.com/LLNL/MountPointAttributes"
- url = 'https://github.com/LLNL/MountPointAttributes/files/2270601/mountpointattr-1.1.tar.gz'
+ url = "https://github.com/LLNL/MountPointAttributes/files/2270601/mountpointattr-1.1.tar.gz"
git = "https://github.com/LLNL/MountPointAttributes.git"
- maintainers = ['lee218llnl']
+ maintainers = ["lee218llnl"]
- version('master', branch='master')
- version('1.1.1', sha256='c58967fde59974407b4fee3e490b2e7d922d947e726faf2291c6c886b95abf78', url="https://github.com/LLNL/MountPointAttributes/releases/download/v1.1.1/mountpointattr-1.1.1.tar.gz")
- version('1.1', sha256='bff84c75c47b74ea09b6cff949dd699b185ddba0463cb1ff39ab138003c96e02')
+ version("master", branch="master")
+ version(
+ "1.1.1",
+ sha256="c58967fde59974407b4fee3e490b2e7d922d947e726faf2291c6c886b95abf78",
+ url="https://github.com/LLNL/MountPointAttributes/releases/download/v1.1.1/mountpointattr-1.1.1.tar.gz",
+ )
+ version("1.1", sha256="bff84c75c47b74ea09b6cff949dd699b185ddba0463cb1ff39ab138003c96e02")
- depends_on('autoconf', type='build', when='@master')
- depends_on('automake', type='build', when='@master')
- depends_on('libtool', type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
- patch('mpa_type_conversion.patch', when='@1.1:1.1.0')
+ patch("mpa_type_conversion.patch", when="@1.1:1.1.0")
diff --git a/var/spack/repos/builtin/packages/mozjs/package.py b/var/spack/repos/builtin/packages/mozjs/package.py
index d27e49538a..60565272fa 100644
--- a/var/spack/repos/builtin/packages/mozjs/package.py
+++ b/var/spack/repos/builtin/packages/mozjs/package.py
@@ -13,47 +13,62 @@ class Mozjs(AutotoolsPackage):
homepage = "https://firefox-source-docs.mozilla.org/js/index.html"
- version('24.2.0', sha256='e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8',
- url="https://ftp.mozilla.org/pub/js/mozjs-24.2.0.tar.bz2")
- version('17.0.0', sha256='321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba',
- url="https://ftp.mozilla.org/pub/js/mozjs17.0.0.tar.gz")
- version('1.8.5', sha256='5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687',
- url="https://ftp.mozilla.org/pub/js/js185-1.0.0.tar.gz")
-
- depends_on('perl@5.6:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('python@2.7.3:2.8', type='build')
- depends_on('zip', type='build')
- depends_on('unzip', type='build')
- depends_on('nspr', when='@:27')
- depends_on('libffi@3.0.9:')
- depends_on('readline', when='@17.0.0:')
- depends_on('zlib@1.2.3')
-
- configure_directory = 'js/src'
- build_directory = 'js/src/spack-build'
-
- patch('perl-bug.patch')
+ version(
+ "24.2.0",
+ sha256="e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8",
+ url="https://ftp.mozilla.org/pub/js/mozjs-24.2.0.tar.bz2",
+ )
+ version(
+ "17.0.0",
+ sha256="321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba",
+ url="https://ftp.mozilla.org/pub/js/mozjs17.0.0.tar.gz",
+ )
+ version(
+ "1.8.5",
+ sha256="5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687",
+ url="https://ftp.mozilla.org/pub/js/js185-1.0.0.tar.gz",
+ )
+
+ depends_on("perl@5.6:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@2.7.3:2.8", type="build")
+ depends_on("zip", type="build")
+ depends_on("unzip", type="build")
+ depends_on("nspr", when="@:27")
+ depends_on("libffi@3.0.9:")
+ depends_on("readline", when="@17.0.0:")
+ depends_on("zlib@1.2.3")
+
+ configure_directory = "js/src"
+ build_directory = "js/src/spack-build"
+
+ patch("perl-bug.patch")
# Note: According to https://github.com/apache/couchdb-pkg/tree/master/js/rpm/SOURCES
# There is some patch for mozjs@1.8.5 to fix compile issue.
# Patches required to fix the issue:https://bugzilla.mozilla.org/show_bug.cgi?id=638056
- patch('Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch',
- sha256='b1c869a65f5ebc10741d4631cc2e1e166c6ed53035cfa56bede55a4c19b7b118', when='@1.8.5')
- patch('fix-811665.patch',
- sha256='2b298b8a693865b38e2b0d33277bb5ffe152c6ecf43648e85113fec586aa4752', when='@1.8.5')
+ patch(
+ "Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch",
+ sha256="b1c869a65f5ebc10741d4631cc2e1e166c6ed53035cfa56bede55a4c19b7b118",
+ when="@1.8.5",
+ )
+ patch(
+ "fix-811665.patch",
+ sha256="2b298b8a693865b38e2b0d33277bb5ffe152c6ecf43648e85113fec586aa4752",
+ when="@1.8.5",
+ )
def configure_args(self):
spec = self.spec
config_args = [
- '--enable-readline', # enables readline support in JS shell
- '--enable-threadsafe', # enables support for multiple threads
- '--enable-system-ffi',
- '--with-system-zlib={0}'.format(spec['zlib'].prefix),
- '--with-system-nspr',
- '--with-nspr-prefix={0}'.format(spec['nspr'].prefix),
+ "--enable-readline", # enables readline support in JS shell
+ "--enable-threadsafe", # enables support for multiple threads
+ "--enable-system-ffi",
+ "--with-system-zlib={0}".format(spec["zlib"].prefix),
+ "--with-system-nspr",
+ "--with-nspr-prefix={0}".format(spec["nspr"].prefix),
]
- if spec.target.family == 'aarch64':
- config_args.append('--host=aarch64-linux-gnu')
- if spec.satisfies('@1.8.5'):
- config_args.append('--disable-readline')
+ if spec.target.family == "aarch64":
+ config_args.append("--host=aarch64-linux-gnu")
+ if spec.satisfies("@1.8.5"):
+ config_args.append("--disable-readline")
return config_args
diff --git a/var/spack/repos/builtin/packages/mpark-variant/package.py b/var/spack/repos/builtin/packages/mpark-variant/package.py
index 0369bae698..cb081aec23 100644
--- a/var/spack/repos/builtin/packages/mpark-variant/package.py
+++ b/var/spack/repos/builtin/packages/mpark-variant/package.py
@@ -10,30 +10,34 @@ class MparkVariant(CMakePackage):
"""C++17 `std::variant` for C++11/14/17"""
homepage = "https://github.com/mpark/variant"
- url = "https://github.com/mpark/variant/archive/v1.4.0.tar.gz"
- git = "https://github.com/mpark/variant.git"
- maintainers = ['ax3l']
+ url = "https://github.com/mpark/variant/archive/v1.4.0.tar.gz"
+ git = "https://github.com/mpark/variant.git"
+ maintainers = ["ax3l"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('1.4.0', sha256='8f6b28ab3640b5d76d5b6664dda7257a4405ce59179220431b8fd196c79b2ecb')
- version('1.3.0', sha256='d0f7e41f818fcc839797a8017e76b8b66b323651c304cff641a83a56ae9943c6')
+ version("1.4.0", sha256="8f6b28ab3640b5d76d5b6664dda7257a4405ce59179220431b8fd196c79b2ecb")
+ version("1.3.0", sha256="d0f7e41f818fcc839797a8017e76b8b66b323651c304cff641a83a56ae9943c6")
# Ref.: https://github.com/mpark/variant/pull/73
- patch('nvcc.patch', when='@:1.4.0')
+ patch("nvcc.patch", when="@:1.4.0")
# Ref.: https://github.com/mpark/variant/issues/60
- patch('version.patch', when='@1.4.0')
+ patch("version.patch", when="@1.4.0")
# Ref.: https://github.com/mpark/variant/pull/78
- patch('icpc.patch', when='@:1.4.0')
-
- cxx11_msg = 'MPark.Variant needs a C++11-capable compiler. ' \
- 'See https://github.com/mpark/variant#requirements'
- conflicts('%gcc@:4.7', msg=cxx11_msg)
- conflicts('%clang@:3.5', msg=cxx11_msg)
-
- conflicts('%gcc@7.3.1',
- msg='GCC 7.3.1 has a bug that prevents using MPark.Variant. '
- 'See https://github.com/mpark/variant/issues/43 and '
- 'https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84785 '
- 'Please use a different compiler version or another '
- 'compiler.')
+ patch("icpc.patch", when="@:1.4.0")
+
+ cxx11_msg = (
+ "MPark.Variant needs a C++11-capable compiler. "
+ "See https://github.com/mpark/variant#requirements"
+ )
+ conflicts("%gcc@:4.7", msg=cxx11_msg)
+ conflicts("%clang@:3.5", msg=cxx11_msg)
+
+ conflicts(
+ "%gcc@7.3.1",
+ msg="GCC 7.3.1 has a bug that prevents using MPark.Variant. "
+ "See https://github.com/mpark/variant/issues/43 and "
+ "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84785 "
+ "Please use a different compiler version or another "
+ "compiler.",
+ )
diff --git a/var/spack/repos/builtin/packages/mpas-model/package.py b/var/spack/repos/builtin/packages/mpas-model/package.py
index 92314413c2..e863e2cc36 100644
--- a/var/spack/repos/builtin/packages/mpas-model/package.py
+++ b/var/spack/repos/builtin/packages/mpas-model/package.py
@@ -16,48 +16,68 @@ class MpasModel(MakefilePackage):
homepage = "https://mpas-dev.github.io/"
url = "https://github.com/MPAS-Dev/MPAS-Model/archive/v7.0.tar.gz"
- maintainers = ['t-brown']
+ maintainers = ["t-brown"]
- version('7.3', sha256='a6a9570911b47aa3607036c1ab5a9ae770f9f3a85cea2710f08bb3b35c08facf')
- version('7.2', sha256='3158c22e4a33ae00ce20b65f6ad189c0b7839587dee124d685b02f9df9cf27a7')
- version('7.1', sha256='9b5c181b7d0163ae33d24d7a79ede6990495134b58cf4500ba5c8c94192102bc')
- version('7.0', sha256='f898ce257e66cff9e29320458870570e55721d16cb000de7f2cc27de7fdef14f')
- version('6.3', sha256='e7f1d9ebfeb6ada37d42a286aaedb2e69335cbc857049dc5c5544bb51e7a8db8')
- version('6.2', sha256='2a81825a62a468bf5c56ef9d9677aa2eb88acf78d4f996cb49a7db98b94a6b16')
+ version("7.3", sha256="a6a9570911b47aa3607036c1ab5a9ae770f9f3a85cea2710f08bb3b35c08facf")
+ version("7.2", sha256="3158c22e4a33ae00ce20b65f6ad189c0b7839587dee124d685b02f9df9cf27a7")
+ version("7.1", sha256="9b5c181b7d0163ae33d24d7a79ede6990495134b58cf4500ba5c8c94192102bc")
+ version("7.0", sha256="f898ce257e66cff9e29320458870570e55721d16cb000de7f2cc27de7fdef14f")
+ version("6.3", sha256="e7f1d9ebfeb6ada37d42a286aaedb2e69335cbc857049dc5c5544bb51e7a8db8")
+ version("6.2", sha256="2a81825a62a468bf5c56ef9d9677aa2eb88acf78d4f996cb49a7db98b94a6b16")
# These targets are defined in the Makefile. Some can be auto-detected by the
# compiler name, others need to be explicitly set.
make_target = [
- 'xlf', 'ftn', 'titan-cray', 'pgi', 'pgi-nersc', 'pgi-llnl', 'ifort',
- 'ifort-scorep', 'ifort-gcc', 'gfortran', 'gfortran-clang', 'g95',
- 'pathscale-nersc', 'cray-nersc', 'gnu-nersc', 'intel-nersc', 'bluegene', 'llvm'
+ "xlf",
+ "ftn",
+ "titan-cray",
+ "pgi",
+ "pgi-nersc",
+ "pgi-llnl",
+ "ifort",
+ "ifort-scorep",
+ "ifort-gcc",
+ "gfortran",
+ "gfortran-clang",
+ "g95",
+ "pathscale-nersc",
+ "cray-nersc",
+ "gnu-nersc",
+ "intel-nersc",
+ "bluegene",
+ "llvm",
]
variant(
- 'make_target', default='none',
- description='Predefined targets in the MPAS Makefile.',
- values=make_target.extend('none'), multi=False
+ "make_target",
+ default="none",
+ description="Predefined targets in the MPAS Makefile.",
+ values=make_target.extend("none"),
+ multi=False,
)
variant(
- 'precision', default='double',
- description='MPAS will be built with double/single precision reals.',
- values=('double', 'single'), multi=False
+ "precision",
+ default="double",
+ description="MPAS will be built with double/single precision reals.",
+ values=("double", "single"),
+ multi=False,
)
- depends_on('mpi')
- depends_on('parallelio')
+ depends_on("mpi")
+ depends_on("parallelio")
- patch('makefile.patch', when='@7.0')
+ patch("makefile.patch", when="@7.0")
parallel = False
- resource(when='@6.2:6.3',
- name='MPAS-Data',
- git='https://github.com/MPAS-Dev/MPAS-Data.git',
- commit='33561790de8b43087ab850be833f51a4e605f1bb')
- resource(when='@7.0:',
- name='MPAS-Data',
- git='https://github.com/MPAS-Dev/MPAS-Data.git',
- tag='v7.0')
+ resource(
+ when="@6.2:6.3",
+ name="MPAS-Data",
+ git="https://github.com/MPAS-Dev/MPAS-Data.git",
+ commit="33561790de8b43087ab850be833f51a4e605f1bb",
+ )
+ resource(
+ when="@7.0:", name="MPAS-Data", git="https://github.com/MPAS-Dev/MPAS-Data.git", tag="v7.0"
+ )
def patch_makefile(self, action, targets):
"""Patch predefined flags in Makefile.
@@ -68,89 +88,95 @@ class MpasModel(MakefilePackage):
if action == "all":
return
- sed = Executable('sed')
+ sed = Executable("sed")
for target in targets:
- key = target.split('=')[0]
- sed("-i", "-e", "/^" + action + ":.*$/,/^$/s?" + key + ".*\\\" \\\\?"
- + target + "\\\" \\\\?1", "Makefile")
+ key = target.split("=")[0]
+ sed(
+ "-i",
+ "-e",
+ "/^" + action + ":.*$/,/^$/s?" + key + '.*\\" \\\\?' + target + '\\" \\\\?1',
+ "Makefile",
+ )
def target(self, model, action):
spec = self.spec
satisfies = spec.satisfies
fflags = [self.compiler.openmp_flag]
- cppflags = ['-D_MPI']
- if satisfies('%gcc'):
- fflags.extend([
- '-ffree-line-length-none',
- '-fconvert=big-endian',
- '-ffree-form',
- '-fdefault-real-8',
- '-fdefault-double-8',
- ])
- cppflags.append('-DUNDERSCORE')
- elif satisfies('%fj'):
- fflags.extend([
- '-Free',
- '-Fwide',
- '-CcdRR8',
- ])
- elif satisfies('%intel'):
- fflags.extend([
- '-convert big_endian',
- '-FR',
- ])
- if satisfies('precision=double'):
- fflags.extend(['-r8'])
-
- cppflags.append('-DUNDERSCORE')
+ cppflags = ["-D_MPI"]
+ if satisfies("%gcc"):
+ fflags.extend(
+ [
+ "-ffree-line-length-none",
+ "-fconvert=big-endian",
+ "-ffree-form",
+ "-fdefault-real-8",
+ "-fdefault-double-8",
+ ]
+ )
+ cppflags.append("-DUNDERSCORE")
+ elif satisfies("%fj"):
+ fflags.extend(
+ [
+ "-Free",
+ "-Fwide",
+ "-CcdRR8",
+ ]
+ )
+ elif satisfies("%intel"):
+ fflags.extend(
+ [
+ "-convert big_endian",
+ "-FR",
+ ]
+ )
+ if satisfies("precision=double"):
+ fflags.extend(["-r8"])
+
+ cppflags.append("-DUNDERSCORE")
targets = [
- 'FC_PARALLEL={0}'.format(spec['mpi'].mpifc),
- 'CC_PARALLEL={0}'.format(spec['mpi'].mpicc),
- 'CXX_PARALLEL={0}'.format(spec['mpi'].mpicxx),
- 'FC_SERIAL={0}'.format(spack_fc),
- 'CC_SERIAL={0}'.format(spack_cc),
- 'CXX_SERIAL={0}'.format(spack_cxx),
- 'CFLAGS_OMP={0}'.format(self.compiler.openmp_flag),
- 'FFLAGS_OMP={0}'.format(' '.join(fflags)),
- 'CPPFLAGS={0}'.format(' '.join(cppflags)),
- 'PIO={0}'.format(spec['parallelio'].prefix),
- 'NETCDF={0}'.format(spec['netcdf-c'].prefix),
- 'NETCDFF={0}'.format(spec['netcdf-fortran'].prefix)
+ "FC_PARALLEL={0}".format(spec["mpi"].mpifc),
+ "CC_PARALLEL={0}".format(spec["mpi"].mpicc),
+ "CXX_PARALLEL={0}".format(spec["mpi"].mpicxx),
+ "FC_SERIAL={0}".format(spack_fc),
+ "CC_SERIAL={0}".format(spack_cc),
+ "CXX_SERIAL={0}".format(spack_cxx),
+ "CFLAGS_OMP={0}".format(self.compiler.openmp_flag),
+ "FFLAGS_OMP={0}".format(" ".join(fflags)),
+ "CPPFLAGS={0}".format(" ".join(cppflags)),
+ "PIO={0}".format(spec["parallelio"].prefix),
+ "NETCDF={0}".format(spec["netcdf-c"].prefix),
+ "NETCDFF={0}".format(spec["netcdf-fortran"].prefix),
]
- if satisfies('^parallelio+pnetcdf'):
- targets.append(
- 'PNETCDF={0}'.format(spec['parallel-netcdf'].prefix)
- )
- if self.spec.variants['precision']:
- targets.extend([
- 'PRECISION={0}'.format(self.spec.variants['precision'].value)
- ])
+ if satisfies("^parallelio+pnetcdf"):
+ targets.append("PNETCDF={0}".format(spec["parallel-netcdf"].prefix))
+ if self.spec.variants["precision"]:
+ targets.extend(["PRECISION={0}".format(self.spec.variants["precision"].value)])
- if action == 'all':
+ if action == "all":
# First try to guess by compiler name
if os.path.basename(spack_fc) in self.make_target:
action = os.path.basename(spack_fc)
# Then overwrite with the optional variant if set
- if self.spec.variants['make_target'].value != 'none':
- action = self.spec.variants['make_target'].value
+ if self.spec.variants["make_target"].value != "none":
+ action = self.spec.variants["make_target"].value
- targets.extend([
- 'USE_PIO2=true', 'CPP_FLAGS=-D_MPI', 'OPENMP=true',
- 'CORE={0}'.format(model), action
- ])
+ targets.extend(
+ ["USE_PIO2=true", "CPP_FLAGS=-D_MPI", "OPENMP=true", "CORE={0}".format(model), action]
+ )
self.patch_makefile(action, targets)
return targets
def build(self, spec, prefix):
- copy_tree(join_path('MPAS-Data', 'atmosphere'),
- join_path('src', 'core_atmosphere', 'physics'))
- make(*self.target('init_atmosphere', 'all'), parallel=True)
- mkdir('bin')
- copy('init_atmosphere_model', 'bin')
- make(*self.target('init_atmosphere', 'clean'))
- make(*self.target('atmosphere', 'all'), parallel=True)
- copy('atmosphere_model', 'bin')
+ copy_tree(
+ join_path("MPAS-Data", "atmosphere"), join_path("src", "core_atmosphere", "physics")
+ )
+ make(*self.target("init_atmosphere", "all"), parallel=True)
+ mkdir("bin")
+ copy("init_atmosphere_model", "bin")
+ make(*self.target("init_atmosphere", "clean"))
+ make(*self.target("atmosphere", "all"), parallel=True)
+ copy("atmosphere_model", "bin")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mpc/package.py b/var/spack/repos/builtin/packages/mpc/package.py
index 2b818d666d..1b0074666a 100644
--- a/var/spack/repos/builtin/packages/mpc/package.py
+++ b/var/spack/repos/builtin/packages/mpc/package.py
@@ -8,33 +8,38 @@ from spack.package import *
class Mpc(AutotoolsPackage, GNUMirrorPackage):
"""Gnu Mpc is a C library for the arithmetic of complex numbers
- with arbitrarily high precision and correct rounding of the
- result."""
+ with arbitrarily high precision and correct rounding of the
+ result."""
homepage = "http://www.multiprecision.org"
gnu_mirror_path = "mpc/mpc-1.1.0.tar.gz"
list_url = "http://www.multiprecision.org/mpc/download.html"
- version('1.2.1', sha256='17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459')
- version('1.1.0', sha256='6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e')
- version('1.0.3', sha256='617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3')
- version('1.0.2', sha256='b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488')
+ version("1.2.1", sha256="17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459")
+ version("1.1.0", sha256="6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e")
+ version("1.0.3", sha256="617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3")
+ version("1.0.2", sha256="b561f54d8a479cee3bc891ee52735f18ff86712ba30f036f8b8537bae380c488")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
# Could also be built against mpir instead
- depends_on('gmp@4.3.2:')
- depends_on('gmp@5.0.0:', when='@1.1.0:')
- depends_on('mpfr@2.4.2:')
- depends_on('mpfr@3.0.0:', when='@1.1.0:')
- depends_on('mpfr@4.1.0:', when='@1.2.1:')
+ depends_on("gmp@4.3.2:")
+ depends_on("gmp@5.0.0:", when="@1.1.0:")
+ depends_on("mpfr@2.4.2:")
+ depends_on("mpfr@3.0.0:", when="@1.1.0:")
+ depends_on("mpfr@4.1.0:", when="@1.2.1:")
def configure_args(self):
spec = self.spec
args = [
- '--with-mpfr={0}'.format(spec['mpfr'].prefix),
- '--with-gmp={0}'.format(spec['gmp'].prefix)
+ "--with-mpfr={0}".format(spec["mpfr"].prefix),
+ "--with-gmp={0}".format(spec["gmp"].prefix),
]
- args += self.enable_or_disable('libs')
+ args += self.enable_or_disable("libs")
return args
diff --git a/var/spack/repos/builtin/packages/mpdecimal/package.py b/var/spack/repos/builtin/packages/mpdecimal/package.py
index 8efb60826f..d24ef623ae 100644
--- a/var/spack/repos/builtin/packages/mpdecimal/package.py
+++ b/var/spack/repos/builtin/packages/mpdecimal/package.py
@@ -11,14 +11,14 @@ class Mpdecimal(AutotoolsPackage):
decimal floating point arithmetic."""
homepage = "https://www.bytereef.org/mpdecimal/"
- url = "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.4.2.tar.gz"
+ url = "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.4.2.tar.gz"
list_url = "https://www.bytereef.org/mpdecimal/download.html"
- version('2.4.2', sha256='83c628b90f009470981cf084c5418329c88b19835d8af3691b930afccb7d79c7')
+ version("2.4.2", sha256="83c628b90f009470981cf084c5418329c88b19835d8af3691b930afccb7d79c7")
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
@property
def libs(self):
# Suffix is .so, even on macOS
- return LibraryList(find(self.prefix.lib, 'libmpdec.so'))
+ return LibraryList(find(self.prefix.lib, "libmpdec.so"))
diff --git a/var/spack/repos/builtin/packages/mpe2/package.py b/var/spack/repos/builtin/packages/mpe2/package.py
index f763a59fde..31d7a3b5b8 100644
--- a/var/spack/repos/builtin/packages/mpe2/package.py
+++ b/var/spack/repos/builtin/packages/mpe2/package.py
@@ -10,11 +10,11 @@ class Mpe2(AutotoolsPackage):
"""Message Passing Extensions (MPE): Parallel, shared X window graphics"""
homepage = "https://www.mcs.anl.gov/research/projects/perfvis/software/MPE/"
- url = "https://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2-1.3.0.tar.gz"
+ url = "https://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2-1.3.0.tar.gz"
- version('1.3.0', sha256='0faf32f9adab6fd882be30be913089ebf75272f8b5e4a012bb20c54abc21c0be')
+ version("1.3.0", sha256="0faf32f9adab6fd882be30be913089ebf75272f8b5e4a012bb20c54abc21c0be")
- patch('mpe2.patch')
+ patch("mpe2.patch")
depends_on("mpi")
depends_on("libx11")
@@ -24,10 +24,10 @@ class Mpe2(AutotoolsPackage):
def configure_args(self):
args = []
- args.append('--enable-mpe_graphics=yes')
- args.append('--disable-f77')
- args.append('--enable-viewers=no')
- args.append('--enable-slog2=no')
- args.append('--with-mpicc=%s' % self.spec['mpi'].mpicc)
+ args.append("--enable-mpe_graphics=yes")
+ args.append("--disable-f77")
+ args.append("--enable-viewers=no")
+ args.append("--enable-slog2=no")
+ args.append("--with-mpicc=%s" % self.spec["mpi"].mpicc)
return args
diff --git a/var/spack/repos/builtin/packages/mpest/package.py b/var/spack/repos/builtin/packages/mpest/package.py
index 5d59ccfe4d..ab042ef9f6 100644
--- a/var/spack/repos/builtin/packages/mpest/package.py
+++ b/var/spack/repos/builtin/packages/mpest/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class Mpest(MakefilePackage):
"""MP-EST estimates species trees from a set of gene trees by maximizing
- a pseudo-likelihood function."""
+ a pseudo-likelihood function."""
homepage = "http://faculty.franklin.uga.edu/lliu/content/mp-est"
- url = "https://faculty.franklin.uga.edu/lliu/sites/faculty.franklin.uga.edu.lliu/files/mpest_1.5.zip"
+ url = "https://faculty.franklin.uga.edu/lliu/sites/faculty.franklin.uga.edu.lliu/files/mpest_1.5.zip"
- version('1.5', sha256='536895120fc34b19b0740c7fef6467b74c284ae4f1f29c9f5fc5c633f30e4916')
+ version("1.5", sha256="536895120fc34b19b0740c7fef6467b74c284ae4f1f29c9f5fc5c633f30e4916")
@property
def build_directory(self):
- return join_path('mpest_{0}'.format(self.version), 'src')
+ return join_path("mpest_{0}".format(self.version), "src")
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- install('mpest', prefix.bin)
+ install("mpest", prefix.bin)
def setup_build_environment(self, env):
- if self.spec.satisfies('platform=darwin'):
- env.set('ARCHITECTURE', 'mac')
+ if self.spec.satisfies("platform=darwin"):
+ env.set("ARCHITECTURE", "mac")
else:
- env.set('ARCHITECTURE', 'unix')
+ env.set("ARCHITECTURE", "unix")
diff --git a/var/spack/repos/builtin/packages/mpfi/package.py b/var/spack/repos/builtin/packages/mpfi/package.py
index d3fd0c70fd..f21b2a2c89 100644
--- a/var/spack/repos/builtin/packages/mpfi/package.py
+++ b/var/spack/repos/builtin/packages/mpfi/package.py
@@ -12,20 +12,25 @@ class Mpfi(AutotoolsPackage):
# Notice: no simple way to deduct URL from version
homepage = "https://perso.ens-lyon.fr/nathalie.revol/software.html"
- version('1.5.4', url='https://gforge.inria.fr/frs/download.php/file/38111/mpfi-1.5.4.tgz',
- sha256='3b3938595d720af17973deaf727cfc0dd41c8b16c20adc103a970f4a43ae3a56')
- version('1.5.3', url='https://gforge.inria.fr/frs/download.php/file/37331/mpfi-1.5.3.tar.bz2',
- sha256='2383d457b208c6cd3cf2e66b69c4ce47477b2a0db31fbec0cd4b1ebaa247192f')
+ version(
+ "1.5.4",
+ url="https://gforge.inria.fr/frs/download.php/file/38111/mpfi-1.5.4.tgz",
+ sha256="3b3938595d720af17973deaf727cfc0dd41c8b16c20adc103a970f4a43ae3a56",
+ )
+ version(
+ "1.5.3",
+ url="https://gforge.inria.fr/frs/download.php/file/37331/mpfi-1.5.3.tar.bz2",
+ sha256="2383d457b208c6cd3cf2e66b69c4ce47477b2a0db31fbec0cd4b1ebaa247192f",
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('texinfo', type='build')
- depends_on('gmp', type=('build', 'link'))
- depends_on('mpfr', type=('build', 'link'))
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("gmp", type=("build", "link"))
+ depends_on("mpfr", type=("build", "link"))
def configure_args(self):
- args = ['--with-gmp=' + self.spec['gmp'].prefix,
- '--with-mpfr=' + self.spec['mpfr'].prefix]
+ args = ["--with-gmp=" + self.spec["gmp"].prefix, "--with-mpfr=" + self.spec["mpfr"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/mpfr/package.py b/var/spack/repos/builtin/packages/mpfr/package.py
index 84fd0e5690..e7fdc04462 100644
--- a/var/spack/repos/builtin/packages/mpfr/package.py
+++ b/var/spack/repos/builtin/packages/mpfr/package.py
@@ -8,65 +8,71 @@ from spack.package import *
class Mpfr(AutotoolsPackage, GNUMirrorPackage):
"""The MPFR library is a C library for multiple-precision
- floating-point computations with correct rounding."""
+ floating-point computations with correct rounding."""
homepage = "https://www.mpfr.org/"
gnu_mirror_path = "mpfr/mpfr-4.0.2.tar.bz2"
- version('4.1.0', sha256='feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926')
- version('4.0.2', sha256='c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc')
- version('4.0.1', sha256='a4d97610ba8579d380b384b225187c250ef88cfe1d5e7226b89519374209b86b')
- version('4.0.0', sha256='6aa31fbf3bd1f9f95bcfa241590a9d11cb0f874e2bb93b99c9e2de8eaea6d5fd')
- version('3.1.6', sha256='cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068')
- version('3.1.5', sha256='ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658')
- version('3.1.4', sha256='d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775')
- version('3.1.3', sha256='f63bb459157cacd223caac545cb816bcdb5a0de28b809e7748b82e9eb89b0afd')
- version('3.1.2', sha256='79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b')
+ version("4.1.0", sha256="feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926")
+ version("4.0.2", sha256="c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc")
+ version("4.0.1", sha256="a4d97610ba8579d380b384b225187c250ef88cfe1d5e7226b89519374209b86b")
+ version("4.0.0", sha256="6aa31fbf3bd1f9f95bcfa241590a9d11cb0f874e2bb93b99c9e2de8eaea6d5fd")
+ version("3.1.6", sha256="cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068")
+ version("3.1.5", sha256="ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658")
+ version("3.1.4", sha256="d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775")
+ version("3.1.3", sha256="f63bb459157cacd223caac545cb816bcdb5a0de28b809e7748b82e9eb89b0afd")
+ version("3.1.2", sha256="79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b")
# mpir is a drop-in replacement for gmp
- depends_on('gmp@4.1:') # 4.2.3 or higher is recommended
- depends_on('gmp@5.0:', when='@4.0.0:') # https://www.mpfr.org/mpfr-4.0.0/
+ depends_on("gmp@4.1:") # 4.2.3 or higher is recommended
+ depends_on("gmp@5.0:", when="@4.0.0:") # https://www.mpfr.org/mpfr-4.0.0/
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('autoconf-archive', when='@4.0.2:', type='build')
- depends_on('texinfo', when='@4.1.0', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("autoconf-archive", when="@4.0.2:", type="build")
+ depends_on("texinfo", when="@4.1.0", type="build")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
force_autoreconf = True
# Check the Bugs section of old release pages for patches.
# https://www.mpfr.org/mpfr-X.Y.Z/#bugs
patches = {
- '4.0.2': '3f80b836948aa96f8d1cb9cc7f3f55973f19285482a96f9a4e1623d460bcccf0',
- '4.0.1': '5230aab653fa8675fc05b5bdd3890e071e8df49a92a9d58c4284024affd27739',
- '3.1.6': '7a6dd71bcda4803d6b89612706a17b8816e1acd5dd9bf1bec29cf748f3b60008',
- '3.1.5': '1ae14fb3a54ae8e0faed20801970255b279eee9e5ac624891ab5d29727f0bc04',
- '3.1.4': '113705d5333ef0d0ad3eb136a85404ba6bd1cc524dece5ce902c536aa2e29903',
- '3.1.3': '4152a780b3cc6e9643283e59093b43460196d0fea9302d8c93b2496f6679f4e4',
- '3.1.2': '1b9fdb515efb09a506a01e1eb307b1464455f5ca63d6c193db3a3da371ab3220',
+ "4.0.2": "3f80b836948aa96f8d1cb9cc7f3f55973f19285482a96f9a4e1623d460bcccf0",
+ "4.0.1": "5230aab653fa8675fc05b5bdd3890e071e8df49a92a9d58c4284024affd27739",
+ "3.1.6": "7a6dd71bcda4803d6b89612706a17b8816e1acd5dd9bf1bec29cf748f3b60008",
+ "3.1.5": "1ae14fb3a54ae8e0faed20801970255b279eee9e5ac624891ab5d29727f0bc04",
+ "3.1.4": "113705d5333ef0d0ad3eb136a85404ba6bd1cc524dece5ce902c536aa2e29903",
+ "3.1.3": "4152a780b3cc6e9643283e59093b43460196d0fea9302d8c93b2496f6679f4e4",
+ "3.1.2": "1b9fdb515efb09a506a01e1eb307b1464455f5ca63d6c193db3a3da371ab3220",
}
for ver, checksum in patches.items():
- patch('https://www.mpfr.org/mpfr-{0}/allpatches'.format(ver),
- when='@' + ver, sha256=checksum)
+ patch(
+ "https://www.mpfr.org/mpfr-{0}/allpatches".format(ver), when="@" + ver, sha256=checksum
+ )
def flag_handler(self, name, flags):
# Work around macOS Catalina / Xcode 11 code generation bug
# (test failure t-toom53, due to wrong code in mpn/toom53_mul.o)
- if self.spec.satisfies('os=catalina') and name == 'cflags':
- flags.append('-fno-stack-check')
+ if self.spec.satisfies("os=catalina") and name == "cflags":
+ flags.append("-fno-stack-check")
return (flags, None, None)
def configure_args(self):
args = [
- '--with-gmp=' + self.spec['gmp'].prefix,
+ "--with-gmp=" + self.spec["gmp"].prefix,
]
- args += self.enable_or_disable('libs')
- if 'libs=static' in self.spec:
- args.append('--with-pic')
+ args += self.enable_or_disable("libs")
+ if "libs=static" in self.spec:
+ args.append("--with-pic")
return args
diff --git a/var/spack/repos/builtin/packages/mpi-bash/package.py b/var/spack/repos/builtin/packages/mpi-bash/package.py
index fabcb24bf8..1df7c23dc8 100644
--- a/var/spack/repos/builtin/packages/mpi-bash/package.py
+++ b/var/spack/repos/builtin/packages/mpi-bash/package.py
@@ -10,19 +10,19 @@ class MpiBash(AutotoolsPackage):
"""Parallel scripting right from the Bourne-Again Shell (Bash)"""
homepage = "https://github.com/lanl/MPI-Bash"
- url = "https://github.com/lanl/MPI-Bash/releases/download/v1.2/mpibash-1.2.tar.gz"
+ url = "https://github.com/lanl/MPI-Bash/releases/download/v1.2/mpibash-1.2.tar.gz"
- version('1.2', sha256='5c2faaa74464111205dbae4799bd89c2425810ec3708d004237b42d620c8be57')
+ version("1.2", sha256="5c2faaa74464111205dbae4799bd89c2425810ec3708d004237b42d620c8be57")
- depends_on('bash@4.4:')
+ depends_on("bash@4.4:")
# uses MPI_Exscan which is in MPI-1.2 and later
- depends_on('mpi@1.2:')
+ depends_on("mpi@1.2:")
- depends_on('libcircle')
+ depends_on("libcircle")
def configure_args(self):
args = [
- "--with-bashdir={0}".format(self.spec['bash'].prefix.include.bash),
- "CC={0}".format(self.spec['mpi'].mpicc)
+ "--with-bashdir={0}".format(self.spec["bash"].prefix.include.bash),
+ "CC={0}".format(self.spec["mpi"].mpicc),
]
return args
diff --git a/var/spack/repos/builtin/packages/mpi/package.py b/var/spack/repos/builtin/packages/mpi/package.py
index 0183b5c16a..e97c4dc72b 100644
--- a/var/spack/repos/builtin/packages/mpi/package.py
+++ b/var/spack/repos/builtin/packages/mpi/package.py
@@ -10,24 +10,24 @@ from spack.package import *
class Mpi(Package):
"""Virtual package for the Message Passing Interface."""
- homepage = 'https://www.mpi-forum.org/'
+
+ homepage = "https://www.mpi-forum.org/"
virtual = True
def test(self):
- for lang in ('c', 'f'):
- filename = self.test_suite.current_test_data_dir.join(
- 'mpi_hello.' + lang)
+ for lang in ("c", "f"):
+ filename = self.test_suite.current_test_data_dir.join("mpi_hello." + lang)
- compiler_var = 'MPICC' if lang == 'c' else 'MPIF90'
+ compiler_var = "MPICC" if lang == "c" else "MPIF90"
compiler = os.environ[compiler_var]
- exe_name = 'mpi_hello_%s' % lang
- mpirun = join_path(self.prefix.bin, 'mpirun')
+ exe_name = "mpi_hello_%s" % lang
+ mpirun = join_path(self.prefix.bin, "mpirun")
- compiled = self.run_test(compiler,
- options=['-o', exe_name, filename])
+ compiled = self.run_test(compiler, options=["-o", exe_name, filename])
if compiled:
- self.run_test(mpirun,
- options=['-np', '1', exe_name],
- expected=[r'Hello world! From rank \s*0 of \s*1']
- )
+ self.run_test(
+ mpirun,
+ options=["-np", "1", exe_name],
+ expected=[r"Hello world! From rank \s*0 of \s*1"],
+ )
diff --git a/var/spack/repos/builtin/packages/mpibind/package.py b/var/spack/repos/builtin/packages/mpibind/package.py
index 4bdc8b7592..de2353c6dd 100644
--- a/var/spack/repos/builtin/packages/mpibind/package.py
+++ b/var/spack/repos/builtin/packages/mpibind/package.py
@@ -12,10 +12,10 @@ class Mpibind(AutotoolsPackage):
"""A memory-driven algorithm to map parallel codes
to heterogeneous architectures"""
- homepage = "https://github.com/LLNL/mpibind"
- git = "https://github.com/LLNL/mpibind.git"
+ homepage = "https://github.com/LLNL/mpibind"
+ git = "https://github.com/LLNL/mpibind.git"
- maintainers = ['eleon']
+ maintainers = ["eleon"]
# This package uses 'git describe --tags' to get the
# package version in Autotools' AC_INIT, thus
@@ -23,47 +23,41 @@ class Mpibind(AutotoolsPackage):
# Furthermore, the package can't be cached because
# AC_INIT would be missing the version argument,
# which is derived with git.
- version('master', branch='master', get_full_repo=True)
- version('0.8.0', commit='ff38b9d', no_cache=True)
- version('0.7.0', commit='3c437a9', no_cache=True)
- version('0.5.0', commit='8698f07', no_cache=True)
+ version("master", branch="master", get_full_repo=True)
+ version("0.8.0", commit="ff38b9d", no_cache=True)
+ version("0.7.0", commit="3c437a9", no_cache=True)
+ version("0.5.0", commit="8698f07", no_cache=True)
- variant('cuda', default=False,
- description='Build w/support for NVIDIA GPUs.')
- variant('rocm', default=False,
- description='Build w/support for AMD GPUs.')
- variant('flux', default=False,
- description='Build the Flux plugin.')
- variant('python', default=False,
- description='Build the Python bindings.')
+ variant("cuda", default=False, description="Build w/support for NVIDIA GPUs.")
+ variant("rocm", default=False, description="Build w/support for AMD GPUs.")
+ variant("flux", default=False, description="Build the Flux plugin.")
+ variant("python", default=False, description="Build the Python bindings.")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('hwloc@2:+libxml2', type='link')
- depends_on('hwloc@2:+cuda+nvml', type='link', when='+cuda')
- depends_on('hwloc@2.4:+rocm+opencl', type='link', when='+rocm')
- depends_on('hwloc@2:+pci', type='link',
- when=(sys.platform != 'darwin'))
+ depends_on("hwloc@2:+libxml2", type="link")
+ depends_on("hwloc@2:+cuda+nvml", type="link", when="+cuda")
+ depends_on("hwloc@2.4:+rocm+opencl", type="link", when="+rocm")
+ depends_on("hwloc@2:+pci", type="link", when=(sys.platform != "darwin"))
# flux-core >= 0.30.0 supports FLUX_SHELL_RC_PATH,
# which is needed to load the plugin into Flux
- depends_on('flux-core@0.30:', when='+flux', type='link')
+ depends_on("flux-core@0.30:", when="+flux", type="link")
- depends_on('python@3:', when='+python', type=('build', 'run'))
- depends_on('py-cffi', when='+python', type=('build', 'run'))
+ depends_on("python@3:", when="+python", type=("build", "run"))
+ depends_on("py-cffi", when="+python", type=("build", "run"))
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--verbose', '--force')
+ autoreconf("--install", "--verbose", "--force")
- @when('+flux')
+ @when("+flux")
def setup_run_environment(self, env):
"""Load the mpibind plugin into Flux"""
- env.prepend_path('FLUX_SHELL_RC_PATH',
- join_path(self.prefix, 'share', 'mpibind'))
+ env.prepend_path("FLUX_SHELL_RC_PATH", join_path(self.prefix, "share", "mpibind"))
# To build and run the C unit tests, make sure 'libtap'
# is installed and recognized by pkgconfig.
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index 401e8de967..2167ebbfd9 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -15,253 +15,264 @@ class Mpich(AutotoolsPackage, CudaPackage, ROCmPackage):
the Message Passing Interface (MPI) standard."""
homepage = "https://www.mpich.org"
- url = "https://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
- git = "https://github.com/pmodels/mpich.git"
+ url = "https://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
+ git = "https://github.com/pmodels/mpich.git"
list_url = "https://www.mpich.org/static/downloads/"
list_depth = 1
- maintainers = ['raffenet', 'yfguo']
- tags = ['e4s']
- executables = ['^mpichversion$']
-
- version('develop', submodules=True)
- version('4.0.2', sha256='5a42f1a889d4a2d996c26e48cbf9c595cbf4316c6814f7c181e3320d21dedd42')
- version('4.0.1', sha256='66a1fe8052734af2eb52f47808c4dfef4010ceac461cb93c42b99acfb1a43687')
- version('4.0', sha256='df7419c96e2a943959f7ff4dc87e606844e736e30135716971aba58524fbff64')
- version('3.4.3', sha256='8154d89f3051903181018166678018155f4c2b6f04a9bb6fe9515656452c4fd7')
- version('3.4.2', sha256='5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf')
- version('3.4.1', sha256='8836939804ef6d492bcee7d54abafd6477d2beca247157d92688654d13779727')
- version('3.4', sha256='ce5e238f0c3c13ab94a64936060cff9964225e3af99df1ea11b130f20036c24b')
- version('3.3.2', sha256='4bfaf8837a54771d3e4922c84071ef80ffebddbb6971a006038d91ee7ef959b9')
- version('3.3.1', sha256='fe551ef29c8eea8978f679484441ed8bb1d943f6ad25b63c235d4b9243d551e5')
- version('3.3', sha256='329ee02fe6c3d101b6b30a7b6fb97ddf6e82b28844306771fa9dd8845108fa0b')
- version('3.2.1', sha256='5db53bf2edfaa2238eb6a0a5bc3d2c2ccbfbb1badd79b664a1a919d2ce2330f1')
- version('3.2', sha256='0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc')
- version('3.1.4', sha256='f68b5330e94306c00ca5a1c0e8e275c7f53517d01d6c524d51ce9359d240466b')
- version('3.1.3', sha256='afb690aa828467721e9d9ab233fe00c68cae2b7b930d744cb5f7f3eb08c8602c')
- version('3.1.2', sha256='37c3ba2d3cd3f4ea239497d9d34bd57a663a34e2ea25099c2cbef118c9156587')
- version('3.1.1', sha256='455ccfaf4ec724d2cf5d8bff1f3d26a958ad196121e7ea26504fd3018757652d')
- version('3.1', sha256='fcf96dbddb504a64d33833dc455be3dda1e71c7b3df411dfcf9df066d7c32c39')
- version('3.0.4', sha256='cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3')
-
- variant('hwloc', default=True, description='Use external hwloc package')
- variant('hydra', default=True, description='Build the hydra process manager')
- variant('romio', default=True, description='Enable ROMIO MPI I/O implementation')
- variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
- variant('slurm', default=False, description='Enable SLURM support')
- variant('wrapperrpath', default=True, description='Enable wrapper rpath')
+ maintainers = ["raffenet", "yfguo"]
+ tags = ["e4s"]
+ executables = ["^mpichversion$"]
+
+ version("develop", submodules=True)
+ version("4.0.2", sha256="5a42f1a889d4a2d996c26e48cbf9c595cbf4316c6814f7c181e3320d21dedd42")
+ version("4.0.1", sha256="66a1fe8052734af2eb52f47808c4dfef4010ceac461cb93c42b99acfb1a43687")
+ version("4.0", sha256="df7419c96e2a943959f7ff4dc87e606844e736e30135716971aba58524fbff64")
+ version("3.4.3", sha256="8154d89f3051903181018166678018155f4c2b6f04a9bb6fe9515656452c4fd7")
+ version("3.4.2", sha256="5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf")
+ version("3.4.1", sha256="8836939804ef6d492bcee7d54abafd6477d2beca247157d92688654d13779727")
+ version("3.4", sha256="ce5e238f0c3c13ab94a64936060cff9964225e3af99df1ea11b130f20036c24b")
+ version("3.3.2", sha256="4bfaf8837a54771d3e4922c84071ef80ffebddbb6971a006038d91ee7ef959b9")
+ version("3.3.1", sha256="fe551ef29c8eea8978f679484441ed8bb1d943f6ad25b63c235d4b9243d551e5")
+ version("3.3", sha256="329ee02fe6c3d101b6b30a7b6fb97ddf6e82b28844306771fa9dd8845108fa0b")
+ version("3.2.1", sha256="5db53bf2edfaa2238eb6a0a5bc3d2c2ccbfbb1badd79b664a1a919d2ce2330f1")
+ version("3.2", sha256="0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc")
+ version("3.1.4", sha256="f68b5330e94306c00ca5a1c0e8e275c7f53517d01d6c524d51ce9359d240466b")
+ version("3.1.3", sha256="afb690aa828467721e9d9ab233fe00c68cae2b7b930d744cb5f7f3eb08c8602c")
+ version("3.1.2", sha256="37c3ba2d3cd3f4ea239497d9d34bd57a663a34e2ea25099c2cbef118c9156587")
+ version("3.1.1", sha256="455ccfaf4ec724d2cf5d8bff1f3d26a958ad196121e7ea26504fd3018757652d")
+ version("3.1", sha256="fcf96dbddb504a64d33833dc455be3dda1e71c7b3df411dfcf9df066d7c32c39")
+ version("3.0.4", sha256="cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3")
+
+ variant("hwloc", default=True, description="Use external hwloc package")
+ variant("hydra", default=True, description="Build the hydra process manager")
+ variant("romio", default=True, description="Enable ROMIO MPI I/O implementation")
+ variant("verbs", default=False, description="Build support for OpenFabrics verbs.")
+ variant("slurm", default=False, description="Enable SLURM support")
+ variant("wrapperrpath", default=True, description="Enable wrapper rpath")
variant(
- 'pmi',
- default='pmi',
- description='''PMI interface.''',
- values=('off', 'pmi', 'pmi2', 'pmix', 'cray'),
- multi=False
+ "pmi",
+ default="pmi",
+ description="""PMI interface.""",
+ values=("off", "pmi", "pmi2", "pmix", "cray"),
+ multi=False,
)
variant(
- 'device',
- default='ch4',
- description='''Abstract Device Interface (ADI)
+ "device",
+ default="ch4",
+ description="""Abstract Device Interface (ADI)
implementation. The ch4 device is in experimental state for versions
-before 3.4.''',
- values=('ch3', 'ch4'),
- multi=False
+before 3.4.""",
+ values=("ch3", "ch4"),
+ multi=False,
)
variant(
- 'netmod',
- default='ofi',
- description='''Network module. Only single netmod builds are
+ "netmod",
+ default="ofi",
+ description="""Network module. Only single netmod builds are
supported. For ch3 device configurations, this presumes the
ch3:nemesis communication channel. ch3:sock is not supported by this
-spack package at this time.''',
- values=('tcp', 'mxm', 'ofi', 'ucx'),
- multi=False
+spack package at this time.""",
+ values=("tcp", "mxm", "ofi", "ucx"),
+ multi=False,
)
- variant('pci', default=(sys.platform != 'darwin'),
- description="Support analyzing devices on PCI bus")
- variant('libxml2', default=True,
- description='Use libxml2 for XML support instead of the custom '
- 'minimalistic implementation')
- variant('argobots', default=False,
- description='Enable Argobots support')
- variant('fortran', default=True, description='Enable Fortran support')
+ variant(
+ "pci",
+ default=(sys.platform != "darwin"),
+ description="Support analyzing devices on PCI bus",
+ )
+ variant(
+ "libxml2",
+ default=True,
+ description="Use libxml2 for XML support instead of the custom "
+ "minimalistic implementation",
+ )
+ variant("argobots", default=False, description="Enable Argobots support")
+ variant("fortran", default=True, description="Enable Fortran support")
variant(
- 'two_level_namespace',
+ "two_level_namespace",
default=False,
- description='''Build shared libraries and programs
+ description="""Build shared libraries and programs
built with the mpicc/mpifort/etc. compiler wrappers
with '-Wl,-commons,use_dylibs' and without
-'-Wl,-flat_namespace'.'''
+'-Wl,-flat_namespace'.""",
)
- variant('vci', default=False, when='@4: device=ch4',
- description='Enable multiple VCI (virtual communication '
- 'interface) critical sections to improve performance '
- 'of applications that do heavy concurrent MPI'
- 'communications. Set MPIR_CVAR_CH4_NUM_VCIS=<N> to '
- 'enable multiple vcis at runtime.')
+ variant(
+ "vci",
+ default=False,
+ when="@4: device=ch4",
+ description="Enable multiple VCI (virtual communication "
+ "interface) critical sections to improve performance "
+ "of applications that do heavy concurrent MPI"
+ "communications. Set MPIR_CVAR_CH4_NUM_VCIS=<N> to "
+ "enable multiple vcis at runtime.",
+ )
variant(
- 'datatype-engine',
- default='auto',
- description='controls the datatype engine to use',
- values=('dataloop', 'yaksa', 'auto'),
- when='@3.4:',
- multi=False
+ "datatype-engine",
+ default="auto",
+ description="controls the datatype engine to use",
+ values=("dataloop", "yaksa", "auto"),
+ when="@3.4:",
+ multi=False,
)
- depends_on('yaksa', when='@4.0: device=ch4 datatype-engine=auto')
- depends_on('yaksa', when='@4.0: device=ch4 datatype-engine=yaksa')
- depends_on('yaksa+cuda', when='+cuda ^yaksa')
- depends_on('yaksa+rocm', when='+rocm ^yaksa')
- conflicts('datatype-engine=yaksa', when='device=ch3')
-
- variant('hcoll', default=False,
- description='Enable support for Mellanox HCOLL accelerated '
- 'collective operations library',
- when='@3.3: device=ch4 netmod=ucx')
- depends_on('hcoll', when='+hcoll')
+ depends_on("yaksa", when="@4.0: device=ch4 datatype-engine=auto")
+ depends_on("yaksa", when="@4.0: device=ch4 datatype-engine=yaksa")
+ depends_on("yaksa+cuda", when="+cuda ^yaksa")
+ depends_on("yaksa+rocm", when="+rocm ^yaksa")
+ conflicts("datatype-engine=yaksa", when="device=ch3")
+
+ variant(
+ "hcoll",
+ default=False,
+ description="Enable support for Mellanox HCOLL accelerated "
+ "collective operations library",
+ when="@3.3: device=ch4 netmod=ucx",
+ )
+ depends_on("hcoll", when="+hcoll")
# Todo: cuda can be a conditional variant, but it does not seem to work when
# overriding the variant from CudaPackage.
- conflicts('+cuda', when='@:3.3')
- conflicts('+cuda', when='device=ch3')
- conflicts('+rocm', when='@:4.0')
- conflicts('+rocm', when='device=ch3')
- conflicts('+cuda', when='+rocm', msg='CUDA must be disabled to support ROCm')
-
- provides('mpi@:4.0')
- provides('mpi@:3.1', when='@:3.2')
- provides('mpi@:3.0', when='@:3.1')
- provides('mpi@:2.2', when='@:1.2')
- provides('mpi@:2.1', when='@:1.1')
- provides('mpi@:2.0', when='@:1.0')
-
- filter_compiler_wrappers(
- 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
- )
+ conflicts("+cuda", when="@:3.3")
+ conflicts("+cuda", when="device=ch3")
+ conflicts("+rocm", when="@:4.0")
+ conflicts("+rocm", when="device=ch3")
+ conflicts("+cuda", when="+rocm", msg="CUDA must be disabled to support ROCm")
+
+ provides("mpi@:4.0")
+ provides("mpi@:3.1", when="@:3.2")
+ provides("mpi@:3.0", when="@:3.1")
+ provides("mpi@:2.2", when="@:1.2")
+ provides("mpi@:2.1", when="@:1.1")
+ provides("mpi@:2.0", when="@:1.0")
+
+ filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
# https://github.com/spack/spack/issues/31678
- patch('mpich-oneapi-config-rpath.patch', when='@4.0.2 %oneapi')
+ patch("mpich-oneapi-config-rpath.patch", when="@4.0.2 %oneapi")
# Fix using an external hwloc
# See https://github.com/pmodels/mpich/issues/4038
# and https://github.com/pmodels/mpich/pull/3540
# landed in v3.4b1 v3.4a3
- patch('https://github.com/pmodels/mpich/commit/8a851b317ee57366cd15f4f28842063d8eff4483.patch?full_index=1',
- sha256='d2dafc020941d2d8cab82bc1047e4a6a6d97736b62b06e2831d536de1ac01fd0',
- when='@3.3:3.3.99 +hwloc')
+ patch(
+ "https://github.com/pmodels/mpich/commit/8a851b317ee57366cd15f4f28842063d8eff4483.patch?full_index=1",
+ sha256="d2dafc020941d2d8cab82bc1047e4a6a6d97736b62b06e2831d536de1ac01fd0",
+ when="@3.3:3.3.99 +hwloc",
+ )
# fix MPI_Barrier segmentation fault
# see https://lists.mpich.org/pipermail/discuss/2016-May/004764.html
# and https://lists.mpich.org/pipermail/discuss/2016-June/004768.html
- patch('mpich32_clang.patch', when='@3.2:3.2.0%clang')
- patch('mpich32_clang.patch', when='@3.2:3.2.0%apple-clang')
+ patch("mpich32_clang.patch", when="@3.2:3.2.0%clang")
+ patch("mpich32_clang.patch", when="@3.2:3.2.0%apple-clang")
# Fix SLURM node list parsing
# See https://github.com/pmodels/mpich/issues/3572
# and https://github.com/pmodels/mpich/pull/3578
# Even though there is no version 3.3.0, we need to specify 3.3:3.3.0 in
# the when clause, otherwise the patch will be applied to 3.3.1, too.
- patch('https://github.com/pmodels/mpich/commit/b324d2de860a7a2848dc38aefb8c7627a72d2003.patch?full_index=1',
- sha256='5f48d2dd8cc9f681cf710b864f0d9b00c599f573a75b1e1391de0a3d697eba2d',
- when='@3.3:3.3.0')
+ patch(
+ "https://github.com/pmodels/mpich/commit/b324d2de860a7a2848dc38aefb8c7627a72d2003.patch?full_index=1",
+ sha256="5f48d2dd8cc9f681cf710b864f0d9b00c599f573a75b1e1391de0a3d697eba2d",
+ when="@3.3:3.3.0",
+ )
- depends_on('findutils', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("findutils", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('hwloc@2.0.0:', when='@3.3: +hwloc')
+ depends_on("hwloc@2.0.0:", when="@3.3: +hwloc")
- depends_on('libfabric', when='netmod=ofi')
- depends_on('libfabric fabrics=gni', when='netmod=ofi pmi=cray')
+ depends_on("libfabric", when="netmod=ofi")
+ depends_on("libfabric fabrics=gni", when="netmod=ofi pmi=cray")
# The ch3 ofi netmod results in crashes with libfabric 1.7
# See https://github.com/pmodels/mpich/issues/3665
- depends_on('libfabric@:1.6', when='device=ch3 netmod=ofi')
+ depends_on("libfabric@:1.6", when="device=ch3 netmod=ofi")
- depends_on('ucx', when='netmod=ucx')
- depends_on('mxm', when='netmod=mxm')
+ depends_on("ucx", when="netmod=ucx")
+ depends_on("mxm", when="netmod=mxm")
# The dependencies on libpciaccess and libxml2 come from the embedded
# hwloc, which, before version 3.3, was used only for Hydra.
- depends_on('libpciaccess', when="@:3.2+hydra+pci")
- depends_on('libxml2', when='@:3.2+hydra+libxml2')
+ depends_on("libpciaccess", when="@:3.2+hydra+pci")
+ depends_on("libxml2", when="@:3.2+hydra+libxml2")
# Starting with version 3.3, MPICH uses hwloc directly.
- depends_on('libpciaccess', when="@3.3:+pci")
- depends_on('libxml2', when='@3.3:+libxml2')
+ depends_on("libpciaccess", when="@3.3:+pci")
+ depends_on("libxml2", when="@3.3:+libxml2")
# Starting with version 3.3, Hydra can use libslurm for nodelist parsing
- depends_on('slurm', when='+slurm')
+ depends_on("slurm", when="+slurm")
- depends_on('pmix', when='pmi=pmix')
+ depends_on("pmix", when="pmi=pmix")
# +argobots variant requires Argobots
- depends_on('argobots', when='+argobots')
+ depends_on("argobots", when="+argobots")
# building from git requires regenerating autotools files
- depends_on('automake@1.15:', when='@develop', type='build')
- depends_on('libtool@2.4.4:', when='@develop', type='build')
- depends_on("m4", when="@develop", type='build'),
- depends_on("autoconf@2.67:", when='@develop', type='build')
+ depends_on("automake@1.15:", when="@develop", type="build")
+ depends_on("libtool@2.4.4:", when="@develop", type="build")
+ depends_on("m4", when="@develop", type="build"),
+ depends_on("autoconf@2.67:", when="@develop", type="build")
# building with "+hwloc' also requires regenerating autotools files
- depends_on('automake@1.15:', when='@3.3:3.3.99 +hwloc', type="build")
- depends_on('libtool@2.4.4:', when='@3.3:3.3.99 +hwloc', type="build")
+ depends_on("automake@1.15:", when="@3.3:3.3.99 +hwloc", type="build")
+ depends_on("libtool@2.4.4:", when="@3.3:3.3.99 +hwloc", type="build")
depends_on("m4", when="@3.3:3.3.99 +hwloc", type="build"),
- depends_on("autoconf@2.67:", when='@3.3:3.3.99 +hwloc', type="build")
+ depends_on("autoconf@2.67:", when="@3.3:3.3.99 +hwloc", type="build")
# MPICH's Yaksa submodule requires python to configure
depends_on("python@3.0:", when="@develop", type="build")
- depends_on('cray-pmi', when='pmi=cray')
+ depends_on("cray-pmi", when="pmi=cray")
- conflicts('device=ch4', when='@:3.2')
- conflicts('netmod=ofi', when='@:3.1.4')
- conflicts('netmod=ucx', when='device=ch3')
- conflicts('netmod=mxm', when='device=ch4')
- conflicts('netmod=mxm', when='@:3.1.3')
- conflicts('netmod=tcp', when='device=ch4')
- conflicts('pmi=pmi2', when='device=ch3 netmod=ofi')
- conflicts('pmi=pmix', when='device=ch3')
- conflicts('pmi=pmix', when='+hydra')
- conflicts('pmi=cray', when='+hydra')
+ conflicts("device=ch4", when="@:3.2")
+ conflicts("netmod=ofi", when="@:3.1.4")
+ conflicts("netmod=ucx", when="device=ch3")
+ conflicts("netmod=mxm", when="device=ch4")
+ conflicts("netmod=mxm", when="@:3.1.3")
+ conflicts("netmod=tcp", when="device=ch4")
+ conflicts("pmi=pmi2", when="device=ch3 netmod=ofi")
+ conflicts("pmi=pmix", when="device=ch3")
+ conflicts("pmi=pmix", when="+hydra")
+ conflicts("pmi=cray", when="+hydra")
# MPICH does not require libxml2 and libpciaccess for versions before 3.3
# when ~hydra is set: prevent users from setting +libxml2 and +pci in this
# case to avoid generating an identical MPICH installation.
- conflicts('+pci', when='@:3.2~hydra')
- conflicts('+libxml2', when='@:3.2~hydra')
+ conflicts("+pci", when="@:3.2~hydra")
+ conflicts("+libxml2", when="@:3.2~hydra")
# see https://github.com/pmodels/mpich/pull/5031
- conflicts('%clang@:7', when='@3.4:3.4.1')
+ conflicts("%clang@:7", when="@3.4:3.4.1")
@classmethod
def determine_version(cls, exe):
output = Executable(exe)(output=str, error=str)
- match = re.search(r'MPICH Version:\s+(\S+)', output)
+ match = re.search(r"MPICH Version:\s+(\S+)", output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version):
def get_spack_compiler_spec(compiler):
- spack_compilers = spack.compilers.find_compilers(
- [os.path.dirname(compiler)])
+ spack_compilers = spack.compilers.find_compilers([os.path.dirname(compiler)])
actual_compiler = None
# check if the compiler actually matches the one we want
for spack_compiler in spack_compilers:
- if (spack_compiler.cc and spack_compiler.cc == compiler):
+ if spack_compiler.cc and spack_compiler.cc == compiler:
actual_compiler = spack_compiler
break
return actual_compiler.spec if actual_compiler else None
def is_enabled(text):
- if text in set(['t', 'true', 'enabled', 'enable', 'with',
- 'yes', '1']):
+ if text in set(["t", "true", "enabled", "enable", "with", "yes", "1"]):
return True
return False
def is_disabled(text):
- if text in set(['f', 'false', 'disabled', 'disable',
- 'without', 'no', '0']):
+ if text in set(["f", "false", "disabled", "disable", "without", "no", "0"]):
return True
return False
@@ -269,99 +280,95 @@ with '-Wl,-commons,use_dylibs' and without
for exe in exes:
variants = []
output = Executable(exe)(output=str, error=str)
- if re.search(r'--with-hwloc-prefix=embedded', output):
- variants.append('~hwloc')
+ if re.search(r"--with-hwloc-prefix=embedded", output):
+ variants.append("~hwloc")
- if re.search(r'--with-pm=hydra', output):
- variants.append('+hydra')
+ if re.search(r"--with-pm=hydra", output):
+ variants.append("+hydra")
else:
- variants.append('~hydra')
+ variants.append("~hydra")
- match = re.search(r'--(\S+)-romio', output)
+ match = re.search(r"--(\S+)-romio", output)
if match and is_enabled(match.group(1)):
- variants.append('+romio')
+ variants.append("+romio")
elif match and is_disabled(match.group(1)):
- variants.append('~romio')
+ variants.append("~romio")
- if re.search(r'--with-ibverbs', output):
- variants.append('+verbs')
- elif re.search(r'--without-ibverbs', output):
- variants.append('~verbs')
+ if re.search(r"--with-ibverbs", output):
+ variants.append("+verbs")
+ elif re.search(r"--without-ibverbs", output):
+ variants.append("~verbs")
- match = re.search(r'--enable-wrapper-rpath=(\S+)', output)
+ match = re.search(r"--enable-wrapper-rpath=(\S+)", output)
if match and is_enabled(match.group(1)):
- variants.append('+wrapperrpath')
- match = re.search(r'--enable-wrapper-rpath=(\S+)', output)
+ variants.append("+wrapperrpath")
+ match = re.search(r"--enable-wrapper-rpath=(\S+)", output)
if match and is_disabled(match.group(1)):
- variants.append('~wrapperrpath')
+ variants.append("~wrapperrpath")
- if re.search(r'--disable-fortran', output):
- variants.append('~fortran')
+ if re.search(r"--disable-fortran", output):
+ variants.append("~fortran")
- match = re.search(r'--with-slurm=(\S+)', output)
+ match = re.search(r"--with-slurm=(\S+)", output)
if match and is_enabled(match.group(1)):
- variants.append('+slurm')
-
- if re.search(r'--enable-libxml2', output):
- variants.append('+libxml2')
- elif re.search(r'--disable-libxml2', output):
- variants.append('~libxml2')
-
- if re.search(r'--with-thread-package=argobots', output):
- variants.append('+argobots')
-
- if re.search(r'--with-pmi=no', output):
- variants.append('pmi=off')
- elif re.search(r'--with-pmi=simple', output):
- variants.append('pmi=pmi')
- elif re.search(r'--with-pmi=pmi2/simple', output):
- variants.append('pmi=pmi2')
- elif re.search(r'--with-pmix', output):
- variants.append('pmi=pmix')
-
- match = re.search(r'MPICH Device:\s+(ch3|ch4)', output)
+ variants.append("+slurm")
+
+ if re.search(r"--enable-libxml2", output):
+ variants.append("+libxml2")
+ elif re.search(r"--disable-libxml2", output):
+ variants.append("~libxml2")
+
+ if re.search(r"--with-thread-package=argobots", output):
+ variants.append("+argobots")
+
+ if re.search(r"--with-pmi=no", output):
+ variants.append("pmi=off")
+ elif re.search(r"--with-pmi=simple", output):
+ variants.append("pmi=pmi")
+ elif re.search(r"--with-pmi=pmi2/simple", output):
+ variants.append("pmi=pmi2")
+ elif re.search(r"--with-pmix", output):
+ variants.append("pmi=pmix")
+
+ match = re.search(r"MPICH Device:\s+(ch3|ch4)", output)
if match:
- variants.append('device=' + match.group(1))
+ variants.append("device=" + match.group(1))
- match = re.search(r'--with-device=ch.\S+(ucx|ofi|mxm|tcp)', output)
+ match = re.search(r"--with-device=ch.\S+(ucx|ofi|mxm|tcp)", output)
if match:
- variants.append('netmod=' + match.group(1))
+ variants.append("netmod=" + match.group(1))
- if re.search(r'--with-hcoll', output):
- variants += '+hcoll'
+ if re.search(r"--with-hcoll", output):
+ variants += "+hcoll"
- match = re.search(r'MPICH CC:\s+(\S+)', output)
+ match = re.search(r"MPICH CC:\s+(\S+)", output)
if match:
compiler = match.group(1)
compiler_spec = get_spack_compiler_spec(compiler)
if compiler_spec:
- variants.append('%' + str(compiler_spec))
- results.append(' '.join(variants))
+ variants.append("%" + str(compiler_spec))
+ results.append(" ".join(variants))
return results
def setup_build_environment(self, env):
- env.unset('F90')
- env.unset('F90FLAGS')
+ env.unset("F90")
+ env.unset("F90FLAGS")
# https://bugzilla.redhat.com/show_bug.cgi?id=1795817
- if self.spec.satisfies('%gcc@10:'):
- env.set('FFLAGS', '-fallow-argument-mismatch')
- env.set('FCFLAGS', '-fallow-argument-mismatch')
+ if self.spec.satisfies("%gcc@10:"):
+ env.set("FFLAGS", "-fallow-argument-mismatch")
+ env.set("FCFLAGS", "-fallow-argument-mismatch")
# Same fix but for macOS - avoids issue #17934
- if self.spec.satisfies('%apple-clang@11:'):
- env.set('FFLAGS', '-fallow-argument-mismatch')
- env.set('FCFLAGS', '-fallow-argument-mismatch')
- if self.spec.satisfies('%clang@11:'):
- env.set('FFLAGS', '-fallow-argument-mismatch')
- env.set('FCFLAGS', '-fallow-argument-mismatch')
-
- if 'pmi=cray' in self.spec:
- env.set(
- "CRAY_PMI_INCLUDE_OPTS",
- "-I" + self.spec['cray-pmi'].headers.directories[0])
- env.set(
- "CRAY_PMI_POST_LINK_OPTS",
- "-L" + self.spec['cray-pmi'].libs.directories[0])
+ if self.spec.satisfies("%apple-clang@11:"):
+ env.set("FFLAGS", "-fallow-argument-mismatch")
+ env.set("FCFLAGS", "-fallow-argument-mismatch")
+ if self.spec.satisfies("%clang@11:"):
+ env.set("FFLAGS", "-fallow-argument-mismatch")
+ env.set("FCFLAGS", "-fallow-argument-mismatch")
+
+ if "pmi=cray" in self.spec:
+ env.set("CRAY_PMI_INCLUDE_OPTS", "-I" + self.spec["cray-pmi"].headers.directories[0])
+ env.set("CRAY_PMI_POST_LINK_OPTS", "-L" + self.spec["cray-pmi"].libs.directories[0])
def setup_run_environment(self, env):
# Because MPI implementations provide compilers, they have to add to
@@ -369,29 +376,29 @@ with '-Wl,-commons,use_dylibs' and without
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
external_modules = self.spec.external_modules
- if external_modules and 'cray' in external_modules[0]:
+ if external_modules and "cray" in external_modules[0]:
# This is intended to support external MPICH instances registered
# by Spack on Cray machines prior to a879c87; users defining an
# external MPICH entry for Cray should generally refer to the
# "cray-mpich" package
- env.set('MPICC', spack_cc)
- env.set('MPICXX', spack_cxx)
- env.set('MPIF77', spack_fc)
- env.set('MPIF90', spack_fc)
+ env.set("MPICC", spack_cc)
+ env.set("MPICXX", spack_cxx)
+ env.set("MPIF77", spack_fc)
+ env.set("MPIF90", spack_fc)
else:
- env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
- env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
- env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
- env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+ env.set("MPICC", join_path(self.prefix.bin, "mpicc"))
+ env.set("MPICXX", join_path(self.prefix.bin, "mpic++"))
+ 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)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_dependent_package(self, module, dependent_spec):
spec = self.spec
@@ -399,35 +406,34 @@ with '-Wl,-commons,use_dylibs' and without
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
external_modules = spec.external_modules
- if external_modules and 'cray' in external_modules[0]:
+ if external_modules and "cray" in external_modules[0]:
spec.mpicc = spack_cc
spec.mpicxx = spack_cxx
spec.mpifc = spack_fc
spec.mpif77 = spack_f77
else:
- spec.mpicc = join_path(self.prefix.bin, 'mpicc')
- spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
+ spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ spec.mpicxx = join_path(self.prefix.bin, "mpic++")
- if '+fortran' in spec:
- spec.mpifc = join_path(self.prefix.bin, 'mpif90')
- spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ if "+fortran" in spec:
+ spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ spec.mpif77 = join_path(self.prefix.bin, "mpif77")
spec.mpicxx_shared_libs = [
- join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ join_path(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ join_path(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
def autoreconf(self, spec, prefix):
"""Not needed usually, configure should be already there"""
# If configure exists nothing needs to be done
- if (os.path.exists(self.configure_abs_path) and
- not spec.satisfies('@3.3:3.3.99 +hwloc')):
+ if os.path.exists(self.configure_abs_path) and not spec.satisfies("@3.3:3.3.99 +hwloc"):
return
# Else bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def die_without_fortran(self):
# Until we can pass variants such as +fortran through virtual
# dependencies depends_on('mpi'), require Fortran compiler to
@@ -440,149 +446,143 @@ with '-Wl,-commons,use_dylibs' and without
fortran_missing = f77 is None or fc is None
- if '+fortran' in self.spec and fortran_missing:
+ if "+fortran" in self.spec and fortran_missing:
raise InstallError(
- 'mpich +fortran requires Fortran compilers. Configure '
- 'Fortran compiler or disable Fortran support with ~fortran'
+ "mpich +fortran requires Fortran compilers. Configure "
+ "Fortran compiler or disable Fortran support with ~fortran"
)
def configure_args(self):
spec = self.spec
config_args = [
- '--disable-silent-rules',
- '--enable-shared',
- '--with-hwloc-prefix={0}'.format(
- spec['hwloc'].prefix if '^hwloc' in spec else 'embedded'),
- '--with-pm={0}'.format('hydra' if '+hydra' in spec else 'no'),
- '--{0}-romio'.format('enable' if '+romio' in spec else 'disable'),
- '--{0}-ibverbs'.format('with' if '+verbs' in spec else 'without'),
- '--enable-wrapper-rpath={0}'.format('no' if '~wrapperrpath' in
- spec else 'yes'),
- '--with-yaksa={0}'.format(
- spec['yaksa'].prefix if '^yaksa' in spec else 'embedded'),
+ "--disable-silent-rules",
+ "--enable-shared",
+ "--with-hwloc-prefix={0}".format(
+ spec["hwloc"].prefix if "^hwloc" in spec else "embedded"
+ ),
+ "--with-pm={0}".format("hydra" if "+hydra" in spec else "no"),
+ "--{0}-romio".format("enable" if "+romio" in spec else "disable"),
+ "--{0}-ibverbs".format("with" if "+verbs" in spec else "without"),
+ "--enable-wrapper-rpath={0}".format("no" if "~wrapperrpath" in spec else "yes"),
+ "--with-yaksa={0}".format(spec["yaksa"].prefix if "^yaksa" in spec else "embedded"),
]
- if '~fortran' in spec:
- config_args.append('--disable-fortran')
+ if "~fortran" in spec:
+ config_args.append("--disable-fortran")
- if '+slurm' in spec:
- config_args.append('--with-slurm=yes')
- config_args.append('--with-slurm-include={0}'.format(
- spec['slurm'].prefix.include))
- config_args.append('--with-slurm-lib={0}'.format(
- spec['slurm'].prefix.lib))
+ if "+slurm" in spec:
+ config_args.append("--with-slurm=yes")
+ config_args.append("--with-slurm-include={0}".format(spec["slurm"].prefix.include))
+ config_args.append("--with-slurm-lib={0}".format(spec["slurm"].prefix.lib))
else:
- config_args.append('--with-slurm=no')
-
- if 'pmi=off' in spec:
- config_args.append('--with-pmi=no')
- elif 'pmi=pmi' in spec:
- config_args.append('--with-pmi=simple')
- elif 'pmi=pmi2' in spec:
- config_args.append('--with-pmi=pmi2/simple')
- elif 'pmi=pmix' in spec:
- config_args.append('--with-pmix={0}'.format(spec['pmix'].prefix))
- elif 'pmi=cray' in spec:
- config_args.append('--with-pmi=cray')
-
- if '+cuda' in spec:
- config_args.append('--with-cuda={0}'.format(spec['cuda'].prefix))
- elif spec.satisfies('@:3.3,3.4.4:'):
+ config_args.append("--with-slurm=no")
+
+ if "pmi=off" in spec:
+ config_args.append("--with-pmi=no")
+ elif "pmi=pmi" in spec:
+ config_args.append("--with-pmi=simple")
+ elif "pmi=pmi2" in spec:
+ config_args.append("--with-pmi=pmi2/simple")
+ elif "pmi=pmix" in spec:
+ config_args.append("--with-pmix={0}".format(spec["pmix"].prefix))
+ elif "pmi=cray" in spec:
+ config_args.append("--with-pmi=cray")
+
+ if "+cuda" in spec:
+ config_args.append("--with-cuda={0}".format(spec["cuda"].prefix))
+ elif spec.satisfies("@:3.3,3.4.4:"):
# Versions from 3.4 to 3.4.3 cannot handle --without-cuda
# (see https://github.com/pmodels/mpich/pull/5060):
- config_args.append('--without-cuda')
+ config_args.append("--without-cuda")
- if '+rocm' in spec:
- config_args.append('--with-hip={0}'.format(spec['hip'].prefix))
+ if "+rocm" in spec:
+ config_args.append("--with-hip={0}".format(spec["hip"].prefix))
else:
- config_args.append('--without-hip')
+ config_args.append("--without-hip")
# setup device configuration
- device_config = ''
- if 'device=ch4' in spec:
- device_config = '--with-device=ch4:'
- elif 'device=ch3' in spec:
- device_config = '--with-device=ch3:nemesis:'
-
- if 'netmod=ucx' in spec:
- device_config += 'ucx'
- elif 'netmod=ofi' in spec:
- device_config += 'ofi'
- elif 'netmod=mxm' in spec:
- device_config += 'mxm'
- elif 'netmod=tcp' in spec:
- device_config += 'tcp'
+ device_config = ""
+ if "device=ch4" in spec:
+ device_config = "--with-device=ch4:"
+ elif "device=ch3" in spec:
+ device_config = "--with-device=ch3:nemesis:"
+
+ if "netmod=ucx" in spec:
+ device_config += "ucx"
+ elif "netmod=ofi" in spec:
+ device_config += "ofi"
+ elif "netmod=mxm" in spec:
+ device_config += "mxm"
+ elif "netmod=tcp" in spec:
+ device_config += "tcp"
config_args.append(device_config)
# Specify libfabric or ucx path explicitly, otherwise
# configure might fall back to an embedded version.
- if 'netmod=ofi' in spec:
- config_args.append('--with-libfabric={0}'.format(
- spec['libfabric'].prefix))
- if 'netmod=ucx' in spec:
- config_args.append('--with-ucx={0}'.format(
- spec['ucx'].prefix))
+ if "netmod=ofi" in spec:
+ config_args.append("--with-libfabric={0}".format(spec["libfabric"].prefix))
+ if "netmod=ucx" in spec:
+ config_args.append("--with-ucx={0}".format(spec["ucx"].prefix))
# In other cases the argument is redundant.
- if '@:3.2+hydra' in spec or '@3.3:' in spec:
+ if "@:3.2+hydra" in spec or "@3.3:" in spec:
# The root configure script passes the argument to the configure
# scripts of all instances of hwloc (there are three copies of it:
# for hydra, for hydra2, and for MPICH itself).
- config_args += self.enable_or_disable('libxml2')
+ config_args += self.enable_or_disable("libxml2")
# If +argobots specified, add argobots option
- if '+argobots' in spec:
- config_args.append('--with-thread-package=argobots')
- config_args.append('--with-argobots=' + spec['argobots'].prefix)
+ if "+argobots" in spec:
+ config_args.append("--with-thread-package=argobots")
+ config_args.append("--with-argobots=" + spec["argobots"].prefix)
- if '+two_level_namespace' in spec:
- config_args.append('--enable-two-level-namespace')
+ if "+two_level_namespace" in spec:
+ config_args.append("--enable-two-level-namespace")
- if '+vci' in spec:
- config_args.append('--enable-thread-cs=per-vci')
- config_args.append('--with-ch4-max-vcis=default')
+ if "+vci" in spec:
+ config_args.append("--enable-thread-cs=per-vci")
+ config_args.append("--with-ch4-max-vcis=default")
- if 'datatype-engine=yaksa' in spec:
- config_args.append('--with-datatype-engine=yaksa')
- elif 'datatype-engine=dataloop' in spec:
- config_args.append('--with-datatype-engine=dataloop')
- elif 'datatype-engine=auto' in spec:
- config_args.append('--with-datatye-engine=auto')
+ if "datatype-engine=yaksa" in spec:
+ config_args.append("--with-datatype-engine=yaksa")
+ elif "datatype-engine=dataloop" in spec:
+ config_args.append("--with-datatype-engine=dataloop")
+ elif "datatype-engine=auto" in spec:
+ config_args.append("--with-datatye-engine=auto")
- if '+hcoll' in spec:
- config_args.append('--with-hcoll=' + spec['hcoll'].prefix)
+ if "+hcoll" in spec:
+ config_args.append("--with-hcoll=" + spec["hcoll"].prefix)
return config_args
- @run_after('install')
+ @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(['examples', join_path('test', 'mpi')])
+ self.cache_extra_test_sources(["examples", join_path("test", "mpi")])
def run_mpich_test(self, example_dir, exe):
"""Run stand alone tests"""
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- example_dir)
- exe_source = join_path(test_dir, '{0}.c'.format(exe))
+ test_dir = join_path(self.test_suite.current_test_cache_dir, example_dir)
+ exe_source = join_path(test_dir, "{0}.c".format(exe))
if not os.path.isfile(exe_source):
- print('Skipping {0} test'.format(exe))
+ print("Skipping {0} test".format(exe))
return
- self.run_test(self.prefix.bin.mpicc,
- options=[exe_source, '-Wall', '-g', '-o', exe],
- purpose='test: generate {0} file'.format(exe),
- work_dir=test_dir)
+ self.run_test(
+ self.prefix.bin.mpicc,
+ options=[exe_source, "-Wall", "-g", "-o", exe],
+ purpose="test: generate {0} file".format(exe),
+ work_dir=test_dir,
+ )
- self.run_test(exe,
- purpose='test: run {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_mpich_test(join_path('test', 'mpi', 'init'), 'finalized')
- self.run_mpich_test(join_path('test', 'mpi', 'basic'), 'sendrecv')
- self.run_mpich_test(join_path('test', 'mpi', 'perf'), 'manyrma')
- self.run_mpich_test('examples', 'cpi')
+ self.run_mpich_test(join_path("test", "mpi", "init"), "finalized")
+ self.run_mpich_test(join_path("test", "mpi", "basic"), "sendrecv")
+ self.run_mpich_test(join_path("test", "mpi", "perf"), "manyrma")
+ self.run_mpich_test("examples", "cpi")
diff --git a/var/spack/repos/builtin/packages/mpifileutils/package.py b/var/spack/repos/builtin/packages/mpifileutils/package.py
index 3abff34432..c2c9e491f6 100644
--- a/var/spack/repos/builtin/packages/mpifileutils/package.py
+++ b/var/spack/repos/builtin/packages/mpifileutils/package.py
@@ -8,152 +8,147 @@ from spack.package import *
class Mpifileutils(Package):
"""mpiFileUtils is a suite of MPI-based tools to manage large datasets,
- which may vary from large directory trees to large files.
- High-performance computing users often generate large datasets with
- parallel applications that run with many processes (millions in some
- cases). However those users are then stuck with single-process tools
- like cp and rm to manage their datasets. This suite provides
- MPI-based tools to handle typical jobs like copy, remove, and compare
- for such datasets, providing speedups of up to 20-30x."""
+ which may vary from large directory trees to large files.
+ High-performance computing users often generate large datasets with
+ parallel applications that run with many processes (millions in some
+ cases). However those users are then stuck with single-process tools
+ like cp and rm to manage their datasets. This suite provides
+ MPI-based tools to handle typical jobs like copy, remove, and compare
+ for such datasets, providing speedups of up to 20-30x."""
homepage = "https://github.com/hpc/mpifileutils"
- url = "https://github.com/hpc/mpifileutils/archive/v0.9.tar.gz"
- git = "https://github.com/hpc/mpifileutils.git"
+ url = "https://github.com/hpc/mpifileutils/archive/v0.9.tar.gz"
+ git = "https://github.com/hpc/mpifileutils.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='master')
- version('0.11.1', sha256='e2cba53309b5b3ee581b6ff82e4e66f54628370cce694c34224ed947fece32d4')
- version('0.11', sha256='f5dc1b39077b3c04f79b2c335c4fd80306f8c57ecfbcacbb82cf532caf02b5fd')
- version('0.10.1', sha256='4c8409ef4140f6f557d0e93f0c1267baf5d893c203b29fb7a33d9bc3c5a5d25c')
- version('0.10', sha256='5a71a9acd9841c3c258fc0eaea942f18abcb40098714cc90462b57696c07e3c5')
- version('0.9.1', sha256='15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69')
- version('0.9', sha256='1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb')
+ version("develop", branch="master")
+ version("0.11.1", sha256="e2cba53309b5b3ee581b6ff82e4e66f54628370cce694c34224ed947fece32d4")
+ version("0.11", sha256="f5dc1b39077b3c04f79b2c335c4fd80306f8c57ecfbcacbb82cf532caf02b5fd")
+ version("0.10.1", sha256="4c8409ef4140f6f557d0e93f0c1267baf5d893c203b29fb7a33d9bc3c5a5d25c")
+ version("0.10", sha256="5a71a9acd9841c3c258fc0eaea942f18abcb40098714cc90462b57696c07e3c5")
+ version("0.9.1", sha256="15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69")
+ version("0.9", sha256="1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb")
- patch('nosys_getdents.patch', when='@:0.10.1 target=aarch64:')
+ patch("nosys_getdents.patch", when="@:0.10.1 target=aarch64:")
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
- depends_on('mpi')
- depends_on('libcircle@0.3:')
+ depends_on("mpi")
+ depends_on("libcircle@0.3:")
# need precise version of dtcmp, since DTCMP_Segmented_exscan added
# in v1.0.3 but renamed in v1.1.0 and later
- depends_on('dtcmp@1.0.3', when='@:0.7')
- depends_on('dtcmp@1.1.0:', when='@0.8:')
+ depends_on("dtcmp@1.0.3", when="@:0.7")
+ depends_on("dtcmp@1.1.0:", when="@0.8:")
# fixes were added to libarchive somewhere between 3.1.2 and 3.5.0
# which helps with file names that start with "._", bumping to newer
# libarchive, but in a way that does not disrupt older mpiFileUtils installs
- depends_on('libarchive')
- depends_on('libarchive@3.5.1:', when='@0.11:')
+ depends_on("libarchive")
+ depends_on("libarchive@3.5.1:", when="@0.11:")
- depends_on('attr', when='@0.11.1:+xattr')
+ depends_on("attr", when="@0.11.1:+xattr")
- depends_on('bzip2')
+ depends_on("bzip2")
- depends_on('libcap')
+ depends_on("libcap")
- depends_on('openssl')
+ depends_on("openssl")
- depends_on('cmake@3.1:', when='@0.9:', type='build')
+ depends_on("cmake@3.1:", when="@0.9:", type="build")
- variant('xattr', default=True,
- description="Enable code for extended attributes")
+ variant("xattr", default=True, description="Enable code for extended attributes")
- variant('lustre', default=False,
- description="Enable optimizations and features for Lustre")
+ variant("lustre", default=False, description="Enable optimizations and features for Lustre")
- variant('gpfs', default=False,
- description="Enable optimizations and features for GPFS")
- conflicts('+gpfs', when='@:0.8.1')
+ variant("gpfs", default=False, description="Enable optimizations and features for GPFS")
+ conflicts("+gpfs", when="@:0.8.1")
- variant('experimental', default=False,
- description="Install experimental tools")
- conflicts('+experimental', when='@:0.6')
+ variant("experimental", default=False, description="Install experimental tools")
+ conflicts("+experimental", when="@:0.6")
def cmake_args(self):
args = std_cmake_args
- args.append('-DCMAKE_INSTALL_PREFIX=%s' % self.spec.prefix)
- args.append("-DWITH_DTCMP_PREFIX=%s" % self.spec['dtcmp'].prefix)
- args.append("-DWITH_LibCircle_PREFIX=%s" %
- self.spec['libcircle'].prefix)
+ args.append("-DCMAKE_INSTALL_PREFIX=%s" % self.spec.prefix)
+ args.append("-DWITH_DTCMP_PREFIX=%s" % self.spec["dtcmp"].prefix)
+ args.append("-DWITH_LibCircle_PREFIX=%s" % self.spec["libcircle"].prefix)
- if '+xattr' in self.spec:
+ if "+xattr" in self.spec:
args.append("-DENABLE_XATTRS=ON")
else:
args.append("-DENABLE_XATTRS=OFF")
- if '+lustre' in self.spec:
+ if "+lustre" in self.spec:
args.append("-DENABLE_LUSTRE=ON")
else:
args.append("-DENABLE_LUSTRE=OFF")
- if '+gpfs' in self.spec:
+ if "+gpfs" in self.spec:
args.append("-DENABLE_GPFS=ON")
else:
args.append("-DENABLE_GPFS=OFF")
- if '+experimental' in self.spec:
+ if "+experimental" in self.spec:
args.append("-DENABLE_EXPERIMENTAL=ON")
else:
args.append("-DENABLE_EXPERIMENTAL=OFF")
return args
- @when('@0.9:')
+ @when("@0.9:")
def install(self, spec, prefix):
args = self.cmake_args()
source_directory = self.stage.source_path
- build_directory = join_path(source_directory, 'build')
+ build_directory = join_path(source_directory, "build")
with working_dir(build_directory, create=True):
cmake(source_directory, *args)
make()
- make('install')
+ make("install")
if self.run_tests:
- make('test')
+ make("test")
def configure_args(self):
args = []
- args.append('--prefix=%s' % self.spec.prefix)
+ args.append("--prefix=%s" % self.spec.prefix)
args.append("CPPFLAGS=-I%s/src/common" % pwd())
- args.append("libarchive_CFLAGS=-I%s"
- % self.spec['libarchive'].prefix.include)
- args.append("libarchive_LIBS=%s %s"
- % (self.spec['libarchive'].libs.search_flags,
- self.spec['libarchive'].libs.link_flags))
- args.append("libcircle_CFLAGS=-I%s"
- % self.spec['libcircle'].prefix.include)
- args.append("libcircle_LIBS=%s %s"
- % (self.spec['libcircle'].libs.search_flags,
- self.spec['libcircle'].libs.link_flags))
- args.append("--with-dtcmp=%s" % self.spec['dtcmp'].prefix)
-
- if '+xattr' in self.spec:
- args.append('CFLAGS=-DDCOPY_USE_XATTRS')
-
- if '+lustre' in self.spec:
- args.append('--enable-lustre')
+ args.append("libarchive_CFLAGS=-I%s" % self.spec["libarchive"].prefix.include)
+ args.append(
+ "libarchive_LIBS=%s %s"
+ % (self.spec["libarchive"].libs.search_flags, self.spec["libarchive"].libs.link_flags)
+ )
+ args.append("libcircle_CFLAGS=-I%s" % self.spec["libcircle"].prefix.include)
+ args.append(
+ "libcircle_LIBS=%s %s"
+ % (self.spec["libcircle"].libs.search_flags, self.spec["libcircle"].libs.link_flags)
+ )
+ args.append("--with-dtcmp=%s" % self.spec["dtcmp"].prefix)
+
+ if "+xattr" in self.spec:
+ args.append("CFLAGS=-DDCOPY_USE_XATTRS")
+
+ if "+lustre" in self.spec:
+ args.append("--enable-lustre")
else:
- args.append('--disable-lustre')
+ args.append("--disable-lustre")
- if self.spec.satisfies('@0.7:'):
- if '+experimental' in self.spec:
- args.append('--enable-experimental')
+ if self.spec.satisfies("@0.7:"):
+ if "+experimental" in self.spec:
+ args.append("--enable-experimental")
else:
- args.append('--disable-experimental')
+ args.append("--disable-experimental")
return args
- @when('@:0.8.1')
+ @when("@:0.8.1")
def install(self, spec, prefix):
args = self.configure_args()
configure(*args)
make()
- make('install')
+ make("install")
if self.run_tests:
- make('test')
+ make("test")
diff --git a/var/spack/repos/builtin/packages/mpilander/package.py b/var/spack/repos/builtin/packages/mpilander/package.py
index 10d71ca72f..d541149c14 100644
--- a/var/spack/repos/builtin/packages/mpilander/package.py
+++ b/var/spack/repos/builtin/packages/mpilander/package.py
@@ -10,11 +10,11 @@ class Mpilander(CMakePackage):
"""There can only be one (MPI process)!"""
homepage = "https://github.com/MPILander/MPILander"
- git = "https://github.com/MPILander/MPILander.git"
+ git = "https://github.com/MPILander/MPILander.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='master')
+ version("develop", branch="master")
# variant('cuda', default=False, description='Enable CUDA support')
# variant(
@@ -24,21 +24,21 @@ class Mpilander(CMakePackage):
# multi=True
# )
- depends_on('cmake@3.9.2:', type='build')
+ depends_on("cmake@3.9.2:", type="build")
- provides('mpi@:3.1')
+ provides("mpi@:3.1")
# compiler support
- conflicts('%gcc@:4.7')
- conflicts('%clang@:3.8')
- conflicts('%apple-clang@:7.4')
- conflicts('%intel@:16')
+ conflicts("%gcc@:4.7")
+ conflicts("%clang@:3.8")
+ conflicts("%apple-clang@:7.4")
+ conflicts("%intel@:16")
def cmake_args(self):
args = [
# tests and examples
- self.define('BUILD_TESTING', self.run_tests),
- self.define('BUILD_EXAMPLES', self.run_tests),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define("BUILD_EXAMPLES", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/mpileaks/package.py b/var/spack/repos/builtin/packages/mpileaks/package.py
index ce0081fc7f..38a6cdd5ed 100644
--- a/var/spack/repos/builtin/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin/packages/mpileaks/package.py
@@ -11,29 +11,35 @@ class Mpileaks(AutotoolsPackage):
MPI_Datatypes."""
homepage = "https://github.com/LLNL/mpileaks"
- url = "https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
+ url = "https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
- version('1.0', sha256='2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825')
+ version("1.0", sha256="2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825")
- variant('stackstart', values=int, default=0,
- description='Specify the number of stack frames to truncate')
+ variant(
+ "stackstart",
+ values=int,
+ default=0,
+ description="Specify the number of stack frames to truncate",
+ )
- depends_on('mpi')
- depends_on('adept-utils')
- depends_on('callpath')
+ depends_on("mpi")
+ depends_on("adept-utils")
+ depends_on("callpath")
def configure_args(self):
- stackstart = int(self.spec.variants['stackstart'].value)
+ stackstart = int(self.spec.variants["stackstart"].value)
args = [
- '--with-adept-utils={0}'.format(self.spec['adept-utils'].prefix),
- '--with-callpath={0}'.format(self.spec['callpath'].prefix),
+ "--with-adept-utils={0}".format(self.spec["adept-utils"].prefix),
+ "--with-callpath={0}".format(self.spec["callpath"].prefix),
]
if stackstart:
- args.extend([
- '--with-stack-start-c={0}'.format(stackstart),
- '--with-stack-start-fortran={0}'.format(stackstart)
- ])
+ args.extend(
+ [
+ "--with-stack-start-c={0}".format(stackstart),
+ "--with-stack-start-fortran={0}".format(stackstart),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/mpip/package.py b/var/spack/repos/builtin/packages/mpip/package.py
index 0ee8734cf3..70001bd8a6 100644
--- a/var/spack/repos/builtin/packages/mpip/package.py
+++ b/var/spack/repos/builtin/packages/mpip/package.py
@@ -9,67 +9,68 @@ from spack.package import *
class Mpip(AutotoolsPackage):
"""mpiP: Lightweight, Scalable MPI Profiling"""
+
homepage = "https://software.llnl.gov/mpiP/"
- url = "https://github.com/LLNL/mpiP/releases/download/3.5/mpip-3.5.tgz"
- git = "https://github.com/llnl/mpip.git"
- maintainers = ['cchambreau']
+ url = "https://github.com/LLNL/mpiP/releases/download/3.5/mpip-3.5.tgz"
+ git = "https://github.com/llnl/mpip.git"
+ maintainers = ["cchambreau"]
- version('master', branch='master')
- version('3.5',
- sha256="e366843d53fa016fb03903e51c8aac901aa5155edabe64698a8d6fa618a03bbd")
- version("3.4.1",
- sha256="66a86dafde61546be80a130c46e4295f47fb764cf312ae62c70a6dc456a59dac")
+ version("master", branch="master")
+ version("3.5", sha256="e366843d53fa016fb03903e51c8aac901aa5155edabe64698a8d6fa618a03bbd")
+ version("3.4.1", sha256="66a86dafde61546be80a130c46e4295f47fb764cf312ae62c70a6dc456a59dac")
- variant('demangling', default=True,
- description="Build with demangling support")
+ variant("demangling", default=True, description="Build with demangling support")
- variant('setjmp', default=False,
- description="Use setjmp to generate stack trace")
+ variant("setjmp", default=False, description="Use setjmp to generate stack trace")
- variant('mpi_io', default=True,
- description="Enable MPI-I/O reporting")
+ variant("mpi_io", default=True, description="Enable MPI-I/O reporting")
- variant('mpi_rma', default=True,
- description="Enable MPI RMA reporting")
+ variant("mpi_rma", default=True, description="Enable MPI RMA reporting")
- variant('mpi_nbc', default=True,
- description="Enable MPI non-blocking collective reporting")
+ variant("mpi_nbc", default=True, description="Enable MPI non-blocking collective reporting")
- variant('bfd', default=True,
- description="Enable GNU binutils libbfd for source lookup")
+ variant("bfd", default=True, description="Enable GNU binutils libbfd for source lookup")
- variant('libunwind', default=True,
- description="Use libunwind togenerate stack trace")
+ variant("libunwind", default=True, description="Use libunwind togenerate stack trace")
- variant('maxargs', values=int, default=32,
- description='Set number of command line arguments in report')
+ variant(
+ "maxargs",
+ values=int,
+ default=32,
+ description="Set number of command line arguments in report",
+ )
- variant('stackdepth', values=int, default=8,
- description='Specify maximum report stacktrace depth')
+ variant(
+ "stackdepth", values=int, default=8, description="Specify maximum report stacktrace depth"
+ )
- variant('internal_stackdepth', values=int, default=3,
- description='Specify number of internal stack frames')
+ variant(
+ "internal_stackdepth",
+ values=int,
+ default=3,
+ description="Specify number of internal stack frames",
+ )
- variant('add_shared_target', default=False, description="Add shared make target")
+ variant("add_shared_target", default=False, description="Add shared make target")
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
# make-wrappers.py wrapper generator script requires python
- depends_on('python@2:', when='@3.5:', type='build')
- depends_on('python@:2', when='@3.4.1', type='build')
- depends_on('mpi')
+ depends_on("python@2:", when="@3.5:", type="build")
+ depends_on("python@:2", when="@3.4.1", type="build")
+ depends_on("mpi")
# '+setjmp' adds '--disable-libunwind' to the confiure args
- depends_on('unwind', when='@3.5: +libunwind ~setjmp')
+ depends_on("unwind", when="@3.5: +libunwind ~setjmp")
- @when('@3.5:')
+ @when("@3.5:")
def configure_args(self):
spec = self.spec
config_args = []
- config_args.append("--with-cc=%s" % spec['mpi'].mpicc)
- config_args.append("--with-cxx=%s" % spec['mpi'].mpicxx)
- config_args.append("--with-f77=%s" % spec['mpi'].mpif77)
+ config_args.append("--with-cc=%s" % spec["mpi"].mpicc)
+ config_args.append("--with-cxx=%s" % spec["mpi"].mpicxx)
+ config_args.append("--with-f77=%s" % spec["mpi"].mpif77)
# mpiP checks for libiberty demangling during configure.
# Current mpiP configure functionality allows specifying alternate
@@ -79,64 +80,63 @@ class Mpip(AutotoolsPackage):
# Since, --enable-demangling doesn't do anything,
# providing --disable-demangling in the event that there is an error
# with demangling.
- if '-demangling' in spec:
- config_args.append('--disable-demangling')
+ if "-demangling" in spec:
+ config_args.append("--disable-demangling")
- if '-mpi_io' in spec:
- config_args.append('--disable-mpi-io')
+ if "-mpi_io" in spec:
+ config_args.append("--disable-mpi-io")
- if '-mpi_rma' in spec:
- config_args.append('--disable-mpi-rma')
+ if "-mpi_rma" in spec:
+ config_args.append("--disable-mpi-rma")
- if '-mpi_nbc' in spec:
- config_args.append('--disable-mpi-nbc')
+ if "-mpi_nbc" in spec:
+ config_args.append("--disable-mpi-nbc")
- if '-bfd' in spec:
- config_args.append('--disable-bfd')
+ if "-bfd" in spec:
+ config_args.append("--disable-bfd")
- if '-libunwind' in spec:
- config_args.append('--disable-libunwind')
+ if "-libunwind" in spec:
+ config_args.append("--disable-libunwind")
# Simply enabling setjmp may result in libunwind being used,
# if available. Adding --disable-libunwind to ensure setjmp is used.
- if '+setjmp' in spec:
- config_args.append('--disable-libunwind')
- config_args.append('--enable-setjmp')
+ if "+setjmp" in spec:
+ config_args.append("--disable-libunwind")
+ config_args.append("--enable-setjmp")
- maxargs = int(spec.variants['maxargs'].value)
- config_args.extend(['--enable-maxargs={0}'.format(maxargs)])
+ maxargs = int(spec.variants["maxargs"].value)
+ config_args.extend(["--enable-maxargs={0}".format(maxargs)])
- stackdepth = int(spec.variants['stackdepth'].value)
- config_args.extend(['--enable-stackdepth={0}'.format(stackdepth)])
+ stackdepth = int(spec.variants["stackdepth"].value)
+ config_args.extend(["--enable-stackdepth={0}".format(stackdepth)])
- internal_stackdepth = int(spec.variants['internal_stackdepth'].value)
- config_args.extend(['--enable-internal-stackdepth={0}'
- .format(internal_stackdepth)])
+ internal_stackdepth = int(spec.variants["internal_stackdepth"].value)
+ config_args.extend(["--enable-internal-stackdepth={0}".format(internal_stackdepth)])
return config_args
# Support 3.4.1 'shared' target for building shared library
@property
def build_targets(self):
targets = []
- if '+add_shared_target' in self.spec:
- targets.append('shared')
+ if "+add_shared_target" in self.spec:
+ targets.append("shared")
return targets
- @when('@3.4.1')
+ @when("@3.4.1")
def configure_args(self):
- config_args = ['--without-f77']
- config_args.append("--with-cc=%s" % self.spec['mpi'].mpicc)
- config_args.append("--with-cxx=%s" % self.spec['mpi'].mpicxx)
+ config_args = ["--without-f77"]
+ config_args.append("--with-cc=%s" % self.spec["mpi"].mpicc)
+ config_args.append("--with-cxx=%s" % self.spec["mpi"].mpicxx)
- if '+demangling' in self.spec:
- config_args.append('--enable-demangling')
+ if "+demangling" in self.spec:
+ config_args.append("--enable-demangling")
else:
- config_args.append('--disable-demangling')
+ config_args.append("--disable-demangling")
- if '+setjmp' in self.spec:
- config_args.append('--enable-setjmp')
+ if "+setjmp" in self.spec:
+ config_args.append("--enable-setjmp")
else:
- config_args.append('--disable-setjmp')
+ config_args.append("--disable-setjmp")
return config_args
diff --git a/var/spack/repos/builtin/packages/mpir/package.py b/var/spack/repos/builtin/packages/mpir/package.py
index a92929ee9e..8ab899835d 100644
--- a/var/spack/repos/builtin/packages/mpir/package.py
+++ b/var/spack/repos/builtin/packages/mpir/package.py
@@ -10,35 +10,33 @@ class Mpir(Package):
"""Multiple Precision Integers and Rationals."""
homepage = "https://github.com/wbhart/mpir"
- url = "https://github.com/wbhart/mpir/archive/mpir-2.7.0.tar.gz"
- git = "https://github.com/wbhart/mpir.git"
+ url = "https://github.com/wbhart/mpir/archive/mpir-2.7.0.tar.gz"
+ git = "https://github.com/wbhart/mpir.git"
- version('develop', branch='master')
- version('2.7.0', sha256='2d0174aaccff918766215df00420f12929a6c376ab4e558af31f57c55193bcb7')
- version('2.6.0', sha256='dedb336098d41d4e298909586cf351003bcd7aad9317e801f3e4c4838f6d7691')
+ version("develop", branch="master")
+ version("2.7.0", sha256="2d0174aaccff918766215df00420f12929a6c376ab4e558af31f57c55193bcb7")
+ version("2.6.0", sha256="dedb336098d41d4e298909586cf351003bcd7aad9317e801f3e4c4838f6d7691")
# This setting allows mpir to act as a drop-in replacement for gmp
- variant('gmp_compat', default=False,
- description='Compile with GMP library compatibility')
+ variant("gmp_compat", default=False, description="Compile with GMP library compatibility")
# Build dependencies
- depends_on('autoconf', type='build')
+ depends_on("autoconf", type="build")
# Other dependencies
- depends_on('yasm')
+ depends_on("yasm")
def install(self, spec, prefix):
# We definitely don't want to have MPIR build its
# own version of YASM. This tries to install it
# to a system directory.
- options = ['--prefix={0}'.format(prefix),
- '--with-system-yasm']
+ options = ["--prefix={0}".format(prefix), "--with-system-yasm"]
- if '+gmp_compat' in spec:
- options.extend(['--enable-gmpcompat'])
+ if "+gmp_compat" in spec:
+ options.extend(["--enable-gmpcompat"])
configure(*options)
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
diff --git a/var/spack/repos/builtin/packages/mpitrampoline/package.py b/var/spack/repos/builtin/packages/mpitrampoline/package.py
index af27203ef2..4201d62f75 100644
--- a/var/spack/repos/builtin/packages/mpitrampoline/package.py
+++ b/var/spack/repos/builtin/packages/mpitrampoline/package.py
@@ -11,96 +11,99 @@ class Mpitrampoline(CMakePackage):
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"
+ url = "https://github.com/eschnett/MPItrampoline/archive/v1.0.1.tar.gz"
+ git = "https://github.com/eschnett/MPItrampoline.git"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('develop', branch='main')
- version('5.0.1', sha256='84c275600010339eb8561aa7c27c20cefc8db78779dfb4572397bb0ffe87e75e')
- version('5.0.0', sha256='3dad6350efc9adb0c53181f2593b03cc94a00dab32f9efc44366e30c50c27e93')
- version('4.2.0', sha256='92eaa864fb364752a89752d6962f2d20e248bdf69e433d76417a25cac9b8244b')
- version('4.1.2', sha256='b3095c813276eb16c11a869d9ff628c5803cc580649b43260a1c7c239e4fd36d')
- version('4.1.1', sha256='64e90e4a6b83269ff82787f7aeffe87a5c50702366cee8c48d222b475cd6864b')
- version('4.1.0', sha256='9aba72eceb0a0fd6f7617b5fa86fe35c813a131aec9732304925893f419ea902')
- version('4.0.2', sha256='89abda0526dba9e52a3b6334d1ac86709c12567ff114acd610471e66c6190b89')
- version('4.0.1', sha256='b1622b408c76bd6ac7ccd30b66066d8b08dd0a67596988b215ee9870ba0a9811')
- version('4.0.0', sha256='6fcd9683059da79e530bedf61ec27ce98567b6b39575272fd2fa637fe3df3edd')
- version('3.8.0', sha256='493e9a383012a43d77d142775c332928aa3302a1f591ee06b88d5f9145281e00')
- version('3.7.0', sha256='f2d018dd7bbed4ed177b49fcbfef9cabdd5f2c614257ce4c599ab7214130b097')
- version('3.6.0', sha256='cc2c0630243aae43e6502ebe52f1cfe7fecbcf2930e9fe0f69b77c0bbb3f08ff')
- version('3.5.1', sha256='5e6439b2cceb69c53f2fee8bec1b913c527166a03207e8739dab7d6b41d47747')
- version('3.5.0', sha256='e7497bfa5902cd62fdd40aff1de654c782218cf07f776ba2a8b78815044d2df3')
- version('3.4.1', sha256='03728045f1d19b2ed3eeb10e9c86b2db8891d3eedd5db7ce81a647c88b2cd98f')
- version('3.4.0', sha256='9dd4d7434a2df4ac3807d07ffe46f00316a6f7f8e6393213b900d4ceb24403bb')
- version('3.3.1', sha256='53ce6db1f6197330883243543401d85ebab25d204687ea699f4767f6bd9890aa')
- version('3.3.0', sha256='0a4b465fdf0a7329bf998c1adb47dfaed0b1a85d41ff305fa3205f2d2a6f39ba')
- version('3.2.0', sha256='88efa3b9b116c89db0c819306caef85b2a97dd4596531856187d6bf59eb4a8b1')
- version('3.1.0', sha256='588adba1c84b2a828b054be5e12a4acac820744ab18762c830e9c606f36b50c3')
- version('3.0.0', sha256='4a2a1f1d5108e27e4d7f2b46a1dce3c9211f65ac67d0a3281812beade45901d8')
- version('2.8.1', sha256='97a1f0c4e06d3b5a92034ebdb334e711b2859e4648a7f728b98abd8e8c96edd7')
- version('2.8.0', sha256='bc2a075ced19e5f7ea547060e284887bdbb0761d34d1adb6f16d2e9e096a7d38')
- version('2.7.0', sha256='b188657e41b240bba663ce5b3d7b73377a27a64edcc1e0aaa7c924cf00e30b42')
- version('2.6.0', sha256='5425085f4b8772990b28a643b7dfc7ac37a399ee35ffa3d6113a06e5b508dfac')
- version('2.5.0', sha256='26423749a6a45324062cbe82eb6934236b0c8ea17f9d5b594ed0c15ea8d0dbad')
- version('2.4.0', sha256='e08785cf5b43c9913d890be44f6e7a551a83f34f389f6db9136db2379697fadd')
- version('2.3.0', sha256='4559acb13d34b9a052752a9e0f928d31da54bfa7b05f31585bf6a66fadaceca4')
- version('2.2.0', sha256='fa213a7ac03b4c54d5c9281192fb604747d4b5be4ce9b54b4c740f3da7a6aaea')
- version('2.1.0', sha256='8794c07772ecc6d979ecf475653ae571a593d01ef2df51ccbc63c9f9d9c67856')
- version('2.0.0', sha256='50d4483f73ea4a79a9b6d025d3abba42f76809cba3165367f4810fb8798264b6')
- version('1.1.0', sha256='67fdb710d1ca49487593a9c023e94aa8ff0bec56de6005d1a437fca40833def9')
- version('1.0.1', sha256='4ce91b99fb6d2dab481b5e477b6b6a0709add48cf0f287afbbb440fdf3232500')
+ version("develop", branch="main")
+ version("5.0.1", sha256="84c275600010339eb8561aa7c27c20cefc8db78779dfb4572397bb0ffe87e75e")
+ version("5.0.0", sha256="3dad6350efc9adb0c53181f2593b03cc94a00dab32f9efc44366e30c50c27e93")
+ version("4.2.0", sha256="92eaa864fb364752a89752d6962f2d20e248bdf69e433d76417a25cac9b8244b")
+ version("4.1.2", sha256="b3095c813276eb16c11a869d9ff628c5803cc580649b43260a1c7c239e4fd36d")
+ version("4.1.1", sha256="64e90e4a6b83269ff82787f7aeffe87a5c50702366cee8c48d222b475cd6864b")
+ version("4.1.0", sha256="9aba72eceb0a0fd6f7617b5fa86fe35c813a131aec9732304925893f419ea902")
+ version("4.0.2", sha256="89abda0526dba9e52a3b6334d1ac86709c12567ff114acd610471e66c6190b89")
+ version("4.0.1", sha256="b1622b408c76bd6ac7ccd30b66066d8b08dd0a67596988b215ee9870ba0a9811")
+ version("4.0.0", sha256="6fcd9683059da79e530bedf61ec27ce98567b6b39575272fd2fa637fe3df3edd")
+ version("3.8.0", sha256="493e9a383012a43d77d142775c332928aa3302a1f591ee06b88d5f9145281e00")
+ version("3.7.0", sha256="f2d018dd7bbed4ed177b49fcbfef9cabdd5f2c614257ce4c599ab7214130b097")
+ version("3.6.0", sha256="cc2c0630243aae43e6502ebe52f1cfe7fecbcf2930e9fe0f69b77c0bbb3f08ff")
+ version("3.5.1", sha256="5e6439b2cceb69c53f2fee8bec1b913c527166a03207e8739dab7d6b41d47747")
+ version("3.5.0", sha256="e7497bfa5902cd62fdd40aff1de654c782218cf07f776ba2a8b78815044d2df3")
+ version("3.4.1", sha256="03728045f1d19b2ed3eeb10e9c86b2db8891d3eedd5db7ce81a647c88b2cd98f")
+ version("3.4.0", sha256="9dd4d7434a2df4ac3807d07ffe46f00316a6f7f8e6393213b900d4ceb24403bb")
+ version("3.3.1", sha256="53ce6db1f6197330883243543401d85ebab25d204687ea699f4767f6bd9890aa")
+ version("3.3.0", sha256="0a4b465fdf0a7329bf998c1adb47dfaed0b1a85d41ff305fa3205f2d2a6f39ba")
+ version("3.2.0", sha256="88efa3b9b116c89db0c819306caef85b2a97dd4596531856187d6bf59eb4a8b1")
+ version("3.1.0", sha256="588adba1c84b2a828b054be5e12a4acac820744ab18762c830e9c606f36b50c3")
+ version("3.0.0", sha256="4a2a1f1d5108e27e4d7f2b46a1dce3c9211f65ac67d0a3281812beade45901d8")
+ version("2.8.1", sha256="97a1f0c4e06d3b5a92034ebdb334e711b2859e4648a7f728b98abd8e8c96edd7")
+ version("2.8.0", sha256="bc2a075ced19e5f7ea547060e284887bdbb0761d34d1adb6f16d2e9e096a7d38")
+ version("2.7.0", sha256="b188657e41b240bba663ce5b3d7b73377a27a64edcc1e0aaa7c924cf00e30b42")
+ version("2.6.0", sha256="5425085f4b8772990b28a643b7dfc7ac37a399ee35ffa3d6113a06e5b508dfac")
+ version("2.5.0", sha256="26423749a6a45324062cbe82eb6934236b0c8ea17f9d5b594ed0c15ea8d0dbad")
+ version("2.4.0", sha256="e08785cf5b43c9913d890be44f6e7a551a83f34f389f6db9136db2379697fadd")
+ version("2.3.0", sha256="4559acb13d34b9a052752a9e0f928d31da54bfa7b05f31585bf6a66fadaceca4")
+ version("2.2.0", sha256="fa213a7ac03b4c54d5c9281192fb604747d4b5be4ce9b54b4c740f3da7a6aaea")
+ version("2.1.0", sha256="8794c07772ecc6d979ecf475653ae571a593d01ef2df51ccbc63c9f9d9c67856")
+ version("2.0.0", sha256="50d4483f73ea4a79a9b6d025d3abba42f76809cba3165367f4810fb8798264b6")
+ version("1.1.0", sha256="67fdb710d1ca49487593a9c023e94aa8ff0bec56de6005d1a437fca40833def9")
+ version("1.0.1", sha256="4ce91b99fb6d2dab481b5e477b6b6a0709add48cf0f287afbbb440fdf3232500")
- variant('shared', default=True,
- description='Build a shared version of the library')
+ 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')]
+ return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
@property
def headers(self):
- return HeaderList(find(self.prefix.include, 'mpi.h'))
+ return HeaderList(find(self.prefix.include, "mpi.h"))
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
# MPItrampoline does not support the (outdated) C++ API
- assert 'cxx' not in query_parameters
- libraries = ['libmpitrampoline']
+ assert "cxx" not in query_parameters
+ libraries = ["libmpitrampoline"]
return find_libraries(libraries, root=self.prefix.lib, shared=True)
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'))
+ 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)
# Use the Spack compiler wrappers under MPI
- env.set('MPITRAMPOLINE_CC', spack_cc)
- env.set('MPITRAMPOLINE_CXX', spack_cxx)
- env.set('MPITRAMPOLINE_FC', spack_fc)
+ env.set("MPITRAMPOLINE_CC", spack_cc)
+ env.set("MPITRAMPOLINE_CXX", spack_cxx)
+ env.set("MPITRAMPOLINE_FC", spack_fc)
fflags = []
- if (self.spec.satisfies('%apple-clang') or
- self.spec.satisfies('%clang') or
- self.spec.satisfies('%gcc')):
- fflags.append('-fcray-pointer')
- if (self.spec.satisfies('%apple-clang@11:') or
- self.spec.satisfies('%clang@11:') or
- self.spec.satisfies('%gcc@10:')):
- fflags.append('-fallow-argument-mismatch')
- env.set('FFLAGS', ' '.join(fflags))
+ if (
+ self.spec.satisfies("%apple-clang")
+ or self.spec.satisfies("%clang")
+ or self.spec.satisfies("%gcc")
+ ):
+ fflags.append("-fcray-pointer")
+ if (
+ self.spec.satisfies("%apple-clang@11:")
+ or self.spec.satisfies("%clang@11:")
+ or self.spec.satisfies("%gcc@10:")
+ ):
+ fflags.append("-fallow-argument-mismatch")
+ env.set("FFLAGS", " ".join(fflags))
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')
+ 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")
diff --git a/var/spack/repos/builtin/packages/mpiwrapper/package.py b/var/spack/repos/builtin/packages/mpiwrapper/package.py
index f4c8c7a714..e8738c2e7b 100644
--- a/var/spack/repos/builtin/packages/mpiwrapper/package.py
+++ b/var/spack/repos/builtin/packages/mpiwrapper/package.py
@@ -11,25 +11,25 @@ class Mpiwrapper(CMakePackage):
MPItrampoline"""
homepage = "https://github.com/eschnett/MPIwrapper"
- url = "https://github.com/eschnett/MPIwrapper/archive/refs/tags/v1.0.1.tar.gz"
- git = "https://github.com/eschnett/MPIwrapper"
+ url = "https://github.com/eschnett/MPIwrapper/archive/refs/tags/v1.0.1.tar.gz"
+ git = "https://github.com/eschnett/MPIwrapper"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('develop', branch='main')
- version('2.8.1', sha256='e6fc1c08ad778675e5b58b91b4658b12e3f985c6d4c5c2c3e9ed35986146780e')
- version('2.8.0', sha256='df559520fa0ba123e92ce3c5086c4801d047a8bfc65c42fe971e81c5d41bfab5')
- version('2.7.0', sha256='a3ed1eb42e3ac2a0a1bc5bb9bf5aa6097d228742a7ec98bd3f30ade449afdb09')
- version('2.6.0', sha256='18b56494082e02d95bb469da57c549c25d0745ac166341abc05f81d7e7d10143')
- version('2.5.0', sha256='2b68f3a34954e76906a75fa9bd203fa11f85add64073e99703815820f178176b')
- version('2.4.0', sha256='7e338c463e067afb15a934a067a9b6a7e42abe1573fb4501c8101fc3817b8497')
- version('2.3.2', sha256='eb1d63f691eebe87f81c6c5caad379e6baa5e851dd7565d9c62c23779ef48f06')
- version('2.3.1', sha256='afb833a2d7c498aba09767dacbd3dacc6cc7a59168f481032d32c06a6e7dfa9e')
- version('2.3.0', sha256='d8addc77308c0d8cd0b580d6b571ef8a6f97bcfac626b334e966e568b3b9f8d5')
- version('2.2.2', sha256='efa16c11315c913ce71a4db14574c633730bc0b1e446f1168ee01a457408163d')
- version('2.2.1', sha256='4ce058d47e515ff3dc62a6e175a9b1f402d25cc3037be0d9c26add2d78ba8da9')
- version('2.2.0', sha256='9cc9cda6f09288b8694a82cb3a64cf8457e408eee01a612e669fee749c1cb0b8')
- version('2.0.0', sha256='cdc81f3fae459569d4073d99d068810689a19cf507d9c4e770fa91e93650dbe4')
- version('1.0.1', sha256='29d5499a1a7a358d69dd744c581e57cac9223ebde94b52fa4a2b98c730ad47ff')
+ version("develop", branch="main")
+ version("2.8.1", sha256="e6fc1c08ad778675e5b58b91b4658b12e3f985c6d4c5c2c3e9ed35986146780e")
+ version("2.8.0", sha256="df559520fa0ba123e92ce3c5086c4801d047a8bfc65c42fe971e81c5d41bfab5")
+ version("2.7.0", sha256="a3ed1eb42e3ac2a0a1bc5bb9bf5aa6097d228742a7ec98bd3f30ade449afdb09")
+ version("2.6.0", sha256="18b56494082e02d95bb469da57c549c25d0745ac166341abc05f81d7e7d10143")
+ version("2.5.0", sha256="2b68f3a34954e76906a75fa9bd203fa11f85add64073e99703815820f178176b")
+ version("2.4.0", sha256="7e338c463e067afb15a934a067a9b6a7e42abe1573fb4501c8101fc3817b8497")
+ version("2.3.2", sha256="eb1d63f691eebe87f81c6c5caad379e6baa5e851dd7565d9c62c23779ef48f06")
+ version("2.3.1", sha256="afb833a2d7c498aba09767dacbd3dacc6cc7a59168f481032d32c06a6e7dfa9e")
+ version("2.3.0", sha256="d8addc77308c0d8cd0b580d6b571ef8a6f97bcfac626b334e966e568b3b9f8d5")
+ version("2.2.2", sha256="efa16c11315c913ce71a4db14574c633730bc0b1e446f1168ee01a457408163d")
+ version("2.2.1", sha256="4ce058d47e515ff3dc62a6e175a9b1f402d25cc3037be0d9c26add2d78ba8da9")
+ version("2.2.0", sha256="9cc9cda6f09288b8694a82cb3a64cf8457e408eee01a612e669fee749c1cb0b8")
+ version("2.0.0", sha256="cdc81f3fae459569d4073d99d068810689a19cf507d9c4e770fa91e93650dbe4")
+ version("1.0.1", sha256="29d5499a1a7a358d69dd744c581e57cac9223ebde94b52fa4a2b98c730ad47ff")
- depends_on('mpi @3.1:')
+ depends_on("mpi @3.1:")
diff --git a/var/spack/repos/builtin/packages/mpix-launch-swift/package.py b/var/spack/repos/builtin/packages/mpix-launch-swift/package.py
index 7b4e51b284..d638c25667 100644
--- a/var/spack/repos/builtin/packages/mpix-launch-swift/package.py
+++ b/var/spack/repos/builtin/packages/mpix-launch-swift/package.py
@@ -12,14 +12,14 @@ class MpixLaunchSwift(MakefilePackage):
"""
homepage = "https://bitbucket.org/kshitijvmehta/mpix_launch_swift"
- git = "https://kshitijvmehta@bitbucket.org/kshitijvmehta/mpix_launch_swift.git"
+ git = "https://kshitijvmehta@bitbucket.org/kshitijvmehta/mpix_launch_swift.git"
- version('develop', branch='envs')
+ version("develop", branch="envs")
- depends_on('stc')
- depends_on('tcl')
- depends_on('mpi')
- depends_on('swig', type='build')
+ depends_on("stc")
+ depends_on("tcl")
+ depends_on("mpi")
+ depends_on("swig", type="build")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/mpl/package.py b/var/spack/repos/builtin/packages/mpl/package.py
index f502f7ff93..bd245a0441 100644
--- a/var/spack/repos/builtin/packages/mpl/package.py
+++ b/var/spack/repos/builtin/packages/mpl/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class Mpl(CMakePackage):
"""A C++17 message passing library based on MPI."""
- homepage = "https://rabauke.github.io/mpl/html/"
- git = "https://github.com/rabauke/mpl.git"
- url = "https://github.com/rabauke/mpl/archive/refs/tags/v0.1.tar.gz"
- maintainers = ['rabauke']
+ homepage = "https://rabauke.github.io/mpl/html/"
+ git = "https://github.com/rabauke/mpl.git"
+ url = "https://github.com/rabauke/mpl/archive/refs/tags/v0.1.tar.gz"
+ maintainers = ["rabauke"]
- version('develop', branch='master')
- version('0.1', tag='v0.1')
+ version("develop", branch="master")
+ version("0.1", tag="v0.1")
- depends_on('mpi')
+ depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/mpt/package.py b/var/spack/repos/builtin/packages/mpt/package.py
index 4f83ec42ff..8a4bcdaf25 100644
--- a/var/spack/repos/builtin/packages/mpt/package.py
+++ b/var/spack/repos/builtin/packages/mpt/package.py
@@ -18,42 +18,40 @@ class Mpt(BundlePackage):
homepage = "https://buy.hpe.com/us/en/software/high-performance-computing-software/hpe-message-passing-interface-mpi/p/1010144155"
# https://support.hpe.com/hpesc/public/swd/detail?swItemId=MTX-4b90e0f8e3224ce3bc3644d6ad
- version('1.4')
+ version("1.4")
- provides('mpi')
- provides('mpi@:3.1', when='@3:')
- provides('mpi@:1.3', when='@1:')
+ provides("mpi")
+ provides("mpi@:3.1", when="@3:")
+ provides("mpi@:1.3", when="@1:")
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpicxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpicxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_run_environment(env)
# use the Spack compiler wrappers under MPI
- env.set('MPICC_CC', spack_cc)
- env.set('MPICXX_CXX', spack_cxx)
- env.set('MPIF90_F90', spack_fc)
+ env.set("MPICC_CC", spack_cc)
+ env.set("MPICXX_CXX", spack_cxx)
+ env.set("MPIF90_F90", spack_fc)
def setup_run_environment(self, env):
# Because MPI is both runtime and compiler, we have to setup the mpi
# compilers as part of the run environment.
- env.set('MPICC', self.prefix.bin.mpicc)
- env.set('MPICXX', self.prefix.bin.mpicxx)
- env.set('MPIF77', self.prefix.bin.mpif77)
- env.set('MPIF90', self.prefix.bin.mpif90)
+ env.set("MPICC", self.prefix.bin.mpicc)
+ env.set("MPICXX", self.prefix.bin.mpicxx)
+ env.set("MPIF77", self.prefix.bin.mpif77)
+ env.set("MPIF90", self.prefix.bin.mpif90)
def setup_dependent_package(self, module, dependent_spec):
- if 'platform=cray' in self.spec:
+ if "platform=cray" in self.spec:
self.spec.mpicc = spack_cc
self.spec.mpicxx = spack_cxx
self.spec.mpifc = spack_fc
diff --git a/var/spack/repos/builtin/packages/mptensor/package.py b/var/spack/repos/builtin/packages/mptensor/package.py
index 7ee6eed7df..de0f4b08d8 100644
--- a/var/spack/repos/builtin/packages/mptensor/package.py
+++ b/var/spack/repos/builtin/packages/mptensor/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Mptensor(CMakePackage):
"""mptensor is parallel C++ libarary for tensor calculations.
- It provides similar interfaces as Numpy and Scipy in Python."""
+ It provides similar interfaces as Numpy and Scipy in Python."""
homepage = "https://github.com/smorita/mptensor"
- url = "https://github.com/smorita/mptensor/archive/v0.3.0.tar.gz"
+ url = "https://github.com/smorita/mptensor/archive/v0.3.0.tar.gz"
- version('0.3.0', sha256='819395a91551bddb77958615042fcb935a4b67ee37f912b9a2ca5b49c71befae')
+ version("0.3.0", sha256="819395a91551bddb77958615042fcb935a4b67ee37f912b9a2ca5b49c71befae")
- variant('mpi', default=False, description='Build with MPI library')
+ variant("mpi", default=False, description="Build with MPI library")
variant("doc", default=False, description="build documentation with Doxygen")
- depends_on('cmake@3.6:', type='build')
- depends_on('mpi', when="+mpi")
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack', when="+mpi")
- depends_on('doxygen@:1.8.11', type="build", when="+doc")
+ depends_on("cmake@3.6:", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack", when="+mpi")
+ depends_on("doxygen@:1.8.11", type="build", when="+doc")
test_requires_compiler = True
@@ -32,27 +32,33 @@ class Mptensor(CMakePackage):
options = []
if "+mpi" in spec:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DSCALAPACK_LIBRARIES=%s' % spec['scalapack'].libs,
- ])
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DSCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs,
+ ]
+ )
else:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spack_cc,
- '-DCMAKE_CXX_COMPILER=%s' % spack_cxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spack_fc,
- ])
-
- blas = spec['blas'].libs
- lapack = spec['lapack'].libs
- options.extend([
- '-DLAPACK_LIBRARIES=%s' % ';'.join(lapack),
- '-DBLAS_LIBRARIES=%s' % ';'.join(blas),
- self.define_from_variant('ENABLE_MPI', 'mpi'),
- self.define_from_variant('BUILD_DOC', 'doc')
- ])
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spack_cc,
+ "-DCMAKE_CXX_COMPILER=%s" % spack_cxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spack_fc,
+ ]
+ )
+
+ blas = spec["blas"].libs
+ lapack = spec["lapack"].libs
+ options.extend(
+ [
+ "-DLAPACK_LIBRARIES=%s" % ";".join(lapack),
+ "-DBLAS_LIBRARIES=%s" % ";".join(blas),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
+ self.define_from_variant("BUILD_DOC", "doc"),
+ ]
+ )
return options
@@ -60,7 +66,7 @@ class Mptensor(CMakePackage):
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('.')
+ self.cache_extra_test_sources(".")
def test(self):
if "+mpi" not in self.spec:
@@ -74,14 +80,10 @@ class Mptensor(CMakePackage):
with working_dir(join_path(self.install_test_root), create=False):
makefile = FileFilter("Makefile.option")
makefile.filter("CXX =.*", "CXX ={0}".format(self.spec["mpi"].mpicxx))
- makefile.filter(
- "CXXFLAGS =.*", "CXXFLAGS ={0}".format(self.compiler.cxx11_flag)
- )
+ makefile.filter("CXXFLAGS =.*", "CXXFLAGS ={0}".format(self.compiler.cxx11_flag))
math_libs = (
- self.spec["scalapack"].libs
- + self.spec["lapack"].libs
- + self.spec["blas"].libs
+ self.spec["scalapack"].libs + self.spec["lapack"].libs + self.spec["blas"].libs
)
with working_dir(join_path(self.install_test_root, "tests"), create=False):
diff --git a/var/spack/repos/builtin/packages/mrbayes/package.py b/var/spack/repos/builtin/packages/mrbayes/package.py
index 0c699c7300..0cfd768a95 100644
--- a/var/spack/repos/builtin/packages/mrbayes/package.py
+++ b/var/spack/repos/builtin/packages/mrbayes/package.py
@@ -8,41 +8,43 @@ from spack.package import *
class Mrbayes(AutotoolsPackage):
"""MrBayes is a program for Bayesian inference and model choice across a
- wide range of phylogenetic and evolutionary models. MrBayes uses Markov
- chain Monte Carlo (MCMC) methods to estimate the posterior distribution
- of model parameters."""
+ wide range of phylogenetic and evolutionary models. MrBayes uses Markov
+ chain Monte Carlo (MCMC) methods to estimate the posterior distribution
+ of model parameters."""
homepage = "http://mrbayes.sourceforge.net"
- url = "https://github.com/NBISweden/MrBayes/releases/download/v3.2.7a/mrbayes-3.2.7a.tar.gz"
+ url = "https://github.com/NBISweden/MrBayes/releases/download/v3.2.7a/mrbayes-3.2.7a.tar.gz"
- version('3.2.7a', sha256='1a4670be84e6b968d59382328294db4c8ceb73e0c19c702265deec6f2177815c')
- version('3.2.7', sha256='39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9')
+ version("3.2.7a", sha256="1a4670be84e6b968d59382328294db4c8ceb73e0c19c702265deec6f2177815c")
+ version("3.2.7", sha256="39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9")
- variant('mpi', default=True, description='Enable MPI parallel support')
- variant('beagle', default=True, description='Enable BEAGLE library for speed benefits')
- variant('readline', default=False, description='Enable readline library, not recommended with MPI')
+ variant("mpi", default=True, description="Enable MPI parallel support")
+ variant("beagle", default=True, description="Enable BEAGLE library for speed benefits")
+ variant(
+ "readline", default=False, description="Enable readline library, not recommended with MPI"
+ )
- depends_on('libbeagle', when='+beagle')
- depends_on('mpi', when='+mpi')
- depends_on('readline', when='+readline')
+ depends_on("libbeagle", when="+beagle")
+ depends_on("mpi", when="+mpi")
+ depends_on("readline", when="+readline")
def configure_args(self):
args = []
- if '~beagle' in self.spec:
- args.append('--with-beagle=no')
+ if "~beagle" in self.spec:
+ args.append("--with-beagle=no")
else:
- args.append('--with-beagle=%s' % self.spec['libbeagle'].prefix)
- if '+readline' in self.spec:
- args.append('--with-readline=yes')
+ args.append("--with-beagle=%s" % self.spec["libbeagle"].prefix)
+ if "+readline" in self.spec:
+ args.append("--with-readline=yes")
else:
- args.append('--with-readline=no')
- if '~mpi' in self.spec:
- args.append('--with-mpi=no')
+ args.append("--with-readline=no")
+ if "~mpi" in self.spec:
+ args.append("--with-mpi=no")
else:
- args.append('--with-mpi=yes')
+ args.append("--with-mpi=yes")
return args
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('src'):
- install('mb', prefix.bin)
+ with working_dir("src"):
+ install("mb", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mrbench/package.py b/var/spack/repos/builtin/packages/mrbench/package.py
index baa7da5cac..57e33d5bcb 100644
--- a/var/spack/repos/builtin/packages/mrbench/package.py
+++ b/var/spack/repos/builtin/packages/mrbench/package.py
@@ -11,8 +11,8 @@ class Mrbench(MavenPackage):
"""A simple Java tool for SMTP server benchmarking."""
homepage = "https://github.com/marcorosi/mrbench"
- git = "https://github.com/marcorosi/mrbench.git"
+ git = "https://github.com/marcorosi/mrbench.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/mrchem/package.py b/var/spack/repos/builtin/packages/mrchem/package.py
index 64fcfbee34..fcaf1f9101 100644
--- a/var/spack/repos/builtin/packages/mrchem/package.py
+++ b/var/spack/repos/builtin/packages/mrchem/package.py
@@ -12,20 +12,15 @@ class Mrchem(CMakePackage):
quantum chemistry: Hartree-Fock and Density Functional Theory."""
homepage = "https://mrchem.readthedocs.io/en/latest/"
- url = "https://github.com/MRChemSoft/mrchem/archive/v1.0.0.tar.gz"
+ url = "https://github.com/MRChemSoft/mrchem/archive/v1.0.0.tar.gz"
maintainers = ["robertodr", "stigrj", "ilfreddy"]
- version('1.0.0',
- sha256='9cdda4d30b2baabb26400742f78ef8f3fc50a54f5218c8b6071b0cbfbed746c3')
- version('0.2.2',
- sha256='7519cc104c7df51eea8902c225aac6ecce2ac4ff30765145e502342d5bf3d96b')
- version('0.2.1',
- sha256='c1d0da5fefae356d9746f8ee761a94f6f6cd8b735a8309a4048ad6b8943ad242')
- version('0.2.0',
- sha256='eea223db8275f9f2ce09601088264ec952ce2557a7050466301f53070ab03b82')
- version('0.1.0',
- sha256='325fa45fe1918b4d394060f36d23432ab8139596ebc22b65b1284c1f673e8164')
+ version("1.0.0", sha256="9cdda4d30b2baabb26400742f78ef8f3fc50a54f5218c8b6071b0cbfbed746c3")
+ version("0.2.2", sha256="7519cc104c7df51eea8902c225aac6ecce2ac4ff30765145e502342d5bf3d96b")
+ version("0.2.1", sha256="c1d0da5fefae356d9746f8ee761a94f6f6cd8b735a8309a4048ad6b8943ad242")
+ version("0.2.0", sha256="eea223db8275f9f2ce09601088264ec952ce2557a7050466301f53070ab03b82")
+ version("0.1.0", sha256="325fa45fe1918b4d394060f36d23432ab8139596ebc22b65b1284c1f673e8164")
variant("openmp", default=True, description="Enable OpenMP support.")
@@ -40,8 +35,7 @@ class Mrchem(CMakePackage):
def cmake_args(self):
args = [
- "-DENABLE_OPENMP={0}".format("ON" if "+openmp" in
- self.spec else "OFF"),
+ "-DENABLE_OPENMP={0}".format("ON" if "+openmp" in self.spec else "OFF"),
"-DENABLE_MPI={0}".format("ON" if "+mpi" in self.spec else "OFF"),
]
return args
diff --git a/var/spack/repos/builtin/packages/mrcpp/package.py b/var/spack/repos/builtin/packages/mrcpp/package.py
index aa36c9eb28..9321e297be 100644
--- a/var/spack/repos/builtin/packages/mrcpp/package.py
+++ b/var/spack/repos/builtin/packages/mrcpp/package.py
@@ -17,30 +17,18 @@ class Mrcpp(CMakePackage):
maintainers = ["robertodr", "stigrj", "ilfreddy"]
- version('1.3.6',
- sha256='2502e71f086a8bb5ea635d0c6b86e7ff60220a45583e96a08b3cfe7c9db4cecf')
- version('1.3.5',
- sha256='3072cf60db6fa1e621bc6e6dfb6d35f9367a44d9d312a4b8c455894769140aed')
- version('1.3.4',
- sha256='fe6d1ad5804f605c7ba0da6831a8dc7fed72de6f2476b162961038aaa2321656')
- version('1.3.3',
- sha256='78c43161d0a4deffaf5d199e77535f6acbd88cc718ebc342d6ec9d72165c243e')
- version('1.3.2',
- sha256='61ffdfa36af37168090ba9d85550ca4072eb11ebfe3613da32e9c462351c9813')
- version('1.3.1',
- sha256='6ab05bc760c5d4f3f2925c87a0db8eab3417d959c747b27bac7a2fe5d3d6f7d1')
- version('1.3.0',
- sha256='74122ec2f2399472381df31f77ce0decbadd9d2f76e2aef6b07c815cc319ac52')
- version('1.2.0',
- sha256='faa6088ed20fb853bd0de4fe9cd578630d183f69e004601d4e464fe737e9f32d')
- version('1.1.0',
- sha256='e9ffb87eccbd45305f822a0b46b875788b70386b3c1d38add6540dc4e0327ab2')
- version('1.0.2',
- sha256='d2b26f7d7b16fa67f16788119abc0f6c7562cb37ece9ba075c116463dcf19df3')
- version('1.0.1',
- sha256='b4d7120545da3531bc7aa0a4cb4eb579fdbe1f8e5d32b1fd1086976583e3e27c')
- version('1.0.0',
- sha256='0858146141d3a60232e8874380390f9e9fa0b1bd6e67099d5833704478213efd')
+ version("1.3.6", sha256="2502e71f086a8bb5ea635d0c6b86e7ff60220a45583e96a08b3cfe7c9db4cecf")
+ version("1.3.5", sha256="3072cf60db6fa1e621bc6e6dfb6d35f9367a44d9d312a4b8c455894769140aed")
+ version("1.3.4", sha256="fe6d1ad5804f605c7ba0da6831a8dc7fed72de6f2476b162961038aaa2321656")
+ version("1.3.3", sha256="78c43161d0a4deffaf5d199e77535f6acbd88cc718ebc342d6ec9d72165c243e")
+ version("1.3.2", sha256="61ffdfa36af37168090ba9d85550ca4072eb11ebfe3613da32e9c462351c9813")
+ version("1.3.1", sha256="6ab05bc760c5d4f3f2925c87a0db8eab3417d959c747b27bac7a2fe5d3d6f7d1")
+ version("1.3.0", sha256="74122ec2f2399472381df31f77ce0decbadd9d2f76e2aef6b07c815cc319ac52")
+ version("1.2.0", sha256="faa6088ed20fb853bd0de4fe9cd578630d183f69e004601d4e464fe737e9f32d")
+ version("1.1.0", sha256="e9ffb87eccbd45305f822a0b46b875788b70386b3c1d38add6540dc4e0327ab2")
+ version("1.0.2", sha256="d2b26f7d7b16fa67f16788119abc0f6c7562cb37ece9ba075c116463dcf19df3")
+ version("1.0.1", sha256="b4d7120545da3531bc7aa0a4cb4eb579fdbe1f8e5d32b1fd1086976583e3e27c")
+ version("1.0.0", sha256="0858146141d3a60232e8874380390f9e9fa0b1bd6e67099d5833704478213efd")
variant("openmp", default=True, description="Enable OpenMP support.")
@@ -52,8 +40,7 @@ class Mrcpp(CMakePackage):
def cmake_args(self):
args = [
- "-DENABLE_OPENMP={0}".format("ON" if "+openmp" in
- self.spec else "OFF"),
+ "-DENABLE_OPENMP={0}".format("ON" if "+openmp" in self.spec else "OFF"),
"-DENABLE_MPI={0}".format("ON" if "+mpi" in self.spec else "OFF"),
"-DENABLE_TESTS=OFF",
]
diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py
index 99da3f1a11..e21b561ab9 100644
--- a/var/spack/repos/builtin/packages/mrnet/package.py
+++ b/var/spack/repos/builtin/packages/mrnet/package.py
@@ -11,18 +11,17 @@ class Mrnet(AutotoolsPackage):
"""The MRNet Multi-Cast Reduction Network."""
homepage = "https://paradyn.org/mrnet"
- url = "https://ftp.cs.wisc.edu/pub/paradyn/mrnet/mrnet_5.0.1.tar.gz"
- git = "https://github.com/dyninst/mrnet.git"
+ url = "https://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"
- version('5.0.1-3', branch='master')
- version('5.0.1-2', commit='20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9')
- version('5.0.1', sha256='df0bab4c4c462d0c32df4fd97bf2546f32439f31ca96b54ebbbadd33dd6bc107')
- version('4.1.0', sha256='94758191ac46a9dbfea931a8e61167fe7e8a5f880caa418305c44f1d12af5e45')
- version('4.0.0', sha256='7207c6d493b3f17c386667cfefa81364c96b9c8b831c67442d218d77813c5d38')
+ version("5.0.1-3", branch="master")
+ version("5.0.1-2", commit="20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9")
+ version("5.0.1", sha256="df0bab4c4c462d0c32df4fd97bf2546f32439f31ca96b54ebbbadd33dd6bc107")
+ version("4.1.0", sha256="94758191ac46a9dbfea931a8e61167fe7e8a5f880caa418305c44f1d12af5e45")
+ version("4.0.0", sha256="7207c6d493b3f17c386667cfefa81364c96b9c8b831c67442d218d77813c5d38")
- variant('lwthreads', default=False,
- description="Also build the MRNet LW threadsafe libraries")
+ variant("lwthreads", default=False, description="Also build the MRNet LW threadsafe libraries")
parallel = False
# TODO: replace this with an explicit list of components of Boost,
@@ -32,11 +31,11 @@ class Mrnet(AutotoolsPackage):
def configure_args(self):
spec = self.spec
- config_args = ['--enable-shared']
+ config_args = ["--enable-shared"]
# Build the MRNet LW thread safe libraries when the
# lwthreads variant is present
- if '+lwthreads' in spec:
- config_args.append('--enable-ltwt-threadsafe')
+ if "+lwthreads" in spec:
+ config_args.append("--enable-ltwt-threadsafe")
return config_args
diff --git a/var/spack/repos/builtin/packages/mrtrix3/package.py b/var/spack/repos/builtin/packages/mrtrix3/package.py
index 194e9163d9..31ff0d1124 100644
--- a/var/spack/repos/builtin/packages/mrtrix3/package.py
+++ b/var/spack/repos/builtin/packages/mrtrix3/package.py
@@ -8,34 +8,38 @@ from spack.package import *
class Mrtrix3(Package):
"""MRtrix provides a set of tools to perform various advanced diffusion MRI
- analyses, including constrained spherical deconvolution (CSD),
- probabilistic tractography, track-density imaging, and apparent fibre
- density."""
+ analyses, including constrained spherical deconvolution (CSD),
+ probabilistic tractography, track-density imaging, and apparent fibre
+ density."""
homepage = "https://www.mrtrix.org/"
- url = "https://github.com/MRtrix3/mrtrix3/archive/refs/tags/3.0.3.tar.gz"
- git = "https://github.com/MRtrix3/mrtrix3.git"
-
- version('3.0.3', sha256='6ec7d5a567d8d7338e85575a74565189a26ec8971cbe8fb24a49befbc446542e', preferred=True)
- version('2017-09-25', commit='72aca89e3d38c9d9e0c47104d0fb5bd2cbdb536d')
-
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('glu')
- depends_on('qt+opengl@4.7:')
- depends_on('eigen')
- depends_on('zlib')
- depends_on('libtiff')
- depends_on('fftw')
-
- conflicts('%gcc@7:', when='@2017-09-25') # MRtrix3/mrtrix3#1041
+ url = "https://github.com/MRtrix3/mrtrix3/archive/refs/tags/3.0.3.tar.gz"
+ git = "https://github.com/MRtrix3/mrtrix3.git"
+
+ version(
+ "3.0.3",
+ sha256="6ec7d5a567d8d7338e85575a74565189a26ec8971cbe8fb24a49befbc446542e",
+ preferred=True,
+ )
+ version("2017-09-25", commit="72aca89e3d38c9d9e0c47104d0fb5bd2cbdb536d")
+
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("glu")
+ depends_on("qt+opengl@4.7:")
+ depends_on("eigen")
+ depends_on("zlib")
+ depends_on("libtiff")
+ depends_on("fftw")
+
+ conflicts("%gcc@7:", when="@2017-09-25") # MRtrix3/mrtrix3#1041
def install(self, spec, prefix):
- configure = Executable('./configure')
- build = Executable('./build')
+ configure = Executable("./configure")
+ build = Executable("./build")
configure()
build()
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/mscgen/package.py b/var/spack/repos/builtin/packages/mscgen/package.py
index 63b1e4dd1a..958d1476e6 100644
--- a/var/spack/repos/builtin/packages/mscgen/package.py
+++ b/var/spack/repos/builtin/packages/mscgen/package.py
@@ -13,11 +13,11 @@ class Mscgen(AutotoolsPackage):
output."""
homepage = "https://www.mcternan.me.uk/mscgen/"
- url = "https://www.mcternan.me.uk/mscgen/software/mscgen-src-0.20.tar.gz"
+ url = "https://www.mcternan.me.uk/mscgen/software/mscgen-src-0.20.tar.gz"
- version('0.20', sha256='3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23')
+ version("0.20", sha256="3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23")
- depends_on('flex')
- depends_on('bison')
- depends_on('pkgconfig')
- depends_on('libgd')
+ depends_on("flex")
+ depends_on("bison")
+ depends_on("pkgconfig")
+ depends_on("libgd")
diff --git a/var/spack/repos/builtin/packages/msgpack-c/package.py b/var/spack/repos/builtin/packages/msgpack-c/package.py
index 24ff12e201..d269abf0d5 100644
--- a/var/spack/repos/builtin/packages/msgpack-c/package.py
+++ b/var/spack/repos/builtin/packages/msgpack-c/package.py
@@ -8,20 +8,21 @@ from spack.package import *
class MsgpackC(CMakePackage):
"""A small, fast binary interchange format convertible to/from JSON"""
+
homepage = "http://www.msgpack.org"
- url = "https://github.com/msgpack/msgpack-c/archive/cpp-3.0.1.tar.gz"
+ url = "https://github.com/msgpack/msgpack-c/archive/cpp-3.0.1.tar.gz"
- version('3.1.1', sha256='bda49f996a73d2c6080ff0523e7b535917cd28c8a79c3a5da54fc29332d61d1e')
- version('3.0.1', sha256='1b834ab0b5b41da1dbfb96dd4a673f6de7e79dbd7f212f45a553ff9cc54abf3b')
- version('1.4.1', sha256='74324d696f9abb75d8a7cd5e77add5062592b7eac386c8102de78a6cc5309886')
+ version("3.1.1", sha256="bda49f996a73d2c6080ff0523e7b535917cd28c8a79c3a5da54fc29332d61d1e")
+ version("3.0.1", sha256="1b834ab0b5b41da1dbfb96dd4a673f6de7e79dbd7f212f45a553ff9cc54abf3b")
+ version("1.4.1", sha256="74324d696f9abb75d8a7cd5e77add5062592b7eac386c8102de78a6cc5309886")
- depends_on('cmake@2.8.12:', type='build')
- depends_on('googletest', type='test')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("googletest", type="test")
def cmake_args(self):
args = [
"-DCMAKE_CXX_FLAGS=-Wno-implicit-fallthrough",
"-DCMAKE_C_FLAGS=-Wno-implicit-fallthrough",
- self.define('MSGPACK_BUILD_TESTS', self.run_tests)
+ self.define("MSGPACK_BUILD_TESTS", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/mshadow/package.py b/var/spack/repos/builtin/packages/mshadow/package.py
index d7e5f025cf..ca37697265 100644
--- a/var/spack/repos/builtin/packages/mshadow/package.py
+++ b/var/spack/repos/builtin/packages/mshadow/package.py
@@ -11,11 +11,11 @@ class Mshadow(Package):
in C++/CUDA."""
homepage = "https://github.com/dmlc/mshadow"
- git = "https://github.com/dmlc/mshadow.git"
+ git = "https://github.com/dmlc/mshadow.git"
- version('master', branch='master')
- version('20170721', commit='20b54f068c1035f0319fa5e5bbfb129c450a5256')
+ version("master", branch="master")
+ version("20170721", commit="20b54f068c1035f0319fa5e5bbfb129c450a5256")
def install(self, spec, prefix):
- install_tree('mshadow', prefix.include.mshadow)
- install_tree('make', prefix.make)
+ install_tree("mshadow", prefix.include.mshadow)
+ install_tree("make", prefix.make)
diff --git a/var/spack/repos/builtin/packages/msmc/package.py b/var/spack/repos/builtin/packages/msmc/package.py
index e9573835b3..1c4d19be77 100644
--- a/var/spack/repos/builtin/packages/msmc/package.py
+++ b/var/spack/repos/builtin/packages/msmc/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class Msmc(MakefilePackage):
"""This software implements MSMC, a method to infer population size
- and gene flow from multiple genome sequences"""
+ and gene flow from multiple genome sequences"""
homepage = "https://github.com/stschiff/msmc"
- url = "https://github.com/stschiff/msmc/archive/v1.1.0.tar.gz"
+ url = "https://github.com/stschiff/msmc/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='989064400fe392ca3d2ac1a253ce7edf1801b6a7eeb77bbf2ff7bf67910216c4')
+ version("1.1.0", sha256="989064400fe392ca3d2ac1a253ce7edf1801b6a7eeb77bbf2ff7bf67910216c4")
- depends_on('gsl', type=('build', 'run'))
- depends_on('dmd', type='build')
+ depends_on("gsl", type=("build", "run"))
+ depends_on("dmd", type="build")
def edit(self, spec, prefix):
- filter_file('dmd',
- join_path(self.spec['dmd'].prefix.linux.bin64, 'dmd'),
- 'Makefile', string=True)
+ filter_file(
+ "dmd", join_path(self.spec["dmd"].prefix.linux.bin64, "dmd"), "Makefile", string=True
+ )
def build(self, spec, prefix):
- gsllibdir = self.spec['gsl'].prefix.lib
- libgsl = join_path(gsllibdir, 'libgsl.a')
- libgslcblas = join_path(gsllibdir, 'libgslcblas.a')
- make('GSL={0} {1}'.format(libgsl, libgslcblas))
+ gsllibdir = self.spec["gsl"].prefix.lib
+ libgsl = join_path(gsllibdir, "libgsl.a")
+ libgslcblas = join_path(gsllibdir, "libgslcblas.a")
+ make("GSL={0} {1}".format(libgsl, libgslcblas))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('build', prefix.bin)
+ install_tree("build", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/msmc2/package.py b/var/spack/repos/builtin/packages/msmc2/package.py
index 3d387a4254..d75475c081 100644
--- a/var/spack/repos/builtin/packages/msmc2/package.py
+++ b/var/spack/repos/builtin/packages/msmc2/package.py
@@ -13,31 +13,31 @@ class Msmc2(MakefilePackage):
"""
homepage = "https://github.com/stschiff/msmc2"
- url = "https://github.com/stschiff/msmc2/archive/v2.1.1.tar.gz"
+ url = "https://github.com/stschiff/msmc2/archive/v2.1.1.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('2.1.2', sha256='c8c2b6ed6ef1b5d6e6e15ec0d968288e5bdae2bea1f3b4ec790f599e96bb26cd')
- version('2.1.1', sha256='151dd75a8b0371ff94eed9504a7a73a2924e10466de30c230c1bb3c35a1a0913')
- version('2.0.2', sha256='91152b2494342148ff84a1e5c6d2f5f0d53acba12722cd68ff5807ba4e82af55')
- version('2.0.1', sha256='97e859e6f08689baf29d3c61b6904cfa5a292f8ce7b3532e055ce3047d8472f4')
- version('2.0.0', sha256='9de38239f6e729a0f6f492ca671e2e70541eb5db558d816e64184c06611a1c7e')
+ version("2.1.2", sha256="c8c2b6ed6ef1b5d6e6e15ec0d968288e5bdae2bea1f3b4ec790f599e96bb26cd")
+ version("2.1.1", sha256="151dd75a8b0371ff94eed9504a7a73a2924e10466de30c230c1bb3c35a1a0913")
+ version("2.0.2", sha256="91152b2494342148ff84a1e5c6d2f5f0d53acba12722cd68ff5807ba4e82af55")
+ version("2.0.1", sha256="97e859e6f08689baf29d3c61b6904cfa5a292f8ce7b3532e055ce3047d8472f4")
+ version("2.0.0", sha256="9de38239f6e729a0f6f492ca671e2e70541eb5db558d816e64184c06611a1c7e")
- depends_on('gsl', type=('build', 'run'))
- depends_on('dmd@:2.081.0', type='build')
+ depends_on("gsl", type=("build", "run"))
+ depends_on("dmd@:2.081.0", type="build")
def edit(self, spec, prefix):
# Set DMD compiler
- filter_file('dmd',
- join_path(self.spec['dmd'].prefix.linux.bin64, 'dmd'),
- 'Makefile', string=True)
+ filter_file(
+ "dmd", join_path(self.spec["dmd"].prefix.linux.bin64, "dmd"), "Makefile", string=True
+ )
- gsllibdir = spec['gsl'].libs.directories[0]
+ gsllibdir = spec["gsl"].libs.directories[0]
# Set GSLDIR
- filter_file('GSLDIR=/usr/local/lib',
- 'GSLDIR={0}'.format(gsllibdir),
- 'Makefile', string=True)
+ filter_file(
+ "GSLDIR=/usr/local/lib", "GSLDIR={0}".format(gsllibdir), "Makefile", string=True
+ )
def install(self, spec, prefix):
- install_tree('build/release', prefix.bin)
+ install_tree("build/release", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mstk/package.py b/var/spack/repos/builtin/packages/mstk/package.py
index a2a7e8a9e9..06458cf588 100644
--- a/var/spack/repos/builtin/packages/mstk/package.py
+++ b/var/spack/repos/builtin/packages/mstk/package.py
@@ -22,98 +22,102 @@ class Mstk(CMakePackage):
all these entities."""
homepage = "https://github.com/MeshToolkit/MSTK"
- git = "https://github.com/MeshToolkit/MSTK"
- url = "https://github.com/MeshToolkit/MSTK/archive/3.3.6.tar.gz"
-
- maintainers = ['raovgarimella', 'julienloiseau']
-
- version('master', branch='master')
- version('3.3.6', sha256='30041ee6f32d754e5d9b46db8f62609bb66d2686f8e6e16ad254f552849cb0f1')
- version('3.3.5', sha256='64c976e12d1393aafd086ef941b176add6cfb963f463c33259596e7ef641cdd8')
- version('3.3.4', sha256='bd34d31fc1fc468147a51e8d837d6bf9902ca8d38c7c0615e7f20968d4659da2')
- version('3.3.3', sha256='54ea7929c9046915472f38367c83f75af634a6989ce0b89aad17fb9f4a25023e')
- version('3.3.2', sha256='fb4ffa97af4d0a0d4771c8585d0b27538b013d8b1cfaff992e5e054fef62af0b')
- version('3.3.1', sha256='9fdb0c33c1b68714d708b355d963547cf41332812658d4560d4db43904fc78de')
- version('3.3.0', sha256='205c48fb5619937b5dd83788da739b7c2060155b7c41793e29ce05422b8f7dfb')
- version('3.2.1', sha256='09bc6684abb576e34c324322db6f71f8987c6ec436a54256b85ef4db40185470')
- version('3.2.0', sha256='57e58c5a7a456dbc608ce9f834a06c212a1aa64ac3ebc880ea0b8a19b000dab0')
- version('3.1.3', sha256='03f6901cd6d563e1705a173c1a2fbbef10ab9a43f533f6ba758e357c03bdfa16')
- version('3.1.2', sha256='1eb44c29554f45695f875fc60ab81554a2c46a041ef58a7224f3767d30e2846e')
- version('3.1.1', sha256='5a03873c69fb38acd7ce27f2a5fa0643dd1cfcc3e214cff4aa26ee717651cc0b')
- version('3.1.0', sha256='70e68d8a90cd2367015e0ab3459ed230a7995ad2297671742d9be6e28bc03dcf')
- version('3.0.4', sha256='99e4c996bf22fd325335ed1391dfe735b0a338e8e4d733204d56dde7ef4eedf3')
- version('3.0.3', sha256='618e371a48077f2b4ccfafd4d174c05f007b2ea7a51e0399df67442639409518')
- version('3.0.2', sha256='b0172cd68e5137b8585d82c37b8a4af4b7e884f04d1b7d006a399d39447fe89e')
- version('3.0.1', sha256='d44e4bf01b118b1d19710aa839b3f5f0c1a8391264a435f641ba4bd23bcf45ec')
- version('3.0.0', sha256='d993ff5fc6c431067eb97e4089835c7790397d9c1ad88a56523c0591d451df19')
-
- variant('exodusii', default=False, description='Enable ExodusII')
- variant('use_markers', default=True, description='Enable use of markers')
- variant('parallel', default=False, description='Enable Parallel Support')
- variant('partitioner', default='none',
- values=('none', 'metis', 'zoltan', 'all'),
- multi=False, description='Choose partitioner')
- conflicts('partitioner=none', when='+parallel')
- conflicts('partitioner=all', when='-parallel')
- conflicts('partitioner=zoltan', when='-parallel')
+ git = "https://github.com/MeshToolkit/MSTK"
+ url = "https://github.com/MeshToolkit/MSTK/archive/3.3.6.tar.gz"
+
+ maintainers = ["raovgarimella", "julienloiseau"]
+
+ version("master", branch="master")
+ version("3.3.6", sha256="30041ee6f32d754e5d9b46db8f62609bb66d2686f8e6e16ad254f552849cb0f1")
+ version("3.3.5", sha256="64c976e12d1393aafd086ef941b176add6cfb963f463c33259596e7ef641cdd8")
+ version("3.3.4", sha256="bd34d31fc1fc468147a51e8d837d6bf9902ca8d38c7c0615e7f20968d4659da2")
+ version("3.3.3", sha256="54ea7929c9046915472f38367c83f75af634a6989ce0b89aad17fb9f4a25023e")
+ version("3.3.2", sha256="fb4ffa97af4d0a0d4771c8585d0b27538b013d8b1cfaff992e5e054fef62af0b")
+ version("3.3.1", sha256="9fdb0c33c1b68714d708b355d963547cf41332812658d4560d4db43904fc78de")
+ version("3.3.0", sha256="205c48fb5619937b5dd83788da739b7c2060155b7c41793e29ce05422b8f7dfb")
+ version("3.2.1", sha256="09bc6684abb576e34c324322db6f71f8987c6ec436a54256b85ef4db40185470")
+ version("3.2.0", sha256="57e58c5a7a456dbc608ce9f834a06c212a1aa64ac3ebc880ea0b8a19b000dab0")
+ version("3.1.3", sha256="03f6901cd6d563e1705a173c1a2fbbef10ab9a43f533f6ba758e357c03bdfa16")
+ version("3.1.2", sha256="1eb44c29554f45695f875fc60ab81554a2c46a041ef58a7224f3767d30e2846e")
+ version("3.1.1", sha256="5a03873c69fb38acd7ce27f2a5fa0643dd1cfcc3e214cff4aa26ee717651cc0b")
+ version("3.1.0", sha256="70e68d8a90cd2367015e0ab3459ed230a7995ad2297671742d9be6e28bc03dcf")
+ version("3.0.4", sha256="99e4c996bf22fd325335ed1391dfe735b0a338e8e4d733204d56dde7ef4eedf3")
+ version("3.0.3", sha256="618e371a48077f2b4ccfafd4d174c05f007b2ea7a51e0399df67442639409518")
+ version("3.0.2", sha256="b0172cd68e5137b8585d82c37b8a4af4b7e884f04d1b7d006a399d39447fe89e")
+ version("3.0.1", sha256="d44e4bf01b118b1d19710aa839b3f5f0c1a8391264a435f641ba4bd23bcf45ec")
+ version("3.0.0", sha256="d993ff5fc6c431067eb97e4089835c7790397d9c1ad88a56523c0591d451df19")
+
+ variant("exodusii", default=False, description="Enable ExodusII")
+ variant("use_markers", default=True, description="Enable use of markers")
+ variant("parallel", default=False, description="Enable Parallel Support")
+ variant(
+ "partitioner",
+ default="none",
+ values=("none", "metis", "zoltan", "all"),
+ multi=False,
+ description="Choose partitioner",
+ )
+ conflicts("partitioner=none", when="+parallel")
+ conflicts("partitioner=all", when="-parallel")
+ conflicts("partitioner=zoltan", when="-parallel")
# MSTK turns on METIS only for parallel builds
- conflicts('partitioner=metis', when='-parallel')
+ conflicts("partitioner=metis", when="-parallel")
# dependencies
- depends_on('cmake@3.11:', type='build')
+ depends_on("cmake@3.11:", type="build")
#
- depends_on('mpi', when='+parallel')
+ depends_on("mpi", when="+parallel")
- depends_on('zoltan -fortran', when='partitioner=zoltan')
- depends_on('zoltan -fortran', when='partitioner=all')
- depends_on('metis', when='partitioner=metis')
- depends_on('metis', when='partitioner=all')
+ depends_on("zoltan -fortran", when="partitioner=zoltan")
+ depends_on("zoltan -fortran", when="partitioner=all")
+ depends_on("metis", when="partitioner=metis")
+ depends_on("metis", when="partitioner=all")
# Exodusii variant
# The default exodusii build with mpi support
- depends_on('exodusii', when='+exodusii')
+ depends_on("exodusii", when="+exodusii")
# Unit testing variant
- depends_on('unittest-cpp', type='test')
+ depends_on("unittest-cpp", type="test")
def cmake_args(self):
options = []
- if '+use_markers' in self.spec:
- options.append('-DMSTK_USE_MARKERS=ON')
+ if "+use_markers" in self.spec:
+ options.append("-DMSTK_USE_MARKERS=ON")
else:
- options.append('-DMSTK_USE_MARKERS=OFF')
+ options.append("-DMSTK_USE_MARKERS=OFF")
# Parallel variant
- if '+parallel' in self.spec:
- options.append('-DENABLE_PARALLEL=ON')
+ if "+parallel" in self.spec:
+ options.append("-DENABLE_PARALLEL=ON")
else:
- options.append('-DENABLE_PARALLEL=OFF')
+ options.append("-DENABLE_PARALLEL=OFF")
- if 'partitioner=none' in self.spec:
- options.append('-DENABLE_METIS=OFF')
- options.append('-DENABLE_ZOLTAN=OFF')
+ if "partitioner=none" in self.spec:
+ options.append("-DENABLE_METIS=OFF")
+ options.append("-DENABLE_ZOLTAN=OFF")
else:
- if 'zoltan' in self.spec:
- options.append('-DENABLE_ZOLTAN=ON')
+ if "zoltan" in self.spec:
+ options.append("-DENABLE_ZOLTAN=ON")
else:
- options.append('-DENABLE_ZOLTAN=OFF')
- if 'metis' in self.spec:
- options.append('-DENABLE_METIS=ON')
+ options.append("-DENABLE_ZOLTAN=OFF")
+ if "metis" in self.spec:
+ options.append("-DENABLE_METIS=ON")
else:
- options.append('-DENABLE_METIS=OFF')
+ options.append("-DENABLE_METIS=OFF")
# ExodusII variant
- if '+exodusii' in self.spec:
- options.append('-DENABLE_ExodusII=ON')
+ if "+exodusii" in self.spec:
+ options.append("-DENABLE_ExodusII=ON")
else:
- options.append('-DENABLE_ExodusII=OFF')
+ options.append("-DENABLE_ExodusII=OFF")
# Unit test variant
if self.run_tests:
- options.append('-DENABLE_Tests=ON')
+ options.append("-DENABLE_Tests=ON")
else:
- options.append('-DENABLE_Tests=OFF')
+ options.append("-DENABLE_Tests=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/mt-metis/package.py b/var/spack/repos/builtin/packages/mt-metis/package.py
index 5b2fb04497..5e957dfba5 100644
--- a/var/spack/repos/builtin/packages/mt-metis/package.py
+++ b/var/spack/repos/builtin/packages/mt-metis/package.py
@@ -13,25 +13,25 @@ class MtMetis(CMakePackage):
"""
homepage = "http://glaros.dtc.umn.edu/gkhome/views/metis"
- url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/mt-metis-0.6.0.tar.gz"
+ url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/mt-metis-0.6.0.tar.gz"
- version('0.6.0', sha256='cb8fb836b630a899edbeca4e1da19ec9eb47e89903bda83e7ec62cb0ffdcc284')
+ version("0.6.0", sha256="cb8fb836b630a899edbeca4e1da19ec9eb47e89903bda83e7ec62cb0ffdcc284")
# avoid asm('pause') for no x86_64 familly.
- patch('non_x8664.patch')
+ patch("non_x8664.patch")
- variant('shared', default=True, description='Enable build of shared libraries')
+ variant("shared", default=True, description="Enable build of shared libraries")
def cmake_args(self):
define = CMakePackage.define
cmake_args = [
- define('DOMLIB_PATH', 'domlib'),
- define('WILDRIVER_PATH', 'wildriver'),
- define('METIS_PATH', 'metis'),
- self.define_from_variant('SHARED', 'shared'),
+ define("DOMLIB_PATH", "domlib"),
+ define("WILDRIVER_PATH", "wildriver"),
+ define("METIS_PATH", "metis"),
+ self.define_from_variant("SHARED", "shared"),
]
return cmake_args
@property
def libs(self):
- return find_libraries(['libmtmetis', 'libwildriver'], self.prefix.lib)
+ return find_libraries(["libmtmetis", "libwildriver"], self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/mujoco/package.py b/var/spack/repos/builtin/packages/mujoco/package.py
index 0608cedb10..96a3ee6305 100644
--- a/var/spack/repos/builtin/packages/mujoco/package.py
+++ b/var/spack/repos/builtin/packages/mujoco/package.py
@@ -11,14 +11,14 @@ from spack.package import *
class Mujoco(Package):
"""MuJoCo is a physics engine that aims to facilitate research and
development in robotics, biomechanics, graphics and animation, and
- other areas where fast and accurate simulation is needed. """
+ other areas where fast and accurate simulation is needed."""
homepage = "https://mujoco.org/"
mujoco_releases = {
- '2.1.0': {
- 'Linux-x86_64': 'a436ca2f4144c38b837205635bbd60ffe1162d5b44c87df22232795978d7d012',
- 'Darwin-x86_64': '50226f859d9d3742fa57e1a0a92d656197ec5786f75bfa50ae00eb80fae25e90',
+ "2.1.0": {
+ "Linux-x86_64": "a436ca2f4144c38b837205635bbd60ffe1162d5b44c87df22232795978d7d012",
+ "Darwin-x86_64": "50226f859d9d3742fa57e1a0a92d656197ec5786f75bfa50ae00eb80fae25e90",
}
}
@@ -33,17 +33,17 @@ class Mujoco(Package):
url = "https://mujoco.org/download/mujoco{0}-{1}-x86_64.tar.gz"
system_map = {
- 'Linux': 'linux',
- 'Darwin': 'macos',
+ "Linux": "linux",
+ "Darwin": "macos",
}
return url.format(version.joined, system_map[platform.system()])
def install(self, spec, prefix):
- copy_tree('.', prefix)
+ copy_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('CPATH', prefix.include)
- env.prepend_path('LD_LIBRARY_PATH', prefix.bin)
- if platform.system() == 'Darwin':
- env.prepend_path('DYLD_LIBRARY_PATH', prefix.bin)
+ env.prepend_path("CPATH", prefix.include)
+ env.prepend_path("LD_LIBRARY_PATH", prefix.bin)
+ if platform.system() == "Darwin":
+ env.prepend_path("DYLD_LIBRARY_PATH", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/multitail/package.py b/var/spack/repos/builtin/packages/multitail/package.py
index 262a36ed04..0af241bce1 100644
--- a/var/spack/repos/builtin/packages/multitail/package.py
+++ b/var/spack/repos/builtin/packages/multitail/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Multitail(MakefilePackage):
"""MultiTail allows you to monitor logfiles and command output
- in multiple windows in a terminal, colorize, filter and merge."""
+ in multiple windows in a terminal, colorize, filter and merge."""
homepage = "https://www.vanheusden.com/multitail/index.php"
- url = "https://www.vanheusden.com/multitail/multitail-6.4.2.tgz"
+ url = "https://www.vanheusden.com/multitail/multitail-6.4.2.tgz"
- version('6.4.2', sha256='af1d5458a78ad3b747c5eeb135b19bdca281ce414cefdc6ea0cff6d913caa1fd')
+ version("6.4.2", sha256="af1d5458a78ad3b747c5eeb135b19bdca281ce414cefdc6ea0cff6d913caa1fd")
- depends_on('ncurses')
+ depends_on("ncurses")
# It's counterintuitive, but use DESTDIR for the install because
# the Makefile doesn't consistently use PREFIX with the things
@@ -23,21 +23,22 @@ class Multitail(MakefilePackage):
@property
def install_targets(self):
targets = []
- targets.append('PREFIX=')
- targets.append('DESTDIR={0}'.format(self.prefix))
- targets.append('install')
+ targets.append("PREFIX=")
+ targets.append("DESTDIR={0}".format(self.prefix))
+ targets.append("install")
return targets
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
- nc_include_flags = spec['ncurses'].headers.include_flags
- nc_ld_flags = spec['ncurses'].libs.ld_flags
- makefile.filter(r'CFLAGS\+=', 'CFLAGS+={0} '.format(nc_include_flags))
- makefile.filter(r'LDFLAGS\+=', 'LDFLAGS+={0} '.format(nc_ld_flags))
+ nc_include_flags = spec["ncurses"].headers.include_flags
+ nc_ld_flags = spec["ncurses"].libs.ld_flags
+ makefile.filter(r"CFLAGS\+=", "CFLAGS+={0} ".format(nc_include_flags))
+ makefile.filter(r"LDFLAGS\+=", "LDFLAGS+={0} ".format(nc_ld_flags))
# Copy the conf file directly into place (don't worry about
# overwriting an existing file...)
- kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
- makefile.filter(r'cp multitail.conf $(CONFIG_FILE).new',
- 'cp multitail.conf $(CONFIG_FILE)', **kwargs)
+ kwargs = {"ignore_absent": False, "backup": False, "string": True}
+ makefile.filter(
+ r"cp multitail.conf $(CONFIG_FILE).new", "cp multitail.conf $(CONFIG_FILE)", **kwargs
+ )
diff --git a/var/spack/repos/builtin/packages/multitime/package.py b/var/spack/repos/builtin/packages/multitime/package.py
index d78a3064ff..4bc76d5de4 100644
--- a/var/spack/repos/builtin/packages/multitime/package.py
+++ b/var/spack/repos/builtin/packages/multitime/package.py
@@ -13,6 +13,6 @@ class Multitime(AutotoolsPackage):
understanding of the command's performance."""
homepage = "https://tratt.net/laurie/src/multitime/"
- url = "https://tratt.net/laurie/src/multitime/releases/multitime-1.4.tar.gz"
+ url = "https://tratt.net/laurie/src/multitime/releases/multitime-1.4.tar.gz"
- version('1.4', sha256='dd85c431c022d0b992f3a8816a1a3dfb414454a229c0ec22514761bf72d3ce47')
+ version("1.4", sha256="dd85c431c022d0b992f3a8816a1a3dfb414454a229c0ec22514761bf72d3ce47")
diff --git a/var/spack/repos/builtin/packages/multiverso/package.py b/var/spack/repos/builtin/packages/multiverso/package.py
index 50ab9926a6..6e3ff46e90 100644
--- a/var/spack/repos/builtin/packages/multiverso/package.py
+++ b/var/spack/repos/builtin/packages/multiverso/package.py
@@ -11,18 +11,18 @@ class Multiverso(CMakePackage):
training machine learning models on big data with numbers of machines."""
homepage = "https://github.com/Microsoft/Multiverso"
- url = "https://github.com/Microsoft/Multiverso/archive/v0.2.tar.gz"
- git = "https://github.com/Microsoft/Multiverso.git"
+ url = "https://github.com/Microsoft/Multiverso/archive/v0.2.tar.gz"
+ git = "https://github.com/Microsoft/Multiverso.git"
- version('master', branch='master')
- version('143187', commit='143187575d1cfa410100037b8aea2e767e0af637')
- version('0.2', sha256='40e86543968faa2fe203cf0b004a4c7905303db0c860efe4ce4e1f27e46394fc')
+ version("master", branch="master")
+ version("143187", commit="143187575d1cfa410100037b8aea2e767e0af637")
+ version("0.2", sha256="40e86543968faa2fe203cf0b004a4c7905303db0c860efe4ce4e1f27e46394fc")
- depends_on('mpi')
- depends_on('boost+exception+test')
+ depends_on("mpi")
+ depends_on("boost+exception+test")
- patch('cmake-143187.patch', when='@143187')
+ patch("cmake-143187.patch", when="@143187")
def cmake_args(self):
spec = self.spec
- return ['-DBOOST_ROOT:PATH=%s' % spec['boost'].prefix]
+ return ["-DBOOST_ROOT:PATH=%s" % spec["boost"].prefix]
diff --git a/var/spack/repos/builtin/packages/mumax/package.py b/var/spack/repos/builtin/packages/mumax/package.py
index b80d1ff25e..7089403d7b 100644
--- a/var/spack/repos/builtin/packages/mumax/package.py
+++ b/var/spack/repos/builtin/packages/mumax/package.py
@@ -13,39 +13,41 @@ class Mumax(MakefilePackage, CudaPackage):
"""GPU accelerated micromagnetic simulator."""
homepage = "https://mumax.github.io"
- url = "https://github.com/mumax/3/archive/v3.10.tar.gz"
+ url = "https://github.com/mumax/3/archive/v3.10.tar.gz"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('3.10',
- sha256='42c858661cec3896685ff4babea11e711f71fd6ea37d20c2bed7e4a918702caa',
- preferred=True)
- version('3.10beta',
- sha256='f20fbd90a4b531fe5a0d8acc3d4505a092a5e426f5f53218a22a87d445daf0e9',
- url='https://github.com/mumax/3/archive/3.10beta.tar.gz')
+ version(
+ "3.10",
+ sha256="42c858661cec3896685ff4babea11e711f71fd6ea37d20c2bed7e4a918702caa",
+ preferred=True,
+ )
+ version(
+ "3.10beta",
+ sha256="f20fbd90a4b531fe5a0d8acc3d4505a092a5e426f5f53218a22a87d445daf0e9",
+ url="https://github.com/mumax/3/archive/3.10beta.tar.gz",
+ )
- variant('cuda', default=True,
- description='Use CUDA; must be true')
- variant('gnuplot', default=False,
- description='Use gnuplot for graphs')
+ variant("cuda", default=True, description="Use CUDA; must be true")
+ variant("gnuplot", default=False, description="Use gnuplot for graphs")
- depends_on('cuda')
- depends_on('go@:1.15', type='build')
- depends_on('gnuplot', type='run', when='+gnuplot')
+ depends_on("cuda")
+ depends_on("go@:1.15", type="build")
+ depends_on("gnuplot", type="run", when="+gnuplot")
- conflicts('~cuda', msg='mumax requires cuda')
+ conflicts("~cuda", msg="mumax requires cuda")
- patch('https://github.com/mumax/3/commit/2cf5c9a6985c9eb16a124c6bd96aed75b4a30c24.patch?full_index=1',
- sha256='4bbb95aacdac7e2cbcb37ee8adcfb9464e69965f984c264ff094dc1cca10589b',
- when='@3.10beta')
+ patch(
+ "https://github.com/mumax/3/commit/2cf5c9a6985c9eb16a124c6bd96aed75b4a30c24.patch?full_index=1",
+ sha256="4bbb95aacdac7e2cbcb37ee8adcfb9464e69965f984c264ff094dc1cca10589b",
+ when="@3.10beta",
+ )
@property
def cuda_arch(self):
- cuda_arch = ' '.join(self.spec.variants['cuda_arch'].value)
- if cuda_arch == 'none':
- raise InstallError(
- 'Must select at least one value for cuda_arch'
- )
+ cuda_arch = " ".join(self.spec.variants["cuda_arch"].value)
+ if cuda_arch == "none":
+ raise InstallError("Must select at least one value for cuda_arch")
return cuda_arch
@property
@@ -54,7 +56,7 @@ class Mumax(MakefilePackage, CudaPackage):
@property
def mumax_gopath_dir(self):
- return join_path(self.gopath, 'src/github.com/mumax/3')
+ return join_path(self.gopath, "src/github.com/mumax/3")
def do_stage(self, mirror_only=False):
super(Mumax, self).do_stage(mirror_only)
@@ -66,20 +68,19 @@ class Mumax(MakefilePackage, CudaPackage):
# filter out targets that do not exist
def edit(self, spec, prefix):
- filter_file(r'(^all: cudakernels) hooks$', r'\1', 'Makefile')
+ filter_file(r"(^all: cudakernels) hooks$", r"\1", "Makefile")
- @when('@3.10beta')
+ @when("@3.10beta")
def edit(self, spec, prefix):
- filter_file(r'(^ln -sf .*)', r'#\1', 'make.bash')
- filter_file(r'(^\(cd test)', r'#\1', 'make.bash')
- filter_file(r'(for cc in ).*(; do)', r'\1{0}\2'.format(self.cuda_arch),
- 'cuda/make.bash')
+ filter_file(r"(^ln -sf .*)", r"#\1", "make.bash")
+ filter_file(r"(^\(cd test)", r"#\1", "make.bash")
+ filter_file(r"(for cc in ).*(; do)", r"\1{0}\2".format(self.cuda_arch), "cuda/make.bash")
def setup_build_environment(self, env):
- env.prepend_path('GOPATH', self.gopath)
- env.set('CUDA_CC', self.cuda_arch)
+ env.prepend_path("GOPATH", self.gopath)
+ env.set("CUDA_CC", self.cuda_arch)
def install(self, spec, prefix):
make()
with working_dir(self.gopath):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mummer/package.py b/var/spack/repos/builtin/packages/mummer/package.py
index d7a744975b..68dea8f7e3 100644
--- a/var/spack/repos/builtin/packages/mummer/package.py
+++ b/var/spack/repos/builtin/packages/mummer/package.py
@@ -10,42 +10,58 @@ class Mummer(Package):
"""MUMmer is a system for rapidly aligning entire genomes."""
homepage = "http://mummer.sourceforge.net/"
- url = "https://sourceforge.net/projects/mummer/files/mummer/3.23/MUMmer3.23.tar.gz/download"
+ url = "https://sourceforge.net/projects/mummer/files/mummer/3.23/MUMmer3.23.tar.gz/download"
- version('3.23', sha256='1efad4f7d8cee0d8eaebb320a2d63745bb3a160bb513a15ef7af46f330af662f')
+ version("3.23", sha256="1efad4f7d8cee0d8eaebb320a2d63745bb3a160bb513a15ef7af46f330af662f")
- depends_on('gnuplot')
- depends_on('perl', type=('build', 'run'))
+ depends_on("gnuplot")
+ depends_on("perl", type=("build", "run"))
- patch('Makefile.patch')
- patch('scripts-Makefile.patch')
+ patch("Makefile.patch")
+ patch("scripts-Makefile.patch")
def patch(self):
"""Fix mummerplot's use of defined on hashes (deprecated
- since perl@5.10, made illegal in perl@5.20."""
+ since perl@5.10, made illegal in perl@5.20."""
- kwargs = {'string': True}
- filter_file('defined (%', '(%', 'scripts/mummerplot.pl',
- **kwargs)
+ kwargs = {"string": True}
+ filter_file("defined (%", "(%", "scripts/mummerplot.pl", **kwargs)
def install(self, spec, prefix):
if self.run_tests:
- make('check')
- make('INSTALL_TOP_DIR={0}'.format(prefix))
+ make("check")
+ make("INSTALL_TOP_DIR={0}".format(prefix))
bd = prefix.bin
- abd = join_path(prefix, 'aux_bin')
- sd = join_path(prefix, 'scripts')
+ abd = join_path(prefix, "aux_bin")
+ sd = join_path(prefix, "scripts")
mkdirp(bd)
mkdirp(abd)
mkdirp(sd)
- bins = ["show-tiling", "show-snps", "show-coords", "show-aligns",
- "show-diff", "delta-filter", "combineMUMs", "mummer",
- "repeat-match", "annotate", "mgaps", "gaps", "dnadiff",
- "nucmer2xfig", "run-mummer3", "mummerplot", "promer",
- "run-mummer1", "nucmer", "mapview", "exact-tandems"]
- aux_bins = ["aux_bin/postnuc", "aux_bin/postpro",
- "aux_bin/prenuc", "aux_bin/prepro"]
+ bins = [
+ "show-tiling",
+ "show-snps",
+ "show-coords",
+ "show-aligns",
+ "show-diff",
+ "delta-filter",
+ "combineMUMs",
+ "mummer",
+ "repeat-match",
+ "annotate",
+ "mgaps",
+ "gaps",
+ "dnadiff",
+ "nucmer2xfig",
+ "run-mummer3",
+ "mummerplot",
+ "promer",
+ "run-mummer1",
+ "nucmer",
+ "mapview",
+ "exact-tandems",
+ ]
+ aux_bins = ["aux_bin/postnuc", "aux_bin/postpro", "aux_bin/prenuc", "aux_bin/prepro"]
scripts = ["scripts/Foundation.pm"]
for f in bins:
diff --git a/var/spack/repos/builtin/packages/mummer4/package.py b/var/spack/repos/builtin/packages/mummer4/package.py
index b1c0a1490d..8eb0ebc04b 100644
--- a/var/spack/repos/builtin/packages/mummer4/package.py
+++ b/var/spack/repos/builtin/packages/mummer4/package.py
@@ -10,13 +10,17 @@ class Mummer4(AutotoolsPackage):
"""MUMmer is a versatil alignment tool for DNA and protein sequences."""
homepage = "https://github.com/mummer4/mummer"
- url = "https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz"
+ url = (
+ "https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz"
+ )
- version('4.0.0rc1', sha256='85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d')
- version('4.0.0beta2', sha256='cece76e418bf9c294f348972e5b23a0230beeba7fd7d042d5584ce075ccd1b93')
+ version("4.0.0rc1", sha256="85006adb2d6539c2f738c3e3bb14b58bb6f62cd6c6ca5ede884a87ae76e07d1d")
+ version(
+ "4.0.0beta2", sha256="cece76e418bf9c294f348972e5b23a0230beeba7fd7d042d5584ce075ccd1b93"
+ )
- conflicts('%gcc@:4.7')
+ conflicts("%gcc@:4.7")
- depends_on('perl@5.6.0:', type=('build', 'run'))
- depends_on('awk', type='run')
- depends_on('sed', type='run')
+ depends_on("perl@5.6.0:", type=("build", "run"))
+ depends_on("awk", type="run")
+ depends_on("sed", type="run")
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index 90a18c8502..7d0d5c950b 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -14,72 +14,66 @@ class Mumps(Package):
"""MUMPS: a MUltifrontal Massively Parallel sparse direct Solver"""
homepage = "http://mumps.enseeiht.fr"
- url = "http://mumps.enseeiht.fr/MUMPS_5.3.5.tar.gz"
-
- version('5.4.1', sha256='93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8')
- version('5.4.0', sha256='c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627')
- version('5.3.5', sha256='e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4')
- version('5.3.3', sha256='27e7749ac05006bf8e81a457c865402bb72a42bf3bc673da49de1020f0f32011')
- version('5.2.0', sha256='41f2c7cb20d69599fb47e2ad6f628f3798c429f49e72e757e70722680f70853f')
- version('5.1.2', sha256='eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9')
- version('5.1.1', sha256='a2a1f89c470f2b66e9982953cbd047d429a002fab9975400cef7190d01084a06')
- version('5.0.2', sha256='77292b204942640256097a3da482c2abcd1e0d5a74ecd1d4bab0f5ef6e60fe45')
+ url = "http://mumps.enseeiht.fr/MUMPS_5.3.5.tar.gz"
+
+ version("5.4.1", sha256="93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8")
+ version("5.4.0", sha256="c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627")
+ version("5.3.5", sha256="e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4")
+ version("5.3.3", sha256="27e7749ac05006bf8e81a457c865402bb72a42bf3bc673da49de1020f0f32011")
+ version("5.2.0", sha256="41f2c7cb20d69599fb47e2ad6f628f3798c429f49e72e757e70722680f70853f")
+ version("5.1.2", sha256="eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9")
+ version("5.1.1", sha256="a2a1f89c470f2b66e9982953cbd047d429a002fab9975400cef7190d01084a06")
+ version("5.0.2", sha256="77292b204942640256097a3da482c2abcd1e0d5a74ecd1d4bab0f5ef6e60fe45")
# Alternate location if main server is down.
# version('5.0.1', sha256='50355b2e67873e2239b4998a46f2bbf83f70cdad6517730ab287ae3aae9340a0',
# url='http://pkgs.fedoraproject.org/repo/pkgs/MUMPS/MUMPS_5.0.1.tar.gz/md5/b477573fdcc87babe861f62316833db0/MUMPS_5.0.1.tar.gz')
- version('5.0.1', sha256='50355b2e67873e2239b4998a46f2bbf83f70cdad6517730ab287ae3aae9340a0')
-
- variant('mpi', default=True,
- description='Compile MUMPS with MPI support')
- variant('scotch', default=False,
- description='Activate Scotch as a possible ordering library')
- variant('ptscotch', default=False,
- description='Activate PT-Scotch as a possible ordering library')
- variant('metis', default=False,
- description='Activate Metis as a possible ordering library')
- variant('parmetis', default=False,
- description='Activate Parmetis as a possible ordering library')
- variant('double', default=True,
- description='Activate the compilation of dmumps')
- variant('float', default=True,
- description='Activate the compilation of smumps')
- variant('complex', default=True,
- description='Activate the compilation of cmumps and/or zmumps')
- variant('int64', default=False,
- description='Use int64_t/integer*8 as default index type')
- variant("incfort", default=False,
- description="Use explicit types size in fortran headers")
- variant('shared', default=True, description='Build shared libraries')
- variant('openmp', default=True,
- description='Compile MUMPS with OpenMP support')
- variant('blr_mt', default=False,
- description='Allow BLAS calls in OpenMP regions ' +
- '(warning: might not be supported by all multithread BLAS)')
-
- depends_on('scotch + esmumps', when='~ptscotch+scotch')
- depends_on('scotch + esmumps ~ metis + mpi', when='+ptscotch')
- depends_on('metis@5:', when='+metis')
- depends_on('parmetis', when="+parmetis")
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack', when='+mpi')
- depends_on('mpi', when='+mpi')
-
- patch('examples.patch', when='@5.1.1%clang^spectrum-mpi')
- patch('gfortran8.patch', when='@5.1.2')
+ version("5.0.1", sha256="50355b2e67873e2239b4998a46f2bbf83f70cdad6517730ab287ae3aae9340a0")
+
+ variant("mpi", default=True, description="Compile MUMPS with MPI support")
+ variant("scotch", default=False, description="Activate Scotch as a possible ordering library")
+ variant(
+ "ptscotch", default=False, description="Activate PT-Scotch as a possible ordering library"
+ )
+ variant("metis", default=False, description="Activate Metis as a possible ordering library")
+ variant(
+ "parmetis", default=False, description="Activate Parmetis as a possible ordering library"
+ )
+ variant("double", default=True, description="Activate the compilation of dmumps")
+ variant("float", default=True, description="Activate the compilation of smumps")
+ variant(
+ "complex", default=True, description="Activate the compilation of cmumps and/or zmumps"
+ )
+ variant("int64", default=False, description="Use int64_t/integer*8 as default index type")
+ variant("incfort", default=False, description="Use explicit types size in fortran headers")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("openmp", default=True, description="Compile MUMPS with OpenMP support")
+ variant(
+ "blr_mt",
+ default=False,
+ description="Allow BLAS calls in OpenMP regions "
+ + "(warning: might not be supported by all multithread BLAS)",
+ )
+
+ depends_on("scotch + esmumps", when="~ptscotch+scotch")
+ depends_on("scotch + esmumps ~ metis + mpi", when="+ptscotch")
+ depends_on("metis@5:", when="+metis")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack", when="+mpi")
+ depends_on("mpi", when="+mpi")
+
+ patch("examples.patch", when="@5.1.1%clang^spectrum-mpi")
+ patch("gfortran8.patch", when="@5.1.2")
# The following patches src/Makefile to fix some dependency
# issues in lib[cdsz]mumps.so
- patch('mumps.src-makefile.5.2.patch', when='@5.2.0 +shared')
- patch('mumps.src-makefile.5.3.patch', when='@5.3.0: +shared')
-
- conflicts('+parmetis', when='~mpi',
- msg="You cannot use the parmetis variant without mpi")
- conflicts('+parmetis', when='~metis',
- msg="You cannot use the parmetis variant without metis")
- conflicts('+ptscotch', when='~mpi',
- msg="You cannot use the ptscotch variant without mpi")
- conflicts('+blr_mt', when='~openmp',
- msg="You cannot use the blr_mt variant without openmp")
+ patch("mumps.src-makefile.5.2.patch", when="@5.2.0 +shared")
+ patch("mumps.src-makefile.5.3.patch", when="@5.3.0: +shared")
+
+ conflicts("+parmetis", when="~mpi", msg="You cannot use the parmetis variant without mpi")
+ conflicts("+parmetis", when="~metis", msg="You cannot use the parmetis variant without metis")
+ conflicts("+ptscotch", when="~mpi", msg="You cannot use the ptscotch variant without mpi")
+ conflicts("+blr_mt", when="~openmp", msg="You cannot use the blr_mt variant without openmp")
@when("+incfort")
def patch(self):
@@ -103,50 +97,63 @@ class Mumps(Package):
# comment below about 'inject_libs'. This behaviour may cause problems
# if building '+shared' and the used libraries were build static
# without the PIC option.
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- lapack_blas = (self.spec['lapack'].libs + self.spec['blas'].libs)
- makefile_conf = ["LIBBLAS = %s" %
- lapack_blas.ld_flags if not shared else '']
+ lapack_blas = self.spec["lapack"].libs + self.spec["blas"].libs
+ makefile_conf = ["LIBBLAS = %s" % lapack_blas.ld_flags if not shared else ""]
- orderings = ['-Dpord']
+ orderings = ["-Dpord"]
# All of the lib[cdsz]mumps.* libs depend on mumps_common
- extra_libs4mumps = ['-L$(topdir)/lib', '-lmumps_common']
+ extra_libs4mumps = ["-L$(topdir)/lib", "-lmumps_common"]
# and mumps_common depends on pord
- extra_libs4mumps += ['-L$(topdir)/PORD/lib', '-lpord']
-
- if '+ptscotch' in self.spec or '+scotch' in self.spec:
- makefile_conf.extend([
- "ISCOTCH = -I%s" % self.spec['scotch'].prefix.include,
- "LSCOTCH = {0}".format(
- self.spec['scotch'].libs.ld_flags if not shared else '')
- ])
-
- orderings.append('-Dscotch')
- if '+ptscotch' in self.spec:
- orderings.append('-Dptscotch')
-
- if '+parmetis' in self.spec:
- makefile_conf.extend([
- "IMETIS = -I%s" % self.spec['parmetis'].prefix.include,
- ("LMETIS = -L%s -l%s -L%s -l%s" % (
- self.spec['parmetis'].prefix.lib, 'parmetis',
- self.spec['metis'].prefix.lib, 'metis')) if not shared
- else 'LMETIS ='
- ])
-
- orderings.append('-Dparmetis')
- elif '+metis' in self.spec:
- makefile_conf.extend([
- "IMETIS = -I%s" % self.spec['metis'].prefix.include,
- ("LMETIS = -L%s -l%s" % (
- self.spec['metis'].prefix.lib, 'metis')) if not shared
- else 'LMETIS ='
- ])
-
- orderings.append('-Dmetis')
-
- makefile_conf.append("ORDERINGSF = %s" % (' '.join(orderings)))
+ extra_libs4mumps += ["-L$(topdir)/PORD/lib", "-lpord"]
+
+ if "+ptscotch" in self.spec or "+scotch" in self.spec:
+ makefile_conf.extend(
+ [
+ "ISCOTCH = -I%s" % self.spec["scotch"].prefix.include,
+ "LSCOTCH = {0}".format(
+ self.spec["scotch"].libs.ld_flags if not shared else ""
+ ),
+ ]
+ )
+
+ orderings.append("-Dscotch")
+ if "+ptscotch" in self.spec:
+ orderings.append("-Dptscotch")
+
+ if "+parmetis" in self.spec:
+ makefile_conf.extend(
+ [
+ "IMETIS = -I%s" % self.spec["parmetis"].prefix.include,
+ (
+ "LMETIS = -L%s -l%s -L%s -l%s"
+ % (
+ self.spec["parmetis"].prefix.lib,
+ "parmetis",
+ self.spec["metis"].prefix.lib,
+ "metis",
+ )
+ )
+ if not shared
+ else "LMETIS =",
+ ]
+ )
+
+ orderings.append("-Dparmetis")
+ elif "+metis" in self.spec:
+ makefile_conf.extend(
+ [
+ "IMETIS = -I%s" % self.spec["metis"].prefix.include,
+ ("LMETIS = -L%s -l%s" % (self.spec["metis"].prefix.lib, "metis"))
+ if not shared
+ else "LMETIS =",
+ ]
+ )
+
+ orderings.append("-Dmetis")
+
+ makefile_conf.append("ORDERINGSF = %s" % (" ".join(orderings)))
# Determine which compiler suite we are using
using_gcc = self.compiler.name == "gcc"
@@ -154,32 +161,31 @@ class Mumps(Package):
using_nvhpc = self.compiler.name == "nvhpc"
using_intel = self.compiler.name == "intel"
using_oneapi = self.compiler.name == "oneapi"
- using_xl = self.compiler.name in ['xl', 'xl_r']
+ using_xl = self.compiler.name in ["xl", "xl_r"]
using_fj = self.compiler.name == "fj"
# The llvm compiler suite does not contain a Fortran compiler by
# default. Its possible that a Spack user may have configured
# ~/.spack/<platform>/compilers.yaml for using xlf.
- using_xlf = using_xl or \
- (spack_f77.endswith('xlf') or spack_f77.endswith('xlf_r'))
+ using_xlf = using_xl or (spack_f77.endswith("xlf") or spack_f77.endswith("xlf_r"))
# when building shared libs need -fPIC, otherwise
# /usr/bin/ld: graph.o: relocation R_X86_64_32 against `.rodata.str1.1'
# can not be used when making a shared object; recompile with -fPIC
- cpic = self.compiler.cc_pic_flag if shared else ''
- fpic = self.compiler.fc_pic_flag if shared else ''
+ cpic = self.compiler.cc_pic_flag if shared else ""
+ fpic = self.compiler.fc_pic_flag if shared else ""
# TODO: test this part, it needs a full blas, scalapack and
# partitionning environment with 64bit integers
# The mumps.src-makefile.patch wants us to set these PIC variables
- makefile_conf.append('FC_PIC_FLAG={0}'.format(fpic))
- makefile_conf.append('CC_PIC_FLAG={0}'.format(cpic))
+ makefile_conf.append("FC_PIC_FLAG={0}".format(fpic))
+ makefile_conf.append("CC_PIC_FLAG={0}".format(cpic))
- opt_level = '3' if using_xl else ''
+ opt_level = "3" if using_xl else ""
- optc = ['-O{0}'.format(opt_level)]
- optf = ['-O{0}'.format(opt_level)]
- optl = ['-O{0}'.format(opt_level)]
+ optc = ["-O{0}".format(opt_level)]
+ optf = ["-O{0}".format(opt_level)]
+ optl = ["-O{0}".format(opt_level)]
if shared:
optc.append(cpic)
@@ -187,40 +193,40 @@ class Mumps(Package):
optl.append(cpic)
if not using_xlf:
- optf.append('-DALLOW_NON_INIT')
+ optf.append("-DALLOW_NON_INIT")
- if '+int64' in self.spec:
+ if "+int64" in self.spec:
if not using_xlf:
# the fortran compilation flags most probably are
# working only for intel and gnu compilers this is
# perhaps something the compiler should provide
- optf.append('-fdefault-integer-8' if using_gcc else '-i8')
+ optf.append("-fdefault-integer-8" if using_gcc else "-i8")
- optc.append('-DINTSIZE64')
+ optc.append("-DINTSIZE64")
else:
if using_xlf:
- optf.append('-qfixed')
+ optf.append("-qfixed")
# With gfortran >= 10 we need to add '-fallow-argument-mismatch'. This
# check handles mixed toolchains which are not handled by the method
# 'flag_handler' defined below.
# TODO: remove 'flag_handler' since this check covers that case too?
- if os.path.basename(spack_fc) == 'gfortran':
+ if os.path.basename(spack_fc) == "gfortran":
gfortran = Executable(spack_fc)
- gfort_ver = Version(gfortran('-dumpversion', output=str).strip())
- if gfort_ver >= Version('10'):
- optf.append('-fallow-argument-mismatch')
+ gfort_ver = Version(gfortran("-dumpversion", output=str).strip())
+ if gfort_ver >= Version("10"):
+ optf.append("-fallow-argument-mismatch")
# As of version 5.2.0, MUMPS is able to take advantage
# of the GEMMT BLAS extension. MKL and amdblis are the only
# known BLAS implementation supported.
- if '@5.2.0: ^mkl' in self.spec:
- optf.append('-DGEMMT_AVAILABLE')
+ if "@5.2.0: ^mkl" in self.spec:
+ optf.append("-DGEMMT_AVAILABLE")
- if '@5.2.0: ^amdblis@3.0:' in self.spec:
- optf.append('-DGEMMT_AVAILABLE')
+ if "@5.2.0: ^amdblis@3.0:" in self.spec:
+ optf.append("-DGEMMT_AVAILABLE")
- if '+openmp' in self.spec:
+ if "+openmp" in self.spec:
optc.append(self.compiler.openmp_flag)
optf.append(self.compiler.openmp_flag)
optl.append(self.compiler.openmp_flag)
@@ -228,32 +234,39 @@ class Mumps(Package):
# Using BLR_MT might not be supported by all multithreaded BLAS
# (MKL is known to work) but it is not something we can easily
# check so we trust that the user knows what he/she is doing.
- if '+blr_mt' in self.spec:
- optf.append('-DBLR_MT')
-
- makefile_conf.extend([
- 'OPTC = {0}'.format(' '.join(optc)),
- 'OPTF = {0}'.format(' '.join(optf)),
- 'OPTL = {0}'.format(' '.join(optl))
- ])
-
- if '+mpi' in self.spec:
- scalapack = self.spec['scalapack'].libs if not shared \
- else LibraryList([])
+ if "+blr_mt" in self.spec:
+ optf.append("-DBLR_MT")
+
+ makefile_conf.extend(
+ [
+ "OPTC = {0}".format(" ".join(optc)),
+ "OPTF = {0}".format(" ".join(optf)),
+ "OPTL = {0}".format(" ".join(optl)),
+ ]
+ )
+
+ if "+mpi" in self.spec:
+ scalapack = self.spec["scalapack"].libs if not shared else LibraryList([])
makefile_conf.extend(
- ['CC = {0}'.format(self.spec['mpi'].mpicc),
- 'FC = {0}'.format(self.spec['mpi'].mpifc),
- 'FL = {0}'.format(self.spec['mpi'].mpifc),
- "SCALAP = %s" % scalapack.ld_flags,
- "MUMPS_TYPE = par"])
+ [
+ "CC = {0}".format(self.spec["mpi"].mpicc),
+ "FC = {0}".format(self.spec["mpi"].mpifc),
+ "FL = {0}".format(self.spec["mpi"].mpifc),
+ "SCALAP = %s" % scalapack.ld_flags,
+ "MUMPS_TYPE = par",
+ ]
+ )
else:
makefile_conf.extend(
- ["CC = {0}".format(spack_cc),
- "FC = {0}".format(spack_fc),
- "FL = {0}".format(spack_fc),
- "MUMPS_TYPE = seq"])
+ [
+ "CC = {0}".format(spack_cc),
+ "FC = {0}".format(spack_fc),
+ "FL = {0}".format(spack_fc),
+ "MUMPS_TYPE = seq",
+ ]
+ )
# For sequential MUMPS, we need to link to a fake MPI lib
- extra_libs4mumps += ['-L$(topdir)/libseq', '-lmpiseq']
+ extra_libs4mumps += ["-L$(topdir)/libseq", "-lmpiseq"]
# TODO: change the value to the correct one according to the
# compiler possible values are -DAdd_, -DAdd__ and/or -DUPPER
@@ -267,82 +280,85 @@ class Mumps(Package):
if not using_xlf:
makefile_conf.append("CDEFS = -DAdd_")
- if '+shared' in self.spec:
+ if "+shared" in self.spec:
# All Mumps libraries will be linked with 'inject_libs'.
inject_libs = []
- if '+mpi' in self.spec:
- inject_libs += [self.spec['scalapack'].libs.ld_flags]
- if '+ptscotch' in self.spec or '+scotch' in self.spec:
- inject_libs += [self.spec['scotch'].libs.ld_flags]
- if '+parmetis' in self.spec and '+metis' in self.spec:
- inject_libs += [
- "-L%s -l%s -L%s -l%s" % (
- self.spec['parmetis'].prefix.lib, 'parmetis',
- self.spec['metis'].prefix.lib, 'metis')]
- elif '+metis' in self.spec:
+ if "+mpi" in self.spec:
+ inject_libs += [self.spec["scalapack"].libs.ld_flags]
+ if "+ptscotch" in self.spec or "+scotch" in self.spec:
+ inject_libs += [self.spec["scotch"].libs.ld_flags]
+ if "+parmetis" in self.spec and "+metis" in self.spec:
inject_libs += [
- "-L%s -l%s" % (self.spec['metis'].prefix.lib, 'metis')]
+ "-L%s -l%s -L%s -l%s"
+ % (
+ self.spec["parmetis"].prefix.lib,
+ "parmetis",
+ self.spec["metis"].prefix.lib,
+ "metis",
+ )
+ ]
+ elif "+metis" in self.spec:
+ inject_libs += ["-L%s -l%s" % (self.spec["metis"].prefix.lib, "metis")]
inject_libs += [lapack_blas.ld_flags]
- inject_libs = ' '.join(inject_libs)
+ inject_libs = " ".join(inject_libs)
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
# Building dylibs with mpif90 causes segfaults on 10.8 and
# 10.10. Use gfortran. (Homebrew)
- makefile_conf.extend([
- 'LIBEXT=.dylib',
- 'AR=%s -dynamiclib -Wl,-install_name -Wl,%s/$(notdir $@)'
- ' -undefined dynamic_lookup %s -o ' %
- (os.environ['FC'], prefix.lib, inject_libs),
- 'RANLIB=echo'
- ])
+ makefile_conf.extend(
+ [
+ "LIBEXT=.dylib",
+ "AR=%s -dynamiclib -Wl,-install_name -Wl,%s/$(notdir $@)"
+ " -undefined dynamic_lookup %s -o "
+ % (os.environ["FC"], prefix.lib, inject_libs),
+ "RANLIB=echo",
+ ]
+ )
else:
if using_xlf:
build_shared_flag = "qmkshrobj"
else:
build_shared_flag = "shared"
- makefile_conf.extend([
- 'LIBEXT=.so',
- 'AR=link_cmd() { $(FL) -%s -Wl,-soname '
- '-Wl,$(notdir $@) -o "$$@" %s; }; link_cmd ' %
- (build_shared_flag, inject_libs),
- 'RANLIB=ls'
- ])
+ makefile_conf.extend(
+ [
+ "LIBEXT=.so",
+ "AR=link_cmd() { $(FL) -%s -Wl,-soname "
+ '-Wl,$(notdir $@) -o "$$@" %s; }; link_cmd '
+ % (build_shared_flag, inject_libs),
+ "RANLIB=ls",
+ ]
+ )
# When building libpord, read AR from Makefile.inc instead of
# going through the make command line - this prevents various
# problems with the substring "$$@".
- filter_file(r' AR="\$\(AR\)"', '', 'Makefile')
- filter_file(r'^(INCLUDES = -I../include)',
- '\\1\ninclude ../../Makefile.inc',
- join_path('PORD', 'lib', 'Makefile'))
+ filter_file(r' AR="\$\(AR\)"', "", "Makefile")
+ filter_file(
+ r"^(INCLUDES = -I../include)",
+ "\\1\ninclude ../../Makefile.inc",
+ join_path("PORD", "lib", "Makefile"),
+ )
else:
- makefile_conf.extend([
- 'LIBEXT = .a',
- 'AR = ar vr ',
- 'RANLIB = ranlib'
- ])
+ makefile_conf.extend(["LIBEXT = .a", "AR = ar vr ", "RANLIB = ranlib"])
# The mumps.src-makefile.patch wants EXTRA_LIBS4MUMPS defined
- makefile_conf.extend([
- 'EXTRA_LIBS4MUMPS = {0}'.format(' '.join(extra_libs4mumps))
- ])
- makefile_inc_template = join_path(
- os.path.dirname(self.module.__file__), 'Makefile.inc')
+ makefile_conf.extend(["EXTRA_LIBS4MUMPS = {0}".format(" ".join(extra_libs4mumps))])
+ makefile_inc_template = join_path(os.path.dirname(self.module.__file__), "Makefile.inc")
with open(makefile_inc_template, "r") as fh:
- makefile_conf.extend(fh.read().split('\n'))
+ makefile_conf.extend(fh.read().split("\n"))
- with working_dir('.'):
+ with working_dir("."):
with open("Makefile.inc", "w") as fh:
- makefile_inc = '\n'.join(makefile_conf)
+ makefile_inc = "\n".join(makefile_conf)
fh.write(makefile_inc)
def flag_handler(self, name, flags):
- if name == 'fflags':
- if self.spec.satisfies('%gcc@10:'):
+ if name == "fflags":
+ if self.spec.satisfies("%gcc@10:"):
if flags is None:
flags = []
- flags.append('-fallow-argument-mismatch')
+ flags.append("-fallow-argument-mismatch")
return (flags, None, None)
@@ -353,23 +369,26 @@ class Mumps(Package):
# That is why we split the builds of 's', 'c', 'd', and/or 'z' which
# can be build one after the other, each using a parallel build.
letters_variants = [
- ['s', '+float'], ['c', '+complex+float'],
- ['d', '+double'], ['z', '+complex+double']]
+ ["s", "+float"],
+ ["c", "+complex+float"],
+ ["d", "+double"],
+ ["z", "+complex+double"],
+ ]
for ltr, v in letters_variants:
if v in spec:
- if self.spec.satisfies('@5.4:'):
+ if self.spec.satisfies("@5.4:"):
make(ltr)
else:
- make(ltr + 'examples')
+ make(ltr + "examples")
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
- if '~mpi' in spec:
- lib_dsuffix = '.dylib' if sys.platform == 'darwin' else '.so'
- lib_suffix = lib_dsuffix if '+shared' in spec else '.a'
- install('libseq/libmpiseq%s' % lib_suffix, prefix.lib)
- install(join_path('libseq', '*.h'), prefix.include)
+ if "~mpi" in spec:
+ lib_dsuffix = ".dylib" if sys.platform == "darwin" else ".so"
+ lib_suffix = lib_dsuffix if "+shared" in spec else ".a"
+ install("libseq/libmpiseq%s" % lib_suffix, prefix.lib)
+ install(join_path("libseq", "*.h"), prefix.include)
# FIXME: extend the tests to mpirun -np 2 when build with MPI
# FIXME: use something like numdiff to compare output files
@@ -377,24 +396,29 @@ class Mumps(Package):
# be run without 'mpirun', so we enabled the tests only if explicitly
# requested with the Spack '--test' option.
if self.run_tests:
- with working_dir('examples'):
- if '+float' in spec:
- ssimpletest = Executable('./ssimpletest')
- ssimpletest(input='input_simpletest_real')
- if '+complex' in spec:
- csimpletest = Executable('./csimpletest')
- csimpletest(input='input_simpletest_cmplx')
- if '+double' in spec:
- dsimpletest = Executable('./dsimpletest')
- dsimpletest(input='input_simpletest_real')
- if '+complex' in spec:
- zsimpletest = Executable('./zsimpletest')
- zsimpletest(input='input_simpletest_cmplx')
+ with working_dir("examples"):
+ if "+float" in spec:
+ ssimpletest = Executable("./ssimpletest")
+ ssimpletest(input="input_simpletest_real")
+ if "+complex" in spec:
+ csimpletest = Executable("./csimpletest")
+ csimpletest(input="input_simpletest_cmplx")
+ if "+double" in spec:
+ dsimpletest = Executable("./dsimpletest")
+ dsimpletest(input="input_simpletest_real")
+ if "+complex" in spec:
+ zsimpletest = Executable("./zsimpletest")
+ zsimpletest(input="input_simpletest_cmplx")
@property
def libs(self):
- component_libs = ['*mumps', 'mumps_common', 'pord']
- return find_libraries(['lib' + comp for comp in component_libs],
- root=self.prefix.lib,
- shared=('+shared' in self.spec),
- recursive=False) or None
+ component_libs = ["*mumps", "mumps_common", "pord"]
+ return (
+ find_libraries(
+ ["lib" + comp for comp in component_libs],
+ root=self.prefix.lib,
+ shared=("+shared" in self.spec),
+ recursive=False,
+ )
+ or None
+ )
diff --git a/var/spack/repos/builtin/packages/munge/package.py b/var/spack/repos/builtin/packages/munge/package.py
index 1d4f3e9240..d7fecf281c 100644
--- a/var/spack/repos/builtin/packages/munge/package.py
+++ b/var/spack/repos/builtin/packages/munge/package.py
@@ -9,30 +9,38 @@ from spack.package import *
class Munge(AutotoolsPackage):
- """ MUNGE Uid 'N' Gid Emporium """
- homepage = "https://dun.github.io/munge/"
- url = "https://github.com/dun/munge/releases/download/munge-0.5.14/munge-0.5.14.tar.xz"
- maintainers = ['ChristianTackeGSI']
-
- version('0.5.15', sha256='3f979df117a34c74db8fe2835521044bdeb08e3b7d0f168ca97c3547f51da9ba')
- version('0.5.14', sha256='6606a218f18090fa1f702e3f6fb608073eb6aafed534cf7dd81b67b2e0d30640')
- version('0.5.13', sha256='99753dfd06a4f063c36f3fb0eb1964f394feb649937d94c4734d85b7964144da')
- version('0.5.12', sha256='e972e3c3e947995a99e023f5758047db16cfe2f0c2c9ca76399dc1511fa71be8')
- version('0.5.11', sha256='8e075614f81cb0a6df21a0aafdc825498611a04429d0876f074fc828739351a5',
- url='https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2')
+ """MUNGE Uid 'N' Gid Emporium"""
- variant('localstatedir', default='PREFIX/var', values=any,
- description='Set local state path (possibly to /var)')
-
- depends_on('openssl')
- depends_on('libgcrypt')
- depends_on('bzip2')
+ homepage = "https://dun.github.io/munge/"
+ url = "https://github.com/dun/munge/releases/download/munge-0.5.14/munge-0.5.14.tar.xz"
+ maintainers = ["ChristianTackeGSI"]
+
+ version("0.5.15", sha256="3f979df117a34c74db8fe2835521044bdeb08e3b7d0f168ca97c3547f51da9ba")
+ version("0.5.14", sha256="6606a218f18090fa1f702e3f6fb608073eb6aafed534cf7dd81b67b2e0d30640")
+ version("0.5.13", sha256="99753dfd06a4f063c36f3fb0eb1964f394feb649937d94c4734d85b7964144da")
+ version("0.5.12", sha256="e972e3c3e947995a99e023f5758047db16cfe2f0c2c9ca76399dc1511fa71be8")
+ version(
+ "0.5.11",
+ sha256="8e075614f81cb0a6df21a0aafdc825498611a04429d0876f074fc828739351a5",
+ url="https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2",
+ )
+
+ variant(
+ "localstatedir",
+ default="PREFIX/var",
+ values=any,
+ description="Set local state path (possibly to /var)",
+ )
+
+ depends_on("openssl")
+ depends_on("libgcrypt")
+ depends_on("bzip2")
def configure_args(self):
args = []
- localstatedir = self.spec.variants['localstatedir'].value
- if localstatedir != 'PREFIX/var':
- args.append('--localstatedir={0}'.format(localstatedir))
+ localstatedir = self.spec.variants["localstatedir"].value
+ if localstatedir != "PREFIX/var":
+ args.append("--localstatedir={0}".format(localstatedir))
return args
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/muparser/package.py b/var/spack/repos/builtin/packages/muparser/package.py
index f2a938cc61..2d72cc487d 100644
--- a/var/spack/repos/builtin/packages/muparser/package.py
+++ b/var/spack/repos/builtin/packages/muparser/package.py
@@ -8,42 +8,40 @@ from spack.package import *
class Muparser(Package):
"""C++ math expression parser library."""
+
homepage = "https://beltoforion.de/en/muparser/"
- url = "https://github.com/beltoforion/muparser/archive/v2.2.5.tar.gz"
+ url = "https://github.com/beltoforion/muparser/archive/v2.2.5.tar.gz"
- version('2.2.6.1', sha256='d2562853d972b6ddb07af47ce8a1cdeeb8bb3fa9e8da308746de391db67897b3')
- version('2.2.5', sha256='0666ef55da72c3e356ca85b6a0084d56b05dd740c3c21d26d372085aa2c6e708')
+ version("2.2.6.1", sha256="d2562853d972b6ddb07af47ce8a1cdeeb8bb3fa9e8da308746de391db67897b3")
+ version("2.2.5", sha256="0666ef55da72c3e356ca85b6a0084d56b05dd740c3c21d26d372085aa2c6e708")
# Replace std::auto_ptr by std::unique_ptr
# https://github.com/beltoforion/muparser/pull/46
- patch('auto_ptr.patch',
- when='@2.2.5')
+ patch("auto_ptr.patch", when="@2.2.5")
- depends_on('cmake@3.1.0:', when='@2.2.6:', type='build')
+ depends_on("cmake@3.1.0:", when="@2.2.6:", type="build")
# Cmake build since 2.2.6
- @when('@2.2.6:')
+ @when("@2.2.6:")
def install(self, spec, prefix):
- cmake_args = [
- '-DENABLE_SAMPLES=OFF',
- '-DENABLE_OPENMP=OFF',
- '-DBUILD_SHARED_LIBS=ON'
- ]
+ cmake_args = ["-DENABLE_SAMPLES=OFF", "-DENABLE_OPENMP=OFF", "-DBUILD_SHARED_LIBS=ON"]
cmake_args.extend(std_cmake_args)
- with working_dir('spack-build', create=True):
- cmake('..', *cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *cmake_args)
make()
- make('install')
+ make("install")
- @when('@2.2.5')
+ @when("@2.2.5")
def install(self, spec, prefix):
- options = ['--disable-debug',
- '--disable-samples',
- '--disable-dependency-tracking',
- 'CXXFLAGS={0}'.format(self.compiler.cxx11_flag),
- '--prefix=%s' % prefix]
+ options = [
+ "--disable-debug",
+ "--disable-samples",
+ "--disable-dependency-tracking",
+ "CXXFLAGS={0}".format(self.compiler.cxx11_flag),
+ "--prefix=%s" % prefix,
+ ]
configure(*options)
diff --git a/var/spack/repos/builtin/packages/muparserx/package.py b/var/spack/repos/builtin/packages/muparserx/package.py
index aa36dfb914..ffb4503673 100644
--- a/var/spack/repos/builtin/packages/muparserx/package.py
+++ b/var/spack/repos/builtin/packages/muparserx/package.py
@@ -9,9 +9,9 @@ from spack.package import *
class Muparserx(CMakePackage):
"""A C++ Library for Parsing Expressions with Strings, Complex
- Numbers, Vectors, Matrices and more. """
+ Numbers, Vectors, Matrices and more."""
homepage = "https://beltoforion.de/en/muparserx/"
- url = "https://github.com/beltoforion/muparserx/archive/refs/tags/v4.0.8.tar.gz"
+ url = "https://github.com/beltoforion/muparserx/archive/refs/tags/v4.0.8.tar.gz"
- version('4.0.8', sha256='5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1')
+ version("4.0.8", sha256="5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1")
diff --git a/var/spack/repos/builtin/packages/muscle/package.py b/var/spack/repos/builtin/packages/muscle/package.py
index 9959886c6e..107973122e 100644
--- a/var/spack/repos/builtin/packages/muscle/package.py
+++ b/var/spack/repos/builtin/packages/muscle/package.py
@@ -8,40 +8,40 @@ from spack.package import *
class Muscle(MakefilePackage):
"""MUSCLE is one of the best-performing multiple alignment programs
- according to published benchmark tests, with accuracy and speed
- that are consistently better than CLUSTALW."""
+ according to published benchmark tests, with accuracy and speed
+ that are consistently better than CLUSTALW."""
homepage = "https://drive5.com/muscle/"
- version('3.8.31', sha256='43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad')
- version('3.8.1551', sha256='c70c552231cd3289f1bad51c9bd174804c18bb3adcf47f501afec7a68f9c482e')
+ version("3.8.31", sha256="43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad")
+ version("3.8.1551", sha256="c70c552231cd3289f1bad51c9bd174804c18bb3adcf47f501afec7a68f9c482e")
@property
def build_directory(self):
- if self.spec.satisfies('@3.8.31'):
- return 'src'
+ if self.spec.satisfies("@3.8.31"):
+ return "src"
else:
- return '.'
+ return "."
def url_for_version(self, version):
- fmt_new = 'https://drive5.com/muscle/downloads{0}/muscle{0}_src.tar.gz'
- fmt_old = 'https://drive5.com/muscle/muscle_src_{0}.tar.gz'
+ fmt_new = "https://drive5.com/muscle/downloads{0}/muscle{0}_src.tar.gz"
+ fmt_old = "https://drive5.com/muscle/muscle_src_{0}.tar.gz"
- if version == Version('3.8.31'):
+ if version == Version("3.8.31"):
return fmt_new.format(version.dotted)
else:
return fmt_old.format(version.dotted)
def edit(self, spec, prefix):
- mkfile_name = 'Makefile'
+ mkfile_name = "Makefile"
- if self.spec.satisfies('@3.8.31'):
- mkfile_name = 'mk'
+ if self.spec.satisfies("@3.8.31"):
+ mkfile_name = "mk"
makefile = FileFilter(join_path(self.build_directory, mkfile_name))
- makefile.filter('-static', '')
- makefile.filter('-funroll-loops', '')
+ makefile.filter("-static", "")
+ makefile.filter("-funroll-loops", "")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path(self.build_directory, 'muscle'), prefix.bin)
+ install(join_path(self.build_directory, "muscle"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/muse/package.py b/var/spack/repos/builtin/packages/muse/package.py
index af9544899f..c350602ba2 100644
--- a/var/spack/repos/builtin/packages/muse/package.py
+++ b/var/spack/repos/builtin/packages/muse/package.py
@@ -10,12 +10,12 @@ class Muse(MakefilePackage):
"""Somatic point mutation caller."""
homepage = "https://bioinformatics.mdanderson.org/main/MuSE"
- url = "https://github.com/danielfan/MuSE/archive/v1.0-rc.tar.gz"
+ url = "https://github.com/danielfan/MuSE/archive/v1.0-rc.tar.gz"
- version('1.0-rc', sha256='b48b8be0044a2249bdc0b625fe0192c65089c598bbd1b1142902dfa81e804023')
+ version("1.0-rc", sha256="b48b8be0044a2249bdc0b625fe0192c65089c598bbd1b1142902dfa81e804023")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('MuSE', prefix.bin.MuSE)
+ install("MuSE", prefix.bin.MuSE)
diff --git a/var/spack/repos/builtin/packages/music/package.py b/var/spack/repos/builtin/packages/music/package.py
index b999da1e9d..7fc225765d 100644
--- a/var/spack/repos/builtin/packages/music/package.py
+++ b/var/spack/repos/builtin/packages/music/package.py
@@ -17,7 +17,7 @@ class Music(CMakePackage):
"""
homepage = "https://www-n.oca.eu/ohahn/MUSIC/"
- git = "https://bitbucket.org/ohahn/music.git"
+ git = "https://bitbucket.org/ohahn/music.git"
maintainers = ["charmoniumQ"]
@@ -38,9 +38,7 @@ class Music(CMakePackage):
depends_on("hdf5", when="+hdf5")
def cmake_args(self):
- return [
- self.define_from_variant("MUSIC_ENABLE_SINGLE_PRECISION", "single_prec")
- ]
+ return [self.define_from_variant("MUSIC_ENABLE_SINGLE_PRECISION", "single_prec")]
def install(self, spec, prefix):
music_exe = os.path.join(self.build_directory, "MUSIC")
diff --git a/var/spack/repos/builtin/packages/musl/package.py b/var/spack/repos/builtin/packages/musl/package.py
index 0fad147a1b..ac485b5499 100644
--- a/var/spack/repos/builtin/packages/musl/package.py
+++ b/var/spack/repos/builtin/packages/musl/package.py
@@ -24,36 +24,34 @@ class Musl(MakefilePackage):
standards-conformance and safety."""
homepage = "https://www.musl-libc.org"
- url = "https://www.musl-libc.org/releases/musl-1.1.23.tar.gz"
-
- version('1.2.3', sha256='7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4')
- version('1.2.2', sha256='9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd')
- version('1.2.1', sha256='68af6e18539f646f9c41a3a2bb25be4a5cfa5a8f65f0bb647fd2bbfdf877e84b')
- version('1.2.0', sha256='c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8')
- version('1.1.24', sha256='1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3')
- version('1.1.23', sha256='8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa')
- version('1.1.22', sha256='8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3')
- version('1.1.21', sha256='c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44')
- version('1.1.20', sha256='44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61')
+ url = "https://www.musl-libc.org/releases/musl-1.1.23.tar.gz"
+
+ version("1.2.3", sha256="7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4")
+ version("1.2.2", sha256="9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd")
+ version("1.2.1", sha256="68af6e18539f646f9c41a3a2bb25be4a5cfa5a8f65f0bb647fd2bbfdf877e84b")
+ version("1.2.0", sha256="c6de7b191139142d3f9a7b5b702c9cae1b5ee6e7f57e582da9328629408fd4e8")
+ version("1.1.24", sha256="1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3")
+ version("1.1.23", sha256="8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa")
+ version("1.1.22", sha256="8b0941a48d2f980fd7036cfbd24aa1d414f03d9a0652ecbd5ec5c7ff1bee29e3")
+ version("1.1.21", sha256="c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44")
+ version("1.1.20", sha256="44be8771d0e6c6b5f82dd15662eb2957c9a3173a19a8b49966ac0542bbd40d61")
def patch(self):
- config = FileFilter('configure')
- if self.compiler.name == 'gcc':
- config.filter("WRAPCC_GCC = .*'", "WRAPCC_GCC = {0}'".
- format(self.compiler.cc))
- elif self.compiler.name in ('clang', 'apple-clang'):
- config.filter("WRAPCC_CLANG = .*'", "WRAPCC_CLANG = {0}'".
- format(self.compiler.cc))
+ config = FileFilter("configure")
+ if self.compiler.name == "gcc":
+ config.filter("WRAPCC_GCC = .*'", "WRAPCC_GCC = {0}'".format(self.compiler.cc))
+ elif self.compiler.name in ("clang", "apple-clang"):
+ config.filter("WRAPCC_CLANG = .*'", "WRAPCC_CLANG = {0}'".format(self.compiler.cc))
def configure_args(self):
- args = ['--prefix={0}'.format(self.prefix)]
- if self.compiler.name == 'gcc':
- args.append('--enable-wrapper=gcc')
- elif self.compiler.name in ('clang', 'apple-clang'):
- args.append('--enable-wrapper=clang')
+ args = ["--prefix={0}".format(self.prefix)]
+ if self.compiler.name == "gcc":
+ args.append("--enable-wrapper=gcc")
+ elif self.compiler.name in ("clang", "apple-clang"):
+ args.append("--enable-wrapper=clang")
else:
- args.append('--enable-wrapper=no')
- args.append('--syslibdir={0}'.format(self.prefix.lib))
+ args.append("--enable-wrapper=no")
+ args.append("--syslibdir={0}".format(self.prefix.lib))
return args
def edit(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/muster/package.py b/var/spack/repos/builtin/packages/muster/package.py
index 328ee41522..13fafa71ed 100644
--- a/var/spack/repos/builtin/packages/muster/package.py
+++ b/var/spack/repos/builtin/packages/muster/package.py
@@ -8,17 +8,18 @@ from spack.package import *
class Muster(CMakePackage):
"""The Muster library provides implementations of sequential and
- parallel K-Medoids clustering algorithms. It is intended as a
- general framework for parallel cluster analysis, particularly
- for performance data analysis on systems with very large
- numbers of processes.
+ parallel K-Medoids clustering algorithms. It is intended as a
+ general framework for parallel cluster analysis, particularly
+ for performance data analysis on systems with very large
+ numbers of processes.
"""
+
homepage = "https://github.com/llnl/muster"
- url = "https://github.com/llnl/muster/archive/v1.0.tar.gz"
+ url = "https://github.com/llnl/muster/archive/v1.0.tar.gz"
- version('1.0.1', sha256='71e2fcdd7abf7ae5cc648a5f310e1c5369e4889718eab2a045e747c590d2dd71')
- version('1.0', sha256='370a670419e391494fcca0294882ee5f83c5d8af94ca91ac4182235332bd56d6')
+ version("1.0.1", sha256="71e2fcdd7abf7ae5cc648a5f310e1c5369e4889718eab2a045e747c590d2dd71")
+ version("1.0", sha256="370a670419e391494fcca0294882ee5f83c5d8af94ca91ac4182235332bd56d6")
- depends_on('boost+exception+serialization+random')
- depends_on('mpi')
- depends_on('cmake@2.8:', type='build')
+ depends_on("boost+exception+serialization+random")
+ depends_on("mpi")
+ depends_on("cmake@2.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/mutationpp/package.py b/var/spack/repos/builtin/packages/mutationpp/package.py
index 9db657892e..0e33e676c5 100644
--- a/var/spack/repos/builtin/packages/mutationpp/package.py
+++ b/var/spack/repos/builtin/packages/mutationpp/package.py
@@ -16,37 +16,37 @@ class Mutationpp(CMakePackage):
transfer properties associated with subsonic to hypersonic flows."""
homepage = "https://github.com/mutationpp/Mutationpp"
- url = "https://github.com/mutationpp/Mutationpp/archive/v0.3.1.tar.gz"
+ url = "https://github.com/mutationpp/Mutationpp/archive/v0.3.1.tar.gz"
- version('1.0.0', sha256='928df99accd1a02706a57246edeef8ebbf3bd91bb40492258ee18b810a7e0194')
- version('0.3.1', sha256='a6da2816e145ac9fcfbd8920595b7f65ce7bc8df0bec572b32647720758cbe69')
+ version("1.0.0", sha256="928df99accd1a02706a57246edeef8ebbf3bd91bb40492258ee18b810a7e0194")
+ version("0.3.1", sha256="a6da2816e145ac9fcfbd8920595b7f65ce7bc8df0bec572b32647720758cbe69")
- variant('fortran', default=True, description='Enable Fortran interface')
- variant('data', default=True, description='Install default model data')
- variant('examples', default=True, description='Install examples')
+ variant("fortran", default=True, description="Enable Fortran interface")
+ variant("data", default=True, description="Install default model data")
+ variant("examples", default=True, description="Install examples")
def cmake_args(self):
args = []
- if '+fortran' in self.spec:
- args.append('-DBUILD_FORTRAN_WRAPPER=ON')
+ if "+fortran" in self.spec:
+ args.append("-DBUILD_FORTRAN_WRAPPER=ON")
return args
- @run_after('install')
+ @run_after("install")
def install_data(self):
- if '+data' in self.spec and os.path.isdir('data'):
- install_tree('data', self.prefix.data)
+ if "+data" in self.spec and os.path.isdir("data"):
+ install_tree("data", self.prefix.data)
- @run_after('install')
+ @run_after("install")
def install_examples(self):
- if '+examples' in self.spec and os.path.isdir('examples'):
- install_tree('examples', self.prefix.examples)
+ if "+examples" in self.spec and os.path.isdir("examples"):
+ install_tree("examples", self.prefix.examples)
def setup_run_environment(self, env):
- env.set('MPP_DIRECTORY', self.prefix)
+ env.set("MPP_DIRECTORY", self.prefix)
if os.path.isdir(self.prefix.data):
- env.set('MPP_DATA_DIRECTORY', self.prefix.data)
+ env.set("MPP_DATA_DIRECTORY", self.prefix.data)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('MPP_DIRECTORY', self.prefix)
+ env.set("MPP_DIRECTORY", self.prefix)
if os.path.isdir(self.prefix.data):
- env.set('MPP_DATA_DIRECTORY', self.prefix.data)
+ env.set("MPP_DATA_DIRECTORY", self.prefix.data)
diff --git a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
index 4e16fb5730..f8a6f8f127 100644
--- a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
@@ -18,100 +18,76 @@ class Mvapich2Gdr(AutotoolsPackage):
http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2-gdr/
"""
- homepage = 'http://mvapich.cse.ohio-state.edu'
- url = 'http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2-gdr/mvapich2-gdr-2.3.6.tar.gz'
+ homepage = "http://mvapich.cse.ohio-state.edu"
+ url = "http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2-gdr/mvapich2-gdr-2.3.6.tar.gz"
- maintainers = ['ndcontini', 'natshineman', 'harisubramoni']
+ maintainers = ["ndcontini", "natshineman", "harisubramoni"]
- version('2.3.6', sha256='618408431348164c0824f3a72dc406763f169f7f5400f3cc15dfebf8d7166005')
- version('2.3.5', sha256='bcfe8197875405af0ddbf6462e585efc21668108bec9b481fe53616ad36a98b4')
- version('2.3.4', sha256='ed78101e6bb807e979213006ee5f20ff466369b01f96b6d1cf0c471baf7e35aa')
- version('2.3.3', sha256='9b7b5dd235dbf85099fba3b6f1ccb49bb755923efed66ddc335921f44cb1b8a8')
+ version("2.3.6", sha256="618408431348164c0824f3a72dc406763f169f7f5400f3cc15dfebf8d7166005")
+ version("2.3.5", sha256="bcfe8197875405af0ddbf6462e585efc21668108bec9b481fe53616ad36a98b4")
+ version("2.3.4", sha256="ed78101e6bb807e979213006ee5f20ff466369b01f96b6d1cf0c471baf7e35aa")
+ version("2.3.3", sha256="9b7b5dd235dbf85099fba3b6f1ccb49bb755923efed66ddc335921f44cb1b8a8")
- provides('mpi')
- provides('mpi@:3.1')
+ provides("mpi")
+ provides("mpi@:3.1")
variant(
- 'process_managers',
- description='The process manager to activate.',
- default='mpirun',
- values=('slurm', 'mpirun', 'pbs', 'jsrun'),
- multi=False
+ "process_managers",
+ description="The process manager to activate.",
+ default="mpirun",
+ values=("slurm", "mpirun", "pbs", "jsrun"),
+ multi=False,
)
variant(
- 'distribution',
- description='The type of fabric distribution.',
- default='stock-ofed',
- values=('stock-ofed', 'mofed4.5', 'mofed4.6', 'mofed4.7', 'mofed5.0'),
- multi=False
+ "distribution",
+ description="The type of fabric distribution.",
+ default="stock-ofed",
+ values=("stock-ofed", "mofed4.5", "mofed4.6", "mofed4.7", "mofed5.0"),
+ multi=False,
)
variant(
- 'pmi_version',
- description='The pmi version to be used with slurm. '
- 'Is ignored if set for mpirun or jsrun. '
- 'jsrun uses pmix regardless of chosen option.',
- default='pmi1',
- values=('pmi1', 'pmi2', 'pmix'),
- multi=False
+ "pmi_version",
+ description="The pmi version to be used with slurm. "
+ "Is ignored if set for mpirun or jsrun. "
+ "jsrun uses pmix regardless of chosen option.",
+ default="pmi1",
+ values=("pmi1", "pmi2", "pmix"),
+ multi=False,
)
- variant(
- 'mcast',
- description='Enable/Disable support for mcast',
- default=True
- )
+ variant("mcast", description="Enable/Disable support for mcast", default=True)
- variant(
- 'openacc',
- description='Enable/Disable support for openacc',
- default=False
- )
+ variant("openacc", description="Enable/Disable support for openacc", default=False)
- variant(
- 'core_direct',
- description='Enable/Disable support for core_direct',
- default=False
- )
+ variant("core_direct", description="Enable/Disable support for core_direct", default=False)
- variant(
- 'cuda',
- description='Enable/Disable support for cuda',
- default=True
- )
+ variant("cuda", description="Enable/Disable support for cuda", default=True)
- variant(
- 'rocm',
- description='Enable/Disable support for ROCM',
- default=False
- )
- conflicts('+rocm', when='@:2.3.4', msg='MVAPICH2-GDR only supports ROCm in version >= 2.3.5')
- conflicts('+cuda +rocm', msg='MVAPICH2-GDR can only be built with either CUDA or ROCm')
- conflicts('~cuda ~rocm', msg='MVAPICH2-GDR must be built with either CUDA or ROCm')
-
- depends_on('bison@3.4.2', type='build')
- depends_on('libpciaccess@0.13.5', when=(sys.platform != 'darwin'))
- depends_on('libxml2@2.9.10')
- depends_on('cuda@9.2.88:11.2.2', when='+cuda')
- depends_on('pmix@3.1.3', when='pmi_version=pmix')
- depends_on('hip@3.9.0:4.1.0', when='+rocm')
-
- filter_compiler_wrappers(
- 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
- )
+ variant("rocm", description="Enable/Disable support for ROCM", default=False)
+ conflicts("+rocm", when="@:2.3.4", msg="MVAPICH2-GDR only supports ROCm in version >= 2.3.5")
+ conflicts("+cuda +rocm", msg="MVAPICH2-GDR can only be built with either CUDA or ROCm")
+ conflicts("~cuda ~rocm", msg="MVAPICH2-GDR must be built with either CUDA or ROCm")
+
+ depends_on("bison@3.4.2", type="build")
+ depends_on("libpciaccess@0.13.5", when=(sys.platform != "darwin"))
+ depends_on("libxml2@2.9.10")
+ depends_on("cuda@9.2.88:11.2.2", when="+cuda")
+ depends_on("pmix@3.1.3", when="pmi_version=pmix")
+ depends_on("hip@3.9.0:4.1.0", when="+rocm")
+
+ filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpicxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpicxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
@property
def process_manager_options(self):
@@ -119,62 +95,57 @@ class Mvapich2Gdr(AutotoolsPackage):
opts = []
- if '~mcast' in spec:
- opts.append('--disable-mcast')
+ if "~mcast" in spec:
+ opts.append("--disable-mcast")
- if '+core_direct' in spec:
- opts.append('--with-core-direct')
+ if "+core_direct" in spec:
+ opts.append("--with-core-direct")
- if '+openacc' in spec:
- opts.append('--enable-openacc')
+ if "+openacc" in spec:
+ opts.append("--enable-openacc")
- if '+cuda' in spec:
- opts.append('--enable-cuda')
- opts.append('--disable-gl')
- opts.append('--with-cuda={0}'.format(spec['cuda'].prefix))
+ if "+cuda" in spec:
+ opts.append("--enable-cuda")
+ opts.append("--disable-gl")
+ opts.append("--with-cuda={0}".format(spec["cuda"].prefix))
- if '+rocm' in spec:
- opts.append('--enable-hip=basic')
- opts.append('--enable-rocm')
+ if "+rocm" in spec:
+ opts.append("--enable-hip=basic")
+ opts.append("--enable-rocm")
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
- if 'process_managers=slurm' in spec:
- opts.append('--with-pm=slurm')
- if 'pmi_version=pmi1' in spec:
- opts.append('--with-pmi=pmi1')
- if 'pmi_version=pmi2' in spec:
- opts.append('--with-pmi=pmi2')
- if 'pmi_version=pmix' in spec:
- opts.append('--with-pmi=pmix')
- opts.append('--with-pmix={0}'.format(spec['pmix'].prefix))
-
- elif 'process_managers=pbs' in spec:
- opts.append([
- '--with-pm=hydra',
- '--with-pbs=/opt/pbs'
- ])
-
- elif 'process_managers=jsrun' in spec:
- opts.append([
- '--with-pmi=pmix',
- '--with-pmix={0}'.format(spec['pmix'].prefix),
- '--with-pm=jsm'
- ])
+ if "process_managers=slurm" in spec:
+ opts.append("--with-pm=slurm")
+ if "pmi_version=pmi1" in spec:
+ opts.append("--with-pmi=pmi1")
+ if "pmi_version=pmi2" in spec:
+ opts.append("--with-pmi=pmi2")
+ if "pmi_version=pmix" in spec:
+ opts.append("--with-pmi=pmix")
+ opts.append("--with-pmix={0}".format(spec["pmix"].prefix))
+
+ elif "process_managers=pbs" in spec:
+ opts.append(["--with-pm=hydra", "--with-pbs=/opt/pbs"])
+
+ elif "process_managers=jsrun" in spec:
+ opts.append(
+ ["--with-pmi=pmix", "--with-pmix={0}".format(spec["pmix"].prefix), "--with-pm=jsm"]
+ )
return opts
def setup_build_environment(self, env):
# mvapich2 configure fails when F90 and F90FLAGS are set
- env.unset('F90')
- env.unset('F90FLAGS')
+ env.unset("F90")
+ env.unset("F90FLAGS")
def setup_run_environment(self, env):
- if 'pmi_version=pmi1' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmi1')
- if 'pmi_version=pmi2' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmi2')
- if 'pmi_version=pmix' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmix')
+ if "pmi_version=pmi1" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmi1")
+ if "pmi_version=pmi2" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmi2")
+ if "pmi_version=pmix" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmix")
# Because MPI functions as a compiler, we need to treat it as one and
# add its compiler paths to the run environment.
@@ -184,35 +155,35 @@ class Mvapich2Gdr(AutotoolsPackage):
self.setup_compiler_environment(env)
# use the Spack compiler wrappers under MPI
- env.set('MPICH_CC', spack_cc)
- env.set('MPICH_CXX', spack_cxx)
- env.set('MPICH_F77', spack_f77)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_compiler_environment(self, env):
- 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'))
+ 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_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.mpifc = join_path(self.prefix.bin, 'mpif90')
- self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.prefix.bin, "mpicxx")
+ self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
self.spec.mpicxx_shared_libs = [
- os.path.join(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- os.path.join(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ os.path.join(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ os.path.join(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
def configure_args(self):
args = [
- '--with-ch3-rank-bits=32',
- '--without-hydra-ckpointlib',
- '--disable-static',
- '--enable-shared',
- '--disable-rdma-cm'
+ "--with-ch3-rank-bits=32",
+ "--without-hydra-ckpointlib",
+ "--disable-static",
+ "--enable-shared",
+ "--disable-rdma-cm",
]
args.extend(self.process_manager_options)
return args
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index df71d0496c..d806260c99 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -19,38 +19,35 @@ class Mvapich2(AutotoolsPackage):
url = "https://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.7.tar.gz"
list_url = "https://mvapich.cse.ohio-state.edu/downloads/"
- maintainers = ['natshineman', 'harisubramoni', 'ndcontini']
+ maintainers = ["natshineman", "harisubramoni", "ndcontini"]
- executables = ['^mpiname$', '^mpichversion$']
+ executables = ["^mpiname$", "^mpichversion$"]
# Prefer the latest stable release
- version('2.3.7', sha256='4b6ad2c8c270e1fabcd073c49edb6bf95af93780f4a487bc48404a8ca384f34e')
- version('2.3.6', sha256='b3a62f2a05407191b856485f99da05f5e769d6381cd63e2fcb83ee98fc46a249')
- version('2.3.5', sha256='f9f467fec5fc981a89a7beee0374347b10c683023c76880f92a1a0ad4b961a8c')
- version('2.3.4', sha256='7226a45c7c98333c8e5d2888119cce186199b430c13b7b1dca1769909e68ea7a')
- version('2.3.3', sha256='41d3261be57e5bc8aabf4e32981543c015c5443ff032a26f18205985e18c2b73')
- version('2.3.2', sha256='30cc0d7bcaa075d204692f76bca4d65a539e0f661c7460ffa9f835d6249e1ebf')
- version('2.3.1', sha256='314e12829f75f3ed83cd4779a972572d1787aac6543a3d024ea7c6080e0ee3bf')
- version('2.3', sha256='01d5fb592454ddd9ecc17e91c8983b6aea0e7559aa38f410b111c8ef385b50dd')
- version('2.3rc2', sha256='dc3801f879a54358d17002a56afd45186e2e83edc5b8367b5c317e282eb6d6bf')
- version('2.3rc1', sha256='607d309c864a6d57f5fa78fe6dd02368919736b8be0f4ddb938aba303ef9c45c')
- version('2.3a', sha256='7f0bc94265de9f66af567a263b1be6ef01755f7f6aedd25303d640cc4d8b1cff')
- version('2.2', sha256='791a6fc2b23de63b430b3e598bf05b1b25b82ba8bf7e0622fc81ba593b3bb131')
- version('2.1', sha256='49f3225ad17d2f3b6b127236a0abdc979ca8a3efb8d47ab4b6cd4f5252d05d29')
-
- provides('mpi')
- provides('mpi@:3.1', when='@2.3:')
- provides('mpi@:3.0', when='@2.1:')
-
- variant('wrapperrpath', default=True, description='Enable wrapper rpath')
- variant('debug', default=False,
- description='Enable debug info and error messages at run-time')
-
- variant('cuda', default=False,
- description='Enable CUDA extension')
-
- variant('regcache', default=True,
- description='Enable memory registration cache')
+ version("2.3.7", sha256="4b6ad2c8c270e1fabcd073c49edb6bf95af93780f4a487bc48404a8ca384f34e")
+ version("2.3.6", sha256="b3a62f2a05407191b856485f99da05f5e769d6381cd63e2fcb83ee98fc46a249")
+ version("2.3.5", sha256="f9f467fec5fc981a89a7beee0374347b10c683023c76880f92a1a0ad4b961a8c")
+ version("2.3.4", sha256="7226a45c7c98333c8e5d2888119cce186199b430c13b7b1dca1769909e68ea7a")
+ version("2.3.3", sha256="41d3261be57e5bc8aabf4e32981543c015c5443ff032a26f18205985e18c2b73")
+ version("2.3.2", sha256="30cc0d7bcaa075d204692f76bca4d65a539e0f661c7460ffa9f835d6249e1ebf")
+ version("2.3.1", sha256="314e12829f75f3ed83cd4779a972572d1787aac6543a3d024ea7c6080e0ee3bf")
+ version("2.3", sha256="01d5fb592454ddd9ecc17e91c8983b6aea0e7559aa38f410b111c8ef385b50dd")
+ version("2.3rc2", sha256="dc3801f879a54358d17002a56afd45186e2e83edc5b8367b5c317e282eb6d6bf")
+ version("2.3rc1", sha256="607d309c864a6d57f5fa78fe6dd02368919736b8be0f4ddb938aba303ef9c45c")
+ version("2.3a", sha256="7f0bc94265de9f66af567a263b1be6ef01755f7f6aedd25303d640cc4d8b1cff")
+ version("2.2", sha256="791a6fc2b23de63b430b3e598bf05b1b25b82ba8bf7e0622fc81ba593b3bb131")
+ version("2.1", sha256="49f3225ad17d2f3b6b127236a0abdc979ca8a3efb8d47ab4b6cd4f5252d05d29")
+
+ provides("mpi")
+ provides("mpi@:3.1", when="@2.3:")
+ provides("mpi@:3.0", when="@2.1:")
+
+ variant("wrapperrpath", default=True, description="Enable wrapper rpath")
+ variant("debug", default=False, description="Enable debug info and error messages at run-time")
+
+ variant("cuda", default=False, description="Enable CUDA extension")
+
+ variant("regcache", default=True, description="Enable memory registration cache")
# Accepted values are:
# single - No threads (MPI_THREAD_SINGLE)
@@ -59,90 +56,92 @@ class Mvapich2(AutotoolsPackage):
# multiple - Fully multi-threaded (MPI_THREAD_MULTIPLE)
# runtime - Alias to "multiple"
variant(
- 'threads',
- default='multiple',
- values=('single', 'funneled', 'serialized', 'multiple'),
+ "threads",
+ default="multiple",
+ values=("single", "funneled", "serialized", "multiple"),
multi=False,
- description='Control the level of thread support'
+ description="Control the level of thread support",
)
# 32 is needed when job size exceeds 32768 cores
variant(
- 'ch3_rank_bits',
- default='32',
- values=('16', '32'),
+ "ch3_rank_bits",
+ default="32",
+ values=("16", "32"),
multi=False,
- description='Number of bits allocated to the rank field (16 or 32)'
+ description="Number of bits allocated to the rank field (16 or 32)",
)
variant(
- 'process_managers',
- description='List of the process managers to activate',
- values=disjoint_sets(
- ('auto',), ('slurm',), ('hydra', 'gforker', 'remshell')
- ).prohibit_empty_set().with_error(
- "'slurm' or 'auto' cannot be activated along with "
- "other process managers"
- ).with_default('auto').with_non_feature_values('auto'),
+ "process_managers",
+ description="List of the process managers to activate",
+ values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
+ .prohibit_empty_set()
+ .with_error("'slurm' or 'auto' cannot be activated along with " "other process managers")
+ .with_default("auto")
+ .with_non_feature_values("auto"),
)
variant(
- 'fabrics',
- description='Select the fabric to be enabled for this build.'
- 'If you have verbs (either from OFED or MOFED), PSM or PSM2 '
- 'installed on the system already, you may need to setup external '
- 'packages in the package.yaml file for rdma-core, psm or opa-psm2. '
- 'This is recommended to avoid unexpected runtime failures. For '
- 'more info, visit the homepage url.',
- default='mrail',
+ "fabrics",
+ description="Select the fabric to be enabled for this build."
+ "If you have verbs (either from OFED or MOFED), PSM or PSM2 "
+ "installed on the system already, you may need to setup external "
+ "packages in the package.yaml file for rdma-core, psm or opa-psm2. "
+ "This is recommended to avoid unexpected runtime failures. For "
+ "more info, visit the homepage url.",
+ default="mrail",
values=(
- 'psm', 'psm2', 'sock', 'nemesisib', 'nemesis', 'mrail',
- 'nemesisibtcp', 'nemesistcpib', 'nemesisofi'
- )
+ "psm",
+ "psm2",
+ "sock",
+ "nemesisib",
+ "nemesis",
+ "mrail",
+ "nemesisibtcp",
+ "nemesistcpib",
+ "nemesisofi",
+ ),
)
variant(
- 'alloca',
- default=False,
- description='Use alloca to allocate temporary memory if available'
+ "alloca", default=False, description="Use alloca to allocate temporary memory if available"
)
variant(
- 'file_systems',
- description='List of the ROMIO file systems to activate',
- values=auto_or_any_combination_of('lustre', 'gpfs', 'nfs', 'ufs'),
+ "file_systems",
+ description="List of the ROMIO file systems to activate",
+ values=auto_or_any_combination_of("lustre", "gpfs", "nfs", "ufs"),
)
- depends_on('findutils', type='build')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('zlib')
- depends_on('libpciaccess', when=(sys.platform != 'darwin'))
- depends_on('libxml2')
- depends_on('cuda', when='+cuda')
- depends_on('psm', when='fabrics=psm')
- depends_on('opa-psm2', when='fabrics=psm2')
- depends_on('rdma-core', when='fabrics=mrail')
- depends_on('rdma-core', when='fabrics=nemesisib')
- depends_on('rdma-core', when='fabrics=nemesistcpib')
- depends_on('rdma-core', when='fabrics=nemesisibtcp')
- depends_on('libfabric', when='fabrics=nemesisofi')
- depends_on('slurm', when='process_managers=slurm')
-
- conflicts('fabrics=psm2', when='@:2.1') # psm2 support was added at version 2.2
-
- filter_compiler_wrappers(
- 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
- )
+ depends_on("findutils", type="build")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("zlib")
+ depends_on("libpciaccess", when=(sys.platform != "darwin"))
+ depends_on("libxml2")
+ depends_on("cuda", when="+cuda")
+ depends_on("psm", when="fabrics=psm")
+ depends_on("opa-psm2", when="fabrics=psm2")
+ depends_on("rdma-core", when="fabrics=mrail")
+ depends_on("rdma-core", when="fabrics=nemesisib")
+ depends_on("rdma-core", when="fabrics=nemesistcpib")
+ depends_on("rdma-core", when="fabrics=nemesisibtcp")
+ depends_on("libfabric", when="fabrics=nemesisofi")
+ depends_on("slurm", when="process_managers=slurm")
+
+ conflicts("fabrics=psm2", when="@:2.1") # psm2 support was added at version 2.2
+
+ filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
@classmethod
def determine_version(cls, exe):
- if exe.endswith('mpichversion'):
+ if exe.endswith("mpichversion"):
output = Executable(exe)(output=str, error=str)
- match = re.search(r'^MVAPICH2 Version:\s*(\S+)', output)
- elif exe.endswith('mpiname'):
- output = Executable(exe)('-a', output=str, error=str)
- match = re.search(r'^MVAPICH2 (\S+)', output)
+ match = re.search(r"^MVAPICH2 Version:\s*(\S+)", output)
+ elif exe.endswith("mpiname"):
+ output = Executable(exe)("-a", output=str, error=str)
+ match = re.search(r"^MVAPICH2 (\S+)", output)
return match.group(1) if match else None
@classmethod
@@ -153,91 +152,91 @@ class Mvapich2(AutotoolsPackage):
if os.path.dirname(spack_compiler.cc) == path:
return spack_compiler.spec
return None
+
results = []
for exe in exes:
- variants = ''
- if exe.endswith('mpichversion'):
+ variants = ""
+ if exe.endswith("mpichversion"):
output = Executable(exe)(output=str, error=str)
- elif exe.endswith('mpiname'):
- output = Executable(exe)('-a', output=str, error=str)
+ elif exe.endswith("mpiname"):
+ output = Executable(exe)("-a", output=str, error=str)
- if re.search(r'--enable-wrapper-rpath=yes', output):
- variants += '+wrapperrpath'
+ if re.search(r"--enable-wrapper-rpath=yes", output):
+ variants += "+wrapperrpath"
else:
- variants += '~wrapperrpath'
-
- if (re.search(r'--disable-fast', output)
- and re.search(r'--enable-error-checking=runtime', output)
- and re.search(r'--enable-error-messages', output)
- and re.search(r'--enable-g', output)
- and re.search(r'--enable-debuginfo', output)):
- variants += '+debug'
+ variants += "~wrapperrpath"
+
+ if (
+ re.search(r"--disable-fast", output)
+ and re.search(r"--enable-error-checking=runtime", output)
+ and re.search(r"--enable-error-messages", output)
+ and re.search(r"--enable-g", output)
+ and re.search(r"--enable-debuginfo", output)
+ ):
+ variants += "+debug"
else:
- variants += '~debug'
+ variants += "~debug"
- if re.search('--enable-cuda', output):
- variants += '+cuda'
+ if re.search("--enable-cuda", output):
+ variants += "+cuda"
else:
- variants += '~cuda'
+ variants += "~cuda"
- if re.search('--enable-registration-cache', output):
- variants += '+regcache'
+ if re.search("--enable-registration-cache", output):
+ variants += "+regcache"
else:
- variants += '~regcache'
+ variants += "~regcache"
- match = re.search(r'--enable-threads=(\S+)', output)
+ match = re.search(r"--enable-threads=(\S+)", output)
if match:
variants += " threads=" + match.group(1)
- match = re.search(r'--with-ch3-rank-bits=(\S+)', output)
+ match = re.search(r"--with-ch3-rank-bits=(\S+)", output)
if match:
variants += " ch3_rank_bits=" + match.group(1)
pms = []
- if re.search(r'--with-pm=slurm', output):
- pms.append('slurm')
- if re.search(r'--with-pm=[A-Za-z0-9:]*hydra', output):
- pms.append('hydra')
- if re.search(r'--with-pm=[A-Za-z0-9:]*gforker', output):
- pms.append('gforker')
- if re.search(r'--with-pm=[A-Za-z0-9:]*remshell', output):
- pms.append('remshell')
+ if re.search(r"--with-pm=slurm", output):
+ pms.append("slurm")
+ if re.search(r"--with-pm=[A-Za-z0-9:]*hydra", output):
+ pms.append("hydra")
+ if re.search(r"--with-pm=[A-Za-z0-9:]*gforker", output):
+ pms.append("gforker")
+ if re.search(r"--with-pm=[A-Za-z0-9:]*remshell", output):
+ pms.append("remshell")
if pms:
variants += " process_managers=" + ",".join(pms)
fabrics = {
- 'sock': 'ch3:sock',
- 'nemesistcpib': 'ch3:nemesis:tcp,ib',
- 'nemesisibtcp': 'ch3:nemesis:ib,tcp',
- 'nemesisib': 'ch3:nemesis:ib',
- 'nemesis': 'ch3:nemesis',
- 'mrail': 'ch3:mrail',
- 'nemesisofi': 'ch3:nemesis:ofi',
+ "sock": "ch3:sock",
+ "nemesistcpib": "ch3:nemesis:tcp,ib",
+ "nemesisibtcp": "ch3:nemesis:ib,tcp",
+ "nemesisib": "ch3:nemesis:ib",
+ "nemesis": "ch3:nemesis",
+ "mrail": "ch3:mrail",
+ "nemesisofi": "ch3:nemesis:ofi",
}
for fabric_name, conf_flag in fabrics.items():
- if re.search(r'--with-device=' + conf_flag, output):
- variants += ' fabrics=' + fabric_name
+ if re.search(r"--with-device=" + conf_flag, output):
+ variants += " fabrics=" + fabric_name
break
else:
- if re.search(r'--with-device=psm', output):
- if re.search(r'--with-psm=', output):
- variants += ' fabrics=psm'
- elif re.search(r'--with-psm2=', output):
- variants += ' fabrics=psm2'
+ if re.search(r"--with-device=psm", output):
+ if re.search(r"--with-psm=", output):
+ variants += " fabrics=psm"
+ elif re.search(r"--with-psm2=", output):
+ variants += " fabrics=psm2"
used_fs = []
- for fs in ('lustre', 'gpfs', 'nfs', 'ufs'):
- if re.search(
- '--with-file-system=[a-zA-Z0-9+]*' + fs,
- output):
+ for fs in ("lustre", "gpfs", "nfs", "ufs"):
+ if re.search("--with-file-system=[a-zA-Z0-9+]*" + fs, output):
used_fs.append(fs)
if used_fs:
- variants += ' file_systems=' + ",".join(used_fs)
+ variants += " file_systems=" + ",".join(used_fs)
- match = re.search(r'CC: (\S+)', output)
+ match = re.search(r"CC: (\S+)", output)
if match:
- comp_spec = get_spack_compiler_spec(
- os.path.dirname(match.group(1)))
+ comp_spec = get_spack_compiler_spec(os.path.dirname(match.group(1)))
if comp_spec:
variants += " %" + str(comp_spec)
results.append(variants)
@@ -246,34 +245,32 @@ class Mvapich2(AutotoolsPackage):
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpicxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpicxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
@property
def process_manager_options(self):
spec = self.spec
other_pms = []
- for x in ('hydra', 'gforker', 'remshell'):
- if 'process_managers={0}'.format(x) in spec:
+ for x in ("hydra", "gforker", "remshell"):
+ if "process_managers={0}".format(x) in spec:
other_pms.append(x)
opts = []
if len(other_pms) > 0:
- opts = ['--with-pm=%s' % ':'.join(other_pms)]
+ opts = ["--with-pm=%s" % ":".join(other_pms)]
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
- if 'process_managers=slurm' in spec:
+ if "process_managers=slurm" in spec:
opts = [
- '--with-pmi=pmi2',
- '--with-pm=slurm',
- '--with-slurm={0}'.format(spec['slurm'].prefix),
+ "--with-pmi=pmi2",
+ "--with-pm=slurm",
+ "--with-slurm={0}".format(spec["slurm"].prefix),
]
return opts
@@ -282,32 +279,30 @@ class Mvapich2(AutotoolsPackage):
def network_options(self):
opts = []
# From here on I can suppose that only one variant has been selected
- if 'fabrics=psm' in self.spec:
- opts = [
- "--with-device=ch3:psm",
- "--with-psm={0}".format(self.spec['psm'].prefix)
- ]
- elif 'fabrics=psm2' in self.spec:
+ if "fabrics=psm" in self.spec:
+ opts = ["--with-device=ch3:psm", "--with-psm={0}".format(self.spec["psm"].prefix)]
+ elif "fabrics=psm2" in self.spec:
opts = [
"--with-device=ch3:psm",
- "--with-psm2={0}".format(self.spec['opa-psm2'].prefix)
+ "--with-psm2={0}".format(self.spec["opa-psm2"].prefix),
]
- elif 'fabrics=sock' in self.spec:
+ elif "fabrics=sock" in self.spec:
opts = ["--with-device=ch3:sock"]
- elif 'fabrics=nemesistcpib' in self.spec:
+ elif "fabrics=nemesistcpib" in self.spec:
opts = ["--with-device=ch3:nemesis:tcp,ib"]
- elif 'fabrics=nemesisibtcp' in self.spec:
+ elif "fabrics=nemesisibtcp" in self.spec:
opts = ["--with-device=ch3:nemesis:ib,tcp"]
- elif 'fabrics=nemesisib' in self.spec:
+ elif "fabrics=nemesisib" in self.spec:
opts = ["--with-device=ch3:nemesis:ib"]
- elif 'fabrics=nemesis' in self.spec:
+ elif "fabrics=nemesis" in self.spec:
opts = ["--with-device=ch3:nemesis"]
- elif 'fabrics=mrail' in self.spec:
- opts = ["--with-device=ch3:mrail", "--with-rdma=gen2",
- "--disable-mcast"]
- elif 'fabrics=nemesisofi' in self.spec:
- opts = ["--with-device=ch3:nemesis:ofi",
- "--with-ofi={0}".format(self.spec['libfabric'].prefix)]
+ elif "fabrics=mrail" in self.spec:
+ opts = ["--with-device=ch3:mrail", "--with-rdma=gen2", "--disable-mcast"]
+ elif "fabrics=nemesisofi" in self.spec:
+ opts = [
+ "--with-device=ch3:nemesis:ofi",
+ "--with-ofi={0}".format(self.spec["libfabric"].prefix),
+ ]
return opts
@property
@@ -315,36 +310,36 @@ class Mvapich2(AutotoolsPackage):
spec = self.spec
fs = []
- for x in ('lustre', 'gpfs', 'nfs', 'ufs'):
- if 'file_systems={0}'.format(x) in spec:
+ for x in ("lustre", "gpfs", "nfs", "ufs"):
+ if "file_systems={0}".format(x) in spec:
fs.append(x)
opts = []
if len(fs) > 0:
- opts.append('--with-file-system=%s' % '+'.join(fs))
+ opts.append("--with-file-system=%s" % "+".join(fs))
return opts
def flag_handler(self, name, flags):
- if name == 'fflags':
+ if name == "fflags":
# https://bugzilla.redhat.com/show_bug.cgi?id=1795817
- if self.spec.satisfies('%gcc@10:'):
+ if self.spec.satisfies("%gcc@10:"):
if flags is None:
flags = []
- flags.append('-fallow-argument-mismatch')
+ flags.append("-fallow-argument-mismatch")
return (flags, None, None)
def setup_build_environment(self, env):
# mvapich2 configure fails when F90 and F90FLAGS are set
- env.unset('F90')
- env.unset('F90FLAGS')
+ env.unset("F90")
+ env.unset("F90FLAGS")
def setup_run_environment(self, env):
- if 'process_managers=slurm' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmi2')
+ if "process_managers=slurm" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmi2")
- env.set('MPI_ROOT', self.prefix)
+ env.set("MPI_ROOT", self.prefix)
# Because MPI functions as a compiler, we need to treat it as one and
# add its compiler paths to the run environment.
@@ -354,98 +349,93 @@ class Mvapich2(AutotoolsPackage):
self.setup_compiler_environment(env)
# use the Spack compiler wrappers under MPI
- env.set('MPICH_CC', spack_cc)
- env.set('MPICH_CXX', spack_cxx)
- env.set('MPICH_F77', spack_f77)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_compiler_environment(self, env):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mvapich"
external_modules = self.spec.external_modules
- if external_modules and 'cray' in external_modules[0]:
- env.set('MPICC', spack_cc)
- env.set('MPICXX', spack_cxx)
- env.set('MPIF77', spack_fc)
- env.set('MPIF90', spack_fc)
+ if external_modules and "cray" in external_modules[0]:
+ env.set("MPICC", spack_cc)
+ env.set("MPICXX", spack_cxx)
+ env.set("MPIF77", spack_fc)
+ env.set("MPIF90", spack_fc)
else:
- 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'))
+ 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_package(self, module, dependent_spec):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mvapich"
external_modules = self.spec.external_modules
- if external_modules and 'cray' in external_modules[0]:
+ if external_modules and "cray" in external_modules[0]:
self.spec.mpicc = spack_cc
self.spec.mpicxx = spack_cxx
self.spec.mpifc = spack_fc
self.spec.mpif77 = spack_f77
else:
- self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
- self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx')
- self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
- self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.prefix.bin, "mpicxx")
+ self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
self.spec.mpicxx_shared_libs = [
- os.path.join(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- os.path.join(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ os.path.join(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ os.path.join(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
- @run_before('configure')
+ @run_before("configure")
def die_without_fortran(self):
# Until we can pass variants such as +fortran through virtual
# dependencies depends_on('mpi'), require Fortran compiler to
# avoid delayed build errors in dependents.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError(
- 'Mvapich2 requires both C and Fortran compilers!'
- )
+ raise InstallError("Mvapich2 requires both C and Fortran compilers!")
def configure_args(self):
spec = self.spec
args = [
- '--enable-shared',
- '--enable-romio',
- '--disable-silent-rules',
- '--disable-new-dtags',
- '--enable-fortran=all',
- "--enable-threads={0}".format(spec.variants['threads'].value),
- "--with-ch3-rank-bits={0}".format(
- spec.variants['ch3_rank_bits'].value),
- '--enable-wrapper-rpath={0}'.format('no' if '~wrapperrpath' in
- spec else 'yes')
+ "--enable-shared",
+ "--enable-romio",
+ "--disable-silent-rules",
+ "--disable-new-dtags",
+ "--enable-fortran=all",
+ "--enable-threads={0}".format(spec.variants["threads"].value),
+ "--with-ch3-rank-bits={0}".format(spec.variants["ch3_rank_bits"].value),
+ "--enable-wrapper-rpath={0}".format("no" if "~wrapperrpath" in spec else "yes"),
]
- args.extend(self.enable_or_disable('alloca'))
-
- if '+debug' in self.spec:
- args.extend([
- '--disable-fast',
- '--enable-error-checking=runtime',
- '--enable-error-messages=all',
- # Permits debugging with TotalView
- '--enable-g=dbg',
- '--enable-debuginfo'
- ])
+ args.extend(self.enable_or_disable("alloca"))
+
+ if "+debug" in self.spec:
+ args.extend(
+ [
+ "--disable-fast",
+ "--enable-error-checking=runtime",
+ "--enable-error-messages=all",
+ # Permits debugging with TotalView
+ "--enable-g=dbg",
+ "--enable-debuginfo",
+ ]
+ )
else:
- args.append('--enable-fast=all')
+ args.append("--enable-fast=all")
- if '+cuda' in self.spec:
- args.extend([
- '--enable-cuda',
- '--with-cuda={0}'.format(spec['cuda'].prefix)
- ])
+ if "+cuda" in self.spec:
+ args.extend(["--enable-cuda", "--with-cuda={0}".format(spec["cuda"].prefix)])
else:
- args.append('--disable-cuda')
+ args.append("--disable-cuda")
- if '+regcache' in self.spec:
- args.append('--enable-registration-cache')
+ if "+regcache" in self.spec:
+ args.append("--enable-registration-cache")
else:
- args.append('--disable-registration-cache')
+ args.append("--disable-registration-cache")
args.extend(self.process_manager_options)
args.extend(self.network_options)
diff --git a/var/spack/repos/builtin/packages/mvapich2x/package.py b/var/spack/repos/builtin/packages/mvapich2x/package.py
index 6bc36c22b9..c166eca7c6 100644
--- a/var/spack/repos/builtin/packages/mvapich2x/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2x/package.py
@@ -21,99 +21,131 @@ class Mvapich2x(AutotoolsPackage):
"""
homepage = "https://mvapich.cse.ohio-state.edu"
- url = "http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2x/mvapich2x-2.3.tar.gz"
+ url = "http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2x/mvapich2x-2.3.tar.gz"
- maintainers = ['natshineman', 'harisubramoni', 'ndcontini']
+ maintainers = ["natshineman", "harisubramoni", "ndcontini"]
- version('2.3', sha256='fc47070e2e9fac09b97022be2320200d732a0a4a820a2b51532b88f8ded14536', preferred=True)
- version('2.3rc3', sha256='85a9f1ea1a837d487e356f021ef6f3a4661ad270a0c5f54777b362ee4d45166f')
+ version(
+ "2.3",
+ sha256="fc47070e2e9fac09b97022be2320200d732a0a4a820a2b51532b88f8ded14536",
+ preferred=True,
+ )
+ version("2.3rc3", sha256="85a9f1ea1a837d487e356f021ef6f3a4661ad270a0c5f54777b362ee4d45166f")
- provides('mpi')
- provides('mpi@:3.1')
+ provides("mpi")
+ provides("mpi@:3.1")
variant(
- 'feature',
- description=('Feature descriptions are specified at: '
- 'https://mvapich.cse.ohio-state.edu/downloads/'),
- default='basic',
- values=('basic', 'basic-xpmem', 'advanced', 'advanced-xpmem'),
- multi=False
+ "feature",
+ description=(
+ "Feature descriptions are specified at: "
+ "https://mvapich.cse.ohio-state.edu/downloads/"
+ ),
+ default="basic",
+ values=("basic", "basic-xpmem", "advanced", "advanced-xpmem"),
+ multi=False,
)
variant(
- 'process_managers',
- description='List of the process managers to activate',
- default='mpirun',
- values=('slurm', 'mpirun', 'pbs', 'jsrun'),
- multi=False
+ "process_managers",
+ description="List of the process managers to activate",
+ default="mpirun",
+ values=("slurm", "mpirun", "pbs", "jsrun"),
+ multi=False,
)
variant(
- 'distribution',
- description='The type of distribution of the fabric.',
- default='stock-ofed',
- values=('stock-ofed', 'mofed4.5', 'mofed4.6', 'mofed4.7', 'mofed5.0',
- 'ifs10.6', 'ifs10.9'),
- multi=False
+ "distribution",
+ description="The type of distribution of the fabric.",
+ default="stock-ofed",
+ values=(
+ "stock-ofed",
+ "mofed4.5",
+ "mofed4.6",
+ "mofed4.7",
+ "mofed5.0",
+ "ifs10.6",
+ "ifs10.9",
+ ),
+ multi=False,
)
variant(
- 'pmi_version',
- description=('The pmi version to be used with slurm. This variant is '
- 'IGNORED if set for mpirun or jsrun. jsrun uses pmix '
- 'regardless of chosen option.'),
- default='pmi1',
- values=('pmi1', 'pmi2', 'pmix'),
- multi=False
+ "pmi_version",
+ description=(
+ "The pmi version to be used with slurm. This variant is "
+ "IGNORED if set for mpirun or jsrun. jsrun uses pmix "
+ "regardless of chosen option."
+ ),
+ default="pmi1",
+ values=("pmi1", "pmi2", "pmix"),
+ multi=False,
)
- depends_on('bison@3.4.2', type='build')
- depends_on('libpciaccess@0.13.5', when=(sys.platform != 'darwin'))
- depends_on('libxml2@2.9.10')
- depends_on('pmix@3.1.3', when='pmi_version=pmix')
+ depends_on("bison@3.4.2", type="build")
+ depends_on("libpciaccess@0.13.5", when=(sys.platform != "darwin"))
+ depends_on("libxml2@2.9.10")
+ depends_on("pmix@3.1.3", when="pmi_version=pmix")
- filter_compiler_wrappers(
- 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
- )
+ filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpicxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpicxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
@property
def process_feature_options(self):
spec = self.spec
opts = []
- if 'feature=basic' in spec:
- opts = ['--enable-mcast', '--enable-hybrid', '--enable-mpit-tool',
- '--enable-mpit-pvars=mv2']
- elif 'feature=basic-xpmem' in spec:
- opts = ['--enable-mcast', '--enable-hybrid', '--enable-mpit-tool',
- '--enable-mpit-pvars=mv2', '--with-xpmem=/opt/xpmem/']
- elif 'feature=advanced' in spec:
- opts = ['--enable-mcast', '--enable-hybrid', '--enable-mpit-tool',
- '--enable-mpit-pvars=mv2', '--with-core-direct',
- '--enable-dc', '--enable-umr']
- elif 'feature=advanced-xpmem' in spec:
- opts = ['--enable-mcast', '--enable-hybrid', '--enable-mpit-tool',
- '--enable-mpit-pvars=mv2', '--with-core-direct',
- '--enable-dc', '--enable-umr', '--with-xpmem=/opt/xpmem/']
+ if "feature=basic" in spec:
+ opts = [
+ "--enable-mcast",
+ "--enable-hybrid",
+ "--enable-mpit-tool",
+ "--enable-mpit-pvars=mv2",
+ ]
+ elif "feature=basic-xpmem" in spec:
+ opts = [
+ "--enable-mcast",
+ "--enable-hybrid",
+ "--enable-mpit-tool",
+ "--enable-mpit-pvars=mv2",
+ "--with-xpmem=/opt/xpmem/",
+ ]
+ elif "feature=advanced" in spec:
+ opts = [
+ "--enable-mcast",
+ "--enable-hybrid",
+ "--enable-mpit-tool",
+ "--enable-mpit-pvars=mv2",
+ "--with-core-direct",
+ "--enable-dc",
+ "--enable-umr",
+ ]
+ elif "feature=advanced-xpmem" in spec:
+ opts = [
+ "--enable-mcast",
+ "--enable-hybrid",
+ "--enable-mpit-tool",
+ "--enable-mpit-pvars=mv2",
+ "--with-core-direct",
+ "--enable-dc",
+ "--enable-umr",
+ "--with-xpmem=/opt/xpmem/",
+ ]
return opts
@property
def distribution_options(self):
opts = []
- if ('distribution=ifs10.6' in self.spec or
- 'distribution=ifs10.9' in self.spec):
+ if "distribution=ifs10.6" in self.spec or "distribution=ifs10.9" in self.spec:
opts = ["--with-device=ch3:psm"]
else:
opts = ["--with-device=ch3:mrail", "--with-rdma=gen2"]
@@ -124,39 +156,37 @@ class Mvapich2x(AutotoolsPackage):
spec = self.spec
opts = []
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
- if 'process_managers=slurm' in spec:
+ if "process_managers=slurm" in spec:
+ opts = ["--with-ch3-rank-bits=32", "--with-pm=slurm"]
+ if "pmi_version=pmi1" in spec:
+ opts.append("--with-pmi=pmi1")
+ if "pmi_version=pmi2" in spec:
+ opts.append("--with-pmi=pmi2")
+ if "pmi_version=pmix" in spec:
+ opts.append("--with-pmi=pmix")
+ opts.append("--with-pmix={0}".format(spec["pmix"].prefix))
+ elif "process_managers=pbs" in spec:
+ opts = ["--with-ch3-rank-bits=32", "--with-pbs=/opt/pbs", "--with-pm=hydra"]
+ elif "process_managers=jsrun" in spec:
opts = [
- '--with-ch3-rank-bits=32',
- '--with-pm=slurm'
+ "--with-ch3-rank-bits=32",
+ "--with-pmi=pmix",
+ "--with-pmix={0}".format(["pmix"].prefix),
+ "--with-pm=jsm",
]
- if 'pmi_version=pmi1' in spec:
- opts.append('--with-pmi=pmi1')
- if 'pmi_version=pmi2' in spec:
- opts.append('--with-pmi=pmi2')
- if 'pmi_version=pmix' in spec:
- opts.append('--with-pmi=pmix')
- opts.append('--with-pmix={0}'.format(spec['pmix'].prefix))
- elif 'process_managers=pbs' in spec:
- opts = ['--with-ch3-rank-bits=32', '--with-pbs=/opt/pbs',
- '--with-pm=hydra']
- elif 'process_managers=jsrun' in spec:
- opts = ['--with-ch3-rank-bits=32', '--with-pmi=pmix',
- '--with-pmix={0}'.format(['pmix'].prefix),
- '--with-pm=jsm']
- opts.append('--disable-gl')
+ opts.append("--disable-gl")
return opts
@property
def construct_ldflags(self):
# LDFLAGS contributed by the process manager
spec = self.spec
- xpmem_ldflags = ''
- if ('feature=basic-xpmem' in spec or 'feature=advanced-xpmem' in spec):
- xpmem_ldflags = (' -Wl,-rpath,/opt/xpmem/lib '
- '-L/opt/xpmem/lib -lxpmem')
+ xpmem_ldflags = ""
+ if "feature=basic-xpmem" in spec or "feature=advanced-xpmem" in spec:
+ xpmem_ldflags = " -Wl,-rpath,/opt/xpmem/lib " "-L/opt/xpmem/lib -lxpmem"
# Add default LDFLAGS and combine together
- LDFLAGS = 'LDFLAGS=-Wl,-rpath,XORIGIN/placeholder'
+ LDFLAGS = "LDFLAGS=-Wl,-rpath,XORIGIN/placeholder"
LDFLAGS = LDFLAGS + xpmem_ldflags
return LDFLAGS
@@ -164,23 +194,23 @@ class Mvapich2x(AutotoolsPackage):
def construct_cflags(self):
# CFLAGS contributed by the feature
spec = self.spec
- cflags = 'CFLAGS='
- if ('feature=basic-xpmem' in spec or 'feature=advanced-xpmem' in spec):
- cflags = cflags + '-I/opt/xpmem/include'
+ cflags = "CFLAGS="
+ if "feature=basic-xpmem" in spec or "feature=advanced-xpmem" in spec:
+ cflags = cflags + "-I/opt/xpmem/include"
return cflags
def setup_build_environment(self, env):
# mvapich2 configure fails when F90 and F90FLAGS are set
- env.unset('F90')
- env.unset('F90FLAGS')
+ env.unset("F90")
+ env.unset("F90FLAGS")
def setup_run_environment(self, env):
- if 'pmi_version=pmi1' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmi1')
- if 'pmi_version=pmi2' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmi2')
- if 'pmi_version=pmix' in self.spec:
- env.set('SLURM_MPI_TYPE', 'pmix')
+ if "pmi_version=pmi1" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmi1")
+ if "pmi_version=pmi2" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmi2")
+ if "pmi_version=pmix" in self.spec:
+ env.set("SLURM_MPI_TYPE", "pmix")
# Because MPI functions as a compiler, we need to treat it as one and
# add its compiler paths to the run environment.
@@ -190,37 +220,37 @@ class Mvapich2x(AutotoolsPackage):
self.setup_compiler_environment(env)
# use the Spack compiler wrappers under MPI
- env.set('MPICH_CC', spack_cc)
- env.set('MPICH_CXX', spack_cxx)
- env.set('MPICH_F77', spack_f77)
- env.set('MPICH_F90', spack_fc)
- env.set('MPICH_FC', spack_fc)
+ env.set("MPICH_CC", spack_cc)
+ env.set("MPICH_CXX", spack_cxx)
+ env.set("MPICH_F77", spack_f77)
+ env.set("MPICH_F90", spack_fc)
+ env.set("MPICH_FC", spack_fc)
def setup_compiler_environment(self, env):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mvapich"
- 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'))
+ 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_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.mpifc = join_path(self.prefix.bin, 'mpif90')
- self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.prefix.bin, "mpicxx")
+ self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
self.spec.mpicxx_shared_libs = [
- os.path.join(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- os.path.join(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ os.path.join(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ os.path.join(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
def configure_args(self):
args = [
- '--enable-ucr',
- '--disable-static',
- '--enable-shared',
- '--disable-rdma-cm',
- '--without-hydra-ckpointlib'
+ "--enable-ucr",
+ "--disable-static",
+ "--enable-shared",
+ "--disable-rdma-cm",
+ "--without-hydra-ckpointlib",
]
args.extend(self.process_manager_options)
args.extend(self.distribution_options)
diff --git a/var/spack/repos/builtin/packages/mxm/package.py b/var/spack/repos/builtin/packages/mxm/package.py
index 3d1f874cff..e0cbe787ef 100644
--- a/var/spack/repos/builtin/packages/mxm/package.py
+++ b/var/spack/repos/builtin/packages/mxm/package.py
@@ -11,10 +11,10 @@ class Mxm(Package):
communication libraries by fully utilizing the underlying networking
infrastructure provided by Mellanox HCA/switch hardware."""
- homepage = 'https://www.mellanox.com/products/mxm'
+ homepage = "https://www.mellanox.com/products/mxm"
has_code = False
- version('3.6.3104')
+ version("3.6.3104")
# MXM needs to be added as an external package to SPACK. For this, the
# config file packages.yaml needs to be adjusted:
@@ -28,5 +28,8 @@ class Mxm(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py
index 608528ee9c..12b819fa7b 100644
--- a/var/spack/repos/builtin/packages/mxml/package.py
+++ b/var/spack/repos/builtin/packages/mxml/package.py
@@ -13,22 +13,26 @@ class Mxml(AutotoolsPackage):
"""
homepage = "https://michaelrsweet.github.io/mxml/"
- url = "https://github.com/michaelrsweet/mxml/releases/download/release-2.10/mxml-2.10.tar.gz"
+ url = "https://github.com/michaelrsweet/mxml/releases/download/release-2.10/mxml-2.10.tar.gz"
- version('2.10', sha256='267ff58b64ddc767170d71dab0c729c06f45e1df9a9b6f75180b564f09767891')
- version('2.9', sha256='cded54653c584b24c4a78a7fa1b3b4377d49ac4f451ddf170ebbc8161d85ff92')
- version('2.8', sha256='0c9369f91a718d82e32cb007c0bd41b6642822c9a0ffe1d10eccbdea9a3011d5')
+ version("2.10", sha256="267ff58b64ddc767170d71dab0c729c06f45e1df9a9b6f75180b564f09767891")
+ version("2.9", sha256="cded54653c584b24c4a78a7fa1b3b4377d49ac4f451ddf170ebbc8161d85ff92")
+ version("2.8", sha256="0c9369f91a718d82e32cb007c0bd41b6642822c9a0ffe1d10eccbdea9a3011d5")
def url_for_version(self, version):
- if version <= Version('2.7'):
- return 'https://github.com/michaelrsweet/mxml/archive/release-{0}.tar.gz'.format(version)
+ if version <= Version("2.7"):
+ return "https://github.com/michaelrsweet/mxml/archive/release-{0}.tar.gz".format(
+ version
+ )
else:
- return 'https://github.com/michaelrsweet/mxml/releases/download/release-{0}/mxml-{0}.tar.gz'.format(version)
+ return "https://github.com/michaelrsweet/mxml/releases/download/release-{0}/mxml-{0}.tar.gz".format(
+ version
+ )
def configure_args(self):
return [
# ADIOS build with -fPIC, so we need it too (avoid linkage issue)
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag),
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag),
# Default is non-shared, but avoid any future surprises
- '--disable-shared',
+ "--disable-shared",
]
diff --git a/var/spack/repos/builtin/packages/mxnet/package.py b/var/spack/repos/builtin/packages/mxnet/package.py
index 98e6b0dcec..90d5db3197 100644
--- a/var/spack/repos/builtin/packages/mxnet/package.py
+++ b/var/spack/repos/builtin/packages/mxnet/package.py
@@ -11,140 +11,176 @@ class Mxnet(CMakePackage, CudaPackage):
designed for both efficiency and flexibility."""
homepage = "https://mxnet.apache.org"
- url = "https://archive.apache.org/dist/incubator/mxnet/1.7.0/apache-mxnet-src-1.7.0-incubating.tar.gz"
+ url = "https://archive.apache.org/dist/incubator/mxnet/1.7.0/apache-mxnet-src-1.7.0-incubating.tar.gz"
list_url = "https://mxnet.apache.org/get_started/download"
- git = "https://github.com/apache/incubator-mxnet.git"
+ git = "https://github.com/apache/incubator-mxnet.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
import_modules = [
- 'mxnet', 'mxnet.numpy_extension', 'mxnet.optimizer', 'mxnet.module',
- 'mxnet.io', 'mxnet.cython', 'mxnet.ndarray', 'mxnet.gluon',
- 'mxnet.symbol', 'mxnet._cy3', 'mxnet.contrib', 'mxnet.numpy',
- 'mxnet._ffi', 'mxnet.image', 'mxnet.kvstore', 'mxnet.notebook',
- 'mxnet._ctypes', 'mxnet.rnn', 'mxnet.ndarray.numpy_extension',
- 'mxnet.ndarray.numpy', 'mxnet.gluon.nn', 'mxnet.gluon.model_zoo',
- 'mxnet.gluon.contrib', 'mxnet.gluon.data', 'mxnet.gluon.rnn',
- 'mxnet.gluon.model_zoo.vision', 'mxnet.gluon.contrib.nn',
- 'mxnet.gluon.contrib.estimator', 'mxnet.gluon.contrib.cnn',
- 'mxnet.gluon.contrib.data', 'mxnet.gluon.contrib.rnn',
- 'mxnet.gluon.data.vision', 'mxnet.symbol.numpy_extension',
- 'mxnet.symbol.numpy', 'mxnet.contrib.onnx',
- 'mxnet.contrib.svrg_optimization', 'mxnet.contrib.amp',
- 'mxnet.contrib.text', 'mxnet.contrib.onnx.mx2onnx',
- 'mxnet.contrib.onnx.onnx2mx', 'mxnet.contrib.amp.lists',
- 'mxnet._ffi._cy3', 'mxnet._ffi._ctypes'
+ "mxnet",
+ "mxnet.numpy_extension",
+ "mxnet.optimizer",
+ "mxnet.module",
+ "mxnet.io",
+ "mxnet.cython",
+ "mxnet.ndarray",
+ "mxnet.gluon",
+ "mxnet.symbol",
+ "mxnet._cy3",
+ "mxnet.contrib",
+ "mxnet.numpy",
+ "mxnet._ffi",
+ "mxnet.image",
+ "mxnet.kvstore",
+ "mxnet.notebook",
+ "mxnet._ctypes",
+ "mxnet.rnn",
+ "mxnet.ndarray.numpy_extension",
+ "mxnet.ndarray.numpy",
+ "mxnet.gluon.nn",
+ "mxnet.gluon.model_zoo",
+ "mxnet.gluon.contrib",
+ "mxnet.gluon.data",
+ "mxnet.gluon.rnn",
+ "mxnet.gluon.model_zoo.vision",
+ "mxnet.gluon.contrib.nn",
+ "mxnet.gluon.contrib.estimator",
+ "mxnet.gluon.contrib.cnn",
+ "mxnet.gluon.contrib.data",
+ "mxnet.gluon.contrib.rnn",
+ "mxnet.gluon.data.vision",
+ "mxnet.symbol.numpy_extension",
+ "mxnet.symbol.numpy",
+ "mxnet.contrib.onnx",
+ "mxnet.contrib.svrg_optimization",
+ "mxnet.contrib.amp",
+ "mxnet.contrib.text",
+ "mxnet.contrib.onnx.mx2onnx",
+ "mxnet.contrib.onnx.onnx2mx",
+ "mxnet.contrib.amp.lists",
+ "mxnet._ffi._cy3",
+ "mxnet._ffi._ctypes",
]
- version('master', branch='master', submodules=True)
- version('1.master', branch='v1.x', submodules=True)
- version('1.8.0', sha256='95aff985895aba409c08d5514510ae38b88490cfb6281ab3a5ff0f5826c8db54')
- version('1.7.0', sha256='1d20c9be7d16ccb4e830e9ee3406796efaf96b0d93414d676337b64bc59ced18')
- version('1.6.0', sha256='01eb06069c90f33469c7354946261b0a94824bbaf819fd5d5a7318e8ee596def')
- version('1.3.0', sha256='c00d6fbb2947144ce36c835308e603f002c1eb90a9f4c5a62f4d398154eed4d2', deprecated=True)
-
- variant('build_type', default='Distribution',
- description='CMake build type',
- values=('Distribution', 'Debug', 'Release',
- 'RelWithDebInfo', 'MinSizeRel'))
- variant('cuda', default=True, description='Enable CUDA support')
- variant('cudnn', default=True, description='Build with cudnn support')
- variant('nccl', default=False, description='Use NVidia NCCL with CUDA')
- variant('opencv', default=True, description='Enable OpenCV support')
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('lapack', default=True, description='Build with lapack support')
- variant('mkldnn', default=False, description='Build with MKL-DNN support')
- variant('python', default=True, description='Install python bindings')
-
- depends_on('cmake@3.13:', type='build')
- depends_on('ninja', type='build')
- depends_on('pkgconfig', when='@1.6.0', type='build')
- depends_on('blas')
- depends_on('cuda@:10.2', when='@:1.8.0 +cuda')
- depends_on('cuda@:11.3', when='@2.0.0: +cuda')
- depends_on('cudnn', when='+cudnn')
- depends_on('nccl', when='+nccl')
- depends_on('opencv+highgui+imgproc+imgcodecs', when='+opencv')
- depends_on('lapack', when='+lapack')
- depends_on('onednn', when='+mkldnn')
+ version("master", branch="master", submodules=True)
+ version("1.master", branch="v1.x", submodules=True)
+ version("1.8.0", sha256="95aff985895aba409c08d5514510ae38b88490cfb6281ab3a5ff0f5826c8db54")
+ version("1.7.0", sha256="1d20c9be7d16ccb4e830e9ee3406796efaf96b0d93414d676337b64bc59ced18")
+ version("1.6.0", sha256="01eb06069c90f33469c7354946261b0a94824bbaf819fd5d5a7318e8ee596def")
+ version(
+ "1.3.0",
+ sha256="c00d6fbb2947144ce36c835308e603f002c1eb90a9f4c5a62f4d398154eed4d2",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Distribution",
+ description="CMake build type",
+ values=("Distribution", "Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant("cuda", default=True, description="Enable CUDA support")
+ variant("cudnn", default=True, description="Build with cudnn support")
+ variant("nccl", default=False, description="Use NVidia NCCL with CUDA")
+ variant("opencv", default=True, description="Enable OpenCV support")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("lapack", default=True, description="Build with lapack support")
+ variant("mkldnn", default=False, description="Build with MKL-DNN support")
+ variant("python", default=True, description="Install python bindings")
+
+ depends_on("cmake@3.13:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("pkgconfig", when="@1.6.0", type="build")
+ depends_on("blas")
+ depends_on("cuda@:10.2", when="@:1.8.0 +cuda")
+ depends_on("cuda@:11.3", when="@2.0.0: +cuda")
+ depends_on("cudnn", when="+cudnn")
+ depends_on("nccl", when="+nccl")
+ depends_on("opencv+highgui+imgproc+imgcodecs", when="+opencv")
+ depends_on("lapack", when="+lapack")
+ depends_on("onednn", when="+mkldnn")
# python/setup.py
- extends('python', when='+python')
- depends_on('python@2.7:2.8,3.4:', when='@:1.8.0+python', type=('build', 'run'))
- depends_on('python@3.6:', when='@2.0.0:+python', type=('build', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-contextvars', when='@2.0.0:+python ^python@3.6.0:3.6', type=('build', 'run'))
- depends_on('py-setuptools', when='+python', type='build')
- depends_on('py-cython', when='+python', type='build')
- depends_on('py-numpy@1.17:', when='@2.0.0:+python', type=('build', 'run'))
- depends_on('py-numpy@1.16.1:1', when='@1.6:1.8.0+python', type=('build', 'run'))
- depends_on('py-numpy@1.8.2:1.15.0', when='@1.3.0+python', type=('build', 'run'))
- depends_on('py-requests@2.20.0:2', when='@1.6:+python', type=('build', 'run'))
- depends_on('py-requests@2.18.4:2.18', when='@1.3.0+python', type=('build', 'run'))
- depends_on('py-graphviz@0.8.1:0.8', when='+python', type=('build', 'run'))
-
- conflicts('+cudnn', when='~cuda')
- conflicts('+nccl', when='~cuda')
-
- patch('openblas-1.7.0.patch', when='@1.7.0:1.master')
- patch('openblas-1.6.0.patch', when='@1.6.0')
- patch('cmake_cuda_flags.patch', when='@1.6:1.7')
- patch('parallell_shuffle.patch', when='@1.6.0')
+ extends("python", when="+python")
+ depends_on("python@2.7:2.8,3.4:", when="@:1.8.0+python", type=("build", "run"))
+ depends_on("python@3.6:", when="@2.0.0:+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-contextvars", when="@2.0.0:+python ^python@3.6.0:3.6", type=("build", "run"))
+ depends_on("py-setuptools", when="+python", type="build")
+ depends_on("py-cython", when="+python", type="build")
+ depends_on("py-numpy@1.17:", when="@2.0.0:+python", type=("build", "run"))
+ depends_on("py-numpy@1.16.1:1", when="@1.6:1.8.0+python", type=("build", "run"))
+ depends_on("py-numpy@1.8.2:1.15.0", when="@1.3.0+python", type=("build", "run"))
+ depends_on("py-requests@2.20.0:2", when="@1.6:+python", type=("build", "run"))
+ depends_on("py-requests@2.18.4:2.18", when="@1.3.0+python", type=("build", "run"))
+ depends_on("py-graphviz@0.8.1:0.8", when="+python", type=("build", "run"))
+
+ conflicts("+cudnn", when="~cuda")
+ conflicts("+nccl", when="~cuda")
+
+ patch("openblas-1.7.0.patch", when="@1.7.0:1.master")
+ patch("openblas-1.6.0.patch", when="@1.6.0")
+ patch("cmake_cuda_flags.patch", when="@1.6:1.7")
+ patch("parallell_shuffle.patch", when="@1.6.0")
# python/setup.py assumes libs can be found in build directory
- build_directory = 'build'
- generator = 'Ninja'
+ build_directory = "build"
+ generator = "Ninja"
def setup_run_environment(self, env):
- env.set('MXNET_LIBRARY_PATH', self.spec['mxnet'].libs[0])
+ env.set("MXNET_LIBRARY_PATH", self.spec["mxnet"].libs[0])
- if self.spec.satisfies('+nccl ^nccl@2.1:'):
- env.set('NCCL_LAUNCH_MODE', 'PARALLEL')
+ if self.spec.satisfies("+nccl ^nccl@2.1:"):
+ env.set("NCCL_LAUNCH_MODE", "PARALLEL")
def cmake_args(self):
# https://mxnet.apache.org/get_started/build_from_source
args = [
- self.define_from_variant('USE_CUDA', 'cuda'),
- self.define_from_variant('USE_CUDNN', 'cudnn'),
- self.define_from_variant('USE_OPENCV', 'opencv'),
- self.define_from_variant('USE_OPENMP', 'openmp'),
- self.define_from_variant('USE_LAPACK', 'lapack'),
+ self.define_from_variant("USE_CUDA", "cuda"),
+ self.define_from_variant("USE_CUDNN", "cudnn"),
+ self.define_from_variant("USE_OPENCV", "opencv"),
+ self.define_from_variant("USE_OPENMP", "openmp"),
+ self.define_from_variant("USE_LAPACK", "lapack"),
]
- if self.spec.satisfies('@:1.8.0'):
- args.append(self.define_from_variant('USE_MKLDNN', 'mkldnn'))
- if self.spec.satisfies('@2.0.0:'):
- args.append(self.define_from_variant('USE_ONEDNN', 'mkldnn'))
- args.append(self.define('USE_CUTENSOR', False))
-
- if '+cuda' in self.spec:
- if 'cuda_arch=none' not in self.spec:
- cuda_arch = ';'.join('{0:.1f}'.format(float(i) / 10.0) for i
- in self.spec.variants['cuda_arch'].value)
- args.append(self.define('MXNET_CUDA_ARCH', cuda_arch))
-
- args.append(self.define_from_variant('USE_NCCL', 'nccl'))
+ if self.spec.satisfies("@:1.8.0"):
+ args.append(self.define_from_variant("USE_MKLDNN", "mkldnn"))
+ if self.spec.satisfies("@2.0.0:"):
+ args.append(self.define_from_variant("USE_ONEDNN", "mkldnn"))
+ args.append(self.define("USE_CUTENSOR", False))
+
+ if "+cuda" in self.spec:
+ if "cuda_arch=none" not in self.spec:
+ cuda_arch = ";".join(
+ "{0:.1f}".format(float(i) / 10.0)
+ for i in self.spec.variants["cuda_arch"].value
+ )
+ args.append(self.define("MXNET_CUDA_ARCH", cuda_arch))
+
+ args.append(self.define_from_variant("USE_NCCL", "nccl"))
# Workaround for bug in GCC 8+ and CUDA 10 on PowerPC
- args.append(self.define(
- 'CMAKE_CUDA_FLAGS', self.compiler.cxx11_flag))
+ args.append(self.define("CMAKE_CUDA_FLAGS", self.compiler.cxx11_flag))
return args
- @run_after('install')
+ @run_after("install")
def install_python(self):
- if '+python' in self.spec:
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ if "+python" in self.spec:
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
def test(self):
"""Attempts to import modules of the installed package."""
- if '+python' in self.spec:
+ if "+python" in self.spec:
# Make sure we are importing the installed modules,
# not the ones in the source directory
for module in self.import_modules:
- self.run_test(self.spec['python'].command.path,
- ['-c', 'import {0}'.format(module)],
- purpose='checking import of {0}'.format(module),
- work_dir='spack-test')
+ self.run_test(
+ self.spec["python"].command.path,
+ ["-c", "import {0}".format(module)],
+ purpose="checking import of {0}".format(module),
+ work_dir="spack-test",
+ )
diff --git a/var/spack/repos/builtin/packages/mysql/package.py b/var/spack/repos/builtin/packages/mysql/package.py
index edb35494ab..36d6fe0670 100644
--- a/var/spack/repos/builtin/packages/mysql/package.py
+++ b/var/spack/repos/builtin/packages/mysql/package.py
@@ -14,126 +14,127 @@ class Mysql(CMakePackage):
"""MySQL is an open source relational database management system."""
homepage = "https://www.mysql.com/"
- url = "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15.tar.gz"
-
- version('8.0.29', sha256='512170fa6f78a694d6f18d197e999d2716ee68dc541d7644dd922a3663407266')
- version('8.0.19', sha256='a62786d67b5e267eef928003967b4ccfe362d604b80f4523578e0688f5b9f834')
- version('8.0.18', sha256='4cb39a315298eb243c25c53c184b3682b49c2a907a1d8432ba0620534806ade8')
- version('8.0.17', sha256='c6e3f38199a77bfd8a4925ca00b252d3b6159b90e4980c7232f1c58d6ca759d6')
- version('8.0.16', sha256='8d9fe89920dc8bbbde2857b7b877ad2fa5ec2f231c68e941d484f3b72735eaea')
- version('8.0.15', sha256='bb1bca2dc2f23ee9dd395cc4db93b64561d4ac20b53be5d1dae563f7be64825e')
- version('8.0.14', sha256='bc53f4c914fb39650289700d144529121d71f38399d2d24a0f5c76e5a8abd204')
- version('8.0.13', sha256='d85eb7f98b6aa3e2c6fe38263bf40b22acb444a4ce1f4668473e9e59fb98d62e')
- version('8.0.12', sha256='69f16e20834dbc60cb28d6df7351deda323330b9de685d22415f135bcedd1b20')
- version('8.0.11', sha256='3bde3e30d5d4afcedfc6db9eed5c984237ac7db9480a9cc3bddc026d50700bf9')
- version('5.7.27', sha256='f8b65872a358d6f5957de86715c0a3ef733b60451dad8d64a8fd1a92bf091bba')
- version('5.7.26', sha256='5f01d579a20199e06fcbc28f0801c3cb545a54a2863ed8634f17fe526480b9f1')
- version('5.7.25', sha256='53751c6243806103114567c1a8b6a3ec27f23c0e132f377a13ce1eb56c63723f')
- version('5.7.24', sha256='05bf0c92c6a97cf85b67fff1ac83ca7b3467aea2bf306374d727fa4f18431f87')
- version('5.7.23', sha256='0730f2d5520bfac359e9272da6c989d0006682eacfdc086a139886c0741f6c65')
- version('5.7.22', sha256='4eb8405b0a9acb0381eae94c1741b2850dfc6467742b24b676e62b566409cff2')
- version('5.7.21', sha256='fa205079c27a39c24f3485e7498dd0906a6e0b379b4f99ebc0ec38a9ec5b09b7')
- version('5.7.20', sha256='5397549bb7c238f396c123db2df4cad2191b11adf8986de7fe63bff8e2786487')
- version('5.7.19', sha256='3e51e76f93179ca7b165a7008a6cc14d56195b3aef35d26d3ac194333d291eb1')
- version('5.7.18', sha256='0b5d71ed608656cd8181d3bb0434d3e36bac192899038dbdddf5a7594aaea1a2')
- version('5.7.17', sha256='cebf23e858aee11e354c57d30de7a079754bdc2ef85eb684782458332a4b9651')
- version('5.7.16', sha256='4935b59974edb275629f6724a0fcf72265a5845faf1e30eeb50ed4b6528318a5')
- version('5.7.15', sha256='9085353143bfda59c90aa959e79a35622a22aa592e710993416e193b37eb9956')
- version('5.7.14', sha256='f7415bdac2ca8bbccd77d4f22d8a0bdd7280b065bd646a71a506b77c7a8bd169')
- version('5.7.13', sha256='50bf1a1635a61235fc43fd4876df2f77163de109372679e29c1ff8dbc38a0b87')
- version('5.7.12', sha256='32843cb6d22ab22cd2340262b53c0d6009b5bd41b1fa4102beda19635a5c1c87')
- version('5.7.11', sha256='54f8c7af87d3d8084419bde2b9f0d8970b3dada0757b015981b02f35a3681f0e')
- version('5.7.10', sha256='1ea1644884d086a23eafd8ccb04d517fbd43da3a6a06036f23c5c3a111e25c74')
- version('5.7.9', sha256='315342f5bee1179548cecad2d776cd7758092fd2854024e60a3a5007feba34e0')
- version('5.6.44', sha256='c031c92c3f226856b09bf929d8a26b0cd8600036cb9db4e0fdf6b6f032ced336')
- version('5.6.43', sha256='1c95800bf0e1b7a19a37d37fbc5023af85c6bc0b41532433b3a886263a1673ef')
- version('5.5.62', sha256='b1e7853bc1f04aabf6771e0ad947f35ac8d237f4b35d0706d1095c9526ff99d7')
-
- variant('client_only', default=False,
- description='Build and install client only.')
- variant('cxxstd',
- default='14',
- values=('98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ url = "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.15.tar.gz"
+
+ version("8.0.29", sha256="512170fa6f78a694d6f18d197e999d2716ee68dc541d7644dd922a3663407266")
+ version("8.0.19", sha256="a62786d67b5e267eef928003967b4ccfe362d604b80f4523578e0688f5b9f834")
+ version("8.0.18", sha256="4cb39a315298eb243c25c53c184b3682b49c2a907a1d8432ba0620534806ade8")
+ version("8.0.17", sha256="c6e3f38199a77bfd8a4925ca00b252d3b6159b90e4980c7232f1c58d6ca759d6")
+ version("8.0.16", sha256="8d9fe89920dc8bbbde2857b7b877ad2fa5ec2f231c68e941d484f3b72735eaea")
+ version("8.0.15", sha256="bb1bca2dc2f23ee9dd395cc4db93b64561d4ac20b53be5d1dae563f7be64825e")
+ version("8.0.14", sha256="bc53f4c914fb39650289700d144529121d71f38399d2d24a0f5c76e5a8abd204")
+ version("8.0.13", sha256="d85eb7f98b6aa3e2c6fe38263bf40b22acb444a4ce1f4668473e9e59fb98d62e")
+ version("8.0.12", sha256="69f16e20834dbc60cb28d6df7351deda323330b9de685d22415f135bcedd1b20")
+ version("8.0.11", sha256="3bde3e30d5d4afcedfc6db9eed5c984237ac7db9480a9cc3bddc026d50700bf9")
+ version("5.7.27", sha256="f8b65872a358d6f5957de86715c0a3ef733b60451dad8d64a8fd1a92bf091bba")
+ version("5.7.26", sha256="5f01d579a20199e06fcbc28f0801c3cb545a54a2863ed8634f17fe526480b9f1")
+ version("5.7.25", sha256="53751c6243806103114567c1a8b6a3ec27f23c0e132f377a13ce1eb56c63723f")
+ version("5.7.24", sha256="05bf0c92c6a97cf85b67fff1ac83ca7b3467aea2bf306374d727fa4f18431f87")
+ version("5.7.23", sha256="0730f2d5520bfac359e9272da6c989d0006682eacfdc086a139886c0741f6c65")
+ version("5.7.22", sha256="4eb8405b0a9acb0381eae94c1741b2850dfc6467742b24b676e62b566409cff2")
+ version("5.7.21", sha256="fa205079c27a39c24f3485e7498dd0906a6e0b379b4f99ebc0ec38a9ec5b09b7")
+ version("5.7.20", sha256="5397549bb7c238f396c123db2df4cad2191b11adf8986de7fe63bff8e2786487")
+ version("5.7.19", sha256="3e51e76f93179ca7b165a7008a6cc14d56195b3aef35d26d3ac194333d291eb1")
+ version("5.7.18", sha256="0b5d71ed608656cd8181d3bb0434d3e36bac192899038dbdddf5a7594aaea1a2")
+ version("5.7.17", sha256="cebf23e858aee11e354c57d30de7a079754bdc2ef85eb684782458332a4b9651")
+ version("5.7.16", sha256="4935b59974edb275629f6724a0fcf72265a5845faf1e30eeb50ed4b6528318a5")
+ version("5.7.15", sha256="9085353143bfda59c90aa959e79a35622a22aa592e710993416e193b37eb9956")
+ version("5.7.14", sha256="f7415bdac2ca8bbccd77d4f22d8a0bdd7280b065bd646a71a506b77c7a8bd169")
+ version("5.7.13", sha256="50bf1a1635a61235fc43fd4876df2f77163de109372679e29c1ff8dbc38a0b87")
+ version("5.7.12", sha256="32843cb6d22ab22cd2340262b53c0d6009b5bd41b1fa4102beda19635a5c1c87")
+ version("5.7.11", sha256="54f8c7af87d3d8084419bde2b9f0d8970b3dada0757b015981b02f35a3681f0e")
+ version("5.7.10", sha256="1ea1644884d086a23eafd8ccb04d517fbd43da3a6a06036f23c5c3a111e25c74")
+ version("5.7.9", sha256="315342f5bee1179548cecad2d776cd7758092fd2854024e60a3a5007feba34e0")
+ version("5.6.44", sha256="c031c92c3f226856b09bf929d8a26b0cd8600036cb9db4e0fdf6b6f032ced336")
+ version("5.6.43", sha256="1c95800bf0e1b7a19a37d37fbc5023af85c6bc0b41532433b3a886263a1673ef")
+ version("5.5.62", sha256="b1e7853bc1f04aabf6771e0ad947f35ac8d237f4b35d0706d1095c9526ff99d7")
+
+ variant("client_only", default=False, description="Build and install client only.")
+ variant(
+ "cxxstd",
+ default="14",
+ values=("98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
# 5.7.X cannot be compiled client-only.
- conflicts('+client_only', when='@5.7.0:5.7')
+ conflicts("+client_only", when="@5.7.0:5.7")
# Server code has a macro 'byte', which conflicts with C++17's
# std::byte.
- conflicts('cxxstd=17', when='@8.0.0:~client_only')
+ conflicts("cxxstd=17", when="@8.0.0:~client_only")
- provides('mysql-client')
+ provides("mysql-client")
# https://dev.mysql.com/doc/refman/8.0/en/source-installation.html
# See CMAKE_MINIMUM_REQUIRED in CMakeLists.txt
- depends_on('cmake@3.1.0:', type='build', when='@5.7.0:5.7 platform=win32')
- depends_on('cmake@3.8.0:', type='build', when='@8.0.0: platform=win32')
- depends_on('cmake@3.9.2:', type='build', when='@8.0.0: platform=darwin')
- depends_on('cmake@3.4.0:', type='build', when='@8.0.0: platform=solaris')
- depends_on('cmake@2.6:', type='build', when='@:5.6')
- depends_on('cmake@2.8.9:', type='build', when='@5.7.0:5.7')
- depends_on('cmake@2.8.12:', type='build', when='@8.0.0:')
-
- depends_on('gmake@3.75:', type='build')
- depends_on('pkgconfig', type='build', when='@5.7.0:')
- depends_on('doxygen', type='build', when='@8.0.0:')
+ depends_on("cmake@3.1.0:", type="build", when="@5.7.0:5.7 platform=win32")
+ depends_on("cmake@3.8.0:", type="build", when="@8.0.0: platform=win32")
+ depends_on("cmake@3.9.2:", type="build", when="@8.0.0: platform=darwin")
+ depends_on("cmake@3.4.0:", type="build", when="@8.0.0: platform=solaris")
+ depends_on("cmake@2.6:", type="build", when="@:5.6")
+ depends_on("cmake@2.8.9:", type="build", when="@5.7.0:5.7")
+ depends_on("cmake@2.8.12:", type="build", when="@8.0.0:")
+
+ depends_on("gmake@3.75:", type="build")
+ depends_on("pkgconfig", type="build", when="@5.7.0:")
+ depends_on("doxygen", type="build", when="@8.0.0:")
# Each version of MySQL requires a specific version of boost
# See BOOST_PACKAGE_NAME in cmake/boost.cmake
# 8.0.29
- depends_on('boost@1.77.0 cxxstd=98', type='build', when='@8.0.29 cxxstd=98')
- depends_on('boost@1.77.0 cxxstd=11', type='build', when='@8.0.29 cxxstd=11')
- depends_on('boost@1.77.0 cxxstd=14', type='build', when='@8.0.29 cxxstd=14')
- depends_on('boost@1.77.0 cxxstd=17', type='build', when='@8.0.29 cxxstd=17')
+ depends_on("boost@1.77.0 cxxstd=98", type="build", when="@8.0.29 cxxstd=98")
+ depends_on("boost@1.77.0 cxxstd=11", type="build", when="@8.0.29 cxxstd=11")
+ depends_on("boost@1.77.0 cxxstd=14", type="build", when="@8.0.29 cxxstd=14")
+ depends_on("boost@1.77.0 cxxstd=17", type="build", when="@8.0.29 cxxstd=17")
# 8.0.19
- depends_on('boost@1.70.0 cxxstd=98', type='build', when='@8.0.19 cxxstd=98')
- depends_on('boost@1.70.0 cxxstd=11', type='build', when='@8.0.19 cxxstd=11')
- depends_on('boost@1.70.0 cxxstd=14', type='build', when='@8.0.19 cxxstd=14')
- depends_on('boost@1.70.0 cxxstd=17', type='build', when='@8.0.19 cxxstd=17')
+ depends_on("boost@1.70.0 cxxstd=98", type="build", when="@8.0.19 cxxstd=98")
+ depends_on("boost@1.70.0 cxxstd=11", type="build", when="@8.0.19 cxxstd=11")
+ depends_on("boost@1.70.0 cxxstd=14", type="build", when="@8.0.19 cxxstd=14")
+ depends_on("boost@1.70.0 cxxstd=17", type="build", when="@8.0.19 cxxstd=17")
# 8.0.16--8.0.18
- depends_on('boost@1.69.0 cxxstd=98', type='build', when='@8.0.16:8.0.18 cxxstd=98')
- depends_on('boost@1.69.0 cxxstd=11', type='build', when='@8.0.16:8.0.18 cxxstd=11')
- depends_on('boost@1.69.0 cxxstd=14', type='build', when='@8.0.16:8.0.18 cxxstd=14')
- depends_on('boost@1.69.0 cxxstd=17', type='build', when='@8.0.16:8.0.18 cxxstd=17')
+ depends_on("boost@1.69.0 cxxstd=98", type="build", when="@8.0.16:8.0.18 cxxstd=98")
+ depends_on("boost@1.69.0 cxxstd=11", type="build", when="@8.0.16:8.0.18 cxxstd=11")
+ depends_on("boost@1.69.0 cxxstd=14", type="build", when="@8.0.16:8.0.18 cxxstd=14")
+ depends_on("boost@1.69.0 cxxstd=17", type="build", when="@8.0.16:8.0.18 cxxstd=17")
# 8.0.14--8.0.15
- depends_on('boost@1.68.0 cxxstd=98', type='build', when='@8.0.14:8.0.15 cxxstd=98')
- depends_on('boost@1.68.0 cxxstd=11', type='build', when='@8.0.14:8.0.15 cxxstd=11')
- depends_on('boost@1.68.0 cxxstd=14', type='build', when='@8.0.14:8.0.15 cxxstd=14')
- depends_on('boost@1.68.0 cxxstd=17', type='build', when='@8.0.14:8.0.15 cxxstd=17')
+ depends_on("boost@1.68.0 cxxstd=98", type="build", when="@8.0.14:8.0.15 cxxstd=98")
+ depends_on("boost@1.68.0 cxxstd=11", type="build", when="@8.0.14:8.0.15 cxxstd=11")
+ depends_on("boost@1.68.0 cxxstd=14", type="build", when="@8.0.14:8.0.15 cxxstd=14")
+ depends_on("boost@1.68.0 cxxstd=17", type="build", when="@8.0.14:8.0.15 cxxstd=17")
# 8.0.12--8.0.13
- depends_on('boost@1.67.0 cxxstd=98', type='build', when='@8.0.12:8.0.13 cxxstd=98')
- depends_on('boost@1.67.0 cxxstd=11', type='build', when='@8.0.12:8.0.13 cxxstd=11')
- depends_on('boost@1.67.0 cxxstd=14', type='build', when='@8.0.12:8.0.13 cxxstd=14')
- depends_on('boost@1.67.0 cxxstd=17', type='build', when='@8.0.12:8.0.13 cxxstd=17')
+ depends_on("boost@1.67.0 cxxstd=98", type="build", when="@8.0.12:8.0.13 cxxstd=98")
+ depends_on("boost@1.67.0 cxxstd=11", type="build", when="@8.0.12:8.0.13 cxxstd=11")
+ depends_on("boost@1.67.0 cxxstd=14", type="build", when="@8.0.12:8.0.13 cxxstd=14")
+ depends_on("boost@1.67.0 cxxstd=17", type="build", when="@8.0.12:8.0.13 cxxstd=17")
# 8.0.11
- depends_on('boost@1.66.0 cxxstd=98', type='build', when='@8.0.11 cxxstd=98')
- depends_on('boost@1.66.0 cxxstd=11', type='build', when='@8.0.11 cxxstd=11')
- depends_on('boost@1.66.0 cxxstd=14', type='build', when='@8.0.11 cxxstd=14')
- depends_on('boost@1.66.0 cxxstd=17', type='build', when='@8.0.11 cxxstd=17')
+ depends_on("boost@1.66.0 cxxstd=98", type="build", when="@8.0.11 cxxstd=98")
+ depends_on("boost@1.66.0 cxxstd=11", type="build", when="@8.0.11 cxxstd=11")
+ depends_on("boost@1.66.0 cxxstd=14", type="build", when="@8.0.11 cxxstd=14")
+ depends_on("boost@1.66.0 cxxstd=17", type="build", when="@8.0.11 cxxstd=17")
# 5.7.X
- depends_on('boost@1.59.0 cxxstd=98', when='@5.7.0:5.7 cxxstd=98')
- depends_on('boost@1.59.0 cxxstd=11', when='@5.7.0:5.7 cxxstd=11')
- depends_on('boost@1.59.0 cxxstd=14', when='@5.7.0:5.7 cxxstd=14')
- depends_on('boost@1.59.0 cxxstd=17', when='@5.7.0:5.7 cxxstd=17')
+ depends_on("boost@1.59.0 cxxstd=98", when="@5.7.0:5.7 cxxstd=98")
+ depends_on("boost@1.59.0 cxxstd=11", when="@5.7.0:5.7 cxxstd=11")
+ depends_on("boost@1.59.0 cxxstd=14", when="@5.7.0:5.7 cxxstd=14")
+ depends_on("boost@1.59.0 cxxstd=17", when="@5.7.0:5.7 cxxstd=17")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@5.7:')
+ depends_on(Boost.with_default_variants, when="@5.7:")
- depends_on('rpcsvc-proto')
- depends_on('ncurses')
- depends_on('openssl')
- depends_on('libtirpc', when='@5.7.0: platform=linux')
- depends_on('libedit', type=['build', 'run'])
- depends_on('perl', type=['build', 'test'], when='@:7')
- depends_on('bison@2.1:', type='build')
- depends_on('m4', type='build', when='@develop platform=solaris')
- depends_on('cyrus-sasl', when='@:5.7')
+ depends_on("rpcsvc-proto")
+ depends_on("ncurses")
+ depends_on("openssl")
+ depends_on("libtirpc", when="@5.7.0: platform=linux")
+ depends_on("libedit", type=["build", "run"])
+ depends_on("perl", type=["build", "test"], when="@:7")
+ depends_on("bison@2.1:", type="build")
+ depends_on("m4", type="build", when="@develop platform=solaris")
+ depends_on("cyrus-sasl", when="@:5.7")
- patch('fix-no-server-5.5.patch', level=1, when='@5.5.0:5.5')
+ patch("fix-no-server-5.5.patch", level=1, when="@5.5.0:5.5")
@property
def command(self):
@@ -141,7 +142,7 @@ class Mysql(CMakePackage):
@property
def libs(self):
- return find_libraries('libmysqlclient', root=self.prefix, recursive=True)
+ return find_libraries("libmysqlclient", root=self.prefix, recursive=True)
def url_for_version(self, version):
url = "https://dev.mysql.com/get/Downloads/MySQL-{0}/mysql-{1}.tar.gz"
@@ -150,15 +151,13 @@ class Mysql(CMakePackage):
def cmake_args(self):
spec = self.spec
options = []
- if 'boost' in spec:
- options.append('-DBOOST_ROOT={0}'.format(spec['boost'].prefix))
- if '+client_only' in self.spec:
- options.append('-DWITHOUT_SERVER:BOOL=ON')
- options.append('-DWITH_EDITLINE=system')
- options.append('-Dlibedit_INCLUDE_DIR={0}'.format(
- spec['libedit'].prefix.include))
- options.append('-Dlibedit_LIBRARY={0}'.format(
- spec['libedit'].libs.directories[0]))
+ if "boost" in spec:
+ options.append("-DBOOST_ROOT={0}".format(spec["boost"].prefix))
+ if "+client_only" in self.spec:
+ options.append("-DWITHOUT_SERVER:BOOL=ON")
+ options.append("-DWITH_EDITLINE=system")
+ options.append("-Dlibedit_INCLUDE_DIR={0}".format(spec["libedit"].prefix.include))
+ options.append("-Dlibedit_LIBRARY={0}".format(spec["libedit"].libs.directories[0]))
return options
def _fix_dtrace_shebang(self, env):
@@ -167,33 +166,30 @@ class Mysql(CMakePackage):
# the original script into a temporary folder, and change the
# shebang to '/usr/bin/env python'. Treatment adapted from that
# used in glib recipe per M. Culpo @b2822b258.
- dtrace = which('dtrace').path
- dtrace_copy_path = os.path.join(tempfile.mkdtemp(), 'dtrace-copy')
- dtrace_copy = os.path.join(dtrace_copy_path, 'dtrace')
+ dtrace = which("dtrace").path
+ dtrace_copy_path = os.path.join(tempfile.mkdtemp(), "dtrace-copy")
+ dtrace_copy = os.path.join(dtrace_copy_path, "dtrace")
mkdirp(dtrace_copy_path)
copy(dtrace, dtrace_copy)
filter_file(
- '^#!/usr/bin/python',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command)),
- dtrace_copy
+ "^#!/usr/bin/python",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command)),
+ dtrace_copy,
)
# To have our own copy of dtrace in PATH, we need to
# prepend to PATH the temporary folder where it resides.
- env.prepend_path('PATH', dtrace_copy_path)
+ env.prepend_path("PATH", dtrace_copy_path)
def setup_build_environment(self, env):
- cxxstd = self.spec.variants['cxxstd'].value
- flag = getattr(self.compiler, 'cxx{0}_flag'.format(cxxstd))
+ cxxstd = self.spec.variants["cxxstd"].value
+ flag = getattr(self.compiler, "cxx{0}_flag".format(cxxstd))
if flag:
- env.append_flags('CXXFLAGS', flag)
- if cxxstd != '98':
+ env.append_flags("CXXFLAGS", flag)
+ if cxxstd != "98":
if int(cxxstd) > 11:
- env.append_flags('CXXFLAGS',
- '-Wno-deprecated-declarations')
+ env.append_flags("CXXFLAGS", "-Wno-deprecated-declarations")
if int(cxxstd) > 14:
- env.append_flags('CXXFLAGS', '-Wno-error=register')
+ env.append_flags("CXXFLAGS", "-Wno-error=register")
- if 'python' in self.spec.flat_dependencies() and \
- self.spec.satisfies('@:7'):
+ if "python" in self.spec.flat_dependencies() and self.spec.satisfies("@:7"):
self._fix_dtrace_shebang(env)
diff --git a/var/spack/repos/builtin/packages/mysqlpp/package.py b/var/spack/repos/builtin/packages/mysqlpp/package.py
index f3004fd9fc..5e8277b274 100644
--- a/var/spack/repos/builtin/packages/mysqlpp/package.py
+++ b/var/spack/repos/builtin/packages/mysqlpp/package.py
@@ -14,23 +14,23 @@ class Mysqlpp(AutotoolsPackage):
own code, providing native C++ interfaces for these common tasks."""
homepage = "https://tangentsoft.com/mysqlpp/home"
- url = "https://tangentsoft.com/mysqlpp/releases/mysql++-3.2.5.tar.gz"
+ url = "https://tangentsoft.com/mysqlpp/releases/mysql++-3.2.5.tar.gz"
- version('3.3.0', sha256='449cbc46556cc2cc9f9d6736904169a8df6415f6960528ee658998f96ca0e7cf')
- version('3.2.5', sha256='839cfbf71d50a04057970b8c31f4609901f5d3936eaa86dab3ede4905c4db7a8')
+ version("3.3.0", sha256="449cbc46556cc2cc9f9d6736904169a8df6415f6960528ee658998f96ca0e7cf")
+ version("3.2.5", sha256="839cfbf71d50a04057970b8c31f4609901f5d3936eaa86dab3ede4905c4db7a8")
- depends_on('mysql-client')
+ depends_on("mysql-client")
def configure_args(self):
- if '^mariadb-c-client' in self.spec:
+ if "^mariadb-c-client" in self.spec:
args = [
- '--with-mysql-include={0}'.format(
- self.spec['mysql-client'].prefix.include.mariadb),
- '--with-mysql-lib={0}'.format(
- self.spec['mysql-client'].prefix.lib.mariadb),
+ "--with-mysql-include={0}".format(
+ self.spec["mysql-client"].prefix.include.mariadb
+ ),
+ "--with-mysql-lib={0}".format(self.spec["mysql-client"].prefix.lib.mariadb),
]
else:
args = [
- '--with-mysql={0}'.format(self.spec['mysql-client'].prefix),
+ "--with-mysql={0}".format(self.spec["mysql-client"].prefix),
]
return args
diff --git a/var/spack/repos/builtin/packages/n2p2/package.py b/var/spack/repos/builtin/packages/n2p2/package.py
index ca4cad2255..ccc31f1eaf 100644
--- a/var/spack/repos/builtin/packages/n2p2/package.py
+++ b/var/spack/repos/builtin/packages/n2p2/package.py
@@ -9,8 +9,8 @@ from spack.pkg.builtin.boost import Boost
class N2p2(MakefilePackage):
"""N2p2 (The neural network potential package) provides ready-to-use
- software for high-dimensional neural network potentials
- in computational physics and chemistry."""
+ software for high-dimensional neural network potentials
+ in computational physics and chemistry."""
homepage = "https://github.com/CompPhysVienna/n2p2"
url = "https://github.com/CompPhysVienna/n2p2/archive/v2.1.0.tar.gz"
@@ -64,12 +64,8 @@ class N2p2(MakefilePackage):
makefile = FileFilter(join_path("src", "makefile.gnu"))
blas_libs = self.spec["blas"].libs
makefile.filter("PROJECT_CC=.*", "PROJECT_CC={0}".format(spack_cxx))
- makefile.filter(
- "PROJECT_MPICC=.*", "PROJECT_MPICC={0}".format(self.spec["mpi"].mpicxx)
- )
- makefile.filter(
- "PROJECT_CFLAGS=.*", "PROJECT_CFLAGS={0}".format(self.compiler.cxx11_flag)
- )
+ makefile.filter("PROJECT_MPICC=.*", "PROJECT_MPICC={0}".format(self.spec["mpi"].mpicxx))
+ makefile.filter("PROJECT_CFLAGS=.*", "PROJECT_CFLAGS={0}".format(self.compiler.cxx11_flag))
makefile.filter(
"PROJECT_LDFLAGS_BLAS.*",
"PROJECT_LDFLAGS_BLAS={0} -lgsl -lgslcblas".format(blas_libs.ld_flags),
@@ -122,16 +118,12 @@ class N2p2(MakefilePackage):
f = FileFilter(join_path("cpp", "nnp_test.h"))
f.filter(
"(example.co",
- '("{0} -n 1 " + example.co'.format(
- self.spec["mpi"].prefix.bin.mpirun
- ),
+ '("{0} -n 1 " + example.co'.format(self.spec["mpi"].prefix.bin.mpirun),
string=True,
)
f = FileFilter(join_path("cpp", "makefile"))
- f.filter(
- "log_level=.*", "log_level=$(LOG_LEVEL) 2>&1 | tee -a ../output_cpp.txt"
- )
+ f.filter("log_level=.*", "log_level=$(LOG_LEVEL) 2>&1 | tee -a ../output_cpp.txt")
f = FileFilter(join_path("python", "makefile"))
f.filter("term\\s-v.*", "term -v | tee -a ../output_python.txt")
@@ -140,8 +132,6 @@ class N2p2(MakefilePackage):
make("python", parallel=False)
test_dir = self.test_suite.current_test_data_dir
- expected_file = join_path(
- test_dir, "expected-result-{0}.txt".format(self.version)
- )
+ expected_file = join_path(test_dir, "expected-result-{0}.txt".format(self.version))
check_n2p2 = Executable(join_path(test_dir, "result-check.sh"))
check_n2p2("./output_cpp.txt", "./output_python.txt", expected_file)
diff --git a/var/spack/repos/builtin/packages/nacos/package.py b/var/spack/repos/builtin/packages/nacos/package.py
index d86f178457..c346ddad2b 100644
--- a/var/spack/repos/builtin/packages/nacos/package.py
+++ b/var/spack/repos/builtin/packages/nacos/package.py
@@ -12,6 +12,6 @@ class Nacos(MavenPackage):
to build cloud native applications and microservices platform easily."""
homepage = "https://nacos.io/"
- url = "https://github.com/alibaba/nacos/archive/1.3.2.tar.gz"
+ url = "https://github.com/alibaba/nacos/archive/1.3.2.tar.gz"
- version('1.3.2', sha256='3d3fdbe4033a9861a26c807d319db7c93f15de6491ddda512f9e5e421c563734')
+ version("1.3.2", sha256="3d3fdbe4033a9861a26c807d319db7c93f15de6491ddda512f9e5e421c563734")
diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py
index 94b8e84e0f..ee31338f49 100644
--- a/var/spack/repos/builtin/packages/nag/package.py
+++ b/var/spack/repos/builtin/packages/nag/package.py
@@ -13,49 +13,50 @@ from spack.package import *
class Nag(Package):
"""The NAG Fortran Compiler."""
+
homepage = "https://www.nag.com/nagware/np.asp"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('7.1', sha256='18640737b232cebeb532ba36187675cdaf36d5b1fc235a780fc9e588c19a3ed2')
- version('7.0', sha256='6d509208533d79139e5a9f879b7b93e7b58372b78d404d51f35e491ecbaa54c7')
- version('6.2', sha256='9b60f6ffa4f4be631079676963e74eea25e8824512e5c864eb06758b2a3cdd2d')
- version('6.1', sha256='32580e0004e6798abf1fa52f0070281b28abeb0da2387530a4cc41218e813c7c')
+ version("7.1", sha256="18640737b232cebeb532ba36187675cdaf36d5b1fc235a780fc9e588c19a3ed2")
+ version("7.0", sha256="6d509208533d79139e5a9f879b7b93e7b58372b78d404d51f35e491ecbaa54c7")
+ version("6.2", sha256="9b60f6ffa4f4be631079676963e74eea25e8824512e5c864eb06758b2a3cdd2d")
+ version("6.1", sha256="32580e0004e6798abf1fa52f0070281b28abeb0da2387530a4cc41218e813c7c")
# Licensing
license_required = True
- license_comment = '!'
- license_files = ['lib/nag.key']
- license_vars = ['NAG_KUSARI_FILE']
- license_url = 'http://www.nag.com/doc/inun/np61/lin-mac/klicence.txt'
+ license_comment = "!"
+ license_files = ["lib/nag.key"]
+ license_vars = ["NAG_KUSARI_FILE"]
+ license_url = "http://www.nag.com/doc/inun/np61/lin-mac/klicence.txt"
# The installation script erroneously revokes execute permissions for the
# installation directory of the man pages and therefore fails to copy all the files:
- patch('chmod_man.patch', when='@7.0:')
+ patch("chmod_man.patch", when="@7.0:")
def url_for_version(self, version):
# TODO: url and checksum are architecture dependent
# TODO: We currently only support x86_64
- url = 'https://www.nag.com/downloads/impl/npl6a{0}na_amd64.tgz'
+ url = "https://www.nag.com/downloads/impl/npl6a{0}na_amd64.tgz"
return url.format(version.joined)
def install(self, spec, prefix):
# Set installation directories
- os.environ['INSTALL_TO_BINDIR'] = prefix.bin
- os.environ['INSTALL_TO_LIBDIR'] = prefix.lib
- os.environ['INSTALL_TO_MANDIR'] = prefix.share.man.man
+ os.environ["INSTALL_TO_BINDIR"] = prefix.bin
+ os.environ["INSTALL_TO_LIBDIR"] = prefix.lib
+ os.environ["INSTALL_TO_MANDIR"] = prefix.share.man.man
# Run install script
- os.system('./INSTALLU.sh')
+ os.system("./INSTALLU.sh")
def setup_run_environment(self, env):
- env.set('F77', self.prefix.bin.nagfor)
- env.set('FC', self.prefix.bin.nagfor)
+ env.set("F77", self.prefix.bin.nagfor)
+ env.set("FC", self.prefix.bin.nagfor)
- executables = ['^nagfor$']
+ executables = ["^nagfor$"]
@classmethod
def determine_version(cls, exe):
- version_regex = re.compile(r'NAG Fortran Compiler Release ([0-9.]+)')
+ version_regex = re.compile(r"NAG Fortran Compiler Release ([0-9.]+)")
# NAG does not support a flag that would enable verbose output and
# compilation/linking at the same time (with either '-#' or '-dryrun'
# the compiler only prints the commands but does not run them).
@@ -83,7 +84,7 @@ class Nag(Package):
# rpaths will contain only GCC-related directories and rpaths to
# NAG-related directories are injected by nagfor anyway.
try:
- output = spack.compiler.get_compiler_version_output(exe, '-Wl,-v')
+ output = spack.compiler.get_compiler_version_output(exe, "-Wl,-v")
match = version_regex.search(output)
if match:
return match.group(1)
@@ -96,14 +97,14 @@ class Nag(Package):
def determine_variants(cls, exes, version_str):
compilers = {}
for exe in exes:
- if 'nagfor' in exe:
- compilers['fortran'] = exe
- return '', {'compilers': compilers}
+ if "nagfor" in exe:
+ compilers["fortran"] = exe
+ return "", {"compilers": compilers}
@property
def fortran(self):
msg = "cannot retrieve Fortran compiler [spec is not concrete]"
assert self.spec.concrete, msg
if self.spec.external:
- return self.spec.extra_attributes['compilers'].get('fortran', None)
+ return self.spec.extra_attributes["compilers"].get("fortran", None)
return str(self.spec.prefix.bin.nagfor)
diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py
index ac426e9fe3..b66595d939 100644
--- a/var/spack/repos/builtin/packages/nalu-wind/package.py
+++ b/var/spack/repos/builtin/packages/nalu-wind/package.py
@@ -19,113 +19,120 @@ class NaluWind(CMakePackage, CudaPackage):
"""Nalu-Wind: Wind energy focused variant of Nalu."""
homepage = "https://nalu-wind.readthedocs.io"
- git = "https://github.com/exawind/nalu-wind.git"
-
- maintainers = ['jrood-nrel']
-
- tags = ['ecp', 'ecp-apps']
-
- version('master', branch='master')
-
- variant('pic', default=True,
- description='Position independent code')
- variant('abs_tol', default=1.0e-15,
- values=_parse_float,
- description='Absolute tolerance for regression tests')
- variant('rel_tol', default=1.0e-12,
- values=_parse_float,
- description='Relative tolerance for regression tests')
- variant('openfast', default=False,
- description='Compile with OpenFAST support')
- variant('tioga', default=False,
- description='Compile with Tioga support')
- variant('hypre', default=False,
- description='Compile with Hypre support')
- variant('catalyst', default=False,
- description='Compile with Catalyst support')
- variant('fftw', default=False,
- description='Compile with FFTW support')
- variant('boost', default=False,
- description='Enable Boost integration')
- variant('wind-utils', default=False,
- description='Build wind-utils')
-
- depends_on('mpi')
- depends_on('yaml-cpp@0.5.3:')
+ git = "https://github.com/exawind/nalu-wind.git"
+
+ maintainers = ["jrood-nrel"]
+
+ tags = ["ecp", "ecp-apps"]
+
+ version("master", branch="master")
+
+ variant("pic", default=True, description="Position independent code")
+ variant(
+ "abs_tol",
+ default=1.0e-15,
+ values=_parse_float,
+ description="Absolute tolerance for regression tests",
+ )
+ variant(
+ "rel_tol",
+ default=1.0e-12,
+ values=_parse_float,
+ description="Relative tolerance for regression tests",
+ )
+ variant("openfast", default=False, description="Compile with OpenFAST support")
+ variant("tioga", default=False, description="Compile with Tioga support")
+ variant("hypre", default=False, description="Compile with Hypre support")
+ variant("catalyst", default=False, description="Compile with Catalyst support")
+ variant("fftw", default=False, description="Compile with FFTW support")
+ variant("boost", default=False, description="Enable Boost integration")
+ variant("wind-utils", default=False, description="Build wind-utils")
+
+ depends_on("mpi")
+ depends_on("yaml-cpp@0.5.3:")
depends_on(
- 'trilinos@stable:'
- '+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost'
- '~superlu-dist~superlu+hdf5+shards~hypre+gtest'
+ "trilinos@stable:"
+ "+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost"
+ "~superlu-dist~superlu+hdf5+shards~hypre+gtest"
)
- depends_on('trilinos~cuda~wrapper', when='~cuda')
+ depends_on("trilinos~cuda~wrapper", 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'))
- depends_on('openfast@2.6.0: +cxx', when='+openfast')
- depends_on('tioga@master:', when='+tioga')
- depends_on('hypre@2.18.2: ~int64+mpi~superlu-dist', when='+hypre')
- depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda')
+ depends_on("trilinos~shared", when=(sys.platform == "darwin"))
+ depends_on("openfast@2.6.0: +cxx", when="+openfast")
+ depends_on("tioga@master:", when="+tioga")
+ depends_on("hypre@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~shared+cuda+cuda_rdc+wrapper cuda_arch={0}'.format(_arch),
- when='+cuda cuda_arch={0}'.format(_arch))
- depends_on('hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}'.format(_arch),
- when='+hypre+cuda cuda_arch={0}'.format(_arch))
- depends_on('trilinos-catalyst-ioss-adapter', when='+catalyst')
- depends_on('fftw+mpi', when='+fftw')
- depends_on('nccmp')
+ depends_on(
+ "trilinos~shared+cuda+cuda_rdc+wrapper cuda_arch={0}".format(_arch),
+ when="+cuda cuda_arch={0}".format(_arch),
+ )
+ depends_on(
+ "hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}".format(_arch),
+ when="+hypre+cuda cuda_arch={0}".format(_arch),
+ )
+ depends_on("trilinos-catalyst-ioss-adapter", when="+catalyst")
+ depends_on("fftw+mpi", when="+fftw")
+ depends_on("nccmp")
# indirect dependency needed to make original concretizer work
- depends_on('netcdf-c+parallel-netcdf')
- depends_on('boost +filesystem +iostreams cxxstd=14', when='+boost')
+ depends_on("netcdf-c+parallel-netcdf")
+ depends_on("boost +filesystem +iostreams cxxstd=14", when="+boost")
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- self.define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx),
- self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- self.define('Trilinos_DIR', spec['trilinos'].prefix),
- self.define('YAML_DIR', spec['yaml-cpp'].prefix),
- self.define_from_variant('ENABLE_CUDA', 'cuda'),
- self.define_from_variant('ENABLE_WIND_UTILS', 'wind-utils'),
- self.define_from_variant('ENABLE_BOOST', 'boost'),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
+ self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ self.define("Trilinos_DIR", spec["trilinos"].prefix),
+ self.define("YAML_DIR", spec["yaml-cpp"].prefix),
+ self.define_from_variant("ENABLE_CUDA", "cuda"),
+ self.define_from_variant("ENABLE_WIND_UTILS", "wind-utils"),
+ self.define_from_variant("ENABLE_BOOST", "boost"),
]
- args.append(self.define_from_variant('ENABLE_OPENFAST', 'openfast'))
- if '+openfast' in spec:
- args.append(self.define('OpenFAST_DIR', spec['openfast'].prefix))
+ args.append(self.define_from_variant("ENABLE_OPENFAST", "openfast"))
+ if "+openfast" in spec:
+ args.append(self.define("OpenFAST_DIR", spec["openfast"].prefix))
- args.append(self.define_from_variant('ENABLE_TIOGA', 'tioga'))
- if '+tioga' in spec:
- args.append(self.define('TIOGA_DIR', spec['tioga'].prefix))
+ args.append(self.define_from_variant("ENABLE_TIOGA", "tioga"))
+ if "+tioga" in spec:
+ args.append(self.define("TIOGA_DIR", spec["tioga"].prefix))
- args.append(self.define_from_variant('ENABLE_HYPRE', 'hypre'))
- if '+hypre' in spec:
- args.append(self.define('HYPRE_DIR', spec['hypre'].prefix))
+ args.append(self.define_from_variant("ENABLE_HYPRE", "hypre"))
+ if "+hypre" in spec:
+ args.append(self.define("HYPRE_DIR", spec["hypre"].prefix))
- args.append(self.define_from_variant('ENABLE_PARAVIEW_CATALYST', 'catalyst'))
- if '+catalyst' in spec:
- args.append(self.define('PARAVIEW_CATALYST_INSTALL_PATH',
- spec['trilinos-catalyst-ioss-adapter'].prefix))
+ args.append(self.define_from_variant("ENABLE_PARAVIEW_CATALYST", "catalyst"))
+ if "+catalyst" in spec:
+ args.append(
+ self.define(
+ "PARAVIEW_CATALYST_INSTALL_PATH", spec["trilinos-catalyst-ioss-adapter"].prefix
+ )
+ )
- args.append(self.define_from_variant('ENABLE_FFTW', 'fftw'))
- if '+fftw' in spec:
- args.append(self.define('FFTW_DIR', spec['fftw'].prefix))
+ args.append(self.define_from_variant("ENABLE_FFTW", "fftw"))
+ if "+fftw" in spec:
+ args.append(self.define("FFTW_DIR", spec["fftw"].prefix))
- args.append(self.define('ENABLE_TESTS', self.run_tests))
+ args.append(self.define("ENABLE_TESTS", self.run_tests))
if self.run_tests:
- args.extend([
- self.define('TEST_TOLERANCE', spec.variants['abs_tol'].value),
- self.define('TEST_REL_TOL', spec.variants['rel_tol'].value),
- ])
+ args.extend(
+ [
+ self.define("TEST_TOLERANCE", spec.variants["abs_tol"].value),
+ self.define("TEST_REL_TOL", spec.variants["rel_tol"].value),
+ ]
+ )
- if 'darwin' in spec.architecture:
- args.append(self.define('CMAKE_MACOSX_RPATH', 'ON'))
+ if "darwin" in spec.architecture:
+ args.append(self.define("CMAKE_MACOSX_RPATH", "ON"))
return args
- @run_before('cmake')
+ @run_before("cmake")
def add_submodules(self):
- if self.run_tests or '+wind-utils' in self.spec:
- git = which('git')
- git('submodule', 'update', '--init', '--recursive')
+ if self.run_tests or "+wind-utils" in self.spec:
+ git = which("git")
+ git("submodule", "update", "--init", "--recursive")
diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py
index 12a4adda3a..c221346eba 100644
--- a/var/spack/repos/builtin/packages/nalu/package.py
+++ b/var/spack/repos/builtin/packages/nalu/package.py
@@ -10,67 +10,69 @@ from spack.package import *
class Nalu(CMakePackage):
"""Nalu: a generalized unstructured massively parallel low Mach flow code
- designed to support a variety of energy applications of interest
- built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack
+ designed to support a variety of energy applications of interest
+ built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack
"""
homepage = "https://github.com/NaluCFD/Nalu"
- git = "https://github.com/NaluCFD/Nalu.git"
+ git = "https://github.com/NaluCFD/Nalu.git"
- version('master', branch='master')
+ version("master", branch="master")
# Options
- variant('shared', default=(sys.platform != 'darwin'),
- description='Build dependencies as shared libraries')
- variant('pic', default=True,
- description='Position independent code')
+ variant(
+ "shared",
+ default=(sys.platform != "darwin"),
+ description="Build dependencies as shared libraries",
+ )
+ variant("pic", default=True, description="Position independent code")
# Third party libraries
- variant('tioga', default=False,
- description='Compile with Tioga support')
+ variant("tioga", default=False, description="Compile with Tioga support")
# Required dependencies
- depends_on('mpi')
- depends_on('yaml-cpp@0.5.3:', when='+shared')
- depends_on('yaml-cpp~shared@0.5.3:', when='~shared')
+ depends_on("mpi")
+ depends_on("yaml-cpp@0.5.3:", when="+shared")
+ depends_on("yaml-cpp~shared@0.5.3:", when="~shared")
# Cannot build Trilinos as a shared library with STK on Darwin
# which is why we have a 'shared' variant for Nalu
# https://github.com/trilinos/Trilinos/issues/2994
depends_on(
- 'trilinos'
- '+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost'
- '~superlu-dist+superlu+hdf5+shards~hypre'
- '@master'
+ "trilinos"
+ "+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost"
+ "~superlu-dist+superlu+hdf5+shards~hypre"
+ "@master"
)
- depends_on('trilinos~shared', when='~shared')
+ depends_on("trilinos~shared", when="~shared")
# Optional dependencies
- depends_on('tioga', when='+tioga+shared')
- depends_on('tioga~shared', when='+tioga~shared')
+ depends_on("tioga", when="+tioga+shared")
+ depends_on("tioga~shared", when="+tioga~shared")
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DTrilinos_DIR:PATH=%s' % spec['trilinos'].prefix,
- '-DYAML_DIR:PATH=%s' % spec['yaml-cpp'].prefix,
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DMPI_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DMPI_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DMPI_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- ])
+ options.extend(
+ [
+ "-DTrilinos_DIR:PATH=%s" % spec["trilinos"].prefix,
+ "-DYAML_DIR:PATH=%s" % spec["yaml-cpp"].prefix,
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DMPI_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DMPI_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DMPI_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ ]
+ )
- if '+tioga' in spec:
- options.extend([
- '-DENABLE_TIOGA:BOOL=ON',
- '-DTIOGA_DIR:PATH=%s' % spec['tioga'].prefix
- ])
+ if "+tioga" in spec:
+ options.extend(
+ ["-DENABLE_TIOGA:BOOL=ON", "-DTIOGA_DIR:PATH=%s" % spec["tioga"].prefix]
+ )
else:
- options.append('-DENABLE_TIOGA:BOOL=OFF')
+ options.append("-DENABLE_TIOGA:BOOL=OFF")
- if 'darwin' in spec.architecture:
- options.append('-DCMAKE_MACOSX_RPATH:BOOL=ON')
+ if "darwin" in spec.architecture:
+ options.append("-DCMAKE_MACOSX_RPATH:BOOL=ON")
return options
diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py
index 54cc100af0..ec3723b27c 100644
--- a/var/spack/repos/builtin/packages/namd/package.py
+++ b/var/spack/repos/builtin/packages/namd/package.py
@@ -17,70 +17,77 @@ class Namd(MakefilePackage, CudaPackage):
high-performance simulation of large biomolecular systems."""
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"
+ url = "file://{0}/NAMD_2.12_Source.tar.gz".format(os.getcwd())
+ git = "https://charm.cs.illinois.edu/gerrit/namd.git"
manual_download = True
version("master", branch="master")
- version('2.15a1', branch="master", tag='release-2-15-alpha-1')
- version('2.14', sha256='34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235',
- preferred=True)
- version('2.13', '9e3323ed856e36e34d5c17a7b0341e38')
- version('2.12', '2a1191909b1ab03bf0205971ad4d8ee9')
-
- variant('fftw', default='3', values=('none', '2', '3', 'mkl', 'amdfftw'),
- description='Enable the use of FFTW/FFTW3/MKL FFT/AMDFFTW')
-
- variant('interface', default='none', values=('none', 'tcl', 'python'),
- description='Enables TCL and/or python interface')
+ version("2.15a1", branch="master", tag="release-2-15-alpha-1")
+ version(
+ "2.14",
+ sha256="34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235",
+ preferred=True,
+ )
+ version("2.13", "9e3323ed856e36e34d5c17a7b0341e38")
+ version("2.12", "2a1191909b1ab03bf0205971ad4d8ee9")
+
+ variant(
+ "fftw",
+ default="3",
+ values=("none", "2", "3", "mkl", "amdfftw"),
+ description="Enable the use of FFTW/FFTW3/MKL FFT/AMDFFTW",
+ )
+
+ variant(
+ "interface",
+ default="none",
+ values=("none", "tcl", "python"),
+ description="Enables TCL and/or python interface",
+ )
# init_tcl_pointers() declaration and implementation are inconsistent
# "src/colvarproxy_namd.C", line 482: error: inherited member is not
# allowed
- patch('inherited-member-2.13.patch', when='@2.13')
- patch('inherited-member-2.14.patch', when='@2.14')
+ patch("inherited-member-2.13.patch", when="@2.13")
+ patch("inherited-member-2.14.patch", when="@2.14")
# Handle change in python-config for python@3.8:
- patch('namd-python38.patch', when='interface=python ^python@3.8:')
+ patch("namd-python38.patch", when="interface=python ^python@3.8:")
- depends_on('charmpp@6.10.1:6', when="@2.14:")
- depends_on('charmpp@6.8.2', when="@2.13")
- depends_on('charmpp@6.7.1', when="@2.12")
+ depends_on("charmpp@6.10.1:6", when="@2.14:")
+ depends_on("charmpp@6.8.2", when="@2.13")
+ depends_on("charmpp@6.7.1", when="@2.12")
- depends_on('fftw@:2', when="fftw=2")
- depends_on('fftw@3:', when="fftw=3")
+ depends_on("fftw@:2", when="fftw=2")
+ depends_on("fftw@3:", when="fftw=3")
- depends_on('amdfftw', when="fftw=amdfftw")
+ depends_on("amdfftw", when="fftw=amdfftw")
- depends_on('intel-mkl', when="fftw=mkl")
+ depends_on("intel-mkl", when="fftw=mkl")
- depends_on('tcl', when='interface=tcl')
+ depends_on("tcl", when="interface=tcl")
- depends_on('tcl', when='interface=python')
- depends_on('python', when='interface=python')
+ depends_on("tcl", when="interface=python")
+ depends_on("python", when="interface=python")
# https://www.ks.uiuc.edu/Research/namd/2.12/features.html
# https://www.ks.uiuc.edu/Research/namd/2.13/features.html
# https://www.ks.uiuc.edu/Research/namd/2.14/features.html
- depends_on('cuda@6.5.14:7.5.18', when='@2.12 +cuda')
- depends_on('cuda@8.0.61:', when='@2.13: +cuda')
+ depends_on("cuda@6.5.14:7.5.18", when="@2.12 +cuda")
+ depends_on("cuda@8.0.61:", when="@2.13: +cuda")
def _copy_arch_file(self, lib):
- config_filename = 'arch/{0}.{1}'.format(self.arch, lib)
- copy('arch/Linux-x86_64.{0}'.format(lib),
- config_filename)
- if lib == 'tcl':
- filter_file(r'-ltcl8\.5',
- '-ltcl{0}'.format(self.spec['tcl'].version.up_to(2)),
- config_filename)
+ config_filename = "arch/{0}.{1}".format(self.arch, lib)
+ copy("arch/Linux-x86_64.{0}".format(lib), config_filename)
+ if lib == "tcl":
+ filter_file(
+ r"-ltcl8\.5", "-ltcl{0}".format(self.spec["tcl"].version.up_to(2)), config_filename
+ )
def _append_option(self, opts, lib):
- if lib != 'python':
+ if lib != "python":
self._copy_arch_file(lib)
spec = self.spec
- opts.extend([
- '--with-{0}'.format(lib),
- '--{0}-prefix'.format(lib), spec[lib].prefix
- ])
+ opts.extend(["--with-{0}".format(lib), "--{0}-prefix".format(lib), spec[lib].prefix])
@property
def arch(self):
@@ -88,51 +95,64 @@ class Namd(MakefilePackage, CudaPackage):
if plat.startswith("linux"):
plat = "linux"
march = platform.machine()
- return '{0}-{1}'.format(plat, march)
+ return "{0}-{1}".format(plat, march)
@property
def build_directory(self):
- return '{0}-spack'.format(self.arch)
+ return "{0}-spack".format(self.arch)
def _edit_arch_generic(self, spec, prefix):
"""Generic arch makefile generation"""
- m64 = '-m64 ' if not spec.satisfies('arch=aarch64:') else ''
- with working_dir('arch'):
- with open('{0}.arch'.format(self.build_directory), 'w') as fh:
+ m64 = "-m64 " if not spec.satisfies("arch=aarch64:") else ""
+ with working_dir("arch"):
+ with open("{0}.arch".format(self.build_directory), "w") as fh:
# this options are take from the default provided
# configuration files
# https://github.com/UIUC-PPL/charm/pull/2778
- archopt = spec.target.optimization_flags(
- spec.compiler.name, spec.compiler.version)
+ archopt = spec.target.optimization_flags(spec.compiler.name, spec.compiler.version)
- if self.spec.satisfies('^charmpp@:6.10.1'):
+ if self.spec.satisfies("^charmpp@:6.10.1"):
optims_opts = {
- 'gcc': m64 + '-O3 -fexpensive-optimizations \
- -ffast-math -lpthread ' + archopt,
- 'intel': '-O2 -ip -qopenmp-simd' + archopt,
- 'aocc': m64 + '-O3 -ffp-contract=fast -ffast-math \
- -fopenmp ' + archopt}
+ "gcc": m64
+ + "-O3 -fexpensive-optimizations \
+ -ffast-math -lpthread "
+ + archopt,
+ "intel": "-O2 -ip -qopenmp-simd" + archopt,
+ "aocc": m64
+ + "-O3 -ffp-contract=fast -ffast-math \
+ -fopenmp "
+ + archopt,
+ }
else:
optims_opts = {
- 'gcc': m64 + '-O3 -fexpensive-optimizations \
- -ffast-math -lpthread ' + archopt,
- 'intel': '-O2 -ip ' + archopt,
- 'aocc': m64 + '-O3 -ffp-contract=fast \
- -ffast-math ' + archopt}
-
- optim_opts = optims_opts[self.compiler.name] \
- if self.compiler.name in optims_opts else ''
-
- fh.write('\n'.join([
- 'NAMD_ARCH = {0}'.format(self.arch),
- 'CHARMARCH = {0}'.format(self.spec['charmpp'].charmarch),
- 'CXX = {0.cxx} {0.cxx11_flag}'.format(
- self.compiler),
- 'CXXOPTS = {0}'.format(optim_opts),
- 'CC = {0}'.format(self.compiler.cc),
- 'COPTS = {0}'.format(optim_opts),
- ''
- ]))
+ "gcc": m64
+ + "-O3 -fexpensive-optimizations \
+ -ffast-math -lpthread "
+ + archopt,
+ "intel": "-O2 -ip " + archopt,
+ "aocc": m64
+ + "-O3 -ffp-contract=fast \
+ -ffast-math "
+ + archopt,
+ }
+
+ optim_opts = (
+ optims_opts[self.compiler.name] if self.compiler.name in optims_opts else ""
+ )
+
+ fh.write(
+ "\n".join(
+ [
+ "NAMD_ARCH = {0}".format(self.arch),
+ "CHARMARCH = {0}".format(self.spec["charmpp"].charmarch),
+ "CXX = {0.cxx} {0.cxx11_flag}".format(self.compiler),
+ "CXXOPTS = {0}".format(optim_opts),
+ "CC = {0}".format(self.compiler.cc),
+ "COPTS = {0}".format(optim_opts),
+ "",
+ ]
+ )
+ )
def _edit_arch_target_based(self, spec, prefix):
"""Try to use target base arch file return True if succeed"""
@@ -140,45 +160,32 @@ class Namd(MakefilePackage, CudaPackage):
return False
found_special_opt = False
- with working_dir('arch'):
- arch_filename = '{0}.arch'.format(self.build_directory)
+ with working_dir("arch"):
+ arch_filename = "{0}.arch".format(self.build_directory)
replace = [
- [
- r"^CHARMARCH = .*$",
- 'CHARMARCH = {0}'.format(self.spec['charmpp'].charmarch)
- ],
- [
- r"^NAMD_ARCH = .*$",
- 'NAMD_ARCH = {0}'.format(self.arch)
- ]
+ [r"^CHARMARCH = .*$", "CHARMARCH = {0}".format(self.spec["charmpp"].charmarch)],
+ [r"^NAMD_ARCH = .*$", "NAMD_ARCH = {0}".format(self.arch)],
]
# Optimizations for skylake_avx512
- if spec.platform == "linux" and \
- self.compiler.name == "intel" and \
- 'avx512' in spec.target and \
- spec.target >= 'skylake_avx512':
- if spec.version >= Version("2.15") and \
- os.path.exists("Linux-AVX512-icc.arch"):
+ if (
+ spec.platform == "linux"
+ and self.compiler.name == "intel"
+ and "avx512" in spec.target
+ and spec.target >= "skylake_avx512"
+ ):
+ if spec.version >= Version("2.15") and os.path.exists("Linux-AVX512-icc.arch"):
tty.info("Building binaries with AVX512-tile optimization")
copy("Linux-AVX512-icc.arch", arch_filename)
- elif spec.version >= Version("2.14") and \
- os.path.exists("Linux-SKX-icc.arch"):
- tty.info("Building binaries with Skylake-X"
- "AVX512 optimization")
+ elif spec.version >= Version("2.14") and os.path.exists("Linux-SKX-icc.arch"):
+ tty.info("Building binaries with Skylake-X" "AVX512 optimization")
copy("Linux-SKX-icc.arch", arch_filename)
else:
return False
- replace.append([
- r"^CXX = icpc",
- 'CXX = {0}'.format(self.compiler.cxx)
- ])
- replace.append([
- r"^CC = icc",
- 'CC = {0}'.format(self.compiler.cc)
- ])
+ replace.append([r"^CXX = icpc", "CXX = {0}".format(self.compiler.cxx)])
+ replace.append([r"^CC = icc", "CC = {0}".format(self.compiler.cc)])
found_special_opt = True
if found_special_opt:
@@ -195,61 +202,61 @@ class Namd(MakefilePackage, CudaPackage):
def edit(self, spec, prefix):
self._edit_arch(spec, prefix)
- self._copy_arch_file('base')
-
- opts = ['--charm-base', spec['charmpp'].prefix]
- fftw_version = spec.variants['fftw'].value
- if fftw_version == 'none':
- opts.append('--without-fftw')
- elif fftw_version == 'mkl':
- self._append_option(opts, 'mkl')
- elif fftw_version == 'amdfftw':
- self._copy_arch_file('fftw3')
- opts.extend(['--with-fftw3',
- '--fftw-prefix', spec['amdfftw'].prefix])
+ self._copy_arch_file("base")
+
+ opts = ["--charm-base", spec["charmpp"].prefix]
+ fftw_version = spec.variants["fftw"].value
+ if fftw_version == "none":
+ opts.append("--without-fftw")
+ elif fftw_version == "mkl":
+ self._append_option(opts, "mkl")
+ elif fftw_version == "amdfftw":
+ self._copy_arch_file("fftw3")
+ opts.extend(["--with-fftw3", "--fftw-prefix", spec["amdfftw"].prefix])
else:
- _fftw = 'fftw{0}'.format('' if fftw_version == '2' else '3')
+ _fftw = "fftw{0}".format("" if fftw_version == "2" else "3")
self._copy_arch_file(_fftw)
- opts.extend(['--with-{0}'.format(_fftw),
- '--fftw-prefix', spec['fftw'].prefix])
+ opts.extend(["--with-{0}".format(_fftw), "--fftw-prefix", spec["fftw"].prefix])
- interface_type = spec.variants['interface'].value
- if interface_type != 'none':
- self._append_option(opts, 'tcl')
+ interface_type = spec.variants["interface"].value
+ if interface_type != "none":
+ self._append_option(opts, "tcl")
- if interface_type == 'python':
- self._append_option(opts, 'python')
+ if interface_type == "python":
+ self._append_option(opts, "python")
else:
- opts.extend([
- '--without-tcl',
- '--without-python'
- ])
+ opts.extend(["--without-tcl", "--without-python"])
- if '+cuda' in spec:
- self._append_option(opts, 'cuda')
- filter_file('^CUDADIR=.*$',
- 'CUDADIR={0}'.format(spec['cuda'].prefix),
- join_path('arch', self.arch + '.cuda'))
+ if "+cuda" in spec:
+ self._append_option(opts, "cuda")
+ filter_file(
+ "^CUDADIR=.*$",
+ "CUDADIR={0}".format(spec["cuda"].prefix),
+ join_path("arch", self.arch + ".cuda"),
+ )
- config = Executable('./config')
+ config = Executable("./config")
config(self.build_directory, *opts)
# patch Make.config if needed
# spack install charmpp straight to prefix
# (not to $(CHARMBASE)/$(CHARMARCH))
- if not os.path.exists(join_path(
- self.spec['charmpp'].prefix, self.spec['charmpp'].charmarch)):
- filter_file(r"^CHARM = \$\(CHARMBASE\)/\$\(CHARMARCH\)",
- "CHARM = $(CHARMBASE)",
- join_path(self.build_directory, "Make.config"))
+ if not os.path.exists(
+ join_path(self.spec["charmpp"].prefix, self.spec["charmpp"].charmarch)
+ ):
+ filter_file(
+ r"^CHARM = \$\(CHARMBASE\)/\$\(CHARMARCH\)",
+ "CHARM = $(CHARMBASE)",
+ join_path(self.build_directory, "Make.config"),
+ )
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- install('namd2', prefix.bin)
+ install("namd2", prefix.bin)
# I'm not sure this is a good idea or if an autoload of the charm
# module would not be better.
- install('charmrun', prefix.bin)
+ install("charmrun", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nano/package.py b/var/spack/repos/builtin/packages/nano/package.py
index db5170b93a..c819d87098 100644
--- a/var/spack/repos/builtin/packages/nano/package.py
+++ b/var/spack/repos/builtin/packages/nano/package.py
@@ -10,73 +10,73 @@ class Nano(AutotoolsPackage):
"""Tiny little text editor"""
homepage = "https://www.nano-editor.org"
- url = "https://www.nano-editor.org/dist/v6/nano-6.3.tar.xz"
+ url = "https://www.nano-editor.org/dist/v6/nano-6.3.tar.xz"
list_url = "https://www.nano-editor.org/dist/"
list_depth = 1
# 6.x
- version('6.3', sha256='eb532da4985672730b500f685dbaab885a466d08fbbf7415832b95805e6f8687')
- version('6.2', sha256='2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3')
- version('6.1', sha256='3d57ec893fbfded12665b7f0d563d74431fc43abeaccacedea23b66af704db40')
- version('6.0', sha256='93ac8cb68b4ad10e0aaeb80a2dd15c5bb89eb665a4844f7ad01c67efcb169ea2')
+ version("6.3", sha256="eb532da4985672730b500f685dbaab885a466d08fbbf7415832b95805e6f8687")
+ version("6.2", sha256="2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3")
+ version("6.1", sha256="3d57ec893fbfded12665b7f0d563d74431fc43abeaccacedea23b66af704db40")
+ version("6.0", sha256="93ac8cb68b4ad10e0aaeb80a2dd15c5bb89eb665a4844f7ad01c67efcb169ea2")
# 5.x
- version('5.9', sha256='757db8cda4bb2873599e47783af463e3b547a627b0cabb30ea7bf71fb4c24937')
- version('5.8', sha256='e43b63db2f78336e2aa123e8d015dbabc1720a15361714bfd4b1bb4e5e87768c')
- version('5.7', sha256='d4b181cc2ec11def3711b4649e34f2be7a668e70ab506860514031d069cccafa')
- version('5.6', sha256='fce183e4a7034d07d219c79aa2f579005d1fd49f156db6e50f53543a87637a32')
- version('5.5', sha256='390b81bf9b41ff736db997aede4d1f60b4453fbd75a519a4ddb645f6fd687e4a')
- version('5.4', sha256='fe993408b22286355809ce48ebecc4444d19af8203ed4959d269969112ed86e9')
- version('5.3', sha256='c5c1cbcf622d9a96b6030d66409ed12b204e8bc01ef5e6554ebbe6fb1d734352')
- version('5.2', sha256='32c2da43e1ae9a5e43437d8c6e1ec0388af870c7762c479e5bffb5f292bda7e1')
- version('5.1', sha256='9efc46f341404d60095d16fc4f0419fc84b6e4eaeaf6ebce605d0465d92a6ee6')
- version('5.0', sha256='7c0d94be69cd066f20df2868a2da02f7b1d416ce8d47c0850a8bd270897caa36')
+ version("5.9", sha256="757db8cda4bb2873599e47783af463e3b547a627b0cabb30ea7bf71fb4c24937")
+ version("5.8", sha256="e43b63db2f78336e2aa123e8d015dbabc1720a15361714bfd4b1bb4e5e87768c")
+ version("5.7", sha256="d4b181cc2ec11def3711b4649e34f2be7a668e70ab506860514031d069cccafa")
+ version("5.6", sha256="fce183e4a7034d07d219c79aa2f579005d1fd49f156db6e50f53543a87637a32")
+ version("5.5", sha256="390b81bf9b41ff736db997aede4d1f60b4453fbd75a519a4ddb645f6fd687e4a")
+ version("5.4", sha256="fe993408b22286355809ce48ebecc4444d19af8203ed4959d269969112ed86e9")
+ version("5.3", sha256="c5c1cbcf622d9a96b6030d66409ed12b204e8bc01ef5e6554ebbe6fb1d734352")
+ version("5.2", sha256="32c2da43e1ae9a5e43437d8c6e1ec0388af870c7762c479e5bffb5f292bda7e1")
+ version("5.1", sha256="9efc46f341404d60095d16fc4f0419fc84b6e4eaeaf6ebce605d0465d92a6ee6")
+ version("5.0", sha256="7c0d94be69cd066f20df2868a2da02f7b1d416ce8d47c0850a8bd270897caa36")
# 4.x
- version('4.9', sha256='0e399729d105cb1a587b4140db5cf1b23215a0886a42b215efa98137164233a6')
- version('4.8', sha256='c348f61c68ab1d573b308398212a09cd68c60fbee20f01a5bd4b50071a258e63')
- version('4.7', sha256='58c0e197de5339ca3cad3ef42b65626d612ddb0b270e730f02e6ab3785c736f5')
- version('4.6', sha256='9bac3a4153774fd921dd3eb291986d43985466b081165b5ac5262b37b79628e9')
- version('4.5', sha256='ded5c38f5ecd9de2b624e0db8013a375c169d3fbbd49575967b868847df8f533')
- version('4.4', sha256='2af222e0354848ffaa3af31b5cd0a77917e9cb7742cd073d762f3c32f0f582c7')
- version('4.3', sha256='00d3ad1a287a85b4bf83e5f06cedd0a9f880413682bebd52b4b1e2af8cfc0d81')
- version('4.2', sha256='1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9')
- version('4.1', sha256='86bde596a038d6fde619b49d785c0ebf0b3eaa7001a39dbe9316bd5392d221d0')
- version('4.0', sha256='1e2fcfea35784624a7d86785768b772d58bb3995d1aec9176a27a113b1e9bac3')
+ version("4.9", sha256="0e399729d105cb1a587b4140db5cf1b23215a0886a42b215efa98137164233a6")
+ version("4.8", sha256="c348f61c68ab1d573b308398212a09cd68c60fbee20f01a5bd4b50071a258e63")
+ version("4.7", sha256="58c0e197de5339ca3cad3ef42b65626d612ddb0b270e730f02e6ab3785c736f5")
+ version("4.6", sha256="9bac3a4153774fd921dd3eb291986d43985466b081165b5ac5262b37b79628e9")
+ version("4.5", sha256="ded5c38f5ecd9de2b624e0db8013a375c169d3fbbd49575967b868847df8f533")
+ version("4.4", sha256="2af222e0354848ffaa3af31b5cd0a77917e9cb7742cd073d762f3c32f0f582c7")
+ version("4.3", sha256="00d3ad1a287a85b4bf83e5f06cedd0a9f880413682bebd52b4b1e2af8cfc0d81")
+ version("4.2", sha256="1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9")
+ version("4.1", sha256="86bde596a038d6fde619b49d785c0ebf0b3eaa7001a39dbe9316bd5392d221d0")
+ version("4.0", sha256="1e2fcfea35784624a7d86785768b772d58bb3995d1aec9176a27a113b1e9bac3")
# 3.x
- version('3.2', sha256='d12773af3589994b2e4982c5792b07c6240da5b86c5aef2103ab13b401fe6349')
- version('3.1', sha256='14c02ca40a5bc61c580ce2f9cb7f9fc72d5ccc9da17ad044f78f6fb3fdb7719e')
- version('3.0', sha256='e0a5bca354514e64762c987c200a8758b05e7bcced3b00b3e48ea0a2d383c8a0')
+ version("3.2", sha256="d12773af3589994b2e4982c5792b07c6240da5b86c5aef2103ab13b401fe6349")
+ version("3.1", sha256="14c02ca40a5bc61c580ce2f9cb7f9fc72d5ccc9da17ad044f78f6fb3fdb7719e")
+ version("3.0", sha256="e0a5bca354514e64762c987c200a8758b05e7bcced3b00b3e48ea0a2d383c8a0")
# 2.9.x
- version('2.9.8', sha256='c2deac31ba4d3fd27a42fafcc47ccf499296cc69a422bbecab63f2933ea85488')
- version('2.9.7', sha256='b64ab017305b1777e97b5b9b07b31db8aeebfc3e8719f61e8da1cf3866d344bd')
- version('2.9.6', sha256='a373507ebb4e9307a8202fbc19b5d29718025c8ec773669349211c362545d4c6')
- version('2.9.5', sha256='7b8d181cb57f42fa86a380bb9ad46abab859b60383607f731b65a9077f4b4e19')
- version('2.9.4', sha256='2cf9726e735f5c962af63d27c2faaead5936e45adec983659fb9e4af88ffa35a')
- version('2.9.3', sha256='7783bcfd4b2d5dc0bf64d4bd07b1a19e7ba3c91da881a4249772a36b972d4012')
- version('2.9.2', sha256='4eccb7451b5729ce8abae8f9a5679f32e41ae58df73ea86b850ec45b10a83d55')
- version('2.9.1', sha256='6316d52d0d26af3e79a13dcb4db1c7a4aeac61b37fd9381e801a4189a2ecba7c')
- version('2.9.0', sha256='d2d30c39caef53aba1ec1b4baff4186d4496f35d2411b0848242a5f2e27e129e')
+ version("2.9.8", sha256="c2deac31ba4d3fd27a42fafcc47ccf499296cc69a422bbecab63f2933ea85488")
+ version("2.9.7", sha256="b64ab017305b1777e97b5b9b07b31db8aeebfc3e8719f61e8da1cf3866d344bd")
+ version("2.9.6", sha256="a373507ebb4e9307a8202fbc19b5d29718025c8ec773669349211c362545d4c6")
+ version("2.9.5", sha256="7b8d181cb57f42fa86a380bb9ad46abab859b60383607f731b65a9077f4b4e19")
+ version("2.9.4", sha256="2cf9726e735f5c962af63d27c2faaead5936e45adec983659fb9e4af88ffa35a")
+ version("2.9.3", sha256="7783bcfd4b2d5dc0bf64d4bd07b1a19e7ba3c91da881a4249772a36b972d4012")
+ version("2.9.2", sha256="4eccb7451b5729ce8abae8f9a5679f32e41ae58df73ea86b850ec45b10a83d55")
+ version("2.9.1", sha256="6316d52d0d26af3e79a13dcb4db1c7a4aeac61b37fd9381e801a4189a2ecba7c")
+ version("2.9.0", sha256="d2d30c39caef53aba1ec1b4baff4186d4496f35d2411b0848242a5f2e27e129e")
# 2.8.x
- version('2.8.7', sha256='fbe31746958698d73c6726ee48ad8b0612697157961a2e9aaa83b4aa53d1165a')
- version('2.8.6', sha256='9a46962a3ae59db922467a095217ed23280b42d80640f932f3a59ba2a6a85776')
- version('2.8.5', sha256='cb43bf11990b2839446229b0c21ed7abef67c2df861f250cc874553ca27d89c2')
- version('2.8.4', sha256='c7cf264f0f3e4af43ecdbc4ec72c3b1e831c69a1a5f6512d5b0c109e6bac7b11')
- version('2.8.3', sha256='62b8e55b934091edbb41e948eac3d6769cc13d18b837c38faf7226c0820b0f55')
- version('2.8.2', sha256='023e8a7b38b2420d5476d7b2b4d8524d7de55c0853b4dc0b02e4a4adf7ecb9e0')
- version('2.8.1', sha256='e935a8bb373345c833dff3a304c6d392775d206b94c802d9285ae80ac6b66d0b')
- version('2.8.0', sha256='15c1bcf4d8888d3b56f68a0b75871cc349b81a9094f8a42d73010ffc26c85dc2')
+ version("2.8.7", sha256="fbe31746958698d73c6726ee48ad8b0612697157961a2e9aaa83b4aa53d1165a")
+ version("2.8.6", sha256="9a46962a3ae59db922467a095217ed23280b42d80640f932f3a59ba2a6a85776")
+ version("2.8.5", sha256="cb43bf11990b2839446229b0c21ed7abef67c2df861f250cc874553ca27d89c2")
+ version("2.8.4", sha256="c7cf264f0f3e4af43ecdbc4ec72c3b1e831c69a1a5f6512d5b0c109e6bac7b11")
+ version("2.8.3", sha256="62b8e55b934091edbb41e948eac3d6769cc13d18b837c38faf7226c0820b0f55")
+ version("2.8.2", sha256="023e8a7b38b2420d5476d7b2b4d8524d7de55c0853b4dc0b02e4a4adf7ecb9e0")
+ version("2.8.1", sha256="e935a8bb373345c833dff3a304c6d392775d206b94c802d9285ae80ac6b66d0b")
+ version("2.8.0", sha256="15c1bcf4d8888d3b56f68a0b75871cc349b81a9094f8a42d73010ffc26c85dc2")
# 2.7.x
- version('2.7.5', sha256='a64d24e6bc4fc448376d038f9a755af77f8e748c9051b6f45bf85e783a7e67e4')
- version('2.7.4', sha256='752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9')
- version('2.7.3', sha256='d926ef5060d23bafec75dab9328bb9b9df9a08e58c56b9061d686f5698770bfc')
- version('2.7.2', sha256='77016f73c686857ce8a3ec217832febb6e636122762d47ce3c6cbef6f7e390c2')
- version('2.7.1', sha256='df5cbe69831d7394c0a32fb27373ab313335ea4dc586d6f4be4081eb1de857cd')
- version('2.7.0', sha256='f86af39514ae74e20bef3c29cd01d1090a9aca772a70e9c9f9e70c3d14b39521')
+ version("2.7.5", sha256="a64d24e6bc4fc448376d038f9a755af77f8e748c9051b6f45bf85e783a7e67e4")
+ version("2.7.4", sha256="752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9")
+ version("2.7.3", sha256="d926ef5060d23bafec75dab9328bb9b9df9a08e58c56b9061d686f5698770bfc")
+ version("2.7.2", sha256="77016f73c686857ce8a3ec217832febb6e636122762d47ce3c6cbef6f7e390c2")
+ version("2.7.1", sha256="df5cbe69831d7394c0a32fb27373ab313335ea4dc586d6f4be4081eb1de857cd")
+ version("2.7.0", sha256="f86af39514ae74e20bef3c29cd01d1090a9aca772a70e9c9f9e70c3d14b39521")
# 2.6.x
- version('2.6.3', sha256='69ecbfbaa845800f43c27d6190ca87d277f3278f81e9c55ee569181b572b7519')
- version('2.6.2', sha256='22f79cc635458e0c0d110d211576f1edc03b112a62d73b914826a46547a6ac27')
- version('2.6.1', sha256='45721fa6d6128068895ad71a6967ff7398d11b064b3f888e5073c97a2b6e9a81')
+ version("2.6.3", sha256="69ecbfbaa845800f43c27d6190ca87d277f3278f81e9c55ee569181b572b7519")
+ version("2.6.2", sha256="22f79cc635458e0c0d110d211576f1edc03b112a62d73b914826a46547a6ac27")
+ version("2.6.1", sha256="45721fa6d6128068895ad71a6967ff7398d11b064b3f888e5073c97a2b6e9a81")
- depends_on('ncurses')
+ depends_on("ncurses")
def url_for_version(self, version):
url = "https://www.nano-editor.org/dist/v{0}/nano-{1}.tar.xz"
diff --git a/var/spack/repos/builtin/packages/nanoflann/package.py b/var/spack/repos/builtin/packages/nanoflann/package.py
index 7e9ef8d0a1..80cd1e4fb9 100644
--- a/var/spack/repos/builtin/packages/nanoflann/package.py
+++ b/var/spack/repos/builtin/packages/nanoflann/package.py
@@ -7,17 +7,16 @@ from spack.package import *
class Nanoflann(CMakePackage):
- """a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees.
- """
+ """a C++ header-only library for Nearest Neighbor (NN) search wih KD-trees."""
homepage = "https://github.com/jlblancoc/nanoflann"
- url = "https://github.com/jlblancoc/nanoflann/archive/v1.2.3.tar.gz"
+ url = "https://github.com/jlblancoc/nanoflann/archive/v1.2.3.tar.gz"
- version('1.2.3', sha256='5ef4dfb23872379fe9eb306aabd19c9df4cae852b72a923af01aea5e8d7a59c3')
+ version("1.2.3", sha256="5ef4dfb23872379fe9eb306aabd19c9df4cae852b72a923af01aea5e8d7a59c3")
def patch(self):
- filter_file('-mtune=native', '', 'CMakeLists.txt')
+ filter_file("-mtune=native", "", "CMakeLists.txt")
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS=ON']
+ args = ["-DBUILD_SHARED_LIBS=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/nanomsg/package.py b/var/spack/repos/builtin/packages/nanomsg/package.py
index 97e8b51be2..66687b8656 100644
--- a/var/spack/repos/builtin/packages/nanomsg/package.py
+++ b/var/spack/repos/builtin/packages/nanomsg/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class Nanomsg(CMakePackage):
"""The nanomsg library is a simple high-performance
- implementation of several 'scalability protocols'"""
+ implementation of several 'scalability protocols'"""
homepage = "https://nanomsg.org/"
url = "https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz"
- version('1.1.5', sha256='218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a')
- version('1.0.0', sha256='24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7')
+ version("1.1.5", sha256="218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a")
+ version("1.0.0", sha256="24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7")
diff --git a/var/spack/repos/builtin/packages/nanopb/package.py b/var/spack/repos/builtin/packages/nanopb/package.py
index 3ebacc7314..47cd9f89cc 100644
--- a/var/spack/repos/builtin/packages/nanopb/package.py
+++ b/var/spack/repos/builtin/packages/nanopb/package.py
@@ -11,9 +11,9 @@ class Nanopb(CMakePackage):
in ansi C."""
homepage = "https://jpa.kapsi.fi/nanopb/"
- url = "https://github.com/nanopb/nanopb/archive/0.3.9.1.tar.gz"
+ url = "https://github.com/nanopb/nanopb/archive/0.3.9.1.tar.gz"
- version('0.3.9.1', sha256='b22d1f86d4adb2aa0436a277c4a59a5adfc467cafeb9bf405c27ef136599bbb3')
+ version("0.3.9.1", sha256="b22d1f86d4adb2aa0436a277c4a59a5adfc467cafeb9bf405c27ef136599bbb3")
- depends_on('protobuf', type=('build'))
- depends_on('py-protobuf', type=('build'))
+ depends_on("protobuf", type=("build"))
+ depends_on("py-protobuf", type=("build"))
diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py
index e34403ce64..e7d76b1d8f 100644
--- a/var/spack/repos/builtin/packages/nasm/package.py
+++ b/var/spack/repos/builtin/packages/nasm/package.py
@@ -13,53 +13,63 @@ class Nasm(Package):
portability and modularity. It includes a disassembler as well."""
homepage = "https://www.nasm.us"
- url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz"
+ url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz"
list_url = "https://www.nasm.us/pub/nasm/releasebuilds"
list_depth = 1
- version('2.15.05', sha256='9182a118244b058651c576baa9d0366ee05983c4d4ae1d9ddd3236a9f2304997')
- version('2.14.02', sha256='b34bae344a3f2ed93b2ca7bf25f1ed3fb12da89eeda6096e3551fd66adeae9fc')
- version('2.13.03', sha256='23e1b679d64024863e2991e5c166e19309f0fe58a9765622b35bd31be5b2cc99')
- version('2.11.06', sha256='3a72476f3cb45294d303f4d34f20961b15323ac24e84eb41bc130714979123bb')
+ version("2.15.05", sha256="9182a118244b058651c576baa9d0366ee05983c4d4ae1d9ddd3236a9f2304997")
+ version("2.14.02", sha256="b34bae344a3f2ed93b2ca7bf25f1ed3fb12da89eeda6096e3551fd66adeae9fc")
+ version("2.13.03", sha256="23e1b679d64024863e2991e5c166e19309f0fe58a9765622b35bd31be5b2cc99")
+ version("2.11.06", sha256="3a72476f3cb45294d303f4d34f20961b15323ac24e84eb41bc130714979123bb")
# Fix compilation with GCC 8
# https://bugzilla.nasm.us/show_bug.cgi?id=3392461
- patch('https://src.fedoraproject.org/rpms/nasm/raw/0cc3eb244bd971df81a7f02bc12c5ec259e1a5d6/f/0001-Remove-invalid-pure_func-qualifiers.patch', level=1, sha256='ac9f315d204afa6b99ceefa1fe46d4eed2b8a23c7315d32d33c0f378d930e950', when='@2.13.03 %gcc@8:')
+ patch(
+ "https://src.fedoraproject.org/rpms/nasm/raw/0cc3eb244bd971df81a7f02bc12c5ec259e1a5d6/f/0001-Remove-invalid-pure_func-qualifiers.patch",
+ level=1,
+ sha256="ac9f315d204afa6b99ceefa1fe46d4eed2b8a23c7315d32d33c0f378d930e950",
+ when="@2.13.03 %gcc@8:",
+ )
- patch('msvc.mak.patch', when='@2.15.05 platform=windows')
+ patch("msvc.mak.patch", when="@2.15.05 platform=windows")
- conflicts('%intel@:14', when='@2.14:',
- msg="Intel 14 has immature C11 support")
+ conflicts("%intel@:14", when="@2.14:", msg="Intel 14 has immature C11 support")
- depends_on('perl', when='platform=windows')
+ depends_on("perl", when="platform=windows")
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc@:20.11'):
- filter_file(r'CFLAGS="\$pa_add_cflags__old_cflags -Werror=.*"',
- 'CFLAGS="$pa_add_cflags__old_cflags"', 'configure')
- filter_file(r'CFLAGS="\$pa_add_flags__old_flags -Werror=.*"',
- 'CFLAGS="$pa_add_flags__old_flags"', 'configure')
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file(
+ r'CFLAGS="\$pa_add_cflags__old_cflags -Werror=.*"',
+ 'CFLAGS="$pa_add_cflags__old_cflags"',
+ "configure",
+ )
+ filter_file(
+ r'CFLAGS="\$pa_add_flags__old_flags -Werror=.*"',
+ 'CFLAGS="$pa_add_flags__old_flags"',
+ "configure",
+ )
def install(self, spec, prefix):
with working_dir(self.stage.source_path, create=True):
- configure(*['--prefix={0}'.format(self.prefix)])
- make('V=1')
- make('install')
+ configure(*["--prefix={0}".format(self.prefix)])
+ make("V=1")
+ make("install")
- @when('platform=windows')
+ @when("platform=windows")
def install(self, spec, prefix):
with working_dir(self.stage.source_path, create=True):
# build NASM with nmake
- touch('asm\\warnings.time')
- nmake('/f', 'Mkfiles\\msvc.mak')
+ touch("asm\\warnings.time")
+ nmake("/f", "Mkfiles\\msvc.mak")
# install manually because the nmake file defines
# no install target
# This install tree schema mimics the pattern established
# by the NASM windows installer
build_dir = self.stage.source_path
- rdoff_dir = os.path.join(build_dir, 'rdoff')
+ rdoff_dir = os.path.join(build_dir, "rdoff")
binaries = glob.glob(os.path.join(build_dir, "*.exe"))
rdoff = glob.glob(os.path.join(rdoff_dir, "*.exe"))
rdoff.extend(glob.glob(os.path.join(rdoff_dir, "*.lib")))
diff --git a/var/spack/repos/builtin/packages/nauty/package.py b/var/spack/repos/builtin/packages/nauty/package.py
index a5ee493443..4bb2759b47 100644
--- a/var/spack/repos/builtin/packages/nauty/package.py
+++ b/var/spack/repos/builtin/packages/nauty/package.py
@@ -12,39 +12,56 @@ from spack.package import *
class Nauty(AutotoolsPackage):
"""nauty and Traces are programs for computing automorphism groups of
graphsq and digraphs"""
+
homepage = "https://pallini.di.uniroma1.it/index.html"
- url = "https://pallini.di.uniroma1.it//nauty26r7.tar.gz"
+ url = "https://pallini.di.uniroma1.it//nauty26r7.tar.gz"
- version('2.6r7', sha256='97b5648de17645895cbd56a9a0b3e23cf01f5332c476d013ea459f1a0363cdc6')
+ version("2.6r7", sha256="97b5648de17645895cbd56a9a0b3e23cf01f5332c476d013ea459f1a0363cdc6")
# Debian/ Fedora patches for @2.6r7:
urls_for_patches = {
- '@2.6r7': [
+ "@2.6r7": [
# Debian patch to fix the gt_numorbits declaration
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-fix-gt_numorbits.patch',
- 'c8e4546a7b262c92cee226beb1dc71d87d644b115375e9c8550598efcc00254f'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-fix-gt_numorbits.patch",
+ "c8e4546a7b262c92cee226beb1dc71d87d644b115375e9c8550598efcc00254f",
+ ),
# Debian patch to add explicit extern declarations where needed
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-fix-include-extern.patch',
- 'c52c62e4dc46532ad89632a3f59a9faf13dd7988e9ef29fc5e5b2a3e17449bb6'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-fix-include-extern.patch",
+ "c52c62e4dc46532ad89632a3f59a9faf13dd7988e9ef29fc5e5b2a3e17449bb6",
+ ),
# Debian patch to use zlib instead of invoking zcat through a pipe
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-zlib-blisstog.patch',
- 'b1210bfb41ddbeb4c956d660266f62e806026a559a4700ce78024a9db2b82168'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-zlib-blisstog.patch",
+ "b1210bfb41ddbeb4c956d660266f62e806026a559a4700ce78024a9db2b82168",
+ ),
# Debian patch to improve usage and help information
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-help2man.patch',
- 'c11544938446a3eca70d55b0f1084ce56fb1fb415db1ec1b5a69fd310a02b16c'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-help2man.patch",
+ "c11544938446a3eca70d55b0f1084ce56fb1fb415db1ec1b5a69fd310a02b16c",
+ ),
# Debian patch to add libtool support for building a shared library
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-autotoolization.patch',
- '7f60ae3d8aeee830306db991c908efae461f103527a7899ce79d936bb15212b5'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-autotoolization.patch",
+ "7f60ae3d8aeee830306db991c908efae461f103527a7899ce79d936bb15212b5",
+ ),
# Debian patch to canonicalize header file usage
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-includes.patch',
- '9a305f0cd3f1136a9885518bd7912c669d1ca4b2b43bd039d6fc5535b9679778'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-includes.patch",
+ "9a305f0cd3f1136a9885518bd7912c669d1ca4b2b43bd039d6fc5535b9679778",
+ ),
# Debian patch to prefix "nauty-" to the names of the generic tools
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-tool-prefix.patch',
- '736266813a62b3151e0b81ded6578bd0f53f03fc8ffbc54c7c2a2c64ac07b25f'),
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-tool-prefix.patch",
+ "736266813a62b3151e0b81ded6578bd0f53f03fc8ffbc54c7c2a2c64ac07b25f",
+ ),
# Fedora patch to detect availability of the popcnt
# instruction at runtime
- ('https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-popcnt.patch',
- '0dc2e0374491dddf5757f0717d0ea3f949f85b540202385662f10c358b4a08e8')
+ (
+ "https://src.fedoraproject.org/rpms/nauty/raw/0f07d01caf84e9d30cb06b11af4860dd3837636a/f/nauty-popcnt.patch",
+ "0dc2e0374491dddf5757f0717d0ea3f949f85b540202385662f10c358b4a08e8",
+ ),
]
}
# Iterate over patches
@@ -52,25 +69,25 @@ class Nauty(AutotoolsPackage):
for path, sha256 in url_and_sha256:
patch(path, when=condition, level=1, sha256=sha256)
- depends_on('m4', type='build', when='@2.6r7')
- depends_on('autoconf', type='build', when='@2.6r7')
- depends_on('automake', type='build', when='@2.6r7')
- depends_on('libtool', type='build', when='@2.6r7')
- depends_on('pkgconfig', type='build')
- depends_on('help2man', type='build')
- depends_on('zlib')
- depends_on('gmp')
+ depends_on("m4", type="build", when="@2.6r7")
+ depends_on("autoconf", type="build", when="@2.6r7")
+ depends_on("automake", type="build", when="@2.6r7")
+ depends_on("libtool", type="build", when="@2.6r7")
+ depends_on("pkgconfig", type="build")
+ depends_on("help2man", type="build")
+ depends_on("zlib")
+ depends_on("gmp")
@property
def force_autoreconf(self):
- return self.spec.satisfies('@2.6r7')
+ return self.spec.satisfies("@2.6r7")
def url_for_version(self, version):
url = "https://pallini.di.uniroma1.it//nauty{0}.tar.gz"
return url.format(version.joined)
def patch(self):
- os.remove('makefile')
- ver = str(self.version.dotted).replace('r', '.')
- if self.spec.satisfies('@2.6r7'):
- filter_file('@INJECTVER@', ver, "configure.ac")
+ os.remove("makefile")
+ ver = str(self.version.dotted).replace("r", ".")
+ if self.spec.satisfies("@2.6r7"):
+ filter_file("@INJECTVER@", ver, "configure.ac")
diff --git a/var/spack/repos/builtin/packages/nbdkit/package.py b/var/spack/repos/builtin/packages/nbdkit/package.py
index 6d0a152b3c..6d0748f6dc 100644
--- a/var/spack/repos/builtin/packages/nbdkit/package.py
+++ b/var/spack/repos/builtin/packages/nbdkit/package.py
@@ -12,20 +12,20 @@ class Nbdkit(AutotoolsPackage):
for creating NBD servers."""
homepage = "https://github.com/libguestfs/nbdkit"
- url = "https://github.com/libguestfs/nbdkit/archive/v1.23.7.tar.gz"
+ url = "https://github.com/libguestfs/nbdkit/archive/v1.23.7.tar.gz"
- version('1.23.7', sha256='70909721f60f06abadfac8646b37f942ceeaf73ce88909ab48402175ae1b6391')
- version('1.23.6', sha256='5a62cbcc41143a90c204d4a48ebe13225f21776fbc4e8fe8ca59531bb1c751fc')
- version('1.23.5', sha256='d07aa309b7d6f088a491fbbe645f23d56cd6e68995c4b73fb5bb609fc6b0de53')
- version('1.23.4', sha256='6581e6cc6dbcb42451abad096efd4e1016b3a0f0d1c7a1724d0a76259ab96429')
- version('1.23.3', sha256='78f14b00c771733047abcf882e715f62bb19820a6571cae0ccb5f965054697c6')
+ version("1.23.7", sha256="70909721f60f06abadfac8646b37f942ceeaf73ce88909ab48402175ae1b6391")
+ version("1.23.6", sha256="5a62cbcc41143a90c204d4a48ebe13225f21776fbc4e8fe8ca59531bb1c751fc")
+ version("1.23.5", sha256="d07aa309b7d6f088a491fbbe645f23d56cd6e68995c4b73fb5bb609fc6b0de53")
+ version("1.23.4", sha256="6581e6cc6dbcb42451abad096efd4e1016b3a0f0d1c7a1724d0a76259ab96429")
+ version("1.23.3", sha256="78f14b00c771733047abcf882e715f62bb19820a6571cae0ccb5f965054697c6")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
def configure_args(self):
- args = ['bashcompdir={0}'.format(prefix)]
+ args = ["bashcompdir={0}".format(prefix)]
return args
diff --git a/var/spack/repos/builtin/packages/ncbi-magicblast/package.py b/var/spack/repos/builtin/packages/ncbi-magicblast/package.py
index 798e6d28ad..d16ace7640 100644
--- a/var/spack/repos/builtin/packages/ncbi-magicblast/package.py
+++ b/var/spack/repos/builtin/packages/ncbi-magicblast/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class NcbiMagicblast(AutotoolsPackage):
"""Magic-BLAST is a tool for mapping large next-generation RNA or DNA
- sequencing runs against a whole genome or transcriptome. """
+ sequencing runs against a whole genome or transcriptome."""
homepage = "https://ncbi.github.io/magicblast/"
- url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/magicblast/1.3.0/ncbi-magicblast-1.3.0-src.tar.gz"
+ url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/magicblast/1.3.0/ncbi-magicblast-1.3.0-src.tar.gz"
- version('1.5.0', sha256='b261914d9f7ffc0e655079ceba3e348ba11df1a1f73c4e47a4b1ca154754985c')
- version('1.3.0', sha256='47b9b65d595b5cb0c4fef22bc7f7c038fb8d4a0accdbe560d7232820575aff67')
+ version("1.5.0", sha256="b261914d9f7ffc0e655079ceba3e348ba11df1a1f73c4e47a4b1ca154754985c")
+ version("1.3.0", sha256="47b9b65d595b5cb0c4fef22bc7f7c038fb8d4a0accdbe560d7232820575aff67")
- depends_on('cpio', type='build')
- depends_on('lmdb')
+ depends_on("cpio", type="build")
+ depends_on("lmdb")
- configure_directory = 'c++'
+ configure_directory = "c++"
def configure_args(self):
- return ['--without-internal']
+ return ["--without-internal"]
diff --git a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py
index 78bc70bad6..8533f1e37b 100644
--- a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py
+++ b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py
@@ -10,10 +10,10 @@ class NcbiRmblastn(AutotoolsPackage):
"""RMBlast search engine for NCBI"""
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"
+ 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')
- version('2.9.0', sha256='a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257')
+ version("2.11.0", sha256="d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954")
+ version("2.9.0", sha256="a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257")
# There is a corresponding gzipped patch file associated with each version.
# According to the documentation, https://www.repeatmasker.org/RMBlast.html,
@@ -23,22 +23,22 @@ class NcbiRmblastn(AutotoolsPackage):
# The patch is downloaded and unzipped in the ncbi-rmblastn Spack package
# directory to make it available for the patch directive.
patch(
- 'https://www.repeatmasker.org/isb-2.11.0+-rmblast.patch.gz',
- sha256='ce985abd3512834adb9ad3e4078fbf9608a33a2ee6538a1e94b641490c92f899',
- archive_sha256='0fc27781c2ea2f17645247e2f3775b5d18c56f0b62761a865347be745ea4f6be',
- when='@2.11.0'
+ "https://www.repeatmasker.org/isb-2.11.0+-rmblast.patch.gz",
+ sha256="ce985abd3512834adb9ad3e4078fbf9608a33a2ee6538a1e94b641490c92f899",
+ archive_sha256="0fc27781c2ea2f17645247e2f3775b5d18c56f0b62761a865347be745ea4f6be",
+ when="@2.11.0",
)
patch(
- 'https://www.repeatmasker.org/isb-2.9.0+-rmblast.patch.gz',
- sha256='ffa0845801aed11f4215b452532f3ff5b3dcb49ac8c14169568aaa585b9450ed',
- archive_sha256='e746ee480ade608052306fd21f015c8a323f27029f65399275216f9a4c882d59',
- when='@2.9.0'
+ "https://www.repeatmasker.org/isb-2.9.0+-rmblast.patch.gz",
+ sha256="ffa0845801aed11f4215b452532f3ff5b3dcb49ac8c14169568aaa585b9450ed",
+ archive_sha256="e746ee480ade608052306fd21f015c8a323f27029f65399275216f9a4c882d59",
+ when="@2.9.0",
)
- depends_on('cpio', type='build')
- depends_on('boost')
- depends_on('lzo')
+ depends_on("cpio", type="build")
+ depends_on("boost")
+ depends_on("lzo")
- configure_directory = 'c++'
+ configure_directory = "c++"
def url_for_version(self, version):
url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/{0}/ncbi-blast-{1}+-src.tar.gz"
diff --git a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py
index ab53332331..d4525a0edd 100644
--- a/var/spack/repos/builtin/packages/ncbi-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/ncbi-toolkit/package.py
@@ -13,69 +13,82 @@ class NcbiToolkit(AutotoolsPackage):
"""NCBI C++ Toolkit"""
homepage = "https://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/"
- url = "ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/CURRENT/ncbi_cxx--22_0_0.tar.gz"
+ url = "ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/CURRENT/ncbi_cxx--22_0_0.tar.gz"
- version('22_0_0', sha256='ef39429bbc7f13c44c0d327432d9cfb430f9f20d10d825e6b2c4ddd7ccce457f',
- url='ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/2019/Mar_28_2019/ncbi_cxx--22_0_0.tar.gz')
- version('21_0_0', sha256='48cc3ae24ca63d1ab1be148e7525e8c5b9f4eaa5eb36d172800784b640a84a4f',
- url='ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/2018/Apr_2_2018/ncbi_cxx--21_0_0.tar.gz')
+ version(
+ "22_0_0",
+ sha256="ef39429bbc7f13c44c0d327432d9cfb430f9f20d10d825e6b2c4ddd7ccce457f",
+ url="ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/2019/Mar_28_2019/ncbi_cxx--22_0_0.tar.gz",
+ )
+ version(
+ "21_0_0",
+ sha256="48cc3ae24ca63d1ab1be148e7525e8c5b9f4eaa5eb36d172800784b640a84a4f",
+ url="ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/2018/Apr_2_2018/ncbi_cxx--21_0_0.tar.gz",
+ )
- variant('debug', default=False,
- description='Build debug versions of libs and apps')
+ variant("debug", default=False, description="Build debug versions of libs and apps")
- depends_on('boost@1.35.0:')
+ depends_on("boost@1.35.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('bzip2')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('libxml2')
- depends_on('libxslt@1.1.14:')
- depends_on('lzo')
- depends_on('pcre')
- depends_on('giflib')
- depends_on('sqlite@3.6.6:')
- depends_on('zlib')
- depends_on('samtools')
- depends_on('bamtools')
+ depends_on("bzip2")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("libxml2")
+ depends_on("libxslt@1.1.14:")
+ depends_on("lzo")
+ depends_on("pcre")
+ depends_on("giflib")
+ depends_on("sqlite@3.6.6:")
+ depends_on("zlib")
+ depends_on("samtools")
+ depends_on("bamtools")
def configure_args(self):
- args = ['--without-sybase', '--without-fastcgi']
- if '+debug' not in self.spec:
- args += ['--without-debug']
+ args = ["--without-sybase", "--without-fastcgi"]
+ if "+debug" not in self.spec:
+ args += ["--without-debug"]
return args
def patch(self):
- with working_dir(join_path('src', 'util', 'image')):
- filter_file(r'jpeg_start_compress(&cinfo, true)',
- 'jpeg_start_compress(&cinfo, TRUE)',
- 'image_io_jpeg.cpp', string=True)
+ with working_dir(join_path("src", "util", "image")):
+ filter_file(
+ r"jpeg_start_compress(&cinfo, true)",
+ "jpeg_start_compress(&cinfo, TRUE)",
+ "image_io_jpeg.cpp",
+ string=True,
+ )
# TODO: Convert these substitutions into BOOST_VERSION preprocessor
# patches to send upstream.
- if self.spec.satisfies('^boost@1.69:'):
- with working_dir(join_path('include', 'corelib')):
- filter_file(r'(boost::unit_test::decorator::collector)',
- r'\1_t', 'test_boost.hpp')
- if self.spec.satisfies('^boost@1.70:'):
- with working_dir(join_path('include', 'corelib')):
- filter_file(('unit_test::ut_detail::'
- 'ignore_unused_variable_warning'),
- 'ignore_unused', 'test_boost.hpp', string=True)
- with working_dir(join_path('src', 'corelib')):
- for file_ in ['test_boost.cpp', 'teamcity_boost.cpp']:
+ if self.spec.satisfies("^boost@1.69:"):
+ with working_dir(join_path("include", "corelib")):
+ filter_file(r"(boost::unit_test::decorator::collector)", r"\1_t", "test_boost.hpp")
+ if self.spec.satisfies("^boost@1.70:"):
+ with working_dir(join_path("include", "corelib")):
+ filter_file(
+ ("unit_test::ut_detail::" "ignore_unused_variable_warning"),
+ "ignore_unused",
+ "test_boost.hpp",
+ string=True,
+ )
+ with working_dir(join_path("src", "corelib")):
+ for file_ in ["test_boost.cpp", "teamcity_boost.cpp"]:
filter_file(
- r'(void log_build_info\s*\(.*ostream&[^)]*)\);',
- r'\1, bool log_build_info = true);', file_)
- filter_file(r'(::log_build_info\(.*ostream.*&[^)]+)\)',
- r'\1, bool log_build_info)', file_)
- filter_file(r'(log_build_info\(ostr)\)', r'\1, true)',
- file_)
+ r"(void log_build_info\s*\(.*ostream&[^)]*)\);",
+ r"\1, bool log_build_info = true);",
+ file_,
+ )
+ filter_file(
+ r"(::log_build_info\(.*ostream.*&[^)]+)\)",
+ r"\1, bool log_build_info)",
+ file_,
+ )
+ filter_file(r"(log_build_info\(ostr)\)", r"\1, true)", file_)
def build(self, spec, prefix):
- with working_dir(join_path(glob(
- '*MT64')[0], 'build')):
- make('all_r')
+ with working_dir(join_path(glob("*MT64")[0], "build")):
+ make("all_r")
diff --git a/var/spack/repos/builtin/packages/nccl-tests/package.py b/var/spack/repos/builtin/packages/nccl-tests/package.py
index bdd54a5cad..33768cfc92 100644
--- a/var/spack/repos/builtin/packages/nccl-tests/package.py
+++ b/var/spack/repos/builtin/packages/nccl-tests/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class NcclTests(MakefilePackage, CudaPackage):
"""These tests check both the performance and
- the correctness of NCCL operations."""
+ the correctness of NCCL operations."""
homepage = "https://github.com/NVIDIA/nccl-tests"
- url = "https://github.com/NVIDIA/nccl-tests/archive/v2.0.0.tar.gz"
+ url = "https://github.com/NVIDIA/nccl-tests/archive/v2.0.0.tar.gz"
- version('2.0.0', sha256='731fc3b7c37de59cfe880bf198349ac185639ef23570749ea6aef334c850c49c')
+ version("2.0.0", sha256="731fc3b7c37de59cfe880bf198349ac185639ef23570749ea6aef334c850c49c")
- variant('mpi', default=True, description='with MPI support')
- variant('cuda', default=True, description='with CUDA support, must be true')
- conflicts('~cuda', msg='nccl-tests require cuda')
+ variant("mpi", default=True, description="with MPI support")
+ variant("cuda", default=True, description="with CUDA support, must be true")
+ conflicts("~cuda", msg="nccl-tests require cuda")
- depends_on('nccl')
- depends_on('cuda')
- depends_on('mpi', when='+mpi')
+ depends_on("nccl")
+ depends_on("cuda")
+ depends_on("mpi", when="+mpi")
@property
def build_targets(self):
targets = []
- targets.append('CUDA_HOME={0}'.format(self.spec['cuda'].prefix))
- targets.append('NCCL_HOME={0}'.format(self.spec['nccl'].prefix))
- if '+mpi' in self.spec:
- targets.append('MPI_HOME={0}'.format(self.spec['mpi'].prefix))
- targets.append('MPI=1')
+ targets.append("CUDA_HOME={0}".format(self.spec["cuda"].prefix))
+ targets.append("NCCL_HOME={0}".format(self.spec["nccl"].prefix))
+ if "+mpi" in self.spec:
+ targets.append("MPI_HOME={0}".format(self.spec["mpi"].prefix))
+ targets.append("MPI=1")
return targets
def setup_build_environment(self, env):
@@ -41,4 +41,4 @@ class NcclTests(MakefilePackage, CudaPackage):
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('./build', prefix.bin)
+ install_tree("./build", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nccl/package.py b/var/spack/repos/builtin/packages/nccl/package.py
index 3c37311fa1..07480a29a9 100644
--- a/var/spack/repos/builtin/packages/nccl/package.py
+++ b/var/spack/repos/builtin/packages/nccl/package.py
@@ -12,65 +12,74 @@ class Nccl(MakefilePackage, CudaPackage):
"""Optimized primitives for collective multi-GPU communication."""
homepage = "https://github.com/NVIDIA/nccl"
- url = "https://github.com/NVIDIA/nccl/archive/v2.7.3-1.tar.gz"
+ url = "https://github.com/NVIDIA/nccl/archive/v2.7.3-1.tar.gz"
- maintainers = ['adamjstewart']
- libraries = ['libnccl.so']
+ maintainers = ["adamjstewart"]
+ libraries = ["libnccl.so"]
- version('2.11.4-1', sha256='db4e9a0277a64f9a31ea9b5eea22e63f10faaed36dded4587bbc8a0d8eceed10')
- version('2.10.3-1', sha256='55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5')
- version('2.9.9-1', sha256='01629a1bdadbadb2828e26023ba7685bbc07678468cb7df63cc96460f5337e08')
- version('2.9.8-1', sha256='f6e5d9c10e6e54ee21f9707d2df684083d0cccf87bd5a4dbc795803da2bc9f5a')
- version('2.9.6-1', sha256='c4b1f5a88f03c0ac8f1dcbe27723cd75cfe051754078d83629efaaed10ce8731')
- version('2.8.4-1', sha256='a5c1b4da6e1608ee63baa87f6df424bba7a8b1cedad597a25d5b4cf8d56d0865')
- version('2.8.3-1', sha256='3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6')
- version('2.7.8-1', sha256='fa2bec307270f30fcf6280a85f24ea8801e0ce3b3027937c7325260a890b07e0')
- version('2.7.6-1', sha256='60dd9b1743c2db6c05f60959edf98a4477f218115ef910d7ec2662f2fb5cf626')
- version('2.7.5-1', sha256='26a8dec6fa0a776eb71205d618d58e26d372621719788a23b33db6fdce4426bf')
- version('2.7.3-1', sha256='dc7b8794373306e323363314c3327796e416f745e8003490fc1407a22dd7acd6')
- version('2.6.4-1', sha256='ed8c9dfd40e013003923ae006787b1a30d3cb363b47d2e4307eaa2624ebba2ba')
- version('2.5.7-1', sha256='781a6bb2278566be4abbdf22b2fa19afc7306cff4b312c82bd782979b368014e')
- version('2.5.6-2', sha256='8a30e0b4813a825592872fcbeeede22a659e2c399074dcce02960591dc81387d')
- version('2.5.6-1', sha256='38a37d98be11f43232b988719226866b407f08b9666dcaf345796bd8f354ef54')
- version('2.4.8-1', sha256='e2260da448ebbebe437f74768a346d28c74eabdb92e372a3dc6652a626318924')
- version('2.4.6-1', sha256='ea4421061a7b9c454f2e088f68bfdbbcefab80ce81cafc70ee6c7742b1439591')
- version('2.4.2-1', sha256='e3dd04b22eb541394bd818e5f78ac23a09cc549690d5d55d6fccc1a36155385a')
- version('2.3.7-1', sha256='e6eff80d9d2db13c61f8452e1400ca2f098d2dfe42857cb23413ce081c5b9e9b')
- version('2.3.5-5', sha256='bac9950b4d3980c25baa8e3e4541d2dfb4d21edf32ad3b89022d04920357142f')
- version('1.3.4-1', sha256='11e4eb44555bb28b9cbad973dacb4640b82710c9769e719afc2013b63ffaf884', deprecated=True)
- version('1.3.0-1', sha256='53f36151061907bdcafad1c26c1d9370a0a8400f561a83704a5138213ba51003', deprecated=True)
+ version("2.11.4-1", sha256="db4e9a0277a64f9a31ea9b5eea22e63f10faaed36dded4587bbc8a0d8eceed10")
+ version("2.10.3-1", sha256="55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5")
+ version("2.9.9-1", sha256="01629a1bdadbadb2828e26023ba7685bbc07678468cb7df63cc96460f5337e08")
+ version("2.9.8-1", sha256="f6e5d9c10e6e54ee21f9707d2df684083d0cccf87bd5a4dbc795803da2bc9f5a")
+ version("2.9.6-1", sha256="c4b1f5a88f03c0ac8f1dcbe27723cd75cfe051754078d83629efaaed10ce8731")
+ version("2.8.4-1", sha256="a5c1b4da6e1608ee63baa87f6df424bba7a8b1cedad597a25d5b4cf8d56d0865")
+ version("2.8.3-1", sha256="3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6")
+ version("2.7.8-1", sha256="fa2bec307270f30fcf6280a85f24ea8801e0ce3b3027937c7325260a890b07e0")
+ version("2.7.6-1", sha256="60dd9b1743c2db6c05f60959edf98a4477f218115ef910d7ec2662f2fb5cf626")
+ version("2.7.5-1", sha256="26a8dec6fa0a776eb71205d618d58e26d372621719788a23b33db6fdce4426bf")
+ version("2.7.3-1", sha256="dc7b8794373306e323363314c3327796e416f745e8003490fc1407a22dd7acd6")
+ version("2.6.4-1", sha256="ed8c9dfd40e013003923ae006787b1a30d3cb363b47d2e4307eaa2624ebba2ba")
+ version("2.5.7-1", sha256="781a6bb2278566be4abbdf22b2fa19afc7306cff4b312c82bd782979b368014e")
+ version("2.5.6-2", sha256="8a30e0b4813a825592872fcbeeede22a659e2c399074dcce02960591dc81387d")
+ version("2.5.6-1", sha256="38a37d98be11f43232b988719226866b407f08b9666dcaf345796bd8f354ef54")
+ version("2.4.8-1", sha256="e2260da448ebbebe437f74768a346d28c74eabdb92e372a3dc6652a626318924")
+ version("2.4.6-1", sha256="ea4421061a7b9c454f2e088f68bfdbbcefab80ce81cafc70ee6c7742b1439591")
+ version("2.4.2-1", sha256="e3dd04b22eb541394bd818e5f78ac23a09cc549690d5d55d6fccc1a36155385a")
+ version("2.3.7-1", sha256="e6eff80d9d2db13c61f8452e1400ca2f098d2dfe42857cb23413ce081c5b9e9b")
+ version("2.3.5-5", sha256="bac9950b4d3980c25baa8e3e4541d2dfb4d21edf32ad3b89022d04920357142f")
+ version(
+ "1.3.4-1",
+ sha256="11e4eb44555bb28b9cbad973dacb4640b82710c9769e719afc2013b63ffaf884",
+ deprecated=True,
+ )
+ version(
+ "1.3.0-1",
+ sha256="53f36151061907bdcafad1c26c1d9370a0a8400f561a83704a5138213ba51003",
+ deprecated=True,
+ )
- variant('cuda', default=True, description='Build with CUDA')
+ variant("cuda", default=True, description="Build with CUDA")
- depends_on('rdma-core', when='@2.3.5-5:')
+ depends_on("rdma-core", when="@2.3.5-5:")
# https://github.com/NVIDIA/nccl/issues/244
- patch('so_reuseport.patch', when='@2.3.7-1:2.4.8-1')
+ patch("so_reuseport.patch", when="@2.3.7-1:2.4.8-1")
- conflicts('~cuda', msg='NCCL requires CUDA')
- conflicts('cuda_arch=none',
- msg='Must specify CUDA compute capabilities of your GPU, see '
- 'https://developer.nvidia.com/cuda-gpus')
+ conflicts("~cuda", msg="NCCL requires CUDA")
+ conflicts(
+ "cuda_arch=none",
+ msg="Must specify CUDA compute capabilities of your GPU, see "
+ "https://developer.nvidia.com/cuda-gpus",
+ )
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.(\d+\.\d+\.\d+)',
- lib)
+ match = re.search(r"lib\S*\.so\.(\d+\.\d+\.\d+)", lib)
return match.group(1) if match else None
@property
def build_targets(self):
- cuda_arch = self.spec.variants['cuda_arch'].value
- cuda_gencode = ' '.join(self.cuda_flags(cuda_arch))
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ cuda_gencode = " ".join(self.cuda_flags(cuda_arch))
return [
- 'CUDA_HOME={0}'.format(self.spec['cuda'].prefix),
- 'NVCC_GENCODE={0}'.format(cuda_gencode),
+ "CUDA_HOME={0}".format(self.spec["cuda"].prefix),
+ "NVCC_GENCODE={0}".format(cuda_gencode),
]
@property
def install_targets(self):
- if self.version >= Version('2.3.5-5'):
- return ['PREFIX={0}'.format(self.prefix), 'src.install']
+ if self.version >= Version("2.3.5-5"):
+ return ["PREFIX={0}".format(self.prefix), "src.install"]
else:
- return ['PREFIX={0}'.format(self.prefix), 'install']
+ return ["PREFIX={0}".format(self.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/nccmp/package.py b/var/spack/repos/builtin/packages/nccmp/package.py
index b8902ba38f..5ba2d478e9 100644
--- a/var/spack/repos/builtin/packages/nccmp/package.py
+++ b/var/spack/repos/builtin/packages/nccmp/package.py
@@ -7,11 +7,12 @@ from spack.package import *
class Nccmp(CMakePackage):
"""Compare NetCDF Files"""
+
homepage = "http://nccmp.sourceforge.net/"
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')
+ 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')
+ depends_on("netcdf-c")
diff --git a/var/spack/repos/builtin/packages/ncdu/package.py b/var/spack/repos/builtin/packages/ncdu/package.py
index 839bc419bd..b615173496 100644
--- a/var/spack/repos/builtin/packages/ncdu/package.py
+++ b/var/spack/repos/builtin/packages/ncdu/package.py
@@ -15,26 +15,25 @@ class Ncdu(Package):
"""
homepage = "https://dev.yorhel.nl/ncdu"
- url = "https://dev.yorhel.nl/download/ncdu-1.11.tar.gz"
-
- version('1.17', sha256='810745a8ed1ab3788c87d3aea4cc1a14edf6ee226f764bcc383e024ba56adbf1')
- version('1.16', sha256='2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4')
- version('1.15.1', sha256='b02ddc4dbf1db139cc6fbbe2f54a282770380f0ca5c17089855eab52a9ea3fb0')
- version('1.14.2', sha256='947a7f5c1d0cd4e338e72b4f5bc5e2873651442cec3cb012e04ad2c37152c6b1')
- version('1.13', sha256='f4d9285c38292c2de05e444d0ba271cbfe1a705eee37c2b23ea7c448ab37255a')
- version('1.12', sha256='820e4e4747a2a2ec7a2e9f06d2f5a353516362c22496a10a9834f871b877499a')
- version('1.11', sha256='d0aea772e47463c281007f279a9041252155a2b2349b18adb9055075e141bb7b')
- version('1.10', sha256='f5994a4848dbbca480d39729b021f057700f14ef72c0d739bbd82d862f2f0c67')
- version('1.9', sha256='ea7349544a9da77764293d84e52862110ab49ee29b949158bc4bab908d3dd3a5')
- version('1.8', sha256='42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099')
- version('1.7', sha256='70dfe10b4c0843050ee17ab27b7ad4d65714682f117079b85d779f83431fb333')
+ url = "https://dev.yorhel.nl/download/ncdu-1.11.tar.gz"
+
+ version("1.17", sha256="810745a8ed1ab3788c87d3aea4cc1a14edf6ee226f764bcc383e024ba56adbf1")
+ version("1.16", sha256="2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4")
+ version("1.15.1", sha256="b02ddc4dbf1db139cc6fbbe2f54a282770380f0ca5c17089855eab52a9ea3fb0")
+ version("1.14.2", sha256="947a7f5c1d0cd4e338e72b4f5bc5e2873651442cec3cb012e04ad2c37152c6b1")
+ version("1.13", sha256="f4d9285c38292c2de05e444d0ba271cbfe1a705eee37c2b23ea7c448ab37255a")
+ version("1.12", sha256="820e4e4747a2a2ec7a2e9f06d2f5a353516362c22496a10a9834f871b877499a")
+ version("1.11", sha256="d0aea772e47463c281007f279a9041252155a2b2349b18adb9055075e141bb7b")
+ version("1.10", sha256="f5994a4848dbbca480d39729b021f057700f14ef72c0d739bbd82d862f2f0c67")
+ version("1.9", sha256="ea7349544a9da77764293d84e52862110ab49ee29b949158bc4bab908d3dd3a5")
+ version("1.8", sha256="42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099")
+ version("1.7", sha256="70dfe10b4c0843050ee17ab27b7ad4d65714682f117079b85d779f83431fb333")
depends_on("ncurses")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
def install(self, spec, prefix):
- configure('--prefix=%s' % prefix,
- '--with-ncurses=%s' % spec['ncurses'])
+ configure("--prefix=%s" % prefix, "--with-ncurses=%s" % spec["ncurses"])
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/ncftp/package.py b/var/spack/repos/builtin/packages/ncftp/package.py
index a8da52b86c..33f1a7b47a 100644
--- a/var/spack/repos/builtin/packages/ncftp/package.py
+++ b/var/spack/repos/builtin/packages/ncftp/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Ncftp(AutotoolsPackage):
"""NcFTP Client is a set of application programs implementing the
- File Transfer Protocol."""
+ File Transfer Protocol."""
homepage = "https://www.ncftp.com/"
- url = "ftp://ftp.ncftp.com/ncftp/ncftp-3.2.6-src.tar.gz"
+ url = "ftp://ftp.ncftp.com/ncftp/ncftp-3.2.6-src.tar.gz"
- version('3.2.6', sha256='129e5954850290da98af012559e6743de193de0012e972ff939df9b604f81c23')
+ version("3.2.6", sha256="129e5954850290da98af012559e6743de193de0012e972ff939df9b604f81c23")
- depends_on('ncurses')
+ depends_on("ncurses")
diff --git a/var/spack/repos/builtin/packages/ncio/package.py b/var/spack/repos/builtin/packages/ncio/package.py
index 4c58b41c31..bd3d0c1ad3 100644
--- a/var/spack/repos/builtin/packages/ncio/package.py
+++ b/var/spack/repos/builtin/packages/ncio/package.py
@@ -13,18 +13,18 @@ class Ncio(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-ncio"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-ncio/archive/refs/tags/v1.0.0.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-ncio/archive/refs/tags/v1.0.0.tar.gz"
- maintainers = ['edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- version('1.1.0', sha256='9de05cf3b8b1291010197737666cede3d621605806379b528d2146c4f02d08f6')
- version('1.0.0', sha256='2e2630b26513bf7b0665619c6c3475fe171a9d8b930e9242f5546ddf54749bd4')
+ version("1.1.0", sha256="9de05cf3b8b1291010197737666cede3d621605806379b528d2146c4f02d08f6")
+ version("1.0.0", sha256="2e2630b26513bf7b0665619c6c3475fe171a9d8b930e9242f5546ddf54749bd4")
- depends_on('mpi')
- depends_on('netcdf-fortran')
+ depends_on("mpi")
+ depends_on("netcdf-fortran")
def setup_run_environment(self, env):
- lib = find_libraries('libncio', root=self.prefix, shared=False, recursive=True)
- env.set('NCIO_LIB', lib[0])
- env.set('NCIO_INC', join_path(self.prefix, 'include'))
- env.set('NCIO_LIBDIR', lib[0])
+ lib = find_libraries("libncio", root=self.prefix, shared=False, recursive=True)
+ env.set("NCIO_LIB", lib[0])
+ env.set("NCIO_INC", join_path(self.prefix, "include"))
+ env.set("NCIO_LIBDIR", lib[0])
diff --git a/var/spack/repos/builtin/packages/ncl/package.py b/var/spack/repos/builtin/packages/ncl/package.py
index f50539d749..c9f160c455 100644
--- a/var/spack/repos/builtin/packages/ncl/package.py
+++ b/var/spack/repos/builtin/packages/ncl/package.py
@@ -12,261 +12,281 @@ from spack.package import *
class Ncl(Package):
"""NCL is an interpreted language designed specifically for
- scientific data analysis and visualization. Supports NetCDF 3/4,
- GRIB 1/2, HDF 4/5, HDF-EOD 2/5, shapefile, ASCII, binary.
- Numerous analysis functions are built-in."""
+ scientific data analysis and visualization. Supports NetCDF 3/4,
+ GRIB 1/2, HDF 4/5, HDF-EOD 2/5, shapefile, ASCII, binary.
+ Numerous analysis functions are built-in."""
homepage = "https://www.ncl.ucar.edu"
url = "https://github.com/NCAR/ncl/archive/6.4.0.tar.gz"
- version('6.6.2', sha256='cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e')
- version('6.5.0', sha256='133446f3302eddf237db56bf349e1ebf228240a7320699acc339a3d7ee414591')
- version('6.4.0', sha256='0962ae1a1d716b182b3b27069b4afe66bf436c64c312ddfcf5f34d4ec60153c8')
+ version("6.6.2", sha256="cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e")
+ version("6.5.0", sha256="133446f3302eddf237db56bf349e1ebf228240a7320699acc339a3d7ee414591")
+ version("6.4.0", sha256="0962ae1a1d716b182b3b27069b4afe66bf436c64c312ddfcf5f34d4ec60153c8")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
- patch('spack_ncl.patch')
+ patch("spack_ncl.patch")
# Make ncl compile with hdf5 1.10 (upstream as of 6.5.0)
- patch('hdf5.patch', when="@6.4.0")
+ patch("hdf5.patch", when="@6.4.0")
# ymake-filter's buffer may overflow (upstream as of 6.5.0)
- patch('ymake-filter.patch', when="@6.4.0")
+ patch("ymake-filter.patch", when="@6.4.0")
# ymake additional local library and includes will be filtered improperly
- patch('ymake.patch', when="@6.4.0:")
+ patch("ymake.patch", when="@6.4.0:")
# ncl does not build with gcc@10:
# https://github.com/NCAR/ncl/issues/123
- patch('https://src.fedoraproject.org/rpms/ncl/raw/12778c55142b5b1ccc26dfbd7857da37332940c2/f/ncl-boz.patch', when='%gcc@10:', sha256='64f3502c9deab48615a4cbc26073173081c0774faf75778b044d251e45d238f7')
+ patch(
+ "https://src.fedoraproject.org/rpms/ncl/raw/12778c55142b5b1ccc26dfbd7857da37332940c2/f/ncl-boz.patch",
+ when="%gcc@10:",
+ sha256="64f3502c9deab48615a4cbc26073173081c0774faf75778b044d251e45d238f7",
+ )
# This installation script is implemented according to this manual:
# http://www.ncl.ucar.edu/Download/build_from_src.shtml
- variant('hdf4', default=False, description='Enable HDF4 support.')
- variant('gdal', default=False, description='Enable GDAL support.')
- variant('triangle', default=True, description='Enable Triangle support.')
- variant('udunits2', default=True, description='Enable UDUNITS-2 support.')
- variant('openmp', default=True, description='Enable OpenMP support.')
+ variant("hdf4", default=False, description="Enable HDF4 support.")
+ variant("gdal", default=False, description="Enable GDAL support.")
+ variant("triangle", default=True, description="Enable Triangle support.")
+ variant("udunits2", default=True, description="Enable UDUNITS-2 support.")
+ variant("openmp", default=True, description="Enable OpenMP support.")
# Non-optional dependencies according to the manual:
- depends_on('jpeg')
- depends_on('netcdf-c')
- depends_on('cairo+X+ft+pdf')
+ depends_on("jpeg")
+ depends_on("netcdf-c")
+ depends_on("cairo+X+ft+pdf")
# Extra dependencies that may be missing from build system:
- depends_on('bison', type='build')
- depends_on('flex+lex')
- depends_on('iconv')
- depends_on('tcsh')
- depends_on('makedepend', type='build')
+ depends_on("bison", type="build")
+ depends_on("flex+lex")
+ depends_on("iconv")
+ depends_on("tcsh")
+ depends_on("makedepend", type="build")
# Also, the manual says that ncl requires zlib, but that comes as a
# mandatory dependency of libpng, which is a mandatory dependency of cairo.
# The following dependencies are required, otherwise several components
# fail to compile:
- depends_on('curl')
- depends_on('iconv')
- depends_on('libx11')
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('pixman')
- depends_on('bzip2')
- depends_on('freetype')
- depends_on('fontconfig')
- depends_on('zstd')
+ depends_on("curl")
+ depends_on("iconv")
+ depends_on("libx11")
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("pixman")
+ depends_on("bzip2")
+ depends_on("freetype")
+ depends_on("fontconfig")
+ depends_on("zstd")
# In Spack, we do not have an option to compile netcdf-c without netcdf-4
# support, so we will tell the ncl configuration script that we want
# support for netcdf-4, but the script assumes that hdf5 is compiled with
# szip support. We introduce this restriction with the following dependency
# statement.
- depends_on('hdf5@:1.10+szip')
- depends_on('szip')
+ depends_on("hdf5@:1.10+szip")
+ depends_on("szip")
# ESMF is only required at runtime (for ESMF_regridding.ncl)
- depends_on('esmf', type='run')
+ depends_on("esmf", type="run")
# In Spack, we also do not have an option to compile netcdf-c without DAP
# support, so we will tell the ncl configuration script that we have it.
# Some of the optional dependencies according to the manual:
- depends_on('hdf', when='+hdf4')
- depends_on('gdal@:2.4', when='+gdal')
- depends_on('udunits', when='+udunits2')
+ depends_on("hdf", when="+hdf4")
+ depends_on("gdal@:2.4", when="+gdal")
+ depends_on("udunits", when="+udunits2")
# We need src files of triangle to appear in ncl's src tree if we want
# triangle's features.
resource(
- name='triangle',
- url='https://www.netlib.org/voronoi/triangle.zip',
- sha256='1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480',
- placement='triangle_src',
- when='+triangle')
+ name="triangle",
+ url="https://www.netlib.org/voronoi/triangle.zip",
+ sha256="1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480",
+ placement="triangle_src",
+ when="+triangle",
+ )
- sanity_check_is_file = ['bin/ncl']
+ sanity_check_is_file = ["bin/ncl"]
def patch(self):
# Make configure scripts use Spack's tcsh
- files = ['Configure'] + glob.glob('config/*')
+ files = ["Configure"] + glob.glob("config/*")
- filter_file('^#!/bin/csh -f', '#!/usr/bin/env csh', *files)
+ filter_file("^#!/bin/csh -f", "#!/usr/bin/env csh", *files)
- @run_before('install')
+ @run_before("install")
def filter_sbang(self):
# Filter sbang before install so Spack's sbang hook can fix it up
- files = glob.glob('ncarg2d/src/bin/scripts/*')
- files += glob.glob('ncarview/src/bin/scripts/*')
- files += glob.glob('ni/src/scripts/*')
+ files = glob.glob("ncarg2d/src/bin/scripts/*")
+ files += glob.glob("ncarview/src/bin/scripts/*")
+ files += glob.glob("ni/src/scripts/*")
- csh = join_path(self.spec['tcsh'].prefix.bin, 'csh')
+ csh = join_path(self.spec["tcsh"].prefix.bin, "csh")
- filter_file('^#!/bin/csh', '#!{0}'.format(csh), *files)
+ filter_file("^#!/bin/csh", "#!{0}".format(csh), *files)
def install(self, spec, prefix):
if (self.compiler.fc is None) or (self.compiler.cc is None):
- raise InstallError('NCL package requires both '
- 'C and Fortran compilers.')
+ raise InstallError("NCL package requires both " "C and Fortran compilers.")
self.prepare_site_config()
self.prepare_install_config()
self.prepare_src_tree()
- make('Everything', parallel=False)
+ make("Everything", parallel=False)
def setup_run_environment(self, env):
- env.set('NCARG_ROOT', self.spec.prefix)
+ env.set("NCARG_ROOT", self.spec.prefix)
def prepare_site_config(self):
fc_flags = []
cc_flags = []
c2f_flags = []
- if '+openmp' in self.spec:
+ if "+openmp" in self.spec:
fc_flags.append(self.compiler.openmp_flag)
cc_flags.append(self.compiler.openmp_flag)
- if self.compiler.name == 'gcc':
- fc_flags.append('-fno-range-check')
- c2f_flags.extend(['-lgfortran', '-lm'])
- elif self.compiler.name == 'intel':
- fc_flags.append('-fp-model precise')
- cc_flags.append('-fp-model precise'
- ' -std=c99'
- ' -D_POSIX_C_SOURCE=2 -D_GNU_SOURCE')
- c2f_flags.extend(['-lifcore', '-lifport'])
-
- if self.spec.satisfies('%gcc@10:'):
- fc_flags.append('-fallow-argument-mismatch')
- cc_flags.append('-fcommon')
-
- with open('./config/Spack', 'w') as f:
- f.writelines([
- '#define HdfDefines\n',
- '#define CppCommand \'/usr/bin/env cpp -traditional\'\n',
- '#define CCompiler {0}\n'.format(spack_cc),
- '#define FCompiler {0}\n'.format(spack_fc),
- ('#define CtoFLibraries ' + ' '.join(c2f_flags) + '\n'
- if len(c2f_flags) > 0
- else ''),
- ('#define CtoFLibrariesUser ' + ' '.join(c2f_flags) + '\n'
- if len(c2f_flags) > 0
- else ''),
- ('#define CcOptions ' + ' '.join(cc_flags) + '\n'
- if len(cc_flags) > 0
- else ''),
- ('#define FcOptions ' + ' '.join(fc_flags) + '\n'
- if len(fc_flags) > 0
- else ''),
- '#define BuildShared NO'
- ])
+ if self.compiler.name == "gcc":
+ fc_flags.append("-fno-range-check")
+ c2f_flags.extend(["-lgfortran", "-lm"])
+ elif self.compiler.name == "intel":
+ fc_flags.append("-fp-model precise")
+ cc_flags.append("-fp-model precise" " -std=c99" " -D_POSIX_C_SOURCE=2 -D_GNU_SOURCE")
+ c2f_flags.extend(["-lifcore", "-lifport"])
+
+ if self.spec.satisfies("%gcc@10:"):
+ fc_flags.append("-fallow-argument-mismatch")
+ cc_flags.append("-fcommon")
+
+ with open("./config/Spack", "w") as f:
+ f.writelines(
+ [
+ "#define HdfDefines\n",
+ "#define CppCommand '/usr/bin/env cpp -traditional'\n",
+ "#define CCompiler {0}\n".format(spack_cc),
+ "#define FCompiler {0}\n".format(spack_fc),
+ (
+ "#define CtoFLibraries " + " ".join(c2f_flags) + "\n"
+ if len(c2f_flags) > 0
+ else ""
+ ),
+ (
+ "#define CtoFLibrariesUser " + " ".join(c2f_flags) + "\n"
+ if len(c2f_flags) > 0
+ else ""
+ ),
+ (
+ "#define CcOptions " + " ".join(cc_flags) + "\n"
+ if len(cc_flags) > 0
+ else ""
+ ),
+ (
+ "#define FcOptions " + " ".join(fc_flags) + "\n"
+ if len(fc_flags) > 0
+ else ""
+ ),
+ "#define BuildShared NO",
+ ]
+ )
def prepare_install_config(self):
# Remove the results of the previous configuration attempts.
- self.delete_files('./Makefile', './config/Site.local')
+ self.delete_files("./Makefile", "./config/Site.local")
# Generate an array of answers that will be passed to the interactive
# configuration script.
config_answers = [
# Enter Return to continue
- '\n',
+ "\n",
# Build NCL?
- 'y\n',
+ "y\n",
# Parent installation directory :
- self.spec.prefix + '\n',
+ self.spec.prefix + "\n",
# System temp space directory :
- tempfile.gettempdir() + '\n',
+ tempfile.gettempdir() + "\n",
# Build NetCDF4 feature support (optional)?
- 'y\n'
+ "y\n",
]
- if '+hdf4' in self.spec:
- config_answers.extend([
- # Build HDF4 support (optional) into NCL?
- 'y\n',
- # Also build HDF4 support (optional) into raster library?
- 'y\n',
- # Did you build HDF4 with szip support?
- 'y\n' if self.spec.satisfies('^hdf+szip') else 'n\n'
- ])
+ if "+hdf4" in self.spec:
+ config_answers.extend(
+ [
+ # Build HDF4 support (optional) into NCL?
+ "y\n",
+ # Also build HDF4 support (optional) into raster library?
+ "y\n",
+ # Did you build HDF4 with szip support?
+ "y\n" if self.spec.satisfies("^hdf+szip") else "n\n",
+ ]
+ )
else:
- config_answers.extend([
- # Build HDF4 support (optional) into NCL?
- 'n\n',
- # Also build HDF4 support (optional) into raster library?
- 'n\n'
- ])
-
- config_answers.extend([
- # Build Triangle support (optional) into NCL
- 'y\n' if '+triangle' in self.spec else 'n\n',
- # If you are using NetCDF V4.x, did you enable NetCDF-4 support?
- 'y\n',
- # Did you build NetCDF with OPeNDAP support?
- 'y\n',
- # Build GDAL support (optional) into NCL?
- 'y\n' if '+gdal' in self.spec else 'n\n',
- # Build EEMD support (optional) into NCL?
- 'n\n',
- # Build Udunits-2 support (optional) into NCL?
- 'y\n' if '+uduints2' in self.spec else 'n\n',
- # Build Vis5d+ support (optional) into NCL?
- 'n\n',
- # Build HDF-EOS2 support (optional) into NCL?
- 'n\n',
- # Build HDF5 support (optional) into NCL?
- 'y\n',
- # Build HDF-EOS5 support (optional) into NCL?
- 'n\n',
- # Build GRIB2 support (optional) into NCL?
- 'n\n',
- # Enter local library search path(s) :
- self.spec['fontconfig'].prefix.lib + ' ' +
- self.spec['pixman'].prefix.lib + ' ' +
- self.spec['bzip2'].prefix.lib + '\n',
- # Enter local include search path(s) :
- # All other paths will be passed by the Spack wrapper.
- self.spec['freetype'].headers.directories[0] + '\n',
- # Go back and make more changes or review?
- 'n\n',
- # Save current configuration?
- 'y\n'
- ])
-
- config_answers_filename = 'spack-config.in'
- config_script = Executable('./Configure')
-
- with open(config_answers_filename, 'w') as f:
+ config_answers.extend(
+ [
+ # Build HDF4 support (optional) into NCL?
+ "n\n",
+ # Also build HDF4 support (optional) into raster library?
+ "n\n",
+ ]
+ )
+
+ config_answers.extend(
+ [
+ # Build Triangle support (optional) into NCL
+ "y\n" if "+triangle" in self.spec else "n\n",
+ # If you are using NetCDF V4.x, did you enable NetCDF-4 support?
+ "y\n",
+ # Did you build NetCDF with OPeNDAP support?
+ "y\n",
+ # Build GDAL support (optional) into NCL?
+ "y\n" if "+gdal" in self.spec else "n\n",
+ # Build EEMD support (optional) into NCL?
+ "n\n",
+ # Build Udunits-2 support (optional) into NCL?
+ "y\n" if "+uduints2" in self.spec else "n\n",
+ # Build Vis5d+ support (optional) into NCL?
+ "n\n",
+ # Build HDF-EOS2 support (optional) into NCL?
+ "n\n",
+ # Build HDF5 support (optional) into NCL?
+ "y\n",
+ # Build HDF-EOS5 support (optional) into NCL?
+ "n\n",
+ # Build GRIB2 support (optional) into NCL?
+ "n\n",
+ # Enter local library search path(s) :
+ self.spec["fontconfig"].prefix.lib
+ + " "
+ + self.spec["pixman"].prefix.lib
+ + " "
+ + self.spec["bzip2"].prefix.lib
+ + "\n",
+ # Enter local include search path(s) :
+ # All other paths will be passed by the Spack wrapper.
+ self.spec["freetype"].headers.directories[0] + "\n",
+ # Go back and make more changes or review?
+ "n\n",
+ # Save current configuration?
+ "y\n",
+ ]
+ )
+
+ config_answers_filename = "spack-config.in"
+ config_script = Executable("./Configure")
+
+ with open(config_answers_filename, "w") as f:
f.writelines(config_answers)
- with open(config_answers_filename, 'r') as f:
+ with open(config_answers_filename, "r") as f:
config_script(input=f)
def prepare_src_tree(self):
- if '+triangle' in self.spec:
- triangle_src = join_path(self.stage.source_path, 'triangle_src')
- triangle_dst = join_path(self.stage.source_path, 'ni', 'src',
- 'lib', 'hlu')
- copy(join_path(triangle_src, 'triangle.h'), triangle_dst)
- copy(join_path(triangle_src, 'triangle.c'), triangle_dst)
+ if "+triangle" in self.spec:
+ triangle_src = join_path(self.stage.source_path, "triangle_src")
+ triangle_dst = join_path(self.stage.source_path, "ni", "src", "lib", "hlu")
+ copy(join_path(triangle_src, "triangle.h"), triangle_dst)
+ copy(join_path(triangle_src, "triangle.c"), triangle_dst)
@staticmethod
def delete_files(*filenames):
@@ -275,5 +295,4 @@ class Ncl(Package):
try:
os.remove(filename)
except OSError as e:
- raise InstallError('Failed to delete file %s: %s' % (
- e.filename, e.strerror))
+ raise InstallError("Failed to delete file %s: %s" % (e.filename, e.strerror))
diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py
index 0d2489853b..dee21e0c46 100644
--- a/var/spack/repos/builtin/packages/nco/package.py
+++ b/var/spack/repos/builtin/packages/nco/package.py
@@ -11,50 +11,50 @@ class Nco(AutotoolsPackage):
netCDF-accessible formats"""
homepage = "http://nco.sourceforge.net/"
- url = "https://github.com/nco/nco/archive/5.0.1.tar.gz"
-
- version('5.0.1', sha256='37d11ffe582aa0ee89f77a7b9a176b41e41900e9ab709e780ec0caf52ad60c4b')
- version('4.9.3', sha256='eade5b79f3814b11ae3f52c34159567e76a73f05f0ab141eccaac68f0ca94aee')
- version('4.9.2', sha256='1a98c37c946c00232fa7319d00d1d80f77603adda7c9239d10d68a8a3545a4d5')
- version('4.9.1', sha256='9592efaf0dfd6ccdefd0b417d990cfccae7e89c20d90fb44ead6263009778834')
- version('4.9.0', sha256='21dd53f427793cbc52d1c007e9b7339c83f6944a937a1acfbbe733e49b65378b')
- version('4.8.1', sha256='ddae3fed46c266798ed1176d6a70b36376d2d320fa933c716a623172d1e13c68')
- version('4.8.0', sha256='91f95ebfc9baa888adaec3016ca18a6297e2881b1429d74543a27fdfbe15fcab')
- version('4.7.9', sha256='048f6298bceb40913c3ae433f875dea1e9129b1c86019128e7271d08f274a879')
- version('4.6.7', sha256='2fe2dabf14a60bface694307cbe719df57103682b715348e9d77bfe8d31487f3')
- version('4.6.6', sha256='079d83f800b73d9b12b8de1634a88c2cbe40a639aaf7bc056cd2e836c6047697')
- version('4.6.5', sha256='d5b18c9ada25d062a539e2995be445db39e8021c56cd4b20c88485cb2452c7ae')
- version('4.6.4', sha256='1c2ab906fc81f91bf8aff3e6da27ae7a4c89821c5836d787188fff5262418062')
- version('4.6.3', sha256='414ccb349ed25cb37b669fb87f9e2e4ca8d58c2f45538feda199bf895b982bf8')
- version('4.6.2', sha256='cec82e35d47a6bbf8ab9301d5ff4cf08051f489b49e8529ebf780380f2c21ed3')
- version('4.6.1', sha256='7433fe5901f48eb5170f24c6d53b484161e1c63884d9350600070573baf8b8b0')
- version('4.5.5', sha256='bc6f5b976fdfbdec51f2ebefa158fa54672442c2fd5f042ba884f9f32c2ad666')
+ url = "https://github.com/nco/nco/archive/5.0.1.tar.gz"
+
+ version("5.0.1", sha256="37d11ffe582aa0ee89f77a7b9a176b41e41900e9ab709e780ec0caf52ad60c4b")
+ version("4.9.3", sha256="eade5b79f3814b11ae3f52c34159567e76a73f05f0ab141eccaac68f0ca94aee")
+ version("4.9.2", sha256="1a98c37c946c00232fa7319d00d1d80f77603adda7c9239d10d68a8a3545a4d5")
+ version("4.9.1", sha256="9592efaf0dfd6ccdefd0b417d990cfccae7e89c20d90fb44ead6263009778834")
+ version("4.9.0", sha256="21dd53f427793cbc52d1c007e9b7339c83f6944a937a1acfbbe733e49b65378b")
+ version("4.8.1", sha256="ddae3fed46c266798ed1176d6a70b36376d2d320fa933c716a623172d1e13c68")
+ version("4.8.0", sha256="91f95ebfc9baa888adaec3016ca18a6297e2881b1429d74543a27fdfbe15fcab")
+ version("4.7.9", sha256="048f6298bceb40913c3ae433f875dea1e9129b1c86019128e7271d08f274a879")
+ version("4.6.7", sha256="2fe2dabf14a60bface694307cbe719df57103682b715348e9d77bfe8d31487f3")
+ version("4.6.6", sha256="079d83f800b73d9b12b8de1634a88c2cbe40a639aaf7bc056cd2e836c6047697")
+ version("4.6.5", sha256="d5b18c9ada25d062a539e2995be445db39e8021c56cd4b20c88485cb2452c7ae")
+ version("4.6.4", sha256="1c2ab906fc81f91bf8aff3e6da27ae7a4c89821c5836d787188fff5262418062")
+ version("4.6.3", sha256="414ccb349ed25cb37b669fb87f9e2e4ca8d58c2f45538feda199bf895b982bf8")
+ version("4.6.2", sha256="cec82e35d47a6bbf8ab9301d5ff4cf08051f489b49e8529ebf780380f2c21ed3")
+ version("4.6.1", sha256="7433fe5901f48eb5170f24c6d53b484161e1c63884d9350600070573baf8b8b0")
+ version("4.5.5", sha256="bc6f5b976fdfbdec51f2ebefa158fa54672442c2fd5f042ba884f9f32c2ad666")
# https://github.com/nco/nco/issues/43
- patch('NUL-0-NULL.patch', when='@:4.6.7')
+ patch("NUL-0-NULL.patch", when="@:4.6.7")
- variant('doc', default=False, description='Build/install NCO TexInfo-based documentation')
+ variant("doc", default=False, description="Build/install NCO TexInfo-based documentation")
# See "Compilation Requirements" at:
# http://nco.sourceforge.net/#bld
- depends_on('netcdf-c')
- depends_on('antlr@2.7.7+cxx') # required for ncap2
- depends_on('gsl') # desirable for ncap2
- depends_on('udunits') # allows dimensional unit transformations
+ depends_on("netcdf-c")
+ depends_on("antlr@2.7.7+cxx") # required for ncap2
+ depends_on("gsl") # desirable for ncap2
+ depends_on("udunits") # allows dimensional unit transformations
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('texinfo@4.12:', type='build', when='+doc')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("texinfo@4.12:", type="build", when="+doc")
- conflicts('%gcc@9:', when='@:4.7.8')
+ conflicts("%gcc@9:", when="@:4.7.8")
def configure_args(self):
spec = self.spec
- return ['--{0}-doc'.format('enable' if '+doc' in spec else 'disable')]
+ return ["--{0}-doc".format("enable" if "+doc" in spec else "disable")]
def setup_build_environment(self, env):
spec = self.spec
- env.set('NETCDF_INC', spec['netcdf-c'].prefix.include)
- env.set('NETCDF_LIB', spec['netcdf-c'].prefix.lib)
- env.set('ANTLR_ROOT', spec['antlr'].prefix)
- env.set('UDUNITS2_PATH', spec['udunits'].prefix)
+ env.set("NETCDF_INC", spec["netcdf-c"].prefix.include)
+ env.set("NETCDF_LIB", spec["netcdf-c"].prefix.lib)
+ env.set("ANTLR_ROOT", spec["antlr"].prefix)
+ env.set("UDUNITS2_PATH", spec["udunits"].prefix)
diff --git a/var/spack/repos/builtin/packages/ncompress/package.py b/var/spack/repos/builtin/packages/ncompress/package.py
index 634f01c46b..566faecdad 100644
--- a/var/spack/repos/builtin/packages/ncompress/package.py
+++ b/var/spack/repos/builtin/packages/ncompress/package.py
@@ -10,10 +10,10 @@ class Ncompress(MakefilePackage):
"""This is (N)compress. It is an improved version of compress 4.1."""
homepage = "https://vapier.github.io/ncompress/"
- url = "https://github.com/vapier/ncompress/archive/v4.2.4.6.tar.gz"
+ url = "https://github.com/vapier/ncompress/archive/v4.2.4.6.tar.gz"
- version('4.2.4.6', sha256='112acfc76382e7b631d6cfc8e6ff9c8fd5b3677e5d49d3d9f1657bc15ad13d13')
- version('4.2.4.5', sha256='2b532f02569e5557e1ed9cbe95c8db0e347a029517d3a50b906119808a996433')
+ version("4.2.4.6", sha256="112acfc76382e7b631d6cfc8e6ff9c8fd5b3677e5d49d3d9f1657bc15ad13d13")
+ version("4.2.4.5", sha256="2b532f02569e5557e1ed9cbe95c8db0e347a029517d3a50b906119808a996433")
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py
index 3133ea1fb2..8cbb9a75e3 100644
--- a/var/spack/repos/builtin/packages/ncurses/package.py
+++ b/var/spack/repos/builtin/packages/ncurses/package.py
@@ -20,46 +20,54 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
# URL must remain http:// so Spack can bootstrap curl
gnu_mirror_path = "ncurses/ncurses-6.1.tar.gz"
- executables = [r'^ncursesw?(?:\d+(?:\.\d+)*)?-config$']
-
- version('6.2', sha256='30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d')
- version('6.1', sha256='aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17')
- version('6.0', sha256='f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260')
- version('5.9', sha256='9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b')
-
- variant('symlinks', default=False,
- description='Enables symlinks. Needed on AFS filesystem.')
- variant('termlib', default=True,
- description='Enables termlib features. This is an extra '
- 'lib and optional internal dependency.')
+ executables = [r"^ncursesw?(?:\d+(?:\.\d+)*)?-config$"]
+
+ version("6.2", sha256="30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d")
+ version("6.1", sha256="aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17")
+ version("6.0", sha256="f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260")
+ version("5.9", sha256="9046298fb440324c9d4135ecea7879ffed8546dd1b58e59430ea07a4633f563b")
+
+ variant("symlinks", default=False, description="Enables symlinks. Needed on AFS filesystem.")
+ variant(
+ "termlib",
+ default=True,
+ description="Enables termlib features. This is an extra "
+ "lib and optional internal dependency.",
+ )
# Build ncurses with ABI compaitibility.
- variant('abi', default='none', description='choose abi compatibility', values=('none', '5', '6'), multi=False)
+ variant(
+ "abi",
+ default="none",
+ description="choose abi compatibility",
+ values=("none", "5", "6"),
+ multi=False,
+ )
- conflicts('abi=6', when='@:5.9', msg='6 is not compatible with this release')
+ conflicts("abi=6", when="@:5.9", msg="6 is not compatible with this release")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
- patch('patch_gcc_5.txt', when='@6.0%gcc@5.0:')
- patch('sed_pgi.patch', when='@:6.0')
- patch('nvhpc_fix_preprocessor_flag.patch', when='@6.0:%nvhpc')
+ patch("patch_gcc_5.txt", when="@6.0%gcc@5.0:")
+ patch("sed_pgi.patch", when="@:6.0")
+ patch("nvhpc_fix_preprocessor_flag.patch", when="@6.0:%nvhpc")
@classmethod
def determine_version(cls, exe):
- return Executable(exe)('--version', output=str, error=str).rstrip()
+ return Executable(exe)("--version", output=str, error=str).rstrip()
@classmethod
def determine_variants(cls, exes, version):
results = []
for exe in exes:
- variants = ''
- output = Executable(exe)('--libs', output=str, error=str)
+ variants = ""
+ output = Executable(exe)("--libs", output=str, error=str)
- if '-ltinfo' in output:
+ if "-ltinfo" in output:
variants += "+termlib"
- output = Executable(exe)('--terminfo-dirs', output=str, error=str)
+ output = Executable(exe)("--terminfo-dirs", output=str, error=str)
usingSymlinks = False
- for termDir in output.split(':'):
+ for termDir in output.split(":"):
for top, dirs, files in os.walk(termDir):
for filename in files:
if os.path.islink(os.path.join(top, filename)):
@@ -70,97 +78,97 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
if usingSymlinks:
break
if usingSymlinks:
- variants += '+symlinks'
+ variants += "+symlinks"
- abiVersion = 'none'
- output = Executable(exe)('--abi-version', output=str, error=str)
- if '6' in output:
- abiVersion = '6'
- elif '5' in output:
- abiVersion = '5'
- variants += ' abi=' + abiVersion
+ abiVersion = "none"
+ output = Executable(exe)("--abi-version", output=str, error=str)
+ if "6" in output:
+ abiVersion = "6"
+ elif "5" in output:
+ abiVersion = "5"
+ variants += " abi=" + abiVersion
results.append(variants)
return results
def setup_build_environment(self, env):
- env.unset('TERMINFO')
+ env.unset("TERMINFO")
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
+ elif name == "cxxflags":
flags.append(self.compiler.cxx_pic_flag)
return (flags, None, None)
def configure(self, spec, prefix):
opts = [
- '--disable-stripping',
- '--with-shared',
- '--with-cxx-shared',
- '--enable-overwrite',
- '--without-ada',
- '--enable-pc-files',
- '--with-pkg-config-libdir={0}/lib/pkgconfig'.format(self.prefix),
- '--disable-overwrite'
+ "--disable-stripping",
+ "--with-shared",
+ "--with-cxx-shared",
+ "--enable-overwrite",
+ "--without-ada",
+ "--enable-pc-files",
+ "--with-pkg-config-libdir={0}/lib/pkgconfig".format(self.prefix),
+ "--disable-overwrite",
]
- nwide_opts = ['--disable-widec',
- '--without-manpages',
- '--without-tests']
+ nwide_opts = ["--disable-widec", "--without-manpages", "--without-tests"]
- wide_opts = ['--enable-widec',
- '--without-manpages',
- '--without-tests']
+ wide_opts = ["--enable-widec", "--without-manpages", "--without-tests"]
- if '+symlinks' in self.spec:
- opts.append('--enable-symlinks')
+ if "+symlinks" in self.spec:
+ opts.append("--enable-symlinks")
- if '+termlib' in self.spec:
- opts.extend(('--with-termlib',
- '--enable-termcap',
- '--enable-getcap',
- '--enable-tcap-names',
- '--with-versioned-syms'))
+ if "+termlib" in self.spec:
+ opts.extend(
+ (
+ "--with-termlib",
+ "--enable-termcap",
+ "--enable-getcap",
+ "--enable-tcap-names",
+ "--with-versioned-syms",
+ )
+ )
- abi = self.spec.variants['abi'].value
- if abi != 'none':
- opts.append('--with-abi-version=' + abi)
+ abi = self.spec.variants["abi"].value
+ if abi != "none":
+ opts.append("--with-abi-version=" + abi)
- prefix = '--prefix={0}'.format(prefix)
+ prefix = "--prefix={0}".format(prefix)
- configure = Executable('../configure')
+ configure = Executable("../configure")
- with working_dir('build_ncurses', create=True):
+ with working_dir("build_ncurses", create=True):
configure(prefix, *(opts + nwide_opts))
- with working_dir('build_ncursesw', create=True):
+ with working_dir("build_ncursesw", create=True):
configure(prefix, *(opts + wide_opts))
def build(self, spec, prefix):
- with working_dir('build_ncurses'):
+ with working_dir("build_ncurses"):
make()
- with working_dir('build_ncursesw'):
+ with working_dir("build_ncursesw"):
make()
def install(self, spec, prefix):
- with working_dir('build_ncurses'):
- make('install')
- with working_dir('build_ncursesw'):
- make('install')
+ with working_dir("build_ncurses"):
+ make("install")
+ with working_dir("build_ncursesw"):
+ make("install")
# fix for packages that use "#include <ncurses.h>" (use wide by default)
- headers = glob.glob(os.path.join(prefix.include, 'ncursesw', '*.h'))
+ headers = glob.glob(os.path.join(prefix.include, "ncursesw", "*.h"))
for header in headers:
h = os.path.basename(header)
- os.symlink(os.path.join('ncursesw', h), os.path.join(prefix.include, h))
+ os.symlink(os.path.join("ncursesw", h), os.path.join(prefix.include, h))
def query_parameter_options(self):
"""Use query parameters passed to spec (e.g., "spec[ncurses:wide]")
to select wide, non-wide, or default/both."""
query_parameters = self.spec.last_query.extra_parameters
- return 'nowide' in query_parameters, 'wide' in query_parameters
+ return "nowide" in query_parameters, "wide" in query_parameters
@property
def headers(self):
@@ -177,7 +185,7 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
headers = HeaderList([])
for hdir in hdirs:
- headers = headers + find_headers('*', root=hdir, recursive=False).headers
+ headers = headers + find_headers("*", root=hdir, recursive=False).headers
headers.directories = hdirs
return headers
@@ -189,10 +197,10 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
nowide = True
wide = True
- libs = ['libncurses']
- if '+termlib' in self.spec:
- libs.append('libtinfo')
- wlibs = [lib + 'w' for lib in libs]
+ libs = ["libncurses"]
+ if "+termlib" in self.spec:
+ libs.append("libtinfo")
+ wlibs = [lib + "w" for lib in libs]
libraries = []
if nowide:
diff --git a/var/spack/repos/builtin/packages/ncview/package.py b/var/spack/repos/builtin/packages/ncview/package.py
index dcaa915e66..b396868c8d 100644
--- a/var/spack/repos/builtin/packages/ncview/package.py
+++ b/var/spack/repos/builtin/packages/ncview/package.py
@@ -8,23 +8,24 @@ from spack.package import *
class Ncview(AutotoolsPackage):
"""Simple viewer for NetCDF files."""
+
homepage = "https://cirrus.ucsd.edu/ncview/"
- url = "ftp://cirrus.ucsd.edu/pub/ncview/ncview-2.1.7.tar.gz"
+ url = "ftp://cirrus.ucsd.edu/pub/ncview/ncview-2.1.7.tar.gz"
- version('2.1.8', sha256='e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be')
- version('2.1.7', sha256='a14c2dddac0fc78dad9e4e7e35e2119562589738f4ded55ff6e0eca04d682c82')
+ version("2.1.8", sha256="e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be")
+ version("2.1.7", sha256="a14c2dddac0fc78dad9e4e7e35e2119562589738f4ded55ff6e0eca04d682c82")
- depends_on('netcdf-c')
- depends_on('udunits')
- depends_on('libpng')
- depends_on('libxaw')
+ depends_on("netcdf-c")
+ depends_on("udunits")
+ depends_on("libpng")
+ depends_on("libxaw")
def configure_args(self):
spec = self.spec
config_args = []
- if spec.satisfies('^netcdf-c+mpi'):
- config_args.append('CC={0}'.format(spec['mpi'].mpicc))
+ if spec.satisfies("^netcdf-c+mpi"):
+ config_args.append("CC={0}".format(spec["mpi"].mpicc))
return config_args
diff --git a/var/spack/repos/builtin/packages/ndiff/package.py b/var/spack/repos/builtin/packages/ndiff/package.py
index 4ac2711a61..f7f709bd1e 100644
--- a/var/spack/repos/builtin/packages/ndiff/package.py
+++ b/var/spack/repos/builtin/packages/ndiff/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Ndiff(Package):
"""The ndiff tool is a binary utility that compares putatively similar
- files while ignoring small numeric differernces. This utility is
- most often used to compare files containing a lot of
- floating-point numeric data that may be slightly different due to
- numeric error.
+ files while ignoring small numeric differernces. This utility is
+ most often used to compare files containing a lot of
+ floating-point numeric data that may be slightly different due to
+ numeric error.
"""
homepage = "https://ftp.math.utah.edu/pub/ndiff/"
- url = "https://ftp.math.utah.edu/pub/ndiff/ndiff-2.00.tar.gz"
+ url = "https://ftp.math.utah.edu/pub/ndiff/ndiff-2.00.tar.gz"
- version('2.00', sha256='f2bbd9a2c8ada7f4161b5e76ac5ebf9a2862cab099933167fe604b88f000ec2c')
- version('1.00', sha256='d4be3ab38e4b87da8d689fe47413e01a7bfdf8c8627bfb673aac37953a463a92')
+ version("2.00", sha256="f2bbd9a2c8ada7f4161b5e76ac5ebf9a2862cab099933167fe604b88f000ec2c")
+ version("1.00", sha256="d4be3ab38e4b87da8d689fe47413e01a7bfdf8c8627bfb673aac37953a463a92")
def install(self, spec, prefix):
- configure('--prefix=%s' % prefix)
+ configure("--prefix=%s" % prefix)
mkdirp(prefix.bin)
- mkdirp('%s/lib' % prefix.share)
+ mkdirp("%s/lib" % prefix.share)
- make('install-exe', 'install-shrlib')
+ make("install-exe", "install-shrlib")
diff --git a/var/spack/repos/builtin/packages/neartree/package.py b/var/spack/repos/builtin/packages/neartree/package.py
index 96a0fc7adc..58762f5417 100644
--- a/var/spack/repos/builtin/packages/neartree/package.py
+++ b/var/spack/repos/builtin/packages/neartree/package.py
@@ -11,17 +11,17 @@ class Neartree(MakefilePackage):
points in spaces of arbitrary dimensions."""
homepage = "http://neartree.sourceforge.net/"
- url = "https://downloads.sourceforge.net/project/neartree/neartree/NearTree-3.1/NearTree-3.1.tar.gz"
+ url = "https://downloads.sourceforge.net/project/neartree/neartree/NearTree-3.1/NearTree-3.1.tar.gz"
- version('3.1', sha256='07b668516f15a7c13c219fd005b14e73bced5dc6b23857edcc24d3e5cf0d3be3')
+ version("3.1", sha256="07b668516f15a7c13c219fd005b14e73bced5dc6b23857edcc24d3e5cf0d3be3")
- depends_on('libtool', type='build')
- depends_on('cvector')
+ depends_on("libtool", type="build")
+ depends_on("cvector")
def edit(self, spec, prefix):
- mf = FileFilter('Makefile')
- mf.filter(r'^CC.+', "CC = {0}".format(spack_cc))
- mf.filter(r'^INSTALL_PREFIX .+', "INSTALL_PREFIX = {0}".format(prefix))
+ mf = FileFilter("Makefile")
+ mf.filter(r"^CC.+", "CC = {0}".format(spack_cc))
+ mf.filter(r"^INSTALL_PREFIX .+", "INSTALL_PREFIX = {0}".format(prefix))
def build(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin/packages/nek5000/package.py b/var/spack/repos/builtin/packages/nek5000/package.py
index 47576f6c30..38d2db4957 100644
--- a/var/spack/repos/builtin/packages/nek5000/package.py
+++ b/var/spack/repos/builtin/packages/nek5000/package.py
@@ -11,131 +11,143 @@ from spack.package import *
class Nek5000(Package):
"""A fast and scalable high-order solver for computational fluid
- dynamics"""
+ dynamics"""
homepage = "https://nek5000.mcs.anl.gov/"
- url = 'https://github.com/Nek5000/Nek5000/archive/v17.0.tar.gz'
- git = "https://github.com/Nek5000/Nek5000.git"
-
- tags = ['cfd', 'flow', 'hpc', 'solver', 'navier-stokes',
- 'spectral-elements', 'fluid', 'ecp', 'ecp-apps']
-
- version('develop', branch='master')
- version('17.0',
- '4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60')
- version('19.0',
- 'db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6')
+ url = "https://github.com/Nek5000/Nek5000/archive/v17.0.tar.gz"
+ git = "https://github.com/Nek5000/Nek5000.git"
+
+ tags = [
+ "cfd",
+ "flow",
+ "hpc",
+ "solver",
+ "navier-stokes",
+ "spectral-elements",
+ "fluid",
+ "ecp",
+ "ecp-apps",
+ ]
+
+ version("develop", branch="master")
+ version("17.0", "4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60")
+ version("19.0", "db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6")
# MPI, Profiling and Visit variants
- variant('mpi', default=True, description='Build with MPI.')
- variant('profiling', default=True, description='Build with profiling data.')
- variant('visit', default=False, description='Build with Visit.')
+ variant("mpi", default=True, description="Build with MPI.")
+ variant("profiling", default=True, description="Build with profiling data.")
+ variant("visit", default=False, description="Build with Visit.")
# TODO: add a variant 'blas' or 'external-blas' to enable the usage of
# Spack installed/configured blas.
# Dependencies
- depends_on('mpi', when="+mpi")
+ depends_on("mpi", when="+mpi")
- patch('add_fjfortran.patch', when='%fj')
+ patch("add_fjfortran.patch", when="%fj")
- @run_before('install')
+ @run_before("install")
def fortran_check(self):
if not self.compiler.f77:
- msg = 'Cannot build Nek5000 without a Fortran 77 compiler.'
+ msg = "Cannot build Nek5000 without a Fortran 77 compiler."
raise RuntimeError(msg)
- @run_after('install')
+ @run_after("install")
def test_install(self):
- with working_dir('short_tests/eddy'):
- f_size = join_path(os.getcwd(), 'SIZE')
- f_size_legacy = join_path(os.getcwd(), 'SIZE.legacy')
+ with working_dir("short_tests/eddy"):
+ f_size = join_path(os.getcwd(), "SIZE")
+ f_size_legacy = join_path(os.getcwd(), "SIZE.legacy")
if not os.access(f_size, os.F_OK):
if os.access(f_size_legacy, os.F_OK):
copyfile(f_size_legacy, f_size)
else:
- raise RuntimeError('Can not find {0}'.format(f_size))
+ raise RuntimeError("Can not find {0}".format(f_size))
- os.system(join_path(self.prefix.bin, 'makenek') + ' eddy_uv')
- if not os.path.isfile(join_path(os.getcwd(), 'nek5000')):
- msg = 'Cannot build example: short_tests/eddy.'
+ os.system(join_path(self.prefix.bin, "makenek") + " eddy_uv")
+ if not os.path.isfile(join_path(os.getcwd(), "nek5000")):
+ msg = "Cannot build example: short_tests/eddy."
raise RuntimeError(msg)
def install(self, spec, prefix):
- bin_dir = 'bin'
+ bin_dir = "bin"
# Do not use the Spack compiler wrappers.
# Use directly the compilers:
- fc = self.compiler.f77
- cc = self.compiler.cc
+ fc = self.compiler.f77
+ cc = self.compiler.cc
- fflags = spec.compiler_flags['fflags']
- cflags = spec.compiler_flags['cflags']
+ fflags = spec.compiler_flags["fflags"]
+ cflags = spec.compiler_flags["cflags"]
- if self.compiler.name in ['xl', 'xl_r']:
+ if self.compiler.name in ["xl", "xl_r"]:
# Use '-qextname' to add underscores.
# Use '-WF,-qnotrigraph' to fix an error about a string: '... ??'
- fflags += ['-qextname', '-WF,-qnotrigraph']
+ fflags += ["-qextname", "-WF,-qnotrigraph"]
- error = Executable(fc)('empty.f', output=str, error=str,
- fail_on_error=False)
+ error = Executable(fc)("empty.f", output=str, error=str, fail_on_error=False)
- if 'gfortran' in error or 'GNU' in error or 'gfortran' in fc:
+ if "gfortran" in error or "GNU" in error or "gfortran" in fc:
# Use '-std=legacy' to suppress an error that used to be a
# warning in previous versions of gfortran.
- fflags += ['-std=legacy']
+ fflags += ["-std=legacy"]
- fflags = ' '.join(fflags)
- cflags = ' '.join(cflags)
+ fflags = " ".join(fflags)
+ cflags = " ".join(cflags)
with working_dir(bin_dir):
- if '+mpi' in spec:
- fc = spec['mpi'].mpif77
- cc = spec['mpi'].mpicc
+ if "+mpi" in spec:
+ fc = spec["mpi"].mpif77
+ cc = spec["mpi"].mpicc
else:
- filter_file(r'^#MPI=0', 'MPI=0', 'makenek')
+ filter_file(r"^#MPI=0", "MPI=0", "makenek")
# Make sure nekmpi wrapper uses srun when we know OpenMPI
# is not built with mpiexec
- if '^openmpi~legacylaunchers' in spec:
- filter_file(r'mpiexec -np', 'srun -n', 'nekmpi')
+ if "^openmpi~legacylaunchers" in spec:
+ filter_file(r"mpiexec -np", "srun -n", "nekmpi")
- if '+profiling' not in spec:
- filter_file(r'^#PROFILING=0', 'PROFILING=0', 'makenek')
+ if "+profiling" not in spec:
+ filter_file(r"^#PROFILING=0", "PROFILING=0", "makenek")
- if '+visit' in spec:
- filter_file(r'^#VISIT=1', 'VISIT=1', 'makenek')
- filter_file(r'^#VISIT_INSTALL=.*', 'VISIT_INSTALL=\"' +
- spec['visit'].prefix.bin + '\"', 'makenek')
+ if "+visit" in spec:
+ filter_file(r"^#VISIT=1", "VISIT=1", "makenek")
+ filter_file(
+ r"^#VISIT_INSTALL=.*",
+ 'VISIT_INSTALL="' + spec["visit"].prefix.bin + '"',
+ "makenek",
+ )
# Update the makenek to use correct compilers and
# Nek5000 source.
- filter_file(r'^#FC\s*=.*', 'FC="{0}"'.format(fc), 'makenek')
- filter_file(r'^#CC\s*=.*', 'CC="{0}"'.format(cc), 'makenek')
- if self.spec.version == Version('17.0'):
- filter_file(r'^#SOURCE_ROOT\s*=\"\$H.*', 'SOURCE_ROOT=\"' +
- prefix.bin.Nek5000 + '\"', 'makenek')
+ filter_file(r"^#FC\s*=.*", 'FC="{0}"'.format(fc), "makenek")
+ filter_file(r"^#CC\s*=.*", 'CC="{0}"'.format(cc), "makenek")
+ if self.spec.version == Version("17.0"):
+ filter_file(
+ r"^#SOURCE_ROOT\s*=\"\$H.*",
+ 'SOURCE_ROOT="' + prefix.bin.Nek5000 + '"',
+ "makenek",
+ )
else:
- filter_file(r'^#NEK_SOURCE_ROOT\s*=\"\$H.*',
- 'NEK_SOURCE_ROOT=\"' + prefix.bin.Nek5000 + '\"',
- 'makenek')
+ filter_file(
+ r"^#NEK_SOURCE_ROOT\s*=\"\$H.*",
+ 'NEK_SOURCE_ROOT="' + prefix.bin.Nek5000 + '"',
+ "makenek",
+ )
if fflags:
- filter_file(r'^#FFLAGS=.*', 'FFLAGS+=" {0}"'.format(fflags),
- 'makenek')
+ filter_file(r"^#FFLAGS=.*", 'FFLAGS+=" {0}"'.format(fflags), "makenek")
if cflags:
- filter_file(r'^#CFLAGS=.*', 'CFLAGS+=" {0}"'.format(cflags),
- 'makenek')
+ filter_file(r"^#CFLAGS=.*", 'CFLAGS+=" {0}"'.format(cflags), "makenek")
- with working_dir('core'):
- if self.compiler.name in ['xl', 'xl_r']:
+ with working_dir("core"):
+ if self.compiler.name in ["xl", "xl_r"]:
# Patch 'core/makenek.inc' and 'makefile.template' to use
# '-qextname' when checking for underscore becasue 'xl'/'xl_r'
# use this option to enable the addition of the underscore.
- filter_file(r'^\$FCcomp -c ', '$FCcomp -qextname -c ',
- 'makenek.inc')
- filter_file(r'\$\(FC\) -c \$\(L0\)',
- '$(FC) -c -qextname $(L0)', 'makefile.template')
+ filter_file(r"^\$FCcomp -c ", "$FCcomp -qextname -c ", "makenek.inc")
+ filter_file(
+ r"\$\(FC\) -c \$\(L0\)", "$(FC) -c -qextname $(L0)", "makefile.template"
+ )
# Install Nek5000/bin in prefix/bin
install_tree(bin_dir, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nekbone/package.py b/var/spack/repos/builtin/packages/nekbone/package.py
index f87dfa76e8..0b1ac25c51 100644
--- a/var/spack/repos/builtin/packages/nekbone/package.py
+++ b/var/spack/repos/builtin/packages/nekbone/package.py
@@ -8,31 +8,33 @@ from spack.package import *
class Nekbone(Package):
"""NEK5000 emulation software called NEKbone. Nekbone captures the basic
- structure and user interface of the extensive Nek5000 software.
- Nek5000 is a high order, incompressible Navier-Stokes solver based on
- the spectral element method."""
+ structure and user interface of the extensive Nek5000 software.
+ Nek5000 is a high order, incompressible Navier-Stokes solver based on
+ the spectral element method."""
homepage = "https://github.com/Nek5000/Nekbone"
- git = "https://github.com/Nek5000/Nekbone.git"
+ git = "https://github.com/Nek5000/Nekbone.git"
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('develop', branch='master')
- version('17.0',
- 'ae361cc61368a924398a28a296f675b7f0c4a9516788a7f8fa3c09d787cdf69b',
- url='https://github.com/Nek5000/Nekbone/archive/v17.0.tar.gz',
- extension='.tar.gz')
+ version("develop", branch="master")
+ version(
+ "17.0",
+ "ae361cc61368a924398a28a296f675b7f0c4a9516788a7f8fa3c09d787cdf69b",
+ url="https://github.com/Nek5000/Nekbone/archive/v17.0.tar.gz",
+ extension=".tar.gz",
+ )
# Variants
- variant('mpi', default=True, description='Build with MPI')
+ variant("mpi", default=True, description="Build with MPI")
# dependencies
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- @run_before('install')
+ @run_before("install")
def fortran_check(self):
if not self.compiler.fc:
- msg = 'Nekbone can not be built without a Fortran compiler.'
+ msg = "Nekbone can not be built without a Fortran compiler."
raise RuntimeError(msg)
def install(self, spec, prefix):
@@ -40,35 +42,34 @@ class Nekbone(Package):
fc = self.compiler.fc
cc = self.compiler.cc
- if '+mpi' in spec:
- fc = spec['mpi'].mpif77
- cc = spec['mpi'].mpicc
+ if "+mpi" in spec:
+ fc = spec["mpi"].mpif77
+ cc = spec["mpi"].mpicc
# Install Nekbone in prefix.bin
install_tree(self.stage.source_path, prefix.bin.Nekbone)
# Install scripts in prefix.bin
- nekpmpi = 'test/example1/nekpmpi'
- makenek = 'test/example1/makenek'
+ nekpmpi = "test/example1/nekpmpi"
+ makenek = "test/example1/makenek"
install(makenek, prefix.bin)
install(nekpmpi, prefix.bin)
- error = Executable(fc)('empty.f', output=str, error=str,
- fail_on_error=False)
+ error = Executable(fc)("empty.f", output=str, error=str, fail_on_error=False)
- fflags = ''
- if 'gfortran' in error or 'GNU' in error or 'gfortran' in fc:
+ fflags = ""
+ if "gfortran" in error or "GNU" in error or "gfortran" in fc:
# Use '-std=legacy' to suppress an error that used to be a
# warning in previous versions of gfortran.
- fflags = ' -std=legacy'
+ fflags = " -std=legacy"
with working_dir(prefix.bin):
- filter_file(r'^SOURCE_ROOT\s*=.*', 'SOURCE_ROOT=\"' +
- prefix.bin.Nekbone + '/src\"', 'makenek')
- filter_file(r'^CC\s*=.*', 'CC=\"' + cc + '\"', 'makenek')
- filter_file(r'^F77\s*=.*', 'F77=\"' + fc + fflags + '\"',
- 'makenek')
-
- if '+mpi' not in spec:
- filter_file(r'^#IFMPI=\"false\"', 'IFMPI=\"false\"', 'makenek')
+ filter_file(
+ r"^SOURCE_ROOT\s*=.*", 'SOURCE_ROOT="' + prefix.bin.Nekbone + '/src"', "makenek"
+ )
+ filter_file(r"^CC\s*=.*", 'CC="' + cc + '"', "makenek")
+ filter_file(r"^F77\s*=.*", 'F77="' + fc + fflags + '"', "makenek")
+
+ if "+mpi" not in spec:
+ filter_file(r"^#IFMPI=\"false\"", 'IFMPI="false"', "makenek")
diff --git a/var/spack/repos/builtin/packages/nekcem/package.py b/var/spack/repos/builtin/packages/nekcem/package.py
index d349d7958c..7fe497b024 100644
--- a/var/spack/repos/builtin/packages/nekcem/package.py
+++ b/var/spack/repos/builtin/packages/nekcem/package.py
@@ -11,113 +11,113 @@ from spack.package import *
class Nekcem(Package):
"""Spectral-element solver for Maxwell's equations, drift-diffusion
- equations, and more."""
+ equations, and more."""
# Links to homepage and git
homepage = "https://nekcem.mcs.anl.gov"
- git = "https://github.com/NekCEM/NekCEM.git"
+ git = "https://github.com/NekCEM/NekCEM.git"
# Variants
- variant('mpi', default=True, description='Build with MPI')
+ variant("mpi", default=True, description="Build with MPI")
# We only have a development version
- version('develop', branch='development')
+ version("develop", branch="development")
# The following hash-versions are used by the 'ceed' package
- version('c8db04b', commit='c8db04b96f9b9cb0434ee75da711502fe95891b5')
- version('0b8bedd', commit='0b8beddfdcca646bfcc866dfda1c5f893338399b')
- version('7332619', commit='7332619b73d03868a256614b61794dce2d95b360')
+ version("c8db04b", commit="c8db04b96f9b9cb0434ee75da711502fe95891b5")
+ version("0b8bedd", commit="0b8beddfdcca646bfcc866dfda1c5f893338399b")
+ version("7332619", commit="7332619b73d03868a256614b61794dce2d95b360")
# dependencies
- depends_on('mpi', when='+mpi')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("lapack")
- @run_before('install')
+ @run_before("install")
def fortran_check(self):
if not self.compiler.fc:
- msg = 'NekCEM can not be built without a Fortran compiler.'
+ msg = "NekCEM can not be built without a Fortran compiler."
raise RuntimeError(msg)
- @run_after('install')
+ @run_after("install")
def test_install(self):
- nekcem_test = join_path(self.prefix.bin, 'NekCEM', 'tests', '2dboxpec')
+ nekcem_test = join_path(self.prefix.bin, "NekCEM", "tests", "2dboxpec")
with working_dir(nekcem_test):
- makenek = Executable(join_path(self.prefix.bin, 'makenek'))
+ makenek = Executable(join_path(self.prefix.bin, "makenek"))
makenek(os.path.basename(nekcem_test))
- if not os.path.isfile('nekcem'):
- msg = 'Cannot build example: %s' % nekcem_test
+ if not os.path.isfile("nekcem"):
+ msg = "Cannot build example: %s" % nekcem_test
raise RuntimeError(msg)
def install(self, spec, prefix):
- bin_dir = 'bin'
- nek = 'nek'
- configurenek = 'configurenek'
- makenek = 'makenek'
+ bin_dir = "bin"
+ nek = "nek"
+ configurenek = "configurenek"
+ makenek = "makenek"
fc = self.compiler.f77
cc = self.compiler.cc
- fflags = spec.compiler_flags['fflags']
- cflags = spec.compiler_flags['cflags']
- ldflags = spec.compiler_flags['ldflags']
+ fflags = spec.compiler_flags["fflags"]
+ cflags = spec.compiler_flags["cflags"]
+ ldflags = spec.compiler_flags["ldflags"]
- if '+mpi' in spec:
- fc = spec['mpi'].mpif77
- cc = spec['mpi'].mpicc
+ if "+mpi" in spec:
+ fc = spec["mpi"].mpif77
+ cc = spec["mpi"].mpicc
with working_dir(bin_dir):
- fflags = ['-O3'] + fflags
- cflags = ['-O3'] + cflags
- fflags += ['-I.']
- cflags += ['-I.', '-DGLOBAL_LONG_LONG']
+ fflags = ["-O3"] + fflags
+ cflags = ["-O3"] + cflags
+ fflags += ["-I."]
+ cflags += ["-I.", "-DGLOBAL_LONG_LONG"]
- if self.compiler.name == 'gcc' or self.compiler.name == 'clang':
+ if self.compiler.name == "gcc" or self.compiler.name == "clang":
# assuming 'clang' uses 'gfortran'
- fflags += ['-fdefault-real-8', '-fdefault-double-8']
- cflags += ['-DUNDERSCORE']
- elif self.compiler.name == 'intel':
- fflags += ['-r8']
- cflags += ['-DUNDERSCORE']
- elif self.compiler.name == 'xl' or self.compiler.name == 'xl_r':
- fflags += ['-qrealsize=8']
- cflags += ['-DPREFIX=jl_', '-DIBM']
- elif self.compiler.name == 'pgi':
- fflags += ['-r8']
- cflags += ['-DUNDERSCORE']
-
- error = Executable(fc)('empty.f', output=str, error=str,
- fail_on_error=False)
-
- if 'gfortran' in error or 'GNU' in error or 'gfortran' in fc:
+ fflags += ["-fdefault-real-8", "-fdefault-double-8"]
+ cflags += ["-DUNDERSCORE"]
+ elif self.compiler.name == "intel":
+ fflags += ["-r8"]
+ cflags += ["-DUNDERSCORE"]
+ elif self.compiler.name == "xl" or self.compiler.name == "xl_r":
+ fflags += ["-qrealsize=8"]
+ cflags += ["-DPREFIX=jl_", "-DIBM"]
+ elif self.compiler.name == "pgi":
+ fflags += ["-r8"]
+ cflags += ["-DUNDERSCORE"]
+
+ error = Executable(fc)("empty.f", output=str, error=str, fail_on_error=False)
+
+ if "gfortran" in error or "GNU" in error or "gfortran" in fc:
# Use '-std=legacy' to suppress an error that used to be a
# warning in previous versions of gfortran.
- fflags += ['-std=legacy']
+ fflags += ["-std=legacy"]
- if '+mpi' in spec:
- fflags += ['-DMPI', '-DMPIIO']
- cflags += ['-DMPI', '-DMPIIO']
- blas_lapack = spec['lapack'].libs + spec['blas'].libs
- pthread_lib = find_system_libraries('libpthread')
+ if "+mpi" in spec:
+ fflags += ["-DMPI", "-DMPIIO"]
+ cflags += ["-DMPI", "-DMPIIO"]
+ blas_lapack = spec["lapack"].libs + spec["blas"].libs
+ pthread_lib = find_system_libraries("libpthread")
ldflags += (blas_lapack + pthread_lib).ld_flags.split()
all_arch = {
- 'spack-arch': {
- 'FC': fc, 'FFLAGS': fflags,
- 'CC': cc, 'CFLAGS': cflags,
- 'LD': fc, 'LDFLAGS': ldflags
+ "spack-arch": {
+ "FC": fc,
+ "FFLAGS": fflags,
+ "CC": cc,
+ "CFLAGS": cflags,
+ "LD": fc,
+ "LDFLAGS": ldflags,
}
}
- os.rename('arch.json', 'arch.json.orig')
- with open('arch.json', 'w') as file:
+ os.rename("arch.json", "arch.json.orig")
+ with open("arch.json", "w") as file:
file.write(json.dumps(all_arch))
- filter_file(r'^ARCH=.*$', 'ARCH=spack-arch', 'makenek')
- filter_file(r'^NEK=.*', 'NEK="%s"' % prefix.bin.NekCEM,
- 'makenek')
+ filter_file(r"^ARCH=.*$", "ARCH=spack-arch", "makenek")
+ filter_file(r"^NEK=.*", 'NEK="%s"' % prefix.bin.NekCEM, "makenek")
# Install NekCEM in prefix/bin
install_tree(self.stage.source_path, prefix.bin.NekCEM)
# Create symlinks to makenek, nek and configurenek scripts
with working_dir(prefix.bin):
- os.symlink(os.path.join('NekCEM', bin_dir, makenek), makenek)
- os.symlink(
- os.path.join('NekCEM', bin_dir, configurenek), configurenek)
- os.symlink(os.path.join('NekCEM', bin_dir, nek), nek)
+ os.symlink(os.path.join("NekCEM", bin_dir, makenek), makenek)
+ os.symlink(os.path.join("NekCEM", bin_dir, configurenek), configurenek)
+ os.symlink(os.path.join("NekCEM", bin_dir, nek), nek)
diff --git a/var/spack/repos/builtin/packages/neko/package.py b/var/spack/repos/builtin/packages/neko/package.py
index fdbc103278..7d09c57fc0 100644
--- a/var/spack/repos/builtin/packages/neko/package.py
+++ b/var/spack/repos/builtin/packages/neko/package.py
@@ -8,37 +8,37 @@ from spack.package import *
class Neko(AutotoolsPackage, CudaPackage, ROCmPackage):
"""Neko: A modern, portable, and scalable framework
- for high-fidelity computational fluid dynamics
+ for high-fidelity computational fluid dynamics
"""
homepage = "https://github.com/ExtremeFLOW/neko"
- git = "https://github.com/ExtremeFLOW/neko.git"
+ git = "https://github.com/ExtremeFLOW/neko.git"
url = "https://github.com/ExtremeFLOW/neko/releases/download/v0.3.2/neko-0.3.2.tar.gz"
- maintainers = ['njansson']
-
- version('0.3.2', sha256='0628910aa9838a414f2f27d09ea9474d1b3d7dcb5a7715556049a2fdf81a71ae')
- version('0.3.0', sha256='e46bef72f694e59945514ab8b1ad7d74f87ec9dca2ba2b230e2148662baefdc8')
- version('develop', branch='develop')
- variant('parmetis', default=False, description='Build with support for parmetis')
- variant('xsmm', default=False, description='Build with support for libxsmm')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('parmetis', when='+parmetis')
- depends_on('libxsmm', when='+xsmm')
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
+ maintainers = ["njansson"]
+
+ version("0.3.2", sha256="0628910aa9838a414f2f27d09ea9474d1b3d7dcb5a7715556049a2fdf81a71ae")
+ version("0.3.0", sha256="e46bef72f694e59945514ab8b1ad7d74f87ec9dca2ba2b230e2148662baefdc8")
+ version("develop", branch="develop")
+ variant("parmetis", default=False, description="Build with support for parmetis")
+ variant("xsmm", default=False, description="Build with support for libxsmm")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("libxsmm", when="+xsmm")
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
def configure_args(self):
args = []
- args += self.with_or_without('parmetis')
- args += self.with_or_without('libxsmm', variant='xsmm')
- args += self.with_or_without('cuda', activation_value='prefix')
- rocm_fn = lambda x: spec['hip'].prefix
- args += self.with_or_without('hip', variant='rocm', activation_value=rocm_fn)
+ args += self.with_or_without("parmetis")
+ args += self.with_or_without("libxsmm", variant="xsmm")
+ args += self.with_or_without("cuda", activation_value="prefix")
+ rocm_fn = lambda x: spec["hip"].prefix
+ args += self.with_or_without("hip", variant="rocm", activation_value=rocm_fn)
return args
diff --git a/var/spack/repos/builtin/packages/nekrs/package.py b/var/spack/repos/builtin/packages/nekrs/package.py
index e390945813..8e700c35fb 100644
--- a/var/spack/repos/builtin/packages/nekrs/package.py
+++ b/var/spack/repos/builtin/packages/nekrs/package.py
@@ -10,22 +10,29 @@ from spack.package import *
class Nekrs(Package, CudaPackage, ROCmPackage):
"""nekRS is an open-source Navier Stokes solver based on the spectral
- element method targeting classical processors and hardware accelerators
- like GPUs"""
+ element method targeting classical processors and hardware accelerators
+ like GPUs"""
homepage = "https://github.com/Nek5000/nekRS"
- git = "https://github.com/Nek5000/nekRS.git"
+ git = "https://github.com/Nek5000/nekRS.git"
- tags = ['cfd', 'flow', 'hpc', 'solver', 'navier-stokes',
- 'spectral-elements', 'fluid', 'ecp', 'ecp-apps']
+ tags = [
+ "cfd",
+ "flow",
+ "hpc",
+ "solver",
+ "navier-stokes",
+ "spectral-elements",
+ "fluid",
+ "ecp",
+ "ecp-apps",
+ ]
- maintainers = ['thilinarmtb', 'stgeke']
+ maintainers = ["thilinarmtb", "stgeke"]
- version('21.0', tag='v21.0')
+ version("21.0", tag="v21.0")
- variant('opencl',
- default=False,
- description='Activates support for OpenCL')
+ variant("opencl", default=False, description="Activates support for OpenCL")
# Conflicts:
# nekrs includes following packages, but in order to build as part of
@@ -35,32 +42,31 @@ class Nekrs(Package, CudaPackage, ROCmPackage):
# conflicts('^' + pkg, msg=(pkg + " is built into nekRS"))
# Dependencies
- depends_on('mpi')
- depends_on('git')
- depends_on('cmake')
+ depends_on("mpi")
+ depends_on("git")
+ depends_on("cmake")
- @run_before('install')
+ @run_before("install")
def fortran_check(self):
if not self.compiler.f77:
- msg = 'Cannot build NekRS without a Fortran 77 compiler.'
+ msg = "Cannot build NekRS without a Fortran 77 compiler."
raise RuntimeError(msg)
# Following 4 methods are stolen from OCCA since we are using OCCA
# shipped with nekRS.
def _setup_runtime_flags(self, s_env):
spec = self.spec
- s_env.set('OCCA_CXX', self.compiler.cxx)
+ s_env.set("OCCA_CXX", self.compiler.cxx)
- cxxflags = spec.compiler_flags['cxxflags']
+ cxxflags = spec.compiler_flags["cxxflags"]
if cxxflags:
# Run-time compiler flags:
- s_env.set('OCCA_CXXFLAGS', ' '.join(cxxflags))
+ s_env.set("OCCA_CXXFLAGS", " ".join(cxxflags))
- if '+cuda' in spec:
- cuda_dir = spec['cuda'].prefix
+ if "+cuda" in spec:
+ cuda_dir = spec["cuda"].prefix
# Run-time CUDA compiler:
- s_env.set('OCCA_CUDA_COMPILER',
- join_path(cuda_dir, 'bin', 'nvcc'))
+ s_env.set("OCCA_CUDA_COMPILER", join_path(cuda_dir, "bin", "nvcc"))
def setup_build_environment(self, env):
spec = self.spec
@@ -74,32 +80,29 @@ class Nekrs(Package, CudaPackage, ROCmPackage):
# get the cxxflags twice - once from the Spack compiler wrapper and
# second time from OCCA - however, only the second one will be seen in
# the verbose output, so we keep both.
- cxxflags = spec.compiler_flags['cxxflags']
+ cxxflags = spec.compiler_flags["cxxflags"]
if cxxflags:
- env.set('CXXFLAGS', ' '.join(cxxflags))
+ env.set("CXXFLAGS", " ".join(cxxflags))
# For the cuda, openmp, and opencl variants, set the environment
# variable OCCA_{CUDA,OPENMP,OPENCL}_ENABLED only if the variant is
# disabled. Otherwise, let OCCA autodetect what is available.
- if '+cuda' in spec:
- cuda_dir = spec['cuda'].prefix
- cuda_libs_list = ['libcuda', 'libcudart', 'libOpenCL']
- cuda_libs = find_libraries(cuda_libs_list,
- cuda_dir,
- shared=True,
- recursive=True)
- env.set('OCCA_INCLUDE_PATH', cuda_dir.include)
- env.set('OCCA_LIBRARY_PATH', ':'.join(cuda_libs.directories))
- env.set('OCCA_CUDA_ENABLED', '1')
+ if "+cuda" in spec:
+ cuda_dir = spec["cuda"].prefix
+ cuda_libs_list = ["libcuda", "libcudart", "libOpenCL"]
+ cuda_libs = find_libraries(cuda_libs_list, cuda_dir, shared=True, recursive=True)
+ env.set("OCCA_INCLUDE_PATH", cuda_dir.include)
+ env.set("OCCA_LIBRARY_PATH", ":".join(cuda_libs.directories))
+ env.set("OCCA_CUDA_ENABLED", "1")
else:
- env.set('OCCA_CUDA_ENABLED', '0')
+ env.set("OCCA_CUDA_ENABLED", "0")
- env.set('OCCA_OPENCL_ENABLED', '1' if '+opencl' in spec else '0')
- env.set('OCCA_HIP_ENABLED', '1' if '+rocm' in spec else '0')
+ env.set("OCCA_OPENCL_ENABLED", "1" if "+opencl" in spec else "0")
+ env.set("OCCA_HIP_ENABLED", "1" if "+rocm" in spec else "0")
# Setup run-time environment for testing.
- env.set('OCCA_VERBOSE', '1')
+ env.set("OCCA_VERBOSE", "1")
self._setup_runtime_flags(env)
def setup_run_environment(self, env):
@@ -112,22 +115,22 @@ class Nekrs(Package, CudaPackage, ROCmPackage):
self._setup_runtime_flags(env)
def install(self, spec, prefix):
- script_dir = 'scripts'
+ script_dir = "scripts"
with working_dir(script_dir):
# Make sure nekmpi wrapper uses srun when we know OpenMPI
# is not built with mpiexec
- if '^openmpi~legacylaunchers' in spec:
- filter_file(r'mpirun -np', 'srun -n', 'nrsmpi')
- filter_file(r'mpirun -np', 'srun -n', 'nrspre')
- filter_file(r'mpirun -np', 'srun -n', 'nrsbmpi')
+ if "^openmpi~legacylaunchers" in spec:
+ filter_file(r"mpirun -np", "srun -n", "nrsmpi")
+ filter_file(r"mpirun -np", "srun -n", "nrspre")
+ filter_file(r"mpirun -np", "srun -n", "nrsbmpi")
makenrs = Executable(os.path.join(os.getcwd(), "makenrs"))
makenrs.add_default_env("NEKRS_INSTALL_DIR", prefix)
- makenrs.add_default_env("NEKRS_CC", spec['mpi'].mpicc)
- makenrs.add_default_env("NEKRS_CXX", spec['mpi'].mpicxx)
- makenrs.add_default_env("NEKRS_FC", spec['mpi'].mpifc)
+ makenrs.add_default_env("NEKRS_CC", spec["mpi"].mpicc)
+ makenrs.add_default_env("NEKRS_CXX", spec["mpi"].mpicxx)
+ makenrs.add_default_env("NEKRS_FC", spec["mpi"].mpifc)
makenrs.add_default_env("TRAVIS", "true")
makenrs(output=str, error=str, fail_on_error=True)
diff --git a/var/spack/repos/builtin/packages/nektar/package.py b/var/spack/repos/builtin/packages/nektar/package.py
index b7c92a7811..708690e45a 100644
--- a/var/spack/repos/builtin/packages/nektar/package.py
+++ b/var/spack/repos/builtin/packages/nektar/package.py
@@ -10,52 +10,50 @@ class Nektar(CMakePackage):
"""Nektar++: Spectral/hp Element Framework"""
homepage = "https://www.nektar.info/"
- url = "https://gitlab.nektar.info/nektar/nektar/-/archive/v4.4.1/nektar-v4.4.1.tar.bz2"
+ url = "https://gitlab.nektar.info/nektar/nektar/-/archive/v4.4.1/nektar-v4.4.1.tar.bz2"
- version('5.0.0', sha256='5c594453fbfaa433f732a55405da9bba27d4a00c32d7b9d7515767925fb4a818')
- version('4.4.1', sha256='71cfd93d848a751ae9ae5e5ba336cee4b4827d4abcd56f6b8dc5c460ed6b738c')
+ version("5.0.0", sha256="5c594453fbfaa433f732a55405da9bba27d4a00c32d7b9d7515767925fb4a818")
+ version("4.4.1", sha256="71cfd93d848a751ae9ae5e5ba336cee4b4827d4abcd56f6b8dc5c460ed6b738c")
- variant('mpi', default=True, description='Builds with mpi support')
- variant('fftw', default=True, description='Builds with fftw support')
- variant('arpack', default=True, description='Builds with arpack support')
- variant('hdf5', default=True, description='Builds with hdf5 support')
- variant('scotch', default=False,
- description='Builds with scotch partitioning support')
+ variant("mpi", default=True, description="Builds with mpi support")
+ variant("fftw", default=True, description="Builds with fftw support")
+ variant("arpack", default=True, description="Builds with arpack support")
+ variant("hdf5", default=True, description="Builds with hdf5 support")
+ variant("scotch", default=False, description="Builds with scotch partitioning support")
- depends_on('cmake@2.8.8:', type='build', when="~hdf5")
- depends_on('cmake@3.2:', type='build', when="+hdf5")
+ depends_on("cmake@2.8.8:", type="build", when="~hdf5")
+ depends_on("cmake@3.2:", type="build", when="+hdf5")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
depends_on(
- 'boost@1.56.0:'
- '+iostreams+exception+filesystem+system+chrono+serialization'
- '+atomic+regex+math+thread+container'
+ "boost@1.56.0:"
+ "+iostreams+exception+filesystem+system+chrono+serialization"
+ "+atomic+regex+math+thread+container"
)
- depends_on('tinyxml', when='platform=darwin')
+ depends_on("tinyxml", when="platform=darwin")
- depends_on('mpi', when='+mpi')
- depends_on('fftw@3.0: +mpi', when="+mpi+fftw")
- depends_on('fftw@3.0: ~mpi', when="~mpi+fftw")
- depends_on('arpack-ng +mpi', when="+arpack+mpi")
- depends_on('arpack-ng ~mpi', when="+arpack~mpi")
- depends_on('hdf5 +mpi +hl', when="+mpi+hdf5")
- depends_on('scotch ~mpi ~metis', when="~mpi+scotch")
- depends_on('scotch +mpi ~metis', when="+mpi+scotch")
+ depends_on("mpi", when="+mpi")
+ depends_on("fftw@3.0: +mpi", when="+mpi+fftw")
+ depends_on("fftw@3.0: ~mpi", when="~mpi+fftw")
+ depends_on("arpack-ng +mpi", when="+arpack+mpi")
+ depends_on("arpack-ng ~mpi", when="+arpack~mpi")
+ depends_on("hdf5 +mpi +hl", when="+mpi+hdf5")
+ depends_on("scotch ~mpi ~metis", when="~mpi+scotch")
+ depends_on("scotch +mpi ~metis", when="+mpi+scotch")
- conflicts("+hdf5", when="~mpi",
- msg="Nektar's hdf5 output is for parallel builds only")
+ conflicts("+hdf5", when="~mpi", msg="Nektar's hdf5 output is for parallel builds only")
def cmake_args(self):
args = []
def hasfeature(feature):
- return 'ON' if feature in self.spec else 'OFF'
-
- args.append('-DNEKTAR_USE_MPI=%s' % hasfeature('+mpi'))
- args.append('-DNEKTAR_USE_FFTW=%s' % hasfeature('+fftw'))
- args.append('-DNEKTAR_USE_ARPACK=%s' % hasfeature('+arpack'))
- args.append('-DNEKTAR_USE_HDF5=%s' % hasfeature('+hdf5'))
- args.append('-DNEKTAR_USE_SCOTCH=%s' % hasfeature('+scotch'))
- args.append('-DNEKTAR_USE_PETSC=OFF')
+ return "ON" if feature in self.spec else "OFF"
+
+ args.append("-DNEKTAR_USE_MPI=%s" % hasfeature("+mpi"))
+ args.append("-DNEKTAR_USE_FFTW=%s" % hasfeature("+fftw"))
+ args.append("-DNEKTAR_USE_ARPACK=%s" % hasfeature("+arpack"))
+ args.append("-DNEKTAR_USE_HDF5=%s" % hasfeature("+hdf5"))
+ args.append("-DNEKTAR_USE_SCOTCH=%s" % hasfeature("+scotch"))
+ args.append("-DNEKTAR_USE_PETSC=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/nektools/package.py b/var/spack/repos/builtin/packages/nektools/package.py
index 84dc8d1c4c..49a2607d2d 100644
--- a/var/spack/repos/builtin/packages/nektools/package.py
+++ b/var/spack/repos/builtin/packages/nektools/package.py
@@ -12,8 +12,7 @@ from spack.package import *
def is_integral(x):
"""Any integer value"""
try:
- return isinstance(int(x), numbers.Integral) and \
- not isinstance(x, bool) and int(x) > 0
+ return isinstance(int(x), numbers.Integral) and not isinstance(x, bool) and int(x) > 0
except ValueError:
return False
@@ -22,160 +21,158 @@ class Nektools(Package):
"""Tools required by Nek5000"""
homepage = "https://nek5000.mcs.anl.gov/"
- url = 'https://github.com/Nek5000/Nek5000/archive/v17.0.tar.gz'
- git = "https://github.com/Nek5000/Nek5000.git"
-
- tags = ['cfd', 'flow', 'hpc', 'solver', 'navier-stokes',
- 'spectral-elements', 'fluid', 'ecp', 'ecp-apps']
-
- version('develop', branch='master')
- version('19.0',
- 'db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6')
- version('17.0',
- '4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60')
+ url = "https://github.com/Nek5000/Nek5000/archive/v17.0.tar.gz"
+ git = "https://github.com/Nek5000/Nek5000.git"
+
+ tags = [
+ "cfd",
+ "flow",
+ "hpc",
+ "solver",
+ "navier-stokes",
+ "spectral-elements",
+ "fluid",
+ "ecp",
+ "ecp-apps",
+ ]
+
+ version("develop", branch="master")
+ version("19.0", "db129877a10ff568d49edc77cf65f9e732eecb1fce10edbd91ffc5ac10c41ad6")
+ version("17.0", "4d8d4793ce3c926c54e09a5a5968fa959fe0ba46bd2e6b8043e099528ee35a60")
# Variant for MAXNEL, we need to read this from user
variant(
- 'MAXNEL',
+ "MAXNEL",
default=150000,
- description='Maximum number of elements for Nek5000 tools.',
- values=is_integral
+ description="Maximum number of elements for Nek5000 tools.",
+ values=is_integral,
)
# Variants for Nek tools
- variant('genbox', default=True, description='Build genbox tool.')
- variant('n2to3', default=True, description='Build n2to3 tool.')
- variant('postnek', default=True, description='Build postnek tool.')
- variant('reatore2', default=True, description='Build reatore2 tool.')
- variant('genmap', default=True, description='Build genmap tool.')
- variant('nekmerge', default=True, description='Build nekmerge tool.')
- variant('prenek', default=True, description='Build prenek tool.')
- variant('visit', default=False, description='Enable support for visit')
-
- depends_on('libx11', when="+prenek")
- depends_on('libx11', when="+postnek")
+ variant("genbox", default=True, description="Build genbox tool.")
+ variant("n2to3", default=True, description="Build n2to3 tool.")
+ variant("postnek", default=True, description="Build postnek tool.")
+ variant("reatore2", default=True, description="Build reatore2 tool.")
+ variant("genmap", default=True, description="Build genmap tool.")
+ variant("nekmerge", default=True, description="Build nekmerge tool.")
+ variant("prenek", default=True, description="Build prenek tool.")
+ variant("visit", default=False, description="Enable support for visit")
+
+ depends_on("libx11", when="+prenek")
+ depends_on("libx11", when="+postnek")
# libxt is needed for X11/Intrinsic.h but not for linking
- depends_on('libxt', when="+prenek")
- depends_on('xproto', when="+prenek")
- depends_on('libxt', when="+postnek")
- depends_on('visit', when="+visit")
+ depends_on("libxt", when="+prenek")
+ depends_on("xproto", when="+prenek")
+ depends_on("libxt", when="+postnek")
+ depends_on("visit", when="+visit")
- @run_before('install')
+ @run_before("install")
def fortran_check(self):
if not self.compiler.f77:
- msg = 'Cannot build Nek5000 without a Fortran 77 compiler.'
+ msg = "Cannot build Nek5000 without a Fortran 77 compiler."
raise RuntimeError(msg)
def install(self, spec, prefix):
- tools_dir = 'tools'
- bin_dir = 'bin'
+ tools_dir = "tools"
+ bin_dir = "bin"
- fc = env['FC']
- cc = env['CC']
+ fc = env["FC"]
+ cc = env["CC"]
- fflags = spec.compiler_flags['fflags']
- cflags = spec.compiler_flags['cflags']
- if ('+prenek' in spec) or ('+postnek' in spec):
- libx11_h = find_headers('Xlib', spec['libx11'].prefix.include,
- recursive=True)
+ fflags = spec.compiler_flags["fflags"]
+ cflags = spec.compiler_flags["cflags"]
+ if ("+prenek" in spec) or ("+postnek" in spec):
+ libx11_h = find_headers("Xlib", spec["libx11"].prefix.include, recursive=True)
if not libx11_h:
- raise RuntimeError('Xlib.h not found in %s' %
- spec['libx11'].prefix.include)
- cflags += ['-I%s' % os.path.dirname(libx11_h.directories[0])]
+ raise RuntimeError("Xlib.h not found in %s" % spec["libx11"].prefix.include)
+ cflags += ["-I%s" % os.path.dirname(libx11_h.directories[0])]
- xproto_h = find_headers('X', spec['xproto'].prefix.include,
- recursive=True)
+ xproto_h = find_headers("X", spec["xproto"].prefix.include, recursive=True)
if not xproto_h:
- raise RuntimeError('X.h not found in %s' %
- spec['xproto'].prefix.include)
- cflags += ['-I%s' % os.path.dirname(xproto_h.directories[0])]
+ raise RuntimeError("X.h not found in %s" % spec["xproto"].prefix.include)
+ cflags += ["-I%s" % os.path.dirname(xproto_h.directories[0])]
- libxt_h = find_headers('Intrinsic', spec['libxt'].prefix.include,
- recursive=True)
+ libxt_h = find_headers("Intrinsic", spec["libxt"].prefix.include, recursive=True)
if not libxt_h:
- raise RuntimeError('X11/Intrinsic.h not found in %s' %
- spec['libxt'].prefix.include)
- cflags += ['-I%s' % os.path.dirname(libxt_h.directories[0])]
- if self.compiler.name in ['xl', 'xl_r']:
+ raise RuntimeError(
+ "X11/Intrinsic.h not found in %s" % spec["libxt"].prefix.include
+ )
+ cflags += ["-I%s" % os.path.dirname(libxt_h.directories[0])]
+ if self.compiler.name in ["xl", "xl_r"]:
# Use '-qextname' to add underscores.
# Use '-WF,-qnotrigraph' to fix an error about a string: '... ??'
- fflags += ['-qextname', '-WF,-qnotrigraph']
+ fflags += ["-qextname", "-WF,-qnotrigraph"]
- error = Executable(fc)('empty.f', output=str, error=str,
- fail_on_error=False)
+ error = Executable(fc)("empty.f", output=str, error=str, fail_on_error=False)
- if 'gfortran' in error or 'GNU' in error or 'gfortran' in fc:
+ if "gfortran" in error or "GNU" in error or "gfortran" in fc:
# Use '-std=legacy' to suppress an error that used to be a
# warning in previous versions of gfortran.
- fflags += ['-std=legacy']
+ fflags += ["-std=legacy"]
- fflags = ' '.join(fflags)
- cflags = ' '.join(cflags)
+ fflags = " ".join(fflags)
+ cflags = " ".join(cflags)
# Build the tools, maketools copy them to Nek5000/bin by default.
# We will then install Nek5000/bin under prefix after that.
with working_dir(tools_dir):
# Update the maketools script to use correct compilers
- filter_file(r'^#FC\s*=.*', 'FC="{0}"'.format(fc), 'maketools')
- filter_file(r'^#CC\s*=.*', 'CC="{0}"'.format(cc), 'maketools')
+ filter_file(r"^#FC\s*=.*", 'FC="{0}"'.format(fc), "maketools")
+ filter_file(r"^#CC\s*=.*", 'CC="{0}"'.format(cc), "maketools")
if fflags:
- filter_file(r'^#FFLAGS=.*', 'FFLAGS="{0}"'.format(fflags),
- 'maketools')
+ filter_file(r"^#FFLAGS=.*", 'FFLAGS="{0}"'.format(fflags), "maketools")
if cflags:
- filter_file(r'^#CFLAGS=.*', 'CFLAGS="{0}"'.format(cflags),
- 'maketools')
+ filter_file(r"^#CFLAGS=.*", 'CFLAGS="{0}"'.format(cflags), "maketools")
- if self.compiler.name in ['xl', 'xl_r']:
+ if self.compiler.name in ["xl", "xl_r"]:
# Patch 'maketools' to use '-qextname' when checking for
# underscore becasue 'xl'/'xl_r' use this option to enable the
# addition of the underscore.
- filter_file(r'^\$FC -c ', '$FC -qextname -c ', 'maketools')
+ filter_file(r"^\$FC -c ", "$FC -qextname -c ", "maketools")
- libx11_lib = find_libraries('libX11', spec['libx11'].prefix.lib,
- shared=True, recursive=True)
+ libx11_lib = find_libraries(
+ "libX11", spec["libx11"].prefix.lib, shared=True, recursive=True
+ )
if not libx11_lib:
- libx11_lib = \
- find_libraries('libX11', spec['libx11'].prefix.lib64,
- shared=True, recursive=True)
+ libx11_lib = find_libraries(
+ "libX11", spec["libx11"].prefix.lib64, shared=True, recursive=True
+ )
if not libx11_lib:
- raise RuntimeError('libX11 not found in %s/{lib,lib64}' %
- spec['libx11'].prefix)
+ raise RuntimeError("libX11 not found in %s/{lib,lib64}" % spec["libx11"].prefix)
# There is no other way to set the X11 library path except brute
# force:
- filter_file(r'-L\$\(X\)', libx11_lib.search_flags,
- join_path('prenek', 'makefile'))
- filter_file(r'-L\$\(X\)', libx11_lib.search_flags,
- join_path('postnek', 'makefile'))
+ filter_file(r"-L\$\(X\)", libx11_lib.search_flags, join_path("prenek", "makefile"))
+ filter_file(r"-L\$\(X\)", libx11_lib.search_flags, join_path("postnek", "makefile"))
- if self.compiler.name in ['xl', 'xl_r']:
+ if self.compiler.name in ["xl", "xl_r"]:
# Use '-qextname' when compiling mxm.f
- filter_file(r'\$\(OLAGS\)', '-qextname $(OLAGS)',
- join_path('postnek', 'makefile'))
+ filter_file(r"\$\(OLAGS\)", "-qextname $(OLAGS)", join_path("postnek", "makefile"))
# Define 'rename_' function that calls 'rename'
- with open(join_path('postnek', 'xdriver.c'), 'a') as xdriver:
- xdriver.write('\nvoid rename_(char *from, char *to)\n{\n'
- ' rename(from, to);\n}\n')
+ with open(join_path("postnek", "xdriver.c"), "a") as xdriver:
+ xdriver.write(
+ "\nvoid rename_(char *from, char *to)\n{\n" " rename(from, to);\n}\n"
+ )
- maxnel = self.spec.variants['MAXNEL'].value
- filter_file(r'^#MAXNEL\s*=.*', 'MAXNEL=' + maxnel, 'maketools')
+ maxnel = self.spec.variants["MAXNEL"].value
+ filter_file(r"^#MAXNEL\s*=.*", "MAXNEL=" + maxnel, "maketools")
- maketools = Executable('./maketools')
+ maketools = Executable("./maketools")
# Build the tools
- if '+genbox' in spec:
- maketools('genbox')
- if '+n2to3' in spec:
- maketools('n2to3')
- if '+postnek' in spec:
- maketools('postnek')
- if '+reatore2' in spec:
- maketools('reatore2')
- if '+genmap' in spec:
- maketools('genmap')
- if '+nekmerge' in spec:
- maketools('nekmerge')
- if '+prenek' in spec:
- maketools('prenek')
+ if "+genbox" in spec:
+ maketools("genbox")
+ if "+n2to3" in spec:
+ maketools("n2to3")
+ if "+postnek" in spec:
+ maketools("postnek")
+ if "+reatore2" in spec:
+ maketools("reatore2")
+ if "+genmap" in spec:
+ maketools("genmap")
+ if "+nekmerge" in spec:
+ maketools("nekmerge")
+ if "+prenek" in spec:
+ maketools("prenek")
# Install Nek5000/bin in prefix/bin
install_tree(bin_dir, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nemsio/package.py b/var/spack/repos/builtin/packages/nemsio/package.py
index 30f0f9bd92..0f23679527 100644
--- a/var/spack/repos/builtin/packages/nemsio/package.py
+++ b/var/spack/repos/builtin/packages/nemsio/package.py
@@ -14,33 +14,31 @@ class Nemsio(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-nemsio"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-nemsio/archive/refs/tags/v2.5.2.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-nemsio/archive/refs/tags/v2.5.2.tar.gz"
- maintainers = ['t-brown', 'edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
- variant('mpi', default=True, description='Build Nemsio with MPI')
+ variant("mpi", default=True, description="Build Nemsio with MPI")
# Nemsio 2.5.3 and below require MPI
- conflicts('~mpi', when='@:2.5.3')
+ conflicts("~mpi", when="@:2.5.3")
- version('2.5.4', sha256='186a5f37d509d280c0237d4917db86ad676c5dd12d8a892df0333a10e751e481')
- version('2.5.3', sha256='3fe8a781fc96197803d369cafe0138f3a5cbbca9816a7f8fd57567a1719a4d49')
- version('2.5.2', sha256='c59e9379969690de8d030cbf4bbbbe3726faf13c304f3b88b0f6aec1496d2c08')
+ version("2.5.4", sha256="186a5f37d509d280c0237d4917db86ad676c5dd12d8a892df0333a10e751e481")
+ version("2.5.3", sha256="3fe8a781fc96197803d369cafe0138f3a5cbbca9816a7f8fd57567a1719a4d49")
+ version("2.5.2", sha256="c59e9379969690de8d030cbf4bbbbe3726faf13c304f3b88b0f6aec1496d2c08")
- depends_on('bacio')
- depends_on('mpi', when='+mpi')
+ depends_on("bacio")
+ depends_on("mpi", when="+mpi")
# nemsio 2.5.2 and earlier depend on w3nco.
- depends_on('w3nco', when='@:2.5.2')
+ depends_on("w3nco", when="@:2.5.2")
# nemsio 2.5.3 and later depend on w3emc-2.9.0 or later.
- depends_on('w3emc@2.9.0:', when='@2.5.3:')
+ depends_on("w3emc@2.9.0:", when="@2.5.3:")
def cmake_args(self):
- args = [
- self.define_from_variant('ENABLE_MPI', 'mpi')
- ]
+ args = [self.define_from_variant("ENABLE_MPI", "mpi")]
- if self.spec.satisfies('+mpi'):
- args.append(self.define('CMAKE_Fortran_COMPILER', self.spec['mpi'].mpifc))
+ if self.spec.satisfies("+mpi"):
+ args.append(self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc))
return args
diff --git a/var/spack/repos/builtin/packages/nemsiogfs/package.py b/var/spack/repos/builtin/packages/nemsiogfs/package.py
index 9f956df267..85b1a128a1 100644
--- a/var/spack/repos/builtin/packages/nemsiogfs/package.py
+++ b/var/spack/repos/builtin/packages/nemsiogfs/package.py
@@ -13,10 +13,10 @@ class Nemsiogfs(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-nemsiogfs"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-nemsiogfs/archive/refs/tags/v2.5.3.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-nemsiogfs/archive/refs/tags/v2.5.3.tar.gz"
- maintainers = ['kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('2.5.3', sha256='bf84206b08c8779787bef33e4aba18404df05f8b2fdd20fc40b3af608ae4b9af')
+ version("2.5.3", sha256="bf84206b08c8779787bef33e4aba18404df05f8b2fdd20fc40b3af608ae4b9af")
- depends_on('nemsio')
+ depends_on("nemsio")
diff --git a/var/spack/repos/builtin/packages/neo4j/package.py b/var/spack/repos/builtin/packages/neo4j/package.py
index e8c8200fba..8c561fac16 100644
--- a/var/spack/repos/builtin/packages/neo4j/package.py
+++ b/var/spack/repos/builtin/packages/neo4j/package.py
@@ -17,11 +17,11 @@ class Neo4j(MavenPackage):
of magnitude performance benefits compared to relational DBs."""
homepage = "https://neo4j.com/"
- url = "https://github.com/neo4j/neo4j/archive/4.0.3.tar.gz"
+ url = "https://github.com/neo4j/neo4j/archive/4.0.3.tar.gz"
- version('4.0.3', sha256='19d79052657665dd661bbe906b3552b88108bf379d39fa007b883fff718cabee')
- version('4.0.1', sha256='3f91f566e49000119c6a71d6127e73cfccdee37b68133a067b2ee05932c26dba')
- version('4.0.0', sha256='7173b97baf53be82b46f95fa52f99af591606a318e03915917ddd7141936fec5')
- version('3.5.16', sha256='1304fcd56b0f08f35b05d8b546fd844637ba1ffa5e00bb1e9a81a06b6242cb88')
+ version("4.0.3", sha256="19d79052657665dd661bbe906b3552b88108bf379d39fa007b883fff718cabee")
+ version("4.0.1", sha256="3f91f566e49000119c6a71d6127e73cfccdee37b68133a067b2ee05932c26dba")
+ version("4.0.0", sha256="7173b97baf53be82b46f95fa52f99af591606a318e03915917ddd7141936fec5")
+ version("3.5.16", sha256="1304fcd56b0f08f35b05d8b546fd844637ba1ffa5e00bb1e9a81a06b6242cb88")
- depends_on('maven@3.5.4:', type='build')
+ depends_on("maven@3.5.4:", type="build")
diff --git a/var/spack/repos/builtin/packages/neovim/package.py b/var/spack/repos/builtin/packages/neovim/package.py
index 1b80f1a550..63ddeb039e 100644
--- a/var/spack/repos/builtin/packages/neovim/package.py
+++ b/var/spack/repos/builtin/packages/neovim/package.py
@@ -17,10 +17,7 @@ class Neovim(CMakePackage):
version("master", branch="master")
version("stable", tag="stable")
- version(
- '0.7.0',
- sha256='792a9c55d5d5f4a5148d475847267df309d65fb20f05523f21c1319ea8a6c7df'
- )
+ version("0.7.0", sha256="792a9c55d5d5f4a5148d475847267df309d65fb20f05523f21c1319ea8a6c7df")
version(
"0.6.1",
sha256="dd882c21a52e5999f656cae3f336b5fc702d52addd4d9b5cd3dc39cfff35e864",
@@ -137,4 +134,4 @@ class Neovim(CMakePackage):
@when("^lua")
def cmake_args(self):
- return [self.define('PREFER_LUA', True)]
+ return [self.define("PREFER_LUA", True)]
diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py
index 33f5cb4c4e..6281358b5b 100644
--- a/var/spack/repos/builtin/packages/nest/package.py
+++ b/var/spack/repos/builtin/packages/nest/package.py
@@ -13,79 +13,67 @@ class Nest(CMakePackage):
than on the exact morphology of individual neurons."""
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"
-
- version('master', branch='master')
- version('3.0', sha256='d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6')
- version('2.20.1', sha256='df3d32b5899d5d444f708037b290f889ac6ff8eae6b7be9e9faee2c0d660d8e5')
-
- maintainers = ['ikitayama']
-
- variant('python', default=False,
- description='Build the PyNest interface')
- variant('mpi', default=False,
- description='Build with MPI bindings')
- variant('openmp', default=True,
- description='"Enable OpenMP support"')
- variant('optimize', default=True,
- description='Build with MPI bindings')
- variant('modules', default=False,
- description='Enables external module support')
- variant('gsl', default=True,
- description="Enable GNU Scientific Library")
- variant('shared', default=True,
- description="Build shared libraries")
+ 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("3.0", sha256="d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6")
+ version("2.20.1", sha256="df3d32b5899d5d444f708037b290f889ac6ff8eae6b7be9e9faee2c0d660d8e5")
+
+ maintainers = ["ikitayama"]
+
+ variant("python", default=False, description="Build the PyNest interface")
+ variant("mpi", default=False, description="Build with MPI bindings")
+ variant("openmp", default=True, description='"Enable OpenMP support"')
+ variant("optimize", default=True, description="Build with MPI bindings")
+ variant("modules", default=False, description="Enables external module support")
+ variant("gsl", default=True, description="Enable GNU Scientific Library")
+ variant("shared", default=True, description="Build shared libraries")
# TODO add variants for neurosim and music when these are in spack
- conflicts('~gsl', when='@:2.10',
- msg='Option only introduced for non-ancient versions.')
- conflicts('~shared', when='@:2.10',
- msg='Option only introduced for non-ancient versions.')
- conflicts('~openmp', when='@:2.10',
- msg='Option only introduced for non-ancient versions.')
+ conflicts("~gsl", when="@:2.10", msg="Option only introduced for non-ancient versions.")
+ conflicts("~shared", when="@:2.10", msg="Option only introduced for non-ancient versions.")
+ conflicts("~openmp", when="@:2.10", msg="Option only introduced for non-ancient versions.")
- depends_on('python@2.6:', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('run'))
- depends_on('py-cython@0.19.2:', when='+python', type='build')
- depends_on('py-nose', when='+python', type='test')
- depends_on('py-setuptools', when='+python', type='build')
+ depends_on("python@2.6:", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("run"))
+ depends_on("py-cython@0.19.2:", when="+python", type="build")
+ depends_on("py-nose", when="+python", type="test")
+ depends_on("py-setuptools", when="+python", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('doxygen', type='build')
+ depends_on("doxygen", type="build")
- depends_on('gsl', when='+gsl')
- depends_on('readline')
- depends_on('libtool')
- depends_on('pkgconfig', type='build')
+ depends_on("gsl", when="+gsl")
+ depends_on("readline")
+ depends_on("libtool")
+ depends_on("pkgconfig", type="build")
- extends('python', when='+python')
+ extends("python", when="+python")
# Before 2.12.0 it was an autotools package
- @when('@:2.10')
+ @when("@:2.10")
def cmake(self, spec, prefix):
pass
- @when('@:2.10')
+ @when("@:2.10")
def build(self, spec, prefix):
pass
- @when('@:2.10')
+ @when("@:2.10")
def install(self, spec, prefix):
- configure_args = ["CXXFLAGS=-std=c++03",
- "--prefix=" + prefix,
- "--with-openmp"]
- if '+python' in spec:
+ configure_args = ["CXXFLAGS=-std=c++03", "--prefix=" + prefix, "--with-openmp"]
+ if "+python" in spec:
configure_args.append("--with-python")
else:
configure_args.append("--without-python")
- if '+mpi' in spec:
+ if "+mpi" in spec:
configure_args.append("--with-mpi")
else:
configure_args.append("--without-mpi")
- if '+optimize' in spec:
+ if "+optimize" in spec:
configure_args.append("--with-optimize")
else:
configure_args.append("--without-optimize")
@@ -98,42 +86,42 @@ class Nest(CMakePackage):
def cmake_args(self):
args = []
- if '+mpi' in self.spec:
- args.append('-Dwith-mpi=ON')
+ if "+mpi" in self.spec:
+ args.append("-Dwith-mpi=ON")
else:
- args.append('-Dwith-mpi=OFF')
+ args.append("-Dwith-mpi=OFF")
- if '+python' in self.spec:
- args.append('-Dwith-python=ON')
- args.append('-Dcythonize-pynest=' + self.spec['py-cython'].prefix)
+ if "+python" in self.spec:
+ args.append("-Dwith-python=ON")
+ args.append("-Dcythonize-pynest=" + self.spec["py-cython"].prefix)
else:
- args.append('-Dwith-python=OFF')
- args.append('-Dcythonize-pynest=OFF')
+ args.append("-Dwith-python=OFF")
+ args.append("-Dcythonize-pynest=OFF")
- if '+optimize' in self.spec:
- args.append('-Dwith-optimize=ON')
+ if "+optimize" in self.spec:
+ args.append("-Dwith-optimize=ON")
else:
- args.append('-Dwith-optimize=OFF')
+ args.append("-Dwith-optimize=OFF")
- if '+gsl' in self.spec:
- args.append('-Dwith-gsl=' + self.spec['gsl'].prefix)
+ if "+gsl" in self.spec:
+ args.append("-Dwith-gsl=" + self.spec["gsl"].prefix)
else:
- args.append('-Dwith-gsl=OFF')
+ args.append("-Dwith-gsl=OFF")
- if '+openmp' in self.spec:
- args.append('-Dwith-openmp=ON')
+ if "+openmp" in self.spec:
+ args.append("-Dwith-openmp=ON")
else:
- args.append('-Dwith-openmp=OFF')
+ args.append("-Dwith-openmp=OFF")
- if '+shared' in self.spec:
- args.append('-Dstatic-libraries=OFF')
+ if "+shared" in self.spec:
+ args.append("-Dstatic-libraries=OFF")
else:
- args.append('-Dstatic-libraries=ON')
+ args.append("-Dstatic-libraries=ON")
return args
- @when('@:2.14.0+modules')
- @run_after('install')
+ @when("@:2.14.0+modules")
+ @run_after("install")
def install_headers(self):
# copy source files to installation folder for older versions
# (these are needed for modules to build against)
@@ -143,8 +131,7 @@ class Nest(CMakePackage):
mkdirp(path_headers)
for suffix in ["h", "hpp"]:
- for f in find_headers('*.{0}'.format(suffix),
- self.stage.source_path, recursive=True):
+ for f in find_headers("*.{0}".format(suffix), self.stage.source_path, recursive=True):
install(f, path_headers)
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/net-snmp/package.py b/var/spack/repos/builtin/packages/net-snmp/package.py
index 8c69312c94..c923569167 100644
--- a/var/spack/repos/builtin/packages/net-snmp/package.py
+++ b/var/spack/repos/builtin/packages/net-snmp/package.py
@@ -10,17 +10,17 @@ class NetSnmp(AutotoolsPackage):
"""A SNMP application library, tools and daemon."""
homepage = "http://www.net-snmp.org/"
- url = "https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz/download"
+ url = "https://sourceforge.net/projects/net-snmp/files/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz/download"
- version('5.9.1', sha256='eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f')
- version('5.9', sha256='04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071')
+ version("5.9.1", sha256="eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f")
+ version("5.9", sha256="04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071")
- depends_on('perl-extutils-makemaker')
- depends_on('ncurses')
+ depends_on("perl-extutils-makemaker")
+ depends_on("ncurses")
def configure_args(self):
- args = ['--with-defaults', 'LIBS=-ltinfo']
+ args = ["--with-defaults", "LIBS=-ltinfo"]
return args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py
index 61f53f40f7..ec84339b48 100644
--- a/var/spack/repos/builtin/packages/netcdf-c/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-c/package.py
@@ -14,64 +14,67 @@ class NetcdfC(AutotoolsPackage):
sharing of array-oriented scientific data. This is the C distribution."""
homepage = "https://www.unidata.ucar.edu/software/netcdf"
- git = "https://github.com/Unidata/netcdf-c.git"
- url = "https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz"
-
- maintainers = ['skosukhin', 'WardF']
-
- version('main', branch='main')
- version('4.8.1', sha256='bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0')
- version('4.8.0', sha256='aff58f02b1c3e91dc68f989746f652fe51ff39e6270764e484920cb8db5ad092')
- version('4.7.4', sha256='99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b')
- version('4.7.3', sha256='05d064a2d55147b83feff3747bea13deb77bef390cb562df4f9f9f1ce147840d')
- version('4.7.2', sha256='7648db7bd75fdd198f7be64625af7b276067de48a49dcdfd160f1c2ddff8189c')
- version('4.7.1', sha256='583e6b89c57037293fc3878c9181bb89151da8c6015ecea404dd426fea219b2c')
- version('4.7.0', sha256='26d03164074363b3911ed79b7cddd045c22adf5ebaf978943db11a1d9f15e9d3')
- version('4.6.3', sha256='734a629cdaed907201084d003cfa091806d6080eeffbd4204e7c7f73ff9d3564')
- version('4.6.2', sha256='673936c76ae0c496f6dde7e077f5be480afc1e300adb2c200bf56fbe22e5a82a')
- version('4.6.1', sha256='a2fabf27c72a5ee746e3843e1debbaad37cd035767eaede2045371322211eebb')
- version('4.6.0', sha256='6d740356399aac12290650325a05aec2fe92c1905df10761b2b0100994197725')
- version('4.5.0', sha256='f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a')
+ git = "https://github.com/Unidata/netcdf-c.git"
+ url = "https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz"
+
+ maintainers = ["skosukhin", "WardF"]
+
+ version("main", branch="main")
+ version("4.8.1", sha256="bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0")
+ version("4.8.0", sha256="aff58f02b1c3e91dc68f989746f652fe51ff39e6270764e484920cb8db5ad092")
+ version("4.7.4", sha256="99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b")
+ version("4.7.3", sha256="05d064a2d55147b83feff3747bea13deb77bef390cb562df4f9f9f1ce147840d")
+ version("4.7.2", sha256="7648db7bd75fdd198f7be64625af7b276067de48a49dcdfd160f1c2ddff8189c")
+ version("4.7.1", sha256="583e6b89c57037293fc3878c9181bb89151da8c6015ecea404dd426fea219b2c")
+ version("4.7.0", sha256="26d03164074363b3911ed79b7cddd045c22adf5ebaf978943db11a1d9f15e9d3")
+ version("4.6.3", sha256="734a629cdaed907201084d003cfa091806d6080eeffbd4204e7c7f73ff9d3564")
+ version("4.6.2", sha256="673936c76ae0c496f6dde7e077f5be480afc1e300adb2c200bf56fbe22e5a82a")
+ version("4.6.1", sha256="a2fabf27c72a5ee746e3843e1debbaad37cd035767eaede2045371322211eebb")
+ version("4.6.0", sha256="6d740356399aac12290650325a05aec2fe92c1905df10761b2b0100994197725")
+ version("4.5.0", sha256="f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a")
# Version 4.4.1.1 is having problems in tests
# https://github.com/Unidata/netcdf-c/issues/343
- version('4.4.1.1', sha256='7f040a0542ed3f6d27f3002b074e509614e18d6c515b2005d1537fec01b24909')
+ version("4.4.1.1", sha256="7f040a0542ed3f6d27f3002b074e509614e18d6c515b2005d1537fec01b24909")
# Version 4.4.1 can crash on you (in real life and in tests). See:
# https://github.com/Unidata/netcdf-c/issues/282
- version('4.4.1', sha256='17599385fd76ccdced368f448f654de2ed000fece44dece9fb5d598798b4c9d6')
- version('4.4.0', sha256='09b78b152d3fd373bee4b5738dc05c7b2f5315fe34aa2d94ee9256661119112f')
- version('4.3.3.1', sha256='f2ee78eb310637c007f001e7c18e2d773d23f3455242bde89647137b7344c2e2')
- version('4.3.3', sha256='3f16e21bc3dfeb3973252b9addf5defb48994f84fc9c9356081f871526a680e7')
+ version("4.4.1", sha256="17599385fd76ccdced368f448f654de2ed000fece44dece9fb5d598798b4c9d6")
+ version("4.4.0", sha256="09b78b152d3fd373bee4b5738dc05c7b2f5315fe34aa2d94ee9256661119112f")
+ version("4.3.3.1", sha256="f2ee78eb310637c007f001e7c18e2d773d23f3455242bde89647137b7344c2e2")
+ version("4.3.3", sha256="3f16e21bc3dfeb3973252b9addf5defb48994f84fc9c9356081f871526a680e7")
# configure fails if curl is not installed.
# See https://github.com/Unidata/netcdf-c/issues/1390
- patch('https://github.com/Unidata/netcdf-c/commit/e5315da1e748dc541d50796fb05233da65e86b6b.patch?full_index=1',
- sha256='c551ca2f5b6bcefa07dd7f8b7bac426a5df9861e091df1ab99167d8d401f963f',
- when='@4.7.0')
+ patch(
+ "https://github.com/Unidata/netcdf-c/commit/e5315da1e748dc541d50796fb05233da65e86b6b.patch?full_index=1",
+ sha256="c551ca2f5b6bcefa07dd7f8b7bac426a5df9861e091df1ab99167d8d401f963f",
+ when="@4.7.0",
+ )
# fix headers
- patch('https://github.com/Unidata/netcdf-c/pull/1505.patch?full_index=1',
- sha256='495b3e5beb7f074625bcec2ca76aebd339e42719e9c5ccbedbdcc4ffb81a7450',
- when='@4.7.2')
- patch('https://github.com/Unidata/netcdf-c/pull/1508.patch?full_index=1',
- sha256='19e7f31b96536928621b1c29bb6d1a57bcb7aa672cea8719acf9ac934cdd2a3e',
- when='@4.7.2')
+ patch(
+ "https://github.com/Unidata/netcdf-c/pull/1505.patch?full_index=1",
+ sha256="495b3e5beb7f074625bcec2ca76aebd339e42719e9c5ccbedbdcc4ffb81a7450",
+ when="@4.7.2",
+ )
+ patch(
+ "https://github.com/Unidata/netcdf-c/pull/1508.patch?full_index=1",
+ sha256="19e7f31b96536928621b1c29bb6d1a57bcb7aa672cea8719acf9ac934cdd2a3e",
+ when="@4.7.2",
+ )
# See https://github.com/Unidata/netcdf-c/pull/1752
- patch('4.7.3-spectrum-mpi-pnetcdf-detect.patch', when='@4.7.3:4.7.4 +parallel-netcdf')
+ patch("4.7.3-spectrum-mpi-pnetcdf-detect.patch", when="@4.7.3:4.7.4 +parallel-netcdf")
# See https://github.com/Unidata/netcdf-c/pull/2293
- patch('4.8.1-no-strict-aliasing-config.patch', when='@4.8.1:')
-
- variant('mpi', default=True,
- description='Enable parallel I/O for netcdf-4')
- variant('parallel-netcdf', default=False,
- description='Enable parallel I/O for classic files')
- variant('hdf4', default=False, description='Enable HDF4 support')
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('shared', default=True, description='Enable shared library')
- variant('dap', default=False, description='Enable DAP support')
- variant('jna', default=False, description='Enable JNA support')
- variant('fsync', default=False, description='Enable fsync support')
+ patch("4.8.1-no-strict-aliasing-config.patch", when="@4.8.1:")
+
+ variant("mpi", default=True, description="Enable parallel I/O for netcdf-4")
+ variant("parallel-netcdf", default=False, description="Enable parallel I/O for classic files")
+ variant("hdf4", default=False, description="Enable HDF4 support")
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("shared", default=True, description="Enable shared library")
+ variant("dap", default=False, description="Enable DAP support")
+ variant("jna", default=False, description="Enable JNA support")
+ variant("fsync", default=False, description="Enable fsync support")
# It's unclear if cdmremote can be enabled if '--enable-netcdf-4' is passed
# to the configure script. Since netcdf-4 support is mandatory we comment
@@ -80,25 +83,25 @@ class NetcdfC(AutotoolsPackage):
# description='Enable CDM Remote support')
# The patch for 4.7.0 touches configure.ac. See force_autoreconf below.
- depends_on('autoconf', type='build', when='@4.7.0,main')
- depends_on('automake', type='build', when='@4.7.0,main')
- depends_on('libtool', type='build', when='@4.7.0,main')
+ depends_on("autoconf", type="build", when="@4.7.0,main")
+ depends_on("automake", type="build", when="@4.7.0,main")
+ depends_on("libtool", type="build", when="@4.7.0,main")
- depends_on("m4", type='build')
- depends_on("hdf~netcdf", when='+hdf4')
+ depends_on("m4", type="build")
+ depends_on("hdf~netcdf", when="+hdf4")
# curl 7.18.0 or later is required:
# http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html
- depends_on("curl@7.18.0:", when='+dap')
+ depends_on("curl@7.18.0:", when="+dap")
# depends_on("curl@7.18.0:", when='+cdmremote')
- depends_on('parallel-netcdf', when='+parallel-netcdf')
+ depends_on("parallel-netcdf", when="+parallel-netcdf")
# We need to build with MPI wrappers if any of the two
# parallel I/O features is enabled:
# http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html#build_parallel
- depends_on('mpi', when='+mpi')
- depends_on('mpi', when='+parallel-netcdf')
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+parallel-netcdf")
# zlib 1.2.5 or later is required for netCDF-4 compression:
# http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html
@@ -106,37 +109,37 @@ class NetcdfC(AutotoolsPackage):
# High-level API of HDF5 1.8.9 or later is required for netCDF-4 support:
# http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html
- depends_on('hdf5@1.8.9:+hl')
+ depends_on("hdf5@1.8.9:+hl")
# Starting version 4.4.0, it became possible to disable parallel I/O even
# if HDF5 supports it. For previous versions of the library we need
# HDF5 without mpi support to disable parallel I/O:
- depends_on('hdf5~mpi', when='@:4.3~mpi')
+ depends_on("hdf5~mpi", when="@:4.3~mpi")
# We need HDF5 with mpi support to enable parallel I/O.
- depends_on('hdf5+mpi', when='+mpi')
+ depends_on("hdf5+mpi", when="+mpi")
# NetCDF 4.4.0 and prior have compatibility issues with HDF5 1.10 and later
# https://github.com/Unidata/netcdf-c/issues/250
- depends_on('hdf5@:1.8', when='@:4.4.0')
+ depends_on("hdf5@:1.8", when="@:4.4.0")
# The feature was introduced in version 4.1.2
# and was removed in version 4.4.0
# conflicts('+cdmremote', when='@:4.1.1,4.4:')
# The features were introduced in version 4.1.0
- conflicts('+parallel-netcdf', when='@:4.0')
- conflicts('+hdf4', when='@:4.0')
+ conflicts("+parallel-netcdf", when="@:4.0")
+ conflicts("+hdf4", when="@:4.0")
@property
def force_autoreconf(self):
# The patch for 4.7.0 touches configure.ac.
- return self.spec.satisfies('@4.7.0')
+ return self.spec.satisfies("@4.7.0")
- @when('@4.6.3:')
+ @when("@4.6.3:")
def autoreconf(self, spec, prefix):
if not os.path.exists(self.configure_abs_path):
- Executable('./bootstrap')()
+ Executable("./bootstrap")()
def configure_args(self):
cflags = []
@@ -144,109 +147,109 @@ class NetcdfC(AutotoolsPackage):
ldflags = []
libs = []
- config_args = ['--enable-v2',
- '--enable-utilities',
- '--enable-static',
- '--enable-largefile',
- '--enable-netcdf-4']
+ config_args = [
+ "--enable-v2",
+ "--enable-utilities",
+ "--enable-static",
+ "--enable-largefile",
+ "--enable-netcdf-4",
+ ]
- config_args.extend(self.enable_or_disable('fsync'))
+ config_args.extend(self.enable_or_disable("fsync"))
# The flag was introduced in version 4.3.1
- if self.spec.satisfies('@4.3.1:'):
- config_args.append('--enable-dynamic-loading')
+ if self.spec.satisfies("@4.3.1:"):
+ config_args.append("--enable-dynamic-loading")
- config_args += self.enable_or_disable('shared')
+ config_args += self.enable_or_disable("shared")
- if '~shared' in self.spec or '+pic' in self.spec:
+ if "~shared" in self.spec or "+pic" in self.spec:
# We don't have shared libraries but we still want it to be
# possible to use this library in shared builds
cflags.append(self.compiler.cc_pic_flag)
- config_args += self.enable_or_disable('dap')
+ config_args += self.enable_or_disable("dap")
# config_args += self.enable_or_disable('cdmremote')
# if '+dap' in self.spec or '+cdmremote' in self.spec:
- if '+dap' in self.spec:
+ if "+dap" in self.spec:
# Make sure Netcdf links against Spack's curl, otherwise it may
# pick up system's curl, which can give link errors, e.g.:
# undefined reference to `SSL_CTX_use_certificate_chain_file
- curl = self.spec['curl']
+ curl = self.spec["curl"]
curl_libs = curl.libs
libs.append(curl_libs.link_flags)
ldflags.append(curl_libs.search_flags)
# TODO: figure out how to get correct flags via headers.cpp_flags
- cppflags.append('-I' + curl.prefix.include)
- elif self.spec.satisfies('@4.8.0:'):
+ cppflags.append("-I" + curl.prefix.include)
+ elif self.spec.satisfies("@4.8.0:"):
# Prevent overlinking to a system installation of libcurl:
- config_args.append('ac_cv_lib_curl_curl_easy_setopt=no')
+ config_args.append("ac_cv_lib_curl_curl_easy_setopt=no")
- if self.spec.satisfies('@4.4:'):
- if '+mpi' in self.spec:
- config_args.append('--enable-parallel4')
+ if self.spec.satisfies("@4.4:"):
+ if "+mpi" in self.spec:
+ config_args.append("--enable-parallel4")
else:
- config_args.append('--disable-parallel4')
+ config_args.append("--disable-parallel4")
- if self.spec.satisfies('@4.3.2:'):
- config_args += self.enable_or_disable('jna')
+ if self.spec.satisfies("@4.3.2:"):
+ config_args += self.enable_or_disable("jna")
# Starting version 4.1.3, --with-hdf5= and other such configure options
# are removed. Variables CPPFLAGS, LDFLAGS, and LD_LIBRARY_PATH must be
# used instead.
- hdf5_hl = self.spec['hdf5:hl']
+ hdf5_hl = self.spec["hdf5:hl"]
cppflags.append(hdf5_hl.headers.cpp_flags)
ldflags.append(hdf5_hl.libs.search_flags)
- if hdf5_hl.satisfies('~shared'):
+ if hdf5_hl.satisfies("~shared"):
libs.append(hdf5_hl.libs.link_flags)
- if '+parallel-netcdf' in self.spec:
- config_args.append('--enable-pnetcdf')
- pnetcdf = self.spec['parallel-netcdf']
+ if "+parallel-netcdf" in self.spec:
+ config_args.append("--enable-pnetcdf")
+ pnetcdf = self.spec["parallel-netcdf"]
cppflags.append(pnetcdf.headers.cpp_flags)
# TODO: change to pnetcdf.libs.search_flags once 'parallel-netcdf'
# package gets custom implementation of 'libs'
- ldflags.append('-L' + pnetcdf.prefix.lib)
+ ldflags.append("-L" + pnetcdf.prefix.lib)
else:
- config_args.append('--disable-pnetcdf')
+ config_args.append("--disable-pnetcdf")
- if '+mpi' in self.spec or '+parallel-netcdf' in self.spec:
- config_args.append('CC=%s' % self.spec['mpi'].mpicc)
+ if "+mpi" in self.spec or "+parallel-netcdf" in self.spec:
+ config_args.append("CC=%s" % self.spec["mpi"].mpicc)
- config_args += self.enable_or_disable('hdf4')
- if '+hdf4' in self.spec:
- hdf4 = self.spec['hdf']
+ config_args += self.enable_or_disable("hdf4")
+ if "+hdf4" in self.spec:
+ hdf4 = self.spec["hdf"]
cppflags.append(hdf4.headers.cpp_flags)
# TODO: change to hdf4.libs.search_flags once 'hdf'
# package gets custom implementation of 'libs' property.
- ldflags.append('-L' + hdf4.prefix.lib)
+ ldflags.append("-L" + hdf4.prefix.lib)
# TODO: change to self.spec['jpeg'].libs.link_flags once the
# implementations of 'jpeg' virtual package get 'jpeg_libs'
# property.
- libs.append('-ljpeg')
- if '+szip' in hdf4:
+ libs.append("-ljpeg")
+ if "+szip" in hdf4:
# This should also come from hdf4.libs
- libs.append('-lsz')
- if '+external-xdr' in hdf4 and hdf4['rpc'].name != 'libc':
- libs.append(hdf4['rpc'].libs.link_flags)
+ libs.append("-lsz")
+ if "+external-xdr" in hdf4 and hdf4["rpc"].name != "libc":
+ libs.append(hdf4["rpc"].libs.link_flags)
# Fortran support
# In version 4.2+, NetCDF-C and NetCDF-Fortran have split.
# Use the netcdf-fortran package to install Fortran support.
- config_args.append('CFLAGS=' + ' '.join(cflags))
- config_args.append('CPPFLAGS=' + ' '.join(cppflags))
- config_args.append('LDFLAGS=' + ' '.join(ldflags))
- config_args.append('LIBS=' + ' '.join(libs))
+ config_args.append("CFLAGS=" + " ".join(cflags))
+ config_args.append("CPPFLAGS=" + " ".join(cppflags))
+ config_args.append("LDFLAGS=" + " ".join(ldflags))
+ config_args.append("LIBS=" + " ".join(libs))
return config_args
def check(self):
# h5_test fails when run in parallel
- make('check', parallel=False)
+ make("check", parallel=False)
@property
def libs(self):
- shared = '+shared' in self.spec
- return find_libraries(
- 'libnetcdf', root=self.prefix, shared=shared, recursive=True
- )
+ shared = "+shared" in self.spec
+ return find_libraries("libnetcdf", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
index a6044c2d81..2a902dddde 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
@@ -13,33 +13,30 @@ class NetcdfCxx(AutotoolsPackage):
NetCDF C++ bindings, in Spack package netcdf-cxx4."""
homepage = "https://www.unidata.ucar.edu/software/netcdf"
- url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx-4.2.tar.gz"
+ url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx-4.2.tar.gz"
- version('4.2', sha256='95ed6ab49a0ee001255eac4e44aacb5ca4ea96ba850c08337a3e4c9a0872ccd1')
+ version("4.2", sha256="95ed6ab49a0ee001255eac4e44aacb5ca4ea96ba850c08337a3e4c9a0872ccd1")
- depends_on('netcdf-c')
+ depends_on("netcdf-c")
- variant(
- 'netcdf4', default=True, description='Compile with netCDF4 support')
+ variant("netcdf4", default=True, description="Compile with netCDF4 support")
@property
def libs(self):
shared = True
- return find_libraries(
- 'libnetcdf_c++', root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libnetcdf_c++", root=self.prefix, shared=shared, recursive=True)
def configure_args(self):
args = []
- if '+netcdf4' in self.spec:
+ if "+netcdf4" in self.spec:
# There is no clear way to set this via configure, so set the flag
# explicitly
- args.append('CPPFLAGS=-DUSE_NETCDF4')
+ args.append("CPPFLAGS=-DUSE_NETCDF4")
# Add these to LDFLAGS explicitly, so the linker doesn't accidentally
# use system versions
ldflags = [
- self.spec['netcdf-c'].libs.search_flags,
- self.spec['hdf5'].libs.search_flags,
+ self.spec["netcdf-c"].libs.search_flags,
+ self.spec["hdf5"].libs.search_flags,
]
- args.append('LDFLAGS=' + ' '.join(ldflags))
+ args.append("LDFLAGS=" + " ".join(ldflags))
return args
diff --git a/var/spack/repos/builtin/packages/netcdf-cxx4/package.py b/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
index cdfe7c4547..9cac19aa7b 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx4/package.py
@@ -14,31 +14,31 @@ class NetcdfCxx4(AutotoolsPackage):
sharing of array-oriented scientific data. This is the C++ distribution."""
homepage = "https://www.unidata.ucar.edu/software/netcdf"
- url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx4-4.3.1.tar.gz"
+ url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx4-4.3.1.tar.gz"
- maintainers = ['WardF']
+ maintainers = ["WardF"]
- version('4.3.1', sha256='6a1189a181eed043b5859e15d5c080c30d0e107406fbb212c8fb9814e90f3445')
- version('4.3.0', sha256='e34fbc6aba243ec82c23e9ee99db2430555ada849c54c1f3ab081b0ddd0f5f30')
+ version("4.3.1", sha256="6a1189a181eed043b5859e15d5c080c30d0e107406fbb212c8fb9814e90f3445")
+ version("4.3.0", sha256="e34fbc6aba243ec82c23e9ee99db2430555ada849c54c1f3ab081b0ddd0f5f30")
- variant('shared', default=True, description='Enable shared library')
- variant('pic', default=True, description='Produce position-independent code (for shared libs)')
- variant('doc', default=False, description='Enable doxygen docs')
+ variant("shared", default=True, description="Enable shared library")
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("doc", default=False, description="Enable doxygen docs")
- depends_on('netcdf-c')
+ depends_on("netcdf-c")
- depends_on('doxygen', when='+doc', type='build')
+ depends_on("doxygen", when="+doc", type="build")
def flag_handler(self, name, flags):
- if name == 'cflags' and '+pic' in self.spec:
+ if name == "cflags" and "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
- if name == 'cxxflags' and '+pic' in self.spec:
+ if name == "cxxflags" and "+pic" in self.spec:
flags.append(self.compiler.cxx_pic_flag)
- elif name == 'ldlibs':
+ elif name == "ldlibs":
# Address the underlinking problem reported in
# https://github.com/Unidata/netcdf-cxx4/issues/86, which also
# results into a linking error on macOS:
- flags.append(self.spec['netcdf-c'].libs.link_flags)
+ flags.append(self.spec["netcdf-c"].libs.link_flags)
# Note that cflags and cxxflags should be added by the compiler wrapper
# and not on the command line to avoid overriding the default
@@ -47,31 +47,28 @@ class NetcdfCxx4(AutotoolsPackage):
@property
def libs(self):
- libraries = ['libnetcdf_c++4']
+ libraries = ["libnetcdf_c++4"]
query_parameters = self.spec.last_query.extra_parameters
- if 'shared' in query_parameters:
+ if "shared" in query_parameters:
shared = True
- elif 'static' in query_parameters:
+ elif "static" in query_parameters:
shared = False
else:
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
- @when('@4.3.1:+shared')
+ @when("@4.3.1:+shared")
@on_package_attributes(run_tests=True)
def patch(self):
# We enable the filter tests only when the tests are requested by the
@@ -84,22 +81,24 @@ class NetcdfCxx4(AutotoolsPackage):
# installations consistent and independent of whether the shared
# libraries or the tests are requested, we prevent installation of
# 'libh5bzip2.so':
- filter_file(r'(^\s*)lib(_LTLIBRARIES\s*)(=\s*libh5bzip2\.la\s*$)',
- r'\1noinst\2+\3', join_path(self.stage.source_path,
- 'plugins', 'Makefile.in'))
+ filter_file(
+ r"(^\s*)lib(_LTLIBRARIES\s*)(=\s*libh5bzip2\.la\s*$)",
+ r"\1noinst\2+\3",
+ join_path(self.stage.source_path, "plugins", "Makefile.in"),
+ )
def configure_args(self):
- config_args = self.enable_or_disable('shared')
+ config_args = self.enable_or_disable("shared")
- if '+doc' in self.spec:
- config_args.append('--enable-doxygen')
+ if "+doc" in self.spec:
+ config_args.append("--enable-doxygen")
else:
- config_args.append('--disable-doxygen')
+ config_args.append("--disable-doxygen")
- if self.spec.satisfies('@4.3.1:'):
- if self.run_tests and '+shared' in self.spec:
- config_args.append('--enable-filter-testing')
- if self.spec.satisfies('^hdf5+mpi'):
+ if self.spec.satisfies("@4.3.1:"):
+ if self.run_tests and "+shared" in self.spec:
+ config_args.append("--enable-filter-testing")
+ if self.spec.satisfies("^hdf5+mpi"):
# The package itself does not need the MPI libraries but
# includes <hdf5.h> in the filter test C code, which
# requires <mpi.h> when HDF5 is built with the MPI support.
@@ -110,13 +109,13 @@ class NetcdfCxx4(AutotoolsPackage):
# MPICH might reside in /opt/local/include/mpich-gcc10,
# which Spack does not know about and cannot inject with its
# compiler wrapper.
- config_args.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ config_args.append("CC={0}".format(self.spec["mpi"].mpicc))
else:
- config_args.append('--disable-filter-testing')
+ config_args.append("--disable-filter-testing")
return config_args
- @run_after('configure')
+ @run_after("configure")
def rename_version(self):
# See https://github.com/Unidata/netcdf-cxx4/issues/109
# The issue is fixed upstream:
@@ -129,14 +128,14 @@ class NetcdfCxx4(AutotoolsPackage):
# patch method because writing a robust regexp seems to be more
# difficult that simply renaming the file if exists. It also looks like
# we can simply remove the file since it is not used anywhere.
- if not self.spec.satisfies('@:4.3.1 platform=darwin'):
+ if not self.spec.satisfies("@:4.3.1 platform=darwin"):
return
with working_dir(self.build_directory):
- fname = 'VERSION'
+ fname = "VERSION"
if os.path.exists(fname):
- os.rename(fname, '{0}.txt'.format(fname))
+ os.rename(fname, "{0}.txt".format(fname))
def check(self):
with working_dir(self.build_directory):
- make('check', parallel=False)
+ make("check", parallel=False)
diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/package.py b/var/spack/repos/builtin/packages/netcdf-fortran/package.py
index 2554805875..63c8c016b2 100644
--- a/var/spack/repos/builtin/packages/netcdf-fortran/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-fortran/package.py
@@ -17,70 +17,69 @@ class NetcdfFortran(AutotoolsPackage):
distribution."""
homepage = "https://www.unidata.ucar.edu/software/netcdf"
- url = "https://downloads.unidata.ucar.edu/netcdf-fortran/4.5.4/netcdf-fortran-4.5.4.tar.gz"
+ url = "https://downloads.unidata.ucar.edu/netcdf-fortran/4.5.4/netcdf-fortran-4.5.4.tar.gz"
- maintainers = ['skosukhin', 'WardF']
+ maintainers = ["skosukhin", "WardF"]
- version('4.5.4', sha256='0a19b26a2b6e29fab5d29d7d7e08c24e87712d09a5cafeea90e16e0a2ab86b81')
- version('4.5.3', sha256='123a5c6184336891e62cf2936b9f2d1c54e8dee299cfd9d2c1a1eb05dd668a74')
- version('4.5.2', sha256='b959937d7d9045184e9d2040a915d94a7f4d0185f4a9dceb8f08c94b0c3304aa')
- version('4.4.5', sha256='2467536ce29daea348c736476aa8e684c075d2f6cab12f3361885cb6905717b8')
- version('4.4.4', sha256='b2d395175f8d283e68c8be516e231a96b191ade67ad0caafaf7fa01b1e6b5d75')
- version('4.4.3', sha256='330373aa163d5931e475b5e83da5c1ad041e855185f24e6a8b85d73b48d6cda9')
+ version("4.5.4", sha256="0a19b26a2b6e29fab5d29d7d7e08c24e87712d09a5cafeea90e16e0a2ab86b81")
+ version("4.5.3", sha256="123a5c6184336891e62cf2936b9f2d1c54e8dee299cfd9d2c1a1eb05dd668a74")
+ version("4.5.2", sha256="b959937d7d9045184e9d2040a915d94a7f4d0185f4a9dceb8f08c94b0c3304aa")
+ version("4.4.5", sha256="2467536ce29daea348c736476aa8e684c075d2f6cab12f3361885cb6905717b8")
+ version("4.4.4", sha256="b2d395175f8d283e68c8be516e231a96b191ade67ad0caafaf7fa01b1e6b5d75")
+ version("4.4.3", sha256="330373aa163d5931e475b5e83da5c1ad041e855185f24e6a8b85d73b48d6cda9")
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('shared', default=True, description='Enable shared library')
- variant('doc', default=False, description='Enable building docs')
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("shared", default=True, description="Enable shared library")
+ variant("doc", default=False, description="Enable building docs")
- depends_on('netcdf-c')
- depends_on('netcdf-c@4.7.4:', when='@4.5.3:') # nc_def_var_szip required
- depends_on('doxygen', when='+doc', type='build')
+ depends_on("netcdf-c")
+ depends_on("netcdf-c@4.7.4:", when="@4.5.3:") # nc_def_var_szip required
+ depends_on("doxygen", when="+doc", type="build")
# The default libtool.m4 is too old to handle NAG compiler properly:
# https://github.com/Unidata/netcdf-fortran/issues/94
# Moreover, Libtool can't handle '-pthread' flag coming from libcurl,
# doesn't inject convenience libraries into the shared ones, and is unable
# to detect NAG when it is called with an MPI wrapper.
- patch('nag_libtool_2.4.2.patch', when='@:4.4.4%nag')
- patch('nag_libtool_2.4.6.patch', when='@4.4.5:%nag')
+ patch("nag_libtool_2.4.2.patch", when="@:4.4.4%nag")
+ patch("nag_libtool_2.4.6.patch", when="@4.4.5:%nag")
# Enable 'make check' for NAG, which is too strict.
- patch('nag_testing.patch', when='@4.4.5%nag')
+ patch("nag_testing.patch", when="@4.4.5%nag")
# File fortran/nf_logging.F90 is compiled without -DLOGGING, which leads
# to missing symbols in the library. Additionally, the patch enables
# building with NAG, which refuses to compile empty source files (see also
# comments in the patch):
- patch('logging.patch', when='@:4.4.5')
+ patch("logging.patch", when="@:4.4.5")
# Prevent excessive linking to system libraries. Without this patch the
# library might get linked to the system installation of libcurl. See
# https://github.com/Unidata/netcdf-fortran/commit/0a11f580faebbc1c4dce68bf5135709d1c7c7cc1#diff-67e997bcfdac55191033d57a16d1408a
- patch('excessive_linking.patch', when='@4.4.5')
+ patch("excessive_linking.patch", when="@4.4.5")
# Parallel builds do not work in the fortran directory. This patch is
# derived from https://github.com/Unidata/netcdf-fortran/pull/211
- patch('no_parallel_build.patch', when='@4.5.2')
+ patch("no_parallel_build.patch", when="@4.5.2")
def flag_handler(self, name, flags):
- if name == 'cflags':
- if '+pic' in self.spec:
+ if name == "cflags":
+ if "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
- elif name == 'fflags':
- if '+pic' in self.spec:
+ elif name == "fflags":
+ if "+pic" in self.spec:
flags.append(self.compiler.f77_pic_flag)
- if self.spec.satisfies('%gcc@10:'):
+ if self.spec.satisfies("%gcc@10:"):
# https://github.com/Unidata/netcdf-fortran/issues/212
- flags.append('-fallow-argument-mismatch')
- elif self.compiler.name == 'cce':
+ flags.append("-fallow-argument-mismatch")
+ elif self.compiler.name == "cce":
# Cray compiler generates module files with uppercase names by
# default, which is not handled by the makefiles of
# NetCDF-Fortran:
# https://github.com/Unidata/netcdf-fortran/pull/221.
# The following flag forces the compiler to produce module
# files with lowercase names.
- flags.append('-ef')
+ flags.append("-ef")
# Note that cflags and fflags should be added by the compiler wrapper
# and not on the command line to avoid overriding the default
@@ -89,58 +88,55 @@ class NetcdfFortran(AutotoolsPackage):
@property
def libs(self):
- libraries = ['libnetcdff']
+ libraries = ["libnetcdff"]
query_parameters = self.spec.last_query.extra_parameters
- if 'shared' in query_parameters:
+ if "shared" in query_parameters:
shared = True
- elif 'static' in query_parameters:
+ elif "static" in query_parameters:
shared = False
else:
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
def configure_args(self):
- config_args = ['--enable-static']
- config_args += self.enable_or_disable('shared')
- config_args += self.enable_or_disable('doxygen', variant='doc')
+ config_args = ["--enable-static"]
+ config_args += self.enable_or_disable("shared")
+ config_args += self.enable_or_disable("doxygen", variant="doc")
- netcdf_c_spec = self.spec['netcdf-c']
- if '+mpi' in netcdf_c_spec or '+parallel-netcdf' in netcdf_c_spec:
+ netcdf_c_spec = self.spec["netcdf-c"]
+ if "+mpi" in netcdf_c_spec or "+parallel-netcdf" in netcdf_c_spec:
# Prefixing with 'mpiexec -n 4' is not necessarily the correct way
# to launch MPI programs on a particular machine (e.g. 'srun -n 4'
# with additional arguments might be the right one). Therefore, we
# make sure the parallel tests are not launched at all (although it
# is the default behaviour currently):
- config_args.append('--disable-parallel-tests')
- if self.spec.satisfies('@4.5.0:4.5.2'):
+ config_args.append("--disable-parallel-tests")
+ if self.spec.satisfies("@4.5.0:4.5.2"):
# Versions from 4.5.0 to 4.5.2 check whether the Fortran MPI
# interface is available and fail the configuration if it is
# not. However, the interface is needed for a subset of the test
# programs only (the library itself does not need it), which are
# not run by default and explicitly disabled above. To avoid the
# configuration failure, we set the following cache variable:
- config_args.append('ac_cv_func_MPI_File_open=yes')
+ config_args.append("ac_cv_func_MPI_File_open=yes")
return config_args
- @run_after('configure')
+ @run_after("configure")
def patch_libtool(self):
"""AOCC support for NETCDF-F"""
- if '%aocc' in self.spec:
+ 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
@@ -155,9 +151,7 @@ class NetcdfFortran(AutotoolsPackage):
# compiler.
# How to pass a linker flag through the compiler:
- filter_file(r'^wl=""$',
- 'wl="{0}"'.format(self.compiler.linker_arg),
- 'libtool')
+ 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
@@ -165,9 +159,9 @@ class NetcdfFortran(AutotoolsPackage):
# 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')
+ 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
@@ -178,30 +172,32 @@ class NetcdfFortran(AutotoolsPackage):
# '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)
+ 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')
+ @when("@:4.4.5")
def check(self):
with working_dir(self.build_directory):
- make('check', parallel=False)
+ make("check", parallel=False)
- @run_after('install')
+ @run_after("install")
def cray_module_filenames(self):
# Cray compiler searches for module files with uppercase names by
# default and with lowercase names when the '-ef' flag is specified.
# To avoid warning messages when compiler user applications in both
# cases, we create copies of all '*.mod' files in the prefix/include
# with names in upper- and lowercase.
- if self.spec.compiler.name != 'cce':
+ if self.spec.compiler.name != "cce":
return
with working_dir(self.spec.prefix.include):
- for f in glob.glob('*.mod'):
+ for f in glob.glob("*.mod"):
name, ext = os.path.splitext(f)
try:
# Create a copy with uppercase name:
diff --git a/var/spack/repos/builtin/packages/netdata/package.py b/var/spack/repos/builtin/packages/netdata/package.py
index a8a5b4d9b5..84e67abad4 100644
--- a/var/spack/repos/builtin/packages/netdata/package.py
+++ b/var/spack/repos/builtin/packages/netdata/package.py
@@ -10,28 +10,28 @@ class Netdata(AutotoolsPackage):
"""Real-time performance monitoring, done right!"""
homepage = "https://www.netdata.cloud/"
- url = "https://github.com/netdata/netdata/releases/download/v1.30.1/netdata-v1.30.1.tar.gz"
-
- version('1.31.0', sha256='ca68f725224e8bbec041b493891376fbf41aedb47c4ac06161c2eda990089c9f')
- version('1.30.1', sha256='3df188ac04f17094cb929e2990841ba77f68aa6af484e0509b99db298fa206c9')
- version('1.22.1', sha256='f169c8615a6823448c2f1923c87c286d798132ea29d26f366e96d26e0aec3697')
-
- depends_on('pkgconfig', type='build')
- depends_on('json-c')
- depends_on('judy')
- depends_on('libelf')
- depends_on('libmnl')
- depends_on('libuv')
- depends_on('lz4')
- depends_on('openssl')
- depends_on('python@3:', type=('build', 'run'))
- depends_on('uuid')
- depends_on('zlib')
+ url = "https://github.com/netdata/netdata/releases/download/v1.30.1/netdata-v1.30.1.tar.gz"
+
+ version("1.31.0", sha256="ca68f725224e8bbec041b493891376fbf41aedb47c4ac06161c2eda990089c9f")
+ version("1.30.1", sha256="3df188ac04f17094cb929e2990841ba77f68aa6af484e0509b99db298fa206c9")
+ version("1.22.1", sha256="f169c8615a6823448c2f1923c87c286d798132ea29d26f366e96d26e0aec3697")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("json-c")
+ depends_on("judy")
+ depends_on("libelf")
+ depends_on("libmnl")
+ depends_on("libuv")
+ depends_on("lz4")
+ depends_on("openssl")
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("uuid")
+ depends_on("zlib")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
- @run_after('install')
+ @run_after("install")
def setup_dirs(self):
# netdata requires the following directories to be able to run.
mkdirp(self.prefix.var.cache.netdata)
diff --git a/var/spack/repos/builtin/packages/netgauge/package.py b/var/spack/repos/builtin/packages/netgauge/package.py
index 81aab66479..23db0c4487 100644
--- a/var/spack/repos/builtin/packages/netgauge/package.py
+++ b/var/spack/repos/builtin/packages/netgauge/package.py
@@ -14,15 +14,16 @@ class Netgauge(AutotoolsPackage):
and communication patterns. The main focus lies on accuracy,
statistical analysis and easy extensibility.
"""
+
homepage = "http://unixer.de/research/netgauge/"
- url = "http://unixer.de/research/netgauge/netgauge-2.4.6.tar.gz"
+ url = "http://unixer.de/research/netgauge/netgauge-2.4.6.tar.gz"
- version('2.4.6', sha256='dc9398e4e042efec70881f2c7074ff18cc5b74bc5ffc4b8a4aaf813b39f83444')
+ version("2.4.6", sha256="dc9398e4e042efec70881f2c7074ff18cc5b74bc5ffc4b8a4aaf813b39f83444")
depends_on("mpi")
def configure_args(self):
args = []
- args.append('MPICC=%s' % os.path.basename(self.spec['mpi'].mpicc))
- args.append('MPICXX=%s' % os.path.basename(self.spec['mpi'].mpicxx))
+ args.append("MPICC=%s" % os.path.basename(self.spec["mpi"].mpicc))
+ args.append("MPICXX=%s" % os.path.basename(self.spec["mpi"].mpicxx))
return args
diff --git a/var/spack/repos/builtin/packages/netgen/package.py b/var/spack/repos/builtin/packages/netgen/package.py
index 8e6ce45ba7..6c0fac3a2d 100644
--- a/var/spack/repos/builtin/packages/netgen/package.py
+++ b/var/spack/repos/builtin/packages/netgen/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Netgen(AutotoolsPackage):
"""NETGEN is an automatic 3d tetrahedral mesh generator. It accepts
- input from constructive solid geometry (CSG) or boundary
- representation (BRep) from STL file format. The connection to
- a geometry kernel allows the handling of IGES and STEP files.
- NETGEN contains modules for mesh optimization and hierarchical
- mesh refinement. """
+ input from constructive solid geometry (CSG) or boundary
+ representation (BRep) from STL file format. The connection to
+ a geometry kernel allows the handling of IGES and STEP files.
+ NETGEN contains modules for mesh optimization and hierarchical
+ mesh refinement."""
homepage = "https://ngsolve.org/"
url = "https://sourceforge.net/projects/netgen-mesher/files/netgen-mesher/5.3/netgen-5.3.1.tar.gz"
- version('5.3.1', sha256='cb97f79d8f4d55c00506ab334867285cde10873c8a8dc783522b47d2bc128bf9')
+ version("5.3.1", sha256="cb97f79d8f4d55c00506ab334867285cde10873c8a8dc783522b47d2bc128bf9")
- variant("mpi", default=True, description='enable mpi support')
- variant("oce", default=False, description='enable oce geometry kernel')
- variant("gui", default=False, description='enable gui')
- variant("metis", default=False, description='use metis for partitioning')
+ variant("mpi", default=True, description="enable mpi support")
+ variant("oce", default=False, description="enable oce geometry kernel")
+ variant("gui", default=False, description="enable gui")
+ variant("metis", default=False, description="use metis for partitioning")
- depends_on('zlib')
- depends_on('mpi', when='+mpi')
- depends_on('oce+X11', when='+oce')
- depends_on('metis', when='+metis')
+ depends_on("zlib")
+ depends_on("mpi", when="+mpi")
+ depends_on("oce+X11", when="+oce")
+ depends_on("metis", when="+metis")
def url_for_version(self, version):
url = "https://sourceforge.net/projects/netgen-mesher/files/netgen-mesher/{0}/netgen-{1}.tar.gz"
@@ -36,16 +36,13 @@ class Netgen(AutotoolsPackage):
def configure_args(self):
spec = self.spec
args = []
- if '+mpi' in spec:
- args.extend([
- "CC={0}".format(spec['mpi'].mpicc),
- "CXX={0}".format(spec['mpi'].mpicxx)
- ])
+ if "+mpi" in spec:
+ args.extend(["CC={0}".format(spec["mpi"].mpicc), "CXX={0}".format(spec["mpi"].mpicxx)])
else:
args.append("--without-mpi")
- if '+oce' in spec:
- args.append("--with-occ={0}".format(spec['oce'].prefix))
+ if "+oce" in spec:
+ args.append("--with-occ={0}".format(spec["oce"].prefix))
# FIXME
# due to a bug in netgen config, when --without-occ is specified
# or --with-occ=no, OCC flags is turned true, and build fails
@@ -53,12 +50,12 @@ class Netgen(AutotoolsPackage):
# else:
# args.append("--without-occ")
- if '~gui' in spec:
+ if "~gui" in spec:
args.append("--disable-gui")
else:
args.append("--enable-gui")
- if '+metis' in spec:
- args.append('--with-metis=%s' % spec['metis'].prefix)
+ if "+metis" in spec:
+ args.append("--with-metis=%s" % spec["metis"].prefix)
else:
args.append("--without-metis")
diff --git a/var/spack/repos/builtin/packages/netkit-ftp/package.py b/var/spack/repos/builtin/packages/netkit-ftp/package.py
index 012fe14297..df9c82d6e9 100644
--- a/var/spack/repos/builtin/packages/netkit-ftp/package.py
+++ b/var/spack/repos/builtin/packages/netkit-ftp/package.py
@@ -10,11 +10,11 @@ class NetkitFtp(AutotoolsPackage):
"""netkit-ftp is the original file transfer client program for Linux."""
homepage = "http://ftp.uk.linux.org/pub/linux/Networking/netkit"
- git = "https://github.com/mmaraya/netkit-ftp.git"
+ git = "https://github.com/mmaraya/netkit-ftp.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py
index c4c7c9d7ad..4908fc1b9d 100644
--- a/var/spack/repos/builtin/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py
@@ -14,74 +14,97 @@ class NetlibLapack(CMakePackage):
package that has found extensive use in the scientific community.
"""
+
homepage = "https://www.netlib.org/lapack/"
url = "https://www.netlib.org/lapack/lapack-3.5.0.tgz"
- version('3.10.1', sha256='cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714',
- url='https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.1.tar.gz')
- version('3.10.0', sha256='328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19',
- url='https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.0.tar.gz')
- version('3.9.1', sha256='d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0',
- url='https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.9.1.tar.gz')
- version('3.9.0', sha256='106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573',
- url='https://github.com/Reference-LAPACK/lapack/archive/v3.9.0.tar.gz')
- version('3.8.0', sha256='deb22cc4a6120bff72621155a9917f485f96ef8319ac074a7afbc68aab88bcf6',
- url='https://www.netlib.org/lapack/lapack-3.8.0.tar.gz')
- version('3.7.1', sha256='f6c53fd9f56932f3ddb3d5e24c1c07e4cd9b3b08e7f89de9c867125eecc9a1c8')
- version('3.7.0', sha256='ed967e4307e986474ab02eb810eed1d1adc73f5e1e3bc78fb009f6fe766db3be')
- version('3.6.1', sha256='888a50d787a9d828074db581c80b2d22bdb91435a673b1bf6cd6eb51aa50d1de')
- version('3.6.0', sha256='a9a0082c918fe14e377bbd570057616768dca76cbdc713457d8199aaa233ffc3')
- version('3.5.0', sha256='9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352')
- version('3.4.2', sha256='60a65daaf16ec315034675942618a2230521ea7adf85eea788ee54841072faf0')
- version('3.4.1', sha256='93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f')
- version('3.4.0', sha256='a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9')
- version('3.3.1', sha256='56821ab51c29369a34e5085728f92c549a9aa926f26acf7eeac87b61eed329e4')
+ version(
+ "3.10.1",
+ sha256="cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714",
+ url="https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.1.tar.gz",
+ )
+ version(
+ "3.10.0",
+ sha256="328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19",
+ url="https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.0.tar.gz",
+ )
+ version(
+ "3.9.1",
+ sha256="d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0",
+ url="https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.9.1.tar.gz",
+ )
+ version(
+ "3.9.0",
+ sha256="106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573",
+ url="https://github.com/Reference-LAPACK/lapack/archive/v3.9.0.tar.gz",
+ )
+ version(
+ "3.8.0",
+ sha256="deb22cc4a6120bff72621155a9917f485f96ef8319ac074a7afbc68aab88bcf6",
+ url="https://www.netlib.org/lapack/lapack-3.8.0.tar.gz",
+ )
+ version("3.7.1", sha256="f6c53fd9f56932f3ddb3d5e24c1c07e4cd9b3b08e7f89de9c867125eecc9a1c8")
+ version("3.7.0", sha256="ed967e4307e986474ab02eb810eed1d1adc73f5e1e3bc78fb009f6fe766db3be")
+ version("3.6.1", sha256="888a50d787a9d828074db581c80b2d22bdb91435a673b1bf6cd6eb51aa50d1de")
+ version("3.6.0", sha256="a9a0082c918fe14e377bbd570057616768dca76cbdc713457d8199aaa233ffc3")
+ version("3.5.0", sha256="9ad8f0d3f3fb5521db49f2dd716463b8fb2b6bc9dc386a9956b8c6144f726352")
+ version("3.4.2", sha256="60a65daaf16ec315034675942618a2230521ea7adf85eea788ee54841072faf0")
+ version("3.4.1", sha256="93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f")
+ version("3.4.0", sha256="a7139ef97004d0e3c4c30f1c52d508fd7ae84b5fbaf0dd8e792c167dc306c3e9")
+ version("3.3.1", sha256="56821ab51c29369a34e5085728f92c549a9aa926f26acf7eeac87b61eed329e4")
# netlib-lapack is the reference implementation of LAPACK
for ver in [
- '3.9.1', '3.9.0', '3.8.0', '3.7.1', '3.7.0', '3.6.1',
- '3.6.0', '3.5.0', '3.4.2', '3.4.1', '3.4.0', '3.3.1'
+ "3.9.1",
+ "3.9.0",
+ "3.8.0",
+ "3.7.1",
+ "3.7.0",
+ "3.6.1",
+ "3.6.0",
+ "3.5.0",
+ "3.4.2",
+ "3.4.1",
+ "3.4.0",
+ "3.3.1",
]:
- provides('lapack@' + ver, when='@' + ver)
+ provides("lapack@" + ver, when="@" + ver)
- variant('shared', default=True, description="Build shared library version")
- variant('external-blas', default=False,
- description='Build lapack with an external blas')
+ variant("shared", default=True, description="Build shared library version")
+ variant("external-blas", default=False, description="Build lapack with an external blas")
- variant('lapacke', default=True,
- description='Activates the build of the LAPACKE C interface')
- variant('xblas', default=False,
- description='Builds extended precision routines using XBLAS')
+ variant("lapacke", default=True, description="Activates the build of the LAPACKE C interface")
+ variant("xblas", default=False, description="Builds extended precision routines using XBLAS")
# Fixes for IBM XL and Cray CCE builds:
# Avoid optimizations that alter program semantics
# Don't assume fixed source form for Fortran
# Correct path to mangling config
- patch('ibm-xl.patch', when='@3.7:3.8 %xl')
- patch('ibm-xl.patch', when='@3.7:3.8 %xl_r')
- patch('ibm-xl.patch', when='@3.7:3.8 %cce@9:')
+ patch("ibm-xl.patch", when="@3.7:3.8 %xl")
+ patch("ibm-xl.patch", when="@3.7:3.8 %xl_r")
+ patch("ibm-xl.patch", when="@3.7:3.8 %cce@9:")
# https://github.com/Reference-LAPACK/lapack/pull/621
# Fixes for IBM XL and Cray CCE builds:
# Correct path to mangling config
# Fix logic for detecting recursive Fortran flags
- patch('ibm-xl-3.9.1.patch', when='@3.9.1 %xl')
- patch('ibm-xl-3.9.1.patch', when='@3.9.1 %xl_r')
- patch('ibm-xl-3.9.1.patch', when='@3.9.1 %cce@13:')
+ patch("ibm-xl-3.9.1.patch", when="@3.9.1 %xl")
+ patch("ibm-xl-3.9.1.patch", when="@3.9.1 %xl_r")
+ patch("ibm-xl-3.9.1.patch", when="@3.9.1 %cce@13:")
# https://github.com/Reference-LAPACK/lapack/issues/228
- patch('undefined_declarations.patch', when='@3.8.0:3.8')
+ patch("undefined_declarations.patch", when="@3.8.0:3.8")
# https://github.com/Reference-LAPACK/lapack/pull/268
- patch('testing.patch', when='@3.7.0:3.8')
+ patch("testing.patch", when="@3.7.0:3.8")
# virtual dependency
- provides('blas', when='~external-blas')
- provides('lapack')
+ provides("blas", when="~external-blas")
+ provides("lapack")
- depends_on('blas', when='+external-blas')
- depends_on('netlib-xblas+fortran+plain_blas', when='+xblas')
- depends_on('python@2.7:', type='test')
+ depends_on("blas", when="+external-blas")
+ depends_on("netlib-xblas+fortran+plain_blas", when="+xblas")
+ depends_on("python@2.7:", type="test")
# We need to run every phase twice in order to get static and shared
# versions of the libraries. When ~shared, we run the default
@@ -97,138 +120,144 @@ class NetlibLapack(CMakePackage):
def patch(self):
# Fix cblas CMakeLists.txt -- has wrong case for subdirectory name.
- if self.spec.satisfies('@3.6.0:'):
+ if self.spec.satisfies("@3.6.0:"):
filter_file(
- '${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/',
- '${CMAKE_CURRENT_SOURCE_DIR}/cmake/',
- 'CBLAS/CMakeLists.txt', string=True)
+ "${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/",
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/",
+ "CBLAS/CMakeLists.txt",
+ string=True,
+ )
# Remove duplicate header file that gets generated during CMake shared
# builds: https://github.com/Reference-LAPACK/lapack/issues/583
- if self.spec.satisfies('platform=windows @0:3.9.1'):
- force_remove('LAPACKE/include/lapacke_mangling.h')
+ if self.spec.satisfies("platform=windows @0:3.9.1"):
+ force_remove("LAPACKE/include/lapacke_mangling.h")
@property
def blas_libs(self):
- shared = True if '+shared' in self.spec else False
+ shared = True if "+shared" in self.spec else False
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
- tuple(): ['libblas'],
- ('c', 'fortran'): [
- 'libcblas',
- 'libblas',
+ tuple(): ["libblas"],
+ ("c", "fortran"): [
+ "libcblas",
+ "libblas",
+ ],
+ ("c",): [
+ "libcblas",
],
- ('c',): [
- 'libcblas',
+ ("fortran",): [
+ "libblas",
],
- ('fortran',): [
- 'libblas',
- ]
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
@property
def lapack_libs(self):
- shared = True if '+shared' in self.spec else False
+ shared = True if "+shared" in self.spec else False
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
- tuple(): ['liblapack'],
- ('c', 'fortran'): [
- 'liblapacke',
- 'liblapack',
+ tuple(): ["liblapack"],
+ ("c", "fortran"): [
+ "liblapacke",
+ "liblapack",
],
- ('c',): [
- 'liblapacke',
+ ("c",): [
+ "liblapacke",
+ ],
+ ("fortran",): [
+ "liblapack",
],
- ('fortran',): [
- 'liblapack',
- ]
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
@property
def headers(self):
include_dir = self.spec.prefix.include
- cblas_h = join_path(include_dir, 'cblas.h')
- lapacke_h = join_path(include_dir, 'lapacke.h')
+ cblas_h = join_path(include_dir, "cblas.h")
+ lapacke_h = join_path(include_dir, "lapacke.h")
return HeaderList([cblas_h, lapacke_h])
@property
def build_directory(self):
- return join_path(self.stage.source_path,
- 'spack-build-shared' if self._building_shared
- else 'spack-build-static')
+ return join_path(
+ self.stage.source_path,
+ "spack-build-shared" if self._building_shared else "spack-build-static",
+ )
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS:BOOL=' +
- ('ON' if self._building_shared else 'OFF')]
+ args = ["-DBUILD_SHARED_LIBS:BOOL=" + ("ON" if self._building_shared else "OFF")]
- if self.spec.satisfies('+lapacke'):
- args.extend(['-DLAPACKE:BOOL=ON', '-DLAPACKE_WITH_TMG:BOOL=ON'])
+ if self.spec.satisfies("+lapacke"):
+ args.extend(["-DLAPACKE:BOOL=ON", "-DLAPACKE_WITH_TMG:BOOL=ON"])
else:
- args.extend(['-DLAPACKE:BOOL=OFF', '-DLAPACKE_WITH_TMG:BOOL=OFF'])
+ args.extend(["-DLAPACKE:BOOL=OFF", "-DLAPACKE_WITH_TMG:BOOL=OFF"])
- if self.spec.satisfies('@3.6.0:'):
- args.append('-DCBLAS=ON') # always build CBLAS
+ if self.spec.satisfies("@3.6.0:"):
+ args.append("-DCBLAS=ON") # always build CBLAS
- if self.spec.satisfies('%intel'):
+ if self.spec.satisfies("%intel"):
# Intel compiler finds serious syntax issues when trying to
# build CBLAS and LapackE
- args.extend(['-DCBLAS=OFF', '-DLAPACKE:BOOL=OFF'])
+ args.extend(["-DCBLAS=OFF", "-DLAPACKE:BOOL=OFF"])
- if self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'):
+ if self.spec.satisfies("%xl") or self.spec.satisfies("%xl_r"):
# use F77 compiler if IBM XL
- args.extend(['-DCMAKE_Fortran_COMPILER=' + self.compiler.f77,
- '-DCMAKE_Fortran_FLAGS=' +
- (' '.join(self.spec.compiler_flags['fflags'])) +
- " -O3 -qnohot"])
+ args.extend(
+ [
+ "-DCMAKE_Fortran_COMPILER=" + self.compiler.f77,
+ "-DCMAKE_Fortran_FLAGS="
+ + (" ".join(self.spec.compiler_flags["fflags"]))
+ + " -O3 -qnohot",
+ ]
+ )
# deprecated routines are commonly needed by, for example, suitesparse
# Note that OpenBLAS spack is built with deprecated routines
- args.append('-DBUILD_DEPRECATED:BOOL=ON')
-
- if self.spec.satisfies('+external-blas'):
- args.extend(['-DUSE_OPTIMIZED_BLAS:BOOL=ON',
- '-DBLAS_LIBRARIES:PATH=' +
- self.spec['blas'].libs.joined(';')])
-
- if self.spec.satisfies('+xblas'):
- args.extend(['-DXBLAS_INCLUDE_DIR=' +
- self.spec['netlib-xblas'].prefix.include,
- '-DXBLAS_LIBRARY=' +
- self.spec['netlib-xblas'].libs.joined(';')])
-
- args.append('-DBUILD_TESTING:BOOL=' +
- ('ON' if self.run_tests else 'OFF'))
+ args.append("-DBUILD_DEPRECATED:BOOL=ON")
+
+ if self.spec.satisfies("+external-blas"):
+ args.extend(
+ [
+ "-DUSE_OPTIMIZED_BLAS:BOOL=ON",
+ "-DBLAS_LIBRARIES:PATH=" + self.spec["blas"].libs.joined(";"),
+ ]
+ )
+
+ if self.spec.satisfies("+xblas"):
+ args.extend(
+ [
+ "-DXBLAS_INCLUDE_DIR=" + self.spec["netlib-xblas"].prefix.include,
+ "-DXBLAS_LIBRARY=" + self.spec["netlib-xblas"].libs.joined(";"),
+ ]
+ )
+
+ args.append("-DBUILD_TESTING:BOOL=" + ("ON" if self.run_tests else "OFF"))
return args
# Build, install, and check both static and shared versions of the
# libraries when +shared
- @when('+shared')
+ @when("+shared")
def cmake(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).cmake(spec, prefix)
- @when('+shared')
+ @when("+shared")
def build(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).build(spec, prefix)
- @when('+shared')
+ @when("+shared")
def install(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).install(spec, prefix)
- @when('+shared')
+ @when("+shared")
def check(self):
for self._building_shared in (False, True):
super(NetlibLapack, self).check()
diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
index 461108a480..6bf280a9be 100644
--- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
@@ -12,95 +12,85 @@ class ScalapackBase(CMakePackage):
"""Base class for building ScaLAPACK, shared with the AMD optimized version
of the library in the 'amdscalapack' package.
"""
- variant(
- 'build_type',
- default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
variant(
- 'shared',
- default=True,
- description='Build the shared library version'
- )
- variant(
- 'pic',
- default=False,
- description='Build position independent code'
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
)
- provides('scalapack')
+ variant("shared", default=True, description="Build the shared library version")
+ variant("pic", default=False, description="Build position independent code")
+
+ provides("scalapack")
- depends_on('mpi')
- depends_on('lapack')
- depends_on('blas')
- depends_on('cmake', when='@2.0.0:', type='build')
+ depends_on("mpi")
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("cmake", when="@2.0.0:", type="build")
# See: https://github.com/Reference-ScaLAPACK/scalapack/issues/9
- patch("cmake_fortran_mangle.patch", when='@2.0.2:2.0')
+ patch("cmake_fortran_mangle.patch", when="@2.0.2:2.0")
# See: https://github.com/Reference-ScaLAPACK/scalapack/pull/10
- patch("mpi2-compatibility.patch", when='@2.0.2:2.0')
+ patch("mpi2-compatibility.patch", when="@2.0.2:2.0")
# See: https://github.com/Reference-ScaLAPACK/scalapack/pull/16
- patch("int_overflow.patch", when='@2.0.0:2.1.0')
+ patch("int_overflow.patch", when="@2.0.0:2.1.0")
# See: https://github.com/Reference-ScaLAPACK/scalapack/pull/23
- patch("gcc10-compatibility.patch", when='@2.0.0:2.2.0')
+ patch("gcc10-compatibility.patch", when="@2.0.0:2.2.0")
# See: https://github.com/Reference-ScaLAPACK/scalapack/pull/57
- patch("https://github.com/Reference-ScaLAPACK/scalapack/commit/d4d0066c041cf19a23f8b3aa62fbcf5f0a33c166.patch?full_index=1",
- sha256='072b006e485f0ca4cba56096912a986e4d3da73aae51c2205928aa5eb842cefd',
- when='@2.2.0')
+ patch(
+ "https://github.com/Reference-ScaLAPACK/scalapack/commit/d4d0066c041cf19a23f8b3aa62fbcf5f0a33c166.patch?full_index=1",
+ sha256="072b006e485f0ca4cba56096912a986e4d3da73aae51c2205928aa5eb842cefd",
+ when="@2.2.0",
+ )
@property
def libs(self):
# Note that the default will be to search
# for 'libnetlib-scalapack.<suffix>'
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libscalapack', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libscalapack", root=self.prefix, shared=shared, recursive=True)
def cmake_args(self):
spec = self.spec
options = [
- "-DBUILD_SHARED_LIBS:BOOL=%s" % ('ON' if '+shared' in spec else
- 'OFF'),
- "-DBUILD_STATIC_LIBS:BOOL=%s" % ('OFF' if '+shared' in spec else
- 'ON')
+ "-DBUILD_SHARED_LIBS:BOOL=%s" % ("ON" if "+shared" in spec else "OFF"),
+ "-DBUILD_STATIC_LIBS:BOOL=%s" % ("OFF" if "+shared" in spec else "ON"),
]
# Make sure we use Spack's Lapack:
- blas = spec['blas'].libs
- lapack = spec['lapack'].libs
- options.extend([
- '-DLAPACK_FOUND=true',
- '-DLAPACK_INCLUDE_DIRS=%s' % spec['lapack'].prefix.include,
- '-DLAPACK_LIBRARIES=%s' % (lapack.joined(';')),
- '-DBLAS_LIBRARIES=%s' % (blas.joined(';'))
- ])
+ blas = spec["blas"].libs
+ lapack = spec["lapack"].libs
+ options.extend(
+ [
+ "-DLAPACK_FOUND=true",
+ "-DLAPACK_INCLUDE_DIRS=%s" % spec["lapack"].prefix.include,
+ "-DLAPACK_LIBRARIES=%s" % (lapack.joined(";")),
+ "-DBLAS_LIBRARIES=%s" % (blas.joined(";")),
+ ]
+ )
c_flags = []
- if '+pic' in spec:
+ if "+pic" in spec:
c_flags.append(self.compiler.cc_pic_flag)
- options.append(
- "-DCMAKE_Fortran_FLAGS=%s" % self.compiler.fc_pic_flag
- )
+ options.append("-DCMAKE_Fortran_FLAGS=%s" % self.compiler.fc_pic_flag)
# Work around errors of the form:
# error: implicit declaration of function 'BI_smvcopy' is
# invalid in C99 [-Werror,-Wimplicit-function-declaration]
- if spec.satisfies('%clang') or spec.satisfies('%apple-clang'):
- c_flags.append('-Wno-error=implicit-function-declaration')
+ if spec.satisfies("%clang") or spec.satisfies("%apple-clang"):
+ c_flags.append("-Wno-error=implicit-function-declaration")
- options.append(
- self.define('CMAKE_C_FLAGS', ' '.join(c_flags))
- )
+ options.append(self.define("CMAKE_C_FLAGS", " ".join(c_flags)))
return options
- @run_after('install')
+ @run_after("install")
def fix_darwin_install(self):
# The shared libraries are not installed correctly on Darwin:
- if (sys.platform == 'darwin') and ('+shared' in self.spec):
+ if (sys.platform == "darwin") and ("+shared" in self.spec):
fix_darwin_install_name(self.spec.prefix.lib)
@@ -111,12 +101,12 @@ class NetlibScalapack(ScalapackBase):
homepage = "https://www.netlib.org/scalapack/"
url = "https://www.netlib.org/scalapack/scalapack-2.0.2.tgz"
- tags = ['e4s']
+ tags = ["e4s"]
- version('2.2.0', sha256='40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57')
- version('2.1.0', sha256='61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6')
- version('2.0.2', sha256='0c74aeae690fe5ee4db7926f49c5d0bb69ce09eea75beb915e00bba07530395c')
- version('2.0.1', sha256='a9b34278d4e10b40cbe084c6d87d09af8845e874250719bfbbc497b2a88bfde1')
- version('2.0.0', sha256='e51fbd9c3ef3a0dbd81385b868e2355900148eea689bf915c5383d72daf73114')
+ version("2.2.0", sha256="40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57")
+ version("2.1.0", sha256="61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6")
+ version("2.0.2", sha256="0c74aeae690fe5ee4db7926f49c5d0bb69ce09eea75beb915e00bba07530395c")
+ version("2.0.1", sha256="a9b34278d4e10b40cbe084c6d87d09af8845e874250719bfbbc497b2a88bfde1")
+ version("2.0.0", sha256="e51fbd9c3ef3a0dbd81385b868e2355900148eea689bf915c5383d72daf73114")
# versions before 2.0.0 are not using cmake and requires blacs as
# a separated package
diff --git a/var/spack/repos/builtin/packages/netlib-xblas/package.py b/var/spack/repos/builtin/packages/netlib-xblas/package.py
index 8845071ffe..e65630a91f 100644
--- a/var/spack/repos/builtin/packages/netlib-xblas/package.py
+++ b/var/spack/repos/builtin/packages/netlib-xblas/package.py
@@ -9,63 +9,62 @@ from spack.package import *
class NetlibXblas(AutotoolsPackage):
"""XBLAS is a reference implementation for extra precision BLAS.
- XBLAS is a reference implementation for the dense and banded BLAS
- routines, along with extended and mixed precision version. Extended
- precision is only used internally; input and output arguments remain
- the same as in the existing BLAS. Extra precisions is implemented as
- double-double (i.e., 128-bit total, 106-bit significand). Mixed
- precision permits some input/output arguments of different types
- (mixing real and complex) or precisions (mixing single and
- double). This implementation is proof of concept, and no attempt was
- made to optimize performance; performance should be as good as
- straightforward but careful code written by hand."""
+ XBLAS is a reference implementation for the dense and banded BLAS
+ routines, along with extended and mixed precision version. Extended
+ precision is only used internally; input and output arguments remain
+ the same as in the existing BLAS. Extra precisions is implemented as
+ double-double (i.e., 128-bit total, 106-bit significand). Mixed
+ precision permits some input/output arguments of different types
+ (mixing real and complex) or precisions (mixing single and
+ double). This implementation is proof of concept, and no attempt was
+ made to optimize performance; performance should be as good as
+ straightforward but careful code written by hand."""
homepage = "https://www.netlib.org/xblas"
- url = "https://www.netlib.org/xblas/xblas.tar.gz"
+ url = "https://www.netlib.org/xblas/xblas.tar.gz"
- version('1.0.248', sha256='b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1')
+ version("1.0.248", sha256="b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1")
- variant('fortran', default=True,
- description='Build Fortran interfaces')
- variant('plain_blas', default=True,
- description='As part of XBLAS, build plain BLAS routines')
+ variant("fortran", default=True, description="Build Fortran interfaces")
+ variant("plain_blas", default=True, description="As part of XBLAS, build plain BLAS routines")
- provides('blas', when='+plain_blas')
+ provides("blas", when="+plain_blas")
@property
def libs(self):
- return find_libraries(['libxblas'], root=self.prefix,
- shared=False, recursive=True)
+ return find_libraries(["libxblas"], root=self.prefix, shared=False, recursive=True)
def configure_args(self):
args = []
- if self.spec.satisfies('~fortran'):
- args += ['--disable-fortran']
+ if self.spec.satisfies("~fortran"):
+ args += ["--disable-fortran"]
- if self.spec.satisfies('~plain_blas'):
- args += ['--disable-plain-blas']
+ if self.spec.satisfies("~plain_blas"):
+ args += ["--disable-plain-blas"]
return args
def install(self, spec, prefix):
mkdirp(prefix.lib)
- install('libxblas.a', prefix.lib)
+ install("libxblas.a", prefix.lib)
- if self.spec.satisfies('+plain_blas'):
+ if self.spec.satisfies("+plain_blas"):
# XBLAS should be a drop-in BLAS replacement
- install('libxblas.a', join_path(prefix.lib, 'libblas.a'))
-
- headers = ['f2c-bridge.h',
- 'blas_dense_proto.h',
- 'blas_enum.h',
- 'blas_extended.h',
- 'blas_extended_private.h',
- 'blas_extended_proto.h',
- 'blas_fpu.h',
- 'blas_malloc.h']
+ install("libxblas.a", join_path(prefix.lib, "libblas.a"))
+
+ headers = [
+ "f2c-bridge.h",
+ "blas_dense_proto.h",
+ "blas_enum.h",
+ "blas_extended.h",
+ "blas_extended_private.h",
+ "blas_extended_proto.h",
+ "blas_fpu.h",
+ "blas_malloc.h",
+ ]
mkdirp(prefix.include)
for h in headers:
- install(join_path('src', h), prefix.include)
+ install(join_path("src", h), prefix.include)
return
diff --git a/var/spack/repos/builtin/packages/netpbm/package.py b/var/spack/repos/builtin/packages/netpbm/package.py
index f9710b8534..699b6535a1 100644
--- a/var/spack/repos/builtin/packages/netpbm/package.py
+++ b/var/spack/repos/builtin/packages/netpbm/package.py
@@ -20,153 +20,138 @@ class Netpbm(MakefilePackage):
"""
homepage = "http://netpbm.sourceforge.net"
- url = "https://sourceforge.net/projects/netpbm/files/super_stable/10.73.35/netpbm-10.73.35.tgz"
+ url = "https://sourceforge.net/projects/netpbm/files/super_stable/10.73.35/netpbm-10.73.35.tgz"
- maintainers = ['cessenat']
+ maintainers = ["cessenat"]
- version('10.73.35', sha256='628dbe8490bc43557813d1fedb2720dfdca0b80dd3f2364cb2a45c6ff04b0f18')
+ version("10.73.35", sha256="628dbe8490bc43557813d1fedb2720dfdca0b80dd3f2364cb2a45c6ff04b0f18")
# As a default we wish to commpile absolutely everything at once.
# Variants are there in case compilation was a problem.
- variant('all', default=True,
- description='Enable all 3rd party libs')
- variant('X', default=True,
- description='Enable X libs for pamx')
- variant('fiasco', default=True,
- description='Enable fiasco')
- variant('ghostscript', default=True,
- description='Ghostscript is called by pstopnm and pbmtextps')
+ variant("all", default=True, description="Enable all 3rd party libs")
+ variant("X", default=True, description="Enable X libs for pamx")
+ variant("fiasco", default=True, description="Enable fiasco")
+ variant(
+ "ghostscript", default=True, description="Ghostscript is called by pstopnm and pbmtextps"
+ )
# netpbm can provide it's own jasper and jbig : better use the ones
# from their respective spack package.
- variant('builtin', default=False,
- description='Use builtin libs instead of 3rd party')
+ variant("builtin", default=False, description="Use builtin libs instead of 3rd party")
- depends_on('perl', type=('build', 'run'))
- depends_on('gmake', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("perl", type=("build", "run"))
+ depends_on("gmake", type="build")
+ depends_on("pkgconfig", type="build")
# These are general pre-requisites indicated at
# http://netpbm.sourceforge.net/prereq.html
- depends_on('zlib')
- depends_on('jpeg')
- depends_on('libtiff')
- depends_on('libpng')
+ depends_on("zlib")
+ depends_on("jpeg")
+ depends_on("libtiff")
+ depends_on("libpng")
# Ghostscript is called as "gs" by pstopnm and pbmtextps
- depends_on('ghostscript', type='run', when='+ghostscript')
+ depends_on("ghostscript", type="run", when="+ghostscript")
# These are the optional libs:
# svgtopam : http://netpbm.sourceforge.net/prereq.html
# homebrew also sets a dependancy to libxml2
# https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/netpbm.rb
- depends_on('libxml2', when='+all')
+ depends_on("libxml2", when="+all")
# thinkjettopbm : http://netpbm.sourceforge.net/prereq.html
- depends_on('flex', type=('build', 'run'), when='+all')
+ depends_on("flex", type=("build", "run"), when="+all")
# https://formulae.brew.sh/formula/netpbm
- depends_on('jasper', when='+all~builtin')
+ depends_on("jasper", when="+all~builtin")
# Only Mac Ports sets a dependency to jbig
# https://ports.macports.org/port/netpbm/summary
- depends_on('jbigkit', when='+all~builtin')
+ depends_on("jbigkit", when="+all~builtin")
# pamx depends on X11 libraries:
- depends_on('libx11', when='+X')
+ depends_on("libx11", when="+X")
def edit(self, spec, prefix):
# We better not run the interactive perl script buildtools/configure.pl
# as explained by Todd in
# https://groups.google.com/g/spack/c/8sEqDkZ68DA/m/wpbB0wHaAgAJ
# so we will mimic the perl script bahavior
- copyfile('config.mk.in', 'config.mk')
+ copyfile("config.mk.in", "config.mk")
config = []
- config.append('####Lines above were copied from config.mk.in')
+ config.append("####Lines above were copied from config.mk.in")
# This is already the default but we make sure it is set
# even for a dev release for instance:
- config.append('DEFAULT_TARGET = nonmerge')
- config.append('NETPBMLIBSUFFIX={0}'.format(dso_suffix))
- if 'platform=darwin' in spec:
- config.append('NETPBMLIBTYPE=dylib')
- args = ['-dynamiclib', '-Wl,-install_name']
- args.append('-Wl,@rpath/libnetpbm.dylib')
- config.append('LDSHLIB = {0}'.format(' '.join(args)))
- elif 'platform=cygwin' in spec:
- config.append('NETPBMLIBTYPE=dll')
- config.append('NETPBMLIBSUFFIX=dll')
- config.append('SHLIBPREFIXLIST=cyg lib')
- config.append('EXE = .exe')
- config.append('SYMLINK = cp')
- config.append('LINKERISCOMPILER = Y')
- config.append('WINICON_OBJECT = $(BUILDDIR)/icon/netpbm.o')
- config.append('DLLVER=$(NETPBM_MAJOR_RELEASE)')
- args = ['-shared', '-Wl,--image-base=0x10000000']
- args.append('-Wl,--enable-auto-import')
- config.append('LDSHLIB = {0}'.format(' '.join(args)))
+ config.append("DEFAULT_TARGET = nonmerge")
+ config.append("NETPBMLIBSUFFIX={0}".format(dso_suffix))
+ if "platform=darwin" in spec:
+ config.append("NETPBMLIBTYPE=dylib")
+ args = ["-dynamiclib", "-Wl,-install_name"]
+ args.append("-Wl,@rpath/libnetpbm.dylib")
+ config.append("LDSHLIB = {0}".format(" ".join(args)))
+ elif "platform=cygwin" in spec:
+ config.append("NETPBMLIBTYPE=dll")
+ config.append("NETPBMLIBSUFFIX=dll")
+ config.append("SHLIBPREFIXLIST=cyg lib")
+ config.append("EXE = .exe")
+ config.append("SYMLINK = cp")
+ config.append("LINKERISCOMPILER = Y")
+ config.append("WINICON_OBJECT = $(BUILDDIR)/icon/netpbm.o")
+ config.append("DLLVER=$(NETPBM_MAJOR_RELEASE)")
+ args = ["-shared", "-Wl,--image-base=0x10000000"]
+ args.append("-Wl,--enable-auto-import")
+ config.append("LDSHLIB = {0}".format(" ".join(args)))
else:
- config.append('NETPBMLIBTYPE=unixshared')
-
- if '~fiasco' in spec:
- config.append('BUILD_FIASCO = N')
-
- config.append('STATICLIB_TOO=Y')
- config.append('OMIT_NETWORK = Y')
- config.append('CC = {0}'.format(spack_cc))
- config.append('LD = {0}'.format(spack_cc))
- config.append('CC_FOR_BUILD = {0}'.format(spack_cc))
- config.append('LD_FOR_BUILD = {0}'.format(spack_cc))
- config.append('CFLAGS_SHLIB += {0}'.format(self.compiler.cc_pic_flag))
- if '%gcc' in spec or 'platform=darwin' in spec:
- cflags = ['-O3', '-ffast-math', '-pedantic', '-Wall', '-Wimplicit']
- cflags.extend(['-Wno-uninitialized', '-Wmissing-declarations'])
- cflags.extend(['-Wwrite-strings', '-Wmissing-prototypes'])
- cflags.extend(['-Wundef', '-Wno-unknown-pragmas'])
- if 'platform=darwin' in spec:
+ config.append("NETPBMLIBTYPE=unixshared")
+
+ if "~fiasco" in spec:
+ config.append("BUILD_FIASCO = N")
+
+ config.append("STATICLIB_TOO=Y")
+ config.append("OMIT_NETWORK = Y")
+ config.append("CC = {0}".format(spack_cc))
+ config.append("LD = {0}".format(spack_cc))
+ config.append("CC_FOR_BUILD = {0}".format(spack_cc))
+ config.append("LD_FOR_BUILD = {0}".format(spack_cc))
+ config.append("CFLAGS_SHLIB += {0}".format(self.compiler.cc_pic_flag))
+ if "%gcc" in spec or "platform=darwin" in spec:
+ cflags = ["-O3", "-ffast-math", "-pedantic", "-Wall", "-Wimplicit"]
+ cflags.extend(["-Wno-uninitialized", "-Wmissing-declarations"])
+ cflags.extend(["-Wwrite-strings", "-Wmissing-prototypes"])
+ cflags.extend(["-Wundef", "-Wno-unknown-pragmas"])
+ if "platform=darwin" in spec:
# https://github.com/macports/macports-ports/blob/master/graphics/netpbm/Portfile
- cflags.append('-D_DARWIN_C_SOURCE')
+ cflags.append("-D_DARWIN_C_SOURCE")
# https://www.linuxquestions.org/questions/linux-from-scratch-13/can't-compile-luit-xorg-applications-4175476308/
# cflags.append('-U_XOPEN_SOURCE')
# https://www.mistys-internet.website/blog/blog/2013/10/19/no-cpp-precomp-the-compiler-flag-that-time-forgot/
# cflags.append('-no-cpp-precomp')
- config.append('CFLAGS = {0}'.format(' '.join(cflags)))
- config.append('CFLAGS_SHLIB += -fno-common')
+ config.append("CFLAGS = {0}".format(" ".join(cflags)))
+ config.append("CFLAGS_SHLIB += -fno-common")
- if '+all' in spec:
- flex = join_path(spec['flex'].prefix.bin, 'flex')
+ if "+all" in spec:
+ flex = join_path(spec["flex"].prefix.bin, "flex")
if os.path.exists(flex):
- config.append('LEX = {0}'.format(flex))
-
- config.append('TIFFLIB={0}'.format(
- spec['libtiff'].libs.ld_flags))
- config.append('TIFFHDR_DIR={0}'.format(
- spec['libtiff'].headers.directories[0]))
- config.append('PNGLIB={0}'.format(
- spec['libpng'].libs.ld_flags))
- config.append('PNGHDR_DIR={0}'.format(
- spec['libpng'].headers.directories[0]))
- config.append('JPEGLIB={0}'.format(
- spec['jpeg'].libs.ld_flags))
- config.append('JPEGHDR_DIR={0}'.format(
- spec['jpeg'].headers.directories[0]))
- if '+all' in spec and '+builtin' not in spec:
- config.append('JASPERLIB={0}'.format(
- spec['jasper'].libs.ld_flags))
- config.append('JASPERHDR_DIR={0}'.format(
- spec['jasper'].headers.directories[0]))
- config.append('JBIGLIB={0}'.format(
- spec['jbigkit'].libs.ld_flags))
- config.append('JBIGHDR_DIR={0}'.format(
- spec['jbigkit'].headers.directories[0]))
- if '+X' in spec:
- pkg_config = which('pkg-config')
- if not pkg_config('x11', '--exists'):
- config.append('X11LIB={0}'.format(
- spec['libx11'].libs.ld_flags))
- config.append('X11HDR_DIR={0}'.format(
- spec['libx11'].headers.directories[0]))
- config.append('ZLIB={0}'.format(spec['zlib'].libs.ld_flags))
- config.append('NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/')
- if spec.target.family == 'x86_64':
- config.append('WANT_SSE = Y')
-
- with open('config.mk', 'a') as mk:
- mk.write('\n'.join(config))
+ config.append("LEX = {0}".format(flex))
+
+ config.append("TIFFLIB={0}".format(spec["libtiff"].libs.ld_flags))
+ config.append("TIFFHDR_DIR={0}".format(spec["libtiff"].headers.directories[0]))
+ config.append("PNGLIB={0}".format(spec["libpng"].libs.ld_flags))
+ config.append("PNGHDR_DIR={0}".format(spec["libpng"].headers.directories[0]))
+ config.append("JPEGLIB={0}".format(spec["jpeg"].libs.ld_flags))
+ config.append("JPEGHDR_DIR={0}".format(spec["jpeg"].headers.directories[0]))
+ if "+all" in spec and "+builtin" not in spec:
+ config.append("JASPERLIB={0}".format(spec["jasper"].libs.ld_flags))
+ config.append("JASPERHDR_DIR={0}".format(spec["jasper"].headers.directories[0]))
+ config.append("JBIGLIB={0}".format(spec["jbigkit"].libs.ld_flags))
+ config.append("JBIGHDR_DIR={0}".format(spec["jbigkit"].headers.directories[0]))
+ if "+X" in spec:
+ pkg_config = which("pkg-config")
+ if not pkg_config("x11", "--exists"):
+ config.append("X11LIB={0}".format(spec["libx11"].libs.ld_flags))
+ config.append("X11HDR_DIR={0}".format(spec["libx11"].headers.directories[0]))
+ config.append("ZLIB={0}".format(spec["zlib"].libs.ld_flags))
+ config.append("NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/")
+ if spec.target.family == "x86_64":
+ config.append("WANT_SSE = Y")
+
+ with open("config.mk", "a") as mk:
+ mk.write("\n".join(config))
def build(self, spec, prefix):
make()
@@ -174,44 +159,44 @@ class Netpbm(MakefilePackage):
# Don't run the default command 'make check' for test
self.build_time_test_callbacks = []
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def make_check_tree(self):
# Run custom test command 'make check-tree'
- make('check-tree')
+ make("check-tree")
def install(self, spec, prefix):
- bdir = join_path(self.build_directory, 'build')
- make('package', 'pkgdir={0}'.format(bdir), parallel=False)
+ bdir = join_path(self.build_directory, "build")
+ make("package", "pkgdir={0}".format(bdir), parallel=False)
# Same as before build, mimic the interactive
# perl script buildtools/installnetpbm.pl
mkdirp(prefix.bin)
mkdirp(prefix.lib)
mkdirp(prefix.include)
mkdirp(prefix.man)
- with working_dir('build'):
+ with working_dir("build"):
install_tree("bin", prefix.bin)
install_tree("lib", prefix.lib)
install_tree("misc", prefix.lib)
install_tree("include", prefix.include)
install_tree(join_path("include", "netpbm"), prefix.include)
- if os.path.exists('man'):
+ if os.path.exists("man"):
install_tree("man", prefix.man)
# As a default a static lib is also created.
# We could put that as an option
- staticlib = join_path('staticlink', 'libnetpbm.a')
+ staticlib = join_path("staticlink", "libnetpbm.a")
if os.path.exists(staticlib):
install(staticlib, prefix.lib)
else:
- staticlib = join_path('link', 'libnetpbm.a')
+ staticlib = join_path("link", "libnetpbm.a")
if os.path.exists(staticlib):
install(staticlib, prefix.lib)
# Make the .pc as done by installnetpbm.pl
- src = join_path('buildtools', 'pkgconfig_template')
- pdir = join_path(prefix.lib, 'pkgconfig')
+ src = join_path("buildtools", "pkgconfig_template")
+ pdir = join_path(prefix.lib, "pkgconfig")
mkdirp(pdir)
- copyfile(src, join_path(pdir, 'netpbm.pc'))
- pfic = FileFilter(join_path(pdir, 'netpbm.pc'))
- pfic.filter('@VERSION@', 'Netpbm {0}'.format(str(spec.version)))
- pfic.filter('@LINKDIR@', '{0}'.format(prefix.lib))
- pfic.filter('@INCLUDEDIR@', '{0}'.format(prefix.include))
+ copyfile(src, join_path(pdir, "netpbm.pc"))
+ pfic = FileFilter(join_path(pdir, "netpbm.pc"))
+ pfic.filter("@VERSION@", "Netpbm {0}".format(str(spec.version)))
+ pfic.filter("@LINKDIR@", "{0}".format(prefix.lib))
+ pfic.filter("@INCLUDEDIR@", "{0}".format(prefix.include))
diff --git a/var/spack/repos/builtin/packages/netperf/package.py b/var/spack/repos/builtin/packages/netperf/package.py
index d054c1d654..a296de4d83 100644
--- a/var/spack/repos/builtin/packages/netperf/package.py
+++ b/var/spack/repos/builtin/packages/netperf/package.py
@@ -12,8 +12,8 @@ class Netperf(AutotoolsPackage):
unidirectional throughput, and end-to-end latency."""
homepage = "https://github.com/HewlettPackard/netperf"
- url = "https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.tar.gz"
+ url = "https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.tar.gz"
- version('2.7.0', sha256='4569bafa4cca3d548eb96a486755af40bd9ceb6ab7c6abd81cc6aa4875007c4e')
- version('2.6.0', sha256='560b9c0ef0eed826941f74708b3ac53d91ec13b0b8c565fb107a1b5e6d99ded4')
- version('2.5.0', sha256='bebc94102fb74071cf289e0c116f83920dbd982f9e6c913ec0f1c7f6fcffbf77')
+ version("2.7.0", sha256="4569bafa4cca3d548eb96a486755af40bd9ceb6ab7c6abd81cc6aa4875007c4e")
+ version("2.6.0", sha256="560b9c0ef0eed826941f74708b3ac53d91ec13b0b8c565fb107a1b5e6d99ded4")
+ version("2.5.0", sha256="bebc94102fb74071cf289e0c116f83920dbd982f9e6c913ec0f1c7f6fcffbf77")
diff --git a/var/spack/repos/builtin/packages/nettle/package.py b/var/spack/repos/builtin/packages/nettle/package.py
index 797cd6fb78..5adb24f023 100644
--- a/var/spack/repos/builtin/packages/nettle/package.py
+++ b/var/spack/repos/builtin/packages/nettle/package.py
@@ -13,15 +13,15 @@ class Nettle(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.lysator.liu.se/~nisse/nettle/"
gnu_mirror_path = "nettle/nettle-3.3.tar.gz"
- version('3.4.1', sha256='f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad')
- version('3.4', sha256='ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94')
- version('3.3', sha256='46942627d5d0ca11720fec18d81fc38f7ef837ea4197c1f630e71ce0d470b11e')
- version('3.2', sha256='ea4283def236413edab5a4cf9cf32adf540c8df1b9b67641cfc2302fca849d97')
- version('2.7.1', sha256='bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40')
- version('2.7', sha256='c294ea133c05382cc2effb1734d49f4abeb1ad8515543a333de49a11422cd4d6')
+ version("3.4.1", sha256="f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad")
+ version("3.4", sha256="ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94")
+ version("3.3", sha256="46942627d5d0ca11720fec18d81fc38f7ef837ea4197c1f630e71ce0d470b11e")
+ version("3.2", sha256="ea4283def236413edab5a4cf9cf32adf540c8df1b9b67641cfc2302fca849d97")
+ version("2.7.1", sha256="bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40")
+ version("2.7", sha256="c294ea133c05382cc2effb1734d49f4abeb1ad8515543a333de49a11422cd4d6")
- depends_on('gmp')
- depends_on('m4', type='build')
+ depends_on("gmp")
+ depends_on("m4", type="build")
def configure_args(self):
- return ['CFLAGS={0}'.format(self.compiler.c99_flag)]
+ return ["CFLAGS={0}".format(self.compiler.c99_flag)]
diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py
index 5eb80b593b..6bb900f063 100644
--- a/var/spack/repos/builtin/packages/neuron/package.py
+++ b/var/spack/repos/builtin/packages/neuron/package.py
@@ -16,40 +16,40 @@ class Neuron(CMakePackage):
"""
homepage = "https://www.neuron.yale.edu/"
- url = "https://neuron.yale.edu/ftp/neuron/versions/v7.7/nrn-7.7.tar.gz"
- git = "https://github.com/neuronsimulator/nrn"
- maintainers = ['pramodk', 'nrnhines', 'iomaganaris', 'alexsavulescu']
+ url = "https://neuron.yale.edu/ftp/neuron/versions/v7.7/nrn-7.7.tar.gz"
+ git = "https://github.com/neuronsimulator/nrn"
+ 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')
+ 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")
- variant("coreneuron", default=False, description="Enable CoreNEURON as submodule")
+ variant("coreneuron", default=False, description="Enable CoreNEURON as submodule")
variant("cross-compile", default=False, description="Build for cross-compile environment")
- variant("interviews", default=False, description="Enable GUI with INTERVIEWS")
- variant("legacy-unit", default=False, description="Enable legacy units")
- variant("mpi", default=True, description="Enable MPI parallelism")
- variant("python", default=True, description="Enable python")
- variant("rx3d", default=False, description="Enable cython translated 3-d rxd")
- variant("tests", default=False, description="Enable unit tests")
- variant("caliper", default=False, description="Add LLNL/Caliper support")
-
- depends_on("bison", type="build")
- depends_on("flex", type="build")
+ variant("interviews", default=False, description="Enable GUI with INTERVIEWS")
+ variant("legacy-unit", default=False, description="Enable legacy units")
+ variant("mpi", default=True, description="Enable MPI parallelism")
+ variant("python", default=True, description="Enable python")
+ variant("rx3d", default=False, description="Enable cython translated 3-d rxd")
+ variant("tests", default=False, description="Enable unit tests")
+ variant("caliper", default=False, description="Add LLNL/Caliper support")
+
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
depends_on("py-cython", when="+rx3d", type="build")
depends_on("gettext")
- depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+mpi")
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("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')
+ depends_on("caliper", when="+caliper")
+ depends_on("py-numpy", type="run")
- conflicts("+rx3d", when="~python")
+ conflicts("+rx3d", when="~python")
patch("patch-v782-git-cmake-avx512.patch", when="@7.8.2")
@@ -61,32 +61,36 @@ class Neuron(CMakePackage):
cmake_name = spec_options[1:].upper().replace("-", "_")
return "-DNRN_ENABLE_" + cmake_name + ":BOOL=" + value
- args = [cmake_options(variant) for variant in ["+coreneuron",
- "+interviews",
- "+mpi",
- "+python",
- "+rx3d",
- "+coreneuron",
- "+tests"]]
+ args = [
+ cmake_options(variant)
+ for variant in [
+ "+coreneuron",
+ "+interviews",
+ "+mpi",
+ "+python",
+ "+rx3d",
+ "+coreneuron",
+ "+tests",
+ ]
+ ]
args.append("-DNRN_ENABLE_BINARY_SPECIAL=ON")
- if "~mpi" in spec and '+coreneuron' in spec:
+ if "~mpi" in spec and "+coreneuron" in spec:
args.append("-DCORENRN_ENABLE_MPI=OFF")
if "+python" in spec:
- args.append("-DPYTHON_EXECUTABLE:FILEPATH="
- + spec["python"].command.path)
+ args.append("-DPYTHON_EXECUTABLE:FILEPATH=" + spec["python"].command.path)
- if spec.variants['build_type'].value == 'Debug':
+ if spec.variants["build_type"].value == "Debug":
args.append("-DCMAKE_C_FLAGS=-g -O0")
args.append("-DCMAKE_CXX_FLAGS=-g -O0")
args.append("-DCMAKE_BUILD_TYPE=Custom")
if "+legacy-unit" in spec:
- args.append('-DNRN_DYNAMIC_UNITS_USE_LEGACY=ON')
+ args.append("-DNRN_DYNAMIC_UNITS_USE_LEGACY=ON")
if "+caliper" in spec:
- args.append('-DCORENRN_CALIPER_PROFILING=ON')
+ args.append("-DCORENRN_CALIPER_PROFILING=ON")
return args
@@ -108,8 +112,7 @@ class Neuron(CMakePackage):
cxx_compiler = self.compiler.cxx
kwargs = {"backup": False, "string": True}
- nrnmech_makefile = join_path(self.prefix,
- "./bin/nrnmech_makefile")
+ nrnmech_makefile = join_path(self.prefix, "./bin/nrnmech_makefile")
# assign_operator is changed to fix wheel support
if self.spec.satisfies("@:7"):
@@ -117,18 +120,21 @@ class Neuron(CMakePackage):
else:
assign_operator = "="
- filter_file("CC {0} {1}".format(assign_operator, env["CC"]),
- "CC = {0}".format(cc_compiler),
- nrnmech_makefile,
- **kwargs)
- filter_file("CXX {0} {1}".format(assign_operator, env["CXX"]),
- "CXX = {0}".format(cxx_compiler),
- nrnmech_makefile,
- **kwargs)
+ filter_file(
+ "CC {0} {1}".format(assign_operator, env["CC"]),
+ "CC = {0}".format(cc_compiler),
+ nrnmech_makefile,
+ **kwargs
+ )
+ filter_file(
+ "CXX {0} {1}".format(assign_operator, env["CXX"]),
+ "CXX = {0}".format(cxx_compiler),
+ nrnmech_makefile,
+ **kwargs
+ )
if spec.satisfies("+coreneuron"):
- corenrn_makefile = join_path(self.prefix,
- "share/coreneuron/nrnivmodl_core_makefile")
+ corenrn_makefile = join_path(self.prefix, "share/coreneuron/nrnivmodl_core_makefile")
filter_file(env["CXX"], cxx_compiler, corenrn_makefile, **kwargs)
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/newt/package.py b/var/spack/repos/builtin/packages/newt/package.py
index 67eeedf78a..c0eed9b5eb 100644
--- a/var/spack/repos/builtin/packages/newt/package.py
+++ b/var/spack/repos/builtin/packages/newt/package.py
@@ -10,11 +10,11 @@ class Newt(AutotoolsPackage):
"""A library for text mode user interfaces."""
homepage = "https://pagure.io/newt"
- url = "https://pagure.io/releases/newt/newt-0.52.21.tar.gz"
+ url = "https://pagure.io/releases/newt/newt-0.52.21.tar.gz"
- version('0.52.21', sha256='265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31')
- version('0.52.20', sha256='8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc')
- version('0.52.19', sha256='08c0db56c21996af6a7cbab99491b774c6c09cef91cd9b03903c84634bff2e80')
+ version("0.52.21", sha256="265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31")
+ version("0.52.20", sha256="8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc")
+ version("0.52.19", sha256="08c0db56c21996af6a7cbab99491b774c6c09cef91cd9b03903c84634bff2e80")
- depends_on('slang')
- depends_on('popt')
+ depends_on("slang")
+ depends_on("popt")
diff --git a/var/spack/repos/builtin/packages/nextflow/package.py b/var/spack/repos/builtin/packages/nextflow/package.py
index 8fefaace81..855cb8d3e7 100644
--- a/var/spack/repos/builtin/packages/nextflow/package.py
+++ b/var/spack/repos/builtin/packages/nextflow/package.py
@@ -10,33 +10,126 @@ class Nextflow(Package):
"""Data-driven computational pipelines."""
homepage = "https://www.nextflow.io"
- url = "https://github.com/nextflow-io/nextflow/releases/download/v21.04.3/nextflow"
-
- maintainers = ['dialvarezs']
-
- version('22.04.4', sha256='e5ebf9942af4569db9199e8528016d9a52f73010ed476049774a76b201cd4b10', expand=False)
- version('22.04.3', sha256='a1a79c619200b9f2719e8467cd5b8fbcb427f43adf945233ba9e03cd2f2d814e', expand=False)
- version('22.04.1', sha256='89ef482a53d2866a3cee84b3576053278b53507bde62db4ad05b1fcd63a9368a', expand=False)
- version('22.04.0', sha256='8eba475aa395438ed222ff14df8fbe93928c14ffc68727a15b8308178edf9056', expand=False)
- version('21.10.6', sha256='104c0352c592924233ea7897cbfb2ece41795be348f97d6dfbc8d66e6271e4ad', expand=False)
- version('21.10.1', sha256='05c8b9f3d2f5eded737fdd0a13b84e3bc442cc6355ba95e21118cb624f8176da', expand=False)
- version('21.10.0', sha256='e938e53f43f0f00c8d5adf2dc104c4ce0c6d834aa84a4a3918ac8bec6eee6b9c', expand=False)
- version('21.04.3', sha256='80c7ecd94b55da8eb0e17040dbd0c43ee80e252cd999374e16c00d54d3d3abf3', expand=False)
- version('20.10.0', sha256='54f76c83cbabe8ec68d6a878dcf921e647284499f4ae917356e594d873cb78dd', expand=False)
- version('20.07.1', sha256='de4db5747a801af645d9b021c7b36f4a25c3ce1a8fda7705a5f37e8f9357443a', expand=False)
- version('20.04.1', sha256='b46833ad75b9b7db72668235b53d5c295a9ab02b50d36506bbbe53f383239bde', expand=False)
- version('20.01.0', sha256='fe1900284fd658c0781e6d8048839541afe5818d0b53f6ee8ae81f59d47ad662', expand=False)
- version('19.10.0', sha256='45497eb4bea62dd5477ebe75a6dabfd6905554c46321ca40aec6edfec61c59f4', expand=False, deprecated=True)
- version('19.07.0', sha256='e6e7ba4770cd6230bd5410a6fd8c071d6c6dde7a7765880ecabc820b84d38fe5', expand=False, deprecated=True)
- version('19.04.1', sha256='21318d8b64095a548f6baf0ef2811f33452e4f9f8a502a46a0aab7815ee34c69', expand=False, deprecated=True)
- version('0.25.6', sha256='9498806596c96ba87396194fa6f1d7d1cdb739990f83e7e89d1d055366c5a943', expand=False, deprecated=True)
- version('0.24.1', sha256='0bfde5335b385e3cff99bf4aab619e583de5dc0849767240f675037a2e7c1d83', expand=False, deprecated=True)
- version('0.23.3', sha256='ffe1c314962ff97ebf47b0567883e152522acfbf6fd5800200b1a7a0ca2896d2', expand=False, deprecated=True)
- version('0.21.0', sha256='076089079479da0d91fe1ad7aad06816164ecbcf17f73c55e795b1db8462b28d', expand=False, deprecated=True)
- version('0.20.1', sha256='02635f3371f76a10e12f7366508c90bacf532ab7c23ae03c895317a150a39bd4', expand=False, deprecated=True)
- version('0.17.3', sha256='05563ee1474fbef22f65fa3080792dcb08d218dd1b1561c517ebff4346559dbe', expand=False, deprecated=True)
-
- depends_on('java')
+ url = "https://github.com/nextflow-io/nextflow/releases/download/v21.04.3/nextflow"
+
+ maintainers = ["dialvarezs"]
+
+ version(
+ "22.04.4",
+ sha256="e5ebf9942af4569db9199e8528016d9a52f73010ed476049774a76b201cd4b10",
+ expand=False,
+ )
+ version(
+ "22.04.3",
+ sha256="a1a79c619200b9f2719e8467cd5b8fbcb427f43adf945233ba9e03cd2f2d814e",
+ expand=False,
+ )
+ version(
+ "22.04.1",
+ sha256="89ef482a53d2866a3cee84b3576053278b53507bde62db4ad05b1fcd63a9368a",
+ expand=False,
+ )
+ version(
+ "22.04.0",
+ sha256="8eba475aa395438ed222ff14df8fbe93928c14ffc68727a15b8308178edf9056",
+ expand=False,
+ )
+ version(
+ "21.10.6",
+ sha256="104c0352c592924233ea7897cbfb2ece41795be348f97d6dfbc8d66e6271e4ad",
+ expand=False,
+ )
+ version(
+ "21.10.1",
+ sha256="05c8b9f3d2f5eded737fdd0a13b84e3bc442cc6355ba95e21118cb624f8176da",
+ expand=False,
+ )
+ version(
+ "21.10.0",
+ sha256="e938e53f43f0f00c8d5adf2dc104c4ce0c6d834aa84a4a3918ac8bec6eee6b9c",
+ expand=False,
+ )
+ version(
+ "21.04.3",
+ sha256="80c7ecd94b55da8eb0e17040dbd0c43ee80e252cd999374e16c00d54d3d3abf3",
+ expand=False,
+ )
+ version(
+ "20.10.0",
+ sha256="54f76c83cbabe8ec68d6a878dcf921e647284499f4ae917356e594d873cb78dd",
+ expand=False,
+ )
+ version(
+ "20.07.1",
+ sha256="de4db5747a801af645d9b021c7b36f4a25c3ce1a8fda7705a5f37e8f9357443a",
+ expand=False,
+ )
+ version(
+ "20.04.1",
+ sha256="b46833ad75b9b7db72668235b53d5c295a9ab02b50d36506bbbe53f383239bde",
+ expand=False,
+ )
+ version(
+ "20.01.0",
+ sha256="fe1900284fd658c0781e6d8048839541afe5818d0b53f6ee8ae81f59d47ad662",
+ expand=False,
+ )
+ version(
+ "19.10.0",
+ sha256="45497eb4bea62dd5477ebe75a6dabfd6905554c46321ca40aec6edfec61c59f4",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "19.07.0",
+ sha256="e6e7ba4770cd6230bd5410a6fd8c071d6c6dde7a7765880ecabc820b84d38fe5",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "19.04.1",
+ sha256="21318d8b64095a548f6baf0ef2811f33452e4f9f8a502a46a0aab7815ee34c69",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.25.6",
+ sha256="9498806596c96ba87396194fa6f1d7d1cdb739990f83e7e89d1d055366c5a943",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.24.1",
+ sha256="0bfde5335b385e3cff99bf4aab619e583de5dc0849767240f675037a2e7c1d83",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.23.3",
+ sha256="ffe1c314962ff97ebf47b0567883e152522acfbf6fd5800200b1a7a0ca2896d2",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.21.0",
+ sha256="076089079479da0d91fe1ad7aad06816164ecbcf17f73c55e795b1db8462b28d",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.20.1",
+ sha256="02635f3371f76a10e12f7366508c90bacf532ab7c23ae03c895317a150a39bd4",
+ expand=False,
+ deprecated=True,
+ )
+ version(
+ "0.17.3",
+ sha256="05563ee1474fbef22f65fa3080792dcb08d218dd1b1561c517ebff4346559dbe",
+ expand=False,
+ deprecated=True,
+ )
+
+ depends_on("java")
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nfft/package.py b/var/spack/repos/builtin/packages/nfft/package.py
index eeab2da0d6..2a81e34c50 100644
--- a/var/spack/repos/builtin/packages/nfft/package.py
+++ b/var/spack/repos/builtin/packages/nfft/package.py
@@ -14,63 +14,63 @@ class Nfft(AutotoolsPackage):
homepage = "https://www-user.tu-chemnitz.de/~potts/nfft"
url = "https://github.com/NFFT/nfft/releases/download/3.4.1/nfft-3.4.1.tar.gz"
- version('3.4.1', sha256='1cf6060eec0afabbbba323929d8222397a77fa8661ca74927932499db26b4aaf')
- version('3.3.2', sha256='9dcebd905a82c4f0a339d0d5e666b68c507169d9173b66d5ac588aae5d50b57c')
+ version("3.4.1", sha256="1cf6060eec0afabbbba323929d8222397a77fa8661ca74927932499db26b4aaf")
+ version("3.3.2", sha256="9dcebd905a82c4f0a339d0d5e666b68c507169d9173b66d5ac588aae5d50b57c")
- depends_on('fftw')
+ depends_on("fftw")
_fftw_precisions = None
@property
def fftw_selected_precisions(self):
if not self._fftw_precisions:
- self._fftw_precisions = self.spec['fftw'].package.selected_precisions
+ self._fftw_precisions = self.spec["fftw"].package.selected_precisions
return self._fftw_precisions
def configure(self, spec, prefix):
- options = ['--prefix={0}'.format(prefix)]
+ options = ["--prefix={0}".format(prefix)]
- configure = Executable('../configure')
+ configure = Executable("../configure")
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double', create=True):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double", create=True):
configure(*options)
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float', create=True):
- configure('--enable-float', *options)
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double', create=True):
- configure('--enable-long-double', *options)
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float", create=True):
+ configure("--enable-float", *options)
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double", create=True):
+ configure("--enable-long-double", *options)
def build(self, spec, prefix):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make()
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make()
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make()
def check(self):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make("check")
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make("check")
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make("check")
def install(self, spec, prefix):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make("install")
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make("install")
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make("install")
diff --git a/var/spack/repos/builtin/packages/nfs-ganesha/package.py b/var/spack/repos/builtin/packages/nfs-ganesha/package.py
index 9aa3737de4..739a30767b 100644
--- a/var/spack/repos/builtin/packages/nfs-ganesha/package.py
+++ b/var/spack/repos/builtin/packages/nfs-ganesha/package.py
@@ -11,21 +11,21 @@ class NfsGanesha(CMakePackage):
on most UNIX/Linux systems. It also supports the 9p.2000L protocol."""
homepage = "https://github.com/nfs-ganesha/nfs-ganesha/wiki"
- url = "https://github.com/nfs-ganesha/nfs-ganesha/archive/V3.2.tar.gz"
+ url = "https://github.com/nfs-ganesha/nfs-ganesha/archive/V3.2.tar.gz"
- version('3.2', sha256='1e3635f0eb0bc32868ea7d923d061d0f6b1bd03b45da34356c7c53d4c0ebafbd')
- version('3.1', sha256='c4cf78929f39b8af44b05e813783b2c39e348b485043c6290c4bca705bb5015f')
- version('3.0.3', sha256='fcc0361b9a2752be7eb4e990230765e17de373452ac24514be22c81a5447a460')
- version('3.0', sha256='136c5642ff21ec6e8a4e77c037f6218a39b2eeba77798b13556f1abbb0923ccd')
+ version("3.2", sha256="1e3635f0eb0bc32868ea7d923d061d0f6b1bd03b45da34356c7c53d4c0ebafbd")
+ version("3.1", sha256="c4cf78929f39b8af44b05e813783b2c39e348b485043c6290c4bca705bb5015f")
+ version("3.0.3", sha256="fcc0361b9a2752be7eb4e990230765e17de373452ac24514be22c81a5447a460")
+ version("3.0", sha256="136c5642ff21ec6e8a4e77c037f6218a39b2eeba77798b13556f1abbb0923ccd")
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('py-stsci-distutils', type='build')
- depends_on('userspace-rcu')
- depends_on('ntirpc')
- depends_on('krb5')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("py-stsci-distutils", type="build")
+ depends_on("userspace-rcu")
+ depends_on("ntirpc")
+ depends_on("krb5")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['ntirpc'].prefix.include.ntirpc)
+ env.prepend_path("CPATH", self.spec["ntirpc"].prefix.include.ntirpc)
diff --git a/var/spack/repos/builtin/packages/nfs-utils/package.py b/var/spack/repos/builtin/packages/nfs-utils/package.py
index de5bdf6c48..4ef93a5f23 100644
--- a/var/spack/repos/builtin/packages/nfs-utils/package.py
+++ b/var/spack/repos/builtin/packages/nfs-utils/package.py
@@ -12,26 +12,26 @@ class NfsUtils(AutotoolsPackage):
sharing file systems over the network."""
homepage = "http://linux-nfs.org/"
- url = "https://sourceforge.net/projects/nfs/files/nfs-utils/2.4.2/nfs-utils-2.4.2.tar.gz/download"
-
- version('2.4.2', sha256='bb08106cd7bd397c6cc34e2461bc7818a664450d2805da08b07e1ced88e5155f')
- version('2.4.1', sha256='c0dda96318af554881f4eb1590bfe91f1aba2fba59ed2ac3ba099f80fdf838e9')
- version('2.3.4', sha256='36e70b0a583751ead0034ebe5d8826caf2dcc7ee7c0beefe94d6ee5a3b0b2484')
-
- depends_on('pkgconfig', type='build')
- depends_on('libtirpc')
- depends_on('libevent')
- depends_on('libdmx')
- depends_on('lvm2')
- depends_on('keyutils')
- depends_on('sqlite')
- depends_on('uuid')
- depends_on('util-linux')
- depends_on('gettext')
+ url = "https://sourceforge.net/projects/nfs/files/nfs-utils/2.4.2/nfs-utils-2.4.2.tar.gz/download"
+
+ version("2.4.2", sha256="bb08106cd7bd397c6cc34e2461bc7818a664450d2805da08b07e1ced88e5155f")
+ version("2.4.1", sha256="c0dda96318af554881f4eb1590bfe91f1aba2fba59ed2ac3ba099f80fdf838e9")
+ version("2.3.4", sha256="36e70b0a583751ead0034ebe5d8826caf2dcc7ee7c0beefe94d6ee5a3b0b2484")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("libtirpc")
+ depends_on("libevent")
+ depends_on("libdmx")
+ depends_on("lvm2")
+ depends_on("keyutils")
+ depends_on("sqlite")
+ depends_on("uuid")
+ depends_on("util-linux")
+ depends_on("gettext")
def setup_build_environment(self, env):
- env.append_flags('LIBS', '-lintl')
+ env.append_flags("LIBS", "-lintl")
def configure_args(self):
- args = ['--disable-gss', '--with-rpcgen=internal']
+ args = ["--disable-gss", "--with-rpcgen=internal"]
return args
diff --git a/var/spack/repos/builtin/packages/nghttp2/package.py b/var/spack/repos/builtin/packages/nghttp2/package.py
index 08bd5219f4..a86e51769f 100644
--- a/var/spack/repos/builtin/packages/nghttp2/package.py
+++ b/var/spack/repos/builtin/packages/nghttp2/package.py
@@ -8,31 +8,31 @@ from spack.package import *
class Nghttp2(AutotoolsPackage):
"""nghttp2 is an implementation of HTTP/2 and its header compression
- algorithm HPACK in C."""
+ algorithm HPACK in C."""
homepage = "https://nghttp2.org/"
- url = "https://github.com/nghttp2/nghttp2/releases/download/v1.26.0/nghttp2-1.26.0.tar.gz"
+ url = "https://github.com/nghttp2/nghttp2/releases/download/v1.26.0/nghttp2-1.26.0.tar.gz"
- version('1.47.0', sha256='62f50f0e9fc479e48b34e1526df8dd2e94136de4c426b7680048181606832b7c')
- version('1.44.0', sha256='3e4824d02ae27eca931e0bb9788df00a26e5fd8eb672cf52cbb89c1463ba16e9')
- version('1.26.0', sha256='daf7c0ca363efa25b2cbb1e4bd925ac4287b664c3d1465f6a390359daa3f0cf1')
+ version("1.47.0", sha256="62f50f0e9fc479e48b34e1526df8dd2e94136de4c426b7680048181606832b7c")
+ version("1.44.0", sha256="3e4824d02ae27eca931e0bb9788df00a26e5fd8eb672cf52cbb89c1463ba16e9")
+ version("1.26.0", sha256="daf7c0ca363efa25b2cbb1e4bd925ac4287b664c3d1465f6a390359daa3f0cf1")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
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'
+ "--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",
]
diff --git a/var/spack/repos/builtin/packages/nginx/package.py b/var/spack/repos/builtin/packages/nginx/package.py
index 96d8b1330e..03d4976bc1 100644
--- a/var/spack/repos/builtin/packages/nginx/package.py
+++ b/var/spack/repos/builtin/packages/nginx/package.py
@@ -12,24 +12,24 @@ class Nginx(AutotoolsPackage):
Sysoev."""
homepage = "https://nginx.org/en/"
- url = "https://nginx.org/download/nginx-1.12.0.tar.gz"
+ url = "https://nginx.org/download/nginx-1.12.0.tar.gz"
- version('1.21.3', sha256='14774aae0d151da350417efc4afda5cce5035056e71894836797e1f6e2d1175a')
- version('1.15.6', sha256='a3d8c67c2035808c7c0d475fffe263db8c353b11521aa7ade468b780ed826cc6')
- version('1.13.8', sha256='8410b6c31ff59a763abf7e5a5316e7629f5a5033c95a3a0ebde727f9ec8464c5')
- version('1.12.0', sha256='b4222e26fdb620a8d3c3a3a8b955e08b713672e1bc5198d1e4f462308a795b30')
+ version("1.21.3", sha256="14774aae0d151da350417efc4afda5cce5035056e71894836797e1f6e2d1175a")
+ version("1.15.6", sha256="a3d8c67c2035808c7c0d475fffe263db8c353b11521aa7ade468b780ed826cc6")
+ version("1.13.8", sha256="8410b6c31ff59a763abf7e5a5316e7629f5a5033c95a3a0ebde727f9ec8464c5")
+ version("1.12.0", sha256="b4222e26fdb620a8d3c3a3a8b955e08b713672e1bc5198d1e4f462308a795b30")
- depends_on('openssl')
- depends_on('openssl@:1', when='@:1.21.2')
- depends_on('pcre')
- depends_on('zlib')
+ depends_on("openssl")
+ depends_on("openssl@:1", when="@:1.21.2")
+ depends_on("pcre")
+ depends_on("zlib")
- conflicts('%gcc@8:', when='@:1.14')
+ conflicts("%gcc@8:", when="@:1.14")
def configure_args(self):
- args = ['--with-http_ssl_module']
+ args = ["--with-http_ssl_module"]
return args
def setup_run_environment(self, env):
"""Prepend the sbin directory to PATH."""
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/ngmerge/package.py b/var/spack/repos/builtin/packages/ngmerge/package.py
index 9e46599431..39ab835464 100644
--- a/var/spack/repos/builtin/packages/ngmerge/package.py
+++ b/var/spack/repos/builtin/packages/ngmerge/package.py
@@ -10,12 +10,12 @@ class Ngmerge(MakefilePackage):
"""Merging paired-end reads and removing adapters."""
homepage = "https://github.com/jsh58/NGmerge"
- url = "https://github.com/jsh58/NGmerge/archive/v0.3.tar.gz"
+ url = "https://github.com/jsh58/NGmerge/archive/v0.3.tar.gz"
- version('0.3', sha256='5928f727feebd0d1bcdbee0e631ba06fbe9ce88328bd58b6c8bf4e54cc742ac3')
+ version("0.3", sha256="5928f727feebd0d1bcdbee0e631ba06fbe9ce88328bd58b6c8bf4e54cc742ac3")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('NGmerge', prefix.bin)
+ install("NGmerge", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ngmlr/package.py b/var/spack/repos/builtin/packages/ngmlr/package.py
index 1003e1d9ac..db4896f42a 100644
--- a/var/spack/repos/builtin/packages/ngmlr/package.py
+++ b/var/spack/repos/builtin/packages/ngmlr/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Ngmlr(CMakePackage):
"""Ngmlr is a long-read mapper designed to align PacBilo or Oxford
- Nanopore to a reference genome with a focus on reads that span
- structural variations."""
+ Nanopore to a reference genome with a focus on reads that span
+ structural variations."""
homepage = "https://github.com/philres/ngmlr"
- url = "https://github.com/philres/ngmlr/archive/v0.2.5.tar.gz"
+ url = "https://github.com/philres/ngmlr/archive/v0.2.5.tar.gz"
- version('0.2.5', sha256='719944a35cc7ff9c321eedbf3385a7375ce2301f609b3fd7be0a850cabbb028b')
+ version("0.2.5", sha256="719944a35cc7ff9c321eedbf3385a7375ce2301f609b3fd7be0a850cabbb028b")
- depends_on('zlib', type='link')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib", type="link")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('for_aarch64.patch', when='target=aarch64:')
- patch('for_va_list.patch')
+ patch("for_aarch64.patch", when="target=aarch64:")
+ patch("for_va_list.patch")
diff --git a/var/spack/repos/builtin/packages/ngspice/package.py b/var/spack/repos/builtin/packages/ngspice/package.py
index ac5f3ad405..1b5c506d84 100644
--- a/var/spack/repos/builtin/packages/ngspice/package.py
+++ b/var/spack/repos/builtin/packages/ngspice/package.py
@@ -11,123 +11,129 @@ class Ngspice(AutotoolsPackage):
electronic circuits."""
homepage = "http://ngspice.sourceforge.net/"
- url = "https://sourceforge.net/projects/ngspice/files/ngspice-33.tar.gz"
- git = "git://git.code.sf.net/p/ngspice/ngspice"
+ url = "https://sourceforge.net/projects/ngspice/files/ngspice-33.tar.gz"
+ git = "git://git.code.sf.net/p/ngspice/ngspice"
- maintainers = ['aweits', 'cessenat']
+ maintainers = ["aweits", "cessenat"]
# Master version by default adds the experimental adms feature
- version('master', branch='master')
- version('37', sha256='9beea6741a36a36a70f3152a36c82b728ee124c59a495312796376b30c8becbe')
- version('34', sha256='2263fffc6694754972af7072ef01cfe62ac790800dad651bc290bfcae79bd7b5')
- version('33', sha256='b99db66cc1c57c44e9af1ef6ccb1dcbc8ae1df3e35acf570af578f606f8541f1')
- version('32', sha256='3cd90c4e94516d87c5b4d02a3a6405b1136b25d05c871d4fee1fd7c4c0d03ef2')
- version('31', sha256='845f3b0c962e47ded051dfbc134c3c1e4ac925c9f0ce1cb3df64eb9b9da5c282')
- version('30', sha256='08fe0e2f3768059411328a33e736df441d7e6e7304f8dad0ed5f28e15d936097')
- version('29', sha256='8d6d0ffbc15f248eb6ec3bde3b9d1397fbc95cb677e1c6a14ff46065c7f95c4a')
- version('27', sha256='0c08c7d57a2e21cf164496f3237f66f139e0c78e38345fbe295217afaf150695')
+ version("master", branch="master")
+ version("37", sha256="9beea6741a36a36a70f3152a36c82b728ee124c59a495312796376b30c8becbe")
+ version("34", sha256="2263fffc6694754972af7072ef01cfe62ac790800dad651bc290bfcae79bd7b5")
+ version("33", sha256="b99db66cc1c57c44e9af1ef6ccb1dcbc8ae1df3e35acf570af578f606f8541f1")
+ version("32", sha256="3cd90c4e94516d87c5b4d02a3a6405b1136b25d05c871d4fee1fd7c4c0d03ef2")
+ version("31", sha256="845f3b0c962e47ded051dfbc134c3c1e4ac925c9f0ce1cb3df64eb9b9da5c282")
+ version("30", sha256="08fe0e2f3768059411328a33e736df441d7e6e7304f8dad0ed5f28e15d936097")
+ version("29", sha256="8d6d0ffbc15f248eb6ec3bde3b9d1397fbc95cb677e1c6a14ff46065c7f95c4a")
+ version("27", sha256="0c08c7d57a2e21cf164496f3237f66f139e0c78e38345fbe295217afaf150695")
# kicad needs build=lib, i.e. --with--ngshared
variant(
- 'build', default='lib',
- description='Build type: lib=ngshared, bin otherwise',
- values=('lib', 'bin'),
+ "build",
+ default="lib",
+ description="Build type: lib=ngshared, bin otherwise",
+ values=("lib", "bin"),
multi=False,
)
- variant('X', default=False, description='Use the X Window System')
+ variant("X", default=False, description="Use the X Window System")
variant(
- 'debug', default='auto',
- description='Enable debugging features: '
- 'auto is yes for build=lib, no for build=bin',
- values=('auto', 'yes', 'no'),
+ "debug",
+ default="auto",
+ description="Enable debugging features: " "auto is yes for build=lib, no for build=bin",
+ values=("auto", "yes", "no"),
multi=False,
)
- variant('xspice', default=False, description='Enable XSPICE enhancements')
- variant('cider', default=False, description='Enable CIDER enhancements')
- variant('openmp', default=False, description='Compile with multi-threading support')
- variant('readline', default=True, description='Build readline support (for bin)')
- variant('fft', default=True, description='Use external fftw lib')
+ variant("xspice", default=False, description="Enable XSPICE enhancements")
+ variant("cider", default=False, description="Enable CIDER enhancements")
+ variant("openmp", default=False, description="Compile with multi-threading support")
+ variant("readline", default=True, description="Build readline support (for bin)")
+ variant("fft", default=True, description="Use external fftw lib")
- depends_on('fftw-api@3:~mpi~openmp', when='+fft~openmp')
- depends_on('fftw-api@3:~mpi+openmp', when='+fft+openmp')
- depends_on('readline', when='+readline build=bin')
+ depends_on("fftw-api@3:~mpi~openmp", when="+fft~openmp")
+ depends_on("fftw-api@3:~mpi+openmp", when="+fft+openmp")
+ depends_on("readline", when="+readline build=bin")
# Needed for autoreconf:
- depends_on('bison', type='build', when='@master')
- depends_on('flex', type='build', when='@master')
+ depends_on("bison", type="build", when="@master")
+ depends_on("flex", type="build", when="@master")
# INSTALL indicates dependency on these :
- depends_on('freetype', when='+X build=bin')
- depends_on('libxrender', when='+X build=bin')
- depends_on('fontconfig', when='+X build=bin')
- depends_on('libxft', when='+X build=bin')
- depends_on('libxext', when='+X build=bin')
- depends_on('libxmu', when='+X build=bin')
- depends_on('libxaw', when='+X build=bin')
- depends_on('libx11', when='+X build=bin')
+ depends_on("freetype", when="+X build=bin")
+ depends_on("libxrender", when="+X build=bin")
+ depends_on("fontconfig", when="+X build=bin")
+ depends_on("libxft", when="+X build=bin")
+ depends_on("libxext", when="+X build=bin")
+ depends_on("libxmu", when="+X build=bin")
+ depends_on("libxaw", when="+X build=bin")
+ depends_on("libx11", when="+X build=bin")
# Need autotools when building on master:
- depends_on("autoconf", type='build', when='@master')
- depends_on("automake", type='build', when='@master')
- depends_on("libtool", type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
- depends_on("adms", when='@master')
+ depends_on("adms", when="@master")
- conflicts('%gcc@:4.9.9', when='@32:',
- msg='Failure to compile recent release with old gcc due to hicum2')
- conflicts('@28', msg='This release does not compile')
+ conflicts(
+ "%gcc@:4.9.9",
+ when="@32:",
+ msg="Failure to compile recent release with old gcc due to hicum2",
+ )
+ conflicts("@28", msg="This release does not compile")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')('--adms')
+ Executable("./autogen.sh")("--adms")
def configure_args(self):
spec = self.spec
args = []
- if 'build=lib' in spec:
- args.append('--with-ngshared')
+ if "build=lib" in spec:
+ args.append("--with-ngshared")
# Legacy debug is activated in auto debug mode with build=lib
- if 'debug=no' in spec:
- args.append('--disable-debug')
- args.append('--without-x')
+ if "debug=no" in spec:
+ args.append("--disable-debug")
+ args.append("--without-x")
else:
- if 'debug=auto' in spec or 'debug=no' in spec:
- args.append('--disable-debug')
- if '+readline' in spec:
- args.append('--with-readline=yes')
- if '+X' in spec:
- args.append('--with-x')
- x = spec['libx11']
- args.extend([
- '--x-includes=%s' % x.prefix.include,
- '--x-libraries=%s' % x.prefix.lib,
- ])
+ if "debug=auto" in spec or "debug=no" in spec:
+ args.append("--disable-debug")
+ if "+readline" in spec:
+ args.append("--with-readline=yes")
+ if "+X" in spec:
+ args.append("--with-x")
+ x = spec["libx11"]
+ args.extend(
+ [
+ "--x-includes=%s" % x.prefix.include,
+ "--x-libraries=%s" % x.prefix.lib,
+ ]
+ )
else:
- args.append('--without-x')
- if '+xspice' in spec:
- args.append('--enable-xspice')
- if '+cider' in spec:
- args.append('--enable-cider')
-
- if '+openmp' in spec:
- args.append('--enable-openmp')
- if '~fft' in spec:
- args.append('--with-fftw3=no')
- if 'darwin' in spec.architecture:
- args.append('--enable-pss')
- if '@master' in spec:
- args.append('--enable-adms')
+ args.append("--without-x")
+ if "+xspice" in spec:
+ args.append("--enable-xspice")
+ if "+cider" in spec:
+ args.append("--enable-cider")
+
+ if "+openmp" in spec:
+ args.append("--enable-openmp")
+ if "~fft" in spec:
+ args.append("--with-fftw3=no")
+ if "darwin" in spec.architecture:
+ args.append("--enable-pss")
+ if "@master" in spec:
+ args.append("--enable-adms")
# Do not hide compilation line (easier to debug compilation)
- args.append('--disable-silent-rules')
+ args.append("--disable-silent-rules")
return args
def flag_handler(self, name, flags):
- if self.spec.satisfies('%nvhpc') and name == 'cflags':
- flags.append('-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes')
- flags.append('-Wnested-externs -Wredundant-decls')
- if 'debug=yes' in self.spec:
- flags.append('-g')
+ if self.spec.satisfies("%nvhpc") and name == "cflags":
+ flags.append("-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes")
+ flags.append("-Wnested-externs -Wredundant-decls")
+ if "debug=yes" in self.spec:
+ flags.append("-g")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/nicstat/package.py b/var/spack/repos/builtin/packages/nicstat/package.py
index 483ac0c34b..c57d2169f3 100644
--- a/var/spack/repos/builtin/packages/nicstat/package.py
+++ b/var/spack/repos/builtin/packages/nicstat/package.py
@@ -16,12 +16,12 @@ class Nicstat(MakefilePackage, SourceforgePackage):
homepage = "https://github.com/scotte/nicstat"
sourceforge_mirror_path = "nicstat/nicstat-1.95.tar.gz"
- version('1.95', sha256='c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367')
+ version("1.95", sha256="c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367")
def edit(self, spec, prefix):
- copy('Makefile.Linux', 'makefile')
- filter_file(r'CMODEL =\s+-m32', '', 'makefile')
- filter_file('sudo', '', 'makefile', string=True)
+ copy("Makefile.Linux", "makefile")
+ filter_file(r"CMODEL =\s+-m32", "", "makefile")
+ filter_file("sudo", "", "makefile", string=True)
def install(self, spec, prefix):
install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/nim/package.py b/var/spack/repos/builtin/packages/nim/package.py
index 003cbf1a45..ad94279fda 100644
--- a/var/spack/repos/builtin/packages/nim/package.py
+++ b/var/spack/repos/builtin/packages/nim/package.py
@@ -16,30 +16,41 @@ class Nim(Package):
homepage = "https://nim-lang.org/"
url = "https://nim-lang.org/download/nim-1.4.4.tar.xz"
- version('1.4.4', sha256='6d73729def143f72fc2491ca937a9cab86d2a8243bd845a5d1403169ad20660e')
- version('1.4.2', sha256='03a47583777dd81380a3407aa6a788c9aa8a67df4821025770c9ac4186291161')
- version('0.20.0', sha256='51f479b831e87b9539f7264082bb6a64641802b54d2691b3c6e68ac7e2699a90', deprecated=True)
- version('0.19.6', sha256='a09f0c58d29392434d4fd6d15d4059cf7e013ae948413cb9233b8233d67e3a29', deprecated=True)
- version('0.19.9', sha256='154c440cb8f27da20b3d6b1a8cc03f63305073fb995bbf26ec9bc6ad891ce276',
- url='https://github.com/nim-lang/nightlies/releases/download/2019-06-02-devel-1255b3c/nim-0.19.9-linux_x64.tar.xz',
- deprecated=True)
-
- depends_on('pcre')
- depends_on('openssl')
+ version("1.4.4", sha256="6d73729def143f72fc2491ca937a9cab86d2a8243bd845a5d1403169ad20660e")
+ version("1.4.2", sha256="03a47583777dd81380a3407aa6a788c9aa8a67df4821025770c9ac4186291161")
+ version(
+ "0.20.0",
+ sha256="51f479b831e87b9539f7264082bb6a64641802b54d2691b3c6e68ac7e2699a90",
+ deprecated=True,
+ )
+ version(
+ "0.19.6",
+ sha256="a09f0c58d29392434d4fd6d15d4059cf7e013ae948413cb9233b8233d67e3a29",
+ deprecated=True,
+ )
+ version(
+ "0.19.9",
+ sha256="154c440cb8f27da20b3d6b1a8cc03f63305073fb995bbf26ec9bc6ad891ce276",
+ url="https://github.com/nim-lang/nightlies/releases/download/2019-06-02-devel-1255b3c/nim-0.19.9-linux_x64.tar.xz",
+ deprecated=True,
+ )
+
+ depends_on("pcre")
+ depends_on("openssl")
def patch(self):
- install_sh_path = os.path.join(self.stage.source_path, 'install.sh')
+ install_sh_path = os.path.join(self.stage.source_path, "install.sh")
filter_file("1/nim", "1", install_sh_path)
def install(self, spec, prefix):
- bash = which('bash')
- bash('./build.sh')
+ bash = which("bash")
+ bash("./build.sh")
- nim = Executable(os.path.join('bin', 'nim'))
- nim('c', 'koch')
+ nim = Executable(os.path.join("bin", "nim"))
+ nim("c", "koch")
- koch = Executable('./koch')
- koch('boot', '-d:release')
- koch('tools')
+ koch = Executable("./koch")
+ koch("boot", "-d:release")
+ koch("tools")
- bash('./install.sh', prefix)
+ bash("./install.sh", prefix)
diff --git a/var/spack/repos/builtin/packages/ninja-fortran/package.py b/var/spack/repos/builtin/packages/ninja-fortran/package.py
index d01d5c7a6b..371b350add 100644
--- a/var/spack/repos/builtin/packages/ninja-fortran/package.py
+++ b/var/spack/repos/builtin/packages/ninja-fortran/package.py
@@ -10,24 +10,42 @@ class NinjaFortran(Package):
"""A Fortran capable fork of ninja."""
homepage = "https://github.com/Kitware/ninja"
- url = "https://github.com/Kitware/ninja/archive/v1.9.0.g99df1.kitware.dyndep-1.jobserver-1.tar.gz"
+ url = "https://github.com/Kitware/ninja/archive/v1.9.0.g99df1.kitware.dyndep-1.jobserver-1.tar.gz"
# Each version is a fork off of a specific commit of ninja
# Hashes don't sort properly, so added "artificial" tweak-level version
# number prior to the hashes for sorting puposes
- version('1.9.0.2.g99df1', sha256='b7bc3d91e906b92d2e0887639e8ed6b0c45b28e339dda2dbb66c1388c86a9fcf')
- version('1.9.0.1.g5b44b', sha256='449359a402c3adccd37f6fece19ce7d7cda586e837fdf50eb7d53597b7f1ce90')
- version('1.9.0.0.gad558', sha256='ab486a3ccfb38636bfa61fefb976ddf9a7652f4bf12495a77718b35cc3db61ee')
- version('1.8.2.2.g81279', sha256='744a13475ace2c0ff8c8edaf95eb73edf3daf8805e4060b60d18ad4f55bb98aa')
- version('1.8.2.1.g3bbbe', sha256='121c432cec32c8aea730a71a256a81442ac8446c6f0e7652ea3121da9e0d482d')
- version('1.8.2.0.g972a7', sha256='127db130cb1c711ac4a5bb93d2f2665d304cff5206283332b50bc8ba2eb70d2e')
- version('1.7.2.1.gaad58', sha256='fac971edef78fc9f52e47365facb88c5c1c85d6d9c15f4356a1b97352c9ae5f8')
- version('1.7.2.0.gcc0ea', sha256='6afa570fa9300833f76e56fa5b01f5a3b7d8a7108f6ad368b067a003d25ef18b')
- version('1.7.1.0.g7ca7f', sha256='53472d0c3cf9c1cff7e991699710878be55d21a1c229956dea6a2c3e44edee80')
+ version(
+ "1.9.0.2.g99df1", sha256="b7bc3d91e906b92d2e0887639e8ed6b0c45b28e339dda2dbb66c1388c86a9fcf"
+ )
+ version(
+ "1.9.0.1.g5b44b", sha256="449359a402c3adccd37f6fece19ce7d7cda586e837fdf50eb7d53597b7f1ce90"
+ )
+ version(
+ "1.9.0.0.gad558", sha256="ab486a3ccfb38636bfa61fefb976ddf9a7652f4bf12495a77718b35cc3db61ee"
+ )
+ version(
+ "1.8.2.2.g81279", sha256="744a13475ace2c0ff8c8edaf95eb73edf3daf8805e4060b60d18ad4f55bb98aa"
+ )
+ version(
+ "1.8.2.1.g3bbbe", sha256="121c432cec32c8aea730a71a256a81442ac8446c6f0e7652ea3121da9e0d482d"
+ )
+ version(
+ "1.8.2.0.g972a7", sha256="127db130cb1c711ac4a5bb93d2f2665d304cff5206283332b50bc8ba2eb70d2e"
+ )
+ version(
+ "1.7.2.1.gaad58", sha256="fac971edef78fc9f52e47365facb88c5c1c85d6d9c15f4356a1b97352c9ae5f8"
+ )
+ version(
+ "1.7.2.0.gcc0ea", sha256="6afa570fa9300833f76e56fa5b01f5a3b7d8a7108f6ad368b067a003d25ef18b"
+ )
+ version(
+ "1.7.1.0.g7ca7f", sha256="53472d0c3cf9c1cff7e991699710878be55d21a1c229956dea6a2c3e44edee80"
+ )
- depends_on('python', type='build')
+ depends_on("python", type="build")
- phases = ['configure', 'install']
+ phases = ["configure", "install"]
def url_for_version(self, version):
# for some reason the hashes are being stripped from incomming
@@ -37,32 +55,34 @@ class NinjaFortran(Package):
break
# remove the "artificial" tweak-level
- split_ver = str(ver).split('.')
+ split_ver = str(ver).split(".")
url_version = ".".join(split_ver[:3]) + "." + split_ver[4]
- if version < spack.version.Version('1.8.2.1'):
- url = 'https://github.com/Kitware/ninja/archive/v{0}.kitware.dyndep-1.tar.gz'
+ if version < spack.version.Version("1.8.2.1"):
+ url = "https://github.com/Kitware/ninja/archive/v{0}.kitware.dyndep-1.tar.gz"
else:
- url = 'https://github.com/Kitware/ninja/archive/v{0}.kitware.dyndep-1.jobserver-1.tar.gz'
+ url = (
+ "https://github.com/Kitware/ninja/archive/v{0}.kitware.dyndep-1.jobserver-1.tar.gz"
+ )
return url.format(url_version)
def configure(self, spec, prefix):
- python('configure.py', '--bootstrap')
+ python("configure.py", "--bootstrap")
- @run_after('configure')
+ @run_after("configure")
@on_package_attributes(run_tests=True)
def configure_test(self):
- ninja = Executable('./ninja')
- ninja('-j{0}'.format(make_jobs), 'ninja_test')
- ninja_test = Executable('./ninja_test')
+ ninja = Executable("./ninja")
+ ninja("-j{0}".format(make_jobs), "ninja_test")
+ ninja_test = Executable("./ninja_test")
ninja_test()
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('ninja', prefix.bin)
- install_tree('misc', prefix.misc)
+ install("ninja", prefix.bin)
+ install_tree("misc", prefix.misc)
# Some distros like Fedora install a 'ninja-build' executable
# instead of 'ninja'. Install both for uniformity.
with working_dir(prefix.bin):
- symlink('ninja', 'ninja-build')
+ symlink("ninja", "ninja-build")
diff --git a/var/spack/repos/builtin/packages/ninja/package.py b/var/spack/repos/builtin/packages/ninja/package.py
index 00c611b4b6..d68dd926ed 100644
--- a/var/spack/repos/builtin/packages/ninja/package.py
+++ b/var/spack/repos/builtin/packages/ninja/package.py
@@ -14,58 +14,58 @@ class Ninja(Package):
builds as fast as possible."""
homepage = "https://ninja-build.org/"
- url = "https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz"
- git = "https://github.com/ninja-build/ninja.git"
+ url = "https://github.com/ninja-build/ninja/archive/v1.7.2.tar.gz"
+ git = "https://github.com/ninja-build/ninja.git"
- tags = ['build-tools', 'e4s']
+ tags = ["build-tools", "e4s"]
- executables = ['^ninja$']
+ executables = ["^ninja$"]
- version('kitware', branch='features-for-fortran', git='https://github.com/Kitware/ninja.git')
- version('master', branch='master')
- version('1.11.0', sha256='3c6ba2e66400fe3f1ae83deb4b235faf3137ec20bd5b08c29bfc368db143e4c6')
- version('1.10.2', sha256='ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed')
- version('1.10.1', sha256='a6b6f7ac360d4aabd54e299cc1d8fa7b234cd81b9401693da21221c62569a23e')
- version('1.10.0', sha256='3810318b08489435f8efc19c05525e80a993af5a55baa0dfeae0465a9d45f99f')
- version('1.9.0', sha256='5d7ec75828f8d3fd1a0c2f31b5b0cea780cdfe1031359228c428c1a48bfcd5b9')
- version('1.8.2', sha256='86b8700c3d0880c2b44c2ff67ce42774aaf8c28cbf57725cb881569288c1c6f4')
- version('1.7.2', sha256='2edda0a5421ace3cf428309211270772dd35a91af60c96f93f90df6bc41b16d9')
- version('1.6.0', sha256='b43e88fb068fe4d92a3dfd9eb4d19755dae5c33415db2e9b7b61b4659009cde7')
+ version("kitware", branch="features-for-fortran", git="https://github.com/Kitware/ninja.git")
+ version("master", branch="master")
+ version("1.11.0", sha256="3c6ba2e66400fe3f1ae83deb4b235faf3137ec20bd5b08c29bfc368db143e4c6")
+ version("1.10.2", sha256="ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed")
+ version("1.10.1", sha256="a6b6f7ac360d4aabd54e299cc1d8fa7b234cd81b9401693da21221c62569a23e")
+ version("1.10.0", sha256="3810318b08489435f8efc19c05525e80a993af5a55baa0dfeae0465a9d45f99f")
+ version("1.9.0", sha256="5d7ec75828f8d3fd1a0c2f31b5b0cea780cdfe1031359228c428c1a48bfcd5b9")
+ version("1.8.2", sha256="86b8700c3d0880c2b44c2ff67ce42774aaf8c28cbf57725cb881569288c1c6f4")
+ version("1.7.2", sha256="2edda0a5421ace3cf428309211270772dd35a91af60c96f93f90df6bc41b16d9")
+ version("1.6.0", sha256="b43e88fb068fe4d92a3dfd9eb4d19755dae5c33415db2e9b7b61b4659009cde7")
- depends_on('python', type='build')
+ depends_on("python", type="build")
- phases = ['configure', 'install']
+ phases = ["configure", "install"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
+ output = Executable(exe)("--version", output=str, error=str)
return output.strip()
def configure(self, spec, prefix):
- python('configure.py', '--bootstrap')
+ python("configure.py", "--bootstrap")
- @run_after('configure')
+ @run_after("configure")
@on_package_attributes(run_tests=True)
def configure_test(self):
- ninja = Executable('./ninja')
- ninja('-j{0}'.format(make_jobs), 'ninja_test')
- ninja_test = Executable('./ninja_test')
+ ninja = Executable("./ninja")
+ ninja("-j{0}".format(make_jobs), "ninja_test")
+ ninja_test = Executable("./ninja_test")
ninja_test()
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.misc)
+ env.prepend_path("PYTHONPATH", self.prefix.misc)
def install(self, spec, prefix):
mkdir(prefix.bin)
- name = 'ninja'
- if sys.platform == 'win32':
- name = name + '.exe'
+ name = "ninja"
+ if sys.platform == "win32":
+ name = name + ".exe"
install(name, prefix.bin)
- install_tree('misc', prefix.misc)
+ install_tree("misc", prefix.misc)
if sys.platform == "win32":
return
# Some distros like Fedora install a 'ninja-build' executable
# instead of 'ninja'. Install both for uniformity.
with working_dir(prefix.bin):
- symlink('ninja', 'ninja-build')
+ symlink("ninja", "ninja-build")
diff --git a/var/spack/repos/builtin/packages/nix/package.py b/var/spack/repos/builtin/packages/nix/package.py
index 4ab6582334..1ea8ab6ec2 100644
--- a/var/spack/repos/builtin/packages/nix/package.py
+++ b/var/spack/repos/builtin/packages/nix/package.py
@@ -15,89 +15,99 @@ class Nix(AutotoolsPackage):
"""Nix, the purely functional package manager"""
homepage = "https://nixos.org/nix"
- url = "https://github.com/NixOS/nix/archive/2.3.15.zip"
-
- version('2.3.15', sha256='7bf04e47960e7895655ad40461f2cf8038b97e98165672db7a7ac1990fc77a22')
- version('2.2.1', sha256='b591664dd1b04a8f197407d445799ece41140a3117bcbdf8e3c5e94cd3f59854')
- version('2.1.3', sha256='80d0834f3e34b3e91bd20969733d8010b3e253517ea64bf12258c5f450f86425')
- version('2.0.4', sha256='49c78122b20e3ad894f546dd2a2f01c32ec528de790314820b1f1335276e3c22')
-
- patch('fix-doc-build.patch')
-
- variant('storedir', values=str, default='none',
- description='path of the Nix store (defaults to /nix)')
- variant('statedir', values=str, default='none',
- description='path to the locale state (defaults to /nix/var)')
- variant('doc', default=False,
- description='Build documentation, tries to fetch docbook.xsl from sf.net')
- variant('sandboxing', default=True,
- description='Enable build isolation')
-
- depends_on('autoconf-archive', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('bison@2.6.0:', type='build')
- depends_on('flex@2.5.35:', type='build')
- depends_on('libtool', type='build')
- depends_on('libxml2', when='+doc', type='build')
- depends_on('libxslt', when='+doc', type='build')
-
- depends_on('boost@1.66.0:+coroutine+context cxxstd=14', when='@2.2.0:')
- depends_on('boost@1.61.0:+coroutine+context cxxstd=14', when='@2.0.0:')
+ url = "https://github.com/NixOS/nix/archive/2.3.15.zip"
+
+ version("2.3.15", sha256="7bf04e47960e7895655ad40461f2cf8038b97e98165672db7a7ac1990fc77a22")
+ version("2.2.1", sha256="b591664dd1b04a8f197407d445799ece41140a3117bcbdf8e3c5e94cd3f59854")
+ version("2.1.3", sha256="80d0834f3e34b3e91bd20969733d8010b3e253517ea64bf12258c5f450f86425")
+ version("2.0.4", sha256="49c78122b20e3ad894f546dd2a2f01c32ec528de790314820b1f1335276e3c22")
+
+ patch("fix-doc-build.patch")
+
+ variant(
+ "storedir",
+ values=str,
+ default="none",
+ description="path of the Nix store (defaults to /nix)",
+ )
+ variant(
+ "statedir",
+ values=str,
+ default="none",
+ description="path to the locale state (defaults to /nix/var)",
+ )
+ variant(
+ "doc",
+ default=False,
+ description="Build documentation, tries to fetch docbook.xsl from sf.net",
+ )
+ variant("sandboxing", default=True, description="Enable build isolation")
+
+ depends_on("autoconf-archive", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("bison@2.6.0:", type="build")
+ depends_on("flex@2.5.35:", type="build")
+ depends_on("libtool", type="build")
+ depends_on("libxml2", when="+doc", type="build")
+ depends_on("libxslt", when="+doc", type="build")
+
+ depends_on("boost@1.66.0:+coroutine+context cxxstd=14", when="@2.2.0:")
+ depends_on("boost@1.61.0:+coroutine+context cxxstd=14", when="@2.0.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@2.0.0:')
- depends_on('brotli')
- depends_on('editline')
+ depends_on(Boost.with_default_variants, when="@2.0.0:")
+ depends_on("brotli")
+ depends_on("editline")
- depends_on('bzip2')
- depends_on('curl')
- depends_on('libseccomp', when='+sandboxing')
+ depends_on("bzip2")
+ depends_on("curl")
+ depends_on("libseccomp", when="+sandboxing")
depends_on("libsodium")
- depends_on('openssl')
- depends_on('sqlite@3.6.19:')
- depends_on('xz')
+ depends_on("openssl")
+ depends_on("sqlite@3.6.19:")
+ depends_on("xz")
# gcc 4.9+ and higher supported with c++14
- conflicts('%gcc@:4.8')
+ conflicts("%gcc@:4.8")
def configure_args(self):
args = []
- if '+sandboxing' not in self.spec:
- args.append('--disable-seccomp-sandboxing')
- if '+doc' not in self.spec:
- args.append('--disable-doc-gen')
- storedir = self.spec.variants['storedir'].value
- if storedir != 'none':
- args.append('--with-store-dir=' + storedir)
- statedir = self.spec.variants['statedir'].value
- if statedir != 'none':
- args.append('--localstatedir=' + statedir)
+ if "+sandboxing" not in self.spec:
+ args.append("--disable-seccomp-sandboxing")
+ if "+doc" not in self.spec:
+ args.append("--disable-doc-gen")
+ storedir = self.spec.variants["storedir"].value
+ if storedir != "none":
+ args.append("--with-store-dir=" + storedir)
+ statedir = self.spec.variants["statedir"].value
+ if statedir != "none":
+ args.append("--localstatedir=" + statedir)
return args
def patch(self):
"""A few files of the testsuite need to be patched for all tests to pass"""
- filter_file('wc', '/usr/bin/wc', 'tests/gc-auto.sh')
+ filter_file("wc", "/usr/bin/wc", "tests/gc-auto.sh")
# For nix shebang with full path to work, spack's self.prefix has to shorten:
- filter_file('@ENV_PROG@', '/usr/bin/env', 'tests/shell.shebang.sh')
- filter_file('@SHELL_PROG@', '/usr/bin/env nix-shell', 'tests/shell.shebang.rb')
+ filter_file("@ENV_PROG@", "/usr/bin/env", "tests/shell.shebang.sh")
+ filter_file("@SHELL_PROG@", "/usr/bin/env nix-shell", "tests/shell.shebang.rb")
def installcheck(self):
# We have to clean this tmpdir ourself later as it contains readonly directories
self.test_path = tempfile.mkdtemp(
- prefix='tmp-spack-check-nix-{0}-'.format(self.spec.version)
+ prefix="tmp-spack-check-nix-{0}-".format(self.spec.version)
)
- mkdir(self.test_path + '/nix-test')
- mkdir(self.test_path + '/tests')
- os.environ['TMPDIR'] = self.test_path
- os.environ['TEST_ROOT'] = self.test_path + '/tests'
+ mkdir(self.test_path + "/nix-test")
+ mkdir(self.test_path + "/tests")
+ os.environ["TMPDIR"] = self.test_path
+ os.environ["TEST_ROOT"] = self.test_path + "/tests"
with working_dir(self.build_directory):
- make('installcheck')
+ make("installcheck")
- @run_after('install')
+ @run_after("install")
def installcheck_clean(self):
if self.test_path:
for (root, dirs, files) in os.walk(self.test_path, topdown=True):
diff --git a/var/spack/repos/builtin/packages/njet/package.py b/var/spack/repos/builtin/packages/njet/package.py
index cefa09a62d..88446ed345 100644
--- a/var/spack/repos/builtin/packages/njet/package.py
+++ b/var/spack/repos/builtin/packages/njet/package.py
@@ -8,21 +8,23 @@ from spack.package import *
class Njet(AutotoolsPackage):
"""NJet is a library for multi-parton one-loop matrix elements
- in massless QCD."""
+ in massless QCD."""
homepage = "https://bitbucket.org/njet/njet/wiki/Home"
- url = "https://bitbucket.org/njet/njet/downloads/njet-2.1.1.tar.gz"
+ url = "https://bitbucket.org/njet/njet/downloads/njet-2.1.1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('2.1.1', sha256='3858ad37e84f3652711aa033819a6566352ecff04a1cb0189d6590af75b7bb56')
- version('2.0.0', sha256='a1f5c171b8aff3553d9dde24d3ced5479bdaeec67f4c90c70a846ee3449b40ea')
+ version("2.1.1", sha256="3858ad37e84f3652711aa033819a6566352ecff04a1cb0189d6590af75b7bb56")
+ version("2.0.0", sha256="a1f5c171b8aff3553d9dde24d3ced5479bdaeec67f4c90c70a846ee3449b40ea")
- depends_on('qd')
+ depends_on("qd")
- patch('njet-2.0.0.patch', when='@2.0.0', level=0)
+ patch("njet-2.0.0.patch", when="@2.0.0", level=0)
def configure_args(self):
- args = ['--with-qd=' + self.spec['qd'].prefix,
- "FFLAGS=-ffixed-line-length-none -std=legacy"]
+ args = [
+ "--with-qd=" + self.spec["qd"].prefix,
+ "FFLAGS=-ffixed-line-length-none -std=legacy",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/nlcglib/package.py b/var/spack/repos/builtin/packages/nlcglib/package.py
index f74eded0e7..401ef3c8cd 100644
--- a/var/spack/repos/builtin/packages/nlcglib/package.py
+++ b/var/spack/repos/builtin/packages/nlcglib/package.py
@@ -10,55 +10,57 @@ class Nlcglib(CMakePackage, CudaPackage):
"""Nonlinear CG methods for wave-function optimization in DFT."""
homepage = "https://github.com/simonpintarelli/nlcglib"
- git = "https://github.com/simonpintarelli/nlcglib.git"
- url = "https://github.com/simonpintarelli/nlcglib/archive/v0.9.tar.gz"
+ git = "https://github.com/simonpintarelli/nlcglib.git"
+ url = "https://github.com/simonpintarelli/nlcglib/archive/v0.9.tar.gz"
- maintainers = ['simonpintarelli']
+ maintainers = ["simonpintarelli"]
- version('master', branch='master')
- version('develop', branch='develop')
+ version("master", branch="master")
+ version("develop", branch="develop")
- version('0.9', sha256='8d5bc6b85ee714fb3d6480f767e7f43e5e7d569116cf60e48f533a7f50a37a08')
+ version("0.9", sha256="8d5bc6b85ee714fb3d6480f767e7f43e5e7d569116cf60e48f533a7f50a37a08")
- variant('wrapper', default=False,
- description='Use nvcc-wrapper for CUDA build')
- variant('openmp', default=False)
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ variant("wrapper", default=False, description="Use nvcc-wrapper for CUDA build")
+ variant("openmp", default=False)
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
- depends_on('lapack')
- depends_on('kokkos +cuda~cuda_relocatable_device_code+cuda_lambda')
- depends_on('kokkos-nvcc-wrapper', when='+wrapper')
- depends_on('kokkos +cuda~cuda_relocatable_device_code+cuda_lambda+wrapper', when='+wrapper')
- depends_on("cmake@3.15:", type='build')
- depends_on('kokkos+cuda~cuda_relocatable_device_code+cuda_lambda+openmp+wrapper', when='+openmp+wrapper')
+ depends_on("lapack")
+ depends_on("kokkos +cuda~cuda_relocatable_device_code+cuda_lambda")
+ depends_on("kokkos-nvcc-wrapper", when="+wrapper")
+ depends_on("kokkos +cuda~cuda_relocatable_device_code+cuda_lambda+wrapper", when="+wrapper")
+ depends_on("cmake@3.15:", type="build")
+ depends_on(
+ "kokkos+cuda~cuda_relocatable_device_code+cuda_lambda+openmp+wrapper",
+ when="+openmp+wrapper",
+ )
def cmake_args(self):
options = []
- if '+openmp' in self.spec:
- options.append('-DUSE_OPENMP=On')
+ if "+openmp" in self.spec:
+ options.append("-DUSE_OPENMP=On")
else:
- options.append('-DUSE_OPENMP=Off')
- if self.spec['blas'].name in ['intel-mkl', 'intel-parallel-studio']:
- options.append('-DLAPACK_VENDOR=MKL')
- elif self.spec['blas'].name in ['openblas']:
- options.append('-DLAPACK_VENDOR=OpenBLAS')
+ options.append("-DUSE_OPENMP=Off")
+ if self.spec["blas"].name in ["intel-mkl", "intel-parallel-studio"]:
+ options.append("-DLAPACK_VENDOR=MKL")
+ elif self.spec["blas"].name in ["openblas"]:
+ options.append("-DLAPACK_VENDOR=OpenBLAS")
else:
- raise Exception('blas/lapack must be either openblas or mkl.')
+ raise Exception("blas/lapack must be either openblas or mkl.")
- options.append('-DBUILD_TESTS=OFF')
+ options.append("-DBUILD_TESTS=OFF")
- if '+wrapper' in self.spec:
- options.append('-DCMAKE_CXX_COMPILER=%s' %
- self.spec['kokkos-nvcc-wrapper'].kokkos_cxx)
+ if "+wrapper" in self.spec:
+ options.append("-DCMAKE_CXX_COMPILER=%s" % self.spec["kokkos-nvcc-wrapper"].kokkos_cxx)
- if '+cuda' in self.spec:
- cuda_arch = self.spec.variants['cuda_arch'].value
- if cuda_arch[0] != 'none':
- options += [
- '-DCMAKE_CUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0])
- ]
+ if "+cuda" in self.spec:
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ if cuda_arch[0] != "none":
+ options += ["-DCMAKE_CUDA_FLAGS=-arch=sm_{0}".format(cuda_arch[0])]
return options
diff --git a/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py b/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py
index de86c693af..2c7e3562ef 100644
--- a/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py
+++ b/var/spack/repos/builtin/packages/nlohmann-json-schema-validator/package.py
@@ -10,17 +10,17 @@ class NlohmannJsonSchemaValidator(CMakePackage):
"""JSON schema validator for JSON for Modern C++"""
homepage = "https://github.com/pboettch/json-schema-validator"
- url = "https://github.com/pboettch/json-schema-validator/archive/2.1.0.tar.gz"
- git = "https://github.com/pboettch/json-schema-validator.git"
+ url = "https://github.com/pboettch/json-schema-validator/archive/2.1.0.tar.gz"
+ git = "https://github.com/pboettch/json-schema-validator.git"
- version('master', branch='master')
- version('2.1.0', sha256='83f61d8112f485e0d3f1e72d51610ba3924b179926a8376aef3c038770faf202')
- version('2.0.0', sha256='ca8e4ca5a88c49ea52b5f5c2a08a293dbf02b2fc66cb8c09d4cce5810ee98b57')
- version('1.0.0', sha256='4bdcbf6ce98eda993d8a928dbe97a03f46643395cb872af875a908156596cc4b')
+ version("master", branch="master")
+ version("2.1.0", sha256="83f61d8112f485e0d3f1e72d51610ba3924b179926a8376aef3c038770faf202")
+ version("2.0.0", sha256="ca8e4ca5a88c49ea52b5f5c2a08a293dbf02b2fc66cb8c09d4cce5810ee98b57")
+ version("1.0.0", sha256="4bdcbf6ce98eda993d8a928dbe97a03f46643395cb872af875a908156596cc4b")
- depends_on('cmake@3.2:', type='build')
- depends_on('nlohmann-json')
+ depends_on("cmake@3.2:", type="build")
+ depends_on("nlohmann-json")
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS:BOOL=ON']
+ args = ["-DBUILD_SHARED_LIBS:BOOL=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/nlohmann-json/package.py b/var/spack/repos/builtin/packages/nlohmann-json/package.py
index 96d1b5e1af..af373c7694 100644
--- a/var/spack/repos/builtin/packages/nlohmann-json/package.py
+++ b/var/spack/repos/builtin/packages/nlohmann-json/package.py
@@ -10,49 +10,48 @@ class NlohmannJson(CMakePackage):
"""JSON for Modern C++"""
homepage = "https://nlohmann.github.io/json/"
- url = "https://github.com/nlohmann/json/archive/v3.1.2.tar.gz"
- maintainers = ['ax3l']
-
- version('3.10.5', sha256='5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4')
- version('3.10.4', sha256='1155fd1a83049767360e9a120c43c578145db3204d2b309eba49fbbedd0f4ed3')
- version('3.10.3', sha256='e0d7c1b120cac47fa7f14a41d10a5d390f67d423d8e97b9d6834887285d6873c')
- version('3.10.2', sha256='081ed0f9f89805c2d96335c3acfa993b39a0a5b4b4cef7edb68dd2210a13458c')
- 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('multiple_headers', default=False,
- description='Use amalgamated single-header')
-
- depends_on('cmake@3.8:', type='build')
+ url = "https://github.com/nlohmann/json/archive/v3.1.2.tar.gz"
+ maintainers = ["ax3l"]
+
+ version("3.10.5", sha256="5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4")
+ version("3.10.4", sha256="1155fd1a83049767360e9a120c43c578145db3204d2b309eba49fbbedd0f4ed3")
+ version("3.10.3", sha256="e0d7c1b120cac47fa7f14a41d10a5d390f67d423d8e97b9d6834887285d6873c")
+ version("3.10.2", sha256="081ed0f9f89805c2d96335c3acfa993b39a0a5b4b4cef7edb68dd2210a13458c")
+ 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("multiple_headers", default=False, description="Use amalgamated single-header")
+
+ depends_on("cmake@3.8:", type="build")
# requires mature C++11 implementations
- conflicts('%gcc@:4.7')
+ conflicts("%gcc@:4.7")
# v3.3.0 adds support for gcc 4.8
# https://github.com/nlohmann/json/releases/tag/v3.3.0
- conflicts('%gcc@:4.8', when='@:3.2.9')
- conflicts('%intel@:16')
- conflicts('%pgi@:14')
+ conflicts("%gcc@:4.8", when="@:3.2.9")
+ conflicts("%intel@:16")
+ conflicts("%pgi@:14")
def cmake_args(self):
return [
- self.define_from_variant('JSON_MultipleHeaders', 'multiple_headers'),
- self.define('JSON_BuildTests', self.run_tests),
+ self.define_from_variant("JSON_MultipleHeaders", "multiple_headers"),
+ self.define("JSON_BuildTests", self.run_tests),
]
- @when('@3.1.1:')
+ @when("@3.1.1:")
def check(self):
# cmake_fetch_content_configure relies on git to fetch a file, fails from tar:
# https://github.com/nlohmann/json/discussions/2596
with working_dir(self.build_directory):
- ctest('--output-on-failure', '-LE', 'not_reproducible|git_required')
+ ctest("--output-on-failure", "-LE", "not_reproducible|git_required")
diff --git a/var/spack/repos/builtin/packages/nlopt/package.py b/var/spack/repos/builtin/packages/nlopt/package.py
index 97dc7acd9a..4a9ab8b3f9 100644
--- a/var/spack/repos/builtin/packages/nlopt/package.py
+++ b/var/spack/repos/builtin/packages/nlopt/package.py
@@ -13,34 +13,34 @@ class Nlopt(CMakePackage):
other algorithms."""
homepage = "https://nlopt.readthedocs.io"
- url = "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
- git = "https://github.com/stevengj/nlopt.git"
+ url = "https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz"
+ git = "https://github.com/stevengj/nlopt.git"
- version('master', branch='master')
+ version("master", branch="master")
- version('2.7.0', 'b881cc2a5face5139f1c5a30caf26b7d3cb43d69d5e423c9d78392f99844499f')
- version('2.6.2', 'cfa5981736dd60d0109c534984c4e13c615314d3584cf1c392a155bfe1a3b17e')
- version('2.6.1', '66d63a505187fb6f98642703bd0ef006fedcae2f9a6d1efa4f362ea919a02650')
- version('2.6.0', 'a13077cdf5f5f1127eaaac0bf1e06744bfe98d8a4a3430a15e0af50a69f451ab')
- version('2.5.0', 'c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae')
+ version("2.7.0", "b881cc2a5face5139f1c5a30caf26b7d3cb43d69d5e423c9d78392f99844499f")
+ version("2.6.2", "cfa5981736dd60d0109c534984c4e13c615314d3584cf1c392a155bfe1a3b17e")
+ version("2.6.1", "66d63a505187fb6f98642703bd0ef006fedcae2f9a6d1efa4f362ea919a02650")
+ version("2.6.0", "a13077cdf5f5f1127eaaac0bf1e06744bfe98d8a4a3430a15e0af50a69f451ab")
+ version("2.5.0", "c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae")
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('python', default=True, description='Build python wrappers')
- variant('guile', default=False, description='Enable Guile support')
- variant('octave', default=False, description='Enable GNU Octave support')
- variant('cxx', default=False, description='Build the C++ routines')
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("python", default=True, description="Build python wrappers")
+ variant("guile", default=False, description="Enable Guile support")
+ variant("octave", default=False, description="Enable GNU Octave support")
+ variant("cxx", default=False, description="Build the C++ routines")
# Note: matlab is licenced - spack does not download automatically
variant("matlab", default=False, description="Build the Matlab bindings.")
- depends_on('cmake@3.0:', type='build', when='@master')
- depends_on('python', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('swig', when='+python')
- depends_on('guile', when='+guile')
- depends_on('octave', when='+octave')
- depends_on('matlab', when='+matlab')
- extends('python', when='+python')
+ depends_on("cmake@3.0:", type="build", when="@master")
+ depends_on("python", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("swig", when="+python")
+ depends_on("guile", when="+guile")
+ depends_on("octave", when="+octave")
+ depends_on("matlab", when="+matlab")
+ extends("python", when="+python")
def cmake_args(self):
# Add arguments other than
@@ -52,21 +52,21 @@ class Nlopt(CMakePackage):
# eg: spack install nlopt@master +guile -octave +cxx
# Spack should locate python by default - but to point to a build
- if '+python' in spec:
- args.append("-DPYTHON_EXECUTABLE=%s" % spec['python'].command.path)
+ if "+python" in spec:
+ args.append("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path)
# On is default
- if '-shared' in spec:
- args.append('-DBUILD_SHARED_LIBS:Bool=OFF')
+ if "-shared" in spec:
+ args.append("-DBUILD_SHARED_LIBS:Bool=OFF")
# On is default
- if '-octave' in spec:
- args.append('-DNLOPT_OCTAVE:Bool=OFF')
+ if "-octave" in spec:
+ args.append("-DNLOPT_OCTAVE:Bool=OFF")
- if '+cxx' in spec:
- args.append('-DNLOPT_CXX:BOOL=ON')
+ if "+cxx" in spec:
+ args.append("-DNLOPT_CXX:BOOL=ON")
- if '+matlab' in spec:
- args.append("-DMatlab_ROOT_DIR=%s" % spec['matlab'].command.path)
+ if "+matlab" in spec:
+ args.append("-DMatlab_ROOT_DIR=%s" % spec["matlab"].command.path)
return args
diff --git a/var/spack/repos/builtin/packages/nmap/package.py b/var/spack/repos/builtin/packages/nmap/package.py
index 34dbff0575..90e893d42d 100644
--- a/var/spack/repos/builtin/packages/nmap/package.py
+++ b/var/spack/repos/builtin/packages/nmap/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class Nmap(AutotoolsPackage):
"""Nmap ("Network Mapper") is a free and open source (license)
- utility for network discovery and security auditing.
- It also provides ncat an updated nc"""
+ utility for network discovery and security auditing.
+ It also provides ncat an updated nc"""
homepage = "https://nmap.org"
- url = "https://nmap.org/dist/nmap-7.70.tar.bz2"
+ url = "https://nmap.org/dist/nmap-7.70.tar.bz2"
list_url = "https://nmap.org/dist-old/"
- version('7.92', sha256='a5479f2f8a6b0b2516767d2f7189c386c1dc858d997167d7ec5cfc798c7571a1')
- version('7.91', sha256='18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300')
- version('7.90', sha256='5557c3458275e8c43e1d0cfa5dad4e71dd39e091e2029a293891ad54098a40e8')
- version('7.80', sha256='fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa')
- version('7.70', sha256='847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18')
- version('7.60', sha256='a8796ecc4fa6c38aad6139d9515dc8113023a82e9d787e5a5fb5fa1b05516f21')
- version('7.50', sha256='e9a96a8e02bfc9e80c617932acc61112c23089521ee7d6b1502ecf8e3b1674b2')
- version('7.40', sha256='9e14665fffd054554d129d62c13ad95a7b5c7a046daa2290501909e65f4d3188')
- version('7.31', sha256='cb9f4e03c0771c709cd47dc8fc6ac3421eadbdd313f0aae52276829290583842')
- version('7.30', sha256='ba38a042ec67e315d903d28a4976b74999da94c646667c0c63f31e587d6d8d0f')
- version('7.12', sha256='63df082a87c95a189865d37304357405160fc6333addcf5b84204c95e0539b04')
- version('7.01', sha256='cf1fcd2643ba2ef52f47acb3c18e52fa12a4ae4b722804da0e54560704627705')
- version('6.40', sha256='491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401')
- version('6.01', sha256='77f6635b677d28b546cbef97e4ead6c2d4a5aebcaa108fe3a3c135db6448617a')
+ version("7.92", sha256="a5479f2f8a6b0b2516767d2f7189c386c1dc858d997167d7ec5cfc798c7571a1")
+ version("7.91", sha256="18cc4b5070511c51eb243cdd2b0b30ff9b2c4dc4544c6312f75ce3a67a593300")
+ version("7.90", sha256="5557c3458275e8c43e1d0cfa5dad4e71dd39e091e2029a293891ad54098a40e8")
+ version("7.80", sha256="fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa")
+ version("7.70", sha256="847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18")
+ version("7.60", sha256="a8796ecc4fa6c38aad6139d9515dc8113023a82e9d787e5a5fb5fa1b05516f21")
+ version("7.50", sha256="e9a96a8e02bfc9e80c617932acc61112c23089521ee7d6b1502ecf8e3b1674b2")
+ version("7.40", sha256="9e14665fffd054554d129d62c13ad95a7b5c7a046daa2290501909e65f4d3188")
+ version("7.31", sha256="cb9f4e03c0771c709cd47dc8fc6ac3421eadbdd313f0aae52276829290583842")
+ version("7.30", sha256="ba38a042ec67e315d903d28a4976b74999da94c646667c0c63f31e587d6d8d0f")
+ version("7.12", sha256="63df082a87c95a189865d37304357405160fc6333addcf5b84204c95e0539b04")
+ version("7.01", sha256="cf1fcd2643ba2ef52f47acb3c18e52fa12a4ae4b722804da0e54560704627705")
+ version("6.40", sha256="491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401")
+ version("6.01", sha256="77f6635b677d28b546cbef97e4ead6c2d4a5aebcaa108fe3a3c135db6448617a")
variant("liblua", default=True, description="Enable lua (required by all of NSE)")
variant("ncat", default=True, description="Enable ncat")
@@ -46,11 +46,11 @@ class Nmap(AutotoolsPackage):
# https://github.com/nmap/nmap/issues/2144
args.append("--disable-rdma")
- args += self.with_or_without('liblua')
- args += self.with_or_without('ncat')
- args += self.with_or_without('ndiff')
- args += self.with_or_without('nping')
- args += self.with_or_without('zenmap')
- args += self.with_or_without('nmap-update')
+ args += self.with_or_without("liblua")
+ args += self.with_or_without("ncat")
+ args += self.with_or_without("ndiff")
+ args += self.with_or_without("nping")
+ args += self.with_or_without("zenmap")
+ args += self.with_or_without("nmap-update")
return args
diff --git a/var/spack/repos/builtin/packages/nn-c/package.py b/var/spack/repos/builtin/packages/nn-c/package.py
index 0fefff9957..50a85df60b 100644
--- a/var/spack/repos/builtin/packages/nn-c/package.py
+++ b/var/spack/repos/builtin/packages/nn-c/package.py
@@ -12,22 +12,23 @@ class NnC(AutotoolsPackage):
It provides a C library and a command line utility nnbathy."""
homepage = "https://github.com/sakov/nn-c"
- git = "https://github.com/sakov/nn-c.git"
+ git = "https://github.com/sakov/nn-c.git"
- version('master', branch='master')
- version('1.86.2', commit='343c7784d38d3270d75d450569fc0b64767c37e9')
+ version("master", branch="master")
+ version("1.86.2", commit="343c7784d38d3270d75d450569fc0b64767c37e9")
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
- configure_directory = 'nn'
+ configure_directory = "nn"
def configure_args(self):
args = []
- if '+pic' in self.spec:
- args.extend([
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag),
- 'CXXFLAGS={0}'.format(self.compiler.cxx_pic_flag),
- 'FFLAGS={0}'.format(self.compiler.fc_pic_flag)
- ])
+ if "+pic" in self.spec:
+ args.extend(
+ [
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag),
+ "CXXFLAGS={0}".format(self.compiler.cxx_pic_flag),
+ "FFLAGS={0}".format(self.compiler.fc_pic_flag),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/nnpack/package.py b/var/spack/repos/builtin/packages/nnpack/package.py
index 1475c580d4..6bdd3ed66e 100644
--- a/var/spack/repos/builtin/packages/nnpack/package.py
+++ b/var/spack/repos/builtin/packages/nnpack/package.py
@@ -10,110 +10,110 @@ class Nnpack(CMakePackage):
"""Acceleration package for neural networks on multi-core CPUs."""
homepage = "https://github.com/Maratyszcza/NNPACK"
- git = "https://github.com/Maratyszcza/NNPACK.git"
+ git = "https://github.com/Maratyszcza/NNPACK.git"
- version('master', branch='master')
- version('2020-12-21', commit='c07e3a0400713d546e0dea2d5466dd22ea389c73') # py-torch@1.8:1.9
- version('2019-10-07', commit='24b55303f5cf65d75844714513a0d1b1409809bd') # py-torch@1.4:1.7
- version('2019-03-23', commit='c039579abe21f5756e0f0e45e8e767adccc11852') # py-torch@1.1:1.3
- version('2018-09-03', commit='1e005b0c2777f39972a4ac15bea03e0e315a3d92') # py-torch@1.0
- version('2018-05-21', commit='3eb0d453662d05a708f43b108bed9e17b705383e') # py-torch@0.4.1
- version('2018-04-05', commit='b63fe1ba8963f1756b8decc593766615cee99c35') # py-torch@:0.4.0
+ version("master", branch="master")
+ version("2020-12-21", commit="c07e3a0400713d546e0dea2d5466dd22ea389c73") # py-torch@1.8:1.9
+ version("2019-10-07", commit="24b55303f5cf65d75844714513a0d1b1409809bd") # py-torch@1.4:1.7
+ version("2019-03-23", commit="c039579abe21f5756e0f0e45e8e767adccc11852") # py-torch@1.1:1.3
+ version("2018-09-03", commit="1e005b0c2777f39972a4ac15bea03e0e315a3d92") # py-torch@1.0
+ version("2018-05-21", commit="3eb0d453662d05a708f43b108bed9e17b705383e") # py-torch@0.4.1
+ version("2018-04-05", commit="b63fe1ba8963f1756b8decc593766615cee99c35") # py-torch@:0.4.0
- depends_on('cmake@2.8.12:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
+ depends_on("py-setuptools", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
resource(
- name='six',
- url='https://files.pythonhosted.org/packages/source/s/six/six-1.11.0.tar.gz',
- sha256='70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9',
- destination='deps',
- placement='six',
+ name="six",
+ url="https://files.pythonhosted.org/packages/source/s/six/six-1.11.0.tar.gz",
+ sha256="70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
+ destination="deps",
+ placement="six",
)
resource(
- name='opcodes',
- url='https://files.pythonhosted.org/packages/source/o/opcodes/opcodes-0.3.13.tar.gz',
- sha256='1859c23143fe20daa4110be87a947cbf3eefa048da71dde642290213f251590c',
- destination='deps',
- placement='opcodes',
+ name="opcodes",
+ url="https://files.pythonhosted.org/packages/source/o/opcodes/opcodes-0.3.13.tar.gz",
+ sha256="1859c23143fe20daa4110be87a947cbf3eefa048da71dde642290213f251590c",
+ destination="deps",
+ placement="opcodes",
)
resource(
- name='peachpy',
- git='https://github.com/Maratyszcza/PeachPy.git',
- branch='master',
- destination='deps',
- placement='peachpy',
+ name="peachpy",
+ git="https://github.com/Maratyszcza/PeachPy.git",
+ branch="master",
+ destination="deps",
+ placement="peachpy",
)
resource(
- name='cpuinfo',
- git='https://github.com/Maratyszcza/cpuinfo.git',
- branch='master',
- destination='deps',
- placement='cpuinfo',
+ name="cpuinfo",
+ git="https://github.com/Maratyszcza/cpuinfo.git",
+ branch="master",
+ destination="deps",
+ placement="cpuinfo",
)
resource(
- name='fp16',
- git='https://github.com/Maratyszcza/FP16.git',
- branch='master',
- destination='deps',
- placement='fp16',
+ name="fp16",
+ git="https://github.com/Maratyszcza/FP16.git",
+ branch="master",
+ destination="deps",
+ placement="fp16",
)
resource(
- name='fxdiv',
- git='https://github.com/Maratyszcza/FXdiv.git',
- branch='master',
- destination='deps',
- placement='fxdiv',
+ name="fxdiv",
+ git="https://github.com/Maratyszcza/FXdiv.git",
+ branch="master",
+ destination="deps",
+ placement="fxdiv",
)
resource(
- name='psimd',
- git='https://github.com/Maratyszcza/psimd.git',
- branch='master',
- destination='deps',
- placement='psimd',
+ name="psimd",
+ git="https://github.com/Maratyszcza/psimd.git",
+ branch="master",
+ destination="deps",
+ placement="psimd",
)
resource(
- name='pthreadpool',
- git='https://github.com/Maratyszcza/pthreadpool.git',
- branch='master',
- destination='deps',
- placement='pthreadpool',
+ name="pthreadpool",
+ git="https://github.com/Maratyszcza/pthreadpool.git",
+ branch="master",
+ destination="deps",
+ placement="pthreadpool",
)
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.8.0.zip',
- sha256='f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/release-1.8.0.zip",
+ sha256="f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf",
+ destination="deps",
+ placement="googletest",
)
- @run_before('cmake')
+ @run_before("cmake")
def generate_peachpy(self):
# https://github.com/Maratyszcza/NNPACK/issues/203
- with working_dir(join_path(self.stage.source_path, 'deps', 'peachpy')):
- python('setup.py', 'generate')
+ with working_dir(join_path(self.stage.source_path, "deps", "peachpy")):
+ python("setup.py", "generate")
def cmake_args(self):
return [
- self.define('PYTHON_SIX_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'six')),
- self.define('PYTHON_PEACHPY_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'peachpy')),
- self.define('CPUINFO_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'cpuinfo')),
- self.define('FP16_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fp16')),
- self.define('FXDIV_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fxdiv')),
- self.define('PSIMD_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'psimd')),
- self.define('PTHREADPOOL_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'pthreadpool')),
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('NNPACK_BUILD_TESTS', self.run_tests),
+ self.define("PYTHON_SIX_SOURCE_DIR", join_path(self.stage.source_path, "deps", "six")),
+ self.define(
+ "PYTHON_PEACHPY_SOURCE_DIR", join_path(self.stage.source_path, "deps", "peachpy")
+ ),
+ self.define(
+ "CPUINFO_SOURCE_DIR", join_path(self.stage.source_path, "deps", "cpuinfo")
+ ),
+ self.define("FP16_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fp16")),
+ self.define("FXDIV_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fxdiv")),
+ self.define("PSIMD_SOURCE_DIR", join_path(self.stage.source_path, "deps", "psimd")),
+ self.define(
+ "PTHREADPOOL_SOURCE_DIR", join_path(self.stage.source_path, "deps", "pthreadpool")
+ ),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define("NNPACK_BUILD_TESTS", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/nnvm/package.py b/var/spack/repos/builtin/packages/nnvm/package.py
index f42a2a3e26..ea14edd9a0 100644
--- a/var/spack/repos/builtin/packages/nnvm/package.py
+++ b/var/spack/repos/builtin/packages/nnvm/package.py
@@ -11,21 +11,21 @@ class Nnvm(CMakePackage):
part to help build deep learning libraries."""
homepage = "https://github.com/dmlc/nnvm"
- git = "https://github.com/dmlc/nnvm.git"
+ git = "https://github.com/dmlc/nnvm.git"
- version('master', branch='master')
- version('20170418', commit='b279286304ac954098d94a2695bca599e832effb')
+ version("master", branch="master")
+ version("20170418", commit="b279286304ac954098d94a2695bca599e832effb")
- variant('shared', default=True, description='Build a shared NNVM lib.')
+ variant("shared", default=True, description="Build a shared NNVM lib.")
- depends_on('dmlc-core')
+ depends_on("dmlc-core")
- patch('cmake.patch')
- patch('cmake2.patch', when='@20170418')
+ patch("cmake.patch")
+ patch("cmake2.patch", when="@20170418")
def cmake_args(self):
spec = self.spec
return [
- self.define_from_variant('USE_SHARED_NNVM', 'shared'),
- '-DUSE_STATIC_NNVM=%s' % ('ON' if '~shared' in spec else 'OFF'),
+ self.define_from_variant("USE_SHARED_NNVM", "shared"),
+ "-DUSE_STATIC_NNVM=%s" % ("ON" if "~shared" in spec else "OFF"),
]
diff --git a/var/spack/repos/builtin/packages/node-js/package.py b/var/spack/repos/builtin/packages/node-js/package.py
index a7d633f837..f76e826d53 100644
--- a/var/spack/repos/builtin/packages/node-js/package.py
+++ b/var/spack/repos/builtin/packages/node-js/package.py
@@ -14,128 +14,142 @@ class NodeJs(Package):
engine."""
homepage = "https://nodejs.org/"
- url = "https://nodejs.org/dist/v13.5.0/node-v13.5.0.tar.gz"
+ url = "https://nodejs.org/dist/v13.5.0/node-v13.5.0.tar.gz"
list_url = "https://nodejs.org/dist/"
list_depth = 1
- maintainers = ['cosmicexplorer']
+ maintainers = ["cosmicexplorer"]
# Current (latest features)
- version('15.3.0', sha256='cadfa384a5f14591b84ce07a1afe529f28deb0d43366fb0ae4e78afba96bfaf2')
- version('14.16.1', sha256='5f5080427abddde7f22fd2ba77cd2b8a1f86253277a1eec54bc98a202728ce80')
- version('14.13.0', sha256='8538b2e76aa06ee0e6eb1c118426c3c5ca53b2e49d66591738eacf76e89edd61')
- version('14.10.0', sha256='7e0d7a1aa23697415e3588a1ca4f1c47496e6c88b9cf37c66be90353d3e4ac3e')
- version('13.8.0', sha256='815b5e1b18114f35da89e4d98febeaba97555d51ef593bd5175db2b05f2e8be6')
- version('13.5.0', sha256='4b8078d896a7550d7ed399c1b4ac9043e9f883be404d9b337185c8d8479f2db8')
+ version("15.3.0", sha256="cadfa384a5f14591b84ce07a1afe529f28deb0d43366fb0ae4e78afba96bfaf2")
+ version("14.16.1", sha256="5f5080427abddde7f22fd2ba77cd2b8a1f86253277a1eec54bc98a202728ce80")
+ version("14.13.0", sha256="8538b2e76aa06ee0e6eb1c118426c3c5ca53b2e49d66591738eacf76e89edd61")
+ version("14.10.0", sha256="7e0d7a1aa23697415e3588a1ca4f1c47496e6c88b9cf37c66be90353d3e4ac3e")
+ version("13.8.0", sha256="815b5e1b18114f35da89e4d98febeaba97555d51ef593bd5175db2b05f2e8be6")
+ version("13.5.0", sha256="4b8078d896a7550d7ed399c1b4ac9043e9f883be404d9b337185c8d8479f2db8")
# LTS (recommended for most users)
- version('14.15.1', sha256='a1120472bf55aea745287693a6651e16973e1008c9d6107df350126adf9716fe', preferred=True)
- version('12.18.4', sha256='a802d87e579e46fc52771ed6f2667048320caca867be3276f4c4f1bbb41389c3')
- version('12.18.3', sha256='6ea85f80e01b007cc9b566b8836513bc5102667d833bad4c1092be60fa60c2d4')
- version('12.16.0', sha256='ae2dfe74485d821d4fef7cf1802acd2322cd994c853a2327c4306952f4453441')
- version('12.14.0', sha256='5c1939867228f3845c808ef84a89c8ee93cc35f857bf7587ecee1b5a6d9da67b')
- version('11.1.0', sha256='3f53b5ac25b2d36ad538267083c0e603d9236867a936c22a9116d95fa10c60d5')
- version('10.13.0', sha256='aa06825fff375ece7c0d881ae0de5d402a857e8cabff9b4a50f2f0b7b44906be')
- version('8.11.4', sha256='459144e361d64ca7362c37cc9717c044ef909d348cb5aa3f2b62538560a6085a')
- version('8.9.1', sha256='32491b7fcc4696b2cdead45c47e52ad16bbed8f78885d32e873952fee0f971e1')
- version('7.1.0', sha256='595e7e2a37d1e0573044a90077bb12c0f750e5d8851899ffa74038238da9a983')
- version('6.3.0', sha256='4ed7a99985f8afee337cc22d5fef61b495ab4238dfff3750ac9019e87fc6aae6')
- version('6.2.2', sha256='b6baee57a0ede496c7c7765001f7495ad74c8dfe8c34f1a6fb2cd5d8d526ffce')
-
- variant('debug', default=False, description='Include debugger support')
- variant('doc', default=False, description='Compile with documentation')
- variant('icu4c', default=False, description='Build with support for all locales instead of just English')
- variant('openssl', default=True, description='Build with Spacks OpenSSL instead of the bundled version')
- variant('zlib', default=True, description='Build with Spacks zlib instead of the bundled version')
+ version(
+ "14.15.1",
+ sha256="a1120472bf55aea745287693a6651e16973e1008c9d6107df350126adf9716fe",
+ preferred=True,
+ )
+ version("12.18.4", sha256="a802d87e579e46fc52771ed6f2667048320caca867be3276f4c4f1bbb41389c3")
+ version("12.18.3", sha256="6ea85f80e01b007cc9b566b8836513bc5102667d833bad4c1092be60fa60c2d4")
+ version("12.16.0", sha256="ae2dfe74485d821d4fef7cf1802acd2322cd994c853a2327c4306952f4453441")
+ version("12.14.0", sha256="5c1939867228f3845c808ef84a89c8ee93cc35f857bf7587ecee1b5a6d9da67b")
+ version("11.1.0", sha256="3f53b5ac25b2d36ad538267083c0e603d9236867a936c22a9116d95fa10c60d5")
+ version("10.13.0", sha256="aa06825fff375ece7c0d881ae0de5d402a857e8cabff9b4a50f2f0b7b44906be")
+ version("8.11.4", sha256="459144e361d64ca7362c37cc9717c044ef909d348cb5aa3f2b62538560a6085a")
+ version("8.9.1", sha256="32491b7fcc4696b2cdead45c47e52ad16bbed8f78885d32e873952fee0f971e1")
+ version("7.1.0", sha256="595e7e2a37d1e0573044a90077bb12c0f750e5d8851899ffa74038238da9a983")
+ version("6.3.0", sha256="4ed7a99985f8afee337cc22d5fef61b495ab4238dfff3750ac9019e87fc6aae6")
+ version("6.2.2", sha256="b6baee57a0ede496c7c7765001f7495ad74c8dfe8c34f1a6fb2cd5d8d526ffce")
+
+ variant("debug", default=False, description="Include debugger support")
+ variant("doc", default=False, description="Compile with documentation")
+ variant(
+ "icu4c",
+ default=False,
+ description="Build with support for all locales instead of just English",
+ )
+ variant(
+ "openssl",
+ default=True,
+ description="Build with Spacks OpenSSL instead of the bundled version",
+ )
+ variant(
+ "zlib", default=True, description="Build with Spacks zlib instead of the bundled version"
+ )
# https://github.com/nodejs/node/blob/master/BUILDING.md#unix-and-macos
- depends_on('gmake@3.81:', type='build')
- depends_on('libtool', type='build', when=sys.platform != 'darwin')
- depends_on('pkgconfig', type='build')
- depends_on('python@2.7:2.8,3.5:', when='@12:', type='build')
- depends_on('python@2.7:2.8', when='@:11', type='build')
+ depends_on("gmake@3.81:", type="build")
+ depends_on("libtool", type="build", when=sys.platform != "darwin")
+ depends_on("pkgconfig", type="build")
+ depends_on("python@2.7:2.8,3.5:", when="@12:", type="build")
+ depends_on("python@2.7:2.8", when="@:11", type="build")
# depends_on('bash-completion', when="+bash-completion")
- depends_on('icu4c', when='+icu4c')
- depends_on('openssl@1.0.2d:1.0', when='@:9+openssl')
- depends_on('openssl@1.1:', when='@10:+openssl')
- depends_on('zlib', when='+zlib')
+ depends_on("icu4c", when="+icu4c")
+ depends_on("openssl@1.0.2d:1.0", when="@:9+openssl")
+ depends_on("openssl@1.1:", when="@10:+openssl")
+ depends_on("zlib", when="+zlib")
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
# https://github.com/spack/spack/issues/19310
- conflicts('%gcc@:4.8',
- msg="fails to build with gcc 4.8 "
- "(see https://github.com/spack/spack/issues/19310")
+ conflicts(
+ "%gcc@:4.8",
+ msg="fails to build with gcc 4.8 " "(see https://github.com/spack/spack/issues/19310",
+ )
def setup_build_environment(self, env):
# Force use of experimental Python 3 support
- env.set('PYTHON', self.spec['python'].command.path)
- env.set('NODE_GYP_FORCE_PYTHON', self.spec['python'].command.path)
+ env.set("PYTHON", self.spec["python"].command.path)
+ env.set("NODE_GYP_FORCE_PYTHON", self.spec["python"].command.path)
def configure_args(self):
# On OSX, the system libtool must be used
# So, we ensure that this is the case by...
- if sys.platform == 'darwin':
- process_pipe = subprocess.Popen(["which", "libtool"],
- stdout=subprocess.PIPE)
+ if sys.platform == "darwin":
+ process_pipe = subprocess.Popen(["which", "libtool"], stdout=subprocess.PIPE)
result_which = process_pipe.communicate()[0].strip()
- process_pipe = subprocess.Popen(["whereis", "libtool"],
- stdout=subprocess.PIPE)
+ process_pipe = subprocess.Popen(["whereis", "libtool"], stdout=subprocess.PIPE)
result_whereis = process_pipe.communicate()[0].strip().split()[-1]
assert result_which == result_whereis, (
- 'On OSX the system libtool must be used. Please'
- '(temporarily) remove \n %s or its link to libtool from'
- 'path')
+ "On OSX the system libtool must be used. Please"
+ "(temporarily) remove \n %s or its link to libtool from"
+ "path"
+ )
args = [
- '--prefix={0}'.format(self.prefix),
+ "--prefix={0}".format(self.prefix),
# Note: npm is updated more regularly than node.js, so we build
# the package instead of using the bundled version
- '--without-npm'
+ "--without-npm",
]
- if '+debug' in self.spec:
- args.append('--debug')
-
- if '+openssl' in self.spec:
- args.extend([
- '--shared-openssl',
- '--shared-openssl-includes={0}'.format(
- self.spec['openssl'].prefix.include),
- '--shared-openssl-libpath={0}'.format(
- self.spec['openssl'].prefix.lib),
- ])
-
- if '+zlib' in self.spec:
- args.extend([
- '--shared-zlib',
- '--shared-zlib-includes={0}'.format(
- self.spec['zlib'].prefix.include),
- '--shared-zlib-libpath={0}'.format(
- self.spec['zlib'].prefix.lib),
- ])
-
- if '+icu4c' in self.spec:
- args.append('--with-intl=full-icu')
+ if "+debug" in self.spec:
+ args.append("--debug")
+
+ if "+openssl" in self.spec:
+ args.extend(
+ [
+ "--shared-openssl",
+ "--shared-openssl-includes={0}".format(self.spec["openssl"].prefix.include),
+ "--shared-openssl-libpath={0}".format(self.spec["openssl"].prefix.lib),
+ ]
+ )
+
+ if "+zlib" in self.spec:
+ args.extend(
+ [
+ "--shared-zlib",
+ "--shared-zlib-includes={0}".format(self.spec["zlib"].prefix.include),
+ "--shared-zlib-libpath={0}".format(self.spec["zlib"].prefix.lib),
+ ]
+ )
+
+ if "+icu4c" in self.spec:
+ args.append("--with-intl=full-icu")
return args
def configure(self, spec, prefix):
- if self.version >= Version('10.11.0'):
- python('configure.py', *self.configure_args())
+ if self.version >= Version("10.11.0"):
+ python("configure.py", *self.configure_args())
else:
- python('configure', *self.configure_args())
+ python("configure", *self.configure_args())
def build(self, spec, prefix):
make()
- if '+doc' in spec:
- make('doc')
+ if "+doc" in spec:
+ make("doc")
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def build_test(self):
- make('test')
- make('test-addons')
+ make("test")
+ make("test-addons")
def install(self, spec, prefix):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/notmuch/package.py b/var/spack/repos/builtin/packages/notmuch/package.py
index 74f0400150..9527217f06 100644
--- a/var/spack/repos/builtin/packages/notmuch/package.py
+++ b/var/spack/repos/builtin/packages/notmuch/package.py
@@ -13,11 +13,11 @@ class Notmuch(AutotoolsPackage):
"""
homepage = "https://notmuchmail.org/"
- url = "https://notmuchmail.org/releases/notmuch-0.23.7.tar.gz"
+ url = "https://notmuchmail.org/releases/notmuch-0.23.7.tar.gz"
- version('0.23.7', sha256='f11bb10d71945f6c3f16d23117afc70810aa485878e66bb4bf43cc3f08038913')
+ version("0.23.7", sha256="f11bb10d71945f6c3f16d23117afc70810aa485878e66bb4bf43cc3f08038913")
- depends_on('zlib')
- depends_on('talloc')
- depends_on('gmime@2.6:')
- depends_on('xapian-core')
+ depends_on("zlib")
+ depends_on("talloc")
+ depends_on("gmime@2.6:")
+ depends_on("xapian-core")
diff --git a/var/spack/repos/builtin/packages/npb/package.py b/var/spack/repos/builtin/packages/npb/package.py
index 6ac90b2f3a..047583140b 100644
--- a/var/spack/repos/builtin/packages/npb/package.py
+++ b/var/spack/repos/builtin/packages/npb/package.py
@@ -30,190 +30,191 @@ class Npb(MakefilePackage):
"""
homepage = "https://www.nas.nasa.gov/publications/npb.html"
- url = "https://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz"
+ url = "https://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz"
- version('3.3.1', sha256='4a8ea679b1df69f583c544c47198b3c26a50ec2bb6f8f69aef66c04c9a747d2d')
- version('3.4.1', sha256='f3a43467da6e84a829ea869156d3ea86c17932136bb413a4b6dab23018a28881')
+ version("3.3.1", sha256="4a8ea679b1df69f583c544c47198b3c26a50ec2bb6f8f69aef66c04c9a747d2d")
+ version("3.4.1", sha256="f3a43467da6e84a829ea869156d3ea86c17932136bb413a4b6dab23018a28881")
# Valid Benchmark Names
valid_names = (
- 'is', # Integer Sort, random memory access
- 'ep', # Embarrassingly Parallel
- 'cg', # Conjugate Gradient, irregular memory access and communication
- 'mg', # Multi-Grid on a sequence of meshes, long- and short-distance
- # communication, memory intensive
- 'ft', # discrete 3D fast Fourier Transform, all-to-all communication
- 'bt', # Block Tri-diagonal solver
- 'sp', # Scalar Penta-diagonal solver
- 'lu', # Lower-Upper Gauss-Seidel solver
+ "is", # Integer Sort, random memory access
+ "ep", # Embarrassingly Parallel
+ "cg", # Conjugate Gradient, irregular memory access and communication
+ "mg", # Multi-Grid on a sequence of meshes, long- and short-distance
+ # communication, memory intensive
+ "ft", # discrete 3D fast Fourier Transform, all-to-all communication
+ "bt", # Block Tri-diagonal solver
+ "sp", # Scalar Penta-diagonal solver
+ "lu", # Lower-Upper Gauss-Seidel solver
)
# Valid Benchmark Classes
valid_classes = (
- 'S', # Small for quick test purposes
- 'W', # Workstation size
- 'A', 'B', 'C', # standard test problems
- # ~4X size increase going from one class to the next
- 'D', 'E', 'F' # large test problems
- # ~16X size increase from each of the previous classes
+ "S", # Small for quick test purposes
+ "W", # Workstation size
+ "A",
+ "B",
+ "C", # standard test problems
+ # ~4X size increase going from one class to the next
+ "D",
+ "E",
+ "F" # large test problems
+ # ~16X size increase from each of the previous classes
)
# TODO: Combine these into a single mutually exclusive variant
variant(
- 'implementation',
- default='mpi',
- values=('serial', 'mpi', 'openmp'),
- description='Selects one among the available implementations'
+ "implementation",
+ default="mpi",
+ values=("serial", "mpi", "openmp"),
+ description="Selects one among the available implementations",
)
variant(
- 'names',
- default=','.join(valid_names),
+ "names",
+ default=",".join(valid_names),
values=valid_names,
multi=True,
- description='Benchmark names (comma separated list)'
+ description="Benchmark names (comma separated list)",
)
variant(
- 'classes',
- default=','.join(valid_classes),
+ "classes",
+ default=",".join(valid_classes),
values=valid_classes,
multi=True,
- description='Benchmark classes (comma separated list)'
+ description="Benchmark classes (comma separated list)",
)
# This variant only applies to the MPI implementation
variant(
- 'nprocs',
- default='1,2,4,8,16,32,64,128',
+ "nprocs",
+ default="1,2,4,8,16,32,64,128",
values=is_integral,
multi=True,
- description='Number of processes (comma separated list)'
+ description="Number of processes (comma separated list)",
)
- depends_on('mpi@2:', when='implementation=mpi')
+ depends_on("mpi@2:", when="implementation=mpi")
# Cannot be built in parallel
parallel = False
@property
def build_directory(self):
- if 'implementation=mpi' in self.spec:
- implementation = 'MPI'
- elif 'implementation=openmp' in self.spec:
- implementation = 'OMP'
- elif 'implementation=serial' in self.spec:
- implementation = 'SER'
+ if "implementation=mpi" in self.spec:
+ implementation = "MPI"
+ elif "implementation=openmp" in self.spec:
+ implementation = "OMP"
+ elif "implementation=serial" in self.spec:
+ implementation = "SER"
else:
- raise RuntimeError('You must choose an implementation to build')
+ raise RuntimeError("You must choose an implementation to build")
- return 'NPB{0}-{1}'.format(self.version.up_to(2), implementation)
+ return "NPB{0}-{1}".format(self.version.up_to(2), implementation)
def edit(self, spec, prefix):
- names = spec.variants['names'].value
- classes = spec.variants['classes'].value
- nprocs = spec.variants['nprocs'].value
+ names = spec.variants["names"].value
+ classes = spec.variants["classes"].value
+ nprocs = spec.variants["nprocs"].value
- if 'implementation=mpi' in spec:
+ if "implementation=mpi" in spec:
definitions = {
# Parallel Fortran
- 'MPIFC': spec['mpi'].mpifc,
- 'MPIF77': spec['mpi'].mpif77,
- 'FLINK': spec['mpi'].mpif77,
- 'FMPI_LIB': spec['mpi'].libs.ld_flags,
- 'FMPI_INC': '-I' + spec['mpi'].prefix.include,
- 'FFLAGS': '-O3',
- 'FLINKFLAGS': '-O3',
+ "MPIFC": spec["mpi"].mpifc,
+ "MPIF77": spec["mpi"].mpif77,
+ "FLINK": spec["mpi"].mpif77,
+ "FMPI_LIB": spec["mpi"].libs.ld_flags,
+ "FMPI_INC": "-I" + spec["mpi"].prefix.include,
+ "FFLAGS": "-O3",
+ "FLINKFLAGS": "-O3",
# Parallel C
- 'MPICC': spec['mpi'].mpicc,
- 'CLINK': spec['mpi'].mpicc,
- 'CMPI_LIB': spec['mpi'].libs.ld_flags,
- 'CMPI_INC': '-I' + spec['mpi'].prefix.include,
- 'CFLAGS': '-O3',
- 'CLINKFLAGS': '-O3',
+ "MPICC": spec["mpi"].mpicc,
+ "CLINK": spec["mpi"].mpicc,
+ "CMPI_LIB": spec["mpi"].libs.ld_flags,
+ "CMPI_INC": "-I" + spec["mpi"].prefix.include,
+ "CFLAGS": "-O3",
+ "CLINKFLAGS": "-O3",
# Utilities C
- 'CC': spack_cc + ' -g',
- 'BINDIR': prefix.bin,
- 'RAND': 'randi8',
+ "CC": spack_cc + " -g",
+ "BINDIR": prefix.bin,
+ "RAND": "randi8",
}
- elif 'implementation=openmp' in spec:
+ elif "implementation=openmp" in spec:
definitions = {
# Parallel Fortran
- 'FC': spack_fc,
- 'F77': spack_f77,
- 'FLINK': spack_f77,
- 'F_LIB': '',
- 'F_INC': '',
- 'FFLAGS': '-O3 ' + self.compiler.openmp_flag,
- 'FLINKFLAGS': '-O3 ' + self.compiler.openmp_flag,
+ "FC": spack_fc,
+ "F77": spack_f77,
+ "FLINK": spack_f77,
+ "F_LIB": "",
+ "F_INC": "",
+ "FFLAGS": "-O3 " + self.compiler.openmp_flag,
+ "FLINKFLAGS": "-O3 " + self.compiler.openmp_flag,
# Parallel C
- 'CC': spack_cc,
- 'CLINK': spack_cc,
- 'C_LIB': '-lm',
- 'C_INC': '',
- 'CFLAGS': '-O3 ' + self.compiler.openmp_flag,
- 'CLINKFLAGS': '-O3 ' + self.compiler.openmp_flag,
+ "CC": spack_cc,
+ "CLINK": spack_cc,
+ "C_LIB": "-lm",
+ "C_INC": "",
+ "CFLAGS": "-O3 " + self.compiler.openmp_flag,
+ "CLINKFLAGS": "-O3 " + self.compiler.openmp_flag,
# Utilities C
- 'UCC': spack_cc,
- 'BINDIR': prefix.bin,
- 'RAND': 'randi8',
- 'WTIME': 'wtime.c',
+ "UCC": spack_cc,
+ "BINDIR": prefix.bin,
+ "RAND": "randi8",
+ "WTIME": "wtime.c",
}
- elif 'implementation=serial' in spec:
+ elif "implementation=serial" in spec:
definitions = {
# Parallel Fortran
- 'F77': spack_f77,
- 'FLINK': spack_f77,
- 'F_LIB': '',
- 'F_INC': '',
- 'FFLAGS': '-O3',
- 'FLINKFLAGS': '-O3',
+ "F77": spack_f77,
+ "FLINK": spack_f77,
+ "F_LIB": "",
+ "F_INC": "",
+ "FFLAGS": "-O3",
+ "FLINKFLAGS": "-O3",
# Parallel C
- 'CC': spack_cc,
- 'CLINK': spack_cc,
- 'C_LIB': '-lm',
- 'C_INC': '',
- 'CFLAGS': '-O3',
- 'CLINKFLAGS': '-O3',
+ "CC": spack_cc,
+ "CLINK": spack_cc,
+ "C_LIB": "-lm",
+ "C_INC": "",
+ "CFLAGS": "-O3",
+ "CLINKFLAGS": "-O3",
# Utilities C
- 'UCC': spack_cc,
- 'BINDIR': prefix.bin,
- 'RAND': 'randi8',
- 'WTIME': 'wtime.c',
+ "UCC": spack_cc,
+ "BINDIR": prefix.bin,
+ "RAND": "randi8",
+ "WTIME": "wtime.c",
}
with working_dir(self.build_directory):
- with open('config/make.def', 'w') as make_def:
+ with open("config/make.def", "w") as make_def:
for key in definitions:
- make_def.write('{0} = {1}\n'.format(
- key, definitions[key]))
+ make_def.write("{0} = {1}\n".format(key, definitions[key]))
- with open('config/suite.def', 'w') as suite_def:
+ with open("config/suite.def", "w") as suite_def:
for name in names:
for classname in classes:
# Classes C, D, E and F are not available for DT
- if name == 'dt' and classname in ('C', 'D', 'E', 'F'):
+ if name == "dt" and classname in ("C", "D", "E", "F"):
continue
# Class E, F is not available for IS at @3.3.1
# Class F is not available for IS at @3.4.1
- if name == 'is':
- if classname == 'E':
- if spec.satisfies('@3.3.1'):
+ if name == "is":
+ if classname == "E":
+ if spec.satisfies("@3.3.1"):
continue
- if classname == 'F':
+ if classname == "F":
continue
- if 'implementation=mpi' in spec and spec.satisfies('@3.3.1'):
+ if "implementation=mpi" in spec and spec.satisfies("@3.3.1"):
for nproc in nprocs:
- suite_def.write('{0}\t{1}\t{2}\n'.format(
- name, classname, nproc))
+ suite_def.write("{0}\t{1}\t{2}\n".format(name, classname, nproc))
else:
- suite_def.write('{0}\t{1}\n'.format(
- name, classname))
+ suite_def.write("{0}\t{1}\n".format(name, classname))
def install(self, spec, prefix):
mkdir(prefix.bin)
with working_dir(self.build_directory):
- make('suite')
+ make("suite")
diff --git a/var/spack/repos/builtin/packages/npm/package.py b/var/spack/repos/builtin/packages/npm/package.py
index e5532fd1d3..a6898bcba9 100644
--- a/var/spack/repos/builtin/packages/npm/package.py
+++ b/var/spack/repos/builtin/packages/npm/package.py
@@ -15,53 +15,58 @@ class Npm(Package):
homepage = "https://github.com/npm/cli"
# base https://www.npmjs.com/
- url = "https://registry.npmjs.org/npm/-/npm-6.13.4.tgz"
+ url = "https://registry.npmjs.org/npm/-/npm-6.13.4.tgz"
- version('6.14.9', sha256='1e0e880ce0d5adf0120fb3f92fc8e5ea5bac73681d37282615d074ff670f7703')
- version('6.14.8', sha256='fe8e873cb606c06f67f666b4725eb9122c8927f677c8c0baf1477f0ff81f5a2c')
- version('6.13.7', sha256='6adf71c198d61a5790cf0e057f4ab72c6ef6c345d72bed8bb7212cb9db969494')
- version('6.13.4', sha256='a063290bd5fa06a8753de14169b7b243750432f42d01213fbd699e6b85916de7')
- version('3.10.9', sha256='fb0871b1aebf4b74717a72289fade356aedca83ee54e7386e38cb51874501dd6')
- version('3.10.5', sha256='ff019769e186152098841c1fa6325e5a79f7903a45f13bd0046a4dc8e63f845f')
+ version("6.14.9", sha256="1e0e880ce0d5adf0120fb3f92fc8e5ea5bac73681d37282615d074ff670f7703")
+ version("6.14.8", sha256="fe8e873cb606c06f67f666b4725eb9122c8927f677c8c0baf1477f0ff81f5a2c")
+ version("6.13.7", sha256="6adf71c198d61a5790cf0e057f4ab72c6ef6c345d72bed8bb7212cb9db969494")
+ version("6.13.4", sha256="a063290bd5fa06a8753de14169b7b243750432f42d01213fbd699e6b85916de7")
+ version("3.10.9", sha256="fb0871b1aebf4b74717a72289fade356aedca83ee54e7386e38cb51874501dd6")
+ version("3.10.5", sha256="ff019769e186152098841c1fa6325e5a79f7903a45f13bd0046a4dc8e63f845f")
- depends_on('node-js', type=('build', 'run'))
+ depends_on("node-js", type=("build", "run"))
# npm 6.13.4 ships with node-gyp 5.0.5, which contains several Python 3
# compatibility issues on macOS. Manually update to node-gyp 6.0.1 for
# full Python 3 support.
- resource(name='node-gyp', destination='node-gyp',
- url='https://registry.npmjs.org/node-gyp/-/node-gyp-6.0.1.tgz',
- sha256='bbc0e137e17a63676efc97a0e3b1fcf101498a1c2c01c3341cd9491f248711b8')
- resource(name='env-paths', destination='env-paths',
- url='https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz',
- sha256='168b394fbca60ea81dc84b1824466df96246b9eb4d671c2541f55f408a264b4c')
+ resource(
+ name="node-gyp",
+ destination="node-gyp",
+ url="https://registry.npmjs.org/node-gyp/-/node-gyp-6.0.1.tgz",
+ sha256="bbc0e137e17a63676efc97a0e3b1fcf101498a1c2c01c3341cd9491f248711b8",
+ )
+ resource(
+ name="env-paths",
+ destination="env-paths",
+ url="https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
+ sha256="168b394fbca60ea81dc84b1824466df96246b9eb4d671c2541f55f408a264b4c",
+ )
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
def patch(self):
- shutil.rmtree('node_modules/node-gyp')
- install_tree('node-gyp/package', 'node_modules/node-gyp')
- filter_file(r'"node-gyp": "\^5\..*"', '"node-gyp": "^6.0.1"',
- 'package.json')
- install_tree('env-paths/package', 'node_modules/env-paths')
+ shutil.rmtree("node_modules/node-gyp")
+ install_tree("node-gyp/package", "node_modules/node-gyp")
+ filter_file(r'"node-gyp": "\^5\..*"', '"node-gyp": "^6.0.1"', "package.json")
+ install_tree("env-paths/package", "node_modules/env-paths")
def configure(self, spec, prefix):
- configure('--prefix={0}'.format(prefix))
+ configure("--prefix={0}".format(prefix))
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
- make('install')
+ make("install")
def setup_dependent_build_environment(self, env, dependent_spec):
npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix
if not os.path.isdir(npm_config_cache_dir):
mkdirp(npm_config_cache_dir)
- env.set('npm_config_cache', npm_config_cache_dir)
+ env.set("npm_config_cache", npm_config_cache_dir)
def setup_dependent_run_environment(self, env, dependent_spec):
npm_config_cache_dir = "%s/npm-cache" % dependent_spec.prefix
if not os.path.isdir(npm_config_cache_dir):
mkdirp(npm_config_cache_dir)
- env.set('npm_config_cache', npm_config_cache_dir)
+ env.set("npm_config_cache", npm_config_cache_dir)
diff --git a/var/spack/repos/builtin/packages/npth/package.py b/var/spack/repos/builtin/packages/npth/package.py
index b71bf00110..6c5e7e2099 100644
--- a/var/spack/repos/builtin/packages/npth/package.py
+++ b/var/spack/repos/builtin/packages/npth/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Npth(AutotoolsPackage):
"""nPth is a library to provide the GNU Pth API and thus a
- non-preemptive threads implementation."""
+ non-preemptive threads implementation."""
homepage = "https://gnupg.org/software/npth/index.html"
- url = "https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2"
+ url = "https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2"
- version('1.6', sha256='1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1')
- version('1.5', sha256='294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2')
- version('1.4', sha256='8915141836a3169a502d65c1ebd785fcc6d406cae5ee84474272ebf2fa96f1f2')
+ version("1.6", sha256="1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1")
+ version("1.5", sha256="294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2")
+ version("1.4", sha256="8915141836a3169a502d65c1ebd785fcc6d406cae5ee84474272ebf2fa96f1f2")
diff --git a/var/spack/repos/builtin/packages/nrm/package.py b/var/spack/repos/builtin/packages/nrm/package.py
index b2d8923e5f..fcbabcbaba 100644
--- a/var/spack/repos/builtin/packages/nrm/package.py
+++ b/var/spack/repos/builtin/packages/nrm/package.py
@@ -11,16 +11,16 @@ class Nrm(PythonPackage):
homepage = "https://xgitlab.cels.anl.gov/argo/nrm"
url = "https://www.mcs.anl.gov/research/projects/argo/downloads/nrm-0.1.0.tar.gz"
- version('0.1.0', sha256='911a848042fa50ed216c818e0667bcd3e4219687eb5a35476b7313abe12106dc')
+ version("0.1.0", sha256="911a848042fa50ed216c818e0667bcd3e4219687eb5a35476b7313abe12106dc")
- depends_on('py-setuptools', type=('build'))
+ depends_on("py-setuptools", type=("build"))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pyzmq@17.1.2', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-tornado@5.1.1', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-argparse@1.2.1:', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
- depends_on('py-jsonschema@2.6.0', type=('build', 'run'))
- depends_on('py-warlock', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pyzmq@17.1.2", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-tornado@5.1.1", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-argparse@1.2.1:", type=("build", "run"), when="^python@:2.6,3.0:3.1")
+ depends_on("py-jsonschema@2.6.0", type=("build", "run"))
+ depends_on("py-warlock", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ns-3-dev/package.py b/var/spack/repos/builtin/packages/ns-3-dev/package.py
index 0ba08a747f..00af3c2f0e 100644
--- a/var/spack/repos/builtin/packages/ns-3-dev/package.py
+++ b/var/spack/repos/builtin/packages/ns-3-dev/package.py
@@ -14,48 +14,51 @@ class Ns3Dev(WafPackage):
"""
homepage = "https://www.nsnam.org/"
- url = "https://gitlab.com/nsnam/ns-3-dev/-/archive/ns-3.30.1/ns-3-dev-ns-3.30.1.tar.bz2"
+ url = "https://gitlab.com/nsnam/ns-3-dev/-/archive/ns-3.30.1/ns-3-dev-ns-3.30.1.tar.bz2"
- maintainers = ['yee29']
+ maintainers = ["yee29"]
- version('3.34', sha256='a565d46a73ff7de68808535d93884f59a6ed7c9faa94de1248ed4f59fb6d5d3d')
- version('3.33', sha256='0deb7da501fc19ba4818997c5aefd942be5ab1bbd3cfaa6ba28c07b387900275')
- version('3.32', sha256='a0e425c16748f909e10dce63275898508cb4f521739ec00a038316c148b8c3ee')
- version('3.31', sha256='41a18cd8bf0a8dffa1087535efa4921ec27b4ca02778646b9da8adb721296862')
- version('3.30.1', sha256='e8b3849d83a224f42c0cd2b9e692ec961455aca23f36fb86fcf6bbed2b495a3d')
- version('3.30', sha256='53cefcad74fec6cc332368a05ed1f8c1a29f86295cb44b6b0509c6d2d18d90d0')
- version('3.29', sha256='0254341487891421e4c6040476c6634c4c2931d4f7c6b9617a6ae494c8ee6ffd')
- version('3.28', sha256='5295e1f6e2ee1ff8cd92d3937c8b3266e0d5926adffc42c7fb0ea9ce549a91b7')
- version('3.27', sha256='26233011654043822b8ede525a52f8532ed181997b609a606681a0d5c8d64a26')
+ version("3.34", sha256="a565d46a73ff7de68808535d93884f59a6ed7c9faa94de1248ed4f59fb6d5d3d")
+ version("3.33", sha256="0deb7da501fc19ba4818997c5aefd942be5ab1bbd3cfaa6ba28c07b387900275")
+ version("3.32", sha256="a0e425c16748f909e10dce63275898508cb4f521739ec00a038316c148b8c3ee")
+ version("3.31", sha256="41a18cd8bf0a8dffa1087535efa4921ec27b4ca02778646b9da8adb721296862")
+ version("3.30.1", sha256="e8b3849d83a224f42c0cd2b9e692ec961455aca23f36fb86fcf6bbed2b495a3d")
+ version("3.30", sha256="53cefcad74fec6cc332368a05ed1f8c1a29f86295cb44b6b0509c6d2d18d90d0")
+ version("3.29", sha256="0254341487891421e4c6040476c6634c4c2931d4f7c6b9617a6ae494c8ee6ffd")
+ version("3.28", sha256="5295e1f6e2ee1ff8cd92d3937c8b3266e0d5926adffc42c7fb0ea9ce549a91b7")
+ version("3.27", sha256="26233011654043822b8ede525a52f8532ed181997b609a606681a0d5c8d64a26")
- variant('helics', default=False, description="Enable Helics support in ns-3")
- variant('boost', default=True, description="Compile with Boost libraries")
+ variant("helics", default=False, description="Enable Helics support in ns-3")
+ variant("boost", default=True, description="Compile with Boost libraries")
# Build dependency
- depends_on('helics', when='+helics')
+ depends_on("helics", when="+helics")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('pkgconfig', type='build')
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("pkgconfig", type="build")
- resource(name='helics',
- when='+helics',
- git='https://github.com/GMLC-TDC/helics-ns3.git',
- destination='contrib', placement='helics')
+ resource(
+ name="helics",
+ when="+helics",
+ git="https://github.com/GMLC-TDC/helics-ns3.git",
+ destination="contrib",
+ placement="helics",
+ )
def configure_args(self):
args = []
- if '+boost' in self.spec:
- args.extend([
- '--boost-includes={0}'.format(
- self.spec['boost'].prefix.include),
- '--boost-libs={0}'.format(
- self.spec['boost'].prefix.lib)
- ])
+ if "+boost" in self.spec:
+ args.extend(
+ [
+ "--boost-includes={0}".format(self.spec["boost"].prefix.include),
+ "--boost-libs={0}".format(self.spec["boost"].prefix.lib),
+ ]
+ )
- if '+helics' in self.spec:
- args.append('--with-helics={0}'.format(self.spec['helics'].prefix))
+ if "+helics" in self.spec:
+ args.append("--with-helics={0}".format(self.spec["helics"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/nseg/package.py b/var/spack/repos/builtin/packages/nseg/package.py
index 8bd391222b..65ff552181 100644
--- a/var/spack/repos/builtin/packages/nseg/package.py
+++ b/var/spack/repos/builtin/packages/nseg/package.py
@@ -10,62 +10,65 @@ class Nseg(MakefilePackage):
"""NSEG - Low complexity sequence identification"""
homepage = "ftp://ftp.ncbi.nih.gov/pub/seg/nseg/"
- url = "ftp://ftp.ncbi.nih.gov/pub/seg/nseg/nseg.c"
+ url = "ftp://ftp.ncbi.nih.gov/pub/seg/nseg/nseg.c"
- version('1.0', sha256='afae364fbe51caa1eccb704ed0b954437a3ef48a0cd3bf473f4b61d6fde9617e',
- expand=False)
+ version(
+ "1.0",
+ sha256="afae364fbe51caa1eccb704ed0b954437a3ef48a0cd3bf473f4b61d6fde9617e",
+ expand=False,
+ )
resource(
- name='makefile',
+ name="makefile",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/makefile",
- sha256='32937aef6969550ca3c762b5dd61b1520635cc46e773e35e56c5718f75838cee',
+ sha256="32937aef6969550ca3c762b5dd61b1520635cc46e773e35e56c5718f75838cee",
expand=False,
)
resource(
- name='genwin.c',
+ name="genwin.c",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/genwin.c",
- sha256='d392d2db625dc8c90b00f2a86028a3a45d121e15eb403b51c2f9b01692ab10d9',
+ sha256="d392d2db625dc8c90b00f2a86028a3a45d121e15eb403b51c2f9b01692ab10d9",
expand=False,
)
resource(
- name='genwin.h',
+ name="genwin.h",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/genwin.h",
- sha256='1c701d87bf6200bfa40faa16fe665828a010727ef1aa0e8a1e5823605165fb86',
+ sha256="1c701d87bf6200bfa40faa16fe665828a010727ef1aa0e8a1e5823605165fb86",
expand=False,
)
resource(
- name='lnfac.h',
+ name="lnfac.h",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/lnfac.h",
- sha256='5048e4f3dc3a7ea420d4eb4912a661f285634fbb205411b647b1f00c3fe3a0d2',
+ sha256="5048e4f3dc3a7ea420d4eb4912a661f285634fbb205411b647b1f00c3fe3a0d2",
expand=False,
)
resource(
- name='nmerge.c',
+ name="nmerge.c",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/nmerge.c",
- sha256='c8a4bb4c960acf7fcd7509b635766b618efdab9f09aec36443040759eca3bce3',
+ sha256="c8a4bb4c960acf7fcd7509b635766b618efdab9f09aec36443040759eca3bce3",
expand=False,
)
resource(
- name='runnseg',
+ name="runnseg",
url="ftp://ftp.ncbi.nih.gov/pub/seg/nseg/runnseg",
- sha256='2830a5a1c5ea1a879cf3a415dfbb23db7a81e84d41698ddf765f2e1ef42e7c78',
+ sha256="2830a5a1c5ea1a879cf3a415dfbb23db7a81e84d41698ddf765f2e1ef42e7c78",
expand=False,
)
- build_directory = 'nseg'
+ build_directory = "nseg"
- @run_before('build')
+ @run_before("build")
def prepare_source(self):
# create the build dir
mkdirp(self.build_directory)
# move the primary source file in
- copy('nseg.c', join_path(self.build_directory, 'nseg.c'))
+ copy("nseg.c", join_path(self.build_directory, "nseg.c"))
# move all of the single-file resources into the build dir
for key in self.resources:
@@ -74,18 +77,15 @@ class Nseg(MakefilePackage):
res_path = join_path(res.fetcher.stage.source_path, res.name)
copy(res_path, join_path(self.build_directory, res_name))
- if self.spec.satisfies('%fj'):
- sfiles = ['genwin.c', 'nseg.c']
+ if self.spec.satisfies("%fj"):
+ sfiles = ["genwin.c", "nseg.c"]
for s_name in sfiles:
filter_file(
- 'return;',
- 'return 0;',
- join_path(self.build_directory, s_name),
- string=True
+ "return;", "return 0;", join_path(self.build_directory, s_name), string=True
)
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- install('nseg', prefix.bin)
- install('nmerge', prefix.bin)
+ install("nseg", prefix.bin)
+ install("nmerge", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/nsimd/package.py b/var/spack/repos/builtin/packages/nsimd/package.py
index e53cdce3c8..c6d8a86bc3 100644
--- a/var/spack/repos/builtin/packages/nsimd/package.py
+++ b/var/spack/repos/builtin/packages/nsimd/package.py
@@ -14,85 +14,95 @@ class Nsimd(CMakePackage):
homepage = "https://agenium-scale.github.io/nsimd/"
url = "https://github.com/agenium-scale/nsimd/archive/v1.0.tar.gz"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('3.0.1', sha256='6a90d7ce5f9da5cfac872463951f3374bb0e0824d92f714db0fd4901b32497fd')
- version('3.0', sha256='5cab09020ce3a6819ddb3b3b8cafa6bc1377821b596c0f2954f52c852d092d5c')
- version('2.2', sha256='7916bec6c8ea9ddc690a5bfc80fb1b9402f9e1b2a4b4bb6b6bb8eb5a07eb018e')
- version('2.1', sha256='3274f1061d1fac170130b8c75378a6b94580629b3dc1d53db244b51500ee4695')
+ version("3.0.1", sha256="6a90d7ce5f9da5cfac872463951f3374bb0e0824d92f714db0fd4901b32497fd")
+ version("3.0", sha256="5cab09020ce3a6819ddb3b3b8cafa6bc1377821b596c0f2954f52c852d092d5c")
+ version("2.2", sha256="7916bec6c8ea9ddc690a5bfc80fb1b9402f9e1b2a4b4bb6b6bb8eb5a07eb018e")
+ version("2.1", sha256="3274f1061d1fac170130b8c75378a6b94580629b3dc1d53db244b51500ee4695")
# Version 2.0 is disabled since it does not support cmake
# version('2.0', sha256='b239e98316f93257161b25c8232634884edcee358982a74742981cc9b68da642')
- version('1.0', sha256='523dae83f1d93eab30114321f1c9a67e2006a52595da4c51f121ca139abe0857')
+ version("1.0", sha256="523dae83f1d93eab30114321f1c9a67e2006a52595da4c51f121ca139abe0857")
- variant('simd',
- default='auto',
- description='SIMD instruction set',
- values=(
- 'auto',
- 'CPU',
- 'SSE2', 'SSE42', 'AVX', 'AVX2', 'AVX512_KNL', 'AVX512_SKYLAKE',
- 'NEON128', 'AARCH64',
- 'SVE', conditional(
- 'SVE128', 'SVE256', 'SVE512', 'SVE1024', 'SVE2048', when='@2:'
- ),
- conditional('VMX', 'VSX', when='@3:'),
- conditional('CUDA', 'ROCM', when='@2:')
- ),
- multi=False)
- variant('optionals', values=any_combination_of('FMA', 'FP16'), when='@:1',
- description='Optional SIMD features',)
+ variant(
+ "simd",
+ default="auto",
+ description="SIMD instruction set",
+ values=(
+ "auto",
+ "CPU",
+ "SSE2",
+ "SSE42",
+ "AVX",
+ "AVX2",
+ "AVX512_KNL",
+ "AVX512_SKYLAKE",
+ "NEON128",
+ "AARCH64",
+ "SVE",
+ conditional("SVE128", "SVE256", "SVE512", "SVE1024", "SVE2048", when="@2:"),
+ conditional("VMX", "VSX", when="@3:"),
+ conditional("CUDA", "ROCM", when="@2:"),
+ ),
+ multi=False,
+ )
+ variant(
+ "optionals",
+ values=any_combination_of("FMA", "FP16"),
+ when="@:1",
+ description="Optional SIMD features",
+ )
# Requires a C++14 compiler for building.
# The C++ interface requires a C++11 compiler to use.
- depends_on('cmake@2.8.7:', type='build')
- depends_on('cmake@3.0.2:', type='build', when='@2:')
- depends_on('python@3:', type='build')
- depends_on('py-chardet', type='build', when='@3:')
- depends_on('py-requests', type='build', when='@3:')
+ depends_on("cmake@2.8.7:", type="build")
+ depends_on("cmake@3.0.2:", type="build", when="@2:")
+ depends_on("python@3:", type="build")
+ depends_on("py-chardet", type="build", when="@3:")
+ depends_on("py-requests", type="build", when="@3:")
- @run_before('cmake')
+ @run_before("cmake")
def generate_code(self):
"""Auto-generates code in the build directory"""
spec = self.spec
if self.spec.satisfies("@:1"):
- options = ['egg/hatch.py', '--all', '--force']
- python = spec['python'].command
+ options = ["egg/hatch.py", "--all", "--force"]
+ python = spec["python"].command
python(*options)
def cmake_args(self):
# Required SIMD argument
- simd = self.spec.variants['simd'].value
- if simd == 'auto':
+ simd = self.spec.variants["simd"].value
+ if simd == "auto":
# x86
- if 'avx512' in self.spec.target:
- simd = 'AVX512_SKYLAKE'
- elif self.spec.satisfies('target=mic_knl'):
- simd = 'AVX512_KNL'
- elif 'avx2' in self.spec.target:
- simd = 'AVX2'
- elif 'avx' in self.spec.target:
- simd = 'AVX'
- elif 'sse4_2' in self.spec.target:
- simd = 'SSE42'
- elif 'sse2' in self.spec.target:
- simd = 'SSE2'
+ if "avx512" in self.spec.target:
+ simd = "AVX512_SKYLAKE"
+ elif self.spec.satisfies("target=mic_knl"):
+ simd = "AVX512_KNL"
+ elif "avx2" in self.spec.target:
+ simd = "AVX2"
+ elif "avx" in self.spec.target:
+ simd = "AVX"
+ elif "sse4_2" in self.spec.target:
+ simd = "SSE42"
+ elif "sse2" in self.spec.target:
+ simd = "SSE2"
# ARM
- elif 'sve' in self.spec.target:
+ elif "sve" in self.spec.target:
# We require an explicit choice for particluar bit widths
- simd = 'SVE'
- elif self.spec.satisfies('target=aarch64:'):
- simd = 'AARCH64'
- elif 'neon' in self.spec.target:
- simd = 'NEON128'
+ simd = "SVE"
+ elif self.spec.satisfies("target=aarch64:"):
+ simd = "AARCH64"
+ elif "neon" in self.spec.target:
+ simd = "NEON128"
# POWER
- elif 'vsx' in self.spec.target:
- simd = 'VSX'
- elif (self.spec.satisfies('target=ppc64:') or
- self.spec.satisfies('target=ppc64le:')):
- simd = 'VMX'
+ elif "vsx" in self.spec.target:
+ simd = "VSX"
+ elif self.spec.satisfies("target=ppc64:") or self.spec.satisfies("target=ppc64le:"):
+ simd = "VMX"
# Unknown CPU architecture
else:
- simd = 'CPU'
+ simd = "CPU"
if self.spec.satisfies("@:1"):
cmake_args = ["-DSIMD={0}".format(simd)]
@@ -101,9 +111,9 @@ class Nsimd(CMakePackage):
if self.spec.satisfies("@:1"):
# Optional SIMD instructions to be turned on explicitly
- optionals_value = self.spec.variants['optionals'].value
- if optionals_value != 'none':
- optionals_arg = ';'.join(optionals_value)
+ optionals_value = self.spec.variants["optionals"].value
+ if optionals_value != "none":
+ optionals_arg = ";".join(optionals_value)
cmake_args.append("-DSIMD_OPTIONALS={0}".format(optionals_arg))
return cmake_args
diff --git a/var/spack/repos/builtin/packages/nspr/package.py b/var/spack/repos/builtin/packages/nspr/package.py
index 2f0bfeca04..2c4f130991 100644
--- a/var/spack/repos/builtin/packages/nspr/package.py
+++ b/var/spack/repos/builtin/packages/nspr/package.py
@@ -10,26 +10,28 @@ 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/NSS/Reference/NSPR_functions"
- url = "https://ftp.mozilla.org/pub/nspr/releases/v4.13.1/src/nspr-4.13.1.tar.gz"
+ homepage = (
+ "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions"
+ )
+ url = "https://ftp.mozilla.org/pub/nspr/releases/v4.13.1/src/nspr-4.13.1.tar.gz"
- version('4.32', sha256='bb6bf4f534b9559cf123dcdc6f9cd8167de950314a90a88b2a329c16836e7f6c')
- version('4.31', sha256='5729da87d5fbf1584b72840751e0c6f329b5d541850cacd1b61652c95015abc8')
- version('4.13.1', sha256='5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab')
+ version("4.32", sha256="bb6bf4f534b9559cf123dcdc6f9cd8167de950314a90a88b2a329c16836e7f6c")
+ version("4.31", sha256="5729da87d5fbf1584b72840751e0c6f329b5d541850cacd1b61652c95015abc8")
+ version("4.13.1", sha256="5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab")
- depends_on('perl', type='build')
+ depends_on("perl", type="build")
- configure_directory = 'nspr'
+ configure_directory = "nspr"
def configure_args(self):
return [
- '--with-mozilla',
- '--enable-64bit', # without this, fails when 32-bit glibc not found
- '--enable-optimize',
+ "--with-mozilla",
+ "--enable-64bit", # without this, fails when 32-bit glibc not found
+ "--enable-optimize",
]
@property
def headers(self):
- headers = find_headers('*', self.prefix.include, recursive=True)
+ headers = find_headers("*", self.prefix.include, recursive=True)
headers.directories = [self.prefix.include.nspr]
return headers
diff --git a/var/spack/repos/builtin/packages/nss/package.py b/var/spack/repos/builtin/packages/nss/package.py
index 8dde198eb8..e674f6d723 100644
--- a/var/spack/repos/builtin/packages/nss/package.py
+++ b/var/spack/repos/builtin/packages/nss/package.py
@@ -14,65 +14,68 @@ class Nss(MakefilePackage):
security standards."""
homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
- url = "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_67_RTM/src/nss-3.67.tar.gz"
+ url = "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_67_RTM/src/nss-3.67.tar.gz"
- version('3.75', sha256='fd571507827284644f4dd522a032acda2286835f6683ed22a1c2d3878cc58582')
- version('3.73', sha256='566d3a68da9b10d7da9ef84eb4fe182f8f04e20d85c55d1bf360bb2c0096d8e5')
+ version("3.75", sha256="fd571507827284644f4dd522a032acda2286835f6683ed22a1c2d3878cc58582")
+ version("3.73", sha256="566d3a68da9b10d7da9ef84eb4fe182f8f04e20d85c55d1bf360bb2c0096d8e5")
# Everything before 3.73 is vulnerable (CVE-2021-43527)
- version('3.67', sha256='f6549a9148cd27b394b40c77fa73111d5ea23cdb51d796665de1b7458f88ce7f', deprecated=True)
+ version(
+ "3.67",
+ sha256="f6549a9148cd27b394b40c77fa73111d5ea23cdb51d796665de1b7458f88ce7f",
+ deprecated=True,
+ )
- depends_on('nspr@4.24:')
- depends_on('sqlite')
- depends_on('zlib')
+ depends_on("nspr@4.24:")
+ depends_on("sqlite")
+ depends_on("zlib")
parallel = False
- build_directory = 'nss'
+ build_directory = "nss"
def url_for_version(self, version):
- url = 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_{0}_RTM/src/nss-{1}.tar.gz'
+ url = "https://ftp.mozilla.org/pub/security/nss/releases/NSS_{0}_RTM/src/nss-{1}.tar.gz"
return url.format(version.underscored, version)
@property
def build_targets(self):
# We cannot use nss_build_all because this will try to build nspr.
- targets = ['all', 'latest']
+ targets = ["all", "latest"]
- targets.append('CCC={}'.format(spack_cxx))
- targets.append('USE_64=1')
- targets.append('BUILD_OPT=1')
+ targets.append("CCC={}".format(spack_cxx))
+ targets.append("USE_64=1")
+ targets.append("BUILD_OPT=1")
- for var in ('DIST', 'SOURCE_PREFIX', 'SOURCE_MD_DIR'):
- targets.append('{0}={1}'.format(
- var, join_path(self.stage.source_path, 'dist')))
+ for var in ("DIST", "SOURCE_PREFIX", "SOURCE_MD_DIR"):
+ targets.append("{0}={1}".format(var, join_path(self.stage.source_path, "dist")))
- targets.append('NSS_USE_SYSTEM_SQLITE=1')
+ targets.append("NSS_USE_SYSTEM_SQLITE=1")
- if self.spec.satisfies('%gcc@10:'):
- targets.append('NSS_ENABLE_WERROR=0')
+ if self.spec.satisfies("%gcc@10:"):
+ targets.append("NSS_ENABLE_WERROR=0")
return targets
def install(self, spec, prefix):
- install_tree('dist/bin', prefix.bin, symlinks=False)
- install_tree('dist/public/nss', prefix.include.nss, symlinks=False)
- install_tree('dist/lib', prefix.lib, symlinks=False)
+ install_tree("dist/bin", prefix.bin, symlinks=False)
+ install_tree("dist/public/nss", prefix.include.nss, symlinks=False)
+ install_tree("dist/lib", prefix.lib, symlinks=False)
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
- pkg_path = join_path(self.prefix.lib, 'pkgconfig')
+ pkg_path = join_path(self.prefix.lib, "pkgconfig")
mkdirp(pkg_path)
- with open(join_path(pkg_path, 'nss.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(self.prefix.lib))
- f.write('includedir={0}\n'.format(self.prefix.include.nss))
- f.write('\n')
- f.write('Name: NSS\n')
- f.write('Description: Network Security Services\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Requires: nspr\n')
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3\n')
+ with open(join_path(pkg_path, "nss.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(self.prefix.lib))
+ f.write("includedir={0}\n".format(self.prefix.include.nss))
+ f.write("\n")
+ f.write("Name: NSS\n")
+ f.write("Description: Network Security Services\n")
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Requires: nspr\n")
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3\n")
diff --git a/var/spack/repos/builtin/packages/ntirpc/package.py b/var/spack/repos/builtin/packages/ntirpc/package.py
index ccebcd70d6..bca19e8f92 100644
--- a/var/spack/repos/builtin/packages/ntirpc/package.py
+++ b/var/spack/repos/builtin/packages/ntirpc/package.py
@@ -10,13 +10,13 @@ class Ntirpc(CMakePackage):
"""New development on tirpc"""
homepage = "https://github.com/nfs-ganesha/ntirpc"
- url = "https://github.com/nfs-ganesha/ntirpc/archive/v3.2.tar.gz"
+ url = "https://github.com/nfs-ganesha/ntirpc/archive/v3.2.tar.gz"
- version('3.2', sha256='db1639ca2f15df7e30d8c0a820ed9adf4eb623798db03b56a3659eedff49af76')
- version('3.1', sha256='280b57db3a37c5b05116a7850460152b1ac53c050fd61ce190f5a5eb55ed3ba1')
- version('3.0', sha256='9a6b11c1aa3e7f5f1f491bca0275e759de5bed2d73c8a028af7b6aadb68ac795')
- version('1.8.0', sha256='3bb642dccc8f2506b57a03b5d3358654f59f47b33fddfaa5a7330df4cf336f9f')
- version('1.7.3', sha256='8713ef095efc44df426bbd2b260ad457e5335bf3008fb97f01b0775c8042e54b')
+ version("3.2", sha256="db1639ca2f15df7e30d8c0a820ed9adf4eb623798db03b56a3659eedff49af76")
+ version("3.1", sha256="280b57db3a37c5b05116a7850460152b1ac53c050fd61ce190f5a5eb55ed3ba1")
+ version("3.0", sha256="9a6b11c1aa3e7f5f1f491bca0275e759de5bed2d73c8a028af7b6aadb68ac795")
+ version("1.8.0", sha256="3bb642dccc8f2506b57a03b5d3358654f59f47b33fddfaa5a7330df4cf336f9f")
+ version("1.7.3", sha256="8713ef095efc44df426bbd2b260ad457e5335bf3008fb97f01b0775c8042e54b")
- depends_on('libnsl')
- depends_on('userspace-rcu')
+ depends_on("libnsl")
+ depends_on("userspace-rcu")
diff --git a/var/spack/repos/builtin/packages/ntl/package.py b/var/spack/repos/builtin/packages/ntl/package.py
index 56c7baef92..6ef6b96ce9 100644
--- a/var/spack/repos/builtin/packages/ntl/package.py
+++ b/var/spack/repos/builtin/packages/ntl/package.py
@@ -18,32 +18,32 @@ class Ntl(MakefilePackage):
"""
homepage = "https://libntl.org"
- url = "https://github.com/libntl/ntl/archive/refs/tags/v11.5.1.tar.gz"
+ url = "https://github.com/libntl/ntl/archive/refs/tags/v11.5.1.tar.gz"
- maintainers = ['wohlbier']
+ maintainers = ["wohlbier"]
- version('11.5.1', sha256='ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5')
- version('11.5.0', sha256='9e1e6488b177c3e5d772fdd6279c890937a9d1c3b694a904ac1cfbe9cab836db')
- version('11.4.4', sha256='2ce7a10fadbed6c3859d72c859612a4ca0dbdf6a9db99db4261422b7f0804bfa')
+ version("11.5.1", sha256="ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5")
+ version("11.5.0", sha256="9e1e6488b177c3e5d772fdd6279c890937a9d1c3b694a904ac1cfbe9cab836db")
+ version("11.4.4", sha256="2ce7a10fadbed6c3859d72c859612a4ca0dbdf6a9db99db4261422b7f0804bfa")
- variant('shared', default=False, description='Build shared library.')
+ variant("shared", default=False, description="Build shared library.")
- depends_on('gmp')
+ depends_on("gmp")
# The configure script is a thin wrapper around perl
- depends_on('perl', type='build')
+ depends_on("perl", type="build")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
config_args = [
- 'CXX={0}'.format(self.compiler.cxx),
- 'DEF_PREFIX={0}'.format(prefix),
- 'GMP_PREFIX={0}'.format(spec['gmp'].prefix) # gmp dependency
+ "CXX={0}".format(self.compiler.cxx),
+ "DEF_PREFIX={0}".format(prefix),
+ "GMP_PREFIX={0}".format(spec["gmp"].prefix), # gmp dependency
]
- if '+shared' in spec:
- config_args.append('SHARED=on')
+ if "+shared" in spec:
+ config_args.append("SHARED=on")
with working_dir(self.build_directory):
- configure = Executable('./configure')
+ configure = Executable("./configure")
configure(*config_args)
diff --git a/var/spack/repos/builtin/packages/ntpoly/package.py b/var/spack/repos/builtin/packages/ntpoly/package.py
index b4ddb9e017..ab16c62103 100644
--- a/var/spack/repos/builtin/packages/ntpoly/package.py
+++ b/var/spack/repos/builtin/packages/ntpoly/package.py
@@ -16,17 +16,17 @@ class Ntpoly(CMakePackage):
"""
homepage = "https://william-dawson.github.io/NTPoly/"
- url = "https://github.com/william-dawson/NTPoly/archive/ntpoly-v2.3.1.tar.gz"
+ url = "https://github.com/william-dawson/NTPoly/archive/ntpoly-v2.3.1.tar.gz"
- version('2.3.1', sha256='af8c7690321607fbdee9671b9cb3acbed945148014e0541435858cf82bfd887e')
+ version("2.3.1", sha256="af8c7690321607fbdee9671b9cb3acbed945148014e0541435858cf82bfd887e")
- depends_on('cmake', type='build')
- depends_on('blas', type='link')
- depends_on('mpi@3')
+ depends_on("cmake", type="build")
+ depends_on("blas", type="link")
+ depends_on("mpi@3")
def cmake_args(self):
args = ["-DNOSWIG=Yes"]
- if self.spec.satisfies('%fj'):
- args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
+ if self.spec.satisfies("%fj"):
+ args.append("-DCMAKE_Fortran_MODDIR_FLAG=-M")
return args
diff --git a/var/spack/repos/builtin/packages/numactl/package.py b/var/spack/repos/builtin/packages/numactl/package.py
index b57c9756d5..054a1ecf4a 100644
--- a/var/spack/repos/builtin/packages/numactl/package.py
+++ b/var/spack/repos/builtin/packages/numactl/package.py
@@ -10,54 +10,51 @@ class Numactl(AutotoolsPackage):
"""NUMA support for Linux"""
homepage = "https://github.com/numactl/numactl"
- url = "https://github.com/numactl/numactl/archive/v2.0.11.tar.gz"
+ url = "https://github.com/numactl/numactl/archive/v2.0.11.tar.gz"
force_autoreconf = True
- version('2.0.14', sha256='1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035')
- version('2.0.12', sha256='7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf')
- version('2.0.11', sha256='3e099a59b2c527bcdbddd34e1952ca87462d2cef4c93da9b0bc03f02903f7089')
+ version("2.0.14", sha256="1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035")
+ version("2.0.12", sha256="7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf")
+ version("2.0.11", sha256="3e099a59b2c527bcdbddd34e1952ca87462d2cef4c93da9b0bc03f02903f7089")
- patch('numactl-2.0.11-sysmacros.patch', when="@2.0.11")
+ patch("numactl-2.0.11-sysmacros.patch", when="@2.0.11")
# https://github.com/numactl/numactl/issues/94
- patch('numactl-2.0.14-symver.patch', when="@2.0.14")
- patch('fix-empty-block.patch', when="@2.0.10:2.0.14")
- patch('link-with-latomic-if-needed.patch', when="@2.0.14")
+ patch("numactl-2.0.14-symver.patch", when="@2.0.14")
+ patch("fix-empty-block.patch", when="@2.0.10:2.0.14")
+ patch("link-with-latomic-if-needed.patch", when="@2.0.14")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# Numactl has hardcoded minimum versions for libtool,
# libtool@develop returns UNKOWN as a version tag and fails
- conflicts('libtool@develop')
+ conflicts("libtool@develop")
# Numerous errors when trying to build on darwin
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @when('%nvhpc')
+ @when("%nvhpc")
def patch(self):
self._nvhpc_patch()
- @when('%pgi@20:')
+ @when("%pgi@20:")
def patch(self):
self._nvhpc_patch()
def _nvhpc_patch(self):
# Remove flags not recognized by the NVIDIA compiler
- filter_file('-ffast-math -funroll-loops', '', 'Makefile.am')
- filter_file('-std=gnu99', '-c99', 'Makefile.am')
+ filter_file("-ffast-math -funroll-loops", "", "Makefile.am")
+ filter_file("-std=gnu99", "-c99", "Makefile.am")
# Avoid undefined reference errors
- if self.spec.satisfies('@2.0.14'):
- filter_file('numa_sched_setaffinity_v1_int',
- 'numa_sched_setaffinity_v1', 'libnuma.c')
- filter_file('numa_sched_setaffinity_v2_int',
- 'numa_sched_setaffinity_v2', 'libnuma.c')
- filter_file('numa_sched_getaffinity_v2_int',
- 'numa_sched_getaffinity_v2', 'libnuma.c')
+ if self.spec.satisfies("@2.0.14"):
+ filter_file("numa_sched_setaffinity_v1_int", "numa_sched_setaffinity_v1", "libnuma.c")
+ filter_file("numa_sched_setaffinity_v2_int", "numa_sched_setaffinity_v2", "libnuma.c")
+ filter_file("numa_sched_getaffinity_v2_int", "numa_sched_getaffinity_v2", "libnuma.c")
diff --git a/var/spack/repos/builtin/packages/numamma/package.py b/var/spack/repos/builtin/packages/numamma/package.py
index 66e2cd0d2b..8e451d15ba 100644
--- a/var/spack/repos/builtin/packages/numamma/package.py
+++ b/var/spack/repos/builtin/packages/numamma/package.py
@@ -11,19 +11,17 @@ class Numamma(CMakePackage):
memory access patterns of applications."""
homepage = "https://numamma.github.io/numamma/"
- url = "https://github.com/numamma/numamma/archive/numamma-1.1.1.tar.gz"
- maintainers = ['trahay']
+ url = "https://github.com/numamma/numamma/archive/numamma-1.1.1.tar.gz"
+ maintainers = ["trahay"]
- version('1.1.1', sha256='f79ca22a95df33a1af529ddd653d043f7f0d32a6d196e559aee8bef8fc74771f')
+ version("1.1.1", sha256="f79ca22a95df33a1af529ddd653d043f7f0d32a6d196e559aee8bef8fc74771f")
- depends_on('numap')
- depends_on('libbacktrace')
- depends_on('numactl')
- depends_on('libelf')
+ depends_on("numap")
+ depends_on("libbacktrace")
+ depends_on("numactl")
+ depends_on("libelf")
def cmake_args(self):
spec = self.spec
- cmake_args = [
- "-DBACKTRACE_DIR:PATH={0}".format(spec["libbacktrace"].prefix)
- ]
+ cmake_args = ["-DBACKTRACE_DIR:PATH={0}".format(spec["libbacktrace"].prefix)]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/numap/package.py b/var/spack/repos/builtin/packages/numap/package.py
index 0480015146..57b4c07c05 100644
--- a/var/spack/repos/builtin/packages/numap/package.py
+++ b/var/spack/repos/builtin/packages/numap/package.py
@@ -11,10 +11,10 @@ class Numap(CMakePackage):
hardware performance monitoring unit (PMU)."""
homepage = "https://github.com/numap-library/numap"
- git = "https://github.com/numap-library/numap.git"
- maintainers = ['trahay']
+ git = "https://github.com/numap-library/numap.git"
+ maintainers = ["trahay"]
- version('master', branch='master')
- version('2019-09-06', commit='ffcdb88c64b59b7a3220eb1077d2b237029ca96a')
+ version("master", branch="master")
+ version("2019-09-06", commit="ffcdb88c64b59b7a3220eb1077d2b237029ca96a")
- depends_on('libpfm4')
+ depends_on("libpfm4")
diff --git a/var/spack/repos/builtin/packages/numdiff/package.py b/var/spack/repos/builtin/packages/numdiff/package.py
index 5b693791b0..0bf33d457a 100644
--- a/var/spack/repos/builtin/packages/numdiff/package.py
+++ b/var/spack/repos/builtin/packages/numdiff/package.py
@@ -11,39 +11,34 @@ class Numdiff(AutotoolsPackage):
similar files line by line and field by field, ignoring small numeric
differences or/and different numeric formats."""
- homepage = 'https://www.nongnu.org/numdiff'
- url = 'https://nongnu.askapache.com/numdiff/numdiff-5.8.1.tar.gz'
+ homepage = "https://www.nongnu.org/numdiff"
+ url = "https://nongnu.askapache.com/numdiff/numdiff-5.8.1.tar.gz"
- version('5.9.0', sha256='87284a117944723eebbf077f857a0a114d818f8b5b54d289d59e73581194f5ef')
- version('5.8.1', sha256='99aebaadf63325f5658411c09c6dde60d2990c5f9a24a51a6851cb574a4af503')
+ version("5.9.0", sha256="87284a117944723eebbf077f857a0a114d818f8b5b54d289d59e73581194f5ef")
+ version("5.8.1", sha256="99aebaadf63325f5658411c09c6dde60d2990c5f9a24a51a6851cb574a4af503")
- variant('nls', default=False,
- description="Enable Natural Language Support")
- variant('gmp', default=False,
- description="Use GNU Multiple Precision Arithmetic Library")
+ variant("nls", default=False, description="Enable Natural Language Support")
+ variant("gmp", default=False, description="Use GNU Multiple Precision Arithmetic Library")
- depends_on('gettext', when='+nls')
- depends_on('gmp', when='+gmp')
+ depends_on("gettext", when="+nls")
+ depends_on("gmp", when="+gmp")
def configure_args(self):
spec = self.spec
args = []
- if '+nls' in spec:
- args.append('--enable-nls')
+ if "+nls" in spec:
+ args.append("--enable-nls")
else:
- args.append('--disable-nls')
+ args.append("--disable-nls")
- if '+gmp' in spec:
+ if "+gmp" in spec:
# compile with -O0 as per upstream known issue with optimization
# and GMP; https://launchpad.net/ubuntu/+source/numdiff/+changelog
# http://www.nongnu.org/numdiff/#issues
# keep this variant off by default as one still encounter
# GNU MP: Cannot allocate memory (size=2305843009206983184)
- args.extend([
- '--enable-gmp',
- 'CFLAGS=-O0'
- ])
+ args.extend(["--enable-gmp", "CFLAGS=-O0"])
else:
- args.append('--disable-gmp')
+ args.append("--disable-gmp")
return args
diff --git a/var/spack/repos/builtin/packages/nut/package.py b/var/spack/repos/builtin/packages/nut/package.py
index cb937eaaf1..c0ebad65aa 100644
--- a/var/spack/repos/builtin/packages/nut/package.py
+++ b/var/spack/repos/builtin/packages/nut/package.py
@@ -13,34 +13,34 @@ class Nut(CMakePackage):
and performance issues."""
homepage = "https://github.com/lanl/NuT"
- url = "https://github.com/lanl/NuT/archive/0.1.1.tar.gz"
- git = "https://github.com/lanl/NuT.git"
+ url = "https://github.com/lanl/NuT/archive/0.1.1.tar.gz"
+ git = "https://github.com/lanl/NuT.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('master', branch='master')
- version('0.1.1', sha256='9f1dca4a9d7003b170fd57d6720228ff25471616cf884e033652e90c49c089bb')
+ version("master", branch="master")
+ version("0.1.1", sha256="9f1dca4a9d7003b170fd57d6720228ff25471616cf884e033652e90c49c089bb")
- depends_on('cmake@3.0:', type='build')
- depends_on('random123')
+ depends_on("cmake@3.0:", type="build")
+ depends_on("random123")
# The conflict with %nvhpc is inherited from random123,
# which is a C++ template library
- conflicts('%nvhpc')
- conflicts('%intel', when='@serial')
- conflicts('%pgi', when='@serial')
- conflicts('%xl', when='@serial')
- conflicts('%nag', when='@serial')
- build_targets = ['VERBOSE=on']
+ conflicts("%nvhpc")
+ conflicts("%intel", when="@serial")
+ conflicts("%pgi", when="@serial")
+ conflicts("%xl", when="@serial")
+ conflicts("%nag", when="@serial")
+ build_targets = ["VERBOSE=on"]
def setup_build_environment(self, env):
- env.set('RANDOM123_DIR', self.spec['random123'].prefix)
+ env.set("RANDOM123_DIR", self.spec["random123"].prefix)
def install(self, spec, prefix):
- install('README.md', prefix)
+ install("README.md", prefix)
mkdirp(prefix.bin)
mkdirp(prefix.lib)
- install(join_path(self.build_directory, 'apps/bh-3'), prefix.bin)
- install(join_path(self.build_directory, 'lib/libnut.a'), prefix.lib)
- install_tree('test/data', prefix.data)
- install_tree('lib', prefix.include)
+ install(join_path(self.build_directory, "apps/bh-3"), prefix.bin)
+ install(join_path(self.build_directory, "lib/libnut.a"), prefix.lib)
+ install_tree("test/data", prefix.data)
+ install_tree("lib", prefix.include)
diff --git a/var/spack/repos/builtin/packages/nvdimmsim/package.py b/var/spack/repos/builtin/packages/nvdimmsim/package.py
index df39954a58..f95e5a1268 100644
--- a/var/spack/repos/builtin/packages/nvdimmsim/package.py
+++ b/var/spack/repos/builtin/packages/nvdimmsim/package.py
@@ -16,9 +16,9 @@ class Nvdimmsim(MakefilePackage):
git = "https://github.com/slunk/NVDIMMSim"
url = "https://github.com/jimstevens2001/NVDIMMSim/archive/v2.0.0.tar.gz"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('2.0.0', sha256="2a621ef10be5e52a1f543985d08354a2e6ee6532b5720e5f17ad6362cfd4adef")
+ version("2.0.0", sha256="2a621ef10be5e52a1f543985d08354a2e6ee6532b5720e5f17ad6362cfd4adef")
def build(self, spec, prefix):
with working_dir("src"):
diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py
index 6bfa6496bf..1a8751559c 100644
--- a/var/spack/repos/builtin/packages/nvhpc/package.py
+++ b/var/spack/repos/builtin/packages/nvhpc/package.py
@@ -21,66 +21,216 @@ from spack.util.prefix import Prefix
# - package key must be in the form '{os}-{arch}' where 'os' is in the
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
- '22.7': {
- 'Linux-aarch64': ('2aae3fbfd2d0d2d09448a36166c42311368f5600c7c346f159c280b412fe924a', 'https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('6dd4fd382c22769e4fa9508714119abd7d1df3dc58c69414a14b0b0dbc34564f', 'https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('3ce1c346f8bc7e50defb41c545c8907fdc012ff60b27eb8985cf3213f19d863a', 'https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_x86_64_cuda_multi.tar.gz')},
- '22.5': {
- 'Linux-aarch64': ('ceeee84e6227e973ad1beded6008d330e3790f7c4598b948fa530fedfa830a16', 'https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('54d1e45664352d0f9f85ab476dd39496dd1b290e0e1221d3bf63afb940dbe16d', 'https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('7674bcf7a77570fafee5b8299959c9e998a9a10bb27904335cf1a58b71766137', 'https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_x86_64_cuda_multi.tar.gz')},
- '22.3': {
- 'Linux-aarch64': ('e0ea1cbb726556f6879f4b5dfe17238f8e7680c772368577945a85c0e08328f0', 'https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('5e80db6010adc85fe799dac961ae69e43fdf18d35243666c96a70ecdb80bd280', 'https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('bc60a6faf2237bf20550718f71079a714563fa85df62c341cb833f70eb2fe7bb', 'https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_x86_64_cuda_multi.tar.gz')},
- '22.2': {
- 'Linux-aarch64': ('a8241d1139a768d9a0066d1853748160e4098253024e17e997983884d0d33a19', 'https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('f84f72423452968d5bbe02e297f188682c4759864a736a72b32acb3433db3a26', 'https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('8dfb4007d6912b2722946358ac69409592c1f03426d81971ffbcb6fc5fea2cb8', 'https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_x86_64_cuda_multi.tar.gz')},
- '22.1': {
- 'Linux-aarch64': ('05cfa8c520a34eab01272a261b157d421a9ff7129fca7d859b944ce6a16d2255', 'https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('9fa9b64fba2c9b287b5800693417d8065c695d18cab0526bad41d9aecc8be2b3', 'https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('7e4366509ed9031ff271e73327dd3121909902a81ac436307801a5373efaff5e', 'https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_x86_64_cuda_multi.tar.gz')},
- '21.11': {
- 'Linux-aarch64': ('3b11bcd9cca862fabfce1e7bcaa2050ea12130c7e897f4e7859ba4c155d20720', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('ac51ed92de4eb5e1bdb064ada5bbace5b89ac732ad6c6473778edfb8d29a6527', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('d8d8ccd0e558d22bcddd955f2233219c96f7de56aa8e09e7be833e384d32d6aa', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_x86_64_cuda_multi.tar.gz')},
- '21.9': {
- 'Linux-aarch64': ('52c2c66e30043add4afccedf0ba77daa0000bf42e0db844baa630bb635b91a7d', 'https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('cff0b55fb782be1982bfeec1d9763b674ddbf84ff2c16b364495299266320289', 'https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('7de6a6880fd7e59afe0dee51f1fae4d3bff1ca0fb8ee234b24e1f2fdff23ffc9', 'https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_x86_64_cuda_multi.tar.gz')},
- '21.7': {
- 'Linux-aarch64': ('73eb3513845b59645f118b1e313472f54519dc252d5f5c32a05df2a2a8a19878', 'https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('37ea23b5a9c696fb3fdb82855643afc4e02aea618102ec801206441f10fc9fba', 'https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('49d6e23492d131474698cf12971722d42e13a54a4eddec382e66e1053b4ac902', 'https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_x86_64_cuda_multi.tar.gz')},
- '21.5': {
- 'Linux-aarch64': ('1a1748cd7cf538199d92ab3b1208935fa4a62708ba21125aeadb328ddc7380d4', 'https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('4674931a5ce28724308cb9cebd546eefa3f0646d3d08adbea28ba5ad27f0c163', 'https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('21989e52c58a6914743631c8200de1fec7e10b3449c6c1833f3032ee74b85f8e', 'https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_x86_64_cuda_multi.tar.gz')},
- '21.3': {
- 'Linux-aarch64': ('88e0dbf8fcdd06a2ba06aacf65ae1625b8683688f6593ed3bf8ce129ce1b17b7', 'https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('08cd0cd6c80d633f107b44f88685ada7f014fbf6eac19ef5ae4a7952cabe4037', 'https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('391d5604a70f61bdd4ca6a3e4692f6f2391948990c8a35c395b6867341890031', 'https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_x86_64_cuda_multi.tar.gz')},
- '21.2': {
- 'Linux-aarch64': ('fe19c0232f7c9534f8699b7432483c9cc649f1e92e7f0961d1aa7c54d83297ff', 'https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('6b69b6e4ebec6a91b9f1627384c50adad79ebdd25dfb20a5f64cf01c3a07f11a', 'https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('a3e3393040185ae844002fbc6c8eb4ffdfb97ce8b2ce29d796fe7e9a521fdc59', 'https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_x86_64_cuda_multi.tar.gz')},
- '21.1': {
- 'Linux-aarch64': ('b276e7c0ff78cee837a597d9136cd1d8ded27a9d1fdae1e7d674e2a072a9a6aa', 'https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('bc236c212097bac6b7d04d627d9cc6b75bb6cd473a0b6a1bf010559ce328a2b0', 'https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('d529daf46404724ac3f005be4239f2c30e53f5220bb9453f367dccc3a74d6b41', 'https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_x86_64_cuda_multi.tar.gz')},
- '20.11': {
- 'Linux-aarch64': ('2f26ca45b07b694b8669e4f761760d4f7faa8d032b21e430adee1af0a27032c1', 'https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_aarch64_cuda_multi.tar.gz'),
- 'Linux-ppc64le': ('99e5a5437e82f3914e0fe81feb761a5b599a3fe8b31f3c2cac8ae47e8cdc7b0f', 'https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('c80fc26e5ba586696f7030f03054c1aaca0752a891c7923faf47eb23b66857ec', 'https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_x86_64_cuda_multi.tar.gz')},
- '20.9': {
- 'Linux-aarch64': ('3bfb3d17f5ee99998bcc30d738e818d3b94b828e2d8da7db48bf152a01e22023', 'https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_aarch64_cuda_11.0.tar.gz'),
- 'Linux-ppc64le': ('b2966d4047e1dfd981ce63b333ab9c0acbdc2a6a505fa217456ac9fa3b8e7474', 'https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('fe665ab611b03846a90bd70ca4e08c1e59ab527364b971ed0304e0ae73c778d8', 'https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_x86_64_cuda_multi.tar.gz')},
- '20.7': {
- 'Linux-aarch64': ('5b83ca1919199ac0aa609309b31c345c5a6453dd3131fddeef9e3ee9059a0e9b', 'https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_aarch64_cuda_11.0.tar.gz'),
- 'Linux-ppc64le': ('800ead240bdf61611910b2f6df24ee1d7359377ff3767c923738dd81fcea9312', 'https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_ppc64le_cuda_multi.tar.gz'),
- 'Linux-x86_64': ('a5c5c8726d2210f2310a852c6d6e03c9ef8c75e3643e9c94e24909f5e9c2ea7a', 'https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_x86_64_cuda_multi.tar.gz')}
+ "22.7": {
+ "Linux-aarch64": (
+ "2aae3fbfd2d0d2d09448a36166c42311368f5600c7c346f159c280b412fe924a",
+ "https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "6dd4fd382c22769e4fa9508714119abd7d1df3dc58c69414a14b0b0dbc34564f",
+ "https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "3ce1c346f8bc7e50defb41c545c8907fdc012ff60b27eb8985cf3213f19d863a",
+ "https://developer.download.nvidia.com/hpc-sdk/22.7/nvhpc_2022_227_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "22.5": {
+ "Linux-aarch64": (
+ "ceeee84e6227e973ad1beded6008d330e3790f7c4598b948fa530fedfa830a16",
+ "https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "54d1e45664352d0f9f85ab476dd39496dd1b290e0e1221d3bf63afb940dbe16d",
+ "https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "7674bcf7a77570fafee5b8299959c9e998a9a10bb27904335cf1a58b71766137",
+ "https://developer.download.nvidia.com/hpc-sdk/22.5/nvhpc_2022_225_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "22.3": {
+ "Linux-aarch64": (
+ "e0ea1cbb726556f6879f4b5dfe17238f8e7680c772368577945a85c0e08328f0",
+ "https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "5e80db6010adc85fe799dac961ae69e43fdf18d35243666c96a70ecdb80bd280",
+ "https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "bc60a6faf2237bf20550718f71079a714563fa85df62c341cb833f70eb2fe7bb",
+ "https://developer.download.nvidia.com/hpc-sdk/22.3/nvhpc_2022_223_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "22.2": {
+ "Linux-aarch64": (
+ "a8241d1139a768d9a0066d1853748160e4098253024e17e997983884d0d33a19",
+ "https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "f84f72423452968d5bbe02e297f188682c4759864a736a72b32acb3433db3a26",
+ "https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "8dfb4007d6912b2722946358ac69409592c1f03426d81971ffbcb6fc5fea2cb8",
+ "https://developer.download.nvidia.com/hpc-sdk/22.2/nvhpc_2022_222_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "22.1": {
+ "Linux-aarch64": (
+ "05cfa8c520a34eab01272a261b157d421a9ff7129fca7d859b944ce6a16d2255",
+ "https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "9fa9b64fba2c9b287b5800693417d8065c695d18cab0526bad41d9aecc8be2b3",
+ "https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "7e4366509ed9031ff271e73327dd3121909902a81ac436307801a5373efaff5e",
+ "https://developer.download.nvidia.com/hpc-sdk/22.1/nvhpc_2022_221_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.11": {
+ "Linux-aarch64": (
+ "3b11bcd9cca862fabfce1e7bcaa2050ea12130c7e897f4e7859ba4c155d20720",
+ "https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "ac51ed92de4eb5e1bdb064ada5bbace5b89ac732ad6c6473778edfb8d29a6527",
+ "https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "d8d8ccd0e558d22bcddd955f2233219c96f7de56aa8e09e7be833e384d32d6aa",
+ "https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.9": {
+ "Linux-aarch64": (
+ "52c2c66e30043add4afccedf0ba77daa0000bf42e0db844baa630bb635b91a7d",
+ "https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "cff0b55fb782be1982bfeec1d9763b674ddbf84ff2c16b364495299266320289",
+ "https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "7de6a6880fd7e59afe0dee51f1fae4d3bff1ca0fb8ee234b24e1f2fdff23ffc9",
+ "https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.7": {
+ "Linux-aarch64": (
+ "73eb3513845b59645f118b1e313472f54519dc252d5f5c32a05df2a2a8a19878",
+ "https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "37ea23b5a9c696fb3fdb82855643afc4e02aea618102ec801206441f10fc9fba",
+ "https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "49d6e23492d131474698cf12971722d42e13a54a4eddec382e66e1053b4ac902",
+ "https://developer.download.nvidia.com/hpc-sdk/21.7/nvhpc_2021_217_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.5": {
+ "Linux-aarch64": (
+ "1a1748cd7cf538199d92ab3b1208935fa4a62708ba21125aeadb328ddc7380d4",
+ "https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "4674931a5ce28724308cb9cebd546eefa3f0646d3d08adbea28ba5ad27f0c163",
+ "https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "21989e52c58a6914743631c8200de1fec7e10b3449c6c1833f3032ee74b85f8e",
+ "https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc_2021_215_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.3": {
+ "Linux-aarch64": (
+ "88e0dbf8fcdd06a2ba06aacf65ae1625b8683688f6593ed3bf8ce129ce1b17b7",
+ "https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "08cd0cd6c80d633f107b44f88685ada7f014fbf6eac19ef5ae4a7952cabe4037",
+ "https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "391d5604a70f61bdd4ca6a3e4692f6f2391948990c8a35c395b6867341890031",
+ "https://developer.download.nvidia.com/hpc-sdk/21.3/nvhpc_2021_213_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.2": {
+ "Linux-aarch64": (
+ "fe19c0232f7c9534f8699b7432483c9cc649f1e92e7f0961d1aa7c54d83297ff",
+ "https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "6b69b6e4ebec6a91b9f1627384c50adad79ebdd25dfb20a5f64cf01c3a07f11a",
+ "https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "a3e3393040185ae844002fbc6c8eb4ffdfb97ce8b2ce29d796fe7e9a521fdc59",
+ "https://developer.download.nvidia.com/hpc-sdk/21.2/nvhpc_2021_212_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "21.1": {
+ "Linux-aarch64": (
+ "b276e7c0ff78cee837a597d9136cd1d8ded27a9d1fdae1e7d674e2a072a9a6aa",
+ "https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "bc236c212097bac6b7d04d627d9cc6b75bb6cd473a0b6a1bf010559ce328a2b0",
+ "https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "d529daf46404724ac3f005be4239f2c30e53f5220bb9453f367dccc3a74d6b41",
+ "https://developer.download.nvidia.com/hpc-sdk/21.1/nvhpc_2021_211_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "20.11": {
+ "Linux-aarch64": (
+ "2f26ca45b07b694b8669e4f761760d4f7faa8d032b21e430adee1af0a27032c1",
+ "https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_aarch64_cuda_multi.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "99e5a5437e82f3914e0fe81feb761a5b599a3fe8b31f3c2cac8ae47e8cdc7b0f",
+ "https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "c80fc26e5ba586696f7030f03054c1aaca0752a891c7923faf47eb23b66857ec",
+ "https://developer.download.nvidia.com/hpc-sdk/20.11/nvhpc_2020_2011_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "20.9": {
+ "Linux-aarch64": (
+ "3bfb3d17f5ee99998bcc30d738e818d3b94b828e2d8da7db48bf152a01e22023",
+ "https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_aarch64_cuda_11.0.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "b2966d4047e1dfd981ce63b333ab9c0acbdc2a6a505fa217456ac9fa3b8e7474",
+ "https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "fe665ab611b03846a90bd70ca4e08c1e59ab527364b971ed0304e0ae73c778d8",
+ "https://developer.download.nvidia.com/hpc-sdk/20.9/nvhpc_2020_209_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
+ "20.7": {
+ "Linux-aarch64": (
+ "5b83ca1919199ac0aa609309b31c345c5a6453dd3131fddeef9e3ee9059a0e9b",
+ "https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_aarch64_cuda_11.0.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "800ead240bdf61611910b2f6df24ee1d7359377ff3767c923738dd81fcea9312",
+ "https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_ppc64le_cuda_multi.tar.gz",
+ ),
+ "Linux-x86_64": (
+ "a5c5c8726d2210f2310a852c6d6e03c9ef8c75e3643e9c94e24909f5e9c2ea7a",
+ "https://developer.download.nvidia.com/hpc-sdk/20.7/nvhpc_2020_207_Linux_x86_64_cuda_multi.tar.gz",
+ ),
+ },
}
@@ -99,8 +249,8 @@ class Nvhpc(Package):
homepage = "https://developer.nvidia.com/hpc-sdk"
- maintainers = ['samcmill']
- tags = ['e4s']
+ maintainers = ["samcmill"]
+ tags = ["e4s"]
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
@@ -108,58 +258,61 @@ class Nvhpc(Package):
if pkg:
version(ver, sha256=pkg[0], url=pkg[1])
- variant('blas', default=True,
- description="Enable BLAS")
- variant('install_type', default='single',
- values=('single', 'network'), multi=False,
- description='Network installs are for installations shared '
- 'by different operating systems')
- variant('lapack', default=True,
- description="Enable LAPACK")
- variant('mpi', default=False,
- description="Enable MPI")
-
- provides('blas', when='+blas')
- provides('lapack', when='+lapack')
- provides('mpi', when='+mpi')
+ variant("blas", default=True, description="Enable BLAS")
+ variant(
+ "install_type",
+ default="single",
+ values=("single", "network"),
+ multi=False,
+ description="Network installs are for installations shared "
+ "by different operating systems",
+ )
+ variant("lapack", default=True, description="Enable LAPACK")
+ variant("mpi", default=False, description="Enable MPI")
+
+ provides("blas", when="+blas")
+ provides("lapack", when="+lapack")
+ provides("mpi", when="+mpi")
# TODO: effectively gcc is a direct dependency of nvhpc, but we cannot express that
# properly. For now, add conflicts for non-gcc compilers instead.
for __compiler in spack.compilers.supported_compilers():
- if __compiler != 'gcc':
- conflicts('%{0}'.format(__compiler),
- msg='nvhpc must be installed with %gcc')
+ if __compiler != "gcc":
+ conflicts("%{0}".format(__compiler), msg="nvhpc must be installed with %gcc")
def _version_prefix(self):
- return join_path(
- self.prefix, 'Linux_%s' % self.spec.target.family, self.version)
+ return join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version)
def setup_build_environment(self, env):
- env.set('NVHPC_SILENT', 'true')
- env.set('NVHPC_ACCEPT_EULA', 'accept')
- env.set('NVHPC_INSTALL_DIR', self.prefix)
-
- if self.spec.variants['install_type'].value == 'network':
- local_dir = join_path(self._version_prefix(), 'share_objects')
- env.set('NVHPC_INSTALL_TYPE', 'network')
- env.set('NVHPC_INSTALL_LOCAL_DIR', local_dir)
+ env.set("NVHPC_SILENT", "true")
+ env.set("NVHPC_ACCEPT_EULA", "accept")
+ env.set("NVHPC_INSTALL_DIR", self.prefix)
+
+ if self.spec.variants["install_type"].value == "network":
+ local_dir = join_path(self._version_prefix(), "share_objects")
+ env.set("NVHPC_INSTALL_TYPE", "network")
+ env.set("NVHPC_INSTALL_LOCAL_DIR", local_dir)
else:
- env.set('NVHPC_INSTALL_TYPE', 'single')
+ env.set("NVHPC_INSTALL_TYPE", "single")
def install(self, spec, prefix):
- compilers_bin = join_path(self._version_prefix(), 'compilers', 'bin')
- install = Executable('./install')
- makelocalrc = Executable(join_path(compilers_bin, 'makelocalrc'))
+ compilers_bin = join_path(self._version_prefix(), "compilers", "bin")
+ install = Executable("./install")
+ makelocalrc = Executable(join_path(compilers_bin, "makelocalrc"))
makelocalrc_args = [
- '-gcc', self.compiler.cc,
- '-gpp', self.compiler.cxx,
- '-g77', self.compiler.f77,
- '-x', compilers_bin
+ "-gcc",
+ self.compiler.cc,
+ "-gpp",
+ self.compiler.cxx,
+ "-g77",
+ self.compiler.f77,
+ "-x",
+ compilers_bin,
]
- if self.spec.variants['install_type'].value == 'network':
- local_dir = join_path(self._version_prefix(), 'share_objects')
- makelocalrc_args.extend(['-net', local_dir])
+ if self.spec.variants["install_type"].value == "network":
+ local_dir = join_path(self._version_prefix(), "share_objects")
+ makelocalrc_args.extend(["-net", local_dir])
# Run install script
install()
@@ -168,65 +321,83 @@ class Nvhpc(Package):
makelocalrc(*makelocalrc_args)
def setup_run_environment(self, env):
- prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'compilers'))
-
- env.set('CC', join_path(prefix.bin, 'nvc'))
- env.set('CXX', join_path(prefix.bin, 'nvc++'))
- env.set('F77', join_path(prefix.bin, 'nvfortran'))
- env.set('FC', join_path(prefix.bin, 'nvfortran'))
-
- env.prepend_path('PATH', prefix.bin)
- env.prepend_path('LIBRARY_PATH', prefix.lib)
- env.prepend_path('LD_LIBRARY_PATH', prefix.lib)
- env.prepend_path('MANPATH', prefix.man)
-
- if '+mpi' in self.spec:
- mpi_prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'comm_libs', 'mpi'))
- env.prepend_path('PATH', mpi_prefix.bin)
- env.prepend_path('LD_LIBRARY_PATH', mpi_prefix.lib)
+ prefix = Prefix(
+ join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version, "compilers")
+ )
+
+ env.set("CC", join_path(prefix.bin, "nvc"))
+ env.set("CXX", join_path(prefix.bin, "nvc++"))
+ env.set("F77", join_path(prefix.bin, "nvfortran"))
+ env.set("FC", join_path(prefix.bin, "nvfortran"))
+
+ env.prepend_path("PATH", prefix.bin)
+ env.prepend_path("LIBRARY_PATH", prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", prefix.lib)
+ env.prepend_path("MANPATH", prefix.man)
+
+ if "+mpi" in self.spec:
+ mpi_prefix = Prefix(
+ join_path(
+ self.prefix,
+ "Linux_%s" % self.spec.target.family,
+ self.version,
+ "comm_libs",
+ "mpi",
+ )
+ )
+ env.prepend_path("PATH", mpi_prefix.bin)
+ env.prepend_path("LD_LIBRARY_PATH", mpi_prefix.lib)
def setup_dependent_build_environment(self, env, dependent_spec):
- prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'compilers'))
-
- env.prepend_path('LIBRARY_PATH', prefix.lib)
- env.prepend_path('LD_LIBRARY_PATH', prefix.lib)
-
- if '+mpi' in self.spec:
- mpi_prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'comm_libs', 'mpi'))
-
- env.prepend_path('LD_LIBRARY_PATH', mpi_prefix.lib)
+ prefix = Prefix(
+ join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version, "compilers")
+ )
+
+ env.prepend_path("LIBRARY_PATH", prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", prefix.lib)
+
+ if "+mpi" in self.spec:
+ mpi_prefix = Prefix(
+ join_path(
+ self.prefix,
+ "Linux_%s" % self.spec.target.family,
+ self.version,
+ "comm_libs",
+ "mpi",
+ )
+ )
+
+ env.prepend_path("LD_LIBRARY_PATH", mpi_prefix.lib)
def setup_dependent_package(self, module, dependent_spec):
- if '+mpi' in self.spec or self.provides('mpi'):
- mpi_prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'comm_libs', 'mpi'))
-
- self.spec.mpicc = join_path(mpi_prefix.bin, 'mpicc')
- self.spec.mpicxx = join_path(mpi_prefix.bin, 'mpicxx')
- self.spec.mpif77 = join_path(mpi_prefix.bin, 'mpif77')
- self.spec.mpifc = join_path(mpi_prefix.bin, 'mpif90')
+ if "+mpi" in self.spec or self.provides("mpi"):
+ mpi_prefix = Prefix(
+ join_path(
+ self.prefix,
+ "Linux_%s" % self.spec.target.family,
+ self.version,
+ "comm_libs",
+ "mpi",
+ )
+ )
+
+ self.spec.mpicc = join_path(mpi_prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(mpi_prefix.bin, "mpicxx")
+ self.spec.mpif77 = join_path(mpi_prefix.bin, "mpif77")
+ self.spec.mpifc = join_path(mpi_prefix.bin, "mpif90")
@property
def libs(self):
- prefix = Prefix(join_path(self.prefix,
- 'Linux_%s' % self.spec.target.family,
- self.version, 'compilers'))
+ prefix = Prefix(
+ join_path(self.prefix, "Linux_%s" % self.spec.target.family, self.version, "compilers")
+ )
libs = []
- if '+blas' in self.spec:
- libs.append('libblas')
+ if "+blas" in self.spec:
+ libs.append("libblas")
- if '+lapack' in self.spec:
- libs.append('liblapack')
- libs.append('libnvf')
+ if "+lapack" in self.spec:
+ libs.append("liblapack")
+ libs.append("libnvf")
return find_libraries(libs, root=prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/nvptx-tools/package.py b/var/spack/repos/builtin/packages/nvptx-tools/package.py
index 9519ff3ed3..6128f7835b 100644
--- a/var/spack/repos/builtin/packages/nvptx-tools/package.py
+++ b/var/spack/repos/builtin/packages/nvptx-tools/package.py
@@ -13,20 +13,20 @@ class NvptxTools(AutotoolsPackage):
GPUs."""
homepage = "https://github.com/MentorEmbedded/nvptx-tools"
- git = "https://github.com/MentorEmbedded/nvptx-tools"
+ git = "https://github.com/MentorEmbedded/nvptx-tools"
- version('2021-05-21', commit='d0524fbdc86dfca068db5a21cc78ac255b335be5')
- version('2018-03-01', commit='5f6f343a302d620b0868edab376c00b15741e39e')
+ version("2021-05-21", commit="d0524fbdc86dfca068db5a21cc78ac255b335be5")
+ version("2018-03-01", commit="5f6f343a302d620b0868edab376c00b15741e39e")
- depends_on('binutils')
- depends_on('cuda')
+ depends_on("binutils")
+ depends_on("cuda")
def configure_args(self):
- cuda_dir = self.spec['cuda'].prefix
+ cuda_dir = self.spec["cuda"].prefix
config_args = [
"--with-cuda-driver-include={0}".format(cuda_dir.include),
- "--with-cuda-driver-lib={0}".format(cuda_dir.lib64)
+ "--with-cuda-driver-lib={0}".format(cuda_dir.lib64),
]
return config_args
diff --git a/var/spack/repos/builtin/packages/nvshmem/package.py b/var/spack/repos/builtin/packages/nvshmem/package.py
index b2be2d2775..c6214f9d58 100644
--- a/var/spack/repos/builtin/packages/nvshmem/package.py
+++ b/var/spack/repos/builtin/packages/nvshmem/package.py
@@ -16,58 +16,58 @@ class Nvshmem(MakefilePackage, CudaPackage):
homepage = "https://developer.nvidia.com/nvshmem"
- maintainers = ['bvanessen']
-
- version('2.5.0-19', sha256='dd800b40f1d296e1d3ed2a9885adcfe745c3e57582bc809860e87bd32abcdc60')
- version('2.4.1-3', sha256='8b6c0eab321b6352911e470f9e81a777a49e58148ec3728453b9522446dba178')
- version('2.2.1-0', sha256='c8efc6cd560e0ed66d5fe4c5837c650247bec7b0dc65b5089deb8ab49658e1c3')
- version('2.1.2-0', sha256='367211808df99b4575fb901977d9f4347065c61a26642d65887f24d60342a4ec')
- version('2.0.3-0', sha256='20da93e8508511e21aaab1863cb4c372a3bec02307b932144a7d757ea5a1bad2')
-
- variant('cuda', default=True, description='Build with CUDA')
- variant('ucx', default=True, description='Build with UCX support')
- variant('nccl', default=True, description='Build with NCCL support')
- variant('gdrcopy', default=True, description='Build with gdrcopy support')
- variant('mpi', default=True, description='Build with MPI support')
- variant('shmem', default=False, description='Build with shmem support')
- conflicts('~cuda')
+ maintainers = ["bvanessen"]
+
+ version("2.5.0-19", sha256="dd800b40f1d296e1d3ed2a9885adcfe745c3e57582bc809860e87bd32abcdc60")
+ version("2.4.1-3", sha256="8b6c0eab321b6352911e470f9e81a777a49e58148ec3728453b9522446dba178")
+ version("2.2.1-0", sha256="c8efc6cd560e0ed66d5fe4c5837c650247bec7b0dc65b5089deb8ab49658e1c3")
+ version("2.1.2-0", sha256="367211808df99b4575fb901977d9f4347065c61a26642d65887f24d60342a4ec")
+ version("2.0.3-0", sha256="20da93e8508511e21aaab1863cb4c372a3bec02307b932144a7d757ea5a1bad2")
+
+ variant("cuda", default=True, description="Build with CUDA")
+ variant("ucx", default=True, description="Build with UCX support")
+ variant("nccl", default=True, description="Build with NCCL support")
+ variant("gdrcopy", default=True, description="Build with gdrcopy support")
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("shmem", default=False, description="Build with shmem support")
+ conflicts("~cuda")
def url_for_version(self, version):
- ver_str = '{0}'.format(version)
- directory = ver_str.split('-')[0]
+ ver_str = "{0}".format(version)
+ directory = ver_str.split("-")[0]
url_fmt = "https://developer.download.nvidia.com/compute/redist/nvshmem/{0}/source/nvshmem_src_{1}.txz"
return url_fmt.format(directory, version)
- depends_on('mpi', when='+mpi')
- depends_on('ucx', when='+ucx')
- depends_on('gdrcopy', when='+gdrcopy')
- depends_on('nccl', when='+nccl')
+ depends_on("mpi", when="+mpi")
+ depends_on("ucx", when="+ucx")
+ depends_on("gdrcopy", when="+gdrcopy")
+ depends_on("nccl", when="+nccl")
def setup_build_environment(self, env):
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
- env.set('NVSHMEM_PREFIX', self.prefix)
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
+ env.set("NVSHMEM_PREFIX", self.prefix)
- if '+ucx' in self.spec:
- env.set('NVSHMEM_UCX_SUPPORT', '1')
- env.set('UCX_HOME', self.spec['ucx'].prefix)
+ if "+ucx" in self.spec:
+ env.set("NVSHMEM_UCX_SUPPORT", "1")
+ env.set("UCX_HOME", self.spec["ucx"].prefix)
- if '+gdrcopy' in self.spec:
- env.set('NVSHMEM_USE_GDRCOPY', '1')
- env.set('GDRCOPY_HOME', self.spec['gdrcopy'].prefix)
+ if "+gdrcopy" in self.spec:
+ env.set("NVSHMEM_USE_GDRCOPY", "1")
+ env.set("GDRCOPY_HOME", self.spec["gdrcopy"].prefix)
- if '+nccl' in self.spec:
- env.set('NVSHMEM_USE_NCCL', '1')
- env.set('NCCL_HOME', self.spec['nccl'].prefix)
+ if "+nccl" in self.spec:
+ env.set("NVSHMEM_USE_NCCL", "1")
+ env.set("NCCL_HOME", self.spec["nccl"].prefix)
- if '+mpi' in self.spec:
- env.set('NVSHMEM_MPI_SUPPORT', '1')
- env.set('MPI_HOME', self.spec['mpi'].prefix)
+ if "+mpi" in self.spec:
+ env.set("NVSHMEM_MPI_SUPPORT", "1")
+ env.set("MPI_HOME", self.spec["mpi"].prefix)
- if self.spec.satisfies('^spectrum-mpi') or self.spec.satisfies('^openmpi'):
- env.set('NVSHMEM_MPI_IS_OMPI', '1')
+ if self.spec.satisfies("^spectrum-mpi") or self.spec.satisfies("^openmpi"):
+ env.set("NVSHMEM_MPI_IS_OMPI", "1")
else:
- env.set('NVSHMEM_MPI_IS_OMPI', '0')
+ env.set("NVSHMEM_MPI_IS_OMPI", "0")
- if '+shmem' in self.spec:
- env.set('NVSHMEM_SHMEM_SUPPORT', '1')
- env.set('SHMEM_HOME', self.spec['mpi'].prefix)
+ if "+shmem" in self.spec:
+ env.set("NVSHMEM_SHMEM_SUPPORT", "1")
+ env.set("SHMEM_HOME", self.spec["mpi"].prefix)
diff --git a/var/spack/repos/builtin/packages/nvtop/package.py b/var/spack/repos/builtin/packages/nvtop/package.py
index 57474892fe..8fbb159e8c 100644
--- a/var/spack/repos/builtin/packages/nvtop/package.py
+++ b/var/spack/repos/builtin/packages/nvtop/package.py
@@ -12,22 +12,29 @@ class Nvtop(CMakePackage, CudaPackage):
information about them in a htop familiar way"""
homepage = "https://github.com/Syllo/nvtop"
- url = "https://github.com/Syllo/nvtop/archive/refs/tags/2.0.2.zip"
+ url = "https://github.com/Syllo/nvtop/archive/refs/tags/2.0.2.zip"
- maintainers = ['marcost2']
+ maintainers = ["marcost2"]
- version('2.0.2', sha256='9a85c083e45be0a2d3e2135ce8df5a97340388fa7c72f086571826d501fec1de')
- version('2.0.1', sha256='ef18ce85d632eb1c22d3a3653976b2c088260039702df39fd0181f7cd3ae277d')
- version('2.0.0', sha256='1651f34274c334a682f280dcb2f28d9642d44c7b22afe8c431cab91345b50f31')
- version('1.2.2', sha256='543cbfdae3241fab1ea022402734c12e69d5988583193adaab69fdfae6e14c84')
- version('1.2.1', sha256='197992cdd0e2e151fce91a7ba56f717e4d85b317c396001e8dbd84dc2ba363cd')
+ version("2.0.2", sha256="9a85c083e45be0a2d3e2135ce8df5a97340388fa7c72f086571826d501fec1de")
+ version("2.0.1", sha256="ef18ce85d632eb1c22d3a3653976b2c088260039702df39fd0181f7cd3ae277d")
+ version("2.0.0", sha256="1651f34274c334a682f280dcb2f28d9642d44c7b22afe8c431cab91345b50f31")
+ version("1.2.2", sha256="543cbfdae3241fab1ea022402734c12e69d5988583193adaab69fdfae6e14c84")
+ version("1.2.1", sha256="197992cdd0e2e151fce91a7ba56f717e4d85b317c396001e8dbd84dc2ba363cd")
- variant('support', values=('nvidia', 'amd'), default='nvidia,amd', multi=True,
- description='Which GPU vendors to build support for')
+ variant(
+ "support",
+ values=("nvidia", "amd"),
+ default="nvidia,amd",
+ multi=True,
+ description="Which GPU vendors to build support for",
+ )
- depends_on('ncurses')
- depends_on('libdrm', when='support=amd')
+ depends_on("ncurses")
+ depends_on("libdrm", when="support=amd")
def cmake_args(self):
- return [self.define('NVIDIA_SUPPORT', self.spec.satisfies('support=nvidia')),
- self.define('AMDGPU_SUPPORT', self.spec.satisfies('support=amd'))]
+ return [
+ self.define("NVIDIA_SUPPORT", self.spec.satisfies("support=nvidia")),
+ self.define("AMDGPU_SUPPORT", self.spec.satisfies("support=amd")),
+ ]
diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py
index f0e8f1443a..98ea3fb341 100644
--- a/var/spack/repos/builtin/packages/nwchem/package.py
+++ b/var/spack/repos/builtin/packages/nwchem/package.py
@@ -13,69 +13,84 @@ class Nwchem(Package):
"""High-performance computational chemistry software"""
homepage = "https://nwchemgit.github.io"
- url = "https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-7.0.2-release.revision-b9985dfa-srconly.2020-10-12.tar.bz2"
-
- tags = ['ecp', 'ecp-apps']
-
- version('7.0.2', sha256='9bf913b811b97c8ed51bc5a02bf1c8e18456d0719c0a82b2e71223a596d945a7',
- url='https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-7.0.2-release.revision-b9985dfa-srconly.2020-10-12.tar.bz2')
- version('7.0.0', sha256='e3c6510627345be596f4079047e5e7b59e6c20599798ecfe122e3527f8ad6eb0',
- url='https://github.com/nwchemgit/nwchem/releases/download/v7.0.0-release/nwchem-7.0.0-release.revision-2c9a1c7c-srconly.2020-02-26.tar.bz2')
- version('6.8.1', sha256='fd20f9ca1b410270a815e77e052ec23552f828526cd252709f798f589b2a6431',
- url='https://github.com/nwchemgit/nwchem/releases/download/6.8.1-release/nwchem-6.8.1-release.revision-v6.8-133-ge032219-srconly.2018-06-14.tar.bz2')
-
- variant('openmp', default=False, description='Enables OpenMP support')
- variant('mpipr', default=False, description='Enables ARMCI with progress rank')
+ url = "https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-7.0.2-release.revision-b9985dfa-srconly.2020-10-12.tar.bz2"
+
+ tags = ["ecp", "ecp-apps"]
+
+ version(
+ "7.0.2",
+ sha256="9bf913b811b97c8ed51bc5a02bf1c8e18456d0719c0a82b2e71223a596d945a7",
+ url="https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-7.0.2-release.revision-b9985dfa-srconly.2020-10-12.tar.bz2",
+ )
+ version(
+ "7.0.0",
+ sha256="e3c6510627345be596f4079047e5e7b59e6c20599798ecfe122e3527f8ad6eb0",
+ url="https://github.com/nwchemgit/nwchem/releases/download/v7.0.0-release/nwchem-7.0.0-release.revision-2c9a1c7c-srconly.2020-02-26.tar.bz2",
+ )
+ version(
+ "6.8.1",
+ sha256="fd20f9ca1b410270a815e77e052ec23552f828526cd252709f798f589b2a6431",
+ url="https://github.com/nwchemgit/nwchem/releases/download/6.8.1-release/nwchem-6.8.1-release.revision-v6.8-133-ge032219-srconly.2018-06-14.tar.bz2",
+ )
+
+ variant("openmp", default=False, description="Enables OpenMP support")
+ variant("mpipr", default=False, description="Enables ARMCI with progress rank")
# This patch is for the modification of the build system (e.g. compiler flags) and
# Fortran syntax to enable the compilation with Fujitsu compilers. The modification
# will be merged to the next release of NWChem (see https://github.com/nwchemgit/nwchem/issues/347
# for more detail.
- patch('fj.patch', when='@7.0.2 %fj')
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi')
- depends_on('scalapack')
- depends_on('fftw-api')
- depends_on('python@3:', when='@7:', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8', when='@:6', type=('build', 'link', 'run'))
- conflicts('%gcc@10:', when='@:6', msg='NWChem versions prior to 7.0.0 do not build with GCC 10')
+ patch("fj.patch", when="@7.0.2 %fj")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi")
+ depends_on("scalapack")
+ depends_on("fftw-api")
+ depends_on("python@3:", when="@7:", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8", when="@:6", type=("build", "link", "run"))
+ conflicts(
+ "%gcc@10:", when="@:6", msg="NWChem versions prior to 7.0.0 do not build with GCC 10"
+ )
def install(self, spec, prefix):
- scalapack = spec['scalapack'].libs
- lapack = spec['lapack'].libs
- blas = spec['blas'].libs
- fftw = spec['fftw-api'].libs
+ scalapack = spec["scalapack"].libs
+ lapack = spec["lapack"].libs
+ blas = spec["blas"].libs
+ fftw = spec["fftw-api"].libs
# see https://nwchemgit.github.io/Compiling-NWChem.html
args = []
- args.extend([
- 'NWCHEM_TOP=%s' % self.stage.source_path,
- # NWCHEM is picky about FC and CC. They should NOT be full path.
- # see https://nwchemgit.github.io/Special_AWCforum/sp/id7524
- 'CC=%s' % os.path.basename(spack_cc),
- 'FC=%s' % os.path.basename(spack_fc),
- 'USE_MPI=y',
- 'USE_BLAS=y',
- 'USE_FFTW3=y',
- 'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
- 'BLASOPT=%s' % ((lapack + blas).ld_flags),
- 'BLAS_LIB=%s' % blas.ld_flags,
- 'LAPACK_LIB=%s' % lapack.ld_flags,
- 'SCALAPACK_LIB=%s' % scalapack.ld_flags,
- 'FFTW3_LIB=%s' % fftw.ld_flags,
- 'FFTW3_INCLUDE={0}'.format(spec['fftw-api'].prefix.include),
- 'NWCHEM_MODULES=all python',
- 'NWCHEM_LONG_PATHS=Y', # by default NWCHEM_TOP is 64 char max
- 'USE_NOIO=Y', # skip I/O algorithms
- 'USE_NOFSCHECK=TRUE' # FSCHECK, caused problems like code crashes
- ])
- if spec.version < Version('7.0.0'):
- args.extend([
- 'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
- 'PYTHONHOME=%s' % spec['python'].home,
- 'USE_PYTHONCONFIG=Y',
- ])
+ args.extend(
+ [
+ "NWCHEM_TOP=%s" % self.stage.source_path,
+ # NWCHEM is picky about FC and CC. They should NOT be full path.
+ # see https://nwchemgit.github.io/Special_AWCforum/sp/id7524
+ "CC=%s" % os.path.basename(spack_cc),
+ "FC=%s" % os.path.basename(spack_fc),
+ "USE_MPI=y",
+ "USE_BLAS=y",
+ "USE_FFTW3=y",
+ "PYTHONVERSION=%s" % spec["python"].version.up_to(2),
+ "BLASOPT=%s" % ((lapack + blas).ld_flags),
+ "BLAS_LIB=%s" % blas.ld_flags,
+ "LAPACK_LIB=%s" % lapack.ld_flags,
+ "SCALAPACK_LIB=%s" % scalapack.ld_flags,
+ "FFTW3_LIB=%s" % fftw.ld_flags,
+ "FFTW3_INCLUDE={0}".format(spec["fftw-api"].prefix.include),
+ "NWCHEM_MODULES=all python",
+ "NWCHEM_LONG_PATHS=Y", # by default NWCHEM_TOP is 64 char max
+ "USE_NOIO=Y", # skip I/O algorithms
+ "USE_NOFSCHECK=TRUE", # FSCHECK, caused problems like code crashes
+ ]
+ )
+ if spec.version < Version("7.0.0"):
+ args.extend(
+ [
+ "PYTHONVERSION=%s" % spec["python"].version.up_to(2),
+ "PYTHONHOME=%s" % spec["python"].home,
+ "USE_PYTHONCONFIG=Y",
+ ]
+ )
# TODO: query if blas/lapack/scalapack uses 64bit Ints
# A flag to distinguish between 32bit and 64bit integers in linear
@@ -83,57 +98,43 @@ class Nwchem(Package):
use_32_bit_lin_alg = True
if use_32_bit_lin_alg:
- args.extend([
- 'USE_64TO32=y',
- 'BLAS_SIZE=4',
- 'LAPACK_SIZE=4',
- 'SCALAPACK_SIZE=4'
- ])
+ args.extend(["USE_64TO32=y", "BLAS_SIZE=4", "LAPACK_SIZE=4", "SCALAPACK_SIZE=4"])
else:
- args.extend([
- 'BLAS_SIZE=8',
- 'LAPACK_SIZE=8'
- 'SCALAPACK_SIZE=8'
- ])
-
- if sys.platform == 'darwin':
- target = 'MACX64'
- args.extend([
- 'CFLAGS_FORGA=-DMPICH_NO_ATTR_TYPE_TAGS'
- ])
+ args.extend(["BLAS_SIZE=8", "LAPACK_SIZE=8" "SCALAPACK_SIZE=8"])
+
+ if sys.platform == "darwin":
+ target = "MACX64"
+ args.extend(["CFLAGS_FORGA=-DMPICH_NO_ATTR_TYPE_TAGS"])
else:
- target = 'LINUX64'
+ target = "LINUX64"
- args.extend(['NWCHEM_TARGET=%s' % target])
+ args.extend(["NWCHEM_TARGET=%s" % target])
- if '+openmp' in spec:
- args.extend(['USE_OPENMP=y'])
+ if "+openmp" in spec:
+ args.extend(["USE_OPENMP=y"])
- if '+mpipr' in spec:
- args.extend(['ARMCI_NETWORK=MPI-PR'])
+ if "+mpipr" in spec:
+ args.extend(["ARMCI_NETWORK=MPI-PR"])
- with working_dir('src'):
- make('nwchem_config', *args)
+ with working_dir("src"):
+ make("nwchem_config", *args)
if use_32_bit_lin_alg:
- make('64_to_32', *args)
+ make("64_to_32", *args)
make(*args)
# need to install by hand. Follow Ubuntu:
# https://packages.ubuntu.com/trusty/all/nwchem-data/filelist
# https://packages.ubuntu.com/trusty/amd64/nwchem/filelist
- share_path = join_path(prefix, 'share', 'nwchem')
+ share_path = join_path(prefix, "share", "nwchem")
mkdirp(prefix.bin)
- install_tree('data', share_path)
- install_tree(join_path('basis', 'libraries'),
- join_path(share_path, 'libraries'))
- install_tree(join_path('nwpw', 'libraryps'),
- join_path(share_path, 'libraryps'))
+ install_tree("data", share_path)
+ install_tree(join_path("basis", "libraries"), join_path(share_path, "libraries"))
+ install_tree(join_path("nwpw", "libraryps"), join_path(share_path, "libraryps"))
- b_path = join_path(self.stage.source_path, 'bin',
- target, 'nwchem')
- chmod = which('chmod')
- chmod('+x', b_path)
+ b_path = join_path(self.stage.source_path, "bin", target, "nwchem")
+ chmod = which("chmod")
+ chmod("+x", b_path)
install(b_path, prefix.bin)
# Finally, make user's life easier by creating a .nwchemrc file
@@ -149,15 +150,13 @@ class Nwchem(Package):
spce {data}/solvents/spce.rst
charmm_s {data}/charmm_s/
charmm_x {data}/charmm_x/
-""".format(data=share_path)
- with open(".nwchemrc", 'w') as f:
+""".format(
+ data=share_path
+ )
+ with open(".nwchemrc", "w") as f:
f.write(nwchemrc)
install(".nwchemrc", share_path)
def setup_run_environment(self, env):
- env.set('NWCHEM_BASIS_LIBRARY', join_path(
- self.prefix,
- 'share/nwchem/libraries/'))
- env.set('NWCHEM_NWPW_LIBRARY', join_path(
- self.prefix,
- 'share/nwchem/libraryps/'))
+ env.set("NWCHEM_BASIS_LIBRARY", join_path(self.prefix, "share/nwchem/libraries/"))
+ env.set("NWCHEM_NWPW_LIBRARY", join_path(self.prefix, "share/nwchem/libraryps/"))
diff --git a/var/spack/repos/builtin/packages/nyancat/package.py b/var/spack/repos/builtin/packages/nyancat/package.py
index d62ab428cf..19ede10899 100644
--- a/var/spack/repos/builtin/packages/nyancat/package.py
+++ b/var/spack/repos/builtin/packages/nyancat/package.py
@@ -9,28 +9,22 @@ class Nyancat(MakefilePackage):
"""Nyancat in your terminal, rendered through ANSI escape sequences."""
homepage = "https://nyancat.dakko.us/"
- url = "https://github.com/klange/nyancat/archive/1.5.1.tar.gz"
+ url = "https://github.com/klange/nyancat/archive/1.5.1.tar.gz"
- version('1.5.2', sha256='88cdcaa9c7134503dd0364a97fa860da3381a09cb555c3aae9918360827c2032')
- version('1.5.1', sha256='c948c769d230b4e41385173540ae8ab1f36176de689b6e2d6ed3500e9179b50a')
- version('1.5.0', sha256='9ae4f740060b77bba815d8d4e97712d822bd0812a118b88b7fd6b4136a971bce')
- version('1.4.5', sha256='b26d752b95088be9d5caa73daea884572c0fc836ba55f0062e4d975301c4c661')
+ version("1.5.2", sha256="88cdcaa9c7134503dd0364a97fa860da3381a09cb555c3aae9918360827c2032")
+ version("1.5.1", sha256="c948c769d230b4e41385173540ae8ab1f36176de689b6e2d6ed3500e9179b50a")
+ version("1.5.0", sha256="9ae4f740060b77bba815d8d4e97712d822bd0812a118b88b7fd6b4136a971bce")
+ version("1.4.5", sha256="b26d752b95088be9d5caa73daea884572c0fc836ba55f0062e4d975301c4c661")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
makefile.filter(
- r'install src/nyancat /usr/bin/\${package}',
- 'install src/nyancat {0}/{1}'.format(
- prefix.bin,
- '${package}'
- )
+ r"install src/nyancat /usr/bin/\${package}",
+ "install src/nyancat {0}/{1}".format(prefix.bin, "${package}"),
)
makefile.filter(
- 'gzip -9 -c < nyancat.1 > /usr/share/man/man1/nyancat.1.gz',
- 'gzip -9 -c < {1}.1 > {0}/{1}.1.gz'.format(
- prefix.man.man1,
- '${package}'
- )
+ "gzip -9 -c < nyancat.1 > /usr/share/man/man1/nyancat.1.gz",
+ "gzip -9 -c < {1}.1 > {0}/{1}.1.gz".format(prefix.man.man1, "${package}"),
)
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
diff --git a/var/spack/repos/builtin/packages/ocaml/package.py b/var/spack/repos/builtin/packages/ocaml/package.py
index 920529e54f..db4da4effb 100644
--- a/var/spack/repos/builtin/packages/ocaml/package.py
+++ b/var/spack/repos/builtin/packages/ocaml/package.py
@@ -8,70 +8,69 @@ from spack.package import *
class Ocaml(Package):
"""OCaml is an industrial strength programming language supporting
- functional, imperative and object-oriented styles"""
+ functional, imperative and object-oriented styles"""
homepage = "https://ocaml.org/"
- url = "https://caml.inria.fr/pub/distrib/ocaml-4.06/ocaml-4.06.0.tar.gz"
+ url = "https://caml.inria.fr/pub/distrib/ocaml-4.06/ocaml-4.06.0.tar.gz"
- maintainers = ['scemama']
- version('4.13.1', sha256='66a5353c5e7b33a8981446e857657aad45a3b82080ea5c67d4baa434eacfcf5f')
- version('4.12.0', sha256='9825e5903b852a7a5edb71a1ed68f5d5d55d6417e2dda514dda602bc6efeed7b')
- version('4.11.0', sha256='b5bd04bf794a676389b167633f01f8275acdd853149b137f7575f2c2ddef1377')
- version('4.10.0', sha256='58d431dde66f5750ebe9b15d5a1c4872f80d283dec23448689b0d1a498b7e4c7')
- version('4.09.0', sha256='2b728f8a0e90da14f22fdc04660f2ab33819cdbb12bff0ceae3fdbb0133cf7a6')
- version('4.08.1', sha256='ee50118ee88472fd4b64311fa560f8f8ab66a1899f0117815c69a16070980f78')
- version('4.08.0', sha256='e6e244f893f2070ebcdeac0637fbe2054fd82deebefefa3e3ed85a405cd4ecd8')
- version('4.07.1', sha256='2ad43be17ed5c74ea27887ae0cc4793b835408180c0b9175bc9ad53082a59af4')
- version('4.07.0', sha256='50e10b0c4e28300cb889e56839ec9e07e2847a85e04bfbd5a7ed0290b7239ef8')
- version('4.06.1', sha256='0c38c6f531103e87fab1c218a7e76287d7cb4d7ee4dea64e7f85952af3b1b50e')
- version('4.06.0', sha256='c17578e243c4b889fe53a104d8927eb8749c7be2e6b622db8b3c7b386723bf50')
- version('4.03.0', sha256='7fdf280cc6c0a2de4fc9891d0bf4633ea417046ece619f011fd44540fcfc8da2')
+ maintainers = ["scemama"]
+ version("4.13.1", sha256="66a5353c5e7b33a8981446e857657aad45a3b82080ea5c67d4baa434eacfcf5f")
+ version("4.12.0", sha256="9825e5903b852a7a5edb71a1ed68f5d5d55d6417e2dda514dda602bc6efeed7b")
+ version("4.11.0", sha256="b5bd04bf794a676389b167633f01f8275acdd853149b137f7575f2c2ddef1377")
+ version("4.10.0", sha256="58d431dde66f5750ebe9b15d5a1c4872f80d283dec23448689b0d1a498b7e4c7")
+ version("4.09.0", sha256="2b728f8a0e90da14f22fdc04660f2ab33819cdbb12bff0ceae3fdbb0133cf7a6")
+ version("4.08.1", sha256="ee50118ee88472fd4b64311fa560f8f8ab66a1899f0117815c69a16070980f78")
+ version("4.08.0", sha256="e6e244f893f2070ebcdeac0637fbe2054fd82deebefefa3e3ed85a405cd4ecd8")
+ version("4.07.1", sha256="2ad43be17ed5c74ea27887ae0cc4793b835408180c0b9175bc9ad53082a59af4")
+ version("4.07.0", sha256="50e10b0c4e28300cb889e56839ec9e07e2847a85e04bfbd5a7ed0290b7239ef8")
+ version("4.06.1", sha256="0c38c6f531103e87fab1c218a7e76287d7cb4d7ee4dea64e7f85952af3b1b50e")
+ version("4.06.0", sha256="c17578e243c4b889fe53a104d8927eb8749c7be2e6b622db8b3c7b386723bf50")
+ version("4.03.0", sha256="7fdf280cc6c0a2de4fc9891d0bf4633ea417046ece619f011fd44540fcfc8da2")
- patch('fix-duplicate-defs.patch', when="@4.08.0:4.09.0 %gcc@10.0:")
+ patch("fix-duplicate-defs.patch", when="@4.08.0:4.09.0 %gcc@10.0:")
# #9969, #9981: Added mergeable flag to ELF sections containing mergeable
# constants. Fixes compatibility with the integrated assembler in clang 11.0.0.
# (Jacob Young, review by Nicolas Ojeda Bar)
- patch('https://github.com/ocaml/ocaml/pull/9981.patch?full_index=1',
- sha256='12700c697f0d5227e8eddd62e4308ec3cd67c0a5a5a1b7eec376686a5fd63a5c',
- when="@:4.11.0 %clang@11:")
- depends_on('ncurses')
+ patch(
+ "https://github.com/ocaml/ocaml/pull/9981.patch?full_index=1",
+ sha256="12700c697f0d5227e8eddd62e4308ec3cd67c0a5a5a1b7eec376686a5fd63a5c",
+ when="@:4.11.0 %clang@11:",
+ )
+ depends_on("ncurses")
- sanity_check_file = ['bin/ocaml']
+ sanity_check_file = ["bin/ocaml"]
- variant(
- 'force-safe-string', default=True,
- description='Enforce safe (immutable) strings'
- )
+ variant("force-safe-string", default=True, description="Enforce safe (immutable) strings")
def url_for_version(self, version):
url = "http://caml.inria.fr/pub/distrib/ocaml-{0}/ocaml-{1}.tar.gz"
return url.format(str(version)[:-2], version)
def install(self, spec, prefix):
- base_args = ['-prefix', '{0}'.format(prefix)]
+ base_args = ["-prefix", "{0}".format(prefix)]
- if self.spec.satisfies('~force-safe-string'):
- base_args += ['--disable-force-safe-string']
+ if self.spec.satisfies("~force-safe-string"):
+ base_args += ["--disable-force-safe-string"]
# This patch is aarch64-linux-fj only.
# However, similar patch is needed for other arch/OS/compiler
# to use correct assembler. (See #17918)
- if self.spec.satisfies('%fj'):
+ if self.spec.satisfies("%fj"):
filter_file(
'aspp="${toolpref}clang -c -Wno-trigraphs"',
'aspp="{0} -c"'.format(spack_cc),
- 'configure',
- string=True
+ "configure",
+ string=True,
)
- if self.spec.satisfies('@4.11.0:'):
+ if self.spec.satisfies("@4.11.0:"):
filter_file(
'as="${toolpref}clang -c -Wno-trigraphs"',
'as="${toolpref}as"',
- 'configure',
- string=True
+ "configure",
+ string=True,
)
configure(*(base_args))
- make('world.opt')
- make('install', 'PREFIX={0}'.format(prefix))
+ make("world.opt")
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/ocamlbuild/package.py b/var/spack/repos/builtin/packages/ocamlbuild/package.py
index fb0e5fe4af..eac4b6266b 100644
--- a/var/spack/repos/builtin/packages/ocamlbuild/package.py
+++ b/var/spack/repos/builtin/packages/ocamlbuild/package.py
@@ -8,34 +8,34 @@ from spack.package import *
class Ocamlbuild(MakefilePackage):
"""OCamlbuild is a generic build tool,
- that has built-in rules for building OCaml library and programs."""
+ that has built-in rules for building OCaml library and programs."""
# Add a proper url for your package's homepage here.
homepage = "https://ocaml.org/learn/tutorials/ocamlbuild/"
- url = "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz"
- git = "https://github.com/ocaml/ocamlbuild/ocamlbuild.git"
+ url = "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz"
+ git = "https://github.com/ocaml/ocamlbuild/ocamlbuild.git"
# Add a list of GitHub accounts to
# notify when the package is updated.
- maintainers = ['scemama', 'cessenat']
+ maintainers = ["scemama", "cessenat"]
# Add proper versions here.
- version('master', branch='master')
- version('0.14.0', sha256='87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78')
- version('0.13.1', sha256='79839544bcaebc8f9f0d73d029e2b67e2c898bba046c559ea53de81ea763408c')
+ version("master", branch="master")
+ version("0.14.0", sha256="87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78")
+ version("0.13.1", sha256="79839544bcaebc8f9f0d73d029e2b67e2c898bba046c559ea53de81ea763408c")
# Add dependencies if required.
- depends_on('ocaml')
+ depends_on("ocaml")
# Installation : https://github.com/ocaml/ocamlbuild/
def edit(self, spec, prefix):
makefile_inc = [
- 'BINDIR = bin',
- 'LIBDIR = lib',
- 'MANDIR = man',
+ "BINDIR = bin",
+ "LIBDIR = lib",
+ "MANDIR = man",
]
- makefile_inc.append('OCAML_PREFIX = %s' % self.spec['ocaml'].prefix)
- makefile_inc.append('DESTDIR = %s/' % self.spec.prefix)
- with open('Makefile.config', 'a') as fh:
- fh.write('\n'.join(makefile_inc))
- make('configure')
+ makefile_inc.append("OCAML_PREFIX = %s" % self.spec["ocaml"].prefix)
+ makefile_inc.append("DESTDIR = %s/" % self.spec.prefix)
+ with open("Makefile.config", "a") as fh:
+ fh.write("\n".join(makefile_inc))
+ make("configure")
diff --git a/var/spack/repos/builtin/packages/occa/package.py b/var/spack/repos/builtin/packages/occa/package.py
index fa62c4f66e..763b2a6629 100644
--- a/var/spack/repos/builtin/packages/occa/package.py
+++ b/var/spack/repos/builtin/packages/occa/package.py
@@ -8,67 +8,62 @@ from spack.package import *
class Occa(Package):
"""OCCA is an open-source (MIT license) library used to program current
- multi-core/many-core architectures. Devices (such as CPUs, GPUs,
- Intel's Xeon Phi, FPGAs, etc) are abstracted using an offload-model
- for application development and programming for the devices is done
- through a C-based (OKL) or Fortran-based kernel language (OFL).
- OCCA gives developers the ability to target devices at run-time by
- using run-time compilation for device kernels.
+ multi-core/many-core architectures. Devices (such as CPUs, GPUs,
+ Intel's Xeon Phi, FPGAs, etc) are abstracted using an offload-model
+ for application development and programming for the devices is done
+ through a C-based (OKL) or Fortran-based kernel language (OFL).
+ OCCA gives developers the ability to target devices at run-time by
+ using run-time compilation for device kernels.
"""
homepage = "https://libocca.org"
- git = 'https://github.com/libocca/occa.git'
-
- maintainers = ['v-dobrev', 'dmed256']
-
- version('develop')
- version('1.2.0', tag='v1.2.0', commit='18379073b6497f677a20bfeced95b511f82c3355')
- version('1.1.0', tag='v1.1.0', commit='c8a587666a23e045f25dc871c3257364a5f6a7d5')
- version('1.0.9', tag='v1.0.9', commit='ebdb659c804f91f1e0f32fd700f9fe229458033c')
- version('1.0.8', tag='v1.0.8', commit='55264f6b3d426f160dcf1f768c42d16d3ec14676')
- version('1.0.0-alpha.5', tag='v1.0.0-alpha.5', commit='882ed5f92a40e60a80721727c350557be0ce6373')
- version('0.2.0', tag='v0.2.0', commit='2eceaa5706ad6cf3a1b153c1f2a8a2fffa2d5945')
- version('0.1.0', tag='v0.1.0', commit='381e886886dc87823769c5f20d0ecb29dd117afa')
-
- variant('cuda',
- default=True,
- description='Activates support for CUDA')
- variant('openmp',
- default=True,
- description='Activates support for OpenMP')
- variant('opencl',
- default=True,
- description='Activates support for OpenCL')
-
- depends_on('cuda', when='+cuda')
-
- conflicts('%gcc@6:', when='^cuda@:8')
- conflicts('%gcc@7:', when='^cuda@:9')
+ git = "https://github.com/libocca/occa.git"
+
+ maintainers = ["v-dobrev", "dmed256"]
+
+ version("develop")
+ version("1.2.0", tag="v1.2.0", commit="18379073b6497f677a20bfeced95b511f82c3355")
+ version("1.1.0", tag="v1.1.0", commit="c8a587666a23e045f25dc871c3257364a5f6a7d5")
+ version("1.0.9", tag="v1.0.9", commit="ebdb659c804f91f1e0f32fd700f9fe229458033c")
+ version("1.0.8", tag="v1.0.8", commit="55264f6b3d426f160dcf1f768c42d16d3ec14676")
+ version(
+ "1.0.0-alpha.5", tag="v1.0.0-alpha.5", commit="882ed5f92a40e60a80721727c350557be0ce6373"
+ )
+ version("0.2.0", tag="v0.2.0", commit="2eceaa5706ad6cf3a1b153c1f2a8a2fffa2d5945")
+ version("0.1.0", tag="v0.1.0", commit="381e886886dc87823769c5f20d0ecb29dd117afa")
+
+ variant("cuda", default=True, description="Activates support for CUDA")
+ variant("openmp", default=True, description="Activates support for OpenMP")
+ variant("opencl", default=True, description="Activates support for OpenCL")
+
+ depends_on("cuda", when="+cuda")
+
+ conflicts("%gcc@6:", when="^cuda@:8")
+ conflicts("%gcc@7:", when="^cuda@:9")
def install(self, spec, prefix):
# The build environment is set by the 'setup_build_environment' method.
# Copy the source to the installation directory and build OCCA there.
- install_tree('.', prefix)
- make('-C', prefix)
+ install_tree(".", prefix)
+ make("-C", prefix)
if self.run_tests:
- make('-C', prefix, 'test', parallel=False)
+ make("-C", prefix, "test", parallel=False)
def _setup_runtime_flags(self, s_env):
spec = self.spec
- s_env.set('OCCA_DIR', self.prefix)
- s_env.set('OCCA_CXX', self.compiler.cxx)
+ s_env.set("OCCA_DIR", self.prefix)
+ s_env.set("OCCA_CXX", self.compiler.cxx)
- cxxflags = spec.compiler_flags['cxxflags']
+ cxxflags = spec.compiler_flags["cxxflags"]
if cxxflags:
# Run-time compiler flags:
- s_env.set('OCCA_CXXFLAGS', ' '.join(cxxflags))
+ s_env.set("OCCA_CXXFLAGS", " ".join(cxxflags))
- if '+cuda' in spec:
- cuda_dir = spec['cuda'].prefix
+ if "+cuda" in spec:
+ cuda_dir = spec["cuda"].prefix
# Run-time CUDA compiler:
- s_env.set('OCCA_CUDA_COMPILER',
- join_path(cuda_dir, 'bin', 'nvcc'))
+ s_env.set("OCCA_CUDA_COMPILER", join_path(cuda_dir, "bin", "nvcc"))
def setup_build_environment(self, env):
spec = self.spec
@@ -82,34 +77,31 @@ class Occa(Package):
# get the cxxflags twice - once from the Spack compiler wrapper and
# second time from OCCA - however, only the second one will be seen in
# the verbose output, so we keep both.
- cxxflags = spec.compiler_flags['cxxflags']
+ cxxflags = spec.compiler_flags["cxxflags"]
if cxxflags:
- env.set('CXXFLAGS', ' '.join(cxxflags))
+ env.set("CXXFLAGS", " ".join(cxxflags))
# For the cuda, openmp, and opencl variants, set the environment
# variable OCCA_{CUDA,OPENMP,OPENCL}_ENABLED only if the variant is
# disabled. Otherwise, let OCCA autodetect what is available.
- if '+cuda' in spec:
- cuda_dir = spec['cuda'].prefix
- cuda_libs_list = ['libcuda', 'libcudart', 'libOpenCL']
- cuda_libs = find_libraries(cuda_libs_list,
- cuda_dir,
- shared=True,
- recursive=True)
- env.set('OCCA_INCLUDE_PATH', cuda_dir.include)
- env.set('OCCA_LIBRARY_PATH', ':'.join(cuda_libs.directories))
+ if "+cuda" in spec:
+ cuda_dir = spec["cuda"].prefix
+ cuda_libs_list = ["libcuda", "libcudart", "libOpenCL"]
+ cuda_libs = find_libraries(cuda_libs_list, cuda_dir, shared=True, recursive=True)
+ env.set("OCCA_INCLUDE_PATH", cuda_dir.include)
+ env.set("OCCA_LIBRARY_PATH", ":".join(cuda_libs.directories))
else:
- env.set('OCCA_CUDA_ENABLED', '0')
+ env.set("OCCA_CUDA_ENABLED", "0")
# Disable hip autodetection for now since it fails on some machines.
- env.set('OCCA_HIP_ENABLED', '0')
+ env.set("OCCA_HIP_ENABLED", "0")
- if '~opencl' in spec:
- env.set('OCCA_OPENCL_ENABLED', '0')
+ if "~opencl" in spec:
+ env.set("OCCA_OPENCL_ENABLED", "0")
# Setup run-time environment for testing.
- env.set('OCCA_VERBOSE', '1')
+ env.set("OCCA_VERBOSE", "1")
self._setup_runtime_flags(env)
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/oce/package.py b/var/spack/repos/builtin/packages/oce/package.py
index aff0afb9ed..4b0e19b9ad 100644
--- a/var/spack/repos/builtin/packages/oce/package.py
+++ b/var/spack/repos/builtin/packages/oce/package.py
@@ -14,26 +14,25 @@ class Oce(Package):
patches/improvements/experiments contributed by users over the official
Open CASCADE library.
"""
+
homepage = "https://github.com/tpaviot/oce"
url = "https://github.com/tpaviot/oce/archive/OCE-0.18.tar.gz"
- version('0.18.3', sha256='c553d6a7bf52f790abc3b6bb7a1e91a65947e92a426bb1a88a11960c31f0966c')
- version('0.18.2', sha256='dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef')
- version('0.18.1', sha256='1acf5da4bffa3592ca9f3535af9b927b79fcfeadcb81e9963e89aec192929a6c')
- version('0.18', sha256='226e45e77c16a4a6e127c71fefcd171410703960ae75c7ecc7eb68895446a993')
- version('0.17.2', sha256='8d9995360cd531cbd4a7aa4ca5ed969f08ec7c7a37755e2f3d4ef832c1b2f56e')
- version('0.17.1', sha256='b1ff0cb8cf31339bbb30ac7ed2415d376b9b75810279d2f497e115f08c090928')
- version('0.17', sha256='9ab0dc2a2d125b46cef458b56c6d171dfe2218d825860d616c5ab17994b8f74d')
- version('0.16.1', sha256='d31030c8da4a1b33f767d0d59895a995c8eabc8fc65cbe0558734f6021ea2f57')
- version('0.16', sha256='841fe4337a5a4e733e36a2efc4fe60a4e6e8974917028df05d47a02f59787515')
+ version("0.18.3", sha256="c553d6a7bf52f790abc3b6bb7a1e91a65947e92a426bb1a88a11960c31f0966c")
+ version("0.18.2", sha256="dc21ddea678a500ad87c773e9a502ed7a71768cf83d9af0bd4c43294186a7fef")
+ version("0.18.1", sha256="1acf5da4bffa3592ca9f3535af9b927b79fcfeadcb81e9963e89aec192929a6c")
+ version("0.18", sha256="226e45e77c16a4a6e127c71fefcd171410703960ae75c7ecc7eb68895446a993")
+ version("0.17.2", sha256="8d9995360cd531cbd4a7aa4ca5ed969f08ec7c7a37755e2f3d4ef832c1b2f56e")
+ version("0.17.1", sha256="b1ff0cb8cf31339bbb30ac7ed2415d376b9b75810279d2f497e115f08c090928")
+ version("0.17", sha256="9ab0dc2a2d125b46cef458b56c6d171dfe2218d825860d616c5ab17994b8f74d")
+ version("0.16.1", sha256="d31030c8da4a1b33f767d0d59895a995c8eabc8fc65cbe0558734f6021ea2f57")
+ version("0.16", sha256="841fe4337a5a4e733e36a2efc4fe60a4e6e8974917028df05d47a02f59787515")
- variant('tbb', default=True,
- description='Build with Intel Threading Building Blocks')
- variant('X11', default=False,
- description='Build with X11 enabled')
+ variant("tbb", default=True, description="Build with Intel Threading Building Blocks")
+ variant("X11", default=False, description="Build with X11 enabled")
- depends_on('cmake@2.8:', type='build')
- depends_on('tbb', when='+tbb')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("tbb", when="+tbb")
# There is a bug in OCE which appears with Clang (version?) or GCC 6.0
# and has to do with compiler optimization, see
@@ -41,53 +40,53 @@ class Oce(Package):
# https://tracker.dev.opencascade.org/view.php?id=26042
# https://github.com/tpaviot/oce/issues/605
# https://github.com/tpaviot/oce/commit/61cb965b9ffeca419005bc15e635e67589c421dd.patch
- patch('null.patch', when='@0.16:0.17.1')
+ patch("null.patch", when="@0.16:0.17.1")
# OCE depends on xlocale.h from glibc-headers but it was removed in 2.26,
# see https://github.com/tpaviot/oce/issues/675
- patch('xlocale.patch', level=0, when='@0.18.1:0.18.2')
+ patch("xlocale.patch", level=0, when="@0.18.1:0.18.2")
# fix build with Xcode 8 "previous definition of CLOCK_REALTIME"
# reported 27 Sep 2016 https://github.com/tpaviot/oce/issues/643
- if (platform.system() == "Darwin") and (
- macos_version() == Version('10.12')):
- patch('sierra.patch', when='@0.17.2:0.18.0')
+ if (platform.system() == "Darwin") and (macos_version() == Version("10.12")):
+ patch("sierra.patch", when="@0.17.2:0.18.0")
def install(self, spec, prefix):
options = []
options.extend(std_cmake_args)
- options.extend([
- '-DOCE_INSTALL_PREFIX=%s' % prefix,
- '-DOCE_BUILD_SHARED_LIB:BOOL=ON',
- '-DCMAKE_BUILD_TYPE:STRING=Release',
- '-DOCE_DATAEXCHANGE:BOOL=ON',
- '-DOCE_DISABLE_X11:BOOL=%s' % (
- 'OFF' if '+X11' in spec else 'ON'),
- '-DOCE_DRAW:BOOL=OFF',
- '-DOCE_MODEL:BOOL=ON',
- '-DOCE_MULTITHREAD_LIBRARY:STRING=%s' % (
- 'TBB' if '+tbb' in spec else 'NONE'),
- '-DOCE_OCAF:BOOL=ON',
- '-DOCE_USE_TCL_TEST_FRAMEWORK:BOOL=OFF',
- '-DOCE_VISUALISATION:BOOL=OFF',
- '-DOCE_WITH_FREEIMAGE:BOOL=OFF',
- '-DOCE_WITH_GL2PS:BOOL=OFF',
- '-DOCE_WITH_OPENCL:BOOL=OFF'
- ])
+ options.extend(
+ [
+ "-DOCE_INSTALL_PREFIX=%s" % prefix,
+ "-DOCE_BUILD_SHARED_LIB:BOOL=ON",
+ "-DCMAKE_BUILD_TYPE:STRING=Release",
+ "-DOCE_DATAEXCHANGE:BOOL=ON",
+ "-DOCE_DISABLE_X11:BOOL=%s" % ("OFF" if "+X11" in spec else "ON"),
+ "-DOCE_DRAW:BOOL=OFF",
+ "-DOCE_MODEL:BOOL=ON",
+ "-DOCE_MULTITHREAD_LIBRARY:STRING=%s" % ("TBB" if "+tbb" in spec else "NONE"),
+ "-DOCE_OCAF:BOOL=ON",
+ "-DOCE_USE_TCL_TEST_FRAMEWORK:BOOL=OFF",
+ "-DOCE_VISUALISATION:BOOL=OFF",
+ "-DOCE_WITH_FREEIMAGE:BOOL=OFF",
+ "-DOCE_WITH_GL2PS:BOOL=OFF",
+ "-DOCE_WITH_OPENCL:BOOL=OFF",
+ ]
+ )
- if platform.system() == 'Darwin':
- options.extend([
- '-DOCE_OSX_USE_COCOA:BOOL=ON',
- ])
+ if platform.system() == "Darwin":
+ options.extend(
+ [
+ "-DOCE_OSX_USE_COCOA:BOOL=ON",
+ ]
+ )
- if platform.system() == 'Darwin' and (
- macos_version() >= Version('10.12')):
+ if platform.system() == "Darwin" and (macos_version() >= Version("10.12")):
# use @rpath on Sierra due to limit of dynamic loader
- options.append('-DCMAKE_MACOSX_RPATH=ON')
+ options.append("-DCMAKE_MACOSX_RPATH=ON")
else:
- options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
+ options.append("-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib" % prefix)
- cmake('.', *options)
+ cmake(".", *options)
make("install/strip")
if self.run_tests:
make("test")
diff --git a/var/spack/repos/builtin/packages/oci-systemd-hook/package.py b/var/spack/repos/builtin/packages/oci-systemd-hook/package.py
index 7747de8812..5a2c7417a8 100644
--- a/var/spack/repos/builtin/packages/oci-systemd-hook/package.py
+++ b/var/spack/repos/builtin/packages/oci-systemd-hook/package.py
@@ -11,27 +11,27 @@ class OciSystemdHook(AutotoolsPackage):
compatible runtimes such as runc without requiring --privileged flag."""
homepage = "https://github.com/projectatomic/oci-systemd-hook/"
- url = "https://github.com/projectatomic/oci-systemd-hook/archive/v0.2.0.tar.gz"
-
- version('0.2.0', sha256='da1ce3a1fd68752fc27b8f2062daa0d273c211474841ecf14737b10031bedcf5')
- version('0.1.18', sha256='c17291bf5151e972c502ec3cc9b445967823444b1f3917481eb419c9e476649e')
- version('0.1.5', sha256='53f773b055928d0f3d25ccc966d0d0b3ccb4dd00e8ff71a067b105142da22763')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext')
- depends_on('yajl')
- depends_on('uuid')
- depends_on('util-linux')
- depends_on('go-md2man')
+ url = "https://github.com/projectatomic/oci-systemd-hook/archive/v0.2.0.tar.gz"
+
+ version("0.2.0", sha256="da1ce3a1fd68752fc27b8f2062daa0d273c211474841ecf14737b10031bedcf5")
+ version("0.1.18", sha256="c17291bf5151e972c502ec3cc9b445967823444b1f3917481eb419c9e476649e")
+ version("0.1.5", sha256="53f773b055928d0f3d25ccc966d0d0b3ccb4dd00e8ff71a067b105142da22763")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext")
+ depends_on("yajl")
+ depends_on("uuid")
+ depends_on("util-linux")
+ depends_on("go-md2man")
def configure_args(self):
- args = ['LDFLAGS=-lintl']
+ args = ["LDFLAGS=-lintl"]
return args
def install(self, spec, prefix):
- oci_systemd_hook_jsondir = 'oci_systemd_hook_jsondir='
- oci_systemd_hook_jsondir += '{0}/usr/share/containers/oci/hooks.d'
- make('install', oci_systemd_hook_jsondir.format(prefix))
+ oci_systemd_hook_jsondir = "oci_systemd_hook_jsondir="
+ oci_systemd_hook_jsondir += "{0}/usr/share/containers/oci/hooks.d"
+ make("install", oci_systemd_hook_jsondir.format(prefix))
diff --git a/var/spack/repos/builtin/packages/ocl-icd/package.py b/var/spack/repos/builtin/packages/ocl-icd/package.py
index 2a0a0655b3..b0c23975d6 100644
--- a/var/spack/repos/builtin/packages/ocl-icd/package.py
+++ b/var/spack/repos/builtin/packages/ocl-icd/package.py
@@ -8,56 +8,63 @@ from spack.package import *
class OclIcd(AutotoolsPackage):
"""This package aims at creating an Open Source alternative to vendor specific
-OpenCL ICD loaders."""
+ OpenCL ICD loaders."""
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')
- version('2.2.12', sha256='17500e5788304eef5b52dbe784cec197bdae64e05eecf38317840d2d05484272')
- version('2.2.11', sha256='c1865ef7701b8201ebc6930ed3ac757c7e5cb30f3aa4c1e742a6bc022f4f2292')
- version('2.2.10', sha256='d0459fa1421e8d86aaf0a4df092185ea63bc4e1a7682d3af261ae5d3fae063c7')
- version('2.2.9', sha256='88da749bc2bd75149f0bb6e72eb4a9d74401a54f4508bc730f13cc03c57a17ed')
- version('2.2.8', sha256='8a8a405c7d659b905757a358dc467f4aa3d7e4dff1d1624779065764d962a246')
- version('2.2.7', sha256='b8e68435904e1a95661c385f24d6924ed28f416985c6db5a3c7448698ad5fea2')
- version('2.2.6', sha256='4567cae92f58c1d6ecfc771c456fa95f206d8a5c7c5d6c9010ec688a9fd83750')
- version('2.2.5', sha256='50bf51f4544f83e69a5a2f564732a2adca63fbe9511430aba12f8d6f3a53ae59')
- version('2.2.4', sha256='92853137ffff393cc74f829357fdd80ac46a82b46c970e80195db86164cca316')
- version('2.2.3', sha256='46b8355d90f8cc240555e4e077f223c47b950abeadf3e1af52d6e68d2efc2ff3')
-
- variant("headers", default=False, description="Install also OpenCL headers to use this as OpenCL provider")
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('ruby', type='build')
- depends_on('asciidoc-py3', type='build')
- depends_on('xmlto', type='build')
- depends_on('opencl-headers@3.0:', when='+headers')
-
- provides('opencl@:3.0', when='@2.2.13:+headers')
- provides('opencl@:2.2', when='@2.2.12+headers')
- provides('opencl@:2.1', when='@2.2.8:2.2.11+headers')
- provides('opencl@:2.0', when='@2.2.3:2.2.7+headers')
+ 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")
+ version("2.2.12", sha256="17500e5788304eef5b52dbe784cec197bdae64e05eecf38317840d2d05484272")
+ version("2.2.11", sha256="c1865ef7701b8201ebc6930ed3ac757c7e5cb30f3aa4c1e742a6bc022f4f2292")
+ version("2.2.10", sha256="d0459fa1421e8d86aaf0a4df092185ea63bc4e1a7682d3af261ae5d3fae063c7")
+ version("2.2.9", sha256="88da749bc2bd75149f0bb6e72eb4a9d74401a54f4508bc730f13cc03c57a17ed")
+ version("2.2.8", sha256="8a8a405c7d659b905757a358dc467f4aa3d7e4dff1d1624779065764d962a246")
+ version("2.2.7", sha256="b8e68435904e1a95661c385f24d6924ed28f416985c6db5a3c7448698ad5fea2")
+ version("2.2.6", sha256="4567cae92f58c1d6ecfc771c456fa95f206d8a5c7c5d6c9010ec688a9fd83750")
+ version("2.2.5", sha256="50bf51f4544f83e69a5a2f564732a2adca63fbe9511430aba12f8d6f3a53ae59")
+ version("2.2.4", sha256="92853137ffff393cc74f829357fdd80ac46a82b46c970e80195db86164cca316")
+ version("2.2.3", sha256="46b8355d90f8cc240555e4e077f223c47b950abeadf3e1af52d6e68d2efc2ff3")
+
+ variant(
+ "headers",
+ default=False,
+ description="Install also OpenCL headers to use this as OpenCL provider",
+ )
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("ruby", type="build")
+ depends_on("asciidoc-py3", type="build")
+ depends_on("xmlto", type="build")
+ depends_on("opencl-headers@3.0:", when="+headers")
+
+ provides("opencl@:3.0", when="@2.2.13:+headers")
+ provides("opencl@:2.2", when="@2.2.12+headers")
+ provides("opencl@:2.1", when="@2.2.8:2.2.11+headers")
+ provides("opencl@:2.0", when="@2.2.3:2.2.7+headers")
# upstream patch to fix compatibility with the latest version of the
# official khronos OpenCL C headers release, ie opencl-c-headers@2021.04.29
- patch('https://github.com/OCL-dev/ocl-icd/commit/aed1832c81c0971ea001e12d41e04df834257f94.patch?full_index=1',
- sha256='90fef5c4b341848c82d484a2329339c4762c2451259378fbda60cc86b3216616', when='@2.3.0')
+ patch(
+ "https://github.com/OCL-dev/ocl-icd/commit/aed1832c81c0971ea001e12d41e04df834257f94.patch?full_index=1",
+ sha256="90fef5c4b341848c82d484a2329339c4762c2451259378fbda60cc86b3216616",
+ when="@2.3.0",
+ )
def flag_handler(self, name, flags):
- if name == 'cflags' and self.spec.satisfies('@:2.2.12'):
+ if name == "cflags" and self.spec.satisfies("@:2.2.12"):
# https://github.com/OCL-dev/ocl-icd/issues/8
# this is fixed in version grater than 2.2.12
- flags.append('-O2')
+ flags.append("-O2")
# gcc-10 change the default from -fcommon to fno-common
# This is fixed in versions greater than 2.2.12:
# https://github.com/OCL-dev/ocl-icd/commit/4667bddd365bcc1dc66c483835971f0083b44b1d
- if self.spec.satisfies('%gcc@10:'):
- flags.append('-fcommon')
+ if self.spec.satisfies("%gcc@10:"):
+ flags.append("-fcommon")
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/oclgrind/package.py b/var/spack/repos/builtin/packages/oclgrind/package.py
index 3785e254de..40a3393132 100644
--- a/var/spack/repos/builtin/packages/oclgrind/package.py
+++ b/var/spack/repos/builtin/packages/oclgrind/package.py
@@ -10,12 +10,12 @@ class Oclgrind(CMakePackage):
"""An OpenCL device simulator and debugger."""
homepage = "https://github.com/jrprice/Oclgrind"
- url = "https://github.com/jrprice/Oclgrind/archive/v19.10.tar.gz"
- git = "https://github.com/jrprice/Oclgrind"
+ url = "https://github.com/jrprice/Oclgrind/archive/v19.10.tar.gz"
+ git = "https://github.com/jrprice/Oclgrind"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('master', branch='master')
- version('19.10', sha256='f9a8f22cb9f6d88670f2578c46ba0d728ba8eaee5c481c2811129dc157c43dc0')
+ version("master", branch="master")
+ version("19.10", sha256="f9a8f22cb9f6d88670f2578c46ba0d728ba8eaee5c481c2811129dc157c43dc0")
depends_on("llvm +clang @5.0:")
diff --git a/var/spack/repos/builtin/packages/oclint/package.py b/var/spack/repos/builtin/packages/oclint/package.py
index 56aca38a12..074f04fecd 100644
--- a/var/spack/repos/builtin/packages/oclint/package.py
+++ b/var/spack/repos/builtin/packages/oclint/package.py
@@ -9,56 +9,58 @@ from spack.package import *
class Oclint(Package):
"""OClint: a static analysis tool for C, C++, and Objective-C code
- OCLint is a static code analysis tool for improving quality and
- reducing defects by inspecting C, C++ and Objective-C code and
- looking for potential problems"""
+ OCLint is a static code analysis tool for improving quality and
+ reducing defects by inspecting C, C++ and Objective-C code and
+ looking for potential problems"""
homepage = "https://oclint.org/"
- url = "https://github.com/oclint/oclint/archive/v0.13.tar.gz"
+ url = "https://github.com/oclint/oclint/archive/v0.13.tar.gz"
- version('0.13', sha256='a0fd188673863e6357d6585b9bb9c3affe737df134b9383a1a5ed021d09ed848')
+ version("0.13", sha256="a0fd188673863e6357d6585b9bb9c3affe737df134b9383a1a5ed021d09ed848")
- depends_on('python', type=('build'))
- depends_on('py-argparse', type=('build'), when='^python@:2.6,3.0:3.1')
- depends_on('git', type=('build'))
- depends_on('subversion', type=('build'))
- depends_on('cmake', type=('build'))
- depends_on('ninja', type=('build'))
- depends_on('llvm@5.0.0:')
+ depends_on("python", type=("build"))
+ depends_on("py-argparse", type=("build"), when="^python@:2.6,3.0:3.1")
+ depends_on("git", type=("build"))
+ depends_on("subversion", type=("build"))
+ depends_on("cmake", type=("build"))
+ depends_on("ninja", type=("build"))
+ depends_on("llvm@5.0.0:")
# Needed to fix a bug in oclint-scripts/bundle script, which
# attempts to install c++ headers in the wrong location
# contributed upstream as
# https://github.com/oclint/oclint/pull/492
- patch('bundle.patch', level=0)
+ patch("bundle.patch", level=0)
def install(self, spec, prefix):
# Build from source via directions from
# https://docs.oclint.org/en/stable/intro/build.html,
- cd('oclint-scripts')
+ cd("oclint-scripts")
# ...but instead of using oclint-scripts/make, execute the
# commands in oclint-scripts/makeWithSystemLLVM so that
# oclint links to spack-installed LLVM
- build_script = Executable(join_path('.', 'build'))
- bundle_script = Executable(join_path('.', 'bundle'))
+ build_script = Executable(join_path(".", "build"))
+ bundle_script = Executable(join_path(".", "bundle"))
# Add the '-no-analytics' argument to the build script because
# 1) it doesn't detect properly a spack install of OpenSSL,
# and throws an error due to missing OpenSSL headers
# 2) the bespoke build system is a pain to patch as it is
# 3) many sites don't allow software that communicates analytics data
- build_script('-release',
- '-clean',
- '-llvm-root={0}'.format(spec['llvm'].prefix),
- '-use-system-compiler',
- '-no-analytics',
- 'all')
- bundle_script('-release', '-llvm-root={0}'.format(spec['llvm'].prefix))
+ build_script(
+ "-release",
+ "-clean",
+ "-llvm-root={0}".format(spec["llvm"].prefix),
+ "-use-system-compiler",
+ "-no-analytics",
+ "all",
+ )
+ bundle_script("-release", "-llvm-root={0}".format(spec["llvm"].prefix))
# Copy install tree into the correct locations using the
# directory layout described in
- cd(join_path('..', 'build'))
- install_tree(join_path('oclint-release', 'include'), prefix.include)
- install_tree(join_path('oclint-release', 'lib'), prefix.lib)
- install_tree(join_path('oclint-release', 'bin'), prefix.bin)
+ cd(join_path("..", "build"))
+ install_tree(join_path("oclint-release", "include"), prefix.include)
+ install_tree(join_path("oclint-release", "lib"), prefix.lib)
+ install_tree(join_path("oclint-release", "bin"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/oclock/package.py b/var/spack/repos/builtin/packages/oclock/package.py
index 072e7c5a82..2abac43caf 100644
--- a/var/spack/repos/builtin/packages/oclock/package.py
+++ b/var/spack/repos/builtin/packages/oclock/package.py
@@ -13,13 +13,13 @@ class Oclock(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/oclock"
xorg_mirror_path = "app/oclock-1.0.3.tar.gz"
- version('1.0.3', sha256='6628d1abe1612b87db9d0170cbe7f1cf4205cd764274f648c3c1bdb745bff877')
+ version("1.0.3", sha256="6628d1abe1612b87db9d0170cbe7f1cf4205cd764274f648c3c1bdb745bff877")
- depends_on('libx11')
- depends_on('libxmu')
- depends_on('libxext')
- depends_on('libxt')
- depends_on('libxkbfile')
+ depends_on("libx11")
+ depends_on("libxmu")
+ depends_on("libxext")
+ depends_on("libxt")
+ depends_on("libxkbfile")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/octa/package.py b/var/spack/repos/builtin/packages/octa/package.py
index a358d630a2..9b57f95427 100644
--- a/var/spack/repos/builtin/packages/octa/package.py
+++ b/var/spack/repos/builtin/packages/octa/package.py
@@ -10,46 +10,54 @@ class Octa(AutotoolsPackage):
"""OCTA is an integrated simulation system for soft materials."""
homepage = "https://octa.jp"
- url = "http://49.212.191.63/phpBB/download/file.php?id=3454&sid=3dfae182c664d1f5960d9ca63c40798a"
-
- version('8.4', 'b76d25f333fef76601bfe8262e9a748154280d5408ea823fa6530a6f3f86b51b', extension='tar.gz')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('libjpeg', type='link')
- depends_on('libpng', type='link')
- depends_on('zlib', type='link')
- depends_on('jogl')
- depends_on('python')
- depends_on('gnuplot', type='run')
- depends_on('py-numpy')
- depends_on('py-scipy')
- depends_on('py-numba')
+ url = (
+ "http://49.212.191.63/phpBB/download/file.php?id=3454&sid=3dfae182c664d1f5960d9ca63c40798a"
+ )
+
+ version(
+ "8.4",
+ "b76d25f333fef76601bfe8262e9a748154280d5408ea823fa6530a6f3f86b51b",
+ extension="tar.gz",
+ )
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("libjpeg", type="link")
+ depends_on("libpng", type="link")
+ depends_on("zlib", type="link")
+ depends_on("jogl")
+ depends_on("python")
+ depends_on("gnuplot", type="run")
+ depends_on("py-numpy")
+ depends_on("py-scipy")
+ depends_on("py-numba")
# specify for linux_aarch64
- patch('aarch64.patch', when='target=aarch64:')
+ patch("aarch64.patch", when="target=aarch64:")
# For jogl 2.3.2 or later
- patch('jogl.patch')
+ patch("jogl.patch")
# patch for non-constant-expression cannot be narrowed error.
- patch('narrowed-initialize.patch')
+ patch("narrowed-initialize.patch")
- configure_directory = join_path('GOURMET', 'src')
+ configure_directory = join_path("GOURMET", "src")
def patch(self):
with working_dir(self.configure_directory):
- copy('jogltest.java_v232', 'jogltest.java')
+ copy("jogltest.java_v232", "jogltest.java")
def configure_args(self):
spec = self.spec
- args = ['--with-python={0}'.format(spec['python'].command),
- '--with-java-home={0}'.format(spec['java'].prefix),
- '--with-jogl-jar={0}'.format(spec['jogl'].prefix.lib),
- '--with-jogl-lib={0}'.format(spec['jogl'].prefix.lib)]
+ args = [
+ "--with-python={0}".format(spec["python"].command),
+ "--with-java-home={0}".format(spec["java"].prefix),
+ "--with-jogl-jar={0}".format(spec["jogl"].prefix.lib),
+ "--with-jogl-lib={0}".format(spec["jogl"].prefix.lib),
+ ]
return args
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path('GOURMET', 'bin', '*.sh'), prefix.bin)
+ install(join_path("GOURMET", "bin", "*.sh"), prefix.bin)
with working_dir(self.configure_directory):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/octave-arduino/package.py b/var/spack/repos/builtin/packages/octave-arduino/package.py
index 57947b123b..6e97f97d28 100644
--- a/var/spack/repos/builtin/packages/octave-arduino/package.py
+++ b/var/spack/repos/builtin/packages/octave-arduino/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class OctaveArduino(OctavePackage, SourceforgePackage):
"""Provides an Octave look-alike implementation of the
- Arduino extension for Matlab."""
+ Arduino extension for Matlab."""
homepage = "https://octave.sourceforge.io/arduino/"
sourceforge_mirror_path = "octave/arduino-0.2.0.tar.gz"
- version('0.2.0', sha256='0562ff48ea4b2cef28e2e03ccc4678dafa16f91d1580245bb7f9f488c4f56238')
+ version("0.2.0", sha256="0562ff48ea4b2cef28e2e03ccc4678dafa16f91d1580245bb7f9f488c4f56238")
- depends_on('octave-instrctl')
- extends('octave@3.6.0:')
+ depends_on("octave-instrctl")
+ extends("octave@3.6.0:")
diff --git a/var/spack/repos/builtin/packages/octave-control/package.py b/var/spack/repos/builtin/packages/octave-control/package.py
index 5ec0a7a4c6..f0b8b61bd8 100644
--- a/var/spack/repos/builtin/packages/octave-control/package.py
+++ b/var/spack/repos/builtin/packages/octave-control/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class OctaveControl(OctavePackage, SourceforgePackage):
"""Computer-Aided Control System Design (CACSD) Tools for GNU Octave,
- based on the proven SLICOT Library"""
+ based on the proven SLICOT Library"""
homepage = "https://octave.sourceforge.io/control/"
sourceforge_mirror_path = "octave/control-3.2.0.tar.gz"
- version('3.2.0', sha256='faf1d510d16ab46e4fa91a1288f4a7839ee05469c33e4698b7a007a0bb965e3e')
+ version("3.2.0", sha256="faf1d510d16ab46e4fa91a1288f4a7839ee05469c33e4698b7a007a0bb965e3e")
- extends('octave@4.0.0:')
+ extends("octave@4.0.0:")
diff --git a/var/spack/repos/builtin/packages/octave-gsl/package.py b/var/spack/repos/builtin/packages/octave-gsl/package.py
index 924513b71a..f8322db9c2 100644
--- a/var/spack/repos/builtin/packages/octave-gsl/package.py
+++ b/var/spack/repos/builtin/packages/octave-gsl/package.py
@@ -12,10 +12,10 @@ class OctaveGsl(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/gsl/"
sourceforge_mirror_path = "octave/gsl-2.1.1.tar.gz"
- version('2.1.1', sha256='d028c52579e251c3f21ebfdf065dffab3ad7893434efda33b501225ef1ea6ed3')
+ version("2.1.1", sha256="d028c52579e251c3f21ebfdf065dffab3ad7893434efda33b501225ef1ea6ed3")
- depends_on('gsl@2.4:')
- extends('octave@2.9.7:')
+ depends_on("gsl@2.4:")
+ extends("octave@2.9.7:")
def setup_build_environment(self, env):
- env.prepend_path('PKG_CONFIG_PATH', self.spec['gsl'].prefix)
+ env.prepend_path("PKG_CONFIG_PATH", self.spec["gsl"].prefix)
diff --git a/var/spack/repos/builtin/packages/octave-instrctl/package.py b/var/spack/repos/builtin/packages/octave-instrctl/package.py
index e6a1a564dc..eb17248114 100644
--- a/var/spack/repos/builtin/packages/octave-instrctl/package.py
+++ b/var/spack/repos/builtin/packages/octave-instrctl/package.py
@@ -13,6 +13,6 @@ class OctaveInstrctl(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/instrument-control/"
sourceforge_mirror_path = "octave/instrument-control-0.3.1.tar.gz"
- version('0.3.1', sha256='d9c3b2e258cc8245ebfdd282e6314af12987daf453f4356555f56ca5ec55873c')
+ version("0.3.1", sha256="d9c3b2e258cc8245ebfdd282e6314af12987daf453f4356555f56ca5ec55873c")
- extends('octave@3.6.0:')
+ extends("octave@3.6.0:")
diff --git a/var/spack/repos/builtin/packages/octave-io/package.py b/var/spack/repos/builtin/packages/octave-io/package.py
index e7a3125b73..a8151a3d4b 100644
--- a/var/spack/repos/builtin/packages/octave-io/package.py
+++ b/var/spack/repos/builtin/packages/octave-io/package.py
@@ -13,10 +13,10 @@ class OctaveIo(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/io/"
sourceforge_mirror_path = "octave/io-2.6.3.tar.gz"
- version('2.6.3', sha256='6bc63c6498d79cada01a6c4446f793536e0bb416ddec2a5201dd8d741d459e10')
- version('2.6.2', sha256='01dbf8885a8011e76c919e271727c1d44f625bf6b217948b79438039ba368ceb')
- version('2.6.1', sha256='83253561f883c96ca3021a771223d23795122dc4cb800766e9cb893c6f8262dd')
- version('2.6.0', sha256='27f26273ced0b42c098e900136bb0ab2e542baf98d02bc0176cf47edbd0e6d7f')
- version('2.2.7', sha256='4eed2ee4c89b49ab160546c77ed66a384598f3bbb1c6e3833529c2c55aa479b6')
+ version("2.6.3", sha256="6bc63c6498d79cada01a6c4446f793536e0bb416ddec2a5201dd8d741d459e10")
+ version("2.6.2", sha256="01dbf8885a8011e76c919e271727c1d44f625bf6b217948b79438039ba368ceb")
+ version("2.6.1", sha256="83253561f883c96ca3021a771223d23795122dc4cb800766e9cb893c6f8262dd")
+ version("2.6.0", sha256="27f26273ced0b42c098e900136bb0ab2e542baf98d02bc0176cf47edbd0e6d7f")
+ version("2.2.7", sha256="4eed2ee4c89b49ab160546c77ed66a384598f3bbb1c6e3833529c2c55aa479b6")
- extends('octave@4.2.0:')
+ extends("octave@4.2.0:")
diff --git a/var/spack/repos/builtin/packages/octave-optim/package.py b/var/spack/repos/builtin/packages/octave-optim/package.py
index 7b6fc798ee..4da0109c75 100644
--- a/var/spack/repos/builtin/packages/octave-optim/package.py
+++ b/var/spack/repos/builtin/packages/octave-optim/package.py
@@ -12,10 +12,10 @@ class OctaveOptim(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/optim/"
sourceforge_mirror_path = "octave/optim-1.5.2.tar.gz"
- version('1.6.1', sha256='7150cdfac7e9da31ec7ac1cfe8619d9c0e9c8b3f787f54bf89e0fb1c275be584')
- version('1.5.2', sha256='7b36033c5581559dc3e7616f97d402bc44dde0dfd74c0e3afdf47d452a76dddf')
+ version("1.6.1", sha256="7150cdfac7e9da31ec7ac1cfe8619d9c0e9c8b3f787f54bf89e0fb1c275be584")
+ version("1.5.2", sha256="7b36033c5581559dc3e7616f97d402bc44dde0dfd74c0e3afdf47d452a76dddf")
- depends_on('octave-struct@1.0.12:')
- depends_on('octave-statistics@1.4.0:')
- extends('octave@3.6.0:', when='@:1.5.2')
- extends('octave@4.0.0:', when='@1.6.1:')
+ depends_on("octave-struct@1.0.12:")
+ depends_on("octave-statistics@1.4.0:")
+ extends("octave@3.6.0:", when="@:1.5.2")
+ extends("octave@4.0.0:", when="@1.6.1:")
diff --git a/var/spack/repos/builtin/packages/octave-quaternion/package.py b/var/spack/repos/builtin/packages/octave-quaternion/package.py
index 535556139c..28dd1dcb8e 100644
--- a/var/spack/repos/builtin/packages/octave-quaternion/package.py
+++ b/var/spack/repos/builtin/packages/octave-quaternion/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class OctaveQuaternion(OctavePackage, SourceforgePackage):
"""Quaternion package for GNU Octave,
- includes a quaternion class with overloaded operators."""
+ includes a quaternion class with overloaded operators."""
homepage = "https://octave.sourceforge.io/quaternion/"
sourceforge_mirror_path = "octave/quaternion-2.4.0.tar.gz"
- version('2.4.0', sha256='4c2d4dd8f1d213f080519c6f9dfbbdca068087ee0411122b16e377e0f4641610')
- version('2.2.2', sha256='261d51657bc729c8f9fe915532d91e75e48dce2af2b298781e78cc93a5067cbd')
+ version("2.4.0", sha256="4c2d4dd8f1d213f080519c6f9dfbbdca068087ee0411122b16e377e0f4641610")
+ version("2.2.2", sha256="261d51657bc729c8f9fe915532d91e75e48dce2af2b298781e78cc93a5067cbd")
- conflicts('octave@6:')
- extends('octave@3.8.0:5.2.0')
+ conflicts("octave@6:")
+ extends("octave@3.8.0:5.2.0")
diff --git a/var/spack/repos/builtin/packages/octave-signal/package.py b/var/spack/repos/builtin/packages/octave-signal/package.py
index abf4a26552..64246bdecb 100644
--- a/var/spack/repos/builtin/packages/octave-signal/package.py
+++ b/var/spack/repos/builtin/packages/octave-signal/package.py
@@ -12,7 +12,7 @@ class OctaveSignal(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/optim/"
sourceforge_mirror_path = "octave/signal-1.4.1.tar.gz"
- version('1.4.1', sha256='d978600f8b8f61339b986136c9862cad3e8f7015f84132f214bf63e9e281aeaa')
+ version("1.4.1", sha256="d978600f8b8f61339b986136c9862cad3e8f7015f84132f214bf63e9e281aeaa")
- depends_on('octave-control@2.4:')
- extends('octave@3.8.0:')
+ depends_on("octave-control@2.4:")
+ extends("octave@3.8.0:")
diff --git a/var/spack/repos/builtin/packages/octave-splines/package.py b/var/spack/repos/builtin/packages/octave-splines/package.py
index 73761f9ee3..ee0da7a981 100644
--- a/var/spack/repos/builtin/packages/octave-splines/package.py
+++ b/var/spack/repos/builtin/packages/octave-splines/package.py
@@ -12,6 +12,6 @@ class OctaveSplines(OctavePackage, SourceforgePackage):
homepage = "http://octave.sourceforge.net/splines/index.html"
sourceforge_mirror_path = "octave/splines-1.3.1.tar.gz"
- version('1.3.3', sha256='0a4bf9544b1fedb4aed4222eff1333928b0e3c903f140822eb857585e0d5919b')
- version('1.3.1', sha256='f9665d780c37aa6a6e17d1f424c49bdeedb89d1192319a4e39c08784122d18f9')
- extends('octave@3.6.0:')
+ version("1.3.3", sha256="0a4bf9544b1fedb4aed4222eff1333928b0e3c903f140822eb857585e0d5919b")
+ version("1.3.1", sha256="f9665d780c37aa6a6e17d1f424c49bdeedb89d1192319a4e39c08784122d18f9")
+ extends("octave@3.6.0:")
diff --git a/var/spack/repos/builtin/packages/octave-statistics/package.py b/var/spack/repos/builtin/packages/octave-statistics/package.py
index 81de360b2b..1d1c188c9f 100644
--- a/var/spack/repos/builtin/packages/octave-statistics/package.py
+++ b/var/spack/repos/builtin/packages/octave-statistics/package.py
@@ -12,7 +12,7 @@ class OctaveStatistics(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/statistics/"
sourceforge_mirror_path = "octave/statistics-1.4.2.tar.gz"
- version('1.4.2', sha256='7976814f837508e70367548bfb0a6d30aa9e447d4e3a66914d069efb07876247')
+ version("1.4.2", sha256="7976814f837508e70367548bfb0a6d30aa9e447d4e3a66914d069efb07876247")
- depends_on('octave-io')
- extends('octave@4.0.0:')
+ depends_on("octave-io")
+ extends("octave@4.0.0:")
diff --git a/var/spack/repos/builtin/packages/octave-struct/package.py b/var/spack/repos/builtin/packages/octave-struct/package.py
index c541a71d34..4a9dd7bea4 100644
--- a/var/spack/repos/builtin/packages/octave-struct/package.py
+++ b/var/spack/repos/builtin/packages/octave-struct/package.py
@@ -12,6 +12,6 @@ class OctaveStruct(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/struct/"
sourceforge_mirror_path = "octave/struct-1.0.14.tar.gz"
- version('1.0.17', sha256='0137bbb5df650f29104f6243502f3a2302aaaa5e42ea9f02d8a3943aaf668433')
- version('1.0.14', sha256='ad4e17687bc24650f032757271b20b70fe32c35513d4dd9ab1e549919df36b47')
- extends('octave@2.9.7:')
+ version("1.0.17", sha256="0137bbb5df650f29104f6243502f3a2302aaaa5e42ea9f02d8a3943aaf668433")
+ version("1.0.14", sha256="ad4e17687bc24650f032757271b20b70fe32c35513d4dd9ab1e549919df36b47")
+ extends("octave@2.9.7:")
diff --git a/var/spack/repos/builtin/packages/octave-symbolic/package.py b/var/spack/repos/builtin/packages/octave-symbolic/package.py
index a8d6b5fd53..04bc250ee0 100644
--- a/var/spack/repos/builtin/packages/octave-symbolic/package.py
+++ b/var/spack/repos/builtin/packages/octave-symbolic/package.py
@@ -16,6 +16,6 @@ class OctaveSymbolic(OctavePackage, SourceforgePackage):
homepage = "https://octave.sourceforge.io/symbolic/"
sourceforge_mirror_path = "octave/symbolic-2.9.0.tar.gz"
- version('2.9.0', sha256='089ec44a0a49417a8b78797e87f338da6a6e227509f3080724996483d39b23cb')
+ version("2.9.0", sha256="089ec44a0a49417a8b78797e87f338da6a6e227509f3080724996483d39b23cb")
- extends('octave@4.2.0:')
+ extends("octave@4.2.0:")
diff --git a/var/spack/repos/builtin/packages/octave/package.py b/var/spack/repos/builtin/packages/octave/package.py
index d2d3ac4bf6..176c0ffa57 100644
--- a/var/spack/repos/builtin/packages/octave/package.py
+++ b/var/spack/repos/builtin/packages/octave/package.py
@@ -24,124 +24,120 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/octave/"
gnu_mirror_path = "octave/octave-4.0.0.tar.gz"
- maintainers = ['mtmiller', 'siko1056']
+ maintainers = ["mtmiller", "siko1056"]
extendable = True
- version('7.1.0', sha256='d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6')
- version('6.4.0', sha256='b48f33d4fceaf394cfbea73a8c850000936d83a41739a24f7568b5b0a7b39acd')
- version('6.3.0', sha256='232065f3a72fc3013fe9f17f429a3df69d672c1f6b6077029a31c8f3cd58a66e')
- version('6.2.0', sha256='457d1fda8634a839e2fd7cfc55b98bd56f36b6ae73d31bb9df43dde3012caa7c')
- version('6.1.0', sha256='6ff34e401658622c44094ecb67e497672e4337ca2d36c0702d0403ecc60b0a57')
- version('5.2.0', sha256='2fea62b3c78d6f38e9451da8a4d26023840725977dffee5250d3d180f56595e1')
- version('5.1.0', sha256='e36b1124cac27c7caa51cc57de408c31676d5f0096349b4d50b57bfe1bcd7495')
- version('4.4.1', sha256='09fbd0f212f4ef21e53f1d9c41cf30ce3d7f9450fb44911601e21ed64c67ae97')
- version('4.4.0', sha256='72f846379fcec7e813d46adcbacd069d72c4f4d8f6003bcd92c3513aafcd6e96')
- version('4.2.2', sha256='77b84395d8e7728a1ab223058fe5e92dc38c03bc13f7358e6533aab36f76726e')
- version('4.2.1', sha256='80c28f6398576b50faca0e602defb9598d6f7308b0903724442c2a35a605333b')
- version('4.2.0', sha256='443ba73782f3531c94bcf016f2f0362a58e186ddb8269af7dcce973562795567')
- version('4.0.2', sha256='39cd8fd36c218fc00adace28d74a6c7c9c6faab7113a5ba3c4372324c755bdc1')
- version('4.0.0', sha256='4c7ee0957f5dd877e3feb9dfe07ad5f39b311f9373932f0d2a289dc97cca3280')
+ version("7.1.0", sha256="d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6")
+ version("6.4.0", sha256="b48f33d4fceaf394cfbea73a8c850000936d83a41739a24f7568b5b0a7b39acd")
+ version("6.3.0", sha256="232065f3a72fc3013fe9f17f429a3df69d672c1f6b6077029a31c8f3cd58a66e")
+ version("6.2.0", sha256="457d1fda8634a839e2fd7cfc55b98bd56f36b6ae73d31bb9df43dde3012caa7c")
+ version("6.1.0", sha256="6ff34e401658622c44094ecb67e497672e4337ca2d36c0702d0403ecc60b0a57")
+ version("5.2.0", sha256="2fea62b3c78d6f38e9451da8a4d26023840725977dffee5250d3d180f56595e1")
+ version("5.1.0", sha256="e36b1124cac27c7caa51cc57de408c31676d5f0096349b4d50b57bfe1bcd7495")
+ version("4.4.1", sha256="09fbd0f212f4ef21e53f1d9c41cf30ce3d7f9450fb44911601e21ed64c67ae97")
+ version("4.4.0", sha256="72f846379fcec7e813d46adcbacd069d72c4f4d8f6003bcd92c3513aafcd6e96")
+ version("4.2.2", sha256="77b84395d8e7728a1ab223058fe5e92dc38c03bc13f7358e6533aab36f76726e")
+ version("4.2.1", sha256="80c28f6398576b50faca0e602defb9598d6f7308b0903724442c2a35a605333b")
+ version("4.2.0", sha256="443ba73782f3531c94bcf016f2f0362a58e186ddb8269af7dcce973562795567")
+ version("4.0.2", sha256="39cd8fd36c218fc00adace28d74a6c7c9c6faab7113a5ba3c4372324c755bdc1")
+ version("4.0.0", sha256="4c7ee0957f5dd877e3feb9dfe07ad5f39b311f9373932f0d2a289dc97cca3280")
# patches
# see https://savannah.gnu.org/bugs/?50234
- patch('patch_4.2.1_inline.diff', when='@4.2.1')
+ patch("patch_4.2.1_inline.diff", when="@4.2.1")
# Variants
- variant('readline', default=True)
- variant('bz2', default=True)
- variant('arpack', default=False)
- variant('curl', default=False)
- variant('fftw', default=False)
- variant('fltk', default=False)
- variant('fontconfig', default=False)
- variant('freetype', default=False)
- variant('glpk', default=False)
- variant('gl2ps', default=False)
- variant('gnuplot', default=False)
- variant('magick', default=False)
- variant('hdf5', default=False)
- variant('jdk', default=False)
- variant('llvm', default=False)
- variant('opengl', default=False)
- variant('qhull', default=False)
- variant('qrupdate', default=False)
- variant('qscintilla', default=False)
- variant('qt', default=False)
- variant('suitesparse', default=False)
- variant('zlib', default=False)
+ variant("readline", default=True)
+ variant("bz2", default=True)
+ variant("arpack", default=False)
+ variant("curl", default=False)
+ variant("fftw", default=False)
+ variant("fltk", default=False)
+ variant("fontconfig", default=False)
+ variant("freetype", default=False)
+ variant("glpk", default=False)
+ variant("gl2ps", default=False)
+ variant("gnuplot", default=False)
+ variant("magick", default=False)
+ variant("hdf5", default=False)
+ variant("jdk", default=False)
+ variant("llvm", default=False)
+ variant("opengl", default=False)
+ variant("qhull", default=False)
+ variant("qrupdate", default=False)
+ variant("qscintilla", default=False)
+ variant("qt", default=False)
+ variant("suitesparse", default=False)
+ variant("zlib", default=False)
# Required dependencies
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
# Octave does not configure with sed from darwin:
- depends_on('sed', when=sys.platform == 'darwin', type='build')
- depends_on('pcre')
- depends_on('pkgconfig', type='build')
- depends_on('texinfo', type='build')
+ depends_on("sed", when=sys.platform == "darwin", type="build")
+ depends_on("pcre")
+ depends_on("pkgconfig", type="build")
+ depends_on("texinfo", type="build")
# Strongly recommended dependencies
- depends_on('readline', when='+readline')
- depends_on('bzip2', when='+bz2')
+ depends_on("readline", when="+readline")
+ depends_on("bzip2", when="+bz2")
# Optional dependencies
- depends_on('arpack-ng', when='+arpack')
- depends_on('curl', when='+curl')
- depends_on('fftw', when='+fftw')
- depends_on('fltk', when='+fltk')
- depends_on('fontconfig', when='+fontconfig')
- depends_on('freetype', when='+freetype')
- depends_on('glpk', when='+glpk')
- depends_on('gl2ps', when='+gl2ps')
- depends_on('gnuplot', when='+gnuplot')
- depends_on('imagemagick', when='+magick')
- depends_on('hdf5', when='+hdf5')
- depends_on('java', when='+jdk') # TODO: requires Java 6 ?
- depends_on('llvm', when='+llvm')
- depends_on('gl', when='+opengl')
- depends_on('gl', when='+fltk')
- depends_on('qhull', when='+qhull')
- depends_on('qrupdate', when='+qrupdate')
- depends_on('qscintilla', when='+qscintilla')
- depends_on('qt+opengl', when='+qt')
- depends_on('suite-sparse', when='+suitesparse')
- depends_on('zlib', when='+zlib')
+ depends_on("arpack-ng", when="+arpack")
+ depends_on("curl", when="+curl")
+ depends_on("fftw", when="+fftw")
+ depends_on("fltk", when="+fltk")
+ depends_on("fontconfig", when="+fontconfig")
+ depends_on("freetype", when="+freetype")
+ depends_on("glpk", when="+glpk")
+ depends_on("gl2ps", when="+gl2ps")
+ depends_on("gnuplot", when="+gnuplot")
+ depends_on("imagemagick", when="+magick")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("java", when="+jdk") # TODO: requires Java 6 ?
+ depends_on("llvm", when="+llvm")
+ depends_on("gl", when="+opengl")
+ depends_on("gl", when="+fltk")
+ depends_on("qhull", when="+qhull")
+ depends_on("qrupdate", when="+qrupdate")
+ depends_on("qscintilla", when="+qscintilla")
+ depends_on("qt+opengl", when="+qt")
+ depends_on("suite-sparse", when="+suitesparse")
+ depends_on("zlib", when="+zlib")
def patch(self):
# Filter mkoctfile.in.cc to use underlying compilers and not
# Spack compiler wrappers. We are patching the template file
# and not mkoctfile.cc since the latter is generated as part
# of the build.
- mkoctfile_in = os.path.join(
- self.stage.source_path, 'src', 'mkoctfile.in.cc'
- )
+ mkoctfile_in = os.path.join(self.stage.source_path, "src", "mkoctfile.in.cc")
quote = lambda s: '"' + s + '"'
entries_to_patch = {
- r'%OCTAVE_CONF_MKOCTFILE_CC%': quote(self.compiler.cc),
- r'%OCTAVE_CONF_MKOCTFILE_CXX%': quote(self.compiler.cxx),
- r'%OCTAVE_CONF_MKOCTFILE_F77%': quote(self.compiler.f77),
- r'%OCTAVE_CONF_MKOCTFILE_DL_LD%': quote(self.compiler.cxx),
- r'%OCTAVE_CONF_MKOCTFILE_LD_CXX%': quote(self.compiler.cxx)
+ r"%OCTAVE_CONF_MKOCTFILE_CC%": quote(self.compiler.cc),
+ r"%OCTAVE_CONF_MKOCTFILE_CXX%": quote(self.compiler.cxx),
+ r"%OCTAVE_CONF_MKOCTFILE_F77%": quote(self.compiler.f77),
+ r"%OCTAVE_CONF_MKOCTFILE_DL_LD%": quote(self.compiler.cxx),
+ r"%OCTAVE_CONF_MKOCTFILE_LD_CXX%": quote(self.compiler.cxx),
}
for pattern, subst in entries_to_patch.items():
filter_file(pattern, subst, mkoctfile_in)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_mkoctfile_works_outside_of_build_env(self):
# Check that mkoctfile is properly configured and can compile
# Octave extensions outside of the build env
- mkoctfile = Executable(os.path.join(self.prefix, 'bin', 'mkoctfile'))
- helloworld_cc = os.path.join(
- os.path.dirname(__file__), 'helloworld.cc'
- )
+ mkoctfile = Executable(os.path.join(self.prefix, "bin", "mkoctfile"))
+ helloworld_cc = os.path.join(os.path.dirname(__file__), "helloworld.cc")
tmp_dir = tempfile.mkdtemp()
shutil.copy(helloworld_cc, tmp_dir)
# We need to unset these variables since we are still within
# Spack's build environment when running tests
- vars_to_unset = ['CC', 'CXX', 'F77', 'FC']
+ vars_to_unset = ["CC", "CXX", "F77", "FC"]
with spack.util.environment.preserve_environment(*vars_to_unset):
# Delete temporarily the environment variables that point
@@ -149,14 +145,14 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
for v in vars_to_unset:
del os.environ[v]
# Check that mkoctfile outputs the expected value for CC
- cc = mkoctfile('-p', 'CC', output=str)
+ cc = mkoctfile("-p", "CC", output=str)
msg = "mkoctfile didn't output the expected CC compiler"
assert self.compiler.cc in cc, msg
# Try to compile an Octave extension
shutil.copy(helloworld_cc, tmp_dir)
with working_dir(tmp_dir):
- mkoctfile('helloworld.cc')
+ mkoctfile("helloworld.cc")
def configure_args(self):
# See
@@ -167,149 +163,169 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
config_args = []
# Required dependencies
- if '^mkl' in spec and 'gfortran' in self.compiler.fc:
- mkl_re = re.compile(r'(mkl_)intel(_i?lp64\b)')
- config_args.extend([
- mkl_re.sub(r'\g<1>gf\g<2>',
- '--with-blas={0}'.format(
- spec['blas'].libs.ld_flags)),
- '--with-lapack'
- ])
+ if "^mkl" in spec and "gfortran" in self.compiler.fc:
+ mkl_re = re.compile(r"(mkl_)intel(_i?lp64\b)")
+ config_args.extend(
+ [
+ mkl_re.sub(
+ r"\g<1>gf\g<2>", "--with-blas={0}".format(spec["blas"].libs.ld_flags)
+ ),
+ "--with-lapack",
+ ]
+ )
else:
- config_args.extend([
- '--with-blas={0}'.format(spec['blas'].libs.ld_flags),
- '--with-lapack={0}'.format(spec['lapack'].libs.ld_flags)
- ])
+ config_args.extend(
+ [
+ "--with-blas={0}".format(spec["blas"].libs.ld_flags),
+ "--with-lapack={0}".format(spec["lapack"].libs.ld_flags),
+ ]
+ )
# Strongly recommended dependencies
- if '+readline' in spec:
- config_args.append('--enable-readline')
+ if "+readline" in spec:
+ config_args.append("--enable-readline")
else:
- config_args.append('--disable-readline')
-
- if '+bz2' in spec:
- config_args.extend([
- "--with-bz2-includedir=%s" % spec['bzip2'].prefix.include,
- "--with-bz2-libdir=%s" % spec['bzip2'].prefix.lib
- ])
+ config_args.append("--disable-readline")
+
+ if "+bz2" in spec:
+ config_args.extend(
+ [
+ "--with-bz2-includedir=%s" % spec["bzip2"].prefix.include,
+ "--with-bz2-libdir=%s" % spec["bzip2"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-bz2")
# Optional dependencies
- if '+arpack' in spec:
- sa = spec['arpack-ng']
- config_args.extend([
- "--with-arpack-includedir=%s" % sa.prefix.include,
- "--with-arpack-libdir=%s" % sa.prefix.lib
- ])
+ if "+arpack" in spec:
+ sa = spec["arpack-ng"]
+ config_args.extend(
+ [
+ "--with-arpack-includedir=%s" % sa.prefix.include,
+ "--with-arpack-libdir=%s" % sa.prefix.lib,
+ ]
+ )
else:
config_args.append("--without-arpack")
- if '+curl' in spec:
- config_args.extend([
- "--with-curl-includedir=%s" % spec['curl'].prefix.include,
- "--with-curl-libdir=%s" % spec['curl'].prefix.lib
- ])
+ if "+curl" in spec:
+ config_args.extend(
+ [
+ "--with-curl-includedir=%s" % spec["curl"].prefix.include,
+ "--with-curl-libdir=%s" % spec["curl"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-curl")
- if '+fftw' in spec:
- config_args.extend([
- "--with-fftw3-includedir=%s" % spec['fftw'].prefix.include,
- "--with-fftw3-libdir=%s" % spec['fftw'].prefix.lib,
- "--with-fftw3f-includedir=%s" % spec['fftw'].prefix.include,
- "--with-fftw3f-libdir=%s" % spec['fftw'].prefix.lib
- ])
+ if "+fftw" in spec:
+ config_args.extend(
+ [
+ "--with-fftw3-includedir=%s" % spec["fftw"].prefix.include,
+ "--with-fftw3-libdir=%s" % spec["fftw"].prefix.lib,
+ "--with-fftw3f-includedir=%s" % spec["fftw"].prefix.include,
+ "--with-fftw3f-libdir=%s" % spec["fftw"].prefix.lib,
+ ]
+ )
else:
- config_args.extend([
- "--without-fftw3",
- "--without-fftw3f"
- ])
-
- if '+fltk' in spec:
- config_args.extend([
- "--with-fltk-prefix=%s" % spec['fltk'].prefix,
- "--with-fltk-exec-prefix=%s" % spec['fltk'].prefix
- ])
+ config_args.extend(["--without-fftw3", "--without-fftw3f"])
+
+ if "+fltk" in spec:
+ config_args.extend(
+ [
+ "--with-fltk-prefix=%s" % spec["fltk"].prefix,
+ "--with-fltk-exec-prefix=%s" % spec["fltk"].prefix,
+ ]
+ )
else:
config_args.append("--without-fltk")
- if '+glpk' in spec:
- config_args.extend([
- "--with-glpk-includedir=%s" % spec['glpk'].prefix.include,
- "--with-glpk-libdir=%s" % spec['glpk'].prefix.lib
- ])
+ if "+glpk" in spec:
+ config_args.extend(
+ [
+ "--with-glpk-includedir=%s" % spec["glpk"].prefix.include,
+ "--with-glpk-libdir=%s" % spec["glpk"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-glpk")
- if '+magick' in spec:
- config_args.append("--with-magick=%s"
- % spec['imagemagick'].prefix.lib)
+ if "+magick" in spec:
+ config_args.append("--with-magick=%s" % spec["imagemagick"].prefix.lib)
else:
config_args.append("--without-magick")
- if '+hdf5' in spec:
- config_args.extend([
- "--with-hdf5-includedir=%s" % spec['hdf5'].prefix.include,
- "--with-hdf5-libdir=%s" % spec['hdf5'].prefix.lib
- ])
+ if "+hdf5" in spec:
+ config_args.extend(
+ [
+ "--with-hdf5-includedir=%s" % spec["hdf5"].prefix.include,
+ "--with-hdf5-libdir=%s" % spec["hdf5"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-hdf5")
- if '+jdk' in spec:
- config_args.extend([
- "--with-java-homedir=%s" % spec['java'].home,
- "--with-java-includedir=%s" % spec['java'].home.include,
- "--with-java-libdir=%s" % spec['java'].libs.directories[0]
- ])
+ if "+jdk" in spec:
+ config_args.extend(
+ [
+ "--with-java-homedir=%s" % spec["java"].home,
+ "--with-java-includedir=%s" % spec["java"].home.include,
+ "--with-java-libdir=%s" % spec["java"].libs.directories[0],
+ ]
+ )
else:
config_args.append("--disable-java")
- if '~opengl' and '~fltk' in spec:
- config_args.extend([
- "--without-opengl",
- "--without-framework-opengl"
- ])
+ if "~opengl" and "~fltk" in spec:
+ config_args.extend(["--without-opengl", "--without-framework-opengl"])
# TODO: opengl dependency and package is missing?
- if '+qhull' in spec:
- config_args.extend([
- "--with-qhull-includedir=%s" % spec['qhull'].prefix.include,
- "--with-qhull-libdir=%s" % spec['qhull'].prefix.lib
- ])
+ if "+qhull" in spec:
+ config_args.extend(
+ [
+ "--with-qhull-includedir=%s" % spec["qhull"].prefix.include,
+ "--with-qhull-libdir=%s" % spec["qhull"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-qhull")
- if '+qrupdate' in spec:
- config_args.extend([
- "--with-qrupdate-includedir=%s"
- % spec['qrupdate'].prefix.include,
- "--with-qrupdate-libdir=%s" % spec['qrupdate'].prefix.lib
- ])
+ if "+qrupdate" in spec:
+ config_args.extend(
+ [
+ "--with-qrupdate-includedir=%s" % spec["qrupdate"].prefix.include,
+ "--with-qrupdate-libdir=%s" % spec["qrupdate"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-qrupdate")
config_args += self.with_or_without("qscintilla")
- if '+zlib' in spec:
- config_args.extend([
- "--with-z-includedir=%s" % spec['zlib'].prefix.include,
- "--with-z-libdir=%s" % spec['zlib'].prefix.lib
- ])
+ if "+zlib" in spec:
+ config_args.extend(
+ [
+ "--with-z-includedir=%s" % spec["zlib"].prefix.include,
+ "--with-z-libdir=%s" % spec["zlib"].prefix.lib,
+ ]
+ )
else:
config_args.append("--without-z")
# If 64-bit BLAS is used:
- if (spec.satisfies('^openblas+ilp64') or
- spec.satisfies('^intel-mkl+ilp64') or
- spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
- config_args.append('F77_INTEGER_8_FLAG=-fdefault-integer-8')
+ if (
+ spec.satisfies("^openblas+ilp64")
+ or spec.satisfies("^intel-mkl+ilp64")
+ or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
+ ):
+ config_args.append("F77_INTEGER_8_FLAG=-fdefault-integer-8")
# Use gfortran calling-convention
- config_args.append('--enable-fortran-calling-convention=gfortran')
+ config_args.append("--enable-fortran-calling-convention=gfortran")
# Make sure we do not use qtchooser
- config_args.append('ac_cv_prog_ac_ct_QTCHOOSER=')
+ config_args.append("ac_cv_prog_ac_ct_QTCHOOSER=")
return config_args
@@ -324,4 +340,4 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
octave('--eval', 'pkg install %s' % self.stage.archive_file)
"""
# Octave extension builds can have a global Octave executable function
- module.octave = Executable(join_path(self.spec.prefix.bin, 'octave'))
+ module.octave = Executable(join_path(self.spec.prefix.bin, "octave"))
diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py
index 4cf8906b77..f900c596f6 100644
--- a/var/spack/repos/builtin/packages/octopus/package.py
+++ b/var/spack/repos/builtin/packages/octopus/package.py
@@ -15,169 +15,148 @@ class Octopus(Package, CudaPackage):
theory code."""
homepage = "https://octopus-code.org/"
- url = "https://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz"
- git = "https://gitlab.com/octopus-code/octopus"
-
- maintainers = ['fangohr', 'RemiLacroix-IDRIS']
-
- version('11.4', sha256='73bb872bff8165ddd8efc5b891f767cb3fe575b5a4b518416c834450a4492da7')
- version('11.3', sha256='0c98417071b5e38ba6cbdd409adf917837c387a010e321c0a7f94d9bd9478930')
- version('11.1', sha256='d943cc2419ca409dda7459b7622987029f2af89984d0d5f39a6b464c3fc266da')
- version('10.5', sha256='deb92e3491b0c6ac5736960d075b44cab466f528b69715ed44968ecfe2953ec4')
- version('10.4', sha256='4de9dc6f5815a45e43320e4abc7ef3e501e34bc327441376ea20ca1a992bdb72')
- version('10.3', sha256='4633490e21593b51b60a8391b8aa0ed17fa52a3a0030630de123b67a41f88b33')
- version('10.2', sha256='393e2ba7b18af1b736ad6deb339ba0cef18c6417671da7a6f1fcc3a5d8f7586b')
- version('10.1', sha256='b6a660a99ed593c1d491e2d11cfff9ce87f0d80d527d9ff47fd983533d45adc6')
- version('10.0', sha256='ccf62200e3f37911bfff6d127ebe74220996e9c09383a10b1420c81d931dcf23')
- version('7.3', sha256='ad843d49d4beeed63e8b9a2ca6bfb2f4c5a421f13a4f66dc7b02f6d6a5c4d742')
- version('6.0', sha256='4a802ee86c1e06846aa7fa317bd2216c6170871632c9e03d020d7970a08a8198')
- version('5.0.1', sha256='3423049729e03f25512b1b315d9d62691cd0a6bd2722c7373a61d51bfbee14e0')
-
- version('develop', branch='develop')
-
- variant('scalapack', default=False,
- description='Compile with Scalapack')
- variant('metis', default=False,
- description='Compile with METIS')
- variant('parmetis', default=False,
- description='Compile with ParMETIS')
- variant('netcdf', default=False,
- description='Compile with Netcdf')
- variant('arpack', default=False,
- description='Compile with ARPACK')
- variant('cgal', default=False,
- description='Compile with CGAL library support')
- variant('pfft', default=False,
- description='Compile with PFFT')
+ url = "https://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz"
+ git = "https://gitlab.com/octopus-code/octopus"
+
+ maintainers = ["fangohr", "RemiLacroix-IDRIS"]
+
+ version("11.4", sha256="73bb872bff8165ddd8efc5b891f767cb3fe575b5a4b518416c834450a4492da7")
+ version("11.3", sha256="0c98417071b5e38ba6cbdd409adf917837c387a010e321c0a7f94d9bd9478930")
+ version("11.1", sha256="d943cc2419ca409dda7459b7622987029f2af89984d0d5f39a6b464c3fc266da")
+ version("10.5", sha256="deb92e3491b0c6ac5736960d075b44cab466f528b69715ed44968ecfe2953ec4")
+ version("10.4", sha256="4de9dc6f5815a45e43320e4abc7ef3e501e34bc327441376ea20ca1a992bdb72")
+ version("10.3", sha256="4633490e21593b51b60a8391b8aa0ed17fa52a3a0030630de123b67a41f88b33")
+ version("10.2", sha256="393e2ba7b18af1b736ad6deb339ba0cef18c6417671da7a6f1fcc3a5d8f7586b")
+ version("10.1", sha256="b6a660a99ed593c1d491e2d11cfff9ce87f0d80d527d9ff47fd983533d45adc6")
+ version("10.0", sha256="ccf62200e3f37911bfff6d127ebe74220996e9c09383a10b1420c81d931dcf23")
+ version("7.3", sha256="ad843d49d4beeed63e8b9a2ca6bfb2f4c5a421f13a4f66dc7b02f6d6a5c4d742")
+ version("6.0", sha256="4a802ee86c1e06846aa7fa317bd2216c6170871632c9e03d020d7970a08a8198")
+ version("5.0.1", sha256="3423049729e03f25512b1b315d9d62691cd0a6bd2722c7373a61d51bfbee14e0")
+
+ version("develop", branch="develop")
+
+ variant("scalapack", default=False, description="Compile with Scalapack")
+ variant("metis", default=False, description="Compile with METIS")
+ variant("parmetis", default=False, description="Compile with ParMETIS")
+ variant("netcdf", default=False, description="Compile with Netcdf")
+ variant("arpack", default=False, description="Compile with ARPACK")
+ variant("cgal", default=False, description="Compile with CGAL library support")
+ variant("pfft", default=False, description="Compile with PFFT")
# poke here refers to https://gitlab.e-cam2020.eu/esl/poke
# variant('poke', default=False,
# description='Compile with poke (not available in spack yet)')
- variant('python', default=False,
- description='Activates Python support')
- variant('likwid', default=False,
- description='Compile with likwid')
- variant('libvdwxc', default=False,
- description='Compile with libvdwxc')
- variant('libyaml', default=False,
- description='Compile with libyaml')
- variant('elpa', default=False,
- description='Compile with ELPA')
- variant('nlopt', default=False,
- description='Compile with nlopt')
- variant('debug', default=False,
- description='Compile with debug flags')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
-
- depends_on('blas')
- depends_on('gsl@1.9:')
- depends_on('lapack')
- depends_on('libxc@2:2', when='@:5')
- depends_on('libxc@2:3', when='@6:7')
- depends_on('libxc@2:4', when='@8:9')
- depends_on('libxc@5.1.0:', when='@10:')
- depends_on('libxc@5.1.0:', when='@develop')
- depends_on('mpi')
- depends_on('fftw@3:+mpi+openmp', when='@8:9')
- depends_on('fftw-api@3:+mpi+openmp', when='@10:')
- depends_on('py-numpy', when='+python')
- depends_on('py-mpi4py', when='+python')
- depends_on('metis@5:+int64', when='+metis')
- depends_on('parmetis+int64', when='+parmetis')
- depends_on('scalapack', when='+scalapack')
- depends_on('netcdf-fortran', when='+netcdf')
- depends_on('arpack-ng', when='+arpack')
- depends_on('cgal', when='+cgal')
- depends_on('pfft', when='+pfft')
- depends_on('likwid', when='+likwid')
- depends_on('libvdwxc', when='+libvdwxc')
- depends_on('libyaml', when='+libyaml')
- depends_on('elpa', when='+elpa')
- depends_on('nlopt', when='+nlopt')
+ variant("python", default=False, description="Activates Python support")
+ variant("likwid", default=False, description="Compile with likwid")
+ variant("libvdwxc", default=False, description="Compile with libvdwxc")
+ variant("libyaml", default=False, description="Compile with libyaml")
+ variant("elpa", default=False, description="Compile with ELPA")
+ variant("nlopt", default=False, description="Compile with nlopt")
+ variant("debug", default=False, description="Compile with debug flags")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ depends_on("blas")
+ depends_on("gsl@1.9:")
+ depends_on("lapack")
+ depends_on("libxc@2:2", when="@:5")
+ depends_on("libxc@2:3", when="@6:7")
+ depends_on("libxc@2:4", when="@8:9")
+ depends_on("libxc@5.1.0:", when="@10:")
+ depends_on("libxc@5.1.0:", when="@develop")
+ depends_on("mpi")
+ depends_on("fftw@3:+mpi+openmp", when="@8:9")
+ depends_on("fftw-api@3:+mpi+openmp", when="@10:")
+ depends_on("py-numpy", when="+python")
+ depends_on("py-mpi4py", when="+python")
+ depends_on("metis@5:+int64", when="+metis")
+ depends_on("parmetis+int64", when="+parmetis")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("netcdf-fortran", when="+netcdf")
+ depends_on("arpack-ng", when="+arpack")
+ depends_on("cgal", when="+cgal")
+ depends_on("pfft", when="+pfft")
+ depends_on("likwid", when="+likwid")
+ depends_on("libvdwxc", when="+libvdwxc")
+ depends_on("libyaml", when="+libyaml")
+ depends_on("elpa", when="+elpa")
+ depends_on("nlopt", when="+nlopt")
# optional dependencies:
# TODO: etsf-io, sparskit,
# feast, libfm, pfft, isf, pnfft, poke
def install(self, spec, prefix):
- lapack = spec['lapack'].libs
- blas = spec['blas'].libs
+ lapack = spec["lapack"].libs
+ blas = spec["blas"].libs
args = []
- args.extend([
- '--prefix=%s' % prefix,
- '--with-blas=%s' % blas.ld_flags,
- '--with-lapack=%s' % lapack.ld_flags,
- '--with-gsl-prefix=%s' % spec['gsl'].prefix,
- '--with-libxc-prefix=%s' % spec['libxc'].prefix,
- 'CC=%s' % spec['mpi'].mpicc,
- 'FC=%s' % spec['mpi'].mpifc,
- '--enable-mpi',
- '--enable-openmp',
- ])
- if '^fftw' in spec:
- args.append(
- '--with-fftw-prefix=%s' % spec['fftw'].prefix
- )
- elif '^mkl' in spec:
+ args.extend(
+ [
+ "--prefix=%s" % prefix,
+ "--with-blas=%s" % blas.ld_flags,
+ "--with-lapack=%s" % lapack.ld_flags,
+ "--with-gsl-prefix=%s" % spec["gsl"].prefix,
+ "--with-libxc-prefix=%s" % spec["libxc"].prefix,
+ "CC=%s" % spec["mpi"].mpicc,
+ "FC=%s" % spec["mpi"].mpifc,
+ "--enable-mpi",
+ "--enable-openmp",
+ ]
+ )
+ if "^fftw" in spec:
+ args.append("--with-fftw-prefix=%s" % spec["fftw"].prefix)
+ elif "^mkl" in spec:
# As of version 10.0, Octopus depends on fftw-api instead
# of FFTW. If FFTW is not in the dependency tree, then
# it ought to be MKL as it is currently the only providers
# available for fftw-api.
- args.append(
- 'FCFLAGS_FFTW=-I%s' % spec['mkl'].prefix.include.fftw
- )
+ args.append("FCFLAGS_FFTW=-I%s" % spec["mkl"].prefix.include.fftw)
else:
# To be foolproof, fail with a proper error message
# if neither FFTW nor MKL are in the dependency tree.
- tty.die('Unsupported "fftw-api" provider, '
- 'currently only FFTW and MKL are supported.\n'
- "Please report this issue on Spack's repository.")
- if '+metis' in spec:
- args.append(
- '--with-metis-prefix=%s' % spec['metis'].prefix
+ tty.die(
+ 'Unsupported "fftw-api" provider, '
+ "currently only FFTW and MKL are supported.\n"
+ "Please report this issue on Spack's repository."
)
- if '+parmetis' in spec:
- args.append(
- '--with-parmetis-prefix=%s' % spec['parmetis'].prefix
+ if "+metis" in spec:
+ args.append("--with-metis-prefix=%s" % spec["metis"].prefix)
+ if "+parmetis" in spec:
+ args.append("--with-parmetis-prefix=%s" % spec["parmetis"].prefix)
+ if "+netcdf" in spec:
+ args.extend(
+ [
+ "--with-netcdf-prefix=%s" % spec["netcdf-fortran"].prefix,
+ "--with-netcdf-include=%s" % spec["netcdf-fortran"].prefix.include,
+ ]
)
- if '+netcdf' in spec:
- args.extend([
- '--with-netcdf-prefix=%s' % spec['netcdf-fortran'].prefix,
- '--with-netcdf-include=%s' %
- spec['netcdf-fortran'].prefix.include,
- ])
- if '+arpack' in spec:
- arpack_libs = spec['arpack-ng'].libs.joined()
+ if "+arpack" in spec:
+ arpack_libs = spec["arpack-ng"].libs.joined()
args.append(
- '--with-arpack={0}'.format(arpack_libs),
+ "--with-arpack={0}".format(arpack_libs),
)
- if '+mpi' in spec['arpack-ng']:
- args.append(
- '--with-parpack={0}'.format(arpack_libs)
- )
-
- if '+scalapack' in spec:
- args.extend([
- '--with-blacs=%s' % spec['scalapack'].libs,
- '--with-scalapack=%s' % spec['scalapack'].libs
- ])
-
- if '+cgal' in spec:
- args.append(
- '--with-cgal-prefix=%s' % spec['cgal'].prefix
+ if "+mpi" in spec["arpack-ng"]:
+ args.append("--with-parpack={0}".format(arpack_libs))
+
+ if "+scalapack" in spec:
+ args.extend(
+ [
+ "--with-blacs=%s" % spec["scalapack"].libs,
+ "--with-scalapack=%s" % spec["scalapack"].libs,
+ ]
)
- if '+likwid' in spec:
- args.append(
- '--with-likwid-prefix=%s' % spec['likwid'].prefix
- )
+ if "+cgal" in spec:
+ args.append("--with-cgal-prefix=%s" % spec["cgal"].prefix)
- if '+pfft' in spec:
+ if "+likwid" in spec:
+ args.append("--with-likwid-prefix=%s" % spec["likwid"].prefix)
+
+ if "+pfft" in spec:
args.append(
- '--with-pfft-prefix=%s' % spec['pfft'].prefix,
+ "--with-pfft-prefix=%s" % spec["pfft"].prefix,
)
# if '+poke' in spec:
@@ -185,33 +164,23 @@ class Octopus(Package, CudaPackage):
# '--with-poke-prefix=%s' % spec['poke'].prefix,
# ])
- if '+libvdwxc' in spec:
- args.append(
- '--with-libvdwxc-prefix=%s' % spec['libvdwxc'].prefix
- )
+ if "+libvdwxc" in spec:
+ args.append("--with-libvdwxc-prefix=%s" % spec["libvdwxc"].prefix)
- if '+libyaml' in spec:
- args.append(
- '--with-libyaml-prefix=%s' % spec['libyaml'].prefix
- )
+ if "+libyaml" in spec:
+ args.append("--with-libyaml-prefix=%s" % spec["libyaml"].prefix)
- if '+elpa' in spec:
- args.append(
- '--with-elpa-prefix=%s' % spec['elpa'].prefix
- )
+ if "+elpa" in spec:
+ args.append("--with-elpa-prefix=%s" % spec["elpa"].prefix)
- if '+nlopt' in spec:
- args.append(
- '--with-nlopt-prefix=%s' % spec['nlopt'].prefix
- )
+ if "+nlopt" in spec:
+ args.append("--with-nlopt-prefix=%s" % spec["nlopt"].prefix)
- if '+cuda' in spec:
- args.append(
- '--enable-cuda'
- )
+ if "+cuda" in spec:
+ args.append("--enable-cuda")
- if '+python' in spec:
- args.append('--enable-python')
+ if "+python" in spec:
+ args.append("--enable-python")
# --with-etsf-io-prefix=
# --with-sparskit=${prefix}/lib/libskit.a
@@ -225,31 +194,29 @@ class Octopus(Package, CudaPackage):
# let compiler know that the entire line is meaningful.
# TODO: For the lack of better approach, assume that clang is mixed
# with GNU fortran.
- if (spec.satisfies('%apple-clang') or
- spec.satisfies('%clang') or
- spec.satisfies('%gcc')):
+ if spec.satisfies("%apple-clang") or spec.satisfies("%clang") or spec.satisfies("%gcc"):
# In case of GCC version 10, we will have errors because of
# argument mismatching. Need to provide a flag to turn this into a
# warning and build sucessfully
- fcflags = 'FCFLAGS=-O2 -ffree-line-length-none'
- fflags = 'FFLAGS=O2 -ffree-line-length-none'
- if (spec.satisfies('%gcc@10:')):
- gcc10_extra = '-fallow-argument-mismatch -fallow-invalid-boz'
- args.append(fcflags + ' ' + gcc10_extra)
- args.append(fflags + ' ' + gcc10_extra)
+ fcflags = "FCFLAGS=-O2 -ffree-line-length-none"
+ fflags = "FFLAGS=O2 -ffree-line-length-none"
+ if spec.satisfies("%gcc@10:"):
+ gcc10_extra = "-fallow-argument-mismatch -fallow-invalid-boz"
+ args.append(fcflags + " " + gcc10_extra)
+ args.append(fflags + " " + gcc10_extra)
else:
args.append(fcflags)
args.append(fflags)
- autoreconf('-i')
+ autoreconf("-i")
configure(*args)
make()
# short tests take forever...
# make('check-short')
- make('install')
+ make("install")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def smoke_tests_after_install(self):
"""Function stub to run tests after install if desired
@@ -258,8 +225,7 @@ class Octopus(Package, CudaPackage):
self.smoke_tests()
def test(self):
- """Entry point for smoke tests run through `spack test run octopus`.
- """
+ """Entry point for smoke tests run through `spack test run octopus`."""
self.smoke_tests()
def smoke_tests(self):
@@ -283,7 +249,8 @@ class Octopus(Package, CudaPackage):
status=[0],
installed=False,
purpose=purpose,
- skip_missing=False)
+ skip_missing=False,
+ )
# Octopus expects a file with name `inp` in the current working
# directory to read configuration information for a simulation run from
@@ -299,41 +266,50 @@ class Octopus(Package, CudaPackage):
# run recipe example
#
- expected = ["Running octopus", "CalculationMode = recipe",
- "DISCLAIMER: The authors do not "
- "guarantee that the implementation",
- 'recipe leads to an edible dish, '
- 'for it is clearly "system-dependent".',
- "Calculation ended on"]
+ expected = [
+ "Running octopus",
+ "CalculationMode = recipe",
+ "DISCLAIMER: The authors do not " "guarantee that the implementation",
+ "recipe leads to an edible dish, " 'for it is clearly "system-dependent".',
+ "Calculation ended on",
+ ]
options = []
purpose = "Run Octopus recipe example"
with working_dir("example-recipe", create=True):
print("Current working directory (in example-recipe)")
copy(join_path(os.path.dirname(__file__), "test", "recipe.inp"), "inp")
- self.run_test(exe,
- options=options,
- expected=expected,
- status=[0],
- installed=False,
- purpose=purpose,
- skip_missing=False)
+ self.run_test(
+ exe,
+ options=options,
+ expected=expected,
+ status=[0],
+ installed=False,
+ purpose=purpose,
+ skip_missing=False,
+ )
#
# run He example
#
- expected = ["Running octopus", "Info: Starting calculation mode.",
- "CalculationMode = gs",
- '''Species "helium" is a user-defined potential.''',
- "Info: Writing states.", "Calculation ended on"]
+ expected = [
+ "Running octopus",
+ "Info: Starting calculation mode.",
+ "CalculationMode = gs",
+ """Species "helium" is a user-defined potential.""",
+ "Info: Writing states.",
+ "Calculation ended on",
+ ]
options = []
purpose = "Run tiny calculation for He"
with working_dir("example-he", create=True):
print("Current working directory (in example-he)")
copy(join_path(os.path.dirname(__file__), "test", "he.inp"), "inp")
- self.run_test(exe,
- options=options,
- expected=expected,
- status=[0],
- installed=False,
- purpose=purpose,
- skip_missing=False)
+ self.run_test(
+ exe,
+ options=options,
+ expected=expected,
+ status=[0],
+ installed=False,
+ purpose=purpose,
+ skip_missing=False,
+ )
diff --git a/var/spack/repos/builtin/packages/odc/package.py b/var/spack/repos/builtin/packages/odc/package.py
index 12c984c9f6..587a126e34 100644
--- a/var/spack/repos/builtin/packages/odc/package.py
+++ b/var/spack/repos/builtin/packages/odc/package.py
@@ -9,25 +9,24 @@ from spack.package import *
class Odc(CMakePackage):
"""ECMWF encoding and decoding of observational data in ODB2 format."""
- homepage = 'https://github.com/ecmwf/odc'
- url = 'https://github.com/ecmwf/odc/archive/refs/tags/1.3.0.tar.gz'
+ homepage = "https://github.com/ecmwf/odc"
+ url = "https://github.com/ecmwf/odc/archive/refs/tags/1.3.0.tar.gz"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('1.3.0', sha256='97a4f10765b341cc8ccbbf203f5559cb1b838cbd945f48d4cecb1bc4305e6cd6')
+ version("1.3.0", sha256="97a4f10765b341cc8ccbbf203f5559cb1b838cbd945f48d4cecb1bc4305e6cd6")
- variant('fortran', default=False,
- description='Enable the Fortran interface')
+ variant("fortran", default=False, description="Enable the Fortran interface")
- depends_on('ecbuild@3.4:', type='build')
- depends_on('cmake@3.12:', type='build')
+ depends_on("ecbuild@3.4:", type="build")
+ depends_on("cmake@3.12:", type="build")
- depends_on('eckit@1.4:+sql')
+ depends_on("eckit@1.4:+sql")
def cmake_args(self):
args = [
- self.define_from_variant('ENABLE_FORTRAN', 'fortran'),
+ self.define_from_variant("ENABLE_FORTRAN", "fortran"),
# The tests download additional data (~650MB):
- self.define('ENABLE_TESTS', self.run_tests)
+ self.define("ENABLE_TESTS", self.run_tests),
]
return args
diff --git a/var/spack/repos/builtin/packages/of-catalyst/package.py b/var/spack/repos/builtin/packages/of-catalyst/package.py
index 1bee428865..34ea5d5580 100644
--- a/var/spack/repos/builtin/packages/of-catalyst/package.py
+++ b/var/spack/repos/builtin/packages/of-catalyst/package.py
@@ -25,24 +25,23 @@ class OfCatalyst(CMakePackage):
homepage = "https://develop.openfoam.com/Community/catalyst"
git = "https://develop.openfoam.com/Community/catalyst.git"
- version('develop', branch='develop')
- version('1806', tag='v1806')
+ version("develop", branch="develop")
+ version("1806", tag="v1806")
- variant('full', default=False, description='Build against paraview (full) or catalyst (light)')
+ variant("full", default=False, description="Build against paraview (full) or catalyst (light)")
- depends_on('openfoam@1806', when='@1806', type=('build', 'link', 'run'))
- depends_on('openfoam@develop', when='@develop', type=('build', 'link', 'run'))
- depends_on('catalyst@5.5:', when='~full')
- depends_on('paraview@5.5:+osmesa~qt', when='+full')
+ depends_on("openfoam@1806", when="@1806", type=("build", "link", "run"))
+ depends_on("openfoam@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("catalyst@5.5:", when="~full")
+ depends_on("paraview@5.5:+osmesa~qt", when="+full")
- root_cmakelists_dir = 'src/catalyst'
+ root_cmakelists_dir = "src/catalyst"
def cmake_args(self):
"""Populate cmake arguments for ParaView."""
cmake_args = [
- '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=%s' % join_path(
- self.stage.source_path,
- 'spack-build')
+ "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=%s"
+ % join_path(self.stage.source_path, "spack-build")
]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/of-precice/package.py b/var/spack/repos/builtin/packages/of-precice/package.py
index b55cfef90e..102af9c37d 100644
--- a/var/spack/repos/builtin/packages/of-precice/package.py
+++ b/var/spack/repos/builtin/packages/of-precice/package.py
@@ -14,24 +14,24 @@ from spack.pkg.builtin.openfoam import add_extra_files
class OfPrecice(Package):
"""preCICE adapter for OpenFOAM"""
- homepage = 'https://precice.org/'
- git = 'https://github.com/precice/openfoam-adapter.git'
+ homepage = "https://precice.org/"
+ git = "https://github.com/precice/openfoam-adapter.git"
# Currently develop only
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('openfoam+source')
- depends_on('precice')
- depends_on('yaml-cpp')
+ depends_on("openfoam+source")
+ depends_on("precice")
+ depends_on("yaml-cpp")
# General patches
- common = ['change-userdir.sh', 'spack-derived-Allwmake']
+ common = ["change-userdir.sh", "spack-derived-Allwmake"]
assets = [] # type: List[str]
- build_script = './spack-derived-Allwmake'
- build_userdir = 'spack-userdir' # Build user APPBIN, LIBBIN into here
+ build_script = "./spack-derived-Allwmake"
+ build_userdir = "spack-userdir" # Build user APPBIN, LIBBIN into here
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
#
# - End of definitions / setup -
@@ -42,17 +42,18 @@ class OfPrecice(Package):
add_extra_files(self, self.common, self.assets)
# Emit openfoam version immediately, if we resolved the wrong version
# it takes a very long time to rebuild!
- tty.info('Build for ' + self.spec['openfoam'].format(
- '{name}{@version}{%compiler}{compiler_flags}{variants}'
- ))
+ tty.info(
+ "Build for "
+ + self.spec["openfoam"].format("{name}{@version}{%compiler}{compiler_flags}{variants}")
+ )
def configure(self, spec, prefix):
"""Generate spack-config.sh file."""
# Local tweaks
# This is ugly, but otherwise it only looks for src/precice,
# not the installed include files
- config = join_path(self.stage.source_path, 'spack-config.sh')
- with open(config, 'w') as out:
+ config = join_path(self.stage.source_path, "spack-config.sh")
+ with open(config, "w") as out:
out.write(
"""# Local tweaks for building
CPLUS_INCLUDE_PATH="{precice_dir}/include/precice${{CPLUS_INCLUDE_PATH:+:}}$CPLUS_INCLUDE_PATH"
@@ -60,29 +61,27 @@ export CPLUS_INCLUDE_PATH
# Local build (for user appbin, libbin)
. ./change-userdir.sh $PWD/{user_dir}
#
-"""
- .format(
- precice_dir=spec['precice'].prefix,
- user_dir=self.build_userdir))
+""".format(
+ precice_dir=spec["precice"].prefix, user_dir=self.build_userdir
+ )
+ )
def build(self, spec, prefix):
"""Build with Allwmake script, wrapped to source environment first."""
args = []
if self.parallel: # Parallel build? - pass via environment
- os.environ['WM_NCOMPPROCS'] = str(make_jobs)
+ os.environ["WM_NCOMPPROCS"] = str(make_jobs)
builder = Executable(self.build_script)
builder(*args)
def install(self, spec, prefix):
"""Install under the prefix directory"""
- for f in ['README.md', 'LICENSE']:
+ for f in ["README.md", "LICENSE"]:
if os.path.isfile(f):
install(f, join_path(self.prefix, f))
- install_tree('tutorials', join_path(self.prefix, 'tutorials'))
+ install_tree("tutorials", join_path(self.prefix, "tutorials"))
# Place directly under 'lib' (no bin)
- install_tree(
- join_path(self.build_userdir, 'lib'),
- join_path(self.prefix, 'lib'))
+ install_tree(join_path(self.build_userdir, "lib"), join_path(self.prefix, "lib"))
diff --git a/var/spack/repos/builtin/packages/ome-common-cpp/package.py b/var/spack/repos/builtin/packages/ome-common-cpp/package.py
index 3424684b8b..8c6cc98668 100644
--- a/var/spack/repos/builtin/packages/ome-common-cpp/package.py
+++ b/var/spack/repos/builtin/packages/ome-common-cpp/package.py
@@ -18,18 +18,18 @@ class OmeCommonCpp(CMakePackage):
url = "https://gitlab.com/codelibre/ome/ome-common-cpp/-/archive/v6.0.0/ome-common-cpp-v6.0.0.tar.gz"
git = "https://gitlab.com/codelibre/ome/ome-common-cpp.git"
- maintainers = ['omsai']
+ maintainers = ["omsai"]
- version('master', branch='master')
- version('6.0.0', sha256='26f3ce6e0b9a022590eed2ade5519eca12a2507bb207cdfe9f29d360984a7e0d')
+ version("master", branch="master")
+ version("6.0.0", sha256="26f3ce6e0b9a022590eed2ade5519eca12a2507bb207cdfe9f29d360984a7e0d")
- depends_on('fmt')
- depends_on('spdlog')
- depends_on('xalan-c')
- depends_on('googletest', type='test')
+ depends_on("fmt")
+ depends_on("spdlog")
+ depends_on("xalan-c")
+ depends_on("googletest", type="test")
def cmake_args(self):
return [
- '-DCMAKE_CXX_STANDARD=17',
- '-DCMAKE_CXX_STANDARD_REQUIRED=ON',
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DCMAKE_CXX_STANDARD_REQUIRED=ON",
]
diff --git a/var/spack/repos/builtin/packages/ome-files-cpp/package.py b/var/spack/repos/builtin/packages/ome-files-cpp/package.py
index 2a9e772cf2..4c822c85bb 100644
--- a/var/spack/repos/builtin/packages/ome-files-cpp/package.py
+++ b/var/spack/repos/builtin/packages/ome-files-cpp/package.py
@@ -17,18 +17,18 @@ class OmeFilesCpp(CMakePackage):
url = "https://gitlab.com/codelibre/ome/ome-files-cpp/-/archive/v0.6.0/ome-files-cpp-v0.6.0.tar.gz"
git = "https://gitlab.com/codelibre/ome/ome-files-cpp.git"
- maintainers = ['omsai']
+ maintainers = ["omsai"]
- version('master', branch='master')
- version('0.6.0', sha256='e0baf3eeb2ea639f426292a36b58adcaa42ce61a4a0f15f34690602f3f5d47c1')
+ version("master", branch="master")
+ version("0.6.0", sha256="e0baf3eeb2ea639f426292a36b58adcaa42ce61a4a0f15f34690602f3f5d47c1")
- depends_on('boost@1.53: +filesystem +program_options')
- depends_on('ome-model')
- depends_on('ome-model@master', when='@master')
- depends_on('googletest', type='test')
+ depends_on("boost@1.53: +filesystem +program_options")
+ depends_on("ome-model")
+ depends_on("ome-model@master", when="@master")
+ depends_on("googletest", type="test")
def cmake_args(self):
return [
- '-DCMAKE_CXX_STANDARD=17',
- '-DCMAKE_CXX_STANDARD_REQUIRED=ON',
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DCMAKE_CXX_STANDARD_REQUIRED=ON",
]
diff --git a/var/spack/repos/builtin/packages/ome-model/package.py b/var/spack/repos/builtin/packages/ome-model/package.py
index 3dbc2e46c4..916c00cf2d 100644
--- a/var/spack/repos/builtin/packages/ome-model/package.py
+++ b/var/spack/repos/builtin/packages/ome-model/package.py
@@ -16,26 +16,26 @@ class OmeModel(CMakePackage):
url = "https://gitlab.com/codelibre/ome/ome-model/-/archive/v6.0.0/ome-model-v6.0.0.tar.gz"
git = "https://gitlab.com/codelibre/ome/ome-model.git"
- maintainers = ['omsai']
+ maintainers = ["omsai"]
- version('master', branch='master')
- version('6.0.0', sha256='d6644ff722411d3a8ac9f26a49c1afda30e4d4102e37b31593d2a9fdc8f96700')
+ version("master", branch="master")
+ version("6.0.0", sha256="d6644ff722411d3a8ac9f26a49c1afda30e4d4102e37b31593d2a9fdc8f96700")
# Match version with ome-common-cpp. It would be nice to match versions in a
# more automated way.
- depends_on('ome-common-cpp')
- depends_on('ome-common-cpp@master', when='@master')
- depends_on('ome-common-cpp@6.0.0', when='@6.0.0')
+ depends_on("ome-common-cpp")
+ depends_on("ome-common-cpp@master", when="@master")
+ depends_on("ome-common-cpp@6.0.0", when="@6.0.0")
# For running the xsd-fu bundled build tool.
- depends_on('python@3', type='build')
+ depends_on("python@3", type="build")
# From the requirements.txt of xsd-fu
- depends_on('py-genshi', type='build')
- depends_on('py-six', type='build')
+ depends_on("py-genshi", type="build")
+ depends_on("py-six", type="build")
# Optional tests.
- depends_on('googletest', type='test')
+ depends_on("googletest", type="test")
def cmake_args(self):
return [
- '-DCMAKE_CXX_STANDARD=17',
- '-DCMAKE_CXX_STANDARD_REQUIRED=ON',
+ "-DCMAKE_CXX_STANDARD=17",
+ "-DCMAKE_CXX_STANDARD_REQUIRED=ON",
]
diff --git a/var/spack/repos/builtin/packages/omega-h/package.py b/var/spack/repos/builtin/packages/omega-h/package.py
index 888c2fbe57..693ac1c873 100644
--- a/var/spack/repos/builtin/packages/omega-h/package.py
+++ b/var/spack/repos/builtin/packages/omega-h/package.py
@@ -13,129 +13,139 @@ class OmegaH(CMakePackage, CudaPackage):
"""
homepage = "https://github.com/sandialabs/omega_h"
- url = "https://github.com/sandialabs/omega_h/archive/v9.34.1.tar.gz"
- git = "https://github.com/sandialabs/omega_h.git"
-
- maintainers = ['cwsmith']
- tags = ['e4s']
- version('main', branch='main')
- version('scorec.10.1.0', commit='e88912368e101d940f006019585701a704295ab0', git="https://github.com/SCOREC/omega_h.git")
- version('9.34.1', sha256='3a812da3b8df3e0e5d78055e91ad23333761bcd9ed9b2c8c13ee1ba3d702e46c')
- version('9.32.5', sha256='963a203e9117024cd48d829d82b8543cd9133477fdc15386113b594fdc3246d8')
- version('9.29.0', sha256='b41964b018909ffe9cea91c23a0509b259bfbcf56874fcdf6bd9f6a179938014')
- version('9.27.0', sha256='aa51f83508cbd14a41ae953bda7da98a6ad2979465c76e5b3a3d9a7a651cb34a')
- version('9.22.2', sha256='ab5636be9dc171a514a7015df472bd85ab86fa257806b41696170842eabea37d')
- version('9.19.1', sha256='60ef65c2957ce03ef9d1b995d842fb65c32c5659d064de002c071effe66b1b1f')
- version('9.19.0', sha256='4a1606c4e7287a1b67359cf6ef1c2d7e24b7dc379065566a1d2e0b0330c0abbd')
- version('9.15.0', sha256='342a506a0ff22f6cac759862efdcf34e360110f7901eb9b4c5de8afe38741522')
- version('9.14.0', sha256='035d0f47142f965a57818d1cb6c5c00b5ae6b5a0178b67b0bc9177fa99ba083d')
- version('9.13.14', sha256='f617dfd024c9cc323e56800ca23df3386bfa37e1b9bd378847d1f5d32d2b8e5d')
- version('9.13.13', sha256='753702edf4bda9ae57ea21f09ca071e341604a468d8c86468c9aebba049f581c')
-
- variant('shared', default=True, description='Build shared libraries')
- variant('mpi', default=True, description='Activates MPI support')
- variant('zlib', default=True, description='Activates ZLib support')
- variant('trilinos', default=True, description='Use Teuchos and Kokkos')
- variant('throw', default=False, description='Errors throw exceptions instead of abort')
- variant('examples', default=False, description='Compile examples')
- variant('optimize', default=True, description='Compile C++ with optimization')
- variant('symbols', default=True, description='Compile C++ with debug symbols')
- variant('warnings', default=False, description='Compile C++ with warnings')
-
- depends_on('gmsh', when='+examples', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('trilinos +kokkos', when='+trilinos')
- depends_on('zlib', when='+zlib')
+ url = "https://github.com/sandialabs/omega_h/archive/v9.34.1.tar.gz"
+ git = "https://github.com/sandialabs/omega_h.git"
+
+ maintainers = ["cwsmith"]
+ tags = ["e4s"]
+ version("main", branch="main")
+ version(
+ "scorec.10.1.0",
+ commit="e88912368e101d940f006019585701a704295ab0",
+ git="https://github.com/SCOREC/omega_h.git",
+ )
+ version("9.34.1", sha256="3a812da3b8df3e0e5d78055e91ad23333761bcd9ed9b2c8c13ee1ba3d702e46c")
+ version("9.32.5", sha256="963a203e9117024cd48d829d82b8543cd9133477fdc15386113b594fdc3246d8")
+ version("9.29.0", sha256="b41964b018909ffe9cea91c23a0509b259bfbcf56874fcdf6bd9f6a179938014")
+ version("9.27.0", sha256="aa51f83508cbd14a41ae953bda7da98a6ad2979465c76e5b3a3d9a7a651cb34a")
+ version("9.22.2", sha256="ab5636be9dc171a514a7015df472bd85ab86fa257806b41696170842eabea37d")
+ version("9.19.1", sha256="60ef65c2957ce03ef9d1b995d842fb65c32c5659d064de002c071effe66b1b1f")
+ version("9.19.0", sha256="4a1606c4e7287a1b67359cf6ef1c2d7e24b7dc379065566a1d2e0b0330c0abbd")
+ version("9.15.0", sha256="342a506a0ff22f6cac759862efdcf34e360110f7901eb9b4c5de8afe38741522")
+ version("9.14.0", sha256="035d0f47142f965a57818d1cb6c5c00b5ae6b5a0178b67b0bc9177fa99ba083d")
+ version("9.13.14", sha256="f617dfd024c9cc323e56800ca23df3386bfa37e1b9bd378847d1f5d32d2b8e5d")
+ version("9.13.13", sha256="753702edf4bda9ae57ea21f09ca071e341604a468d8c86468c9aebba049f581c")
+
+ variant("shared", default=True, description="Build shared libraries")
+ variant("mpi", default=True, description="Activates MPI support")
+ variant("zlib", default=True, description="Activates ZLib support")
+ variant("trilinos", default=True, description="Use Teuchos and Kokkos")
+ variant("throw", default=False, description="Errors throw exceptions instead of abort")
+ variant("examples", default=False, description="Compile examples")
+ variant("optimize", default=True, description="Compile C++ with optimization")
+ variant("symbols", default=True, description="Compile C++ with debug symbols")
+ variant("warnings", default=False, description="Compile C++ with warnings")
+
+ depends_on("gmsh", when="+examples", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("trilinos +kokkos", when="+trilinos")
+ depends_on("zlib", when="+zlib")
# Note: '+cuda' and 'cuda_arch' variants are added by the CudaPackage
- depends_on('cuda', when='+cuda')
- conflicts('cuda@11.2:', when='@scorec.10.1.0:', msg='Thrust is broken in CUDA >= 11.2.* see https://github.com/sandialabs/omega_h/issues/366')
+ depends_on("cuda", when="+cuda")
+ conflicts(
+ "cuda@11.2:",
+ when="@scorec.10.1.0:",
+ msg="Thrust is broken in CUDA >= 11.2.* see https://github.com/sandialabs/omega_h/issues/366",
+ )
# the sandia repo has a fix for cuda > 11.2 support
# see github.com/sandialabs/omega_h/pull/373
- conflicts('cuda@11.2:', when='@:9.34.4', msg='Thrust is broken in CUDA >= 11.2.* see https://github.com/sandialabs/omega_h/issues/366')
+ conflicts(
+ "cuda@11.2:",
+ when="@:9.34.4",
+ msg="Thrust is broken in CUDA >= 11.2.* see https://github.com/sandialabs/omega_h/issues/366",
+ )
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86610
- conflicts('%gcc@8:8.2', when='@:9.22.1')
+ conflicts("%gcc@8:8.2", when="@:9.22.1")
def _bob_options(self):
- cmake_var_prefix = 'Omega_h_CXX_'
- for variant in ['optimize', 'symbols', 'warnings']:
+ cmake_var_prefix = "Omega_h_CXX_"
+ for variant in ["optimize", "symbols", "warnings"]:
cmake_var = cmake_var_prefix + variant.upper()
- if '+' + variant in self.spec:
- yield '-D' + cmake_var + ':BOOL=ON'
+ if "+" + variant in self.spec:
+ yield "-D" + cmake_var + ":BOOL=ON"
else:
- yield '-D' + cmake_var + ':BOOL=FALSE'
+ yield "-D" + cmake_var + ":BOOL=FALSE"
def cmake_args(self):
- args = ['-DUSE_XSDK_DEFAULTS:BOOL=OFF']
- if '+shared' in self.spec:
- args.append('-DBUILD_SHARED_LIBS:BOOL=ON')
+ args = ["-DUSE_XSDK_DEFAULTS:BOOL=OFF"]
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS:BOOL=ON")
else:
- args.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
- if '+mpi' in self.spec:
- args.append('-DOmega_h_USE_MPI:BOOL=ON')
+ args.append("-DBUILD_SHARED_LIBS:BOOL=OFF")
+ if "+mpi" in self.spec:
+ args.append("-DOmega_h_USE_MPI:BOOL=ON")
ver = self.spec.version
# old versions don't call find_package(MPI)
- if ver < Version('9.33.2') and 'scorec' not in str(ver):
- args.append('-DCMAKE_CXX_COMPILER:FILEPATH={0}'.format(
- self.spec['mpi'].mpicxx))
+ if ver < Version("9.33.2") and "scorec" not in str(ver):
+ args.append("-DCMAKE_CXX_COMPILER:FILEPATH={0}".format(self.spec["mpi"].mpicxx))
else:
- args.append('-DOmega_h_USE_MPI:BOOL=OFF')
- if '+cuda' in self.spec:
- args.append('-DOmega_h_USE_CUDA:BOOL=ON')
- cuda_arch_list = self.spec.variants['cuda_arch'].value
+ args.append("-DOmega_h_USE_MPI:BOOL=OFF")
+ if "+cuda" in self.spec:
+ args.append("-DOmega_h_USE_CUDA:BOOL=ON")
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
cuda_arch = cuda_arch_list[0]
- if cuda_arch != 'none':
- args.append('-DOmega_h_CUDA_ARCH={0}'.format(cuda_arch))
+ if cuda_arch != "none":
+ args.append("-DOmega_h_CUDA_ARCH={0}".format(cuda_arch))
else:
- args.append('-DOmega_h_USE_CUDA:BOOL=OFF')
- if '+trilinos' in self.spec:
- args.append('-DOmega_h_USE_Trilinos:BOOL=ON')
- if '+zlib' in self.spec:
- args.append('-DOmega_h_USE_ZLIB:BOOL=ON')
- args.append('-DZLIB_ROOT:PATH={0}'.format(
- self.spec['zlib'].prefix))
+ args.append("-DOmega_h_USE_CUDA:BOOL=OFF")
+ if "+trilinos" in self.spec:
+ args.append("-DOmega_h_USE_Trilinos:BOOL=ON")
+ if "+zlib" in self.spec:
+ args.append("-DOmega_h_USE_ZLIB:BOOL=ON")
+ args.append("-DZLIB_ROOT:PATH={0}".format(self.spec["zlib"].prefix))
else:
- args.append('-DOmega_h_USE_ZLIB:BOOL=OFF')
- if '+examples' in self.spec:
- args.append('-DOmega_h_EXAMPLES:BOOL=ON')
+ args.append("-DOmega_h_USE_ZLIB:BOOL=OFF")
+ if "+examples" in self.spec:
+ args.append("-DOmega_h_EXAMPLES:BOOL=ON")
else:
- args.append('-DOmega_h_EXAMPLES:BOOL=OFF')
- if '+throw' in self.spec:
- args.append('-DOmega_h_THROW:BOOL=ON')
+ args.append("-DOmega_h_EXAMPLES:BOOL=OFF")
+ if "+throw" in self.spec:
+ args.append("-DOmega_h_THROW:BOOL=ON")
else:
- args.append('-DOmega_h_THROW:BOOL=OFF')
+ args.append("-DOmega_h_THROW:BOOL=OFF")
# omega-h requires empty CMAKE_BUILD_TYPE
- args.append('-DCMAKE_BUILD_TYPE:STRING=')
+ args.append("-DCMAKE_BUILD_TYPE:STRING=")
args += list(self._bob_options())
return args
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
- if self.spec.satisfies('%cce'):
+ if self.spec.satisfies("%cce"):
flags.append("-Wno-final-dtor-non-final-class")
return (None, None, flags)
def test(self):
- if self.spec.version < Version('9.34.1'):
- print('Skipping tests since only relevant for versions > 9.34.1')
+ if self.spec.version < Version("9.34.1"):
+ print("Skipping tests since only relevant for versions > 9.34.1")
return
- exe = join_path(self.prefix.bin, 'osh_box')
- options = ['1', '1', '1', '2', '2', '2', 'box.osh']
- description = 'testing mesh construction'
+ exe = join_path(self.prefix.bin, "osh_box")
+ options = ["1", "1", "1", "2", "2", "2", "box.osh"]
+ description = "testing mesh construction"
self.run_test(exe, options, purpose=description)
- exe = join_path(self.prefix.bin, 'osh_scale')
- options = ['box.osh', '100', 'box_100.osh']
- expected = 'adapting took'
- description = 'testing mesh adaptation'
+ exe = join_path(self.prefix.bin, "osh_scale")
+ options = ["box.osh", "100", "box_100.osh"]
+ expected = "adapting took"
+ description = "testing mesh adaptation"
self.run_test(exe, options, expected, purpose=description)
- exe = join_path(self.prefix.bin, 'osh2vtk')
- options = ['box_100.osh', 'box_100_vtk']
- description = 'testing mesh to vtu conversion'
+ exe = join_path(self.prefix.bin, "osh2vtk")
+ options = ["box_100.osh", "box_100_vtk"]
+ description = "testing mesh to vtu conversion"
self.run_test(exe, options, purpose=description)
diff --git a/var/spack/repos/builtin/packages/omnitrace/package.py b/var/spack/repos/builtin/packages/omnitrace/package.py
index 6c2ba25639..e7e537aa58 100644
--- a/var/spack/repos/builtin/packages/omnitrace/package.py
+++ b/var/spack/repos/builtin/packages/omnitrace/package.py
@@ -9,123 +9,138 @@ from spack.package import *
class Omnitrace(CMakePackage):
- '''Application Profiling, Tracing, and Analysis'''
-
- homepage = 'https://amdresearch.github.io/omnitrace'
- git = 'https://github.com/AMDResearch/omnitrace.git'
- maintainers = ['jrmadsen']
-
- version('main', branch='main', submodules=True)
- version('1.3.0', commit='4dd144a32c8b83c44e132ef53f2b44fe4b4d5569', submodules=True)
- version('1.2.0', commit='f82845388aab108ed1d1fc404f433a0def391bb3', submodules=True)
-
- variant('rocm', default=True, description='Enable ROCm API, kernel tracing, and GPU HW counters support')
- variant('strip', default=False, description='Faster binary instrumentation, worse debugging')
- variant('python', default=False, description='Enable support for Python function profiling and API')
- variant('papi', default=True, description='Enable HW counters support via PAPI')
- variant('ompt', default=True, description='Enable OpenMP Tools support')
- variant('tau', default=False, description='Enable support for using TAU markers in omnitrace instrumentation')
- variant('caliper', default=False, description='Enable support for using Caliper markers in omnitrace instrumentation')
- variant('perfetto_tools', default=False, description='Install perfetto tools (e.g. traced, perfetto)')
+ """Application Profiling, Tracing, and Analysis"""
+
+ homepage = "https://amdresearch.github.io/omnitrace"
+ git = "https://github.com/AMDResearch/omnitrace.git"
+ maintainers = ["jrmadsen"]
+
+ version("main", branch="main", submodules=True)
+ version("1.3.0", commit="4dd144a32c8b83c44e132ef53f2b44fe4b4d5569", submodules=True)
+ version("1.2.0", commit="f82845388aab108ed1d1fc404f433a0def391bb3", submodules=True)
+
+ variant(
+ "rocm",
+ default=True,
+ description="Enable ROCm API, kernel tracing, and GPU HW counters support",
+ )
+ variant("strip", default=False, description="Faster binary instrumentation, worse debugging")
+ variant(
+ "python", default=False, description="Enable support for Python function profiling and API"
+ )
+ variant("papi", default=True, description="Enable HW counters support via PAPI")
+ variant("ompt", default=True, description="Enable OpenMP Tools support")
+ variant(
+ "tau",
+ default=False,
+ description="Enable support for using TAU markers in omnitrace instrumentation",
+ )
+ variant(
+ "caliper",
+ default=False,
+ description="Enable support for using Caliper markers in omnitrace instrumentation",
+ )
+ variant(
+ "perfetto_tools",
+ default=False,
+ description="Install perfetto tools (e.g. traced, perfetto)",
+ )
variant(
- 'mpi',
+ "mpi",
default=False,
description=(
- 'Enable intercepting MPI functions and aggregating output during finalization '
- '(requires target application to use same MPI installation)'
- )
+ "Enable intercepting MPI functions and aggregating output during finalization "
+ "(requires target application to use same MPI installation)"
+ ),
)
variant(
- 'mpi_headers',
+ "mpi_headers",
default=True,
description=(
- 'Enable intercepting MPI functions but w/o support for aggregating output '
- '(target application can use any MPI installation)'
- )
+ "Enable intercepting MPI functions but w/o support for aggregating output "
+ "(target application can use any MPI installation)"
+ ),
)
- extends('python', when='+python')
+ extends("python", when="+python")
# hard dependencies
- depends_on('cmake@3.16:', type='build')
- depends_on('dyninst@11.0.1:', type=('build', 'run'))
- depends_on('libunwind', type=('build', 'run'))
+ depends_on("cmake@3.16:", type="build")
+ depends_on("dyninst@11.0.1:", type=("build", "run"))
+ depends_on("libunwind", type=("build", "run"))
# soft dependencies
- depends_on('hip', when='+rocm')
- depends_on('rocm-smi-lib', when='+rocm')
- depends_on('roctracer-dev', when='+rocm')
- depends_on('rocprofiler-dev', when='@1.3.0: +rocm')
- depends_on('papi+shared', when='+papi')
- depends_on('mpi', when='+mpi')
- depends_on('tau', when='+tau')
- depends_on('caliper', when='+caliper')
- depends_on('python@3:', when='+python', type=('build', 'run'))
+ depends_on("hip", when="+rocm")
+ depends_on("rocm-smi-lib", when="+rocm")
+ depends_on("roctracer-dev", when="+rocm")
+ depends_on("rocprofiler-dev", when="@1.3.0: +rocm")
+ depends_on("papi+shared", when="+papi")
+ depends_on("mpi", when="+mpi")
+ depends_on("tau", when="+tau")
+ depends_on("caliper", when="+caliper")
+ depends_on("python@3:", when="+python", type=("build", "run"))
def __init__(self, *args, **kwargs):
super(Omnitrace, self).__init__(*args, **kwargs)
# default to a release build
- self.variants['build_type'][0].default = 'Release'
+ self.variants["build_type"][0].default = "Release"
def cmake_args(self):
spec = self.spec
args = [
- self.define('SPACK_BUILD', True),
- self.define('OMNITRACE_BUILD_PAPI', False),
- self.define('OMNITRACE_BUILD_PYTHON', True),
- self.define('OMNITRACE_BUILD_DYNINST', False),
- self.define('OMNITRACE_BUILD_LIBUNWIND', False),
- self.define('OMNITRACE_BUILD_STATIC_LIBGCC', False),
- self.define('OMNITRACE_BUILD_STATIC_LIBSTDCXX', False),
- self.define_from_variant('OMNITRACE_BUILD_LTO', 'ipo'),
- self.define_from_variant('OMNITRACE_USE_HIP', 'rocm'),
- self.define_from_variant('OMNITRACE_USE_MPI', 'mpi'),
- self.define_from_variant('OMNITRACE_USE_OMPT', 'ompt'),
- self.define_from_variant('OMNITRACE_USE_PAPI', 'papi'),
- self.define_from_variant('OMNITRACE_USE_RCCL', 'rocm'),
- self.define_from_variant('OMNITRACE_USE_ROCM_SMI', 'rocm'),
- self.define_from_variant('OMNITRACE_USE_ROCTRACER', 'rocm'),
- self.define_from_variant('OMNITRACE_USE_ROCPROFILER', 'rocm'),
- self.define_from_variant('OMNITRACE_USE_PYTHON', 'python'),
- self.define_from_variant('OMNITRACE_USE_MPI_HEADERS', 'mpi_headers'),
- self.define_from_variant('OMNITRACE_STRIP_LIBRARIES', 'strip'),
- self.define_from_variant('OMNITRACE_INSTALL_PERFETTO_TOOLS',
- 'perfetto_tools'),
+ self.define("SPACK_BUILD", True),
+ self.define("OMNITRACE_BUILD_PAPI", False),
+ self.define("OMNITRACE_BUILD_PYTHON", True),
+ self.define("OMNITRACE_BUILD_DYNINST", False),
+ self.define("OMNITRACE_BUILD_LIBUNWIND", False),
+ self.define("OMNITRACE_BUILD_STATIC_LIBGCC", False),
+ self.define("OMNITRACE_BUILD_STATIC_LIBSTDCXX", False),
+ self.define_from_variant("OMNITRACE_BUILD_LTO", "ipo"),
+ self.define_from_variant("OMNITRACE_USE_HIP", "rocm"),
+ self.define_from_variant("OMNITRACE_USE_MPI", "mpi"),
+ self.define_from_variant("OMNITRACE_USE_OMPT", "ompt"),
+ self.define_from_variant("OMNITRACE_USE_PAPI", "papi"),
+ self.define_from_variant("OMNITRACE_USE_RCCL", "rocm"),
+ self.define_from_variant("OMNITRACE_USE_ROCM_SMI", "rocm"),
+ self.define_from_variant("OMNITRACE_USE_ROCTRACER", "rocm"),
+ self.define_from_variant("OMNITRACE_USE_ROCPROFILER", "rocm"),
+ self.define_from_variant("OMNITRACE_USE_PYTHON", "python"),
+ self.define_from_variant("OMNITRACE_USE_MPI_HEADERS", "mpi_headers"),
+ self.define_from_variant("OMNITRACE_STRIP_LIBRARIES", "strip"),
+ self.define_from_variant("OMNITRACE_INSTALL_PERFETTO_TOOLS", "perfetto_tools"),
# timemory arguments
- self.define('TIMEMORY_UNITY_BUILD', False),
- self.define('TIMEMORY_BUILD_CALIPER', False),
- self.define_from_variant('TIMEMORY_USE_TAU', 'tau'),
- self.define_from_variant('TIMEMORY_USE_CALIPER', 'caliper'),
+ self.define("TIMEMORY_UNITY_BUILD", False),
+ self.define("TIMEMORY_BUILD_CALIPER", False),
+ self.define_from_variant("TIMEMORY_USE_TAU", "tau"),
+ self.define_from_variant("TIMEMORY_USE_CALIPER", "caliper"),
]
- if '+tau' in spec:
- tau_root = spec['tau'].prefix
- args.append(self.define('TAU_ROOT_DIR', tau_root))
+ if "+tau" in spec:
+ tau_root = spec["tau"].prefix
+ args.append(self.define("TAU_ROOT_DIR", tau_root))
- if '+python' in spec:
- pyexe = spec['python'].command.path
- args.append(self.define('PYTHON_EXECUTABLE', pyexe))
- args.append(self.define('Python3_EXECUTABLE', pyexe))
+ if "+python" in spec:
+ pyexe = spec["python"].command.path
+ args.append(self.define("PYTHON_EXECUTABLE", pyexe))
+ args.append(self.define("Python3_EXECUTABLE", pyexe))
- if '+mpi' in spec:
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
- args.append(self.define('MPI_CXX_COMPILER', spec['mpi'].mpicxx))
+ if "+mpi" in spec:
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
+ args.append(self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx))
return args
def setup_build_environment(self, env):
- if '+tau' in self.spec:
+ if "+tau" in self.spec:
import glob
# below is how TAU_MAKEFILE is set in packages/tau/package.py
- pattern = join_path(self.spec['tau'].prefix.lib, 'Makefile.*')
+ pattern = join_path(self.spec["tau"].prefix.lib, "Makefile.*")
files = glob.glob(pattern)
if files:
- env.set('TAU_MAKEFILE', files[0])
+ env.set("TAU_MAKEFILE", files[0])
def setup_run_environment(self, env):
- if '+python' in self.spec:
- env.prepend_path(
- 'PYTHONPATH', join_path(self.prefix.lib, 'python', 'site-packages')
- )
+ if "+python" in self.spec:
+ env.prepend_path("PYTHONPATH", join_path(self.prefix.lib, "python", "site-packages"))
diff --git a/var/spack/repos/builtin/packages/ompss/package.py b/var/spack/repos/builtin/packages/ompss/package.py
index fd782a05bf..ab1ab6fa19 100644
--- a/var/spack/repos/builtin/packages/ompss/package.py
+++ b/var/spack/repos/builtin/packages/ompss/package.py
@@ -11,20 +11,21 @@ from spack.package import *
class Ompss(Package):
"""OmpSs is an effort to integrate features from the StarSs programming
- model developed by BSC into a single programming model. In
- particular, our objective is to extend OpenMP with new directives
- to support asynchronous parallelism and heterogeneity (devices
- like GPUs). However, it can also be understood as new directives
- extending other accelerator based APIs like CUDA or OpenCL. Our
- OmpSs environment is built on top of our Mercurium compiler and
- Nanos++ runtime system.
+ model developed by BSC into a single programming model. In
+ particular, our objective is to extend OpenMP with new directives
+ to support asynchronous parallelism and heterogeneity (devices
+ like GPUs). However, it can also be understood as new directives
+ extending other accelerator based APIs like CUDA or OpenCL. Our
+ OmpSs environment is built on top of our Mercurium compiler and
+ Nanos++ runtime system.
"""
+
homepage = "https://pm.bsc.es/"
- url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.10.tar.gz"
- list_url = 'https://pm.bsc.es/ompss-downloads'
+ url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.10.tar.gz"
+ list_url = "https://pm.bsc.es/ompss-downloads"
- version('14.10', sha256='5b38d3e6ce108e7ca73a2599bc698d75ea9f6d90a3be0349faf6d61022e62a38')
+ version("14.10", sha256="5b38d3e6ce108e7ca73a2599bc698d75ea9f6d90a3be0349faf6d61022e62a38")
# all dependencies are optional, really
depends_on("mpi")
@@ -33,31 +34,34 @@ class Ompss(Package):
depends_on("extrae")
def install(self, spec, prefix):
- if 'openmpi' in spec:
- mpi = spec['openmpi']
- elif 'mpich' in spec:
- mpi = spec['mpich']
- elif 'mvapich' in spec:
- mpi = spec['mvapich']
+ if "openmpi" in spec:
+ mpi = spec["openmpi"]
+ elif "mpich" in spec:
+ mpi = spec["mpich"]
+ elif "mvapich" in spec:
+ mpi = spec["mvapich"]
openmp_options = ["--enable-tl-openmp-profile"]
- if spec.satisfies('%intel'):
+ if spec.satisfies("%intel"):
openmp_options.append("--enable-tl-openmp-intel")
- os.chdir(glob.glob('./nanox-*').pop())
- configure("--prefix=%s" % prefix,
- "--with-mcc=%s" % prefix,
- "--with-extrae=%s" %
- spec['extrae'].prefix,
- "--with-hwloc=%s" % spec['hwloc'].prefix)
+ os.chdir(glob.glob("./nanox-*").pop())
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-mcc=%s" % prefix,
+ "--with-extrae=%s" % spec["extrae"].prefix,
+ "--with-hwloc=%s" % spec["hwloc"].prefix,
+ )
make()
make("install")
- os.chdir(glob.glob('../mcxx-*').pop())
- configure("--prefix=%s" % prefix,
- "--with-nanox=%s" % prefix,
- "--enable-ompss",
- "--with-mpi=%s" % mpi.prefix,
- *openmp_options)
+ os.chdir(glob.glob("../mcxx-*").pop())
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-nanox=%s" % prefix,
+ "--enable-ompss",
+ "--with-mpi=%s" % mpi.prefix,
+ *openmp_options
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/ompt-openmp/package.py b/var/spack/repos/builtin/packages/ompt-openmp/package.py
index a03989ba4d..163ba56631 100644
--- a/var/spack/repos/builtin/packages/ompt-openmp/package.py
+++ b/var/spack/repos/builtin/packages/ompt-openmp/package.py
@@ -8,22 +8,23 @@ from spack.package import *
class OmptOpenmp(CMakePackage):
"""LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the
- OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP
- mirror. This library provides a drop-in replacement of the OpenMP
- runtimes for GCC, Intel and LLVM/Clang.
+ OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP
+ mirror. This library provides a drop-in replacement of the OpenMP
+ runtimes for GCC, Intel and LLVM/Clang.
"""
+
homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp"
- url = "http://github.com/khuck/LLVM-openmp/archive/v0.1.tar.gz"
+ url = "http://github.com/khuck/LLVM-openmp/archive/v0.1.tar.gz"
- version('0.1', sha256='a35dd2a83777fce54386d54cea8d2df9b5f34309d66fbc1d1757d55f6048c7a7')
+ version("0.1", sha256="a35dd2a83777fce54386d54cea8d2df9b5f34309d66fbc1d1757d55f6048c7a7")
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
- conflicts('%gcc@:4.7')
+ conflicts("%gcc@:4.7")
- root_cmakelists_dir = 'runtime'
+ root_cmakelists_dir = "runtime"
@property
def libs(self):
- return find_libraries('libomp', root=self.prefix, recursive=True)
+ return find_libraries("libomp", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/oneapi-igc/package.py b/var/spack/repos/builtin/packages/oneapi-igc/package.py
index 157c1a591a..4a29aa2584 100644
--- a/var/spack/repos/builtin/packages/oneapi-igc/package.py
+++ b/var/spack/repos/builtin/packages/oneapi-igc/package.py
@@ -15,17 +15,20 @@ class OneapiIgc(Package):
homepage = "https://github.com/intel/intel-graphics-compiler"
has_code = False
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- version('1.0.10409')
- version('1.0.8744')
- version('1.0.8517')
+ version("1.0.10409")
+ version("1.0.8744")
+ version("1.0.8517")
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
@property
def libs(self):
- return find_libraries(['libigc'], root=self.prefix, recursive=True)
+ return find_libraries(["libigc"], root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/oneapi-level-zero/package.py b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py
index 86123198ad..8c463b24e7 100644
--- a/var/spack/repos/builtin/packages/oneapi-level-zero/package.py
+++ b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py
@@ -17,17 +17,17 @@ class OneapiLevelZero(CMakePackage):
"""
homepage = "https://dgpu-docs.intel.com/technologies/level-zero.html"
- url = "https://github.com/oneapi-src/level-zero/archive/refs/tags/v1.7.15.tar.gz"
+ url = "https://github.com/oneapi-src/level-zero/archive/refs/tags/v1.7.15.tar.gz"
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- version('1.7.15', sha256='c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617')
- version('1.7.9', sha256='b430a7f833a689c899b32172a31c3bca1d16adcad8ff866f240a3a8968433de7')
- version('1.7.4', sha256='23a3f393f6e8f7ed694e0d3248d1ac1b92f2b6964cdb4d747abc23328050513b')
- version('1.6.2', sha256='ef124adc7a011b672e661fbe38873d7db6546c068a4a03610fdc5118b6b6cbf7')
- version('1.5.4', sha256='0332215bd00f49e3cc75cf0cfb0111b5e8b7f41046f0b85e29725f00c26bf750')
- version('1.5', sha256='f93523b412522713bb28d54e2326cac0c342a0cd2662f524c17a65887cf868e8')
- version('1.4.1', sha256='2878fa29cbf5cea677a00f6dde6eb42d147c98c8d2a99fefece284d85cd1476b')
- version('1.3.7', sha256='e84c7f36316257eb46f74b41aef5c37fb593a8821497e45dfeda81aceba0abbc')
- version('1.3.6', sha256='c2b3bd6e4ee3cc874bdcc32bc8705bd217ffc46b194c77e27b23b8391c0c9704')
- version('1.2.3', sha256='69689429fcdaef74fa8395785aca65f5652e410bd6c56f47b2b64692c098892b')
+ version("1.7.15", sha256="c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617")
+ version("1.7.9", sha256="b430a7f833a689c899b32172a31c3bca1d16adcad8ff866f240a3a8968433de7")
+ version("1.7.4", sha256="23a3f393f6e8f7ed694e0d3248d1ac1b92f2b6964cdb4d747abc23328050513b")
+ version("1.6.2", sha256="ef124adc7a011b672e661fbe38873d7db6546c068a4a03610fdc5118b6b6cbf7")
+ version("1.5.4", sha256="0332215bd00f49e3cc75cf0cfb0111b5e8b7f41046f0b85e29725f00c26bf750")
+ version("1.5", sha256="f93523b412522713bb28d54e2326cac0c342a0cd2662f524c17a65887cf868e8")
+ version("1.4.1", sha256="2878fa29cbf5cea677a00f6dde6eb42d147c98c8d2a99fefece284d85cd1476b")
+ version("1.3.7", sha256="e84c7f36316257eb46f74b41aef5c37fb593a8821497e45dfeda81aceba0abbc")
+ version("1.3.6", sha256="c2b3bd6e4ee3cc874bdcc32bc8705bd217ffc46b194c77e27b23b8391c0c9704")
+ version("1.2.3", sha256="69689429fcdaef74fa8395785aca65f5652e410bd6c56f47b2b64692c098892b")
diff --git a/var/spack/repos/builtin/packages/onednn/package.py b/var/spack/repos/builtin/packages/onednn/package.py
index 01ae09c632..3774a09514 100644
--- a/var/spack/repos/builtin/packages/onednn/package.py
+++ b/var/spack/repos/builtin/packages/onednn/package.py
@@ -14,107 +14,115 @@ class Onednn(CMakePackage):
Formerly known as Intel MKL-DNN and DNNL."""
homepage = "https://01.org/onednn"
- url = "https://github.com/oneapi-src/oneDNN/archive/v1.7.tar.gz"
- git = "https://github.com/oneapi-src/oneDNN.git"
-
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('2.5.2', sha256='11d50235afa03571dc70bb6d96a98bfb5d9b53e8c00cc2bfbde78588bd01f6a3')
- version('2.1-rc', sha256='13d293e7368a8fdd8dd3c11c73352cf5f564398658dd027ce0acde947440b4cb')
- version('2.0', sha256='922b42c3ea7a7122a77c61568dc4512aa8130c264c0489283c989919d1f59a6d')
- version('1.8.1', sha256='1883ccfb037bd31f916203a38e877899fc27ae10bc9ebad686f78d189ba506a7')
- version('1.8', sha256='0a1bfbbc6fd86c6ea4cf0f7c36fe3e69b0bbefa74158c65a5db28d589cb5fbe9')
- version('1.7', sha256='2dbd53578b36bd84bbc3e411d1a4cacc0eed832892818c5fa16b72cbf1dab015')
- version('1.6.5', sha256='6258d961fe1757b70d10cf34f0925079401ffae264f056b15024270b11d5c1eb')
- version('1.6.4', sha256='5369f7b2f0b52b40890da50c0632c3a5d1082d98325d0f2bff125d19d0dcaa1d')
- version('1.6.3', sha256='471c877671f672e4119e5f49143890c5ce2efff80a52a5eaf7ef3730eb3e1738')
- version('1.6.2', sha256='83533fcf81cd4c4565bf640b895d1ea0a4563a5dac88af8e5c05813f1af13e25')
- version('1.6.1', sha256='6686d01d9493905c9c8bcfabcf5b2cc9ced7de7a41c52bba99e569fd5b63464d')
- version('1.6', sha256='f54893e487ccd99586725afdd19f526bb84e3251222586850782e3c7eedb7c4f')
- version('1.5.1', sha256='aef4d2a726f76f5b98902491a1a4ac69954039aa8e5a1d67ef6ce58ed00e23a6')
- version('1.5', sha256='2aacc00129418185e0bc1269d3ef82f93f08de2c336932989c0c360279129edb')
- version('1.4', sha256='54737bcb4dc1961d32ee75da3ecc529fa48198f8b2ca863a079e19a9c4adb70f')
- version('1.3', sha256='b87c23b40a93ef5e479c81028db71c4847225b1a170f82af5e79f1cda826d3bf')
- version('1.2.2', sha256='251dd17643cff285f38b020fc4ac9245d8d596f3e2140b98982ffc32eae3943c')
- version('1.2.1', sha256='e7798b82a4c57a75c8cf48607007ab7d46c428d3837644da8004ea2fb37c9bd0')
- version('1.2', sha256='101aa3c3bd943de6597ff3230d2d61ecaff70cbe9a18db3ed7605a26d4140874')
- version('1.1.3', sha256='91e47e9c97bc7765fa4dd65dcca2c9ba8a71d4cfe72ee71ae6f6623a8e476dec')
- version('1.1.2', sha256='361545c9d03a451ee731e778df6dc42c26528130d16be4472c4a0ce164e8448f')
- version('1.1.1', sha256='22fd037f8a6316ae23cddec118b571459064a1fdbab054fe6401713db8803d1c')
- version('1.1', sha256='77533413aa6828aa724a1ef8ac0587c999e41fe36fae4f63cde5c4652ec11fd3')
- version('1.0.4', sha256='70b079c73120821d274f91a56f3a8b15dc6c514f4ac86a89f0612e5e2ac7ca8d')
- version('1.0.3', sha256='a3da591ffd7ccc269bbaef4894b409b09e80ea1bbd678f7fa0f3cf96f48e6b3e')
- version('1.0.2', sha256='9281715436adb7b9eef63fad419a581f397218824bc1271e557c134725c03916')
- version('1.0.1', sha256='8fee2324267811204c1f877a1dea70b23ab3d5f4c3ea0198d81f0921aa70d76e')
- version('1.0', sha256='7bfe11cac1d1f5dc1b60c1258e79d8cc84944d459e3758d50c1f7feba05bc6d7')
- version('0.21.5', sha256='ebb146cadda1c14767251ded54219c8215daee84aa1ac773cf43b5c2ae53160b')
- version('0.21.4', sha256='00ace1ce08cab3408bc83e6b9d55ccba661761e044c03175d58caccedddf93b3')
- version('0.21.3', sha256='a0211aeb5e7dad50b97fa5dffc1a2fe2fe732572d4164e1ee8750a2ede43fbec')
- version('0.21.2', sha256='5897bfd0e321a761de0c57ba1dfe0ebc753cc0d8a18bda2056af48022706a297')
- version('0.21.1', sha256='4cabdb02863a874b2fe58b46489eda5cfefcbe6c63cb615f4d86bf00a6ccfffa')
- version('0.21', sha256='1d97635c8ef40dae3bc46e79769326216d0495a0262ab7cf0ea294ca7924f8e4')
- version('0.20.6', sha256='f1de676fddeb94132c5ae480fb03a64f03deda10b09b3141373f2b2fe5cd031d')
- version('0.20.5', sha256='47af2fa2987836794ad2a48cb289ac053f8c4babc274a8d943944576d00a73d0')
- version('0.20.4', sha256='87947726af741e46314756329ee5a16f18ace17f342ec4489679c09e4ab18bbe')
- version('0.20.3', sha256='0a0b60c8a4c56f50455241ea1cf9be84b3b7d255d76f9fae0143c1bd089fb1f2')
- version('0.20.2', sha256='a70f7877481427df04f26d0dcd9c80bc9844b8e4dded4bfd763b6a4697a57f32')
- version('0.20.1', sha256='a0fe8a9f5358a8e2fb56d0440516c398ed838b2eff2b5bab27606e376c10ca31')
- version('0.20', sha256='99828ff0157b31c0d45b9fd63cfe3fe02c4dc13633b8a1207fffddac56770baa')
- version('0.19', sha256='a7e64e07a5db1c42d72a23bea4acd04fd0c162e27af0b8b8f38ca48b6b5d9999')
- version('0.18.1', sha256='a704e8a2011494a489ec01f42295fea577ea4108ac6159db47ee1ebcca369c26')
- version('0.11', sha256='2d8c1e39107f3fcfa93a5cc8ac8e94b1bbf0a0715b0c99e0d52ed18646346d58')
- version('0.10', sha256='e783d6d085e4dd930a990cf02a76401071f606c6f40e47eae4dc638b54146430')
- version('0.9', sha256='721ab6a14e05f9916645ebb410c3e97fae660d09a1c7df4da7958676504e572b')
-
- default_cpu_runtime = 'omp'
- if sys.platform == 'darwin':
- default_cpu_runtime = 'tbb'
-
- variant('cpu_runtime', default=default_cpu_runtime,
- description='CPU threading runtime to use',
- values=('omp', 'tbb', 'seq'), multi=False)
- variant('gpu_runtime', default='none',
- description='Runtime to use for GPU engines',
- values=('ocl', 'none'), multi=False)
+ url = "https://github.com/oneapi-src/oneDNN/archive/v1.7.tar.gz"
+ git = "https://github.com/oneapi-src/oneDNN.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("2.5.2", sha256="11d50235afa03571dc70bb6d96a98bfb5d9b53e8c00cc2bfbde78588bd01f6a3")
+ version("2.1-rc", sha256="13d293e7368a8fdd8dd3c11c73352cf5f564398658dd027ce0acde947440b4cb")
+ version("2.0", sha256="922b42c3ea7a7122a77c61568dc4512aa8130c264c0489283c989919d1f59a6d")
+ version("1.8.1", sha256="1883ccfb037bd31f916203a38e877899fc27ae10bc9ebad686f78d189ba506a7")
+ version("1.8", sha256="0a1bfbbc6fd86c6ea4cf0f7c36fe3e69b0bbefa74158c65a5db28d589cb5fbe9")
+ version("1.7", sha256="2dbd53578b36bd84bbc3e411d1a4cacc0eed832892818c5fa16b72cbf1dab015")
+ version("1.6.5", sha256="6258d961fe1757b70d10cf34f0925079401ffae264f056b15024270b11d5c1eb")
+ version("1.6.4", sha256="5369f7b2f0b52b40890da50c0632c3a5d1082d98325d0f2bff125d19d0dcaa1d")
+ version("1.6.3", sha256="471c877671f672e4119e5f49143890c5ce2efff80a52a5eaf7ef3730eb3e1738")
+ version("1.6.2", sha256="83533fcf81cd4c4565bf640b895d1ea0a4563a5dac88af8e5c05813f1af13e25")
+ version("1.6.1", sha256="6686d01d9493905c9c8bcfabcf5b2cc9ced7de7a41c52bba99e569fd5b63464d")
+ version("1.6", sha256="f54893e487ccd99586725afdd19f526bb84e3251222586850782e3c7eedb7c4f")
+ version("1.5.1", sha256="aef4d2a726f76f5b98902491a1a4ac69954039aa8e5a1d67ef6ce58ed00e23a6")
+ version("1.5", sha256="2aacc00129418185e0bc1269d3ef82f93f08de2c336932989c0c360279129edb")
+ version("1.4", sha256="54737bcb4dc1961d32ee75da3ecc529fa48198f8b2ca863a079e19a9c4adb70f")
+ version("1.3", sha256="b87c23b40a93ef5e479c81028db71c4847225b1a170f82af5e79f1cda826d3bf")
+ version("1.2.2", sha256="251dd17643cff285f38b020fc4ac9245d8d596f3e2140b98982ffc32eae3943c")
+ version("1.2.1", sha256="e7798b82a4c57a75c8cf48607007ab7d46c428d3837644da8004ea2fb37c9bd0")
+ version("1.2", sha256="101aa3c3bd943de6597ff3230d2d61ecaff70cbe9a18db3ed7605a26d4140874")
+ version("1.1.3", sha256="91e47e9c97bc7765fa4dd65dcca2c9ba8a71d4cfe72ee71ae6f6623a8e476dec")
+ version("1.1.2", sha256="361545c9d03a451ee731e778df6dc42c26528130d16be4472c4a0ce164e8448f")
+ version("1.1.1", sha256="22fd037f8a6316ae23cddec118b571459064a1fdbab054fe6401713db8803d1c")
+ version("1.1", sha256="77533413aa6828aa724a1ef8ac0587c999e41fe36fae4f63cde5c4652ec11fd3")
+ version("1.0.4", sha256="70b079c73120821d274f91a56f3a8b15dc6c514f4ac86a89f0612e5e2ac7ca8d")
+ version("1.0.3", sha256="a3da591ffd7ccc269bbaef4894b409b09e80ea1bbd678f7fa0f3cf96f48e6b3e")
+ version("1.0.2", sha256="9281715436adb7b9eef63fad419a581f397218824bc1271e557c134725c03916")
+ version("1.0.1", sha256="8fee2324267811204c1f877a1dea70b23ab3d5f4c3ea0198d81f0921aa70d76e")
+ version("1.0", sha256="7bfe11cac1d1f5dc1b60c1258e79d8cc84944d459e3758d50c1f7feba05bc6d7")
+ version("0.21.5", sha256="ebb146cadda1c14767251ded54219c8215daee84aa1ac773cf43b5c2ae53160b")
+ version("0.21.4", sha256="00ace1ce08cab3408bc83e6b9d55ccba661761e044c03175d58caccedddf93b3")
+ version("0.21.3", sha256="a0211aeb5e7dad50b97fa5dffc1a2fe2fe732572d4164e1ee8750a2ede43fbec")
+ version("0.21.2", sha256="5897bfd0e321a761de0c57ba1dfe0ebc753cc0d8a18bda2056af48022706a297")
+ version("0.21.1", sha256="4cabdb02863a874b2fe58b46489eda5cfefcbe6c63cb615f4d86bf00a6ccfffa")
+ version("0.21", sha256="1d97635c8ef40dae3bc46e79769326216d0495a0262ab7cf0ea294ca7924f8e4")
+ version("0.20.6", sha256="f1de676fddeb94132c5ae480fb03a64f03deda10b09b3141373f2b2fe5cd031d")
+ version("0.20.5", sha256="47af2fa2987836794ad2a48cb289ac053f8c4babc274a8d943944576d00a73d0")
+ version("0.20.4", sha256="87947726af741e46314756329ee5a16f18ace17f342ec4489679c09e4ab18bbe")
+ version("0.20.3", sha256="0a0b60c8a4c56f50455241ea1cf9be84b3b7d255d76f9fae0143c1bd089fb1f2")
+ version("0.20.2", sha256="a70f7877481427df04f26d0dcd9c80bc9844b8e4dded4bfd763b6a4697a57f32")
+ version("0.20.1", sha256="a0fe8a9f5358a8e2fb56d0440516c398ed838b2eff2b5bab27606e376c10ca31")
+ version("0.20", sha256="99828ff0157b31c0d45b9fd63cfe3fe02c4dc13633b8a1207fffddac56770baa")
+ version("0.19", sha256="a7e64e07a5db1c42d72a23bea4acd04fd0c162e27af0b8b8f38ca48b6b5d9999")
+ version("0.18.1", sha256="a704e8a2011494a489ec01f42295fea577ea4108ac6159db47ee1ebcca369c26")
+ version("0.11", sha256="2d8c1e39107f3fcfa93a5cc8ac8e94b1bbf0a0715b0c99e0d52ed18646346d58")
+ version("0.10", sha256="e783d6d085e4dd930a990cf02a76401071f606c6f40e47eae4dc638b54146430")
+ version("0.9", sha256="721ab6a14e05f9916645ebb410c3e97fae660d09a1c7df4da7958676504e572b")
+
+ default_cpu_runtime = "omp"
+ if sys.platform == "darwin":
+ default_cpu_runtime = "tbb"
+
+ variant(
+ "cpu_runtime",
+ default=default_cpu_runtime,
+ description="CPU threading runtime to use",
+ values=("omp", "tbb", "seq"),
+ multi=False,
+ )
+ variant(
+ "gpu_runtime",
+ default="none",
+ description="Runtime to use for GPU engines",
+ values=("ocl", "none"),
+ multi=False,
+ )
# https://github.com/oneapi-src/oneDNN#requirements-for-building-from-source
- depends_on('cmake@2.8.11:', type='build')
- depends_on('tbb@2017:', when='cpu_runtime=tbb')
- depends_on('llvm-openmp', when='%apple-clang cpu_runtime=omp')
- depends_on('opencl@1.2:', when='gpu_runtime=ocl')
+ depends_on("cmake@2.8.11:", type="build")
+ depends_on("tbb@2017:", when="cpu_runtime=tbb")
+ depends_on("llvm-openmp", when="%apple-clang cpu_runtime=omp")
+ depends_on("opencl@1.2:", when="gpu_runtime=ocl")
def cmake_args(self):
args = [
- '-DDNNL_CPU_RUNTIME={0}'.format(
- self.spec.variants['cpu_runtime'].value.upper()),
- '-DDNNL_GPU_RUNTIME={0}'.format(
- self.spec.variants['gpu_runtime'].value.upper()),
+ "-DDNNL_CPU_RUNTIME={0}".format(self.spec.variants["cpu_runtime"].value.upper()),
+ "-DDNNL_GPU_RUNTIME={0}".format(self.spec.variants["gpu_runtime"].value.upper()),
]
if self.run_tests:
- args.append('-DDNNL_BUILD_TESTS=ON')
+ args.append("-DDNNL_BUILD_TESTS=ON")
else:
- args.append('-DDNNL_BUILD_TESTS=OFF')
+ args.append("-DDNNL_BUILD_TESTS=OFF")
# https://github.com/oneapi-src/oneDNN/issues/591
- if self.spec.satisfies('%apple-clang cpu_runtime=omp'):
- args.extend([
- '-DOpenMP_CXX_FLAGS={0}'.format(self.compiler.openmp_flag),
- '-DOpenMP_C_FLAGS={0}'.format(self.compiler.openmp_flag),
- '-DOpenMP_CXX_LIB_NAMES=libomp',
- '-DOpenMP_C_LIB_NAMES=libomp',
- '-DOpenMP_libomp_LIBRARY={0}'.format(
- self.spec['llvm-openmp'].libs.libraries[0]
- ),
- '-DCMAKE_SHARED_LINKER_FLAGS={0}'.format(
- self.spec['llvm-openmp'].libs.ld_flags
- ),
- ])
- elif self.spec.satisfies('cpu_runtime=tbb'):
- args.append('-DTBBROOT=' + self.spec['tbb'].prefix)
-
- if self.spec.satisfies('gpu_runtime=ocl'):
- args.append('-DOPENCLROOT=' + self.spec['opencl'].prefix)
+ if self.spec.satisfies("%apple-clang cpu_runtime=omp"):
+ args.extend(
+ [
+ "-DOpenMP_CXX_FLAGS={0}".format(self.compiler.openmp_flag),
+ "-DOpenMP_C_FLAGS={0}".format(self.compiler.openmp_flag),
+ "-DOpenMP_CXX_LIB_NAMES=libomp",
+ "-DOpenMP_C_LIB_NAMES=libomp",
+ "-DOpenMP_libomp_LIBRARY={0}".format(
+ self.spec["llvm-openmp"].libs.libraries[0]
+ ),
+ "-DCMAKE_SHARED_LINKER_FLAGS={0}".format(
+ self.spec["llvm-openmp"].libs.ld_flags
+ ),
+ ]
+ )
+ elif self.spec.satisfies("cpu_runtime=tbb"):
+ args.append("-DTBBROOT=" + self.spec["tbb"].prefix)
+
+ if self.spec.satisfies("gpu_runtime=ocl"):
+ args.append("-DOPENCLROOT=" + self.spec["opencl"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/oniguruma/package.py b/var/spack/repos/builtin/packages/oniguruma/package.py
index 7a16e993e2..46d9ad31a8 100644
--- a/var/spack/repos/builtin/packages/oniguruma/package.py
+++ b/var/spack/repos/builtin/packages/oniguruma/package.py
@@ -10,25 +10,24 @@ class Oniguruma(AutotoolsPackage):
"""Regular expression library."""
homepage = "https://github.com/kkos/oniguruma"
- url = "https://github.com/kkos/oniguruma/releases/download/v6.9.4/onig-6.9.4.tar.gz"
+ url = "https://github.com/kkos/oniguruma/releases/download/v6.9.4/onig-6.9.4.tar.gz"
- version('6.9.4', sha256='4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53')
- version('6.1.3', sha256='480c850cd7c7f2fcaad0942b4a488e2af01fbb8e65375d34908f558b432725cf')
+ version("6.9.4", sha256="4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53")
+ version("6.1.3", sha256="480c850cd7c7f2fcaad0942b4a488e2af01fbb8e65375d34908f558b432725cf")
@property
def libs(self):
- return find_libraries('libonig', root=self.prefix, recursive=True)
+ return find_libraries("libonig", root=self.prefix, recursive=True)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def configuration_check(self):
- onig_config = Executable(join_path(self.prefix.bin, 'onig-config'))
-
- assert onig_config('--cflags', output=str).rstrip() == \
- self.spec['oniguruma'].headers.include_flags
- assert onig_config('--libs', output=str).rstrip() == \
- self.spec['oniguruma'].libs.ld_flags
- assert onig_config('--prefix', output=str).rstrip() == \
- self.prefix
- assert onig_config('--exec-prefix', output=str).rstrip() == \
- self.prefix
+ onig_config = Executable(join_path(self.prefix.bin, "onig-config"))
+
+ assert (
+ onig_config("--cflags", output=str).rstrip()
+ == self.spec["oniguruma"].headers.include_flags
+ )
+ assert onig_config("--libs", output=str).rstrip() == self.spec["oniguruma"].libs.ld_flags
+ assert onig_config("--prefix", output=str).rstrip() == self.prefix
+ assert onig_config("--exec-prefix", output=str).rstrip() == self.prefix
diff --git a/var/spack/repos/builtin/packages/onnx/package.py b/var/spack/repos/builtin/packages/onnx/package.py
index df06a52c2f..15158d9e07 100644
--- a/var/spack/repos/builtin/packages/onnx/package.py
+++ b/var/spack/repos/builtin/packages/onnx/package.py
@@ -14,36 +14,50 @@ class Onnx(CMakePackage):
as definitions of built-in operators and standard data types."""
homepage = "https://github.com/onnx/onnx"
- url = "https://github.com/onnx/onnx/archive/refs/tags/v1.9.0.tar.gz"
- git = "https://github.com/onnx/onnx.git"
-
- version('master', branch='master')
- version('1.12.0', sha256='052ad3d5dad358a33606e0fc89483f8150bb0655c99b12a43aa58b5b7f0cc507')
- version('1.11.0', sha256='a20f2d9df805b16ac75ab4da0a230d3d1c304127d719e5c66a4e6df514e7f6c0') # py-torch@1.12:
- version('1.10.2', sha256='520b3aa34272cc215e2eb41385f58adf01750d88858d4722563edca8410c5dc9')
- version('1.10.1_2021-10-08', commit='85546f8c44e627f8ff1181725d03cc49f675e44f') # py-torch@1.11
- version('1.10.1', sha256='cb2fe3e0c9bba128a5790a565d81be30f4b5571eaca5418fb19df8d2d0f11ce2') # py-torch@1.10
- version('1.10.0', sha256='705a27ee076713b8c755911913c9ffa8f96b95fc3a8568ed0b8e1dd954d67147')
- version('1.9.0', sha256='61d459a5f30604cabec352574119a6685dfd43bfa757cfbff52be9471d5b8ea0')
- version('1.8.0_2020-11-03', commit='54c38e6eaf557b844e70cebc00f39ced3321e9ad') # py-torch@1.8:1.9
- version('1.7.0_2020-05-31', commit='a82c6a7010e2e332d8f74ad5b0c726fd47c85376') # py-torch@1.6:1.7
- version('1.6.0_2020-02-16', commit='9fdae4c68960a2d44cd1cc871c74a6a9d469fa1f') # py-torch@1.5
- version('1.6.0_2019-11-06', commit='fea8568cac61a482ed208748fdc0e1a8e47f62f5') # py-torch@1.4
- version('1.6.0_2019-09-26', commit='034921bd574cc84906b7996c07873454b7dd4135') # py-torch@1.3
- version('1.5.0_2019-07-25', commit='28ca699b69b5a31892619defca2391044a9a6052') # py-torch@1.2
- version('1.5.0_2019-04-25', commit='22662bfd4dcc6baebf29e3b823a051676f991001') # py-torch@1.1
- version('1.3.0_2018-12-04', commit='42804705bdbf179d1a98394008417e1392013547') # py-torch@1.0
- version('1.2.2_2018-07-16', commit='b2817a682f25f960586f06caa539bbbd7a96b859') # py-torch@0.4.1
- version('1.1.0_2018-04-19', commit='7e1bed51cc508a25b22130de459830b5d5063c41') # py-torch@0.4.0
-
- depends_on('cmake@3.1:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
- depends_on('protobuf')
-
- generator = 'Ninja'
+ url = "https://github.com/onnx/onnx/archive/refs/tags/v1.9.0.tar.gz"
+ git = "https://github.com/onnx/onnx.git"
+
+ version("master", branch="master")
+ version("1.12.0", sha256="052ad3d5dad358a33606e0fc89483f8150bb0655c99b12a43aa58b5b7f0cc507")
+ version(
+ "1.11.0", sha256="a20f2d9df805b16ac75ab4da0a230d3d1c304127d719e5c66a4e6df514e7f6c0"
+ ) # py-torch@1.12:
+ version("1.10.2", sha256="520b3aa34272cc215e2eb41385f58adf01750d88858d4722563edca8410c5dc9")
+ version(
+ "1.10.1_2021-10-08", commit="85546f8c44e627f8ff1181725d03cc49f675e44f"
+ ) # py-torch@1.11
+ version(
+ "1.10.1", sha256="cb2fe3e0c9bba128a5790a565d81be30f4b5571eaca5418fb19df8d2d0f11ce2"
+ ) # py-torch@1.10
+ version("1.10.0", sha256="705a27ee076713b8c755911913c9ffa8f96b95fc3a8568ed0b8e1dd954d67147")
+ version("1.9.0", sha256="61d459a5f30604cabec352574119a6685dfd43bfa757cfbff52be9471d5b8ea0")
+ version(
+ "1.8.0_2020-11-03", commit="54c38e6eaf557b844e70cebc00f39ced3321e9ad"
+ ) # py-torch@1.8:1.9
+ version(
+ "1.7.0_2020-05-31", commit="a82c6a7010e2e332d8f74ad5b0c726fd47c85376"
+ ) # py-torch@1.6:1.7
+ version("1.6.0_2020-02-16", commit="9fdae4c68960a2d44cd1cc871c74a6a9d469fa1f") # py-torch@1.5
+ version("1.6.0_2019-11-06", commit="fea8568cac61a482ed208748fdc0e1a8e47f62f5") # py-torch@1.4
+ version("1.6.0_2019-09-26", commit="034921bd574cc84906b7996c07873454b7dd4135") # py-torch@1.3
+ version("1.5.0_2019-07-25", commit="28ca699b69b5a31892619defca2391044a9a6052") # py-torch@1.2
+ version("1.5.0_2019-04-25", commit="22662bfd4dcc6baebf29e3b823a051676f991001") # py-torch@1.1
+ version("1.3.0_2018-12-04", commit="42804705bdbf179d1a98394008417e1392013547") # py-torch@1.0
+ version(
+ "1.2.2_2018-07-16", commit="b2817a682f25f960586f06caa539bbbd7a96b859"
+ ) # py-torch@0.4.1
+ version(
+ "1.1.0_2018-04-19", commit="7e1bed51cc508a25b22130de459830b5d5063c41"
+ ) # py-torch@0.4.0
+
+ depends_on("cmake@3.1:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
+ depends_on("protobuf")
+
+ generator = "Ninja"
def cmake_args(self):
# Try to get ONNX to use the same version of python as the spec is using
- args = ['-DPY_VERSION={0}'.format(self.spec['python'].version.up_to(2))]
+ args = ["-DPY_VERSION={0}".format(self.spec["python"].version.up_to(2))]
return args
diff --git a/var/spack/repos/builtin/packages/ont-albacore/package.py b/var/spack/repos/builtin/packages/ont-albacore/package.py
index b532fe1066..299e66c072 100644
--- a/var/spack/repos/builtin/packages/ont-albacore/package.py
+++ b/var/spack/repos/builtin/packages/ont-albacore/package.py
@@ -16,11 +16,15 @@ class OntAlbacore(PythonPackage):
homepage = "https://nanoporetech.com"
url = "https://mirror.oxfordnanoportal.com/software/analysis/ont_albacore-2.3.1-cp35-cp35m-manylinux1_x86_64.whl"
- version('2.3.1', sha256='dc1af11b0f38b26d071e5389c2b4595c496319c987401754e1853de42467a7d1', expand=False)
+ version(
+ "2.3.1",
+ sha256="dc1af11b0f38b26d071e5389c2b4595c496319c987401754e1853de42467a7d1",
+ expand=False,
+ )
- depends_on('python@3.5.0:3.5', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.13.0', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-ont-fast5-api', type=('build', 'run'))
+ depends_on("python@3.5.0:3.5", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.13.0", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-ont-fast5-api", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ont-guppy/package.py b/var/spack/repos/builtin/packages/ont-guppy/package.py
index 29ee5fdc5f..72d78e555e 100644
--- a/var/spack/repos/builtin/packages/ont-guppy/package.py
+++ b/var/spack/repos/builtin/packages/ont-guppy/package.py
@@ -17,13 +17,22 @@ from spack.package import *
# - a cuda dependency must be set for each new cuda version
_versions = {
- '6.1.7-cuda': {
- 'Linux-x86_64': ('c3dd8f8b7567061a155d1921586dd95540410b35b2ccb8a33a463d9db8642711', 'https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy_6.1.7_linux64.tar.gz'),
- 'Linux-aarch64': ('e821fe85b538e1a5d38c17c8fc7497f6fad200ff9fdf0c98921b4d7b1d490914', 'https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy_6.1.7_linuxaarch64_cuda10.tar.gz'),
+ "6.1.7-cuda": {
+ "Linux-x86_64": (
+ "c3dd8f8b7567061a155d1921586dd95540410b35b2ccb8a33a463d9db8642711",
+ "https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy_6.1.7_linux64.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "e821fe85b538e1a5d38c17c8fc7497f6fad200ff9fdf0c98921b4d7b1d490914",
+ "https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy_6.1.7_linuxaarch64_cuda10.tar.gz",
+ ),
+ },
+ "6.1.7": {
+ "Linux-x86_64": (
+ "4540441ca5393d76f05485f38cdba2dc0b5785af31d77006bdc3664b3f2644cb",
+ "https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy-cpu_6.1.7_linux64.tar.gz",
+ )
},
- '6.1.7': {
- 'Linux-x86_64': ('4540441ca5393d76f05485f38cdba2dc0b5785af31d77006bdc3664b3f2644cb', 'https://cdn.oxfordnanoportal.com/software/analysis/ont-guppy-cpu_6.1.7_linux64.tar.gz')
- }
}
@@ -44,9 +53,9 @@ class OntGuppy(Package):
version(ver, sha256=pkg[0], url=pkg[1], preferred=is_preferred)
- depends_on('cuda@11.0.0:', when='@6.1.7-cuda', type='run')
+ depends_on("cuda@11.0.0:", when="@6.1.7-cuda", type="run")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('data', prefix.data)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("data", prefix.data)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/oommf/package.py b/var/spack/repos/builtin/packages/oommf/package.py
index 814b091933..860b19be85 100644
--- a/var/spack/repos/builtin/packages/oommf/package.py
+++ b/var/spack/repos/builtin/packages/oommf/package.py
@@ -117,9 +117,7 @@ class Oommf(Package):
Here, we try to find the relative path to that file, and return it.
"""
if "oommf.tcl" in os.listdir():
- print(
- "Found 'oommf.tcl' in " + os.getcwd() + " (looks like source from NIST)"
- )
+ print("Found 'oommf.tcl' in " + os.getcwd() + " (looks like source from NIST)")
return "."
elif "oommf.tcl" in os.listdir("oommf"):
print(
@@ -207,11 +205,7 @@ class Oommf(Package):
test_env["PATH"] = os.environ["PATH"]
output = self.tclsh(
- self.oommf_tcl_path,
- *oommf_args,
- output=str.split,
- error=str.split,
- env=test_env
+ self.oommf_tcl_path, *oommf_args, output=str.split, error=str.split, env=test_env
)
print("output received from oommf is %s" % output)
diff --git a/var/spack/repos/builtin/packages/op2-dsl/package.py b/var/spack/repos/builtin/packages/op2-dsl/package.py
index f16b6d1785..3433bf6d18 100644
--- a/var/spack/repos/builtin/packages/op2-dsl/package.py
+++ b/var/spack/repos/builtin/packages/op2-dsl/package.py
@@ -12,47 +12,49 @@ class Op2Dsl(MakefilePackage, CudaPackage):
and many-core architectures."""
homepage = "https://op-dsl.github.io/"
- git = "https://github.com/OP-DSL/OP2-Common.git"
+ git = "https://github.com/OP-DSL/OP2-Common.git"
- maintainers = ['gihanmudalige', 'reguly', 'bozbez']
+ maintainers = ["gihanmudalige", "reguly", "bozbez"]
- version('master', branch='master')
- version('1.1.0', tag='v1.1.0')
+ version("master", branch="master")
+ version("1.1.0", tag="v1.1.0")
- build_directory = 'op2'
+ build_directory = "op2"
- variant('mpi', default=False, description='Enable MPI support')
+ variant("mpi", default=False, description="Enable MPI support")
- variant('parmetis', default=True, when='+mpi',
- description='Enable ParMETIS partitioning support')
+ variant(
+ "parmetis", default=True, when="+mpi", description="Enable ParMETIS partitioning support"
+ )
- variant('scotch', default=True, when='+mpi',
- description='Enable PT-Scotch partitioning support')
+ variant(
+ "scotch", default=True, when="+mpi", description="Enable PT-Scotch partitioning support"
+ )
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('parmetis', when='+parmetis')
- depends_on('scotch', when='+scotch')
+ depends_on("parmetis", when="+parmetis")
+ depends_on("scotch", when="+scotch")
- depends_on('hdf5+fortran+mpi', when='+mpi')
- depends_on('hdf5+fortran~mpi', when='~mpi')
+ depends_on("hdf5+fortran+mpi", when="+mpi")
+ depends_on("hdf5+fortran~mpi", when="~mpi")
def edit(self, spec, prefix):
compiler_map = {
- 'gcc': 'gnu',
- 'cce': 'cray',
- 'intel': 'intel',
- 'nvhpc': 'nvhpc',
- 'xl': 'xl',
+ "gcc": "gnu",
+ "cce": "cray",
+ "intel": "intel",
+ "nvhpc": "nvhpc",
+ "xl": "xl",
}
if self.spec.compiler.name in compiler_map:
- env['OP2_COMPILER'] = compiler_map[self.spec.compiler.name]
+ env["OP2_COMPILER"] = compiler_map[self.spec.compiler.name]
- if '+cuda' in self.spec and spec.variants['cuda_arch'].value[0] != 'none':
- env['CUDA_GEN'] = ','.join(spec.variants['cuda_arch'].value)
+ if "+cuda" in self.spec and spec.variants["cuda_arch"].value[0] != "none":
+ env["CUDA_GEN"] = ",".join(spec.variants["cuda_arch"].value)
def install(self, spec, prefix):
- install_tree('op2/lib', prefix.lib)
- install_tree('op2/include', prefix.include)
- install_tree('op2/mod', prefix.mod)
+ install_tree("op2/lib", prefix.lib)
+ install_tree("op2/include", prefix.include)
+ install_tree("op2/mod", prefix.mod)
diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py
index 2ad18b5a70..7f4e1f4f4e 100644
--- a/var/spack/repos/builtin/packages/opa-psm2/package.py
+++ b/var/spack/repos/builtin/packages/opa-psm2/package.py
@@ -7,50 +7,53 @@ from spack.package import *
class OpaPsm2(MakefilePackage):
- """ Omni-Path Performance Scaled Messaging 2 (PSM2) library"""
+ """Omni-Path Performance Scaled Messaging 2 (PSM2) library"""
homepage = "https://github.com/cornelisnetworks/opa-psm2"
- url = "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_10.3-8.tar.gz"
+ url = "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_10.3-8.tar.gz"
- maintainers = ['jack-morrison']
+ maintainers = ["jack-morrison"]
- version('11.2.228', sha256='e302afc8cd054409616d59b69e4d7f140278dc3815ae07f0fc14080fd860bd5c')
- version('11.2.206', sha256='08aa41f41bdb485ee037d3f7e32dd45e79858ce38e744d33b9db2af60e3c627a')
- version('11.2.185', sha256='8c0446e989feb4a3822791e4a3687060916f7c4612d1e8e493879be66f10db09')
- version('11.2.77', sha256='5cc33d1e19d871a5861efe0bb897526f404b4bf2b88ac58bb277db96ac5ecb54')
- version('11.2.68', sha256='42e16a14fc8c90b50855dcea46af3315bee32fb1ae89d83060f9b2ebdce1ec26')
- version('10.3-37', sha256='43e46f6fb345db67bb45b48e2b2bb05f590f7ccbc3ee337b33312043b46946b9')
- version('10.3-17', sha256='17704cd4d9aeffb0d90d4ead3ad6f637bcd4cf030880e2cb2de192235859779e')
- version('10.3-10', sha256='08d2821aa84645b93b2617dae355fcac5b690e42873c4946f2e91fa25e5a7372')
- version('10.3-8', sha256='9ec4c2891dc3214e90f09df4d2f49b993c029279ba5d2a4306349d0ba273099e')
- version('10.2-260', sha256='825913e6a8848508eb65fa2ca97546943a90ef0c9e16dbdd543bc75b45aa51d7')
- version('10.2-235', sha256='052031ab87abadc2c11971e6aa53be363b38d58a496a6e54a820ca5bcd6545a5')
- version('10.2-175', sha256='61b694191eca66e15e7ae1659bfacb10813e569d4e27182a88fb00b5661fb365')
+ version("11.2.228", sha256="e302afc8cd054409616d59b69e4d7f140278dc3815ae07f0fc14080fd860bd5c")
+ version("11.2.206", sha256="08aa41f41bdb485ee037d3f7e32dd45e79858ce38e744d33b9db2af60e3c627a")
+ version("11.2.185", sha256="8c0446e989feb4a3822791e4a3687060916f7c4612d1e8e493879be66f10db09")
+ version("11.2.77", sha256="5cc33d1e19d871a5861efe0bb897526f404b4bf2b88ac58bb277db96ac5ecb54")
+ version("11.2.68", sha256="42e16a14fc8c90b50855dcea46af3315bee32fb1ae89d83060f9b2ebdce1ec26")
+ version("10.3-37", sha256="43e46f6fb345db67bb45b48e2b2bb05f590f7ccbc3ee337b33312043b46946b9")
+ version("10.3-17", sha256="17704cd4d9aeffb0d90d4ead3ad6f637bcd4cf030880e2cb2de192235859779e")
+ version("10.3-10", sha256="08d2821aa84645b93b2617dae355fcac5b690e42873c4946f2e91fa25e5a7372")
+ version("10.3-8", sha256="9ec4c2891dc3214e90f09df4d2f49b993c029279ba5d2a4306349d0ba273099e")
+ version("10.2-260", sha256="825913e6a8848508eb65fa2ca97546943a90ef0c9e16dbdd543bc75b45aa51d7")
+ version("10.2-235", sha256="052031ab87abadc2c11971e6aa53be363b38d58a496a6e54a820ca5bcd6545a5")
+ version("10.2-175", sha256="61b694191eca66e15e7ae1659bfacb10813e569d4e27182a88fb00b5661fb365")
- variant('avx2', default=True, description='Enable AVX2 instructions')
+ variant("avx2", default=True, description="Enable AVX2 instructions")
- depends_on('numactl')
+ depends_on("numactl")
# patch to get the Makefile to use the spack compiler wrappers
- patch('opa-psm2-compiler.patch', when='@11.2.68:11.2.77',
- sha256='fe31fda9aaee13acb87d178af2282446196d2cc0b21163034573706110b2e2d6')
+ patch(
+ "opa-psm2-compiler.patch",
+ when="@11.2.68:11.2.77",
+ sha256="fe31fda9aaee13acb87d178af2282446196d2cc0b21163034573706110b2e2d6",
+ )
def setup_build_environment(self, env):
- env.set('DESTDIR', self.prefix)
- if '%intel' in self.spec:
+ env.set("DESTDIR", self.prefix)
+ if "%intel" in self.spec:
# this variable must be set when we use the Intel compilers to
# ensure that the proper flags are set
- env.set('CCARCH', 'icc')
+ env.set("CCARCH", "icc")
def edit(self, spec, prefix):
# Change the makefile so libraries and includes are not
# placed under $PREFIX/usr
- env['LIBDIR'] = '/lib'
- filter_file(r'${DESTDIR}/usr', '${DESTDIR}', 'Makefile', string=True)
- filter_file(r'/usr/lib', '/lib', 'Makefile', string=True)
+ env["LIBDIR"] = "/lib"
+ filter_file(r"${DESTDIR}/usr", "${DESTDIR}", "Makefile", string=True)
+ filter_file(r"/usr/lib", "/lib", "Makefile", string=True)
- if '~avx2' in spec:
- env['PSM_DISABLE_AVX2'] = 'True'
+ if "~avx2" in spec:
+ env["PSM_DISABLE_AVX2"] = "True"
def install(self, spec, prefix):
- make('--environment-overrides', 'install')
+ make("--environment-overrides", "install")
diff --git a/var/spack/repos/builtin/packages/opam/package.py b/var/spack/repos/builtin/packages/opam/package.py
index 8139213bed..66741f206f 100644
--- a/var/spack/repos/builtin/packages/opam/package.py
+++ b/var/spack/repos/builtin/packages/opam/package.py
@@ -9,48 +9,48 @@ from spack.package import *
class Opam(AutotoolsPackage):
"""OPAM: OCaml Package Manager
- OPAM is a source-based package manager for OCaml. It supports
- multiple simultaneous compiler installations, flexible package
- constraints, and a Git-friendly development workflow."""
+ OPAM is a source-based package manager for OCaml. It supports
+ multiple simultaneous compiler installations, flexible package
+ constraints, and a Git-friendly development workflow."""
homepage = "https://opam.ocaml.org/"
- url = "https://github.com/ocaml/opam/releases/download/1.2.2/opam-full-1.2.2.tar.gz"
+ url = "https://github.com/ocaml/opam/releases/download/1.2.2/opam-full-1.2.2.tar.gz"
- maintainers = ['scemama']
+ maintainers = ["scemama"]
- version('2.0.6', sha256='7c4bff5e5f3628ad00c53ee1b044ced8128ffdcfbb7582f8773fb433e12e07f4')
- version('2.0.5', sha256='776c7e64d6e24c2ef1efd1e6a71d36e007645efae94eaf860c05c1929effc76f')
- version('2.0.4', sha256='debfb828b400fb511ca290f1bfc928db91cad74ec1ccbddcfdbfeff26f7099e5')
- version('2.0.3', sha256='0589da4da184584a5445d59385009536534f60bc0e27772245b2f49e5fa8f0e2')
- version('2.0.2', sha256='eeb99fdda4b10ad3467a700fa4d1dfedb30714837d18d2faf1ef9c87d94cf0bc')
- version('2.0.1', sha256='81f7f1b661a0c1e04642fe02d0bea5524b32aa2cbed0ecf9b18d7145324ed97c')
- version('2.0.0', sha256='9dad4fcb4f53878c9daa6285d8456ccc671e21bfa71544d1f926fb8a63bfed25')
- version('1.2.2', sha256='15e617179251041f4bf3910257bbb8398db987d863dd3cfc288bdd958de58f00')
- version('1.2.1', sha256='f210ece7a2def34b486c9ccfb75de8febd64487b2ea4a14a7fa0358f37eacc3b')
+ version("2.0.6", sha256="7c4bff5e5f3628ad00c53ee1b044ced8128ffdcfbb7582f8773fb433e12e07f4")
+ version("2.0.5", sha256="776c7e64d6e24c2ef1efd1e6a71d36e007645efae94eaf860c05c1929effc76f")
+ version("2.0.4", sha256="debfb828b400fb511ca290f1bfc928db91cad74ec1ccbddcfdbfeff26f7099e5")
+ version("2.0.3", sha256="0589da4da184584a5445d59385009536534f60bc0e27772245b2f49e5fa8f0e2")
+ version("2.0.2", sha256="eeb99fdda4b10ad3467a700fa4d1dfedb30714837d18d2faf1ef9c87d94cf0bc")
+ version("2.0.1", sha256="81f7f1b661a0c1e04642fe02d0bea5524b32aa2cbed0ecf9b18d7145324ed97c")
+ version("2.0.0", sha256="9dad4fcb4f53878c9daa6285d8456ccc671e21bfa71544d1f926fb8a63bfed25")
+ version("1.2.2", sha256="15e617179251041f4bf3910257bbb8398db987d863dd3cfc288bdd958de58f00")
+ version("1.2.1", sha256="f210ece7a2def34b486c9ccfb75de8febd64487b2ea4a14a7fa0358f37eacc3b")
# OCaml 4.10.0 has removed the -safe-string flag, which is necessary
# for OPAM 1i (see docstring of setup_build_environment).
- depends_on('ocaml@:4.09.0', type='build', when='@:1.2.2')
- depends_on('ocaml', type='build', when='@2.0.0:')
+ depends_on("ocaml@:4.09.0", type="build", when="@:1.2.2")
+ depends_on("ocaml", type="build", when="@2.0.0:")
parallel = False
- sanity_check_is_file = ['bin/opam']
+ sanity_check_is_file = ["bin/opam"]
- @when('@:1.2.2')
+ @when("@:1.2.2")
def setup_build_environment(self, env):
- ''' In OCaml <4.06.1, the default was -safe-string=0, and this has
+ """In OCaml <4.06.1, the default was -safe-string=0, and this has
changed in OCaml >=4.06.1. OPAM version 1 was written before 4.06.1
was released, so OPAM <2.0 assumes mutable strings and requires the
safe-string=0 flag. This is not true with OPAM >=2.0, so the flag
- should not be set.'''
+ should not be set."""
# Environment variable setting taken from
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/opam.rb
- env.set('OCAMLPARAM', 'safe-string=0,_') # OCaml 4.06.0 compat
+ env.set("OCAMLPARAM", "safe-string=0,_") # OCaml 4.06.0 compat
def build(self, spec, prefix):
- make('lib-ext')
+ make("lib-ext")
make()
- if spec.satisfies('@:1.2.2'):
- make('man')
+ if spec.satisfies("@:1.2.2"):
+ make("man")
diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py
index 80e4426c37..f26280617d 100644
--- a/var/spack/repos/builtin/packages/opari2/package.py
+++ b/var/spack/repos/builtin/packages/opari2/package.py
@@ -18,16 +18,20 @@ class Opari2(AutotoolsPackage):
"""
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"
+ 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')
- version('2.0.5', sha256='9034dd7596ac2176401090fd5ced45d0ab9a9404444ff767f093ccce68114ef5')
- version('2.0.4', sha256='f69e324792f66780b473daf2b3c81f58ee8188adc72b6fe0dacf43d4c1a0a131')
- version('2.0.3', sha256='7e2efcfbc99152ee6e31454ef4fb747f77165691539d5d2c1df2abc4612de86c')
- version('2.0.1', sha256='f49d74d7533f428a4701cd561eba8a69f60615332e81b66f01ef1c9b7ee54666')
- version('2.0', sha256='0c4e575be05627cd001d692204f10caef37b2f3d1ec825f98cbe1bfa4232b0b7')
- version('1.1.4', sha256='b80c04fe876faaa4ee9a0654486ecbeba516b27fc14a90d20c6384e81060cffe')
- version('1.1.2', sha256='8405c2903730d94c828724b3a5f8889653553fb8567045a6c54ac0816237835d')
+ 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",
+ )
+ version("2.0.5", sha256="9034dd7596ac2176401090fd5ced45d0ab9a9404444ff767f093ccce68114ef5")
+ version("2.0.4", sha256="f69e324792f66780b473daf2b3c81f58ee8188adc72b6fe0dacf43d4c1a0a131")
+ version("2.0.3", sha256="7e2efcfbc99152ee6e31454ef4fb747f77165691539d5d2c1df2abc4612de86c")
+ version("2.0.1", sha256="f49d74d7533f428a4701cd561eba8a69f60615332e81b66f01ef1c9b7ee54666")
+ version("2.0", sha256="0c4e575be05627cd001d692204f10caef37b2f3d1ec825f98cbe1bfa4232b0b7")
+ version("1.1.4", sha256="b80c04fe876faaa4ee9a0654486ecbeba516b27fc14a90d20c6384e81060cffe")
+ version("1.1.2", sha256="8405c2903730d94c828724b3a5f8889653553fb8567045a6c54ac0816237835d")
def configure_args(self):
return ["--enable-shared"]
diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py
index dd5db4bc90..45d75ceb14 100644
--- a/var/spack/repos/builtin/packages/open-iscsi/package.py
+++ b/var/spack/repos/builtin/packages/open-iscsi/package.py
@@ -11,27 +11,27 @@ class OpenIscsi(MakefilePackage):
multi-platform implementation of RFC3720 iSCSI."""
homepage = "https://github.com/open-iscsi/"
- url = "https://github.com/open-iscsi/open-iscsi/archive/2.1.1.tar.gz"
+ url = "https://github.com/open-iscsi/open-iscsi/archive/2.1.1.tar.gz"
- version('2.1.1', sha256='dfc1ea37f230f9d116f5b39c795b35be43002d65c81330ccd3878786532b811b')
- version('2.1.0', sha256='5b381b6a74bef3ca57cd8d5fa7a3ff07d45c8009b0e4aac5ba3a811ff0c48ee4')
- version('2.0.878', sha256='5aeef0069c4a9d7f288269bcf56588d09a3c529a35f865f16dd8119ab8672208')
- version('2.0.877', sha256='69eb95b0c39dee2da9d0d751bfdcdb8d11f9d37390de15c1a0b4558f9d0c4a57')
- version('2.0.876', sha256='9f01327d5e100ed794dc5083fc18dc4a06a0c29c77b252e21abd1b8f56edd9a7')
+ version("2.1.1", sha256="dfc1ea37f230f9d116f5b39c795b35be43002d65c81330ccd3878786532b811b")
+ version("2.1.0", sha256="5b381b6a74bef3ca57cd8d5fa7a3ff07d45c8009b0e4aac5ba3a811ff0c48ee4")
+ version("2.0.878", sha256="5aeef0069c4a9d7f288269bcf56588d09a3c529a35f865f16dd8119ab8672208")
+ version("2.0.877", sha256="69eb95b0c39dee2da9d0d751bfdcdb8d11f9d37390de15c1a0b4558f9d0c4a57")
+ version("2.0.876", sha256="9f01327d5e100ed794dc5083fc18dc4a06a0c29c77b252e21abd1b8f56edd9a7")
- depends_on('gettext')
- depends_on('uuid')
- depends_on('util-linux')
- depends_on('kmod')
- depends_on('open-isns')
- depends_on('libtool', type='build')
+ depends_on("gettext")
+ depends_on("uuid")
+ depends_on("util-linux")
+ depends_on("kmod")
+ depends_on("open-isns")
+ depends_on("libtool", type="build")
def setup_build_environment(self, env):
- env.set('CFLAGS', '-DNO_SYSTEMD')
+ env.set("CFLAGS", "-DNO_SYSTEMD")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.usr.lib64)
+ env.prepend_path("PATH", self.prefix.sbin)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.usr.lib64)
def install(self, spec, prefix):
- make('install', 'DESTDIR={0}'.format(prefix))
+ make("install", "DESTDIR={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/open-isns/package.py b/var/spack/repos/builtin/packages/open-isns/package.py
index 5864dad3fd..6e626eb2a7 100644
--- a/var/spack/repos/builtin/packages/open-isns/package.py
+++ b/var/spack/repos/builtin/packages/open-isns/package.py
@@ -11,19 +11,19 @@ class OpenIsns(AutotoolsPackage):
of registrations in a file based database."""
homepage = "https://github.com/open-iscsi/open-isns"
- url = "https://github.com/open-iscsi/open-isns/archive/v0.100.tar.gz"
+ url = "https://github.com/open-iscsi/open-isns/archive/v0.100.tar.gz"
- version('0.100', sha256='b011edbb0f31690aaca902a8ecf4e1f17b01d6c9e9afc51909d26b0993b4328f')
- version('0.99', sha256='a8febecf888d5a38abfa2fcb290194d993b1a7f5bea0cb61f5cf2e9f9e5273c2')
- version('0.98', sha256='c5cbd161e51fb993728c04e56d3da693b73eb3f4e81d17f66eb5b7653c29e8eb')
- version('0.97', sha256='c1c9ae740172e55a1ff33bc22151ec3d916562bf5d60c8420cd64496343683a9')
- version('0.96', sha256='487fd0d87826423ea99dc159826d0b654a5da016ed670d4395a77bfa4f62e2ec')
+ version("0.100", sha256="b011edbb0f31690aaca902a8ecf4e1f17b01d6c9e9afc51909d26b0993b4328f")
+ version("0.99", sha256="a8febecf888d5a38abfa2fcb290194d993b1a7f5bea0cb61f5cf2e9f9e5273c2")
+ version("0.98", sha256="c5cbd161e51fb993728c04e56d3da693b73eb3f4e81d17f66eb5b7653c29e8eb")
+ version("0.97", sha256="c1c9ae740172e55a1ff33bc22151ec3d916562bf5d60c8420cd64496343683a9")
+ version("0.96", sha256="487fd0d87826423ea99dc159826d0b654a5da016ed670d4395a77bfa4f62e2ec")
def configure_args(self):
- args = ['--enable-shared']
+ args = ["--enable-shared"]
return args
def install(self, spec, prefix):
- make('install')
- make('install_hdrs')
- make('install_lib')
+ make("install")
+ make("install_hdrs")
+ make("install_lib")
diff --git a/var/spack/repos/builtin/packages/open3d/package.py b/var/spack/repos/builtin/packages/open3d/package.py
index 74923fc2b7..44f4353e50 100644
--- a/var/spack/repos/builtin/packages/open3d/package.py
+++ b/var/spack/repos/builtin/packages/open3d/package.py
@@ -12,95 +12,97 @@ class Open3d(CMakePackage, CudaPackage):
"""Open3D: A Modern Library for 3D Data Processing."""
homepage = "http://www.open3d.org/"
- url = "https://github.com/isl-org/Open3D/archive/refs/tags/v0.13.0.tar.gz"
- git = "https://github.com/isl-org/Open3D.git"
+ url = "https://github.com/isl-org/Open3D/archive/refs/tags/v0.13.0.tar.gz"
+ git = "https://github.com/isl-org/Open3D.git"
- version('0.13.0', tag='v0.13.0', submodules=True)
+ version("0.13.0", tag="v0.13.0", submodules=True)
- variant('python', default=False, description='Build the Python module')
+ variant("python", default=False, description="Build the Python module")
# http://www.open3d.org/docs/latest/compilation.html
- depends_on('cmake@3.19:', type='build')
+ depends_on("cmake@3.19:", type="build")
# https://github.com/isl-org/Open3D/issues/3762
# https://github.com/isl-org/Open3D/issues/4570
- depends_on('llvm@7:+clang+libcxx')
- depends_on('eigen')
- depends_on('flann')
+ depends_on("llvm@7:+clang+libcxx")
+ depends_on("eigen")
+ depends_on("flann")
# https://github.com/isl-org/Open3D/issues/4360
# https://github.com/isl-org/Open3D/pull/5303
- depends_on('fmt@:7')
- depends_on('glew')
- depends_on('glfw')
+ depends_on("fmt@:7")
+ depends_on("glew")
+ depends_on("glfw")
# depends_on('imgui')
- depends_on('jpeg')
+ depends_on("jpeg")
# depends_on('liblzf')
- depends_on('libpng')
- depends_on('py-pybind11')
- depends_on('qhull')
+ depends_on("libpng")
+ depends_on("py-pybind11")
+ depends_on("qhull")
# depends_on('tinygltf')
# depends_on('tinyobjloader')
- extends('python', when='+python', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='+python', type=('build', 'link', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-setuptools@40.8:', when='+python', type='build')
- depends_on('py-wheel@0.36:', when='+python', type='build')
- depends_on('py-numpy@1.18:', when='+python', type=('build', 'run'))
- depends_on('py-pytest', when='+python', type='test')
- depends_on('cuda@10.1:', when='+cuda')
+ extends("python", when="+python", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="+python", type=("build", "link", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-setuptools@40.8:", when="+python", type="build")
+ depends_on("py-wheel@0.36:", when="+python", type="build")
+ depends_on("py-numpy@1.18:", when="+python", type=("build", "run"))
+ depends_on("py-pytest", when="+python", type="test")
+ depends_on("cuda@10.1:", when="+cuda")
# C++14 compiler required
- conflicts('%gcc@:4')
- conflicts('%clang@:6')
+ conflicts("%gcc@:4")
+ conflicts("%clang@:6")
def patch(self):
# Force Python libraries to be installed to self.prefix
- filter_file('pip install', 'pip install --prefix ' + self.prefix,
- os.path.join('cpp', 'pybind', 'make_install_pip_package.cmake'))
+ filter_file(
+ "pip install",
+ "pip install --prefix " + self.prefix,
+ os.path.join("cpp", "pybind", "make_install_pip_package.cmake"),
+ )
def cmake_args(self):
args = [
- self.define('BUILD_UNIT_TESTS', self.run_tests),
- self.define_from_variant('BUILD_PYTHON_MODULE', 'python'),
- self.define_from_variant('BUILD_CUDA_MODULE', 'cuda'),
+ self.define("BUILD_UNIT_TESTS", self.run_tests),
+ self.define_from_variant("BUILD_PYTHON_MODULE", "python"),
+ self.define_from_variant("BUILD_CUDA_MODULE", "cuda"),
# https://github.com/isl-org/Open3D/issues/4570
# self.define('BUILD_FILAMENT_FROM_SOURCE', 'ON'),
# Use Spack-installed dependencies instead of vendored dependencies
# Numerous issues with using externally installed dependencies:
# https://github.com/isl-org/Open3D/issues/4333
# https://github.com/isl-org/Open3D/issues/4360
- self.define('USE_SYSTEM_EIGEN3', True),
- self.define('USE_SYSTEM_FLANN', True),
- self.define('USE_SYSTEM_FMT', True),
- self.define('USE_SYSTEM_GLEW', True),
- self.define('USE_SYSTEM_GLFW', True),
+ self.define("USE_SYSTEM_EIGEN3", True),
+ self.define("USE_SYSTEM_FLANN", True),
+ self.define("USE_SYSTEM_FMT", True),
+ self.define("USE_SYSTEM_GLEW", True),
+ self.define("USE_SYSTEM_GLFW", True),
# self.define('USE_SYSTEM_IMGUI', True),
- self.define('USE_SYSTEM_JPEG', True),
+ self.define("USE_SYSTEM_JPEG", True),
# self.define('USE_SYSTEM_LIBLZF', True),
- self.define('USE_SYSTEM_PNG', True),
- self.define('USE_SYSTEM_PYBIND11', True),
- self.define('USE_SYSTEM_QHULL', True),
+ self.define("USE_SYSTEM_PNG", True),
+ self.define("USE_SYSTEM_PYBIND11", True),
+ self.define("USE_SYSTEM_QHULL", True),
# self.define('USE_SYSTEM_TINYGLTF', True),
# self.define('USE_SYSTEM_TINYOBJLOADER', True),
]
- if '+python' in self.spec:
- args.append(
- self.define('PYTHON_EXECUTABLE', self.spec['python'].command.path))
+ if "+python" in self.spec:
+ args.append(self.define("PYTHON_EXECUTABLE", self.spec["python"].command.path))
return args
def check(self):
with working_dir(self.build_directory):
- tests = Executable(os.path.join('bin', 'tests'))
+ tests = Executable(os.path.join("bin", "tests"))
tests()
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('install')
- if '+python' in spec:
- make('install-pip-package')
+ make("install")
+ if "+python" in spec:
+ make("install-pip-package")
# Tests don't pass unless all optional features are compiled, including PyTorch
# @run_after('install')
@@ -110,11 +112,13 @@ class Open3d(CMakePackage, CudaPackage):
# pytest = which('pytest')
# pytest(os.path.join('python', 'test'))
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test(self):
- if '+python' in self.spec:
- self.run_test(self.spec['python'].command.path,
- ['-c', 'import open3d'],
- purpose='checking import of open3d',
- work_dir='spack-test')
+ if "+python" in self.spec:
+ self.run_test(
+ self.spec["python"].command.path,
+ ["-c", "import open3d"],
+ purpose="checking import of open3d",
+ work_dir="spack-test",
+ )
diff --git a/var/spack/repos/builtin/packages/openal-soft/package.py b/var/spack/repos/builtin/packages/openal-soft/package.py
index 74228830b1..2b3e75e6e8 100644
--- a/var/spack/repos/builtin/packages/openal-soft/package.py
+++ b/var/spack/repos/builtin/packages/openal-soft/package.py
@@ -13,17 +13,15 @@ class OpenalSoft(CMakePackage):
features handled by the API."""
homepage = "https://openal-soft.org"
- url = "https://openal-soft.org/openal-releases/openal-soft-1.21.1.tar.bz2"
+ url = "https://openal-soft.org/openal-releases/openal-soft-1.21.1.tar.bz2"
- version('1.21.1', sha256='c8ad767e9a3230df66756a21cc8ebf218a9d47288f2514014832204e666af5d8')
+ version("1.21.1", sha256="c8ad767e9a3230df66756a21cc8ebf218a9d47288f2514014832204e666af5d8")
- variant('alsa', default=False, description="ALSA support")
+ variant("alsa", default=False, description="ALSA support")
- depends_on('alsa-lib', when="+alsa")
+ depends_on("alsa-lib", when="+alsa")
def cmake_args(self):
- args = [
- self.define_from_variant('ALSOFT_REQUIRE_ALSA', 'alsa')
- ]
+ args = [self.define_from_variant("ALSOFT_REQUIRE_ALSA", "alsa")]
return args
diff --git a/var/spack/repos/builtin/packages/openbabel/package.py b/var/spack/repos/builtin/packages/openbabel/package.py
index fac299e32e..e829ad28be 100644
--- a/var/spack/repos/builtin/packages/openbabel/package.py
+++ b/var/spack/repos/builtin/packages/openbabel/package.py
@@ -13,70 +13,72 @@ class Openbabel(CMakePackage):
search, convert, analyze, or store data from molecular modeling, chemistry,
solid-state materials, biochemistry, or related areas."""
- homepage = 'https://openbabel.org/wiki/Main_Page'
- url = 'https://github.com/openbabel/openbabel/archive/openbabel-3-0-0.tar.gz'
- git = 'https://github.com/openbabel/openbabel.git'
+ homepage = "https://openbabel.org/wiki/Main_Page"
+ url = "https://github.com/openbabel/openbabel/archive/openbabel-3-0-0.tar.gz"
+ git = "https://github.com/openbabel/openbabel.git"
- version('master', branch='master')
- version('3.0.0', tag='openbabel-3-0-0')
- version('2.4.1', tag='openbabel-2-4-1')
- version('2.4.0', tag='openbabel-2-4-0')
+ version("master", branch="master")
+ version("3.0.0", tag="openbabel-3-0-0")
+ version("2.4.1", tag="openbabel-2-4-1")
+ version("2.4.0", tag="openbabel-2-4-0")
- variant('python', default=True, description='Build Python bindings')
- variant('gui', default=True, description='Build with GUI')
+ variant("python", default=True, description="Build Python bindings")
+ variant("gui", default=True, description="Build with GUI")
- extends('python', when='+python')
+ extends("python", when="+python")
- depends_on('python', type=('build', 'run'), when='+python')
- depends_on('cmake@3.1:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('swig@2.0:', type='build', when='+python')
+ depends_on("python", type=("build", "run"), when="+python")
+ depends_on("cmake@3.1:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("swig@2.0:", type="build", when="+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cairo') # required to support PNG depiction
- depends_on('pango') # custom cairo requires custom pango
- depends_on('eigen@3.0:') # required if using the language bindings
- depends_on('libxml2') # required to read/write CML files, XML formats
- depends_on('zlib') # required to support reading gzipped files
- depends_on('rapidjson') # required to support JSON
- depends_on('libsm')
- depends_on('uuid')
+ depends_on("cairo") # required to support PNG depiction
+ depends_on("pango") # custom cairo requires custom pango
+ depends_on("eigen@3.0:") # required if using the language bindings
+ depends_on("libxml2") # required to read/write CML files, XML formats
+ depends_on("zlib") # required to support reading gzipped files
+ depends_on("rapidjson") # required to support JSON
+ depends_on("libsm")
+ depends_on("uuid")
# Needed for Python 3.6 support
- patch('python-3.6-rtld-global.patch', when='@:2.4.1+python')
+ patch("python-3.6-rtld-global.patch", when="@:2.4.1+python")
# Convert tabs to spaces. Allows unit tests to pass
- patch('testpdbformat-tabs-to-spaces.patch', when='@:2.4.1')
+ patch("testpdbformat-tabs-to-spaces.patch", when="@:2.4.1")
def cmake_args(self):
spec = self.spec
args = []
- if '+python' in spec:
- args.extend([
- '-DPYTHON_BINDINGS=ON',
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
- '-DRUN_SWIG=ON',
- ])
+ if "+python" in spec:
+ args.extend(
+ [
+ "-DPYTHON_BINDINGS=ON",
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
+ "-DRUN_SWIG=ON",
+ ]
+ )
else:
- args.append('-DPYTHON_BINDINGS=OFF')
+ args.append("-DPYTHON_BINDINGS=OFF")
- args.append(self.define_from_variant('BUILD_GUI', 'gui'))
+ args.append(self.define_from_variant("BUILD_GUI", "gui"))
- args.append('-DWITH_MAEPARSER=OFF') # maeparser is currently broken
+ args.append("-DWITH_MAEPARSER=OFF") # maeparser is currently broken
return args
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
- obabel = Executable(join_path(self.prefix.bin, 'obabel'))
- obabel('-:C1=CC=CC=C1Br', '-omol')
+ obabel = Executable(join_path(self.prefix.bin, "obabel"))
+ obabel("-:C1=CC=CC=C1Br", "-omol")
- if '+python' in self.spec:
- python('-c', 'import openbabel')
- if self.spec.version < Version('3.0.0'):
- python('-c', 'import pybel')
+ if "+python" in self.spec:
+ python("-c", "import openbabel")
+ if self.spec.version < Version("3.0.0"):
+ python("-c", "import pybel")
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index 5d118b84f7..fb93b7e029 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -13,151 +13,172 @@ from spack.package_test import compare_output_file, compile_c_and_execute
class Openblas(MakefilePackage):
"""OpenBLAS: An optimized BLAS library"""
- homepage = 'https://www.openblas.net'
- url = 'https://github.com/xianyi/OpenBLAS/archive/v0.2.19.tar.gz'
- git = 'https://github.com/xianyi/OpenBLAS.git'
-
- libraries = ['libopenblas']
-
- version('develop', branch='develop')
- version('0.3.20', sha256='8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c')
- version('0.3.19', sha256='947f51bfe50c2a0749304fbe373e00e7637600b0a47b78a51382aeb30ca08562')
- version('0.3.18', sha256='1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb')
- version('0.3.17', sha256='df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f')
- version('0.3.16', sha256='fa19263c5732af46d40d3adeec0b2c77951b67687e670fb6ba52ea3950460d79')
- version('0.3.15', sha256='30a99dec977594b387a17f49904523e6bc8dd88bd247266e83485803759e4bbe')
- version('0.3.14', sha256='d381935d26f9cae8e4bbd7d7f278435adf8e3a90920edf284bb9ad789ee9ad60')
- version('0.3.13', sha256='79197543b17cc314b7e43f7a33148c308b0807cd6381ee77f77e15acf3e6459e')
- version('0.3.12', sha256='65a7d3a4010a4e3bd5c0baa41a234797cd3a1735449a4a5902129152601dc57b')
- version('0.3.11', sha256='bc4617971179e037ae4e8ebcd837e46db88422f7b365325bd7aba31d1921a673')
- version('0.3.10', sha256='0484d275f87e9b8641ff2eecaa9df2830cbe276ac79ad80494822721de6e1693')
- version('0.3.9', sha256='17d4677264dfbc4433e97076220adc79b050e4f8a083ea3f853a53af253bc380')
- version('0.3.8', sha256='8f86ade36f0dbed9ac90eb62575137388359d97d8f93093b38abe166ad7ef3a8')
- version('0.3.7', sha256='bde136122cef3dd6efe2de1c6f65c10955bbb0cc01a520c2342f5287c28f9379')
- version('0.3.6', sha256='e64c8fe083832ffbc1459ab6c72f71d53afd3b36e8497c922a15a06b72e9002f')
- version('0.3.5', sha256='0950c14bd77c90a6427e26210d6dab422271bc86f9fc69126725833ecdaa0e85')
- version('0.3.4', sha256='4b4b4453251e9edb5f57465bf2b3cf67b19d811d50c8588cdf2ea1f201bb834f')
- version('0.3.3', sha256='49d88f4494ae780e3d7fa51769c00d982d7cdb73e696054ac3baa81d42f13bab')
- version('0.3.2', sha256='e8ba64f6b103c511ae13736100347deb7121ba9b41ba82052b1a018a65c0cb15')
- version('0.3.1', sha256='1f5e956f35f3acdd3c74516e955d797a320c2e0135e31d838cbdb3ea94d0eb33')
- version('0.3.0', sha256='cf51543709abe364d8ecfb5c09a2b533d2b725ea1a66f203509b21a8e9d8f1a1')
- version('0.2.20', sha256='5ef38b15d9c652985774869efd548b8e3e972e1e99475c673b25537ed7bcf394')
- version('0.2.19', sha256='9c40b5e4970f27c5f6911cb0a28aa26b6c83f17418b69f8e5a116bb983ca8557')
- version('0.2.18', sha256='7d9f8d4ea4a65ab68088f3bb557f03a7ac9cb5036ef2ba30546c3a28774a4112')
- version('0.2.17', sha256='0fe836dfee219ff4cadcc3567fb2223d9e0da5f60c7382711fb9e2c35ecf0dbf')
- version('0.2.16', sha256='766f350d0a4be614812d535cead8c816fc3ad3b9afcd93167ea5e4df9d61869b')
- version('0.2.15', sha256='73c40ace5978282224e5e122a41c8388c5a19e65a6f2329c2b7c0b61bacc9044')
-
- variant('ilp64', default=False, description='Force 64-bit Fortran native integers')
- variant('pic', default=True, description='Build position independent code')
- variant('shared', default=True, description='Build shared libraries')
- variant('consistent_fpcsr', default=False, description='Synchronize FP CSR between threads (x86/x86_64 only)')
- variant('bignuma', default=False, description='Enable experimental support for up to 1024 CPUs/Cores and 128 numa nodes')
- variant('symbol_suffix', default='none', description='Set a symbol suffix')
-
- variant('locking', default=True, description='Build with thread safety')
+ homepage = "https://www.openblas.net"
+ url = "https://github.com/xianyi/OpenBLAS/archive/v0.2.19.tar.gz"
+ git = "https://github.com/xianyi/OpenBLAS.git"
+
+ libraries = ["libopenblas"]
+
+ version("develop", branch="develop")
+ version("0.3.20", sha256="8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c")
+ version("0.3.19", sha256="947f51bfe50c2a0749304fbe373e00e7637600b0a47b78a51382aeb30ca08562")
+ version("0.3.18", sha256="1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb")
+ version("0.3.17", sha256="df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f")
+ version("0.3.16", sha256="fa19263c5732af46d40d3adeec0b2c77951b67687e670fb6ba52ea3950460d79")
+ version("0.3.15", sha256="30a99dec977594b387a17f49904523e6bc8dd88bd247266e83485803759e4bbe")
+ version("0.3.14", sha256="d381935d26f9cae8e4bbd7d7f278435adf8e3a90920edf284bb9ad789ee9ad60")
+ version("0.3.13", sha256="79197543b17cc314b7e43f7a33148c308b0807cd6381ee77f77e15acf3e6459e")
+ version("0.3.12", sha256="65a7d3a4010a4e3bd5c0baa41a234797cd3a1735449a4a5902129152601dc57b")
+ version("0.3.11", sha256="bc4617971179e037ae4e8ebcd837e46db88422f7b365325bd7aba31d1921a673")
+ version("0.3.10", sha256="0484d275f87e9b8641ff2eecaa9df2830cbe276ac79ad80494822721de6e1693")
+ version("0.3.9", sha256="17d4677264dfbc4433e97076220adc79b050e4f8a083ea3f853a53af253bc380")
+ version("0.3.8", sha256="8f86ade36f0dbed9ac90eb62575137388359d97d8f93093b38abe166ad7ef3a8")
+ version("0.3.7", sha256="bde136122cef3dd6efe2de1c6f65c10955bbb0cc01a520c2342f5287c28f9379")
+ version("0.3.6", sha256="e64c8fe083832ffbc1459ab6c72f71d53afd3b36e8497c922a15a06b72e9002f")
+ version("0.3.5", sha256="0950c14bd77c90a6427e26210d6dab422271bc86f9fc69126725833ecdaa0e85")
+ version("0.3.4", sha256="4b4b4453251e9edb5f57465bf2b3cf67b19d811d50c8588cdf2ea1f201bb834f")
+ version("0.3.3", sha256="49d88f4494ae780e3d7fa51769c00d982d7cdb73e696054ac3baa81d42f13bab")
+ version("0.3.2", sha256="e8ba64f6b103c511ae13736100347deb7121ba9b41ba82052b1a018a65c0cb15")
+ version("0.3.1", sha256="1f5e956f35f3acdd3c74516e955d797a320c2e0135e31d838cbdb3ea94d0eb33")
+ version("0.3.0", sha256="cf51543709abe364d8ecfb5c09a2b533d2b725ea1a66f203509b21a8e9d8f1a1")
+ version("0.2.20", sha256="5ef38b15d9c652985774869efd548b8e3e972e1e99475c673b25537ed7bcf394")
+ version("0.2.19", sha256="9c40b5e4970f27c5f6911cb0a28aa26b6c83f17418b69f8e5a116bb983ca8557")
+ version("0.2.18", sha256="7d9f8d4ea4a65ab68088f3bb557f03a7ac9cb5036ef2ba30546c3a28774a4112")
+ version("0.2.17", sha256="0fe836dfee219ff4cadcc3567fb2223d9e0da5f60c7382711fb9e2c35ecf0dbf")
+ version("0.2.16", sha256="766f350d0a4be614812d535cead8c816fc3ad3b9afcd93167ea5e4df9d61869b")
+ version("0.2.15", sha256="73c40ace5978282224e5e122a41c8388c5a19e65a6f2329c2b7c0b61bacc9044")
+
+ variant("ilp64", default=False, description="Force 64-bit Fortran native integers")
+ variant("pic", default=True, description="Build position independent code")
+ variant("shared", default=True, description="Build shared libraries")
variant(
- 'threads', default='none',
- description='Multithreading support',
- values=('pthreads', 'openmp', 'none'),
- multi=False
+ "consistent_fpcsr",
+ default=False,
+ description="Synchronize FP CSR between threads (x86/x86_64 only)",
+ )
+ variant(
+ "bignuma",
+ default=False,
+ description="Enable experimental support for up to 1024 CPUs/Cores and 128 numa nodes",
+ )
+ variant("symbol_suffix", default="none", description="Set a symbol suffix")
+
+ variant("locking", default=True, description="Build with thread safety")
+ variant(
+ "threads",
+ default="none",
+ description="Multithreading support",
+ values=("pthreads", "openmp", "none"),
+ multi=False,
)
# virtual dependency
- provides('blas')
- provides('lapack')
- provides('lapack@3.9.1:', when='@0.3.15:')
- provides('lapack@3.7.0', when='@0.2.20')
+ provides("blas")
+ provides("lapack")
+ provides("lapack@3.9.1:", when="@0.3.15:")
+ provides("lapack@3.7.0", when="@0.2.20")
# https://github.com/spack/spack/issues/31732
- patch('f_check-oneapi.patch', when='@0.3.20 %oneapi')
+ patch("f_check-oneapi.patch", when="@0.3.20 %oneapi")
# OpenBLAS >=3.0 has an official way to disable internal parallel builds
- patch('make.patch', when='@0.2.16:0.2.20')
+ patch("make.patch", when="@0.2.16:0.2.20")
# This patch is in a pull request to OpenBLAS that has not been handled
# https://github.com/xianyi/OpenBLAS/pull/915
# UPD: the patch has been merged starting version 0.2.20
- patch('openblas_icc.patch', when='@:0.2.19%intel')
- patch('openblas_icc_openmp.patch', when='@:0.2.20%intel@16.0:')
- patch('openblas_icc_fortran.patch', when='@:0.3.14%intel@16.0:')
- patch('openblas_icc_fortran2.patch', when='@:0.3.14%intel@18.0:')
+ patch("openblas_icc.patch", when="@:0.2.19%intel")
+ patch("openblas_icc_openmp.patch", when="@:0.2.20%intel@16.0:")
+ patch("openblas_icc_fortran.patch", when="@:0.3.14%intel@16.0:")
+ patch("openblas_icc_fortran2.patch", when="@:0.3.14%intel@18.0:")
# See https://github.com/spack/spack/issues/15385
- patch('lapack-0.3.9-xerbl.patch', when='@0.3.8:0.3.9 %intel')
+ patch("lapack-0.3.9-xerbl.patch", when="@0.3.8:0.3.9 %intel")
# Fixes compilation error on POWER8 with GCC 7
# https://github.com/xianyi/OpenBLAS/pull/1098
- patch('power8.patch', when='@0.2.18:0.2.19 %gcc@7.1.0: target=power8')
+ patch("power8.patch", when="@0.2.18:0.2.19 %gcc@7.1.0: target=power8")
# Change file comments to work around clang 3.9 assembler bug
# https://github.com/xianyi/OpenBLAS/pull/982
- patch('openblas0.2.19.diff', when='@0.2.19')
+ patch("openblas0.2.19.diff", when="@0.2.19")
# Fix CMake export symbol error
# https://github.com/xianyi/OpenBLAS/pull/1703
- patch('openblas-0.3.2-cmake.patch', when='@0.3.1:0.3.2')
+ patch("openblas-0.3.2-cmake.patch", when="@0.3.1:0.3.2")
# Disable experimental TLS code that lead to many threading issues
# https://github.com/xianyi/OpenBLAS/issues/1735#issuecomment-422954465
# https://github.com/xianyi/OpenBLAS/issues/1761#issuecomment-421039174
# https://github.com/xianyi/OpenBLAS/pull/1765
- patch('https://github.com/xianyi/OpenBLAS/commit/4d183e5567346f80f2ef97eb98f8601c47f8cb56.patch?full_index=1',
- sha256='9b02860bd78252ed9f09abb65a62fff22c0aeca002757d503f5b643a11b744bf',
- when='@0.3.3')
+ patch(
+ "https://github.com/xianyi/OpenBLAS/commit/4d183e5567346f80f2ef97eb98f8601c47f8cb56.patch?full_index=1",
+ sha256="9b02860bd78252ed9f09abb65a62fff22c0aeca002757d503f5b643a11b744bf",
+ when="@0.3.3",
+ )
# Fix parallel build issues on filesystems
# with missing sub-second timestamp resolution
- patch('https://github.com/xianyi/OpenBLAS/commit/79ea839b635d1fd84b6ce8a47e086f01d64198e6.patch?full_index=1',
- sha256='1cbadd897d037e6015384aaad70efe0d9eac4382482ee01e3fbe89cde2a1ebea',
- when='@0.3.0:0.3.3')
+ patch(
+ "https://github.com/xianyi/OpenBLAS/commit/79ea839b635d1fd84b6ce8a47e086f01d64198e6.patch?full_index=1",
+ sha256="1cbadd897d037e6015384aaad70efe0d9eac4382482ee01e3fbe89cde2a1ebea",
+ when="@0.3.0:0.3.3",
+ )
# Fix https://github.com/xianyi/OpenBLAS/issues/2431
# Patch derived from https://github.com/xianyi/OpenBLAS/pull/2424
- patch('openblas-0.3.8-darwin.patch', when='@0.3.8 platform=darwin')
+ patch("openblas-0.3.8-darwin.patch", when="@0.3.8 platform=darwin")
# Fix ICE in LLVM 9.0.0 https://github.com/xianyi/OpenBLAS/pull/2329
# Patch as in https://github.com/xianyi/OpenBLAS/pull/2597
- patch('openblas_appleclang11.patch', when='@0.3.8:0.3.9 %apple-clang@11.0.3')
+ patch("openblas_appleclang11.patch", when="@0.3.8:0.3.9 %apple-clang@11.0.3")
# There was an error in Reference-LAPACK that is triggeret by Xcode12
# fixed upstream by https://github.com/xianyi/OpenBLAS/pull/2808 and
# should be included in post 0.3.10 versions. Application to earlier
# versions was not tested.
# See also https://github.com/xianyi/OpenBLAS/issues/2870
- patch('https://github.com/xianyi/OpenBLAS/commit/f42e84d46c52f4ee1e05af8f365cd85de8a77b95.patch?full_index=1',
- sha256='d38396ed602c3b655ad8cfc3d70b72726c567643578bf65466527f3a57bbd495',
- when='@0.3.8:0.3.10 %apple-clang@12.0.0:')
+ patch(
+ "https://github.com/xianyi/OpenBLAS/commit/f42e84d46c52f4ee1e05af8f365cd85de8a77b95.patch?full_index=1",
+ sha256="d38396ed602c3b655ad8cfc3d70b72726c567643578bf65466527f3a57bbd495",
+ when="@0.3.8:0.3.10 %apple-clang@12.0.0:",
+ )
# Add conditions to f_check to determine the Fujitsu compiler
# See https://github.com/xianyi/OpenBLAS/pull/3010
# UPD: the patch has been merged starting version 0.3.13
- patch('openblas_fujitsu.patch', when='@:0.3.10 %fj')
- patch('openblas_fujitsu_v0.3.11.patch', when='@0.3.11:0.3.12 %fj')
- patch('openblas_fujitsu2.patch', when='@0.3.10:0.3.12 %fj')
+ patch("openblas_fujitsu.patch", when="@:0.3.10 %fj")
+ patch("openblas_fujitsu_v0.3.11.patch", when="@0.3.11:0.3.12 %fj")
+ patch("openblas_fujitsu2.patch", when="@0.3.10:0.3.12 %fj")
# Use /usr/bin/env perl in build scripts
- patch('0001-use-usr-bin-env-perl.patch', when='@:0.3.13')
+ patch("0001-use-usr-bin-env-perl.patch", when="@:0.3.13")
# See https://github.com/spack/spack/issues/19932#issuecomment-733452619
- conflicts('%gcc@7.0.0:7.3,8.0.0:8.2', when='@0.3.11:')
+ conflicts("%gcc@7.0.0:7.3,8.0.0:8.2", when="@0.3.11:")
# See https://github.com/xianyi/OpenBLAS/issues/3074
- conflicts('%gcc@:10.1', when='@0.3.13 target=ppc64le:')
+ conflicts("%gcc@:10.1", when="@0.3.13 target=ppc64le:")
# See https://github.com/spack/spack/issues/3036
- conflicts('%intel@16', when='@0.2.15:0.2.19')
- conflicts('+consistent_fpcsr', when='threads=none',
- msg='FPCSR consistency only applies to multithreading')
+ conflicts("%intel@16", when="@0.2.15:0.2.19")
+ conflicts(
+ "+consistent_fpcsr",
+ when="threads=none",
+ msg="FPCSR consistency only applies to multithreading",
+ )
- conflicts('threads=pthreads', when='~locking', msg='Pthread support requires +locking')
- conflicts('threads=openmp', when='%apple-clang', msg="Apple's clang does not support OpenMP")
- conflicts('threads=openmp @:0.2.19', when='%clang', msg='OpenBLAS @:0.2.19 does not support OpenMP with clang!')
+ conflicts("threads=pthreads", when="~locking", msg="Pthread support requires +locking")
+ conflicts("threads=openmp", when="%apple-clang", msg="Apple's clang does not support OpenMP")
+ conflicts(
+ "threads=openmp @:0.2.19",
+ when="%clang",
+ msg="OpenBLAS @:0.2.19 does not support OpenMP with clang!",
+ )
- depends_on('perl', type='build')
+ depends_on("perl", type="build")
@classmethod
def determine_version(cls, lib):
ver = None
for ext in library_extensions:
- match = re.search(r'lib(\S*?)-r(\d+\.\d+\.\d+)\.%s' %
- ext, lib)
+ match = re.search(r"lib(\S*?)-r(\d+\.\d+\.\d+)\.%s" % ext, lib)
if match:
ver = match.group(2)
return ver
@@ -165,17 +186,15 @@ class Openblas(MakefilePackage):
@property
def parallel(self):
# unclear whether setting `-j N` externally was supported before 0.3
- return self.spec.version >= Version('0.3.0')
+ return self.spec.version >= Version("0.3.0")
- @run_before('edit')
+ @run_before("edit")
def check_compilers(self):
# As of 06/2016 there is no mechanism to specify that packages which
# depends on Blas/Lapack need C or/and Fortran symbols. For now
# require both.
if self.compiler.fc is None:
- raise InstallError(
- 'OpenBLAS requires both C and Fortran compilers!'
- )
+ raise InstallError("OpenBLAS requires both C and Fortran compilers!")
@staticmethod
def _read_targets(target_file):
@@ -183,7 +202,7 @@ class Openblas(MakefilePackage):
file.
"""
micros = []
- re_target = re.compile(r'^[A-Z0-9_]+$')
+ re_target = re.compile(r"^[A-Z0-9_]+$")
for line in target_file:
match = re_target.match(line)
if match is not None:
@@ -210,13 +229,14 @@ class Openblas(MakefilePackage):
args = []
# List of available architectures, and possible aliases
- openblas_arch = set(['alpha', 'arm', 'ia64', 'mips', 'mips64',
- 'power', 'riscv64', 'sparc', 'zarch'])
+ openblas_arch = set(
+ ["alpha", "arm", "ia64", "mips", "mips64", "power", "riscv64", "sparc", "zarch"]
+ )
openblas_arch_map = {
- 'amd64': 'x86_64',
- 'powerpc64': 'power',
- 'i386': 'x86',
- 'aarch64': 'arm64',
+ "amd64": "x86_64",
+ "powerpc64": "power",
+ "i386": "x86",
+ "aarch64": "arm64",
}
openblas_arch.update(openblas_arch_map.keys())
openblas_arch.update(openblas_arch_map.values())
@@ -238,36 +258,36 @@ class Openblas(MakefilePackage):
if arch_name in openblas_arch:
# Apply possible spack->openblas arch name mapping
arch_name = openblas_arch_map.get(arch_name, arch_name)
- args.append('ARCH=' + arch_name)
+ args.append("ARCH=" + arch_name)
- if microarch.vendor == 'generic' and microarch.name != 'riscv64':
+ if microarch.vendor == "generic" and microarch.name != "riscv64":
# User requested a generic platform, or we couldn't find a good
# match for the requested one. Allow OpenBLAS to determine
# an optimized kernel at run time, including older CPUs, while
# forcing it not to add flags for the current host compiler.
- args.append('DYNAMIC_ARCH=1')
- if self.spec.version >= Version('0.3.12'):
+ args.append("DYNAMIC_ARCH=1")
+ if self.spec.version >= Version("0.3.12"):
# These are necessary to prevent OpenBLAS from targeting the
# host architecture on newer version of OpenBLAS, but they
# cause build errors on 0.3.5 .
- args.extend(['DYNAMIC_OLDER=1', 'TARGET=GENERIC'])
+ args.extend(["DYNAMIC_OLDER=1", "TARGET=GENERIC"])
elif microarch.name in skylake:
# Special case for renaming skylake family
- args.append('TARGET=SKYLAKEX')
+ args.append("TARGET=SKYLAKEX")
if microarch.name == "skylake":
# Special case for disabling avx512 instructions
- args.append('NO_AVX512=1')
+ args.append("NO_AVX512=1")
- elif microarch.name == 'riscv64':
+ elif microarch.name == "riscv64":
# Special case for renaming the generic riscv64 uarch to the
# corresponding OpenBLAS target. riscv64 does not yet support
# DYNAMIC_ARCH or TARGET=GENERIC. Once it does, this special
# case can go away.
- args.append('TARGET=' + "RISCV64_GENERIC")
+ args.append("TARGET=" + "RISCV64_GENERIC")
else:
- args.append('TARGET=' + microarch.name.upper())
+ args.append("TARGET=" + microarch.name.upper())
return args
@@ -279,77 +299,79 @@ class Openblas(MakefilePackage):
# $SPACK_ROOT/lib/spack/env/<compiler> have symlinks with reasonable
# names and hack them inside lib/spack/spack/compilers/<compiler>.py
make_defs = [
- 'CC={0}'.format(spack_cc),
- 'FC={0}'.format(spack_fc),
+ "CC={0}".format(spack_cc),
+ "FC={0}".format(spack_fc),
]
# force OpenBLAS to use externally defined parallel build
- if self.spec.version < Version('0.3'):
- make_defs.append('MAKE_NO_J=1') # flag defined by our make.patch
+ if self.spec.version < Version("0.3"):
+ make_defs.append("MAKE_NO_J=1") # flag defined by our make.patch
else:
- make_defs.append('MAKE_NB_JOBS=0') # flag provided by OpenBLAS
+ make_defs.append("MAKE_NB_JOBS=0") # flag provided by OpenBLAS
# Add target and architecture flags
make_defs += self._microarch_target_args()
- if '~shared' in self.spec:
- if '+pic' in self.spec:
- make_defs.extend([
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag),
- 'FFLAGS={0}'.format(self.compiler.f77_pic_flag)
- ])
- make_defs += ['NO_SHARED=1']
+ if "~shared" in self.spec:
+ if "+pic" in self.spec:
+ make_defs.extend(
+ [
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag),
+ "FFLAGS={0}".format(self.compiler.f77_pic_flag),
+ ]
+ )
+ make_defs += ["NO_SHARED=1"]
# fix missing _dggsvd_ and _sggsvd_
- if self.spec.satisfies('@0.2.16'):
- make_defs += ['BUILD_LAPACK_DEPRECATED=1']
+ if self.spec.satisfies("@0.2.16"):
+ make_defs += ["BUILD_LAPACK_DEPRECATED=1"]
# serial, but still thread-safe version
- if self.spec.satisfies('@0.3.7:'):
- if '+locking' in self.spec:
- make_defs += ['USE_LOCKING=1']
+ if self.spec.satisfies("@0.3.7:"):
+ if "+locking" in self.spec:
+ make_defs += ["USE_LOCKING=1"]
else:
- make_defs += ['USE_LOCKING=0']
+ make_defs += ["USE_LOCKING=0"]
# Add support for multithreading
- if self.spec.satisfies('threads=openmp'):
- make_defs += ['USE_OPENMP=1', 'USE_THREAD=1']
- elif self.spec.satisfies('threads=pthreads'):
- make_defs += ['USE_OPENMP=0', 'USE_THREAD=1']
+ if self.spec.satisfies("threads=openmp"):
+ make_defs += ["USE_OPENMP=1", "USE_THREAD=1"]
+ elif self.spec.satisfies("threads=pthreads"):
+ make_defs += ["USE_OPENMP=0", "USE_THREAD=1"]
else:
- make_defs += ['USE_OPENMP=0', 'USE_THREAD=0']
+ make_defs += ["USE_OPENMP=0", "USE_THREAD=0"]
# 64bit ints
- if '+ilp64' in self.spec:
- make_defs += ['INTERFACE64=1']
+ if "+ilp64" in self.spec:
+ make_defs += ["INTERFACE64=1"]
- suffix = self.spec.variants['symbol_suffix'].value
- if suffix != 'none':
- make_defs += ['SYMBOLSUFFIX={0}'.format(suffix)]
+ suffix = self.spec.variants["symbol_suffix"].value
+ if suffix != "none":
+ make_defs += ["SYMBOLSUFFIX={0}".format(suffix)]
# Synchronize floating-point control and status register (FPCSR)
# between threads (x86/x86_64 only).
- if '+consistent_fpcsr' in self.spec:
- make_defs += ['CONSISTENT_FPCSR=1']
+ if "+consistent_fpcsr" in self.spec:
+ make_defs += ["CONSISTENT_FPCSR=1"]
# Flang/f18 does not provide ETIME as an intrinsic
- if self.spec.satisfies('%clang'):
- make_defs.append('TIMER=INT_CPU_TIME')
+ if self.spec.satisfies("%clang"):
+ make_defs.append("TIMER=INT_CPU_TIME")
# Prevent errors in `as` assembler from newer instructions
- if self.spec.satisfies('%gcc@:4.8.4'):
- make_defs.append('NO_AVX2=1')
+ if self.spec.satisfies("%gcc@:4.8.4"):
+ make_defs.append("NO_AVX2=1")
# Fujitsu Compiler dose not add Fortran runtime in rpath.
- if self.spec.satisfies('%fj'):
- make_defs.append('LDFLAGS=-lfj90i -lfj90f -lfjsrcinfo -lelf')
+ if self.spec.satisfies("%fj"):
+ make_defs.append("LDFLAGS=-lfj90i -lfj90f -lfjsrcinfo -lelf")
# Newer versions of openblas will try to find ranlib in the compiler's
# prefix, for instance, .../lib/spack/env/gcc/ranlib, which will fail.
- if self.spec.satisfies('@0.3.13:'):
- make_defs.append('RANLIB=ranlib')
+ if self.spec.satisfies("@0.3.13:"):
+ make_defs.append("RANLIB=ranlib")
- if self.spec.satisfies('+bignuma'):
- make_defs.append('BIGNUMA=1')
+ if self.spec.satisfies("+bignuma"):
+ make_defs.append("BIGNUMA=1")
return make_defs
@@ -360,66 +382,62 @@ class Openblas(MakefilePackage):
# headers either included in one of these two headers, or included in
# one of the source files implementing functions declared in these
# headers.
- return find_headers(['cblas', 'lapacke'], self.prefix.include)
+ return find_headers(["cblas", "lapacke"], self.prefix.include)
@property
def libs(self):
spec = self.spec
# Look for openblas{symbol_suffix}
- name = 'libopenblas'
- search_shared = bool(spec.variants['shared'].value)
- suffix = spec.variants['symbol_suffix'].value
- if suffix != 'none':
+ name = "libopenblas"
+ search_shared = bool(spec.variants["shared"].value)
+ suffix = spec.variants["symbol_suffix"].value
+ if suffix != "none":
name += suffix
return find_libraries(name, spec.prefix, shared=search_shared, recursive=True)
@property
def build_targets(self):
- targets = ['libs', 'netlib']
+ targets = ["libs", "netlib"]
# Build shared if variant is set.
- if '+shared' in self.spec:
- targets += ['shared']
+ if "+shared" in self.spec:
+ targets += ["shared"]
return self.make_defs + targets
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check_build(self):
- make('tests', *self.make_defs, parallel=False)
+ make("tests", *self.make_defs, parallel=False)
@property
def install_targets(self):
make_args = [
- 'install',
- 'PREFIX={0}'.format(self.prefix),
+ "install",
+ "PREFIX={0}".format(self.prefix),
]
return make_args + self.make_defs
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
spec = self.spec
# Openblas may pass its own test but still fail to compile Lapack
# symbols. To make sure we get working Blas and Lapack, do a small
# test.
- source_file = join_path(os.path.dirname(self.module.__file__),
- 'test_cblas_dgemm.c')
- blessed_file = join_path(os.path.dirname(self.module.__file__),
- 'test_cblas_dgemm.output')
-
- include_flags = spec['openblas'].headers.cpp_flags
- link_flags = spec['openblas'].libs.ld_flags
- if self.compiler.name == 'intel':
- link_flags += ' -lifcore'
- if self.spec.satisfies('threads=pthreads'):
- link_flags += ' -lpthread'
- if spec.satisfies('threads=openmp'):
- link_flags += ' -lpthread ' + self.compiler.openmp_flag
-
- output = compile_c_and_execute(
- source_file, [include_flags], link_flags.split()
- )
+ source_file = join_path(os.path.dirname(self.module.__file__), "test_cblas_dgemm.c")
+ blessed_file = join_path(os.path.dirname(self.module.__file__), "test_cblas_dgemm.output")
+
+ include_flags = spec["openblas"].headers.cpp_flags
+ link_flags = spec["openblas"].libs.ld_flags
+ if self.compiler.name == "intel":
+ link_flags += " -lifcore"
+ if self.spec.satisfies("threads=pthreads"):
+ link_flags += " -lpthread"
+ if spec.satisfies("threads=openmp"):
+ link_flags += " -lpthread " + self.compiler.openmp_flag
+
+ output = compile_c_and_execute(source_file, [include_flags], link_flags.split())
compare_output_file(output, blessed_file)
diff --git a/var/spack/repos/builtin/packages/opencarp/package.py b/var/spack/repos/builtin/packages/opencarp/package.py
index af71203d8d..d72db428de 100644
--- a/var/spack/repos/builtin/packages/opencarp/package.py
+++ b/var/spack/repos/builtin/packages/opencarp/package.py
@@ -11,62 +11,60 @@ from spack.package import *
class Opencarp(CMakePackage):
"""The openCARP simulation software,
- an open cardiac electrophysiology simulator for in-silico experiments."""
+ an open cardiac electrophysiology simulator for in-silico experiments."""
homepage = "https://www.opencarp.org"
git = "https://git.opencarp.org/openCARP/openCARP.git"
- maintainers = ['MarieHouillon']
+ maintainers = ["MarieHouillon"]
- version('10.0', commit='7aec7900', submodules=False, no_cache=True, preferred=True)
- version('9.0', commit='c0167599', submodules=False, no_cache=True)
- version('8.2', commit='dbfd16fd', submodules=False, no_cache=True)
- version('8.1', commit='28eb2e97', submodules=False, no_cache=True)
- version('7.0', commit='78da9195', submodules=False, no_cache=True)
- version('master', branch='master', submodules=False, no_cache=True)
+ version("10.0", commit="7aec7900", submodules=False, no_cache=True, preferred=True)
+ version("9.0", commit="c0167599", submodules=False, no_cache=True)
+ version("8.2", commit="dbfd16fd", submodules=False, no_cache=True)
+ version("8.1", commit="28eb2e97", submodules=False, no_cache=True)
+ version("7.0", commit="78da9195", submodules=False, no_cache=True)
+ version("master", branch="master", submodules=False, no_cache=True)
- variant('carputils', default=False, description='Installs the carputils framework')
- variant('meshtool', default=False, description='Installs the meshtool software')
+ variant("carputils", default=False, description="Installs the carputils framework")
+ variant("meshtool", default=False, description="Installs the meshtool software")
# Patch removing problematic steps in CMake process
- patch('opencarp7.patch', when='@7.0')
+ patch("opencarp7.patch", when="@7.0")
- depends_on('git')
- depends_on('petsc')
- depends_on('binutils')
- depends_on('gengetopt')
- depends_on('pkgconfig')
- depends_on('python')
- depends_on('zlib')
- depends_on('perl')
+ depends_on("git")
+ depends_on("petsc")
+ depends_on("binutils")
+ depends_on("gengetopt")
+ depends_on("pkgconfig")
+ depends_on("python")
+ depends_on("zlib")
+ depends_on("perl")
- depends_on('py-carputils', when='+carputils')
- depends_on('meshtool', when='+meshtool')
+ depends_on("py-carputils", when="+carputils")
+ depends_on("meshtool", when="+meshtool")
# Use specific versions of carputils and meshtool for releases
- for ver in ['10.0', '9.0', '8.2', '7.0', '8.1']:
- depends_on('py-carputils@oc' + ver, when='@' + ver + ' +carputils')
- depends_on('meshtool@oc' + ver, when='@' + ver + ' +meshtool')
+ for ver in ["10.0", "9.0", "8.2", "7.0", "8.1"]:
+ depends_on("py-carputils@oc" + ver, when="@" + ver + " +carputils")
+ depends_on("meshtool@oc" + ver, when="@" + ver + " +meshtool")
def cmake_args(self):
- return [
- self.define('DLOPEN', True),
- self.define('SPACK_BUILD', True)
- ]
+ return [self.define("DLOPEN", True), self.define("SPACK_BUILD", True)]
- @run_after('install')
+ @run_after("install")
def post_install(self):
# If carputils has been installed, a new settings file
# with right executable paths is generated
- if '+carputils' in self.spec:
- settings_prefix = os.path.expanduser(join_path('~', '.config', 'carputils'))
- settings_file = join_path(settings_prefix, 'settings.yaml')
+ if "+carputils" in self.spec:
+ settings_prefix = os.path.expanduser(join_path("~", ".config", "carputils"))
+ settings_file = join_path(settings_prefix, "settings.yaml")
if os.path.exists(settings_file):
- print('Backup the existing settings.yaml...')
- os.rename(settings_file,
- join_path(
- settings_prefix,
- 'settings.yaml.'
- + datetime.today().strftime('%Y-%m-%d-%H:%M:%S')))
- cusettings = Executable('cusettings')
- cusettings(settings_file, '--flavor', 'petsc',
- '--software-root', self.prefix.bin)
+ print("Backup the existing settings.yaml...")
+ os.rename(
+ settings_file,
+ join_path(
+ settings_prefix,
+ "settings.yaml." + datetime.today().strftime("%Y-%m-%d-%H:%M:%S"),
+ ),
+ )
+ cusettings = Executable("cusettings")
+ cusettings(settings_file, "--flavor", "petsc", "--software-root", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/opencascade/package.py b/var/spack/repos/builtin/packages/opencascade/package.py
index 8c7cfc5700..c378ffe9b1 100644
--- a/var/spack/repos/builtin/packages/opencascade/package.py
+++ b/var/spack/repos/builtin/packages/opencascade/package.py
@@ -14,80 +14,91 @@ class Opencascade(CMakePackage):
visualization, data exchange and rapid application development."""
homepage = "https://www.opencascade.com"
- url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_4_0;sf=tgz"
+ url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_4_0;sf=tgz"
- maintainers = ['wdconinc']
+ maintainers = ["wdconinc"]
- version('7.6.0', extension='tar.gz',
- sha256='e7f989d52348c3b3acb7eb4ee001bb5c2eed5250cdcceaa6ae97edc294f2cabd')
- version('7.5.3', extension='tar.gz',
- sha256='cc3d3fd9f76526502c3d9025b651f45b034187430f231414c97dda756572410b')
- version('7.5.2', extension='tar.gz',
- sha256='1a32d2b0d6d3c236163cb45139221fb198f0f3cdad56606c5b1c9a2a8869b3ac')
- version('7.4.0p2', extension='tar.gz',
- sha256='93565f9bdc9575e0d6fcb34c11c8f06d8f9394250bb427870da65424e8537f60')
- version('7.4.0p1', extension='tar.gz',
- sha256='e00fedc221560fda31653c23a8f3d0eda78095c87519f338d4f4088e2ee9a9c0')
- version('7.4.0', extension='tar.gz',
- sha256='655da7717dac3460a22a6a7ee68860c1da56da2fec9c380d8ac0ac0349d67676')
+ version(
+ "7.6.0",
+ extension="tar.gz",
+ sha256="e7f989d52348c3b3acb7eb4ee001bb5c2eed5250cdcceaa6ae97edc294f2cabd",
+ )
+ version(
+ "7.5.3",
+ extension="tar.gz",
+ sha256="cc3d3fd9f76526502c3d9025b651f45b034187430f231414c97dda756572410b",
+ )
+ version(
+ "7.5.2",
+ extension="tar.gz",
+ sha256="1a32d2b0d6d3c236163cb45139221fb198f0f3cdad56606c5b1c9a2a8869b3ac",
+ )
+ version(
+ "7.4.0p2",
+ extension="tar.gz",
+ sha256="93565f9bdc9575e0d6fcb34c11c8f06d8f9394250bb427870da65424e8537f60",
+ )
+ version(
+ "7.4.0p1",
+ extension="tar.gz",
+ sha256="e00fedc221560fda31653c23a8f3d0eda78095c87519f338d4f4088e2ee9a9c0",
+ )
+ version(
+ "7.4.0",
+ extension="tar.gz",
+ sha256="655da7717dac3460a22a6a7ee68860c1da56da2fec9c380d8ac0ac0349d67676",
+ )
- variant('tbb', default=False,
- description='Build with Intel Threading Building Blocks')
- variant('vtk', default=False,
- description='Enable VTK support')
- variant('freeimage', default=False,
- description='Build with FreeImage')
- variant('rapidjson', default=False,
- description='Build with rapidjson')
+ variant("tbb", default=False, description="Build with Intel Threading Building Blocks")
+ variant("vtk", default=False, description="Enable VTK support")
+ variant("freeimage", default=False, description="Build with FreeImage")
+ variant("rapidjson", default=False, description="Build with rapidjson")
- depends_on('intel-tbb', when='+tbb')
- depends_on('vtk', when='+vtk')
- depends_on('freeimage', when='+freeimage')
- depends_on('rapidjson', when='+rapidjson')
- depends_on('freetype')
- depends_on('libxext')
- depends_on('libxmu')
- depends_on('libxi')
- depends_on('libxt')
- depends_on('tcl')
- depends_on('tk')
- depends_on('gl')
+ depends_on("intel-tbb", when="+tbb")
+ depends_on("vtk", when="+vtk")
+ depends_on("freeimage", when="+freeimage")
+ depends_on("rapidjson", when="+rapidjson")
+ depends_on("freetype")
+ depends_on("libxext")
+ depends_on("libxmu")
+ depends_on("libxi")
+ depends_on("libxt")
+ depends_on("tcl")
+ depends_on("tk")
+ depends_on("gl")
def url_for_version(self, version):
- url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V{0};sf=tgz"
+ url = (
+ "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V{0};sf=tgz"
+ )
return url.format(version.underscored)
def cmake_args(self):
args = []
- if '+tbb' in self.spec:
- args.append('-DUSE_TBB=ON')
- args.append('-D3RDPARTY_VTK_DIR=%s' %
- self.spec['intel-tbb'].prefix)
+ if "+tbb" in self.spec:
+ args.append("-DUSE_TBB=ON")
+ args.append("-D3RDPARTY_VTK_DIR=%s" % self.spec["intel-tbb"].prefix)
else:
- args.append('-DUSE_TBB=OFF')
+ args.append("-DUSE_TBB=OFF")
- if '+vtk' in self.spec:
- args.append('-DUSE_VTK=ON')
- args.append('-D3RDPARTY_VTK_DIR=%s' %
- self.spec['vtk'].prefix)
- args.append('-D3RDPARTY_VTK_INCLUDE_DIR=%s' %
- self.spec['vtk'].prefix.include)
+ if "+vtk" in self.spec:
+ args.append("-DUSE_VTK=ON")
+ args.append("-D3RDPARTY_VTK_DIR=%s" % self.spec["vtk"].prefix)
+ args.append("-D3RDPARTY_VTK_INCLUDE_DIR=%s" % self.spec["vtk"].prefix.include)
else:
- args.append('-DUSE_VTK=OFF')
+ args.append("-DUSE_VTK=OFF")
- if '+freeimage' in self.spec:
- args.append('-DUSE_FREEIMAGE=ON')
- args.append('-D3RDPARTY_FREEIMAGE_DIR=%s' %
- self.spec['freeimage'].prefix)
+ if "+freeimage" in self.spec:
+ args.append("-DUSE_FREEIMAGE=ON")
+ args.append("-D3RDPARTY_FREEIMAGE_DIR=%s" % self.spec["freeimage"].prefix)
else:
- args.append('-DUSE_FREEIMAGE=OFF')
+ args.append("-DUSE_FREEIMAGE=OFF")
- if '+rapidjson' in self.spec:
- args.append('-DUSE_RAPIDJSON=ON')
- args.append('-D3RDPARTY_RAPIDJSON_DIR=%s' %
- self.spec['rapidjson'].prefix)
+ if "+rapidjson" in self.spec:
+ args.append("-DUSE_RAPIDJSON=ON")
+ args.append("-D3RDPARTY_RAPIDJSON_DIR=%s" % self.spec["rapidjson"].prefix)
else:
- args.append('-DUSE_RAPIDJSON=OFF')
+ args.append("-DUSE_RAPIDJSON=OFF")
return args
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 a556312ffb..d8b5aee22d 100644
--- a/var/spack/repos/builtin/packages/opencl-c-headers/package.py
+++ b/var/spack/repos/builtin/packages/opencl-c-headers/package.py
@@ -13,18 +13,30 @@ class OpenclCHeaders(Package):
"""OpenCL (Open Computing Language) C header files"""
homepage = "https://www.khronos.org/registry/OpenCL/"
- url = "https://github.com/KhronosGroup/OpenCL-Headers/archive/v2020.06.16.tar.gz"
- maintainers = ['lorddavidiii']
-
- version('2022.01.04', sha256='6e716e2b13fc8d363b40a165ca75021b102f9328e2b38f8054d7db5884de29c9')
- version('2021.06.30', sha256='6640d590c30d90f89351f5e3043ae6363feeb19ac5e64bc35f8cfa1a6cd5498e')
- version('2021.04.29', sha256='477e2b26125d99a9b2f20c68262f27ca3f3ca7899593a8af2b7fe077bdce18d1')
- version('2020.12.18', sha256='5dad6d436c0d7646ef62a39ef6cd1f3eba0a98fc9157808dfc1d808f3705ebc2')
- version('2020.06.16', sha256='2f5a60e5ac4b127650618c58a7e3b35a84dbf23c1a0ac72eb5e7baf221600e06')
- version('2020.03.13', sha256='664bbe587e5a0a00aac267f645b7c413586e7bc56dca9ff3b00037050d06f476')
+ url = "https://github.com/KhronosGroup/OpenCL-Headers/archive/v2020.06.16.tar.gz"
+ maintainers = ["lorddavidiii"]
+
+ version(
+ "2022.01.04", sha256="6e716e2b13fc8d363b40a165ca75021b102f9328e2b38f8054d7db5884de29c9"
+ )
+ version(
+ "2021.06.30", sha256="6640d590c30d90f89351f5e3043ae6363feeb19ac5e64bc35f8cfa1a6cd5498e"
+ )
+ version(
+ "2021.04.29", sha256="477e2b26125d99a9b2f20c68262f27ca3f3ca7899593a8af2b7fe077bdce18d1"
+ )
+ version(
+ "2020.12.18", sha256="5dad6d436c0d7646ef62a39ef6cd1f3eba0a98fc9157808dfc1d808f3705ebc2"
+ )
+ version(
+ "2020.06.16", sha256="2f5a60e5ac4b127650618c58a7e3b35a84dbf23c1a0ac72eb5e7baf221600e06"
+ )
+ version(
+ "2020.03.13", sha256="664bbe587e5a0a00aac267f645b7c413586e7bc56dca9ff3b00037050d06f476"
+ )
def install(self, spec, prefix):
- install_tree('CL', prefix.include.CL)
- if sys.platform == 'darwin':
- ln = which('ln')
- ln('-s', prefix.include.CL, prefix.include.OpenCL)
+ install_tree("CL", prefix.include.CL)
+ if sys.platform == "darwin":
+ ln = which("ln")
+ ln("-s", prefix.include.CL, prefix.include.OpenCL)
diff --git a/var/spack/repos/builtin/packages/opencl-clhpp/package.py b/var/spack/repos/builtin/packages/opencl-clhpp/package.py
index d3758a901f..4431e00543 100644
--- a/var/spack/repos/builtin/packages/opencl-clhpp/package.py
+++ b/var/spack/repos/builtin/packages/opencl-clhpp/package.py
@@ -13,22 +13,22 @@ class OpenclClhpp(CMakePackage):
"""C++ headers for OpenCL development"""
homepage = "https://www.khronos.org/registry/OpenCL/"
- url = "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v2.0.12.tar.gz"
- maintainers = ['lorddavidiii']
+ url = "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v2.0.12.tar.gz"
+ maintainers = ["lorddavidiii"]
- version('2.0.16', sha256='869456032e60787eed9fceaeaf6c6cb4452bc0ff97e0f5a271510145a1c8f4d4')
- version('2.0.15', sha256='0175806508abc699586fc9a9387e01eb37bf812ca534e3b493ff3091ec2a9246')
- version('2.0.14', sha256='c8821a7638e57a2c4052631c941af720b581edda634db6ab0b59924c958d69b6')
- version('2.0.13', sha256='8ff0d0cd94d728edd30c876db546bf13e370ee7863629b4b9b5e2ef8e130d23c')
- version('2.0.12', sha256='20b28709ce74d3602f1a946d78a2024c1f6b0ef51358b9686612669897a58719')
- version('2.0.11', sha256='ffc2ca08cf4ae90ee55f14ea3735ccc388f454f4422b69498b2e9b93a1d45181')
- version('2.0.10', sha256='fa27456295c3fa534ce824eb0314190a8b3ebd3ba4d93a0b1270fc65bf378f2b')
- version('2.0.9', sha256='ba8ac4977650d833804f208a1b0c198006c65c5eac7c83b25dc32cea6199f58c')
+ version("2.0.16", sha256="869456032e60787eed9fceaeaf6c6cb4452bc0ff97e0f5a271510145a1c8f4d4")
+ version("2.0.15", sha256="0175806508abc699586fc9a9387e01eb37bf812ca534e3b493ff3091ec2a9246")
+ version("2.0.14", sha256="c8821a7638e57a2c4052631c941af720b581edda634db6ab0b59924c958d69b6")
+ version("2.0.13", sha256="8ff0d0cd94d728edd30c876db546bf13e370ee7863629b4b9b5e2ef8e130d23c")
+ version("2.0.12", sha256="20b28709ce74d3602f1a946d78a2024c1f6b0ef51358b9686612669897a58719")
+ version("2.0.11", sha256="ffc2ca08cf4ae90ee55f14ea3735ccc388f454f4422b69498b2e9b93a1d45181")
+ version("2.0.10", sha256="fa27456295c3fa534ce824eb0314190a8b3ebd3ba4d93a0b1270fc65bf378f2b")
+ version("2.0.9", sha256="ba8ac4977650d833804f208a1b0c198006c65c5eac7c83b25dc32cea6199f58c")
- root_cmakelists_dir = 'include'
+ root_cmakelists_dir = "include"
- @run_after('install')
+ @run_after("install")
def post_install(self):
- if sys.platform == 'darwin':
- ln = which('ln')
- ln('-s', prefix.include.CL, prefix.include.OpenCL)
+ if sys.platform == "darwin":
+ ln = which("ln")
+ ln("-s", prefix.include.CL, prefix.include.OpenCL)
diff --git a/var/spack/repos/builtin/packages/opencl-headers/package.py b/var/spack/repos/builtin/packages/opencl-headers/package.py
index 4349100b54..b85fcdf970 100644
--- a/var/spack/repos/builtin/packages/opencl-headers/package.py
+++ b/var/spack/repos/builtin/packages/opencl-headers/package.py
@@ -12,13 +12,13 @@ class OpenclHeaders(BundlePackage):
homepage = "https://www.khronos.org/registry/OpenCL/"
- version('3.0')
- version('2.2')
- version('2.1')
- version('2.0')
+ version("3.0")
+ version("2.2")
+ version("2.1")
+ version("2.0")
- depends_on('opencl-c-headers@2020.12.18:', when='@3.0:')
- depends_on('opencl-c-headers@2020.03.13:', when='@2.0:2.2')
- depends_on('opencl-clhpp@2.0.13:', when='@3.0:')
- depends_on('opencl-clhpp@2.0.11:', when='@2.1:2.2')
- depends_on('opencl-clhpp@2.0.9:', when='@2.0')
+ depends_on("opencl-c-headers@2020.12.18:", when="@3.0:")
+ depends_on("opencl-c-headers@2020.03.13:", when="@2.0:2.2")
+ depends_on("opencl-clhpp@2.0.13:", when="@3.0:")
+ depends_on("opencl-clhpp@2.0.11:", when="@2.1:2.2")
+ depends_on("opencl-clhpp@2.0.9:", when="@2.0")
diff --git a/var/spack/repos/builtin/packages/opencoarrays/package.py b/var/spack/repos/builtin/packages/opencoarrays/package.py
index df3f7a05ad..470d501f5d 100644
--- a/var/spack/repos/builtin/packages/opencoarrays/package.py
+++ b/var/spack/repos/builtin/packages/opencoarrays/package.py
@@ -15,28 +15,30 @@ class Opencoarrays(CMakePackage):
"""
homepage = "http://www.opencoarrays.org/"
- url = "https://github.com/sourceryinstitute/OpenCoarrays/releases/download/2.2.0/OpenCoarrays-2.2.0.tar.gz"
-
- version('2.7.1', sha256='d74ee914f94de1c396b96bbad2cf43d68f29fcc87460fcc0db6582e6ae691588')
- version('2.2.0', sha256='9311547a85a21853111f1e8555ceab4593731c6fd9edb64cfb9588805f9d1a0d')
- version('1.8.10', sha256='69b61d2d3b171a294702efbddc8a602824e35a3c49ee394b41d7fb887001501a')
- version('1.8.4', sha256='0cde7b114fa6d2d5eac55ace4f709e3b5eb7c7a33b81ddcaa3aaf01b2f486c0c')
- version('1.8.0', sha256='96f5a9c37f7bb587eacd44bc8789924d20c8e56dbbc51fad57e73d9f7a3768b5')
- version('1.7.4', sha256='1929dee793ce8f09e3b183e2b07c3e0008580cc76b460b1f7f7c066ad6672e14')
- version('1.6.2', sha256='7855d42a01babc233a070cc87282b5f8ffd538a7c87ec5119605d4d7c6d7f67e')
-
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo',
- 'MinSizeRel', 'CodeCoverage'))
-
- depends_on('mpi')
+ url = "https://github.com/sourceryinstitute/OpenCoarrays/releases/download/2.2.0/OpenCoarrays-2.2.0.tar.gz"
+
+ version("2.7.1", sha256="d74ee914f94de1c396b96bbad2cf43d68f29fcc87460fcc0db6582e6ae691588")
+ version("2.2.0", sha256="9311547a85a21853111f1e8555ceab4593731c6fd9edb64cfb9588805f9d1a0d")
+ version("1.8.10", sha256="69b61d2d3b171a294702efbddc8a602824e35a3c49ee394b41d7fb887001501a")
+ version("1.8.4", sha256="0cde7b114fa6d2d5eac55ace4f709e3b5eb7c7a33b81ddcaa3aaf01b2f486c0c")
+ version("1.8.0", sha256="96f5a9c37f7bb587eacd44bc8789924d20c8e56dbbc51fad57e73d9f7a3768b5")
+ version("1.7.4", sha256="1929dee793ce8f09e3b183e2b07c3e0008580cc76b460b1f7f7c066ad6672e14")
+ version("1.6.2", sha256="7855d42a01babc233a070cc87282b5f8ffd538a7c87ec5119605d4d7c6d7f67e")
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel", "CodeCoverage"),
+ )
+
+ depends_on("mpi")
# This patch removes a bunch of checks for the version of MPI available on
# the system. They make the Crays hang.
- patch('CMakeLists.patch', when='platform=cray')
+ patch("CMakeLists.patch", when="platform=cray")
def cmake_args(self):
args = []
- args.append("-DCMAKE_C_COMPILER=%s" % self.spec['mpi'].mpicc)
- args.append("-DCMAKE_Fortran_COMPILER=%s" % self.spec['mpi'].mpifc)
+ args.append("-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc)
+ args.append("-DCMAKE_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc)
return args
diff --git a/var/spack/repos/builtin/packages/opencv/package.py b/var/spack/repos/builtin/packages/opencv/package.py
index decb46c330..b86858e869 100644
--- a/var/spack/repos/builtin/packages/opencv/package.py
+++ b/var/spack/repos/builtin/packages/opencv/package.py
@@ -19,7 +19,7 @@ class Opencv(CMakePackage, CudaPackage):
maintainers = ["bvanessen", "adamjstewart", "glennpj"]
version("master", branch="master")
- version('4.6.0', sha256='1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277')
+ version("4.6.0", sha256="1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277")
version(
"4.5.4",
sha256="c20bb83dd790fc69df9f105477e24267706715a9d3c705ca1e7f613c7b3bad3d",
@@ -247,7 +247,7 @@ class Opencv(CMakePackage, CudaPackage):
for mod in modules:
# At least one of these modules must be enabled to build OpenCV
variant(mod, default=False, description="Include opencv_{0} module".format(mod))
- lib = 'libopencv_' + mod
+ lib = "libopencv_" + mod
libraries.append(lib)
# module conflicts and dependencies
@@ -887,21 +887,19 @@ class Opencv(CMakePackage, CudaPackage):
conflicts("+win32ui", when="platform=cray", msg="Windows only")
# https://github.com/opencv/opencv/wiki/ChangeLog#version460
- conflicts('%gcc@12:', when='@:4.5')
- conflicts('%clang@15:', when='@:4.5')
+ conflicts("%gcc@12:", when="@:4.5")
+ conflicts("%clang@15:", when="@:4.5")
@classmethod
def determine_version(cls, lib):
ver = None
for ext in library_extensions:
pattern = None
- if ext == 'dylib':
+ if ext == "dylib":
# Darwin switches the order of the version compared to Linux
- pattern = re.compile(r'lib(\S*?)_(\S*)\.(\d+\.\d+\.\d+)\.%s' %
- ext)
+ pattern = re.compile(r"lib(\S*?)_(\S*)\.(\d+\.\d+\.\d+)\.%s" % ext)
else:
- pattern = re.compile(r'lib(\S*?)_(\S*)\.%s\.(\d+\.\d+\.\d+)' %
- ext)
+ pattern = re.compile(r"lib(\S*?)_(\S*)\.%s\.(\d+\.\d+\.\d+)" % ext)
match = pattern.search(lib)
if match:
ver = match.group(3)
@@ -914,23 +912,21 @@ class Opencv(CMakePackage, CudaPackage):
for lib in libs:
for ext in library_extensions:
pattern = None
- if ext == 'dylib':
+ if ext == "dylib":
# Darwin switches the order of the version compared to Linux
- pattern = re.compile(r'lib(\S*?)_(\S*)\.(\d+\.\d+\.\d+)\.%s' %
- ext)
+ pattern = re.compile(r"lib(\S*?)_(\S*)\.(\d+\.\d+\.\d+)\.%s" % ext)
else:
- pattern = re.compile(r'lib(\S*?)_(\S*)\.%s\.(\d+\.\d+\.\d+)' %
- ext)
+ pattern = re.compile(r"lib(\S*?)_(\S*)\.%s\.(\d+\.\d+\.\d+)" % ext)
match = pattern.search(lib)
- if match and not match.group(2) == 'core':
- variants.append('+' + match.group(2))
+ if match and not match.group(2) == "core":
+ variants.append("+" + match.group(2))
remaining_modules.remove(match.group(2))
# If libraries are not found, mark those variants as disabled
for mod in remaining_modules:
- variants.append('~' + mod)
+ variants.append("~" + mod)
- return ' '.join(variants)
+ return " ".join(variants)
def cmake_args(self):
spec = self.spec
@@ -977,9 +973,7 @@ class Opencv(CMakePackage, CudaPackage):
# Optional 3rd party components
for component in self.components:
- args.append(
- self.define_from_variant("WITH_" + component.upper(), component)
- )
+ args.append(self.define_from_variant("WITH_" + component.upper(), component))
for component in self.components_pending:
args.append(self.define("WITH_" + component.upper(), "off"))
@@ -1082,9 +1076,7 @@ class Opencv(CMakePackage, CudaPackage):
[
self.define("Lept_LIBRARY", leptonica.libs[0]),
self.define("Tesseract_LIBRARY", tesseract.libs[0]),
- self.define(
- "Tesseract_INCLUDE_DIR", tesseract.headers.directories[0]
- ),
+ self.define("Tesseract_INCLUDE_DIR", tesseract.headers.directories[0]),
]
)
@@ -1124,6 +1116,4 @@ class Opencv(CMakePackage, CudaPackage):
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- "libopencv_*", root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libopencv_*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/opendatadetector/package.py b/var/spack/repos/builtin/packages/opendatadetector/package.py
index 914317d5a5..a3725a2720 100644
--- a/var/spack/repos/builtin/packages/opendatadetector/package.py
+++ b/var/spack/repos/builtin/packages/opendatadetector/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class Opendatadetector(CMakePackage):
"""Open Data Detector for High Energy Physics."""
+
homepage = "https://gitlab.cern.ch/acts/OpenDataDetector.git"
- git = "https://gitlab.cern.ch/acts/OpenDataDetector.git"
+ git = "https://gitlab.cern.ch/acts/OpenDataDetector.git"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- tags = ['hep']
+ tags = ["hep"]
- version('main', branch='main')
+ version("main", branch="main")
version("v2", tag="v2")
version("v1", tag="v1")
- depends_on('dd4hep')
- depends_on('root')
- depends_on('boost')
+ depends_on("dd4hep")
+ depends_on("root")
+ depends_on("boost")
def cmake_args(self):
args = []
# C++ Standard
- args.append('-DCMAKE_CXX_STANDARD=%s' %
- self.spec['root'].variants['cxxstd'].value)
+ args.append("-DCMAKE_CXX_STANDARD=%s" % self.spec["root"].variants["cxxstd"].value)
return args
def setup_run_environment(self, env):
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib64)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib64)
diff --git a/var/spack/repos/builtin/packages/opendx/package.py b/var/spack/repos/builtin/packages/opendx/package.py
index 30909a2134..ff76a52e65 100644
--- a/var/spack/repos/builtin/packages/opendx/package.py
+++ b/var/spack/repos/builtin/packages/opendx/package.py
@@ -11,13 +11,13 @@ class Opendx(AutotoolsPackage):
"""Open Visualization Data Explorer."""
homepage = "https://github.com/Mwoolsey/OpenDX"
- git = "https://github.com/Mwoolsey/OpenDX.git"
+ git = "https://github.com/Mwoolsey/OpenDX.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('motif') # lesstif also works, but exhibits odd behaviors
- depends_on('gl')
+ depends_on("motif") # lesstif also works, but exhibits odd behaviors
+ depends_on("gl")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def distclean(self):
- make('distclean')
+ make("distclean")
diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py
index 134c58154d..fa1843fdf9 100644
--- a/var/spack/repos/builtin/packages/openexr/package.py
+++ b/var/spack/repos/builtin/packages/openexr/package.py
@@ -13,53 +13,79 @@ class Openexr(CMakePackage):
url = "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz"
# New versions should come from github now
- version('3.1.5', sha256='93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec')
- version('2.3.0', sha256='fd6cb3a87f8c1a233be17b94c74799e6241d50fc5efd4df75c7a4b9cf4e25ea6',
- url='https://github.com/AcademySoftwareFoundation/openexr/releases/download/v2.3.0/openexr-2.3.0.tar.gz')
+ version("3.1.5", sha256="93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec")
+ version(
+ "2.3.0",
+ sha256="fd6cb3a87f8c1a233be17b94c74799e6241d50fc5efd4df75c7a4b9cf4e25ea6",
+ url="https://github.com/AcademySoftwareFoundation/openexr/releases/download/v2.3.0/openexr-2.3.0.tar.gz",
+ )
- version('2.2.0', sha256='36a012f6c43213f840ce29a8b182700f6cf6b214bea0d5735594136b44914231',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.2.0.tar.gz")
- version('2.1.0', sha256='54486b454073c1dcb5ae9892cf0f730ffefe62f38176325281505093fd218a14',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.1.0.tar.gz")
- version('2.0.1', sha256='b9924d2f9d57376ff99234209231ad97a47f5cfebd18a5d0570db6d1a220685a',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.0.1.tar.gz")
- version('1.7.0', sha256='b68a2164d01bd028d15bd96af2704634a344e291dc7cc2019a662045d8c52ca4',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.7.0.tar.gz")
- version('1.6.1', sha256='c616906ab958de9c37bb86ca7547cfedbdfbad5e1ca2a4ab98983c9afa6a5950',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz")
- version('1.5.0', sha256='5a745eee4b8ab94cd16f85528c2debfebe6aa1ba23f5b8fc7933d4aa5c3c3416',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.5.0.tar.gz")
- version('1.4.0a', sha256='5d8a7327bd28eeb5d3064640d8eb32c3cd8c5a15999c70b0afa9f8af851936d1',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.4.0a.tar.gz")
- version('1.3.2', sha256='fa08ad904bf89e2968078d25d1d9817f5bc17f372d1bafabf82e8f08ca2adc20',
- url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.3.2.tar.gz")
+ version(
+ "2.2.0",
+ sha256="36a012f6c43213f840ce29a8b182700f6cf6b214bea0d5735594136b44914231",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.2.0.tar.gz",
+ )
+ version(
+ "2.1.0",
+ sha256="54486b454073c1dcb5ae9892cf0f730ffefe62f38176325281505093fd218a14",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.1.0.tar.gz",
+ )
+ version(
+ "2.0.1",
+ sha256="b9924d2f9d57376ff99234209231ad97a47f5cfebd18a5d0570db6d1a220685a",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-2.0.1.tar.gz",
+ )
+ version(
+ "1.7.0",
+ sha256="b68a2164d01bd028d15bd96af2704634a344e291dc7cc2019a662045d8c52ca4",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.7.0.tar.gz",
+ )
+ version(
+ "1.6.1",
+ sha256="c616906ab958de9c37bb86ca7547cfedbdfbad5e1ca2a4ab98983c9afa6a5950",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz",
+ )
+ version(
+ "1.5.0",
+ sha256="5a745eee4b8ab94cd16f85528c2debfebe6aa1ba23f5b8fc7933d4aa5c3c3416",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.5.0.tar.gz",
+ )
+ version(
+ "1.4.0a",
+ sha256="5d8a7327bd28eeb5d3064640d8eb32c3cd8c5a15999c70b0afa9f8af851936d1",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.4.0a.tar.gz",
+ )
+ version(
+ "1.3.2",
+ sha256="fa08ad904bf89e2968078d25d1d9817f5bc17f372d1bafabf82e8f08ca2adc20",
+ url="http://download.savannah.nongnu.org/releases/openexr/openexr-1.3.2.tar.gz",
+ )
- variant('debug', default=False,
- description='Builds a debug version of the libraries')
+ variant("debug", default=False, description="Builds a debug version of the libraries")
- depends_on('cmake@3.12:', when='@3:', type='build')
- depends_on('pkgconfig', when='@:2', type='build')
- depends_on('imath', when='@3:')
- depends_on('ilmbase', when='@:2')
- depends_on('zlib')
+ depends_on("cmake@3.12:", when="@3:", type="build")
+ depends_on("pkgconfig", when="@:2", type="build")
+ depends_on("imath", when="@3:")
+ depends_on("ilmbase", when="@:2")
+ depends_on("zlib")
@property
def build_directory(self):
- if self.spec.satisfies('@3:'):
+ if self.spec.satisfies("@3:"):
return super(Openexr, self).build_directory
else:
- return '.'
+ return "."
def configure_args(self):
- args = ['--prefix=' + self.prefix]
+ args = ["--prefix=" + self.prefix]
- if '+debug' in self.spec:
- args.append('--enable-debug')
+ if "+debug" in self.spec:
+ args.append("--enable-debug")
else:
- args.append('--disable-debug')
+ args.append("--disable-debug")
return args
- @when('@:2')
+ @when("@:2")
def cmake(self, spec, prefix):
configure(*self.configure_args())
diff --git a/var/spack/repos/builtin/packages/openfast/package.py b/var/spack/repos/builtin/packages/openfast/package.py
index 5ef7beec1d..b9d1382304 100644
--- a/var/spack/repos/builtin/packages/openfast/package.py
+++ b/var/spack/repos/builtin/packages/openfast/package.py
@@ -10,100 +10,104 @@ class Openfast(CMakePackage):
"""Wind turbine simulation package from NREL"""
homepage = "https://openfast.readthedocs.io/en/latest/"
- git = "https://github.com/OpenFAST/openfast.git"
-
- maintainers = ['jrood-nrel']
-
- version('develop', branch='dev')
- version('master', branch='main')
- version('3.1.0', tag='v3.1.0')
- version('3.0.0', tag='v3.0.0')
- 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")
- variant('double-precision', default=True,
- description="Treat REAL as double precision")
- variant('dll-interface', default=True,
- description="Enable dynamic library loading interface")
- variant('cxx', default=False,
- description="Enable C++ bindings")
- variant('pic', default=True,
- description="Position independent code")
- variant('openmp', default=False,
- description="Enable OpenMP support")
+ git = "https://github.com/OpenFAST/openfast.git"
+
+ maintainers = ["jrood-nrel"]
+
+ version("develop", branch="dev")
+ version("master", branch="main")
+ version("3.1.0", tag="v3.1.0")
+ version("3.0.0", tag="v3.0.0")
+ 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")
+ variant("double-precision", default=True, description="Treat REAL as double precision")
+ variant("dll-interface", default=True, description="Enable dynamic library loading interface")
+ variant("cxx", default=False, description="Enable C++ bindings")
+ variant("pic", default=True, description="Position independent code")
+ variant("openmp", default=False, description="Enable OpenMP support")
# Dependencies for OpenFAST Fortran
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
# Additional dependencies when compiling C++ library
- depends_on('mpi', when='+cxx')
- depends_on('yaml-cpp', when='+cxx')
- depends_on('hdf5+mpi+cxx+hl', when='+cxx')
- depends_on('zlib', when='+cxx')
- depends_on('libxml2', when='+cxx')
+ depends_on("mpi", when="+cxx")
+ depends_on("yaml-cpp", when="+cxx")
+ depends_on("hdf5+mpi+cxx+hl", when="+cxx")
+ depends_on("zlib", when="+cxx")
+ depends_on("libxml2", when="+cxx")
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DBUILD_DOCUMENTATION:BOOL=OFF',
- '-DBUILD_TESTING:BOOL=OFF',
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('DOUBLE_PRECISION', 'double-precision'),
- self.define_from_variant('USE_DLL_INTERFACE', 'dll-interface'),
- self.define_from_variant('BUILD_OPENFAST_CPP_API', 'cxx'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- ])
+ options.extend(
+ [
+ "-DBUILD_DOCUMENTATION:BOOL=OFF",
+ "-DBUILD_TESTING:BOOL=OFF",
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("DOUBLE_PRECISION", "double-precision"),
+ self.define_from_variant("USE_DLL_INTERFACE", "dll-interface"),
+ self.define_from_variant("BUILD_OPENFAST_CPP_API", "cxx"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ ]
+ )
# Make sure we use Spack's blas/lapack:
- blas_libs = spec['lapack'].libs + spec['blas'].libs
- options.extend([
- '-DBLAS_LIBRARIES=%s' % blas_libs.joined(';'),
- '-DLAPACK_LIBRARIES=%s' % blas_libs.joined(';')
- ])
-
- if '+cxx' in spec:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DMPI_CXX_COMPILER:PATH=%s' % spec['mpi'].mpicxx,
- '-DMPI_C_COMPILER:PATH=%s' % spec['mpi'].mpicc,
- '-DMPI_Fortran_COMPILER:PATH=%s' % spec['mpi'].mpifc,
- '-DHDF5_ROOT:PATH=%s' % spec['hdf5'].prefix,
- '-DYAML_ROOT:PATH=%s' % spec['yaml-cpp'].prefix,
- ])
-
- if '~shared' in spec:
- options.extend([
- '-DHDF5_USE_STATIC_LIBRARIES=ON',
- ])
-
- if '+openmp' in spec:
- options.extend([
- '-DOPENMP:BOOL=ON',
- ])
-
- if 'darwin' in spec.architecture:
- options.append('-DCMAKE_MACOSX_RPATH:BOOL=ON')
+ blas_libs = spec["lapack"].libs + spec["blas"].libs
+ options.extend(
+ [
+ "-DBLAS_LIBRARIES=%s" % blas_libs.joined(";"),
+ "-DLAPACK_LIBRARIES=%s" % blas_libs.joined(";"),
+ ]
+ )
+
+ if "+cxx" in spec:
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DMPI_CXX_COMPILER:PATH=%s" % spec["mpi"].mpicxx,
+ "-DMPI_C_COMPILER:PATH=%s" % spec["mpi"].mpicc,
+ "-DMPI_Fortran_COMPILER:PATH=%s" % spec["mpi"].mpifc,
+ "-DHDF5_ROOT:PATH=%s" % spec["hdf5"].prefix,
+ "-DYAML_ROOT:PATH=%s" % spec["yaml-cpp"].prefix,
+ ]
+ )
+
+ if "~shared" in spec:
+ options.extend(
+ [
+ "-DHDF5_USE_STATIC_LIBRARIES=ON",
+ ]
+ )
+
+ if "+openmp" in spec:
+ options.extend(
+ [
+ "-DOPENMP:BOOL=ON",
+ ]
+ )
+
+ if "darwin" in spec.architecture:
+ options.append("-DCMAKE_MACOSX_RPATH:BOOL=ON")
return options
def flag_handler(self, name, flags):
spec = self.spec
- if name in ['cflags', 'cxxflags', 'cppflags', 'fflags']:
- if '+openmp' in spec:
+ if name in ["cflags", "cxxflags", "cppflags", "fflags"]:
+ if "+openmp" in spec:
flags.append(self.compiler.openmp_flag)
return (None, flags, None)
- return(flags, None, None)
+ return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/openfdtd/package.py b/var/spack/repos/builtin/packages/openfdtd/package.py
index 0858dce16a..d9ce765755 100644
--- a/var/spack/repos/builtin/packages/openfdtd/package.py
+++ b/var/spack/repos/builtin/packages/openfdtd/package.py
@@ -8,61 +8,61 @@ from spack.package import *
class Openfdtd(MakefilePackage):
"""OpenFDTD is general purpose FDTD simulator applicable to a wide range
- of applications. The FDTD method (Finite Difference Time Domain method)
- is a method for numerically calculating the Maxwell equation, which is
- the basic equation of the electromagnetic field,
- by the difference method."""
+ of applications. The FDTD method (Finite Difference Time Domain method)
+ is a method for numerically calculating the Maxwell equation, which is
+ the basic equation of the electromagnetic field,
+ by the difference method."""
homepage = "http://www.e-em.co.jp/OpenFDTD/"
- url = "http://www.e-em.co.jp/OpenFDTD/OpenFDTD.zip"
+ url = "http://www.e-em.co.jp/OpenFDTD/OpenFDTD.zip"
- version('2.7.3', sha256='22171d1dd74b4e48299b0d0c69ca933aac89d4eb77c59f579af35861eaca0faa')
- version('2.7.1', sha256='3fb5fbeca3dc63243a6dc116d0f3ce3d1a854b4813f3928812ae99e07575ab1a')
- version('2.6.3', sha256='1551cce7f96c1c53ad5d5e676bce2b26fd1593dd5f492a801e976a8a65a42a00')
- version('2.6.0', sha256='92f7b92dc55ff6d8fc8c31eda77ca10fe25a5f54b002f2523a3d67f485d77e9f')
- version('2.3.0', sha256='10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4')
+ version("2.7.3", sha256="22171d1dd74b4e48299b0d0c69ca933aac89d4eb77c59f579af35861eaca0faa")
+ version("2.7.1", sha256="3fb5fbeca3dc63243a6dc116d0f3ce3d1a854b4813f3928812ae99e07575ab1a")
+ version("2.6.3", sha256="1551cce7f96c1c53ad5d5e676bce2b26fd1593dd5f492a801e976a8a65a42a00")
+ version("2.6.0", sha256="92f7b92dc55ff6d8fc8c31eda77ca10fe25a5f54b002f2523a3d67f485d77e9f")
+ version("2.3.0", sha256="10ac70f2ed7160da87dd9222a5a17ca7b72365ee886235359afc48c4fb7b4be4")
- variant('mpi', default=False, description='Build with MPI Support')
+ variant("mpi", default=False, description="Build with MPI Support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def url_for_version(self, version):
url = self.url
- if version < Version('2.7.3'):
- url = 'http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_{0}.zip'
+ if version < Version("2.7.3"):
+ url = "http://www.e-em.co.jp/OpenFDTD/old/OpenFDTD_{0}.zip"
return url.format(version.joined)
def edit(self, spec, prefix):
- makefiles = [join_path('src', 'Makefile_gcc')]
- if spec.satisfies('+mpi'):
- makefiles.append(join_path('mpi', 'Makefile_gcc'))
+ makefiles = [join_path("src", "Makefile_gcc")]
+ if spec.satisfies("+mpi"):
+ makefiles.append(join_path("mpi", "Makefile_gcc"))
for makefile in makefiles:
m = FileFilter(makefile)
- m.filter('gcc', spack_cc)
- m.filter('-fopenmp', self.compiler.openmp_flag)
- if spec.satisfies('+mpi'):
- m.filter('mpicc', spec['mpi'].mpicc)
- if spec.satisfies('%fj'):
- m.filter('-Ofast', '-Kfast,ocl -D_VECTOR')
- m.filter('-O2', '-Kfast,ocl -D_VECTOR')
+ m.filter("gcc", spack_cc)
+ m.filter("-fopenmp", self.compiler.openmp_flag)
+ if spec.satisfies("+mpi"):
+ m.filter("mpicc", spec["mpi"].mpicc)
+ if spec.satisfies("%fj"):
+ m.filter("-Ofast", "-Kfast,ocl -D_VECTOR")
+ m.filter("-O2", "-Kfast,ocl -D_VECTOR")
# Openfdtd has "Makefile" and "Makefile_gcc".
# "Makefile" is used only in Windows development environment.
# The build in Windows development environment is currently unsupported.
def build(self, spec, prefix):
- with working_dir('src'):
- make('-f', 'Makefile_gcc')
+ with working_dir("src"):
+ make("-f", "Makefile_gcc")
# To make an executable file for mpi needs object files
# which are made for an executable file not for mpi.
# Therefore, the build in the "src" directory is necessary
# for to make an executable file for mpi.
- if '+mpi' in self.spec:
- with working_dir('mpi'):
- make('-f', 'Makefile_gcc')
+ if "+mpi" in self.spec:
+ with working_dir("mpi"):
+ make("-f", "Makefile_gcc")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ofd', prefix.bin)
- if '+mpi' in self.spec:
- install('ofd_mpi', prefix.bin)
+ install("ofd", prefix.bin)
+ if "+mpi" in self.spec:
+ install("ofd_mpi", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py
index 9a81a0fefa..27d7e736bd 100644
--- a/var/spack/repos/builtin/packages/openfoam-org/package.py
+++ b/var/spack/repos/builtin/packages/openfoam-org/package.py
@@ -62,62 +62,87 @@ class OpenfoamOrg(Package):
"""
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"
-
- version('develop', branch='master')
- version('8', sha256='94ba11cbaaa12fbb5b356e01758df403ac8832d69da309a5d79f76f42eb008fc',
- url=baseurl + '/OpenFOAM-8/archive/version-8.tar.gz')
- version('7', sha256='12389cf092dc032372617785822a597aee434a50a62db2a520ab35ba5a7548b5',
- url=baseurl + '/OpenFOAM-7/archive/version-7.tar.gz')
- version('6', sha256='32a6af4120e691ca2df29c5b9bd7bc7a3e11208947f9bccf6087cfff5492f025',
- url=baseurl + '/OpenFOAM-6/archive/version-6.tar.gz')
- version('5.0', sha256='9057d6a8bb9fa18802881feba215215699065e0b3c5cdd0c0e84cb29c9916c89',
- url=baseurl + '/OpenFOAM-5.x/archive/version-5.0.tar.gz')
- version('4.1', sha256='2de18de64e7abdb1b649ad8e9d2d58b77a2b188fb5bcb6f7c2a038282081fd31',
- url=baseurl + '/OpenFOAM-4.x/archive/version-4.1.tar.gz')
- version('2.4.0', sha256='9529aa7441b64210c400c019dcb2e0410fcfd62a6f62d23b6c5994c4753c4465',
- url=baseurl + '/OpenFOAM-2.4.x/archive/version-2.4.0.tar.gz')
- version('2.3.1', sha256='2bbcf4d5932397c2087a9b6d7eeee6d2b1350c8ea4f455415f05e7cd94d9e5ba',
- url='http://downloads.sourceforge.net/foam/OpenFOAM-2.3.1.tgz')
-
- variant('int64', default=False,
- description='Compile with 64-bit label')
- variant('float32', default=False,
- description='Compile with 32-bit scalar (single-precision)')
- variant('source', default=True,
- description='Install library/application sources and tutorials')
- variant('metis', default=False,
- description='With metis decomposition')
-
- depends_on('mpi')
- depends_on('zlib')
- depends_on('flex')
- depends_on('cmake', type='build')
+ 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"
+
+ version("develop", branch="master")
+ version(
+ "8",
+ sha256="94ba11cbaaa12fbb5b356e01758df403ac8832d69da309a5d79f76f42eb008fc",
+ url=baseurl + "/OpenFOAM-8/archive/version-8.tar.gz",
+ )
+ version(
+ "7",
+ sha256="12389cf092dc032372617785822a597aee434a50a62db2a520ab35ba5a7548b5",
+ url=baseurl + "/OpenFOAM-7/archive/version-7.tar.gz",
+ )
+ version(
+ "6",
+ sha256="32a6af4120e691ca2df29c5b9bd7bc7a3e11208947f9bccf6087cfff5492f025",
+ url=baseurl + "/OpenFOAM-6/archive/version-6.tar.gz",
+ )
+ version(
+ "5.0",
+ sha256="9057d6a8bb9fa18802881feba215215699065e0b3c5cdd0c0e84cb29c9916c89",
+ url=baseurl + "/OpenFOAM-5.x/archive/version-5.0.tar.gz",
+ )
+ version(
+ "4.1",
+ sha256="2de18de64e7abdb1b649ad8e9d2d58b77a2b188fb5bcb6f7c2a038282081fd31",
+ url=baseurl + "/OpenFOAM-4.x/archive/version-4.1.tar.gz",
+ )
+ version(
+ "2.4.0",
+ sha256="9529aa7441b64210c400c019dcb2e0410fcfd62a6f62d23b6c5994c4753c4465",
+ url=baseurl + "/OpenFOAM-2.4.x/archive/version-2.4.0.tar.gz",
+ )
+ version(
+ "2.3.1",
+ sha256="2bbcf4d5932397c2087a9b6d7eeee6d2b1350c8ea4f455415f05e7cd94d9e5ba",
+ url="http://downloads.sourceforge.net/foam/OpenFOAM-2.3.1.tgz",
+ )
+
+ variant("int64", default=False, description="Compile with 64-bit label")
+ variant("float32", default=False, description="Compile with 32-bit scalar (single-precision)")
+ variant(
+ "source", default=True, description="Install library/application sources and tutorials"
+ )
+ variant("metis", default=False, description="With metis decomposition")
+
+ depends_on("mpi")
+ depends_on("zlib")
+ depends_on("flex")
+ depends_on("cmake", type="build")
# Require scotch with ptscotch - corresponds to standard OpenFOAM setup
- depends_on('scotch~metis+mpi~int64', when='~int64')
- depends_on('scotch~metis+mpi+int64', when='+int64')
+ depends_on("scotch~metis+mpi~int64", when="~int64")
+ depends_on("scotch~metis+mpi+int64", when="+int64")
- depends_on('metis@5:', when='+metis')
- depends_on('metis+int64', when='+metis+int64')
+ depends_on("metis@5:", when="+metis")
+ depends_on("metis+int64", when="+metis+int64")
# General patches - foamEtcFile as per openfoam.com (robuster)
- common = ['spack-Allwmake', 'README-spack']
- assets = ['bin/foamEtcFile']
+ common = ["spack-Allwmake", "README-spack"]
+ assets = ["bin/foamEtcFile"]
# Version-specific patches
- patch('https://github.com/OpenFOAM/OpenFOAM-7/commit/ef33cf38ac9b811072a8970c71fbda35a90f6641.patch?full_index=1',
- sha256='05d17e17f94e6fe8188a9c0b91ed34c9b62259414589d908c152a4c40fe6b7e2', when='@7')
- patch('50-etc.patch', when='@5.0:5.9')
- patch('41-etc.patch', when='@4.1')
- patch('41-site.patch', when='@4.1:')
- patch('240-etc.patch', when='@:2.4.0')
- patch('isnan.patch', when='@:2.4.0')
+ patch(
+ "https://github.com/OpenFOAM/OpenFOAM-7/commit/ef33cf38ac9b811072a8970c71fbda35a90f6641.patch?full_index=1",
+ sha256="05d17e17f94e6fe8188a9c0b91ed34c9b62259414589d908c152a4c40fe6b7e2",
+ when="@7",
+ )
+ patch("50-etc.patch", when="@5.0:5.9")
+ patch("41-etc.patch", when="@4.1")
+ patch("41-site.patch", when="@4.1:")
+ patch("240-etc.patch", when="@:2.4.0")
+ patch("isnan.patch", when="@:2.4.0")
# Add support for SYSTEMMPI
- patch('https://github.com/OpenFOAM/OpenFOAM-2.3.x/commit/ae9a670c99472787f3a5446ac2b522bf3519b796.patch?full_index=1',
- sha256='7e843fa2533d12f392d9d5389daa6f08ef68a8d329438b53e7aa204bc710bf57', when='@:2.3.1')
+ patch(
+ "https://github.com/OpenFOAM/OpenFOAM-2.3.x/commit/ae9a670c99472787f3a5446ac2b522bf3519b796.patch?full_index=1",
+ sha256="7e843fa2533d12f392d9d5389daa6f08ef68a8d329438b53e7aa204bc710bf57",
+ when="@:2.3.1",
+ )
# The openfoam architecture, compiler information etc
_foam_arch = None
@@ -128,8 +153,8 @@ class OpenfoamOrg(Package):
# Content for etc/config.{csh,sh}/ files
etc_config = {} # type: Dict[str, str]
- phases = ['configure', 'build', 'install']
- build_script = './spack-Allwmake' # <- Added by patch() method.
+ phases = ["configure", "build", "install"]
+ build_script = "./spack-Allwmake" # <- Added by patch() method.
#
# - End of definitions / setup -
@@ -140,24 +165,21 @@ class OpenfoamOrg(Package):
def config(self):
settings = {
# Use SYSTEMMPI since openfoam-org doesn't have USERMPI
- 'mplib': 'SYSTEMMPI',
-
+ "mplib": "SYSTEMMPI",
# Add links into bin/, lib/ (eg, for other applications)
- 'link': False,
+ "link": False,
}
# OpenFOAM v2.4 and earlier lacks WM_LABEL_OPTION
- if self.spec.satisfies('@:2.4'):
- settings['label-size'] = False
+ if self.spec.satisfies("@:2.4"):
+ settings["label-size"] = False
return settings
def setup_run_environment(self, env):
bashrc = self.prefix.etc.bashrc
try:
- env.extend(EnvironmentModifications.from_sourcing_file(
- bashrc, clean=True
- ))
+ env.extend(EnvironmentModifications.from_sourcing_file(bashrc, clean=True))
except Exception as e:
- msg = 'unexpected error when sourcing OpenFOAM bashrc [{0}]'
+ msg = "unexpected error when sourcing OpenFOAM bashrc [{0}]"
tty.warn(msg.format(str(e)))
def setup_dependent_build_environment(self, env, dependent_spec):
@@ -166,7 +188,7 @@ class OpenfoamOrg(Package):
variable since it would mask the normal OpenFOAM cleanup of
previous versions.
"""
- env.set('FOAM_PROJECT_DIR', self.projectdir)
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Location of the OpenFOAM project directory.
@@ -174,7 +196,7 @@ class OpenfoamOrg(Package):
variable since it would mask the normal OpenFOAM cleanup of
previous versions.
"""
- env.set('FOAM_PROJECT_DIR', self.projectdir)
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
@property
def projectdir(self):
@@ -190,12 +212,12 @@ class OpenfoamOrg(Package):
@property
def archbin(self):
"""Relative location of architecture-specific executables"""
- return join_path('platforms', self.foam_arch, 'bin')
+ return join_path("platforms", self.foam_arch, "bin")
@property
def archlib(self):
"""Relative location of architecture-specific libraries"""
- return join_path('platforms', self.foam_arch, 'lib')
+ return join_path("platforms", self.foam_arch, "lib")
def rename_source(self):
"""This is fairly horrible.
@@ -205,19 +227,19 @@ class OpenfoamOrg(Package):
"""
# Note that this particular OpenFOAM requires absolute directories
# to build correctly!
- parent = os.path.dirname(self.stage.source_path)
+ parent = os.path.dirname(self.stage.source_path)
original = os.path.basename(self.stage.source_path)
- target = 'OpenFOAM-{0}'.format(self.version)
+ target = "OpenFOAM-{0}".format(self.version)
# Could also grep through etc/bashrc for WM_PROJECT_VERSION
with working_dir(parent):
if original != target and not os.path.lexists(target):
os.rename(original, target)
os.symlink(target, original)
- tty.info('renamed {0} -> {1}'.format(original, target))
+ tty.info("renamed {0} -> {1}".format(original, target))
def patch(self):
"""Adjust OpenFOAM build for spack.
- Where needed, apply filter as an alternative to normal patching."""
+ Where needed, apply filter as an alternative to normal patching."""
self.rename_source()
add_extra_files(self, self.common, self.assets)
@@ -226,15 +248,13 @@ class OpenfoamOrg(Package):
#
# Filtering: bashrc,cshrc (using a patch is less flexible)
edits = {
- 'WM_THIRD_PARTY_DIR':
- r'$WM_PROJECT_DIR/ThirdParty #SPACK: No separate third-party',
- 'WM_VERSION': str(self.version), # consistency
- 'FOAMY_HEX_MESH': '', # This is horrible (unset variable?)
+ "WM_THIRD_PARTY_DIR": r"$WM_PROJECT_DIR/ThirdParty #SPACK: No separate third-party",
+ "WM_VERSION": str(self.version), # consistency
+ "FOAMY_HEX_MESH": "", # This is horrible (unset variable?)
}
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path('etc', 'bashrc'),
- cshell=join_path('etc', 'cshrc'))
+ edits, posix=join_path("etc", "bashrc"), cshell=join_path("etc", "cshrc")
+ )
def configure(self, spec, prefix):
"""Make adjustments to the OpenFOAM configuration files in their various
@@ -246,40 +266,39 @@ class OpenfoamOrg(Package):
edits = {}
edits.update(self.foam_arch.foam_dict())
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path('etc', 'bashrc'),
- cshell=join_path('etc', 'cshrc'))
+ edits, posix=join_path("etc", "bashrc"), cshell=join_path("etc", "cshrc")
+ )
# MPI content, with absolute paths
user_mpi = mplib_content(spec)
# Content for etc/prefs.{csh,sh}
self.etc_prefs = {
- r'MPI_ROOT': spec['mpi'].prefix, # Absolute
- r'MPI_ARCH_FLAGS': '"%s"' % user_mpi['FLAGS'],
- r'MPI_ARCH_INC': '"%s"' % user_mpi['PINC'],
- r'MPI_ARCH_LIBS': '"%s"' % user_mpi['PLIBS'],
+ r"MPI_ROOT": spec["mpi"].prefix, # Absolute
+ r"MPI_ARCH_FLAGS": '"%s"' % user_mpi["FLAGS"],
+ r"MPI_ARCH_INC": '"%s"' % user_mpi["PINC"],
+ r"MPI_ARCH_LIBS": '"%s"' % user_mpi["PLIBS"],
}
# Content for etc/config.{csh,sh}/ files
self.etc_config = {
- 'CGAL': {},
- 'scotch': {},
- 'metis': {},
- 'paraview': [],
- 'gperftools': [], # Currently unused
+ "CGAL": {},
+ "scotch": {},
+ "metis": {},
+ "paraview": [],
+ "gperftools": [], # Currently unused
}
if True:
- self.etc_config['scotch'] = {
- 'SCOTCH_ARCH_PATH': spec['scotch'].prefix,
+ self.etc_config["scotch"] = {
+ "SCOTCH_ARCH_PATH": spec["scotch"].prefix,
# For src/parallel/decompose/Allwmake
- 'SCOTCH_VERSION': 'scotch-{0}'.format(spec['scotch'].version),
+ "SCOTCH_VERSION": "scotch-{0}".format(spec["scotch"].version),
}
- if '+metis' in spec:
- self.etc_config['metis'] = {
- 'METIS_ARCH_PATH': spec['metis'].prefix,
+ if "+metis" in spec:
+ self.etc_config["metis"] = {
+ "METIS_ARCH_PATH": spec["metis"].prefix,
}
# Write prefs files according to the configuration.
@@ -287,23 +306,26 @@ class OpenfoamOrg(Package):
if self.etc_prefs:
write_environ(
self.etc_prefs,
- posix=join_path('etc', 'prefs.sh'),
- cshell=join_path('etc', 'prefs.csh'))
+ posix=join_path("etc", "prefs.sh"),
+ cshell=join_path("etc", "prefs.csh"),
+ )
# Adjust components to use SPACK variants
for component, subdict in self.etc_config.items():
# Versions up to 3.0 used an etc/config/component.sh naming
# convention instead of etc/config.sh/component
- if spec.satisfies('@:3.0'):
+ if spec.satisfies("@:3.0"):
write_environ(
subdict,
- posix=join_path('etc', 'config', component) + '.sh',
- cshell=join_path('etc', 'config', component) + '.csh')
+ posix=join_path("etc", "config", component) + ".sh",
+ cshell=join_path("etc", "config", component) + ".csh",
+ )
else:
write_environ(
subdict,
- posix=join_path('etc', 'config.sh', component),
- cshell=join_path('etc', 'config.csh', component))
+ posix=join_path("etc", "config.sh", component),
+ cshell=join_path("etc", "config.csh", component),
+ )
def build(self, spec, prefix):
"""Build using the OpenFOAM Allwmake script, with a wrapper to source
@@ -315,7 +337,7 @@ class OpenfoamOrg(Package):
args = []
if self.parallel: # Build in parallel? - pass via the environment
- os.environ['WM_NCOMPPROCS'] = str(make_jobs)
+ os.environ["WM_NCOMPPROCS"] = str(make_jobs)
builder = Executable(self.build_script)
builder(*args)
@@ -325,56 +347,45 @@ class OpenfoamOrg(Package):
projdir = os.path.basename(self.projectdir)
# Filtering: bashrc, cshrc
edits = {
- 'WM_PROJECT_INST_DIR': os.path.dirname(self.projectdir),
- 'WM_PROJECT_DIR': join_path('$WM_PROJECT_INST_DIR', projdir),
+ "WM_PROJECT_INST_DIR": os.path.dirname(self.projectdir),
+ "WM_PROJECT_DIR": join_path("$WM_PROJECT_INST_DIR", projdir),
}
# All top-level files, except spack build info and possibly Allwmake
- if '+source' in spec:
- ignored = re.compile(r'^spack-.*')
+ if "+source" in spec:
+ ignored = re.compile(r"^spack-.*")
else:
- ignored = re.compile(r'^(Allwmake|spack-).*')
+ ignored = re.compile(r"^(Allwmake|spack-).*")
- files = [
- f for f in glob.glob("*")
- if os.path.isfile(f) and not ignored.search(f)
- ]
+ files = [f for f in glob.glob("*") if os.path.isfile(f) and not ignored.search(f)]
for f in files:
install(f, self.projectdir)
# Having wmake and ~source is actually somewhat pointless...
# Install 'etc' before 'bin' (for symlinks)
# META-INFO for 1812 and later (or backported)
- dirs = ['META-INFO', 'etc', 'bin', 'wmake']
- if '+source' in spec:
- dirs.extend(['applications', 'src', 'tutorials'])
+ dirs = ["META-INFO", "etc", "bin", "wmake"]
+ if "+source" in spec:
+ dirs.extend(["applications", "src", "tutorials"])
for d in dirs:
if os.path.isdir(d):
- install_tree(
- d,
- join_path(self.projectdir, d),
- symlinks=True)
+ install_tree(d, join_path(self.projectdir, d), symlinks=True)
- dirs = ['platforms']
- if '+source' in spec:
- dirs.extend(['doc'])
+ dirs = ["platforms"]
+ if "+source" in spec:
+ dirs.extend(["doc"])
# Install platforms (and doc) skipping intermediate targets
- relative_ignore_paths = ['src', 'applications', 'html', 'Guides']
+ relative_ignore_paths = ["src", "applications", "html", "Guides"]
ignore = lambda p: p in relative_ignore_paths
for d in dirs:
- install_tree(
- d,
- join_path(self.projectdir, d),
- ignore=ignore,
- symlinks=True)
+ install_tree(d, join_path(self.projectdir, d), ignore=ignore, symlinks=True)
- etc_dir = join_path(self.projectdir, 'etc')
+ etc_dir = join_path(self.projectdir, "etc")
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path(etc_dir, 'bashrc'),
- cshell=join_path(etc_dir, 'cshrc'))
+ edits, posix=join_path(etc_dir, "bashrc"), cshell=join_path(etc_dir, "cshrc")
+ )
self.install_links()
def install_links(self):
@@ -383,33 +394,33 @@ class OpenfoamOrg(Package):
with working_dir(self.projectdir):
os.symlink(
join_path(os.path.relpath(self.install_log_path)),
- join_path('log.' + str(self.foam_arch)))
+ join_path("log." + str(self.foam_arch)),
+ )
- if not self.config['link']:
+ if not self.config["link"]:
return
# ln -s platforms/linux64GccXXX/lib lib
with working_dir(self.projectdir):
if os.path.isdir(self.archlib):
- os.symlink(self.archlib, 'lib')
+ os.symlink(self.archlib, "lib")
# (cd bin && ln -s ../platforms/linux64GccXXX/bin/* .)
- with working_dir(join_path(self.projectdir, 'bin')):
+ with working_dir(join_path(self.projectdir, "bin")):
for f in [
- f for f in glob.glob(join_path('..', self.archbin, "*"))
- if os.path.isfile(f)
+ f for f in glob.glob(join_path("..", self.archbin, "*")) if os.path.isfile(f)
]:
os.symlink(f, os.path.basename(f))
# -----------------------------------------------------------------------------
+
class OpenfoamOrgArch(OpenfoamArch):
- """An openfoam-org variant of OpenfoamArch
- """
+ """An openfoam-org variant of OpenfoamArch"""
+
def update_arch(self, spec):
- """Handle differences in WM_ARCH naming
- """
+ """Handle differences in WM_ARCH naming"""
OpenfoamArch.update_arch(self, spec)
# ARM64 (openfoam) -> Arm64 (openfoam-org)
diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py
index 52ebd6ad92..d67a21f3cc 100644
--- a/var/spack/repos/builtin/packages/openfoam/package.py
+++ b/var/spack/repos/builtin/packages/openfoam/package.py
@@ -52,13 +52,13 @@ from spack.util.environment import EnvironmentModifications
# Not the nice way of doing things, but is a start for refactoring
__all__ = [
- 'add_extra_files',
- 'write_environ',
- 'rewrite_environ_files',
- 'mplib_content',
- 'foam_add_path',
- 'foam_add_lib',
- 'OpenfoamArch',
+ "add_extra_files",
+ "write_environ",
+ "rewrite_environ_files",
+ "mplib_content",
+ "foam_add_path",
+ "foam_add_lib",
+ "OpenfoamArch",
]
@@ -69,14 +69,14 @@ def add_extra_files(foam_pkg, common, local, **kwargs):
"""
outdir = foam_pkg.stage.source_path
- indir = join_path(os.path.dirname(__file__), 'common')
+ indir = join_path(os.path.dirname(__file__), "common")
for f in common:
- tty.info('Added file {0}'.format(f))
+ tty.info("Added file {0}".format(f))
install(join_path(indir, f), join_path(outdir, f))
- indir = join_path(foam_pkg.package_dir, 'assets')
+ indir = join_path(foam_pkg.package_dir, "assets")
for f in local:
- tty.info('Added file {0}'.format(f))
+ tty.info("Added file {0}".format(f))
install(join_path(indir, f), join_path(outdir, f))
@@ -85,12 +85,12 @@ def format_export(key, value):
A leading '#' for key adds a comment character to the entire line.
A value of 'None' corresponds to 'unset'.
"""
- if key.startswith('#'):
- return '## export {0}={1}\n'.format(re.sub(r'^#+\s*', '', key), value)
+ if key.startswith("#"):
+ return "## export {0}={1}\n".format(re.sub(r"^#+\s*", "", key), value)
elif value is None:
- return 'unset {0}\n'.format(key)
+ return "unset {0}\n".format(key)
else:
- return 'export {0}={1}\n'.format(key, value)
+ return "export {0}={1}\n".format(key, value)
def format_setenv(key, value):
@@ -98,12 +98,12 @@ def format_setenv(key, value):
A leading '#' for key adds a comment character to the entire line.
A value of 'None' corresponds to 'unsetenv'.
"""
- if key.startswith('#'):
- return '## setenv {0} {1}\n'.format(re.sub(r'^#+\s*', '', key), value)
+ if key.startswith("#"):
+ return "## setenv {0} {1}\n".format(re.sub(r"^#+\s*", "", key), value)
elif value is None:
- return 'unsetenv {0}\n'.format(key)
+ return "unsetenv {0}\n".format(key)
else:
- return 'setenv {0} {1}\n'.format(key, value)
+ return "setenv {0} {1}\n".format(key, value)
def _write_environ_entries(outfile, environ, formatter):
@@ -132,10 +132,10 @@ def _write_environ_file(output, environ, formatter):
If environ is a list, write pair-wise.
Also descends into sub-dict and sub-list, but drops the key.
"""
- with open(output, 'w') as outfile:
- outfile.write('# spack generated\n')
+ with open(output, "w") as outfile:
+ outfile.write("# spack generated\n")
_write_environ_entries(outfile, environ, formatter)
- outfile.write('# spack\n')
+ outfile.write("# spack\n")
def write_environ(environ, **kwargs):
@@ -147,53 +147,53 @@ def write_environ(environ, **kwargs):
posix[=None] If set, the name of the POSIX file to rewrite.
cshell[=None] If set, the name of the C-shell file to rewrite.
"""
- rcfile = kwargs.get('posix', None)
+ rcfile = kwargs.get("posix", None)
if rcfile:
_write_environ_file(rcfile, environ, format_export)
- rcfile = kwargs.get('cshell', None)
+ rcfile = kwargs.get("cshell", None)
if rcfile:
_write_environ_file(rcfile, environ, format_setenv)
def rewrite_environ_files(environ, **kwargs):
"""Use filter_file to rewrite (existing) POSIX shell or C-shell files.
- Keyword Options:
- posix[=None] If set, the name of the POSIX file to rewrite.
- cshell[=None] If set, the name of the C-shell file to rewrite.
+ Keyword Options:
+ posix[=None] If set, the name of the POSIX file to rewrite.
+ cshell[=None] If set, the name of the C-shell file to rewrite.
"""
- rcfile = kwargs.get('posix', None)
+ rcfile = kwargs.get("posix", None)
if rcfile and os.path.isfile(rcfile):
for k, v in environ.items():
- regex = r'^(\s*export\s+{0})=.*$'.format(k)
+ regex = r"^(\s*export\s+{0})=.*$".format(k)
if not v:
- replace = r'unset {0} #SPACK: unset'.format(k)
- elif v.startswith('#'):
- replace = r'unset {0} {1}'.format(k, v)
+ replace = r"unset {0} #SPACK: unset".format(k)
+ elif v.startswith("#"):
+ replace = r"unset {0} {1}".format(k, v)
else:
- replace = r'\1={0}'.format(v)
+ replace = r"\1={0}".format(v)
filter_file(regex, replace, rcfile, backup=False)
- rcfile = kwargs.get('cshell', None)
+ rcfile = kwargs.get("cshell", None)
if rcfile and os.path.isfile(rcfile):
for k, v in environ.items():
- regex = r'^(\s*setenv\s+{0})\s+.*$'.format(k)
+ regex = r"^(\s*setenv\s+{0})\s+.*$".format(k)
if not v:
- replace = r'unsetenv {0} #SPACK: unset'.format(k)
- elif v.startswith('#'):
- replace = r'unsetenv {0} {1}'.format(k, v)
+ replace = r"unsetenv {0} #SPACK: unset".format(k)
+ elif v.startswith("#"):
+ replace = r"unsetenv {0} {1}".format(k, v)
else:
- replace = r'\1 {0}'.format(v)
+ replace = r"\1 {0}".format(v)
filter_file(regex, replace, rcfile, backup=False)
def foam_add_path(*args):
"""A string with args prepended to 'PATH'"""
- return '"' + ':'.join(args) + ':${PATH}"'
+ return '"' + ":".join(args) + ':${PATH}"'
def foam_add_lib(*args):
"""A string with args prepended to 'LD_LIBRARY_PATH'"""
- return '"' + ':'.join(args) + ':${LD_LIBRARY_PATH}"'
+ return '"' + ":".join(args) + ':${LD_LIBRARY_PATH}"'
def pkglib(package, pre=None):
@@ -217,14 +217,14 @@ def mplib_content(spec, pre=None):
Optional parameter 'pre' to provide alternative prefix for
bin and lib directories.
"""
- mpi_spec = spec['mpi']
+ mpi_spec = spec["mpi"]
bin = mpi_spec.prefix.bin
inc = mpi_spec.headers.directories[0] # Currently only need first one
lib = pkglib(mpi_spec)
- libname = 'mpi'
- if 'mpich' in mpi_spec.name:
- libname = 'mpich'
+ libname = "mpi"
+ if "mpich" in mpi_spec.name:
+ libname = "mpich"
if pre:
bin = join_path(pre, os.path.basename(bin))
@@ -234,20 +234,21 @@ def mplib_content(spec, pre=None):
pre = mpi_spec.prefix
info = {
- 'name': '{0}-{1}'.format(mpi_spec.name, mpi_spec.version),
- 'prefix': pre,
- 'include': inc,
- 'bindir': bin,
- 'libdir': lib,
- 'FLAGS': '-DOMPI_SKIP_MPICXX -DMPICH_SKIP_MPICXX',
- 'PINC': '-I{0}'.format(inc),
- 'PLIBS': '-L{0} -l{1}'.format(lib, libname),
+ "name": "{0}-{1}".format(mpi_spec.name, mpi_spec.version),
+ "prefix": pre,
+ "include": inc,
+ "bindir": bin,
+ "libdir": lib,
+ "FLAGS": "-DOMPI_SKIP_MPICXX -DMPICH_SKIP_MPICXX",
+ "PINC": "-I{0}".format(inc),
+ "PLIBS": "-L{0} -l{1}".format(lib, libname),
}
return info
# -----------------------------------------------------------------------------
+
class Openfoam(Package):
"""OpenFOAM is a GPL-opensource C++ CFD-toolbox.
This offering is supported by OpenCFD Ltd,
@@ -257,75 +258,98 @@ class Openfoam(Package):
in 2004.
"""
- maintainers = ['olesenm']
+ maintainers = ["olesenm"]
homepage = "https://www.openfoam.com/"
- url = "https://sourceforge.net/projects/openfoam/files/v1906/OpenFOAM-v1906.tgz"
- git = "https://develop.openfoam.com/Development/openfoam.git"
+ 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/"
list_depth = 2
- version('develop', branch='develop', submodules='True')
- version('master', branch='master', submodules='True')
- version('2206', sha256='db95eda4afb97ca870733b2d4201ef539099d0778e3f3eca9a075d4f1a0eea46')
- version('2112_220610', sha256='e07fd7220520e4bcfd6c8100a7e027fba13eeca2b11085c9dd4642758422a63d')
- version('2112', sha256='3e838731e79db1c288acc27aad8cc8a43d9dac1f24e5773e3b9fa91419a8c3f7')
- version('2106_220610', sha256='5081a1493f4a316c165abf273c69bc2d1e07cf184e8b17ff97f845f876673231')
- version('2106_211215', sha256='08c0d0b90b43505693ff8838e827f09e14ec9fb475956ef53cc2206c736277b1')
- version('2106', sha256='11e41e5b9a253ef592a8f6b79f6aded623b28308192d02cec1327078523b5a37')
- version('2012_220610', sha256='abbe46b0e93f0653397429f1fa2867d4459e0f6c28d90a08da0d4272f89d0757')
- version('2012_210414', sha256='5260aaa79f91aad58a3a305c1a12d0d48b10f12e37cd99a6fa561969b15ea09d')
- version('2012', sha256='3d6e39e39e7ae61d321fbc6db6c3748e6e5e1c4886454207a7f1a7321469e65a')
- version('2006_220610', sha256='b8e9801c304f3fdf512ed8840093bf3f348fb8701121c88f3febd45e3826cb22')
- version('2006_201012', sha256='9afb7eee072bfddcf7f3e58420c93463027db2394997ac4c3b87a8b07c707fb0')
- version('2006', sha256='30c6376d6f403985fc2ab381d364522d1420dd58a42cb270d2ad86f8af227edc')
- version('1912_220610', sha256='a0be015bd651b8eaa9c0fca0ffa97708821979fde9e2e23a1d98d9064c5c3f02')
- version('1912_200506', sha256='831a39ff56e268e88374d0a3922479fd80260683e141e51980242cc281484121')
- version('1912_200403', sha256='1de8f4ddd39722b75f6b01ace9f1ba727b53dd999d1cd2b344a8c677ac2db4c0')
- version('1912', sha256='437feadf075419290aa8bf461673b723a60dc39525b23322850fb58cb48548f2')
- version('1906_200312', sha256='f75645151ed5d8c5da592d307480979fe580a25627cc0c9718ef370211577594')
- version('1906_191103', sha256='631a7fcd926ccbcdef0ab737a9dc55e58d6bedae2f3acaa041ea679db6c9303b')
- version('1906', sha256='bee03c4b1da0d2c9f98eb469eeffbce3a8614728ef8e87f664042a7490976537')
- version('1812_200312', sha256='925d2877c12740fab177a30fdcaa8899c262c15b90225f9c29d18a2d97532de0')
- version('1812_191001', sha256='857a3d476696679313ea9a3f022b33446ddef2bcd417049a9486d504c12038dd')
- version('1812_190531', sha256='51f0ef49a199edf3cd94e2ccfc7330e54e93c8e4ddb29ee66fe3e6b443583b34')
- version('1812', sha256='d4d23d913419c6a364b1fe91509c1fadb5661bdf2eedb8fe9a8a005924eb2032')
- version('1806', sha256='6951aab6405294fe59cec90b0a4e425f5403043191cda02ebaaa890ce1fcc819')
- version('1712', sha256='4d22caa25d638d4c59bb93ee4dec51e8f71724f9f507eeb4162f771ebe885d21')
- version('1706', sha256='7779048bb53798d9a5bd2b2be0bf302c5fd3dff98e29249d6e0ef7eeb83db79a')
- version('1612', sha256='2909c43506a68e1f23efd0ca6186a6948ae0fc8fe1e39c78cc23ef0d69f3569d')
-
- variant('float32', default=False,
- description='Use single-precision')
- variant('spdp', default=False,
- description='Use single/double mixed precision')
- variant('int64', default=False,
- description='With 64-bit labels')
- variant('knl', default=False,
- description='Use KNL compiler settings')
- variant('kahip', default=False,
- description='With kahip decomposition')
- variant('metis', default=False,
- description='With metis decomposition')
- variant('scotch', default=True,
- description='With scotch/ptscotch decomposition')
- variant('zoltan', default=False,
- description='With zoltan renumbering')
- variant('mgridgen', default=False, description='With mgridgen support')
- variant('paraview', default=False,
- description='Build paraview plugins and runtime post-processing')
- variant('vtk', default=False,
- description='With VTK runTimePostProcessing')
- variant('source', default=True,
- description='Install library/application sources and tutorials')
-
- depends_on('mpi')
+ version("develop", branch="develop", submodules="True")
+ version("master", branch="master", submodules="True")
+ version("2206", sha256="db95eda4afb97ca870733b2d4201ef539099d0778e3f3eca9a075d4f1a0eea46")
+ version(
+ "2112_220610", sha256="e07fd7220520e4bcfd6c8100a7e027fba13eeca2b11085c9dd4642758422a63d"
+ )
+ version("2112", sha256="3e838731e79db1c288acc27aad8cc8a43d9dac1f24e5773e3b9fa91419a8c3f7")
+ version(
+ "2106_220610", sha256="5081a1493f4a316c165abf273c69bc2d1e07cf184e8b17ff97f845f876673231"
+ )
+ version(
+ "2106_211215", sha256="08c0d0b90b43505693ff8838e827f09e14ec9fb475956ef53cc2206c736277b1"
+ )
+ version("2106", sha256="11e41e5b9a253ef592a8f6b79f6aded623b28308192d02cec1327078523b5a37")
+ version(
+ "2012_220610", sha256="abbe46b0e93f0653397429f1fa2867d4459e0f6c28d90a08da0d4272f89d0757"
+ )
+ version(
+ "2012_210414", sha256="5260aaa79f91aad58a3a305c1a12d0d48b10f12e37cd99a6fa561969b15ea09d"
+ )
+ version("2012", sha256="3d6e39e39e7ae61d321fbc6db6c3748e6e5e1c4886454207a7f1a7321469e65a")
+ version(
+ "2006_220610", sha256="b8e9801c304f3fdf512ed8840093bf3f348fb8701121c88f3febd45e3826cb22"
+ )
+ version(
+ "2006_201012", sha256="9afb7eee072bfddcf7f3e58420c93463027db2394997ac4c3b87a8b07c707fb0"
+ )
+ version("2006", sha256="30c6376d6f403985fc2ab381d364522d1420dd58a42cb270d2ad86f8af227edc")
+ version(
+ "1912_220610", sha256="a0be015bd651b8eaa9c0fca0ffa97708821979fde9e2e23a1d98d9064c5c3f02"
+ )
+ version(
+ "1912_200506", sha256="831a39ff56e268e88374d0a3922479fd80260683e141e51980242cc281484121"
+ )
+ version(
+ "1912_200403", sha256="1de8f4ddd39722b75f6b01ace9f1ba727b53dd999d1cd2b344a8c677ac2db4c0"
+ )
+ version("1912", sha256="437feadf075419290aa8bf461673b723a60dc39525b23322850fb58cb48548f2")
+ version(
+ "1906_200312", sha256="f75645151ed5d8c5da592d307480979fe580a25627cc0c9718ef370211577594"
+ )
+ version(
+ "1906_191103", sha256="631a7fcd926ccbcdef0ab737a9dc55e58d6bedae2f3acaa041ea679db6c9303b"
+ )
+ version("1906", sha256="bee03c4b1da0d2c9f98eb469eeffbce3a8614728ef8e87f664042a7490976537")
+ version(
+ "1812_200312", sha256="925d2877c12740fab177a30fdcaa8899c262c15b90225f9c29d18a2d97532de0"
+ )
+ version(
+ "1812_191001", sha256="857a3d476696679313ea9a3f022b33446ddef2bcd417049a9486d504c12038dd"
+ )
+ version(
+ "1812_190531", sha256="51f0ef49a199edf3cd94e2ccfc7330e54e93c8e4ddb29ee66fe3e6b443583b34"
+ )
+ version("1812", sha256="d4d23d913419c6a364b1fe91509c1fadb5661bdf2eedb8fe9a8a005924eb2032")
+ version("1806", sha256="6951aab6405294fe59cec90b0a4e425f5403043191cda02ebaaa890ce1fcc819")
+ version("1712", sha256="4d22caa25d638d4c59bb93ee4dec51e8f71724f9f507eeb4162f771ebe885d21")
+ version("1706", sha256="7779048bb53798d9a5bd2b2be0bf302c5fd3dff98e29249d6e0ef7eeb83db79a")
+ version("1612", sha256="2909c43506a68e1f23efd0ca6186a6948ae0fc8fe1e39c78cc23ef0d69f3569d")
+
+ variant("float32", default=False, description="Use single-precision")
+ variant("spdp", default=False, description="Use single/double mixed precision")
+ variant("int64", default=False, description="With 64-bit labels")
+ variant("knl", default=False, description="Use KNL compiler settings")
+ variant("kahip", default=False, description="With kahip decomposition")
+ variant("metis", default=False, description="With metis decomposition")
+ variant("scotch", default=True, description="With scotch/ptscotch decomposition")
+ variant("zoltan", default=False, description="With zoltan renumbering")
+ variant("mgridgen", default=False, description="With mgridgen support")
+ variant(
+ "paraview", default=False, description="Build paraview plugins and runtime post-processing"
+ )
+ variant("vtk", default=False, description="With VTK runTimePostProcessing")
+ variant(
+ "source", default=True, description="Install library/application sources and tutorials"
+ )
+
+ depends_on("mpi")
# After 1712, could suggest openmpi+thread_multiple for collated output
# but particular mixes of mpi versions and InfiniBand may not work so well
# conflicts('^openmpi~thread_multiple', when='@1712:')
- depends_on('zlib')
- depends_on('fftw-api')
+ depends_on("zlib")
+ depends_on("fftw-api")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -333,24 +357,24 @@ class Openfoam(Package):
depends_on(Boost.with_default_variants)
# OpenFOAM does not play nice with CGAL 5.X
- depends_on('cgal@:4')
+ depends_on("cgal@:4")
# The flex restriction is ONLY to deal with a spec resolution clash
# introduced by the restriction within scotch!
- depends_on('flex@:2.6.1,2.6.4:')
- depends_on('cmake', type='build')
- depends_on('m4', type='build')
+ depends_on("flex@:2.6.1,2.6.4:")
+ depends_on("cmake", type="build")
+ depends_on("m4", type="build")
# Require scotch with ptscotch - corresponds to standard OpenFOAM setup
- depends_on('scotch~metis+mpi~int64', when='+scotch~int64')
- depends_on('scotch~metis+mpi+int64', when='+scotch+int64')
- depends_on('kahip', when='+kahip')
- depends_on('metis@5:', when='+metis')
- depends_on('metis+int64', when='+metis+int64')
+ depends_on("scotch~metis+mpi~int64", when="+scotch~int64")
+ depends_on("scotch~metis+mpi+int64", when="+scotch+int64")
+ depends_on("kahip", when="+kahip")
+ depends_on("metis@5:", when="+metis")
+ depends_on("metis+int64", when="+metis+int64")
# mgridgen is statically linked
- depends_on('parmgridgen', when='+mgridgen', type='build')
- depends_on('zoltan', when='+zoltan')
- depends_on('vtk', when='+vtk')
- depends_on('adios2', when='@1912:')
+ depends_on("parmgridgen", when="+mgridgen", type="build")
+ depends_on("zoltan", when="+zoltan")
+ depends_on("vtk", when="+vtk")
+ depends_on("adios2", when="@1912:")
# For OpenFOAM plugins and run-time post-processing this should just be
# 'paraview+plugins' but that resolves poorly.
@@ -358,28 +382,29 @@ class Openfoam(Package):
# ~/.spack/packages.yaml
# 1706 ok with newer paraview but avoid pv-5.2, pv-5.3 readers
- depends_on('paraview@5.4:', when='@1706:+paraview')
+ depends_on("paraview@5.4:", when="@1706:+paraview")
# 1612 plugins need older paraview
- depends_on('paraview@:5.0.1', when='@1612+paraview')
+ depends_on("paraview@:5.0.1", when="@1612+paraview")
# General patches
- common = ['spack-Allwmake', 'README-spack']
+ common = ["spack-Allwmake", "README-spack"]
assets = [] # type: List[str]
# Version-specific patches
- patch('1612-spack-patches.patch', when='@1612')
+ patch("1612-spack-patches.patch", when="@1612")
# kahip patch (wmake)
- patch('https://develop.openfoam.com/Development/openfoam/commit/8831dfc58b0295d0d301a78341dd6f4599073d45.patch',
- when='@1806',
- sha256='531146be868dd0cda70c1cf12a22110a38a30fd93b5ada6234be3d6c9256c6cf'
- )
+ patch(
+ "https://develop.openfoam.com/Development/openfoam/commit/8831dfc58b0295d0d301a78341dd6f4599073d45.patch",
+ when="@1806",
+ sha256="531146be868dd0cda70c1cf12a22110a38a30fd93b5ada6234be3d6c9256c6cf",
+ )
# Some user config settings
# default: 'compile-option': '-spack',
# default: 'mplib': 'USERMPI', # User-defined mpi for spack
config = {
# Add links into bin/, lib/ (eg, for other applications)
- 'link': False
+ "link": False
}
# The openfoam architecture, compiler information etc
@@ -391,8 +416,8 @@ class Openfoam(Package):
# Content for etc/config.{csh,sh}/ files
etc_config = {} # type: Dict[str,str]
- phases = ['configure', 'build', 'install']
- build_script = './spack-Allwmake' # From patch() method.
+ phases = ["configure", "build", "install"]
+ build_script = "./spack-Allwmake" # From patch() method.
#
# - End of definitions / setup -
@@ -404,24 +429,22 @@ class Openfoam(Package):
corresponding unpatched directories (eg '1906').
Older versions (eg, v1612+) had additional '+' in naming
"""
- if version <= Version('1612'):
- fmt = 'v{0}+/OpenFOAM-v{1}+.tgz'
+ if version <= Version("1612"):
+ fmt = "v{0}+/OpenFOAM-v{1}+.tgz"
else:
- fmt = 'v{0}/OpenFOAM-v{1}.tgz'
+ fmt = "v{0}/OpenFOAM-v{1}.tgz"
return self.list_url + fmt.format(version.up_to(1), version)
def setup_minimal_environment(self, env):
- """Sets a minimal openfoam environment.
- """
- tty.info('OpenFOAM minimal env {0}'.format(self.prefix))
- env.set('FOAM_PROJECT_DIR', self.projectdir)
- env.set('WM_PROJECT_DIR', self.projectdir)
- for d in ['wmake', self.archbin]: # bin added automatically
- env.prepend_path('PATH', join_path(self.projectdir, d))
+ """Sets a minimal openfoam environment."""
+ tty.info("OpenFOAM minimal env {0}".format(self.prefix))
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
+ env.set("WM_PROJECT_DIR", self.projectdir)
+ for d in ["wmake", self.archbin]: # bin added automatically
+ env.prepend_path("PATH", join_path(self.projectdir, d))
def setup_build_environment(self, env):
- """Sets the build environment (prior to unpacking the sources).
- """
+ """Sets the build environment (prior to unpacking the sources)."""
pass
def setup_run_environment(self, env):
@@ -433,7 +456,7 @@ class Openfoam(Package):
$ . $WM_PROJECT_DIR/etc/bashrc
"""
- bashrc = join_path(self.projectdir, 'etc', 'bashrc')
+ bashrc = join_path(self.projectdir, "etc", "bashrc")
minimal = True
if os.path.isfile(bashrc):
# post-install: source the installed bashrc
@@ -444,9 +467,8 @@ class Openfoam(Package):
blacklist=[ # Blacklist these
# Inadvertent changes
# -------------------
- 'PS1', # Leave untouched
- 'MANPATH', # Leave untouched
-
+ "PS1", # Leave untouched
+ "MANPATH", # Leave untouched
# Unneeded bits
# -------------
# 'FOAM_SETTINGS', # Do not use with modules
@@ -454,24 +476,23 @@ class Openfoam(Package):
# 'FOAM_(APP|ETC|SRC|SOLVERS|UTILITIES)',
# 'FOAM_TUTORIALS', # May be useful
# 'WM_OSTYPE', # Purely optional value
-
# Third-party cruft - only used for orig compilation
# -----------------
- '[A-Z].*_ARCH_PATH',
+ "[A-Z].*_ARCH_PATH",
# '(KAHIP|METIS|SCOTCH)_VERSION',
-
# User-specific
# -------------
- 'FOAM_RUN',
- '(FOAM|WM)_.*USER_.*',
+ "FOAM_RUN",
+ "(FOAM|WM)_.*USER_.*",
],
whitelist=[ # Whitelist these
- 'MPI_ARCH_PATH', # Can be required for compilation
- ])
+ "MPI_ARCH_PATH", # Can be required for compilation
+ ],
+ )
env.extend(mods)
minimal = False
- tty.debug('OpenFOAM bashrc env: {0}'.format(bashrc))
+ tty.debug("OpenFOAM bashrc env: {0}".format(bashrc))
except Exception:
minimal = True
@@ -485,7 +506,7 @@ class Openfoam(Package):
masking the normal OpenFOAM cleanup of previous versions.
"""
self.setup_run_environment(env)
- env.set('FOAM_PROJECT_DIR', self.projectdir)
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Use full OpenFOAM environment when running.
@@ -493,7 +514,7 @@ class Openfoam(Package):
masking the normal OpenFOAM cleanup of previous versions.
"""
self.setup_run_environment(env)
- env.set('FOAM_PROJECT_DIR', self.projectdir)
+ env.set("FOAM_PROJECT_DIR", self.projectdir)
@property
def projectdir(self):
@@ -509,93 +530,84 @@ class Openfoam(Package):
@property
def archbin(self):
"""Relative location of architecture-specific executables"""
- return join_path('platforms', self.foam_arch, 'bin')
+ return join_path("platforms", self.foam_arch, "bin")
@property
def archlib(self):
"""Relative location of architecture-specific libraries"""
- return join_path('platforms', self.foam_arch, 'lib')
+ return join_path("platforms", self.foam_arch, "lib")
def patch(self):
"""Adjust OpenFOAM build for spack.
- Where needed, apply filter as an alternative to normal patching."""
+ Where needed, apply filter as an alternative to normal patching."""
add_extra_files(self, self.common, self.assets)
- @when('@:1806')
+ @when("@:1806")
def patch(self):
"""Adjust OpenFOAM build for spack.
- Where needed, apply filter as an alternative to normal patching."""
+ Where needed, apply filter as an alternative to normal patching."""
add_extra_files(self, self.common, self.assets)
# Prior to 1812, required OpenFOAM-v{VER} directory when sourcing
projdir = "OpenFOAM-v{0}".format(self.version)
if not os.path.exists(join_path(self.stage.path, projdir)):
- tty.info('Added directory link {0}'.format(projdir))
+ tty.info("Added directory link {0}".format(projdir))
os.symlink(
- os.path.relpath(
- self.stage.source_path,
- self.stage.path
- ),
- join_path(self.stage.path, projdir)
+ os.path.relpath(self.stage.source_path, self.stage.path),
+ join_path(self.stage.path, projdir),
)
# Avoid WM_PROJECT_INST_DIR for ThirdParty
# This modification is non-critical
edits = {
- 'WM_THIRD_PARTY_DIR':
- r'$WM_PROJECT_DIR/ThirdParty #SPACK: No separate third-party',
+ "WM_THIRD_PARTY_DIR": r"$WM_PROJECT_DIR/ThirdParty #SPACK: No separate third-party",
}
rewrite_environ_files( # etc/{bashrc,cshrc}
- edits,
- posix=join_path('etc', 'bashrc'),
- cshell=join_path('etc', 'cshrc'))
+ edits, posix=join_path("etc", "bashrc"), cshell=join_path("etc", "cshrc")
+ )
# The following filtering is non-critical.
# It simply prevents 'site' dirs at the wrong level
# (likely non-existent anyhow) from being added to
# PATH, LD_LIBRARY_PATH.
- for rcdir in ['config.sh', 'config.csh']:
- rcfile = join_path('etc', rcdir, 'settings')
+ for rcdir in ["config.sh", "config.csh"]:
+ rcfile = join_path("etc", rcdir, "settings")
if os.path.isfile(rcfile):
- filter_file(
- 'WM_PROJECT_INST_DIR/',
- 'WM_PROJECT_DIR/',
- rcfile,
- backup=False)
+ filter_file("WM_PROJECT_INST_DIR/", "WM_PROJECT_DIR/", rcfile, backup=False)
def configure_trapFpe_off(self):
"""Disable trapFpe handling.
Seems to be needed for several clang-derivatives.
"""
# Set 'trapFpe 0' in etc/controlDict
- controlDict = 'etc/controlDict'
+ controlDict = "etc/controlDict"
if os.path.exists(controlDict):
- filter_file(r'trapFpe\s+\d+\s*;', 'trapFpe 0;',
- controlDict, backup=False)
+ filter_file(r"trapFpe\s+\d+\s*;", "trapFpe 0;", controlDict, backup=False)
- @when('@:2106 %aocc@3.2.0:')
- @run_before('configure')
+ @when("@:2106 %aocc@3.2.0:")
+ @run_before("configure")
def make_amd_rules(self):
"""Due to the change in the linker behavior in AOCC v3.2, it is now
issuing diagnostic messages for the unreferenced symbols in the
shared objects as it may lead to run time failures.
"""
- general_rules = 'wmake/rules/General'
- src = join_path(general_rules, 'Clang')
- filter_file('clang++', spack_cxx + ' -pthread', join_path(src, 'c++'),
- backup=False, string=True)
-
- @when('@1812: %fj')
- @run_before('configure')
+ general_rules = "wmake/rules/General"
+ src = join_path(general_rules, "Clang")
+ filter_file(
+ "clang++", spack_cxx + " -pthread", join_path(src, "c++"), backup=False, string=True
+ )
+
+ @when("@1812: %fj")
+ @run_before("configure")
def make_fujitsu_rules(self):
"""Create Fujitsu rules (clang variant) unless supplied upstream.
Implemented for 1812 and later (older rules are too messy to edit).
Already included after 1912.
"""
- general_rules = 'wmake/rules/General'
- arch_rules = 'wmake/rules/linuxARM64' # self.arch
- src = arch_rules + 'Clang'
- dst = arch_rules + 'Fujitsu' # self.compiler
+ general_rules = "wmake/rules/General"
+ arch_rules = "wmake/rules/linuxARM64" # self.arch
+ src = arch_rules + "Clang"
+ dst = arch_rules + "Fujitsu" # self.compiler
self.configure_trapFpe_off() # LLVM may falsely trigger FPE
if os.path.exists(dst):
@@ -603,32 +615,28 @@ class Openfoam(Package):
# Handle rules/<ARCH><COMP> or rules/<ARCH>/<COMP>
if not os.path.exists(src):
- src = join_path(arch_rules, 'Clang')
- dst = join_path(arch_rules, 'Fujitsu') # self.compiler
+ src = join_path(arch_rules, "Clang")
+ dst = join_path(arch_rules, "Fujitsu") # self.compiler
if os.path.exists(dst):
return
- tty.info('Add Fujitsu wmake rules')
+ tty.info("Add Fujitsu wmake rules")
copy_tree(src, dst)
- if self.spec.version >= Version('1906'):
- for cfg in ['c', 'c++', 'general']:
+ if self.spec.version >= Version("1906"):
+ for cfg in ["c", "c++", "general"]:
rule = join_path(dst, cfg)
- filter_file('Clang', 'Fujitsu', rule, backup=False)
+ filter_file("Clang", "Fujitsu", rule, backup=False)
else:
- filter_file('clang', spack_cc, join_path(dst, 'c'),
- backup=False, string=True)
- filter_file('clang++', spack_cxx, join_path(dst, 'c++'),
- backup=False, string=True)
+ filter_file("clang", spack_cc, join_path(dst, "c"), backup=False, string=True)
+ filter_file("clang++", spack_cxx, join_path(dst, "c++"), backup=False, string=True)
- src = join_path(general_rules, 'Clang')
- dst = join_path(general_rules, 'Fujitsu') # self.compiler
+ src = join_path(general_rules, "Clang")
+ dst = join_path(general_rules, "Fujitsu") # self.compiler
copy_tree(src, dst)
- if self.spec.version >= Version('1906'):
- filter_file('clang', spack_cc, join_path(dst, 'c'),
- backup=False, string=True)
- filter_file('clang++', spack_cxx, join_path(dst, 'c++'),
- backup=False, string=True)
+ if self.spec.version >= Version("1906"):
+ filter_file("clang", spack_cc, join_path(dst, "c"), backup=False, string=True)
+ filter_file("clang++", spack_cxx, join_path(dst, "c++"), backup=False, string=True)
def configure(self, spec, prefix):
"""Make adjustments to the OpenFOAM configuration files in their
@@ -640,9 +648,8 @@ class Openfoam(Package):
edits = {}
edits.update(self.foam_arch.foam_dict())
rewrite_environ_files( # etc/{bashrc,cshrc}
- edits,
- posix=join_path('etc', 'bashrc'),
- cshell=join_path('etc', 'cshrc'))
+ edits, posix=join_path("etc", "bashrc"), cshell=join_path("etc", "cshrc")
+ )
# Content for etc/prefs.{csh,sh}
self.etc_prefs = {
@@ -653,109 +660,106 @@ class Openfoam(Package):
}
# MPI content, using MPI_ARCH_PATH
- user_mpi = mplib_content(spec, '${MPI_ARCH_PATH}')
+ user_mpi = mplib_content(spec, "${MPI_ARCH_PATH}")
# Content for etc/config.{csh,sh}/ files
self.etc_config = {
- 'CGAL': [
- ('BOOST_ARCH_PATH', spec['boost'].prefix),
- ('CGAL_ARCH_PATH', spec['cgal'].prefix),
- ('LD_LIBRARY_PATH',
- foam_add_lib(
- pkglib(spec['boost'], '${BOOST_ARCH_PATH}'),
- pkglib(spec['cgal'], '${CGAL_ARCH_PATH}'))),
+ "CGAL": [
+ ("BOOST_ARCH_PATH", spec["boost"].prefix),
+ ("CGAL_ARCH_PATH", spec["cgal"].prefix),
+ (
+ "LD_LIBRARY_PATH",
+ foam_add_lib(
+ pkglib(spec["boost"], "${BOOST_ARCH_PATH}"),
+ pkglib(spec["cgal"], "${CGAL_ARCH_PATH}"),
+ ),
+ ),
],
- 'FFTW': [
- ('FFTW_ARCH_PATH', spec['fftw-api'].prefix), # Absolute
- ('LD_LIBRARY_PATH',
- foam_add_lib(
- pkglib(spec['fftw-api'], '${BOOST_ARCH_PATH}'))),
+ "FFTW": [
+ ("FFTW_ARCH_PATH", spec["fftw-api"].prefix), # Absolute
+ ("LD_LIBRARY_PATH", foam_add_lib(pkglib(spec["fftw-api"], "${BOOST_ARCH_PATH}"))),
],
# User-defined MPI
- 'mpi-user': [
- ('MPI_ARCH_PATH', spec['mpi'].prefix), # Absolute
- ('LD_LIBRARY_PATH', foam_add_lib(user_mpi['libdir'])),
- ('PATH', foam_add_path(user_mpi['bindir'])),
+ "mpi-user": [
+ ("MPI_ARCH_PATH", spec["mpi"].prefix), # Absolute
+ ("LD_LIBRARY_PATH", foam_add_lib(user_mpi["libdir"])),
+ ("PATH", foam_add_path(user_mpi["bindir"])),
],
- 'adios2': {},
- 'scotch': {},
- 'kahip': {},
- 'metis': {},
- 'ensight': {}, # Disable settings
- 'paraview': [],
- 'gperftools': [], # Disable settings
- 'vtk': [],
+ "adios2": {},
+ "scotch": {},
+ "kahip": {},
+ "metis": {},
+ "ensight": {}, # Disable settings
+ "paraview": [],
+ "gperftools": [], # Disable settings
+ "vtk": [],
}
# With adios2 after 1912
- if spec.satisfies('@1912:'):
- self.etc_config['adios2'] = [
- ('ADIOS2_ARCH_PATH', spec['adios2'].prefix),
- ('LD_LIBRARY_PATH',
- foam_add_lib(pkglib(spec['adios2'], '${ADIOS2_ARCH_PATH}'))),
- ('PATH', foam_add_path('${ADIOS2_ARCH_PATH}/bin')),
+ if spec.satisfies("@1912:"):
+ self.etc_config["adios2"] = [
+ ("ADIOS2_ARCH_PATH", spec["adios2"].prefix),
+ ("LD_LIBRARY_PATH", foam_add_lib(pkglib(spec["adios2"], "${ADIOS2_ARCH_PATH}"))),
+ ("PATH", foam_add_path("${ADIOS2_ARCH_PATH}/bin")),
]
- if '+scotch' in spec:
- self.etc_config['scotch'] = {
- 'SCOTCH_ARCH_PATH': spec['scotch'].prefix,
+ if "+scotch" in spec:
+ self.etc_config["scotch"] = {
+ "SCOTCH_ARCH_PATH": spec["scotch"].prefix,
# For src/parallel/decompose/Allwmake
- 'SCOTCH_VERSION': 'scotch-{0}'.format(spec['scotch'].version),
+ "SCOTCH_VERSION": "scotch-{0}".format(spec["scotch"].version),
}
- if '+kahip' in spec:
- self.etc_config['kahip'] = {
- 'KAHIP_ARCH_PATH': spec['kahip'].prefix,
+ if "+kahip" in spec:
+ self.etc_config["kahip"] = {
+ "KAHIP_ARCH_PATH": spec["kahip"].prefix,
}
- if '+metis' in spec:
- self.etc_config['metis'] = {
- 'METIS_ARCH_PATH': spec['metis'].prefix,
+ if "+metis" in spec:
+ self.etc_config["metis"] = {
+ "METIS_ARCH_PATH": spec["metis"].prefix,
}
# ParaView_INCLUDE_DIR is not used in 1812, but has no ill-effect
- if '+paraview' in spec:
- pvmajor = 'paraview-{0}'.format(spec['paraview'].version.up_to(2))
- self.etc_config['paraview'] = [
- ('ParaView_DIR', spec['paraview'].prefix),
- ('ParaView_INCLUDE_DIR', '${ParaView_DIR}/include/' + pvmajor),
- ('PV_PLUGIN_PATH', '$FOAM_LIBBIN/' + pvmajor),
- ('PATH', foam_add_path('${ParaView_DIR}/bin')),
+ if "+paraview" in spec:
+ pvmajor = "paraview-{0}".format(spec["paraview"].version.up_to(2))
+ self.etc_config["paraview"] = [
+ ("ParaView_DIR", spec["paraview"].prefix),
+ ("ParaView_INCLUDE_DIR", "${ParaView_DIR}/include/" + pvmajor),
+ ("PV_PLUGIN_PATH", "$FOAM_LIBBIN/" + pvmajor),
+ ("PATH", foam_add_path("${ParaView_DIR}/bin")),
]
- if '+vtk' in spec:
- self.etc_config['vtk'] = [
- ('VTK_DIR', spec['vtk'].prefix),
- ('LD_LIBRARY_PATH',
- foam_add_lib(pkglib(spec['vtk'], '${VTK_DIR}'))),
+ if "+vtk" in spec:
+ self.etc_config["vtk"] = [
+ ("VTK_DIR", spec["vtk"].prefix),
+ ("LD_LIBRARY_PATH", foam_add_lib(pkglib(spec["vtk"], "${VTK_DIR}"))),
]
# Optional
- if '+mgridgen' in spec:
- self.etc_config['mgridgen'] = {
- 'MGRIDGEN_ARCH_PATH': spec['parmgridgen'].prefix
- }
+ if "+mgridgen" in spec:
+ self.etc_config["mgridgen"] = {"MGRIDGEN_ARCH_PATH": spec["parmgridgen"].prefix}
# Optional
- if '+zoltan' in spec:
- self.etc_config['zoltan'] = {
- 'ZOLTAN_ARCH_PATH': spec['zoltan'].prefix
- }
+ if "+zoltan" in spec:
+ self.etc_config["zoltan"] = {"ZOLTAN_ARCH_PATH": spec["zoltan"].prefix}
# Write prefs files according to the configuration.
# Only need prefs.sh for building, but install both for end-users
if self.etc_prefs:
write_environ(
self.etc_prefs,
- posix=join_path('etc', 'prefs.sh'),
- cshell=join_path('etc', 'prefs.csh'))
+ posix=join_path("etc", "prefs.sh"),
+ cshell=join_path("etc", "prefs.csh"),
+ )
# Adjust components to use SPACK variants
for component, subdict in self.etc_config.items():
write_environ(
subdict,
- posix=join_path('etc', 'config.sh', component),
- cshell=join_path('etc', 'config.csh', component))
+ posix=join_path("etc", "config.sh", component),
+ cshell=join_path("etc", "config.csh", component),
+ )
def build(self, spec, prefix):
"""Build using the OpenFOAM Allwmake script, with a wrapper to source
@@ -765,9 +769,9 @@ class Openfoam(Package):
self.foam_arch.has_rule(self.stage.source_path)
self.foam_arch.create_rules(self.stage.source_path, self)
- args = ['-silent']
+ args = ["-silent"]
if self.parallel: # Build in parallel? - pass as an argument
- args.append('-j{0}'.format(make_jobs))
+ args.append("-j{0}".format(make_jobs))
builder = Executable(self.build_script)
builder(*args)
@@ -777,15 +781,14 @@ class Openfoam(Package):
# Filtering: bashrc, cshrc
edits = {
- 'WM_PROJECT_DIR': self.projectdir,
+ "WM_PROJECT_DIR": self.projectdir,
}
- etc_dir = join_path(self.projectdir, 'etc')
+ etc_dir = join_path(self.projectdir, "etc")
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path(etc_dir, 'bashrc'),
- cshell=join_path(etc_dir, 'cshrc'))
+ edits, posix=join_path(etc_dir, "bashrc"), cshell=join_path(etc_dir, "cshrc")
+ )
- @when('@:1806')
+ @when("@:1806")
def install_write_location(self):
"""Set the installation location (projectdir) in bashrc,cshrc.
In 1806 and earlier, had WM_PROJECT_INST_DIR as the prefix
@@ -796,59 +799,48 @@ class Openfoam(Package):
# Filtering: bashrc, cshrc
edits = {
- 'WM_PROJECT_INST_DIR': os.path.dirname(self.projectdir),
- 'WM_PROJECT_DIR': join_path('$WM_PROJECT_INST_DIR', projdir),
+ "WM_PROJECT_INST_DIR": os.path.dirname(self.projectdir),
+ "WM_PROJECT_DIR": join_path("$WM_PROJECT_INST_DIR", projdir),
}
- etc_dir = join_path(self.projectdir, 'etc')
+ etc_dir = join_path(self.projectdir, "etc")
rewrite_environ_files( # Adjust etc/bashrc and etc/cshrc
- edits,
- posix=join_path(etc_dir, 'bashrc'),
- cshell=join_path(etc_dir, 'cshrc'))
+ edits, posix=join_path(etc_dir, "bashrc"), cshell=join_path(etc_dir, "cshrc")
+ )
def install(self, spec, prefix):
"""Install under the projectdir"""
mkdirp(self.projectdir)
# All top-level files, except spack build info and possibly Allwmake
- if '+source' in spec:
- ignored = re.compile(r'^spack-.*')
+ if "+source" in spec:
+ ignored = re.compile(r"^spack-.*")
else:
- ignored = re.compile(r'^(Allwmake|spack-).*')
+ ignored = re.compile(r"^(Allwmake|spack-).*")
- files = [
- f for f in glob.glob("*")
- if os.path.isfile(f) and not ignored.search(f)
- ]
+ files = [f for f in glob.glob("*") if os.path.isfile(f) and not ignored.search(f)]
for f in files:
install(f, self.projectdir)
# Having wmake and ~source is actually somewhat pointless...
# Install 'etc' before 'bin' (for symlinks)
# META-INFO for 1812 and later (or backported)
- dirs = ['META-INFO', 'etc', 'bin', 'wmake']
- if '+source' in spec:
- dirs.extend(['applications', 'src', 'tutorials'])
+ dirs = ["META-INFO", "etc", "bin", "wmake"]
+ if "+source" in spec:
+ dirs.extend(["applications", "src", "tutorials"])
for d in dirs:
if os.path.isdir(d):
- install_tree(
- d,
- join_path(self.projectdir, d),
- symlinks=True)
+ install_tree(d, join_path(self.projectdir, d), symlinks=True)
- dirs = ['platforms']
- if '+source' in spec:
- dirs.extend(['doc'])
+ dirs = ["platforms"]
+ if "+source" in spec:
+ dirs.extend(["doc"])
# Install platforms (and doc) skipping intermediate targets
- relative_ignore_paths = ['src', 'applications', 'html', 'Guides']
+ relative_ignore_paths = ["src", "applications", "html", "Guides"]
ignore = lambda p: p in relative_ignore_paths
for d in dirs:
- install_tree(
- d,
- join_path(self.projectdir, d),
- ignore=ignore,
- symlinks=True)
+ install_tree(d, join_path(self.projectdir, d), ignore=ignore, symlinks=True)
self.install_write_location()
self.install_links()
@@ -859,27 +851,28 @@ class Openfoam(Package):
with working_dir(self.projectdir):
os.symlink(
join_path(os.path.relpath(self.install_log_path)),
- join_path('log.' + str(self.foam_arch)))
+ join_path("log." + str(self.foam_arch)),
+ )
- if not self.config['link']:
+ if not self.config["link"]:
return
# ln -s platforms/linux64GccXXX/lib lib
with working_dir(self.projectdir):
if os.path.isdir(self.archlib):
- os.symlink(self.archlib, 'lib')
+ os.symlink(self.archlib, "lib")
# (cd bin && ln -s ../platforms/linux64GccXXX/bin/* .)
- with working_dir(join_path(self.projectdir, 'bin')):
+ with working_dir(join_path(self.projectdir, "bin")):
for f in [
- f for f in glob.glob(join_path('..', self.archbin, "*"))
- if os.path.isfile(f)
+ f for f in glob.glob(join_path("..", self.archbin, "*")) if os.path.isfile(f)
]:
os.symlink(f, os.path.basename(f))
# -----------------------------------------------------------------------------
+
class OpenfoamArch(object):
"""OpenfoamArch represents architecture/compiler settings for OpenFOAM.
The string representation is WM_OPTIONS.
@@ -892,35 +885,34 @@ class OpenfoamArch(object):
#: Map spack compiler names to OpenFOAM compiler names
# By default, simply capitalize the first letter
- compiler_mapping = {'aocc': 'Amd', 'fj': 'Fujitsu',
- 'intel': 'Icc', 'oneapi': 'Icx'}
+ compiler_mapping = {"aocc": "Amd", "fj": "Fujitsu", "intel": "Icc", "oneapi": "Icx"}
def __init__(self, spec, **kwargs):
# Some user settings, to be adjusted manually or via variants
- self.compiler = None # <- %compiler
- self.arch_option = '' # Eg, -march=knl
- self.label_size = None # <- +int64
- self.precision_option = 'DP' # <- +float32 | +spdp
- self.compile_option = kwargs.get('compile-option', '-spack')
- self.arch = None
- self.options = None
- self.mplib = kwargs.get('mplib', 'USERMPI')
+ self.compiler = None # <- %compiler
+ self.arch_option = "" # Eg, -march=knl
+ self.label_size = None # <- +int64
+ self.precision_option = "DP" # <- +float32 | +spdp
+ self.compile_option = kwargs.get("compile-option", "-spack")
+ self.arch = None
+ self.options = None
+ self.mplib = kwargs.get("mplib", "USERMPI")
# WM_LABEL_OPTION, but perhaps not yet for foam-extend
- if '+int64' in spec:
- self.label_size = '64'
- elif kwargs.get('label-size', True):
- self.label_size = '32'
+ if "+int64" in spec:
+ self.label_size = "64"
+ elif kwargs.get("label-size", True):
+ self.label_size = "32"
# WM_PRECISION_OPTION
- if '+spdp' in spec:
- self.precision_option = 'SPDP'
- elif '+float32' in spec:
- self.precision_option = 'SP'
+ if "+spdp" in spec:
+ self.precision_option = "SPDP"
+ elif "+float32" in spec:
+ self.precision_option = "SP"
# Processor/architecture-specific optimizations
- if '+knl' in spec:
- self.arch_option = '-march=knl'
+ if "+knl" in spec:
+ self.arch_option = "-march=knl"
# Capitalize first letter of compiler name to obtain the
# OpenFOAM naming (eg, gcc -> Gcc, clang -> Clang, etc).
@@ -934,8 +926,7 @@ class OpenfoamArch(object):
self.update_options()
def update_arch(self, spec):
- """Set WM_ARCH string corresponding to spack platform/target
- """
+ """Set WM_ARCH string corresponding to spack platform/target"""
# spec.architecture.platform is like `uname -s`, but lower-case
platform = str(spec.architecture.platform)
@@ -943,28 +934,27 @@ class OpenfoamArch(object):
target = str(spec.target.family)
# No spack platform family for ia64 or armv7l
- if platform == 'linux':
- if target == 'x86_64':
- platform += '64'
- elif target == 'ia64':
- platform += 'IA64'
- elif target == 'armv7l':
- platform += 'ARM7'
- elif target == 'aarch64':
+ if platform == "linux":
+ if target == "x86_64":
+ platform += "64"
+ elif target == "ia64":
+ platform += "IA64"
+ elif target == "armv7l":
+ platform += "ARM7"
+ elif target == "aarch64":
# overwritten as 'Arm64' in openfoam-org
- platform += 'ARM64'
- elif target == 'ppc64':
- platform += 'PPC64'
- elif target == 'ppc64le':
- platform += 'PPC64le'
- elif platform == 'darwin':
- platform += '64' # aarch64 or x86_64
+ platform += "ARM64"
+ elif target == "ppc64":
+ platform += "PPC64"
+ elif target == "ppc64le":
+ platform += "PPC64le"
+ elif platform == "darwin":
+ platform += "64" # aarch64 or x86_64
# ... and others?
self.arch = platform
def update_options(self):
- """Set WM_OPTIONS string consistent with current settings
- """
+ """Set WM_OPTIONS string consistent with current settings"""
# WM_OPTIONS
# ----
# WM_LABEL_OPTION=Int$WM_LABEL_SIZE
@@ -973,12 +963,15 @@ class OpenfoamArch(object):
# or
# WM_OPTIONS=$WM_OPTIONS_BASE$WM_COMPILE_OPTION
# ----
- self.options = ''.join([
- self.arch,
- self.compiler,
- self.precision_option,
- ('Int' + self.label_size if self.label_size else ''),
- self.compile_option])
+ self.options = "".join(
+ [
+ self.arch,
+ self.compiler,
+ self.precision_option,
+ ("Int" + self.label_size if self.label_size else ""),
+ self.compile_option,
+ ]
+ )
def __str__(self):
return self.options
@@ -988,21 +981,23 @@ class OpenfoamArch(object):
def foam_dict(self):
"""Returns a dictionary for OpenFOAM prefs, bashrc, cshrc."""
- return dict([
- ('WM_COMPILER', self.compiler),
- ('WM_LABEL_SIZE', self.label_size),
- ('WM_PRECISION_OPTION', self.precision_option),
- ('WM_COMPILE_OPTION', self.compile_option),
- ('WM_MPLIB', self.mplib),
- ])
+ return dict(
+ [
+ ("WM_COMPILER", self.compiler),
+ ("WM_LABEL_SIZE", self.label_size),
+ ("WM_PRECISION_OPTION", self.precision_option),
+ ("WM_COMPILE_OPTION", self.compile_option),
+ ("WM_MPLIB", self.mplib),
+ ]
+ )
def _rule_directory(self, projdir, general=False):
"""Return the wmake/rules/ General or compiler rules directory.
Supports wmake/rules/<ARCH><COMP> and wmake/rules/<ARCH>/<COMP>.
"""
- rules_dir = os.path.join(projdir, 'wmake', 'rules')
+ rules_dir = os.path.join(projdir, "wmake", "rules")
if general:
- return os.path.join(rules_dir, 'General')
+ return os.path.join(rules_dir, "General")
arch_dir = os.path.join(rules_dir, self.arch)
comp_rules = arch_dir + self.compiler
@@ -1012,18 +1007,16 @@ class OpenfoamArch(object):
return os.path.join(arch_dir, self.compiler)
def has_rule(self, projdir):
- """Verify that a wmake/rules/ compiler rule exists in the project.
- """
+ """Verify that a wmake/rules/ compiler rule exists in the project."""
# Insist on a wmake rule for this architecture/compiler combination
rule_dir = self._rule_directory(projdir)
if not os.path.isdir(rule_dir):
- raise InstallError(
- 'No wmake rule for {0} {1}'.format(self.arch, self.compiler))
+ raise InstallError("No wmake rule for {0} {1}".format(self.arch, self.compiler))
return True
def create_rules(self, projdir, foam_pkg):
- """ Create {c,c++}-spack and mplib{USERMPI}
+ """Create {c,c++}-spack and mplib{USERMPI}
rules in the specified project directory.
The compiler rules are based on the respective {c,c++}Opt rules
but with additional rpath information for the OpenFOAM libraries.
@@ -1037,40 +1030,45 @@ class OpenfoamArch(object):
# used for some statically linked wmake tools, but left in anyhow.
# rpath for installed OpenFOAM libraries
- rpath = '{0}{1}'.format(
- foam_pkg.compiler.cxx_rpath_arg,
- join_path(foam_pkg.projectdir, foam_pkg.archlib))
+ rpath = "{0}{1}".format(
+ foam_pkg.compiler.cxx_rpath_arg, join_path(foam_pkg.projectdir, foam_pkg.archlib)
+ )
user_mpi = mplib_content(foam_pkg.spec)
rule_dir = self._rule_directory(projdir)
with working_dir(rule_dir):
# Compiler: copy existing cOpt,c++Opt and modify '*DBUG' value
- for lang in ['c', 'c++']:
- src = '{0}Opt'.format(lang)
- dst = '{0}{1}'.format(lang, self.compile_option)
- with open(src, 'r') as infile:
- with open(dst, 'w') as outfile:
+ for lang in ["c", "c++"]:
+ src = "{0}Opt".format(lang)
+ dst = "{0}{1}".format(lang, self.compile_option)
+ with open(src, "r") as infile:
+ with open(dst, "w") as outfile:
for line in infile:
line = line.rstrip()
outfile.write(line)
- if re.match(r'^\S+DBUG\s*=', line):
- outfile.write(' ')
+ if re.match(r"^\S+DBUG\s*=", line):
+ outfile.write(" ")
outfile.write(rpath)
- elif re.match(r'^\S+OPT\s*=', line):
+ elif re.match(r"^\S+OPT\s*=", line):
if self.arch_option:
- outfile.write(' ')
+ outfile.write(" ")
outfile.write(self.arch_option)
- outfile.write('\n')
+ outfile.write("\n")
# MPI rules
- for mplib in ['mplibUSERMPI']:
- with open(mplib, 'w') as out:
- out.write("""# MPI from spack ({name})\n
+ for mplib in ["mplibUSERMPI"]:
+ with open(mplib, "w") as out:
+ out.write(
+ """# MPI from spack ({name})\n
PFLAGS = {FLAGS}
PINC = {PINC}
PLIBS = {PLIBS}
#-------
-""".format(**user_mpi))
+""".format(
+ **user_mpi
+ )
+ )
+
# -----------------------------------------------------------------------------
diff --git a/var/spack/repos/builtin/packages/openfst/package.py b/var/spack/repos/builtin/packages/openfst/package.py
index c86679c7f6..3d8d77dd57 100644
--- a/var/spack/repos/builtin/packages/openfst/package.py
+++ b/var/spack/repos/builtin/packages/openfst/package.py
@@ -8,44 +8,47 @@ from spack.package import *
class Openfst(AutotoolsPackage):
"""OpenFst is a library for constructing, combining, optimizing,
- and searching weighted finite-state transducers (FSTs). Weighted
- finite-state transducers are automata where each transition has
- an input label, an output label, and a weight."""
+ and searching weighted finite-state transducers (FSTs). Weighted
+ finite-state transducers are automata where each transition has
+ an input label, an output label, and a weight."""
homepage = "http://www.openfst.org"
- url = "http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.1.tar.gz"
+ url = "http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.1.tar.gz"
list_url = "http://www.openfst.org/twiki/bin/view/FST/FstDownload"
- version('1.8.1', sha256='24fb53b72bb687e3fa8ee96c72a31ff2920d99b980a0a8f61dda426fca6713f0')
- version('1.7.9', sha256='9319aeb31d1e2950ae25449884e255cc2bc9dfaf987f601590763e61a10fbdde')
- version('1.7.3', sha256='b8dc6b4ca0f964faaf046577e4ad86b1a6ef544e35eacc6a5f16237f38300a0d')
- version('1.6.7', sha256='e21a486d827cde6a592c8e91721e4540ad01a5ae35a60423cf17be4d716017f7')
- version('1.6.1', sha256='5245af8ebccb96208eec2dfe3b3a81143d3565a4d41220bff299287fb3333f7d')
- version('1.6.0', sha256='c03467951631af3f74a6f33ffd50f04285bc4562f79127afd95785120379d293')
- version('1.5.4', sha256='acc115aaaa33de53de62dae44120ab368fabaea06f52606b77714081ecd32657')
- version('1.5.3', sha256='9b09e457aeab87f613508b92a0f9f820140c9e18d05584e3f1ae384396b5dcbd')
- version('1.5.2', sha256='944b9ae654d62345f51b9c2f728eee2751af32f90caeb35283bb7a5262d19cf2')
- version('1.5.1', sha256='6593edb401d047d942365437be012d974990609b6eb89814d1c6422a4161771e')
- version('1.5.0', sha256='01c2b810295a942fede5b711bd04bdc9677855c846fedcc999c792604e02177b')
- version('1.4.1-patch', sha256='e671bf6bd4425a1fed4e7543a024201b74869bfdd029bdf9d10c53a3c2818277',
- url='http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.4.1.tar.gz')
- version('1.4.1', sha256='e671bf6bd4425a1fed4e7543a024201b74869bfdd029bdf9d10c53a3c2818277')
- version('1.4.0', sha256='eb557f37560438f03912b4e43335c4c9e72aa486d4f2046127131185eb88f17a')
-
- conflicts('%intel@16:')
- conflicts('%gcc@6:', when='@:1.6.1')
-
- variant('far', default=False, description="Enable FAR support")
- variant('python', default=False, description="Enable python extension")
-
- depends_on('python@3.6:', when='+python')
-
- extends('python', when='+python')
+ version("1.8.1", sha256="24fb53b72bb687e3fa8ee96c72a31ff2920d99b980a0a8f61dda426fca6713f0")
+ version("1.7.9", sha256="9319aeb31d1e2950ae25449884e255cc2bc9dfaf987f601590763e61a10fbdde")
+ version("1.7.3", sha256="b8dc6b4ca0f964faaf046577e4ad86b1a6ef544e35eacc6a5f16237f38300a0d")
+ version("1.6.7", sha256="e21a486d827cde6a592c8e91721e4540ad01a5ae35a60423cf17be4d716017f7")
+ version("1.6.1", sha256="5245af8ebccb96208eec2dfe3b3a81143d3565a4d41220bff299287fb3333f7d")
+ version("1.6.0", sha256="c03467951631af3f74a6f33ffd50f04285bc4562f79127afd95785120379d293")
+ version("1.5.4", sha256="acc115aaaa33de53de62dae44120ab368fabaea06f52606b77714081ecd32657")
+ version("1.5.3", sha256="9b09e457aeab87f613508b92a0f9f820140c9e18d05584e3f1ae384396b5dcbd")
+ version("1.5.2", sha256="944b9ae654d62345f51b9c2f728eee2751af32f90caeb35283bb7a5262d19cf2")
+ version("1.5.1", sha256="6593edb401d047d942365437be012d974990609b6eb89814d1c6422a4161771e")
+ version("1.5.0", sha256="01c2b810295a942fede5b711bd04bdc9677855c846fedcc999c792604e02177b")
+ version(
+ "1.4.1-patch",
+ sha256="e671bf6bd4425a1fed4e7543a024201b74869bfdd029bdf9d10c53a3c2818277",
+ url="http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.4.1.tar.gz",
+ )
+ version("1.4.1", sha256="e671bf6bd4425a1fed4e7543a024201b74869bfdd029bdf9d10c53a3c2818277")
+ version("1.4.0", sha256="eb557f37560438f03912b4e43335c4c9e72aa486d4f2046127131185eb88f17a")
+
+ conflicts("%intel@16:")
+ conflicts("%gcc@6:", when="@:1.6.1")
+
+ variant("far", default=False, description="Enable FAR support")
+ variant("python", default=False, description="Enable python extension")
+
+ depends_on("python@3.6:", when="+python")
+
+ extends("python", when="+python")
# Patch openfst-1.4.1 for kaldi@c024e8
# See https://github.com/kaldi-asr/kaldi/blob/c024e8aa0a727bf76c91a318f76a1f8b0b59249e/tools/Makefile#L82-L88
- patch('openfst-1.4.1.patch', when='@1.4.1-patch')
- patch('openfst_gcc41up.patch', when='@1.4.1-patch')
+ patch("openfst-1.4.1.patch", when="@1.4.1-patch")
+ patch("openfst_gcc41up.patch", when="@1.4.1-patch")
def configure_args(self):
- return self.enable_or_disable('far') + self.enable_or_disable('python')
+ return self.enable_or_disable("far") + self.enable_or_disable("python")
diff --git a/var/spack/repos/builtin/packages/opengl/package.py b/var/spack/repos/builtin/packages/opengl/package.py
index 0efa6324d5..ed2c4cf228 100644
--- a/var/spack/repos/builtin/packages/opengl/package.py
+++ b/var/spack/repos/builtin/packages/opengl/package.py
@@ -14,15 +14,15 @@ class Opengl(BundlePackage):
homepage = "https://www.opengl.org/"
- version('4.5')
+ version("4.5")
# This should really be when='platform=linux' but can't because of a
# current bug in when and how ArchSpecs are constructed
- if sys.platform.startswith('linux'):
- provides('libglx')
- executables = ['^glxinfo$']
+ if sys.platform.startswith("linux"):
+ provides("libglx")
+ executables = ["^glxinfo$"]
else: # windows and mac
- provides('gl@4.5')
+ provides("gl@4.5")
@classmethod
def determine_version(cls, exe):
@@ -88,23 +88,19 @@ class Opengl(BundlePackage):
@property
def gl_headers(self):
- if 'platform=darwin':
- header_name = 'OpenGL/gl.h'
+ if "platform=darwin":
+ header_name = "OpenGL/gl.h"
else:
- header_name = 'GL/gl.h'
- return find_headers(header_name,
- root=self.prefix,
- recursive=True)
+ header_name = "GL/gl.h"
+ return find_headers(header_name, root=self.prefix, recursive=True)
@property
def gl_libs(self):
spec = self.spec
- if 'platform=windows' in spec:
- lib_name = 'opengl32'
- elif 'platform=darwin' in spec:
- lib_name = 'libOpenGL'
+ if "platform=windows" in spec:
+ lib_name = "opengl32"
+ elif "platform=darwin" in spec:
+ lib_name = "libOpenGL"
else: # linux and cray
- lib_name = 'libGL'
- return find_libraries(lib_name,
- root=self.prefix,
- recursive=True)
+ lib_name = "libGL"
+ return find_libraries(lib_name, root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/openglu/package.py b/var/spack/repos/builtin/packages/openglu/package.py
index e380175708..797932f060 100644
--- a/var/spack/repos/builtin/packages/openglu/package.py
+++ b/var/spack/repos/builtin/packages/openglu/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Openglu(Package):
"""Placeholder for external OpenGL utility library (GLU) from hardware
- vendors"""
+ vendors"""
homepage = "https://www.opengl.org/resources/libraries"
- provides('glu@:1.3', when='@1.3:')
- provides('glu@:1.2', when='@1.2:')
- provides('glu@:1.1', when='@1.1:')
- provides('glu@:1.0', when='@1.0:')
+ provides("glu@:1.3", when="@1.3:")
+ provides("glu@:1.2", when="@1.2:")
+ provides("glu@:1.1", when="@1.1:")
+ provides("glu@:1.0", when="@1.0:")
# Override the fetcher method to throw a useful error message;
# fixes an issue similar to Github issue (#7061), in which the
@@ -65,5 +65,4 @@ class Openglu(Package):
@property
def libs(self):
- return find_libraries(
- 'libGLU', self.prefix, shared=True, recursive=True)
+ return find_libraries("libGLU", self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/openimageio/package.py b/var/spack/repos/builtin/packages/openimageio/package.py
index 8057232072..d8810da410 100644
--- a/var/spack/repos/builtin/packages/openimageio/package.py
+++ b/var/spack/repos/builtin/packages/openimageio/package.py
@@ -9,49 +9,46 @@ from spack.pkg.builtin.boost import Boost
class Openimageio(CMakePackage):
"""OpenImageIO is a library for reading and writing images, and a bunch of
- related classes, utilities, and applications."""
+ related classes, utilities, and applications."""
homepage = "https://www.openimageio.org"
- url = "https://github.com/OpenImageIO/oiio/archive/Release-1.8.15.tar.gz"
+ url = "https://github.com/OpenImageIO/oiio/archive/Release-1.8.15.tar.gz"
- version('2.2.7.0', sha256='857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c')
- version('1.8.15', sha256='4d5b4ed3f2daaed69989f53c0f9364dd87c82dc0a09807b5b6e9008e2426e86f')
+ version("2.2.7.0", sha256="857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c")
+ version("1.8.15", sha256="4d5b4ed3f2daaed69989f53c0f9364dd87c82dc0a09807b5b6e9008e2426e86f")
# Core dependencies
- depends_on('cmake@3.2.2:', type='build')
- depends_on('boost@1.53:', type=('build', 'link'))
+ depends_on("cmake@3.2.2:", type="build")
+ depends_on("boost@1.53:", type=("build", "link"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type=('build', 'link'))
- depends_on('libtiff@4.0:', type=('build', 'link'))
- depends_on('openexr@2.3:', type=('build', 'link'))
- depends_on('libpng@1.6:', type=('build', 'link'))
+ depends_on(Boost.with_default_variants, type=("build", "link"))
+ depends_on("libtiff@4.0:", type=("build", "link"))
+ depends_on("openexr@2.3:", type=("build", "link"))
+ depends_on("libpng@1.6:", type=("build", "link"))
# Optional dependencies
- variant('ffmpeg', default=False, description="Support video frames")
- depends_on('ffmpeg', when='+ffmpeg')
+ variant("ffmpeg", default=False, description="Support video frames")
+ depends_on("ffmpeg", when="+ffmpeg")
- variant('jpeg2k', default=False, description="Support for JPEG2000 format")
- depends_on('openjpeg', when='+jpeg2k')
+ variant("jpeg2k", default=False, description="Support for JPEG2000 format")
+ depends_on("openjpeg", when="+jpeg2k")
- variant('python', default=False, description="Build python bindings")
- extends('python', when='+python')
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-pybind11', when='+python', type=('build', 'run'))
+ variant("python", default=False, description="Build python bindings")
+ extends("python", when="+python")
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-pybind11", when="+python", type=("build", "run"))
- variant('qt', default=False, description="Build qt viewer")
- depends_on('qt@5.6.0:+opengl', when='+qt')
+ variant("qt", default=False, description="Build qt viewer")
+ depends_on("qt@5.6.0:+opengl", when="+qt")
- conflicts('target=aarch64:', when='@:1.8.15')
+ conflicts("target=aarch64:", when="@:1.8.15")
def cmake_args(self):
- args = ["-DUSE_FFMPEG={0}".format(
- 'ON' if '+ffmpeg' in self.spec else 'OFF')]
- args += ["-DUSE_OPENJPEG={0}".format(
- 'ON' if '+jpeg2k' in self.spec else 'OFF')]
- args += ["-DUSE_PYTHON={0}".format(
- 'ON' if '+python' in self.spec else 'OFF')]
- args += ["-DUSE_QT={0}".format('ON' if '+qt' in self.spec else 'OFF')]
+ args = ["-DUSE_FFMPEG={0}".format("ON" if "+ffmpeg" in self.spec else "OFF")]
+ args += ["-DUSE_OPENJPEG={0}".format("ON" if "+jpeg2k" in self.spec else "OFF")]
+ args += ["-DUSE_PYTHON={0}".format("ON" if "+python" in self.spec else "OFF")]
+ args += ["-DUSE_QT={0}".format("ON" if "+qt" in self.spec else "OFF")]
return args
diff --git a/var/spack/repos/builtin/packages/openipmi/package.py b/var/spack/repos/builtin/packages/openipmi/package.py
index 2a10faa587..e9cdedcb28 100644
--- a/var/spack/repos/builtin/packages/openipmi/package.py
+++ b/var/spack/repos/builtin/packages/openipmi/package.py
@@ -12,24 +12,24 @@ class Openipmi(AutotoolsPackage):
Platform Management Interface (IPMI)."""
homepage = "https://sourceforge.net/projects/openipmi/"
- url = "https://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/OpenIPMI-2.0.29.tar.gz"
+ url = "https://sourceforge.net/projects/openipmi/files/OpenIPMI%202.0%20Library/OpenIPMI-2.0.29.tar.gz"
- version('2.0.29', sha256='2244124579afb14e569f34393e9ac61e658a28b6ffa8e5c0d2c1c12a8ce695cd')
- version('2.0.28', sha256='8e8b1de2a9a041b419133ecb21f956e999841cf2e759e973eeba9a36f8b40996')
- version('2.0.27', sha256='f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b')
+ version("2.0.29", sha256="2244124579afb14e569f34393e9ac61e658a28b6ffa8e5c0d2c1c12a8ce695cd")
+ version("2.0.28", sha256="8e8b1de2a9a041b419133ecb21f956e999841cf2e759e973eeba9a36f8b40996")
+ version("2.0.27", sha256="f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b")
- depends_on('popt', type='link')
- depends_on('python', type=('build', 'link', 'run'))
- depends_on('perl', type=('build', 'link', 'run'))
- depends_on('termcap', type='link')
- depends_on('ncurses', type='link')
- depends_on('readline', type='link')
+ depends_on("popt", type="link")
+ depends_on("python", type=("build", "link", "run"))
+ depends_on("perl", type=("build", "link", "run"))
+ depends_on("termcap", type="link")
+ depends_on("ncurses", type="link")
+ depends_on("readline", type="link")
- patch('readline.patch', when='@2.0.27')
+ patch("readline.patch", when="@2.0.27")
def configure_args(self):
- args = ['LIBS=' + self.spec['ncurses'].libs.link_flags]
+ args = ["LIBS=" + self.spec["ncurses"].libs.link_flags]
return args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/openjdk/package.py b/var/spack/repos/builtin/packages/openjdk/package.py
index fa478c2078..f623950025 100644
--- a/var/spack/repos/builtin/packages/openjdk/package.py
+++ b/var/spack/repos/builtin/packages/openjdk/package.py
@@ -18,74 +18,208 @@ from spack.util.prefix import Prefix
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
- '17.0.3_7': {
- 'Linux-x86_64': ('81f5bed21077f9fbb04909b50391620c78b9a3c376593c0992934719c0de6b73', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.3_7.tar.gz'),
- 'Linux-aarch64': ('2e3c19c1707205c6b90cc04b416e8d83078ed98417d5a69dce3cf7dc0d7cfbca', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz'),
- 'Linux-ppc64le': ('a04587018c9719dca21073f19d56b335c4985f41afe7d99b24852c1a94b917e5', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.3_7.tar.gz'),
- 'Darwin-x86_64': ('a5db5927760d2864316354d98ff18d18bec2e72bfac59cd25a416ed67fa84594', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_x64_mac_hotspot_17.0.3_7.tar.gz'),
- 'Darwin-arm64': ('ff42be4d7a348d0d7aee07749e4daec9f427dcc7eb46b343f8131e8f3906c05b', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.3_7.tar.gz'),
- },
- '17.0.2_8': {
- 'Linux-x86_64': ('288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz'),
- 'Linux-aarch64': ('302caf29f73481b2b914ba2b89705036010c65eb9bc8d7712b27d6e9bedf6200', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.2_8.tar.gz'),
- 'Linux-ppc64le': ('532d831d6a977e821b7331ecf9ed995e5bbfe76f18a1b00ffa8dbb3a4e2887de', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.2_8.tar.gz'),
- 'Darwin-x86_64': ('3630e21a571b7180876bf08f85d0aac0bdbb3267b2ae9bd242f4933b21f9be32', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_mac_hotspot_17.0.2_8.tar.gz'),
- 'Darwin-arm64': ('157518e999d712b541b883c6c167f8faabbef1d590da9fe7233541b4adb21ea4', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.2_8.tar.gz')
- },
- '17.0.0_35': {
- 'Linux-x86_64': ('6f1335d9a7855159f982dac557420397be9aa85f3f7bc84e111d25871c02c0c7', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_x64_linux_hotspot_17_35.tar.gz'),
- 'Linux-aarch64': ('e08e6d8c84da28a2c49ccd511f8835c329fbdd8e4faff662c58fa24cca74021d', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_aarch64_linux_hotspot_17_35.tar.gz'),
- 'Linux-ppc64le': ('2e58f76fd332b73f323e47c73d0a81b76739debab067e7a32ed6abd73fd64c57', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_ppc64le_linux_hotspot_17_35.tar.gz'),
- 'Darwin-x86_64': ('e9de8b1b62780fe99270a5b30f0645d7a91eded60438bcf836a05fa7b93c182f', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_x64_mac_hotspot_17_35.tar.gz'),
- 'Darwin-arm64': ('910bb88543211c63298e5b49f7144ac4463f1d903926e94a89bfbf10163bbba1', 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_aarch64_mac_hotspot_17_35.tar.gz')
- },
- '16.0.2': {
- 'Linux-x86_64': ('6c714ded7d881ca54970ec949e283f43d673a142fda1de79b646ddd619da9c0c', 'https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz'),
- 'Linux-aarch64': ('1ffb9c7748334945d9056b3324de3f797d906fce4dad86beea955153aa1e28fe', 'https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-aarch64_bin.tar.gz'),
- },
- '11.0.15_10': {
- 'Linux-x86_64': ('5fdb4d5a1662f0cca73fec30f99e67662350b1fa61460fa72e91eb9f66b54d0b', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.15_10.tar.gz'),
- 'Linux-aarch64': ('999fbd90b070f9896142f0eb28354abbeb367cbe49fd86885c626e2999189e0a', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz'),
- 'Linux-ppc64le': ('a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz'),
- 'Darwin-x86_64': ('ebd8b9553a7b4514599bc0566e108915ce7dc95d29d49a9b10b8afe4ab7cc9db', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.15_10.tar.gz'),
- 'Darwin-arm64': ('e84143a6c633a26aeefcb1fd5ad8dfb9e952cfec2a1af5c9d9b69f2390990dac', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.15_10.tar.gz'),
- },
- '11.0.14.1_1': {
- 'Linux-x86_64': ('43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz'),
- 'Linux-aarch64': ('79572f5172c6a040591d34632f98a20ed148702bbce2f57649e8ac01c0d2e3db', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.14.1_1.tar.gz'),
- 'Linux-ppc64le': ('9750e11721282a9afd18a07743f19c699b2b71ce20d02f3f0a906088b9ae6d9a', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.14.1_1.tar.gz'),
- 'Darwin-x86_64': ('8c69808f5d9d209b195575e979de0e43cdf5d0f1acec1853a569601fe2c1f743', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.14.1_1.tar.gz')
- },
- '11.0.12_7': {
- 'Linux-x86_64': ('8770f600fc3b89bf331213c7aa21f8eedd9ca5d96036d1cd48cb2748a3dbefd2', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz'),
- 'Linux-aarch64': ('105bdc12fcd54c551e8e8ac96bc82412467244c32063689c41cee29ceb7452a2', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.12_7.tar.gz'),
- 'Linux-ppc64le': ('234a9bafe029ea6cab5d46f9617b5d016a29faa187a42081d0e066f23647b7e5', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.12_7.tar.gz'),
- 'Darwin-x86_64': ('13d056ee9a57bf2d5b3af4504c8f8cf7a246c4dff78f96b70dd05dad98075855', 'https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.12_7.tar.gz')
- },
- '11.0.9.1_1': {
- 'Linux-ppc64le': ('d94b6b46a14ab0974b1c1b89661741126d8cf8a0068b471b8f5fa286a71636b1', 'https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.9.1%2B1/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.9.1_1.tar.gz')},
- '11.0.8_10': {
- 'Linux-x86_64': ('6e4cead158037cb7747ca47416474d4f408c9126be5b96f9befd532e0a762b47', 'https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.8%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz')},
- '11.0.0-2020-01-01': {
- 'Linux-aarch64': ('05c7d9c90edacd853850fbb0f52f8aa482809d0452c599cb9fe0b28b3b4bf329', 'https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk11u-2020-01-01-06-13/OpenJDK11U-jdk_aarch64_linux_hotspot_2020-01-01-06-13.tar.gz')},
- '11.0.2': {
- 'Linux-x86_64': ('99be79935354f5c0df1ad293620ea36d13f48ec3ea870c838f20c504c9668b57', 'https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz'),
- 'Darwin-x86_64': ('f365750d4be6111be8a62feda24e265d97536712bc51783162982b8ad96a70ee', 'https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_osx-x64_bin.tar.gz')
- },
- '11.0.1': {
- 'Linux-x86_64': ('7a6bb980b9c91c478421f865087ad2d69086a0583aeeb9e69204785e8e97dcfd', 'https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz'),
- 'Darwin-x86_64': ('fa07eee08fa0f3de541ee1770de0cdca2ae3876f3bd78c329f27e85c287cd070', 'https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_osx-x64_bin.tar.gz')
- },
- '1.8.0_265-b01': {
- 'Linux-x86_64': ('1285da6278f2d38a790a21148d7e683f20de0799c44b937043830ef6b57f58c4', 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz')},
- '1.8.0_191-b12': {
- 'Linux-aarch64': ('8eee0aede947b804f9a5f49c8a38b52aace8a30a9ebd9383b7d06042fb5a237c', 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz')},
- '1.8.0_222-b10': {
- 'Linux-x86_64': ('20cff719c6de43f8bb58c7f59e251da7c1fa2207897c9a4768c8c669716dc819', 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz')},
- '1.8.0_202-b08': {
- 'Linux-x86_64': ('533dcd8d9ca15df231a1eb392fa713a66bca85a8e76d9b4ee30975f3823636b7', 'https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jdk_x64_linux_openj9_8u202b08_openj9-0.12.0.tar.gz')},
- '1.8.0_40-b25': {
- 'Linux-x86_64': ('79e96dce03a14271040023231a7d0ae374b755d48adf68bbdaec30294e4e2b88', 'https://download.java.net/openjdk/jdk8u40/ri/jdk_ri-8u40-b25-linux-x64-10_feb_2015.tar.gz')},
+ "17.0.3_7": {
+ "Linux-x86_64": (
+ "81f5bed21077f9fbb04909b50391620c78b9a3c376593c0992934719c0de6b73",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.3_7.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "2e3c19c1707205c6b90cc04b416e8d83078ed98417d5a69dce3cf7dc0d7cfbca",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "a04587018c9719dca21073f19d56b335c4985f41afe7d99b24852c1a94b917e5",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.3_7.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "a5db5927760d2864316354d98ff18d18bec2e72bfac59cd25a416ed67fa84594",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_x64_mac_hotspot_17.0.3_7.tar.gz",
+ ),
+ "Darwin-arm64": (
+ "ff42be4d7a348d0d7aee07749e4daec9f427dcc7eb46b343f8131e8f3906c05b",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.3%2B7/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.3_7.tar.gz",
+ ),
+ },
+ "17.0.2_8": {
+ "Linux-x86_64": (
+ "288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "302caf29f73481b2b914ba2b89705036010c65eb9bc8d7712b27d6e9bedf6200",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.2_8.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "532d831d6a977e821b7331ecf9ed995e5bbfe76f18a1b00ffa8dbb3a4e2887de",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.2_8.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "3630e21a571b7180876bf08f85d0aac0bdbb3267b2ae9bd242f4933b21f9be32",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_mac_hotspot_17.0.2_8.tar.gz",
+ ),
+ "Darwin-arm64": (
+ "157518e999d712b541b883c6c167f8faabbef1d590da9fe7233541b4adb21ea4",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.2_8.tar.gz",
+ ),
+ },
+ "17.0.0_35": {
+ "Linux-x86_64": (
+ "6f1335d9a7855159f982dac557420397be9aa85f3f7bc84e111d25871c02c0c7",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_x64_linux_hotspot_17_35.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "e08e6d8c84da28a2c49ccd511f8835c329fbdd8e4faff662c58fa24cca74021d",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_aarch64_linux_hotspot_17_35.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "2e58f76fd332b73f323e47c73d0a81b76739debab067e7a32ed6abd73fd64c57",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_ppc64le_linux_hotspot_17_35.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "e9de8b1b62780fe99270a5b30f0645d7a91eded60438bcf836a05fa7b93c182f",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_x64_mac_hotspot_17_35.tar.gz",
+ ),
+ "Darwin-arm64": (
+ "910bb88543211c63298e5b49f7144ac4463f1d903926e94a89bfbf10163bbba1",
+ "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_aarch64_mac_hotspot_17_35.tar.gz",
+ ),
+ },
+ "16.0.2": {
+ "Linux-x86_64": (
+ "6c714ded7d881ca54970ec949e283f43d673a142fda1de79b646ddd619da9c0c",
+ "https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "1ffb9c7748334945d9056b3324de3f797d906fce4dad86beea955153aa1e28fe",
+ "https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-aarch64_bin.tar.gz",
+ ),
+ },
+ "11.0.15_10": {
+ "Linux-x86_64": (
+ "5fdb4d5a1662f0cca73fec30f99e67662350b1fa61460fa72e91eb9f66b54d0b",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.15_10.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "999fbd90b070f9896142f0eb28354abbeb367cbe49fd86885c626e2999189e0a",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "a8fba686f6eb8ae1d1a9566821dbd5a85a1108b96ad857fdbac5c1e4649fc56f",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "ebd8b9553a7b4514599bc0566e108915ce7dc95d29d49a9b10b8afe4ab7cc9db",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.15_10.tar.gz",
+ ),
+ "Darwin-arm64": (
+ "e84143a6c633a26aeefcb1fd5ad8dfb9e952cfec2a1af5c9d9b69f2390990dac",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.15%2B10/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.15_10.tar.gz",
+ ),
+ },
+ "11.0.14.1_1": {
+ "Linux-x86_64": (
+ "43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "79572f5172c6a040591d34632f98a20ed148702bbce2f57649e8ac01c0d2e3db",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.14.1_1.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "9750e11721282a9afd18a07743f19c699b2b71ce20d02f3f0a906088b9ae6d9a",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.14.1_1.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "8c69808f5d9d209b195575e979de0e43cdf5d0f1acec1853a569601fe2c1f743",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.14.1_1.tar.gz",
+ ),
+ },
+ "11.0.12_7": {
+ "Linux-x86_64": (
+ "8770f600fc3b89bf331213c7aa21f8eedd9ca5d96036d1cd48cb2748a3dbefd2",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz",
+ ),
+ "Linux-aarch64": (
+ "105bdc12fcd54c551e8e8ac96bc82412467244c32063689c41cee29ceb7452a2",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.12_7.tar.gz",
+ ),
+ "Linux-ppc64le": (
+ "234a9bafe029ea6cab5d46f9617b5d016a29faa187a42081d0e066f23647b7e5",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.12_7.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "13d056ee9a57bf2d5b3af4504c8f8cf7a246c4dff78f96b70dd05dad98075855",
+ "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.12_7.tar.gz",
+ ),
+ },
+ "11.0.9.1_1": {
+ "Linux-ppc64le": (
+ "d94b6b46a14ab0974b1c1b89661741126d8cf8a0068b471b8f5fa286a71636b1",
+ "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.9.1%2B1/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.9.1_1.tar.gz",
+ )
+ },
+ "11.0.8_10": {
+ "Linux-x86_64": (
+ "6e4cead158037cb7747ca47416474d4f408c9126be5b96f9befd532e0a762b47",
+ "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.8%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.8_10.tar.gz",
+ )
+ },
+ "11.0.0-2020-01-01": {
+ "Linux-aarch64": (
+ "05c7d9c90edacd853850fbb0f52f8aa482809d0452c599cb9fe0b28b3b4bf329",
+ "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk11u-2020-01-01-06-13/OpenJDK11U-jdk_aarch64_linux_hotspot_2020-01-01-06-13.tar.gz",
+ )
+ },
+ "11.0.2": {
+ "Linux-x86_64": (
+ "99be79935354f5c0df1ad293620ea36d13f48ec3ea870c838f20c504c9668b57",
+ "https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "f365750d4be6111be8a62feda24e265d97536712bc51783162982b8ad96a70ee",
+ "https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_osx-x64_bin.tar.gz",
+ ),
+ },
+ "11.0.1": {
+ "Linux-x86_64": (
+ "7a6bb980b9c91c478421f865087ad2d69086a0583aeeb9e69204785e8e97dcfd",
+ "https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz",
+ ),
+ "Darwin-x86_64": (
+ "fa07eee08fa0f3de541ee1770de0cdca2ae3876f3bd78c329f27e85c287cd070",
+ "https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_osx-x64_bin.tar.gz",
+ ),
+ },
+ "1.8.0_265-b01": {
+ "Linux-x86_64": (
+ "1285da6278f2d38a790a21148d7e683f20de0799c44b937043830ef6b57f58c4",
+ "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz",
+ )
+ },
+ "1.8.0_191-b12": {
+ "Linux-aarch64": (
+ "8eee0aede947b804f9a5f49c8a38b52aace8a30a9ebd9383b7d06042fb5a237c",
+ "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz",
+ )
+ },
+ "1.8.0_222-b10": {
+ "Linux-x86_64": (
+ "20cff719c6de43f8bb58c7f59e251da7c1fa2207897c9a4768c8c669716dc819",
+ "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz",
+ )
+ },
+ "1.8.0_202-b08": {
+ "Linux-x86_64": (
+ "533dcd8d9ca15df231a1eb392fa713a66bca85a8e76d9b4ee30975f3823636b7",
+ "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jdk_x64_linux_openj9_8u202b08_openj9-0.12.0.tar.gz",
+ )
+ },
+ "1.8.0_40-b25": {
+ "Linux-x86_64": (
+ "79e96dce03a14271040023231a7d0ae374b755d48adf68bbdaec30294e4e2b88",
+ "https://download.java.net/openjdk/jdk8u40/ri/jdk_ri-8u40-b25-linux-x64-10_feb_2015.tar.gz",
+ )
+ },
}
@@ -106,14 +240,14 @@ class Openjdk(Package):
version(ver, sha256=pkg[0], url=pkg[1], preferred=is_preferred)
- provides('java@17', when='@17.0:17')
- provides('java@16', when='@16.0:16')
- provides('java@11', when='@11.0:11')
- provides('java@10', when='@10.0:10')
- provides('java@9', when='@9.0:9')
- provides('java@8', when='@1.8.0:1.8')
+ provides("java@17", when="@17.0:17")
+ provides("java@16", when="@16.0:16")
+ provides("java@11", when="@11.0:11")
+ provides("java@10", when="@10.0:10")
+ provides("java@9", when="@9.0:9")
+ provides("java@8", when="@1.8.0:1.8")
- conflicts('target=ppc64:', msg='openjdk is not available for ppc64 (big endian)')
+ conflicts("target=ppc64:", msg="openjdk is not available for ppc64 (big endian)")
# FIXME:
# 1. `extends('java')` doesn't work, you need to use `extends('openjdk')`
@@ -123,18 +257,18 @@ class Openjdk(Package):
# can symlink all *.jar files to `prefix.lib.ext`
extendable = True
- executables = ['^java$']
+ executables = ["^java$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('-version', output=str, error=str)
+ output = Executable(exe)("-version", output=str, error=str)
# Make sure this is actually OpenJDK, not Oracle JDK
- if 'openjdk' not in output:
+ if "openjdk" not in output:
return None
- match = re.search(r'\(build (\S+)\)', output)
- return match.group(1).replace('+', '_') if match else None
+ match = re.search(r"\(build (\S+)\)", output)
+ return match.group(1).replace("+", "_") if match else None
@property
def home(self):
@@ -154,7 +288,7 @@ class Openjdk(Package):
if os.path.exists(java_home):
java_home = Executable(java_home)
version = str(self.version.up_to(2))
- prefix = java_home('--version', version, output=str).strip()
+ prefix = java_home("--version", version, output=str).strip()
prefix = Prefix(prefix)
return prefix
@@ -169,16 +303,16 @@ class Openjdk(Package):
Search recursively to find the correct library location."""
- return find_libraries(['libjvm'], root=self.home, recursive=True)
+ return find_libraries(["libjvm"], root=self.home, recursive=True)
def install(self, spec, prefix):
- top_dir = 'Contents/Home/' if platform.system() == "Darwin" else '.'
+ top_dir = "Contents/Home/" if platform.system() == "Darwin" else "."
install_tree(top_dir, prefix)
def setup_run_environment(self, env):
"""Set JAVA_HOME."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set JAVA_HOME and CLASSPATH.
@@ -186,15 +320,15 @@ class Openjdk(Package):
CLASSPATH contains the installation prefix for the extension and any
other Java extensions it depends on."""
- env.set('JAVA_HOME', self.home)
+ env.set("JAVA_HOME", self.home)
class_paths = []
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test")):
if d.package.extends(self.spec):
- class_paths.extend(find(d.prefix, '*.jar'))
+ class_paths.extend(find(d.prefix, "*.jar"))
classpath = os.pathsep.join(class_paths)
- env.set('CLASSPATH', classpath)
+ env.set("CLASSPATH", classpath)
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set CLASSPATH.
@@ -204,6 +338,6 @@ class Openjdk(Package):
# For runtime environment set only the path for
# dependent_spec and prepend it to CLASSPATH
if dependent_spec.package.extends(self.spec):
- class_paths = find(dependent_spec.prefix, '*.jar')
+ class_paths = find(dependent_spec.prefix, "*.jar")
classpath = os.pathsep.join(class_paths)
- env.prepend_path('CLASSPATH', classpath)
+ env.prepend_path("CLASSPATH", classpath)
diff --git a/var/spack/repos/builtin/packages/openjpeg/package.py b/var/spack/repos/builtin/packages/openjpeg/package.py
index 106ef1c7af..0ddc1a6c14 100644
--- a/var/spack/repos/builtin/packages/openjpeg/package.py
+++ b/var/spack/repos/builtin/packages/openjpeg/package.py
@@ -16,35 +16,35 @@ class Openjpeg(CMakePackage):
ITU-T as a JPEG 2000 Reference Software.
"""
- homepage = 'https://github.com/uclouvain/openjpeg'
- url = 'https://github.com/uclouvain/openjpeg/archive/v2.3.1.tar.gz'
+ homepage = "https://github.com/uclouvain/openjpeg"
+ url = "https://github.com/uclouvain/openjpeg/archive/v2.3.1.tar.gz"
- version('2.4.0', sha256='8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d')
- version('2.3.1', sha256='63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9')
- version('2.3.0', sha256='3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a')
- version('2.2.0', sha256='6fddbce5a618e910e03ad00d66e7fcd09cc6ee307ce69932666d54c73b7c6e7b')
- version('2.1.2', sha256='4ce77b6ef538ef090d9bde1d5eeff8b3069ab56c4906f083475517c2c023dfa7')
- version('2.1.1', sha256='82c27f47fc7219e2ed5537ac69545bf15ed8c6ba8e6e1e529f89f7356506dbaa')
- version('2.1.0', sha256='4afc996cd5e0d16360d71c58216950bcb4ce29a3272360eb29cadb1c8bce4efc')
- version('2.0.1', sha256='f184d402a218359184fd162075bb5246a68165b9776678185b6a379c49093816')
- version('2.0.0', sha256='5480f801a9f88af1a456145e41f3adede1dfae425bbac66a19c7eeeba94a1249')
- version('1.5.2', sha256='3734e95edd0bef6e056815591755efd822228dc3cd866894e00a2c929026b16d')
- version('1.5.1', sha256='6a42fcc23cb179f69a1e94429089e5a5926aee1ffe582a0a6bd91299d297e61a')
+ version("2.4.0", sha256="8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d")
+ version("2.3.1", sha256="63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9")
+ version("2.3.0", sha256="3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a")
+ version("2.2.0", sha256="6fddbce5a618e910e03ad00d66e7fcd09cc6ee307ce69932666d54c73b7c6e7b")
+ version("2.1.2", sha256="4ce77b6ef538ef090d9bde1d5eeff8b3069ab56c4906f083475517c2c023dfa7")
+ version("2.1.1", sha256="82c27f47fc7219e2ed5537ac69545bf15ed8c6ba8e6e1e529f89f7356506dbaa")
+ version("2.1.0", sha256="4afc996cd5e0d16360d71c58216950bcb4ce29a3272360eb29cadb1c8bce4efc")
+ version("2.0.1", sha256="f184d402a218359184fd162075bb5246a68165b9776678185b6a379c49093816")
+ version("2.0.0", sha256="5480f801a9f88af1a456145e41f3adede1dfae425bbac66a19c7eeeba94a1249")
+ version("1.5.2", sha256="3734e95edd0bef6e056815591755efd822228dc3cd866894e00a2c929026b16d")
+ version("1.5.1", sha256="6a42fcc23cb179f69a1e94429089e5a5926aee1ffe582a0a6bd91299d297e61a")
- variant('codec', default=False, description='Build the CODEC executables')
+ variant("codec", default=False, description="Build the CODEC executables")
- depends_on('zlib', when='+codec')
- depends_on('libpng', when='+codec')
- depends_on('libtiff', when='+codec')
- depends_on('lcms', when='+codec')
+ depends_on("zlib", when="+codec")
+ depends_on("libpng", when="+codec")
+ depends_on("libtiff", when="+codec")
+ depends_on("lcms", when="+codec")
# The problem with install name of the library on MacOs was fixed starting
# version 2.1.1: https://github.com/uclouvain/openjpeg/commit/b9a247b559e62e55f5561624cf4a19aee3c8afdc
# The solution works for the older versions (at least starting 1.5.1) too.
- patch('macos.patch', when='@:2.1.0 platform=darwin')
+ patch("macos.patch", when="@:2.1.0 platform=darwin")
def url_for_version(self, version):
- if version >= Version('2.1.1'):
+ if version >= Version("2.1.1"):
return super(Openjpeg, self).url_for_version(version)
# Before version 2.2.0, release tarballs of the versions like x.y.0
@@ -52,27 +52,27 @@ class Openjpeg(CMakePackage):
if version[2] == 0:
version = version.up_to(2)
- url_fmt = \
- 'https://github.com/uclouvain/openjpeg/archive/version.{0}.tar.gz'
+ url_fmt = "https://github.com/uclouvain/openjpeg/archive/version.{0}.tar.gz"
return url_fmt.format(version)
@property
def libs(self):
- return find_libraries('libopenjp{0}'.format(self.version.up_to(1)),
- root=self.prefix, recursive=True)
+ return find_libraries(
+ "libopenjp{0}".format(self.version.up_to(1)), root=self.prefix, recursive=True
+ )
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_CODEC', 'codec'),
+ self.define_from_variant("BUILD_CODEC", "codec"),
# MJ2 executables are disabled by default and we just make it
# explicit. Note that the executables require additional libraries
# as in the case '+codec', therefore, we will need to update the
# 'depends_on' directives when/if we introduce a variant that
# enables them.
- self.define('BUILD_MJ2', False),
+ self.define("BUILD_MJ2", False),
# Note that if the list of dependencies is incomplete, there is
# still a chance that the bundled third-party libraries get built.
- self.define('BUILD_THIRDPARTY', False)
+ self.define("BUILD_THIRDPARTY", False),
]
return args
diff --git a/var/spack/repos/builtin/packages/openkim-models/package.py b/var/spack/repos/builtin/packages/openkim-models/package.py
index a28a488fe6..790173991b 100644
--- a/var/spack/repos/builtin/packages/openkim-models/package.py
+++ b/var/spack/repos/builtin/packages/openkim-models/package.py
@@ -8,48 +8,59 @@ from spack.package import *
class OpenkimModels(CMakePackage):
"""OpenKIM is an online framework for making molecular simulations
- reliable, reproducible, and portable. Computer implementations of
- inter-atomic models are archived in OpenKIM, verified for coding
- integrity, and tested by computing their predictions for a variety
- of material properties. Models conforming to the KIM application
- programming interface (API) work seamlessly with major simulation
- codes that have adopted the KIM API standard.
-
- This package provides all models archived at openkim.org that are
- compatible with the kim-api package.
+ reliable, reproducible, and portable. Computer implementations of
+ inter-atomic models are archived in OpenKIM, verified for coding
+ integrity, and tested by computing their predictions for a variety
+ of material properties. Models conforming to the KIM application
+ programming interface (API) work seamlessly with major simulation
+ codes that have adopted the KIM API standard.
+
+ This package provides all models archived at openkim.org that are
+ compatible with the kim-api package.
"""
+
homepage = "https://openkim.org/"
- url = "https://s3.openkim.org/archives/collection/openkim-models-2021-01-28.txz"
+ url = "https://s3.openkim.org/archives/collection/openkim-models-2021-01-28.txz"
- maintainers = ['ellio167']
+ maintainers = ["ellio167"]
- extends('kim-api')
- depends_on('kim-api@2.2.1:', when='@2021-01-28:')
- depends_on('kim-api@2.1.0:', when='@2019-07-25:')
- depends_on('kim-api@:2.0.2', when='@:2019-03-29')
+ extends("kim-api")
+ depends_on("kim-api@2.2.1:", when="@2021-01-28:")
+ depends_on("kim-api@2.1.0:", when="@2019-07-25:")
+ depends_on("kim-api@:2.0.2", when="@:2019-03-29")
version(
- '2021-01-28',
- sha256='8824adee02ae4583bd378cc81140fbb49515c5965708ee98d856d122d48dd95f')
+ "2021-01-28", sha256="8824adee02ae4583bd378cc81140fbb49515c5965708ee98d856d122d48dd95f"
+ )
version(
- '2019-07-25',
- sha256='50338084ece92ec0fb13b0bbdf357b5d7450e26068ba501f23c315f814befc26')
+ "2019-07-25", sha256="50338084ece92ec0fb13b0bbdf357b5d7450e26068ba501f23c315f814befc26"
+ )
version(
- '2019-03-29',
- sha256='053dda2023fe4bb6d7c1d66530c758c4e633bbf1f1be17b6b075b276fe8874f6')
+ "2019-03-29", sha256="053dda2023fe4bb6d7c1d66530c758c4e633bbf1f1be17b6b075b276fe8874f6"
+ )
def cmake_args(self):
args = []
- args.append(('-DKIM_API_MODEL_DRIVER_INSTALL_PREFIX={0}'
- + '/lib/kim-api/model-drivers').format(prefix))
+ args.append(
+ ("-DKIM_API_MODEL_DRIVER_INSTALL_PREFIX={0}" + "/lib/kim-api/model-drivers").format(
+ prefix
+ )
+ )
- if self.spec.satisfies('@2019-07-25:'):
- args.append(('-DKIM_API_PORTABLE_MODEL_INSTALL_PREFIX={0}'
- + '/lib/kim-api/portable-models').format(prefix))
+ if self.spec.satisfies("@2019-07-25:"):
+ args.append(
+ (
+ "-DKIM_API_PORTABLE_MODEL_INSTALL_PREFIX={0}" + "/lib/kim-api/portable-models"
+ ).format(prefix)
+ )
else:
- args.append(('-DKIM_API_MODEL_INSTALL_PREFIX={0}'
- + '/lib/kim-api/models').format(prefix))
+ args.append(
+ ("-DKIM_API_MODEL_INSTALL_PREFIX={0}" + "/lib/kim-api/models").format(prefix)
+ )
- args.append(('-DKIM_API_SIMULATOR_MODEL_INSTALL_PREFIX={0}'
- + '/lib/kim-api/simulator-models').format(prefix))
+ args.append(
+ (
+ "-DKIM_API_SIMULATOR_MODEL_INSTALL_PREFIX={0}" + "/lib/kim-api/simulator-models"
+ ).format(prefix)
+ )
return args
diff --git a/var/spack/repos/builtin/packages/openldap/package.py b/var/spack/repos/builtin/packages/openldap/package.py
index 6e73a7ae89..bdbc295f23 100644
--- a/var/spack/repos/builtin/packages/openldap/package.py
+++ b/var/spack/repos/builtin/packages/openldap/package.py
@@ -17,90 +17,96 @@ class Openldap(AutotoolsPackage):
"""
homepage = "https://www.openldap.org/"
- url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.0.tgz"
+ url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.0.tgz"
- version('2.6.0', sha256='b71c580eac573e9aba15d95f33dd4dd08f2ed4f0d7fc09e08ad4be7ed1e41a4f')
- version('2.4.49', sha256='e3b117944b4180f23befe87d0dcf47f29de775befbc469dcf4ac3dab3311e56e')
- version('2.4.48', sha256='d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d')
+ version("2.6.0", sha256="b71c580eac573e9aba15d95f33dd4dd08f2ed4f0d7fc09e08ad4be7ed1e41a4f")
+ version("2.4.49", sha256="e3b117944b4180f23befe87d0dcf47f29de775befbc469dcf4ac3dab3311e56e")
+ version("2.4.48", sha256="d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d")
- variant('client_only', default=True, description='Client only installation')
- variant('icu', default=False, description='Build with unicode support')
+ variant("client_only", default=True, description="Client only installation")
+ variant("icu", default=False, description="Build with unicode support")
# Below, tls=none is not an option from programming point of view
# If +client_only, configure arguments for tls won't be enabled
- variant('tls', default='gnutls', description='Build with TLS support',
- values=('gnutls', 'openssl'), multi=False)
-
- variant('perl', default=False, description='Perl backend to Slapd')
- variant('sasl', default=True, description='Build with Cyrus SASL support')
- variant('static', default=False, description='Build static libraries')
- variant('shared', default=True, description='Build shared libraries')
- variant('dynamic', default=True, description='Enable linking built binaries with dynamic libs')
- variant('wt', default=False, description='Enable WiredTiger backend', when='@2.5.0:')
- conflicts('~static', when='~shared')
-
- depends_on('icu4c', when='+icu')
- depends_on('gnutls', when='~client_only tls=gnutls')
- depends_on('openssl', when='~client_only tls=openssl')
- depends_on('openssl@1.1.1:', when='~client_only tls=openssl @2.6.0:')
- depends_on('unixodbc', when='~client_only')
- depends_on('postgresql', when='~client_only')
- depends_on('berkeley-db', when='~client_only') # for slapd
+ variant(
+ "tls",
+ default="gnutls",
+ description="Build with TLS support",
+ values=("gnutls", "openssl"),
+ multi=False,
+ )
+
+ variant("perl", default=False, description="Perl backend to Slapd")
+ variant("sasl", default=True, description="Build with Cyrus SASL support")
+ variant("static", default=False, description="Build static libraries")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("dynamic", default=True, description="Enable linking built binaries with dynamic libs")
+ variant("wt", default=False, description="Enable WiredTiger backend", when="@2.5.0:")
+ conflicts("~static", when="~shared")
+
+ depends_on("icu4c", when="+icu")
+ depends_on("gnutls", when="~client_only tls=gnutls")
+ depends_on("openssl", when="~client_only tls=openssl")
+ depends_on("openssl@1.1.1:", when="~client_only tls=openssl @2.6.0:")
+ depends_on("unixodbc", when="~client_only")
+ depends_on("postgresql", when="~client_only")
+ depends_on("berkeley-db", when="~client_only") # for slapd
# Recommended dependencies by Linux From Scratch
- depends_on('cyrus-sasl', when='+sasl')
+ depends_on("cyrus-sasl", when="+sasl")
# depends_on('openslp', when='~client_only') # not avail. in spack yet
# depends_on('Pth', when='~client_only') # not avail. in spack yet
- depends_on('perl', when='~client_only+perl') # for slapd
- depends_on('groff', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('wiredtiger', when='@2.6.0:')
+ depends_on("perl", when="~client_only+perl") # for slapd
+ depends_on("groff", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("wiredtiger", when="@2.6.0:")
# Ref: https://www.linuxfromscratch.org/blfs/view/svn/server/openldap.html
- @when('+client_only')
+ @when("+client_only")
def configure_args(self):
- args = ['CPPFLAGS=-D_GNU_SOURCE',
- '--disable-debug',
- '--disable-slapd',
- ]
- args += self.with_or_without('cyrus-sasl', variant='sasl')
- args += self.enable_or_disable('static')
- args += self.enable_or_disable('shared')
- args += self.enable_or_disable('dynamic')
+ args = [
+ "CPPFLAGS=-D_GNU_SOURCE",
+ "--disable-debug",
+ "--disable-slapd",
+ ]
+ args += self.with_or_without("cyrus-sasl", variant="sasl")
+ args += self.enable_or_disable("static")
+ args += self.enable_or_disable("shared")
+ args += self.enable_or_disable("dynamic")
return args
- @when('~client_only')
+ @when("~client_only")
def configure_args(self):
# Ref: https://www.openldap.org/lists/openldap-technical/201009/msg00304.html
- args = ['CPPFLAGS=-D_GNU_SOURCE', # fixes a build error, see Ref above
- '--disable-debug',
- '--enable-crypt',
- '--enable-spasswd',
- '--enable-slapd',
- '--enable-modules',
- '--enable-rlookups',
- '--enable-backends=mod',
- '--disable-sql',
- '--enable-overlays=mod',
- ]
-
- if self.spec.satisfies('@:2.5'):
- args.extend(('--disable-ndb', '--disable-shell', '--disable-bdb',
- '--disable-hdb'))
-
- args += self.enable_or_disable('static')
- args += self.enable_or_disable('shared')
- args += self.enable_or_disable('dynamic')
- args += self.with_or_without('cyrus-sasl', variant='sasl')
- args.append('--with-tls=' + self.spec.variants['tls'].value)
- if self.spec.satisfies('@2.6.0: tls=gnutls'):
- args += ['--disable-autoca']
-
- if self.spec.satisfies('@2.5.0:'):
- args += self.enable_or_disable('wt')
-
- args += self.enable_or_disable('perl')
+ args = [
+ "CPPFLAGS=-D_GNU_SOURCE", # fixes a build error, see Ref above
+ "--disable-debug",
+ "--enable-crypt",
+ "--enable-spasswd",
+ "--enable-slapd",
+ "--enable-modules",
+ "--enable-rlookups",
+ "--enable-backends=mod",
+ "--disable-sql",
+ "--enable-overlays=mod",
+ ]
+
+ if self.spec.satisfies("@:2.5"):
+ args.extend(("--disable-ndb", "--disable-shell", "--disable-bdb", "--disable-hdb"))
+
+ args += self.enable_or_disable("static")
+ args += self.enable_or_disable("shared")
+ args += self.enable_or_disable("dynamic")
+ args += self.with_or_without("cyrus-sasl", variant="sasl")
+ args.append("--with-tls=" + self.spec.variants["tls"].value)
+ if self.spec.satisfies("@2.6.0: tls=gnutls"):
+ args += ["--disable-autoca"]
+
+ if self.spec.satisfies("@2.5.0:"):
+ args += self.enable_or_disable("wt")
+
+ args += self.enable_or_disable("perl")
return args
def build(self, spec, prefix):
- make('depend')
+ make("depend")
make()
diff --git a/var/spack/repos/builtin/packages/openlibm/package.py b/var/spack/repos/builtin/packages/openlibm/package.py
index ec95615605..1fbc49273f 100644
--- a/var/spack/repos/builtin/packages/openlibm/package.py
+++ b/var/spack/repos/builtin/packages/openlibm/package.py
@@ -11,24 +11,24 @@ class Openlibm(MakefilePackage):
mathematical library"""
homepage = "https://github.com/JuliaMath/openlibm"
- url = "https://github.com/JuliaMath/openlibm/archive/refs/tags/v0.8.0.tar.gz"
+ url = "https://github.com/JuliaMath/openlibm/archive/refs/tags/v0.8.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('0.8.1', sha256='ba8a282ecd92d0033f5656bb20dfc6ea3fb83f90ba69291ac8f7beba42dcffcf')
- version('0.8.0', sha256='03620768df4ca526a63dd675c6de95a5c9d167ff59555ce57a61c6bf49e400ee')
- version('0.7.5', sha256='be983b9e1e40e696e8bbb7eb8f6376d3ca0ae675ae6d82936540385b0eeec15b')
+ version("0.8.1", sha256="ba8a282ecd92d0033f5656bb20dfc6ea3fb83f90ba69291ac8f7beba42dcffcf")
+ version("0.8.0", sha256="03620768df4ca526a63dd675c6de95a5c9d167ff59555ce57a61c6bf49e400ee")
+ version("0.7.5", sha256="be983b9e1e40e696e8bbb7eb8f6376d3ca0ae675ae6d82936540385b0eeec15b")
def make(self, spec, prefix):
args = [
- 'prefix={0}'.format(prefix),
- 'USE_GCC={0}'.format('1' if self.compiler.name == 'gcc' else '0'),
- 'USE_CLANG={0}'.format('1' if self.compiler.name == 'clang' else '0')
+ "prefix={0}".format(prefix),
+ "USE_GCC={0}".format("1" if self.compiler.name == "gcc" else "0"),
+ "USE_CLANG={0}".format("1" if self.compiler.name == "clang" else "0"),
]
make(*args)
def install(self, spec, prefix):
args = [
- 'prefix={0}'.format(prefix),
+ "prefix={0}".format(prefix),
]
- make('install', *args)
+ make("install", *args)
diff --git a/var/spack/repos/builtin/packages/openloops/get-process-list.py b/var/spack/repos/builtin/packages/openloops/get-process-list.py
index e9a8d8104f..b0641adb45 100644
--- a/var/spack/repos/builtin/packages/openloops/get-process-list.py
+++ b/var/spack/repos/builtin/packages/openloops/get-process-list.py
@@ -13,35 +13,35 @@ class my_html_parser(HTMLParser):
self.processes = []
def handle_starttag(self, tag, attrs):
- if tag == 'tr' and self.state == 2:
+ if tag == "tr" and self.state == 2:
for att in attrs:
- if att[0] == 'id':
+ if att[0] == "id":
return
self.state = 3
- if tag == 'td' and self.state == 3:
+ if tag == "td" and self.state == 3:
self.state = 4
pass
def handle_endtag(self, tag):
- if tag == 'table' and self.state == 1:
+ if tag == "table" and self.state == 1:
self.state = 2
pass
def handle_data(self, data):
# print("Encountered some data :", data)
- if data == 'Categories' and self.state == 0:
+ if data == "Categories" and self.state == 0:
self.state = 1
if self.state == 4:
- if re.findall('[^a-z0-9_]', data):
+ if re.findall("[^a-z0-9_]", data):
return
self.processes.append(data)
self.state = 2
-if __name__ == '__main__':
+if __name__ == "__main__":
url = "https://openloops.hepforge.org/process_library.php?repo=public"
data = urllib.request.urlopen(url).read()
parser = my_html_parser()
- parser.feed(data.decode('UTF8'))
+ parser.feed(data.decode("UTF8"))
print(parser.processes)
diff --git a/var/spack/repos/builtin/packages/openloops/package.py b/var/spack/repos/builtin/packages/openloops/package.py
index e7800536f0..466058eb19 100644
--- a/var/spack/repos/builtin/packages/openloops/package.py
+++ b/var/spack/repos/builtin/packages/openloops/package.py
@@ -10,135 +10,303 @@ from spack.package import *
class Openloops(Package):
"""The OpenLoops 2 program is a fully automated implementation of the
- Open Loops algorithm combined with on-the-fly reduction methods,
- which allows for the fast and stable numerical evaluation of tree
- and one-loop matrix elements for any Standard Model process
- at NLO QCD and NLO EW. """
+ Open Loops algorithm combined with on-the-fly reduction methods,
+ which allows for the fast and stable numerical evaluation of tree
+ and one-loop matrix elements for any Standard Model process
+ at NLO QCD and NLO EW."""
homepage = "https://openloops.hepforge.org/"
url = "https://openloops.hepforge.org/downloads?f=OpenLoops-2.1.1.tar.gz"
- tags = ['hep']
-
- version('2.1.2', sha256='f52575cae3d70b6b51a5d423e9cd0e076ed5961afcc015eec00987e64529a6ae')
- version('2.1.1', sha256='f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91')
-
- all_processes = ['tbln', 'tbln_ew', 'tbqq', 'tbw', 'pptttt', 'pptttt_ew',
- 'pptt', 'pptt_ew', 'ppttbb', 'ppttj', 'ppttj_ew', 'ppttjj',
- 'pptaj', 'pptajj', 'pptllj', 'pptlljj', 'pptln', 'pptw',
- 'pptwj', 'pptzj', 'pptzjj', 'ppthj', 'ppthjj', 'pptj',
- 'pptjj', 'ppjj', 'ppjj_ew', 'ppjjj', 'ppjjj_ew', 'ppjjj_nf5',
- 'ppjjjj', 'pplllvvv_ew', 'ppatt', 'ppatt_ew', 'ppattj',
- 'pplltt', 'pplltt_ew', 'ppllttj', 'ppllttj_ew', 'pplntt',
- 'pplnttj', 'ppwtt', 'ppwtt_ew', 'ppwttj', 'ppwttj_ew',
- 'ppztt', 'ppztt_ew', 'ppzttj', 'ppaatt', 'ppwwtt', 'ppzatt',
- 'ppzztt', 'ppvvvv', 'ppaaaj2', 'ppllaa', 'ppllaaj',
- 'pplllla', 'ppvvv', 'ppvvv2', 'ppvvv_ew', 'ppvvvj',
- 'ppaajj', 'ppaajj2', 'ppaajjj', 'pplla', 'pplla2',
- 'pplla_ew', 'ppllaj', 'ppllaj2', 'ppllaj_ew', 'ppllaj_nf5',
- 'ppllajj', 'ppllll', 'ppllll2', 'ppllll2_nf5',
- 'ppllll2_onlyh', 'ppllll_ew', 'ppllllbb', 'ppllllj',
- 'ppllllj2', 'ppllllj2_nf5', 'ppllllj2_nf5_notridr',
- 'ppllllj2_nf5_sr', 'ppllllj2_onlyh', 'ppllnnjj_ew',
- 'ppllnnjj_vbs', 'pplnaj_ckm', 'pplnajj', 'pplnajj_ckm',
- 'ppvv', 'ppvv2', 'ppvv_ew', 'ppvvj', 'ppvvj2', 'ppvvj_ew',
- 'ppwajj', 'ppwwjj', 'ppzajj', 'ppzwj_ew', 'ppzwjj', 'ppzzjj',
- 'ppajj', 'ppajj2', 'ppajj_ew', 'ppajjj', 'ppllj', 'ppllj2',
- 'ppllj_ew', 'ppllj_nf5', 'pplljj', 'pplljj_ew', 'pplljjj',
- 'pplnj_ckm', 'pplnjj', 'pplnjj_ckm', 'pplnjj_ew', 'pplnjjj',
- 'ppnnjj_ew', 'ppnnjjj', 'ppvj', 'ppvj2', 'ppvj_ew',
- 'ppwj_ckm', 'ppwjj', 'ppwjj_ckm', 'ppwjj_ew', 'ppwjjj',
- 'ppzjj', 'ppzjj_ew', 'ppzjjj', 'pphtt', 'pphtt_ew', 'pphttj',
- 'pphlltt', 'pphll', 'pphll2', 'pphll_ew', 'pphllj',
- 'pphllj2', 'pphllj_ew', 'pphlljj', 'pphlljj_top',
- 'pphlnj_ckm', 'pphlnjj', 'pphv', 'pphv_ew', 'pphwjj',
- 'pphz2', 'pphzj2', 'pphzjj', 'pphhtt', 'pphhv', 'pphhh2',
- 'heftpphh', 'heftpphhj', 'heftpphhjj', 'pphh2', 'pphhj2',
- 'pphhjj2', 'pphhjj_vbf', 'bbhj', 'heftpphj', 'heftpphjj',
- 'heftpphjjj', 'pphbb', 'pphbbj', 'pphj2', 'pphjj2',
- 'pphjj_vbf', 'pphjj_vbf_ew', 'pphjjj2', 'eetttt', 'eettttj',
- 'eellllbb', 'eett', 'eett_ew', 'eettj', 'eettjj', 'eevtt',
- 'eevttj', 'eevttjj', 'eevvtt', 'eevvttj', 'eellll_ew',
- 'eevv_ew', 'eevvjj', 'eell_ew', 'eevjj', 'eehtt', 'eehttj',
- 'eehll_ew', 'eehvtt', 'eehhtt', 'heftppllj', 'heftpplljj',
- 'heftpplljjj']
-
- variant('compile_extra', default=False,
- description='Compile real radiation tree amplitudes')
- variant('processes', description='Processes to install. See https://' +
- 'openloops.hepforge.org/process_' +
- 'library.php?repo=public for details',
- values=disjoint_sets(('all.coll',), ('lhc.coll',), ('lcg.coll',),
- all_processes).with_default('lhc.coll'))
-
- variant('num_jobs', description='Number of parallel jobs to run. ' +
- 'Set to 1 if compiling a large number' +
- 'of processes (e.g. lcg.coll)', default=0)
- depends_on('python', type=("build", "run"))
-
- phases = ['configure', 'build', 'build_processes', 'install']
+ tags = ["hep"]
+
+ version("2.1.2", sha256="f52575cae3d70b6b51a5d423e9cd0e076ed5961afcc015eec00987e64529a6ae")
+ version("2.1.1", sha256="f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91")
+
+ all_processes = [
+ "tbln",
+ "tbln_ew",
+ "tbqq",
+ "tbw",
+ "pptttt",
+ "pptttt_ew",
+ "pptt",
+ "pptt_ew",
+ "ppttbb",
+ "ppttj",
+ "ppttj_ew",
+ "ppttjj",
+ "pptaj",
+ "pptajj",
+ "pptllj",
+ "pptlljj",
+ "pptln",
+ "pptw",
+ "pptwj",
+ "pptzj",
+ "pptzjj",
+ "ppthj",
+ "ppthjj",
+ "pptj",
+ "pptjj",
+ "ppjj",
+ "ppjj_ew",
+ "ppjjj",
+ "ppjjj_ew",
+ "ppjjj_nf5",
+ "ppjjjj",
+ "pplllvvv_ew",
+ "ppatt",
+ "ppatt_ew",
+ "ppattj",
+ "pplltt",
+ "pplltt_ew",
+ "ppllttj",
+ "ppllttj_ew",
+ "pplntt",
+ "pplnttj",
+ "ppwtt",
+ "ppwtt_ew",
+ "ppwttj",
+ "ppwttj_ew",
+ "ppztt",
+ "ppztt_ew",
+ "ppzttj",
+ "ppaatt",
+ "ppwwtt",
+ "ppzatt",
+ "ppzztt",
+ "ppvvvv",
+ "ppaaaj2",
+ "ppllaa",
+ "ppllaaj",
+ "pplllla",
+ "ppvvv",
+ "ppvvv2",
+ "ppvvv_ew",
+ "ppvvvj",
+ "ppaajj",
+ "ppaajj2",
+ "ppaajjj",
+ "pplla",
+ "pplla2",
+ "pplla_ew",
+ "ppllaj",
+ "ppllaj2",
+ "ppllaj_ew",
+ "ppllaj_nf5",
+ "ppllajj",
+ "ppllll",
+ "ppllll2",
+ "ppllll2_nf5",
+ "ppllll2_onlyh",
+ "ppllll_ew",
+ "ppllllbb",
+ "ppllllj",
+ "ppllllj2",
+ "ppllllj2_nf5",
+ "ppllllj2_nf5_notridr",
+ "ppllllj2_nf5_sr",
+ "ppllllj2_onlyh",
+ "ppllnnjj_ew",
+ "ppllnnjj_vbs",
+ "pplnaj_ckm",
+ "pplnajj",
+ "pplnajj_ckm",
+ "ppvv",
+ "ppvv2",
+ "ppvv_ew",
+ "ppvvj",
+ "ppvvj2",
+ "ppvvj_ew",
+ "ppwajj",
+ "ppwwjj",
+ "ppzajj",
+ "ppzwj_ew",
+ "ppzwjj",
+ "ppzzjj",
+ "ppajj",
+ "ppajj2",
+ "ppajj_ew",
+ "ppajjj",
+ "ppllj",
+ "ppllj2",
+ "ppllj_ew",
+ "ppllj_nf5",
+ "pplljj",
+ "pplljj_ew",
+ "pplljjj",
+ "pplnj_ckm",
+ "pplnjj",
+ "pplnjj_ckm",
+ "pplnjj_ew",
+ "pplnjjj",
+ "ppnnjj_ew",
+ "ppnnjjj",
+ "ppvj",
+ "ppvj2",
+ "ppvj_ew",
+ "ppwj_ckm",
+ "ppwjj",
+ "ppwjj_ckm",
+ "ppwjj_ew",
+ "ppwjjj",
+ "ppzjj",
+ "ppzjj_ew",
+ "ppzjjj",
+ "pphtt",
+ "pphtt_ew",
+ "pphttj",
+ "pphlltt",
+ "pphll",
+ "pphll2",
+ "pphll_ew",
+ "pphllj",
+ "pphllj2",
+ "pphllj_ew",
+ "pphlljj",
+ "pphlljj_top",
+ "pphlnj_ckm",
+ "pphlnjj",
+ "pphv",
+ "pphv_ew",
+ "pphwjj",
+ "pphz2",
+ "pphzj2",
+ "pphzjj",
+ "pphhtt",
+ "pphhv",
+ "pphhh2",
+ "heftpphh",
+ "heftpphhj",
+ "heftpphhjj",
+ "pphh2",
+ "pphhj2",
+ "pphhjj2",
+ "pphhjj_vbf",
+ "bbhj",
+ "heftpphj",
+ "heftpphjj",
+ "heftpphjjj",
+ "pphbb",
+ "pphbbj",
+ "pphj2",
+ "pphjj2",
+ "pphjj_vbf",
+ "pphjj_vbf_ew",
+ "pphjjj2",
+ "eetttt",
+ "eettttj",
+ "eellllbb",
+ "eett",
+ "eett_ew",
+ "eettj",
+ "eettjj",
+ "eevtt",
+ "eevttj",
+ "eevttjj",
+ "eevvtt",
+ "eevvttj",
+ "eellll_ew",
+ "eevv_ew",
+ "eevvjj",
+ "eell_ew",
+ "eevjj",
+ "eehtt",
+ "eehttj",
+ "eehll_ew",
+ "eehvtt",
+ "eehhtt",
+ "heftppllj",
+ "heftpplljj",
+ "heftpplljjj",
+ ]
+
+ variant("compile_extra", default=False, description="Compile real radiation tree amplitudes")
+ variant(
+ "processes",
+ description="Processes to install. See https://"
+ + "openloops.hepforge.org/process_"
+ + "library.php?repo=public for details",
+ values=disjoint_sets(
+ ("all.coll",), ("lhc.coll",), ("lcg.coll",), all_processes
+ ).with_default("lhc.coll"),
+ )
+
+ variant(
+ "num_jobs",
+ description="Number of parallel jobs to run. "
+ + "Set to 1 if compiling a large number"
+ + "of processes (e.g. lcg.coll)",
+ default=0,
+ )
+ depends_on("python", type=("build", "run"))
+
+ phases = ["configure", "build", "build_processes", "install"]
def configure(self, spec, prefix):
- spack_env = ('PATH LD_LIBRARY_PATH CPATH C_INCLUDE_PATH' +
- 'CPLUS_INCLUDE_PATH INTEL_LICENSE_FILE').split()
+ spack_env = (
+ "PATH LD_LIBRARY_PATH CPATH C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH INTEL_LICENSE_FILE"
+ ).split()
for k in env.keys():
- if k.startswith('SPACK_'):
+ if k.startswith("SPACK_"):
spack_env.append(k)
- spack_env = ' '.join(spack_env)
- is_intel = self.spec.satisfies('%intel')
- njobs = self.spec.variants['num_jobs'].value
-
- with open('openloops.cfg', 'w') as f:
- f.write('[OpenLoops]\n')
- f.write('import_env={0}\n'.format(spack_env))
- f.write('num_jobs = {0}\n'.format(njobs))
- f.write('process_lib_dir = {0}\n'.format(self.spec.prefix.proclib))
- f.write('cc = {0}\n'.format(env['SPACK_CC']))
- f.write('cxx = {0}\n'.format(env['SPACK_CXX']))
- f.write('fortran_compiler = {0}\n'.format(env['SPACK_FC']))
- if self.spec.satisfies('@1.3.1') and not is_intel:
- f.write('gfortran_f_flags = -ffree-line-length-none\n')
- if self.spec.satisfies('@2.1.1:') and not is_intel:
- f.write('gfortran_f_flags = -ffree-line-length-none ' +
- '-fdollar-ok ')
- if self.spec.target.family == 'aarch64':
- f.write('-mcmodel=small\n')
+ spack_env = " ".join(spack_env)
+ is_intel = self.spec.satisfies("%intel")
+ njobs = self.spec.variants["num_jobs"].value
+
+ with open("openloops.cfg", "w") as f:
+ f.write("[OpenLoops]\n")
+ f.write("import_env={0}\n".format(spack_env))
+ f.write("num_jobs = {0}\n".format(njobs))
+ f.write("process_lib_dir = {0}\n".format(self.spec.prefix.proclib))
+ f.write("cc = {0}\n".format(env["SPACK_CC"]))
+ f.write("cxx = {0}\n".format(env["SPACK_CXX"]))
+ f.write("fortran_compiler = {0}\n".format(env["SPACK_FC"]))
+ if self.spec.satisfies("@1.3.1") and not is_intel:
+ f.write("gfortran_f_flags = -ffree-line-length-none\n")
+ if self.spec.satisfies("@2.1.1:") and not is_intel:
+ f.write("gfortran_f_flags = -ffree-line-length-none " + "-fdollar-ok ")
+ if self.spec.target.family == "aarch64":
+ f.write("-mcmodel=small\n")
else:
- f.write('-mcmodel=medium\n')
+ f.write("-mcmodel=medium\n")
- if self.spec.satisfies('@:1 processes=lcg.coll'):
- copy(join_path(os.path.dirname(__file__), 'sft1.coll'), 'lcg.coll')
- elif self.spec.satisfies('@2:2.1.2 processes=lcg.coll'):
- copy(join_path(os.path.dirname(__file__), 'sft2.coll'), 'lcg.coll')
- elif self.spec.satisfies('@2.1.2:2 processes=lcg.coll'):
- copy(join_path(os.path.dirname(__file__), 'sft3.coll'), 'lcg.coll')
+ if self.spec.satisfies("@:1 processes=lcg.coll"):
+ copy(join_path(os.path.dirname(__file__), "sft1.coll"), "lcg.coll")
+ elif self.spec.satisfies("@2:2.1.2 processes=lcg.coll"):
+ copy(join_path(os.path.dirname(__file__), "sft2.coll"), "lcg.coll")
+ elif self.spec.satisfies("@2.1.2:2 processes=lcg.coll"):
+ copy(join_path(os.path.dirname(__file__), "sft3.coll"), "lcg.coll")
def setup_build_environment(self, env):
# Make sure that calling openloops picks up the scons that is shipped
# instead of falling back to a potentially unsuitable system version
- env.set('OLPYTHON', self.spec['python'].prefix.bin.python)
+ env.set("OLPYTHON", self.spec["python"].prefix.bin.python)
def setup_run_environment(self, env):
# Make sure that calling openloops picks up the scons that is shipped
# instead of falling back to a potentially unsuitable system version
- env.set('OLPYTHON', self.spec['python'].prefix.bin.python)
+ env.set("OLPYTHON", self.spec["python"].prefix.bin.python)
def build(self, spec, prefix):
- scons = Executable('./scons')
- scons('generator=1', 'compile=2')
+ scons = Executable("./scons")
+ scons("generator=1", "compile=2")
def build_processes(self, spec, prefix):
- ol = Executable('./openloops')
- processes = self.spec.variants['processes'].value
- if '+compile_extra' in self.spec:
- ce = 'compile_extra=1'
+ ol = Executable("./openloops")
+ processes = self.spec.variants["processes"].value
+ if "+compile_extra" in self.spec:
+ ce = "compile_extra=1"
else:
- ce = ''
+ ce = ""
- ol('libinstall', ce, *processes)
+ ol("libinstall", ce, *processes)
def install(self, spec, prefix):
- install_tree(join_path(self.stage.path, 'spack-src'),
- self.prefix,
- ignore=lambda x: x in ('process_obj', 'process_src', 'README'))
+ install_tree(
+ join_path(self.stage.path, "spack-src"),
+ self.prefix,
+ ignore=lambda x: x in ("process_obj", "process_src", "README"),
+ )
diff --git a/var/spack/repos/builtin/packages/openmc/package.py b/var/spack/repos/builtin/packages/openmc/package.py
index cd22b5df3f..cd6814bde9 100644
--- a/var/spack/repos/builtin/packages/openmc/package.py
+++ b/var/spack/repos/builtin/packages/openmc/package.py
@@ -9,52 +9,54 @@ from spack.package import *
class Openmc(CMakePackage):
"""OpenMC is a community-developed Monte Carlo neutron and photon transport
- simulation code. It is capable of performing fixed source, k-eigenvalue, and
- subcritical multiplication calculations on models built using either a
- constructive solid geometry or CAD representation. OpenMC supports both
- continuous-energy and multigroup transport. The continuous-energy particle
- interaction data is based on a native HDF5 format that can be generated from ACE
- files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP
- programming model."""
+ simulation code. It is capable of performing fixed source, k-eigenvalue, and
+ subcritical multiplication calculations on models built using either a
+ constructive solid geometry or CAD representation. OpenMC supports both
+ continuous-energy and multigroup transport. The continuous-energy particle
+ interaction data is based on a native HDF5 format that can be generated from ACE
+ files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP
+ programming model."""
homepage = "https://docs.openmc.org/"
url = "https://github.com/openmc-dev/openmc/tarball/v0.13.0"
git = "https://github.com/openmc-dev/openmc.git"
- version('develop', branch='develop', submodules=True)
- version('master', branch='master', submodules=True)
- version('0.13.0', commit='cff247e35785e7236d67ccf64a3401f0fc50a469', submodules=True)
- version('0.12.2', commit='cbfcf908f8abdc1ef6603f67872dcf64c5c657b1', submodules=True)
- version('0.12.1', commit='36913589c4f43b7f843332181645241f0f10ae9e', submodules=True)
- version('0.12.0', commit='93d6165ecb455fc57242cd03a3f0805089c0e0b9', submodules=True)
- version('0.11.0', sha256='19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af')
- version('0.10.0', sha256='47650cb45e2c326ae439208d6f137d75ad3e5c657055912d989592c6e216178f')
-
- variant('mpi', default=False, description='Enable MPI support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('optimize', default=False, description='Enable optimization flags')
- variant('debug', default=False, description='Enable debug flags')
-
- depends_on('git', type='build')
- depends_on('hdf5+hl~mpi', when='~mpi')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5+hl+mpi', when='+mpi')
+ version("develop", branch="develop", submodules=True)
+ version("master", branch="master", submodules=True)
+ version("0.13.0", commit="cff247e35785e7236d67ccf64a3401f0fc50a469", submodules=True)
+ version("0.12.2", commit="cbfcf908f8abdc1ef6603f67872dcf64c5c657b1", submodules=True)
+ version("0.12.1", commit="36913589c4f43b7f843332181645241f0f10ae9e", submodules=True)
+ version("0.12.0", commit="93d6165ecb455fc57242cd03a3f0805089c0e0b9", submodules=True)
+ version("0.11.0", sha256="19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af")
+ version("0.10.0", sha256="47650cb45e2c326ae439208d6f137d75ad3e5c657055912d989592c6e216178f")
+
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("optimize", default=False, description="Enable optimization flags")
+ variant("debug", default=False, description="Enable debug flags")
+
+ depends_on("git", type="build")
+ depends_on("hdf5+hl~mpi", when="~mpi")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5+hl+mpi", when="+mpi")
def cmake_args(self):
- options = ['-DCMAKE_INSTALL_LIBDIR=lib'] # forcing bc sometimes goes to lib64
+ options = ["-DCMAKE_INSTALL_LIBDIR=lib"] # forcing bc sometimes goes to lib64
- if '+mpi' in self.spec:
- options += ['-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx]
+ if "+mpi" in self.spec:
+ options += [
+ "-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
+ ]
- options += [self.define_from_variant('openmp')]
- options += [self.define_from_variant('optimize')]
- options += [self.define_from_variant('debug')]
+ options += [self.define_from_variant("openmp")]
+ options += [self.define_from_variant("optimize")]
+ options += [self.define_from_variant("debug")]
- if '+optimize' in self.spec:
- self.spec.variants['build_type'].value = 'Release'
+ if "+optimize" in self.spec:
+ self.spec.variants["build_type"].value = "Release"
- if '+debug' in self.spec:
- self.spec.variants['build_type'].value = 'Debug'
+ if "+debug" in self.spec:
+ self.spec.variants["build_type"].value = "Debug"
return options
diff --git a/var/spack/repos/builtin/packages/openmm/package.py b/var/spack/repos/builtin/packages/openmm/package.py
index 8759acaff1..95b54d6e6f 100644
--- a/var/spack/repos/builtin/packages/openmm/package.py
+++ b/var/spack/repos/builtin/packages/openmm/package.py
@@ -14,38 +14,37 @@ class Openmm(CMakePackage, CudaPackage):
bindings for Python, C, C++, and even Fortran. The code is open
source and actively maintained on Github, licensed under MIT and
LGPL. Part of the Omnia suite of tools for predictive biomolecular
- simulation. """
+ simulation."""
homepage = "https://openmm.org/"
- url = "https://github.com/openmm/openmm/archive/7.4.1.tar.gz"
+ url = "https://github.com/openmm/openmm/archive/7.4.1.tar.gz"
- version('7.5.0', sha256='516748b4f1ae936c4d70cc6401174fc9384244c65cd3aef27bc2c53eac6d6de5')
- version('7.4.1', sha256='e8102b68133e6dcf7fcf29bc76a11ea54f30af71d8a7705aec0aee957ebe3a6d')
+ version("7.5.0", sha256="516748b4f1ae936c4d70cc6401174fc9384244c65cd3aef27bc2c53eac6d6de5")
+ version("7.4.1", sha256="e8102b68133e6dcf7fcf29bc76a11ea54f30af71d8a7705aec0aee957ebe3a6d")
- install_targets = ['install', 'PythonInstall']
+ install_targets = ["install", "PythonInstall"]
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('cmake@3.1:', type='build')
- depends_on('doxygen', type='build')
- depends_on('swig', type='build')
- depends_on('fftw')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('cuda', when='+cuda', type=('build', 'link', 'run'))
- extends('python')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("cmake@3.1:", type="build")
+ depends_on("doxygen", type="build")
+ depends_on("swig", type="build")
+ depends_on("fftw")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("cuda", when="+cuda", type=("build", "link", "run"))
+ extends("python")
def patch(self):
- install_string = "set(PYTHON_SETUP_COMMAND \"install " \
- "--prefix={0}\")".format(self.prefix)
+ install_string = 'set(PYTHON_SETUP_COMMAND "install ' '--prefix={0}")'.format(self.prefix)
- filter_file(r'set\(PYTHON_SETUP_COMMAND \"install.*',
- install_string,
- 'wrappers/python/CMakeLists.txt')
+ filter_file(
+ r"set\(PYTHON_SETUP_COMMAND \"install.*",
+ install_string,
+ "wrappers/python/CMakeLists.txt",
+ )
def setup_run_environment(self, env):
spec = self.spec
- if '+cuda' in spec:
- env.set('OPENMM_CUDA_COMPILER',
- self.spec['cuda'].prefix.bin.nvcc)
- env.prepend_path('PATH',
- os.path.dirname(self.compiler.cc))
+ if "+cuda" in spec:
+ env.set("OPENMM_CUDA_COMPILER", self.spec["cuda"].prefix.bin.nvcc)
+ env.prepend_path("PATH", os.path.dirname(self.compiler.cc))
diff --git a/var/spack/repos/builtin/packages/openmolcas/package.py b/var/spack/repos/builtin/packages/openmolcas/package.py
index 45ffdab36f..494ff33fd4 100644
--- a/var/spack/repos/builtin/packages/openmolcas/package.py
+++ b/var/spack/repos/builtin/packages/openmolcas/package.py
@@ -10,50 +10,50 @@ from spack.package import *
class Openmolcas(CMakePackage):
"""OpenMolcas is a quantum chemistry software package.
- The key feature of OpenMolcas is the multiconfigurational approach to
- the electronic structure."""
+ The key feature of OpenMolcas is the multiconfigurational approach to
+ the electronic structure."""
homepage = "https://gitlab.com/Molcas/OpenMolcas"
- url = "https://github.com/Molcas/OpenMolcas/archive/v19.11.tar.gz"
+ url = "https://github.com/Molcas/OpenMolcas/archive/v19.11.tar.gz"
- version('21.02', sha256='d0b9731a011562ff4740c0e67e48d9af74bf2a266601a38b37640f72190519ca')
- version('19.11', sha256='8ebd1dcce98fc3f554f96e54e34f1e8ad566c601196ee68153763b6c0a04c7b9')
+ version("21.02", sha256="d0b9731a011562ff4740c0e67e48d9af74bf2a266601a38b37640f72190519ca")
+ version("19.11", sha256="8ebd1dcce98fc3f554f96e54e34f1e8ad566c601196ee68153763b6c0a04c7b9")
- variant('mpi', default=False, description='Build with mpi support.')
+ variant("mpi", default=False, description="Build with mpi support.")
- depends_on('hdf5')
- depends_on('lapack')
- depends_on('openblas+ilp64')
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('mpi', when='+mpi')
- depends_on('globalarrays', when='+mpi')
+ depends_on("hdf5")
+ depends_on("lapack")
+ depends_on("openblas+ilp64")
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("mpi", when="+mpi")
+ depends_on("globalarrays", when="+mpi")
- patch('CMakeLists.txt.patch', when='target=aarch64:')
+ patch("CMakeLists.txt.patch", when="target=aarch64:")
def setup_build_environment(self, env):
- env.set('MOLCAS', self.prefix)
+ env.set("MOLCAS", self.prefix)
def setup_run_environment(self, env):
- env.set('MOLCAS', self.prefix)
- if self.spec.version >= Version('21.02'):
- env.append_path('PATH', self.prefix)
+ env.set("MOLCAS", self.prefix)
+ if self.spec.version >= Version("21.02"):
+ env.append_path("PATH", self.prefix)
def cmake_args(self):
args = [
- '-DLINALG=OpenBLAS',
- '-DOPENBLASROOT=%s' % self.spec['openblas'].prefix,
- '-DPYTHON_EXECUTABLE=%s' % self.spec['python'].command.path
+ "-DLINALG=OpenBLAS",
+ "-DOPENBLASROOT=%s" % self.spec["openblas"].prefix,
+ "-DPYTHON_EXECUTABLE=%s" % self.spec["python"].command.path,
]
- if '+mpi' in self.spec:
+ if "+mpi" in self.spec:
mpi_args = [
- '-DMPI=ON', '-DGA=ON',
- '-DGA_INCLUDE_PATH=%s' % self.spec['globalarrays'].prefix.include,
- '-DLIBGA=%s' %
- os.path.join(self.spec['globalarrays'].prefix.lib, 'libga.so'),
- '-DLIBARMCI=%s' %
- os.path.join(self.spec['globalarrays'].prefix.lib, 'libarmci.so')
+ "-DMPI=ON",
+ "-DGA=ON",
+ "-DGA_INCLUDE_PATH=%s" % self.spec["globalarrays"].prefix.include,
+ "-DLIBGA=%s" % os.path.join(self.spec["globalarrays"].prefix.lib, "libga.so"),
+ "-DLIBARMCI=%s"
+ % os.path.join(self.spec["globalarrays"].prefix.lib, "libarmci.so"),
]
args.extend(mpi_args)
return args
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 5539229396..c3921e72c7 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -32,160 +32,366 @@ class Openmpi(AutotoolsPackage, CudaPackage):
list_url = "https://www.open-mpi.org/software/ompi/"
git = "https://github.com/open-mpi/ompi.git"
- maintainers = ['hppritcha', 'naughtont3']
+ maintainers = ["hppritcha", "naughtont3"]
- executables = ['^ompi_info$']
+ executables = ["^ompi_info$"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('main', branch='main', submodules=True)
+ version("main", branch="main", submodules=True)
# Current
- version('4.1.4', sha256='92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d') # libmpi.so.40.30.4
+ version(
+ "4.1.4", sha256="92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d"
+ ) # libmpi.so.40.30.4
# Still supported
- version('4.1.3', sha256='3d81d04c54efb55d3871a465ffb098d8d72c1f48ff1cbaf2580eb058567c0a3b') # libmpi.so.40.30.3
- version('4.1.2', sha256='9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527') # libmpi.so.40.30.2
- version('4.1.1', sha256='e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda') # libmpi.so.40.30.1
- version('4.1.0', sha256='73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5') # libmpi.so.40.30.0
- version('4.0.7', sha256='7d3ecc8389161eb721982c855f89c25dca289001577a01a439ae97ce872be997') # libmpi.so.40.20.7
- version('4.0.6', sha256='94b7b59ae9860f3bd7b5f378a698713e7b957070fdff2c43453b6cbf8edb410c') # libmpi.so.40.20.6
- version('4.0.5', sha256='c58f3863b61d944231077f344fe6b4b8fbb83f3d1bc93ab74640bf3e5acac009') # libmpi.so.40.20.5
- version('4.0.4', sha256='47e24eb2223fe5d24438658958a313b6b7a55bb281563542e1afc9dec4a31ac4') # libmpi.so.40.20.4
- version('4.0.3', sha256='1402feced8c3847b3ab8252165b90f7d1fa28c23b6b2ca4632b6e4971267fd03') # libmpi.so.40.20.3
- version('4.0.2', sha256='900bf751be72eccf06de9d186f7b1c4b5c2fa9fa66458e53b77778dffdfe4057') # libmpi.so.40.20.2
- version('4.0.1', sha256='cce7b6d20522849301727f81282201d609553103ac0b09162cf28d102efb9709') # libmpi.so.40.20.1
- version('4.0.0', sha256='2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b') # libmpi.so.40.20.0
+ version(
+ "4.1.3", sha256="3d81d04c54efb55d3871a465ffb098d8d72c1f48ff1cbaf2580eb058567c0a3b"
+ ) # libmpi.so.40.30.3
+ version(
+ "4.1.2", sha256="9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527"
+ ) # libmpi.so.40.30.2
+ version(
+ "4.1.1", sha256="e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda"
+ ) # libmpi.so.40.30.1
+ version(
+ "4.1.0", sha256="73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5"
+ ) # libmpi.so.40.30.0
+ version(
+ "4.0.7", sha256="7d3ecc8389161eb721982c855f89c25dca289001577a01a439ae97ce872be997"
+ ) # libmpi.so.40.20.7
+ version(
+ "4.0.6", sha256="94b7b59ae9860f3bd7b5f378a698713e7b957070fdff2c43453b6cbf8edb410c"
+ ) # libmpi.so.40.20.6
+ version(
+ "4.0.5", sha256="c58f3863b61d944231077f344fe6b4b8fbb83f3d1bc93ab74640bf3e5acac009"
+ ) # libmpi.so.40.20.5
+ version(
+ "4.0.4", sha256="47e24eb2223fe5d24438658958a313b6b7a55bb281563542e1afc9dec4a31ac4"
+ ) # libmpi.so.40.20.4
+ version(
+ "4.0.3", sha256="1402feced8c3847b3ab8252165b90f7d1fa28c23b6b2ca4632b6e4971267fd03"
+ ) # libmpi.so.40.20.3
+ version(
+ "4.0.2", sha256="900bf751be72eccf06de9d186f7b1c4b5c2fa9fa66458e53b77778dffdfe4057"
+ ) # libmpi.so.40.20.2
+ version(
+ "4.0.1", sha256="cce7b6d20522849301727f81282201d609553103ac0b09162cf28d102efb9709"
+ ) # libmpi.so.40.20.1
+ version(
+ "4.0.0", sha256="2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b"
+ ) # libmpi.so.40.20.0
# Retired
- version('3.1.6', sha256='50131d982ec2a516564d74d5616383178361c2f08fdd7d1202b80bdf66a0d279') # libmpi.so.40.10.4
- version('3.1.5', sha256='fbf0075b4579685eec8d56d34d4d9c963e6667825548554f5bf308610af72133') # libmpi.so.40.10.4
- version('3.1.4', sha256='17a69e0054db530c7dc119f75bd07d079efa147cf94bf27e590905864fe379d6') # libmpi.so.40.10.4
- version('3.1.3', sha256='8be04307c00f51401d3fb9d837321781ea7c79f2a5a4a2e5d4eaedc874087ab6') # libmpi.so.40.10.3
- version('3.1.2', sha256='c654ed847f34a278c52a15c98add40402b4a90f0c540779f1ae6c489af8a76c5') # libmpi.so.40.10.2
- version('3.1.1', sha256='3f11b648dd18a8b878d057e9777f2c43bf78297751ad77ae2cef6db0fe80c77c') # libmpi.so.40.10.1
- version('3.1.0', sha256='b25c044124cc859c0b4e6e825574f9439a51683af1950f6acda1951f5ccdf06c') # libmpi.so.40.10.0
- version('3.0.5', sha256='f8976b95f305efc435aa70f906b82d50e335e34cffdbf5d78118a507b1c6efe8') # libmpi.so.40.00.5
- version('3.0.4', sha256='2ff4db1d3e1860785295ab95b03a2c0f23420cda7c1ae845c419401508a3c7b5') # libmpi.so.40.00.5
- version('3.0.3', sha256='fb228e42893fe6a912841a94cd8a0c06c517701ae505b73072409218a12cf066') # libmpi.so.40.00.4
- version('3.0.2', sha256='d2eea2af48c1076c53cabac0a1f12272d7470729c4e1cb8b9c2ccd1985b2fb06') # libmpi.so.40.00.2
- version('3.0.1', sha256='663450d1ee7838b03644507e8a76edfb1fba23e601e9e0b5b2a738e54acd785d') # libmpi.so.40.00.1
- version('3.0.0', sha256='f699bff21db0125d8cccfe79518b77641cd83628725a1e1ed3e45633496a82d7') # libmpi.so.40.00.0
-
- version('2.1.6', sha256='98b8e1b8597bbec586a0da79fcd54a405388190247aa04d48e8c40944d4ca86e') # libmpi.so.20.10.3
- version('2.1.5', sha256='b807ccab801f27c3159a5edf29051cd3331d3792648919f9c4cee48e987e7794') # libmpi.so.20.10.3
- version('2.1.4', sha256='3e03695ca8bd663bc2d89eda343c92bb3d4fc79126b178f5ddcb68a8796b24e2') # libmpi.so.20.10.3
- version('2.1.3', sha256='285b3e2a69ed670415524474496043ecc61498f2c63feb48575f8469354d79e8') # libmpi.so.20.10.2
- version('2.1.2', sha256='3cc5804984c5329bdf88effc44f2971ed244a29b256e0011b8deda02178dd635') # libmpi.so.20.10.2
- version('2.1.1', sha256='bd7badd4ff3afa448c0d7f3ca0ee6ce003b957e9954aa87d8e4435759b5e4d16') # libmpi.so.20.10.1
- version('2.1.0', sha256='b169e15f5af81bf3572db764417670f508c0df37ce86ff50deb56bd3acb43957') # libmpi.so.20.10.0
-
- version('2.0.4', sha256='4f82d5f7f294becbd737319f74801206b08378188a95b70abe706fdc77a0c20b') # libmpi.so.20.0.4
- version('2.0.3', sha256='b52c0204c0e5954c9c57d383bb22b4181c09934f97783292927394d29f2a808a') # libmpi.so.20.0.3
- version('2.0.2', sha256='cae396e643f9f91f0a795f8d8694adf7bacfb16f967c22fb39e9e28d477730d3') # libmpi.so.20.0.2
- version('2.0.1', sha256='fed74f4ae619b7ebcc18150bb5bdb65e273e14a8c094e78a3fea0df59b9ff8ff') # libmpi.so.20.0.1
- version('2.0.0', sha256='08b64cf8e3e5f50a50b4e5655f2b83b54653787bd549b72607d9312be44c18e0') # libmpi.so.20.0.0
+ version(
+ "3.1.6", sha256="50131d982ec2a516564d74d5616383178361c2f08fdd7d1202b80bdf66a0d279"
+ ) # libmpi.so.40.10.4
+ version(
+ "3.1.5", sha256="fbf0075b4579685eec8d56d34d4d9c963e6667825548554f5bf308610af72133"
+ ) # libmpi.so.40.10.4
+ version(
+ "3.1.4", sha256="17a69e0054db530c7dc119f75bd07d079efa147cf94bf27e590905864fe379d6"
+ ) # libmpi.so.40.10.4
+ version(
+ "3.1.3", sha256="8be04307c00f51401d3fb9d837321781ea7c79f2a5a4a2e5d4eaedc874087ab6"
+ ) # libmpi.so.40.10.3
+ version(
+ "3.1.2", sha256="c654ed847f34a278c52a15c98add40402b4a90f0c540779f1ae6c489af8a76c5"
+ ) # libmpi.so.40.10.2
+ version(
+ "3.1.1", sha256="3f11b648dd18a8b878d057e9777f2c43bf78297751ad77ae2cef6db0fe80c77c"
+ ) # libmpi.so.40.10.1
+ version(
+ "3.1.0", sha256="b25c044124cc859c0b4e6e825574f9439a51683af1950f6acda1951f5ccdf06c"
+ ) # libmpi.so.40.10.0
+ version(
+ "3.0.5", sha256="f8976b95f305efc435aa70f906b82d50e335e34cffdbf5d78118a507b1c6efe8"
+ ) # libmpi.so.40.00.5
+ version(
+ "3.0.4", sha256="2ff4db1d3e1860785295ab95b03a2c0f23420cda7c1ae845c419401508a3c7b5"
+ ) # libmpi.so.40.00.5
+ version(
+ "3.0.3", sha256="fb228e42893fe6a912841a94cd8a0c06c517701ae505b73072409218a12cf066"
+ ) # libmpi.so.40.00.4
+ version(
+ "3.0.2", sha256="d2eea2af48c1076c53cabac0a1f12272d7470729c4e1cb8b9c2ccd1985b2fb06"
+ ) # libmpi.so.40.00.2
+ version(
+ "3.0.1", sha256="663450d1ee7838b03644507e8a76edfb1fba23e601e9e0b5b2a738e54acd785d"
+ ) # libmpi.so.40.00.1
+ version(
+ "3.0.0", sha256="f699bff21db0125d8cccfe79518b77641cd83628725a1e1ed3e45633496a82d7"
+ ) # libmpi.so.40.00.0
+
+ version(
+ "2.1.6", sha256="98b8e1b8597bbec586a0da79fcd54a405388190247aa04d48e8c40944d4ca86e"
+ ) # libmpi.so.20.10.3
+ version(
+ "2.1.5", sha256="b807ccab801f27c3159a5edf29051cd3331d3792648919f9c4cee48e987e7794"
+ ) # libmpi.so.20.10.3
+ version(
+ "2.1.4", sha256="3e03695ca8bd663bc2d89eda343c92bb3d4fc79126b178f5ddcb68a8796b24e2"
+ ) # libmpi.so.20.10.3
+ version(
+ "2.1.3", sha256="285b3e2a69ed670415524474496043ecc61498f2c63feb48575f8469354d79e8"
+ ) # libmpi.so.20.10.2
+ version(
+ "2.1.2", sha256="3cc5804984c5329bdf88effc44f2971ed244a29b256e0011b8deda02178dd635"
+ ) # libmpi.so.20.10.2
+ version(
+ "2.1.1", sha256="bd7badd4ff3afa448c0d7f3ca0ee6ce003b957e9954aa87d8e4435759b5e4d16"
+ ) # libmpi.so.20.10.1
+ version(
+ "2.1.0", sha256="b169e15f5af81bf3572db764417670f508c0df37ce86ff50deb56bd3acb43957"
+ ) # libmpi.so.20.10.0
+
+ version(
+ "2.0.4", sha256="4f82d5f7f294becbd737319f74801206b08378188a95b70abe706fdc77a0c20b"
+ ) # libmpi.so.20.0.4
+ version(
+ "2.0.3", sha256="b52c0204c0e5954c9c57d383bb22b4181c09934f97783292927394d29f2a808a"
+ ) # libmpi.so.20.0.3
+ version(
+ "2.0.2", sha256="cae396e643f9f91f0a795f8d8694adf7bacfb16f967c22fb39e9e28d477730d3"
+ ) # libmpi.so.20.0.2
+ version(
+ "2.0.1", sha256="fed74f4ae619b7ebcc18150bb5bdb65e273e14a8c094e78a3fea0df59b9ff8ff"
+ ) # libmpi.so.20.0.1
+ version(
+ "2.0.0", sha256="08b64cf8e3e5f50a50b4e5655f2b83b54653787bd549b72607d9312be44c18e0"
+ ) # libmpi.so.20.0.0
# Ancient
- version('1.10.7', sha256='a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90') # libmpi.so.12.0.7
- version('1.10.6', sha256='65606184a084a0eda6102b01e5a36a8f02d3195d15e91eabbb63e898bd110354') # libmpi.so.12.0.6
- version('1.10.5', sha256='a95fa355ed3a905c7c187bc452529a9578e2d6bae2559d8197544ab4227b759e') # libmpi.so.12.0.5
- version('1.10.4', sha256='fb3c0c4c77896185013b6091b306d29ba592eb40d8395533da5c8bc300d922db') # libmpi.so.12.0.4
- version('1.10.3', sha256='7484bb664312082fd12edc2445b42362089b53b17fb5fce12efd4fe452cc254d') # libmpi.so.12.0.3
- version('1.10.2', sha256='8846e7e69a203db8f50af90fa037f0ba47e3f32e4c9ccdae2db22898fd4d1f59') # libmpi.so.12.0.2
- version('1.10.1', sha256='7919ecde15962bab2e26d01d5f5f4ead6696bbcacb504b8560f2e3a152bfe492') # libmpi.so.12.0.1
- version('1.10.0', sha256='26b432ce8dcbad250a9787402f2c999ecb6c25695b00c9c6ee05a306c78b6490') # libmpi.so.12.0.0
-
- version('1.8.8', sha256='a28382d1e6a36f4073412dc00836ff2524e42b674da9caf6ca7377baad790b94') # libmpi.so.1.6.3
- version('1.8.7', sha256='da629e9bd820a379cfafe15f842ee9b628d7451856085ccc23ee75ab3e1b48c7') # libmpi.so.1.6.2
- version('1.8.6', sha256='b9fe3bdfb86bd42cc53448e17f11278531b989b05ff9513bc88ba1a523f14e87') # libmpi.so.1.6.1
- version('1.8.5', sha256='4cea06a9eddfa718b09b8240d934b14ca71670c2dc6e6251a585ce948a93fbc4') # libmpi.so.1.6.0
- version('1.8.4', sha256='23158d916e92c80e2924016b746a93913ba7fae9fff51bf68d5c2a0ae39a2f8a') # libmpi.so.1.6.0
- version('1.8.3', sha256='2ef02dab61febeb74714ff80d508c00b05defc635b391ed2c8dcc1791fbc88b3') # libmpi.so.1.6.0
- version('1.8.2', sha256='ab70770faf1bac15ef44301fe2186b02f857646545492dd7331404e364a7d131') # libmpi.so.1.5.2
- version('1.8.1', sha256='171427ebc007943265f33265ec32e15e786763952e2bfa2eac95e3e192c1e18f') # libmpi.so.1.5.0
- version('1.8', sha256='35d5db86f49c0c64573b2eaf6d51c94ed8a06a9bb23dda475e602288f05e4ecf') # libmpi.so.1.5.0
-
- version('1.7.5', sha256='cb3eef6880537d341d5d098511d390ec853716a6ec94007c03a0d1491b2ac8f2') # libmpi.so.1.4.0
- version('1.7.4', sha256='ff8e31046c5bacfc6202d67f2479731ccd8542cdd628583ae75874000975f45c') # libmpi.so.1.3.0
- version('1.7.3', sha256='438d96c178dbf5a1bc92fa1d238a8225d87b64af26ce2a07789faaf312117e45') # libmpi.so.1.2.0
- version('1.7.2', sha256='82a1c477dcadad2032ab24d9be9e39c1042865965841911f072c49aa3544fd85') # libmpi.so.1.1.2
- version('1.7.1', sha256='554583008fa34ecdfaca22e46917cc3457a69cba08c29ebbf53eef4f4b8be171') # libmpi.so.1.1.1
- version('1.7', sha256='542e44aaef6546798c0d39c0fd849e9fbcd04a762f0ab100638499643253a513') # libmpi.so.1.1.0
-
- version('1.6.5', sha256='fe37bab89b5ef234e0ac82dc798282c2ab08900bf564a1ec27239d3f1ad1fc85') # libmpi.so.1.0.8
- version('1.6.4', sha256='40cb113a27d76e1e915897661579f413564c032dc6e703073e6a03faba8093fa') # libmpi.so.1.0.7
- version('1.6.3', sha256='0c30cfec0e420870630fdc101ffd82f7eccc90276bc4e182f8282a2448668798') # libmpi.so.1.0.6
- version('1.6.2', sha256='5cc7744c6cc4ec2c04bc76c8b12717c4011822a2bd7236f2ea511f09579a714a') # libmpi.so.1.0.3
- version('1.6.1', sha256='077240dd1ab10f0caf26931e585db73848e9815c7119b993f91d269da5901e3a') # libmpi.so.1.0.3
- version('1.6', sha256='6e0d8b336543fb9ab78c97d364484923167857d30b266dfde1ccf60f356b9e0e') # libmpi.so.1.0.3
-
- version('1.5.5', sha256='660e6e49315185f88a87b6eae3d292b81774eab7b29a9b058b10eb35d892ff23') # libmpi.so.1.0.3
- version('1.5.4', sha256='81126a95a51b8af4bb0ad28790f852c30d22d989713ec30ad22e9e0a79587ef6') # libmpi.so.1.0.2
- version('1.5.3', sha256='70745806cdbe9b945d47d9fa058f99e072328e41e40c0ced6dd75220885c5263') # libmpi.so.1.0.1
- version('1.5.2', sha256='7123b781a9fd21cc79870e7fe01e9c0d3f36935c444922661e24af523b116ab1') # libmpi.so.1.0.1
- version('1.5.1', sha256='c28bb0bd367ceeec08f739d815988fca54fc4818762e6abcaa6cfedd6fd52274') # libmpi.so.1.0.0
- version('1.5', sha256='1882b1414a94917ec26b3733bf59da6b6db82bf65b5affd7f0fcbd96efaca506') # libmpi.so.1.0.0
-
- version('1.4.5', sha256='a3857bc69b7d5258cf7fc1ed1581d9ac69110f5c17976b949cb7ec789aae462d') # libmpi.so.0.0.4
- version('1.4.4', sha256='9ad125304a89232d5b04da251f463fdbd8dcd997450084ba4227e7f7a095c3ed') # libmpi.so.0.0.3
- version('1.4.3', sha256='220b72b1c7ee35469ff74b4cfdbec457158ac6894635143a33e9178aa3981015') # libmpi.so.0.0.2
- version('1.4.2', sha256='19129e3d51860ad0a7497ede11563908ba99c76b3a51a4d0b8801f7e2db6cd80') # libmpi.so.0.0.2
- version('1.4.1', sha256='d4d71d7c670d710d2d283ea60af50d6c315318a4c35ec576bedfd0f3b7b8c218') # libmpi.so.0.0.1
- version('1.4', sha256='fa55edef1bd8af256e459d4d9782516c6998b9d4698eda097d5df33ae499858e') # libmpi.so.0.0.1
-
- version('1.3.4', sha256='fbfe4b99b0c98f81a4d871d02f874f84ea66efcbb098f6ad84ebd19353b681fc') # libmpi.so.0.0.1
- version('1.3.3', sha256='e1425853282da9237f5b41330207e54da1dc803a2e19a93dacc3eca1d083e422') # libmpi.so.0.0.0
- version('1.3.2', sha256='c93ed90962d879a2923bed17171ed9217036ee1279ffab0925ea7eead26105d8') # libmpi.so.0.0.0
- version('1.3.1', sha256='22d18919ddc5f49d55d7d63e2abfcdac34aa0234427e861e296a630c6c11632c') # libmpi.so.0.0.0
- version('1.3', sha256='864706d88d28b586a045461a828962c108f5912671071bc3ef0ca187f115e47b') # libmpi.so.0.0.0
-
- version('1.2.9', sha256='0eb36abe09ba7bf6f7a70255974e5d0a273f7f32d0e23419862c6dcc986f1dff') # libmpi.so.0.0.0
- version('1.2.8', sha256='75b286cb3b1bf6528a7e64ee019369e0601b8acb5c3c167a987f755d1e41c95c') # libmpi.so.0.0.0
- version('1.2.7', sha256='d66c7f0bb11494023451651d0e61afaef9d2199ed9a91ed08f0dedeb51541c36') # libmpi.so.0.0.0
- version('1.2.6', sha256='e5b27af5a153a257b1562a97bbf7164629161033934558cefd8e1e644a9f73d3') # libmpi.so.0.0.0
- version('1.2.5', sha256='3c3aed872c17165131c77bd7a12fe8aec776cb23da946b7d12840db93ab79322') # libmpi.so.0.0.0
- version('1.2.4', sha256='594a3a0af69cc7895e0d8f9add776a44bf9ed389794323d0b1b45e181a97e538') # libmpi.so.0.0.0
- version('1.2.3', sha256='f936ca3a197e5b2d1a233b7d546adf07898127683b03c4b37cf31ae22a6f69bb') # libmpi.so.0.0.0
- version('1.2.2', sha256='aa763e0e6a6f5fdff8f9d3fc988a4ba0ed902132d292c85aef392cc65bb524e6') # libmpi.so.0.0.0
- version('1.2.1', sha256='a94731d84fb998df33960e0b57ea5661d35e7c7cd9d03d900f0b6a5a72e4546c') # libmpi.so.0.0.0
- version('1.2', sha256='ba0bfa3dec2ead38a3ed682ca36a0448617b8e29191ab3f48c9d0d24d87d14c0') # libmpi.so.0.0.0
-
- version('1.1.5', sha256='913deaedf3498bd5d06299238ec4d048eb7af9c3afd8e32c12f4257c8b698a91') # libmpi.so.0.0.0
- version('1.1.4', sha256='21c37f85df7e959f17cc7cb5571d8db2a94ed2763e3e96e5d052aff2725c1d18') # libmpi.so.0.0.0
- version('1.1.3', sha256='c33f8f5e65cfe872173616cca27ae8dc6d93ea66e0708118b9229128aecc174f') # libmpi.so.0.0.0
- version('1.1.2', sha256='3bd8d9fe40b356be7f9c3d336013d3865f8ca6a79b3c6e7ef28784f6c3a2b8e6') # libmpi.so.0.0.0
- version('1.1.1', sha256='dc31aaec986c4ce436dbf31e73275ed1a9391432dcad7609de8d0d3a78d2c700') # libmpi.so.0.0.0
- version('1.1', sha256='ebe14801d2caeeaf47b0e437b43f73668b711f4d3fcff50a0d665d4bd4ea9531') # libmpi.so.0.0.0
-
- version('1.0.2', sha256='ccd1074d7dd9566b73812d9882c84e446a8f4c77b6f471d386d3e3b9467767b8') # libmpi.so.0.0.0
- version('1.0.1', sha256='f801b7c8ea6c485ac0709a628a479aeafa718a205ed6bc0cf2c684bc0cc73253') # libmpi.so.0.0.0
- version('1.0', sha256='cf75e56852caebe90231d295806ac3441f37dc6d9ad17b1381791ebb78e21564') # libmpi.so.0.0.0
-
- patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
- patch('llnl-platforms.patch', when="@1.6.5")
- patch('configure.patch', when="@1.10.1")
- patch('fix_multidef_pmi_class.patch', when="@2.0.0:2.0.1")
- patch('fix-ucx-1.7.0-api-instability.patch', when='@4.0.0:4.0.2')
+ version(
+ "1.10.7", sha256="a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90"
+ ) # libmpi.so.12.0.7
+ version(
+ "1.10.6", sha256="65606184a084a0eda6102b01e5a36a8f02d3195d15e91eabbb63e898bd110354"
+ ) # libmpi.so.12.0.6
+ version(
+ "1.10.5", sha256="a95fa355ed3a905c7c187bc452529a9578e2d6bae2559d8197544ab4227b759e"
+ ) # libmpi.so.12.0.5
+ version(
+ "1.10.4", sha256="fb3c0c4c77896185013b6091b306d29ba592eb40d8395533da5c8bc300d922db"
+ ) # libmpi.so.12.0.4
+ version(
+ "1.10.3", sha256="7484bb664312082fd12edc2445b42362089b53b17fb5fce12efd4fe452cc254d"
+ ) # libmpi.so.12.0.3
+ version(
+ "1.10.2", sha256="8846e7e69a203db8f50af90fa037f0ba47e3f32e4c9ccdae2db22898fd4d1f59"
+ ) # libmpi.so.12.0.2
+ version(
+ "1.10.1", sha256="7919ecde15962bab2e26d01d5f5f4ead6696bbcacb504b8560f2e3a152bfe492"
+ ) # libmpi.so.12.0.1
+ version(
+ "1.10.0", sha256="26b432ce8dcbad250a9787402f2c999ecb6c25695b00c9c6ee05a306c78b6490"
+ ) # libmpi.so.12.0.0
+
+ version(
+ "1.8.8", sha256="a28382d1e6a36f4073412dc00836ff2524e42b674da9caf6ca7377baad790b94"
+ ) # libmpi.so.1.6.3
+ version(
+ "1.8.7", sha256="da629e9bd820a379cfafe15f842ee9b628d7451856085ccc23ee75ab3e1b48c7"
+ ) # libmpi.so.1.6.2
+ version(
+ "1.8.6", sha256="b9fe3bdfb86bd42cc53448e17f11278531b989b05ff9513bc88ba1a523f14e87"
+ ) # libmpi.so.1.6.1
+ version(
+ "1.8.5", sha256="4cea06a9eddfa718b09b8240d934b14ca71670c2dc6e6251a585ce948a93fbc4"
+ ) # libmpi.so.1.6.0
+ version(
+ "1.8.4", sha256="23158d916e92c80e2924016b746a93913ba7fae9fff51bf68d5c2a0ae39a2f8a"
+ ) # libmpi.so.1.6.0
+ version(
+ "1.8.3", sha256="2ef02dab61febeb74714ff80d508c00b05defc635b391ed2c8dcc1791fbc88b3"
+ ) # libmpi.so.1.6.0
+ version(
+ "1.8.2", sha256="ab70770faf1bac15ef44301fe2186b02f857646545492dd7331404e364a7d131"
+ ) # libmpi.so.1.5.2
+ version(
+ "1.8.1", sha256="171427ebc007943265f33265ec32e15e786763952e2bfa2eac95e3e192c1e18f"
+ ) # libmpi.so.1.5.0
+ version(
+ "1.8", sha256="35d5db86f49c0c64573b2eaf6d51c94ed8a06a9bb23dda475e602288f05e4ecf"
+ ) # libmpi.so.1.5.0
+
+ version(
+ "1.7.5", sha256="cb3eef6880537d341d5d098511d390ec853716a6ec94007c03a0d1491b2ac8f2"
+ ) # libmpi.so.1.4.0
+ version(
+ "1.7.4", sha256="ff8e31046c5bacfc6202d67f2479731ccd8542cdd628583ae75874000975f45c"
+ ) # libmpi.so.1.3.0
+ version(
+ "1.7.3", sha256="438d96c178dbf5a1bc92fa1d238a8225d87b64af26ce2a07789faaf312117e45"
+ ) # libmpi.so.1.2.0
+ version(
+ "1.7.2", sha256="82a1c477dcadad2032ab24d9be9e39c1042865965841911f072c49aa3544fd85"
+ ) # libmpi.so.1.1.2
+ version(
+ "1.7.1", sha256="554583008fa34ecdfaca22e46917cc3457a69cba08c29ebbf53eef4f4b8be171"
+ ) # libmpi.so.1.1.1
+ version(
+ "1.7", sha256="542e44aaef6546798c0d39c0fd849e9fbcd04a762f0ab100638499643253a513"
+ ) # libmpi.so.1.1.0
+
+ version(
+ "1.6.5", sha256="fe37bab89b5ef234e0ac82dc798282c2ab08900bf564a1ec27239d3f1ad1fc85"
+ ) # libmpi.so.1.0.8
+ version(
+ "1.6.4", sha256="40cb113a27d76e1e915897661579f413564c032dc6e703073e6a03faba8093fa"
+ ) # libmpi.so.1.0.7
+ version(
+ "1.6.3", sha256="0c30cfec0e420870630fdc101ffd82f7eccc90276bc4e182f8282a2448668798"
+ ) # libmpi.so.1.0.6
+ version(
+ "1.6.2", sha256="5cc7744c6cc4ec2c04bc76c8b12717c4011822a2bd7236f2ea511f09579a714a"
+ ) # libmpi.so.1.0.3
+ version(
+ "1.6.1", sha256="077240dd1ab10f0caf26931e585db73848e9815c7119b993f91d269da5901e3a"
+ ) # libmpi.so.1.0.3
+ version(
+ "1.6", sha256="6e0d8b336543fb9ab78c97d364484923167857d30b266dfde1ccf60f356b9e0e"
+ ) # libmpi.so.1.0.3
+
+ version(
+ "1.5.5", sha256="660e6e49315185f88a87b6eae3d292b81774eab7b29a9b058b10eb35d892ff23"
+ ) # libmpi.so.1.0.3
+ version(
+ "1.5.4", sha256="81126a95a51b8af4bb0ad28790f852c30d22d989713ec30ad22e9e0a79587ef6"
+ ) # libmpi.so.1.0.2
+ version(
+ "1.5.3", sha256="70745806cdbe9b945d47d9fa058f99e072328e41e40c0ced6dd75220885c5263"
+ ) # libmpi.so.1.0.1
+ version(
+ "1.5.2", sha256="7123b781a9fd21cc79870e7fe01e9c0d3f36935c444922661e24af523b116ab1"
+ ) # libmpi.so.1.0.1
+ version(
+ "1.5.1", sha256="c28bb0bd367ceeec08f739d815988fca54fc4818762e6abcaa6cfedd6fd52274"
+ ) # libmpi.so.1.0.0
+ version(
+ "1.5", sha256="1882b1414a94917ec26b3733bf59da6b6db82bf65b5affd7f0fcbd96efaca506"
+ ) # libmpi.so.1.0.0
+
+ version(
+ "1.4.5", sha256="a3857bc69b7d5258cf7fc1ed1581d9ac69110f5c17976b949cb7ec789aae462d"
+ ) # libmpi.so.0.0.4
+ version(
+ "1.4.4", sha256="9ad125304a89232d5b04da251f463fdbd8dcd997450084ba4227e7f7a095c3ed"
+ ) # libmpi.so.0.0.3
+ version(
+ "1.4.3", sha256="220b72b1c7ee35469ff74b4cfdbec457158ac6894635143a33e9178aa3981015"
+ ) # libmpi.so.0.0.2
+ version(
+ "1.4.2", sha256="19129e3d51860ad0a7497ede11563908ba99c76b3a51a4d0b8801f7e2db6cd80"
+ ) # libmpi.so.0.0.2
+ version(
+ "1.4.1", sha256="d4d71d7c670d710d2d283ea60af50d6c315318a4c35ec576bedfd0f3b7b8c218"
+ ) # libmpi.so.0.0.1
+ version(
+ "1.4", sha256="fa55edef1bd8af256e459d4d9782516c6998b9d4698eda097d5df33ae499858e"
+ ) # libmpi.so.0.0.1
+
+ version(
+ "1.3.4", sha256="fbfe4b99b0c98f81a4d871d02f874f84ea66efcbb098f6ad84ebd19353b681fc"
+ ) # libmpi.so.0.0.1
+ version(
+ "1.3.3", sha256="e1425853282da9237f5b41330207e54da1dc803a2e19a93dacc3eca1d083e422"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.3.2", sha256="c93ed90962d879a2923bed17171ed9217036ee1279ffab0925ea7eead26105d8"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.3.1", sha256="22d18919ddc5f49d55d7d63e2abfcdac34aa0234427e861e296a630c6c11632c"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.3", sha256="864706d88d28b586a045461a828962c108f5912671071bc3ef0ca187f115e47b"
+ ) # libmpi.so.0.0.0
+
+ version(
+ "1.2.9", sha256="0eb36abe09ba7bf6f7a70255974e5d0a273f7f32d0e23419862c6dcc986f1dff"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.8", sha256="75b286cb3b1bf6528a7e64ee019369e0601b8acb5c3c167a987f755d1e41c95c"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.7", sha256="d66c7f0bb11494023451651d0e61afaef9d2199ed9a91ed08f0dedeb51541c36"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.6", sha256="e5b27af5a153a257b1562a97bbf7164629161033934558cefd8e1e644a9f73d3"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.5", sha256="3c3aed872c17165131c77bd7a12fe8aec776cb23da946b7d12840db93ab79322"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.4", sha256="594a3a0af69cc7895e0d8f9add776a44bf9ed389794323d0b1b45e181a97e538"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.3", sha256="f936ca3a197e5b2d1a233b7d546adf07898127683b03c4b37cf31ae22a6f69bb"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.2", sha256="aa763e0e6a6f5fdff8f9d3fc988a4ba0ed902132d292c85aef392cc65bb524e6"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2.1", sha256="a94731d84fb998df33960e0b57ea5661d35e7c7cd9d03d900f0b6a5a72e4546c"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.2", sha256="ba0bfa3dec2ead38a3ed682ca36a0448617b8e29191ab3f48c9d0d24d87d14c0"
+ ) # libmpi.so.0.0.0
+
+ version(
+ "1.1.5", sha256="913deaedf3498bd5d06299238ec4d048eb7af9c3afd8e32c12f4257c8b698a91"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.1.4", sha256="21c37f85df7e959f17cc7cb5571d8db2a94ed2763e3e96e5d052aff2725c1d18"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.1.3", sha256="c33f8f5e65cfe872173616cca27ae8dc6d93ea66e0708118b9229128aecc174f"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.1.2", sha256="3bd8d9fe40b356be7f9c3d336013d3865f8ca6a79b3c6e7ef28784f6c3a2b8e6"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.1.1", sha256="dc31aaec986c4ce436dbf31e73275ed1a9391432dcad7609de8d0d3a78d2c700"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.1", sha256="ebe14801d2caeeaf47b0e437b43f73668b711f4d3fcff50a0d665d4bd4ea9531"
+ ) # libmpi.so.0.0.0
+
+ version(
+ "1.0.2", sha256="ccd1074d7dd9566b73812d9882c84e446a8f4c77b6f471d386d3e3b9467767b8"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.0.1", sha256="f801b7c8ea6c485ac0709a628a479aeafa718a205ed6bc0cf2c684bc0cc73253"
+ ) # libmpi.so.0.0.0
+ version(
+ "1.0", sha256="cf75e56852caebe90231d295806ac3441f37dc6d9ad17b1381791ebb78e21564"
+ ) # libmpi.so.0.0.0
+
+ patch("ad_lustre_rwcontig_open_source.patch", when="@1.6.5")
+ patch("llnl-platforms.patch", when="@1.6.5")
+ patch("configure.patch", when="@1.10.1")
+ patch("fix_multidef_pmi_class.patch", when="@2.0.0:2.0.1")
+ patch("fix-ucx-1.7.0-api-instability.patch", when="@4.0.0:4.0.2")
# Vader Bug: https://github.com/open-mpi/ompi/issues/5375
# Haven't release fix for 2.1.x
- patch('btl_vader.patch', when='@2.1.3:2.1.5')
+ patch("btl_vader.patch", when="@2.1.3:2.1.5")
# Fixed in 3.0.3 and 3.1.3
- patch('btl_vader.patch', when='@3.0.1:3.0.2')
- patch('btl_vader.patch', when='@3.1.0:3.1.2')
+ patch("btl_vader.patch", when="@3.0.1:3.0.2")
+ patch("btl_vader.patch", when="@3.1.0:3.1.2")
# Make NAG compiler pass the -pthread option to the linker:
# https://github.com/open-mpi/ompi/pull/6378
# We support only versions based on Libtool 2.4.6.
- patch('nag_pthread/2.1.4_2.1.999_3.0.1_4.patch', when='@2.1.4:2.1,3.0.1:4%nag')
- patch('nag_pthread/2.1.2_2.1.3_3.0.0.patch', when='@2.1.2:2.1.3,3.0.0%nag')
- 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%nag')
+ patch("nag_pthread/2.1.4_2.1.999_3.0.1_4.patch", when="@2.1.4:2.1,3.0.1:4%nag")
+ patch("nag_pthread/2.1.2_2.1.3_3.0.0.patch", when="@2.1.2:2.1.3,3.0.0%nag")
+ 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%nag")
- patch('nvhpc-libtool.patch', when='@main %nvhpc')
- patch('nvhpc-configure.patch', when='%nvhpc')
+ patch("nvhpc-libtool.patch", when="@main %nvhpc")
+ patch("nvhpc-configure.patch", when="%nvhpc")
# Fix MPI_Sizeof() in the "mpi" Fortran module for compilers that do not
# support "IGNORE TKR" functionality (e.g. NAG).
@@ -195,60 +401,82 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# The first one was applied starting version v3.0.0 and backported to
# v1.10. A subset with relevant modifications is applicable starting
# version 1.8.4.
- patch('use_mpi_tkr_sizeof/step_1.patch', when='@1.8.4:1.10.6,2.0:2')
+ patch("use_mpi_tkr_sizeof/step_1.patch", when="@1.8.4:1.10.6,2.0:2")
# The second patch was applied starting version v4.0.0 and backported to
# v2.x, v3.0.x, and v3.1.x.
- patch('use_mpi_tkr_sizeof/step_2.patch', when='@1.8.4:2.1.3,3:3.0.1')
+ patch("use_mpi_tkr_sizeof/step_2.patch", when="@1.8.4:2.1.3,3:3.0.1")
# To fix performance regressions introduced while fixing a bug in older
# gcc versions on x86_64, Refs. open-mpi/ompi#8603
- patch('opal_assembly_arch.patch', when='@4.0.0:4.0.5,4.1.0')
+ patch("opal_assembly_arch.patch", when="@4.0.0:4.0.5,4.1.0")
variant(
- 'fabrics',
+ "fabrics",
values=disjoint_sets(
- ('auto',),
- ('psm', 'psm2', 'verbs',
- 'mxm', 'ucx', 'ofi',
- 'fca', 'hcoll',
- 'xpmem', 'cma', 'knem') # shared memory transports
- ).with_non_feature_values('auto', 'none'),
- description="List of fabrics that are enabled; "
- "'auto' lets openmpi determine",
+ ("auto",),
+ (
+ "psm",
+ "psm2",
+ "verbs",
+ "mxm",
+ "ucx",
+ "ofi",
+ "fca",
+ "hcoll",
+ "xpmem",
+ "cma",
+ "knem",
+ ), # shared memory transports
+ ).with_non_feature_values("auto", "none"),
+ description="List of fabrics that are enabled; " "'auto' lets openmpi determine",
)
variant(
- 'schedulers',
+ "schedulers",
values=disjoint_sets(
- ('auto',),
- ('alps', 'lsf', 'tm',
- 'slurm', 'sge', 'loadleveler')
- ).with_non_feature_values('auto', 'none'),
+ ("auto",), ("alps", "lsf", "tm", "slurm", "sge", "loadleveler")
+ ).with_non_feature_values("auto", "none"),
description="List of schedulers for which support is enabled; "
- "'auto' lets openmpi determine",
+ "'auto' lets openmpi determine",
)
# Additional support options
- variant('atomics', default=False, description='Enable built-in atomics')
- variant('java', default=False, when='@1.7.4:', description='Build Java support')
- variant('static', default=True, description='Build static libraries')
- variant('sqlite3', default=False, when='@1.7.3:1', description='Build SQLite3 support')
- variant('vt', default=True, description='Build VampirTrace support')
- variant('thread_multiple', default=False, when='@1.5.4:2',
- description='Enable MPI_THREAD_MULTIPLE support')
- variant('pmi', default=False, when='@1.5.5:4 schedulers=slurm', description='Enable PMI support')
- variant('wrapper-rpath', default=True, when='@1.7.4:',
- description='Enable rpath support in the wrappers')
- variant('cxx', default=False, when='@:4',
- description='Enable deprecated C++ MPI bindings')
- variant('cxx_exceptions', default=False, when='@:4',
- description='Enable deprecated C++ exception support')
- variant('gpfs', default=False, description='Enable GPFS support')
- variant('singularity', default=False, when='@:4',
- description="Build deprecated support for the Singularity container")
- variant('lustre', default=False,
- description="Lustre filesystem library support")
- variant('romio', default=True, description='Enable ROMIO support')
- variant('rsh', default=True, description='Enable rsh (openssh) process lifecycle management')
+ variant("atomics", default=False, description="Enable built-in atomics")
+ variant("java", default=False, when="@1.7.4:", description="Build Java support")
+ variant("static", default=True, description="Build static libraries")
+ variant("sqlite3", default=False, when="@1.7.3:1", description="Build SQLite3 support")
+ variant("vt", default=True, description="Build VampirTrace support")
+ variant(
+ "thread_multiple",
+ default=False,
+ when="@1.5.4:2",
+ description="Enable MPI_THREAD_MULTIPLE support",
+ )
+ variant(
+ "pmi", default=False, when="@1.5.5:4 schedulers=slurm", description="Enable PMI support"
+ )
+ variant(
+ "wrapper-rpath",
+ default=True,
+ when="@1.7.4:",
+ description="Enable rpath support in the wrappers",
+ )
+ variant("cxx", default=False, when="@:4", description="Enable deprecated C++ MPI bindings")
+ variant(
+ "cxx_exceptions",
+ default=False,
+ when="@:4",
+ description="Enable deprecated C++ exception support",
+ )
+ variant("gpfs", default=False, description="Enable GPFS support")
+ variant(
+ "singularity",
+ default=False,
+ when="@:4",
+ description="Build deprecated support for the Singularity container",
+ )
+ variant("lustre", default=False, description="Lustre filesystem library support")
+ variant("romio", default=True, description="Enable ROMIO support")
+ variant("rsh", default=True, description="Enable rsh (openssh) process lifecycle management")
# Adding support to build a debug version of OpenMPI that activates
# Memchecker, as described here:
#
@@ -256,114 +484,118 @@ class Openmpi(AutotoolsPackage, CudaPackage):
#
# This option degrades run-time support, and thus is disabled by default
variant(
- 'memchecker',
+ "memchecker",
default=False,
- description='Memchecker support for debugging [degrades performance]'
+ description="Memchecker support for debugging [degrades performance]",
)
variant(
- 'legacylaunchers',
+ "legacylaunchers",
default=False,
- description='Do not remove mpirun/mpiexec when building with slurm'
+ description="Do not remove mpirun/mpiexec when building with slurm",
)
# Variants to use internal packages
- variant('internal-hwloc', default=False, description='Use internal hwloc')
+ variant("internal-hwloc", default=False, description="Use internal hwloc")
- provides('mpi')
- provides('mpi@:2.2', when='@1.6.5')
- provides('mpi@:3.0', when='@1.7.5:')
- provides('mpi@:3.1', when='@2.0.0:')
+ provides("mpi")
+ provides("mpi@:2.2", when="@1.6.5")
+ provides("mpi@:3.0", when="@1.7.5:")
+ provides("mpi@:3.1", when="@2.0.0:")
- if sys.platform != 'darwin':
- depends_on('numactl')
+ if sys.platform != "darwin":
+ depends_on("numactl")
- depends_on('autoconf @2.69:', type='build', when='@main')
- depends_on('automake @1.13.4:', type='build', when='@main')
- depends_on('libtool @2.4.2:', type='build', when='@main')
- depends_on('m4', type='build', when='@main')
+ depends_on("autoconf @2.69:", type="build", when="@main")
+ depends_on("automake @1.13.4:", type="build", when="@main")
+ depends_on("libtool @2.4.2:", type="build", when="@main")
+ depends_on("m4", type="build", when="@main")
- depends_on('perl', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("perl", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('hwloc@2:', when='@4: ~internal-hwloc')
+ depends_on("hwloc@2:", when="@4: ~internal-hwloc")
# ompi@:3.0.0 doesn't support newer hwloc releases:
# "configure: error: OMPI does not currently support hwloc v2 API"
# Future ompi releases may support it, needs to be verified.
# See #7483 for context.
- depends_on('hwloc@:1', when='@:3 ~internal-hwloc')
+ depends_on("hwloc@:1", when="@:3 ~internal-hwloc")
- depends_on('hwloc +cuda', when='+cuda ~internal-hwloc')
- depends_on('java', when='+java')
- depends_on('sqlite', when='+sqlite3')
- depends_on('zlib', when='@3:')
- depends_on('valgrind~mpi', when='+memchecker')
+ depends_on("hwloc +cuda", when="+cuda ~internal-hwloc")
+ depends_on("java", when="+java")
+ depends_on("sqlite", when="+sqlite3")
+ depends_on("zlib", when="@3:")
+ depends_on("valgrind~mpi", when="+memchecker")
# Singularity release 3 works better
- depends_on('singularity@3:', when='+singularity')
- depends_on('lustre', when='+lustre')
-
- depends_on('opa-psm2', when='fabrics=psm2')
- depends_on('rdma-core', when='fabrics=verbs')
- depends_on('mxm', when='fabrics=mxm')
- depends_on('binutils+libiberty', when='fabrics=mxm')
- with when('fabrics=ucx'):
- depends_on('ucx')
- depends_on('ucx +thread_multiple', when='+thread_multiple')
- depends_on('ucx +thread_multiple', when='@3.0.0:')
- depends_on('ucx@1.9.0:', when='@4.0.6:4.0')
- depends_on('ucx@1.9.0:', when='@4.1.1:4.1')
- depends_on('ucx@1.9.0:', when='@5.0.0:')
- depends_on('libfabric', when='fabrics=ofi')
- depends_on('fca', when='fabrics=fca')
- depends_on('hcoll', when='fabrics=hcoll')
- depends_on('xpmem', when='fabrics=xpmem')
- depends_on('knem', when='fabrics=knem')
-
- depends_on('lsf', when='schedulers=lsf')
- depends_on('pbs', when='schedulers=tm')
- depends_on('slurm', when='schedulers=slurm')
+ depends_on("singularity@3:", when="+singularity")
+ depends_on("lustre", when="+lustre")
+
+ depends_on("opa-psm2", when="fabrics=psm2")
+ depends_on("rdma-core", when="fabrics=verbs")
+ depends_on("mxm", when="fabrics=mxm")
+ depends_on("binutils+libiberty", when="fabrics=mxm")
+ with when("fabrics=ucx"):
+ depends_on("ucx")
+ depends_on("ucx +thread_multiple", when="+thread_multiple")
+ depends_on("ucx +thread_multiple", when="@3.0.0:")
+ depends_on("ucx@1.9.0:", when="@4.0.6:4.0")
+ depends_on("ucx@1.9.0:", when="@4.1.1:4.1")
+ depends_on("ucx@1.9.0:", when="@5.0.0:")
+ depends_on("libfabric", when="fabrics=ofi")
+ depends_on("fca", when="fabrics=fca")
+ depends_on("hcoll", when="fabrics=hcoll")
+ depends_on("xpmem", when="fabrics=xpmem")
+ depends_on("knem", when="fabrics=knem")
+
+ depends_on("lsf", when="schedulers=lsf")
+ depends_on("pbs", when="schedulers=tm")
+ depends_on("slurm", when="schedulers=slurm")
# PMIx is unavailable for @1, and required for @2:
# OpenMPI @2: includes a vendored version:
# depends_on('pmix@1.1.2', when='@2.1.6')
# depends_on('pmix@3.2.3', when='@4.1.2')
- depends_on('pmix@1.0:1', when='@2.0:2')
- depends_on('pmix@3.2:', when='@4.0:4')
- depends_on('pmix@5:', when='@5.0:5')
+ depends_on("pmix@1.0:1", when="@2.0:2")
+ depends_on("pmix@3.2:", when="@4.0:4")
+ depends_on("pmix@5:", when="@5.0:5")
# Libevent is required when *vendored* PMIx is used
- depends_on('libevent@2:', when='@main')
+ depends_on("libevent@2:", when="@main")
- depends_on('openssh', type='run', when='+rsh')
+ depends_on("openssh", type="run", when="+rsh")
- conflicts('+cxx_exceptions', when='%nvhpc',
- msg='nvc does not ignore -fexceptions, but errors')
+ conflicts("+cxx_exceptions", when="%nvhpc", msg="nvc does not ignore -fexceptions, but errors")
# CUDA support was added in 1.7, and since the variant is part of the
# parent package we must express as a conflict rather than a conditional
# variant.
- conflicts('+cuda', when='@:1.6')
+ conflicts("+cuda", when="@:1.6")
# PSM2 support was added in 1.10.0
- conflicts('fabrics=psm2', when='@:1.8')
+ conflicts("fabrics=psm2", when="@:1.8")
# MXM support was added in 1.5.4
- conflicts('fabrics=mxm', when='@:1.5.3')
+ conflicts("fabrics=mxm", when="@:1.5.3")
# libfabric (OFI) support was added in 1.10.0
- conflicts('fabrics=ofi', when='@:1.8')
+ conflicts("fabrics=ofi", when="@:1.8")
# fca support was added in 1.5.0 and removed in 5.0.0
- conflicts('fabrics=fca', when='@:1.4,5:')
+ conflicts("fabrics=fca", when="@:1.4,5:")
# hcoll support was added in 1.7.3:
- conflicts('fabrics=hcoll', when='@:1.7.2')
+ conflicts("fabrics=hcoll", when="@:1.7.2")
# xpmem support was added in 1.7
- conflicts('fabrics=xpmem', when='@:1.6')
+ conflicts("fabrics=xpmem", when="@:1.6")
# cma support was added in 1.7
- conflicts('fabrics=cma', when='@:1.6')
+ conflicts("fabrics=cma", when="@:1.6")
# knem support was added in 1.5
- conflicts('fabrics=knem', when='@:1.4')
+ conflicts("fabrics=knem", when="@:1.4")
- conflicts('schedulers=slurm ~pmi', when='@1.5.4',
- msg='+pmi is required for openmpi to work with SLURM.')
- conflicts('schedulers=loadleveler', when='@3:',
- msg='The loadleveler scheduler is not supported with '
- 'openmpi(>=3).')
+ conflicts(
+ "schedulers=slurm ~pmi",
+ when="@1.5.4",
+ msg="+pmi is required for openmpi to work with SLURM.",
+ )
+ conflicts(
+ "schedulers=loadleveler",
+ when="@3:",
+ msg="The loadleveler scheduler is not supported with " "openmpi(>=3).",
+ )
# According to this comment on github:
#
@@ -372,16 +604,16 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# adding --enable-static silently disables slurm support via pmi/pmi2
# for versions older than 3.0.3,3.1.3,4.0.0
# Presumably future versions after 11/2018 should support slurm+static
- conflicts('+static', when='schedulers=slurm @:3.0.2,3.1:3.1.2,4.0.0')
+ conflicts("+static", when="schedulers=slurm @:3.0.2,3.1:3.1.2,4.0.0")
- filter_compiler_wrappers('openmpi/*-wrapper-data*', relative_root='share')
+ filter_compiler_wrappers("openmpi/*-wrapper-data*", relative_root="share")
- extra_install_tests = 'examples'
+ extra_install_tests = "examples"
@classmethod
def determine_version(cls, exe):
output = Executable(exe)(output=str, error=str)
- match = re.search(r'Open MPI: (\S+)', output)
+ match = re.search(r"Open MPI: (\S+)", output)
return Version(match.group(1)) if match else None
@classmethod
@@ -397,134 +629,130 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# by the openmpi package in the absense of any other info.
# atomics
- if re.search(r'--enable-builtin-atomics', output):
+ if re.search(r"--enable-builtin-atomics", output):
variants.append("+atomics")
# java
- if version in spack.version.ver('1.7.4:'):
- match = re.search(r'\bJava bindings: (\S+)', output)
+ if version in spack.version.ver("1.7.4:"):
+ match = re.search(r"\bJava bindings: (\S+)", output)
if match and is_enabled(match.group(1)):
variants.append("+java")
else:
variants.append("~java")
# static
- if re.search(r'--enable-static', output):
+ if re.search(r"--enable-static", output):
variants.append("+static")
- elif re.search(r'--disable-static', output):
+ elif re.search(r"--disable-static", output):
variants.append("~static")
- elif re.search(r'\bMCA (?:coll|oca|pml): monitoring',
- output):
+ elif re.search(r"\bMCA (?:coll|oca|pml): monitoring", output):
# Built multiple variants of openmpi and ran diff.
# This seems to be the distinguishing feature.
variants.append("~static")
# sqlite
- if version in spack.version.ver('1.7.3:1'):
- if re.search(r'\bMCA db: sqlite', output):
+ if version in spack.version.ver("1.7.3:1"):
+ if re.search(r"\bMCA db: sqlite", output):
variants.append("+sqlite3")
else:
variants.append("~sqlite3")
# vt
- if re.search(r'--enable-contrib-no-build=vt', output):
- variants.append('+vt')
+ if re.search(r"--enable-contrib-no-build=vt", output):
+ variants.append("+vt")
# thread_multiple
- if version in spack.version.ver('1.5.4:2'):
- match = re.search(r'MPI_THREAD_MULTIPLE: (\S+?),?', output)
+ if version in spack.version.ver("1.5.4:2"):
+ match = re.search(r"MPI_THREAD_MULTIPLE: (\S+?),?", output)
if match and is_enabled(match.group(1)):
- variants.append('+thread_multiple')
+ variants.append("+thread_multiple")
else:
- variants.append('~thread_multiple')
+ variants.append("~thread_multiple")
# cuda
match = re.search(
- r'parameter "mpi_built_with_cuda_support" ' +
- r'\(current value: "(\S+)"',
- output)
+ r'parameter "mpi_built_with_cuda_support" ' + r'\(current value: "(\S+)"', output
+ )
if match and is_enabled(match.group(1)):
- variants.append('+cuda')
+ variants.append("+cuda")
else:
- variants.append('~cuda')
+ variants.append("~cuda")
# wrapper-rpath
- if version in spack.version.ver('1.7.4:'):
- match = re.search(r'\bWrapper compiler rpath: (\S+)', output)
+ if version in spack.version.ver("1.7.4:"):
+ match = re.search(r"\bWrapper compiler rpath: (\S+)", output)
if match and is_enabled(match.group(1)):
- variants.append('+wrapper-rpath')
+ variants.append("+wrapper-rpath")
else:
- variants.append('~wrapper-rpath')
+ variants.append("~wrapper-rpath")
# cxx
- if version in spack.version.ver(':4'):
- match = re.search(r'\bC\+\+ bindings: (\S+)', output)
- if match and match.group(1) == 'yes':
- variants.append('+cxx')
+ if version in spack.version.ver(":4"):
+ match = re.search(r"\bC\+\+ bindings: (\S+)", output)
+ if match and match.group(1) == "yes":
+ variants.append("+cxx")
else:
- variants.append('~cxx')
+ variants.append("~cxx")
# cxx_exceptions
- if version in spack.version.ver(':4'):
- match = re.search(r'\bC\+\+ exceptions: (\S+)', output)
- if match and match.group(1) == 'yes':
- variants.append('+cxx_exceptions')
+ if version in spack.version.ver(":4"):
+ match = re.search(r"\bC\+\+ exceptions: (\S+)", output)
+ if match and match.group(1) == "yes":
+ variants.append("+cxx_exceptions")
else:
- variants.append('~cxx_exceptions')
+ variants.append("~cxx_exceptions")
# singularity
- if version in spack.version.ver(':4'):
- if re.search(r'--with-singularity', output):
- variants.append('+singularity')
+ if version in spack.version.ver(":4"):
+ if re.search(r"--with-singularity", output):
+ variants.append("+singularity")
# lustre
- if re.search(r'--with-lustre', output):
- variants.append('+lustre')
+ if re.search(r"--with-lustre", output):
+ variants.append("+lustre")
# memchecker
- match = re.search(r'Memory debugging support: (\S+)', output)
+ match = re.search(r"Memory debugging support: (\S+)", output)
if match and is_enabled(match.group(1)):
- variants.append('+memchecker')
+ variants.append("+memchecker")
else:
- variants.append('~memchecker')
+ variants.append("~memchecker")
# pmi
- if version in spack.version.ver('1.5.5:4'):
- if re.search(r'\bMCA (?:ess|prrte): pmi', output):
- variants.append('+pmi')
+ if version in spack.version.ver("1.5.5:4"):
+ if re.search(r"\bMCA (?:ess|prrte): pmi", output):
+ variants.append("+pmi")
else:
- variants.append('~pmi')
+ variants.append("~pmi")
# fabrics
fabrics = get_options_from_variant(cls, "fabrics")
used_fabrics = []
for fabric in fabrics:
- match = re.search(r'\bMCA (?:mtl|btl|pml): %s\b' % fabric,
- output)
+ match = re.search(r"\bMCA (?:mtl|btl|pml): %s\b" % fabric, output)
if match:
used_fabrics.append(fabric)
if used_fabrics:
- variants.append('fabrics=' + ','.join(used_fabrics))
+ variants.append("fabrics=" + ",".join(used_fabrics))
# schedulers
schedulers = get_options_from_variant(cls, "schedulers")
used_schedulers = []
for scheduler in schedulers:
- match = re.search(r'\bMCA (?:prrte|ras): %s\b' % scheduler,
- output)
+ match = re.search(r"\bMCA (?:prrte|ras): %s\b" % scheduler, output)
if match:
used_schedulers.append(scheduler)
if used_schedulers:
- variants.append('schedulers=' + ','.join(used_schedulers))
+ variants.append("schedulers=" + ",".join(used_schedulers))
# Get the appropriate compiler
- match = re.search(r'\bC compiler absolute: (\S+)', output)
+ match = re.search(r"\bC compiler absolute: (\S+)", output)
if match:
compiler = match.group(1)
compiler_spec = get_spack_compiler_spec(compiler)
if compiler_spec:
variants.append("%" + str(compiler_spec))
- results.append(' '.join(variants))
+ results.append(" ".join(variants))
return results
def url_for_version(self, version):
@@ -533,56 +761,68 @@ class Openmpi(AutotoolsPackage, CudaPackage):
@property
def headers(self):
- hdrs = HeaderList(find(self.prefix.include, 'mpi.h', recursive=False))
+ hdrs = HeaderList(find(self.prefix.include, "mpi.h", recursive=False))
if not hdrs:
- hdrs = HeaderList(find(self.prefix, 'mpi.h', recursive=True))
+ hdrs = HeaderList(find(self.prefix, "mpi.h", recursive=True))
return hdrs or None
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- libraries = ['libmpi']
+ libraries = ["libmpi"]
- if 'cxx' in query_parameters:
- libraries = ['libmpi_cxx'] + libraries
+ if "cxx" in query_parameters:
+ libraries = ["libmpi_cxx"] + libraries
- return find_libraries(
- libraries, root=self.prefix, shared=True, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=True, recursive=True)
def setup_run_environment(self, env):
# Because MPI is both a runtime and a compiler, we have to setup the
# compiler components as part of the run environment.
- env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
- env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
- env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
- env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
+ env.set("MPICC", join_path(self.prefix.bin, "mpicc"))
+ env.set("MPICXX", join_path(self.prefix.bin, "mpic++"))
+ 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)
# Use the spack compiler wrappers under MPI
- env.set('OMPI_CC', spack_cc)
- env.set('OMPI_CXX', spack_cxx)
- env.set('OMPI_FC', spack_fc)
- env.set('OMPI_F77', spack_f77)
+ env.set("OMPI_CC", spack_cc)
+ env.set("OMPI_CXX", spack_cxx)
+ env.set("OMPI_FC", spack_fc)
+ env.set("OMPI_F77", spack_f77)
# See https://www.open-mpi.org/faq/?category=building#installdirs
- for suffix in ['PREFIX', 'EXEC_PREFIX', 'BINDIR', 'SBINDIR',
- 'LIBEXECDIR', 'DATAROOTDIR', 'DATADIR', 'SYSCONFDIR',
- 'SHAREDSTATEDIR', 'LOCALSTATEDIR', 'LIBDIR',
- 'INCLUDEDIR', 'INFODIR', 'MANDIR', 'PKGDATADIR',
- 'PKGLIBDIR', 'PKGINCLUDEDIR']:
- env.unset('OPAL_%s' % suffix)
+ for suffix in [
+ "PREFIX",
+ "EXEC_PREFIX",
+ "BINDIR",
+ "SBINDIR",
+ "LIBEXECDIR",
+ "DATAROOTDIR",
+ "DATADIR",
+ "SYSCONFDIR",
+ "SHAREDSTATEDIR",
+ "LOCALSTATEDIR",
+ "LIBDIR",
+ "INCLUDEDIR",
+ "INFODIR",
+ "MANDIR",
+ "PKGDATADIR",
+ "PKGLIBDIR",
+ "PKGINCLUDEDIR",
+ ]:
+ env.unset("OPAL_%s" % suffix)
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, 'mpic++')
- self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
- self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.prefix.bin, "mpic++")
+ self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
self.spec.mpicxx_shared_libs = [
- join_path(self.prefix.lib, 'libmpi_cxx.{0}'.format(dso_suffix)),
- join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ join_path(self.prefix.lib, "libmpi_cxx.{0}".format(dso_suffix)),
+ join_path(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
# Most of the following with_or_without methods might seem redundant
@@ -593,289 +833,279 @@ class Openmpi(AutotoolsPackage, CudaPackage):
def with_or_without_psm2(self, activated):
if not activated:
- return '--without-psm2'
- return '--with-psm2={0}'.format(self.spec['opa-psm2'].prefix)
+ return "--without-psm2"
+ return "--with-psm2={0}".format(self.spec["opa-psm2"].prefix)
def with_or_without_verbs(self, activated):
# Up through version 1.6, this option was named --with-openib.
# In version 1.7, it was renamed to be --with-verbs.
- opt = 'verbs' if self.spec.satisfies('@1.7:') else 'openib'
+ opt = "verbs" if self.spec.satisfies("@1.7:") else "openib"
if not activated:
- return '--without-{0}'.format(opt)
- return '--with-{0}={1}'.format(opt, self.spec['rdma-core'].prefix)
+ return "--without-{0}".format(opt)
+ return "--with-{0}={1}".format(opt, self.spec["rdma-core"].prefix)
def with_or_without_mxm(self, activated):
if not activated:
- return '--without-mxm'
- return '--with-mxm={0}'.format(self.spec['mxm'].prefix)
+ return "--without-mxm"
+ return "--with-mxm={0}".format(self.spec["mxm"].prefix)
def with_or_without_ucx(self, activated):
if not activated:
- return '--without-ucx'
- return '--with-ucx={0}'.format(self.spec['ucx'].prefix)
+ return "--without-ucx"
+ return "--with-ucx={0}".format(self.spec["ucx"].prefix)
def with_or_without_ofi(self, activated):
# Up through version 3.0.3 this option was name --with-libfabric.
# In version 3.0.4, the old name was deprecated in favor of --with-ofi.
- opt = 'ofi' if self.spec.satisfies('@3.0.4:') else 'libfabric'
+ opt = "ofi" if self.spec.satisfies("@3.0.4:") else "libfabric"
if not activated:
- return '--without-{0}'.format(opt)
- return '--with-{0}={1}'.format(opt, self.spec['libfabric'].prefix)
+ return "--without-{0}".format(opt)
+ return "--with-{0}={1}".format(opt, self.spec["libfabric"].prefix)
def with_or_without_fca(self, activated):
if not activated:
- return '--without-fca'
- return '--with-fca={0}'.format(self.spec['fca'].prefix)
+ return "--without-fca"
+ return "--with-fca={0}".format(self.spec["fca"].prefix)
def with_or_without_hcoll(self, activated):
if not activated:
- return '--without-hcoll'
- return '--with-hcoll={0}'.format(self.spec['hcoll'].prefix)
+ return "--without-hcoll"
+ return "--with-hcoll={0}".format(self.spec["hcoll"].prefix)
def with_or_without_xpmem(self, activated):
if not activated:
- return '--without-xpmem'
- return '--with-xpmem={0}'.format(self.spec['xpmem'].prefix)
+ return "--without-xpmem"
+ return "--with-xpmem={0}".format(self.spec["xpmem"].prefix)
def with_or_without_knem(self, activated):
if not activated:
- return '--without-knem'
- return '--with-knem={0}'.format(self.spec['knem'].prefix)
+ return "--without-knem"
+ return "--with-knem={0}".format(self.spec["knem"].prefix)
def with_or_without_lsf(self, activated):
if not activated:
- return '--without-lsf'
- return '--with-lsf={0}'.format(self.spec['lsf'].prefix)
+ return "--without-lsf"
+ return "--with-lsf={0}".format(self.spec["lsf"].prefix)
def with_or_without_tm(self, activated):
if not activated:
- return '--without-tm'
- return '--with-tm={0}'.format(self.spec['pbs'].prefix)
+ return "--without-tm"
+ return "--with-tm={0}".format(self.spec["pbs"].prefix)
- @run_before('autoreconf')
+ @run_before("autoreconf")
def die_without_fortran(self):
# Until we can pass variants such as +fortran through virtual
# dependencies depends_on('mpi'), require Fortran compiler to
# avoid delayed build errors in dependents.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError(
- 'OpenMPI requires both C and Fortran compilers!'
- )
+ raise InstallError("OpenMPI requires both C and Fortran compilers!")
- @when('@main')
+ @when("@main")
def autoreconf(self, spec, prefix):
- perl = which('perl')
- perl('autogen.pl')
+ perl = which("perl")
+ perl("autogen.pl")
def configure_args(self):
spec = self.spec
- config_args = [
- '--enable-shared',
- '--disable-silent-rules'
- ]
+ config_args = ["--enable-shared", "--disable-silent-rules"]
# All rpath flags should be appended with self.compiler.cc_rpath_arg.
# Later, we might need to update share/openmpi/mpic++-wrapper-data.txt
# and mpifort-wrapper-data.txt (see filter_rpaths()).
wrapper_ldflags = []
- config_args.extend(self.enable_or_disable(
- 'builtin-atomics', variant='atomics'
- ))
+ config_args.extend(self.enable_or_disable("builtin-atomics", variant="atomics"))
- if spec.satisfies('+pmi'):
- config_args.append('--with-pmi={0}'.format(spec['slurm'].prefix))
+ if spec.satisfies("+pmi"):
+ config_args.append("--with-pmi={0}".format(spec["slurm"].prefix))
else:
- config_args.extend(self.with_or_without('pmi'))
+ config_args.extend(self.with_or_without("pmi"))
- config_args.extend(self.enable_or_disable('static'))
+ config_args.extend(self.enable_or_disable("static"))
- if spec.satisfies('@4.0.0:4.0.2'):
+ if spec.satisfies("@4.0.0:4.0.2"):
# uct btl doesn't work with some UCX versions so just disable
- config_args.append('--enable-mca-no-build=btl-uct')
+ config_args.append("--enable-mca-no-build=btl-uct")
# Remove ssh/rsh pml
- if spec.satisfies('~rsh'):
- config_args.append('--enable-mca-no-build=plm-rsh')
+ if spec.satisfies("~rsh"):
+ config_args.append("--enable-mca-no-build=plm-rsh")
# some scientific packages ignore deprecated/remove symbols. Re-enable
# them for now, for discussion see
# https://github.com/open-mpi/ompi/issues/6114#issuecomment-446279495
- if spec.satisfies('@4.0.1:'):
- config_args.append('--enable-mpi1-compatibility')
+ if spec.satisfies("@4.0.1:"):
+ config_args.append("--enable-mpi1-compatibility")
# Fabrics
- if 'fabrics=auto' not in spec:
- config_args.extend(self.with_or_without('fabrics'))
+ if "fabrics=auto" not in spec:
+ config_args.extend(self.with_or_without("fabrics"))
- if spec.satisfies('@2.0.0:'):
- if 'fabrics=xpmem platform=cray' in spec:
- config_args.append('--with-cray-xpmem')
+ if spec.satisfies("@2.0.0:"):
+ if "fabrics=xpmem platform=cray" in spec:
+ config_args.append("--with-cray-xpmem")
else:
- config_args.append('--without-cray-xpmem')
+ config_args.append("--without-cray-xpmem")
# Schedulers
- if 'schedulers=auto' not in spec:
- config_args.extend(self.with_or_without('schedulers'))
-
- config_args.extend(self.enable_or_disable('memchecker'))
- if spec.satisfies('+memchecker', strict=True):
- config_args.extend([
- '--enable-debug',
- ])
+ if "schedulers=auto" not in spec:
+ config_args.extend(self.with_or_without("schedulers"))
+
+ config_args.extend(self.enable_or_disable("memchecker"))
+ if spec.satisfies("+memchecker", strict=True):
+ config_args.extend(
+ [
+ "--enable-debug",
+ ]
+ )
# Package dependencies
- for dep in ['libevent', 'lustre', 'pmix', 'singularity', 'valgrind',
- 'zlib']:
- if '^' + dep in spec:
- config_args.append('--with-{0}={1}'.format(
- dep, spec[dep].prefix))
+ for dep in ["libevent", "lustre", "pmix", "singularity", "valgrind", "zlib"]:
+ if "^" + dep in spec:
+ config_args.append("--with-{0}={1}".format(dep, spec[dep].prefix))
# Hwloc support
- if '^hwloc' in spec:
- config_args.append('--with-hwloc=' + spec['hwloc'].prefix)
+ if "^hwloc" in spec:
+ config_args.append("--with-hwloc=" + spec["hwloc"].prefix)
# Java support
- if '+java' in spec:
- config_args.extend([
- '--enable-java',
- '--enable-mpi-java',
- '--with-jdk-dir=' + spec['java'].home
- ])
- elif spec.satisfies('@1.7.4:'):
- config_args.extend([
- '--disable-java',
- '--disable-mpi-java'
- ])
-
- if '~romio' in spec:
- config_args.append('--disable-io-romio')
-
- if '+gpfs' in spec:
- config_args.append('--with-gpfs')
+ if "+java" in spec:
+ config_args.extend(
+ ["--enable-java", "--enable-mpi-java", "--with-jdk-dir=" + spec["java"].home]
+ )
+ elif spec.satisfies("@1.7.4:"):
+ config_args.extend(["--disable-java", "--disable-mpi-java"])
+
+ if "~romio" in spec:
+ config_args.append("--disable-io-romio")
+
+ if "+gpfs" in spec:
+ config_args.append("--with-gpfs")
else:
- config_args.append('--with-gpfs=no')
+ config_args.append("--with-gpfs=no")
# SQLite3 support
- config_args.extend(self.with_or_without('sqlite3'))
+ config_args.extend(self.with_or_without("sqlite3"))
# VampirTrace support
- if spec.satisfies('@1.3:1'):
- if '~vt' in spec:
- config_args.append('--enable-contrib-no-build=vt')
+ if spec.satisfies("@1.3:1"):
+ if "~vt" in spec:
+ config_args.append("--enable-contrib-no-build=vt")
# Multithreading support
- config_args.extend(self.enable_or_disable(
- 'mpi-thread-multiple', variant='thread_multiple'
- ))
+ config_args.extend(
+ self.enable_or_disable("mpi-thread-multiple", variant="thread_multiple")
+ )
# CUDA support
# See https://www.open-mpi.org/faq/?category=buildcuda
- if '+cuda' in spec:
+ if "+cuda" in spec:
# OpenMPI dynamically loads libcuda.so, requires dlopen
- config_args.append('--enable-dlopen')
+ config_args.append("--enable-dlopen")
# Searches for header files in DIR/include
- config_args.append('--with-cuda={0}'.format(
- spec['cuda'].prefix))
- if spec.satisfies('@1.7:1.7.2'):
+ config_args.append("--with-cuda={0}".format(spec["cuda"].prefix))
+ if spec.satisfies("@1.7:1.7.2"):
# This option was removed from later versions
- config_args.append('--with-cuda-libdir={0}'.format(
- spec['cuda'].libs.directories[0]))
- if spec.satisfies('@1.7.2'):
+ config_args.append(
+ "--with-cuda-libdir={0}".format(spec["cuda"].libs.directories[0])
+ )
+ if spec.satisfies("@1.7.2"):
# There was a bug in 1.7.2 when --enable-static is used
- config_args.append('--enable-mca-no-build=pml-bfo')
- if spec.satisfies('%pgi^cuda@7.0:7'):
+ config_args.append("--enable-mca-no-build=pml-bfo")
+ if spec.satisfies("%pgi^cuda@7.0:7"):
# OpenMPI has problems with CUDA 7 and PGI
- config_args.append(
- '--with-wrapper-cflags=-D__LP64__ -ta:tesla')
- if spec.satisfies('%pgi@:15.8'):
+ config_args.append("--with-wrapper-cflags=-D__LP64__ -ta:tesla")
+ if spec.satisfies("%pgi@:15.8"):
# With PGI 15.9 and later compilers, the
# CFLAGS=-D__LP64__ is no longer needed.
- config_args.append('CFLAGS=-D__LP64__')
- elif spec.satisfies('@1.7:'):
- config_args.append('--without-cuda')
+ config_args.append("CFLAGS=-D__LP64__")
+ elif spec.satisfies("@1.7:"):
+ config_args.append("--without-cuda")
- if spec.satisfies('%nvhpc@:20.11'):
+ if spec.satisfies("%nvhpc@:20.11"):
# Workaround compiler issues
- config_args.append('CFLAGS=-O1')
+ config_args.append("CFLAGS=-O1")
- if '+wrapper-rpath' in spec:
- config_args.append('--enable-wrapper-rpath')
+ if "+wrapper-rpath" in spec:
+ config_args.append("--enable-wrapper-rpath")
# Disable new dynamic tags in the wrapper (--disable-new-dtags)
# In the newer versions this can be done with a configure option
# (for older versions, we rely on filter_compiler_wrappers() and
# filter_pc_files()):
- if spec.satisfies('@3.0.5:'):
- config_args.append('--disable-wrapper-runpath')
+ if spec.satisfies("@3.0.5:"):
+ config_args.append("--disable-wrapper-runpath")
# Add extra_rpaths and implicit_rpaths into the wrappers.
- wrapper_ldflags.extend([
- self.compiler.cc_rpath_arg + path
- for path in itertools.chain(
- self.compiler.extra_rpaths,
- self.compiler.implicit_rpaths())])
+ wrapper_ldflags.extend(
+ [
+ self.compiler.cc_rpath_arg + path
+ for path in itertools.chain(
+ self.compiler.extra_rpaths, self.compiler.implicit_rpaths()
+ )
+ ]
+ )
else:
- config_args.append('--disable-wrapper-rpath')
- config_args.append('--disable-wrapper-runpath')
+ config_args.append("--disable-wrapper-rpath")
+ config_args.append("--disable-wrapper-runpath")
- config_args.extend(self.enable_or_disable('mpi-cxx', variant='cxx'))
- config_args.extend(self.enable_or_disable(
- 'cxx-exceptions', variant='cxx_exceptions'
- ))
+ config_args.extend(self.enable_or_disable("mpi-cxx", variant="cxx"))
+ config_args.extend(self.enable_or_disable("cxx-exceptions", variant="cxx_exceptions"))
if wrapper_ldflags:
- config_args.append(
- '--with-wrapper-ldflags={0}'.format(' '.join(wrapper_ldflags)))
+ config_args.append("--with-wrapper-ldflags={0}".format(" ".join(wrapper_ldflags)))
return config_args
- @when('+wrapper-rpath')
- @run_after('install')
+ @when("+wrapper-rpath")
+ @run_after("install")
def filter_rpaths(self):
-
def filter_lang_rpaths(lang_tokens, rpath_arg):
if self.compiler.cc_rpath_arg == rpath_arg:
return
- files = find(self.spec.prefix.share.openmpi,
- ['*{0}-wrapper-data*'.format(t) for t in lang_tokens])
- files.extend(find(self.spec.prefix.lib.pkgconfig,
- ['ompi-{0}.pc'.format(t) for t in lang_tokens]))
+ files = find(
+ self.spec.prefix.share.openmpi,
+ ["*{0}-wrapper-data*".format(t) for t in lang_tokens],
+ )
+ files.extend(
+ find(
+ self.spec.prefix.lib.pkgconfig, ["ompi-{0}.pc".format(t) for t in lang_tokens]
+ )
+ )
x = FileFilter(*[f for f in files if not os.path.islink(f)])
# Replace self.compiler.cc_rpath_arg, which have been added as
# '--with-wrapper-ldflags', with rpath_arg in the respective
# language-specific wrappers and pkg-config files.
- x.filter(self.compiler.cc_rpath_arg, rpath_arg,
- string=True, backup=False)
+ x.filter(self.compiler.cc_rpath_arg, rpath_arg, string=True, backup=False)
- if self.spec.satisfies('@:1.10.3,2:2.1.1'):
+ if self.spec.satisfies("@:1.10.3,2:2.1.1"):
# Replace Libtool-style RPATH prefixes '-Wl,-rpath -Wl,' with
# rpath_arg for old version of OpenMPI, which assumed that CXX
# and FC had the same prefixes as CC.
- x.filter('-Wl,-rpath -Wl,', rpath_arg,
- string=True, backup=False)
+ x.filter("-Wl,-rpath -Wl,", rpath_arg, string=True, backup=False)
- filter_lang_rpaths(['c++', 'CC', 'cxx'], self.compiler.cxx_rpath_arg)
- filter_lang_rpaths(['fort', 'f77', 'f90'], self.compiler.fc_rpath_arg)
+ filter_lang_rpaths(["c++", "CC", "cxx"], self.compiler.cxx_rpath_arg)
+ filter_lang_rpaths(["fort", "f77", "f90"], self.compiler.fc_rpath_arg)
- @when('@:3.0.4+wrapper-rpath')
- @run_after('install')
+ @when("@:3.0.4+wrapper-rpath")
+ @run_after("install")
def filter_pc_files(self):
- files = find(self.spec.prefix.lib.pkgconfig, '*.pc')
+ files = find(self.spec.prefix.lib.pkgconfig, "*.pc")
x = FileFilter(*[f for f in files if not os.path.islink(f)])
# Remove this linking flag if present (it turns RPATH into RUNPATH)
- x.filter('{0}--enable-new-dtags'.format(self.compiler.linker_arg), '',
- string=True, backup=False)
+ x.filter(
+ "{0}--enable-new-dtags".format(self.compiler.linker_arg), "", string=True, backup=False
+ )
# NAG compiler is usually mixed with GCC, which has a different
# prefix for linker arguments.
- if self.compiler.name == 'nag':
- x.filter('-Wl,--enable-new-dtags', '', string=True, backup=False)
+ if self.compiler.name == "nag":
+ x.filter("-Wl,--enable-new-dtags", "", string=True, backup=False)
- @run_after('install')
+ @run_after("install")
def delete_mpirun_mpiexec(self):
# The preferred way to run an application when Slurm is the
# scheduler is to let Slurm manage process spawning via PMI.
@@ -884,14 +1114,14 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# applications via mpirun or mpiexec, and leaves srun as the
# only sensible choice (orterun is still present, but normal
# users don't know about that).
- if '@1.6: ~legacylaunchers schedulers=slurm' in self.spec:
- exe_list = [self.prefix.bin.mpirun,
- self.prefix.bin.mpiexec,
- self.prefix.bin.shmemrun,
- self.prefix.bin.oshrun
- ]
- script_stub = join_path(os.path.dirname(__file__),
- "nolegacylaunchers.sh")
+ if "@1.6: ~legacylaunchers schedulers=slurm" in self.spec:
+ exe_list = [
+ self.prefix.bin.mpirun,
+ self.prefix.bin.mpiexec,
+ self.prefix.bin.shmemrun,
+ self.prefix.bin.oshrun,
+ ]
+ script_stub = join_path(os.path.dirname(__file__), "nolegacylaunchers.sh")
for exe in exe_list:
try:
os.remove(exe)
@@ -900,7 +1130,7 @@ class Openmpi(AutotoolsPackage, CudaPackage):
else:
copy(script_stub, exe)
- @run_after('install')
+ @run_after("install")
def setup_install_tests(self):
"""
Copy the example files after the package is installed to an
@@ -909,138 +1139,142 @@ class Openmpi(AutotoolsPackage, CudaPackage):
self.cache_extra_test_sources(self.extra_install_tests)
def _test_bin_ops(self):
- info = ([], ['Ident string: {0}'.format(self.spec.version), 'MCA'],
- 0)
+ info = ([], ["Ident string: {0}".format(self.spec.version), "MCA"], 0)
- ls = (['-n', '1', 'ls', '..'],
- ['openmpi-{0}'.format(self.spec.version)], 0)
+ ls = (["-n", "1", "ls", ".."], ["openmpi-{0}".format(self.spec.version)], 0)
checks = {
- 'mpirun': ls,
- 'ompi_info': info,
- 'oshmem_info': info,
- 'oshrun': ls,
- 'shmemrun': ls,
+ "mpirun": ls,
+ "ompi_info": info,
+ "oshmem_info": info,
+ "oshrun": ls,
+ "shmemrun": ls,
}
for binary in checks:
options, expected, status = checks[binary]
exe = join_path(self.prefix.bin, binary)
- reason = 'test: checking {0} output'.format(binary)
- self.run_test(exe, options, expected, status, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test: checking {0} output".format(binary)
+ self.run_test(
+ exe, options, expected, status, installed=True, purpose=reason, skip_missing=True
+ )
def _test_check_versions(self):
comp_vers = str(self.spec.compiler.version)
spec_vers = str(self.spec.version)
checks = {
# Binaries available in at least versions 2.0.0 through 4.0.3
- 'mpiCC': comp_vers,
- 'mpic++': comp_vers,
- 'mpicc': comp_vers,
- 'mpicxx': comp_vers,
- 'mpiexec': spec_vers,
- 'mpif77': comp_vers,
- 'mpif90': comp_vers,
- 'mpifort': comp_vers,
- 'mpirun': spec_vers,
- 'ompi_info': spec_vers,
- 'ortecc': comp_vers,
- 'orterun': spec_vers,
-
+ "mpiCC": comp_vers,
+ "mpic++": comp_vers,
+ "mpicc": comp_vers,
+ "mpicxx": comp_vers,
+ "mpiexec": spec_vers,
+ "mpif77": comp_vers,
+ "mpif90": comp_vers,
+ "mpifort": comp_vers,
+ "mpirun": spec_vers,
+ "ompi_info": spec_vers,
+ "ortecc": comp_vers,
+ "orterun": spec_vers,
# Binaries available in versions 2.0.0 through 2.1.6
- 'ompi-submit': spec_vers,
- 'orte-submit': spec_vers,
-
+ "ompi-submit": spec_vers,
+ "orte-submit": spec_vers,
# Binaries available in versions 2.0.0 through 3.1.5
- 'ompi-dvm': spec_vers,
- 'orte-dvm': spec_vers,
- 'oshcc': comp_vers,
- 'oshfort': comp_vers,
- 'oshmem_info': spec_vers,
- 'oshrun': spec_vers,
- 'shmemcc': comp_vers,
- 'shmemfort': comp_vers,
- 'shmemrun': spec_vers,
-
+ "ompi-dvm": spec_vers,
+ "orte-dvm": spec_vers,
+ "oshcc": comp_vers,
+ "oshfort": comp_vers,
+ "oshmem_info": spec_vers,
+ "oshrun": spec_vers,
+ "shmemcc": comp_vers,
+ "shmemfort": comp_vers,
+ "shmemrun": spec_vers,
# Binary available in version 3.1.0 through 3.1.5
- 'prun': spec_vers,
-
+ "prun": spec_vers,
# Binaries available in versions 3.0.0 through 3.1.5
- 'oshCC': comp_vers,
- 'oshc++': comp_vers,
- 'oshcxx': comp_vers,
- 'shmemCC': comp_vers,
- 'shmemc++': comp_vers,
- 'shmemcxx': comp_vers,
+ "oshCC": comp_vers,
+ "oshc++": comp_vers,
+ "oshcxx": comp_vers,
+ "shmemCC": comp_vers,
+ "shmemc++": comp_vers,
+ "shmemcxx": comp_vers,
}
for binary in checks:
expected = checks[binary]
- purpose = 'test: ensuring version of {0} is {1}' \
- .format(binary, expected)
+ purpose = "test: ensuring version of {0} is {1}".format(binary, expected)
exe = join_path(self.prefix.bin, binary)
- self.run_test(exe, '--version', expected, installed=True,
- purpose=purpose, skip_missing=True)
+ self.run_test(
+ exe, "--version", expected, installed=True, purpose=purpose, skip_missing=True
+ )
@property
def _cached_tests_work_dir(self):
"""The working directory for cached test sources."""
- return join_path(self.test_suite.current_test_cache_dir,
- self.extra_install_tests)
+ return join_path(self.test_suite.current_test_cache_dir, self.extra_install_tests)
def _test_examples(self):
"""Run test examples copied from source at build-time."""
# Build the copied, cached test examples
- self.run_test('make', ['all'], [],
- purpose='test: building cached test examples',
- work_dir=self._cached_tests_work_dir)
+ self.run_test(
+ "make",
+ ["all"],
+ [],
+ purpose="test: building cached test examples",
+ work_dir=self._cached_tests_work_dir,
+ )
# Run examples with known, simple-to-verify results
- have_spml = self.spec.satisfies('@2:2.1.6')
+ have_spml = self.spec.satisfies("@2:2.1.6")
- hello_world = (['Hello, world', 'I am', '0 of', '1'], 0)
+ hello_world = (["Hello, world", "I am", "0 of", "1"], 0)
- max_red = (['0/1 dst = 0 1 2'], 0)
+ max_red = (["0/1 dst = 0 1 2"], 0)
- missing_spml = (['No available spml components'], 1)
+ missing_spml = (["No available spml components"], 1)
- no_out = ([''], 0)
+ no_out = ([""], 0)
- ring_out = (['1 processes in ring', '0 exiting'], 0)
+ ring_out = (["1 processes in ring", "0 exiting"], 0)
- strided = (['not in valid range'], 255)
+ strided = (["not in valid range"], 255)
checks = {
- 'hello_c': hello_world,
- 'hello_cxx': hello_world,
- 'hello_mpifh': hello_world,
- 'hello_oshmem': hello_world if have_spml else missing_spml,
- 'hello_oshmemcxx': hello_world if have_spml else missing_spml,
- 'hello_oshmemfh': hello_world if have_spml else missing_spml,
- 'hello_usempi': hello_world,
- 'hello_usempif08': hello_world,
- 'oshmem_circular_shift': ring_out if have_spml else missing_spml,
- 'oshmem_max_reduction': max_red if have_spml else missing_spml,
- 'oshmem_shmalloc': no_out if have_spml else missing_spml,
- 'oshmem_strided_puts': strided if have_spml else missing_spml,
- 'oshmem_symmetric_data': no_out if have_spml else missing_spml,
- 'ring_c': ring_out,
- 'ring_cxx': ring_out,
- 'ring_mpifh': ring_out,
- 'ring_oshmem': ring_out if have_spml else missing_spml,
- 'ring_oshmemfh': ring_out if have_spml else missing_spml,
- 'ring_usempi': ring_out,
- 'ring_usempif08': ring_out,
+ "hello_c": hello_world,
+ "hello_cxx": hello_world,
+ "hello_mpifh": hello_world,
+ "hello_oshmem": hello_world if have_spml else missing_spml,
+ "hello_oshmemcxx": hello_world if have_spml else missing_spml,
+ "hello_oshmemfh": hello_world if have_spml else missing_spml,
+ "hello_usempi": hello_world,
+ "hello_usempif08": hello_world,
+ "oshmem_circular_shift": ring_out if have_spml else missing_spml,
+ "oshmem_max_reduction": max_red if have_spml else missing_spml,
+ "oshmem_shmalloc": no_out if have_spml else missing_spml,
+ "oshmem_strided_puts": strided if have_spml else missing_spml,
+ "oshmem_symmetric_data": no_out if have_spml else missing_spml,
+ "ring_c": ring_out,
+ "ring_cxx": ring_out,
+ "ring_mpifh": ring_out,
+ "ring_oshmem": ring_out if have_spml else missing_spml,
+ "ring_oshmemfh": ring_out if have_spml else missing_spml,
+ "ring_usempi": ring_out,
+ "ring_usempif08": ring_out,
}
for exe in checks:
expected, status = checks[exe]
- reason = 'test: checking {0} example output and status ({1})' \
- .format(exe, status)
- self.run_test(exe, [], expected, status, installed=False,
- purpose=reason, skip_missing=True,
- work_dir=self._cached_tests_work_dir)
+ reason = "test: checking {0} example output and status ({1})".format(exe, status)
+ self.run_test(
+ exe,
+ [],
+ expected,
+ status,
+ installed=False,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=self._cached_tests_work_dir,
+ )
def test(self):
"""Perform stand-alone/smoke tests on the installed package."""
@@ -1055,19 +1289,18 @@ class Openmpi(AutotoolsPackage, CudaPackage):
def get_spack_compiler_spec(compiler):
- spack_compilers = spack.compilers.find_compilers(
- [os.path.dirname(compiler)])
+ spack_compilers = spack.compilers.find_compilers([os.path.dirname(compiler)])
actual_compiler = None
# check if the compiler actually matches the one we want
for spack_compiler in spack_compilers:
- if (spack_compiler.cc and spack_compiler.cc == compiler):
+ if spack_compiler.cc and spack_compiler.cc == compiler:
actual_compiler = spack_compiler
break
return actual_compiler.spec if actual_compiler else None
def is_enabled(text):
- if text in set(['t', 'true', 'enabled', 'yes', '1']):
+ if text in set(["t", "true", "enabled", "yes", "1"]):
return True
return False
@@ -1076,6 +1309,6 @@ def is_enabled(text):
# Idea taken from the AutotoolsPackage source.
def get_options_from_variant(self, name):
values = self.variants[name][0].values
- if getattr(values, 'feature_values', None):
+ if getattr(values, "feature_values", None):
values = values.feature_values
return values
diff --git a/var/spack/repos/builtin/packages/openmx/package.py b/var/spack/repos/builtin/packages/openmx/package.py
index 66b70d6ff0..05d16d36fe 100644
--- a/var/spack/repos/builtin/packages/openmx/package.py
+++ b/var/spack/repos/builtin/packages/openmx/package.py
@@ -17,93 +17,87 @@ class Openmx(MakefilePackage):
homepage = "http://www.openmx-square.org/index.html"
url = "https://t-ozaki.issp.u-tokyo.ac.jp/openmx3.8.tar.gz"
- version('3.9', sha256='27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae2')
- version('3.8', sha256='36ee10d8b1587b25a2ca1d57f110111be65c4fb4dc820e6d93e1ed2b562634a1')
-
- resource(name='patch',
- url='http://www.openmx-square.org/bugfixed/18June12/patch3.8.5.tar.gz',
- sha256='d0fea2ce956d796a87a4bc9e9d580fb115ff2a22764650fffa78bb79a1b30468',
- placement='patch',
- when='@3.8')
-
- resource(name='patch',
- url='http://www.openmx-square.org/bugfixed/21Oct17/patch3.9.9.tar.gz',
- sha256='20cccc4e3412a814a53568f400260e90f79f0bfb7e2bed84447fe071b26edd38',
- placement='patch',
- when='@3.9')
-
- depends_on('mpi')
- depends_on('fftw-api@3')
- depends_on('scalapack')
- depends_on('sse2neon', when='target=aarch64:')
-
- patch('for_aarch64.patch', when='@3.8 target=aarch64:')
+ version("3.9", sha256="27bb56bd4d1582d33ad32108fb239b546bdd1bdffd6f5b739b4423da1ab93ae2")
+ version("3.8", sha256="36ee10d8b1587b25a2ca1d57f110111be65c4fb4dc820e6d93e1ed2b562634a1")
+
+ resource(
+ name="patch",
+ url="http://www.openmx-square.org/bugfixed/18June12/patch3.8.5.tar.gz",
+ sha256="d0fea2ce956d796a87a4bc9e9d580fb115ff2a22764650fffa78bb79a1b30468",
+ placement="patch",
+ when="@3.8",
+ )
+
+ resource(
+ name="patch",
+ url="http://www.openmx-square.org/bugfixed/21Oct17/patch3.9.9.tar.gz",
+ sha256="20cccc4e3412a814a53568f400260e90f79f0bfb7e2bed84447fe071b26edd38",
+ placement="patch",
+ when="@3.9",
+ )
+
+ depends_on("mpi")
+ depends_on("fftw-api@3")
+ depends_on("scalapack")
+ depends_on("sse2neon", when="target=aarch64:")
+
+ patch("for_aarch64.patch", when="@3.8 target=aarch64:")
parallel = False
- build_directory = 'source'
+ build_directory = "source"
def edit(self, spec, prefix):
# Move contents to source/
# http://www.openmx-square.org/bugfixed/18June12/README.txt
- copy_tree('patch', 'source')
+ copy_tree("patch", "source")
# Move extra file for 3.9 patch
# http://www.openmx-square.org/bugfixed/21Oct17/README.txt
- if spec.satisfies('@3.9'):
- copy(join_path('source', 'kpoint.in'), 'work')
- makefile = FileFilter('./source/makefile')
- makefile.filter('^DESTDIR.*$', 'DESTDIR = {0}/bin'.format(prefix))
+ if spec.satisfies("@3.9"):
+ copy(join_path("source", "kpoint.in"), "work")
+ makefile = FileFilter("./source/makefile")
+ makefile.filter("^DESTDIR.*$", "DESTDIR = {0}/bin".format(prefix))
mkdirp(prefix.bin)
@property
def common_arguments(self):
spec, common_option = self.spec, []
- lapack_blas_libs = (
- spec['lapack'].libs +
- spec['blas'].libs +
- spec['scalapack'].libs
- )
+ lapack_blas_libs = spec["lapack"].libs + spec["blas"].libs + spec["scalapack"].libs
cc_option = [
- spec['mpi'].mpicc,
+ spec["mpi"].mpicc,
self.compiler.openmp_flag,
- spec['fftw-api'].headers.include_flags
- ]
- fc_option = [spec['mpi'].mpifc]
- lib_option = [
- spec['fftw-api'].libs.ld_flags,
- lapack_blas_libs.ld_flags,
- '-lmpi_mpifh'
+ spec["fftw-api"].headers.include_flags,
]
- if spec.satisfies('@3.8'):
- cc_option.append('-I$(LIBERIDIR)')
- if spec.satisfies('@3.9'):
- lib_option.extend(['-lmpi_usempif08'])
- lib_option.extend(['-lmpi_usempi_ignore_tkr'])
-
- if '%fj' in spec:
- common_option.append('-Dkcomp -Kfast')
- cc_option.append('-Dnosse -Nclang')
+ fc_option = [spec["mpi"].mpifc]
+ lib_option = [spec["fftw-api"].libs.ld_flags, lapack_blas_libs.ld_flags, "-lmpi_mpifh"]
+ if spec.satisfies("@3.8"):
+ cc_option.append("-I$(LIBERIDIR)")
+ if spec.satisfies("@3.9"):
+ lib_option.extend(["-lmpi_usempif08"])
+ lib_option.extend(["-lmpi_usempi_ignore_tkr"])
+
+ if "%fj" in spec:
+ common_option.append("-Dkcomp -Kfast")
+ cc_option.append("-Dnosse -Nclang")
fc_option.append(self.compiler.openmp_flag)
else:
- common_option.append('-O3')
- if '%gcc' in spec:
- lib_option.append('-lgfortran')
- if spec.satisfies('%gcc@10:'):
- fc_option.append('-fallow-argument-mismatch')
- cc_option.append('-fcommon')
+ common_option.append("-O3")
+ if "%gcc" in spec:
+ lib_option.append("-lgfortran")
+ if spec.satisfies("%gcc@10:"):
+ fc_option.append("-fallow-argument-mismatch")
+ cc_option.append("-fcommon")
return [
- 'CC={0} -Dscalapack {1} '.format(
- ' '.join(cc_option), ' '.join(common_option)
- ),
- 'FC={0} {1}'.format(' '.join(fc_option), ' '.join(common_option)),
- 'LIB={0}'.format(' '.join(lib_option))
+ "CC={0} -Dscalapack {1} ".format(" ".join(cc_option), " ".join(common_option)),
+ "FC={0} {1}".format(" ".join(fc_option), " ".join(common_option)),
+ "LIB={0}".format(" ".join(lib_option)),
]
@property
def build_targets(self):
- return ['all'] + self.common_arguments
+ return ["all"] + self.common_arguments
@property
def install_targets(self):
- return ['all'] + self.common_arguments
+ return ["all"] + self.common_arguments
diff --git a/var/spack/repos/builtin/packages/opennurbs/package.py b/var/spack/repos/builtin/packages/opennurbs/package.py
index 1e03b7fec7..331a5373b8 100644
--- a/var/spack/repos/builtin/packages/opennurbs/package.py
+++ b/var/spack/repos/builtin/packages/opennurbs/package.py
@@ -13,39 +13,39 @@ class Opennurbs(Package):
"""
homepage = "https://github.com/OpenNURBS/OpenNURBS"
- git = "https://github.com/OpenNURBS/OpenNURBS.git"
+ git = "https://github.com/OpenNURBS/OpenNURBS.git"
- maintainers = ['jrood-nrel']
+ maintainers = ["jrood-nrel"]
- version('develop', branch='develop')
+ version("develop", branch="develop")
- version('percept', sha256='d12a8f14f0b27d286fb7a75ab3c4e300f77d1fbb028326d1c8d28e4641605538',
- url='https://github.com/PerceptTools/percept/raw/master/build-cmake/opennurbs-percept.tar.gz')
+ version(
+ "percept",
+ sha256="d12a8f14f0b27d286fb7a75ab3c4e300f77d1fbb028326d1c8d28e4641605538",
+ url="https://github.com/PerceptTools/percept/raw/master/build-cmake/opennurbs-percept.tar.gz",
+ )
- variant('shared', default=True,
- description="Build shared libraries")
+ variant("shared", default=True, description="Build shared libraries")
# CMake installation method
def install(self, spec, prefix):
- cmake_args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
- ]
+ cmake_args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
cmake_args.extend(std_cmake_args)
- with working_dir('spack-build', create=True):
- cmake('..', *cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *cmake_args)
make()
- make('install')
+ make("install")
# Pre-cmake installation method
- @when('@percept')
+ @when("@percept")
def install(self, spec, prefix):
make(parallel=False)
# Install manually
mkdir(prefix.lib)
mkdir(prefix.include)
- install('libopenNURBS.a', prefix.lib)
- install_tree('zlib', join_path(prefix.include, 'zlib'))
- install('*.h', prefix.include)
+ install("libopenNURBS.a", prefix.lib)
+ install_tree("zlib", join_path(prefix.include, "zlib"))
+ install("*.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/openpa/package.py b/var/spack/repos/builtin/packages/openpa/package.py
index 4f94f2f3d4..1eec6cf636 100644
--- a/var/spack/repos/builtin/packages/openpa/package.py
+++ b/var/spack/repos/builtin/packages/openpa/package.py
@@ -9,11 +9,11 @@ class Openpa(AutotoolsPackage):
"""An open source, highly-portable library that provides atomic primitives
(and related constructs) for high performance, concurrent software"""
- homepage = 'https://github.com/pmodels/openpa'
- url = 'https://github.com/pmodels/openpa/releases/download/v1.0.4/openpa-1.0.4.tar.gz'
+ 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')
- version('1.0.3', sha256='b73943f341b0d4475109f8f341a5229258e43510b62cb5d488cf7f0e84fa5557')
- version('1.0.2', sha256='13b5ef8ea3502822ab03861bf9d047c3bda722b22605edf3f508fb355746db4f')
- version('1.0.1', sha256='63fae765d44e5741506b92cd0ff55c237c1e19d20bd5539c77cea1c67d5b4303')
- version('1.0.0', sha256='0f163da7fbe39a438c301b52bb876961bfedfe4ab6248a98297dd326fabee627')
+ version("1.0.4", sha256="9e5904b3bbdcb24e8429c12d613422e716a3479f3e0aeefbd9ce546852899e3a")
+ version("1.0.3", sha256="b73943f341b0d4475109f8f341a5229258e43510b62cb5d488cf7f0e84fa5557")
+ version("1.0.2", sha256="13b5ef8ea3502822ab03861bf9d047c3bda722b22605edf3f508fb355746db4f")
+ version("1.0.1", sha256="63fae765d44e5741506b92cd0ff55c237c1e19d20bd5539c77cea1c67d5b4303")
+ version("1.0.0", sha256="0f163da7fbe39a438c301b52bb876961bfedfe4ab6248a98297dd326fabee627")
diff --git a/var/spack/repos/builtin/packages/openpbs/package.py b/var/spack/repos/builtin/packages/openpbs/package.py
index 0b492a9f3a..bb3e559876 100644
--- a/var/spack/repos/builtin/packages/openpbs/package.py
+++ b/var/spack/repos/builtin/packages/openpbs/package.py
@@ -17,81 +17,85 @@ class Openpbs(AutotoolsPackage):
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')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('perl', type='build')
-
- depends_on('ssmtp', type=('build', 'run'))
- depends_on('xauth', type=('build', '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')
- depends_on('libsm')
- depends_on('openssl')
- depends_on('postgresql')
- depends_on('expat')
- depends_on('libedit')
- depends_on('ncurses')
- depends_on('hwloc@:1')
- depends_on('libical')
- depends_on('swig')
- depends_on('tcl')
- depends_on('tk')
- depends_on('zlib')
+ version("20.0.1", sha256="685a4abcea92bf518df02b544d25e237ae8cef76f86525f7bf3554812e9f50fa")
+ version("19.1.3", sha256="6e9d2614f839ff3d91d0ace3de04752b7c075da60c72fe6def76437aa05c9857")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("perl", type="build")
+
+ depends_on("ssmtp", type=("build", "run"))
+ depends_on("xauth", type=("build", "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")
+ depends_on("libsm")
+ depends_on("openssl")
+ depends_on("postgresql")
+ depends_on("expat")
+ depends_on("libedit")
+ depends_on("ncurses")
+ depends_on("hwloc@:1")
+ depends_on("libical")
+ depends_on("swig")
+ depends_on("tcl")
+ depends_on("tk")
+ depends_on("zlib")
# The configure script cannot properly handle dependencies in non-system
# directories.
- patch('with_lib.patch')
+ patch("with_lib.patch")
# The package does not really depend on libcrypt but links to it. We
# eliminate this redundant dependency to avoid linking to a system library.
- patch('no_crypt.patch')
+ patch("no_crypt.patch")
# Fix installation directories.
- patch('install.patch')
+ patch("install.patch")
# Link to the dynamic library of Python instead of the static one.
- patch('python.patch')
+ patch("python.patch")
# Provides PBS functionality
- provides('pbs')
+ provides("pbs")
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
def configure_args(self):
return [
- '--x-includes=%s' % self.spec['libx11'].prefix.include,
- '--x-libraries=%s' % self.spec['libx11'].prefix.lib,
- '--with-pbs-server-home=%s' % self.spec.prefix.var.spool.pbs,
- '--with-database-dir=%s' % self.spec['postgresql'].prefix,
- '--with-pbs-conf-file=%s' % self.spec.prefix.etc.join('pbs.conf'),
- '--with-expat=%s' % self.spec['expat'].prefix,
- '--with-editline=%s' % self.spec['libedit'].prefix,
- '--with-hwloc=%s' % self.spec['hwloc'].prefix,
- '--with-libical=%s' % self.spec['libical'].prefix,
- '--with-sendmail=%s' % self.spec['ssmtp'].prefix.sbin.sendmail,
- '--with-swig=%s' % self.spec['swig'].prefix,
- '--with-tcl=%s' % self.spec['tcl'].prefix,
+ "--x-includes=%s" % self.spec["libx11"].prefix.include,
+ "--x-libraries=%s" % self.spec["libx11"].prefix.lib,
+ "--with-pbs-server-home=%s" % self.spec.prefix.var.spool.pbs,
+ "--with-database-dir=%s" % self.spec["postgresql"].prefix,
+ "--with-pbs-conf-file=%s" % self.spec.prefix.etc.join("pbs.conf"),
+ "--with-expat=%s" % self.spec["expat"].prefix,
+ "--with-editline=%s" % self.spec["libedit"].prefix,
+ "--with-hwloc=%s" % self.spec["hwloc"].prefix,
+ "--with-libical=%s" % self.spec["libical"].prefix,
+ "--with-sendmail=%s" % self.spec["ssmtp"].prefix.sbin.sendmail,
+ "--with-swig=%s" % self.spec["swig"].prefix,
+ "--with-tcl=%s" % self.spec["tcl"].prefix,
# The argument --with-tk is introduced with with_lib.patch
- '--with-tk=%s' % self.spec['tk'].prefix,
- '--with-xauth=xauth',
- '--with-libz=%s' % self.spec['zlib'].prefix]
+ "--with-tk=%s" % self.spec["tk"].prefix,
+ "--with-xauth=xauth",
+ "--with-libz=%s" % self.spec["zlib"].prefix,
+ ]
- @run_after('install')
+ @run_after("install")
def post_install(self):
# Calling the postinstall script requires root privileges
# Executable(self.prefix.libexec.pbs_postinstall)()
- tty.warn(self.spec.format(
- 'To finalize the installation of {name}, you need to run '
- '"{prefix}/libexec/pbs_postinstall" with root privileges'))
+ tty.warn(
+ self.spec.format(
+ "To finalize the installation of {name}, you need to run "
+ '"{prefix}/libexec/pbs_postinstall" with root privileges'
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py
index f68a6f2608..a1979b430d 100644
--- a/var/spack/repos/builtin/packages/openpmd-api/package.py
+++ b/var/spack/repos/builtin/packages/openpmd-api/package.py
@@ -10,140 +10,134 @@ class OpenpmdApi(CMakePackage):
"""C++ & Python API for Scientific I/O"""
homepage = "https://www.openPMD.org"
- url = "https://github.com/openPMD/openPMD-api/archive/0.14.2.tar.gz"
- git = "https://github.com/openPMD/openPMD-api.git"
+ url = "https://github.com/openPMD/openPMD-api/archive/0.14.2.tar.gz"
+ git = "https://github.com/openPMD/openPMD-api.git"
- maintainers = ['ax3l', 'franzpoeschel']
+ maintainers = ["ax3l", "franzpoeschel"]
- tags = ['e4s']
+ tags = ["e4s"]
# C++17 up until here
- version('develop', branch='dev')
+ version("develop", branch="dev")
# C++14 up until here
- version('0.14.5', sha256='e3f509098e75014394877e0dc91f833e57ced5552b110c7339a69e9dbe49bf62')
- version('0.14.4', sha256='42b7bcd043e772d63f0fe0e5e70da411f001db10096d5b8be797ffc88e786379')
- version('0.14.3', sha256='57282455e0fb1873b4def1894fadadd6425dfc8349eac7fcc68daf677c48b7ce')
- version('0.14.2', sha256='25c6b4bcd0ae1ba668b633b8514e66c402da54901c26861fc754fca55717c836')
- version('0.14.1', sha256='172fd1d785627d01c77f1170adc5a18bd8a6302e804d0f271dc0d616a5156791')
- version('0.14.0', sha256='7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e')
- version('0.13.4', sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e')
- version('0.13.3', sha256='4b8f84bd89cd540c73ffe8c21085970453cb7f0e4f125f11a4e288433f64b58c')
- version('0.13.2', sha256='2e5170d41bb7b2c0608ec833eee7f9adf8175b46734743f6e46dcce6f6685fb0')
- version('0.13.1', sha256='81ff79419982eb1b0865d1736f73f950f5d4c356d3c78200ceeab7f54dc07fd7')
- version('0.13.0', sha256='97c2e43d80ee5c5288f278bd54f0dcb40e7f48a575b278fcef9660214b779bb0')
+ version("0.14.5", sha256="e3f509098e75014394877e0dc91f833e57ced5552b110c7339a69e9dbe49bf62")
+ version("0.14.4", sha256="42b7bcd043e772d63f0fe0e5e70da411f001db10096d5b8be797ffc88e786379")
+ version("0.14.3", sha256="57282455e0fb1873b4def1894fadadd6425dfc8349eac7fcc68daf677c48b7ce")
+ version("0.14.2", sha256="25c6b4bcd0ae1ba668b633b8514e66c402da54901c26861fc754fca55717c836")
+ version("0.14.1", sha256="172fd1d785627d01c77f1170adc5a18bd8a6302e804d0f271dc0d616a5156791")
+ version("0.14.0", sha256="7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e")
+ version("0.13.4", sha256="46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e")
+ version("0.13.3", sha256="4b8f84bd89cd540c73ffe8c21085970453cb7f0e4f125f11a4e288433f64b58c")
+ version("0.13.2", sha256="2e5170d41bb7b2c0608ec833eee7f9adf8175b46734743f6e46dcce6f6685fb0")
+ version("0.13.1", sha256="81ff79419982eb1b0865d1736f73f950f5d4c356d3c78200ceeab7f54dc07fd7")
+ version("0.13.0", sha256="97c2e43d80ee5c5288f278bd54f0dcb40e7f48a575b278fcef9660214b779bb0")
# C++11 up until here
- version('0.12.0', tag='0.12.0-alpha')
- version('0.11.1', tag='0.11.1-alpha')
-
- variant('shared', default=True,
- description='Build a shared version of the library')
- variant('mpi', default=True,
- description='Enable parallel I/O')
- variant('hdf5', default=True,
- description='Enable HDF5 support')
- variant('adios1', default=False,
- description='Enable ADIOS1 support')
- variant('adios2', default=True,
- description='Enable ADIOS2 support')
- variant('python', default=False,
- description='Enable Python bindings')
-
- depends_on('cmake@3.15.0:', type='build')
- 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('nlohmann-json@3.9.1:')
- depends_on('mpark-variant@1.4.0:', when='@:0.14.99') # pre C++17 releases
- depends_on('toml11@3.7.1:', when='@0.15.0:')
- with when('+hdf5'):
- depends_on('hdf5@1.8.13:')
- depends_on('hdf5@1.8.13: ~mpi', when='~mpi')
- depends_on('hdf5@1.8.13: +mpi', when='+mpi')
- with when('+adios1'):
- depends_on('adios@1.13.1: ~sz')
- depends_on('adios@1.13.1: ~mpi ~sz', when='~mpi')
- depends_on('adios@1.13.1: +mpi ~sz', when='+mpi')
- with when('+adios2'):
- depends_on('adios2@2.5.0:')
- depends_on('adios2@2.6.0:', when='@0.12.0:')
- depends_on('adios2@2.7.0:', when='@0.14.0:')
- depends_on('adios2@2.5.0: ~mpi', when='~mpi')
- depends_on('adios2@2.5.0: +mpi', when='+mpi')
- with when('+python'):
- depends_on('py-pybind11@2.6.2:', type='link')
- depends_on('py-numpy@1.15.1:', type=['test', 'run'])
- depends_on('py-mpi4py@2.1.0:', when='+mpi', type=['test', 'run'])
- depends_on('python@3.6:', type=['link', 'test', 'run'])
-
- conflicts('^hdf5 api=v16', msg='openPMD-api requires HDF5 APIs for 1.8+')
+ version("0.12.0", tag="0.12.0-alpha")
+ version("0.11.1", tag="0.11.1-alpha")
+
+ variant("shared", default=True, description="Build a shared version of the library")
+ variant("mpi", default=True, description="Enable parallel I/O")
+ variant("hdf5", default=True, description="Enable HDF5 support")
+ variant("adios1", default=False, description="Enable ADIOS1 support")
+ variant("adios2", default=True, description="Enable ADIOS2 support")
+ variant("python", default=False, description="Enable Python bindings")
+
+ depends_on("cmake@3.15.0:", type="build")
+ 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("nlohmann-json@3.9.1:")
+ depends_on("mpark-variant@1.4.0:", when="@:0.14.99") # pre C++17 releases
+ depends_on("toml11@3.7.1:", when="@0.15.0:")
+ with when("+hdf5"):
+ depends_on("hdf5@1.8.13:")
+ depends_on("hdf5@1.8.13: ~mpi", when="~mpi")
+ depends_on("hdf5@1.8.13: +mpi", when="+mpi")
+ with when("+adios1"):
+ depends_on("adios@1.13.1: ~sz")
+ depends_on("adios@1.13.1: ~mpi ~sz", when="~mpi")
+ depends_on("adios@1.13.1: +mpi ~sz", when="+mpi")
+ with when("+adios2"):
+ depends_on("adios2@2.5.0:")
+ depends_on("adios2@2.6.0:", when="@0.12.0:")
+ depends_on("adios2@2.7.0:", when="@0.14.0:")
+ depends_on("adios2@2.5.0: ~mpi", when="~mpi")
+ depends_on("adios2@2.5.0: +mpi", when="+mpi")
+ with when("+python"):
+ depends_on("py-pybind11@2.6.2:", type="link")
+ depends_on("py-numpy@1.15.1:", type=["test", "run"])
+ depends_on("py-mpi4py@2.1.0:", when="+mpi", type=["test", "run"])
+ depends_on("python@3.6:", type=["link", "test", "run"])
+
+ conflicts("^hdf5 api=v16", msg="openPMD-api requires HDF5 APIs for 1.8+")
# Fix breaking HDF5 1.12.0 API when build with legacy api options
# https://github.com/openPMD/openPMD-api/pull/1012
- patch('hdf5-1.12.0.patch', when='@:0.13 +hdf5')
+ patch("hdf5-1.12.0.patch", when="@:0.13 +hdf5")
- extends('python', when='+python')
+ extends("python", when="+python")
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
# variants
- self.define_from_variant('openPMD_USE_MPI', 'mpi'),
- self.define_from_variant('openPMD_USE_HDF5', 'hdf5'),
- self.define_from_variant('openPMD_USE_ADIOS1', 'adios1'),
- self.define_from_variant('openPMD_USE_ADIOS2', 'adios2'),
- self.define_from_variant('openPMD_USE_PYTHON', 'python'),
+ self.define_from_variant("openPMD_USE_MPI", "mpi"),
+ self.define_from_variant("openPMD_USE_HDF5", "hdf5"),
+ self.define_from_variant("openPMD_USE_ADIOS1", "adios1"),
+ self.define_from_variant("openPMD_USE_ADIOS2", "adios2"),
+ self.define_from_variant("openPMD_USE_PYTHON", "python"),
# tests and examples
- self.define('BUILD_TESTING', self.run_tests),
- self.define('BUILD_EXAMPLES', self.run_tests)
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define("BUILD_EXAMPLES", self.run_tests),
]
# switch internally shipped third-party libraries for spack
- if spec.satisfies('+python'):
- py_exe_define = 'Python_EXECUTABLE' \
- if spec.version >= Version('0.13.0') else 'PYTHON_EXECUTABLE'
+ if spec.satisfies("+python"):
+ py_exe_define = (
+ "Python_EXECUTABLE" if spec.version >= Version("0.13.0") else "PYTHON_EXECUTABLE"
+ )
args += [
- self.define(py_exe_define, self.spec['python'].command.path),
- self.define('openPMD_USE_INTERNAL_PYBIND11', False)
+ self.define(py_exe_define, self.spec["python"].command.path),
+ self.define("openPMD_USE_INTERNAL_PYBIND11", False),
]
- args.append(self.define('openPMD_USE_INTERNAL_JSON', False))
- if spec.satisfies('@:0.14'): # pre C++17 releases
- args.append(self.define('openPMD_USE_INTERNAL_VARIANT', False))
- if spec.satisfies('@0.15:'):
- args.append(self.define('openPMD_USE_INTERNAL_TOML11', False))
+ args.append(self.define("openPMD_USE_INTERNAL_JSON", False))
+ if spec.satisfies("@:0.14"): # pre C++17 releases
+ args.append(self.define("openPMD_USE_INTERNAL_VARIANT", False))
+ if spec.satisfies("@0.15:"):
+ args.append(self.define("openPMD_USE_INTERNAL_TOML11", False))
if self.run_tests:
- args.append(self.define('openPMD_USE_INTERNAL_CATCH', False))
+ args.append(self.define("openPMD_USE_INTERNAL_CATCH", False))
return args
def setup_run_environment(self, env):
spec = self.spec
# pre-load dependent CMake-PUBLIC header-only libs
- if spec.satisfies('@:0.14'): # pre C++17 releases
- env.prepend_path('CMAKE_PREFIX_PATH', spec['mpark-variant'].prefix)
- env.prepend_path('CPATH', spec['mpark-variant'].prefix.include)
+ if spec.satisfies("@:0.14"): # pre C++17 releases
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["mpark-variant"].prefix)
+ env.prepend_path("CPATH", spec["mpark-variant"].prefix.include)
# more deps searched in openPMDConfig.cmake
if spec.satisfies("+mpi"):
- env.prepend_path('CMAKE_PREFIX_PATH', spec['mpi'].prefix)
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["mpi"].prefix)
if spec.satisfies("+adios1"):
- env.prepend_path('CMAKE_PREFIX_PATH', spec['adios'].prefix)
- env.prepend_path('PATH', spec['adios'].prefix.bin) # adios-config
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["adios"].prefix)
+ env.prepend_path("PATH", spec["adios"].prefix.bin) # adios-config
if spec.satisfies("+adios2"):
- env.prepend_path('CMAKE_PREFIX_PATH', spec['adios2'].prefix)
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["adios2"].prefix)
if spec.satisfies("+hdf5"):
- env.prepend_path('CMAKE_PREFIX_PATH', spec['hdf5'].prefix)
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["hdf5"].prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
spec = self.spec
# pre-load dependent CMake-PUBLIC header-only libs
- if spec.satisfies('@:0.14'): # pre C++17 releases
- env.prepend_path('CMAKE_PREFIX_PATH',
- spec['mpark-variant'].prefix)
- env.prepend_path('CPATH', spec['mpark-variant'].prefix.include)
+ if spec.satisfies("@:0.14"): # pre C++17 releases
+ env.prepend_path("CMAKE_PREFIX_PATH", spec["mpark-variant"].prefix)
+ env.prepend_path("CPATH", spec["mpark-variant"].prefix.include)
def check(self):
"""CTest checks after the build phase"""
@@ -154,13 +148,19 @@ class OpenpmdApi(CMakePackage):
with working_dir(self.build_directory):
# -j1 because individual tests create files that are read again by
# later tests
- ctest('--output-on-failure', '-j1')
+ ctest("--output-on-failure", "-j1")
def test(self):
"""Perform smoke tests on the installed package."""
- exes = ['openpmd-ls'] # in 0.11.1+
+ 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)
+ 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,
+ )
diff --git a/var/spack/repos/builtin/packages/openrasmol/package.py b/var/spack/repos/builtin/packages/openrasmol/package.py
index 25bb196d01..f2ce28622c 100644
--- a/var/spack/repos/builtin/packages/openrasmol/package.py
+++ b/var/spack/repos/builtin/packages/openrasmol/package.py
@@ -8,61 +8,61 @@ from spack.package import *
class Openrasmol(MakefilePackage):
"""RasMol is a molecular graphics program intended for the
- visualisation of proteins, nucleic acids and small molecules."""
+ visualisation of proteins, nucleic acids and small molecules."""
homepage = "http://www.openrasmol.org/"
- url = "https://sourceforge.net/projects/openrasmol/files/RasMol/RasMol_2.7.5/RasMol-2.7.5.2.tar.gz"
+ url = "https://sourceforge.net/projects/openrasmol/files/RasMol/RasMol_2.7.5/RasMol-2.7.5.2.tar.gz"
- version('2.7.5.2', sha256='b975e6e69d5c6b161a81f04840945d2f220ac626245c61bcc6c56181b73a5718')
+ version("2.7.5.2", sha256="b975e6e69d5c6b161a81f04840945d2f220ac626245c61bcc6c56181b73a5718")
- depends_on('imake', type='build')
- depends_on('libxext', type='link')
- depends_on('libxi', type='link')
+ depends_on("imake", type="build")
+ depends_on("libxext", type="link")
+ depends_on("libxi", type="link")
- depends_on('cbflib@0.9.2', type='link')
- depends_on('cqrlib@1.1.2', type='link')
- depends_on('cvector@1.0.3', type='link')
- depends_on('neartree@3.1', type='link')
- depends_on('xforms@1.0.91', type='link')
+ depends_on("cbflib@0.9.2", type="link")
+ depends_on("cqrlib@1.1.2", type="link")
+ depends_on("cvector@1.0.3", type="link")
+ depends_on("neartree@3.1", type="link")
+ depends_on("xforms@1.0.91", type="link")
- patch('rasmol_noqa.patch')
- patch('rasmol_help.patch')
+ patch("rasmol_noqa.patch")
+ patch("rasmol_help.patch")
def edit(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
# Imakefile
- bash = which('bash')
- bash('./rasmol_build_options.sh')
+ bash = which("bash")
+ bash("./rasmol_build_options.sh")
# host.def
- with open('host.def', 'w') as f:
- f.write('#ifdef AfterVendorCF\n')
- f.write('#define CcCmd {0}\n'.format(spack_cc))
- f.write('#endif\n')
+ with open("host.def", "w") as f:
+ f.write("#ifdef AfterVendorCF\n")
+ f.write("#define CcCmd {0}\n".format(spack_cc))
+ f.write("#endif\n")
def setup_build_environment(self, env):
- env.set('XFORMSLIB_DIR', self.spec['xforms'].prefix)
- env.set('CBFLIB_DIR', self.spec['cbflib'].prefix)
- env.set('CQRLIB_DIR', self.spec['cqrlib'].prefix)
- env.set('CVECTOR_DIR', self.spec['cvector'].prefix)
- env.set('NEARTREE_DIR', self.spec['neartree'].prefix)
+ env.set("XFORMSLIB_DIR", self.spec["xforms"].prefix)
+ env.set("CBFLIB_DIR", self.spec["cbflib"].prefix)
+ env.set("CQRLIB_DIR", self.spec["cqrlib"].prefix)
+ env.set("CVECTOR_DIR", self.spec["cvector"].prefix)
+ env.set("NEARTREE_DIR", self.spec["neartree"].prefix)
def build(self, spec, prefix):
- with working_dir('src'):
- bash = which('bash')
- bash('./build_all.sh')
+ with working_dir("src"):
+ bash = which("bash")
+ bash("./build_all.sh")
def install(self, spec, prefix):
- install_tree('./data', prefix.sample)
- install_tree('./doc', prefix.doc)
- with working_dir('src'):
- bash = which('bash')
- bash('./rasmol_install.sh', '--prefix={0}'.format(prefix))
+ install_tree("./data", prefix.sample)
+ install_tree("./doc", prefix.doc)
+ with working_dir("src"):
+ bash = which("bash")
+ bash("./rasmol_install.sh", "--prefix={0}".format(prefix))
def test(self):
testdir = self.test_suite.current_test_data_dir
opts = []
- opts.append('-insecure')
- opts.append('-script')
- opts.append(join_path(testdir, 'test.rsc'))
- opts.append(join_path(self.prefix.sample, '1crn.pdb'))
- self.run_test('rasmol', options=opts)
+ opts.append("-insecure")
+ opts.append("-script")
+ opts.append(join_path(testdir, "test.rsc"))
+ opts.append(join_path(self.prefix.sample, "1crn.pdb"))
+ self.run_test("rasmol", options=opts)
diff --git a/var/spack/repos/builtin/packages/openresty/package.py b/var/spack/repos/builtin/packages/openresty/package.py
index 02dafc955d..72b03cc86c 100644
--- a/var/spack/repos/builtin/packages/openresty/package.py
+++ b/var/spack/repos/builtin/packages/openresty/package.py
@@ -14,14 +14,14 @@ class Openresty(AutotoolsPackage):
"""
homepage = "https://github.com/openresty"
- url = "https://github.com/openresty/openresty/releases/download/v1.15.8.2/openresty-1.15.8.2.tar.gz"
+ url = "https://github.com/openresty/openresty/releases/download/v1.15.8.2/openresty-1.15.8.2.tar.gz"
- version('1.15.8.2', sha256='bf92af41d3ad22880047a8b283fc213d59c7c1b83f8dae82e50d14b64d73ac38')
- version('1.15.8.1', sha256='89a1238ca177692d6903c0adbea5bdf2a0b82c383662a73c03ebf5ef9f570842')
- version('1.13.6.2', sha256='946e1958273032db43833982e2cec0766154a9b5cb8e67868944113208ff2942')
+ version("1.15.8.2", sha256="bf92af41d3ad22880047a8b283fc213d59c7c1b83f8dae82e50d14b64d73ac38")
+ version("1.15.8.1", sha256="89a1238ca177692d6903c0adbea5bdf2a0b82c383662a73c03ebf5ef9f570842")
+ version("1.13.6.2", sha256="946e1958273032db43833982e2cec0766154a9b5cb8e67868944113208ff2942")
- depends_on('pcre', type='build')
+ depends_on("pcre", type="build")
def configure_args(self):
- args = ['--without-http_rewrite_module']
+ args = ["--without-http_rewrite_module"]
return args
diff --git a/var/spack/repos/builtin/packages/openscenegraph/package.py b/var/spack/repos/builtin/packages/openscenegraph/package.py
index aef222a691..41a2bc607e 100644
--- a/var/spack/repos/builtin/packages/openscenegraph/package.py
+++ b/var/spack/repos/builtin/packages/openscenegraph/package.py
@@ -8,74 +8,81 @@ from spack.package import *
class Openscenegraph(CMakePackage):
"""OpenSceneGraph is an open source, high performance 3D graphics toolkit
- that's used in a variety of visual simulation applications."""
+ that's used in a variety of visual simulation applications."""
homepage = "http://www.openscenegraph.org"
- git = "https://github.com/openscenegraph/OpenSceneGraph.git"
- url = "https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-3.6.4.tar.gz"
-
- version('3.6.5', sha256='aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12')
- version('3.6.4', sha256='81394d1b484c631028b85d21c5535280c21bbd911cb058e8746c87e93e7b9d33')
- version('3.4.1', sha256='930eb46f05781a76883ec16c5f49cfb29a059421db131005d75bec4d78401fd5')
- version('3.4.0', sha256='0d5efe12b923130d14a6fce5866675d7625fcfb1c004c9f9b10034b9feb61ac2')
- version('3.2.3', sha256='a1ecc6524197024834e1277916922b32f30246cb583e27ed19bf3bf889534362')
- version('3.1.5', sha256='dddecf2b33302076712100af59b880e7647bc595a9a7cc99186e98d6e0eaeb5c')
-
- variant('shared', default=True, description='Builds a shared version of the library')
- variant('ffmpeg', default=False, description='Builds ffmpeg plugin for audio encoding/decoding')
-
- depends_on('cmake@2.8.7:', type='build')
- depends_on('gl')
- depends_on('qt+opengl', when='@:3.5.4') # Qt windowing system was moved into separate osgQt project
- depends_on('qt@4:', when='@3.2:3.5.4')
- depends_on('qt@:4', when='@:3.1')
- depends_on('libxinerama')
- depends_on('libxrandr')
- depends_on('libpng')
- depends_on('jasper')
- depends_on('libtiff')
- depends_on('glib')
- depends_on('zlib')
-
- depends_on('ffmpeg+avresample', when='+ffmpeg')
+ git = "https://github.com/openscenegraph/OpenSceneGraph.git"
+ url = "https://github.com/openscenegraph/OpenSceneGraph/archive/OpenSceneGraph-3.6.4.tar.gz"
+
+ version("3.6.5", sha256="aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12")
+ version("3.6.4", sha256="81394d1b484c631028b85d21c5535280c21bbd911cb058e8746c87e93e7b9d33")
+ version("3.4.1", sha256="930eb46f05781a76883ec16c5f49cfb29a059421db131005d75bec4d78401fd5")
+ version("3.4.0", sha256="0d5efe12b923130d14a6fce5866675d7625fcfb1c004c9f9b10034b9feb61ac2")
+ version("3.2.3", sha256="a1ecc6524197024834e1277916922b32f30246cb583e27ed19bf3bf889534362")
+ version("3.1.5", sha256="dddecf2b33302076712100af59b880e7647bc595a9a7cc99186e98d6e0eaeb5c")
+
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant(
+ "ffmpeg", default=False, description="Builds ffmpeg plugin for audio encoding/decoding"
+ )
+
+ depends_on("cmake@2.8.7:", type="build")
+ depends_on("gl")
+ depends_on(
+ "qt+opengl", when="@:3.5.4"
+ ) # Qt windowing system was moved into separate osgQt project
+ depends_on("qt@4:", when="@3.2:3.5.4")
+ depends_on("qt@:4", when="@:3.1")
+ depends_on("libxinerama")
+ depends_on("libxrandr")
+ depends_on("libpng")
+ depends_on("jasper")
+ depends_on("libtiff")
+ depends_on("glib")
+ depends_on("zlib")
+
+ depends_on("ffmpeg+avresample", when="+ffmpeg")
# https://github.com/openscenegraph/OpenSceneGraph/issues/167
- depends_on('ffmpeg@:2', when='@:3.4.0+ffmpeg')
+ depends_on("ffmpeg@:2", when="@:3.4.0+ffmpeg")
- patch('glibc-jasper.patch', when='@3.4%gcc')
+ patch("glibc-jasper.patch", when="@3.4%gcc")
def cmake_args(self):
spec = self.spec
- shared_status = 'ON' if '+shared' in spec else 'OFF'
- opengl_profile = 'GL{0}'.format(spec['gl'].version.up_to(1))
+ shared_status = "ON" if "+shared" in spec else "OFF"
+ opengl_profile = "GL{0}".format(spec["gl"].version.up_to(1))
args = [
# Variant Options #
- '-DDYNAMIC_OPENSCENEGRAPH={0}'.format(shared_status),
- '-DDYNAMIC_OPENTHREADS={0}'.format(shared_status),
- '-DOPENGL_PROFILE={0}'.format(opengl_profile),
-
+ "-DDYNAMIC_OPENSCENEGRAPH={0}".format(shared_status),
+ "-DDYNAMIC_OPENTHREADS={0}".format(shared_status),
+ "-DOPENGL_PROFILE={0}".format(opengl_profile),
# General Options #
- '-DBUILD_OSG_APPLICATIONS=OFF',
- '-DOSG_NOTIFY_DISABLED=ON',
- '-DLIB_POSTFIX=',
- '-DCMAKE_RELWITHDEBINFO_POSTFIX=',
- '-DCMAKE_MINSIZEREL_POSTFIX='
+ "-DBUILD_OSG_APPLICATIONS=OFF",
+ "-DOSG_NOTIFY_DISABLED=ON",
+ "-DLIB_POSTFIX=",
+ "-DCMAKE_RELWITHDEBINFO_POSTFIX=",
+ "-DCMAKE_MINSIZEREL_POSTFIX=",
]
- if spec.satisfies('~ffmpeg'):
- for ffmpeg_lib in ['libavcodec', 'libavformat', 'libavutil']:
- args.extend([
- '-DFFMPEG_{0}_INCLUDE_DIRS='.format(ffmpeg_lib.upper()),
- '-DFFMPEG_{0}_LIBRARIES='.format(ffmpeg_lib.upper()),
- ])
+ if spec.satisfies("~ffmpeg"):
+ for ffmpeg_lib in ["libavcodec", "libavformat", "libavutil"]:
+ args.extend(
+ [
+ "-DFFMPEG_{0}_INCLUDE_DIRS=".format(ffmpeg_lib.upper()),
+ "-DFFMPEG_{0}_LIBRARIES=".format(ffmpeg_lib.upper()),
+ ]
+ )
# NOTE: This is necessary in order to allow OpenSceneGraph to compile
# despite containing a number of implicit bool to int conversions.
- if spec.satisfies('%gcc'):
- args.extend([
- '-DCMAKE_C_FLAGS=-fpermissive',
- '-DCMAKE_CXX_FLAGS=-fpermissive',
- ])
+ if spec.satisfies("%gcc"):
+ args.extend(
+ [
+ "-DCMAKE_C_FLAGS=-fpermissive",
+ "-DCMAKE_CXX_FLAGS=-fpermissive",
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/openslide/package.py b/var/spack/repos/builtin/packages/openslide/package.py
index e4cb89c71d..b11a155c48 100644
--- a/var/spack/repos/builtin/packages/openslide/package.py
+++ b/var/spack/repos/builtin/packages/openslide/package.py
@@ -10,16 +10,16 @@ class Openslide(AutotoolsPackage):
"""OpenSlide reads whole slide image files."""
homepage = "https://openslide.org/"
- url = "https://github.com/openslide/openslide/releases/download/v3.4.1/openslide-3.4.1.tar.xz"
+ url = "https://github.com/openslide/openslide/releases/download/v3.4.1/openslide-3.4.1.tar.xz"
- version('3.4.1', sha256='9938034dba7f48fadc90a2cdf8cfe94c5613b04098d1348a5ff19da95b990564')
+ version("3.4.1", sha256="9938034dba7f48fadc90a2cdf8cfe94c5613b04098d1348a5ff19da95b990564")
- depends_on('pkgconfig', type='build')
- depends_on('openjpeg')
- depends_on('jpeg')
- depends_on('libtiff')
- depends_on('libxml2')
- depends_on('sqlite@3.6:')
- depends_on('glib')
- depends_on('cairo+pdf')
- depends_on('gdk-pixbuf')
+ depends_on("pkgconfig", type="build")
+ depends_on("openjpeg")
+ depends_on("jpeg")
+ depends_on("libtiff")
+ depends_on("libxml2")
+ depends_on("sqlite@3.6:")
+ depends_on("glib")
+ depends_on("cairo+pdf")
+ depends_on("gdk-pixbuf")
diff --git a/var/spack/repos/builtin/packages/openslp/package.py b/var/spack/repos/builtin/packages/openslp/package.py
index 567958f4d4..b2696962ed 100644
--- a/var/spack/repos/builtin/packages/openslp/package.py
+++ b/var/spack/repos/builtin/packages/openslp/package.py
@@ -14,15 +14,15 @@ class Openslp(AutotoolsPackage):
(RFC 2614)"""
homepage = "http://www.openslp.org/"
- url = "https://github.com/openslp-org/openslp/archive/openslp-2.0.0.tar.gz"
+ url = "https://github.com/openslp-org/openslp/archive/openslp-2.0.0.tar.gz"
- version('2.0.0', sha256='9dda45ff52cf8561ca1414ac8b4947ed2d9b43e66aec03478fa0ed37121a5ea2')
+ version("2.0.0", sha256="9dda45ff52cf8561ca1414ac8b4947ed2d9b43e66aec03478fa0ed37121a5ea2")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('flex', type='build')
- depends_on('byacc', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("flex", type="build")
+ depends_on("byacc", type="build")
- configure_directory = 'openslp'
+ configure_directory = "openslp"
diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
index 09efe6e91a..63e8015437 100644
--- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
@@ -12,66 +12,84 @@ from spack.pkg.builtin.boost import Boost
class OpenspeedshopUtils(CMakePackage):
"""OpenSpeedShop is a community effort led by Trenza, Inc.
- It builds on top of a broad list of community infrastructures,
- most notably Dyninst and MRNet from UW, libmonitor from Rice,
- and PAPI from UTK. OpenSpeedShop is an open source multi platform
- Linux performance tool which is targeted to support performance
- analysis of applications running on both single node and large
- scale IA64, IA32, EM64T, AMD64, PPC, ARM, Power8, Intel Phi, Blue
- Gene and Cray platforms. OpenSpeedShop development is hosted by
- Trenza Inc.. The infrastructure and base components of OpenSpeedShop
- are released as open source code primarily under LGPL.
- openspeedshop-utils is a package that does not have the
- qt3 gui. It was created to avoid a conflict between
- openspeedshop and cbtf-argonavis-gui based on the fact
- that spack will not allow a qt3 and qt4/qt5 dependency in a
- packages dependency tree.
+ It builds on top of a broad list of community infrastructures,
+ most notably Dyninst and MRNet from UW, libmonitor from Rice,
+ and PAPI from UTK. OpenSpeedShop is an open source multi platform
+ Linux performance tool which is targeted to support performance
+ analysis of applications running on both single node and large
+ scale IA64, IA32, EM64T, AMD64, PPC, ARM, Power8, Intel Phi, Blue
+ Gene and Cray platforms. OpenSpeedShop development is hosted by
+ Trenza Inc.. The infrastructure and base components of OpenSpeedShop
+ are released as open source code primarily under LGPL.
+ openspeedshop-utils is a package that does not have the
+ qt3 gui. It was created to avoid a conflict between
+ openspeedshop and cbtf-argonavis-gui based on the fact
+ that spack will not allow a qt3 and qt4/qt5 dependency in a
+ packages dependency tree.
"""
homepage = "http://www.openspeedshop.org"
- git = "https://github.com/OpenSpeedShop/openspeedshop.git"
-
- version('develop', branch='master')
- version('2.4.2.1', branch='2.4.2.1')
- version('2.4.2', branch='2.4.2')
- version('2.4.1', branch='2.4.1')
-
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
- variant('crayfe', default=False,
- description="build only the FE tool using the runtime_dir \
- to point to target build.")
- variant('cuda', default=False,
- description="build with cuda packages included.")
-
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ git = "https://github.com/OpenSpeedShop/openspeedshop.git"
+
+ version("develop", branch="master")
+ version("2.4.2.1", branch="2.4.2.1")
+ version("2.4.2", branch="2.4.2")
+ version("2.4.1", branch="2.4.1")
+
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
+ variant(
+ "crayfe",
+ default=False,
+ description="build only the FE tool using the runtime_dir \
+ to point to target build.",
+ )
+ variant("cuda", default=False, description="build with cuda packages included.")
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
# MPI variants
- variant('openmpi', default=False,
- description="Build mpi collector for openmpi \
- MPI when variant is enabled.")
- variant('mpt', default=False,
- description="Build mpi collector for SGI \
- MPT MPI when variant is enabled.")
- variant('mvapich2', default=False,
- description="Build mpi collector for mvapich2\
- MPI when variant is enabled.")
- variant('mpich2', default=False,
- description="Build mpi collector for mpich2\
- MPI when variant is enabled.")
-
- depends_on("cmake@3.0.2:", type='build')
+ variant(
+ "openmpi",
+ default=False,
+ description="Build mpi collector for openmpi \
+ MPI when variant is enabled.",
+ )
+ variant(
+ "mpt",
+ default=False,
+ description="Build mpi collector for SGI \
+ MPT MPI when variant is enabled.",
+ )
+ variant(
+ "mvapich2",
+ default=False,
+ description="Build mpi collector for mvapich2\
+ MPI when variant is enabled.",
+ )
+ variant(
+ "mpich2",
+ default=False,
+ description="Build mpi collector for mpich2\
+ MPI when variant is enabled.",
+ )
+
+ depends_on("cmake@3.0.2:", type="build")
# Dependencies for openspeedshop that are common to all
# the variants of the OpenSpeedShop build
- depends_on("libtool", type='build')
- depends_on("bison", type='build')
- depends_on("flex@2.6.1", type='build')
+ depends_on("libtool", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex@2.6.1", type="build")
# For binutils
- depends_on("binutils+plugins~gold@2.32", type='build')
+ depends_on("binutils+plugins~gold@2.32", type="build")
depends_on("elfutils", type="link")
depends_on("libdwarf")
@@ -85,46 +103,60 @@ class OpenspeedshopUtils(CMakePackage):
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on("dyninst@master", when='@develop')
- depends_on("dyninst@10:", when='@2.4.0:9999')
+ depends_on("dyninst@master", when="@develop")
+ depends_on("dyninst@10:", when="@2.4.0:9999")
- depends_on("python@2.7.14:2.7", type=('build', 'run'))
+ depends_on("python@2.7.14:2.7", type=("build", "run"))
depends_on("libxml2")
# Dependencies for the openspeedshop cbtf packages.
- depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999", when='@2.4.0:9999', type=('build', 'link', 'run'))
-
- depends_on("cbtf-krell@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf-krell@1.9.3:9999", when='@2.4.0:9999', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+crayfe', when='@develop+crayfe', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+crayfe', when='@2.4.0:9999+crayfe', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mpich2', when='@develop+mpich2', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mpich2', when='@2.4.0:9999+mpich2', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mpt', when='@develop+mpt', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mpt', when='@2.4.0:9999+mpt', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mvapich2', when='@develop+mvapich2', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mvapich2', when='@2.4.0:9999+mvapich2', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+openmpi', when='@develop+openmpi', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+openmpi', when='@2.4.0:9999+openmpi', type=('build', 'link', 'run'))
-
- depends_on("cbtf-argonavis@develop", when='@develop+cuda', type=('build', 'link', 'run'))
- depends_on("cbtf-argonavis@1.9.3:9999", when='@2.4.0:9999+cuda', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf@1.9.3:9999", when="@2.4.0:9999", type=("build", "link", "run"))
+
+ depends_on("cbtf-krell@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf-krell@1.9.3:9999", when="@2.4.0:9999", type=("build", "link", "run"))
+
+ depends_on("cbtf-krell@develop+crayfe", when="@develop+crayfe", type=("build", "link", "run"))
+ depends_on(
+ "cbtf-krell@1.9.3:9999+crayfe", when="@2.4.0:9999+crayfe", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-krell@develop+mpich2", when="@develop+mpich2", type=("build", "link", "run"))
+ depends_on(
+ "cbtf-krell@1.9.3:9999+mpich2", when="@2.4.0:9999+mpich2", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-krell@develop+mpt", when="@develop+mpt", type=("build", "link", "run"))
+ depends_on("cbtf-krell@1.9.3:9999+mpt", when="@2.4.0:9999+mpt", type=("build", "link", "run"))
+
+ depends_on(
+ "cbtf-krell@develop+mvapich2", when="@develop+mvapich2", type=("build", "link", "run")
+ )
+ depends_on(
+ "cbtf-krell@1.9.3:9999+mvapich2",
+ when="@2.4.0:9999+mvapich2",
+ type=("build", "link", "run"),
+ )
+
+ depends_on(
+ "cbtf-krell@develop+openmpi", when="@develop+openmpi", type=("build", "link", "run")
+ )
+ depends_on(
+ "cbtf-krell@1.9.3:9999+openmpi", when="@2.4.0:9999+openmpi", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-argonavis@develop", when="@develop+cuda", type=("build", "link", "run"))
+ depends_on("cbtf-argonavis@1.9.3:9999", when="@2.4.0:9999+cuda", type=("build", "link", "run"))
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@2.4.0:9999', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop", type=("build", "link", "run"))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@2.4.0:9999", type=("build", "link", "run"))
- patch('arm.patch', when='target=aarch64:')
+ patch("arm.patch", when="target=aarch64:")
parallel = False
- build_directory = 'build_openspeedshop'
+ build_directory = "build_openspeedshop"
def set_cray_login_node_cmake_options(self, spec, cmake_options):
# Appends to cmake_options the options that will enable the appropriate
@@ -138,15 +170,13 @@ class OpenspeedshopUtils(CMakePackage):
# spec['cbtf'].prefix is the login node value for this build, as
# we only get here when building the login node components and
# that is all that is known to spack.
- be_ck = spack.store.db.query_one('cbtf-krell arch=cray-CNL-haswell')
+ be_ck = spack.store.db.query_one("cbtf-krell arch=cray-CNL-haswell")
# Equivalent to install-tool cmake arg:
# '-DCBTF_KRELL_CN_RUNTIME_DIR=%s'
# % <base dir>/cbtf_v2.4.0elease/compute)
- cray_login_node_options.append('-DCBTF_KRELL_CN_RUNTIME_DIR=%s'
- % be_ck.prefix)
- cray_login_node_options.append('-DRUNTIME_PLATFORM=%s'
- % rt_platform)
+ cray_login_node_options.append("-DCBTF_KRELL_CN_RUNTIME_DIR=%s" % be_ck.prefix)
+ cray_login_node_options.append("-DRUNTIME_PLATFORM=%s" % rt_platform)
cmake_options.extend(cray_login_node_options)
@@ -161,38 +191,44 @@ class OpenspeedshopUtils(CMakePackage):
# Indicate building cbtf vers (transfer rawdata files)
instrumentor_setting = "cbtf"
- if spec.satisfies('+runtime'):
+ if spec.satisfies("+runtime"):
self.set_defaultbase_cmake_options(spec, cmake_args)
cmake_args.extend(
- ['-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix])
+ [
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DINSTRUMENTOR=%s" % instrumentor_setting,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ ]
+ )
else:
# Appends base options to cmake_args
self.set_defaultbase_cmake_options(spec, cmake_args)
cmake_args.extend(
- ['-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix])
-
- if spec.satisfies('+crayfe'):
+ [
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DINSTRUMENTOR=%s" % instrumentor_setting,
+ "-DSQLITE3_DIR=%s" % spec["sqlite"].prefix,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ ]
+ )
+
+ if spec.satisfies("+crayfe"):
# We need to build target/compute node
# components/libraries first then pass
# those libraries to the openspeedshop
# login node build
self.set_cray_login_node_cmake_options(spec, cmake_args)
- cmake_args.extend(['-DBUILD_QT3_GUI=FALSE'])
+ cmake_args.extend(["-DBUILD_QT3_GUI=FALSE"])
return cmake_args
@@ -200,24 +236,24 @@ class OpenspeedshopUtils(CMakePackage):
# Appends to cmake_options the options that will enable
# the appropriate base level options to the openspeedshop
# cmake build.
- python_exe = spec['python'].command.path
- python_library = spec['python'].libs[0]
- python_include = spec['python'].headers.directories[0]
+ python_exe = spec["python"].command.path
+ python_library = spec["python"].libs[0]
+ python_include = spec["python"].headers.directories[0]
base_options = []
- base_options.append('-DBINUTILS_DIR=%s' % spec['binutils'].prefix)
- base_options.append('-DLIBELF_DIR=%s' % spec['elfutils'].prefix)
- base_options.append('-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix)
- base_options.append('-DPYTHON_EXECUTABLE=%s' % python_exe)
- base_options.append('-DPYTHON_INCLUDE_DIR=%s' % python_include)
- base_options.append('-DPYTHON_LIBRARY=%s' % python_library)
- base_options.append('-DBoost_NO_SYSTEM_PATHS=TRUE')
- base_options.append('-DBoost_NO_BOOST_CMAKE=TRUE')
- base_options.append('-DBOOST_ROOT=%s' % spec['boost'].prefix)
- base_options.append('-DBoost_DIR=%s' % spec['boost'].prefix)
- base_options.append('-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib)
- base_options.append('-DDYNINST_DIR=%s' % spec['dyninst'].prefix)
+ base_options.append("-DBINUTILS_DIR=%s" % spec["binutils"].prefix)
+ base_options.append("-DLIBELF_DIR=%s" % spec["elfutils"].prefix)
+ base_options.append("-DLIBDWARF_DIR=%s" % spec["libdwarf"].prefix)
+ base_options.append("-DPYTHON_EXECUTABLE=%s" % python_exe)
+ base_options.append("-DPYTHON_INCLUDE_DIR=%s" % python_include)
+ base_options.append("-DPYTHON_LIBRARY=%s" % python_library)
+ base_options.append("-DBoost_NO_SYSTEM_PATHS=TRUE")
+ base_options.append("-DBoost_NO_BOOST_CMAKE=TRUE")
+ base_options.append("-DBOOST_ROOT=%s" % spec["boost"].prefix)
+ base_options.append("-DBoost_DIR=%s" % spec["boost"].prefix)
+ base_options.append("-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib)
+ base_options.append("-DDYNINST_DIR=%s" % spec["dyninst"].prefix)
cmake_options.extend(base_options)
@@ -228,23 +264,23 @@ class OpenspeedshopUtils(CMakePackage):
mpi_options = []
# openmpi
- if spec.satisfies('+openmpi'):
- mpi_options.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix)
+ if spec.satisfies("+openmpi"):
+ mpi_options.append("-DOPENMPI_DIR=%s" % spec["openmpi"].prefix)
# mpich
- if spec.satisfies('+mpich'):
- mpi_options.append('-DMPICH_DIR=%s' % spec['mpich'].prefix)
+ if spec.satisfies("+mpich"):
+ mpi_options.append("-DMPICH_DIR=%s" % spec["mpich"].prefix)
# mpich2
- if spec.satisfies('+mpich2'):
- mpi_options.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix)
+ if spec.satisfies("+mpich2"):
+ mpi_options.append("-DMPICH2_DIR=%s" % spec["mpich2"].prefix)
# mvapich
- if spec.satisfies('+mvapich'):
- mpi_options.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix)
+ if spec.satisfies("+mvapich"):
+ mpi_options.append("-DMVAPICH_DIR=%s" % spec["mvapich"].prefix)
# mvapich2
- if spec.satisfies('+mvapich2'):
- mpi_options.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix)
+ if spec.satisfies("+mvapich2"):
+ mpi_options.append("-DMVAPICH2_DIR=%s" % spec["mvapich2"].prefix)
# mpt
- if spec.satisfies('+mpt'):
- mpi_options.append('-DMPT_DIR=%s' % spec['mpt'].prefix)
+ if spec.satisfies("+mpt"):
+ mpi_options.append("-DMPT_DIR=%s" % spec["mpt"].prefix)
cmake_options.extend(mpi_options)
@@ -255,31 +291,30 @@ class OpenspeedshopUtils(CMakePackage):
# set the DYNINSTAPI_RT_LIB library which is
# required for OpenSpeedShop to find loop level
# performance information
- dyninst_libdir = find_libraries('libdyninstAPI_RT',
- root=self.spec['dyninst'].prefix,
- shared=True, recursive=True)
+ dyninst_libdir = find_libraries(
+ "libdyninstAPI_RT", root=self.spec["dyninst"].prefix, shared=True, recursive=True
+ )
# Set Dyninst RT library path to support OSS loop resolution code
- env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
+ env.set("DYNINSTAPI_RT_LIB", dyninst_libdir[0])
# Find openspeedshop library path
oss_libdir = find_libraries(
- 'libopenss-framework',
- root=self.spec['openspeedshop-utils'].prefix,
- shared=True, recursive=True)
- env.prepend_path('LD_LIBRARY_PATH',
- os.path.dirname(oss_libdir.joined()))
-
- env.set('OPENSS_RAWDATA_DIR', '.')
-
- cbtf_mc = '/sbin/cbtf_mrnet_commnode'
- cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend'
- env.set('XPLAT_RSH', 'ssh')
- env.set('MRNET_COMM_PATH',
- join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
- env.set('CBTF_MRNET_BACKEND_PATH',
- join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
- env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
- env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
- env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
- env.prepend_path('PATH', self.spec['python'].prefix.bin)
+ "libopenss-framework",
+ root=self.spec["openspeedshop-utils"].prefix,
+ shared=True,
+ recursive=True,
+ )
+ env.prepend_path("LD_LIBRARY_PATH", os.path.dirname(oss_libdir.joined()))
+
+ env.set("OPENSS_RAWDATA_DIR", ".")
+
+ cbtf_mc = "/sbin/cbtf_mrnet_commnode"
+ cbtf_lmb = "/sbin/cbtf_libcbtf_mrnet_backend"
+ env.set("XPLAT_RSH", "ssh")
+ env.set("MRNET_COMM_PATH", join_path(self.spec["cbtf-krell"].prefix + cbtf_mc))
+ env.set("CBTF_MRNET_BACKEND_PATH", join_path(self.spec["cbtf-krell"].prefix + cbtf_lmb))
+ env.prepend_path("PATH", self.spec["mrnet"].prefix.bin)
+ env.prepend_path("PATH", self.spec["cbtf-krell"].prefix.bin)
+ env.prepend_path("PATH", self.spec["cbtf-krell"].prefix.sbin)
+ env.prepend_path("PATH", self.spec["python"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index a924be4e2a..641dd515c9 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -12,61 +12,83 @@ from spack.pkg.builtin.boost import Boost
class Openspeedshop(CMakePackage):
"""OpenSpeedShop is a community effort led by Trenza, Inc.
- It builds on top of a broad list of community infrastructures,
- most notably Dyninst and MRNet from UW, libmonitor from Rice,
- and PAPI from UTK. OpenSpeedShop is an open source multi platform
- Linux performance tool which is targeted to support performance
- analysis of applications running on both single node and large
- scale IA64, IA32, EM64T, AMD64, PPC, ARM, Power8, Intel Phi, Blue
- Gene and Cray platforms. OpenSpeedShop development is hosted by
- Trenza Inc.. The infrastructure and base components of OpenSpeedShop
- are released as open source code primarily under LGPL.
+ It builds on top of a broad list of community infrastructures,
+ most notably Dyninst and MRNet from UW, libmonitor from Rice,
+ and PAPI from UTK. OpenSpeedShop is an open source multi platform
+ Linux performance tool which is targeted to support performance
+ analysis of applications running on both single node and large
+ scale IA64, IA32, EM64T, AMD64, PPC, ARM, Power8, Intel Phi, Blue
+ Gene and Cray platforms. OpenSpeedShop development is hosted by
+ Trenza Inc.. The infrastructure and base components of OpenSpeedShop
+ are released as open source code primarily under LGPL.
"""
homepage = "http://www.openspeedshop.org"
- git = "https://github.com/OpenSpeedShop/openspeedshop.git"
-
- version('develop', branch='master')
- version('2.4.2.1', branch='2.4.2.1')
- version('2.4.2', branch='2.4.2')
- version('2.4.1', branch='2.4.1')
-
- variant('runtime', default=False,
- description="build only the runtime libraries and collectors.")
- variant('crayfe', default=False,
- description="build only the FE tool using the runtime_dir \
- to point to target build.")
- variant('cuda', default=False,
- description="build with cuda packages included.")
-
- variant('gui', default='none', values=('none', 'qt3', 'qt4'),
- description='Build or not build a GUI of choice')
-
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
+ git = "https://github.com/OpenSpeedShop/openspeedshop.git"
+
+ version("develop", branch="master")
+ version("2.4.2.1", branch="2.4.2.1")
+ version("2.4.2", branch="2.4.2")
+ version("2.4.1", branch="2.4.1")
+
+ variant(
+ "runtime", default=False, description="build only the runtime libraries and collectors."
+ )
+ variant(
+ "crayfe",
+ default=False,
+ description="build only the FE tool using the runtime_dir \
+ to point to target build.",
+ )
+ variant("cuda", default=False, description="build with cuda packages included.")
+
+ variant(
+ "gui",
+ default="none",
+ values=("none", "qt3", "qt4"),
+ description="Build or not build a GUI of choice",
+ )
+
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
# MPI variants
- variant('openmpi', default=False,
- description="Build mpi collector for openmpi \
- MPI when variant is enabled.")
- variant('mpt', default=False,
- description="Build mpi collector for SGI \
- MPT MPI when variant is enabled.")
- variant('mvapich2', default=False,
- description="Build mpi collector for mvapich2\
- MPI when variant is enabled.")
- variant('mpich2', default=False,
- description="Build mpi collector for mpich2\
- MPI when variant is enabled.")
-
- depends_on("cmake@3.0.2:", type='build')
+ variant(
+ "openmpi",
+ default=False,
+ description="Build mpi collector for openmpi \
+ MPI when variant is enabled.",
+ )
+ variant(
+ "mpt",
+ default=False,
+ description="Build mpi collector for SGI \
+ MPT MPI when variant is enabled.",
+ )
+ variant(
+ "mvapich2",
+ default=False,
+ description="Build mpi collector for mvapich2\
+ MPI when variant is enabled.",
+ )
+ variant(
+ "mpich2",
+ default=False,
+ description="Build mpi collector for mpich2\
+ MPI when variant is enabled.",
+ )
+
+ depends_on("cmake@3.0.2:", type="build")
# Dependencies for openspeedshop that are common to all
# the variants of the OpenSpeedShop build
- depends_on("libtool", type='build')
- depends_on("bison", type='build')
- depends_on("flex@2.6.1", type='build')
+ depends_on("libtool", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex@2.6.1", type="build")
# For binutils
depends_on("binutils+plugins~gold@2.32")
@@ -83,48 +105,62 @@ class Openspeedshop(CMakePackage):
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on("dyninst@master", when='@develop')
- depends_on("dyninst@10:", when='@2.4.0:9999')
+ depends_on("dyninst@master", when="@develop")
+ depends_on("dyninst@10:", when="@2.4.0:9999")
- depends_on("python@2.7.14:2.7", type=('build', 'run'))
+ depends_on("python@2.7.14:2.7", type=("build", "run"))
depends_on("libxml2")
- depends_on("qt@3:3.9", when='gui=qt3')
+ depends_on("qt@3:3.9", when="gui=qt3")
# Dependencies for the openspeedshop cbtf packages.
- depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999", when='@2.4.0:9999', type=('build', 'link', 'run'))
-
- depends_on("cbtf-krell@develop", when='@develop', type=('build', 'link', 'run'))
- depends_on("cbtf-krell@1.9.3:9999", when='@2.4.0:9999', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+crayfe', when='@develop+crayfe', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+crayfe', when='@2.4.0:9999+crayfe', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mpich2', when='@develop+mpich2', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mpich2', when='@2.4.0:9999+mpich2', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mpt', when='@develop+mpt', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mpt', when='@2.4.0:9999+mpt', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+mvapich2', when='@develop+mvapich2', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+mvapich2', when='@2.4.0:9999+mvapich2', type=('build', 'link', 'run'))
-
- depends_on('cbtf-krell@develop+openmpi', when='@develop+openmpi', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+openmpi', when='@2.4.0:9999+openmpi', type=('build', 'link', 'run'))
-
- depends_on("cbtf-argonavis@develop", when='@develop+cuda', type=('build', 'link', 'run'))
- depends_on("cbtf-argonavis@1.9.3:9999", when='@2.4.0:9999+cuda', type=('build', 'link', 'run'))
+ depends_on("cbtf@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf@1.9.3:9999", when="@2.4.0:9999", type=("build", "link", "run"))
+
+ depends_on("cbtf-krell@develop", when="@develop", type=("build", "link", "run"))
+ depends_on("cbtf-krell@1.9.3:9999", when="@2.4.0:9999", type=("build", "link", "run"))
+
+ depends_on("cbtf-krell@develop+crayfe", when="@develop+crayfe", type=("build", "link", "run"))
+ depends_on(
+ "cbtf-krell@1.9.3:9999+crayfe", when="@2.4.0:9999+crayfe", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-krell@develop+mpich2", when="@develop+mpich2", type=("build", "link", "run"))
+ depends_on(
+ "cbtf-krell@1.9.3:9999+mpich2", when="@2.4.0:9999+mpich2", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-krell@develop+mpt", when="@develop+mpt", type=("build", "link", "run"))
+ depends_on("cbtf-krell@1.9.3:9999+mpt", when="@2.4.0:9999+mpt", type=("build", "link", "run"))
+
+ depends_on(
+ "cbtf-krell@develop+mvapich2", when="@develop+mvapich2", type=("build", "link", "run")
+ )
+ depends_on(
+ "cbtf-krell@1.9.3:9999+mvapich2",
+ when="@2.4.0:9999+mvapich2",
+ type=("build", "link", "run"),
+ )
+
+ depends_on(
+ "cbtf-krell@develop+openmpi", when="@develop+openmpi", type=("build", "link", "run")
+ )
+ depends_on(
+ "cbtf-krell@1.9.3:9999+openmpi", when="@2.4.0:9999+openmpi", type=("build", "link", "run")
+ )
+
+ depends_on("cbtf-argonavis@develop", when="@develop+cuda", type=("build", "link", "run"))
+ depends_on("cbtf-argonavis@1.9.3:9999", when="@2.4.0:9999+cuda", type=("build", "link", "run"))
# For MRNet
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@2.4.0:9999', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@develop", type=("build", "link", "run"))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when="@2.4.0:9999", type=("build", "link", "run"))
- patch('arm.patch', when='target=aarch64:')
+ patch("arm.patch", when="target=aarch64:")
parallel = False
- build_directory = 'build_openspeedshop'
+ build_directory = "build_openspeedshop"
def set_cray_login_node_cmake_options(self, spec, cmake_options):
# Appends to cmake_options the options that will enable the appropriate
@@ -139,15 +175,13 @@ class Openspeedshop(CMakePackage):
# we only get here when building the login node components and
# that is all that is known to spack.
store = spack.store
- be_ck = store.db.query_one('cbtf-krell arch=cray-CNL-haswell')
+ be_ck = store.db.query_one("cbtf-krell arch=cray-CNL-haswell")
# Equivalent to install-tool cmake arg:
# '-DCBTF_KRELL_CN_RUNTIME_DIR=%s'
# % <base dir>/cbtf_v2.4.0.release/compute)
- cray_login_node_options.append('-DCBTF_KRELL_CN_RUNTIME_DIR=%s'
- % be_ck.prefix)
- cray_login_node_options.append('-DRUNTIME_PLATFORM=%s'
- % rt_platform)
+ cray_login_node_options.append("-DCBTF_KRELL_CN_RUNTIME_DIR=%s" % be_ck.prefix)
+ cray_login_node_options.append("-DRUNTIME_PLATFORM=%s" % rt_platform)
cmake_options.extend(cray_login_node_options)
@@ -162,53 +196,51 @@ class Openspeedshop(CMakePackage):
# Indicate building cbtf vers (transfer rawdata files)
instrumentor_setting = "cbtf"
- if spec.satisfies('+runtime'):
+ if spec.satisfies("+runtime"):
# Appends base options to cmake_args
self.set_defaultbase_cmake_options(spec, cmake_args)
cmake_args.extend(
- ['-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix])
-
- if spec.satisfies('+cuda'):
- cmake_args.extend(
- ['-DCBTF_ARGONAVIS_DIR=%s'
- % spec['cbtf-argonavis'].prefix])
+ [
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DINSTRUMENTOR=%s" % instrumentor_setting,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ ]
+ )
+
+ if spec.satisfies("+cuda"):
+ cmake_args.extend(["-DCBTF_ARGONAVIS_DIR=%s" % spec["cbtf-argonavis"].prefix])
else:
# Appends base options to cmake_args
self.set_defaultbase_cmake_options(spec, cmake_args)
- guitype = self.spec.variants['gui'].value
+ guitype = self.spec.variants["gui"].value
cmake_args.extend(
- ['-DCMAKE_CXX_FLAGS=%s' % compile_flags,
- '-DCMAKE_C_FLAGS=%s' % compile_flags,
- '-DINSTRUMENTOR=%s' % instrumentor_setting,
- '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
- '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
- '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
- '-DMRNET_DIR=%s' % spec['mrnet'].prefix])
-
- if guitype == 'none':
- cmake_args.extend(
- ['-DBUILD_QT3_GUI=FALSE'])
- elif guitype == 'qt4':
- cmake_args.extend(
- ['-DBUILD_QT3_GUI=FALSE'])
- elif guitype == 'qt3':
- cmake_args.extend(
- ['-DQTLIB_DIR=%s'
- % spec['qt'].prefix])
-
- if spec.satisfies('+cuda'):
- cmake_args.extend(
- ['-DCBTF_ARGONAVIS_DIR=%s'
- % spec['cbtf-argonavis'].prefix])
-
- if spec.satisfies('+crayfe'):
+ [
+ "-DCMAKE_CXX_FLAGS=%s" % compile_flags,
+ "-DCMAKE_C_FLAGS=%s" % compile_flags,
+ "-DINSTRUMENTOR=%s" % instrumentor_setting,
+ "-DSQLITE3_DIR=%s" % spec["sqlite"].prefix,
+ "-DCBTF_DIR=%s" % spec["cbtf"].prefix,
+ "-DCBTF_KRELL_DIR=%s" % spec["cbtf-krell"].prefix,
+ "-DMRNET_DIR=%s" % spec["mrnet"].prefix,
+ ]
+ )
+
+ if guitype == "none":
+ cmake_args.extend(["-DBUILD_QT3_GUI=FALSE"])
+ elif guitype == "qt4":
+ cmake_args.extend(["-DBUILD_QT3_GUI=FALSE"])
+ elif guitype == "qt3":
+ cmake_args.extend(["-DQTLIB_DIR=%s" % spec["qt"].prefix])
+
+ if spec.satisfies("+cuda"):
+ cmake_args.extend(["-DCBTF_ARGONAVIS_DIR=%s" % spec["cbtf-argonavis"].prefix])
+
+ if spec.satisfies("+crayfe"):
# We need to build target/compute node
# components/libraries first then pass
# those libraries to the openspeedshop
@@ -221,25 +253,25 @@ class Openspeedshop(CMakePackage):
# Appends to cmake_options the options that will enable
# the appropriate base level options to the openspeedshop
# cmake build.
- python_exe = spec['python'].command.path
- python_library = spec['python'].libs[0]
- python_include = spec['python'].headers.directories[0]
- true_value = 'TRUE'
+ python_exe = spec["python"].command.path
+ python_library = spec["python"].libs[0]
+ python_include = spec["python"].headers.directories[0]
+ true_value = "TRUE"
base_options = []
- base_options.append('-DBINUTILS_DIR=%s' % spec['binutils'].prefix)
- base_options.append('-DLIBELF_DIR=%s' % spec['elfutils'].prefix)
- base_options.append('-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix)
- base_options.append('-DPYTHON_EXECUTABLE=%s' % python_exe)
- base_options.append('-DPYTHON_INCLUDE_DIR=%s' % python_include)
- base_options.append('-DPYTHON_LIBRARY=%s' % python_library)
- base_options.append('-DBoost_NO_SYSTEM_PATHS=%s' % true_value)
- base_options.append('-DBoost_NO_BOOST_CMAKE=%s' % true_value)
- base_options.append('-DBOOST_ROOT=%s' % spec['boost'].prefix)
- base_options.append('-DBoost_DIR=%s' % spec['boost'].prefix)
- base_options.append('-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib)
- base_options.append('-DDYNINST_DIR=%s' % spec['dyninst'].prefix)
+ base_options.append("-DBINUTILS_DIR=%s" % spec["binutils"].prefix)
+ base_options.append("-DLIBELF_DIR=%s" % spec["elfutils"].prefix)
+ base_options.append("-DLIBDWARF_DIR=%s" % spec["libdwarf"].prefix)
+ base_options.append("-DPYTHON_EXECUTABLE=%s" % python_exe)
+ base_options.append("-DPYTHON_INCLUDE_DIR=%s" % python_include)
+ base_options.append("-DPYTHON_LIBRARY=%s" % python_library)
+ base_options.append("-DBoost_NO_SYSTEM_PATHS=%s" % true_value)
+ base_options.append("-DBoost_NO_BOOST_CMAKE=%s" % true_value)
+ base_options.append("-DBOOST_ROOT=%s" % spec["boost"].prefix)
+ base_options.append("-DBoost_DIR=%s" % spec["boost"].prefix)
+ base_options.append("-DBOOST_LIBRARYDIR=%s" % spec["boost"].prefix.lib)
+ base_options.append("-DDYNINST_DIR=%s" % spec["dyninst"].prefix)
cmake_options.extend(base_options)
@@ -250,23 +282,23 @@ class Openspeedshop(CMakePackage):
mpi_options = []
# openmpi
- if spec.satisfies('+openmpi'):
- mpi_options.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix)
+ if spec.satisfies("+openmpi"):
+ mpi_options.append("-DOPENMPI_DIR=%s" % spec["openmpi"].prefix)
# mpich
- if spec.satisfies('+mpich'):
- mpi_options.append('-DMPICH_DIR=%s' % spec['mpich'].prefix)
+ if spec.satisfies("+mpich"):
+ mpi_options.append("-DMPICH_DIR=%s" % spec["mpich"].prefix)
# mpich2
- if spec.satisfies('+mpich2'):
- mpi_options.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix)
+ if spec.satisfies("+mpich2"):
+ mpi_options.append("-DMPICH2_DIR=%s" % spec["mpich2"].prefix)
# mvapich
- if spec.satisfies('+mvapich'):
- mpi_options.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix)
+ if spec.satisfies("+mvapich"):
+ mpi_options.append("-DMVAPICH_DIR=%s" % spec["mvapich"].prefix)
# mvapich2
- if spec.satisfies('+mvapich2'):
- mpi_options.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix)
+ if spec.satisfies("+mvapich2"):
+ mpi_options.append("-DMVAPICH2_DIR=%s" % spec["mvapich2"].prefix)
# mpt
- if spec.satisfies('+mpt'):
- mpi_options.append('-DMPT_DIR=%s' % spec['mpt'].prefix)
+ if spec.satisfies("+mpt"):
+ mpi_options.append("-DMPT_DIR=%s" % spec["mpt"].prefix)
cmake_options.extend(mpi_options)
@@ -277,14 +309,14 @@ class Openspeedshop(CMakePackage):
# set the DYNINSTAPI_RT_LIB library which is
# required for OpenSpeedShop to find loop level
# performance information
- dyninst_libdir = find_libraries('libdyninstAPI_RT',
- root=self.spec['dyninst'].prefix,
- shared=True, recursive=True)
+ dyninst_libdir = find_libraries(
+ "libdyninstAPI_RT", root=self.spec["dyninst"].prefix, shared=True, recursive=True
+ )
# Set Dyninst RT library path to support OSS loop resolution code
- env.set('DYNINSTAPI_RT_LIB', dyninst_libdir[0])
+ env.set("DYNINSTAPI_RT_LIB", dyninst_libdir[0])
- env.set('OPENSS_RAWDATA_DIR', '.')
+ env.set("OPENSS_RAWDATA_DIR", ".")
# Set the openspeedshop plugin path
if os.path.isdir(self.prefix.lib64):
@@ -292,41 +324,39 @@ class Openspeedshop(CMakePackage):
else:
lib_dir = self.prefix.lib
- plugin_path = '/openspeedshop'
+ plugin_path = "/openspeedshop"
oss_plugin_path = lib_dir + plugin_path
- env.set('OPENSS_PLUGIN_PATH', oss_plugin_path)
+ env.set("OPENSS_PLUGIN_PATH", oss_plugin_path)
- cbtf_mc = '/sbin/cbtf_mrnet_commnode'
- cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend'
- env.set('XPLAT_RSH', 'ssh')
- env.set('MRNET_COMM_PATH',
- join_path(self.spec['cbtf-krell'].prefix + cbtf_mc))
+ cbtf_mc = "/sbin/cbtf_mrnet_commnode"
+ cbtf_lmb = "/sbin/cbtf_libcbtf_mrnet_backend"
+ env.set("XPLAT_RSH", "ssh")
+ env.set("MRNET_COMM_PATH", join_path(self.spec["cbtf-krell"].prefix + cbtf_mc))
# Set CBTF_MPI_IMPLEMENTATON to the appropriate mpi implementation
# This is needed by O|SS and CBTF tools to deploy the correct
# mpi runtimes for ossmpi, ossmpit, ossmpip, and cbtfsummary
# Users may have to set the CBTF_MPI_IMPLEMENTATION variable
# manually if multiple mpi's are specified in the build
- if self.spec.satisfies('+mpich'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mpich")
+ if self.spec.satisfies("+mpich"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mpich")
- if self.spec.satisfies('+mvapich'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mvapich")
+ if self.spec.satisfies("+mvapich"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mvapich")
- if self.spec.satisfies('+mvapich2'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mvapich2")
+ if self.spec.satisfies("+mvapich2"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mvapich2")
- if self.spec.satisfies('+mpt'):
- env.set('CBTF_MPI_IMPLEMENTATION', "mpt")
+ if self.spec.satisfies("+mpt"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "mpt")
- if self.spec.satisfies('+openmpi'):
- env.set('CBTF_MPI_IMPLEMENTATION', "openmpi")
+ if self.spec.satisfies("+openmpi"):
+ env.set("CBTF_MPI_IMPLEMENTATION", "openmpi")
- env.set('CBTF_MRNET_BACKEND_PATH',
- join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb))
- env.prepend_path('PATH', self.spec['mrnet'].prefix.bin)
- env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin)
- env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin)
- mpath = '/share/man'
- env.prepend_path('MANPATH', self.spec['cbtf-krell'].prefix + mpath)
- env.prepend_path('PATH', self.spec['python'].prefix.bin)
+ env.set("CBTF_MRNET_BACKEND_PATH", join_path(self.spec["cbtf-krell"].prefix + cbtf_lmb))
+ env.prepend_path("PATH", self.spec["mrnet"].prefix.bin)
+ env.prepend_path("PATH", self.spec["cbtf-krell"].prefix.bin)
+ env.prepend_path("PATH", self.spec["cbtf-krell"].prefix.sbin)
+ mpath = "/share/man"
+ env.prepend_path("MANPATH", self.spec["cbtf-krell"].prefix + mpath)
+ env.prepend_path("PATH", self.spec["python"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/openssh/package.py b/var/spack/repos/builtin/packages/openssh/package.py
index 2f5441631a..14e6581b30 100755
--- a/var/spack/repos/builtin/packages/openssh/package.py
+++ b/var/spack/repos/builtin/packages/openssh/package.py
@@ -11,80 +11,89 @@ from spack.package import *
class Openssh(AutotoolsPackage):
"""OpenSSH is the premier connectivity tool for remote login with the
- SSH protocol. It encrypts all traffic to eliminate
- eavesdropping, connection hijacking, and other attacks. In
- addition, OpenSSH provides a large suite of secure tunneling
- capabilities, several authentication methods, and sophisticated
- configuration options.
+ SSH protocol. It encrypts all traffic to eliminate
+ eavesdropping, connection hijacking, and other attacks. In
+ addition, OpenSSH provides a large suite of secure tunneling
+ capabilities, several authentication methods, and sophisticated
+ configuration options.
"""
homepage = "https://www.openssh.com/"
- url = "https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz"
-
- tags = ['core-packages']
-
- version('9.0p1', sha256='03974302161e9ecce32153cfa10012f1e65c8f3750f573a73ab1befd5972a28a')
- version('8.9p1', sha256='fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7')
- version('8.8p1', sha256='4590890ea9bb9ace4f71ae331785a3a5823232435161960ed5fc86588f331fe9')
- version('8.7p1', sha256='7ca34b8bb24ae9e50f33792b7091b3841d7e1b440ff57bc9fabddf01e2ed1e24')
- version('8.6p1', sha256='c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae')
- version('8.5p1', sha256='f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25')
- version('8.4p1', sha256='5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24')
- version('8.3p1', sha256='f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2')
- version('8.1p1', sha256='02f5dbef3835d0753556f973cd57b4c19b6b1f6cd24c03445e23ac77ca1b93ff')
- version('7.9p1', sha256='6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad')
- version('7.6p1', sha256='a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723')
- version('7.5p1', sha256='9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0')
- version('7.4p1', sha256='1b1fc4a14e2024293181924ed24872e6f2e06293f3e8926a376b8aec481f19d1')
- version('7.3p1', sha256='3ffb989a6dcaa69594c3b550d4855a5a2e1718ccdde7f5e36387b424220fbecc')
- version('7.2p2', sha256='a72781d1a043876a224ff1b0032daa4094d87565a68528759c1c2cab5482548c')
- version('7.1p2', sha256='dd75f024dcf21e06a0d6421d582690bf987a1f6323e32ad6619392f3bfde6bbd')
- version('7.0p1', sha256='fd5932493a19f4c81153d812ee4e042b49bbd3b759ab3d9344abecc2bc1485e5')
- version('6.9p1', sha256='6e074df538f357d440be6cf93dc581a21f22d39e236f217fcd8eacbb6c896cfe')
- version('6.8p1', sha256='3ff64ce73ee124480b5bf767b9830d7d3c03bbcb6abe716b78f0192c37ce160e')
- version('6.7p1', sha256='b2f8394eae858dabbdef7dac10b99aec00c95462753e80342e530bbb6f725507')
- version('6.6p1', sha256='48c1f0664b4534875038004cc4f3555b8329c2a81c1df48db5c517800de203bb')
-
- variant('gssapi', default=True, description='Enable authentication via Kerberos through GSSAPI')
-
- depends_on('krb5', when='+gssapi')
- depends_on('openssl@:1.0', when='@:7.7p1')
- depends_on('openssl')
- depends_on('libedit')
- depends_on('ncurses')
- depends_on('zlib')
- depends_on('py-twisted', type='test')
-
- maintainers = ['bernhardkaindl']
- executables = ['^ssh$', '^scp$', '^sftp$', '^ssh-add$', '^ssh-agent$',
- '^ssh-keygen$', '^ssh-keyscan$']
+ url = "https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz"
+
+ tags = ["core-packages"]
+
+ version("9.0p1", sha256="03974302161e9ecce32153cfa10012f1e65c8f3750f573a73ab1befd5972a28a")
+ version("8.9p1", sha256="fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7")
+ version("8.8p1", sha256="4590890ea9bb9ace4f71ae331785a3a5823232435161960ed5fc86588f331fe9")
+ version("8.7p1", sha256="7ca34b8bb24ae9e50f33792b7091b3841d7e1b440ff57bc9fabddf01e2ed1e24")
+ version("8.6p1", sha256="c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae")
+ version("8.5p1", sha256="f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25")
+ version("8.4p1", sha256="5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24")
+ version("8.3p1", sha256="f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2")
+ version("8.1p1", sha256="02f5dbef3835d0753556f973cd57b4c19b6b1f6cd24c03445e23ac77ca1b93ff")
+ version("7.9p1", sha256="6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad")
+ version("7.6p1", sha256="a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723")
+ version("7.5p1", sha256="9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0")
+ version("7.4p1", sha256="1b1fc4a14e2024293181924ed24872e6f2e06293f3e8926a376b8aec481f19d1")
+ version("7.3p1", sha256="3ffb989a6dcaa69594c3b550d4855a5a2e1718ccdde7f5e36387b424220fbecc")
+ version("7.2p2", sha256="a72781d1a043876a224ff1b0032daa4094d87565a68528759c1c2cab5482548c")
+ version("7.1p2", sha256="dd75f024dcf21e06a0d6421d582690bf987a1f6323e32ad6619392f3bfde6bbd")
+ version("7.0p1", sha256="fd5932493a19f4c81153d812ee4e042b49bbd3b759ab3d9344abecc2bc1485e5")
+ version("6.9p1", sha256="6e074df538f357d440be6cf93dc581a21f22d39e236f217fcd8eacbb6c896cfe")
+ version("6.8p1", sha256="3ff64ce73ee124480b5bf767b9830d7d3c03bbcb6abe716b78f0192c37ce160e")
+ version("6.7p1", sha256="b2f8394eae858dabbdef7dac10b99aec00c95462753e80342e530bbb6f725507")
+ version("6.6p1", sha256="48c1f0664b4534875038004cc4f3555b8329c2a81c1df48db5c517800de203bb")
+
+ variant(
+ "gssapi", default=True, description="Enable authentication via Kerberos through GSSAPI"
+ )
+
+ depends_on("krb5", when="+gssapi")
+ depends_on("openssl@:1.0", when="@:7.7p1")
+ depends_on("openssl")
+ depends_on("libedit")
+ depends_on("ncurses")
+ depends_on("zlib")
+ depends_on("py-twisted", type="test")
+
+ maintainers = ["bernhardkaindl"]
+ executables = [
+ "^ssh$",
+ "^scp$",
+ "^sftp$",
+ "^ssh-add$",
+ "^ssh-agent$",
+ "^ssh-keygen$",
+ "^ssh-keyscan$",
+ ]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('-V', output=str, error=str).rstrip()
- match = re.search(r'OpenSSH_([^, ]+)', output)
+ output = Executable(exe)("-V", output=str, error=str).rstrip()
+ match = re.search(r"OpenSSH_([^, ]+)", output)
return match.group(1) if match else None
def patch(self):
# #29938: skip set-suid (also see man ssh-key-sign: it's not enabled by default)
- filter_file(r'\$\(INSTALL\) -m 4711', '$(INSTALL) -m711', 'Makefile.in')
+ filter_file(r"\$\(INSTALL\) -m 4711", "$(INSTALL) -m711", "Makefile.in")
def configure_args(self):
# OpenSSH's privilege separation path defaults to /var/empty. At
# least newer versions want to create the directory during the
# install step and fail if they cannot do so.
- args = ['--with-privsep-path={0}'.format(self.prefix.var.empty)]
- if self.spec.satisfies('+gssapi'):
- args.append('--with-kerberos5=' + self.spec['krb5'].prefix)
+ args = ["--with-privsep-path={0}".format(self.prefix.var.empty)]
+ if self.spec.satisfies("+gssapi"):
+ args.append("--with-kerberos5=" + self.spec["krb5"].prefix)
# Somehow creating pie executables fails with nvhpc, not with gcc.
- if '%nvhpc' in self.spec:
- args.append('--without-pie')
+ if "%nvhpc" in self.spec:
+ args.append("--without-pie")
return args
def install(self, spec, prefix):
"""Install generates etc/sshd_config, but it fails in parallel mode"""
- make('install', parallel=False)
+ make("install", parallel=False)
def setup_build_environment(self, env):
"""Until spack supports a real implementation of setup_test_environment()"""
@@ -95,26 +104,29 @@ class Openssh(AutotoolsPackage):
"""Configure the regression test suite like Debian's openssh-tests package"""
p = self.prefix
j = join_path
- env.set('TEST_SSH_SSH', p.bin.ssh)
- env.set('TEST_SSH_SCP', p.bin.scp)
- env.set('TEST_SSH_SFTP', p.bin.sftp)
- env.set('TEST_SSH_SK_HELPER', j(p.libexec, 'ssh-sk-helper'))
- env.set('TEST_SSH_SFTPSERVER', j(p.libexec, 'sftp-server'))
- env.set('TEST_SSH_PKCS11_HELPER', j(p.libexec, 'ssh-pkcs11-helper'))
- env.set('TEST_SSH_SSHD', p.sbin.sshd)
- env.set('TEST_SSH_SSHADD', j(p.bin, 'ssh-add'))
- env.set('TEST_SSH_SSHAGENT', j(p.bin, 'ssh-agent'))
- env.set('TEST_SSH_SSHKEYGEN', j(p.bin, 'ssh-keygen'))
- env.set('TEST_SSH_SSHKEYSCAN', j(p.bin, 'ssh-keyscan'))
- env.set('TEST_SSH_UNSAFE_PERMISSIONS', '1')
+ env.set("TEST_SSH_SSH", p.bin.ssh)
+ env.set("TEST_SSH_SCP", p.bin.scp)
+ env.set("TEST_SSH_SFTP", p.bin.sftp)
+ env.set("TEST_SSH_SK_HELPER", j(p.libexec, "ssh-sk-helper"))
+ env.set("TEST_SSH_SFTPSERVER", j(p.libexec, "sftp-server"))
+ env.set("TEST_SSH_PKCS11_HELPER", j(p.libexec, "ssh-pkcs11-helper"))
+ env.set("TEST_SSH_SSHD", p.sbin.sshd)
+ env.set("TEST_SSH_SSHADD", j(p.bin, "ssh-add"))
+ env.set("TEST_SSH_SSHAGENT", j(p.bin, "ssh-agent"))
+ env.set("TEST_SSH_SSHKEYGEN", j(p.bin, "ssh-keygen"))
+ env.set("TEST_SSH_SSHKEYSCAN", j(p.bin, "ssh-keyscan"))
+ env.set("TEST_SSH_UNSAFE_PERMISSIONS", "1")
# Get a free port for the simple tests and skip the complex tests:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- tcp.bind(('', 0))
+ tcp.bind(("", 0))
host, port = tcp.getsockname()
tcp.close()
- env.set('TEST_SSH_PORT', port)
- env.set('SKIP_LTESTS', 'key-options forward-control forwarding '
- 'multiplex addrmatch cfgmatch cfgmatchlisten percent')
+ env.set("TEST_SSH_PORT", port)
+ env.set(
+ "SKIP_LTESTS",
+ "key-options forward-control forwarding "
+ "multiplex addrmatch cfgmatch cfgmatchlisten percent",
+ )
def installcheck(self):
- make('-e', 'tests', parallel=False)
+ make("-e", "tests", parallel=False)
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index 1774adb3d6..6902bf84d5 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -11,11 +11,12 @@ import llnl.util.tty as tty
from spack.package import *
-class Openssl(Package): # Uses Fake Autotools, should subclass Package
+class Openssl(Package): # Uses Fake Autotools, should subclass Package
"""OpenSSL is an open source project that provides a robust,
- 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."""
+ 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 = "https://www.openssl.org"
# URL must remain http:// so Spack can bootstrap curl
@@ -23,182 +24,398 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
list_url = "https://www.openssl.org/source/old/"
list_depth = 1
- tags = ['core-packages']
-
- executables = ['openssl']
-
- version('3.0.5', sha256='aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a')
- version('3.0.4', sha256='2831843e9a668a0ab478e7020ad63d2d65e51f72977472dc73efcefbafc0c00f', deprecated=True)
- version('3.0.2', sha256='98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63', deprecated=True)
- version('3.0.1', sha256='c311ad853353bce796edad01a862c50a8a587f62e7e2100ef465ab53ec9b06d1', deprecated=True)
- version('3.0.0', sha256='59eedfcb46c25214c9bd37ed6078297b4df01d012267fe9e9eee31f61bc70536', deprecated=True)
+ tags = ["core-packages"]
+
+ executables = ["openssl"]
+
+ version("3.0.5", sha256="aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a")
+ version(
+ "3.0.4",
+ sha256="2831843e9a668a0ab478e7020ad63d2d65e51f72977472dc73efcefbafc0c00f",
+ deprecated=True,
+ )
+ version(
+ "3.0.2",
+ sha256="98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63",
+ deprecated=True,
+ )
+ version(
+ "3.0.1",
+ sha256="c311ad853353bce796edad01a862c50a8a587f62e7e2100ef465ab53ec9b06d1",
+ deprecated=True,
+ )
+ version(
+ "3.0.0",
+ sha256="59eedfcb46c25214c9bd37ed6078297b4df01d012267fe9e9eee31f61bc70536",
+ deprecated=True,
+ )
# 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.1q', sha256='d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca', preferred=True)
- version('1.1.1p', sha256='bf61b62aaa66c7c7639942a94de4c9ae8280c08f17d4eac2e44644d9fc8ace6f', deprecated=True)
- version('1.1.1o', sha256='9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f', deprecated=True)
- version('1.1.1n', sha256='40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a', deprecated=True)
- version('1.1.1m', sha256='f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96', deprecated=True)
- version('1.1.1l', sha256='0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1', deprecated=True)
- 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)
- version('1.1.1g', sha256='ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46', deprecated=True)
- version('1.1.1f', sha256='186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35', deprecated=True)
- version('1.1.1e', sha256='694f61ac11cb51c9bf73f54e771ff6022b0327a43bbdfa1b2f19de1662a6dcbe', deprecated=True)
- version('1.1.1d', sha256='1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2', deprecated=True)
- version('1.1.1c', sha256='f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90', deprecated=True)
- version('1.1.1b', sha256='5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b', deprecated=True)
- version('1.1.1a', sha256='fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41', deprecated=True)
- version('1.1.1', sha256='2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d', deprecated=True)
+ version(
+ "1.1.1q",
+ sha256="d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca",
+ preferred=True,
+ )
+ version(
+ "1.1.1p",
+ sha256="bf61b62aaa66c7c7639942a94de4c9ae8280c08f17d4eac2e44644d9fc8ace6f",
+ deprecated=True,
+ )
+ version(
+ "1.1.1o",
+ sha256="9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f",
+ deprecated=True,
+ )
+ version(
+ "1.1.1n",
+ sha256="40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a",
+ deprecated=True,
+ )
+ version(
+ "1.1.1m",
+ sha256="f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96",
+ deprecated=True,
+ )
+ version(
+ "1.1.1l",
+ sha256="0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1",
+ deprecated=True,
+ )
+ 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,
+ )
+ version(
+ "1.1.1g",
+ sha256="ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46",
+ deprecated=True,
+ )
+ version(
+ "1.1.1f",
+ sha256="186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35",
+ deprecated=True,
+ )
+ version(
+ "1.1.1e",
+ sha256="694f61ac11cb51c9bf73f54e771ff6022b0327a43bbdfa1b2f19de1662a6dcbe",
+ deprecated=True,
+ )
+ version(
+ "1.1.1d",
+ sha256="1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2",
+ deprecated=True,
+ )
+ version(
+ "1.1.1c",
+ sha256="f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90",
+ deprecated=True,
+ )
+ version(
+ "1.1.1b",
+ sha256="5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b",
+ deprecated=True,
+ )
+ version(
+ "1.1.1a",
+ sha256="fc20130f8b7cbd2fb918b2f14e2f429e109c31ddd0fb38fc5d71d9ffed3f9f41",
+ deprecated=True,
+ )
+ version(
+ "1.1.1",
+ sha256="2836875a0f89c03d0fdf483941512613a50cfb421d6fd94b9f41d7279d586a3d",
+ deprecated=True,
+ )
# The 1.1.0 series is out of support and should not be used.
- version('1.1.0l', sha256='74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148', deprecated=True)
- version('1.1.0k', sha256='efa4965f4f773574d6cbda1cf874dbbe455ab1c0d4f906115f867d30444470b1', deprecated=True)
- version('1.1.0j', sha256='31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246', deprecated=True)
- version('1.1.0i', sha256='ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99', deprecated=True)
- version('1.1.0g', sha256='de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af', deprecated=True)
- version('1.1.0e', sha256='57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c', deprecated=True)
- version('1.1.0d', sha256='7d5ebb9e89756545c156ff9c13cf2aa6214193b010a468a3bc789c3c28fe60df', deprecated=True)
- version('1.1.0c', sha256='fc436441a2e05752d31b4e46115eb89709a28aef96d4fe786abe92409b2fd6f5', deprecated=True)
+ version(
+ "1.1.0l",
+ sha256="74a2f756c64fd7386a29184dc0344f4831192d61dc2481a93a4c5dd727f41148",
+ deprecated=True,
+ )
+ version(
+ "1.1.0k",
+ sha256="efa4965f4f773574d6cbda1cf874dbbe455ab1c0d4f906115f867d30444470b1",
+ deprecated=True,
+ )
+ version(
+ "1.1.0j",
+ sha256="31bec6c203ce1a8e93d5994f4ed304c63ccf07676118b6634edded12ad1b3246",
+ deprecated=True,
+ )
+ version(
+ "1.1.0i",
+ sha256="ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99",
+ deprecated=True,
+ )
+ version(
+ "1.1.0g",
+ sha256="de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af",
+ deprecated=True,
+ )
+ version(
+ "1.1.0e",
+ sha256="57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c",
+ deprecated=True,
+ )
+ version(
+ "1.1.0d",
+ sha256="7d5ebb9e89756545c156ff9c13cf2aa6214193b010a468a3bc789c3c28fe60df",
+ deprecated=True,
+ )
+ version(
+ "1.1.0c",
+ sha256="fc436441a2e05752d31b4e46115eb89709a28aef96d4fe786abe92409b2fd6f5",
+ deprecated=True,
+ )
# The 1.0.2 series is out of support and should not be used.
- version('1.0.2u', sha256='ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16', deprecated=True)
- version('1.0.2t', sha256='14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc', deprecated=True)
- version('1.0.2s', sha256='cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96', deprecated=True)
- version('1.0.2r', sha256='ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6', deprecated=True)
- version('1.0.2p', sha256='50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00', deprecated=True)
- version('1.0.2o', sha256='ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d', deprecated=True)
- version('1.0.2n', sha256='370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe', deprecated=True)
- version('1.0.2m', sha256='8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f', deprecated=True)
- version('1.0.2k', sha256='6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0', deprecated=True)
- version('1.0.2j', sha256='e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431', deprecated=True)
- version('1.0.2i', sha256='9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f', deprecated=True)
- version('1.0.2h', sha256='1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919', deprecated=True)
- version('1.0.2g', sha256='b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33', deprecated=True)
- version('1.0.2f', sha256='932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c', deprecated=True)
- version('1.0.2e', sha256='e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff', deprecated=True)
- version('1.0.2d', sha256='671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8', deprecated=True)
+ version(
+ "1.0.2u",
+ sha256="ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16",
+ deprecated=True,
+ )
+ version(
+ "1.0.2t",
+ sha256="14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc",
+ deprecated=True,
+ )
+ version(
+ "1.0.2s",
+ sha256="cabd5c9492825ce5bd23f3c3aeed6a97f8142f606d893df216411f07d1abab96",
+ deprecated=True,
+ )
+ version(
+ "1.0.2r",
+ sha256="ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6",
+ deprecated=True,
+ )
+ version(
+ "1.0.2p",
+ sha256="50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00",
+ deprecated=True,
+ )
+ version(
+ "1.0.2o",
+ sha256="ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d",
+ deprecated=True,
+ )
+ version(
+ "1.0.2n",
+ sha256="370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe",
+ deprecated=True,
+ )
+ version(
+ "1.0.2m",
+ sha256="8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f",
+ deprecated=True,
+ )
+ version(
+ "1.0.2k",
+ sha256="6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0",
+ deprecated=True,
+ )
+ version(
+ "1.0.2j",
+ sha256="e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431",
+ deprecated=True,
+ )
+ version(
+ "1.0.2i",
+ sha256="9287487d11c9545b6efb287cdb70535d4e9b284dd10d51441d9b9963d000de6f",
+ deprecated=True,
+ )
+ version(
+ "1.0.2h",
+ sha256="1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919",
+ deprecated=True,
+ )
+ version(
+ "1.0.2g",
+ sha256="b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33",
+ deprecated=True,
+ )
+ version(
+ "1.0.2f",
+ sha256="932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c",
+ deprecated=True,
+ )
+ version(
+ "1.0.2e",
+ sha256="e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff",
+ deprecated=True,
+ )
+ version(
+ "1.0.2d",
+ sha256="671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8",
+ deprecated=True,
+ )
# The 1.0.1 version is out of support and should not be used.
- version('1.0.1u', sha256='4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739', deprecated=True)
- version('1.0.1t', sha256='4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088', deprecated=True)
- version('1.0.1r', sha256='784bd8d355ed01ce98b812f873f8b2313da61df7c7b5677fcf2e57b0863a3346', deprecated=True)
- version('1.0.1h', sha256='9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093', deprecated=True)
- version('1.0.1e', sha256='f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3', deprecated=True)
+ version(
+ "1.0.1u",
+ sha256="4312b4ca1215b6f2c97007503d80db80d5157f76f8f7d3febbe6b4c56ff26739",
+ deprecated=True,
+ )
+ version(
+ "1.0.1t",
+ sha256="4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088",
+ deprecated=True,
+ )
+ version(
+ "1.0.1r",
+ sha256="784bd8d355ed01ce98b812f873f8b2313da61df7c7b5677fcf2e57b0863a3346",
+ deprecated=True,
+ )
+ version(
+ "1.0.1h",
+ sha256="9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093",
+ deprecated=True,
+ )
+ version(
+ "1.0.1e",
+ sha256="f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3",
+ deprecated=True,
+ )
# On Cray DVS mounts, we can't make symlinks to /etc/ssl/openssl.cnf,
# either due to a bug or because DVS is not intended to be POSIX compliant.
# Therefore, stick to system agnostic certs=mozilla.
- variant('certs', default='mozilla',
- values=('mozilla', 'system', 'none'), multi=False,
- description=('Use certificates from the ca-certificates-mozilla '
- 'package, symlink system certificates, or use none, '
- 'respectively. The default is `mozilla`, since it is '
- 'system agnostic. Instead of picking certs=system, '
- 'one can mark openssl as an external package, to '
- 'avoid compiling openssl entirely.'))
- variant('docs', default=False, description='Install docs and manpages')
- variant('shared', default=False, description="Build shared library version")
- with when('platform=windows'):
- variant('dynamic', default=False, description="Link with MSVC's dynamic runtime library")
-
- depends_on('zlib')
- depends_on('perl@5.14.0:', type=('build', 'test'))
- depends_on('ca-certificates-mozilla', type=('build', 'run'), when='certs=mozilla')
- depends_on('nasm', when='platform=windows')
-
- patch('https://github.com/openssl/openssl/commit/f9e578e720bb35228948564192adbe3bc503d5fb.patch?full_index=1',
- sha256='3fdcf2d1e47c34f3a012f23306322c5a35cad55b180c9b6fb34537b55884645c',
- when='@1.1.1q')
+ variant(
+ "certs",
+ default="mozilla",
+ values=("mozilla", "system", "none"),
+ multi=False,
+ description=(
+ "Use certificates from the ca-certificates-mozilla "
+ "package, symlink system certificates, or use none, "
+ "respectively. The default is `mozilla`, since it is "
+ "system agnostic. Instead of picking certs=system, "
+ "one can mark openssl as an external package, to "
+ "avoid compiling openssl entirely."
+ ),
+ )
+ variant("docs", default=False, description="Install docs and manpages")
+ variant("shared", default=False, description="Build shared library version")
+ with when("platform=windows"):
+ variant("dynamic", default=False, description="Link with MSVC's dynamic runtime library")
+
+ depends_on("zlib")
+ depends_on("perl@5.14.0:", type=("build", "test"))
+ depends_on("ca-certificates-mozilla", type=("build", "run"), when="certs=mozilla")
+ depends_on("nasm", when="platform=windows")
+
+ patch(
+ "https://github.com/openssl/openssl/commit/f9e578e720bb35228948564192adbe3bc503d5fb.patch?full_index=1",
+ sha256="3fdcf2d1e47c34f3a012f23306322c5a35cad55b180c9b6fb34537b55884645c",
+ when="@1.1.1q",
+ )
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('version', output=str, error=str)
- match = re.search(r'OpenSSL.(\S+)*', output)
+ output = Executable(exe)("version", output=str, error=str)
+ match = re.search(r"OpenSSL.(\S+)*", output)
return match.group(1) if match else None
@property
def libs(self):
- return find_libraries(
- ['libssl', 'libcrypto'], root=self.prefix, recursive=True)
+ return find_libraries(["libssl", "libcrypto"], root=self.prefix, recursive=True)
def handle_fetch_error(self, error):
- tty.warn("Fetching OpenSSL failed. This may indicate that OpenSSL has "
- "been updated, and the version in your instance of Spack is "
- "insecure. Consider updating to the latest OpenSSL version.")
+ tty.warn(
+ "Fetching OpenSSL failed. This may indicate that OpenSSL has "
+ "been updated, and the version in your instance of Spack is "
+ "insecure. Consider updating to the latest OpenSSL version."
+ )
def install(self, spec, prefix):
# OpenSSL uses these variables in its Makefile or config scripts. If any of them
# happen to be set in the environment, then this will override what is set in
# the script or Makefile, leading to build errors.
- for v in ('APPS', 'BUILD', 'RELEASE', 'MACHINE', 'SYSTEM'):
+ for v in ("APPS", "BUILD", "RELEASE", "MACHINE", "SYSTEM"):
env.pop(v, None)
- if str(spec.target.family) in ('x86_64', 'ppc64'):
+ if str(spec.target.family) in ("x86_64", "ppc64"):
# This needs to be done for all 64-bit architectures (except Linux,
# where it happens automatically?)
- env['KERNEL_BITS'] = '64'
+ env["KERNEL_BITS"] = "64"
- options = ['zlib', 'shared']
- if spec.satisfies('@1.0'):
- options.append('no-krb5')
+ options = ["zlib", "shared"]
+ if spec.satisfies("@1.0"):
+ options.append("no-krb5")
# clang does not support the .arch directive in assembly files.
- if 'clang' in self.compiler.cc and spec.target.family == 'aarch64':
- options.append('no-asm')
- elif '%nvhpc' in spec:
+ if "clang" in self.compiler.cc and spec.target.family == "aarch64":
+ options.append("no-asm")
+ elif "%nvhpc" in spec:
# Last tested on nvidia@22.3 for x86_64:
# nvhpc segfaults NVC++-F-0000-Internal compiler error.
# gen_llvm_expr(): unknown opcode 0 (crypto/rsa/rsa_oaep.c: 248)
- options.append('no-asm')
+ options.append("no-asm")
# The default glibc provided by CentOS 7 does not provide proper
# atomic support when using the NVIDIA compilers
- if self.spec.satisfies('%nvhpc os=centos7'):
- options.append('-D__STDC_NO_ATOMICS__')
+ if self.spec.satisfies("%nvhpc os=centos7"):
+ options.append("-D__STDC_NO_ATOMICS__")
# Make a flag for shared library builds
- base_args = ['--prefix=%s' % prefix,
- '--openssldir=%s'
- % join_path(prefix, 'etc', 'openssl')]
- if spec.satisfies('platform=windows'):
- base_args.extend([
- 'CC=\"%s\"' % os.environ.get('CC'),
- 'CXX=\"%s\"' % os.environ.get('CXX'),
- 'VC-WIN64A',
- ])
- if spec.satisfies('~shared'):
- base_args.append('no-shared')
+ base_args = [
+ "--prefix=%s" % prefix,
+ "--openssldir=%s" % join_path(prefix, "etc", "openssl"),
+ ]
+ if spec.satisfies("platform=windows"):
+ base_args.extend(
+ [
+ 'CC="%s"' % os.environ.get("CC"),
+ 'CXX="%s"' % os.environ.get("CXX"),
+ "VC-WIN64A",
+ ]
+ )
+ if spec.satisfies("~shared"):
+ base_args.append("no-shared")
else:
base_args.extend(
[
- '-I{0}'.format(self.spec['zlib'].prefix.include),
- '-L{0}'.format(self.spec['zlib'].prefix.lib)
+ "-I{0}".format(self.spec["zlib"].prefix.include),
+ "-L{0}".format(self.spec["zlib"].prefix.lib),
]
)
base_args.extend(options)
# On Windows, we use perl for configuration and build through MSVC
# nmake.
- if spec.satisfies('platform=windows'):
+ if spec.satisfies("platform=windows"):
# The configure executable requires that paths with spaces
# on Windows be wrapped in quotes
- Executable('perl')('Configure', *base_args, ignore_quotes=True)
+ Executable("perl")("Configure", *base_args, ignore_quotes=True)
else:
- Executable('./config')(*base_args)
+ Executable("./config")(*base_args)
# Remove non-standard compiler options if present. These options are
# present e.g. on Darwin. They are non-standard, i.e. most compilers
# (e.g. gcc) will not accept them.
- filter_file(r'-arch x86_64', '', 'Makefile')
+ filter_file(r"-arch x86_64", "", "Makefile")
- if spec.satisfies('+dynamic'):
+ if spec.satisfies("+dynamic"):
# This variant only makes sense for Windows
- if spec.satisfies('platform=windows'):
- filter_file(r'MT', 'MD', 'makefile')
+ if spec.satisfies("platform=windows"):
+ filter_file(r"MT", "MD", "makefile")
- if spec.satisfies('platform=windows'):
+ if spec.satisfies("platform=windows"):
host_make = nmake
else:
host_make = make
@@ -206,47 +423,47 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
host_make()
if self.run_tests:
- host_make('test', parallel=False) # 'VERBOSE=1'
+ host_make("test", parallel=False) # 'VERBOSE=1'
- install_tgt = 'install' if self.spec.satisfies('+docs') else 'install_sw'
+ install_tgt = "install" if self.spec.satisfies("+docs") else "install_sw"
# See https://github.com/openssl/openssl/issues/7466#issuecomment-432148137
host_make(install_tgt, parallel=False)
- @run_after('install')
+ @run_after("install")
def link_system_certs(self):
- if self.spec.variants['certs'].value != 'system':
+ if self.spec.variants["certs"].value != "system":
return
system_dirs = [
# CentOS, Fedora, RHEL
- '/etc/pki/tls',
+ "/etc/pki/tls",
# Ubuntu
- '/usr/lib/ssl',
+ "/usr/lib/ssl",
# OpenSUSE
- '/etc/ssl'
+ "/etc/ssl",
]
- pkg_dir = join_path(self.prefix, 'etc', 'openssl')
+ pkg_dir = join_path(self.prefix, "etc", "openssl")
mkdirp(pkg_dir)
for directory in system_dirs:
# Link configuration file
- sys_conf = join_path(directory, 'openssl.cnf')
- pkg_conf = join_path(pkg_dir, 'openssl.cnf')
+ sys_conf = join_path(directory, "openssl.cnf")
+ pkg_conf = join_path(pkg_dir, "openssl.cnf")
if os.path.exists(sys_conf) and not os.path.exists(pkg_conf):
os.symlink(sys_conf, pkg_conf)
- sys_cert = join_path(directory, 'cert.pem')
- pkg_cert = join_path(pkg_dir, 'cert.pem')
+ sys_cert = join_path(directory, "cert.pem")
+ pkg_cert = join_path(pkg_dir, "cert.pem")
# If a bundle exists, use it. This is the preferred way on Fedora,
# where the certs directory does not work.
if os.path.exists(sys_cert) and not os.path.exists(pkg_cert):
os.symlink(sys_cert, pkg_cert)
- sys_certs = join_path(directory, 'certs')
- pkg_certs = join_path(pkg_dir, 'certs')
+ sys_certs = join_path(directory, "certs")
+ pkg_certs = join_path(pkg_dir, "certs")
# If the certs directory exists, symlink it into the package.
# We symlink the whole directory instead of all files because
# the directory contents might change without Spack noticing.
@@ -255,27 +472,25 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
os.rmdir(pkg_certs)
os.symlink(sys_certs, pkg_certs)
- @run_after('install')
+ @run_after("install")
def link_mozilla_certs(self):
- if self.spec.variants['certs'].value != 'mozilla':
+ if self.spec.variants["certs"].value != "mozilla":
return
- pkg_dir = join_path(self.prefix, 'etc', 'openssl')
+ pkg_dir = join_path(self.prefix, "etc", "openssl")
mkdirp(pkg_dir)
- mozilla_pem = self.spec['ca-certificates-mozilla'].pem_path
- pkg_cert = join_path(pkg_dir, 'cert.pem')
+ mozilla_pem = self.spec["ca-certificates-mozilla"].pem_path
+ pkg_cert = join_path(pkg_dir, "cert.pem")
if not os.path.exists(pkg_cert):
os.symlink(mozilla_pem, pkg_cert)
def patch(self):
- if self.spec.satisfies('%nvhpc'):
+ if self.spec.satisfies("%nvhpc"):
# Remove incompatible preprocessor flags
- filter_file('-MF ', '',
- 'Configurations/unix-Makefile.tmpl', string=True)
- filter_file(r'-MT \$\@ ', '',
- 'Configurations/unix-Makefile.tmpl', string=True)
+ filter_file("-MF ", "", "Configurations/unix-Makefile.tmpl", string=True)
+ filter_file(r"-MT \$\@ ", "", "Configurations/unix-Makefile.tmpl", string=True)
def setup_build_environment(self, env):
- env.set('PERL', self.spec['perl'].prefix.bin.perl)
+ env.set("PERL", self.spec["perl"].prefix.bin.perl)
diff --git a/var/spack/repos/builtin/packages/openstf/package.py b/var/spack/repos/builtin/packages/openstf/package.py
index dd4fc41798..6c43662696 100644
--- a/var/spack/repos/builtin/packages/openstf/package.py
+++ b/var/spack/repos/builtin/packages/openstf/package.py
@@ -8,43 +8,46 @@ from spack.package import *
class Openstf(MakefilePackage):
"""OpenSTF is an electrostatic field simulator which can calculate
- the voltage distribution and the electric field distribution of
- a system consisting of electrodes and dielectrics."""
+ the voltage distribution and the electric field distribution of
+ a system consisting of electrodes and dielectrics."""
homepage = "http://www.e-em.co.jp/OpenSTF/"
- url = "http://www.e-em.co.jp/OpenSTF/OpenSTF.zip"
+ url = "http://www.e-em.co.jp/OpenSTF/OpenSTF.zip"
- version('1.7.0', sha256='50a0406dd452e3ec09d29aa362a426ca04c8a586d817ab1295988f578baeac2a')
- version('1.3.1', sha256='4c39c81f70e3f8017fcb9cd457436c77d29e016d78bc5337f152f2eb078aa7b6',
- url='http://www.e-em.co.jp/OpenSTF/old/OpenSTF_131.zip')
+ version("1.7.0", sha256="50a0406dd452e3ec09d29aa362a426ca04c8a586d817ab1295988f578baeac2a")
+ version(
+ "1.3.1",
+ sha256="4c39c81f70e3f8017fcb9cd457436c77d29e016d78bc5337f152f2eb078aa7b6",
+ url="http://www.e-em.co.jp/OpenSTF/old/OpenSTF_131.zip",
+ )
- variant('mpi', default=False, description='Build with MPI Support')
+ variant("mpi", default=False, description="Build with MPI Support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def edit(self, spec, prefix):
- if '%gcc' in self.spec:
- filter_file('gcc', spack_cc, './src/Makefile_gcc')
- filter_file('^LIBS.*=', 'LIBS = -lm', './src/Makefile_gcc')
- if '+mpi' in self.spec:
- filter_file('mpicc', spec['mpi'].mpicc, './mpi/Makefile_gcc')
- filter_file('^LIBS.*=', 'LIBS = -lm', './mpi/Makefile_gcc')
+ if "%gcc" in self.spec:
+ filter_file("gcc", spack_cc, "./src/Makefile_gcc")
+ filter_file("^LIBS.*=", "LIBS = -lm", "./src/Makefile_gcc")
+ if "+mpi" in self.spec:
+ filter_file("mpicc", spec["mpi"].mpicc, "./mpi/Makefile_gcc")
+ filter_file("^LIBS.*=", "LIBS = -lm", "./mpi/Makefile_gcc")
- elif '%fj' in self.spec:
- filter_file('gcc', spack_cc, './src/Makefile_gcc')
- if '+mpi' in self.spec:
- filter_file('mpicc', spec['mpi'].mpicc, './mpi/Makefile_gcc')
- filter_file('^LIBS.*=', 'LIBS = -lm', './mpi/Makefile_gcc')
+ elif "%fj" in self.spec:
+ filter_file("gcc", spack_cc, "./src/Makefile_gcc")
+ if "+mpi" in self.spec:
+ filter_file("mpicc", spec["mpi"].mpicc, "./mpi/Makefile_gcc")
+ filter_file("^LIBS.*=", "LIBS = -lm", "./mpi/Makefile_gcc")
# Openstf has "Makefile" and "Makefile_gcc".
# "Makefile" is used only in Windows development environment.
# The build in Windows development environment is not confirmed.
def build(self, spec, prefix):
- with working_dir('src'):
- if '%gcc' in self.spec:
- make('-f', 'Makefile_gcc')
- elif '%fj' in self.spec:
- make('-f', 'Makefile_gcc')
+ with working_dir("src"):
+ if "%gcc" in self.spec:
+ make("-f", "Makefile_gcc")
+ elif "%fj" in self.spec:
+ make("-f", "Makefile_gcc")
else:
make()
@@ -52,17 +55,17 @@ class Openstf(MakefilePackage):
# which are made for an executable file not for mpi.
# Therefore, the build in the "src" directory is necessary
# for to make an executable file for mpi.
- if '+mpi' in self.spec:
- with working_dir('mpi'):
- if '%gcc' in self.spec:
- make('-f', 'Makefile_gcc')
- elif '%fj' in self.spec:
- make('-f', 'Makefile_gcc')
+ if "+mpi" in self.spec:
+ with working_dir("mpi"):
+ if "%gcc" in self.spec:
+ make("-f", "Makefile_gcc")
+ elif "%fj" in self.spec:
+ make("-f", "Makefile_gcc")
else:
make()
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ost', prefix.bin)
- if '+mpi' in self.spec:
- install('ost_mpi', prefix.bin)
+ install("ost", prefix.bin)
+ if "+mpi" in self.spec:
+ install("ost_mpi", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/opensubdiv/package.py b/var/spack/repos/builtin/packages/opensubdiv/package.py
index d940d3115b..18f1c4f056 100644
--- a/var/spack/repos/builtin/packages/opensubdiv/package.py
+++ b/var/spack/repos/builtin/packages/opensubdiv/package.py
@@ -15,76 +15,77 @@ class Opensubdiv(CMakePackage, CudaPackage):
with static topology at interactive framerates."""
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"
+ url = "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_4_0.tar.gz"
+ git = "https://github.com/PixarAnimationStudios/OpenSubdiv"
- version('develop', branch='dev')
- version('3.4.3', sha256='7b22eb27d636ab0c1e03722c7a5a5bd4f11664ee65c9b48f341a6d0ce7f36745')
- version('3.4.0', sha256='d932b292f83371c7518960b2135c7a5b931efb43cdd8720e0b27268a698973e4')
+ version("develop", branch="dev")
+ version("3.4.3", sha256="7b22eb27d636ab0c1e03722c7a5a5bd4f11664ee65c9b48f341a6d0ce7f36745")
+ version("3.4.0", sha256="d932b292f83371c7518960b2135c7a5b931efb43cdd8720e0b27268a698973e4")
def url_for_version(self, version):
url = "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v{0}.tar.gz"
return url.format(version.underscored)
- variant('tbb', default=False, description='Builds with Intel TBB support')
- variant('openmp', default=False, description='Builds with OpenMP support')
- variant('doc', default=False, description='Builds documentation. Requires Python 2')
-
- depends_on('cmake@2.8.6:', type='build')
- depends_on('graphviz', type='build', when='+doc')
- depends_on('doxygen', type='build', when='+doc')
- depends_on('py-docutils', type='build', when='+doc')
- depends_on('python@2.6:2', type='build', when='+doc')
- depends_on('gl')
- depends_on('glew@1.9.0:')
- depends_on('glfw@3.0.0:')
- depends_on('intel-tbb@4.0:', when='+tbb')
- depends_on('libxrandr')
- depends_on('libxcursor')
- depends_on('libxinerama')
- depends_on('llvm-openmp', when='+openmp')
+ variant("tbb", default=False, description="Builds with Intel TBB support")
+ variant("openmp", default=False, description="Builds with OpenMP support")
+ variant("doc", default=False, description="Builds documentation. Requires Python 2")
+
+ depends_on("cmake@2.8.6:", type="build")
+ depends_on("graphviz", type="build", when="+doc")
+ depends_on("doxygen", type="build", when="+doc")
+ depends_on("py-docutils", type="build", when="+doc")
+ depends_on("python@2.6:2", type="build", when="+doc")
+ depends_on("gl")
+ depends_on("glew@1.9.0:")
+ depends_on("glfw@3.0.0:")
+ depends_on("intel-tbb@4.0:", when="+tbb")
+ depends_on("libxrandr")
+ depends_on("libxcursor")
+ depends_on("libxinerama")
+ depends_on("llvm-openmp", when="+openmp")
def cmake_args(self):
spec = self.spec
args = []
- args.append('-DNO_EXAMPLES=1') # disable examples build
- args.append('-DNO_TUTORIALS=1') # disable tutorials build
- args.append('-DNO_REGRESSION=1') # disable regression tests build
- args.append('-DNO_PTEX=1') # disable PTex support
- args.append('-DNO_OPENCL=1') # disable OpenCL
- args.append('-DNO_CLEW=1') # disable CLEW wrapper library
- args.append('-DNO_METAL=1') # disable Metal
+ args.append("-DNO_EXAMPLES=1") # disable examples build
+ args.append("-DNO_TUTORIALS=1") # disable tutorials build
+ args.append("-DNO_REGRESSION=1") # disable regression tests build
+ args.append("-DNO_PTEX=1") # disable PTex support
+ args.append("-DNO_OPENCL=1") # disable OpenCL
+ args.append("-DNO_CLEW=1") # disable CLEW wrapper library
+ args.append("-DNO_METAL=1") # disable Metal
- args.append('-DNO_OPENGL=0') # OpenGL always on
- args.append('-DGLEW_LOCATION={0}'.format(spec['glew'].prefix))
+ args.append("-DNO_OPENGL=0") # OpenGL always on
+ args.append("-DGLEW_LOCATION={0}".format(spec["glew"].prefix))
- if '+cuda' in spec:
- args.append('-DNO_CUDA=0')
+ if "+cuda" in spec:
+ args.append("-DNO_CUDA=0")
- cuda_arch = [x for x in spec.variants['cuda_arch'].value if x]
+ cuda_arch = [x for x in spec.variants["cuda_arch"].value if x]
if cuda_arch:
- args.append('-DOSD_CUDA_NVCC_FLAGS={0}'.format(
- ' '.join(self.cuda_flags(cuda_arch))))
+ args.append(
+ "-DOSD_CUDA_NVCC_FLAGS={0}".format(" ".join(self.cuda_flags(cuda_arch)))
+ )
else:
- args.append('-DOSD_CUDA_NVCC_FLAGS=')
+ args.append("-DOSD_CUDA_NVCC_FLAGS=")
else:
- args.append('-DNO_CUDA=1')
+ args.append("-DNO_CUDA=1")
- if '+tbb' in spec:
- args.append('-DNO_TBB=0')
+ if "+tbb" in spec:
+ args.append("-DNO_TBB=0")
else:
- args.append('-DNO_TBB=1')
+ args.append("-DNO_TBB=1")
- if '+doc' in spec:
- args.append('-DNO_DOC=0')
+ if "+doc" in spec:
+ args.append("-DNO_DOC=0")
else:
- args.append('-DNO_DOC=1')
+ args.append("-DNO_DOC=1")
- if '+openmp' in spec:
- args.append('-DNO_OMP=0')
+ if "+openmp" in spec:
+ args.append("-DNO_OMP=0")
else:
- args.append('-DNO_OMP=1')
+ args.append("-DNO_OMP=1")
return args
diff --git a/var/spack/repos/builtin/packages/opentsdb/package.py b/var/spack/repos/builtin/packages/opentsdb/package.py
index 39923c240a..84e36a1421 100644
--- a/var/spack/repos/builtin/packages/opentsdb/package.py
+++ b/var/spack/repos/builtin/packages/opentsdb/package.py
@@ -16,18 +16,18 @@ class Opentsdb(AutotoolsPackage):
"""
homepage = "https://github.com/OpenTSDB"
- url = "https://github.com/OpenTSDB/opentsdb/archive/v2.4.0.tar.gz"
+ url = "https://github.com/OpenTSDB/opentsdb/archive/v2.4.0.tar.gz"
- version('2.4.0', sha256='eb6bf323d058bd456a3b92132f872ca0e4f4a0b0d5e3ed325ebc03dcd64abfd0')
- version('2.3.2', sha256='5de8a3ff21bfa431d53859e278e23100fddde239aa2f25e8dee7810098cfd131')
- version('2.3.1', sha256='cc3c13aa18a733e1d353558623b5d3620d5322f3894a84d84cb24c024a70a8d7')
- version('2.3.0', sha256='c5641ff63a617a5f1ba787b17a10f102dceb3826ce7a4f3b6fd74d1b6409f722')
- version('2.2.2', sha256='031fb2b8fab083ad035dafecdac259a1316af0f1c6d28f8846e07ad03d36ff02')
- version('2.2.1', sha256='e2f335dcb3dfdc74cc80b2f70dc3c68d239d0832c4bf9af278b7df5a58c06990')
- version('2.2.0', sha256='fa9856e17fcd9c804878ea0be59377b64cca3ce25bc8424ed1ab786dce2432a0')
+ version("2.4.0", sha256="eb6bf323d058bd456a3b92132f872ca0e4f4a0b0d5e3ed325ebc03dcd64abfd0")
+ version("2.3.2", sha256="5de8a3ff21bfa431d53859e278e23100fddde239aa2f25e8dee7810098cfd131")
+ version("2.3.1", sha256="cc3c13aa18a733e1d353558623b5d3620d5322f3894a84d84cb24c024a70a8d7")
+ version("2.3.0", sha256="c5641ff63a617a5f1ba787b17a10f102dceb3826ce7a4f3b6fd74d1b6409f722")
+ version("2.2.2", sha256="031fb2b8fab083ad035dafecdac259a1316af0f1c6d28f8846e07ad03d36ff02")
+ version("2.2.1", sha256="e2f335dcb3dfdc74cc80b2f70dc3c68d239d0832c4bf9af278b7df5a58c06990")
+ version("2.2.0", sha256="fa9856e17fcd9c804878ea0be59377b64cca3ce25bc8424ed1ab786dce2432a0")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('java', type='run')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("java", type="run")
diff --git a/var/spack/repos/builtin/packages/openturns/package.py b/var/spack/repos/builtin/packages/openturns/package.py
index addf269fdf..27a8b47104 100644
--- a/var/spack/repos/builtin/packages/openturns/package.py
+++ b/var/spack/repos/builtin/packages/openturns/package.py
@@ -16,46 +16,48 @@ class Openturns(CMakePackage):
deterministic studies."""
homepage = "https://openturns.github.io/www/"
- url = "https://github.com/openturns/openturns/archive/refs/tags/v1.18.tar.gz"
- git = "https://github.com/openturns/openturns.git"
- maintainers = ['liuyangzhuan']
+ url = "https://github.com/openturns/openturns/archive/refs/tags/v1.18.tar.gz"
+ git = "https://github.com/openturns/openturns.git"
+ maintainers = ["liuyangzhuan"]
- version('1.18', sha256='1840d3fd8b38fd5967b1fa04e49d8f760c2c497400430e97623595ca48754ae0')
- version('master', branch='master')
+ version("1.18", sha256="1840d3fd8b38fd5967b1fa04e49d8f760c2c497400430e97623595ca48754ae0")
+ version("master", branch="master")
- variant('python', default=True, description='Build Python bindings')
+ variant("python", default=True, description="Build Python bindings")
- extends('python', when='+python')
+ extends("python", when="+python")
- depends_on('mpi', type=('build', 'run'))
- depends_on('lapack', type=('build', 'run'))
- depends_on('cmake@2.8:', type='build')
- depends_on('swig', type=('build', 'run'))
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('boost+system+serialization+thread', type=('build', 'run'))
- depends_on('intel-tbb', type=('build', 'run'))
- depends_on('py-cloudpickle', type=('build', 'run'))
- depends_on('py-urllib3', type=('build', 'run'))
+ depends_on("mpi", type=("build", "run"))
+ depends_on("lapack", type=("build", "run"))
+ depends_on("cmake@2.8:", type="build")
+ depends_on("swig", type=("build", "run"))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("boost+system+serialization+thread", type=("build", "run"))
+ depends_on("intel-tbb", type=("build", "run"))
+ depends_on("py-cloudpickle", type=("build", "run"))
+ depends_on("py-urllib3", type=("build", "run"))
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_INSTALL_LIBDIR:STRING=%s' % self.prefix.lib,
- '-DCMAKE_INSTALL_BINDIR:STRING=%s' % self.prefix.bin,
- '-DLAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_INSTALL_LIBDIR:STRING=%s" % self.prefix.lib,
+ "-DCMAKE_INSTALL_BINDIR:STRING=%s" % self.prefix.bin,
+ "-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
]
- if '+python' in spec:
- args.extend([
- # By default picks up the system python not the Spack build
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
- # By default installs to the python prefix
- '-DPYTHON_SITE_PACKAGES={0}'.format(python_platlib),
- ])
+ if "+python" in spec:
+ args.extend(
+ [
+ # By default picks up the system python not the Spack build
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
+ # By default installs to the python prefix
+ "-DPYTHON_SITE_PACKAGES={0}".format(python_platlib),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/openvdb/package.py b/var/spack/repos/builtin/packages/openvdb/package.py
index efd8432cca..22835376ad 100644
--- a/var/spack/repos/builtin/packages/openvdb/package.py
+++ b/var/spack/repos/builtin/packages/openvdb/package.py
@@ -14,57 +14,57 @@ class Openvdb(CMakePackage):
"""OpenVDB - a sparse volume data format."""
homepage = "https://github.com/AcademySoftwareFoundation/openvdb"
- url = "https://github.com/AcademySoftwareFoundation/openvdb/archive/v8.0.1.tar.gz"
- git = "https://github.com/AcademySoftwareFoundation/openvdb.git"
+ url = "https://github.com/AcademySoftwareFoundation/openvdb/archive/v8.0.1.tar.gz"
+ git = "https://github.com/AcademySoftwareFoundation/openvdb.git"
# Github account name for Drew.Whitehouse@gmail.com
- maintainers = ['eloop']
+ maintainers = ["eloop"]
- version('develop', branch='develop')
- version('8.0.1', 'a6845da7c604d2c72e4141c898930ac8a2375521e535f696c2cd92bebbe43c4f')
- version('7.1.0', '0c3588c1ca6e647610738654ec2c6aaf41a203fd797f609fbeab1c9f7c3dc116')
+ version("develop", branch="develop")
+ version("8.0.1", "a6845da7c604d2c72e4141c898930ac8a2375521e535f696c2cd92bebbe43c4f")
+ version("7.1.0", "0c3588c1ca6e647610738654ec2c6aaf41a203fd797f609fbeab1c9f7c3dc116")
- variant('shared', default=True, description='Build as a shared library.')
- variant('python', default=False, description='Build the pyopenvdb python extension.')
- variant('vdb_print', default=False, description='Build the vdb_print tool.')
- variant('vdb_lod', default=False, description='Build the vdb_lod tool.')
- variant('vdb_render', default=False, description='Build the vdb_render tool.')
- variant('ax', default=False, description='Build the AX extension (untested).')
+ variant("shared", default=True, description="Build as a shared library.")
+ variant("python", default=False, description="Build the pyopenvdb python extension.")
+ variant("vdb_print", default=False, description="Build the vdb_print tool.")
+ variant("vdb_lod", default=False, description="Build the vdb_lod tool.")
+ variant("vdb_render", default=False, description="Build the vdb_render tool.")
+ variant("ax", default=False, description="Build the AX extension (untested).")
- depends_on('ilmbase')
- depends_on('openexr')
- depends_on('intel-tbb')
+ depends_on("ilmbase")
+ depends_on("openexr")
+ depends_on("intel-tbb")
# Openvdb officially suggests an old version of blosc but it doesn't seem to be
# strictly neccessary and requires manual approval from spack.
- depends_on('c-blosc') # depends_on('c-blosc@1.5:')
+ depends_on("c-blosc") # depends_on('c-blosc@1.5:')
- extends('python', when='+python')
- depends_on('py-numpy', when='+python')
+ extends("python", when="+python")
+ depends_on("py-numpy", when="+python")
- depends_on('boost+iostreams+system+python+numpy', when='+python')
- depends_on('boost+iostreams+system', when='~python')
+ depends_on("boost+iostreams+system+python+numpy", when="+python")
+ depends_on("boost+iostreams+system", when="~python")
# AX requires quite a few things, and hasn't been properly released
# yet. I've only managed to build llvm@8.0.1 under centos8. It
# looks like the next version of OpenVDB will support llvm@12.0.0.
- depends_on('llvm@8.0.1', when='+ax')
- depends_on('bison', when='+ax')
- depends_on('flex', when='+ax')
+ depends_on("llvm@8.0.1", when="+ax")
+ depends_on("bison", when="+ax")
+ depends_on("flex", when="+ax")
- depends_on('git', type='build', when='@develop')
+ depends_on("git", type="build", when="@develop")
def cmake_args(self):
args = [
- self.define('OPENVDB_BUILD_CORE', True),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('OPENVDB_BUILD_VDB_PRINT', 'vdb_print'),
- self.define_from_variant('OPENVDB_BUILD_VDB_LOD', 'vdb_lod'),
- self.define_from_variant('OPENVDB_BUILD_VDB_RENDER', 'vdb_render'),
- self.define_from_variant('OPENVDB_BUILD_AX', 'ax'),
- self.define_from_variant('OPENVDB_BUILD_AX_BINARIES', 'ax'),
- self.define_from_variant('OPENVDB_BUILD_PYTHON_MODULE', 'python'),
- self.define_from_variant('USE_NUMPY', 'python')
+ self.define("OPENVDB_BUILD_CORE", True),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("OPENVDB_BUILD_VDB_PRINT", "vdb_print"),
+ self.define_from_variant("OPENVDB_BUILD_VDB_LOD", "vdb_lod"),
+ self.define_from_variant("OPENVDB_BUILD_VDB_RENDER", "vdb_render"),
+ self.define_from_variant("OPENVDB_BUILD_AX", "ax"),
+ self.define_from_variant("OPENVDB_BUILD_AX_BINARIES", "ax"),
+ self.define_from_variant("OPENVDB_BUILD_PYTHON_MODULE", "python"),
+ self.define_from_variant("USE_NUMPY", "python"),
]
return args
@@ -72,17 +72,17 @@ class Openvdb(CMakePackage):
# by OpenVDB's cmake, instead it needs to be in
# python_platlib. For RHEL systems we seem to get the
# dso in lib64/ instead of lib/
- @run_after('install')
+ @run_after("install")
def post_install(self):
spec = self.spec
- if '+python' in spec:
+ if "+python" in spec:
if sys.platform == "darwin":
pyso = "pyopenvdb.dylib"
else:
pyso = "pyopenvdb.so"
- pyver = 'python{0}'.format(spec['python'].package.version.up_to(2))
+ pyver = "python{0}".format(spec["python"].package.version.up_to(2))
src = prefix.lib.join(pyver).join(pyso)
if not os.path.isfile(src):
diff --git a/var/spack/repos/builtin/packages/openwsman/package.py b/var/spack/repos/builtin/packages/openwsman/package.py
index f8f63e600b..901e894897 100644
--- a/var/spack/repos/builtin/packages/openwsman/package.py
+++ b/var/spack/repos/builtin/packages/openwsman/package.py
@@ -10,72 +10,60 @@ class Openwsman(CMakePackage):
"""Openwsman server implementation and client api with bindings."""
homepage = "https://github.com/Openwsman/openwsman"
- url = "https://github.com/Openwsman/openwsman/archive/v2.6.11.tar.gz"
+ url = "https://github.com/Openwsman/openwsman/archive/v2.6.11.tar.gz"
- version('2.7.0', sha256='8870c4a21cbaba9387ad38c37667e2cee29008faacaaf7eb18ad2061e2fc89a1')
- version('2.6.11', sha256='895eaaae62925f9416766ea3e71a5368210e6cfe13b23e4e0422fa0e75c2541c')
- version('2.6.10', sha256='d3c624a03d7bc1835544ce1af56efd010f77cbee0c02b34e0755aa9c9b2c317b')
+ version("2.7.0", sha256="8870c4a21cbaba9387ad38c37667e2cee29008faacaaf7eb18ad2061e2fc89a1")
+ version("2.6.11", sha256="895eaaae62925f9416766ea3e71a5368210e6cfe13b23e4e0422fa0e75c2541c")
+ version("2.6.10", sha256="d3c624a03d7bc1835544ce1af56efd010f77cbee0c02b34e0755aa9c9b2c317b")
- variant('python', default=True, description='Enable python')
+ variant("python", default=True, description="Enable python")
- extends('python', when='+python')
+ extends("python", when="+python")
- depends_on('python', type=('build', 'link', 'run'))
- depends_on('curl', type='link')
- depends_on('swig', type='build')
- depends_on('libxml2', type='link')
- depends_on('openssl', type='link')
- depends_on('sblim-sfcc', type='link')
+ depends_on("python", type=("build", "link", "run"))
+ depends_on("curl", type="link")
+ depends_on("swig", type="build")
+ depends_on("libxml2", type="link")
+ depends_on("openssl", type="link")
+ depends_on("sblim-sfcc", type="link")
def patch(self):
- """ Change python install directory. """
- if self.spec.satisfies('+python'):
- python_spec = self.spec['python']
+ """Change python install directory."""
+ if self.spec.satisfies("+python"):
+ python_spec = self.spec["python"]
python_libdir = join_path(
- self.spec.prefix.lib,
- 'python' + str(python_spec.version.up_to(2)),
- 'site-packages'
+ self.spec.prefix.lib, "python" + str(python_spec.version.up_to(2)), "site-packages"
)
filter_file(
- 'DESTINATION .*',
- 'DESTINATION {0} )'.format(python_libdir),
- join_path('bindings', 'python', 'CMakeLists.txt')
+ "DESTINATION .*",
+ "DESTINATION {0} )".format(python_libdir),
+ join_path("bindings", "python", "CMakeLists.txt"),
)
def cmake_args(self):
define = self.define
spec = self.spec
arg = [
- define('BUILD_PERL', False),
- define('BUILD_JAVA', False),
- define('BUILD_CSHARP', False),
- define('USE_PAM', 'OFF'),
+ define("BUILD_PERL", False),
+ define("BUILD_JAVA", False),
+ define("BUILD_CSHARP", False),
+ define("USE_PAM", "OFF"),
]
- if spec.satisfies('+python'):
- if spec.satisfies('^python@3:'):
- arg.extend([
- define('BUILD_PYTHON', False),
- define('BUILD_PYTHON3', True)
- ])
+ if spec.satisfies("+python"):
+ if spec.satisfies("^python@3:"):
+ arg.extend([define("BUILD_PYTHON", False), define("BUILD_PYTHON3", True)])
else:
- arg.extend([
- define('BUILD_PYTHON', True),
- define('BUILD_PYTHON3', False)
- ])
- arg.append(define('PYTHON_EXECUTABLE',
- spec['python'].command.path))
+ arg.extend([define("BUILD_PYTHON", True), define("BUILD_PYTHON3", False)])
+ arg.append(define("PYTHON_EXECUTABLE", spec["python"].command.path))
else:
- arg.extend([
- define('BUILD_PYTHON', False),
- define('BUILD_PYTHON3', False)
- ])
+ arg.extend([define("BUILD_PYTHON", False), define("BUILD_PYTHON3", False)])
return arg
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cflags':
- if self.spec.satisfies('%gcc'):
- flags.append('-std=gnu99')
+ if name == "cflags":
+ if self.spec.satisfies("%gcc"):
+ flags.append("-std=gnu99")
else:
flags.append(self.compiler.c99_flag)
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/opium/package.py b/var/spack/repos/builtin/packages/opium/package.py
index abb7172654..025207fd48 100644
--- a/var/spack/repos/builtin/packages/opium/package.py
+++ b/var/spack/repos/builtin/packages/opium/package.py
@@ -12,30 +12,28 @@ class Opium(AutotoolsPackage):
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')
+ version("4.1", sha256="e5a102b52601ad037d8a7b3e2dbd295baad23b8c1e4908b9014df2e432c23c60")
+ version("3.8", sha256="edee6606519330aecaee436ee8cfb0a33788b5677861d59e38aba936e87d5ad3")
- variant('external-lapack', default=False,
- description='Links to externally installed LAPACK')
+ variant("external-lapack", default=False, description="Links to externally installed LAPACK")
- depends_on('lapack', when='+external-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')
+ if "+external-lapack" in self.spec:
+ with working_dir("src"):
+ filter_file(r"(^subdirs=.*) lapack", r"\1", "Makefile")
def configure_args(self):
options = []
- if '+external-lapack' in self.spec:
- options.append('LDFLAGS={0}'.format(self.spec['lapack'].libs.ld_flags))
+ if "+external-lapack" in self.spec:
+ options.append("LDFLAGS={0}".format(self.spec["lapack"].libs.ld_flags))
return options
def install(self, spec, prefix):
# opium does not have a make install target :-((
mkdirp(self.prefix.bin)
- install(join_path(self.stage.source_path, 'opium'),
- self.prefix.bin)
+ install(join_path(self.stage.source_path, "opium"), self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/optional-lite/package.py b/var/spack/repos/builtin/packages/optional-lite/package.py
index 0072baf408..41d83f33c3 100644
--- a/var/spack/repos/builtin/packages/optional-lite/package.py
+++ b/var/spack/repos/builtin/packages/optional-lite/package.py
@@ -15,22 +15,21 @@ class OptionalLite(CMakePackage):
"""
homepage = "https://github.com/martinmoene/optional-lite"
- url = "https://github.com/martinmoene/optional-lite/archive/v3.0.0.tar.gz"
+ url = "https://github.com/martinmoene/optional-lite/archive/v3.0.0.tar.gz"
- version('3.2.0', sha256='069c92f6404878588be761d609b917a111b0231633a91f7f908288fc77eb24c8')
- version('3.1.1', sha256='b61fe644b9f77d7cc1c555b3e40e973b135bf2c0350e5fa67bc6f379d9fc3158')
- version('3.1.0', sha256='66ca0d923e77c3f2a792ef3871e9ddbacf5fac2bfd6b8743df9c9c5814644718')
- version('3.0.0', sha256='36ae58512c478610647978811f0f4dbe105880372bd7ed39417314d50a27254e')
- version('2.3.0', sha256='8fe46216147234b172c6a5b182726834afc44dfdca1e976a264d6f96eb183916')
- version('2.2.0', sha256='9ce1bb021de42f804f8d17ed30b79fc98296122bec8db60492104978cd282fa2')
- version('2.0.0', sha256='e8d803cbc7be241df41a9ab267b525b7941df09747cd5a7deb55f863bd8a4e8d')
- version('1.0.3', sha256='7a2fb0fe20d61d091f6730237add9bab58bc0df1288cb96f3e8a61b859539067')
+ version("3.2.0", sha256="069c92f6404878588be761d609b917a111b0231633a91f7f908288fc77eb24c8")
+ version("3.1.1", sha256="b61fe644b9f77d7cc1c555b3e40e973b135bf2c0350e5fa67bc6f379d9fc3158")
+ version("3.1.0", sha256="66ca0d923e77c3f2a792ef3871e9ddbacf5fac2bfd6b8743df9c9c5814644718")
+ version("3.0.0", sha256="36ae58512c478610647978811f0f4dbe105880372bd7ed39417314d50a27254e")
+ version("2.3.0", sha256="8fe46216147234b172c6a5b182726834afc44dfdca1e976a264d6f96eb183916")
+ version("2.2.0", sha256="9ce1bb021de42f804f8d17ed30b79fc98296122bec8db60492104978cd282fa2")
+ version("2.0.0", sha256="e8d803cbc7be241df41a9ab267b525b7941df09747cd5a7deb55f863bd8a4e8d")
+ version("1.0.3", sha256="7a2fb0fe20d61d091f6730237add9bab58bc0df1288cb96f3e8a61b859539067")
def cmake_args(self):
return [
- "-DOPTIONAL_LITE_OPT_BUILD_TESTS=%s"
- % ("ON" if self.run_tests else "OFF"),
- "-DOPTIONAL_LITE_OPT_BUILD_EXAMPLES=OFF"
+ "-DOPTIONAL_LITE_OPT_BUILD_TESTS=%s" % ("ON" if self.run_tests else "OFF"),
+ "-DOPTIONAL_LITE_OPT_BUILD_EXAMPLES=OFF",
]
# Pre-3.2.0 install was simply a copytree on the includes
@@ -44,7 +43,7 @@ class OptionalLite(CMakePackage):
@when("@:3.1")
def install(self, spec, prefix):
- copytree('include', prefix.include)
+ copytree("include", prefix.include)
@when("@:3.1")
def check(self):
diff --git a/var/spack/repos/builtin/packages/optipng/package.py b/var/spack/repos/builtin/packages/optipng/package.py
index e588756698..6041bd6668 100644
--- a/var/spack/repos/builtin/packages/optipng/package.py
+++ b/var/spack/repos/builtin/packages/optipng/package.py
@@ -17,6 +17,6 @@ class Optipng(AutotoolsPackage, SourceforgePackage):
homepage = "http://optipng.sourceforge.net/"
sourceforge_mirror_path = "optipng/optipng-0.7.7.tar.gz"
- version('0.7.7', sha256='4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452')
+ version("0.7.7", sha256="4f32f233cef870b3f95d3ad6428bfe4224ef34908f1b42b0badf858216654452")
# See https://github.com/imagemin/optipng-bin/issues/97
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/opus/package.py b/var/spack/repos/builtin/packages/opus/package.py
index 5b58ef35e5..035b367ab6 100644
--- a/var/spack/repos/builtin/packages/opus/package.py
+++ b/var/spack/repos/builtin/packages/opus/package.py
@@ -10,28 +10,28 @@ class Opus(AutotoolsPackage):
"""Opus is a totally open, royalty-free, highly versatile audio codec."""
homepage = "https://opus-codec.org/"
- url = "http://downloads.xiph.org/releases/opus/opus-1.1.4.tar.gz"
+ url = "http://downloads.xiph.org/releases/opus/opus-1.1.4.tar.gz"
- version('1.3.1', sha256='65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d')
- version('1.1.4', sha256='9122b6b380081dd2665189f97bfd777f04f92dc3ab6698eea1dbb27ad59d8692')
- version('1.1.3', sha256='58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633')
- version('1.1.2', sha256='0e290078e31211baa7b5886bcc8ab6bc048b9fc83882532da4a1a45e58e907fd')
- version('1.1.1', sha256='9b84ff56bd7720d5554103c557664efac2b8b18acc4bbcc234cb881ab9a3371e')
- version('1.1', sha256='b9727015a58affcf3db527322bf8c4d2fcf39f5f6b8f15dbceca20206cbe1d95')
- version('1.0.3', sha256='191a089c92dbc403de6980463dd3604b65beb12d283c607e246c8076363cb49c')
- version('1.0.2', sha256='da615edbee5d019c1833071d69a4782c19f178cf9ca1401375036ecef25cd78a')
- version('1.0.1', sha256='80fa5c3caf2ac0fd68f8a22cce1564fc46b368c773a17554887d0066fe1841ef')
- version('1.0.0', sha256='9250fcc74472d45c1e14745542ec9c8d09982538aefed56962495614be3e0d2d')
- version('0.9.14', sha256='b1cad6846a8f819a141009fe3f8f10c946e8eff7e9c2339cd517bb136cc59eae')
- version('0.9.10', sha256='4e379a98ba95bbbfe9087ef10fdd05c8ac9060b6d695f587ea82a7b43a0df4fe')
- version('0.9.9', sha256='2f62359f09151fa3b242040dc9b4c5b6bda15557c5daea59c8420f1a2ff328b7')
- version('0.9.8', sha256='4aa30d2e0652ffb4a7a22cc8a29c4ce78267626f560a2d9213b1d2d4e618cf36')
- version('0.9.7', sha256='1b69772c31c5cbaa43d1dfa5b1c495fc29712e8e0ff69d6f8ad46459e5c6715f')
- version('0.9.6', sha256='3bfaeb25f4b4a625a0bc994d6fc6f6776a05193f60099e0a99f7530c6b256309')
- version('0.9.5', sha256='53801066fa97329768e7b871fd1495740269ec46802e1c9051aa7e78c6edee5b')
- version('0.9.3', sha256='d916e34c18a396eb7dffc47af754f441af52a290b761e20db9aedb65928c699e')
- version('0.9.2', sha256='6e85c1b57e1d7b7dfe2928bf92586b96b73a9067e054ede45bd8e6d24bd30582')
- version('0.9.1', sha256='206221afc47b87496588013bd4523e1e9f556336c0813f4372773fc536dd4293')
- version('0.9.0', sha256='b2f75c4ac5ab837845eb028413fae2a28754bfb0a6d76416e2af1441ef447649')
+ version("1.3.1", sha256="65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d")
+ version("1.1.4", sha256="9122b6b380081dd2665189f97bfd777f04f92dc3ab6698eea1dbb27ad59d8692")
+ version("1.1.3", sha256="58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633")
+ version("1.1.2", sha256="0e290078e31211baa7b5886bcc8ab6bc048b9fc83882532da4a1a45e58e907fd")
+ version("1.1.1", sha256="9b84ff56bd7720d5554103c557664efac2b8b18acc4bbcc234cb881ab9a3371e")
+ version("1.1", sha256="b9727015a58affcf3db527322bf8c4d2fcf39f5f6b8f15dbceca20206cbe1d95")
+ version("1.0.3", sha256="191a089c92dbc403de6980463dd3604b65beb12d283c607e246c8076363cb49c")
+ version("1.0.2", sha256="da615edbee5d019c1833071d69a4782c19f178cf9ca1401375036ecef25cd78a")
+ version("1.0.1", sha256="80fa5c3caf2ac0fd68f8a22cce1564fc46b368c773a17554887d0066fe1841ef")
+ version("1.0.0", sha256="9250fcc74472d45c1e14745542ec9c8d09982538aefed56962495614be3e0d2d")
+ version("0.9.14", sha256="b1cad6846a8f819a141009fe3f8f10c946e8eff7e9c2339cd517bb136cc59eae")
+ version("0.9.10", sha256="4e379a98ba95bbbfe9087ef10fdd05c8ac9060b6d695f587ea82a7b43a0df4fe")
+ version("0.9.9", sha256="2f62359f09151fa3b242040dc9b4c5b6bda15557c5daea59c8420f1a2ff328b7")
+ version("0.9.8", sha256="4aa30d2e0652ffb4a7a22cc8a29c4ce78267626f560a2d9213b1d2d4e618cf36")
+ version("0.9.7", sha256="1b69772c31c5cbaa43d1dfa5b1c495fc29712e8e0ff69d6f8ad46459e5c6715f")
+ version("0.9.6", sha256="3bfaeb25f4b4a625a0bc994d6fc6f6776a05193f60099e0a99f7530c6b256309")
+ version("0.9.5", sha256="53801066fa97329768e7b871fd1495740269ec46802e1c9051aa7e78c6edee5b")
+ version("0.9.3", sha256="d916e34c18a396eb7dffc47af754f441af52a290b761e20db9aedb65928c699e")
+ version("0.9.2", sha256="6e85c1b57e1d7b7dfe2928bf92586b96b73a9067e054ede45bd8e6d24bd30582")
+ version("0.9.1", sha256="206221afc47b87496588013bd4523e1e9f556336c0813f4372773fc536dd4293")
+ version("0.9.0", sha256="b2f75c4ac5ab837845eb028413fae2a28754bfb0a6d76416e2af1441ef447649")
- depends_on('libvorbis')
+ depends_on("libvorbis")
diff --git a/var/spack/repos/builtin/packages/or-tools/package.py b/var/spack/repos/builtin/packages/or-tools/package.py
index 0882c7eb7e..1d1148ad94 100644
--- a/var/spack/repos/builtin/packages/or-tools/package.py
+++ b/var/spack/repos/builtin/packages/or-tools/package.py
@@ -13,28 +13,28 @@ class OrTools(CMakePackage):
License."""
homepage = "https://developers.google.com/optimization/"
- url = "https://github.com/google/or-tools/archive/v7.8.tar.gz"
- maintainers = ['hyoklee']
+ url = "https://github.com/google/or-tools/archive/v7.8.tar.gz"
+ maintainers = ["hyoklee"]
- version('7.8', sha256='d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68')
- variant('coin', default=False, description='Enable COIN-OR solvers.')
- depends_on('cmake@3.14:', type='build')
- depends_on('gflags@2.2.2:')
- depends_on('glog@0.4.0:')
- depends_on('protobuf@3.12.2:')
- depends_on('abseil-cpp@20200225.2:')
- depends_on('cbc@2.10.5:')
- depends_on('cgl@0.60.3:')
- depends_on('clp@1.17.4:')
- depends_on('osi@0.108.6:')
- depends_on('coinutils@2.11.4:', when='+coin')
+ version("7.8", sha256="d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68")
+ variant("coin", default=False, description="Enable COIN-OR solvers.")
+ depends_on("cmake@3.14:", type="build")
+ depends_on("gflags@2.2.2:")
+ depends_on("glog@0.4.0:")
+ depends_on("protobuf@3.12.2:")
+ depends_on("abseil-cpp@20200225.2:")
+ depends_on("cbc@2.10.5:")
+ depends_on("cgl@0.60.3:")
+ depends_on("clp@1.17.4:")
+ depends_on("osi@0.108.6:")
+ depends_on("coinutils@2.11.4:", when="+coin")
def cmake_args(self):
cmake_args = []
- cmake_args.append('-DBUILD_DEPS=OFF')
- cmake_args.append('-DBUILD_PYTHON=OFF')
- cmake_args.append(self.define_from_variant('USE_COINOR', 'coin'))
- cmake_args.append('-DUSE_SCIP=ON')
- cmake_args.append('-DBUILD_SCIP=ON')
- cmake_args.append('-DBUILD_TESTING=OFF')
+ cmake_args.append("-DBUILD_DEPS=OFF")
+ cmake_args.append("-DBUILD_PYTHON=OFF")
+ cmake_args.append(self.define_from_variant("USE_COINOR", "coin"))
+ cmake_args.append("-DUSE_SCIP=ON")
+ cmake_args.append("-DBUILD_SCIP=ON")
+ cmake_args.append("-DBUILD_TESTING=OFF")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/oracle-instant-client/package.py b/var/spack/repos/builtin/packages/oracle-instant-client/package.py
index 5033f92df9..a554be9e15 100644
--- a/var/spack/repos/builtin/packages/oracle-instant-client/package.py
+++ b/var/spack/repos/builtin/packages/oracle-instant-client/package.py
@@ -11,27 +11,64 @@ from spack.package import *
def oracleclient_releases():
releases = [
{
- 'version': '21.1.0.0.0',
- 'components': {
- 'basic': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip', '9b63e264c01ac54a0f0e61bd638576aed6f04a36b305bcd17847755e7b9855ce'],
- 'sqlplus': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip', '3220f486940e82f1a7825e8f0875729d63abd57cc708f1908e2d5f2163b93937'],
- 'tools': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip', 'ff652d5bbfeaaa2403cbc13c5667f52e1d648aa2a5c59a50f4c9f84e6d2bba74'],
- 'sdk': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sdk-linux.x64-21.1.0.0.0.zip', '80a465530a565ed327ab9ae0d9fc067ed42338536c7e8721cf2c26e474f4f75f'],
- 'jdbc': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-jdbc-linux.x64-21.1.0.0.0.zip', '76c866272712f2b432cc4be675605b22deca02f7a88a292b5ed8d29212d79dc7'],
- 'odbc': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-odbc-linux.x64-21.1.0.0.0.zip', 'ec7722b522684f0a3f63481573d0eb3537764224eabed6223f33699dd940bf20']
- }
+ "version": "21.1.0.0.0",
+ "components": {
+ "basic": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip",
+ "9b63e264c01ac54a0f0e61bd638576aed6f04a36b305bcd17847755e7b9855ce",
+ ],
+ "sqlplus": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip",
+ "3220f486940e82f1a7825e8f0875729d63abd57cc708f1908e2d5f2163b93937",
+ ],
+ "tools": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip",
+ "ff652d5bbfeaaa2403cbc13c5667f52e1d648aa2a5c59a50f4c9f84e6d2bba74",
+ ],
+ "sdk": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sdk-linux.x64-21.1.0.0.0.zip",
+ "80a465530a565ed327ab9ae0d9fc067ed42338536c7e8721cf2c26e474f4f75f",
+ ],
+ "jdbc": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-jdbc-linux.x64-21.1.0.0.0.zip",
+ "76c866272712f2b432cc4be675605b22deca02f7a88a292b5ed8d29212d79dc7",
+ ],
+ "odbc": [
+ "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-odbc-linux.x64-21.1.0.0.0.zip",
+ "ec7722b522684f0a3f63481573d0eb3537764224eabed6223f33699dd940bf20",
+ ],
+ },
},
{
- 'version': '19.10.0.0.0',
- 'components': {
- 'basic': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-basic-linux.x64-19.10.0.0.0dbru.zip', 'c2eeea093d70f5416f8a8560f9fa5b57707a76ac9775906dbc4aaa778fdee84f'],
- 'sqlplus': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sqlplus-linux.x64-19.10.0.0.0dbru.zip', 'eee44825f348966796166beb8c0d8cc8f61929bae05229b65b34794e0f05659a'],
- 'tools': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-tools-linux.x64-19.10.0.0.0dbru.zip', '93bf58d2e15bb3ca98f8e5f579a93760571a37e0d9312187f6a5f228d492c863'],
- 'sdk': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sdk-linux.x64-19.10.0.0.0dbru.zip', '2c4ae1b77fe32f3d3bf86a4ef560dc3a5dcbf5d11d742b4afeca414e5388ff2f'],
- 'jdbc': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-jdbc-linux.x64-19.10.0.0.0dbru.zip', '3fabbc4a86b8c5b4b29c4d76524c7d7e5bfab33cdbfa73f1199fc5582ed25df6'],
- 'odbc': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-odbc-linux.x64-19.10.0.0.0dbru.zip', '1c7ae3ea5913af9647ae68e2053cdaf9154ef6c9aa07e8b7d91e1ead9d5e675a']
- }
- }]
+ "version": "19.10.0.0.0",
+ "components": {
+ "basic": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-basic-linux.x64-19.10.0.0.0dbru.zip",
+ "c2eeea093d70f5416f8a8560f9fa5b57707a76ac9775906dbc4aaa778fdee84f",
+ ],
+ "sqlplus": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sqlplus-linux.x64-19.10.0.0.0dbru.zip",
+ "eee44825f348966796166beb8c0d8cc8f61929bae05229b65b34794e0f05659a",
+ ],
+ "tools": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-tools-linux.x64-19.10.0.0.0dbru.zip",
+ "93bf58d2e15bb3ca98f8e5f579a93760571a37e0d9312187f6a5f228d492c863",
+ ],
+ "sdk": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sdk-linux.x64-19.10.0.0.0dbru.zip",
+ "2c4ae1b77fe32f3d3bf86a4ef560dc3a5dcbf5d11d742b4afeca414e5388ff2f",
+ ],
+ "jdbc": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-jdbc-linux.x64-19.10.0.0.0dbru.zip",
+ "3fabbc4a86b8c5b4b29c4d76524c7d7e5bfab33cdbfa73f1199fc5582ed25df6",
+ ],
+ "odbc": [
+ "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-odbc-linux.x64-19.10.0.0.0dbru.zip",
+ "1c7ae3ea5913af9647ae68e2053cdaf9154ef6c9aa07e8b7d91e1ead9d5e675a",
+ ],
+ },
+ },
+ ]
return releases
@@ -40,26 +77,26 @@ class OracleInstantClient(Package):
"""Oracle instant client"""
homepage = "https://www.oracle.com/database/technologies/instant-client.html"
- url = "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip"
+ url = "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip"
releases = oracleclient_releases()
for release in releases:
- oracle_version = release['version']
- main_pkg = release['components']['basic']
+ oracle_version = release["version"]
+ main_pkg = release["components"]["basic"]
url, sha256 = main_pkg
version(oracle_version, sha256=sha256, url=url)
- for rname, atts in release['components'].items():
- if rname == 'basic':
+ for rname, atts in release["components"].items():
+ if rname == "basic":
continue
url, sha256 = atts
condition = "@{0}".format(oracle_version)
resource(name=rname, url=url, sha256=sha256, when=condition, placement=rname)
- depends_on('libaio', type='link')
+ depends_on("libaio", type="link")
# TODO: add URLs for macOS. Unfortunately still no native M1 support.
# https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
def install(self, spec, prefix):
mkdirp(prefix.bin)
@@ -67,46 +104,48 @@ class OracleInstantClient(Package):
mkdirp(prefix.lib)
mkdirp(prefix.doc)
- for dirn, fns in {'.': ('adrci', 'genezi', 'uidrvci'),
- 'sqlplus': ('glogin.sql', 'sqlplus'),
- 'odbc': ('odbc_update_ini.sh', ),
- 'tools': ('exp', 'expdp', 'imp', 'impdp', 'sqlldr', 'wrc')
- }.items():
+ for dirn, fns in {
+ ".": ("adrci", "genezi", "uidrvci"),
+ "sqlplus": ("glogin.sql", "sqlplus"),
+ "odbc": ("odbc_update_ini.sh",),
+ "tools": ("exp", "expdp", "imp", "impdp", "sqlldr", "wrc"),
+ }.items():
for fn in fns:
install(join_path(dirn, fn), prefix.bin)
- for fn in glob.glob(join_path(self.stage.source_path, '*.so*')):
+ for fn in glob.glob(join_path(self.stage.source_path, "*.so*")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, '*.jar')):
+ for fn in glob.glob(join_path(self.stage.source_path, "*.jar")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, 'sqlplus', '*.so*')):
+ for fn in glob.glob(join_path(self.stage.source_path, "sqlplus", "*.so*")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, 'jdbc', '*.so*')):
+ for fn in glob.glob(join_path(self.stage.source_path, "jdbc", "*.so*")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, 'odbc', '*.so*')):
+ for fn in glob.glob(join_path(self.stage.source_path, "odbc", "*.so*")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, 'tools', '*.so*')):
+ for fn in glob.glob(join_path(self.stage.source_path, "tools", "*.so*")):
install(fn, prefix.lib)
- for fn in glob.glob(join_path(self.stage.source_path, 'jdbc', '*.jar')):
+ for fn in glob.glob(join_path(self.stage.source_path, "jdbc", "*.jar")):
install(fn, prefix.lib)
- install_tree('network', prefix.lib)
+ install_tree("network", prefix.lib)
- for dirn, fns in {'.': ('BASIC_LICENSE', 'BASIC_README'),
- 'sqlplus': ('SQLPLUS_LICENSE', 'SQLPLUS_README'),
- 'jdbc': ('JDBC_LICENSE', 'JDBC_README'),
- 'odbc': ('ODBC_LICENSE', 'ODBC_README'),
- 'sdk': ('SDK_LICENSE', 'SDK_README'),
- 'tools': ('TOOLS_LICENSE', 'TOOLS_README')
- }.items():
+ for dirn, fns in {
+ ".": ("BASIC_LICENSE", "BASIC_README"),
+ "sqlplus": ("SQLPLUS_LICENSE", "SQLPLUS_README"),
+ "jdbc": ("JDBC_LICENSE", "JDBC_README"),
+ "odbc": ("ODBC_LICENSE", "ODBC_README"),
+ "sdk": ("SDK_LICENSE", "SDK_README"),
+ "tools": ("TOOLS_LICENSE", "TOOLS_README"),
+ }.items():
for fn in fns:
install(join_path(dirn, fn), prefix.doc)
- install_tree(join_path('odbc', 'help'), prefix.doc)
- install_tree(join_path('sdk', 'sdk', 'include'), prefix.include)
+ install_tree(join_path("odbc", "help"), prefix.doc)
+ install_tree(join_path("sdk", "sdk", "include"), prefix.include)
diff --git a/var/spack/repos/builtin/packages/oras/package.py b/var/spack/repos/builtin/packages/oras/package.py
index 5b84b60734..c5dc00e683 100644
--- a/var/spack/repos/builtin/packages/oras/package.py
+++ b/var/spack/repos/builtin/packages/oras/package.py
@@ -12,30 +12,30 @@ class Oras(Package):
"""ORAS means OCI Registry As Storage"""
homepage = "https://oras.land"
- git = "https://github.com/oras-project/oras"
- url = "https://github.com/oras-project/oras/archive/refs/tags/v0.12.0.tar.gz"
+ git = "https://github.com/oras-project/oras"
+ url = "https://github.com/oras-project/oras/archive/refs/tags/v0.12.0.tar.gz"
- maintainers = ['vsoch']
+ maintainers = ["vsoch"]
- version('main', branch="main")
+ version("main", branch="main")
version("0.12.0", sha256="5e19d61683a57b414efd75bd1b0290c941b8faace5fcc9d488f5e4aa674bf03e")
- depends_on("go", type='build')
+ depends_on("go", type="build")
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
- env.prepend_path('GOPATH', self.stage.path)
+ env.prepend_path("GOPATH", self.stage.path)
def install(self, spec, prefix):
- if self.spec.satisfies('platform=linux target=aarch64:'):
+ if self.spec.satisfies("platform=linux target=aarch64:"):
make("build-linux-arm64")
- elif self.spec.satisfies('platform=linux'):
+ elif self.spec.satisfies("platform=linux"):
make("build-linux")
- elif self.spec.satisfies('platform=darwin target=aarch64:'):
+ elif self.spec.satisfies("platform=darwin target=aarch64:"):
make("build-mac-arm64")
- elif self.spec.satisfies('platform=darwin'):
+ elif self.spec.satisfies("platform=darwin"):
make("build-mac")
- elif self.spec.satisfies('platform=windows'):
+ elif self.spec.satisfies("platform=windows"):
make("build-windows")
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/orbit2/package.py b/var/spack/repos/builtin/packages/orbit2/package.py
index 3531697d4e..055cecfb24 100644
--- a/var/spack/repos/builtin/packages/orbit2/package.py
+++ b/var/spack/repos/builtin/packages/orbit2/package.py
@@ -11,10 +11,10 @@ class Orbit2(AutotoolsPackage):
"""ORBit is a fast and lightweight CORBA server."""
homepage = "https://developer.gnome.org"
- url = "https://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-2.14.19.tar.bz2"
+ url = "https://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-2.14.19.tar.bz2"
- version('2.14.19', sha256='55c900a905482992730f575f3eef34d50bda717c197c97c08fa5a6eafd857550')
+ version("2.14.19", sha256="55c900a905482992730f575f3eef34d50bda717c197c97c08fa5a6eafd857550")
- depends_on('pkgconfig', type='build')
- depends_on('glib')
- depends_on('libidl')
+ depends_on("pkgconfig", type="build")
+ depends_on("glib")
+ depends_on("libidl")
diff --git a/var/spack/repos/builtin/packages/orc/package.py b/var/spack/repos/builtin/packages/orc/package.py
index 9e4fe5d992..edd81a7925 100644
--- a/var/spack/repos/builtin/packages/orc/package.py
+++ b/var/spack/repos/builtin/packages/orc/package.py
@@ -11,33 +11,32 @@ class Orc(CMakePackage):
workloads."""
homepage = "https://orc.apache.org/"
- url = "https://github.com/apache/orc/archive/rel/release-1.6.5.tar.gz"
+ url = "https://github.com/apache/orc/archive/rel/release-1.6.5.tar.gz"
- version('1.6.5', sha256='df5885db8fa2e4435db8d486c6c7fc4e2c565d6197eee27729cf9cbdf36353c0')
+ version("1.6.5", sha256="df5885db8fa2e4435db8d486c6c7fc4e2c565d6197eee27729cf9cbdf36353c0")
- depends_on('maven')
- depends_on('openssl')
- depends_on('zlib@1.2.11:')
- depends_on('pcre')
- depends_on('protobuf@3.5.1:')
- depends_on('zstd@1.4.5:')
- depends_on('googletest@1.8.0:')
- depends_on('snappy@1.1.7:')
- depends_on('lz4@1.7.5:')
+ depends_on("maven")
+ depends_on("openssl")
+ depends_on("zlib@1.2.11:")
+ depends_on("pcre")
+ depends_on("protobuf@3.5.1:")
+ depends_on("zstd@1.4.5:")
+ depends_on("googletest@1.8.0:")
+ depends_on("snappy@1.1.7:")
+ depends_on("lz4@1.7.5:")
- patch('thirdparty.patch')
+ patch("thirdparty.patch")
def cmake_args(self):
args = []
- args.append('-DCMAKE_CXX_FLAGS=' + self.compiler.cxx_pic_flag)
- args.append('-DCMAKE_C_FLAGS=' + self.compiler.cc_pic_flag)
- args.append('-DINSTALL_VENDORED_LIBS:BOOL=OFF')
- args.append('-DBUILD_LIBHDFSPP:BOOL=OFF')
- args.append('-DBUILD_TOOLS:BOOL=OFF')
- args.append('-DBUILD_CPP_TESTS:BOOL=OFF')
-
- for x in ('snappy', 'zlib', 'zstd', 'lz4', 'protobuf'):
- args.append('-D{0}_HOME={1}'.format(x.upper(),
- self.spec[x].prefix))
+ args.append("-DCMAKE_CXX_FLAGS=" + self.compiler.cxx_pic_flag)
+ args.append("-DCMAKE_C_FLAGS=" + self.compiler.cc_pic_flag)
+ args.append("-DINSTALL_VENDORED_LIBS:BOOL=OFF")
+ args.append("-DBUILD_LIBHDFSPP:BOOL=OFF")
+ args.append("-DBUILD_TOOLS:BOOL=OFF")
+ args.append("-DBUILD_CPP_TESTS:BOOL=OFF")
+
+ for x in ("snappy", "zlib", "zstd", "lz4", "protobuf"):
+ args.append("-D{0}_HOME={1}".format(x.upper(), self.spec[x].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/orca/package.py b/var/spack/repos/builtin/packages/orca/package.py
index 2bfe51b402..997cd569d6 100644
--- a/var/spack/repos/builtin/packages/orca/package.py
+++ b/var/spack/repos/builtin/packages/orca/package.py
@@ -11,51 +11,56 @@ from spack.package import *
class Orca(Package):
"""An ab initio, DFT and semiempirical SCF-MO package
- Note: Orca is licensed software. You will need to create an account
- on the Orca homepage and download Orca yourself. Spack will search
- your current directory for the download file. Alternatively, add this
- file to a mirror so that Spack can find it. For instructions on how to
- set up a mirror, see https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: Orca is licensed software. You will need to create an account
+ on the Orca homepage and download Orca yourself. Spack will search
+ your current directory for the download file. Alternatively, add this
+ file to a mirror so that Spack can find it. For instructions on how to
+ set up a mirror, see https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://cec.mpg.de"
- url = "file://{0}/orca_4_0_1_2_linux_x86-64_openmpi202.tar.zst".format(os.getcwd())
+ url = "file://{0}/orca_4_0_1_2_linux_x86-64_openmpi202.tar.zst".format(os.getcwd())
manual_download = True
- version('4.2.1', sha256='9bbb3bfdca8220b417ee898b27b2885508d8c82799adfa63dde9e72eab49a6b2',
- expand=False)
- version('4.2.0', sha256='55a5ca5aaad03396ac5ada2f14b61ffa735fdc2d98355e272465e07a6749d399',
- expand=False)
- version('4.0.1.2', sha256='cea442aa99ec0d7ffde65014932196b62343f7a6191b4bfc438bfb38c03942f7',
- expand=False)
-
- depends_on('zstd', type='build')
+ version(
+ "4.2.1",
+ sha256="9bbb3bfdca8220b417ee898b27b2885508d8c82799adfa63dde9e72eab49a6b2",
+ expand=False,
+ )
+ version(
+ "4.2.0",
+ sha256="55a5ca5aaad03396ac5ada2f14b61ffa735fdc2d98355e272465e07a6749d399",
+ expand=False,
+ )
+ version(
+ "4.0.1.2",
+ sha256="cea442aa99ec0d7ffde65014932196b62343f7a6191b4bfc438bfb38c03942f7",
+ expand=False,
+ )
+
+ depends_on("zstd", type="build")
# Map Orca version with the required OpenMPI version
- openmpi_versions = {
- '4.0.1.2': '2.0.2',
- '4.2.0': '3.1.4',
- '4.2.1': '3.1.4'
- }
+ openmpi_versions = {"4.0.1.2": "2.0.2", "4.2.0": "3.1.4", "4.2.1": "3.1.4"}
for orca_version, openmpi_version in openmpi_versions.items():
- depends_on('openmpi@{0}'.format(openmpi_version), type='run',
- when='@{0}'.format(orca_version))
+ depends_on(
+ "openmpi@{0}".format(openmpi_version), type="run", when="@{0}".format(orca_version)
+ )
def url_for_version(self, version):
out = "file://{0}/orca_{1}_linux_x86-64_openmpi{2}.tar.zst"
- return out.format(os.getcwd(), version.underscored,
- self.openmpi_versions[version.string])
+ return out.format(os.getcwd(), version.underscored, self.openmpi_versions[version.string])
def install(self, spec, prefix):
# we have to extract the archive ourself
# fortunately it's just full of a bunch of binaries
- vername = os.path.basename(self.stage.archive_file).split('.')[0]
+ vername = os.path.basename(self.stage.archive_file).split(".")[0]
- zstd = which('zstd')
- zstd('-d', self.stage.archive_file, '-o', vername + '.tar')
+ zstd = which("zstd")
+ zstd("-d", self.stage.archive_file, "-o", vername + ".tar")
- tar = which('tar')
- tar('-xvf', vername + '.tar')
+ tar = which("tar")
+ tar("-xvf", vername + ".tar")
# there are READMEs in there but they don't hurt anyone
mkdirp(prefix.bin)
@@ -64,7 +69,6 @@ class Orca(Package):
# Check "mpirun" usability when building against OpenMPI
# with Slurm scheduler and add a "mpirun" wrapper that
# calls "srun" if need be
- if '^openmpi ~legacylaunchers schedulers=slurm' in self.spec:
- mpirun_srun = join_path(os.path.dirname(__file__),
- "mpirun_srun.sh")
+ if "^openmpi ~legacylaunchers schedulers=slurm" in self.spec:
+ mpirun_srun = join_path(os.path.dirname(__file__), "mpirun_srun.sh")
install(mpirun_srun, prefix.bin.mpirun)
diff --git a/var/spack/repos/builtin/packages/orfm/package.py b/var/spack/repos/builtin/packages/orfm/package.py
index cb419b1d6d..37679ad991 100644
--- a/var/spack/repos/builtin/packages/orfm/package.py
+++ b/var/spack/repos/builtin/packages/orfm/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Orfm(AutotoolsPackage):
"""A simple and not slow open reading frame (ORF) caller. No bells or
- whistles like frameshift detection, just a straightforward goal of
- returning a FASTA file of open reading frames over a certain length
- from a FASTA/Q file of nucleotide sequences."""
+ whistles like frameshift detection, just a straightforward goal of
+ returning a FASTA file of open reading frames over a certain length
+ from a FASTA/Q file of nucleotide sequences."""
homepage = "https://github.com/wwood/OrfM"
- url = "https://github.com/wwood/OrfM/releases/download/v0.7.1/orfm-0.7.1.tar.gz"
+ url = "https://github.com/wwood/OrfM/releases/download/v0.7.1/orfm-0.7.1.tar.gz"
- version('0.7.1', sha256='19f39c72bcc48127b757613c5eef4abae95ee6c82dccf96b041db527b27f319a')
+ version("0.7.1", sha256="19f39c72bcc48127b757613c5eef4abae95ee6c82dccf96b041db527b27f319a")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
diff --git a/var/spack/repos/builtin/packages/orientdb/package.py b/var/spack/repos/builtin/packages/orientdb/package.py
index 8f249564b8..bbc49a7026 100644
--- a/var/spack/repos/builtin/packages/orientdb/package.py
+++ b/var/spack/repos/builtin/packages/orientdb/package.py
@@ -12,8 +12,8 @@ class Orientdb(MavenPackage):
Oriented concepts. It's written in Java and it's amazingly fast."""
homepage = "https://orientdb.org"
- url = "https://github.com/orientechnologies/orientdb/archive/3.1.2.tar.gz"
+ url = "https://github.com/orientechnologies/orientdb/archive/3.1.2.tar.gz"
- version('3.1.2', sha256='3c8e1f55de9e1a6c3cd714832deb7369f50096e85f1e048f0c0328e611970850')
- version('3.1.1', sha256='d5cc6b6048b71696a4a592705c2a3aec65757eca3cfadb03905306ceb4348d37')
- version('3.1.0', sha256='84f7ced66847fc5a7b987c701d60302e2aff63cdac2869941eee158251515b99')
+ version("3.1.2", sha256="3c8e1f55de9e1a6c3cd714832deb7369f50096e85f1e048f0c0328e611970850")
+ version("3.1.1", sha256="d5cc6b6048b71696a4a592705c2a3aec65757eca3cfadb03905306ceb4348d37")
+ version("3.1.0", sha256="84f7ced66847fc5a7b987c701d60302e2aff63cdac2869941eee158251515b99")
diff --git a/var/spack/repos/builtin/packages/orthofiller/package.py b/var/spack/repos/builtin/packages/orthofiller/package.py
index 3d9c5ff9c4..9d73e3f04d 100644
--- a/var/spack/repos/builtin/packages/orthofiller/package.py
+++ b/var/spack/repos/builtin/packages/orthofiller/package.py
@@ -10,30 +10,30 @@ from spack.package import *
class Orthofiller(Package):
"""OrthoFiller: Identifying missing annotations for evolutionarily
- conserved genes."""
+ conserved genes."""
homepage = "https://github.com/mpdunne/orthofiller/"
- url = "https://github.com/mpdunne/orthofiller/archive/1.1.4.tar.gz"
+ url = "https://github.com/mpdunne/orthofiller/archive/1.1.4.tar.gz"
- version('1.1.4', sha256='a693a3372a3f05041ce30cbf84da1be88e85eae4effe32dbd7809ccef119a295')
+ version("1.1.4", sha256="a693a3372a3f05041ce30cbf84da1be88e85eae4effe32dbd7809ccef119a295")
- depends_on('augustus', type='run')
- depends_on('bedtools2@2.25.0', type='run')
- depends_on('hmmer', type='run')
- depends_on('orthofinder', type='run')
- depends_on('python@2.7:', type='run')
- depends_on('py-biopython', type='run')
- depends_on('py-scipy', type='run')
- depends_on('r', type='run')
- depends_on('r-gamlss', type='run')
- depends_on('mafft', type='run')
+ depends_on("augustus", type="run")
+ depends_on("bedtools2@2.25.0", type="run")
+ depends_on("hmmer", type="run")
+ depends_on("orthofinder", type="run")
+ depends_on("python@2.7:", type="run")
+ depends_on("py-biopython", type="run")
+ depends_on("py-scipy", type="run")
+ depends_on("r", type="run")
+ depends_on("r-gamlss", type="run")
+ depends_on("mafft", type="run")
def install(self, spec, prefix):
# orthofiller tests for common unix programs using man
# runtime modules will quickly overflow the maximum MANPATH;
# we change the man tests to use which instead, more reliable anyway
- filter_file('"man "', '"which "', 'OrthoFiller.py', string=True)
+ filter_file('"man "', '"which "', "OrthoFiller.py", string=True)
- os.chmod('OrthoFiller.py', 0o755)
+ os.chmod("OrthoFiller.py", 0o755)
mkdirp(prefix.bin)
- install('OrthoFiller.py', prefix.bin)
+ install("OrthoFiller.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/orthofinder/package.py b/var/spack/repos/builtin/packages/orthofinder/package.py
index 6a8a7e2100..f686f2b4fd 100644
--- a/var/spack/repos/builtin/packages/orthofinder/package.py
+++ b/var/spack/repos/builtin/packages/orthofinder/package.py
@@ -23,19 +23,19 @@ class Orthofinder(Package):
homepage = "https://github.com/davidemms/OrthoFinder"
url = "https://github.com/davidemms/OrthoFinder/releases/download/2.5.2/OrthoFinder_source.tar.gz"
- version('2.5.4', sha256='a735c81999e8e3026ad62536b14e5b0391c9fc632f872f99857936ac60003ba5')
- version('2.5.2', sha256='e0752b66866e23a11f0592e880fac5f67258f9cf926f926dec8849564c41b8f7')
- version('2.2.0', sha256='375f711086b44e2118d7d460821294744245e254e5fa2151dfe73100c0707a8c')
+ version("2.5.4", sha256="a735c81999e8e3026ad62536b14e5b0391c9fc632f872f99857936ac60003ba5")
+ version("2.5.2", sha256="e0752b66866e23a11f0592e880fac5f67258f9cf926f926dec8849564c41b8f7")
+ version("2.2.0", sha256="375f711086b44e2118d7d460821294744245e254e5fa2151dfe73100c0707a8c")
- depends_on('py-numpy', type='run')
- depends_on('py-scipy', type='run')
- depends_on('diamond', type='run')
- depends_on('blast-plus', type='run')
- depends_on('mcl', type='run')
- depends_on('fastme', type='run')
+ depends_on("py-numpy", type="run")
+ depends_on("py-scipy", type="run")
+ depends_on("diamond", type="run")
+ depends_on("blast-plus", type="run")
+ depends_on("mcl", type="run")
+ depends_on("fastme", type="run")
def url_for_version(self, version):
- if '@:2.3.6' in self.spec:
+ if "@:2.3.6" in self.spec:
url = "https://github.com/davidemms/OrthoFinder/releases/download/{0}/OrthoFinder-{0}_source.tar.gz"
return url.format(version)
else:
@@ -43,13 +43,13 @@ class Orthofinder(Package):
return url.format(version)
def install(self, spec, prefix):
- if '@2.2.0' in spec:
- install_tree('./orthofinder', prefix.bin)
+ if "@2.2.0" in spec:
+ install_tree("./orthofinder", prefix.bin)
else:
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
shutil.rmtree(prefix.bin.scripts_of.bin)
- os.rename('%s/orthofinder.py' % prefix.bin, '%s/orthofinder' % prefix.bin)
+ os.rename("%s/orthofinder.py" % prefix.bin, "%s/orthofinder" % prefix.bin)
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix.bin)
- env.prepend_path('PATH', prefix.bin.tools)
+ env.prepend_path("PATH", prefix.bin)
+ env.prepend_path("PATH", prefix.bin.tools)
diff --git a/var/spack/repos/builtin/packages/orthomcl/package.py b/var/spack/repos/builtin/packages/orthomcl/package.py
index 4a4ef68557..d703746d57 100644
--- a/var/spack/repos/builtin/packages/orthomcl/package.py
+++ b/var/spack/repos/builtin/packages/orthomcl/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Orthomcl(Package):
"""OrthoMCL is a genome-scale algorithm for grouping orthologous protein
- sequences."""
+ sequences."""
homepage = "https://orthomcl.org/orthomcl/"
- url = "https://orthomcl.org/common/downloads/software/v2.0/orthomclSoftware-v2.0.9.tar.gz"
+ url = "https://orthomcl.org/common/downloads/software/v2.0/orthomclSoftware-v2.0.9.tar.gz"
- version('2.0.9', sha256='5f96d23ff255778535c4926d75b19f059db0c01be1ac599289d2431115d68640')
+ version("2.0.9", sha256="5f96d23ff255778535c4926d75b19f059db0c01be1ac599289d2431115d68640")
- depends_on('perl', type=('build', 'run'))
- depends_on('blast-plus')
- depends_on('mcl')
- depends_on('mariadb')
+ depends_on("perl", type=("build", "run"))
+ depends_on("blast-plus")
+ depends_on("mcl")
+ depends_on("mariadb")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('config', prefix.config)
- install_tree('doc', prefix.doc)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("config", prefix.config)
+ install_tree("doc", prefix.doc)
+ install_tree("lib", prefix.lib)
def setup_run_environment(self, env):
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/osi/package.py b/var/spack/repos/builtin/packages/osi/package.py
index b177476fec..aaab3cb11f 100644
--- a/var/spack/repos/builtin/packages/osi/package.py
+++ b/var/spack/repos/builtin/packages/osi/package.py
@@ -18,10 +18,10 @@ class Osi(AutotoolsPackage):
solvers and has rudimentary support for integer programming."""
homepage = "https://projects.coin-or.org/Osi"
- url = "https://github.com/coin-or/Osi/archive/releases/0.108.6.tar.gz"
+ url = "https://github.com/coin-or/Osi/archive/releases/0.108.6.tar.gz"
- depends_on('coinutils')
+ depends_on("coinutils")
- version('0.108.6', sha256='984a5886825e2da9bf44d8a665f4b92812f0700e451c12baf9883eaa2315fad5')
+ version("0.108.6", sha256="984a5886825e2da9bf44d8a665f4b92812f0700e451c12baf9883eaa2315fad5")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/osmctools/package.py b/var/spack/repos/builtin/packages/osmctools/package.py
index 8fd4d37042..07ec5d52f5 100644
--- a/var/spack/repos/builtin/packages/osmctools/package.py
+++ b/var/spack/repos/builtin/packages/osmctools/package.py
@@ -11,13 +11,13 @@ class Osmctools(AutotoolsPackage):
data files"""
homepage = "https://gitlab.com/osm-c-tools/osmctools"
- url = "https://gitlab.com/osm-c-tools/osmctools/-/archive/0.9/osmctools-0.9.tar.gz"
+ url = "https://gitlab.com/osm-c-tools/osmctools/-/archive/0.9/osmctools-0.9.tar.gz"
- version('0.9', sha256='2f5298be5b4ba840a04f360c163849b34a31386ccd287657885e21268665f413')
- version('0.8', sha256='54ae48717afd05707c9b1fd750dd56c33c3bae0755424ce8ca3795ee28e0ece8')
+ version("0.9", sha256="2f5298be5b4ba840a04f360c163849b34a31386ccd287657885e21268665f413")
+ version("0.8", sha256="54ae48717afd05707c9b1fd750dd56c33c3bae0755424ce8ca3795ee28e0ece8")
- depends_on('zlib')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("zlib")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/osmesa/package.py b/var/spack/repos/builtin/packages/osmesa/package.py
index 7ceecfcf86..c8b6992210 100644
--- a/var/spack/repos/builtin/packages/osmesa/package.py
+++ b/var/spack/repos/builtin/packages/osmesa/package.py
@@ -8,31 +8,30 @@ from spack.package import *
class Osmesa(BundlePackage):
"""Shim package for the OSMesa OpenGL library."""
- homepage = 'https://www.mesa3d.org'
- version('11.2.0')
+ homepage = "https://www.mesa3d.org"
- depends_on('libosmesa')
- provides('gl@4.5')
+ version("11.2.0")
+
+ depends_on("libosmesa")
+ provides("gl@4.5")
@property
def home(self):
- return self.spec['libosmesa'].home
+ return self.spec["libosmesa"].home
@property
def headers(self):
- return self.spec['libosmesa'].headers
+ return self.spec["libosmesa"].headers
@property
def libs(self):
- return self.spec['libosmesa'].libs
+ return self.spec["libosmesa"].libs
@property
def gl_headers(self):
- return find_headers('GL/gl',
- root=self.gl_home,
- recursive=True)
+ return find_headers("GL/gl", root=self.gl_home, recursive=True)
@property
def gl_libs(self):
- return self.spec['libosmesa'].libs
+ return self.spec["libosmesa"].libs
diff --git a/var/spack/repos/builtin/packages/osqp/package.py b/var/spack/repos/builtin/packages/osqp/package.py
index 68d386ee5a..b509f803fc 100644
--- a/var/spack/repos/builtin/packages/osqp/package.py
+++ b/var/spack/repos/builtin/packages/osqp/package.py
@@ -15,8 +15,8 @@ class Osqp(CMakePackage):
"""
homepage = "https://osqp.org"
- git = "https://github.com/oxfordcontrol/osqp.git"
+ git = "https://github.com/oxfordcontrol/osqp.git"
- version('master', branch='master', submodules=True)
- version('0.6.0', commit='0baddd36bd57ec1cace0a52c6dd9663e8f16df0a', submodules=True)
- version('0.5.0', commit='97050184aa2cbebe446ae02d1f8b811243e180d6', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("0.6.0", commit="0baddd36bd57ec1cace0a52c6dd9663e8f16df0a", submodules=True)
+ version("0.5.0", commit="97050184aa2cbebe446ae02d1f8b811243e180d6", submodules=True)
diff --git a/var/spack/repos/builtin/packages/ossp-uuid/package.py b/var/spack/repos/builtin/packages/ossp-uuid/package.py
index a5796bac7d..8e62edd792 100644
--- a/var/spack/repos/builtin/packages/ossp-uuid/package.py
+++ b/var/spack/repos/builtin/packages/ossp-uuid/package.py
@@ -15,14 +15,14 @@ class OsspUuid(AutotoolsPackage):
homepage = "http://www.ossp.org/pkg/lib/uuid"
url = "https://www.mirrorservice.org/sites/ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz"
- version('1.6.2', sha256='11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0')
+ version("1.6.2", sha256="11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0")
- provides('uuid')
+ provides("uuid")
@property
def libs(self):
- return find_libraries('libuuid', self.prefix, recursive=True)
+ return find_libraries("libuuid", self.prefix, recursive=True)
@property
def headers(self):
- return find_headers('uuid', self.prefix, recursive=True)
+ return find_headers("uuid", self.prefix, recursive=True)
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 4a99450b0b..39d647af32 100644
--- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py
+++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py
@@ -16,44 +16,42 @@ class OsuMicroBenchmarks(AutotoolsPackage, CudaPackage):
and can be used for both traditional and GPU-enhanced nodes."""
homepage = "https://mvapich.cse.ohio-state.edu/benchmarks/"
- url = "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz"
-
- version('5.9', sha256='d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609')
- version('5.7.1', sha256='cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165', url="https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.7.1.tgz")
- version('5.7', sha256='1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590')
- version('5.6.3', sha256='c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8')
- version('5.6.2', sha256='2ecb90abd85398786823c0716d92448d7094657d3f017c65d270ffe39afc7b95')
- version('5.6.1', sha256='943c426a653a6c56200193d747755efaa4c4e6f23b3571b0e3ef81ecd21b1063')
- version('5.5', sha256='1e5a4ae5ef2b03143a815b21fefc23373c1b079cc163c2fa1ed1e0c9b83c28ad')
- version('5.4', sha256='e1ca762e13a07205a59b59ad85e85ce0f826b70f76fd555ce5568efb1f2a8f33')
- version('5.3', sha256='d7b3ad4bee48ac32f5bef39650a88f8f2c23a3050b17130c63966283edced89b')
-
- depends_on('mpi')
+ url = "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz"
+
+ version("5.9", sha256="d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609")
+ version(
+ "5.7.1",
+ sha256="cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165",
+ url="https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.7.1.tgz",
+ )
+ version("5.7", sha256="1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590")
+ version("5.6.3", sha256="c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8")
+ version("5.6.2", sha256="2ecb90abd85398786823c0716d92448d7094657d3f017c65d270ffe39afc7b95")
+ version("5.6.1", sha256="943c426a653a6c56200193d747755efaa4c4e6f23b3571b0e3ef81ecd21b1063")
+ version("5.5", sha256="1e5a4ae5ef2b03143a815b21fefc23373c1b079cc163c2fa1ed1e0c9b83c28ad")
+ version("5.4", sha256="e1ca762e13a07205a59b59ad85e85ce0f826b70f76fd555ce5568efb1f2a8f33")
+ version("5.3", sha256="d7b3ad4bee48ac32f5bef39650a88f8f2c23a3050b17130c63966283edced89b")
+
+ depends_on("mpi")
def configure_args(self):
spec = self.spec
- config_args = [
- 'CC=%s' % spec['mpi'].mpicc,
- 'CXX=%s' % spec['mpi'].mpicxx
- ]
-
- if '+cuda' in spec:
- config_args.extend([
- '--enable-cuda',
- '--with-cuda=%s' % spec['cuda'].prefix
- ])
- cuda_arch = spec.variants['cuda_arch'].value
- if 'none' not in cuda_arch:
- config_args.append('NVCCFLAGS=' + ' '.join(self.cuda_flags(cuda_arch)))
+ config_args = ["CC=%s" % spec["mpi"].mpicc, "CXX=%s" % spec["mpi"].mpicxx]
+
+ if "+cuda" in spec:
+ config_args.extend(["--enable-cuda", "--with-cuda=%s" % spec["cuda"].prefix])
+ cuda_arch = spec.variants["cuda_arch"].value
+ if "none" not in cuda_arch:
+ config_args.append("NVCCFLAGS=" + " ".join(self.cuda_flags(cuda_arch)))
# librt not available on darwin (and not required)
- if not sys.platform == 'darwin':
- config_args.append('LDFLAGS=-lrt')
+ if not sys.platform == "darwin":
+ config_args.append("LDFLAGS=-lrt")
return config_args
def setup_run_environment(self, env):
- mpidir = join_path(self.prefix.libexec, 'osu-micro-benchmarks', 'mpi')
- env.prepend_path('PATH', join_path(mpidir, 'startup'))
- env.prepend_path('PATH', join_path(mpidir, 'pt2pt'))
- env.prepend_path('PATH', join_path(mpidir, 'one-sided'))
- env.prepend_path('PATH', join_path(mpidir, 'collective'))
+ mpidir = join_path(self.prefix.libexec, "osu-micro-benchmarks", "mpi")
+ env.prepend_path("PATH", join_path(mpidir, "startup"))
+ env.prepend_path("PATH", join_path(mpidir, "pt2pt"))
+ env.prepend_path("PATH", join_path(mpidir, "one-sided"))
+ env.prepend_path("PATH", join_path(mpidir, "collective"))
diff --git a/var/spack/repos/builtin/packages/otf/package.py b/var/spack/repos/builtin/packages/otf/package.py
index 8c1b652a6a..3c0b2dd600 100644
--- a/var/spack/repos/builtin/packages/otf/package.py
+++ b/var/spack/repos/builtin/packages/otf/package.py
@@ -8,26 +8,28 @@ from spack.package import *
class Otf(AutotoolsPackage):
"""To improve scalability for very large and massively parallel
- traces the Open Trace Format (OTF) is developed at ZIH as a
- successor format to the Vampir Trace Format (VTF3)."""
+ traces the Open Trace Format (OTF) is developed at ZIH as a
+ successor format to the Vampir Trace Format (VTF3)."""
homepage = "http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/otf/index_html/document_view?set_language=en"
- url = "https://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz"
+ url = "https://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz"
- maintainers = ['michaelkuhn']
+ maintainers = ["michaelkuhn"]
- version('1.12.5salmon', sha256='0a8427360dedb38e8ddca30f14d95f826420c550337c5a79dbb754904e194088')
+ version(
+ "1.12.5salmon", sha256="0a8427360dedb38e8ddca30f14d95f826420c550337c5a79dbb754904e194088"
+ )
- depends_on('zlib')
+ depends_on("zlib")
def configure_args(self):
args = []
- args.append('--without-mpi')
- args.append('--without-vtf3')
- args.append('--without-zoidfs')
+ args.append("--without-mpi")
+ args.append("--without-vtf3")
+ args.append("--without-zoidfs")
- args.append('--with-zlib')
- args.append('--with-zlib-dir={0}'.format(self.spec['zlib'].prefix))
+ args.append("--with-zlib")
+ args.append("--with-zlib-dir={0}".format(self.spec["zlib"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py
index fc1b6d5dc3..f44cd3d504 100644
--- a/var/spack/repos/builtin/packages/otf2/package.py
+++ b/var/spack/repos/builtin/packages/otf2/package.py
@@ -9,54 +9,66 @@ from spack.package import *
class Otf2(AutotoolsPackage):
"""The Open Trace Format 2 is a highly scalable, memory efficient event
- trace data format plus support library.
+ trace data format plus support library.
"""
homepage = "https://www.vi-hps.org/projects/score-p"
- url = "https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-3.0/otf2-3.0.tar.gz"
-
- version('3.0', sha256='6fff0728761556e805b140fd464402ced394a3c622ededdb618025e6cdaa6d8c')
- version('2.3', sha256='36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3')
- version('2.2', sha256='d0519af93839dc778eddca2ce1447b1ee23002c41e60beac41ea7fe43117172d')
- version('2.1.1', sha256='01591b42e76f396869ffc84672f4eaa90ee8ec2a8939755d9c0b5b8ecdcf47d3')
- version('2.1', sha256='8ad38ea0461099e34f00f2947af4409ce9b9c379e14c3f449ba162e51ac4cad3')
- version('2.0', sha256='bafe0ac08e0a13e71568e5774dc83bd305d907159b4ceeb53d2e9f6e29462754')
- version('1.5.1', sha256='a4dc9f6c99376030b43a4c7b1ee77cfb530b03928ea688c6d1a380b3f4e8e488')
- version('1.4', sha256='fb5fe169003c01e40848e224f09c440014e9872e84d2ca02ce7fffdd3f879a2f')
- version('1.3.1', sha256='c4605ace845d89fb1a19223137b92cc503b01e3db5eda8c9e0715d0cfcf2e4b9', deprecated=True)
- version('1.2.1', sha256='1db9fb0789de4a9c3c96042495e4212a22cb581f734a1593813adaf84f2288e4', deprecated=True)
+ url = "https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-3.0/otf2-3.0.tar.gz"
+
+ version("3.0", sha256="6fff0728761556e805b140fd464402ced394a3c622ededdb618025e6cdaa6d8c")
+ version("2.3", sha256="36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3")
+ version("2.2", sha256="d0519af93839dc778eddca2ce1447b1ee23002c41e60beac41ea7fe43117172d")
+ version("2.1.1", sha256="01591b42e76f396869ffc84672f4eaa90ee8ec2a8939755d9c0b5b8ecdcf47d3")
+ version("2.1", sha256="8ad38ea0461099e34f00f2947af4409ce9b9c379e14c3f449ba162e51ac4cad3")
+ version("2.0", sha256="bafe0ac08e0a13e71568e5774dc83bd305d907159b4ceeb53d2e9f6e29462754")
+ version("1.5.1", sha256="a4dc9f6c99376030b43a4c7b1ee77cfb530b03928ea688c6d1a380b3f4e8e488")
+ version("1.4", sha256="fb5fe169003c01e40848e224f09c440014e9872e84d2ca02ce7fffdd3f879a2f")
+ version(
+ "1.3.1",
+ sha256="c4605ace845d89fb1a19223137b92cc503b01e3db5eda8c9e0715d0cfcf2e4b9",
+ deprecated=True,
+ )
+ version(
+ "1.2.1",
+ sha256="1db9fb0789de4a9c3c96042495e4212a22cb581f734a1593813adaf84f2288e4",
+ deprecated=True,
+ )
def url_for_version(self, version):
- if version < Version('2.3'):
- return 'https://www.vi-hps.org/cms/upload/packages/otf2/otf2-{0}.tar.gz'.format(version)
+ if version < Version("2.3"):
+ return "https://www.vi-hps.org/cms/upload/packages/otf2/otf2-{0}.tar.gz".format(
+ version
+ )
- return 'https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-{0}/otf2-{0}.tar.gz'.format(version)
+ return "https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-{0}/otf2-{0}.tar.gz".format(
+ version
+ )
- with when('@2.2 %cce'):
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ with when("@2.2 %cce"):
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# Fix missing initialization of variable resulting in issues when used by
# APEX/HPX: https://github.com/STEllAR-GROUP/hpx/issues/5239
- patch('collective_callbacks.patch', when='@2.1:')
+ patch("collective_callbacks.patch", when="@2.1:")
# when using Cray's cs-prgenv, allow the build system to detect the systems as an XC
- patch('cray_ac_scorep_sys_detection-m4.patch', when='@2.2 %cce')
+ patch("cray_ac_scorep_sys_detection-m4.patch", when="@2.2 %cce")
@property
def force_autoreconf(self):
- return self.spec.satisfies('@2.2 %cce')
+ return self.spec.satisfies("@2.2 %cce")
def configure_args(self):
return [
- '--enable-shared',
- 'CC={0}'.format(spack_cc),
- 'CXX={0}'.format(spack_cxx),
- 'F77={0}'.format(spack_f77),
- 'FC={0}'.format(spack_fc),
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag),
- 'CXXFLAGS={0}'.format(self.compiler.cxx_pic_flag),
- 'PYTHON_FOR_GENERATOR=:',
+ "--enable-shared",
+ "CC={0}".format(spack_cc),
+ "CXX={0}".format(spack_cxx),
+ "F77={0}".format(spack_f77),
+ "FC={0}".format(spack_fc),
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag),
+ "CXXFLAGS={0}".format(self.compiler.cxx_pic_flag),
+ "PYTHON_FOR_GENERATOR=:",
]
diff --git a/var/spack/repos/builtin/packages/ovito/package.py b/var/spack/repos/builtin/packages/ovito/package.py
index b40c151d18..586b6f4bf4 100755
--- a/var/spack/repos/builtin/packages/ovito/package.py
+++ b/var/spack/repos/builtin/packages/ovito/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Ovito(Package):
"""OVITO is a scientific visualization and analysis software for atomistic
-and particle simulation data. It helps scientists gain better insights into
-materials phenomena and physical processes. OVITO Basic is freely available
-for all major platforms under an open source license. It has served in a
-growing number of computational simulation studies as a powerful tool to
-analyze, understand and illustrate simulation results."""
+ and particle simulation data. It helps scientists gain better insights into
+ materials phenomena and physical processes. OVITO Basic is freely available
+ for all major platforms under an open source license. It has served in a
+ growing number of computational simulation studies as a powerful tool to
+ analyze, understand and illustrate simulation results."""
homepage = "https://www.ovito.org"
- url = "https://www.ovito.org/download/master/ovito-basic-3.6.0-x86_64.tar.xz"
+ url = "https://www.ovito.org/download/master/ovito-basic-3.6.0-x86_64.tar.xz"
- version('3.6.0', '6ac43a3a39b1ec3cccab577602756a8b7010cc1f1f046c4f6a939590d12f0339')
+ version("3.6.0", "6ac43a3a39b1ec3cccab577602756a8b7010cc1f1f046c4f6a939590d12f0339")
def install(self, spec, prefix):
# Once we've unpacked the tarball, copy it's contents to the prefix
- copy_tree('.', prefix)
+ copy_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/p11-kit/package.py b/var/spack/repos/builtin/packages/p11-kit/package.py
index be3c103640..be14efd0dc 100644
--- a/var/spack/repos/builtin/packages/p11-kit/package.py
+++ b/var/spack/repos/builtin/packages/p11-kit/package.py
@@ -15,16 +15,16 @@ class P11Kit(AutotoolsPackage):
discoverable."""
homepage = "https://p11-glue.github.io/p11-glue/p11-kit.html"
- url = "https://github.com/p11-glue/p11-kit/archive/0.23.21.tar.gz"
+ url = "https://github.com/p11-glue/p11-kit/archive/0.23.21.tar.gz"
- version('0.23.21', sha256='0361bcc55858618625a8e99e7fe9069f81514849b7b51ade51f8117d3ad31d88')
- version('0.23.20', sha256='8f6116f34735f6902e9db461c5dbe3e7e25b5cb8c38f42ea2a5aede1cf693749')
- version('0.23.19', sha256='c27921404e82244d97b27f46bae654e5814b5963e0ce3c75ad37007ded46f700')
+ version("0.23.21", sha256="0361bcc55858618625a8e99e7fe9069f81514849b7b51ade51f8117d3ad31d88")
+ version("0.23.20", sha256="8f6116f34735f6902e9db461c5dbe3e7e25b5cb8c38f42ea2a5aede1cf693749")
+ version("0.23.19", sha256="c27921404e82244d97b27f46bae654e5814b5963e0ce3c75ad37007ded46f700")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext', type='build')
- depends_on('libtasn1')
- depends_on('libffi')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext", type="build")
+ depends_on("libtasn1")
+ depends_on("libffi")
diff --git a/var/spack/repos/builtin/packages/p3dfft3/package.py b/var/spack/repos/builtin/packages/p3dfft3/package.py
index 3c7dc472a7..8d3e273d6f 100644
--- a/var/spack/repos/builtin/packages/p3dfft3/package.py
+++ b/var/spack/repos/builtin/packages/p3dfft3/package.py
@@ -14,90 +14,87 @@ class P3dfft3(AutotoolsPackage):
of use cases."""
homepage = "https://www.p3dfft.net"
- url = "https://github.com/sdsc/p3dfft.3/archive/v3.0.0.tar.gz"
- git = "https://github.com/sdsc/p3dfft.3.git"
-
- version('develop', branch='master')
- version('3.0.0', sha256='1c549e78097d1545d18552b039be0d11cdb96be46efe99a16b65fd5d546dbfa7')
-
- variant('fftw', default=True,
- description='Builds with FFTW library')
- variant('essl', default=False,
- description='Builds with ESSL library')
- variant('mpi', default=True,
- description="Enable MPI support.")
- variant('measure', default=False,
- description="Define if you want to use"
- "the measure fftw planner flag")
- variant('estimate', default=False,
- description="Define if you want to"
- "use the estimate fftw planner flag")
- variant('patient', default=False,
- description="Define if you want to"
- "use the patient fftw planner flag")
+ url = "https://github.com/sdsc/p3dfft.3/archive/v3.0.0.tar.gz"
+ git = "https://github.com/sdsc/p3dfft.3.git"
+
+ version("develop", branch="master")
+ version("3.0.0", sha256="1c549e78097d1545d18552b039be0d11cdb96be46efe99a16b65fd5d546dbfa7")
+
+ variant("fftw", default=True, description="Builds with FFTW library")
+ variant("essl", default=False, description="Builds with ESSL library")
+ variant("mpi", default=True, description="Enable MPI support.")
+ variant(
+ "measure",
+ default=False,
+ description="Define if you want to use" "the measure fftw planner flag",
+ )
+ variant(
+ "estimate",
+ default=False,
+ description="Define if you want to" "use the estimate fftw planner flag",
+ )
+ variant(
+ "patient",
+ default=False,
+ description="Define if you want to" "use the patient fftw planner flag",
+ )
# TODO: Add more configure options!
- depends_on('mpi', when='+mpi')
- depends_on('fftw', when='+fftw')
- depends_on('essl', when='+essl')
+ depends_on("mpi", when="+mpi")
+ depends_on("fftw", when="+fftw")
+ depends_on("essl", when="+essl")
def configure_args(self):
args = []
- if '%gcc' in self.spec:
- args.append('--enable-gnu')
+ if "%gcc" in self.spec:
+ args.append("--enable-gnu")
- if '%intel' in self.spec:
- args.append('--enable-intel')
+ if "%intel" in self.spec:
+ args.append("--enable-intel")
- if '%xl' in self.spec:
- args.append('--enable-ibm')
+ if "%xl" in self.spec:
+ args.append("--enable-ibm")
- if '%cce' in self.spec:
- args.append('--enable-cray')
+ if "%cce" in self.spec:
+ args.append("--enable-cray")
- if '%pgi' in self.spec:
- args.append('--enable-pgi')
+ if "%pgi" in self.spec:
+ args.append("--enable-pgi")
- if '+mpi' in self.spec:
- args.append('CC=%s' % self.spec['mpi'].mpicc)
- args.append('CXX=%s' % self.spec['mpi'].mpicxx)
- args.append('FC=%s' % self.spec['mpi'].mpifc)
+ if "+mpi" in self.spec:
+ args.append("CC=%s" % self.spec["mpi"].mpicc)
+ args.append("CXX=%s" % self.spec["mpi"].mpicxx)
+ args.append("FC=%s" % self.spec["mpi"].mpifc)
- if '+openmpi' in self.spec:
- args.append('--enable-openmpi')
+ if "+openmpi" in self.spec:
+ args.append("--enable-openmpi")
- if '+fftw' in self.spec:
- args.append('--enable-fftw')
+ if "+fftw" in self.spec:
+ args.append("--enable-fftw")
- if '@:3.0.0' in self.spec:
- args.append('--with-fftw-lib=%s' %
- self.spec['fftw'].prefix.lib)
- args.append('--with-fftw-inc=%s' %
- self.spec['fftw'].prefix.include)
+ if "@:3.0.0" in self.spec:
+ args.append("--with-fftw-lib=%s" % self.spec["fftw"].prefix.lib)
+ args.append("--with-fftw-inc=%s" % self.spec["fftw"].prefix.include)
else:
- args.append('--with-fftw=%s' % self.spec['fftw'].prefix)
-
- if 'fftw+measure' in self.spec:
- args.append('--enable-fftwmeasure')
- if 'fftw+estimate' in self.spec:
- args.append('--enable-fftwestimate')
- if 'fftw+patient' in self.spec:
- args.append('--enable-fftwpatient')
-
- if '+essl' in self.spec:
- args.append('--enable-essl')
- args.append('--with-essl-lib=%s' %
- self.spec['essl'].prefix.lib)
- args.append('--with-essl-inc=%s' %
- self.spec['essl'].prefix.include)
-
- if '+mkl' in self.spec:
- args.append('--enable-mkl')
- args.append('--with-mkl-lib=%s' %
- self.spec['mkl'].prefix.lib)
- args.append('--with-mkl-inc=%s' %
- self.spec['mkl'].prefix.include)
+ args.append("--with-fftw=%s" % self.spec["fftw"].prefix)
+
+ if "fftw+measure" in self.spec:
+ args.append("--enable-fftwmeasure")
+ if "fftw+estimate" in self.spec:
+ args.append("--enable-fftwestimate")
+ if "fftw+patient" in self.spec:
+ args.append("--enable-fftwpatient")
+
+ if "+essl" in self.spec:
+ args.append("--enable-essl")
+ args.append("--with-essl-lib=%s" % self.spec["essl"].prefix.lib)
+ args.append("--with-essl-inc=%s" % self.spec["essl"].prefix.include)
+
+ if "+mkl" in self.spec:
+ args.append("--enable-mkl")
+ args.append("--with-mkl-lib=%s" % self.spec["mkl"].prefix.lib)
+ args.append("--with-mkl-inc=%s" % self.spec["mkl"].prefix.include)
return args
diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py
index 405753e80e..9f798ecff9 100644
--- a/var/spack/repos/builtin/packages/p4est/package.py
+++ b/var/spack/repos/builtin/packages/p4est/package.py
@@ -9,6 +9,7 @@ from spack.package import *
class P4est(AutotoolsPackage):
"""Dynamic management of a collection (a forest) of adaptive octrees in
parallel"""
+
homepage = "https://www.p4est.org"
# Only use the official tarball releases provided on p4est.org or
@@ -16,68 +17,71 @@ class P4est(AutotoolsPackage):
# Github repository lack important parts.
url = "https://p4est.github.io/release/p4est-2.8.tar.gz"
- maintainers = ['davydden']
+ maintainers = ["davydden"]
- version('2.8', sha256='6a0586e3abac06c20e31b1018f3a82a564a6a0d9ff6b7f6c772a9e6b0f0cc5e4')
- version('2.3.2', sha256='076df9e5578e0e7fcfbe12e1a0b080104001f8c986ab1d5a69ec2220050df8e6')
- version('2.3.1', sha256='be66893b039fb3f27aca3d5d00acff42c67bfad5aa09cea9253cdd628b2bdc9a')
- version('2.2', sha256='1549cbeba29bee2c35e7cc50a90a04961da5f23b6eada9c8047f511b90a8e438')
- version('2.1', sha256='07ab24bd63a652a30576fbca12c0fc068dffa615d888802d7f229fa994a9c1ef')
- version('2.0', sha256='c522c5b69896aab39aa5a81399372a19a6b03fc6200d2d5d677d9a22fe31029a')
- version('1.1', sha256='0b5327a35f0c869bf920b8cab5f20caa4eb55692eaaf1f451d5de30285b25139')
+ version("2.8", sha256="6a0586e3abac06c20e31b1018f3a82a564a6a0d9ff6b7f6c772a9e6b0f0cc5e4")
+ version("2.3.2", sha256="076df9e5578e0e7fcfbe12e1a0b080104001f8c986ab1d5a69ec2220050df8e6")
+ version("2.3.1", sha256="be66893b039fb3f27aca3d5d00acff42c67bfad5aa09cea9253cdd628b2bdc9a")
+ version("2.2", sha256="1549cbeba29bee2c35e7cc50a90a04961da5f23b6eada9c8047f511b90a8e438")
+ version("2.1", sha256="07ab24bd63a652a30576fbca12c0fc068dffa615d888802d7f229fa994a9c1ef")
+ version("2.0", sha256="c522c5b69896aab39aa5a81399372a19a6b03fc6200d2d5d677d9a22fe31029a")
+ version("1.1", sha256="0b5327a35f0c869bf920b8cab5f20caa4eb55692eaaf1f451d5de30285b25139")
- variant('mpi', default=True, description='Enable MPI')
- variant('openmp', default=False, description='Enable OpenMP')
+ variant("mpi", default=True, description="Enable MPI")
+ variant("openmp", default=False, description="Enable OpenMP")
# build dependencies
- depends_on('automake', when='@2.0', type='build')
- depends_on('autoconf', when='@2.0', type='build')
- depends_on('libtool@2.4.2:', type='build')
+ depends_on("automake", when="@2.0", type="build")
+ depends_on("autoconf", when="@2.0", type="build")
+ depends_on("libtool@2.4.2:", type="build")
# other dependencies
- depends_on('mpi', when='+mpi')
- depends_on('zlib')
+ depends_on("mpi", when="+mpi")
+ depends_on("zlib")
# from sc upstream, correct the default libraries
- patch('https://github.com/cburstedde/libsc/commit/b506aab224b988fec210cc212469f2c4f58b2d04.patch?full_index=1',
- sha256='e03437c5b580deacdfa0e8112d0a3d40af1f5e4757fe1dd00347d0523f6c16d5',
- working_dir='sc',
- when='@2.0')
- patch('https://github.com/cburstedde/libsc/commit/b45a51a7ef97883a3d4dcbd05cb2c77890a76f75.patch?full_index=1',
- sha256='f5c9f784408481b12babd802cc3bedde2a8c4f84de4fd58c54017690b7520a01',
- working_dir='sc',
- when='@2.0')
+ patch(
+ "https://github.com/cburstedde/libsc/commit/b506aab224b988fec210cc212469f2c4f58b2d04.patch?full_index=1",
+ sha256="e03437c5b580deacdfa0e8112d0a3d40af1f5e4757fe1dd00347d0523f6c16d5",
+ working_dir="sc",
+ when="@2.0",
+ )
+ patch(
+ "https://github.com/cburstedde/libsc/commit/b45a51a7ef97883a3d4dcbd05cb2c77890a76f75.patch?full_index=1",
+ sha256="f5c9f784408481b12babd802cc3bedde2a8c4f84de4fd58c54017690b7520a01",
+ working_dir="sc",
+ when="@2.0",
+ )
def autoreconf(self, spec, prefix):
- if self.spec.satisfies('@2.0'):
- bootstrap = Executable('./bootstrap')
+ if self.spec.satisfies("@2.0"):
+ bootstrap = Executable("./bootstrap")
bootstrap()
def configure_args(self):
args = [
- '--enable-shared',
- '--disable-vtk-binary',
- '--without-blas',
- 'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
- 'CFLAGS=-O2'
+ "--enable-shared",
+ "--disable-vtk-binary",
+ "--without-blas",
+ "CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL",
+ "CFLAGS=-O2",
]
- if '~mpi' in self.spec:
- args.append('--disable-mpi')
+ if "~mpi" in self.spec:
+ args.append("--disable-mpi")
else:
- args.append('--enable-mpi')
- args.append('CC=%s' % self.spec['mpi'].mpicc)
- args.append('CXX=%s' % self.spec['mpi'].mpicxx)
- args.append('FC=%s' % self.spec['mpi'].mpifc)
- args.append('F77=%s' % self.spec['mpi'].mpif77)
+ args.append("--enable-mpi")
+ args.append("CC=%s" % self.spec["mpi"].mpicc)
+ args.append("CXX=%s" % self.spec["mpi"].mpicxx)
+ args.append("FC=%s" % self.spec["mpi"].mpifc)
+ args.append("F77=%s" % self.spec["mpi"].mpif77)
- if '+openmp' in self.spec:
+ if "+openmp" in self.spec:
try:
- args.append(
- '--enable-openmp={0}'.format(self.compiler.openmp_flag))
+ args.append("--enable-openmp={0}".format(self.compiler.openmp_flag))
except UnsupportedCompilerFlag:
- args.append('--enable-openmp')
+ args.append("--enable-openmp")
else:
- args.append('--disable-openmp')
+ args.append("--disable-openmp")
return args
diff --git a/var/spack/repos/builtin/packages/p7zip/package.py b/var/spack/repos/builtin/packages/p7zip/package.py
index 2d9781dfd1..1f87bad0de 100644
--- a/var/spack/repos/builtin/packages/p7zip/package.py
+++ b/var/spack/repos/builtin/packages/p7zip/package.py
@@ -10,40 +10,48 @@ from spack.package import *
class P7zip(MakefilePackage):
"""A Unix port of the 7z file archiver"""
- maintainers = ['vmiheer']
+ maintainers = ["vmiheer"]
homepage = "http://p7zip.sourceforge.net"
- url = "https://downloads.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2"
- version('16.02', sha256='5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f')
+ version("16.02", sha256="5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f")
- patch('gcc10.patch', when='%gcc@10:', sha256='96914025b9f431fdd75ae69768162d57751413634622f9df1a4bc4960e7e8fe1')
+ patch(
+ "gcc10.patch",
+ when="%gcc@10:",
+ sha256="96914025b9f431fdd75ae69768162d57751413634622f9df1a4bc4960e7e8fe1",
+ )
# Replace boolean increments with assignments of true (which is
# semantically equivalent). Use of increment operators on booleans is
# forbidden by C++17, the default standard targeted by GCC 11.
- patch('gcc11.patch', when='%gcc@11:', sha256='39dd15f2dfc86eeee8c3a13ffde65c2ca919433cfe97ea126fbdc016afc587d1')
+ patch(
+ "gcc11.patch",
+ when="%gcc@11:",
+ sha256="39dd15f2dfc86eeee8c3a13ffde65c2ca919433cfe97ea126fbdc016afc587d1",
+ )
# all3 includes 7z, 7za, and 7zr
- build_targets = ['all3']
+ build_targets = ["all3"]
- depends_on('yasm', type='build', when='%clang')
+ depends_on("yasm", type="build", when="%clang")
def edit(self, spec, prefix):
# Use the suggested makefile
for tgt, makefile in {
- 'platform=linux %clang': 'makefile.linux_clang_amd64_asm',
- 'platform=darwin %gcc': 'makefile.macosx_gcc_64bits',
- 'platform=darwin %apple-clang': 'makefile.macosx_llvm_64bits',
- 'platform=darwin %clang': 'makefile.macosx_llvm_64bits',
+ "platform=linux %clang": "makefile.linux_clang_amd64_asm",
+ "platform=darwin %gcc": "makefile.macosx_gcc_64bits",
+ "platform=darwin %apple-clang": "makefile.macosx_llvm_64bits",
+ "platform=darwin %clang": "makefile.macosx_llvm_64bits",
}.items():
if tgt in self.spec:
- copy(makefile, 'makefile.machine')
+ copy(makefile, "makefile.machine")
break
# Silence an error about -Wc++11-narrowing in clang.
- if '@16.02 %clang' in spec:
- with open('makefile.machine', 'a') as f:
+ if "@16.02 %clang" in spec:
+ with open("makefile.machine", "a") as f:
f.write("ALLFLAGS += -Wno-c++11-narrowing")
@property
def install_targets(self):
- return ['DEST_HOME={0}'.format(self.prefix), 'install']
+ return ["DEST_HOME={0}".format(self.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/pacbio-daligner/package.py b/var/spack/repos/builtin/packages/pacbio-daligner/package.py
index ba0f24f964..fb1cd8a463 100644
--- a/var/spack/repos/builtin/packages/pacbio-daligner/package.py
+++ b/var/spack/repos/builtin/packages/pacbio-daligner/package.py
@@ -8,20 +8,19 @@ from spack.package import *
class PacbioDaligner(MakefilePackage):
"""Daligner: The Dazzler "Overlap" Module. This is a special fork
- required for some pacbio utilities."""
+ required for some pacbio utilities."""
homepage = "https://github.com/PacificBiosciences/DALIGNER"
- git = "https://github.com/PacificBiosciences/DALIGNER.git"
+ git = "https://github.com/PacificBiosciences/DALIGNER.git"
- version('2017-08-05', commit='0fe5240d2cc6b55bf9e04465b700b76110749c9d')
+ version("2017-08-05", commit="0fe5240d2cc6b55bf9e04465b700b76110749c9d")
- depends_on('gmake', type='build')
- depends_on('pacbio-dazz-db')
+ depends_on("gmake", type="build")
+ depends_on("pacbio-dazz-db")
def edit(self, spec, prefix):
mkdir(prefix.bin)
- makefile = FileFilter('Makefile')
- makefile.filter(r'DEST_DIR\s*=\s*~/bin', 'DEST_DIR = ' + prefix.bin)
- gmf = FileFilter('GNUmakefile')
- gmf.filter(r'rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin',
- 'cp ${ALL} ' + prefix.bin)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"DEST_DIR\s*=\s*~/bin", "DEST_DIR = " + prefix.bin)
+ gmf = FileFilter("GNUmakefile")
+ gmf.filter(r"rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin", "cp ${ALL} " + prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pacbio-damasker/package.py b/var/spack/repos/builtin/packages/pacbio-damasker/package.py
index f94041989a..e741e6fa7b 100644
--- a/var/spack/repos/builtin/packages/pacbio-damasker/package.py
+++ b/var/spack/repos/builtin/packages/pacbio-damasker/package.py
@@ -8,19 +8,18 @@ from spack.package import *
class PacbioDamasker(MakefilePackage):
"""Damasker: The Dazzler Repeat Masking Suite. This is a special fork
- required for some pacbio utilities."""
+ required for some pacbio utilities."""
homepage = "https://github.com/PacificBiosciences/DAMASKER"
- git = "https://github.com/PacificBiosciences/DAMASKER.git"
+ git = "https://github.com/PacificBiosciences/DAMASKER.git"
- version('2017-02-11', commit='144244b77d52cb785cb1b3b8ae3ab6f3f0c63264')
+ version("2017-02-11", commit="144244b77d52cb785cb1b3b8ae3ab6f3f0c63264")
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
def edit(self, spec, prefix):
mkdirp(prefix.bin)
- makefile = FileFilter('Makefile')
- makefile.filter(r'DEST_DIR\s*=\s*~/bin', 'DEST_DIR = ' + prefix.bin)
- gmf = FileFilter('GNUmakefile')
- gmf.filter(r'rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin',
- 'cp ${ALL} ' + prefix.bin)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"DEST_DIR\s*=\s*~/bin", "DEST_DIR = " + prefix.bin)
+ gmf = FileFilter("GNUmakefile")
+ gmf.filter(r"rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin", "cp ${ALL} " + prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py b/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py
index d09697de3f..6a2b43e47a 100644
--- a/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py
+++ b/var/spack/repos/builtin/packages/pacbio-dazz-db/package.py
@@ -9,26 +9,25 @@ from spack.package import *
class PacbioDazzDb(MakefilePackage):
"""The Dazzler Database Library. This version is a special fork
- required for some pacbio utilities."""
+ required for some pacbio utilities."""
homepage = "https://github.com/PacificBiosciences/DAZZ_DB"
- git = "https://github.com/PacificBiosciences/DAZZ_DB.git"
+ git = "https://github.com/PacificBiosciences/DAZZ_DB.git"
- version('2017-04-10', commit='f29d27d51f460563481cd227d17f4bdc5e288365')
+ version("2017-04-10", commit="f29d27d51f460563481cd227d17f4bdc5e288365")
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
def edit(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.lib)
mkdirp(prefix.include)
- makefile = FileFilter('Makefile')
- makefile.filter(r'DEST_DIR\s*=\s*~/bin', 'DEST_DIR = ' + prefix.bin)
- gmf = FileFilter('GNUmakefile')
- gmf.filter(r'rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin',
- 'cp ${ALL} ' + prefix.bin)
- gmf.filter(r'rsync\s*-av\s*libdazzdb.*\s*\$\{PREFIX\}/lib',
- 'cp libdazzdb.* ' + prefix.lib)
- gmf.filter((r'rsync\s*-av\s*\$\(wildcard\s*\$\{THISDIR\}/\*.h'
- r'\)\s*\$\{PREFIX\}/include'),
- 'cp *.h ' + prefix.include)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"DEST_DIR\s*=\s*~/bin", "DEST_DIR = " + prefix.bin)
+ gmf = FileFilter("GNUmakefile")
+ gmf.filter(r"rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin", "cp ${ALL} " + prefix.bin)
+ gmf.filter(r"rsync\s*-av\s*libdazzdb.*\s*\$\{PREFIX\}/lib", "cp libdazzdb.* " + prefix.lib)
+ gmf.filter(
+ (r"rsync\s*-av\s*\$\(wildcard\s*\$\{THISDIR\}/\*.h" r"\)\s*\$\{PREFIX\}/include"),
+ "cp *.h " + prefix.include,
+ )
diff --git a/var/spack/repos/builtin/packages/pacbio-dextractor/package.py b/var/spack/repos/builtin/packages/pacbio-dextractor/package.py
index ef92799b24..a62541363e 100644
--- a/var/spack/repos/builtin/packages/pacbio-dextractor/package.py
+++ b/var/spack/repos/builtin/packages/pacbio-dextractor/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class PacbioDextractor(MakefilePackage):
"""The Dextractor and Compression Command Library. This is a special
- fork required by some pacbio utilities."""
+ fork required by some pacbio utilities."""
homepage = "https://github.com/PacificBiosciences/DEXTRACTOR"
- git = "https://github.com/PacificBiosciences/DEXTRACTOR.git"
+ git = "https://github.com/PacificBiosciences/DEXTRACTOR.git"
- version('2016-08-09', commit='89726800346d0bed15d98dcc577f4c7733aab4b1')
+ version("2016-08-09", commit="89726800346d0bed15d98dcc577f4c7733aab4b1")
- depends_on('hdf5')
- depends_on('gmake', type='build')
+ depends_on("hdf5")
+ depends_on("gmake", type="build")
def edit(self, spec, prefix):
mkdirp(prefix.bin)
- makefile = FileFilter('Makefile')
- makefile.filter(r'PATH_HDF5\s*=\s*/sw/apps/hdf5/current',
- 'PATH_HDF5 = ' + spec['hdf5'].prefix)
- makefile.filter(r'PATH_HDF5\*s=\s*/usr/local/hdf5', '')
- makefile.filter(r'DEST_DIR\s*=\s*~/bin', 'DEST_DIR = ' + prefix.bin)
- gmf = FileFilter('GNUmakefile')
- gmf.filter(r'rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin',
- 'cp ${ALL} ' + prefix.bin)
+ makefile = FileFilter("Makefile")
+ makefile.filter(
+ r"PATH_HDF5\s*=\s*/sw/apps/hdf5/current", "PATH_HDF5 = " + spec["hdf5"].prefix
+ )
+ makefile.filter(r"PATH_HDF5\*s=\s*/usr/local/hdf5", "")
+ makefile.filter(r"DEST_DIR\s*=\s*~/bin", "DEST_DIR = " + prefix.bin)
+ gmf = FileFilter("GNUmakefile")
+ gmf.filter(r"rsync\s*-av\s*\$\{ALL\}\s*\$\{PREFIX\}/bin", "cp ${ALL} " + prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pacifica-cli/package.py b/var/spack/repos/builtin/packages/pacifica-cli/package.py
index ba1c57e613..afd3ff459e 100644
--- a/var/spack/repos/builtin/packages/pacifica-cli/package.py
+++ b/var/spack/repos/builtin/packages/pacifica-cli/package.py
@@ -12,12 +12,12 @@ class PacificaCli(PythonPackage):
homepage = "https://github.com/pacifica/pacifica-cli/"
pypi = "pacifica-cli/pacifica-cli-0.5.2.tar.gz"
- version('0.5.2', sha256='fee5fa8ac38ffec2e9199bff23afbbae697c4f7554f13e340104f8b20a62843f')
+ version("0.5.2", sha256="fee5fa8ac38ffec2e9199bff23afbbae697c4f7554f13e340104f8b20a62843f")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-pacifica-uploader@0.3.1:', type=('build', 'run'))
- depends_on('py-pacifica-downloader@0.4.1:', type=('build', 'run'))
- depends_on('py-pacifica-namespace', type=('build', 'run'))
- depends_on('py-pager', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-pacifica-uploader@0.3.1:", type=("build", "run"))
+ depends_on("py-pacifica-downloader@0.4.1:", type=("build", "run"))
+ depends_on("py-pacifica-namespace", type=("build", "run"))
+ depends_on("py-pager", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/packmol/package.py b/var/spack/repos/builtin/packages/packmol/package.py
index 21a6b6ea98..c286ef87b9 100644
--- a/var/spack/repos/builtin/packages/packmol/package.py
+++ b/var/spack/repos/builtin/packages/packmol/package.py
@@ -11,6 +11,6 @@ class Packmol(CMakePackage):
by packing molecules in defined regions of space."""
homepage = "https://m3g.iqm.unicamp.br/packmol/home.shtml"
- url = "https://github.com/mcubeg/packmol/archive/18.169.tar.gz"
+ url = "https://github.com/mcubeg/packmol/archive/18.169.tar.gz"
- version('18.169', sha256='8acf2cbc742a609e763eb00cae55aecd09af2edb4cc4e931706e2f06ac380de9')
+ version("18.169", sha256="8acf2cbc742a609e763eb00cae55aecd09af2edb4cc4e931706e2f06ac380de9")
diff --git a/var/spack/repos/builtin/packages/pacparser/package.py b/var/spack/repos/builtin/packages/pacparser/package.py
index 33cd2e268f..e62d7c9d30 100644
--- a/var/spack/repos/builtin/packages/pacparser/package.py
+++ b/var/spack/repos/builtin/packages/pacparser/package.py
@@ -9,34 +9,42 @@ from spack.package import *
class Pacparser(MakefilePackage):
"""pacparser is a library to parse proxy auto-config (PAC) files."""
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
homepage = "https://pacparser.github.io/"
- url = "https://github.com/manugarg/pacparser/releases/download/v1.4.0/pacparser-v1.4.0.tar.gz"
- git = "https://github.com/manugarg/pacparser.git"
+ url = "https://github.com/manugarg/pacparser/releases/download/v1.4.0/pacparser-v1.4.0.tar.gz"
+ git = "https://github.com/manugarg/pacparser.git"
- version('1.4.0', sha256='2e66c5fe635cd5dcb9bccca4aced925eca712632b81bada3b63682159c0f910e')
- version('1.3.9', commit='4bbfb15c96ea0b2aede2f7371e59f66e15722d41')
- version('1.3.8', sha256='4e2872de565b2b64ffc81ba503e0eba35b3f7ef4a023ddd4a328c7b9d2cac266')
- version('1.3.7', sha256='eb48ec2fc202d12a4b882133048c7590329849f32c2285bc4dbe418f29aad249',
- url='https://github.com/manugarg/pacparser/releases/download/1.3.7/pacparser-1.3.7.tar.gz')
+ version("1.4.0", sha256="2e66c5fe635cd5dcb9bccca4aced925eca712632b81bada3b63682159c0f910e")
+ version("1.3.9", commit="4bbfb15c96ea0b2aede2f7371e59f66e15722d41")
+ version("1.3.8", sha256="4e2872de565b2b64ffc81ba503e0eba35b3f7ef4a023ddd4a328c7b9d2cac266")
+ version(
+ "1.3.7",
+ sha256="eb48ec2fc202d12a4b882133048c7590329849f32c2285bc4dbe418f29aad249",
+ url="https://github.com/manugarg/pacparser/releases/download/1.3.7/pacparser-1.3.7.tar.gz",
+ )
- depends_on('python', when='+python')
- depends_on('py-setuptools', when='+python', type=('build', 'run'))
+ depends_on("python", when="+python")
+ depends_on("py-setuptools", when="+python", type=("build", "run"))
- extends('python', when='+python')
+ extends("python", when="+python")
- variant('python', default=False,
- description='Build and install python bindings')
+ variant("python", default=False, description="Build and install python bindings")
def build(self, spec, prefix):
- make('CC="%s"' % self.compiler.cc, 'CXX="%s"' % self.compiler.cxx, '-C', 'src')
- if '+python' in spec:
- make('CC="%s"' % self.compiler.cc, 'CXX="%s"' % self.compiler.cxx,
- '-C', 'src', 'pymod')
+ make('CC="%s"' % self.compiler.cc, 'CXX="%s"' % self.compiler.cxx, "-C", "src")
+ if "+python" in spec:
+ make(
+ 'CC="%s"' % self.compiler.cc, 'CXX="%s"' % self.compiler.cxx, "-C", "src", "pymod"
+ )
def install(self, spec, prefix):
- make('-C', 'src', 'install', 'PREFIX=' + self.prefix)
- if '+python' in spec:
- make('-C', 'src', 'install-pymod', 'PREFIX=' + self.prefix,
- 'EXTRA_ARGS=--prefix={0}'.format(prefix))
+ make("-C", "src", "install", "PREFIX=" + self.prefix)
+ if "+python" in spec:
+ make(
+ "-C",
+ "src",
+ "install-pymod",
+ "PREFIX=" + self.prefix,
+ "EXTRA_ARGS=--prefix={0}".format(prefix),
+ )
diff --git a/var/spack/repos/builtin/packages/pacvim/package.py b/var/spack/repos/builtin/packages/pacvim/package.py
index 493379a912..a5d9a2e031 100644
--- a/var/spack/repos/builtin/packages/pacvim/package.py
+++ b/var/spack/repos/builtin/packages/pacvim/package.py
@@ -8,18 +8,17 @@ from spack.package import *
class Pacvim(MakefilePackage):
"""Pacvim is a command-line-based game based off of Pacman.
- The main purpose of this software is to familiarize individuals
- with Vim."""
+ The main purpose of this software is to familiarize individuals
+ with Vim."""
homepage = "https://github.com/jmoon018/PacVim"
- url = "https://github.com/jmoon018/PacVim/archive/v1.1.1.tar.gz"
+ url = "https://github.com/jmoon018/PacVim/archive/v1.1.1.tar.gz"
- version('1.1.1', sha256='c869c5450fbafdfe8ba8a8a9bba3718775926f276f0552052dcfa090d21acb28')
+ version("1.1.1", sha256="c869c5450fbafdfe8ba8a8a9bba3718775926f276f0552052dcfa090d21acb28")
- depends_on('ncurses')
+ depends_on("ncurses")
def edit(self, stage, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
- makefile.filter(r'PREFIX = /usr/local',
- 'PREFIX={0}'.format(self.prefix))
+ makefile.filter(r"PREFIX = /usr/local", "PREFIX={0}".format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/pagit/package.py b/var/spack/repos/builtin/packages/pagit/package.py
index dbfd8f32f1..109e674af3 100644
--- a/var/spack/repos/builtin/packages/pagit/package.py
+++ b/var/spack/repos/builtin/packages/pagit/package.py
@@ -8,37 +8,36 @@ from spack.package import *
class Pagit(Package):
"""PAGIT addresses the need for software to generate high quality draft
- genomes."""
+ genomes."""
homepage = "https://www.sanger.ac.uk/science/tools/pagit"
- url = "ftp://ftp.sanger.ac.uk/pub/resources/software/pagit/PAGIT.V1.01.64bit.tgz"
+ url = "ftp://ftp.sanger.ac.uk/pub/resources/software/pagit/PAGIT.V1.01.64bit.tgz"
- version('1.01', sha256='8069c1d236804cf4ea782495adcc50d18561ef466af06b21946b980b3c37ad55')
+ version("1.01", sha256="8069c1d236804cf4ea782495adcc50d18561ef466af06b21946b980b3c37ad55")
- depends_on('java', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
def install(self, spec, prefix):
- with working_dir('PAGIT'):
- install_tree('ABACAS', prefix.ABACAS)
- install_tree('bin', prefix.bin)
- install_tree('ICORN', prefix.ICORN)
- install_tree('IMAGE', prefix.IMAGE)
- install_tree('lib', prefix.lib)
- install_tree('RATT', prefix.RATT)
+ with working_dir("PAGIT"):
+ install_tree("ABACAS", prefix.ABACAS)
+ install_tree("bin", prefix.bin)
+ install_tree("ICORN", prefix.ICORN)
+ install_tree("IMAGE", prefix.IMAGE)
+ install_tree("lib", prefix.lib)
+ install_tree("RATT", prefix.RATT)
def setup_run_environment(self, env):
- env.set('PAGIT_HOME', self.prefix)
- env.set('PILEUP_HOME', join_path(self.prefix.bin, 'pileup_v0.5'))
- env.set('ICORN_HOME', self.prefix.icorn)
- env.set('SNPOMATIC_HOME', self.prefix.bin)
- env.set('RATT_HOME', self.prefix.RATT)
- env.set('RATT_CONFIG', join_path(self.prefix.RATT, 'RATT_config'))
- env.prepend_path('PATH', join_path(self.prefix.bin, 'pileup_v0.5',
- 'ssaha2'))
- env.prepend_path('PATH', join_path(self.prefix.bin, 'pileup_v0.5'))
- env.prepend_path('PATH', self.prefix.IMAGE)
- env.prepend_path('PATH', self.prefix.ABACAS)
- env.prepend_path('PATH', self.prefix.ICORN)
- env.prepend_path('PATH', self.prefix.RATT)
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.set("PAGIT_HOME", self.prefix)
+ env.set("PILEUP_HOME", join_path(self.prefix.bin, "pileup_v0.5"))
+ env.set("ICORN_HOME", self.prefix.icorn)
+ env.set("SNPOMATIC_HOME", self.prefix.bin)
+ env.set("RATT_HOME", self.prefix.RATT)
+ env.set("RATT_CONFIG", join_path(self.prefix.RATT, "RATT_config"))
+ env.prepend_path("PATH", join_path(self.prefix.bin, "pileup_v0.5", "ssaha2"))
+ env.prepend_path("PATH", join_path(self.prefix.bin, "pileup_v0.5"))
+ env.prepend_path("PATH", self.prefix.IMAGE)
+ env.prepend_path("PATH", self.prefix.ABACAS)
+ env.prepend_path("PATH", self.prefix.ICORN)
+ env.prepend_path("PATH", self.prefix.RATT)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/pagmo/package.py b/var/spack/repos/builtin/packages/pagmo/package.py
index eea6b06ec6..4b7d87f99f 100644
--- a/var/spack/repos/builtin/packages/pagmo/package.py
+++ b/var/spack/repos/builtin/packages/pagmo/package.py
@@ -18,28 +18,28 @@ class Pagmo(CMakePackage):
# Python interface: https://esa.github.io/pygmo/
homepage = "https://esa.github.io/pagmo/"
- url = "https://github.com/esa/pagmo/archive/1.1.7.tar.gz"
-
- version('1.1.7', sha256='6d8fab89ef9d5d5f30f148225bf9b84b2e5a38997f3d68b85547840e9fd95172')
-
- variant('examples', default=False, description='Build examples')
- variant('cxx', default=True, description='Build the C++ interface')
- variant('python', default=True, description='Build Python bindings')
- variant('gsl', default=True, description='Enable support for GSL minimisers')
- variant('gtop', default=False, description='Build GTOP database problems')
- variant('ipopt', default=False, description='Enable support for IPOPT minimiser')
- variant('mpi', default=True, description='Enable support for MPI')
- variant('nlopt', default=False, description='Enable support for NLopt minimisers')
- variant('snopt', default=False, description='Enable support for SNOPT minimiser')
- variant('worhp', default=False, description='Enable support for WORHP minimiser')
- variant('headers', default=True, description='Installs the header files')
- variant('blas', default=True, description='Enable support for BLAS')
- variant('scipy', default=True, description='Enable support for scipy')
- variant('networkx', default=False, description='Enable support for networkx')
- variant('vpython', default=False, description='Enable support for vpython')
- variant('pykep', default=False, description='Enable support for pykep')
-
- extends('python', when='+python')
+ url = "https://github.com/esa/pagmo/archive/1.1.7.tar.gz"
+
+ version("1.1.7", sha256="6d8fab89ef9d5d5f30f148225bf9b84b2e5a38997f3d68b85547840e9fd95172")
+
+ variant("examples", default=False, description="Build examples")
+ variant("cxx", default=True, description="Build the C++ interface")
+ variant("python", default=True, description="Build Python bindings")
+ variant("gsl", default=True, description="Enable support for GSL minimisers")
+ variant("gtop", default=False, description="Build GTOP database problems")
+ variant("ipopt", default=False, description="Enable support for IPOPT minimiser")
+ variant("mpi", default=True, description="Enable support for MPI")
+ variant("nlopt", default=False, description="Enable support for NLopt minimisers")
+ variant("snopt", default=False, description="Enable support for SNOPT minimiser")
+ variant("worhp", default=False, description="Enable support for WORHP minimiser")
+ variant("headers", default=True, description="Installs the header files")
+ variant("blas", default=True, description="Enable support for BLAS")
+ variant("scipy", default=True, description="Enable support for scipy")
+ variant("networkx", default=False, description="Enable support for networkx")
+ variant("vpython", default=False, description="Enable support for vpython")
+ variant("pykep", default=False, description="Enable support for pykep")
+
+ extends("python", when="+python")
# Concretization in Spack is currently broken
# depends_on('boost+system+serialization+thread')
@@ -47,22 +47,22 @@ class Pagmo(CMakePackage):
# depends_on('boost+date_time', when='+gtop')
# Workaround for now
- depends_on('boost+system+serialization+thread', when='~python~gtop')
- depends_on('boost+system+serialization+thread+python', when='+python~gtop')
- depends_on('boost+system+serialization+thread+date_time', when='~python+gtop')
- depends_on('boost+system+serialization+thread+python+date_time', when='+python+gtop')
+ depends_on("boost+system+serialization+thread", when="~python~gtop")
+ depends_on("boost+system+serialization+thread+python", when="+python~gtop")
+ depends_on("boost+system+serialization+thread+date_time", when="~python+gtop")
+ depends_on("boost+system+serialization+thread+python+date_time", when="+python+gtop")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('gsl@1.15:', when='+gsl')
- depends_on('ipopt', when='+ipopt')
- depends_on('mpi@1.2:', when='+mpi')
- depends_on('blas', when='+blas')
- depends_on('py-scipy', type=('build', 'run'), when='+scipy')
- depends_on('py-networkx', type=('build', 'run'), when='+networkx')
+ depends_on("gsl@1.15:", when="+gsl")
+ depends_on("ipopt", when="+ipopt")
+ depends_on("mpi@1.2:", when="+mpi")
+ depends_on("blas", when="+blas")
+ depends_on("py-scipy", type=("build", "run"), when="+scipy")
+ depends_on("py-networkx", type=("build", "run"), when="+networkx")
# TODO: Add packages for missing dependencies
# depends_on('nlopt+cxx', when='+nlopt')
@@ -71,35 +71,37 @@ class Pagmo(CMakePackage):
# depends_on('py-pykep@1.15:', type=('build', 'run'), when='+gtop')
# depends_on('py-pykep@1.15:', type=('build', 'run'), when='+pykep')
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
def variant_to_bool(self, variant):
- return 'ON' if variant in self.spec else 'OFF'
+ return "ON" if variant in self.spec else "OFF"
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('BUILD_EXAMPLES', 'examples'),
- self.define_from_variant('BUILD_MAIN', 'cxx'),
- self.define_from_variant('BUILD_PYGMO', 'python'),
- self.define_from_variant('ENABLE_GSL', 'gsl'),
- self.define_from_variant('ENABLE_GTOP_DATABASE', 'gtop'),
- self.define_from_variant('ENABLE_IPOPT', 'ipopt'),
- self.define_from_variant('ENABLE_MPI', 'mpi'),
- self.define_from_variant('ENABLE_NLOPT', 'nlopt'),
- self.define_from_variant('ENABLE_SNOPT', 'snopt'),
- self.define_from_variant('ENABLE_WORHP', 'worhp'),
- self.define_from_variant('INSTALL_HEADERS', 'headers'),
- self.define('ENABLE_TESTS', self.run_tests),
+ self.define_from_variant("BUILD_EXAMPLES", "examples"),
+ self.define_from_variant("BUILD_MAIN", "cxx"),
+ self.define_from_variant("BUILD_PYGMO", "python"),
+ self.define_from_variant("ENABLE_GSL", "gsl"),
+ self.define_from_variant("ENABLE_GTOP_DATABASE", "gtop"),
+ self.define_from_variant("ENABLE_IPOPT", "ipopt"),
+ self.define_from_variant("ENABLE_MPI", "mpi"),
+ self.define_from_variant("ENABLE_NLOPT", "nlopt"),
+ self.define_from_variant("ENABLE_SNOPT", "snopt"),
+ self.define_from_variant("ENABLE_WORHP", "worhp"),
+ self.define_from_variant("INSTALL_HEADERS", "headers"),
+ self.define("ENABLE_TESTS", self.run_tests),
]
- if '+python' in spec:
- args.extend([
- # By default picks up the system python not the Spack build
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
- # By default installs to the python prefix not the pagmo prefix
- '-DPYTHON_MODULES_DIR={0}'.format(python_platlib),
- ])
+ if "+python" in spec:
+ args.extend(
+ [
+ # By default picks up the system python not the Spack build
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path),
+ # By default installs to the python prefix not the pagmo prefix
+ "-DPYTHON_MODULES_DIR={0}".format(python_platlib),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/pagmo2/package.py b/var/spack/repos/builtin/packages/pagmo2/package.py
index 71b54a23f9..62d0a93bd7 100644
--- a/var/spack/repos/builtin/packages/pagmo2/package.py
+++ b/var/spack/repos/builtin/packages/pagmo2/package.py
@@ -13,27 +13,27 @@ class Pagmo2(CMakePackage):
island model."""
homepage = "https://esa.github.io/pagmo2/"
- url = "https://github.com/esa/pagmo2/archive/v2.18.0.tar.gz"
- git = "https://github.com/esa/pagmo2.git"
- maintainers = ['liuyangzhuan']
+ url = "https://github.com/esa/pagmo2/archive/v2.18.0.tar.gz"
+ git = "https://github.com/esa/pagmo2.git"
+ maintainers = ["liuyangzhuan"]
- version('master', branch='master')
- version('2.18.0', sha256='5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31')
+ version("master", branch="master")
+ version("2.18.0", sha256="5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31")
- depends_on('boost+system+serialization+thread')
- depends_on('intel-tbb')
- depends_on('mpi')
- depends_on('cmake@3.1:', type='build')
+ depends_on("boost+system+serialization+thread")
+ depends_on("intel-tbb")
+ depends_on("mpi")
+ depends_on("cmake@3.1:", type="build")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
return args
diff --git a/var/spack/repos/builtin/packages/pajeng/package.py b/var/spack/repos/builtin/packages/pajeng/package.py
index 3ce76e7f2c..bea465da00 100644
--- a/var/spack/repos/builtin/packages/pajeng/package.py
+++ b/var/spack/repos/builtin/packages/pajeng/package.py
@@ -18,52 +18,60 @@ class Pajeng(CMakePackage):
git = "https://github.com/schnorr/pajeng.git"
url = "https://github.com/schnorr/pajeng/archive/1.3.6.tar.gz"
- maintainers = ['viniciusvgp', 'schnorr']
+ maintainers = ["viniciusvgp", "schnorr"]
- version('develop', git='https://github.com/schnorr/pajeng.git')
- version('1.3.6', sha256='1a2722bfaeb0c6437fb9e8efc2592edbf14ba01172f97e01c7839ffea8b9d0b3')
- version('1.3.5', sha256='ea8ca02484de4091dcf57289724876ec17dd98e3a032dc609b7ea020ca2629eb')
- version('1.3.4', sha256='284e9a590a2861251e808542663bf1b77bc2c99650a1fbf945cd5bab65402f9e')
- version('1.3.3', sha256='42cf44003d238fd5c4ab512bdeb445fc12f7e3bd3f0526b389f080c84b83b19f')
- version('1.3.2', sha256='97154415a22f9b7f83516e988ea664b3990377d69fca859275ca48d7bfad0932')
- version('1.3.1', sha256='4bc3764aaa7e79da9a81f40c0593b646007b689e4ac20886d06f271ce0fa0a60')
- version('1.3', sha256='781b8be935e10b65470207f4f179bb1196aa6740547f9f1af0cb1c0193f11c6f')
- version('1.1', sha256='986d03e6deed20a3b9d0e076b1be9053c1bc86c8b41ca36cce3ba3b22dc6abca')
- version('1.0', sha256='4d98d1a78669290d0a2e6bfe07a1eb4ab96bd05e5ef78da96d2c3cf03b023aa0')
+ version("develop", git="https://github.com/schnorr/pajeng.git")
+ version("1.3.6", sha256="1a2722bfaeb0c6437fb9e8efc2592edbf14ba01172f97e01c7839ffea8b9d0b3")
+ version("1.3.5", sha256="ea8ca02484de4091dcf57289724876ec17dd98e3a032dc609b7ea020ca2629eb")
+ version("1.3.4", sha256="284e9a590a2861251e808542663bf1b77bc2c99650a1fbf945cd5bab65402f9e")
+ version("1.3.3", sha256="42cf44003d238fd5c4ab512bdeb445fc12f7e3bd3f0526b389f080c84b83b19f")
+ version("1.3.2", sha256="97154415a22f9b7f83516e988ea664b3990377d69fca859275ca48d7bfad0932")
+ version("1.3.1", sha256="4bc3764aaa7e79da9a81f40c0593b646007b689e4ac20886d06f271ce0fa0a60")
+ version("1.3", sha256="781b8be935e10b65470207f4f179bb1196aa6740547f9f1af0cb1c0193f11c6f")
+ version("1.1", sha256="986d03e6deed20a3b9d0e076b1be9053c1bc86c8b41ca36cce3ba3b22dc6abca")
+ version("1.0", sha256="4d98d1a78669290d0a2e6bfe07a1eb4ab96bd05e5ef78da96d2c3cf03b023aa0")
- variant('static', default=False, description="Build as static library")
- variant('doc', default=False, description="The Paje Trace File documentation")
- variant('lib', default=True, description="Build libpaje")
- variant('tools', default=True, description="Build auxiliary tools")
- variant('gui', default=False, description="The PajeNG visualization tool")
+ variant("static", default=False, description="Build as static library")
+ variant("doc", default=False, description="The Paje Trace File documentation")
+ variant("lib", default=True, description="Build libpaje")
+ variant("tools", default=True, description="Build auxiliary tools")
+ variant("gui", default=False, description="The PajeNG visualization tool")
- depends_on('boost+exception+regex')
- depends_on('flex')
- depends_on('bison')
- depends_on('qt@:4+opengl', when='@:1.3.2+gui')
- depends_on('freeglut', when='@:1.3.2+gui')
- depends_on('fmt', when='@develop')
+ depends_on("boost+exception+regex")
+ depends_on("flex")
+ depends_on("bison")
+ depends_on("qt@:4+opengl", when="@:1.3.2+gui")
+ depends_on("freeglut", when="@:1.3.2+gui")
+ depends_on("fmt", when="@develop")
- conflicts('+tools', when='~lib', msg="Enable libpaje to compile tools.")
- conflicts('+gui', when='@1.3.3:', msg="PajeNG visualization tool is available only for versions up to 1.3.2.")
+ conflicts("+tools", when="~lib", msg="Enable libpaje to compile tools.")
+ conflicts(
+ "+gui",
+ when="@1.3.3:",
+ msg="PajeNG visualization tool is available only for versions up to 1.3.2.",
+ )
def cmake_args(self):
args = [
- self.define_from_variant('STATIC_LINKING', 'static'),
- self.define_from_variant('PAJE_DOC', 'doc'),
- self.define_from_variant('PAJE_LIBRARY', 'lib'),
- self.define_from_variant('PAJE_TOOLS', 'tools')
+ self.define_from_variant("STATIC_LINKING", "static"),
+ self.define_from_variant("PAJE_DOC", "doc"),
+ self.define_from_variant("PAJE_LIBRARY", "lib"),
+ self.define_from_variant("PAJE_TOOLS", "tools"),
]
- if self.spec.satisfies('@:1.3.2'):
- args.extend([self.define_from_variant('PAJENG', 'gui'),
- self.define_from_variant('PAJE_UTILS_LIBRARY', 'gui'),
- self.define_from_variant('PJ_DUMP', 'tools'),
- self.define_from_variant('PJ_VALIDATE', 'tools')])
+ if self.spec.satisfies("@:1.3.2"):
+ args.extend(
+ [
+ self.define_from_variant("PAJENG", "gui"),
+ self.define_from_variant("PAJE_UTILS_LIBRARY", "gui"),
+ self.define_from_variant("PJ_DUMP", "tools"),
+ self.define_from_variant("PJ_VALIDATE", "tools"),
+ ]
+ )
return args
- @when('@1.1+lib')
+ @when("@1.1+lib")
def build(self, spec, prefix):
with working_dir(self.build_directory):
- make('paje_library')
+ make("paje_library")
diff --git a/var/spack/repos/builtin/packages/pal/package.py b/var/spack/repos/builtin/packages/pal/package.py
index 6fcc3537bc..29e68d7d9d 100644
--- a/var/spack/repos/builtin/packages/pal/package.py
+++ b/var/spack/repos/builtin/packages/pal/package.py
@@ -13,17 +13,17 @@ class Pal(AutotoolsPackage):
where appropriate."""
homepage = "https://github.com/Starlink/pal"
- url = "https://github.com/Starlink/pal/releases/download/v0.9.8/pal-0.9.8.tar.gz"
+ url = "https://github.com/Starlink/pal/releases/download/v0.9.8/pal-0.9.8.tar.gz"
- version('0.9.8', sha256='191fde8c4f45d6807d4b011511344014966bb46e44029a4481d070cd5e7cc697')
+ version("0.9.8", sha256="191fde8c4f45d6807d4b011511344014966bb46e44029a4481d070cd5e7cc697")
- depends_on('sofa-c')
- depends_on('erfa')
+ depends_on("sofa-c")
+ depends_on("erfa")
- variant('starlink', default=False, description='Build with starlink support.')
+ variant("starlink", default=False, description="Build with starlink support.")
def configure_args(self):
args = []
- if '~starlink' in self.spec:
- args.append('--without-starlink')
+ if "~starlink" in self.spec:
+ args.append("--without-starlink")
return args
diff --git a/var/spack/repos/builtin/packages/palisade-development/package.py b/var/spack/repos/builtin/packages/palisade-development/package.py
index eb5dd35c42..d3f711e74a 100644
--- a/var/spack/repos/builtin/packages/palisade-development/package.py
+++ b/var/spack/repos/builtin/packages/palisade-development/package.py
@@ -25,48 +25,46 @@ class PalisadeDevelopment(CMakePackage):
"""
homepage = "https://gitlab.com/palisade/palisade-development"
- git = "https://gitlab.com/palisade/palisade-development.git"
- maintainers = ['wohlbier']
+ git = "https://gitlab.com/palisade/palisade-development.git"
+ maintainers = ["wohlbier"]
- version('feature-fixed-point-encoding',
- branch='feature-fixed-point-encoding', submodules=True)
- version('fppe-logreg-v1.0',
- tag='fppe-logreg-v1.0', submodules=True)
- version('master', branch='master', preferred=True, submodules=True)
+ version("feature-fixed-point-encoding", branch="feature-fixed-point-encoding", submodules=True)
+ version("fppe-logreg-v1.0", tag="fppe-logreg-v1.0", submodules=True)
+ version("master", branch="master", preferred=True, submodules=True)
- variant('shared', default=True, description='Build shared library.')
- variant('static', default=True, description='Build static library.')
- variant('with_be2', default=True, description='Build with backend 2.')
- variant('with_be4', default=True, description='Build with backend 4.')
- variant('with_intel_hexl', default=False, description='Use Intel HEXL.')
- variant('with_ntl', default=False, description='Build NTL.')
+ variant("shared", default=True, description="Build shared library.")
+ variant("static", default=True, description="Build static library.")
+ variant("with_be2", default=True, description="Build with backend 2.")
+ variant("with_be4", default=True, description="Build with backend 4.")
+ variant("with_intel_hexl", default=False, description="Use Intel HEXL.")
+ variant("with_ntl", default=False, description="Build NTL.")
- depends_on('autoconf')
- depends_on('hwloc', when='%clang')
- depends_on('ntl', when='+with_ntl')
- depends_on('ntl+shared', when='+with_ntl +shared')
+ depends_on("autoconf")
+ depends_on("hwloc", when="%clang")
+ depends_on("ntl", when="+with_ntl")
+ depends_on("ntl+shared", when="+with_ntl +shared")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED', 'shared'),
- self.define_from_variant('BUILD_STATIC', 'static'),
- self.define_from_variant('WITH_BE2', 'with_be2'),
- self.define_from_variant('WITH_BE4', 'with_be4'),
- self.define_from_variant('WITH_INTEL_HEXL', 'with_intel_hexl'),
- self.define_from_variant('WITH_NTL', 'with_ntl')
+ self.define_from_variant("BUILD_SHARED", "shared"),
+ self.define_from_variant("BUILD_STATIC", "static"),
+ self.define_from_variant("WITH_BE2", "with_be2"),
+ self.define_from_variant("WITH_BE4", "with_be4"),
+ self.define_from_variant("WITH_INTEL_HEXL", "with_intel_hexl"),
+ self.define_from_variant("WITH_NTL", "with_ntl"),
]
- if self.spec.satisfies('%clang'):
+ if self.spec.satisfies("%clang"):
OpenMP_C_FLAGS = "-fopenmp=libomp"
OpenMP_C_LIB_NAMES = "libomp"
args += [
- self.define('OpenMP_C', 'clang'),
- self.define('OpenMP_C_FLAGS', OpenMP_C_FLAGS),
- self.define('OpenMP_C_LIB_NAMES', OpenMP_C_LIB_NAMES),
- self.define('OpenMP_CXX', 'clang++'),
- self.define('OpenMP_CXX_FLAGS', OpenMP_C_FLAGS),
- self.define('OpenMP_CXX_LIB_NAMES', OpenMP_C_LIB_NAMES),
- self.define('OpenMP_libomp_LIBRARY', 'libomp'),
- self.define('OpenMP_libgomp_LIBRARY', 'libgomp'),
- self.define('OpenMP_libiomp5_LIBRARY', 'libiomp5')
+ self.define("OpenMP_C", "clang"),
+ self.define("OpenMP_C_FLAGS", OpenMP_C_FLAGS),
+ self.define("OpenMP_C_LIB_NAMES", OpenMP_C_LIB_NAMES),
+ self.define("OpenMP_CXX", "clang++"),
+ self.define("OpenMP_CXX_FLAGS", OpenMP_C_FLAGS),
+ self.define("OpenMP_CXX_LIB_NAMES", OpenMP_C_LIB_NAMES),
+ self.define("OpenMP_libomp_LIBRARY", "libomp"),
+ self.define("OpenMP_libgomp_LIBRARY", "libgomp"),
+ self.define("OpenMP_libiomp5_LIBRARY", "libiomp5"),
]
return args
diff --git a/var/spack/repos/builtin/packages/paml/package.py b/var/spack/repos/builtin/packages/paml/package.py
index b688a43764..9963a28d07 100644
--- a/var/spack/repos/builtin/packages/paml/package.py
+++ b/var/spack/repos/builtin/packages/paml/package.py
@@ -8,32 +8,38 @@ from spack.package import *
class Paml(MakefilePackage):
"""PAML is a package of programs for phylogenetic analyses of DNA or
- protein sewuences using maximum likelihood."""
+ protein sewuences using maximum likelihood."""
homepage = "http://abacus.gene.ucl.ac.uk/software/paml.html"
- url = "https://github.com/abacus-gene/paml/archive/refs/tags/v4.10.0.tar.gz"
- git = "https://github.com/abacus-gene/paml.git"
- maintainers = ['snehring']
+ url = "https://github.com/abacus-gene/paml/archive/refs/tags/v4.10.0.tar.gz"
+ git = "https://github.com/abacus-gene/paml.git"
+ maintainers = ["snehring"]
- version('4.10.3', sha256='9b2a6e187e3f9f3bc55cd82db15eb701d43f031167d283a7c1b11c882b5d8a42',
- url='https://github.com/abacus-gene/paml/archive/refs/tags/untagged-a5659203e8ec0ddb58b8.tar.gz')
- version('4.10.0', sha256='6ef6a116f254185eb1cf7a2b975946fc9179a4b7dcb60a82f8fa8bbe6931897c')
- version('4.9h', sha256='623bf6cf4a018a4e7b4dbba189c41d6c0c25fdca3a0ae24703b82965c772edb3',
- url='http://abacus.gene.ucl.ac.uk/software/SoftOld/paml4.9h.tgz')
+ version(
+ "4.10.3",
+ sha256="9b2a6e187e3f9f3bc55cd82db15eb701d43f031167d283a7c1b11c882b5d8a42",
+ url="https://github.com/abacus-gene/paml/archive/refs/tags/untagged-a5659203e8ec0ddb58b8.tar.gz",
+ )
+ version("4.10.0", sha256="6ef6a116f254185eb1cf7a2b975946fc9179a4b7dcb60a82f8fa8bbe6931897c")
+ version(
+ "4.9h",
+ sha256="623bf6cf4a018a4e7b4dbba189c41d6c0c25fdca3a0ae24703b82965c772edb3",
+ url="http://abacus.gene.ucl.ac.uk/software/SoftOld/paml4.9h.tgz",
+ )
- build_directory = 'src'
+ build_directory = "src"
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir(self.build_directory):
- install('baseml', prefix.bin)
- install('basemlg', prefix.bin)
- install('chi2', prefix.bin)
- install('codeml', prefix.bin)
- install('evolver', prefix.bin)
- install('infinitesites', prefix.bin)
- install('mcmctree', prefix.bin)
- install('pamp', prefix.bin)
- install('yn00', prefix.bin)
- install_tree('dat', prefix.dat)
- install_tree('Technical', prefix.Technical)
+ install("baseml", prefix.bin)
+ install("basemlg", prefix.bin)
+ install("chi2", prefix.bin)
+ install("codeml", prefix.bin)
+ install("evolver", prefix.bin)
+ install("infinitesites", prefix.bin)
+ install("mcmctree", prefix.bin)
+ install("pamp", prefix.bin)
+ install("yn00", prefix.bin)
+ install_tree("dat", prefix.dat)
+ install_tree("Technical", prefix.Technical)
diff --git a/var/spack/repos/builtin/packages/panda/package.py b/var/spack/repos/builtin/packages/panda/package.py
index f624c84c71..d91a0f05b9 100644
--- a/var/spack/repos/builtin/packages/panda/package.py
+++ b/var/spack/repos/builtin/packages/panda/package.py
@@ -9,12 +9,15 @@ from spack.package import *
class Panda(CMakePackage):
"""PANDA: Parallel AdjaceNcy Decomposition Algorithm"""
+
homepage = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/index.html"
- url = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar"
+ url = "http://comopt.ifi.uni-heidelberg.de/software/PANDA/downloads/panda-2016-03-07.tar"
- version('2016-03-07', sha256='9fae1544626db417ade7318d26bc43c8af04151b9f7679b6d742dba598762037')
+ version(
+ "2016-03-07", sha256="9fae1544626db417ade7318d26bc43c8af04151b9f7679b6d742dba598762037"
+ )
# Note: Panda can also be built without MPI support
- depends_on('cmake@2.6.4:', type='build')
- depends_on('mpi')
+ depends_on("cmake@2.6.4:", type="build")
+ depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/pandaseq/package.py b/var/spack/repos/builtin/packages/pandaseq/package.py
index f0951ad2e8..252620bcea 100644
--- a/var/spack/repos/builtin/packages/pandaseq/package.py
+++ b/var/spack/repos/builtin/packages/pandaseq/package.py
@@ -12,19 +12,19 @@ class Pandaseq(AutotoolsPackage):
sequence."""
homepage = "https://github.com/neufeld/pandaseq"
- url = "https://github.com/neufeld/pandaseq/archive/v2.11.tar.gz"
+ url = "https://github.com/neufeld/pandaseq/archive/v2.11.tar.gz"
- version('2.11', sha256='6e3e35d88c95f57d612d559e093656404c1d48c341a8baa6bef7bb0f09fc8f82')
- version('2.10', sha256='93cd34fc26a7357e14e386b9c9ba9b28361cf4da7cf62562dc8501e220f9a561')
+ version("2.11", sha256="6e3e35d88c95f57d612d559e093656404c1d48c341a8baa6bef7bb0f09fc8f82")
+ version("2.10", sha256="93cd34fc26a7357e14e386b9c9ba9b28361cf4da7cf62562dc8501e220f9a561")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type=('build', 'link'))
- depends_on('m4', type='build')
- depends_on('zlib', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('bzip2', type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type=("build", "link"))
+ depends_on("m4", type="build")
+ depends_on("zlib", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("bzip2", type="link")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/pandoc/package.py b/var/spack/repos/builtin/packages/pandoc/package.py
index 7591f264ad..e543037147 100644
--- a/var/spack/repos/builtin/packages/pandoc/package.py
+++ b/var/spack/repos/builtin/packages/pandoc/package.py
@@ -20,30 +20,43 @@ class Pandoc(Package):
# the challenges with Haskell. Until the Haskell framework is in Spack this
# package will meet the needs of packages that have a dependency on pandoc.
- if platform.system() == "Linux" and platform.machine() == 'aarch64':
+ if platform.system() == "Linux" and platform.machine() == "aarch64":
url = "https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-linux-arm64.tar.gz"
- version('2.14.0.3', sha256='1212e528fb717e0ffa6662d4930640abdbe0c36d14d283560a9688c8403bf34c')
+ version(
+ "2.14.0.3", sha256="1212e528fb717e0ffa6662d4930640abdbe0c36d14d283560a9688c8403bf34c"
+ )
elif platform.system() == "Linux":
url = "https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-linux-amd64.tar.gz"
- version('2.14.0.3', sha256='3ed8bf98126fb68fa6ce05861ab866f5100edc38bcf47bc0bb000692453344c0')
- version('2.11.4', sha256='b15ce6009ab833fb51fc472bf8bb9683cd2bd7f8ac948f3ddeb6b8f9a366d69a')
- version('2.7.3', sha256='eb775fd42ec50329004d00f0c9b13076e707cdd44745517c8ce2581fb8abdb75',
- url="https://github.com/jgm/pandoc/releases/download/2.7.3/pandoc-2.7.3-linux.tar.gz")
+ version(
+ "2.14.0.3", sha256="3ed8bf98126fb68fa6ce05861ab866f5100edc38bcf47bc0bb000692453344c0"
+ )
+ version(
+ "2.11.4", sha256="b15ce6009ab833fb51fc472bf8bb9683cd2bd7f8ac948f3ddeb6b8f9a366d69a"
+ )
+ version(
+ "2.7.3",
+ sha256="eb775fd42ec50329004d00f0c9b13076e707cdd44745517c8ce2581fb8abdb75",
+ url="https://github.com/jgm/pandoc/releases/download/2.7.3/pandoc-2.7.3-linux.tar.gz",
+ )
elif platform.system() == "Darwin":
url = "https://github.com/jgm/pandoc/releases/download/2.14.0.3/pandoc-2.14.0.3-macOS.zip"
- version('2.14.0.3', sha256='c6c1addd968699733c7d597cf269cc66d692371995703c32e5262f84a125c27b')
- version('2.11.4', sha256='13b8597860afa6ab802993a684b340be3f31f4d2a06c50b6601f9e726cf76f71')
- version('2.7.3', sha256='fb93800c90f3fab05dbd418ee6180d086b619c9179b822ddfecb608874554ff0')
+ version(
+ "2.14.0.3", sha256="c6c1addd968699733c7d597cf269cc66d692371995703c32e5262f84a125c27b"
+ )
+ version(
+ "2.11.4", sha256="13b8597860afa6ab802993a684b340be3f31f4d2a06c50b6601f9e726cf76f71"
+ )
+ version("2.7.3", sha256="fb93800c90f3fab05dbd418ee6180d086b619c9179b822ddfecb608874554ff0")
- variant('texlive', default=True, description='Use TeX Live to enable PDF output')
+ variant("texlive", default=True, description="Use TeX Live to enable PDF output")
- conflicts('target=aarch64:', msg='aarch64 is not supported.', when='@:2.11')
+ conflicts("target=aarch64:", msg="aarch64 is not supported.", when="@:2.11")
- depends_on('texlive', when='+texlive')
+ depends_on("texlive", when="+texlive")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py
index 4928f2a565..beec669c71 100644
--- a/var/spack/repos/builtin/packages/pango/package.py
+++ b/var/spack/repos/builtin/packages/pango/package.py
@@ -8,64 +8,85 @@ from spack.package import *
class Pango(MesonPackage):
"""Pango is a library for laying out and rendering of text, with
- 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."""
+ 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 = "https://www.pango.org"
- url = "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz"
+ 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
- version('1.50.7', sha256='0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33')
- version('1.49.4', sha256='1fda6c03161bd1eacfdc349244d26828c586d25bfc600b9cfe2494902fdf56cf')
- version('1.48.11', sha256='084fd0a74fad05b1b299d194a7366b6593063d370b40272a5d3a1888ceb9ac40')
- version('1.47.0', sha256='730db8652fc43188e03218c3374db9d152351f51fc7011b9acae6d0a6c92c367')
- version('1.46.2', sha256='d89fab5f26767261b493279b65cfb9eb0955cd44c07c5628d36094609fc51841')
- version('1.45.5', sha256='f61dd911de2d3318b43bbc56bd271637a46f9118a1ee4378928c06df8a1c1705')
- version('1.44.6', sha256='3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c')
- version('1.42.4', sha256='1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d')
- version('1.42.0', sha256='9924d88a3dcedff753f0763814a1605307c5c9c931413b8b47ea7267d1b19446', deprecated=True)
- version('1.41.0', sha256='1f76ef95953dc58ee5d6a53e5f1cb6db913f3e0eb489713ee9266695cae580ba', deprecated=True)
- version('1.40.3', sha256='abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3', deprecated=True)
- version('1.40.1', sha256='e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40', deprecated=True)
- version('1.36.8', sha256='18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07', deprecated=True)
-
- variant('X', default=False, description="Enable an X toolkit")
+ version("1.50.7", sha256="0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33")
+ version("1.49.4", sha256="1fda6c03161bd1eacfdc349244d26828c586d25bfc600b9cfe2494902fdf56cf")
+ version("1.48.11", sha256="084fd0a74fad05b1b299d194a7366b6593063d370b40272a5d3a1888ceb9ac40")
+ version("1.47.0", sha256="730db8652fc43188e03218c3374db9d152351f51fc7011b9acae6d0a6c92c367")
+ version("1.46.2", sha256="d89fab5f26767261b493279b65cfb9eb0955cd44c07c5628d36094609fc51841")
+ version("1.45.5", sha256="f61dd911de2d3318b43bbc56bd271637a46f9118a1ee4378928c06df8a1c1705")
+ version("1.44.6", sha256="3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c")
+ version("1.42.4", sha256="1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d")
+ version(
+ "1.42.0",
+ sha256="9924d88a3dcedff753f0763814a1605307c5c9c931413b8b47ea7267d1b19446",
+ deprecated=True,
+ )
+ version(
+ "1.41.0",
+ sha256="1f76ef95953dc58ee5d6a53e5f1cb6db913f3e0eb489713ee9266695cae580ba",
+ deprecated=True,
+ )
+ version(
+ "1.40.3",
+ sha256="abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3",
+ deprecated=True,
+ )
+ version(
+ "1.40.1",
+ sha256="e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40",
+ deprecated=True,
+ )
+ version(
+ "1.36.8",
+ sha256="18dbb51b8ae12bae0ab7a958e7cf3317c9acfc8a1e1103ec2f147164a0fc2d07",
+ deprecated=True,
+ )
+
+ variant("X", default=False, description="Enable an X toolkit")
depends_on("pkgconfig@0.9.0:", type="build")
depends_on("harfbuzz")
depends_on("cairo+ft+fc")
- depends_on("cairo~X", when='~X')
- depends_on("cairo+X", when='+X')
- depends_on("libxft", when='+X')
+ depends_on("cairo~X", when="~X")
+ depends_on("cairo+X", when="+X")
+ depends_on("libxft", when="+X")
depends_on("glib")
- depends_on('gobject-introspection')
- depends_on('fontconfig')
- depends_on('freetype@2:')
- depends_on('libffi')
+ depends_on("gobject-introspection")
+ depends_on("fontconfig")
+ depends_on("freetype@2:")
+ depends_on("libffi")
- depends_on('cairo@1.12.10:', when='@1.41:')
- depends_on('fontconfig@2.11.91:', when='@1.41:')
- depends_on('glib@2.33.12:', when='@1.41:')
- depends_on('harfbuzz@1.2.3:', when='@1.41:')
- depends_on('libxft@2.0.0:', when='@1.41: +X')
+ depends_on("cairo@1.12.10:", when="@1.41:")
+ depends_on("fontconfig@2.11.91:", when="@1.41:")
+ depends_on("glib@2.33.12:", when="@1.41:")
+ depends_on("harfbuzz@1.2.3:", when="@1.41:")
+ depends_on("libxft@2.0.0:", when="@1.41: +X")
- depends_on('fribidi@0.19.7:', when='@1.42:')
- depends_on('harfbuzz@1.2.3:', when='@1.42:')
+ depends_on("fribidi@0.19.7:", when="@1.42:")
+ depends_on("harfbuzz@1.2.3:", when="@1.42:")
- depends_on('glib@2.38.0:', when='@1.43:')
- depends_on('harfbuzz@1.4.2:', when='@1.43:')
+ depends_on("glib@2.38.0:", when="@1.43:")
+ depends_on("harfbuzz@1.4.2:", when="@1.43:")
- depends_on('glib@2.59.2:', when='@1.44:')
- depends_on('harfbuzz@2.0.0:', when='@1.44:')
+ depends_on("glib@2.59.2:", when="@1.44:")
+ depends_on("harfbuzz@2.0.0:", when="@1.44:")
- depends_on('glib@2.62:', when='@1.45:')
- depends_on('harfbuzz@2.2.0:', when='@1.48')
+ depends_on("glib@2.62:", when="@1.45:")
+ depends_on("harfbuzz@2.2.0:", when="@1.48")
- depends_on('fontconfig@2.13.0:', when='@1.49:')
- depends_on('fribidi@1.0.6:', when='@1.49:')
- depends_on('harfbuzz@2.6.0:', when='@1.49:')
- depends_on('json-glib@1.6.0:', when='@1.49:')
+ depends_on("fontconfig@2.13.0:", when="@1.49:")
+ depends_on("fribidi@1.0.6:", when="@1.49:")
+ depends_on("harfbuzz@2.6.0:", when="@1.49:")
+ depends_on("json-glib@1.6.0:", when="@1.49:")
def url_for_version(self, version):
url = "http://ftp.gnome.org/pub/GNOME/sources/pango/{0}/pango-{1}.tar.xz"
@@ -75,62 +96,59 @@ class Pango(MesonPackage):
args = []
# xft is not a meson option, even when it is a configure option
- if self.spec.satisfies('@1.49: +X'):
- args.append('-Dxft=enabled')
- elif self.spec.satisfies('@1.49: -X'):
- args.append('-Dxft=disabled')
+ if self.spec.satisfies("@1.49: +X"):
+ args.append("-Dxft=enabled")
+ elif self.spec.satisfies("@1.49: -X"):
+ args.append("-Dxft=disabled")
# disable building of gtk-doc files following #9885 and #9771
- if self.spec.satisfies('@1.44:'):
- args.append('-Dgtk_doc=false')
+ if self.spec.satisfies("@1.44:"):
+ args.append("-Dgtk_doc=false")
else:
- args.append('-Denable_docs=false')
+ args.append("-Denable_docs=false")
return args
- @when('@:1.42')
+ @when("@:1.42")
def configure_args(self):
args = []
- if self.spec.satisfies('+X'):
- args.append('--with-xft')
+ if self.spec.satisfies("+X"):
+ args.append("--with-xft")
else:
- args.append('--without-xft')
+ args.append("--without-xft")
# disable building of gtk-doc files following #9885 and #9771
- args.append('--disable-gtk-doc-html')
- true = which('true')
- args.append('GTKDOC_CHECK={0}'.format(true))
- args.append('GTKDOC_CHECK_PATH={0}'.format(true))
- args.append('GTKDOC_MKPDF={0}'.format(true))
- args.append('GTKDOC_REBASE={0}'.format(true))
+ args.append("--disable-gtk-doc-html")
+ true = which("true")
+ args.append("GTKDOC_CHECK={0}".format(true))
+ args.append("GTKDOC_CHECK_PATH={0}".format(true))
+ args.append("GTKDOC_MKPDF={0}".format(true))
+ args.append("GTKDOC_REBASE={0}".format(true))
return args
def setup_run_environment(self, env):
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
- env.prepend_path("GI_TYPELIB_PATH",
- join_path(self.prefix.lib, 'girepository-1.0'))
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
+ env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
- @when('@:1.42')
+ @when("@:1.42")
def meson(self, spec, prefix):
"""Run the AutotoolsPackage configure phase"""
- configure('--prefix=' + prefix, *self.configure_args())
+ configure("--prefix=" + prefix, *self.configure_args())
- @when('@:1.42')
+ @when("@:1.42")
def build(self, spec, prefix):
"""Run the AutotoolsPackage build phase"""
make()
- @when('@:1.42')
+ @when("@:1.42")
def install(self, spec, prefix):
"""Run the AutotoolsPackage install phase"""
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/pangolin/package.py b/var/spack/repos/builtin/packages/pangolin/package.py
index 87ec01f4f4..0b4e933358 100644
--- a/var/spack/repos/builtin/packages/pangolin/package.py
+++ b/var/spack/repos/builtin/packages/pangolin/package.py
@@ -12,15 +12,15 @@ class Pangolin(CMakePackage):
managing OpenGL display / interaction and abstracting video input."""
homepage = "https://github.com/stevenlovegrove/Pangolin"
- git = "https://github.com/stevenlovegrove/Pangolin.git"
+ git = "https://github.com/stevenlovegrove/Pangolin.git"
- version('master', branch='master')
+ version("master", branch="master")
# Required dependencies
- depends_on('cmake@2.8.12:', type='build')
- depends_on('gl')
- depends_on('glew')
- depends_on('glu', type='link')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("gl")
+ depends_on("glew")
+ depends_on("glu", type="link")
# Optional dependencies
- depends_on('eigen')
+ depends_on("eigen")
diff --git a/var/spack/repos/builtin/packages/pangomm/package.py b/var/spack/repos/builtin/packages/pangomm/package.py
index b77cea0364..c88ed0debb 100644
--- a/var/spack/repos/builtin/packages/pangomm/package.py
+++ b/var/spack/repos/builtin/packages/pangomm/package.py
@@ -10,32 +10,32 @@ class Pangomm(AutotoolsPackage):
"""Pangomm is a C++ interface to Pango."""
homepage = "https://www.pango.org/"
- url = "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.14/pangomm-2.14.1.tar.gz"
+ url = "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.14/pangomm-2.14.1.tar.gz"
- version('2.43.1', sha256='00483967b4ed0869da09dc0617de45625b9ab846c7b07aa25dfc940a4fc540a4')
- version('2.42.0', sha256='ca6da067ff93a6445780c0b4b226eb84f484ab104b8391fb744a45cbc7edbf56')
- version('2.41.5', sha256='5131830d5b37b181ca4fa8f641ad86faa985c0bb7dcc833c98672d294367b304')
- version('2.40.2', sha256='0a97aa72513db9088ca3034af923484108746dba146e98ed76842cf858322d05')
- version('2.39.1', sha256='10c06bbf12a03963ffe9c697887b57c72f1dac1671d09dba45cecd25db5dc6ed')
- version('2.38.1', sha256='effb18505b36d81fc32989a39ead8b7858940d0533107336a30bc3eef096bc8b')
- version('2.37.2', sha256='bb83d769f4d4256e0b108e84a4f0441065da8483c7cc51518b0634668ed094f5')
- version('2.36.0', sha256='a8d96952c708d7726bed260d693cece554f8f00e48b97cccfbf4f5690b6821f0')
- version('2.35.1', sha256='3eb4d11014d09627b2b7c532c65b54fa182905b4c9688901ae11cdfb506dbc55')
- version('2.34.0', sha256='0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41')
- version('2.28.4', sha256='778dcb66a793cbfd52a9f92ee5a71b888c3603a913fc1ddc48a30204de6d6c82')
- version('2.27.1', sha256='0d707b4a9e632223f7f27215f83fff679166cc89b9b7f209e7fe049af7b4562e')
- version('2.26.3', sha256='4f68e4d2d4b6c4ae82327ebd9e69f2cbc4379e502d12856c36943399b87d71a2')
- version('2.25.1', sha256='25684058138050a35ebb4f4e13899aea12045dfb00cc351dfe78f01cb1a1f21c')
- version('2.24.0', sha256='24c7b8782b8986fa8f6224ac1e5f1a02412b7d8bc21b53d14d6df9c7d9b59a3f')
- version('2.14.1', sha256='2ea6cee273cca1aae2ee5a5dac0c416b4dc354e46debb51f20c6eeba828f5ed5')
- version('2.14.0', sha256='baa3b231c9498fb1140254e3feb4eb93c638f07e6e26ae0e36c3699ec14d80fd')
+ version("2.43.1", sha256="00483967b4ed0869da09dc0617de45625b9ab846c7b07aa25dfc940a4fc540a4")
+ version("2.42.0", sha256="ca6da067ff93a6445780c0b4b226eb84f484ab104b8391fb744a45cbc7edbf56")
+ version("2.41.5", sha256="5131830d5b37b181ca4fa8f641ad86faa985c0bb7dcc833c98672d294367b304")
+ version("2.40.2", sha256="0a97aa72513db9088ca3034af923484108746dba146e98ed76842cf858322d05")
+ version("2.39.1", sha256="10c06bbf12a03963ffe9c697887b57c72f1dac1671d09dba45cecd25db5dc6ed")
+ version("2.38.1", sha256="effb18505b36d81fc32989a39ead8b7858940d0533107336a30bc3eef096bc8b")
+ version("2.37.2", sha256="bb83d769f4d4256e0b108e84a4f0441065da8483c7cc51518b0634668ed094f5")
+ version("2.36.0", sha256="a8d96952c708d7726bed260d693cece554f8f00e48b97cccfbf4f5690b6821f0")
+ version("2.35.1", sha256="3eb4d11014d09627b2b7c532c65b54fa182905b4c9688901ae11cdfb506dbc55")
+ version("2.34.0", sha256="0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41")
+ version("2.28.4", sha256="778dcb66a793cbfd52a9f92ee5a71b888c3603a913fc1ddc48a30204de6d6c82")
+ version("2.27.1", sha256="0d707b4a9e632223f7f27215f83fff679166cc89b9b7f209e7fe049af7b4562e")
+ version("2.26.3", sha256="4f68e4d2d4b6c4ae82327ebd9e69f2cbc4379e502d12856c36943399b87d71a2")
+ version("2.25.1", sha256="25684058138050a35ebb4f4e13899aea12045dfb00cc351dfe78f01cb1a1f21c")
+ version("2.24.0", sha256="24c7b8782b8986fa8f6224ac1e5f1a02412b7d8bc21b53d14d6df9c7d9b59a3f")
+ version("2.14.1", sha256="2ea6cee273cca1aae2ee5a5dac0c416b4dc354e46debb51f20c6eeba828f5ed5")
+ version("2.14.0", sha256="baa3b231c9498fb1140254e3feb4eb93c638f07e6e26ae0e36c3699ec14d80fd")
- depends_on('pango')
- depends_on('glibmm')
- depends_on('cairomm')
+ depends_on("pango")
+ depends_on("glibmm")
+ depends_on("cairomm")
def url_for_version(self, version):
"""Handle version-based custom URLs."""
url = "https://ftp.acc.umu.se/pub/GNOME/sources/pangomm"
- ext = '.tar.gz' if version < Version('2.28.3') else '.tar.xz'
+ ext = ".tar.gz" if version < Version("2.28.3") else ".tar.xz"
return url + "/%s/pangomm-%s%s" % (version.up_to(2), version, ext)
diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py
index c8d763a706..f3fe762e44 100644
--- a/var/spack/repos/builtin/packages/papi/package.py
+++ b/var/spack/repos/builtin/packages/papi/package.py
@@ -14,92 +14,97 @@ from spack.package import *
class Papi(AutotoolsPackage, ROCmPackage):
"""PAPI provides the tool designer and application engineer with a
- consistent interface and methodology for use of the performance
- counter hardware found in most major microprocessors. PAPI
- enables software engineers to see, in near real time, the
- relation between software performance and processor events. In
- addition Component PAPI provides access to a collection of
- components that expose performance measurement opportunities
- across the hardware and software stack."""
+ consistent interface and methodology for use of the performance
+ counter hardware found in most major microprocessors. PAPI
+ enables software engineers to see, in near real time, the
+ relation between software performance and processor events. In
+ addition Component PAPI provides access to a collection of
+ components that expose performance measurement opportunities
+ across the hardware and software stack."""
+
homepage = "https://icl.cs.utk.edu/papi/index.html"
- maintainers = ['G-Ragghianti']
+ maintainers = ["G-Ragghianti"]
- tags = ['e4s']
+ tags = ["e4s"]
url = "https://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')
- version('5.6.0', sha256='49b7293f9ca2d74d6d80bd06b5c4be303663123267b4ac0884cbcae4c914dc47')
- version('5.5.1', sha256='49dc2c2323f6164c4a7e81b799ed690ee73158671205e71501f849391dd2c2d4')
- version('5.5.0', sha256='3ea15e6cc2354017335b659c1635409ddab1414e70573aa4df91fd892e99f98d')
- version('5.4.3', sha256='3aefd581e274f0a103f001f1ffd1009019b297c637e97f4b8c5fc13fa5a1e675')
- version('5.4.1', sha256='e131c1449786fe870322a949e44f974a5963824f683232e653fb570cc65d4e87')
- version('5.3.0', sha256='99f2f36398b370e75d100b4a189d5bc0ac4f5dd66df44d441f88fd32e1421524')
-
- variant('example', default=True, description='Install the example files')
- variant('infiniband', default=False, description='Enable Infiniband support')
- variant('powercap', default=False, description='Enable powercap interface support')
- variant('rapl', default=False, description='Enable RAPL support')
- variant('lmsensors', default=False, description='Enable lm_sensors support')
- variant('sde', default=False, description='Enable software defined events')
- variant('cuda', default=False, description='Enable CUDA support')
- variant('nvml', default=False, description='Enable NVML support')
- variant('rocm_smi', default=False, description='Enable ROCm SMI support')
-
- variant('shared', default=True, description='Build shared libraries')
+ version("master", branch="master")
+ version("6.0.0.1", sha256="3cd7ed50c65b0d21d66e46d0ba34cd171178af4bbf9d94e693915c1aca1e287f")
+ version("6.0.0", sha256="3442709dae3405c2845b304c06a8b15395ecf4f3899a89ceb4d715103cb4055f")
+ version("5.7.0", sha256="d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589")
+ version("5.6.0", sha256="49b7293f9ca2d74d6d80bd06b5c4be303663123267b4ac0884cbcae4c914dc47")
+ version("5.5.1", sha256="49dc2c2323f6164c4a7e81b799ed690ee73158671205e71501f849391dd2c2d4")
+ version("5.5.0", sha256="3ea15e6cc2354017335b659c1635409ddab1414e70573aa4df91fd892e99f98d")
+ version("5.4.3", sha256="3aefd581e274f0a103f001f1ffd1009019b297c637e97f4b8c5fc13fa5a1e675")
+ version("5.4.1", sha256="e131c1449786fe870322a949e44f974a5963824f683232e653fb570cc65d4e87")
+ version("5.3.0", sha256="99f2f36398b370e75d100b4a189d5bc0ac4f5dd66df44d441f88fd32e1421524")
+
+ variant("example", default=True, description="Install the example files")
+ variant("infiniband", default=False, description="Enable Infiniband support")
+ variant("powercap", default=False, description="Enable powercap interface support")
+ variant("rapl", default=False, description="Enable RAPL support")
+ variant("lmsensors", default=False, description="Enable lm_sensors support")
+ variant("sde", default=False, description="Enable software defined events")
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("nvml", default=False, description="Enable NVML support")
+ variant("rocm_smi", default=False, description="Enable ROCm SMI support")
+
+ variant("shared", default=True, description="Build shared libraries")
# PAPI requires building static libraries, so there is no "static" variant
- variant('static_tools', default=False, description='Statically link the PAPI tools')
+ variant("static_tools", default=False, description="Statically link the PAPI tools")
# The PAPI configure option "--with-shlib-tools" is deprecated
# and therefore not implemented here
- depends_on('lm-sensors', when='+lmsensors')
- depends_on('cuda', when='+cuda')
- depends_on('cuda', when='+nvml')
- depends_on('hsa-rocr-dev', when='+rocm')
- depends_on('rocprofiler-dev', when='+rocm')
- depends_on('rocm-smi-lib', when='+rocm_smi')
+ depends_on("lm-sensors", when="+lmsensors")
+ depends_on("cuda", when="+cuda")
+ depends_on("cuda", when="+nvml")
+ depends_on("hsa-rocr-dev", when="+rocm")
+ depends_on("rocprofiler-dev", when="+rocm")
+ depends_on("rocm-smi-lib", when="+rocm_smi")
- conflicts('%gcc@8:', when='@5.3.0', msg='Requires GCC version less than 8.0')
- conflicts('+sde', when='@:5', msg='Software defined events (SDE) added in 6.0.0')
- conflicts('^cuda', when='@:5', msg='CUDA support for versions < 6.0.0 not implemented')
+ conflicts("%gcc@8:", when="@5.3.0", msg="Requires GCC version less than 8.0")
+ conflicts("+sde", when="@:5", msg="Software defined events (SDE) added in 6.0.0")
+ conflicts("^cuda", when="@:5", msg="CUDA support for versions < 6.0.0 not implemented")
# This is the only way to match exactly version 6.0.0 without also
# including version 6.0.0.1 due to spack version matching logic
- conflicts('@6.0:6.0.0.a', when='+static_tools', msg='Static tools cannot build on version 6.0.0')
+ conflicts(
+ "@6.0:6.0.0.a", when="+static_tools", msg="Static tools cannot build on version 6.0.0"
+ )
# Does not build with newer versions of gcc, see
# https://bitbucket.org/icl/papi/issues/46/cannot-compile-on-arch-linux
- patch('https://bitbucket.org/icl/papi/commits/53de184a162b8a7edff48fed01a15980664e15b1/raw', sha256='64c57b3ad4026255238cc495df6abfacc41de391a0af497c27d0ac819444a1f8', when='@5.4.0:5.6%gcc@8:')
- patch('crayftn-fixes.patch', when='@6.0.0:%cce@9:')
+ patch(
+ "https://bitbucket.org/icl/papi/commits/53de184a162b8a7edff48fed01a15980664e15b1/raw",
+ sha256="64c57b3ad4026255238cc495df6abfacc41de391a0af497c27d0ac819444a1f8",
+ when="@5.4.0:5.6%gcc@8:",
+ )
+ patch("crayftn-fixes.patch", when="@6.0.0:%cce@9:")
- configure_directory = 'src'
+ configure_directory = "src"
def setup_build_environment(self, env):
spec = self.spec
- if '+lmsensors' in spec and self.version >= Version('6'):
- env.set('PAPI_LMSENSORS_ROOT', spec['lm-sensors'].prefix)
- if '^cuda' in spec:
- env.set('PAPI_CUDA_ROOT', spec['cuda'].prefix)
- if '+rocm' in spec:
- env.set('PAPI_ROCM_ROOT', spec['hsa-rocr-dev'].prefix)
- env.append_flags('CFLAGS',
- '-I%s/rocprofiler/include'
- % spec['rocprofiler-dev'].prefix)
- env.set('ROCP_METRICS',
- '%s/rocprofiler/lib/metrics.xml' % spec['rocprofiler-dev'].prefix)
- env.set('ROCPROFILER_LOG', '1')
- env.set('HSA_VEN_AMD_AQLPROFILE_LOG', '1')
- env.set('AQLPROFILE_READ_API', '1')
+ if "+lmsensors" in spec and self.version >= Version("6"):
+ env.set("PAPI_LMSENSORS_ROOT", spec["lm-sensors"].prefix)
+ if "^cuda" in spec:
+ env.set("PAPI_CUDA_ROOT", spec["cuda"].prefix)
+ if "+rocm" in spec:
+ env.set("PAPI_ROCM_ROOT", spec["hsa-rocr-dev"].prefix)
+ env.append_flags("CFLAGS", "-I%s/rocprofiler/include" % spec["rocprofiler-dev"].prefix)
+ env.set(
+ "ROCP_METRICS", "%s/rocprofiler/lib/metrics.xml" % spec["rocprofiler-dev"].prefix
+ )
+ env.set("ROCPROFILER_LOG", "1")
+ env.set("HSA_VEN_AMD_AQLPROFILE_LOG", "1")
+ env.set("AQLPROFILE_READ_API", "1")
# Setting HSA_TOOLS_LIB=librocprofiler64.so (as recommended) doesn't work
# due to a conflict between the spack and system-installed versions.
- env.set('HSA_TOOLS_LIB', 'unset')
- if '+rocm_smi' in spec:
- env.append_flags('CFLAGS',
- '-I%s/rocm_smi' % spec['rocm-smi-lib'].prefix.include)
+ env.set("HSA_TOOLS_LIB", "unset")
+ if "+rocm_smi" in spec:
+ env.append_flags("CFLAGS", "-I%s/rocm_smi" % spec["rocm-smi-lib"].prefix.include)
setup_run_environment = setup_build_environment
@@ -108,51 +113,64 @@ class Papi(AutotoolsPackage, ROCmPackage):
# PAPI uses MPI if MPI is present; since we don't require
# an MPI package, we ensure that all attempts to use MPI
# fail, so that PAPI does not get confused
- options = ['MPICC=:']
+ options = ["MPICC=:"]
# Build a list of PAPI components
components = filter(
lambda x: spec.variants[x].value,
- ['example', 'infiniband', 'powercap', 'rapl', 'lmsensors', 'sde',
- 'cuda', 'nvml', 'rocm', 'rocm_smi'])
+ [
+ "example",
+ "infiniband",
+ "powercap",
+ "rapl",
+ "lmsensors",
+ "sde",
+ "cuda",
+ "nvml",
+ "rocm",
+ "rocm_smi",
+ ],
+ )
if components:
- options.append('--with-components=' + ' '.join(components))
+ options.append("--with-components=" + " ".join(components))
- build_shared = 'yes' if '+shared' in spec else 'no'
- options.append('--with-shared-lib=' + build_shared)
+ build_shared = "yes" if "+shared" in spec else "no"
+ options.append("--with-shared-lib=" + build_shared)
- if '+static_tools' in spec:
- options.append('--with-static-tools')
+ if "+static_tools" in spec:
+ options.append("--with-static-tools")
return options
- @run_before('configure')
+ @run_before("configure")
def fortran_check(self):
if not self.compiler.fc:
- msg = 'PAPI requires a Fortran compiler to build'
+ msg = "PAPI requires a Fortran compiler to build"
raise RuntimeError(msg)
- @run_before('configure')
+ @run_before("configure")
def component_configure(self):
- configure_script = Executable('./configure')
- if '+lmsensors' in self.spec and self.version < Version('6'):
+ configure_script = Executable("./configure")
+ if "+lmsensors" in self.spec and self.version < Version("6"):
with working_dir("src/components/lmsensors"):
configure_script(
- "--with-sensors_incdir=%s/sensors" %
- self.spec['lm-sensors'].headers.directories[0],
- "--with-sensors_libdir=%s" %
- self.spec['lm-sensors'].libs.directories[0])
+ "--with-sensors_incdir=%s/sensors"
+ % self.spec["lm-sensors"].headers.directories[0],
+ "--with-sensors_libdir=%s" % self.spec["lm-sensors"].libs.directories[0],
+ )
- @run_before('build')
+ @run_before("build")
def fix_build(self):
# Don't use <malloc.h>
for level in [".", "*", "*/*"]:
files = glob.iglob(join_path(level, "*.[ch]"))
filter_file(r"\<malloc\.h\>", "<stdlib.h>", *files)
- @run_after('install')
+ @run_after("install")
def fix_darwin_install(self):
# The shared library is not installed correctly on Darwin
- if sys.platform == 'darwin':
- os.rename(join_path(self.prefix.lib, 'libpapi.so'),
- join_path(self.prefix.lib, 'libpapi.dylib'))
+ if sys.platform == "darwin":
+ os.rename(
+ join_path(self.prefix.lib, "libpapi.so"),
+ join_path(self.prefix.lib, "libpapi.dylib"),
+ )
fs.fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/papyrus/package.py b/var/spack/repos/builtin/packages/papyrus/package.py
index f43d7bf943..52370bd888 100644
--- a/var/spack/repos/builtin/packages/papyrus/package.py
+++ b/var/spack/repos/builtin/packages/papyrus/package.py
@@ -12,17 +12,17 @@ class Papyrus(CMakePackage):
"""Parallel Aggregate Persistent Storage"""
homepage = "https://code.ornl.gov/eck/papyrus"
- url = "https://code.ornl.gov/eck/papyrus/repository/archive.tar.bz2?ref=v1.0.2"
- git = "https://code.ornl.gov/eck/papyrus.git"
+ url = "https://code.ornl.gov/eck/papyrus/repository/archive.tar.bz2?ref=v1.0.2"
+ git = "https://code.ornl.gov/eck/papyrus.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('1.0.2', sha256='b6cfcff99f73ded8e4ca4b165bc182cd5cac60f0c0cf4f93649b77d074445645')
- version('1.0.1', sha256='3772fd6f2c301faf78f18c5e4dc3dbac57eb361861b091579609b3fff9e0bb17')
- version('1.0.0', sha256='5d57c0bcc80de48951e42460785783b882087a5714195599d773a6eabde5c4c4')
+ version("master", branch="master")
+ version("1.0.2", sha256="b6cfcff99f73ded8e4ca4b165bc182cd5cac60f0c0cf4f93649b77d074445645")
+ version("1.0.1", sha256="3772fd6f2c301faf78f18c5e4dc3dbac57eb361861b091579609b3fff9e0bb17")
+ version("1.0.0", sha256="5d57c0bcc80de48951e42460785783b882087a5714195599d773a6eabde5c4c4")
- depends_on('mpi')
+ depends_on("mpi")
test_requires_compiler = True
@@ -32,23 +32,23 @@ class Papyrus(CMakePackage):
else:
lib_dir = self.prefix.lib
- env.prepend_path('CPATH', self.prefix.include)
- env.prepend_path('LIBRARY_PATH', lib_dir)
- env.prepend_path('LD_LIBRARY_PATH', lib_dir)
+ 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')
+ @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')])
+ 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')
+ example_dir = join_path(self.test_suite.current_test_cache_dir, "kv", "tests")
if not os.path.exists(example_dir):
- print('Skipping all test')
+ print("Skipping all test")
return
if os.path.isdir(self.prefix.lib64):
@@ -56,33 +56,53 @@ class Papyrus(CMakePackage):
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']
+ 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)
+ 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))
+ 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)
+ 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()
diff --git a/var/spack/repos/builtin/packages/paradiseo/package.py b/var/spack/repos/builtin/packages/paradiseo/package.py
index e04450ce32..fd2210e036 100644
--- a/var/spack/repos/builtin/packages/paradiseo/package.py
+++ b/var/spack/repos/builtin/packages/paradiseo/package.py
@@ -9,61 +9,61 @@ from spack.pkg.builtin.boost import Boost
class Paradiseo(CMakePackage):
"""A C++ white-box object-oriented framework dedicated to the reusable
- design of metaheuristics."""
+ design of metaheuristics."""
homepage = "https://paradiseo.gforge.inria.fr/"
- git = "https://gforge.inria.fr/git/paradiseo/paradiseo.git"
+ git = "https://gforge.inria.fr/git/paradiseo/paradiseo.git"
# Installing from the development version is a better option at this
# point than using the very old supplied packages
- version('head')
+ version("head")
# This is a version that the package formula author has tested
# successfully. However, the clone is very large (~1Gb git
# history). The history in the head version has been trimmed
# significantly.
- version('dev-safe', commit='dbb8fbe9a786efd4d1c26408ac1883442e7643a6')
+ version("dev-safe", commit="dbb8fbe9a786efd4d1c26408ac1883442e7643a6")
- variant('mpi', default=True,
- description='Compile with parallel and distributed '
- 'metaheuristics module')
- variant('smp', default=True,
- description='Compile with symmetric multi-processing module ')
- variant('edo', default=True,
- description='Compile with (Experimental) EDO module')
+ variant(
+ "mpi",
+ default=True,
+ description="Compile with parallel and distributed " "metaheuristics module",
+ )
+ variant("smp", default=True, description="Compile with symmetric multi-processing module ")
+ variant("edo", default=True, description="Compile with (Experimental) EDO module")
- variant('openmp', default=False, description='Enable OpenMP support')
- variant('gnuplot', default=False, description='Enable GnuPlot support')
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("gnuplot", default=False, description="Enable GnuPlot support")
# Required dependencies
- depends_on("cmake@2.8:", type='build')
+ depends_on("cmake@2.8:", type="build")
# Optional dependencies
depends_on("mpi", when="+mpi")
- depends_on("gnuplot", when='+gnuplot')
- depends_on("eigen", when='+edo', type='build')
- depends_on("boost~mpi", when='+edo~mpi')
- depends_on("boost+mpi", when='+edo+mpi')
+ depends_on("gnuplot", when="+gnuplot")
+ depends_on("eigen", when="+edo", type="build")
+ depends_on("boost~mpi", when="+edo~mpi")
+ depends_on("boost+mpi", when="+edo+mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+edo')
+ depends_on(Boost.with_default_variants, when="+edo")
# Patches
- patch('enable_eoserial.patch')
- patch('fix_osx_detection.patch')
- patch('fix_tests.patch')
- patch('fix_tutorials.patch')
+ patch("enable_eoserial.patch")
+ patch("fix_osx_detection.patch")
+ patch("fix_tests.patch")
+ patch("fix_tutorials.patch")
def cmake_args(self):
return [
- '-DINSTALL_TYPE:STRING=MIN',
- self.define_from_variant('MPI', 'mpi'),
+ "-DINSTALL_TYPE:STRING=MIN",
+ self.define_from_variant("MPI", "mpi"),
# Note: This requires a C++11 compatible compiler
- self.define_from_variant('SMP', 'smp'),
- self.define_from_variant('EDO', 'edo'),
- self.define('ENABLE_CMAKE_TESTING', self.run_tests),
- self.define_from_variant('ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('ENABLE_GNUPLOT', 'gnuplot')
+ self.define_from_variant("SMP", "smp"),
+ self.define_from_variant("EDO", "edo"),
+ self.define("ENABLE_CMAKE_TESTING", self.run_tests),
+ self.define_from_variant("ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("ENABLE_GNUPLOT", "gnuplot"),
]
diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
index 517f994f6b..965e6a365e 100644
--- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py
+++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
@@ -15,56 +15,55 @@ class ParallelNetcdf(AutotoolsPackage):
"""
homepage = "https://parallel-netcdf.github.io/"
- git = "https://github.com/Parallel-NetCDF/PnetCDF"
- url = "https://parallel-netcdf.github.io/Release/pnetcdf-1.11.0.tar.gz"
+ git = "https://github.com/Parallel-NetCDF/PnetCDF"
+ url = "https://parallel-netcdf.github.io/Release/pnetcdf-1.11.0.tar.gz"
list_url = "https://parallel-netcdf.github.io/wiki/Download.html"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
def url_for_version(self, version):
- if version >= Version('1.11.0'):
+ if version >= Version("1.11.0"):
url = "https://parallel-netcdf.github.io/Release/pnetcdf-{0}.tar.gz"
else:
url = "https://parallel-netcdf.github.io/Release/parallel-netcdf-{0}.tar.gz"
return url.format(version.dotted)
- version('master', branch='master')
- version('1.12.2', sha256='3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74')
- version('1.12.1', sha256='56f5afaa0ddc256791c405719b6436a83b92dcd5be37fe860dea103aee8250a2')
- version('1.11.2', sha256='d2c18601b364c35b5acb0a0b46cd6e14cae456e0eb854e5c789cf65f3cd6a2a7')
- version('1.11.1', sha256='0c587b707835255126a23c104c66c9614be174843b85b897b3772a590be45779')
- version('1.11.0', sha256='a18a1a43e6c4fd7ef5827dbe90e9dcf1363b758f513af1f1356ed6c651195a9f')
- version('1.10.0', sha256='ed189228b933cfeac3b7b4f8944eb00e4ff2b72cf143365b1a77890980663a09')
- version('1.9.0', sha256='356e1e1fae14bc6c4236ec11435cfea0ff6bde2591531a4a329f9508a01fbe98')
- version('1.8.1', sha256='8d7d4c9c7b39bb1cbbcf087e0d726551c50f0cc30d44aed3df63daf3772c9043')
- version('1.8.0', sha256='ac00bb2333bee96354de9d9c32d3dfdaa919d878098762f146996578b7f0ede9')
- version('1.7.0', sha256='52f0d106c470a843c6176318141f74a21e6ece3f70ee8fe261c6b93e35f70a94')
- version('1.6.1', sha256='8cf1af7b640475e3cc931e5fbcfe52484c5055f2fab526691933c02eda388aae')
-
- variant('cxx', default=True, description='Build the C++ Interface')
- variant('fortran', default=True, description='Build the Fortran Interface')
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('shared', default=True, description='Enable shared library')
- variant('burstbuffer', default=False, description='Enable burst buffer feature')
-
- depends_on('mpi')
-
- depends_on('m4', type='build')
- depends_on('autoconf', when='@master', type='build')
- depends_on('automake', when='@master', type='build')
- depends_on('libtool', when='@master', type='build')
-
- depends_on('perl', type='build')
+ version("master", branch="master")
+ version("1.12.2", sha256="3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74")
+ version("1.12.1", sha256="56f5afaa0ddc256791c405719b6436a83b92dcd5be37fe860dea103aee8250a2")
+ version("1.11.2", sha256="d2c18601b364c35b5acb0a0b46cd6e14cae456e0eb854e5c789cf65f3cd6a2a7")
+ version("1.11.1", sha256="0c587b707835255126a23c104c66c9614be174843b85b897b3772a590be45779")
+ version("1.11.0", sha256="a18a1a43e6c4fd7ef5827dbe90e9dcf1363b758f513af1f1356ed6c651195a9f")
+ version("1.10.0", sha256="ed189228b933cfeac3b7b4f8944eb00e4ff2b72cf143365b1a77890980663a09")
+ version("1.9.0", sha256="356e1e1fae14bc6c4236ec11435cfea0ff6bde2591531a4a329f9508a01fbe98")
+ version("1.8.1", sha256="8d7d4c9c7b39bb1cbbcf087e0d726551c50f0cc30d44aed3df63daf3772c9043")
+ version("1.8.0", sha256="ac00bb2333bee96354de9d9c32d3dfdaa919d878098762f146996578b7f0ede9")
+ version("1.7.0", sha256="52f0d106c470a843c6176318141f74a21e6ece3f70ee8fe261c6b93e35f70a94")
+ version("1.6.1", sha256="8cf1af7b640475e3cc931e5fbcfe52484c5055f2fab526691933c02eda388aae")
+
+ variant("cxx", default=True, description="Build the C++ Interface")
+ variant("fortran", default=True, description="Build the Fortran Interface")
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("shared", default=True, description="Enable shared library")
+ variant("burstbuffer", default=False, description="Enable burst buffer feature")
+
+ depends_on("mpi")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", when="@master", type="build")
+ depends_on("automake", when="@master", type="build")
+ depends_on("libtool", when="@master", type="build")
+
+ depends_on("perl", type="build")
# Suport for shared libraries was introduced in version 1.9.0
- conflicts('+shared', when='@:1.8')
- conflicts('+burstbuffer', when='@:1.10')
+ conflicts("+shared", when="@:1.8")
+ conflicts("+burstbuffer", when="@:1.10")
# Before 1.10.0, C utility programs (e.g. ncmpigen) were linked without
# explicit specification of the Fortran runtime libraries, which is
@@ -77,10 +76,10 @@ class ParallelNetcdf(AutotoolsPackage):
# detected using macro AC_FC_LIBRARY_LDFLAGS, which means that we can
# override the verbose output flag for Fortran compiler on the command line
# (see below).
- conflicts('+shared', when='@:1.9%nag+fortran')
+ conflicts("+shared", when="@:1.9%nag+fortran")
# https://github.com/Parallel-NetCDF/PnetCDF/pull/59
- patch('nag_libtool.patch', when='@1.9:1.12.1%nag')
+ patch("nag_libtool.patch", when="@1.9:1.12.1%nag")
# We could apply the patch unconditionally. However, it fixes a problem
# that manifests itself only when we build shared libraries with Spack on
@@ -91,122 +90,130 @@ class ParallelNetcdf(AutotoolsPackage):
# '--whole-archive' argument. Unluckily, Cray's wrapper "understands" only
# one of them but Libtool switches to another one. The following patch
# discards the switching.
- patch('cray_pgi_libtool_release.patch',
- when='@1.8:999%pgi+shared platform=cray')
+ patch("cray_pgi_libtool_release.patch", when="@1.8:999%pgi+shared platform=cray")
# Given that the bug manifests itself in rather specific conditions, it is
# not reported upstream.
- patch('cray_pgi_libtool_master.patch',
- when='@master%pgi+shared platform=cray')
+ patch("cray_pgi_libtool_master.patch", when="@master%pgi+shared platform=cray")
@property
def libs(self):
- libraries = ['libpnetcdf']
+ libraries = ["libpnetcdf"]
query_parameters = self.spec.last_query.extra_parameters
- if 'shared' in query_parameters:
+ if "shared" in query_parameters:
shared = True
- elif 'static' in query_parameters:
+ elif "static" in query_parameters:
shared = False
else:
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {0} {1} libraries in {2}'
+ msg = "Unable to recursively locate {0} {1} libraries in {2}"
raise spack.error.NoLibrariesError(
- msg.format('shared' if shared else 'static',
- self.spec.name,
- self.spec.prefix))
+ msg.format("shared" if shared else "static", self.spec.name, self.spec.prefix)
+ )
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
with working_dir(self.configure_directory):
# We do not specify '-f' because we need to use libtool files from
# the repository.
- autoreconf('-iv')
+ autoreconf("-iv")
def configure_args(self):
- args = ['--with-mpi=%s' % self.spec['mpi'].prefix,
- 'SEQ_CC=%s' % spack_cc]
+ args = ["--with-mpi=%s" % self.spec["mpi"].prefix, "SEQ_CC=%s" % spack_cc]
- args += self.enable_or_disable('cxx')
- args += self.enable_or_disable('fortran')
+ args += self.enable_or_disable("cxx")
+ args += self.enable_or_disable("fortran")
flags = {
- 'CFLAGS': [],
- 'CXXFLAGS': [],
- 'FFLAGS': [],
- 'FCFLAGS': [],
+ "CFLAGS": [],
+ "CXXFLAGS": [],
+ "FFLAGS": [],
+ "FCFLAGS": [],
}
- if '+pic' in self.spec:
- flags['CFLAGS'].append(self.compiler.cc_pic_flag)
- flags['CXXFLAGS'].append(self.compiler.cxx_pic_flag)
- flags['FFLAGS'].append(self.compiler.f77_pic_flag)
- flags['FCFLAGS'].append(self.compiler.fc_pic_flag)
+ if "+pic" in self.spec:
+ flags["CFLAGS"].append(self.compiler.cc_pic_flag)
+ flags["CXXFLAGS"].append(self.compiler.cxx_pic_flag)
+ flags["FFLAGS"].append(self.compiler.f77_pic_flag)
+ flags["FCFLAGS"].append(self.compiler.fc_pic_flag)
# https://github.com/Parallel-NetCDF/PnetCDF/issues/61
- if self.spec.satisfies('%gcc@10:'):
- flags['FFLAGS'].append('-fallow-argument-mismatch')
- flags['FCFLAGS'].append('-fallow-argument-mismatch')
+ if self.spec.satisfies("%gcc@10:"):
+ flags["FFLAGS"].append("-fallow-argument-mismatch")
+ flags["FCFLAGS"].append("-fallow-argument-mismatch")
for key, value in sorted(flags.items()):
if value:
- args.append('{0}={1}'.format(key, ' '.join(value)))
+ args.append("{0}={1}".format(key, " ".join(value)))
- if self.version >= Version('1.8'):
- args.append('--enable-relax-coord-bound')
+ if self.version >= Version("1.8"):
+ args.append("--enable-relax-coord-bound")
- if self.version >= Version('1.9'):
- args += self.enable_or_disable('shared')
- args.extend(['--enable-static',
- '--disable-silent-rules'])
+ if self.version >= Version("1.9"):
+ args += self.enable_or_disable("shared")
+ args.extend(["--enable-static", "--disable-silent-rules"])
- if self.spec.satisfies('%nag+fortran+shared'):
- args.extend(['ac_cv_prog_fc_v=-Wl,-v',
- 'ac_cv_prog_f77_v=-Wl,-v'])
+ if self.spec.satisfies("%nag+fortran+shared"):
+ args.extend(["ac_cv_prog_fc_v=-Wl,-v", "ac_cv_prog_f77_v=-Wl,-v"])
- if '+burstbuffer' in self.spec:
- args.append('--enable-burst-buffering')
+ if "+burstbuffer" in self.spec:
+ args.append("--enable-burst-buffering")
return args
- examples_src_dir = join_path('examples', 'CXX')
+ examples_src_dir = join_path("examples", "CXX")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Copy the example source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources([self.examples_src_dir])
def test(self):
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
# pnetcdf has many examples to serve as a suitable smoke check.
# column_wise was chosen based on the E4S test suite. Other
# examples should work as well.
- test_exe = 'column_wise'
- options = ['{0}.cpp'.format(test_exe), '-o', test_exe, '-lpnetcdf',
- '-L{0}'.format(self.prefix.lib),
- '-I{0}'.format(self.prefix.include)]
- reason = 'test: compiling and linking pnetcdf example'
- self.run_test(self.spec['mpi'].mpicxx, options, [],
- installed=False, purpose=reason, work_dir=test_dir)
- mpiexe_list = [self.spec['mpi'].prefix.bin.srun,
- self.spec['mpi'].prefix.bin.mpirun,
- self.spec['mpi'].prefix.bin.mpiexec]
+ test_exe = "column_wise"
+ options = [
+ "{0}.cpp".format(test_exe),
+ "-o",
+ test_exe,
+ "-lpnetcdf",
+ "-L{0}".format(self.prefix.lib),
+ "-I{0}".format(self.prefix.include),
+ ]
+ reason = "test: compiling and linking pnetcdf example"
+ self.run_test(
+ self.spec["mpi"].mpicxx,
+ options,
+ [],
+ installed=False,
+ purpose=reason,
+ work_dir=test_dir,
+ )
+ mpiexe_list = [
+ self.spec["mpi"].prefix.bin.srun,
+ self.spec["mpi"].prefix.bin.mpirun,
+ self.spec["mpi"].prefix.bin.mpiexec,
+ ]
for mpiexe in mpiexe_list:
if os.path.isfile(mpiexe):
- self.run_test(mpiexe, ['-n', '1', test_exe], [],
- installed=False,
- purpose='test: pnetcdf smoke test',
- skip_missing=True,
- work_dir=test_dir)
+ self.run_test(
+ mpiexe,
+ ["-n", "1", test_exe],
+ [],
+ installed=False,
+ purpose="test: pnetcdf smoke test",
+ skip_missing=True,
+ work_dir=test_dir,
+ )
break
- self.run_test('rm', ['-f', test_exe], work_dir=test_dir)
+ self.run_test("rm", ["-f", test_exe], work_dir=test_dir)
diff --git a/var/spack/repos/builtin/packages/parallel/package.py b/var/spack/repos/builtin/packages/parallel/package.py
index 197b238421..7d644e1f63 100644
--- a/var/spack/repos/builtin/packages/parallel/package.py
+++ b/var/spack/repos/builtin/packages/parallel/package.py
@@ -15,35 +15,40 @@ class Parallel(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/parallel/"
gnu_mirror_path = "parallel/parallel-20220522.tar.bz2"
- version('20220522', sha256='bb6395f8d964e68f3bdb26a764d3c48b69bc5b759a92ac3ab2bd1895c7fa8c1f')
- version('20220422', sha256='96e4b73fff1302fc141a889ae43ab2e93f6c9e86ac60ef62ced02dbe70b73ca7')
- version('20220322', sha256='df93ccf6a9f529ad2126b7042aef0486603e938c77b405939c41702d38a4e6d8')
- version('20220222', sha256='f81682b863ead7fb9a114754001e9286f954550a57a3cf36c9003a8047a6a445')
- version('20220122', sha256='b8221a21412bca572ad8445b7981dfd625a3c6d48772cda468dfb5b886337e00')
- version('20210922', sha256='dedca94fc41f2054dbadd9b8361e56015fc8af5d1961c1b982b63e6d86494d66')
- version('20200822', sha256='9654226a808392c365b1e7b8dea91bf4870bc4f306228d853eb700679e21be09')
- version('20190222', sha256='86b1badc56ee2de1483107c2adf634604fd72789c91f65e40138d21425906b1c')
- version('20170322', sha256='f8f810040088bf3c52897a2ee0c0c71bd8d097e755312364b946f107ae3553f6')
- version('20170122', sha256='417e83d9de2fe518a976fcff5a96bffe41421c2a57713cd5272cc89d1072aaa6')
- version('20160422', sha256='065a8f471266361218a9eb45c5f8ab995d73b181cc1180600ee08cc768c9ac42')
- version('20160322', sha256='6430f649ec07243645c955e8d6bee6da1df2e699b1e49b185946d1ab38731b08')
+ version("20220522", sha256="bb6395f8d964e68f3bdb26a764d3c48b69bc5b759a92ac3ab2bd1895c7fa8c1f")
+ version("20220422", sha256="96e4b73fff1302fc141a889ae43ab2e93f6c9e86ac60ef62ced02dbe70b73ca7")
+ version("20220322", sha256="df93ccf6a9f529ad2126b7042aef0486603e938c77b405939c41702d38a4e6d8")
+ version("20220222", sha256="f81682b863ead7fb9a114754001e9286f954550a57a3cf36c9003a8047a6a445")
+ version("20220122", sha256="b8221a21412bca572ad8445b7981dfd625a3c6d48772cda468dfb5b886337e00")
+ version("20210922", sha256="dedca94fc41f2054dbadd9b8361e56015fc8af5d1961c1b982b63e6d86494d66")
+ version("20200822", sha256="9654226a808392c365b1e7b8dea91bf4870bc4f306228d853eb700679e21be09")
+ version("20190222", sha256="86b1badc56ee2de1483107c2adf634604fd72789c91f65e40138d21425906b1c")
+ version("20170322", sha256="f8f810040088bf3c52897a2ee0c0c71bd8d097e755312364b946f107ae3553f6")
+ version("20170122", sha256="417e83d9de2fe518a976fcff5a96bffe41421c2a57713cd5272cc89d1072aaa6")
+ version("20160422", sha256="065a8f471266361218a9eb45c5f8ab995d73b181cc1180600ee08cc768c9ac42")
+ version("20160322", sha256="6430f649ec07243645c955e8d6bee6da1df2e699b1e49b185946d1ab38731b08")
def check(self):
# The Makefile has a 'test' target, but it does not work
- make('check')
+ make("check")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
- @run_before('install')
+ @run_before("install")
def filter_sbang(self):
"""Run before install so that the standard Spack sbang install hook
- can fix up the path to the perl binary.
+ can fix up the path to the perl binary.
"""
- perl = self.spec['perl'].command
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ perl = self.spec["perl"].command
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
- with working_dir('src'):
- match = '^#!/usr/bin/env perl|^#!/usr/bin/perl.*'
+ with working_dir("src"):
+ match = "^#!/usr/bin/env perl|^#!/usr/bin/perl.*"
substitute = "#!{perl}".format(perl=perl)
- files = ['parallel', 'niceload', 'parcat', 'sql', ]
+ files = [
+ "parallel",
+ "niceload",
+ "parcat",
+ "sql",
+ ]
filter_file(match, substitute, *files, **kwargs)
diff --git a/var/spack/repos/builtin/packages/parallelio/package.py b/var/spack/repos/builtin/packages/parallelio/package.py
index 8b6a4c0c19..4b24f6ecfc 100644
--- a/var/spack/repos/builtin/packages/parallelio/package.py
+++ b/var/spack/repos/builtin/packages/parallelio/package.py
@@ -12,47 +12,51 @@ class Parallelio(CMakePackage):
large numbers of processors on a HPC system."""
homepage = "https://ncar.github.io/ParallelIO/"
- url = "https://github.com/NCAR/ParallelIO/archive/pio2_5_4.tar.gz"
+ url = "https://github.com/NCAR/ParallelIO/archive/pio2_5_4.tar.gz"
- maintainers = ['tkameyama']
+ maintainers = ["tkameyama"]
- version('2_5_4', sha256='e51dc71683da808a714deddc1a80c2650ce847110383e42f1710f3ba567e7a65')
- version('2_5_2', sha256='935bc120ef3bf4fe09fb8bfdf788d05fb201a125d7346bf6b09e27ac3b5f345c')
+ version("2_5_4", sha256="e51dc71683da808a714deddc1a80c2650ce847110383e42f1710f3ba567e7a65")
+ version("2_5_2", sha256="935bc120ef3bf4fe09fb8bfdf788d05fb201a125d7346bf6b09e27ac3b5f345c")
- variant('pnetcdf', default=False, description='enable pnetcdf')
- variant('timing', default=False, description='enable GPTL timing')
+ variant("pnetcdf", default=False, description="enable pnetcdf")
+ variant("timing", default=False, description="enable GPTL timing")
- depends_on('mpi')
- depends_on('netcdf-c +mpi', type='link')
- depends_on('netcdf-fortran', type='link')
- depends_on('parallel-netcdf', type='link', when='+pnetcdf')
+ depends_on("mpi")
+ depends_on("netcdf-c +mpi", type="link")
+ depends_on("netcdf-fortran", type="link")
+ depends_on("parallel-netcdf", type="link", when="+pnetcdf")
- resource(name='CMake_Fortran_utils',
- git='https://github.com/CESM-Development/CMake_Fortran_utils.git',
- tag='master')
- resource(name='genf90',
- git='https://github.com/PARALLELIO/genf90.git',
- tag='genf90_200608')
+ resource(
+ name="CMake_Fortran_utils",
+ git="https://github.com/CESM-Development/CMake_Fortran_utils.git",
+ tag="master",
+ )
+ resource(name="genf90", git="https://github.com/PARALLELIO/genf90.git", tag="genf90_200608")
def cmake_args(self):
define = self.define
define_from_variant = self.define_from_variant
spec = self.spec
- env['CC'] = spec['mpi'].mpicc
- env['FC'] = spec['mpi'].mpifc
+ env["CC"] = spec["mpi"].mpicc
+ env["FC"] = spec["mpi"].mpifc
src = self.stage.source_path
args = [
- define('NetCDF_C_PATH', spec['netcdf-c'].prefix),
- define('NetCDF_Fortran_PATH', spec['netcdf-fortran'].prefix),
- define('USER_CMAKE_MODULE_PATH', join_path(src, 'CMake_Fortran_utils')),
- define('GENF90_PATH', join_path(src, 'genf90')),
+ define("NetCDF_C_PATH", spec["netcdf-c"].prefix),
+ define("NetCDF_Fortran_PATH", spec["netcdf-fortran"].prefix),
+ define("USER_CMAKE_MODULE_PATH", join_path(src, "CMake_Fortran_utils")),
+ define("GENF90_PATH", join_path(src, "genf90")),
]
- if spec.satisfies('+pnetcdf'):
- args.extend([
- define('PnetCDF_C_PATH', spec['parallel-netcdf'].prefix),
- define('PnetCDF_Fortran_PATH', spec['parallel-netcdf'].prefix),
- ])
- args.extend([
- define_from_variant('PIO_ENABLE_TIMING', 'timing'),
- ])
+ if spec.satisfies("+pnetcdf"):
+ args.extend(
+ [
+ define("PnetCDF_C_PATH", spec["parallel-netcdf"].prefix),
+ define("PnetCDF_Fortran_PATH", spec["parallel-netcdf"].prefix),
+ ]
+ )
+ args.extend(
+ [
+ define_from_variant("PIO_ENABLE_TIMING", "timing"),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/parallelmergetree/package.py b/var/spack/repos/builtin/packages/parallelmergetree/package.py
index 31ec17b060..0c0cf6a1f2 100644
--- a/var/spack/repos/builtin/packages/parallelmergetree/package.py
+++ b/var/spack/repos/builtin/packages/parallelmergetree/package.py
@@ -13,57 +13,66 @@ class Parallelmergetree(CMakePackage):
systems."""
homepage = "https://bitbucket.org/cedmav/parallelmergetree"
- git = "https://bitbucket.org/cedmav/parallelmergetree.git"
-
- maintainers = ['spetruzza']
-
- version('1.1.2',
- git='https://bitbucket.org/cedmav/parallelmergetree.git',
- tag='v1.1.2',
- submodules=True)
-
- version('1.1.1',
- git='https://bitbucket.org/cedmav/parallelmergetree.git',
- tag='v1.1.1',
- submodules=True)
-
- version('1.1.0',
- git='https://bitbucket.org/cedmav/parallelmergetree.git',
- tag='v1.1.0',
- submodules=True)
-
- version('1.0.2',
- git='https://bitbucket.org/cedmav/parallelmergetree.git',
- tag='v1.0.2',
- submodules=True)
-
- version('1.0.0',
- git='https://bitbucket.org/cedmav/parallelmergetree.git',
- tag='v1.0.0',
- submodules=True)
-
- depends_on('babelflow@1.1.0', when='@1.1.2')
- depends_on('babelflow@1.1.0', when='@1.1.1')
- depends_on('babelflow@1.1.0', when='@1.1.0')
- depends_on('babelflow@1.0.1', when='@1.0.2')
+ git = "https://bitbucket.org/cedmav/parallelmergetree.git"
+
+ maintainers = ["spetruzza"]
+
+ version(
+ "1.1.2",
+ git="https://bitbucket.org/cedmav/parallelmergetree.git",
+ tag="v1.1.2",
+ submodules=True,
+ )
+
+ version(
+ "1.1.1",
+ git="https://bitbucket.org/cedmav/parallelmergetree.git",
+ tag="v1.1.1",
+ submodules=True,
+ )
+
+ version(
+ "1.1.0",
+ git="https://bitbucket.org/cedmav/parallelmergetree.git",
+ tag="v1.1.0",
+ submodules=True,
+ )
+
+ version(
+ "1.0.2",
+ git="https://bitbucket.org/cedmav/parallelmergetree.git",
+ tag="v1.0.2",
+ submodules=True,
+ )
+
+ version(
+ "1.0.0",
+ git="https://bitbucket.org/cedmav/parallelmergetree.git",
+ tag="v1.0.0",
+ submodules=True,
+ )
+
+ depends_on("babelflow@1.1.0", when="@1.1.2")
+ depends_on("babelflow@1.1.0", when="@1.1.1")
+ depends_on("babelflow@1.1.0", when="@1.1.0")
+ depends_on("babelflow@1.0.1", when="@1.0.2")
variant("shared", default=True, description="Build ParallelMergeTree as shared libs")
# The C++ headers of gcc-11 don't provide <algorithm> as side effect of others
- @when('%gcc@11:')
+ @when("%gcc@11:")
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', '-include algorithm')
+ env.append_flags("CXXFLAGS", "-include algorithm")
def cmake_args(self):
args = []
if "+shared" in self.spec:
- args.append('-DBUILD_SHARED_LIBS=ON')
+ args.append("-DBUILD_SHARED_LIBS=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
+ args.append("-DBUILD_SHARED_LIBS=OFF")
- args.append('-DLIBRARY_ONLY=ON')
- args.append('-DBabelFlow_DIR={0}'.format(
- self.spec['babelflow'].prefix))
+ args.append("-DLIBRARY_ONLY=ON")
+ args.append("-DBabelFlow_DIR={0}".format(self.spec["babelflow"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/paraver/package.py b/var/spack/repos/builtin/packages/paraver/package.py
index 59ecfdd8e3..382f01ac91 100644
--- a/var/spack/repos/builtin/packages/paraver/package.py
+++ b/var/spack/repos/builtin/packages/paraver/package.py
@@ -9,25 +9,34 @@ from spack.package import *
class Paraver(Package):
- """"A very powerful performance visualization and analysis tool
- based on traces that can be used to analyse any information that
- is expressed on its input trace format. Traces for parallel MPI,
- OpenMP and other programs can be genereated with Extrae.
+ """ "A very powerful performance visualization and analysis tool
+ based on traces that can be used to analyse any information that
+ is expressed on its input trace format. Traces for parallel MPI,
+ OpenMP and other programs can be genereated with Extrae.
+
+ Note: This package is deprecated in favor of wxparaver"""
- Note: This package is deprecated in favor of wxparaver"""
homepage = "https://tools.bsc.es/paraver"
url = "https://ftp.tools.bsc.es/wxparaver/wxparaver-4.6.3-src.tar.bz2"
# NOTE: Paraver provides only latest version for download.
# Don't keep/add older versions.
- version('4.6.3', sha256='ac6025eec5419e1060967eab71dfd123e585be5b5f3ac3241085895dbeca255a', deprecated=True)
- version('4.6.2', sha256='74b85bf9e6570001d372b376b58643526e349b1d2f1e7633ca38bb0800ecf929', deprecated=True)
+ version(
+ "4.6.3",
+ sha256="ac6025eec5419e1060967eab71dfd123e585be5b5f3ac3241085895dbeca255a",
+ deprecated=True,
+ )
+ version(
+ "4.6.2",
+ sha256="74b85bf9e6570001d372b376b58643526e349b1d2f1e7633ca38bb0800ecf929",
+ deprecated=True,
+ )
- depends_on('boost@1.36: +serialization')
- depends_on('wxwidgets@2.8:') # NOTE: using external for this one is usually simpler
- depends_on('wxpropgrid@1.4:')
- depends_on('libxml2')
- depends_on('zlib')
+ depends_on("boost@1.36: +serialization")
+ depends_on("wxwidgets@2.8:") # NOTE: using external for this one is usually simpler
+ depends_on("wxpropgrid@1.4:")
+ depends_on("libxml2")
+ depends_on("zlib")
def install(self, spec, prefix):
os.chdir("ptools_common_files")
@@ -37,10 +46,12 @@ class Paraver(Package):
os.chdir("../paraver-kernel")
# "--with-extrae=%s" % spec['extrae'].prefix,
- configure("--prefix=%s" % prefix,
- "--with-ptools-common-files=%s" % prefix,
- "--with-boost=%s" % spec['boost'].prefix,
- "--with-boost-serialization=boost_serialization")
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-ptools-common-files=%s" % prefix,
+ "--with-boost=%s" % spec["boost"].prefix,
+ "--with-boost-serialization=boost_serialization",
+ )
make()
make("install")
@@ -51,10 +62,12 @@ class Paraver(Package):
os.chdir("../wxparaver")
# "--with-extrae=%s" % spec['extrae'].prefix,
- configure("--prefix=%s" % prefix,
- "--with-paraver=%s" % prefix,
- "--with-boost=%s" % spec['boost'].prefix,
- "--with-boost-serialization=boost_serialization",
- "--with-wxdir=%s" % spec['wxwidgets'].prefix.bin)
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-paraver=%s" % prefix,
+ "--with-boost=%s" % spec["boost"].prefix,
+ "--with-boost-serialization=boost_serialization",
+ "--with-wxdir=%s" % spec["wxwidgets"].prefix.bin,
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index f4e6e81734..cf2d1a92b8 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -17,104 +17,122 @@ class Paraview(CMakePackage, CudaPackage):
"""
- homepage = 'https://www.paraview.org'
- url = "https://www.paraview.org/files/v5.7/ParaView-v5.7.0.tar.xz"
+ homepage = "https://www.paraview.org"
+ url = "https://www.paraview.org/files/v5.7/ParaView-v5.7.0.tar.xz"
list_url = "https://www.paraview.org/files"
list_depth = 1
- git = "https://gitlab.kitware.com/paraview/paraview.git"
-
- maintainers = ['chuckatkins', 'danlipsa', 'vicentebolea']
- tags = ['e4s']
-
- version('master', branch='master', submodules=True)
- version('5.10.1', sha256='520e3cdfba4f8592be477314c2f6c37ec73fb1d5b25ac30bdbd1c5214758b9c2', preferred=True)
- version('5.10.0', sha256='86d85fcbec395cdbc8e1301208d7c76d8f48b15dc6b967ffbbaeee31242343a5')
- version('5.9.1', sha256='0d486cb6fbf55e428845c9650486f87466efcb3155e40489182a7ea85dfd4c8d')
- version('5.9.0', sha256='b03258b7cddb77f0ee142e3e77b377e5b1f503bcabc02bfa578298c99a06980d')
- version('5.8.1', sha256='7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034')
- version('5.8.0', sha256='219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9')
- version('5.7.0', sha256='e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874')
- version('5.6.2', sha256='1f3710b77c58a46891808dbe23dc59a1259d9c6b7bb123aaaeaa6ddf2be882ea')
- version('5.6.0', sha256='cb8c4d752ad9805c74b4a08f8ae6e83402c3f11e38b274dba171b99bb6ac2460')
- version('5.5.2', sha256='64561f34c4402b88f3cb20a956842394dde5838efd7ebb301157a837114a0e2d')
- version('5.5.1', sha256='a6e67a95a7a5711a2b5f95f38ccbff4912262b3e1b1af7d6b9afe8185aa85c0d')
- version('5.5.0', sha256='1b619e326ff574de808732ca9a7447e4cd14e94ae6568f55b6581896cd569dff')
- version('5.4.1', sha256='390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4')
- version('5.4.0', sha256='f488d84a53b1286d2ee1967e386626c8ad05a6fe4e6cbdaa8d5e042f519f94a9')
- version('5.3.0', sha256='046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0')
- version('5.2.0', sha256='894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96')
- version('5.1.2', sha256='ff02b7307a256b7c6e8ad900dee5796297494df7f9a0804fe801eb2f66e6a187')
- version('5.0.1', sha256='caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb')
- version('4.4.0', sha256='c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73')
-
- variant('development_files', default=True,
- description='Install include files for Catalyst or plugins support')
- variant('python', default=False, description='Enable Python support')
- variant('python3', default=False, description='Enable Python3 support')
- variant('fortran', default=False, description='Enable Fortran support')
- variant('mpi', default=True, description='Enable MPI support')
- variant('osmesa', default=False, description='Enable OSMesa support')
- variant('qt', default=False, description='Enable Qt (gui) support')
- variant('opengl2', default=True, description='Enable OpenGL2 backend')
- variant('examples', default=False, description="Build examples")
- variant('hdf5', default=False, description="Use external HDF5")
- variant('shared', default=True,
- description='Builds a shared version of the library')
- variant('kits', default=True,
- description='Use module kits')
- variant('pagosa', default=False, description='Build the pagosa adaptor')
- variant('eyedomelighting', default=False,
- description='Enable Eye Dome Lighting feature')
- variant('adios2', default=False,
- description='Enable ADIOS2 support',
- when='@5.8:')
-
- variant('advanced_debug', default=False, description="Enable all other debug flags beside build_type, such as VTK_DEBUG_LEAK")
- variant('build_edition', default='canonical', multi=False,
- values=('canonical', 'catalyst_rendering',
- 'catalyst', 'rendering', 'core'),
- description='Build editions include only certain modules. '
- 'Editions are listed in decreasing order of size.')
- variant('use_vtkm', default='default', multi=False, values=('default', 'on', 'off'),
- description='Build VTK-m with ParaView by setting PARAVIEW_USE_VTKM=ON,OFF.'
- ' "default" lets the build_edition make the decision.'
- ' "on" or "off" will always override the build_edition.')
-
- conflicts('+adios2', when='@:5.10 ~mpi')
- conflicts('+python', when='+python3')
+ git = "https://gitlab.kitware.com/paraview/paraview.git"
+
+ maintainers = ["chuckatkins", "danlipsa", "vicentebolea"]
+ tags = ["e4s"]
+
+ version("master", branch="master", submodules=True)
+ version(
+ "5.10.1",
+ sha256="520e3cdfba4f8592be477314c2f6c37ec73fb1d5b25ac30bdbd1c5214758b9c2",
+ preferred=True,
+ )
+ version("5.10.0", sha256="86d85fcbec395cdbc8e1301208d7c76d8f48b15dc6b967ffbbaeee31242343a5")
+ version("5.9.1", sha256="0d486cb6fbf55e428845c9650486f87466efcb3155e40489182a7ea85dfd4c8d")
+ version("5.9.0", sha256="b03258b7cddb77f0ee142e3e77b377e5b1f503bcabc02bfa578298c99a06980d")
+ version("5.8.1", sha256="7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034")
+ version("5.8.0", sha256="219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9")
+ version("5.7.0", sha256="e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874")
+ version("5.6.2", sha256="1f3710b77c58a46891808dbe23dc59a1259d9c6b7bb123aaaeaa6ddf2be882ea")
+ version("5.6.0", sha256="cb8c4d752ad9805c74b4a08f8ae6e83402c3f11e38b274dba171b99bb6ac2460")
+ version("5.5.2", sha256="64561f34c4402b88f3cb20a956842394dde5838efd7ebb301157a837114a0e2d")
+ version("5.5.1", sha256="a6e67a95a7a5711a2b5f95f38ccbff4912262b3e1b1af7d6b9afe8185aa85c0d")
+ version("5.5.0", sha256="1b619e326ff574de808732ca9a7447e4cd14e94ae6568f55b6581896cd569dff")
+ version("5.4.1", sha256="390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4")
+ version("5.4.0", sha256="f488d84a53b1286d2ee1967e386626c8ad05a6fe4e6cbdaa8d5e042f519f94a9")
+ version("5.3.0", sha256="046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0")
+ version("5.2.0", sha256="894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96")
+ version("5.1.2", sha256="ff02b7307a256b7c6e8ad900dee5796297494df7f9a0804fe801eb2f66e6a187")
+ version("5.0.1", sha256="caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb")
+ version("4.4.0", sha256="c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73")
+
+ variant(
+ "development_files",
+ default=True,
+ description="Install include files for Catalyst or plugins support",
+ )
+ variant("python", default=False, description="Enable Python support")
+ variant("python3", default=False, description="Enable Python3 support")
+ variant("fortran", default=False, description="Enable Fortran support")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("osmesa", default=False, description="Enable OSMesa support")
+ variant("qt", default=False, description="Enable Qt (gui) support")
+ variant("opengl2", default=True, description="Enable OpenGL2 backend")
+ variant("examples", default=False, description="Build examples")
+ variant("hdf5", default=False, description="Use external HDF5")
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant("kits", default=True, description="Use module kits")
+ variant("pagosa", default=False, description="Build the pagosa adaptor")
+ variant("eyedomelighting", default=False, description="Enable Eye Dome Lighting feature")
+ variant("adios2", default=False, description="Enable ADIOS2 support", when="@5.8:")
+
+ variant(
+ "advanced_debug",
+ default=False,
+ description="Enable all other debug flags beside build_type, such as VTK_DEBUG_LEAK",
+ )
+ variant(
+ "build_edition",
+ default="canonical",
+ multi=False,
+ values=("canonical", "catalyst_rendering", "catalyst", "rendering", "core"),
+ description="Build editions include only certain modules. "
+ "Editions are listed in decreasing order of size.",
+ )
+ variant(
+ "use_vtkm",
+ default="default",
+ multi=False,
+ values=("default", "on", "off"),
+ description="Build VTK-m with ParaView by setting PARAVIEW_USE_VTKM=ON,OFF."
+ ' "default" lets the build_edition make the decision.'
+ ' "on" or "off" will always override the build_edition.',
+ )
+
+ conflicts("+adios2", when="@:5.10 ~mpi")
+ conflicts("+python", when="+python3")
# Python 2 support dropped with 5.9.0
- conflicts('+python', when='@5.9:')
- conflicts('+python3', when='@:5.5')
- conflicts('+shared', when='+cuda')
- conflicts('+cuda', when='@5.8:5.10')
+ conflicts("+python", when="@5.9:")
+ conflicts("+python3", when="@:5.5")
+ conflicts("+shared", when="+cuda")
+ conflicts("+cuda", when="@5.8:5.10")
# Legacy rendering dropped in 5.5
# See commit: https://gitlab.kitware.com/paraview/paraview/-/commit/798d328c
- conflicts('~opengl2', when='@5.5:')
+ conflicts("~opengl2", when="@5.5:")
# in 5.7 you cannot reduce the size of the code for Catalyst builds.
- conflicts('build_edition=catalyst_rendering', when='@:5.7')
- conflicts('build_edition=catalyst', when='@:5.7')
- conflicts('build_edition=rendering', when='@:5.7')
- conflicts('build_edition=core', when='@:5.7')
+ conflicts("build_edition=catalyst_rendering", when="@:5.7")
+ conflicts("build_edition=catalyst", when="@:5.7")
+ conflicts("build_edition=rendering", when="@:5.7")
+ conflicts("build_edition=core", when="@:5.7")
# before 5.3.0, ParaView didn't have VTK-m
- conflicts('use_vtkm=on', when='@:5.3')
+ conflicts("use_vtkm=on", when="@:5.3")
# paraview@5.9.0 is recommended when using the xl compiler
# See https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4433
- conflicts('paraview@:5.8', when='%xl_r', msg='Use paraview@5.9.0 with %xl_r. Earlier versions are not able to build with xl.')
+ conflicts(
+ "paraview@:5.8",
+ when="%xl_r",
+ msg="Use paraview@5.9.0 with %xl_r. Earlier versions are not able to build with xl.",
+ )
# 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'
+ "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')
+ conflicts("cuda_arch=%d" % _arch, when="+cuda", msg="ParaView requires cuda_arch >= 20")
- depends_on('cmake@3.3:', type='build')
+ depends_on("cmake@3.3:", type="build")
- depends_on('ninja', type='build')
+ depends_on("ninja", type="build")
# Workaround for
# adding the following to your packages.yaml
@@ -125,166 +143,164 @@ class Paraview(CMakePackage, CudaPackage):
# paraview requires python version 3:, but spec asked for 2.7.16
# for `spack spec paraview+python+osmesa`
# see spack pull request #11539
- extends('python', when='+python')
- extends('python', when='+python3')
+ extends("python", when="+python")
+ extends("python", when="+python3")
- depends_on('python@2.7:2.8', when='+python', type=('build', 'run'))
+ depends_on("python@2.7:2.8", when="+python", type=("build", "run"))
# VTK < 8.2.1 can't handle Python 3.8
# This affects Paraview <= 5.7 (VTK 8.2.0)
# https://gitlab.kitware.com/vtk/vtk/-/issues/17670
- depends_on('python@3:3.7', when='@:5.7 +python3', type=('build', 'run'))
- depends_on('python@3:', when='@5.8:+python3', type=('build', 'run'))
-
- depends_on('py-numpy@:1.15.4', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python3', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python+mpi', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python3+mpi', type=('build', 'run'))
-
- depends_on('py-matplotlib@:2', when='+python', type='run')
- depends_on('py-matplotlib', when='+python3', type='run')
- depends_on('py-pandas@0.21:', when='+python3', type='run')
-
- depends_on('mpi', when='+mpi')
- depends_on('qt+opengl', when='@5.3.0:+qt+opengl2')
- depends_on('qt~opengl', when='@5.3.0:+qt~opengl2')
- depends_on('qt@:4', when='@:5.2.0+qt')
-
- depends_on('gl@3.2:', when='+opengl2')
- depends_on('gl@1.2:', when='~opengl2')
- depends_on('glew')
- depends_on('osmesa', when='+osmesa')
- for p in ['linux', 'cray']:
- depends_on('glx', when='~osmesa platform={}'.format(p))
- depends_on('libxt', when='~osmesa platform={}'.format(p))
- conflicts('+qt', when='+osmesa')
-
- depends_on('bzip2')
- depends_on('double-conversion')
- depends_on('expat')
- depends_on('eigen@3:')
- depends_on('freetype')
+ depends_on("python@3:3.7", when="@:5.7 +python3", type=("build", "run"))
+ depends_on("python@3:", when="@5.8:+python3", type=("build", "run"))
+
+ depends_on("py-numpy@:1.15.4", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python3", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python+mpi", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python3+mpi", type=("build", "run"))
+
+ depends_on("py-matplotlib@:2", when="+python", type="run")
+ depends_on("py-matplotlib", when="+python3", type="run")
+ depends_on("py-pandas@0.21:", when="+python3", type="run")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("qt+opengl", when="@5.3.0:+qt+opengl2")
+ depends_on("qt~opengl", when="@5.3.0:+qt~opengl2")
+ depends_on("qt@:4", when="@:5.2.0+qt")
+
+ depends_on("gl@3.2:", when="+opengl2")
+ depends_on("gl@1.2:", when="~opengl2")
+ depends_on("glew")
+ depends_on("osmesa", when="+osmesa")
+ for p in ["linux", "cray"]:
+ depends_on("glx", when="~osmesa platform={}".format(p))
+ depends_on("libxt", when="~osmesa platform={}".format(p))
+ conflicts("+qt", when="+osmesa")
+
+ depends_on("bzip2")
+ depends_on("double-conversion")
+ depends_on("expat")
+ depends_on("eigen@3:")
+ depends_on("freetype")
# depends_on('hdf5+mpi', when='+mpi')
# depends_on('hdf5~mpi', when='~mpi')
- depends_on('hdf5+hl+mpi', when='+hdf5+mpi')
- depends_on('hdf5+hl~mpi', when='+hdf5~mpi')
- depends_on('hdf5@1.10:', when='+hdf5 @5.10:')
- depends_on('adios2+mpi', when='+adios2+mpi')
- depends_on('adios2~mpi', when='+adios2~mpi')
- depends_on('jpeg')
- depends_on('jsoncpp')
- depends_on('libogg')
- depends_on('libpng')
- depends_on('libtheora')
- depends_on('libtiff')
- depends_on('netcdf-c')
- depends_on('pegtl')
- depends_on('protobuf@3.4:')
- depends_on('libxml2')
- depends_on('lz4')
- depends_on('xz')
- depends_on('zlib')
+ depends_on("hdf5+hl+mpi", when="+hdf5+mpi")
+ depends_on("hdf5+hl~mpi", when="+hdf5~mpi")
+ depends_on("hdf5@1.10:", when="+hdf5 @5.10:")
+ depends_on("adios2+mpi", when="+adios2+mpi")
+ depends_on("adios2~mpi", when="+adios2~mpi")
+ depends_on("jpeg")
+ depends_on("jsoncpp")
+ depends_on("libogg")
+ depends_on("libpng")
+ depends_on("libtheora")
+ depends_on("libtiff")
+ depends_on("netcdf-c")
+ depends_on("pegtl")
+ depends_on("protobuf@3.4:")
+ depends_on("libxml2")
+ depends_on("lz4")
+ depends_on("xz")
+ depends_on("zlib")
# Older builds of pugi export their symbols differently,
# and pre-5.9 is unable to handle that.
- depends_on('pugixml@:1.10', when='@:5.8')
- depends_on('pugixml', when='@5.9:')
+ depends_on("pugixml@:1.10", when="@:5.8")
+ depends_on("pugixml", when="@5.9:")
# Can't contretize with python2 and py-setuptools@45.0.0:
- depends_on('py-setuptools@:44', when='+python')
+ depends_on("py-setuptools@:44", when="+python")
# Can't contretize with python2 and py-pillow@7.0.0:
- depends_on('pil@:6', when='+python')
+ depends_on("pil@:6", when="+python")
# ParaView depends on cli11 due to changes in MR
# https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4951
- depends_on('cli11@1.9.1', when='@5.10:')
+ depends_on("cli11@1.9.1", when="@5.10:")
# ParaView depends on nlohmann-json due to changes in MR
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8550
- depends_on('nlohmann-json', when='@master')
+ depends_on("nlohmann-json", when="@master")
# ParaView depends on proj@8.1.0 due to changes in MR
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8474
- depends_on('proj@8.1.0', when='@master')
+ depends_on("proj@8.1.0", when="@master")
- patch('stl-reader-pv440.patch', when='@4.4.0')
+ patch("stl-reader-pv440.patch", when="@4.4.0")
# Broken gcc-detection - improved in 5.1.0, redundant later
- patch('gcc-compiler-pv501.patch', when='@:5.0.1')
+ patch("gcc-compiler-pv501.patch", when="@:5.0.1")
# Broken installation (ui_pqExportStateWizard.h) - fixed in 5.2.0
- patch('ui_pqExportStateWizard.patch', when='@:5.1.2')
+ patch("ui_pqExportStateWizard.patch", when="@:5.1.2")
# Broken vtk-m config. Upstream catalyst changes
- patch('vtkm-catalyst-pv551.patch', when='@5.5.0:5.5.2')
+ patch("vtkm-catalyst-pv551.patch", when="@5.5.0:5.5.2")
# Broken H5Part with external parallel HDF5
- patch('h5part-parallel.patch', when='@5.7.0:5.7')
+ patch("h5part-parallel.patch", when="@5.7.0:5.7")
# Broken downstream FindMPI
- patch('vtkm-findmpi-downstream.patch', when='@5.9.0')
+ patch("vtkm-findmpi-downstream.patch", when="@5.9.0")
# Include limits header wherever needed to fix compilation with GCC 11
- patch('paraview-gcc11-limits.patch', when='@5.9.1 %gcc@11.1.0:')
+ patch("paraview-gcc11-limits.patch", when="@5.9.1 %gcc@11.1.0:")
# Fix IOADIOS2 module to work with kits
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
- patch('vtk-adios2-module-no-kit.patch', when='@5.8:5.10')
+ patch("vtk-adios2-module-no-kit.patch", when="@5.8:5.10")
# Patch for paraview 5.9.0%xl_r
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591
- patch('xlc-compilation-pv590.patch', when='@5.9.0%xl_r')
+ patch("xlc-compilation-pv590.patch", when="@5.9.0%xl_r")
@property
def generator(self):
# https://gitlab.kitware.com/paraview/paraview/-/issues/21223
- if self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'):
+ if self.spec.satisfies("%xl") or self.spec.satisfies("%xl_r"):
return "Unix Makefiles"
else:
return "Ninja"
def url_for_version(self, version):
- _urlfmt = 'http://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.{3}'
+ _urlfmt = "http://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.{3}"
"""Handle ParaView version-based custom URLs."""
- if version < Version('5.1.0'):
- return _urlfmt.format(version.up_to(2), version, '-source', 'gz')
- elif version < Version('5.6.1'):
- return _urlfmt.format(version.up_to(2), version, '', 'gz')
+ if version < Version("5.1.0"):
+ return _urlfmt.format(version.up_to(2), version, "-source", "gz")
+ elif version < Version("5.6.1"):
+ return _urlfmt.format(version.up_to(2), version, "", "gz")
else:
- return _urlfmt.format(version.up_to(2), version, '', 'xz')
+ return _urlfmt.format(version.up_to(2), version, "", "xz")
@property
def paraview_subdir(self):
"""The paraview subdirectory name as paraview-major.minor"""
- if self.spec.version == Version('master'):
- return 'paraview-5.10'
+ if self.spec.version == Version("master"):
+ return "paraview-5.10"
else:
- return 'paraview-{0}'.format(self.spec.version.up_to(2))
+ return "paraview-{0}".format(self.spec.version.up_to(2))
def setup_dependent_build_environment(self, env, dependent_spec):
if os.path.isdir(self.prefix.lib64):
lib_dir = self.prefix.lib64
else:
lib_dir = self.prefix.lib
- env.set('ParaView_DIR', self.prefix)
+ env.set("ParaView_DIR", self.prefix)
- if self.spec.version <= Version('5.7.0'):
- env.set('PARAVIEW_VTK_DIR',
- join_path(lib_dir, 'cmake', self.paraview_subdir))
+ if self.spec.version <= Version("5.7.0"):
+ env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir))
else:
- env.set('PARAVIEW_VTK_DIR',
- join_path(lib_dir, 'cmake', self.paraview_subdir, 'vtk'))
+ env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk"))
def flag_handler(self, name, flags):
- if name == 'ldflags' and self.spec.satisfies('%intel'):
- flags.append('-shared-intel')
- return(None, flags, None)
+ if name == "ldflags" and self.spec.satisfies("%intel"):
+ flags.append("-shared-intel")
+ return (None, flags, None)
# -no-ipo prevents internal compiler error from multi-file
# optimization (https://github.com/spack/spack/issues/18192)
- if (name == 'cflags' or name == 'cxxflags') and self.spec.satisfies('%intel'):
- flags.append('-no-ipo')
- return(None, None, flags)
- return(flags, None, None)
+ if (name == "cflags" or name == "cxxflags") and self.spec.satisfies("%intel"):
+ flags.append("-no-ipo")
+ return (None, None, flags)
+ return (flags, None, None)
def setup_run_environment(self, env):
# paraview 5.5 and later
@@ -296,49 +312,41 @@ class Paraview(CMakePackage, CudaPackage):
else:
lib_dir = self.prefix.lib
- env.set('ParaView_DIR', self.prefix)
+ env.set("ParaView_DIR", self.prefix)
- if self.spec.version <= Version('5.7.0'):
- env.set('PARAVIEW_VTK_DIR',
- join_path(lib_dir, 'cmake', self.paraview_subdir))
+ if self.spec.version <= Version("5.7.0"):
+ env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir))
else:
- env.set('PARAVIEW_VTK_DIR',
- join_path(lib_dir, 'cmake', self.paraview_subdir, 'vtk'))
+ env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk"))
- if self.spec.version <= Version('5.4.1'):
+ if self.spec.version <= Version("5.4.1"):
lib_dir = join_path(lib_dir, self.paraview_subdir)
- env.prepend_path('LIBRARY_PATH', lib_dir)
- env.prepend_path('LD_LIBRARY_PATH', lib_dir)
+ env.prepend_path("LIBRARY_PATH", lib_dir)
+ env.prepend_path("LD_LIBRARY_PATH", lib_dir)
- if '+python' in self.spec or '+python3' in self.spec:
- if self.spec.version <= Version('5.4.1'):
- pv_pydir = join_path(lib_dir, 'site-packages')
- env.prepend_path('PYTHONPATH', pv_pydir)
- env.prepend_path('PYTHONPATH', join_path(pv_pydir, 'vtk'))
+ if "+python" in self.spec or "+python3" in self.spec:
+ if self.spec.version <= Version("5.4.1"):
+ pv_pydir = join_path(lib_dir, "site-packages")
+ env.prepend_path("PYTHONPATH", pv_pydir)
+ env.prepend_path("PYTHONPATH", join_path(pv_pydir, "vtk"))
else:
- python_version = self.spec['python'].version.up_to(2)
- pv_pydir = join_path(lib_dir,
- 'python{0}'.format(python_version),
- 'site-packages')
- if '+shared' in self.spec or \
- self.spec.version <= Version('5.7.0'):
- env.prepend_path('PYTHONPATH', pv_pydir)
+ python_version = self.spec["python"].version.up_to(2)
+ pv_pydir = join_path(lib_dir, "python{0}".format(python_version), "site-packages")
+ if "+shared" in self.spec or self.spec.version <= Version("5.7.0"):
+ env.prepend_path("PYTHONPATH", pv_pydir)
# The Trilinos Catalyst adapter requires
# the vtkmodules directory in PYTHONPATH
- env.prepend_path('PYTHONPATH', join_path(pv_pydir,
- 'vtkmodules'))
+ env.prepend_path("PYTHONPATH", join_path(pv_pydir, "vtkmodules"))
else:
- env.prepend_path('PYTHONPATH', join_path(pv_pydir,
- '_paraview.zip'))
- env.prepend_path('PYTHONPATH', join_path(pv_pydir,
- '_vtk.zip'))
+ env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_paraview.zip"))
+ env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_vtk.zip"))
def cmake_args(self):
"""Populate cmake arguments for ParaView."""
spec = self.spec
- def variant_bool(feature, on='ON', off='OFF'):
+ def variant_bool(feature, on="ON", off="OFF"):
"""Ternary for spec variant to ON/OFF string"""
if feature in spec:
return on
@@ -346,214 +354,221 @@ class Paraview(CMakePackage, CudaPackage):
def nvariant_bool(feature):
"""Negated ternary for spec variant to OFF/ON string"""
- return variant_bool(feature, on='OFF', off='ON')
+ return variant_bool(feature, on="OFF", off="ON")
- rendering = variant_bool('+opengl2', 'OpenGL2', 'OpenGL')
- includes = variant_bool('+development_files')
+ rendering = variant_bool("+opengl2", "OpenGL2", "OpenGL")
+ includes = variant_bool("+development_files")
cmake_args = [
- '-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' % variant_bool('+osmesa'),
- '-DVTK_USE_X:BOOL=%s' % nvariant_bool('+osmesa'),
- '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=%s' % includes,
- '-DBUILD_TESTING:BOOL=OFF',
- '-DOpenGL_GL_PREFERENCE:STRING=LEGACY']
-
- if spec.satisfies('@5.11:'):
- cmake_args.append('-DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF')
-
- if spec.satisfies('@5.10:'):
- cmake_args.extend([
- '-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF'
- ])
-
- if spec.satisfies('@:5.7') and spec['cmake'].satisfies('@3.17:'):
- cmake_args.append('-DFPHSA_NAME_MISMATCHED:BOOL=ON')
-
- if spec.satisfies('@5.7:'):
- if spec.satisfies('@5.8:'):
- cmake_args.extend([
- '-DPARAVIEW_BUILD_EDITION:STRING=%s' %
- spec.variants['build_edition'].value.upper(),
- '-DPARAVIEW_USE_QT:BOOL=%s' % variant_bool('+qt'),
- '-DPARAVIEW_BUILD_WITH_EXTERNAL=ON'])
- if spec.satisfies('%cce'):
- cmake_args.append('-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF')
+ "-DVTK_OPENGL_HAS_OSMESA:BOOL=%s" % variant_bool("+osmesa"),
+ "-DVTK_USE_X:BOOL=%s" % nvariant_bool("+osmesa"),
+ "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=%s" % includes,
+ "-DBUILD_TESTING:BOOL=OFF",
+ "-DOpenGL_GL_PREFERENCE:STRING=LEGACY",
+ ]
+
+ if spec.satisfies("@5.11:"):
+ cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF")
+
+ if spec.satisfies("@5.10:"):
+ cmake_args.extend(
+ [
+ "-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF",
+ ]
+ )
+
+ if spec.satisfies("@:5.7") and spec["cmake"].satisfies("@3.17:"):
+ cmake_args.append("-DFPHSA_NAME_MISMATCHED:BOOL=ON")
+
+ if spec.satisfies("@5.7:"):
+ if spec.satisfies("@5.8:"):
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_BUILD_EDITION:STRING=%s"
+ % spec.variants["build_edition"].value.upper(),
+ "-DPARAVIEW_USE_QT:BOOL=%s" % variant_bool("+qt"),
+ "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON",
+ ]
+ )
+ if spec.satisfies("%cce"):
+ cmake_args.append("-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF")
else: # @5.7:
- cmake_args.extend([
- '-DPARAVIEW_ENABLE_CATALYST:BOOL=ON',
- '-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % variant_bool('+qt'),
- '-DPARAVIEW_USE_EXTERNAL:BOOL=ON'])
-
- cmake_args.extend([
- '-DPARAVIEW_ENABLE_EXAMPLES:BOOL=%s' % variant_bool(
- '+examples'),
- '-DVTK_MODULE_USE_EXTERNAL_ParaView_cgns=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=OFF'])
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_ENABLE_CATALYST:BOOL=ON",
+ "-DPARAVIEW_BUILD_QT_GUI:BOOL=%s" % variant_bool("+qt"),
+ "-DPARAVIEW_USE_EXTERNAL:BOOL=ON",
+ ]
+ )
+
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_ENABLE_EXAMPLES:BOOL=%s" % variant_bool("+examples"),
+ "-DVTK_MODULE_USE_EXTERNAL_ParaView_cgns=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=OFF",
+ ]
+ )
else:
- cmake_args.extend([
- '-DPARAVIEW_BUILD_EXAMPLES:BOOL=%s' % variant_bool(
- '+examples'),
- '-DVTK_RENDERING_BACKEND:STRING=%s' % rendering,
- '-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % variant_bool('+qt'),
- '-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON',
- '-DVTK_USE_SYSTEM_CGNS:BOOL=OFF',
- '-DVTK_USE_SYSTEM_DIY2:BOOL=OFF',
- '-DVTK_USE_SYSTEM_GL2PS:BOOL=OFF',
- '-DVTK_USE_SYSTEM_ICET:BOOL=OFF',
- '-DVTK_USE_SYSTEM_LIBHARU:BOOL=OFF',
- '-DVTK_USE_SYSTEM_NETCDFCPP:BOOL=OFF',
- '-DVTK_USE_SYSTEM_UTF8:BOOL=OFF',
- '-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF',
- '-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF'])
-
- if '+adios2' in spec:
- cmake_args.extend([
- '-DPARAVIEW_ENABLE_ADIOS2:BOOL=ON'
- ])
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_BUILD_EXAMPLES:BOOL=%s" % variant_bool("+examples"),
+ "-DVTK_RENDERING_BACKEND:STRING=%s" % rendering,
+ "-DPARAVIEW_BUILD_QT_GUI:BOOL=%s" % variant_bool("+qt"),
+ "-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON",
+ "-DVTK_USE_SYSTEM_CGNS:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_DIY2:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_GL2PS:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_ICET:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_LIBHARU:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_NETCDFCPP:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_UTF8:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF",
+ ]
+ )
+
+ if "+adios2" in spec:
+ cmake_args.extend(["-DPARAVIEW_ENABLE_ADIOS2:BOOL=ON"])
# The assumed qt version changed to QT5 (as of paraview 5.2.1),
# so explicitly specify which QT major version is actually being used
- if '+qt' in spec:
- cmake_args.extend([
- '-DPARAVIEW_QT_VERSION=%s' % spec['qt'].version[0],
- ])
+ if "+qt" in spec:
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_QT_VERSION=%s" % spec["qt"].version[0],
+ ]
+ )
- if '+fortran' in spec:
- cmake_args.append('-DPARAVIEW_USE_FORTRAN:BOOL=ON')
+ if "+fortran" in spec:
+ cmake_args.append("-DPARAVIEW_USE_FORTRAN:BOOL=ON")
# CMake flags for python have changed with newer ParaView versions
# Make sure Spack uses the right cmake flags
- if '+python' in spec or '+python3' in spec:
- py_use_opt = 'USE' if spec.satisfies('@5.8:') else 'ENABLE'
- py_ver_opt = 'PARAVIEW' if spec.satisfies('@5.7:') else 'VTK'
- py_ver_val = 3 if '+python3' in spec else 2
- cmake_args.extend([
- '-DPARAVIEW_%s_PYTHON:BOOL=ON' % py_use_opt,
- '-DPYTHON_EXECUTABLE:FILEPATH=%s' %
- spec['python'].command.path,
- '-D%s_PYTHON_VERSION:STRING=%d' % (py_ver_opt, py_ver_val)
- ])
- if spec.satisfies('@:5.6'):
- cmake_args.append(
- '-DVTK_USE_SYSTEM_MPI4PY:BOOL=%s' % variant_bool('+mpi'))
+ if "+python" in spec or "+python3" in spec:
+ py_use_opt = "USE" if spec.satisfies("@5.8:") else "ENABLE"
+ py_ver_opt = "PARAVIEW" if spec.satisfies("@5.7:") else "VTK"
+ py_ver_val = 3 if "+python3" in spec else 2
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_%s_PYTHON:BOOL=ON" % py_use_opt,
+ "-DPYTHON_EXECUTABLE:FILEPATH=%s" % spec["python"].command.path,
+ "-D%s_PYTHON_VERSION:STRING=%d" % (py_ver_opt, py_ver_val),
+ ]
+ )
+ if spec.satisfies("@:5.6"):
+ cmake_args.append("-DVTK_USE_SYSTEM_MPI4PY:BOOL=%s" % variant_bool("+mpi"))
else:
- cmake_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF')
-
- if '+mpi' in spec:
- cmake_args.extend([
- '-DPARAVIEW_USE_MPI:BOOL=ON',
- '-DMPIEXEC:FILEPATH=%s/bin/mpiexec' % spec['mpi'].prefix,
- '-DMPI_CXX_COMPILER:PATH=%s' % spec['mpi'].mpicxx,
- '-DMPI_C_COMPILER:PATH=%s' % spec['mpi'].mpicc,
- '-DMPI_Fortran_COMPILER:PATH=%s' % spec['mpi'].mpifc
- ])
+ cmake_args.append("-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF")
+
+ if "+mpi" in spec:
+ cmake_args.extend(
+ [
+ "-DPARAVIEW_USE_MPI:BOOL=ON",
+ "-DMPIEXEC:FILEPATH=%s/bin/mpiexec" % spec["mpi"].prefix,
+ "-DMPI_CXX_COMPILER:PATH=%s" % spec["mpi"].mpicxx,
+ "-DMPI_C_COMPILER:PATH=%s" % spec["mpi"].mpicc,
+ "-DMPI_Fortran_COMPILER:PATH=%s" % spec["mpi"].mpifc,
+ ]
+ )
- cmake_args.append(
- '-DPARAVIEW_BUILD_SHARED_LIBS:BOOL=%s' % variant_bool('+shared'))
+ cmake_args.append("-DPARAVIEW_BUILD_SHARED_LIBS:BOOL=%s" % variant_bool("+shared"))
# VTK-m added to ParaView in 5.3.0 and up
- if spec.satisfies('@5.3.0:') and spec.variants['use_vtkm'].value != 'default':
- cmake_args.append('-DPARAVIEW_USE_VTKM:BOOL=%s' %
- spec.variants['use_vtkm'].value.upper())
-
- if spec.satisfies('@5.8:'):
- cmake_args.append('-DPARAVIEW_USE_CUDA:BOOL=%s' %
- variant_bool('+cuda'))
- elif spec.satisfies('@5.7:'):
- cmake_args.append('-DVTK_USE_CUDA:BOOL=%s' % variant_bool('+cuda'))
+ if spec.satisfies("@5.3.0:") and spec.variants["use_vtkm"].value != "default":
+ cmake_args.append(
+ "-DPARAVIEW_USE_VTKM:BOOL=%s" % spec.variants["use_vtkm"].value.upper()
+ )
+
+ if spec.satisfies("@5.8:"):
+ cmake_args.append("-DPARAVIEW_USE_CUDA:BOOL=%s" % variant_bool("+cuda"))
+ elif spec.satisfies("@5.7:"):
+ cmake_args.append("-DVTK_USE_CUDA:BOOL=%s" % variant_bool("+cuda"))
else:
- cmake_args.append('-DVTKm_ENABLE_CUDA:BOOL=%s' %
- variant_bool('+cuda'))
+ cmake_args.append("-DVTKm_ENABLE_CUDA:BOOL=%s" % variant_bool("+cuda"))
# VTK-m expects cuda_arch to be the arch name vs. the arch version.
- if spec.satisfies('+cuda'):
+ 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',
+ "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
+ 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':
+ 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))
+ cmake_args.append(self.define("VTKm_CUDA_Architecture", cuda_arch_value))
- if 'darwin' in spec.architecture:
- cmake_args.extend([
- '-DVTK_USE_X:BOOL=OFF',
- '-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON',
- ])
+ if "darwin" in spec.architecture:
+ cmake_args.extend(
+ [
+ "-DVTK_USE_X:BOOL=OFF",
+ "-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON",
+ ]
+ )
- if '+kits' in spec:
- if spec.satisfies('@5.0:5.6'):
- cmake_args.append(
- '-DVTK_ENABLE_KITS:BOOL=ON')
- elif spec.satisfies('@5.7'):
+ if "+kits" in spec:
+ if spec.satisfies("@5.0:5.6"):
+ cmake_args.append("-DVTK_ENABLE_KITS:BOOL=ON")
+ elif spec.satisfies("@5.7"):
# cmake_args.append('-DPARAVIEW_ENABLE_KITS:BOOL=ON')
# Kits are broken with 5.7
- cmake_args.append('-DPARAVIEW_ENABLE_KITS:BOOL=OFF')
+ cmake_args.append("-DPARAVIEW_ENABLE_KITS:BOOL=OFF")
else:
- cmake_args.append('-DPARAVIEW_BUILD_WITH_KITS:BOOL=ON')
+ cmake_args.append("-DPARAVIEW_BUILD_WITH_KITS:BOOL=ON")
- if '+pagosa' in spec:
- cmake_args.append('-DPARAVIEW_BUILD_PAGOSA_ADAPTOR:BOOL=ON')
+ if "+pagosa" in spec:
+ cmake_args.append("-DPARAVIEW_BUILD_PAGOSA_ADAPTOR:BOOL=ON")
- if '+eyedomelighting' in spec:
- cmake_args.append('-DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON')
+ if "+eyedomelighting" in spec:
+ cmake_args.append("-DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON")
# Hide git from Paraview so it will not use `git describe`
# to find its own version number
- if spec.satisfies('@5.4.0:5.4.1'):
- cmake_args.extend([
- '-DGIT_EXECUTABLE=FALSE'
- ])
+ if spec.satisfies("@5.4.0:5.4.1"):
+ cmake_args.extend(["-DGIT_EXECUTABLE=FALSE"])
# A bug that has been found in vtk causes an error for
# intel builds for version 5.6. This should be revisited
# with later versions of Paraview to see if the issues still
# arises.
- if '%intel' in spec and spec.version >= Version('5.6'):
- cmake_args.append('-DPARAVIEW_ENABLE_MOTIONFX:BOOL=OFF')
+ if "%intel" in spec and spec.version >= Version("5.6"):
+ cmake_args.append("-DPARAVIEW_ENABLE_MOTIONFX:BOOL=OFF")
# Encourage Paraview to use the correct Python libs
- if spec.satisfies('+python') or spec.satisfies('+python3'):
- pylibdirs = spec['python'].libs.directories
- cmake_args.append(
- "-DCMAKE_INSTALL_RPATH={0}".format(
- ":".join(self.rpath + pylibdirs)
- )
- )
+ if spec.satisfies("+python") or spec.satisfies("+python3"):
+ pylibdirs = spec["python"].libs.directories
+ cmake_args.append("-DCMAKE_INSTALL_RPATH={0}".format(":".join(self.rpath + pylibdirs)))
- if '+advanced_debug' in spec:
- cmake_args.append('-DVTK_DEBUG_LEAKS:BOOL=ON')
+ if "+advanced_debug" in spec:
+ cmake_args.append("-DVTK_DEBUG_LEAKS:BOOL=ON")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/parflow/package.py b/var/spack/repos/builtin/packages/parflow/package.py
index 04a04c5e94..9ad0e45f85 100644
--- a/var/spack/repos/builtin/packages/parflow/package.py
+++ b/var/spack/repos/builtin/packages/parflow/package.py
@@ -14,24 +14,24 @@ class Parflow(CMakePackage):
land-surface processes."""
homepage = "https://www.parflow.org/"
- url = "https://github.com/parflow/parflow/archive/v3.9.0.tar.gz"
- git = "https://github.com/parflow/parflow.git"
+ url = "https://github.com/parflow/parflow/archive/v3.9.0.tar.gz"
+ git = "https://github.com/parflow/parflow.git"
- maintainers = ['smithsg84']
+ maintainers = ["smithsg84"]
- version('develop', branch='master')
- version('3.9.0', sha256='0ac610208baf973ac07ca93187ec289ba3f6e904d3f01d721ee96a2ace0f5e48')
- version('3.8.0', sha256='5ad01457bb03265d1e221090450e3bac5a680d6290db7e3872c295ce6d6aaa08')
+ version("develop", branch="master")
+ version("3.9.0", sha256="0ac610208baf973ac07ca93187ec289ba3f6e904d3f01d721ee96a2ace0f5e48")
+ version("3.8.0", sha256="5ad01457bb03265d1e221090450e3bac5a680d6290db7e3872c295ce6d6aaa08")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
# Using explicit versions to keep builds consistent
- depends_on('tcl@8.6.11')
- depends_on('mpi@3.0.0', when='+mpi')
- depends_on('hdf5@1.10.7 +mpi', when='+mpi')
- depends_on('netcdf-c@4.5.0')
- depends_on('silo@4.10.2 -hzip -fpzip')
- depends_on('hypre@2.20.0')
+ depends_on("tcl@8.6.11")
+ depends_on("mpi@3.0.0", when="+mpi")
+ depends_on("hdf5@1.10.7 +mpi", when="+mpi")
+ depends_on("netcdf-c@4.5.0")
+ depends_on("silo@4.10.2 -hzip -fpzip")
+ depends_on("hypre@2.20.0")
parallel = False
@@ -40,18 +40,20 @@ class Parflow(CMakePackage):
spec = self.spec
cmake_args = [
- '-DCMAKE_BUILD_TYPE=Release',
- '-DPARFLOW_AMPS_LAYER=mpi1',
- '-DPARFLOW_HAVE_CLM=TRUE',
- '-DTCL_TCLSH={0}'.format(spec['tcl'].prefix.bin.tclsh),
- '-DTCL_LIBRARY={0}'.format(LibraryList(find_libraries('libtcl*',
- self.spec['tcl'].prefix,
- shared=True, recursive=True))),
- '-DHDF5_ROOT={0}'.format(spec['hdf5'].prefix),
- '-DSILO_ROOT={0}'.format(spec['silo'].prefix),
- '-DHYPRE_ROOT={0}'.format(spec['hypre'].prefix),
- '-DPARFLOW_ENABLE_NETCDF=TRUE',
- '-DNETCDF_DIR={0}'.format(spec['netcdf-c'].prefix),
+ "-DCMAKE_BUILD_TYPE=Release",
+ "-DPARFLOW_AMPS_LAYER=mpi1",
+ "-DPARFLOW_HAVE_CLM=TRUE",
+ "-DTCL_TCLSH={0}".format(spec["tcl"].prefix.bin.tclsh),
+ "-DTCL_LIBRARY={0}".format(
+ LibraryList(
+ find_libraries("libtcl*", self.spec["tcl"].prefix, shared=True, recursive=True)
+ )
+ ),
+ "-DHDF5_ROOT={0}".format(spec["hdf5"].prefix),
+ "-DSILO_ROOT={0}".format(spec["silo"].prefix),
+ "-DHYPRE_ROOT={0}".format(spec["hypre"].prefix),
+ "-DPARFLOW_ENABLE_NETCDF=TRUE",
+ "-DNETCDF_DIR={0}".format(spec["netcdf-c"].prefix),
]
return cmake_args
@@ -59,7 +61,7 @@ class Parflow(CMakePackage):
def setup_run_environment(self, env):
"""Setup the run environment for ParFlow package."""
# ParFlow requires a PARFLOW_DIR env variable for correct execution
- env.set('PARFLOW_DIR', self.spec.prefix)
+ env.set("PARFLOW_DIR", self.spec.prefix)
examples_dir = "examples"
@@ -70,13 +72,14 @@ class Parflow(CMakePackage):
if os.path.isdir(run_path):
with working_dir(run_path):
self.run_test(
- '{0}/tclsh'.format(self.spec['tcl'].prefix.bin),
- ['default_single.tcl', '1', '1' '1'])
+ "{0}/tclsh".format(self.spec["tcl"].prefix.bin),
+ ["default_single.tcl", "1", "1" "1"],
+ )
else:
# If examples are not installed test if exe executes
- exes = ['parflow']
+ exes = ["parflow"]
for exe in exes:
- reason = 'test version of {0} is {1}'.format(exe,
- self.spec.version)
- self.run_test(exe, ['-v'], [self.spec.version.string],
- installed=True, purpose=reason)
+ reason = "test version of {0} is {1}".format(exe, self.spec.version)
+ self.run_test(
+ exe, ["-v"], [self.spec.version.string], installed=True, purpose=reason
+ )
diff --git a/var/spack/repos/builtin/packages/parmetis/package.py b/var/spack/repos/builtin/packages/parmetis/package.py
index 206eea6233..87a1b9d361 100644
--- a/var/spack/repos/builtin/packages/parmetis/package.py
+++ b/var/spack/repos/builtin/packages/parmetis/package.py
@@ -11,77 +11,79 @@ from spack.package import *
class Parmetis(CMakePackage):
"""ParMETIS is an MPI-based parallel library that implements a variety of
- algorithms for partitioning unstructured graphs, meshes, and for
- computing fill-reducing orderings of sparse matrices."""
+ algorithms for partitioning unstructured graphs, meshes, and for
+ computing fill-reducing orderings of sparse matrices."""
- homepage = 'http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview'
- url = 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz'
- list_url = 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD'
+ homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"
+ url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
+ list_url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/OLD"
- version('4.0.3', sha256='f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f')
- version('4.0.2', sha256='5acbb700f457d3bda7d4bb944b559d7f21f075bb6fa4c33f42c261019ef2f0b2')
+ version("4.0.3", sha256="f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f")
+ version("4.0.2", sha256="5acbb700f457d3bda7d4bb944b559d7f21f075bb6fa4c33f42c261019ef2f0b2")
- variant('shared', default=True, description='Enables the build of shared libraries.')
- variant('gdb', default=False, description='Enables gdb support.')
- variant('int64', default=False, description='Sets the bit width of METIS\'s index type to 64.')
+ variant("shared", default=True, description="Enables the build of shared libraries.")
+ variant("gdb", default=False, description="Enables gdb support.")
+ variant("int64", default=False, description="Sets the bit width of METIS's index type to 64.")
- depends_on('cmake@2.8:', type='build')
- depends_on('mpi')
- depends_on('metis@5:')
- depends_on('metis+int64', when='+int64')
- depends_on('metis~int64', when='~int64')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("mpi")
+ depends_on("metis@5:")
+ depends_on("metis+int64", when="+int64")
+ depends_on("metis~int64", when="~int64")
- patch('enable_external_metis.patch')
+ patch("enable_external_metis.patch")
# bug fixes from PETSc developers
# https://bitbucket.org/petsc/pkg-parmetis/commits/1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b/raw/
- patch('pkg-parmetis-1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b.patch')
+ patch("pkg-parmetis-1c1a9fd0f408dc4d42c57f5c3ee6ace411eb222b.patch")
# https://bitbucket.org/petsc/pkg-parmetis/commits/82409d68aa1d6cbc70740d0f35024aae17f7d5cb/raw/
- patch('pkg-parmetis-82409d68aa1d6cbc70740d0f35024aae17f7d5cb.patch')
+ patch("pkg-parmetis-82409d68aa1d6cbc70740d0f35024aae17f7d5cb.patch")
def flag_handler(self, name, flags):
- if name == 'cflags':
- if '%pgi' in self.spec:
- my_flags = flags + ['-c11']
+ if name == "cflags":
+ if "%pgi" in self.spec:
+ my_flags = flags + ["-c11"]
return (None, None, my_flags)
return (None, None, flags)
def url_for_version(self, version):
- url = 'http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis'
- if version < Version('3.2.0'):
- url += '/OLD'
- url += '/parmetis-{0}.tar.gz'.format(version)
+ url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis"
+ if version < Version("3.2.0"):
+ url += "/OLD"
+ url += "/parmetis-{0}.tar.gz".format(version)
return url
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DGKLIB_PATH:PATH=%s/GKlib' % spec['metis'].prefix.include,
- '-DMETIS_PATH:PATH=%s' % spec['metis'].prefix,
- '-DCMAKE_C_COMPILER:STRING=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER:STRING=%s' % spec['mpi'].mpicxx
- ])
-
- if '+shared' in spec:
- options.append('-DSHARED:BOOL=ON')
+ options.extend(
+ [
+ "-DGKLIB_PATH:PATH=%s/GKlib" % spec["metis"].prefix.include,
+ "-DMETIS_PATH:PATH=%s" % spec["metis"].prefix,
+ "-DCMAKE_C_COMPILER:STRING=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER:STRING=%s" % spec["mpi"].mpicxx,
+ ]
+ )
+
+ if "+shared" in spec:
+ options.append("-DSHARED:BOOL=ON")
else:
# Remove all RPATH options
# (RPATHxxx options somehow trigger cmake to link dynamically)
rpath_options = []
for o in options:
- if o.find('RPATH') >= 0:
+ if o.find("RPATH") >= 0:
rpath_options.append(o)
for o in rpath_options:
options.remove(o)
- if '+gdb' in spec:
- options.append('-DGDB:BOOL=ON')
+ if "+gdb" in spec:
+ options.append("-DGDB:BOOL=ON")
return options
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if (sys.platform == 'darwin') and ('+shared' in self.spec):
+ if (sys.platform == "darwin") and ("+shared" in self.spec):
fix_darwin_install_name(prefix.lib)
diff --git a/var/spack/repos/builtin/packages/parmgridgen/package.py b/var/spack/repos/builtin/packages/parmgridgen/package.py
index 3c70b9f37a..269f9682ba 100644
--- a/var/spack/repos/builtin/packages/parmgridgen/package.py
+++ b/var/spack/repos/builtin/packages/parmgridgen/package.py
@@ -18,33 +18,34 @@ class Parmgridgen(Package):
homepage = "https://github.com/mrklein/ParMGridGen"
url = "http://www.stasyan.com/devel/distfiles/ParMGridGen-1.0.tar.gz"
- version('1.0', sha256='62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395')
+ version("1.0", sha256="62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395")
- variant('mpi', default=True,
- description='Activate the compilation of parallel libraries')
+ variant("mpi", default=True, description="Activate the compilation of parallel libraries")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def install(self, spec, prefix):
make_opts = [
- 'make=make',
- 'COPTIONS={0}'.format(self.compiler.cc_pic_flag),
- 'LDOPTIONS={0}'.format(self.compiler.cc_pic_flag),
- 'CC={0}'.format(self.compiler.cc),
- 'LD={0}'.format(self.compiler.cc),
- 'LIBDIR=-L../..',
- 'LIBS=-L../.. -lmgrid -lm',
+ "make=make",
+ "COPTIONS={0}".format(self.compiler.cc_pic_flag),
+ "LDOPTIONS={0}".format(self.compiler.cc_pic_flag),
+ "CC={0}".format(self.compiler.cc),
+ "LD={0}".format(self.compiler.cc),
+ "LIBDIR=-L../..",
+ "LIBS=-L../.. -lmgrid -lm",
]
- if '+mpi' in spec:
- make_opts.extend([
- 'PARCC={0}'.format(spec['mpi'].mpicc),
- 'PARLD={0}'.format(spec['mpi'].mpicc),
- 'PARLIBS=-L../.. -lparmgrid -lmgrid -lm',
- 'parallel'
- ])
+ if "+mpi" in spec:
+ make_opts.extend(
+ [
+ "PARCC={0}".format(spec["mpi"].mpicc),
+ "PARLD={0}".format(spec["mpi"].mpicc),
+ "PARLIBS=-L../.. -lparmgrid -lmgrid -lm",
+ "parallel",
+ ]
+ )
else:
- make_opts.append('serial')
+ make_opts.append("serial")
make(*make_opts, parallel=False)
@@ -52,9 +53,9 @@ class Parmgridgen(Package):
install("mgridgen.h", prefix.include)
install("libmgrid.a", prefix.lib)
- install("mgridgen", prefix.bin)
+ install("mgridgen", prefix.bin)
- if '+mpi' in spec:
+ if "+mpi" in spec:
install("parmgridgen.h", prefix.include)
install("libparmgrid.a", prefix.lib)
- install("parmgridgen", prefix.bin)
+ install("parmgridgen", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/parmmg/package.py b/var/spack/repos/builtin/packages/parmmg/package.py
index f03d98f0bc..e7c8428ef5 100644
--- a/var/spack/repos/builtin/packages/parmmg/package.py
+++ b/var/spack/repos/builtin/packages/parmmg/package.py
@@ -10,26 +10,25 @@ 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"
+ url = "https://github.com/MmgTools/ParMmg/archive/refs/tags/v1.3.0.tar.gz"
- maintainers = ['corentin-dev']
+ 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')
+ 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')
+ depends_on("mmg")
+ depends_on("metis")
+ depends_on("vtk")
+ depends_on("mpi")
- variant('pic', default=True,
- description='Build with position independent code')
+ variant("pic", default=True, description="Build with position independent code")
def cmake_args(self):
args = [
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
]
return args
diff --git a/var/spack/repos/builtin/packages/parquet-cpp/package.py b/var/spack/repos/builtin/packages/parquet-cpp/package.py
index fd2219b04a..067f53d7fe 100644
--- a/var/spack/repos/builtin/packages/parquet-cpp/package.py
+++ b/var/spack/repos/builtin/packages/parquet-cpp/package.py
@@ -8,42 +8,42 @@ from spack.pkg.builtin.boost import Boost
class ParquetCpp(CMakePackage):
- """C++ bindings for the Apache Parquet columnar data format.
- """
+ """C++ bindings for the Apache Parquet columnar data format."""
homepage = "https://github.com/apache/parquet-cpp"
url = "https://github.com/apache/parquet-cpp/archive/apache-parquet-cpp-1.4.0.tar.gz"
- version('1.4.0', sha256='52899be6c9dc49a14976d4ad84597243696c3fa2882e5c802b56e912bfbcc7ce')
+ version("1.4.0", sha256="52899be6c9dc49a14976d4ad84597243696c3fa2882e5c802b56e912bfbcc7ce")
- depends_on('arrow')
+ depends_on("arrow")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('cmake@3.2.0:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('thrift+pic')
-
- variant('pic', default=True,
- description='Build position independent code')
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'FastDebug', 'Release'))
+ depends_on("cmake@3.2.0:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("thrift+pic")
+
+ variant("pic", default=True, description="Build position independent code")
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "FastDebug", "Release"),
+ )
def cmake_args(self):
- args = ['-DPARQUET_USE_SSE=OFF', '-DPARQUET_BUILD_TESTS=OFF']
- for dep in ('arrow', 'thrift'):
- args.append("-D{0}_HOME={1}".format(dep.upper(),
- self.spec[dep].prefix))
+ args = ["-DPARQUET_USE_SSE=OFF", "-DPARQUET_BUILD_TESTS=OFF"]
+ for dep in ("arrow", "thrift"):
+ args.append("-D{0}_HOME={1}".format(dep.upper(), self.spec[dep].prefix))
return args
def flag_handler(self, name, flags):
flags = list(flags)
- if '+pic' in self.spec:
- if name == 'cflags':
+ if "+pic" in self.spec:
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
+ elif name == "cxxflags":
flags.append(self.compiler.cxx_pic_flag)
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/parquet-format/package.py b/var/spack/repos/builtin/packages/parquet-format/package.py
index 2ca3925e2c..199047b42a 100644
--- a/var/spack/repos/builtin/packages/parquet-format/package.py
+++ b/var/spack/repos/builtin/packages/parquet-format/package.py
@@ -10,10 +10,10 @@ class ParquetFormat(MavenPackage):
"""ParquetFormat is a columnar storage format that supports nested data."""
homepage = "https://github.com/apache/parquet-format/"
- url = "https://github.com/apache/parquet-format/archive/apache-parquet-format-2.8.0.tar.gz"
+ url = "https://github.com/apache/parquet-format/archive/apache-parquet-format-2.8.0.tar.gz"
- version('2.8.0', sha256='345c044cea73997162e0c38ae830509ee424faf49c90974e4f244079a3df01b0')
- version('2.7.0', sha256='e821ffc67f61b49afce017ce2d1d402b4df352ca49dbeae167b06c4d3264b6ba')
+ version("2.8.0", sha256="345c044cea73997162e0c38ae830509ee424faf49c90974e4f244079a3df01b0")
+ version("2.7.0", sha256="e821ffc67f61b49afce017ce2d1d402b4df352ca49dbeae167b06c4d3264b6ba")
- depends_on('thrift@0.12.0', when='@2.7.0:')
- depends_on('java@8', type=('build', 'run'))
+ depends_on("thrift@0.12.0", when="@2.7.0:")
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/parsec/package.py b/var/spack/repos/builtin/packages/parsec/package.py
index 2621afb332..8c65730c0e 100644
--- a/var/spack/repos/builtin/packages/parsec/package.py
+++ b/var/spack/repos/builtin/packages/parsec/package.py
@@ -15,78 +15,99 @@ class Parsec(CMakePackage, CudaPackage):
parallel execution of micro-tasks on distributed, heterogeneous systems.
"""
- homepage = "https://icl.utk.edu/dte"
- git = "https://github.com/icldisco/parsec.git"
- url = "https://github.com/ICLDisco/parsec/archive/refs/tags/parsec-3.0.2012.tar.gz"
- list_url = "https://github.com/ICLDisco/parsec/tags"
- maintainers = ['abouteiller', 'bosilca', 'herault']
- tags = ['e4s']
+ homepage = "https://icl.utk.edu/dte"
+ git = "https://github.com/icldisco/parsec.git"
+ url = "https://github.com/ICLDisco/parsec/archive/refs/tags/parsec-3.0.2012.tar.gz"
+ list_url = "https://github.com/ICLDisco/parsec/tags"
+ maintainers = ["abouteiller", "bosilca", "herault"]
+ tags = ["e4s"]
test_requires_compiler = True
- version('master', branch='master')
- version('3.0.2012', sha256='f565bcfffe106be8237b6aea3e83a5770607b7236606414b6f270244fa6ec3bc', url='https://bitbucket.org/icldistcomp/parsec/get/parsec-3.0.2012.tar.bz2')
- version('1.1.0', sha256='d2928033c121000ae0a554f1e7f757c1f22274a8b74457ecd52744ae1f70b95a', url='https://bitbucket.org/icldistcomp/parsec/get/v1.1.0.tar.bz2')
+ version("master", branch="master")
+ version(
+ "3.0.2012",
+ sha256="f565bcfffe106be8237b6aea3e83a5770607b7236606414b6f270244fa6ec3bc",
+ url="https://bitbucket.org/icldistcomp/parsec/get/parsec-3.0.2012.tar.bz2",
+ )
+ version(
+ "1.1.0",
+ sha256="d2928033c121000ae0a554f1e7f757c1f22274a8b74457ecd52744ae1f70b95a",
+ url="https://bitbucket.org/icldistcomp/parsec/get/v1.1.0.tar.bz2",
+ )
- variant('build_type', default='RelWithDebInfo', description='CMake build type', values=('Debug', 'Release', 'RelWithDebInfo'))
- variant('shared', default=True, description='Build a shared library')
- variant('cuda', default=True, description='Build with CUDA')
- variant('profile', default=False, description='Generate profiling data')
- variant('debug_verbose', default=False, description='Debug version with verbose and paranoid (incurs performance overhead!)')
- conflicts('+debug_verbose build_type=Release', msg='You need to set build_type=Debug for +debug_verbose')
- conflicts('+debug_verbose build_type=RelWithDebInfo', msg='You need to set build_type=Debug for +debug_verbose')
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+ variant("shared", default=True, description="Build a shared library")
+ variant("cuda", default=True, description="Build with CUDA")
+ variant("profile", default=False, description="Generate profiling data")
+ variant(
+ "debug_verbose",
+ default=False,
+ description="Debug version with verbose and paranoid (incurs performance overhead!)",
+ )
+ conflicts(
+ "+debug_verbose build_type=Release",
+ msg="You need to set build_type=Debug for +debug_verbose",
+ )
+ conflicts(
+ "+debug_verbose build_type=RelWithDebInfo",
+ msg="You need to set build_type=Debug for +debug_verbose",
+ )
# TODO: Spack does not handle cross-compilation atm
# variant('xcompile', default=False, description='Cross compile')
- depends_on('cmake@3.18:', 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')
- depends_on('python', type=('build', 'run'), when='+profile')
- depends_on('py-cython', type=('build', 'run'), when='+profile')
- depends_on('py-pandas', type=('build', 'run'), when='+profile')
- depends_on('py-matplotlib', type=('build', 'run'), when='+profile')
- depends_on('py-tables', type=('build', 'run'), when='+profile')
+ depends_on("cmake@3.18:", 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")
+ depends_on("python", type=("build", "run"), when="+profile")
+ depends_on("py-cython", type=("build", "run"), when="+profile")
+ depends_on("py-pandas", type=("build", "run"), when="+profile")
+ depends_on("py-matplotlib", type=("build", "run"), when="+profile")
+ depends_on("py-tables", type=("build", "run"), when="+profile")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('PARSEC_GPU_WITH_CUDA', 'cuda'),
- self.define_from_variant('PARSEC_PROF_TRACE', 'profile'),
- self.define_from_variant('PARSEC_DEBUG_HISTORY', 'debug_verbose'),
- self.define_from_variant('PARSEC_DEBUG_PARANOID', 'debug_verbose'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("PARSEC_GPU_WITH_CUDA", "cuda"),
+ self.define_from_variant("PARSEC_PROF_TRACE", "profile"),
+ self.define_from_variant("PARSEC_DEBUG_HISTORY", "debug_verbose"),
+ self.define_from_variant("PARSEC_DEBUG_PARANOID", "debug_verbose"),
]
return args
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check(self):
"""Run ctest after building binary."""
with working_dir(self.build_directory):
try:
- ctest('--output-on-failure', '-j1')
+ ctest("--output-on-failure", "-j1")
except ProcessError:
- warn = 'ctest tests failed.\n'
- warn += 'Please report this failure to:\n'
- warn += 'https://bitbucket.org/icldistcomp/parsec/issues'
+ warn = "ctest tests failed.\n"
+ warn += "Please report this failure to:\n"
+ warn += "https://bitbucket.org/icldistcomp/parsec/issues"
tty.msg(warn)
def test(self):
"""Compile and run a user program with the installed library"""
- with working_dir(join_path(self.install_test_root,
- 'contrib/build_with_parsec')):
- self.run_test('cmake',
- options=['.'],
- purpose='Check if CMake can find PaRSEC and its targets')
- self.run_test('make',
- purpose='Check if tests can compile')
- self.run_test('./dtd_test_allreduce')
- self.run_test('./write_check')
+ with working_dir(join_path(self.install_test_root, "contrib/build_with_parsec")):
+ self.run_test(
+ "cmake", options=["."], purpose="Check if CMake can find PaRSEC and its targets"
+ )
+ self.run_test("make", purpose="Check if tests can compile")
+ self.run_test("./dtd_test_allreduce")
+ self.run_test("./write_check")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
- srcs = ['contrib/build_with_parsec']
+ srcs = ["contrib/build_with_parsec"]
self.cache_extra_test_sources(srcs)
diff --git a/var/spack/repos/builtin/packages/parsimonator/package.py b/var/spack/repos/builtin/packages/parsimonator/package.py
index 92a27e355a..fb056519ce 100644
--- a/var/spack/repos/builtin/packages/parsimonator/package.py
+++ b/var/spack/repos/builtin/packages/parsimonator/package.py
@@ -13,36 +13,36 @@ class Parsimonator(MakefilePackage):
"""
homepage = "http://www.exelixis-lab.org/"
- git = "https://github.com/stamatak/Parsimonator-1.0.2.git"
+ git = "https://github.com/stamatak/Parsimonator-1.0.2.git"
- version('1.0.2', commit='78368c6ab1e9adc7e9c6ec9256dd7ff2a5bb1b0a')
+ version("1.0.2", commit="78368c6ab1e9adc7e9c6ec9256dd7ff2a5bb1b0a")
- patch('nox86.patch')
+ patch("nox86.patch")
@property
def makefile_file(self):
- if self.spec.target.family != 'x86_64':
- return 'Makefile.nosse'
+ if self.spec.target.family != "x86_64":
+ return "Makefile.nosse"
- if 'avx' in self.spec.target:
- return 'Makefile.AVX.gcc'
- elif 'sse3' in self.spec.target:
- return 'Makefile.SSE3.gcc'
+ if "avx" in self.spec.target:
+ return "Makefile.AVX.gcc"
+ elif "sse3" in self.spec.target:
+ return "Makefile.SSE3.gcc"
- return 'Makefile.gcc'
+ return "Makefile.gcc"
def edit(self, spec, prefix):
makefile = FileFilter(self.makefile_file)
- makefile.filter('CC = gcc', 'CC = %s' % spack_cc)
+ makefile.filter("CC = gcc", "CC = %s" % spack_cc)
def build(self, spec, prefix):
- make('-f', self.makefile_file)
+ make("-f", self.makefile_file)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if 'avx' in self.spec.target:
- install('parsimonator-AVX', prefix.bin)
- elif 'sse3' in self.spec.target:
- install('parsimonator-SSE3', prefix.bin)
+ if "avx" in self.spec.target:
+ install("parsimonator-AVX", prefix.bin)
+ elif "sse3" in self.spec.target:
+ install("parsimonator-SSE3", prefix.bin)
else:
- install('parsimonator', prefix.bin)
+ install("parsimonator", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/parsplice/package.py b/var/spack/repos/builtin/packages/parsplice/package.py
index ea3ec5a8ef..e3ccce1107 100644
--- a/var/spack/repos/builtin/packages/parsplice/package.py
+++ b/var/spack/repos/builtin/packages/parsplice/package.py
@@ -12,16 +12,18 @@ class Parsplice(CMakePackage):
"""ParSplice code implements the Parallel Trajectory Splicing algorithm"""
homepage = "https://gitlab.com/exaalt/parsplice"
- url = "https://gitlab.com/api/v4/projects/exaalt%2Fparsplice/repository/archive.tar.gz?sha=v1.1"
- git = "https://gitlab.com/exaalt/parsplice.git"
+ url = (
+ "https://gitlab.com/api/v4/projects/exaalt%2Fparsplice/repository/archive.tar.gz?sha=v1.1"
+ )
+ git = "https://gitlab.com/exaalt/parsplice.git"
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
- version('develop', branch='master')
- version('multisplice', branch='multisplice')
- version('1.1', sha256='a011c4d14f66e7cdbc151cc74b5d40dfeae19ceea033ef48185d8f3b1bc2f86b')
+ version("develop", branch="master")
+ version("multisplice", branch="multisplice")
+ version("1.1", sha256="a011c4d14f66e7cdbc151cc74b5d40dfeae19ceea033ef48185d8f3b1bc2f86b")
- depends_on("cmake@3.1:", type='build')
+ depends_on("cmake@3.1:", type="build")
depends_on("berkeley-db")
depends_on("nauty")
depends_on("boost cxxstd=11")
@@ -37,9 +39,9 @@ class Parsplice(CMakePackage):
def cmake_args(self):
spec = self.spec
- if spec.satisfies('@multisplice'):
+ if spec.satisfies("@multisplice"):
options = []
else:
- options = ['-DBUILD_SHARED_LIBS=ON', '-DBoost_NO_BOOST_CMAKE=ON']
+ options = ["-DBUILD_SHARED_LIBS=ON", "-DBoost_NO_BOOST_CMAKE=ON"]
return options
diff --git a/var/spack/repos/builtin/packages/partitionfinder/package.py b/var/spack/repos/builtin/packages/partitionfinder/package.py
index 71706b6b08..15e8e6ede2 100644
--- a/var/spack/repos/builtin/packages/partitionfinder/package.py
+++ b/var/spack/repos/builtin/packages/partitionfinder/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Partitionfinder(Package):
"""PartitionFinder is free open source software to select best-fit
- partitioning schemes and models of molecular evolution for
- phylogenetic analyses."""
+ partitioning schemes and models of molecular evolution for
+ phylogenetic analyses."""
homepage = "https://github.com/brettc/partitionfinder"
- url = "https://github.com/brettc/partitionfinder/archive/v2.1.1.tar.gz"
+ url = "https://github.com/brettc/partitionfinder/archive/v2.1.1.tar.gz"
- version('2.1.1', sha256='ccf3718996ee6ca496909b4b97d2b075028e0543eba3bc47a8c14b689c84e061')
+ version("2.1.1", sha256="ccf3718996ee6ca496909b4b97d2b075028e0543eba3bc47a8c14b689c84e061")
- depends_on('python@2.7.10:2', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-tables', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on("python@2.7.10:2", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-tables", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('partfinder', prefix.partfinder)
- install_tree('timings', prefix.timings)
- install('PartitionFinderMorphology.py', prefix.bin)
- install('PartitionFinderProtein.py', prefix.bin)
- install('PartitionFinder.py', prefix.bin)
+ install_tree("partfinder", prefix.partfinder)
+ install_tree("timings", prefix.timings)
+ install("PartitionFinderMorphology.py", prefix.bin)
+ install("PartitionFinderProtein.py", prefix.bin)
+ install("PartitionFinder.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pasta/package.py b/var/spack/repos/builtin/packages/pasta/package.py
index acd2110542..de30f997a3 100644
--- a/var/spack/repos/builtin/packages/pasta/package.py
+++ b/var/spack/repos/builtin/packages/pasta/package.py
@@ -10,32 +10,32 @@ class Pasta(Package):
"""PASTA (Practical Alignment using SATe and Transitivity)"""
homepage = "https://github.com/smirarab/pasta"
- git = "https://github.com/smirarab/pasta"
+ git = "https://github.com/smirarab/pasta"
- version('1.8.3', commit='738bec5e0d5a18d013c193d7453374bed47456c9')
+ version("1.8.3", commit="738bec5e0d5a18d013c193d7453374bed47456c9")
- depends_on('python@2.7:')
- depends_on('py-dendropy')
- depends_on('java')
+ depends_on("python@2.7:")
+ depends_on("py-dendropy")
+ depends_on("java")
resource(
- name='tools',
- git='https://github.com/smirarab/sate-tools-linux',
- commit='90fb074d61af554e94d1a67583dd3a80b11417ea',
- destination='.'
+ name="tools",
+ git="https://github.com/smirarab/sate-tools-linux",
+ commit="90fb074d61af554e94d1a67583dd3a80b11417ea",
+ destination=".",
)
def setup_build_environment(self, env):
- tools = join_path(self.prefix, 'sate-tools-linux')
- env.set('PASTA_TOOLS_DEVDIR', tools)
+ tools = join_path(self.prefix, "sate-tools-linux")
+ env.set("PASTA_TOOLS_DEVDIR", tools)
def install(self, spec, prefix):
# build process for pasta is very hacky -- uses hard links to source
# install the tree first so links don't break
- install_tree('.', prefix)
+ install_tree(".", prefix)
# run the 'build' from within the prefix
- python = which('python2.7')
+ python = which("python2.7")
with working_dir(prefix):
- python('setup.py', 'develop')
+ python("setup.py", "develop")
diff --git a/var/spack/repos/builtin/packages/pastix/package.py b/var/spack/repos/builtin/packages/pastix/package.py
index 41f190985e..b7d6e5319a 100644
--- a/var/spack/repos/builtin/packages/pastix/package.py
+++ b/var/spack/repos/builtin/packages/pastix/package.py
@@ -9,51 +9,55 @@ from spack.package import *
class Pastix(CMakePackage, CudaPackage):
"""a high performance parallel solver for very large sparse linear systems
- based on direct methods"""
+ based on direct methods"""
+
homepage = "https://gitlab.inria.fr/solverstack/pastix/blob/master/README.md"
- url = "https://gitlab.inria.fr/solverstack/pastix/uploads/baa57033d98378e0f3affbf45900fb6e/pastix-6.2.1.tar.gz"
- git = "https://gitlab.inria.fr/solverstack/pastix.git"
- maintainers = ['fpruvost', 'mfaverge', 'ramet']
+ url = "https://gitlab.inria.fr/solverstack/pastix/uploads/baa57033d98378e0f3affbf45900fb6e/pastix-6.2.1.tar.gz"
+ git = "https://gitlab.inria.fr/solverstack/pastix.git"
+ maintainers = ["fpruvost", "mfaverge", "ramet"]
- version('master', branch='master', submodules=True)
- version('6.2.1', '50742cc0e6e03728f7529fc607d5c65b9e14205f192947678d6103a872a6210c')
+ version("master", branch="master", submodules=True)
+ version("6.2.1", "50742cc0e6e03728f7529fc607d5c65b9e14205f192947678d6103a872a6210c")
# cmake's specific
- variant('shared', default=True, description='Build Pastix as a shared library')
+ variant("shared", default=True, description="Build Pastix as a shared library")
# pastix's specific
- variant('doc', default=False, description='Enable documentation')
- variant('int64', default=False, description='To use 64 bits integers')
- variant('metis', default=False, description='Enable Metis')
- variant('scotch', default=True, description='Enable Scotch')
+ variant("doc", default=False, description="Enable documentation")
+ variant("int64", default=False, description="To use 64 bits integers")
+ variant("metis", default=False, description="Enable Metis")
+ variant("scotch", default=True, description="Enable Scotch")
variant(
- 'runtime', default='none', description='Runtime support',
- values=('none', 'starpu'), multi=False
+ "runtime",
+ default="none",
+ description="Runtime support",
+ values=("none", "starpu"),
+ multi=False,
)
- variant('cuda', default=False, when='runtime=starpu', description='Enable CUDA')
- variant('mpi', default=False, description='Enable MPI')
+ variant("cuda", default=False, when="runtime=starpu", description="Enable CUDA")
+ variant("mpi", default=False, description="Enable MPI")
# Dependencies
- depends_on("pkgconfig", type='build')
+ depends_on("pkgconfig", type="build")
depends_on("hwloc")
depends_on("lapack")
# ensure openblas use threads=openmp to be thread-safe
- depends_on('openblas threads=openmp', when='^openblas')
+ depends_on("openblas threads=openmp", when="^openblas")
with when("+metis"):
depends_on("metis@5.1:")
- depends_on("metis@5.1:+int64", when='+int64')
+ depends_on("metis@5.1:+int64", when="+int64")
with when("+scotch"):
depends_on("scotch~metis")
- depends_on("scotch~metis+int64", when='+int64')
- depends_on("scotch~metis~mpi", when='~mpi')
+ depends_on("scotch~metis+int64", when="+int64")
+ depends_on("scotch~metis~mpi", when="~mpi")
with when("runtime=starpu"):
depends_on("starpu")
- depends_on("starpu~mpi", when='~mpi')
- depends_on("starpu+mpi", when='+mpi')
- depends_on("starpu~cuda", when='~cuda')
- depends_on("starpu+cuda", when='+cuda')
- depends_on("cuda", when='+cuda')
- depends_on("mpi", when='+mpi')
+ depends_on("starpu~mpi", when="~mpi")
+ depends_on("starpu+mpi", when="+mpi")
+ depends_on("starpu~cuda", when="~cuda")
+ depends_on("starpu+cuda", when="+cuda")
+ depends_on("cuda", when="+cuda")
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
spec = self.spec
@@ -67,25 +71,27 @@ class Pastix(CMakePackage, CudaPackage):
self.define_from_variant("PASTIX_ORDERING_METIS", "metis"),
self.define_from_variant("PASTIX_ORDERING_SCOTCH", "scotch"),
self.define("PASTIX_WITH_PARSEC", "OFF"),
- self.define_from_variant("PASTIX_WITH_MPI", "mpi")
+ self.define_from_variant("PASTIX_WITH_MPI", "mpi"),
]
- if spec.satisfies('runtime=starpu'):
+ if spec.satisfies("runtime=starpu"):
args.extend([self.define("PASTIX_WITH_STARPU", "ON")])
args.extend([self.define_from_variant("PASTIX_WITH_CUDA", "cuda")])
- if ('^intel-mkl' in spec or '^intel-parallel-studio+mkl' in spec):
+ if "^intel-mkl" in spec or "^intel-parallel-studio+mkl" in spec:
args.extend([self.define("BLA_VENDOR", "Intel10_64lp_seq")])
- elif ('^netlib-lapack' in spec):
+ elif "^netlib-lapack" in spec:
args.extend([self.define("BLA_VENDOR", "Generic")])
- elif ('^openblas' in spec):
+ elif "^openblas" in spec:
args.extend([self.define("BLA_VENDOR", "OpenBLAS")])
- if spec.satisfies('+mpi'):
- args.extend([
- self.define("MPI_C_COMPILER", self.spec['mpi'].mpicc),
- self.define("MPI_CXX_COMPILER", self.spec['mpi'].mpicxx),
- self.define("MPI_Fortran_COMPILER", self.spec['mpi'].mpifc)
- ])
+ if spec.satisfies("+mpi"):
+ args.extend(
+ [
+ self.define("MPI_C_COMPILER", self.spec["mpi"].mpicc),
+ self.define("MPI_CXX_COMPILER", self.spec["mpi"].mpicxx),
+ self.define("MPI_Fortran_COMPILER", self.spec["mpi"].mpifc),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/patch/package.py b/var/spack/repos/builtin/packages/patch/package.py
index 598a6c0cc6..b032a5e859 100644
--- a/var/spack/repos/builtin/packages/patch/package.py
+++ b/var/spack/repos/builtin/packages/patch/package.py
@@ -15,9 +15,9 @@ class Patch(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://savannah.gnu.org/projects/patch/"
gnu_mirror_path = "patch/patch-2.7.6.tar.xz"
- tags = ['core-packages']
+ tags = ["core-packages"]
- version('2.7.6', sha256='ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd')
- version('2.7.5', sha256='fd95153655d6b95567e623843a0e77b81612d502ecf78a489a4aed7867caa299')
+ version("2.7.6", sha256="ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd")
+ version("2.7.5", sha256="fd95153655d6b95567e623843a0e77b81612d502ecf78a489a4aed7867caa299")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py
index 83f2b8d24b..425f281a5f 100644
--- a/var/spack/repos/builtin/packages/patchelf/package.py
+++ b/var/spack/repos/builtin/packages/patchelf/package.py
@@ -9,59 +9,73 @@ from spack.package import *
class Patchelf(AutotoolsPackage):
"""PatchELF is a small utility to modify the dynamic linker and RPATH of
- ELF executables."""
+ ELF executables."""
homepage = "https://nixos.org/patchelf.html"
- url = "https://github.com/NixOS/patchelf/releases/download/0.12/patchelf-0.12.tar.bz2"
+ url = "https://github.com/NixOS/patchelf/releases/download/0.12/patchelf-0.12.tar.bz2"
list_url = "https://nixos.org/releases/patchelf/"
list_depth = 1
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('0.14.5', sha256='113ada3f1ace08f0a7224aa8500f1fa6b08320d8f7df05ff58585286ec5faa6f')
- version('0.14.3', sha256='8fabf4210499744ced101612cd5c9fd12b94af67a16297cb5d3ff682c007ffdb')
- version('0.14.2', sha256='3dbced63d02076221397d3fa45ef6cf6776e7c6d45ea5c4e86c91604dfc87a80')
- version('0.14.1', sha256='7a1506caf6873a2b60e7bebc35e1671fa232ee075642b074106b0d0636417466')
- version('0.14', sha256='a31f2bff841dffa896317d3837bc2877c1f79da0744d88e459662d8e7fe7897c')
- version('0.13.1', sha256='08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de')
- version('0.13', sha256='4c7ed4bcfc1a114d6286e4a0d3c1a90db147a4c3adda1814ee0eee0f9ee917ed')
- version('0.12', sha256='699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792')
- version('0.11', sha256='e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9')
- version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019')
- version('0.9', sha256='f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a')
- version('0.8', sha256='14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe')
+ version("0.14.5", sha256="113ada3f1ace08f0a7224aa8500f1fa6b08320d8f7df05ff58585286ec5faa6f")
+ version("0.14.3", sha256="8fabf4210499744ced101612cd5c9fd12b94af67a16297cb5d3ff682c007ffdb")
+ version("0.14.2", sha256="3dbced63d02076221397d3fa45ef6cf6776e7c6d45ea5c4e86c91604dfc87a80")
+ version("0.14.1", sha256="7a1506caf6873a2b60e7bebc35e1671fa232ee075642b074106b0d0636417466")
+ version("0.14", sha256="a31f2bff841dffa896317d3837bc2877c1f79da0744d88e459662d8e7fe7897c")
+ version("0.13.1", sha256="08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de")
+ version("0.13", sha256="4c7ed4bcfc1a114d6286e4a0d3c1a90db147a4c3adda1814ee0eee0f9ee917ed")
+ version("0.12", sha256="699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792")
+ version("0.11", sha256="e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9")
+ version("0.10", sha256="b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019")
+ version("0.9", sha256="f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a")
+ version("0.8", sha256="14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe")
- conflicts('%gcc@:4.6', when='@0.10:', msg="Requires C++11 support")
- conflicts('%gcc@:6', when='@0.14:', msg="Requires C++17 support")
- conflicts('%clang@:3', when='@0.14:', msg="Requires C++17 support")
+ conflicts("%gcc@:4.6", when="@0.10:", msg="Requires C++11 support")
+ conflicts("%gcc@:6", when="@0.14:", msg="Requires C++17 support")
+ conflicts("%clang@:3", when="@0.14:", msg="Requires C++17 support")
def url_for_version(self, version):
- if version < Version('0.12'):
- return "https://nixos.org/releases/patchelf/patchelf-{0}/patchelf-{1}.tar.gz".format(version, version)
+ if version < Version("0.12"):
+ return "https://nixos.org/releases/patchelf/patchelf-{0}/patchelf-{1}.tar.gz".format(
+ version, version
+ )
# Prefer gz over bz2
- if version >= Version('0.13.1'):
- return "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.gz".format(version, version)
+ if version >= Version("0.13.1"):
+ return "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.gz".format(
+ version, version
+ )
- return "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.bz2".format(version, version)
+ return (
+ "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.bz2".format(
+ version, version
+ )
+ )
def test(self):
# Check patchelf in prefix and reports the correct version
- reason = 'test: ensuring patchelf version is {0}' \
- .format(self.spec.version)
- self.run_test('patchelf',
- options='--version',
- expected=['patchelf %s' % self.spec.version],
- installed=True,
- purpose=reason)
+ reason = "test: ensuring patchelf version is {0}".format(self.spec.version)
+ self.run_test(
+ "patchelf",
+ options="--version",
+ expected=["patchelf %s" % self.spec.version],
+ installed=True,
+ purpose=reason,
+ )
# Check the rpath is changed
currdir = os.getcwd()
- hello_file = self.test_suite.current_test_data_dir.join('hello')
- self.run_test('patchelf', ['--set-rpath', currdir, hello_file],
- purpose='test: ensuring that patchelf can change rpath')
+ hello_file = self.test_suite.current_test_data_dir.join("hello")
+ self.run_test(
+ "patchelf",
+ ["--set-rpath", currdir, hello_file],
+ purpose="test: ensuring that patchelf can change rpath",
+ )
- self.run_test('patchelf',
- options=['--print-rpath', hello_file],
- expected=[currdir],
- purpose='test: ensuring that patchelf changed rpath')
+ self.run_test(
+ "patchelf",
+ options=["--print-rpath", hello_file],
+ expected=[currdir],
+ purpose="test: ensuring that patchelf changed rpath",
+ )
diff --git a/var/spack/repos/builtin/packages/patchutils/package.py b/var/spack/repos/builtin/packages/patchutils/package.py
index 7063f6bfb5..9a98290ebc 100644
--- a/var/spack/repos/builtin/packages/patchutils/package.py
+++ b/var/spack/repos/builtin/packages/patchutils/package.py
@@ -11,8 +11,8 @@ class Patchutils(AutotoolsPackage):
files."""
homepage = "http://cyberelk.net/tim/software/patchutils/"
- url = "http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.4.2.tar.xz"
+ url = "http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.4.2.tar.xz"
- version('0.4.2', sha256='8875b0965fe33de62b890f6cd793be7fafe41a4e552edbf641f1fed5ebbf45ed')
- version('0.4.0', sha256='da6df1fa662b635c2969e7d017e6f32f5b39f1b802673a0af635e4936d4bc2f4')
- version('0.3.4', sha256='cf55d4db83ead41188f5b6be16f60f6b76a87d5db1c42f5459d596e81dabe876')
+ version("0.4.2", sha256="8875b0965fe33de62b890f6cd793be7fafe41a4e552edbf641f1fed5ebbf45ed")
+ version("0.4.0", sha256="da6df1fa662b635c2969e7d017e6f32f5b39f1b802673a0af635e4936d4bc2f4")
+ version("0.3.4", sha256="cf55d4db83ead41188f5b6be16f60f6b76a87d5db1c42f5459d596e81dabe876")
diff --git a/var/spack/repos/builtin/packages/pathfinder/package.py b/var/spack/repos/builtin/packages/pathfinder/package.py
index a8c32452c4..0a8b37d54c 100644
--- a/var/spack/repos/builtin/packages/pathfinder/package.py
+++ b/var/spack/repos/builtin/packages/pathfinder/package.py
@@ -11,26 +11,26 @@ class Pathfinder(MakefilePackage):
"""Proxy Application. Signature search."""
homepage = "https://mantevo.org/packages/"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/PathFinder/PathFinder_1.0.0.tgz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/PathFinder/PathFinder_1.0.0.tgz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0.0', sha256='e002ff7df1ee9a6ee8a892fc208e047e2daf4215ff0d77e7ddc6b09d0506be16')
+ version("1.0.0", sha256="e002ff7df1ee9a6ee8a892fc208e047e2daf4215ff0d77e7ddc6b09d0506be16")
- build_targets = ['--directory=PathFinder_ref', 'CC=cc']
+ build_targets = ["--directory=PathFinder_ref", "CC=cc"]
def edit(self, spec, prefix):
- makefile = FileFilter('PathFinder_ref/Makefile')
- makefile.filter('-fopenmp', self.compiler.openmp_flag)
+ makefile = FileFilter("PathFinder_ref/Makefile")
+ makefile.filter("-fopenmp", self.compiler.openmp_flag)
def install(self, spec, prefix):
# Manual installation
mkdirp(prefix.bin)
mkdirp(prefix.doc)
- install('PathFinder_ref/PathFinder.x', prefix.bin)
- install('PathFinder_ref/MicroTestData.adj_list', prefix.bin)
- install('README', prefix.doc)
+ install("PathFinder_ref/PathFinder.x", prefix.bin)
+ install("PathFinder_ref/MicroTestData.adj_list", prefix.bin)
+ install("README", prefix.doc)
- install_tree('generatedData/', prefix.doc.generatedData)
- install_tree('scaleData/', prefix.doc.scaleData)
+ install_tree("generatedData/", prefix.doc.generatedData)
+ install_tree("scaleData/", prefix.doc.scaleData)
diff --git a/var/spack/repos/builtin/packages/pax-utils/package.py b/var/spack/repos/builtin/packages/pax-utils/package.py
index b71e7c9e04..b2043455bb 100644
--- a/var/spack/repos/builtin/packages/pax-utils/package.py
+++ b/var/spack/repos/builtin/packages/pax-utils/package.py
@@ -11,6 +11,6 @@ class PaxUtils(AutotoolsPackage):
"""ELF utils that can check files for security relevant properties"""
homepage = "https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
- url = "https://dev.gentoo.org/~vapier/dist/pax-utils-1.2.2.tar.xz"
+ url = "https://dev.gentoo.org/~vapier/dist/pax-utils-1.2.2.tar.xz"
- version('1.2.2', sha256='7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9')
+ version("1.2.2", sha256="7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9")
diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py
index a6c9803776..31626b9f54 100644
--- a/var/spack/repos/builtin/packages/pbbam/package.py
+++ b/var/spack/repos/builtin/packages/pbbam/package.py
@@ -14,37 +14,37 @@ class Pbbam(CMakePackage):
bindings for additional languages, and command-line utilities."""
homepage = "https://github.com/PacificBiosciences/pbbam"
- url = "https://github.com/PacificBiosciences/pbbam/archive/0.18.0.tar.gz"
+ url = "https://github.com/PacificBiosciences/pbbam/archive/0.18.0.tar.gz"
- version('0.18.0', sha256='45286e5f7deb7ff629e0643c8a416155915aec7b85d54c60b5cdc07f4d7b234a')
+ version("0.18.0", sha256="45286e5f7deb7ff629e0643c8a416155915aec7b85d54c60b5cdc07f4d7b234a")
- depends_on('zlib')
- depends_on('boost@1.55.0:')
+ depends_on("zlib")
+ depends_on("boost@1.55.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('htslib@1.3.1:')
- depends_on('doxygen+graphviz')
+ depends_on("htslib@1.3.1:")
+ depends_on("doxygen+graphviz")
- conflicts('%gcc@:5.2.0')
+ conflicts("%gcc@:5.2.0")
def cmake_args(self):
options = []
if self.run_tests:
- options.append('-DPacBioBAM_build_tests:BOOL=ON')
+ options.append("-DPacBioBAM_build_tests:BOOL=ON")
else:
- options.append('-DPacBioBAM_build_tests:BOOL=OFF')
+ options.append("-DPacBioBAM_build_tests:BOOL=OFF")
return options
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('pbbam', prefix.include.pbbam)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("pbbam", prefix.include.pbbam)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('PacBioBAM_LIBRARIES', self.prefix.lib)
- env.set('PacBioBAM_INCLUDE_DIRS', self.prefix.include)
+ env.set("PacBioBAM_LIBRARIES", self.prefix.lib)
+ env.set("PacBioBAM_INCLUDE_DIRS", self.prefix.include)
diff --git a/var/spack/repos/builtin/packages/pbmpi/package.py b/var/spack/repos/builtin/packages/pbmpi/package.py
index ab63fa40ef..227d6f4748 100644
--- a/var/spack/repos/builtin/packages/pbmpi/package.py
+++ b/var/spack/repos/builtin/packages/pbmpi/package.py
@@ -7,23 +7,22 @@ from spack.package import *
class Pbmpi(MakefilePackage):
- """A Bayesian software for phylogenetic reconstruction using mixture models
- """
+ """A Bayesian software for phylogenetic reconstruction using mixture models"""
homepage = "https://megasun.bch.umontreal.ca/People/lartillot/www/index.htm"
- git = "https://github.com/bayesiancook/pbmpi.git"
+ git = "https://github.com/bayesiancook/pbmpi.git"
- version('partition', branch='partition')
+ version("partition", branch="partition")
- depends_on('mpi')
- depends_on('libfabric')
+ depends_on("mpi")
+ depends_on("libfabric")
- build_directory = 'sources'
+ build_directory = "sources"
- @run_before('build')
+ @run_before("build")
def make_data_dir(self):
- mkdirp(self.stage.source_path, 'data')
+ mkdirp(self.stage.source_path, "data")
def install(self, spec, prefix):
- install_tree('data', prefix.bin)
- install_tree('sources', prefix.sources)
+ install_tree("data", prefix.bin)
+ install_tree("sources", prefix.sources)
diff --git a/var/spack/repos/builtin/packages/pbsuite/package.py b/var/spack/repos/builtin/packages/pbsuite/package.py
index 353e5bb38f..f7e3c61956 100644
--- a/var/spack/repos/builtin/packages/pbsuite/package.py
+++ b/var/spack/repos/builtin/packages/pbsuite/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Pbsuite(Package, SourceforgePackage):
"""PBJelly is a highly automated pipeline that aligns long sequencing
- reads (such as PacBio RS reads or long 454 reads in fasta format)
- to high-confidence draft assembles."""
+ reads (such as PacBio RS reads or long 454 reads in fasta format)
+ to high-confidence draft assembles."""
homepage = "https://sourceforge.net/p/pb-jelly/wiki/Home/"
sourceforge_mirror_path = "pb-jelly/PBSuite_15.8.24.tgz"
- version('15.8.24', sha256='1be082faa62cb3f701c78498db8544c844c3d6d3e3524fecf00a12e82a97e12b')
+ version("15.8.24", sha256="1be082faa62cb3f701c78498db8544c844c3d6d3e3524fecf00a12e82a97e12b")
- depends_on('blasr@1.3.1:', type='run')
- depends_on('python@2.7:', type='run')
- depends_on('py-networkx@1.1:', type='run')
+ depends_on("blasr@1.3.1:", type="run")
+ depends_on("python@2.7:", type="run")
+ depends_on("py-networkx@1.1:", type="run")
def install(self, spec, prefix):
- install_tree('pbsuite', prefix.pbsuite)
- install_tree('bin', prefix.bin)
+ install_tree("pbsuite", prefix.pbsuite)
+ install_tree("bin", prefix.bin)
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix)
+ env.prepend_path("PYTHONPATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/pciutils/package.py b/var/spack/repos/builtin/packages/pciutils/package.py
index 10bc0ebbc2..b4eb676629 100644
--- a/var/spack/repos/builtin/packages/pciutils/package.py
+++ b/var/spack/repos/builtin/packages/pciutils/package.py
@@ -10,22 +10,22 @@ class Pciutils(MakefilePackage):
"""This package contains the PCI Utilities."""
homepage = "https://mj.ucw.cz/sw/pciutils/"
- url = "https://github.com/pciutils/pciutils/archive/v3.7.0.tar.gz"
+ url = "https://github.com/pciutils/pciutils/archive/v3.7.0.tar.gz"
- version('3.7.0', sha256='ea768aa0187ba349391c6c157445ecc2b42e7d671fc1ce8c53ff5ef513f1e2ab')
- version('3.6.4', sha256='551d0ac33f030868b7e95c29e58dc2b1882455dbc9c15c15adf7086e664131f1')
- version('3.6.3', sha256='7ab0fbb35cffa326eb852539260562bac14f3d27cda8c70bc2cf3211ed97c014')
+ version("3.7.0", sha256="ea768aa0187ba349391c6c157445ecc2b42e7d671fc1ce8c53ff5ef513f1e2ab")
+ version("3.6.4", sha256="551d0ac33f030868b7e95c29e58dc2b1882455dbc9c15c15adf7086e664131f1")
+ version("3.6.3", sha256="7ab0fbb35cffa326eb852539260562bac14f3d27cda8c70bc2cf3211ed97c014")
- variant('lib', default=False, description='Install libraries with headers')
+ variant("lib", default=False, description="Install libraries with headers")
def build(self, spec, prefix):
- make('PREFIX={0}'.format(prefix))
+ make("PREFIX={0}".format(prefix))
def install(self, spec, prefix):
- if '+lib' in spec:
- make('install-lib', 'install', 'PREFIX={0}'.format(prefix))
+ if "+lib" in spec:
+ make("install-lib", "install", "PREFIX={0}".format(prefix))
else:
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/pcl/package.py b/var/spack/repos/builtin/packages/pcl/package.py
index 0ed83a2af5..f0af850478 100644
--- a/var/spack/repos/builtin/packages/pcl/package.py
+++ b/var/spack/repos/builtin/packages/pcl/package.py
@@ -12,14 +12,14 @@ class Pcl(CMakePackage):
open project for 2D/3D image and point cloud processing."""
homepage = "https://pointclouds.org/"
- url = "https://github.com/PointCloudLibrary/pcl/releases/download/pcl-1.11.1/source.tar.gz"
+ url = "https://github.com/PointCloudLibrary/pcl/releases/download/pcl-1.11.1/source.tar.gz"
- version('1.11.1', sha256='19d1a0bee2bc153de47c05da54fc6feb23393f306ab2dea2e25419654000336e')
+ version("1.11.1", sha256="19d1a0bee2bc153de47c05da54fc6feb23393f306ab2dea2e25419654000336e")
- depends_on('cmake@3.5:', type='build')
- depends_on('eigen@3.1:')
- depends_on('flann@1.7:')
- depends_on('boost@1.55:+filesystem+date_time+iostreams+system')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("eigen@3.1:")
+ depends_on("flann@1.7:")
+ depends_on("boost@1.55:+filesystem+date_time+iostreams+system")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
diff --git a/var/spack/repos/builtin/packages/pcma/package.py b/var/spack/repos/builtin/packages/pcma/package.py
index 6ca9b6ed36..d1b7626779 100644
--- a/var/spack/repos/builtin/packages/pcma/package.py
+++ b/var/spack/repos/builtin/packages/pcma/package.py
@@ -8,24 +8,23 @@ from spack.package import *
class Pcma(MakefilePackage):
"""PCMA is a progressive multiple sequence alignment program that combines
- two different alignment strategies."""
+ two different alignment strategies."""
homepage = "http://prodata.swmed.edu/pcma/pcma.php"
- url = "http://prodata.swmed.edu/download/pub/PCMA/pcma.tar.gz"
+ url = "http://prodata.swmed.edu/download/pub/PCMA/pcma.tar.gz"
- version('2.0', sha256='4b92d412126d393baa3ede501cafe9606ada9a66af6217d56befd6ec2e0c01ba')
+ version("2.0", sha256="4b92d412126d393baa3ede501cafe9606ada9a66af6217d56befd6ec2e0c01ba")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
- makefile.filter('gcc', spack_cc)
- if spec.satisfies('%gcc@10:'):
+ makefile = FileFilter("makefile")
+ makefile.filter("gcc", spack_cc)
+ if spec.satisfies("%gcc@10:"):
# they missed one
- filter_file(r'^sint \*seqlen_array;$', 'extern sint *seqlen_array;',
- 'calctree.c')
+ filter_file(r"^sint \*seqlen_array;$", "extern sint *seqlen_array;", "calctree.c")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('pcma', prefix.bin)
+ install("pcma", prefix.bin)
# set return value and change return type of function [-Wreturn-type]
- patch('fix_return_type_err.patch')
+ patch("fix_return_type_err.patch")
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index 9f231cc8f2..9ec30740a3 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -12,42 +12,42 @@ class Pcre(AutotoolsPackage):
pattern matching using the same syntax and semantics as Perl 5."""
homepage = "https://www.pcre.org"
- url = "https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.bz2"
+ url = "https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.bz2"
- version('8.45', sha256='4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8')
- version('8.44', sha256='19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d')
- version('8.43', sha256='91e762520003013834ac1adb4a938d53b22a216341c061b0cf05603b290faf6b')
- version('8.42', sha256='2cd04b7c887808be030254e8d77de11d3fe9d4505c39d4b15d2664ffe8bf9301')
- version('8.41', sha256='e62c7eac5ae7c0e7286db61ff82912e1c0b7a0c13706616e94a7dd729321b530')
- version('8.40', sha256='00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4')
- version('8.39', sha256='b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b')
- version('8.38', sha256='b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df')
+ version("8.45", sha256="4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8")
+ version("8.44", sha256="19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d")
+ version("8.43", sha256="91e762520003013834ac1adb4a938d53b22a216341c061b0cf05603b290faf6b")
+ version("8.42", sha256="2cd04b7c887808be030254e8d77de11d3fe9d4505c39d4b15d2664ffe8bf9301")
+ version("8.41", sha256="e62c7eac5ae7c0e7286db61ff82912e1c0b7a0c13706616e94a7dd729321b530")
+ version("8.40", sha256="00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4")
+ version("8.39", sha256="b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b")
+ version("8.38", sha256="b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df")
- maintainers = ['drkennetz']
- patch('intel.patch', when='@8.38')
+ maintainers = ["drkennetz"]
+ patch("intel.patch", when="@8.38")
- variant('jit', default=False,
- description='Enable JIT support.')
+ variant("jit", default=False, description="Enable JIT support.")
- variant('multibyte', default=True,
- description='Enable support for 16 and 32 bit characters.')
+ variant("multibyte", default=True, description="Enable support for 16 and 32 bit characters.")
- variant('utf', default=True,
- description='Enable support for UTF-8/16/32, '
- 'incompatible with EBCDIC.')
+ variant(
+ "utf",
+ default=True,
+ description="Enable support for UTF-8/16/32, " "incompatible with EBCDIC.",
+ )
def configure_args(self):
args = []
- if '+jit' in self.spec:
- args.append('--enable-jit')
+ if "+jit" in self.spec:
+ args.append("--enable-jit")
- if '+multibyte' in self.spec:
- args.append('--enable-pcre16')
- args.append('--enable-pcre32')
+ if "+multibyte" in self.spec:
+ args.append("--enable-pcre16")
+ args.append("--enable-pcre32")
- if '+utf' in self.spec:
- args.append('--enable-utf')
- args.append('--enable-unicode-properties')
+ if "+utf" in self.spec:
+ args.append("--enable-utf")
+ args.append("--enable-unicode-properties")
return args
diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py
index c2396555a6..7134cbff6b 100644
--- a/var/spack/repos/builtin/packages/pcre2/package.py
+++ b/var/spack/repos/builtin/packages/pcre2/package.py
@@ -8,40 +8,38 @@ from spack.package import *
class Pcre2(AutotoolsPackage):
"""The PCRE2 package contains Perl Compatible Regular Expression
- libraries. These are useful for implementing regular expression
- pattern matching using the same syntax and semantics as Perl 5."""
+ libraries. These are useful for implementing regular expression
+ pattern matching using the same syntax and semantics as Perl 5."""
homepage = "https://www.pcre.org"
- url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.bz2"
+ url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.bz2"
- version('10.39', sha256='0f03caf57f81d9ff362ac28cd389c055ec2bf0678d277349a1a4bee00ad6d440')
- version('10.36', sha256='a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c')
- version('10.35', sha256='9ccba8e02b0ce78046cdfb52e5c177f0f445e421059e43becca4359c669d4613')
- version('10.31', sha256='e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac')
- version('10.20', sha256='332e287101c9e9567d1ed55391b338b32f1f72c5b5ee7cc81ef2274a53ad487a')
+ version("10.39", sha256="0f03caf57f81d9ff362ac28cd389c055ec2bf0678d277349a1a4bee00ad6d440")
+ version("10.36", sha256="a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c")
+ version("10.35", sha256="9ccba8e02b0ce78046cdfb52e5c177f0f445e421059e43becca4359c669d4613")
+ version("10.31", sha256="e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac")
+ version("10.20", sha256="332e287101c9e9567d1ed55391b338b32f1f72c5b5ee7cc81ef2274a53ad487a")
- variant('multibyte', default=True,
- description='Enable support for 16 and 32 bit characters.')
- variant('jit', default=False,
- description='enable Just-In-Time compiling support')
+ variant("multibyte", default=True, description="Enable support for 16 and 32 bit characters.")
+ variant("jit", default=False, description="enable Just-In-Time compiling support")
def configure_args(self):
args = []
- if '+multibyte' in self.spec:
- args.append('--enable-pcre2-16')
- args.append('--enable-pcre2-32')
+ if "+multibyte" in self.spec:
+ args.append("--enable-pcre2-16")
+ args.append("--enable-pcre2-32")
- if '+jit' in self.spec:
- args.append('--enable-jit')
+ if "+jit" in self.spec:
+ args.append("--enable-jit")
return args
@property
def libs(self):
- if '+multibyte' in self.spec:
- name = 'libpcre2-32'
+ if "+multibyte" in self.spec:
+ name = "libpcre2-32"
else:
- name = 'libpcre2-8'
+ name = "libpcre2-8"
return find_libraries(name, root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/pdc/package.py b/var/spack/repos/builtin/packages/pdc/package.py
index fd5b043650..217e143708 100644
--- a/var/spack/repos/builtin/packages/pdc/package.py
+++ b/var/spack/repos/builtin/packages/pdc/package.py
@@ -14,35 +14,35 @@ class Pdc(CMakePackage):
metadata operations to find data objects."""
homepage = "https://pdc.readthedocs.io/en/latest/"
- url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.3.tar.gz"
- git = "https://github.com/hpc-io/pdc.git"
+ url = "https://github.com/hpc-io/pdc/archive/refs/tags/0.3.tar.gz"
+ git = "https://github.com/hpc-io/pdc.git"
- maintainers = ['houjun', 'sbyna']
+ maintainers = ["houjun", "sbyna"]
- version('0.3', sha256='14a3abd5e1e604f9527105709fca545bcdebe51abd2b89884db74d48a38b5443')
- version('0.2', sha256='2829e74da227913a1a8e3e4f64e8f422ab9c0a049f8d73ff7b6ca12463959f8b')
- version('0.1', sha256='01b4207ecf71594a7f339c315f2869b3fa8fbd34b085963dc4c1bdc5b66bb93e')
+ version("0.3", sha256="14a3abd5e1e604f9527105709fca545bcdebe51abd2b89884db74d48a38b5443")
+ version("0.2", sha256="2829e74da227913a1a8e3e4f64e8f422ab9c0a049f8d73ff7b6ca12463959f8b")
+ version("0.1", sha256="01b4207ecf71594a7f339c315f2869b3fa8fbd34b085963dc4c1bdc5b66bb93e")
- version('stable', branch='stable')
- version('develop', branch='develop')
+ version("stable", branch="stable")
+ version("develop", branch="develop")
- conflicts('%clang')
- depends_on('libfabric')
- depends_on('mercury')
- depends_on('mpi')
+ conflicts("%clang")
+ depends_on("libfabric")
+ depends_on("mercury")
+ depends_on("mpi")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
def cmake_args(self):
args = [
- self.define('MPI_C_COMPILER', self.spec['mpi'].mpicc),
- self.define('BUILD_MPI_TESTING', 'ON'),
- self.define('BUILD_SHARED_LIBS', 'ON'),
- self.define('BUILD_TESTING', 'ON'),
- self.define('PDC_ENABLE_MPI', 'ON'),
- self.define('CMAKE_C_COMPILER', self.spec['mpi'].mpicc)
+ self.define("MPI_C_COMPILER", self.spec["mpi"].mpicc),
+ self.define("BUILD_MPI_TESTING", "ON"),
+ self.define("BUILD_SHARED_LIBS", "ON"),
+ self.define("BUILD_TESTING", "ON"),
+ self.define("PDC_ENABLE_MPI", "ON"),
+ self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc),
]
- if self.spec.satisfies('platform=cray'):
+ if self.spec.satisfies("platform=cray"):
args.append("-DRANKSTR_LINK_STATIC=ON")
return args
diff --git a/var/spack/repos/builtin/packages/pdf2svg/package.py b/var/spack/repos/builtin/packages/pdf2svg/package.py
index 346d3ed563..a30ef2f706 100644
--- a/var/spack/repos/builtin/packages/pdf2svg/package.py
+++ b/var/spack/repos/builtin/packages/pdf2svg/package.py
@@ -10,14 +10,14 @@ class Pdf2svg(AutotoolsPackage):
"""A simple PDF to SVG converter using the Poppler and Cairo libraries."""
homepage = "http://www.cityinthesky.co.uk/opensource/pdf2svg"
- url = "https://github.com/dawbarton/pdf2svg/archive/v0.2.3.tar.gz"
+ url = "https://github.com/dawbarton/pdf2svg/archive/v0.2.3.tar.gz"
- version('0.2.3', sha256='4fb186070b3e7d33a51821e3307dce57300a062570d028feccd4e628d50dea8a')
- version('0.2.2', sha256='e5f1d9b78821e44cd85379fb07f38a42f00bb2bde3743b95301ff8c0a5ae229a')
+ version("0.2.3", sha256="4fb186070b3e7d33a51821e3307dce57300a062570d028feccd4e628d50dea8a")
+ version("0.2.2", sha256="e5f1d9b78821e44cd85379fb07f38a42f00bb2bde3743b95301ff8c0a5ae229a")
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('cairo@1.2.6:')
- depends_on('poppler@0.5.4:+glib')
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("cairo@1.2.6:")
+ depends_on("poppler@0.5.4:+glib")
# Note: the latest version of poppler requires glib 2.41+,
# but pdf2svg uses g_type_init, which is deprecated in glib 2.36+.
diff --git a/var/spack/repos/builtin/packages/pdftk/package.py b/var/spack/repos/builtin/packages/pdftk/package.py
index b010bb46c7..cfbefdae6a 100644
--- a/var/spack/repos/builtin/packages/pdftk/package.py
+++ b/var/spack/repos/builtin/packages/pdftk/package.py
@@ -14,26 +14,26 @@ class Pdftk(MakefilePackage):
of PDFs."""
homepage = "https://www.pdflabs.com/tools/pdftk-server"
- url = "https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip"
+ url = "https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip"
# Alternative download locations:
# https://sources.debian.org/src/pdftk/
# http://archive.ubuntu.com/ubuntu/pool/universe/p/pdftk/pdftk_2.02.orig.tar.gz
- maintainers = ['citibeth']
+ maintainers = ["citibeth"]
- version('2.02', sha256='118f6a25fd3acaafb58824dce6f97cdc07e56050e666b90e4c4ef426ea37b8c1')
+ version("2.02", sha256="118f6a25fd3acaafb58824dce6f97cdc07e56050e666b90e4c4ef426ea37b8c1")
- depends_on('eclipse-gcj-parser', type='build')
+ depends_on("eclipse-gcj-parser", type="build")
# Only takes effect in phases not overridden here
- build_directory = 'pdftk'
+ build_directory = "pdftk"
# https://www.pdflabs.com/docs/install-pdftk-on-redhat-or-centos/
def edit(self, spec, prefix):
# ------ Fix install directory in main Makefile
- makefile = FileFilter(join_path('pdftk', 'Makefile.Base'))
- makefile.filter('/usr/local/bin', spec.prefix.bin)
+ makefile = FileFilter(join_path("pdftk", "Makefile.Base"))
+ makefile.filter("/usr/local/bin", spec.prefix.bin)
# ------ Create new config file
compiler = self.compiler
@@ -41,44 +41,43 @@ class Pdftk(MakefilePackage):
gcc_version = compiler.version
cppflags = (
- '-DPATH_DELIM=0x2f',
- '-DASK_ABOUT_WARNINGS=false',
- '-DUNBLOCK_SIGNALS',
- '-fdollars-in-identifiers')
- cxxflags = ('-Wall', '-Wextra', '-Weffc++', '-O2')
- gcjflags = ('-Wall', '-Wextra', '-O2')
+ "-DPATH_DELIM=0x2f",
+ "-DASK_ABOUT_WARNINGS=false",
+ "-DUNBLOCK_SIGNALS",
+ "-fdollars-in-identifiers",
+ )
+ cxxflags = ("-Wall", "-Wextra", "-Weffc++", "-O2")
+ gcjflags = ("-Wall", "-Wextra", "-O2")
vars = [
- ('VERSUFF', '-%s' % gcc_version),
- ('CXX', compiler.cxx),
- ('GCJ', spec['eclipse-gcj-parser'].package.gcj),
- ('GCJH', join_path(gcc_base, 'bin', 'gcjh')),
- ('GJAR', join_path(gcc_base, 'bin', 'gjar')),
- ('LIBGCJ', join_path(
- gcc_base, 'share', 'java',
- 'libgcj-{0}.jar'.format(gcc_version))),
- ('AR', 'ar'),
- ('RM', 'rm'),
- ('ARFLAGS', 'rs'),
- ('RMFLAGS', '-vf'),
- ('CPPFLAGS', ' '.join(cppflags)),
- ('CXXFLAGS', ' '.join(cxxflags)),
- ('GCJFLAGS', ' '.join(gcjflags)),
- ('GCJHFLAGS', '-force'),
- ('LDLIBS', '-lgcj')
+ ("VERSUFF", "-%s" % gcc_version),
+ ("CXX", compiler.cxx),
+ ("GCJ", spec["eclipse-gcj-parser"].package.gcj),
+ ("GCJH", join_path(gcc_base, "bin", "gcjh")),
+ ("GJAR", join_path(gcc_base, "bin", "gjar")),
+ ("LIBGCJ", join_path(gcc_base, "share", "java", "libgcj-{0}.jar".format(gcc_version))),
+ ("AR", "ar"),
+ ("RM", "rm"),
+ ("ARFLAGS", "rs"),
+ ("RMFLAGS", "-vf"),
+ ("CPPFLAGS", " ".join(cppflags)),
+ ("CXXFLAGS", " ".join(cxxflags)),
+ ("GCJFLAGS", " ".join(gcjflags)),
+ ("GCJHFLAGS", "-force"),
+ ("LDLIBS", "-lgcj"),
]
- with open(join_path('pdftk', 'Makefile.Spack'), 'w') as mk:
+ with open(join_path("pdftk", "Makefile.Spack"), "w") as mk:
for var, val in vars:
mk.write("export {0}={1}\n".format(var, str(val)))
- mk.write('include Makefile.Base\n')
+ mk.write("include Makefile.Base\n")
def build(self, spec, prefix):
compiler = self.compiler
gcc_base = os.path.split(os.path.split(compiler.cxx)[0])[0]
- env['PATH'] = join_path(gcc_base, 'bin') + ':' + env['PATH']
+ env["PATH"] = join_path(gcc_base, "bin") + ":" + env["PATH"]
with working_dir(self.build_directory):
- make('-f', 'Makefile.Spack', parallel=False)
+ make("-f", "Makefile.Spack", parallel=False)
def install(self, spec, prefix):
mkdirp(self.spec.prefix.bin)
with working_dir(self.build_directory):
- make('-f', 'Makefile.Spack', 'install', parallel=False)
+ make("-f", "Makefile.Spack", "install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/pdsh/package.py b/var/spack/repos/builtin/packages/pdsh/package.py
index 9ce8b15c79..39a2529380 100644
--- a/var/spack/repos/builtin/packages/pdsh/package.py
+++ b/var/spack/repos/builtin/packages/pdsh/package.py
@@ -12,18 +12,18 @@ class Pdsh(AutotoolsPackage):
"""
homepage = "https://github.com/grondo/pdsh"
- url = "https://github.com/grondo/pdsh/archive/pdsh-2.31.tar.gz"
+ url = "https://github.com/grondo/pdsh/archive/pdsh-2.31.tar.gz"
- version('2.31', sha256='0ee066ce395703285cf4f6cf00b54b7097d12457a4b1c146bc6f33d8ba73caa7')
+ version("2.31", sha256="0ee066ce395703285cf4f6cf00b54b7097d12457a4b1c146bc6f33d8ba73caa7")
- variant('ssh', default=True, description="Build with ssh module")
+ variant("ssh", default=True, description="Build with ssh module")
- variant('static_modules', default=True, description="Build with static modules")
+ variant("static_modules", default=True, description="Build with static modules")
def configure_args(self):
args = []
- if '+ssh' in self.spec:
- args.append('--with-ssh')
- if '+static_modules' in self.spec:
- args.append('--enable-static-modules')
+ if "+ssh" in self.spec:
+ args.append("--with-ssh")
+ if "+static_modules" in self.spec:
+ args.append("--enable-static-modules")
return args
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
index 90302e6137..41be59bf92 100644
--- a/var/spack/repos/builtin/packages/pdt/package.py
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -10,70 +10,70 @@ from spack.package import *
class Pdt(AutotoolsPackage):
"""Program Database Toolkit (PDT) is a framework for analyzing source
- code written in several programming languages and for making rich
- program knowledge accessible to developers of static and dynamic
- analysis tools. PDT implements a standard program representation,
- the program database (PDB), that can be accessed in a uniform way
- through a class library supporting common PDB operations.
+ code written in several programming languages and for making rich
+ program knowledge accessible to developers of static and dynamic
+ analysis tools. PDT implements a standard program representation,
+ the program database (PDB), that can be accessed in a uniform way
+ through a class library supporting common PDB operations.
"""
- maintainers = ['wspear', 'eugeneswalker', 'khuck', 'sameershende']
+
+ maintainers = ["wspear", "eugeneswalker", "khuck", "sameershende"]
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
- url = "https://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdtoolkit-3.25.1.tar.gz"
+ url = "https://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdtoolkit-3.25.1.tar.gz"
- tags = ['e4s']
+ tags = ["e4s"]
- version('3.25.1', sha256='0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97')
- version('3.25', sha256='1037628d854edfeded3d847150d3e8fbd3774e8146407ce32f5021c80f6299be')
- version('3.24', sha256='4a2bb31f3f7f2e52ed49d9b7189ade05170a4386ef76771280a06e8b3ca97ab2')
- version('3.23', sha256='c17fca2f9126e10b4922b54e737a39c081b2dcf99bf20062c203247e05ecb850')
- version('3.22.1', sha256='215a3684bfe0df8ca673b09ee1efcdb5388ab5f45130dd67a00ef1041bfb5818')
- version('3.22', sha256='3a539c04b6d1b7b77b31999a7936717dfccda138b318756e306415e3af17dd8b')
- version('3.21', sha256='582f14347b4dd7a6f9bc2f41b3b62a6b40079c0a3127109c2c0c953e3c922401')
- version('3.20', sha256='561c3559fba7c3d053df3b98f75f3c2087c64a6d51204b40825a1737677f780b')
- version('3.19', sha256='d57234077e2e999f2acf9860ea84369a4694b50cc17fa6728e5255dc5f4a2160')
- version('3.18.1', sha256='d06c2d1793fadebf169752511e5046d7e02cf3fead6135a35c34b1fee6d6d3b2')
+ version("3.25.1", sha256="0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97")
+ version("3.25", sha256="1037628d854edfeded3d847150d3e8fbd3774e8146407ce32f5021c80f6299be")
+ version("3.24", sha256="4a2bb31f3f7f2e52ed49d9b7189ade05170a4386ef76771280a06e8b3ca97ab2")
+ version("3.23", sha256="c17fca2f9126e10b4922b54e737a39c081b2dcf99bf20062c203247e05ecb850")
+ version("3.22.1", sha256="215a3684bfe0df8ca673b09ee1efcdb5388ab5f45130dd67a00ef1041bfb5818")
+ version("3.22", sha256="3a539c04b6d1b7b77b31999a7936717dfccda138b318756e306415e3af17dd8b")
+ version("3.21", sha256="582f14347b4dd7a6f9bc2f41b3b62a6b40079c0a3127109c2c0c953e3c922401")
+ version("3.20", sha256="561c3559fba7c3d053df3b98f75f3c2087c64a6d51204b40825a1737677f780b")
+ version("3.19", sha256="d57234077e2e999f2acf9860ea84369a4694b50cc17fa6728e5255dc5f4a2160")
+ version("3.18.1", sha256="d06c2d1793fadebf169752511e5046d7e02cf3fead6135a35c34b1fee6d6d3b2")
- variant('pic', default=False, description="Builds with pic")
+ variant("pic", default=False, description="Builds with pic")
- patch('cray_configure.patch', when='%cce')
+ patch("cray_configure.patch", when="%cce")
def patch(self):
spec = self.spec
- if spec.satisfies('%clang') or spec.satisfies('%apple-clang'):
- filter_file(r'PDT_GXX=g\+\+ ',
- r'PDT_GXX=clang++ ', 'ductape/Makefile')
+ if spec.satisfies("%clang") or spec.satisfies("%apple-clang"):
+ filter_file(r"PDT_GXX=g\+\+ ", r"PDT_GXX=clang++ ", "ductape/Makefile")
def configure(self, spec, prefix):
- options = ['-prefix=%s' % prefix]
- if self.compiler.name == 'xl':
- options.append('-XLC')
- elif self.compiler.name == 'intel' or self.compiler.name == 'oneapi':
- options.append('-icpc')
- elif self.compiler.name == 'pgi':
- options.append('-pgCC')
- elif self.compiler.name == 'gcc':
- options.append('-GNU')
- elif self.compiler.name == 'clang':
- options.append('-clang')
- elif self.compiler.name == 'cce':
- options.append('-CC')
+ options = ["-prefix=%s" % prefix]
+ if self.compiler.name == "xl":
+ options.append("-XLC")
+ elif self.compiler.name == "intel" or self.compiler.name == "oneapi":
+ options.append("-icpc")
+ elif self.compiler.name == "pgi":
+ options.append("-pgCC")
+ elif self.compiler.name == "gcc":
+ options.append("-GNU")
+ elif self.compiler.name == "clang":
+ options.append("-clang")
+ elif self.compiler.name == "cce":
+ options.append("-CC")
else:
- raise InstallError('Unknown/unsupported compiler family')
+ raise InstallError("Unknown/unsupported compiler family")
- if '+pic' in spec:
- options.append('-useropt=' + self.compiler.cxx_pic_flag)
+ if "+pic" in spec:
+ options.append("-useropt=" + self.compiler.cxx_pic_flag)
configure(*options)
- @run_after('install')
+ @run_after("install")
def link_arch_dirs(self):
# Link arch-specific directories into prefix
for dir in os.listdir(self.prefix):
path = join_path(self.prefix, dir)
if not os.path.isdir(path) or os.path.islink(path):
continue
- for d in ('bin', 'lib'):
+ for d in ("bin", "lib"):
src = join_path(path, d)
dst = join_path(self.prefix, d)
if os.path.isdir(src) and not os.path.exists(dst):
diff --git a/var/spack/repos/builtin/packages/pegtl/package.py b/var/spack/repos/builtin/packages/pegtl/package.py
index cc408afc5b..4c1b3d88c7 100644
--- a/var/spack/repos/builtin/packages/pegtl/package.py
+++ b/var/spack/repos/builtin/packages/pegtl/package.py
@@ -10,46 +10,40 @@ from spack.package import *
# package has a Makefile, but only to build examples
class Pegtl(CMakePackage):
"""The Parsing Expression Grammar Template Library (PEGTL) is a
- zero-dependency C++11 header-only library for creating parsers
- according to a Parsing Expression Grammar (PEG).
+ zero-dependency C++11 header-only library for creating parsers
+ according to a Parsing Expression Grammar (PEG).
"""
homepage = "https://github.com/taocpp/PEGTL"
- url = "https://github.com/taocpp/PEGTL/tarball/2.1.4"
- git = "https://github.com/taocpp/PEGTL.git"
+ url = "https://github.com/taocpp/PEGTL/tarball/2.1.4"
+ git = "https://github.com/taocpp/PEGTL.git"
- version('master', branch='master')
- version('3.2.0', sha256='91aa6529ef9e6b57368e7b5b1f04a3bd26a39419d30e35a3c5c66ef073926b56')
- version('2.8.3', sha256='370afd0fbe6d73c448a33c10fbe4a7254f92077f5a217317d0a32a9231293015')
- version('2.1.4', sha256='d990dccc07b4d9ba548326d11c5c5e34fa88b34fe113cb5377da03dda29f23f2')
- version('2.0.0', sha256='5aae0505077e051cae4d855c38049cc6cf71103a6cc8d0ddef01a576e8a60cc0')
+ version("master", branch="master")
+ version("3.2.0", sha256="91aa6529ef9e6b57368e7b5b1f04a3bd26a39419d30e35a3c5c66ef073926b56")
+ version("2.8.3", sha256="370afd0fbe6d73c448a33c10fbe4a7254f92077f5a217317d0a32a9231293015")
+ version("2.1.4", sha256="d990dccc07b4d9ba548326d11c5c5e34fa88b34fe113cb5377da03dda29f23f2")
+ version("2.0.0", sha256="5aae0505077e051cae4d855c38049cc6cf71103a6cc8d0ddef01a576e8a60cc0")
# Ref: https://github.com/taocpp/PEGTL/blob/master/src/example/pegtl/json_classes.hpp
- patch('change_to_virtual_destructor.patch', when='@:2.4')
+ patch("change_to_virtual_destructor.patch", when="@:2.4")
# Ref: https://bugs.gentoo.org/733678
- patch_url = 'https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch'
- patch_checksum = 'fc40b0c7390f8c0473f2cb4821bda7a5e107f93ca9d2fafeff2065445bb39981'
- patch(patch_url, sha256=patch_checksum, level=0, when='@2.1.4:2.8.3')
+ patch_url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch"
+ patch_checksum = "fc40b0c7390f8c0473f2cb4821bda7a5e107f93ca9d2fafeff2065445bb39981"
+ patch(patch_url, sha256=patch_checksum, level=0, when="@2.1.4:2.8.3")
def cmake_args(self):
args = []
if self.run_tests:
- args.extend([
- '-DPEGTL_BUILD_EXAMPLES=ON',
- '-DPEGTL_BUILD_TESTS=ON'
- ])
+ args.extend(["-DPEGTL_BUILD_EXAMPLES=ON", "-DPEGTL_BUILD_TESTS=ON"])
else:
- args.extend([
- '-DPEGTL_BUILD_EXAMPLES=OFF',
- '-DPEGTL_BUILD_TESTS=OFF'
- ])
+ args.extend(["-DPEGTL_BUILD_EXAMPLES=OFF", "-DPEGTL_BUILD_TESTS=OFF"])
return args
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check(self):
with working_dir(self.build_directory):
- make('test', parallel=False)
+ make("test", parallel=False)
diff --git a/var/spack/repos/builtin/packages/pennant/package.py b/var/spack/repos/builtin/packages/pennant/package.py
index 4ca6d77fec..d8671d8022 100644
--- a/var/spack/repos/builtin/packages/pennant/package.py
+++ b/var/spack/repos/builtin/packages/pennant/package.py
@@ -8,73 +8,64 @@ from spack.package import *
class Pennant(MakefilePackage):
"""PENNANT is an unstructured mesh physics mini-app designed
- for advanced architecture research. It contains mesh data
- structures and a few physics algorithms adapted
- from the LANL rad-hydro code FLAG, and gives a sample of
- the typical memory access patterns of FLAG.
+ for advanced architecture research. It contains mesh data
+ structures and a few physics algorithms adapted
+ from the LANL rad-hydro code FLAG, and gives a sample of
+ the typical memory access patterns of FLAG.
"""
homepage = "https://github.com/lanl/PENNANT"
- url = "https://github.com/lanl/PENNANT/archive/pennant_v0.9.tar.gz"
- tags = ['proxy-app']
+ url = "https://github.com/lanl/PENNANT/archive/pennant_v0.9.tar.gz"
+ tags = ["proxy-app"]
- version('0.9', sha256='5fc07e64c246f8b1b552595a0868ba0042b7a2410aa844e7b510bc31e2512dd8')
- version('0.8', sha256='b07226b377c0e22c0f9a631be07ab28793c6d9a337a7a6eed2c7d4dc79f93f18')
- version('0.7', sha256='a6b7e76f7e68a693fd12ec338eaeb59430db9f12b69279b24f78724882684ae4')
- version('0.6', sha256='0b317c19d6af96fe0544afb19ea503449c9f57869b9ad788f654ebec316341f4')
- version('0.5', sha256='21ef5889731fad0075f9dab8ffa97af8fd8ff87f6a5fe6434916b6e28cf64e43')
- version('0.4', sha256='65b81b92ed6fdbe407310948dd76ffb48cca155ee05c1f990a649faf81b45bb0')
+ version("0.9", sha256="5fc07e64c246f8b1b552595a0868ba0042b7a2410aa844e7b510bc31e2512dd8")
+ version("0.8", sha256="b07226b377c0e22c0f9a631be07ab28793c6d9a337a7a6eed2c7d4dc79f93f18")
+ version("0.7", sha256="a6b7e76f7e68a693fd12ec338eaeb59430db9f12b69279b24f78724882684ae4")
+ version("0.6", sha256="0b317c19d6af96fe0544afb19ea503449c9f57869b9ad788f654ebec316341f4")
+ version("0.5", sha256="21ef5889731fad0075f9dab8ffa97af8fd8ff87f6a5fe6434916b6e28cf64e43")
+ version("0.4", sha256="65b81b92ed6fdbe407310948dd76ffb48cca155ee05c1f990a649faf81b45bb0")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('debug', default=False, description='Enable debug')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("debug", default=False, description="Enable debug")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- debug = '-g'
- opt = '-O3'
+ makefile = FileFilter("Makefile")
+ debug = "-g"
+ opt = "-O3"
- if self.compiler.name == 'intel':
- opt += ' -fast -fno-alias'
- if self.compiler.name == 'pgi':
- opt += ' -fastsse'
+ if self.compiler.name == "intel":
+ opt += " -fast -fno-alias"
+ if self.compiler.name == "pgi":
+ opt += " -fastsse"
+ makefile.filter("CXXFLAGS_DEBUG .*", "CXXFLAGS_DEBUG := {0}".format(debug))
+ makefile.filter("CXXFLAGS_OPT .*", "CXXFLAGS_OPT := {0}".format(opt))
makefile.filter(
- 'CXXFLAGS_DEBUG .*',
- 'CXXFLAGS_DEBUG := {0}'.format(debug))
- makefile.filter(
- 'CXXFLAGS_OPT .*',
- 'CXXFLAGS_OPT := {0}'.format(opt))
- makefile.filter(
- 'CXXFLAGS_OPENMP .*',
- 'CXXFLAGS_OPENMP := {0}'.format(self.compiler.openmp_flag))
+ "CXXFLAGS_OPENMP .*", "CXXFLAGS_OPENMP := {0}".format(self.compiler.openmp_flag)
+ )
- if '+mpi' in spec:
- makefile.filter(
- 'CXX .*',
- 'CXX := {0}'.format(spec['mpi'].mpicxx))
+ if "+mpi" in spec:
+ makefile.filter("CXX .*", "CXX := {0}".format(spec["mpi"].mpicxx))
else:
- makefile.filter('-DUSE_MPI', '#')
- makefile.filter('CXX .*', 'CXX := c++')
+ makefile.filter("-DUSE_MPI", "#")
+ makefile.filter("CXX .*", "CXX := c++")
- if '+openmp' not in spec:
- makefile.filter('.*CXXFLAGS_OPENMP.*', '#')
+ if "+openmp" not in spec:
+ makefile.filter(".*CXXFLAGS_OPENMP.*", "#")
- if '+debug' in spec:
- makefile.filter(
- '.*(CXXFLAGS_OPT).*',
- 'CXXFLAGS := $(CXXFLAGS_DEBUG)')
+ if "+debug" in spec:
+ makefile.filter(".*(CXXFLAGS_OPT).*", "CXXFLAGS := $(CXXFLAGS_DEBUG)")
def install(self, spec, prefix):
-
def install_dir(dirname):
install_tree(dirname, join_path(prefix, dirname))
mkdirp(prefix.bin)
- install('build/pennant', prefix.bin)
- install_dir('doc')
- install_dir('test')
- install('LICENSE', prefix)
- install('README', prefix)
+ install("build/pennant", prefix.bin)
+ install_dir("doc")
+ install_dir("test")
+ install("LICENSE", prefix)
+ install("README", prefix)
diff --git a/var/spack/repos/builtin/packages/percept/package.py b/var/spack/repos/builtin/packages/percept/package.py
index bea0bb247b..b320e79912 100644
--- a/var/spack/repos/builtin/packages/percept/package.py
+++ b/var/spack/repos/builtin/packages/percept/package.py
@@ -13,53 +13,48 @@ class Percept(CMakePackage):
"""
homepage = "https://github.com/PerceptTools/percept"
- git = "https://github.com/PerceptTools/percept.git"
+ git = "https://github.com/PerceptTools/percept.git"
# The open version of Percept does not seem to be supported on
# github and it doesn't have tags. So we specify a specific commit
# here and the patch allows us to build the mesh_transfer exe and
# creates a make install target so Spack can install Percept
- version('master', commit='363cdd0050443760d54162f140b2fb54ed9decf0')
- patch('cmakelists.patch')
+ version("master", commit="363cdd0050443760d54162f140b2fb54ed9decf0")
+ patch("cmakelists.patch")
- depends_on('googletest~shared')
- depends_on('opennurbs@percept')
- depends_on('boost+graph+mpi')
+ depends_on("googletest~shared")
+ depends_on("opennurbs@percept")
+ depends_on("boost+graph+mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('yaml-cpp+pic~shared@0.5.3:')
+ depends_on("yaml-cpp+pic~shared@0.5.3:")
depends_on(
- 'trilinos'
- '~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2'
- '+zoltan+stk+boost~superlu-dist+superlu+hdf5+aztec+sacado'
- '~openmp+shards+intrepid'
- '@master,12.14.1:'
+ "trilinos"
+ "~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2"
+ "+zoltan+stk+boost~superlu-dist+superlu+hdf5+aztec+sacado"
+ "~openmp+shards+intrepid"
+ "@master,12.14.1:"
)
def cmake_args(self):
spec = self.spec
options = []
- options.extend([
- '-DSTK_PERCEPT_LITE:BOOL=OFF',
- '-DSTK_ADAPT_HAVE_YAML_CPP:BOOL=ON',
- '-DTrilinos_DIR:PATH=%s' %
- spec['trilinos'].prefix,
- '-DYAML_DIR:PATH=%s' %
- spec['yaml-cpp'].prefix,
- '-DBOOST_DIR:PATH=%s' %
- spec['boost'].prefix,
- '-DOPENNURBS_DIR:PATH=%s' %
- spec['opennurbs'].prefix,
- '-DOPENNURBS_INCLUDE_DIR:PATH=%s' %
- spec['opennurbs'].prefix.include,
- '-DOPENNURBS_LIBRARY_DIR:PATH=%s' %
- spec['opennurbs'].prefix.lib,
- '-DPERCEPT_TPLS_INSTALL_DIR:PATH=%s' %
- spec['googletest'].prefix,
- ])
+ options.extend(
+ [
+ "-DSTK_PERCEPT_LITE:BOOL=OFF",
+ "-DSTK_ADAPT_HAVE_YAML_CPP:BOOL=ON",
+ "-DTrilinos_DIR:PATH=%s" % spec["trilinos"].prefix,
+ "-DYAML_DIR:PATH=%s" % spec["yaml-cpp"].prefix,
+ "-DBOOST_DIR:PATH=%s" % spec["boost"].prefix,
+ "-DOPENNURBS_DIR:PATH=%s" % spec["opennurbs"].prefix,
+ "-DOPENNURBS_INCLUDE_DIR:PATH=%s" % spec["opennurbs"].prefix.include,
+ "-DOPENNURBS_LIBRARY_DIR:PATH=%s" % spec["opennurbs"].prefix.lib,
+ "-DPERCEPT_TPLS_INSTALL_DIR:PATH=%s" % spec["googletest"].prefix,
+ ]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/percona-server/package.py b/var/spack/repos/builtin/packages/percona-server/package.py
index 8d3bd7b55c..913467084a 100644
--- a/var/spack/repos/builtin/packages/percona-server/package.py
+++ b/var/spack/repos/builtin/packages/percona-server/package.py
@@ -12,25 +12,25 @@ class PerconaServer(CMakePackage):
reliability and more features."""
homepage = "https://www.percona.com"
- url = "https://github.com/percona/percona-server/archive/Percona-Server-5.7.31-34.tar.gz"
+ url = "https://github.com/percona/percona-server/archive/Percona-Server-5.7.31-34.tar.gz"
- version('8.0.20-11', sha256='454ba8b64d447f477a70888903949ce6f64c57d3e15e9054d17d156c88693670')
- version('8.0.19-10', sha256='f2f979bd7dfb4d62aef79b7c488070d5d599341a6acbb295400f1d68257cbd80')
- version('8.0.18-9', sha256='e79a8c1ae5f2271c0b344494a299a9bbbada88d3bce87449b7de274d17d1ccd0')
+ version("8.0.20-11", sha256="454ba8b64d447f477a70888903949ce6f64c57d3e15e9054d17d156c88693670")
+ version("8.0.19-10", sha256="f2f979bd7dfb4d62aef79b7c488070d5d599341a6acbb295400f1d68257cbd80")
+ version("8.0.18-9", sha256="e79a8c1ae5f2271c0b344494a299a9bbbada88d3bce87449b7de274d17d1ccd0")
- depends_on('boost@1.70.0')
+ depends_on("boost@1.70.0")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('openssl')
- depends_on('ncurses')
- depends_on('readline')
+ depends_on("openssl")
+ depends_on("ncurses")
+ depends_on("readline")
# Links to libldap_r, which was merged with libldap in OpenLDAP 2.5
- depends_on('openldap@:2.4')
- depends_on('libtirpc')
- depends_on('curl')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('rpcsvc-proto')
+ depends_on("openldap@:2.4")
+ depends_on("libtirpc")
+ depends_on("curl")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("rpcsvc-proto")
diff --git a/var/spack/repos/builtin/packages/perfstubs/package.py b/var/spack/repos/builtin/packages/perfstubs/package.py
index d5b4ff9310..acb014d312 100644
--- a/var/spack/repos/builtin/packages/perfstubs/package.py
+++ b/var/spack/repos/builtin/packages/perfstubs/package.py
@@ -19,13 +19,11 @@ class Perfstubs(CMakePackage):
"""
homepage = "https://github.com/khuck/perfstubs"
- git = "https://github.com/khuck/perfstubs.git"
+ git = "https://github.com/khuck/perfstubs.git"
- version('master', branch='master')
- variant('static', default=False, description='Build static executable support')
+ version("master", branch="master")
+ variant("static", default=False, description="Build static executable support")
def cmake_args(self):
- args = [
- self.define_from_variant('PERFSTUBS_USE_STATIC', 'static')
- ]
+ args = [self.define_from_variant("PERFSTUBS_USE_STATIC", "static")]
return args
diff --git a/var/spack/repos/builtin/packages/perl-acme-damn/package.py b/var/spack/repos/builtin/packages/perl-acme-damn/package.py
index 8316cdb831..c3a226fdec 100644
--- a/var/spack/repos/builtin/packages/perl-acme-damn/package.py
+++ b/var/spack/repos/builtin/packages/perl-acme-damn/package.py
@@ -12,6 +12,6 @@ class PerlAcmeDamn(PerlPackage):
reference."""
homepage = "https://metacpan.org/pod/Acme::Damn"
- url = "https://cpan.metacpan.org/authors/id/I/IB/IBB/Acme-Damn-0.08.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/I/IB/IBB/Acme-Damn-0.08.tar.gz"
- version('0.08', sha256='310d2d03ff912dcd42e4d946174099f41fe3a2dd57a497d6bd65baf1759b7e0e')
+ version("0.08", sha256="310d2d03ff912dcd42e4d946174099f41fe3a2dd57a497d6bd65baf1759b7e0e")
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 9a9e17fb6a..055544110f 100644
--- a/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py
+++ b/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py
@@ -10,6 +10,6 @@ class PerlAlgorithmDiff(PerlPackage):
"""Compute 'intelligent' differences between two files / lists"""
homepage = "https://metacpan.org/pod/Algorithm::Diff"
- url = "http://search.cpan.org/CPAN/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz"
- version('1.1903', sha256='30e84ac4b31d40b66293f7b1221331c5a50561a39d580d85004d9c1fff991751')
+ version("1.1903", sha256="30e84ac4b31d40b66293f7b1221331c5a50561a39d580d85004d9c1fff991751")
diff --git a/var/spack/repos/builtin/packages/perl-alien-build/package.py b/var/spack/repos/builtin/packages/perl-alien-build/package.py
index 42fc8f45d1..73c56da265 100644
--- a/var/spack/repos/builtin/packages/perl-alien-build/package.py
+++ b/var/spack/repos/builtin/packages/perl-alien-build/package.py
@@ -12,12 +12,12 @@ class PerlAlienBuild(PerlPackage):
client, and work closely with Alien::Base which is used at runtime."""
homepage = "https://metacpan.org/pod/Alien::Build"
- url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-1.86.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-1.86.tar.gz"
- version('1.86', sha256='f856a46aea72fe77daea5b1788b4ea0dc215f5704f5a35fa063171be8523e4e9')
+ version("1.86", sha256="f856a46aea72fe77daea5b1788b4ea0dc215f5704f5a35fa063171be8523e4e9")
- depends_on('perl-capture-tiny', type=('build', 'run'))
- depends_on('perl-ffi-checklib', type=('build', 'run'))
- depends_on('perl-file-which', type=('build', 'run'))
- depends_on('perl-file-chdir', type=('build', 'run'))
- depends_on('perl-path-tiny', type=('build', 'run'))
+ depends_on("perl-capture-tiny", type=("build", "run"))
+ depends_on("perl-ffi-checklib", type=("build", "run"))
+ depends_on("perl-file-which", type=("build", "run"))
+ depends_on("perl-file-chdir", type=("build", "run"))
+ depends_on("perl-path-tiny", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py b/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py
index 2252705cf3..7a2761fa65 100644
--- a/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py
+++ b/var/spack/repos/builtin/packages/perl-alien-libxml2/package.py
@@ -10,10 +10,10 @@ class PerlAlienLibxml2(PerlPackage):
"""This module provides libxml2 for other modules to use."""
homepage = "https://metacpan.org/pod/Alien::Libxml2"
- url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.10_01.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.10_01.tar.gz"
- version('0.10_01', sha256='2f45b308b33503292f48bf46a75fe1e653d6b209ba5caf0628d8cc103f8d61ac')
+ version("0.10_01", sha256="2f45b308b33503292f48bf46a75fe1e653d6b209ba5caf0628d8cc103f8d61ac")
- depends_on('libxml2')
- depends_on('perl-alien-build', type=('build', 'run'))
- depends_on('pkgconfig', type=('build'))
+ depends_on("libxml2")
+ depends_on("perl-alien-build", type=("build", "run"))
+ depends_on("pkgconfig", type=("build"))
diff --git a/var/spack/repos/builtin/packages/perl-alien-svn/package.py b/var/spack/repos/builtin/packages/perl-alien-svn/package.py
index 27f71fd314..ef0e06efdb 100644
--- a/var/spack/repos/builtin/packages/perl-alien-svn/package.py
+++ b/var/spack/repos/builtin/packages/perl-alien-svn/package.py
@@ -12,31 +12,34 @@ class PerlAlienSvn(PerlPackage):
"""Perl SVN extension."""
homepage = "http://metacpan.org/source/MSCHWERN/Alien-SVN-v1.8.11.0"
- url = "https://cpan.metacpan.org/authors/id/M/MS/MSCHWERN/Alien-SVN-v1.8.11.0.tar.gz"
-
- version('1.8.11.0', sha256='acf8ebce1cb6958ef24611a453abee32b8e4dfe767563834362891ef3f30fc68')
- version('1.7.19.0', sha256='80df1eef9ffb7b0fb0c45285eec05d15bcb45c349c441f97131c64b8697dceb0')
- version('1.7.17.1', sha256='35ae83fda2ef9a5b48012ac8317ec063058d1e9fc5f2719fa141eecedf6baef8')
- version('1.7.17.0', sha256='f3e11ac89453e91f9c298c43958f8115bbb49cb67bb22a0e92690a8e8447c3d0')
- version('1.7.3.1', sha256='e85efca8f9519b2cef81f39e026d227c077c9531c41f44995b31550c3af02366')
- version('1.7.3.0', sha256='02abbe17ad7db912001e6f1c5018cec08c3840e0c32700363a79274e144e74e5')
- version('1.6.12.1', sha256='a89d8eeff61e34aa7b3d35dee3e6752b12dfa5f0f04bf69d796846cf0391f53d')
-
- depends_on('perl-module-build', type='build')
- depends_on('apr@1.6.2', type='build')
- depends_on('apr-util', type=('build', 'link'))
- depends_on('sqlite', type='build')
- depends_on('zlib')
- depends_on('libbsd')
+ url = "https://cpan.metacpan.org/authors/id/M/MS/MSCHWERN/Alien-SVN-v1.8.11.0.tar.gz"
+
+ version("1.8.11.0", sha256="acf8ebce1cb6958ef24611a453abee32b8e4dfe767563834362891ef3f30fc68")
+ version("1.7.19.0", sha256="80df1eef9ffb7b0fb0c45285eec05d15bcb45c349c441f97131c64b8697dceb0")
+ version("1.7.17.1", sha256="35ae83fda2ef9a5b48012ac8317ec063058d1e9fc5f2719fa141eecedf6baef8")
+ version("1.7.17.0", sha256="f3e11ac89453e91f9c298c43958f8115bbb49cb67bb22a0e92690a8e8447c3d0")
+ version("1.7.3.1", sha256="e85efca8f9519b2cef81f39e026d227c077c9531c41f44995b31550c3af02366")
+ version("1.7.3.0", sha256="02abbe17ad7db912001e6f1c5018cec08c3840e0c32700363a79274e144e74e5")
+ version("1.6.12.1", sha256="a89d8eeff61e34aa7b3d35dee3e6752b12dfa5f0f04bf69d796846cf0391f53d")
+
+ depends_on("perl-module-build", type="build")
+ depends_on("apr@1.6.2", type="build")
+ depends_on("apr-util", type=("build", "link"))
+ depends_on("sqlite", type="build")
+ depends_on("zlib")
+ depends_on("libbsd")
def setup_build_environment(self, env):
# non-interactive build, use defaults
- env.set('PERL_MM_USE_DEFAULT', '1')
+ env.set("PERL_MM_USE_DEFAULT", "1")
def setup_run_environment(self, env):
# SVN libs are not RPATHed correctly...
# TODO: extend to other plaforms
- if sys.platform.startswith('linux'):
- env.prepend_path('LD_LIBRARY_PATH', join_path(
- self.prefix, 'lib', 'perl4', 'x86_64-linux-thread-multi',
- 'Alien', 'SVN'))
+ if sys.platform.startswith("linux"):
+ env.prepend_path(
+ "LD_LIBRARY_PATH",
+ join_path(
+ self.prefix, "lib", "perl4", "x86_64-linux-thread-multi", "Alien", "SVN"
+ ),
+ )
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 b7651ce2db..d852943836 100644
--- a/var/spack/repos/builtin/packages/perl-app-cmd/package.py
+++ b/var/spack/repos/builtin/packages/perl-app-cmd/package.py
@@ -10,6 +10,6 @@ class PerlAppCmd(PerlPackage):
"""Write command line apps with less suffering"""
homepage = "https://metacpan.org/pod/App::Cmd"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz"
- version('0.331', sha256='4a5d3df0006bd278880d01f4957aaa652a8f91fe8f66e93adf70fba0c3ecb680')
+ 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 bde16b514a..4b6d930588 100644
--- a/var/spack/repos/builtin/packages/perl-array-utils/package.py
+++ b/var/spack/repos/builtin/packages/perl-array-utils/package.py
@@ -10,6 +10,6 @@ class PerlArrayUtils(PerlPackage):
"""Small utils for array manipulation"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-0.5.tar.gz"
- version('0.5', sha256='89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770')
+ 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 45a1204454..7853525906 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
@@ -10,8 +10,8 @@ class PerlBHooksEndofscope(PerlPackage):
"""Execute code after a scope finished compilation."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.21.tar.gz"
- version('0.21', sha256='90f3580880f1d68b843c142cc86f58bead1f3e03634c63868ac9eba5eedae02c')
+ version("0.21", sha256="90f3580880f1d68b843c142cc86f58bead1f3e03634c63868ac9eba5eedae02c")
- depends_on('perl-sub-exporter-progressive', type=('build', 'run'))
+ depends_on("perl-sub-exporter-progressive", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-bio-searchio-hmmer/package.py b/var/spack/repos/builtin/packages/perl-bio-searchio-hmmer/package.py
index 0b9e1afa09..e44511d7b1 100644
--- a/var/spack/repos/builtin/packages/perl-bio-searchio-hmmer/package.py
+++ b/var/spack/repos/builtin/packages/perl-bio-searchio-hmmer/package.py
@@ -10,9 +10,9 @@ class PerlBioSearchioHmmer(PerlPackage):
"""BioPerl parser to HMMER output."""
homepage = "https://github.com/bioperl/bio-searchio-hmmer"
- url = "https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/Bio-SearchIO-hmmer-1.7.3.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/Bio-SearchIO-hmmer-1.7.3.tar.gz"
- version('1.7.3', sha256='686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246')
+ version("1.7.3", sha256="686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246")
- depends_on('perl-bioperl', type=('build', 'run'))
- depends_on('perl-io-string', type=('build', 'run'))
+ depends_on("perl-bioperl", type=("build", "run"))
+ depends_on("perl-io-string", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-bioperl/package.py b/var/spack/repos/builtin/packages/perl-bioperl/package.py
index 40704f2fa8..04db283bf3 100644
--- a/var/spack/repos/builtin/packages/perl-bioperl/package.py
+++ b/var/spack/repos/builtin/packages/perl-bioperl/package.py
@@ -34,48 +34,52 @@ class PerlBioperl(PerlPackage):
and contribute your own if possible."""
homepage = "https://metacpan.org/pod/BioPerl"
- url = "https://cpan.metacpan.org/authors/id/C/CD/CDRAUG/BioPerl-1.7.6.tar.gz"
-
- version('1.7.6',
- sha256='df2a3efc991b9b5d7cc9d038a1452c6dac910c9ad2a0e47e408dd692c111688d',
- preferred=True)
- version('1.007002', sha256='17aa3aaab2f381bbcaffdc370002eaf28f2c341b538068d6586b2276a76464a1',
- url='https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz')
+ url = "https://cpan.metacpan.org/authors/id/C/CD/CDRAUG/BioPerl-1.7.6.tar.gz"
+
+ version(
+ "1.7.6",
+ sha256="df2a3efc991b9b5d7cc9d038a1452c6dac910c9ad2a0e47e408dd692c111688d",
+ preferred=True,
+ )
+ version(
+ "1.007002",
+ sha256="17aa3aaab2f381bbcaffdc370002eaf28f2c341b538068d6586b2276a76464a1",
+ url="https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.007002.tar.gz",
+ )
# According to cpandeps.grinnz.com Module-Build is both a build and run
# time dependency for BioPerl
- depends_on('perl-module-build', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-io-string', type=('build', 'run'))
- depends_on('perl-data-stag', type=('build', 'run'))
- depends_on('perl-test-most', type=('build', 'run'))
- depends_on('perl-error', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-graph', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-http-message', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-io-stringy', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-ipc-run', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-list-moreutils', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-set-scalar', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-test-requiresinternet', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-dom', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-dom-xpath', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-libxml', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-sax', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-sax-base', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-sax-writer', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-twig', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-xml-writer', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-yaml', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-libwww-perl', when='@1.7.6:', type=('build', 'run'))
- depends_on('perl-libxml-perl', when='@1.7.6:', type=('build', 'run'))
-
- @when('@1.007002')
+ depends_on("perl-module-build", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-io-string", type=("build", "run"))
+ depends_on("perl-data-stag", type=("build", "run"))
+ depends_on("perl-test-most", type=("build", "run"))
+ depends_on("perl-error", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-graph", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-http-message", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-io-stringy", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-ipc-run", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-list-moreutils", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-set-scalar", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-test-requiresinternet", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-dom", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-dom-xpath", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-libxml", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-sax", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-sax-base", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-sax-writer", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-twig", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-xml-writer", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-yaml", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-libwww-perl", when="@1.7.6:", type=("build", "run"))
+ depends_on("perl-libxml-perl", when="@1.7.6:", type=("build", "run"))
+
+ @when("@1.007002")
def configure(self, spec, prefix):
# Overriding default configure method in order to cater to interactive
# Build.pl
- self.build_method = 'Build.PL'
- self.build_executable = Executable(
- join_path(self.stage.source_path, 'Build'))
+ self.build_method = "Build.PL"
+ self.build_executable = Executable(join_path(self.stage.source_path, "Build"))
# Config questions consist of:
# Do you want to run the Bio::DB::GFF or Bio::DB::SeqFeature::Store
@@ -90,24 +94,23 @@ class PerlBioperl(PerlPackage):
# Eventually, someone can add capability for the other options, but
# the current answers are the most practical for a spack install.
- config_answers = ['n\n', 'a\n', 'n\n']
- config_answers_filename = 'spack-config.in'
+ config_answers = ["n\n", "a\n", "n\n"]
+ config_answers_filename = "spack-config.in"
- with open(config_answers_filename, 'w') as f:
+ with open(config_answers_filename, "w") as f:
f.writelines(config_answers)
- with open(config_answers_filename, 'r') as f:
- inspect.getmodule(self).perl('Build.PL', '--install_base=%s' %
- self.prefix, input=f)
+ with open(config_answers_filename, "r") as f:
+ inspect.getmodule(self).perl("Build.PL", "--install_base=%s" % self.prefix, input=f)
# Need to also override the build and install methods to make sure that the
# Build script is run through perl and not use the shebang, as it might be
# too long. This is needed because this does not pick up the
# `@run_after(configure)` step defined in `PerlPackage`.
- @when('@1.007002')
+ @when("@1.007002")
def build(self, spec, prefix):
- inspect.getmodule(self).perl('Build')
+ inspect.getmodule(self).perl("Build")
- @when('@1.007002')
+ @when("@1.007002")
def install(self, spec, prefix):
- inspect.getmodule(self).perl('Build', 'install')
+ inspect.getmodule(self).perl("Build", "install")
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 eb71aaa35a..cc4c2ddbad 100644
--- a/var/spack/repos/builtin/packages/perl-bit-vector/package.py
+++ b/var/spack/repos/builtin/packages/perl-bit-vector/package.py
@@ -10,8 +10,8 @@ class PerlBitVector(PerlPackage):
"""Efficient bit vector, set of integers and "big int" math library"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz"
- version('7.4', sha256='3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926')
+ version("7.4", sha256="3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926")
- depends_on('perl-carp-clan', type=('build', 'run'))
+ depends_on("perl-carp-clan", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-cairo/package.py b/var/spack/repos/builtin/packages/perl-cairo/package.py
index 257f703b25..c9d23f613e 100644
--- a/var/spack/repos/builtin/packages/perl-cairo/package.py
+++ b/var/spack/repos/builtin/packages/perl-cairo/package.py
@@ -10,10 +10,10 @@ class PerlCairo(PerlPackage):
"""Perl interface to the cairo 2d vector graphics library"""
homepage = "https://metacpan.org/pod/Cairo"
- url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/Cairo-1.106.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/Cairo-1.106.tar.gz"
- version('1.106', sha256='e64803018bc7cba49e73e258547f5378cc4249797beafec524852140f49c45c4')
+ version("1.106", sha256="e64803018bc7cba49e73e258547f5378cc4249797beafec524852140f49c45c4")
- depends_on('cairo')
- depends_on('perl-extutils-depends')
- depends_on('perl-extutils-pkgconfig')
+ depends_on("cairo")
+ depends_on("perl-extutils-depends")
+ depends_on("perl-extutils-pkgconfig")
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 8b3af9b604..45d3fa4aa7 100644
--- a/var/spack/repos/builtin/packages/perl-capture-tiny/package.py
+++ b/var/spack/repos/builtin/packages/perl-capture-tiny/package.py
@@ -10,6 +10,6 @@ class PerlCaptureTiny(PerlPackage):
"""Capture STDOUT and STDERR from Perl, XS or external programs"""
homepage = "https://metacpan.org/pod/Capture::Tiny"
- url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.46.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.46.tar.gz"
- version('0.46', sha256='5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015')
+ 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 85da352779..72fe6c80d0 100644
--- a/var/spack/repos/builtin/packages/perl-carp-clan/package.py
+++ b/var/spack/repos/builtin/packages/perl-carp-clan/package.py
@@ -10,9 +10,9 @@ class PerlCarpClan(PerlPackage):
"""Report errors from perspective of caller of a "clan" of modules"""
homepage = "https://metacpan.org/pod/Carp::Clan"
- url = "http://search.cpan.org/CPAN/authors/id/K/KE/KENTNL/Carp-Clan-6.06.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/K/KE/KENTNL/Carp-Clan-6.06.tar.gz"
- version('6.06', sha256='ea4ac8f611354756d43cb369880032901e9cc4cc7e0bebb7b647186dac00c9d4')
+ version("6.06", sha256="ea4ac8f611354756d43cb369880032901e9cc4cc7e0bebb7b647186dac00c9d4")
- depends_on('perl-test-exception', type=('build', 'run'))
- depends_on('perl-sub-uplevel', type=('build', 'run'))
+ depends_on("perl-test-exception", type=("build", "run"))
+ depends_on("perl-sub-uplevel", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-cgi/package.py b/var/spack/repos/builtin/packages/perl-cgi/package.py
index fe500598ac..84432c49eb 100644
--- a/var/spack/repos/builtin/packages/perl-cgi/package.py
+++ b/var/spack/repos/builtin/packages/perl-cgi/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class PerlCgi(PerlPackage):
"""CGI - Handle Common Gateway Interface requests and responses
- CGI was included in the Perl distribution from 5.4 to 5.20 but
- has since been removed."""
+ CGI was included in the Perl distribution from 5.4 to 5.20 but
+ has since been removed."""
homepage = "https://metacpan.org/pod/CGI"
- url = "https://cpan.metacpan.org/authors/id/L/LE/LEEJO/CGI-4.40.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LE/LEEJO/CGI-4.40.tar.gz"
- version('4.53', sha256='c67e732f3c96bcb505405fd944f131fe5c57b46e5d02885c00714c452bf14e60')
- version('4.40', sha256='10efff3061b3c31a33b3cc59f955aef9c88d57d12dbac46389758cef92f24f56')
- version('4.39', sha256='7e73417072445f24e03d63802ed3a9e368c9b103ddc96e2a9bcb6a251215fb76')
- version('4.38', sha256='8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4')
- version('4.37', sha256='7a14eee5df640f7141848f653cf48d99bfc9b5c68e18167338ee01b91cdfb883')
+ version("4.53", sha256="c67e732f3c96bcb505405fd944f131fe5c57b46e5d02885c00714c452bf14e60")
+ version("4.40", sha256="10efff3061b3c31a33b3cc59f955aef9c88d57d12dbac46389758cef92f24f56")
+ version("4.39", sha256="7e73417072445f24e03d63802ed3a9e368c9b103ddc96e2a9bcb6a251215fb76")
+ version("4.38", sha256="8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4")
+ version("4.37", sha256="7a14eee5df640f7141848f653cf48d99bfc9b5c68e18167338ee01b91cdfb883")
- depends_on('perl-html-parser', type=('build', 'run'))
+ depends_on("perl-html-parser", type=("build", "run"))
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 c39100edd3..b58923145e 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
@@ -10,6 +10,6 @@ class PerlClassDataInheritable(PerlPackage):
"""For creating accessor/mutators to class data."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz"
- version('0.08', sha256='9967feceea15227e442ec818723163eb6d73b8947e31f16ab806f6e2391af14a')
+ 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 337ee035f8..96b844cec5 100644
--- a/var/spack/repos/builtin/packages/perl-class-inspector/package.py
+++ b/var/spack/repos/builtin/packages/perl-class-inspector/package.py
@@ -10,6 +10,6 @@ class PerlClassInspector(PerlPackage):
"""Get information about a class and its structure"""
homepage = "https://metacpan.org/pod/Class::Inspector"
- url = "http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/Class-Inspector-1.32.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/Class-Inspector-1.32.tar.gz"
- version('1.32', sha256='cefadc8b5338e43e570bc43f583e7c98d535c17b196bcf9084bb41d561cc0535')
+ 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 fcdf94910f..ce228ff851 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
@@ -8,11 +8,11 @@ from spack.package import *
class PerlClassLoadXs(PerlPackage):
"""This module provides an XS implementation for portions of
- Class::Load."""
+ Class::Load."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz"
- version('0.10', sha256='5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1')
+ version("0.10", sha256="5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1")
- depends_on('perl-class-load', type=('build', 'run'))
+ depends_on("perl-class-load", type=("build", "run"))
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 5fd11d8c15..22f67ccd05 100644
--- a/var/spack/repos/builtin/packages/perl-class-load/package.py
+++ b/var/spack/repos/builtin/packages/perl-class-load/package.py
@@ -10,6 +10,6 @@ class PerlClassLoad(PerlPackage):
"""A working (require "Class::Name") and more"""
homepage = "https://metacpan.org/pod/Class::Load"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-0.24.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-0.24.tar.gz"
- version('0.24', sha256='0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36')
+ version("0.24", sha256="0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36")
diff --git a/var/spack/repos/builtin/packages/perl-clone-choose/package.py b/var/spack/repos/builtin/packages/perl-clone-choose/package.py
index 53381b3456..7de9b009c3 100644
--- a/var/spack/repos/builtin/packages/perl-clone-choose/package.py
+++ b/var/spack/repos/builtin/packages/perl-clone-choose/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class PerlCloneChoose(PerlPackage):
"""Checks several different modules which provides a clone() function
- and selects an appropriate one."""
+ and selects an appropriate one."""
homepage = "https://metacpan.org/pod/Clone::Choose"
- url = "https://cpan.metacpan.org/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz"
- version('0.010', sha256='5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632')
+ version("0.010", sha256="5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632")
diff --git a/var/spack/repos/builtin/packages/perl-clone/package.py b/var/spack/repos/builtin/packages/perl-clone/package.py
index df5d4c4a31..84e5ff265f 100644
--- a/var/spack/repos/builtin/packages/perl-clone/package.py
+++ b/var/spack/repos/builtin/packages/perl-clone/package.py
@@ -10,6 +10,6 @@ class PerlClone(PerlPackage):
"""Clone - recursively copy Perl datatypes"""
homepage = "https://metacpan.org/pod/Clone"
- url = "https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-0.41.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-0.41.tar.gz"
- version('0.41', sha256='e8c056dcf4bc8889079a09412af70194a54a269689ba72edcd91291a46a51518')
+ version("0.41", sha256="e8c056dcf4bc8889079a09412af70194a54a269689ba72edcd91291a46a51518")
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 710930f327..6ac57fc06a 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
@@ -10,9 +10,9 @@ class PerlCompressRawBzip2(PerlPackage):
"""A low-Level Interface to bzip2 compression library."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.081.tar.gz"
- version('2.081', sha256='8692b5c9db91954408e24e805fbfda222879da80d89d9410791421e3e5bc3520')
+ version("2.081", sha256="8692b5c9db91954408e24e805fbfda222879da80d89d9410791421e3e5bc3520")
- depends_on('bzip2')
- depends_on('perl-extutils-makemaker', type='build')
+ depends_on("bzip2")
+ depends_on("perl-extutils-makemaker", type="build")
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 d16bba25c9..60584226f6 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
@@ -10,9 +10,9 @@ class PerlCompressRawZlib(PerlPackage):
"""A low-Level Interface to zlib compression library."""
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"
+ url = "https://cpan.metacpan.org/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.081.tar.gz"
- version('2.081', sha256='e156de345bd224bbdabfcab0eeb3f678a3099a4e86c9d1b6771d880b55aa3a1b')
+ version("2.081", sha256="e156de345bd224bbdabfcab0eeb3f678a3099a4e86c9d1b6771d880b55aa3a1b")
- depends_on('zlib')
- depends_on('perl-extutils-makemaker', type='build')
+ depends_on("zlib")
+ depends_on("perl-extutils-makemaker", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-config-general/package.py b/var/spack/repos/builtin/packages/perl-config-general/package.py
index 2808842d78..00ada114bf 100644
--- a/var/spack/repos/builtin/packages/perl-config-general/package.py
+++ b/var/spack/repos/builtin/packages/perl-config-general/package.py
@@ -10,6 +10,6 @@ class PerlConfigGeneral(PerlPackage):
"""Config::General - Generic Config Module"""
homepage = "https://metacpan.org/pod/Config::General"
- url = "https://cpan.metacpan.org/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz"
- version('2.63', sha256='0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad')
+ version("2.63", sha256="0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad")
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 d81dfe0efd..7dc043ebf7 100644
--- a/var/spack/repos/builtin/packages/perl-contextual-return/package.py
+++ b/var/spack/repos/builtin/packages/perl-contextual-return/package.py
@@ -10,8 +10,8 @@ class PerlContextualReturn(PerlPackage):
"""Create context-sensitive return values"""
homepage = "https://metacpan.org/pod/Contextual::Return"
- url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Contextual-Return-0.004014.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Contextual-Return-0.004014.tar.gz"
- version('0.004014', sha256='09fe1415e16e49a69e13c0ef6e6a4a3fd8b856f389d3f3e624d7ab3b71719f78')
+ version("0.004014", sha256="09fe1415e16e49a69e13c0ef6e6a4a3fd8b856f389d3f3e624d7ab3b71719f78")
- depends_on('perl-want')
+ depends_on("perl-want")
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 d66c8d9b50..b2ff9206b5 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
@@ -8,11 +8,11 @@ from spack.package import *
class PerlCpanMetaCheck(PerlPackage):
"""This module verifies if requirements described in a CPAN::Meta object
- are present.."""
+ are present.."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz"
- version('0.014', sha256='28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f')
+ version("0.014", sha256="28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f")
- depends_on('perl-test-deep', type=('build', 'run'))
+ depends_on("perl-test-deep", type=("build", "run"))
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 d23a684b8a..9519087e6c 100644
--- a/var/spack/repos/builtin/packages/perl-data-dumper/package.py
+++ b/var/spack/repos/builtin/packages/perl-data-dumper/package.py
@@ -10,6 +10,6 @@ class PerlDataDumper(PerlPackage):
"""Stringified perl data structures, suitable for both printing and eval"""
homepage = "https://metacpan.org/pod/Data::Dumper"
- url = "https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz"
- version('2.173', sha256='697608b39330988e519131be667ff47168aaaaf99f06bd2095d5b46ad05d76fa')
+ 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 64f005692a..983dd8d82e 100644
--- a/var/spack/repos/builtin/packages/perl-data-optlist/package.py
+++ b/var/spack/repos/builtin/packages/perl-data-optlist/package.py
@@ -10,8 +10,8 @@ class PerlDataOptlist(PerlPackage):
"""Parse and validate simple name/value option pairs"""
homepage = "https://metacpan.org/pod/Data::OptList"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz"
- version('0.110', sha256='366117cb2966473f2559f2f4575ff6ae69e84c69a0f30a0773e1b51a457ef5c3')
+ version("0.110", sha256="366117cb2966473f2559f2f4575ff6ae69e84c69a0f30a0773e1b51a457ef5c3")
- depends_on('perl-sub-install', type=('build', 'run'))
+ depends_on("perl-sub-install", type=("build", "run"))
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 fabae36121..1cf47695e8 100644
--- a/var/spack/repos/builtin/packages/perl-data-stag/package.py
+++ b/var/spack/repos/builtin/packages/perl-data-stag/package.py
@@ -10,8 +10,8 @@ class PerlDataStag(PerlPackage):
"""Structured Tags datastructures"""
homepage = "https://metacpan.org/pod/Data::Stag"
- url = "http://search.cpan.org/CPAN/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz"
- version('0.14', sha256='4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59')
+ version("0.14", sha256="4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59")
- depends_on('perl-io-string', type=('build', 'run'))
+ depends_on("perl-io-string", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-date-manip/package.py b/var/spack/repos/builtin/packages/perl-date-manip/package.py
index 419bb425e2..ca84eade9d 100644
--- a/var/spack/repos/builtin/packages/perl-date-manip/package.py
+++ b/var/spack/repos/builtin/packages/perl-date-manip/package.py
@@ -17,6 +17,6 @@ class PerlDateManip(PerlPackage):
support for time changes due to daylight saving time."""
homepage = "https://metacpan.org/release/Date-Manip"
- url = "https://cpan.metacpan.org/authors/id/S/SB/SBECK/Date-Manip-6.82.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SB/SBECK/Date-Manip-6.82.tar.gz"
- version('6.82', sha256='fa96bcf94c6b4b7d3333f073f5d0faad59f546e5aec13ac01718f2e6ef14672a')
+ version("6.82", sha256="fa96bcf94c6b4b7d3333f073f5d0faad59f546e5aec13ac01718f2e6ef14672a")
diff --git a/var/spack/repos/builtin/packages/perl-db-file/package.py b/var/spack/repos/builtin/packages/perl-db-file/package.py
index 9c3fea210e..ca044b59fb 100644
--- a/var/spack/repos/builtin/packages/perl-db-file/package.py
+++ b/var/spack/repos/builtin/packages/perl-db-file/package.py
@@ -15,13 +15,12 @@ class PerlDbFile(PerlPackage):
Berkeley DB interface closely."""
homepage = "https://metacpan.org/pod/DB_File"
- url = "https://cpan.metacpan.org/authors/id/P/PM/PMQS/DB_File-1.840.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PM/PMQS/DB_File-1.840.tar.gz"
- version('1.840', sha256='b7864707fad0f2d1488c748c4fa08f1fb8bcfd3da247c36909fd42f20bfab2c4')
+ version("1.840", sha256="b7864707fad0f2d1488c748c4fa08f1fb8bcfd3da247c36909fd42f20bfab2c4")
- depends_on('perl-extutils-makemaker', type='build')
- depends_on('berkeley-db', type='build')
+ depends_on("perl-extutils-makemaker", type="build")
+ depends_on("berkeley-db", type="build")
def patch(self):
- filter_file('/usr/local/BerkeleyDB',
- self.spec['berkeley-db'].prefix, 'config.in')
+ filter_file("/usr/local/BerkeleyDB", self.spec["berkeley-db"].prefix, "config.in")
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 6f789a4aaa..333efe899e 100644
--- a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py
+++ b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py
@@ -10,10 +10,10 @@ class PerlDbdMysql(PerlPackage):
"""MySQL driver for the Perl5 Database Interface (DBI)"""
homepage = "https://metacpan.org/pod/DBD::mysql"
- url = "https://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz"
+ url = "https://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz"
- version('4.043', sha256='629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99')
+ version("4.043", sha256="629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99")
- depends_on('perl-test-deep', type=('build', 'run'))
- depends_on('perl-dbi', type=('build', 'run'))
- depends_on('mysql-client')
+ depends_on("perl-test-deep", type=("build", "run"))
+ depends_on("perl-dbi", type=("build", "run"))
+ depends_on("mysql-client")
diff --git a/var/spack/repos/builtin/packages/perl-dbd-pg/package.py b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py
index 60b8695e01..225ca37eca 100644
--- a/var/spack/repos/builtin/packages/perl-dbd-pg/package.py
+++ b/var/spack/repos/builtin/packages/perl-dbd-pg/package.py
@@ -11,9 +11,9 @@ class PerlDbdPg(PerlPackage):
access to PostgreSQL databases."""
homepage = "https://metacpan.org/pod/DBD::Pg"
- url = "https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.0.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.0.tar.gz"
- version('3.10.0', sha256='e103268a63e2828e3d43659bdba5f743446cbbe047a766f843112eedae105f80')
+ version("3.10.0", sha256="e103268a63e2828e3d43659bdba5f743446cbbe047a766f843112eedae105f80")
- depends_on('postgresql')
- depends_on('perl-dbi', type=('build', 'run'))
+ depends_on("postgresql")
+ depends_on("perl-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py b/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py
index dfecb838fb..2731780a1a 100644
--- a/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py
+++ b/var/spack/repos/builtin/packages/perl-dbd-sqlite/package.py
@@ -10,11 +10,11 @@ class PerlDbdSqlite(PerlPackage):
"""DBD::SQLite - Self-contained RDBMS in a DBI Driver"""
homepage = "https://metacpan.org/pod/DBD::SQLite"
- url = "https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.58.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.58.tar.gz"
- version('1.59_01', sha256='b6f331e4054688572c2010e72c355f7ba3f30d86051e50d9925d34d9df1001e2')
- version('1.58', sha256='7120dd99d0338dea2802fda8bfe3fbf10077d5af559f6c67ae35e9270d1a1d3b')
- version('1.57_01', sha256='fa7fb111fa8bfc257c3208f8980ac802a9cac4531ab98afc1988b88929672184')
- version('1.56', sha256='c5f831a67a94f9bb2fb3c44051f309fc7994b2725d1896c018ad5d4cd865e991')
+ version("1.59_01", sha256="b6f331e4054688572c2010e72c355f7ba3f30d86051e50d9925d34d9df1001e2")
+ version("1.58", sha256="7120dd99d0338dea2802fda8bfe3fbf10077d5af559f6c67ae35e9270d1a1d3b")
+ version("1.57_01", sha256="fa7fb111fa8bfc257c3208f8980ac802a9cac4531ab98afc1988b88929672184")
+ version("1.56", sha256="c5f831a67a94f9bb2fb3c44051f309fc7994b2725d1896c018ad5d4cd865e991")
- depends_on('perl-dbi', type=('build', 'run'))
+ depends_on("perl-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-dbi/package.py b/var/spack/repos/builtin/packages/perl-dbi/package.py
index a871e10686..d1c3899382 100644
--- a/var/spack/repos/builtin/packages/perl-dbi/package.py
+++ b/var/spack/repos/builtin/packages/perl-dbi/package.py
@@ -12,6 +12,6 @@ class PerlDbi(PerlPackage):
database interface independent of the actual database being used."""
homepage = "https://dbi.perl.org/"
- url = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.636.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.636.tar.gz"
- version('1.636', sha256='8f7ddce97c04b4b7a000e65e5d05f679c964d62c8b02c94c1a7d815bb2dd676c')
+ version("1.636", sha256="8f7ddce97c04b4b7a000e65e5d05f679c964d62c8b02c94c1a7d815bb2dd676c")
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 0f5cfdc62f..8b8e5d0b48 100644
--- a/var/spack/repos/builtin/packages/perl-devel-cycle/package.py
+++ b/var/spack/repos/builtin/packages/perl-devel-cycle/package.py
@@ -10,6 +10,6 @@ class PerlDevelCycle(PerlPackage):
"""Find memory cycles in objects"""
homepage = "https://metacpan.org/pod/Devel::Cycle"
- url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz"
- version('1.12', sha256='fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2')
+ 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 baef9fe786..374bee5e9a 100644
--- a/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py
+++ b/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py
@@ -10,6 +10,6 @@ class PerlDevelGlobaldestruction(PerlPackage):
"""Makes Perl's global destruction less tricky to deal with"""
homepage = "https://metacpan.org/pod/Devel::GlobalDestruction"
- url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz"
- version('0.14', sha256='34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab')
+ 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 bb583a7f05..8eeccec043 100644
--- a/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py
+++ b/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py
@@ -10,9 +10,9 @@ class PerlDevelOverloadinfo(PerlPackage):
"""Returns information about overloaded operators for a given class"""
homepage = "https://metacpan.org/pod/Devel::OverloadInfo"
- url = "http://search.cpan.org/CPAN/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.004.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.004.tar.gz"
- version('0.005', sha256='8bfde2ffa47c9946f8adc8cfc445c2f97b8d1cdd678111bee9f444e82f7aa6e7')
- version('0.004', sha256='83e88450064b0b0bbfd520cc9d7997fc7bed14ae257894eeadda28dc3e94937d')
+ version("0.005", sha256="8bfde2ffa47c9946f8adc8cfc445c2f97b8d1cdd678111bee9f444e82f7aa6e7")
+ version("0.004", sha256="83e88450064b0b0bbfd520cc9d7997fc7bed14ae257894eeadda28dc3e94937d")
- depends_on('perl-mro-compat', type=('build', 'run'))
+ depends_on("perl-mro-compat", type=("build", "run"))
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 1dea61cb41..b5fa042970 100644
--- a/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py
+++ b/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py
@@ -10,6 +10,6 @@ class PerlDevelStacktrace(PerlPackage):
"""An object representing a stack trace."""
homepage = "https://metacpan.org/pod/Devel::StackTrace"
- url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.02.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.02.tar.gz"
- version('2.02', sha256='cbbd96db0ecf194ed140198090eaea0e327d9a378a4aa15f9a34b3138a91931f')
+ version("2.02", sha256="cbbd96db0ecf194ed140198090eaea0e327d9a378a4aa15f9a34b3138a91931f")
diff --git a/var/spack/repos/builtin/packages/perl-devel-symdump/package.py b/var/spack/repos/builtin/packages/perl-devel-symdump/package.py
index 65d2400d33..fb6b83bbb2 100644
--- a/var/spack/repos/builtin/packages/perl-devel-symdump/package.py
+++ b/var/spack/repos/builtin/packages/perl-devel-symdump/package.py
@@ -10,6 +10,6 @@ class PerlDevelSymdump(PerlPackage):
"""Devel::Symdump - dump symbol names or the symbol table"""
homepage = "https://metacpan.org/pod/Devel::Symdump"
- url = "https://cpan.metacpan.org/authors/id/A/AN/ANDK/Devel-Symdump-2.0604.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/A/AN/ANDK/Devel-Symdump-2.0604.tar.gz"
- version('2.0604', sha256='1f9eaa557733f775ccaa852e846566274c017e6fee380aeb8d08e425cfa86d3e')
+ version("2.0604", sha256="1f9eaa557733f775ccaa852e846566274c017e6fee380aeb8d08e425cfa86d3e")
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 ecdb84305d..b0ff4af03b 100644
--- a/var/spack/repos/builtin/packages/perl-digest-md5/package.py
+++ b/var/spack/repos/builtin/packages/perl-digest-md5/package.py
@@ -10,6 +10,6 @@ class PerlDigestMd5(PerlPackage):
"""Perl interface to the MD5 Algorithm"""
homepage = "https://metacpan.org/pod/Digest::MD5"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-MD5-2.55.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-MD5-2.55.tar.gz"
- version('2.55', sha256='03b198a2d14425d951e5e50a885d3818c3162c8fe4c21e18d7798a9a179d0e3c')
+ 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 3659fb1eb8..932e576278 100644
--- a/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py
+++ b/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py
@@ -10,6 +10,6 @@ class PerlDistCheckconflicts(PerlPackage):
"""Declare version conflicts for your dist"""
homepage = "https://metacpan.org/pod/Dist::CheckConflicts"
- url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz"
- version('0.11', sha256='ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4')
+ 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 154aba5023..b4f458f77d 100644
--- a/var/spack/repos/builtin/packages/perl-encode-locale/package.py
+++ b/var/spack/repos/builtin/packages/perl-encode-locale/package.py
@@ -10,6 +10,6 @@ class PerlEncodeLocale(PerlPackage):
"""Determine the locale encoding"""
homepage = "https://metacpan.org/pod/Encode::Locale"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz"
- version('1.05', sha256='176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1')
+ version("1.05", sha256="176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1")
diff --git a/var/spack/repos/builtin/packages/perl-error/package.py b/var/spack/repos/builtin/packages/perl-error/package.py
index dd1e5f6965..321955de4b 100644
--- a/var/spack/repos/builtin/packages/perl-error/package.py
+++ b/var/spack/repos/builtin/packages/perl-error/package.py
@@ -13,8 +13,8 @@ class PerlError(PerlPackage):
can simply be recorded."""
homepage = "https://metacpan.org/pod/Error"
- url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-0.17028.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-0.17028.tar.gz"
- version('0.17028', sha256='3ad85c5e58b31c8903006298424a51bba39f1840e324f5ae612eabc8b935e960')
+ version("0.17028", sha256="3ad85c5e58b31c8903006298424a51bba39f1840e324f5ae612eabc8b935e960")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
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 209ed15c0c..606595ab91 100644
--- a/var/spack/repos/builtin/packages/perl-eval-closure/package.py
+++ b/var/spack/repos/builtin/packages/perl-eval-closure/package.py
@@ -10,6 +10,6 @@ class PerlEvalClosure(PerlPackage):
"""Safely and cleanly create closures via string eval"""
homepage = "https://metacpan.org/pod/Eval::Closure"
- url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz"
- version('0.14', sha256='ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad')
+ 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 ca4027b5d7..ee3f0248fb 100644
--- a/var/spack/repos/builtin/packages/perl-exception-class/package.py
+++ b/var/spack/repos/builtin/packages/perl-exception-class/package.py
@@ -10,9 +10,9 @@ class PerlExceptionClass(PerlPackage):
"""A module that allows you to declare real exception classes in Perl"""
homepage = "https://metacpan.org/pod/Exception::Class"
- url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-1.43.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-1.43.tar.gz"
- version('1.43', sha256='ff3b4b3f706e84aaa87ab0dee5cec6bd7a8fc9f72cf76d115212541fa0a13760')
+ version("1.43", sha256="ff3b4b3f706e84aaa87ab0dee5cec6bd7a8fc9f72cf76d115212541fa0a13760")
- depends_on('perl-devel-stacktrace', type=('build', 'run'))
- depends_on('perl-class-data-inheritable', type=('build', 'run'))
+ depends_on("perl-devel-stacktrace", type=("build", "run"))
+ depends_on("perl-class-data-inheritable", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-exporter-lite/package.py b/var/spack/repos/builtin/packages/perl-exporter-lite/package.py
index a697ed534c..9370cfddd6 100644
--- a/var/spack/repos/builtin/packages/perl-exporter-lite/package.py
+++ b/var/spack/repos/builtin/packages/perl-exporter-lite/package.py
@@ -10,7 +10,8 @@ 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"
+ url = "https://cpan.metacpan.org/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz"
- version('0.08', sha256='c05b3909af4cb86f36495e94a599d23ebab42be7a18efd0d141fc1586309dac2')
+ version("0.08", sha256="c05b3909af4cb86f36495e94a599d23ebab42be7a18efd0d141fc1586309dac2")
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 1d4e904869..37873bd13b 100644
--- a/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py
+++ b/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py
@@ -11,6 +11,6 @@ class PerlExporterTiny(PerlPackage):
dependencies"""
homepage = "https://metacpan.org/pod/Exporter::Tiny"
- url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.000000.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.000000.tar.gz"
- version('1.000000', sha256='ffdd77d57de099e8f64dd942ef12a00a3f4313c2531f342339eeed2d366ad078')
+ version("1.000000", sha256="ffdd77d57de099e8f64dd942ef12a00a3f4313c2531f342339eeed2d366ad078")
diff --git a/var/spack/repos/builtin/packages/perl-extutils-config/package.py b/var/spack/repos/builtin/packages/perl-extutils-config/package.py
index ed80d9aa1b..5ba2e20733 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-config/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-config/package.py
@@ -10,6 +10,6 @@ class PerlExtutilsConfig(PerlPackage):
"""ExtUtils::Config - A wrapper for perl's configuration"""
homepage = "https://metacpan.org/pod/ExtUtils::Config"
- url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz"
- version('0.008', sha256='ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c')
+ version("0.008", sha256="ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c")
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 53bfd289b0..f9eaa75934 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-depends/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-depends/package.py
@@ -10,6 +10,6 @@ class PerlExtutilsDepends(PerlPackage):
"""Easily build XS extensions that depend on XS extensions"""
homepage = "https://metacpan.org/pod/ExtUtils::Depends"
- url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-Depends-0.405.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-Depends-0.405.tar.gz"
- version('0.405', sha256='8ad6401ad7559b03ceda1fe4b191c95f417bdec7c542a984761a4656715a8a2c')
+ version("0.405", sha256="8ad6401ad7559b03ceda1fe4b191c95f417bdec7c542a984761a4656715a8a2c")
diff --git a/var/spack/repos/builtin/packages/perl-extutils-helpers/package.py b/var/spack/repos/builtin/packages/perl-extutils-helpers/package.py
index d08fd299a1..ccbfe02f47 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-helpers/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-helpers/package.py
@@ -10,6 +10,6 @@ class PerlExtutilsHelpers(PerlPackage):
"""ExtUtils::Helpers - Various portability utilities for module builders"""
homepage = "https://metacpan.org/pod/ExtUtils::Helpers"
- url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz"
- version('0.026', sha256='de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416')
+ version("0.026", sha256="de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416")
diff --git a/var/spack/repos/builtin/packages/perl-extutils-installpaths/package.py b/var/spack/repos/builtin/packages/perl-extutils-installpaths/package.py
index d846a1b9a5..9b265421ee 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-installpaths/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-installpaths/package.py
@@ -10,8 +10,8 @@ class PerlExtutilsInstallpaths(PerlPackage):
"""ExtUtils::InstallPaths - Build.PL install path logic made easy"""
homepage = "https://metacpan.org/pod/ExtUtils::InstallPaths"
- url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz"
- version('0.012', sha256='84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed')
+ version("0.012", sha256="84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed")
- depends_on('perl-extutils-config', type=('build', 'run'))
+ depends_on("perl-extutils-config", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-extutils-makemaker/package.py b/var/spack/repos/builtin/packages/perl-extutils-makemaker/package.py
index 346d76ece2..7eb1e4f062 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-makemaker/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-makemaker/package.py
@@ -11,9 +11,10 @@ class PerlExtutilsMakemaker(PerlPackage):
to write a Makefile for an extension module from a Makefile.PL. It is based
on the Makefile.SH model provided by Andy Dougherty and the perl5-porters.
"""
+
homepage = "https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker"
- url = "http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.24.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.24.tar.gz"
- version('7.24', sha256='416abc97c3bb2cc72bef28852522f2859de53e37bf3d0ae8b292067d78755e69')
+ version("7.24", sha256="416abc97c3bb2cc72bef28852522f2859de53e37bf3d0ae8b292067d78755e69")
- depends_on('perl@5.6.0:', type=('build', 'run'))
+ depends_on("perl@5.6.0:", type=("build", "run"))
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 343f9da424..57cb786520 100644
--- a/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py
@@ -10,8 +10,8 @@ class PerlExtutilsPkgconfig(PerlPackage):
"""simplistic interface to pkg-config"""
homepage = "https://metacpan.org/pod/ExtUtils::PkgConfig"
- url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz"
- version('1.16', sha256='bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e')
+ version("1.16", sha256="bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e")
- depends_on('pkgconfig', type=('build', 'run'))
+ depends_on("pkgconfig", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py b/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py
index 142c328bd1..fa9836472d 100644
--- a/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py
+++ b/var/spack/repos/builtin/packages/perl-ffi-checklib/package.py
@@ -15,6 +15,6 @@ class PerlFfiChecklib(PerlPackage):
FFI system."""
homepage = "https://metacpan.org/pod/FFI::CheckLib"
- url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.25.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.25.tar.gz"
- version('0.25', sha256='eb36b9a7cff1764a65b1b77e01e92c26207c558a3f986d0d17d2b110fa366ba4')
+ version("0.25", sha256="eb36b9a7cff1764a65b1b77e01e92c26207c558a3f986d0d17d2b110fa366ba4")
diff --git a/var/spack/repos/builtin/packages/perl-file-chdir/package.py b/var/spack/repos/builtin/packages/perl-file-chdir/package.py
index ae0d578b8c..66c51e9ff5 100644
--- a/var/spack/repos/builtin/packages/perl-file-chdir/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-chdir/package.py
@@ -18,6 +18,6 @@ class PerlFileChdir(PerlPackage):
combine all the power of chdir(), File::Spec and Cwd."""
homepage = "https://metacpan.org/pod/File::chdir"
- url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz"
- version('0.1011', sha256='31ebf912df48d5d681def74b9880d78b1f3aca4351a0ed1fe3570b8e03af6c79')
+ version("0.1011", sha256="31ebf912df48d5d681def74b9880d78b1f3aca4351a0ed1fe3570b8e03af6c79")
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 749f7bab22..83e95027a1 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
@@ -10,7 +10,7 @@ class PerlFileCopyRecursive(PerlPackage):
"""Perl extension for recursively copying files and directories"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz"
- version('0.40', sha256='e8b8923b930ef7bcb59d4a97456d0e149b8487597cd1550f836451d936ce55a1')
- version('0.38', sha256='84ccbddf3894a88a2c2b6be68ff6ef8960037803bb36aa228b31944cfdf6deeb')
+ version("0.40", sha256="e8b8923b930ef7bcb59d4a97456d0e149b8487597cd1550f836451d936ce55a1")
+ version("0.38", sha256="84ccbddf3894a88a2c2b6be68ff6ef8960037803bb36aa228b31944cfdf6deeb")
diff --git a/var/spack/repos/builtin/packages/perl-file-homedir/package.py b/var/spack/repos/builtin/packages/perl-file-homedir/package.py
index e398f2e998..97481bb6a2 100644
--- a/var/spack/repos/builtin/packages/perl-file-homedir/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-homedir/package.py
@@ -10,8 +10,8 @@ class PerlFileHomedir(PerlPackage):
"""Find your home and other directories on any platform"""
homepage = "https://metacpan.org/pod/File::HomeDir"
- url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-HomeDir-1.004.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-HomeDir-1.004.tar.gz"
- version('1.004', sha256='45f67e2bb5e60a7970d080e8f02079732e5a8dfc0c7c3cbdb29abfb3f9f791ad')
+ version("1.004", sha256="45f67e2bb5e60a7970d080e8f02079732e5a8dfc0c7c3cbdb29abfb3f9f791ad")
- depends_on('perl-file-which', type=('build', 'run'))
+ depends_on("perl-file-which", type=("build", "run"))
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 facc265d95..39d20eab71 100644
--- a/var/spack/repos/builtin/packages/perl-file-listing/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-listing/package.py
@@ -10,8 +10,8 @@ class PerlFileListing(PerlPackage):
"""Parse directory listing"""
homepage = "https://metacpan.org/pod/File::Listing"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz"
- version('6.04', sha256='1e0050fcd6789a2179ec0db282bf1e90fb92be35d1171588bd9c47d52d959cf5')
+ version("6.04", sha256="1e0050fcd6789a2179ec0db282bf1e90fb92be35d1171588bd9c47d52d959cf5")
- depends_on('perl-http-date', type=('build', 'run'))
+ depends_on("perl-http-date", type=("build", "run"))
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 598499b153..492414cbe9 100644
--- a/var/spack/repos/builtin/packages/perl-file-pushd/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-pushd/package.py
@@ -10,6 +10,6 @@ class PerlFilePushd(PerlPackage):
"""Change directory temporarily for a limited scope"""
homepage = "https://metacpan.org/pod/File::pushd"
- url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/File-pushd-1.014.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/File-pushd-1.014.tar.gz"
- version('1.014', sha256='b5ab37ffe3acbec53efb7c77b4423a2c79afa30a48298e751b9ebee3fdc6340b')
+ 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 e7c85924d7..5634a47621 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
@@ -10,8 +10,8 @@ class PerlFileSharedirInstall(PerlPackage):
"""Install shared files"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/File-ShareDir-Install-0.11.tar.gz"
- version('0.11', sha256='32bf8772e9fea60866074b27ff31ab5bc3f88972d61915e84cbbb98455e00cc8')
+ version("0.11", sha256="32bf8772e9fea60866074b27ff31ab5bc3f88972d61915e84cbbb98455e00cc8")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
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 bd4488f44e..b9f2f7fe17 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
@@ -10,6 +10,6 @@ class PerlFileSlurpTiny(PerlPackage):
"""A simple, sane and efficient file slurper"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz"
- version('0.004', sha256='452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e')
+ version("0.004", sha256="452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e")
diff --git a/var/spack/repos/builtin/packages/perl-file-slurp/package.py b/var/spack/repos/builtin/packages/perl-file-slurp/package.py
index c11b7abf95..088ff71715 100644
--- a/var/spack/repos/builtin/packages/perl-file-slurp/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-slurp/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class PerlFileSlurp(PerlPackage):
"""File::Slurp - Simple and Efficient Reading/Writing/Modifying of Complete
- Files"""
+ Files"""
homepage = "https://metacpan.org/pod/File::Slurp"
- url = "https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz"
- version('9999.32', sha256='4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0')
+ version("9999.32", sha256="4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0")
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 4bb081fe57..e2fdb4e185 100644
--- a/var/spack/repos/builtin/packages/perl-file-slurper/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-slurper/package.py
@@ -10,6 +10,6 @@ class PerlFileSlurper(PerlPackage):
"""A simple, sane and efficient module to slurp a file"""
homepage = "https://metacpan.org/pod/File::Slurper"
- url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurper-0.011.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurper-0.011.tar.gz"
- version('0.011', sha256='f6494844b9759b3d1dd8fc4ffa790f8e6e493c4eb58e88831a51e085f2e76010')
+ version("0.011", sha256="f6494844b9759b3d1dd8fc4ffa790f8e6e493c4eb58e88831a51e085f2e76010")
diff --git a/var/spack/repos/builtin/packages/perl-file-which/package.py b/var/spack/repos/builtin/packages/perl-file-which/package.py
index fa05891b97..4c3d4fa7e8 100644
--- a/var/spack/repos/builtin/packages/perl-file-which/package.py
+++ b/var/spack/repos/builtin/packages/perl-file-which/package.py
@@ -10,6 +10,6 @@ class PerlFileWhich(PerlPackage):
"""Perl implementation of the which utility as an API"""
homepage = "http://cpansearch.perl.org/src/PLICEASE/File-Which-1.22/lib/File/Which.pm"
- url = "http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/File-Which-1.22.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/File-Which-1.22.tar.gz"
- version('1.22', sha256='e8a8ffcf96868c6879e82645db4ff9ef00c2d8a286fed21971e7280f52cf0dd4')
+ version("1.22", sha256="e8a8ffcf96868c6879e82645db4ff9ef00c2d8a286fed21971e7280f52cf0dd4")
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 6a27574afa..16be93bf9d 100644
--- a/var/spack/repos/builtin/packages/perl-font-ttf/package.py
+++ b/var/spack/repos/builtin/packages/perl-font-ttf/package.py
@@ -10,6 +10,6 @@ class PerlFontTtf(PerlPackage):
"""Perl module for TrueType Font hacking"""
homepage = "https://metacpan.org/pod/Font::TTF"
- url = "http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz"
- version('1.06', sha256='4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293')
+ version("1.06", sha256="4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293")
diff --git a/var/spack/repos/builtin/packages/perl-forks/package.py b/var/spack/repos/builtin/packages/perl-forks/package.py
index d1a42fd91c..0cc0f68d92 100644
--- a/var/spack/repos/builtin/packages/perl-forks/package.py
+++ b/var/spack/repos/builtin/packages/perl-forks/package.py
@@ -11,15 +11,15 @@ class PerlForks(PerlPackage):
have a threaded perl, or to even run 5.8.0 or higher."""
homepage = "https://metacpan.org/pod/forks"
- url = "https://cpan.metacpan.org/authors/id/R/RY/RYBSKEJ/forks-0.36.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RY/RYBSKEJ/forks-0.36.tar.gz"
- version('0.36', sha256='61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993')
+ version("0.36", sha256="61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993")
- depends_on('perl-acme-damn', type=('build', 'run'))
- depends_on('perl-devel-symdump', type=('build', 'run'))
- depends_on('perl-list-moreutils', type=('build', 'run'))
- depends_on('perl-sys-sigaction', type=('build', 'run'))
+ depends_on("perl-acme-damn", type=("build", "run"))
+ depends_on("perl-devel-symdump", type=("build", "run"))
+ depends_on("perl-list-moreutils", type=("build", "run"))
+ depends_on("perl-sys-sigaction", type=("build", "run"))
def setup_build_environment(self, env):
- if 'perl~threads' in self.spec:
- env.set('FORKS_SIMULATE_USEITHREADS', '1')
+ if "perl~threads" in self.spec:
+ env.set("FORKS_SIMULATE_USEITHREADS", "1")
diff --git a/var/spack/repos/builtin/packages/perl-fth/package.py b/var/spack/repos/builtin/packages/perl-fth/package.py
index 1363a98b3b..cd1a30298b 100644
--- a/var/spack/repos/builtin/packages/perl-fth/package.py
+++ b/var/spack/repos/builtin/packages/perl-fth/package.py
@@ -11,108 +11,120 @@ from spack.package 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.
+ 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.526', sha256='ada1c7306111d59d64572fe8a9b038026fd0daebaff630924997ef2dc22d87a8')
- 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')
+ url = "https://downloads.sourceforge.net/project/ftagshtml/ftagshtml-0.524.tgz"
+
+ maintainers = ["cessenat"]
+
+ version("0.526", sha256="ada1c7306111d59d64572fe8a9b038026fd0daebaff630924997ef2dc22d87a8")
+ 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')
+ depends_on("emacs", type="run", when="@:0.520")
# For fth.pl -hevea option
- depends_on('hevea', when='+hevea', type='run')
+ 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')
+ depends_on("texlive", when="+pdflatex", type="run")
# initmak.pl uses md5sum provided by coreutils
- depends_on('coreutils', type='run')
- depends_on('dos2unix', type='build')
+ 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')
-
- executables = [r'^fth.pl$']
+ patch(
+ "fth-shebang.patch",
+ when="@0.517:0.522",
+ sha256="3e82d34c8ae1709e5480fac87db387c1c2e219d7b7d596c8a9d62f0da2439ab3",
+ )
+ patch(
+ "fth-shebang2.patch",
+ when="@0.517:0.522",
+ sha256="839be7c0efad752ae341379c81ee1df4a3a81f608f802998c6b4ebc4bae8e167",
+ )
+
+ executables = [r"^fth.pl$"]
def _make_executable(self, name):
- return Executable(join_path(self.prefix.bin, name + '.pl'))
+ 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']
+ 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'))
+ 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'))
+ 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']
+ checks = ["fth", "getin", "view", "javatex2", "tex3ht", "initmak"]
# mstr = '#!' + join_path(spec['perl'].prefix.bin, 'perl')
- mstr = '#!' + spec['perl'].command.path
- with working_dir('bin'):
+ mstr = "#!" + spec["perl"].command.path
+ with working_dir("bin"):
for exe in checks:
- fic = exe + '.pl'
+ fic = exe + ".pl"
if os.path.exists(fic):
- dos2unix = which('dos2unix')
+ 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)
+ 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',
+ "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))
+ 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'):
+ with working_dir("bin"):
if os.path.exists("ftagshtml"):
os.remove("ftagshtml")
if os.path.exists("tata.pl"):
@@ -121,10 +133,10 @@ class PerlFth(Package):
os.remove("truc.pl")
# Install the full directory structure
- install_tree('.', prefix)
+ install_tree(".", prefix)
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'([\d\.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"([\d\.]+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/perl-gd/package.py b/var/spack/repos/builtin/packages/perl-gd/package.py
index 14adb839f4..19d2f5dbdd 100644
--- a/var/spack/repos/builtin/packages/perl-gd/package.py
+++ b/var/spack/repos/builtin/packages/perl-gd/package.py
@@ -10,11 +10,11 @@ class PerlGd(PerlPackage):
"""Interface to Gd Graphics Library"""
homepage = "https://metacpan.org/pod/GD"
- url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.53.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.53.tar.gz"
- version('2.53', sha256='d05d01fe95e581adb3468cf05ab5d405db7497c0fb3ec7ecf23d023705fab7aa')
+ version("2.53", sha256="d05d01fe95e581adb3468cf05ab5d405db7497c0fb3ec7ecf23d023705fab7aa")
- depends_on('perl-module-build', type='build')
- depends_on('perl-extutils-makemaker', type=('build', 'run'))
- depends_on('perl-extutils-pkgconfig', type=('build', 'run'))
- depends_on('libgd')
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-extutils-makemaker", type=("build", "run"))
+ depends_on("perl-extutils-pkgconfig", type=("build", "run"))
+ depends_on("libgd")
diff --git a/var/spack/repos/builtin/packages/perl-gdgraph-histogram/package.py b/var/spack/repos/builtin/packages/perl-gdgraph-histogram/package.py
index ad0ab6bf2b..503be8e13c 100644
--- a/var/spack/repos/builtin/packages/perl-gdgraph-histogram/package.py
+++ b/var/spack/repos/builtin/packages/perl-gdgraph-histogram/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class PerlGdgraphHistogram(PerlPackage):
"""GD::Graph::histogram extends the GD::Graph module to create histograms.
- The module allow creation of count or percentage histograms."""
+ The module allow creation of count or percentage histograms."""
homepage = "https://metacpan.org/pod/GD::Graph::histogram"
- url = "https://cpan.metacpan.org/authors/id/W/WH/WHIZDOG/GDGraph-histogram-1.1.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/W/WH/WHIZDOG/GDGraph-histogram-1.1.tar.gz"
- version('1.1', sha256='20f752d0e6deb59b29aa2ec3496b5883476d00280b6e83f5b47c33fac4097f8a')
+ version("1.1", sha256="20f752d0e6deb59b29aa2ec3496b5883476d00280b6e83f5b47c33fac4097f8a")
diff --git a/var/spack/repos/builtin/packages/perl-gdgraph/package.py b/var/spack/repos/builtin/packages/perl-gdgraph/package.py
index 0d57b5774f..324438b140 100644
--- a/var/spack/repos/builtin/packages/perl-gdgraph/package.py
+++ b/var/spack/repos/builtin/packages/perl-gdgraph/package.py
@@ -10,11 +10,11 @@ class PerlGdgraph(PerlPackage):
"""Graph Plotting Module for Perl 5"""
homepage = "https://metacpan.org/pod/GD::Graph"
- url = "http://search.cpan.org/CPAN/authors/id/B/BW/BWARFIELD/GDGraph-1.4308.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/B/BW/BWARFIELD/GDGraph-1.4308.tar.gz"
- version('1.4308', sha256='75b3c7e280431404ed096c6e120d552cc39052a8610787149515e94b9ba237cb')
+ version("1.4308", sha256="75b3c7e280431404ed096c6e120d552cc39052a8610787149515e94b9ba237cb")
- depends_on('perl-capture-tiny', type=('build', 'run'))
- depends_on('perl-test-exception', type=('build', 'run'))
- depends_on('perl-gdtextutil', type=('build', 'run'))
- depends_on('perl-gd', type=('build', 'run'))
+ depends_on("perl-capture-tiny", type=("build", "run"))
+ depends_on("perl-test-exception", type=("build", "run"))
+ depends_on("perl-gdtextutil", type=("build", "run"))
+ depends_on("perl-gd", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-gdtextutil/package.py b/var/spack/repos/builtin/packages/perl-gdtextutil/package.py
index 041a67192c..625a0e25d9 100644
--- a/var/spack/repos/builtin/packages/perl-gdtextutil/package.py
+++ b/var/spack/repos/builtin/packages/perl-gdtextutil/package.py
@@ -10,8 +10,8 @@ class PerlGdtextutil(PerlPackage):
"""Text utilities for use with GD"""
homepage = "https://metacpan.org/pod/GD::Text"
- url = "http://search.cpan.org/CPAN/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz"
- version('0.86', sha256='886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc')
+ version("0.86", sha256="886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc")
- depends_on('perl-gd', type=('build', 'run'))
+ depends_on("perl-gd", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py b/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py
index b60a164030..9cbe8397ca 100644
--- a/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py
+++ b/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py
@@ -9,7 +9,8 @@ from spack.package 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"
+ url = "https://cpan.metacpan.org/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz"
- version('0.3', sha256='9bdf067633b5913127820f4e8035edc53d08372faace56ba6bfa00c968a25377')
+ version("0.3", sha256="9bdf067633b5913127820f4e8035edc53d08372faace56ba6bfa00c968a25377")
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 bb29e7589b..58be8a280b 100644
--- a/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py
+++ b/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py
@@ -10,6 +10,6 @@ class PerlGraphReadwrite(PerlPackage):
"""Write out directed graph in Dot format"""
homepage = "https://metacpan.org/pod/Graph::ReadWrite"
- url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Graph-ReadWrite-2.09.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Graph-ReadWrite-2.09.tar.gz"
- version('2.09', sha256='b01ef06ce922eea12d5ce614d63ddc5f3ee7ad0d05f9577051d3f87a89799a4a')
+ 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 c224572bb4..13d37fb56e 100644
--- a/var/spack/repos/builtin/packages/perl-graph/package.py
+++ b/var/spack/repos/builtin/packages/perl-graph/package.py
@@ -10,8 +10,8 @@ class PerlGraph(PerlPackage):
"""Graph data structures and algorithms"""
homepage = "https://metacpan.org/pod/Graph"
- url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Graph-0.9704.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Graph-0.9704.tar.gz"
- version('0.9704', sha256='325e8eb07be2d09a909e450c13d3a42dcb2a2e96cc3ac780fe4572a0d80b2a25')
+ version("0.9704", sha256="325e8eb07be2d09a909e450c13d3a42dcb2a2e96cc3ac780fe4572a0d80b2a25")
- depends_on('perl@5.6.0:')
+ depends_on("perl@5.6.0:")
diff --git a/var/spack/repos/builtin/packages/perl-hash-merge/package.py b/var/spack/repos/builtin/packages/perl-hash-merge/package.py
index a7ece4a204..40faa92a4c 100644
--- a/var/spack/repos/builtin/packages/perl-hash-merge/package.py
+++ b/var/spack/repos/builtin/packages/perl-hash-merge/package.py
@@ -10,9 +10,9 @@ class PerlHashMerge(PerlPackage):
"""Hash::Merge merges two arbitrarily deep hashes into a single hash."""
homepage = "https://metacpan.org/pod/Hash::Merge"
- url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/Hash-Merge-0.300.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/Hash-Merge-0.300.tar.gz"
- version('0.300', sha256='402fd52191d51415bb7163b7673fb4a108e3156493d7df931b8db4b2af757c40')
+ version("0.300", sha256="402fd52191d51415bb7163b7673fb4a108e3156493d7df931b8db4b2af757c40")
- depends_on('perl-scalar-list-utils', type=('build', 'run'))
- depends_on('perl-clone-choose', type=('build', 'run'))
+ depends_on("perl-scalar-list-utils", type=("build", "run"))
+ depends_on("perl-clone-choose", type=("build", "run"))
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 ce1149ac86..b3cdb9982f 100644
--- a/var/spack/repos/builtin/packages/perl-html-parser/package.py
+++ b/var/spack/repos/builtin/packages/perl-html-parser/package.py
@@ -10,8 +10,8 @@ class PerlHtmlParser(PerlPackage):
"""HTML parser class"""
homepage = "https://metacpan.org/pod/HTML::Parser"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz"
- version('3.72', sha256='ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b')
+ version("3.72", sha256="ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b")
- depends_on('perl-html-tagset', type=('build', 'run'))
+ depends_on("perl-html-tagset", type=("build", "run"))
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 9b8389d323..90f81f4b03 100644
--- a/var/spack/repos/builtin/packages/perl-html-tagset/package.py
+++ b/var/spack/repos/builtin/packages/perl-html-tagset/package.py
@@ -10,6 +10,6 @@ class PerlHtmlTagset(PerlPackage):
"""Data tables useful in parsing HTML"""
homepage = "https://metacpan.org/pod/HTML::Tagset"
- url = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz"
- version('3.20', sha256='adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2')
+ 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 a3273a562b..52663a0c58 100644
--- a/var/spack/repos/builtin/packages/perl-http-cookies/package.py
+++ b/var/spack/repos/builtin/packages/perl-http-cookies/package.py
@@ -10,9 +10,9 @@ class PerlHttpCookies(PerlPackage):
"""HTTP cookie jars"""
homepage = "https://metacpan.org/pod/HTTP::Cookies"
- url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz"
- version('6.04', sha256='0cc7f079079dcad8293fea36875ef58dd1bfd75ce1a6c244cd73ed9523eb13d4')
+ version("6.04", sha256="0cc7f079079dcad8293fea36875ef58dd1bfd75ce1a6c244cd73ed9523eb13d4")
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-http-message', type=('build', 'run'))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-http-message", type=("build", "run"))
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 bdf0a7e7d9..39c9459c65 100644
--- a/var/spack/repos/builtin/packages/perl-http-daemon/package.py
+++ b/var/spack/repos/builtin/packages/perl-http-daemon/package.py
@@ -10,11 +10,11 @@ class PerlHttpDaemon(PerlPackage):
"""A simple http server class"""
homepage = "https://metacpan.org/pod/HTTP::Daemon"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz"
- version('6.01', sha256='43fd867742701a3f9fcc7bd59838ab72c6490c0ebaf66901068ec6997514adc2')
+ version("6.01", sha256="43fd867742701a3f9fcc7bd59838ab72c6490c0ebaf66901068ec6997514adc2")
- depends_on('perl-lwp-mediatypes', type=('build', 'run'))
- depends_on('perl-http-message', type=('build', 'run'))
- depends_on('perl-http-date', type=('build', 'run'))
- depends_on('perl-module-build-tiny', type='build')
+ depends_on("perl-lwp-mediatypes", type=("build", "run"))
+ depends_on("perl-http-message", type=("build", "run"))
+ depends_on("perl-http-date", type=("build", "run"))
+ depends_on("perl-module-build-tiny", type="build")
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 d9846da387..05945276e4 100644
--- a/var/spack/repos/builtin/packages/perl-http-date/package.py
+++ b/var/spack/repos/builtin/packages/perl-http-date/package.py
@@ -10,6 +10,6 @@ class PerlHttpDate(PerlPackage):
"""Date conversion routines"""
homepage = "https://metacpan.org/pod/HTTP::Date"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz"
- version('6.02', sha256='e8b9941da0f9f0c9c01068401a5e81341f0e3707d1c754f8e11f42a7e629e333')
+ 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 a46096777f..832dbaa3fb 100644
--- a/var/spack/repos/builtin/packages/perl-http-message/package.py
+++ b/var/spack/repos/builtin/packages/perl-http-message/package.py
@@ -10,13 +10,13 @@ class PerlHttpMessage(PerlPackage):
"""HTTP style message (base class)"""
homepage = "https://metacpan.org/pod/HTTP::Message"
- url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Message-6.13.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Message-6.13.tar.gz"
- version('6.13', sha256='f25f38428de851e5661e72f124476494852eb30812358b07f1c3a289f6f5eded')
+ version("6.13", sha256="f25f38428de851e5661e72f124476494852eb30812358b07f1c3a289f6f5eded")
- depends_on('perl-lwp-mediatypes', type=('build', 'run'))
- depends_on('perl-encode-locale', type=('build', 'run'))
- depends_on('perl-io-html', type=('build', 'run'))
- depends_on('perl-try-tiny', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-http-date', type=('build', 'run'))
+ depends_on("perl-lwp-mediatypes", type=("build", "run"))
+ depends_on("perl-encode-locale", type=("build", "run"))
+ depends_on("perl-io-html", type=("build", "run"))
+ depends_on("perl-try-tiny", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-http-date", type=("build", "run"))
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 0582bd2bff..2aeefb7b16 100644
--- a/var/spack/repos/builtin/packages/perl-http-negotiate/package.py
+++ b/var/spack/repos/builtin/packages/perl-http-negotiate/package.py
@@ -10,8 +10,8 @@ class PerlHttpNegotiate(PerlPackage):
"""Choose a variant to serve"""
homepage = "https://metacpan.org/pod/HTTP::Negotiate"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz"
- version('6.01', sha256='1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016')
+ version("6.01", sha256="1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016")
- depends_on('perl-http-message', type=('build', 'run'))
+ depends_on("perl-http-message", type=("build", "run"))
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 7e026f8fb7..8d2ce6b348 100644
--- a/var/spack/repos/builtin/packages/perl-inline-c/package.py
+++ b/var/spack/repos/builtin/packages/perl-inline-c/package.py
@@ -10,12 +10,12 @@ class PerlInlineC(PerlPackage):
"""C Language Support for Inline"""
homepage = "https://metacpan.org/pod/Inline::C"
- url = "http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/Inline-C-0.78.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/Inline-C-0.78.tar.gz"
- version('0.78', sha256='9a7804d85c01a386073d2176582b0262b6374c5c0341049da3ef84c6f53efbc7')
+ version("0.78", sha256="9a7804d85c01a386073d2176582b0262b6374c5c0341049da3ef84c6f53efbc7")
- depends_on('perl-yaml-libyaml', type=('build', 'run'))
- depends_on('perl-parse-recdescent', type=('build', 'run'))
- depends_on('perl-inline', type=('build', 'run'))
- depends_on('perl-pegex', type=('build', 'run'))
- depends_on('perl-file-copy-recursive', type=('build', 'run'))
+ depends_on("perl-yaml-libyaml", type=("build", "run"))
+ depends_on("perl-parse-recdescent", type=("build", "run"))
+ depends_on("perl-inline", type=("build", "run"))
+ depends_on("perl-pegex", type=("build", "run"))
+ depends_on("perl-file-copy-recursive", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-inline/package.py b/var/spack/repos/builtin/packages/perl-inline/package.py
index 81983fdd2c..845e1dbe6d 100644
--- a/var/spack/repos/builtin/packages/perl-inline/package.py
+++ b/var/spack/repos/builtin/packages/perl-inline/package.py
@@ -10,8 +10,8 @@ class PerlInline(PerlPackage):
"""Write Perl Subroutines in Other Programming Languages"""
homepage = "https://metacpan.org/pod/Inline"
- url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Inline-0.80.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Inline-0.80.tar.gz"
- version('0.80', sha256='7e2bd984b1ebd43e336b937896463f2c6cb682c956cbd2c311a464363d2ccef6')
+ version("0.80", sha256="7e2bd984b1ebd43e336b937896463f2c6cb682c956cbd2c311a464363d2ccef6")
- depends_on('perl-test-warn', type=('build', 'run'))
+ depends_on("perl-test-warn", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-io-all/package.py b/var/spack/repos/builtin/packages/perl-io-all/package.py
index a889db138f..8174c24b8d 100644
--- a/var/spack/repos/builtin/packages/perl-io-all/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-all/package.py
@@ -25,6 +25,6 @@ class PerlIoAll(PerlPackage):
<>, getc, print, printf, syswrite, sysread, close."""
homepage = "https://metacpan.org/pod/distribution/IO-All/lib/IO/All.pod"
- url = "https://cpan.metacpan.org/authors/id/F/FR/FREW/IO-All-0.87.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/F/FR/FREW/IO-All-0.87.tar.gz"
- version('0.87', sha256='54e21d250c0229127e30b77a3461e10077854ec244f26fb670f1b445ed4c4d5b')
+ version("0.87", sha256="54e21d250c0229127e30b77a3461e10077854ec244f26fb670f1b445ed4c4d5b")
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 15aa4c4ab2..db45a9412d 100644
--- a/var/spack/repos/builtin/packages/perl-io-compress/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-compress/package.py
@@ -11,9 +11,9 @@ class PerlIoCompress(PerlPackage):
or lzop file/buffer."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-2.081.tar.gz"
- version('2.081', sha256='5211c775544dc8c511af08edfb1c0c22734daa2789149c2a88d68e17b43546d9')
+ version("2.081", sha256="5211c775544dc8c511af08edfb1c0c22734daa2789149c2a88d68e17b43546d9")
- depends_on('perl-compress-raw-zlib', type='run')
- depends_on('perl-compress-raw-bzip2', type='run')
+ depends_on("perl-compress-raw-zlib", type="run")
+ depends_on("perl-compress-raw-bzip2", type="run")
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 04fc1cf1a2..8e26160d07 100644
--- a/var/spack/repos/builtin/packages/perl-io-html/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-html/package.py
@@ -10,6 +10,6 @@ class PerlIoHtml(PerlPackage):
"""Open an HTML file with automatic charset detection."""
homepage = "https://metacpan.org/pod/IO::HTML"
- url = "http://search.cpan.org/CPAN/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz"
- version('1.001', sha256='ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0')
+ version("1.001", sha256="ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0")
diff --git a/var/spack/repos/builtin/packages/perl-io-prompt/package.py b/var/spack/repos/builtin/packages/perl-io-prompt/package.py
index afde26564c..6fd88c9241 100644
--- a/var/spack/repos/builtin/packages/perl-io-prompt/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-prompt/package.py
@@ -25,11 +25,11 @@ class PerlIoPrompt(PerlPackage):
understand how to make use of this module."""
homepage = "https://metacpan.org/pod/IO::Prompt"
- url = "https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz"
- version('0.997004', sha256='f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615')
+ version("0.997004", sha256="f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
- depends_on('perl-termreadkey', type=('build', 'run'))
- depends_on('perl-want', type=('build', 'run'))
+ depends_on("perl-termreadkey", type=("build", "run"))
+ depends_on("perl-want", type=("build", "run"))
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 15390dde76..b9377b2f05 100644
--- a/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py
@@ -10,6 +10,6 @@ class PerlIoSessiondata(PerlPackage):
"""A wrapper around a single IO::Socket object"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz"
- version('1.03', sha256='64a4712a3edbb3fd10230db296c29c8c66f066adfbc0c3df6a48258fef392ddd')
+ 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 7740075261..5f99abdef5 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
@@ -12,22 +12,21 @@ class PerlIoSocketSsl(PerlPackage):
"""SSL sockets with IO::Socket interface"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-2.052.tar.gz"
- version('2.052', sha256='e4897a9b17cb18a3c44aa683980d52cef534cdfcb8063d6877c879bfa2f26673')
+ version("2.052", sha256="e4897a9b17cb18a3c44aa683980d52cef534cdfcb8063d6877c879bfa2f26673")
- depends_on('perl-net-ssleay', type=('build', 'run'))
+ depends_on("perl-net-ssleay", type=("build", "run"))
def configure(self, spec, prefix):
- self.build_method = 'Makefile.PL'
+ self.build_method = "Makefile.PL"
self.build_executable = inspect.getmodule(self).make
# Should I do external tests?
- config_answers = ['n\n']
- config_answers_filename = 'spack-config.in'
+ config_answers = ["n\n"]
+ config_answers_filename = "spack-config.in"
- with open(config_answers_filename, 'w') as f:
+ with open(config_answers_filename, "w") as f:
f.writelines(config_answers)
- with open(config_answers_filename, 'r') as f:
- inspect.getmodule(self).perl('Makefile.PL', 'INSTALL_BASE={0}'.
- format(prefix), input=f)
+ with open(config_answers_filename, "r") as f:
+ inspect.getmodule(self).perl("Makefile.PL", "INSTALL_BASE={0}".format(prefix), input=f)
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 eefca50f76..d1ecb68062 100644
--- a/var/spack/repos/builtin/packages/perl-io-string/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-string/package.py
@@ -10,6 +10,6 @@ class PerlIoString(PerlPackage):
"""Emulate file interface for in-core strings"""
homepage = "https://metacpan.org/pod/IO::String"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz"
- version('1.08', sha256='2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0')
+ version("1.08", sha256="2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0")
diff --git a/var/spack/repos/builtin/packages/perl-io-stringy/package.py b/var/spack/repos/builtin/packages/perl-io-stringy/package.py
index c7470a1856..6be90b0bf5 100644
--- a/var/spack/repos/builtin/packages/perl-io-stringy/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-stringy/package.py
@@ -21,6 +21,6 @@ class PerlIoStringy(PerlPackage):
globref, or a FileHandle."""
homepage = "https://metacpan.org/pod/IO::Stringy"
- url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/IO-stringy-2.111.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/IO-stringy-2.111.tar.gz"
- version('2.111', sha256='8c67fd6608c3c4e74f7324f1404a856c331dbf48d9deda6aaa8296ea41bf199d')
+ version("2.111", sha256="8c67fd6608c3c4e74f7324f1404a856c331dbf48d9deda6aaa8296ea41bf199d")
diff --git a/var/spack/repos/builtin/packages/perl-io-tty/package.py b/var/spack/repos/builtin/packages/perl-io-tty/package.py
index 2155e39b2a..cee78aa474 100644
--- a/var/spack/repos/builtin/packages/perl-io-tty/package.py
+++ b/var/spack/repos/builtin/packages/perl-io-tty/package.py
@@ -12,6 +12,6 @@ class PerlIoTty(PerlPackage):
For a list of importable constants, see IO::Tty::Constant."""
homepage = "https://metacpan.org/pod/IO::Tty"
- url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IO-Tty-1.13_01.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IO-Tty-1.13_01.tar.gz"
- version('1.13_01', sha256='89798eba7c31d9c169ef2f38ff49490aa769b1d9a68033de365595cfaf9cc258')
+ version("1.13_01", sha256="89798eba7c31d9c169ef2f38ff49490aa769b1d9a68033de365595cfaf9cc258")
diff --git a/var/spack/repos/builtin/packages/perl-ipc-run/package.py b/var/spack/repos/builtin/packages/perl-ipc-run/package.py
index 3a1bded9c9..f577549b11 100644
--- a/var/spack/repos/builtin/packages/perl-ipc-run/package.py
+++ b/var/spack/repos/builtin/packages/perl-ipc-run/package.py
@@ -13,9 +13,11 @@ class PerlIpcRun(PerlPackage):
supported and may be mixed."""
homepage = "https://metacpan.org/pod/IPC::Run"
- url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz"
- version('20180523.0', sha256='3850d7edf8a4671391c6e99bb770698e1c45da55b323b31c76310913349b6c2f')
+ version(
+ "20180523.0", sha256="3850d7edf8a4671391c6e99bb770698e1c45da55b323b31c76310913349b6c2f"
+ )
- depends_on('perl-io-tty', type=('build', 'run'))
- depends_on('perl-readonly', type='build')
+ depends_on("perl-io-tty", type=("build", "run"))
+ depends_on("perl-readonly", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-json/package.py b/var/spack/repos/builtin/packages/perl-json/package.py
index 3f5b6b34af..59c434a282 100644
--- a/var/spack/repos/builtin/packages/perl-json/package.py
+++ b/var/spack/repos/builtin/packages/perl-json/package.py
@@ -10,6 +10,6 @@ class PerlJson(PerlPackage):
"""JSON (JavaScript Object Notation) encoder/decoder"""
homepage = "https://metacpan.org/pod/JSON"
- url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz"
- version('2.97001', sha256='e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a')
+ version("2.97001", sha256="e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a")
diff --git a/var/spack/repos/builtin/packages/perl-libwww-perl/package.py b/var/spack/repos/builtin/packages/perl-libwww-perl/package.py
index bfba4ce104..7ff54de084 100644
--- a/var/spack/repos/builtin/packages/perl-libwww-perl/package.py
+++ b/var/spack/repos/builtin/packages/perl-libwww-perl/package.py
@@ -13,21 +13,21 @@ class PerlLibwwwPerl(PerlPackage):
functions that allow you to write WWW clients."""
homepage = "https://github.com/libwww-perl/libwww-perl"
- url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/libwww-perl-6.33.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/libwww-perl-6.33.tar.gz"
- version('6.33', sha256='97417386f11f007ae129fe155b82fd8969473ce396a971a664c8ae6850c69b99')
- version('6.29', sha256='4c6f2697999d2d0e6436b584116b12b30dc39990ec0622751c1a6cec2c0e6662')
+ version("6.33", sha256="97417386f11f007ae129fe155b82fd8969473ce396a971a664c8ae6850c69b99")
+ version("6.29", sha256="4c6f2697999d2d0e6436b584116b12b30dc39990ec0622751c1a6cec2c0e6662")
- depends_on('perl-encode-locale', type=('build', 'run'))
- depends_on('perl-file-listing', type=('build', 'run'))
- depends_on('perl-html-parser', type=('build', 'run'))
- depends_on('perl-http-cookies', type=('build', 'run'))
- depends_on('perl-http-daemon', type=('build', 'run'))
- depends_on('perl-http-date', type=('build', 'run'))
- depends_on('perl-http-message', type=('build', 'run'))
- depends_on('perl-http-negotiate', type=('build', 'run'))
- depends_on('perl-lwp-mediatypes', type=('build', 'run'))
- depends_on('perl-net-http', type=('build', 'run'))
- depends_on('perl-try-tiny', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-www-robotrules', type=('build', 'run'))
+ depends_on("perl-encode-locale", type=("build", "run"))
+ depends_on("perl-file-listing", type=("build", "run"))
+ depends_on("perl-html-parser", type=("build", "run"))
+ depends_on("perl-http-cookies", type=("build", "run"))
+ depends_on("perl-http-daemon", type=("build", "run"))
+ depends_on("perl-http-date", type=("build", "run"))
+ depends_on("perl-http-message", type=("build", "run"))
+ depends_on("perl-http-negotiate", type=("build", "run"))
+ depends_on("perl-lwp-mediatypes", type=("build", "run"))
+ depends_on("perl-net-http", type=("build", "run"))
+ depends_on("perl-try-tiny", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-www-robotrules", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-libxml-perl/package.py b/var/spack/repos/builtin/packages/perl-libxml-perl/package.py
index e89ab9bc9e..83fd454f3e 100644
--- a/var/spack/repos/builtin/packages/perl-libxml-perl/package.py
+++ b/var/spack/repos/builtin/packages/perl-libxml-perl/package.py
@@ -12,6 +12,6 @@ class PerlLibxmlPerl(PerlPackage):
combination with XML::Parser, PerlSAX, XML::DOM, XML::Grove and others."""
homepage = "https://metacpan.org/release/libxml-perl"
- url = "https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz"
- version('0.08', sha256='4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb')
+ version("0.08", sha256="4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb")
diff --git a/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py b/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py
index 2f9dc953a2..2a43e03fa5 100644
--- a/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py
+++ b/var/spack/repos/builtin/packages/perl-list-moreutils-xs/package.py
@@ -13,6 +13,6 @@ class PerlListMoreutilsXs(PerlPackage):
a backend, the API is not public and can change without any warning."""
homepage = "https://metacpan.org/pod/List::MoreUtils::XS"
- url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz"
- version('0.428', sha256='9d9fe621429dfe7cf2eb1299c192699ddebf060953e5ebdc1b4e293c6d6dd62d')
+ version("0.428", sha256="9d9fe621429dfe7cf2eb1299c192699ddebf060953e5ebdc1b4e293c6d6dd62d")
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 dd64edb742..d59fc0a0b5 100644
--- a/var/spack/repos/builtin/packages/perl-list-moreutils/package.py
+++ b/var/spack/repos/builtin/packages/perl-list-moreutils/package.py
@@ -10,9 +10,9 @@ class PerlListMoreutils(PerlPackage):
"""Provide the stuff missing in List::Util"""
homepage = "https://metacpan.org/pod/List::MoreUtils"
- url = "http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/List-MoreUtils-0.428.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/List-MoreUtils-0.428.tar.gz"
- version('0.428', sha256='713e0945d5f16e62d81d5f3da2b6a7b14a4ce439f6d3a7de74df1fd166476cc2')
+ version("0.428", sha256="713e0945d5f16e62d81d5f3da2b6a7b14a4ce439f6d3a7de74df1fd166476cc2")
- depends_on('perl-exporter-tiny', type=('build', 'run'))
- depends_on('perl-list-moreutils-xs', type=('build', 'run'))
+ depends_on("perl-exporter-tiny", type=("build", "run"))
+ depends_on("perl-list-moreutils-xs", type=("build", "run"))
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 8bfc4f95ae..baa11ef1c8 100644
--- a/var/spack/repos/builtin/packages/perl-log-log4perl/package.py
+++ b/var/spack/repos/builtin/packages/perl-log-log4perl/package.py
@@ -10,6 +10,6 @@ class PerlLogLog4perl(PerlPackage):
"""Log4j implementation for Perl"""
homepage = "https://metacpan.org/pod/Log::Log4perl"
- url = "https://cpan.metacpan.org/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.46.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.46.tar.gz"
- version('1.46', sha256='31011a17c04e78016e73eaa4865d0481d2ffc3dc22813c61065d90ad73c64e6f')
+ version("1.46", sha256="31011a17c04e78016e73eaa4865d0481d2ffc3dc22813c61065d90ad73c64e6f")
diff --git a/var/spack/repos/builtin/packages/perl-logger-simple/package.py b/var/spack/repos/builtin/packages/perl-logger-simple/package.py
index e973520792..12917f8916 100644
--- a/var/spack/repos/builtin/packages/perl-logger-simple/package.py
+++ b/var/spack/repos/builtin/packages/perl-logger-simple/package.py
@@ -10,8 +10,8 @@ class PerlLoggerSimple(PerlPackage):
"""Implementation of the Simran-Log-Log and Simran-Error-Error modules"""
homepage = "https://metacpan.org/pod/Logger::Simple"
- url = "https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY/Logger-Simple-2.0.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY/Logger-Simple-2.0.tar.gz"
- version('2.0', sha256='2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d')
+ version("2.0", sha256="2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d")
- depends_on('perl-object-insideout', type=('build', 'run'))
+ depends_on("perl-object-insideout", type=("build", "run"))
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 56012ddcdd..fb62271026 100644
--- a/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py
+++ b/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py
@@ -10,6 +10,6 @@ class PerlLwpMediatypes(PerlPackage):
"""Guess media type for a file or a URL"""
homepage = "https://metacpan.org/pod/LWP::MediaTypes"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz"
- version('6.02', sha256='18790b0cc5f0a51468495c3847b16738f785a2d460403595001e0b932e5db676')
+ 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 46c144866d..0964bac9ef 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
@@ -7,15 +7,15 @@ from spack.package import *
class PerlLwpProtocolHttps(PerlPackage):
- """ Provide https support for LWP::UserAgent"""
+ """Provide https support for LWP::UserAgent"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz"
- version('6.04', sha256='1ef67750ee363525cf729b59afde805ac4dc80eaf8d36ca01082a4d78a7af629')
+ version("6.04", sha256="1ef67750ee363525cf729b59afde805ac4dc80eaf8d36ca01082a4d78a7af629")
- depends_on('perl-test-requiresinternet', type=('build', 'run'))
- depends_on('perl-io-socket-ssl', type=('build', 'run'))
- depends_on('perl-net-http', type=('build', 'run'))
- depends_on('perl-mozilla-ca', type=('build', 'run'))
- depends_on('perl-libwww-perl', type=('build', 'run'))
+ depends_on("perl-test-requiresinternet", type=("build", "run"))
+ depends_on("perl-io-socket-ssl", type=("build", "run"))
+ depends_on("perl-net-http", type=("build", "run"))
+ depends_on("perl-mozilla-ca", type=("build", "run"))
+ depends_on("perl-libwww-perl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-mailtools/package.py b/var/spack/repos/builtin/packages/perl-mailtools/package.py
index faeb7e7fe1..661d410f87 100644
--- a/var/spack/repos/builtin/packages/perl-mailtools/package.py
+++ b/var/spack/repos/builtin/packages/perl-mailtools/package.py
@@ -10,8 +10,8 @@ class PerlMailtools(PerlPackage):
"""Perl module for handling mail"""
homepage = "https://metacpan.org/release/MailTools"
- url = "https://cpan.metacpan.org/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz"
- version('2.21', sha256='4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb')
+ version("2.21", sha256="4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb")
- depends_on('perl-timedate', type=('build', 'run'))
+ depends_on("perl-timedate", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-math-bezier/package.py b/var/spack/repos/builtin/packages/perl-math-bezier/package.py
index 2e73427858..9304fe3b44 100644
--- a/var/spack/repos/builtin/packages/perl-math-bezier/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-bezier/package.py
@@ -10,6 +10,6 @@ class PerlMathBezier(PerlPackage):
"""Math::Bezier - solution of Bezier Curves"""
homepage = "https://metacpan.org/pod/Math::Bezier"
- url = "https://cpan.metacpan.org/authors/id/A/AB/ABW/Math-Bezier-0.01.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/A/AB/ABW/Math-Bezier-0.01.tar.gz"
- version('0.01', sha256='11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8')
+ version("0.01", sha256="11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8")
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 f7365b4272..ee4c32e121 100644
--- a/var/spack/repos/builtin/packages/perl-math-cdf/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-cdf/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class PerlMathCdf(PerlPackage):
"""Generate probabilities and quantiles from several statistical
- probability functions"""
+ probability functions"""
homepage = "https://metacpan.org/pod/Math::CDF"
- url = "http://search.cpan.org/CPAN/authors/id/C/CA/CALLAHAN/Math-CDF-0.1.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/C/CA/CALLAHAN/Math-CDF-0.1.tar.gz"
- version('0.1', sha256='7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565')
+ 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 2171aed6e6..5f2c43285a 100644
--- a/var/spack/repos/builtin/packages/perl-math-cephes/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-cephes/package.py
@@ -8,9 +8,9 @@ from spack.package import *
class PerlMathCephes(PerlPackage):
"""This module provides an interface to over 150 functions of the
- cephes math library of Stephen Moshier."""
+ cephes math library of Stephen Moshier."""
homepage = "https://metacpan.org/pod/Math::Cephes"
- url = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Math-Cephes-0.5305.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Math-Cephes-0.5305.tar.gz"
- version('0.5305', sha256='561a800a4822e748d2befc366baa4b21e879a40cc00c22293c7b8736caeb83a1')
+ 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 1eaa3e74c1..8d73050299 100644
--- a/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py
@@ -11,8 +11,8 @@ class PerlMathMatrixreal(PerlPackage):
also "vector of real numbers")."""
homepage = "https://metacpan.org/pod/Math::MatrixReal"
- url = "http://search.cpan.org/CPAN/authors/id/L/LE/LETO/Math-MatrixReal-2.13.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LETO/Math-MatrixReal-2.13.tar.gz"
- version('2.13', sha256='4f9fa1a46dd34d2225de461d9a4ed86932cdd821c121fa501a15a6d4302fb4b2')
+ version("2.13", sha256="4f9fa1a46dd34d2225de461d9a4ed86932cdd821c121fa501a15a6d4302fb4b2")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-math-round/package.py b/var/spack/repos/builtin/packages/perl-math-round/package.py
index 6d3f35cb6b..12d7f5cbb2 100644
--- a/var/spack/repos/builtin/packages/perl-math-round/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-round/package.py
@@ -10,6 +10,6 @@ class PerlMathRound(PerlPackage):
"""Math::Round - Perl extension for rounding numbers"""
homepage = "https://metacpan.org/pod/Math::Round"
- url = "https://cpan.metacpan.org/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz"
- version('0.07', sha256='73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327')
+ version("0.07", sha256="73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327")
diff --git a/var/spack/repos/builtin/packages/perl-math-vecstat/package.py b/var/spack/repos/builtin/packages/perl-math-vecstat/package.py
index 91d397b266..7cdcb8b21c 100644
--- a/var/spack/repos/builtin/packages/perl-math-vecstat/package.py
+++ b/var/spack/repos/builtin/packages/perl-math-vecstat/package.py
@@ -10,6 +10,6 @@ class PerlMathVecstat(PerlPackage):
"""Math::VecStat - Some basic numeric stats on vectors"""
homepage = "https://metacpan.org/pod/Math::VecStat"
- url = "https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz"
- version('0.08', sha256='409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d')
+ version("0.08", sha256="409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d")
diff --git a/var/spack/repos/builtin/packages/perl-mce/package.py b/var/spack/repos/builtin/packages/perl-mce/package.py
index c5dfabb760..d4573c5654 100644
--- a/var/spack/repos/builtin/packages/perl-mce/package.py
+++ b/var/spack/repos/builtin/packages/perl-mce/package.py
@@ -17,6 +17,6 @@ class PerlMce(PerlPackage):
input stream to the next available worker."""
homepage = "https://github.com/marioroy/mce-perl"
- url = "https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-1.874.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MA/MARIOROY/MCE-1.874.tar.gz"
- version('1.874', sha256='d809e3018475115ad7eccb8bef49bde3bf3e75abbbcd80564728bbcfab86d3d0')
+ version("1.874", sha256="d809e3018475115ad7eccb8bef49bde3bf3e75abbbcd80564728bbcfab86d3d0")
diff --git a/var/spack/repos/builtin/packages/perl-mni-perllib/package.py b/var/spack/repos/builtin/packages/perl-mni-perllib/package.py
index 084a8b7002..d15529db0a 100644
--- a/var/spack/repos/builtin/packages/perl-mni-perllib/package.py
+++ b/var/spack/repos/builtin/packages/perl-mni-perllib/package.py
@@ -10,11 +10,11 @@ class PerlMniPerllib(PerlPackage):
"""MNI Perl Library for scripting long-running scientific computations"""
homepage = "https://github.com/BIC-MNI/mni-perllib"
- git = "https://github.com/BIC-MNI/mni-perllib.git"
+ git = "https://github.com/BIC-MNI/mni-perllib.git"
- version('develop', commit="170827f5644820b87bcb2b194494c5ebf0928149")
+ version("develop", commit="170827f5644820b87bcb2b194494c5ebf0928149")
- patch('no-stdin.patch')
+ patch("no-stdin.patch")
- depends_on('perl-getopt-tabular', type=('build', 'run'))
- depends_on('perl-text-format', type=('build', 'run'))
+ depends_on("perl-getopt-tabular", type=("build", "run"))
+ depends_on("perl-text-format", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-module-build-tiny/package.py b/var/spack/repos/builtin/packages/perl-module-build-tiny/package.py
index e9fe4ea5bd..84aaa51518 100644
--- a/var/spack/repos/builtin/packages/perl-module-build-tiny/package.py
+++ b/var/spack/repos/builtin/packages/perl-module-build-tiny/package.py
@@ -10,11 +10,11 @@ class PerlModuleBuildTiny(PerlPackage):
"""Module::Build::Tiny - A tiny replacement for Module::Build"""
homepage = "https://metacpan.org/pod/Module::Build::Tiny"
- url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz"
- version('0.039', sha256='7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c')
+ version("0.039", sha256="7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c")
- depends_on('perl-module-build', type='build')
- depends_on('perl-extutils-config', type=('build', 'run'))
- depends_on('perl-extutils-helpers', type=('build', 'run'))
- depends_on('perl-extutils-installpaths', type=('build', 'run'))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-extutils-config", type=("build", "run"))
+ depends_on("perl-extutils-helpers", type=("build", "run"))
+ depends_on("perl-extutils-installpaths", type=("build", "run"))
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 84d063866b..f3bcce264f 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):
"""
homepage = "https://metacpan.org/pod/Module::Build"
- url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/Module-Build-0.4224.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/Module-Build-0.4224.tar.gz"
- version('0.4224', sha256='a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782')
- version('0.4220', sha256='fb1207c7e799366f7a8adda3f135bf8141c4d6068505650d4db2b2d3ce34b5a2')
+ version("0.4224", sha256="a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782")
+ version("0.4220", sha256="fb1207c7e799366f7a8adda3f135bf8141c4d6068505650d4db2b2d3ce34b5a2")
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 aaf6fb0400..a1eded15a7 100644
--- a/var/spack/repos/builtin/packages/perl-module-implementation/package.py
+++ b/var/spack/repos/builtin/packages/perl-module-implementation/package.py
@@ -11,11 +11,11 @@ class PerlModuleImplementation(PerlPackage):
module"""
homepage = "https://metacpan.org/pod/Module::Implementation"
- url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz"
- version('0.09', sha256='c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d')
+ version("0.09", sha256="c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d")
- depends_on('perl-module-runtime', type=('build', 'run'))
- depends_on('perl-test-fatal', type=('build', 'run'))
- depends_on('perl-test-requires', type=('build', 'run'))
- depends_on('perl-try-tiny', type=('build', 'run'))
+ depends_on("perl-module-runtime", type=("build", "run"))
+ depends_on("perl-test-fatal", type=("build", "run"))
+ depends_on("perl-test-requires", type=("build", "run"))
+ depends_on("perl-try-tiny", type=("build", "run"))
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 c330173fbf..0f5243480c 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
@@ -10,6 +10,6 @@ class PerlModuleRuntimeConflicts(PerlPackage):
"""Provide information on conflicts for Module::Runtime"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz"
- version('0.003', sha256='707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875')
+ 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 b64ae64a5f..4ce543f5ff 100644
--- a/var/spack/repos/builtin/packages/perl-module-runtime/package.py
+++ b/var/spack/repos/builtin/packages/perl-module-runtime/package.py
@@ -10,8 +10,8 @@ class PerlModuleRuntime(PerlPackage):
"""Runtime module handling"""
homepage = "https://metacpan.org/pod/Module::Runtime"
- url = "http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz"
- version('0.016', sha256='68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024')
+ version("0.016", sha256="68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-moose/package.py b/var/spack/repos/builtin/packages/perl-moose/package.py
index f70e2f2647..7416c70e92 100644
--- a/var/spack/repos/builtin/packages/perl-moose/package.py
+++ b/var/spack/repos/builtin/packages/perl-moose/package.py
@@ -10,21 +10,21 @@ class PerlMoose(PerlPackage):
"""A postmodern object system for Perl 5"""
homepage = "https://metacpan.org/pod/Moose"
- url = "https://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Moose-2.2006.tar.gz"
+ url = "https://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Moose-2.2006.tar.gz"
- version('2.2010', sha256='af0905b69f18c27de1177c9bc7778ee495d4ec91be1f223e8ca8333af4de08c5')
- version('2.2009', sha256='63ba8a5e27dbcbdbac2cd8f4162fff50a31e9829d8955a196a5898240c02d194')
- version('2.2007', sha256='bc75a320b55ba26ac9e60e11a77b3471066cb615bf7097537ed22e20df88afe8')
- version('2.2006', sha256='a4e00ab25cc41bebc5e7a11d71375fb5e64b56d5f91159afee225d698e06392b')
+ version("2.2010", sha256="af0905b69f18c27de1177c9bc7778ee495d4ec91be1f223e8ca8333af4de08c5")
+ version("2.2009", sha256="63ba8a5e27dbcbdbac2cd8f4162fff50a31e9829d8955a196a5898240c02d194")
+ version("2.2007", sha256="bc75a320b55ba26ac9e60e11a77b3471066cb615bf7097537ed22e20df88afe8")
+ version("2.2006", sha256="a4e00ab25cc41bebc5e7a11d71375fb5e64b56d5f91159afee225d698e06392b")
- depends_on('perl-cpan-meta-check', type=('build', 'run'))
- depends_on('perl-test-cleannamespaces', type=('build', 'run'))
- depends_on('perl-devel-overloadinfo', type=('build', 'run'))
- depends_on('perl-class-load-xs', type=('build', 'run'))
- depends_on('perl-devel-stacktrace', type=('build', 'run'))
- depends_on('perl-eval-closure', type=('build', 'run'))
- depends_on('perl-sub-name', type=('build', 'run'))
- depends_on('perl-module-runtime-conflicts', type=('build', 'run'))
- depends_on('perl-devel-globaldestruction', type=('build', 'run'))
- depends_on('perl-package-deprecationmanager', type=('build', 'run'))
- depends_on('perl-package-stash-xs', type=('build', 'run'))
+ depends_on("perl-cpan-meta-check", type=("build", "run"))
+ depends_on("perl-test-cleannamespaces", type=("build", "run"))
+ depends_on("perl-devel-overloadinfo", type=("build", "run"))
+ depends_on("perl-class-load-xs", type=("build", "run"))
+ depends_on("perl-devel-stacktrace", type=("build", "run"))
+ depends_on("perl-eval-closure", type=("build", "run"))
+ depends_on("perl-sub-name", type=("build", "run"))
+ depends_on("perl-module-runtime-conflicts", type=("build", "run"))
+ depends_on("perl-devel-globaldestruction", type=("build", "run"))
+ depends_on("perl-package-deprecationmanager", type=("build", "run"))
+ depends_on("perl-package-stash-xs", type=("build", "run"))
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 6d12b44c4f..63273cad83 100644
--- a/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py
+++ b/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py
@@ -10,6 +10,6 @@ class PerlMozillaCa(PerlPackage):
"""Mozilla's CA cert bundle in PEM format"""
homepage = "https://metacpan.org/pod/Mozilla::CA"
- url = "http://search.cpan.org/CPAN/authors/id/A/AB/ABH/Mozilla-CA-20160104.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/A/AB/ABH/Mozilla-CA-20160104.tar.gz"
- version('20160104', sha256='27a7069a243162b65ada4194ff9d21b6ebc304af723eb5d3972fb74c11b03f2a')
+ 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 ccc03a6db3..88f0651f22 100644
--- a/var/spack/repos/builtin/packages/perl-mro-compat/package.py
+++ b/var/spack/repos/builtin/packages/perl-mro-compat/package.py
@@ -10,6 +10,6 @@ class PerlMroCompat(PerlPackage):
"""Provides several utilities for dealing with method resolution order."""
homepage = "https://metacpan.org/pod/MRO::Compat"
- url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz"
- version('0.13', sha256='8a2c3b6ccc19328d5579d02a7d91285e2afd85d801f49d423a8eb16f323da4f8')
+ 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 e76f3407c9..77257d90d0 100644
--- a/var/spack/repos/builtin/packages/perl-namespace-clean/package.py
+++ b/var/spack/repos/builtin/packages/perl-namespace-clean/package.py
@@ -10,8 +10,8 @@ class PerlNamespaceClean(PerlPackage):
"""Keep imports and functions out of your namespace."""
homepage = "https://metacpan.org/pod/namespace::clean"
- url = "http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz"
- version('0.27', sha256='8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d')
+ version("0.27", sha256="8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d")
- depends_on('perl-b-hooks-endofscope', type=('build', 'run'))
+ depends_on("perl-b-hooks-endofscope", type=("build", "run"))
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 ce548101bb..3dc805371d 100644
--- a/var/spack/repos/builtin/packages/perl-net-http/package.py
+++ b/var/spack/repos/builtin/packages/perl-net-http/package.py
@@ -10,8 +10,8 @@ class PerlNetHttp(PerlPackage):
"""Low-level HTTP connection (client)"""
homepage = "https://metacpan.org/pod/Net::HTTP"
- url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/Net-HTTP-6.17.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/Net-HTTP-6.17.tar.gz"
- version('6.17', sha256='1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611')
+ version("6.17", sha256="1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611")
- depends_on('perl-uri', type=('build', 'run'))
+ depends_on("perl-uri", type=("build", "run"))
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 401206e472..0cd756e644 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
@@ -10,6 +10,6 @@ class PerlNetScpExpect(PerlPackage):
"""Wrapper for scp that allows passwords via Expect."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RY/RYBSKEJ/Net-SCP-Expect-0.16.tar.gz"
- version('0.16', sha256='97586e0ee0d61c987a7efaaffbfa551b95c426b3ef3625e046dc456fe9170591')
+ 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 215e5b60e5..ed48073e8a 100644
--- a/var/spack/repos/builtin/packages/perl-net-ssleay/package.py
+++ b/var/spack/repos/builtin/packages/perl-net-ssleay/package.py
@@ -12,24 +12,23 @@ class PerlNetSsleay(PerlPackage):
"""Perl extension for using OpenSSL"""
homepage = "https://metacpan.org/pod/Net::SSLeay"
- url = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-1.82.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-1.82.tar.gz"
- version('1.85', sha256='9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8')
- version('1.82', sha256='5895c519c9986a5e5af88e3b8884bbdc70e709ee829dc6abb9f53155c347c7e5')
+ version("1.85", sha256="9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8")
+ version("1.82", sha256="5895c519c9986a5e5af88e3b8884bbdc70e709ee829dc6abb9f53155c347c7e5")
- depends_on('openssl')
+ depends_on("openssl")
def configure(self, spec, prefix):
- self.build_method = 'Makefile.PL'
+ self.build_method = "Makefile.PL"
self.build_executable = inspect.getmodule(self).make
# Do you want to run external tests?
- config_answers = ['\n']
- config_answers_filename = 'spack-config.in'
+ config_answers = ["\n"]
+ config_answers_filename = "spack-config.in"
- with open(config_answers_filename, 'w') as f:
+ with open(config_answers_filename, "w") as f:
f.writelines(config_answers)
- with open(config_answers_filename, 'r') as f:
- env['OPENSSL_PREFIX'] = self.spec['openssl'].prefix
- inspect.getmodule(self).perl('Makefile.PL', 'INSTALL_BASE={0}'.
- format(prefix), input=f)
+ with open(config_answers_filename, "r") as f:
+ env["OPENSSL_PREFIX"] = self.spec["openssl"].prefix
+ inspect.getmodule(self).perl("Makefile.PL", "INSTALL_BASE={0}".format(prefix), input=f)
diff --git a/var/spack/repos/builtin/packages/perl-number-format/package.py b/var/spack/repos/builtin/packages/perl-number-format/package.py
index 0bc5644ca7..e178f6fb2e 100644
--- a/var/spack/repos/builtin/packages/perl-number-format/package.py
+++ b/var/spack/repos/builtin/packages/perl-number-format/package.py
@@ -10,6 +10,6 @@ class PerlNumberFormat(PerlPackage):
"""Number::Format - Perl extension for formatting numbers"""
homepage = "https://metacpan.org/pod/Number::Format"
- url = "https://cpan.metacpan.org/authors/id/W/WR/WRW/Number-Format-1.75.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/W/WR/WRW/Number-Format-1.75.tar.gz"
- version('1.75', sha256='82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3')
+ version("1.75", sha256="82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3")
diff --git a/var/spack/repos/builtin/packages/perl-object-insideout/package.py b/var/spack/repos/builtin/packages/perl-object-insideout/package.py
index 95d98a4055..90b629130e 100644
--- a/var/spack/repos/builtin/packages/perl-object-insideout/package.py
+++ b/var/spack/repos/builtin/packages/perl-object-insideout/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PerlObjectInsideout(PerlPackage):
"""Implements inside-out objects as anonymous scalar references
- that are blessed into a class with the scalar containing the
- ID for the object (usually a sequence number)."""
+ that are blessed into a class with the scalar containing the
+ ID for the object (usually a sequence number)."""
homepage = "https://metacpan.org/pod/Object::InsideOut"
- url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz"
- version('4.05', sha256='9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4')
+ version("4.05", sha256="9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4")
- depends_on('perl-module-build', type='build')
- depends_on('perl-exception-class', type=('build', 'run'))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-exception-class", type=("build", "run"))
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 20275279c8..ce607c0563 100644
--- a/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py
+++ b/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py
@@ -10,6 +10,6 @@ class PerlPackageDeprecationmanager(PerlPackage):
"""Manage deprecation warnings for your distribution"""
homepage = "https://metacpan.org/pod/Package::DeprecationManager"
- url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz"
- version('0.17', sha256='1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b')
+ 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 977e514575..d605ed8b38 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
@@ -10,6 +10,6 @@ class PerlPackageStashXs(PerlPackage):
"""Faster and more correct implementation of the Package::Stash API"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz"
- version('0.28', sha256='23d8c5c25768ef1dc0ce53b975796762df0d6e244445d06e48d794886c32d486')
+ 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 5cc0c131e8..9b4e607540 100644
--- a/var/spack/repos/builtin/packages/perl-package-stash/package.py
+++ b/var/spack/repos/builtin/packages/perl-package-stash/package.py
@@ -10,11 +10,11 @@ class PerlPackageStash(PerlPackage):
"""Routines for manipulating stashes"""
homepage = "https://metacpan.org/pod/Package::Stash"
- url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz"
- version('0.37', sha256='06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c')
+ version("0.37", sha256="06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c")
- depends_on('perl-test-requires', type=('build', 'run'))
- depends_on('perl-test-fatal', type=('build', 'run'))
- depends_on('perl-module-implementation', type=('build', 'run'))
- depends_on('perl-dist-checkconflicts', type=('build', 'run'))
+ depends_on("perl-test-requires", type=("build", "run"))
+ depends_on("perl-test-fatal", type=("build", "run"))
+ depends_on("perl-module-implementation", type=("build", "run"))
+ depends_on("perl-dist-checkconflicts", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-padwalker/package.py b/var/spack/repos/builtin/packages/perl-padwalker/package.py
index 0e202cfb96..f92f8c9f14 100644
--- a/var/spack/repos/builtin/packages/perl-padwalker/package.py
+++ b/var/spack/repos/builtin/packages/perl-padwalker/package.py
@@ -10,6 +10,6 @@ class PerlPadwalker(PerlPackage):
"""play with other peoples' lexical variables"""
homepage = "https://metacpan.org/pod/PadWalker"
- url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/PadWalker-2.2.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/PadWalker-2.2.tar.gz"
- version('2.2', sha256='fc1df2084522e29e892da393f3719d2c1be0da022fdd89cff4b814167aecfea3')
+ 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 9261a0de7f..74a286b02f 100644
--- a/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py
+++ b/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py
@@ -10,6 +10,6 @@ class PerlParallelForkmanager(PerlPackage):
"""A simple parallel processing fork manager"""
homepage = "https://metacpan.org/pod/Parallel::ForkManager"
- url = "http://search.cpan.org/CPAN/authors/id/Y/YA/YANICK/Parallel-ForkManager-1.19.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/Y/YA/YANICK/Parallel-ForkManager-1.19.tar.gz"
- version('1.19', sha256='f1de2e9875eeb77d65f80338905dedd522f3913822502982f805aa71cde5a472')
+ 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 6a66f4d516..42516e98c1 100644
--- a/var/spack/repos/builtin/packages/perl-params-util/package.py
+++ b/var/spack/repos/builtin/packages/perl-params-util/package.py
@@ -10,6 +10,6 @@ class PerlParamsUtil(PerlPackage):
"""Simple, compact and correct param-checking functions"""
homepage = "https://metacpan.org/pod/Params::Util"
- url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz"
- version('1.07', sha256='30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c')
+ version("1.07", sha256="30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c")
diff --git a/var/spack/repos/builtin/packages/perl-params-validate/package.py b/var/spack/repos/builtin/packages/perl-params-validate/package.py
index bdcc0af1eb..91c766ad64 100644
--- a/var/spack/repos/builtin/packages/perl-params-validate/package.py
+++ b/var/spack/repos/builtin/packages/perl-params-validate/package.py
@@ -10,9 +10,9 @@ class PerlParamsValidate(PerlPackage):
"""Params::Validate - Validate method/function parameters"""
homepage = "https://metacpan.org/pod/Params::Validate"
- url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Validate-1.29.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Validate-1.29.tar.gz"
- version('1.29', sha256='49a68dfb430bea028042479111d19068e08095e5a467e320b7ab7bde3d729733')
+ version("1.29", sha256="49a68dfb430bea028042479111d19068e08095e5a467e320b7ab7bde3d729733")
- depends_on('perl-module-build', type='build')
- depends_on('perl-module-implementation', type=('build', 'run'))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-module-implementation", type=("build", "run"))
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 c2715a52f9..b4bf8ef53d 100644
--- a/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py
+++ b/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py
@@ -10,8 +10,8 @@ class PerlParseRecdescent(PerlPackage):
"""Generate Recursive-Descent Parsers"""
homepage = "https://metacpan.org/pod/Parse::RecDescent"
- url = "http://search.cpan.org/CPAN/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz"
- version('1.967015', sha256='1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37')
+ version("1.967015", sha256="1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-path-tiny/package.py b/var/spack/repos/builtin/packages/perl-path-tiny/package.py
index c6d77c0793..d660490fcb 100644
--- a/var/spack/repos/builtin/packages/perl-path-tiny/package.py
+++ b/var/spack/repos/builtin/packages/perl-path-tiny/package.py
@@ -14,6 +14,6 @@ class PerlPathTiny(PerlPackage):
many common things in consistent and less error-prone ways."""
homepage = "https://metacpan.org/pod/Path::Tiny"
- url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.108.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.108.tar.gz"
- version('0.108', sha256='3c49482be2b3eb7ddd7e73a5b90cff648393f5d5de334ff126ce7a3632723ff5')
+ version("0.108", sha256="3c49482be2b3eb7ddd7e73a5b90cff648393f5d5de334ff126ce7a3632723ff5")
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 519d1dc2d5..88c52126ef 100644
--- a/var/spack/repos/builtin/packages/perl-pdf-api2/package.py
+++ b/var/spack/repos/builtin/packages/perl-pdf-api2/package.py
@@ -10,10 +10,10 @@ class PerlPdfApi2(PerlPackage):
"""Facilitates the creation and modification of PDF files"""
homepage = "https://metacpan.org/pod/PDF::API2"
- url = "http://search.cpan.org/CPAN/authors/id/S/SS/SSIMMS/PDF-API2-2.033.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/S/SS/SSIMMS/PDF-API2-2.033.tar.gz"
- version('2.033', sha256='9c0866ec1a3053f73afaca5f5cdbe6925903b4ce606f4bf4ac317731a69d27a0')
+ version("2.033", sha256="9c0866ec1a3053f73afaca5f5cdbe6925903b4ce606f4bf4ac317731a69d27a0")
- depends_on('perl-test-exception', type=('build', 'run'))
- depends_on('perl-test-memory-cycle', type=('build', 'run'))
- depends_on('perl-font-ttf', type=('build', 'run'))
+ depends_on("perl-test-exception", type=("build", "run"))
+ depends_on("perl-test-memory-cycle", type=("build", "run"))
+ depends_on("perl-font-ttf", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-pegex/package.py b/var/spack/repos/builtin/packages/perl-pegex/package.py
index b2892e36c3..bc8d7abb77 100644
--- a/var/spack/repos/builtin/packages/perl-pegex/package.py
+++ b/var/spack/repos/builtin/packages/perl-pegex/package.py
@@ -10,9 +10,9 @@ class PerlPegex(PerlPackage):
"""Acmeist PEG Parser Framework"""
homepage = "https://metacpan.org/pod/Pegex"
- url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Pegex-0.64.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Pegex-0.64.tar.gz"
- version('0.64', sha256='27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd')
+ version("0.64", sha256="27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd")
- depends_on('perl-file-sharedir-install', type=('build', 'run'))
- depends_on('perl-yaml-libyaml', type=('build', 'run'))
+ depends_on("perl-file-sharedir-install", type=("build", "run"))
+ depends_on("perl-yaml-libyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py b/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py
index 88aa750054..8f42dbdda6 100644
--- a/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py
+++ b/var/spack/repos/builtin/packages/perl-perl-unsafe-signals/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class PerlPerlUnsafeSignals(PerlPackage):
"""Quoting perl581delta:
- In Perl 5.8.0 the so-called "safe signals" were introduced. This means
- that Perl no longer handles signals immediately but instead "between
- opcodes", when it is safe to do so. The earlier immediate handling
- easily could corrupt the internal state of Perl, resulting in
- mysterious crashes.
-
- It's possible since perl 5.8.1 to globally disable this feature by
- using the PERL_SIGNALS environment variables (as specified in
- "PERL_SIGNALS" in perlrun); but there's no way to disable it locally,
- for a short period of time. That's however something you might want to
- do, if, for example, your Perl program calls a C routine that will
- potentially run for a long time and for which you want to set a
- timeout.
-
- This module therefore allows you to define UNSAFE_SIGNALS blocks in
- which signals will be handled "unsafely".
-
- Note that, no matter how short you make the unsafe block, it will still
- be unsafe. Use with caution."""
+ In Perl 5.8.0 the so-called "safe signals" were introduced. This means
+ that Perl no longer handles signals immediately but instead "between
+ opcodes", when it is safe to do so. The earlier immediate handling
+ easily could corrupt the internal state of Perl, resulting in
+ mysterious crashes.
+
+ It's possible since perl 5.8.1 to globally disable this feature by
+ using the PERL_SIGNALS environment variables (as specified in
+ "PERL_SIGNALS" in perlrun); but there's no way to disable it locally,
+ for a short period of time. That's however something you might want to
+ do, if, for example, your Perl program calls a C routine that will
+ potentially run for a long time and for which you want to set a
+ timeout.
+
+ This module therefore allows you to define UNSAFE_SIGNALS blocks in
+ which signals will be handled "unsafely".
+
+ Note that, no matter how short you make the unsafe block, it will still
+ be unsafe. Use with caution."""
homepage = "https://metacpan.org/pod/Perl::Unsafe::Signals"
- url = "https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Perl-Unsafe-Signals-0.03.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Perl-Unsafe-Signals-0.03.tar.gz"
- version('0.03', sha256='d311ae7d73e8d0c2346dfacb82aa952322e70cd928b09d502d739e60e35f829d')
+ version("0.03", sha256="d311ae7d73e8d0c2346dfacb82aa952322e70cd928b09d502d739e60e35f829d")
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 321b2a9e4f..1957d27be8 100644
--- a/var/spack/repos/builtin/packages/perl-perl-version/package.py
+++ b/var/spack/repos/builtin/packages/perl-perl-version/package.py
@@ -10,8 +10,8 @@ class PerlPerlVersion(PerlPackage):
"""Parse and manipulate Perl version strings"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/B/BD/BDFOY/Perl-Version-1.013_03.tar.gz"
- version('1.013_03', sha256='6b5978f598dcdf8a304500c1b7bcdce967ca05e7b38673cebfdb4237531c2ff9')
+ version("1.013_03", sha256="6b5978f598dcdf8a304500c1b7bcdce967ca05e7b38673cebfdb4237531c2ff9")
- depends_on('perl-file-slurp-tiny', type=('build', 'run'))
+ depends_on("perl-file-slurp-tiny", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-perl4-corelibs/package.py b/var/spack/repos/builtin/packages/perl-perl4-corelibs/package.py
index 32f3250482..364f63e0aa 100644
--- a/var/spack/repos/builtin/packages/perl-perl4-corelibs/package.py
+++ b/var/spack/repos/builtin/packages/perl-perl4-corelibs/package.py
@@ -11,12 +11,12 @@ class PerlPerl4Corelibs(PerlPackage):
# doesn't look like a homepage but it is
homepage = "https://metacpan.org/pod/release/ZEFRAM/Perl4-CoreLibs-0.003/lib/Perl4/CoreLibs.pm"
- url = "https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-0.003.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-0.003.tar.gz"
- version('0.004', sha256='78887e3365f8935ab00d528832e9b7a426fb684ffc5c03c20e67a217ca4ac64a')
- version('0.003', sha256='55c9b2b032944406dbaa2fd97aa3692a1ebce558effc457b4e800dabfaad9ade')
- version('0.002', sha256='c68272e8b0e37268d9fbb93f5ef5708e12e0a13bbb5a6123af3f493ea8852521')
- version('0.001', sha256='f7479f63e8b0cc344752a59f66fd084a14ee87bcc2a1f67c1a413afab8d0ad37')
- version('0.000', sha256='d8f2310ad0b0f48c8fc258a75042ebeedf47bcefb231be427761dba77e734875')
+ version("0.004", sha256="78887e3365f8935ab00d528832e9b7a426fb684ffc5c03c20e67a217ca4ac64a")
+ version("0.003", sha256="55c9b2b032944406dbaa2fd97aa3692a1ebce558effc457b4e800dabfaad9ade")
+ version("0.002", sha256="c68272e8b0e37268d9fbb93f5ef5708e12e0a13bbb5a6123af3f493ea8852521")
+ version("0.001", sha256="f7479f63e8b0cc344752a59f66fd084a14ee87bcc2a1f67c1a413afab8d0ad37")
+ version("0.000", sha256="d8f2310ad0b0f48c8fc258a75042ebeedf47bcefb231be427761dba77e734875")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
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 28db92b164..5f492203cc 100644
--- a/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py
+++ b/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py
@@ -10,8 +10,8 @@ class PerlPerl6Slurp(PerlPackage):
"""Perl6::Slurp - Implements the Perl 6 'slurp' built-in"""
homepage = "https://metacpan.org/pod/Perl6::Slurp"
- url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Perl6-Slurp-0.051005.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Perl6-Slurp-0.051005.tar.gz"
- version('0.051005', sha256='0e0ceb30495ecf64dc6cacd12113d604871104c0cfe153487b8d68bc9393d78f')
+ version("0.051005", sha256="0e0ceb30495ecf64dc6cacd12113d604871104c0cfe153487b8d68bc9393d78f")
- depends_on('perl@5.8:5', type=('build', 'run'))
+ depends_on("perl@5.8:5", type=("build", "run"))
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 99a5a987be..91a0e34335 100644
--- a/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py
+++ b/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py
@@ -10,13 +10,13 @@ class PerlPerlioGzip(PerlPackage):
"""Perl extension to provide a PerlIO layer to gzip/gunzip"""
homepage = "https://metacpan.org/pod/PerlIO::gzip"
- url = "http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.19.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.19.tar.gz"
- version('0.20', sha256='4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5')
- version('0.19', sha256='d2e9351d58b8a93c86811e25a898ee651fc393a157413652bf42f9aada2eb284')
+ version("0.20", sha256="4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5")
+ version("0.19", sha256="d2e9351d58b8a93c86811e25a898ee651fc393a157413652bf42f9aada2eb284")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def configure_args(self):
- p = self.spec['zlib'].prefix.include
- return ['INC=-I{0}'.format(p)]
+ p = self.spec["zlib"].prefix.include
+ return ["INC=-I{0}".format(p)]
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 99cb11ff74..8da57036ad 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
@@ -10,6 +10,6 @@ class PerlPerlioUtf8Strict(PerlPackage):
"""This module provides a fast and correct UTF-8 PerlIO layer."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.002.tar.gz"
- version('0.002', sha256='6e3163f8a2f1d276c975f21789d7a07843586d69e3e6156ffb67ef6680ceb75f')
+ version("0.002", sha256="6e3163f8a2f1d276c975f21789d7a07843586d69e3e6156ffb67ef6680ceb75f")
diff --git a/var/spack/repos/builtin/packages/perl-readonly/package.py b/var/spack/repos/builtin/packages/perl-readonly/package.py
index b9a0de6861..f2da131fb4 100644
--- a/var/spack/repos/builtin/packages/perl-readonly/package.py
+++ b/var/spack/repos/builtin/packages/perl-readonly/package.py
@@ -10,8 +10,8 @@ class PerlReadonly(PerlPackage):
"""Readonly - Facility for creating read-only scalars, arrays, hashes"""
homepage = "https://metacpan.org/pod/Readonly"
- url = "https://cpan.metacpan.org/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz"
- version('2.05', sha256='4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e')
+ version("2.05", sha256="4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e")
- depends_on('perl-module-build-tiny', type='build')
+ depends_on("perl-module-build-tiny", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-regexp-common/package.py b/var/spack/repos/builtin/packages/perl-regexp-common/package.py
index 70dc9cf6a6..703c138cb4 100644
--- a/var/spack/repos/builtin/packages/perl-regexp-common/package.py
+++ b/var/spack/repos/builtin/packages/perl-regexp-common/package.py
@@ -10,6 +10,8 @@ class PerlRegexpCommon(PerlPackage):
"""Regexp::Common - Provide commonly requested regular expressions"""
homepage = "https://metacpan.org/pod/Regexp::Common"
- url = "https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz"
- version('2017060201', sha256='ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b')
+ version(
+ "2017060201", sha256="ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b"
+ )
diff --git a/var/spack/repos/builtin/packages/perl-scalar-list-utils/package.py b/var/spack/repos/builtin/packages/perl-scalar-list-utils/package.py
index 3327398ea4..f1d187f52e 100644
--- a/var/spack/repos/builtin/packages/perl-scalar-list-utils/package.py
+++ b/var/spack/repos/builtin/packages/perl-scalar-list-utils/package.py
@@ -10,6 +10,6 @@ class PerlScalarListUtils(PerlPackage):
"""Scalar::Util - A selection of general-utility scalar subroutines"""
homepage = "https://metacpan.org/pod/Scalar::Util"
- url = "https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.50.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.50.tar.gz"
- version('1.50', sha256='06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675')
+ version("1.50", sha256="06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675")
diff --git a/var/spack/repos/builtin/packages/perl-scalar-util-numeric/package.py b/var/spack/repos/builtin/packages/perl-scalar-util-numeric/package.py
index 601e2b1e3d..d3edf2b8a4 100644
--- a/var/spack/repos/builtin/packages/perl-scalar-util-numeric/package.py
+++ b/var/spack/repos/builtin/packages/perl-scalar-util-numeric/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class PerlScalarUtilNumeric(PerlPackage):
"""This module exports a number of wrappers around perl's builtin grok_number
- function, which returns the numeric type of its argument, or 0 if it
- isn't numeric."""
+ function, which returns the numeric type of its argument, or 0 if it
+ isn't numeric."""
homepage = "https://metacpan.org/pod/Scalar::Util::Numeric"
- url = "https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/Scalar-Util-Numeric-0.40.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/Scalar-Util-Numeric-0.40.tar.gz"
- version('0.40', sha256='d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440')
+ version("0.40", sha256="d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440")
diff --git a/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py b/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py
index 26ccea4814..9355caa62a 100644
--- a/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py
+++ b/var/spack/repos/builtin/packages/perl-set-intervaltree/package.py
@@ -11,8 +11,8 @@ class PerlSetIntervaltree(PerlPackage):
ranges using a range-based lookup."""
homepage = "https://metacpan.org/release/Set-IntervalTree"
- url = "https://cpan.metacpan.org/authors/id/B/BE/BENBOOTH/Set-IntervalTree-0.10.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/B/BE/BENBOOTH/Set-IntervalTree-0.10.tar.gz"
- version('0.10', sha256='e3bd9ccf0d074b5f879eef1ed88254983697bf83d02744fce62150ee46553ebc')
+ version("0.10", sha256="e3bd9ccf0d074b5f879eef1ed88254983697bf83d02744fce62150ee46553ebc")
- depends_on('perl-extutils-makemaker', type='build')
+ depends_on("perl-extutils-makemaker", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-set-intspan/package.py b/var/spack/repos/builtin/packages/perl-set-intspan/package.py
index 3467181452..1414edad92 100644
--- a/var/spack/repos/builtin/packages/perl-set-intspan/package.py
+++ b/var/spack/repos/builtin/packages/perl-set-intspan/package.py
@@ -10,6 +10,6 @@ class PerlSetIntspan(PerlPackage):
"""Set::IntSpan - Manages sets of integers"""
homepage = "https://metacpan.org/pod/Set::IntSpan"
- url = "https://cpan.metacpan.org/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz"
- version('1.19', sha256='11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0')
+ version("1.19", sha256="11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0")
diff --git a/var/spack/repos/builtin/packages/perl-set-scalar/package.py b/var/spack/repos/builtin/packages/perl-set-scalar/package.py
index 8deb551860..28f9cbc311 100644
--- a/var/spack/repos/builtin/packages/perl-set-scalar/package.py
+++ b/var/spack/repos/builtin/packages/perl-set-scalar/package.py
@@ -10,6 +10,6 @@ class PerlSetScalar(PerlPackage):
"""Set::Scalar - basic set operations"""
homepage = "https://metacpan.org/pod/Set::Scalar"
- url = "https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz"
- version('1.29', sha256='a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d')
+ version("1.29", sha256="a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d")
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 833bb64aea..3edbf099d5 100644
--- a/var/spack/repos/builtin/packages/perl-soap-lite/package.py
+++ b/var/spack/repos/builtin/packages/perl-soap-lite/package.py
@@ -10,14 +10,14 @@ class PerlSoapLite(PerlPackage):
"""Perl's Web Services Toolkit"""
homepage = "https://metacpan.org/pod/SOAP::Lite"
- url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/SOAP-Lite-1.22.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/SOAP-Lite-1.22.tar.gz"
- version('1.22', sha256='92f492f8722cb3002cd1dce11238cee5599bb5bd451a062966df45223d33693a')
+ version("1.22", sha256="92f492f8722cb3002cd1dce11238cee5599bb5bd451a062966df45223d33693a")
- depends_on('perl-io-sessiondata', type=('build', 'run'))
- depends_on('perl-lwp-protocol-https', type=('build', 'run'))
- depends_on('perl-task-weaken', type=('build', 'run'))
- depends_on('perl-xml-parser-lite', type=('build', 'run'))
- depends_on('perl-xml-parser', type=('build', 'run'))
- depends_on('perl-test-warn', type=('build', 'run'))
- depends_on('perl-class-inspector', type=('build', 'run'))
+ depends_on("perl-io-sessiondata", type=("build", "run"))
+ depends_on("perl-lwp-protocol-https", type=("build", "run"))
+ depends_on("perl-task-weaken", type=("build", "run"))
+ depends_on("perl-xml-parser-lite", type=("build", "run"))
+ depends_on("perl-xml-parser", type=("build", "run"))
+ depends_on("perl-test-warn", type=("build", "run"))
+ depends_on("perl-class-inspector", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-star-fusion/package.py b/var/spack/repos/builtin/packages/perl-star-fusion/package.py
index 2f5b5a2862..4932c8cc6f 100644
--- a/var/spack/repos/builtin/packages/perl-star-fusion/package.py
+++ b/var/spack/repos/builtin/packages/perl-star-fusion/package.py
@@ -15,21 +15,21 @@ class PerlStarFusion(Package):
and spanning reads to a reference annotation set."""
homepage = "https://github.com/STAR-Fusion/STAR-Fusion"
- git = "https://github.com/STAR-Fusion/STAR-Fusion.git"
+ git = "https://github.com/STAR-Fusion/STAR-Fusion.git"
- version('master', commit='8c5a541')
+ version("master", commit="8c5a541")
- extends('perl')
+ extends("perl")
- depends_on('star', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-set-intervaltree', type=('build', 'run'))
- depends_on('perl-dbi', type=('build', 'run'))
- depends_on('perl-db-file', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
+ depends_on("star", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-set-intervaltree", type=("build", "run"))
+ depends_on("perl-dbi", type=("build", "run"))
+ depends_on("perl-db-file", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(perl_lib_dir)
- install(join_path('PerlLib', '*.pm'), perl_lib_dir)
- install_tree('util', prefix.bin)
- install('STAR-Fusion', prefix.bin)
+ install(join_path("PerlLib", "*.pm"), perl_lib_dir)
+ install_tree("util", prefix.bin)
+ install("STAR-Fusion", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/perl-statistics-basic/package.py b/var/spack/repos/builtin/packages/perl-statistics-basic/package.py
index e85800a87b..645905a32d 100644
--- a/var/spack/repos/builtin/packages/perl-statistics-basic/package.py
+++ b/var/spack/repos/builtin/packages/perl-statistics-basic/package.py
@@ -10,9 +10,9 @@ class PerlStatisticsBasic(PerlPackage):
"""Statistics::Basic - A collection of very basic statistics modules"""
homepage = "https://metacpan.org/pod/distribution/Statistics-Basic/lib/Statistics/Basic.pod"
- url = "https://cpan.metacpan.org/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz"
- version('1.6611', sha256='6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb')
+ version("1.6611", sha256="6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb")
- depends_on('perl-number-format', type=('build', 'run'))
- depends_on('perl-scalar-list-utils', type=('build', 'run'))
+ depends_on("perl-number-format", type=("build", "run"))
+ depends_on("perl-scalar-list-utils", type=("build", "run"))
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 5b9141cf89..397c7b9044 100644
--- a/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py
+++ b/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py
@@ -10,6 +10,8 @@ class PerlStatisticsDescriptive(PerlPackage):
"""Module of basic descriptive statistical functions."""
homepage = "https://metacpan.org/pod/Statistics::Descriptive"
- url = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0612.tar.gz"
+ url = (
+ "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0612.tar.gz"
+ )
- version('3.0612', sha256='772413148e5e00efb32f277c4254aa78b9112490a896208dcd0025813afdbf7a')
+ 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 cd15ea3b15..5f57b5272f 100644
--- a/var/spack/repos/builtin/packages/perl-statistics-pca/package.py
+++ b/var/spack/repos/builtin/packages/perl-statistics-pca/package.py
@@ -10,11 +10,11 @@ class PerlStatisticsPca(PerlPackage):
"""A simple Perl implementation of Principal Component Analysis."""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DS/DSTH/Statistics-PCA-0.0.1.tar.gz"
- version('0.0.1', sha256='f8adb10b00232123d103a5b49161ad46370f47fe0f752e5462a4dc15f9d46bc4')
+ version("0.0.1", sha256="f8adb10b00232123d103a5b49161ad46370f47fe0f752e5462a4dc15f9d46bc4")
- depends_on('perl-module-build', type='build')
- depends_on('perl-contextual-return', type=('build', 'run'))
- depends_on('perl-text-simpletable', type=('build', 'run'))
- depends_on('perl-math-matrixreal', type=('build', 'run'))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-contextual-return", type=("build", "run"))
+ depends_on("perl-text-simpletable", type=("build", "run"))
+ depends_on("perl-math-matrixreal", type=("build", "run"))
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 0e28886ae4..99b40c256e 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
@@ -10,6 +10,8 @@ class PerlSubExporterProgressive(PerlPackage):
"""Progressive Sub::Exporter"""
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"
+ url = (
+ "http://search.cpan.org/CPAN/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz"
+ )
- version('0.001013', sha256='d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056')
+ 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 c71d47b074..a01c8fa32f 100644
--- a/var/spack/repos/builtin/packages/perl-sub-exporter/package.py
+++ b/var/spack/repos/builtin/packages/perl-sub-exporter/package.py
@@ -10,9 +10,9 @@ class PerlSubExporter(PerlPackage):
"""A sophisticated exporter for custom-built routines"""
homepage = "https://metacpan.org/pod/Sub::Exporter"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz"
- version('0.987', sha256='543cb2e803ab913d44272c7da6a70bb62c19e467f3b12aaac4c9523259b083d6')
+ version("0.987", sha256="543cb2e803ab913d44272c7da6a70bb62c19e467f3b12aaac4c9523259b083d6")
- depends_on('perl-params-util', type=('build', 'run'))
- depends_on('perl-data-optlist', type=('build', 'run'))
+ depends_on("perl-params-util", type=("build", "run"))
+ depends_on("perl-data-optlist", type=("build", "run"))
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 b75df47965..108b2b89bc 100644
--- a/var/spack/repos/builtin/packages/perl-sub-identify/package.py
+++ b/var/spack/repos/builtin/packages/perl-sub-identify/package.py
@@ -10,6 +10,6 @@ class PerlSubIdentify(PerlPackage):
"""Retrieve names of code references"""
homepage = "https://metacpan.org/pod/Sub::Identify"
- url = "http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz"
- version('0.14', sha256='068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f')
+ 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 efb136ccb1..02a48aa94e 100644
--- a/var/spack/repos/builtin/packages/perl-sub-install/package.py
+++ b/var/spack/repos/builtin/packages/perl-sub-install/package.py
@@ -10,6 +10,6 @@ class PerlSubInstall(PerlPackage):
"""Install subroutines into packages easily"""
homepage = "https://metacpan.org/pod/Sub::Install"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz"
- version('0.928', sha256='61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f')
+ 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 f443ab27c3..6a33570d41 100644
--- a/var/spack/repos/builtin/packages/perl-sub-name/package.py
+++ b/var/spack/repos/builtin/packages/perl-sub-name/package.py
@@ -10,6 +10,6 @@ class PerlSubName(PerlPackage):
"""Name or rename a sub"""
homepage = "https://metacpan.org/pod/Sub::Name"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Sub-Name-0.21.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Sub-Name-0.21.tar.gz"
- version('0.21', sha256='bd32e9dee07047c10ae474c9f17d458b6e9885a6db69474c7a494ccc34c27117')
+ 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 2289fcf86c..bfe257638b 100644
--- a/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py
+++ b/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py
@@ -10,6 +10,6 @@ class PerlSubUplevel(PerlPackage):
"""apparently run a function in a higher stack frame"""
homepage = "https://metacpan.org/pod/Sub::Uplevel"
- url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz"
- version('0.2800', sha256='b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293')
+ 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 7e7e16b063..90f4b4f80f 100644
--- a/var/spack/repos/builtin/packages/perl-svg/package.py
+++ b/var/spack/repos/builtin/packages/perl-svg/package.py
@@ -7,10 +7,9 @@ from spack.package import *
class PerlSvg(PerlPackage):
- """Perl extension for generating Scalable Vector Graphics (SVG) documents.
- """
+ """Perl extension for generating Scalable Vector Graphics (SVG) documents."""
homepage = "https://metacpan.org/pod/SVG"
- url = "http://search.cpan.org/CPAN/authors/id/M/MA/MANWAR/SVG-2.78.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/M/MA/MANWAR/SVG-2.78.tar.gz"
- version('2.78', sha256='a665c1f18c0529f3da0f4b631976eb47e0f71f6d6784ef3f44d32fd76643d6bb')
+ version("2.78", sha256="a665c1f18c0529f3da0f4b631976eb47e0f71f6d6784ef3f44d32fd76643d6bb")
diff --git a/var/spack/repos/builtin/packages/perl-swissknife/package.py b/var/spack/repos/builtin/packages/perl-swissknife/package.py
index c1e0d3d7f6..25bd26d994 100644
--- a/var/spack/repos/builtin/packages/perl-swissknife/package.py
+++ b/var/spack/repos/builtin/packages/perl-swissknife/package.py
@@ -10,8 +10,8 @@ class PerlSwissknife(PerlPackage):
"""An object-oriented Perl library to handle Swiss-Prot entries"""
homepage = "http://swissknife.sourceforge.net"
- url = "https://downloads.sourceforge.net/project/swissknife/swissknife/1.75/Swissknife_1.75.tar.gz"
+ url = "https://downloads.sourceforge.net/project/swissknife/swissknife/1.75/Swissknife_1.75.tar.gz"
- version('1.75', sha256='3d9af0d71366c90698488f6dae54118e6a4dba087b3c33d1bfa8245663cba53a')
+ version("1.75", sha256="3d9af0d71366c90698488f6dae54118e6a4dba087b3c33d1bfa8245663cba53a")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py b/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py
index 6fe575fc6b..4455309a52 100644
--- a/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py
+++ b/var/spack/repos/builtin/packages/perl-sys-sigaction/package.py
@@ -23,6 +23,6 @@ class PerlSysSigaction(PerlPackage):
perl 5.8.0 implementation was modified further in version 5.8.2"""
homepage = "https://metacpan.org/pod/Sys::SigAction"
- url = "https://cpan.metacpan.org/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz"
- version('0.23', sha256='c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353')
+ version("0.23", sha256="c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353")
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 878ccf217d..6de1930498 100644
--- a/var/spack/repos/builtin/packages/perl-task-weaken/package.py
+++ b/var/spack/repos/builtin/packages/perl-task-weaken/package.py
@@ -10,6 +10,6 @@ class PerlTaskWeaken(PerlPackage):
"""Ensure that a platform has weaken support"""
homepage = "https://metacpan.org/pod/Task::Weaken"
- url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz"
- version('1.04', sha256='67e271c55900fe7889584f911daa946e177bb60c8af44c32f4584b87766af3c4')
+ version("1.04", sha256="67e271c55900fe7889584f911daa946e177bb60c8af44c32f4584b87766af3c4")
diff --git a/var/spack/repos/builtin/packages/perl-term-readline-gnu/package.py b/var/spack/repos/builtin/packages/perl-term-readline-gnu/package.py
index 58c7e74c86..00a431ad1e 100644
--- a/var/spack/repos/builtin/packages/perl-term-readline-gnu/package.py
+++ b/var/spack/repos/builtin/packages/perl-term-readline-gnu/package.py
@@ -9,8 +9,8 @@ class PerlTermReadlineGnu(PerlPackage):
"""Perl extension for the GNU Readline/History Library."""
homepage = "https://metacpan.org/pod/Term::ReadLine::Gnu"
- url = "https://cpan.metacpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.36.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.36.tar.gz"
- version('1.36', sha256='9a08f7a4013c9b865541c10dbba1210779eb9128b961250b746d26702bab6925')
+ version("1.36", sha256="9a08f7a4013c9b865541c10dbba1210779eb9128b961250b746d26702bab6925")
- depends_on('readline')
+ depends_on("readline")
diff --git a/var/spack/repos/builtin/packages/perl-termreadkey/package.py b/var/spack/repos/builtin/packages/perl-termreadkey/package.py
index 3b41f026d5..bc957c8167 100644
--- a/var/spack/repos/builtin/packages/perl-termreadkey/package.py
+++ b/var/spack/repos/builtin/packages/perl-termreadkey/package.py
@@ -18,5 +18,5 @@ class PerlTermreadkey(PerlPackage):
homepage = "https://metacpan.org/pod/Term::ReadKey"
url = "https://www.cpan.org/authors/id/J/JS/JSTOWE/TermReadKey-2.37.tar.gz"
- version('2.38', sha256='5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290')
- version('2.37', sha256='4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241')
+ version("2.38", sha256="5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290")
+ version("2.37", sha256="4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241")
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 dfcfaf1177..dce3d2aaab 100644
--- a/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class PerlTestCleannamespaces(PerlPackage):
"""This module lets you check your module's namespaces for imported
- functions you might have forgotten to remove"""
+ functions you might have forgotten to remove"""
homepage = "https://metacpan.org/pod/Test::CleanNamespaces"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.22.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.22.tar.gz"
- version('0.22', sha256='862a221994dd413b2f350450f22c96f57cac78784b1aca1a8fc763fc5449aaca')
+ version("0.22", sha256="862a221994dd413b2f350450f22c96f57cac78784b1aca1a8fc763fc5449aaca")
- depends_on('perl-sub-exporter', type=('build', 'run'))
- depends_on('perl-module-runtime', type=('build', 'run'))
- depends_on('perl-test-needs', type=('build', 'run'))
- depends_on('perl-test-deep', type=('build', 'run'))
- depends_on('perl-test-warnings', type=('build', 'run'))
- depends_on('perl-file-pushd', type=('build', 'run'))
- depends_on('perl-package-stash', type=('build', 'run'))
- depends_on('perl-sub-identify', type=('build', 'run'))
- depends_on('perl-namespace-clean', type=('build', 'run'))
+ depends_on("perl-sub-exporter", type=("build", "run"))
+ depends_on("perl-module-runtime", type=("build", "run"))
+ depends_on("perl-test-needs", type=("build", "run"))
+ depends_on("perl-test-deep", type=("build", "run"))
+ depends_on("perl-test-warnings", type=("build", "run"))
+ depends_on("perl-file-pushd", type=("build", "run"))
+ depends_on("perl-package-stash", type=("build", "run"))
+ depends_on("perl-sub-identify", type=("build", "run"))
+ depends_on("perl-namespace-clean", type=("build", "run"))
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 30348a4642..4ad969170f 100644
--- a/var/spack/repos/builtin/packages/perl-test-deep/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-deep/package.py
@@ -10,6 +10,6 @@ class PerlTestDeep(PerlPackage):
"""Extremely flexible deep comparison"""
homepage = "https://metacpan.org/pod/Test::Deep"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Deep-1.127.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Deep-1.127.tar.gz"
- version('1.127', sha256='b78cfc59c41ba91f47281e2c1d2bfc4b3b1b42bfb76b4378bc88cc37b7af7268')
+ 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 657caf4659..b0f0f7c82a 100644
--- a/var/spack/repos/builtin/packages/perl-test-differences/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-differences/package.py
@@ -10,10 +10,10 @@ class PerlTestDifferences(PerlPackage):
"""Test strings and data structures and show differences if not ok"""
homepage = "https://metacpan.org/pod/Test::Differences"
- url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCANTRELL/Test-Differences-0.64.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCANTRELL/Test-Differences-0.64.tar.gz"
- version('0.64', sha256='9f459dd9c2302a0a73e2f5528a0ce7d09d6766f073187ae2c69e603adf2eb276')
+ version("0.64", sha256="9f459dd9c2302a0a73e2f5528a0ce7d09d6766f073187ae2c69e603adf2eb276")
- depends_on('perl-module-build', type='build')
- depends_on('perl-capture-tiny', type=('build', 'run'))
- depends_on('perl-text-diff', type=('build', 'run'))
+ depends_on("perl-module-build", type="build")
+ depends_on("perl-capture-tiny", type=("build", "run"))
+ depends_on("perl-text-diff", type=("build", "run"))
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 643fc83c4b..e06f7fbd24 100644
--- a/var/spack/repos/builtin/packages/perl-test-exception/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-exception/package.py
@@ -10,8 +10,8 @@ class PerlTestException(PerlPackage):
"""Test exception-based code"""
homepage = "https://metacpan.org/pod/Test::Exception"
- url = "http://search.cpan.org/CPAN/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz"
- version('0.43', sha256='156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533')
+ version("0.43", sha256="156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533")
- depends_on('perl-sub-uplevel', type=('build', 'run'))
+ depends_on("perl-sub-uplevel", type=("build", "run"))
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 d336e560ed..6aac191a01 100644
--- a/var/spack/repos/builtin/packages/perl-test-fatal/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-fatal/package.py
@@ -10,8 +10,8 @@ class PerlTestFatal(PerlPackage):
"""Incredibly simple helpers for testing code with exceptions"""
homepage = "https://metacpan.org/pod/Test::Fatal"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz"
- version('0.014', sha256='bcdcef5c7b2790a187ebca810b0a08221a63256062cfab3c3b98685d91d1cbb0')
+ version("0.014", sha256="bcdcef5c7b2790a187ebca810b0a08221a63256062cfab3c3b98685d91d1cbb0")
- depends_on('perl-try-tiny', type=('build', 'run'))
+ depends_on("perl-try-tiny", type=("build", "run"))
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 f66e9f7f22..6b7925030b 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
@@ -10,9 +10,9 @@ class PerlTestMemoryCycle(PerlPackage):
"""Check for memory leaks and circular memory references"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz"
- version('1.06', sha256='9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202')
+ version("1.06", sha256="9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202")
- depends_on('perl-padwalker', type=('build', 'run'))
- depends_on('perl-devel-cycle', type=('build', 'run'))
+ depends_on("perl-padwalker", type=("build", "run"))
+ depends_on("perl-devel-cycle", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-test-more/package.py b/var/spack/repos/builtin/packages/perl-test-more/package.py
index d3b293ce98..8ebb094cfb 100644
--- a/var/spack/repos/builtin/packages/perl-test-more/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-more/package.py
@@ -11,9 +11,9 @@ class PerlTestMore(PerlPackage):
completely refactoring it, adding many new features and capabilities."""
homepage = "https://github.com/Test-More/test-more"
- url = "https://github.com/Test-More/test-more/archive/v1.302183.tar.gz"
+ url = "https://github.com/Test-More/test-more/archive/v1.302183.tar.gz"
- version('1.302183', sha256='1356ec24c5ab3f7ad8327091ddc6ace164a27767be10325776bf9743360ab4f7')
- version('1.302182', sha256='60727db9435cb244f6dcf4ca598c8ef39ac3035a0c36fd5c9c5b89be4f138366')
- version('1.302181', sha256='acb3c990d646928e7571c140510d7424716d3281c4064b1787294e72b39f61ce')
- version('1.302180', sha256='4dbed31e9434d74427b41a17ca3e0511a81ee5cb1240408c7f439c6449672a20')
+ version("1.302183", sha256="1356ec24c5ab3f7ad8327091ddc6ace164a27767be10325776bf9743360ab4f7")
+ version("1.302182", sha256="60727db9435cb244f6dcf4ca598c8ef39ac3035a0c36fd5c9c5b89be4f138366")
+ version("1.302181", sha256="acb3c990d646928e7571c140510d7424716d3281c4064b1787294e72b39f61ce")
+ version("1.302180", sha256="4dbed31e9434d74427b41a17ca3e0511a81ee5cb1240408c7f439c6449672a20")
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 83081448fe..bc061c65dc 100644
--- a/var/spack/repos/builtin/packages/perl-test-most/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-most/package.py
@@ -10,12 +10,12 @@ class PerlTestMost(PerlPackage):
"""Most commonly needed test functions and features."""
homepage = "https://metacpan.org/pod/Test::Most"
- url = "http://search.cpan.org/CPAN/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz"
- version('0.35', sha256='9897a6f4d751598d2ed1047e01c1554b01d0f8c96c45e7e845229782bf6f657f')
+ version("0.35", sha256="9897a6f4d751598d2ed1047e01c1554b01d0f8c96c45e7e845229782bf6f657f")
- depends_on('perl-exception-class', type=('build', 'run'))
- depends_on('perl-test-differences', type=('build', 'run'))
- depends_on('perl-test-exception', type=('build', 'run'))
- depends_on('perl-test-warn', type=('build', 'run'))
- depends_on('perl-test-deep', type=('build', 'run'))
+ depends_on("perl-exception-class", type=("build", "run"))
+ depends_on("perl-test-differences", type=("build", "run"))
+ depends_on("perl-test-exception", type=("build", "run"))
+ depends_on("perl-test-warn", type=("build", "run"))
+ depends_on("perl-test-deep", type=("build", "run"))
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 b2f655d324..e6431af79e 100644
--- a/var/spack/repos/builtin/packages/perl-test-needs/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-needs/package.py
@@ -10,6 +10,6 @@ class PerlTestNeeds(PerlPackage):
"""Skip tests when modules not available."""
homepage = "https://metacpan.org/pod/Test::Needs"
- url = "https://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Test-Needs-0.002005.tar.gz"
+ url = "https://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Test-Needs-0.002005.tar.gz"
- version('0.002005', sha256='5a4f33983586edacdbe00a3b429a9834190140190dab28d0f873c394eb7df399')
+ version("0.002005", sha256="5a4f33983586edacdbe00a3b429a9834190140190dab28d0f873c394eb7df399")
diff --git a/var/spack/repos/builtin/packages/perl-test-output/package.py b/var/spack/repos/builtin/packages/perl-test-output/package.py
index 9550481a33..b4d2bd7334 100644
--- a/var/spack/repos/builtin/packages/perl-test-output/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-output/package.py
@@ -10,11 +10,11 @@ class PerlTestOutput(PerlPackage):
"""Test::Output - Utilities to test STDOUT and STDERR messages."""
homepage = "https://github.com/briandfoy/test-output"
- url = "https://github.com/briandfoy/test-output/archive/release-1.033.tar.gz"
+ url = "https://github.com/briandfoy/test-output/archive/release-1.033.tar.gz"
- version('1.033', sha256='35f0a4ef2449fc78886b4c99e1c1d23f432c2fae98538a4489439eb17223bfc2')
- version('1.032', sha256='8b87e16b40199c9d62f07a821e1ff17a2701e42adffb281a649ed631823d5771')
- version('1.031', sha256='1bb5847f26bee90e71b0af2a9d3a5eec4e17a63aacaf18ce5215f350961c5bf7')
- version('1.03', sha256='cac7c9664105764f5845cb48bf7e5b2da806009d33360dab6a615c6dcfe7ca19')
- version('1.02_01', sha256='fd762b929555b93ca7de05bbd02195c09019faf60d63e38cfca3bdf87dfadb56')
- version('1.02', sha256='088a25e5802579e6d3e6669da4228b8897d1372a02998a6bf7435f22688d2e56')
+ version("1.033", sha256="35f0a4ef2449fc78886b4c99e1c1d23f432c2fae98538a4489439eb17223bfc2")
+ version("1.032", sha256="8b87e16b40199c9d62f07a821e1ff17a2701e42adffb281a649ed631823d5771")
+ version("1.031", sha256="1bb5847f26bee90e71b0af2a9d3a5eec4e17a63aacaf18ce5215f350961c5bf7")
+ version("1.03", sha256="cac7c9664105764f5845cb48bf7e5b2da806009d33360dab6a615c6dcfe7ca19")
+ version("1.02_01", sha256="fd762b929555b93ca7de05bbd02195c09019faf60d63e38cfca3bdf87dfadb56")
+ version("1.02", sha256="088a25e5802579e6d3e6669da4228b8897d1372a02998a6bf7435f22688d2e56")
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 da5614d09f..b6109c2ce9 100644
--- a/var/spack/repos/builtin/packages/perl-test-requires/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-requires/package.py
@@ -10,6 +10,6 @@ class PerlTestRequires(PerlPackage):
"""Checks to see if the module can be loaded."""
homepage = "https://metacpan.org/pod/Test::Requires"
- url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-Requires-0.10.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-Requires-0.10.tar.gz"
- version('0.10', sha256='2768a391d50ab94b95cefe540b9232d7046c13ee86d01859e04c044903222eb5')
+ 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 9666c7fc6b..dadcb53093 100644
--- a/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py
@@ -10,6 +10,6 @@ class PerlTestRequiresinternet(PerlPackage):
"""Easily test network connectivity"""
homepage = "https://metacpan.org/pod/Test::RequiresInternet"
- url = "http://search.cpan.org/CPAN/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz"
- version('0.05', sha256='bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e')
+ 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 c9ddccefc0..ac6c1871ca 100644
--- a/var/spack/repos/builtin/packages/perl-test-warn/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-warn/package.py
@@ -10,6 +10,6 @@ class PerlTestWarn(PerlPackage):
"""Perl extension to test methods for warnings"""
homepage = "https://metacpan.org/pod/Test::Warn"
- url = "http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz"
- version('0.30', sha256='8197555b94189d919349a03f7058f83861f145af9bee59f505bfe47562144e41')
+ version("0.30", sha256="8197555b94189d919349a03f7058f83861f145af9bee59f505bfe47562144e41")
diff --git a/var/spack/repos/builtin/packages/perl-test-warnings/package.py b/var/spack/repos/builtin/packages/perl-test-warnings/package.py
index 2986281c09..eb5a59a355 100644
--- a/var/spack/repos/builtin/packages/perl-test-warnings/package.py
+++ b/var/spack/repos/builtin/packages/perl-test-warnings/package.py
@@ -10,6 +10,6 @@ class PerlTestWarnings(PerlPackage):
"""Test for warnings and the lack of them"""
homepage = "http://deps.cpantesters.org/?module=Test%3A%3ACleanNamespaces;perl=latest"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Warnings-0.026.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Warnings-0.026.tar.gz"
- version('0.026', sha256='ae2b68b1b5616704598ce07f5118efe42dc4605834453b7b2be14e26f9cc9a08')
+ version("0.026", sha256="ae2b68b1b5616704598ce07f5118efe42dc4605834453b7b2be14e26f9cc9a08")
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 e0eec412f1..292a692457 100644
--- a/var/spack/repos/builtin/packages/perl-text-csv/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-csv/package.py
@@ -10,6 +10,6 @@ class PerlTextCsv(PerlPackage):
"""Comma-separated values manipulator (using XS or PurePerl)"""
homepage = "https://metacpan.org/pod/Text::CSV"
- url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/Text-CSV-1.95.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/Text-CSV-1.95.tar.gz"
- version('1.95', sha256='7e0a11d9c1129a55b68a26aa4b37c894279df255aa63ec8341d514ab848dbf61')
+ 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 1af5e008a8..68e333d9df 100644
--- a/var/spack/repos/builtin/packages/perl-text-diff/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-diff/package.py
@@ -10,8 +10,8 @@ class PerlTextDiff(PerlPackage):
"""Provides a basic set of services akin to the GNU diff utility."""
homepage = "https://metacpan.org/pod/Text::Diff"
- url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz"
- version('1.45', sha256='e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04')
+ version("1.45", sha256="e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04")
- depends_on('perl-algorithm-diff', type=('build', 'run'))
+ depends_on("perl-algorithm-diff", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-text-format/package.py b/var/spack/repos/builtin/packages/perl-text-format/package.py
index cc0dffb5c1..ad64c0b919 100644
--- a/var/spack/repos/builtin/packages/perl-text-format/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-format/package.py
@@ -10,8 +10,8 @@ class PerlTextFormat(PerlPackage):
"""Text::Format - Various subroutines to format text"""
homepage = "https://metacpan.org/pod/Text::Format"
- url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Text-Format-0.61.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Text-Format-0.61.tar.gz"
- version('0.61', sha256='bb8a3b8ff515c85101baf553a769337f944a05cde81f111ae78aff416bf4ae2b')
+ version("0.61", sha256="bb8a3b8ff515c85101baf553a769337f944a05cde81f111ae78aff416bf4ae2b")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
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 990d2d0b6a..f22c32f2d4 100644
--- a/var/spack/repos/builtin/packages/perl-text-simpletable/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-simpletable/package.py
@@ -10,6 +10,6 @@ class PerlTextSimpletable(PerlPackage):
"""Simple Eyecandy ASCII Tables"""
homepage = "https://metacpan.org/pod/Text::SimpleTable"
- url = "http://search.cpan.org/CPAN/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.04.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.04.tar.gz"
- version('2.04', sha256='8d82f3140b1453b962956b7855ba288d435e7f656c3c40ced4e3e8e359ab5293')
+ 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 65f3e0b83c..71f6c3a1ac 100644
--- a/var/spack/repos/builtin/packages/perl-text-soundex/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-soundex/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PerlTextSoundex(PerlPackage):
"""Soundex is a phonetic algorithm for indexing names by sound, as
- pronounced in English. The goal is for names with the same
- pronunciation to be encoded to the same representation so
- that they can be matched despite minor differences in spelling"""
+ pronounced in English. The goal is for names with the same
+ pronunciation to be encoded to the same representation so
+ that they can be matched despite minor differences in spelling"""
homepage = "https://metacpan.org/pod/Text::Soundex"
- url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz"
- version('3.05', sha256='f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed')
+ 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 53fda5f534..f8c70bf292 100644
--- a/var/spack/repos/builtin/packages/perl-text-unidecode/package.py
+++ b/var/spack/repos/builtin/packages/perl-text-unidecode/package.py
@@ -10,6 +10,6 @@ class PerlTextUnidecode(PerlPackage):
"""plain ASCII transliterations of Unicode text"""
homepage = "https://metacpan.org/pod/Text::Unidecode"
- url = "http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz"
- version('1.30', sha256='6c24f14ddc1d20e26161c207b73ca184eed2ef57f08b5fb2ee196e6e2e88b1c6')
+ version("1.30", sha256="6c24f14ddc1d20e26161c207b73ca184eed2ef57f08b5fb2ee196e6e2e88b1c6")
diff --git a/var/spack/repos/builtin/packages/perl-thread-queue/package.py b/var/spack/repos/builtin/packages/perl-thread-queue/package.py
index f41d27c172..7266776969 100644
--- a/var/spack/repos/builtin/packages/perl-thread-queue/package.py
+++ b/var/spack/repos/builtin/packages/perl-thread-queue/package.py
@@ -13,6 +13,6 @@ class PerlThreadQueue(PerlPackage):
any number of threads."""
homepage = "https://metacpan.org/pod/Thread::Queue"
- url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/Thread-Queue-3.13.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/Thread-Queue-3.13.tar.gz"
- version('3.13', sha256='6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8')
+ version("3.13", sha256="6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8")
diff --git a/var/spack/repos/builtin/packages/perl-threads/package.py b/var/spack/repos/builtin/packages/perl-threads/package.py
index 23add26727..6fcd45c353 100644
--- a/var/spack/repos/builtin/packages/perl-threads/package.py
+++ b/var/spack/repos/builtin/packages/perl-threads/package.py
@@ -10,6 +10,6 @@ class PerlThreads(PerlPackage):
"""threads - Perl interpreter-based threads"""
homepage = "https://metacpan.org/pod/threads"
- url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/threads-2.21.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN/threads-2.21.tar.gz"
- version('2.21', sha256='28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110')
+ version("2.21", sha256="28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110")
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 b816217509..ae83d4564b 100644
--- a/var/spack/repos/builtin/packages/perl-time-hires/package.py
+++ b/var/spack/repos/builtin/packages/perl-time-hires/package.py
@@ -10,6 +10,6 @@ class PerlTimeHires(PerlPackage):
"""High resolution alarm, sleep, gettimeofday, interval timers"""
homepage = "https://metacpan.org/pod/Time::HiRes"
- url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9746.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9746.tar.gz"
- version('1.9746', sha256='89408c81bb827bc908c98eec50071e6e1158f38fa462865ecc3dc03aebf5f596')
+ 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 c3a6c3ba96..726a16d2b0 100644
--- a/var/spack/repos/builtin/packages/perl-time-piece/package.py
+++ b/var/spack/repos/builtin/packages/perl-time-piece/package.py
@@ -10,6 +10,6 @@ class PerlTimePiece(PerlPackage):
"""Object Oriented time objects"""
homepage = "https://metacpan.org/pod/Time::Piece"
- url = "http://search.cpan.org/CPAN/authors/id/E/ES/ESAYM/Time-Piece-1.3203.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ES/ESAYM/Time-Piece-1.3203.tar.gz"
- version('1.3203', sha256='6971faf6476e4f715a5b5336f0a97317f36e7880fcca6c4db7c3e38e764a6f41')
+ version("1.3203", sha256="6971faf6476e4f715a5b5336f0a97317f36e7880fcca6c4db7c3e38e764a6f41")
diff --git a/var/spack/repos/builtin/packages/perl-timedate/package.py b/var/spack/repos/builtin/packages/perl-timedate/package.py
index ec94ce45a9..1669790fe6 100644
--- a/var/spack/repos/builtin/packages/perl-timedate/package.py
+++ b/var/spack/repos/builtin/packages/perl-timedate/package.py
@@ -12,6 +12,6 @@ class PerlTimedate(PerlPackage):
modules by David Muir on CPAN."""
homepage = "https://metacpan.org/release/TimeDate"
- url = "https://cpan.metacpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz"
- version('2.30', sha256='75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86')
+ version("2.30", sha256="75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86")
diff --git a/var/spack/repos/builtin/packages/perl-tk/package.py b/var/spack/repos/builtin/packages/perl-tk/package.py
index d674185e0d..17aafb44cf 100644
--- a/var/spack/repos/builtin/packages/perl-tk/package.py
+++ b/var/spack/repos/builtin/packages/perl-tk/package.py
@@ -10,15 +10,15 @@ class PerlTk(PerlPackage):
"""Interface to Tk Graphics Library"""
homepage = "https://metacpan.org/pod/distribution/Tk/Tk.pod"
- url = "https://cpan.metacpan.org/authors/id/S/SR/SREZIC/Tk-804.035.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SR/SREZIC/Tk-804.035.tar.gz"
- version('804.035', sha256='4d2b80291ba6de34d8ec886a085a6dbd2b790b926035a087e99025614c5ffdd4')
- version('804.033', sha256='84756e9b07a2555c8eecf88e63d5cbbba9b1aa97b1e71a3d4aa524a7995a88ad')
+ version("804.035", sha256="4d2b80291ba6de34d8ec886a085a6dbd2b790b926035a087e99025614c5ffdd4")
+ version("804.033", sha256="84756e9b07a2555c8eecf88e63d5cbbba9b1aa97b1e71a3d4aa524a7995a88ad")
- depends_on('perl-extutils-makemaker', type='build')
- depends_on('libx11')
- depends_on('libxcb')
- depends_on('libxft')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('freetype')
+ depends_on("perl-extutils-makemaker", type="build")
+ depends_on("libx11")
+ depends_on("libxcb")
+ depends_on("libxft")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("freetype")
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 0b4b4534a7..0d8a7ce152 100644
--- a/var/spack/repos/builtin/packages/perl-try-tiny/package.py
+++ b/var/spack/repos/builtin/packages/perl-try-tiny/package.py
@@ -10,6 +10,6 @@ class PerlTryTiny(PerlPackage):
"""Minimal try/catch with proper preservation of $@"""
homepage = "https://metacpan.org/pod/Try::Tiny"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Try-Tiny-0.28.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Try-Tiny-0.28.tar.gz"
- version('0.28', sha256='f1d166be8aa19942c4504c9111dade7aacb981bc5b3a2a5c5f6019646db8c146')
+ version("0.28", sha256="f1d166be8aa19942c4504c9111dade7aacb981bc5b3a2a5c5f6019646db8c146")
diff --git a/var/spack/repos/builtin/packages/perl-uri-encode/package.py b/var/spack/repos/builtin/packages/perl-uri-encode/package.py
index 82262dd006..370e955630 100644
--- a/var/spack/repos/builtin/packages/perl-uri-encode/package.py
+++ b/var/spack/repos/builtin/packages/perl-uri-encode/package.py
@@ -10,8 +10,8 @@ class PerlUriEncode(PerlPackage):
"""This modules provides simple URI (Percent) encoding/decoding"""
homepage = "https://github.com/mithun/perl-uri-encode"
- url = "https://cpan.metacpan.org/authors/id/M/MI/MITHUN/URI-Encode-v1.1.1.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MI/MITHUN/URI-Encode-v1.1.1.tar.gz"
- version('1.1.1', sha256='4bb9ce4e7016c0138cf9c2375508595286efa1c8dc15b45baa4c47281c08243b')
+ version("1.1.1", sha256="4bb9ce4e7016c0138cf9c2375508595286efa1c8dc15b45baa4c47281c08243b")
- depends_on('perl-module-build', type='build')
+ depends_on("perl-module-build", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-uri/package.py b/var/spack/repos/builtin/packages/perl-uri/package.py
index 461ab0de2b..89772d7672 100644
--- a/var/spack/repos/builtin/packages/perl-uri/package.py
+++ b/var/spack/repos/builtin/packages/perl-uri/package.py
@@ -10,9 +10,9 @@ class PerlUri(PerlPackage):
"""Uniform Resource Identifiers (absolute and relative)"""
homepage = "https://metacpan.org/pod/URI"
- url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.72.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.72.tar.gz"
- version('1.72', sha256='35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32')
- version('1.71', sha256='9c8eca0d7f39e74bbc14706293e653b699238eeb1a7690cc9c136fb8c2644115')
+ version("1.72", sha256="35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32")
+ version("1.71", sha256="9c8eca0d7f39e74bbc14706293e653b699238eeb1a7690cc9c136fb8c2644115")
- depends_on('perl-test-needs', type=('build', 'test'))
+ depends_on("perl-test-needs", type=("build", "test"))
diff --git a/var/spack/repos/builtin/packages/perl-want/package.py b/var/spack/repos/builtin/packages/perl-want/package.py
index 06563e7083..4c68cdc553 100644
--- a/var/spack/repos/builtin/packages/perl-want/package.py
+++ b/var/spack/repos/builtin/packages/perl-want/package.py
@@ -10,6 +10,6 @@ class PerlWant(PerlPackage):
"""A generalisation of wantarray."""
homepage = "https://metacpan.org/pod/Want"
- url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/Want-0.29.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/Want-0.29.tar.gz"
- version('0.29', sha256='b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7')
+ version("0.29", sha256="b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7")
diff --git a/var/spack/repos/builtin/packages/perl-www-robotrules/package.py b/var/spack/repos/builtin/packages/perl-www-robotrules/package.py
index 0c6c4cdc68..a9ae7b3df8 100644
--- a/var/spack/repos/builtin/packages/perl-www-robotrules/package.py
+++ b/var/spack/repos/builtin/packages/perl-www-robotrules/package.py
@@ -10,8 +10,8 @@ class PerlWwwRobotrules(PerlPackage):
"""Database of robots.txt-derived permissions"""
homepage = "http://deps.cpantesters.org/?module=WWW%3A%3ARobotRules;perl=latest"
- url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz"
- version('6.02', sha256='46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e')
+ version("6.02", sha256="46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e")
- depends_on('perl-uri', type=('build', 'run'))
+ depends_on("perl-uri", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py b/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py
index bdfedcd58e..0b77017530 100644
--- a/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-dom-xpath/package.py
@@ -11,9 +11,9 @@ class PerlXmlDomXpath(PerlPackage):
This is often much easier than relying only on getElementsByTagName."""
homepage = "https://metacpan.org/pod/XML::DOM::XPath"
- url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-DOM-XPath-0.14.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-DOM-XPath-0.14.tar.gz"
- version('0.14', sha256='0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea')
+ version("0.14", sha256="0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea")
- depends_on('perl-xml-dom', type=('build', 'run'))
- depends_on('perl-xml-xpathengine', type=('build', 'run'))
+ depends_on("perl-xml-dom", type=("build", "run"))
+ depends_on("perl-xml-xpathengine", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-xml-dom/package.py b/var/spack/repos/builtin/packages/perl-xml-dom/package.py
index 33ef7345ba..360ea0ca06 100644
--- a/var/spack/repos/builtin/packages/perl-xml-dom/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-dom/package.py
@@ -12,11 +12,11 @@ class PerlXmlDom(PerlPackage):
level interface to James Clark's expat library."""
homepage = "https://metacpan.org/pod/XML::DOM"
- url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz"
- version('1.46', sha256='8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e')
+ version("1.46", sha256="8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e")
- depends_on('perl-xml-parser', type=('build', 'run'))
- depends_on('perl-xml-regexp', type=('build', 'run'))
- depends_on('perl-libwww-perl', type=('build', 'run'))
- depends_on('perl-libxml-perl', type=('build', 'run'))
+ depends_on("perl-xml-parser", type=("build", "run"))
+ depends_on("perl-xml-regexp", type=("build", "run"))
+ depends_on("perl-libwww-perl", type=("build", "run"))
+ depends_on("perl-libxml-perl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py b/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py
index a700b50701..c69dd609e2 100644
--- a/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-filter-buffertext/package.py
@@ -14,6 +14,6 @@ class PerlXmlFilterBuffertext(PerlPackage):
single event."""
homepage = "https://metacpan.org/pod/XML::Filter::BufferText"
- url = "https://cpan.metacpan.org/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz"
- version('1.01', sha256='8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c')
+ version("1.01", sha256="8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c")
diff --git a/var/spack/repos/builtin/packages/perl-xml-libxml/package.py b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py
index 86a215f1b3..cedfeb4e12 100644
--- a/var/spack/repos/builtin/packages/perl-xml-libxml/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-libxml/package.py
@@ -15,12 +15,12 @@ class PerlXmlLibxml(PerlPackage):
programs."""
homepage = "https://metacpan.org/pod/XML::LibXML"
- url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0201.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0201.tar.gz"
- version('2.0201', sha256='e008700732502b3f1f0890696ec6e2dc70abf526cd710efd9ab7675cae199bc2')
+ version("2.0201", sha256="e008700732502b3f1f0890696ec6e2dc70abf526cd710efd9ab7675cae199bc2")
- depends_on('libxml2')
- depends_on('perl-xml-namespacesupport', type=('build', 'run'))
- depends_on('perl-xml-sax', type=('build', 'run'))
- depends_on('perl-xml-sax-base', type=('build', 'run'))
- depends_on('perl-alien-libxml2', type='build')
+ depends_on("libxml2")
+ depends_on("perl-xml-namespacesupport", type=("build", "run"))
+ depends_on("perl-xml-sax", type=("build", "run"))
+ depends_on("perl-xml-sax-base", type=("build", "run"))
+ depends_on("perl-alien-libxml2", type="build")
diff --git a/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py b/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py
index 94624ebeb0..a9357fa7dc 100644
--- a/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-libxslt/package.py
@@ -9,9 +9,9 @@ class PerlXmlLibxslt(PerlPackage):
"""Interface to the GNOME libxslt library."""
homepage = "https://metacpan.org/pod/XML::LibXSLT"
- url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.96.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.96.tar.gz"
- version('1.96', sha256='2a5e374edaa2e9f9d26b432265bfea9b4bb7a94c9fbfef9047b298fce844d473')
+ version("1.96", sha256="2a5e374edaa2e9f9d26b432265bfea9b4bb7a94c9fbfef9047b298fce844d473")
- depends_on('libxslt')
- depends_on('perl-xml-libxml')
+ depends_on("libxslt")
+ depends_on("perl-xml-libxml")
diff --git a/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py b/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py
index 867768f29e..58f770773b 100644
--- a/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-namespacesupport/package.py
@@ -12,6 +12,6 @@ class PerlXmlNamespacesupport(PerlPackage):
prefix to namespace URI map, and provides a number of basic checks."""
homepage = "https://metacpan.org/pod/XML::NamespaceSupport"
- url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12_9.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12_9.tar.gz"
- version('1.12_9', sha256='2e84a057f0a8c845a612d212742cb94fca4fc8a433150b5721bd448f77d1e4a9')
+ version("1.12_9", sha256="2e84a057f0a8c845a612d212742cb94fca4fc8a433150b5721bd448f77d1e4a9")
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 4c9cba2cb8..f03e7bbb76 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
@@ -10,8 +10,8 @@ class PerlXmlParserLite(PerlPackage):
"""Lightweight pure-perl XML Parser (based on regexps)"""
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"
+ url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/XML-Parser-Lite-0.721.tar.gz"
- version('0.721', sha256='5862a36ecab9db9aad021839c847e8d2f4ab5a7796c61d0fb069bb69cf7908ba')
+ version("0.721", sha256="5862a36ecab9db9aad021839c847e8d2f4ab5a7796c61d0fb069bb69cf7908ba")
- depends_on('perl-test-requires', type=('build', 'run'))
+ depends_on("perl-test-requires", type=("build", "run"))
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 89c6381bae..25ee11f7a9 100644
--- a/var/spack/repos/builtin/packages/perl-xml-parser/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-parser/package.py
@@ -10,19 +10,19 @@ class PerlXmlParser(PerlPackage):
"""XML::Parser - A perl module for parsing XML documents"""
homepage = "https://metacpan.org/pod/XML::Parser"
- url = "http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz"
- version('2.44', sha256='1ae9d07ee9c35326b3d9aad56eae71a6730a73a116b9fe9e8a4758b7cc033216')
+ version("2.44", sha256="1ae9d07ee9c35326b3d9aad56eae71a6730a73a116b9fe9e8a4758b7cc033216")
- depends_on('expat')
- depends_on('perl-libwww-perl', type=('build', 'run'))
+ depends_on("expat")
+ depends_on("perl-libwww-perl", type=("build", "run"))
def configure_args(self):
args = []
- p = self.spec['expat'].prefix.lib
- args.append('EXPATLIBPATH={0}'.format(p))
- p = self.spec['expat'].prefix.include
- args.append('EXPATINCPATH={0}'.format(p))
+ p = self.spec["expat"].prefix.lib
+ args.append("EXPATLIBPATH={0}".format(p))
+ p = self.spec["expat"].prefix.include
+ args.append("EXPATINCPATH={0}".format(p))
return args
diff --git a/var/spack/repos/builtin/packages/perl-xml-quote/package.py b/var/spack/repos/builtin/packages/perl-xml-quote/package.py
index 5de2af509c..994a708f8a 100644
--- a/var/spack/repos/builtin/packages/perl-xml-quote/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-quote/package.py
@@ -13,6 +13,6 @@ class PerlXmlQuote(PerlPackage):
utf8, tied, overloaded variables and all the rest of perl "magic"."""
homepage = "https://metacpan.org/pod/XML::Quote"
- url = "https://cpan.metacpan.org/authors/id/G/GD/GDSL/XML-Quote-1.02.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GD/GDSL/XML-Quote-1.02.tar.gz"
- version('1.02', sha256='4705b86a8dcc002bffc6ff154ec5c55f0bfb6e99a3f744d1e77ae6541c6af228')
+ version("1.02", sha256="4705b86a8dcc002bffc6ff154ec5c55f0bfb6e99a3f744d1e77ae6541c6af228")
diff --git a/var/spack/repos/builtin/packages/perl-xml-regexp/package.py b/var/spack/repos/builtin/packages/perl-xml-regexp/package.py
index dfcb9ece5c..923523d2a9 100644
--- a/var/spack/repos/builtin/packages/perl-xml-regexp/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-regexp/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PerlXmlRegexp(PerlPackage):
"""This package contains regular expressions for the following XML tokens:
- BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar,
- NameChar, EntityRef, CharRef, Reference, Name, NmToken, and
- AttValue."""
+ BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar,
+ NameChar, EntityRef, CharRef, Reference, Name, NmToken, and
+ AttValue."""
homepage = "https://metacpan.org/pod/XML::RegExp"
- url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz"
- version('0.04', sha256='df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54')
+ version("0.04", sha256="df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54")
diff --git a/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py b/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py
index 87ab106317..0d408b357e 100644
--- a/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-sax-base/package.py
@@ -14,6 +14,6 @@ class PerlXmlSaxBase(PerlPackage):
callback."""
homepage = "https://metacpan.org/pod/XML::SAX::Base"
- url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz"
- version('1.09', sha256='66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0')
+ version("1.09", sha256="66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0")
diff --git a/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py b/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py
index fb421f3226..55e3e1cccb 100644
--- a/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-sax-writer/package.py
@@ -13,10 +13,10 @@ class PerlXmlSaxWriter(PerlPackage):
favourite writer in the SAX1 world."""
homepage = "https://metacpan.org/pod/XML::SAX::Writer"
- url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz"
- version('0.57', sha256='3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0')
+ version("0.57", sha256="3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0")
- depends_on('perl-xml-filter-buffertext', type=('build', 'run'))
- depends_on('perl-xml-namespacesupport', type=('build', 'run'))
- depends_on('perl-xml-sax-base', type=('build', 'run'))
+ depends_on("perl-xml-filter-buffertext", type=("build", "run"))
+ depends_on("perl-xml-namespacesupport", type=("build", "run"))
+ depends_on("perl-xml-sax-base", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-xml-sax/package.py b/var/spack/repos/builtin/packages/perl-xml-sax/package.py
index 481801b4bc..12972b9798 100644
--- a/var/spack/repos/builtin/packages/perl-xml-sax/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-sax/package.py
@@ -12,9 +12,9 @@ class PerlXmlSax(PerlPackage):
returning any SAX parser installed on the user's system."""
homepage = "https://metacpan.org/pod/XML::SAX"
- url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz"
- version('1.02', sha256='4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a')
+ version("1.02", sha256="4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a")
- depends_on('perl-xml-namespacesupport', type=('build', 'run'))
- depends_on('perl-xml-sax-base', type=('build', 'run'))
+ depends_on("perl-xml-namespacesupport", type=("build", "run"))
+ depends_on("perl-xml-sax-base", type=("build", "run"))
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 be0a699245..815ab88be9 100644
--- a/var/spack/repos/builtin/packages/perl-xml-simple/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-simple/package.py
@@ -10,8 +10,8 @@ class PerlXmlSimple(PerlPackage):
"""An API for simple XML files"""
homepage = "https://metacpan.org/pod/XML::Simple"
- url = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-Simple-2.24.tar.gz"
+ url = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-Simple-2.24.tar.gz"
- version('2.24', sha256='9a14819fd17c75fbb90adcec0446ceab356cab0ccaff870f2e1659205dc2424f')
+ version("2.24", sha256="9a14819fd17c75fbb90adcec0446ceab356cab0ccaff870f2e1659205dc2424f")
- depends_on('perl-xml-parser', type=('build', 'run'))
+ depends_on("perl-xml-parser", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/perl-xml-twig/package.py b/var/spack/repos/builtin/packages/perl-xml-twig/package.py
index af1f0a0b3b..44201489a8 100644
--- a/var/spack/repos/builtin/packages/perl-xml-twig/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-twig/package.py
@@ -23,10 +23,10 @@ class PerlXmlTwig(PerlPackage):
that come with XML and XML::Parser."""
homepage = "https://metacpan.org/pod/XML::Twig"
- url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz"
- version('3.52', sha256='fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad')
+ version("3.52", sha256="fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad")
- depends_on('perl-xml-parser', type=('build', 'run'))
+ depends_on("perl-xml-parser", type=("build", "run"))
- patch('non_interactive.patch')
+ patch("non_interactive.patch")
diff --git a/var/spack/repos/builtin/packages/perl-xml-writer/package.py b/var/spack/repos/builtin/packages/perl-xml-writer/package.py
index 88572d7d59..6e1ea47e75 100644
--- a/var/spack/repos/builtin/packages/perl-xml-writer/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-writer/package.py
@@ -22,6 +22,6 @@ class PerlXmlWriter(PerlPackage):
itself, and will perform additional checks on the output."""
homepage = "https://metacpan.org/pod/XML::Writer"
- url = "https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.625.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.625.tar.gz"
- version('0.625', sha256='e080522c6ce050397af482665f3965a93c5d16f5e81d93f6e2fe98084ed15fbe')
+ version("0.625", sha256="e080522c6ce050397af482665f3965a93c5d16f5e81d93f6e2fe98084ed15fbe")
diff --git a/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py b/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py
index 70f06dd34c..c6af3e9695 100644
--- a/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py
+++ b/var/spack/repos/builtin/packages/perl-xml-xpathengine/package.py
@@ -11,6 +11,6 @@ class PerlXmlXpathengine(PerlPackage):
module/classes that implement trees."""
homepage = "https://metacpan.org/pod/XML::XPathEngine"
- url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz"
- version('0.14', sha256='d2fe7bcbbd0beba1444f4a733401e7b8aa5282fad4266d42735dd74582b2e264')
+ version("0.14", sha256="d2fe7bcbbd0beba1444f4a733401e7b8aa5282fad4266d42735dd74582b2e264")
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 e8a9e344e2..4a0bfffe93 100644
--- a/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py
+++ b/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py
@@ -7,9 +7,9 @@ from spack.package import *
class PerlYamlLibyaml(PerlPackage):
- """Perl YAML Serialization using XS and libyaml """
+ """Perl YAML Serialization using XS and 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"
+ url = "http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/YAML-LibYAML-0.67.tar.gz"
- version('0.67', sha256='e65a22abc912a46a10abddf3b88d806757f44f164ab3167c8f0ff6aa30648187')
+ version("0.67", sha256="e65a22abc912a46a10abddf3b88d806757f44f164ab3167c8f0ff6aa30648187")
diff --git a/var/spack/repos/builtin/packages/perl-yaml/package.py b/var/spack/repos/builtin/packages/perl-yaml/package.py
index ba0b26b231..c737e8d4b7 100644
--- a/var/spack/repos/builtin/packages/perl-yaml/package.py
+++ b/var/spack/repos/builtin/packages/perl-yaml/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class PerlYaml(PerlPackage):
"""This module has been released to CPAN as YAML::Old, and soon YAML.pm
- will be changed to just be a frontend interface module for all the
- various Perl YAML implementation modules, including YAML::Old"""
+ will be changed to just be a frontend interface module for all the
+ various Perl YAML implementation modules, including YAML::Old"""
homepage = "https://metacpan.org/pod/YAML"
- url = "https://cpan.metacpan.org/authors/id/T/TI/TINITA/YAML-1.27.tar.gz"
+ url = "https://cpan.metacpan.org/authors/id/T/TI/TINITA/YAML-1.27.tar.gz"
- version('1.27', sha256='c992a1e820de0721b62b22521de92cdbf49edc306ab804c485b4b1ec25f682f9')
+ version("1.27", sha256="c992a1e820de0721b62b22521de92cdbf49edc306ab804c485b4b1ec25f682f9")
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
index 711ad20fa3..845a690d1a 100644
--- a/var/spack/repos/builtin/packages/perl/package.py
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -23,129 +23,170 @@ from llnl.util.symlink import symlink
from spack.operating_systems.mac_os import macos_version
from spack.package import *
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
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."""
+ 27 years of development."""
homepage = "https://www.perl.org"
# URL must remain http:// so Spack can bootstrap curl
url = "http://www.cpan.org/src/5.0/perl-5.34.0.tar.gz"
- executables = [r'^perl(-?\d+.*)?$']
+ executables = [r"^perl(-?\d+.*)?$"]
# see https://www.cpan.org/src/README.html for
# explanation of version numbering scheme
# Development releases (odd numbers)
- version('5.35.0', sha256='d6c0eb4763d1c73c1d18730664d43fcaf6100c31573c3b81e1504ec8f5b22708')
- version('5.33.3', sha256='4f4ba0aceb932e6cf7c05674d05e51ef759d1c97f0685dee65a8f3d190f737cd')
- version('5.31.7', sha256='d05c4e72128f95ef6ffad42728ecbbd0d9437290bf0f88268b51af011f26b57d')
- version('5.31.4', sha256='418a7e6fe6485cc713a86d1227ef112f0bb3f80322e3b715ffe42851d97804a5')
+ version("5.35.0", sha256="d6c0eb4763d1c73c1d18730664d43fcaf6100c31573c3b81e1504ec8f5b22708")
+ version("5.33.3", sha256="4f4ba0aceb932e6cf7c05674d05e51ef759d1c97f0685dee65a8f3d190f737cd")
+ version("5.31.7", sha256="d05c4e72128f95ef6ffad42728ecbbd0d9437290bf0f88268b51af011f26b57d")
+ version("5.31.4", sha256="418a7e6fe6485cc713a86d1227ef112f0bb3f80322e3b715ffe42851d97804a5")
# Maintenance releases (even numbers, recommended)
- version('5.34.1', sha256='357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1', preferred=True)
- version('5.34.0', sha256='551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a', preferred=True)
- version('5.32.1', sha256='03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c', preferred=True)
- version('5.32.0', sha256='efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4', preferred=True)
- version('5.30.3', sha256='32e04c8bb7b1aecb2742a7f7ac0eabac100f38247352a73ad7fa104e39e7406f', preferred=True)
- version('5.30.2', sha256='66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689', preferred=True)
- version('5.30.1', sha256='bf3d25571ff1ee94186177c2cdef87867fd6a14aa5a84f0b1fb7bf798f42f964', preferred=True)
- version('5.30.0', sha256='851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2', preferred=True)
+ version(
+ "5.34.1",
+ sha256="357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1",
+ preferred=True,
+ )
+ version(
+ "5.34.0",
+ sha256="551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a",
+ preferred=True,
+ )
+ version(
+ "5.32.1",
+ sha256="03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c",
+ preferred=True,
+ )
+ version(
+ "5.32.0",
+ sha256="efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4",
+ preferred=True,
+ )
+ version(
+ "5.30.3",
+ sha256="32e04c8bb7b1aecb2742a7f7ac0eabac100f38247352a73ad7fa104e39e7406f",
+ preferred=True,
+ )
+ version(
+ "5.30.2",
+ sha256="66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689",
+ preferred=True,
+ )
+ version(
+ "5.30.1",
+ sha256="bf3d25571ff1ee94186177c2cdef87867fd6a14aa5a84f0b1fb7bf798f42f964",
+ preferred=True,
+ )
+ version(
+ "5.30.0",
+ sha256="851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2",
+ preferred=True,
+ )
# End of life releases
- version('5.28.0', sha256='7e929f64d4cb0e9d1159d4a59fc89394e27fa1f7004d0836ca0d514685406ea8')
- version('5.26.2', sha256='572f9cea625d6062f8a63b5cee9d3ee840800a001d2bb201a41b9a177ab7f70d')
- version('5.24.1', sha256='e6c185c9b09bdb3f1b13f678999050c639859a7ef39c8cad418448075f5918af')
- version('5.22.4', sha256='ba9ef57c2b709f2dad9c5f6acf3111d9dfac309c484801e0152edbca89ed61fa')
- version('5.22.3', sha256='1b351fb4df7e62ec3c8b2a9f516103595b2601291f659fef1bbe3917e8410083')
- version('5.22.2', sha256='81ad196385aa168cb8bd785031850e808c583ed18a7901d33e02d4f70ada83c2')
- version('5.22.1', sha256='2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27')
- version('5.22.0', sha256='0c690807f5426bbd1db038e833a917ff00b988bf03cbf2447fa9ffdb34a2ab3c')
- version('5.20.3', sha256='3524e3a76b71650ab2f794fd68e45c366ec375786d2ad2dca767da424bbb9b4a')
- version('5.18.4', sha256='01a4e11a9a34616396c4a77b3cef51f76a297e1a2c2c490ae6138bf0351eb29f')
- version('5.16.3', sha256='69cf08dca0565cec2c5c6c2f24b87f986220462556376275e5431cc2204dedb6')
+ version("5.28.0", sha256="7e929f64d4cb0e9d1159d4a59fc89394e27fa1f7004d0836ca0d514685406ea8")
+ version("5.26.2", sha256="572f9cea625d6062f8a63b5cee9d3ee840800a001d2bb201a41b9a177ab7f70d")
+ version("5.24.1", sha256="e6c185c9b09bdb3f1b13f678999050c639859a7ef39c8cad418448075f5918af")
+ version("5.22.4", sha256="ba9ef57c2b709f2dad9c5f6acf3111d9dfac309c484801e0152edbca89ed61fa")
+ version("5.22.3", sha256="1b351fb4df7e62ec3c8b2a9f516103595b2601291f659fef1bbe3917e8410083")
+ version("5.22.2", sha256="81ad196385aa168cb8bd785031850e808c583ed18a7901d33e02d4f70ada83c2")
+ version("5.22.1", sha256="2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27")
+ version("5.22.0", sha256="0c690807f5426bbd1db038e833a917ff00b988bf03cbf2447fa9ffdb34a2ab3c")
+ version("5.20.3", sha256="3524e3a76b71650ab2f794fd68e45c366ec375786d2ad2dca767da424bbb9b4a")
+ version("5.18.4", sha256="01a4e11a9a34616396c4a77b3cef51f76a297e1a2c2c490ae6138bf0351eb29f")
+ version("5.16.3", sha256="69cf08dca0565cec2c5c6c2f24b87f986220462556376275e5431cc2204dedb6")
extendable = True
if not is_windows:
# Bind us below gdbm-1.20 due to API change: https://github.com/Perl/perl5/issues/18915
- depends_on('gdbm@:1.19')
+ depends_on("gdbm@:1.19")
# :5.28 needs gdbm@:1:14.1: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133295
- depends_on('gdbm@:1.14.1', when='@:5.28.0')
- depends_on('berkeley-db')
- depends_on('bzip2')
- depends_on('zlib')
+ depends_on("gdbm@:1.14.1", when="@:5.28.0")
+ depends_on("berkeley-db")
+ depends_on("bzip2")
+ depends_on("zlib")
# :5.24.1 needs zlib@:1.2.8: https://rt.cpan.org/Public/Bug/Display.html?id=120134
- depends_on('zlib@:1.2.8', when='@5.20.3:5.24.1')
+ depends_on("zlib@:1.2.8", when="@5.20.3:5.24.1")
- conflicts('@5.34.1:', when='%msvc@:19.29.30136')
+ conflicts("@5.34.1:", when="%msvc@:19.29.30136")
# there has been a long fixed issue with 5.22.0 with regard to the ccflags
# definition. It is well documented here:
# https://rt.perl.org/Public/Bug/Display.html?id=126468
- patch('protect-quotes-in-ccflags.patch', when='@5.22.0')
+ patch("protect-quotes-in-ccflags.patch", when="@5.22.0")
# Fix the Time-Local testase http://blogs.perl.org/users/tom_wyant/2020/01/my-y2020-bug.html
- patch('https://rt.cpan.org/Public/Ticket/Attachment/1776857/956088/0001-Fix-Time-Local-tests.patch',
- when='@5.26.0:5.28.9',
- sha256='8cf4302ca8b480c60ccdcaa29ec53d9d50a71d4baf469ac8c6fca00ca31e58a2')
- patch('https://raw.githubusercontent.com/costabel/fink-distributions/master/10.9-libcxx/stable/main/finkinfo/languages/perl5162-timelocal-y2020.patch',
- when='@:5.24.1',
- sha256='3bbd7d6f9933d80b9571533867b444c6f8f5a1ba0575bfba1fba4db9d885a71a')
+ patch(
+ "https://rt.cpan.org/Public/Ticket/Attachment/1776857/956088/0001-Fix-Time-Local-tests.patch",
+ when="@5.26.0:5.28.9",
+ sha256="8cf4302ca8b480c60ccdcaa29ec53d9d50a71d4baf469ac8c6fca00ca31e58a2",
+ )
+ patch(
+ "https://raw.githubusercontent.com/costabel/fink-distributions/master/10.9-libcxx/stable/main/finkinfo/languages/perl5162-timelocal-y2020.patch",
+ when="@:5.24.1",
+ sha256="3bbd7d6f9933d80b9571533867b444c6f8f5a1ba0575bfba1fba4db9d885a71a",
+ )
# Fix build on Fedora 28
# https://bugzilla.redhat.com/show_bug.cgi?id=1536752
- patch('https://src.fedoraproject.org/rpms/perl/raw/004cea3a67df42e92ffdf4e9ac36d47a3c6a05a4/f/perl-5.26.1-guard_old_libcrypt_fix.patch', level=1, sha256='0eac10ed90aeb0459ad8851f88081d439a4e41978e586ec743069e8b059370ac', when='@:5.26.2')
+ patch(
+ "https://src.fedoraproject.org/rpms/perl/raw/004cea3a67df42e92ffdf4e9ac36d47a3c6a05a4/f/perl-5.26.1-guard_old_libcrypt_fix.patch",
+ level=1,
+ sha256="0eac10ed90aeb0459ad8851f88081d439a4e41978e586ec743069e8b059370ac",
+ when="@:5.26.2",
+ )
# Enable builds with the NVIDIA compiler
# The Configure script assumes some gcc specific behavior, and use
# the mini Perl environment to bootstrap installation.
- patch('nvhpc-5.30.patch', when='@5.30.0:5.30 %nvhpc')
- patch('nvhpc-5.32.patch', when='@5.32.0:5.32 %nvhpc')
- patch('nvhpc-5.34.patch', when='@5.34.0:5.34 %nvhpc')
- conflicts('@5.32.0:', when='%nvhpc@:20.11',
- msg='The NVIDIA compilers are incompatible with version 5.32 and later')
+ patch("nvhpc-5.30.patch", when="@5.30.0:5.30 %nvhpc")
+ patch("nvhpc-5.32.patch", when="@5.32.0:5.32 %nvhpc")
+ patch("nvhpc-5.34.patch", when="@5.34.0:5.34 %nvhpc")
+ conflicts(
+ "@5.32.0:",
+ when="%nvhpc@:20.11",
+ msg="The NVIDIA compilers are incompatible with version 5.32 and later",
+ )
# Make sure we don't get "recompile with -fPIC" linker errors when using static libs
- conflicts('^zlib~shared~pic', msg='Needs position independent code when using static zlib')
- conflicts('^bzip2~shared~pic', msg='Needs position independent code when using static bzip2')
+ conflicts("^zlib~shared~pic", msg="Needs position independent code when using static zlib")
+ conflicts("^bzip2~shared~pic", msg="Needs position independent code when using static bzip2")
# Installing cpanm alongside the core makes it safe and simple for
# people/projects to install their own sets of perl modules. Not
# having it in core increases the "energy of activation" for doing
# things cleanly.
- variant('cpanm', default=True,
- description='Optionally install cpanm with the core packages.')
+ variant("cpanm", default=True, description="Optionally install cpanm with the core packages.")
- variant('shared', default=True,
- description='Build a shared libperl.so library')
+ variant("shared", default=True, description="Build a shared libperl.so library")
- variant('threads', default=True,
- description='Build perl with threads support')
+ variant("threads", default=True, description="Build perl with threads support")
resource(
name="cpanm",
url="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7042.tar.gz",
sha256="9da50e155df72bce55cb69f51f1dbb4b62d23740fb99f6178bb27f22ebdf8a46",
destination="cpanm",
- placement="cpanm"
+ placement="cpanm",
)
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
def patch(self):
# https://github.com/Perl/perl5/issues/15544 long PATH(>1000 chars) fails a test
- os.chmod('lib/perlbug.t', 0o644)
- filter_file('!/$B/', '! (/(?:$B|PATH)/)', 'lib/perlbug.t')
+ os.chmod("lib/perlbug.t", 0o644)
+ filter_file("!/$B/", "! (/(?:$B|PATH)/)", "lib/perlbug.t")
@classmethod
def determine_version(cls, exe):
perl = spack.util.executable.Executable(exe)
- output = perl('--version', output=str, error=str)
+ output = perl("--version", output=str, error=str)
if output:
- match = re.search(r'perl.*\(v([0-9.]+)\)', output)
+ match = re.search(r"perl.*\(v([0-9.]+)\)", output)
if match:
return match.group(1)
return None
@@ -154,24 +195,24 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
def determine_variants(cls, exes, version):
for exe in exes:
perl = spack.util.executable.Executable(exe)
- output = perl('-V', output=str, error=str)
- variants = ''
+ output = perl("-V", output=str, error=str)
+ variants = ""
if output:
- match = re.search(r'-Duseshrplib', output)
+ match = re.search(r"-Duseshrplib", output)
if match:
- variants += '+shared'
+ variants += "+shared"
else:
- variants += '~shared'
- match = re.search(r'-Duse.?threads', output)
+ variants += "~shared"
+ match = re.search(r"-Duse.?threads", output)
if match:
- variants += '+threads'
+ variants += "+threads"
else:
- variants += '~threads'
+ variants += "~threads"
path = os.path.dirname(exe)
- if 'cpanm' in os.listdir(path):
- variants += '+cpanm'
+ if "cpanm" in os.listdir(path):
+ variants += "+cpanm"
else:
- variants += '~cpanm'
+ variants += "~cpanm"
return variants
# On a lustre filesystem, patch may fail when files
@@ -182,39 +223,39 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# Do Spack's regular stage
super(Perl, self).do_stage(mirror_only)
# Add write permissions on file to be patched
- filename = join_path(self.stage.source_path, 'pp.c')
+ filename = join_path(self.stage.source_path, "pp.c")
perm = os.stat(filename).st_mode
os.chmod(filename, perm | 0o200)
@property
def nmake_arguments(self):
args = []
- if self.spec.satisfies('%msvc'):
- args.append('CCTYPE=%s' % self.compiler.msvc_version)
+ if self.spec.satisfies("%msvc"):
+ args.append("CCTYPE=%s" % self.compiler.msvc_version)
else:
raise RuntimeError("Perl unsupported for non MSVC compilers on Windows")
- args.append('INST_TOP=%s' % self.prefix.replace('/', '\\'))
+ args.append("INST_TOP=%s" % self.prefix.replace("/", "\\"))
args.append("INST_ARCH=\\$(ARCHNAME)")
- if self.spec.satisfies('~shared'):
+ if self.spec.satisfies("~shared"):
args.append("ALL_STATIC=%s" % "define")
- if self.spec.satisfies('~threads'):
+ if self.spec.satisfies("~threads"):
args.extend(["USE_MULTI=undef", "USE_ITHREADS=undef", "USE_IMP_SYS=undef"])
if not self.is_64bit():
args.append("WIN64=undef")
return args
def is_64bit(self):
- return platform.machine().endswith('64')
+ return platform.machine().endswith("64")
def configure_args(self):
spec = self.spec
prefix = self.prefix
config_args = [
- '-des',
- '-Dprefix={0}'.format(prefix),
- '-Dlocincpth=' + self.spec['gdbm'].prefix.include,
- '-Dloclibpth=' + self.spec['gdbm'].prefix.lib,
+ "-des",
+ "-Dprefix={0}".format(prefix),
+ "-Dlocincpth=" + self.spec["gdbm"].prefix.include,
+ "-Dloclibpth=" + self.spec["gdbm"].prefix.lib,
]
# Extensions are installed into their private tree via
@@ -231,32 +272,30 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# [1] https://metacpan.org/pod/ExtUtils::MakeMaker#INSTALL_BASE
# [2] via the activate method in the PackageBase class
# [3] https://metacpan.org/pod/distribution/perl/INSTALL#APPLLIB_EXP
- config_args.append('-Accflags=-DAPPLLIB_EXP=\\"' +
- self.prefix.lib.perl5 + '\\"')
+ config_args.append('-Accflags=-DAPPLLIB_EXP=\\"' + self.prefix.lib.perl5 + '\\"')
# Discussion of -fPIC for Intel at:
# https://github.com/spack/spack/pull/3081 and
# https://github.com/spack/spack/pull/4416
- if spec.satisfies('%intel'):
- config_args.append('-Accflags={0}'.format(
- self.compiler.cc_pic_flag))
+ if spec.satisfies("%intel"):
+ config_args.append("-Accflags={0}".format(self.compiler.cc_pic_flag))
- if '+shared' in spec:
- config_args.append('-Duseshrplib')
+ if "+shared" in spec:
+ config_args.append("-Duseshrplib")
- if '+threads' in spec:
- config_args.append('-Dusethreads')
+ if "+threads" in spec:
+ config_args.append("-Dusethreads")
# Development versions have an odd second component
if spec.version[1] % 2 == 1:
- config_args.append('-Dusedevel')
+ config_args.append("-Dusedevel")
return config_args
def configure(self, spec, prefix):
if is_windows:
return
- configure = Executable('./Configure')
+ configure = Executable("./Configure")
configure(*self.configure_args())
def build(self, spec, prefix):
@@ -265,25 +304,25 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
else:
make()
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def build_test(self):
if is_windows:
win32_dir = os.path.join(self.stage.source_path, "win32")
with working_dir(win32_dir):
- nmake('test', ignore_quotes=True)
+ nmake("test", ignore_quotes=True)
else:
- make('test')
+ make("test")
def install(self, spec, prefix):
if is_windows:
win32_dir = os.path.join(self.stage.source_path, "win32")
with working_dir(win32_dir):
- nmake('install', *self.nmake_arguments, ignore_quotes=True)
+ nmake("install", *self.nmake_arguments, ignore_quotes=True)
else:
- make('install')
+ make("install")
- @run_after('install')
+ @run_after("install")
def symlink_windows(self):
if not is_windows:
return
@@ -303,46 +342,45 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
if not os.path.exists(lnk_path):
symlink(src_path, lnk_path)
- @run_after('install')
+ @run_after("install")
def install_cpanm(self):
spec = self.spec
maker = make
- cpan_dir = join_path('cpanm', 'cpanm')
+ cpan_dir = join_path("cpanm", "cpanm")
if is_windows:
maker = nmake
cpan_dir = join_path(self.stage.source_path, cpan_dir)
- if '+cpanm' in spec:
+ if "+cpanm" in spec:
with working_dir(cpan_dir):
- perl = spec['perl'].command
- perl('Makefile.PL')
+ perl = spec["perl"].command
+ perl("Makefile.PL")
maker()
- maker('install')
+ maker("install")
def _setup_dependent_env(self, env, dependent_spec, deptypes):
"""Set PATH and PERL5LIB to include the extension and
- any other perl extensions it depends on,
- assuming they were installed with INSTALL_BASE defined."""
+ any other perl extensions it depends on,
+ assuming they were installed with INSTALL_BASE defined."""
perl_lib_dirs = []
for d in dependent_spec.traverse(deptype=deptypes):
if d.package.extends(self.spec):
perl_lib_dirs.append(d.prefix.lib.perl5)
if perl_lib_dirs:
- perl_lib_path = ':'.join(perl_lib_dirs)
- env.prepend_path('PERL5LIB', perl_lib_path)
+ perl_lib_path = ":".join(perl_lib_dirs)
+ env.prepend_path("PERL5LIB", perl_lib_path)
if is_windows:
- env.append_path('PATH', self.prefix.bin)
+ env.append_path("PATH", self.prefix.bin)
def setup_dependent_build_environment(self, env, dependent_spec):
- self._setup_dependent_env(env, dependent_spec,
- deptypes=('build', 'run'))
+ self._setup_dependent_env(env, dependent_spec, deptypes=("build", "run"))
def setup_dependent_run_environment(self, env, dependent_spec):
- self._setup_dependent_env(env, dependent_spec, deptypes=('run',))
+ self._setup_dependent_env(env, dependent_spec, deptypes=("run",))
def setup_dependent_package(self, module, dependent_spec):
"""Called before perl modules' install() methods.
- In most cases, extensions will only need to have one line:
- perl('Makefile.PL','INSTALL_BASE=%s' % self.prefix)
+ In most cases, extensions will only need to have one line:
+ perl('Makefile.PL','INSTALL_BASE=%s' % self.prefix)
"""
# If system perl is used through packages.yaml
@@ -351,7 +389,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# perl extension builds can have a global perl
# executable function
- module.perl = self.spec['perl'].command
+ module.perl = self.spec["perl"].command
# Add variables for library directory
module.perl_lib_dir = dependent_spec.prefix.lib.perl5
@@ -362,27 +400,26 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
def setup_build_environment(self, env):
if is_windows:
- env.append_path('PATH', self.prefix.bin)
+ env.append_path("PATH", self.prefix.bin)
return
spec = self.spec
- if (spec.satisfies('@:5.34 platform=darwin')
- and macos_version() >= Version('10.16')):
+ if spec.satisfies("@:5.34 platform=darwin") and macos_version() >= Version("10.16"):
# Older perl versions reject MACOSX_DEPLOYMENT_TARGET=11 or higher
# as "unexpected"; override the environment variable set by spack's
# platforms.darwin .
- env.set('MACOSX_DEPLOYMENT_TARGET', '10.16')
+ env.set("MACOSX_DEPLOYMENT_TARGET", "10.16")
# This is how we tell perl the locations of bzip and zlib.
- env.set('BUILD_BZIP2', 0)
- env.set('BZIP2_INCLUDE', spec['bzip2'].prefix.include)
- env.set('BZIP2_LIB', spec['bzip2'].libs.directories[0])
- env.set('BUILD_ZLIB', 0)
- env.set('ZLIB_INCLUDE', spec['zlib'].prefix.include)
- env.set('ZLIB_LIB', spec['zlib'].libs.directories[0])
-
- @run_after('install')
+ env.set("BUILD_BZIP2", 0)
+ env.set("BZIP2_INCLUDE", spec["bzip2"].prefix.include)
+ env.set("BZIP2_LIB", spec["bzip2"].libs.directories[0])
+ env.set("BUILD_ZLIB", 0)
+ env.set("ZLIB_INCLUDE", spec["zlib"].prefix.include)
+ env.set("ZLIB_LIB", spec["zlib"].libs.directories[0])
+
+ @run_after("install")
def filter_config_dot_pm(self):
"""Run after install so that Config.pm records the compiler that Spack
built the package with. If this isn't done, $Config{cc} will
@@ -392,34 +429,34 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
"""
if is_windows:
return
- kwargs = {'ignore_absent': True, 'backup': False, 'string': False}
+ kwargs = {"ignore_absent": True, "backup": False, "string": False}
# Find the actual path to the installed Config.pm file.
- perl = self.spec['perl'].command
- config_dot_pm = perl('-MModule::Loaded', '-MConfig', '-e',
- 'print is_loaded(Config)', output=str)
+ perl = self.spec["perl"].command
+ config_dot_pm = perl(
+ "-MModule::Loaded", "-MConfig", "-e", "print is_loaded(Config)", output=str
+ )
with self.make_briefly_writable(config_dot_pm):
- match = 'cc *=>.*'
+ match = "cc *=>.*"
substitute = "cc => '{cc}',".format(cc=self.compiler.cc)
filter_file(match, substitute, config_dot_pm, **kwargs)
# And the path Config_heavy.pl
d = os.path.dirname(config_dot_pm)
- config_heavy = join_path(d, 'Config_heavy.pl')
+ config_heavy = join_path(d, "Config_heavy.pl")
with self.make_briefly_writable(config_heavy):
- match = '^cc=.*'
+ match = "^cc=.*"
substitute = "cc='{cc}'".format(cc=self.compiler.cc)
filter_file(match, substitute, config_heavy, **kwargs)
- match = '^ld=.*'
+ match = "^ld=.*"
substitute = "ld='{ld}'".format(ld=self.compiler.cc)
filter_file(match, substitute, config_heavy, **kwargs)
match = "^ccflags='"
- substitute = "ccflags='%s " % ' '\
- .join(self.spec.compiler_flags['cflags'])
+ substitute = "ccflags='%s " % " ".join(self.spec.compiler_flags["cflags"])
filter_file(match, substitute, config_heavy, **kwargs)
@contextmanager
@@ -436,14 +473,14 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
def perl_ignore(self, ext_pkg, args):
"""Add some ignore files to activate/deactivate args."""
- ignore_arg = args.get('ignore', lambda f: False)
+ ignore_arg = args.get("ignore", lambda f: False)
# Many perl packages describe themselves in a perllocal.pod file,
# so the files conflict when multiple packages are activated.
# We could merge the perllocal.pod files in activated packages,
# but this is unnecessary for correct operation of perl.
# For simplicity, we simply ignore all perllocal.pod files:
- patterns = [r'perllocal\.pod$']
+ patterns = [r"perllocal\.pod$"]
return match_predicate(ignore_arg, patterns)
@@ -478,27 +515,27 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
Returns:
Executable: the Perl command
"""
- for ver in ('', self.spec.version):
- ext = ''
+ for ver in ("", self.spec.version):
+ ext = ""
if is_windows:
- ext = '.exe'
- path = os.path.join(self.prefix.bin, '{0}{1}{2}'.format(
- self.spec.name, ver, ext))
+ ext = ".exe"
+ path = os.path.join(self.prefix.bin, "{0}{1}{2}".format(self.spec.name, ver, ext))
if os.path.exists(path):
return Executable(path)
else:
- msg = 'Unable to locate {0} command in {1}'
+ msg = "Unable to locate {0} command in {1}"
raise RuntimeError(msg.format(self.spec.name, self.prefix.bin))
def test(self):
"""Smoke tests"""
- exe = self.spec['perl'].command.name
+ exe = self.spec["perl"].command.name
- reason = 'test: checking version is {0}'.format(self.spec.version)
- self.run_test(exe, '--version', ['perl', str(self.spec.version)],
- installed=True, purpose=reason)
+ reason = "test: checking version is {0}".format(self.spec.version)
+ self.run_test(
+ exe, "--version", ["perl", str(self.spec.version)], installed=True, purpose=reason
+ )
- reason = 'test: ensuring perl runs'
- msg = 'Hello, World!'
- options = ['-e', 'use warnings; use strict;\nprint("%s\n");' % msg]
+ reason = "test: ensuring perl runs"
+ msg = "Hello, World!"
+ options = ["-e", 'use warnings; use strict;\nprint("%s\n");' % msg]
self.run_test(exe, options, msg, installed=True, purpose=reason)
diff --git a/var/spack/repos/builtin/packages/pestpp/package.py b/var/spack/repos/builtin/packages/pestpp/package.py
index fbdeadad4d..58375191e7 100644
--- a/var/spack/repos/builtin/packages/pestpp/package.py
+++ b/var/spack/repos/builtin/packages/pestpp/package.py
@@ -14,14 +14,14 @@ class Pestpp(CMakePackage):
"""
homepage = "https://pesthomepage.org"
- url = "https://github.com/usgs/pestpp/archive/5.0.5.tar.gz"
+ url = "https://github.com/usgs/pestpp/archive/5.0.5.tar.gz"
- version('5.0.5', sha256='b9695724758f69c1199371608b01419973bd1475b1788039a2fab6313f6ed67c')
+ version("5.0.5", sha256="b9695724758f69c1199371608b01419973bd1475b1788039a2fab6313f6ed67c")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
- depends_on('cmake@3.9:', type='build')
- depends_on('mpi', type=('build', 'run'), when='+mpi')
+ depends_on("cmake@3.9:", type="build")
+ depends_on("mpi", type=("build", "run"), when="+mpi")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/petaca/package.py b/var/spack/repos/builtin/packages/petaca/package.py
index 7df8386438..03ff3dc50c 100644
--- a/var/spack/repos/builtin/packages/petaca/package.py
+++ b/var/spack/repos/builtin/packages/petaca/package.py
@@ -20,38 +20,39 @@ class Petaca(CMakePackage):
"""
homepage = "https://petaca.readthedocs.io/en/master"
- git = "https://github.com/nncarlson/petaca.git"
- url = "https://github.com/nncarlson/petaca/archive/refs/tags/v22.03.tar.gz"
+ git = "https://github.com/nncarlson/petaca.git"
+ url = "https://github.com/nncarlson/petaca/archive/refs/tags/v22.03.tar.gz"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch="master")
- version('22.03', sha256='e6559e928c7cca6017ef0582c204eee775f6bb3f927f1c224c515c2ad574cc32')
- version('21.03', commit='f17df95193ca1a3879687a59a91a123be25e3efa')
+ version("develop", branch="master")
+ version("22.03", sha256="e6559e928c7cca6017ef0582c204eee775f6bb3f927f1c224c515c2ad574cc32")
+ version("21.03", commit="f17df95193ca1a3879687a59a91a123be25e3efa")
- depends_on('cmake@3.3:', type='build')
- depends_on('yajl@2.0.1:')
+ depends_on("cmake@3.3:", type="build")
+ depends_on("yajl@2.0.1:")
# override RelWithDebugInfo since those flags aren't set in petaca
- variant('build_type', default="Release",
- description='Type build type to build',
- values=('Debug', 'Release'))
+ variant(
+ "build_type",
+ default="Release",
+ description="Type build type to build",
+ values=("Debug", "Release"),
+ )
- variant('shared', default=False, description='build shared libraries')
+ variant("shared", default=False, description="build shared libraries")
- variant('std_name', default=False, description='enables std_mod_proc_name with intel')
+ variant("std_name", default=False, description="enables std_mod_proc_name with intel")
# copied from openmpi/package.py to ensure fortran support
- @run_before('cmake')
+ @run_before("cmake")
def die_without_fortran(self):
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError(
- 'petaca requires both C and Fortran compilers!'
- )
+ raise InstallError("petaca requires both C and Fortran compilers!")
def cmake_args(self):
return [
- self.define('ENABLE_TESTS', self.run_tests),
+ self.define("ENABLE_TESTS", self.run_tests),
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
- self.define_from_variant("ENABLE_STD_MOD_PROC_NAME", "std_name")
+ self.define_from_variant("ENABLE_STD_MOD_PROC_NAME", "std_name"),
]
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 4db84170af..e651e454fb 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -16,439 +16,427 @@ class Petsc(Package, CudaPackage, ROCmPackage):
homepage = "https://www.mcs.anl.gov/petsc/index.html"
url = "https://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']
-
- tags = ['e4s']
-
- version('main', branch='main')
-
- version('3.17.3', sha256='5c24ade5e4b32cc04935ba0db1dafe48d633bebaaa30a3033f1e58788d37875f')
- version('3.17.2', sha256='2313dd1ca41bf0ace68671ea6f8d4abf90011ed899f5e1e08658d3f18478359d')
- version('3.17.1', sha256='c504609d9f532327c20b6363d6a6c7647ebd3c98acfb382c28fcd3852300ddd1')
- version('3.17.0', sha256='96d5aca684e1ce1425891a620d278773c25611cb144165a93b17531238eaaf8a')
- version('3.16.6', sha256='bfc836b52f57686b583c16ab7fae0c318a7b28141ca01656ad673c8ca23037fa')
- version('3.16.5', sha256='7de8570eeb94062752d82a83208fc2bafc77b3f515023a4c14d8ff9440e66cac')
- version('3.16.4', sha256='229cce22bdcfedb1fe827d306ed1afca9737786cdc3f0562b74a1966c1243caf')
- version('3.16.3', sha256='eff44c7e7f12991dc7d2b627c477807a215ce16c2ce8a1c78aa8237ddacf6ca5')
- version('3.16.2', sha256='7ab257ae150d4837ac8d3872a1d206997962578785ec2427639ceac46d131bbc')
- version('3.16.1', sha256='909cf7bce7b6a0ddb2580a1ac9502aa01631ec4105c716594c1804f0ee1ea06a')
- version('3.16.0', sha256='5aaad7deea127a4790c8aa95c42fd9451ab10b5d6c68b226b92d4853002f438d')
- version('3.15.5', sha256='67dc31f1c1c941a0e45301ed4042628586e92e8c4e9b119695717ae782ef23a3')
- version('3.15.4', sha256='1e62fb0859a12891022765d1e24660cfcd704291c58667082d81a0618d6b0047')
- version('3.15.3', sha256='483028088020001e6f8d57b78a7fc880ed52d6693f57d627779c428f55cff73d')
- version('3.15.2', sha256='3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8')
- version('3.15.1', sha256='c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb')
- version('3.15.0', sha256='ac46db6bfcaaec8cd28335231076815bd5438f401a4a05e33736b4f9ff12e59a')
- version('3.14.6', sha256='4de0c8820419fb15bc683b780127ff57067b62ca18749e864a87c6d7c93f1230')
- version('3.14.5', sha256='8b8ff5c4e10468f696803b354a502d690c7d25c19d694a7e10008a302fdbb048')
- version('3.14.4', sha256='b030969816e02c251a6d010c07a90b69ade44932f9ddfac3090ff5e95ab97d5c')
- version('3.14.3', sha256='63ed7e3440f2bbc732a6c44aa878364f88f5016ab375d9b36d742893a049053d')
- version('3.14.2', sha256='87a04fd05cac20a2ec47094b7d18b96e0651257d8c768ced2ef7db270ecfb9cb')
- version('3.14.1', sha256='0b4681165a9af96594c794b97ac6993452ec902726679f6b50bb450f89d230ed')
- version('3.14.0', sha256='a8f9caba03e0d57d8452c08505cf96be5f6949adaa266e819382162c03ddb9c5')
- version('3.13.6', sha256='67ca2cf3040d08fdc51d27f660ea3157732b24c2f47aae1b19d63f62a39842c2')
- version('3.13.5', sha256='10fc542dab961c8b17db35ad3a208cb184c237fc84e183817e38e6c7ab4b8732')
- version('3.13.4', sha256='8d470cba1ceb9638694550134a2f23aac85ed7249cb74992581210597d978b94')
- version('3.13.3', sha256='dc744895ee6b9c4491ff817bef0d3abd680c5e3c25e601be44240ce65ab4f337')
- version('3.13.2', sha256='6083422a7c5b8e89e5e4ccf64acade9bf8ab70245e25bca3a3da03caf74602f1')
- version('3.13.1', sha256='74a895e44e2ff1146838aaccb7613e7626d99e0eed64ca032c87c72d084efac3')
- version('3.13.0', sha256='f0ea543a54145c5d1387e25b121c3fd1b1ca834032c5a33f6f1d929e95bdf0e5')
- version('3.12.5', sha256='d676eb67e79314d6cca6422d7c477d2b192c830b89d5edc6b46934f7453bcfc0')
- version('3.12.4', sha256='56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3')
- version('3.12.3', sha256='91f77d7b0f54056f085b9e27938922db3d9bb1734a2e2a6d26f43d3e6c0cf631')
- version('3.12.2', sha256='d874b2e198c4cb73551c2eca1d2c5d27da710be4d00517adb8f9eb3d6d0375e8')
- version('3.12.1', sha256='b72d895d0f4a79acb13ebc782b47b26d10d4e5706d399f533afcd5b3dba13737')
- version('3.12.0', sha256='ba9ecf69783c7ebf05bd1c91dd1d4b38bf09b7a2d5f9a774aa6bb46deff7cb14')
- version('3.11.4', sha256='319cb5a875a692a67fe5b1b90009ba8f182e21921ae645d38106544aff20c3c1')
- version('3.11.3', sha256='199ad9650a9f58603b49e7fff7cd003ceb03aa231e5d37d0bf0496c6348eca81')
- version('3.11.2', sha256='4d244dd7d1565d6534e776445fcf6977a6ee2a8bb2be4a36ac1e0fc1f9ad9cfa')
- version('3.11.1', sha256='cb627f99f7ce1540ebbbf338189f89a5f1ecf3ab3b5b0e357f9e46c209f1fb23')
- version('3.11.0', sha256='b3bed2a9263193c84138052a1b92d47299c3490dd24d1d0bf79fb884e71e678a')
- version('3.10.5', sha256='3a81c8406410e0ffa8a3e9f8efcdf2e683cc40613c9bb5cb378a6498f595803e')
- version('3.10.4', sha256='6c836df84caa9ae683ae401d3f94eb9471353156fec6db602bf2e857e4ec339f')
- version('3.10.3', sha256='cd106babbae091604fee40c258737c84dec048949be779eaef5a745df3dc8de4')
- version('3.10.2', sha256='9d3381bcf9c63abe6521b21a88efc70f8e893293503cff497971d0d9c1ec68cc')
- version('3.10.1', sha256='b6e64ce062113ee0e2e2a6cfffb4d33c085ec91d5bc3afeb33781074aa5a22a5')
- version('3.10.0', sha256='6ebacc010397ea47649495e8363cd7d7d86b876e6df07c6f6ccfa48b22fa555c')
- version('3.9.4', sha256='ecc647c9b1ef565a2c113936454c65632eedc1626e0fc99b5a36accb91195a63')
- version('3.9.3', sha256='6c7f2c7a28433385d74d647b4934aaeea3c1b3053b207973c9497639b6ebf7c8')
- version('3.9.2', sha256='ab396ae5dbfff808df1b5648f5ce30f3021ec70faec3d5cd63df324d416ac6ac')
- version('3.9.1', sha256='742e838a35d278693e956ed1ca4592c1d663451f6beea0694bf334aeb67681e8')
- version('3.9.0', sha256='dcbcab1f321667be1c6e5f8e7b4ee8670bb09e372e51f1ea6471464519d54b2d')
- version('3.8.4', sha256='9f78dc4dd4c58433fa18d3dd3a9029e39a83e4e4b64f845a029dd9fed44bc4c7')
- version('3.8.3', sha256='01f9c3ed937eafac6c9e006510b61c7cd07197115ec40c429fc835f346ca3eac')
- version('3.8.2', sha256='42690508d408e31fb98be738ac097bc869be14c5bfe08dda2184243283ceb16a')
- version('3.8.1', sha256='9b48a9e72d304046923667d2ab1f201778cc56242928a374ff9e074843a334ff')
- version('3.8.0', sha256='1e1b4d90ccbf98dc5759a956ac9a771310a6690f1cbb37b31502b29568262d7e')
- version('3.7.7', sha256='40fd3bc76998e056c4097704c08f28eb89bf3b93164dc9e69abab393f43bf6f0')
- version('3.7.6', sha256='3c8ee051349587d45baa7910c54ce8e0a571592e3b40f3054a7b7f986919d449')
- version('3.7.5', sha256='493ab0b6c1b3fe68e71d990eff87c84f499f680e6d2c0c394e78646a82ed4be3')
- version('3.7.4', sha256='54b804f924ea5be3b6718b4d4e98f8ccb9d1bd6bbbd1e9c0f18c4a90ddf5db18')
- version('3.7.2', sha256='36681dd0df97e0d5cd182d902e89f527eb8f441f05271159dac5340acb4cf0ec')
- version('3.6.4', sha256='eb09925a139b52b4dd5a071b3da4fe2165f1d6e8f71d410479603c9976c940f0')
- version('3.6.3', sha256='776e2644e4003653c56a44a6f7c02c41427af26f7c5cd9bec3aa84ed90223245')
- version('3.5.3', sha256='68e6a42f5ec75bad87f74d4df8f55ad63f0c4d996f162da6713cb3d6f566830d')
- version('3.5.2', sha256='1a8f09af654afab787c732e7b2f5d0c1d856777398148351565389d38d30935e')
- version('3.5.1', sha256='199af205f62dcc572728600670c7d4c8cb0d4efc4172c26f02b895d9dd1df245')
- version('3.4.4', sha256='fa73b99caf70c416a967234f5476cdb1d2c014610ee0619e48f54d8d309631b7')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('mpi', default=True, description='Activates MPI support')
- variant('double', default=True,
- description='Switches between single and double precision')
- variant('complex', default=False, description='Build with complex numbers')
- variant('debug', default=False, description='Compile in debug mode')
-
- variant('metis', default=True,
- description='Activates support for metis and parmetis')
- variant('ptscotch', default=False,
- description='Activates support for PTScotch (only parallel)')
- variant('hdf5', default=True,
- 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')
+ maintainers = ["balay", "barrysmith", "jedbrown"]
+
+ tags = ["e4s"]
+
+ version("main", branch="main")
+
+ version("3.17.3", sha256="5c24ade5e4b32cc04935ba0db1dafe48d633bebaaa30a3033f1e58788d37875f")
+ version("3.17.2", sha256="2313dd1ca41bf0ace68671ea6f8d4abf90011ed899f5e1e08658d3f18478359d")
+ version("3.17.1", sha256="c504609d9f532327c20b6363d6a6c7647ebd3c98acfb382c28fcd3852300ddd1")
+ version("3.17.0", sha256="96d5aca684e1ce1425891a620d278773c25611cb144165a93b17531238eaaf8a")
+ version("3.16.6", sha256="bfc836b52f57686b583c16ab7fae0c318a7b28141ca01656ad673c8ca23037fa")
+ version("3.16.5", sha256="7de8570eeb94062752d82a83208fc2bafc77b3f515023a4c14d8ff9440e66cac")
+ version("3.16.4", sha256="229cce22bdcfedb1fe827d306ed1afca9737786cdc3f0562b74a1966c1243caf")
+ version("3.16.3", sha256="eff44c7e7f12991dc7d2b627c477807a215ce16c2ce8a1c78aa8237ddacf6ca5")
+ version("3.16.2", sha256="7ab257ae150d4837ac8d3872a1d206997962578785ec2427639ceac46d131bbc")
+ version("3.16.1", sha256="909cf7bce7b6a0ddb2580a1ac9502aa01631ec4105c716594c1804f0ee1ea06a")
+ version("3.16.0", sha256="5aaad7deea127a4790c8aa95c42fd9451ab10b5d6c68b226b92d4853002f438d")
+ version("3.15.5", sha256="67dc31f1c1c941a0e45301ed4042628586e92e8c4e9b119695717ae782ef23a3")
+ version("3.15.4", sha256="1e62fb0859a12891022765d1e24660cfcd704291c58667082d81a0618d6b0047")
+ version("3.15.3", sha256="483028088020001e6f8d57b78a7fc880ed52d6693f57d627779c428f55cff73d")
+ version("3.15.2", sha256="3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8")
+ version("3.15.1", sha256="c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb")
+ version("3.15.0", sha256="ac46db6bfcaaec8cd28335231076815bd5438f401a4a05e33736b4f9ff12e59a")
+ version("3.14.6", sha256="4de0c8820419fb15bc683b780127ff57067b62ca18749e864a87c6d7c93f1230")
+ version("3.14.5", sha256="8b8ff5c4e10468f696803b354a502d690c7d25c19d694a7e10008a302fdbb048")
+ version("3.14.4", sha256="b030969816e02c251a6d010c07a90b69ade44932f9ddfac3090ff5e95ab97d5c")
+ version("3.14.3", sha256="63ed7e3440f2bbc732a6c44aa878364f88f5016ab375d9b36d742893a049053d")
+ version("3.14.2", sha256="87a04fd05cac20a2ec47094b7d18b96e0651257d8c768ced2ef7db270ecfb9cb")
+ version("3.14.1", sha256="0b4681165a9af96594c794b97ac6993452ec902726679f6b50bb450f89d230ed")
+ version("3.14.0", sha256="a8f9caba03e0d57d8452c08505cf96be5f6949adaa266e819382162c03ddb9c5")
+ version("3.13.6", sha256="67ca2cf3040d08fdc51d27f660ea3157732b24c2f47aae1b19d63f62a39842c2")
+ version("3.13.5", sha256="10fc542dab961c8b17db35ad3a208cb184c237fc84e183817e38e6c7ab4b8732")
+ version("3.13.4", sha256="8d470cba1ceb9638694550134a2f23aac85ed7249cb74992581210597d978b94")
+ version("3.13.3", sha256="dc744895ee6b9c4491ff817bef0d3abd680c5e3c25e601be44240ce65ab4f337")
+ version("3.13.2", sha256="6083422a7c5b8e89e5e4ccf64acade9bf8ab70245e25bca3a3da03caf74602f1")
+ version("3.13.1", sha256="74a895e44e2ff1146838aaccb7613e7626d99e0eed64ca032c87c72d084efac3")
+ version("3.13.0", sha256="f0ea543a54145c5d1387e25b121c3fd1b1ca834032c5a33f6f1d929e95bdf0e5")
+ version("3.12.5", sha256="d676eb67e79314d6cca6422d7c477d2b192c830b89d5edc6b46934f7453bcfc0")
+ version("3.12.4", sha256="56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3")
+ version("3.12.3", sha256="91f77d7b0f54056f085b9e27938922db3d9bb1734a2e2a6d26f43d3e6c0cf631")
+ version("3.12.2", sha256="d874b2e198c4cb73551c2eca1d2c5d27da710be4d00517adb8f9eb3d6d0375e8")
+ version("3.12.1", sha256="b72d895d0f4a79acb13ebc782b47b26d10d4e5706d399f533afcd5b3dba13737")
+ version("3.12.0", sha256="ba9ecf69783c7ebf05bd1c91dd1d4b38bf09b7a2d5f9a774aa6bb46deff7cb14")
+ version("3.11.4", sha256="319cb5a875a692a67fe5b1b90009ba8f182e21921ae645d38106544aff20c3c1")
+ version("3.11.3", sha256="199ad9650a9f58603b49e7fff7cd003ceb03aa231e5d37d0bf0496c6348eca81")
+ version("3.11.2", sha256="4d244dd7d1565d6534e776445fcf6977a6ee2a8bb2be4a36ac1e0fc1f9ad9cfa")
+ version("3.11.1", sha256="cb627f99f7ce1540ebbbf338189f89a5f1ecf3ab3b5b0e357f9e46c209f1fb23")
+ version("3.11.0", sha256="b3bed2a9263193c84138052a1b92d47299c3490dd24d1d0bf79fb884e71e678a")
+ version("3.10.5", sha256="3a81c8406410e0ffa8a3e9f8efcdf2e683cc40613c9bb5cb378a6498f595803e")
+ version("3.10.4", sha256="6c836df84caa9ae683ae401d3f94eb9471353156fec6db602bf2e857e4ec339f")
+ version("3.10.3", sha256="cd106babbae091604fee40c258737c84dec048949be779eaef5a745df3dc8de4")
+ version("3.10.2", sha256="9d3381bcf9c63abe6521b21a88efc70f8e893293503cff497971d0d9c1ec68cc")
+ version("3.10.1", sha256="b6e64ce062113ee0e2e2a6cfffb4d33c085ec91d5bc3afeb33781074aa5a22a5")
+ version("3.10.0", sha256="6ebacc010397ea47649495e8363cd7d7d86b876e6df07c6f6ccfa48b22fa555c")
+ version("3.9.4", sha256="ecc647c9b1ef565a2c113936454c65632eedc1626e0fc99b5a36accb91195a63")
+ version("3.9.3", sha256="6c7f2c7a28433385d74d647b4934aaeea3c1b3053b207973c9497639b6ebf7c8")
+ version("3.9.2", sha256="ab396ae5dbfff808df1b5648f5ce30f3021ec70faec3d5cd63df324d416ac6ac")
+ version("3.9.1", sha256="742e838a35d278693e956ed1ca4592c1d663451f6beea0694bf334aeb67681e8")
+ version("3.9.0", sha256="dcbcab1f321667be1c6e5f8e7b4ee8670bb09e372e51f1ea6471464519d54b2d")
+ version("3.8.4", sha256="9f78dc4dd4c58433fa18d3dd3a9029e39a83e4e4b64f845a029dd9fed44bc4c7")
+ version("3.8.3", sha256="01f9c3ed937eafac6c9e006510b61c7cd07197115ec40c429fc835f346ca3eac")
+ version("3.8.2", sha256="42690508d408e31fb98be738ac097bc869be14c5bfe08dda2184243283ceb16a")
+ version("3.8.1", sha256="9b48a9e72d304046923667d2ab1f201778cc56242928a374ff9e074843a334ff")
+ version("3.8.0", sha256="1e1b4d90ccbf98dc5759a956ac9a771310a6690f1cbb37b31502b29568262d7e")
+ version("3.7.7", sha256="40fd3bc76998e056c4097704c08f28eb89bf3b93164dc9e69abab393f43bf6f0")
+ version("3.7.6", sha256="3c8ee051349587d45baa7910c54ce8e0a571592e3b40f3054a7b7f986919d449")
+ version("3.7.5", sha256="493ab0b6c1b3fe68e71d990eff87c84f499f680e6d2c0c394e78646a82ed4be3")
+ version("3.7.4", sha256="54b804f924ea5be3b6718b4d4e98f8ccb9d1bd6bbbd1e9c0f18c4a90ddf5db18")
+ version("3.7.2", sha256="36681dd0df97e0d5cd182d902e89f527eb8f441f05271159dac5340acb4cf0ec")
+ version("3.6.4", sha256="eb09925a139b52b4dd5a071b3da4fe2165f1d6e8f71d410479603c9976c940f0")
+ version("3.6.3", sha256="776e2644e4003653c56a44a6f7c02c41427af26f7c5cd9bec3aa84ed90223245")
+ version("3.5.3", sha256="68e6a42f5ec75bad87f74d4df8f55ad63f0c4d996f162da6713cb3d6f566830d")
+ version("3.5.2", sha256="1a8f09af654afab787c732e7b2f5d0c1d856777398148351565389d38d30935e")
+ version("3.5.1", sha256="199af205f62dcc572728600670c7d4c8cb0d4efc4172c26f02b895d9dd1df245")
+ version("3.4.4", sha256="fa73b99caf70c416a967234f5476cdb1d2c014610ee0619e48f54d8d309631b7")
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=True, description="Activates MPI support")
+ variant("double", default=True, description="Switches between single and double precision")
+ variant("complex", default=False, description="Build with complex numbers")
+ variant("debug", default=False, description="Compile in debug mode")
+
+ variant("metis", default=True, description="Activates support for metis and parmetis")
+ variant(
+ "ptscotch", default=False, description="Activates support for PTScotch (only parallel)"
+ )
+ variant("hdf5", default=True, 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,
- description='Activates support for MUMPS (only parallel)')
- variant('superlu-dist', default=True, when='+fortran',
- description='Activates support for superlu-dist (only parallel)')
- variant('strumpack', default=False,
- description='Activates support for Strumpack')
- variant('scalapack', default=False, when='+fortran',
- description='Activates support for Scalapack')
- variant('trilinos', default=False,
- description='Activates support for Trilinos (only parallel)')
- variant('mkl-pardiso', default=False,
- description='Activates support for MKL Pardiso')
- variant('int64', default=False,
- description='Compile with 64bit indices')
- variant('clanguage', default='C', values=('C', 'C++'),
- description='Specify C (recommended) or C++ to compile PETSc',
- multi=False)
- variant('fftw', default=False,
- description='Activates support for FFTW (only parallel)')
- variant('suite-sparse', default=False,
- description='Activates support for SuiteSparse')
- variant('knl', default=False,
- description='Build for KNL')
- variant('X', default=False,
- description='Activate X support')
- variant('batch', default=False,
- description='Enable when mpiexec is not available to run binaries')
- variant('valgrind', default=False,
- description='Enable Valgrind Client Request mechanism')
- variant('jpeg', default=False,
- description='Activates support for JPEG')
- variant('libpng', default=False,
- description='Activates support for PNG')
- variant('giflib', default=False,
- description='Activates support for GIF')
- variant('mpfr', default=False,
- description='Activates support for MPFR')
- variant('moab', default=False,
- description='Acivates support for MOAB (only parallel)')
- variant('random123', default=False,
- description='Activates support for Random123')
- variant('exodusii', default=False,
- description='Activates support for ExodusII (only parallel)')
- variant('cgns', default=False,
- description='Activates support for CGNS (only parallel)')
- variant('memkind', default=False,
- description='Activates support for Memkind')
- variant('p4est', default=False,
- description='Activates support for P4Est (only parallel)')
- variant('saws', default=False,
- description='Activates support for Saws')
- variant('libyaml', default=False,
- description='Activates support for YAML')
- variant('openmp', default=False,
- description='Activates support for openmp')
- variant('hwloc', default=False,
- description='Activates support for hwloc')
- variant('kokkos', default=False,
- description='Activates support for kokkos and kokkos-kernels')
- variant('fortran', default=True,
- description='Activates fortran support')
+ variant("mumps", default=False, description="Activates support for MUMPS (only parallel)")
+ variant(
+ "superlu-dist",
+ default=True,
+ when="+fortran",
+ description="Activates support for superlu-dist (only parallel)",
+ )
+ variant("strumpack", default=False, description="Activates support for Strumpack")
+ variant(
+ "scalapack", default=False, when="+fortran", description="Activates support for Scalapack"
+ )
+ variant(
+ "trilinos", default=False, description="Activates support for Trilinos (only parallel)"
+ )
+ variant("mkl-pardiso", default=False, description="Activates support for MKL Pardiso")
+ variant("int64", default=False, description="Compile with 64bit indices")
+ variant(
+ "clanguage",
+ default="C",
+ values=("C", "C++"),
+ description="Specify C (recommended) or C++ to compile PETSc",
+ multi=False,
+ )
+ variant("fftw", default=False, description="Activates support for FFTW (only parallel)")
+ variant("suite-sparse", default=False, description="Activates support for SuiteSparse")
+ variant("knl", default=False, description="Build for KNL")
+ variant("X", default=False, description="Activate X support")
+ variant(
+ "batch", default=False, description="Enable when mpiexec is not available to run binaries"
+ )
+ variant("valgrind", default=False, description="Enable Valgrind Client Request mechanism")
+ variant("jpeg", default=False, description="Activates support for JPEG")
+ variant("libpng", default=False, description="Activates support for PNG")
+ variant("giflib", default=False, description="Activates support for GIF")
+ variant("mpfr", default=False, description="Activates support for MPFR")
+ variant("moab", default=False, description="Acivates support for MOAB (only parallel)")
+ variant("random123", default=False, description="Activates support for Random123")
+ variant(
+ "exodusii", default=False, description="Activates support for ExodusII (only parallel)"
+ )
+ variant("cgns", default=False, description="Activates support for CGNS (only parallel)")
+ variant("memkind", default=False, description="Activates support for Memkind")
+ variant("p4est", default=False, description="Activates support for P4Est (only parallel)")
+ variant("saws", default=False, description="Activates support for Saws")
+ variant("libyaml", default=False, description="Activates support for YAML")
+ variant("openmp", default=False, description="Activates support for openmp")
+ variant("hwloc", default=False, description="Activates support for hwloc")
+ variant("kokkos", default=False, description="Activates support for kokkos and kokkos-kernels")
+ variant("fortran", default=True, description="Activates fortran support")
# 3.8.0 has a build issue with MKL - so list this conflict explicitly
- conflicts('^intel-mkl', when='@3.8.0')
+ conflicts("^intel-mkl", when="@3.8.0")
# These require +mpi
- mpi_msg = 'Requires +mpi'
- conflicts('+cgns', when='~mpi', msg=mpi_msg)
- conflicts('+exodusii', when='~mpi', msg=mpi_msg)
- conflicts('+fftw', when='~mpi', msg=mpi_msg)
- conflicts('+hdf5', when='~mpi', msg=mpi_msg)
- conflicts('+hypre', when='~mpi', msg=mpi_msg)
- conflicts('+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)
- conflicts('+ptscotch', when='~mpi', msg=mpi_msg)
- conflicts('+superlu-dist', when='~mpi', msg=mpi_msg)
- conflicts('+trilinos', when='~mpi', msg=mpi_msg)
- conflicts('+kokkos', when='~mpi', msg=mpi_msg)
- conflicts('^openmpi~cuda', when='+cuda') # +cuda requires CUDA enabled OpenMPI
+ mpi_msg = "Requires +mpi"
+ conflicts("+cgns", when="~mpi", msg=mpi_msg)
+ conflicts("+exodusii", when="~mpi", msg=mpi_msg)
+ conflicts("+fftw", when="~mpi", msg=mpi_msg)
+ conflicts("+hdf5", when="~mpi", msg=mpi_msg)
+ conflicts("+hypre", when="~mpi", msg=mpi_msg)
+ conflicts("+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)
+ conflicts("+ptscotch", when="~mpi", msg=mpi_msg)
+ conflicts("+superlu-dist", when="~mpi", msg=mpi_msg)
+ conflicts("+trilinos", when="~mpi", msg=mpi_msg)
+ conflicts("+kokkos", when="~mpi", msg=mpi_msg)
+ conflicts("^openmpi~cuda", when="+cuda") # +cuda requires CUDA enabled OpenMPI
# older versions of petsc did not support mumps when +int64
- conflicts('+mumps', when='@:3.12+int64')
+ conflicts("+mumps", when="@:3.12+int64")
- filter_compiler_wrappers(
- 'petscvariables', relative_root='lib/petsc/conf'
- )
+ filter_compiler_wrappers("petscvariables", relative_root="lib/petsc/conf")
- @run_before('configure')
+ @run_before("configure")
def check_fortran_compiler(self):
# Raise error if +fortran and there isn't a fortran compiler!
- if '+fortran' in self.spec and self.compiler.fc is None:
+ if "+fortran" in self.spec and self.compiler.fc is None:
raise InstallError("+fortran requires a fortran compiler!")
# temporary workaround Clang 8.1.0 with XCode 8.3 on macOS, see
# https://bitbucket.org/petsc/petsc/commits/4f290403fdd060d09d5cb07345cbfd52670e3cbc
# the patch is an adaptation of the original commit to 3.7.5
- patch('macos-clang-8.1.0.diff', when='@3.7.5%apple-clang@8.1.0:')
- patch('pkg-config-3.7.6-3.8.4.diff', when='@3.7.6:3.8.4')
- patch('xcode_stub_out_of_sync.patch', when='@:3.10.4')
- patch('xlf_fix-dup-petscfecreate.patch', when='@3.11.0')
- patch('disable-DEPRECATED_ENUM.diff', when='@3.14.1 +cuda')
+ patch("macos-clang-8.1.0.diff", when="@3.7.5%apple-clang@8.1.0:")
+ patch("pkg-config-3.7.6-3.8.4.diff", when="@3.7.6:3.8.4")
+ patch("xcode_stub_out_of_sync.patch", when="@:3.10.4")
+ patch("xlf_fix-dup-petscfecreate.patch", when="@3.11.0")
+ patch("disable-DEPRECATED_ENUM.diff", when="@3.14.1 +cuda")
- depends_on('diffutils', type='build')
+ depends_on("diffutils", type="build")
# Virtual dependencies
# Git repository needs sowing to build Fortran interface
- depends_on('sowing', when='@main')
+ depends_on("sowing", when="@main")
# PETSc, hypre, superlu_dist when built with int64 use 32 bit integers
# with BLAS/LAPACK
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('cuda', when='+cuda')
- depends_on('hip', when='+rocm')
- depends_on('hipblas', when='+rocm')
- depends_on('hipsparse', when='+rocm')
- depends_on('rocsparse', when='+rocm')
- depends_on('rocsolver', when='+rocm')
- depends_on('rocblas', when='+rocm')
- depends_on('rocrand', when='+rocm')
- depends_on('rocthrust', when='+rocm')
- depends_on('rocprim', when='+rocm')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("cuda", when="+cuda")
+ depends_on("hip", when="+rocm")
+ depends_on("hipblas", when="+rocm")
+ depends_on("hipsparse", when="+rocm")
+ depends_on("rocsparse", when="+rocm")
+ depends_on("rocsolver", when="+rocm")
+ depends_on("rocblas", when="+rocm")
+ depends_on("rocrand", when="+rocm")
+ depends_on("rocthrust", when="+rocm")
+ depends_on("rocprim", when="+rocm")
# Build dependencies
- depends_on('python@2.6:2.8', type='build', when='@:3.10')
- depends_on('python@2.6:2.8,3.4:', type='build', when='@3.11:')
+ depends_on("python@2.6:2.8", type="build", when="@:3.10")
+ depends_on("python@2.6:2.8,3.4:", type="build", when="@3.11:")
# Other dependencies
- depends_on('metis@5:~int64+real64', when='@:3.7+metis~int64+double')
- depends_on('metis@5:~int64', when='@:3.7+metis~int64~double')
- depends_on('metis@5:+int64+real64', when='@:3.7+metis+int64+double')
- depends_on('metis@5:+int64', when='@:3.7+metis+int64~double')
+ depends_on("metis@5:~int64+real64", when="@:3.7+metis~int64+double")
+ depends_on("metis@5:~int64", when="@:3.7+metis~int64~double")
+ depends_on("metis@5:+int64+real64", when="@:3.7+metis+int64+double")
+ depends_on("metis@5:+int64", when="@:3.7+metis+int64~double")
# petsc-3.8+ uses default (float) metis with any (petsc) precision
- depends_on('metis@5:~int64', when='@3.8:+metis~int64')
- depends_on('metis@5:+int64', when='@3.8:+metis+int64')
+ depends_on("metis@5:~int64", when="@3.8:+metis~int64")
+ depends_on("metis@5:+int64", when="@3.8:+metis+int64")
# PTScotch: Currently disable Parmetis wrapper, this means
# nested disection won't be available thought PTScotch
- depends_on('scotch+esmumps~metis+mpi', when='+ptscotch')
- depends_on('scotch+int64', when='+ptscotch+int64')
-
- depends_on('hdf5@:1.10+mpi', when='@:3.12+hdf5+mpi')
- depends_on('hdf5+mpi', when='@3.13:+hdf5+mpi')
- depends_on('hdf5+mpi', when='+exodusii+mpi')
- depends_on('hdf5+mpi', when='+cgns+mpi')
- depends_on('zlib', when='+hdf5')
- depends_on('zlib', when='+libpng')
- depends_on('zlib', when='+p4est')
- depends_on('parmetis+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')
+ depends_on("scotch+esmumps~metis+mpi", when="+ptscotch")
+ depends_on("scotch+int64", when="+ptscotch+int64")
+
+ depends_on("hdf5@:1.10+mpi", when="@:3.12+hdf5+mpi")
+ depends_on("hdf5+mpi", when="@3.13:+hdf5+mpi")
+ depends_on("hdf5+mpi", when="+exodusii+mpi")
+ depends_on("hdf5+mpi", when="+cgns+mpi")
+ depends_on("zlib", when="+hdf5")
+ depends_on("zlib", when="+libpng")
+ depends_on("zlib", when="+p4est")
+ depends_on("parmetis+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+/~fortran based on wheter fortran is enabled/disabled
- depends_on('hypre+fortran', when='+hypre+fortran')
- depends_on('hypre~fortran', when='+hypre~fortran')
+ depends_on("hypre+fortran", when="+hypre+fortran")
+ depends_on("hypre~fortran", when="+hypre~fortran")
# Hypre does not support complex numbers.
# Also PETSc prefer to build it without internal superlu, likely due to
# conflict in headers see
# https://bitbucket.org/petsc/petsc/src/90564b43f6b05485163c147b464b5d6d28cde3ef/config/BuildSystem/config/packages/hypre.py
- depends_on('hypre@:2.13+mpi~internal-superlu~int64', when='@:3.8+hypre+mpi~complex~int64')
- depends_on('hypre@:2.13+mpi~internal-superlu+int64', when='@:3.8+hypre+mpi~complex+int64')
- depends_on('hypre@2.14:2.18.2+mpi~internal-superlu~int64', when='@3.9:3.13+hypre+mpi~complex~int64')
- depends_on('hypre@2.14:2.18.2+mpi~internal-superlu+int64', when='@3.9:3.13+hypre+mpi~complex+int64')
- depends_on('hypre@2.14:2.22.0+mpi~internal-superlu~int64', when='@3.14:3.15+hypre+mpi~complex~int64')
- depends_on('hypre@2.14:2.22.0+mpi~internal-superlu+int64', when='@3.14:3.15+hypre+mpi~complex+int64')
- depends_on('hypre@2.14:+mpi~internal-superlu~int64', when='@3.16:+hypre+mpi~complex~int64')
- depends_on('hypre@2.14:+mpi~internal-superlu+int64', when='@3.16:+hypre+mpi~complex+int64')
- depends_on('hypre@develop+mpi~internal-superlu+int64', when='@main+hypre+mpi~complex+int64')
- depends_on('hypre@develop+mpi~internal-superlu~int64', when='@main+hypre+mpi~complex~int64')
- depends_on('superlu-dist@:4.3~int64', when='@3.4.4:3.6.4+superlu-dist+mpi~int64')
- depends_on('superlu-dist@:4.3+int64', when='@3.4.4:3.6.4+superlu-dist+mpi+int64')
- depends_on('superlu-dist@5.0.0:5.1.3~int64', when='@3.7.0:3.7+superlu-dist+mpi~int64')
- depends_on('superlu-dist@5.0.0:5.1.3+int64', when='@3.7.0:3.7+superlu-dist+mpi+int64')
- depends_on('superlu-dist@5.2.0:5.2~int64', when='@3.8:3.9+superlu-dist+mpi~int64')
- depends_on('superlu-dist@5.2.0:5.2+int64', when='@3.8:3.9+superlu-dist+mpi+int64')
- depends_on('superlu-dist@5.4.0:5.4~int64', when='@3.10:3.10.2+superlu-dist+mpi~int64')
- depends_on('superlu-dist@5.4.0:5.4+int64', when='@3.10:3.10.2+superlu-dist+mpi+int64')
- depends_on('superlu-dist@6.1.0:6.1~int64', when='@3.10.3:3.12+superlu-dist+mpi~int64')
- depends_on('superlu-dist@6.1.0:6.1+int64', when='@3.10.3:3.12+superlu-dist+mpi+int64')
- depends_on('superlu-dist@6.1:~int64', when='@3.13.0:+superlu-dist+mpi~int64')
- depends_on('superlu-dist@6.1:+int64', when='@3.13.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')
- depends_on('mumps+mpi~int64+metis+parmetis+openmp', when='+mumps+metis+openmp')
- depends_on('scalapack', when='+mumps')
- depends_on('trilinos@12.6.2:+mpi', when='@3.7.0:+trilinos+mpi')
- depends_on('trilinos@develop+mpi', when='@main+trilinos+mpi')
- depends_on('mkl', when='+mkl-pardiso')
- depends_on('fftw+mpi', when='+fftw+mpi')
- depends_on('suite-sparse', when='+suite-sparse')
- depends_on('libx11', when='+X')
- depends_on('mpfr', when='+mpfr')
- depends_on('gmp', when='+mpfr')
- depends_on('jpeg', when='+jpeg')
- depends_on('libpng', when='+libpng')
- depends_on('giflib', when='+giflib')
- depends_on('exodusii+mpi', when='+exodusii+mpi')
- depends_on('netcdf-c+mpi', when='+exodusii+mpi')
- depends_on('parallel-netcdf', when='+exodusii+mpi')
- depends_on('random123', when='+random123')
- depends_on('moab+mpi', when='+moab+mpi')
- depends_on('cgns+mpi', when='+cgns+mpi')
- depends_on('memkind', when='+memkind')
- depends_on('p4est+mpi', when='+p4est+mpi')
- depends_on('saws', when='+saws')
- depends_on('libyaml', when='+libyaml')
- depends_on('hwloc', when='+hwloc')
- depends_on('kokkos', when='+kokkos')
- depends_on('kokkos-kernels', when='+kokkos')
- depends_on('kokkos+cuda+wrapper+cuda_lambda', when='+kokkos +cuda')
- depends_on('kokkos-kernels+cuda', when='+kokkos +cuda')
- depends_on('kokkos+rocm', when='+kokkos +rocm')
-
- phases = ['configure', 'build', 'install']
+ depends_on("hypre@:2.13+mpi~internal-superlu~int64", when="@:3.8+hypre+mpi~complex~int64")
+ depends_on("hypre@:2.13+mpi~internal-superlu+int64", when="@:3.8+hypre+mpi~complex+int64")
+ depends_on(
+ "hypre@2.14:2.18.2+mpi~internal-superlu~int64", when="@3.9:3.13+hypre+mpi~complex~int64"
+ )
+ depends_on(
+ "hypre@2.14:2.18.2+mpi~internal-superlu+int64", when="@3.9:3.13+hypre+mpi~complex+int64"
+ )
+ depends_on(
+ "hypre@2.14:2.22.0+mpi~internal-superlu~int64", when="@3.14:3.15+hypre+mpi~complex~int64"
+ )
+ depends_on(
+ "hypre@2.14:2.22.0+mpi~internal-superlu+int64", when="@3.14:3.15+hypre+mpi~complex+int64"
+ )
+ depends_on("hypre@2.14:+mpi~internal-superlu~int64", when="@3.16:+hypre+mpi~complex~int64")
+ depends_on("hypre@2.14:+mpi~internal-superlu+int64", when="@3.16:+hypre+mpi~complex+int64")
+ depends_on("hypre@develop+mpi~internal-superlu+int64", when="@main+hypre+mpi~complex+int64")
+ depends_on("hypre@develop+mpi~internal-superlu~int64", when="@main+hypre+mpi~complex~int64")
+ depends_on("superlu-dist@:4.3~int64", when="@3.4.4:3.6.4+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@:4.3+int64", when="@3.4.4:3.6.4+superlu-dist+mpi+int64")
+ depends_on("superlu-dist@5.0.0:5.1.3~int64", when="@3.7.0:3.7+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@5.0.0:5.1.3+int64", when="@3.7.0:3.7+superlu-dist+mpi+int64")
+ depends_on("superlu-dist@5.2.0:5.2~int64", when="@3.8:3.9+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@5.2.0:5.2+int64", when="@3.8:3.9+superlu-dist+mpi+int64")
+ depends_on("superlu-dist@5.4.0:5.4~int64", when="@3.10:3.10.2+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@5.4.0:5.4+int64", when="@3.10:3.10.2+superlu-dist+mpi+int64")
+ depends_on("superlu-dist@6.1.0:6.1~int64", when="@3.10.3:3.12+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@6.1.0:6.1+int64", when="@3.10.3:3.12+superlu-dist+mpi+int64")
+ depends_on("superlu-dist@6.1:~int64", when="@3.13.0:+superlu-dist+mpi~int64")
+ depends_on("superlu-dist@6.1:+int64", when="@3.13.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")
+ depends_on("mumps+mpi~int64+metis+parmetis+openmp", when="+mumps+metis+openmp")
+ depends_on("scalapack", when="+mumps")
+ depends_on("trilinos@12.6.2:+mpi", when="@3.7.0:+trilinos+mpi")
+ depends_on("trilinos@develop+mpi", when="@main+trilinos+mpi")
+ depends_on("mkl", when="+mkl-pardiso")
+ depends_on("fftw+mpi", when="+fftw+mpi")
+ depends_on("suite-sparse", when="+suite-sparse")
+ depends_on("libx11", when="+X")
+ depends_on("mpfr", when="+mpfr")
+ depends_on("gmp", when="+mpfr")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libpng", when="+libpng")
+ depends_on("giflib", when="+giflib")
+ depends_on("exodusii+mpi", when="+exodusii+mpi")
+ depends_on("netcdf-c+mpi", when="+exodusii+mpi")
+ depends_on("parallel-netcdf", when="+exodusii+mpi")
+ depends_on("random123", when="+random123")
+ depends_on("moab+mpi", when="+moab+mpi")
+ depends_on("cgns+mpi", when="+cgns+mpi")
+ depends_on("memkind", when="+memkind")
+ depends_on("p4est+mpi", when="+p4est+mpi")
+ depends_on("saws", when="+saws")
+ depends_on("libyaml", when="+libyaml")
+ depends_on("hwloc", when="+hwloc")
+ depends_on("kokkos", when="+kokkos")
+ depends_on("kokkos-kernels", when="+kokkos")
+ depends_on("kokkos+cuda+wrapper+cuda_lambda", when="+kokkos +cuda")
+ depends_on("kokkos-kernels+cuda", when="+kokkos +cuda")
+ depends_on("kokkos+rocm", when="+kokkos +rocm")
+
+ phases = ["configure", "build", "install"]
# Using the following tarballs
# * petsc-3.12 (and older) - includes docs
# * petsc-lite-3.13, petsc-lite-3.14 (without docs)
# * petsc-3.15 and newer (without docs)
def url_for_version(self, version):
- if self.spec.satisfies('@3.13.0:3.14.6'):
- return "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-{0}.tar.gz".format(version)
+ if self.spec.satisfies("@3.13.0:3.14.6"):
+ return (
+ "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-{0}.tar.gz".format(
+ version
+ )
+ )
else:
- return "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-{0}.tar.gz".format(version)
+ return "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-{0}.tar.gz".format(
+ version
+ )
def mpi_dependent_options(self):
- if '~mpi' in self.spec:
+ if "~mpi" in self.spec:
compiler_opts = [
- '--with-cc=%s' % os.environ['CC'],
- '--with-cxx=%s' % (os.environ['CXX']
- if self.compiler.cxx is not None else '0'),
- '--with-mpi=0'
+ "--with-cc=%s" % os.environ["CC"],
+ "--with-cxx=%s" % (os.environ["CXX"] if self.compiler.cxx is not None else "0"),
+ "--with-mpi=0",
]
- if '+fortran' in self.spec:
- compiler_opts.append('--with-fc=%s' % os.environ['FC'])
+ if "+fortran" in self.spec:
+ compiler_opts.append("--with-fc=%s" % os.environ["FC"])
else:
- compiler_opts.append('--with-fc=0')
+ compiler_opts.append("--with-fc=0")
else:
compiler_opts = [
- '--with-cc=%s' % self.spec['mpi'].mpicc,
- '--with-cxx=%s' % self.spec['mpi'].mpicxx,
+ "--with-cc=%s" % self.spec["mpi"].mpicc,
+ "--with-cxx=%s" % self.spec["mpi"].mpicxx,
]
- if '+fortran' in self.spec:
- compiler_opts.append('--with-fc=%s' % self.spec['mpi'].mpifc)
+ if "+fortran" in self.spec:
+ compiler_opts.append("--with-fc=%s" % self.spec["mpi"].mpifc)
else:
- compiler_opts.append('--with-fc=0')
- if self.spec.satisfies('%intel'):
+ compiler_opts.append("--with-fc=0")
+ if self.spec.satisfies("%intel"):
# mpiifort needs some help to automatically link
# all necessary run-time libraries
- compiler_opts.append('--FC_LINKER_FLAGS=-lintlc')
+ compiler_opts.append("--FC_LINKER_FLAGS=-lintlc")
return compiler_opts
def configure_options(self):
spec = self.spec
- options = ['--with-ssl=0',
- '--download-c2html=0',
- '--download-sowing=0',
- '--download-hwloc=0']
+ options = [
+ "--with-ssl=0",
+ "--download-c2html=0",
+ "--download-sowing=0",
+ "--download-hwloc=0",
+ ]
# If 'cflags', 'fflags', and/or 'cxxflags' are not set, let the PETSc
# configuration script choose defaults.
- if spec.compiler_flags['cflags']:
- options += [
- 'CFLAGS=%s' % ' '.join(spec.compiler_flags['cflags'])]
- if '+debug' not in spec:
- options += ['COPTFLAGS=']
- if spec.compiler_flags['fflags']:
- options += [
- 'FFLAGS=%s' % ' '.join(spec.compiler_flags['fflags'])]
- if '+debug' not in spec:
- options += ['FOPTFLAGS=']
- if spec.compiler_flags['cxxflags']:
- options += [
- 'CXXFLAGS=%s' % ' '.join(spec.compiler_flags['cxxflags'])]
- if '+debug' not in spec:
- options += ['CXXOPTFLAGS=']
+ if spec.compiler_flags["cflags"]:
+ options += ["CFLAGS=%s" % " ".join(spec.compiler_flags["cflags"])]
+ if "+debug" not in spec:
+ options += ["COPTFLAGS="]
+ if spec.compiler_flags["fflags"]:
+ options += ["FFLAGS=%s" % " ".join(spec.compiler_flags["fflags"])]
+ if "+debug" not in spec:
+ options += ["FOPTFLAGS="]
+ if spec.compiler_flags["cxxflags"]:
+ options += ["CXXFLAGS=%s" % " ".join(spec.compiler_flags["cxxflags"])]
+ if "+debug" not in spec:
+ options += ["CXXOPTFLAGS="]
options.extend(self.mpi_dependent_options())
- options.extend([
- '--with-precision=%s' % (
- 'double' if '+double' in spec else 'single'),
- '--with-scalar-type=%s' % (
- 'complex' if '+complex' in spec else 'real'),
- '--with-shared-libraries=%s' % ('1' if '+shared' in spec else '0'),
- '--with-debugging=%s' % ('1' if '+debug' in spec else '0'),
- '--with-openmp=%s' % ('1' if '+openmp' in spec else '0'),
- '--with-64-bit-indices=%s' % ('1' if '+int64' in spec else '0')
- ])
+ options.extend(
+ [
+ "--with-precision=%s" % ("double" if "+double" in spec else "single"),
+ "--with-scalar-type=%s" % ("complex" if "+complex" in spec else "real"),
+ "--with-shared-libraries=%s" % ("1" if "+shared" in spec else "0"),
+ "--with-debugging=%s" % ("1" if "+debug" in spec else "0"),
+ "--with-openmp=%s" % ("1" if "+openmp" in spec else "0"),
+ "--with-64-bit-indices=%s" % ("1" if "+int64" in spec else "0"),
+ ]
+ )
# Make sure we use exactly the same Blas/Lapack libraries
# across the DAG. To that end list them explicitly
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- options.extend([
- '--with-blas-lapack-lib=%s' % lapack_blas.joined()
- ])
-
- if '+batch' in spec:
- options.append('--with-batch=1')
- if '+knl' in spec:
- options.append('--with-avx-512-kernels')
- options.append('--with-memalign=64')
- if '+X' in spec:
- options.append('--with-x=1')
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ options.extend(["--with-blas-lapack-lib=%s" % lapack_blas.joined()])
+
+ if "+batch" in spec:
+ options.append("--with-batch=1")
+ if "+knl" in spec:
+ options.append("--with-avx-512-kernels")
+ options.append("--with-memalign=64")
+ if "+X" in spec:
+ options.append("--with-x=1")
else:
- options.append('--with-x=0')
+ options.append("--with-x=0")
- if 'trilinos' in spec:
- if spec.satisfies('^trilinos+boost'):
- options.append('--with-boost=1')
+ if "trilinos" in spec:
+ if spec.satisfies("^trilinos+boost"):
+ options.append("--with-boost=1")
- if spec.satisfies('clanguage=C++'):
- options.append('--with-clanguage=C++')
+ if spec.satisfies("clanguage=C++"):
+ options.append("--with-clanguage=C++")
else:
- options.append('--with-clanguage=C')
+ options.append("--with-clanguage=C")
# to be used in the list of libraries below
- if '+fortran' in spec:
- hdf5libs = ':hl,fortran'
+ if "+fortran" in spec:
+ hdf5libs = ":hl,fortran"
else:
- hdf5libs = ':hl'
+ hdf5libs = ":hl"
# tuple format (spacklibname, petsclibname, useinc, uselib)
# default: 'gmp', => ('gmp', 'gmp', True, True)
@@ -457,47 +445,51 @@ class Petsc(Package, CudaPackage, ROCmPackage):
direct_dependencies = []
for dep in spec.dependencies():
direct_dependencies.append(dep.name)
- direct_dependencies.extend(
- set(vspec.name for vspec in dep.package.virtuals_provided))
+ direct_dependencies.extend(set(vspec.name for vspec in dep.package.virtuals_provided))
for library in (
- ('cuda', 'cuda', False, False),
- ('hip', 'hip', True, False),
- 'metis',
- 'hypre',
- 'parmetis',
- ('kokkos', 'kokkos', False, False),
- ('kokkos-kernels', 'kokkos-kernels', False, False),
- ('superlu-dist', 'superlu_dist', True, True),
- ('scotch', 'ptscotch', True, True),
- ('suite-sparse:umfpack,klu,cholmod,btf,ccolamd,colamd,camd,amd, \
- suitesparseconfig,spqr', 'suitesparse', True, True),
- ('hdf5' + hdf5libs, 'hdf5', True, True),
- 'zlib',
- 'mumps',
- ('trilinos', 'trilinos', False, False),
- ('fftw:mpi', 'fftw', True, True),
- ('valgrind', 'valgrind', False, False),
- 'gmp',
- 'libpng',
- ('giflib', 'giflib', False, False),
- 'mpfr',
- ('netcdf-c', 'netcdf', True, True),
- ('parallel-netcdf', 'pnetcdf', True, True),
- ('moab', 'moab', False, False),
- ('random123', 'random123', False, False),
- 'exodusii',
- 'cgns',
- 'memkind',
- 'p4est',
- ('saws', 'saws', False, False),
- ('libyaml', 'yaml', True, True),
- 'hwloc',
- ('jpeg', 'libjpeg', True, True),
- ('scalapack', 'scalapack', False, True),
- 'strumpack',
- 'mmg',
- 'parmmg',
- ('tetgen', 'tetgen', False, False),
+ ("cuda", "cuda", False, False),
+ ("hip", "hip", True, False),
+ "metis",
+ "hypre",
+ "parmetis",
+ ("kokkos", "kokkos", False, False),
+ ("kokkos-kernels", "kokkos-kernels", False, False),
+ ("superlu-dist", "superlu_dist", True, True),
+ ("scotch", "ptscotch", True, True),
+ (
+ "suite-sparse:umfpack,klu,cholmod,btf,ccolamd,colamd,camd,amd, \
+ suitesparseconfig,spqr",
+ "suitesparse",
+ True,
+ True,
+ ),
+ ("hdf5" + hdf5libs, "hdf5", True, True),
+ "zlib",
+ "mumps",
+ ("trilinos", "trilinos", False, False),
+ ("fftw:mpi", "fftw", True, True),
+ ("valgrind", "valgrind", False, False),
+ "gmp",
+ "libpng",
+ ("giflib", "giflib", False, False),
+ "mpfr",
+ ("netcdf-c", "netcdf", True, True),
+ ("parallel-netcdf", "pnetcdf", True, True),
+ ("moab", "moab", False, False),
+ ("random123", "random123", False, False),
+ "exodusii",
+ "cgns",
+ "memkind",
+ "p4est",
+ ("saws", "saws", False, False),
+ ("libyaml", "yaml", True, True),
+ "hwloc",
+ ("jpeg", "libjpeg", True, True),
+ ("scalapack", "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
@@ -509,181 +501,193 @@ class Petsc(Package, CudaPackage, ROCmPackage):
useinc = True
uselib = True
- library_requested = spacklibname.split(':')[0] in direct_dependencies
+ library_requested = spacklibname.split(":")[0] in direct_dependencies
options.append(
- '--with-{library}={value}'.format(
- library=petsclibname,
- value=('1' if library_requested else '0'))
+ "--with-{library}={value}".format(
+ library=petsclibname, value=("1" if library_requested else "0")
+ )
)
if library_requested:
if useinc or uselib:
if useinc:
options.append(
- '--with-{library}-include={value}'.format(
- library=petsclibname,
- value=spec[spacklibname].prefix.include)
+ "--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())
+ "--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)
+ "--with-{library}-dir={path}".format(
+ library=petsclibname, path=spec[spacklibname].prefix
+ )
)
- if '+cuda' in spec:
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- if spec.satisfies('@3.14:'):
- options.append('--with-cuda-gencodearch={0}'.format(cuda_arch[0]))
+ if "+cuda" in spec:
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ if spec.satisfies("@3.14:"):
+ options.append("--with-cuda-gencodearch={0}".format(cuda_arch[0]))
else:
- options.append('CUDAFLAGS=-gencode arch=compute_{0},code=sm_{0}'
- .format(cuda_arch[0]))
- if '+rocm' in spec:
- if not spec.satisfies('amdgpu_target=none'):
- hip_arch = spec.variants['amdgpu_target'].value
- options.append('--with-hip-arch={0}'.format(hip_arch[0]))
- hip_pkgs = ['hipsparse', 'hipblas', 'rocsparse', 'rocsolver', 'rocblas']
- hip_ipkgs = hip_pkgs + ['rocthrust', 'rocprim']
+ options.append(
+ "CUDAFLAGS=-gencode arch=compute_{0},code=sm_{0}".format(cuda_arch[0])
+ )
+ if "+rocm" in spec:
+ if not spec.satisfies("amdgpu_target=none"):
+ hip_arch = spec.variants["amdgpu_target"].value
+ options.append("--with-hip-arch={0}".format(hip_arch[0]))
+ hip_pkgs = ["hipsparse", "hipblas", "rocsparse", "rocsolver", "rocblas"]
+ hip_ipkgs = hip_pkgs + ["rocthrust", "rocprim"]
hip_lpkgs = hip_pkgs
- if spec.satisfies('^rocrand@5.1:'):
- hip_ipkgs.extend(['rocrand'])
+ if spec.satisfies("^rocrand@5.1:"):
+ hip_ipkgs.extend(["rocrand"])
else:
- hip_lpkgs.extend(['rocrand'])
- hip_inc = ''
- hip_lib = ''
+ hip_lpkgs.extend(["rocrand"])
+ hip_inc = ""
+ hip_lib = ""
for pkg in hip_ipkgs:
- hip_inc += spec[pkg].headers.include_flags + ' '
+ hip_inc += spec[pkg].headers.include_flags + " "
for pkg in hip_lpkgs:
- hip_lib += spec[pkg].libs.joined() + ' '
- options.append('HIPPPFLAGS=%s' % hip_inc)
- options.append('with-hip-lib=%s -L%s -lamdhip64' %
- (hip_lib, spec['hip'].prefix.lib))
+ hip_lib += spec[pkg].libs.joined() + " "
+ options.append("HIPPPFLAGS=%s" % hip_inc)
+ options.append("with-hip-lib=%s -L%s -lamdhip64" % (hip_lib, spec["hip"].prefix.lib))
- if 'superlu-dist' in spec:
- if spec.satisfies('@3.10.3:3.15'):
- options.append('--with-cxx-dialect=C++11')
+ if "superlu-dist" in spec:
+ if spec.satisfies("@3.10.3:3.15"):
+ options.append("--with-cxx-dialect=C++11")
- if '+mkl-pardiso' in spec:
- options.append(
- '--with-mkl_pardiso-dir=%s' % spec['mkl'].prefix
- )
+ if "+mkl-pardiso" in spec:
+ options.append("--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')
+ if "+hpddm" in spec:
+ options.append("--download-hpddm")
return options
def revert_kokkos_nvcc_wrapper(self):
# revert changes by kokkos-nvcc-wrapper
- if self.spec.satisfies('^kokkos+cuda+wrapper'):
- env['MPICH_CXX'] = env['CXX']
- env['OMPI_CXX'] = env['CXX']
- env['MPICXX_CXX'] = env['CXX']
+ if self.spec.satisfies("^kokkos+cuda+wrapper"):
+ env["MPICH_CXX"] = env["CXX"]
+ env["OMPI_CXX"] = env["CXX"]
+ env["MPICXX_CXX"] = env["CXX"]
def configure(self, spec, prefix):
self.revert_kokkos_nvcc_wrapper()
- python('configure', '--prefix=%s' % prefix, *self.configure_options())
+ python("configure", "--prefix=%s" % prefix, *self.configure_options())
def build(self, spec, prefix):
self.revert_kokkos_nvcc_wrapper()
# PETSc has its own way of doing parallel make.
- make('V=1 MAKE_NP=%s' % make_jobs, parallel=False)
+ make("V=1 MAKE_NP=%s" % make_jobs, parallel=False)
def install(self, spec, prefix):
self.revert_kokkos_nvcc_wrapper()
make("install")
if self.run_tests:
- make('check PETSC_ARCH="" PETSC_DIR={0}'.format(prefix),
- parallel=False)
+ make('check PETSC_ARCH="" PETSC_DIR={0}'.format(prefix), parallel=False)
def setup_build_environment(self, env):
# configure fails if these env vars are set outside of Spack
- env.unset('PETSC_DIR')
- env.unset('PETSC_ARCH')
+ env.unset("PETSC_DIR")
+ env.unset("PETSC_ARCH")
def setup_run_environment(self, env):
# Set PETSC_DIR in the module file
- env.set('PETSC_DIR', self.prefix)
- env.unset('PETSC_ARCH')
+ env.set("PETSC_DIR", self.prefix)
+ env.unset("PETSC_ARCH")
def setup_dependent_build_environment(self, env, dependent_spec):
# Set up PETSC_DIR for everyone using PETSc package
- env.set('PETSC_DIR', self.prefix)
- env.unset('PETSC_ARCH')
+ env.set("PETSC_DIR", self.prefix)
+ env.unset("PETSC_ARCH")
@property
def archive_files(self):
- return [join_path(self.stage.source_path, 'configure.log'),
- join_path(self.stage.source_path, 'make.log')]
+ return [
+ join_path(self.stage.source_path, "configure.log"),
+ join_path(self.stage.source_path, "make.log"),
+ ]
@property
def headers(self):
- return find_headers('petsc', self.prefix.include, recursive=False) \
- or None # return None to indicate failure
+ return (
+ find_headers("petsc", self.prefix.include, recursive=False) or None
+ ) # return None to indicate failure
# For the 'libs' property - use the default handler.
- @run_after('install')
+ @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`."""
- if self.spec.satisfies('@3.13:'):
- self.cache_extra_test_sources('src/ksp/ksp/tutorials')
- self.cache_extra_test_sources('src/snes/tutorials')
+ if self.spec.satisfies("@3.13:"):
+ self.cache_extra_test_sources("src/ksp/ksp/tutorials")
+ self.cache_extra_test_sources("src/snes/tutorials")
def test(self):
# solve Poisson equation in 2D to make sure nothing is broken:
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']
+ 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')
+ 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']
+ 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'],
+ "+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)
+ 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']
+ 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)
- w_dir = join_path(self.install_test_root, 'src/snes/tutorials')
+ make("clean", parallel=False)
+ w_dir = join_path(self.install_test_root, "src/snes/tutorials")
with working_dir(w_dir):
- if '+kokkos' in spec:
- make('ex3k', parallel=False)
- testexe = ['ex3k', '-view_initial', '-dm_vec_type', 'kokkos',
- '-dm_mat_type', 'aijkokkos', '-use_gpu_aware_mpi', '0',
- '-snes_monitor']
+ if "+kokkos" in spec:
+ make("ex3k", parallel=False)
+ testexe = [
+ "ex3k",
+ "-view_initial",
+ "-dm_vec_type",
+ "kokkos",
+ "-dm_mat_type",
+ "aijkokkos",
+ "-use_gpu_aware_mpi",
+ "0",
+ "-snes_monitor",
+ ]
self.run_test(runexe, runopt + testexe)
- make('clean', parallel=False)
+ make("clean", parallel=False)
diff --git a/var/spack/repos/builtin/packages/pexsi/package.py b/var/spack/repos/builtin/packages/pexsi/package.py
index 7270561485..1629987485 100644
--- a/var/spack/repos/builtin/packages/pexsi/package.py
+++ b/var/spack/repos/builtin/packages/pexsi/package.py
@@ -23,68 +23,60 @@ class Pexsi(MakefilePackage):
diagonalization methods for obtaining the density, energy and forces
in electronic structure calculations.
"""
- homepage = 'https://math.berkeley.edu/~linlin/pexsi/index.html'
- url = 'https://math.berkeley.edu/~linlin/pexsi/download/pexsi_v0.9.0.tar.gz'
+
+ homepage = "https://math.berkeley.edu/~linlin/pexsi/index.html"
+ url = "https://math.berkeley.edu/~linlin/pexsi/download/pexsi_v0.9.0.tar.gz"
# version('1.0', sha256='1574c66fd69ff2a37c6250d65c4df43b57c79822b49bd65662582a0cd5d82f54')
- version('0.10.2', sha256='8714c71b76542e096211b537a9cb1ffb2c28f53eea4f5a92f94cc1ca1e7b499f')
- version('0.9.0', sha256='e5efe0c129013392cdac3234e37f1f4fea641c139b1fbea47618b4b839d05029')
+ version("0.10.2", sha256="8714c71b76542e096211b537a9cb1ffb2c28f53eea4f5a92f94cc1ca1e7b499f")
+ version("0.9.0", sha256="e5efe0c129013392cdac3234e37f1f4fea641c139b1fbea47618b4b839d05029")
- depends_on('parmetis')
- depends_on('superlu-dist@5.1.2:5.3', when='@0.10.2:')
+ depends_on("parmetis")
+ depends_on("superlu-dist@5.1.2:5.3", when="@0.10.2:")
- variant(
- 'fortran', default=False, description='Builds the Fortran interface'
- )
+ variant("fortran", default=False, description="Builds the Fortran interface")
parallel = False
def edit(self, spec, prefix):
substitutions = [
- ('@MPICC', self.spec['mpi'].mpicc),
- ('@MPICXX_LIB', self.spec['mpi:cxx'].libs.joined()),
- ('@MPICXX', self.spec['mpi'].mpicxx),
- ('@MPIFC', self.spec['mpi'].mpifc),
- ('@RANLIB', 'ranlib'),
- ('@PEXSI_STAGE', self.stage.source_path),
- ('@SUPERLU_PREFIX', self.spec['superlu-dist'].prefix),
- ('@METIS_PREFIX', self.spec['metis'].prefix),
- ('@PARMETIS_PREFIX', self.spec['parmetis'].prefix),
- ('@LAPACK_PREFIX', self.spec['lapack'].prefix),
- ('@BLAS_PREFIX', self.spec['blas'].prefix),
- ('@LAPACK_LIBS', self.spec['lapack'].libs.joined()),
- ('@BLAS_LIBS', self.spec['blas'].libs.joined()),
+ ("@MPICC", self.spec["mpi"].mpicc),
+ ("@MPICXX_LIB", self.spec["mpi:cxx"].libs.joined()),
+ ("@MPICXX", self.spec["mpi"].mpicxx),
+ ("@MPIFC", self.spec["mpi"].mpifc),
+ ("@RANLIB", "ranlib"),
+ ("@PEXSI_STAGE", self.stage.source_path),
+ ("@SUPERLU_PREFIX", self.spec["superlu-dist"].prefix),
+ ("@METIS_PREFIX", self.spec["metis"].prefix),
+ ("@PARMETIS_PREFIX", self.spec["parmetis"].prefix),
+ ("@LAPACK_PREFIX", self.spec["lapack"].prefix),
+ ("@BLAS_PREFIX", self.spec["blas"].prefix),
+ ("@LAPACK_LIBS", self.spec["lapack"].libs.joined()),
+ ("@BLAS_LIBS", self.spec["blas"].libs.joined()),
# FIXME : what to do with compiler provided libraries ?
- ('@STDCXX_LIB', ' '.join(self.compiler.stdcxx_libs))
+ ("@STDCXX_LIB", " ".join(self.compiler.stdcxx_libs)),
]
- fldflags = ''
- if '@0.9.2' in self.spec:
- fldflags += ' -Wl,--allow-multiple-definition'
+ fldflags = ""
+ if "@0.9.2" in self.spec:
+ fldflags += " -Wl,--allow-multiple-definition"
- if ('^superlu +openmp' in self.spec
- or '^openblas threads=openmp' in self.spec):
- fldflags += ' ' + self.compiler.openmp_flag
+ if "^superlu +openmp" in self.spec or "^openblas threads=openmp" in self.spec:
+ fldflags += " " + self.compiler.openmp_flag
- substitutions.append(('@FLDFLAGS', fldflags.lstrip()))
+ substitutions.append(("@FLDFLAGS", fldflags.lstrip()))
- template = join_path(
- os.path.dirname(inspect.getmodule(self).__file__),
- 'make.inc'
- )
- makefile = join_path(
- self.stage.source_path,
- 'make.inc'
- )
+ template = join_path(os.path.dirname(inspect.getmodule(self).__file__), "make.inc")
+ makefile = join_path(self.stage.source_path, "make.inc")
copy(template, makefile)
for key, value in substitutions:
filter_file(key, value, makefile)
def build(self, spec, prefix):
super(Pexsi, self).build(spec, prefix)
- if '+fortran' in self.spec:
- make('-C', 'fortran')
+ if "+fortran" in self.spec:
+ make("-C", "fortran")
def install(self, spec, prefix):
@@ -92,18 +84,14 @@ class Pexsi(MakefilePackage):
mkdirp(self.prefix.lib)
install(
- join_path(self.stage.source_path, 'src', 'libpexsi_linux.a'),
- join_path(self.prefix.lib, 'libpexsi.a')
+ join_path(self.stage.source_path, "src", "libpexsi_linux.a"),
+ join_path(self.prefix.lib, "libpexsi.a"),
)
- install_tree(
- join_path(self.stage.source_path, 'include'),
- self.prefix.include
- )
+ install_tree(join_path(self.stage.source_path, "include"), self.prefix.include)
# fortran "interface"
- if '+fortran' in self.spec:
+ if "+fortran" in self.spec:
install_tree(
- join_path(self.stage.source_path, 'fortran'),
- join_path(self.prefix, 'fortran')
+ join_path(self.stage.source_path, "fortran"), join_path(self.prefix, "fortran")
)
diff --git a/var/spack/repos/builtin/packages/pfapack/package.py b/var/spack/repos/builtin/packages/pfapack/package.py
index e800c2d6f2..fae841c33b 100644
--- a/var/spack/repos/builtin/packages/pfapack/package.py
+++ b/var/spack/repos/builtin/packages/pfapack/package.py
@@ -8,59 +8,54 @@ from spack.package import *
class Pfapack(MakefilePackage):
"""A library for numerically computing the Pfaffian of
- a real or complex skew-symmetric matrix. This is based on
- computing the tridiagonal form of the matrix under
- unitary congruence transformations."""
+ a real or complex skew-symmetric matrix. This is based on
+ computing the tridiagonal form of the matrix under
+ unitary congruence transformations."""
homepage = "https://michaelwimmer.org/downloads.html"
- url = "https://michaelwimmer.org/pfapack.tgz"
+ url = "https://michaelwimmer.org/pfapack.tgz"
- version('2014-09-17', sha256='b68fc35dda23ee24c358641b1a92ef701c4ffa0b3f0b0808b24e68afeb58ef07')
+ version(
+ "2014-09-17", sha256="b68fc35dda23ee24c358641b1a92ef701c4ffa0b3f0b0808b24e68afeb58ef07"
+ )
parallel = False
- depends_on('lapack')
- depends_on('blas')
- depends_on('python', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
def edit(self, spec, prefix):
- filter_file('FORT =.*', 'FORT = {0}'.format(spack_fc),
- join_path('fortran', 'makefile'))
- filter_file('CC =.*', 'CC = {0}'.format(spack_cc),
- join_path('c_interface', 'makefile'))
+ filter_file("FORT =.*", "FORT = {0}".format(spack_fc), join_path("fortran", "makefile"))
+ filter_file("CC =.*", "CC = {0}".format(spack_cc), join_path("c_interface", "makefile"))
def build(self, spec, prefix):
source_directory = self.stage.source_path
- with working_dir(join_path(source_directory, 'fortran')):
+ with working_dir(join_path(source_directory, "fortran")):
make()
- with working_dir(join_path(source_directory, 'c_interface')):
+ with working_dir(join_path(source_directory, "c_interface")):
make()
def install(self, spec, prefix):
source_directory = self.stage.source_path
mkdirp(prefix.fortran)
- install(join_path(source_directory, 'fortran', 'libpfapack.a'),
- prefix.fortran)
- install(join_path(source_directory, 'fortran', '*.mod'),
- prefix.fortran)
- install_tree(join_path(source_directory, 'fortran', 'EXAMPLES'),
- prefix.fortran.EXAMPLES)
- install_tree(join_path(source_directory, 'fortran', 'TESTING'),
- prefix.fortran.TESTING)
+ install(join_path(source_directory, "fortran", "libpfapack.a"), prefix.fortran)
+ install(join_path(source_directory, "fortran", "*.mod"), prefix.fortran)
+ install_tree(join_path(source_directory, "fortran", "EXAMPLES"), prefix.fortran.EXAMPLES)
+ install_tree(join_path(source_directory, "fortran", "TESTING"), prefix.fortran.TESTING)
mkdirp(prefix.c_interface)
- install(join_path(source_directory, 'c_interface', 'libcpfapack.a'),
- prefix.c_interface)
- install(join_path(source_directory, 'c_interface', 'fortran.h'),
- prefix.c_interface)
- install(join_path(source_directory, 'c_interface',
- 'fortran_pfapack.h'),
- prefix.c_interface)
- install(join_path(source_directory, 'c_interface', 'pfapack.h'),
- prefix.c_interface)
- install_tree(join_path(source_directory, 'c_interface', 'EXAMPLES'),
- prefix.c_interface.EXAMPLES)
- install_tree(join_path(source_directory, 'c_interface', 'TESTING'),
- prefix.c_interface.TESTING)
- install_tree(join_path(source_directory, 'python'), prefix.python)
+ install(join_path(source_directory, "c_interface", "libcpfapack.a"), prefix.c_interface)
+ install(join_path(source_directory, "c_interface", "fortran.h"), prefix.c_interface)
+ install(
+ join_path(source_directory, "c_interface", "fortran_pfapack.h"), prefix.c_interface
+ )
+ install(join_path(source_directory, "c_interface", "pfapack.h"), prefix.c_interface)
+ install_tree(
+ join_path(source_directory, "c_interface", "EXAMPLES"), prefix.c_interface.EXAMPLES
+ )
+ install_tree(
+ join_path(source_directory, "c_interface", "TESTING"), prefix.c_interface.TESTING
+ )
+ install_tree(join_path(source_directory, "python"), prefix.python)
diff --git a/var/spack/repos/builtin/packages/pfft/package.py b/var/spack/repos/builtin/packages/pfft/package.py
index ba5a08e925..558b3562bc 100644
--- a/var/spack/repos/builtin/packages/pfft/package.py
+++ b/var/spack/repos/builtin/packages/pfft/package.py
@@ -8,69 +8,73 @@ from spack.package import *
class Pfft(AutotoolsPackage):
"""PFFT is a software library for computing massively parallel,
- fast Fourier transformations on distributed memory architectures.
- PFFT can be understood as a generalization of FFTW-MPI to
- multidimensional data decomposition."""
+ fast Fourier transformations on distributed memory architectures.
+ PFFT can be understood as a generalization of FFTW-MPI to
+ multidimensional data decomposition."""
homepage = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en"
- url = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/pfft-1.0.8-alpha.tar.gz"
+ url = (
+ "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/pfft-1.0.8-alpha.tar.gz"
+ )
- version('1.0.8-alpha', sha256='6c43960ad72fcff7e49b87c604c5f471fb5890f1bd11ce750ab52f035e7c5317')
+ version(
+ "1.0.8-alpha", sha256="6c43960ad72fcff7e49b87c604c5f471fb5890f1bd11ce750ab52f035e7c5317"
+ )
- depends_on('fftw+mpi+pfft_patches')
- depends_on('mpi')
+ depends_on("fftw+mpi+pfft_patches")
+ depends_on("mpi")
def configure(self, spec, prefix):
- options = ['--prefix={0}'.format(prefix)]
+ options = ["--prefix={0}".format(prefix)]
if not self.compiler.f77 or not self.compiler.fc:
options.append("--disable-fortran")
- configure = Executable('../configure')
+ configure = Executable("../configure")
- fftw = spec['fftw']
- if 'precision=double' in fftw:
- with working_dir('double', create=True):
+ fftw = spec["fftw"]
+ if "precision=double" in fftw:
+ with working_dir("double", create=True):
configure(*options)
- if 'precision=float' in fftw:
- with working_dir('float', create=True):
- configure('--enable-float', *options)
- if 'precision=long_double' in fftw:
- with working_dir('long-double', create=True):
- configure('--enable-long-double', *options)
+ if "precision=float" in fftw:
+ with working_dir("float", create=True):
+ configure("--enable-float", *options)
+ if "precision=long_double" in fftw:
+ with working_dir("long-double", create=True):
+ configure("--enable-long-double", *options)
def build(self, spec, prefix):
- fftw = spec['fftw']
- if 'precision=double' in fftw:
- with working_dir('double'):
+ fftw = spec["fftw"]
+ if "precision=double" in fftw:
+ with working_dir("double"):
make()
- if 'precision=float' in fftw:
- with working_dir('float'):
+ if "precision=float" in fftw:
+ with working_dir("float"):
make()
- if 'precision=long_double' in fftw:
- with working_dir('long-double'):
+ if "precision=long_double" in fftw:
+ with working_dir("long-double"):
make()
def check(self):
spec = self.spec
- fftw = spec['fftw']
- if 'precision=double' in fftw:
- with working_dir('double'):
+ fftw = spec["fftw"]
+ if "precision=double" in fftw:
+ with working_dir("double"):
make("check")
- if 'precision=float' in fftw:
- with working_dir('float'):
+ if "precision=float" in fftw:
+ with working_dir("float"):
make("check")
- if 'precision=long_double' in fftw:
- with working_dir('long-double'):
+ if "precision=long_double" in fftw:
+ with working_dir("long-double"):
make("check")
def install(self, spec, prefix):
- fftw = spec['fftw']
- if 'precision=double' in fftw:
- with working_dir('double'):
+ fftw = spec["fftw"]
+ if "precision=double" in fftw:
+ with working_dir("double"):
make("install")
- if 'precision=float' in fftw:
- with working_dir('float'):
+ if "precision=float" in fftw:
+ with working_dir("float"):
make("install")
- if 'precision=long_double' in fftw:
- with working_dir('long-double'):
+ if "precision=long_double" in fftw:
+ with working_dir("long-double"):
make("install")
diff --git a/var/spack/repos/builtin/packages/pflask/package.py b/var/spack/repos/builtin/packages/pflask/package.py
index 0247a008ae..650e66ec2a 100644
--- a/var/spack/repos/builtin/packages/pflask/package.py
+++ b/var/spack/repos/builtin/packages/pflask/package.py
@@ -10,7 +10,7 @@ class Pflask(CMakePackage):
"""Pflask is a simple tool for creating process containers on LInux."""
homepage = "https://ghedo.github.io/pflask/"
- url = "https://github.com/ghedo/pflask/archive/v0.2.tar.gz"
+ url = "https://github.com/ghedo/pflask/archive/v0.2.tar.gz"
- version('0.2', sha256='dabbd060d1c50174de5fffae9ec97dc1d41b22de898a8280166cba768c940ebd')
- version('0.1', sha256='3c41c670fd8c48b7b6a41d697b444df8bf95380937ba4f734b41af135d5c5816')
+ version("0.2", sha256="dabbd060d1c50174de5fffae9ec97dc1d41b22de898a8280166cba768c940ebd")
+ version("0.1", sha256="3c41c670fd8c48b7b6a41d697b444df8bf95380937ba4f734b41af135d5c5816")
diff --git a/var/spack/repos/builtin/packages/pflotran/package.py b/var/spack/repos/builtin/packages/pflotran/package.py
index e5b0dd7c95..3b00fda8e7 100644
--- a/var/spack/repos/builtin/packages/pflotran/package.py
+++ b/var/spack/repos/builtin/packages/pflotran/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class Pflotran(AutotoolsPackage):
"""PFLOTRAN is an open source, state-of-the-art massively parallel
- subsurface flow and reactive transport code.
+ subsurface flow and reactive transport code.
"""
homepage = "https://www.pflotran.org"
- git = "https://bitbucket.org/pflotran/pflotran.git"
-
- maintainers = ['ghammond86', 'balay']
-
- version('develop')
- version('3.0.2', commit='9e07f416a66b0ad304c720b61aa41cba9a0929d5') # tag v3.0.2
- version('xsdk-0.6.0', commit='46e14355c1827c057f2e1b3e3ae934119ab023b2')
- 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')
-
- depends_on('mpi')
- depends_on('hdf5@1.8.12:+mpi+fortran+hl')
- depends_on('petsc@main:+hdf5+metis', when='@develop')
- depends_on('petsc@3.16:+hdf5+metis', when='@3.0.2')
- 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@3.8.0:+hdf5+metis', when='@xsdk-0.3.0')
+ git = "https://bitbucket.org/pflotran/pflotran.git"
+
+ maintainers = ["ghammond86", "balay"]
+
+ version("develop")
+ version("3.0.2", commit="9e07f416a66b0ad304c720b61aa41cba9a0929d5") # tag v3.0.2
+ version("xsdk-0.6.0", commit="46e14355c1827c057f2e1b3e3ae934119ab023b2")
+ 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")
+
+ depends_on("mpi")
+ depends_on("hdf5@1.8.12:+mpi+fortran+hl")
+ depends_on("petsc@main:+hdf5+metis", when="@develop")
+ depends_on("petsc@3.16:+hdf5+metis", when="@3.0.2")
+ 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@3.8.0:+hdf5+metis", when="@xsdk-0.3.0")
@property
def parallel(self):
- return (self.spec.satisfies('@xsdk-0.4.0:'))
+ return self.spec.satisfies("@xsdk-0.4.0:")
diff --git a/var/spack/repos/builtin/packages/pfunit/package.py b/var/spack/repos/builtin/packages/pfunit/package.py
index e2e765c021..43fee41636 100644
--- a/var/spack/repos/builtin/packages/pfunit/package.py
+++ b/var/spack/repos/builtin/packages/pfunit/package.py
@@ -15,37 +15,43 @@ class Pfunit(CMakePackage):
homepage = "http://pfunit.sourceforge.net/"
url = "https://github.com/Goddard-Fortran-Ecosystem/pFUnit/releases/download/v4.1.10/pFUnit-4.1.10.tar"
- maintainers = ['citibeth']
-
- version('4.1.14', sha256='bada2be8d7e69ca1f16209ba92293fa1c06748b78534d71b24b2c825450a495f')
- version('4.1.13', sha256='f388e08c67c51cbfd9f3a3658baac912b5506d2fc651410cd34a21260c309630')
- version('4.1.12', sha256='7d71b0fb996497fe9a20eb818d02d596cd0d3cded1033a89a9081fbd925c68f2')
- version('4.1.11', sha256='16160bac223aaa3ed2b27e30287d25fdaec3cf6f2c570ebd8d61196e6aa6180f')
- version('4.1.10', sha256='051c35ad9678002943f4a4f2ab532a6b44de86ca414751616f93e69f393f5373')
- version('3.3.3', sha256='9f673b58d20ad23148040a100227b4f876458a9d9aee0f0d84a5f0eef209ced5')
- version('3.3.2', sha256='b1cc2e109ba602ea71bccefaa3c4a06e7ab1330db9ce6c08db89cfde497b8ab8')
- version('3.3.1', sha256='f8f4bea7de991a518a0371b4c70b19e492aa9a0d3e6715eff9437f420b0cdb45')
- version('3.3.0', sha256='4036ab448b821b500fbe8be5e3d5ab3e419ebae8be82f7703bcf84ab1a0ff862')
- version('3.2.10', sha256='b9debba6d0e31b682423ffa756531e9728c10acde08c4d8e1609b4554f552b1a')
- version('3.2.9', sha256='403f9a150865700c8b4240fd033162b8d3e8aeefa265c50c5a6fe14c455fbabc')
-
- variant('shared', default=True,
- description='Build shared library in addition to static')
- variant('mpi', default=False, description='Enable MPI')
- variant('use_comm_world', default=False,
- description='Enable MPI_COMM_WORLD for testing')
- variant('openmp', default=False, description='Enable OpenMP')
- variant('docs', default=False, description='Build docs')
-
- variant('max_array_rank', values=int, default=5,
- description='Max number of Fortran dimensions of array asserts')
-
- depends_on('python@2.7:', type=('build', 'run')) # python3 too!
- depends_on('mpi', when='+mpi')
- depends_on('m4', when='@4.1.5:', type='build')
-
- conflicts("%gcc@:8.3.9", when="@4.0.0:", msg='Older versions of GCC do '
- 'not support the Fortran 2008 features required by new pFUnit.')
+ maintainers = ["citibeth"]
+
+ version("4.1.14", sha256="bada2be8d7e69ca1f16209ba92293fa1c06748b78534d71b24b2c825450a495f")
+ version("4.1.13", sha256="f388e08c67c51cbfd9f3a3658baac912b5506d2fc651410cd34a21260c309630")
+ version("4.1.12", sha256="7d71b0fb996497fe9a20eb818d02d596cd0d3cded1033a89a9081fbd925c68f2")
+ version("4.1.11", sha256="16160bac223aaa3ed2b27e30287d25fdaec3cf6f2c570ebd8d61196e6aa6180f")
+ version("4.1.10", sha256="051c35ad9678002943f4a4f2ab532a6b44de86ca414751616f93e69f393f5373")
+ version("3.3.3", sha256="9f673b58d20ad23148040a100227b4f876458a9d9aee0f0d84a5f0eef209ced5")
+ version("3.3.2", sha256="b1cc2e109ba602ea71bccefaa3c4a06e7ab1330db9ce6c08db89cfde497b8ab8")
+ version("3.3.1", sha256="f8f4bea7de991a518a0371b4c70b19e492aa9a0d3e6715eff9437f420b0cdb45")
+ version("3.3.0", sha256="4036ab448b821b500fbe8be5e3d5ab3e419ebae8be82f7703bcf84ab1a0ff862")
+ version("3.2.10", sha256="b9debba6d0e31b682423ffa756531e9728c10acde08c4d8e1609b4554f552b1a")
+ version("3.2.9", sha256="403f9a150865700c8b4240fd033162b8d3e8aeefa265c50c5a6fe14c455fbabc")
+
+ variant("shared", default=True, description="Build shared library in addition to static")
+ variant("mpi", default=False, description="Enable MPI")
+ variant("use_comm_world", default=False, description="Enable MPI_COMM_WORLD for testing")
+ variant("openmp", default=False, description="Enable OpenMP")
+ variant("docs", default=False, description="Build docs")
+
+ variant(
+ "max_array_rank",
+ values=int,
+ default=5,
+ description="Max number of Fortran dimensions of array asserts",
+ )
+
+ depends_on("python@2.7:", type=("build", "run")) # python3 too!
+ depends_on("mpi", when="+mpi")
+ depends_on("m4", when="@4.1.5:", type="build")
+
+ conflicts(
+ "%gcc@:8.3.9",
+ when="@4.0.0:",
+ msg="Older versions of GCC do "
+ "not support the Fortran 2008 features required by new pFUnit.",
+ )
# See https://github.com/Goddard-Fortran-Ecosystem/pFUnit/pull/179
conflicts("+shared", when="@4.0.0:")
conflicts("+use_comm_world", when="~mpi")
@@ -54,13 +60,13 @@ class Pfunit(CMakePackage):
def patch(self):
# The package tries to put .mod files in directory ./mod;
# spack needs to put them in a standard location:
- for file in glob.glob('*/CMakeLists.txt'):
- filter_file(r'.*/mod($|[^\w].*)', '', file)
+ for file in glob.glob("*/CMakeLists.txt"):
+ filter_file(r".*/mod($|[^\w].*)", "", file)
def url_for_version(self, version):
# Version 4 uses a different URL syntax than previous versions
url_base = "https://github.com/Goddard-Fortran-Ecosystem/pFUnit"
- if version >= Version('4'):
+ if version >= Version("4"):
url = url_base + "/releases/download/v{0}/pFUnit-{0}.tar"
else:
url = url_base + "/archive/{0}.tar.gz"
@@ -70,24 +76,26 @@ class Pfunit(CMakePackage):
def cmake_args(self):
spec = self.spec
args = [
- '-DPYTHON_EXECUTABLE=%s' % spec['python'].command,
- self.define_from_variant('BUILD_SHARED', 'shared'),
- '-DCMAKE_Fortran_MODULE_DIRECTORY=%s' % spec.prefix.include,
- self.define_from_variant('BUILD_DOCS', 'docs'),
- self.define_from_variant('OPENMP', 'openmp'),
- '-DMAX_RANK=%s' % spec.variants['max_array_rank'].value]
-
- if self.spec.satisfies('%gcc@10:'):
- args.append('-DCMAKE_Fortran_FLAGS_DEBUG=-g -O2 -fallow-argument-mismatch')
-
- if spec.satisfies('@4.0.0:'):
- args.append('-DSKIP_MPI=%s' % ('YES' if '~mpi' in spec else 'NO'))
+ "-DPYTHON_EXECUTABLE=%s" % spec["python"].command,
+ self.define_from_variant("BUILD_SHARED", "shared"),
+ "-DCMAKE_Fortran_MODULE_DIRECTORY=%s" % spec.prefix.include,
+ self.define_from_variant("BUILD_DOCS", "docs"),
+ self.define_from_variant("OPENMP", "openmp"),
+ "-DMAX_RANK=%s" % spec.variants["max_array_rank"].value,
+ ]
+
+ if self.spec.satisfies("%gcc@10:"):
+ args.append("-DCMAKE_Fortran_FLAGS_DEBUG=-g -O2 -fallow-argument-mismatch")
+
+ if spec.satisfies("@4.0.0:"):
+ args.append("-DSKIP_MPI=%s" % ("YES" if "~mpi" in spec else "NO"))
else:
- args.append(self.define_from_variant('MPI', 'mpi'))
+ args.append(self.define_from_variant("MPI", "mpi"))
- if spec.satisfies('+mpi'):
- args.extend(['-DMPI_USE_MPIEXEC=YES',
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc])
+ if spec.satisfies("+mpi"):
+ args.extend(
+ ["-DMPI_USE_MPIEXEC=YES", "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc]
+ )
return args
@@ -95,30 +103,36 @@ class Pfunit(CMakePackage):
"""Searches the CMake-generated Makefile for the target ``test``
and runs it if found.
"""
- args = ['tests']
- if self.spec.satisfies('+mpi'):
- args.append('MPI=YES')
- if self.spec.satisfies('+openmp'):
- args.append('OPENMP=YES')
+ args = ["tests"]
+ if self.spec.satisfies("+mpi"):
+ args.append("MPI=YES")
+ if self.spec.satisfies("+openmp"):
+ args.append("OPENMP=YES")
with working_dir(self.build_directory):
make(*args)
def compiler_vendor(self):
- vendors = {'%gcc': 'GNU', '%clang': 'GNU', '%intel': 'Intel',
- '%pgi': 'PGI', '%nag': 'NAG', '%cce': 'Cray'}
+ vendors = {
+ "%gcc": "GNU",
+ "%clang": "GNU",
+ "%intel": "Intel",
+ "%pgi": "PGI",
+ "%nag": "NAG",
+ "%cce": "Cray",
+ }
for key, value in vendors.items():
if self.spec.satisfies(key):
return value
- raise InstallError('Unsupported compiler.')
+ raise InstallError("Unsupported compiler.")
def setup_build_environment(self, env):
- env.set('PFUNIT', self.spec.prefix)
- env.set('F90_VENDOR', self.compiler_vendor())
+ env.set("PFUNIT", self.spec.prefix)
+ env.set("F90_VENDOR", self.compiler_vendor())
def setup_run_environment(self, env):
- env.set('PFUNIT', self.spec.prefix)
- env.set('F90_VENDOR', self.compiler_vendor())
+ env.set("PFUNIT", self.spec.prefix)
+ env.set("F90_VENDOR", self.compiler_vendor())
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('PFUNIT', self.spec.prefix)
- env.set('F90_VENDOR', self.compiler_vendor())
+ env.set("PFUNIT", self.spec.prefix)
+ env.set("F90_VENDOR", self.compiler_vendor())
diff --git a/var/spack/repos/builtin/packages/pgdspider/package.py b/var/spack/repos/builtin/packages/pgdspider/package.py
index 98655d9a52..a71848d65c 100644
--- a/var/spack/repos/builtin/packages/pgdspider/package.py
+++ b/var/spack/repos/builtin/packages/pgdspider/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class Pgdspider(Package):
- """"PGDSpider is a powerful automated data conversion tool for population
- genetic and genomics programs"""
+ """ "PGDSpider is a powerful automated data conversion tool for population
+ genetic and genomics programs"""
homepage = "http://www.cmpg.unibe.ch/software/PGDSpider"
- url = "http://www.cmpg.unibe.ch/software/PGDSpider/PGDSpider_2.1.1.2.zip"
+ url = "http://www.cmpg.unibe.ch/software/PGDSpider/PGDSpider_2.1.1.2.zip"
- version('2.1.1.2', sha256='a630ef9f3ef0c36be0d613867c5293378d77b52396ac701bc7b9ec5d3ba7f2e1')
+ version("2.1.1.2", sha256="a630ef9f3ef0c36be0d613867c5293378d77b52396ac701bc7b9ec5d3ba7f2e1")
- depends_on('java', type=('build', 'run'))
- depends_on('bcftools')
- depends_on('bwa')
- depends_on('samtools')
+ depends_on("java", type=("build", "run"))
+ depends_on("bcftools")
+ depends_on("bwa")
+ depends_on("samtools")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'PGDSpider{0}-cli.jar'.format(self.version.up_to(1))
+ jar_file = "PGDSpider{0}-cli.jar".format(self.version.up_to(1))
install(jar_file, prefix.bin)
script_sh = join_path(os.path.dirname(__file__), "pgdspider.sh")
@@ -32,8 +32,7 @@ class Pgdspider(Package):
install(script_sh, script)
set_executable(script)
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('pgdspider.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("pgdspider.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py
index fff715fbdd..f89222a472 100644
--- a/var/spack/repos/builtin/packages/pgi/package.py
+++ b/var/spack/repos/builtin/packages/pgi/package.py
@@ -22,93 +22,87 @@ class Pgi(Package):
homepage = "https://www.pgroup.com/"
manual_download = True
- version('20.4', sha256='f3ecc2104b304cd5c8b20e3ffdb5da88f2b5f7cc148e8daf00561928a5cbbc2e')
- version('19.10', sha256='ac9db73ba80a66fe3bc875f63aaa9e16f54674a4e88b25416432430ba8cf203d')
- version('19.7', sha256='439692aeb51eff464b968c3bfed4536ed7bd3ba6f8174bc0ebe2219a78fe62ae')
- version('19.4', sha256='23eee0d4da751dd6f247d624b68b03538ebd172e63a053c41bb67013f07cf68e')
- version('19.1', sha256='3e05a6db2bf80b5d15f6ff83188f20cb89dc23e233417921e5c0822e7e57d34f')
- version('18.10', sha256='4b3ff83d2a13de6001bed599246eff8e63ef711b8952d4a9ee12efd666b3e326')
- version('18.4', sha256='81e0dcf6000b026093ece180d42d77854c23269fb8409cedcf51c674ca580a0f')
- version('17.10', sha256='9da8f869fb9b70c0c4423c903d40a9e22d54b997af359a43573c0841165cd1b6')
- version('17.4', sha256='115c212d526695fc116fe44f1e722793e60b6f7d1b341cd7e77a95da8e7f6c34')
-
- variant('network', default=True,
- description="Perform a network install")
- variant('single', default=False,
- description="Perform a single system install")
- variant('nvidia', default=False,
- description="Enable installation of optional NVIDIA components")
- variant('amd', default=False,
- description="Enable installation of optional AMD components")
- variant('java', default=False,
- description="Enable installation of Java Runtime Environment")
- variant('mpi', default=False,
- description="Enable installation of Open MPI")
+ version("20.4", sha256="f3ecc2104b304cd5c8b20e3ffdb5da88f2b5f7cc148e8daf00561928a5cbbc2e")
+ version("19.10", sha256="ac9db73ba80a66fe3bc875f63aaa9e16f54674a4e88b25416432430ba8cf203d")
+ version("19.7", sha256="439692aeb51eff464b968c3bfed4536ed7bd3ba6f8174bc0ebe2219a78fe62ae")
+ version("19.4", sha256="23eee0d4da751dd6f247d624b68b03538ebd172e63a053c41bb67013f07cf68e")
+ version("19.1", sha256="3e05a6db2bf80b5d15f6ff83188f20cb89dc23e233417921e5c0822e7e57d34f")
+ version("18.10", sha256="4b3ff83d2a13de6001bed599246eff8e63ef711b8952d4a9ee12efd666b3e326")
+ version("18.4", sha256="81e0dcf6000b026093ece180d42d77854c23269fb8409cedcf51c674ca580a0f")
+ version("17.10", sha256="9da8f869fb9b70c0c4423c903d40a9e22d54b997af359a43573c0841165cd1b6")
+ version("17.4", sha256="115c212d526695fc116fe44f1e722793e60b6f7d1b341cd7e77a95da8e7f6c34")
+
+ variant("network", default=True, description="Perform a network install")
+ variant("single", default=False, description="Perform a single system install")
+ variant(
+ "nvidia", default=False, description="Enable installation of optional NVIDIA components"
+ )
+ variant("amd", default=False, description="Enable installation of optional AMD components")
+ variant("java", default=False, description="Enable installation of Java Runtime Environment")
+ variant("mpi", default=False, description="Enable installation of Open MPI")
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['license.dat']
- license_vars = ['PGROUPD_LICENSE_FILE', 'LM_LICENSE_FILE']
- license_url = 'http://www.pgroup.com/doc/pgiinstall.pdf'
+ license_comment = "#"
+ license_files = ["license.dat"]
+ license_vars = ["PGROUPD_LICENSE_FILE", "LM_LICENSE_FILE"]
+ license_url = "http://www.pgroup.com/doc/pgiinstall.pdf"
def url_for_version(self, version):
if int(str(version.up_to(1))) <= 17:
return "file://{0}/pgilinux-20{1}-{2}-x86_64.tar.gz".format(
- os.getcwd(), version.up_to(1), version.joined)
+ os.getcwd(), version.up_to(1), version.joined
+ )
else:
return "file://{0}/pgilinux-20{1}-{2}-x86-64.tar.gz".format(
- os.getcwd(), version.up_to(1), version.joined)
+ os.getcwd(), version.up_to(1), version.joined
+ )
def install(self, spec, prefix):
# Enable the silent installation feature
- os.environ['PGI_SILENT'] = "true"
- os.environ['PGI_ACCEPT_EULA'] = "accept"
- os.environ['PGI_INSTALL_DIR'] = prefix
-
- if '+network' in spec and '~single' in spec:
- os.environ['PGI_INSTALL_TYPE'] = "network"
- os.environ['PGI_INSTALL_LOCAL_DIR'] = "%s/%s/share_objects" % \
- (prefix, self.version)
- elif '+single' in spec and '~network' in spec:
- os.environ['PGI_INSTALL_TYPE'] = "single"
+ os.environ["PGI_SILENT"] = "true"
+ os.environ["PGI_ACCEPT_EULA"] = "accept"
+ os.environ["PGI_INSTALL_DIR"] = prefix
+
+ if "+network" in spec and "~single" in spec:
+ os.environ["PGI_INSTALL_TYPE"] = "network"
+ os.environ["PGI_INSTALL_LOCAL_DIR"] = "%s/%s/share_objects" % (prefix, self.version)
+ elif "+single" in spec and "~network" in spec:
+ os.environ["PGI_INSTALL_TYPE"] = "single"
else:
- msg = 'You must choose either a network install or a single '
- msg += 'system install.\nYou cannot choose both.'
+ msg = "You must choose either a network install or a single "
+ msg += "system install.\nYou cannot choose both."
raise RuntimeError(msg)
- if '+nvidia' in spec:
- os.environ['PGI_INSTALL_NVIDIA'] = "true"
+ if "+nvidia" in spec:
+ os.environ["PGI_INSTALL_NVIDIA"] = "true"
- if '+amd' in spec:
- os.environ['PGI_INSTALL_AMD'] = "true"
+ if "+amd" in spec:
+ os.environ["PGI_INSTALL_AMD"] = "true"
- if '+java' in spec:
- os.environ['PGI_INSTALL_JAVA'] = "true"
+ if "+java" in spec:
+ os.environ["PGI_INSTALL_JAVA"] = "true"
- if '+mpi' in spec:
- os.environ['PGI_INSTALL_MPI'] = "true"
+ if "+mpi" in spec:
+ os.environ["PGI_INSTALL_MPI"] = "true"
# Run install script
os.system("./install")
def setup_run_environment(self, env):
- prefix = Prefix(join_path(self.prefix, 'linux86-64', self.version))
+ prefix = Prefix(join_path(self.prefix, "linux86-64", self.version))
- env.prepend_path('PATH', prefix.bin)
- env.prepend_path('MANPATH', prefix.man)
- env.prepend_path('LD_LIBRARY_PATH', prefix.lib)
- env.set('CC', join_path(prefix.bin, 'pgcc'))
- env.set('CXX', join_path(prefix.bin, 'pgc++'))
- env.set('F77', join_path(prefix.bin, 'pgfortran'))
- env.set('FC', join_path(prefix.bin, 'pgfortran'))
+ env.prepend_path("PATH", prefix.bin)
+ env.prepend_path("MANPATH", prefix.man)
+ env.prepend_path("LD_LIBRARY_PATH", prefix.lib)
+ env.set("CC", join_path(prefix.bin, "pgcc"))
+ env.set("CXX", join_path(prefix.bin, "pgc++"))
+ env.set("F77", join_path(prefix.bin, "pgfortran"))
+ env.set("FC", join_path(prefix.bin, "pgfortran"))
- if '+mpi' in self.spec:
+ if "+mpi" in self.spec:
ompi_dir = os.listdir(prefix.mpi)[0]
- env.prepend_path('PATH', join_path(prefix.mpi, ompi_dir, 'bin'))
- env.prepend_path('LD_LIBRARY_PATH', join_path(prefix.mpi, ompi_dir,
- 'lib'))
- env.prepend_path('C_INCLUDE_PATH', join_path(prefix.mpi, ompi_dir,
- 'include'))
- env.prepend_path('MANPATH', join_path(prefix.mpi, ompi_dir,
- 'share/man'))
+ env.prepend_path("PATH", join_path(prefix.mpi, ompi_dir, "bin"))
+ env.prepend_path("LD_LIBRARY_PATH", join_path(prefix.mpi, ompi_dir, "lib"))
+ env.prepend_path("C_INCLUDE_PATH", join_path(prefix.mpi, ompi_dir, "include"))
+ env.prepend_path("MANPATH", join_path(prefix.mpi, ompi_dir, "share/man"))
diff --git a/var/spack/repos/builtin/packages/pgplot/package.py b/var/spack/repos/builtin/packages/pgplot/package.py
index cf7aa82b39..bd514edd56 100644
--- a/var/spack/repos/builtin/packages/pgplot/package.py
+++ b/var/spack/repos/builtin/packages/pgplot/package.py
@@ -18,101 +18,98 @@ class Pgplot(MakefilePackage):
the appropriate device at run time."""
homepage = "https://sites.astro.caltech.edu/~tjp/pgplot/"
- url = "ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz"
+ url = "ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('5.2.2',
- url="ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz",
- sha256='a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4')
+ version(
+ "5.2.2",
+ url="ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz",
+ sha256="a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4",
+ )
# Replace hard-coded compilers and options by tokens, so that Spack can
# edit the file more easily
- patch('g77_gcc.conf.patch')
+ patch("g77_gcc.conf.patch")
# https://research.iac.es/sieinvens/siepedia/pmwiki.php?n=HOWTOs.PGPLOTMacOSX
- patch('pndriv.c.patch')
+ patch("pndriv.c.patch")
# Read font from spack generated directory
- patch('grsy00.f.patch')
+ patch("grsy00.f.patch")
parallel = False
# enable drivers
- variant('X', default=False,
- description='Build with X11 support.')
- variant('png', default=True,
- description='Enable driver for Portable Network Graphics file.')
- variant('ps', default=True,
- description='Enable driver for PostScript files.')
+ variant("X", default=False, description="Build with X11 support.")
+ variant("png", default=True, description="Enable driver for Portable Network Graphics file.")
+ variant("ps", default=True, description="Enable driver for PostScript files.")
- depends_on('libx11', when='+X')
- depends_on('libpng', when='+png')
+ depends_on("libx11", when="+X")
+ depends_on("libpng", when="+png")
def edit(self, spec, prefix):
- libs = ''
- if '+X' in spec:
- libs += ' ' + self.spec['X11'].libs.ld_flags
- if '+png' in spec:
- libs += ' ' + self.spec['libpng'].libs.ld_flags
+ libs = ""
+ if "+X" in spec:
+ libs += " " + self.spec["X11"].libs.ld_flags
+ if "+png" in spec:
+ libs += " " + self.spec["libpng"].libs.ld_flags
sub = {}
- if spec.satisfies('%gcc'):
- fib = " -fallow-invalid-boz" if spec.satisfies('%gcc@10:') else ""
+ if spec.satisfies("%gcc"):
+ fib = " -fallow-invalid-boz" if spec.satisfies("%gcc@10:") else ""
sub = {
- '@CCOMPL@': spack_cc,
- '@CFLAGC@': "-Wall -fPIC -DPG_PPU -O -std=c89 " +
- "-Wno-error=implicit-function-declaration",
- '@CFLAGD@': "-O2",
- '@FCOMPL@': spack_fc,
- '@FFLAGC@': "-Wall -fPIC -O -ffixed-line-length-none" + fib,
- '@FFLAGD@': libs + " -fno-backslash",
- '@LIBS@': libs + " -lgfortran",
- '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB",
- '@SHARED_LIB_LIBS@': libs + " -lgfortran",
+ "@CCOMPL@": spack_cc,
+ "@CFLAGC@": "-Wall -fPIC -DPG_PPU -O -std=c89 "
+ + "-Wno-error=implicit-function-declaration",
+ "@CFLAGD@": "-O2",
+ "@FCOMPL@": spack_fc,
+ "@FFLAGC@": "-Wall -fPIC -O -ffixed-line-length-none" + fib,
+ "@FFLAGD@": libs + " -fno-backslash",
+ "@LIBS@": libs + " -lgfortran",
+ "@SHARED_LD@": spack_cc + " -shared -o $SHARED_LIB",
+ "@SHARED_LIB_LIBS@": libs + " -lgfortran",
}
- elif spec.satisfies('%intel'):
+ elif spec.satisfies("%intel"):
sub = {
- '@CCOMPL@': spack_cc,
- '@CFLAGC@': "-O2 -fPIC -DPG_PPU",
- '@CFLAGD@': "-O2 -lifcore -lifport",
- '@FCOMPL@': spack_fc,
- '@FFLAGC@': "-fPIC",
- '@FFLAGD@': libs + " -nofor-main",
- '@LIBS@': libs + " -nofor-main -lifcore -lifport",
- '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB",
- '@SHARED_LIB_LIBS@': libs + " -nofor-main -lifcore -lifport",
+ "@CCOMPL@": spack_cc,
+ "@CFLAGC@": "-O2 -fPIC -DPG_PPU",
+ "@CFLAGD@": "-O2 -lifcore -lifport",
+ "@FCOMPL@": spack_fc,
+ "@FFLAGC@": "-fPIC",
+ "@FFLAGD@": libs + " -nofor-main",
+ "@LIBS@": libs + " -nofor-main -lifcore -lifport",
+ "@SHARED_LD@": spack_cc + " -shared -o $SHARED_LIB",
+ "@SHARED_LIB_LIBS@": libs + " -nofor-main -lifcore -lifport",
}
- conf = join_path(
- self.stage.source_path, 'sys_linux/g77_gcc.conf'
- )
+ conf = join_path(self.stage.source_path, "sys_linux/g77_gcc.conf")
- drivers_list = join_path(self.stage.source_path, 'drivers.list')
+ drivers_list = join_path(self.stage.source_path, "drivers.list")
# eg. change contents of drivers_list file like:
# '! XWDRIV 1 /XWINDOW' -> 'XWDRIV 1 /XWINDOW'
enable_driver = lambda s: filter_file(s, s[2:], drivers_list)
- if '+X' in spec:
- enable_driver('! XWDRIV 1 /XWINDOW')
- enable_driver('! XWDRIV 2 /XSERVE')
+ if "+X" in spec:
+ enable_driver("! XWDRIV 1 /XWINDOW")
+ enable_driver("! XWDRIV 2 /XSERVE")
- if '+png' in spec:
- enable_driver('! PNDRIV 1 /PNG')
+ if "+png" in spec:
+ enable_driver("! PNDRIV 1 /PNG")
- filter_file('pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h',
- 'pndriv.o :',
- 'makemake')
+ filter_file(
+ "pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h", "pndriv.o :", "makemake"
+ )
# Alwasy enable PS and LATEX since they are not depending on other libraries.
- enable_driver('! PSDRIV 1 /PS')
- enable_driver('! PSDRIV 2 /VPS')
- enable_driver('! PSDRIV 3 /CPS')
- enable_driver('! PSDRIV 4 /VCPS')
- enable_driver('! LXDRIV 0 /LATEX')
+ enable_driver("! PSDRIV 1 /PS")
+ enable_driver("! PSDRIV 2 /VPS")
+ enable_driver("! PSDRIV 3 /CPS")
+ enable_driver("! PSDRIV 4 /VCPS")
+ enable_driver("! LXDRIV 0 /LATEX")
# GIF is not working. Maybe it is a bug in the gidriv.f.
# enable_driver('! GIDRIV 1 /GIF')
@@ -122,56 +119,54 @@ class Pgplot(MakefilePackage):
filter_file(key, value, conf)
def setup_build_environment(self, env):
- if '+X' in self.spec:
- env.append_flags('LIBS', self.spec['X11'].libs.ld_flags)
- if '+png' in self.spec:
- env.append_flags('LIBS', self.spec['libpng'].libs.ld_flags)
+ if "+X" in self.spec:
+ env.append_flags("LIBS", self.spec["X11"].libs.ld_flags)
+ if "+png" in self.spec:
+ env.append_flags("LIBS", self.spec["libpng"].libs.ld_flags)
def build(self, spec, prefix):
- makemake = which('./makemake')
- makemake(self.build_directory, 'linux', 'g77_gcc')
+ makemake = which("./makemake")
+ makemake(self.build_directory, "linux", "g77_gcc")
make()
- make('clean')
- make('cpg')
+ make("clean")
+ make("cpg")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('cpgdemo', prefix.bin)
- install('pgbind', prefix.bin)
- install('pgdemo1', prefix.bin)
- install('pgdemo2', prefix.bin)
- install('pgdemo3', prefix.bin)
- install('pgdemo4', prefix.bin)
- install('pgdemo5', prefix.bin)
- install('pgdemo6', prefix.bin)
- install('pgdemo7', prefix.bin)
- install('pgdemo8', prefix.bin)
- install('pgdemo9', prefix.bin)
- install('pgdemo10', prefix.bin)
- install('pgdemo11', prefix.bin)
- install('pgdemo12', prefix.bin)
- install('pgdemo13', prefix.bin)
- install('pgdemo14', prefix.bin)
- install('pgdemo15', prefix.bin)
- install('pgdemo16', prefix.bin)
- install('pgdemo17', prefix.bin)
- if '+X' in spec:
- install('pgxwin_server', prefix.bin)
+ install("cpgdemo", prefix.bin)
+ install("pgbind", prefix.bin)
+ install("pgdemo1", prefix.bin)
+ install("pgdemo2", prefix.bin)
+ install("pgdemo3", prefix.bin)
+ install("pgdemo4", prefix.bin)
+ install("pgdemo5", prefix.bin)
+ install("pgdemo6", prefix.bin)
+ install("pgdemo7", prefix.bin)
+ install("pgdemo8", prefix.bin)
+ install("pgdemo9", prefix.bin)
+ install("pgdemo10", prefix.bin)
+ install("pgdemo11", prefix.bin)
+ install("pgdemo12", prefix.bin)
+ install("pgdemo13", prefix.bin)
+ install("pgdemo14", prefix.bin)
+ install("pgdemo15", prefix.bin)
+ install("pgdemo16", prefix.bin)
+ install("pgdemo17", prefix.bin)
+ if "+X" in spec:
+ install("pgxwin_server", prefix.bin)
mkdirp(prefix.include)
- install('cpgplot.h', prefix.include)
+ install("cpgplot.h", prefix.include)
mkdirp(prefix.lib)
- install('libcpgplot.a', prefix.lib)
- install('libpgplot.a', prefix.lib)
- install('libpgplot.so', prefix.lib)
- install('grfont.dat', prefix.include)
+ install("libcpgplot.a", prefix.lib)
+ install("libpgplot.a", prefix.lib)
+ install("libpgplot.so", prefix.lib)
+ install("grfont.dat", prefix.include)
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- "lib*pgplot", root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("lib*pgplot", root=self.prefix, shared=shared, recursive=True)
def setup_run_environment(self, env):
- env.set('PGPLOT_FONT', self.prefix.include + '/grfont.dat')
- env.set('PGPLOT_DIR', self.prefix)
+ env.set("PGPLOT_FONT", self.prefix.include + "/grfont.dat")
+ env.set("PGPLOT_DIR", self.prefix)
diff --git a/var/spack/repos/builtin/packages/phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/phantompeakqualtools/package.py
index c7caec1abe..395160aa01 100644
--- a/var/spack/repos/builtin/packages/phantompeakqualtools/package.py
+++ b/var/spack/repos/builtin/packages/phantompeakqualtools/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Phantompeakqualtools(RPackage):
"""This package computes informative enrichment and quality measures for
- ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data."""
+ ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data."""
homepage = "https://github.com/kundajelab/phantompeakqualtools"
- url = "https://github.com/kundajelab/phantompeakqualtools/archive/1.2.tar.gz"
+ url = "https://github.com/kundajelab/phantompeakqualtools/archive/1.2.tar.gz"
- version('1.2', sha256='86cbcca80b65f150b1cdbea673d8a47caba88c2db6b3b567a80f2c797c9a1668')
+ version("1.2", sha256="86cbcca80b65f150b1cdbea673d8a47caba88c2db6b3b567a80f2c797c9a1668")
- depends_on('awk')
- depends_on('samtools')
- depends_on('r', type=('build', 'run'))
- depends_on('r-phantompeakqualtools', type=('build', 'run'))
+ depends_on("awk")
+ depends_on("samtools")
+ depends_on("r", type=("build", "run"))
+ depends_on("r-phantompeakqualtools", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('run_spp.R', prefix.bin)
+ install("run_spp.R", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/phast/package.py b/var/spack/repos/builtin/packages/phast/package.py
index a4838b6801..83732c44c4 100644
--- a/var/spack/repos/builtin/packages/phast/package.py
+++ b/var/spack/repos/builtin/packages/phast/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class Phast(MakefilePackage):
"""PHAST is a freely available software package for comparative and
- evolutionary genomics."""
+ evolutionary genomics."""
homepage = "http://compgen.cshl.edu/phast/index.php"
- url = "https://github.com/CshlSiepelLab/phast/archive/v1.4.tar.gz"
+ url = "https://github.com/CshlSiepelLab/phast/archive/v1.4.tar.gz"
- version('1.4', sha256='287c77599c51256a3adbd62ed217cb6d6a547fcec2c29262e9d61fa32ed92b99')
+ version("1.4", sha256="287c77599c51256a3adbd62ed217cb6d6a547fcec2c29262e9d61fa32ed92b99")
# phast cannot build with clapack using external blas
- depends_on('clapack~external-blas')
+ depends_on("clapack~external-blas")
- build_directory = 'src'
+ build_directory = "src"
@property
def build_targets(self):
- targets = ['CLAPACKPATH={0}'.format(self.spec['clapack'].prefix)]
+ targets = ["CLAPACKPATH={0}".format(self.spec["clapack"].prefix)]
return targets
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- filter_file(r'\$\{PWD\}',
- '$(dir $(realpath $(firstword $(MAKEFILE_LIST))))',
- 'make-include.mk')
- filter_file(r'\$\{PWD\}',
- '$(dir $(realpath $(firstword $(MAKEFILE_LIST))))',
- 'Makefile')
+ filter_file(
+ r"\$\{PWD\}", "$(dir $(realpath $(firstword $(MAKEFILE_LIST))))", "make-include.mk"
+ )
+ filter_file(
+ r"\$\{PWD\}", "$(dir $(realpath $(firstword $(MAKEFILE_LIST))))", "Makefile"
+ )
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/phasta/package.py b/var/spack/repos/builtin/packages/phasta/package.py
index a360c20a7b..40e51b946d 100644
--- a/var/spack/repos/builtin/packages/phasta/package.py
+++ b/var/spack/repos/builtin/packages/phasta/package.py
@@ -8,33 +8,33 @@ from spack.package import *
class Phasta(CMakePackage):
"""SCOREC RPI's Parallel Hierarchic Adaptive Stabilized Transient Analysis
- (PHASTA) of compressible and incompressible Navier Stokes equations."""
+ (PHASTA) of compressible and incompressible Navier Stokes equations."""
homepage = "https://www.scorec.rpi.edu/software.php"
- git = "https://github.com/PHASTA/phasta.git"
+ git = "https://github.com/PHASTA/phasta.git"
- version('develop', branch='master')
- version('0.0.1', commit='11f431f2d1a53a529dab4b0f079ab8aab7ca1109')
+ version("develop", branch="master")
+ version("0.0.1", commit="11f431f2d1a53a529dab4b0f079ab8aab7ca1109")
- depends_on('mpi')
+ depends_on("mpi")
def cmake_args(self):
spec = self.spec
args = [
- '-DPHASTA_USE_MPI=ON',
- '-DPHASTA_BUILD_CONVERTERIO=OFF',
- '-DPHASTA_BUILD_ACUSTAT=OFF',
- '-DPHASTA_BUILD_M2N=OFF',
- '-DPHASTA_BUILD_M2NFixBnd=OFF',
- '-DPHASTA_USE_LESLIB=OFF',
- '-DPHASTA_USE_PETSC=OFF',
- '-DPHASTA_USE_SVLS=ON',
- '-DPHASTA_INCOMPRESSIBLE=ON',
- '-DPHASTA_COMPRESSIBLE=ON',
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
+ "-DPHASTA_USE_MPI=ON",
+ "-DPHASTA_BUILD_CONVERTERIO=OFF",
+ "-DPHASTA_BUILD_ACUSTAT=OFF",
+ "-DPHASTA_BUILD_M2N=OFF",
+ "-DPHASTA_BUILD_M2NFixBnd=OFF",
+ "-DPHASTA_USE_LESLIB=OFF",
+ "-DPHASTA_USE_PETSC=OFF",
+ "-DPHASTA_USE_SVLS=ON",
+ "-DPHASTA_INCOMPRESSIBLE=ON",
+ "-DPHASTA_COMPRESSIBLE=ON",
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
]
return args
diff --git a/var/spack/repos/builtin/packages/phist/package.py b/var/spack/repos/builtin/packages/phist/package.py
index 34c4ed0d33..84e676aecb 100644
--- a/var/spack/repos/builtin/packages/phist/package.py
+++ b/var/spack/repos/builtin/packages/phist/package.py
@@ -21,25 +21,25 @@ class Phist(CMakePackage):
"""
homepage = "https://bitbucket.org/essex/phist/"
- url = "https://bitbucket.org/essex/phist/get/phist-1.9.6.tar.gz"
- git = "https://bitbucket.org/essex/phist.git"
+ url = "https://bitbucket.org/essex/phist/get/phist-1.9.6.tar.gz"
+ git = "https://bitbucket.org/essex/phist.git"
- maintainers = ['jthies']
- tags = ['e4s']
+ maintainers = ["jthies"]
+ tags = ["e4s"]
# phist is a required part of spack GitLab CI pipelines. In them, mpich is requested
# to provide 'mpi' like this: spack install phist ^mpich %gcc@7.5.0
# Failure of this command to succeed breaks spack's gitlab CI pipelines!
- version('develop', branch='devel')
- version('master', branch='master')
+ version("develop", branch="devel")
+ version("master", branch="master")
# phist-1.9.6 updated from the older "use mpi" to the newer "use mpi_f08" (MPI3.1):
# The motivation was fixing it on Cray: https://github.com/spack/spack/issues/26002
# Documentation: https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node408.htm
# mpich does not provide mpi_f08.mod with gfortran-[789], it needs gfortran>=10:
# https://stackoverflow.com/questions/65750862
- version('1.9.6', sha256='98ed5ccb22bb98d5b6bf9de0c9960105473e5244978853070b9a3c44138db662')
+ version("1.9.6", sha256="98ed5ccb22bb98d5b6bf9de0c9960105473e5244978853070b9a3c44138db662")
# As spack GitLab CI pipelines use ^mpich %gcc@7.5.0, @1.9.6 with it can't be used:
# A conflict would be possible, but when %gcc@10: or another compiler is available,
@@ -54,202 +54,215 @@ class Phist(CMakePackage):
# Instead, a check with a helpful error message is added to the build (see below).
# and we use preferred=True to select 1.9.5 by default:
version(
- '1.9.5',
- sha256='24faa3373003f185c82a658c510e36cba9acc4110eb60cbfded9de370ae9ea32',
+ "1.9.5",
+ sha256="24faa3373003f185c82a658c510e36cba9acc4110eb60cbfded9de370ae9ea32",
preferred=True,
)
- version('1.9.4', sha256='9dde3ca0480358fa0877ec8424aaee4011c5defc929219a5930388a7cdb4c8a6')
- version('1.9.3', sha256='3ab7157e9f535a4c8537846cb11b516271ef13f82d0f8ebb7f96626fb9ab86cf')
- version('1.9.2', sha256='289678fa7172708f5d32d6bd924c8fdfe72b413bba5bbb8ce6373c85c5ec5ae5')
- version('1.9.1', sha256='6e6411115ec48afe605b4f2179e9bc45d60f15459428f474f3f32b80d2830f1f')
- version('1.9.0', sha256='990d3308fc0083ed0f9f565d00c649ee70c3df74d44cbe5f19dfe05263d06559')
- version('1.8.0', sha256='ee42946bce187e126452053b5f5c200b57b6e40ee3f5bcf0751f3ced585adeb0')
- version('1.7.5', sha256='f11fe27f2aa13d69eb285cc0f32c33c1603fa1286b84e54c81856c6f2bdef500')
- version('1.7.4', sha256='c5324f639b8c95b07cd29c3cd8dd7dd576c84a0b9228dbb88f8b87605424419e')
- version('1.7.3', sha256='ab2d853c9ba13bcd3069fcc61c359cb412466a2e4b22ebbd2f5263cffa685126')
- version('1.7.2', sha256='29b504d78b5efd57b87d2ca6e20bc8a32b1ba55b40f5a5b7189cc0d28e43bcc0')
- version('1.6.1', sha256='4ed4869f24f920a494aeae0f7d1d94fe9efce55ebe0d298a5948c9603e07994d')
- version('1.6.0', sha256='667a967b37d248242c275226c96efc447ef73a2b15f241c6a588d570d7fac07b')
- version('1.4.3', sha256='9cc1c7ba7f7a04e94f4497da14199e4631a0d02d0e4187f3e16f4c242dc777c1')
-
- variant(name='kernel_lib', default='builtin',
- description='select the kernel library (backend) for phist',
- values=['builtin',
- 'epetra',
- 'tpetra',
- 'petsc',
- 'eigen',
- 'ghost'])
-
- variant(name='int64', default=True,
- description='Use 64-bit global indices.')
-
- variant(name='outlev', default='2', values=['0', '1', '2', '3', '4', '5'],
- description='verbosity. 0: errors 1: +warnings 2: +info '
- '3: +verbose 4: +extreme 5: +debug')
-
- variant('host', default=True,
- description='allow PHIST to use compiler flags that lead to host-'
- 'specific code. Set this to False when cross-compiling.')
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
-
- variant('mpi', default=True,
- description='enable/disable MPI (note that the kernel library may '
- 'not support this choice)')
-
- variant('openmp', default=True,
- description='enable/disable OpenMP')
-
- variant('parmetis', default=False,
- description='enable/disable ParMETIS partitioning (only actually '
- 'used with kernel_lib=builtin)')
-
- variant('scamac', default=True,
- description='enable/disable building the "SCAlable MAtrix '
- 'Collection" matrix generators.')
-
- variant('trilinos', default=False,
- description='enable/disable Trilinos third-party libraries. '
- 'For all kernel_libs, we can use Belos and Anasazi '
- 'iterative solvers. For the Trilinos backends '
- '(kernel_lib=epetra|tpetra) we can use preconditioner '
- 'packages such as Ifpack, Ifpack2 and ML.')
-
- variant('fortran', default=True,
- description='generate Fortran 2003 bindings (requires Python3 and '
- 'a Fortran compiler)')
+ version("1.9.4", sha256="9dde3ca0480358fa0877ec8424aaee4011c5defc929219a5930388a7cdb4c8a6")
+ version("1.9.3", sha256="3ab7157e9f535a4c8537846cb11b516271ef13f82d0f8ebb7f96626fb9ab86cf")
+ version("1.9.2", sha256="289678fa7172708f5d32d6bd924c8fdfe72b413bba5bbb8ce6373c85c5ec5ae5")
+ version("1.9.1", sha256="6e6411115ec48afe605b4f2179e9bc45d60f15459428f474f3f32b80d2830f1f")
+ version("1.9.0", sha256="990d3308fc0083ed0f9f565d00c649ee70c3df74d44cbe5f19dfe05263d06559")
+ version("1.8.0", sha256="ee42946bce187e126452053b5f5c200b57b6e40ee3f5bcf0751f3ced585adeb0")
+ version("1.7.5", sha256="f11fe27f2aa13d69eb285cc0f32c33c1603fa1286b84e54c81856c6f2bdef500")
+ version("1.7.4", sha256="c5324f639b8c95b07cd29c3cd8dd7dd576c84a0b9228dbb88f8b87605424419e")
+ version("1.7.3", sha256="ab2d853c9ba13bcd3069fcc61c359cb412466a2e4b22ebbd2f5263cffa685126")
+ version("1.7.2", sha256="29b504d78b5efd57b87d2ca6e20bc8a32b1ba55b40f5a5b7189cc0d28e43bcc0")
+ version("1.6.1", sha256="4ed4869f24f920a494aeae0f7d1d94fe9efce55ebe0d298a5948c9603e07994d")
+ version("1.6.0", sha256="667a967b37d248242c275226c96efc447ef73a2b15f241c6a588d570d7fac07b")
+ version("1.4.3", sha256="9cc1c7ba7f7a04e94f4497da14199e4631a0d02d0e4187f3e16f4c242dc777c1")
+
+ variant(
+ name="kernel_lib",
+ default="builtin",
+ description="select the kernel library (backend) for phist",
+ values=["builtin", "epetra", "tpetra", "petsc", "eigen", "ghost"],
+ )
+
+ variant(name="int64", default=True, description="Use 64-bit global indices.")
+
+ variant(
+ name="outlev",
+ default="2",
+ values=["0", "1", "2", "3", "4", "5"],
+ description="verbosity. 0: errors 1: +warnings 2: +info "
+ "3: +verbose 4: +extreme 5: +debug",
+ )
+
+ variant(
+ "host",
+ default=True,
+ description="allow PHIST to use compiler flags that lead to host-"
+ "specific code. Set this to False when cross-compiling.",
+ )
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+
+ variant(
+ "mpi",
+ default=True,
+ description="enable/disable MPI (note that the kernel library may "
+ "not support this choice)",
+ )
+
+ variant("openmp", default=True, description="enable/disable OpenMP")
+
+ variant(
+ "parmetis",
+ default=False,
+ description="enable/disable ParMETIS partitioning (only actually "
+ "used with kernel_lib=builtin)",
+ )
+
+ variant(
+ "scamac",
+ default=True,
+ description='enable/disable building the "SCAlable MAtrix '
+ 'Collection" matrix generators.',
+ )
+
+ variant(
+ "trilinos",
+ default=False,
+ description="enable/disable Trilinos third-party libraries. "
+ "For all kernel_libs, we can use Belos and Anasazi "
+ "iterative solvers. For the Trilinos backends "
+ "(kernel_lib=epetra|tpetra) we can use preconditioner "
+ "packages such as Ifpack, Ifpack2 and ML.",
+ )
+
+ variant(
+ "fortran",
+ default=True,
+ description="generate Fortran 2003 bindings (requires Python3 and " "a Fortran compiler)",
+ )
# in older versions, it is not possible to completely turn off OpenMP
- conflicts('~openmp', when='@:1.7.3')
+ conflicts("~openmp", when="@:1.7.3")
# in older versions, it is not possible to turn off the use of host-
# specific compiler flags in Release mode.
- conflicts('~host', when='@:1.7.3')
+ conflicts("~host", when="@:1.7.3")
# builtin always uses 64-bit indices
- conflicts('~int64', when='kernel_lib=builtin')
- conflicts('+int64', when='kernel_lib=eigen')
+ conflicts("~int64", when="kernel_lib=builtin")
+ conflicts("+int64", when="kernel_lib=eigen")
# ###################### Patches ##########################
# Only applies to 1.9.4: While SSE instructions are handled correctly,
# build fails on ppc64le unless -DNO_WARN_X86_INTRINSICS is defined.
- patch('ppc64_sse.patch', when='@1.9.4')
- patch('update_tpetra_gotypes.patch', when='@1.6:1.8')
- patch('sbang.patch', when='+fortran')
+ patch("ppc64_sse.patch", when="@1.9.4")
+ patch("update_tpetra_gotypes.patch", when="@1.6:1.8")
+ patch("sbang.patch", when="+fortran")
# ###################### Dependencies ##########################
- depends_on('cmake@3.8:', type='build')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("cmake@3.8:", type="build")
+ depends_on("blas")
+ depends_on("lapack")
# Python 3 or later is required for generating the Fortran 2003 bindings
# since version 1.7, you can get rid of the dependency by switching off
# the feature (e.g. use the '~fortran' variant)
- depends_on('python@3:', when='@1.7: +fortran', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('trilinos@12:+tpetra gotype=long_long', when='kernel_lib=tpetra +int64')
- depends_on('trilinos@12:+tpetra gotype=int', when='kernel_lib=tpetra ~int64')
+ depends_on("python@3:", when="@1.7: +fortran", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("trilinos@12:+tpetra gotype=long_long", when="kernel_lib=tpetra +int64")
+ depends_on("trilinos@12:+tpetra gotype=int", when="kernel_lib=tpetra ~int64")
# Epetra backend also works with older Trilinos versions
- depends_on('trilinos+epetra', when='kernel_lib=epetra')
- depends_on('petsc +int64', when='kernel_lib=petsc +int64')
- depends_on('petsc ~int64', when='kernel_lib=petsc ~int64')
- depends_on('eigen', when='kernel_lib=eigen')
- depends_on('ghost', when='kernel_lib=ghost')
-
- depends_on('trilinos+anasazi+belos', when='+trilinos')
- depends_on('parmetis+int64', when='+parmetis+int64')
- depends_on('parmetis~int64', when='+parmetis~int64')
- depends_on('py-pytest', type='test')
- depends_on('py-numpy', type='test', when='+mpi')
+ depends_on("trilinos+epetra", when="kernel_lib=epetra")
+ depends_on("petsc +int64", when="kernel_lib=petsc +int64")
+ depends_on("petsc ~int64", when="kernel_lib=petsc ~int64")
+ depends_on("eigen", when="kernel_lib=eigen")
+ depends_on("ghost", when="kernel_lib=ghost")
+
+ depends_on("trilinos+anasazi+belos", when="+trilinos")
+ depends_on("parmetis+int64", when="+parmetis+int64")
+ depends_on("parmetis~int64", when="+parmetis~int64")
+ depends_on("py-pytest", type="test")
+ depends_on("py-numpy", type="test", when="+mpi")
# The test_install compiles the examples and needs pkgconfig for it
- depends_on('pkgconfig', type='test')
+ depends_on("pkgconfig", type="test")
# Fortran 2003 bindings were included in version 1.7, previously they
# required a separate package
- conflicts('+fortran', when='@:1.6')
+ conflicts("+fortran", when="@:1.6")
# older gcc's may produce incorrect SIMD code and fail
# to compile some OpenMP statements
- conflicts('%gcc@:4.9.1')
+ conflicts("%gcc@:4.9.1")
# gcc@10: Error: Rank mismatch between actual argument at (1)
# and actual argument at (2) (scalar and rank-1)
- conflicts('%gcc@10:', when='@:1.9.0')
+ conflicts("%gcc@10:", when="@:1.9.0")
# the phist repo came with it's own FindMPI.cmake before, which may cause some other
# MPI installation to be used than the one spack wants.
def patch(self):
- if self.spec.satisfies('@1.9.6'):
- filter_file('USE mpi', 'use mpi_f08',
- 'src/kernels/builtin/crsmat_module.F90')
+ if self.spec.satisfies("@1.9.6"):
+ filter_file("USE mpi", "use mpi_f08", "src/kernels/builtin/crsmat_module.F90")
# filter_file('use mpi', 'use mpi_f08', -> Needs more fixes
# 'fortran_bindings/phist_testing.F90')
# These are not needed for the build but as a reminder to be consistent:
- filter_file('use mpi', 'use mpi_f08',
- 'fortran_bindings/test/core.F90')
- filter_file('use mpi', 'use mpi_f08',
- 'fortran_bindings/test/jada.F90')
- filter_file('use mpi', 'use mpi_f08',
- 'fortran_bindings/test/kernels.F90')
-
- if '^mpich' in self.spec and self.spec.satisfies('%gcc@:9'):
+ filter_file("use mpi", "use mpi_f08", "fortran_bindings/test/core.F90")
+ filter_file("use mpi", "use mpi_f08", "fortran_bindings/test/jada.F90")
+ filter_file("use mpi", "use mpi_f08", "fortran_bindings/test/kernels.F90")
+
+ if "^mpich" in self.spec and self.spec.satisfies("%gcc@:9"):
raise InstallError("PR 26773: gcc<10 can't build phist>1.9.5 w/ ^mpich")
- if self.spec.satisfies('@:1.9.5'):
+ if self.spec.satisfies("@:1.9.5"):
# Tag '1.9.5' has moved to an older commit later without fixing the version:
- filter_file('VERSION_PATCH 4', 'VERSION_PATCH 5', 'CMakeLists.txt')
- force_remove('cmake/FindMPI.cmake')
+ filter_file("VERSION_PATCH 4", "VERSION_PATCH 5", "CMakeLists.txt")
+ force_remove("cmake/FindMPI.cmake")
# mpiexec -n12 puts a lot of stress on a pod and gets stuck in a loop very often
- test = FileFilter('CMakeLists.txt')
- test.filter('1 2 3 12', '1 2 3')
- test.filter('12/', '6/')
- test.filter('TEST_DRIVERS_NUM_THREADS 6', 'TEST_DRIVERS_NUM_THREADS 3')
+ test = FileFilter("CMakeLists.txt")
+ test.filter("1 2 3 12", "1 2 3")
+ test.filter("12/", "6/")
+ test.filter("TEST_DRIVERS_NUM_THREADS 6", "TEST_DRIVERS_NUM_THREADS 3")
def setup_build_environment(self, env):
- env.set('SPACK_SBANG', sbang.sbang_install_path())
+ env.set("SPACK_SBANG", sbang.sbang_install_path())
def cmake_args(self):
spec = self.spec
define = CMakePackage.define
- if spec.satisfies('kernel_lib=builtin') and spec.satisfies('~mpi'):
- raise InstallError('~mpi not possible with kernel_lib=builtin!')
-
- kernel_lib = spec.variants['kernel_lib'].value
- outlev = spec.variants['outlev'].value
-
- lapacke_libs = (spec['lapack:c'].libs + spec['blas:c'].libs +
- find_system_libraries(['libm'])).joined(';')
- lapacke_include_dir = spec['lapack:c'].headers.directories[0]
-
- args = ['-DPHIST_USE_CCACHE=OFF',
- '-DPHIST_KERNEL_LIB=%s' % kernel_lib,
- '-DPHIST_OUTLEV=%s' % outlev,
- '-DTPL_LAPACKE_LIBRARIES=%s' % lapacke_libs,
- '-DTPL_LAPACKE_INCLUDE_DIRS=%s' % lapacke_include_dir,
- self.define_from_variant('PHIST_ENABLE_MPI', 'mpi'),
- self.define_from_variant('PHIST_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('PHIST_ENABLE_SCAMAC', 'scamac'),
- '-DPHIST_USE_TRILINOS_TPLS:BOOL=%s'
- % ('ON' if '^trilinos' in spec else 'OFF'),
- '-DPHIST_USE_SOLVER_TPLS:BOOL=%s'
- % ('ON' if '^trilinos+belos+anasazi' in spec else 'OFF'),
- '-DPHIST_USE_PRECON_TPLS:BOOL=%s'
- % ('ON' if '^trilinos' in spec else 'OFF'),
- self.define_from_variant('XSDK_ENABLE_Fortran', 'fortran'),
- '-DXSDK_INDEX_SIZE=%s'
- % ('64' if '+int64' in spec else '32'),
- self.define_from_variant('PHIST_HOST_OPTIMIZE', 'host'),
- ]
+ if spec.satisfies("kernel_lib=builtin") and spec.satisfies("~mpi"):
+ raise InstallError("~mpi not possible with kernel_lib=builtin!")
+
+ kernel_lib = spec.variants["kernel_lib"].value
+ outlev = spec.variants["outlev"].value
+
+ lapacke_libs = (
+ spec["lapack:c"].libs + spec["blas:c"].libs + find_system_libraries(["libm"])
+ ).joined(";")
+ lapacke_include_dir = spec["lapack:c"].headers.directories[0]
+
+ args = [
+ "-DPHIST_USE_CCACHE=OFF",
+ "-DPHIST_KERNEL_LIB=%s" % kernel_lib,
+ "-DPHIST_OUTLEV=%s" % outlev,
+ "-DTPL_LAPACKE_LIBRARIES=%s" % lapacke_libs,
+ "-DTPL_LAPACKE_INCLUDE_DIRS=%s" % lapacke_include_dir,
+ self.define_from_variant("PHIST_ENABLE_MPI", "mpi"),
+ self.define_from_variant("PHIST_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("PHIST_ENABLE_SCAMAC", "scamac"),
+ "-DPHIST_USE_TRILINOS_TPLS:BOOL=%s" % ("ON" if "^trilinos" in spec else "OFF"),
+ "-DPHIST_USE_SOLVER_TPLS:BOOL=%s"
+ % ("ON" if "^trilinos+belos+anasazi" in spec else "OFF"),
+ "-DPHIST_USE_PRECON_TPLS:BOOL=%s" % ("ON" if "^trilinos" in spec else "OFF"),
+ self.define_from_variant("XSDK_ENABLE_Fortran", "fortran"),
+ "-DXSDK_INDEX_SIZE=%s" % ("64" if "+int64" in spec else "32"),
+ self.define_from_variant("PHIST_HOST_OPTIMIZE", "host"),
+ ]
# Force phist to use the MPI wrappers instead of raw compilers
# (see issue #26002 and the comment in the trilinos package.py)
- if '+mpi' in spec:
+ if "+mpi" in spec:
args.extend(
- [define('CMAKE_C_COMPILER', spec['mpi'].mpicc),
- define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx),
- define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- define('MPI_HOME', spec['mpi'].prefix),
- ])
+ [
+ define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
+ define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
+ define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ define("MPI_HOME", spec["mpi"].prefix),
+ ]
+ )
# Workaround for non-compliant and possibly broken code needed for gcc@10:
# MPI_Allreduce(localRes, res, 1, MPI_LOGICAL, MPI_LAND, map1%comm, ierr);
@@ -257,33 +270,35 @@ class Phist(CMakePackage):
# Error: Type mismatch between actual argument at (1)
# and actual argument at (2) (LOGICAL(4)/INTEGER(4)).
- if spec.satisfies('%gcc@10:'):
- args.append(define('CMAKE_Fortran_FLAGS', '-fallow-argument-mismatch'))
+ if spec.satisfies("%gcc@10:"):
+ args.append(define("CMAKE_Fortran_FLAGS", "-fallow-argument-mismatch"))
return args
def check(self):
with working_dir(self.build_directory):
# This affects all versions of phist with ^mpich with all gcc versions:
- if '^mpich' in self.spec:
- hint = 'Expect tests to timeout with mpich. Should work with: ^openmpi.'
- tty.warn('========================== %s =======================' % hint)
+ if "^mpich" in self.spec:
+ hint = "Expect tests to timeout with mpich. Should work with: ^openmpi."
+ tty.warn("========================== %s =======================" % hint)
try:
make("check")
except spack.util.executable.ProcessError:
- raise InstallError('run-test of phist ^mpich: Hint: ' + hint)
+ raise InstallError("run-test of phist ^mpich: Hint: " + hint)
else:
make("check")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
# The build script of test_install expects the sources to be copied here:
- install_tree(join_path(self.stage.source_path, 'exampleProjects'),
- join_path(self.stage.path, 'exampleProjects'))
+ install_tree(
+ join_path(self.stage.source_path, "exampleProjects"),
+ join_path(self.stage.path, "exampleProjects"),
+ )
with working_dir(self.build_directory):
make("test_install")
@property
def parallel(self):
- return self.spec.satisfies('@1.8:')
+ return self.spec.satisfies("@1.8:")
diff --git a/var/spack/repos/builtin/packages/phoenix/package.py b/var/spack/repos/builtin/packages/phoenix/package.py
index cfdb247843..3e1a5b8908 100644
--- a/var/spack/repos/builtin/packages/phoenix/package.py
+++ b/var/spack/repos/builtin/packages/phoenix/package.py
@@ -12,6 +12,6 @@ class Phoenix(MavenPackage):
JDBC driver targeting low latency queries over HBase data."""
homepage = "https://github.com"
- git = "https://github.com/apache/phoenix.git"
+ git = "https://github.com/apache/phoenix.git"
- version('master', branch='master')
+ version("master", branch="master")
diff --git a/var/spack/repos/builtin/packages/photos-f/package.py b/var/spack/repos/builtin/packages/photos-f/package.py
index e8db4d0b2e..6bd2fbf4cb 100644
--- a/var/spack/repos/builtin/packages/photos-f/package.py
+++ b/var/spack/repos/builtin/packages/photos-f/package.py
@@ -14,13 +14,15 @@ class PhotosF(MakefilePackage):
"""PHOTOS Monte-Carlo generator (Fortran version)"""
homepage = "https://wasm.web.cern.ch/wasm/f77.html"
- url = "http://cern.ch/service-spi/external/MCGenerators/distribution/photos/photos-215.5-src.tgz"
+ url = (
+ "http://cern.ch/service-spi/external/MCGenerators/distribution/photos/photos-215.5-src.tgz"
+ )
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
- version('215.5', sha256='3e2b3f60ffe2d3a6a95cf2f156aa24b93e1fa3c439a85fa0ae780ca2f6e0dbb5')
+ version("215.5", sha256="3e2b3f60ffe2d3a6a95cf2f156aa24b93e1fa3c439a85fa0ae780ca2f6e0dbb5")
- patch('photos-215.5-update-configure.patch', level=2)
+ patch("photos-215.5-update-configure.patch", level=2)
def do_stage(self, mirror_only=False):
# Fix directory structure - remove extra "<version>" subdirectory
@@ -31,14 +33,14 @@ class PhotosF(MakefilePackage):
shutil.rmtree(root)
def edit(self, spec, prefix):
- configure_ = Executable('./configure')
- configure_('--enable-static', '--disable-shared')
- if self.spec.satisfies('platform=darwin'):
- filter_file('libphotos.so', 'libphotos.dylib', 'Makefile')
+ configure_ = Executable("./configure")
+ configure_("--enable-static", "--disable-shared")
+ if self.spec.satisfies("platform=darwin"):
+ filter_file("libphotos.so", "libphotos.dylib", "Makefile")
def install(self, spec, prefix):
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- for fn in glob(join_path(prefix.lib.archive, '*.a')):
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ for fn in glob(join_path(prefix.lib.archive, "*.a")):
install(fn, prefix.lib)
shutil.rmtree(prefix.lib.archive)
diff --git a/var/spack/repos/builtin/packages/photos/package.py b/var/spack/repos/builtin/packages/photos/package.py
index 4557c3539f..ac4f99030c 100644
--- a/var/spack/repos/builtin/packages/photos/package.py
+++ b/var/spack/repos/builtin/packages/photos/package.py
@@ -7,29 +7,29 @@ from spack.package import *
class Photos(AutotoolsPackage):
- """ Photos is a Monte Carlo program for bremsstrahlung in the decay
- of particles and resonances."""
+ """Photos is a Monte Carlo program for bremsstrahlung in the decay
+ of particles and resonances."""
homepage = "https://photospp.web.cern.ch/photospp/"
- url = "https://photospp.web.cern.ch/photospp/resources/PHOTOS.3.61/PHOTOS.3.61-LHC.tar.gz"
+ url = "https://photospp.web.cern.ch/photospp/resources/PHOTOS.3.61/PHOTOS.3.61-LHC.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('3.64', sha256='cb4096b4804289fc4d54a992caa566cbbd33f41f65f8906deb01200dc5163027')
- version('3.61', sha256='acd3bcb769ba2a3e263de399e9b89fd6296405c9cbc5045b83baba3e60db4b26')
+ version("3.64", sha256="cb4096b4804289fc4d54a992caa566cbbd33f41f65f8906deb01200dc5163027")
+ version("3.61", sha256="acd3bcb769ba2a3e263de399e9b89fd6296405c9cbc5045b83baba3e60db4b26")
- variant('hepmc', default=True, description='Build with HepMC2 support')
- variant('hepmc3', default=False, description='Build with HepMC3 support')
+ variant("hepmc", default=True, description="Build with HepMC2 support")
+ variant("hepmc3", default=False, description="Build with HepMC3 support")
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- depends_on('hepmc', when='+hepmc')
- depends_on('hepmc3', when='+hepmc3')
+ depends_on("hepmc", when="+hepmc")
+ depends_on("hepmc3", when="+hepmc3")
def configure_args(self):
args = []
- args.extend(self.with_or_without('hepmc', 'prefix'))
- args.extend(self.with_or_without('hepmc3', 'prefix'))
+ args.extend(self.with_or_without("hepmc", "prefix"))
+ args.extend(self.with_or_without("hepmc3", "prefix"))
return args
diff --git a/var/spack/repos/builtin/packages/php/package.py b/var/spack/repos/builtin/packages/php/package.py
index efe31bda74..fdbe31d9eb 100644
--- a/var/spack/repos/builtin/packages/php/package.py
+++ b/var/spack/repos/builtin/packages/php/package.py
@@ -15,29 +15,29 @@ class Php(AutotoolsPackage):
"""
homepage = "https://php.net/"
- url = "https://github.com/php/php-src/archive/php-7.3.13.tar.gz"
-
- version('7.4.1', sha256='4d9d7c5681bec3af38a935d033657dce09a9913498f8022d7ca163a7f2f493a7')
- version('7.4.0', sha256='91d34b48025ab9789216df89e247b6904912eeeaeff38c300ef314bdda8920b0')
- version('7.3.13', sha256='e68b8d9e659f2993eee912f05860e546fdc18e459f31cd2771f404df21285f0b')
- version('7.3.12', sha256='d0672ea84c0ab184f636acff3230d376d89a2067d59a87a2f1842361ee1f97d6')
- version('7.3.11', sha256='4d861b2f3bc640ded8b591ce87250161392a6244a3c84042da0c06fd8c500eb2')
- version('7.2.26', sha256='da132a836cec8021c00f22952e6044d91628ee3d2ef92a95d65cf91bad810600')
- version('7.2.25', sha256='049b2d291c45cb889d15fcd2bac6da7d15ca5d535d272d2f8879fb834bbf276e')
- version('7.2.24', sha256='334c9915733f6a29e1462f64038b1b4b1b21cb18f4f5f980add86792b5550ab3')
- version('7.1.33', sha256='f80a795a09328a9441bae4a8a60fa0d6d43ec5adc98f5aa5f51d06f4522c07fe')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('bison', type='build')
- depends_on('re2c', type='build')
- depends_on('libxml2')
- depends_on('sqlite')
-
- patch('sbang.patch')
+ url = "https://github.com/php/php-src/archive/php-7.3.13.tar.gz"
+
+ version("7.4.1", sha256="4d9d7c5681bec3af38a935d033657dce09a9913498f8022d7ca163a7f2f493a7")
+ version("7.4.0", sha256="91d34b48025ab9789216df89e247b6904912eeeaeff38c300ef314bdda8920b0")
+ version("7.3.13", sha256="e68b8d9e659f2993eee912f05860e546fdc18e459f31cd2771f404df21285f0b")
+ version("7.3.12", sha256="d0672ea84c0ab184f636acff3230d376d89a2067d59a87a2f1842361ee1f97d6")
+ version("7.3.11", sha256="4d861b2f3bc640ded8b591ce87250161392a6244a3c84042da0c06fd8c500eb2")
+ version("7.2.26", sha256="da132a836cec8021c00f22952e6044d91628ee3d2ef92a95d65cf91bad810600")
+ version("7.2.25", sha256="049b2d291c45cb889d15fcd2bac6da7d15ca5d535d272d2f8879fb834bbf276e")
+ version("7.2.24", sha256="334c9915733f6a29e1462f64038b1b4b1b21cb18f4f5f980add86792b5550ab3")
+ version("7.1.33", sha256="f80a795a09328a9441bae4a8a60fa0d6d43ec5adc98f5aa5f51d06f4522c07fe")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("bison", type="build")
+ depends_on("re2c", type="build")
+ depends_on("libxml2")
+ depends_on("sqlite")
+
+ patch("sbang.patch")
def patch(self):
"""
@@ -50,14 +50,16 @@ class Php(AutotoolsPackage):
if len(self.prefix.bin.php) + 2 <= shebang_limit:
return
- new_sbang_line = '#!/bin/bash %s' % sbang.sbang_install_path()
+ new_sbang_line = "#!/bin/bash %s" % sbang.sbang_install_path()
original_bang = '-b "$(PHP_PHARCMD_BANG)"'
- makefile = join_path('ext', 'phar', 'Makefile.frag')
+ makefile = join_path("ext", "phar", "Makefile.frag")
filter_file(
original_bang,
original_bang + ' -z "{0}"'.format(new_sbang_line),
- makefile, string=True)
+ makefile,
+ string=True,
+ )
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./buildconf', '--force')
+ bash = which("bash")
+ bash("./buildconf", "--force")
diff --git a/var/spack/repos/builtin/packages/phrap-crossmatch-swat/package.py b/var/spack/repos/builtin/packages/phrap-crossmatch-swat/package.py
index 025203809b..590c0e7d2c 100644
--- a/var/spack/repos/builtin/packages/phrap-crossmatch-swat/package.py
+++ b/var/spack/repos/builtin/packages/phrap-crossmatch-swat/package.py
@@ -10,18 +10,18 @@ from spack.package import *
class PhrapCrossmatchSwat(MakefilePackage):
"""phrap is a program for assembling shotgun DNA sequence data.
- cross_match is a general purpose utility for comparing any two DNA
- sequence sets using a 'banded' version of swat.
- swat is a program for searching one or more DNA or protein query
- sequences, or a query profile, against a sequence database"""
+ cross_match is a general purpose utility for comparing any two DNA
+ sequence sets using a 'banded' version of swat.
+ swat is a program for searching one or more DNA or protein query
+ sequences, or a query profile, against a sequence database"""
homepage = "http://www.phrap.org/phredphrapconsed.html"
- url = "file://{0}/phrap-crossmatch-swat-1.090518.tar.gz".format(os.getcwd())
+ url = "file://{0}/phrap-crossmatch-swat-1.090518.tar.gz".format(os.getcwd())
manual_download = True
- version('1.090518', sha256='81f50c4410e8604cdefcc34ef6dc7b037be3bb45b94c439611a5590c1cf83665')
+ version("1.090518", sha256="81f50c4410e8604cdefcc34ef6dc7b037be3bb45b94c439611a5590c1cf83665")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- for b in ['phrap', 'cross_match', 'swat']:
+ for b in ["phrap", "cross_match", "swat"]:
install(b, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/phred/package.py b/var/spack/repos/builtin/packages/phred/package.py
index 9c01aaff89..1226d8ce5b 100644
--- a/var/spack/repos/builtin/packages/phred/package.py
+++ b/var/spack/repos/builtin/packages/phred/package.py
@@ -10,14 +10,14 @@ from spack.package import *
class Phred(MakefilePackage):
"""The phred software reads DNA sequencing trace files, calls bases,
- and assigns a quality value to each called base."""
+ and assigns a quality value to each called base."""
homepage = "http://www.phrap.org/phredphrapconsed.html"
- url = "file://{0}/phred.tar.gz".format(os.getcwd())
+ url = "file://{0}/phred.tar.gz".format(os.getcwd())
manual_download = True
- version('071220', sha256='26212f13fa906c1ca0af61f48d52a5f2c1aacba802bf729ba65ca5222463abce')
+ version("071220", sha256="26212f13fa906c1ca0af61f48d52a5f2c1aacba802bf729ba65ca5222463abce")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('phred', prefix.bin)
+ install("phred", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/phylip/package.py b/var/spack/repos/builtin/packages/phylip/package.py
index 4d05b842be..05170e3945 100644
--- a/var/spack/repos/builtin/packages/phylip/package.py
+++ b/var/spack/repos/builtin/packages/phylip/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Phylip(Package):
"""PHYLIP (the PHYLogeny Inference Package) is a package of programs for
- inferring phylogenies (evolutionary trees)."""
+ inferring phylogenies (evolutionary trees)."""
homepage = "https://evolution.genetics.washington.edu/phylip/"
- url = "https://evolution.gs.washington.edu/phylip/download/phylip-3.697.tar.gz"
+ url = "https://evolution.gs.washington.edu/phylip/download/phylip-3.697.tar.gz"
- version('3.697', sha256='9a26d8b08b8afea7f708509ef41df484003101eaf4beceb5cf7851eb940510c1')
+ version("3.697", sha256="9a26d8b08b8afea7f708509ef41df484003101eaf4beceb5cf7851eb940510c1")
def install(self, spec, prefix):
- with working_dir('src'):
- if self.spec.satisfies('platform=darwin'):
- make('all', '-f', 'Makefile.osx')
- make('put', '-f', 'Makefile.osx')
+ with working_dir("src"):
+ if self.spec.satisfies("platform=darwin"):
+ make("all", "-f", "Makefile.osx")
+ make("put", "-f", "Makefile.osx")
else:
- make('all', '-f', 'Makefile.unx')
- make('put', '-f', 'Makefile.unx')
- install_tree('exe', prefix.bin)
+ make("all", "-f", "Makefile.unx")
+ make("put", "-f", "Makefile.unx")
+ install_tree("exe", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/phylobayesmpi/package.py b/var/spack/repos/builtin/packages/phylobayesmpi/package.py
index dc9715c045..c06037ac28 100644
--- a/var/spack/repos/builtin/packages/phylobayesmpi/package.py
+++ b/var/spack/repos/builtin/packages/phylobayesmpi/package.py
@@ -10,22 +10,22 @@ class Phylobayesmpi(MakefilePackage):
"""Phylobayes MPI version"""
homepage = "https://github.com/bayesiancook/pbmp"
- url = "https://github.com/bayesiancook/pbmpi/archive/v1.8b.tar.gz"
- git = "https://github.com/bayesiancook/pbmpi.git"
+ url = "https://github.com/bayesiancook/pbmpi/archive/v1.8b.tar.gz"
+ git = "https://github.com/bayesiancook/pbmpi.git"
- version('1.8b', sha256='7ff017bf492c1d8b42bfff3ee8e998ba1c50f4e4b3d9d6125647b91738017324')
+ version("1.8b", sha256="7ff017bf492c1d8b42bfff3ee8e998ba1c50f4e4b3d9d6125647b91738017324")
- depends_on('mpi')
+ depends_on("mpi")
- build_directory = 'sources'
+ build_directory = "sources"
def edit(self, spec, prefix):
- with working_dir('sources'):
- makefile = FileFilter('Makefile')
- makefile.filter('CC=.*', 'CC = ' + spec['mpi'].mpicxx)
+ with working_dir("sources"):
+ makefile = FileFilter("Makefile")
+ makefile.filter("CC=.*", "CC = " + spec["mpi"].mpicxx)
def install(self, spec, prefix):
# no install target provided in Makefile so copy the executables
# from the data directory
- install_tree('data', prefix.bin)
+ install_tree("data", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/phyluce/package.py b/var/spack/repos/builtin/packages/phyluce/package.py
index 92ba4fecd6..711f444a39 100644
--- a/var/spack/repos/builtin/packages/phyluce/package.py
+++ b/var/spack/repos/builtin/packages/phyluce/package.py
@@ -8,33 +8,33 @@ from spack.package import *
class Phyluce(PythonPackage):
"""phyluce (phy-loo-chee) is a software package that was initially
- developed for analyzing data collected from ultraconserved
- elements in organismal genomes"""
+ developed for analyzing data collected from ultraconserved
+ elements in organismal genomes"""
homepage = "https://github.com/faircloth-lab/phyluce"
- url = "https://github.com/faircloth-lab/phyluce/archive/v1.6.7.tar.gz"
+ url = "https://github.com/faircloth-lab/phyluce/archive/v1.6.7.tar.gz"
- version('1.6.7', sha256='98c213ab1610506722ad1440ffc93f9cbc78d8b3aaf3d9a47837e1231452cdb6')
+ version("1.6.7", sha256="98c213ab1610506722ad1440ffc93f9cbc78d8b3aaf3d9a47837e1231452cdb6")
- extends('python')
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-biopython', type='run')
+ extends("python")
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-biopython", type="run")
# runtime binary dependencies
- depends_on('abyss', type='run')
- depends_on('bcftools', type='run')
- depends_on('bwa', type='run')
- depends_on('gatk', type='run')
- depends_on('gblocks', type='run')
- depends_on('lastz', type='run')
- depends_on('mafft', type='run')
- depends_on('muscle', type='run')
- depends_on('picard', type='run')
- depends_on('raxml+pthreads', type='run')
- depends_on('samtools', type='run')
- depends_on('seqtk', type='run')
- depends_on('spades', type='run')
- depends_on('trimal', type='run')
- depends_on('trinity', type='run')
- depends_on('velvet', type='run')
+ depends_on("abyss", type="run")
+ depends_on("bcftools", type="run")
+ depends_on("bwa", type="run")
+ depends_on("gatk", type="run")
+ depends_on("gblocks", type="run")
+ depends_on("lastz", type="run")
+ depends_on("mafft", type="run")
+ depends_on("muscle", type="run")
+ depends_on("picard", type="run")
+ depends_on("raxml+pthreads", type="run")
+ depends_on("samtools", type="run")
+ depends_on("seqtk", type="run")
+ depends_on("spades", type="run")
+ depends_on("trimal", type="run")
+ depends_on("trinity", type="run")
+ depends_on("velvet", type="run")
diff --git a/var/spack/repos/builtin/packages/picard/package.py b/var/spack/repos/builtin/packages/picard/package.py
index 095968f5da..21cce4c171 100644
--- a/var/spack/repos/builtin/packages/picard/package.py
+++ b/var/spack/repos/builtin/packages/picard/package.py
@@ -12,44 +12,146 @@ from spack.package import *
class Picard(Package):
"""Picard is a set of command line tools for manipulating high-throughput
- sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.
+ sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.
"""
homepage = "https://broadinstitute.github.io/picard/"
- url = "https://github.com/broadinstitute/picard/releases/download/2.26.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'
+ url = "https://github.com/broadinstitute/picard/releases/download/2.26.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"
+ )
# They started distributing a single jar file at v2.6.0, prior to
# that it was a .zip file with multiple .jar and .so files
- version('2.26.2', sha256='99fab1699a735fd048a05975a243774f1cc99e87a9b28311d4aa872d06390474', expand=False)
- version('2.25.7', sha256='dc0e830d3e838dee2b4f4aa1c9631fb3a4c3ec982de8dfe5145fc748104c7146', expand=False)
- version('2.25.6', sha256='768709826514625381e6fa3920945360167f4e830bf72f79eb070da059676f02', expand=False)
- version('2.25.5', sha256='f7fa9784b84d384abfcbd77076f5ceab7b2797dc863ac35fd41470daa3efe3a5', expand=False)
- version('2.25.4', sha256='c3ac14471e48e28e24201ae5515f828ffa45db7ac3e37173251a672845b4a9b3', expand=False)
- version('2.25.3', sha256='1d4dbfcb36d23fde11f173ab0de8a99835e04161efb04f246bbcbfc0bee3b493', expand=False)
- version('2.25.2', sha256='aead4baf12028a5d2b9ef70e00c93e4bba8f6bece0b9a7104b89b842a8e0326f', expand=False)
- version('2.25.1', sha256='6d6e622d6b465f9fc704c37bcba55b0dac5ad14d07088bbdbdfade5cd027ee1c', expand=False)
- version('2.25.0', sha256='faf2434da84fe21b516d57817767920fdedfc19ebdc01d9cae8d6d3314f7e897', expand=False)
- version('2.24.0', sha256='70e91039bccc6f6db60f18c41713218a8cdf45f591f02c1012c062152b27cd7b', expand=False)
- version('2.20.8', sha256='aff92d618ee9e6bafc1ab4fbfa89fc557a0dbe596ae4b92fe3bf93ebf95c7105', expand=False)
- version('2.19.0', sha256='f97fc3f7a73b55cceea8b6a6488efcf1b2fbf8cad61d88645704ddd45a8c5950', expand=False)
- version('2.18.3', sha256='0e0fc45d9a822ee9fa562b3bb8f1525a439e4cd541429a1a4ca4646f37189b70', expand=False)
- version('2.18.0', sha256='c4c64b39ab47968e4afcaf1a30223445ee5082eab31a03eee240e54c2e9e1dce', expand=False)
- version('2.17.0', sha256='ffea8bf90e850919c0833e9dcc16847d40090a1ef733c583a710a3282b925998', expand=False)
- version('2.16.0', sha256='01cf3c930d2b4841960497491512d327bf669c1ed2e753152e1e651a27288c2d', expand=False)
- version('2.15.0', sha256='dc3ff74c704954a10796b390738078617bb0b0fef15731e9d268ed3b26c6a285', expand=False)
- version('2.13.2', sha256='db7749f649e8423053fb971e6af5fb8a9a1a797cb1f20fef1100edf9f82f6f94', expand=False)
- version('2.10.0', sha256='e256d5e43656b7d8be454201a7056dce543fe9cbeb30329a0d8c22d28e655775', expand=False)
- version('2.9.4', sha256='0ecee9272bd289d902cc18053010f0364d1696e7518ac92419a99b2f0a1cf689', expand=False)
- version('2.9.3', sha256='6cca26ce5094b25a82e1a8d646920d584c6db5f009476196dc285be6522e00ce', expand=False)
- version('2.9.2', sha256='05714b9743a7685a43c94a93f5d03aa4070d3ab6e20151801301916d3e546eb7', expand=False)
- version('2.9.0', sha256='9a57f6bd9086ea0f5f1a6d9d819459854cb883bb8093795c916538ed9dd5de64', expand=False)
- version('2.8.3', sha256='97a4b6c8927c8cb5f3450630c9b39bf210ced8c271f198119118ce1c24b8b0f6', expand=False)
- version('2.6.0', sha256='671d9e86e6bf0c28ee007aea55d07e2456ae3a57016491b50aab0fd2fd0e493b', expand=False)
- version('1.140', sha256='0d27287217413db6b846284c617d502eaa578662dcb054a7017083eab9c54438')
+ version(
+ "2.26.2",
+ sha256="99fab1699a735fd048a05975a243774f1cc99e87a9b28311d4aa872d06390474",
+ expand=False,
+ )
+ version(
+ "2.25.7",
+ sha256="dc0e830d3e838dee2b4f4aa1c9631fb3a4c3ec982de8dfe5145fc748104c7146",
+ expand=False,
+ )
+ version(
+ "2.25.6",
+ sha256="768709826514625381e6fa3920945360167f4e830bf72f79eb070da059676f02",
+ expand=False,
+ )
+ version(
+ "2.25.5",
+ sha256="f7fa9784b84d384abfcbd77076f5ceab7b2797dc863ac35fd41470daa3efe3a5",
+ expand=False,
+ )
+ version(
+ "2.25.4",
+ sha256="c3ac14471e48e28e24201ae5515f828ffa45db7ac3e37173251a672845b4a9b3",
+ expand=False,
+ )
+ version(
+ "2.25.3",
+ sha256="1d4dbfcb36d23fde11f173ab0de8a99835e04161efb04f246bbcbfc0bee3b493",
+ expand=False,
+ )
+ version(
+ "2.25.2",
+ sha256="aead4baf12028a5d2b9ef70e00c93e4bba8f6bece0b9a7104b89b842a8e0326f",
+ expand=False,
+ )
+ version(
+ "2.25.1",
+ sha256="6d6e622d6b465f9fc704c37bcba55b0dac5ad14d07088bbdbdfade5cd027ee1c",
+ expand=False,
+ )
+ version(
+ "2.25.0",
+ sha256="faf2434da84fe21b516d57817767920fdedfc19ebdc01d9cae8d6d3314f7e897",
+ expand=False,
+ )
+ version(
+ "2.24.0",
+ sha256="70e91039bccc6f6db60f18c41713218a8cdf45f591f02c1012c062152b27cd7b",
+ expand=False,
+ )
+ version(
+ "2.20.8",
+ sha256="aff92d618ee9e6bafc1ab4fbfa89fc557a0dbe596ae4b92fe3bf93ebf95c7105",
+ expand=False,
+ )
+ version(
+ "2.19.0",
+ sha256="f97fc3f7a73b55cceea8b6a6488efcf1b2fbf8cad61d88645704ddd45a8c5950",
+ expand=False,
+ )
+ version(
+ "2.18.3",
+ sha256="0e0fc45d9a822ee9fa562b3bb8f1525a439e4cd541429a1a4ca4646f37189b70",
+ expand=False,
+ )
+ version(
+ "2.18.0",
+ sha256="c4c64b39ab47968e4afcaf1a30223445ee5082eab31a03eee240e54c2e9e1dce",
+ expand=False,
+ )
+ version(
+ "2.17.0",
+ sha256="ffea8bf90e850919c0833e9dcc16847d40090a1ef733c583a710a3282b925998",
+ expand=False,
+ )
+ version(
+ "2.16.0",
+ sha256="01cf3c930d2b4841960497491512d327bf669c1ed2e753152e1e651a27288c2d",
+ expand=False,
+ )
+ version(
+ "2.15.0",
+ sha256="dc3ff74c704954a10796b390738078617bb0b0fef15731e9d268ed3b26c6a285",
+ expand=False,
+ )
+ version(
+ "2.13.2",
+ sha256="db7749f649e8423053fb971e6af5fb8a9a1a797cb1f20fef1100edf9f82f6f94",
+ expand=False,
+ )
+ version(
+ "2.10.0",
+ sha256="e256d5e43656b7d8be454201a7056dce543fe9cbeb30329a0d8c22d28e655775",
+ expand=False,
+ )
+ version(
+ "2.9.4",
+ sha256="0ecee9272bd289d902cc18053010f0364d1696e7518ac92419a99b2f0a1cf689",
+ expand=False,
+ )
+ version(
+ "2.9.3",
+ sha256="6cca26ce5094b25a82e1a8d646920d584c6db5f009476196dc285be6522e00ce",
+ expand=False,
+ )
+ version(
+ "2.9.2",
+ sha256="05714b9743a7685a43c94a93f5d03aa4070d3ab6e20151801301916d3e546eb7",
+ expand=False,
+ )
+ version(
+ "2.9.0",
+ sha256="9a57f6bd9086ea0f5f1a6d9d819459854cb883bb8093795c916538ed9dd5de64",
+ expand=False,
+ )
+ version(
+ "2.8.3",
+ sha256="97a4b6c8927c8cb5f3450630c9b39bf210ced8c271f198119118ce1c24b8b0f6",
+ expand=False,
+ )
+ version(
+ "2.6.0",
+ sha256="671d9e86e6bf0c28ee007aea55d07e2456ae3a57016491b50aab0fd2fd0e493b",
+ expand=False,
+ )
+ version("1.140", sha256="0d27287217413db6b846284c617d502eaa578662dcb054a7017083eab9c54438")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
@@ -68,18 +170,17 @@ class Picard(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('picard.jar', join_path(prefix.bin, 'picard.jar'),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("picard.jar", join_path(prefix.bin, "picard.jar"), script, **kwargs)
def setup_run_environment(self, env):
"""The Picard docs suggest setting this as a convenience."""
- env.prepend_path('PICARD', join_path(self.prefix.bin, 'picard.jar'))
+ env.prepend_path("PICARD", join_path(self.prefix.bin, "picard.jar"))
def url_for_version(self, version):
- if version < Version('2.6.0'):
+ if version < Version("2.6.0"):
return self._oldurlfmt.format(version)
else:
return self._urlfmt.format(version)
diff --git a/var/spack/repos/builtin/packages/picsar/package.py b/var/spack/repos/builtin/packages/picsar/package.py
index c42bee98d9..49f2b5cca2 100644
--- a/var/spack/repos/builtin/packages/picsar/package.py
+++ b/var/spack/repos/builtin/packages/picsar/package.py
@@ -8,76 +8,76 @@ from spack.package import *
class Picsar(MakefilePackage):
"""PICSAR is a high performance library of optimized versions of the key
- functionalities of the PIC loop.
+ functionalities of the PIC loop.
"""
homepage = "https://picsar.net"
- git = "https://bitbucket.org/berkeleylab/picsar.git"
+ git = "https://bitbucket.org/berkeleylab/picsar.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- variant('prod', default=True, description='Production mode (without FFTW)')
- variant('prod_spectral', default=False,
- description='Production mode with spectral solver and FFTW')
- variant('debug', default=False, description='Debug mode')
- variant('vtune', default=False, description='Vtune profiling')
- variant('sde', default=False, description='sde profiling')
- variant('map', default=False, description='Allinea Map profiling')
- variant('library', default=False,
- description='Create static and dynamic library')
+ variant("prod", default=True, description="Production mode (without FFTW)")
+ variant(
+ "prod_spectral", default=False, description="Production mode with spectral solver and FFTW"
+ )
+ variant("debug", default=False, description="Debug mode")
+ variant("vtune", default=False, description="Vtune profiling")
+ variant("sde", default=False, description="sde profiling")
+ variant("map", default=False, description="Allinea Map profiling")
+ variant("library", default=False, description="Create static and dynamic library")
- depends_on('mpi')
- depends_on('fftw@3.0: +mpi', when='+prod_spectral')
+ depends_on("mpi")
+ depends_on("fftw@3.0: +mpi", when="+prod_spectral")
parallel = False
def patch(self):
- if '%arm' in self.spec:
- filter_file(r'!\$OMP SIMD SAFELEN\(LVEC2\)', '', 'src/diags/diags.F90')
+ if "%arm" in self.spec:
+ filter_file(r"!\$OMP SIMD SAFELEN\(LVEC2\)", "", "src/diags/diags.F90")
@property
def build_targets(self):
targets = []
- targets.append('FC={0}'.format(self.spec['mpi'].mpifc))
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ targets.append("FC={0}".format(self.spec["mpi"].mpifc))
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
- comp = 'user'
- vendors = {'%gcc': 'gnu', '%intel': 'intel'}
+ comp = "user"
+ vendors = {"%gcc": "gnu", "%intel": "intel"}
for key, value in vendors.items():
if self.spec.satisfies(key):
comp = value
- targets.append('COMP={0}'.format(comp))
- if comp == 'user':
+ targets.append("COMP={0}".format(comp))
+ if comp == "user":
+ targets.append("FARGS={0}{1}".format("-g -O3 ", self.compiler.openmp_flag))
+
+ if "+prod" in self.spec:
+ mode = "prod"
+ elif "+prod_spectral" in self.spec:
+ mode = "prod_spectral"
+ elif "+debug" in self.spec:
+ mode = "debug"
+ elif "+vtune" in self.spec:
+ mode = "vtune"
+ elif "+sde" in self.spec:
+ mode = "sde"
+ elif "+map" in self.spec:
+ mode = "map"
+ elif "+library" in self.spec:
+ mode = "library"
+ targets.append("MODE = {0}".format(mode))
+
+ targets.append("SYS = default")
+
+ if "%gcc" in self.spec:
targets.append(
- 'FARGS={0}{1}'.format('-g -O3 ', self.compiler.openmp_flag))
-
- if '+prod' in self.spec:
- mode = 'prod'
- elif '+prod_spectral' in self.spec:
- mode = 'prod_spectral'
- elif '+debug' in self.spec:
- mode = 'debug'
- elif '+vtune' in self.spec:
- mode = 'vtune'
- elif '+sde' in self.spec:
- mode = 'sde'
- elif '+map' in self.spec:
- mode = 'map'
- elif '+library' in self.spec:
- mode = 'library'
- targets.append('MODE = {0}'.format(mode))
-
- targets.append('SYS = default')
-
- if '%gcc' in self.spec:
- targets.append('FARGS=-g -fbounds-check -O3 -fopenmp '
- '-JModules -fallow-argument-mismatch')
+ "FARGS=-g -fbounds-check -O3 -fopenmp " "-JModules -fallow-argument-mismatch"
+ )
return targets
def install(self, spec, prefix):
mkdirp(prefix.docs)
- install('README.md', prefix.docs)
+ install("README.md", prefix.docs)
mkdirp(prefix.bin)
- install('fortran_bin/picsar', prefix.bin)
+ install("fortran_bin/picsar", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/picsarlite/package.py b/var/spack/repos/builtin/packages/picsarlite/package.py
index 46291c9c2b..d48f8dc727 100644
--- a/var/spack/repos/builtin/packages/picsarlite/package.py
+++ b/var/spack/repos/builtin/packages/picsarlite/package.py
@@ -8,73 +8,72 @@ from spack.package import *
class Picsarlite(MakefilePackage):
"""PICSARlite is a self-contained proxy that adequately portrays the
- computational loads and dataflow of more complex PIC codes.
+ computational loads and dataflow of more complex PIC codes.
"""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://picsar.net"
- git = "https://bitbucket.org/berkeleylab/picsar.git"
+ git = "https://bitbucket.org/berkeleylab/picsar.git"
- version('develop', branch='PICSARlite')
- version('0.1', tag='PICSARlite-0.1')
+ version("develop", branch="PICSARlite")
+ version("0.1", tag="PICSARlite-0.1")
- variant('prod', default=True, description='Production mode (without FFTW)')
- variant('prod_spectral', default=False,
- description='Production mode with spectral solver and FFTW')
- variant('debug', default=False, description='Debug mode')
- variant('vtune', default=False, description='Vtune profiling')
- variant('sde', default=False, description='sde profiling')
- variant('map', default=False, description='Allinea Map profiling')
- variant('library', default=False,
- description='Create static and dynamic library')
+ variant("prod", default=True, description="Production mode (without FFTW)")
+ variant(
+ "prod_spectral", default=False, description="Production mode with spectral solver and FFTW"
+ )
+ variant("debug", default=False, description="Debug mode")
+ variant("vtune", default=False, description="Vtune profiling")
+ variant("sde", default=False, description="sde profiling")
+ variant("map", default=False, description="Allinea Map profiling")
+ variant("library", default=False, description="Create static and dynamic library")
- depends_on('mpi')
- depends_on('fftw@3.0: +mpi', when='+prod_spectral')
+ depends_on("mpi")
+ depends_on("fftw@3.0: +mpi", when="+prod_spectral")
@property
def build_targets(self):
targets = []
- targets.append('FC={0}'.format(self.spec['mpi'].mpifc))
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ targets.append("FC={0}".format(self.spec["mpi"].mpifc))
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
- comp = 'user'
- vendors = {'%gcc': 'gnu', '%intel': 'intel'}
+ comp = "user"
+ vendors = {"%gcc": "gnu", "%intel": "intel"}
for key, value in vendors.items():
if self.spec.satisfies(key):
comp = value
- targets.append('COMP={0}'.format(comp))
- if comp == 'user':
- targets.append(
- 'FARGS={0}{1}'.format('-g -O3 ', self.compiler.openmp_flag))
-
- if '+prod' in self.spec:
- mode = 'prod'
- elif '+prod_spectral' in self.spec:
- mode = 'prod_spectral'
- elif '+debug' in self.spec:
- mode = 'debug'
- elif '+vtune' in self.spec:
- mode = 'vtune'
- elif '+sde' in self.spec:
- mode = 'sde'
- elif '+map' in self.spec:
- mode = 'map'
- elif '+library' in self.spec:
- mode = 'library'
- targets.append('MODE = {0}'.format(mode))
-
- targets.append('SYS = default')
+ targets.append("COMP={0}".format(comp))
+ if comp == "user":
+ targets.append("FARGS={0}{1}".format("-g -O3 ", self.compiler.openmp_flag))
+
+ if "+prod" in self.spec:
+ mode = "prod"
+ elif "+prod_spectral" in self.spec:
+ mode = "prod_spectral"
+ elif "+debug" in self.spec:
+ mode = "debug"
+ elif "+vtune" in self.spec:
+ mode = "vtune"
+ elif "+sde" in self.spec:
+ mode = "sde"
+ elif "+map" in self.spec:
+ mode = "map"
+ elif "+library" in self.spec:
+ mode = "library"
+ targets.append("MODE = {0}".format(mode))
+
+ targets.append("SYS = default")
return targets
def build(self, spec, prefix):
- with working_dir('PICSARlite'):
+ with working_dir("PICSARlite"):
make(parallel=False, *self.build_targets)
def install(self, spec, prefix):
mkdirp(prefix.docs)
- install('PICSARlite/README.md', prefix.docs)
+ install("PICSARlite/README.md", prefix.docs)
mkdirp(prefix.bin)
- install('PICSARlite/bin/picsar', prefix.bin)
+ install("PICSARlite/bin/picsar", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pidx/package.py b/var/spack/repos/builtin/packages/pidx/package.py
index d49326c555..5f7dc4c8a4 100644
--- a/var/spack/repos/builtin/packages/pidx/package.py
+++ b/var/spack/repos/builtin/packages/pidx/package.py
@@ -14,9 +14,9 @@ class Pidx(CMakePackage):
"""
homepage = "http://www.cedmav.com/pidx"
- git = "https://github.com/sci-visus/PIDX.git"
+ git = "https://github.com/sci-visus/PIDX.git"
- version('1.0', commit='6afa1cf71d1c41263296dc049c8fabaf73c296da')
+ version("1.0", commit="6afa1cf71d1c41263296dc049c8fabaf73c296da")
- depends_on('cmake@2.8.4:', type='build')
- depends_on('mpi')
+ depends_on("cmake@2.8.4:", type="build")
+ depends_on("mpi")
diff --git a/var/spack/repos/builtin/packages/pig/package.py b/var/spack/repos/builtin/packages/pig/package.py
index d9371316ff..a66b28f82d 100644
--- a/var/spack/repos/builtin/packages/pig/package.py
+++ b/var/spack/repos/builtin/packages/pig/package.py
@@ -15,9 +15,9 @@ class Pig(Package):
"""
homepage = "https://archive.apache.org"
- url = "https://archive.apache.org/dist/hadoop/pig/stable/pig-0.7.0.tar.gz"
+ url = "https://archive.apache.org/dist/hadoop/pig/stable/pig-0.7.0.tar.gz"
- version('0.7.0', sha256='fa7211fb339f547f679a3dd90055f1ddc45d5754d88463e4cc39c380ddf8b02a')
+ version("0.7.0", sha256="fa7211fb339f547f679a3dd90055f1ddc45d5754d88463e4cc39c380ddf8b02a")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/pigz/package.py b/var/spack/repos/builtin/packages/pigz/package.py
index 5f7cb4fda5..069afa6852 100644
--- a/var/spack/repos/builtin/packages/pigz/package.py
+++ b/var/spack/repos/builtin/packages/pigz/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Pigz(MakefilePackage):
"""A parallel implementation of gzip for modern multi-processor,
- multi-core machines."""
+ multi-core machines."""
homepage = "https://zlib.net/pigz/"
- url = "https://github.com/madler/pigz/archive/v2.3.4.tar.gz"
+ url = "https://github.com/madler/pigz/archive/v2.3.4.tar.gz"
- version('2.7', sha256='d2045087dae5e9482158f1f1c0f21c7d3de6f7cdc7cc5848bdabda544e69aa58')
- version('2.6', sha256='577673676cd5c7219f94b236075451220bae3e1ca451cf849947a2998fbf5820')
- version('2.4', sha256='e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52')
- version('2.3.4', sha256='763f2fdb203aa0b7b640e63385e38e5dd4e5aaa041bc8e42aa96f2ef156b06e8')
+ version("2.7", sha256="d2045087dae5e9482158f1f1c0f21c7d3de6f7cdc7cc5848bdabda544e69aa58")
+ version("2.6", sha256="577673676cd5c7219f94b236075451220bae3e1ca451cf849947a2998fbf5820")
+ version("2.4", sha256="e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52")
+ version("2.3.4", sha256="763f2fdb203aa0b7b640e63385e38e5dd4e5aaa041bc8e42aa96f2ef156b06e8")
- depends_on('zlib')
+ depends_on("zlib")
def build(self, spec, prefix):
# force makefile to use cc as C compiler which is set by
# spack
- make('CC=cc', 'CFLAGS=-O3 -Wall')
+ make("CC=cc", "CFLAGS=-O3 -Wall")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- install('pigz', "%s/pigz" % prefix.bin)
- install('pigz.1', "%s/pigz.1" % prefix.man.man1)
+ install("pigz", "%s/pigz" % prefix.bin)
+ install("pigz.1", "%s/pigz.1" % prefix.man.man1)
diff --git a/var/spack/repos/builtin/packages/pika/package.py b/var/spack/repos/builtin/packages/pika/package.py
index c6dee4047b..ebff517f95 100644
--- a/var/spack/repos/builtin/packages/pika/package.py
+++ b/var/spack/repos/builtin/packages/pika/package.py
@@ -15,113 +15,113 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/pika-org/pika/"
url = "https://github.com/pika-org/pika/archive/0.0.0.tar.gz"
git = "https://github.com/pika-org/pika.git"
- maintainers = ['msimberg', 'albestro', 'teonnik', 'aurianer']
+ maintainers = ["msimberg", "albestro", "teonnik", "aurianer"]
- version('0.6.0', sha256='cb4ebd7b92da39ec4df7b0d05923b94299d6ee2f2f49752923ffa2266ca76568')
- version('0.5.0', sha256='c43de7e92d04bea0ce59716756ef5f3a5a54f9e4affed872c1468632ad855f7c')
- version('0.4.0', sha256='31084a0a61103ee9574aaa427f879682e3e37cb11e8d147f2649949bee324591')
- version('0.3.0', sha256='bbb89f9824c58154ed59e2e14276c0ad132fd7b90b2be64ddd0e284f3b57cc0f')
- version('0.2.0', sha256='712bb519f22bdc9d5ee4ac374d251a54a0af4c9e4e7f62760b8ab9a177613d12')
- version('0.1.0', sha256='aa0ae2396cd264d821a73c4c7ecb118729bb3de042920c9248909d33755e7327')
- version('main', branch='main')
+ version("0.6.0", sha256="cb4ebd7b92da39ec4df7b0d05923b94299d6ee2f2f49752923ffa2266ca76568")
+ version("0.5.0", sha256="c43de7e92d04bea0ce59716756ef5f3a5a54f9e4affed872c1468632ad855f7c")
+ version("0.4.0", sha256="31084a0a61103ee9574aaa427f879682e3e37cb11e8d147f2649949bee324591")
+ version("0.3.0", sha256="bbb89f9824c58154ed59e2e14276c0ad132fd7b90b2be64ddd0e284f3b57cc0f")
+ version("0.2.0", sha256="712bb519f22bdc9d5ee4ac374d251a54a0af4c9e4e7f62760b8ab9a177613d12")
+ version("0.1.0", sha256="aa0ae2396cd264d821a73c4c7ecb118729bb3de042920c9248909d33755e7327")
+ version("main", branch="main")
- generator = 'Ninja'
+ generator = "Ninja"
- map_cxxstd = lambda cxxstd: '2a' if cxxstd == '20' else cxxstd
- cxxstds = ('17', '20')
- variant('cxxstd',
- default='17',
- values=cxxstds,
- description='Use the specified C++ standard when building')
+ map_cxxstd = lambda cxxstd: "2a" if cxxstd == "20" else cxxstd
+ cxxstds = ("17", "20")
+ variant(
+ "cxxstd",
+ default="17",
+ values=cxxstds,
+ description="Use the specified C++ standard when building",
+ )
variant(
- 'malloc', default='tcmalloc',
- description='Define which allocator will be linked in',
- values=('system', 'jemalloc', 'mimalloc', 'tbbmalloc', 'tcmalloc')
+ "malloc",
+ default="tcmalloc",
+ description="Define which allocator will be linked in",
+ values=("system", "jemalloc", "mimalloc", "tbbmalloc", "tcmalloc"),
)
default_generic_coroutines = True
- if sys.platform.startswith('linux') or sys.platform == 'win32':
+ if sys.platform.startswith("linux") or sys.platform == "win32":
default_generic_coroutines = False
variant(
- "generic_coroutines", default=default_generic_coroutines,
- description='Use Boost.Context as the underlying coroutines'
- ' context switch implementation')
+ "generic_coroutines",
+ default=default_generic_coroutines,
+ description="Use Boost.Context as the underlying coroutines"
+ " context switch implementation",
+ )
- variant('examples', default=False, description='Build and install examples')
- variant('mpi', default=False, description='Enable MPI support')
- variant('apex', default=False, description='Enable APEX support', when='@0.2:')
+ variant("examples", default=False, description="Build and install examples")
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("apex", default=False, description="Enable APEX support", when="@0.2:")
# Build dependencies
- depends_on('git', type='build')
- depends_on('ninja', type='build')
- depends_on('cmake@3.18:', type='build')
+ depends_on("git", type="build")
+ depends_on("ninja", type="build")
+ depends_on("cmake@3.18:", type="build")
- conflicts('%gcc@:6')
- conflicts('%clang@:6')
+ conflicts("%gcc@:6")
+ conflicts("%clang@:6")
# Pika is requiring the std::filesystem support starting from version 0.2.0
- conflicts('%gcc@:8', when='@0.2:')
- conflicts('%clang@:8', when='@0.2:')
+ conflicts("%gcc@:8", when="@0.2:")
+ conflicts("%clang@:8", when="@0.2:")
# Other dependecies
- depends_on('hwloc@1.11.5:')
- depends_on('boost@1.71:')
+ depends_on("hwloc@1.11.5:")
+ depends_on("boost@1.71:")
- depends_on('gperftools', when='malloc=tcmalloc')
- depends_on('jemalloc', when='malloc=jemalloc')
- depends_on('mimalloc', when='malloc=mimalloc')
- depends_on('tbb', when='malloc=tbbmalloc')
+ depends_on("gperftools", when="malloc=tcmalloc")
+ depends_on("jemalloc", when="malloc=jemalloc")
+ depends_on("mimalloc", when="malloc=mimalloc")
+ depends_on("tbb", when="malloc=tbbmalloc")
- depends_on('mpi', when='+mpi')
- depends_on('cuda@11:', when='+cuda')
- depends_on('apex', when='+apex')
- depends_on('rocblas', when='+rocm')
- depends_on('hipblas', when='+rocm')
- depends_on('rocsolver', when='@0.5: +rocm')
+ depends_on("mpi", when="+mpi")
+ depends_on("cuda@11:", when="+cuda")
+ depends_on("apex", when="+apex")
+ depends_on("rocblas", when="+rocm")
+ depends_on("hipblas", when="+rocm")
+ depends_on("rocsolver", when="@0.5: +rocm")
for cxxstd in cxxstds:
- depends_on(
- "boost cxxstd={0}".format(map_cxxstd(cxxstd)),
- when="cxxstd={0}".format(cxxstd)
- )
+ depends_on("boost cxxstd={0}".format(map_cxxstd(cxxstd)), when="cxxstd={0}".format(cxxstd))
# COROUTINES
# ~generic_coroutines conflict is not fully implemented
# for additional information see:
# https://github.com/spack/spack/pull/17654
# https://github.com/STEllAR-GROUP/hpx/issues/4829
- depends_on('boost+context', when='+generic_coroutines')
- depends_on('boost+atomic+chrono+thread', when='@:0.3.0+generic_coroutines')
- _msg_generic_coroutines = 'This platform requires +generic_coroutines'
- conflicts('~generic_coroutines', when='platform=darwin', msg=_msg_generic_coroutines)
+ depends_on("boost+context", when="+generic_coroutines")
+ depends_on("boost+atomic+chrono+thread", when="@:0.3.0+generic_coroutines")
+ _msg_generic_coroutines = "This platform requires +generic_coroutines"
+ conflicts("~generic_coroutines", when="platform=darwin", msg=_msg_generic_coroutines)
# Patches
- patch('transform_mpi_includes.patch', when='@0.3.0 +mpi')
- patch('mimalloc_no_version_requirement.patch', when='@:0.5 malloc=mimalloc')
+ patch("transform_mpi_includes.patch", when="@0.3.0 +mpi")
+ patch("mimalloc_no_version_requirement.patch", when="@:0.5 malloc=mimalloc")
def cmake_args(self):
spec, args = self.spec, []
args += [
- self.define('PIKA_WITH_CXX_STANDARD', spec.variants['cxxstd'].value),
- self.define_from_variant('PIKA_WITH_EXAMPLES', 'examples'),
- self.define_from_variant('PIKA_WITH_MALLOC', 'malloc'),
- self.define_from_variant('PIKA_WITH_CUDA', 'cuda'),
- self.define_from_variant('PIKA_WITH_HIP', 'rocm'),
- self.define_from_variant('PIKA_WITH_MPI', 'mpi'),
- self.define_from_variant('PIKA_WITH_APEX', 'apex'),
- self.define('PIKA_WITH_TESTS', self.run_tests),
- self.define_from_variant(
- 'PIKA_WITH_GENERIC_CONTEXT_COROUTINES', 'generic_coroutines'),
-
- self.define('BOOST_ROOT', spec['boost'].prefix),
- self.define('HWLOC_ROOT', spec['hwloc'].prefix),
+ self.define("PIKA_WITH_CXX_STANDARD", spec.variants["cxxstd"].value),
+ self.define_from_variant("PIKA_WITH_EXAMPLES", "examples"),
+ self.define_from_variant("PIKA_WITH_MALLOC", "malloc"),
+ self.define_from_variant("PIKA_WITH_CUDA", "cuda"),
+ self.define_from_variant("PIKA_WITH_HIP", "rocm"),
+ self.define_from_variant("PIKA_WITH_MPI", "mpi"),
+ self.define_from_variant("PIKA_WITH_APEX", "apex"),
+ self.define("PIKA_WITH_TESTS", self.run_tests),
+ self.define_from_variant("PIKA_WITH_GENERIC_CONTEXT_COROUTINES", "generic_coroutines"),
+ self.define("BOOST_ROOT", spec["boost"].prefix),
+ self.define("HWLOC_ROOT", spec["hwloc"].prefix),
]
# HIP support requires compiling with hipcc
- if '+rocm' in self.spec:
- args += [self.define('CMAKE_CXX_COMPILER', self.spec['hip'].hipcc)]
- if self.spec.satisfies('^cmake@3.21:'):
- args += [self.define('__skip_rocmclang', True)]
+ if "+rocm" in self.spec:
+ args += [self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc)]
+ if self.spec.satisfies("^cmake@3.21:"):
+ args += [self.define("__skip_rocmclang", True)]
return args
diff --git a/var/spack/repos/builtin/packages/pilon/package.py b/var/spack/repos/builtin/packages/pilon/package.py
index b0ba5c5e52..91cace01c6 100644
--- a/var/spack/repos/builtin/packages/pilon/package.py
+++ b/var/spack/repos/builtin/packages/pilon/package.py
@@ -13,16 +13,24 @@ class Pilon(Package):
detection tool."""
homepage = "https://github.com/broadinstitute/pilon"
- url = "https://github.com/broadinstitute/pilon/releases/download/v1.22/pilon-1.22.jar"
+ url = "https://github.com/broadinstitute/pilon/releases/download/v1.22/pilon-1.22.jar"
- version('1.22', sha256='ff738f3bbb964237f6b2cf69243ebf9a21cb7f4edf10bbdcc66fa4ebaad5d13d', expand=False)
- version('1.13', sha256='c6195a054acbc76afc457e6a7615f75c91adc28faeb7b8738ee2b65309b0bbe3', expand=False)
+ version(
+ "1.22",
+ sha256="ff738f3bbb964237f6b2cf69243ebf9a21cb7f4edf10bbdcc66fa4ebaad5d13d",
+ expand=False,
+ )
+ version(
+ "1.13",
+ sha256="c6195a054acbc76afc457e6a7615f75c91adc28faeb7b8738ee2b65309b0bbe3",
+ expand=False,
+ )
- depends_on('java@1.7:', type='run')
+ depends_on("java@1.7:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'pilon-{0}.jar'.format(self.version.dotted)
+ jar_file = "pilon-{0}.jar".format(self.version.dotted)
install(jar_file, prefix.bin)
# Set up a helper script to call java on the jar file,
@@ -34,8 +42,7 @@ class Pilon(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('pilon-{0}.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("pilon-{0}.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/pindel/package.py b/var/spack/repos/builtin/packages/pindel/package.py
index a34998aa09..779f877c89 100644
--- a/var/spack/repos/builtin/packages/pindel/package.py
+++ b/var/spack/repos/builtin/packages/pindel/package.py
@@ -10,34 +10,34 @@ class Pindel(MakefilePackage):
"""Pindel can detect breakpoints from next-gen sequence data."""
homepage = "https://gmt.genome.wustl.edu/packages/pindel/"
- url = "https://github.com/genome/pindel/archive/v0.2.5.tar.gz"
+ url = "https://github.com/genome/pindel/archive/v0.2.5.tar.gz"
- version('0.2.5b8', sha256='7f21fda0b751d420831724d96e60873ce332139cfd24396e81c7f1ae2f707a19')
- version('0.2.5b6', sha256='fe19aabdcf6334b9efe92d4509b80f0f266e621f1cc8db017b301d7e32e2eeac')
- version('0.2.5b5', sha256='2ebe9d959d8c3862d9103d8a3768265dcc79eab547035857dca8ab8cfe2544e4')
- version('0.2.5b4', sha256='0f6afd6b83f6cceb31be5dbb686c6ff518c54135274931097a8b83b3f5d0372a')
- version('0.2.5b1', sha256='b626e23ddfb3590174cfe38458b537e96707eedc6c2b054504f72ca141ba306c')
- version('0.2.5a7', sha256='0a270483dee9ef617d422eb61d3478334ee8f55e952d0a439529c2b21fcf8fb4')
- version('0.2.5', sha256='9908940d090eff23d940c3b6f2f6b3fc2bb1fd3b7a2d553cc81eed240a23fd9f')
+ version("0.2.5b8", sha256="7f21fda0b751d420831724d96e60873ce332139cfd24396e81c7f1ae2f707a19")
+ version("0.2.5b6", sha256="fe19aabdcf6334b9efe92d4509b80f0f266e621f1cc8db017b301d7e32e2eeac")
+ version("0.2.5b5", sha256="2ebe9d959d8c3862d9103d8a3768265dcc79eab547035857dca8ab8cfe2544e4")
+ version("0.2.5b4", sha256="0f6afd6b83f6cceb31be5dbb686c6ff518c54135274931097a8b83b3f5d0372a")
+ version("0.2.5b1", sha256="b626e23ddfb3590174cfe38458b537e96707eedc6c2b054504f72ca141ba306c")
+ version("0.2.5a7", sha256="0a270483dee9ef617d422eb61d3478334ee8f55e952d0a439529c2b21fcf8fb4")
+ version("0.2.5", sha256="9908940d090eff23d940c3b6f2f6b3fc2bb1fd3b7a2d553cc81eed240a23fd9f")
- depends_on('htslib@1.7:')
+ depends_on("htslib@1.7:")
# GCC > 4.8 seems to dislike calling abs on an unsigned integer
# replace ambiguous calls to abs() on the difference between two
# unsigned ints with a one line funtion that returns the 'absolute
# value' of the difference between two unsigned ints.
- patch('gcc-5-compat.patch', when='@0.2.5b8%gcc@5:')
+ patch("gcc-5-compat.patch", when="@0.2.5b8%gcc@5:")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
- filter_file('include ../Makefile.local', '', 'src/Makefile')
- filter_file('Makefile.local', '', 'src/Makefile')
+ filter_file("include ../Makefile.local", "", "src/Makefile")
+ filter_file("Makefile.local", "", "src/Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('src/pindel', prefix.bin)
- install('src/pindel2vcf', prefix.bin)
- install('src/sam2pindel', prefix.bin)
- install('src/pindel2vcf4tcga', prefix.bin)
- install_tree('demo', prefix.doc)
+ install("src/pindel", prefix.bin)
+ install("src/pindel2vcf", prefix.bin)
+ install("src/sam2pindel", prefix.bin)
+ install("src/pindel2vcf4tcga", prefix.bin)
+ install_tree("demo", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/pinentry/package.py b/var/spack/repos/builtin/packages/pinentry/package.py
index 1f0aa24218..fec657a772 100644
--- a/var/spack/repos/builtin/packages/pinentry/package.py
+++ b/var/spack/repos/builtin/packages/pinentry/package.py
@@ -16,73 +16,87 @@ class Pinentry(AutotoolsPackage):
"""
homepage = "https://gnupg.org/related_software/pinentry/index.html"
- url = "https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.1.0.tar.bz2"
+ url = "https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.1.0.tar.bz2"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('1.2.0', sha256='10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470')
- version('1.1.1', sha256='cd12a064013ed18e2ee8475e669b9f58db1b225a0144debdb85a68cecddba57f')
- version('1.1.0', sha256='68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570')
+ version("1.2.0", sha256="10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470")
+ version("1.1.1", sha256="cd12a064013ed18e2ee8475e669b9f58db1b225a0144debdb85a68cecddba57f")
+ version("1.1.0", sha256="68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570")
supported_guis = [
- 'curses', 'tty', 'emacs', 'efl', 'gtk2', 'gnome3', 'qt', 'qt5', 'tqt', 'fltk'
+ "curses",
+ "tty",
+ "emacs",
+ "efl",
+ "gtk2",
+ "gnome3",
+ "qt",
+ "qt5",
+ "tqt",
+ "fltk",
]
# Default to 'tty' as it has no additional dependencies
- variant('gui', default='tty', description='GUI to use for passphrase entry',
- values=supported_guis, multi=True)
+ variant(
+ "gui",
+ default="tty",
+ description="GUI to use for passphrase entry",
+ values=supported_guis,
+ multi=True,
+ )
- depends_on('libgpg-error@1.16:')
- depends_on('libassuan@2.1.0:')
+ depends_on("libgpg-error@1.16:")
+ depends_on("libassuan@2.1.0:")
# Optional GUI dependencies
- depends_on('ncurses', when='gui=curses')
- depends_on('emacs', when='gui=emacs')
+ depends_on("ncurses", when="gui=curses")
+ depends_on("emacs", when="gui=emacs")
# depends_on('efl@1.18:', when='gui=efl') # Enlightenment
- depends_on('gtkplus@2:', when='gui=gtk2')
+ depends_on("gtkplus@2:", when="gui=gtk2")
# depends_on('gnome@3:', when='gui=gnome3') # GNOME
- depends_on('qt@4.4.0:', when='gui=qt')
- depends_on('qt@5.0:5', when='gui=qt5')
+ depends_on("qt@4.4.0:", when="gui=qt")
+ depends_on("qt@5.0:5", when="gui=qt5")
# depends_on('tqt', when='gui=tqt') # Trinity QT
- depends_on('fltk@1.3:', when='gui=fltk')
+ depends_on("fltk@1.3:", when="gui=fltk")
# TODO: add packages for these optional GUIs
- conflicts('gui=efl')
- conflicts('gui=gnome3')
- conflicts('gui=tqt')
+ conflicts("gui=efl")
+ conflicts("gui=gnome3")
+ conflicts("gui=tqt")
def configure_args(self):
args = [
# Disable extra features
- '--disable-fallback-curses',
- '--disable-inside-emacs',
- '--disable-libsecret',
-
+ "--disable-fallback-curses",
+ "--disable-inside-emacs",
+ "--disable-libsecret",
# Required dependencies
- '--with-gpg-error-prefix=' + self.spec['libgpg-error'].prefix,
- '--with-libassuan-prefix=' + self.spec['libassuan'].prefix,
+ "--with-gpg-error-prefix=" + self.spec["libgpg-error"].prefix,
+ "--with-libassuan-prefix=" + self.spec["libassuan"].prefix,
]
- if 'gui=curses' in self.spec:
- args.append('--with-ncurses-include-dir=' +
- self.spec['ncurses'].headers.directories[0])
+ if "gui=curses" in self.spec:
+ args.append(
+ "--with-ncurses-include-dir=" + self.spec["ncurses"].headers.directories[0]
+ )
for gui in self.supported_guis:
- if 'gui=' + gui in self.spec:
- args.append('--enable-pinentry-' + gui)
+ if "gui=" + gui in self.spec:
+ args.append("--enable-pinentry-" + gui)
else:
- args.append('--disable-pinentry-' + gui)
+ args.append("--disable-pinentry-" + gui)
return args
def test(self):
kwargs = {
- 'exe': self.prefix.bin.pinentry,
- 'options': ['--version'],
- 'expected': [str(self.version)],
+ "exe": self.prefix.bin.pinentry,
+ "options": ["--version"],
+ "expected": [str(self.version)],
}
self.run_test(**kwargs)
for gui in self.supported_guis:
- if 'gui=' + gui in self.spec:
- kwargs['exe'] = self.prefix.bin.pinentry + '-' + gui
+ if "gui=" + gui in self.spec:
+ kwargs["exe"] = self.prefix.bin.pinentry + "-" + gui
self.run_test(**kwargs)
diff --git a/var/spack/repos/builtin/packages/pinfo/package.py b/var/spack/repos/builtin/packages/pinfo/package.py
index 7273c0614a..fa8842b76f 100644
--- a/var/spack/repos/builtin/packages/pinfo/package.py
+++ b/var/spack/repos/builtin/packages/pinfo/package.py
@@ -10,19 +10,19 @@ class Pinfo(AutotoolsPackage):
"""Pinfo is user-friendly, console-based viewer for Info documents."""
homepage = "https://github.com/baszoetekouw/pinfo"
- url = "https://github.com/baszoetekouw/pinfo/archive/v0.6.13.tar.gz"
+ url = "https://github.com/baszoetekouw/pinfo/archive/v0.6.13.tar.gz"
- version('0.6.13', sha256='9dc5e848a7a86cb665a885bc5f0fdf6d09ad60e814d75e78019ae3accb42c217')
- version('0.6.12', sha256='82af48ba23b8c26b1f4e67b45f718142eb0f760326b782f80c765801d3532077')
- version('0.6.11', sha256='fd26017ac9db179d709b49e450c3097e7d6f99cd94de7b5da824ec757c6992b2')
+ version("0.6.13", sha256="9dc5e848a7a86cb665a885bc5f0fdf6d09ad60e814d75e78019ae3accb42c217")
+ version("0.6.12", sha256="82af48ba23b8c26b1f4e67b45f718142eb0f760326b782f80c765801d3532077")
+ version("0.6.11", sha256="fd26017ac9db179d709b49e450c3097e7d6f99cd94de7b5da824ec757c6992b2")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext', type='build')
- depends_on('texinfo', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext", type="build")
+ depends_on("texinfo", type="build")
def configure_args(self):
- args = ['CFLAGS=-Wno-unused-parameter']
+ args = ["CFLAGS=-Wno-unused-parameter"]
return args
diff --git a/var/spack/repos/builtin/packages/pipework/package.py b/var/spack/repos/builtin/packages/pipework/package.py
index ec90ed301d..c31320a2fa 100644
--- a/var/spack/repos/builtin/packages/pipework/package.py
+++ b/var/spack/repos/builtin/packages/pipework/package.py
@@ -13,9 +13,9 @@ class Pipework(Package):
"""
homepage = "https://github.com/jpetazzo/pipework"
- git = "https://github.com/jpetazzo/pipework.git"
+ git = "https://github.com/jpetazzo/pipework.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/piranha/package.py b/var/spack/repos/builtin/packages/piranha/package.py
index 4b0cafc89a..e08e984d5a 100644
--- a/var/spack/repos/builtin/packages/piranha/package.py
+++ b/var/spack/repos/builtin/packages/piranha/package.py
@@ -13,36 +13,33 @@ class Piranha(CMakePackage):
(such as Poisson series)."""
homepage = "https://bluescarni.github.io/piranha/sphinx/"
- url = "https://github.com/bluescarni/piranha/archive/v0.5.tar.gz"
- git = "https://github.com/bluescarni/piranha.git"
+ url = "https://github.com/bluescarni/piranha/archive/v0.5.tar.gz"
+ git = "https://github.com/bluescarni/piranha.git"
- version('develop', branch='master')
- version('0.5', sha256='34a89bda8208ff48cfb116efa7d53c09e8a9b3838af4bb96ba2e19e4930b3a58')
+ version("develop", branch="master")
+ version("0.5", sha256="34a89bda8208ff48cfb116efa7d53c09e8a9b3838af4bb96ba2e19e4930b3a58")
- variant('python', default=True,
- description='Build the Python bindings')
+ variant("python", default=True, description="Build the Python bindings")
# Build dependencies
- depends_on('cmake@3.2.0:', type='build')
- extends('python', when='+python')
- depends_on('python@2.6:', type='build', when='+python')
+ depends_on("cmake@3.2.0:", type="build")
+ extends("python", when="+python")
+ depends_on("python@2.6:", type="build", when="+python")
# Other dependencies
- depends_on('boost+iostreams+regex+serialization',
- when='~python')
- depends_on('boost+iostreams+regex+serialization+python',
- when='+python')
+ depends_on("boost+iostreams+regex+serialization", when="~python")
+ depends_on("boost+iostreams+regex+serialization+python", when="+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('bzip2')
- depends_on('gmp') # mpir is a drop-in replacement for this
- depends_on('mpfr') # Could also be built against mpir
+ depends_on("bzip2")
+ depends_on("gmp") # mpir is a drop-in replacement for this
+ depends_on("mpfr") # Could also be built against mpir
def cmake_args(self):
return [
- self.define_from_variant('BUILD_PYRANHA', 'python'),
- '-DBUILD_TESTS:BOOL=ON',
+ self.define_from_variant("BUILD_PYRANHA", "python"),
+ "-DBUILD_TESTS:BOOL=ON",
]
diff --git a/var/spack/repos/builtin/packages/pism/package.py b/var/spack/repos/builtin/packages/pism/package.py
index 84ef68a0ff..912752792a 100644
--- a/var/spack/repos/builtin/packages/pism/package.py
+++ b/var/spack/repos/builtin/packages/pism/package.py
@@ -10,44 +10,42 @@ class Pism(CMakePackage):
"""Parallel Ice Sheet Model"""
homepage = "http://pism-docs.org/wiki/doku.php:="
- url = "https://github.com/pism/pism/archive/v1.1.4.tar.gz"
- git = "https://github.com/pism/pism.git"
-
- maintainers = ['citibeth']
-
- version('develop', branch='dev')
- version('1.1.4', sha256='8ccb867af3b37e8d103351dadc1d7e77512e64379519fe8a2592668deb27bc44')
- version('0.7.x', branch='stable0.7')
- version('icebin', branch='efischer/dev')
-
- variant('extra', default=False,
- description='Build extra executables (testing/verification)')
- variant('shared', default=True,
- description='Build shared Pism libraries')
- variant('python', default=False,
- description='Build python bindings')
- variant('icebin', default=False,
- description='Build classes needed by IceBin')
- variant('proj', default=True,
- description='Use Proj.4 to compute cell areas, '
- 'longitudes, and latitudes.')
- variant('parallel-netcdf4', default=False,
- description='Enables parallel NetCDF-4 I/O.')
- variant('parallel-netcdf3', default=False,
- description='Enables parallel NetCDF-3 I/O using PnetCDF.')
- variant('parallel-hdf5', default=False,
- description='Enables parallel HDF5 I/O.')
+ url = "https://github.com/pism/pism/archive/v1.1.4.tar.gz"
+ git = "https://github.com/pism/pism.git"
+
+ maintainers = ["citibeth"]
+
+ version("develop", branch="dev")
+ version("1.1.4", sha256="8ccb867af3b37e8d103351dadc1d7e77512e64379519fe8a2592668deb27bc44")
+ version("0.7.x", branch="stable0.7")
+ version("icebin", branch="efischer/dev")
+
+ variant("extra", default=False, description="Build extra executables (testing/verification)")
+ variant("shared", default=True, description="Build shared Pism libraries")
+ variant("python", default=False, description="Build python bindings")
+ variant("icebin", default=False, description="Build classes needed by IceBin")
+ variant(
+ "proj",
+ default=True,
+ description="Use Proj.4 to compute cell areas, " "longitudes, and latitudes.",
+ )
+ variant("parallel-netcdf4", default=False, description="Enables parallel NetCDF-4 I/O.")
+ variant(
+ "parallel-netcdf3",
+ default=False,
+ description="Enables parallel NetCDF-3 I/O using PnetCDF.",
+ )
+ variant("parallel-hdf5", default=False, description="Enables parallel HDF5 I/O.")
# variant('tao', default=False,
# description='Use TAO in inverse solvers.')
- description = 'Build PISM documentation (requires LaTeX and Doxygen)'
- variant('doc', default=False, description=description)
+ description = "Build PISM documentation (requires LaTeX and Doxygen)"
+ variant("doc", default=False, description=description)
- variant('examples', default=False,
- description='Install examples directory')
+ variant("examples", default=False, description="Install examples directory")
- description = 'Report errors through Everytrace (requires Everytrace)'
- variant('everytrace', default=False, description=description)
+ description = "Report errors through Everytrace (requires Everytrace)"
+ variant("everytrace", default=False, description=description)
# CMake build options not transferred to Spack variants
# (except from CMakeLists.txt)
@@ -70,44 +68,45 @@ class Pism(CMakePackage):
# namespace (might be needed with some compilers)." ON)
# option (Pism_USE_TAO "Use TAO in inverse solvers." OFF)
- depends_on('fftw')
- depends_on('gsl')
- depends_on('mpi')
- depends_on('netcdf-c') # Only the C interface is used, no netcdf-cxx4
- depends_on('petsc')
- depends_on('udunits')
- depends_on('proj@:4')
- depends_on('everytrace', when='+everytrace')
-
- extends('python', when='+python')
- depends_on('python@2.7:2.8,3.3:', when='@1.1: +python')
- depends_on('python@2.7:2.8', when='@:1.0 +python')
- depends_on('py-matplotlib', when='+python')
- depends_on('py-numpy', when='+python')
+ depends_on("fftw")
+ depends_on("gsl")
+ depends_on("mpi")
+ depends_on("netcdf-c") # Only the C interface is used, no netcdf-cxx4
+ depends_on("petsc")
+ depends_on("udunits")
+ depends_on("proj@:4")
+ depends_on("everytrace", when="+everytrace")
+
+ extends("python", when="+python")
+ depends_on("python@2.7:2.8,3.3:", when="@1.1: +python")
+ depends_on("python@2.7:2.8", when="@:1.0 +python")
+ depends_on("py-matplotlib", when="+python")
+ depends_on("py-numpy", when="+python")
def cmake_args(self):
spec = self.spec
return [
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
# Fortran not needed for PISM...
# '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- self.define_from_variant('Pism_BUILD_EXTRA_EXECS', 'extra'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('Pism_BUILD_PYTHON_BINDINGS', 'python'),
- self.define_from_variant('Pism_BUILD_ICEBIN', 'icebin'),
- self.define_from_variant('Pism_USE_PROJ4', 'proj'),
- self.define_from_variant('Pism_USE_PARALLEL_NETCDF4', 'parallel-netcdf4'),
- self.define_from_variant('Pism_USE_PNETCDF', 'parallel-netcdf3'),
- self.define_from_variant('Pism_USE_PARALLEL_HDF5', 'parallel-hdf5'),
- self.define_from_variant('Pism_BUILD_PDFS', 'doc'),
- self.define_from_variant('Pism_INSTALL_EXAMPLES', 'examples'),
- self.define_from_variant('Pism_USE_EVERYTRACE', 'everytrace')]
+ self.define_from_variant("Pism_BUILD_EXTRA_EXECS", "extra"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("Pism_BUILD_PYTHON_BINDINGS", "python"),
+ self.define_from_variant("Pism_BUILD_ICEBIN", "icebin"),
+ self.define_from_variant("Pism_USE_PROJ4", "proj"),
+ self.define_from_variant("Pism_USE_PARALLEL_NETCDF4", "parallel-netcdf4"),
+ self.define_from_variant("Pism_USE_PNETCDF", "parallel-netcdf3"),
+ self.define_from_variant("Pism_USE_PARALLEL_HDF5", "parallel-hdf5"),
+ self.define_from_variant("Pism_BUILD_PDFS", "doc"),
+ self.define_from_variant("Pism_INSTALL_EXAMPLES", "examples"),
+ self.define_from_variant("Pism_USE_EVERYTRACE", "everytrace"),
+ ]
def setup_run_environment(self, env):
- env.set('PISM_PREFIX', self.prefix)
- env.set('PISM_BIN', self.prefix.bin)
+ env.set("PISM_PREFIX", self.prefix)
+ env.set("PISM_BIN", self.prefix.bin)
# From email correspondence with Constantine Khroulev:
diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py
index 09ef8d6133..c1feaa38c1 100644
--- a/var/spack/repos/builtin/packages/pixman/package.py
+++ b/var/spack/repos/builtin/packages/pixman/package.py
@@ -14,28 +14,28 @@ class Pixman(AutotoolsPackage):
trapezoid rasterization."""
homepage = "http://www.pixman.org"
- url = "https://cairographics.org/releases/pixman-0.32.6.tar.gz"
+ url = "https://cairographics.org/releases/pixman-0.32.6.tar.gz"
- version('0.40.0', sha256='6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc')
- version('0.38.4', sha256='da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7')
- version('0.38.0', sha256='a7592bef0156d7c27545487a52245669b00cf7e70054505381cff2136d890ca8')
- version('0.34.0', sha256='21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e')
- version('0.32.6', sha256='3dfed13b8060eadabf0a4945c7045b7793cc7e3e910e748a8bb0f0dc3e794904')
+ version("0.40.0", sha256="6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc")
+ version("0.38.4", sha256="da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7")
+ version("0.38.0", sha256="a7592bef0156d7c27545487a52245669b00cf7e70054505381cff2136d890ca8")
+ version("0.34.0", sha256="21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e")
+ version("0.32.6", sha256="3dfed13b8060eadabf0a4945c7045b7793cc7e3e910e748a8bb0f0dc3e794904")
- depends_on('pkgconfig', type='build')
- depends_on('libpng')
+ depends_on("pkgconfig", type="build")
+ depends_on("libpng")
# As discussed here:
# https://bugs.freedesktop.org/show_bug.cgi?id=104886
# __builtin_shuffle was removed in clang 5.0.
# From version 9.1 apple-clang is based on clang 5.0.
# Patch is obtained from above link.
- patch('clang.patch', when='@0.34%apple-clang@9.1.0:')
- patch('clang.patch', when='@0.34%clang@5.0.0:')
+ patch("clang.patch", when="@0.34%apple-clang@9.1.0:")
+ patch("clang.patch", when="@0.34%clang@5.0.0:")
- @run_before('build')
+ @run_before("build")
def patch_config_h_for_intel(self):
- config_h = join_path(self.stage.source_path, 'config.h')
+ config_h = join_path(self.stage.source_path, "config.h")
# Intel disguises itself as GNU, but doesn't implement
# the same builtin functions. This causes in this case
@@ -45,20 +45,20 @@ class Pixman(AutotoolsPackage):
#
# https://software.intel.com/en-us/forums/intel-c-compiler/topic/758013
#
- if '%intel' in self.spec:
+ if "%intel" in self.spec:
filter_file(
- r'#define HAVE_GCC_VECTOR_EXTENSIONS /\*\*/',
- '/* #undef HAVE_GCC_VECTOR_EXTENSIONS */',
- config_h
+ r"#define HAVE_GCC_VECTOR_EXTENSIONS /\*\*/",
+ "/* #undef HAVE_GCC_VECTOR_EXTENSIONS */",
+ config_h,
)
def configure_args(self):
args = [
- '--enable-libpng',
- '--disable-gtk',
+ "--enable-libpng",
+ "--disable-gtk",
]
- if sys.platform == 'darwin':
- args.append('--disable-mmx')
+ if sys.platform == "darwin":
+ args.append("--disable-mmx")
return args
diff --git a/var/spack/repos/builtin/packages/pixz/package.py b/var/spack/repos/builtin/packages/pixz/package.py
index 061a08fd26..e60264a738 100644
--- a/var/spack/repos/builtin/packages/pixz/package.py
+++ b/var/spack/repos/builtin/packages/pixz/package.py
@@ -7,13 +7,13 @@ from spack.package import *
class Pixz(AutotoolsPackage):
- """Pixz (pronounced pixie) is a parallel, indexing version of xz. """
+ """Pixz (pronounced pixie) is a parallel, indexing version of xz."""
homepage = "https://www.github.com/vasi/pixz"
- url = "https://github.com/vasi/pixz/releases/download/v1.0.6/pixz-1.0.6.tar.xz"
+ url = "https://github.com/vasi/pixz/releases/download/v1.0.6/pixz-1.0.6.tar.xz"
- version('1.0.7', sha256='e5e32c6eb0bf112b98e74a5da8fb63b9f2cae71800f599d97ce540e150c8ddc5')
- version('1.0.6', sha256='02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8')
+ version("1.0.7", sha256="e5e32c6eb0bf112b98e74a5da8fb63b9f2cae71800f599d97ce540e150c8ddc5")
+ version("1.0.6", sha256="02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8")
- depends_on('xz')
- depends_on('libarchive')
+ depends_on("xz")
+ depends_on("libarchive")
diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py
index 762a5f19b1..3a7671343e 100644
--- a/var/spack/repos/builtin/packages/pkg-config/package.py
+++ b/var/spack/repos/builtin/packages/pkg-config/package.py
@@ -14,50 +14,49 @@ class PkgConfig(AutotoolsPackage):
# URL must remain http:// so Spack can bootstrap curl
url = "https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz"
- version('0.29.2', sha256='6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591')
- version('0.29.1', sha256='beb43c9e064555469bd4390dcfd8030b1536e0aa103f08d7abf7ae8cac0cb001')
- version('0.28', sha256='6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845')
+ version("0.29.2", sha256="6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591")
+ version("0.29.1", sha256="beb43c9e064555469bd4390dcfd8030b1536e0aa103f08d7abf7ae8cac0cb001")
+ version("0.28", sha256="6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845")
- provides('pkgconfig')
+ provides("pkgconfig")
- variant('internal_glib', default=True,
- description='Builds with internal glib')
+ variant("internal_glib", default=True, description="Builds with internal glib")
# The following patch is needed for gcc-6.1
- patch('g_date_strftime.patch', when='@:0.29.1')
+ patch("g_date_strftime.patch", when="@:0.29.1")
# https://github.com/spack/spack/issues/3525
- conflicts('%pgi')
+ conflicts("%pgi")
parallel = False
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^pkg-config$']
+ executables = ["^pkg-config$"]
@classmethod
def determine_version(cls, exe):
exe = Executable(exe)
# Make sure this is actually pkg-config, not pkgconf
- if 'usage: pkgconf' in exe('--help', output=str, error=str):
+ if "usage: pkgconf" in exe("--help", output=str, error=str):
return None
- version = exe('--version', output=str, error=str).rstrip()
+ version = exe("--version", output=str, error=str).rstrip()
return version
def setup_dependent_build_environment(self, env, dependent_spec):
"""Adds the ACLOCAL path for autotools."""
- env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
+ env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal)
def configure_args(self):
- config_args = ['--enable-shared']
+ config_args = ["--enable-shared"]
- if '+internal_glib' in self.spec:
+ if "+internal_glib" in self.spec:
# There's a bootstrapping problem here;
# glib uses pkg-config as well, so break
# the cycle by using the internal glib.
- config_args.append('--with-internal-glib')
+ config_args.append("--with-internal-glib")
return config_args
diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py
index 1745c943bc..ff0da00546 100644
--- a/var/spack/repos/builtin/packages/pkgconf/package.py
+++ b/var/spack/repos/builtin/packages/pkgconf/package.py
@@ -14,50 +14,50 @@ class Pkgconf(AutotoolsPackage):
homepage = "http://pkgconf.org/"
# URL must remain http:// so Spack can bootstrap curl
- url = "https://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')
- version('1.6.1', sha256='22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c')
- version('1.6.0', sha256='6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5')
- version('1.5.4', sha256='9c5864a4e08428ef52f05a41c948529555458dec6d283b50f8b7d32463c54664')
- version('1.4.2', sha256='bab39371d4ab972be1d539a8b10b6cc21f8eafc97f617102e667e82bd32eb234')
- version('1.4.0', sha256='1d112ff35dad516ffbfbdb013df3a035140618fe7632ec44ffa894a9c713301b')
- version('1.3.10', sha256='62577d265fa9415a57a77a59dede5526b7ece3ef59a750434b281b262f0c1da9')
- version('1.3.8', sha256='fc06f058e6905435481f649865ca51000192c91808f307b1053ca5e859cb1488')
-
- provides('pkgconfig')
+ url = "https://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")
+ version("1.6.1", sha256="22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c")
+ version("1.6.0", sha256="6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5")
+ version("1.5.4", sha256="9c5864a4e08428ef52f05a41c948529555458dec6d283b50f8b7d32463c54664")
+ version("1.4.2", sha256="bab39371d4ab972be1d539a8b10b6cc21f8eafc97f617102e667e82bd32eb234")
+ version("1.4.0", sha256="1d112ff35dad516ffbfbdb013df3a035140618fe7632ec44ffa894a9c713301b")
+ version("1.3.10", sha256="62577d265fa9415a57a77a59dede5526b7ece3ef59a750434b281b262f0c1da9")
+ version("1.3.8", sha256="fc06f058e6905435481f649865ca51000192c91808f307b1053ca5e859cb1488")
+
+ provides("pkgconfig")
# https://github.com/spack/spack/issues/11704
- patch('nvhpc.patch', when='@1.7.3%nvhpc')
+ patch("nvhpc.patch", when="@1.7.3%nvhpc")
# TODO: Add a package for the kyua testing framework
# depends_on('kyua', type='test')
# https://github.com/spack/spack/issues/3525
- conflicts('%pgi')
+ conflicts("%pgi")
- tags = ['build-tools']
+ tags = ["build-tools"]
- executables = ['^pkgconf$', '^pkg-config$']
+ executables = ["^pkgconf$", "^pkg-config$"]
@classmethod
def determine_version(cls, exe):
exe = Executable(exe)
# Make sure this is actually pkgconf, not pkg-config
- if 'usage: pkgconf' not in exe('--help', output=str, error=str):
+ if "usage: pkgconf" not in exe("--help", output=str, error=str):
return None
- version = exe('--version', output=str, error=str).rstrip()
+ version = exe("--version", output=str, error=str).rstrip()
return version
def setup_dependent_build_environment(self, env, dependent_spec):
"""Adds the ACLOCAL path for autotools."""
- env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
+ env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal)
def check(self):
# TODO: running the checks needs kyua (a package not yet in spack)
@@ -65,8 +65,7 @@ class Pkgconf(AutotoolsPackage):
# thus disable the tests to be able to run --test=all for other specs
pass
- @run_after('install')
+ @run_after("install")
def link_pkg_config(self):
- symlink('pkgconf', '{0}/pkg-config'.format(self.prefix.bin))
- symlink('pkgconf.1',
- '{0}/pkg-config.1'.format(self.prefix.share.man.man1))
+ symlink("pkgconf", "{0}/pkg-config".format(self.prefix.bin))
+ symlink("pkgconf.1", "{0}/pkg-config.1".format(self.prefix.share.man.man1))
diff --git a/var/spack/repos/builtin/packages/pktools/package.py b/var/spack/repos/builtin/packages/pktools/package.py
index ea8d471e90..93fba49cdd 100644
--- a/var/spack/repos/builtin/packages/pktools/package.py
+++ b/var/spack/repos/builtin/packages/pktools/package.py
@@ -12,36 +12,36 @@ class Pktools(CMakePackage):
"""Processing Kernel for geospatial data"""
homepage = "http://pktools.nongnu.org/html/index.html"
- url = "http://download.savannah.gnu.org/releases/pktools/pktools-2.6.7.tar.gz"
+ url = "http://download.savannah.gnu.org/releases/pktools/pktools-2.6.7.tar.gz"
- version('2.6.7.1', sha256='519b6a500ce3c5ef3793c1cda1f5377f13b7d7591b5ccc376b2bd1de4bd4f7e5')
- version('2.6.7', sha256='f566647e93037cc01cebfe17ea554d798177fe5081887c70223dcca817f4fe7f')
+ version("2.6.7.1", sha256="519b6a500ce3c5ef3793c1cda1f5377f13b7d7591b5ccc376b2bd1de4bd4f7e5")
+ version("2.6.7", sha256="f566647e93037cc01cebfe17ea554d798177fe5081887c70223dcca817f4fe7f")
- variant('fann', default=True, description='Build with libfann to enable related programs')
- variant('liblas', default=False, description='Build with libLAS support')
+ variant("fann", default=True, description="Build with libfann to enable related programs")
+ variant("liblas", default=False, description="Build with libLAS support")
- depends_on('gdal')
- depends_on('gsl')
- depends_on('armadillo')
- depends_on('nlopt')
+ depends_on("gdal")
+ depends_on("gsl")
+ depends_on("armadillo")
+ depends_on("nlopt")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('fann', when='+fann')
- depends_on('liblas', when='+liblas')
+ depends_on("fann", when="+fann")
+ depends_on("liblas", when="+liblas")
def cmake_args(self):
args = []
- args.append('-DCMAKE_CXX_STANDARD=11')
- args.append('-DPKTOOLS_WITH_UTILITIES=ON')
- if '+fann' in self.spec:
- args.append('-DBUILD_WITH_FANN=ON')
+ args.append("-DCMAKE_CXX_STANDARD=11")
+ args.append("-DPKTOOLS_WITH_UTILITIES=ON")
+ if "+fann" in self.spec:
+ args.append("-DBUILD_WITH_FANN=ON")
else:
- args.append('-DBUILD_WITH_FANN=OFF')
- if '+liblas' in self.spec:
- args.append('-DBUILD_WITH_LIBLAS=ON')
+ args.append("-DBUILD_WITH_FANN=OFF")
+ if "+liblas" in self.spec:
+ args.append("-DBUILD_WITH_LIBLAS=ON")
else:
- args.append('-DBUILD_WITH_LIBLAS=OFF')
+ args.append("-DBUILD_WITH_LIBLAS=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/planck-likelihood/package.py b/var/spack/repos/builtin/packages/planck-likelihood/package.py
index 42ac4e0061..763f22cfb2 100644
--- a/var/spack/repos/builtin/packages/planck-likelihood/package.py
+++ b/var/spack/repos/builtin/packages/planck-likelihood/package.py
@@ -10,58 +10,64 @@ from spack.package import *
class PlanckLikelihood(Package):
"""2015 Cosmic Microwave Background (CMB) spectra and likelihood code"""
- homepage = "https://wiki.cosmos.esa.int/planckpla2015/index.php/CMB_spectrum_%26_Likelihood_Code"
- url = "https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Code-v2.0.R2.00.tar.bz2"
-
- version('2.00', sha256='c1efa208175b2751e75b2ad1c026dae744a7dd279eb74baa5db3098bc9c971bb',
- url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Code-v2.0.R2.00.tar.bz2")
-
- variant('lensing-ext', default=False,
- description="Provide lensing-ext data")
- variant('plik-DS', default=False,
- description="Provide plik-DS data")
- variant('plik-HM-ext', default=False,
- description="Provide plik-HM-ext data")
- variant('plik-unbinned', default=False,
- description="Provide plik-unbinned data")
-
- patch('fortran.patch')
- patch('make.patch')
- patch('arm.patch', when='target=aarch64:')
+ homepage = (
+ "https://wiki.cosmos.esa.int/planckpla2015/index.php/CMB_spectrum_%26_Likelihood_Code"
+ )
+ url = "https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Code-v2.0.R2.00.tar.bz2"
+
+ version(
+ "2.00",
+ sha256="c1efa208175b2751e75b2ad1c026dae744a7dd279eb74baa5db3098bc9c971bb",
+ url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Code-v2.0.R2.00.tar.bz2",
+ )
+
+ variant("lensing-ext", default=False, description="Provide lensing-ext data")
+ variant("plik-DS", default=False, description="Provide plik-DS data")
+ variant("plik-HM-ext", default=False, description="Provide plik-HM-ext data")
+ variant("plik-unbinned", default=False, description="Provide plik-unbinned data")
+
+ patch("fortran.patch")
+ patch("make.patch")
+ patch("arm.patch", when="target=aarch64:")
resource(
- name='baseline',
+ name="baseline",
url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Data-baseline_R2.00.tar.gz",
- sha256='7c62c5afc105bff28c2da3eddb870b8180536d30e31c4d419b307ad3996e17ab',
- destination='.')
+ sha256="7c62c5afc105bff28c2da3eddb870b8180536d30e31c4d419b307ad3996e17ab",
+ destination=".",
+ )
resource(
- name='lensing-ext',
+ name="lensing-ext",
url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Data-extra-lensing-ext.R2.00.tar.gz",
- sha256='0c017984bfd12315b94958f48f8e61e625361a84066838976f676fb5c2e76dbc',
- destination='.',
- when='+lensing-ext')
+ sha256="0c017984bfd12315b94958f48f8e61e625361a84066838976f676fb5c2e76dbc",
+ destination=".",
+ when="+lensing-ext",
+ )
resource(
- name='plik-DS',
+ name="plik-DS",
url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Data-extra-plik-DS.R2.00.tar.gz",
- sha256='f6b5ec6b284ea71008f071503faf8319dac48c3ea7fb13f5e5cbd23fff3efd84',
- destination='.',
- when='+plik-DS')
+ sha256="f6b5ec6b284ea71008f071503faf8319dac48c3ea7fb13f5e5cbd23fff3efd84",
+ destination=".",
+ when="+plik-DS",
+ )
resource(
- name='plik-HM-ext',
+ name="plik-HM-ext",
url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Data-extra-plik-HM-ext.R2.00.tar.gz",
- sha256='b5b8ead297b31f9b2e4913b54b1d3bbe272075f85ce2ca9bf5d99dbbe1559f77',
- destination='.',
- when='+plik-HM-ext')
+ sha256="b5b8ead297b31f9b2e4913b54b1d3bbe272075f85ce2ca9bf5d99dbbe1559f77",
+ destination=".",
+ when="+plik-HM-ext",
+ )
resource(
- name='plik-unbinned',
+ name="plik-unbinned",
url="https://irsa.ipac.caltech.edu/data/Planck/release_2/software/COM_Likelihood_Data-extra-plik-unbinned.R2.00.tar.gz",
- sha256='69cdfee40d63a8b60b1f715d4e276d76693ec1a6f1b2658abac2b8d7dff4fa44',
- destination='.',
- when='+plik-unbinned')
+ sha256="69cdfee40d63a8b60b1f715d4e276d76693ec1a6f1b2658abac2b8d7dff4fa44",
+ destination=".",
+ when="+plik-unbinned",
+ )
- depends_on('blas')
- depends_on('cfitsio +shared')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("cfitsio +shared")
+ depends_on("lapack")
# Note: Could also install Python bindings
@@ -74,55 +80,63 @@ class PlanckLikelihood(Package):
filter_file("^\t@", "\t", "Makefile")
makeflags = [
- 'PREFIX=%s' % prefix,
- 'COLORS=0',
- 'CFITSIOPATH=%s' % spec['cfitsio'].prefix,
- 'CC=cc',
- 'FC=fc',
- 'IFORTLIBPATH=',
- 'IFORTRUNTIME=-lintlc -limf -lsvml -liomp5 -lifportmt -lifcoremt',
- 'GFORTRANLIBPATH=',
- 'GFORTRANRUNTIME=-lgfortran -lgomp',
- 'LAPACKLIBPATH=',
- 'LAPACK=%s' % (spec['lapack'].libs + spec['blas'].libs).ld_flags,
- 'COPENMP=%s' % self.compiler.openmp_flag,
- 'FOPENMP=%s' % self.compiler.openmp_flag,
+ "PREFIX=%s" % prefix,
+ "COLORS=0",
+ "CFITSIOPATH=%s" % spec["cfitsio"].prefix,
+ "CC=cc",
+ "FC=fc",
+ "IFORTLIBPATH=",
+ "IFORTRUNTIME=-lintlc -limf -lsvml -liomp5 -lifportmt -lifcoremt",
+ "GFORTRANLIBPATH=",
+ "GFORTRANRUNTIME=-lgfortran -lgomp",
+ "LAPACKLIBPATH=",
+ "LAPACK=%s" % (spec["lapack"].libs + spec["blas"].libs).ld_flags,
+ "COPENMP=%s" % self.compiler.openmp_flag,
+ "FOPENMP=%s" % self.compiler.openmp_flag,
]
# Build
make(*makeflags)
# Install
- make('install', *makeflags)
+ make("install", *makeflags)
fix_darwin_install_name(prefix.lib)
- dirs = ['plc_2.0']
- if '+lensing-ext' in spec:
- dirs.append('lensing_ext')
- if '+plik-DS' in spec:
- dirs.append('plik_DS')
- if '+plik-HM-ext' in spec:
- dirs.append('plik_HM_ext')
- if '+plik-unbinned' in spec:
- dirs.append('plik_unbinned')
+ dirs = ["plc_2.0"]
+ if "+lensing-ext" in spec:
+ dirs.append("lensing_ext")
+ if "+plik-DS" in spec:
+ dirs.append("plik_DS")
+ if "+plik-HM-ext" in spec:
+ dirs.append("plik_HM_ext")
+ if "+plik-unbinned" in spec:
+ dirs.append("plik_unbinned")
for dir in dirs:
- install_tree(dir, join_path(prefix, 'share', 'clik', dir))
+ install_tree(dir, join_path(prefix, "share", "clik", dir))
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('CLIK_PATH', self.prefix)
- env.set('CLIK_DATA', self.prefix.share.clik)
- env.set('CLIK_PLUGIN', 'rel2015')
+ env.set("CLIK_PATH", self.prefix)
+ env.set("CLIK_DATA", self.prefix.share.clik)
+ env.set("CLIK_PLUGIN", "rel2015")
def setup_run_environment(self, env):
- env.set('CLIK_PATH', self.prefix)
- env.set('CLIK_DATA', self.prefix.share.clik)
- env.set('CLIK_PLUGIN', 'rel2015')
+ env.set("CLIK_PATH", self.prefix)
+ env.set("CLIK_DATA", self.prefix.share.clik)
+ env.set("CLIK_PLUGIN", "rel2015")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
prefix = self.prefix
- clik_example_c = Executable(join_path(prefix.bin, 'clik_example_C'))
- with working_dir('spack-check', create=True):
- clik_example_c(join_path(prefix, 'share', 'clik',
- 'plc_2.0', 'hi_l', 'plik',
- 'plik_dx11dr2_HM_v18_TT.clik'))
+ clik_example_c = Executable(join_path(prefix.bin, "clik_example_C"))
+ with working_dir("spack-check", create=True):
+ clik_example_c(
+ join_path(
+ prefix,
+ "share",
+ "clik",
+ "plc_2.0",
+ "hi_l",
+ "plik",
+ "plik_dx11dr2_HM_v18_TT.clik",
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/plasma/package.py b/var/spack/repos/builtin/packages/plasma/package.py
index 711803eb92..9e36acd6e7 100644
--- a/var/spack/repos/builtin/packages/plasma/package.py
+++ b/var/spack/repos/builtin/packages/plasma/package.py
@@ -18,12 +18,12 @@ class Plasma(CMakePackage):
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']
+ maintainers = ["luszczek"]
- tags = ['e4s']
+ tags = ["e4s"]
version("develop", git=git)
- version('21.8.29', sha256='e0bb4d9143c8540f9f46cbccac9ed0cbea12500a864e6954fce2fe94ea057a10')
+ version("21.8.29", sha256="e0bb4d9143c8540f9f46cbccac9ed0cbea12500a864e6954fce2fe94ea057a10")
version("20.9.20", sha256="2144a77b739f8dd2f0dbe5b64d94cde0e916f55c4eb170facd168c0db7fc7970")
version("19.8.1", sha256="3a5db6eabf91aec782b7f27b17a7f6b8ce2c9d8e648c0e9c0ff5d87277ba4d17")
version("19.8.0", sha256="19a950ade8a7c8d082f372789c9f874274a63217ecff26e33f366402f060f071")
@@ -31,14 +31,14 @@ class Plasma(CMakePackage):
version("18.11.0", sha256="36501488be5b4b2b973524824e1afd27779d37addfeeb34c1871ba753b6c06bf")
version("18.10.0", sha256="93dceae93f57a2fbd79b85d2fbf7907d1d32e158b8d1d93892d9ff3df9963210")
version("18.9.0", sha256="753eae28ea48986a2cc7b8204d6eef646584541e59d42c3c94fa9879116b0774")
- version("17.1",
- sha256="d4b89f7c3d240a69dfe986284a14471eec4830b9e352ae902ea8861f15573dee",
- url="https://github.com/icl-utk-edu/plasma/releases/download/17.01/plasma-17.01.tar.gz")
+ version(
+ "17.1",
+ sha256="d4b89f7c3d240a69dfe986284a14471eec4830b9e352ae902ea8861f15573dee",
+ 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)")
- variant("lua", default=False,
- description="Build Lua support for tuning tile sizes")
+ variant("shared", default=True, description="Build shared library (disables static library)")
+ variant("lua", default=False, description="Build Lua support for tuning tile sizes")
depends_on("lua", when="+lua")
@@ -57,12 +57,12 @@ class Plasma(CMakePackage):
conflicts("^veclibfort")
# only GCC 4.9+ and higher have sufficient support for OpenMP 4+ tasks+deps
- conflicts("%gcc@:4.8", when='@:17.1')
+ conflicts("%gcc@:4.8", when="@:17.1")
# only GCC 6.0+ and higher have for OpenMP 4+ Clause "priority"
- conflicts("%gcc@:5", when='@17.2:')
+ conflicts("%gcc@:5", when="@17.2:")
conflicts("%cce")
- conflicts('%apple-clang')
+ conflicts("%apple-clang")
conflicts("%clang")
conflicts("%intel")
conflicts("%nag")
@@ -78,15 +78,14 @@ class Plasma(CMakePackage):
def cmake_args(self):
options = list()
- options.extend([
- "-DBLAS_LIBRARIES=%s" % self.spec["blas"].libs.joined(";"),
- "-DLAPACK_LIBRARIES=%s" % self.spec["lapack"].libs.joined(";")
- ])
+ options.extend(
+ [
+ "-DBLAS_LIBRARIES=%s" % self.spec["blas"].libs.joined(";"),
+ "-DLAPACK_LIBRARIES=%s" % self.spec["lapack"].libs.joined(";"),
+ ]
+ )
- options += [
- "-DBUILD_SHARED_LIBS=%s" %
- ('ON' if ('+shared' in self.spec) else 'OFF')
- ]
+ options += ["-DBUILD_SHARED_LIBS=%s" % ("ON" if ("+shared" in self.spec) else "OFF")]
for package, provider in (
("openblas", "openblas"),
@@ -128,8 +127,7 @@ class Plasma(CMakePackage):
if not spec.satisfies("^intel-mkl"):
make_inc.filter("-DPLASMA_WITH_MKL", "") # not using MKL
- make_inc.filter("LIBS *= *.*", "LIBS = " +
- self.spec["blas"].libs.ld_flags + " -lm")
+ make_inc.filter("LIBS *= *.*", "LIBS = " + self.spec["blas"].libs.ld_flags + " -lm")
header_flags = ""
# accumulate CPP flags for headers: <cblas.h> and <lapacke.h>
diff --git a/var/spack/repos/builtin/packages/platypus/package.py b/var/spack/repos/builtin/packages/platypus/package.py
index fc315dced7..164d85bfd3 100644
--- a/var/spack/repos/builtin/packages/platypus/package.py
+++ b/var/spack/repos/builtin/packages/platypus/package.py
@@ -10,15 +10,15 @@ class Platypus(Package):
"""A Haplotype-Based Variant Caller For Next Generation Sequence Data"""
homepage = "http://www.well.ox.ac.uk/platypus"
- url = "https://www.well.ox.ac.uk/bioinformatics/Software/Platypus-latest.tgz"
+ url = "https://www.well.ox.ac.uk/bioinformatics/Software/Platypus-latest.tgz"
- version('0.8.1', sha256='a0f39e800ebdc5590e9b568a791bc6746df0fde4d1c3622140db64dea175622b')
+ version("0.8.1", sha256="a0f39e800ebdc5590e9b568a791bc6746df0fde4d1c3622140db64dea175622b")
- depends_on('python@2.6:2', type=('build', 'run'))
- depends_on('py-cython', type='build')
- depends_on('htslib')
+ depends_on("python@2.6:2", type=("build", "run"))
+ depends_on("py-cython", type="build")
+ depends_on("htslib")
def install(self, spec, prefix):
- build_platypus = Executable('./buildPlatypus.sh')
+ build_platypus = Executable("./buildPlatypus.sh")
build_platypus()
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/plink-ng/package.py b/var/spack/repos/builtin/packages/plink-ng/package.py
index 412253a588..dc0dbf58d7 100644
--- a/var/spack/repos/builtin/packages/plink-ng/package.py
+++ b/var/spack/repos/builtin/packages/plink-ng/package.py
@@ -10,29 +10,28 @@ class PlinkNg(Package):
"""A comprehensive update to the PLINK association analysis toolset."""
homepage = "https://www.cog-genomics.org/plink/2.0/"
- url = "https://www.cog-genomics.org/static/bin/plink2_src_200511.zip"
+ url = "https://www.cog-genomics.org/static/bin/plink2_src_200511.zip"
- version('200511', sha256='00cff19bece88acb7a21ba098501cb677b78d22c9f3ca5bcdc869139a40db816')
+ version("200511", sha256="00cff19bece88acb7a21ba098501cb677b78d22c9f3ca5bcdc869139a40db816")
- depends_on('zlib')
- depends_on('zstd@1.4.4:')
- depends_on('cblas')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("zlib")
+ depends_on("zstd@1.4.4:")
+ depends_on("cblas")
+ depends_on("blas")
+ depends_on("lapack")
- conflicts('%gcc@:4')
+ conflicts("%gcc@:4")
def url_for_version(self, ver):
- template = 'https://www.cog-genomics.org/static/bin/plink2_src_{0}.zip'
+ template = "https://www.cog-genomics.org/static/bin/plink2_src_{0}.zip"
return template.format(ver)
def setup_build_environment(self, env):
- zlib = join_path(self.spec['zlib'].prefix.lib, 'libz.a')
- env.set('ZLIB', zlib)
+ zlib = join_path(self.spec["zlib"].prefix.lib, "libz.a")
+ env.set("ZLIB", zlib)
def install(self, spec, prefix):
- ld_flags = [spec['lapack'].libs.ld_flags, spec['blas'].libs.ld_flags]
- filter_file('-llapack -lcblas -lblas', ' '.join(ld_flags),
- 'build.sh', string=True)
- which('sh')('build.sh')
- install_tree('.', prefix)
+ ld_flags = [spec["lapack"].libs.ld_flags, spec["blas"].libs.ld_flags]
+ filter_file("-llapack -lcblas -lblas", " ".join(ld_flags), "build.sh", string=True)
+ which("sh")("build.sh")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/plink/package.py b/var/spack/repos/builtin/packages/plink/package.py
index 5f12006994..b1e549052e 100644
--- a/var/spack/repos/builtin/packages/plink/package.py
+++ b/var/spack/repos/builtin/packages/plink/package.py
@@ -8,33 +8,42 @@ from spack.package import *
class Plink(Package):
"""PLINK is a free, open-source whole genome association analysis toolset,
- designed to perform a range of basic, large-scale analyses in a
- computationally efficient manner."""
+ designed to perform a range of basic, large-scale analyses in a
+ computationally efficient manner."""
homepage = "https://www.cog-genomics.org/plink/1.9/"
- version('1.9-beta6.10', sha256='f8438656996c55a5edd95c223cce96277de6efaab1b9b1d457bfee0c272058d8',
- url='https://s3.amazonaws.com/plink1-assets/plink_linux_x86_64_20190617.zip')
- version('1.9-beta5', sha256='e00ef16ac5abeb6b4c4d77846bd655fafc62669fbebf8cd2e941f07b3111907e',
- url='https://github.com/chrchang/plink-ng/archive/b15c19f.tar.gz')
- version('1.07', sha256='70c52ee47eed854293832639dbabb41c7c036db3a4881c136e6a71ecff4ac7f4',
- url='https://zzz.bwh.harvard.edu/plink/dist/plink-1.07-x86_64.zip',
- preferred=True)
+ version(
+ "1.9-beta6.10",
+ sha256="f8438656996c55a5edd95c223cce96277de6efaab1b9b1d457bfee0c272058d8",
+ url="https://s3.amazonaws.com/plink1-assets/plink_linux_x86_64_20190617.zip",
+ )
+ version(
+ "1.9-beta5",
+ sha256="e00ef16ac5abeb6b4c4d77846bd655fafc62669fbebf8cd2e941f07b3111907e",
+ url="https://github.com/chrchang/plink-ng/archive/b15c19f.tar.gz",
+ )
+ version(
+ "1.07",
+ sha256="70c52ee47eed854293832639dbabb41c7c036db3a4881c136e6a71ecff4ac7f4",
+ url="https://zzz.bwh.harvard.edu/plink/dist/plink-1.07-x86_64.zip",
+ preferred=True,
+ )
- depends_on('atlas', when='@1.9-beta5')
- depends_on('netlib-lapack', when='@1.9-beta5')
- depends_on('atlas', when='@1.9-beta6.10')
- depends_on('netlib-lapack', when='@1.9-beta6.10')
+ depends_on("atlas", when="@1.9-beta5")
+ depends_on("netlib-lapack", when="@1.9-beta5")
+ depends_on("atlas", when="@1.9-beta6.10")
+ depends_on("netlib-lapack", when="@1.9-beta6.10")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if spec.version == Version('1.07'):
- install('plink', prefix.bin)
- install('gPLINK.jar', prefix.bin)
- if spec.version == Version('1.9-beta5'):
- with working_dir('1.9'):
- first_compile = Executable('./plink_first_compile')
+ if spec.version == Version("1.07"):
+ install("plink", prefix.bin)
+ install("gPLINK.jar", prefix.bin)
+ if spec.version == Version("1.9-beta5"):
+ with working_dir("1.9"):
+ first_compile = Executable("./plink_first_compile")
first_compile()
- install('plink', prefix.bin)
- if spec.version == Version('1.9-beta6.10'):
- install('plink', prefix.bin)
+ install("plink", prefix.bin)
+ if spec.version == Version("1.9-beta6.10"):
+ install("plink", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/plplot/package.py b/var/spack/repos/builtin/packages/plplot/package.py
index 017bf57b3f..4d61b0abaa 100644
--- a/var/spack/repos/builtin/packages/plplot/package.py
+++ b/var/spack/repos/builtin/packages/plplot/package.py
@@ -10,100 +10,102 @@ class Plplot(CMakePackage):
"""PLplot is a cross-platform package for creating scientific plots."""
homepage = "http://plplot.sourceforge.net/"
- url = "https://sourceforge.net/projects/plplot/files/plplot/5.13.0%20Source/plplot-5.13.0.tar.gz/download"
-
- version('5.15.0', sha256='b92de4d8f626a9b20c84fc94f4f6a9976edd76e33fb1eae44f6804bdcc628c7b')
- version('5.14.0', sha256='331009037c9cad9fcefacd7dbe9c7cfae25e766f5590f9efd739a294c649df97')
- version('5.13.0', sha256='ec36bbee8b03d9d1c98f8fd88f7dc3415560e559b53eb1aa991c2dcf61b25d2b')
- version('5.12.0', sha256='8dc5da5ef80e4e19993d4c3ef2a84a24cc0e44a5dade83201fca7160a6d352ce')
- version('5.11.0', sha256='bfa8434e6e1e7139a5651203ec1256c8581e2fac3122f907f7d8d25ed3bd5f7e')
-
- variant('java', default=False, description='Enable Java binding')
- variant('lua', default=False, description='Enable Lua binding')
- variant('pango', default=False, description='Enable Pango')
- variant('python', default=False, description='Enable Python binding')
- variant('qt', default=False, description='Enable QT binding')
- variant('tcl', default=True, description='Enable TCL binding')
- variant('wx', default=False, description='Enable WxWidgets')
- variant('wxold', default=False, description='Use WxWidgets old interface')
-
- conflicts('~wx', when='+wxold')
- conflicts('+wxold', when='@:5.11')
-
- depends_on('java', when='+java')
- depends_on('lua', when='+lua')
- depends_on('pango', when='+pango')
- depends_on('py-numpy', type=('build', 'run'), when='+python')
- depends_on('python@2.7:2.8', type=('build', 'run'), when='+python')
- depends_on('qt', when='+qt')
- depends_on('tcl', when='+tcl')
- depends_on('wxwidgets', when='+wx')
- depends_on('libsm', type='link')
-
- depends_on('freetype')
- depends_on('gtkplus')
- depends_on('libx11')
- depends_on('qhull')
- depends_on('swig')
+ url = "https://sourceforge.net/projects/plplot/files/plplot/5.13.0%20Source/plplot-5.13.0.tar.gz/download"
+
+ version("5.15.0", sha256="b92de4d8f626a9b20c84fc94f4f6a9976edd76e33fb1eae44f6804bdcc628c7b")
+ version("5.14.0", sha256="331009037c9cad9fcefacd7dbe9c7cfae25e766f5590f9efd739a294c649df97")
+ version("5.13.0", sha256="ec36bbee8b03d9d1c98f8fd88f7dc3415560e559b53eb1aa991c2dcf61b25d2b")
+ version("5.12.0", sha256="8dc5da5ef80e4e19993d4c3ef2a84a24cc0e44a5dade83201fca7160a6d352ce")
+ version("5.11.0", sha256="bfa8434e6e1e7139a5651203ec1256c8581e2fac3122f907f7d8d25ed3bd5f7e")
+
+ variant("java", default=False, description="Enable Java binding")
+ variant("lua", default=False, description="Enable Lua binding")
+ variant("pango", default=False, description="Enable Pango")
+ variant("python", default=False, description="Enable Python binding")
+ variant("qt", default=False, description="Enable QT binding")
+ variant("tcl", default=True, description="Enable TCL binding")
+ variant("wx", default=False, description="Enable WxWidgets")
+ variant("wxold", default=False, description="Use WxWidgets old interface")
+
+ conflicts("~wx", when="+wxold")
+ conflicts("+wxold", when="@:5.11")
+
+ depends_on("java", when="+java")
+ depends_on("lua", when="+lua")
+ depends_on("pango", when="+pango")
+ depends_on("py-numpy", type=("build", "run"), when="+python")
+ depends_on("python@2.7:2.8", type=("build", "run"), when="+python")
+ depends_on("qt", when="+qt")
+ depends_on("tcl", when="+tcl")
+ depends_on("wxwidgets", when="+wx")
+ depends_on("libsm", type="link")
+
+ depends_on("freetype")
+ depends_on("gtkplus")
+ depends_on("libx11")
+ depends_on("qhull")
+ depends_on("swig")
def cmake_args(self):
args = []
# needs 'tk with wish'
- args += ['-DENABLE_tk=OFF']
+ args += ["-DENABLE_tk=OFF"]
- if '+java' in self.spec:
- args += ['-DENABLE_java=ON']
+ if "+java" in self.spec:
+ args += ["-DENABLE_java=ON"]
else:
- args += ['-DENABLE_java=OFF']
+ args += ["-DENABLE_java=OFF"]
- if '+lua' in self.spec:
- args += ['-DENABLE_lua=ON']
+ if "+lua" in self.spec:
+ args += ["-DENABLE_lua=ON"]
else:
- args += ['-DENABLE_lua=OFF']
+ args += ["-DENABLE_lua=OFF"]
- if '+python' in self.spec:
- args += ['-DENABLE_python=ON']
+ if "+python" in self.spec:
+ args += ["-DENABLE_python=ON"]
else:
- args += ['-DENABLE_python=OFF']
+ args += ["-DENABLE_python=OFF"]
- if '+qt' in self.spec:
- args += ['-DENABLE_qt=ON']
+ if "+qt" in self.spec:
+ args += ["-DENABLE_qt=ON"]
else:
- args += ['-DENABLE_qt=OFF']
+ args += ["-DENABLE_qt=OFF"]
- if '+tcl' in self.spec:
- args += ['-DENABLE_tcl=ON']
+ if "+tcl" in self.spec:
+ args += ["-DENABLE_tcl=ON"]
# could also be addressed by creating the links within tcl
# as is done for the tclsh executable
args += [
- '-DTCL_INCLUDE_PATH={0}/include'.format(
- self.spec['tcl'].headers.directories[0]
+ "-DTCL_INCLUDE_PATH={0}/include".format(self.spec["tcl"].headers.directories[0]),
+ "-DTCL_LIBRARY={0}".format(
+ LibraryList(
+ find_libraries(
+ "libtcl*",
+ self.spec["tcl"].prefix,
+ shared=True,
+ recursive=True,
+ )
+ ),
),
- '-DTCL_LIBRARY={0}'.format(
- LibraryList(find_libraries(
- 'libtcl*',
- self.spec['tcl'].prefix,
- shared=True,
- recursive=True,
- )),
+ "-DTCL_STUB_LIBRARY={0}".format(
+ LibraryList(
+ find_libraries(
+ "libtclstub*",
+ self.spec["tcl"].prefix,
+ shared=False,
+ recursive=True,
+ )
+ ),
),
- '-DTCL_STUB_LIBRARY={0}'.format(
- LibraryList(find_libraries(
- 'libtclstub*',
- self.spec['tcl'].prefix,
- shared=False,
- recursive=True,
- )),
- )
]
else:
- args += ['-DENABLE_tcl=OFF']
+ args += ["-DENABLE_tcl=OFF"]
- if '+wx' in self.spec:
- args += ['-DENABLE_wxwidgets=ON']
- if '+wxold' in self.spec:
- args += ['-DOLD_WXWIDGETS=ON']
+ if "+wx" in self.spec:
+ args += ["-DENABLE_wxwidgets=ON"]
+ if "+wxold" in self.spec:
+ args += ["-DOLD_WXWIDGETS=ON"]
else:
- args += ['-DENABLE_wxwidgets=OFF']
+ args += ["-DENABLE_wxwidgets=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py
index d1466e42ff..a7a1d28fb3 100644
--- a/var/spack/repos/builtin/packages/plumed/package.py
+++ b/var/spack/repos/builtin/packages/plumed/package.py
@@ -22,49 +22,50 @@ class Plumed(AutotoolsPackage):
The software, written in C++, can be easily interfaced with both fortran
and C/C++ codes.
"""
- homepage = 'https://www.plumed.org/'
- url = 'https://github.com/plumed/plumed2/archive/v2.7.4.tar.gz'
- git = 'https://github.com/plumed/plumed2.git'
- maintainers = ['marcodelapierre']
-
- version('master', branch='master')
-
- version('2.8.0', sha256='8357eca6f280125037ad4e7c427f96f2af2f60ddfedce1a2e36e1e1cc3bff32b')
-
- version('2.7.4', sha256='6f5dc16a753c71ed719f17f9cbb61642ab8e716fb7f77e22960dfa145c3b8211')
- version('2.7.3', sha256='aa1f6200c2ed351e40ce4391a9590f171532474b30f384feddfab10e36d7e08e')
- version('2.7.2', sha256='c9a31e68d6440828cf186ca43c9e11a5e5c7ad1c96b2b66ed5a5a141fc954373')
- version('2.7.1', sha256='cb8b5735d8dd61980fa6441f3dde3f33544240ae4177da0f529fb5abb355cd4a')
- version('2.7.0', sha256='14450ea566c25ac9bf71fd77bb9c0c95e9038462b5739c73a515be82e2011cd6')
-
- version('2.6.6', sha256='43a7bb410280141c020363671c685a759d4497b3db3eb3c04899264b51a26859')
- version('2.6.5', sha256='3b72587ba6fe72def46bcc7d917974123279879de7f8335acf542bba57865eed')
- version('2.6.4', sha256='53e49c0db6cc769d238834bea884e856f4e7bb8f71c9929e5584bd977113f03b')
- version('2.6.3', sha256='d05b9e4a4c1329fc932d5bdd04f20419be230f98159bdc012a91716461ab4a2f')
- version('2.6.2', sha256='bbc2ef0cb08d404513b8b737c72333b6656389e15effd6a0f9ace2a5758c9a4a')
- version('2.6.1', sha256='c1b3c397b2d971140aa240dde50e48a04ce78e3dedb02b6dca80fa53f8026e4e')
- version('2.6.0', sha256='3d57ae460607a49547ef38a52c4ac93493a3966857c352280a9c05f5dcdb1820')
-
- version('2.5.7', sha256='aa10d2879c3edeaef9d5a530fe8b05f67ecfbec2e9423e0f95701d0bc54826c7')
- version('2.5.6', sha256='1bc29b0274196fb553cdf7ba8ecb7a93a91d60a920d99863edbcd536d618ce8c')
- version('2.5.5', sha256='70faa9ff1938e286dc388cb793b39840953e5646855b684f48df1bc864b737e8')
- version('2.5.4', sha256='a1647e598191f261e75d06351e607475d395af481315052a4c28563ac9989a7f')
- version('2.5.3', sha256='543288be667dc4201fc461ecd2dd4878ddfbeac682d0c021c99ea8e501c7c9dc')
- version('2.5.2', sha256='85d10cc46e2e37c7719cf51c0931278f56c2c8f8a9d86188b2bf97c2535a2ab4')
- version('2.5.1', sha256='de309980dcfd6f6e0e70e138856f4bd9eb4d8a513906a5e6389f18a5af7f2eba')
- version('2.5.0', sha256='53e08187ec9f8af2326fa84407e34644a7c51d2af93034309fb70675eee5e4f7')
- version('2.4.6', sha256='c22ad19f5cd36ce9fe4ba0b53158fc2a3d985c48fc04606e3f3b3e835b994cb3')
-
- version('2.4.4', sha256='1e5c24109314481fad404da97d61c7339b219e27e120c9c80bacc79c9f6a51a8')
- version('2.4.2', sha256='528ce57f1f5330480bcd403140166a4580efd2acaea39c85dfeca5e2cd649321')
- version('2.4.1', sha256='f00410ebdd739c2ddf55fcd714ff4bd88a1029e02d2fc9cea0b5fca34e0fc4eb')
-
- version('2.3.5', sha256='a6a66ca4582c1aecc6138c96be015e13cd06a718e8446b2f13e610fe34602e4f')
- version('2.3.3', sha256='ac058ff529f207d5b4169fb5a87bdb3c77307dfef1ac543ad8b6c74c5de7fc91')
- version('2.3.0', sha256='b1c8a54a313a0569e27e36420770074f35406453f73de70e55c424652abeddf1')
-
- version('2.2.4', sha256='d7a1dba34a7fe03f23e8d39ab6e15b230c4851373fdceb3602e2de26ea53ce37')
- version('2.2.3', sha256='2db19c5f6a2918833941d0bf47b5431d0865529d786df797ccc966d763ed7b0c')
+
+ homepage = "https://www.plumed.org/"
+ url = "https://github.com/plumed/plumed2/archive/v2.7.4.tar.gz"
+ git = "https://github.com/plumed/plumed2.git"
+ maintainers = ["marcodelapierre"]
+
+ version("master", branch="master")
+
+ version("2.8.0", sha256="8357eca6f280125037ad4e7c427f96f2af2f60ddfedce1a2e36e1e1cc3bff32b")
+
+ version("2.7.4", sha256="6f5dc16a753c71ed719f17f9cbb61642ab8e716fb7f77e22960dfa145c3b8211")
+ version("2.7.3", sha256="aa1f6200c2ed351e40ce4391a9590f171532474b30f384feddfab10e36d7e08e")
+ version("2.7.2", sha256="c9a31e68d6440828cf186ca43c9e11a5e5c7ad1c96b2b66ed5a5a141fc954373")
+ version("2.7.1", sha256="cb8b5735d8dd61980fa6441f3dde3f33544240ae4177da0f529fb5abb355cd4a")
+ version("2.7.0", sha256="14450ea566c25ac9bf71fd77bb9c0c95e9038462b5739c73a515be82e2011cd6")
+
+ version("2.6.6", sha256="43a7bb410280141c020363671c685a759d4497b3db3eb3c04899264b51a26859")
+ version("2.6.5", sha256="3b72587ba6fe72def46bcc7d917974123279879de7f8335acf542bba57865eed")
+ version("2.6.4", sha256="53e49c0db6cc769d238834bea884e856f4e7bb8f71c9929e5584bd977113f03b")
+ version("2.6.3", sha256="d05b9e4a4c1329fc932d5bdd04f20419be230f98159bdc012a91716461ab4a2f")
+ version("2.6.2", sha256="bbc2ef0cb08d404513b8b737c72333b6656389e15effd6a0f9ace2a5758c9a4a")
+ version("2.6.1", sha256="c1b3c397b2d971140aa240dde50e48a04ce78e3dedb02b6dca80fa53f8026e4e")
+ version("2.6.0", sha256="3d57ae460607a49547ef38a52c4ac93493a3966857c352280a9c05f5dcdb1820")
+
+ version("2.5.7", sha256="aa10d2879c3edeaef9d5a530fe8b05f67ecfbec2e9423e0f95701d0bc54826c7")
+ version("2.5.6", sha256="1bc29b0274196fb553cdf7ba8ecb7a93a91d60a920d99863edbcd536d618ce8c")
+ version("2.5.5", sha256="70faa9ff1938e286dc388cb793b39840953e5646855b684f48df1bc864b737e8")
+ version("2.5.4", sha256="a1647e598191f261e75d06351e607475d395af481315052a4c28563ac9989a7f")
+ version("2.5.3", sha256="543288be667dc4201fc461ecd2dd4878ddfbeac682d0c021c99ea8e501c7c9dc")
+ version("2.5.2", sha256="85d10cc46e2e37c7719cf51c0931278f56c2c8f8a9d86188b2bf97c2535a2ab4")
+ version("2.5.1", sha256="de309980dcfd6f6e0e70e138856f4bd9eb4d8a513906a5e6389f18a5af7f2eba")
+ version("2.5.0", sha256="53e08187ec9f8af2326fa84407e34644a7c51d2af93034309fb70675eee5e4f7")
+ version("2.4.6", sha256="c22ad19f5cd36ce9fe4ba0b53158fc2a3d985c48fc04606e3f3b3e835b994cb3")
+
+ version("2.4.4", sha256="1e5c24109314481fad404da97d61c7339b219e27e120c9c80bacc79c9f6a51a8")
+ version("2.4.2", sha256="528ce57f1f5330480bcd403140166a4580efd2acaea39c85dfeca5e2cd649321")
+ version("2.4.1", sha256="f00410ebdd739c2ddf55fcd714ff4bd88a1029e02d2fc9cea0b5fca34e0fc4eb")
+
+ version("2.3.5", sha256="a6a66ca4582c1aecc6138c96be015e13cd06a718e8446b2f13e610fe34602e4f")
+ version("2.3.3", sha256="ac058ff529f207d5b4169fb5a87bdb3c77307dfef1ac543ad8b6c74c5de7fc91")
+ version("2.3.0", sha256="b1c8a54a313a0569e27e36420770074f35406453f73de70e55c424652abeddf1")
+
+ version("2.2.4", sha256="d7a1dba34a7fe03f23e8d39ab6e15b230c4851373fdceb3602e2de26ea53ce37")
+ version("2.2.3", sha256="2db19c5f6a2918833941d0bf47b5431d0865529d786df797ccc966d763ed7b0c")
# Variants. PLUMED by default builds a number of optional modules.
# The ones listed here are not built by default for various reasons,
@@ -84,72 +85,80 @@ class Plumed(AutotoolsPackage):
# https://www.plumed.org/doc-v2.8/user-doc/html/mymodules.html
# These are implemented using multi-valued variants (`disjoint_sets`),
# and the `conditional` option to handle version conflicts.
- single_optional_modules = (conditional('adjmat', when='@2.3:'),
- 'analysis',
- conditional('annfunc', when='@2.6:'),
- 'bias', 'cltools', 'colvar', 'crystallization',
- conditional('dimred', when='@2.5:'),
- conditional('drr', when='@2.4:'),
- conditional('eds', when='@2.4:'),
- conditional('fisst', when='@2.7:'),
- 'function',
- conditional('funnel', when='@2.7:'),
- 'generic',
- conditional('imd', when='@:2.2.99'),
- conditional('isdb', when='@2.4:'),
- conditional('logmfd', when='@2.5:'),
- 'manyrestraints', 'mapping',
- conditional('maze', when='@2.6:'),
- 'molfile',
- 'multicolvar',
- conditional('opes', when='@2.7:'),
- conditional('pamm',
- when='@2.5: optional_modules=adjmat'),
- conditional('piv', when='@2.5:'),
- conditional('reference', when='@:2.2.99'),
- conditional('s2cm', when='@2.8:'),
- conditional('sasa', when='@2.8:'),
- 'secondarystructure', 'setup', 'vatom',
- conditional('ves', when='@2.4:'),
- conditional('vesselbase', when='@:2.2.99'),
- conditional('xdrfile', when='@2.8:'))
+ single_optional_modules = (
+ conditional("adjmat", when="@2.3:"),
+ "analysis",
+ conditional("annfunc", when="@2.6:"),
+ "bias",
+ "cltools",
+ "colvar",
+ "crystallization",
+ conditional("dimred", when="@2.5:"),
+ conditional("drr", when="@2.4:"),
+ conditional("eds", when="@2.4:"),
+ conditional("fisst", when="@2.7:"),
+ "function",
+ conditional("funnel", when="@2.7:"),
+ "generic",
+ conditional("imd", when="@:2.2.99"),
+ conditional("isdb", when="@2.4:"),
+ conditional("logmfd", when="@2.5:"),
+ "manyrestraints",
+ "mapping",
+ conditional("maze", when="@2.6:"),
+ "molfile",
+ "multicolvar",
+ conditional("opes", when="@2.7:"),
+ conditional("pamm", when="@2.5: optional_modules=adjmat"),
+ conditional("piv", when="@2.5:"),
+ conditional("reference", when="@:2.2.99"),
+ conditional("s2cm", when="@2.8:"),
+ conditional("sasa", when="@2.8:"),
+ "secondarystructure",
+ "setup",
+ "vatom",
+ conditional("ves", when="@2.4:"),
+ conditional("vesselbase", when="@:2.2.99"),
+ conditional("xdrfile", when="@2.8:"),
+ )
variant(
- 'optional_modules',
- values=disjoint_sets(
- ('all',),
- ('reset',),
- single_optional_modules
- ).prohibit_empty_set().with_default('all'),
- description='Activates optional modules: all, reset, or custom list (advanced)'
+ "optional_modules",
+ values=disjoint_sets(("all",), ("reset",), single_optional_modules)
+ .prohibit_empty_set()
+ .with_default("all"),
+ description="Activates optional modules: all, reset, or custom list (advanced)",
)
- variant('shared', default=True, description='Builds shared libraries')
- variant('mpi', default=True, description='Activates MPI support')
- variant('gsl', default=True, description='Activates GSL support')
- variant('arrayfire', default='none',
- values=('none', 'cpu', 'cuda', 'opencl'),
- description='Activates FireArray support')
+ variant("shared", default=True, description="Builds shared libraries")
+ variant("mpi", default=True, description="Activates MPI support")
+ variant("gsl", default=True, description="Activates GSL support")
+ variant(
+ "arrayfire",
+ default="none",
+ values=("none", "cpu", "cuda", "opencl"),
+ description="Activates FireArray support",
+ )
# Dependencies. LAPACK and BLAS are recommended but not essential.
- depends_on('zlib')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("zlib")
+ depends_on("blas")
+ depends_on("lapack")
# For libmatheval support through the 'function' module
# which is enabled by default (or when optional_modules=all)
- depends_on('libmatheval', when='@:2.4')
- depends_on('arrayfire', when='arrayfire=cpu')
- depends_on('arrayfire+cuda', when='arrayfire=cuda')
- depends_on('arrayfire+opencl', when='arrayfire=opencl')
+ depends_on("libmatheval", when="@:2.4")
+ depends_on("arrayfire", when="arrayfire=cpu")
+ depends_on("arrayfire+cuda", when="arrayfire=cuda")
+ depends_on("arrayfire+opencl", when="arrayfire=opencl")
- depends_on('mpi', when='+mpi')
- depends_on('gsl', when='+gsl')
+ depends_on("mpi", when="+mpi")
+ depends_on("gsl", when="+gsl")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('py-cython', type='build', when='@2.5:')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("py-cython", type="build", when="@2.5:")
force_autoreconf = True
@@ -158,59 +167,58 @@ class Plumed(AutotoolsPackage):
def apply_patch(self, other):
# The name of MD engines differ slightly from the ones used in Spack
- format_strings = collections.defaultdict(
- lambda: '{0.name}-{0.version}'
- )
- format_strings['espresso'] = 'q{0.name}-{0.version}'
- format_strings['amber'] = '{0.name}{0.version}'
+ format_strings = collections.defaultdict(lambda: "{0.name}-{0.version}")
+ format_strings["espresso"] = "q{0.name}-{0.version}"
+ format_strings["amber"] = "{0.name}{0.version}"
get_md = lambda x: format_strings[x.name].format(x)
# Get available patches
- plumed_patch = Executable(
- os.path.join(self.spec.prefix.bin, 'plumed-patch')
- )
+ plumed_patch = Executable(os.path.join(self.spec.prefix.bin, "plumed-patch"))
- out = plumed_patch('-q', '-l', output=str)
- available = out.split(':')[-1].split()
+ out = plumed_patch("-q", "-l", output=str)
+ available = out.split(":")[-1].split()
# Check that `other` is among the patchable applications
if get_md(other) not in available:
- msg = '{0.name}@{0.version} is not among the MD engine'
- msg += ' that can be patched by {1.name}@{1.version}.\n'
- msg += 'Supported engines are:\n'
+ msg = "{0.name}@{0.version} is not among the MD engine"
+ msg += " that can be patched by {1.name}@{1.version}.\n"
+ msg += "Supported engines are:\n"
for x in available:
- msg += x + '\n'
+ msg += x + "\n"
raise RuntimeError(msg.format(other, self.spec))
# Call plumed-patch to patch executables
target = format_strings[other.name].format(other)
- plumed_patch('-p', '-e', target)
+ plumed_patch("-p", "-e", target)
def setup_dependent_package(self, module, dependent_spec):
# Make plumed visible from dependent packages
- module.plumed = dependent_spec['plumed'].command
+ module.plumed = dependent_spec["plumed"].command
@property
def plumed_inc(self):
- return os.path.join(
- self.prefix.lib, 'plumed', 'src', 'lib', 'Plumed.inc'
- )
+ return os.path.join(self.prefix.lib, "plumed", "src", "lib", "Plumed.inc")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def filter_gslcblas(self):
# This part is needed to avoid linking with gsl cblas
# interface which will mask the cblas interface
# provided by optimized libraries due to linking order
- filter_file('-lgslcblas', '', 'configure.ac')
+ filter_file("-lgslcblas", "", "configure.ac")
def patch(self):
# Ensure Spack's wrappers are used to compile the Python interface
- env = 'CXX={0} LDSHARED="{0} -pthread -shared" ' \
- 'LDCXXSHARED="{0} -pthread -shared"'.format(spack_cxx)
- filter_file('plumed_program_name=plumed',
- '{0} plumed_program_name=plumed'.format(env),
- 'src/lib/Makefile', 'python/Makefile')
+ env = (
+ 'CXX={0} LDSHARED="{0} -pthread -shared" '
+ 'LDCXXSHARED="{0} -pthread -shared"'.format(spack_cxx)
+ )
+ filter_file(
+ "plumed_program_name=plumed",
+ "{0} plumed_program_name=plumed".format(env),
+ "src/lib/Makefile",
+ "python/Makefile",
+ )
def configure_args(self):
spec = self.spec
@@ -227,62 +235,55 @@ class Plumed(AutotoolsPackage):
# The configure.ac script may detect the wrong linker for
# LD_RO which causes issues at link time. Here we work around
# the issue saying we have no LD_RO executable.
- configure_opts = ['--disable-ld-r']
+ configure_opts = ["--disable-ld-r"]
# If using MPI then ensure the correct compiler wrapper is used.
- if '+mpi' in spec:
- configure_opts.extend([
- '--enable-mpi',
- 'CXX={0}'.format(spec['mpi'].mpicxx)
- ])
+ if "+mpi" in spec:
+ configure_opts.extend(["--enable-mpi", "CXX={0}".format(spec["mpi"].mpicxx)])
# If the MPI dependency is provided by the intel-mpi package then
# the following additional argument is required to allow it to
# build.
- if 'intel-mpi' in spec:
- configure_opts.extend([
- 'STATIC_LIBS=-mt_mpi'
- ])
+ if "intel-mpi" in spec:
+ configure_opts.extend(["STATIC_LIBS=-mt_mpi"])
extra_libs = []
# Set flags to help find gsl
- if '+gsl' in spec:
- gsl_libs = spec['gsl'].libs
- blas_libs = spec['blas'].libs
- extra_libs.append(
- (gsl_libs + blas_libs).ld_flags
- )
+ if "+gsl" in spec:
+ gsl_libs = spec["gsl"].libs
+ blas_libs = spec["blas"].libs
+ extra_libs.append((gsl_libs + blas_libs).ld_flags)
# Set flags to help with ArrayFire
- if 'arrayfire=none' not in spec:
- libaf = 'arrayfire:{0}'.format(spec.variants['arrayfire'].value)
+ if "arrayfire=none" not in spec:
+ libaf = "arrayfire:{0}".format(spec.variants["arrayfire"].value)
extra_libs.append(spec[libaf].libs.search_flags)
if extra_libs:
- configure_opts.append('LDFLAGS={0}'.format(
- ' '.join(extra_libs)
- ))
+ configure_opts.append("LDFLAGS={0}".format(" ".join(extra_libs)))
# Additional arguments
- configure_opts.extend([
- '--enable-shared={0}'.format('yes' if '+shared' in spec else 'no'),
- '--enable-gsl={0}'.format('yes' if '+gsl' in spec else 'no'),
- '--enable-af_cpu={0}'.format('yes' if 'arrayfire=cpu' in spec else 'no'),
- '--enable-af_cuda={0}'.format('yes' if 'arrayfire=cuda' in spec else 'no'),
- '--enable-af_ocl={0}'.format('yes' if 'arrayfire=ocl' in spec else 'no')
- ])
+ configure_opts.extend(
+ [
+ "--enable-shared={0}".format("yes" if "+shared" in spec else "no"),
+ "--enable-gsl={0}".format("yes" if "+gsl" in spec else "no"),
+ "--enable-af_cpu={0}".format("yes" if "arrayfire=cpu" in spec else "no"),
+ "--enable-af_cuda={0}".format("yes" if "arrayfire=cuda" in spec else "no"),
+ "--enable-af_ocl={0}".format("yes" if "arrayfire=ocl" in spec else "no"),
+ ]
+ )
# Construct list of optional modules
- optional_modules = self.spec.variants['optional_modules'].value
+ optional_modules = self.spec.variants["optional_modules"].value
# Predefined set of modules
- if 'all' in optional_modules:
- selected_modules = 'all'
- elif 'reset' in optional_modules:
- selected_modules = 'reset'
+ if "all" in optional_modules:
+ selected_modules = "all"
+ elif "reset" in optional_modules:
+ selected_modules = "reset"
# Custom set of modules
else:
- selected_modules = 'none'
+ selected_modules = "none"
for mod in optional_modules:
- selected_modules += ':+{0}'.format(mod)
- configure_opts.append('--enable-modules={0}'.format(selected_modules))
+ selected_modules += ":+{0}".format(mod)
+ configure_opts.append("--enable-modules={0}".format(selected_modules))
return configure_opts
diff --git a/var/spack/repos/builtin/packages/ply/package.py b/var/spack/repos/builtin/packages/ply/package.py
index 3e0d2aaaea..ee6448d6de 100644
--- a/var/spack/repos/builtin/packages/ply/package.py
+++ b/var/spack/repos/builtin/packages/ply/package.py
@@ -12,15 +12,15 @@ class Ply(AutotoolsPackage):
probes to arbitrary points in the kernel."""
homepage = "https://github.com/iovisor/ply"
- git = "https://github.com/iovisor/ply.git"
+ git = "https://github.com/iovisor/ply.git"
- version('2.1.1', commit='899afb0c35ba2191dd7aa21f13bc7fde2655c475')
+ version("2.1.1", commit="899afb0c35ba2191dd7aa21f13bc7fde2655c475")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
bash = which("bash")
- bash('./autogen.sh')
+ bash("./autogen.sh")
diff --git a/var/spack/repos/builtin/packages/pmdk/package.py b/var/spack/repos/builtin/packages/pmdk/package.py
index 9a3caa0467..3a0b810f59 100644
--- a/var/spack/repos/builtin/packages/pmdk/package.py
+++ b/var/spack/repos/builtin/packages/pmdk/package.py
@@ -13,46 +13,46 @@ class Pmdk(Package):
"""
homepage = "https://pmem.io/pmdk/"
- url = "https://github.com/pmem/pmdk/archive/1.5.tar.gz"
- git = "https://github.com/pmem/pmdk.git"
-
- version('master', branch='master')
- version('1.11.0', sha256='bfbc82e6bfd788c8bcb380da76172b83732d12775a719c9c423eb2fadc78bb3a')
- version('1.10', sha256='06edcd43ef267c4cc70754d5d1a5d88aeb9f2086bc014bf2594df4c5efd8cc4e')
- version('1.9.2', sha256='6bca98ecf9e036603951024b7436d688cd1907b2d8c428373697fafff4096a4f')
- version('1.9.1', sha256='3d0ea15099d6dc7b454a67ecd0ed04d7426ff05ee0331a221cb384e293d841f0')
- version('1.9', sha256='2c8a148070f4bbf9f82e2ca63d2f84cb5101fc6e72c1ba93cc673ca3b7b95467')
- version('1.8.1', sha256='ee4e93bbf29976eac2444e4eb04a862f38b8446f7400f8f7cdcf58febf6f6ba2')
- version('1.8', sha256='a241ea76ef76d233cb92826b6823ed48091a2fb6963282a4fea848dbce68aa21')
- version('1.7.1', sha256='7e98c0522a3e96b64822902c66024e24455f4742246c679cc0f46036ef4685bc')
- version('1.7', sha256='865ce1b422bc83109cb4a63dcff8fd1077eea3617e668faf6a043208d8be03ca')
- version('1.6', sha256='3b99e6c30709326a94d2e73a9247a8dfb58d0a394c5b7714e5c3d8a3ad2e2e9f')
- version('1.5', sha256='6b069d7207febeb62440e89245e8b18fcdf40b6170d2ec2ef33c252ed16db2d4')
-
- variant('ndctl', default=False, description='Build components requiring ndctl')
- variant('doc', default=False, description='Build documentation')
- variant('experimental', default=False, description='Build experimental stuff')
- variant('rpmem', default=False, description='Build remote persistent memory components')
-
- depends_on('ncurses', when='@1.6:')
- depends_on('libfabric', when='+rpmem')
+ url = "https://github.com/pmem/pmdk/archive/1.5.tar.gz"
+ git = "https://github.com/pmem/pmdk.git"
+
+ version("master", branch="master")
+ version("1.11.0", sha256="bfbc82e6bfd788c8bcb380da76172b83732d12775a719c9c423eb2fadc78bb3a")
+ version("1.10", sha256="06edcd43ef267c4cc70754d5d1a5d88aeb9f2086bc014bf2594df4c5efd8cc4e")
+ version("1.9.2", sha256="6bca98ecf9e036603951024b7436d688cd1907b2d8c428373697fafff4096a4f")
+ version("1.9.1", sha256="3d0ea15099d6dc7b454a67ecd0ed04d7426ff05ee0331a221cb384e293d841f0")
+ version("1.9", sha256="2c8a148070f4bbf9f82e2ca63d2f84cb5101fc6e72c1ba93cc673ca3b7b95467")
+ version("1.8.1", sha256="ee4e93bbf29976eac2444e4eb04a862f38b8446f7400f8f7cdcf58febf6f6ba2")
+ version("1.8", sha256="a241ea76ef76d233cb92826b6823ed48091a2fb6963282a4fea848dbce68aa21")
+ version("1.7.1", sha256="7e98c0522a3e96b64822902c66024e24455f4742246c679cc0f46036ef4685bc")
+ version("1.7", sha256="865ce1b422bc83109cb4a63dcff8fd1077eea3617e668faf6a043208d8be03ca")
+ version("1.6", sha256="3b99e6c30709326a94d2e73a9247a8dfb58d0a394c5b7714e5c3d8a3ad2e2e9f")
+ version("1.5", sha256="6b069d7207febeb62440e89245e8b18fcdf40b6170d2ec2ef33c252ed16db2d4")
+
+ variant("ndctl", default=False, description="Build components requiring ndctl")
+ variant("doc", default=False, description="Build documentation")
+ variant("experimental", default=False, description="Build experimental stuff")
+ variant("rpmem", default=False, description="Build remote persistent memory components")
+
+ depends_on("ncurses", when="@1.6:")
+ depends_on("libfabric", when="+rpmem")
# documentation requires doxygen and a bunch of other dependencies
- patch('0001-make-doc-building-explicit.patch', when="@:1.7")
- patch('pmem-1.8-disable-docs.patch', when='@1.8')
+ patch("0001-make-doc-building-explicit.patch", when="@:1.7")
+ patch("pmem-1.8-disable-docs.patch", when="@1.8")
def install(self, spec, prefix):
make_args = [
- 'prefix=%s' % prefix,
- 'EXTRA_CFLAGS=-Wno-error',
- 'NDCTL_ENABLE={0}'.format('y' if '+ndctl' in spec else 'n'),
- 'BUILD_RPMEM={0}'.format('y' if '+rpmem' in spec else 'n'),
- 'DOC={0}'.format('y' if '+doc' in spec else 'n'),
- 'EXPERIMENTAL={0}'.format('y' if '+experimental' in spec else 'n'),
+ "prefix=%s" % prefix,
+ "EXTRA_CFLAGS=-Wno-error",
+ "NDCTL_ENABLE={0}".format("y" if "+ndctl" in spec else "n"),
+ "BUILD_RPMEM={0}".format("y" if "+rpmem" in spec else "n"),
+ "DOC={0}".format("y" if "+doc" in spec else "n"),
+ "EXPERIMENTAL={0}".format("y" if "+experimental" in spec else "n"),
]
# pmdk prior to 1.8 was particular about the ARCH specification, must
# be exactly "x86_64" for build to work
- if spec.target.family == 'x86_64':
- make_args += ['ARCH=x86_64']
+ if spec.target.family == "x86_64":
+ make_args += ["ARCH=x86_64"]
make("install", *make_args)
diff --git a/var/spack/repos/builtin/packages/pmemkv/package.py b/var/spack/repos/builtin/packages/pmemkv/package.py
index 0c9b0a7780..7ab5004b7a 100644
--- a/var/spack/repos/builtin/packages/pmemkv/package.py
+++ b/var/spack/repos/builtin/packages/pmemkv/package.py
@@ -12,77 +12,77 @@ class Pmemkv(CMakePackage):
"""
homepage = "https://pmem.io/pmemkv/"
- url = "https://github.com/pmem/pmemkv/archive/1.4.tar.gz"
- git = "https://github.com/pmem/pmemkv.git"
+ url = "https://github.com/pmem/pmemkv/archive/1.4.tar.gz"
+ git = "https://github.com/pmem/pmemkv.git"
- version('master', branch='master')
- version('1.4', sha256='6630917e0203eff7a520071c858baa7b7e108088da2fe8c4b31ec5f8c661fbe9')
- version('1.3', sha256='f1b946ef3545bcc2751fa2e4faab0538cd3072b66d4c4575f21712e0cc53bae8')
- version('1.2', sha256='22de74392e0a6eea5aa1955ed2d59462bf45ec69a01eb1cf2115e39e7bdc4754')
- version('1.1', sha256='c4ca07c1fecad39b5dbf197673f033f27d74c9f9987f036f6eaf5c7f23a342f3')
- version('1.0.3', sha256='cae393a01ba69364271c5894046bf2c611f677ac88012f2473fadf6fcd20ff29')
- version('1.0.2', sha256='a0cbbb60c0342d6fd0b73d2cee1a1423c6a894b8d21daf669016809961fe23b8')
+ version("master", branch="master")
+ version("1.4", sha256="6630917e0203eff7a520071c858baa7b7e108088da2fe8c4b31ec5f8c661fbe9")
+ version("1.3", sha256="f1b946ef3545bcc2751fa2e4faab0538cd3072b66d4c4575f21712e0cc53bae8")
+ version("1.2", sha256="22de74392e0a6eea5aa1955ed2d59462bf45ec69a01eb1cf2115e39e7bdc4754")
+ version("1.1", sha256="c4ca07c1fecad39b5dbf197673f033f27d74c9f9987f036f6eaf5c7f23a342f3")
+ version("1.0.3", sha256="cae393a01ba69364271c5894046bf2c611f677ac88012f2473fadf6fcd20ff29")
+ version("1.0.2", sha256="a0cbbb60c0342d6fd0b73d2cee1a1423c6a894b8d21daf669016809961fe23b8")
- depends_on('libpmemobj-cpp@develop', when='@master')
- depends_on('libpmemobj-cpp@1.12:', when='@1.4:')
- depends_on('libpmemobj-cpp@1.11:', when='@1.3:')
- depends_on('libpmemobj-cpp@1.10:', when='@1.2:')
- depends_on('libpmemobj-cpp@1.9:', when='@1.1:')
- depends_on('libpmemobj-cpp@1.8:', when='@1.0.2:')
+ depends_on("libpmemobj-cpp@develop", when="@master")
+ depends_on("libpmemobj-cpp@1.12:", when="@1.4:")
+ depends_on("libpmemobj-cpp@1.11:", when="@1.3:")
+ depends_on("libpmemobj-cpp@1.10:", when="@1.2:")
+ depends_on("libpmemobj-cpp@1.9:", when="@1.1:")
+ depends_on("libpmemobj-cpp@1.8:", when="@1.0.2:")
- depends_on('pmdk@master', when='@master')
- depends_on('pmdk@master', when='@1.4:')
- depends_on('pmdk@1.8:', when='@1.1:')
- depends_on('pmdk@1.7:', when='@1.0.2:')
+ depends_on("pmdk@master", when="@master")
+ depends_on("pmdk@master", when="@1.4:")
+ depends_on("pmdk@1.8:", when="@1.1:")
+ depends_on("pmdk@1.7:", when="@1.0.2:")
- depends_on('memkind@1.8.0:')
+ depends_on("memkind@1.8.0:")
- depends_on('rapidjson')
+ depends_on("rapidjson")
# tbb is one of virtual dependencies.
# Please refer https://spack.readthedocs.io/en/latest/packaging_guide.html#virtual-dependencies
# we can use any packages which provides 'tbb'
# For example, 'intel-tbb' or 'intel-oneapi-tbb'
# Default is 'intel-tbb' (etc/spack/defaults/packages.yaml)
- depends_on('tbb')
+ depends_on("tbb")
- depends_on('cmake@3.3:')
+ depends_on("cmake@3.3:")
- variant('cmap', default=True, description='enable cmap engine.')
- variant('vcmap', default=True, description='enable vcmap engine.')
- variant('vsmap', default=True, description='enable vsmap engine.')
- variant('csmap', default=False, description='enable experimental csmap engine.')
- variant('stree', default=True, description='enable experimental stree engine.')
- variant('tree3', default=False, description='enable experimental tree3 engine.')
- variant('radix', default=False, description='enable experimental radix engine.')
- variant('robinhood', default=False, description='enable experimental robinhood engine.')
- variant('dram_vcmap', default=False, description='enable testing dram_vcmap engine.')
+ variant("cmap", default=True, description="enable cmap engine.")
+ variant("vcmap", default=True, description="enable vcmap engine.")
+ variant("vsmap", default=True, description="enable vsmap engine.")
+ variant("csmap", default=False, description="enable experimental csmap engine.")
+ variant("stree", default=True, description="enable experimental stree engine.")
+ variant("tree3", default=False, description="enable experimental tree3 engine.")
+ variant("radix", default=False, description="enable experimental radix engine.")
+ variant("robinhood", default=False, description="enable experimental robinhood engine.")
+ variant("dram_vcmap", default=False, description="enable testing dram_vcmap engine.")
def cmake_args(self):
spec = self.spec
args = [
- self.define('BUILD_DOC', False),
- self.define('BUILD_EXAMPLES', False),
- self.define('BUILD_TESTS', False),
- self.define('BUILD_JSON_CONFIG', True),
- self.define('TESTS_LONG', False),
- self.define('TESTS_USE_FORCED_PMEM', False),
- self.define('TESTS_USE_VALGRIND', False),
- self.define('TESTS_PMEMOBJ_DRD_HELGRIND', False),
- self.define('TESTS_JSON', False),
- self.define_from_variant('ENGINE_CMAP', 'cmap'),
- self.define_from_variant('ENGINE_VCMAP', 'vcmap'),
- self.define_from_variant('ENGINE_VSMAP', 'vsmap'),
- self.define_from_variant('ENGINE_CSMAP', 'csmap'),
- self.define_from_variant('ENGINE_STREE', 'stree'),
- self.define_from_variant('ENGINE_TREE3', 'tree3'),
- self.define_from_variant('ENGINE_RADIX', 'radix'),
- self.define_from_variant('ENGINE_ROBINHOOD', 'robinhood'),
- self.define_from_variant('ENGINE_DRAM_VCMAP', 'dram_vcmap'),
+ self.define("BUILD_DOC", False),
+ self.define("BUILD_EXAMPLES", False),
+ self.define("BUILD_TESTS", False),
+ self.define("BUILD_JSON_CONFIG", True),
+ self.define("TESTS_LONG", False),
+ self.define("TESTS_USE_FORCED_PMEM", False),
+ self.define("TESTS_USE_VALGRIND", False),
+ self.define("TESTS_PMEMOBJ_DRD_HELGRIND", False),
+ self.define("TESTS_JSON", False),
+ self.define_from_variant("ENGINE_CMAP", "cmap"),
+ self.define_from_variant("ENGINE_VCMAP", "vcmap"),
+ self.define_from_variant("ENGINE_VSMAP", "vsmap"),
+ self.define_from_variant("ENGINE_CSMAP", "csmap"),
+ self.define_from_variant("ENGINE_STREE", "stree"),
+ self.define_from_variant("ENGINE_TREE3", "tree3"),
+ self.define_from_variant("ENGINE_RADIX", "radix"),
+ self.define_from_variant("ENGINE_ROBINHOOD", "robinhood"),
+ self.define_from_variant("ENGINE_DRAM_VCMAP", "dram_vcmap"),
]
- if ('+csmap' in spec) or ('+robinhood' in spec):
- args.append(self.define('CXX_STANDARD', 14))
+ if ("+csmap" in spec) or ("+robinhood" in spec):
+ args.append(self.define("CXX_STANDARD", 14))
return args
diff --git a/var/spack/repos/builtin/packages/pmerge/package.py b/var/spack/repos/builtin/packages/pmerge/package.py
index 2369d0895f..b297d377a5 100644
--- a/var/spack/repos/builtin/packages/pmerge/package.py
+++ b/var/spack/repos/builtin/packages/pmerge/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Pmerge(AutotoolsPackage):
"""PMERGE implements a new method that identifies candidate PSVs by
- building networks of loci that share high levels of nucleotide
- similarity. The PMERGE is embedded in the analysis pipeline of the
- widely used Stacks software, and it is straightforward to apply it as
- an additional filter in population-genomic studies using RAD-seq
- data."""
+ building networks of loci that share high levels of nucleotide
+ similarity. The PMERGE is embedded in the analysis pipeline of the
+ widely used Stacks software, and it is straightforward to apply it as
+ an additional filter in population-genomic studies using RAD-seq
+ data."""
homepage = "https://github.com/beiko-lab/PMERGE"
- git = "https://github.com/beiko-lab/PMERGE.git"
+ git = "https://github.com/beiko-lab/PMERGE.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('automake@1.14.0:1.14', type='build')
- depends_on('autoconf', type='build')
- depends_on('m4', type='build')
- depends_on('perl', type='build')
+ depends_on("automake@1.14.0:1.14", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("m4", type="build")
+ depends_on("perl", type="build")
@property
def configure_directory(self):
- return 'Install'
+ return "Install"
diff --git a/var/spack/repos/builtin/packages/pmgr-collective/package.py b/var/spack/repos/builtin/packages/pmgr-collective/package.py
index 867b6459d1..4556dcc22c 100644
--- a/var/spack/repos/builtin/packages/pmgr-collective/package.py
+++ b/var/spack/repos/builtin/packages/pmgr-collective/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class PmgrCollective(Package):
"""PMGR_COLLECTIVE provides a scalable network for bootstrapping
- MPI jobs."""
+ MPI jobs."""
+
homepage = "https://www.sourceforge.net/projects/pmgrcollective"
- url = "http://downloads.sourceforge.net/project/pmgrcollective/pmgrcollective/PMGR_COLLECTIVE-1.0/pmgr_collective-1.0.tgz"
+ url = "http://downloads.sourceforge.net/project/pmgrcollective/pmgrcollective/PMGR_COLLECTIVE-1.0/pmgr_collective-1.0.tgz"
- version('1.0', sha256='c8022d1128ce5e8f637166af6e55c13700e665550e468b8cdb1531441c6bb7f5')
+ version("1.0", sha256="c8022d1128ce5e8f637166af6e55c13700e665550e468b8cdb1531441c6bb7f5")
def install(self, spec, prefix):
make('PREFIX="' + prefix + '"')
diff --git a/var/spack/repos/builtin/packages/pmix/package.py b/var/spack/repos/builtin/packages/pmix/package.py
index 1322b73f5f..40f5dd14f0 100644
--- a/var/spack/repos/builtin/packages/pmix/package.py
+++ b/var/spack/repos/builtin/packages/pmix/package.py
@@ -9,79 +9,80 @@ from spack.package import *
class Pmix(AutotoolsPackage):
"""The Process Management Interface (PMI) has been used for quite some
- time as a means of exchanging wireup information needed for
- interprocess communication. However, meeting the significant
- orchestration challenges presented by exascale systems requires
- that the process-to-system interface evolve to permit a tighter
- integration between the different components of the parallel
- application and existing and future SMS solutions.
-
- PMI Exascale (PMIx) addresses these needs by providing an extended
- version of the PMI definitions specifically designed to support
- exascale and beyond environments by: (a) adding flexibility to the
- functionality expressed in the existing APIs, (b) augmenting the
- interfaces with new APIs that provide extended capabilities, (c)
- forging a collaboration between subsystem providers including
- resource manager, fabric, file system, and programming library
- developers, (d) establishing a standards-like body for maintaining
- the definitions, and (e) providing a reference implementation of the
- PMIx standard that demonstrates the desired level of scalability
- while maintaining strict separation between it and the standard
- itself."""
+ time as a means of exchanging wireup information needed for
+ interprocess communication. However, meeting the significant
+ orchestration challenges presented by exascale systems requires
+ that the process-to-system interface evolve to permit a tighter
+ integration between the different components of the parallel
+ application and existing and future SMS solutions.
+
+ PMI Exascale (PMIx) addresses these needs by providing an extended
+ version of the PMI definitions specifically designed to support
+ exascale and beyond environments by: (a) adding flexibility to the
+ functionality expressed in the existing APIs, (b) augmenting the
+ interfaces with new APIs that provide extended capabilities, (c)
+ forging a collaboration between subsystem providers including
+ resource manager, fabric, file system, and programming library
+ developers, (d) establishing a standards-like body for maintaining
+ the definitions, and (e) providing a reference implementation of the
+ PMIx standard that demonstrates the desired level of scalability
+ while maintaining strict separation between it and the standard
+ itself."""
homepage = "https://pmix.org"
- url = "https://github.com/pmix/pmix/releases/download/v3.1.3/pmix-3.1.3.tar.bz2"
- git = "https://github.com/openpmix/openpmix.git"
- maintainers = ['rhc54']
-
- version('master', branch='master')
- version('4.1.2', sha256='670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a')
- version('4.1.1', sha256='0527a15d616637b95975d238bbc100b244894518fbba822cd8f46589ca61ccec')
- version('4.1.0', sha256='145f05a6c621bfb3fc434776b615d7e6d53260cc9ba340a01f55b383e07c842e')
- version('3.2.3', sha256='9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135')
- version('3.2.2', sha256='7e7fafe2b338dab42a94002d99330a5bb0ebbdd06381ec65953a87c94db3dd23')
- version('3.2.1', sha256='7e5db8ada5828cf85c12f70db6bfcf777d13e5c4c73b2206bb5e394d47066a2b')
- version('3.1.6', sha256='3df0e0cb0cae67b59edba1d90f55d73467be8404874fe89056690739e039a840')
- version('3.1.5', sha256='88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7')
- version('3.1.3', sha256='118acb9c4e10c4e481406dcffdfa762f314af50db75336bf8460e53b56dc439d')
- version('3.1.2', sha256='28aed0392d4ca2cdfbdd721e6210c94dadc9830677fea37a0abe9d592c00f9c3')
- version('3.0.2', sha256='df68f35a3ed9517eeade80b13855cebad8fde2772b36a3f6be87559b6d430670')
- version('3.0.1', sha256='b81055d2c0d61ef5a451b63debc39c820bcd530490e2e4dcb4cdbacb618c157c')
- version('3.0.0', sha256='ee8f68107c24b706237a53333d832445315ae37de6773c5413d7fda415a6e2ee')
- version('2.2.3', sha256='6fa5d45eb089e29101190c645e986342a24a03a4ea3a936db0b120aafa45b1f0')
- version('2.2.2', sha256='cd951dbda623fadc5b32ae149d8cc41f9462eac4d718d089340911b1a7c20714')
- version('2.1.4', sha256='eb72d292e76e200f02cf162a477eecea2559ef3ac2edf50ee95b3fe3983d033e')
- version('2.1.3', sha256='281283133498e7e5999ed5c6557542c22408bc9eb51ecbcf7696160616782a41')
- version('2.1.2', sha256='94bb9c801c51a6caa1b8cef2b85ecf67703a5dfa4d79262e6668c37c744bb643')
- version('2.0.1', sha256='ba6e0f32936b1859741adb221e18b2c1ee7dc53a6b374b9f7831adf1692b15fd')
- version('1.2.5', sha256='a2b02d489ee730c06ee40e7f9ffcebb6c35bcb4f95153fab7c4276a3add6ae31')
-
- variant('pmi_backwards_compatibility',
- default=True,
- description="Toggle pmi backwards compatibility")
-
- variant('restful',
- default=False,
- when='@4:',
- description="allow a PMIx server to request services from "
- "a system-level REST server")
-
- variant('docs',
- default=False,
- description='Build manpages')
+ url = "https://github.com/pmix/pmix/releases/download/v3.1.3/pmix-3.1.3.tar.bz2"
+ git = "https://github.com/openpmix/openpmix.git"
+ maintainers = ["rhc54"]
+
+ version("master", branch="master")
+ version("4.1.2", sha256="670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a")
+ version("4.1.1", sha256="0527a15d616637b95975d238bbc100b244894518fbba822cd8f46589ca61ccec")
+ version("4.1.0", sha256="145f05a6c621bfb3fc434776b615d7e6d53260cc9ba340a01f55b383e07c842e")
+ version("3.2.3", sha256="9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135")
+ version("3.2.2", sha256="7e7fafe2b338dab42a94002d99330a5bb0ebbdd06381ec65953a87c94db3dd23")
+ version("3.2.1", sha256="7e5db8ada5828cf85c12f70db6bfcf777d13e5c4c73b2206bb5e394d47066a2b")
+ version("3.1.6", sha256="3df0e0cb0cae67b59edba1d90f55d73467be8404874fe89056690739e039a840")
+ version("3.1.5", sha256="88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7")
+ version("3.1.3", sha256="118acb9c4e10c4e481406dcffdfa762f314af50db75336bf8460e53b56dc439d")
+ version("3.1.2", sha256="28aed0392d4ca2cdfbdd721e6210c94dadc9830677fea37a0abe9d592c00f9c3")
+ version("3.0.2", sha256="df68f35a3ed9517eeade80b13855cebad8fde2772b36a3f6be87559b6d430670")
+ version("3.0.1", sha256="b81055d2c0d61ef5a451b63debc39c820bcd530490e2e4dcb4cdbacb618c157c")
+ version("3.0.0", sha256="ee8f68107c24b706237a53333d832445315ae37de6773c5413d7fda415a6e2ee")
+ version("2.2.3", sha256="6fa5d45eb089e29101190c645e986342a24a03a4ea3a936db0b120aafa45b1f0")
+ version("2.2.2", sha256="cd951dbda623fadc5b32ae149d8cc41f9462eac4d718d089340911b1a7c20714")
+ version("2.1.4", sha256="eb72d292e76e200f02cf162a477eecea2559ef3ac2edf50ee95b3fe3983d033e")
+ version("2.1.3", sha256="281283133498e7e5999ed5c6557542c22408bc9eb51ecbcf7696160616782a41")
+ version("2.1.2", sha256="94bb9c801c51a6caa1b8cef2b85ecf67703a5dfa4d79262e6668c37c744bb643")
+ version("2.0.1", sha256="ba6e0f32936b1859741adb221e18b2c1ee7dc53a6b374b9f7831adf1692b15fd")
+ version("1.2.5", sha256="a2b02d489ee730c06ee40e7f9ffcebb6c35bcb4f95153fab7c4276a3add6ae31")
+
+ variant(
+ "pmi_backwards_compatibility",
+ default=True,
+ description="Toggle pmi backwards compatibility",
+ )
+
+ variant(
+ "restful",
+ default=False,
+ when="@4:",
+ description="allow a PMIx server to request services from " "a system-level REST server",
+ )
+
+ variant("docs", default=False, description="Build manpages")
depends_on("m4", type="build", when="@master")
depends_on("autoconf", type="build", when="@master")
depends_on("automake", type="build", when="@master")
depends_on("libtool", type="build", when="@master")
depends_on("perl", type="build", when="@master")
- depends_on('pandoc', type='build', when='+docs')
+ depends_on("pandoc", type="build", when="+docs")
- depends_on('libevent@2.0.20:')
- depends_on('hwloc@1.0:1', when='@:2')
- depends_on('hwloc@1.11:1,2:', when='@3:')
- depends_on('curl', when="+restful")
- depends_on('jansson@2.11:', when="+restful")
+ depends_on("libevent@2.0.20:")
+ depends_on("hwloc@1.0:1", when="@:2")
+ depends_on("hwloc@1.11:1,2:", when="@3:")
+ depends_on("curl", when="+restful")
+ depends_on("jansson@2.11:", when="+restful")
def autoreconf(self, spec, prefix):
"""Only needed when building from git checkout"""
@@ -89,31 +90,30 @@ class Pmix(AutotoolsPackage):
if os.path.exists(self.configure_abs_path):
return
# Else bootstrap with autotools
- perl = which('perl')
- perl('./autogen.pl')
+ perl = which("perl")
+ perl("./autogen.pl")
def configure_args(self):
spec = self.spec
- config_args = [
- '--enable-shared',
- '--enable-static'
- ]
+ config_args = ["--enable-shared", "--enable-static"]
- config_args.append('--with-libevent=' + spec['libevent'].prefix)
- config_args.append('--with-hwloc=' + spec['hwloc'].prefix)
+ config_args.append("--with-libevent=" + spec["libevent"].prefix)
+ config_args.append("--with-hwloc=" + spec["hwloc"].prefix)
- config_args.extend(self.enable_or_disable(
- 'pmi-backward-compatibility', variant='pmi_backwards_compatibility'
- ))
+ config_args.extend(
+ self.enable_or_disable(
+ "pmi-backward-compatibility", variant="pmi_backwards_compatibility"
+ )
+ )
- if '~docs' in self.spec:
- config_args.append('--disable-man-pages')
+ if "~docs" in self.spec:
+ config_args.append("--disable-man-pages")
# Versions < 2.1.1 have a bug in the test code that *sometimes*
# causes problems on strict alignment architectures such as
# aarch64. Work-around is to just not build the test code.
- if spec.satisfies('@:2.1.0 target=aarch64:'):
- config_args.append('--without-tests-examples')
+ if spec.satisfies("@:2.1.0 target=aarch64:"):
+ config_args.append("--without-tests-examples")
return config_args
diff --git a/var/spack/repos/builtin/packages/pmlib/package.py b/var/spack/repos/builtin/packages/pmlib/package.py
index e52f64ae25..cf12192186 100644
--- a/var/spack/repos/builtin/packages/pmlib/package.py
+++ b/var/spack/repos/builtin/packages/pmlib/package.py
@@ -8,80 +8,80 @@ from spack.package import *
class Pmlib(CMakePackage):
"""This library records the statistics information of run-time performance
- and the trace information of a user code and reports its summary.
- The PMlib is able to use for both serial and parallel environments
- including hybrid(OpenMP & MPI) code. In addition, PAPI interface allows
- us to access the information of build-in hardware counter."""
+ and the trace information of a user code and reports its summary.
+ The PMlib is able to use for both serial and parallel environments
+ including hybrid(OpenMP & MPI) code. In addition, PAPI interface allows
+ us to access the information of build-in hardware counter."""
homepage = "https://github.com/avr-aics-riken/PMlib"
- git = "https://github.com/avr-aics-riken/PMlib.git"
+ git = "https://github.com/avr-aics-riken/PMlib.git"
- version('master', branch='master')
- version('6.4.1', commit='0a35f5bec8c12e532e5a1bdac8c32c659fd3ee11')
+ version("master", branch="master")
+ version("6.4.1", commit="0a35f5bec8c12e532e5a1bdac8c32c659fd3ee11")
- variant('mpi', default=True, description='Activate MPI support')
- variant('example', default=False,
- description='This option turns on compiling sample codes.')
- variant('fortran', default=False,
- description='This option tells a compiler to use a Fortran.')
- variant('openmp', default=False, description='Enable OpenMP directives')
- variant('papi', default=False, description='Use PAPI library')
- variant('otf', default=False, description='Use OTF library')
- variant('precisetimer', default=True,
- description='This option provides -DUSE_PRECISE_TIMER to C++' +
- ' compiler option CMAKE_CXX_FLAGS when building' +
- ' the PMlib library.')
+ variant("mpi", default=True, description="Activate MPI support")
+ variant("example", default=False, description="This option turns on compiling sample codes.")
+ variant("fortran", default=False, description="This option tells a compiler to use a Fortran.")
+ variant("openmp", default=False, description="Enable OpenMP directives")
+ variant("papi", default=False, description="Use PAPI library")
+ variant("otf", default=False, description="Use OTF library")
+ variant(
+ "precisetimer",
+ default=True,
+ description="This option provides -DUSE_PRECISE_TIMER to C++"
+ + " compiler option CMAKE_CXX_FLAGS when building"
+ + " the PMlib library.",
+ )
- patch('fix_compiler_options.patch')
+ patch("fix_compiler_options.patch")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
spec = self.spec
args = []
- args.append('-DINSTALL_DIR={0}'.format(self.prefix))
+ args.append("-DINSTALL_DIR={0}".format(self.prefix))
- if '+mpi' in spec:
- args.append('-Dwith_MPI=yes')
+ if "+mpi" in spec:
+ args.append("-Dwith_MPI=yes")
else:
- args.append('-Dwith_MPI=no')
+ args.append("-Dwith_MPI=no")
- if '+example' in spec:
- args.append('-Dwith_example=yes')
+ if "+example" in spec:
+ args.append("-Dwith_example=yes")
else:
- args.append('-Dwith_example=no')
+ args.append("-Dwith_example=no")
- if '+fortran' in spec:
- args.append('-Denable_Fortran=yes')
+ if "+fortran" in spec:
+ args.append("-Denable_Fortran=yes")
else:
- args.append('-Denable_Fortran=no')
+ args.append("-Denable_Fortran=no")
- if '+openmp' in spec:
- args.append('-Denable_OPENMP=yes')
+ if "+openmp" in spec:
+ args.append("-Denable_OPENMP=yes")
else:
- args.append('-Denable_OPENMP=no')
+ args.append("-Denable_OPENMP=no")
- if '+papi' in spec:
- args.append('-Dwith_PAPI=yes')
+ if "+papi" in spec:
+ args.append("-Dwith_PAPI=yes")
else:
- args.append('-Dwith_PAPI=no')
+ args.append("-Dwith_PAPI=no")
- if '+otf' in spec:
- args.append('-Dwith_OTF=yes')
+ if "+otf" in spec:
+ args.append("-Dwith_OTF=yes")
else:
- args.append('-Dwith_OTF=no')
+ args.append("-Dwith_OTF=no")
- if '+precisetimer' in spec:
- args.append('-Denable_PreciseTimer=yes')
+ if "+precisetimer" in spec:
+ args.append("-Denable_PreciseTimer=yes")
else:
- args.append('-Denable_PreciseTimer=no')
+ args.append("-Denable_PreciseTimer=no")
- if '%gcc' in spec:
- args.append('-DCMAKE_CXX_FLAGS=-fopenmp')
- args.append('-DCMAKE_Fortran_FLAGS=-fopenmp -cpp')
+ if "%gcc" in spec:
+ args.append("-DCMAKE_CXX_FLAGS=-fopenmp")
+ args.append("-DCMAKE_Fortran_FLAGS=-fopenmp -cpp")
- if '%fj' in spec:
- args.append(
- '-DCMAKE_TOOLCHAIN_FILE=./cmake/Toolchain_fx100.cmake')
+ if "%fj" in spec:
+ args.append("-DCMAKE_TOOLCHAIN_FILE=./cmake/Toolchain_fx100.cmake")
return args
diff --git a/var/spack/repos/builtin/packages/pnfft/package.py b/var/spack/repos/builtin/packages/pnfft/package.py
index 180b06bb5a..55f3641ae2 100644
--- a/var/spack/repos/builtin/packages/pnfft/package.py
+++ b/var/spack/repos/builtin/packages/pnfft/package.py
@@ -8,70 +8,74 @@ from spack.package import *
class Pnfft(AutotoolsPackage):
"""PNFFT is a parallel software library for the calculation of
- three-dimensional nonequispaced FFTs."""
+ three-dimensional nonequispaced FFTs."""
homepage = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en"
- url = "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/pnfft-1.0.7-alpha.tar.gz"
+ url = (
+ "https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software/pnfft-1.0.7-alpha.tar.gz"
+ )
- version('1.0.7-alpha', sha256='fda558ff57ee3119754363bb6e6739338680d2d6860fe7dc42009d85562bd67a')
+ version(
+ "1.0.7-alpha", sha256="fda558ff57ee3119754363bb6e6739338680d2d6860fe7dc42009d85562bd67a"
+ )
- depends_on('pfft')
- depends_on('gsl')
+ depends_on("pfft")
+ depends_on("gsl")
_fftw_precisions = None
@property
def fftw_selected_precisions(self):
if not self._fftw_precisions:
- self._fftw_precisions = self.spec['fftw'].package.selected_precisions
+ self._fftw_precisions = self.spec["fftw"].package.selected_precisions
return self._fftw_precisions
def configure(self, spec, prefix):
- options = ['--prefix={0}'.format(prefix)]
+ options = ["--prefix={0}".format(prefix)]
if not self.compiler.f77 or not self.compiler.fc:
options.append("--disable-fortran")
- configure = Executable('../configure')
+ configure = Executable("../configure")
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double', create=True):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double", create=True):
configure(*options)
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float', create=True):
- configure('--enable-float', *options)
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double', create=True):
- configure('--enable-long-double', *options)
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float", create=True):
+ configure("--enable-float", *options)
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double", create=True):
+ configure("--enable-long-double", *options)
def build(self, spec, prefix):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make()
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make()
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make()
def check(self):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make("check")
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make("check")
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make("check")
def install(self, spec, prefix):
- if 'double' in self.fftw_selected_precisions:
- with working_dir('double'):
+ if "double" in self.fftw_selected_precisions:
+ with working_dir("double"):
make("install")
- if 'float' in self.fftw_selected_precisions:
- with working_dir('float'):
+ if "float" in self.fftw_selected_precisions:
+ with working_dir("float"):
make("install")
- if 'long_double' in self.fftw_selected_precisions:
- with working_dir('long-double'):
+ if "long_double" in self.fftw_selected_precisions:
+ with working_dir("long-double"):
make("install")
diff --git a/var/spack/repos/builtin/packages/pngquant/package.py b/var/spack/repos/builtin/packages/pngquant/package.py
index 31efe7d5e2..50e7c27ed6 100644
--- a/var/spack/repos/builtin/packages/pngquant/package.py
+++ b/var/spack/repos/builtin/packages/pngquant/package.py
@@ -13,8 +13,8 @@ class Pngquant(AutotoolsPackage):
"""
homepage = "https://pngquant.org/"
- url = "https://pngquant.org/pngquant-2.12.5-src.tar.gz"
+ url = "https://pngquant.org/pngquant-2.12.5-src.tar.gz"
- version('2.12.5', sha256='3638936cf6270eeeaabcee42e10768d78e4dc07cac9310307835c1f58b140808')
+ version("2.12.5", sha256="3638936cf6270eeeaabcee42e10768d78e4dc07cac9310307835c1f58b140808")
- depends_on('libpng')
+ depends_on("libpng")
diff --git a/var/spack/repos/builtin/packages/pngwriter/package.py b/var/spack/repos/builtin/packages/pngwriter/package.py
index 3f3449b916..270a673dee 100644
--- a/var/spack/repos/builtin/packages/pngwriter/package.py
+++ b/var/spack/repos/builtin/packages/pngwriter/package.py
@@ -17,26 +17,26 @@ class Pngwriter(CMakePackage):
"""
homepage = "http://pngwriter.sourceforge.net/"
- url = "https://github.com/pngwriter/pngwriter/archive/0.5.6.tar.gz"
- git = "https://github.com/pngwriter/pngwriter.git"
+ url = "https://github.com/pngwriter/pngwriter/archive/0.5.6.tar.gz"
+ git = "https://github.com/pngwriter/pngwriter.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='dev')
- version('master', branch='master')
- version('0.7.0', sha256='82d46eef109f434f95eba9cf5908710ae4e75f575fd3858178ad06e800152825')
- version('0.6.0', sha256='5107c6be0bfadf76ba4d01a553f7e060b5a7763ca7d9374ef3e7e59746b3911e')
- version('0.5.6', sha256='0c5f3c1fd6f2470e88951f4b8add64cf5f5a7e7038115dba69604139359b08f1')
+ version("develop", branch="dev")
+ version("master", branch="master")
+ version("0.7.0", sha256="82d46eef109f434f95eba9cf5908710ae4e75f575fd3858178ad06e800152825")
+ version("0.6.0", sha256="5107c6be0bfadf76ba4d01a553f7e060b5a7763ca7d9374ef3e7e59746b3911e")
+ version("0.5.6", sha256="0c5f3c1fd6f2470e88951f4b8add64cf5f5a7e7038115dba69604139359b08f1")
- depends_on('libpng')
- depends_on('zlib')
- depends_on('freetype')
+ depends_on("libpng")
+ depends_on("zlib")
+ depends_on("freetype")
def cmake_args(self):
spec = self.spec
args = []
- if spec.satisfies('@0.7.0:'):
- args += ['-DPNGwriter_USE_FREETYPE:BOOL=ON']
+ if spec.satisfies("@0.7.0:"):
+ args += ["-DPNGwriter_USE_FREETYPE:BOOL=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/pnmpi/package.py b/var/spack/repos/builtin/packages/pnmpi/package.py
index 7ec0718cee..4416a1197b 100644
--- a/var/spack/repos/builtin/packages/pnmpi/package.py
+++ b/var/spack/repos/builtin/packages/pnmpi/package.py
@@ -8,41 +8,42 @@ from spack.package import *
class Pnmpi(CMakePackage):
"""PnMPI is a dynamic MPI tool infrastructure that builds on top of
- the standardized PMPI interface. """
+ the standardized PMPI interface."""
homepage = "https://github.com/LLNL/PnMPI"
- url = "https://github.com/LLNL/PnMPI/releases/download/v1.7/PnMPI-v1.7-full.tar.gz"
+ url = "https://github.com/LLNL/PnMPI/releases/download/v1.7/PnMPI-v1.7-full.tar.gz"
- version('1.7', sha256='523228bdc220ae417d6812c0766bba698a240d71c69981cb0cb2b09a75ef4a9e')
+ version("1.7", sha256="523228bdc220ae417d6812c0766bba698a240d71c69981cb0cb2b09a75ef4a9e")
- variant('fortran', default=False,
- description='Configure PnMPI with Fortran support')
- variant('tests', default=False,
- description='Build test cases and enable "test" makefile target')
+ variant("fortran", default=False, description="Configure PnMPI with Fortran support")
+ variant(
+ "tests", default=False, description='Build test cases and enable "test" makefile target'
+ )
- depends_on('cmake', type='build')
- depends_on('argp-standalone', when='platform=darwin')
- depends_on('binutils')
- depends_on('help2man')
- depends_on('doxygen')
- depends_on('mpi')
+ depends_on("cmake", type="build")
+ depends_on("argp-standalone", when="platform=darwin")
+ depends_on("binutils")
+ depends_on("help2man")
+ depends_on("doxygen")
+ depends_on("mpi")
- @run_before('cmake')
+ @run_before("cmake")
def check_fortran(self):
is_no_fortran_compiler = not self.compiler.f77 and not self.compiler.fc
- if self.spec.satisfies('+fortran'):
+ if self.spec.satisfies("+fortran"):
if is_no_fortran_compiler:
- raise InstallError('pnmpi+fortran requires Fortran compiler '
- 'but no Fortran compiler found!')
+ raise InstallError(
+ "pnmpi+fortran requires Fortran compiler " "but no Fortran compiler found!"
+ )
def cmake_args(self):
args = []
spec = self.spec
- on_off = {True: 'ON', False: 'OFF'}
+ on_off = {True: "ON", False: "OFF"}
- has_fortran = spec.satisfies('+fortran')
- has_tests = spec.satisfies('+tests')
+ has_fortran = spec.satisfies("+fortran")
+ has_tests = spec.satisfies("+tests")
- args.append('-DENABLE_FORTRAN:BOOL={0}'.format(on_off[has_fortran]))
- args.append('-DENABLE_TESTING:BOOL={0}'.format(on_off[has_tests]))
+ args.append("-DENABLE_FORTRAN:BOOL={0}".format(on_off[has_fortran]))
+ args.append("-DENABLE_TESTING:BOOL={0}".format(on_off[has_tests]))
return args
diff --git a/var/spack/repos/builtin/packages/poamsa/package.py b/var/spack/repos/builtin/packages/poamsa/package.py
index e85a70797b..f121ef7dbe 100644
--- a/var/spack/repos/builtin/packages/poamsa/package.py
+++ b/var/spack/repos/builtin/packages/poamsa/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Poamsa(MakefilePackage):
"""POA is Partial Order Alignment, a fast program for multiple sequence
- alignment in bioinformatics. Its advantages are speed, scalability,
- sensitivity, and the superior ability to handle branching / indels
- in the alignment."""
+ alignment in bioinformatics. Its advantages are speed, scalability,
+ sensitivity, and the superior ability to handle branching / indels
+ in the alignment."""
homepage = "https://sourceforge.net/projects/poamsa"
- url = "https://downloads.sourceforge.net/project/poamsa/poamsa/2.0/poaV2.tar.gz"
+ url = "https://downloads.sourceforge.net/project/poamsa/poamsa/2.0/poaV2.tar.gz"
- version('2.0', sha256='d98d8251af558f442d909a6527694825ef6f79881b7636cad4925792559092c2')
+ version("2.0", sha256="d98d8251af558f442d909a6527694825ef6f79881b7636cad4925792559092c2")
def url_for_version(self, version):
url = "https://downloads.sourceforge.net/project/poamsa/poamsa/{0}/poaV{1}.tar.gz"
return url.format(version.dotted, version.up_to(1))
def edit(self, spec, prefix):
- filter_file(r'^(char \*Program_name;)', 'extern \\1', 'black_flag.h')
- filter_file(r'^(char \*Program_version;)', 'extern \\1', 'black_flag.h')
+ filter_file(r"^(char \*Program_name;)", "extern \\1", "black_flag.h")
+ filter_file(r"^(char \*Program_version;)", "extern \\1", "black_flag.h")
def build(self, spec, prefix):
- make('poa')
+ make("poa")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.lib)
- install('poa', prefix.bin)
- install('liblpo.a', prefix.lib)
+ install("poa", prefix.bin)
+ install("liblpo.a", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/pocl/package.py b/var/spack/repos/builtin/packages/pocl/package.py
index 7329fc4b10..a3ffc1755d 100644
--- a/var/spack/repos/builtin/packages/pocl/package.py
+++ b/var/spack/repos/builtin/packages/pocl/package.py
@@ -16,29 +16,28 @@ class Pocl(CMakePackage):
GPUs/accelerators."""
homepage = "http://portablecl.org"
- url = "https://github.com/pocl/pocl/archive/v1.1.tar.gz"
- git = "https://github.com/pocl/pocl.git"
+ url = "https://github.com/pocl/pocl/archive/v1.1.tar.gz"
+ git = "https://github.com/pocl/pocl.git"
version("master", branch="master")
- version('3.0', sha256='5f6bbc391ba144bc7becc3b90888b25468460d5aa6830f63a3b066137e7bfac3')
- version('1.8', sha256='0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2')
- version('1.7', sha256='5f6bbc391ba144bc7becc3b90888b25468460d5aa6830f63a3b066137e7bfac3')
- version('1.6', sha256='b0a4c0c056371b6f0db726b88fbb76bbee94948fb2abd4dbc8d958f7c42f766c')
- version('1.5', sha256='4fcf4618171727d165fc044d465a66e3119217bb4577a97374f94fcd8aed330e')
- version('1.4', sha256='ec237faa83bb1c803fbdf7c6e83d8a2ad68b6f0ed1879c3aa16c0e1dcc478742')
- version('1.3', sha256='6527e3f47fab7c21e96bc757c4ae3303901f35e23f64642d6da5cc4c4fcc915a')
- version('1.2', sha256='0c43e68f336892f3a64cba19beb99d9212f529bedb77f7879c0331450b982d46')
- version('1.1', sha256='1e8dd0693a88c84937754df947b202871a40545b1b0a97ebefa370b0281c3c53')
- version('1.0', sha256='94bd86a2f9847c03e6c3bf8dca12af3734f8b272ffeacbc3fa8fcca58844b1d4')
-
- conflicts('@:1.5', when='target=a64fx',
- msg='a64fx is supported by pocl v1.6 and above.')
+ version("3.0", sha256="5f6bbc391ba144bc7becc3b90888b25468460d5aa6830f63a3b066137e7bfac3")
+ version("1.8", sha256="0f63377ae1826e16e90038fc8e7f65029be4ff6f9b059f6907174b5c0d1f8ab2")
+ version("1.7", sha256="5f6bbc391ba144bc7becc3b90888b25468460d5aa6830f63a3b066137e7bfac3")
+ version("1.6", sha256="b0a4c0c056371b6f0db726b88fbb76bbee94948fb2abd4dbc8d958f7c42f766c")
+ version("1.5", sha256="4fcf4618171727d165fc044d465a66e3119217bb4577a97374f94fcd8aed330e")
+ version("1.4", sha256="ec237faa83bb1c803fbdf7c6e83d8a2ad68b6f0ed1879c3aa16c0e1dcc478742")
+ version("1.3", sha256="6527e3f47fab7c21e96bc757c4ae3303901f35e23f64642d6da5cc4c4fcc915a")
+ version("1.2", sha256="0c43e68f336892f3a64cba19beb99d9212f529bedb77f7879c0331450b982d46")
+ version("1.1", sha256="1e8dd0693a88c84937754df947b202871a40545b1b0a97ebefa370b0281c3c53")
+ version("1.0", sha256="94bd86a2f9847c03e6c3bf8dca12af3734f8b272ffeacbc3fa8fcca58844b1d4")
+
+ conflicts("@:1.5", when="target=a64fx", msg="a64fx is supported by pocl v1.6 and above.")
# < 3.0 provided full OpenCL 1.2 support and some intermediate level of
# OpenCL 2.0 support. >= 3.0 provides full OpenCL 3.0 support when using
# llvm >= 14.
- provides('opencl@2.0', when='^llvm@:13')
- provides('opencl@3.0', when='@3: ^llvm@14:')
+ provides("opencl@2.0", when="^llvm@:13")
+ provides("opencl@3.0", when="@3: ^llvm@14:")
depends_on("cmake @2.8.12:", type="build")
depends_on("hwloc")
@@ -46,7 +45,7 @@ class Pocl(CMakePackage):
depends_on("libtool", type=("build", "link", "run"))
depends_on("pkgconfig", type="build")
- depends_on('llvm +clang')
+ depends_on("llvm +clang")
depends_on("llvm @14:15", when="@master")
depends_on("llvm @13:14", when="@3.0")
depends_on("llvm @12:13", when="@1.8")
@@ -59,17 +58,21 @@ class Pocl(CMakePackage):
depends_on("llvm @5:6", when="@1.1")
depends_on("llvm @4:5", when="@1.0")
- variant("distro", default=False,
- description=("Support several CPU architectures, "
- "suitable e.g. in a build "
- "that will be made available for download"))
- variant("icd", default=False,
- description="Support a system-wide ICD loader")
+ variant(
+ "distro",
+ default=False,
+ description=(
+ "Support several CPU architectures, "
+ "suitable e.g. in a build "
+ "that will be made available for download"
+ ),
+ )
+ variant("icd", default=False, description="Support a system-wide ICD loader")
- depends_on('ocl-icd', when='+icd')
+ depends_on("ocl-icd", when="+icd")
def url_for_version(self, version):
- if version >= Version('1.0'):
+ if version >= Version("1.0"):
url = "https://github.com/pocl/pocl/archive/v{0}.tar.gz"
else:
url = "http://portablecl.org/downloads/pocl-{0}.tar.gz"
@@ -87,11 +90,11 @@ class Pocl(CMakePackage):
args.append(self.define("KERNELLIB_HOST_CPU_VARIANTS", "distro"))
return args
- @run_after('install')
+ @run_after("install")
def symlink_opencl(self):
os.symlink("CL", self.prefix.include.OpenCL)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
# Build and run a small program to test the installed OpenCL library
@@ -99,14 +102,11 @@ class Pocl(CMakePackage):
print("Checking pocl installation...")
checkdir = "spack-check"
with working_dir(checkdir, create=True):
- source = join_path(os.path.dirname(self.module.__file__),
- "example1.c")
+ source = join_path(os.path.dirname(self.module.__file__), "example1.c")
cflags = spec["pocl"].headers.cpp_flags.split()
# ldflags = spec["pocl"].libs.ld_flags.split()
- ldflags = ["-L%s" % spec["pocl"].prefix.lib,
- "-lOpenCL", "-lpoclu"]
+ ldflags = ["-L%s" % spec["pocl"].prefix.lib, "-lOpenCL", "-lpoclu"]
output = compile_c_and_execute(source, cflags, ldflags)
compare_output_file(
- output,
- join_path(os.path.dirname(self.module.__file__),
- "example1.out"))
+ output, join_path(os.path.dirname(self.module.__file__), "example1.out")
+ )
diff --git a/var/spack/repos/builtin/packages/podio/package.py b/var/spack/repos/builtin/packages/podio/package.py
index 774366371c..5f176d5dd2 100644
--- a/var/spack/repos/builtin/packages/podio/package.py
+++ b/var/spack/repos/builtin/packages/podio/package.py
@@ -12,61 +12,60 @@ class Podio(CMakePackage):
and handling of data models in particle physics."""
homepage = "https://github.com/AIDASoft/podio"
- url = "https://github.com/AIDASoft/podio/archive/v00-09-02.tar.gz"
- git = "https://github.com/AIDASoft/podio.git"
+ url = "https://github.com/AIDASoft/podio/archive/v00-09-02.tar.gz"
+ git = "https://github.com/AIDASoft/podio.git"
- maintainers = ['vvolkl', 'drbenmorgan']
+ maintainers = ["vvolkl", "drbenmorgan"]
tags = ["hep", "key4hep"]
- version('master', branch='master')
- version('0.14.3', sha256='2a7a405dedc7f6980a0aad7df87b427a1f43bcf6d923a9bcce1698fd296359f7')
- version('0.14.1', sha256='361ac3f3ec6f5a4830729ab45f96c19f0f62e9415ff681f7c6cdb4ebdb796f72')
- version('0.14', sha256='47f99f1190dc71d6deb52a2b1831250515dbd5c9e0f263c3c8553ffc5b260dfb')
- version('0.13.2', sha256='645f6915ca6f34789157c0a9dc8b0e9ec901e019b96eb8a68fb39011602e92eb')
- version('0.13.1', sha256='2ae561c2a0e46c44245aa2098772374ad246c9fcb1956875c95c69c963501353')
- version('0.13', sha256='e9cbd4e25730003d3706ad82e28b15cb5bdc524a78b0a26e90b89ea852101498')
- version('0.12', sha256='1729a2ce21e8b307fc37dfb9a9f5ae031e9f4be4992385cf99dba3e5fdf5323a')
- version('0.11', sha256='4b2765566a14f0ddece2c894634e0a8e4f42f3e44392addb9110d856f6267fb6')
- version('0.10', sha256='b5b42770ec8b96bcd2748abc05669dd3e4d4cc84f81ed57d57d2eda1ade90ef2')
- version('0.9.2', sha256='8234d1b9636029124235ef81199a1220968dcc7fdaeab81cdc96a47af332d240')
- version('0.9', sha256='3cde67556b6b76fd2d004adfaa3b3b6173a110c0c209792bfdb5f9353e21076f')
- version('0.8', sha256='9d035a7f5ebfae5279a17405003206853271af692f762e2bac8e73825f2af327')
-
- variant('sio', default=False,
- description='Build the SIO I/O backend')
+ version("master", branch="master")
+ version("0.14.3", sha256="2a7a405dedc7f6980a0aad7df87b427a1f43bcf6d923a9bcce1698fd296359f7")
+ version("0.14.1", sha256="361ac3f3ec6f5a4830729ab45f96c19f0f62e9415ff681f7c6cdb4ebdb796f72")
+ version("0.14", sha256="47f99f1190dc71d6deb52a2b1831250515dbd5c9e0f263c3c8553ffc5b260dfb")
+ version("0.13.2", sha256="645f6915ca6f34789157c0a9dc8b0e9ec901e019b96eb8a68fb39011602e92eb")
+ version("0.13.1", sha256="2ae561c2a0e46c44245aa2098772374ad246c9fcb1956875c95c69c963501353")
+ version("0.13", sha256="e9cbd4e25730003d3706ad82e28b15cb5bdc524a78b0a26e90b89ea852101498")
+ version("0.12", sha256="1729a2ce21e8b307fc37dfb9a9f5ae031e9f4be4992385cf99dba3e5fdf5323a")
+ version("0.11", sha256="4b2765566a14f0ddece2c894634e0a8e4f42f3e44392addb9110d856f6267fb6")
+ version("0.10", sha256="b5b42770ec8b96bcd2748abc05669dd3e4d4cc84f81ed57d57d2eda1ade90ef2")
+ version("0.9.2", sha256="8234d1b9636029124235ef81199a1220968dcc7fdaeab81cdc96a47af332d240")
+ version("0.9", sha256="3cde67556b6b76fd2d004adfaa3b3b6173a110c0c209792bfdb5f9353e21076f")
+ version("0.8", sha256="9d035a7f5ebfae5279a17405003206853271af692f762e2bac8e73825f2af327")
+
+ variant("sio", default=False, description="Build the SIO I/O backend")
# cpack config throws an error on some systems
- patch('cpack.patch', when="@:0.10.0")
- patch('dictloading.patch', when="@0.10.0")
- patch('python-tests.patch', when='@:0.14.0')
+ patch("cpack.patch", when="@:0.10.0")
+ patch("dictloading.patch", when="@0.10.0")
+ patch("python-tests.patch", when="@:0.14.0")
- depends_on('root@6.08.06: cxxstd=17')
+ depends_on("root@6.08.06: cxxstd=17")
- depends_on('cmake@3.8:', type='build')
- depends_on('python', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-jinja2@2.10.1:', type=('build', 'run'), when='@0.12.0:')
- depends_on('sio', type=('build', 'link'), when='+sio')
- depends_on('catch2@3.0.1:', type=('test'), when="@0.13:")
+ depends_on("cmake@3.8:", type="build")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-jinja2@2.10.1:", type=("build", "run"), when="@0.12.0:")
+ depends_on("sio", type=("build", "link"), when="+sio")
+ depends_on("catch2@3.0.1:", type=("test"), when="@0.13:")
- conflicts('+sio', when='@:0.12', msg='sio support requires at least podio@0.13')
+ conflicts("+sio", when="@:0.12", msg="sio support requires at least podio@0.13")
def cmake_args(self):
args = [
- self.define_from_variant('ENABLE_SIO', 'sio'),
+ self.define_from_variant("ENABLE_SIO", "sio"),
self.define("BUILD_TESTING", self.run_tests),
]
return args
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.python)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['podio'].libs.directories[0])
+ env.prepend_path("PYTHONPATH", self.prefix.python)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0])
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('PYTHONPATH', self.prefix.python)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['podio'].libs.directories[0])
- env.prepend_path('ROOT_INCLUDE_PATH', self.prefix.include)
+ env.prepend_path("PYTHONPATH", self.prefix.python)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0])
+ env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include)
def url_for_version(self, version):
"""Translate version numbers to ilcsoft conventions.
@@ -79,7 +78,7 @@ class Podio(CMakePackage):
:param version: version
:type param: str
"""
- base_url = self.url.rsplit('/', 1)[0]
+ base_url = self.url.rsplit("/", 1)[0]
if len(version) == 1:
major = version[0]
@@ -93,8 +92,8 @@ class Podio(CMakePackage):
# By now the data is normalized enough to handle it easily depending
# on the value of the patch version
if patch == 0:
- version_str = 'v%02d-%02d.tar.gz' % (major, minor)
+ version_str = "v%02d-%02d.tar.gz" % (major, minor)
else:
- version_str = 'v%02d-%02d-%02d.tar.gz' % (major, minor, patch)
+ version_str = "v%02d-%02d-%02d.tar.gz" % (major, minor, patch)
- return base_url + '/' + version_str
+ return base_url + "/" + version_str
diff --git a/var/spack/repos/builtin/packages/podman/package.py b/var/spack/repos/builtin/packages/podman/package.py
index e1756080e3..555dabb354 100644
--- a/var/spack/repos/builtin/packages/podman/package.py
+++ b/var/spack/repos/builtin/packages/podman/package.py
@@ -9,73 +9,71 @@ from spack.package import *
class Podman(Package):
"""An optionally rootless and daemonless container engine: alias docker=podman"""
- homepage = 'https://podman.io'
- url = 'https://github.com/containers/podman/archive/v3.4.2.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://podman.io"
+ url = "https://github.com/containers/podman/archive/v3.4.2.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('3.4.2', sha256='b0c4f9a11eb500b1d440d5e51a6c0c632aa4ac458e2dc0362f50f999eb7fbf31')
+ version("3.4.2", sha256="b0c4f9a11eb500b1d440d5e51a6c0c632aa4ac458e2dc0362f50f999eb7fbf31")
- depends_on('go', type='build')
- depends_on('go-md2man', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('cni-plugins', type='run')
- depends_on('conmon', type='run')
- depends_on('runc', type='run')
- depends_on('slirp4netns', type='run')
- depends_on('gpgme')
- depends_on('libassuan')
- depends_on('libgpg-error')
- depends_on('libseccomp')
+ depends_on("go", type="build")
+ depends_on("go-md2man", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("cni-plugins", type="run")
+ depends_on("conmon", type="run")
+ depends_on("runc", type="run")
+ depends_on("slirp4netns", type="run")
+ depends_on("gpgme")
+ depends_on("libassuan")
+ depends_on("libgpg-error")
+ depends_on("libseccomp")
def patch(self):
- defs = FileFilter('vendor/github.com/containers/common/pkg/config/default.go')
+ defs = FileFilter("vendor/github.com/containers/common/pkg/config/default.go")
# Prepend the provided runc executable to podman's built-in runc search path
- defs.filter(
- '"runc": {',
- '"runc": {' + '"{0}",'.format(self.spec['runc'].prefix.sbin.runc)
- )
+ defs.filter('"runc": {', '"runc": {' + '"{0}",'.format(self.spec["runc"].prefix.sbin.runc))
# Prepend the provided conmon executable to podman's built-in conmon search path
defs.filter(
- r'ConmonPath = \[\]string{',
- 'ConmonPath = []string{' +
- '\n "{0}",'.format(self.spec['conmon'].prefix.bin.conmon)
+ r"ConmonPath = \[\]string{",
+ "ConmonPath = []string{"
+ + '\n "{0}",'.format(self.spec["conmon"].prefix.bin.conmon),
)
# Prepend the provided cni-plugins directory to the cni-plugin search path
defs.filter(
- r'DefaultCNIPluginDirs = \[\]string{',
- 'DefaultCNIPluginDirs = []string{' +
- '\n "{0}",'.format(self.spec['cni-plugins'].prefix.bin)
+ r"DefaultCNIPluginDirs = \[\]string{",
+ "DefaultCNIPluginDirs = []string{"
+ + '\n "{0}",'.format(self.spec["cni-plugins"].prefix.bin),
)
# Set the default path for slirp4netns to the provided slirp4netns executable
defs.filter(
- 'cniConfig := _cniConfigDir',
- 'cniConfig := _cniConfigDir' +
- '\n defaultEngineConfig.NetworkCmdPath = "{0}"'.format(
- self.spec['slirp4netns'].prefix.bin.slirp4netns
- )
+ "cniConfig := _cniConfigDir",
+ "cniConfig := _cniConfigDir"
+ + '\n defaultEngineConfig.NetworkCmdPath = "{0}"'.format(
+ self.spec["slirp4netns"].prefix.bin.slirp4netns
+ ),
)
# Use the podman install prefix as fallback path for finding container.conf
filter_file(
- r'/usr',
+ r"/usr",
self.prefix,
- 'vendor/github.com/containers/common/pkg/config/config.go',
+ "vendor/github.com/containers/common/pkg/config/config.go",
)
def install(self, spec, prefix):
# Set default policy.json to be located in the install prefix (documented)
- env['EXTRA_LDFLAGS'] = (
- '-X github.com/containers/image/v5/signature.systemDefaultPolicyPath=' +
- prefix + '/etc/containers/policy.json'
+ env["EXTRA_LDFLAGS"] = (
+ "-X github.com/containers/image/v5/signature.systemDefaultPolicyPath="
+ + prefix
+ + "/etc/containers/policy.json"
)
# Build and installation needs to be in two separate make calls
# The devicemapper and btrfs drivers are (so far) not enabled in this recipe
- tags = 'seccomp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs'
- make('-e', 'BUILDTAGS=' + tags)
- make('install', 'PREFIX=' + prefix)
+ tags = "seccomp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs"
+ make("-e", "BUILDTAGS=" + tags)
+ make("install", "PREFIX=" + prefix)
# Install an initial etc/containers/policy.json (configured in prefix above)
mkdirp(prefix.etc.containers)
- install('test/policy.json', prefix.etc.containers)
+ install("test/policy.json", prefix.etc.containers)
# Cleanup directory trees which are created as part of the go build process
remove_linked_tree(prefix.src)
remove_linked_tree(prefix.pkg)
diff --git a/var/spack/repos/builtin/packages/poke/package.py b/var/spack/repos/builtin/packages/poke/package.py
index d21d0ff405..9addbf1afc 100644
--- a/var/spack/repos/builtin/packages/poke/package.py
+++ b/var/spack/repos/builtin/packages/poke/package.py
@@ -8,17 +8,18 @@ from spack.package import *
class Poke(AutotoolsPackage, GNUMirrorPackage):
- """"The extensible editor for structured binary data"""
+ """ "The extensible editor for structured binary data"""
+
homepage = "https://www.jemarch.net/poke.html"
- gnu_mirror_path = 'poke/poke-1.0.tar.gz'
+ gnu_mirror_path = "poke/poke-1.0.tar.gz"
- maintainers = ['ChristianTackeGSI']
+ maintainers = ["ChristianTackeGSI"]
- version('1.0', sha256='de930b8700c0772b3c2cd0d0ca35f50fd3d77bdf82c6251eb516b49e8ca25b0a')
+ version("1.0", sha256="de930b8700c0772b3c2cd0d0ca35f50fd3d77bdf82c6251eb516b49e8ca25b0a")
- depends_on('pkgconfig')
- depends_on('readline')
- depends_on('bdw-gc')
- depends_on('json-c')
+ depends_on("pkgconfig")
+ depends_on("readline")
+ depends_on("bdw-gc")
+ depends_on("json-c")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/polymake/package.py b/var/spack/repos/builtin/packages/polymake/package.py
index 28e950fb7c..6c6c88b1ef 100644
--- a/var/spack/repos/builtin/packages/polymake/package.py
+++ b/var/spack/repos/builtin/packages/polymake/package.py
@@ -8,12 +8,13 @@ from spack.pkg.builtin.boost import Boost
class Polymake(Package):
"""polymake is open source software for research in polyhedral geometry"""
+
homepage = "https://polymake.org/doku.php"
- url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.0r1.tar.bz2"
+ url = "https://polymake.org/lib/exe/fetch.php/download/polymake-3.0r1.tar.bz2"
- version('3.5', sha256='c649f8536ccef5a5e22b82c514a09278ebcd99d0815aa7170461fe12843109bd')
- version('3.0r2', sha256='e7c0f8e3a45ea288d2fb4ae781a1dcea913ef9c275fed401632cdb11a672d6dc')
- version('3.0r1', sha256='cdc223716b1cc3f4f3cc126089a438f9d12390caeed78291a87565717c7b504d')
+ version("3.5", sha256="c649f8536ccef5a5e22b82c514a09278ebcd99d0815aa7170461fe12843109bd")
+ version("3.0r2", sha256="e7c0f8e3a45ea288d2fb4ae781a1dcea913ef9c275fed401632cdb11a672d6dc")
+ version("3.0r1", sha256="cdc223716b1cc3f4f3cc126089a438f9d12390caeed78291a87565717c7b504d")
# Note: Could also be built with nauty instead of bliss
depends_on("bliss")
@@ -26,7 +27,7 @@ class Polymake(Package):
depends_on("gmp")
depends_on("lrslib")
depends_on("mpfr")
- depends_on("ninja", type='build', when='@3.2:')
+ depends_on("ninja", type="build", when="@3.2:")
depends_on("perl")
depends_on("perl-json")
depends_on("perl-termreadkey")
@@ -35,17 +36,19 @@ class Polymake(Package):
depends_on("perl-xml-libxslt")
depends_on("perl-xml-writer")
depends_on("ppl")
- depends_on("ppl@1.2:", when='@3.2:')
+ depends_on("ppl@1.2:", when="@3.2:")
depends_on("readline")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--with-bliss=%s" % spec["bliss"].prefix,
- "--with-boost=%s" % spec["boost"].prefix,
- "--with-cdd=%s" % spec["cddlib"].prefix,
- "--with-gmp=%s" % spec["gmp"].prefix,
- "--with-lrs=%s" % spec["lrslib"].prefix,
- "--with-mpfr=%s" % spec["mpfr"].prefix,
- "--with-ppl=%s" % spec["ppl"].prefix)
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-bliss=%s" % spec["bliss"].prefix,
+ "--with-boost=%s" % spec["boost"].prefix,
+ "--with-cdd=%s" % spec["cddlib"].prefix,
+ "--with-gmp=%s" % spec["gmp"].prefix,
+ "--with-lrs=%s" % spec["lrslib"].prefix,
+ "--with-mpfr=%s" % spec["mpfr"].prefix,
+ "--with-ppl=%s" % spec["ppl"].prefix,
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/poplddecay/package.py b/var/spack/repos/builtin/packages/poplddecay/package.py
index 27b50c96cb..792428f9ff 100644
--- a/var/spack/repos/builtin/packages/poplddecay/package.py
+++ b/var/spack/repos/builtin/packages/poplddecay/package.py
@@ -13,16 +13,16 @@ class Poplddecay(MakefilePackage):
"""
homepage = "https://github.com/BGI-shenzhen/PopLDdecay"
- url = "https://github.com/BGI-shenzhen/PopLDdecay/archive/v3.41.tar.gz"
+ url = "https://github.com/BGI-shenzhen/PopLDdecay/archive/v3.41.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('3.41', sha256='b84fe5c9a1e1f6798eebbe4445b0b4bc7d02ac9f03fd01cb9cdcc8ee4db71040')
- version('3.40', sha256='5070930166fb90f7eaaa4b87c4430caa8a827d79c54683e2f56434a4daf69778')
+ version("3.41", sha256="b84fe5c9a1e1f6798eebbe4445b0b4bc7d02ac9f03fd01cb9cdcc8ee4db71040")
+ version("3.40", sha256="5070930166fb90f7eaaa4b87c4430caa8a827d79c54683e2f56434a4daf69778")
- build_directory = 'src'
+ build_directory = "src"
- build_targets = ['all', 'clean']
+ build_targets = ["all", "clean"]
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/poppler-data/package.py b/var/spack/repos/builtin/packages/poppler-data/package.py
index d0b50a11a8..be5d7b0f16 100644
--- a/var/spack/repos/builtin/packages/poppler-data/package.py
+++ b/var/spack/repos/builtin/packages/poppler-data/package.py
@@ -15,8 +15,8 @@ class PopplerData(CMakePackage):
distributed separately."""
homepage = "https://poppler.freedesktop.org/"
- url = "https://poppler.freedesktop.org/poppler-data-0.4.9.tar.gz"
+ url = "https://poppler.freedesktop.org/poppler-data-0.4.9.tar.gz"
- version('0.4.9', sha256='1f9c7e7de9ecd0db6ab287349e31bf815ca108a5a175cf906a90163bdbe32012')
+ version("0.4.9", sha256="1f9c7e7de9ecd0db6ab287349e31bf815ca108a5a175cf906a90163bdbe32012")
- depends_on('cmake@2.6:', type='build')
+ depends_on("cmake@2.6:", type="build")
diff --git a/var/spack/repos/builtin/packages/poppler/package.py b/var/spack/repos/builtin/packages/poppler/package.py
index 6dfc1bea82..8bcca673f7 100644
--- a/var/spack/repos/builtin/packages/poppler/package.py
+++ b/var/spack/repos/builtin/packages/poppler/package.py
@@ -10,168 +10,165 @@ class Poppler(CMakePackage):
"""Poppler is a PDF rendering library based on the xpdf-3.0 code base."""
homepage = "https://poppler.freedesktop.org"
- url = "https://poppler.freedesktop.org/poppler-21.09.0.tar.xz"
+ url = "https://poppler.freedesktop.org/poppler-21.09.0.tar.xz"
list_url = "https://poppler.freedesktop.org/releases.html"
- git = "https://gitlab.freedesktop.org/poppler/poppler.git"
-
- version('master', branch='master')
- version('21.09.0', sha256='5a47fef738c2b99471f9b459a8bf8b40aefb7eed92caa4861c3798b2e126d05b')
- version('21.07.0', sha256='e26ab29f68065de4d6562f0a3e2b5435a83ca92be573b99a1c81998fa286a4d4')
- version('0.90.1', sha256='984d82e72e91418d280885298c8bdc855a2fd92665fd52a1345b27235e0c71c4')
- version('0.87.0', sha256='6f602b9c24c2d05780be93e7306201012e41459f289b8279a27a79431ad4150e')
- version('0.79.0', sha256='f985a4608fe592d2546d9d37d4182e502ff6b4c42f8db4be0a021a1c369528c8')
- version('0.77.0', sha256='7267eb4cbccd64a58244b8211603c1c1b6bf32c7f6a4ced2642865346102f36b')
- version('0.72.0', sha256='c1747eb8f26e9e753c4001ed951db2896edc1021b6d0f547a0bd2a27c30ada51')
- version('0.65.0', sha256='89c8cf73f83efda78c5a9bd37c28f4593ad0e8a51556dbe39ed81e1ae2dd8f07')
- version('0.64.0', sha256='b21df92ca99f78067785cf2dc8e06deb04726b62389c0ee1f5d8b103c77f64b1')
- version('0.61.1', sha256='1266096343f5163c1a585124e9a6d44474e1345de5cdfe55dc7b47357bcfcda9')
-
- variant('boost', default=False, description='Enable Boost for Splash')
- variant('cms', default=False, description='Use color management system')
- variant('cpp', default=False, description='Compile poppler cpp wrapper')
- variant('glib', default=False, description='Compile poppler glib wrapper')
- variant('gobject', default=False, description='Generate GObject introspection')
- variant('libcurl', default=False, description='Build libcurl based HTTP support')
- variant('openjpeg', default=False, description='Use libopenjpeg for JPX streams')
- variant('qt', default=False, description='Compile poppler qt wrapper')
- variant('zlib', default=False, description='Build with zlib')
- variant('iconv', default=False, description='Search for Iconv package')
- variant('jpeg', default=False, description='Search for JPEG package')
- variant('png', default=False, description='Search for PNG package')
- variant('tiff', default=False, description='Search for TIFF package')
-
- depends_on('cmake@3.1.0:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('poppler-data', type=('build', 'run'))
- depends_on('fontconfig')
- depends_on('freetype')
-
- depends_on('boost@1.58.0:', when='+boost')
- depends_on('lcms', when='+cms')
- depends_on('glib@2.41:', when='+glib')
- depends_on('gobject-introspection', when='+gobject')
- depends_on('curl', when='+libcurl')
- depends_on('openjpeg', when='+openjpeg')
- depends_on('qt@4.0:', when='+qt')
- depends_on('zlib', when='+zlib')
- depends_on('cairo+ft@1.10.0:', when='+glib')
- depends_on('iconv', when='+iconv')
- depends_on('jpeg', when='+jpeg')
- depends_on('libpng', when='+png')
- depends_on('libtiff', when='+tiff')
-
- depends_on('qt@5.0:', when='@0.62.0:+qt')
- depends_on('qt@4.0:4.8.6', when='@:0.61+qt')
+ git = "https://gitlab.freedesktop.org/poppler/poppler.git"
+
+ version("master", branch="master")
+ version("21.09.0", sha256="5a47fef738c2b99471f9b459a8bf8b40aefb7eed92caa4861c3798b2e126d05b")
+ version("21.07.0", sha256="e26ab29f68065de4d6562f0a3e2b5435a83ca92be573b99a1c81998fa286a4d4")
+ version("0.90.1", sha256="984d82e72e91418d280885298c8bdc855a2fd92665fd52a1345b27235e0c71c4")
+ version("0.87.0", sha256="6f602b9c24c2d05780be93e7306201012e41459f289b8279a27a79431ad4150e")
+ version("0.79.0", sha256="f985a4608fe592d2546d9d37d4182e502ff6b4c42f8db4be0a021a1c369528c8")
+ version("0.77.0", sha256="7267eb4cbccd64a58244b8211603c1c1b6bf32c7f6a4ced2642865346102f36b")
+ version("0.72.0", sha256="c1747eb8f26e9e753c4001ed951db2896edc1021b6d0f547a0bd2a27c30ada51")
+ version("0.65.0", sha256="89c8cf73f83efda78c5a9bd37c28f4593ad0e8a51556dbe39ed81e1ae2dd8f07")
+ version("0.64.0", sha256="b21df92ca99f78067785cf2dc8e06deb04726b62389c0ee1f5d8b103c77f64b1")
+ version("0.61.1", sha256="1266096343f5163c1a585124e9a6d44474e1345de5cdfe55dc7b47357bcfcda9")
+
+ variant("boost", default=False, description="Enable Boost for Splash")
+ variant("cms", default=False, description="Use color management system")
+ variant("cpp", default=False, description="Compile poppler cpp wrapper")
+ variant("glib", default=False, description="Compile poppler glib wrapper")
+ variant("gobject", default=False, description="Generate GObject introspection")
+ variant("libcurl", default=False, description="Build libcurl based HTTP support")
+ variant("openjpeg", default=False, description="Use libopenjpeg for JPX streams")
+ variant("qt", default=False, description="Compile poppler qt wrapper")
+ variant("zlib", default=False, description="Build with zlib")
+ variant("iconv", default=False, description="Search for Iconv package")
+ variant("jpeg", default=False, description="Search for JPEG package")
+ variant("png", default=False, description="Search for PNG package")
+ variant("tiff", default=False, description="Search for TIFF package")
+
+ depends_on("cmake@3.1.0:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("poppler-data", type=("build", "run"))
+ depends_on("fontconfig")
+ depends_on("freetype")
+
+ depends_on("boost@1.58.0:", when="+boost")
+ depends_on("lcms", when="+cms")
+ depends_on("glib@2.41:", when="+glib")
+ depends_on("gobject-introspection", when="+gobject")
+ depends_on("curl", when="+libcurl")
+ depends_on("openjpeg", when="+openjpeg")
+ depends_on("qt@4.0:", when="+qt")
+ depends_on("zlib", when="+zlib")
+ depends_on("cairo+ft@1.10.0:", when="+glib")
+ depends_on("iconv", when="+iconv")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libpng", when="+png")
+ depends_on("libtiff", when="+tiff")
+
+ depends_on("qt@5.0:", when="@0.62.0:+qt")
+ depends_on("qt@4.0:4.8.6", when="@:0.61+qt")
# Splash is unconditionally disabled. Unfortunately there's
# a small section of code in the QT5 wrappers that expects it
# to be present.
- patch('poppler_page_splash.patch', when='@0.64.0:0.90.0 ^qt@5.0:')
- patch('poppler_page_splash.0.90.1.patch', when='@0.90.1:21.06 ^qt@5.0:')
+ patch("poppler_page_splash.patch", when="@0.64.0:0.90.0 ^qt@5.0:")
+ patch("poppler_page_splash.0.90.1.patch", when="@0.90.1:21.06 ^qt@5.0:")
# Only needed to run `make test`
resource(
- name='test',
- git='https://anongit.freedesktop.org/git/poppler/test.git',
- placement='testdata'
+ name="test",
+ git="https://anongit.freedesktop.org/git/poppler/test.git",
+ placement="testdata",
)
def cmake_args(self):
spec = self.spec
args = [
- '-DTESTDATADIR={0}'.format(
- join_path(self.stage.source_path, 'testdata')),
+ "-DTESTDATADIR={0}".format(join_path(self.stage.source_path, "testdata")),
# TODO: Add packages for these missing dependencies
- '-DENABLE_SPLASH=OFF',
- '-DWITH_NSS3=OFF',
+ "-DENABLE_SPLASH=OFF",
+ "-DWITH_NSS3=OFF",
]
# Install header files
- args.append('-DENABLE_UNSTABLE_API_ABI_HEADERS=ON')
+ args.append("-DENABLE_UNSTABLE_API_ABI_HEADERS=ON")
- if '+boost' in spec:
- args.append('-DENABLE_BOOST=ON')
+ if "+boost" in spec:
+ args.append("-DENABLE_BOOST=ON")
else:
- args.append('-DENABLE_BOOST=OFF')
+ args.append("-DENABLE_BOOST=OFF")
- if '+cms' in spec:
- args.append('-DENABLE_CMS=lcms2')
+ if "+cms" in spec:
+ args.append("-DENABLE_CMS=lcms2")
else:
- args.append('-DENABLE_CMS=none')
+ args.append("-DENABLE_CMS=none")
- if '+cpp' in spec:
- args.append('-DENABLE_CPP=ON')
+ if "+cpp" in spec:
+ args.append("-DENABLE_CPP=ON")
else:
- args.append('-DENABLE_CPP=OFF')
-
- if '+glib' in spec:
- args.extend([
- '-DENABLE_GLIB=ON',
- '-DWITH_GLIB=ON',
- '-DWITH_Cairo=ON',
- ])
+ args.append("-DENABLE_CPP=OFF")
+
+ if "+glib" in spec:
+ args.extend(
+ [
+ "-DENABLE_GLIB=ON",
+ "-DWITH_GLIB=ON",
+ "-DWITH_Cairo=ON",
+ ]
+ )
else:
- args.extend([
- '-DENABLE_GLIB=OFF',
- '-DWITH_GLIB=OFF',
- '-DWITH_Cairo=OFF',
- ])
-
- if '+gobject' in spec:
- args.append('-DENABLE_GOBJECT_INTROSPECTION=ON')
+ args.extend(
+ [
+ "-DENABLE_GLIB=OFF",
+ "-DWITH_GLIB=OFF",
+ "-DWITH_Cairo=OFF",
+ ]
+ )
+
+ if "+gobject" in spec:
+ args.append("-DENABLE_GOBJECT_INTROSPECTION=ON")
else:
- args.append('-DENABLE_GOBJECT_INTROSPECTION=OFF')
+ args.append("-DENABLE_GOBJECT_INTROSPECTION=OFF")
- if '+libcurl' in spec:
- args.append('-DENABLE_LIBCURL=ON')
+ if "+libcurl" in spec:
+ args.append("-DENABLE_LIBCURL=ON")
else:
- args.append('-DENABLE_LIBCURL=OFF')
+ args.append("-DENABLE_LIBCURL=OFF")
- if '+openjpeg' in spec:
- args.append('-DENABLE_LIBOPENJPEG=openjpeg2')
+ if "+openjpeg" in spec:
+ args.append("-DENABLE_LIBOPENJPEG=openjpeg2")
else:
- args.append('-DENABLE_LIBOPENJPEG=none')
-
- if '+qt' in spec and spec.satisfies('^qt@4.0:4.8.6'):
- args.append('-DENABLE_QT4=ON')
- args.append('-DENABLE_QT5=OFF')
- elif '+qt' in spec and spec.satisfies('^qt@5.0:'):
- args.append('-DENABLE_QT5=ON')
- args.append('-DENABLE_QT4=OFF')
+ args.append("-DENABLE_LIBOPENJPEG=none")
+
+ if "+qt" in spec and spec.satisfies("^qt@4.0:4.8.6"):
+ args.append("-DENABLE_QT4=ON")
+ args.append("-DENABLE_QT5=OFF")
+ elif "+qt" in spec and spec.satisfies("^qt@5.0:"):
+ args.append("-DENABLE_QT5=ON")
+ args.append("-DENABLE_QT4=OFF")
else:
- args.append('-DENABLE_QT4=OFF')
- args.append('-DENABLE_QT5=OFF')
+ args.append("-DENABLE_QT4=OFF")
+ args.append("-DENABLE_QT5=OFF")
- if '+zlib' in spec:
- args.append('-DENABLE_ZLIB=ON')
+ if "+zlib" in spec:
+ args.append("-DENABLE_ZLIB=ON")
else:
- args.append('-DENABLE_ZLIB=OFF')
+ args.append("-DENABLE_ZLIB=OFF")
- if '+iconv' in spec:
- args.append('-DWITH_Iconv=ON')
+ if "+iconv" in spec:
+ args.append("-DWITH_Iconv=ON")
else:
- args.append('-DWITH_Iconv=OFF')
+ args.append("-DWITH_Iconv=OFF")
- if '+jpeg' in spec:
- args.extend([
- '-DENABLE_DCTDECODER=libjpeg',
- '-DWITH_JPEG=ON'
- ])
+ if "+jpeg" in spec:
+ args.extend(["-DENABLE_DCTDECODER=libjpeg", "-DWITH_JPEG=ON"])
else:
- args.extend([
- '-DENABLE_DCTDECODER=none',
- '-DWITH_JPEG=OFF'
- ])
+ args.extend(["-DENABLE_DCTDECODER=none", "-DWITH_JPEG=OFF"])
- if '+png' in spec:
- args.append('-DWITH_PNG=ON')
+ if "+png" in spec:
+ args.append("-DWITH_PNG=ON")
else:
- args.append('-DWITH_PNG=OFF')
+ args.append("-DWITH_PNG=OFF")
- if '+tiff' in spec:
- args.append('-DWITH_TIFF=ON')
+ if "+tiff" in spec:
+ args.append("-DWITH_TIFF=ON")
else:
- args.append('-DWITH_TIFF=OFF')
+ args.append("-DWITH_TIFF=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/popt/package.py b/var/spack/repos/builtin/packages/popt/package.py
index c1aaf573ca..89e720876e 100644
--- a/var/spack/repos/builtin/packages/popt/package.py
+++ b/var/spack/repos/builtin/packages/popt/package.py
@@ -10,14 +10,15 @@ class Popt(AutotoolsPackage):
"""The popt library parses command line options."""
homepage = "https://launchpad.net/popt"
- url = "https://launchpad.net/popt/head/1.16/+download/popt-1.16.tar.gz"
+ url = "https://launchpad.net/popt/head/1.16/+download/popt-1.16.tar.gz"
- version('1.16', sha256='e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8')
+ version("1.16", sha256="e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8")
- depends_on('iconv')
+ depends_on("iconv")
def patch(self):
# Remove flags not recognized by the NVIDIA compilers
- if self.spec.satisfies('%nvhpc@:20.11'):
- filter_file('CFLAGS="$CFLAGS -Wall -W"',
- 'CFLAGS="$CFLAGS -Wall"', 'configure', string=True)
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ filter_file(
+ 'CFLAGS="$CFLAGS -Wall -W"', 'CFLAGS="$CFLAGS -Wall"', "configure", string=True
+ )
diff --git a/var/spack/repos/builtin/packages/porta/package.py b/var/spack/repos/builtin/packages/porta/package.py
index cb6693622a..1d5fb3fd30 100644
--- a/var/spack/repos/builtin/packages/porta/package.py
+++ b/var/spack/repos/builtin/packages/porta/package.py
@@ -10,10 +10,11 @@ from spack.package import *
class Porta(Package):
"""PORTA is a collection of routines for analyzing polytopes and
polyhedra"""
+
homepage = "https://porta.zib.de"
- url = "https://porta.zib.de/porta-1.4.1.zip"
+ url = "https://porta.zib.de/porta-1.4.1.zip"
- version('1.4.1', sha256='21e3784f46f4f2154100a0c39cbd9211a26e513ffe0c9f70ab75a3bb2810b059')
+ version("1.4.1", sha256="21e3784f46f4f2154100a0c39cbd9211a26e513ffe0c9f70ab75a3bb2810b059")
depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py
index 1d71d22ccb..1d6bbcd00c 100644
--- a/var/spack/repos/builtin/packages/portage/package.py
+++ b/var/spack/repos/builtin/packages/portage/package.py
@@ -9,97 +9,104 @@ from spack.package import *
class Portage(CMakePackage):
"""Portage is a framework that computational physics applications can use
- to build a highly customized, hybrid parallel (MPI+X) conservative
- remapping library for transfer of field data between meshes.
+ to build a highly customized, hybrid parallel (MPI+X) conservative
+ remapping library for transfer of field data between meshes.
"""
+
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"
+ git = "https://github.com/laristra/portage.git"
+ url = "https://github.com/laristra/portage/releases/download/3.0.0/portage-3.0.0.tar.gz"
- maintainers = ['raovgarimella']
+ maintainers = ["raovgarimella"]
# tarballs don't have submodules, so use git tags
- version('3.0.0', sha256='7a5a21ffbc35fa54a5136d937cfda6f836c7496ff2b5adf54deb4107501333da')
- version('master', branch='master', submodules=True)
-
- variant('mpi', default=True, description='Support MPI')
- variant('tangram', default=False, description='Use Tangram interface reconstruction package')
- variant('jali', default=False, description='Include support for Jali mesh framework')
- variant('thrust', default=False, description='Enable on-node parallelism using NVidia Thrust library')
- variant('kokkos', default=False, description='Enable on-node or device parallelism with Kokkos')
- variant('openmp', default=False, description="Enable on-node parallelism using OpenMP")
- variant('cuda', default=False, description="Enable GPU parallelism using CUDA")
-
- depends_on("cmake@3.13:", type='build')
-
- depends_on('mpi', when='+mpi')
- depends_on('kokkos', when='+kokkos')
- depends_on('thrust', when='+thrust')
- depends_on('jali', when='+jali')
-
- depends_on('tangram', when='+tangram')
-
- for _variant in ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']:
- depends_on('tangram+' + _variant, when='+tangram+' + _variant)
- depends_on('tangram~' + _variant, when='+tangram~' + _variant)
-
- depends_on('wonton')
+ version("3.0.0", sha256="7a5a21ffbc35fa54a5136d937cfda6f836c7496ff2b5adf54deb4107501333da")
+ version("master", branch="master", submodules=True)
+
+ variant("mpi", default=True, description="Support MPI")
+ variant("tangram", default=False, description="Use Tangram interface reconstruction package")
+ variant("jali", default=False, description="Include support for Jali mesh framework")
+ variant(
+ "thrust",
+ default=False,
+ description="Enable on-node parallelism using NVidia Thrust library",
+ )
+ variant(
+ "kokkos", default=False, description="Enable on-node or device parallelism with Kokkos"
+ )
+ variant("openmp", default=False, description="Enable on-node parallelism using OpenMP")
+ variant("cuda", default=False, description="Enable GPU parallelism using CUDA")
+
+ depends_on("cmake@3.13:", type="build")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("kokkos", when="+kokkos")
+ depends_on("thrust", when="+thrust")
+ depends_on("jali", when="+jali")
+
+ depends_on("tangram", when="+tangram")
+
+ for _variant in ["mpi", "jali", "openmp", "thrust", "kokkos", "cuda"]:
+ depends_on("tangram+" + _variant, when="+tangram+" + _variant)
+ depends_on("tangram~" + _variant, when="+tangram~" + _variant)
+
+ depends_on("wonton")
# Wonton depends array
- wonton_variant = ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']
+ wonton_variant = ["mpi", "jali", "openmp", "thrust", "kokkos", "cuda"]
for _variant in wonton_variant:
- depends_on('wonton+' + _variant, when='+' + _variant)
- depends_on('wonton~' + _variant, when='~' + _variant)
+ depends_on("wonton+" + _variant, when="+" + _variant)
+ depends_on("wonton~" + _variant, when="~" + _variant)
# Jali needs MPI
- conflicts('+jali ~mpi')
+ conflicts("+jali ~mpi")
# Thrust with CUDA does not work as yet
- conflicts('+thrust +cuda')
+ conflicts("+thrust +cuda")
# Don't enable Kokkos and Thrust simultaneously
- conflicts('+thrust +kokkos')
+ conflicts("+thrust +kokkos")
def cmake_args(self):
options = []
- if '+mpi' in self.spec:
- options.append('-DPORTAGE_ENABLE_MPI=ON')
+ if "+mpi" in self.spec:
+ options.append("-DPORTAGE_ENABLE_MPI=ON")
else:
- options.append('-DPORTAGE_ENABLE_MPI=OFF')
+ options.append("-DPORTAGE_ENABLE_MPI=OFF")
- if '+thrust' in self.spec:
- options.append('-DPORTAGE_ENABLE_THRUST=ON')
+ if "+thrust" in self.spec:
+ options.append("-DPORTAGE_ENABLE_THRUST=ON")
else:
- options.append('-DPORTAGE_ENABLE_THRUST=OFF')
+ options.append("-DPORTAGE_ENABLE_THRUST=OFF")
- if '+kokkos' in self.spec:
- options.append('-DPORTAGE_ENABLE_Kokkos=ON')
+ if "+kokkos" in self.spec:
+ options.append("-DPORTAGE_ENABLE_Kokkos=ON")
else:
- options.append('-DPORTAGE_ENABLE_Kokkos=OFF')
+ options.append("-DPORTAGE_ENABLE_Kokkos=OFF")
- if '+jali' in self.spec:
- options.append('-DPORTAGE_ENABLE_Jali=ON')
+ if "+jali" in self.spec:
+ options.append("-DPORTAGE_ENABLE_Jali=ON")
else:
- options.append('-DPORTAGE_ENABLE_Jali=OFF')
+ options.append("-DPORTAGE_ENABLE_Jali=OFF")
- if '+flecsisp' in self.spec:
- options.append('-DPORTAGE_ENABLE_FleCSI=ON')
+ if "+flecsisp" in self.spec:
+ options.append("-DPORTAGE_ENABLE_FleCSI=ON")
else:
- options.append('-DPORTAGE_ENABLE_FleCSI=OFF')
+ options.append("-DPORTAGE_ENABLE_FleCSI=OFF")
- if '+tangram' in self.spec:
- options.append('-DPORTAGE_ENABLE_TANGRAM=ON')
+ if "+tangram" in self.spec:
+ options.append("-DPORTAGE_ENABLE_TANGRAM=ON")
else:
- options.append('-DPORTAGE_ENABLE_TANGRAM=OFF')
+ options.append("-DPORTAGE_ENABLE_TANGRAM=OFF")
# Unit test variant
if self.run_tests:
- options.append('-DENABLE_UNIT_TESTS=ON')
- options.append('-DENABLE_APP_TESTS=ON')
+ options.append("-DENABLE_UNIT_TESTS=ON")
+ options.append("-DENABLE_APP_TESTS=ON")
else:
- options.append('-DENABLE_UNIT_TESTS=OFF')
- options.append('-DENABLE_APP_TESTS=OFF')
+ options.append("-DENABLE_UNIT_TESTS=OFF")
+ options.append("-DENABLE_APP_TESTS=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/portcullis/package.py b/var/spack/repos/builtin/packages/portcullis/package.py
index 0aa3c0b1df..b0e4eb8100 100644
--- a/var/spack/repos/builtin/packages/portcullis/package.py
+++ b/var/spack/repos/builtin/packages/portcullis/package.py
@@ -11,47 +11,44 @@ class Portcullis(AutotoolsPackage):
"""PORTable CULLing of Invalid Splice junctions"""
homepage = "https://github.com/EI-CoreBioinformatics/portcullis"
- url = "https://github.com/EI-CoreBioinformatics/portcullis/archive/refs/tags/Release-1.1.2.tar.gz"
+ url = "https://github.com/EI-CoreBioinformatics/portcullis/archive/refs/tags/Release-1.1.2.tar.gz"
- version('1.2.3', sha256='172452b5cef12a8dcc2c1c68527000743114136ee63a0dbe307ac4e2a816bc99')
- version('1.1.2', sha256='5c581a7f827ffeecfe68107b7fe27ed60108325fd2f86a79d93f61b328687749')
+ version("1.2.3", sha256="172452b5cef12a8dcc2c1c68527000743114136ee63a0dbe307ac4e2a816bc99")
+ version("1.1.2", sha256="5c581a7f827ffeecfe68107b7fe27ed60108325fd2f86a79d93f61b328687749")
- depends_on('autoconf@2.53:', type='build')
- depends_on('automake@1.11:', type='build')
- depends_on('libtool@2.4.2:', type='build')
- depends_on('boost')
- depends_on('m4', type='build')
+ depends_on("autoconf@2.53:", type="build")
+ depends_on("automake@1.11:", type="build")
+ depends_on("libtool@2.4.2:", type="build")
+ depends_on("boost")
+ depends_on("m4", type="build")
- depends_on('zlib', type='build')
- depends_on('samtools', type='build')
+ depends_on("zlib", type="build")
+ depends_on("samtools", type="build")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
# later versions of py-sphinx don't get detected by the configure script
- depends_on('py-sphinx@1.3:1.4')
+ depends_on("py-sphinx@1.3:1.4")
def patch(self):
# remove static linking to libstdc++
- filter_file(
- 'AM_LDFLAGS="-static-libstdc++"',
- 'AM_LDFLAGS=""',
- 'configure.ac', string=True
- )
+ filter_file('AM_LDFLAGS="-static-libstdc++"', 'AM_LDFLAGS=""', "configure.ac", string=True)
# prevent install scripts from ruining our PYTHONPATH
filter_file(
- 'export PYTHONPATH=$(DESTDIR)$(pythondir)',
+ "export PYTHONPATH=$(DESTDIR)$(pythondir)",
'export PYTHONPATH="$(PYTHONPATH):$(DESTDIR)$(pythondir)"',
- 'scripts/Makefile.am', string=True
+ "scripts/Makefile.am",
+ string=True,
)
# remove -m64 on aarch64
- if self.spec.target.family == 'aarch64':
- for f in ['lib/Makefile.am', 'src/Makefile.am']:
- filter_file('-m64', '', f)
+ if self.spec.target.family == "aarch64":
+ for f in ["lib/Makefile.am", "src/Makefile.am"]:
+ filter_file("-m64", "", f)
def build(self, spec, prefix):
# build manpages
- make('man')
+ make("man")
diff --git a/var/spack/repos/builtin/packages/ports-of-call/package.py b/var/spack/repos/builtin/packages/ports-of-call/package.py
index ef64e1403f..c51b8cf389 100644
--- a/var/spack/repos/builtin/packages/ports-of-call/package.py
+++ b/var/spack/repos/builtin/packages/ports-of-call/package.py
@@ -9,19 +9,24 @@ from spack.package import *
class PortsOfCall(CMakePackage):
"""Ports of Call: Performance Portability Utilities"""
- homepage = "https://github.com/lanl/ports-of-call"
- url = "https://github.com/lanl/ports-of-call/archive/refs/tags/v1.1.0.tar.gz"
- git = "https://github.com/lanl/ports-of-call.git"
+ homepage = "https://github.com/lanl/ports-of-call"
+ url = "https://github.com/lanl/ports-of-call/archive/refs/tags/v1.1.0.tar.gz"
+ git = "https://github.com/lanl/ports-of-call.git"
- maintainers = ['rbberger']
+ maintainers = ["rbberger"]
version("main", branch="main")
- version('1.2.0', sha256='b802ffa07c5f34ea9839f23841082133d8af191efe5a526cb7e53ec338ac146b')
- version('1.1.0', sha256='c47f7e24c82176b69229a2bcb23a6adcf274dc90ec77a452a36ccae0b12e6e39')
+ version("1.2.0", sha256="b802ffa07c5f34ea9839f23841082133d8af191efe5a526cb7e53ec338ac146b")
+ version("1.1.0", sha256="c47f7e24c82176b69229a2bcb23a6adcf274dc90ec77a452a36ccae0b12e6e39")
variant("doc", default=False, description="Sphinx Documentation Support")
- variant("portability_strategy", description="Portability strategy backend",
- values=("Kokkos", "Cuda", "None"), multi=False, default="None")
+ variant(
+ "portability_strategy",
+ description="Portability strategy backend",
+ values=("Kokkos", "Cuda", "None"),
+ multi=False,
+ default="None",
+ )
depends_on("cmake@3.12:")
@@ -30,7 +35,5 @@ class PortsOfCall(CMakePackage):
depends_on("py-sphinx-multiversion", when="+doc")
def cmake_args(self):
- args = [
- self.define_from_variant("PORTABILITY_STRATEGY", "portability_strategy")
- ]
+ args = [self.define_from_variant("PORTABILITY_STRATEGY", "portability_strategy")]
return args
diff --git a/var/spack/repos/builtin/packages/postgis/package.py b/var/spack/repos/builtin/packages/postgis/package.py
index 1c5c62e0e5..7897ae47f9 100644
--- a/var/spack/repos/builtin/packages/postgis/package.py
+++ b/var/spack/repos/builtin/packages/postgis/package.py
@@ -14,51 +14,49 @@ class Postgis(AutotoolsPackage):
"""
homepage = "https://postgis.net/"
- url = "https://download.osgeo.org/postgis/source/postgis-2.5.3.tar.gz"
+ url = "https://download.osgeo.org/postgis/source/postgis-2.5.3.tar.gz"
- version('3.0.1', sha256='5a5432f95150d9bae9215c6d1c7bb354e060482a7c379daa9b8384e1d03e6353')
- version('3.0.0', sha256='c06fd2cd5cea0119106ffe17a7235d893c2bbe6f4b63c8617c767630973ba594')
- version('2.5.3', sha256='72e8269d40f981e22fb2b78d3ff292338e69a4f5166e481a77b015e1d34e559a')
+ version("3.0.1", sha256="5a5432f95150d9bae9215c6d1c7bb354e060482a7c379daa9b8384e1d03e6353")
+ version("3.0.0", sha256="c06fd2cd5cea0119106ffe17a7235d893c2bbe6f4b63c8617c767630973ba594")
+ version("2.5.3", sha256="72e8269d40f981e22fb2b78d3ff292338e69a4f5166e481a77b015e1d34e559a")
variant(
- 'gui',
+ "gui",
default=False,
description=(
- 'Build with GUI support, creating shp2pgsql-gui graphical interface '
- 'to shp2pgsql'
- )
+ "Build with GUI support, creating shp2pgsql-gui graphical interface " "to shp2pgsql"
+ ),
)
# Refs:
# https://postgis.net/docs/postgis_installation.html
# https://postgis.net/source/
- depends_on('postgresql')
- depends_on('geos')
- depends_on('proj')
- depends_on('gdal')
- depends_on('libxml2')
- depends_on('json-c')
+ depends_on("postgresql")
+ depends_on("geos")
+ depends_on("proj")
+ depends_on("gdal")
+ depends_on("libxml2")
+ depends_on("json-c")
- depends_on('sfcgal')
- depends_on('pcre')
- depends_on('perl', type=('build', 'run'))
- depends_on('protobuf-c')
+ depends_on("sfcgal")
+ depends_on("pcre")
+ depends_on("perl", type=("build", "run"))
+ depends_on("protobuf-c")
- depends_on('gtkplus@:2.24.32', when='+gui')
+ depends_on("gtkplus@:2.24.32", when="+gui")
def setup_build_environment(self, env):
- env.set('POSTGIS_GDAL_ENABLED_DRIVERS', 'ENABLE_ALL')
+ env.set("POSTGIS_GDAL_ENABLED_DRIVERS", "ENABLE_ALL")
def setup_run_environment(self, env):
- env.set('POSTGIS_GDAL_ENABLED_DRIVERS', 'ENABLE_ALL')
+ env.set("POSTGIS_GDAL_ENABLED_DRIVERS", "ENABLE_ALL")
def configure_args(self):
args = []
- args.append('--with-sfcgal=' + str(self.spec['sfcgal'].prefix.bin) +
- '/sfcgal-config')
- if '+gui' in self.spec:
- args.append('--with-gui')
+ args.append("--with-sfcgal=" + str(self.spec["sfcgal"].prefix.bin) + "/sfcgal-config")
+ if "+gui" in self.spec:
+ args.append("--with-gui")
return args
# By default package installs under postgresql prefix.
@@ -69,20 +67,27 @@ class Postgis(AutotoolsPackage):
# https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/geo.scm#n720
def build(self, spec, prefix):
- make('bindir=' + prefix.bin, 'libdir=' + prefix.lib,
- 'pkglibdir=' + prefix.lib, 'datadir=' + prefix.share,
- 'docdir=' + prefix.share.doc)
+ make(
+ "bindir=" + prefix.bin,
+ "libdir=" + prefix.lib,
+ "pkglibdir=" + prefix.lib,
+ "datadir=" + prefix.share,
+ "docdir=" + prefix.share.doc,
+ )
def install(self, spec, prefix):
- make('install', 'bindir=' + prefix.bin, 'libdir=' + prefix.lib,
- 'pkglibdir=' + prefix.lib, 'datadir=' + prefix.share,
- 'docdir=' + prefix.share.doc)
+ make(
+ "install",
+ "bindir=" + prefix.bin,
+ "libdir=" + prefix.lib,
+ "pkglibdir=" + prefix.lib,
+ "datadir=" + prefix.share,
+ "docdir=" + prefix.share.doc,
+ )
- @run_before('build')
+ @run_before("build")
def fix_raster_bindir(self):
- makefile = FileFilter('raster/loader/Makefile')
- makefile.filter('$(DESTDIR)$(PGSQL_BINDIR)', self.prefix.bin,
- string=True)
- makefile = FileFilter('raster/scripts/Makefile')
- makefile.filter('$(DESTDIR)$(PGSQL_BINDIR)', self.prefix.bin,
- string=True)
+ makefile = FileFilter("raster/loader/Makefile")
+ makefile.filter("$(DESTDIR)$(PGSQL_BINDIR)", self.prefix.bin, string=True)
+ makefile = FileFilter("raster/scripts/Makefile")
+ makefile.filter("$(DESTDIR)$(PGSQL_BINDIR)", self.prefix.bin, string=True)
diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py
index 2fb7748114..c162567fad 100644
--- a/var/spack/repos/builtin/packages/postgresql/package.py
+++ b/var/spack/repos/builtin/packages/postgresql/package.py
@@ -15,48 +15,50 @@ class Postgresql(AutotoolsPackage):
correctness."""
homepage = "https://www.postgresql.org/"
- url = "https://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2"
+ url = "https://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
- version('14.0', sha256='ee2ad79126a7375e9102c4db77c4acae6ae6ffe3e082403b88826d96d927a122')
- version('12.2', sha256='ad1dcc4c4fc500786b745635a9e1eba950195ce20b8913f50345bb7d5369b5de')
- version('11.2', sha256='2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405')
- version('11.1', sha256='90815e812874831e9a4bf6e1136bf73bc2c5a0464ef142e2dfea40cda206db08')
- version('11.0', sha256='bf9bba03d0c3902c188af12e454b35343c4a9bf9e377ec2fe50132efb44ef36b')
- version('10.7', sha256='bfed1065380c1bba927bfe51f23168471373f26e3324cbad859269cc32733ede')
- version('10.6', sha256='68a8276f08bda8fbefe562faaf8831cb20664a7a1d3ffdbbcc5b83e08637624b')
- version('10.5', sha256='6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011')
- version('10.4', sha256='1b60812310bd5756c62d93a9f93de8c28ea63b0df254f428cd1cf1a4d9020048')
- version('10.3', sha256='6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a')
- version('10.2', sha256='fe32009b62ddb97f7f014307ce9d0edb6972f5a698e63cb531088e147d145bad')
- version('10.1', sha256='3ccb4e25fe7a7ea6308dea103cac202963e6b746697366d72ec2900449a5e713')
- version('10.0', sha256='712f5592e27b81c5b454df96b258c14d94b6b03836831e015c65d6deeae57fd1')
- version('9.6.12', sha256='2e8c8446ba94767bda8a26cf5a2152bf0ae68a86aaebf894132a763084579d84')
- version('9.6.11', sha256='38250adc69a1e8613fb926c894cda1d01031391a03648894b9a6e13ff354a530')
- version('9.5.3', sha256='7385c01dc58acba8d7ac4e6ad42782bd7c0b59272862a3a3d5fe378d4503a0b4')
- version('9.3.4', sha256='9ee819574dfc8798a448dc23a99510d2d8924c2f8b49f8228cd77e4efc8a6621')
-
- variant('client_only', default=False,
- description='Build and install client only.')
- variant('threadsafe', default=False, description='Build with thread safe.')
- variant('lineedit', default='readline',
- values=('readline', 'libedit', 'none'), multi=False,
- description='Line editing library')
- variant('python', default=False, description='Enable Python bindings.')
- variant('perl', default=False, description='Enable Perl bindings.')
- variant('tcl', default=False, description='Enable Tcl bindings.')
- variant('gssapi', default=False,
- description='Build with GSSAPI functionality.')
- variant('xml', default=False, description='Build with XML support.')
-
- depends_on('readline', when='lineedit=readline')
- depends_on('libedit', when='lineedit=libedit')
- depends_on('openssl')
- depends_on('tcl', when='+tcl')
- depends_on('perl', when='+perl')
- depends_on('python', when='+python')
- depends_on('libxml2', when='+xml')
+ version("14.0", sha256="ee2ad79126a7375e9102c4db77c4acae6ae6ffe3e082403b88826d96d927a122")
+ version("12.2", sha256="ad1dcc4c4fc500786b745635a9e1eba950195ce20b8913f50345bb7d5369b5de")
+ version("11.2", sha256="2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405")
+ version("11.1", sha256="90815e812874831e9a4bf6e1136bf73bc2c5a0464ef142e2dfea40cda206db08")
+ version("11.0", sha256="bf9bba03d0c3902c188af12e454b35343c4a9bf9e377ec2fe50132efb44ef36b")
+ version("10.7", sha256="bfed1065380c1bba927bfe51f23168471373f26e3324cbad859269cc32733ede")
+ version("10.6", sha256="68a8276f08bda8fbefe562faaf8831cb20664a7a1d3ffdbbcc5b83e08637624b")
+ version("10.5", sha256="6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011")
+ version("10.4", sha256="1b60812310bd5756c62d93a9f93de8c28ea63b0df254f428cd1cf1a4d9020048")
+ version("10.3", sha256="6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a")
+ version("10.2", sha256="fe32009b62ddb97f7f014307ce9d0edb6972f5a698e63cb531088e147d145bad")
+ version("10.1", sha256="3ccb4e25fe7a7ea6308dea103cac202963e6b746697366d72ec2900449a5e713")
+ version("10.0", sha256="712f5592e27b81c5b454df96b258c14d94b6b03836831e015c65d6deeae57fd1")
+ version("9.6.12", sha256="2e8c8446ba94767bda8a26cf5a2152bf0ae68a86aaebf894132a763084579d84")
+ version("9.6.11", sha256="38250adc69a1e8613fb926c894cda1d01031391a03648894b9a6e13ff354a530")
+ version("9.5.3", sha256="7385c01dc58acba8d7ac4e6ad42782bd7c0b59272862a3a3d5fe378d4503a0b4")
+ version("9.3.4", sha256="9ee819574dfc8798a448dc23a99510d2d8924c2f8b49f8228cd77e4efc8a6621")
+
+ variant("client_only", default=False, description="Build and install client only.")
+ variant("threadsafe", default=False, description="Build with thread safe.")
+ variant(
+ "lineedit",
+ default="readline",
+ values=("readline", "libedit", "none"),
+ multi=False,
+ description="Line editing library",
+ )
+ variant("python", default=False, description="Enable Python bindings.")
+ variant("perl", default=False, description="Enable Perl bindings.")
+ variant("tcl", default=False, description="Enable Tcl bindings.")
+ variant("gssapi", default=False, description="Build with GSSAPI functionality.")
+ variant("xml", default=False, description="Build with XML support.")
+
+ depends_on("readline", when="lineedit=readline")
+ depends_on("libedit", when="lineedit=libedit")
+ depends_on("openssl")
+ depends_on("tcl", when="+tcl")
+ depends_on("perl", when="+perl")
+ depends_on("python", when="+python")
+ depends_on("libxml2", when="+xml")
@property
def command(self):
@@ -65,89 +67,102 @@ class Postgresql(AutotoolsPackage):
def configure_args(self):
config_args = ["--with-openssl"]
- if '+threadsafe' in self.spec:
- config_args.append('--enable-thread-safety')
+ if "+threadsafe" in self.spec:
+ config_args.append("--enable-thread-safety")
else:
- config_args.append('--disable-thread-safety')
+ config_args.append("--disable-thread-safety")
- if self.spec.variants['lineedit'].value == 'libedit':
- config_args.append('--with-libedit-preferred')
- elif self.spec.variants['lineedit'].value == 'none':
- config_args.append('--without-readline')
+ if self.spec.variants["lineedit"].value == "libedit":
+ config_args.append("--with-libedit-preferred")
+ elif self.spec.variants["lineedit"].value == "none":
+ config_args.append("--without-readline")
- if '+gssapi' in self.spec:
- config_args.append('--with-gssapi')
+ if "+gssapi" in self.spec:
+ config_args.append("--with-gssapi")
- if '+python' in self.spec:
- config_args.append('--with-python')
+ if "+python" in self.spec:
+ config_args.append("--with-python")
- if '+perl' in self.spec:
- config_args.append('--with-perl')
+ if "+perl" in self.spec:
+ config_args.append("--with-perl")
- if '+tcl' in self.spec:
- config_args.append('--with-tcl')
+ if "+tcl" in self.spec:
+ config_args.append("--with-tcl")
- if '+xml' in self.spec:
- config_args.append('--with-libxml')
+ if "+xml" in self.spec:
+ config_args.append("--with-libxml")
return config_args
def install(self, spec, prefix):
- if '+client_only' in self.spec:
- for subdir in ('bin', 'include', 'interfaces', 'pl'):
- with working_dir(os.path.join('src', subdir)):
- make('install')
+ if "+client_only" in self.spec:
+ for subdir in ("bin", "include", "interfaces", "pl"):
+ with working_dir(os.path.join("src", subdir)):
+ make("install")
else:
AutotoolsPackage.install(self, spec, prefix)
def setup_run_environment(self, env):
spec = self.spec
- if '+perl' in spec:
- env.prepend_path('PERL5LIB', self.prefix.lib)
- if '+tcl' in spec:
- env.prepend_path('TCLLIBPATH', self.prefix.lib)
- if '+python' in spec:
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ if "+perl" in spec:
+ env.prepend_path("PERL5LIB", self.prefix.lib)
+ if "+tcl" in spec:
+ env.prepend_path("TCLLIBPATH", self.prefix.lib)
+ if "+python" in spec:
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
def setup_dependent_build_environment(self, env, dependent_spec):
spec = self.spec
- if '+perl' in spec:
- env.prepend_path('PERL5LIB', self.prefix.lib)
- if '+tcl' in spec:
- env.prepend_path('TCLLIBPATH', self.prefix.lib)
- if '+python' in spec:
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ if "+perl" in spec:
+ env.prepend_path("PERL5LIB", self.prefix.lib)
+ if "+tcl" in spec:
+ env.prepend_path("TCLLIBPATH", self.prefix.lib)
+ if "+python" in spec:
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
def setup_dependent_run_environment(self, env, dependent_spec):
spec = self.spec
- if '+perl' in spec:
- env.prepend_path('PERL5LIB', self.prefix.lib)
- if '+tcl' in spec:
- env.prepend_path('TCLLIBPATH', self.prefix.lib)
- if '+python' in spec:
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ if "+perl" in spec:
+ env.prepend_path("PERL5LIB", self.prefix.lib)
+ if "+tcl" in spec:
+ env.prepend_path("TCLLIBPATH", self.prefix.lib)
+ if "+python" in spec:
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
@property
def libs(self):
- stat_libs = ['libecpg_compat', 'libecpg', 'libpgcommon',
- 'libpgcommon_shlib', 'libpgfeutils', 'libpgport',
- 'libpgport_shlib', 'libpgtypes', 'libpq']
- fl_stat = find_libraries(stat_libs, self.prefix, shared=False,
- recursive=True)
-
- dyn_libs = ['libecpg_compat', 'libecpg', 'libpgtypes', 'libpq',
- 'libpqwalreceiver', 'plpgsql', 'pgoutput']
- if '+perl' in self.spec:
- dyn_libs.append('plperl')
- if '+python' in self.spec:
- dyn_libs.append('plpython')
- if '+tcl' in self.spec:
- dyn_libs.append('pltcl')
-
- fl_dyn = find_libraries(dyn_libs, self.prefix, shared=True,
- recursive=True)
+ stat_libs = [
+ "libecpg_compat",
+ "libecpg",
+ "libpgcommon",
+ "libpgcommon_shlib",
+ "libpgfeutils",
+ "libpgport",
+ "libpgport_shlib",
+ "libpgtypes",
+ "libpq",
+ ]
+ fl_stat = find_libraries(stat_libs, self.prefix, shared=False, recursive=True)
+
+ dyn_libs = [
+ "libecpg_compat",
+ "libecpg",
+ "libpgtypes",
+ "libpq",
+ "libpqwalreceiver",
+ "plpgsql",
+ "pgoutput",
+ ]
+ if "+perl" in self.spec:
+ dyn_libs.append("plperl")
+ if "+python" in self.spec:
+ dyn_libs.append("plpython")
+ if "+tcl" in self.spec:
+ dyn_libs.append("pltcl")
+
+ fl_dyn = find_libraries(dyn_libs, self.prefix, shared=True, recursive=True)
return fl_dyn + fl_stat
diff --git a/var/spack/repos/builtin/packages/povray/package.py b/var/spack/repos/builtin/packages/povray/package.py
index fb420b4692..c77b780104 100644
--- a/var/spack/repos/builtin/packages/povray/package.py
+++ b/var/spack/repos/builtin/packages/povray/package.py
@@ -30,24 +30,23 @@ class Povray(AutotoolsPackage):
# maintainers = ['payerle' ]
- version('3.7.0.8', sha256='53d11ebd2972fc452af168a00eb83aefb61387662c10784e81b63e44aa575de4')
-
- variant('boost', default=True, description='Build with boost support')
- variant('debug', default=False,
- description='Enable compiler debugging mode')
- variant('io-restrictions', default=True,
- description='Enable POV-Rays mechanism for control of I/O '
- 'operations')
- variant('jpeg', default=True, description='Build with jpeg support')
- variant('libpng', default=True, description='Build with libpng support')
- variant('libtiff', default=True, description='Build with libtiff support')
- variant('mkl', default=True, description='Build with Intel MKL support')
- variant('openexr', default=True, description='Build with OpenEXR support')
- variant('profile', default=False,
- description='Enable program execution profiling')
- variant('static', default=False,
- description='Build static instead shared binaries')
- variant('zlib', default=True, description='Build with zlib support')
+ version("3.7.0.8", sha256="53d11ebd2972fc452af168a00eb83aefb61387662c10784e81b63e44aa575de4")
+
+ variant("boost", default=True, description="Build with boost support")
+ variant("debug", default=False, description="Enable compiler debugging mode")
+ variant(
+ "io-restrictions",
+ default=True,
+ description="Enable POV-Rays mechanism for control of I/O " "operations",
+ )
+ variant("jpeg", default=True, description="Build with jpeg support")
+ variant("libpng", default=True, description="Build with libpng support")
+ variant("libtiff", default=True, description="Build with libtiff support")
+ variant("mkl", default=True, description="Build with Intel MKL support")
+ variant("openexr", default=True, description="Build with OpenEXR support")
+ variant("profile", default=False, description="Enable program execution profiling")
+ variant("static", default=False, description="Build static instead shared binaries")
+ variant("zlib", default=True, description="Build with zlib support")
# SDL support is limited to sdl version 1, not sdl2, and spack currently
# only supports sdl2
# variant('sdl', default=True,
@@ -57,43 +56,40 @@ class Povray(AutotoolsPackage):
# variant('x11', default=True, description='Build with X11 support')
# Build dependencies
- depends_on('autoconf@2.59:', type='build')
- depends_on('automake@1.9:', type='build')
- depends_on('perl', type='build')
- depends_on('m4', type='build')
- depends_on('boost@1.37:', when='+boost')
+ depends_on("autoconf@2.59:", type="build")
+ depends_on("automake@1.9:", type="build")
+ depends_on("perl", type="build")
+ depends_on("m4", type="build")
+ depends_on("boost@1.37:", when="+boost")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boost')
- depends_on('zlib@1.2.1:', when='+zlib')
- depends_on('libpng@1.2.5:', when='+libpng')
- depends_on('jpeg', when='+jpeg')
- depends_on('libtiff@3.6.1:', when='+libtiff')
- depends_on('mkl', when='+mkl')
- depends_on('openexr@1.2:', when='+openexr')
+ depends_on(Boost.with_default_variants, when="+boost")
+ depends_on("zlib@1.2.1:", when="+zlib")
+ depends_on("libpng@1.2.5:", when="+libpng")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libtiff@3.6.1:", when="+libtiff")
+ depends_on("mkl", when="+mkl")
+ depends_on("openexr@1.2:", when="+openexr")
# MKL conflicts
- conflicts('+mkl', when='target=aarch64:',
- msg='Intel MKL only runs on x86')
- conflicts('+mkl', when='target=ppc64:',
- msg='Intel MKL only runs on x86')
- conflicts('+mkl', when='target=ppc64le:',
- msg='Intel MKL only runs on x86')
+ conflicts("+mkl", when="target=aarch64:", msg="Intel MKL only runs on x86")
+ conflicts("+mkl", when="target=ppc64:", msg="Intel MKL only runs on x86")
+ conflicts("+mkl", when="target=ppc64le:", msg="Intel MKL only runs on x86")
# This patch enables prebuild.sh to be invoked from any directory
# (it immediately cds to the directory containing prebuild.sh)
# This is better than a broken check that it was called from the
# containing directory
- patch('fix_prebuild.sh.patch')
+ patch("fix_prebuild.sh.patch")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def run_prebuild_script(self):
# We need to run <build_dir>/unix/prebuild.sh
# and it must be run from within the directory containing it
- unix_dir = join_path(self.build_directory, 'unix')
- prebuild_path = join_path(unix_dir, 'prebuild.sh')
+ unix_dir = join_path(self.build_directory, "unix")
+ prebuild_path = join_path(unix_dir, "prebuild.sh")
prebuild_script = which(prebuild_path)
prebuild_script()
@@ -104,62 +100,58 @@ class Povray(AutotoolsPackage):
# We generate a generic using process owner and fqdn of build host.
fqdn = socket.getfqdn()
uname = getpass.getuser()
- compiled_by = 'Installed by spack <{0}@{1}>'.format(uname, fqdn)
- extra_args.append('COMPILED_BY={0}'.format(compiled_by))
-
- extra_args.append('--disable-silent-rules') # Verbose make output
- extra_args += self.enable_or_disable('debug')
- extra_args += self.enable_or_disable('io-restrictions')
- extra_args += self.enable_or_disable('profile')
- extra_args += self.enable_or_disable('static')
-
- if '+boost' in self.spec:
- extra_args.append('--with-boost={0}'.format(
- self.spec['boost'].prefix))
+ compiled_by = "Installed by spack <{0}@{1}>".format(uname, fqdn)
+ extra_args.append("COMPILED_BY={0}".format(compiled_by))
+
+ extra_args.append("--disable-silent-rules") # Verbose make output
+ extra_args += self.enable_or_disable("debug")
+ extra_args += self.enable_or_disable("io-restrictions")
+ extra_args += self.enable_or_disable("profile")
+ extra_args += self.enable_or_disable("static")
+
+ if "+boost" in self.spec:
+ extra_args.append("--with-boost={0}".format(self.spec["boost"].prefix))
else:
- extra_args.append('--without-boost')
+ extra_args.append("--without-boost")
- if '+jpeg' in self.spec:
- extra_args.append('--with-libjpeg={0}'.format(
- self.spec['jpeg'].prefix))
+ if "+jpeg" in self.spec:
+ extra_args.append("--with-libjpeg={0}".format(self.spec["jpeg"].prefix))
else:
- extra_args.append('--without-libjpeg')
+ extra_args.append("--without-libjpeg")
- if '+libpng' in self.spec:
- extra_args.append('--with-libpng={0}'.format(
- self.spec['libpng'].prefix))
+ if "+libpng" in self.spec:
+ extra_args.append("--with-libpng={0}".format(self.spec["libpng"].prefix))
else:
- extra_args.append('--without-libpng')
+ extra_args.append("--without-libpng")
- if '+libtiff' in self.spec:
- extra_args.append('--with-libtiff={0}'.format(
- self.spec['libtiff'].prefix))
+ if "+libtiff" in self.spec:
+ extra_args.append("--with-libtiff={0}".format(self.spec["libtiff"].prefix))
else:
- extra_args.append('--without-libtiff')
+ extra_args.append("--without-libtiff")
- if '+mkl' in self.spec:
- extra_args.append('--with-libmkl={0}'.format(
- self.spec['mkl'].prefix))
+ if "+mkl" in self.spec:
+ extra_args.append("--with-libmkl={0}".format(self.spec["mkl"].prefix))
else:
- extra_args.append('--without-libmkl')
+ extra_args.append("--without-libmkl")
- if '+openexr' in self.spec:
- extra_args.append('--with-openexr={0}'.format(
- self.spec['openexr'].prefix))
+ if "+openexr" in self.spec:
+ extra_args.append("--with-openexr={0}".format(self.spec["openexr"].prefix))
else:
- extra_args.append('--without-openexr')
+ extra_args.append("--without-openexr")
# POV-Ray only supports sdl v1, spack only supports sdl2 at this time
# and X11 support requires sdl
- extra_args.append('--without-libsdl')
- extra_args.append('--without-x')
+ extra_args.append("--without-libsdl")
+ extra_args.append("--without-x")
return extra_args
def test(self):
- povs = find(self.prefix.share, 'biscuit.pov')[0]
- copy(povs, '.')
- self.run_test('povray', options=['biscuit.pov'],
- purpose="test: render sample file",
- expected=['POV-Ray finished']
- )
+ povs = find(self.prefix.share, "biscuit.pov")[0]
+ copy(povs, ".")
+ self.run_test(
+ "povray",
+ options=["biscuit.pov"],
+ purpose="test: render sample file",
+ expected=["POV-Ray finished"],
+ )
diff --git a/var/spack/repos/builtin/packages/powerapi/package.py b/var/spack/repos/builtin/packages/powerapi/package.py
index 6810a7b8fc..9f312e6dec 100644
--- a/var/spack/repos/builtin/packages/powerapi/package.py
+++ b/var/spack/repos/builtin/packages/powerapi/package.py
@@ -9,47 +9,49 @@ class Powerapi(AutotoolsPackage):
"""This software is a reference implementation of the PowerAPI"""
homepage = "https://powerapi.sandia.gov/"
- git = "https://github.com/pwrapi/pwrapi-ref.git"
+ git = "https://github.com/pwrapi/pwrapi-ref.git"
- version('2020-01-30', commit='21f75b1469261d99e604f7ddc18f30513ebdd048')
- version('1.1.1', commit='93f66dfa29f014067823f2b790a1862e5841a11c')
+ version("2020-01-30", commit="21f75b1469261d99e604f7ddc18f30513ebdd048")
+ version("1.1.1", commit="93f66dfa29f014067823f2b790a1862e5841a11c")
- variant('hwloc', default=False, description='Build hwloc support')
- variant('debug', default=False, description='Enable debug support')
- variant('mpi', default=False, description='Enable MPI support')
- variant('gnu-ld', default=False, description='Assume GNU compiled uses gnu-ld')
+ variant("hwloc", default=False, description="Build hwloc support")
+ variant("debug", default=False, description="Enable debug support")
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("gnu-ld", default=False, description="Assume GNU compiled uses gnu-ld")
- depends_on('autoconf')
- depends_on('automake')
- depends_on('libtool')
- depends_on('m4')
+ depends_on("autoconf")
+ depends_on("automake")
+ depends_on("libtool")
+ depends_on("m4")
- depends_on('hwloc', when='+hwloc')
- depends_on('mpi', when='+mpi')
+ depends_on("hwloc", when="+hwloc")
+ depends_on("mpi", when="+mpi")
# C++11 requires a space between literal and identifier.
- patch('add_space.patch')
+ patch("add_space.patch")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def configure_args(self):
spec = self.spec
- args = ['--prefix={0}'.format(self.prefix)]
+ args = ["--prefix={0}".format(self.prefix)]
- if '+hwloc' in spec:
- args.append('--with-hwloc={0}'.format(spec['hwloc'].prefix))
+ if "+hwloc" in spec:
+ args.append("--with-hwloc={0}".format(spec["hwloc"].prefix))
- if '+mpi' in spec:
- args.append('--with-mpi={0}'.format(spec['mpi'].prefix))
+ if "+mpi" in spec:
+ args.append("--with-mpi={0}".format(spec["mpi"].prefix))
- args.extend([
- '--with%s-gnu-ld' % ('' if '+gnu-ld' in spec else 'out'),
- '--%sable-debug' % ('en' if '+debug' in spec else 'dis')
- ])
+ args.extend(
+ [
+ "--with%s-gnu-ld" % ("" if "+gnu-ld" in spec else "out"),
+ "--%sable-debug" % ("en" if "+debug" in spec else "dis"),
+ ]
+ )
return args
def install(self, spec, prefix):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/powertop/package.py b/var/spack/repos/builtin/packages/powertop/package.py
index c05bfb7b5c..340fa5af65 100644
--- a/var/spack/repos/builtin/packages/powertop/package.py
+++ b/var/spack/repos/builtin/packages/powertop/package.py
@@ -11,12 +11,12 @@ class Powertop(AutotoolsPackage):
and power management"""
homepage = "https://01.org/powertop/"
- url = "https://01.org/sites/default/files/downloads/powertop/powertop-v2.9.tar.gz"
+ url = "https://01.org/sites/default/files/downloads/powertop/powertop-v2.9.tar.gz"
- version('2.9', sha256='aa7fb7d8e9a00f05e7d8a7a2866d85929741e0d03a5bf40cab22d2021c959250')
+ version("2.9", sha256="aa7fb7d8e9a00f05e7d8a7a2866d85929741e0d03a5bf40cab22d2021c959250")
- depends_on('libnl')
- depends_on('ncurses', type='link')
+ depends_on("libnl")
+ depends_on("ncurses", type="link")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/ppl/package.py b/var/spack/repos/builtin/packages/ppl/package.py
index acbb76bec1..93d631d051 100644
--- a/var/spack/repos/builtin/packages/ppl/package.py
+++ b/var/spack/repos/builtin/packages/ppl/package.py
@@ -21,15 +21,14 @@ class Ppl(Package):
synthesis of linear ranking functions."""
homepage = "https://bugseng.com/products/ppl/"
- url = "http://bugseng.com/products/ppl/download/ftp/releases/1.1/ppl-1.1.tar.gz"
+ url = "http://bugseng.com/products/ppl/download/ftp/releases/1.1/ppl-1.1.tar.gz"
- version('1.2', sha256='6bc36dd4a87abc429d8f9c00c53e334e5041a9b0857cfc00dbad6ef14294aac8')
- version('1.1', sha256='46f073c0626234f0b1a479356c0022fe5dc3c9cf10df1a246c9cde81f7cf284d')
+ version("1.2", sha256="6bc36dd4a87abc429d8f9c00c53e334e5041a9b0857cfc00dbad6ef14294aac8")
+ version("1.1", sha256="46f073c0626234f0b1a479356c0022fe5dc3c9cf10df1a246c9cde81f7cf284d")
depends_on("gmp")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix,
- "--with-gmp=%s" % spec['gmp'].prefix)
+ configure("--prefix=%s" % prefix, "--with-gmp=%s" % spec["gmp"].prefix)
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/pplacer/package.py b/var/spack/repos/builtin/packages/pplacer/package.py
index 74d3844bc2..ac6eb00483 100644
--- a/var/spack/repos/builtin/packages/pplacer/package.py
+++ b/var/spack/repos/builtin/packages/pplacer/package.py
@@ -8,20 +8,22 @@ from spack.package import *
class Pplacer(Package):
"""Pplacer places query sequences on a fixed reference phylogenetic tree
- to maximize phylogenetic likelihood or posterior probability according
- to a reference alignment. Pplacer is designed to be fast, to give
- useful information about uncertainty, and to offer advanced
- visualization and downstream analysis.
+ to maximize phylogenetic likelihood or posterior probability according
+ to a reference alignment. Pplacer is designed to be fast, to give
+ useful information about uncertainty, and to offer advanced
+ visualization and downstream analysis.
"""
homepage = "https://matsen.fhcrc.org/pplacer/"
- url = "https://github.com/matsen/pplacer/releases/download/v1.1.alpha19/pplacer-linux-v1.1.alpha19.zip"
+ url = "https://github.com/matsen/pplacer/releases/download/v1.1.alpha19/pplacer-linux-v1.1.alpha19.zip"
- version('1.1.alpha19', sha256='9131b45c35ddb927f866385f149cf64af5dffe724234cd4548c22303a992347d')
+ version(
+ "1.1.alpha19", sha256="9131b45c35ddb927f866385f149cf64af5dffe724234cd4548c22303a992347d"
+ )
def install(self, spec, prefix):
- install_tree('scripts', prefix.bin)
- force_remove(join_path(prefix.bin, 'setup.py'))
- install('guppy', prefix.bin)
- install('pplacer', prefix.bin)
- install('rppr', prefix.bin)
+ install_tree("scripts", prefix.bin)
+ force_remove(join_path(prefix.bin, "setup.py"))
+ install("guppy", prefix.bin)
+ install("pplacer", prefix.bin)
+ install("rppr", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
index 7b2ea36727..8ddab65717 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
@@ -14,50 +14,35 @@ class PpopenApplAmrFdm(MakefilePackage):
"""
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
- git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
+ git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/FDM_AMR')
+ version("master", branch="APPL/FDM_AMR")
- depends_on('mpi')
+ depends_on("mpi")
parallel = False
- build_targets = ['default', 'advAMR3D']
+ build_targets = ["default", "advAMR3D"]
def edit(self, spec, prefix):
- mkdirp('bin')
- mkdirp('lib')
- mkdirp('include')
+ mkdirp("bin")
+ mkdirp("lib")
+ mkdirp("include")
fflags = [
- '-O3',
- '-I.',
+ "-O3",
+ "-I.",
]
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter('^PREFIX +=.*', 'PREFIX = {0}'.format(prefix))
- makefile_in.filter(
- '^INCDIR +=.*',
- 'INCDIR = {0}/include'.format(self.build_directory)
- )
- makefile_in.filter(
- '^LIBDIR +=.*',
- 'LIBDIR = {0}/lib'.format(self.build_directory)
- )
- makefile_in.filter('^F90 +=.*', 'F90 = {0}'.format(spack_fc))
- makefile_in.filter(
- '^MPIF90 +=.*',
- 'MPIF90 = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_in.filter(
- '^sFFLAGS +=.*',
- 'sFFLAGS = {0}'.format(' '.join(fflags))
- )
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter("^PREFIX +=.*", "PREFIX = {0}".format(prefix))
+ makefile_in.filter("^INCDIR +=.*", "INCDIR = {0}/include".format(self.build_directory))
+ makefile_in.filter("^LIBDIR +=.*", "LIBDIR = {0}/lib".format(self.build_directory))
+ makefile_in.filter("^F90 +=.*", "F90 = {0}".format(spack_fc))
+ makefile_in.filter("^MPIF90 +=.*", "MPIF90 = {0}".format(spec["mpi"].mpifc))
+ makefile_in.filter("^sFFLAGS +=.*", "sFFLAGS = {0}".format(" ".join(fflags)))
fflags.append(self.compiler.openmp_flag)
- makefile_in.filter(
- '^pFFLAGS +=.*',
- 'pFFLAGS = {0}'.format(' '.join(fflags))
- )
+ makefile_in.filter("^pFFLAGS +=.*", "pFFLAGS = {0}".format(" ".join(fflags)))
def install(self, spec, prefix):
- install_tree('include', prefix.include)
- install_tree('lib', prefix.lib)
- install_tree('bin', prefix.bin)
- install_tree('doc', prefix.doc)
+ install_tree("include", prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py
index b9f7186e1c..257dafc9cd 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py
@@ -16,42 +16,42 @@ class PpopenApplBemAt(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='ATA/BEM')
+ version("master", branch="ATA/BEM")
# In OAT_bem-bb-fw-dense-0.1.0.f90 the 2 variables are defined.
# But ame variables are already defined in include file DAT.h.
# This patch is deleted the variables definitions
# in OAT_bem-bb-fw-dense-0.1.0.f90.
- patch('duplicate_defs.patch', when="@master")
+ patch("duplicate_defs.patch", when="@master")
- depends_on('mpi')
- depends_on('ppopen-appl-bem', type='run')
+ depends_on("mpi")
+ depends_on("ppopen-appl-bem", type="run")
parallel = False
- build_directory = 'framework_with_templates'
- build_targets = ['SYSTEM=spack']
+ build_directory = "framework_with_templates"
+ build_targets = ["SYSTEM=spack"]
def edit(self, spec, prefix):
- flags = ['-O3', self.compiler.openmp_flag]
+ flags = ["-O3", self.compiler.openmp_flag]
fflags = flags[:]
- if spec.satisfies('%gcc'):
- fflags.append('-ffree-line-length-none')
- with open(join_path(self.build_directory, 'Makefile'), 'a') as m:
- m.write('ifeq ($(SYSTEM),spack)\n')
- m.write(' CC = {0}\n'.format(spec['mpi'].mpicc))
- m.write(' F90 = {0}\n'.format(spec['mpi'].mpifc))
- m.write(' CCFLAGS = {0}\n'.format(' '.join(flags)))
- m.write(' F90FLAGS = {0}\n'.format(' '.join(fflags)))
- m.write(' FFLAGS = {0}\n'.format(' '.join(fflags)))
- m.write(' LDFLAGS = {0}\n'.format(' '.join(flags)))
- m.write('endif\n')
+ if spec.satisfies("%gcc"):
+ fflags.append("-ffree-line-length-none")
+ with open(join_path(self.build_directory, "Makefile"), "a") as m:
+ m.write("ifeq ($(SYSTEM),spack)\n")
+ m.write(" CC = {0}\n".format(spec["mpi"].mpicc))
+ m.write(" F90 = {0}\n".format(spec["mpi"].mpifc))
+ m.write(" CCFLAGS = {0}\n".format(" ".join(flags)))
+ m.write(" F90FLAGS = {0}\n".format(" ".join(fflags)))
+ m.write(" FFLAGS = {0}\n".format(" ".join(fflags)))
+ m.write(" LDFLAGS = {0}\n".format(" ".join(flags)))
+ m.write("endif\n")
def install(self, spec, prefix):
install_src_dir = join_path(prefix.src, self.build_directory)
mkdir(prefix.bin)
mkdirp(install_src_dir)
- for f in find(self.build_directory, '*.out'):
+ for f in find(self.build_directory, "*.out"):
copy(f, prefix.bin)
install_src = join_path(prefix.src, self.build_directory)
install_tree(self.build_directory, install_src_dir)
with working_dir(install_src):
- make('clean')
+ make("clean")
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py b/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py
index b1f282cc47..f489039a32 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-bem/package.py
@@ -24,57 +24,51 @@ class PpopenApplBem(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/BEM')
+ version("master", branch="APPL/BEM")
- depends_on('mpi')
+ depends_on("mpi")
parallel = False
- hacapk_src_dir = join_path(
- 'HACApK_1.0.0',
- 'src',
- 'HACApK_with_BEM-BB-framework_1.0.0'
- )
+ hacapk_src_dir = join_path("HACApK_1.0.0", "src", "HACApK_with_BEM-BB-framework_1.0.0")
src_directories = [
- join_path('bem-bb-framework_dense', 'src', 'framework_with_templates'),
- join_path('bem-bb-framework_dense', 'src', 'framework'),
- hacapk_src_dir
+ join_path("bem-bb-framework_dense", "src", "framework_with_templates"),
+ join_path("bem-bb-framework_dense", "src", "framework"),
+ hacapk_src_dir,
]
def edit(self, spec, prefix):
flags = [self.compiler.openmp_flag]
fflags = flags[:]
- if spec.satisfies('%gcc'):
- fflags.append('-ffree-line-length-none')
+ if spec.satisfies("%gcc"):
+ fflags.append("-ffree-line-length-none")
filter_file(
- 'bem-bb-SCM.out',
- 'HACApK-bem-bb-sSCM.out',
- join_path(self.hacapk_src_dir, 'Makefile')
+ "bem-bb-SCM.out", "HACApK-bem-bb-sSCM.out", join_path(self.hacapk_src_dir, "Makefile")
)
for d in self.src_directories:
with working_dir(d):
- with open('Makefile', 'a') as m:
- m.write('ifeq ($(SYSTEM),spack)\n')
- m.write(' CC = {0}\n'.format(spec['mpi'].mpicc))
- m.write(' F90 = {0}\n'.format(spec['mpi'].mpifc))
- m.write(' CCFLAGS = {0}\n'.format(' '.join(flags)))
- m.write(' F90FLAGS = {0}\n'.format(' '.join(fflags)))
- m.write(' FFLAGS = {0}\n'.format(' '.join(fflags)))
- m.write(' LDFLAGS = {0}\n'.format(' '.join(flags)))
- m.write('endif\n')
+ with open("Makefile", "a") as m:
+ m.write("ifeq ($(SYSTEM),spack)\n")
+ m.write(" CC = {0}\n".format(spec["mpi"].mpicc))
+ m.write(" F90 = {0}\n".format(spec["mpi"].mpifc))
+ m.write(" CCFLAGS = {0}\n".format(" ".join(flags)))
+ m.write(" F90FLAGS = {0}\n".format(" ".join(fflags)))
+ m.write(" FFLAGS = {0}\n".format(" ".join(fflags)))
+ m.write(" LDFLAGS = {0}\n".format(" ".join(flags)))
+ m.write("endif\n")
def build(self, spec, prefix):
for d in self.src_directories:
with working_dir(d):
- make('SYSTEM=spack')
+ make("SYSTEM=spack")
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.src)
for d in self.src_directories:
- for f in find(d, '*.out'):
+ for f in find(d, "*.out"):
copy(f, prefix.bin)
install_src = join_path(prefix.src, os.path.basename(d))
mkdir(install_src)
install_tree(d, install_src)
with working_dir(install_src):
- make('clean')
+ make("clean")
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
index 7658ebad18..c9f1cd77ec 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
@@ -20,31 +20,24 @@ class PpopenApplDemUtil(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/DEM')
+ version("master", branch="APPL/DEM")
- depends_on('mpi')
+ depends_on("mpi")
def edit(self, spec, prefix):
- mkdirp('bin')
- mkdirp('lib')
- mkdirp('include')
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter('PREFIX += .*', 'PREFIX = {0}'.format(prefix))
- makefile_in.filter('F90 += .*', 'F90 = {0}'.format(spack_fc))
- makefile_in.filter('F77 += .*', 'F77 = {0}'.format(spack_fc))
+ mkdirp("bin")
+ mkdirp("lib")
+ mkdirp("include")
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter("PREFIX += .*", "PREFIX = {0}".format(prefix))
+ makefile_in.filter("F90 += .*", "F90 = {0}".format(spack_fc))
+ makefile_in.filter("F77 += .*", "F77 = {0}".format(spack_fc))
+ makefile_in.filter("MPIF90 += .*", "MPIF90 = {0}".format(spec["mpi"].mpifc))
+ makefile_in.filter("MPIF77 += .*", "MPIF77 = {0}".format(spec["mpi"].mpifc))
makefile_in.filter(
- 'MPIF90 += .*',
- 'MPIF90 = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_in.filter(
- 'MPIF77 += .*',
- 'MPIF77 = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_in.filter(
- 'F90MPFLAGS += .*',
- 'F90MPFLAGS = -O3 {0}'.format(self.compiler.openmp_flag)
+ "F90MPFLAGS += .*", "F90MPFLAGS = -O3 {0}".format(self.compiler.openmp_flag)
)
def install(self, spec, prefix):
- make('install')
- install_tree('doc', prefix.doc)
+ make("install")
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
index c67dbf5b74..b72e29fbeb 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
@@ -12,9 +12,9 @@ class PpopenApplFdmAt(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='ATA/FDM')
+ version("master", branch="ATA/FDM")
- depends_on('mpi')
+ depends_on("mpi")
# depends_on('ppopen-appl-fdm', type='build')
build_directory = "3.hybrid_AT"
@@ -22,28 +22,22 @@ class PpopenApplFdmAt(MakefilePackage):
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- fflags = ['-O3', self.compiler.openmp_flag]
- if spec.satisfies('%gcc'):
- fflags.append('-ffree-line-length-none')
- if spec.satisfies('arch=x86_64:'):
- fflags.append('-mcmodel=medium')
- makefile_opt = FileFilter('Makefile.option')
- makefile_opt.filter(
- 'FC = .*$',
- 'FC = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_opt.filter(
- 'FFLAGS = .*$',
- 'FFLAGS = -O3 {0}'.format(' '.join(fflags))
- )
+ fflags = ["-O3", self.compiler.openmp_flag]
+ if spec.satisfies("%gcc"):
+ fflags.append("-ffree-line-length-none")
+ if spec.satisfies("arch=x86_64:"):
+ fflags.append("-mcmodel=medium")
+ makefile_opt = FileFilter("Makefile.option")
+ makefile_opt.filter("FC = .*$", "FC = {0}".format(spec["mpi"].mpifc))
+ makefile_opt.filter("FFLAGS = .*$", "FFLAGS = -O3 {0}".format(" ".join(fflags)))
def install(self, spec, prefix):
mkdir(prefix.bin)
- copy(join_path(self.build_directory, 'seism3d3n'), prefix.bin)
+ copy(join_path(self.build_directory, "seism3d3n"), prefix.bin)
install_src_dir = join_path(prefix.src, self.build_directory)
mkdirp(install_src_dir)
install_tree(self.build_directory, install_src_dir)
with working_dir(install_src_dir):
- make('clean')
+ make("clean")
mkdir(prefix.doc)
- copy('readme.txt', prefix.doc)
+ copy("readme.txt", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
index efd95d265e..9056beb4c2 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
@@ -17,123 +17,93 @@ class PpopenApplFdm(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/FDM')
+ version("master", branch="APPL/FDM")
# remove unused variable definition
- patch('unused.patch')
+ patch("unused.patch")
# remove iargc external definition
# iargc is intrinsic in gfortran
- patch('gfortran_iargc.patch', when='%gcc')
+ patch("gfortran_iargc.patch", when="%gcc")
# Fixed a problem that 'iargc' was not declared in advance
- patch('iargc_definition.patch', when='%fj')
+ patch("iargc_definition.patch", when="%fj")
- depends_on('ppopen-math-vis', type='link')
- depends_on('mpi')
+ depends_on("ppopen-math-vis", type="link")
+ depends_on("mpi")
parallel = False
def edit(self, spec, prefix):
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter('PREFIX += .*$', 'PREFIX = {0}'.format(prefix))
- makefile_in.filter(
- 'LIBDIR = .*$',
- 'LIBDIR = {0}'.format(prefix)
- )
- makefile_in.filter(
- 'CC += .*$',
- 'CC = {0}'.format(spec['mpi'].mpicc)
- )
- makefile_in.filter('COPTFLAGS += .*$', 'COPTFLAGS = -O3')
- makefile_in.filter(
- 'CXX += .*$',
- 'CXX = {0}'.format(spec['mpi'].mpicxx)
- )
- makefile_in.filter('CXXOPTFLAGS = .*$', 'CXXOPTFLAGS = -O3')
- makefile_in.filter(
- 'FC += .*$',
- 'FC = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_in.filter('FOPTFLAGS += .*$', 'FOPTFLAGS = -O3')
- makefile_in.filter(
- 'F90 += .*$',
- 'F90 = {0}'.format(spec['mpi'].mpifc)
- )
- makefile_in.filter('F90OPTFLAGS += .*$', 'F90OPTFLAGS = -O3')
-
- makefile_opt = FileFilter(join_path(
- 'src', 'seismic_2D', 'makefile.option')
- )
- makefile_opt.filter('FC = .*$', 'FC = {0}'.format(spack_fc))
- makefile_opt.filter('FFLAGS = .*$', 'FFLAGS = -O3')
-
- makefile = FileFilter(join_path(
- 'src', 'seismic_3D', '1.ppohFDM-ppohVIS', 'Makefile')
- )
- makefile.filter('LIBS += .*$', 'LIBS = ')
- makefile.filter(
- 'FLDFLAGS += .*$',
- 'FLDFLAGS = ' + spec['ppopen-math-vis'].libs.ld_flags
- )
-
- makefile_opt = FileFilter(join_path(
- 'src', 'seismic_3D', '3.parallel', 'Makefile.option')
- )
- makefile_opt.filter('FC = .*$', 'FC = {0}'.format(spec['mpi'].mpifc))
- makefile_opt.filter(
- 'FFLAGS = .*$',
- 'FFLAGS = -O3 {0}'.format(self.compiler.openmp_flag)
- )
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter("PREFIX += .*$", "PREFIX = {0}".format(prefix))
+ makefile_in.filter("LIBDIR = .*$", "LIBDIR = {0}".format(prefix))
+ makefile_in.filter("CC += .*$", "CC = {0}".format(spec["mpi"].mpicc))
+ makefile_in.filter("COPTFLAGS += .*$", "COPTFLAGS = -O3")
+ makefile_in.filter("CXX += .*$", "CXX = {0}".format(spec["mpi"].mpicxx))
+ makefile_in.filter("CXXOPTFLAGS = .*$", "CXXOPTFLAGS = -O3")
+ makefile_in.filter("FC += .*$", "FC = {0}".format(spec["mpi"].mpifc))
+ makefile_in.filter("FOPTFLAGS += .*$", "FOPTFLAGS = -O3")
+ makefile_in.filter("F90 += .*$", "F90 = {0}".format(spec["mpi"].mpifc))
+ makefile_in.filter("F90OPTFLAGS += .*$", "F90OPTFLAGS = -O3")
+
+ makefile_opt = FileFilter(join_path("src", "seismic_2D", "makefile.option"))
+ makefile_opt.filter("FC = .*$", "FC = {0}".format(spack_fc))
+ makefile_opt.filter("FFLAGS = .*$", "FFLAGS = -O3")
+
+ makefile = FileFilter(join_path("src", "seismic_3D", "1.ppohFDM-ppohVIS", "Makefile"))
+ makefile.filter("LIBS += .*$", "LIBS = ")
+ makefile.filter("FLDFLAGS += .*$", "FLDFLAGS = " + spec["ppopen-math-vis"].libs.ld_flags)
+
+ makefile_opt = FileFilter(join_path("src", "seismic_3D", "3.parallel", "Makefile.option"))
+ makefile_opt.filter("FC = .*$", "FC = {0}".format(spec["mpi"].mpifc))
+ makefile_opt.filter("FFLAGS = .*$", "FFLAGS = -O3 {0}".format(self.compiler.openmp_flag))
copy(
- join_path('examples', 'seismic_3D-example', 'm_param.f90'),
- join_path('src', 'seismic_3D', '1.ppohFDM-ppohVIS')
+ join_path("examples", "seismic_3D-example", "m_param.f90"),
+ join_path("src", "seismic_3D", "1.ppohFDM-ppohVIS"),
)
copy(
- join_path('examples', 'seismic_3D-example', 'm_param.f90'),
- join_path('src', 'seismic_3D', '3.parallel')
+ join_path("examples", "seismic_3D-example", "m_param.f90"),
+ join_path("src", "seismic_3D", "3.parallel"),
)
- for makefile in find('tools', 'makefile', recursive=True):
- fflags = ['-O3', '-I.']
+ for makefile in find("tools", "makefile", recursive=True):
+ fflags = ["-O3", "-I."]
m = FileFilter(makefile)
- m.filter('^FC =.*$', 'FC = {0}'.format(spack_fc))
- m.filter(
- '^FFLAGS =.*$',
- 'FFLAGS = {0}'.format(' '.join(fflags))
- )
+ m.filter("^FC =.*$", "FC = {0}".format(spack_fc))
+ m.filter("^FFLAGS =.*$", "FFLAGS = {0}".format(" ".join(fflags)))
def build(self, spec, prefix):
- make('seism2d', 'seism3d-ppohVIS', 'seism3d-parallel')
- for d in ['seismic_2D-tools', 'seismic_3D-tools']:
- with working_dir(join_path('tools', d)):
- make('all')
+ make("seism2d", "seism3d-ppohVIS", "seism3d-parallel")
+ for d in ["seismic_2D-tools", "seismic_3D-tools"]:
+ with working_dir(join_path("tools", d)):
+ make("all")
def install(self, spec, prefix):
commands = [
- join_path('src', 'seismic_2D', 'seism2d_psv'),
- join_path('src', 'seismic_3D', '3.parallel', 'seism3d3n'),
- join_path('src', 'seismic_3D', '1.ppohFDM-ppohVIS', 'seism3d3n'),
- join_path('tools', 'seismic_2D-tools', 'pmxy2d'),
- join_path('tools', 'seismic_2D-tools', 'rwav2d'),
- join_path('tools', 'seismic_3D-tools', 'catsnap'),
- join_path('tools', 'seismic_3D-tools', 'catwav'),
- join_path('tools', 'seismic_3D-tools', 'ppmxy3d3'),
- join_path('tools', 'seismic_3D-tools', 'rwav3d'),
+ join_path("src", "seismic_2D", "seism2d_psv"),
+ join_path("src", "seismic_3D", "3.parallel", "seism3d3n"),
+ join_path("src", "seismic_3D", "1.ppohFDM-ppohVIS", "seism3d3n"),
+ join_path("tools", "seismic_2D-tools", "pmxy2d"),
+ join_path("tools", "seismic_2D-tools", "rwav2d"),
+ join_path("tools", "seismic_3D-tools", "catsnap"),
+ join_path("tools", "seismic_3D-tools", "catwav"),
+ join_path("tools", "seismic_3D-tools", "ppmxy3d3"),
+ join_path("tools", "seismic_3D-tools", "rwav3d"),
]
mkdir(prefix.bin)
for command in commands:
copy(command, prefix.bin)
- install_tree('examples', prefix.examples)
- install_tree('doc', prefix.doc)
- install_tree('src', prefix.src)
- copy('Makefile.in', prefix)
+ install_tree("examples", prefix.examples)
+ install_tree("doc", prefix.doc)
+ install_tree("src", prefix.src)
+ copy("Makefile.in", prefix)
clean_dir = [
- join_path(prefix.src, 'seismic_2D'),
- join_path(prefix.src, 'seismic_3D', '1.ppohFDM-ppohVIS'),
- join_path(prefix.src, 'seismic_3D', '3.parallel'),
+ join_path(prefix.src, "seismic_2D"),
+ join_path(prefix.src, "seismic_3D", "1.ppohFDM-ppohVIS"),
+ join_path(prefix.src, "seismic_3D", "3.parallel"),
]
for d in clean_dir:
with working_dir(d):
- make('clean')
- force_remove(join_path(prefix, 'Makefile.in'))
+ make("clean")
+ force_remove(join_path(prefix, "Makefile.in"))
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py
index 16951260e9..99785b40b3 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fem/package.py
@@ -19,10 +19,10 @@ class PpopenApplFem(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/FEM')
+ version("master", branch="APPL/FEM")
- depends_on('mpi')
- depends_on('metis')
+ depends_on("mpi")
+ depends_on("metis")
# gcc does not support OpenMP atomic to same structure reference.
# For example a%b = a%b - a%c
@@ -30,36 +30,24 @@ class PpopenApplFem(MakefilePackage):
# tmp = a%c
# !%omp atomic
# a%b = a%b - a%c
- patch('gcc_struct_atomic.patch', when='%gcc')
+ patch("gcc_struct_atomic.patch", when="%gcc")
parallel = False
def edit(self, spec, prefix):
- fflags = ['-O3', '-I.', self.compiler.openmp_flag]
- if spec.satisfies('%gcc'):
- fflags.extend(['-cpp', '-ffree-line-length-none'])
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter(
- r'^PREFIX *=.*$',
- 'PREFIX = {0}'.format(prefix)
- )
- makefile_in.filter(
- r'^F90OPTFLAGS *=.*$',
- 'F90OPTFLAGS = {0}'.format(' '.join(fflags))
- )
- makefile_in.filter(
- r'^METISDIR *=.*$',
- 'METISDIR = {0}'.format(spec['metis'].prefix)
- )
- makefile_in.filter('mpicc', spec['mpi'].mpicc)
- makefile_in.filter('mpif90', spec['mpi'].mpifc)
- mkdirp(join_path('ppohFEM', 'bin'))
+ fflags = ["-O3", "-I.", self.compiler.openmp_flag]
+ if spec.satisfies("%gcc"):
+ fflags.extend(["-cpp", "-ffree-line-length-none"])
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter(r"^PREFIX *=.*$", "PREFIX = {0}".format(prefix))
+ makefile_in.filter(r"^F90OPTFLAGS *=.*$", "F90OPTFLAGS = {0}".format(" ".join(fflags)))
+ makefile_in.filter(r"^METISDIR *=.*$", "METISDIR = {0}".format(spec["metis"].prefix))
+ makefile_in.filter("mpicc", spec["mpi"].mpicc)
+ makefile_in.filter("mpif90", spec["mpi"].mpifc)
+ mkdirp(join_path("ppohFEM", "bin"))
def install(self, spec, prefix):
- for d in ['ppohFEM', 'app_flow', 'app_heat', 'app_struct']:
+ for d in ["ppohFEM", "app_flow", "app_heat", "app_struct"]:
with working_dir(d):
- for install_dir in ['bin', 'lib', 'include']:
+ for install_dir in ["bin", "lib", "include"]:
if os.path.isdir(install_dir):
- install_tree(
- install_dir,
- join_path(prefix, install_dir)
- )
+ install_tree(install_dir, join_path(prefix, install_dir))
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py
index 6557638a4f..bda4c78f53 100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py
@@ -30,36 +30,27 @@ class PpopenApplFvm(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='APPL/FVM')
+ version("master", branch="APPL/FVM")
- depends_on('mpi')
- depends_on('metis@:4')
+ depends_on("mpi")
+ depends_on("metis@:4")
def edit(self, spec, prefix):
- mkdirp('bin')
- mkdirp('lib')
- mkdirp('include')
- fflags = ['-O3']
- if spec.satisfies('%gcc'):
- fflags.append('-ffree-line-length-none')
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter(
- r'^PREFIX *=.*$',
- 'PREFIX = {0}'.format(prefix)
- )
- makefile_in.filter(
- r'^METISDIR *=.*$',
- 'METISDIR = {0}'.format(spec['metis'].prefix.lib)
- )
- makefile_in.filter('mpifrtpx', spec['mpi'].mpifc)
- makefile_in.filter('frtpx', spack_fc)
- makefile_in.filter('-Kfast', ' '.join(fflags))
- makefile_in.filter(
- ',openmp',
- ' {0}'.format(self.compiler.openmp_flag)
- )
+ mkdirp("bin")
+ mkdirp("lib")
+ mkdirp("include")
+ fflags = ["-O3"]
+ if spec.satisfies("%gcc"):
+ fflags.append("-ffree-line-length-none")
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter(r"^PREFIX *=.*$", "PREFIX = {0}".format(prefix))
+ makefile_in.filter(r"^METISDIR *=.*$", "METISDIR = {0}".format(spec["metis"].prefix.lib))
+ makefile_in.filter("mpifrtpx", spec["mpi"].mpifc)
+ makefile_in.filter("frtpx", spack_fc)
+ makefile_in.filter("-Kfast", " ".join(fflags))
+ makefile_in.filter(",openmp", " {0}".format(self.compiler.openmp_flag))
def install(self, spec, prefix):
- make('install')
- install_tree('examples', prefix.examples)
- install_tree('doc', prefix.doc)
+ make("install")
+ install_tree("examples", prefix.examples)
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/ppopen-at/package.py b/var/spack/repos/builtin/packages/ppopen-at/package.py
index 2afcf7dcba..b8bb960797 100644
--- a/var/spack/repos/builtin/packages/ppopen-at/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-at/package.py
@@ -13,16 +13,16 @@ class PpopenAt(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='AT')
+ version("master", branch="AT")
def edit(self, spec, prefix):
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter('gcc', spack_cxx)
- makefile_in.filter('~/ppohAT_1.0.0', prefix)
- makefile_in.filter('mkdir', 'mkdir -p')
- mkdirp('bin')
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter("gcc", spack_cxx)
+ makefile_in.filter("~/ppohAT_1.0.0", prefix)
+ makefile_in.filter("mkdir", "mkdir -p")
+ mkdirp("bin")
def install(self, spec, prefix):
- make('install')
- install_tree('examples', prefix.examples)
- install_tree('doc', prefix.doc)
+ make("install")
+ install_tree("examples", prefix.examples)
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/ppopen-math-mp/package.py b/var/spack/repos/builtin/packages/ppopen-math-mp/package.py
index 9b86273ccf..3ccbb26192 100644
--- a/var/spack/repos/builtin/packages/ppopen-math-mp/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-math-mp/package.py
@@ -27,26 +27,26 @@ class PpopenMathMp(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='MATH/MP')
+ version("master", branch="MATH/MP")
- depends_on('mpi')
+ depends_on("mpi")
- build_directory = 'src'
- build_targets = ['FC_XXX=spack']
+ build_directory = "src"
+ build_targets = ["FC_XXX=spack"]
parallel = False
def edit(self, spec, prefix):
- flags = ['-I.']
- if spec.satisfies('%gcc'):
- flags.append('-ffree-line-length-none')
- with open('src/Makefile', 'a') as makefile:
- makefile.write('FC_spack = {0}\n'.format(spec['mpi'].mpifc))
- makefile.write('FFLAGS_spack = {0}\n'.format(' '.join(flags)))
- makefile.write('AR_spack = ar cr\n')
- mkdirp('include')
- mkdirp('lib')
+ flags = ["-I."]
+ if spec.satisfies("%gcc"):
+ flags.append("-ffree-line-length-none")
+ with open("src/Makefile", "a") as makefile:
+ makefile.write("FC_spack = {0}\n".format(spec["mpi"].mpifc))
+ makefile.write("FFLAGS_spack = {0}\n".format(" ".join(flags)))
+ makefile.write("AR_spack = ar cr\n")
+ mkdirp("include")
+ mkdirp("lib")
def install(self, spec, prefix):
- for d in ['include', 'lib', 'doc', 'test']:
+ for d in ["include", "lib", "doc", "test"]:
mkdir(join_path(prefix, d))
copy_tree(d, join_path(prefix, d))
diff --git a/var/spack/repos/builtin/packages/ppopen-math-vis/package.py b/var/spack/repos/builtin/packages/ppopen-math-vis/package.py
index c381928d81..14ee5a4036 100644
--- a/var/spack/repos/builtin/packages/ppopen-math-vis/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-math-vis/package.py
@@ -24,29 +24,29 @@ class PpopenMathVis(MakefilePackage):
homepage = "http://ppopenhpc.cc.u-tokyo.ac.jp/ppopenhpc/"
git = "https://github.com/Post-Peta-Crest/ppOpenHPC.git"
- version('master', branch='MATH/VIS')
+ version("master", branch="MATH/VIS")
- depends_on('mpi')
+ depends_on("mpi")
def edit(self, spec, prefix):
- makefile_in = FileFilter('Makefile.in')
- makefile_in.filter('mpifccpx', spec['mpi'].mpicc)
- makefile_in.filter('mpiFCCpx', spec['mpi'].mpicxx)
- makefile_in.filter('mpifrtpx', spec['mpi'].mpifc)
- makefile_in.filter('-Kfast', '-O3')
- makefile_in.filter(r'~/ppOpen-HPC/.*', prefix)
- mkdirp('include')
- mkdirp('lib')
+ makefile_in = FileFilter("Makefile.in")
+ makefile_in.filter("mpifccpx", spec["mpi"].mpicc)
+ makefile_in.filter("mpiFCCpx", spec["mpi"].mpicxx)
+ makefile_in.filter("mpifrtpx", spec["mpi"].mpifc)
+ makefile_in.filter("-Kfast", "-O3")
+ makefile_in.filter(r"~/ppOpen-HPC/.*", prefix)
+ mkdirp("include")
+ mkdirp("lib")
def install(self, spec, prefix):
- make('install')
- mkdir(join_path(prefix, 'examples'))
- copy_tree('examples', join_path(prefix, 'examples'))
- mkdir(join_path(prefix, 'doc'))
- copy_tree('doc', join_path(prefix, 'doc'))
+ make("install")
+ mkdir(join_path(prefix, "examples"))
+ copy_tree("examples", join_path(prefix, "examples"))
+ mkdir(join_path(prefix, "doc"))
+ copy_tree("doc", join_path(prefix, "doc"))
@property
def libs(self):
return find_libraries(
- ['libfppohvisfdm3d', 'libppohvisfdm3d'],
- root=self.prefix, shared=False, recursive=True)
+ ["libfppohvisfdm3d", "libppohvisfdm3d"], root=self.prefix, shared=False, recursive=True
+ )
diff --git a/var/spack/repos/builtin/packages/prank/package.py b/var/spack/repos/builtin/packages/prank/package.py
index 8b944fbd75..34f196a38c 100644
--- a/var/spack/repos/builtin/packages/prank/package.py
+++ b/var/spack/repos/builtin/packages/prank/package.py
@@ -10,26 +10,24 @@ class Prank(Package):
"""A powerful multiple sequence alignment browser."""
homepage = "http://wasabiapp.org/software/prank/"
- url = "http://wasabiapp.org/download/prank/prank.source.170427.tgz"
+ url = "http://wasabiapp.org/download/prank/prank.source.170427.tgz"
- version('170427', sha256='623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859')
+ version("170427", sha256="623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859")
- depends_on('mafft')
- depends_on('exonerate')
- depends_on('bpp-suite') # for bppancestor
- conflicts('%gcc@7.2.0', when='@:150803')
+ depends_on("mafft")
+ depends_on("exonerate")
+ depends_on("bpp-suite") # for bppancestor
+ conflicts("%gcc@7.2.0", when="@:150803")
def install(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
- filter_file('gcc', '{0}'.format(spack_cc),
- 'Makefile', string=True)
- filter_file('g++', '{0}'.format(spack_cxx),
- 'Makefile', string=True)
- if not spec.target.family == 'x86_64':
- filter_file('-m64', '', 'Makefile', string=True)
- filter_file('-pipe', '', 'Makefile', string=True)
+ filter_file("gcc", "{0}".format(spack_cc), "Makefile", string=True)
+ filter_file("g++", "{0}".format(spack_cxx), "Makefile", string=True)
+ if not spec.target.family == "x86_64":
+ filter_file("-m64", "", "Makefile", string=True)
+ filter_file("-pipe", "", "Makefile", string=True)
make()
mkdirp(prefix.bin)
- install('prank', prefix.bin)
+ install("prank", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py
index 9b1c293b3a..7cf9320e7e 100644
--- a/var/spack/repos/builtin/packages/precice/package.py
+++ b/var/spack/repos/builtin/packages/precice/package.py
@@ -13,79 +13,79 @@ class Precice(CMakePackage):
capable of simulating a subpart of the complete physics involved in
a simulation."""
- 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']
-
- tags = ['e4s']
-
- version('develop', branch='develop')
- version('2.4.0', sha256='762e603fbcaa96c4fb0b378b7cb6789d09da0cf6193325603e5eeb13e4c7601c')
- version('2.3.0', sha256='57bab08e8b986f5faa364689d470940dbd9c138e5cfa7b861793e7db56b89da3')
- version('2.2.1', sha256='bca8cedfb5c86656e4fdfaca5cb982b861f9aba926538fa4411bc0d015e09c1f')
- version('2.2.0', sha256='f8c4e0810dcaeb6a40a0fcab64b95c899f0121c968e0730416d4d2a97d39d0c4')
- version('2.1.1', sha256='729b7c24a7a61b3953bb70d96a954ad3a85729a29a35a288b59ba25661117064')
- version('2.1.0', sha256='1e6432724f70d0c6c05fdd645e0026754edbc547719a35bf1d3c12a779b1d00e')
- version('2.0.2', sha256='72864480f32696e7b6da94fd404ef5cd6586e2e1640613e46b75f1afac8569ed')
- version('2.0.1', sha256='e4fe2d2063042761ab325f8c802f88ae088c90862af288ad1a642967d074bd50')
- version('2.0.0', sha256='c8979d366f06e35626a8da08a1c589df77ec13972eb524a1ba99a011e245701f')
- version('1.6.1', sha256='7d0c54faa2c69e52304f36608d93c408629868f16f3201f663a0f9b2008f0763')
- version('1.6.0', sha256='c3b16376fda9eb3449adb6cc3c1e267c3dc792a5d118e37d93a32a59b5a4bc6f')
- version('1.5.2', sha256='051e0d7655a91f8681901e5c92812e48f33a5779309e2f104c99f5a687e1a418')
- version('1.5.1', sha256='fbe151f1a9accf9154362c70d15254935d4f594d189982c3a99fdb3dd9d9e665')
- version('1.5.0', sha256='a2a794becd08717e3049252134ae35692fed71966ed32e22cca796a169c16c3e')
- version('1.4.1', sha256='dde4882edde17882340f9f601941d110d5976340bd71af54c6e6ea22ae56f1a5')
- version('1.4.0', sha256='3499bfc0941fb9f004d5e32eb63d64f93e17b4057fab3ada1cde40c8311bd466')
- version('1.3.0', sha256='610322ba1b03df8e8f7d060d57a6a5afeabd5db4e8c4a638d04ba4060a3aec96')
- version('1.2.0', sha256='0784ecd002092949835151b90393beb6e9e7a3e9bd78ffd40d18302d6da4b05b')
+ 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"]
+
+ tags = ["e4s"]
+
+ version("develop", branch="develop")
+ version("2.4.0", sha256="762e603fbcaa96c4fb0b378b7cb6789d09da0cf6193325603e5eeb13e4c7601c")
+ version("2.3.0", sha256="57bab08e8b986f5faa364689d470940dbd9c138e5cfa7b861793e7db56b89da3")
+ version("2.2.1", sha256="bca8cedfb5c86656e4fdfaca5cb982b861f9aba926538fa4411bc0d015e09c1f")
+ version("2.2.0", sha256="f8c4e0810dcaeb6a40a0fcab64b95c899f0121c968e0730416d4d2a97d39d0c4")
+ version("2.1.1", sha256="729b7c24a7a61b3953bb70d96a954ad3a85729a29a35a288b59ba25661117064")
+ version("2.1.0", sha256="1e6432724f70d0c6c05fdd645e0026754edbc547719a35bf1d3c12a779b1d00e")
+ version("2.0.2", sha256="72864480f32696e7b6da94fd404ef5cd6586e2e1640613e46b75f1afac8569ed")
+ version("2.0.1", sha256="e4fe2d2063042761ab325f8c802f88ae088c90862af288ad1a642967d074bd50")
+ version("2.0.0", sha256="c8979d366f06e35626a8da08a1c589df77ec13972eb524a1ba99a011e245701f")
+ version("1.6.1", sha256="7d0c54faa2c69e52304f36608d93c408629868f16f3201f663a0f9b2008f0763")
+ version("1.6.0", sha256="c3b16376fda9eb3449adb6cc3c1e267c3dc792a5d118e37d93a32a59b5a4bc6f")
+ version("1.5.2", sha256="051e0d7655a91f8681901e5c92812e48f33a5779309e2f104c99f5a687e1a418")
+ version("1.5.1", sha256="fbe151f1a9accf9154362c70d15254935d4f594d189982c3a99fdb3dd9d9e665")
+ version("1.5.0", sha256="a2a794becd08717e3049252134ae35692fed71966ed32e22cca796a169c16c3e")
+ version("1.4.1", sha256="dde4882edde17882340f9f601941d110d5976340bd71af54c6e6ea22ae56f1a5")
+ version("1.4.0", sha256="3499bfc0941fb9f004d5e32eb63d64f93e17b4057fab3ada1cde40c8311bd466")
+ version("1.3.0", sha256="610322ba1b03df8e8f7d060d57a6a5afeabd5db4e8c4a638d04ba4060a3aec96")
+ version("1.2.0", sha256="0784ecd002092949835151b90393beb6e9e7a3e9bd78ffd40d18302d6da4b05b")
# Skip version 1.1.1 entirely, the cmake was lacking install.
- variant('mpi', default=True, description='Enable MPI support')
- variant('petsc', default=True, description='Enable PETSc support')
- variant('python', default=False, description='Enable Python support')
- variant('shared', default=True, description='Build shared libraries')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("petsc", default=True, description="Enable PETSc support")
+ variant("python", default=False, description="Enable Python support")
+ variant("shared", default=True, description="Build shared libraries")
- depends_on('cmake@3.5:', type='build')
- depends_on('cmake@3.10.2:', type='build', when='@1.4:')
- depends_on('cmake@3.16.3:', type='build', when='@2.4:')
- depends_on('pkgconfig', type='build', when='@2.2:')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("cmake@3.10.2:", type="build", when="@1.4:")
+ depends_on("cmake@3.16.3:", type="build", when="@2.4:")
+ depends_on("pkgconfig", type="build", when="@2.2:")
# Boost components
- depends_on('boost+filesystem+log+program_options+system+test+thread')
- depends_on('boost+signals', when='@:2.3')
+ depends_on("boost+filesystem+log+program_options+system+test+thread")
+ depends_on("boost+signals", when="@:2.3")
# Baseline versions
- depends_on('boost@1.60.0:')
- depends_on('boost@1.65.1:', when='@1.4:')
- depends_on('boost@1.71.0:', when='@2.4:')
+ depends_on("boost@1.60.0:")
+ depends_on("boost@1.65.1:", when="@1.4:")
+ depends_on("boost@1.71.0:", when="@2.4:")
# Forward compatibility
- depends_on('boost@:1.72', when='@:2.0.2')
- depends_on('boost@:1.74', when='@:2.1.1')
- depends_on('boost@:1.78', when='@:2.3.0')
+ depends_on("boost@:1.72", when="@:2.0.2")
+ depends_on("boost@:1.74", when="@:2.1.1")
+ depends_on("boost@:1.78", when="@:2.3.0")
- depends_on('eigen@3.2:')
- depends_on('eigen@:3.3.7', type='build', when='@:1.5') # bug in prettyprint
- depends_on('libxml2')
- depends_on('mpi', when='+mpi')
- depends_on('petsc@3.6:', when='+petsc')
- depends_on('petsc@3.12:', when='+petsc@2.1.0:')
+ depends_on("eigen@3.2:")
+ depends_on("eigen@:3.3.7", type="build", when="@:1.5") # bug in prettyprint
+ depends_on("libxml2")
+ depends_on("mpi", when="+mpi")
+ depends_on("petsc@3.6:", when="+petsc")
+ depends_on("petsc@3.12:", when="+petsc@2.1.0:")
# Python 3 support was added in version 2.0
- depends_on('python@2.7:2.8', when='@:1.9+python', type=('build', 'run'))
- depends_on('python@3:', when='@2:+python', type=('build', 'run'))
+ depends_on("python@2.7:2.8", when="@:1.9+python", type=("build", "run"))
+ depends_on("python@3:", when="@2:+python", type=("build", "run"))
# numpy 1.17+ requires Python 3
- depends_on('py-numpy@:1.16', when='@:1.9+python', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@2:+python', type=('build', 'run'))
+ depends_on("py-numpy@:1.16", when="@:1.9+python", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@2:+python", type=("build", "run"))
# We require C++14 compiler support
- conflicts('%gcc@:4')
- conflicts('%apple-clang@:5')
- conflicts('%clang@:3.7')
- conflicts('%intel@:16')
- conflicts('%pgi@:17.3')
+ conflicts("%gcc@:4")
+ conflicts("%apple-clang@:5")
+ conflicts("%clang@:3.7")
+ conflicts("%intel@:16")
+ conflicts("%pgi@:17.3")
def cmake_args(self):
"""Populate cmake arguments for precice."""
@@ -95,79 +95,78 @@ class Precice(CMakePackage):
xsdk_mode = spec.satisfies("@1.6:")
# Select the correct CMake variables by version
- mpi_option = "MPI"
+ mpi_option = "MPI"
if spec.satisfies("@2:"):
- mpi_option = "PRECICE_MPICommunication"
- petsc_option = "PETSC"
+ mpi_option = "PRECICE_MPICommunication"
+ petsc_option = "PETSC"
if spec.satisfies("@2:"):
- petsc_option = "PRECICE_PETScMapping"
- python_option = "PYTHON"
+ petsc_option = "PRECICE_PETScMapping"
+ python_option = "PYTHON"
if spec.satisfies("@2:"):
python_option = "PRECICE_PythonActions"
- def variant_bool(feature, on='ON', off='OFF'):
+ def variant_bool(feature, on="ON", off="OFF"):
"""Ternary for spec variant to ON/OFF string"""
if feature in spec:
return on
return off
cmake_args = [
- '-DBUILD_SHARED_LIBS:BOOL=%s' % variant_bool('+shared'),
+ "-DBUILD_SHARED_LIBS:BOOL=%s" % variant_bool("+shared"),
]
- cmake_args.append('-D%s:BOOL=%s' % (mpi_option, variant_bool('+mpi')))
+ cmake_args.append("-D%s:BOOL=%s" % (mpi_option, variant_bool("+mpi")))
# Boost
if xsdk_mode:
- cmake_args.append('-DTPL_ENABLE_BOOST=ON')
- cmake_args.append('-DBOOST_ROOT=%s' % spec['boost'].prefix)
+ cmake_args.append("-DTPL_ENABLE_BOOST=ON")
+ cmake_args.append("-DBOOST_ROOT=%s" % spec["boost"].prefix)
# Eigen3
if xsdk_mode:
- cmake_args.append('-DTPL_ENABLE_EIGEN3=ON')
- cmake_args.append(
- '-DEIGEN3_INCLUDE_DIR=%s' % spec['eigen'].headers.directories[0])
+ cmake_args.append("-DTPL_ENABLE_EIGEN3=ON")
+ cmake_args.append("-DEIGEN3_INCLUDE_DIR=%s" % spec["eigen"].headers.directories[0])
# LibXML2
if xsdk_mode:
- cmake_args.append('-DTPL_ENABLE_LIBXML2=ON')
- libxml2_includes = spec['libxml2'].headers.directories[0]
- cmake_args.extend([
- '-DLIBXML2_INCLUDE_DIRS=%s' % libxml2_includes,
- '-DLIBXML2_LIBRARIES=%s' % spec['libxml2'].libs[0],
- ])
+ cmake_args.append("-DTPL_ENABLE_LIBXML2=ON")
+ libxml2_includes = spec["libxml2"].headers.directories[0]
+ cmake_args.extend(
+ [
+ "-DLIBXML2_INCLUDE_DIRS=%s" % libxml2_includes,
+ "-DLIBXML2_LIBRARIES=%s" % spec["libxml2"].libs[0],
+ ]
+ )
# PETSc
- if '+petsc' in spec:
+ if "+petsc" in spec:
if xsdk_mode:
- cmake_args.append('-DTPL_ENABLE_PETSC:BOOL=ON')
+ cmake_args.append("-DTPL_ENABLE_PETSC:BOOL=ON")
else:
- cmake_args.append('-D%s:BOOL=ON' % petsc_option)
- cmake_args.extend([
- '-DPETSC_DIR=%s' % spec['petsc'].prefix,
- '-DPETSC_ARCH=.'
- ])
+ cmake_args.append("-D%s:BOOL=ON" % petsc_option)
+ cmake_args.extend(["-DPETSC_DIR=%s" % spec["petsc"].prefix, "-DPETSC_ARCH=."])
else:
- cmake_args.append('-D%s:BOOL=OFF' % petsc_option)
+ cmake_args.append("-D%s:BOOL=OFF" % petsc_option)
# Python
- if '+python' in spec:
- python_library = spec['python'].libs[0]
- python_include = spec['python'].headers.directories[0]
+ if "+python" in spec:
+ python_library = spec["python"].libs[0]
+ python_include = spec["python"].headers.directories[0]
numpy_include = join_path(
- spec['py-numpy'].prefix,
- spec['python'].package.platlib,
- 'numpy', 'core', 'include')
+ spec["py-numpy"].prefix, spec["python"].package.platlib, "numpy", "core", "include"
+ )
if xsdk_mode:
- cmake_args.append('-DTPL_ENABLE_PYTHON:BOOL=ON')
+ cmake_args.append("-DTPL_ENABLE_PYTHON:BOOL=ON")
else:
- cmake_args.append('-D%s:BOOL=ON' % python_option)
- cmake_args.extend([
- '-DPYTHON_INCLUDE_DIR=%s' % python_include,
- '-DNumPy_INCLUDE_DIR=%s' % numpy_include,
- '-DPYTHON_LIBRARY=%s' % python_library
- ])
+ cmake_args.append("-D%s:BOOL=ON" % python_option)
+ cmake_args.extend(
+ [
+ "-DPYTHON_INCLUDE_DIR=%s" % python_include,
+ "-DNumPy_INCLUDE_DIR=%s" % numpy_include,
+ "-DPYTHON_LIBRARY=%s" % python_library,
+ ]
+ )
else:
- cmake_args.append('-D%s:BOOL=OFF' % python_option)
+ cmake_args.append("-D%s:BOOL=OFF" % python_option)
return cmake_args
diff --git a/var/spack/repos/builtin/packages/predixy/package.py b/var/spack/repos/builtin/packages/predixy/package.py
index 4c7858fd1c..6f8c81704f 100644
--- a/var/spack/repos/builtin/packages/predixy/package.py
+++ b/var/spack/repos/builtin/packages/predixy/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Predixy(MakefilePackage):
"""Predixy is a high performance and fully featured proxy
- for redis sentinel and redis cluster."""
+ for redis sentinel and redis cluster."""
homepage = "https://github.com/joyieldInc/predixy"
- url = "https://github.com/joyieldInc/predixy/archive/1.0.5.tar.gz"
+ url = "https://github.com/joyieldInc/predixy/archive/1.0.5.tar.gz"
- version('1.0.5', sha256='0670d0b80f991b415a6dc6df107e5f223e3b41dc5d6b18bf73e26578178dd9e0')
- version('1.0.4', sha256='30a7dd44ce507a7a2f8a570c59c9133df239a7f8bad14ef1b97df92b2ee96d40')
- version('1.0.3', sha256='d815d0ffcd33b16bfee76fe5523bdd47cf9acca0419eaa284d5ccda4cf62b828')
+ version("1.0.5", sha256="0670d0b80f991b415a6dc6df107e5f223e3b41dc5d6b18bf73e26578178dd9e0")
+ version("1.0.4", sha256="30a7dd44ce507a7a2f8a570c59c9133df239a7f8bad14ef1b97df92b2ee96d40")
+ version("1.0.3", sha256="d815d0ffcd33b16bfee76fe5523bdd47cf9acca0419eaa284d5ccda4cf62b828")
def install(self, spec, prefix):
mkdirp(self.prefix.bin)
install("src/predixy", self.prefix.bin)
- install_tree('conf', self.prefix.conf)
+ install_tree("conf", self.prefix.conf)
diff --git a/var/spack/repos/builtin/packages/premake-core/package.py b/var/spack/repos/builtin/packages/premake-core/package.py
index da7ebab99e..055b0642ee 100644
--- a/var/spack/repos/builtin/packages/premake-core/package.py
+++ b/var/spack/repos/builtin/packages/premake-core/package.py
@@ -14,14 +14,20 @@ class PremakeCore(MakefilePackage):
scripts are little Lua programs, so the sky's the limit!"""
homepage = "https://premake.github.io/"
- url = "https://github.com/premake/premake-core/archive/v5.0.0-alpha15.tar.gz"
+ url = "https://github.com/premake/premake-core/archive/v5.0.0-alpha15.tar.gz"
- version('5.0.0-alpha15', sha256='188c590f23b944f8fb2a3254acbb63c9655617be021ba4a670d81e6d499ff6cf')
- version('5.0.0-alpha14', sha256='bb0b7b13b1aa175159cbce252389f6e28025a1a935e678632b0dede8e5c21cb9')
- version('5.0.0-alpha13', sha256='bfe983e24686c50cada935f74adad2aefe6581649734b2ab8c1aaa2de4d473c6')
+ version(
+ "5.0.0-alpha15", sha256="188c590f23b944f8fb2a3254acbb63c9655617be021ba4a670d81e6d499ff6cf"
+ )
+ version(
+ "5.0.0-alpha14", sha256="bb0b7b13b1aa175159cbce252389f6e28025a1a935e678632b0dede8e5c21cb9"
+ )
+ version(
+ "5.0.0-alpha13", sha256="bfe983e24686c50cada935f74adad2aefe6581649734b2ab8c1aaa2de4d473c6"
+ )
def build(self, spec, prefix):
- make('-f', 'Bootstrap.mak', self.architecture.platform.name)
+ make("-f", "Bootstrap.mak", self.architecture.platform.name)
def install(self, spec, prefix):
- install_tree('bin/release', prefix.bin)
+ install_tree("bin/release", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/presentproto/package.py b/var/spack/repos/builtin/packages/presentproto/package.py
index d785b95df4..4e6446c547 100644
--- a/var/spack/repos/builtin/packages/presentproto/package.py
+++ b/var/spack/repos/builtin/packages/presentproto/package.py
@@ -12,7 +12,7 @@ class Presentproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/presentproto/"
xorg_mirror_path = "proto/presentproto-1.0.tar.gz"
- version('1.0', sha256='02f8042cb351dd5c3699a0dbdb2ab25f86532efe3e1e3e97897e7f44b5c67040')
+ version("1.0", sha256="02f8042cb351dd5c3699a0dbdb2ab25f86532efe3e1e3e97897e7f44b5c67040")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/preseq/package.py b/var/spack/repos/builtin/packages/preseq/package.py
index 21daee5d94..29b518d1b2 100644
--- a/var/spack/repos/builtin/packages/preseq/package.py
+++ b/var/spack/repos/builtin/packages/preseq/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Preseq(MakefilePackage):
"""The preseq package is aimed at predicting and estimating the complexity
- of a genomic sequencing library, equivalent to predicting and
- estimating the number of redundant reads from a given sequencing depth
- and how many will be expected from additional sequencing using an
- initial sequencing experiment."""
+ of a genomic sequencing library, equivalent to predicting and
+ estimating the number of redundant reads from a given sequencing depth
+ and how many will be expected from additional sequencing using an
+ initial sequencing experiment."""
homepage = "https://github.com/smithlabcode/preseq"
- url = "https://github.com/smithlabcode/preseq/releases/download/v2.0.2/preseq_v2.0.2.tar.bz2"
+ url = "https://github.com/smithlabcode/preseq/releases/download/v2.0.2/preseq_v2.0.2.tar.bz2"
- version('2.0.2', sha256='1d7ea249bf4e5826e09697256643e6a2473bc302cd455f31d4eb34c23c10b97c')
+ version("2.0.2", sha256="1d7ea249bf4e5826e09697256643e6a2473bc302cd455f31d4eb34c23c10b97c")
- depends_on('samtools')
- depends_on('gsl')
+ depends_on("samtools")
+ depends_on("gsl")
def setup_build_environment(self, env):
- env.set('PREFIX', self.prefix)
+ env.set("PREFIX", self.prefix)
diff --git a/var/spack/repos/builtin/packages/presto/package.py b/var/spack/repos/builtin/packages/presto/package.py
index c2213e4405..ec1c9998f7 100644
--- a/var/spack/repos/builtin/packages/presto/package.py
+++ b/var/spack/repos/builtin/packages/presto/package.py
@@ -11,15 +11,15 @@ class Presto(MavenPackage):
"""Presto is a distributed SQL query engine for big data."""
homepage = "https://prestodb.io/"
- url = "https://github.com/prestodb/presto/archive/0.239.tar.gz"
+ url = "https://github.com/prestodb/presto/archive/0.239.tar.gz"
- version('0.239', sha256='cff738eecf9e4e0bb58a9b0366053a328c4ac4e72d3e8209e8c654f6e1b8985f')
- version('0.238.2', sha256='cb79311cb27695e00108c84c6e135c0b1f8ffb631013c2b25ed8565f9cf1b71f')
- version('0.238.1', sha256='4b811af887fc2dd38cfa36355d6a47c234a600f51e908dc9b59e24a5407b3620')
- version('0.238', sha256='89733c79eac750d401007bc4d1eb2d61aba725b3eaaa3421782443553799e7c9')
- version('0.237.2', sha256='3547328e1757956f8c46d4f5ad12d903f71da1ffed41bb39e6f24c4d4b056040')
- version('0.237.1', sha256='c613c04ef97cf90eb390379cc6efa9ec65aac41a3d8f4863f9567597c6a2ec21')
- version('0.237', sha256='4a19b384eb6bd8ecb020a18b8fa8f6f2105489d1891a2909f53f4e2c20c12699')
- version('0.236.1', sha256='571c74c0b84ee515750c129eb5de1fbac09cd4d028943d9df99c8e89909c83f4')
- version('0.236', sha256='6d4c1d79216d2530b64a7737a54c35e698ca738e42d77d086f036224b42b508e')
- version('0.235.1', sha256='1353b2b8526bc2a365f70e9af7005e294cfff11d53285279b2f67048bb5511a0')
+ version("0.239", sha256="cff738eecf9e4e0bb58a9b0366053a328c4ac4e72d3e8209e8c654f6e1b8985f")
+ version("0.238.2", sha256="cb79311cb27695e00108c84c6e135c0b1f8ffb631013c2b25ed8565f9cf1b71f")
+ version("0.238.1", sha256="4b811af887fc2dd38cfa36355d6a47c234a600f51e908dc9b59e24a5407b3620")
+ version("0.238", sha256="89733c79eac750d401007bc4d1eb2d61aba725b3eaaa3421782443553799e7c9")
+ version("0.237.2", sha256="3547328e1757956f8c46d4f5ad12d903f71da1ffed41bb39e6f24c4d4b056040")
+ version("0.237.1", sha256="c613c04ef97cf90eb390379cc6efa9ec65aac41a3d8f4863f9567597c6a2ec21")
+ version("0.237", sha256="4a19b384eb6bd8ecb020a18b8fa8f6f2105489d1891a2909f53f4e2c20c12699")
+ version("0.236.1", sha256="571c74c0b84ee515750c129eb5de1fbac09cd4d028943d9df99c8e89909c83f4")
+ version("0.236", sha256="6d4c1d79216d2530b64a7737a54c35e698ca738e42d77d086f036224b42b508e")
+ version("0.235.1", sha256="1353b2b8526bc2a365f70e9af7005e294cfff11d53285279b2f67048bb5511a0")
diff --git a/var/spack/repos/builtin/packages/price/package.py b/var/spack/repos/builtin/packages/price/package.py
index 5b7e565708..5078084477 100644
--- a/var/spack/repos/builtin/packages/price/package.py
+++ b/var/spack/repos/builtin/packages/price/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Price(MakefilePackage):
"""PRICE (Paired-Read Iterative Contig Extension): a de novo genome
- assembler implemented in C++."""
+ assembler implemented in C++."""
homepage = "http://derisilab.ucsf.edu/software/price/"
- url = "https://derisilab.ucsf.edu/software/price/PriceSource140408.tar.gz"
+ url = "https://derisilab.ucsf.edu/software/price/PriceSource140408.tar.gz"
- version('140408', sha256='12276b2b15f4e020a772944a19fd2aaf089d3437cbc71e7486fa8db95014843f')
+ version("140408", sha256="12276b2b15f4e020a772944a19fd2aaf089d3437cbc71e7486fa8db95014843f")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('PriceTI', prefix.bin)
- install('PriceSeqFilter', prefix.bin)
+ install("PriceTI", prefix.bin)
+ install("PriceSeqFilter", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/primer3/package.py b/var/spack/repos/builtin/packages/primer3/package.py
index 7dfe6c64f1..e206bd2412 100644
--- a/var/spack/repos/builtin/packages/primer3/package.py
+++ b/var/spack/repos/builtin/packages/primer3/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Primer3(MakefilePackage):
"""Primer3 is a widely used program for designing PCR primers
- (PCR = "Polymerase Chain Reaction"). PCR is an essential and
- ubiquitous tool in genetics and molecular biology. Primer3
- can also design hybridization probes and sequencing primers."""
+ (PCR = "Polymerase Chain Reaction"). PCR is an essential and
+ ubiquitous tool in genetics and molecular biology. Primer3
+ can also design hybridization probes and sequencing primers."""
homepage = "https://primer3.org/"
- url = "https://github.com/primer3-org/primer3/archive/v2.3.7.tar.gz"
+ url = "https://github.com/primer3-org/primer3/archive/v2.3.7.tar.gz"
- version('2.5.0', sha256='7581e2fa3228ef0ee1ffa427b2aa0a18fc635d561208327471daf59d1b804da0')
- version('2.3.7', sha256='f7ac3e64dc89b7c80882bf0f52c2c0a58572f5fdafd178680d4a7ae91b6c465b')
+ version("2.5.0", sha256="7581e2fa3228ef0ee1ffa427b2aa0a18fc635d561208327471daf59d1b804da0")
+ version("2.3.7", sha256="f7ac3e64dc89b7c80882bf0f52c2c0a58572f5fdafd178680d4a7ae91b6c465b")
- build_directory = 'src'
+ build_directory = "src"
# Prior to May 15, 2018, the code contained invalid pointer/int
# comparisons, leading to compilers that default to strict mode
@@ -27,13 +27,11 @@ class Primer3(MakefilePackage):
# https://github.com/primer3-org/primer3/issues/2
# https://github.com/primer3-org/primer3/issues/3
def patch(self):
- if self.spec.version == Version('2.3.7'):
- filter_file(r'^(CC_OPTS.*)', r'\1 -fpermissive',
- join_path('src', 'Makefile'))
+ if self.spec.version == Version("2.3.7"):
+ filter_file(r"^(CC_OPTS.*)", r"\1 -fpermissive", join_path("src", "Makefile"))
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdirp(prefix.bin)
- for binary in ('primer3_core', 'ntdpal', 'oligotm',
- 'long_seq_tm_test'):
+ for binary in ("primer3_core", "ntdpal", "oligotm", "long_seq_tm_test"):
install(binary, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/prinseq-lite/package.py b/var/spack/repos/builtin/packages/prinseq-lite/package.py
index 8a61211e93..9f0eadb398 100644
--- a/var/spack/repos/builtin/packages/prinseq-lite/package.py
+++ b/var/spack/repos/builtin/packages/prinseq-lite/package.py
@@ -11,31 +11,27 @@ class PrinseqLite(Package):
sequence data in FASTA or FASTQ format."""
homepage = "http://prinseq.sourceforge.net"
- url = "https://sourceforge.net/projects/prinseq/files/standalone/prinseq-lite-0.20.4.tar.gz"
+ url = "https://sourceforge.net/projects/prinseq/files/standalone/prinseq-lite-0.20.4.tar.gz"
- version('0.20.4', sha256='9b5e0dce3b7f02f09e1cc7e8a2dd77c0b133e5e35529d570ee901f53ebfeb56f')
+ version("0.20.4", sha256="9b5e0dce3b7f02f09e1cc7e8a2dd77c0b133e5e35529d570ee901f53ebfeb56f")
- variant('nopca', default=True, description="Graphs version without PCA")
+ variant("nopca", default=True, description="Graphs version without PCA")
- depends_on('perl', type='run')
- depends_on('perl-cairo', type='run')
- depends_on('perl-digest-md5', type='run')
- depends_on('perl-json', type='run')
+ depends_on("perl", type="run")
+ depends_on("perl-cairo", type="run")
+ depends_on("perl-digest-md5", type="run")
+ depends_on("perl-json", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl',
- 'prinseq-graphs-noPCA.pl')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "prinseq-graphs-noPCA.pl")
- filter_file(r'#!/usr/bin/perl',
- '#!/usr/bin/env perl',
- 'prinseq-lite.pl')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "prinseq-lite.pl")
- install('prinseq-graphs-noPCA.pl', prefix.bin)
- install('prinseq-lite.pl', prefix.bin)
+ install("prinseq-graphs-noPCA.pl", prefix.bin)
+ install("prinseq-lite.pl", prefix.bin)
- chmod = which('chmod')
- chmod('+x', join_path(self.prefix.bin, 'prinseq-graphs-noPCA.pl'))
- chmod('+x', join_path(self.prefix.bin, 'prinseq-lite.pl'))
+ chmod = which("chmod")
+ chmod("+x", join_path(self.prefix.bin, "prinseq-graphs-noPCA.pl"))
+ chmod("+x", join_path(self.prefix.bin, "prinseq-lite.pl"))
diff --git a/var/spack/repos/builtin/packages/printproto/package.py b/var/spack/repos/builtin/packages/printproto/package.py
index 1cb454253c..30843501e4 100644
--- a/var/spack/repos/builtin/packages/printproto/package.py
+++ b/var/spack/repos/builtin/packages/printproto/package.py
@@ -13,7 +13,7 @@ class Printproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/printproto"
xorg_mirror_path = "proto/printproto-1.0.5.tar.gz"
- version('1.0.5', sha256='e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc')
+ version("1.0.5", sha256="e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/prism/package.py b/var/spack/repos/builtin/packages/prism/package.py
index 71c73acd92..c9a65ec702 100644
--- a/var/spack/repos/builtin/packages/prism/package.py
+++ b/var/spack/repos/builtin/packages/prism/package.py
@@ -8,37 +8,37 @@ from spack.package import *
class Prism(MakefilePackage):
"""PRISM is a probabilistic model checker, a tool for formal modelling and
- analysis of systems that exhibit random or probabilistic behaviour."""
+ analysis of systems that exhibit random or probabilistic behaviour."""
homepage = "https://www.prismmodelchecker.org/"
- url = "https://github.com/prismmodelchecker/prism/archive/v4.5.tar.gz"
+ url = "https://github.com/prismmodelchecker/prism/archive/v4.5.tar.gz"
- version('4.5', sha256='1cb7a77538b5c997d98a8c209030c46f9e8f021f7a8332e5eb2fd3b4a23936fd')
+ version("4.5", sha256="1cb7a77538b5c997d98a8c209030c46f9e8f021f7a8332e5eb2fd3b4a23936fd")
- build_directory = 'prism'
+ build_directory = "prism"
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
- patch('Makefile.patch', when='target=aarch64:')
+ patch("Makefile.patch", when="target=aarch64:")
def setup_run_environment(self, env):
- env.set('PRISM_DIR', self.prefix)
+ env.set("PRISM_DIR", self.prefix)
def install(self, spec, prefix):
with working_dir(self.build_directory):
# after building, remove PRISM_DIR lines from startup scripts,
# as they point to the stage and not the prefix
- for f in ['prism', 'xprism']:
- filter_file('^PRISM_DIR.*', '', 'bin/{0}'.format(f))
+ for f in ["prism", "xprism"]:
+ filter_file("^PRISM_DIR.*", "", "bin/{0}".format(f))
dirs = [
- 'bin',
- 'classes',
- 'dtds',
- 'etc',
- 'include',
- 'images',
- 'lib',
+ "bin",
+ "classes",
+ "dtds",
+ "etc",
+ "include",
+ "images",
+ "lib",
]
for d in dirs:
diff --git a/var/spack/repos/builtin/packages/prmon/package.py b/var/spack/repos/builtin/packages/prmon/package.py
index 90b94bfd8c..323b0a52d8 100644
--- a/var/spack/repos/builtin/packages/prmon/package.py
+++ b/var/spack/repos/builtin/packages/prmon/package.py
@@ -11,33 +11,32 @@ class Prmon(CMakePackage):
"""Standalone monitor for process resource consumption."""
homepage = "https://github.com/HSF/prmon/"
- url = "https://github.com/HSF/prmon/archive/refs/tags/v3.0.1.zip"
- git = "https://github.com/HSF/prmon.git"
+ url = "https://github.com/HSF/prmon/archive/refs/tags/v3.0.1.zip"
+ git = "https://github.com/HSF/prmon.git"
- maintainers = ['graeme-a-stewart', 'amete', 'vvolkl']
+ maintainers = ["graeme-a-stewart", "amete", "vvolkl"]
version("main", branch="main")
- version('3.0.2', sha256='ea9ff521689fecb8c395e35e9540be18c7ab37812354c4a5c0ba505e2ab467c1')
- version('3.0.0', sha256='fd6f4e3a95e055d265fbbaba08d680826cb4770eb8830cc987898d6504ac7474')
- version('2.2.1', sha256='7c95538a0ddcfc71b5c581979a5bb298873fdf16966fd6951aaa2b2639b08319')
- version('2.2.0', sha256='7b3b887c679279f0e666e8c8c58ca1a22a328b8b94ecff09e61795a6a83e8ce5')
- version('2.1.1', sha256='302d7a3fc5a403143d794e16dca1949e3d13e46cf9857dfaad4e374f4a468df2')
- version('1.1.1', sha256='a6e6486bbc4d6cddf73affe07d9ff7948a424c9a02b3cdd5bbe5c6cafa06af2e')
+ version("3.0.2", sha256="ea9ff521689fecb8c395e35e9540be18c7ab37812354c4a5c0ba505e2ab467c1")
+ version("3.0.0", sha256="fd6f4e3a95e055d265fbbaba08d680826cb4770eb8830cc987898d6504ac7474")
+ version("2.2.1", sha256="7c95538a0ddcfc71b5c581979a5bb298873fdf16966fd6951aaa2b2639b08319")
+ version("2.2.0", sha256="7b3b887c679279f0e666e8c8c58ca1a22a328b8b94ecff09e61795a6a83e8ce5")
+ version("2.1.1", sha256="302d7a3fc5a403143d794e16dca1949e3d13e46cf9857dfaad4e374f4a468df2")
+ version("1.1.1", sha256="a6e6486bbc4d6cddf73affe07d9ff7948a424c9a02b3cdd5bbe5c6cafa06af2e")
- variant('plot', default=False,
- description='Make use of plotting scripts')
+ variant("plot", default=False, description="Make use of plotting scripts")
- depends_on('nlohmann-json')
- depends_on('cmake@3.3:', type="build")
- depends_on('spdlog', when='@3.0.0:')
- depends_on('py-matplotlib', type="run", when="+plot")
+ depends_on("nlohmann-json")
+ depends_on("cmake@3.3:", type="build")
+ depends_on("spdlog", when="@3.0.0:")
+ depends_on("py-matplotlib", type="run", when="+plot")
def cmake_args(self):
args = [
# googletest is fetched and built on the fly
self.define("BUILD_GTESTS", self.run_tests),
self.define("USE_EXTERNAL_NLOHMANN_JSON", True),
- self.define("USE_EXTERNAL_SPDLOG", True)
+ self.define("USE_EXTERNAL_SPDLOG", True),
]
return args
diff --git a/var/spack/repos/builtin/packages/prng/package.py b/var/spack/repos/builtin/packages/prng/package.py
index 80959a0fd7..43875a5b9b 100644
--- a/var/spack/repos/builtin/packages/prng/package.py
+++ b/var/spack/repos/builtin/packages/prng/package.py
@@ -10,17 +10,17 @@ class Prng(AutotoolsPackage):
"""Pseudo-Random Number Generator library."""
homepage = "https://statmath.wu.ac.at/prng/"
- url = "https://statmath.wu.ac.at/prng/prng-3.0.2.tar.gz"
+ url = "https://statmath.wu.ac.at/prng/prng-3.0.2.tar.gz"
- version('3.0.2', sha256='8299182b97c24b7891d74590a8a8438641a6c681ce34d6c3f7bc98a0649da48b')
+ version("3.0.2", sha256="8299182b97c24b7891d74590a8a8438641a6c681ce34d6c3f7bc98a0649da48b")
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- patch('prng-3.0.2-shared.patch', when="@3.0.2")
- patch('prng-3.0.2-fix-c99-inline-semantics.patch', when="@3.0.2")
+ patch("prng-3.0.2-shared.patch", when="@3.0.2")
+ patch("prng-3.0.2-fix-c99-inline-semantics.patch", when="@3.0.2")
# Force the autoreconf step
force_autoreconf = True
diff --git a/var/spack/repos/builtin/packages/probconsrna/package.py b/var/spack/repos/builtin/packages/probconsrna/package.py
index ba52265109..e28e0040de 100644
--- a/var/spack/repos/builtin/packages/probconsrna/package.py
+++ b/var/spack/repos/builtin/packages/probconsrna/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Probconsrna(Package):
"""Experimental version of PROBCONS with parameters estimated via
- unsupervised training on BRAliBASE """
+ unsupervised training on BRAliBASE"""
homepage = "http://probcons.stanford.edu/"
- url = "http://probcons.stanford.edu/probconsRNA.tar.gz"
+ url = "http://probcons.stanford.edu/probconsRNA.tar.gz"
- version('2005-6-7', sha256='7fe4494bd423db1d5f33f5ece2c70f9f66a0d9112e28d3eaa7dfdfe7fa66eba8')
+ version("2005-6-7", sha256="7fe4494bd423db1d5f33f5ece2c70f9f66a0d9112e28d3eaa7dfdfe7fa66eba8")
def install(self, build, prefix):
mkdirp(prefix.bin)
- install('compare', prefix.bin)
- install('makegnuplot', prefix.bin)
- install('probcons', prefix.bin)
+ install("compare", prefix.bin)
+ install("makegnuplot", prefix.bin)
+ install("probcons", prefix.bin)
# needed for tcoffee
- install('probcons', prefix.bin.probconsRNA)
- install('project', prefix.bin)
+ install("probcons", prefix.bin.probconsRNA)
+ install("project", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/procenv/package.py b/var/spack/repos/builtin/packages/procenv/package.py
index cccf3f36c4..6f3c98260f 100644
--- a/var/spack/repos/builtin/packages/procenv/package.py
+++ b/var/spack/repos/builtin/packages/procenv/package.py
@@ -13,17 +13,17 @@ class Procenv(AutotoolsPackage):
comparing system environments."""
homepage = "https://github.com/jamesodhunt/procenv/"
- url = "https://github.com/jamesodhunt/procenv/archive/0.51.tar.gz"
+ url = "https://github.com/jamesodhunt/procenv/archive/0.51.tar.gz"
- version('0.51', sha256='b831c14729e06a285cc13eba095817ce3b6d0ddf484b1264951b03ee4fe25bc9')
+ version("0.51", sha256="b831c14729e06a285cc13eba095817ce3b6d0ddf484b1264951b03ee4fe25bc9")
# https://github.com/jamesodhunt/procenv/pull/16
patch("7cafed1316ddb16fe0689d54ba10c05dd2edd347.patch", when="@:0.51")
- depends_on('expat')
- depends_on('libpcap')
+ depends_on("expat")
+ depends_on("libpcap")
# Fixme: package these and use conditionally (on linux)
# depends_on('libselinux')
# depends_on('libapparmor')
- depends_on('numactl')
- depends_on('check', type='build')
+ depends_on("numactl")
+ depends_on("check", type="build")
diff --git a/var/spack/repos/builtin/packages/process-in-process/package.py b/var/spack/repos/builtin/packages/process-in-process/package.py
index f173e7842e..3e480d8b9a 100644
--- a/var/spack/repos/builtin/packages/process-in-process/package.py
+++ b/var/spack/repos/builtin/packages/process-in-process/package.py
@@ -10,169 +10,203 @@ class ProcessInProcess(Package):
"""Process-in-Process"""
homepage = "https://github.com/RIKEN-SysSoft/PiP"
- git = "https://github.com/RIKEN-SysSoft/PiP.git"
+ git = "https://github.com/RIKEN-SysSoft/PiP.git"
- maintainers = ['ahori']
+ maintainers = ["ahori"]
# PiP version 1 is obsolete
- version('2', branch='pip-2', preferred=True)
- version('3', branch='pip-3') # experimental
-
- conflicts('%gcc@:3', when='os=centos7')
- conflicts('%gcc@5:', when='os=centos7')
- conflicts('%gcc@:3', when='os=rhel7')
- conflicts('%gcc@5:', when='os=rhel7')
- conflicts('%gcc@:7', when='os=centos8')
- conflicts('%gcc@9:', when='os=centos8')
- conflicts('%gcc@:7', when='os=rhel8')
- conflicts('%gcc@9:', when='os=rhel8')
+ version("2", branch="pip-2", preferred=True)
+ version("3", branch="pip-3") # experimental
+
+ conflicts("%gcc@:3", when="os=centos7")
+ conflicts("%gcc@5:", when="os=centos7")
+ conflicts("%gcc@:3", when="os=rhel7")
+ conflicts("%gcc@5:", when="os=rhel7")
+ conflicts("%gcc@:7", when="os=centos8")
+ conflicts("%gcc@9:", when="os=centos8")
+ conflicts("%gcc@:7", when="os=rhel8")
+ conflicts("%gcc@9:", when="os=rhel8")
# packages required for building PiP-gdb
- depends_on('texinfo', type='build')
- depends_on('systemtap')
+ depends_on("texinfo", type="build")
+ depends_on("systemtap")
# resources for PiP version 2
# PiP-glibc resource
# for rhel/centos 7
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.17-260.el7.pip.branch',
- destination='PiP-glibc',
- when='@2 os=centos7')
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.17-260.el7.pip.branch',
- destination='PiP-glibc',
- when='@2 os=rhel7')
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@2 os=centos7",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@2 os=rhel7",
+ )
# for rhel/centos 8
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.28-72.el8_1.1.pip.branch',
- destination='PiP-glibc',
- when='@2 os=centos8')
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.28-72.el8_1.1.pip.branch',
- destination='PiP-glibc',
- when='@2 os=rhel8')
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@2 os=centos8",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@2 os=rhel8",
+ )
# PiP-gdb resource
# for rhel/centos 7
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-7.6.1-94.el7.pip.branch',
- destination='PiP-gdb',
- when='@2 os=centos7')
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-7.6.1-94.el7.pip.branch',
- destination='PiP-gdb',
- when='@2 os=rhel7')
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=centos7",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=rhel7",
+ )
# for rhel/centos 8
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-8.2-12.el8.pip.branch',
- destination='PiP-gdb',
- when='@2 os=centos8')
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-8.2-12.el8.pip.branch',
- destination='PiP-gdb',
- when='@2 os=rhel8')
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=centos8",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=rhel8",
+ )
# resources for PiP version 3
# PiP-glibc resource
# for rhel/centos 7
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.17-260.el7.pip.branch',
- destination='PiP-glibc',
- when='@3 os=centos7')
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.17-260.el7.pip.branch',
- destination='PiP-glibc',
- when='@3 os=rhel7')
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=centos7",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=rhel7",
+ )
# for rhel/centos 8
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.28-72.el8_1.1.pip.branch',
- destination='PiP-glibc',
- when='@3 os=centos8')
- resource(name='PiP-glibc',
- git='https://github.com/RIKEN-SysSoft/PiP-glibc.git',
- branch='centos/glibc-2.28-72.el8_1.1.pip.branch',
- destination='PiP-glibc',
- when='@3 os=rhel8')
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=centos8",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=rhel8",
+ )
# PiP-gdb resource
# for rhel/centos 7
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-7.6.1-94.el7.pip.branch',
- destination='PiP-gdb',
- when='@3 os=centos7')
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-7.6.1-94.el7.pip.branch',
- destination='PiP-gdb',
- when='@3 os=rhel7')
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=centos7",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=rhel7",
+ )
# for rhel/centos 8
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-8.2-12.el8.pip.branch',
- destination='PiP-gdb',
- when='@3 os=centos8')
- resource(name='PiP-gdb',
- git='https://github.com/RIKEN-SysSoft/PiP-gdb.git',
- branch='centos/gdb-8.2-12.el8.pip.branch',
- destination='PiP-gdb',
- when='@3 os=rhel8')
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=centos8",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=rhel8",
+ )
# PiP testsuite (agnostic with PiP and OS versions)
- resource(name='PiP-Testsuite',
- git='https://github.com/RIKEN-SysSoft/PiP-Testsuite.git',
- destination='PiP-Testsuite')
+ resource(
+ name="PiP-Testsuite",
+ git="https://github.com/RIKEN-SysSoft/PiP-Testsuite.git",
+ destination="PiP-Testsuite",
+ )
def install(self, spec, prefix):
"Install Process-in-Process including PiP-glibc, PiP-gdb"
# checking os and arch
- arch = self.spec.architecture
+ arch = self.spec.architecture
target = self.spec.target
- if arch.os not in ['centos7', 'rhel7', 'centos8', 'rhel8']:
- raise InstallError('PIP only supports rhel/centos 7 and 8')
- if target.family not in ['x86_64', 'aarch64']:
- raise InstallError('PIP only supports x86_64 and aarch64')
+ if arch.os not in ["centos7", "rhel7", "centos8", "rhel8"]:
+ raise InstallError("PIP only supports rhel/centos 7 and 8")
+ if target.family not in ["x86_64", "aarch64"]:
+ raise InstallError("PIP only supports x86_64 and aarch64")
- bash = which('bash')
+ bash = which("bash")
# installing PiP-glibc
- glibc_builddir = join_path('PiP-glibc', 'PiP-glibc.build')
+ glibc_builddir = join_path("PiP-glibc", "PiP-glibc.build")
with working_dir(glibc_builddir, create=True):
# build.sh does build and install
- bash(join_path('..', 'PiP-glibc', 'build.sh'), prefix.glibc)
+ bash(join_path("..", "PiP-glibc", "build.sh"), prefix.glibc)
# installing PiP lib
- configure('--prefix=%s' % prefix,
- '--with-glibc-libdir=%s' % prefix.glibc.lib)
+ configure("--prefix=%s" % prefix, "--with-glibc-libdir=%s" % prefix.glibc.lib)
make()
- make('install')
+ make("install")
# installing already-doxygen-ed documents (man pages, html, ...)
- make('doc')
+ make("doc")
# testing PiP by using PiP-Testsuite (another repo), no need install
- with working_dir(join_path('PiP-Testsuite', 'PiP-Testsuite')):
- bash('configure', '--with-pip=%s' % prefix)
+ with working_dir(join_path("PiP-Testsuite", "PiP-Testsuite")):
+ bash("configure", "--with-pip=%s" % prefix)
# make test programs
make()
# and run the test programs
- make('test10', parallel=False)
+ make("test10", parallel=False)
# installing PiP-gdb
- with working_dir(join_path('PiP-gdb', 'PiP-gdb')):
+ with working_dir(join_path("PiP-gdb", "PiP-gdb")):
# build.sh does build and install
- bash('build.sh', '--prefix=%s' % prefix, '--with-pip=%s' % prefix)
+ bash("build.sh", "--prefix=%s" % prefix, "--with-pip=%s" % prefix)
# testing PiP-gdb
- bash('test.sh', parallel=False)
+ bash("test.sh", parallel=False)
+
# all done !!
diff --git a/var/spack/repos/builtin/packages/procps-ng/package.py b/var/spack/repos/builtin/packages/procps-ng/package.py
index 39fadf6d43..8912461d6c 100644
--- a/var/spack/repos/builtin/packages/procps-ng/package.py
+++ b/var/spack/repos/builtin/packages/procps-ng/package.py
@@ -10,9 +10,9 @@ class ProcpsNg(AutotoolsPackage):
"""Utilities that provide system information."""
homepage = "https://sourceforge.net/projects/procps-ng"
- url = "https://udomain.dl.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.16.tar.xz"
+ url = "https://udomain.dl.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.16.tar.xz"
- version('3.3.16', sha256='925eacd65dedcf9c98eb94e8978bbfb63f5de37294cc1047d81462ed477a20af')
+ version("3.3.16", sha256="925eacd65dedcf9c98eb94e8978bbfb63f5de37294cc1047d81462ed477a20af")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/procps/package.py b/var/spack/repos/builtin/packages/procps/package.py
index e7e0e01b69..0b753c01df 100644
--- a/var/spack/repos/builtin/packages/procps/package.py
+++ b/var/spack/repos/builtin/packages/procps/package.py
@@ -12,32 +12,32 @@ class Procps(AutotoolsPackage):
about the status of entries in its process table."""
homepage = "https://gitlab.com/procps-ng/procps"
- git = "https://gitlab.com/procps-ng/procps.git"
+ git = "https://gitlab.com/procps-ng/procps.git"
- version('master', branch='master')
- version('3.3.15', tag='v3.3.15')
+ version("master", branch="master")
+ version("3.3.15", tag="v3.3.15")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('dejagnu', type='test')
- depends_on('iconv')
- depends_on('gettext')
- depends_on('ncurses')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("dejagnu", type="test")
+ depends_on("iconv")
+ depends_on("gettext")
+ depends_on("ncurses")
- conflicts('platform=darwin', msg='procps is linux-only')
+ conflicts("platform=darwin", msg="procps is linux-only")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
return [
- '--with-libiconv-prefix={0}'.format(self.spec['iconv'].prefix),
- '--with-libintl-prefix={0}'.format(self.spec['gettext'].prefix),
- '--with-ncurses',
+ "--with-libiconv-prefix={0}".format(self.spec["iconv"].prefix),
+ "--with-libintl-prefix={0}".format(self.spec["gettext"].prefix),
+ "--with-ncurses",
# Required to avoid libintl linking errors
- '--disable-nls',
+ "--disable-nls",
]
diff --git a/var/spack/repos/builtin/packages/prod-util/package.py b/var/spack/repos/builtin/packages/prod-util/package.py
index 20f65d1073..cafad8a75f 100644
--- a/var/spack/repos/builtin/packages/prod-util/package.py
+++ b/var/spack/repos/builtin/packages/prod-util/package.py
@@ -13,10 +13,10 @@ class ProdUtil(CMakePackage):
This is part of NOAA's NCEPLIBS project."""
homepage = "https://github.com/NOAA-EMC/NCEPLIBS-prod_util"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-prod_util/archive/refs/tags/v1.2.2.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-prod_util/archive/refs/tags/v1.2.2.tar.gz"
- maintainers = ['kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.2.2', sha256='c51b903ea5a046cb9b545b5c04fd28647c58b4ab6182e61710f0287846350ef8')
+ version("1.2.2", sha256="c51b903ea5a046cb9b545b5c04fd28647c58b4ab6182e61710f0287846350ef8")
- depends_on('w3nco')
+ depends_on("w3nco")
diff --git a/var/spack/repos/builtin/packages/prodigal/package.py b/var/spack/repos/builtin/packages/prodigal/package.py
index 9910485874..dcf547868e 100644
--- a/var/spack/repos/builtin/packages/prodigal/package.py
+++ b/var/spack/repos/builtin/packages/prodigal/package.py
@@ -11,12 +11,12 @@ class Prodigal(MakefilePackage):
genomes."""
homepage = "https://github.com/hyattpd/Prodigal"
- url = "https://github.com/hyattpd/Prodigal/archive/v2.6.3.tar.gz"
+ url = "https://github.com/hyattpd/Prodigal/archive/v2.6.3.tar.gz"
- version('2.6.3', sha256='89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f')
+ version("2.6.3", sha256="89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f")
def install(self, spec, prefix):
- make('INSTALLDIR={0}'.format(self.prefix), 'install')
+ make("INSTALLDIR={0}".format(self.prefix), "install")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/professor/package.py b/var/spack/repos/builtin/packages/professor/package.py
index eef891b0f9..2db74d5a6a 100644
--- a/var/spack/repos/builtin/packages/professor/package.py
+++ b/var/spack/repos/builtin/packages/professor/package.py
@@ -11,30 +11,33 @@ class Professor(Package):
"""Professor Monte-Carlo tuning package"""
homepage = "https://professor.hepforge.org/"
- url = "https://professor.hepforge.org/downloads/?f=Professor-2.3.3.tar.gz"
+ url = "https://professor.hepforge.org/downloads/?f=Professor-2.3.3.tar.gz"
- maintainers = ['mjk655']
+ maintainers = ["mjk655"]
- version('2.3.3', sha256='60c5ba00894c809e2c31018bccf22935a9e1f51c0184468efbdd5d27b211009f')
+ version("2.3.3", sha256="60c5ba00894c809e2c31018bccf22935a9e1f51c0184468efbdd5d27b211009f")
- variant('interactive', default=True,
- description='Install prof-I (Interactive parametrization explorer)')
+ variant(
+ "interactive",
+ default=True,
+ description="Install prof-I (Interactive parametrization explorer)",
+ )
- depends_on('yoda')
- depends_on('eigen')
- depends_on('py-cython')
- depends_on('py-iminuit')
- depends_on('py-matplotlib')
- depends_on('py-matplotlib backend=wx', when='+interactive')
- depends_on('root')
+ depends_on("yoda")
+ depends_on("eigen")
+ depends_on("py-cython")
+ depends_on("py-iminuit")
+ depends_on("py-matplotlib")
+ depends_on("py-matplotlib backend=wx", when="+interactive")
+ depends_on("root")
- extends('python')
+ extends("python")
def setup_build_environment(self, env):
- env.set('PROF_VERSION', self.spec.version)
+ env.set("PROF_VERSION", self.spec.version)
def install(self, spec, prefix):
make()
- make('PREFIX={0}'.format(prefix), "install")
- if self.spec.satisfies('~interactive'):
- os.remove(join_path(prefix.bin, 'prof2-I'))
+ make("PREFIX={0}".format(prefix), "install")
+ if self.spec.satisfies("~interactive"):
+ os.remove(join_path(prefix.bin, "prof2-I"))
diff --git a/var/spack/repos/builtin/packages/profugusmc/package.py b/var/spack/repos/builtin/packages/profugusmc/package.py
index 0e04c43a07..52ff21600e 100644
--- a/var/spack/repos/builtin/packages/profugusmc/package.py
+++ b/var/spack/repos/builtin/packages/profugusmc/package.py
@@ -13,12 +13,12 @@ class Profugusmc(CMakePackage, CudaPackage):
git = "https://code.ornl.gov/ProfugusMC/ProfugusMC.git"
url = "https://code.ornl.gov/ProfugusMC/ProfugusMC/-/archive/master/ProfugusMC-master.tar.gz"
- version('master', branch='master')
+ version("master", branch="master")
- variant('mpi', default=True, description='Enable MPI')
- variant('cuda', default=False, description='Enable CUDA')
+ variant("mpi", default=True, description="Enable MPI")
+ variant("cuda", default=False, description="Enable CUDA")
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi', when='+mpi')
- depends_on('cuda', when='+cuda')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi", when="+mpi")
+ depends_on("cuda", when="+cuda")
diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py
index 07c72a9ba1..c9f6c48576 100644
--- a/var/spack/repos/builtin/packages/proj/package.py
+++ b/var/spack/repos/builtin/packages/proj/package.py
@@ -13,101 +13,98 @@ class Proj(AutotoolsPackage):
transformations."""
homepage = "https://proj.org/"
- url = "https://download.osgeo.org/proj/proj-7.2.1.tar.gz"
+ url = "https://download.osgeo.org/proj/proj-7.2.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
# Version 6 removes projects.h, while version 7 removes proj_api.h.
# Many packages that depend on proj do not yet support the newer API.
# See https://github.com/OSGeo/PROJ/wiki/proj.h-adoption-status
- version('8.2.1', sha256='76ed3d0c3a348a6693dfae535e5658bbfd47f71cb7ff7eb96d9f12f7e068b1cf')
- version('8.2.0', sha256='de93df9a4aa88d09459ead791f2dbc874b897bf67a5bbb3e4b68de7b1bdef13c')
- version('8.1.1', sha256='82f1345e5fa530c407cb1fc0752e83f8d08d2b98772941bbdc7820241f7fada2')
- version('8.1.0', sha256='22c5cdc5aa0832077b16c95ebeec748a0942811c1c3438c33d43c8d2ead59f48')
- version('8.0.1', sha256='e0463a8068898785ca75dd49a261d3d28b07d0a88f3b657e8e0089e16a0375fa')
- version('8.0.0', sha256='aa5d4b934450149a350aed7e5fbac880e2f7d3fa2f251c26cb64228f96a2109e')
- version('7.2.1', sha256='b384f42e5fb9c6d01fe5fa4d31da2e91329668863a684f97be5d4760dbbf0a14')
- version('7.2.0', sha256='2957798e5fe295ff96a2af1889d0428e486363d210889422f76dd744f7885763')
- version('7.1.0', sha256='876151e2279346f6bdbc63bd59790b48733496a957bccd5e51b640fdd26eaa8d')
- version('7.0.1', sha256='a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f')
- version('7.0.0', sha256='ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8')
- version('6.3.2', sha256='cb776a70f40c35579ae4ba04fb4a388c1d1ce025a1df6171350dc19f25b80311')
- version('6.3.1', sha256='6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8')
- version('6.2.0', sha256='b300c0f872f632ad7f8eb60725edbf14f0f8f52db740a3ab23e7b94f1cd22a50')
- version('6.1.0', sha256='676165c54319d2f03da4349cbd7344eb430b225fe867a90191d848dc64788008')
- version('6.0.0', sha256='4510a2c1c8f9056374708a867c51b1192e8d6f9a5198dd320bf6a168e44a3657')
- version('5.2.0', sha256='ef919499ffbc62a4aae2659a55e2b25ff09cccbbe230656ba71c6224056c7e60')
- version('5.1.0', sha256='6b1379a53317d9b5b8c723c1dc7bf2e3a8eb22ceb46b8807a1ce48ef65685bb3')
- version('5.0.1', sha256='a792f78897482ed2c4e2af4e8a1a02e294c64e32b591a635c5294cb9d49fdc8c')
- version('4.9.2', sha256='60bf9ad1ed1c18158e652dfff97865ba6fb2b67f1511bc8dceae4b3c7e657796')
- version('4.9.1', sha256='fca0388f3f8bc5a1a803d2f6ff30017532367992b30cf144f2d39be88f36c319')
- version('4.8.0', sha256='2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5')
- version('4.7.0', sha256='fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986')
- version('4.6.1', sha256='76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47')
-
- variant('tiff', default=True, description='Enable TIFF support')
- variant('curl', default=True, description='Enable curl support')
+ version("8.2.1", sha256="76ed3d0c3a348a6693dfae535e5658bbfd47f71cb7ff7eb96d9f12f7e068b1cf")
+ version("8.2.0", sha256="de93df9a4aa88d09459ead791f2dbc874b897bf67a5bbb3e4b68de7b1bdef13c")
+ version("8.1.1", sha256="82f1345e5fa530c407cb1fc0752e83f8d08d2b98772941bbdc7820241f7fada2")
+ version("8.1.0", sha256="22c5cdc5aa0832077b16c95ebeec748a0942811c1c3438c33d43c8d2ead59f48")
+ version("8.0.1", sha256="e0463a8068898785ca75dd49a261d3d28b07d0a88f3b657e8e0089e16a0375fa")
+ version("8.0.0", sha256="aa5d4b934450149a350aed7e5fbac880e2f7d3fa2f251c26cb64228f96a2109e")
+ version("7.2.1", sha256="b384f42e5fb9c6d01fe5fa4d31da2e91329668863a684f97be5d4760dbbf0a14")
+ version("7.2.0", sha256="2957798e5fe295ff96a2af1889d0428e486363d210889422f76dd744f7885763")
+ version("7.1.0", sha256="876151e2279346f6bdbc63bd59790b48733496a957bccd5e51b640fdd26eaa8d")
+ version("7.0.1", sha256="a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f")
+ version("7.0.0", sha256="ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8")
+ version("6.3.2", sha256="cb776a70f40c35579ae4ba04fb4a388c1d1ce025a1df6171350dc19f25b80311")
+ version("6.3.1", sha256="6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8")
+ version("6.2.0", sha256="b300c0f872f632ad7f8eb60725edbf14f0f8f52db740a3ab23e7b94f1cd22a50")
+ version("6.1.0", sha256="676165c54319d2f03da4349cbd7344eb430b225fe867a90191d848dc64788008")
+ version("6.0.0", sha256="4510a2c1c8f9056374708a867c51b1192e8d6f9a5198dd320bf6a168e44a3657")
+ version("5.2.0", sha256="ef919499ffbc62a4aae2659a55e2b25ff09cccbbe230656ba71c6224056c7e60")
+ version("5.1.0", sha256="6b1379a53317d9b5b8c723c1dc7bf2e3a8eb22ceb46b8807a1ce48ef65685bb3")
+ version("5.0.1", sha256="a792f78897482ed2c4e2af4e8a1a02e294c64e32b591a635c5294cb9d49fdc8c")
+ version("4.9.2", sha256="60bf9ad1ed1c18158e652dfff97865ba6fb2b67f1511bc8dceae4b3c7e657796")
+ version("4.9.1", sha256="fca0388f3f8bc5a1a803d2f6ff30017532367992b30cf144f2d39be88f36c319")
+ version("4.8.0", sha256="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5")
+ version("4.7.0", sha256="fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986")
+ version("4.6.1", sha256="76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47")
+
+ variant("tiff", default=True, description="Enable TIFF support")
+ variant("curl", default=True, description="Enable curl support")
# https://github.com/OSGeo/PROJ#distribution-files-and-format
# https://github.com/OSGeo/PROJ-data
resource(
- name='proj-data',
- url='https://download.osgeo.org/proj/proj-data-1.4.tar.gz',
- sha256='76960d34d635aa127058ce654d89ea0eff91e2e4f2036482e677af5a88669b08',
- placement='nad',
- when='@7.2.1:',
+ name="proj-data",
+ url="https://download.osgeo.org/proj/proj-data-1.4.tar.gz",
+ sha256="76960d34d635aa127058ce654d89ea0eff91e2e4f2036482e677af5a88669b08",
+ placement="nad",
+ when="@7.2.1:",
)
resource(
- name='proj-data',
- url='https://download.osgeo.org/proj/proj-data-1.3.tar.gz',
- sha256='0faa3e5ca6d816c907868c1ab2523668ccad27c6c4af9c7b00df9e4c3eb84398',
- placement='nad',
- when='@7.2.0',
+ name="proj-data",
+ url="https://download.osgeo.org/proj/proj-data-1.3.tar.gz",
+ sha256="0faa3e5ca6d816c907868c1ab2523668ccad27c6c4af9c7b00df9e4c3eb84398",
+ placement="nad",
+ when="@7.2.0",
)
resource(
- name='proj-data',
- url='https://download.osgeo.org/proj/proj-data-1.1.tar.gz',
- sha256='df7c57e60f9e1d5bcc724f1def71d2a7cd33bd83c28f4b4bb71dbb2d8849c84a',
- placement='nad',
- when='@7:7.1',
+ name="proj-data",
+ url="https://download.osgeo.org/proj/proj-data-1.1.tar.gz",
+ sha256="df7c57e60f9e1d5bcc724f1def71d2a7cd33bd83c28f4b4bb71dbb2d8849c84a",
+ placement="nad",
+ when="@7:7.1",
)
# https://github.com/OSGeo/PROJ#distribution-files-and-format
# https://github.com/OSGeo/proj-datumgrid
resource(
- name='proj-datumgrid',
- url='https://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz',
- sha256='3ff6618a0acc9f0b9b4f6a62e7ff0f7bf538fb4f74de47ad04da1317408fcc15',
- placement='nad',
- when='@:6',
+ name="proj-datumgrid",
+ url="https://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz",
+ sha256="3ff6618a0acc9f0b9b4f6a62e7ff0f7bf538fb4f74de47ad04da1317408fcc15",
+ placement="nad",
+ when="@:6",
)
# https://proj.org/install.html#build-requirements
- depends_on('pkgconfig@0.9.0:', type='build', when='@6:')
- depends_on('googletest', when='@6:')
- depends_on('sqlite@3.11:', when='@6:')
- depends_on('libtiff@4.0:', when='@7:+tiff')
- depends_on('curl@7.29.0:', when='@7:+curl')
+ depends_on("pkgconfig@0.9.0:", type="build", when="@6:")
+ depends_on("googletest", when="@6:")
+ depends_on("sqlite@3.11:", when="@6:")
+ depends_on("libtiff@4.0:", when="@7:+tiff")
+ depends_on("curl@7.29.0:", when="@7:+curl")
def configure_args(self):
- args = [
- 'PROJ_LIB={0}'.format(join_path(self.stage.source_path, 'nad'))
- ]
+ args = ["PROJ_LIB={0}".format(join_path(self.stage.source_path, "nad"))]
- if self.spec.satisfies('@6:'):
- args.append('--with-external-gtest')
+ if self.spec.satisfies("@6:"):
+ args.append("--with-external-gtest")
- if self.spec.satisfies('@7:'):
- if '+tiff' in self.spec:
- args.append('--enable-tiff')
+ if self.spec.satisfies("@7:"):
+ if "+tiff" in self.spec:
+ args.append("--enable-tiff")
else:
- args.append('--disable-tiff')
+ args.append("--disable-tiff")
- if '+curl' in self.spec:
- args.append('--with-curl=' + self.spec['curl'].prefix.bin.join(
- 'curl-config'))
+ if "+curl" in self.spec:
+ args.append("--with-curl=" + self.spec["curl"].prefix.bin.join("curl-config"))
else:
- args.append('--without-curl')
+ args.append("--without-curl")
return args
@@ -117,7 +114,7 @@ class Proj(AutotoolsPackage):
# cause the package to fail at run-time. See the following for details:
# * https://proj.org/usage/environmentvars.html
# * https://rasterio.readthedocs.io/en/latest/faq.html
- env.set('PROJ_LIB', self.prefix.share.proj)
+ env.set("PROJ_LIB", self.prefix.share.proj)
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_run_environment(env)
diff --git a/var/spack/repos/builtin/packages/prokka/package.py b/var/spack/repos/builtin/packages/prokka/package.py
index 9791273d38..81a51f1e72 100644
--- a/var/spack/repos/builtin/packages/prokka/package.py
+++ b/var/spack/repos/builtin/packages/prokka/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class Prokka(Package):
"""Prokka is a software tool to annotate bacterial, archaeal and viral
- genomes quickly and produce standards-compliant output files."""
+ genomes quickly and produce standards-compliant output files."""
homepage = "https://github.com/tseemann/prokka"
- url = "https://github.com/tseemann/prokka/archive/v1.14.5.tar.gz"
+ url = "https://github.com/tseemann/prokka/archive/v1.14.5.tar.gz"
- version('1.14.6', sha256='f730b5400ea9e507bfe6c5f3d22ce61960a897195c11571c2e1308ce2533faf8')
+ version("1.14.6", sha256="f730b5400ea9e507bfe6c5f3d22ce61960a897195c11571c2e1308ce2533faf8")
- depends_on('perl', type='run')
- depends_on('perl-bioperl', type='run')
- depends_on('perl-xml-simple', type='run')
- depends_on('perl-bio-searchio-hmmer', type='run')
- depends_on('hmmer', type='run')
- depends_on('blast-plus', type='run')
- depends_on('prodigal', type='run')
- depends_on('tbl2asn', type='run')
+ depends_on("perl", type="run")
+ depends_on("perl-bioperl", type="run")
+ depends_on("perl-xml-simple", type="run")
+ depends_on("perl-bio-searchio-hmmer", type="run")
+ depends_on("hmmer", type="run")
+ depends_on("blast-plus", type="run")
+ depends_on("prodigal", type="run")
+ depends_on("tbl2asn", type="run")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('binaries', prefix.binaries)
- install_tree('db', prefix.db)
- install_tree('doc', prefix.doc)
+ install_tree("bin", prefix.bin)
+ install_tree("binaries", prefix.binaries)
+ install_tree("db", prefix.db)
+ install_tree("doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/prometheus/package.py b/var/spack/repos/builtin/packages/prometheus/package.py
index ebbc8ff25c..990ca0fa44 100644
--- a/var/spack/repos/builtin/packages/prometheus/package.py
+++ b/var/spack/repos/builtin/packages/prometheus/package.py
@@ -11,24 +11,24 @@ class Prometheus(MakefilePackage):
systems and service monitoring system."""
homepage = "https://prometheus.io/"
- url = "https://github.com/prometheus/prometheus/archive/v2.19.2.tar.gz"
+ url = "https://github.com/prometheus/prometheus/archive/v2.19.2.tar.gz"
- version('2.19.2', sha256='d4e84cae2fed6761bb8a80fcc69b6e0e9f274d19dffc0f38fb5845f11da1bbc3')
- version('2.19.1', sha256='b72b9b6bdbae246dcc29ef354d429425eb3c0a6e1596fc8b29b502578a4ce045')
- version('2.18.2', sha256='a26c106c97d81506e3a20699145c11ea2cce936427a0e96eb2fd0dc7cd1945ba')
- version('2.17.1', sha256='d0b53411ea0295c608634ca7ef1d43fa0f5559e7ad50705bf4d64d052e33ddaf')
- version('2.17.0', sha256='b5e508f1c747aaf50dd90a48e5e2a3117fec2e9702d0b1c7f97408b87a073009')
+ version("2.19.2", sha256="d4e84cae2fed6761bb8a80fcc69b6e0e9f274d19dffc0f38fb5845f11da1bbc3")
+ version("2.19.1", sha256="b72b9b6bdbae246dcc29ef354d429425eb3c0a6e1596fc8b29b502578a4ce045")
+ version("2.18.2", sha256="a26c106c97d81506e3a20699145c11ea2cce936427a0e96eb2fd0dc7cd1945ba")
+ version("2.17.1", sha256="d0b53411ea0295c608634ca7ef1d43fa0f5559e7ad50705bf4d64d052e33ddaf")
+ version("2.17.0", sha256="b5e508f1c747aaf50dd90a48e5e2a3117fec2e9702d0b1c7f97408b87a073009")
- depends_on('go', type='build')
- depends_on('node-js@11.10.1:', type='build')
- depends_on('yarn', type='build')
+ depends_on("go", type="build")
+ depends_on("node-js@11.10.1:", type="build")
+ depends_on("yarn", type="build")
def build(self, spec, prefix):
- make('build', parallel=False)
+ make("build", parallel=False)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('prometheus', prefix.bin)
- install('promtool', prefix.bin)
- install('tsdb/tsdb', prefix.bin)
- install_tree('documentation', prefix.documentation)
+ install("prometheus", prefix.bin)
+ install("promtool", prefix.bin)
+ install("tsdb/tsdb", prefix.bin)
+ install_tree("documentation", prefix.documentation)
diff --git a/var/spack/repos/builtin/packages/prophecy4f/package.py b/var/spack/repos/builtin/packages/prophecy4f/package.py
index 16cec25222..bba8e4dbbf 100644
--- a/var/spack/repos/builtin/packages/prophecy4f/package.py
+++ b/var/spack/repos/builtin/packages/prophecy4f/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Prophecy4f(MakefilePackage):
"""Prophecy4f is a Monte Carlo integrator for
- Higgs decays H -> WW/ZZ -> 4 fermions. """
+ Higgs decays H -> WW/ZZ -> 4 fermions."""
homepage = "https://prophecy4f.hepforge.org/"
- url = "https://prophecy4f.hepforge.org/downloads/?f=Prophecy4f-3.0.2.tar.gz"
+ url = "https://prophecy4f.hepforge.org/downloads/?f=Prophecy4f-3.0.2.tar.gz"
- maintainers = ['haralmha', 'vvolkl']
+ maintainers = ["haralmha", "vvolkl"]
- version('3.0.2', sha256='01e6ad4d7e913082c1dcabd589173f5d962086dd7860c710f14a0528d8d80eb7')
+ version("3.0.2", sha256="01e6ad4d7e913082c1dcabd589173f5d962086dd7860c710f14a0528d8d80eb7")
- depends_on('collier')
+ depends_on("collier")
@property
def build_targets(self):
return [
- "COLLIERDIR={0}/lib".format(self.spec['collier'].prefix),
- "INPUT=-I{0}/include/".format(self.spec['collier'].prefix),
- "FC=gfortran"
+ "COLLIERDIR={0}/lib".format(self.spec["collier"].prefix),
+ "INPUT=-I{0}/include/".format(self.spec["collier"].prefix),
+ "FC=gfortran",
]
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('Prophecy4f', prefix.bin)
- install('defaultinput', prefix)
+ install("Prophecy4f", prefix.bin)
+ install("defaultinput", prefix)
diff --git a/var/spack/repos/builtin/packages/protobuf-c/package.py b/var/spack/repos/builtin/packages/protobuf-c/package.py
index 498d776d02..d09e1c999f 100644
--- a/var/spack/repos/builtin/packages/protobuf-c/package.py
+++ b/var/spack/repos/builtin/packages/protobuf-c/package.py
@@ -12,9 +12,11 @@ class ProtobufC(AutotoolsPackage):
"""
homepage = "https://github.com/protobuf-c/protobuf-c"
- url = "https://github.com/protobuf-c/protobuf-c/releases/download/v1.3.2/protobuf-c-1.3.2.tar.gz"
+ url = (
+ "https://github.com/protobuf-c/protobuf-c/releases/download/v1.3.2/protobuf-c-1.3.2.tar.gz"
+ )
- version('1.3.2', sha256='53f251f14c597bdb087aecf0b63630f434d73f5a10fc1ac545073597535b9e74')
+ version("1.3.2", sha256="53f251f14c597bdb087aecf0b63630f434d73f5a10fc1ac545073597535b9e74")
- depends_on('protobuf')
- depends_on('pkgconfig', type='build')
+ depends_on("protobuf")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py
index bd286daa4c..0b0f4d8336 100644
--- a/var/spack/repos/builtin/packages/protobuf/package.py
+++ b/var/spack/repos/builtin/packages/protobuf/package.py
@@ -13,128 +13,144 @@ class Protobuf(Package):
"""Google's data interchange format."""
homepage = "https://developers.google.com/protocol-buffers"
- url = "https://github.com/protocolbuffers/protobuf/archive/v3.18.0.tar.gz"
-
- version('21.1', sha256='f1a83673cbcaff6346a8fba87a9c02c0f943a4a696b6c7d1b71586d97609db12')
- version('3.20.1', sha256='8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930')
- version('3.20.0', sha256='b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889')
- version('3.19.4', sha256='3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568')
- version('3.19.3', sha256='390191a0d7884b3e52bb812c440ad1497b9d484241f37bb8e2ccc8c2b72d6c36')
- version('3.19.2', sha256='4dd35e788944b7686aac898f77df4e9a54da0ca694b8801bd6b2a9ffc1b3085e')
- version('3.18.2', sha256='579cd41bf322adb2b1161a46e076e39d3d01d1e8c50b8b61ce444211dae4e632')
- version('3.18.0', sha256='14e8042b5da37652c92ef6a2759e7d2979d295f60afd7767825e3de68c856c54')
- version('3.17.3', sha256='c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db')
- version('3.17.0', sha256='eaba1dd133ac5167e8b08bc3268b2d33c6e9f2dcb14ec0f97f3d3eed9b395863')
- version('3.16.0', sha256='7892a35d979304a404400a101c46ce90e85ec9e2a766a86041bb361f626247f5')
- version('3.15.7', sha256='efdd6b932a2c0a88a90c4c80f88e4b2e1bf031e7514dbb5a5db5d0bf4f295504')
- version('3.15.5', sha256='bc3dbf1f09dba1b2eb3f2f70352ee97b9049066c9040ce0c9b67fb3294e91e4b')
- version('3.15.4', sha256='07f8a02afc14a657f727ed89a8ec5627b9ecc47116d60acaabaa1da233bd2e8f')
- version('3.15.2', sha256='3c85fdac243dab1f6cd725eb58e361cdbb3ec4480052ac90b1ab55c608112cd0')
- version('3.15.1', sha256='f18a40816260a9a3190a94efb0fc26270b244a2436681602f0a944739095d632')
- version('3.15.0', sha256='6aff9834fd7c540875e1836967c8d14c6897e3785a2efac629f69860fb7834ff')
- version('3.14.0', sha256='d0f5f605d0d656007ce6c8b5a82df3037e1d8fe8b121ed42e536f569dec16113')
- version('3.13.0', sha256='9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a')
- version('3.12.3', sha256='71030a04aedf9f612d2991c1c552317038c3c5a2b578ac4745267a45e7037c29')
- version('3.12.2', sha256='bb8ce9ba11eb7bccf080599fe7cad9cc461751c8dd1ba61701c0070d58cde973')
- version('3.12.1', sha256='cb9b3f9d625b5739a358268eb3421de11cacd90025f5f7672c3930553eca810e')
- version('3.12.0', sha256='946ba5371e423e1220d2cbefc1f65e69a1e81ca5bab62a03d66894172983cfcd')
- version('3.11.4', sha256='a79d19dcdf9139fa4b81206e318e33d245c4c9da1ffed21c87288ed4380426f9')
- version('3.11.3', sha256='cf754718b0aa945b00550ed7962ddc167167bd922b842199eeb6505e6f344852')
- version('3.11.2', sha256='e8c7601439dbd4489fe5069c33d374804990a56c2f710e00227ee5d8fd650e67')
- version('3.11.1', sha256='4f8e805825c53bbc3c9f6b6abc009b5b5679e4702bccfca1121c42ff5ec801c7')
- version('3.11.0', sha256='6d356a6279cc76d2d5c4dfa6541641264b59eae0bc96b852381361e3400d1f1c')
- version('3.10.1', sha256='6adf73fd7f90409e479d6ac86529ade2d45f50494c5c10f539226693cb8fe4f7')
- version('3.10.0', sha256='758249b537abba2f21ebc2d02555bf080917f0f2f88f4cbe2903e0e28c4187ed')
- version('3.9.2', sha256='1fbf1c2962af287607232b2eddeaec9b4f4a7a6f5934e1a9276e9af76952f7e0')
- version('3.9.1', sha256='98e615d592d237f94db8bf033fba78cd404d979b0b70351a9e5aaff725398357')
- version('3.7.1', sha256='f1748989842b46fa208b2a6e4e2785133cfcc3e4d43c17fecb023733f0f5443f')
- version('3.7.0', sha256='a19dcfe9d156ae45d209b15e0faed5c7b5f109b6117bfc1974b6a7b98a850320')
- version('3.6.1', sha256='3d4e589d81b2006ca603c1ab712c9715a76227293032d05b26fca603f90b3f5b')
- version('3.5.2', sha256='4ffd420f39f226e96aebc3554f9c66a912f6cad6261f39f194f16af8a1f6dab2')
- version('3.5.1.1', sha256='56b5d9e1ab2bf4f5736c4cfba9f4981fbc6976246721e7ded5602fbaee6d6869')
- version('3.5.1', sha256='826425182ee43990731217b917c5c3ea7190cfda141af4869e6d4ad9085a740f')
- version('3.5.0.1', sha256='86be71e61c76575c60839452a4f265449a6ea51570d7983cb929f06ad294b5f5')
- version('3.5.0', sha256='0cc6607e2daa675101e9b7398a436f09167dffb8ca0489b0307ff7260498c13c')
- version('3.4.1', sha256='8e0236242106e680b4f9f576cc44b8cd711e948b20a9fc07769b0a20ceab9cc4')
- version('3.4.0', sha256='f6600abeee3babfa18591961a0ff21e7db6a6d9ef82418a261ec4fee44ee6d44')
- version('3.3.0', sha256='9a36bc1265fa83b8e818714c0d4f08b8cec97a1910de0754a321b11e66eb76de')
- version('3.2.0', sha256='a839d3f1519ff9d68ab908de5a0f269650ef1fc501c10f6eefd4cae51d29b86f')
- version('3.1.0', sha256='fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d')
- version('3.0.2', sha256='a0a265bcc9d4e98c87416e59c33afc37cede9fb277292523739417e449b18c1e')
- version('2.5.0', sha256='c2665a7aa2ac1a206e61b28e014486e3de59009ea2be2bde9182e0847f38b62f', deprecated=True)
-
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
-
- depends_on('cmake', when='@3.0.2:', type='build')
- depends_on('zlib')
- depends_on('autoconf', type='build', when='@2.5.0')
- depends_on('automake', type='build', when='@2.5.0')
- depends_on('libtool', type='build', when='@2.5.0')
- depends_on('m4', type='build', when='@2.5.0')
-
- conflicts('%gcc@:4.6', when='@3.6.0:') # Requires c++11
- conflicts('%gcc@:4.6', when='@3.2.0:3.3.0') # Breaks
+ url = "https://github.com/protocolbuffers/protobuf/archive/v3.18.0.tar.gz"
+
+ version("21.1", sha256="f1a83673cbcaff6346a8fba87a9c02c0f943a4a696b6c7d1b71586d97609db12")
+ version("3.20.1", sha256="8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930")
+ version("3.20.0", sha256="b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889")
+ version("3.19.4", sha256="3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568")
+ version("3.19.3", sha256="390191a0d7884b3e52bb812c440ad1497b9d484241f37bb8e2ccc8c2b72d6c36")
+ version("3.19.2", sha256="4dd35e788944b7686aac898f77df4e9a54da0ca694b8801bd6b2a9ffc1b3085e")
+ version("3.18.2", sha256="579cd41bf322adb2b1161a46e076e39d3d01d1e8c50b8b61ce444211dae4e632")
+ version("3.18.0", sha256="14e8042b5da37652c92ef6a2759e7d2979d295f60afd7767825e3de68c856c54")
+ version("3.17.3", sha256="c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db")
+ version("3.17.0", sha256="eaba1dd133ac5167e8b08bc3268b2d33c6e9f2dcb14ec0f97f3d3eed9b395863")
+ version("3.16.0", sha256="7892a35d979304a404400a101c46ce90e85ec9e2a766a86041bb361f626247f5")
+ version("3.15.7", sha256="efdd6b932a2c0a88a90c4c80f88e4b2e1bf031e7514dbb5a5db5d0bf4f295504")
+ version("3.15.5", sha256="bc3dbf1f09dba1b2eb3f2f70352ee97b9049066c9040ce0c9b67fb3294e91e4b")
+ version("3.15.4", sha256="07f8a02afc14a657f727ed89a8ec5627b9ecc47116d60acaabaa1da233bd2e8f")
+ version("3.15.2", sha256="3c85fdac243dab1f6cd725eb58e361cdbb3ec4480052ac90b1ab55c608112cd0")
+ version("3.15.1", sha256="f18a40816260a9a3190a94efb0fc26270b244a2436681602f0a944739095d632")
+ version("3.15.0", sha256="6aff9834fd7c540875e1836967c8d14c6897e3785a2efac629f69860fb7834ff")
+ version("3.14.0", sha256="d0f5f605d0d656007ce6c8b5a82df3037e1d8fe8b121ed42e536f569dec16113")
+ version("3.13.0", sha256="9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a")
+ version("3.12.3", sha256="71030a04aedf9f612d2991c1c552317038c3c5a2b578ac4745267a45e7037c29")
+ version("3.12.2", sha256="bb8ce9ba11eb7bccf080599fe7cad9cc461751c8dd1ba61701c0070d58cde973")
+ version("3.12.1", sha256="cb9b3f9d625b5739a358268eb3421de11cacd90025f5f7672c3930553eca810e")
+ version("3.12.0", sha256="946ba5371e423e1220d2cbefc1f65e69a1e81ca5bab62a03d66894172983cfcd")
+ version("3.11.4", sha256="a79d19dcdf9139fa4b81206e318e33d245c4c9da1ffed21c87288ed4380426f9")
+ version("3.11.3", sha256="cf754718b0aa945b00550ed7962ddc167167bd922b842199eeb6505e6f344852")
+ version("3.11.2", sha256="e8c7601439dbd4489fe5069c33d374804990a56c2f710e00227ee5d8fd650e67")
+ version("3.11.1", sha256="4f8e805825c53bbc3c9f6b6abc009b5b5679e4702bccfca1121c42ff5ec801c7")
+ version("3.11.0", sha256="6d356a6279cc76d2d5c4dfa6541641264b59eae0bc96b852381361e3400d1f1c")
+ version("3.10.1", sha256="6adf73fd7f90409e479d6ac86529ade2d45f50494c5c10f539226693cb8fe4f7")
+ version("3.10.0", sha256="758249b537abba2f21ebc2d02555bf080917f0f2f88f4cbe2903e0e28c4187ed")
+ version("3.9.2", sha256="1fbf1c2962af287607232b2eddeaec9b4f4a7a6f5934e1a9276e9af76952f7e0")
+ version("3.9.1", sha256="98e615d592d237f94db8bf033fba78cd404d979b0b70351a9e5aaff725398357")
+ version("3.7.1", sha256="f1748989842b46fa208b2a6e4e2785133cfcc3e4d43c17fecb023733f0f5443f")
+ version("3.7.0", sha256="a19dcfe9d156ae45d209b15e0faed5c7b5f109b6117bfc1974b6a7b98a850320")
+ version("3.6.1", sha256="3d4e589d81b2006ca603c1ab712c9715a76227293032d05b26fca603f90b3f5b")
+ version("3.5.2", sha256="4ffd420f39f226e96aebc3554f9c66a912f6cad6261f39f194f16af8a1f6dab2")
+ version("3.5.1.1", sha256="56b5d9e1ab2bf4f5736c4cfba9f4981fbc6976246721e7ded5602fbaee6d6869")
+ version("3.5.1", sha256="826425182ee43990731217b917c5c3ea7190cfda141af4869e6d4ad9085a740f")
+ version("3.5.0.1", sha256="86be71e61c76575c60839452a4f265449a6ea51570d7983cb929f06ad294b5f5")
+ version("3.5.0", sha256="0cc6607e2daa675101e9b7398a436f09167dffb8ca0489b0307ff7260498c13c")
+ version("3.4.1", sha256="8e0236242106e680b4f9f576cc44b8cd711e948b20a9fc07769b0a20ceab9cc4")
+ version("3.4.0", sha256="f6600abeee3babfa18591961a0ff21e7db6a6d9ef82418a261ec4fee44ee6d44")
+ version("3.3.0", sha256="9a36bc1265fa83b8e818714c0d4f08b8cec97a1910de0754a321b11e66eb76de")
+ version("3.2.0", sha256="a839d3f1519ff9d68ab908de5a0f269650ef1fc501c10f6eefd4cae51d29b86f")
+ version("3.1.0", sha256="fb2a314f4be897491bb2446697be693d489af645cb0e165a85e7e64e07eb134d")
+ version("3.0.2", sha256="a0a265bcc9d4e98c87416e59c33afc37cede9fb277292523739417e449b18c1e")
+ version(
+ "2.5.0",
+ sha256="c2665a7aa2ac1a206e61b28e014486e3de59009ea2be2bde9182e0847f38b62f",
+ deprecated=True,
+ )
+
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+
+ depends_on("cmake", when="@3.0.2:", type="build")
+ depends_on("zlib")
+ depends_on("autoconf", type="build", when="@2.5.0")
+ depends_on("automake", type="build", when="@2.5.0")
+ depends_on("libtool", type="build", when="@2.5.0")
+ depends_on("m4", type="build", when="@2.5.0")
+
+ conflicts("%gcc@:4.6", when="@3.6.0:") # Requires c++11
+ conflicts("%gcc@:4.6", when="@3.2.0:3.3.0") # Breaks
# first fixed in 3.4.0: https://github.com/google/protobuf/pull/3406
- patch('pkgconfig.patch', when='@3.0.2:3.3.2')
+ patch("pkgconfig.patch", when="@3.0.2:3.3.2")
- patch('intel-v1.patch', when='@3.2:3.6 %intel')
+ patch("intel-v1.patch", when="@3.2:3.6 %intel")
# See https://github.com/protocolbuffers/protobuf/pull/7197
- patch('intel-v2.patch', when='@3.7:3.11.4 %intel')
+ patch("intel-v2.patch", when="@3.7:3.11.4 %intel")
- patch('protoc2.5.0_aarch64.patch', sha256='7b44fcdb794f421174d619f83584e00a36012a16da09079e2fad9c12f7337451', when='@2.5.0 target=aarch64:')
+ patch(
+ "protoc2.5.0_aarch64.patch",
+ sha256="7b44fcdb794f421174d619f83584e00a36012a16da09079e2fad9c12f7337451",
+ when="@2.5.0 target=aarch64:",
+ )
# See https://github.com/protocolbuffers/protobuf/issues/9916
- patch('https://github.com/protocolbuffers/protobuf/pull/9936.patch?full_index=1', when='@3.20 %gcc@12.1.0',
- sha256='fa1abf042eddc1b3b43875dc018c651c90cd1c0c5299975a818a1610bee54ab8')
+ patch(
+ "https://github.com/protocolbuffers/protobuf/pull/9936.patch?full_index=1",
+ when="@3.20 %gcc@12.1.0",
+ sha256="fa1abf042eddc1b3b43875dc018c651c90cd1c0c5299975a818a1610bee54ab8",
+ )
def fetch_remote_versions(self, *args, **kwargs):
"""Ignore additional source artifacts uploaded with releases,
- only keep known versions
- fix for https://github.com/spack/spack/issues/5356"""
- return dict(map(
- lambda u: (u, self.url_for_version(u)),
- spack.util.web.find_versions_of_archive(
- self.all_urls, self.list_url, self.list_depth)
- ))
+ only keep known versions
+ fix for https://github.com/spack/spack/issues/5356"""
+ return dict(
+ map(
+ lambda u: (u, self.url_for_version(u)),
+ spack.util.web.find_versions_of_archive(
+ self.all_urls, self.list_url, self.list_depth
+ ),
+ )
+ )
def cmake_args(self):
args = [
- '-DBUILD_SHARED_LIBS=%s' % int('+shared' in self.spec),
- '-Dprotobuf_BUILD_TESTS:BOOL=OFF',
- '-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON'
+ "-DBUILD_SHARED_LIBS=%s" % int("+shared" in self.spec),
+ "-Dprotobuf_BUILD_TESTS:BOOL=OFF",
+ "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON",
]
- if sys.platform == 'darwin':
- args.extend(['-DCMAKE_MACOSX_RPATH=ON'])
+ if sys.platform == "darwin":
+ args.extend(["-DCMAKE_MACOSX_RPATH=ON"])
return args
- @when('@3.0.2:')
+ @when("@3.0.2:")
def install(self, spec, prefix):
args = self.cmake_args()
args.extend(std_cmake_args)
- source_directory = join_path(self.stage.source_path, 'cmake')
- build_directory = join_path(source_directory, 'build')
+ source_directory = join_path(self.stage.source_path, "cmake")
+ build_directory = join_path(source_directory, "build")
with working_dir(build_directory, create=True):
cmake(source_directory, *args)
make()
- make('install')
+ make("install")
def configure_args(self):
args = []
- args.append('--prefix=%s' % self.prefix)
+ args.append("--prefix=%s" % self.prefix)
return args
- @when('@2.5.0')
+ @when("@2.5.0")
def install(self, spec, prefix):
args = self.configure_args()
- autoreconf('-ifv')
+ autoreconf("-ifv")
configure(*args)
make()
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/proxymngr/package.py b/var/spack/repos/builtin/packages/proxymngr/package.py
index d61b4abed0..e2b5059fcb 100644
--- a/var/spack/repos/builtin/packages/proxymngr/package.py
+++ b/var/spack/repos/builtin/packages/proxymngr/package.py
@@ -15,13 +15,13 @@ class Proxymngr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/proxymngr"
xorg_mirror_path = "app/proxymngr-1.0.4.tar.gz"
- version('1.0.4', sha256='d40f2d15985ee8e8ef5320a85c0b1899a7bc95974a65137ae886e499bced86f4')
+ version("1.0.4", sha256="d40f2d15985ee8e8ef5320a85c0b1899a7bc95974a65137ae886e499bced86f4")
- depends_on('libice')
- depends_on('libxt')
- depends_on('lbxproxy')
+ depends_on("libice")
+ depends_on("libxt")
+ depends_on("lbxproxy")
- depends_on('xproto@7.0.17:')
- depends_on('xproxymanagementprotocol')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("xproxymanagementprotocol")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/prrte/package.py b/var/spack/repos/builtin/packages/prrte/package.py
index 00658c69e5..170deaade3 100644
--- a/var/spack/repos/builtin/packages/prrte/package.py
+++ b/var/spack/repos/builtin/packages/prrte/package.py
@@ -11,51 +11,47 @@ from spack.package import *
class Prrte(AutotoolsPackage):
"""PRRTE is the Reference RunTime Environment implementation for PMIx.
- It is capable of operating within a host SMS. The reference RTE
- therefore provides an easy way of exploring PMIx capabilities and
- testing PMIx-based applications outside of a PMIx-enabled
- environment."""
+ It is capable of operating within a host SMS. The reference RTE
+ therefore provides an easy way of exploring PMIx capabilities and
+ testing PMIx-based applications outside of a PMIx-enabled
+ environment."""
homepage = "https://pmix.org"
- url = "https://github.com/pmix/prrte/releases/download/v1.0.0/prrte-1.0.0.tar.bz2"
- git = "https://github.com/pmix/prrte.git"
- maintainers = ['rhc54']
-
- version('develop', branch='master')
- version('1.0.0', sha256='a9b3715e059c10ed091bd6e3a0d8896f7752e43ee731abcc95fb962e67132a2d')
-
- depends_on('pmix')
- depends_on('libevent')
- depends_on('hwloc')
- depends_on('perl', type=('build'))
- depends_on('m4', type=('build'))
- depends_on('autoconf', type=('build'))
- depends_on('automake', type=('build'))
- depends_on('libtool', type=('build'))
- depends_on('flex', type=('build'))
+ url = "https://github.com/pmix/prrte/releases/download/v1.0.0/prrte-1.0.0.tar.bz2"
+ git = "https://github.com/pmix/prrte.git"
+ maintainers = ["rhc54"]
+
+ version("develop", branch="master")
+ version("1.0.0", sha256="a9b3715e059c10ed091bd6e3a0d8896f7752e43ee731abcc95fb962e67132a2d")
+
+ depends_on("pmix")
+ depends_on("libevent")
+ depends_on("hwloc")
+ depends_on("perl", type=("build"))
+ depends_on("m4", type=("build"))
+ depends_on("autoconf", type=("build"))
+ depends_on("automake", type=("build"))
+ depends_on("libtool", type=("build"))
+ depends_on("flex", type=("build"))
def autoreconf(self, spec, prefix):
# If configure exists nothing needs to be done
if os.path.exists(self.configure_abs_path):
return
with working_dir(self.configure_directory):
- perl = spec['perl'].command
- perl('autogen.pl')
+ perl = spec["perl"].command
+ perl("autogen.pl")
def configure_args(self):
spec = self.spec
- config_args = [
- '--enable-shared',
- '--enable-static'
- ]
+ config_args = ["--enable-shared", "--enable-static"]
# libevent
- config_args.append(
- '--with-libevent={0}'.format(spec['libevent'].prefix))
+ config_args.append("--with-libevent={0}".format(spec["libevent"].prefix))
# hwloc
- config_args.append('--with-hwloc={0}'.format(spec['hwloc'].prefix))
+ config_args.append("--with-hwloc={0}".format(spec["hwloc"].prefix))
# pmix
- config_args.append('--with-pmix={0}'.format(spec['pmix'].prefix))
+ config_args.append("--with-pmix={0}".format(spec["pmix"].prefix))
return config_args
diff --git a/var/spack/repos/builtin/packages/pruners-ninja/package.py b/var/spack/repos/builtin/packages/pruners-ninja/package.py
index 789c59633f..74c5694b39 100644
--- a/var/spack/repos/builtin/packages/pruners-ninja/package.py
+++ b/var/spack/repos/builtin/packages/pruners-ninja/package.py
@@ -8,16 +8,17 @@ from spack.package import *
class PrunersNinja(AutotoolsPackage):
"""NINJA: Noise Inject agent tool to expose subtle and unintended message
- races."""
+ races."""
+
homepage = "https://github.com/PRUNERS/NINJA"
- url = "https://github.com/PRUNERS/NINJA/releases/download/v1.0.0/NINJA-1.0.0.tar.gz"
- git = "https://github.com/PRUNERS/NINJA.git"
+ url = "https://github.com/PRUNERS/NINJA/releases/download/v1.0.0/NINJA-1.0.0.tar.gz"
+ git = "https://github.com/PRUNERS/NINJA.git"
- version('master', branch='master')
+ version("master", branch="master")
version("1.0.1", sha256="53df5c019054b60c68e63d3e249127f1d5f267a70539c8809fb42a8ddbfcb29b")
version("1.0.0", sha256="f25c189783b57801f298dfff8770f42733a43f926668aceff4abd287b6e3a4d1")
depends_on("mpi")
- depends_on("autoconf", type='build')
- depends_on("automake", type='build')
- depends_on("libtool", type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/ps-lite/package.py b/var/spack/repos/builtin/packages/ps-lite/package.py
index 55aaef3f5d..ab27d72080 100644
--- a/var/spack/repos/builtin/packages/ps-lite/package.py
+++ b/var/spack/repos/builtin/packages/ps-lite/package.py
@@ -11,12 +11,12 @@ class PsLite(CMakePackage):
of the parameter server framework."""
homepage = "https://github.com/dmlc/ps-lite"
- git = "https://github.com/dmlc/ps-lite.git"
+ git = "https://github.com/dmlc/ps-lite.git"
- version('master', branch='master')
- version('20170328', commit='acdb698fa3bb80929ef83bb37c705f025e119b82')
+ version("master", branch="master")
+ version("20170328", commit="acdb698fa3bb80929ef83bb37c705f025e119b82")
- depends_on('protobuf@3:')
- depends_on('libzmq')
+ depends_on("protobuf@3:")
+ depends_on("libzmq")
- patch('cmake.patch')
+ patch("cmake.patch")
diff --git a/var/spack/repos/builtin/packages/pscmc/package.py b/var/spack/repos/builtin/packages/pscmc/package.py
index 9de06aa89c..ad78d80d7f 100644
--- a/var/spack/repos/builtin/packages/pscmc/package.py
+++ b/var/spack/repos/builtin/packages/pscmc/package.py
@@ -14,7 +14,7 @@ class Pscmc(MakefilePackage):
is designed for multi-platform
parallel programming."""
- maintainers = ['Bitllion']
+ maintainers = ["Bitllion"]
homepage = "https://github.com/JianyuanXiao/PSCMC"
git = "https://github.com/JianyuanXiao/PSCMC.git"
diff --git a/var/spack/repos/builtin/packages/psi4/package.py b/var/spack/repos/builtin/packages/psi4/package.py
index 4f0ff5da50..92cfc2feb5 100644
--- a/var/spack/repos/builtin/packages/psi4/package.py
+++ b/var/spack/repos/builtin/packages/psi4/package.py
@@ -16,19 +16,22 @@ class Psi4(CMakePackage):
homepage = "https://www.psicode.org/"
url = "https://github.com/psi4/psi4/archive/v1.3.2.tar.gz"
- version('1.3.2', sha256='ed76c67803b6420f35f57a6dd31c47108b9145b8c9fced5c94cdc179f6b5fbf3')
+ version("1.3.2", sha256="ed76c67803b6420f35f57a6dd31c47108b9145b8c9fced5c94cdc179f6b5fbf3")
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
# Required dependencies
- depends_on('blas')
- depends_on('lapack')
- depends_on('boost+chrono+filesystem+python+regex+serialization+system+timer+thread')
- depends_on('python')
- depends_on('cmake@3.3:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("boost+chrono+filesystem+python+regex+serialization+system+timer+thread")
+ depends_on("python")
+ depends_on("cmake@3.3:", type="build")
+ depends_on("py-numpy", type=("build", "run"))
# Optional dependencies
# TODO: add packages for these
@@ -41,17 +44,16 @@ class Psi4(CMakePackage):
spec = self.spec
return [
- '-DBLAS_TYPE={0}'.format(spec['blas'].name.upper()),
- '-DBLAS_LIBRARIES={0}'.format(spec['blas'].libs.joined()),
- '-DLAPACK_TYPE={0}'.format(spec['lapack'].name.upper()),
- '-DLAPACK_LIBRARIES={0}'.format(
- spec['lapack'].libs.joined()),
- '-DBOOST_INCLUDEDIR={0}'.format(spec['boost'].prefix.include),
- '-DBOOST_LIBRARYDIR={0}'.format(spec['boost'].prefix.lib),
- '-DENABLE_CHEMPS2=OFF'
+ "-DBLAS_TYPE={0}".format(spec["blas"].name.upper()),
+ "-DBLAS_LIBRARIES={0}".format(spec["blas"].libs.joined()),
+ "-DLAPACK_TYPE={0}".format(spec["lapack"].name.upper()),
+ "-DLAPACK_LIBRARIES={0}".format(spec["lapack"].libs.joined()),
+ "-DBOOST_INCLUDEDIR={0}".format(spec["boost"].prefix.include),
+ "-DBOOST_LIBRARYDIR={0}".format(spec["boost"].prefix.lib),
+ "-DENABLE_CHEMPS2=OFF",
]
- @run_after('install')
+ @run_after("install")
def filter_compilers(self):
"""Run after install to tell the configuration files to
use the compilers that Spack built the package with.
@@ -63,35 +65,43 @@ class Psi4(CMakePackage):
spec = self.spec
prefix = spec.prefix
- kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
+ kwargs = {"ignore_absent": True, "backup": False, "string": True}
- cc_files = ['bin/psi4-config']
- cxx_files = ['bin/psi4-config', 'include/psi4/psiconfig.h']
- template = 'share/psi4/plugin/Makefile.template'
+ cc_files = ["bin/psi4-config"]
+ cxx_files = ["bin/psi4-config", "include/psi4/psiconfig.h"]
+ template = "share/psi4/plugin/Makefile.template"
for filename in cc_files:
- filter_file(os.environ['CC'], self.compiler.cc,
- os.path.join(prefix, filename), **kwargs)
+ filter_file(
+ os.environ["CC"], self.compiler.cc, os.path.join(prefix, filename), **kwargs
+ )
for filename in cxx_files:
- filter_file(os.environ['CXX'], self.compiler.cxx,
- os.path.join(prefix, filename), **kwargs)
+ filter_file(
+ os.environ["CXX"], self.compiler.cxx, os.path.join(prefix, filename), **kwargs
+ )
# The binary still keeps track of the compiler used to install Psi4
# and uses it when creating a plugin template
- filter_file('@PLUGIN_CXX@', self.compiler.cxx,
- os.path.join(prefix, template), **kwargs)
+ filter_file("@PLUGIN_CXX@", self.compiler.cxx, os.path.join(prefix, template), **kwargs)
# The binary links to the build include directory instead of the
# installation include directory:
# https://github.com/psi4/psi4/issues/410
- filter_file('@PLUGIN_INCLUDES@', '-I{0}'.format(
- ' -I'.join([
- os.path.join(spec['psi4'].prefix.include, 'psi4'),
- os.path.join(spec['boost'].prefix.include, 'boost'),
- os.path.join(spec['python'].headers.directories[0]),
- spec['lapack'].prefix.include,
- spec['blas'].prefix.include,
- '/usr/include'
- ])
- ), os.path.join(prefix, template), **kwargs)
+ filter_file(
+ "@PLUGIN_INCLUDES@",
+ "-I{0}".format(
+ " -I".join(
+ [
+ os.path.join(spec["psi4"].prefix.include, "psi4"),
+ os.path.join(spec["boost"].prefix.include, "boost"),
+ os.path.join(spec["python"].headers.directories[0]),
+ spec["lapack"].prefix.include,
+ spec["blas"].prefix.include,
+ "/usr/include",
+ ]
+ )
+ ),
+ os.path.join(prefix, template),
+ **kwargs
+ )
diff --git a/var/spack/repos/builtin/packages/psimd/package.py b/var/spack/repos/builtin/packages/psimd/package.py
index f1e6b06374..2b341fa37e 100644
--- a/var/spack/repos/builtin/packages/psimd/package.py
+++ b/var/spack/repos/builtin/packages/psimd/package.py
@@ -10,15 +10,15 @@ class Psimd(CMakePackage):
"""Portable 128-bit SIMD intrinsics."""
homepage = "https://github.com/Maratyszcza/psimd"
- git = "https://github.com/Maratyszcza/psimd.git"
+ git = "https://github.com/Maratyszcza/psimd.git"
- version('master', branch='master')
- version('2020-05-17', commit='072586a71b55b7f8c584153d223e95687148a900') # py-torch@1.6:1.9
- version('2019-12-26', commit='10b4ffc6ea9e2e11668f86969586f88bc82aaefa') # py-torch@1.5
- version('2018-09-06', commit='90a938f30ba414ada2f4b00674ee9631d7d85e19') # py-torch@1.0:1.4
- version('2017-10-26', commit='4ac61b112252778b174575931c641bef661ab3cd') # py-torch@0.4
+ version("master", branch="master")
+ version("2020-05-17", commit="072586a71b55b7f8c584153d223e95687148a900") # py-torch@1.6:1.9
+ version("2019-12-26", commit="10b4ffc6ea9e2e11668f86969586f88bc82aaefa") # py-torch@1.5
+ version("2018-09-06", commit="90a938f30ba414ada2f4b00674ee9631d7d85e19") # py-torch@1.0:1.4
+ version("2017-10-26", commit="4ac61b112252778b174575931c641bef661ab3cd") # py-torch@0.4
- depends_on('cmake@2.8.12:', type='build')
- depends_on('ninja', type='build')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("ninja", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
diff --git a/var/spack/repos/builtin/packages/pslib/package.py b/var/spack/repos/builtin/packages/pslib/package.py
index 0d47a563d7..bd1b1b5790 100644
--- a/var/spack/repos/builtin/packages/pslib/package.py
+++ b/var/spack/repos/builtin/packages/pslib/package.py
@@ -10,9 +10,9 @@ class Pslib(AutotoolsPackage):
"""C-library to create PostScript files on the fly."""
homepage = "http://pslib.sourceforge.net/"
- url = "https://sourceforge.net/projects/pslib/files/pslib/0.4.5/pslib-0.4.5.tar.gz"
+ url = "https://sourceforge.net/projects/pslib/files/pslib/0.4.5/pslib-0.4.5.tar.gz"
- version('0.4.5', sha256='7a33928982b281660206bb3749a4a563e3ac987eea64f41696f212df345212be')
+ version("0.4.5", sha256="7a33928982b281660206bb3749a4a563e3ac987eea64f41696f212df345212be")
- depends_on('jpeg')
- depends_on('libpng')
+ depends_on("jpeg")
+ depends_on("libpng")
diff --git a/var/spack/repos/builtin/packages/psm/package.py b/var/spack/repos/builtin/packages/psm/package.py
index 90d1eba739..43977c98d7 100644
--- a/var/spack/repos/builtin/packages/psm/package.py
+++ b/var/spack/repos/builtin/packages/psm/package.py
@@ -10,19 +10,23 @@ class Psm(MakefilePackage):
"""Intel Performance scaled messaging library"""
homepage = "https://github.com/intel/psm"
- url = "https://github.com/intel/psm/archive/v3.3.tar.gz"
- git = "https://github.com/intel/psm.git"
+ url = "https://github.com/intel/psm/archive/v3.3.tar.gz"
+ git = "https://github.com/intel/psm.git"
- version('3.3', sha256='034b10e24d9f2967ef0f8d0f828572295e89cdfa1ba30c35e288b9b23c3dab8f', preferred=True)
- version('2017-04-28', commit='604758e')
+ version(
+ "3.3",
+ sha256="034b10e24d9f2967ef0f8d0f828572295e89cdfa1ba30c35e288b9b23c3dab8f",
+ preferred=True,
+ )
+ version("2017-04-28", commit="604758e")
- conflicts('%gcc@6:', when='@3.3')
+ conflicts("%gcc@6:", when="@3.3")
- depends_on('uuid')
+ depends_on("uuid")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('{DESTDIR}/usr/', '{LOCAL_PREFIX}/')
+ makefile = FileFilter("Makefile")
+ makefile.filter("{DESTDIR}/usr/", "{LOCAL_PREFIX}/")
def install(self, spec, prefix):
- make('LOCAL_PREFIX=%s' % prefix, 'install')
+ make("LOCAL_PREFIX=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/psmc/package.py b/var/spack/repos/builtin/packages/psmc/package.py
index 8faf26f7bc..8dab31d596 100644
--- a/var/spack/repos/builtin/packages/psmc/package.py
+++ b/var/spack/repos/builtin/packages/psmc/package.py
@@ -11,18 +11,18 @@ class Psmc(MakefilePackage):
(PSMC) model"""
homepage = "https://github.com/lh3/psmc"
- git = "https://github.com/lh3/psmc.git"
+ git = "https://github.com/lh3/psmc.git"
- version('2016-1-21', commit='e5f7df5d00bb75ec603ae0beff62c0d7e37640b9')
+ version("2016-1-21", commit="e5f7df5d00bb75ec603ae0beff62c0d7e37640b9")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.bin.utils)
+ env.prepend_path("PATH", self.prefix.bin.utils)
def build(self, spec, prefix):
make()
- with working_dir('utils'):
+ with working_dir("utils"):
make()
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/pstreams/package.py b/var/spack/repos/builtin/packages/pstreams/package.py
index a00d53900a..bcd79b6943 100644
--- a/var/spack/repos/builtin/packages/pstreams/package.py
+++ b/var/spack/repos/builtin/packages/pstreams/package.py
@@ -11,10 +11,10 @@ class Pstreams(Package):
"""C++ wrapper for the POSIX.2 functions popen(3) and pclose(3)"""
homepage = "http://pstreams.sourceforge.net/"
- url = "https://sourceforge.net/projects/pstreams/files/pstreams/Release%201.0/pstreams-1.0.1.tar.gz"
+ url = "https://sourceforge.net/projects/pstreams/files/pstreams/Release%201.0/pstreams-1.0.1.tar.gz"
- version('1.0.1', sha256='a5f1f2e014392cd0e2cdb508a429e11afe64140db05b7f0a83d7534faa1a9226')
+ version("1.0.1", sha256="a5f1f2e014392cd0e2cdb508a429e11afe64140db05b7f0a83d7534faa1a9226")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install('pstream.h', prefix.include)
+ install("pstream.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/pthreadpool/package.py b/var/spack/repos/builtin/packages/pthreadpool/package.py
index 89f0f9acd5..ed3e534e72 100644
--- a/var/spack/repos/builtin/packages/pthreadpool/package.py
+++ b/var/spack/repos/builtin/packages/pthreadpool/package.py
@@ -10,53 +10,55 @@ class Pthreadpool(CMakePackage):
"""pthreadpool is a portable and efficient thread pool implementation."""
homepage = "https://github.com/Maratyszcza/pthreadpool"
- git = "https://github.com/Maratyszcza/pthreadpool.git"
+ git = "https://github.com/Maratyszcza/pthreadpool.git"
- version('master', branch='master')
- version('2021-04-13', commit='a134dd5d4cee80cce15db81a72e7f929d71dd413') # py-torch@1.9
- version('2020-10-05', commit='fa75e65a58a5c70c09c30d17a1fe1c1dff1093ae') # py-torch@1.8
- version('2020-06-15', commit='029c88620802e1361ccf41d1970bd5b07fd6b7bb') # py-torch@1.6:1.7
- version('2019-10-29', commit='d465747660ecf9ebbaddf8c3db37e4a13d0c9103') # py-torch@1.5
- version('2018-10-08', commit='13da0b4c21d17f94150713366420baaf1b5a46f4') # py-torch@1.0:1.4
- version('2018-02-25', commit='2b06b31f6a315162348e1f3c24325eedaf6cc559') # py-torch@:0.4
+ version("master", branch="master")
+ version("2021-04-13", commit="a134dd5d4cee80cce15db81a72e7f929d71dd413") # py-torch@1.9
+ version("2020-10-05", commit="fa75e65a58a5c70c09c30d17a1fe1c1dff1093ae") # py-torch@1.8
+ version("2020-06-15", commit="029c88620802e1361ccf41d1970bd5b07fd6b7bb") # py-torch@1.6:1.7
+ version("2019-10-29", commit="d465747660ecf9ebbaddf8c3db37e4a13d0c9103") # py-torch@1.5
+ version("2018-10-08", commit="13da0b4c21d17f94150713366420baaf1b5a46f4") # py-torch@1.0:1.4
+ version("2018-02-25", commit="2b06b31f6a315162348e1f3c24325eedaf6cc559") # py-torch@:0.4
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
resource(
- name='fxdiv',
- git='https://github.com/Maratyszcza/FXdiv.git',
- branch='master',
- destination='deps',
- placement='fxdiv',
+ name="fxdiv",
+ git="https://github.com/Maratyszcza/FXdiv.git",
+ branch="master",
+ destination="deps",
+ placement="fxdiv",
)
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.10.0.zip',
- sha256='94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/release-1.10.0.zip",
+ sha256="94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91",
+ destination="deps",
+ placement="googletest",
)
resource(
- name='googlebenchark',
- url='https://github.com/google/benchmark/archive/v1.5.3.zip',
- sha256='bdefa4b03c32d1a27bd50e37ca466d8127c1688d834800c38f3c587a396188ee',
- destination='deps',
- placement='googlebenchmark',
+ name="googlebenchark",
+ url="https://github.com/google/benchmark/archive/v1.5.3.zip",
+ sha256="bdefa4b03c32d1a27bd50e37ca466d8127c1688d834800c38f3c587a396188ee",
+ destination="deps",
+ placement="googlebenchmark",
)
def cmake_args(self):
return [
- self.define('BUILD_SHARED_LIBS', True),
- self.define('FXDIV_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fxdiv')),
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
- self.define('PTHREADPOOL_BUILD_TESTS', self.run_tests),
- self.define('PTHREADPOOL_BUILD_BENCHMARKS', self.run_tests),
+ self.define("BUILD_SHARED_LIBS", True),
+ self.define("FXDIV_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fxdiv")),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define(
+ "GOOGLEBENCHMARK_SOURCE_DIR",
+ join_path(self.stage.source_path, "deps", "googlebenchmark"),
+ ),
+ self.define("PTHREADPOOL_BUILD_TESTS", self.run_tests),
+ self.define("PTHREADPOOL_BUILD_BENCHMARKS", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/pugixml/package.py b/var/spack/repos/builtin/packages/pugixml/package.py
index 9890ab8c6a..80803306c3 100644
--- a/var/spack/repos/builtin/packages/pugixml/package.py
+++ b/var/spack/repos/builtin/packages/pugixml/package.py
@@ -11,21 +11,21 @@ class Pugixml(CMakePackage):
"""Light-weight, simple, and fast XML parser for C++ with XPath support"""
homepage = "https://pugixml.org/"
- url = "https://github.com/zeux/pugixml/releases/download/v1.10/pugixml-1.10.tar.gz"
+ url = "https://github.com/zeux/pugixml/releases/download/v1.10/pugixml-1.10.tar.gz"
- version('1.11.4', sha256='8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716')
- version('1.11', sha256='26913d3e63b9c07431401cf826df17ed832a20d19333d043991e611d23beaa2c')
- version('1.10', sha256='55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a')
- version('1.8.1', sha256='929c4657c207260f8cc28e5b788b7499dffdba60d83d59f55ea33d873d729cd4')
+ version("1.11.4", sha256="8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716")
+ version("1.11", sha256="26913d3e63b9c07431401cf826df17ed832a20d19333d043991e611d23beaa2c")
+ version("1.10", sha256="55f399fbb470942410d348584dc953bcaec926415d3462f471ef350f29b5870a")
+ version("1.8.1", sha256="929c4657c207260f8cc28e5b788b7499dffdba60d83d59f55ea33d873d729cd4")
- variant('pic', default=True, description='Build position-independent code')
- variant('shared', default=True, description='Build shared libraries')
+ variant("pic", default=True, description="Build position-independent code")
+ variant("shared", default=True, description="Build shared libraries")
- conflicts('+shared', when='~pic')
+ conflicts("+shared", when="~pic")
def cmake_args(self):
return [
- self.define('BUILD_SHARED_AND_STATIC_LIBS', False),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
+ self.define("BUILD_SHARED_AND_STATIC_LIBS", False),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
]
diff --git a/var/spack/repos/builtin/packages/pulseaudio/package.py b/var/spack/repos/builtin/packages/pulseaudio/package.py
index 58e223098d..4ced26830d 100644
--- a/var/spack/repos/builtin/packages/pulseaudio/package.py
+++ b/var/spack/repos/builtin/packages/pulseaudio/package.py
@@ -18,76 +18,77 @@ class Pulseaudio(AutotoolsPackage):
achieved using a sound server."""
homepage = "https://www.freedesktop.org/wiki/Software/PulseAudio/"
- url = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-13.0.tar.xz"
+ url = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-13.0.tar.xz"
- version('13.0', sha256='961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057')
+ version("13.0", sha256="961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057")
- variant('alsa', default=False, description='alsa support')
- variant('fftw', default=False, description='FFTW support')
- variant('gconf', default=False, description='Gconf support')
- variant('openssl', default=False,
- description='openSSL support (used for Airtunes/RAOP)')
- variant('x11', default=False, description='x11 support')
+ variant("alsa", default=False, description="alsa support")
+ variant("fftw", default=False, description="FFTW support")
+ variant("gconf", default=False, description="Gconf support")
+ variant("openssl", default=False, description="openSSL support (used for Airtunes/RAOP)")
+ variant("x11", default=False, description="x11 support")
- depends_on('alsa-lib@1.0.19:', when='+alsa')
- depends_on('dbus@1.4.12:')
- depends_on('fftw@3:', when='+fftw')
- depends_on('gdbm')
- depends_on('gettext@0.18.1:')
- depends_on('glib')
- depends_on('gconf', when='+gconf')
- depends_on('json-c@0.11:')
- depends_on('libcap')
- depends_on('libiconv')
- depends_on('libsndfile@1.0.18:')
- depends_on('libtool@2.4:') # links to libltdl.so
- depends_on('libsm', when='+x11')
- depends_on('uuid', when='+x11')
- depends_on('libx11', when='+x11')
- depends_on('libxcb', when='+x11')
- depends_on('libxau', when='+x11')
- depends_on('libxext', when='+x11')
- depends_on('libxi', when='+x11')
- depends_on('libxtst', when='+x11')
- depends_on('openssl', when='+openssl')
- depends_on('perl-xml-parser', type='build')
- depends_on('speexdsp@1.2:')
+ depends_on("alsa-lib@1.0.19:", when="+alsa")
+ depends_on("dbus@1.4.12:")
+ depends_on("fftw@3:", when="+fftw")
+ depends_on("gdbm")
+ depends_on("gettext@0.18.1:")
+ depends_on("glib")
+ depends_on("gconf", when="+gconf")
+ depends_on("json-c@0.11:")
+ depends_on("libcap")
+ depends_on("libiconv")
+ depends_on("libsndfile@1.0.18:")
+ depends_on("libtool@2.4:") # links to libltdl.so
+ depends_on("libsm", when="+x11")
+ depends_on("uuid", when="+x11")
+ depends_on("libx11", when="+x11")
+ depends_on("libxcb", when="+x11")
+ depends_on("libxau", when="+x11")
+ depends_on("libxext", when="+x11")
+ depends_on("libxi", when="+x11")
+ depends_on("libxtst", when="+x11")
+ depends_on("openssl", when="+openssl")
+ depends_on("perl-xml-parser", type="build")
+ depends_on("speexdsp@1.2:")
def configure_args(self):
args = [
- '--disable-systemd-daemon',
- '--disable-systemd-journal',
- '--disable-systemd-login',
- '--disable-udev',
- '--disable-waveout',
- '--enable-dbus',
- '--enable-glib2',
- '--with-database=gdbm',
- '--with-systemduserunitdir=no',
- 'CPPFLAGS={0}'.format(self.spec['libtool'].headers.cpp_flags),
- 'LDFLAGS={0}'.format(self.spec['libtool'].libs.search_flags),
+ "--disable-systemd-daemon",
+ "--disable-systemd-journal",
+ "--disable-systemd-login",
+ "--disable-udev",
+ "--disable-waveout",
+ "--enable-dbus",
+ "--enable-glib2",
+ "--with-database=gdbm",
+ "--with-systemduserunitdir=no",
+ "CPPFLAGS={0}".format(self.spec["libtool"].headers.cpp_flags),
+ "LDFLAGS={0}".format(self.spec["libtool"].libs.search_flags),
]
# toggle based on variants
- args += self.enable_or_disable('alsa')
- args += self.enable_or_disable('gconf')
- args += self.enable_or_disable('openssl')
- args += self.enable_or_disable('x11')
- args += self.with_or_without('fftw')
+ args += self.enable_or_disable("alsa")
+ args += self.enable_or_disable("gconf")
+ args += self.enable_or_disable("openssl")
+ args += self.enable_or_disable("x11")
+ args += self.with_or_without("fftw")
# possible future variants
- args.extend([
- '--disable-asyncns',
- '--disable-avahi',
- '--disable-bluez5',
- '--disable-gcov',
- '--disable-gsettings',
- '--disable-gtk3',
- '--disable-hal-compat',
- '--disable-jack',
- '--disable-lirc',
- '--disable-orc',
- '--disable-tcpwrap',
- ])
+ args.extend(
+ [
+ "--disable-asyncns",
+ "--disable-avahi",
+ "--disable-bluez5",
+ "--disable-gcov",
+ "--disable-gsettings",
+ "--disable-gtk3",
+ "--disable-hal-compat",
+ "--disable-jack",
+ "--disable-lirc",
+ "--disable-orc",
+ "--disable-tcpwrap",
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/pumi/package.py b/var/spack/repos/builtin/packages/pumi/package.py
index 76ecca178f..3d9b296929 100644
--- a/var/spack/repos/builtin/packages/pumi/package.py
+++ b/var/spack/repos/builtin/packages/pumi/package.py
@@ -8,111 +8,122 @@ from spack.package import *
class Pumi(CMakePackage):
"""SCOREC RPI's Parallel Unstructured Mesh Infrastructure (PUMI).
- An efficient distributed mesh data structure and methods to support
- parallel adaptive analysis including general mesh-based operations,
- such as mesh entity creation/deletion, adjacency and geometric
- classification, iterators, arbitrary (field) data attachable to mesh
- entities, efficient communication involving entities duplicated
- across multiple tasks, migration of mesh entities between tasks,
- and dynamic load balancing."""
+ An efficient distributed mesh data structure and methods to support
+ parallel adaptive analysis including general mesh-based operations,
+ such as mesh entity creation/deletion, adjacency and geometric
+ classification, iterators, arbitrary (field) data attachable to mesh
+ entities, efficient communication involving entities duplicated
+ across multiple tasks, migration of mesh entities between tasks,
+ and dynamic load balancing."""
homepage = "https://www.scorec.rpi.edu/pumi"
- git = "https://github.com/SCOREC/core.git"
+ git = "https://github.com/SCOREC/core.git"
- maintainers = ['cwsmith']
+ maintainers = ["cwsmith"]
- tags = ['e4s']
+ tags = ["e4s"]
# We will use the scorec/core master branch as the 'nightly' version
# of pumi in spack. The master branch is more stable than the
# scorec/core develop branch and we prefer not to expose spack users
# to the added instability.
- version('master', submodules=True, branch='master')
- version('2.2.7', submodules=True, commit='a295720d7b4828282484f2b78bac1f6504512de4') # tag 2.2.7
- version('2.2.6', commit='4dd330e960b1921ae0d8d4039b8de8680a20d993') # tag 2.2.6
- version('2.2.5', commit='73c16eae073b179e45ec625a5abe4915bc589af2') # tag 2.2.5
- version('2.2.4', commit='8072fdbafd53e0c9a63248a269f4cce5000a4a8e') # tag 2.2.4
- version('2.2.3', commit='d200cb366813695d0f18b514d8d8ecc382cb79fc') # tag 2.2.3
- version('2.2.2', commit='bc34e3f7cfd8ab314968510c71486b140223a68f') # tag 2.2.2
- version('2.2.1', commit='cd826205db21b8439026db1f6af61a8ed4a18564') # tag 2.2.1
- version('2.2.0', commit='8c7e6f13943893b2bc1ece15003e4869a0e9634f') # tag 2.2.0
- version('2.1.0', commit='840fbf6ec49a63aeaa3945f11ddb224f6055ac9f')
+ version("master", submodules=True, branch="master")
+ version(
+ "2.2.7", submodules=True, commit="a295720d7b4828282484f2b78bac1f6504512de4"
+ ) # tag 2.2.7
+ version("2.2.6", commit="4dd330e960b1921ae0d8d4039b8de8680a20d993") # tag 2.2.6
+ version("2.2.5", commit="73c16eae073b179e45ec625a5abe4915bc589af2") # tag 2.2.5
+ version("2.2.4", commit="8072fdbafd53e0c9a63248a269f4cce5000a4a8e") # tag 2.2.4
+ version("2.2.3", commit="d200cb366813695d0f18b514d8d8ecc382cb79fc") # tag 2.2.3
+ version("2.2.2", commit="bc34e3f7cfd8ab314968510c71486b140223a68f") # tag 2.2.2
+ version("2.2.1", commit="cd826205db21b8439026db1f6af61a8ed4a18564") # tag 2.2.1
+ version("2.2.0", commit="8c7e6f13943893b2bc1ece15003e4869a0e9634f") # tag 2.2.0
+ version("2.1.0", commit="840fbf6ec49a63aeaa3945f11ddb224f6055ac9f")
- variant('int64', default=False, description='Enable 64bit mesh entity ids')
- variant('shared', default=False, description='Build shared libraries')
- variant('zoltan', default=False, description='Enable Zoltan Features')
- variant('fortran', default=False, description='Enable FORTRAN interface')
- variant('testing', default=False, description='Enable all tests')
- variant('simmodsuite', default='none',
- values=('none', 'base', 'kernels', 'full'),
- description="Enable Simmetrix SimModSuite Support: 'base' enables "
- "the minimum set of functionality, 'kernels' adds CAD kernel "
- "support to 'base', and 'full' enables all functionality.")
- variant('simmodsuite_version_check', default=True,
- description="Enable check of Simmetrix SimModSuite version. "
- "Disable the check for testing new versions.")
+ variant("int64", default=False, description="Enable 64bit mesh entity ids")
+ variant("shared", default=False, description="Build shared libraries")
+ variant("zoltan", default=False, description="Enable Zoltan Features")
+ variant("fortran", default=False, description="Enable FORTRAN interface")
+ variant("testing", default=False, description="Enable all tests")
+ variant(
+ "simmodsuite",
+ default="none",
+ values=("none", "base", "kernels", "full"),
+ description="Enable Simmetrix SimModSuite Support: 'base' enables "
+ "the minimum set of functionality, 'kernels' adds CAD kernel "
+ "support to 'base', and 'full' enables all functionality.",
+ )
+ variant(
+ "simmodsuite_version_check",
+ default=True,
+ description="Enable check of Simmetrix SimModSuite version. "
+ "Disable the check for testing new versions.",
+ )
- depends_on('mpi')
- depends_on('cmake@3:', type='build')
- depends_on('zoltan', when='+zoltan')
- depends_on('zoltan+int64', when='+zoltan+int64')
+ depends_on("mpi")
+ depends_on("cmake@3:", type="build")
+ depends_on("zoltan", when="+zoltan")
+ depends_on("zoltan+int64", when="+zoltan+int64")
simbase = "+base"
simkernels = simbase + "+parasolid+acis+discrete"
- simfull = simkernels + "+abstract+adv+advmodel\
+ simfull = (
+ simkernels
+ + "+abstract+adv+advmodel\
+import+paralleladapt+parallelmesh"
- depends_on('simmetrix-simmodsuite' + simbase,
- when='simmodsuite=base')
- depends_on('simmetrix-simmodsuite' + simkernels,
- when='simmodsuite=kernels')
- depends_on('simmetrix-simmodsuite' + simfull,
- when='simmodsuite=full')
+ )
+ depends_on("simmetrix-simmodsuite" + simbase, when="simmodsuite=base")
+ depends_on("simmetrix-simmodsuite" + simkernels, when="simmodsuite=kernels")
+ depends_on("simmetrix-simmodsuite" + simfull, when="simmodsuite=full")
def cmake_args(self):
spec = self.spec
args = [
- '-DSCOREC_CXX_WARNINGS=OFF',
- self.define_from_variant('ENABLE_ZOLTAN', 'zoltan'),
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- self.define_from_variant('PUMI_FORTRAN_INTERFACE', 'fortran'),
- '-DMDS_ID_TYPE=%s' % ('long' if '+int64' in spec else 'int'),
- '-DSKIP_SIMMETRIX_VERSION_CHECK=%s' %
- ('ON' if '~simmodsuite_version_check' in spec else 'OFF'),
- self.define_from_variant('IS_TESTING', 'testing'),
- '-DMESHES=%s' % join_path(self.stage.source_path, 'pumi-meshes')
+ "-DSCOREC_CXX_WARNINGS=OFF",
+ self.define_from_variant("ENABLE_ZOLTAN", "zoltan"),
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ self.define_from_variant("PUMI_FORTRAN_INTERFACE", "fortran"),
+ "-DMDS_ID_TYPE=%s" % ("long" if "+int64" in spec else "int"),
+ "-DSKIP_SIMMETRIX_VERSION_CHECK=%s"
+ % ("ON" if "~simmodsuite_version_check" in spec else "OFF"),
+ self.define_from_variant("IS_TESTING", "testing"),
+ "-DMESHES=%s" % join_path(self.stage.source_path, "pumi-meshes"),
]
- if spec.satisfies('@2.2.3'):
- args += ['-DCMAKE_CXX_STANDARD=11']
- if self.spec.satisfies('simmodsuite=base'):
- args.append('-DENABLE_SIMMETRIX=ON')
- if self.spec.satisfies('simmodsuite=kernels') or \
- self.spec.satisfies('simmodsuite=full'):
- args.append('-DENABLE_SIMMETRIX=ON')
- args.append('-DSIM_PARASOLID=ON')
- args.append('-DSIM_ACIS=ON')
- args.append('-DSIM_DISCRETE=ON')
- mpi_id = spec['mpi'].name + spec['mpi'].version.string
- args.append('-DSIM_MPI=' + mpi_id)
+ if spec.satisfies("@2.2.3"):
+ args += ["-DCMAKE_CXX_STANDARD=11"]
+ if self.spec.satisfies("simmodsuite=base"):
+ args.append("-DENABLE_SIMMETRIX=ON")
+ if self.spec.satisfies("simmodsuite=kernels") or self.spec.satisfies("simmodsuite=full"):
+ args.append("-DENABLE_SIMMETRIX=ON")
+ args.append("-DSIM_PARASOLID=ON")
+ args.append("-DSIM_ACIS=ON")
+ args.append("-DSIM_DISCRETE=ON")
+ mpi_id = spec["mpi"].name + spec["mpi"].version.string
+ args.append("-DSIM_MPI=" + mpi_id)
return args
def test(self):
- if self.spec.version <= Version('2.2.6'):
+ if self.spec.version <= Version("2.2.6"):
return
- exe = 'uniform'
- options = ['../testdata/pipe.dmg', '../testdata/pipe.smb', 'pipe_unif.smb']
- expected = 'mesh pipe_unif.smb written'
- description = 'testing pumi uniform mesh refinement'
- self.run_test(exe, options, expected, purpose=description,
- work_dir=self.prefix.bin)
+ exe = "uniform"
+ options = ["../testdata/pipe.dmg", "../testdata/pipe.smb", "pipe_unif.smb"]
+ expected = "mesh pipe_unif.smb written"
+ description = "testing pumi uniform mesh refinement"
+ self.run_test(exe, options, expected, purpose=description, work_dir=self.prefix.bin)
- mpiexec = Executable(join_path(self.spec['mpi'].prefix.bin, 'mpiexec')).command
- mpiopt = ['-n', '2']
- exe = ['split']
- options = ['../testdata/pipe.dmg', '../testdata/pipe.smb', 'pipe_2_.smb', '2']
- expected = 'mesh pipe_2_.smb written'
- description = 'testing pumi mesh partitioning'
- self.run_test(mpiexec, mpiopt + exe + options, expected,
- purpose=description, work_dir=self.prefix.bin)
+ mpiexec = Executable(join_path(self.spec["mpi"].prefix.bin, "mpiexec")).command
+ mpiopt = ["-n", "2"]
+ exe = ["split"]
+ options = ["../testdata/pipe.dmg", "../testdata/pipe.smb", "pipe_2_.smb", "2"]
+ expected = "mesh pipe_2_.smb written"
+ description = "testing pumi mesh partitioning"
+ self.run_test(
+ mpiexec,
+ mpiopt + exe + options,
+ expected,
+ purpose=description,
+ work_dir=self.prefix.bin,
+ )
diff --git a/var/spack/repos/builtin/packages/pv/package.py b/var/spack/repos/builtin/packages/pv/package.py
index 3498a65709..01a834b453 100644
--- a/var/spack/repos/builtin/packages/pv/package.py
+++ b/var/spack/repos/builtin/packages/pv/package.py
@@ -7,11 +7,11 @@ from spack.package import *
class Pv(AutotoolsPackage):
- """ Pipe Viewer - is a terminal-based tool for monitoring the progress
- of data through a pipeline
+ """Pipe Viewer - is a terminal-based tool for monitoring the progress
+ of data through a pipeline
"""
homepage = "https://www.ivarch.com/programs/pv.shtml"
- url = "https://www.ivarch.com/programs/sources/pv-1.6.6.tar.bz2"
+ url = "https://www.ivarch.com/programs/sources/pv-1.6.6.tar.bz2"
- version('1.6.6', sha256='608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1')
+ version("1.6.6", sha256="608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1")
diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py
index 72bbc04d83..ef6836ef60 100644
--- a/var/spack/repos/builtin/packages/pvm/package.py
+++ b/var/spack/repos/builtin/packages/pvm/package.py
@@ -14,61 +14,59 @@ class Pvm(MakefilePackage):
by a network to be used as a single large parallel computer."""
homepage = "https://www.csm.ornl.gov/pvm/pvm_home.html"
- url = "https://www.netlib.org/pvm3/pvm3.4.6.tgz"
+ url = "https://www.netlib.org/pvm3/pvm3.4.6.tgz"
- version('3.4.6', sha256='482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44')
+ version("3.4.6", sha256="482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44")
- depends_on('m4', type='build')
- depends_on('libtirpc', type='link')
+ depends_on("m4", type="build")
+ depends_on("libtirpc", type="link")
- variant('fpic', default=False,
- description='Enables -fPIC compilation flag on static libraries.')
+ variant(
+ "fpic", default=False, description="Enables -fPIC compilation flag on static libraries."
+ )
parallel = False
@staticmethod
def pvm_arch(root):
"""Returns the appropriate PVM_ARCH."""
- process = subprocess.Popen([
- join_path(root, 'lib', 'pvmgetarch')], stdout=subprocess.PIPE)
+ process = subprocess.Popen([join_path(root, "lib", "pvmgetarch")], stdout=subprocess.PIPE)
return process.communicate()[0].strip().decode()
def edit(self, spec, prefix):
# Before building PVM, you must set the environment
# variable "PVM_ROOT" to the path where PVM resides
- env['PVM_ROOT'] = self.stage.source_path
+ env["PVM_ROOT"] = self.stage.source_path
def patch(self):
pvm_arch = self.pvm_arch(self.stage.source_path)
- if '+fpic' in self.spec:
+ if "+fpic" in self.spec:
filter_file(
- '^SHAREDCFLAGS =',
- 'SHAREDCFLAGS = -fPIC',
- join_path('conf', pvm_arch + '.def')
+ "^SHAREDCFLAGS =", "SHAREDCFLAGS = -fPIC", join_path("conf", pvm_arch + ".def")
)
def setup_build_environment(self, env):
- tirpc = self.spec['libtirpc'].prefix
+ tirpc = self.spec["libtirpc"].prefix
env.prepend_path(
- 'SPACK_INCLUDE_DIRS',
+ "SPACK_INCLUDE_DIRS",
tirpc.include.tirpc,
)
- env.set('SPACK_LDLIBS', '-ltirpc')
+ env.set("SPACK_LDLIBS", "-ltirpc")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('include', prefix.include)
- install_tree('lib', prefix.lib)
- install_tree('man', prefix.man)
+ install_tree("bin", prefix.bin)
+ install_tree("include", prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("man", prefix.man)
def setup_run_environment(self, env):
# Before running PVM, you must set the environment
# variable "PVM_ROOT" to the path where PVM resides
pvm_arch = self.pvm_arch(self.prefix)
- env.set('PVM_ROOT', self.prefix)
- env.set('PVM_ARCH', pvm_arch)
- env.prepend_path('PATH', join_path(self.prefix, 'lib'))
- env.prepend_path('PATH', join_path(self.prefix, 'lib', pvm_arch))
+ env.set("PVM_ROOT", self.prefix)
+ env.set("PVM_ARCH", pvm_arch)
+ env.prepend_path("PATH", join_path(self.prefix, "lib"))
+ env.prepend_path("PATH", join_path(self.prefix, "lib", pvm_arch))
diff --git a/var/spack/repos/builtin/packages/pxz/package.py b/var/spack/repos/builtin/packages/pxz/package.py
index 424631f8b0..fd6bcdab40 100644
--- a/var/spack/repos/builtin/packages/pxz/package.py
+++ b/var/spack/repos/builtin/packages/pxz/package.py
@@ -10,16 +10,18 @@ class Pxz(MakefilePackage):
"""Pxz is a parallel LZMA compressor using liblzma."""
homepage = "https://jnovy.fedorapeople.org/pxz/pxz.html"
- url = "https://jnovy.fedorapeople.org/pxz/pxz-4.999.9beta.20091201git.tar.xz"
- git = "https://github.com/jnovy/pxz.git"
+ url = "https://jnovy.fedorapeople.org/pxz/pxz-4.999.9beta.20091201git.tar.xz"
+ git = "https://github.com/jnovy/pxz.git"
- version('develop', branch='master')
- version('4.999.9beta.20091201git', sha256='df69f91103db6c20f0b523bb7f026d86ee662c49fe714647ed63f918cd39767a')
+ version("develop", branch="master")
+ version(
+ "4.999.9beta.20091201git",
+ sha256="df69f91103db6c20f0b523bb7f026d86ee662c49fe714647ed63f918cd39767a",
+ )
- depends_on('xz')
+ depends_on("xz")
- conflicts('platform=darwin', msg='Pxz runs only on Linux.')
+ conflicts("platform=darwin", msg="Pxz runs only on Linux.")
def install(self, spec, prefix):
- make('install', "DESTDIR=%s" % prefix,
- "BINDIR=/bin", "MANDIR=/share/man")
+ make("install", "DESTDIR=%s" % prefix, "BINDIR=/bin", "MANDIR=/share/man")
diff --git a/var/spack/repos/builtin/packages/py-3to2/package.py b/var/spack/repos/builtin/packages/py-3to2/package.py
index 2736ff8c67..6be5f13c2f 100644
--- a/var/spack/repos/builtin/packages/py-3to2/package.py
+++ b/var/spack/repos/builtin/packages/py-3to2/package.py
@@ -12,7 +12,7 @@ class Py3to2(PythonPackage):
pypi = "3to2/3to2-1.1.1.zip"
- version('1.1.1', sha256='fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c')
+ version("1.1.1", sha256="fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-4suite-xml/package.py b/var/spack/repos/builtin/packages/py-4suite-xml/package.py
index 8b98fd1e32..dfced4a0d0 100644
--- a/var/spack/repos/builtin/packages/py-4suite-xml/package.py
+++ b/var/spack/repos/builtin/packages/py-4suite-xml/package.py
@@ -13,8 +13,8 @@ class Py4suiteXml(PythonPackage):
homepage = "http://4suite.org/"
pypi = "4Suite-XML/4Suite-XML-1.0.2.tar.gz"
- version('1.0.2', sha256='f0c24132eb2567e64b33568abff29a780a2f0236154074d0b8f5262ce89d8c03')
+ version("1.0.2", sha256="f0c24132eb2567e64b33568abff29a780a2f0236154074d0b8f5262ce89d8c03")
- depends_on('python@2.2.1:', type=('build', 'run'))
+ depends_on("python@2.2.1:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-abcpy/package.py b/var/spack/repos/builtin/packages/py-abcpy/package.py
index 36f610c6b5..c3b99cbde3 100644
--- a/var/spack/repos/builtin/packages/py-abcpy/package.py
+++ b/var/spack/repos/builtin/packages/py-abcpy/package.py
@@ -15,24 +15,24 @@ class PyAbcpy(PythonPackage):
"""
homepage = "https://github.com/eth-cscs/abcpy"
- pypi = "abcpy/abcpy-0.6.3.tar.gz"
+ pypi = "abcpy/abcpy-0.6.3.tar.gz"
- version('0.6.3', sha256='14cd959f3ccff8f5fd1d16239b8706cc8d1c1e2fe25d72855f500f005de41245')
+ version("0.6.3", sha256="14cd959f3ccff8f5fd1d16239b8706cc8d1c1e2fe25d72855f500f005de41245")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn@0.23.1:', type=('build', 'run'))
- depends_on('py-glmnet@2.2.1:', type=('build', 'run'))
- depends_on('py-mpi4py', type=('build', 'run'))
- depends_on('py-cloudpickle', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-pot', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn@0.23.1:", type=("build", "run"))
+ depends_on("py-glmnet@2.2.1:", type=("build", "run"))
+ depends_on("py-mpi4py", type=("build", "run"))
+ depends_on("py-cloudpickle", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-pot", type=("build", "run"))
# Development dependencies are required in setup.py :(
- depends_on('py-sphinx', type='build')
- depends_on('py-sphinx-rtd-theme', type='build')
- depends_on('py-coverage', type='build')
+ depends_on("py-sphinx", type="build")
+ depends_on("py-sphinx-rtd-theme", type="build")
+ depends_on("py-coverage", type="build")
diff --git a/var/spack/repos/builtin/packages/py-abipy/package.py b/var/spack/repos/builtin/packages/py-abipy/package.py
index 325b726652..202c454dd0 100644
--- a/var/spack/repos/builtin/packages/py-abipy/package.py
+++ b/var/spack/repos/builtin/packages/py-abipy/package.py
@@ -13,54 +13,54 @@ class PyAbipy(PythonPackage):
homepage = "https://github.com/abinit/abipy"
pypi = "abipy/abipy-0.2.0.tar.gz"
- version('0.2.0', sha256='c72b796ba0f9ea4299eac3085bede092d2652e9e5e8074d3badd19ef7b600792')
+ version("0.2.0", sha256="c72b796ba0f9ea4299eac3085bede092d2652e9e5e8074d3badd19ef7b600792")
- variant('gui', default=False, description='Build the GUI')
- variant('ipython', default=False, description='Build IPython support')
+ variant("gui", default=False, description="Build the GUI")
+ variant("ipython", default=False, description="Build IPython support")
extends(
- 'python',
+ "python",
ignore=(
- 'bin/('
- 'feff_.*|gaussian_analyzer|get_environment|html2text|'
- 'nc3tonc4|nc4tonc3|ncinfo|pmg|pydii|tabulate|tqdm'
- ')'
- )
+ "bin/("
+ "feff_.*|gaussian_analyzer|get_environment|html2text|"
+ "nc3tonc4|nc4tonc3|ncinfo|pmg|pydii|tabulate|tqdm"
+ ")"
+ ),
)
- depends_on('python@2.7:')
+ depends_on("python@2.7:")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-prettytable', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
- depends_on('py-apscheduler@2.1.0', type=('build', 'run'))
- depends_on('py-pydispatcher@2.0.5:', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-html2text', type=('build', 'run'))
- depends_on('py-pyyaml@3.11:', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-spglib', type=('build', 'run'))
- depends_on('py-pymatgen@4.7.2:', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-matplotlib@1.5:', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-prettytable", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
+ depends_on("py-apscheduler@2.1.0", type=("build", "run"))
+ depends_on("py-pydispatcher@2.0.5:", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-html2text", type=("build", "run"))
+ depends_on("py-pyyaml@3.11:", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-spglib", type=("build", "run"))
+ depends_on("py-pymatgen@4.7.2:", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-matplotlib@1.5:", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
- depends_on('py-wxpython', type=('build', 'run'), when='+gui')
- depends_on('py-wxmplot', type=('build', 'run'), when='+gui')
+ depends_on("py-wxpython", type=("build", "run"), when="+gui")
+ depends_on("py-wxmplot", type=("build", "run"), when="+gui")
- depends_on('py-ipython', type=('build', 'run'), when='+ipython')
- depends_on('py-jupyter', type=('build', 'run'), when='+ipython')
- depends_on('py-nbformat', type=('build', 'run'), when='+ipython')
+ depends_on("py-ipython", type=("build", "run"), when="+ipython")
+ depends_on("py-jupyter", type=("build", "run"), when="+ipython")
+ depends_on("py-nbformat", type=("build", "run"), when="+ipython")
def install_options(self, spec, prefix):
args = []
- if '+ipython' in spec:
- args.append('--with-ipython')
+ if "+ipython" in spec:
+ args.append("--with-ipython")
return args
diff --git a/var/spack/repos/builtin/packages/py-absl-py/package.py b/var/spack/repos/builtin/packages/py-absl-py/package.py
index f88d325da0..0c3d8f17d1 100644
--- a/var/spack/repos/builtin/packages/py-absl-py/package.py
+++ b/var/spack/repos/builtin/packages/py-absl-py/package.py
@@ -16,15 +16,15 @@ class PyAbslPy(PythonPackage):
pypi = "absl-py/absl-py-0.7.0.tar.gz"
- version('0.13.0', sha256='6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793')
- version('0.12.0', sha256='b44f68984a5ceb2607d135a615999b93924c771238a63920d17d3387b0d229d5')
- version('0.11.0', sha256='673cccb88d810e5627d0c1c818158485d106f65a583880e2f730c997399bcfa7')
- version('0.10.0', sha256='b20f504a7871a580be5268a18fbad48af4203df5d33dbc9272426cb806245a45')
- version('0.7.1', sha256='b943d1c567743ed0455878fcd60bc28ac9fae38d129d1ccfad58079da00b8951')
- version('0.7.0', sha256='8718189e4bd6013bf79910b9d1cb0a76aecad8ce664f78e1144980fabdd2cd23')
- version('0.1.6', sha256='02c577d618a8bc0a2a5d1a51f160d3649745d7a2516d87025322f46ac1391a22')
+ version("0.13.0", sha256="6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793")
+ version("0.12.0", sha256="b44f68984a5ceb2607d135a615999b93924c771238a63920d17d3387b0d229d5")
+ version("0.11.0", sha256="673cccb88d810e5627d0c1c818158485d106f65a583880e2f730c997399bcfa7")
+ version("0.10.0", sha256="b20f504a7871a580be5268a18fbad48af4203df5d33dbc9272426cb806245a45")
+ version("0.7.1", sha256="b943d1c567743ed0455878fcd60bc28ac9fae38d129d1ccfad58079da00b8951")
+ version("0.7.0", sha256="8718189e4bd6013bf79910b9d1cb0a76aecad8ce664f78e1144980fabdd2cd23")
+ version("0.1.6", sha256="02c577d618a8bc0a2a5d1a51f160d3649745d7a2516d87025322f46ac1391a22")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-accimage/package.py b/var/spack/repos/builtin/packages/py-accimage/package.py
index 9a680d64fb..2e14ea5762 100644
--- a/var/spack/repos/builtin/packages/py-accimage/package.py
+++ b/var/spack/repos/builtin/packages/py-accimage/package.py
@@ -14,21 +14,21 @@ class PyAccimage(PythonPackage):
"""
homepage = "https://github.com/pytorch/accimage"
- url = "https://github.com/pytorch/accimage/archive/v0.1.1.tar.gz"
+ url = "https://github.com/pytorch/accimage/archive/v0.1.1.tar.gz"
- version('0.1.1', sha256='573c56866a42683c7cf25185620fe82ec2ce78468e0621c29fac8f4134a785f5')
+ version("0.1.1", sha256="573c56866a42683c7cf25185620fe82ec2ce78468e0621c29fac8f4134a785f5")
- depends_on('python', type=('build', 'link', 'run'))
+ depends_on("python", type=("build", "link", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('jpeg')
- depends_on('ipp')
- depends_on('py-pytest', type='test')
- depends_on('py-numpy', type='test')
- depends_on('py-imageio', type='test')
-
- @run_after('install')
+ depends_on("py-setuptools", type="build")
+ depends_on("jpeg")
+ depends_on("ipp")
+ depends_on("py-pytest", type="test")
+ depends_on("py-numpy", type="test")
+ depends_on("py-imageio", type="test")
+
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
- pytest = which('pytest')
- pytest('test.py')
+ pytest = which("pytest")
+ pytest("test.py")
diff --git a/var/spack/repos/builtin/packages/py-acme-tiny/package.py b/var/spack/repos/builtin/packages/py-acme-tiny/package.py
index 5ff013e792..b16688d131 100644
--- a/var/spack/repos/builtin/packages/py-acme-tiny/package.py
+++ b/var/spack/repos/builtin/packages/py-acme-tiny/package.py
@@ -10,10 +10,10 @@ class PyAcmeTiny(PythonPackage):
"""A tiny script to issue and renew TLS certs from Let's Encrypt."""
homepage = "https://github.com/diafygi/acme-tiny"
- git = "https://github.com/diafygi/acme-tiny.git"
+ git = "https://github.com/diafygi/acme-tiny.git"
- version('master', branch='master')
- version('4.0.4', commit='5350420d35177eda733d85096433a24e55f8d00e')
+ version("master", branch="master")
+ version("4.0.4", commit="5350420d35177eda733d85096433a24e55f8d00e")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm', type='build')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm", type="build")
diff --git a/var/spack/repos/builtin/packages/py-adal/package.py b/var/spack/repos/builtin/packages/py-adal/package.py
index 484a3e37e2..889ab37158 100644
--- a/var/spack/repos/builtin/packages/py-adal/package.py
+++ b/var/spack/repos/builtin/packages/py-adal/package.py
@@ -17,10 +17,10 @@ class PyAdal(PythonPackage):
homepage = "https://github.com/AzureAD/azure-activedirectory-library-for-python"
pypi = "adal/adal-1.2.4.tar.gz"
- version('1.2.4', sha256='7a15d22b1ee7ce1be92441199958748982feba6b7dec35fbf60f9b607bad1bc0')
+ version("1.2.4", sha256="7a15d22b1ee7ce1be92441199958748982feba6b7dec35fbf60f9b607bad1bc0")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyjwt@1.0.0:', type=('build', 'run'))
- depends_on('py-requests@2.0.0:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.1.0:', type=('build', 'run'))
- depends_on('py-cryptography@1.1.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyjwt@1.0.0:", type=("build", "run"))
+ depends_on("py-requests@2.0.0:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.1.0:", type=("build", "run"))
+ depends_on("py-cryptography@1.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-adb-enhanced/package.py b/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
index 3e06052b9e..c890b3150a 100644
--- a/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
+++ b/var/spack/repos/builtin/packages/py-adb-enhanced/package.py
@@ -13,17 +13,17 @@ class PyAdbEnhanced(PythonPackage):
mode, permission grant/revocation."""
homepage = "https://opencollective.com/ashishb"
- url = "https://github.com/ashishb/adb-enhanced/archive/2.5.4.tar.gz"
+ url = "https://github.com/ashishb/adb-enhanced/archive/2.5.4.tar.gz"
- version('2.5.10', sha256='9e913d09814ce99974c455a766c5b616a92bca551e657517d6e079882eb19bdb')
- version('2.5.4', sha256='329ee2e0cfceaa41c591398b365d9acdfd45ffe913c64ac06e1538041986fffb')
- version('2.5.3', sha256='5a1d5182d1a073b440e862e5481c7a21073eccc3cda7a4774a2aa311fee9bbdc')
- version('2.5.2', sha256='055676156c1566b8d952b9fdfdd89fc09f2d5d1e3b90b4cdf40858ce9947e2ca')
+ version("2.5.10", sha256="9e913d09814ce99974c455a766c5b616a92bca551e657517d6e079882eb19bdb")
+ version("2.5.4", sha256="329ee2e0cfceaa41c591398b365d9acdfd45ffe913c64ac06e1538041986fffb")
+ version("2.5.3", sha256="5a1d5182d1a073b440e862e5481c7a21073eccc3cda7a4774a2aa311fee9bbdc")
+ version("2.5.2", sha256="055676156c1566b8d952b9fdfdd89fc09f2d5d1e3b90b4cdf40858ce9947e2ca")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('python@3.4:', when='@2.5.10:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-docopt', type=('build', 'run'))
- depends_on('py-future', when='@:2.5.4', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-asyncio', when='@:2.5.4', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("python@3.4:", when="@2.5.10:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-docopt", type=("build", "run"))
+ depends_on("py-future", when="@:2.5.4", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-asyncio", when="@:2.5.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-addict/package.py b/var/spack/repos/builtin/packages/py-addict/package.py
index 5b361dd407..a39657af25 100644
--- a/var/spack/repos/builtin/packages/py-addict/package.py
+++ b/var/spack/repos/builtin/packages/py-addict/package.py
@@ -12,8 +12,8 @@ class PyAddict(PythonPackage):
attributes, in addition to standard item-syntax."""
homepage = "https://github.com/mewwts/addict"
- url = "https://github.com/mewwts/addict/archive/v2.2.1.tar.gz"
+ url = "https://github.com/mewwts/addict/archive/v2.2.1.tar.gz"
- version('2.2.1', sha256='398bba9e7fa25e2ce144c5c4b8ec6208e89b9445869403dfa88ab66ec110fa12')
+ version("2.2.1", sha256="398bba9e7fa25e2ce144c5c4b8ec6208e89b9445869403dfa88ab66ec110fa12")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-adios/package.py b/var/spack/repos/builtin/packages/py-adios/package.py
index 2cffc0c3f7..01261da199 100644
--- a/var/spack/repos/builtin/packages/py-adios/package.py
+++ b/var/spack/repos/builtin/packages/py-adios/package.py
@@ -12,60 +12,76 @@ class PyAdios(PythonPackage):
"""NumPy bindings of ADIOS1"""
homepage = "https://csmd.ornl.gov/adios"
- url = "https://github.com/ornladios/ADIOS/archive/v1.13.1.tar.gz"
- git = "https://github.com/ornladios/ADIOS.git"
+ url = "https://github.com/ornladios/ADIOS/archive/v1.13.1.tar.gz"
+ git = "https://github.com/ornladios/ADIOS.git"
- maintainers = ['ax3l', 'jychoi-hpc']
+ maintainers = ["ax3l", "jychoi-hpc"]
- version('develop', branch='master')
- version('1.13.1', sha256='b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b')
- version('1.13.0', sha256='7b5ee8ff7a5f7215f157c484b20adb277ec0250f87510513edcc25d2c4739f50',
- deprecated=True)
- version('1.12.0', sha256='22bc22c157322abec2d1a0817a259efd9057f88c2113e67d918a9a5ebcb3d88d',
- deprecated=True)
- version('1.11.1', sha256='9f5c10b9471a721ba57d1cf6e5a55a7ad139a6c12da87b4dc128539e9eef370e',
- deprecated=True)
- version('1.11.0', sha256='e89d14ccbe7181777225e0ba6c272c0941539b8ccd440e72ed5a9457441dae83',
- deprecated=True)
- version('1.10.0', sha256='6713069259ee7bfd4d03f47640bf841874e9114bab24e7b0c58e310c42a0ec48',
- deprecated=True)
- version('1.9.0', sha256='23b2bb70540d51ab0855af0b205ca484fd1bd963c39580c29e3133f9e6fffd46',
- deprecated=True)
+ version("develop", branch="master")
+ version("1.13.1", sha256="b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b")
+ version(
+ "1.13.0",
+ sha256="7b5ee8ff7a5f7215f157c484b20adb277ec0250f87510513edcc25d2c4739f50",
+ deprecated=True,
+ )
+ version(
+ "1.12.0",
+ sha256="22bc22c157322abec2d1a0817a259efd9057f88c2113e67d918a9a5ebcb3d88d",
+ deprecated=True,
+ )
+ version(
+ "1.11.1",
+ sha256="9f5c10b9471a721ba57d1cf6e5a55a7ad139a6c12da87b4dc128539e9eef370e",
+ deprecated=True,
+ )
+ version(
+ "1.11.0",
+ sha256="e89d14ccbe7181777225e0ba6c272c0941539b8ccd440e72ed5a9457441dae83",
+ deprecated=True,
+ )
+ version(
+ "1.10.0",
+ sha256="6713069259ee7bfd4d03f47640bf841874e9114bab24e7b0c58e310c42a0ec48",
+ deprecated=True,
+ )
+ version(
+ "1.9.0",
+ sha256="23b2bb70540d51ab0855af0b205ca484fd1bd963c39580c29e3133f9e6fffd46",
+ deprecated=True,
+ )
- variant('mpi', default=True,
- description='Enable MPI support')
+ 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', '1.13.1',
- 'develop']:
- depends_on('adios@{0} ~mpi'.format(v),
- when='@{0} ~mpi'.format(v),
- type=['build', 'link', 'run'])
- depends_on('adios@{0} +mpi'.format(v),
- when='@{0} +mpi'.format(v),
- type=['build', 'link', 'run'])
+ 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), type=["build", "link", "run"]
+ )
+ depends_on(
+ "adios@{0} +mpi".format(v), when="@{0} +mpi".format(v), type=["build", "link", "run"]
+ )
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=['build', 'run'])
- depends_on('mpi', when='+mpi')
- depends_on('py-mpi4py', type=['run'], when='+mpi')
- depends_on('py-cython', type=['build'])
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=["build", "run"])
+ depends_on("mpi", when="+mpi")
+ depends_on("py-mpi4py", type=["run"], when="+mpi")
+ depends_on("py-cython", type=["build"])
- build_directory = 'wrappers/numpy'
+ build_directory = "wrappers/numpy"
def patch(self):
- if '+mpi' in self.spec:
+ if "+mpi" in self.spec:
with working_dir(self.build_directory):
- copy('setup_mpi.py', 'setup.py')
+ copy("setup_mpi.py", "setup.py")
- @run_before('install')
+ @run_before("install")
def build_clib(self):
# calls: make CYTHON=y [MPI=y] python
- args = ['CYTHON=y']
- if '+mpi' in self.spec:
- args += ['MPI=y']
- args += ['python']
+ args = ["CYTHON=y"]
+ if "+mpi" in self.spec:
+ args += ["MPI=y"]
+ args += ["python"]
with working_dir(self.build_directory):
- os.remove('adios.cpp')
- os.remove('adios_mpi.cpp')
+ os.remove("adios.cpp")
+ os.remove("adios_mpi.cpp")
make(*args, parallel=False)
diff --git a/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py b/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
index 83e3d64e8b..6550e991e7 100644
--- a/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
+++ b/var/spack/repos/builtin/packages/py-advancedhtmlparser/package.py
@@ -14,7 +14,7 @@ class PyAdvancedhtmlparser(PythonPackage):
homepage = "https://github.com/kata198/AdvancedHTMLParser"
pypi = "advancedhtmlparser/AdvancedHTMLParser-8.1.4.tar.gz"
- version('8.1.4', sha256='21a73137026c8ec3248c654a24cc40064196029256cdf71681149f6835e9ed39')
+ version("8.1.4", sha256="21a73137026c8ec3248c654a24cc40064196029256cdf71681149f6835e9ed39")
- depends_on('py-setuptools', type='build')
- depends_on('py-queryablelist', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-queryablelist", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aenum/package.py b/var/spack/repos/builtin/packages/py-aenum/package.py
index 50cd7174b5..5c99256280 100644
--- a/var/spack/repos/builtin/packages/py-aenum/package.py
+++ b/var/spack/repos/builtin/packages/py-aenum/package.py
@@ -13,6 +13,6 @@ class PyAenum(PythonPackage):
homepage = "https://github.com/ethanfurman/aenum"
pypi = "aenum/aenum-2.1.2.tar.gz"
- version('2.1.2', sha256='a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687')
+ version("2.1.2", sha256="a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-affine/package.py b/var/spack/repos/builtin/packages/py-affine/package.py
index 2e379ad9f9..89d88fea92 100644
--- a/var/spack/repos/builtin/packages/py-affine/package.py
+++ b/var/spack/repos/builtin/packages/py-affine/package.py
@@ -10,8 +10,8 @@ class PyAffine(PythonPackage):
"""Matrices describing affine transformation of the plane."""
homepage = "https://github.com/sgillies/affine"
- url = "https://github.com/sgillies/affine/archive/2.1.0.zip"
+ url = "https://github.com/sgillies/affine/archive/2.1.0.zip"
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- version('2.1.0', sha256='b67b7dee9a9865185a931758a3e347ad8583d0ac985895b90985a477ccfa4745')
+ version("2.1.0", sha256="b67b7dee9a9865185a931758a3e347ad8583d0ac985895b90985a477ccfa4745")
diff --git a/var/spack/repos/builtin/packages/py-agate-dbf/package.py b/var/spack/repos/builtin/packages/py-agate-dbf/package.py
index e81d42d970..6988d7fcfa 100644
--- a/var/spack/repos/builtin/packages/py-agate-dbf/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-dbf/package.py
@@ -12,8 +12,8 @@ class PyAgateDbf(PythonPackage):
homepage = "https://agate-dbf.readthedocs.io/en/latest/"
pypi = "agate-dbf/agate-dbf-0.2.1.tar.gz"
- version('0.2.1', sha256='00c93c498ec9a04cc587bf63dd7340e67e2541f0df4c9a7259d7cb3dd4ce372f')
+ version("0.2.1", sha256="00c93c498ec9a04cc587bf63dd7340e67e2541f0df4c9a7259d7cb3dd4ce372f")
- depends_on('py-setuptools', type='build')
- depends_on('py-agate@1.5.0:', type=('build', 'run'))
- depends_on('py-dbfread@2.0.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-agate@1.5.0:", type=("build", "run"))
+ depends_on("py-dbfread@2.0.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-agate-excel/package.py b/var/spack/repos/builtin/packages/py-agate-excel/package.py
index 0473c31198..cb47cc3732 100644
--- a/var/spack/repos/builtin/packages/py-agate-excel/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-excel/package.py
@@ -13,9 +13,9 @@ class PyAgateExcel(PythonPackage):
homepage = "https://agate-excel.readthedocs.io/en/latest/"
pypi = "agate-excel/agate-excel-0.2.3.tar.gz"
- version('0.2.3', sha256='8f255ef2c87c436b7132049e1dd86c8e08bf82d8c773aea86f3069b461a17d52')
+ version("0.2.3", sha256="8f255ef2c87c436b7132049e1dd86c8e08bf82d8c773aea86f3069b461a17d52")
- depends_on('py-setuptools', type='build')
- depends_on('py-agate@1.5.0:', type=('build', 'run'))
- depends_on('py-xlrd@0.9.4:', type=('build', 'run'))
- depends_on('py-openpyxl@2.3.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-agate@1.5.0:", type=("build", "run"))
+ depends_on("py-xlrd@0.9.4:", type=("build", "run"))
+ depends_on("py-openpyxl@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-agate-sql/package.py b/var/spack/repos/builtin/packages/py-agate-sql/package.py
index 6c81303070..c2511ea9d4 100644
--- a/var/spack/repos/builtin/packages/py-agate-sql/package.py
+++ b/var/spack/repos/builtin/packages/py-agate-sql/package.py
@@ -12,8 +12,8 @@ class PyAgateSql(PythonPackage):
homepage = "https://agate-sql.readthedocs.io/en/latest/"
pypi = "agate-sql/agate-sql-0.5.4.tar.gz"
- version('0.5.4', sha256='9277490ba8b8e7c747a9ae3671f52fe486784b48d4a14e78ca197fb0e36f281b')
+ version("0.5.4", sha256="9277490ba8b8e7c747a9ae3671f52fe486784b48d4a14e78ca197fb0e36f281b")
- depends_on('py-setuptools', type='build')
- depends_on('py-agate@1.5.0:', type=('build', 'run'))
- depends_on('py-sqlalchemy@1.0.8:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-agate@1.5.0:", type=("build", "run"))
+ depends_on("py-sqlalchemy@1.0.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-agate/package.py b/var/spack/repos/builtin/packages/py-agate/package.py
index d3a2fa79be..b2a53073a0 100644
--- a/var/spack/repos/builtin/packages/py-agate/package.py
+++ b/var/spack/repos/builtin/packages/py-agate/package.py
@@ -14,13 +14,13 @@ class PyAgate(PythonPackage):
homepage = "https://agate.readthedocs.io/en/latest/"
pypi = "agate/agate-1.6.1.tar.gz"
- version('1.6.1', sha256='c93aaa500b439d71e4a5cf088d0006d2ce2c76f1950960c8843114e5f361dfd3')
+ version("1.6.1", sha256="c93aaa500b439d71e4a5cf088d0006d2ce2c76f1950960c8843114e5f361dfd3")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-pytimeparse@1.1.5:', type=('build', 'run'))
- depends_on('py-parsedatetime@2.1:', type=('build', 'run'))
- depends_on('py-babel@2.0:', type=('build', 'run'))
- depends_on('py-isodate@0.5.4:', type=('build', 'run'))
- depends_on('py-python-slugify@1.2.1:', type=('build', 'run'))
- depends_on('py-leather@0.3.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-pytimeparse@1.1.5:", type=("build", "run"))
+ depends_on("py-parsedatetime@2.1:", type=("build", "run"))
+ depends_on("py-babel@2.0:", type=("build", "run"))
+ depends_on("py-isodate@0.5.4:", type=("build", "run"))
+ depends_on("py-python-slugify@1.2.1:", type=("build", "run"))
+ depends_on("py-leather@0.3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiobotocore/package.py b/var/spack/repos/builtin/packages/py-aiobotocore/package.py
index 0cf93bbe8c..857c87207c 100644
--- a/var/spack/repos/builtin/packages/py-aiobotocore/package.py
+++ b/var/spack/repos/builtin/packages/py-aiobotocore/package.py
@@ -12,11 +12,11 @@ class PyAiobotocore(PythonPackage):
homepage = "https://aiobotocore.readthedocs.io/en/latest/"
pypi = "aiobotocore/aiobotocore-1.2.1.tar.gz"
- version('1.2.1', sha256='58cc422e65fc89f7cb78eca740d241ac8e15f39f6b308cc23152711e8a987d45')
+ version("1.2.1", sha256="58cc422e65fc89f7cb78eca740d241ac8e15f39f6b308cc23152711e8a987d45")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-botocore@1.19.52', type=('build', 'run'))
- depends_on('py-aiohttp@3.3.1:', type=('build', 'run'))
- depends_on('py-wrapt@1.10.10:', type=('build', 'run'))
- depends_on('py-aioitertools@0.5.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-botocore@1.19.52", type=("build", "run"))
+ depends_on("py-aiohttp@3.3.1:", type=("build", "run"))
+ depends_on("py-wrapt@1.10.10:", type=("build", "run"))
+ depends_on("py-aioitertools@0.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiocontextvars/package.py b/var/spack/repos/builtin/packages/py-aiocontextvars/package.py
index 3b46d494de..15229e0668 100644
--- a/var/spack/repos/builtin/packages/py-aiocontextvars/package.py
+++ b/var/spack/repos/builtin/packages/py-aiocontextvars/package.py
@@ -11,11 +11,11 @@ class PyAiocontextvars(PythonPackage):
the contextvars backport library."""
homepage = "https://github.com/fantix/aiocontextvars"
- pypi = "aiocontextvars/aiocontextvars-0.2.2.tar.gz"
+ pypi = "aiocontextvars/aiocontextvars-0.2.2.tar.gz"
- version('0.2.2', sha256='f027372dc48641f683c559f247bd84962becaacdc9ba711d583c3871fb5652aa')
+ version("0.2.2", sha256="f027372dc48641f683c559f247bd84962becaacdc9ba711d583c3871fb5652aa")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-contextvars@2.4', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-contextvars@2.4", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build")
diff --git a/var/spack/repos/builtin/packages/py-aiodns/package.py b/var/spack/repos/builtin/packages/py-aiodns/package.py
index 1c1db55e12..a5e9e50a84 100644
--- a/var/spack/repos/builtin/packages/py-aiodns/package.py
+++ b/var/spack/repos/builtin/packages/py-aiodns/package.py
@@ -11,12 +11,12 @@ class PyAiodns(PythonPackage):
doing asynchronous DNS resolutions using pycares."""
homepage = "https://pypi.org/project/aiodns/"
- pypi = "aiodns/aiodns-2.0.0.tar.gz"
+ pypi = "aiodns/aiodns-2.0.0.tar.gz"
- version('2.0.0', sha256='815fdef4607474295d68da46978a54481dd1e7be153c7d60f9e72773cd38d77d')
- version('1.2.0', sha256='d67e14b32176bcf3ff79b5d47c466011ce4adeadfa264f7949da1377332a0449')
- version('1.1.1', sha256='d8677adc679ce8d0ef706c14d9c3d2f27a0e0cc11d59730cdbaf218ad52dd9ea')
+ version("2.0.0", sha256="815fdef4607474295d68da46978a54481dd1e7be153c7d60f9e72773cd38d77d")
+ version("1.2.0", sha256="d67e14b32176bcf3ff79b5d47c466011ce4adeadfa264f7949da1377332a0449")
+ version("1.1.1", sha256="d8677adc679ce8d0ef706c14d9c3d2f27a0e0cc11d59730cdbaf218ad52dd9ea")
- depends_on('py-setuptools', type='build')
- depends_on('py-typing', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-pycares@3.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-pycares@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiofiles/package.py b/var/spack/repos/builtin/packages/py-aiofiles/package.py
index 075247df18..3b88fd935a 100644
--- a/var/spack/repos/builtin/packages/py-aiofiles/package.py
+++ b/var/spack/repos/builtin/packages/py-aiofiles/package.py
@@ -13,7 +13,7 @@ class PyAiofiles(PythonPackage):
homepage = "https://github.com/Tinche/aiofiles"
pypi = "aiofiles/aiofiles-0.5.0.tar.gz"
- version('0.5.0', sha256='98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af')
+ version("0.5.0", sha256="98e6bcfd1b50f97db4980e182ddd509b7cc35909e903a8fe50d8849e02d815af")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
index 5cb44098ec..fa72564860 100644
--- a/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
+++ b/var/spack/repos/builtin/packages/py-aiohttp-cors/package.py
@@ -14,9 +14,9 @@ class PyAiohttpCors(PythonPackage):
homepage = "https://github.com/aio-libs/aiohttp-cors"
pypi = "aiohttp_cors/aiohttp-cors-0.7.0.tar.gz"
- version('0.7.0', sha256='4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d')
+ version("0.7.0", sha256="4d39c6d7100fd9764ed1caf8cebf0eb01bf5e3f24e2e073fda6234bc48b19f5d")
- depends_on('python@3.4.1:', type=('build', 'run'))
- depends_on('py-setuptools@20.8.1:', type='build')
- depends_on('py-aiohttp@1.1:', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("python@3.4.1:", type=("build", "run"))
+ depends_on("py-setuptools@20.8.1:", type="build")
+ depends_on("py-aiohttp@1.1:", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiohttp/package.py b/var/spack/repos/builtin/packages/py-aiohttp/package.py
index dbc097b072..48329012dc 100644
--- a/var/spack/repos/builtin/packages/py-aiohttp/package.py
+++ b/var/spack/repos/builtin/packages/py-aiohttp/package.py
@@ -16,26 +16,26 @@ class PyAiohttp(PythonPackage):
homepage = "https://github.com/aio-libs/aiohttp"
pypi = "aiohttp/aiohttp-3.8.1.tar.gz"
- version('3.8.1', sha256='fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578')
- version('3.8.0', sha256='d3b19d8d183bcfd68b25beebab8dc3308282fe2ca3d6ea3cb4cd101b3c279f8d')
- version('3.7.4', sha256='5d84ecc73141d0a0d61ece0742bb7ff5751b0657dab8405f899d3ceb104cc7de')
- version('3.6.2', sha256='259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326')
+ version("3.8.1", sha256="fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578")
+ version("3.8.0", sha256="d3b19d8d183bcfd68b25beebab8dc3308282fe2ca3d6ea3cb4cd101b3c279f8d")
+ version("3.7.4", sha256="5d84ecc73141d0a0d61ece0742bb7ff5751b0657dab8405f899d3ceb104cc7de")
+ version("3.6.2", sha256="259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326")
- depends_on('py-setuptools@46.4:', type='build')
- depends_on('py-charset-normalizer@2.0:2', type=('build', 'run'), when='@3.8.0:')
- depends_on('python@3.5.3:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@3.7:')
- depends_on('py-attrs@17.3.0:', type=('build', 'run'))
- depends_on('py-chardet@2.0:3', type=('build', 'run'), when='@:3.7')
- depends_on('py-multidict@4.5:4', type=('build', 'run'), when='@:3.6.2')
- depends_on('py-multidict@4.5:6', type=('build', 'run'), when='@3.6.3:')
- depends_on('py-async-timeout@3.0:3', type=('build', 'run'), when='@:3.7.4')
- depends_on('py-async-timeout@4.0:4', type=('build', 'run'), when='@3.8.0:')
- depends_on('py-asynctest@0.13.0', type=('build', 'run'), when='@3.8.0: ^python@:3.7')
- depends_on('py-yarl@1.0:1', type=('build', 'run'))
- depends_on('py-idna-ssl@1.0:', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='@3.8: ^python@:3.7')
- depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@3.7')
- depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@:3.6 ^python@:3.7')
- depends_on('py-frozenlist@1.1.1:', type=('build', 'run'), when='@3.8.1:')
- depends_on('py-aiosignal@1.1.2:', type=('build', 'run'), when='@3.8.1:')
+ depends_on("py-setuptools@46.4:", type="build")
+ depends_on("py-charset-normalizer@2.0:2", type=("build", "run"), when="@3.8.0:")
+ depends_on("python@3.5.3:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@3.7:")
+ depends_on("py-attrs@17.3.0:", type=("build", "run"))
+ depends_on("py-chardet@2.0:3", type=("build", "run"), when="@:3.7")
+ depends_on("py-multidict@4.5:4", type=("build", "run"), when="@:3.6.2")
+ depends_on("py-multidict@4.5:6", type=("build", "run"), when="@3.6.3:")
+ depends_on("py-async-timeout@3.0:3", type=("build", "run"), when="@:3.7.4")
+ depends_on("py-async-timeout@4.0:4", type=("build", "run"), when="@3.8.0:")
+ depends_on("py-asynctest@0.13.0", type=("build", "run"), when="@3.8.0: ^python@:3.7")
+ depends_on("py-yarl@1.0:1", type=("build", "run"))
+ depends_on("py-idna-ssl@1.0:", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"), when="@3.8: ^python@:3.7")
+ depends_on("py-typing-extensions@3.6.5:", type=("build", "run"), when="@3.7")
+ depends_on("py-typing-extensions@3.6.5:", type=("build", "run"), when="@:3.6 ^python@:3.7")
+ depends_on("py-frozenlist@1.1.1:", type=("build", "run"), when="@3.8.1:")
+ depends_on("py-aiosignal@1.1.2:", type=("build", "run"), when="@3.8.1:")
diff --git a/var/spack/repos/builtin/packages/py-aioitertools/package.py b/var/spack/repos/builtin/packages/py-aioitertools/package.py
index bd2ddf65a8..5c68c5778b 100644
--- a/var/spack/repos/builtin/packages/py-aioitertools/package.py
+++ b/var/spack/repos/builtin/packages/py-aioitertools/package.py
@@ -12,10 +12,10 @@ class PyAioitertools(PythonPackage):
iterables."""
homepage = "https://aioitertools.omnilib.dev/en/stable/"
- pypi = "aioitertools/aioitertools-0.7.1.tar.gz"
+ pypi = "aioitertools/aioitertools-0.7.1.tar.gz"
- version('0.7.1', sha256='54a56c7cf3b5290d1cb5e8974353c9f52c677612b5d69a859369a020c53414a3')
+ version("0.7.1", sha256="54a56c7cf3b5290d1cb5e8974353c9f52c677612b5d69a859369a020c53414a3")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-flit-core@2:3', type='build')
- depends_on('py-typing-extensions@3.7:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-flit-core@2:3", type="build")
+ depends_on("py-typing-extensions@3.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aioredis/package.py b/var/spack/repos/builtin/packages/py-aioredis/package.py
index 4d9962b837..4bae75eda5 100644
--- a/var/spack/repos/builtin/packages/py-aioredis/package.py
+++ b/var/spack/repos/builtin/packages/py-aioredis/package.py
@@ -13,9 +13,9 @@ class PyAioredis(PythonPackage):
homepage = "https://github.com/aio-libs/aioredis"
pypi = "aioredis/aioredis-1.3.1.tar.gz"
- version('1.3.1', sha256='15f8af30b044c771aee6787e5ec24694c048184c7b9e54c3b60c750a4b93273a')
+ version("1.3.1", sha256="15f8af30b044c771aee6787e5ec24694c048184c7b9e54c3b60c750a4b93273a")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-async-timeout', type=('build', 'run'))
- depends_on('py-hiredis', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-async-timeout", type=("build", "run"))
+ depends_on("py-hiredis", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiosignal/package.py b/var/spack/repos/builtin/packages/py-aiosignal/package.py
index ef41f48bad..14a4f7533a 100644
--- a/var/spack/repos/builtin/packages/py-aiosignal/package.py
+++ b/var/spack/repos/builtin/packages/py-aiosignal/package.py
@@ -11,10 +11,10 @@ class PyAiosignal(PythonPackage):
"""A project to manage callbacks in asyncio projects."""
homepage = "https://aiosignal.readthedocs.io/"
- pypi = "aiosignal/aiosignal-1.2.0.tar.gz"
+ pypi = "aiosignal/aiosignal-1.2.0.tar.gz"
- version('1.2.0', sha256='78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2')
+ version("1.2.0", sha256="78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-frozenlist@1.1.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-frozenlist@1.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aiosqlite/package.py b/var/spack/repos/builtin/packages/py-aiosqlite/package.py
index ea113ce432..8cf95fe791 100644
--- a/var/spack/repos/builtin/packages/py-aiosqlite/package.py
+++ b/var/spack/repos/builtin/packages/py-aiosqlite/package.py
@@ -10,13 +10,13 @@ class PyAiosqlite(PythonPackage):
"""asyncio bridge to the standard sqlite3 module"""
homepage = "https://aiosqlite.omnilib.dev"
- pypi = "aiosqlite/aiosqlite-0.17.0.tar.gz"
+ pypi = "aiosqlite/aiosqlite-0.17.0.tar.gz"
- version('0.17.0', sha256='f0e6acc24bc4864149267ac82fb46dfb3be4455f99fe21df82609cc6e6baee51')
+ version("0.17.0", sha256="f0e6acc24bc4864149267ac82fb46dfb3be4455f99fe21df82609cc6e6baee51")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.2:', type=('build', 'run'))
- depends_on('py-flit-core@2:3', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.2:", type=("build", "run"))
+ depends_on("py-flit-core@2:3", type="build")
# aiosqlite.test requires aiounittests, not yet in spack
- import_modules = ['aiosqlite']
+ import_modules = ["aiosqlite"]
diff --git a/var/spack/repos/builtin/packages/py-alabaster/package.py b/var/spack/repos/builtin/packages/py-alabaster/package.py
index ba3c398fd3..bc4977a71b 100644
--- a/var/spack/repos/builtin/packages/py-alabaster/package.py
+++ b/var/spack/repos/builtin/packages/py-alabaster/package.py
@@ -13,8 +13,8 @@ class PyAlabaster(PythonPackage):
homepage = "https://alabaster.readthedocs.io/"
pypi = "alabaster/alabaster-0.7.10.tar.gz"
- version('0.7.12', sha256='a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02')
- version('0.7.10', sha256='37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0')
- version('0.7.9', sha256='47afd43b08a4ecaa45e3496e139a193ce364571e7e10c6a87ca1a4c57eb7ea08')
+ version("0.7.12", sha256="a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02")
+ version("0.7.10", sha256="37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0")
+ version("0.7.9", sha256="47afd43b08a4ecaa45e3496e139a193ce364571e7e10c6a87ca1a4c57eb7ea08")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-alembic/package.py b/var/spack/repos/builtin/packages/py-alembic/package.py
index 1bb2fdff21..28defb91b5 100644
--- a/var/spack/repos/builtin/packages/py-alembic/package.py
+++ b/var/spack/repos/builtin/packages/py-alembic/package.py
@@ -11,13 +11,13 @@ class PyAlembic(PythonPackage):
pypi = "alembic/alembic-1.0.7.tar.gz"
- version('1.5.5', sha256='df0028c19275a2cff137e39617a39cdcdbd1173733b87b6bfa257b7c0860213b')
- version('1.0.7', sha256='16505782b229007ae905ef9e0ae6e880fddafa406f086ac7d442c1aaf712f8c2')
+ version("1.5.5", sha256="df0028c19275a2cff137e39617a39cdcdbd1173733b87b6bfa257b7c0860213b")
+ version("1.0.7", sha256="16505782b229007ae905ef9e0ae6e880fddafa406f086ac7d442c1aaf712f8c2")
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-sqlalchemy@1.3.0:', type=('build', 'run'), when='@1.5:')
- depends_on('py-sqlalchemy@1.1.0:', type=('build', 'run'), when='@:1.4')
- depends_on('py-mako', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-python-editor@0.3:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sqlalchemy@1.3.0:", type=("build", "run"), when="@1.5:")
+ depends_on("py-sqlalchemy@1.1.0:", type=("build", "run"), when="@:1.4")
+ depends_on("py-mako", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-python-editor@0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-altair/package.py b/var/spack/repos/builtin/packages/py-altair/package.py
index 05113eac75..41144ae953 100644
--- a/var/spack/repos/builtin/packages/py-altair/package.py
+++ b/var/spack/repos/builtin/packages/py-altair/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class PyAltair(PythonPackage):
"""Declarative statistical visualization library for Python"""
- pypi = 'altair/altair-4.2.0.tar.gz'
+ pypi = "altair/altair-4.2.0.tar.gz"
- version('4.2.0', sha256="d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026")
+ version("4.2.0", sha256="d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@40.6:', type='build')
- depends_on('py-entrypoints', type=('build', 'run'))
- depends_on('py-jsonschema@3:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas@0.18:', type=('build', 'run'))
- depends_on('py-toolz', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@40.6:", type="build")
+ depends_on("py-entrypoints", type=("build", "run"))
+ depends_on("py-jsonschema@3:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas@0.18:", type=("build", "run"))
+ depends_on("py-toolz", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-altgraph/package.py b/var/spack/repos/builtin/packages/py-altgraph/package.py
index 8b97d66b5a..96c3c8c245 100644
--- a/var/spack/repos/builtin/packages/py-altgraph/package.py
+++ b/var/spack/repos/builtin/packages/py-altgraph/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyAltgraph(PythonPackage):
"""
- altgraph is a fork of graphlib: a graph (network)
- package for constructing graphs, BFS and DFS traversals,
- topological sort, shortest paths, etc. with graphviz output.
+ altgraph is a fork of graphlib: a graph (network)
+ package for constructing graphs, BFS and DFS traversals,
+ topological sort, shortest paths, etc. with graphviz output.
"""
pypi = "altgraph/altgraph-0.16.1.tar.gz"
- version('0.16.1', "ddf5320017147ba7b810198e0b6619bd7b5563aa034da388cea8546b877f9b0c")
+ version("0.16.1", "ddf5320017147ba7b810198e0b6619bd7b5563aa034da388cea8546b877f9b0c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-amqp/package.py b/var/spack/repos/builtin/packages/py-amqp/package.py
index ef8fc6f3d5..449585155c 100644
--- a/var/spack/repos/builtin/packages/py-amqp/package.py
+++ b/var/spack/repos/builtin/packages/py-amqp/package.py
@@ -11,21 +11,21 @@ class PyAmqp(PythonPackage):
pypi = "amqp/amqp-2.4.1.tar.gz"
- version('5.0.9', sha256='1e5f707424e544078ca196e72ae6a14887ce74e02bd126be54b7c03c971bef18')
- version('5.0.1', sha256='9881f8e6fe23e3db9faa6cfd8c05390213e1d1b95c0162bc50552cad75bffa5f')
- version('2.6.1', sha256='70cdb10628468ff14e57ec2f751c7aa9e48e7e3651cfd62d431213c0c4e58f21')
- version('2.5.2', sha256='77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d')
- version('2.4.2', sha256='043beb485774ca69718a35602089e524f87168268f0d1ae115f28b88d27f92d7')
- version('2.4.1', sha256='6816eed27521293ee03aa9ace300a07215b11fee4e845588a9b863a7ba30addb')
+ version("5.0.9", sha256="1e5f707424e544078ca196e72ae6a14887ce74e02bd126be54b7c03c971bef18")
+ version("5.0.1", sha256="9881f8e6fe23e3db9faa6cfd8c05390213e1d1b95c0162bc50552cad75bffa5f")
+ version("2.6.1", sha256="70cdb10628468ff14e57ec2f751c7aa9e48e7e3651cfd62d431213c0c4e58f21")
+ version("2.5.2", sha256="77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d")
+ version("2.4.2", sha256="043beb485774ca69718a35602089e524f87168268f0d1ae115f28b88d27f92d7")
+ version("2.4.1", sha256="6816eed27521293ee03aa9ace300a07215b11fee4e845588a9b863a7ba30addb")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@5.0.9:')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@5.0.9:")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
- depends_on('py-vine@1.1.3:4', when="@2", type=('build', 'run'))
- depends_on('py-vine@5.0.0', when="@5.0.0:5", type=('build', 'run'))
+ depends_on("py-vine@1.1.3:4", when="@2", type=("build", "run"))
+ depends_on("py-vine@5.0.0", when="@5.0.0:5", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('CELERY_ENABLE_SPEEDUPS', True)
+ env.set("CELERY_ENABLE_SPEEDUPS", True)
diff --git a/var/spack/repos/builtin/packages/py-angel/package.py b/var/spack/repos/builtin/packages/py-angel/package.py
index b1b929e520..b4ff303a0d 100644
--- a/var/spack/repos/builtin/packages/py-angel/package.py
+++ b/var/spack/repos/builtin/packages/py-angel/package.py
@@ -10,14 +10,14 @@ class PyAngel(PythonPackage):
"""ANGEL: Robust Open Reading Frame prediction"""
homepage = "https://github.com/PacificBiosciences/ANGEL"
- url = "https://github.com/PacificBiosciences/ANGEL/archive/v3.0.tar.gz"
+ url = "https://github.com/PacificBiosciences/ANGEL/archive/v3.0.tar.gz"
- version('3.0', sha256='a0319553055d3dfc84a4f732ed246c180c23ee9c397810c96acd7940721ae57d')
+ version("3.0", sha256="a0319553055d3dfc84a4f732ed246c180c23ee9c397810c96acd7940721ae57d")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
- depends_on('py-biopython@:1.72', type=('build', 'run'))
+ depends_on("py-biopython@:1.72", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-aniso8601/package.py b/var/spack/repos/builtin/packages/py-aniso8601/package.py
index ee272fa22a..e9ae52b924 100644
--- a/var/spack/repos/builtin/packages/py-aniso8601/package.py
+++ b/var/spack/repos/builtin/packages/py-aniso8601/package.py
@@ -10,8 +10,8 @@ class PyAniso8601(PythonPackage):
"""A library for parsing ISO 8601 strings."""
homepage = "https://bitbucket.org/nielsenb/aniso8601"
- pypi = "aniso8601/aniso8601-9.0.1.tar.gz"
+ pypi = "aniso8601/aniso8601-9.0.1.tar.gz"
- version('9.0.1', sha256='72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973')
+ version("9.0.1", sha256="72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-annexremote/package.py b/var/spack/repos/builtin/packages/py-annexremote/package.py
index 48b7416055..56924d8515 100644
--- a/var/spack/repos/builtin/packages/py-annexremote/package.py
+++ b/var/spack/repos/builtin/packages/py-annexremote/package.py
@@ -10,9 +10,9 @@ class PyAnnexremote(PythonPackage):
"""git annex special remotes made easy."""
homepage = "https://github.com/Lykos153/AnnexRemote"
- pypi = "annexremote/annexremote-1.5.0.tar.gz"
+ pypi = "annexremote/annexremote-1.5.0.tar.gz"
- version('1.5.0', sha256='92f32b6f5461cbaeefe0c60b32f9c1e0c1dbe4e57b8ee425affb56f4060f64ef')
+ version("1.5.0", sha256="92f32b6f5461cbaeefe0c60b32f9c1e0c1dbe4e57b8ee425affb56f4060f64ef")
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ansi2html/package.py b/var/spack/repos/builtin/packages/py-ansi2html/package.py
index 7cb4f6641d..07341b8654 100644
--- a/var/spack/repos/builtin/packages/py-ansi2html/package.py
+++ b/var/spack/repos/builtin/packages/py-ansi2html/package.py
@@ -10,11 +10,11 @@ class PyAnsi2html(PythonPackage):
"""Convert text with ansi color codes to HTML"""
homepage = "https://github.com/pycontribs/ansi2html"
- pypi = "ansi2html/ansi2html-1.6.0.tar.gz"
+ pypi = "ansi2html/ansi2html-1.6.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.6.0', sha256='0f124ea7efcf3f24f1f9398e527e688c9ae6eab26b0b84e1299ef7f94d92c596')
+ version("1.6.0", sha256="0f124ea7efcf3f24f1f9398e527e688c9ae6eab26b0b84e1299ef7f94d92c596")
- depends_on('py-setuptools', type='build')
- depends_on('py-pip', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pip", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ansible/package.py b/var/spack/repos/builtin/packages/py-ansible/package.py
index 269ff8be3e..741cafd62e 100644
--- a/var/spack/repos/builtin/packages/py-ansible/package.py
+++ b/var/spack/repos/builtin/packages/py-ansible/package.py
@@ -13,19 +13,19 @@ class PyAnsible(PythonPackage):
"""
homepage = "https://github.com/ansible"
- url = "https://github.com/ansible/ansible/archive/v2.9.1.tar.gz"
+ url = "https://github.com/ansible/ansible/archive/v2.9.1.tar.gz"
- version('2.9.2', sha256='27673726435e8773ef031ef6ffb121b8ec75b85b07b7684454b430c3c9a848a9')
- version('2.9.1', sha256='087a7644890e27c26171b0d24fc5d64024f12201ffb81d222aaa5704987e4c12')
- version('2.9.0', sha256='a2a9b1a74f3d47b82f9ea9da10ebf3573fa10c1783b7ed9b7eb937c7052fcb13')
- version('2.8.7', sha256='1f7c765bf2a60e3f8d634a7eb3739a70522ba93a77e9266b07c119d29e08d484')
- version('2.8.6', sha256='94c96aaf781417c073b340381c83992e4880f2a660b46888530909bc7c57ef71')
- version('2.7.15', sha256='84f020f3b09575536fb200a3ff8e9bc98dce1ba3d8dd830134691237c9cb9a85')
- version('2.7.14', sha256='92f0be1de4f9d1c0a3a35963fb853a6d7831360fd1e734cb36d601495a71770c')
- version('2.6.20', sha256='55962e79e24a67a5534bf08aa0482d5f7322ad3f112a3ebffc4a58ae02b82277')
+ version("2.9.2", sha256="27673726435e8773ef031ef6ffb121b8ec75b85b07b7684454b430c3c9a848a9")
+ version("2.9.1", sha256="087a7644890e27c26171b0d24fc5d64024f12201ffb81d222aaa5704987e4c12")
+ version("2.9.0", sha256="a2a9b1a74f3d47b82f9ea9da10ebf3573fa10c1783b7ed9b7eb937c7052fcb13")
+ version("2.8.7", sha256="1f7c765bf2a60e3f8d634a7eb3739a70522ba93a77e9266b07c119d29e08d484")
+ version("2.8.6", sha256="94c96aaf781417c073b340381c83992e4880f2a660b46888530909bc7c57ef71")
+ version("2.7.15", sha256="84f020f3b09575536fb200a3ff8e9bc98dce1ba3d8dd830134691237c9cb9a85")
+ version("2.7.14", sha256="92f0be1de4f9d1c0a3a35963fb853a6d7831360fd1e734cb36d601495a71770c")
+ version("2.6.20", sha256="55962e79e24a67a5534bf08aa0482d5f7322ad3f112a3ebffc4a58ae02b82277")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-cryptography', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-cryptography", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py b/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
index 8909f48198..b6aadb7e66 100644
--- a/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
+++ b/var/spack/repos/builtin/packages/py-antlr4-python3-runtime/package.py
@@ -15,9 +15,9 @@ class PyAntlr4Python3Runtime(PythonPackage):
homepage = "https://www.antlr.org"
pypi = "antlr4-python3-runtime/antlr4-python3-runtime-4.7.2.tar.gz"
- version('4.8', sha256='15793f5d0512a372b4e7d2284058ad32ce7dd27126b105fb0b2245130445db33')
- version('4.7.2', sha256='168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b')
+ version("4.8", sha256="15793f5d0512a372b4e7d2284058ad32ce7dd27126b105fb0b2245130445db33")
+ version("4.7.2", sha256="168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-anuga/package.py b/var/spack/repos/builtin/packages/py-anuga/package.py
index e969da3a17..c2cb938ff4 100644
--- a/var/spack/repos/builtin/packages/py-anuga/package.py
+++ b/var/spack/repos/builtin/packages/py-anuga/package.py
@@ -12,51 +12,51 @@ class PyAnuga(PythonPackage):
tsunamis and floods."""
homepage = "https://github.com/GeoscienceAustralia/anuga_core"
- url = "https://github.com/GeoscienceAustralia/anuga_core/archive/2.1.tar.gz"
- git = 'https://github.com/GeoscienceAustralia/anuga_core.git'
+ url = "https://github.com/GeoscienceAustralia/anuga_core/archive/2.1.tar.gz"
+ git = "https://github.com/GeoscienceAustralia/anuga_core.git"
# The git main branch of the repo is now python3-only
- version('main', branch='main')
- version('2.1', sha256='0e56c4a7d55570d7b2c36fa9b53ee4e7b85f62be0b4c03ad8ab5f51464321d2f')
+ version("main", branch="main")
+ version("2.1", sha256="0e56c4a7d55570d7b2c36fa9b53ee4e7b85f62be0b4c03ad8ab5f51464321d2f")
# Non-versioned dependencies for Anuga main and future versions based on python@3.5:
- depends_on('python@3.5:', type=('build', 'run'), when='@2.2:')
- depends_on('gdal+geos+python', type=('build', 'run'), when='@2.2:')
- depends_on('py-future', type=('build', 'run'), when='@2.2:')
- depends_on('py-matplotlib', type=('build', 'run'), when='@2.2:')
- depends_on('py-numpy', type=('build', 'run'), when='@2.2:')
- depends_on('py-setuptools', type=('build'), when='@2.2:')
+ depends_on("python@3.5:", type=("build", "run"), when="@2.2:")
+ depends_on("gdal+geos+python", type=("build", "run"), when="@2.2:")
+ depends_on("py-future", type=("build", "run"), when="@2.2:")
+ depends_on("py-matplotlib", type=("build", "run"), when="@2.2:")
+ depends_on("py-numpy", type=("build", "run"), when="@2.2:")
+ depends_on("py-setuptools", type=("build"), when="@2.2:")
# Replaces pyar in python3 anuga:
- depends_on('py-mpi4py', type=('build', 'run'), when='@2.2:')
+ depends_on("py-mpi4py", type=("build", "run"), when="@2.2:")
# Version-restricted dependencies for anuga@:2.1, converted to use when='@:2.1':
- depends_on('python@2.6:2.7.18', type=('build', 'run'), when='@:2.1')
- depends_on('gdal@:3.2+geos+python', type=('build', 'run'), when='@:2.1')
- depends_on('py-matplotlib@:2', type=('build', 'run'), when='@:2.1')
- depends_on('py-numpy@:1.16', type=('build', 'run'), when='@:2.1')
- depends_on('py-setuptools@:44', type=('build'), when='@:2.1')
+ depends_on("python@2.6:2.7.18", type=("build", "run"), when="@:2.1")
+ depends_on("gdal@:3.2+geos+python", type=("build", "run"), when="@:2.1")
+ depends_on("py-matplotlib@:2", type=("build", "run"), when="@:2.1")
+ depends_on("py-numpy@:1.16", type=("build", "run"), when="@:2.1")
+ depends_on("py-setuptools@:44", type=("build"), when="@:2.1")
# Workaround for problem in the original concretizer selecting 3.6, wanting python3:
- depends_on('py-setuptools-scm@:3.5', type=('build'), when='@:2.1')
+ depends_on("py-setuptools-scm@:3.5", type=("build"), when="@:2.1")
# pypar is not updated for python3, for python3, py-mpi4py is unsed instead:
- depends_on('py-pypar', type=('build', 'run'), when='@:2.1')
+ depends_on("py-pypar", type=("build", "run"), when="@:2.1")
# Unversioned dependencies of the python2 and python3-based versions
- depends_on('py-cython', type=('build'))
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-dill', type=('build', 'test'))
- depends_on('py-nose', type=('build', 'test'))
- depends_on('py-scipy', type=('build', 'test'))
- depends_on('py-triangle', type=('build', 'test'))
- depends_on('mpi', type=('test', 'run'))
+ depends_on("py-cython", type=("build"))
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-dill", type=("build", "test"))
+ depends_on("py-nose", type=("build", "test"))
+ depends_on("py-scipy", type=("build", "test"))
+ depends_on("py-triangle", type=("build", "test"))
+ depends_on("mpi", type=("test", "run"))
# https://github.com/GeoscienceAustralia/anuga_core/issues/247
- conflicts('%apple-clang@12:')
+ conflicts("%apple-clang@12:")
def setup_run_environment(self, env):
if self.run_tests:
- env.prepend_path('PATH', self.spec['mpi'].prefix.bin)
+ env.prepend_path("PATH", self.spec["mpi"].prefix.bin)
- install_time_test_callbacks = ['test', 'installtest']
+ install_time_test_callbacks = ["test", "installtest"]
def installtest(self):
- python('runtests.py', '--no-build')
+ python("runtests.py", "--no-build")
diff --git a/var/spack/repos/builtin/packages/py-anyio/package.py b/var/spack/repos/builtin/packages/py-anyio/package.py
index 70b3152e65..4de2b97357 100644
--- a/var/spack/repos/builtin/packages/py-anyio/package.py
+++ b/var/spack/repos/builtin/packages/py-anyio/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class PyAnyio(PythonPackage):
"""High level compatibility layer for multiple asynchronous event loop
- implementations."""
+ implementations."""
homepage = "https://github.com/agronholm/anyio"
- pypi = "anyio/anyio-3.2.1.tar.gz"
+ pypi = "anyio/anyio-3.2.1.tar.gz"
- version('3.5.0', sha256='a0aeffe2fb1fdf374a8e4b471444f0f3ac4fb9f5a5b542b48824475e0042a5a6')
- version('3.3.4', sha256='67da67b5b21f96b9d3d65daa6ea99f5d5282cb09f50eb4456f8fb51dffefc3ff')
- version('3.2.1', sha256='07968db9fa7c1ca5435a133dc62f988d84ef78e1d9b22814a59d1c62618afbc5')
+ version("3.5.0", sha256="a0aeffe2fb1fdf374a8e4b471444f0f3ac4fb9f5a5b542b48824475e0042a5a6")
+ version("3.3.4", sha256="67da67b5b21f96b9d3d65daa6ea99f5d5282cb09f50eb4456f8fb51dffefc3ff")
+ version("3.2.1", sha256="07968db9fa7c1ca5435a133dc62f988d84ef78e1d9b22814a59d1c62618afbc5")
- depends_on('python@3.6.2:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', type='build')
- depends_on('py-wheel@0.29:', type='build')
- depends_on('py-contextvars', when='@3.4: ^python@:3.6', type=('build', 'run'))
- depends_on('py-dataclasses', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-idna@2.8:', type=('build', 'run'))
- depends_on('py-sniffio@1.1:', type=('build', 'run'))
- depends_on('py-typing-extensions', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6.2:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", type="build")
+ depends_on("py-wheel@0.29:", type="build")
+ depends_on("py-contextvars", when="@3.4: ^python@:3.6", type=("build", "run"))
+ depends_on("py-dataclasses", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-idna@2.8:", type=("build", "run"))
+ depends_on("py-sniffio@1.1:", type=("build", "run"))
+ depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run"))
- depends_on('py-async-generator', when='@:3.2 ^python@:3.6', type=('build', 'run'))
+ depends_on("py-async-generator", when="@:3.2 ^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-anytree/package.py b/var/spack/repos/builtin/packages/py-anytree/package.py
index 9b642ed9f6..8a70858460 100644
--- a/var/spack/repos/builtin/packages/py-anytree/package.py
+++ b/var/spack/repos/builtin/packages/py-anytree/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class PyAnytree(PythonPackage):
"""Python tree data library - lightweight and extensible Tree data structure."""
- homepage = 'https://github.com/c0fec0de/anytree'
- pypi = 'anytree/anytree-2.8.0.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/c0fec0de/anytree"
+ pypi = "anytree/anytree-2.8.0.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('2.8.0', sha256='3f0f93f355a91bc3e6245319bf4c1d50e3416cc7a35cc1133c1ff38306bbccab')
+ version("2.8.0", sha256="3f0f93f355a91bc3e6245319bf4c1d50e3416cc7a35cc1133c1ff38306bbccab")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-ordereddict', when='^python@:2.6', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-ordereddict", when="^python@:2.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-apache-beam/package.py b/var/spack/repos/builtin/packages/py-apache-beam/package.py
index 84387d87d1..654e8d81c1 100644
--- a/var/spack/repos/builtin/packages/py-apache-beam/package.py
+++ b/var/spack/repos/builtin/packages/py-apache-beam/package.py
@@ -12,36 +12,36 @@ class PyApacheBeam(PythonPackage):
homepage = "https://github.com/apache/beam"
pypi = "apache-beam/apache-beam-2.24.0.zip"
- version('2.24.0', sha256='55c50b1a964bacc840a5e4cc3b4a42c4ef09d12192d215ba3cad65d4d22e09dd')
+ version("2.24.0", sha256="55c50b1a964bacc840a5e4cc3b4a42c4ef09d12192d215ba3cad65d4d22e09dd")
- depends_on('python@2.7,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pip@7.0.0:', type='build')
- depends_on('py-cython@0.28.1:', type='build')
- depends_on('py-avro@1.8.1:1.9', type=('build', 'run'), when='^python@:2')
- depends_on('py-avro-python3@1.8.1:1.9.1,1.9.3:1.9', type=('build', 'run'), when='^python@3:')
- depends_on('py-crcmod@1.7:1', type=('build', 'run'))
- depends_on('py-dill@0.3.1.1:0.3.1', type=('build', 'run'))
- depends_on('py-fastavro@0.21.4:0.23', type=('build', 'run'))
- depends_on('py-funcsigs@1.0.2:1', type=('build', 'run'), when='^python@:2')
- depends_on('py-future@0.18.2:0', type=('build', 'run'))
- depends_on('py-futures@3.2:3', type=('build', 'run'), when='^python@:2')
- depends_on('py-grpcio@1.29:1', type=('build', 'run'))
- depends_on('py-hdfs@2.1:2', type=('build', 'run'))
- depends_on('py-httplib2@0.8:0.17', type=('build', 'run'))
- depends_on('py-mock@1.0.1:2', type=('build', 'run'))
- depends_on('py-numpy@1.14.3:1', type=('build', 'run'))
- depends_on('py-pymongo@3.8:3', type=('build', 'run'))
- depends_on('py-oauth2client@2.0.1:3', type=('build', 'run'))
- depends_on('py-protobuf@3.12.2:3', type=('build', 'run'))
- depends_on('py-pyarrow@0.15.1:0.17', type=('build', 'run'), when='platform=cray')
- depends_on('py-pyarrow@0.15.1:0.17', type=('build', 'run'), when='platform=darwin')
- depends_on('py-pyarrow@0.15.1:0.17', type=('build', 'run'), when='platform=linux')
- depends_on('py-pyarrow@0.15.1:0.17', type=('build', 'run'), when='platform=windows ^python@3:')
- depends_on('py-pydot@1.2.0:1', type=('build', 'run'))
- depends_on('py-python-dateutil@2.8:2', type=('build', 'run'))
- depends_on('py-pytz@2018.3:', type=('build', 'run'))
- depends_on('py-pyvcf@0.6.8:0.6', type=('build', 'run'), when='^python@:2')
- depends_on('py-requests@2.24:2', type=('build', 'run'))
- depends_on('py-typing@3.7.0:3.7', type=('build', 'run'), when='^python@:3.5.2')
- depends_on('py-typing-extensions@3.7.0:3.7', type=('build', 'run'))
+ depends_on("python@2.7,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pip@7.0.0:", type="build")
+ depends_on("py-cython@0.28.1:", type="build")
+ depends_on("py-avro@1.8.1:1.9", type=("build", "run"), when="^python@:2")
+ depends_on("py-avro-python3@1.8.1:1.9.1,1.9.3:1.9", type=("build", "run"), when="^python@3:")
+ depends_on("py-crcmod@1.7:1", type=("build", "run"))
+ depends_on("py-dill@0.3.1.1:0.3.1", type=("build", "run"))
+ depends_on("py-fastavro@0.21.4:0.23", type=("build", "run"))
+ depends_on("py-funcsigs@1.0.2:1", type=("build", "run"), when="^python@:2")
+ depends_on("py-future@0.18.2:0", type=("build", "run"))
+ depends_on("py-futures@3.2:3", type=("build", "run"), when="^python@:2")
+ depends_on("py-grpcio@1.29:1", type=("build", "run"))
+ depends_on("py-hdfs@2.1:2", type=("build", "run"))
+ depends_on("py-httplib2@0.8:0.17", type=("build", "run"))
+ depends_on("py-mock@1.0.1:2", type=("build", "run"))
+ depends_on("py-numpy@1.14.3:1", type=("build", "run"))
+ depends_on("py-pymongo@3.8:3", type=("build", "run"))
+ depends_on("py-oauth2client@2.0.1:3", type=("build", "run"))
+ depends_on("py-protobuf@3.12.2:3", type=("build", "run"))
+ depends_on("py-pyarrow@0.15.1:0.17", type=("build", "run"), when="platform=cray")
+ depends_on("py-pyarrow@0.15.1:0.17", type=("build", "run"), when="platform=darwin")
+ depends_on("py-pyarrow@0.15.1:0.17", type=("build", "run"), when="platform=linux")
+ depends_on("py-pyarrow@0.15.1:0.17", type=("build", "run"), when="platform=windows ^python@3:")
+ depends_on("py-pydot@1.2.0:1", type=("build", "run"))
+ depends_on("py-python-dateutil@2.8:2", type=("build", "run"))
+ depends_on("py-pytz@2018.3:", type=("build", "run"))
+ depends_on("py-pyvcf@0.6.8:0.6", type=("build", "run"), when="^python@:2")
+ depends_on("py-requests@2.24:2", type=("build", "run"))
+ depends_on("py-typing@3.7.0:3.7", type=("build", "run"), when="^python@:3.5.2")
+ depends_on("py-typing-extensions@3.7.0:3.7", type=("build", "run"))
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 c950b2f2f8..57f0badf96 100644
--- a/var/spack/repos/builtin/packages/py-apache-libcloud/package.py
+++ b/var/spack/repos/builtin/packages/py-apache-libcloud/package.py
@@ -12,6 +12,6 @@ class PyApacheLibcloud(PythonPackage):
homepage = "https://libcloud.apache.org"
pypi = "apache-libcloud/apache-libcloud-1.2.1.tar.gz"
- version('1.2.1', sha256='b26b542c6c9785dd4e34892d87421ffa4c043335c1cba301a97a8d9748c423f2')
+ version("1.2.1", sha256="b26b542c6c9785dd4e34892d87421ffa4c043335c1cba301a97a8d9748c423f2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-apex/package.py b/var/spack/repos/builtin/packages/py-apex/package.py
index 7d46bdf832..ce8d3e7cd1 100644
--- a/var/spack/repos/builtin/packages/py-apex/package.py
+++ b/var/spack/repos/builtin/packages/py-apex/package.py
@@ -12,6 +12,6 @@ class PyApex(PythonPackage):
pypi = "apex/apex-0.9.10dev.tar.gz"
- version('0.9.10dev', sha256='48aa6d9e805e661e609161bd52e0d02d89a9a32f32dc29cde6c950df58129119')
+ version("0.9.10dev", sha256="48aa6d9e805e661e609161bd52e0d02d89a9a32f32dc29cde6c950df58129119")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-apipkg/package.py b/var/spack/repos/builtin/packages/py-apipkg/package.py
index 8a2aadff22..0443019c4f 100644
--- a/var/spack/repos/builtin/packages/py-apipkg/package.py
+++ b/var/spack/repos/builtin/packages/py-apipkg/package.py
@@ -11,9 +11,9 @@ class PyApipkg(PythonPackage):
pypi = "apipkg/apipkg-1.4.tar.gz"
- version('1.5', sha256='37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6')
- version('1.4', sha256='2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6')
+ version("1.5", sha256="37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6")
+ version("1.4", sha256="2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6")
- depends_on('py-setuptools@30.3.0:', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools@30.3.0:", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-appdirs/package.py b/var/spack/repos/builtin/packages/py-appdirs/package.py
index 8b72587b2d..600ee3efdc 100644
--- a/var/spack/repos/builtin/packages/py-appdirs/package.py
+++ b/var/spack/repos/builtin/packages/py-appdirs/package.py
@@ -13,10 +13,10 @@ class PyAppdirs(PythonPackage):
homepage = "https://github.com/ActiveState/appdirs"
pypi = "appdirs/appdirs-1.4.3.tar.gz"
- version('1.4.4', sha256='7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41')
- version('1.4.3', sha256='9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92')
- version('1.4.0', sha256='8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5')
+ version("1.4.4", sha256="7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41")
+ version("1.4.3", sha256="9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92")
+ version("1.4.0", sha256="8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5")
- patch('setuptools-import.patch', when='@:1.4.0')
- patch('decode-appdirs.patch', when='@1.4.4')
- depends_on('py-setuptools', type='build')
+ patch("setuptools-import.patch", when="@:1.4.0")
+ patch("decode-appdirs.patch", when="@1.4.4")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-applicationinsights/package.py b/var/spack/repos/builtin/packages/py-applicationinsights/package.py
index 495317c624..4f51a19981 100644
--- a/var/spack/repos/builtin/packages/py-applicationinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-applicationinsights/package.py
@@ -17,12 +17,15 @@ class PyApplicationinsights(PythonPackage):
# 'applicationinsights.django' requires 'django', but 'django' isn't listed as a
# dependency. Leave out of 'import_modules' list to avoid unnecessary dependency.
import_modules = [
- 'applicationinsights', 'applicationinsights.flask',
- 'applicationinsights.exceptions', 'applicationinsights.requests',
- 'applicationinsights.channel', 'applicationinsights.channel.contracts',
- 'applicationinsights.logging'
+ "applicationinsights",
+ "applicationinsights.flask",
+ "applicationinsights.exceptions",
+ "applicationinsights.requests",
+ "applicationinsights.channel",
+ "applicationinsights.channel.contracts",
+ "applicationinsights.logging",
]
- version('0.11.9', sha256='30a11aafacea34f8b160fbdc35254c9029c7e325267874e3c68f6bdbcd6ed2c3')
+ version("0.11.9", sha256="30a11aafacea34f8b160fbdc35254c9029c7e325267874e3c68f6bdbcd6ed2c3")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-appnope/package.py b/var/spack/repos/builtin/packages/py-appnope/package.py
index b35a4aacdb..8ec2c3cd91 100644
--- a/var/spack/repos/builtin/packages/py-appnope/package.py
+++ b/var/spack/repos/builtin/packages/py-appnope/package.py
@@ -12,7 +12,7 @@ class PyAppnope(PythonPackage):
homepage = "https://github.com/minrk/appnope"
pypi = "appnope/appnope-0.1.0.tar.gz"
- version('0.1.0', sha256='8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71')
+ version("0.1.0", sha256="8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-apptools/package.py b/var/spack/repos/builtin/packages/py-apptools/package.py
index 6556455dd8..5b7e21649a 100644
--- a/var/spack/repos/builtin/packages/py-apptools/package.py
+++ b/var/spack/repos/builtin/packages/py-apptools/package.py
@@ -15,9 +15,9 @@ class PyApptools(PythonPackage):
homepage = "https://docs.enthought.com/apptools"
pypi = "apptools/apptools-4.5.0.tar.gz"
- version('4.5.0', sha256='260ae0e2a86cb2df2fede631ab6ac8ece694a58a1def78cd015c890c57140582')
+ version("4.5.0", sha256="260ae0e2a86cb2df2fede631ab6ac8ece694a58a1def78cd015c890c57140582")
- depends_on('py-setuptools', type='build')
- depends_on('py-configobj', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-traitsui', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-configobj", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-traitsui", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-apscheduler/package.py b/var/spack/repos/builtin/packages/py-apscheduler/package.py
index 08cd71c97c..48e6aa12d6 100644
--- a/var/spack/repos/builtin/packages/py-apscheduler/package.py
+++ b/var/spack/repos/builtin/packages/py-apscheduler/package.py
@@ -12,11 +12,11 @@ class PyApscheduler(PythonPackage):
homepage = "https://github.com/agronholm/apscheduler"
pypi = "APScheduler/APScheduler-3.3.1.tar.gz"
- version('3.3.1', sha256='f68874dff1bdffcc6ce3adb7840c1e4d162c609a3e3f831351df30b75732767b')
- version('2.1.0', sha256='3b4b44387616902ad6d13122961013630eb25519937e5aa7c450de85656c9753')
+ version("3.3.1", sha256="f68874dff1bdffcc6ce3adb7840c1e4d162c609a3e3f831351df30b75732767b")
+ version("2.1.0", sha256="3b4b44387616902ad6d13122961013630eb25519937e5aa7c450de85656c9753")
- depends_on('py-setuptools@0.7:', type='build')
+ depends_on("py-setuptools@0.7:", type="build")
- depends_on('py-six@1.4.0:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-tzlocal@1.2:', type=('build', 'run'))
+ depends_on("py-six@1.4.0:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-tzlocal@1.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-arcgis/package.py b/var/spack/repos/builtin/packages/py-arcgis/package.py
index 39ed34f05c..d4c97aa140 100644
--- a/var/spack/repos/builtin/packages/py-arcgis/package.py
+++ b/var/spack/repos/builtin/packages/py-arcgis/package.py
@@ -10,27 +10,27 @@ class PyArcgis(PythonPackage):
"""ArcGIS API for Python."""
homepage = "https://developers.arcgis.com/python/"
- pypi = "arcgis/arcgis-1.8.4.tar.gz"
+ pypi = "arcgis/arcgis-1.8.4.tar.gz"
- version('1.8.4', sha256='f1445dac25d3d4c03755d716c74a0930881c6be3cd36d22c6ff5ac754f9842d7')
+ version("1.8.4", sha256="f1445dac25d3d4c03755d716c74a0930881c6be3cd36d22c6ff5ac754f9842d7")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-ipywidgets@7:', type=('build', 'run'))
- depends_on('py-widgetsnbextension@3:', type=('build', 'run'))
- depends_on('py-pandas@1:', type=('build', 'run'))
- depends_on('py-numpy@1.16.2:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-keyring@19:', type=('build', 'run'))
- depends_on('py-lerc', type=('build', 'run'))
- depends_on('py-ujson@3:', type=('build', 'run'))
- depends_on('py-jupyterlab', type=('build', 'run'))
- depends_on('py-python-certifi-win32', type=('build', 'run'))
- depends_on('py-pyshp@2:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-requests-oauthlib', type=('build', 'run'))
- depends_on('py-requests-toolbelt', type=('build', 'run'))
- depends_on('py-requests-ntlm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-ipywidgets@7:", type=("build", "run"))
+ depends_on("py-widgetsnbextension@3:", type=("build", "run"))
+ depends_on("py-pandas@1:", type=("build", "run"))
+ depends_on("py-numpy@1.16.2:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-keyring@19:", type=("build", "run"))
+ depends_on("py-lerc", type=("build", "run"))
+ depends_on("py-ujson@3:", type=("build", "run"))
+ depends_on("py-jupyterlab", type=("build", "run"))
+ depends_on("py-python-certifi-win32", type=("build", "run"))
+ depends_on("py-pyshp@2:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-requests-oauthlib", type=("build", "run"))
+ depends_on("py-requests-toolbelt", type=("build", "run"))
+ depends_on("py-requests-ntlm", type=("build", "run"))
def global_options(self, spec, prefix):
- return ['--conda-install-mode']
+ return ["--conda-install-mode"]
diff --git a/var/spack/repos/builtin/packages/py-archspec/package.py b/var/spack/repos/builtin/packages/py-archspec/package.py
index 5f20523857..ac9b3d3cce 100644
--- a/var/spack/repos/builtin/packages/py-archspec/package.py
+++ b/var/spack/repos/builtin/packages/py-archspec/package.py
@@ -13,26 +13,24 @@ class PyArchspec(PythonPackage):
homepage = "https://archspec.readthedocs.io/en/latest/"
pypi = "archspec/archspec-0.1.1.tar.gz"
- maintainers = ['alalazo']
+ maintainers = ["alalazo"]
- version('0.1.3', sha256='a1aa7abde4d4ce38d115dfd572584906fa8e192e3272b8897e7b4fa1213ec27c')
- version('0.1.2', sha256='8bb998370f0dc3e509d57c13724ab4109d761fd74af20da26fbe513b0fe01c46')
- version('0.1.1', sha256='34bafad493b41208857232e21776216d716de37ab051a6a4a1cc1653f7e26423')
- version('0.1.0', sha256='a4431d0bbe9c9dd7b293c39d8e7590034d512ce5f5a1278a6cbdf61b33f7202d')
+ version("0.1.3", sha256="a1aa7abde4d4ce38d115dfd572584906fa8e192e3272b8897e7b4fa1213ec27c")
+ version("0.1.2", sha256="8bb998370f0dc3e509d57c13724ab4109d761fd74af20da26fbe513b0fe01c46")
+ version("0.1.1", sha256="34bafad493b41208857232e21776216d716de37ab051a6a4a1cc1653f7e26423")
+ version("0.1.0", sha256="a4431d0bbe9c9dd7b293c39d8e7590034d512ce5f5a1278a6cbdf61b33f7202d")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
- depends_on('py-click@7.1.2:7', type=('build', 'run'))
- depends_on('py-six@1.13.0:1', type=('build', 'run'))
+ depends_on("py-click@7.1.2:7", type=("build", "run"))
+ depends_on("py-six@1.13.0:1", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-poetry-core@1.0.0:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-poetry-core@1.0.0:", type="build")
def patch(self):
# See https://python-poetry.org/docs/pyproject/#poetry-and-pep-517
with working_dir(self.build_directory):
- if self.spec.satisfies('@:0.1.3'):
- filter_file("poetry>=0.12", "poetry_core>=1.0.0", 'pyproject.toml')
- filter_file(
- "poetry.masonry.api", "poetry.core.masonry.api", 'pyproject.toml'
- )
+ if self.spec.satisfies("@:0.1.3"):
+ filter_file("poetry>=0.12", "poetry_core>=1.0.0", "pyproject.toml")
+ filter_file("poetry.masonry.api", "poetry.core.masonry.api", "pyproject.toml")
diff --git a/var/spack/repos/builtin/packages/py-argcomplete/package.py b/var/spack/repos/builtin/packages/py-argcomplete/package.py
index 05ead1840d..b87ca924cb 100644
--- a/var/spack/repos/builtin/packages/py-argcomplete/package.py
+++ b/var/spack/repos/builtin/packages/py-argcomplete/package.py
@@ -12,14 +12,14 @@ class PyArgcomplete(PythonPackage):
homepage = "https://github.com/kislyuk/argcomplete"
pypi = "argcomplete/argcomplete-1.12.0.tar.gz"
- version('2.0.0', sha256='6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20')
- version('1.12.3', sha256='2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445')
- version('1.12.0', sha256='2fbe5ed09fd2c1d727d4199feca96569a5b50d44c71b16da9c742201f7cc295c')
- version('1.1.1', sha256='cca45b5fe07000994f4f06a0b95bd71f7b51b04f81c3be0b4ea7b666e4f1f084')
+ version("2.0.0", sha256="6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20")
+ version("1.12.3", sha256="2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445")
+ version("1.12.0", sha256="2fbe5ed09fd2c1d727d4199feca96569a5b50d44c71b16da9c742201f7cc295c")
+ version("1.1.1", sha256="cca45b5fe07000994f4f06a0b95bd71f7b51b04f81c3be0b4ea7b666e4f1f084")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib-metadata@0.23:4', when='@1.12.3: ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.23:3', when='@1.12.2 ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.23:2', when='@1.12.1 ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.23:1', when='@1.12.0 ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib-metadata@0.23:4", when="@1.12.3: ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.23:3", when="@1.12.2 ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.23:2", when="@1.12.1 ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.23:1", when="@1.12.0 ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-argh/package.py b/var/spack/repos/builtin/packages/py-argh/package.py
index b0beddd1b5..5abe4193ed 100644
--- a/var/spack/repos/builtin/packages/py-argh/package.py
+++ b/var/spack/repos/builtin/packages/py-argh/package.py
@@ -16,11 +16,11 @@ class PyArgh(PythonPackage):
a very powerful tool; Argh just makes it easy to use."""
homepage = "https://github.com/neithere/argh/"
- pypi = "argh/argh-0.26.2.tar.gz"
+ pypi = "argh/argh-0.26.2.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.26.2', sha256='e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65')
+ version("0.26.2", sha256="e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65")
- depends_on('py-setuptools', type='build')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py b/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py
index 4c676e58e3..08a735408c 100644
--- a/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py
+++ b/var/spack/repos/builtin/packages/py-argon2-cffi-bindings/package.py
@@ -10,11 +10,11 @@ class PyArgon2CffiBindings(PythonPackage):
"""Low-level CFFI bindings for Argon2."""
homepage = "https://github.com/hynek/argon2-cffi-bindings"
- pypi = "argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.tar.gz"
+ pypi = "argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.tar.gz"
- version('21.2.0', sha256='bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3')
+ version("21.2.0", sha256="bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@45:', type='build')
- depends_on('py-setuptools-scm@6.2:', type='build')
- depends_on('py-cffi@1.0.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@45:", type="build")
+ depends_on("py-setuptools-scm@6.2:", type="build")
+ depends_on("py-cffi@1.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
index b8bba0156f..adb56f1095 100644
--- a/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-argon2-cffi/package.py
@@ -13,20 +13,20 @@ class PyArgon2Cffi(PythonPackage):
homepage = "https://argon2-cffi.readthedocs.io/"
pypi = "argon2-cffi/argon2-cffi-20.1.0.tar.gz"
- version('21.3.0', sha256='d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b')
- version('21.1.0', sha256='f710b61103d1a1f692ca3ecbd1373e28aa5e545ac625ba067ff2feca1b2bb870')
- version('20.1.0', sha256='d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d')
-
- depends_on('python@3.6:', when='@21.2:', type=('build', 'run'))
- depends_on('python@3.5:', when='@21.1:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', type=('build', 'run'))
-
- depends_on('py-flit-core@3.4:3', when='@21.2:', type='build')
- depends_on('py-setuptools', when='@:21.1', type='build')
-
- depends_on('py-argon2-cffi-bindings', when='@21.2:', type=('build', 'run'))
- depends_on('py-dataclasses', when='@21.2: ^python@:3.6', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@21.2: ^python@:3.7', type=('build', 'run'))
- depends_on('py-cffi@1.0.0:', when='@:21.1', type=('build', 'run'))
- depends_on('py-six', when='@:20.1', type=('build', 'run'))
- depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
+ version("21.3.0", sha256="d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b")
+ version("21.1.0", sha256="f710b61103d1a1f692ca3ecbd1373e28aa5e545ac625ba067ff2feca1b2bb870")
+ version("20.1.0", sha256="d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d")
+
+ depends_on("python@3.6:", when="@21.2:", type=("build", "run"))
+ depends_on("python@3.5:", when="@21.1:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", type=("build", "run"))
+
+ depends_on("py-flit-core@3.4:3", when="@21.2:", type="build")
+ depends_on("py-setuptools", when="@:21.1", type="build")
+
+ depends_on("py-argon2-cffi-bindings", when="@21.2:", type=("build", "run"))
+ depends_on("py-dataclasses", when="@21.2: ^python@:3.6", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@21.2: ^python@:3.7", type=("build", "run"))
+ depends_on("py-cffi@1.0.0:", when="@:21.1", type=("build", "run"))
+ depends_on("py-six", when="@:20.1", type=("build", "run"))
+ depends_on("py-enum34", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-argparse/package.py b/var/spack/repos/builtin/packages/py-argparse/package.py
index b04f6cc643..87db304d7d 100644
--- a/var/spack/repos/builtin/packages/py-argparse/package.py
+++ b/var/spack/repos/builtin/packages/py-argparse/package.py
@@ -12,6 +12,6 @@ class PyArgparse(PythonPackage):
homepage = "https://github.com/ThomasWaldmann/argparse/"
pypi = "argparse/argparse-1.4.0.tar.gz"
- version('1.4.0', sha256='62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4')
+ version("1.4.0", sha256="62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-args/package.py b/var/spack/repos/builtin/packages/py-args/package.py
index ab3158d1f5..33ec981c0a 100644
--- a/var/spack/repos/builtin/packages/py-args/package.py
+++ b/var/spack/repos/builtin/packages/py-args/package.py
@@ -12,6 +12,6 @@ class PyArgs(PythonPackage):
homepage = "https://github.com/kennethreitz/args"
pypi = "args/args-0.1.0.tar.gz"
- version('0.1.0', sha256='a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814')
+ version("0.1.0", sha256="a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-arrow/package.py b/var/spack/repos/builtin/packages/py-arrow/package.py
index f24ca2e250..79933e9e2d 100644
--- a/var/spack/repos/builtin/packages/py-arrow/package.py
+++ b/var/spack/repos/builtin/packages/py-arrow/package.py
@@ -17,11 +17,13 @@ class PyArrow(PythonPackage):
homepage = "https://arrow.readthedocs.io/en/latest/"
pypi = "arrow/arrow-0.16.0.tar.gz"
- version('0.16.0', sha256='92aac856ea5175c804f7ccb96aca4d714d936f1c867ba59d747a8096ec30e90a')
- version('0.14.7', sha256='67f8be7c0cf420424bc62d8d7dc40b44e4bb2f7b515f9cc2954fb36e35797656')
- version('0.14.1', sha256='2d30837085011ef0b90ff75aa0a28f5c7d063e96b7e76b6cbc7e690310256685')
+ version("0.16.0", sha256="92aac856ea5175c804f7ccb96aca4d714d936f1c867ba59d747a8096ec30e90a")
+ version("0.14.7", sha256="67f8be7c0cf420424bc62d8d7dc40b44e4bb2f7b515f9cc2954fb36e35797656")
+ version("0.14.1", sha256="2d30837085011ef0b90ff75aa0a28f5c7d063e96b7e76b6cbc7e690310256685")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-backports-functools-lru-cache@1.2.1:', type=('build', 'run'), when='^python@2.7:2.8')
- depends_on('py-python-dateutil', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on(
+ "py-backports-functools-lru-cache@1.2.1:", type=("build", "run"), when="^python@2.7:2.8"
+ )
+ depends_on("py-python-dateutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-arviz/package.py b/var/spack/repos/builtin/packages/py-arviz/package.py
index 19322f0112..6164d2e25d 100644
--- a/var/spack/repos/builtin/packages/py-arviz/package.py
+++ b/var/spack/repos/builtin/packages/py-arviz/package.py
@@ -14,13 +14,13 @@ class PyArviz(PythonPackage):
homepage = "https://github.com/arviz-devs/arviz"
pypi = "arviz/arviz-0.6.1.tar.gz"
- version('0.6.1', sha256='435edf8db49c41a8fa198f959e7581063006c49a4efdef4755bb778db6fd4f72')
+ version("0.6.1", sha256="435edf8db49c41a8fa198f959e7581063006c49a4efdef4755bb778db6fd4f72")
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@3.0:', type=('build', 'run'))
- depends_on('py-numpy@1.12:', type=('build', 'run'))
- depends_on('py-scipy@0.19:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pandas@0.23:', type=('build', 'run'))
- depends_on('py-xarray@0.11:', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@3.0:", type=("build", "run"))
+ depends_on("py-numpy@1.12:", type=("build", "run"))
+ depends_on("py-scipy@0.19:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pandas@0.23:", type=("build", "run"))
+ depends_on("py-xarray@0.11:", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-asciitree/package.py b/var/spack/repos/builtin/packages/py-asciitree/package.py
index 383a42e859..060a5fe943 100644
--- a/var/spack/repos/builtin/packages/py-asciitree/package.py
+++ b/var/spack/repos/builtin/packages/py-asciitree/package.py
@@ -12,6 +12,6 @@ class PyAsciitree(PythonPackage):
homepage = "https://github.com/mbr/asciitree"
pypi = "asciitree/asciitree-0.3.3.tar.gz"
- version('0.3.3', sha256='4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e')
+ version("0.3.3", sha256="4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-asdf/package.py b/var/spack/repos/builtin/packages/py-asdf/package.py
index 195bd5289d..11df8e31a0 100644
--- a/var/spack/repos/builtin/packages/py-asdf/package.py
+++ b/var/spack/repos/builtin/packages/py-asdf/package.py
@@ -14,13 +14,13 @@ class PyAsdf(PythonPackage):
homepage = "https://github.com/spacetelescope/asdf"
pypi = "asdf/asdf-2.4.2.tar.gz"
- version('2.4.2', sha256='6ff3557190c6a33781dae3fd635a8edf0fa0c24c6aca27d8679af36408ea8ff2')
+ version("2.4.2", sha256="6ff3557190c6a33781dae3fd635a8edf0fa0c24c6aca27d8679af36408ea8ff2")
- depends_on('python@3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-semantic-version@2.3.1:2.6.0', type=('build', 'run'))
- depends_on('py-pyyaml@3.10:', type=('build', 'run'))
- depends_on('py-jsonschema@2.3:3', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-numpy@1.8:', type=('build', 'run'))
+ depends_on("python@3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-semantic-version@2.3.1:2.6.0", type=("build", "run"))
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-jsonschema@2.3:3", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-numpy@1.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ase/package.py b/var/spack/repos/builtin/packages/py-ase/package.py
index bdbf35b631..d43adfb886 100644
--- a/var/spack/repos/builtin/packages/py-ase/package.py
+++ b/var/spack/repos/builtin/packages/py-ase/package.py
@@ -14,24 +14,24 @@ class PyAse(PythonPackage):
homepage = "https://wiki.fysik.dtu.dk/ase/"
pypi = "ase/ase-3.13.0.tar.gz"
- version('3.21.1', sha256='78b01d88529d5f604e76bc64be102d48f058ca50faad72ac740d717545711c7b')
- version('3.21.0', sha256='2c561e9b767cf16fc8ce198ea9326d77c6b67d33a85f44b68455e23466a64608')
- version('3.20.1', sha256='72c81f21b6adb907595fce8d883c0231301cbd8e9f6e5ce8e98bab927054daca')
- version('3.19.3', sha256='27c378b983dfacd49398236e7232c28590c218c31bb2205695818552c772bc4b')
- version('3.19.2', sha256='89446a3d194d90f0758f0c7248a5095a5a05a16f2a0f7d53db4d3103ca516e62')
- version('3.19.1', sha256='839029ed5ad9590b40c74773b9aef4733bfd9f8300cf998011584cad6ebdbf0f')
- version('3.19.0', sha256='a8378ab57e91cfe1ba09b3639d8409bb7fc1a40b59479c7822d206e673ad93f9')
- version('3.18.2', sha256='3930a561380dc3e4aa97f013933e68f858349abf9b4dbb0a035a4f2107b37ba4')
- version('3.18.1', sha256='e21948dbf79011cc796d772885a8aafb255a6f365d112fe6a3bd26198c6cac7f')
- version('3.18.0', sha256='39d45f12def2669605bffc82926acfb13a0d0610e6d82740fa316aafa70f97f9')
- version('3.15.0', sha256='5e22d961b1311ef4ba2d83527f7cc7448abac8cf9bddd1593bee548459263fe8')
- version('3.13.0', sha256='c4046c50debac28415b36616d79aa28e68ae2cd03c013c2aed6a1e3d465c0ee1')
+ version("3.21.1", sha256="78b01d88529d5f604e76bc64be102d48f058ca50faad72ac740d717545711c7b")
+ version("3.21.0", sha256="2c561e9b767cf16fc8ce198ea9326d77c6b67d33a85f44b68455e23466a64608")
+ version("3.20.1", sha256="72c81f21b6adb907595fce8d883c0231301cbd8e9f6e5ce8e98bab927054daca")
+ version("3.19.3", sha256="27c378b983dfacd49398236e7232c28590c218c31bb2205695818552c772bc4b")
+ version("3.19.2", sha256="89446a3d194d90f0758f0c7248a5095a5a05a16f2a0f7d53db4d3103ca516e62")
+ version("3.19.1", sha256="839029ed5ad9590b40c74773b9aef4733bfd9f8300cf998011584cad6ebdbf0f")
+ version("3.19.0", sha256="a8378ab57e91cfe1ba09b3639d8409bb7fc1a40b59479c7822d206e673ad93f9")
+ version("3.18.2", sha256="3930a561380dc3e4aa97f013933e68f858349abf9b4dbb0a035a4f2107b37ba4")
+ version("3.18.1", sha256="e21948dbf79011cc796d772885a8aafb255a6f365d112fe6a3bd26198c6cac7f")
+ version("3.18.0", sha256="39d45f12def2669605bffc82926acfb13a0d0610e6d82740fa316aafa70f97f9")
+ version("3.15.0", sha256="5e22d961b1311ef4ba2d83527f7cc7448abac8cf9bddd1593bee548459263fe8")
+ version("3.13.0", sha256="c4046c50debac28415b36616d79aa28e68ae2cd03c013c2aed6a1e3d465c0ee1")
- depends_on('python@2.6:', type=('build', 'run'), when='@:3.15.0')
- depends_on('python@3.5:', type=('build', 'run'), when='@3.18.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@3.20.0:')
- depends_on('py-numpy@1.11.3:', type=('build', 'run'))
- depends_on('py-matplotlib@2.0.0:', type=('build', 'run'))
- depends_on('py-scipy@0.18.1:', type=('build', 'run'))
- depends_on('py-flask', type=('build', 'run'), when='@:3.18.0')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:", type=("build", "run"), when="@:3.15.0")
+ depends_on("python@3.5:", type=("build", "run"), when="@3.18.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@3.20.0:")
+ depends_on("py-numpy@1.11.3:", type=("build", "run"))
+ depends_on("py-matplotlib@2.0.0:", type=("build", "run"))
+ depends_on("py-scipy@0.18.1:", type=("build", "run"))
+ depends_on("py-flask", type=("build", "run"), when="@:3.18.0")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-asgiref/package.py b/var/spack/repos/builtin/packages/py-asgiref/package.py
index aa7c6d272b..7b62df23ca 100644
--- a/var/spack/repos/builtin/packages/py-asgiref/package.py
+++ b/var/spack/repos/builtin/packages/py-asgiref/package.py
@@ -10,21 +10,21 @@ class PyAsgiref(PythonPackage):
"""ASGI specification and utilities."""
homepage = "https://asgi.readthedocs.io/en/latest/"
- url = "https://github.com/django/asgiref/archive/3.2.7.tar.gz"
+ url = "https://github.com/django/asgiref/archive/3.2.7.tar.gz"
- version('3.5.0', sha256='2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0')
- version('3.2.7', sha256='8a0b556b9e936418475f6670d59e14592c41d15d00b5ea4ad26f2b46f9f4fb9a')
- version('3.2.6', sha256='29788163bdad8d494475a0137eba39b111fd86fbe825534a9376f9f2ab44251a')
- version('3.2.5', sha256='eeb01ba02e86859746ee2a7bc8a75c484a006dc9575723563f24642a12b2bba8')
- version('3.2.4', sha256='89e47532340338b7eafd717ab28658e8b48f4565d8384628c88d2d41565c8da0')
- version('3.2.3', sha256='d38e16141c7189e23bfe03342d9cd3dbfd6baab99217892bfa7bc5646315b6bd')
- version('3.2.2', sha256='47edf327aa70f317c9bc810d469ce681f1b35a7f499f68cf2b5da3ba6a651e69')
- version('3.2.1', sha256='06a21df1f4456d29079f3c475c09ac31167bcc5f024c637dedf4e00d2dd9020b')
- version('3.2.0', sha256='5db8c7a6c1ff54ea04a52f994d8af959427f1cab8e427aa802492a89fb0b635a')
- version('3.1.4', sha256='bf01c52111ef7af2adc1e6d90282d2a32c5ebe09e84ae448389ceff7cef53fa9')
- version('3.1.3', sha256='5b8bb7b3719b8c12a6c2363784a4d8c0eb5e980d8b4fdb6f38eccb52071dfab5')
+ version("3.5.0", sha256="2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0")
+ version("3.2.7", sha256="8a0b556b9e936418475f6670d59e14592c41d15d00b5ea4ad26f2b46f9f4fb9a")
+ version("3.2.6", sha256="29788163bdad8d494475a0137eba39b111fd86fbe825534a9376f9f2ab44251a")
+ version("3.2.5", sha256="eeb01ba02e86859746ee2a7bc8a75c484a006dc9575723563f24642a12b2bba8")
+ version("3.2.4", sha256="89e47532340338b7eafd717ab28658e8b48f4565d8384628c88d2d41565c8da0")
+ version("3.2.3", sha256="d38e16141c7189e23bfe03342d9cd3dbfd6baab99217892bfa7bc5646315b6bd")
+ version("3.2.2", sha256="47edf327aa70f317c9bc810d469ce681f1b35a7f499f68cf2b5da3ba6a651e69")
+ version("3.2.1", sha256="06a21df1f4456d29079f3c475c09ac31167bcc5f024c637dedf4e00d2dd9020b")
+ version("3.2.0", sha256="5db8c7a6c1ff54ea04a52f994d8af959427f1cab8e427aa802492a89fb0b635a")
+ version("3.1.4", sha256="bf01c52111ef7af2adc1e6d90282d2a32c5ebe09e84ae448389ceff7cef53fa9")
+ version("3.1.3", sha256="5b8bb7b3719b8c12a6c2363784a4d8c0eb5e980d8b4fdb6f38eccb52071dfab5")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('python@3.7:', type=('build', 'run'), when='@3.5.0:')
- depends_on('py-typing-extensions', type=('build', 'run'), when='@3.5: ^python@:3.7')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("python@3.7:", type=("build", "run"), when="@3.5.0:")
+ depends_on("py-typing-extensions", type=("build", "run"), when="@3.5: ^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-asn1crypto/package.py b/var/spack/repos/builtin/packages/py-asn1crypto/package.py
index c6a9776130..5d5576cab4 100644
--- a/var/spack/repos/builtin/packages/py-asn1crypto/package.py
+++ b/var/spack/repos/builtin/packages/py-asn1crypto/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyAsn1crypto(PythonPackage):
- """Python ASN.1 library with a focus on performance and a pythonic API """
+ """Python ASN.1 library with a focus on performance and a pythonic API"""
homepage = "https://github.com/wbond/asn1crypto"
pypi = "asn1crypto/asn1crypto-0.22.0.tar.gz"
- version('1.4.0', sha256='f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c')
- version('0.24.0', sha256='9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49')
- version('0.22.0', sha256='cbbadd640d3165ab24b06ef25d1dca09a3441611ac15f6a6b452474fdf0aed1a')
+ version("1.4.0", sha256="f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c")
+ version("0.24.0", sha256="9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49")
+ version("0.22.0", sha256="cbbadd640d3165ab24b06ef25d1dca09a3441611ac15f6a6b452474fdf0aed1a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-aspy-yaml/package.py b/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
index 467d2fe4a6..4cf746e550 100644
--- a/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
+++ b/var/spack/repos/builtin/packages/py-aspy-yaml/package.py
@@ -12,8 +12,8 @@ class PyAspyYaml(PythonPackage):
homepage = "https://github.com/asottile/aspy.yaml/"
pypi = "aspy.yaml/aspy.yaml-1.3.0.tar.gz"
- version('1.3.0', sha256='e7c742382eff2caed61f87a39d13f99109088e5e93f04d76eb8d4b28aa143f45')
+ version("1.3.0", sha256="e7c742382eff2caed61f87a39d13f99109088e5e93f04d76eb8d4b28aa143f45")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-asserts/package.py b/var/spack/repos/builtin/packages/py-asserts/package.py
index 9cda421573..abf4c050eb 100644
--- a/var/spack/repos/builtin/packages/py-asserts/package.py
+++ b/var/spack/repos/builtin/packages/py-asserts/package.py
@@ -10,12 +10,12 @@ class PyAsserts(PythonPackage):
"""Stand-alone Assertions."""
homepage = "https://github.com/srittau/python-asserts"
- url = "https://github.com/srittau/python-asserts/archive/v0.10.0.tar.gz"
+ url = "https://github.com/srittau/python-asserts/archive/v0.10.0.tar.gz"
- version('0.10.0', sha256='3466cf32c36d97ee2802121438003693546f590be81095317d0d698066bb5df7')
- version('0.9.1', sha256='a73ea6b2ddc77364a5f0e13197f00662485944a6dd31c1f7555ff2f99c0f7319')
- version('0.9.0', sha256='e3b8b06309234f9a7c6e4679e0f3cc127cf18da95c30fbb524ff47d439e22b17')
- version('0.8.6', sha256='8a477746dbc501ac0d1fe9e593a1faafa7d361ceca79d994d3b2ebeecc7fbf32')
+ version("0.10.0", sha256="3466cf32c36d97ee2802121438003693546f590be81095317d0d698066bb5df7")
+ version("0.9.1", sha256="a73ea6b2ddc77364a5f0e13197f00662485944a6dd31c1f7555ff2f99c0f7319")
+ version("0.9.0", sha256="e3b8b06309234f9a7c6e4679e0f3cc127cf18da95c30fbb524ff47d439e22b17")
+ version("0.8.6", sha256="8a477746dbc501ac0d1fe9e593a1faafa7d361ceca79d994d3b2ebeecc7fbf32")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-asteval/package.py b/var/spack/repos/builtin/packages/py-asteval/package.py
index f1761a1e36..b680f467c3 100644
--- a/var/spack/repos/builtin/packages/py-asteval/package.py
+++ b/var/spack/repos/builtin/packages/py-asteval/package.py
@@ -12,10 +12,10 @@ class PyAsteval(PythonPackage):
homepage = "https://github.com/newville/asteval"
pypi = "asteval/asteval-0.9.18.tar.gz"
- version('0.9.25', sha256='bea22b7d8fa16bcba95ebc72052ae5d8ca97114c9959bb47f8b8eebf30e4342f')
- version('0.9.18', sha256='5d64e18b8a72c2c7ae8f9b70d1f80b68bbcaa98c1c0d7047c35489d03209bc86')
+ 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:')
+ 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:")
diff --git a/var/spack/repos/builtin/packages/py-astor/package.py b/var/spack/repos/builtin/packages/py-astor/package.py
index fc9d57aecb..9fcfc93577 100644
--- a/var/spack/repos/builtin/packages/py-astor/package.py
+++ b/var/spack/repos/builtin/packages/py-astor/package.py
@@ -12,16 +12,18 @@ class PyAstor(PythonPackage):
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')
+ version("0.8.1", sha256="6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e")
+ version("0.8.0", sha256="37a6eed8b371f1228db08234ed7f6cfdc7817a3ed3824797e20cbb11dc2a7862")
+ version("0.6", sha256="175ec395cde36aa0178c5a3120d03954c65d1ef4bb19ec4aa30e9d7a7cc426c4")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# Build fails with newer versions of setuptools
# https://github.com/berkerpeksag/astor/issues/162
# https://github.com/berkerpeksag/astor/pull/163
- patch('https://github.com/berkerpeksag/astor/pull/163/commits/30059dac4eb832e58ab2109db84508b294ba366d.patch?full_index=1',
- sha256='edc5eeddabe153b08e938f52edaeb2d880ee3128082967f310db0f98510fe6e0',
- when='@0.8.0')
+ patch(
+ "https://github.com/berkerpeksag/astor/pull/163/commits/30059dac4eb832e58ab2109db84508b294ba366d.patch?full_index=1",
+ sha256="edc5eeddabe153b08e938f52edaeb2d880ee3128082967f310db0f98510fe6e0",
+ when="@0.8.0",
+ )
diff --git a/var/spack/repos/builtin/packages/py-astpretty/package.py b/var/spack/repos/builtin/packages/py-astpretty/package.py
index cc0a264a92..05513ead0a 100644
--- a/var/spack/repos/builtin/packages/py-astpretty/package.py
+++ b/var/spack/repos/builtin/packages/py-astpretty/package.py
@@ -12,10 +12,10 @@ class PyAstpretty(PythonPackage):
homepage = "https://github.com/asottile/astpretty"
pypi = "astpretty/astpretty-2.0.0.tar.gz"
- version('2.0.0', sha256='e4724bfd753636ba4a84384702e9796e5356969f40af2596d846ce64addde086')
+ version("2.0.0", sha256="e4724bfd753636ba4a84384702e9796e5356969f40af2596d846ce64addde086")
- variant('typed', default=False, description='Add support for typed comments')
+ variant("typed", default=False, description="Add support for typed comments")
- depends_on('python@3.6.1:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-typed-ast', type=('build', 'run'), when='+typed')
+ depends_on("python@3.6.1:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-typed-ast", type=("build", "run"), when="+typed")
diff --git a/var/spack/repos/builtin/packages/py-astroid/package.py b/var/spack/repos/builtin/packages/py-astroid/package.py
index 22af97740e..0d28062c25 100644
--- a/var/spack/repos/builtin/packages/py-astroid/package.py
+++ b/var/spack/repos/builtin/packages/py-astroid/package.py
@@ -11,53 +11,53 @@ class PyAstroid(PythonPackage):
and other projects."""
homepage = "https://github.com/PyCQA/astroid"
- pypi = "astroid/astroid-2.8.3.tar.gz"
+ pypi = "astroid/astroid-2.8.3.tar.gz"
- version('2.11.6', sha256='4f933d0bf5e408b03a6feb5d23793740c27e07340605f236496cd6ce552043d6')
- version('2.11.5', sha256='f4e4ec5294c4b07ac38bab9ca5ddd3914d4bf46f9006eb5c0ae755755061044e')
- version('2.11.4', sha256='561dc6015eecce7e696ff7e3b40434bc56831afeff783f0ea853e19c4f635c06')
- version('2.8.3', sha256='0e361da0744d5011d4f5d57e64473ba9b7ab4da1e2d45d6631ebd67dd28c3cce')
- version('2.7.3', sha256='3b680ce0419b8a771aba6190139a3998d14b413852506d99aff8dc2bf65ee67c')
- version('2.5.6', sha256='8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975')
- version('2.4.2', sha256='2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703')
- version('2.3.3', sha256='71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a')
- version('2.2.5', sha256='6560e1e1749f68c64a4b5dee4e091fce798d2f0d84ebe638cf0e0585a343acf4')
- version('2.2.0', sha256='1d5d0e6e408701ae657342645465d08be6fb66cf0ede16a31cc6435bd2e61718')
- version('2.0.4', sha256='c7013d119ec95eb626f7a2011f0b63d0c9a095df9ad06d8507b37084eada1a8d')
- version('1.6.6', sha256='d25869fc7f44f1d9fb7d24fd7ea0639656f5355fc3089cd1f3d18c6ec6b124c7')
- version('1.4.5', sha256='729b986aa59fb77af533707c385021b04e60d136b5f21cc766618556d0816cf6')
- version('1.4.4', sha256='7f7e5512efe515098e77cbd3a60e87c8db8954097b0e025d8d6f72f2e8ddc298')
- version('1.4.3', sha256='8e9ce4e925a17442cec085a7fce05478b99e482c13819c619b7cdd793777bf6b')
- version('1.4.2', sha256='b734fa504179a93aa03314df48b45fb1d9d0d8770a1126e7a126c9ac4aebd5c3')
- version('1.4.1', sha256='2417a2c62f07bb77485efb6dd94567ac165808a4248ecb09754116662ffa9fc2')
+ version("2.11.6", sha256="4f933d0bf5e408b03a6feb5d23793740c27e07340605f236496cd6ce552043d6")
+ version("2.11.5", sha256="f4e4ec5294c4b07ac38bab9ca5ddd3914d4bf46f9006eb5c0ae755755061044e")
+ version("2.11.4", sha256="561dc6015eecce7e696ff7e3b40434bc56831afeff783f0ea853e19c4f635c06")
+ version("2.8.3", sha256="0e361da0744d5011d4f5d57e64473ba9b7ab4da1e2d45d6631ebd67dd28c3cce")
+ version("2.7.3", sha256="3b680ce0419b8a771aba6190139a3998d14b413852506d99aff8dc2bf65ee67c")
+ version("2.5.6", sha256="8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975")
+ version("2.4.2", sha256="2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703")
+ version("2.3.3", sha256="71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a")
+ version("2.2.5", sha256="6560e1e1749f68c64a4b5dee4e091fce798d2f0d84ebe638cf0e0585a343acf4")
+ version("2.2.0", sha256="1d5d0e6e408701ae657342645465d08be6fb66cf0ede16a31cc6435bd2e61718")
+ version("2.0.4", sha256="c7013d119ec95eb626f7a2011f0b63d0c9a095df9ad06d8507b37084eada1a8d")
+ version("1.6.6", sha256="d25869fc7f44f1d9fb7d24fd7ea0639656f5355fc3089cd1f3d18c6ec6b124c7")
+ version("1.4.5", sha256="729b986aa59fb77af533707c385021b04e60d136b5f21cc766618556d0816cf6")
+ version("1.4.4", sha256="7f7e5512efe515098e77cbd3a60e87c8db8954097b0e025d8d6f72f2e8ddc298")
+ version("1.4.3", sha256="8e9ce4e925a17442cec085a7fce05478b99e482c13819c619b7cdd793777bf6b")
+ version("1.4.2", sha256="b734fa504179a93aa03314df48b45fb1d9d0d8770a1126e7a126c9ac4aebd5c3")
+ version("1.4.1", sha256="2417a2c62f07bb77485efb6dd94567ac165808a4248ecb09754116662ffa9fc2")
# fixes symlink resolution, already included in 2: but not in 1.6.6
- patch('PR546.patch', when='@1.6.6')
+ patch("PR546.patch", when="@1.6.6")
# Dependencies taken from astroid/__pkginfo__.py
- depends_on('python@2.7:2.8,3.4:', when='@:1', type=('build', 'run'))
- depends_on('python@3.4:', when='@2.0.0:', type=('build', 'run'))
- depends_on('python@3.5:', when='@2.3.3:', type=('build', 'run'))
- depends_on('python@3.6:', when='@2.5.6:', type=('build', 'run'))
- depends_on('python@3.6.2:', when='@2.11.4:', type=('build', 'run'))
- depends_on('py-lazy-object-proxy', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", when="@:1", type=("build", "run"))
+ depends_on("python@3.4:", when="@2.0.0:", type=("build", "run"))
+ depends_on("python@3.5:", when="@2.3.3:", type=("build", "run"))
+ depends_on("python@3.6:", when="@2.5.6:", type=("build", "run"))
+ depends_on("python@3.6.2:", when="@2.11.4:", type=("build", "run"))
+ depends_on("py-lazy-object-proxy", type=("build", "run"))
# Starting with astroid 2.3.1, astroid's dependencies were restricted
# to a given minor version, c.f. commit e1b4e11.
- depends_on('py-lazy-object-proxy@1.4.0:1.4', when='@2.3.1:2.7.2', type=('build', 'run'))
- depends_on('py-lazy-object-proxy@1.4.0:', when='@2.7.3:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:2.7.2')
- depends_on('py-six@1.12:1', when='@2.3.3:2.7.2', type=('build', 'run'))
- depends_on('py-wrapt', when='@:2.2', type=('build', 'run'))
- depends_on('py-wrapt@1.11:1.12', when='@2.3.3:2.8.2', type=('build', 'run'))
- depends_on('py-wrapt@1.11:1.13', when='@2.8.3:2.10', type=('build', 'run'))
- depends_on('py-wrapt@1.11:1', when='@2.11:', type=('build', 'run'))
- depends_on('py-enum34@1.1.3:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-singledispatch', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-backports-functools-lru-cache', when='^python@:3.2', type=('build', 'run'))
- depends_on('py-typed-ast@1.3.0:', when='@2.2.5:2.3.0 ^python@3.7.0:3.7')
- depends_on('py-typed-ast@1.4.0:1.4', when='@2.3.1:2.8.4 ^python@:3.7', type=('build', 'run'))
- depends_on('py-typed-ast@1.4.0:1', when='@2.8.5: ^python@:3.7', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', when='@2.7.3: ^python@:3.7', type=('build', 'run'))
- depends_on('py-typing-extensions@3.10:', when='@2.8.3: ^python@:3.9', type=('build', 'run'))
- depends_on('py-setuptools@17.1:', type=('build', 'run'))
- depends_on('py-setuptools@20:', type=('build', 'run'), when='@2.7.3:')
+ depends_on("py-lazy-object-proxy@1.4.0:1.4", when="@2.3.1:2.7.2", type=("build", "run"))
+ depends_on("py-lazy-object-proxy@1.4.0:", when="@2.7.3:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:2.7.2")
+ depends_on("py-six@1.12:1", when="@2.3.3:2.7.2", type=("build", "run"))
+ depends_on("py-wrapt", when="@:2.2", type=("build", "run"))
+ depends_on("py-wrapt@1.11:1.12", when="@2.3.3:2.8.2", type=("build", "run"))
+ depends_on("py-wrapt@1.11:1.13", when="@2.8.3:2.10", type=("build", "run"))
+ depends_on("py-wrapt@1.11:1", when="@2.11:", type=("build", "run"))
+ depends_on("py-enum34@1.1.3:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-singledispatch", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-backports-functools-lru-cache", when="^python@:3.2", type=("build", "run"))
+ depends_on("py-typed-ast@1.3.0:", when="@2.2.5:2.3.0 ^python@3.7.0:3.7")
+ depends_on("py-typed-ast@1.4.0:1.4", when="@2.3.1:2.8.4 ^python@:3.7", type=("build", "run"))
+ depends_on("py-typed-ast@1.4.0:1", when="@2.8.5: ^python@:3.7", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", when="@2.7.3: ^python@:3.7", type=("build", "run"))
+ depends_on("py-typing-extensions@3.10:", when="@2.8.3: ^python@:3.9", type=("build", "run"))
+ depends_on("py-setuptools@17.1:", type=("build", "run"))
+ depends_on("py-setuptools@20:", type=("build", "run"), when="@2.7.3:")
diff --git a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
index 369404e3b4..7d3f571b3d 100644
--- a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
@@ -14,12 +14,12 @@ class PyAstropyHealpix(PythonPackage):
algorithm can apply to any field that has to deal with
representing data on a sphere."""
- homepage = 'https://astropy-healpix.readthedocs.io/en/latest/'
- pypi = 'astropy-healpix/astropy-healpix-0.5.tar.gz'
+ homepage = "https://astropy-healpix.readthedocs.io/en/latest/"
+ pypi = "astropy-healpix/astropy-healpix-0.5.tar.gz"
- version('0.5', sha256='5ae15da796a840f221fb83e25de791e827b6921bc21a365d99bc1a59c7c0cdad')
+ version("0.5", sha256="5ae15da796a840f221fb83e25de791e827b6921bc21a365d99bc1a59c7c0cdad")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-astropy@2.0:', type=('build', 'run'))
- depends_on('py-numpy@1.11:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-astropy@2.0:", type=("build", "run"))
+ depends_on("py-numpy@1.11:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-astropy-helpers/package.py b/var/spack/repos/builtin/packages/py-astropy-helpers/package.py
index a20c460d11..c003b82364 100644
--- a/var/spack/repos/builtin/packages/py-astropy-helpers/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy-helpers/package.py
@@ -13,9 +13,9 @@ class PyAstropyHelpers(PythonPackage):
projects that wish to leverage this work."""
homepage = "https://github.com/astropy/astropy-helpers"
- url = "https://github.com/astropy/astropy-helpers/archive/v4.0.1.tar.gz"
+ url = "https://github.com/astropy/astropy-helpers/archive/v4.0.1.tar.gz"
- version('4.0.1', sha256='88602971c3b63d6aaa6074d013f995d1e234acb3d517d70d7fcebd30cdaf5c89')
+ version("4.0.1", sha256="88602971c3b63d6aaa6074d013f995d1e234acb3d517d70d7fcebd30cdaf5c89")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@30.3:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-astropy/package.py b/var/spack/repos/builtin/packages/py-astropy/package.py
index 621b655e69..28ff19a235 100644
--- a/var/spack/repos/builtin/packages/py-astropy/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy/package.py
@@ -13,78 +13,80 @@ class PyAstropy(PythonPackage):
package for Astronomy in Python and foster interoperability between
Python astronomy packages."""
- homepage = 'https://astropy.org/'
- pypi = 'astropy/astropy-4.0.1.post1.tar.gz'
+ homepage = "https://astropy.org/"
+ pypi = "astropy/astropy-4.0.1.post1.tar.gz"
- version('4.0.1.post1', sha256='5c304a6c1845ca426e7bc319412b0363fccb4928cb4ba59298acd1918eec44b5')
- version('3.2.1', sha256='706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28')
- version('2.0.14', sha256='618807068609a4d8aeb403a07624e9984f566adc0dc0f5d6b477c3658f31aeb6')
- version('1.1.2', sha256='6f0d84cd7dfb304bb437dda666406a1d42208c16204043bc920308ff8ffdfad1')
- version('1.1.post1', sha256='64427ec132620aeb038e4d8df94d6c30df4cc8b1c42a6d8c5b09907a31566a21')
+ version(
+ "4.0.1.post1", sha256="5c304a6c1845ca426e7bc319412b0363fccb4928cb4ba59298acd1918eec44b5"
+ )
+ version("3.2.1", sha256="706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28")
+ version("2.0.14", sha256="618807068609a4d8aeb403a07624e9984f566adc0dc0f5d6b477c3658f31aeb6")
+ version("1.1.2", sha256="6f0d84cd7dfb304bb437dda666406a1d42208c16204043bc920308ff8ffdfad1")
+ version("1.1.post1", sha256="64427ec132620aeb038e4d8df94d6c30df4cc8b1c42a6d8c5b09907a31566a21")
- variant('extras', default=False, description='Enable extra functionality')
+ variant("extras", default=False, description="Enable extra functionality")
# Required dependencies
- depends_on('python@3.6:', when='@4.0:', type=('build', 'run'))
- depends_on('python@3.5:', when='@3.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@2.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', when='@1.2:', type=('build', 'run'))
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29.13:', type='build')
- depends_on('py-numpy@1.16:', when='@4.0:', type=('build', 'run'))
- depends_on('py-numpy@1.13:', when='@3.1:', type=('build', 'run'))
- depends_on('py-numpy@1.10:', when='@3.0:', type=('build', 'run'))
- depends_on('py-numpy@1.9:', when='@2.0:', type=('build', 'run'))
- depends_on('py-numpy@1.7:', when='@1.2:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('pkgconfig', type='build')
+ depends_on("python@3.6:", when="@4.0:", type=("build", "run"))
+ depends_on("python@3.5:", when="@3.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@2.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", when="@1.2:", type=("build", "run"))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29.13:", type="build")
+ depends_on("py-numpy@1.16:", when="@4.0:", type=("build", "run"))
+ depends_on("py-numpy@1.13:", when="@3.1:", type=("build", "run"))
+ depends_on("py-numpy@1.10:", when="@3.0:", type=("build", "run"))
+ depends_on("py-numpy@1.9:", when="@2.0:", type=("build", "run"))
+ depends_on("py-numpy@1.7:", when="@1.2:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("pkgconfig", type="build")
# Optional dependencies
- depends_on('py-scipy@0.18:', when='+extras', type=('build', 'run'))
- depends_on('py-h5py', when='+extras', type=('build', 'run'))
- depends_on('py-beautifulsoup4', when='+extras', type=('build', 'run'))
- depends_on('py-html5lib', when='+extras', type=('build', 'run'))
- depends_on('py-bleach', when='+extras', type=('build', 'run'))
- depends_on('py-pyyaml', when='+extras', type=('build', 'run'))
- depends_on('py-pandas', when='+extras', type=('build', 'run'))
- depends_on('py-bintrees', when='+extras', type=('build', 'run'))
- depends_on('py-sortedcontainers', when='+extras', type=('build', 'run'))
- depends_on('py-pytz', when='+extras', type=('build', 'run'))
- depends_on('py-jplephem', when='+extras', type=('build', 'run'))
- depends_on('py-matplotlib@2.0:', when='+extras', type=('build', 'run'))
- depends_on('py-scikit-image', when='+extras', type=('build', 'run'))
- depends_on('py-mpmath', when='+extras', type=('build', 'run'))
- depends_on('py-asdf@2.3:', when='+extras', type=('build', 'run'))
- depends_on('py-bottleneck', when='+extras', type=('build', 'run'))
- depends_on('py-pytest', when='+extras', type=('build', 'run'))
+ depends_on("py-scipy@0.18:", when="+extras", type=("build", "run"))
+ depends_on("py-h5py", when="+extras", type=("build", "run"))
+ depends_on("py-beautifulsoup4", when="+extras", type=("build", "run"))
+ depends_on("py-html5lib", when="+extras", type=("build", "run"))
+ depends_on("py-bleach", when="+extras", type=("build", "run"))
+ depends_on("py-pyyaml", when="+extras", type=("build", "run"))
+ depends_on("py-pandas", when="+extras", type=("build", "run"))
+ depends_on("py-bintrees", when="+extras", type=("build", "run"))
+ depends_on("py-sortedcontainers", when="+extras", type=("build", "run"))
+ depends_on("py-pytz", when="+extras", type=("build", "run"))
+ depends_on("py-jplephem", when="+extras", type=("build", "run"))
+ depends_on("py-matplotlib@2.0:", when="+extras", type=("build", "run"))
+ depends_on("py-scikit-image", when="+extras", type=("build", "run"))
+ depends_on("py-mpmath", when="+extras", type=("build", "run"))
+ depends_on("py-asdf@2.3:", when="+extras", type=("build", "run"))
+ depends_on("py-bottleneck", when="+extras", type=("build", "run"))
+ depends_on("py-pytest", when="+extras", type=("build", "run"))
# System dependencies
- depends_on('erfa')
- depends_on('wcslib')
- depends_on('cfitsio@:3')
- depends_on('expat')
+ depends_on("erfa")
+ depends_on("wcslib")
+ depends_on("cfitsio@:3")
+ depends_on("expat")
def patch(self):
# forces the rebuild of files with cython
# avoids issues with PyCode_New() in newer
# versions of python in the distributed
# cython-ized files
- os.remove('astropy/cython_version.py')
+ os.remove("astropy/cython_version.py")
def install_options(self, spec, prefix):
args = [
- '--use-system-libraries',
- '--use-system-erfa',
- '--use-system-wcslib',
- '--use-system-cfitsio',
- '--use-system-expat'
+ "--use-system-libraries",
+ "--use-system-erfa",
+ "--use-system-wcslib",
+ "--use-system-cfitsio",
+ "--use-system-expat",
]
return args
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('spack-test', create=True):
- python('-c', 'import astropy; astropy.test()')
+ with working_dir("spack-test", create=True):
+ python("-c", "import astropy; astropy.test()")
diff --git a/var/spack/repos/builtin/packages/py-asttokens/package.py b/var/spack/repos/builtin/packages/py-asttokens/package.py
index fa8e60a7a4..53db3585af 100644
--- a/var/spack/repos/builtin/packages/py-asttokens/package.py
+++ b/var/spack/repos/builtin/packages/py-asttokens/package.py
@@ -10,11 +10,11 @@ class PyAsttokens(PythonPackage):
"""Annotate AST trees with source code positions."""
homepage = "https://github.com/gristlabs/asttokens"
- pypi = "asttokens/asttokens-2.0.5.tar.gz"
+ pypi = "asttokens/asttokens-2.0.5.tar.gz"
- version('2.0.5', sha256='9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5')
+ version("2.0.5", sha256="9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5")
- depends_on('py-setuptools@44:', type='build')
- depends_on('py-setuptools-scm+toml@3.4.3:', type='build')
+ depends_on("py-setuptools@44:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4.3:", type="build")
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-astunparse/package.py b/var/spack/repos/builtin/packages/py-astunparse/package.py
index 9266cb793d..ee2ef9699e 100644
--- a/var/spack/repos/builtin/packages/py-astunparse/package.py
+++ b/var/spack/repos/builtin/packages/py-astunparse/package.py
@@ -14,9 +14,9 @@ class PyAstunparse(PythonPackage):
pypi = "astunparse/astunparse-1.6.2.tar.gz"
- version('1.6.3', sha256='5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872')
- version('1.6.2', sha256='dab3e426715373fd76cd08bb1abe64b550f5aa494cf1e32384f26fd60961eb67')
+ version("1.6.3", sha256="5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872")
+ version("1.6.2", sha256="dab3e426715373fd76cd08bb1abe64b550f5aa494cf1e32384f26fd60961eb67")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel@0.23.0:0', type=('build', 'run'))
- depends_on('py-six@1.6.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel@0.23.0:0", type=("build", "run"))
+ depends_on("py-six@1.6.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-async-generator/package.py b/var/spack/repos/builtin/packages/py-async-generator/package.py
index d24d68733b..c6c49d4955 100644
--- a/var/spack/repos/builtin/packages/py-async-generator/package.py
+++ b/var/spack/repos/builtin/packages/py-async-generator/package.py
@@ -11,7 +11,7 @@ class PyAsyncGenerator(PythonPackage):
pypi = "async_generator/async_generator-1.10.tar.gz"
- version('1.10', sha256='6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144')
+ version("1.10", sha256="6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.5:')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.5:")
diff --git a/var/spack/repos/builtin/packages/py-async-lru/package.py b/var/spack/repos/builtin/packages/py-async-lru/package.py
index 22e47ac4c4..54ad4c173b 100644
--- a/var/spack/repos/builtin/packages/py-async-lru/package.py
+++ b/var/spack/repos/builtin/packages/py-async-lru/package.py
@@ -10,11 +10,11 @@ class PyAsyncLru(PythonPackage):
"""Simple lru_cache for asyncio"""
homepage = "https://github.com/wikibusiness/async_lru"
- pypi = "async_lru/async_lru-1.0.2.tar.gz"
+ pypi = "async_lru/async_lru-1.0.2.tar.gz"
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
- version('1.0.2', sha256='baa898027619f5cc31b7966f96f00e4fc0df43ba206a8940a5d1af5336a477cb')
+ version("1.0.2", sha256="baa898027619f5cc31b7966f96f00e4fc0df43ba206a8940a5d1af5336a477cb")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-async-timeout/package.py b/var/spack/repos/builtin/packages/py-async-timeout/package.py
index e80fc26603..0cea87fa8e 100644
--- a/var/spack/repos/builtin/packages/py-async-timeout/package.py
+++ b/var/spack/repos/builtin/packages/py-async-timeout/package.py
@@ -13,13 +13,13 @@ class PyAsyncTimeout(PythonPackage):
homepage = "https://github.com/aio-libs/async-timeout"
pypi = "async-timeout/async-timeout-3.0.1.tar.gz"
- version('4.0.2', sha256='2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15')
- version('4.0.1', sha256='b930cb161a39042f9222f6efb7301399c87eeab394727ec5437924a36d6eef51')
- version('4.0.0', sha256='7d87a4e8adba8ededb52e579ce6bc8276985888913620c935094c2276fd83382')
- version('3.0.1', sha256='0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f')
+ version("4.0.2", sha256="2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15")
+ version("4.0.1", sha256="b930cb161a39042f9222f6efb7301399c87eeab394727ec5437924a36d6eef51")
+ version("4.0.0", sha256="7d87a4e8adba8ededb52e579ce6bc8276985888913620c935094c2276fd83382")
+ version("3.0.1", sha256="0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f")
- depends_on('py-setuptools@45:', type='build')
- depends_on('python@3.5.3:', type=('build', 'run'), when='@3.0.1:')
- depends_on('python@3.6:', type=('build', 'run'), when='@4.0.1:')
- depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@4.0.1')
- depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@4.0.2: ^python@:3.7')
+ depends_on("py-setuptools@45:", type="build")
+ depends_on("python@3.5.3:", type=("build", "run"), when="@3.0.1:")
+ depends_on("python@3.6:", type=("build", "run"), when="@4.0.1:")
+ depends_on("py-typing-extensions@3.6.5:", type=("build", "run"), when="@4.0.1")
+ depends_on("py-typing-extensions@3.6.5:", type=("build", "run"), when="@4.0.2: ^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-asyncio/package.py b/var/spack/repos/builtin/packages/py-asyncio/package.py
index 5dd0a1c7db..344e34dea6 100644
--- a/var/spack/repos/builtin/packages/py-asyncio/package.py
+++ b/var/spack/repos/builtin/packages/py-asyncio/package.py
@@ -13,11 +13,11 @@ class PyAsyncio(PythonPackage):
and servers, and other related primitives."""
homepage = "https://docs.python.org/3/library/asyncio.html"
- url = "https://github.com/python/asyncio/archive/3.4.3.tar.gz"
+ url = "https://github.com/python/asyncio/archive/3.4.3.tar.gz"
- version('3.4.3', sha256='b22225680ea04c3528b7fa03e9c6d152470173dd3873996b8cb29fcb37799f1b')
- version('3.4.2', sha256='ba28d351c579875e2a1cb1989e310285d3eb76c5bb749694b6ddd3901f8d39de')
- version('3.4.1', sha256='51cdfbd4964ef8286cbef7d88f9b7abcc8b710ecec0a0794aa354f94ef703126')
+ version("3.4.3", sha256="b22225680ea04c3528b7fa03e9c6d152470173dd3873996b8cb29fcb37799f1b")
+ version("3.4.2", sha256="ba28d351c579875e2a1cb1989e310285d3eb76c5bb749694b6ddd3901f8d39de")
+ version("3.4.1", sha256="51cdfbd4964ef8286cbef7d88f9b7abcc8b710ecec0a0794aa354f94ef703126")
- depends_on('python@3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-asynctest/package.py b/var/spack/repos/builtin/packages/py-asynctest/package.py
index 9fd0d10e10..da63219d7e 100644
--- a/var/spack/repos/builtin/packages/py-asynctest/package.py
+++ b/var/spack/repos/builtin/packages/py-asynctest/package.py
@@ -11,9 +11,9 @@ class PyAsynctest(PythonPackage):
and cuts down boilerplate code when testing libraries for asyncio."""
homepage = "https://asynctest.readthedocs.io"
- pypi = "asynctest/asynctest-0.13.0.tar.gz"
+ pypi = "asynctest/asynctest-0.13.0.tar.gz"
- version('0.13.0', sha256='c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac')
+ version("0.13.0", sha256="c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@30.3:', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-atomicwrites/package.py b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
index 7d766b564c..65321fb2fa 100644
--- a/var/spack/repos/builtin/packages/py-atomicwrites/package.py
+++ b/var/spack/repos/builtin/packages/py-atomicwrites/package.py
@@ -12,9 +12,9 @@ class PyAtomicwrites(PythonPackage):
homepage = "https://github.com/untitaker/python-atomicwrites"
pypi = "atomicwrites/atomicwrites-1.3.0.tar.gz"
- version('1.4.0', sha256='ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a')
- version('1.3.0', sha256='75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6')
- version('1.1.5', sha256='240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585')
+ version("1.4.0", sha256="ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a")
+ version("1.3.0", sha256="75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6")
+ version("1.1.5", sha256="240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-atpublic/package.py b/var/spack/repos/builtin/packages/py-atpublic/package.py
index cb6f98e0ca..84e6f5df96 100644
--- a/var/spack/repos/builtin/packages/py-atpublic/package.py
+++ b/var/spack/repos/builtin/packages/py-atpublic/package.py
@@ -12,11 +12,11 @@ class PyAtpublic(PythonPackage):
the publicness of the names in your module."""
homepage = "https://public.readthedocs.io"
- pypi = "atpublic/atpublic-2.1.2.tar.gz"
+ pypi = "atpublic/atpublic-2.1.2.tar.gz"
- version('2.1.2', sha256='82a2f2c0343ac67913f67cdee8fa4da294a4d6b863111527a459c8e4d1a646c8')
- version('2.1.1', sha256='fa1d48bcb85bbed90f6ffee6936578f65ff0e93aa607397bd88eaeb408bd96d8')
+ version("2.1.2", sha256="82a2f2c0343ac67913f67cdee8fa4da294a4d6b863111527a459c8e4d1a646c8")
+ version("2.1.1", sha256="fa1d48bcb85bbed90f6ffee6936578f65ff0e93aa607397bd88eaeb408bd96d8")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-typing-extensions', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-atropos/package.py b/var/spack/repos/builtin/packages/py-atropos/package.py
index 08706e4b2c..c775a50e6f 100644
--- a/var/spack/repos/builtin/packages/py-atropos/package.py
+++ b/var/spack/repos/builtin/packages/py-atropos/package.py
@@ -12,15 +12,15 @@ class PyAtropos(PythonPackage):
homepage = "https://atropos.readthedocs.io"
pypi = "atropos/atropos-1.1.22.tar.gz"
- git = "https://github.com/jdidion/atropos.git"
+ git = "https://github.com/jdidion/atropos.git"
- version('1.1.22', sha256='05e40cb9337421479c692e1154b962fbf811d7939b72c197a024929b7ae88b78')
+ version("1.1.22", sha256="05e40cb9337421479c692e1154b962fbf811d7939b72c197a024929b7ae88b78")
- depends_on('python@3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-cython@0.25.2:', type='build')
- depends_on('py-tqdm', type=('build', 'run'), when='+tqdm')
- depends_on('py-pysam', type=('build', 'run'), when='+pysam')
+ depends_on("python@3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cython@0.25.2:", type="build")
+ depends_on("py-tqdm", type=("build", "run"), when="+tqdm")
+ depends_on("py-pysam", type=("build", "run"), when="+pysam")
- variant('tqdm', default=False, description='Enable progress bar')
- variant('pysam', default=False, description='Enable bam file parsing')
+ variant("tqdm", default=False, description="Enable progress bar")
+ variant("pysam", default=False, description="Enable bam file parsing")
diff --git a/var/spack/repos/builtin/packages/py-ats/package.py b/var/spack/repos/builtin/packages/py-ats/package.py
index 0cae316d86..dcc5789107 100644
--- a/var/spack/repos/builtin/packages/py-ats/package.py
+++ b/var/spack/repos/builtin/packages/py-ats/package.py
@@ -12,17 +12,17 @@ class PyAts(PythonPackage):
of high performance computers."""
homepage = "https://github.com/LLNL/ATS"
- git = "https://github.com/LLNL/ATS.git"
+ git = "https://github.com/LLNL/ATS.git"
- maintainers = ['white238']
+ maintainers = ["white238"]
- version('main', branch='main')
- version('7.0.105', tag='7.0.105')
- version('7.0.100', tag='7.0.100')
- version('7.0.5', tag='7.0.5')
+ version("main", branch="main")
+ version("7.0.105", tag="7.0.105")
+ version("7.0.100", tag="7.0.100")
+ version("7.0.5", tag="7.0.5")
# TODO: Add flux variant when Flux functionality works in ATS
- depends_on("python@3.8:", type=('build', 'run'))
- depends_on("py-numpy", type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.8:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-attrs/package.py b/var/spack/repos/builtin/packages/py-attrs/package.py
index 75cc361e22..47a402ec73 100644
--- a/var/spack/repos/builtin/packages/py-attrs/package.py
+++ b/var/spack/repos/builtin/packages/py-attrs/package.py
@@ -12,18 +12,18 @@ class PyAttrs(PythonPackage):
homepage = "https://attrs.org/"
pypi = "attrs/attrs-20.3.0.tar.gz"
- version('21.4.0', sha256='626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd')
- version('21.2.0', sha256='ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb')
- version('20.3.0', sha256='832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700')
- version('20.2.0', sha256='26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594')
- version('20.1.0', sha256='0ef97238856430dcf9228e07f316aefc17e8939fc8507e18c6501b761ef1a42a')
- version('19.3.0', sha256='f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72')
- version('19.2.0', sha256='f913492e1663d3c36f502e5e9ba6cd13cf19d7fab50aa13239e420fef95e1396')
- version('19.1.0', sha256='f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399')
- version('18.1.0', sha256='e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b')
- version('16.3.0', sha256='80203177723e36f3bbe15aa8553da6e80d47bfe53647220ccaa9ad7a5e473ccc')
+ version("21.4.0", sha256="626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd")
+ version("21.2.0", sha256="ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb")
+ version("20.3.0", sha256="832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700")
+ version("20.2.0", sha256="26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594")
+ version("20.1.0", sha256="0ef97238856430dcf9228e07f316aefc17e8939fc8507e18c6501b761ef1a42a")
+ version("19.3.0", sha256="f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72")
+ version("19.2.0", sha256="f913492e1663d3c36f502e5e9ba6cd13cf19d7fab50aa13239e420fef95e1396")
+ version("19.1.0", sha256="f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399")
+ version("18.1.0", sha256="e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b")
+ version("16.3.0", sha256="80203177723e36f3bbe15aa8553da6e80d47bfe53647220ccaa9ad7a5e473ccc")
- depends_on('python@2.7:2.8,3.5:', when='@21.2.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@40.6.0:', when='@19.1.0:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", when="@21.2.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@40.6.0:", when="@19.1.0:", type="build")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-audioread/package.py b/var/spack/repos/builtin/packages/py-audioread/package.py
index 9126603250..ee6cc3ffb5 100644
--- a/var/spack/repos/builtin/packages/py-audioread/package.py
+++ b/var/spack/repos/builtin/packages/py-audioread/package.py
@@ -13,9 +13,9 @@ class PyAudioread(PythonPackage):
homepage = "https://github.com/beetbox/audioread"
pypi = "audioread/audioread-2.1.8.tar.gz"
- version('2.1.8', sha256='073904fabc842881e07bd3e4a5776623535562f70b1655b635d22886168dd168')
+ version("2.1.8", sha256="073904fabc842881e07bd3e4a5776623535562f70b1655b635d22886168dd168")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# the following does not seem to be used for building but is listed in
# setup.py
- depends_on('py-pytest-runner', type='build')
+ depends_on("py-pytest-runner", type="build")
diff --git a/var/spack/repos/builtin/packages/py-autograd-gamma/package.py b/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
index ae5cc6103c..8ca894067d 100644
--- a/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
+++ b/var/spack/repos/builtin/packages/py-autograd-gamma/package.py
@@ -14,8 +14,8 @@ class PyAutogradGamma(PythonPackage):
homepage = "https://github.com/CamDavidsonPilon/autograd-gamma"
pypi = "autograd-gamma/autograd-gamma-0.4.3.tar.gz"
- version('0.4.3', sha256='2cb570cbb8da61ede937ccc004d87d3924108f754b351a86cdd2ad31ace6cdf6')
+ version("0.4.3", sha256="2cb570cbb8da61ede937ccc004d87d3924108f754b351a86cdd2ad31ace6cdf6")
- depends_on('py-setuptools', type='build')
- depends_on('py-autograd@1.2.0:', type=('build', 'run'))
- depends_on('py-scipy@1.2.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-autograd@1.2.0:", type=("build", "run"))
+ depends_on("py-scipy@1.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-autograd/package.py b/var/spack/repos/builtin/packages/py-autograd/package.py
index 56ec226943..443e4ce90e 100644
--- a/var/spack/repos/builtin/packages/py-autograd/package.py
+++ b/var/spack/repos/builtin/packages/py-autograd/package.py
@@ -23,8 +23,8 @@ class PyAutograd(PythonPackage):
homepage = "https://github.com/HIPS/autograd"
pypi = "autograd/autograd-1.3.tar.gz"
- version('1.3', sha256='a15d147577e10de037de3740ca93bfa3b5a7cdfbc34cfb9105429c3580a33ec4')
+ version("1.3", sha256="a15d147577e10de037de3740ca93bfa3b5a7cdfbc34cfb9105429c3580a33ec4")
- depends_on('py-setuptools', type='build')
- depends_on('py-future@0.15.2:', type=('build', 'run'))
- depends_on('py-numpy@1.12:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future@0.15.2:", type=("build", "run"))
+ depends_on("py-numpy@1.12:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-automat/package.py b/var/spack/repos/builtin/packages/py-automat/package.py
index fac4b7fe68..4714ff156e 100644
--- a/var/spack/repos/builtin/packages/py-automat/package.py
+++ b/var/spack/repos/builtin/packages/py-automat/package.py
@@ -10,13 +10,13 @@ class PyAutomat(PythonPackage):
"""Self-service finite-state machines for the programmer on the go."""
homepage = "https://github.com/glyph/Automat"
- pypi = "Automat/Automat-20.2.0.tar.gz"
+ pypi = "Automat/Automat-20.2.0.tar.gz"
- version('20.2.0', sha256='7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33')
+ version("20.2.0", sha256="7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-m2r', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-m2r", type="build")
- depends_on('py-attrs@19.2.0:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-attrs@19.2.0:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-autopep8/package.py b/var/spack/repos/builtin/packages/py-autopep8/package.py
index 947d8ec03a..80c0abb277 100644
--- a/var/spack/repos/builtin/packages/py-autopep8/package.py
+++ b/var/spack/repos/builtin/packages/py-autopep8/package.py
@@ -13,22 +13,22 @@ class PyAutopep8(PythonPackage):
homepage = "https://github.com/hhatto/autopep8"
pypi = "autopep8/autopep8-1.2.4.tar.gz"
- version('1.6.0', sha256='44f0932855039d2c15c4510d6df665e4730f2b8582704fa48f9c55bd3e17d979')
- version('1.5.7', sha256='276ced7e9e3cb22e5d7c14748384a5cf5d9002257c0ed50c0e075b68011bb6d0')
- version('1.4.4', sha256='4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee')
- version('1.3.3', sha256='ff787bffb812818c3071784b5ce9a35f8c481a0de7ea0ce4f8b68b8788a12f30')
- version('1.2.4', sha256='38e31e266e29808e8a65a307778ed8e402e1f0d87472009420d6d18146cdeaa2')
- version('1.2.2', sha256='ecc51614755c7f697e83478f87eb6bbd009075a397c15080f0311aaecbbdfca8')
+ version("1.6.0", sha256="44f0932855039d2c15c4510d6df665e4730f2b8582704fa48f9c55bd3e17d979")
+ version("1.5.7", sha256="276ced7e9e3cb22e5d7c14748384a5cf5d9002257c0ed50c0e075b68011bb6d0")
+ version("1.4.4", sha256="4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee")
+ version("1.3.3", sha256="ff787bffb812818c3071784b5ce9a35f8c481a0de7ea0ce4f8b68b8788a12f30")
+ version("1.2.4", sha256="38e31e266e29808e8a65a307778ed8e402e1f0d87472009420d6d18146cdeaa2")
+ version("1.2.2", sha256="ecc51614755c7f697e83478f87eb6bbd009075a397c15080f0311aaecbbdfca8")
- extends('python', ignore='bin/pep8')
- depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
+ extends("python", ignore="bin/pep8")
+ depends_on("python@2.6:2.8,3.2:", type=("build", "run"))
- depends_on('py-pycodestyle@1.5.7:1.7.0', type=('build', 'run'), when='@:1.2.4')
- depends_on('py-pycodestyle@2.3.0:', type=('build', 'run'), when='@1.3:')
- depends_on('py-pycodestyle@2.4.0:', type=('build', 'run'), when='@1.4:')
- depends_on('py-pycodestyle@2.7.0:', type=('build', 'run'), when='@1.5.6:')
- depends_on('py-pycodestyle@2.8.0:', type=('build', 'run'), when='@1.6.0:')
+ depends_on("py-pycodestyle@1.5.7:1.7.0", type=("build", "run"), when="@:1.2.4")
+ depends_on("py-pycodestyle@2.3.0:", type=("build", "run"), when="@1.3:")
+ depends_on("py-pycodestyle@2.4.0:", type=("build", "run"), when="@1.4:")
+ depends_on("py-pycodestyle@2.7.0:", type=("build", "run"), when="@1.5.6:")
+ depends_on("py-pycodestyle@2.8.0:", type=("build", "run"), when="@1.6.0:")
- depends_on('py-toml', type=('build', 'run'), when='@1.5.3:')
+ depends_on("py-toml", type=("build", "run"), when="@1.5.3:")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-auxlib/package.py b/var/spack/repos/builtin/packages/py-auxlib/package.py
index eb1930ae43..20d814ea12 100644
--- a/var/spack/repos/builtin/packages/py-auxlib/package.py
+++ b/var/spack/repos/builtin/packages/py-auxlib/package.py
@@ -12,9 +12,9 @@ class PyAuxlib(PythonPackage):
homepage = "https://github.com/kalefranz/auxlib"
pypi = "auxlib/auxlib-0.0.43.tar.gz"
- version('0.0.43', sha256='0f175637e96a090a785767ce28483cf1aeec316a19afce9b2fbd113e1122786a')
+ version("0.0.43", sha256="0f175637e96a090a785767ce28483cf1aeec316a19afce9b2fbd113e1122786a")
- depends_on('py-setuptools', type='build')
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-wheel', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-ordereddict", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-wheel", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py b/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
index 3182645f17..8a5d1f64f9 100644
--- a/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
+++ b/var/spack/repos/builtin/packages/py-avro-json-serializer/package.py
@@ -12,8 +12,8 @@ class PyAvroJsonSerializer(PythonPackage):
homepage = "https://github.com/linkedin/python-avro-json-serializer"
pypi = "avro_json_serializer/avro_json_serializer-0.4.tar.gz"
- version('0.4', sha256='f9dac2dac92036c5dd5aba8c716545fc0a0630cc365a51ab15bc2ac47eac28f1')
+ version("0.4", sha256="f9dac2dac92036c5dd5aba8c716545fc0a0630cc365a51ab15bc2ac47eac28f1")
- depends_on('py-setuptools', type='build')
- depends_on('py-simplejson', type=('build', 'run'))
- depends_on('py-avro', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-simplejson", type=("build", "run"))
+ depends_on("py-avro", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-avro-python3/package.py b/var/spack/repos/builtin/packages/py-avro-python3/package.py
index d81cbdabc8..711fab03d0 100644
--- a/var/spack/repos/builtin/packages/py-avro-python3/package.py
+++ b/var/spack/repos/builtin/packages/py-avro-python3/package.py
@@ -14,11 +14,11 @@ class PyAvroPython3(PythonPackage):
homepage = "https://github.com/apache/avro/tree/master/lang/py3"
pypi = "avro-python3/avro-python3-1.10.0.tar.gz"
- version('1.10.0', sha256='a455c215540b1fceb1823e2a918e94959b54cb363307c97869aa46b5b55bde05')
- version('1.9.1', sha256='daab2cea71b942a1eb57d700d4a729e9d6cd93284d4dd4d65a378b9f958aa0d2')
+ version("1.10.0", sha256="a455c215540b1fceb1823e2a918e94959b54cb363307c97869aa46b5b55bde05")
+ version("1.9.1", sha256="daab2cea71b942a1eb57d700d4a729e9d6cd93284d4dd4d65a378b9f958aa0d2")
- depends_on('python@3.5:', when='@1.10:', type=('build', 'run'))
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-isort', when='@1.10:', type='build')
- depends_on('py-pycodestyle', when='@1.10:', type='build')
+ depends_on("python@3.5:", when="@1.10:", type=("build", "run"))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-isort", when="@1.10:", type="build")
+ depends_on("py-pycodestyle", when="@1.10:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-avro/package.py b/var/spack/repos/builtin/packages/py-avro/package.py
index dd46732a5d..47298df377 100644
--- a/var/spack/repos/builtin/packages/py-avro/package.py
+++ b/var/spack/repos/builtin/packages/py-avro/package.py
@@ -12,9 +12,9 @@ class PyAvro(PythonPackage):
homepage = "https://avro.apache.org/docs/current/"
pypi = "avro/avro-1.8.2.tar.gz"
- version('1.11.0', sha256='1206365cc30ad561493f735329857dd078533459cee4e928aec2505f341ce445')
- version('1.10.2', sha256='381b990cc4c4444743c3297348ffd46e0c3a5d7a17e15b2f4a9042f6e955c31a')
- version('1.8.2', sha256='8f9ee40830b70b5fb52a419711c9c4ad0336443a6fba7335060805f961b04b59')
+ version("1.11.0", sha256="1206365cc30ad561493f735329857dd078533459cee4e928aec2505f341ce445")
+ version("1.10.2", sha256="381b990cc4c4444743c3297348ffd46e0c3a5d7a17e15b2f4a9042f6e955c31a")
+ version("1.8.2", sha256="8f9ee40830b70b5fb52a419711c9c4ad0336443a6fba7335060805f961b04b59")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
index f7dcdf7b0e..5f111a24f0 100644
--- a/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
+++ b/var/spack/repos/builtin/packages/py-awesome-slugify/package.py
@@ -12,9 +12,9 @@ class PyAwesomeSlugify(PythonPackage):
homepage = "https://github.com/dimka665/awesome-slugify"
pypi = "awesome-slugify/awesome-slugify-1.6.5.tar.gz"
- version('1.6.5', sha256='bbdec3fa2187917473a2efad092b57f7125a55f841a7cf6a1773178d32ccfd71')
+ version("1.6.5", sha256="bbdec3fa2187917473a2efad092b57f7125a55f841a7cf6a1773178d32ccfd71")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-unidecode@0.04.14:0.04', type=('build', 'run'))
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-unidecode@0.04.14:0.04", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-awkward/package.py b/var/spack/repos/builtin/packages/py-awkward/package.py
index 5f9968e0d0..dd8269a24c 100644
--- a/var/spack/repos/builtin/packages/py-awkward/package.py
+++ b/var/spack/repos/builtin/packages/py-awkward/package.py
@@ -13,30 +13,30 @@ class PyAwkward(PythonPackage):
pypi = "awkward/awkward-1.1.2.tar.gz"
homepage = "https://awkward-array.org"
- maintainers = ['vvolkl']
-
- version('master', branch='master')
- version('1.8.0', sha256='6655fa22d1b1d1dcb9ccee0d502350ab90c53467a10b540b7624422b594d2e72')
- version('1.7.0', sha256='e4e642dfe496d2acb245c90e37dc18028e25d5e936421e7371ea6ba0fde6435a')
- version('1.5.1', sha256='c0357c62223fefcfc7a7565389dbd4db900623bf10eccf2bc8e87586ec59b38d')
- version('1.5.0', sha256='3cb1b0e28f420232d894d89665d5c0c8241b99e56d806171f4faf5cdfec08ae1')
- version('1.4.0', sha256='25ae6114d5962c717cb87e3bc30a2f6eaa232b252cf8c51ba805b8f04664ae0d')
- version('1.3.0', sha256='b6021694adec9813842bad1987b837e439dabaf5b0dff9041201d238fca71fb4')
- version('1.2.3', sha256='7d727542927a926f488fa62d04e2c5728c72660f17f822e627f349285f295063')
- version('1.2.2', sha256='89f126a072d3a6eee091e1afeed87e0b2ed3c34ed31a1814062174de3cab8d9b')
- version('1.1.2', sha256='4ae8371d9e6d5bd3e90f3686b433cebc0541c88072655d2c75ec58e79b5d6943')
- version('1.0.2', sha256='3468cb80cab51252a1936e5e593c7df4588ea0e18dcb6fb31e3d2913ba883928')
-
- patch('pybind11.patch', when="@:1.2.2")
- patch('pybind11_02.patch', when="@1.2.3:")
-
- depends_on('py-setuptools@42.0:', type=('build', 'run'))
- depends_on('py-pyyaml', type='build')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-numpy@1.13.1:', type=('build', 'run'))
- depends_on('py-pybind11', type=('build', 'link'))
- depends_on('dlpack', when="@1.0.0:")
- depends_on('rapidjson@:1.1.0')
- depends_on('cmake@3.13:', type='build')
- depends_on('py-wheel@0.36.0:', type='build', when='@:1.7.0')
+ maintainers = ["vvolkl"]
+
+ version("master", branch="master")
+ version("1.8.0", sha256="6655fa22d1b1d1dcb9ccee0d502350ab90c53467a10b540b7624422b594d2e72")
+ version("1.7.0", sha256="e4e642dfe496d2acb245c90e37dc18028e25d5e936421e7371ea6ba0fde6435a")
+ version("1.5.1", sha256="c0357c62223fefcfc7a7565389dbd4db900623bf10eccf2bc8e87586ec59b38d")
+ version("1.5.0", sha256="3cb1b0e28f420232d894d89665d5c0c8241b99e56d806171f4faf5cdfec08ae1")
+ version("1.4.0", sha256="25ae6114d5962c717cb87e3bc30a2f6eaa232b252cf8c51ba805b8f04664ae0d")
+ version("1.3.0", sha256="b6021694adec9813842bad1987b837e439dabaf5b0dff9041201d238fca71fb4")
+ version("1.2.3", sha256="7d727542927a926f488fa62d04e2c5728c72660f17f822e627f349285f295063")
+ version("1.2.2", sha256="89f126a072d3a6eee091e1afeed87e0b2ed3c34ed31a1814062174de3cab8d9b")
+ version("1.1.2", sha256="4ae8371d9e6d5bd3e90f3686b433cebc0541c88072655d2c75ec58e79b5d6943")
+ version("1.0.2", sha256="3468cb80cab51252a1936e5e593c7df4588ea0e18dcb6fb31e3d2913ba883928")
+
+ patch("pybind11.patch", when="@:1.2.2")
+ patch("pybind11_02.patch", when="@1.2.3:")
+
+ depends_on("py-setuptools@42.0:", type=("build", "run"))
+ depends_on("py-pyyaml", type="build")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-numpy@1.13.1:", type=("build", "run"))
+ depends_on("py-pybind11", type=("build", "link"))
+ depends_on("dlpack", when="@1.0.0:")
+ depends_on("rapidjson@:1.1.0")
+ depends_on("cmake@3.13:", type="build")
+ depends_on("py-wheel@0.36.0:", type="build", when="@:1.7.0")
diff --git a/var/spack/repos/builtin/packages/py-awkward0/package.py b/var/spack/repos/builtin/packages/py-awkward0/package.py
index 0571906071..e57d1d1554 100644
--- a/var/spack/repos/builtin/packages/py-awkward0/package.py
+++ b/var/spack/repos/builtin/packages/py-awkward0/package.py
@@ -13,10 +13,10 @@ class PyAwkward0(PythonPackage):
structures as you would Numpy arrays."""
homepage = "https://github.com/scikit-hep/awkward-0.x"
- pypi = "awkward0/awkward0-0.15.5.tar.gz"
+ pypi = "awkward0/awkward0-0.15.5.tar.gz"
- version('0.15.5', sha256='156e6e338c56d857a7bb53c4fcc8b0b2592a3470eff0d854e6d68777986359ad')
+ version("0.15.5", sha256="156e6e338c56d857a7bb53c4fcc8b0b2592a3470eff0d854e6d68777986359ad")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-numpy@1.13.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-numpy@1.13.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-awkward1/package.py b/var/spack/repos/builtin/packages/py-awkward1/package.py
index 68392218b5..afae12b548 100644
--- a/var/spack/repos/builtin/packages/py-awkward1/package.py
+++ b/var/spack/repos/builtin/packages/py-awkward1/package.py
@@ -13,18 +13,26 @@ class PyAwkward1(PythonPackage):
url = "https://github.com/scikit-hep/awkward-1.0/archive/0.3.1.tar.gz"
homepage = "https://awkward-array.org"
- maintainers = ['vvolkl']
-
- version('1.1.2', sha256='626e3a6a2a92dd67abc8692b1ebfa1b447b9594352d6ce8c86c37d7299dc4602', deprecated=True)
- version('0.3.1', sha256='7126d9feab8828b0b4f4c6dbc9e28c269a91e28eef4a6033d7ebb5db21f1dab3', deprecated=True)
-
- patch('pybind11.patch')
-
- depends_on('py-setuptools', type='build')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.13.1:', type=('build', 'run'))
- depends_on('py-pybind11', type=('build', 'link'))
- depends_on('dlpack', when="@1.0.0:")
- depends_on('rapidjson')
- depends_on('cmake', type='build')
+ maintainers = ["vvolkl"]
+
+ version(
+ "1.1.2",
+ sha256="626e3a6a2a92dd67abc8692b1ebfa1b447b9594352d6ce8c86c37d7299dc4602",
+ deprecated=True,
+ )
+ version(
+ "0.3.1",
+ sha256="7126d9feab8828b0b4f4c6dbc9e28c269a91e28eef4a6033d7ebb5db21f1dab3",
+ deprecated=True,
+ )
+
+ patch("pybind11.patch")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.13.1:", type=("build", "run"))
+ depends_on("py-pybind11", type=("build", "link"))
+ depends_on("dlpack", when="@1.0.0:")
+ depends_on("rapidjson")
+ depends_on("cmake", type="build")
diff --git a/var/spack/repos/builtin/packages/py-azote/package.py b/var/spack/repos/builtin/packages/py-azote/package.py
index 3a1cbdbf82..3603858b98 100644
--- a/var/spack/repos/builtin/packages/py-azote/package.py
+++ b/var/spack/repos/builtin/packages/py-azote/package.py
@@ -12,11 +12,11 @@ class PyAzote(PythonPackage):
commands."""
homepage = "https://github.com/nwg-piotr/azote"
- url = "https://github.com/nwg-piotr/azote/archive/v1.7.14.tar.gz"
+ url = "https://github.com/nwg-piotr/azote/archive/v1.7.14.tar.gz"
- version('1.7.14', sha256='68f9be55858dc33650a6712f68c9e5d2c96be9d7ca380dbde8ea9b2895f3f22f')
- version('1.7.12', sha256='71d56784decf19b4e1a30943e054fd95f5044f7d471a65cecfef885ac8ef917e')
- version('1.7.11', sha256='d8f0a63c3dacf1cb5b7c4b0b23a4f9190fc3c94c499a98f4f0827cace4b855b5')
+ version("1.7.14", sha256="68f9be55858dc33650a6712f68c9e5d2c96be9d7ca380dbde8ea9b2895f3f22f")
+ version("1.7.12", sha256="71d56784decf19b4e1a30943e054fd95f5044f7d471a65cecfef885ac8ef917e")
+ version("1.7.11", sha256="d8f0a63c3dacf1cb5b7c4b0b23a4f9190fc3c94c499a98f4f0827cace4b855b5")
- depends_on('python@3.4.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.4.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-azure-batch/package.py b/var/spack/repos/builtin/packages/py-azure-batch/package.py
index d149e042ef..f5ee0c2a67 100644
--- a/var/spack/repos/builtin/packages/py-azure-batch/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-batch/package.py
@@ -13,10 +13,10 @@ class PyAzureBatch(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-batch/azure-batch-9.0.0.zip"
- version('9.0.0', sha256='47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84')
+ version("9.0.0", sha256="47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
index 4d87cd955c..0a77f9de9c 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
@@ -13,7 +13,7 @@ class PyAzureCliCommandModulesNspkg(PythonPackage):
homepage = "https://github.com/Azure/azure-cli"
pypi = "azure-cli-command-modules-nspkg/azure-cli-command-modules-nspkg-2.0.3.tar.gz"
- version('2.0.3', sha256='4bd62bf5facb92dd4f89080e75eaee2ea1d3dd4e57a3d2a760ce501cf53f4e7d')
+ version("2.0.3", sha256="4bd62bf5facb92dd4f89080e75eaee2ea1d3dd4e57a3d2a760ce501cf53f4e7d")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-cli-nspkg@3.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-cli-nspkg@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
index cdec2e2472..c8299b5861 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
@@ -13,29 +13,29 @@ class PyAzureCliCore(PythonPackage):
homepage = "https://github.com/Azure/azure-cli"
pypi = "azure-cli-core/azure-cli-core-2.9.1.tar.gz"
- version('2.9.1', sha256='8618a30f7ea2188506f29801220c06396d731c26e4de92c327e6b0e8cc790db5')
+ version("2.9.1", sha256="8618a30f7ea2188506f29801220c06396d731c26e4de92c327e6b0e8cc790db5")
- depends_on('py-setuptools', type='build')
- depends_on('py-adal@1.2.3:1.2', type=('build', 'run'))
- depends_on('py-argcomplete@1.8:1', type=('build', 'run'))
- depends_on('py-azure-cli-telemetry', type=('build', 'run'))
- depends_on('py-colorama@0.4.1:0.4', type=('build', 'run'))
- depends_on('py-humanfriendly@4.7:8', type=('build', 'run'))
- depends_on('py-jmespath', type=('build', 'run'))
- depends_on('py-knack@0.7.1', type=('build', 'run'))
- depends_on('py-msal@1.0.0:1.0', type=('build', 'run'))
- depends_on('py-msal-extensions@0.1.3:0.1', type=('build', 'run'))
- depends_on('py-msrest@0.4.4:', type=('build', 'run'))
- depends_on('py-msrestazure@0.6.3:', type=('build', 'run'))
- depends_on('py-paramiko@2.0.8:2', type=('build', 'run'))
- depends_on('py-pyjwt', type=('build', 'run'))
- depends_on('py-pyopenssl@17.1.0:', type=('build', 'run'))
- depends_on('py-requests@2.22:2', type=('build', 'run'))
- depends_on('py-six@1.12:1', type=('build', 'run'))
- depends_on('py-pkginfo@1.5.0.1:', type=('build', 'run'))
- depends_on('py-azure-mgmt-resource@10.0.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-core@1.0.0', type=('build', 'run'))
- depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-ndg-httpsclient', when='^python@:2.7.8', type=('build', 'run'))
- depends_on('py-pyasn1', when='^python@:2.7.8', type=('build', 'run'))
- depends_on('py-futures', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-adal@1.2.3:1.2", type=("build", "run"))
+ depends_on("py-argcomplete@1.8:1", type=("build", "run"))
+ depends_on("py-azure-cli-telemetry", type=("build", "run"))
+ depends_on("py-colorama@0.4.1:0.4", type=("build", "run"))
+ depends_on("py-humanfriendly@4.7:8", type=("build", "run"))
+ depends_on("py-jmespath", type=("build", "run"))
+ depends_on("py-knack@0.7.1", type=("build", "run"))
+ depends_on("py-msal@1.0.0:1.0", type=("build", "run"))
+ depends_on("py-msal-extensions@0.1.3:0.1", type=("build", "run"))
+ depends_on("py-msrest@0.4.4:", type=("build", "run"))
+ depends_on("py-msrestazure@0.6.3:", type=("build", "run"))
+ depends_on("py-paramiko@2.0.8:2", type=("build", "run"))
+ depends_on("py-pyjwt", type=("build", "run"))
+ depends_on("py-pyopenssl@17.1.0:", type=("build", "run"))
+ depends_on("py-requests@2.22:2", type=("build", "run"))
+ depends_on("py-six@1.12:1", type=("build", "run"))
+ depends_on("py-pkginfo@1.5.0.1:", type=("build", "run"))
+ depends_on("py-azure-mgmt-resource@10.0.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-core@1.0.0", type=("build", "run"))
+ depends_on("py-enum34", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-ndg-httpsclient", when="^python@:2.7.8", type=("build", "run"))
+ depends_on("py-pyasn1", when="^python@:2.7.8", type=("build", "run"))
+ depends_on("py-futures", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
index c353b46fcb..5054f62b1c 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
@@ -13,7 +13,7 @@ class PyAzureCliNspkg(PythonPackage):
homepage = "https://github.com/Azure/azure-cli"
pypi = "azure-cli-nspkg/azure-cli-nspkg-3.0.4.tar.gz"
- version('3.0.4', sha256='1bde56090f548c6435bd3093995cf88e4c445fb040604df8b5b5f70780d79181')
+ version("3.0.4", sha256="1bde56090f548c6435bd3093995cf88e4c445fb040604df8b5b5f70780d79181")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-nspkg@2.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-nspkg@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
index eeed54fae3..ffb8c8b359 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
@@ -13,8 +13,8 @@ class PyAzureCliTelemetry(PythonPackage):
homepage = "https://github.com/Azure/azure-cli"
pypi = "azure-cli-telemetry/azure-cli-telemetry-1.0.4.tar.gz"
- version('1.0.4', sha256='1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577')
+ version("1.0.4", sha256="1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577")
- depends_on('py-setuptools', type='build')
- depends_on('py-applicationinsights@0.11.1:0.11', type=('build', 'run'))
- depends_on('py-portalocker@1.2:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-applicationinsights@0.11.1:0.11", type=("build", "run"))
+ depends_on("py-portalocker@1.2:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli/package.py b/var/spack/repos/builtin/packages/py-azure-cli/package.py
index aaaea6c00c..06c2d686a5 100644
--- a/var/spack/repos/builtin/packages/py-azure-cli/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cli/package.py
@@ -13,92 +13,92 @@ class PyAzureCli(PythonPackage):
homepage = "https://github.com/Azure/azure-cli"
pypi = "azure-cli/azure-cli-2.9.1.tar.gz"
- version('2.9.1', sha256='749d850f73ea8956ab510288c1061dd7066180a8583081a6d560fdc7ac8314d6')
+ version("2.9.1", sha256="749d850f73ea8956ab510288c1061dd7066180a8583081a6d560fdc7ac8314d6")
- depends_on('py-setuptools', type='build')
- depends_on('py-antlr4-python3-runtime@4.7.2:4.7', type=('build', 'run'))
- depends_on('py-azure-batch@9.0:9', type=('build', 'run'))
- depends_on('py-azure-cli-command-modules-nspkg@2.0:2', type=('build', 'run'))
- depends_on('py-azure-cli-core@2.9.1', type=('build', 'run'))
- depends_on('py-azure-cli-nspkg@3.0.3:3', type=('build', 'run'))
- depends_on('py-azure-cosmos@3.0.2:3', type=('build', 'run'))
- depends_on('py-azure-datalake-store@0.0.48:0.0', type=('build', 'run'))
- depends_on('py-azure-functions-devops-build@0.0.22:0.0', type=('build', 'run'))
- depends_on('py-azure-graphrbac@0.60.0:0.60', type=('build', 'run'))
- depends_on('py-azure-keyvault@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-advisor@2.0.1:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-apimanagement@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-applicationinsights@0.1.1:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-appconfiguration@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-authorization@0.52.0:0.52', type=('build', 'run'))
- depends_on('py-azure-mgmt-batch@9.0.0:9.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-batchai@2.0:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-billing@0.2:0', type=('build', 'run'))
- depends_on('py-azure-mgmt-botservice@0.2.0:0.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-cdn@4.1.0rc1', type=('build', 'run'))
- depends_on('py-azure-mgmt-cognitiveservices@6.2.0:6.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-compute@13.0:13', type=('build', 'run'))
- depends_on('py-azure-mgmt-consumption@2.0:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-containerinstance@1.4:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-containerregistry@3.0.0rc14', type=('build', 'run'))
- depends_on('py-azure-mgmt-containerservice@9.0.1:9.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-cosmosdb@0.15.0:0.15', type=('build', 'run'))
- depends_on('py-azure-mgmt-datalake-analytics@0.2.1:0.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-datalake-store@0.5.0:0.5', type=('build', 'run'))
- depends_on('py-azure-mgmt-datamigration@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-deploymentmanager@0.2.0:0.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-devtestlabs@4.0:4', type=('build', 'run'))
- depends_on('py-azure-mgmt-dns@2.1:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-eventgrid@3.0.0rc7', type=('build', 'run'))
- depends_on('py-azure-mgmt-eventhub@4.0.0:4', type=('build', 'run'))
- depends_on('py-azure-mgmt-hdinsight@1.5.1:1.5', type=('build', 'run'))
- depends_on('py-azure-mgmt-imagebuilder@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-iotcentral@3.0.0:3.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-iothub@0.12.0:0.12', type=('build', 'run'))
- depends_on('py-azure-mgmt-iothubprovisioningservices@0.2.0:0.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-keyvault@2.2.0:2.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-kusto@0.3.0:0.3', type=('build', 'run'))
- depends_on('py-azure-mgmt-loganalytics@0.7.0:0.7', type=('build', 'run'))
- depends_on('py-azure-mgmt-managedservices@1.0:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-managementgroups@0.1:0', type=('build', 'run'))
- depends_on('py-azure-mgmt-maps@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-marketplaceordering@0.1:0', type=('build', 'run'))
- depends_on('py-azure-mgmt-media@2.1:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-monitor@0.10.0:0.10', type=('build', 'run'))
- depends_on('py-azure-mgmt-msi@0.2:0', type=('build', 'run'))
- depends_on('py-azure-mgmt-netapp@0.8.0:0.8', type=('build', 'run'))
- depends_on('py-azure-mgmt-network@11.0.0:11.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-policyinsights@0.5.0:0.5', type=('build', 'run'))
- depends_on('py-azure-mgmt-privatedns@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-rdbms@2.2.0:2.2', type=('build', 'run'))
- depends_on('py-azure-mgmt-recoveryservices@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-recoveryservicesbackup@0.6.0:0.6', type=('build', 'run'))
- depends_on('py-azure-mgmt-redhatopenshift@0.1.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-redis@7.0.0:7.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-relay@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-reservations@0.6.0', type=('build', 'run'))
- depends_on('py-azure-mgmt-search@2.0:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-security@0.4.1:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-servicebus@0.6.0:0.6', type=('build', 'run'))
- depends_on('py-azure-mgmt-servicefabric@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-signalr@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-azure-mgmt-sql@0.19.0:0.19', type=('build', 'run'))
- depends_on('py-azure-mgmt-sqlvirtualmachine@0.5.0:0.5', type=('build', 'run'))
- depends_on('py-azure-mgmt-storage@11.1.0:11.1', type=('build', 'run'))
- depends_on('py-azure-mgmt-trafficmanager@0.51.0:0.51', type=('build', 'run'))
- depends_on('py-azure-mgmt-web@0.47.0:0.47', type=('build', 'run'))
- depends_on('py-azure-multiapi-storage@0.3.2:0.3', type=('build', 'run'))
- depends_on('py-azure-loganalytics@0.1.0:0.1', type=('build', 'run'))
- depends_on('py-azure-storage-common@1.4:1', type=('build', 'run'))
- depends_on('py-cryptography@2.3.1:2', type=('build', 'run'))
- depends_on('py-fabric@2.4:2', type=('build', 'run'))
- depends_on('py-jsmin@2.2.2:2.2', type=('build', 'run'))
- depends_on('py-pytz@2019.1', type=('build', 'run'))
- depends_on('py-scp@0.13.2:0.13', type=('build', 'run'))
- depends_on('py-sshtunnel@0.1.4:0.1', type=('build', 'run'))
- depends_on('py-urllib3@1.18:1+secure', type=('build', 'run'))
- depends_on('py-vsts-cd-manager@1.0.2:1.0', type=('build', 'run'))
- depends_on('py-websocket-client@0.56.0:0.56', type=('build', 'run'))
- depends_on('py-xmltodict@0.12:0', type=('build', 'run'))
- depends_on('py-javaproperties@0.5.1', type=('build', 'run'))
- depends_on('py-jsondiff@1.2.0', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-antlr4-python3-runtime@4.7.2:4.7", type=("build", "run"))
+ depends_on("py-azure-batch@9.0:9", type=("build", "run"))
+ depends_on("py-azure-cli-command-modules-nspkg@2.0:2", type=("build", "run"))
+ depends_on("py-azure-cli-core@2.9.1", type=("build", "run"))
+ depends_on("py-azure-cli-nspkg@3.0.3:3", type=("build", "run"))
+ depends_on("py-azure-cosmos@3.0.2:3", type=("build", "run"))
+ depends_on("py-azure-datalake-store@0.0.48:0.0", type=("build", "run"))
+ depends_on("py-azure-functions-devops-build@0.0.22:0.0", type=("build", "run"))
+ depends_on("py-azure-graphrbac@0.60.0:0.60", type=("build", "run"))
+ depends_on("py-azure-keyvault@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-advisor@2.0.1:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-apimanagement@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-applicationinsights@0.1.1:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-appconfiguration@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-authorization@0.52.0:0.52", type=("build", "run"))
+ depends_on("py-azure-mgmt-batch@9.0.0:9.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-batchai@2.0:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-billing@0.2:0", type=("build", "run"))
+ depends_on("py-azure-mgmt-botservice@0.2.0:0.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-cdn@4.1.0rc1", type=("build", "run"))
+ depends_on("py-azure-mgmt-cognitiveservices@6.2.0:6.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-compute@13.0:13", type=("build", "run"))
+ depends_on("py-azure-mgmt-consumption@2.0:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-containerinstance@1.4:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-containerregistry@3.0.0rc14", type=("build", "run"))
+ depends_on("py-azure-mgmt-containerservice@9.0.1:9.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-cosmosdb@0.15.0:0.15", type=("build", "run"))
+ depends_on("py-azure-mgmt-datalake-analytics@0.2.1:0.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-datalake-store@0.5.0:0.5", type=("build", "run"))
+ depends_on("py-azure-mgmt-datamigration@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-deploymentmanager@0.2.0:0.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-devtestlabs@4.0:4", type=("build", "run"))
+ depends_on("py-azure-mgmt-dns@2.1:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-eventgrid@3.0.0rc7", type=("build", "run"))
+ depends_on("py-azure-mgmt-eventhub@4.0.0:4", type=("build", "run"))
+ depends_on("py-azure-mgmt-hdinsight@1.5.1:1.5", type=("build", "run"))
+ depends_on("py-azure-mgmt-imagebuilder@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-iotcentral@3.0.0:3.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-iothub@0.12.0:0.12", type=("build", "run"))
+ depends_on("py-azure-mgmt-iothubprovisioningservices@0.2.0:0.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-keyvault@2.2.0:2.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-kusto@0.3.0:0.3", type=("build", "run"))
+ depends_on("py-azure-mgmt-loganalytics@0.7.0:0.7", type=("build", "run"))
+ depends_on("py-azure-mgmt-managedservices@1.0:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-managementgroups@0.1:0", type=("build", "run"))
+ depends_on("py-azure-mgmt-maps@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-marketplaceordering@0.1:0", type=("build", "run"))
+ depends_on("py-azure-mgmt-media@2.1:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-monitor@0.10.0:0.10", type=("build", "run"))
+ depends_on("py-azure-mgmt-msi@0.2:0", type=("build", "run"))
+ depends_on("py-azure-mgmt-netapp@0.8.0:0.8", type=("build", "run"))
+ depends_on("py-azure-mgmt-network@11.0.0:11.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-policyinsights@0.5.0:0.5", type=("build", "run"))
+ depends_on("py-azure-mgmt-privatedns@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-rdbms@2.2.0:2.2", type=("build", "run"))
+ depends_on("py-azure-mgmt-recoveryservices@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-recoveryservicesbackup@0.6.0:0.6", type=("build", "run"))
+ depends_on("py-azure-mgmt-redhatopenshift@0.1.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-redis@7.0.0:7.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-relay@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-reservations@0.6.0", type=("build", "run"))
+ depends_on("py-azure-mgmt-search@2.0:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-security@0.4.1:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-servicebus@0.6.0:0.6", type=("build", "run"))
+ depends_on("py-azure-mgmt-servicefabric@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-signalr@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-azure-mgmt-sql@0.19.0:0.19", type=("build", "run"))
+ depends_on("py-azure-mgmt-sqlvirtualmachine@0.5.0:0.5", type=("build", "run"))
+ depends_on("py-azure-mgmt-storage@11.1.0:11.1", type=("build", "run"))
+ depends_on("py-azure-mgmt-trafficmanager@0.51.0:0.51", type=("build", "run"))
+ depends_on("py-azure-mgmt-web@0.47.0:0.47", type=("build", "run"))
+ depends_on("py-azure-multiapi-storage@0.3.2:0.3", type=("build", "run"))
+ depends_on("py-azure-loganalytics@0.1.0:0.1", type=("build", "run"))
+ depends_on("py-azure-storage-common@1.4:1", type=("build", "run"))
+ depends_on("py-cryptography@2.3.1:2", type=("build", "run"))
+ depends_on("py-fabric@2.4:2", type=("build", "run"))
+ depends_on("py-jsmin@2.2.2:2.2", type=("build", "run"))
+ depends_on("py-pytz@2019.1", type=("build", "run"))
+ depends_on("py-scp@0.13.2:0.13", type=("build", "run"))
+ depends_on("py-sshtunnel@0.1.4:0.1", type=("build", "run"))
+ depends_on("py-urllib3@1.18:1+secure", type=("build", "run"))
+ depends_on("py-vsts-cd-manager@1.0.2:1.0", type=("build", "run"))
+ depends_on("py-websocket-client@0.56.0:0.56", type=("build", "run"))
+ depends_on("py-xmltodict@0.12:0", type=("build", "run"))
+ depends_on("py-javaproperties@0.5.1", type=("build", "run"))
+ depends_on("py-jsondiff@1.2.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-common/package.py b/var/spack/repos/builtin/packages/py-azure-common/package.py
index 236ea30624..5ab7c6d3a8 100644
--- a/var/spack/repos/builtin/packages/py-azure-common/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-common/package.py
@@ -13,7 +13,7 @@ class PyAzureCommon(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-common/azure-common-1.1.25.zip"
- version('1.1.25', sha256='ce0f1013e6d0e9faebaf3188cc069f4892fc60a6ec552e3f817c1a2f92835054')
+ version("1.1.25", sha256="ce0f1013e6d0e9faebaf3188cc069f4892fc60a6ec552e3f817c1a2f92835054")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-core/package.py b/var/spack/repos/builtin/packages/py-azure-core/package.py
index 3e89a96316..3c02ff639a 100644
--- a/var/spack/repos/builtin/packages/py-azure-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-core/package.py
@@ -13,14 +13,14 @@ class PyAzureCore(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core"
pypi = "azure-core/azure-core-1.7.0.zip"
- version('1.21.1', sha256='88d2db5cf9a135a7287dc45fdde6b96f9ca62c9567512a3bb3e20e322ce7deb2')
- version('1.7.0', sha256='a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c')
- version('1.6.0', sha256='d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648')
+ version("1.21.1", sha256="88d2db5cf9a135a7287dc45fdde6b96f9ca62c9567512a3bb3e20e322ce7deb2")
+ version("1.7.0", sha256="a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c")
+ version("1.6.0", sha256="d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.18.4:', type=('build', 'run'))
- depends_on('py-six@1.6:', when='@:1.21', type=('build', 'run'))
- depends_on('py-six@1.11:', when='@1.21:', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.18.4:", type=("build", "run"))
+ depends_on("py-six@1.6:", when="@:1.21", type=("build", "run"))
+ depends_on("py-six@1.11:", when="@1.21:", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-cosmos/package.py b/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
index 099aa09550..85b378a54c 100644
--- a/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
@@ -13,14 +13,17 @@ class PyAzureCosmos(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-cosmos/azure-cosmos-4.0.0.zip"
- version('4.0.0', sha256='c4e40e0d378fd0c96664f46f1ad08e6c8aaaac31c463726a74aae9eae724442d')
- version('3.2.0', sha256='4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6',
- url='https://pypi.io/packages/source/a/azure-cosmos/azure-cosmos-3.2.0.tar.gz')
+ version("4.0.0", sha256="c4e40e0d378fd0c96664f46f1ad08e6c8aaaac31c463726a74aae9eae724442d")
+ version(
+ "3.2.0",
+ sha256="4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6",
+ url="https://pypi.io/packages/source/a/azure-cosmos/azure-cosmos-3.2.0.tar.gz",
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.6:', type=('build', 'run'))
- depends_on('py-azure-core@1.0.0:1', when='@4:', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='@4: ^python@:3.3', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-typing', when='@4: ^python@:3.4', type=('build', 'run'))
- depends_on('py-requests@2.10.0:', when='@:3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.6:", type=("build", "run"))
+ depends_on("py-azure-core@1.0.0:1", when="@4:", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="@4: ^python@:3.3", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-typing", when="@4: ^python@:3.4", type=("build", "run"))
+ depends_on("py-requests@2.10.0:", when="@:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
index 42d6e2c88a..db0eafbd8c 100644
--- a/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
@@ -13,12 +13,12 @@ class PyAzureDatalakeStore(PythonPackage):
homepage = "https://github.com/Azure/azure-data-lake-store-python"
pypi = "azure-datalake-store/azure-datalake-store-0.0.48.tar.gz"
- version('0.0.48', sha256='d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7')
+ version("0.0.48", sha256="d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7")
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi', type=('build', 'run'))
- depends_on('py-adal@0.4.2:', type=('build', 'run'))
- depends_on('py-requests@2.20.0:', type=('build', 'run'))
- depends_on('py-pathlib2', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-futures', when='^python@:2', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi", type=("build", "run"))
+ depends_on("py-adal@0.4.2:", type=("build", "run"))
+ depends_on("py-requests@2.20.0:", type=("build", "run"))
+ depends_on("py-pathlib2", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-futures", when="^python@:2", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
index e3fac9cc09..fba829f784 100644
--- a/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
@@ -14,9 +14,9 @@ class PyAzureFunctionsDevopsBuild(PythonPackage):
homepage = "https://github.com/Azure/azure-functions-devops-build"
pypi = "azure-functions-devops-build/azure-functions-devops-build-0.0.22.tar.gz"
- version('0.0.22', sha256='c6341abda6098813f8fa625acd1e925410a17a8a1c7aaabdf975bb7cecb14edf')
+ version("0.0.22", sha256="c6341abda6098813f8fa625acd1e925410a17a8a1c7aaabdf975bb7cecb14edf")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest', type=('build', 'run'))
- depends_on('py-vsts', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest", type=("build", "run"))
+ depends_on("py-vsts", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
index f66d06d766..9788a9a640 100644
--- a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
@@ -13,11 +13,11 @@ class PyAzureGraphrbac(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-graphrbac/azure-graphrbac-0.61.1.zip"
- version('0.61.1', sha256='53e98ae2ca7c19b349e9e9bb1b6a824aeae8dcfcbe17190d20fe69c0f185b2e2')
- version('0.60.0', sha256='d0bb62d8bf8e196b903f3971ba4afa448e4fe14e8394ebfcdd941d84d62ecafe')
+ version("0.61.1", sha256="53e98ae2ca7c19b349e9e9bb1b6a824aeae8dcfcbe17190d20fe69c0f185b2e2")
+ version("0.60.0", sha256="d0bb62d8bf8e196b903f3971ba4afa448e4fe14e8394ebfcdd941d84d62ecafe")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-identity/package.py b/var/spack/repos/builtin/packages/py-azure-identity/package.py
index cdddc202a6..672b9bfc4e 100644
--- a/var/spack/repos/builtin/packages/py-azure-identity/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-identity/package.py
@@ -10,24 +10,24 @@ from spack.package import *
class PyAzureIdentity(PythonPackage):
"""Microsoft Azure Identity Library for Python."""
- homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/identity/azure-identity"
+ homepage = (
+ "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/identity/azure-identity"
+ )
pypi = "azure-identity/azure-identity-1.3.1.zip"
# 'azure.identity.aio' import doesn't work for some reason, leave out of
# 'import_modules' list to ensure that tests still pass for other imports.
- import_modules = [
- 'azure.identity', 'azure.identity._internal', 'azure.identity._credentials'
- ]
-
- version('1.3.1', sha256='5a59c36b4b05bdaec455c390feda71b6495fc828246593404351b9a41c2e877a')
- version('1.2.0', sha256='b32acd1cdb6202bfe10d9a0858dc463d8960295da70ae18097eb3b85ab12cb91')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.0.0:1', type=('build', 'run'))
- depends_on('py-cryptography@2.1.4:', type=('build', 'run'))
- depends_on('py-msal@1.0.0:1', type=('build', 'run'))
- depends_on('py-msal-extensions@0.1.3:0.1', type=('build', 'run'))
- depends_on('py-six@1.6:', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-mock', when='^python@:3.2', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ import_modules = ["azure.identity", "azure.identity._internal", "azure.identity._credentials"]
+
+ version("1.3.1", sha256="5a59c36b4b05bdaec455c390feda71b6495fc828246593404351b9a41c2e877a")
+ version("1.2.0", sha256="b32acd1cdb6202bfe10d9a0858dc463d8960295da70ae18097eb3b85ab12cb91")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.0.0:1", type=("build", "run"))
+ depends_on("py-cryptography@2.1.4:", type=("build", "run"))
+ depends_on("py-msal@1.0.0:1", type=("build", "run"))
+ depends_on("py-msal-extensions@0.1.3:0.1", type=("build", "run"))
+ depends_on("py-six@1.6:", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-mock", when="^python@:3.2", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
index 0e74413846..cc207ae5a6 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
@@ -13,11 +13,11 @@ class PyAzureKeyvaultCertificates(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates"
pypi = "azure-keyvault-certificates/azure-keyvault-certificates-4.1.0.zip"
- version('4.1.0', sha256='544f56480619e1db350f2e7b117b22af778e02174bd6bcb0af9ae00c50353419')
+ version("4.1.0", sha256="544f56480619e1db350f2e7b117b22af778e02174bd6bcb0af9ae00c50353419")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.2.1:1', type=('build', 'run'))
- depends_on('py-msrest@0.6.0:', type=('build', 'run'))
- depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.2.1:1", type=("build", "run"))
+ depends_on("py-msrest@0.6.0:", type=("build", "run"))
+ depends_on("py-azure-keyvault-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
index dd2e26cf96..467343327f 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
@@ -13,12 +13,12 @@ class PyAzureKeyvaultKeys(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys"
pypi = "azure-keyvault-keys/azure-keyvault-keys-4.1.0.zip"
- version('4.1.0', sha256='f9967b4deb48e619f6c40558f69e48978779cc09c8a7fad33d536cfc41cd68f9')
+ version("4.1.0", sha256="f9967b4deb48e619f6c40558f69e48978779cc09c8a7fad33d536cfc41cd68f9")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.2.1:1', type=('build', 'run'))
- depends_on('py-cryptography@2.1.4:', type=('build', 'run'))
- depends_on('py-msrest@0.6.0:', type=('build', 'run'))
- depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.2.1:1", type=("build", "run"))
+ depends_on("py-cryptography@2.1.4:", type=("build", "run"))
+ depends_on("py-msrest@0.6.0:", type=("build", "run"))
+ depends_on("py-azure-keyvault-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
index 19f452a986..c9a4fefa34 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
@@ -13,7 +13,7 @@ class PyAzureKeyvaultNspkg(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault"
pypi = "azure-keyvault-nspkg/azure-keyvault-nspkg-1.0.0.zip"
- version('1.0.0', sha256='ac68b88aab9c6caf54a23da2a1d1c718d7520bae5adff04dd0a743228269b641')
+ version("1.0.0", sha256="ac68b88aab9c6caf54a23da2a1d1c718d7520bae5adff04dd0a743228269b641")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-nspkg@3.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-nspkg@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
index dcf26e0f3c..80991da344 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
@@ -13,11 +13,11 @@ class PyAzureKeyvaultSecrets(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-secrets"
pypi = "azure-keyvault-secrets/azure-keyvault-secrets-4.1.0.zip"
- version('4.1.0', sha256='4f3bfac60e025e01dd1c1998b73649d45d706975356c0cf147174cf5a6ddf8be')
+ version("4.1.0", sha256="4f3bfac60e025e01dd1c1998b73649d45d706975356c0cf147174cf5a6ddf8be")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.2.1:1', type=('build', 'run'))
- depends_on('py-msrest@0.6.0:', type=('build', 'run'))
- depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.2.1:1", type=("build", "run"))
+ depends_on("py-msrest@0.6.0:", type=("build", "run"))
+ depends_on("py-azure-keyvault-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
index d673c30b27..aa5774f993 100644
--- a/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
@@ -10,18 +10,20 @@ from spack.package import *
class PyAzureKeyvault(PythonPackage):
"""Microsoft Azure Key Vault Client Libraries for Python."""
- homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault"
+ homepage = (
+ "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault"
+ )
pypi = "azure-keyvault/azure-keyvault-4.1.0.zip"
- version('4.1.0', sha256='69002a546921a8290eb54d9a3805cfc515c321bc1d4c0bfcfb463620245eca40')
- version('1.1.0', sha256='37a8e5f376eb5a304fcd066d414b5d93b987e68f9212b0c41efa37d429aadd49')
+ version("4.1.0", sha256="69002a546921a8290eb54d9a3805cfc515c321bc1d4c0bfcfb463620245eca40")
+ version("1.1.0", sha256="37a8e5f376eb5a304fcd066d414b5d93b987e68f9212b0c41efa37d429aadd49")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-keyvault-certificates@4.1:4', when='@4:', type=('build', 'run'))
- depends_on('py-azure-keyvault-secrets@4.1:4', when='@4:', type=('build', 'run'))
- depends_on('py-azure-keyvault-keys@4.1:4', when='@4:', type=('build', 'run'))
- depends_on('py-msrest@0.5.0:', when='@:1', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', when='@:1', type=('build', 'run'))
- depends_on('py-cryptography@2.1.4:', when='@:1', type=('build', 'run'))
- depends_on('py-requests@2.18.4:', when='@:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-keyvault-certificates@4.1:4", when="@4:", type=("build", "run"))
+ depends_on("py-azure-keyvault-secrets@4.1:4", when="@4:", type=("build", "run"))
+ depends_on("py-azure-keyvault-keys@4.1:4", when="@4:", type=("build", "run"))
+ depends_on("py-msrest@0.5.0:", when="@:1", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", when="@:1", type=("build", "run"))
+ depends_on("py-cryptography@2.1.4:", when="@:1", type=("build", "run"))
+ depends_on("py-requests@2.18.4:", when="@:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
index b40be2b948..96dcad3399 100644
--- a/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
@@ -13,8 +13,8 @@ class PyAzureLoganalytics(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-loganalytics/azure-loganalytics-0.1.0.zip"
- version('0.1.0', sha256='3ceb350def677a351f34b0a0d1637df6be0c6fe87ff32a5270b17f540f6da06e')
+ version("0.1.0", sha256="3ceb350def677a351f34b0a0d1637df6be0c6fe87ff32a5270b17f540f6da06e")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.4.29:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.4.29:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
index dbb92c8097..258d7331a9 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtAdvisor(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-advisor/azure-mgmt-advisor-4.0.0.zip"
- version('4.0.0', sha256='1ecea7a9dc48c099c06aab68aace7fdbded91a5522932882b1707c29fa055054')
- version('2.0.1', sha256='1929d6d5ba49d055fdc806e981b93cf75ea42ba35f78222aaf42d8dcf29d4ef3')
+ version("4.0.0", sha256="1ecea7a9dc48c099c06aab68aace7fdbded91a5522932882b1707c29fa055054")
+ version("2.0.1", sha256="1929d6d5ba49d055fdc806e981b93cf75ea42ba35f78222aaf42d8dcf29d4ef3")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
index 4847863ed8..9b6cd3f9e2 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtApimanagement(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-apimanagement/azure-mgmt-apimanagement-0.2.0.zip"
- version('0.2.0', sha256='790f01c0b32583706b8b8c59667c0f5a51cd70444eee76474e23a598911e1d72')
- version('0.1.0', sha256='5d45d3438c6a11bae6bb8d4d5173cdb44b85683695f9f3433f22f45aecc47819')
+ version("0.2.0", sha256="790f01c0b32583706b8b8c59667c0f5a51cd70444eee76474e23a598911e1d72")
+ version("0.1.0", sha256="5d45d3438c6a11bae6bb8d4d5173cdb44b85683695f9f3433f22f45aecc47819")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
index 7ed38ab945..4a5965c5c7 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
@@ -8,17 +8,16 @@ from spack.package import *
class PyAzureMgmtAppconfiguration(PythonPackage):
- """Microsoft Azure App Configuration Management Client Library for Python.
- """
+ """Microsoft Azure App Configuration Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-appconfiguration/azure-mgmt-appconfiguration-0.5.0.zip"
- version('0.5.0', sha256='211527511d7616a383cc196956eaf2b7ee016f2367d367924b3715f2a41106da')
- version('0.4.0', sha256='85f6202ba235fde6be274f3dec1578b90235cf31979abea3fcfa476d0b2ac5b6')
+ version("0.5.0", sha256="211527511d7616a383cc196956eaf2b7ee016f2367d367924b3715f2a41106da")
+ version("0.4.0", sha256="85f6202ba235fde6be274f3dec1578b90235cf31979abea3fcfa476d0b2ac5b6")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
index 6be6200da3..ae0dc7b56e 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
@@ -14,12 +14,12 @@ class PyAzureMgmtApplicationinsights(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-applicationinsights/azure-mgmt-applicationinsights-0.3.0.zip"
- version('0.3.0', sha256='3c788a54db4fbca1a8850151462ec1471ff59c86b3a10d6082952bbdaa7e6651')
- version('0.1.1', sha256='f10229eb9e3e9d0ad20188b8d14d67055e86f3815b43b75eedf96b654bee2a9b')
+ version("0.3.0", sha256="3c788a54db4fbca1a8850151462ec1471ff59c86b3a10d6082952bbdaa7e6651")
+ version("0.1.1", sha256="f10229eb9e3e9d0ad20188b8d14d67055e86f3815b43b75eedf96b654bee2a9b")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', when='@0.3:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='@0.3: ^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", when="@0.3:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="@0.3: ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
index ecc143ee40..213a91af79 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtAuthorization(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-authorization/azure-mgmt-authorization-0.60.0.zip"
- version('0.60.0', sha256='31e875a34ac2c5d6fefe77b4a8079a8b2bdbe9edb957e47e8b44222fb212d6a7')
- version('0.52.0', sha256='16a618c4357c11e96de376856c396f09e76a56473920cdf7a66735fabaa2a70c')
+ version("0.60.0", sha256="31e875a34ac2c5d6fefe77b4a8079a8b2bdbe9edb957e47e8b44222fb212d6a7")
+ version("0.52.0", sha256="16a618c4357c11e96de376856c396f09e76a56473920cdf7a66735fabaa2a70c")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
index 7e2254d8f8..96d736a5a6 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtBatch(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-batch/azure-mgmt-batch-9.0.0.zip"
- version('9.0.0', sha256='03417eecfa1fac906e674cb1cb43ed7da27a96277277b091d7c389ba39f6c3fe')
+ version("9.0.0", sha256="03417eecfa1fac906e674cb1cb43ed7da27a96277277b091d7c389ba39f6c3fe")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
index b928f27f7b..7f2ac2c3e9 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
@@ -13,8 +13,8 @@ class PyAzureMgmtBatchai(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-batchai/azure-mgmt-batchai-2.0.0.zip"
- version('2.0.0', sha256='f1870b0f97d5001cdb66208e5a236c9717a0ed18b34dbfdb238a828f3ca2a683')
+ version("2.0.0", sha256="f1870b0f97d5001cdb66208e5a236c9717a0ed18b34dbfdb238a828f3ca2a683")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
index fd36a229a5..3201e360d7 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
@@ -13,8 +13,8 @@ class PyAzureMgmtBilling(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-billing/azure-mgmt-billing-0.2.0.zip"
- version('0.2.0', sha256='85f73bb3808a7d0d2543307e8f41e5b90a170ad6eeedd54fe7fcaac61b5b22d2')
+ version("0.2.0", sha256="85f73bb3808a7d0d2543307e8f41e5b90a170ad6eeedd54fe7fcaac61b5b22d2")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
index 4902a2164a..c7ab311506 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtBotservice(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-botservice/azure-mgmt-botservice-0.2.0.zip"
- version('0.2.0', sha256='b21d8858e69aa16d25b908c40116a1f773c127ec4dd602cbb8542ebf39a55d83')
+ version("0.2.0", sha256="b21d8858e69aa16d25b908c40116a1f773c127ec4dd602cbb8542ebf39a55d83")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
index 7d34c1727f..b843f1e476 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
@@ -14,11 +14,15 @@ class PyAzureMgmtCdn(PythonPackage):
pypi = "azure-mgmt-cdn/azure-mgmt-cdn-4.0.0.zip"
# Release candidate needed for py-azure-cli
- version('4.1.0rc1', sha256='853c73d612f5d97387e079c5841a9f1a05702173d0c7c0c59ba7b0fd86380503')
- version('4.0.0', sha256='a53e9e09e2711ce9109329538fe9a8a1a5d0809efb231d7df481e55d09c4f02a', preferred=True)
+ version("4.1.0rc1", sha256="853c73d612f5d97387e079c5841a9f1a05702173d0c7c0c59ba7b0fd86380503")
+ version(
+ "4.0.0",
+ sha256="a53e9e09e2711ce9109329538fe9a8a1a5d0809efb231d7df481e55d09c4f02a",
+ preferred=True,
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
index f3e3d5d89a..4d930be2ae 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
@@ -14,10 +14,10 @@ class PyAzureMgmtCognitiveservices(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-cognitiveservices/azure-mgmt-cognitiveservices-6.2.0.zip"
- version('6.2.0', sha256='93503507ba87c18fe24cd3dfcd54e6e69a4daf7636f38b7537e09cee9a4c13ce')
+ version("6.2.0", sha256="93503507ba87c18fe24cd3dfcd54e6e69a4daf7636f38b7537e09cee9a4c13ce")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
index ca792ce9cc..8a9d0377d1 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtCompute(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-compute/azure-mgmt-compute-13.0.0.zip"
- version('13.0.0', sha256='7f331bafcbedf25d65aa42038f7553747dab18d7f10a5af3297192d31c45339e')
+ version("13.0.0", sha256="7f331bafcbedf25d65aa42038f7553747dab18d7f10a5af3297192d31c45339e")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
index cfd875d1b3..b3d947769b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
@@ -13,12 +13,12 @@ class PyAzureMgmtConsumption(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-consumption/azure-mgmt-consumption-3.0.0.zip"
- version('3.0.0', sha256='035d4b74ca7c47e2683bea17105fd9014c27060336fb6255324ac86b27f70f5b')
- version('2.0.0', sha256='9a85a89f30f224d261749be20b4616a0eb8948586f7f0f20573b8ea32f265189')
+ version("3.0.0", sha256="035d4b74ca7c47e2683bea17105fd9014c27060336fb6255324ac86b27f70f5b")
+ version("2.0.0", sha256="9a85a89f30f224d261749be20b4616a0eb8948586f7f0f20573b8ea32f265189")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', when='@3:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@3:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='@3: ^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", when="@3:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@3:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="@3: ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
index 5c2a5b39a6..a5244283a1 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtContainerinstance(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-containerinstance/azure-mgmt-containerinstance-2.0.0.zip"
- version('2.0.0', sha256='5ad247d186c3c040da7a1d40ad39c9881e99afc58271f673abb602abb0b6b85b')
- version('1.5.0', sha256='b055386f04ba8433112b0df7fcbc260b5208828d7bb8c057e760fe596aa7a8cd')
+ version("2.0.0", sha256="5ad247d186c3c040da7a1d40ad39c9881e99afc58271f673abb602abb0b6b85b")
+ version("1.5.0", sha256="b055386f04ba8433112b0df7fcbc260b5208828d7bb8c057e760fe596aa7a8cd")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
index 535e72fb81..1cb993db2d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
@@ -14,11 +14,15 @@ class PyAzureMgmtContainerregistry(PythonPackage):
pypi = "azure-mgmt-containerregistry/azure-mgmt-containerregistry-2.8.0.zip"
# Release candidate needed for py-azure-cli
- version('3.0.0rc14', sha256='d23ce93ec5903d00f79f0ac995e16bf47197130239f7f182509add3277b73071')
- version('2.8.0', sha256='b24be1050d54f3158e8be7f6ad677f0c8888dddefd09fb8391ebfc73d40173a4', preferred=True)
+ version("3.0.0rc14", sha256="d23ce93ec5903d00f79f0ac995e16bf47197130239f7f182509add3277b73071")
+ version(
+ "2.8.0",
+ sha256="b24be1050d54f3158e8be7f6ad677f0c8888dddefd09fb8391ebfc73d40173a4",
+ preferred=True,
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
index 6c429598b8..5ae7a253bb 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
@@ -8,17 +8,16 @@ from spack.package import *
class PyAzureMgmtContainerservice(PythonPackage):
- """Microsoft Azure Container Service Management Client Library for Python.
- """
+ """Microsoft Azure Container Service Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-containerservice/azure-mgmt-containerservice-9.2.0.zip"
- version('9.2.0', sha256='e7904b60c42a153b64b1604f3c698602686b38787bebdaed6e808cd43b6e5967')
- version('9.0.1', sha256='7e4459679bdba4aa67a4b5848e63d94e965a304a7418ef7607eb7a9ce295d886')
+ version("9.2.0", sha256="e7904b60c42a153b64b1604f3c698602686b38787bebdaed6e808cd43b6e5967")
+ version("9.0.1", sha256="7e4459679bdba4aa67a4b5848e63d94e965a304a7418ef7607eb7a9ce295d886")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
index 1dd153eb95..179b4c9f0f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtCore(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-mgmt-core"
pypi = "azure-mgmt-core/azure-mgmt-core-1.2.0.zip"
- version('1.2.0', sha256='8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998')
- version('1.0.0', sha256='510faf49a10daec8346cc086143d8e667ef3b4f8c8022a8e710091027631a55e')
+ version("1.2.0", sha256="8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998")
+ version("1.0.0", sha256="510faf49a10daec8346cc086143d8e667ef3b4f8c8022a8e710091027631a55e")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.7.0:1', when='@1.2:', type=('build', 'run'))
- depends_on('py-azure-core@1.4.0:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.7.0:1", when="@1.2:", type=("build", "run"))
+ depends_on("py-azure-core@1.4.0:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
index 807c5ee6d0..1eff575860 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtCosmosdb(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-cosmosdb/azure-mgmt-cosmosdb-0.15.0.zip"
- version('0.15.0', sha256='e70fe9b3d9554c501d46e69f18b73de18d77fbcb98a7a87b965b3dd027cada0f')
+ version("0.15.0", sha256="e70fe9b3d9554c501d46e69f18b73de18d77fbcb98a7a87b965b3dd027cada0f")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
index d398efa37f..80b001f70e 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
@@ -14,10 +14,10 @@ class PyAzureMgmtDatalakeAnalytics(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-datalake-analytics/azure-mgmt-datalake-analytics-0.6.0.zip"
- version('0.6.0', sha256='0d64c4689a67d6138eb9ffbaff2eda2bace7d30b846401673183dcb42714de8f')
- version('0.2.1', sha256='4c7960d094f5847d9a456c18b8a3c8e60c428e3080a3905f1c943d81ba6351a4')
+ version("0.6.0", sha256="0d64c4689a67d6138eb9ffbaff2eda2bace7d30b846401673183dcb42714de8f")
+ version("0.2.1", sha256="4c7960d094f5847d9a456c18b8a3c8e60c428e3080a3905f1c943d81ba6351a4")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.27:1', when='@0.6:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.7:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.27:1", when="@0.6:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.7:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
index b9b64f3353..a5c2f0b52e 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
@@ -13,8 +13,8 @@ class PyAzureMgmtDatalakeStore(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-datalake-store/azure-mgmt-datalake-store-0.5.0.zip"
- version('0.5.0', sha256='9376d35495661d19f8acc5604f67b0bc59493b1835bbc480f9a1952f90017a4c')
+ version("0.5.0", sha256="9376d35495661d19f8acc5604f67b0bc59493b1835bbc480f9a1952f90017a4c")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.27:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.27:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
index cb52a43e59..c07fd64f0f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
@@ -13,12 +13,12 @@ class PyAzureMgmtDatamigration(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-datamigration/azure-mgmt-datamigration-4.0.0.zip"
- version('4.0.0', sha256='1efda568d67af911156591eb308432b5f9a56075b57ac0a5dd9f7aee17d79217')
- version('0.1.0', sha256='e754928992743f54d999800a5e0679ee3e91d804d23a25f12c2e6f2f86cd05df')
+ version("4.0.0", sha256="1efda568d67af911156591eb308432b5f9a56075b57ac0a5dd9f7aee17d79217")
+ version("0.1.0", sha256="e754928992743f54d999800a5e0679ee3e91d804d23a25f12c2e6f2f86cd05df")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', when='@4:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@4:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.27:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='@4: ^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", when="@4:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@4:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.27:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="@4: ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
index c5f9535578..7db95380ec 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtDeploymentmanager(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-deploymentmanager/azure-mgmt-deploymentmanager-0.2.0.zip"
- version('0.2.0', sha256='46e342227993fc9acab1dda42f2eb566b522a8c945ab9d0eea56276b46f6d730')
+ version("0.2.0", sha256="46e342227993fc9acab1dda42f2eb566b522a8c945ab9d0eea56276b46f6d730")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
index 53c4fdc4da..c40e4b9e8b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtDevtestlabs(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-devtestlabs/azure-mgmt-devtestlabs-4.0.0.zip"
- version('4.0.0', sha256='59549c4c4068f26466b1097b574a8e5099fb2cd6c8be0a00395b06d3b29e278d')
+ version("4.0.0", sha256="59549c4c4068f26466b1097b574a8e5099fb2cd6c8be0a00395b06d3b29e278d")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
index c02f7cd71f..296bccfc78 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtDns(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-dns/azure-mgmt-dns-3.0.0.zip"
- version('3.0.0', sha256='6ecdf4e67d8eb5db593ec331e6d9f350616e77c31225c91d266605e03e63b37f')
- version('2.1.0', sha256='3730b1b3f545a5aa43c0fff07418b362a789eb7d81286e2bed90ffef88bfa5d0')
+ version("3.0.0", sha256="6ecdf4e67d8eb5db593ec331e6d9f350616e77c31225c91d266605e03e63b37f")
+ version("2.1.0", sha256="3730b1b3f545a5aa43c0fff07418b362a789eb7d81286e2bed90ffef88bfa5d0")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
index da86459d40..fca080d8a0 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
@@ -14,11 +14,15 @@ class PyAzureMgmtEventgrid(PythonPackage):
pypi = "azure-mgmt-eventgrid/azure-mgmt-eventgrid-2.2.0.zip"
# Release candidate needed for py-azure-cli
- version('3.0.0rc7', sha256='68f9eb18b74fa86e07cf4e4d1a2ed16fe549bdd53f21a707b05798616b01a9d4')
- version('2.2.0', sha256='c62058923ed20db35b04491cd1ad6a692f337244d05c377ecc14a53c06651cc3', preferred=True)
+ version("3.0.0rc7", sha256="68f9eb18b74fa86e07cf4e4d1a2ed16fe549bdd53f21a707b05798616b01a9d4")
+ version(
+ "2.2.0",
+ sha256="c62058923ed20db35b04491cd1ad6a692f337244d05c377ecc14a53c06651cc3",
+ preferred=True,
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
index 8f1295738d..4cf291d908 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtEventhub(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-eventhub/azure-mgmt-eventhub-4.0.0.zip"
- version('4.0.0', sha256='65223196cf132899656c2f9cb71a14c972d99e5ecd815ee050dae1072cb73ae2')
+ version("4.0.0", sha256="65223196cf132899656c2f9cb71a14c972d99e5ecd815ee050dae1072cb73ae2")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
index 0c63082651..cb04699a62 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtHdinsight(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-hdinsight/azure-mgmt-hdinsight-1.5.1.zip"
- version('1.5.1', sha256='76b94f3e43fdc6698023d79be731937dc645dc3178dc134854768528ecc0aea3')
+ version("1.5.1", sha256="76b94f3e43fdc6698023d79be731937dc645dc3178dc134854768528ecc0aea3")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
index b34f9ee5e9..0649c97302 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtImagebuilder(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-imagebuilder/azure-mgmt-imagebuilder-0.4.0.zip"
- version('0.4.0', sha256='4c9291bf16b40b043637e5e4f15650f71418ac237393e62219cab478a7951733')
+ version("0.4.0", sha256="4c9291bf16b40b043637e5e4f15650f71418ac237393e62219cab478a7951733")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
index ba94935f13..c530a6e795 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtIotcentral(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-iotcentral/azure-mgmt-iotcentral-3.1.0.zip"
- version('3.1.0', sha256='c175f6642be514ad0efd3dc03d09e50d923596fd9e634381793dcc46bb8a57c7')
- version('3.0.0', sha256='f6dacf442ccae2f18f1082e80bcbdcaa8c0efa2ba92b48c5db6ee01d37240047')
+ version("3.1.0", sha256="c175f6642be514ad0efd3dc03d09e50d923596fd9e634381793dcc46bb8a57c7")
+ version("3.0.0", sha256="f6dacf442ccae2f18f1082e80bcbdcaa8c0efa2ba92b48c5db6ee01d37240047")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
index be03bf9208..e7be4eb632 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtIothub(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-iothub/azure-mgmt-iothub-0.12.0.zip"
- version('0.12.0', sha256='da20ee2b9b9a2c2f89be9037c3ee5421152e7f6d718eafbf50a91dbf0a07ffa0')
+ version("0.12.0", sha256="da20ee2b9b9a2c2f89be9037c3ee5421152e7f6d718eafbf50a91dbf0a07ffa0")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
index b30c42882e..7332e88135 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
@@ -8,14 +8,13 @@ from spack.package import *
class PyAzureMgmtIothubprovisioningservices(PythonPackage):
- """Microsoft Azure IoTHub Provisioning Services Client Library for Python.
- """
+ """Microsoft Azure IoTHub Provisioning Services Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-iothubprovisioningservices/azure-mgmt-iothubprovisioningservices-0.2.0.zip"
- version('0.2.0', sha256='8c37acfd1c33aba845f2e0302ef7266cad31cba503cc990a48684659acb7b91d')
+ version("0.2.0", sha256="8c37acfd1c33aba845f2e0302ef7266cad31cba503cc990a48684659acb7b91d")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
index 1663a2dd73..b61a7f1127 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-keyvault/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtKeyvault(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-keyvault/azure-mgmt-keyvault-2.2.0.zip"
- version('2.2.0', sha256='1883e12eeb5819064dc52bf3a3ade05c791f4b66e4aeec948bda28df6ce2bce4')
+ version("2.2.0", sha256="1883e12eeb5819064dc52bf3a3ade05c791f4b66e4aeec948bda28df6ce2bce4")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
index ac5707b6e4..d9b405f937 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtKusto(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-kusto/azure-mgmt-kusto-0.9.0.zip"
- version('0.9.0', sha256='9210db89fa18ee8ed53339cd63bbe6fe1d9624cd793b54b7451ddbda8ae92ef3')
- version('0.3.0', sha256='9eb8b7781fd4410ee9e207cd0c3983baf9e58414b5b4a18849d09856e36bacde')
+ version("0.9.0", sha256="9210db89fa18ee8ed53339cd63bbe6fe1d9624cd793b54b7451ddbda8ae92ef3")
+ version("0.3.0", sha256="9eb8b7781fd4410ee9e207cd0c3983baf9e58414b5b4a18849d09856e36bacde")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
index 7f0b4e3258..f4a030df77 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtLoganalytics(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-loganalytics/azure-mgmt-loganalytics-0.7.0.zip"
- version('0.7.0', sha256='50fb7f714685d170ce9607e3c30488e194015845ef7f0a717b80609837a6c2a2')
+ version("0.7.0", sha256="50fb7f714685d170ce9607e3c30488e194015845ef7f0a717b80609837a6c2a2")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
index 1ffa466d81..63822e682c 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtManagedservices(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-managedservices/azure-mgmt-managedservices-1.0.0.zip"
- version('1.0.0', sha256='fed8399fc6773aada37c1d0496a46f59410d77c9494d0ca5967c531c3376ad19')
+ version("1.0.0", sha256="fed8399fc6773aada37c1d0496a46f59410d77c9494d0ca5967c531c3376ad19")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
index cfb7661e64..c6f8fa2e7b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtManagementgroups(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-managementgroups/azure-mgmt-managementgroups-0.2.0.zip"
- version('0.2.0', sha256='3d5237947458dc94b4a392141174b1c1258d26611241ee104e9006d1d798f682')
+ version("0.2.0", sha256="3d5237947458dc94b4a392141174b1c1258d26611241ee104e9006d1d798f682")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
index 2670e72a69..f83c3a9f5d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
@@ -13,8 +13,8 @@ class PyAzureMgmtMaps(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-maps/azure-mgmt-maps-0.1.0.zip"
- version('0.1.0', sha256='c120e210bb61768da29de24d28b82f8d42ae24e52396eb6569b499709e22f006')
+ version("0.1.0", sha256="c120e210bb61768da29de24d28b82f8d42ae24e52396eb6569b499709e22f006")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrestazure@0.4.27:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrestazure@0.4.27:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
index 4ce5d62661..7ed14ad591 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtMarketplaceordering(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-marketplaceordering/azure-mgmt-marketplaceordering-0.2.1.zip"
- version('0.2.1', sha256='dc765cde7ec03efe456438c85c6207c2f77775a8ce8a7adb19b0df5c5dc513c2')
+ version("0.2.1", sha256="dc765cde7ec03efe456438c85c6207c2f77775a8ce8a7adb19b0df5c5dc513c2")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
index de7297ee49..dced7f96f3 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtMedia(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-media/azure-mgmt-media-2.2.0.zip"
- version('2.2.0', sha256='0adeee9e654a9011f5107def06fea6838864a3514a1e5a9ed495f3a56a687cc7')
+ version("2.2.0", sha256="0adeee9e654a9011f5107def06fea6838864a3514a1e5a9ed495f3a56a687cc7")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
index ac87d84e73..c952ab59b4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtMonitor(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-monitor/azure-mgmt-monitor-0.11.0.zip"
- version('0.11.0', sha256='c6e1fe83dd2ddffa7f6d90c7aa63b3128042396a3893c14dc4816ad28cb15016')
- version('0.10.0', sha256='d57d604cc1a7a9ce35eb7cf8a00d4924887c688aa78dc035ea1f80066b297464')
+ version("0.11.0", sha256="c6e1fe83dd2ddffa7f6d90c7aa63b3128042396a3893c14dc4816ad28cb15016")
+ version("0.10.0", sha256="d57d604cc1a7a9ce35eb7cf8a00d4924887c688aa78dc035ea1f80066b297464")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
index 3e1880b463..2ab777bda4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
@@ -13,12 +13,12 @@ class PyAzureMgmtMsi(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-msi/azure-mgmt-msi-1.0.0.zip"
- version('1.0.0', sha256='d46f3aab25db3dad520e4055c1d67afe4fcc6d66335c762134e60f82265f8f58')
- version('0.2.0', sha256='8622bc9a164169a0113728ebe7fd43a88189708ce6e10d4507247d6907987167')
+ version("1.0.0", sha256="d46f3aab25db3dad520e4055c1d67afe4fcc6d66335c762134e60f82265f8f58")
+ version("0.2.0", sha256="8622bc9a164169a0113728ebe7fd43a88189708ce6e10d4507247d6907987167")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', when='@1:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@1:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.27:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='@1: ^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", when="@1:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@1:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.27:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="@1: ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
index 263532169e..e164bc48b9 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtNetapp(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-netapp/azure-mgmt-netapp-0.11.0.zip"
- version('0.11.0', sha256='621a76b06c97e858d49b68953e66eb718ac24f91aa6bf090f32a335a38f02305')
- version('0.8.0', sha256='67df7c7391c2179423a95927a639492c3a177bff8f3a80e4b2d666a86e2d6f6d')
+ version("0.11.0", sha256="621a76b06c97e858d49b68953e66eb718ac24f91aa6bf090f32a335a38f02305")
+ version("0.8.0", sha256="67df7c7391c2179423a95927a639492c3a177bff8f3a80e4b2d666a86e2d6f6d")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
index ee423ebbdc..b59ce924a4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtNetwork(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-network/azure-mgmt-network-11.0.0.zip"
- version('11.0.0', sha256='7fdfc631c660cb173eee88abbb7b8be7742f91b522be6017867f217409cd69bc')
- version('10.2.0', sha256='d50c74cdc1c9be6861ddef9adffd3b05afc5a5092baf0209eea30f4439cba2d9')
+ version("11.0.0", sha256="7fdfc631c660cb173eee88abbb7b8be7742f91b522be6017867f217409cd69bc")
+ version("10.2.0", sha256="d50c74cdc1c9be6861ddef9adffd3b05afc5a5092baf0209eea30f4439cba2d9")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
index 546a6d69fa..712535ebc1 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-nspkg/package.py
@@ -13,7 +13,7 @@ class PyAzureMgmtNspkg(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-nspkg/azure-mgmt-nspkg-3.0.2.zip"
- version('3.0.2', sha256='8b2287f671529505b296005e6de9150b074344c2c7d1c805b3f053d081d58c52')
+ version("3.0.2", sha256="8b2287f671529505b296005e6de9150b074344c2c7d1c805b3f053d081d58c52")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-nspkg@3.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-nspkg@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
index 97f0afc701..c940398ece 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtPolicyinsights(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-policyinsights/azure-mgmt-policyinsights-0.5.0.zip"
- version('0.5.0', sha256='ed229e3845c477e88dde413825d4fba0d38b3a5ffab4e694c7d0da995f3db0f3')
+ version("0.5.0", sha256="ed229e3845c477e88dde413825d4fba0d38b3a5ffab4e694c7d0da995f3db0f3")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
index 939a70dd85..90ebf5a0e5 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtPrivatedns(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-privatedns/azure-mgmt-privatedns-0.1.0.zip"
- version('0.1.0', sha256='d29cfd8cec806e06673d9382d3f5766fc65d9a9de75b424705094a34a7db8d23')
+ version("0.1.0", sha256="d29cfd8cec806e06673d9382d3f5766fc65d9a9de75b424705094a34a7db8d23")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
index e13bee484e..ebf4c718c7 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtRdbms(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-rdbms/azure-mgmt-rdbms-2.2.0.zip"
- version('2.2.0', sha256='f93344897a9bfa6ebc57dd0c10ad79602ff7965c322c65115e3f4b8584bbe1c7')
+ version("2.2.0", sha256="f93344897a9bfa6ebc57dd0c10ad79602ff7965c322c65115e3f4b8584bbe1c7")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
index e2104c03b1..01003a30b4 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtRecoveryservices(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-recoveryservices/azure-mgmt-recoveryservices-0.5.0.zip"
- version('0.5.0', sha256='3c90e6b2e358dbe6d5c6d7204955bdf52c3e977c6f8b727cbbb8811427d7fd52')
- version('0.4.0', sha256='e1e794760232239f8a9328d5de1740565ff70d1612a2921c9609746ba5671e6c')
+ version("0.5.0", sha256="3c90e6b2e358dbe6d5c6d7204955bdf52c3e977c6f8b727cbbb8811427d7fd52")
+ version("0.4.0", sha256="e1e794760232239f8a9328d5de1740565ff70d1612a2921c9609746ba5671e6c")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
index 4ec0fd0290..4d6c047323 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
@@ -14,11 +14,11 @@ class PyAzureMgmtRecoveryservicesbackup(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-recoveryservicesbackup/azure-mgmt-recoveryservicesbackup-0.8.0.zip"
- version('0.8.0', sha256='a0ee89691b21945cc4b892a9194320f50c1cd242d98f00a82d7e3848c28517a5')
- version('0.6.0', sha256='4df62479c90a6f93e7689f9d58e0a139899f0407f5e3298d5ce014442599428f')
+ version("0.8.0", sha256="a0ee89691b21945cc4b892a9194320f50c1cd242d98f00a82d7e3848c28517a5")
+ version("0.6.0", sha256="4df62479c90a6f93e7689f9d58e0a139899f0407f5e3298d5ce014442599428f")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
index 401b991612..2652e2e969 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
@@ -8,16 +8,15 @@ from spack.package import *
class PyAzureMgmtRedhatopenshift(PythonPackage):
- """Microsoft Azure Red Hat Openshift Management Client Library for Python.
- """
+ """Microsoft Azure Red Hat Openshift Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-redhatopenshift/azure-mgmt-redhatopenshift-0.1.0.zip"
- version('0.1.0', sha256='565afbc63f5283f37c76135174f2ca20dd417da3e24b3fb1e132c4a0e2a2c5bc')
+ version("0.1.0", sha256="565afbc63f5283f37c76135174f2ca20dd417da3e24b3fb1e132c4a0e2a2c5bc")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
index 7ff5e22446..a918c444c2 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
@@ -14,11 +14,15 @@ class PyAzureMgmtRedis(PythonPackage):
pypi = "azure-mgmt-redis/azure-mgmt-redis-6.0.0.zip"
# Release candidate needed for py-azure-cli
- version('7.0.0rc1', sha256='d3cc259c507b79962495ed00d0a3432a45e4e90a0fb48b49e80d51cdc398dc20')
- version('6.0.0', sha256='db999e104edeee3a13a8ceb1881e15196fe03a02635e0e20855eb52c1e2ecca1', preferred=True)
+ version("7.0.0rc1", sha256="d3cc259c507b79962495ed00d0a3432a45e4e90a0fb48b49e80d51cdc398dc20")
+ version(
+ "6.0.0",
+ sha256="db999e104edeee3a13a8ceb1881e15196fe03a02635e0e20855eb52c1e2ecca1",
+ preferred=True,
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
index 34038350f4..d0cc64aa72 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
@@ -13,12 +13,12 @@ class PyAzureMgmtRelay(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-relay/azure-mgmt-relay-0.2.0.zip"
- version('0.2.0', sha256='a7e8341b2920d1d45bdf73d2b7825c44427d33fb0d820aceb11c94432323bf68')
- version('0.1.0', sha256='d9f987cf2998b8a354f331b2a71082c049193f1e1cd345812e14b9b821365acb')
+ version("0.2.0", sha256="a7e8341b2920d1d45bdf73d2b7825c44427d33fb0d820aceb11c94432323bf68")
+ version("0.1.0", sha256="d9f987cf2998b8a354f331b2a71082c049193f1e1cd345812e14b9b821365acb")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', when='@0.2:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', when='@0.2:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.20:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='@0.2: ^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", when="@0.2:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", when="@0.2:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.20:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="@0.2: ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
index 8e348946b5..e1ec121b9a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtReservations(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-reservations/azure-mgmt-reservations-0.7.0.zip"
- version('0.7.0', sha256='f65c1985a47e0ac55e7d5d9cc1bd5e95335a111566edc289d460aa2bc8f80991')
- version('0.6.0', sha256='83a9a70d6fd78b8b3e92ca64bbc1fde8d1bc5e2efea54076052c51c946b4cc9b')
+ version("0.7.0", sha256="f65c1985a47e0ac55e7d5d9cc1bd5e95335a111566edc289d460aa2bc8f80991")
+ version("0.6.0", sha256="83a9a70d6fd78b8b3e92ca64bbc1fde8d1bc5e2efea54076052c51c946b4cc9b")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
index dbb44caed1..dbf7655653 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-resource/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtResource(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-resource/azure-mgmt-resource-10.0.0.zip"
- version('10.0.0', sha256='bd9a3938f5423741329436d2da09693845c2fad96c35fadbd7c5ae5213208345')
+ version("10.0.0", sha256="bd9a3938f5423741329436d2da09693845c2fad96c35fadbd7c5ae5213208345")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
index 1d7a38af98..0b3e764575 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtSearch(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-search/azure-mgmt-search-2.1.0.zip"
- version('2.1.0', sha256='92a40a1a7a9e3a82b6fa302042799e8d5a67d3996c20835af72afc14f1610501')
+ version("2.1.0", sha256="92a40a1a7a9e3a82b6fa302042799e8d5a67d3996c20835af72afc14f1610501")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
index b567fb6605..8ee085084b 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtSecurity(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-security/azure-mgmt-security-0.4.1.zip"
- version('0.4.1', sha256='391c8df5400485049a6c19d50e536304c186bb64fd569eec0c6d01d20220ee21')
+ version("0.4.1", sha256="391c8df5400485049a6c19d50e536304c186bb64fd569eec0c6d01d20220ee21")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
index b440093346..7d3b9f6ae1 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtServicebus(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-servicebus/azure-mgmt-servicebus-0.6.0.zip"
- version('0.6.0', sha256='f20920b8fb119ef4abeda4d2dac765a4fc48cd0bcf30c27f8c4cc6d890bc08b1')
+ version("0.6.0", sha256="f20920b8fb119ef4abeda4d2dac765a4fc48cd0bcf30c27f8c4cc6d890bc08b1")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
index 9fcd42e747..f2b1c576bc 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtServicefabric(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-servicefabric/azure-mgmt-servicefabric-0.4.0.zip"
- version('0.4.0', sha256='a2cbd2797e796a550a93d37229b2ded22765f50166730a63c8e20a27677e28f4')
+ version("0.4.0", sha256="a2cbd2797e796a550a93d37229b2ded22765f50166730a63c8e20a27677e28f4")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
index 0ea0b50c07..07f7212a6d 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtSignalr(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-signalr/azure-mgmt-signalr-0.4.0.zip"
- version('0.4.0', sha256='6503ddda9d6f4b634dfeb8eb4bcd14ede5e0900585f6c83bf9010cf82215c126')
+ version("0.4.0", sha256="6503ddda9d6f4b634dfeb8eb4bcd14ede5e0900585f6c83bf9010cf82215c126")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
index 429907f482..882d6312dc 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtSql(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-sql/azure-mgmt-sql-0.19.0.zip"
- version('0.19.0', sha256='694649d4c9c5f89e543f23ec10e450b6382b2f1bc5843ef266cfc302276038c6')
+ version("0.19.0", sha256="694649d4c9c5f89e543f23ec10e450b6382b2f1bc5843ef266cfc302276038c6")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
index dcc8da8a01..20c44f065f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
@@ -14,10 +14,10 @@ class PyAzureMgmtSqlvirtualmachine(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-sqlvirtualmachine/azure-mgmt-sqlvirtualmachine-0.5.0.zip"
- version('0.5.0', sha256='b5a9423512a7b12844ac014366a1d53c81017a14f39676beedf004a532aa2aad')
+ version("0.5.0", sha256="b5a9423512a7b12844ac014366a1d53c81017a14f39676beedf004a532aa2aad")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
index da08c663b1..048b590c55 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
@@ -13,11 +13,11 @@ class PyAzureMgmtStorage(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-storage/azure-mgmt-storage-11.1.0.zip"
- version('11.1.0', sha256='ef23587c1b6dc0866ebf0e91e83ba05d7f7e4fea7951b704781b9cd9f5f27f1c')
- version('11.0.0', sha256='f9791c2a84eee0a55bbf757632a2a4d1e102db958e75422d5e0e7306041129b8')
+ version("11.1.0", sha256="ef23587c1b6dc0866ebf0e91e83ba05d7f7e4fea7951b704781b9cd9f5f27f1c")
+ version("11.0.0", sha256="f9791c2a84eee0a55bbf757632a2a4d1e102db958e75422d5e0e7306041129b8")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
index 47c35ea53d..72ff39a93e 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtTrafficmanager(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-trafficmanager/azure-mgmt-trafficmanager-0.51.0.zip"
- version('0.51.0', sha256='fc8ae77022cfe52fda4379a2f31e0b857574d536e41291a7b569b5c0f4104186')
+ version("0.51.0", sha256="fc8ae77022cfe52fda4379a2f31e0b857574d536e41291a7b569b5c0f4104186")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
index fee78efc7d..61a56ded5f 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
@@ -13,10 +13,10 @@ class PyAzureMgmtWeb(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-mgmt-web/azure-mgmt-web-0.47.0.zip"
- version('0.47.0', sha256='789a328e2a60df48a82452ca6fbc1a7b4adf3c38d4701d278efe4e81cf21cce8')
+ version("0.47.0", sha256="789a328e2a60df48a82452ca6fbc1a7b4adf3c38d4701d278efe4e81cf21cce8")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.5.0:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.32:1', type=('build', 'run'))
- depends_on('py-azure-common@1.1:1', type=('build', 'run'))
- depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.5.0:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.32:1", type=("build", "run"))
+ depends_on("py-azure-common@1.1:1", type=("build", "run"))
+ depends_on("py-azure-mgmt-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
index 611cda21fd..abe31a5c3a 100644
--- a/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
@@ -14,13 +14,13 @@ class PyAzureMultiapiStorage(PythonPackage):
homepage = "https://github.com/Azure/azure-multiapi-storage-python"
pypi = "azure-multiapi-storage/azure-multiapi-storage-0.3.5.tar.gz"
- version('0.3.5', sha256='71c238c785786a159b3ffd587a5e7fa1d9a517b66b592ae277fed73a9fbfa2b0')
+ version("0.3.5", sha256="71c238c785786a159b3ffd587a5e7fa1d9a517b66b592ae277fed73a9fbfa2b0")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-common', type=('build', 'run'))
- depends_on('py-cryptography', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-azure-core', type=('build', 'run'))
- depends_on('py-futures', when='^python@:2', type=('build', 'run'))
- depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-common", type=("build", "run"))
+ depends_on("py-cryptography", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-azure-core", type=("build", "run"))
+ depends_on("py-futures", when="^python@:2", type=("build", "run"))
+ depends_on("py-azure-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
index cc129c716d..17f43d54ce 100644
--- a/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-nspkg/package.py
@@ -13,6 +13,6 @@ class PyAzureNspkg(PythonPackage):
homepage = "hhttps://github.com/Azure/azure-sdk-for-python"
pypi = "azure-nspkg/azure-nspkg-3.0.2.zip"
- version('3.0.2', sha256='e7d3cea6af63e667d87ba1ca4f8cd7cb4dfca678e4c55fc1cedb320760e39dd0')
+ version("3.0.2", sha256="e7d3cea6af63e667d87ba1ca4f8cd7cb4dfca678e4c55fc1cedb320760e39dd0")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-blob/package.py b/var/spack/repos/builtin/packages/py-azure-storage-blob/package.py
index 0ad7d3372a..c5183a2a77 100644
--- a/var/spack/repos/builtin/packages/py-azure-storage-blob/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-storage-blob/package.py
@@ -11,17 +11,17 @@ class PyAzureStorageBlob(PythonPackage):
homepage = "https://github.com/Azure/azure-storage-python"
pypi = "azure-storage-blob/azure-storage-blob-12.9.0.zip"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('12.9.0', sha256='cff66a115c73c90e496c8c8b3026898a3ce64100840276e9245434e28a864225')
+ version("12.9.0", sha256="cff66a115c73c90e496c8c8b3026898a3ce64100840276e9245434e28a864225")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-core@1.10:1', type=('build', 'run'))
- depends_on('py-msrest@0.6.21:', type=('build', 'run'))
- depends_on('py-cryptography@2.1.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-core@1.10:1", type=("build", "run"))
+ depends_on("py-msrest@0.6.21:", type=("build", "run"))
+ depends_on("py-cryptography@2.1.4:", type=("build", "run"))
- depends_on('py-futures', type=('build', 'run'), when='^python@:2')
- depends_on('py-azure-storage-nspkg@3', type=('build', 'run'), when='^python@:2')
+ depends_on("py-futures", type=("build", "run"), when="^python@:2")
+ depends_on("py-azure-storage-nspkg@3", type=("build", "run"), when="^python@:2")
- depends_on('py-enum34@1.0.4:', type=('build', 'run'), when=('^python@:3.3'))
- depends_on('py-typing', type=('build', 'run'), when=('^python@:3.4'))
+ depends_on("py-enum34@1.0.4:", type=("build", "run"), when=("^python@:3.3"))
+ depends_on("py-typing", type=("build", "run"), when=("^python@:3.4"))
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-common/package.py b/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
index d088d43b48..5b901a5f31 100644
--- a/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
@@ -13,12 +13,12 @@ class PyAzureStorageCommon(PythonPackage):
homepage = "https://github.com/Azure/azure-storage-python"
pypi = "azure-storage-common/azure-storage-common-2.1.0.tar.gz"
- version('2.1.0', sha256='ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f')
- version('1.4.2', sha256='4ec87c7537d457ec95252e0e46477e2c1ccf33774ffefd05d8544682cb0ae401')
+ version("2.1.0", sha256="ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f")
+ version("1.4.2", sha256="4ec87c7537d457ec95252e0e46477e2c1ccf33774ffefd05d8544682cb0ae401")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-common@1.1.5:', type=('build', 'run'))
- depends_on('py-cryptography', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-azure-storage-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-common@1.1.5:", type=("build", "run"))
+ depends_on("py-cryptography", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-azure-storage-nspkg", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
index a0c0bedab0..852b19daa4 100644
--- a/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
@@ -13,7 +13,7 @@ class PyAzureStorageNspkg(PythonPackage):
homepage = "https://github.com/Azure/azure-storage-python"
pypi = "azure-storage-nspkg/azure-storage-nspkg-3.1.0.tar.gz"
- version('3.1.0', sha256='6f3bbe8652d5f542767d8433e7f96b8df7f518774055ac7c92ed7ca85f653811')
+ version("3.1.0", sha256="6f3bbe8652d5f542767d8433e7f96b8df7f518774055ac7c92ed7ca85f653811")
- depends_on('py-setuptools', type='build')
- depends_on('py-azure-nspkg@2.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-azure-nspkg@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
index a6dc336a1b..03077c7cf0 100644
--- a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
@@ -12,19 +12,31 @@ class PyAzuremlAutomlCore(PythonPackage):
used by the azureml-train-automl package."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_automl_core/azureml_automl_core-1.11.0-py3-none-any.whl"
-
- version('1.23.0', sha256='1fa4a900856b15e1ec9a6bb949946ed0c873a5a54da3db592f03dbb46a117ceb', expand=False)
- version('1.11.0', sha256='da1b9cef9aabbfaee69a19d5e15f5a911eefbd126546738343a78c032860b5a5', expand=False)
- version('1.8.0', sha256='58ce54b01570996cda860c0c80693b8db19324785a356573f105afeaa31cae6c', expand=False)
-
- depends_on('python@3.5:3', type=('build', 'run'))
-
- depends_on('py-azureml-dataset-runtime@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-dataset-runtime@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-dataprep@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/a/azureml_automl_core/azureml_automl_core-1.11.0-py3-none-any.whl"
+
+ version(
+ "1.23.0",
+ sha256="1fa4a900856b15e1ec9a6bb949946ed0c873a5a54da3db592f03dbb46a117ceb",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="da1b9cef9aabbfaee69a19d5e15f5a911eefbd126546738343a78c032860b5a5",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="58ce54b01570996cda860c0c80693b8db19324785a356573f105afeaa31cae6c",
+ expand=False,
+ )
+
+ depends_on("python@3.5:3", type=("build", "run"))
+
+ depends_on("py-azureml-dataset-runtime@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on("py-azureml-dataset-runtime@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on("py-azureml-dataprep@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-core/package.py b/var/spack/repos/builtin/packages/py-azureml-core/package.py
index 6efc300630..6d0a2a3e00 100644
--- a/var/spack/repos/builtin/packages/py-azureml-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-core/package.py
@@ -15,37 +15,49 @@ class PyAzuremlCore(PythonPackage):
"""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_core/azureml_core-1.11.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_core/azureml_core-1.11.0-py3-none-any.whl"
- version('1.23.0', sha256='0965d0741e39cdb95cff5880dbf1a55fdd87cd9fc316884f965668e6cc36e628', expand=False)
- version('1.11.0', sha256='df8a01b04bb156852480de0bdd78434ed84f386e1891752bdf887faeaa2ca417', expand=False)
- version('1.8.0', sha256='a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105', expand=False)
+ version(
+ "1.23.0",
+ sha256="0965d0741e39cdb95cff5880dbf1a55fdd87cd9fc316884f965668e6cc36e628",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="df8a01b04bb156852480de0bdd78434ed84f386e1891752bdf887faeaa2ca417",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105",
+ expand=False,
+ )
- depends_on('python@3.5:3.8', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-backports-tempfile', type=('build', 'run'))
- depends_on('py-pathspec', type=('build', 'run'))
- depends_on('py-requests@2.19.1:2', type=('build', 'run'))
- depends_on('py-azure-mgmt-resource@1.2.1:14', type=('build', 'run'))
- depends_on('py-azure-mgmt-containerregistry@2.0.0:', type=('build', 'run'))
- depends_on('py-azure-mgmt-storage@1.5.0:15', type=('build', 'run'))
- depends_on('py-azure-mgmt-keyvault@0.40.0:6', type=('build', 'run'))
- depends_on('py-azure-mgmt-authorization@0.40.0:0', type=('build', 'run'))
- depends_on('py-azure-mgmt-network@10.0:10', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azure-graphrbac@0.40.0:0', type=('build', 'run'))
- depends_on('py-azure-common@1.1.12:', type=('build', 'run'))
- depends_on('py-msrest@0.5.1:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.33:', type=('build', 'run'))
- depends_on('py-urllib3@1.23:', type=('build', 'run'))
- depends_on('py-cryptography@:1.8,2.3:3.2', type=('build', 'run'))
- depends_on('py-python-dateutil@2.7.3:', type=('build', 'run'))
- depends_on('py-ndg-httpsclient', type=('build', 'run'))
- depends_on('py-secretstorage', type=('build', 'run'))
- depends_on('py-ruamel-yaml@0.15.35:', type=('build', 'run'))
- depends_on('py-jsonpickle', type=('build', 'run'))
- depends_on('py-contextlib2', type=('build', 'run'))
- depends_on('py-docker', type=('build', 'run'))
- depends_on('py-pyjwt@:2', type=('build', 'run'))
- depends_on('py-adal@1.2.0:', type=('build', 'run'))
- depends_on('py-pyopenssl@:20', type=('build', 'run'))
- depends_on('py-jmespath', type=('build', 'run'))
+ depends_on("python@3.5:3.8", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-backports-tempfile", type=("build", "run"))
+ depends_on("py-pathspec", type=("build", "run"))
+ depends_on("py-requests@2.19.1:2", type=("build", "run"))
+ depends_on("py-azure-mgmt-resource@1.2.1:14", type=("build", "run"))
+ depends_on("py-azure-mgmt-containerregistry@2.0.0:", type=("build", "run"))
+ depends_on("py-azure-mgmt-storage@1.5.0:15", type=("build", "run"))
+ depends_on("py-azure-mgmt-keyvault@0.40.0:6", type=("build", "run"))
+ depends_on("py-azure-mgmt-authorization@0.40.0:0", type=("build", "run"))
+ depends_on("py-azure-mgmt-network@10.0:10", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azure-graphrbac@0.40.0:0", type=("build", "run"))
+ depends_on("py-azure-common@1.1.12:", type=("build", "run"))
+ depends_on("py-msrest@0.5.1:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.33:", type=("build", "run"))
+ depends_on("py-urllib3@1.23:", type=("build", "run"))
+ depends_on("py-cryptography@:1.8,2.3:3.2", type=("build", "run"))
+ depends_on("py-python-dateutil@2.7.3:", type=("build", "run"))
+ depends_on("py-ndg-httpsclient", type=("build", "run"))
+ depends_on("py-secretstorage", type=("build", "run"))
+ depends_on("py-ruamel-yaml@0.15.35:", type=("build", "run"))
+ depends_on("py-jsonpickle", type=("build", "run"))
+ depends_on("py-contextlib2", type=("build", "run"))
+ depends_on("py-docker", type=("build", "run"))
+ depends_on("py-pyjwt@:2", type=("build", "run"))
+ depends_on("py-adal@1.2.0:", type=("build", "run"))
+ depends_on("py-pyopenssl@:20", type=("build", "run"))
+ depends_on("py-jmespath", type=("build", "run"))
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 26e97f2e43..96a2922a60 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
@@ -13,38 +13,88 @@ class PyAzuremlDataprepNative(PythonPackage):
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,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-macosx_10_9_x86_64.whl')
- version('30.0.0-py3.8', sha256='6772b638f9d03a041b17ce4343061f5d543019200904b9d361b2b2629c3595a7', expand=False, preferred=True,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-macosx_10_9_x86_64.whl')
- version('30.0.0-py3.7', sha256='1fb47c48edf795aaa1b3e589a4d580fc61d639c0bb26519271736c72155d008e', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp37-cp37m-macosx_10_9_x86_64.whl')
- version('30.0.0-py3.6', sha256='bd81f0ac0df442b4e09bd2ee76ccff1279437b73e08324d9038c13a5e4708598', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp36-cp36m-macosx_10_9_x86_64.whl')
- version('30.0.0-py3.5', sha256='2d1702a2dd9b851ccba9d4624a240f5657f3f34a89977f01ee99f9ccaab905a9', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp35-cp35m-macosx_10_9_x86_64.whl')
-
- version('14.2.1-py3.7', sha256='0711ea6465a555d4ed052b7ecf3ed580d711ca7499a12be4c9736d5555ab2786', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-14.2.1-cp37-cp37m-macosx_10_9_x86_64.whl')
- elif sys.platform.startswith('linux'):
- version('30.0.0-py3.9', sha256='b8673136948f682c84d047feacbfee436df053cba4f386f31c4c3a245a4e3646', expand=False,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-manylinux1_x86_64.whl')
- version('30.0.0-py3.8', sha256='d07cf20f22b14c98576e135bbad9bb8aaa3108941d2beaadf050b4238bc93a18', expand=False, preferred=True,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-manylinux1_x86_64.whl')
- version('30.0.0-py3.7', sha256='897063c21d7b1b8cb070f8992e78291c402559434e9d4a5bb85b595a5c676fe6', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp37-cp37m-manylinux1_x86_64.whl')
- version('30.0.0-py3.6', sha256='d2560d3f20cd3b8ad2d2159b1048b83dd330cf8c44aa8becedd6dcaf72876062', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp36-cp36m-manylinux1_x86_64.whl')
- version('30.0.0-py3.5', sha256='15b55d903d5688b5a9a290e388db62c8f3d042bc1796db44723f4455b7b18d07', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp35-cp35m-manylinux1_x86_64.whl')
-
- version('14.2.1-py3.7', sha256='0817ec5c378a9bcd1af8edda511ca9d02bdc7087e6f8802c459c9b8f3fde4ade', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-14.2.1-cp37-cp37m-manylinux1_x86_64.whl')
-
- depends_on('python@3.9.0:3.9', when='@30.0.0-py3.9', type=('build', 'run'))
- depends_on('python@3.8.0:3.8', when='@30.0.0-py3.8', type=('build', 'run'))
- depends_on('python@3.7.0:3.7', when='@30.0.0-py3.7', type=('build', 'run'))
- depends_on('python@3.6.0:3.6', when='@30.0.0-py3.6', type=('build', 'run'))
- depends_on('python@3.5.0:3.5', when='@30.0.0-py3.5', type=('build', 'run'))
- depends_on('python@3.7.0:3.7', when='@14.2.1-py3.7', type=('build', 'run'))
+ if sys.platform == "darwin":
+ version(
+ "30.0.0-py3.9",
+ sha256="eaf3fcd9f965e87b03fe89d7c6fe6abce53483a79afc963e4981061f4c250e85",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.8",
+ sha256="6772b638f9d03a041b17ce4343061f5d543019200904b9d361b2b2629c3595a7",
+ expand=False,
+ preferred=True,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.7",
+ sha256="1fb47c48edf795aaa1b3e589a4d580fc61d639c0bb26519271736c72155d008e",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp37-cp37m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.6",
+ sha256="bd81f0ac0df442b4e09bd2ee76ccff1279437b73e08324d9038c13a5e4708598",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp36-cp36m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.5",
+ sha256="2d1702a2dd9b851ccba9d4624a240f5657f3f34a89977f01ee99f9ccaab905a9",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp35-cp35m-macosx_10_9_x86_64.whl",
+ )
+
+ version(
+ "14.2.1-py3.7",
+ sha256="0711ea6465a555d4ed052b7ecf3ed580d711ca7499a12be4c9736d5555ab2786",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-14.2.1-cp37-cp37m-macosx_10_9_x86_64.whl",
+ )
+ elif sys.platform.startswith("linux"):
+ version(
+ "30.0.0-py3.9",
+ sha256="b8673136948f682c84d047feacbfee436df053cba4f386f31c4c3a245a4e3646",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-manylinux1_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.8",
+ sha256="d07cf20f22b14c98576e135bbad9bb8aaa3108941d2beaadf050b4238bc93a18",
+ expand=False,
+ preferred=True,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-manylinux1_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.7",
+ sha256="897063c21d7b1b8cb070f8992e78291c402559434e9d4a5bb85b595a5c676fe6",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp37-cp37m-manylinux1_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.6",
+ sha256="d2560d3f20cd3b8ad2d2159b1048b83dd330cf8c44aa8becedd6dcaf72876062",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp36-cp36m-manylinux1_x86_64.whl",
+ )
+ version(
+ "30.0.0-py3.5",
+ sha256="15b55d903d5688b5a9a290e388db62c8f3d042bc1796db44723f4455b7b18d07",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp35-cp35m-manylinux1_x86_64.whl",
+ )
+
+ version(
+ "14.2.1-py3.7",
+ sha256="0817ec5c378a9bcd1af8edda511ca9d02bdc7087e6f8802c459c9b8f3fde4ade",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_native/azureml_dataprep_native-14.2.1-cp37-cp37m-manylinux1_x86_64.whl",
+ )
+
+ depends_on("python@3.9.0:3.9", when="@30.0.0-py3.9", type=("build", "run"))
+ depends_on("python@3.8.0:3.8", when="@30.0.0-py3.8", type=("build", "run"))
+ depends_on("python@3.7.0:3.7", when="@30.0.0-py3.7", type=("build", "run"))
+ depends_on("python@3.6.0:3.6", when="@30.0.0-py3.6", type=("build", "run"))
+ depends_on("python@3.5.0:3.5", when="@30.0.0-py3.5", type=("build", "run"))
+ depends_on("python@3.7.0:3.7", when="@14.2.1-py3.7", type=("build", "run"))
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 2c4f7fb476..a4328c69d8 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
@@ -16,57 +16,142 @@ class PyAzuremlDataprepRslex(PythonPackage):
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,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl')
- version('1.9.0-py3.8', sha256='9b2e741ac1c53d3f7e6061d264feccf157d97e404c772933a176e6021014484e', expand=False, preferred=True,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl')
- version('1.9.0-py3.7', sha256='9993b369fb9d94d885611859ee957582304c1d8953fc8b48567b786bbfd8062b', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl')
- version('1.9.0-py3.6', sha256='80d518774591deb2c8f1457708c10c9ba348407d7aa49e0710358f46846fcbef', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp36-cp36m-macosx_10_9_x86_64.whl')
- version('1.9.0-py3.5', sha256='91a5c09796e60570620efb7d66f05647557ec6d39aab8b22c0e13926c402ca5b', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp35-cp35m-macosx_10_9_x86_64.whl')
+ if sys.platform == "darwin":
+ version(
+ "1.9.0-py3.9",
+ sha256="9bdaa31d129dac19ee20d5a3aad1726397e90d8d741b4f6de4554040800fefe8",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.8",
+ sha256="9b2e741ac1c53d3f7e6061d264feccf157d97e404c772933a176e6021014484e",
+ expand=False,
+ preferred=True,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.7",
+ sha256="9993b369fb9d94d885611859ee957582304c1d8953fc8b48567b786bbfd8062b",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.6",
+ sha256="80d518774591deb2c8f1457708c10c9ba348407d7aa49e0710358f46846fcbef",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp36-cp36m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.5",
+ sha256="91a5c09796e60570620efb7d66f05647557ec6d39aab8b22c0e13926c402ca5b",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp35-cp35m-macosx_10_9_x86_64.whl",
+ )
- version('1.8.0-py3.9', sha256='677c25a7e23ec7f91d25aa596f382f7f3b6d60fbc3258bead2b2a6aa42f3a16d', expand=False,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl')
- version('1.8.0-py3.8', sha256='d7f2dec06296544b1707f5b01c6a4eaad744b4abfe9e8e89830b561c84d95a7a', expand=False,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl')
- version('1.8.0-py3.7', sha256='8e9feb3187f11fb86f525bc88bf6a6171d7e7d6e2860411a5b82d1f3ecaa8ae8', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp37-cp37m-macosx_10_9_x86_64.whl')
- version('1.8.0-py3.6', sha256='f5f7c9af1f1ecfbfee0e5822db180de05c6f5aeed34f6d0b3fd26e210f476d3e', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp36-cp36m-macosx_10_9_x86_64.whl')
- version('1.8.0-py3.5', sha256='1c610a25a3e09d4ebb95c42baaa57b5c0c66e31522a6bff52dda0df2d6ac7f4d', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp35-cp35m-macosx_10_9_x86_64.whl')
- elif sys.platform.startswith('linux'):
- version('1.9.0-py3.9', sha256='79d52bb427e3ca781a645c4f11f7a8e5e2c8f61e61bfc162b4062d8e47bcf3d6', expand=False,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-manylinux1_x86_64.whl')
- version('1.9.0-py3.8', sha256='a52461103b45867dd919bab593bb6f2426c9b5f5a435081e82a3c57c54c3add6', expand=False, preferred=True,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-manylinux1_x86_64.whl')
- version('1.9.0-py3.7', sha256='d7b6e15401b88cec2915b0bd6298ae7f54584d01ee14e4a24ffb950b7578bceb', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp37-cp37m-manylinux1_x86_64.whl')
- version('1.9.0-py3.6', sha256='2723bf56f2d11e5ee00c6619f2365bd594e85ba116ffc912a2433c52913d0890', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp36-cp36m-manylinux1_x86_64.whl')
- version('1.9.0-py3.5', sha256='d5c6d363da2b3ace1baa9ad3e645ad8a19fdacf0b95dd1f8b6ab19c4371cc10f', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp35-cp35m-manylinux1_x86_64.whl')
+ version(
+ "1.8.0-py3.9",
+ sha256="677c25a7e23ec7f91d25aa596f382f7f3b6d60fbc3258bead2b2a6aa42f3a16d",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.8",
+ sha256="d7f2dec06296544b1707f5b01c6a4eaad744b4abfe9e8e89830b561c84d95a7a",
+ expand=False,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.7",
+ sha256="8e9feb3187f11fb86f525bc88bf6a6171d7e7d6e2860411a5b82d1f3ecaa8ae8",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp37-cp37m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.6",
+ sha256="f5f7c9af1f1ecfbfee0e5822db180de05c6f5aeed34f6d0b3fd26e210f476d3e",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp36-cp36m-macosx_10_9_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.5",
+ sha256="1c610a25a3e09d4ebb95c42baaa57b5c0c66e31522a6bff52dda0df2d6ac7f4d",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp35-cp35m-macosx_10_9_x86_64.whl",
+ )
+ elif sys.platform.startswith("linux"):
+ version(
+ "1.9.0-py3.9",
+ sha256="79d52bb427e3ca781a645c4f11f7a8e5e2c8f61e61bfc162b4062d8e47bcf3d6",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.8",
+ sha256="a52461103b45867dd919bab593bb6f2426c9b5f5a435081e82a3c57c54c3add6",
+ expand=False,
+ preferred=True,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.7",
+ sha256="d7b6e15401b88cec2915b0bd6298ae7f54584d01ee14e4a24ffb950b7578bceb",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp37-cp37m-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.6",
+ sha256="2723bf56f2d11e5ee00c6619f2365bd594e85ba116ffc912a2433c52913d0890",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp36-cp36m-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.9.0-py3.5",
+ sha256="d5c6d363da2b3ace1baa9ad3e645ad8a19fdacf0b95dd1f8b6ab19c4371cc10f",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp35-cp35m-manylinux1_x86_64.whl",
+ )
- version('1.8.0-py3.9', sha256='e251a077669703ca117b157b225fbc20832169f913476cf79c01a5c6f8ff7a50', expand=False,
- url='https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-manylinux1_x86_64.whl')
- version('1.8.0-py3.8', sha256='2ebfa164f0933a5cec383cd27ba10d33861a73237ef481ada5a9a822bb55514a', expand=False,
- url='https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-manylinux1_x86_64.whl')
- version('1.8.0-py3.7', sha256='0588c6e503635aa6d4c64f7bbb3a3be52679f24ac89e2c8d4e96fd991d7006a2', expand=False,
- url='https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp37-cp37m-manylinux1_x86_64.whl')
- version('1.8.0-py3.6', sha256='195507ba55aa5ac7c5d37d05b8ac25813add0da5cc9bd4a04f2cb5da984cb287', expand=False,
- url='https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp36-cp36m-manylinux1_x86_64.whl')
- version('1.8.0-py3.5', sha256='9dfbd1065030dee3aa45b6796c087acffb06cfcbe97cc877e255e21e320362be', expand=False,
- url='https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp35-cp35m-manylinux1_x86_64.whl')
+ version(
+ "1.8.0-py3.9",
+ sha256="e251a077669703ca117b157b225fbc20832169f913476cf79c01a5c6f8ff7a50",
+ expand=False,
+ url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.8",
+ sha256="2ebfa164f0933a5cec383cd27ba10d33861a73237ef481ada5a9a822bb55514a",
+ expand=False,
+ url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.7",
+ sha256="0588c6e503635aa6d4c64f7bbb3a3be52679f24ac89e2c8d4e96fd991d7006a2",
+ expand=False,
+ url="https://pypi.io/packages/cp37/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp37-cp37m-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.6",
+ sha256="195507ba55aa5ac7c5d37d05b8ac25813add0da5cc9bd4a04f2cb5da984cb287",
+ expand=False,
+ url="https://pypi.io/packages/cp36/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp36-cp36m-manylinux1_x86_64.whl",
+ )
+ version(
+ "1.8.0-py3.5",
+ sha256="9dfbd1065030dee3aa45b6796c087acffb06cfcbe97cc877e255e21e320362be",
+ expand=False,
+ url="https://pypi.io/packages/cp35/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp35-cp35m-manylinux1_x86_64.whl",
+ )
- depends_on('python@3.9.0:3.9', when='@1.9.0-py3.9,1.8.0-py3.9', type=('build', 'run'))
- depends_on('python@3.8.0:3.8', when='@1.9.0-py3.8,1.8.0-py3.8', type=('build', 'run'))
- depends_on('python@3.7.0:3.7', when='@1.9.0-py3.7,1.8.0-py3.7', type=('build', 'run'))
- depends_on('python@3.6.0:3.6', when='@1.9.0-py3.6,1.8.0-py3.6', type=('build', 'run'))
- depends_on('python@3.5.0:3.5', when='@1.9.0-py3.5,1.8.0-py3.5', type=('build', 'run'))
+ depends_on("python@3.9.0:3.9", when="@1.9.0-py3.9,1.8.0-py3.9", type=("build", "run"))
+ depends_on("python@3.8.0:3.8", when="@1.9.0-py3.8,1.8.0-py3.8", type=("build", "run"))
+ depends_on("python@3.7.0:3.7", when="@1.9.0-py3.7,1.8.0-py3.7", type=("build", "run"))
+ depends_on("python@3.6.0:3.6", when="@1.9.0-py3.6,1.8.0-py3.6", type=("build", "run"))
+ depends_on("python@3.5.0:3.5", when="@1.9.0-py3.5,1.8.0-py3.5", type=("build", "run"))
- for t in set([str(x.family) for x in archspec.cpu.TARGETS.values()
- if str(x.family) != 'x86_64']):
- conflicts('target={0}:'.format(t), msg='py-azureml-dataprep-rslex is available x86_64 only')
+ for t in set(
+ [str(x.family) for x in archspec.cpu.TARGETS.values() if str(x.family) != "x86_64"]
+ ):
+ conflicts(
+ "target={0}:".format(t), msg="py-azureml-dataprep-rslex is available x86_64 only"
+ )
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 f2f61dee47..17193af913 100644
--- a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py
@@ -11,22 +11,38 @@ class PyAzuremlDataprep(PythonPackage):
"""Azure ML Data Preparation 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)
- version('2.10.1', sha256='a36f807112ff1e64d21265b8e7f40154c93e3bead539e2a74c9d74200fd77c86', expand=False)
- version('2.0.2', sha256='9b9e97d9ed29c0641d3ceb37745ff078143bd235c53df528f847ec0684c52f79', expand=False)
- version('1.8.2', sha256='e53f3206f0bd4af8d5e7de3a94c2c6e662902b86e94a7b9d930e36329fe5820f', expand=False)
-
- variant('fuse', default=False, description='Build with FUSE support')
-
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-dotnetcore2@2.1.14:2', type=('build', 'run'))
- depends_on('py-azureml-dataprep-native@30.0.0:30', when='@2.10.0:', type=('build', 'run'))
- depends_on('py-azureml-dataprep-native@14.2.1:14', when='@:2.0.2', type=('build', 'run'))
- depends_on('py-azureml-dataprep-rslex@1.9.0:1.9', when='@2.11.0:', type=('build', 'run'))
- depends_on('py-azureml-dataprep-rslex@1.8.0:1.8', when='@2.10.1', type=('build', 'run'))
- depends_on('py-cloudpickle@1.1.0:1', type=('build', 'run'))
- depends_on('py-azure-identity@1.2.0:1.4', when='@2.10.0:', type=('build', 'run'))
- depends_on('py-azure-identity@1.2.0:1.2', when='@:2.0.2', type=('build', 'run'))
- depends_on('py-fusepy@3.0.1:3', when='+fuse', type=('build', 'run'))
+ 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,
+ )
+ version(
+ "2.10.1",
+ sha256="a36f807112ff1e64d21265b8e7f40154c93e3bead539e2a74c9d74200fd77c86",
+ expand=False,
+ )
+ version(
+ "2.0.2",
+ sha256="9b9e97d9ed29c0641d3ceb37745ff078143bd235c53df528f847ec0684c52f79",
+ expand=False,
+ )
+ version(
+ "1.8.2",
+ sha256="e53f3206f0bd4af8d5e7de3a94c2c6e662902b86e94a7b9d930e36329fe5820f",
+ expand=False,
+ )
+
+ variant("fuse", default=False, description="Build with FUSE support")
+
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-dotnetcore2@2.1.14:2", type=("build", "run"))
+ depends_on("py-azureml-dataprep-native@30.0.0:30", when="@2.10.0:", type=("build", "run"))
+ depends_on("py-azureml-dataprep-native@14.2.1:14", when="@:2.0.2", type=("build", "run"))
+ depends_on("py-azureml-dataprep-rslex@1.9.0:1.9", when="@2.11.0:", type=("build", "run"))
+ depends_on("py-azureml-dataprep-rslex@1.8.0:1.8", when="@2.10.1", type=("build", "run"))
+ depends_on("py-cloudpickle@1.1.0:1", type=("build", "run"))
+ depends_on("py-azure-identity@1.2.0:1.4", when="@2.10.0:", type=("build", "run"))
+ depends_on("py-azure-identity@1.2.0:1.2", when="@:2.0.2", type=("build", "run"))
+ depends_on("py-fusepy@3.0.1:3", when="+fuse", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py
index 9aaeb6e1c5..8c615b577a 100644
--- a/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py
@@ -12,17 +12,25 @@ class PyAzuremlDatasetRuntime(PythonPackage):
AzureML packages. It is not intended for public use."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml-dataset-runtime/azureml_dataset_runtime-1.11.0.post1-py3-none-any.whl"
-
- version('1.23.0', sha256='96ca73d03ffedc0dd336d9383d2e17cf74548a89fc7ca4c201c599817c97bbc6', expand=False)
- version('1.11.0.post1', sha256='65c20f276399a7d406c4850af7a6f149472d301931fd1da6a60bad59d43fa47b', expand=False)
-
- variant('fuse', default=False, description='Build with FUSE support')
-
- depends_on('python@3.0:3', type=('build', 'run'))
- depends_on('py-azureml-dataprep@2.10.0:2.10', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-dataprep@2.0.1:2.0', when='@1.11.0.post1', type=('build', 'run'))
- depends_on('py-pyarrow@0.17.0:1', when='@1.23.0', type=('build', 'run'))
- depends_on('py-pyarrow@0.17.0:0', when='@1.11.0.post1', type=('build', 'run'))
- depends_on('py-numpy@:1.19.2,1.19.4:', when='@1.23.0:', type=('build', 'run'))
- depends_on('py-fusepy@3.0.1:3', when='+fuse', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/a/azureml-dataset-runtime/azureml_dataset_runtime-1.11.0.post1-py3-none-any.whl"
+
+ version(
+ "1.23.0",
+ sha256="96ca73d03ffedc0dd336d9383d2e17cf74548a89fc7ca4c201c599817c97bbc6",
+ expand=False,
+ )
+ version(
+ "1.11.0.post1",
+ sha256="65c20f276399a7d406c4850af7a6f149472d301931fd1da6a60bad59d43fa47b",
+ expand=False,
+ )
+
+ variant("fuse", default=False, description="Build with FUSE support")
+
+ depends_on("python@3.0:3", type=("build", "run"))
+ depends_on("py-azureml-dataprep@2.10.0:2.10", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-dataprep@2.0.1:2.0", when="@1.11.0.post1", type=("build", "run"))
+ depends_on("py-pyarrow@0.17.0:1", when="@1.23.0", type=("build", "run"))
+ depends_on("py-pyarrow@0.17.0:0", when="@1.11.0.post1", type=("build", "run"))
+ depends_on("py-numpy@:1.19.2,1.19.4:", when="@1.23.0:", type=("build", "run"))
+ depends_on("py-fusepy@3.0.1:3", when="+fuse", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
index 2d8a752065..c06dd455a6 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
@@ -11,13 +11,25 @@ class PyAzuremlPipelineCore(PythonPackage):
"""Core functionality to enable azureml-pipeline feature."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline_core/azureml_pipeline_core-1.11.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_pipeline_core/azureml_pipeline_core-1.11.0-py3-none-any.whl"
- version('1.23.0', sha256='347e3e41559879611d53eeff5c05dd133db6fa537edcf2b9f70d91aad461df02', expand=False)
- version('1.11.0', sha256='98012195e3bba12bf42ac69179549038b3563b39e3dadab4f1d06407a00ad8b3', expand=False)
- version('1.8.0', sha256='24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2', expand=False)
+ version(
+ "1.23.0",
+ sha256="347e3e41559879611d53eeff5c05dd133db6fa537edcf2b9f70d91aad461df02",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="98012195e3bba12bf42ac69179549038b3563b39e3dadab4f1d06407a00ad8b3",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2",
+ expand=False,
+ )
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-azureml-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
index 694a0847e8..01ffe57f89 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
@@ -11,22 +11,34 @@ class PyAzuremlPipelineSteps(PythonPackage):
"""Represents a unit of computation in azureml-pipeline."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline_steps/azureml_pipeline_steps-1.11.0-py3-none-any.whl"
-
- version('1.23.0', sha256='72154c2f75624a1e7500b8e2239ae1354eeedf66d2cabb11e213b7eb80aedddb', expand=False)
- version('1.11.0', sha256='674317d9c74ec4cb05e443f50de1732e14dc4519cbe2743a44f8db0bc5e71214', expand=False)
- version('1.8.0', sha256='3310674207ed457a26fb978e7168e400306c695f7f854f354dee9d5c7c81304c', expand=False)
-
- depends_on('python@3:', type=('build', 'run'))
-
- depends_on('py-azureml-train-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-train-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-train-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/a/azureml_pipeline_steps/azureml_pipeline_steps-1.11.0-py3-none-any.whl"
+
+ version(
+ "1.23.0",
+ sha256="72154c2f75624a1e7500b8e2239ae1354eeedf66d2cabb11e213b7eb80aedddb",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="674317d9c74ec4cb05e443f50de1732e14dc4519cbe2743a44f8db0bc5e71214",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="3310674207ed457a26fb978e7168e400306c695f7f854f354dee9d5c7c81304c",
+ expand=False,
+ )
+
+ depends_on("python@3:", type=("build", "run"))
+
+ depends_on("py-azureml-train-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on("py-azureml-train-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on("py-azureml-train-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
index 3e087cf54b..e261a7ba9d 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
@@ -12,19 +12,33 @@ class PyAzuremlPipeline(PythonPackage):
pipelines as well as to submit and track individual pipeline runs."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline/azureml_pipeline-1.11.0-py3-none-any.whl"
-
- version('1.23.0', sha256='ed0fae96771840d3ffd63d63df1b1eed2f50c3b8dbe7b672a4f1ba6e66d0a392', expand=False)
- version('1.11.0', sha256='8233c66b4120e86b9a9346608ca53bf48d5b9f0558300314034426dd0d7897d6', expand=False)
- version('1.8.0', sha256='43ce39789d9a255f147311e40274b5f2571c7ef3b52e218f248724ccb377a02c', expand=False)
-
- depends_on('python@3:', type=('build', 'run'))
-
- depends_on('py-azureml-pipeline-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-steps@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-pipeline-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-steps@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-pipeline-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline-steps@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ url = (
+ "https://pypi.io/packages/py3/a/azureml_pipeline/azureml_pipeline-1.11.0-py3-none-any.whl"
+ )
+
+ version(
+ "1.23.0",
+ sha256="ed0fae96771840d3ffd63d63df1b1eed2f50c3b8dbe7b672a4f1ba6e66d0a392",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="8233c66b4120e86b9a9346608ca53bf48d5b9f0558300314034426dd0d7897d6",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="43ce39789d9a255f147311e40274b5f2571c7ef3b52e218f248724ccb377a02c",
+ expand=False,
+ )
+
+ depends_on("python@3:", type=("build", "run"))
+
+ depends_on("py-azureml-pipeline-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-steps@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on("py-azureml-pipeline-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-steps@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on("py-azureml-pipeline-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline-steps@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
index 1ef9e64273..15181da688 100644
--- a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
@@ -11,31 +11,47 @@ class PyAzuremlSdk(PythonPackage):
"""Microsoft Azure Machine Learning Python SDK."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl"
-
- maintainers = ['adamjstewart']
-
- version('1.23.0', sha256='b9520f426831acb99fafa1ecd154b6bfd4f73fbf71e918d819f9db4a75438ab9', expand=False)
- version('1.11.0', sha256='d8c9d24ea90457214d798b0d922489863dad518adde3638e08ef62de28fb183a', expand=False)
- version('1.8.0', sha256='61107db1403ce2c1a12064eb0fa31a1d075debbf32dd17cb93b7639b615b7839', expand=False)
+ url = "https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl"
+
+ maintainers = ["adamjstewart"]
+
+ version(
+ "1.23.0",
+ sha256="b9520f426831acb99fafa1ecd154b6bfd4f73fbf71e918d819f9db4a75438ab9",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="d8c9d24ea90457214d798b0d922489863dad518adde3638e08ef62de28fb183a",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="61107db1403ce2c1a12064eb0fa31a1d075debbf32dd17cb93b7639b615b7839",
+ expand=False,
+ )
# https://github.com/Azure/MachineLearningNotebooks/issues/1285
- depends_on('python@3.5:3.8', type=('build', 'run'))
-
- depends_on('py-azureml-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-dataset-runtime@1.23.0:1.23 +fuse', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-train@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-dataset-runtime@1.11.0:1.11 +fuse', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-train@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-train@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-pipeline@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-dataprep@1.8.0:1.8 +fuse', when='@1.8.0', type=('build', 'run'))
+ depends_on("python@3.5:3.8", type=("build", "run"))
+
+ depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on(
+ "py-azureml-dataset-runtime@1.23.0:1.23 +fuse", when="@1.23.0", type=("build", "run")
+ )
+ depends_on("py-azureml-train@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on("py-azureml-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on(
+ "py-azureml-dataset-runtime@1.11.0:1.11 +fuse", when="@1.11.0", type=("build", "run")
+ )
+ depends_on("py-azureml-train@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on("py-azureml-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-train@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-train-automl-client@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-pipeline@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-dataprep@1.8.0:1.8 +fuse", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
index 0a1e48c437..66686498ea 100644
--- a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
@@ -12,14 +12,26 @@ class PyAzuremlTelemetry(PythonPackage):
data."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_telemetry/azureml_telemetry-1.11.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_telemetry/azureml_telemetry-1.11.0-py3-none-any.whl"
- version('1.23.0', sha256='68f9aac77e468db80e60f75d0843536082e2884ab251b6d3054dd623bd9c9e0d', expand=False)
- version('1.11.0', sha256='0d46c4a7bb8c0b188f1503504a6029384bc2237d82a131e7d1e9e89c3491b1fc', expand=False)
- version('1.8.0', sha256='de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804', expand=False)
+ version(
+ "1.23.0",
+ sha256="68f9aac77e468db80e60f75d0843536082e2884ab251b6d3054dd623bd9c9e0d",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="0d46c4a7bb8c0b188f1503504a6029384bc2237d82a131e7d1e9e89c3491b1fc",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804",
+ expand=False,
+ )
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-applicationinsights', type=('build', 'run'))
- depends_on('py-azureml-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-applicationinsights", type=("build", "run"))
+ depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
index ce479701d8..174507bd96 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
@@ -13,25 +13,37 @@ class PyAzuremlTrainAutomlClient(PythonPackage):
given training and test data."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_automl_client/azureml_train_automl_client-1.11.0-py3-none-any.whl"
-
- version('1.23.0', sha256='ac5f1ce9b04b4e61e2e28e0fa8d2d8e47937a546f624d1cd3aa6bc4f9110ecbe', expand=False)
- version('1.11.0', sha256='3184df60a46917e92140a299aecb54591b19df490a3f4f571ff1f92c5e70a715', expand=False)
- version('1.8.0', sha256='562300095db6c4dea7b052e255c53dd95c4c3d0589a828b545497fe1ca7e9677', expand=False)
-
- depends_on('python@3.5:3', type=('build', 'run'))
-
- depends_on('py-azureml-automl-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-dataset-runtime@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-automl-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-dataset-runtime@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-dataprep@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-automl-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/a/azureml_train_automl_client/azureml_train_automl_client-1.11.0-py3-none-any.whl"
+
+ version(
+ "1.23.0",
+ sha256="ac5f1ce9b04b4e61e2e28e0fa8d2d8e47937a546f624d1cd3aa6bc4f9110ecbe",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="3184df60a46917e92140a299aecb54591b19df490a3f4f571ff1f92c5e70a715",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="562300095db6c4dea7b052e255c53dd95c4c3d0589a828b545497fe1ca7e9677",
+ expand=False,
+ )
+
+ depends_on("python@3.5:3", type=("build", "run"))
+
+ depends_on("py-azureml-automl-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-dataset-runtime@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on("py-azureml-automl-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-dataset-runtime@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on("py-azureml-dataprep@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-automl-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
index b0f4fec837..aaa1cd975d 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
@@ -12,23 +12,45 @@ class PyAzuremlTrainCore(PythonPackage):
metapackage."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_core/azureml_train_core-1.11.0-py3-none-any.whl"
-
- version('1.23.0', sha256='5c384ea0bea3ecd8bf2a1832dda906fd183cf2a03ad3372cb824ce8fa417979e', expand=False)
- version('1.11.0', sha256='1b5fd813d21e75cd522d3a078eba779333980a309bcff6fc72b74ddc8e7a26f1', expand=False)
- version('1.8.0', sha256='5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2', expand=False)
-
- depends_on('python@3.5:3', type=('build', 'run'))
-
- depends_on('py-azureml-train-restclients-hyperdrive@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
-
- depends_on('py-azureml-train-restclients-hyperdrive@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
-
- depends_on('py-azureml-train-restclients-hyperdrive@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
- depends_on('py-flake8@3.1.0:3.7.9', when='@1.8.0 ^python@3.6:', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/a/azureml_train_core/azureml_train_core-1.11.0-py3-none-any.whl"
+
+ version(
+ "1.23.0",
+ sha256="5c384ea0bea3ecd8bf2a1832dda906fd183cf2a03ad3372cb824ce8fa417979e",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="1b5fd813d21e75cd522d3a078eba779333980a309bcff6fc72b74ddc8e7a26f1",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2",
+ expand=False,
+ )
+
+ depends_on("python@3.5:3", type=("build", "run"))
+
+ depends_on(
+ "py-azureml-train-restclients-hyperdrive@1.23.0:1.23",
+ when="@1.23.0",
+ type=("build", "run"),
+ )
+ depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+
+ depends_on(
+ "py-azureml-train-restclients-hyperdrive@1.11.0:1.11",
+ when="@1.11.0",
+ type=("build", "run"),
+ )
+ depends_on("py-azureml-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+
+ depends_on(
+ "py-azureml-train-restclients-hyperdrive@1.8.0:1.8", when="@1.8.0", type=("build", "run")
+ )
+ depends_on("py-azureml-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-azureml-telemetry@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
+ depends_on("py-flake8@3.1.0:3.7.9", when="@1.8.0 ^python@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
index 356f03bdba..79e7f2279d 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
@@ -12,13 +12,25 @@ class PyAzuremlTrainRestclientsHyperdrive(PythonPackage):
azureml-train metapackage."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_restclients_hyperdrive/azureml_train_restclients_hyperdrive-1.11.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train_restclients_hyperdrive/azureml_train_restclients_hyperdrive-1.11.0-py3-none-any.whl"
- version('1.23.0', sha256='8ecee0cdb92a4a431b778ebcc7f9fe7c5bf63ea4cae9caa687980bc34ae3a42c', expand=False)
- version('1.11.0', sha256='8bc6f9676a9f75e6ee06d201c418ea904c24e854f26cf799b08c259c3ac92d13', expand=False)
- version('1.8.0', sha256='1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87', expand=False)
+ version(
+ "1.23.0",
+ sha256="8ecee0cdb92a4a431b778ebcc7f9fe7c5bf63ea4cae9caa687980bc34ae3a42c",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="8bc6f9676a9f75e6ee06d201c418ea904c24e854f26cf799b08c259c3ac92d13",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87",
+ expand=False,
+ )
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-requests@2.19.1:', type=('build', 'run'))
- depends_on('py-msrest@0.5.1:', type=('build', 'run'))
- depends_on('py-msrestazure@0.4.33:', type=('build', 'run'))
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-requests@2.19.1:", type=("build", "run"))
+ depends_on("py-msrest@0.5.1:", type=("build", "run"))
+ depends_on("py-msrestazure@0.4.33:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-azureml-train/package.py b/var/spack/repos/builtin/packages/py-azureml-train/package.py
index 91f0828957..ce98ae8914 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train/package.py
@@ -13,13 +13,25 @@ class PyAzuremlTrain(PythonPackage):
tuning using Azure cloud."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train/azureml_train-1.11.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train/azureml_train-1.11.0-py3-none-any.whl"
- version('1.23.0', sha256='e16cb8673d9c9c70966c37c7362ceed3514e9797b0816c0aa449730da3b9c857', expand=False)
- version('1.11.0', sha256='7800a3067979972b976c81082dc509e23c04405129cc1fdef0f9cd7895bcafc7', expand=False)
- version('1.8.0', sha256='124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3', expand=False)
+ version(
+ "1.23.0",
+ sha256="e16cb8673d9c9c70966c37c7362ceed3514e9797b0816c0aa449730da3b9c857",
+ expand=False,
+ )
+ version(
+ "1.11.0",
+ sha256="7800a3067979972b976c81082dc509e23c04405129cc1fdef0f9cd7895bcafc7",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3",
+ expand=False,
+ )
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-azureml-train-core@1.23.0:1.23', when='@1.23.0', type=('build', 'run'))
- depends_on('py-azureml-train-core@1.11.0:1.11', when='@1.11.0', type=('build', 'run'))
- depends_on('py-azureml-train-core@1.8.0:1.8', when='@1.8.0', type=('build', 'run'))
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-azureml-train-core@1.23.0:1.23", when="@1.23.0", type=("build", "run"))
+ depends_on("py-azureml-train-core@1.11.0:1.11", when="@1.11.0", type=("build", "run"))
+ depends_on("py-azureml-train-core@1.8.0:1.8", when="@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
index 45033e55a4..ba654dac4f 100644
--- a/var/spack/repos/builtin/packages/py-babel/package.py
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -14,12 +14,12 @@ class PyBabel(PythonPackage):
homepage = "https://babel.pocoo.org/en/latest/"
pypi = "Babel/Babel-2.7.0.tar.gz"
- version('2.9.1', sha256='bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0')
- version('2.7.0', sha256='e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28')
- version('2.6.0', sha256='8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23')
- version('2.4.0', sha256='8c98f5e5f8f5f088571f2c6bd88d530e331cbbcb95a7311a0db69d3dca7ec563')
- version('2.3.4', sha256='c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875')
+ version("2.9.1", sha256="bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0")
+ version("2.7.0", sha256="e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28")
+ version("2.6.0", sha256="8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23")
+ version("2.4.0", sha256="8c98f5e5f8f5f088571f2c6bd88d530e331cbbcb95a7311a0db69d3dca7ec563")
+ version("2.3.4", sha256="c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pytz@2015.7:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pytz@2015.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-backcall/package.py b/var/spack/repos/builtin/packages/py-backcall/package.py
index 5eedae9088..a38b0c24f0 100644
--- a/var/spack/repos/builtin/packages/py-backcall/package.py
+++ b/var/spack/repos/builtin/packages/py-backcall/package.py
@@ -12,7 +12,7 @@ class PyBackcall(PythonPackage):
homepage = "https://github.com/takluyver/backcall"
pypi = "backcall/backcall-0.1.0.tar.gz"
- version('0.2.0', sha256='5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e')
- version('0.1.0', sha256='38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4')
+ version("0.2.0", sha256="5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e")
+ version("0.1.0", sha256="38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4")
- depends_on('py-flit-core@2:3', type='build')
+ depends_on("py-flit-core@2:3", type="build")
diff --git a/var/spack/repos/builtin/packages/py-backports-abc/package.py b/var/spack/repos/builtin/packages/py-backports-abc/package.py
index dcca53ac22..c3cc6d66d1 100644
--- a/var/spack/repos/builtin/packages/py-backports-abc/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-abc/package.py
@@ -9,10 +9,11 @@ from spack.package import *
class PyBackportsAbc(PythonPackage):
"""Backports_ABC: A backport of recent additions to the 'collections.abc'
module."""
+
homepage = "https://github.com/cython/backports_abc"
- url = "https://github.com/cython/backports_abc/archive/0.4.tar.gz"
+ url = "https://github.com/cython/backports_abc/archive/0.4.tar.gz"
- version('0.5', sha256='ca1872b55cc9e19ce7288670d360104d5aac88ff1d0a0e7ad6e97267705611f9')
- version('0.4', sha256='2b5c4e91e37ba8bcd3fb8fecc8530f941578fc2c911497da3f09bf5fec6a6705')
+ version("0.5", sha256="ca1872b55cc9e19ce7288670d360104d5aac88ff1d0a0e7ad6e97267705611f9")
+ version("0.4", sha256="2b5c4e91e37ba8bcd3fb8fecc8530f941578fc2c911497da3f09bf5fec6a6705")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-backports-entry-points-selectable/package.py b/var/spack/repos/builtin/packages/py-backports-entry-points-selectable/package.py
index d463d668e0..263eaec84f 100644
--- a/var/spack/repos/builtin/packages/py-backports-entry-points-selectable/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-entry-points-selectable/package.py
@@ -10,16 +10,16 @@ class PyBackportsEntryPointsSelectable(PythonPackage):
"""Compatibility shim providing selectable entry points for older implementations"""
homepage = "https://github.com/jaraco/backports.entry_points_selectable"
- pypi = "backports.entry_points_selectable/backports.entry_points_selectable-1.1.0.tar.gz"
+ pypi = "backports.entry_points_selectable/backports.entry_points_selectable-1.1.0.tar.gz"
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
- version('1.1.1', sha256='914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386')
- version('1.1.0', sha256='988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a')
+ version("1.1.1", sha256="914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386")
+ version("1.1.0", sha256="988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools@56:', when='@1.1.1: ^python@3.6:', type='build')
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm+toml@3.4.1:', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools@56:", when="@1.1.1: ^python@3.6:", type="build")
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4.1:", type="build")
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py b/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
index 62fbe6422e..d19731999d 100644
--- a/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-functools-lru-cache/package.py
@@ -12,13 +12,16 @@ class PyBackportsFunctoolsLruCache(PythonPackage):
homepage = "https://github.com/jaraco/backports.functools_lru_cache"
pypi = "backports.functools_lru_cache/backports.functools_lru_cache-1.4.tar.gz"
- py_namespace = 'backports'
+ py_namespace = "backports"
- version('1.5', sha256='9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a')
- version('1.4', sha256='31f235852f88edc1558d428d890663c49eb4514ffec9f3650e7f3c9e4a12e36f')
- version('1.0.1', sha256='593275768571eb2bcfe0795a30108f8a0e85e14e98c3a5e498e789f891d82f3d',
- url="https://pypi.io/packages/source/b/backports.functools_lru_cache/backports.functools_lru_cache-1.0.1.zip")
+ version("1.5", sha256="9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a")
+ version("1.4", sha256="31f235852f88edc1558d428d890663c49eb4514ffec9f3650e7f3c9e4a12e36f")
+ version(
+ "1.0.1",
+ sha256="593275768571eb2bcfe0795a30108f8a0e85e14e98c3a5e498e789f891d82f3d",
+ url="https://pypi.io/packages/source/b/backports.functools_lru_cache/backports.functools_lru_cache-1.0.1.zip",
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('python@2.6.0:3.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("python@2.6.0:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-backports-lzma/package.py b/var/spack/repos/builtin/packages/py-backports-lzma/package.py
index 955f05c2a3..2397935594 100644
--- a/var/spack/repos/builtin/packages/py-backports-lzma/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-lzma/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class PyBackportsLzma(PythonPackage):
"""Backport of Python 3.3's standard library module
- lzma for LZMA/XY compressed files."""
+ lzma for LZMA/XY compressed files."""
homepage = "https://github.com/peterjc/backports.lzma"
- url = "https://github.com/peterjc/backports.lzma/archive/backports.lzma.v0.0.14.tar.gz"
+ url = "https://github.com/peterjc/backports.lzma/archive/backports.lzma.v0.0.14.tar.gz"
- version('0.0.14', sha256='904854d152825b475ebf0f6074fa545474b4ef4eac833f2d9a565e2820dc3a2d')
- version('0.0.13', sha256='42c9d15fa16f691c07e3b325c90f7f9449811e9f7fc46bf4ad43c29bdbaf0b71')
- version('0.0.12', sha256='648592f13d34c7d10791cfb6ce1556cfa25f3657a24e349f266a87708f3af112')
- version('0.0.11', sha256='a4eeb1316fffad0d3ba0857e1a64faa37f02bd77232dd2d5d9798fddc7f094ef')
- version('0.0.10', sha256='5635fd0698beb3294572918ce6e4d01d6bfccb1a3ee27e5013d927b826330e02')
- version('0.0.9', sha256='abd4c6bb808c4732a2b6ebc7a27f63e64c56185a47d8801e49ccfbe809d14d7a')
- version('0.0.8', sha256='ecbad3f91ff125ee6b2095952b6380677e448da20f03597ef779475326a6c713')
- version('0.0.7', sha256='f5de56b740ce47e03de02d5c4983e0e2f19b4f6b0bc4597af6369905177f62cd')
- version('0.0.6', sha256='8e70936641398a6814d70f6eae6399be2ae514578d38b7f9b15c277438bbd853')
- version('0.0.4', sha256='7c973edbd50c1467fed2247117e128a924d25404394a57e30d5b6c52cfcd342d')
+ version("0.0.14", sha256="904854d152825b475ebf0f6074fa545474b4ef4eac833f2d9a565e2820dc3a2d")
+ version("0.0.13", sha256="42c9d15fa16f691c07e3b325c90f7f9449811e9f7fc46bf4ad43c29bdbaf0b71")
+ version("0.0.12", sha256="648592f13d34c7d10791cfb6ce1556cfa25f3657a24e349f266a87708f3af112")
+ version("0.0.11", sha256="a4eeb1316fffad0d3ba0857e1a64faa37f02bd77232dd2d5d9798fddc7f094ef")
+ version("0.0.10", sha256="5635fd0698beb3294572918ce6e4d01d6bfccb1a3ee27e5013d927b826330e02")
+ version("0.0.9", sha256="abd4c6bb808c4732a2b6ebc7a27f63e64c56185a47d8801e49ccfbe809d14d7a")
+ version("0.0.8", sha256="ecbad3f91ff125ee6b2095952b6380677e448da20f03597ef779475326a6c713")
+ version("0.0.7", sha256="f5de56b740ce47e03de02d5c4983e0e2f19b4f6b0bc4597af6369905177f62cd")
+ version("0.0.6", sha256="8e70936641398a6814d70f6eae6399be2ae514578d38b7f9b15c277438bbd853")
+ version("0.0.4", sha256="7c973edbd50c1467fed2247117e128a924d25404394a57e30d5b6c52cfcd342d")
- depends_on('python@2.6:3.0,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:3.0,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-backports-os/package.py b/var/spack/repos/builtin/packages/py-backports-os/package.py
index b6e0e0b76c..0ddc5f0b60 100644
--- a/var/spack/repos/builtin/packages/py-backports-os/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-os/package.py
@@ -10,10 +10,10 @@ class PyBackportsOs(PythonPackage):
"""Backport of new features in Python's os module"""
homepage = "https://github.com/pjdelport/backports.os"
- pypi = "backports.os/backports.os-0.1.1.tar.gz"
+ pypi = "backports.os/backports.os-0.1.1.tar.gz"
- version('0.1.1', sha256='b472c4933094306ca08ec90b2a8cbb50c34f1fb2767775169a1c1650b7b74630')
+ version("0.1.1", sha256="b472c4933094306ca08ec90b2a8cbb50c34f1fb2767775169a1c1650b7b74630")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-future', type=('build', 'run'), when='^python@:2')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-future", type=("build", "run"), when="^python@:2")
diff --git a/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py b/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
index 56fe38b17b..ed51fb79c7 100644
--- a/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-shutil-get-terminal-size/package.py
@@ -12,11 +12,11 @@ class PyBackportsShutilGetTerminalSize(PythonPackage):
pypi = "backports.shutil_get_terminal_size/backports.shutil_get_terminal_size-1.0.0.tar.gz"
- py_namespace = 'backports'
+ py_namespace = "backports"
- version('1.0.0', sha256='713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80')
+ version("1.0.0", sha256="713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80")
# newer setuptools version mess with "namespace" packages in an
# incompatible way cf. https://github.com/pypa/setuptools/issues/900
- depends_on('py-setuptools@:30,41:', type='build')
- depends_on('python@:3.2')
+ depends_on("py-setuptools@:30,41:", type="build")
+ depends_on("python@:3.2")
diff --git a/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py b/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
index 2644c57676..58c6ba9942 100644
--- a/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-ssl-match-hostname/package.py
@@ -11,9 +11,9 @@ class PyBackportsSslMatchHostname(PythonPackage):
pypi = "backports.ssl_match_hostname/backports.ssl_match_hostname-3.5.0.1.tar.gz"
- py_namespace = 'backports'
+ py_namespace = "backports"
- version('3.5.0.1', sha256='502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2')
+ version("3.5.0.1", sha256="502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-backports-tempfile/package.py b/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
index ee4db2fdcc..f21e5fe77c 100644
--- a/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-tempfile/package.py
@@ -14,7 +14,7 @@ class PyBackportsTempfile(PythonPackage):
homepage = "https://github.com/PiDelport/backports.tempfile"
pypi = "backports.tempfile/backports.tempfile-1.0.tar.gz"
- version('1.0', sha256='1c648c452e8770d759bdc5a5e2431209be70d25484e1be24876cf2168722c762')
+ version("1.0", sha256="1c648c452e8770d759bdc5a5e2431209be70d25484e1be24876cf2168722c762")
- depends_on('py-setuptools', type='build')
- depends_on('py-backports-weakref', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-backports-weakref", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-backports-weakref/package.py b/var/spack/repos/builtin/packages/py-backports-weakref/package.py
index 28bbae2faf..d71dd1bac6 100644
--- a/var/spack/repos/builtin/packages/py-backports-weakref/package.py
+++ b/var/spack/repos/builtin/packages/py-backports-weakref/package.py
@@ -12,7 +12,11 @@ class PyBackportsWeakref(PythonPackage):
homepage = "https://github.com/PiDelport/backports.weakref"
pypi = "backports.weakref/backports.weakref-1.0.post1.tar.gz"
- version('1.0.post1', sha256='bc4170a29915f8b22c9e7c4939701859650f2eb84184aee80da329ac0b9825c2', preferred=True)
- version('1.0rc1', sha256='8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892')
+ version(
+ "1.0.post1",
+ sha256="bc4170a29915f8b22c9e7c4939701859650f2eb84184aee80da329ac0b9825c2",
+ preferred=True,
+ )
+ version("1.0rc1", sha256="8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bandit/package.py b/var/spack/repos/builtin/packages/py-bandit/package.py
index ad11e67da7..f364b006ef 100644
--- a/var/spack/repos/builtin/packages/py-bandit/package.py
+++ b/var/spack/repos/builtin/packages/py-bandit/package.py
@@ -10,15 +10,15 @@ class PyBandit(PythonPackage):
"""Security oriented static analyser for python code."""
homepage = "https://bandit.readthedocs.io/en/latest/"
- pypi = "bandit/bandit-1.7.0.tar.gz"
+ pypi = "bandit/bandit-1.7.0.tar.gz"
- version('1.7.0', sha256='8a4c7415254d75df8ff3c3b15cfe9042ecee628a1e40b44c15a98890fbfc2608')
+ version("1.7.0", sha256="8a4c7415254d75df8ff3c3b15cfe9042ecee628a1e40b44c15a98890fbfc2608")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pbr@2.0.0:', type='build')
- depends_on('py-gitpython@1.0.1:', type=('build', 'run'))
- depends_on('py-pyyaml@5.3.1:', 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-colorama@0.3.9:', when='platform=win32', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@2.0.0:", type="build")
+ depends_on("py-gitpython@1.0.1:", type=("build", "run"))
+ depends_on("py-pyyaml@5.3.1:", 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-colorama@0.3.9:", when="platform=win32", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py
index bca8a88026..c2c79148b2 100644
--- a/var/spack/repos/builtin/packages/py-basemap/package.py
+++ b/var/spack/repos/builtin/packages/py-basemap/package.py
@@ -10,34 +10,36 @@ class PyBasemap(PythonPackage):
"""The matplotlib basemap toolkit is a library for plotting
2D data on maps in Python."""
- url = 'https://github.com/matplotlib/basemap/archive/v1.2.0rel.tar.gz'
+ url = "https://github.com/matplotlib/basemap/archive/v1.2.0rel.tar.gz"
homepage = "https://matplotlib.org/basemap/"
- version('1.2.1', sha256='3fb30424f18cd4ffd505e30fd9c810ae81b999bb92f950c76553e1abc081faa7')
- version('1.2.0', sha256='bd5bf305918a2eb675939873b735238f9e3dfe6b5c290e37c41e5b082ff3639a')
- version('1.0.7', sha256='e07ec2e0d63b24c9aed25a09fe8aff2598f82a85da8db74190bac81cbf104531')
+ version("1.2.1", sha256="3fb30424f18cd4ffd505e30fd9c810ae81b999bb92f950c76553e1abc081faa7")
+ version("1.2.0", sha256="bd5bf305918a2eb675939873b735238f9e3dfe6b5c290e37c41e5b082ff3639a")
+ version("1.0.7", sha256="e07ec2e0d63b24c9aed25a09fe8aff2598f82a85da8db74190bac81cbf104531")
# Per Github issue #3813, setuptools is required at runtime in order
# to make mpl_toolkits a namespace package that can span multiple
# directories (i.e., matplotlib and basemap)
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.2.1:', type=('build', 'run'))
- depends_on('py-matplotlib@1.0.0:3.0.0,3.0.2:', type=('build', 'run'))
- depends_on('py-pyproj@1.9.3:1', type=('build', 'run'), when='@:1.2.0')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.2.1:", type=("build", "run"))
+ depends_on("py-matplotlib@1.0.0:3.0.0,3.0.2:", type=("build", "run"))
+ depends_on("py-pyproj@1.9.3:1", type=("build", "run"), when="@:1.2.0")
# 1.2.1 is PROJ6 compatible
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939022
- depends_on('py-pyproj@1.9.3:', type=('build', 'run'), when='@1.2.1:')
+ depends_on("py-pyproj@1.9.3:", type=("build", "run"), when="@1.2.1:")
- depends_on('py-pyshp@1.2.0:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('geos')
+ depends_on("py-pyshp@1.2.0:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("geos")
def url_for_version(self, version):
- if version >= Version('1.2.0'):
- return 'https://github.com/matplotlib/basemap/archive/v{0}rel.tar.gz'.format(version)
+ if version >= Version("1.2.0"):
+ return "https://github.com/matplotlib/basemap/archive/v{0}rel.tar.gz".format(version)
else:
- return 'https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz'.format(version)
+ return "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz".format(
+ version
+ )
def setup_build_environment(self, env):
- env.set('GEOS_DIR', self.spec['geos'].prefix)
+ env.set("GEOS_DIR", self.spec["geos"].prefix)
diff --git a/var/spack/repos/builtin/packages/py-bash-kernel/package.py b/var/spack/repos/builtin/packages/py-bash-kernel/package.py
index 7c4b238f07..6e18c3de59 100644
--- a/var/spack/repos/builtin/packages/py-bash-kernel/package.py
+++ b/var/spack/repos/builtin/packages/py-bash-kernel/package.py
@@ -11,9 +11,9 @@ class PyBashKernel(PythonPackage):
"""A Jupyter kernel for bash."""
homepage = "https://github.com/takluyver/bash_kernel"
- pypi = "bash_kernel/bash_kernel-0.7.2.tar.gz"
+ pypi = "bash_kernel/bash_kernel-0.7.2.tar.gz"
- version('0.7.2', sha256='a08c84eddd8179de5234105821fd5cc210015671a0bd3cd0bc4f631c475e1670')
+ version("0.7.2", sha256="a08c84eddd8179de5234105821fd5cc210015671a0bd3cd0bc4f631c475e1670")
- depends_on('py-flit', type='build')
- depends_on('py-pexpect@4.0:', type=('build', 'run'))
+ depends_on("py-flit", type="build")
+ depends_on("py-pexpect@4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py b/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
index 3c05d0b1e9..319f505d8d 100644
--- a/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
+++ b/var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
@@ -10,22 +10,22 @@ class PyBasisSetExchange(PythonPackage):
"""Command-line interface for the Basis Set Exchange Website"""
homepage = "https://www.basissetexchange.org"
- url = "https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.8.12.tar.gz"
+ url = "https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.8.12.tar.gz"
- maintainers = ['bennybp', 'scemama']
+ maintainers = ["bennybp", "scemama"]
- version('0.8.12', sha256='41f0242e2c11392c511d3308c0345e14b0eb3344686d865bdfcb48257910fc0d')
- version('0.8.11', sha256='dbd4cf9382d97b79a3143c6b2086d1d24562bd13e0ab0d18fc0423b9ee877b9b')
- version('0.8.10', sha256='7f974faf513791d59ef47dd4eba9d8386f75bbd85f253ca5c08732ff56004a57')
- version('0.8.9', sha256='faf01a00c8ef7cf7331562052fbf1ff861e901545a927310ab09ac03604b400b')
- version('0.8.8', sha256='4770bc901b93bfbf1aa5e1c4b486804753b3ff19c41794d3200ffe990b12dfa1')
- version('0.8.7', sha256='5e9e18ca84bd378d1e02b6543cee122d8cc4efeaf05b1801061b500dda4cb2fc')
- version('0.8.6', sha256='96da4ab45adaab11825917dc4cf0e236f5d2f0af0f2e026578262ce389784912')
- version('0.8.5', sha256='ff8e6e03474319245e641c9da05715a6ea90dccab0e60ad2b0bc8556f85a9bca')
- version('0.8.4', sha256='005f95794ce55f1b1e8faa0b6910b814819dd4ee9dba367a3ec29dfe53816684')
- version('0.8.3', sha256='0721f3cf55f588f62d74a408bccdd44046ebeaab8ec802c02fae7983d8f0359f')
+ version("0.8.12", sha256="41f0242e2c11392c511d3308c0345e14b0eb3344686d865bdfcb48257910fc0d")
+ version("0.8.11", sha256="dbd4cf9382d97b79a3143c6b2086d1d24562bd13e0ab0d18fc0423b9ee877b9b")
+ version("0.8.10", sha256="7f974faf513791d59ef47dd4eba9d8386f75bbd85f253ca5c08732ff56004a57")
+ version("0.8.9", sha256="faf01a00c8ef7cf7331562052fbf1ff861e901545a927310ab09ac03604b400b")
+ version("0.8.8", sha256="4770bc901b93bfbf1aa5e1c4b486804753b3ff19c41794d3200ffe990b12dfa1")
+ version("0.8.7", sha256="5e9e18ca84bd378d1e02b6543cee122d8cc4efeaf05b1801061b500dda4cb2fc")
+ version("0.8.6", sha256="96da4ab45adaab11825917dc4cf0e236f5d2f0af0f2e026578262ce389784912")
+ version("0.8.5", sha256="ff8e6e03474319245e641c9da05715a6ea90dccab0e60ad2b0bc8556f85a9bca")
+ version("0.8.4", sha256="005f95794ce55f1b1e8faa0b6910b814819dd4ee9dba367a3ec29dfe53816684")
+ version("0.8.3", sha256="0721f3cf55f588f62d74a408bccdd44046ebeaab8ec802c02fae7983d8f0359f")
- depends_on('py-argcomplete', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("py-argcomplete", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-batchspawner/package.py b/var/spack/repos/builtin/packages/py-batchspawner/package.py
index db68cdc50f..0377ee1ab0 100644
--- a/var/spack/repos/builtin/packages/py-batchspawner/package.py
+++ b/var/spack/repos/builtin/packages/py-batchspawner/package.py
@@ -11,12 +11,12 @@ class PyBatchspawner(PythonPackage):
installations on clusters using batch scheduling software."""
homepage = "https://github.com/jupyterhub/batchspawner"
- pypi = "batchspawner/batchspawner-1.1.0.tar.gz"
+ pypi = "batchspawner/batchspawner-1.1.0.tar.gz"
- version('1.1.0', sha256='9bae72f7c1bd9bb11aa58ecc3bc9fae5475a10fdd92dc0c0d67fa7eb95c9dd3a')
+ version("1.1.0", sha256="9bae72f7c1bd9bb11aa58ecc3bc9fae5475a10fdd92dc0c0d67fa7eb95c9dd3a")
- depends_on('python@3.3:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-async-generator@1.8:', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-jupyterhub@0.5:', type=('build', 'run'))
+ depends_on("python@3.3:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-async-generator@1.8:", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-jupyterhub@0.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bayesian-optimization/package.py b/var/spack/repos/builtin/packages/py-bayesian-optimization/package.py
index f4d797edbb..e23aadf7cd 100644
--- a/var/spack/repos/builtin/packages/py-bayesian-optimization/package.py
+++ b/var/spack/repos/builtin/packages/py-bayesian-optimization/package.py
@@ -11,11 +11,11 @@ class PyBayesianOptimization(PythonPackage):
optimization with gaussian processes."""
homepage = "https://github.com/fmfn/BayesianOptimization"
- pypi = 'bayesian-optimization/bayesian-optimization-1.2.0.tar.gz'
+ pypi = "bayesian-optimization/bayesian-optimization-1.2.0.tar.gz"
- version('1.2.0', sha256='c2fd3af4b6cc24ee1c145295b2a900ffb9b455cad924e8185a8d5784712bc935')
+ version("1.2.0", sha256="c2fd3af4b6cc24ee1c145295b2a900ffb9b455cad924e8185a8d5784712bc935")
- depends_on('py-setuptools', type='build')
- depends_on("py-numpy@1.9.0:", type=('build', 'run'))
- depends_on("py-scipy@0.14.0:", type=('build', 'run'))
- depends_on("py-scikit-learn@0.18.0:", type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.9.0:", type=("build", "run"))
+ depends_on("py-scipy@0.14.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bcbio-gff/package.py b/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
index cdd213615f..2a8519f8e9 100644
--- a/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
+++ b/var/spack/repos/builtin/packages/py-bcbio-gff/package.py
@@ -12,8 +12,8 @@ class PyBcbioGff(PythonPackage):
pypi = "bcbio-gff/bcbio-gff-0.6.2.tar.gz"
- version('0.6.2', sha256='c682dc46a90e9fdb124ab5723797a5f71b2e3534542ceff9f6572b64b9814e68')
+ version("0.6.2", sha256="c682dc46a90e9fdb124ab5723797a5f71b2e3534542ceff9f6572b64b9814e68")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-biopython', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-biopython", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bcolz/package.py b/var/spack/repos/builtin/packages/py-bcolz/package.py
index 85efdb8482..8e27ae7bd7 100644
--- a/var/spack/repos/builtin/packages/py-bcolz/package.py
+++ b/var/spack/repos/builtin/packages/py-bcolz/package.py
@@ -18,10 +18,10 @@ class PyBcolz(PythonPackage):
homepage = "https://github.com/Blosc/bcolz"
pypi = "bcolz/bcolz-1.2.1.tar.gz"
- version('1.2.1', sha256='c017d09bb0cb5bbb07f2ae223a3f3638285be3b574cb328e91525b2880300bd1')
+ version("1.2.1", sha256="c017d09bb0cb5bbb07f2ae223a3f3638285be3b574cb328e91525b2880300bd1")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-setuptools@18.1:', type='build')
- depends_on('py-setuptools-scm@1.5.5:', type='build')
- depends_on('py-cython@0.22:', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-setuptools@18.1:", type="build")
+ depends_on("py-setuptools-scm@1.5.5:", type="build")
+ depends_on("py-cython@0.22:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bcrypt/package.py b/var/spack/repos/builtin/packages/py-bcrypt/package.py
index 4efa1186a6..26ce061a14 100644
--- a/var/spack/repos/builtin/packages/py-bcrypt/package.py
+++ b/var/spack/repos/builtin/packages/py-bcrypt/package.py
@@ -10,16 +10,16 @@ class PyBcrypt(PythonPackage):
"""Modern password hashing for your software and your servers"""
homepage = "https://github.com/pyca/bcrypt/"
- url = "https://github.com/pyca/bcrypt/archive/3.1.4.tar.gz"
+ url = "https://github.com/pyca/bcrypt/archive/3.1.4.tar.gz"
- version('3.2.0', sha256='da18f9af11ec41c57daf3758f9d21bd90292c0cdb2a7ea4e6b803f39e753c350')
- version('3.1.7', sha256='3f7784000846dd85fd626c2cf50065f5078dd76b68f6bd7ba3f132b691035ff4')
- version('3.1.6', sha256='169d3e6edbf8717e8856748b72fb02abe8ce8e0b65d733b1509ae9942e77f2a9')
- version('3.1.4', sha256='ca122a2cdcdffb0fd04f9dfe3493766f298bef02dea2f190f35ea6fdee222b96')
+ version("3.2.0", sha256="da18f9af11ec41c57daf3758f9d21bd90292c0cdb2a7ea4e6b803f39e753c350")
+ version("3.1.7", sha256="3f7784000846dd85fd626c2cf50065f5078dd76b68f6bd7ba3f132b691035ff4")
+ version("3.1.6", sha256="169d3e6edbf8717e8856748b72fb02abe8ce8e0b65d733b1509ae9942e77f2a9")
+ version("3.1.4", sha256="ca122a2cdcdffb0fd04f9dfe3493766f298bef02dea2f190f35ea6fdee222b96")
- depends_on('python@3.6:', when='@3.2:', type='build')
- depends_on('python@2.7:2,3.4:', when='@3.1.6:', type='build')
- depends_on('py-setuptools@40.8:', when='@3.1.7:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi@1.1:', type=('build', 'run'))
- depends_on('py-six@1.4.1:', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3.2:", type="build")
+ depends_on("python@2.7:2,3.4:", when="@3.1.6:", type="build")
+ depends_on("py-setuptools@40.8:", when="@3.1.7:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi@1.1:", type=("build", "run"))
+ depends_on("py-six@1.4.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-beancount/package.py b/var/spack/repos/builtin/packages/py-beancount/package.py
index f8d3f767eb..82c3abcbd2 100644
--- a/var/spack/repos/builtin/packages/py-beancount/package.py
+++ b/var/spack/repos/builtin/packages/py-beancount/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class PyBeancount(PythonPackage):
"""A double-entry bookkeeping computer language that lets you define
- financial transaction records in a text file, read them in memory,
- generate a variety of reports from them, and provides a web
- interface.."""
+ financial transaction records in a text file, read them in memory,
+ generate a variety of reports from them, and provides a web
+ interface.."""
homepage = "http://furius.ca/beancount/"
- pypi = "beancount/beancount-2.3.3.tar.gz"
+ pypi = "beancount/beancount-2.3.3.tar.gz"
- version('2.3.3', sha256='d9a29839ea867d1dda7af1f4bf5d3959aa7c1574cd4a0bc86f69ee64c555c71c')
+ version("2.3.3", sha256="d9a29839ea867d1dda7af1f4bf5d3959aa7c1574cd4a0bc86f69ee64c555c71c")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
- depends_on('py-bottle', type=('build', 'run'))
- depends_on('py-lxml+htmlsoup', type=('build', 'run'))
- depends_on('py-ply', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-python-magic', type=('build', 'run'))
- depends_on('py-beautifulsoup4', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-chardet', type=('build', 'run'))
- depends_on('py-google-api-python-client', type=('build', 'run'))
+ depends_on("py-bottle", type=("build", "run"))
+ depends_on("py-lxml+htmlsoup", type=("build", "run"))
+ depends_on("py-ply", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-python-magic", type=("build", "run"))
+ depends_on("py-beautifulsoup4", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-chardet", type=("build", "run"))
+ depends_on("py-google-api-python-client", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
index bd8ed3d082..f9fcc3dd86 100644
--- a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
+++ b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py
@@ -14,21 +14,21 @@ class PyBeautifulsoup4(PythonPackage):
homepage = "https://www.crummy.com/software/BeautifulSoup"
pypi = "beautifulsoup4/beautifulsoup4-4.8.0.tar.gz"
- version('4.10.0', sha256='c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891')
- version('4.9.3', sha256='84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25')
- version('4.8.0', sha256='25288c9e176f354bf277c0a10aa96c782a6a18a17122dba2e8cec4a97e03343b')
- version('4.5.3', sha256='b21ca09366fa596043578fd4188b052b46634d22059e68dd0077d9ee77e08a3e')
- version('4.5.1', sha256='3c9474036afda9136aac6463def733f81017bf9ef3510d25634f335b0c87f5e1')
- version('4.4.1', sha256='87d4013d0625d4789a4f56b8d79a04d5ce6db1152bb65f1d39744f7709a366b4')
-
- variant('lxml', default=False, description='Enable lxml parser')
- variant('html5lib', default=False, description='Enable html5lib parser')
-
- depends_on('python@3:', type=('build', 'run'), when='@4.10.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-soupsieve@1.3:', when='@4.9.0: ^python@3:', type=('build', 'run'))
- depends_on('py-soupsieve@1.3:1', when='@4.9.0: ^python@:2.8', type=('build', 'run'))
- depends_on('py-soupsieve@1.2:', when='@4.7.0:', type=('build', 'run'))
-
- depends_on('py-lxml', when='+lxml', type=('build', 'run'))
- depends_on('py-html5lib', when='+html5lib', type=('build', 'run'))
+ version("4.10.0", sha256="c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891")
+ version("4.9.3", sha256="84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25")
+ version("4.8.0", sha256="25288c9e176f354bf277c0a10aa96c782a6a18a17122dba2e8cec4a97e03343b")
+ version("4.5.3", sha256="b21ca09366fa596043578fd4188b052b46634d22059e68dd0077d9ee77e08a3e")
+ version("4.5.1", sha256="3c9474036afda9136aac6463def733f81017bf9ef3510d25634f335b0c87f5e1")
+ version("4.4.1", sha256="87d4013d0625d4789a4f56b8d79a04d5ce6db1152bb65f1d39744f7709a366b4")
+
+ variant("lxml", default=False, description="Enable lxml parser")
+ variant("html5lib", default=False, description="Enable html5lib parser")
+
+ depends_on("python@3:", type=("build", "run"), when="@4.10.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-soupsieve@1.3:", when="@4.9.0: ^python@3:", type=("build", "run"))
+ depends_on("py-soupsieve@1.3:1", when="@4.9.0: ^python@:2.8", type=("build", "run"))
+ depends_on("py-soupsieve@1.2:", when="@4.7.0:", type=("build", "run"))
+
+ depends_on("py-lxml", when="+lxml", type=("build", "run"))
+ depends_on("py-html5lib", when="+html5lib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-beniget/package.py b/var/spack/repos/builtin/packages/py-beniget/package.py
index 94020bf13e..e9d1cc5217 100644
--- a/var/spack/repos/builtin/packages/py-beniget/package.py
+++ b/var/spack/repos/builtin/packages/py-beniget/package.py
@@ -10,15 +10,15 @@ class PyBeniget(PythonPackage):
"""Extract semantic information about static Python code."""
homepage = "https://github.com/serge-sans-paille/beniget/"
- pypi = "beniget/beniget-0.3.0.tar.gz"
+ pypi = "beniget/beniget-0.3.0.tar.gz"
- version('0.4.1', sha256='75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c')
- version('0.4.0', sha256='72bbd47b1ae93690f5fb2ad3902ce1ae61dcd868ce6cfbf33e9bad71f9ed8749')
- version('0.3.0', sha256='062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1')
- version('0.2.3', sha256='350422b0598c92fcc5f8bcaf77f2a62f6744fb8f2fb495b10a50176c1283639f')
+ version("0.4.1", sha256="75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c")
+ version("0.4.0", sha256="72bbd47b1ae93690f5fb2ad3902ce1ae61dcd868ce6cfbf33e9bad71f9ed8749")
+ version("0.3.0", sha256="062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1")
+ version("0.2.3", sha256="350422b0598c92fcc5f8bcaf77f2a62f6744fb8f2fb495b10a50176c1283639f")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-gast@0.5.0:0.5', when='@0.4.0:', type=('build', 'run'))
- depends_on('py-gast@0.4.0:0.4', when='@0.3.0:0.3', type=('build', 'run'))
- depends_on('py-gast@0.3.3:0.3', when='@:0.2', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-gast@0.5.0:0.5", when="@0.4.0:", type=("build", "run"))
+ depends_on("py-gast@0.4.0:0.4", when="@0.3.0:0.3", type=("build", "run"))
+ depends_on("py-gast@0.3.3:0.3", when="@:0.2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bids-validator/package.py b/var/spack/repos/builtin/packages/py-bids-validator/package.py
index 2309f68882..7dc70ed4b2 100644
--- a/var/spack/repos/builtin/packages/py-bids-validator/package.py
+++ b/var/spack/repos/builtin/packages/py-bids-validator/package.py
@@ -10,11 +10,11 @@ class PyBidsValidator(PythonPackage):
"""Validator for the Brain Imaging Data Structure"""
homepage = "https://github.com/bids-standard/bids-validator"
- pypi = "bids-validator/bids-validator-1.7.2.tar.gz"
+ pypi = "bids-validator/bids-validator-1.7.2.tar.gz"
- version('1.9.4', sha256='4bf07d375f231a2ad2f450beeb3ef6c54f93194fd993aa5157d57a8fba48ed50')
- version('1.8.9', sha256='01fcb5a8fe6de1280cdfd5b37715103ffa0bafb3c739ca7f5ffc41e46549612e')
- version('1.8.4', sha256='63e7a02c9ddb5505a345e178f4e436b82c35ec0a177d7047b67ea10ea3029a68')
- version('1.7.2', sha256='12398831a3a3a2ed7c67e693cf596610c23dd23e0889bfeae0830bbd1d41e5b9')
+ version("1.9.4", sha256="4bf07d375f231a2ad2f450beeb3ef6c54f93194fd993aa5157d57a8fba48ed50")
+ version("1.8.9", sha256="01fcb5a8fe6de1280cdfd5b37715103ffa0bafb3c739ca7f5ffc41e46549612e")
+ version("1.8.4", sha256="63e7a02c9ddb5505a345e178f4e436b82c35ec0a177d7047b67ea10ea3029a68")
+ version("1.7.2", sha256="12398831a3a3a2ed7c67e693cf596610c23dd23e0889bfeae0830bbd1d41e5b9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bigdft/package.py b/var/spack/repos/builtin/packages/py-bigdft/package.py
index 36ae2496c3..6c2a5c1276 100644
--- a/var/spack/repos/builtin/packages/py-bigdft/package.py
+++ b/var/spack/repos/builtin/packages/py-bigdft/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class PyBigdft(PythonPackage):
"""BigDFT: the python interface of BigDFT for electronic structure calculation
- based on Daubechies wavelets."""
+ based on Daubechies wavelets."""
homepage = "https://bigdft.org/"
- url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
- git = "https://gitlab.com/l_sim/bigdft-suite.git"
-
- version('develop', branch='devel')
- version('1.9.2', sha256='dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f')
- version('1.9.1', sha256='3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41')
- version('1.9.0', sha256='4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8')
-
- depends_on('python@:2.8', type=('build', 'run'), when="@:1.8.3")
- depends_on('python@3.0:', type=('build', 'run'), when="@1.9.0:")
- depends_on('python@3.0:', type=('build', 'run'), when="@develop")
- depends_on('py-numpy')
- depends_on('py-setuptools')
-
- for vers in ['1.9.0', '1.9.1', '1.9.2', 'develop']:
- depends_on('bigdft-futile@{0}'.format(vers), type='run', when='@{0}'.format(vers))
+ url = "https://gitlab.com/l_sim/bigdft-suite/-/archive/1.9.2/bigdft-suite-1.9.2.tar.gz"
+ git = "https://gitlab.com/l_sim/bigdft-suite.git"
+
+ version("develop", branch="devel")
+ version("1.9.2", sha256="dc9e49b68f122a9886fa0ef09970f62e7ba21bb9ab1b86be9b7d7e22ed8fbe0f")
+ version("1.9.1", sha256="3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41")
+ version("1.9.0", sha256="4500e505f5a29d213f678a91d00a10fef9dc00860ea4b3edf9280f33ed0d1ac8")
+
+ depends_on("python@:2.8", type=("build", "run"), when="@:1.8.3")
+ depends_on("python@3.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("python@3.0:", type=("build", "run"), when="@develop")
+ depends_on("py-numpy")
+ depends_on("py-setuptools")
+
+ for vers in ["1.9.0", "1.9.1", "1.9.2", "develop"]:
+ depends_on("bigdft-futile@{0}".format(vers), type="run", when="@{0}".format(vers))
build_directory = "PyBigDFT"
diff --git a/var/spack/repos/builtin/packages/py-bigfloat/package.py b/var/spack/repos/builtin/packages/py-bigfloat/package.py
index d2635a711c..f31c32a830 100644
--- a/var/spack/repos/builtin/packages/py-bigfloat/package.py
+++ b/var/spack/repos/builtin/packages/py-bigfloat/package.py
@@ -10,12 +10,12 @@ class PyBigfloat(PythonPackage):
"""Arbitrary-precision correctly-rounded floating-point arithmetic, via MPFR."""
homepage = "https://github.com/mdickinson/bigfloat"
- pypi = "bigfloat/bigfloat-0.4.0.tar.gz"
+ pypi = "bigfloat/bigfloat-0.4.0.tar.gz"
- version('0.4.0', sha256='58b96bde872aca5989d13d82eba3acf2aa1b94e22117dd72a16ba5911b0c0cb8')
+ version("0.4.0", sha256="58b96bde872aca5989d13d82eba3acf2aa1b94e22117dd72a16ba5911b0c0cb8")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('gmp', type='link')
- depends_on('mpfr', type=('build', 'link'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("gmp", type="link")
+ depends_on("mpfr", type=("build", "link"))
diff --git a/var/spack/repos/builtin/packages/py-billiard/package.py b/var/spack/repos/builtin/packages/py-billiard/package.py
index ce02a6ece5..2ca61cd017 100644
--- a/var/spack/repos/builtin/packages/py-billiard/package.py
+++ b/var/spack/repos/builtin/packages/py-billiard/package.py
@@ -11,10 +11,10 @@ class PyBilliard(PythonPackage):
pypi = "billiard/billiard-3.5.0.5.tar.gz"
- version('3.6.4.0', sha256='299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547')
- version('3.6.3.0', sha256='d91725ce6425f33a97dfa72fb6bfef0e47d4652acd98a032bd1a7fbf06d5fa6a')
- version('3.6.1.0', sha256='b8809c74f648dfe69b973c8e660bcec00603758c9db8ba89d7719f88d5f01f26')
- version('3.6.0.0', sha256='756bf323f250db8bf88462cd042c992ba60d8f5e07fc5636c24ba7d6f4261d84')
- version('3.5.0.5', sha256='42d9a227401ac4fba892918bba0a0c409def5435c4b483267ebfe821afaaba0e')
+ version("3.6.4.0", sha256="299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547")
+ version("3.6.3.0", sha256="d91725ce6425f33a97dfa72fb6bfef0e47d4652acd98a032bd1a7fbf06d5fa6a")
+ version("3.6.1.0", sha256="b8809c74f648dfe69b973c8e660bcec00603758c9db8ba89d7719f88d5f01f26")
+ version("3.6.0.0", sha256="756bf323f250db8bf88462cd042c992ba60d8f5e07fc5636c24ba7d6f4261d84")
+ version("3.5.0.5", sha256="42d9a227401ac4fba892918bba0a0c409def5435c4b483267ebfe821afaaba0e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-binaryornot/package.py b/var/spack/repos/builtin/packages/py-binaryornot/package.py
index 0ee41ba20e..e7f51d83f1 100644
--- a/var/spack/repos/builtin/packages/py-binaryornot/package.py
+++ b/var/spack/repos/builtin/packages/py-binaryornot/package.py
@@ -7,13 +7,12 @@ from spack.package import *
class PyBinaryornot(PythonPackage):
- """Ultra-lightweight pure Python package to check if a file is binary or text.
- """
+ """Ultra-lightweight pure Python package to check if a file is binary or text."""
homepage = "https://binaryornot.readthedocs.io"
- url = "https://github.com/audreyr/binaryornot/archive/0.4.0.tar.gz"
+ url = "https://github.com/audreyr/binaryornot/archive/0.4.0.tar.gz"
- version('0.4.4', sha256='8cca04876a5e9d01f0dda79390e99089da87f3c1948ab2720661ba379d1b23f2')
+ version("0.4.4", sha256="8cca04876a5e9d01f0dda79390e99089da87f3c1948ab2720661ba379d1b23f2")
- depends_on('py-setuptools', type='build')
- depends_on('py-chardet')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-chardet")
diff --git a/var/spack/repos/builtin/packages/py-bintrees/package.py b/var/spack/repos/builtin/packages/py-bintrees/package.py
index 3e44f7ac6d..f8e5a16d3f 100644
--- a/var/spack/repos/builtin/packages/py-bintrees/package.py
+++ b/var/spack/repos/builtin/packages/py-bintrees/package.py
@@ -7,12 +7,11 @@ from spack.package import *
class PyBintrees(PythonPackage):
- """Package provides Binary-, RedBlack- and AVL-Trees in Python and Cython.
- """
+ """Package provides Binary-, RedBlack- and AVL-Trees in Python and Cython."""
homepage = "https://github.com/mozman/bintrees"
pypi = "bintrees/bintrees-2.0.7.zip"
- version('2.0.7', sha256='60675e6602cef094abcd38bf4aecc067d78ae2d5e1645615c789724542d11270')
+ version("2.0.7", sha256="60675e6602cef094abcd38bf4aecc067d78ae2d5e1645615c789724542d11270")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-binwalk/package.py b/var/spack/repos/builtin/packages/py-binwalk/package.py
index 715ea3b293..8f477d8aaf 100644
--- a/var/spack/repos/builtin/packages/py-binwalk/package.py
+++ b/var/spack/repos/builtin/packages/py-binwalk/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class PyBinwalk(PythonPackage):
"""Binwalk is a fast, easy to use tool for analyzing, reverse engineering,
- and extracting firmware images."""
+ and extracting firmware images."""
homepage = "https://github.com/devttys0/binwalk"
pypi = "binwalk/binwalk-2.1.0.tar.gz"
- version('2.1.0', sha256='218c8045c6cb3ed6e21814fb89cdb913808b02dfe5a6cc30f85f4a59e8129f6b')
+ version("2.1.0", sha256="218c8045c6cb3ed6e21814fb89cdb913808b02dfe5a6cc30f85f4a59e8129f6b")
- depends_on('python')
- depends_on('py-setuptools', type='build')
+ depends_on("python")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-biom-format/package.py b/var/spack/repos/builtin/packages/py-biom-format/package.py
index 4c048967a3..010fc685f1 100644
--- a/var/spack/repos/builtin/packages/py-biom-format/package.py
+++ b/var/spack/repos/builtin/packages/py-biom-format/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class PyBiomFormat(PythonPackage):
"""The BIOM file format (canonically pronounced biome) is designed to be
- a general-use format for representing biological sample by observation
- contingency tables."""
+ a general-use format for representing biological sample by observation
+ contingency tables."""
pypi = "biom-format/biom-format-2.1.6.tar.gz"
- version('2.1.10', sha256='f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488')
- version('2.1.9', sha256='18a6e4d4b4b2a6bf2d5544fa357ad168bedeac93f0837015ef9c72f41fa89491')
- version('2.1.7', sha256='b47e54282ef13cddffdb00aea9183a87175a2372c91a915259086a3f444c42f4')
- version('2.1.6', sha256='8eefc275a85cc937f6d6f408d91b7b45eae854cd5d1cbda411a3af51f5b49b0d')
+ version("2.1.10", sha256="f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488")
+ version("2.1.9", sha256="18a6e4d4b4b2a6bf2d5544fa357ad168bedeac93f0837015ef9c72f41fa89491")
+ version("2.1.7", sha256="b47e54282ef13cddffdb00aea9183a87175a2372c91a915259086a3f444c42f4")
+ version("2.1.6", sha256="8eefc275a85cc937f6d6f408d91b7b45eae854cd5d1cbda411a3af51f5b49b0d")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('python@3:', type=('build', 'run'), when='@2.1.9:')
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-cython@0.29:', type='build')
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'), when='@2.1.5:')
- depends_on('py-numpy@1.9.2:', type=('build', 'run'))
- depends_on('py-future@0.16.0:', type=('build', 'run'))
- depends_on('py-scipy@1.3.1:', type=('build', 'run'))
- depends_on('py-pandas@0.20.0:', type=('build', 'run'))
- depends_on('py-six@1.10.0:', type=('build', 'run'))
- depends_on('py-pyqi', type=('build', 'run'), when='^python@:2')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("python@3:", type=("build", "run"), when="@2.1.9:")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cython@0.29:", type="build")
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"), when="@2.1.5:")
+ depends_on("py-numpy@1.9.2:", type=("build", "run"))
+ depends_on("py-future@0.16.0:", type=("build", "run"))
+ depends_on("py-scipy@1.3.1:", type=("build", "run"))
+ depends_on("py-pandas@0.20.0:", type=("build", "run"))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
+ depends_on("py-pyqi", type=("build", "run"), when="^python@:2")
diff --git a/var/spack/repos/builtin/packages/py-biomine/package.py b/var/spack/repos/builtin/packages/py-biomine/package.py
index a3f2a350af..2337df7903 100644
--- a/var/spack/repos/builtin/packages/py-biomine/package.py
+++ b/var/spack/repos/builtin/packages/py-biomine/package.py
@@ -10,13 +10,13 @@ class PyBiomine(PythonPackage):
"""Bioinformatics data-mining."""
homepage = "https://github.com/AdamDS/BioMine"
- url = "https://github.com/AdamDS/BioMine/archive/v0.9.5.tar.gz"
+ url = "https://github.com/AdamDS/BioMine/archive/v0.9.5.tar.gz"
- version('0.9.5', sha256='1b2a72cd2cb6e99d9b79fcc9ea94fa0e1892b02465620ba6bba59473dc7ff3ac')
+ version("0.9.5", sha256="1b2a72cd2cb6e99d9b79fcc9ea94fa0e1892b02465620ba6bba59473dc7ff3ac")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-advancedhtmlparser', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-pyvcf', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-advancedhtmlparser", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-pyvcf", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-biopandas/package.py b/var/spack/repos/builtin/packages/py-biopandas/package.py
index 674f7cd0d4..878105f0ee 100644
--- a/var/spack/repos/builtin/packages/py-biopandas/package.py
+++ b/var/spack/repos/builtin/packages/py-biopandas/package.py
@@ -11,15 +11,15 @@ class PyBiopandas(PythonPackage):
homepage = "https://rasbt.github.io/biopandas"
pypi = "biopandas/biopandas-0.2.5.tar.gz"
- git = "https://github.com/rasbt/biopandas.git"
+ git = "https://github.com/rasbt/biopandas.git"
# Note that the source package on PyPi is broken as it
# is missing the requirements.txt so we have to download
# from github
- version('0.2.5', branch="v0.2.5")
+ version("0.2.5", branch="v0.2.5")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pandas@0.24.2:', type=('build', 'run'))
- depends_on('py-numpy@1.16.2:', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pandas@0.24.2:", type=("build", "run"))
+ depends_on("py-numpy@1.16.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-biopython/package.py b/var/spack/repos/builtin/packages/py-biopython/package.py
index fe6e8e0c69..1683818d19 100644
--- a/var/spack/repos/builtin/packages/py-biopython/package.py
+++ b/var/spack/repos/builtin/packages/py-biopython/package.py
@@ -8,18 +8,19 @@ from spack.package import *
class PyBiopython(PythonPackage):
"""A distributed collaborative effort to develop Python libraries and
- applications which address the needs of current and future work in
- bioinformatics.
+ applications which address the needs of current and future work in
+ bioinformatics.
"""
+
homepage = "https://biopython.org/wiki/Main_Page"
- url = "https://biopython.org/DIST/biopython-1.65.tar.gz"
+ url = "https://biopython.org/DIST/biopython-1.65.tar.gz"
- version('1.78', sha256='1ee0a0b6c2376680fea6642d5080baa419fd73df104a62d58a8baf7a8bbe4564')
- version('1.73', sha256='70c5cc27dc61c23d18bb33b6d38d70edc4b926033aea3b7434737c731c94a5e0')
- version('1.70', sha256='4a7c5298f03d1a45523f32bae1fffcff323ea9dce007fb1241af092f5ab2e45b')
- version('1.65', sha256='463cc81db84e9bfcdfb15629511c81ed556a6c0287e670dbfe80f03c65d2a88e')
+ version("1.78", sha256="1ee0a0b6c2376680fea6642d5080baa419fd73df104a62d58a8baf7a8bbe4564")
+ version("1.73", sha256="70c5cc27dc61c23d18bb33b6d38d70edc4b926033aea3b7434737c731c94a5e0")
+ version("1.70", sha256="4a7c5298f03d1a45523f32bae1fffcff323ea9dce007fb1241af092f5ab2e45b")
+ version("1.65", sha256="463cc81db84e9bfcdfb15629511c81ed556a6c0287e670dbfe80f03c65d2a88e")
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bitarray/package.py b/var/spack/repos/builtin/packages/py-bitarray/package.py
index e1c3ca7241..d027c87f94 100644
--- a/var/spack/repos/builtin/packages/py-bitarray/package.py
+++ b/var/spack/repos/builtin/packages/py-bitarray/package.py
@@ -11,7 +11,7 @@ class PyBitarray(PythonPackage):
pypi = "bitarray/bitarray-0.8.1.tar.gz"
- version('0.8.1', sha256='7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18')
+ version("0.8.1", sha256="7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18")
- depends_on('python')
- depends_on('py-setuptools', type='build')
+ depends_on("python")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bitstring/package.py b/var/spack/repos/builtin/packages/py-bitstring/package.py
index 72c5c47ae9..c41f504240 100644
--- a/var/spack/repos/builtin/packages/py-bitstring/package.py
+++ b/var/spack/repos/builtin/packages/py-bitstring/package.py
@@ -12,7 +12,7 @@ class PyBitstring(PythonPackage):
homepage = "http://pythonhosted.org/bitstring"
pypi = "bitstring/bitstring-3.1.5.zip"
- version('3.1.5', sha256='c163a86fcef377c314690051885d86b47419e3e1770990c212e16723c1c08faa')
+ version("3.1.5", sha256="c163a86fcef377c314690051885d86b47419e3e1770990c212e16723c1c08faa")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-black/package.py b/var/spack/repos/builtin/packages/py-black/package.py
index dd3b1d0b7f..3db62e7b98 100644
--- a/var/spack/repos/builtin/packages/py-black/package.py
+++ b/var/spack/repos/builtin/packages/py-black/package.py
@@ -15,50 +15,50 @@ class PyBlack(PythonPackage):
homepage = "https://github.com/psf/black"
pypi = "black/black-22.1.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('22.6.0', sha256='6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9')
- version('22.3.0', sha256='35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79')
- version('22.1.0', sha256='a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5')
+ version("22.6.0", sha256="6c6d39e28aed379aec40da1c65434c77d75e65bb59a1e1c283de545fb4e7c6c9")
+ version("22.3.0", sha256="35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79")
+ version("22.1.0", sha256="a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5")
# This is the last v21 release, and it's needed to format for Python 2.7
- version('21.12b0', sha256='77b80f693a569e2e527958459634f18df9b0ba2625ba4e0c2d5da5be42e6f2b3')
+ version("21.12b0", sha256="77b80f693a569e2e527958459634f18df9b0ba2625ba4e0c2d5da5be42e6f2b3")
- variant('d', default=False, description='enable blackd HTTP server')
- variant('colorama', default=False, description='enable colorama support')
- variant('uvloop', default=False, description='enable uvloop support')
- variant('jupyter', default=False, description='enable Jupyter support')
+ variant("d", default=False, description="enable blackd HTTP server")
+ variant("colorama", default=False, description="enable colorama support")
+ variant("uvloop", default=False, description="enable uvloop support")
+ variant("jupyter", default=False, description="enable Jupyter support")
# pyproject.toml
- depends_on('py-setuptools@45:', type=('build', 'run'))
- depends_on('py-setuptools-scm@6.3.1:+toml', type='build')
+ depends_on("py-setuptools@45:", type=("build", "run"))
+ depends_on("py-setuptools-scm@6.3.1:+toml", type="build")
# setup.py
- depends_on('python@3.6.2:', type=('build', 'run'))
+ depends_on("python@3.6.2:", type=("build", "run"))
- depends_on('py-click@8:', type=('build', 'run'))
+ depends_on("py-click@8:", type=("build", "run"))
# see: https://github.com/psf/black/issues/2964
# note that pip doesn't know this constraint.
depends_on("py-click@:8.0", when="@:22.2", type=("build", "run"))
- depends_on('py-platformdirs@2:', type=('build', 'run'))
- depends_on('py-tomli@1.1:', when='@21.7:', type=('build', 'run'))
- depends_on('py-typed-ast@1.4.2:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-pathspec@0.9:', type=('build', 'run'))
- depends_on('py-dataclasses@0.6:', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-typing-extensions@3.10:', when='^python@:3.9', type=('build', 'run'))
- depends_on('py-mypy-extensions@0.4.3:', type=('build', 'run'))
- depends_on('py-aiohttp@3.7.4:', when='+d', type=('build', 'run'))
- depends_on('py-colorama@0.4.3:', when='+colorama', type=('build', 'run'))
- depends_on('py-uvloop@0.15.2:', when='+uvloop', type=('build', 'run'))
- depends_on('py-ipython@7.8:', when='+jupyter', type=('build', 'run'))
- depends_on('py-tokenize-rt@3.2:', when='+jupyter', type=('build', 'run'))
+ depends_on("py-platformdirs@2:", type=("build", "run"))
+ depends_on("py-tomli@1.1:", when="@21.7:", type=("build", "run"))
+ depends_on("py-typed-ast@1.4.2:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-pathspec@0.9:", type=("build", "run"))
+ depends_on("py-dataclasses@0.6:", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-typing-extensions@3.10:", when="^python@:3.9", type=("build", "run"))
+ depends_on("py-mypy-extensions@0.4.3:", type=("build", "run"))
+ depends_on("py-aiohttp@3.7.4:", when="+d", type=("build", "run"))
+ depends_on("py-colorama@0.4.3:", when="+colorama", type=("build", "run"))
+ depends_on("py-uvloop@0.15.2:", when="+uvloop", type=("build", "run"))
+ depends_on("py-ipython@7.8:", when="+jupyter", type=("build", "run"))
+ depends_on("py-tokenize-rt@3.2:", when="+jupyter", type=("build", "run"))
@property
def import_modules(self):
- modules = ['blib2to3', 'blib2to3.pgen2', 'black']
+ modules = ["blib2to3", "blib2to3.pgen2", "black"]
- if '+d' in self.spec:
- modules.append('blackd')
+ if "+d" in self.spec:
+ modules.append("blackd")
return modules
diff --git a/var/spack/repos/builtin/packages/py-bleach/package.py b/var/spack/repos/builtin/packages/py-bleach/package.py
index edbad573e2..f5d97aca9e 100644
--- a/var/spack/repos/builtin/packages/py-bleach/package.py
+++ b/var/spack/repos/builtin/packages/py-bleach/package.py
@@ -12,16 +12,16 @@ class PyBleach(PythonPackage):
homepage = "https://github.com/mozilla/bleach"
pypi = "bleach/bleach-3.1.0.tar.gz"
- version('4.1.0', sha256='0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da')
- version('4.0.0', sha256='ffa9221c6ac29399cc50fcc33473366edd0cf8d5e2cbbbb63296dc327fb67cc8')
- version('3.3.1', sha256='306483a5a9795474160ad57fce3ddd1b50551e981eed8e15a582d34cef28aafa')
- version('3.1.0', sha256='3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa')
- version('1.5.0', sha256='978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65')
+ version("4.1.0", sha256="0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da")
+ version("4.0.0", sha256="ffa9221c6ac29399cc50fcc33473366edd0cf8d5e2cbbbb63296dc327fb67cc8")
+ version("3.3.1", sha256="306483a5a9795474160ad57fce3ddd1b50551e981eed8e15a582d34cef28aafa")
+ version("3.1.0", sha256="3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa")
+ version("1.5.0", sha256="978e758599b54cd3caa2e160d74102879b230ea8dc93871d0783721eef58bc65")
- depends_on('python@3.6:', when='@4.0.0:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', when='@3.1.3:', type=('build', 'run'))
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-webencodings', type=('build', 'run'))
- depends_on('py-packaging', when='@3.1.5:', type=('build', 'run'))
+ depends_on("python@3.6:", when="@4.0.0:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", when="@3.1.3:", type=("build", "run"))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-webencodings", type=("build", "run"))
+ depends_on("py-packaging", when="@3.1.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-blessed/package.py b/var/spack/repos/builtin/packages/py-blessed/package.py
index 2867d56c24..5786ec3df0 100644
--- a/var/spack/repos/builtin/packages/py-blessed/package.py
+++ b/var/spack/repos/builtin/packages/py-blessed/package.py
@@ -14,24 +14,24 @@ class PyBlessed(PythonPackage):
homepage = "https://github.com/jquast/blessed"
pypi = "blessed/blessed-1.15.0.tar.gz"
- version('1.19.0', sha256='4db0f94e5761aea330b528e84a250027ffe996b5a94bf03e502600c9a5ad7a61')
- version('1.18.1', sha256='8b09936def6bc06583db99b65636b980075733e13550cb6af262ce724a55da23')
- version('1.18.0', sha256='1312879f971330a1b7f2c6341f2ae7e2cbac244bfc9d0ecfbbecd4b0293bc755')
- version('1.17.12', sha256='580429e7e0c6f6a42ea81b0ae5a4993b6205c6ccbb635d034b4277af8175753e')
- version('1.17.11', sha256='7d4914079a6e8e14fbe080dcaf14dee596a088057cdc598561080e3266123b48')
- version('1.17.10', sha256='58b9464609f54e2eca5f5926db590a5b01fefef882844ce05064f483b8f96c26')
- version('1.17.9', sha256='0d497a5be8a808b7300c00bf8303e7ba9fd11f6063a67bb924a475e5bfa7a9bb')
- version('1.17.8', sha256='7671d057b2df6ddbefd809009fb08feb2f8d2d163d240b5e765088a90519b2f1')
- version('1.17.7', sha256='0329a3d1db91328986a6dfd36475dbc498c867090f0433cdcc1a45a5eb2067e4')
- version('1.17.6', sha256='a9a774fc6eda05248735b0d86e866d640ca2fef26038878f7e4d23f7749a1e40')
- version('1.17.5', sha256='926916492220af741657ec4668aba95f54a8c32445e765cfa38c7ccd3343cc6f')
- version('1.17.4', sha256='320a619c83298a9c9d632dbd8fafbb90ba9a38b83c7e64726c572fb186dd0781')
- version('1.17.3', sha256='cc38547175ae0a3a3d4e5dcc7e7478a5a6bf0a6b5f4d9c6b2e5eadbe4475cb0e')
- version('1.17.0', sha256='38632d60dd384de9e9be0ee5b6e1c6130f96efd0767c6ca530a453da36238c25')
- version('1.16.1', sha256='a222783b09f266cf76f5a01f4dfd9de79650f07cbefe2cbc67ec7bb9577c1dfa')
- version('1.16.0', sha256='34b78e9b56c2ba2f6a9a625cc989d6cf4ae8ae87dcc4ed8ad144660ae4cf7784')
- version('1.15.0', sha256='777b0b6b5ce51f3832e498c22bc6a093b6b5f99148c7cbf866d26e2dec51ef21')
+ version("1.19.0", sha256="4db0f94e5761aea330b528e84a250027ffe996b5a94bf03e502600c9a5ad7a61")
+ version("1.18.1", sha256="8b09936def6bc06583db99b65636b980075733e13550cb6af262ce724a55da23")
+ version("1.18.0", sha256="1312879f971330a1b7f2c6341f2ae7e2cbac244bfc9d0ecfbbecd4b0293bc755")
+ version("1.17.12", sha256="580429e7e0c6f6a42ea81b0ae5a4993b6205c6ccbb635d034b4277af8175753e")
+ version("1.17.11", sha256="7d4914079a6e8e14fbe080dcaf14dee596a088057cdc598561080e3266123b48")
+ version("1.17.10", sha256="58b9464609f54e2eca5f5926db590a5b01fefef882844ce05064f483b8f96c26")
+ version("1.17.9", sha256="0d497a5be8a808b7300c00bf8303e7ba9fd11f6063a67bb924a475e5bfa7a9bb")
+ version("1.17.8", sha256="7671d057b2df6ddbefd809009fb08feb2f8d2d163d240b5e765088a90519b2f1")
+ version("1.17.7", sha256="0329a3d1db91328986a6dfd36475dbc498c867090f0433cdcc1a45a5eb2067e4")
+ version("1.17.6", sha256="a9a774fc6eda05248735b0d86e866d640ca2fef26038878f7e4d23f7749a1e40")
+ version("1.17.5", sha256="926916492220af741657ec4668aba95f54a8c32445e765cfa38c7ccd3343cc6f")
+ version("1.17.4", sha256="320a619c83298a9c9d632dbd8fafbb90ba9a38b83c7e64726c572fb186dd0781")
+ version("1.17.3", sha256="cc38547175ae0a3a3d4e5dcc7e7478a5a6bf0a6b5f4d9c6b2e5eadbe4475cb0e")
+ version("1.17.0", sha256="38632d60dd384de9e9be0ee5b6e1c6130f96efd0767c6ca530a453da36238c25")
+ version("1.16.1", sha256="a222783b09f266cf76f5a01f4dfd9de79650f07cbefe2cbc67ec7bb9577c1dfa")
+ version("1.16.0", sha256="34b78e9b56c2ba2f6a9a625cc989d6cf4ae8ae87dcc4ed8ad144660ae4cf7784")
+ version("1.15.0", sha256="777b0b6b5ce51f3832e498c22bc6a093b6b5f99148c7cbf866d26e2dec51ef21")
- depends_on('py-setuptools', type='build')
- depends_on('py-wcwidth@0.1.4:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wcwidth@0.1.4:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-blessings/package.py b/var/spack/repos/builtin/packages/py-blessings/package.py
index d6f2b1cb93..a1a30516c5 100644
--- a/var/spack/repos/builtin/packages/py-blessings/package.py
+++ b/var/spack/repos/builtin/packages/py-blessings/package.py
@@ -7,11 +7,12 @@ from spack.package import *
class PyBlessings(PythonPackage):
- """A nicer, kinder way to write to the terminal """
+ """A nicer, kinder way to write to the terminal"""
+
homepage = "https://github.com/erikrose/blessings"
pypi = "blessings/blessings-1.6.tar.gz"
- version('1.6', sha256='edc5713061f10966048bf6b40d9a514b381e0ba849c64e034c4ef6c1847d3007')
+ version("1.6", sha256="edc5713061f10966048bf6b40d9a514b381e0ba849c64e034c4ef6c1847d3007")
# Needs 2to3
- depends_on('py-setuptools@:57', type='build')
+ depends_on("py-setuptools@:57", type="build")
diff --git a/var/spack/repos/builtin/packages/py-blight/package.py b/var/spack/repos/builtin/packages/py-blight/package.py
index 1358ee8411..b8e4bb8e96 100644
--- a/var/spack/repos/builtin/packages/py-blight/package.py
+++ b/var/spack/repos/builtin/packages/py-blight/package.py
@@ -10,31 +10,31 @@ class PyBlight(PythonPackage):
"""A catch-all compile-tool wrapper."""
homepage = "https://github.com/trailofbits/blight"
- pypi = "blight/blight-0.0.47.tar.gz"
+ pypi = "blight/blight-0.0.47.tar.gz"
- maintainers = ['woodruffw']
+ maintainers = ["woodruffw"]
- version('0.0.47', sha256='eb4a881adb98e03a0a855b95bfcddb0f4b3ca568b00cb45b571f047ae75c5667')
+ version("0.0.47", sha256="eb4a881adb98e03a0a855b95bfcddb0f4b3ca568b00cb45b571f047ae75c5667")
- variant('dev', default=False, description='Install dependencies to help with development')
+ variant("dev", default=False, description="Install dependencies to help with development")
- depends_on('python@3.7:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
# In process of changing build backend after 0.0.47 release.
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-click@7.1:8', type=('build', 'run'))
- depends_on('py-typing-extensions', type=('build', 'run'))
- depends_on('py-pydantic@1.7:1', type=('build', 'run'))
+ depends_on("py-click@7.1:8", type=("build", "run"))
+ depends_on("py-typing-extensions", type=("build", "run"))
+ depends_on("py-pydantic@1.7:1", type=("build", "run"))
- depends_on('py-flake8', type=('build', 'run'), when='+dev')
- depends_on('py-black', type=('build', 'run'), when='+dev')
+ depends_on("py-flake8", type=("build", "run"), when="+dev")
+ depends_on("py-black", type=("build", "run"), when="+dev")
# blight uses pyproject.toml to configure isort. isort added
# support in 5.0.0
- depends_on('py-isort@5.0.0:', type=('build', 'run'), when='+dev')
- depends_on('py-pytest', type=('build', 'run'), when='+dev')
- depends_on('py-pytest-cov', type=('build', 'run'), when='+dev')
- depends_on('py-coverage+toml', type=('build', 'run'), when='+dev')
- depends_on('py-twine', type=('build', 'run'), when='+dev')
- depends_on('py-pdoc3', type=('build', 'run'), when='+dev')
- depends_on('py-mypy', type=('build', 'run'), when='@0.0.5:+dev')
+ depends_on("py-isort@5.0.0:", type=("build", "run"), when="+dev")
+ depends_on("py-pytest", type=("build", "run"), when="+dev")
+ depends_on("py-pytest-cov", type=("build", "run"), when="+dev")
+ depends_on("py-coverage+toml", type=("build", "run"), when="+dev")
+ depends_on("py-twine", type=("build", "run"), when="+dev")
+ depends_on("py-pdoc3", type=("build", "run"), when="+dev")
+ depends_on("py-mypy", type=("build", "run"), when="@0.0.5:+dev")
diff --git a/var/spack/repos/builtin/packages/py-blinker/package.py b/var/spack/repos/builtin/packages/py-blinker/package.py
index d18e2679ce..e43a2311ac 100644
--- a/var/spack/repos/builtin/packages/py-blinker/package.py
+++ b/var/spack/repos/builtin/packages/py-blinker/package.py
@@ -12,6 +12,6 @@ class PyBlinker(PythonPackage):
homepage = "https://pythonhosted.org/blinker/"
pypi = "blinker/blinker-1.4.tar.gz"
- version('1.4', sha256='471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6')
+ version("1.4", sha256="471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-blis/package.py b/var/spack/repos/builtin/packages/py-blis/package.py
index e81853cc58..7619072ab7 100644
--- a/var/spack/repos/builtin/packages/py-blis/package.py
+++ b/var/spack/repos/builtin/packages/py-blis/package.py
@@ -14,7 +14,7 @@ class PyBlis(PythonPackage):
homepage = "https://github.com/explosion/cython-blis"
pypi = "blis/blis-0.4.1.tar.gz"
- version('0.4.1', sha256='d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4')
+ version("0.4.1", sha256="d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.15:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-blosc/package.py b/var/spack/repos/builtin/packages/py-blosc/package.py
index 870872d9b0..32c843a91a 100644
--- a/var/spack/repos/builtin/packages/py-blosc/package.py
+++ b/var/spack/repos/builtin/packages/py-blosc/package.py
@@ -10,14 +10,14 @@ class PyBlosc(PythonPackage):
"""A Python wrapper for the extremely fast Blosc compression library"""
homepage = "http://python-blosc.blosc.org"
- url = "https://github.com/Blosc/python-blosc/archive/v1.9.1.tar.gz"
- git = "https://github.com/Blosc/python-blosc.git"
+ url = "https://github.com/Blosc/python-blosc/archive/v1.9.1.tar.gz"
+ git = "https://github.com/Blosc/python-blosc.git"
- version('1.9.1', sha256='ffc884439a12409aa4e8945e21dc920d6bc21807357c51d24c7f0a27ae4f79b9')
+ version("1.9.1", sha256="ffc884439a12409aa4e8945e21dc920d6bc21807357c51d24c7f0a27ae4f79b9")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-scikit-build', type='build')
- depends_on('py-cmake@3.11:', type='build')
- depends_on('py-ninja', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scikit-build", type="build")
+ depends_on("py-cmake@3.11:", type="build")
+ depends_on("py-ninja", type="build")
# depends_on('c-blosc') # shipped internally
diff --git a/var/spack/repos/builtin/packages/py-bmap-tools/package.py b/var/spack/repos/builtin/packages/py-bmap-tools/package.py
index c7ad3b468d..15f637599d 100644
--- a/var/spack/repos/builtin/packages/py-bmap-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-bmap-tools/package.py
@@ -13,13 +13,13 @@ class PyBmapTools(PythonPackage):
with bmaptool than with traditional tools, like "dd" or "cp"."""
homepage = "https://github.com/intel/bmap-tools/"
- url = "https://github.com/intel/bmap-tools/archive/v3.4.tar.gz"
+ url = "https://github.com/intel/bmap-tools/archive/v3.4.tar.gz"
- version('3.5', sha256='d410e2d97192d0fc2f88ef160a0bb6ed83fce99da97a606d7f6890cc654ec594')
- version('3.4', sha256='483c5dd9589920b5bdec85d4cdbe150adb3ca404d205504f85c0fb03edc69c2a')
- version('3.2', sha256='4cf2adcd34be99cd4b892accaef6942cd9c67a4d09f5b1a5377d1e37ca5a2cd0')
- version('3.1', sha256='91b06562768ef884d8550649578b152937706bce3cf4c1b7931d5bdf22012813')
- version('3.0', sha256='28e3d83743a7ab641f64fbfead2ae332d3df811b5567c82e6e40d1c3e28932dc')
- version('2.6', sha256='01ed095037d64021750c6aa81af2786d872dc661615c240649101b79decad241')
+ version("3.5", sha256="d410e2d97192d0fc2f88ef160a0bb6ed83fce99da97a606d7f6890cc654ec594")
+ version("3.4", sha256="483c5dd9589920b5bdec85d4cdbe150adb3ca404d205504f85c0fb03edc69c2a")
+ version("3.2", sha256="4cf2adcd34be99cd4b892accaef6942cd9c67a4d09f5b1a5377d1e37ca5a2cd0")
+ version("3.1", sha256="91b06562768ef884d8550649578b152937706bce3cf4c1b7931d5bdf22012813")
+ version("3.0", sha256="28e3d83743a7ab641f64fbfead2ae332d3df811b5567c82e6e40d1c3e28932dc")
+ version("2.6", sha256="01ed095037d64021750c6aa81af2786d872dc661615c240649101b79decad241")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bokeh/package.py b/var/spack/repos/builtin/packages/py-bokeh/package.py
index 7dad434a06..bd6f2d8b4f 100644
--- a/var/spack/repos/builtin/packages/py-bokeh/package.py
+++ b/var/spack/repos/builtin/packages/py-bokeh/package.py
@@ -12,38 +12,38 @@ class PyBokeh(PythonPackage):
homepage = "https://github.com/bokeh/bokeh"
pypi = "bokeh/bokeh-0.12.2.tar.gz"
- version('2.4.1', sha256='d0410717d743a0ac251e62480e2ea860a7341bdcd1dbe01499a904f233c90512')
- version('2.4.0', sha256='6fa00ed8baab5cca33f4175792c309fa2536eaae7e90abee884501ba8c90fddb')
- version('2.3.3', sha256='a5fdcc181835561447fcc5a371300973fce4114692d5853addec284d1cdeb677')
- version('1.3.4', sha256='e2d97bed5b199a10686486001fed5c854e4c04ebe28859923f27c52b93904754')
- version('0.12.2', sha256='0a840f6267b6d342e1bd720deee30b693989538c49644142521d247c0f2e6939')
+ version("2.4.1", sha256="d0410717d743a0ac251e62480e2ea860a7341bdcd1dbe01499a904f233c90512")
+ version("2.4.0", sha256="6fa00ed8baab5cca33f4175792c309fa2536eaae7e90abee884501ba8c90fddb")
+ version("2.3.3", sha256="a5fdcc181835561447fcc5a371300973fce4114692d5853addec284d1cdeb677")
+ version("1.3.4", sha256="e2d97bed5b199a10686486001fed5c854e4c04ebe28859923f27c52b93904754")
+ version("0.12.2", sha256="0a840f6267b6d342e1bd720deee30b693989538c49644142521d247c0f2e6939")
- depends_on('py-setuptools', type='build', when="@1.3.4:")
+ depends_on("py-setuptools", type="build", when="@1.3.4:")
- depends_on('python@2.6:', type=('build', 'run'), when='@0.12.2')
- depends_on('python@2.7:', type=('build', 'run'), when='@1.3.4:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.3.3:')
- depends_on('python@3.7:', type=('build', 'run'), when='@2.4.0:')
+ depends_on("python@2.6:", type=("build", "run"), when="@0.12.2")
+ depends_on("python@2.7:", type=("build", "run"), when="@1.3.4:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.3.3:")
+ depends_on("python@3.7:", type=("build", "run"), when="@2.4.0:")
- depends_on('py-requests@1.2.3:', type=('build', 'run'), when='@0.12.2')
+ depends_on("py-requests@1.2.3:", type=("build", "run"), when="@0.12.2")
- depends_on('py-packaging@16.8:', type=('build', 'run'), when='@1.3.4:')
- depends_on('py-six@1.5.2:', type=('build', 'run'), when='@:1.3.4')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.1:', type=('build', 'run'), when='@:2.3.3')
- depends_on('py-futures@3.0.3:', type=('build', 'run'), when='@:1.3.4 ^python@2.7:2.8')
+ depends_on("py-packaging@16.8:", type=("build", "run"), when="@1.3.4:")
+ depends_on("py-six@1.5.2:", type=("build", "run"), when="@:1.3.4")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.1:", type=("build", "run"), when="@:2.3.3")
+ depends_on("py-futures@3.0.3:", type=("build", "run"), when="@:1.3.4 ^python@2.7:2.8")
- depends_on('pil@4.0:', type=('build', 'run'), when='@1.3.4:')
- depends_on('pil@7.1.0:', type=('build', 'run'), when='@2.3.3:')
+ depends_on("pil@4.0:", type=("build", "run"), when="@1.3.4:")
+ depends_on("pil@7.1.0:", type=("build", "run"), when="@2.3.3:")
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
- depends_on('py-jinja2@2.9:', type=('build', 'run'), when='@2.3.3:')
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
+ depends_on("py-jinja2@2.9:", type=("build", "run"), when="@2.3.3:")
- depends_on('py-numpy@1.7.1:', type=('build', 'run'))
- depends_on('py-numpy@1.11.3:', type=('build', 'run'), when='@2.3.3:')
+ depends_on("py-numpy@1.7.1:", type=("build", "run"))
+ depends_on("py-numpy@1.11.3:", type=("build", "run"), when="@2.3.3:")
- depends_on('py-tornado@4.3:', type=('build', 'run'))
- depends_on('py-tornado@5.1:', type=('build', 'run'), when='@2.3.3:')
+ depends_on("py-tornado@4.3:", type=("build", "run"))
+ depends_on("py-tornado@5.1:", type=("build", "run"), when="@2.3.3:")
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='@2.3.3:')
- depends_on('py-typing-extensions@3.10.0:', type=('build', 'run'), when='@2.4.0:')
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"), when="@2.3.3:")
+ depends_on("py-typing-extensions@3.10.0:", type=("build", "run"), when="@2.4.0:")
diff --git a/var/spack/repos/builtin/packages/py-boltons/package.py b/var/spack/repos/builtin/packages/py-boltons/package.py
index 27ba38413a..f238520eb0 100644
--- a/var/spack/repos/builtin/packages/py-boltons/package.py
+++ b/var/spack/repos/builtin/packages/py-boltons/package.py
@@ -14,9 +14,10 @@ class PyBoltons(PythonPackage):
Otherwise known as, "everyone's util.py," but cleaned up and tested.
"""
+
homepage = "https://boltons.readthedocs.io/"
pypi = "boltons/boltons-16.5.1.tar.gz"
- version('16.5.1', sha256='fcded58596fa79bd1ada4488178e79fd11c7cb449f29ff9a6532411fb2db19b7')
+ version("16.5.1", sha256="fcded58596fa79bd1ada4488178e79fd11c7cb449f29ff9a6532411fb2db19b7")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-boom-boot-manager/package.py b/var/spack/repos/builtin/packages/py-boom-boot-manager/package.py
index 620eab8d23..b1f743e5e1 100644
--- a/var/spack/repos/builtin/packages/py-boom-boot-manager/package.py
+++ b/var/spack/repos/builtin/packages/py-boom-boot-manager/package.py
@@ -9,14 +9,15 @@ from spack.package import *
class PyBoomBootManager(PythonPackage):
"""Boom is a boot manager for Linux systems using boot loaders
that support the BootLoader Specification for boot entry
- configuration. """
+ configuration."""
+
homepage = "https://github.com/snapshotmanager/boom"
- url = "https://github.com/snapshotmanager/boom/archive/1.2.tar.gz"
+ url = "https://github.com/snapshotmanager/boom/archive/1.2.tar.gz"
- version('1.2', sha256='7e066caad5c91e7dd8475a5034e88bd0e8e6735aec412f904c0e93029b43ae47')
- version('1.1', sha256='0ddbfa914c1d997fae64833585eb6d781100ef32974c894ce2558cda6ce66d23')
- version('1.0', sha256='13f757e247f26959a9e64a0fbfcbf145881f299f892b164637b160089ae66a87')
- version('0.9', sha256='5876fe3d891547e61e059deaf5d2b7fe82e616087c6e5fcb28fe49ee79c68a2f')
- version('0.8.5', sha256='3137d59e1de1f026906ccc57f7510d6ea9e8092dc293da4ac5746e9b37fe35b8')
+ version("1.2", sha256="7e066caad5c91e7dd8475a5034e88bd0e8e6735aec412f904c0e93029b43ae47")
+ version("1.1", sha256="0ddbfa914c1d997fae64833585eb6d781100ef32974c894ce2558cda6ce66d23")
+ version("1.0", sha256="13f757e247f26959a9e64a0fbfcbf145881f299f892b164637b160089ae66a87")
+ version("0.9", sha256="5876fe3d891547e61e059deaf5d2b7fe82e616087c6e5fcb28fe49ee79c68a2f")
+ version("0.8.5", sha256="3137d59e1de1f026906ccc57f7510d6ea9e8092dc293da4ac5746e9b37fe35b8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-boost-histogram/package.py b/var/spack/repos/builtin/packages/py-boost-histogram/package.py
index f23e27db40..5b6b8ffb58 100644
--- a/var/spack/repos/builtin/packages/py-boost-histogram/package.py
+++ b/var/spack/repos/builtin/packages/py-boost-histogram/package.py
@@ -10,13 +10,13 @@ class PyBoostHistogram(PythonPackage):
"""The Boost::Histogram Python wrapper."""
homepage = "https://github.com/scikit-hep/boost-histogram"
- pypi = "boost_histogram/boost_histogram-1.2.1.tar.gz"
+ pypi = "boost_histogram/boost_histogram-1.2.1.tar.gz"
- version('1.2.1', sha256='a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579')
+ version("1.2.1", sha256="a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@45:', type='build')
- depends_on('py-setuptools-scm@4.1.2:+toml', type='build')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-dataclasses', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@45:", type="build")
+ depends_on("py-setuptools-scm@4.1.2:+toml", type="build")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-dataclasses", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-typing-extensions", type=("build", "run"), when="^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-boto/package.py b/var/spack/repos/builtin/packages/py-boto/package.py
index 988bafc562..2f58b78db7 100644
--- a/var/spack/repos/builtin/packages/py-boto/package.py
+++ b/var/spack/repos/builtin/packages/py-boto/package.py
@@ -11,9 +11,9 @@ class PyBoto(PythonPackage):
Amazon Web Services."""
homepage = "https://github.com/boto/boto"
- url = "https://github.com/boto/boto/archive/2.49.0.tar.gz"
+ url = "https://github.com/boto/boto/archive/2.49.0.tar.gz"
- version('2.49.0', sha256='3dbefd4f4542f85a323d4f54601f31ed4d362fc87945245f32e4a85029513314')
+ version("2.49.0", sha256="3dbefd4f4542f85a323d4f54601f31ed4d362fc87945245f32e4a85029513314")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-boto3/package.py b/var/spack/repos/builtin/packages/py-boto3/package.py
index 0585f9120e..0868ba176c 100644
--- a/var/spack/repos/builtin/packages/py-boto3/package.py
+++ b/var/spack/repos/builtin/packages/py-boto3/package.py
@@ -12,24 +12,24 @@ 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', when='@1.18.12:', type=('build', 'run'))
- depends_on('py-botocore@1.20.27:1.20', when='@1.17.27', type=('build', 'run'))
- depends_on('py-botocore@1.13.44:1.13', when='@1.10.44', type=('build', 'run'))
- depends_on('py-botocore@1.13.38:1.13', when='@1.10.38', type=('build', 'run'))
- depends_on('py-botocore@1.12.169:1.12', when='@1.9.169', type=('build', 'run'))
-
- depends_on('py-jmespath@0.7.1:0', type=('build', 'run'))
-
- depends_on('py-s3transfer@0.5.0:0.5', when='@1.18.12:', type=('build', 'run'))
- depends_on('py-s3transfer@0.3.0:0.3', when='@1.17.27', type=('build', 'run'))
- depends_on('py-s3transfer@0.2.0:0.2', when='@:1.10', type=('build', 'run'))
+ 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", when="@1.18.12:", type=("build", "run"))
+ depends_on("py-botocore@1.20.27:1.20", when="@1.17.27", type=("build", "run"))
+ depends_on("py-botocore@1.13.44:1.13", when="@1.10.44", type=("build", "run"))
+ depends_on("py-botocore@1.13.38:1.13", when="@1.10.38", type=("build", "run"))
+ depends_on("py-botocore@1.12.169:1.12", when="@1.9.169", type=("build", "run"))
+
+ depends_on("py-jmespath@0.7.1:0", type=("build", "run"))
+
+ depends_on("py-s3transfer@0.5.0:0.5", when="@1.18.12:", type=("build", "run"))
+ depends_on("py-s3transfer@0.3.0:0.3", when="@1.17.27", type=("build", "run"))
+ depends_on("py-s3transfer@0.2.0:0.2", when="@:1.10", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-botocore/package.py b/var/spack/repos/builtin/packages/py-botocore/package.py
index c67b68cef6..b754420f7b 100644
--- a/var/spack/repos/builtin/packages/py-botocore/package.py
+++ b/var/spack/repos/builtin/packages/py-botocore/package.py
@@ -12,30 +12,34 @@ 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')
+ 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("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', type=('build', 'run'))
- depends_on('py-docutils@0.10:0.15', type=('build', 'run'), when='@:1.17')
- depends_on('py-ordereddict@1.1', type=('build', 'run'), when='^python@2.6.0:2.6')
- depends_on('py-simplejson@3.3.0', type=('build', 'run'), when='^python@2.6.0:2.6')
- depends_on('py-python-dateutil@2.1:2', type=('build', 'run'))
- depends_on('py-python-dateutil@2.1:2.6', type=('build', 'run'), when='^python@2.6.0:2.6')
- depends_on('py-urllib3@1.20:1.25', type=('build', 'run'), when='@:1.14.11')
- depends_on('py-urllib3@1.20:1.23', type=('build', 'run'), when='@:1.13 ^python@2.6.0:2.6')
- depends_on('py-urllib3@1.20:1.22', type=('build', 'run'), when='@:1.13 ^python@3.3.0:3.3')
- depends_on('py-urllib3@1.20:1.25.7', type=('build', 'run'), when='@1.14.12:1.18 ^python@3.4.0:3.4')
- depends_on('py-urllib3@1.20:1.25', type=('build', 'run'), when='@1.14.12:1.18')
- depends_on('py-urllib3@1.25.4:1.25.7', type=('build', 'run'), when='@1.19.0: ^python@3.4.0:3.4')
- depends_on('py-urllib3@1.25.4:1.25', type=('build', 'run'), when='@1.19.0:1.19.15')
- depends_on('py-urllib3@1.25.4:1.26', type=('build', 'run'), when='@1.19.16:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jmespath@0.7.1:0", type=("build", "run"))
+ depends_on("py-docutils@0.10:0.15", type=("build", "run"), when="@:1.17")
+ depends_on("py-ordereddict@1.1", type=("build", "run"), when="^python@2.6.0:2.6")
+ depends_on("py-simplejson@3.3.0", type=("build", "run"), when="^python@2.6.0:2.6")
+ depends_on("py-python-dateutil@2.1:2", type=("build", "run"))
+ depends_on("py-python-dateutil@2.1:2.6", type=("build", "run"), when="^python@2.6.0:2.6")
+ depends_on("py-urllib3@1.20:1.25", type=("build", "run"), when="@:1.14.11")
+ depends_on("py-urllib3@1.20:1.23", type=("build", "run"), when="@:1.13 ^python@2.6.0:2.6")
+ depends_on("py-urllib3@1.20:1.22", type=("build", "run"), when="@:1.13 ^python@3.3.0:3.3")
+ depends_on(
+ "py-urllib3@1.20:1.25.7", type=("build", "run"), when="@1.14.12:1.18 ^python@3.4.0:3.4"
+ )
+ depends_on("py-urllib3@1.20:1.25", type=("build", "run"), when="@1.14.12:1.18")
+ depends_on(
+ "py-urllib3@1.25.4:1.25.7", type=("build", "run"), when="@1.19.0: ^python@3.4.0:3.4"
+ )
+ depends_on("py-urllib3@1.25.4:1.25", type=("build", "run"), when="@1.19.0:1.19.15")
+ depends_on("py-urllib3@1.25.4:1.26", type=("build", "run"), when="@1.19.16:")
diff --git a/var/spack/repos/builtin/packages/py-botorch/package.py b/var/spack/repos/builtin/packages/py-botorch/package.py
index f4133444f3..d7be4ab897 100644
--- a/var/spack/repos/builtin/packages/py-botorch/package.py
+++ b/var/spack/repos/builtin/packages/py-botorch/package.py
@@ -10,19 +10,19 @@ class PyBotorch(PythonPackage):
"""BoTorch is a library for Bayesian Optimization built on PyTorch."""
homepage = "https://botorch.org/"
- pypi = "botorch/botorch-0.6.4.tar.gz"
+ pypi = "botorch/botorch-0.6.4.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.6.4', sha256='3fd28417f55749501a45378f72cd5ca7614e2e05b7b65c6b4eb9b72378bc665a')
+ version("0.6.4", sha256="3fd28417f55749501a45378f72cd5ca7614e2e05b7b65c6b4eb9b72378bc665a")
- depends_on('python@3.7:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# depends_on('py-setuptools@:47', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-torch@1.9:', type=('build', 'run'))
- depends_on('py-gpytorch@1.6:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-multipledispatch', type=('build', 'run'))
- depends_on('py-pyro-ppl@1.8.0', type=('build', 'run'))
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-torch@1.9:", type=("build", "run"))
+ depends_on("py-gpytorch@1.6:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-multipledispatch", type=("build", "run"))
+ depends_on("py-pyro-ppl@1.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-bottle/package.py b/var/spack/repos/builtin/packages/py-bottle/package.py
index 759669d0f1..ff79fc62e5 100644
--- a/var/spack/repos/builtin/packages/py-bottle/package.py
+++ b/var/spack/repos/builtin/packages/py-bottle/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class PyBottle(PythonPackage):
"""Bottle is a fast, simple and lightweight WSGI
- micro web-framework for Python."""
+ micro web-framework for Python."""
homepage = "https://github.com/bottlepy/bottle"
- url = "https://github.com/bottlepy/bottle/archive/0.12.18.tar.gz"
+ url = "https://github.com/bottlepy/bottle/archive/0.12.18.tar.gz"
- version('0.12.19', sha256='b97277f8e87d452a0aa5fbcd16cd604a189e2cc17fdb2d4eaf6baa732f8d111b')
- version('0.12.18', sha256='176721f1e26082c66fd4df76f31800933e4bb36de6814b0fda3851cb409a95e6')
- version('0.12.17', sha256='7df26ca1789aa0693277c4a86d564524bff03e5d3132d9405946c58739190928')
- version('0.12.16', sha256='76143230ff034c1f47ada4b33674984220d070c557c10e22729ebd9764bc7960')
- version('0.12.15', sha256='18499bc1ec4a1af71d1df26f96b9a6f3f1d36ee45aa8420531b939ac402f3513')
- version('0.12.14', sha256='3d37cb8ebc6ab03986543280774c8b0aa028616123b9d4e2615b242fc8a291f9')
- version('0.12.13', sha256='c89ce532b1c180905d03a4815fea2d7b9b444f5e13407f43a9c7eae5777aa613')
- version('0.12.12', sha256='0d3ab0ef82ad697ac98978c246d073da4b19e446c06d2621865ca84a4a6e5e94')
- version('0.12.11', sha256='c815cfd1bd0757f4bc9e3d71973477373efba531bb63a8abc320e5550d8403b8')
- version('0.12.10', sha256='f57fb6594feac80fd92a573ab8ca7ce98491471211d99f1c97855e34f5d13677')
- version('0.12.9', sha256='45285ad084ca054d821ceef8bd95462efd38e13ecbef13a82c22b6472a6f4b2d')
+ version("0.12.19", sha256="b97277f8e87d452a0aa5fbcd16cd604a189e2cc17fdb2d4eaf6baa732f8d111b")
+ version("0.12.18", sha256="176721f1e26082c66fd4df76f31800933e4bb36de6814b0fda3851cb409a95e6")
+ version("0.12.17", sha256="7df26ca1789aa0693277c4a86d564524bff03e5d3132d9405946c58739190928")
+ version("0.12.16", sha256="76143230ff034c1f47ada4b33674984220d070c557c10e22729ebd9764bc7960")
+ version("0.12.15", sha256="18499bc1ec4a1af71d1df26f96b9a6f3f1d36ee45aa8420531b939ac402f3513")
+ version("0.12.14", sha256="3d37cb8ebc6ab03986543280774c8b0aa028616123b9d4e2615b242fc8a291f9")
+ version("0.12.13", sha256="c89ce532b1c180905d03a4815fea2d7b9b444f5e13407f43a9c7eae5777aa613")
+ version("0.12.12", sha256="0d3ab0ef82ad697ac98978c246d073da4b19e446c06d2621865ca84a4a6e5e94")
+ version("0.12.11", sha256="c815cfd1bd0757f4bc9e3d71973477373efba531bb63a8abc320e5550d8403b8")
+ version("0.12.10", sha256="f57fb6594feac80fd92a573ab8ca7ce98491471211d99f1c97855e34f5d13677")
+ version("0.12.9", sha256="45285ad084ca054d821ceef8bd95462efd38e13ecbef13a82c22b6472a6f4b2d")
- depends_on('python@2.5:2,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.5:2,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-bottleneck/package.py b/var/spack/repos/builtin/packages/py-bottleneck/package.py
index 2ce572556d..2f139e1466 100644
--- a/var/spack/repos/builtin/packages/py-bottleneck/package.py
+++ b/var/spack/repos/builtin/packages/py-bottleneck/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class PyBottleneck(PythonPackage):
"""A collection of fast NumPy array functions written in Cython."""
+
pypi = "Bottleneck/Bottleneck-1.0.0.tar.gz"
- version('1.3.2', sha256='20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573')
- version('1.3.1', sha256='451586370462cb623d6ad604a545d1e97fb51d2ab5252b1ac57350a83e494a28')
- version('1.3.0', sha256='9d7814c61c31f42cfb4f26e050c2659c88a198f1398a9714174ae78347aad737')
- version('1.2.1', sha256='6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36')
- version('1.0.0', sha256='8d9b7ad4fadf9648acc924a6ee522c7cb5b474e75faaad9d90dfd55e2805b495')
+ version("1.3.2", sha256="20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573")
+ version("1.3.1", sha256="451586370462cb623d6ad604a545d1e97fb51d2ab5252b1ac57350a83e494a28")
+ version("1.3.0", sha256="9d7814c61c31f42cfb4f26e050c2659c88a198f1398a9714174ae78347aad737")
+ version("1.2.1", sha256="6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36")
+ version("1.0.0", sha256="8d9b7ad4fadf9648acc924a6ee522c7cb5b474e75faaad9d90dfd55e2805b495")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-breakseq2/package.py b/var/spack/repos/builtin/packages/py-breakseq2/package.py
index d4d89ea21b..e3f673af4a 100644
--- a/var/spack/repos/builtin/packages/py-breakseq2/package.py
+++ b/var/spack/repos/builtin/packages/py-breakseq2/package.py
@@ -10,13 +10,13 @@ class PyBreakseq2(PythonPackage):
"""nucleotide-resolution analysis of structural variants"""
homepage = "https://bioinform.github.io/breakseq2/"
- url = "https://github.com/bioinform/breakseq2/archive/2.2.tar.gz"
+ url = "https://github.com/bioinform/breakseq2/archive/2.2.tar.gz"
- version('2.2', sha256='d149e803191e6bb0b749abfba2c258716d94a38e942aaed40eb1630ae84f91ee')
+ version("2.2", sha256="d149e803191e6bb0b749abfba2c258716d94a38e942aaed40eb1630ae84f91ee")
- depends_on('py-setuptools', type='build')
- depends_on('py-biopython@1.65', type=('build', 'run'))
- depends_on('py-cython', type='build')
- depends_on('py-pysam@0.7.7', type=('build', 'run'))
- depends_on('bwa', type='run')
- depends_on('samtools', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-biopython@1.65", type=("build", "run"))
+ depends_on("py-cython", type="build")
+ depends_on("py-pysam@0.7.7", type=("build", "run"))
+ depends_on("bwa", type="run")
+ depends_on("samtools", type="run")
diff --git a/var/spack/repos/builtin/packages/py-breathe/package.py b/var/spack/repos/builtin/packages/py-breathe/package.py
index 40e08cc724..c45e82db43 100644
--- a/var/spack/repos/builtin/packages/py-breathe/package.py
+++ b/var/spack/repos/builtin/packages/py-breathe/package.py
@@ -11,32 +11,32 @@ class PyBreathe(PythonPackage):
and render the Doxygen xml output."""
homepage = "https://github.com/michaeljones/breathe"
- url = "https://github.com/michaeljones/breathe/archive/v4.11.1.tar.gz"
-
- version('4.33.1', sha256='acda75b216b227ec09ffd74378a6c7ed8f023df4539693c6e20574d1df52e75b')
- version('4.21.0', sha256='7f97756a1b7f7998377b1153a976bf0d2879bb3ca1cb7bc846f455d37ca87ead')
- version('4.11.1', sha256='84723eefc7cc05da6895e2dd6e7c72926c5fd88a67de57edce42d99c058c7e06')
- version('4.11.0', sha256='8c9f900560529ca2f589f26759be94c2accad14fd83fee34d353cf6f446e09f6')
- version('4.10.0', sha256='10e294ca2927d40c83343674186ce6fad539acfb464ffd765fd371adc1126d4d')
- version('4.9.1', sha256='3e1e31b879dcd1fe1ebdaf4d0b11356b8e348ac5af101cafa9e54956716a7f02')
- version('4.9.0', sha256='a2b4b8cd2c4ef708ae69dd174e65731b1e18c24f8670036d2f5e608558be2613')
- version('4.8.0', sha256='edac7732ad8702ea0425773f1f0c98e7ad5028dbba5fe6483f32a1df3afe2f31')
- version('4.7.3', sha256='35e2e937fad97c6d7e287db6007184325284130ab50e1154fe126cffc09a1989')
- version('4.7.2', sha256='982d47909d22fcd71b48bad5aef3644294340b24f612b2887cde2e3be464d960')
- version('4.7.1', sha256='afb1ab0084b25d3670fa8f5cf2eeaee6fe61bfc77876e3816b140eacd4949875')
- version('4.7.0', sha256='5629c67f5adb41f39375d36c5f0d60d34b1230be268125e535205d77f69211e4')
-
- depends_on('py-setuptools', type='build')
-
- depends_on('python@3.5:', type=('build', 'run'), when='@4.21:4.32')
- depends_on('python@3.6:', type=('build', 'run'), when='@4.33:')
- depends_on('py-docutils@0.5:', type=('build', 'run'), when='@:4.20')
- depends_on('py-docutils@0.12:', type=('build', 'run'), when='@4.21:')
- depends_on('py-pygments@1.6:', type=('build', 'run'), when='@4.21:')
- depends_on('py-six@1.4:', type=('build', 'run'), when='@:4.20')
- depends_on('py-six@1.9:', type=('build', 'run'), when='@4.21:4.32')
- depends_on('py-sphinx', type=('build', 'run'))
- depends_on('py-sphinx@3:3.2', type=('build', 'run'), when='@4.21:4.32')
- depends_on('py-sphinx@3:4', type=('build', 'run'), when='@4.33:')
-
- depends_on('doxygen@1.8.4:', type='run')
+ url = "https://github.com/michaeljones/breathe/archive/v4.11.1.tar.gz"
+
+ version("4.33.1", sha256="acda75b216b227ec09ffd74378a6c7ed8f023df4539693c6e20574d1df52e75b")
+ version("4.21.0", sha256="7f97756a1b7f7998377b1153a976bf0d2879bb3ca1cb7bc846f455d37ca87ead")
+ version("4.11.1", sha256="84723eefc7cc05da6895e2dd6e7c72926c5fd88a67de57edce42d99c058c7e06")
+ version("4.11.0", sha256="8c9f900560529ca2f589f26759be94c2accad14fd83fee34d353cf6f446e09f6")
+ version("4.10.0", sha256="10e294ca2927d40c83343674186ce6fad539acfb464ffd765fd371adc1126d4d")
+ version("4.9.1", sha256="3e1e31b879dcd1fe1ebdaf4d0b11356b8e348ac5af101cafa9e54956716a7f02")
+ version("4.9.0", sha256="a2b4b8cd2c4ef708ae69dd174e65731b1e18c24f8670036d2f5e608558be2613")
+ version("4.8.0", sha256="edac7732ad8702ea0425773f1f0c98e7ad5028dbba5fe6483f32a1df3afe2f31")
+ version("4.7.3", sha256="35e2e937fad97c6d7e287db6007184325284130ab50e1154fe126cffc09a1989")
+ version("4.7.2", sha256="982d47909d22fcd71b48bad5aef3644294340b24f612b2887cde2e3be464d960")
+ version("4.7.1", sha256="afb1ab0084b25d3670fa8f5cf2eeaee6fe61bfc77876e3816b140eacd4949875")
+ version("4.7.0", sha256="5629c67f5adb41f39375d36c5f0d60d34b1230be268125e535205d77f69211e4")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("python@3.5:", type=("build", "run"), when="@4.21:4.32")
+ depends_on("python@3.6:", type=("build", "run"), when="@4.33:")
+ depends_on("py-docutils@0.5:", type=("build", "run"), when="@:4.20")
+ depends_on("py-docutils@0.12:", type=("build", "run"), when="@4.21:")
+ depends_on("py-pygments@1.6:", type=("build", "run"), when="@4.21:")
+ depends_on("py-six@1.4:", type=("build", "run"), when="@:4.20")
+ depends_on("py-six@1.9:", type=("build", "run"), when="@4.21:4.32")
+ depends_on("py-sphinx", type=("build", "run"))
+ depends_on("py-sphinx@3:3.2", type=("build", "run"), when="@4.21:4.32")
+ depends_on("py-sphinx@3:4", type=("build", "run"), when="@4.33:")
+
+ depends_on("doxygen@1.8.4:", type="run")
diff --git a/var/spack/repos/builtin/packages/py-brian/package.py b/var/spack/repos/builtin/packages/py-brian/package.py
index 0606c2d11c..48e3b1bd49 100644
--- a/var/spack/repos/builtin/packages/py-brian/package.py
+++ b/var/spack/repos/builtin/packages/py-brian/package.py
@@ -12,10 +12,10 @@ class PyBrian(PythonPackage):
homepage = "https://www.briansimulator.org"
pypi = "brian/brian-1.4.3.tar.gz"
- version('1.4.3', sha256='c881dcfcd1a21990f9cb3cca76cdd868111cfd9e227ef5c1b13bb372d2efeaa4')
+ version("1.4.3", sha256="c881dcfcd1a21990f9cb3cca76cdd868111cfd9e227ef5c1b13bb372d2efeaa4")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@0.90.1:', type=('build', 'run'))
- depends_on('py-numpy@1.4.1:', type=('build', 'run'))
- depends_on('py-scipy@0.7.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@0.90.1:", type=("build", "run"))
+ depends_on("py-numpy@1.4.1:", type=("build", "run"))
+ depends_on("py-scipy@0.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py
index f13d284f11..011ebea50a 100644
--- a/var/spack/repos/builtin/packages/py-brian2/package.py
+++ b/var/spack/repos/builtin/packages/py-brian2/package.py
@@ -12,26 +12,26 @@ class PyBrian2(PythonPackage):
homepage = "https://www.briansimulator.org"
pypi = "Brian2/Brian2-2.2.2.1.tar.gz"
- version('2.5.0.2', sha256='70e6f88fb26f04ccafb91e0a29999774e45899771357aff7043951c853919a0f')
- version('2.5.0.1', sha256='1f719b563ae38658c4c59bac5aeb06b41970c6eedc52021ddf6d9254913733d3')
- version('2.4.2', sha256='7a711af40145d8c62b0bc0861d352dc64f341c3a738174d87ef9d71e50e959f2')
- version('2.2.2.1', sha256='02075f66d42fd243fc5e28e1add8862709ae9fdabaffb69858e6d7f684a91525')
- version('2.0.1', sha256='195d8ced0d20e9069917776948f92aa70b7457bbc6b5222b8199654402ee1153')
- version('2.0rc3', sha256='05f347f5fa6b25d1ce5ec152a2407bbce033599eb6664f32f5331946eb3c7d66')
+ version("2.5.0.2", sha256="70e6f88fb26f04ccafb91e0a29999774e45899771357aff7043951c853919a0f")
+ version("2.5.0.1", sha256="1f719b563ae38658c4c59bac5aeb06b41970c6eedc52021ddf6d9254913733d3")
+ version("2.4.2", sha256="7a711af40145d8c62b0bc0861d352dc64f341c3a738174d87ef9d71e50e959f2")
+ version("2.2.2.1", sha256="02075f66d42fd243fc5e28e1add8862709ae9fdabaffb69858e6d7f684a91525")
+ version("2.0.1", sha256="195d8ced0d20e9069917776948f92aa70b7457bbc6b5222b8199654402ee1153")
+ version("2.0rc3", sha256="05f347f5fa6b25d1ce5ec152a2407bbce033599eb6664f32f5331946eb3c7d66")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@2.4:')
- depends_on('python@3.7:', type=('build', 'run'), when='@2.5:')
- depends_on('py-numpy@1.10:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'), when='@2.4:')
- depends_on('py-numpy@1.17:', type=('build', 'run'), when='@2.5:')
- depends_on('py-cython@0.29:', type=('build', 'run'))
- depends_on('py-sympy@0.7.6:1.0,1.1.1:', type=('build', 'run'))
- depends_on('py-sympy@1.2:', type=('build', 'run'), when='@2.4:')
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
- depends_on('py-setuptools@21:', type=('build', 'run'))
- depends_on('py-setuptools@24.2:', type=('build', 'run'), when='@2.4:')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@2.4:")
+ depends_on("python@3.7:", type=("build", "run"), when="@2.5:")
+ depends_on("py-numpy@1.10:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"), when="@2.4:")
+ depends_on("py-numpy@1.17:", type=("build", "run"), when="@2.5:")
+ depends_on("py-cython@0.29:", type=("build", "run"))
+ depends_on("py-sympy@0.7.6:1.0,1.1.1:", type=("build", "run"))
+ depends_on("py-sympy@1.2:", type=("build", "run"), when="@2.4:")
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
+ depends_on("py-setuptools@21:", type=("build", "run"))
+ depends_on("py-setuptools@24.2:", type=("build", "run"), when="@2.4:")
def install_options(self, spec, prefix):
- return ['--with-cython']
+ return ["--with-cython"]
diff --git a/var/spack/repos/builtin/packages/py-brotlipy/package.py b/var/spack/repos/builtin/packages/py-brotlipy/package.py
index 3a0055f25a..85389af447 100644
--- a/var/spack/repos/builtin/packages/py-brotlipy/package.py
+++ b/var/spack/repos/builtin/packages/py-brotlipy/package.py
@@ -12,11 +12,11 @@ class PyBrotlipy(PythonPackage):
homepage = "https://github.com/python-hyper/brotlipy/"
pypi = "brotlipy/brotlipy-0.7.0.tar.gz"
- version('0.7.0', sha256='36def0b859beaf21910157b4c33eb3b06d8ce459c942102f16988cca6ea164df')
+ version("0.7.0", sha256="36def0b859beaf21910157b4c33eb3b06d8ce459c942102f16988cca6ea164df")
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi@1.0.0:', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:1', when='^python@:3.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi@1.0.0:", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:1", when="^python@:3.3", type=("build", "run"))
# TODO: Builds against internal copy of headers, doesn't seem to be a way
# to use external brotli installation
diff --git a/var/spack/repos/builtin/packages/py-bsddb3/package.py b/var/spack/repos/builtin/packages/py-bsddb3/package.py
index e7423387a8..bf019cd809 100644
--- a/var/spack/repos/builtin/packages/py-bsddb3/package.py
+++ b/var/spack/repos/builtin/packages/py-bsddb3/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class PyBsddb3(PythonPackage):
"""This module provides a nearly complete wrapping of the Oracle/Sleepycat
- C API for the Database Environment, Database, Cursor, Log Cursor,
- Sequence and Transaction objects, and each of these is exposed
- as a Python type in the bsddb3.db module."""
+ C API for the Database Environment, Database, Cursor, Log Cursor,
+ Sequence and Transaction objects, and each of these is exposed
+ as a Python type in the bsddb3.db module."""
pypi = "bsddb3/bsddb3-6.2.5.tar.gz"
- version('6.2.5', sha256='784bf40ad935258507594a89b32ea11f362cde120751c8b96de163955ced7db8')
+ version("6.2.5", sha256="784bf40ad935258507594a89b32ea11f362cde120751c8b96de163955ced7db8")
- depends_on('python@2.6:')
- depends_on('py-setuptools', type='build')
- depends_on('berkeley-db')
+ depends_on("python@2.6:")
+ depends_on("py-setuptools", type="build")
+ depends_on("berkeley-db")
# For testing... see here for an example that uses BerkeleyDB
# https://code.activestate.com/recipes/189060-using-berkeley-db-database/
diff --git a/var/spack/repos/builtin/packages/py-build/package.py b/var/spack/repos/builtin/packages/py-build/package.py
index 595998472c..8b09d2c1b4 100644
--- a/var/spack/repos/builtin/packages/py-build/package.py
+++ b/var/spack/repos/builtin/packages/py-build/package.py
@@ -10,21 +10,21 @@ class PyBuild(PythonPackage):
"""A simple, correct PEP517 package builder."""
homepage = "https://github.com/pypa/build"
- pypi = "build/build-0.7.0.tar.gz"
+ pypi = "build/build-0.7.0.tar.gz"
- version('0.7.0', sha256='1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f')
+ version("0.7.0", sha256="1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f")
- variant('virtualenv', default=False, description='Install optional virtualenv dependency')
+ variant("virtualenv", default=False, description="Install optional virtualenv dependency")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-packaging@19:', type=('build', 'run'))
- depends_on('py-pep517@0.9.1:', type=('build', 'run'))
- depends_on('py-tomli@1:', type=('build', 'run'))
- depends_on('py-colorama', when='platform=windows', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.22:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-virtualenv@20.0.35:', when='+virtualenv', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-packaging@19:", type=("build", "run"))
+ depends_on("py-pep517@0.9.1:", type=("build", "run"))
+ depends_on("py-tomli@1:", type=("build", "run"))
+ depends_on("py-colorama", when="platform=windows", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.22:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-virtualenv@20.0.35:", when="+virtualenv", type=("build", "run"))
# https://github.com/pypa/build/issues/266
# https://github.com/pypa/build/issues/406
- patch('isolation.patch', when='@0.7.0')
+ patch("isolation.patch", when="@0.7.0")
diff --git a/var/spack/repos/builtin/packages/py-bx-python/package.py b/var/spack/repos/builtin/packages/py-bx-python/package.py
index 7cf4e16749..1a453aacdf 100644
--- a/var/spack/repos/builtin/packages/py-bx-python/package.py
+++ b/var/spack/repos/builtin/packages/py-bx-python/package.py
@@ -13,15 +13,17 @@ class PyBxPython(PythonPackage):
homepage = "https://github.com/bxlab/bx-python"
pypi = "bx-python/bx-python-0.8.8.tar.gz"
- version('0.8.8', sha256='ad0808ab19c007e8beebadc31827e0d7560ac0e935f1100fb8cc93607400bb47')
- version('0.7.4',
- sha256='1066d1e56d062d0661f23c19942eb757bd7ab7cb8bc7d89a72fdc3931c995cb4',
- url="https://github.com/bxlab/bx-python/archive/v0.7.4.tar.gz")
+ version("0.8.8", sha256="ad0808ab19c007e8beebadc31827e0d7560ac0e935f1100fb8cc93607400bb47")
+ version(
+ "0.7.4",
+ sha256="1066d1e56d062d0661f23c19942eb757bd7ab7cb8bc7d89a72fdc3931c995cb4",
+ url="https://github.com/bxlab/bx-python/archive/v0.7.4.tar.gz",
+ )
- depends_on('python@2.4:2.7', type=('build', 'run'), when='@:0.7')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@0.8:')
- depends_on('py-setuptools', type='build')
- depends_on('py-python-lzo', type=('build', 'run'), when='@:0.7')
- depends_on('py-cython', type='build', when='@0.8:')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@0.8:')
+ depends_on("python@2.4:2.7", type=("build", "run"), when="@:0.7")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@0.8:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-lzo", type=("build", "run"), when="@:0.7")
+ depends_on("py-cython", type="build", when="@0.8:")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@0.8:")
diff --git a/var/spack/repos/builtin/packages/py-bz2file/package.py b/var/spack/repos/builtin/packages/py-bz2file/package.py
index 7d6a4c1141..1e48d2777c 100644
--- a/var/spack/repos/builtin/packages/py-bz2file/package.py
+++ b/var/spack/repos/builtin/packages/py-bz2file/package.py
@@ -12,7 +12,7 @@ class PyBz2file(PythonPackage):
homepage = "https://github.com/nvawda/bz2file"
pypi = "bz2file/bz2file-0.98.tar.gz"
- version('0.98', sha256='64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88')
+ version("0.98", sha256="64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cachecontrol/package.py b/var/spack/repos/builtin/packages/py-cachecontrol/package.py
index d7244cfb94..0b28a6858d 100644
--- a/var/spack/repos/builtin/packages/py-cachecontrol/package.py
+++ b/var/spack/repos/builtin/packages/py-cachecontrol/package.py
@@ -11,14 +11,14 @@ class PyCachecontrol(PythonPackage):
for use with requests session object."""
homepage = "https://github.com/ionrock/cachecontrol"
- pypi = "CacheControl/CacheControl-0.12.10.tar.gz"
+ pypi = "CacheControl/CacheControl-0.12.10.tar.gz"
- version('0.12.10', sha256='d8aca75b82eec92d84b5d6eb8c8f66ea16f09d2adb09dbca27fe2d5fc8d3732d')
+ version("0.12.10", sha256="d8aca75b82eec92d84b5d6eb8c8f66ea16f09d2adb09dbca27fe2d5fc8d3732d")
- variant('filecache', default=False, description='Add lockfile dependency')
+ variant("filecache", default=False, description="Add lockfile dependency")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-msgpack@0.5.2:', type=('build', 'run'))
- depends_on('py-lockfile@0.9:', when='+filecache', type='run')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-msgpack@0.5.2:", type=("build", "run"))
+ depends_on("py-lockfile@0.9:", when="+filecache", type="run")
diff --git a/var/spack/repos/builtin/packages/py-cached-property/package.py b/var/spack/repos/builtin/packages/py-cached-property/package.py
index f13695f1f5..1ce5ae01f8 100644
--- a/var/spack/repos/builtin/packages/py-cached-property/package.py
+++ b/var/spack/repos/builtin/packages/py-cached-property/package.py
@@ -11,7 +11,7 @@ class PyCachedProperty(PythonPackage):
pypi = "cached-property/cached-property-1.5.1.tar.gz"
- version('1.5.2', sha256="9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130")
- version('1.5.1', sha256="9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504")
+ version("1.5.2", sha256="9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130")
+ version("1.5.1", sha256="9217a59f14a5682da7c4b8829deadbfc194ac22e9908ccf7c8820234e80a1504")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cachetools/package.py b/var/spack/repos/builtin/packages/py-cachetools/package.py
index 36ede91b5e..c712340973 100644
--- a/var/spack/repos/builtin/packages/py-cachetools/package.py
+++ b/var/spack/repos/builtin/packages/py-cachetools/package.py
@@ -14,10 +14,10 @@ class PyCachetools(PythonPackage):
homepage = "https://github.com/tkem/cachetools"
pypi = "cachetools/cachetools-3.1.1.tar.gz"
- version('4.2.4', sha256='89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693')
- version('4.2.2', sha256='61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff')
- version('3.1.1', sha256='8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a')
+ version("4.2.4", sha256="89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693")
+ version("4.2.2", sha256="61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff")
+ version("3.1.1", sha256="8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@46.4.0:', type='build', when='@4.2.2:')
- depends_on('python@3.5:3', type=('build', 'run'), when='@4.2.2:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@46.4.0:", type="build", when="@4.2.2:")
+ depends_on("python@3.5:3", type=("build", "run"), when="@4.2.2:")
diff --git a/var/spack/repos/builtin/packages/py-cachy/package.py b/var/spack/repos/builtin/packages/py-cachy/package.py
index 5cae224e17..82219a934e 100644
--- a/var/spack/repos/builtin/packages/py-cachy/package.py
+++ b/var/spack/repos/builtin/packages/py-cachy/package.py
@@ -10,10 +10,10 @@ class PyCachy(PythonPackage):
"""Cachy provides a simple yet effective caching library."""
homepage = "https://github.com/sdispater/cachy"
- pypi = "cachy/cachy-0.3.0.tar.gz"
+ pypi = "cachy/cachy-0.3.0.tar.gz"
- version('0.3.0', sha256='186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1')
+ version("0.3.0", sha256="186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1")
- depends_on('python@2.7,3.4:4', type=('build', 'run'))
+ depends_on("python@2.7,3.4:4", type=("build", "run"))
# https://github.com/sdispater/cachy/issues/20
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cairocffi/package.py b/var/spack/repos/builtin/packages/py-cairocffi/package.py
index 077b6d5635..50b4502608 100644
--- a/var/spack/repos/builtin/packages/py-cairocffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cairocffi/package.py
@@ -15,8 +15,8 @@ class PyCairocffi(PythonPackage):
homepage = "https://github.com/Kozea/cairocffi"
pypi = "cairocffi/cairocffi-1.0.2.tar.gz"
- version('1.0.2', sha256='01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946ff')
+ version("1.0.2", sha256="01ac51ae12c4324ca5809ce270f9dd1b67f5166fe63bd3e497e9ea3ca91946ff")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@39.2.0:', type='build')
- depends_on('py-cffi@1.1.0:', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@39.2.0:", type="build")
+ depends_on("py-cffi@1.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cantoolz/package.py b/var/spack/repos/builtin/packages/py-cantoolz/package.py
index ea76f7710a..30b3023ece 100644
--- a/var/spack/repos/builtin/packages/py-cantoolz/package.py
+++ b/var/spack/repos/builtin/packages/py-cantoolz/package.py
@@ -13,14 +13,14 @@ class PyCantoolz(PythonPackage):
security testers in black-box analysis."""
homepage = "https://github.com/CANToolz/CANToolz/"
- url = "https://github.com/CANToolz/CANToolz/archive/v3.7.0.tar.gz"
+ url = "https://github.com/CANToolz/CANToolz/archive/v3.7.0.tar.gz"
- version('3.7.0', sha256='36f5e8aa407e5c82abe84fb190ddd45ed12887ee833f06ef5eb78504017f0e5d')
- version('3.6.1', sha256='e40c712b726f1caaca16b0d0e0b3aeadd01426944663ba0dce5c47a340304e29')
+ version("3.7.0", sha256="36f5e8aa407e5c82abe84fb190ddd45ed12887ee833f06ef5eb78504017f0e5d")
+ version("3.6.1", sha256="e40c712b726f1caaca16b0d0e0b3aeadd01426944663ba0dce5c47a340304e29")
- depends_on('py-setuptools', type='build')
- depends_on('py-bitstring', type=('build', 'run'))
- depends_on('py-flask', type=('build', 'run'))
- depends_on('py-pyserial', type=('build', 'run'))
- depends_on('py-mido', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-bitstring", type=("build", "run"))
+ depends_on("py-flask", type=("build", "run"))
+ depends_on("py-pyserial", type=("build", "run"))
+ depends_on("py-mido", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-carputils/package.py b/var/spack/repos/builtin/packages/py-carputils/package.py
index c68eb3c206..373f0c265e 100644
--- a/var/spack/repos/builtin/packages/py-carputils/package.py
+++ b/var/spack/repos/builtin/packages/py-carputils/package.py
@@ -11,28 +11,28 @@ class PyCarputils(PythonPackage):
"""The carputils framework for running simulations with the openCARP software."""
homepage = "https://www.opencarp.org"
- git = "https://git.opencarp.org/openCARP/carputils.git"
+ git = "https://git.opencarp.org/openCARP/carputils.git"
- maintainers = ['MarieHouillon']
+ maintainers = ["MarieHouillon"]
- version('master', branch='master')
+ version("master", branch="master")
# Version to use with openCARP releases
- version('oc10.0', commit='a02f9b846c6e852b7315b20e925d55c355f239b8')
- version('oc9.0', commit='e79e66b25c7bfaf405fad595019594ab9aa83392')
- version('oc8.2', commit='e60f639c0f39ad71c8ae11814de1f3aa726e8352')
- version('oc8.1', commit='a4210fcb0fe17226a1744ee9629f85b629decba3')
- version('oc7.0', commit='4c04db61744f2fb7665594d7c810699c5c55c77c')
-
- depends_on('git')
-
- depends_on('python', type=('build', 'run'))
- depends_on('py-pip', type='build')
- depends_on('py-numpy@1.14.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil', type='run')
- depends_on('py-scipy@1.5.0:', type='run')
- depends_on('py-matplotlib@3.0.0:', type='run')
- depends_on('py-pandas', type='run')
- depends_on('py-tables@3.6.1:', type='run')
- depends_on('py-six@1.12.0:', type='run')
- depends_on('py-ruamel-yaml', type='run')
+ version("oc10.0", commit="a02f9b846c6e852b7315b20e925d55c355f239b8")
+ version("oc9.0", commit="e79e66b25c7bfaf405fad595019594ab9aa83392")
+ version("oc8.2", commit="e60f639c0f39ad71c8ae11814de1f3aa726e8352")
+ version("oc8.1", commit="a4210fcb0fe17226a1744ee9629f85b629decba3")
+ version("oc7.0", commit="4c04db61744f2fb7665594d7c810699c5c55c77c")
+
+ depends_on("git")
+
+ depends_on("python", type=("build", "run"))
+ depends_on("py-pip", type="build")
+ depends_on("py-numpy@1.14.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil", type="run")
+ depends_on("py-scipy@1.5.0:", type="run")
+ depends_on("py-matplotlib@3.0.0:", type="run")
+ depends_on("py-pandas", type="run")
+ depends_on("py-tables@3.6.1:", type="run")
+ depends_on("py-six@1.12.0:", type="run")
+ depends_on("py-ruamel-yaml", type="run")
diff --git a/var/spack/repos/builtin/packages/py-cartopy/package.py b/var/spack/repos/builtin/packages/py-cartopy/package.py
index bb06f758d9..950acc9139 100644
--- a/var/spack/repos/builtin/packages/py-cartopy/package.py
+++ b/var/spack/repos/builtin/packages/py-cartopy/package.py
@@ -12,97 +12,103 @@ class PyCartopy(PythonPackage):
homepage = "https://scitools.org.uk/cartopy/docs/latest/"
pypi = "Cartopy/Cartopy-0.20.2.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.20.3', sha256='0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006')
- version('0.20.2', sha256='4d08c198ecaa50a6a6b109d0f14c070e813defc046a83ac5d7ab494f85599e35')
- version('0.20.1', sha256='91f87b130e2574547a20cd634498df97d797abd12dcfd0235bc0cdbcec8b05e3')
- version('0.20.0', sha256='eae58aff26806e63cf115b2bce9477cedc4aa9f578c5e477b2c25cfa404f2b7a')
- version('0.19.0.post1', sha256='4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576')
- version('0.18.0', sha256='7ffa317e8f8011e0d965a3ef1179e57a049f77019867ed677d49dcc5c0744434')
- version('0.17.0', sha256='424bd9e9ddef6e48cbdee694ce589ec431be8591f15b6cb93cb2b333a29b2c61')
- version('0.16.0', sha256='f23dffa101f43dd91e866a49ebb5f5048be2a24ab8a921a5c07edabde746d9a4')
-
- variant('epsg', default=False, when='@:0.19', description='Add support for epsg.io')
- variant('ows', default=False, description='Add support for Open Geospatial Consortium (OGC) web service')
- variant('plotting', default=False, description='Add plotting functionality')
+ maintainers = ["adamjstewart"]
+
+ version("0.20.3", sha256="0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006")
+ version("0.20.2", sha256="4d08c198ecaa50a6a6b109d0f14c070e813defc046a83ac5d7ab494f85599e35")
+ version("0.20.1", sha256="91f87b130e2574547a20cd634498df97d797abd12dcfd0235bc0cdbcec8b05e3")
+ version("0.20.0", sha256="eae58aff26806e63cf115b2bce9477cedc4aa9f578c5e477b2c25cfa404f2b7a")
+ version(
+ "0.19.0.post1", sha256="4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576"
+ )
+ version("0.18.0", sha256="7ffa317e8f8011e0d965a3ef1179e57a049f77019867ed677d49dcc5c0744434")
+ version("0.17.0", sha256="424bd9e9ddef6e48cbdee694ce589ec431be8591f15b6cb93cb2b333a29b2c61")
+ version("0.16.0", sha256="f23dffa101f43dd91e866a49ebb5f5048be2a24ab8a921a5c07edabde746d9a4")
+
+ variant("epsg", default=False, when="@:0.19", description="Add support for epsg.io")
+ variant(
+ "ows",
+ default=False,
+ description="Add support for Open Geospatial Consortium (OGC) web service",
+ )
+ variant("plotting", default=False, description="Add plotting functionality")
# setup.py
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.19:', type=('build', 'run'))
- depends_on('python@3.7:', when='@0.20:', type=('build', 'run'))
- depends_on('geos@3.3.3:')
- depends_on('geos@3.7.2:', when='@0.20:')
- depends_on('proj@4.9:5', when='@:0.16')
- depends_on('proj@4.9:7', when='@0.17:0.19')
- depends_on('proj@8:', when='@0.20:')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.19:", type=("build", "run"))
+ depends_on("python@3.7:", when="@0.20:", type=("build", "run"))
+ depends_on("geos@3.3.3:")
+ depends_on("geos@3.7.2:", when="@0.20:")
+ depends_on("proj@4.9:5", when="@:0.16")
+ depends_on("proj@4.9:7", when="@0.17:0.19")
+ depends_on("proj@8:", when="@0.20:")
# pyproject.toml
- depends_on('py-setuptools@0.7.2:', type='build')
- depends_on('py-setuptools@40.6:', when='@0.19:', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-cython@0.15.1:', when='@0.17:', type='build')
- depends_on('py-cython@0.28:', when='@0.18:', type='build')
- depends_on('py-cython@0.29.2:', when='@0.19:', type='build')
- depends_on('py-cython@0.29.13:', when='@0.20:', type='build')
- depends_on('py-setuptools-scm', when='@0.19:', type='build')
- depends_on('py-setuptools-scm@7:', when='@0.20.3:', type='build')
- depends_on('py-setuptools-scm-git-archive', when='@0.19:0.20.2', type='build')
+ depends_on("py-setuptools@0.7.2:", type="build")
+ depends_on("py-setuptools@40.6:", when="@0.19:", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-cython@0.15.1:", when="@0.17:", type="build")
+ depends_on("py-cython@0.28:", when="@0.18:", type="build")
+ depends_on("py-cython@0.29.2:", when="@0.19:", type="build")
+ depends_on("py-cython@0.29.13:", when="@0.20:", type="build")
+ depends_on("py-setuptools-scm", when="@0.19:", type="build")
+ depends_on("py-setuptools-scm@7:", when="@0.20.3:", type="build")
+ depends_on("py-setuptools-scm-git-archive", when="@0.19:0.20.2", type="build")
# requirements/default.txt
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-numpy@1.10:', when='@0.17:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', when='@0.19:', type=('build', 'run'))
- depends_on('py-numpy@1.18:', when='@0.20:', type=('build', 'run'))
- depends_on('py-matplotlib@3.1:', when='@0.20:', type=('build', 'run'))
- depends_on('py-shapely@1.5.6:', type=('build', 'run'))
- depends_on('py-shapely@1.6.4:', when='@0.20:', type=('build', 'run'))
- depends_on('py-pyshp@1.1.4:', type=('build', 'run'))
- depends_on('py-pyshp@2:', when='@0.19:', type=('build', 'run'))
- depends_on('py-pyshp@2.1:', when='@0.20:', type=('build', 'run'))
- depends_on('py-pyproj@3:', when='@0.20:', type=('build', 'run'))
- depends_on('py-six@1.3:', when='@:0.18', type=('build', 'run'))
- depends_on('py-futures', when='@0.18 ^python@2.7', type=('build', 'run'))
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-numpy@1.10:", when="@0.17:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", when="@0.19:", type=("build", "run"))
+ depends_on("py-numpy@1.18:", when="@0.20:", type=("build", "run"))
+ depends_on("py-matplotlib@3.1:", when="@0.20:", type=("build", "run"))
+ depends_on("py-shapely@1.5.6:", type=("build", "run"))
+ depends_on("py-shapely@1.6.4:", when="@0.20:", type=("build", "run"))
+ depends_on("py-pyshp@1.1.4:", type=("build", "run"))
+ depends_on("py-pyshp@2:", when="@0.19:", type=("build", "run"))
+ depends_on("py-pyshp@2.1:", when="@0.20:", type=("build", "run"))
+ depends_on("py-pyproj@3:", when="@0.20:", type=("build", "run"))
+ depends_on("py-six@1.3:", when="@:0.18", type=("build", "run"))
+ depends_on("py-futures", when="@0.18 ^python@2.7", type=("build", "run"))
# requirements/epsg.txt
- with when('+epsg'):
- depends_on('py-pyepsg@0.2:', type='run')
- depends_on('py-pyepsg@0.4:', when='@0.18:', type='run')
+ with when("+epsg"):
+ depends_on("py-pyepsg@0.2:", type="run")
+ depends_on("py-pyepsg@0.4:", when="@0.18:", type="run")
# requirements/ows.txt
- with when('+ows'):
- depends_on('py-owslib@0.8.11:', type='run')
- depends_on('py-owslib@0.18:', when='@0.20:', type='run')
- depends_on('pil@1.7.8:', type='run')
- depends_on('pil@6.1:', when='@0.20:', type='run')
+ with when("+ows"):
+ depends_on("py-owslib@0.8.11:", type="run")
+ depends_on("py-owslib@0.18:", when="@0.20:", type="run")
+ depends_on("pil@1.7.8:", type="run")
+ depends_on("pil@6.1:", when="@0.20:", type="run")
# requirements/plotting.txt
- with when('+plotting'):
- depends_on('py-matplotlib@1.3:', when='@0.16', type='run')
- depends_on('py-matplotlib@1.5.1:', when='@0.17:0.19', type='run')
- depends_on('gdal@1.10:+python', type='run')
- depends_on('gdal@2.3.2:+python', when='@0.20:', type='run')
- depends_on('pil@1.7.8:', type='run')
- depends_on('pil@6.1:', when='@0.20:', type='run')
- depends_on('py-scipy@0.10:', type='run')
- depends_on('py-scipy@1.3.1:', when='@0.20:', type='run')
-
- patch('proj6.patch', when='@0.17.0')
+ with when("+plotting"):
+ depends_on("py-matplotlib@1.3:", when="@0.16", type="run")
+ depends_on("py-matplotlib@1.5.1:", when="@0.17:0.19", type="run")
+ depends_on("gdal@1.10:+python", type="run")
+ depends_on("gdal@2.3.2:+python", when="@0.20:", type="run")
+ depends_on("pil@1.7.8:", type="run")
+ depends_on("pil@6.1:", when="@0.20:", type="run")
+ depends_on("py-scipy@0.10:", type="run")
+ depends_on("py-scipy@1.3.1:", when="@0.20:", type="run")
+
+ patch("proj6.patch", when="@0.17.0")
def setup_build_environment(self, env):
# Needed for `spack install --test=root py-cartopy`
library_dirs = []
- for dep in self.spec.dependencies(deptype='link'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
library_dirs.extend(query.libs.directories)
# Cartopy uses ctypes.util.find_library, which searches LD_LIBRARY_PATH
# Our RPATH logic works fine, but the unit tests fail without this
- libs = ':'.join(library_dirs)
- if self.spec.satisfies('platform=darwin'):
- env.prepend_path('DYLD_FALLBACK_LIBRARY_PATH', libs)
+ libs = ":".join(library_dirs)
+ if self.spec.satisfies("platform=darwin"):
+ env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs)
else:
- env.prepend_path('LD_LIBRARY_PATH', libs)
+ env.prepend_path("LD_LIBRARY_PATH", libs)
# Needed for `spack test run py-cartopy`
setup_run_environment = setup_build_environment
@@ -120,5 +126,4 @@ class PyCartopy(PythonPackage):
"cartopy.tests",
]
- return [i for i in modules
- if not any(map(i.startswith, ignored_imports))]
+ return [i for i in modules if not any(map(i.startswith, ignored_imports))]
diff --git a/var/spack/repos/builtin/packages/py-catalogue/package.py b/var/spack/repos/builtin/packages/py-catalogue/package.py
index 6c25476c3c..4770c3acf1 100644
--- a/var/spack/repos/builtin/packages/py-catalogue/package.py
+++ b/var/spack/repos/builtin/packages/py-catalogue/package.py
@@ -13,10 +13,10 @@ class PyCatalogue(PythonPackage):
homepage = "https://github.com/explosion/catalogue"
pypi = "catalogue/catalogue-2.0.0.tar.gz"
- version('2.0.0', sha256='34f8416ec5e7ed08e55c10414416e67c3f4d66edf83bc67320c3290775293816')
- version('1.0.0', sha256='d74d1d856c6b36a37bf14aa6dbbc27d0582667b7ab979a6108e61a575e8723f5')
+ version("2.0.0", sha256="34f8416ec5e7ed08e55c10414416e67c3f4d66edf83bc67320c3290775293816")
+ version("1.0.0", sha256="d74d1d856c6b36a37bf14aa6dbbc27d0582667b7ab979a6108e61a575e8723f5")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib-metadata@0.20:', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib-metadata@0.20:", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-catkin-pkg/package.py b/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
index 3a624940eb..cbca44f829 100644
--- a/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
+++ b/var/spack/repos/builtin/packages/py-catkin-pkg/package.py
@@ -13,10 +13,10 @@ class PyCatkinPkg(PythonPackage):
homepage = "https://wiki.ros.org/catkin_pkg"
pypi = "catkin-pkg/catkin_pkg-0.4.23.tar.gz"
- version('0.4.23', sha256='28ee181cca827c0aabf9397351f58a97e1475ca5ac7c106a5916e3ee191cd3d0')
+ version("0.4.23", sha256="28ee181cca827c0aabf9397351f58a97e1475ca5ac7c106a5916e3ee191cd3d0")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-docutils', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-docutils", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cclib/package.py b/var/spack/repos/builtin/packages/py-cclib/package.py
index 1154108d1a..579a77cc64 100644
--- a/var/spack/repos/builtin/packages/py-cclib/package.py
+++ b/var/spack/repos/builtin/packages/py-cclib/package.py
@@ -12,9 +12,12 @@ class PyCclib(PythonPackage):
homepage = "https://cclib.github.io/"
- version('1.5.post1', sha256='c2bf043432ab8df461d61b4289d0eb869fe134eee545ea5a78f8dea14b392f47',
- url="https://github.com/cclib/cclib/releases/download/v1.5/cclib-1.5.post1.tar.gz")
+ version(
+ "1.5.post1",
+ sha256="c2bf043432ab8df461d61b4289d0eb869fe134eee545ea5a78f8dea14b392f47",
+ url="https://github.com/cclib/cclib/releases/download/v1.5/cclib-1.5.post1.tar.gz",
+ )
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cdat-lite/package.py b/var/spack/repos/builtin/packages/py-cdat-lite/package.py
index e94a774a9a..00c9527247 100644
--- a/var/spack/repos/builtin/packages/py-cdat-lite/package.py
+++ b/var/spack/repos/builtin/packages/py-cdat-lite/package.py
@@ -14,9 +14,9 @@ class PyCdatLite(PythonPackage):
homepage = "http://proj.badc.rl.ac.uk/cedaservices/wiki/CdatLite"
pypi = "cdat-lite/cdat-lite-6.0.1.tar.gz"
- version('6.0.1', sha256='092ae4ff1fb03dee00096e8dd595b769b422759ce972d96525950adf8e1c9374')
+ version("6.0.1", sha256="092ae4ff1fb03dee00096e8dd595b769b422759ce972d96525950adf8e1c9374")
depends_on("netcdf-c")
- depends_on("python@2.5:2.8", type=('build', 'run'))
- depends_on("py-numpy", type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.5:2.8", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cdo/package.py b/var/spack/repos/builtin/packages/py-cdo/package.py
index 6ddcb421bc..5e94b61091 100644
--- a/var/spack/repos/builtin/packages/py-cdo/package.py
+++ b/var/spack/repos/builtin/packages/py-cdo/package.py
@@ -12,10 +12,10 @@ class PyCdo(PythonPackage):
pypi = "cdo/cdo-1.3.2.tar.gz"
- version('1.3.2', sha256='9f78879d90d14134f2320565016d0d371b7dfe7ec71110fd313868ec1db34aee')
+ version("1.3.2", sha256="9f78879d90d14134f2320565016d0d371b7dfe7ec71110fd313868ec1db34aee")
- depends_on('cdo')
+ depends_on("cdo")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cdsapi/package.py b/var/spack/repos/builtin/packages/py-cdsapi/package.py
index 549a4540fd..2f3aa5711c 100644
--- a/var/spack/repos/builtin/packages/py-cdsapi/package.py
+++ b/var/spack/repos/builtin/packages/py-cdsapi/package.py
@@ -12,8 +12,8 @@ class PyCdsapi(PythonPackage):
homepage = "https://cds.climate.copernicus.eu"
pypi = "cdsapi/cdsapi-0.2.3.tar.gz"
- version('0.2.3', sha256='333b31ec263224399635db9b21a2e1a50cd73451f5179f8d967437e7c9161d9b')
+ version("0.2.3", sha256="333b31ec263224399635db9b21a2e1a50cd73451f5179f8d967437e7c9161d9b")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.5.0:', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.5.0:", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cekit/package.py b/var/spack/repos/builtin/packages/py-cekit/package.py
index f9936dc37a..67a89149a3 100644
--- a/var/spack/repos/builtin/packages/py-cekit/package.py
+++ b/var/spack/repos/builtin/packages/py-cekit/package.py
@@ -12,19 +12,19 @@ class PyCekit(PythonPackage):
with strong focus on modularity and code reuse."""
homepage = "https://github.com/cekit/cekit/"
- url = "https://github.com/cekit/cekit/archive/3.7.0.tar.gz"
+ url = "https://github.com/cekit/cekit/archive/3.7.0.tar.gz"
- version('3.7.0', sha256='2a778b50427f1d7478d5cd54a5df97fb1b8d540892a1e70d7f9a9c7b878f89ca')
- version('3.6.0', sha256='d046f25b533ffa1602e3c53e58cc90108bd8fb1f8d0c4fae92f28cf71f81add0')
- version('3.5.0', sha256='696a90098cde8a59b8e2c06e1b031ee1fd86e696d1e9894e836da2a1432bfd20')
- version('3.4.0', sha256='90817c5bf780235ce70b0228740511ecb9171540bffa4ca86721d3a6155d5901')
- version('3.3.2', sha256='a17fcfb1c49d32846f78627b10b45a44d1cb7d99280edd873836c9a721bf30a8')
- version('3.3.1', sha256='d31b7800417ec265131fc54df8a1cf275739fe29f3a3f96123dc996667d85368')
+ version("3.7.0", sha256="2a778b50427f1d7478d5cd54a5df97fb1b8d540892a1e70d7f9a9c7b878f89ca")
+ version("3.6.0", sha256="d046f25b533ffa1602e3c53e58cc90108bd8fb1f8d0c4fae92f28cf71f81add0")
+ version("3.5.0", sha256="696a90098cde8a59b8e2c06e1b031ee1fd86e696d1e9894e836da2a1432bfd20")
+ version("3.4.0", sha256="90817c5bf780235ce70b0228740511ecb9171540bffa4ca86721d3a6155d5901")
+ version("3.3.2", sha256="a17fcfb1c49d32846f78627b10b45a44d1cb7d99280edd873836c9a721bf30a8")
+ version("3.3.1", sha256="d31b7800417ec265131fc54df8a1cf275739fe29f3a3f96123dc996667d85368")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'))
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
- depends_on('py-pykwalify@1.6.0:', type=('build', 'run'))
- depends_on('py-colorlog@2.10.0:', type=('build', 'run'))
- depends_on('py-click@6.7:', type=('build', 'run'))
- depends_on('py-packaging@19.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
+ depends_on("py-pykwalify@1.6.0:", type=("build", "run"))
+ depends_on("py-colorlog@2.10.0:", type=("build", "run"))
+ depends_on("py-click@6.7:", type=("build", "run"))
+ depends_on("py-packaging@19.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-celery/package.py b/var/spack/repos/builtin/packages/py-celery/package.py
index 9b730dce2d..f7687c1727 100644
--- a/var/spack/repos/builtin/packages/py-celery/package.py
+++ b/var/spack/repos/builtin/packages/py-celery/package.py
@@ -11,13 +11,13 @@ class PyCelery(PythonPackage):
pypi = "celery/celery-4.2.1.tar.gz"
- version('5.2.3', sha256='e2cd41667ad97d4f6a2f4672d1c6a6ebada194c619253058b5f23704aaadaa82')
- version('5.0.0', sha256='313930fddde703d8e37029a304bf91429cd11aeef63c57de6daca9d958e1f255')
- version('4.4.7', sha256='d220b13a8ed57c78149acf82c006785356071844afe0b27012a4991d44026f9f')
- version('4.3.0', sha256='4c4532aa683f170f40bd76f928b70bc06ff171a959e06e71bf35f2f9d6031ef9')
+ version("5.2.3", sha256="e2cd41667ad97d4f6a2f4672d1c6a6ebada194c619253058b5f23704aaadaa82")
+ version("5.0.0", sha256="313930fddde703d8e37029a304bf91429cd11aeef63c57de6daca9d958e1f255")
+ version("4.4.7", sha256="d220b13a8ed57c78149acf82c006785356071844afe0b27012a4991d44026f9f")
+ version("4.3.0", sha256="4c4532aa683f170f40bd76f928b70bc06ff171a959e06e71bf35f2f9d6031ef9")
- variant('redis', default=False, description="Use redis transport")
- variant('sqlalchemy', default=False, description="Use sqlalchemy interface")
+ variant("redis", default=False, description="Use redis transport")
+ variant("sqlalchemy", default=False, description="Use sqlalchemy interface")
# 'auth',
# 'cassandra',
# 'django',
@@ -47,28 +47,28 @@ class PyCelery(PythonPackage):
# 'cosmosdbsql',
# 's3',
- depends_on('python@3.7:', type=('build', 'run'), when="@5.2.3:")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"), when="@5.2.3:")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools@59.1.1:59.6', type=('build', 'run'), when="@5.2.3:")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools@59.1.1:59.6", type=("build", "run"), when="@5.2.3:")
- depends_on('py-redis@3.2.0:', when='+redis', type=('build', 'run'))
- depends_on('py-redis@3.4.1:3,4.0.2:', when='@5.2.3:+redis', type=('build', 'run'))
- depends_on('py-sqlalchemy', when='+sqlalchemy', type=('build', 'run'))
+ depends_on("py-redis@3.2.0:", when="+redis", type=("build", "run"))
+ depends_on("py-redis@3.4.1:3,4.0.2:", when="@5.2.3:+redis", type=("build", "run"))
+ depends_on("py-sqlalchemy", when="+sqlalchemy", type=("build", "run"))
- depends_on('py-click@7.0:7', when="@5.0.0:5.0", type=('build', 'run'))
- depends_on('py-click@8.0.3:8', when="@5.2.0:", type=('build', 'run'))
- depends_on('py-click-didyoumean@0.0.3:', when="@5.0.0:5", type=('build', 'run'))
- depends_on('py-click-plugins@1.1.1:', when="@5.0.3:", type=('build', 'run'))
- depends_on('py-click-repl@:0.1.6', when="@5.0.0:5.0", type=('build', 'run'))
- depends_on('py-click-repl@0.2.0:', when="@5.2.0:", type=('build', 'run'))
- depends_on('py-pytz@2019.3:', type=('build', 'run'))
- depends_on('py-pytz@2021.3:', type=('build', 'run'), when="@5.2.3")
- depends_on('py-billiard@3.6.3.0:3', type=('build', 'run'))
- depends_on('py-billiard@3.6.4.0:3', type=('build', 'run'), when="@5.2.3")
- depends_on('py-kombu@4.6.11', when="@4.3.0:4", type=('build', 'run'))
- depends_on('py-kombu@5.0.0:', when="@5.0.0:5.0", type=('build', 'run'))
- depends_on('py-kombu@5.2.3:5', when="@5.2.0:5.2", type=('build', 'run'))
- depends_on('py-vine@1.3.0', when="@4.3.0:4", type=('build', 'run'))
- depends_on('py-vine@5.0.0:5', when="@5.0.0:5", type=('build', 'run'))
+ depends_on("py-click@7.0:7", when="@5.0.0:5.0", type=("build", "run"))
+ depends_on("py-click@8.0.3:8", when="@5.2.0:", type=("build", "run"))
+ depends_on("py-click-didyoumean@0.0.3:", when="@5.0.0:5", type=("build", "run"))
+ depends_on("py-click-plugins@1.1.1:", when="@5.0.3:", type=("build", "run"))
+ depends_on("py-click-repl@:0.1.6", when="@5.0.0:5.0", type=("build", "run"))
+ depends_on("py-click-repl@0.2.0:", when="@5.2.0:", type=("build", "run"))
+ depends_on("py-pytz@2019.3:", type=("build", "run"))
+ depends_on("py-pytz@2021.3:", type=("build", "run"), when="@5.2.3")
+ depends_on("py-billiard@3.6.3.0:3", type=("build", "run"))
+ depends_on("py-billiard@3.6.4.0:3", type=("build", "run"), when="@5.2.3")
+ depends_on("py-kombu@4.6.11", when="@4.3.0:4", type=("build", "run"))
+ depends_on("py-kombu@5.0.0:", when="@5.0.0:5.0", type=("build", "run"))
+ depends_on("py-kombu@5.2.3:5", when="@5.2.0:5.2", type=("build", "run"))
+ depends_on("py-vine@1.3.0", when="@4.3.0:4", type=("build", "run"))
+ depends_on("py-vine@5.0.0:5", when="@5.0.0:5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cerberus/package.py b/var/spack/repos/builtin/packages/py-cerberus/package.py
index c630562de1..1c3d56e2bf 100644
--- a/var/spack/repos/builtin/packages/py-cerberus/package.py
+++ b/var/spack/repos/builtin/packages/py-cerberus/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyCerberus(PythonPackage):
"""Lightweight, extensible schema and data validation
- tool for Python dictionaries"""
+ tool for Python dictionaries"""
homepage = "http://docs.python-cerberus.org/"
- pypi = "Cerberus/Cerberus-1.3.4.tar.gz"
+ pypi = "Cerberus/Cerberus-1.3.4.tar.gz"
- version('1.3.4', sha256='d1b21b3954b2498d9a79edf16b3170a3ac1021df88d197dc2ce5928ba519237c')
+ version("1.3.4", sha256="d1b21b3954b2498d9a79edf16b3170a3ac1021df88d197dc2ce5928ba519237c")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-certifi/package.py b/var/spack/repos/builtin/packages/py-certifi/package.py
index efb19a6ee8..09c230722e 100644
--- a/var/spack/repos/builtin/packages/py-certifi/package.py
+++ b/var/spack/repos/builtin/packages/py-certifi/package.py
@@ -14,13 +14,15 @@ class PyCertifi(PythonPackage):
homepage = "https://github.com/certifi/python-certifi"
pypi = "certifi/certifi-2020.6.20.tar.gz"
- version('2021.10.8', sha256='78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872')
- version('2020.6.20', sha256='5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3')
- version('2020.4.5.1', sha256='51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519')
- version('2019.9.11', sha256='e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50')
- version('2019.6.16', sha256='945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695')
- version('2019.3.9', sha256='b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae')
- version('2017.4.17', sha256='f7527ebf7461582ce95f7a9e03dd141ce810d40590834f4ec20cddd54234c10a')
- version('2017.1.23', sha256='81877fb7ac126e9215dfb15bfef7115fdc30e798e0013065158eed0707fd99ce')
+ version("2021.10.8", sha256="78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872")
+ version("2020.6.20", sha256="5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3")
+ version(
+ "2020.4.5.1", sha256="51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519"
+ )
+ version("2019.9.11", sha256="e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50")
+ version("2019.6.16", sha256="945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695")
+ version("2019.3.9", sha256="b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae")
+ version("2017.4.17", sha256="f7527ebf7461582ce95f7a9e03dd141ce810d40590834f4ec20cddd54234c10a")
+ version("2017.1.23", sha256="81877fb7ac126e9215dfb15bfef7115fdc30e798e0013065158eed0707fd99ce")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-certipy/package.py b/var/spack/repos/builtin/packages/py-certipy/package.py
index 1e45f267f4..6998c7fcf1 100644
--- a/var/spack/repos/builtin/packages/py-certipy/package.py
+++ b/var/spack/repos/builtin/packages/py-certipy/package.py
@@ -12,7 +12,7 @@ class PyCertipy(PythonPackage):
pypi = "certipy/certipy-0.1.3.tar.gz"
- version('0.1.3', sha256='695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859')
+ version("0.1.3", sha256="695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyopenssl', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyopenssl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cf-units/package.py b/var/spack/repos/builtin/packages/py-cf-units/package.py
index 0956b760a1..ad0d83774e 100644
--- a/var/spack/repos/builtin/packages/py-cf-units/package.py
+++ b/var/spack/repos/builtin/packages/py-cf-units/package.py
@@ -13,18 +13,18 @@ class PyCfUnits(PythonPackage):
homepage = "https://scitools.org.uk"
pypi = "cf-units/cf-units-2.1.1.tar.gz"
- git = "https://github.com/SciTools/cf-units.git"
+ git = "https://github.com/SciTools/cf-units.git"
- version('master', branch='master')
- version('2.1.4', sha256='25f81ad994af30713ee8f5ef18ffddd83c6ec1ac308e1bd89d45de9d2e0f1c31')
- version('2.1.1', sha256='fa0ef8efd84546e61088aa23e76ebbaf7043167dc3a7f35f34549c234b543530')
+ version("master", branch="master")
+ version("2.1.4", sha256="25f81ad994af30713ee8f5ef18ffddd83c6ec1ac308e1bd89d45de9d2e0f1c31")
+ version("2.1.1", sha256="fa0ef8efd84546e61088aa23e76ebbaf7043167dc3a7f35f34549c234b543530")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-cftime', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-antlr4-python3-runtime', type=('build', 'run'))
- depends_on('py-pytest-runner', type=('build'))
- depends_on('udunits')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-cftime", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-antlr4-python3-runtime", type=("build", "run"))
+ depends_on("py-pytest-runner", type=("build"))
+ depends_on("udunits")
diff --git a/var/spack/repos/builtin/packages/py-cffconvert/package.py b/var/spack/repos/builtin/packages/py-cffconvert/package.py
index 524ce7ee09..2685b8e64b 100644
--- a/var/spack/repos/builtin/packages/py-cffconvert/package.py
+++ b/var/spack/repos/builtin/packages/py-cffconvert/package.py
@@ -10,16 +10,16 @@ class PyCffconvert(PythonPackage):
"""Command line program to validate and convert CITATION.cff files."""
homepage = "https://github.com/citation-file-format/cff-converter-python"
- pypi = "cffconvert/cffconvert-2.0.0.tar.gz"
+ pypi = "cffconvert/cffconvert-2.0.0.tar.gz"
- version('2.0.0', sha256='b4379ee415c6637dc9e3e7ba196605cb3cedcea24613e4ea242c607d9e98eb50')
+ version("2.0.0", sha256="b4379ee415c6637dc9e3e7ba196605cb3cedcea24613e4ea242c607d9e98eb50")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-click@7.0:8', type=('build', 'run'))
- depends_on('py-requests@2.20:2', type=('build', 'run'))
- depends_on('py-ruamel-yaml@0.16.0:', type=('build', 'run'))
- depends_on('py-pykwalify@1.6:', type=('build', 'run'))
- depends_on('py-jsonschema@3.0:3', type=('build', 'run'))
+ depends_on("py-click@7.0:8", type=("build", "run"))
+ depends_on("py-requests@2.20:2", type=("build", "run"))
+ depends_on("py-ruamel-yaml@0.16.0:", type=("build", "run"))
+ depends_on("py-pykwalify@1.6:", type=("build", "run"))
+ depends_on("py-jsonschema@3.0:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cffi/package.py b/var/spack/repos/builtin/packages/py-cffi/package.py
index 67adb47d9f..0e47a579fc 100644
--- a/var/spack/repos/builtin/packages/py-cffi/package.py
+++ b/var/spack/repos/builtin/packages/py-cffi/package.py
@@ -14,27 +14,27 @@ class PyCffi(PythonPackage):
homepage = "https://cffi.readthedocs.io/en/latest/"
pypi = "cffi/cffi-1.13.0.tar.gz"
- version('1.15.0', sha256='920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954')
- version('1.14.6', sha256='c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd')
- version('1.14.3', sha256='f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591')
- version('1.13.0', sha256='8fe230f612c18af1df6f348d02d682fe2c28ca0a6c3856c99599cdacae7cf226')
- version('1.12.2', sha256='e113878a446c6228669144ae8a56e268c91b7f1fafae927adc4879d9849e0ea7')
- version('1.11.5', sha256='e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4')
- version('1.10.0', sha256='b3b02911eb1f6ada203b0763ba924234629b51586f72a21faacc638269f4ced5')
- version('1.1.2', sha256='390970b602708c91ddc73953bb6929e56291c18a4d80f360afa00fad8b6f3339')
-
- depends_on('pkgconfig', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-pycparser', type=('build', 'run'))
- depends_on('libffi')
+ version("1.15.0", sha256="920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954")
+ version("1.14.6", sha256="c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd")
+ version("1.14.3", sha256="f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591")
+ version("1.13.0", sha256="8fe230f612c18af1df6f348d02d682fe2c28ca0a6c3856c99599cdacae7cf226")
+ version("1.12.2", sha256="e113878a446c6228669144ae8a56e268c91b7f1fafae927adc4879d9849e0ea7")
+ version("1.11.5", sha256="e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4")
+ version("1.10.0", sha256="b3b02911eb1f6ada203b0763ba924234629b51586f72a21faacc638269f4ced5")
+ version("1.1.2", sha256="390970b602708c91ddc73953bb6929e56291c18a4d80f360afa00fad8b6f3339")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pycparser", type=("build", "run"))
+ depends_on("libffi")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%clang@13:'):
- if name in ['cflags', 'cxxflags', 'cppflags']:
- flags.append('-Wno-error=ignored-optimization-argument')
+ if self.spec.satisfies("%clang@13:"):
+ if name in ["cflags", "cxxflags", "cppflags"]:
+ flags.append("-Wno-error=ignored-optimization-argument")
return (flags, None, None)
- if name == 'ldflags':
- flags.append('-flto')
+ if name == "ldflags":
+ flags.append("-flto")
return (flags, None, None)
return (flags, None, None)
@@ -45,5 +45,5 @@ class PyCffi(PythonPackage):
# other compilation. We are setting 'LDSHARED' to the
# spack compiler wrapper plus a few extra flags necessary for
# building the shared library.
- if not sys.platform == 'darwin':
- env.set('LDSHARED', '{0} -shared -pthread'.format(spack_cc))
+ if not sys.platform == "darwin":
+ env.set("LDSHARED", "{0} -shared -pthread".format(spack_cc))
diff --git a/var/spack/repos/builtin/packages/py-cfgrib/package.py b/var/spack/repos/builtin/packages/py-cfgrib/package.py
index d74064f538..17b9cd2565 100644
--- a/var/spack/repos/builtin/packages/py-cfgrib/package.py
+++ b/var/spack/repos/builtin/packages/py-cfgrib/package.py
@@ -11,29 +11,29 @@ class PyCfgrib(PythonPackage):
following the CF Convention using ecCodes."""
homepage = "https://github.com/ecmwf/cfgrib"
- pypi = "cfgrib/cfgrib-0.9.8.5.tar.gz"
+ pypi = "cfgrib/cfgrib-0.9.8.5.tar.gz"
- version('0.9.9.0', sha256='6ff0227df9c5ee34aa7d6ab1f7af3fbe6838523a8a9891c74040b419b03ad289')
- version('0.9.8.5', sha256='07c224d7ac823a1df5738b96b9d3621515538f51f67e55044f9cc8ec1668e1bd')
+ version("0.9.9.0", sha256="6ff0227df9c5ee34aa7d6ab1f7af3fbe6838523a8a9891c74040b419b03ad289")
+ version("0.9.8.5", sha256="07c224d7ac823a1df5738b96b9d3621515538f51f67e55044f9cc8ec1668e1bd")
# Warning: can create infinite dependency loop with xarray+io ^cfgrib+xarray
- variant('xarray', default=False, description='Add xarray support')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', when='@0.9.8.5', type='build')
- depends_on('py-attrs@19.2:', type=('build', 'run'))
- depends_on('py-cffi', when='@0.9.8.5', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-eccodes', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-xarray@0.12.0:', when='+xarray', type=('build', 'run'))
+ variant("xarray", default=False, description="Add xarray support")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", when="@0.9.8.5", type="build")
+ depends_on("py-attrs@19.2:", type=("build", "run"))
+ depends_on("py-cffi", when="@0.9.8.5", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-eccodes", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-xarray@0.12.0:", when="+xarray", type=("build", "run"))
@property
def import_modules(self):
- modules = ['cfgrib']
+ modules = ["cfgrib"]
- if '+xarray' in self.spec:
- modules.append('cf2cdm')
+ if "+xarray" in self.spec:
+ modules.append("cf2cdm")
return modules
diff --git a/var/spack/repos/builtin/packages/py-cfgv/package.py b/var/spack/repos/builtin/packages/py-cfgv/package.py
index 367c9b6e59..1603be7caa 100644
--- a/var/spack/repos/builtin/packages/py-cfgv/package.py
+++ b/var/spack/repos/builtin/packages/py-cfgv/package.py
@@ -12,8 +12,8 @@ class PyCfgv(PythonPackage):
homepage = "https://github.com/asottile/cfgv/"
pypi = "cfgv/cfgv-2.0.1.tar.gz"
- version('2.0.1', sha256='edb387943b665bf9c434f717bf630fa78aecd53d5900d2e05da6ad6048553144')
+ version("2.0.1", sha256="edb387943b665bf9c434f717bf630fa78aecd53d5900d2e05da6ad6048553144")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cftime/package.py b/var/spack/repos/builtin/packages/py-cftime/package.py
index efd03635f8..5d13106bb5 100644
--- a/var/spack/repos/builtin/packages/py-cftime/package.py
+++ b/var/spack/repos/builtin/packages/py-cftime/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyCftime(PythonPackage):
"""Python library for decoding time units and variable values in a
- netCDF file conforming to the Climate and Forecasting (CF)
- netCDF conventions"""
+ netCDF file conforming to the Climate and Forecasting (CF)
+ netCDF conventions"""
homepage = "https://unidata.github.io/cftime/"
- url = "https://github.com/Unidata/cftime/archive/v1.0.3.4rel.tar.gz"
+ url = "https://github.com/Unidata/cftime/archive/v1.0.3.4rel.tar.gz"
- version('1.0.3.4', sha256='f261ff8c65ceef4799784cd999b256d608c177d4c90b083553aceec3b6c23fd3')
+ version("1.0.3.4", sha256="f261ff8c65ceef4799784cd999b256d608c177d4c90b083553aceec3b6c23fd3")
- depends_on('py-setuptools@18.0:', type='build')
- depends_on('py-cython@0.19:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools@18.0:", type="build")
+ depends_on("py-cython@0.19:", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cgen/package.py b/var/spack/repos/builtin/packages/py-cgen/package.py
index 9d93d21fa7..bdfc0de4e9 100644
--- a/var/spack/repos/builtin/packages/py-cgen/package.py
+++ b/var/spack/repos/builtin/packages/py-cgen/package.py
@@ -12,10 +12,10 @@ class PyCgen(PythonPackage):
"""
homepage = "https://documen.tician.de/cgen/"
- pypi = "cgen/cgen-2020.1.tar.gz"
+ pypi = "cgen/cgen-2020.1.tar.gz"
- version('2020.1', sha256='4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf')
+ version("2020.1", sha256="4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf")
- depends_on('py-pytools@2015.1.2:', type=('build', 'run'))
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-pytools@2015.1.2:", type=("build", "run"))
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-chai/package.py b/var/spack/repos/builtin/packages/py-chai/package.py
index 54699864b0..b33f1543d5 100644
--- a/var/spack/repos/builtin/packages/py-chai/package.py
+++ b/var/spack/repos/builtin/packages/py-chai/package.py
@@ -12,6 +12,6 @@ class PyChai(PythonPackage):
homepage = "https://github.com/agoragames/chai"
pypi = "chai/chai-1.1.2.tar.gz"
- version('1.1.2', sha256='ff8d2b6855f660cd23cd5ec79bd10264d39f24f6235773331b48e7fcd637d6cc')
+ version("1.1.2", sha256="ff8d2b6855f660cd23cd5ec79bd10264d39f24f6235773331b48e7fcd637d6cc")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-chainer/package.py b/var/spack/repos/builtin/packages/py-chainer/package.py
index 38cc32e100..5985043f87 100644
--- a/var/spack/repos/builtin/packages/py-chainer/package.py
+++ b/var/spack/repos/builtin/packages/py-chainer/package.py
@@ -20,33 +20,33 @@ class PyChainer(PythonPackage):
"""
homepage = "https://chainer.org/"
- url = "https://github.com/chainer/chainer/archive/v7.2.0.tar.gz"
+ url = "https://github.com/chainer/chainer/archive/v7.2.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('7.2.0', sha256='6e2fba648cc5b8a5421e494385b76fe5ec154f1028a1c5908557f5d16c04f0b3')
- version('6.7.0', sha256='87cb3378a35e7c5c695028ec91d58dc062356bc91412384ea939d71374610389')
+ version("7.2.0", sha256="6e2fba648cc5b8a5421e494385b76fe5ec154f1028a1c5908557f5d16c04f0b3")
+ version("6.7.0", sha256="87cb3378a35e7c5c695028ec91d58dc062356bc91412384ea939d71374610389")
variant("mn", default=False, description="run with ChainerMN")
- depends_on('python@3.5.1:', when='@7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-typing-extensions', type=('build', 'run'))
- depends_on('py-typing-extensions@:3.6.6', when='@:6', type=('build', 'run'))
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-protobuf@3:', type=('build', 'run'))
- depends_on('py-typing@:3.6.6', when='@:6', type=('build', 'run'))
+ depends_on("python@3.5.1:", when="@7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-typing-extensions", type=("build", "run"))
+ depends_on("py-typing-extensions@:3.6.6", when="@:6", type=("build", "run"))
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-protobuf@3:", type=("build", "run"))
+ depends_on("py-typing@:3.6.6", when="@:6", type=("build", "run"))
# Dependencies only required for test of ChainerMN
- depends_on('py-matplotlib', type=('build', 'run'), when='+mn')
- depends_on('py-mpi4py', type=('build', 'run'), when='+mn')
- depends_on("mpi", type=("build", "run"), when='+mn')
+ depends_on("py-matplotlib", type=("build", "run"), when="+mn")
+ depends_on("py-mpi4py", type=("build", "run"), when="+mn")
+ depends_on("mpi", type=("build", "run"), when="+mn")
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
- if '+mn' in self.spec:
+ if "+mn" in self.spec:
self.cache_extra_test_sources("examples")
def test(self):
@@ -54,9 +54,7 @@ class PyChainer(PythonPackage):
# Run test of ChainerMN
test_dir = self.test_suite.current_test_data_dir
- mnist_dir = join_path(
- self.install_test_root, "examples", "chainermn", "mnist"
- )
+ mnist_dir = join_path(self.install_test_root, "examples", "chainermn", "mnist")
mnist_file = join_path(mnist_dir, "train_mnist.py")
mpi_name = self.spec["mpi"].prefix.bin.mpirun
python_exe = self.spec["python"].command.path
@@ -77,10 +75,10 @@ class PyChainer(PythonPackage):
)
# check results
- json_open = open(join_path(test_dir, 'log'), 'r')
+ json_open = open(join_path(test_dir, "log"), "r")
json_load = json.load(json_open)
- v = dict([(d.get('epoch'), d.get('main/accuracy')) for d in json_load])
+ v = dict([(d.get("epoch"), d.get("main/accuracy")) for d in json_load])
if 1 not in v or 20 not in v:
- raise RuntimeError('Cannot find epoch 1 or epoch 20')
+ raise RuntimeError("Cannot find epoch 1 or epoch 20")
if abs(1.0 - v[1]) < abs(1.0 - v[20]):
- raise RuntimeError('ChainerMN Test Failed !')
+ raise RuntimeError("ChainerMN Test Failed !")
diff --git a/var/spack/repos/builtin/packages/py-chainmap/package.py b/var/spack/repos/builtin/packages/py-chainmap/package.py
index 42878a7162..e7bfb32e27 100644
--- a/var/spack/repos/builtin/packages/py-chainmap/package.py
+++ b/var/spack/repos/builtin/packages/py-chainmap/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyChainmap(PythonPackage):
"""Clone/backport of ChainMap for Python 2.6, Python 3.2, and PyPy3
- based on Python 3.2--versions that currently lack their own
- ChainMap implementations."""
+ based on Python 3.2--versions that currently lack their own
+ ChainMap implementations."""
homepage = "https://bitbucket.org/jeunice/chainmap/src/default/"
pypi = "chainmap/chainmap-1.0.3.tar.gz"
- version('1.0.3', sha256='e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9')
- version('1.0.2', sha256='405da3bce9913bfb33e6e497803b447b60d12ab44031ca357626143e087e0526')
- version('1.0.1', sha256='c1cd76c679dd7af982ec5a45788ef4a0dfc20e77f27ccdeca289a5141862ff64')
- version('1.0.0', sha256='2e24b2efa3494b16772282812efcd712b1d6b80e1b761a56b1b7cbc8fe0313c4')
+ version("1.0.3", sha256="e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9")
+ version("1.0.2", sha256="405da3bce9913bfb33e6e497803b447b60d12ab44031ca357626143e087e0526")
+ version("1.0.1", sha256="c1cd76c679dd7af982ec5a45788ef4a0dfc20e77f27ccdeca289a5141862ff64")
+ version("1.0.0", sha256="2e24b2efa3494b16772282812efcd712b1d6b80e1b761a56b1b7cbc8fe0313c4")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-chalice/package.py b/var/spack/repos/builtin/packages/py-chalice/package.py
index 18eaab0c2b..ee33f10198 100644
--- a/var/spack/repos/builtin/packages/py-chalice/package.py
+++ b/var/spack/repos/builtin/packages/py-chalice/package.py
@@ -10,29 +10,29 @@ class PyChalice(PythonPackage):
"""Python Serverless Microframework for AWS."""
homepage = "https://github.com/aws/chalice"
- url = "https://github.com/aws/chalice/archive/1.20.0.tar.gz"
+ url = "https://github.com/aws/chalice/archive/1.20.0.tar.gz"
- version('1.20.0', sha256='0504fa8492379a658b123a7aa173b008be1a01c5a06d65f8ef1f1e6b87515e33')
- version('1.19.0', sha256='6d2f9e2d39e836c9cf32451a39443bb8d08d8dfd5ddc75792519ec97817b4fdd')
- version('1.18.1', sha256='fb52dc3851998ebe41813a5448d8e5687cc64e734a174db6e7e677c634d87823')
- version('1.18.0', sha256='e3f2bdd4acdc07b153318d3601f0795ddfdcdc33f2b046925725d1e6f1b699ff')
- version('1.17.0', sha256='e6371fe5a53be4b24bfadb7b1b9cbe0aa2a494531e1f51a4b6b8bb4a680021f0')
- version('1.16.0', sha256='ed70f044bdc99b07056f98fd325e2e8f0ec46cd480eebf22e9214523239b8764')
- version('1.15.1', sha256='4a50028be3964b95082e8c2a74c546f8fc317b847c8bea1e7e86f3cfff979d6f')
- version('1.15.0', sha256='3c86cf23649a40ea3cb017a16231eb46ce8f0ffda022d3ae4cfc8af52e377100')
- version('1.14.1', sha256='d8034247c1e7698d0b4747b534fd06ce518dcbee91b4e7054efa75efe27fba2e')
- version('1.14.0', sha256='59a63a098c05309efc0285dd2e38f8415e8618d05c08821fb7660377e30bda22')
+ version("1.20.0", sha256="0504fa8492379a658b123a7aa173b008be1a01c5a06d65f8ef1f1e6b87515e33")
+ version("1.19.0", sha256="6d2f9e2d39e836c9cf32451a39443bb8d08d8dfd5ddc75792519ec97817b4fdd")
+ version("1.18.1", sha256="fb52dc3851998ebe41813a5448d8e5687cc64e734a174db6e7e677c634d87823")
+ version("1.18.0", sha256="e3f2bdd4acdc07b153318d3601f0795ddfdcdc33f2b046925725d1e6f1b699ff")
+ version("1.17.0", sha256="e6371fe5a53be4b24bfadb7b1b9cbe0aa2a494531e1f51a4b6b8bb4a680021f0")
+ version("1.16.0", sha256="ed70f044bdc99b07056f98fd325e2e8f0ec46cd480eebf22e9214523239b8764")
+ version("1.15.1", sha256="4a50028be3964b95082e8c2a74c546f8fc317b847c8bea1e7e86f3cfff979d6f")
+ version("1.15.0", sha256="3c86cf23649a40ea3cb017a16231eb46ce8f0ffda022d3ae4cfc8af52e377100")
+ version("1.14.1", sha256="d8034247c1e7698d0b4747b534fd06ce518dcbee91b4e7054efa75efe27fba2e")
+ version("1.14.0", sha256="59a63a098c05309efc0285dd2e38f8415e8618d05c08821fb7660377e30bda22")
- depends_on('python@2.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-click@7.0:8.0', type=('build', 'run'))
- depends_on('py-botocore@1.12.86:2.0.0', type=('build', 'run'))
- depends_on('py-typing@3.6.4', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-mypy-extensions@0.4.3', type=('build', 'run'))
- depends_on('py-six@1.10.0:2.0.0', type=('build', 'run'))
- depends_on('py-pip@9:20.0', type=('build', 'run'))
- depends_on('py-attrs@19.3.0:20.0.0', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='@1.5:^python@:3.3')
- depends_on('py-jmespath@0.9.3:1.0.0', type=('build', 'run'))
- depends_on('py-pyyaml@5.3.1:6.0.0', type=('build', 'run'))
- depends_on('py-wheel', type=('build', 'run'))
+ depends_on("python@2.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click@7.0:8.0", type=("build", "run"))
+ depends_on("py-botocore@1.12.86:2.0.0", type=("build", "run"))
+ depends_on("py-typing@3.6.4", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-mypy-extensions@0.4.3", type=("build", "run"))
+ depends_on("py-six@1.10.0:2.0.0", type=("build", "run"))
+ depends_on("py-pip@9:20.0", type=("build", "run"))
+ depends_on("py-attrs@19.3.0:20.0.0", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="@1.5:^python@:3.3")
+ depends_on("py-jmespath@0.9.3:1.0.0", type=("build", "run"))
+ depends_on("py-pyyaml@5.3.1:6.0.0", type=("build", "run"))
+ depends_on("py-wheel", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-chardet/package.py b/var/spack/repos/builtin/packages/py-chardet/package.py
index 79c6d8b2c6..02fb19743e 100644
--- a/var/spack/repos/builtin/packages/py-chardet/package.py
+++ b/var/spack/repos/builtin/packages/py-chardet/package.py
@@ -12,11 +12,11 @@ class PyChardet(PythonPackage):
homepage = "https://github.com/chardet/chardet"
pypi = "chardet/chardet-3.0.4.tar.gz"
- version('4.0.0', sha256='0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa')
- version('3.0.4', sha256='84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae')
- version('3.0.2', sha256='4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb')
- version('2.3.0', sha256='e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa')
+ version("4.0.0", sha256="0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa")
+ version("3.0.4", sha256="84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae")
+ version("3.0.2", sha256="4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb")
+ version("2.3.0", sha256="e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build', when='@3.0.2')
- depends_on('python@2.7:2.8,3.5:', when='@4:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build", when="@3.0.2")
+ depends_on("python@2.7:2.8,3.5:", when="@4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-charm4py/package.py b/var/spack/repos/builtin/packages/py-charm4py/package.py
index cca34d9049..63c2423859 100644
--- a/var/spack/repos/builtin/packages/py-charm4py/package.py
+++ b/var/spack/repos/builtin/packages/py-charm4py/package.py
@@ -21,23 +21,25 @@ class PyCharm4py(PythonPackage):
# Add a list of GitHub accounts to
# notify when the package is updated.
- maintainers = ['payerle']
+ maintainers = ["payerle"]
- version('1.0', sha256='8ddb9f021b7379fde94b28c31f4ab6a60ced2c2a207a2d75ce57cb91b6be92bc')
+ version("1.0", sha256="8ddb9f021b7379fde94b28c31f4ab6a60ced2c2a207a2d75ce57cb91b6be92bc")
- variant('mpi', default=True,
- description='build Charm++ library with the MPI instead of TCP'
- ' communication layer')
+ variant(
+ "mpi",
+ default=True,
+ description="build Charm++ library with the MPI instead of TCP" " communication layer",
+ )
# Builds its own charm++, so no charmpp dependency
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-cffi@1.7:', type='build')
- depends_on('py-numpy@1.10.0:', type=('build', 'run'))
- depends_on('py-greenlet', type=('build', 'run'))
- depends_on('cuda')
- depends_on('mpi', when='+mpi')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-cffi@1.7:", type="build")
+ depends_on("py-numpy@1.10.0:", type=("build", "run"))
+ depends_on("py-greenlet", type=("build", "run"))
+ depends_on("cuda")
+ depends_on("mpi", when="+mpi")
# setup.py builds its own charm++, but libcharm.so
# ends up with a cuda dependency causing unresolved symbol errors
@@ -52,17 +54,16 @@ class PyCharm4py(PythonPackage):
#
# The patch to the Makefile adds SPACK_CHARM4PY_EXTRALIBS to the link
# arguments. This needs to be set in the environment to be effective.
- patch('py-charm4py.makefile.patch', when='@1.0')
+ patch("py-charm4py.makefile.patch", when="@1.0")
# This sets the SPACK_CHARM4PY_EXTRALIBS env var which the
# py-charm4py.makefile.patch adds to the build/link command for
# libcharm.so.
def setup_build_environment(self, env):
- env.set('SPACK_CHARM4PY_EXTRALIBS',
- self.spec['cuda'].libs.ld_flags)
+ env.set("SPACK_CHARM4PY_EXTRALIBS", self.spec["cuda"].libs.ld_flags)
def install_options(self, spec, prefix):
args = []
- if '+mpi' in spec:
- args.append('--mpi')
+ if "+mpi" in spec:
+ args.append("--mpi")
return args
diff --git a/var/spack/repos/builtin/packages/py-charset-normalizer/package.py b/var/spack/repos/builtin/packages/py-charset-normalizer/package.py
index ccbdd5ee12..a3ce0521c6 100644
--- a/var/spack/repos/builtin/packages/py-charset-normalizer/package.py
+++ b/var/spack/repos/builtin/packages/py-charset-normalizer/package.py
@@ -10,11 +10,11 @@ class PyCharsetNormalizer(PythonPackage):
"""The Real First Universal Charset Detector. Open, modern and actively
maintained alternative to Chardet."""
- homepage = 'https://github.com/ousret/charset_normalizer'
- pypi = 'charset-normalizer/charset-normalizer-2.0.7.tar.gz'
+ homepage = "https://github.com/ousret/charset_normalizer"
+ pypi = "charset-normalizer/charset-normalizer-2.0.7.tar.gz"
- version('2.0.12', sha256='2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597')
- version('2.0.7', sha256='e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0')
+ version("2.0.12", sha256="2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597")
+ version("2.0.7", sha256="e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-checkm-genome/package.py b/var/spack/repos/builtin/packages/py-checkm-genome/package.py
index 60c290aaa2..f544f92f2c 100644
--- a/var/spack/repos/builtin/packages/py-checkm-genome/package.py
+++ b/var/spack/repos/builtin/packages/py-checkm-genome/package.py
@@ -13,18 +13,18 @@ class PyCheckmGenome(PythonPackage):
homepage = "https://ecogenomics.github.io/CheckM"
pypi = "checkm-genome/checkm-genome-1.0.11.tar.gz"
- version('1.0.13', sha256='ffb7e4966c0fac07c7e6e7db6f6eb5b48587fa83987f8a68efbaff2afb7da82e')
- version('1.0.11', sha256='e475d9817d12fa771dbccc80f47758b742fc67c25261dc8ca0c0dc898c2a5190')
+ version("1.0.13", sha256="ffb7e4966c0fac07c7e6e7db6f6eb5b48587fa83987f8a68efbaff2afb7da82e")
+ version("1.0.11", sha256="e475d9817d12fa771dbccc80f47758b742fc67c25261dc8ca0c0dc898c2a5190")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('hmmer@3.1b1:', type=('build', 'run'))
- depends_on('pplacer', type=('build', 'run'))
- depends_on('prodigal@2.6.1:', type=('build', 'run'))
- depends_on('python@2.7.0:2.7', type=('build', 'run'))
- depends_on('py-backports-functools-lru-cache', type=('build', 'run'), when='^python@:3.2')
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
- depends_on('py-scipy@0.9.0:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3.1:2.2.3', type=('build', 'run'))
- depends_on('py-pysam@0.8.3:', type=('build', 'run'))
- depends_on('py-dendropy@4.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("hmmer@3.1b1:", type=("build", "run"))
+ depends_on("pplacer", type=("build", "run"))
+ depends_on("prodigal@2.6.1:", type=("build", "run"))
+ depends_on("python@2.7.0:2.7", type=("build", "run"))
+ depends_on("py-backports-functools-lru-cache", type=("build", "run"), when="^python@:3.2")
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-scipy@0.9.0:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3.1:2.2.3", type=("build", "run"))
+ depends_on("py-pysam@0.8.3:", type=("build", "run"))
+ depends_on("py-dendropy@4.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cheetah/package.py b/var/spack/repos/builtin/packages/py-cheetah/package.py
index 6d0572a834..6e2f71b457 100644
--- a/var/spack/repos/builtin/packages/py-cheetah/package.py
+++ b/var/spack/repos/builtin/packages/py-cheetah/package.py
@@ -11,9 +11,9 @@ class PyCheetah(PythonPackage):
pypi = "Cheetah/Cheetah-2.3.0.tar.gz"
- version('2.4.4', sha256='be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550')
- version('2.3.0', sha256='2a32d7f7f70be98c2d57aa581f979bc799d4bf17d09fc0e7d77280501edf3e53')
+ version("2.4.4", sha256="be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550")
+ version("2.3.0", sha256="2a32d7f7f70be98c2d57aa581f979bc799d4bf17d09fc0e7d77280501edf3e53")
- depends_on('python@2.0:2', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-markdown@2.0.1:', type=('build', 'run'))
+ depends_on("python@2.0:2", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-markdown@2.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cheetah3/package.py b/var/spack/repos/builtin/packages/py-cheetah3/package.py
index bf647aa831..b7abfb24de 100644
--- a/var/spack/repos/builtin/packages/py-cheetah3/package.py
+++ b/var/spack/repos/builtin/packages/py-cheetah3/package.py
@@ -11,7 +11,7 @@ class PyCheetah3(PythonPackage):
pypi = "Cheetah3/Cheetah3-3.2.6.tar.gz"
- version('3.2.6', sha256='f1c2b693cdcac2ded2823d363f8459ae785261e61c128d68464c8781dba0466b')
+ version("3.2.6", sha256="f1c2b693cdcac2ded2823d363f8459ae785261e61c128d68464c8781dba0466b")
- depends_on('py-setuptools', type='build')
- depends_on('py-markdown@2.0.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-markdown@2.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cheroot/package.py b/var/spack/repos/builtin/packages/py-cheroot/package.py
index ffb090eb0f..68a41ad6bc 100644
--- a/var/spack/repos/builtin/packages/py-cheroot/package.py
+++ b/var/spack/repos/builtin/packages/py-cheroot/package.py
@@ -8,20 +8,19 @@ from spack.package import *
class PyCheroot(PythonPackage):
- """ Highly-optimized, pure-python HTTP server """
+ """Highly-optimized, pure-python HTTP server"""
homepage = "https://cheroot.readthedocs.io/en/latest/"
pypi = "cheroot/cheroot-6.5.5.tar.gz"
- version('8.3.0', sha256='a0577e1f28661727d472671a7cc4e0c12ea0cbc5220265e70f00a8b8cb628931')
- version('6.5.5', sha256='f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601')
+ version("8.3.0", sha256="a0577e1f28661727d472671a7cc4e0c12ea0cbc5220265e70f00a8b8cb628931")
+ version("6.5.5", sha256="f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-setuptools-scm-git-archive@1.0:', type='build')
- depends_on('py-more-itertools@2.6:', type=('build', 'run'))
- depends_on('py-six@1.11.0:', type=('build', 'run'))
- depends_on('py-backports-functools-lru-cache', type=('build', 'run'),
- when='^python@:3.3')
- depends_on('py-jaraco-functools', when='@8.3.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("py-setuptools-scm-git-archive@1.0:", type="build")
+ depends_on("py-more-itertools@2.6:", type=("build", "run"))
+ depends_on("py-six@1.11.0:", type=("build", "run"))
+ depends_on("py-backports-functools-lru-cache", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-jaraco-functools", when="@8.3.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cherrypy/package.py b/var/spack/repos/builtin/packages/py-cherrypy/package.py
index 1dbd2e2368..3277a32d1f 100644
--- a/var/spack/repos/builtin/packages/py-cherrypy/package.py
+++ b/var/spack/repos/builtin/packages/py-cherrypy/package.py
@@ -12,12 +12,12 @@ class PyCherrypy(PythonPackage):
homepage = "https://cherrypy.readthedocs.io/en/latest/"
pypi = "CherryPy/CherryPy-18.1.1.tar.gz"
- version('18.1.1', sha256='6585c19b5e4faffa3613b5bf02c6a27dcc4c69a30d302aba819639a2af6fa48b')
+ version("18.1.1", sha256="6585c19b5e4faffa3613b5bf02c6a27dcc4c69a30d302aba819639a2af6fa48b")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-more-itertools', type=('build', 'run'))
- depends_on('py-zc-lockfile', type=('build', 'run'))
- depends_on('py-cheroot@6.2.4:', type=('build', 'run'))
- depends_on('py-portend@2.1.1:', type=('build', 'run'))
- depends_on('python@3.5:', when='@18.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-more-itertools", type=("build", "run"))
+ depends_on("py-zc-lockfile", type=("build", "run"))
+ depends_on("py-cheroot@6.2.4:", type=("build", "run"))
+ depends_on("py-portend@2.1.1:", type=("build", "run"))
+ depends_on("python@3.5:", when="@18.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-chronyk/package.py b/var/spack/repos/builtin/packages/py-chronyk/package.py
index 2ec3d3ff78..c13913159d 100644
--- a/var/spack/repos/builtin/packages/py-chronyk/package.py
+++ b/var/spack/repos/builtin/packages/py-chronyk/package.py
@@ -11,10 +11,10 @@ class PyChronyk(PythonPackage):
especially when it comes to interfacing with those pesky humans."""
homepage = "https://github.com/KoffeinFlummi/Chronyk/"
- url = "https://github.com/KoffeinFlummi/Chronyk/archive/v1.0.1.tar.gz"
+ url = "https://github.com/KoffeinFlummi/Chronyk/archive/v1.0.1.tar.gz"
- version('1.0.1', sha256='fc47773ab27d68b56f241ff112b72c2b6590558769b3f225994175ca75115bc8')
- version('0.9.1', sha256='94ebef9f8cf282136413b3963a958b2ab8aad3d552987b56afb3d517cd1e3e59')
+ version("1.0.1", sha256="fc47773ab27d68b56f241ff112b72c2b6590558769b3f225994175ca75115bc8")
+ version("0.9.1", sha256="94ebef9f8cf282136413b3963a958b2ab8aad3d552987b56afb3d517cd1e3e59")
- depends_on('py-setuptools', type='build')
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ci-info/package.py b/var/spack/repos/builtin/packages/py-ci-info/package.py
index 0a0e2ca8f5..38eb54be7c 100644
--- a/var/spack/repos/builtin/packages/py-ci-info/package.py
+++ b/var/spack/repos/builtin/packages/py-ci-info/package.py
@@ -14,9 +14,9 @@ class PyCiInfo(PythonPackage):
"""
homepage = "https://github.com/mgxd/ci-info"
- pypi = "ci-info/ci-info-0.2.0.tar.gz"
+ pypi = "ci-info/ci-info-0.2.0.tar.gz"
- version('0.2.0', sha256='dd70632c977feb8797b1e633507166b64ad5f57183cebb2b0ea56934abba4616')
+ version("0.2.0", sha256="dd70632c977feb8797b1e633507166b64ad5f57183cebb2b0ea56934abba4616")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ci-sdr/package.py b/var/spack/repos/builtin/packages/py-ci-sdr/package.py
index 91c236628a..d884052e9f 100644
--- a/var/spack/repos/builtin/packages/py-ci-sdr/package.py
+++ b/var/spack/repos/builtin/packages/py-ci-sdr/package.py
@@ -13,13 +13,13 @@ class PyCiSdr(PythonPackage):
training criteria for Multi-Channel Reverberant Speech Separation"""
homepage = "https://github.com/fgnt/ci_sdr"
- pypi = "ci_sdr/ci_sdr-0.0.0.tar.gz"
+ pypi = "ci_sdr/ci_sdr-0.0.0.tar.gz"
- version('0.0.0', sha256='a1387f39ccd55cce034e2c01000a0a337b3729d8a5010b42c5381d8c820fa4bb')
+ version("0.0.0", sha256="a1387f39ccd55cce034e2c01000a0a337b3729d8a5010b42c5381d8c820fa4bb")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-einops', type=('build', 'run'))
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-einops", type=("build", "run"))
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 50bf0b6e54..8f5df9a7ee 100644
--- a/var/spack/repos/builtin/packages/py-cinema-lib/package.py
+++ b/var/spack/repos/builtin/packages/py-cinema-lib/package.py
@@ -15,27 +15,29 @@ class PyCinemaLib(PythonPackage):
url = "https://github.com/cinemascience/cinema_lib/archive/1.2.1.tar.gz"
git = "https://github.com/cinemascience/cinema_lib.git"
- maintainers = ['EthanS94']
-
- version('master', branch='master')
- version('1.2.1', sha256='13c6c7b3df7dae3e05c2f44009b7c149841f604b7c51f36067bbcea9e2d088eb')
- version('1.2.0', sha256='f76b55517b7cfe7311d953426e08ce364b2e7e1cf84699828c229dd068ee3a08')
- version('1.1.1', sha256='90001554b0f3207d57da9fcab768732449d89a9d5bf54cfe0928a76649caebe8')
- version('1.1.0', sha256='2bd1787106643fd533e899a7e1b0f57f3933cde8c907e762f38ca95ac10316fd')
- version('1.0.2', sha256='3ebe52546e1325bd23732cd171146dbb2a9e0c25ac616224bf6f8fff9e8d48b1')
- version('1.0.1', sha256='5c2d220aa1dc28aec18f73c5cf0c4be3c834fffa0580e85b07050ff46364095d')
- version('1.0.0', sha256='9e2967fd22f1b1324ca2579df6501d0bfbc5fb142ca41c7a02f9b7d109767d3c')
- version('ECPMilestone201806', sha256='dfb7b1d0e3d8d1865814622879ddb019c2a16efb947201832a56a98186ff46ce')
-
- variant('image', default=True,
- description='Enable image-processing algorithms from scikit-image')
- variant('opencv', default=False,
- description='Enable computer vision algorithms from OpenCV')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.13:', when='+image', type=('build', 'run'))
- 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:+python3', when='+opencv', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ maintainers = ["EthanS94"]
+
+ version("master", branch="master")
+ version("1.2.1", sha256="13c6c7b3df7dae3e05c2f44009b7c149841f604b7c51f36067bbcea9e2d088eb")
+ version("1.2.0", sha256="f76b55517b7cfe7311d953426e08ce364b2e7e1cf84699828c229dd068ee3a08")
+ version("1.1.1", sha256="90001554b0f3207d57da9fcab768732449d89a9d5bf54cfe0928a76649caebe8")
+ version("1.1.0", sha256="2bd1787106643fd533e899a7e1b0f57f3933cde8c907e762f38ca95ac10316fd")
+ version("1.0.2", sha256="3ebe52546e1325bd23732cd171146dbb2a9e0c25ac616224bf6f8fff9e8d48b1")
+ version("1.0.1", sha256="5c2d220aa1dc28aec18f73c5cf0c4be3c834fffa0580e85b07050ff46364095d")
+ version("1.0.0", sha256="9e2967fd22f1b1324ca2579df6501d0bfbc5fb142ca41c7a02f9b7d109767d3c")
+ version(
+ "ECPMilestone201806",
+ sha256="dfb7b1d0e3d8d1865814622879ddb019c2a16efb947201832a56a98186ff46ce",
+ )
+
+ variant(
+ "image", default=True, description="Enable image-processing algorithms from scikit-image"
+ )
+ variant("opencv", default=False, description="Enable computer vision algorithms from OpenCV")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.13:", when="+image", type=("build", "run"))
+ 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:+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 d5cecc6018..b330fa0873 100644
--- a/var/spack/repos/builtin/packages/py-cinemasci/package.py
+++ b/var/spack/repos/builtin/packages/py-cinemasci/package.py
@@ -13,26 +13,26 @@ class PyCinemasci(PythonPackage):
homepage = "https://github.com/cinemascience"
pypi = "cinemasci/cinemasci-1.7.0.tar.gz"
- tags = ['e4s']
-
- maintainers = ['EthanS94']
-
- version('1.7.0', sha256='70e1fa494bcbefdbd9e8859cdf1b01163a94ecffcdfa3da1011e4ef2fcee6169')
- version('1.3', sha256='c024ca9791de9d78e5dad3fd11e8f87d8bc1afa5830f2697d7ec4116a5d23c20')
-
- 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', 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-matplotlib', type=('build', 'run'), when='@1.7.0:')
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'), when='@1.7.0:')
- depends_on('py-scikit-image', type=('build', 'run'), when='@1.7.0:')
- depends_on('py-scipy', type=('build', 'run'), when='@1.7.0:')
- depends_on('py-setuptools', type=('build'))
+ tags = ["e4s"]
+
+ maintainers = ["EthanS94"]
+
+ version("1.7.0", sha256="70e1fa494bcbefdbd9e8859cdf1b01163a94ecffcdfa3da1011e4ef2fcee6169")
+ version("1.3", sha256="c024ca9791de9d78e5dad3fd11e8f87d8bc1afa5830f2697d7ec4116a5d23c20")
+
+ 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", 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-matplotlib", type=("build", "run"), when="@1.7.0:")
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"), when="@1.7.0:")
+ depends_on("py-scikit-image", type=("build", "run"), when="@1.7.0:")
+ depends_on("py-scipy", type=("build", "run"), when="@1.7.0:")
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-citeproc-py/package.py b/var/spack/repos/builtin/packages/py-citeproc-py/package.py
index a3e9d774ba..570606e74a 100644
--- a/var/spack/repos/builtin/packages/py-citeproc-py/package.py
+++ b/var/spack/repos/builtin/packages/py-citeproc-py/package.py
@@ -10,11 +10,11 @@ class PyCiteprocPy(PythonPackage):
"""Citations and bibliography formatter."""
homepage = "https://github.com/brechtm/citeproc-py"
- pypi = "citeproc-py/citeproc-py-0.6.0.tar.gz"
+ pypi = "citeproc-py/citeproc-py-0.6.0.tar.gz"
- version('0.6.0', sha256='d9e3a224f936fe2e5033b5d9ffdacab769cedb61d96c4e0cf2f0b488f1d24b4e')
+ version("0.6.0", sha256="d9e3a224f936fe2e5033b5d9ffdacab769cedb61d96c4e0cf2f0b488f1d24b4e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-rnc2rng@2.6.1,2.6.3:', type='build')
- depends_on('py-lxml', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-rnc2rng@2.6.1,2.6.3:", type="build")
+ depends_on("py-lxml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-clean-text/package.py b/var/spack/repos/builtin/packages/py-clean-text/package.py
index 9d4b5513ed..e4abc34744 100644
--- a/var/spack/repos/builtin/packages/py-clean-text/package.py
+++ b/var/spack/repos/builtin/packages/py-clean-text/package.py
@@ -11,11 +11,11 @@ class PyCleanText(PythonPackage):
often dirty. Preprocess your scraped data with clean-text
to create a normalized text representation."""
- pypi = "clean-text/clean-text-0.5.0.tar.gz"
+ pypi = "clean-text/clean-text-0.5.0.tar.gz"
- version('0.5.0', sha256='e525951bef0c8b72e03c987fdac2c475b61d7debf7a8834366fd75716179b6e1')
+ version("0.5.0", sha256="e525951bef0c8b72e03c987fdac2c475b61d7debf7a8834366fd75716179b6e1")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-emoji', type=('build', 'run'))
- depends_on('py-ftfy@6.0:6.999', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-emoji", type=("build", "run"))
+ depends_on("py-ftfy@6.0:6.999", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cleo/package.py b/var/spack/repos/builtin/packages/py-cleo/package.py
index e9777b2a74..6ce9aaa2b0 100644
--- a/var/spack/repos/builtin/packages/py-cleo/package.py
+++ b/var/spack/repos/builtin/packages/py-cleo/package.py
@@ -10,10 +10,10 @@ class PyCleo(PythonPackage):
"""Cleo allows you to create beautiful and testable command-line interfaces."""
homepage = "https://github.com/sdispater/cleo"
- pypi = "cleo/cleo-0.8.1.tar.gz"
+ pypi = "cleo/cleo-0.8.1.tar.gz"
- version('0.8.1', sha256='3d0e22d30117851b45970b6c14aca4ab0b18b1b53c8af57bed13208147e4069f')
+ version("0.8.1", sha256="3d0e22d30117851b45970b6c14aca4ab0b18b1b53c8af57bed13208147e4069f")
- depends_on('python@2.7,3.4:3', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-clikit@0.6.0:0.6', type=('build', 'run'))
+ depends_on("python@2.7,3.4:3", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-clikit@0.6.0:0.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-click-didyoumean/package.py b/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
index a1d24ed77d..dfc5df41da 100644
--- a/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
+++ b/var/spack/repos/builtin/packages/py-click-didyoumean/package.py
@@ -11,8 +11,8 @@ class PyClickDidyoumean(PythonPackage):
homepage = "https://github.com/click-contrib/click-didyoumean"
pypi = "click-didyoumean/click-didyoumean-0.0.3.tar.gz"
- version('0.0.3', sha256='112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb')
+ version("0.0.3", sha256="112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb")
- depends_on('python@3.0:', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.0:", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-click-plugins/package.py b/var/spack/repos/builtin/packages/py-click-plugins/package.py
index 1d01dcd77e..93ac2d1518 100644
--- a/var/spack/repos/builtin/packages/py-click-plugins/package.py
+++ b/var/spack/repos/builtin/packages/py-click-plugins/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyClickPlugins(PythonPackage):
"""An extension module for py-click to register external CLI
- commands via setuptools entry-points."""
+ commands via setuptools entry-points."""
pypi = "click-plugins/click-plugins-1.0.4.tar.gz"
- version('1.1.1', sha256='46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b')
- version('1.0.4', sha256='dfed74b5063546a137de99baaaf742b4de4337ad2b3e1df5ec7c8a256adc0847')
+ version("1.1.1", sha256="46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b")
+ version("1.0.4", sha256="dfed74b5063546a137de99baaaf742b4de4337ad2b3e1df5ec7c8a256adc0847")
- depends_on('py-setuptools', type='build')
- depends_on('py-click@3.0:', type=('build', 'run'))
- depends_on('py-click@4.0:', type=('build', 'run'), when='@1.1.1:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click@3.0:", type=("build", "run"))
+ depends_on("py-click@4.0:", type=("build", "run"), when="@1.1.1:")
diff --git a/var/spack/repos/builtin/packages/py-click-repl/package.py b/var/spack/repos/builtin/packages/py-click-repl/package.py
index 732f85578b..2aa1415911 100644
--- a/var/spack/repos/builtin/packages/py-click-repl/package.py
+++ b/var/spack/repos/builtin/packages/py-click-repl/package.py
@@ -6,16 +6,16 @@ from spack.package import *
class PyClickRepl(PythonPackage):
- """Subcommand REPL for click apps """
+ """Subcommand REPL for click apps"""
homepage = "https://github.com/click-contrib/click-repl"
pypi = "click-repl/click-repl-0.1.6.tar.gz"
- version('0.2.0', sha256='b0cac32a625c24cd1414cc323e314a79278e2310e41596a6e27997e1c9f99e72')
- version('0.1.6', sha256='b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5')
+ version("0.2.0", sha256="b0cac32a625c24cd1414cc323e314a79278e2310e41596a6e27997e1c9f99e72")
+ version("0.1.6", sha256="b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5")
- depends_on('python@3.0:', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-prompt-toolkit', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.0:", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-prompt-toolkit", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-click/package.py b/var/spack/repos/builtin/packages/py-click/package.py
index d5275694fb..894584b500 100644
--- a/var/spack/repos/builtin/packages/py-click/package.py
+++ b/var/spack/repos/builtin/packages/py-click/package.py
@@ -12,16 +12,19 @@ class PyClick(PythonPackage):
homepage = "https://click.palletsprojects.com"
pypi = "click/click-7.1.2.tar.gz"
- version('8.0.3', sha256='410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b')
- version('8.0.1', sha256='8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a')
- version('7.1.2', sha256='d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a')
- version('7.0', sha256='5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7',
- url='https://pypi.io/packages/source/c/click/Click-7.0.tar.gz')
- version('6.6', sha256='cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9')
+ version("8.0.3", sha256="410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b")
+ version("8.0.1", sha256="8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a")
+ version("7.1.2", sha256="d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a")
+ version(
+ "7.0",
+ sha256="5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7",
+ url="https://pypi.io/packages/source/c/click/Click-7.0.tar.gz",
+ )
+ version("6.6", sha256="cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9")
- depends_on('python@3.6:', type=('build', 'run'), when='@8.0.0:')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"), when="@8.0.0:")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-importlib-metadata', type=('build', 'run'), when='@8.0.0: ^python@:3.7')
+ depends_on("py-importlib-metadata", type=("build", "run"), when="@8.0.0: ^python@:3.7")
# depends_on('py-colorama', type=('build', 'run'), when='platform=windows')
diff --git a/var/spack/repos/builtin/packages/py-cligj/package.py b/var/spack/repos/builtin/packages/py-cligj/package.py
index cc30ac85fd..7cdcf33935 100644
--- a/var/spack/repos/builtin/packages/py-cligj/package.py
+++ b/var/spack/repos/builtin/packages/py-cligj/package.py
@@ -11,10 +11,10 @@ class PyCligj(PythonPackage):
line programs"""
homepage = "https://github.com/mapbox/cligj"
- url = "https://github.com/mapbox/cligj/archive/0.5.0.zip"
+ url = "https://github.com/mapbox/cligj/archive/0.5.0.zip"
- version('0.5.0', sha256='ad158722a3f512f7eb33526479acf5cb53d9e59ca15cd494556440839783f106')
- version('0.4.0', sha256='5a5eb903ea66a8ccd41765dd276d9d08a6285f21dd99d41425ef80030d740351')
+ version("0.5.0", sha256="ad158722a3f512f7eb33526479acf5cb53d9e59ca15cd494556440839783f106")
+ version("0.4.0", sha256="5a5eb903ea66a8ccd41765dd276d9d08a6285f21dd99d41425ef80030d740351")
- depends_on('py-setuptools', type='build')
- depends_on('py-click', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-clikit/package.py b/var/spack/repos/builtin/packages/py-clikit/package.py
index 4b72db24ea..6ffcf49254 100644
--- a/var/spack/repos/builtin/packages/py-clikit/package.py
+++ b/var/spack/repos/builtin/packages/py-clikit/package.py
@@ -11,15 +11,15 @@ class PyClikit(PythonPackage):
command line interfaces."""
homepage = "https://github.com/sdispater/clikit"
- pypi = "clikit/clikit-0.6.2.tar.gz"
+ pypi = "clikit/clikit-0.6.2.tar.gz"
- version('0.6.2', sha256='442ee5db9a14120635c5990bcdbfe7c03ada5898291f0c802f77be71569ded59')
+ version("0.6.2", sha256="442ee5db9a14120635c5990bcdbfe7c03ada5898291f0c802f77be71569ded59")
- depends_on('python@2.7,3.4:3', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-pastel@0.2.0:0.2', type=('build', 'run'))
- depends_on('py-pylev@1.3:1', type=('build', 'run'))
- depends_on('py-crashtest@0.3.0:0.3', when='^python@3.6:3', type=('build', 'run'))
- depends_on('py-typing@3.6:3', when='^python@2.7,3.4', type=('build', 'run'))
- depends_on('py-typing-extensions@3.6:3', when='^python@3.5.0:3.5.3', type=('build', 'run'))
- depends_on('py-enum34@1.1:1', when='^python@2.7', type=('build', 'run'))
+ depends_on("python@2.7,3.4:3", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-pastel@0.2.0:0.2", type=("build", "run"))
+ depends_on("py-pylev@1.3:1", type=("build", "run"))
+ depends_on("py-crashtest@0.3.0:0.3", when="^python@3.6:3", type=("build", "run"))
+ depends_on("py-typing@3.6:3", when="^python@2.7,3.4", type=("build", "run"))
+ depends_on("py-typing-extensions@3.6:3", when="^python@3.5.0:3.5.3", type=("build", "run"))
+ depends_on("py-enum34@1.1:1", when="^python@2.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-climate/package.py b/var/spack/repos/builtin/packages/py-climate/package.py
index 78d840e045..d8c37113ae 100644
--- a/var/spack/repos/builtin/packages/py-climate/package.py
+++ b/var/spack/repos/builtin/packages/py-climate/package.py
@@ -10,8 +10,12 @@ class PyClimate(PythonPackage):
"""Command line arguments parsing"""
homepage = "https://pypi.org/project/climate/"
- url = 'https://pypi.io/packages/py3/c/climate/climate-0.1.0-py3-none-any.whl'
+ url = "https://pypi.io/packages/py3/c/climate/climate-0.1.0-py3-none-any.whl"
- version('0.1.0', sha256='01026c764b34d8204b8f527a730ef667fa5827fca765993ff1ed3e9dab2c11ae', expand=False)
+ version(
+ "0.1.0",
+ sha256="01026c764b34d8204b8f527a730ef667fa5827fca765993ff1ed3e9dab2c11ae",
+ expand=False,
+ )
- depends_on('python@3.7:3', type=('build', 'run'))
+ depends_on("python@3.7:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-clint/package.py b/var/spack/repos/builtin/packages/py-clint/package.py
index 7bd210fbfc..cc92ea9ef0 100644
--- a/var/spack/repos/builtin/packages/py-clint/package.py
+++ b/var/spack/repos/builtin/packages/py-clint/package.py
@@ -12,7 +12,7 @@ class PyClint(PythonPackage):
homepage = "https://github.com/kennethreitz-archive/clint"
pypi = "clint/clint-0.5.1.tar.gz"
- version('0.5.1', sha256='05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa')
+ version("0.5.1", sha256="05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa")
- depends_on('py-setuptools', type='build')
- depends_on('py-args', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-args", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-clipboard/package.py b/var/spack/repos/builtin/packages/py-clipboard/package.py
index 8c1fe5675a..90d29b8797 100644
--- a/var/spack/repos/builtin/packages/py-clipboard/package.py
+++ b/var/spack/repos/builtin/packages/py-clipboard/package.py
@@ -12,7 +12,7 @@ class PyClipboard(PythonPackage):
homepage = "https://github.com/terryyin/clipboard"
pypi = "clipboard/clipboard-0.0.4.tar.gz"
- version('0.0.4', sha256='a72a78e9c9bf68da1c3f29ee022417d13ec9e3824b511559fd2b702b1dd5b817')
+ version("0.0.4", sha256="a72a78e9c9bf68da1c3f29ee022417d13ec9e3824b511559fd2b702b1dd5b817")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyperclip@1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyperclip@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cloudpickle/package.py b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
index fb3744f1ff..490a532d66 100644
--- a/var/spack/repos/builtin/packages/py-cloudpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-cloudpickle/package.py
@@ -12,10 +12,10 @@ class PyCloudpickle(PythonPackage):
homepage = "https://github.com/cloudpipe/cloudpickle"
pypi = "cloudpickle/cloudpickle-0.5.2.tar.gz"
- version('1.6.0', sha256='9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32')
- version('1.2.1', sha256='603244e0f552b72a267d47a7d9b347b27a3430f58a0536037a290e7e0e212ecf')
- version('1.1.1', sha256='7d43c4d0c7e9735ee8a352c96f84031dabd6676170c4e5e0585a469cc4769f22')
- version('0.5.2', sha256='b0e63dd89ed5285171a570186751bc9b84493675e99e12789e9a5dc5490ef554')
+ version("1.6.0", sha256="9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32")
+ version("1.2.1", sha256="603244e0f552b72a267d47a7d9b347b27a3430f58a0536037a290e7e0e212ecf")
+ version("1.1.1", sha256="7d43c4d0c7e9735ee8a352c96f84031dabd6676170c4e5e0585a469cc4769f22")
+ version("0.5.2", sha256="b0e63dd89ed5285171a570186751bc9b84493675e99e12789e9a5dc5490ef554")
- depends_on('python@3.5:', type=('build', 'run'), when='@1.6.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"), when="@1.6.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-clustershell/package.py b/var/spack/repos/builtin/packages/py-clustershell/package.py
index 42ff5df0c1..2a4fd640a5 100644
--- a/var/spack/repos/builtin/packages/py-clustershell/package.py
+++ b/var/spack/repos/builtin/packages/py-clustershell/package.py
@@ -12,9 +12,9 @@ class PyClustershell(PythonPackage):
"""
homepage = "https://cea-hpc.github.io/clustershell/"
- url = "https://github.com/cea-hpc/clustershell/archive/v1.8.tar.gz"
+ url = "https://github.com/cea-hpc/clustershell/archive/v1.8.tar.gz"
- version('1.8', sha256='ad5a13e2d107b4095229810c35365e22ea94dfd2baf4fdcfcc68ce58ee37cee3')
+ version("1.8", sha256="ad5a13e2d107b4095229810c35365e22ea94dfd2baf4fdcfcc68ce58ee37cee3")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml")
diff --git a/var/spack/repos/builtin/packages/py-cmake-format/package.py b/var/spack/repos/builtin/packages/py-cmake-format/package.py
index 3294138c07..ce969502ab 100644
--- a/var/spack/repos/builtin/packages/py-cmake-format/package.py
+++ b/var/spack/repos/builtin/packages/py-cmake-format/package.py
@@ -13,8 +13,8 @@ class PyCmakeFormat(PythonPackage):
pypi = "cmake_format/cmake_format-0.6.9.tar.gz"
- version('0.6.10', sha256='82f0ef16236225cb43f45bfb6983ef7f6f72634727a1a6c26290402527bdd793')
- version('0.6.9', sha256='b2f8bf2e9c6651126f2f2954b7803222b0faf6b8649eabc4d965ea97483a4d20')
+ version("0.6.10", sha256="82f0ef16236225cb43f45bfb6983ef7f6f72634727a1a6c26290402527bdd793")
+ version("0.6.9", sha256="b2f8bf2e9c6651126f2f2954b7803222b0faf6b8649eabc4d965ea97483a4d20")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six@1.13.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.13.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py
index 1c2b3491c1..eed4f4f4c7 100644
--- a/var/spack/repos/builtin/packages/py-cmake/package.py
+++ b/var/spack/repos/builtin/packages/py-cmake/package.py
@@ -15,29 +15,30 @@ class PyCmake(PythonPackage):
git = "https://github.com/scikit-build/cmake-python-distributions.git"
pypi = "cmake/cmake-3.22.2.tar.gz"
- version('3.22.2', sha256='b5bd5eeb488b13cf64ec963800f3d979eaeb90b4382861b86909df503379e219')
- version('3.21.4', sha256='30fa5ed8a5ad66dcd263adb87f3ce3dc2d0ec0ac3958f5becff577e4b62cd065')
- version('3.18.0', sha256='52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b')
-
- depends_on('ninja', type='build')
- depends_on('py-scikit-build@0.12:', type='build')
- depends_on('py-setuptools@42:', type='build')
- depends_on('git', type='build')
- depends_on('cmake@3.22.2', type=('build', 'link', 'run'), when='@3.22.2')
- depends_on('cmake@3.21.4', type=('build', 'link', 'run'), when='@3.21.4')
- depends_on('cmake@3.18.0', type=('build', 'link', 'run'), when='@3.18.0')
+ version("3.22.2", sha256="b5bd5eeb488b13cf64ec963800f3d979eaeb90b4382861b86909df503379e219")
+ version("3.21.4", sha256="30fa5ed8a5ad66dcd263adb87f3ce3dc2d0ec0ac3958f5becff577e4b62cd065")
+ version("3.18.0", sha256="52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b")
+
+ depends_on("ninja", type="build")
+ depends_on("py-scikit-build@0.12:", type="build")
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("git", type="build")
+ depends_on("cmake@3.22.2", type=("build", "link", "run"), when="@3.22.2")
+ depends_on("cmake@3.21.4", type=("build", "link", "run"), when="@3.21.4")
+ depends_on("cmake@3.18.0", type=("build", "link", "run"), when="@3.18.0")
# see:
# https://github.com/scikit-build/cmake-python-distributions/issues/227
# https://github.com/spack/spack/pull/28760#issuecomment-1029362288
- for v in ['3.22.2', '3.21.4', '3.18.0']:
- resource(name='cmake-src',
- git='https://gitlab.kitware.com/cmake/cmake.git',
- commit='v{0}'.format(v), when='@{0}'.format(v),
- destination='cmake-src', placement='cmake-src')
+ for v in ["3.22.2", "3.21.4", "3.18.0"]:
+ resource(
+ name="cmake-src",
+ git="https://gitlab.kitware.com/cmake/cmake.git",
+ commit="v{0}".format(v),
+ when="@{0}".format(v),
+ destination="cmake-src",
+ placement="cmake-src",
+ )
def install_options(self, spec, prefix):
- return [
- '-DBUILD_CMAKE_FROM_SOURCE=ON',
- '-DCMakeProject_SOURCE_DIR=cmake-src'
- ]
+ return ["-DBUILD_CMAKE_FROM_SOURCE=ON", "-DCMakeProject_SOURCE_DIR=cmake-src"]
diff --git a/var/spack/repos/builtin/packages/py-cmocean/package.py b/var/spack/repos/builtin/packages/py-cmocean/package.py
index bdcd91deb4..543b1369fa 100644
--- a/var/spack/repos/builtin/packages/py-cmocean/package.py
+++ b/var/spack/repos/builtin/packages/py-cmocean/package.py
@@ -13,8 +13,8 @@ class PyCmocean(PythonPackage):
homepage = "https://matplotlib.org/cmocean/"
pypi = "cmocean/cmocean-2.0.tar.gz"
- version('2.0', sha256='13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a')
+ version("2.0", sha256="13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a")
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cmseq/package.py b/var/spack/repos/builtin/packages/py-cmseq/package.py
index c1490969d6..6c929786dd 100644
--- a/var/spack/repos/builtin/packages/py-cmseq/package.py
+++ b/var/spack/repos/builtin/packages/py-cmseq/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class PyCmseq(PythonPackage):
"""CMSeq is a set of commands to provide an interface
- to .bam files for coverage and sequence consensus."""
+ to .bam files for coverage and sequence consensus."""
homepage = "https://github.com/SegataLab/cmseq"
- pypi = "CMSeq/CMSeq-1.0.4.tar.gz"
+ pypi = "CMSeq/CMSeq-1.0.4.tar.gz"
- version('1.0.4', sha256='93038a6dba826e29a66df3ec8ab2b3e3872acac7af9df245e4a5a624584aca5c')
+ version("1.0.4", sha256="93038a6dba826e29a66df3ec8ab2b3e3872acac7af9df245e4a5a624584aca5c")
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-bcbio-gff', type=('build', 'run'))
- depends_on('samtools@1.2:', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-biopython@:1.76', type=('build', 'run'))
- depends_on('py-setuptools@:57', type=('build'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-bcbio-gff", type=("build", "run"))
+ depends_on("samtools@1.2:", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-biopython@:1.76", type=("build", "run"))
+ depends_on("py-setuptools@:57", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-cmsml/package.py b/var/spack/repos/builtin/packages/py-cmsml/package.py
index 7012171fdc..6f955e9243 100644
--- a/var/spack/repos/builtin/packages/py-cmsml/package.py
+++ b/var/spack/repos/builtin/packages/py-cmsml/package.py
@@ -10,10 +10,10 @@ class PyCmsml(PythonPackage):
"""Python package of the CMS Machine Learning Group."""
homepage = "https://github.com/cms-ml/cmsml"
- pypi = "cmsml/cmsml-0.1.2.tar.gz"
+ pypi = "cmsml/cmsml-0.1.2.tar.gz"
- version('0.1.2', sha256='2e2e114323441757a64e1c24179fc6295e7bd14920b7a9c3c37128eb40ad9ceb')
+ version("0.1.2", sha256="2e2e114323441757a64e1c24179fc6295e7bd14920b7a9c3c37128eb40ad9ceb")
- depends_on('python@2.7:2.7,3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.13:', type=('build', 'run'))
+ depends_on("python@2.7:2.7,3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.13:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cnvkit/package.py b/var/spack/repos/builtin/packages/py-cnvkit/package.py
index 1e172b20fb..cbec8a2a00 100644
--- a/var/spack/repos/builtin/packages/py-cnvkit/package.py
+++ b/var/spack/repos/builtin/packages/py-cnvkit/package.py
@@ -12,17 +12,17 @@ class PyCnvkit(PythonPackage):
homepage = "https://github.com/etal/cnvkit"
pypi = "CNVkit/CNVkit-0.9.6.tar.gz"
- version('0.9.6', sha256='be889c98a5cf0a994330b8c31c0a65151fb0095fe4e75a1e04118da2516248c2')
+ version("0.9.6", sha256="be889c98a5cf0a994330b8c31c0a65151fb0095fe4e75a1e04118da2516248c2")
- depends_on('py-setuptools', type='build')
- depends_on('py-futures@3.0:', type=('build', 'run'), when='^python@:2.7')
- depends_on('py-biopython@1.62:', type=('build', 'run'))
- depends_on('py-future@0.15.2:', type=('build', 'run'))
- depends_on('py-pomegranate@0.9.0:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-pandas@0.20.1:0.24', type=('build', 'run'))
- depends_on('py-pyfaidx@0.4.7:', type=('build', 'run'))
- depends_on('py-pysam@0.10.0:', type=('build', 'run'))
- depends_on('py-reportlab@3.0:', type=('build', 'run'))
- depends_on('py-scipy@0.15.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-futures@3.0:", type=("build", "run"), when="^python@:2.7")
+ depends_on("py-biopython@1.62:", type=("build", "run"))
+ depends_on("py-future@0.15.2:", type=("build", "run"))
+ depends_on("py-pomegranate@0.9.0:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3.1:", type=("build", "run"))
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-pandas@0.20.1:0.24", type=("build", "run"))
+ depends_on("py-pyfaidx@0.4.7:", type=("build", "run"))
+ depends_on("py-pysam@0.10.0:", type=("build", "run"))
+ depends_on("py-reportlab@3.0:", type=("build", "run"))
+ depends_on("py-scipy@0.15.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-coapthon3/package.py b/var/spack/repos/builtin/packages/py-coapthon3/package.py
index fe4421c9b1..a1a5ea62b0 100644
--- a/var/spack/repos/builtin/packages/py-coapthon3/package.py
+++ b/var/spack/repos/builtin/packages/py-coapthon3/package.py
@@ -12,12 +12,12 @@ class PyCoapthon3(PythonPackage):
with the RFC. Branch is available for the Twisted framework."""
homepage = "https://github.com/Tanganelli/CoAPthon3/"
- url = "https://github.com/Tanganelli/CoAPthon3/archive/1.0.1.tar.gz"
+ url = "https://github.com/Tanganelli/CoAPthon3/archive/1.0.1.tar.gz"
- version('1.0.1', sha256='331150a581708d47b208cee3b067ced80a00f0cc1278e913ec546e6c6b28bffd')
- version('1.0', sha256='63eb083269c2a286aedd206d3df17ab67fa978dc43caf34eaab9498da15c497a')
+ version("1.0.1", sha256="331150a581708d47b208cee3b067ced80a00f0cc1278e913ec546e6c6b28bffd")
+ version("1.0", sha256="63eb083269c2a286aedd206d3df17ab67fa978dc43caf34eaab9498da15c497a")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', type=('build', 'run'))
- depends_on('py-cachetools', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", type=("build", "run"))
+ depends_on("py-cachetools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-codecov/package.py b/var/spack/repos/builtin/packages/py-codecov/package.py
index 0669daeaee..6843b8afe2 100644
--- a/var/spack/repos/builtin/packages/py-codecov/package.py
+++ b/var/spack/repos/builtin/packages/py-codecov/package.py
@@ -12,9 +12,9 @@ class PyCodecov(PythonPackage):
homepage = "https://github.com/codecov/codecov-python"
pypi = "codecov/codecov-2.0.15.tar.gz"
- version('2.0.15', sha256='8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788')
+ version("2.0.15", sha256="8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-requests@2.7.9:', type=('build', 'run'))
- depends_on('py-coverage', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-requests@2.7.9:", type=("build", "run"))
+ depends_on("py-coverage", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-codepy/package.py b/var/spack/repos/builtin/packages/py-codepy/package.py
index 4f5ba19a3b..719dd9ccaf 100644
--- a/var/spack/repos/builtin/packages/py-codepy/package.py
+++ b/var/spack/repos/builtin/packages/py-codepy/package.py
@@ -15,13 +15,13 @@ class PyCodepy(PythonPackage):
"""
homepage = "https://documen.tician.de/codepy/"
- pypi = "codepy/codepy-2019.1.tar.gz"
+ pypi = "codepy/codepy-2019.1.tar.gz"
- version('2019.1', sha256='384f22c37fe987c0ca71951690c3c2fd14dacdeddbeb0fde4fd01cd84859c94e')
+ version("2019.1", sha256="384f22c37fe987c0ca71951690c3c2fd14dacdeddbeb0fde4fd01cd84859c94e")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytools@2015.1.2:', type=('build', 'run'))
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-cgen', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytools@2015.1.2:", type=("build", "run"))
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-appdirs@1.4.0:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-cgen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cogent/package.py b/var/spack/repos/builtin/packages/py-cogent/package.py
index b5dfc967e0..cbab8cd399 100644
--- a/var/spack/repos/builtin/packages/py-cogent/package.py
+++ b/var/spack/repos/builtin/packages/py-cogent/package.py
@@ -12,23 +12,26 @@ class PyCogent(PythonPackage):
homepage = "https://github.com/Magdoll/Cogent/wiki/Installing-Cogent"
pypi = "cogent/cogent-1.9.tar.gz"
- version('1.9', sha256='57d8c58e0273ffe4f2b907874f9b49dadfd0600f5507b7666369f4e44d56ce14')
- version('1.5.3', url="https://pypi.io/packages/source/c/cogent/cogent-1.5.3.tgz",
- sha256='1215ac219070b7b2207b0b47b4388510f3e30ccd88160aa9f02f25d24bcbcd95')
-
- variant('matplotlib', default=False, description="graphs related to codon usage")
- variant('mpi', default=False, description='MPI required for parallel computation.')
- variant('mysql', default=False, description='Required for the Ensembl querying code.')
-
- depends_on('py-setuptools', type=('build'), when='@1.9')
- depends_on('python@2.6:2', type=('build', 'run'))
- depends_on('py-numpy@1.3:', type=('build', 'run'))
- depends_on('zlib')
- depends_on('py-matplotlib', when='+matplotlib', type=('build', 'run'))
- depends_on('py-mpi4py', when='+mpi', type=('build', 'run'))
- depends_on('py-sqlalchemy', when='+mysql', type=('build', 'run'))
- depends_on('py-pymysql', when='+mysql', type=('build', 'run'))
- depends_on('py-cython@0.17.1:', type='build')
+ version("1.9", sha256="57d8c58e0273ffe4f2b907874f9b49dadfd0600f5507b7666369f4e44d56ce14")
+ version(
+ "1.5.3",
+ url="https://pypi.io/packages/source/c/cogent/cogent-1.5.3.tgz",
+ sha256="1215ac219070b7b2207b0b47b4388510f3e30ccd88160aa9f02f25d24bcbcd95",
+ )
+
+ variant("matplotlib", default=False, description="graphs related to codon usage")
+ variant("mpi", default=False, description="MPI required for parallel computation.")
+ variant("mysql", default=False, description="Required for the Ensembl querying code.")
+
+ depends_on("py-setuptools", type=("build"), when="@1.9")
+ depends_on("python@2.6:2", type=("build", "run"))
+ depends_on("py-numpy@1.3:", type=("build", "run"))
+ depends_on("zlib")
+ depends_on("py-matplotlib", when="+matplotlib", type=("build", "run"))
+ depends_on("py-mpi4py", when="+mpi", type=("build", "run"))
+ depends_on("py-sqlalchemy", when="+mysql", type=("build", "run"))
+ depends_on("py-pymysql", when="+mysql", type=("build", "run"))
+ depends_on("py-cython@0.17.1:", type="build")
def setup_build_environment(self, env):
- env.set('DONT_USE_PYREX', '1')
+ env.set("DONT_USE_PYREX", "1")
diff --git a/var/spack/repos/builtin/packages/py-coilmq/package.py b/var/spack/repos/builtin/packages/py-coilmq/package.py
index 1a0126388b..3af792a843 100644
--- a/var/spack/repos/builtin/packages/py-coilmq/package.py
+++ b/var/spack/repos/builtin/packages/py-coilmq/package.py
@@ -10,18 +10,18 @@ class PyCoilmq(PythonPackage):
"""Lightweight Python STOMP message broker."""
homepage = "https://github.com/hozn/coilmq"
- url = "https://github.com/hozn/coilmq/archive/1.0.0.tar.gz"
+ url = "https://github.com/hozn/coilmq/archive/1.0.0.tar.gz"
- version('1.0.0', sha256='95d12de9b007fc679d4ad2eba0253aee8f6ecf42b79a94be6a2e0349f91086b0')
- version('0.6.1', sha256='402a5f88631a848926c442385248d7ae7bd05607bba8f20605e31fd49c3677f9')
- version('0.6.0', sha256='50d22fde72f058720bb48ad96bdd7c87594372d7917dd5d2cca40a9d195fde27')
- version('0.5.0', sha256='ffe2648e0a336ff61f729ad76090f8a16e681b3d3d6b14ba7ce3ef840de32cd9')
- version('0.4.4', sha256='2a0d494c73412e76075d2a72698948fb1d84c9c5719b134c364c07bcc6a3eacf')
- version('0.4.3', sha256='7a051f4fd2b76c8accf0b3f435267566910085c18483726e9eb56416e40703b7')
+ version("1.0.0", sha256="95d12de9b007fc679d4ad2eba0253aee8f6ecf42b79a94be6a2e0349f91086b0")
+ version("0.6.1", sha256="402a5f88631a848926c442385248d7ae7bd05607bba8f20605e31fd49c3677f9")
+ version("0.6.0", sha256="50d22fde72f058720bb48ad96bdd7c87594372d7917dd5d2cca40a9d195fde27")
+ version("0.5.0", sha256="ffe2648e0a336ff61f729ad76090f8a16e681b3d3d6b14ba7ce3ef840de32cd9")
+ version("0.4.4", sha256="2a0d494c73412e76075d2a72698948fb1d84c9c5719b134c364c07bcc6a3eacf")
+ version("0.4.3", sha256="7a051f4fd2b76c8accf0b3f435267566910085c18483726e9eb56416e40703b7")
- depends_on('py-setuptools', type='build')
- depends_on('py-python-daemon', type=('build', 'run'))
- depends_on('py-pid', type=('build', 'run'))
- depends_on('py-wheel', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-daemon", type=("build", "run"))
+ depends_on("py-pid", type=("build", "run"))
+ depends_on("py-wheel", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colorama/package.py b/var/spack/repos/builtin/packages/py-colorama/package.py
index b290461b45..beb207d80d 100644
--- a/var/spack/repos/builtin/packages/py-colorama/package.py
+++ b/var/spack/repos/builtin/packages/py-colorama/package.py
@@ -12,10 +12,10 @@ class PyColorama(PythonPackage):
homepage = "https://github.com/tartley/colorama"
pypi = "colorama/colorama-0.3.7.tar.gz"
- version('0.4.4', sha256='5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b')
- version('0.4.1', sha256='05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d')
- version('0.3.7', sha256='e043c8d32527607223652021ff648fbb394d5e19cba9f1a698670b338c9d782b')
+ version("0.4.4", sha256="5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b")
+ version("0.4.1", sha256="05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d")
+ version("0.3.7", sha256="e043c8d32527607223652021ff648fbb394d5e19cba9f1a698670b338c9d782b")
- depends_on('python@2.7:2.8,3.5:', when='@0.4.2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", when="@0.4.2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-colorclass/package.py b/var/spack/repos/builtin/packages/py-colorclass/package.py
index 637402e125..eb8228b213 100644
--- a/var/spack/repos/builtin/packages/py-colorclass/package.py
+++ b/var/spack/repos/builtin/packages/py-colorclass/package.py
@@ -10,10 +10,10 @@ class PyColorclass(PythonPackage):
"""Colorful worry-free console applications for Linux, Mac OS X, and Windows."""
homepage = "https://github.com/Robpol86/colorclass"
- pypi = "colorclass/colorclass-2.2.0.tar.gz"
+ pypi = "colorclass/colorclass-2.2.0.tar.gz"
- version('2.2.0', sha256='b05c2a348dfc1aff2d502527d78a5b7b7e2f85da94a96c5081210d8e9ee8e18b')
+ version("2.2.0", sha256="b05c2a348dfc1aff2d502527d78a5b7b7e2f85da94a96c5081210d8e9ee8e18b")
- depends_on('python@3.3.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-docopt', type=('build', 'run'))
+ depends_on("python@3.3.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docopt", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colored-traceback/package.py b/var/spack/repos/builtin/packages/py-colored-traceback/package.py
index 48b9048f64..7c81759241 100644
--- a/var/spack/repos/builtin/packages/py-colored-traceback/package.py
+++ b/var/spack/repos/builtin/packages/py-colored-traceback/package.py
@@ -11,9 +11,9 @@ class PyColoredTraceback(PythonPackage):
"""Automatically color Python's uncaught exception tracebacks."""
homepage = "https://github.com/staticshock/colored-traceback.py"
- pypi = "colored-traceback/colored-traceback-0.3.0.tar.gz"
+ pypi = "colored-traceback/colored-traceback-0.3.0.tar.gz"
- version('0.3.0', sha256='6da7ce2b1da869f6bb54c927b415b95727c4bb6d9a84c4615ea77d9872911b05')
+ version("0.3.0", sha256="6da7ce2b1da869f6bb54c927b415b95727c4bb6d9a84c4615ea77d9872911b05")
- depends_on('py-setuptools', type='build')
- depends_on('py-pygments', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pygments", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colored/package.py b/var/spack/repos/builtin/packages/py-colored/package.py
index 9aa87b95bd..8afe4ad05a 100644
--- a/var/spack/repos/builtin/packages/py-colored/package.py
+++ b/var/spack/repos/builtin/packages/py-colored/package.py
@@ -15,8 +15,8 @@ class PyColored(PythonPackage):
of the displayed color, Xterm Name, Xterm Number and HEX."""
homepage = "https://gitlab.com/dslackw/colored"
- pypi = "colored/colored-1.4.2.tar.gz"
+ pypi = "colored/colored-1.4.2.tar.gz"
- version('1.4.2', sha256='056fac09d9e39b34296e7618897ed1b8c274f98423770c2980d829fd670955ed')
+ version("1.4.2", sha256="056fac09d9e39b34296e7618897ed1b8c274f98423770c2980d829fd670955ed")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-coloredlogs/package.py b/var/spack/repos/builtin/packages/py-coloredlogs/package.py
index dee9cdb9d5..fb7299564f 100644
--- a/var/spack/repos/builtin/packages/py-coloredlogs/package.py
+++ b/var/spack/repos/builtin/packages/py-coloredlogs/package.py
@@ -11,8 +11,8 @@ class PyColoredlogs(PythonPackage):
pypi = "coloredlogs/coloredlogs-10.0.tar.gz"
- version('14.0', sha256='a1fab193d2053aa6c0a97608c4342d031f1f93a3d1218432c59322441d31a505')
- version('10.0', sha256='b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36')
+ version("14.0", sha256="a1fab193d2053aa6c0a97608c4342d031f1f93a3d1218432c59322441d31a505")
+ version("10.0", sha256="b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36")
- depends_on('py-setuptools', type='build')
- depends_on('py-humanfriendly@4.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-humanfriendly@4.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colorful/package.py b/var/spack/repos/builtin/packages/py-colorful/package.py
index 356bc10b09..e359d610af 100644
--- a/var/spack/repos/builtin/packages/py-colorful/package.py
+++ b/var/spack/repos/builtin/packages/py-colorful/package.py
@@ -13,7 +13,7 @@ class PyColorful(PythonPackage):
homepage = "https://github.com/timofurrer/colorful"
pypi = "colorful/colorful-0.5.4.tar.gz"
- version('0.5.4', sha256='86848ad4e2eda60cd2519d8698945d22f6f6551e23e95f3f14dfbb60997807ea')
+ version("0.5.4", sha256="86848ad4e2eda60cd2519d8698945d22f6f6551e23e95f3f14dfbb60997807ea")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-colorio/package.py b/var/spack/repos/builtin/packages/py-colorio/package.py
index ddc438a17c..40f3419e22 100644
--- a/var/spack/repos/builtin/packages/py-colorio/package.py
+++ b/var/spack/repos/builtin/packages/py-colorio/package.py
@@ -10,12 +10,12 @@ class PyColorio(PythonPackage):
"""Tools for color research"""
homepage = "https://github.com/nschloe/colorio"
- pypi = "colorio/colorio-0.11.2.tar.gz"
+ pypi = "colorio/colorio-0.11.2.tar.gz"
- version('0.11.2', sha256='aa45d8e0a2e506c4019d4fb488d34a107d7f803c8e8ff355e2e57c01f6f1cd81')
+ version("0.11.2", sha256="aa45d8e0a2e506c4019d4fb488d34a107d7f803c8e8ff355e2e57c01f6f1cd81")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-flit-core@3.2:3.6', type='build')
- depends_on('py-numpy@1.20:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-npx', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-flit-core@3.2:3.6", type="build")
+ depends_on("py-numpy@1.20:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-npx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colorlog/package.py b/var/spack/repos/builtin/packages/py-colorlog/package.py
index 0cbb7b30b6..66fdc7e948 100644
--- a/var/spack/repos/builtin/packages/py-colorlog/package.py
+++ b/var/spack/repos/builtin/packages/py-colorlog/package.py
@@ -12,7 +12,7 @@ class PyColorlog(PythonPackage):
homepage = "https://github.com/borntyping/python-colorlog"
pypi = "colorlog/colorlog-4.0.2.tar.gz"
- version('4.0.2', sha256='3cf31b25cbc8f86ec01fef582ef3b840950dea414084ed19ab922c8b493f9b42')
- version('3.1.4', sha256='418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d')
+ version("4.0.2", sha256="3cf31b25cbc8f86ec01fef582ef3b840950dea414084ed19ab922c8b493f9b42")
+ version("3.1.4", sha256="418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-colormath/package.py b/var/spack/repos/builtin/packages/py-colormath/package.py
index cd1baa6883..11d3ecd28a 100644
--- a/var/spack/repos/builtin/packages/py-colormath/package.py
+++ b/var/spack/repos/builtin/packages/py-colormath/package.py
@@ -11,10 +11,10 @@ class PyColormath(PythonPackage):
pypi = "colormath/colormath-2.1.1.tar.gz"
- version('3.0.0', sha256='3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217')
- version('2.1.1', sha256='003a2b2d9c1f43aa7d90addf1863fb2d822463c839b1166ae3092950792f9707')
+ version("3.0.0", sha256="3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217")
+ version("2.1.1", sha256="003a2b2d9c1f43aa7d90addf1863fb2d822463c839b1166ae3092950792f9707")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
- depends_on('py-networkx@2.0:', type=('build', 'run'), when='@3.0.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-networkx@2.0:", type=("build", "run"), when="@3.0.0:")
diff --git a/var/spack/repos/builtin/packages/py-colorpy/package.py b/var/spack/repos/builtin/packages/py-colorpy/package.py
index d94d8a5227..6bfcdc42c3 100644
--- a/var/spack/repos/builtin/packages/py-colorpy/package.py
+++ b/var/spack/repos/builtin/packages/py-colorpy/package.py
@@ -17,9 +17,9 @@ class PyColorpy(PythonPackage):
homepage = "http://markkness.net/colorpy/ColorPy.html"
pypi = "colorpy/colorpy-0.1.1.tar.gz"
- version('0.1.1', sha256='e400a7e879adc83c6098dde13cdd093723f3936778c245b1caf88f5f1411170d')
+ version("0.1.1", sha256="e400a7e879adc83c6098dde13cdd093723f3936778c245b1caf88f5f1411170d")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type='run')
- depends_on('py-matplotlib', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type="run")
+ depends_on("py-matplotlib", type="run")
diff --git a/var/spack/repos/builtin/packages/py-colorspacious/package.py b/var/spack/repos/builtin/packages/py-colorspacious/package.py
index 61fa859915..ce9cdcd396 100644
--- a/var/spack/repos/builtin/packages/py-colorspacious/package.py
+++ b/var/spack/repos/builtin/packages/py-colorspacious/package.py
@@ -14,7 +14,7 @@ class PyColorspacious(PythonPackage):
homepage = "https://github.com/njsmith/colorspacious"
pypi = "colorspacious/colorspacious-1.1.2.tar.gz"
- version('1.1.2', sha256='5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618')
+ version("1.1.2", sha256="5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-colossalai/package.py b/var/spack/repos/builtin/packages/py-colossalai/package.py
index 6134eb70e3..c5994213f5 100644
--- a/var/spack/repos/builtin/packages/py-colossalai/package.py
+++ b/var/spack/repos/builtin/packages/py-colossalai/package.py
@@ -11,18 +11,18 @@ class PyColossalai(PythonPackage):
parallelization techniques."""
homepage = "https://www.colossalai.org/"
- pypi = "colossalai/colossalai-0.1.3.tar.gz"
+ pypi = "colossalai/colossalai-0.1.3.tar.gz"
- version('0.1.3', sha256='f25ffd313e62b2cb8f97c57f25fafb0e9f59ec7bd1d1bf6e8d8483f9b0082d33')
+ version("0.1.3", sha256="f25ffd313e62b2cb8f97c57f25fafb0e9f59ec7bd1d1bf6e8d8483f9b0082d33")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch@1.8:', type=('build', 'run'))
- depends_on('py-torchvision@0.9:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-tensorboard', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pre-commit', type=('build', 'run'))
- depends_on('py-rich', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch@1.8:", type=("build", "run"))
+ depends_on("py-torchvision@0.9:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-tensorboard", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pre-commit", type=("build", "run"))
+ depends_on("py-rich", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-commonmark/package.py b/var/spack/repos/builtin/packages/py-commonmark/package.py
index 037138d12e..7b86fe6cf9 100644
--- a/var/spack/repos/builtin/packages/py-commonmark/package.py
+++ b/var/spack/repos/builtin/packages/py-commonmark/package.py
@@ -14,9 +14,9 @@ class PyCommonmark(PythonPackage):
homepage = "https://github.com/readthedocs/commonmark.py"
pypi = "commonmark/commonmark-0.9.0.tar.gz"
- version('0.9.1', sha256='452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60')
- version('0.9.0', sha256='867fc5db078ede373ab811e16b6789e9d033b15ccd7296f370ca52d1ee792ce0')
+ version("0.9.1", sha256="452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60")
+ version("0.9.0", sha256="867fc5db078ede373ab811e16b6789e9d033b15ccd7296f370ca52d1ee792ce0")
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type=('build', 'run'), when='@0.9.0')
- depends_on('py-future@0.14.0:', type=('build', 'run'), when='@0.9.1: ^python@:2.8')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type=("build", "run"), when="@0.9.0")
+ depends_on("py-future@0.14.0:", type=("build", "run"), when="@0.9.1: ^python@:2.8")
diff --git a/var/spack/repos/builtin/packages/py-configargparse/package.py b/var/spack/repos/builtin/packages/py-configargparse/package.py
index dd33c6aef0..a7901063c5 100644
--- a/var/spack/repos/builtin/packages/py-configargparse/package.py
+++ b/var/spack/repos/builtin/packages/py-configargparse/package.py
@@ -18,9 +18,9 @@ class PyConfigargparse(PythonPackage):
features."""
homepage = "https://github.com/bw2/ConfigArgParse"
- url = "https://github.com/bw2/ConfigArgParse/archive/1.2.3.tar.gz"
+ url = "https://github.com/bw2/ConfigArgParse/archive/1.2.3.tar.gz"
- version('1.2.3', sha256='0f1144a204e3b896d6ac900e151c1d13bde3103d6b7d541e3bb57514a94083bf')
+ version("1.2.3", sha256="0f1144a204e3b896d6ac900e151c1d13bde3103d6b7d541e3bb57514a94083bf")
- depends_on('python@2.2:2,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.2:2,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-configobj/package.py b/var/spack/repos/builtin/packages/py-configobj/package.py
index c4005e4603..4954c57202 100644
--- a/var/spack/repos/builtin/packages/py-configobj/package.py
+++ b/var/spack/repos/builtin/packages/py-configobj/package.py
@@ -7,16 +7,15 @@ from spack.package import *
class PyConfigobj(PythonPackage):
- """Config file reading, writing and validation.
- """
+ """Config file reading, writing and validation."""
homepage = "https://github.com/DiffSK/configobj"
pypi = "configobj/configobj-5.0.6.tar.gz"
- version('5.0.6', sha256='a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902')
- version('4.7.2', sha256='515ff923462592e8321df8b48c47e3428f8d406ee22b8de77bef969d1af11171')
+ version("5.0.6", sha256="a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902")
+ version("4.7.2", sha256="515ff923462592e8321df8b48c47e3428f8d406ee22b8de77bef969d1af11171")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-configparser/package.py b/var/spack/repos/builtin/packages/py-configparser/package.py
index 8021cacd05..b229b1f16f 100644
--- a/var/spack/repos/builtin/packages/py-configparser/package.py
+++ b/var/spack/repos/builtin/packages/py-configparser/package.py
@@ -13,13 +13,13 @@ class PyConfigparser(PythonPackage):
homepage = "https://docs.python.org/3/library/configparser.html"
pypi = "configparser/configparser-3.5.0.tar.gz"
- version('5.2.0', sha256='1b35798fdf1713f1c3139016cfcbc461f09edbf099d1fb658d4b7479fcaa3daa')
- version('3.5.1', sha256='f41e19cb29bebfccb1a78627b3f328ec198cc8f39510c7c55e7dfc0ab58c8c62')
- version('3.5.0', sha256='5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a')
+ version("5.2.0", sha256="1b35798fdf1713f1c3139016cfcbc461f09edbf099d1fb658d4b7479fcaa3daa")
+ version("3.5.1", sha256="f41e19cb29bebfccb1a78627b3f328ec198cc8f39510c7c55e7dfc0ab58c8c62")
+ version("3.5.0", sha256="5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a")
- depends_on('python@3.6:', type=('build', 'run'), when='@5.2.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@34.4:', type='build', when='@3.5.1:')
- depends_on('py-setuptools@56:', type='build', when='@5.2.0:')
- depends_on('py-setuptools-scm@3.4.1:+toml', type='build', when='@5.2.0:')
- depends_on('py-ordereddict', type=('build', 'run'), when='python@:2.6')
+ depends_on("python@3.6:", type=("build", "run"), when="@5.2.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@34.4:", type="build", when="@3.5.1:")
+ depends_on("py-setuptools@56:", type="build", when="@5.2.0:")
+ depends_on("py-setuptools-scm@3.4.1:+toml", type="build", when="@5.2.0:")
+ depends_on("py-ordereddict", type=("build", "run"), when="python@:2.6")
diff --git a/var/spack/repos/builtin/packages/py-configspace/package.py b/var/spack/repos/builtin/packages/py-configspace/package.py
index 9b2fa18d7e..b22bed5750 100644
--- a/var/spack/repos/builtin/packages/py-configspace/package.py
+++ b/var/spack/repos/builtin/packages/py-configspace/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class PyConfigspace(PythonPackage):
"""Creation and manipulation of parameter configuration spaces for
- automated algorithm configuration and hyperparameter tuning."""
+ automated algorithm configuration and hyperparameter tuning."""
- maintainers = ['Kerilk']
+ maintainers = ["Kerilk"]
homepage = "https://automl.github.io/ConfigSpace/master/"
- pypi = "ConfigSpace/ConfigSpace-0.4.20.tar.gz"
+ pypi = "ConfigSpace/ConfigSpace-0.4.20.tar.gz"
- version('0.4.20', sha256='2e4ca06f5a6a61e5322a73dd7545468c79f2a3e8385cab92fdada317af41d9e9')
+ version("0.4.20", sha256="2e4ca06f5a6a61e5322a73dd7545468c79f2a3e8385cab92fdada317af41d9e9")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython', type='build')
- depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython", type="build")
+ depends_on("py-pyparsing", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-connectionpool/package.py b/var/spack/repos/builtin/packages/py-connectionpool/package.py
index 5d5dd44b56..31c11c1bd1 100644
--- a/var/spack/repos/builtin/packages/py-connectionpool/package.py
+++ b/var/spack/repos/builtin/packages/py-connectionpool/package.py
@@ -10,10 +10,10 @@ class PyConnectionpool(PythonPackage):
"""Thread-safe connection pool for python."""
homepage = "https://github.com/zhouyl/ConnectionPool"
- pypi = "connection_pool/connection_pool-0.0.3.tar.gz"
- maintainers = ['marcusboden']
+ pypi = "connection_pool/connection_pool-0.0.3.tar.gz"
+ maintainers = ["marcusboden"]
- version('0.0.3', 'bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc')
+ version("0.0.3", "bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-constantly/package.py b/var/spack/repos/builtin/packages/py-constantly/package.py
index 86acb47830..f32662da1e 100644
--- a/var/spack/repos/builtin/packages/py-constantly/package.py
+++ b/var/spack/repos/builtin/packages/py-constantly/package.py
@@ -10,8 +10,8 @@ class PyConstantly(PythonPackage):
"""Symbolic constants in Python"""
homepage = "https://github.com/twisted/constantly"
- pypi = "constantly/constantly-15.1.0.tar.gz"
+ pypi = "constantly/constantly-15.1.0.tar.gz"
- version('15.1.0', sha256='586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35')
+ version("15.1.0", sha256="586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-contextily/package.py b/var/spack/repos/builtin/packages/py-contextily/package.py
index 2482834885..cde25816cc 100644
--- a/var/spack/repos/builtin/packages/py-contextily/package.py
+++ b/var/spack/repos/builtin/packages/py-contextily/package.py
@@ -12,16 +12,16 @@ class PyContextily(PythonPackage):
homepage = "https://github.com/darribas/contextily"
pypi = "contextily/contextily-1.0.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.0.1', sha256='f7dc25dbc8e01163be6cdeedb49a56da9cd0d586c838861f442ef2ee45eba9d4')
+ version("1.0.1", sha256="f7dc25dbc8e01163be6cdeedb49a56da9cd0d586c838861f442ef2ee45eba9d4")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-geopy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-mercantile', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-rasterio', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-geopy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-mercantile", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-rasterio", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-contextlib2/package.py b/var/spack/repos/builtin/packages/py-contextlib2/package.py
index 61bdceb960..1e8eae52c5 100644
--- a/var/spack/repos/builtin/packages/py-contextlib2/package.py
+++ b/var/spack/repos/builtin/packages/py-contextlib2/package.py
@@ -12,12 +12,12 @@ class PyContextlib2(PythonPackage):
earlier Python versions."""
homepage = "https://contextlib2.readthedocs.io/en/stable/"
- pypi = "contextlib2/contextlib2-21.6.0.tar.gz"
+ pypi = "contextlib2/contextlib2-21.6.0.tar.gz"
- version('21.6.0', sha256='ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869')
- version('0.6.0', sha256='7197aa736777caac513dbd800944c209a49765bf1979b12b037dce0277077ed3')
- version('0.5.5', sha256='509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48')
+ version("21.6.0", sha256="ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869")
+ version("0.6.0", sha256="7197aa736777caac513dbd800944c209a49765bf1979b12b037dce0277077ed3")
+ version("0.5.5", sha256="509f9419ee91cdd00ba34443217d5ca51f5a364a404e1dce9e8979cea969ca48")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@21.6.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@21.6.0:")
diff --git a/var/spack/repos/builtin/packages/py-contexttimer/package.py b/var/spack/repos/builtin/packages/py-contexttimer/package.py
index 24164747e0..ce1eda2336 100644
--- a/var/spack/repos/builtin/packages/py-contexttimer/package.py
+++ b/var/spack/repos/builtin/packages/py-contexttimer/package.py
@@ -14,8 +14,8 @@ class PyContexttimer(PythonPackage):
"""
homepage = "https://github.com/brouberol/contexttimer"
- pypi = "contexttimer/contexttimer-0.3.3.tar.gz"
+ pypi = "contexttimer/contexttimer-0.3.3.tar.gz"
- version('0.3.3', sha256='35a1efd389af3f1ca509f33ff23e17d98b66c8fde5ba2a4eb8a8b7fa456598a5')
+ version("0.3.3", sha256="35a1efd389af3f1ca509f33ff23e17d98b66c8fde5ba2a4eb8a8b7fa456598a5")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-contextvars/package.py b/var/spack/repos/builtin/packages/py-contextvars/package.py
index fe29b8e5e7..b624933ad0 100644
--- a/var/spack/repos/builtin/packages/py-contextvars/package.py
+++ b/var/spack/repos/builtin/packages/py-contextvars/package.py
@@ -14,7 +14,7 @@ class PyContextvars(PythonPackage):
homepage = "https://github.com/MagicStack/contextvars"
pypi = "contextvars/contextvars-2.4.tar.gz"
- version('2.4', sha256='f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e')
+ version("2.4", sha256="f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e")
- depends_on('py-setuptools', type='build')
- depends_on('py-immutables@0.9:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-immutables@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-control/package.py b/var/spack/repos/builtin/packages/py-control/package.py
index 30312ee0de..305be650da 100644
--- a/var/spack/repos/builtin/packages/py-control/package.py
+++ b/var/spack/repos/builtin/packages/py-control/package.py
@@ -11,13 +11,13 @@ class PyControl(PythonPackage):
basic operations for analysis and design of feedback control systems."""
homepage = "https://python-control.org/"
- pypi = "control/control-0.9.1.tar.gz"
+ pypi = "control/control-0.9.1.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('0.9.1', sha256='8c9084bf386eafcf5d74008f780fae6dec68d243d18a380c866ac10a3549f8d3')
+ version("0.9.1", sha256="8c9084bf386eafcf5d74008f780fae6dec68d243d18a380c866ac10a3549f8d3")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-convertdate/package.py b/var/spack/repos/builtin/packages/py-convertdate/package.py
index d2b22a61f4..922b75c632 100644
--- a/var/spack/repos/builtin/packages/py-convertdate/package.py
+++ b/var/spack/repos/builtin/packages/py-convertdate/package.py
@@ -14,8 +14,8 @@ class PyConvertdate(PythonPackage):
homepage = "https://github.com/fitnr/convertdate/"
pypi = "convertdate/convertdate-2.2.0.tar.gz"
- version('2.2.0', sha256='9d2b0cd8d5382d2458d4cfa59665abba398a9e9bfd3a01c6f61b7b47768d28bf')
+ version("2.2.0", sha256="9d2b0cd8d5382d2458d4cfa59665abba398a9e9bfd3a01c6f61b7b47768d28bf")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytz@2014.10:2019.13', type=('build', 'run'))
- depends_on('py-pymeeus@0.3.6:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytz@2014.10:2019.13", type=("build", "run"))
+ depends_on("py-pymeeus@0.3.6:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-convokit/package.py b/var/spack/repos/builtin/packages/py-convokit/package.py
index 719cc91b3f..4a99dab21d 100644
--- a/var/spack/repos/builtin/packages/py-convokit/package.py
+++ b/var/spack/repos/builtin/packages/py-convokit/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class PyConvokit(PythonPackage):
"""This toolkit contains tools to extract conversational features and
analyze social phenomena in conversations, using a single unified interface
- inspired by (and compatible with) scikit-learn. """
+ inspired by (and compatible with) scikit-learn."""
homepage = "https://convokit.cornell.edu/"
- pypi = "convokit/convokit-2.5.tar.gz"
+ pypi = "convokit/convokit-2.5.tar.gz"
- version('2.5', sha256='90de76c2a2df69eedeb20e0b89ff293a51180fb0152189f108c3331b7b7bb698')
+ version("2.5", sha256="90de76c2a2df69eedeb20e0b89ff293a51180fb0152189f108c3331b7b7bb698")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@3.0.0:', type=('build', 'run'))
- depends_on('py-pandas@0.23.4:', type=('build', 'run'))
- depends_on('py-msgpack-numpy@0.4.3.2:', type=('build', 'run'))
- depends_on('py-spacy@2.3.5:', type=('build', 'run'))
- depends_on('py-scipy@1.1.0:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.20.0:', type=('build', 'run'))
- depends_on('py-nltk@3.4:', type=('build', 'run'))
- depends_on('py-dill@0.2.9:', type=('build', 'run'))
- depends_on('py-joblib@0.13.2:', type=('build', 'run'))
- depends_on('py-clean-text@0.1.1:', type=('build', 'run'))
- depends_on('py-unidecode@1.1.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@3.0.0:", type=("build", "run"))
+ depends_on("py-pandas@0.23.4:", type=("build", "run"))
+ depends_on("py-msgpack-numpy@0.4.3.2:", type=("build", "run"))
+ depends_on("py-spacy@2.3.5:", type=("build", "run"))
+ depends_on("py-scipy@1.1.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.20.0:", type=("build", "run"))
+ depends_on("py-nltk@3.4:", type=("build", "run"))
+ depends_on("py-dill@0.2.9:", type=("build", "run"))
+ depends_on("py-joblib@0.13.2:", type=("build", "run"))
+ depends_on("py-clean-text@0.1.1:", type=("build", "run"))
+ depends_on("py-unidecode@1.1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cookiecutter/package.py b/var/spack/repos/builtin/packages/py-cookiecutter/package.py
index d47804c1c5..341323a360 100644
--- a/var/spack/repos/builtin/packages/py-cookiecutter/package.py
+++ b/var/spack/repos/builtin/packages/py-cookiecutter/package.py
@@ -12,16 +12,16 @@ class PyCookiecutter(PythonPackage):
projects."""
homepage = "https://cookiecutter.readthedocs.io/en/latest/"
- url = "https://github.com/audreyr/cookiecutter/archive/1.6.0.tar.gz"
+ url = "https://github.com/audreyr/cookiecutter/archive/1.6.0.tar.gz"
- version('1.6.0', sha256='0c9018699b556b83d7c37b27fe0cc17485b90b6e1f47365b3cdddf77f6ca9d36')
+ version("1.6.0", sha256="0c9018699b556b83d7c37b27fe0cc17485b90b6e1f47365b3cdddf77f6ca9d36")
- depends_on('py-setuptools', type='build')
- depends_on('py-future@0.15.2:', type=('build', 'run'))
- depends_on('py-binaryornot@0.2.0:', type=('build', 'run'))
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
- depends_on('py-click@5.0:', type=('build', 'run'))
- depends_on('py-whichcraft@0.4.0:', type=('build', 'run'))
- depends_on('py-poyo@0.1.0:', type=('build', 'run'))
- depends_on('py-jinja2-time@0.1.0:', type=('build', 'run'))
- depends_on('py-requests@2.18.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future@0.15.2:", type=("build", "run"))
+ depends_on("py-binaryornot@0.2.0:", type=("build", "run"))
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
+ depends_on("py-click@5.0:", type=("build", "run"))
+ depends_on("py-whichcraft@0.4.0:", type=("build", "run"))
+ depends_on("py-poyo@0.1.0:", type=("build", "run"))
+ depends_on("py-jinja2-time@0.1.0:", type=("build", "run"))
+ depends_on("py-requests@2.18.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cookies/package.py b/var/spack/repos/builtin/packages/py-cookies/package.py
index 2f6cc47c60..e21a624586 100644
--- a/var/spack/repos/builtin/packages/py-cookies/package.py
+++ b/var/spack/repos/builtin/packages/py-cookies/package.py
@@ -10,10 +10,10 @@ class PyCookies(PythonPackage):
"""Friendlier RFC 6265-compliant cookie parser/renderer"""
homepage = "https://github.com/sashahart/cookies"
- pypi = "cookies/cookies-2.2.1.tar.gz"
+ pypi = "cookies/cookies-2.2.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.2.1', sha256='d6b698788cae4cfa4e62ef8643a9ca332b79bd96cb314294b864ae8d7eb3ee8e')
+ version("2.2.1", sha256="d6b698788cae4cfa4e62ef8643a9ca332b79bd96cb314294b864ae8d7eb3ee8e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-copulas/package.py b/var/spack/repos/builtin/packages/py-copulas/package.py
index 389e458c35..b21be243f6 100644
--- a/var/spack/repos/builtin/packages/py-copulas/package.py
+++ b/var/spack/repos/builtin/packages/py-copulas/package.py
@@ -15,14 +15,14 @@ class PyCopulas(PythonPackage):
properties."""
homepage = "https://github.com/sdv-dev/Copulas"
- pypi = "copulas/copulas-0.6.0.tar.gz"
+ pypi = "copulas/copulas-0.6.0.tar.gz"
- version('0.6.0', sha256='9de6cc738769db19794fc18e2f506a4b5ee17e6902519c0842a4698c0efb6749')
+ version("0.6.0", sha256="9de6cc738769db19794fc18e2f506a4b5ee17e6902519c0842a4698c0efb6749")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@3.2:3', type=('build', 'run'))
- depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
- depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1', type=('build', 'run'))
- depends_on('py-scipy@1.5.4:1', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@3.2:3", type=("build", "run"))
+ depends_on("py-numpy@1.18:1.19", type=("build", "run"), when="^python@3.6")
+ depends_on("py-numpy@1.20:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1", type=("build", "run"))
+ depends_on("py-scipy@1.5.4:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-correctionlib/package.py b/var/spack/repos/builtin/packages/py-correctionlib/package.py
index d8f2232193..3e1600bb78 100644
--- a/var/spack/repos/builtin/packages/py-correctionlib/package.py
+++ b/var/spack/repos/builtin/packages/py-correctionlib/package.py
@@ -10,27 +10,30 @@ class PyCorrectionlib(PythonPackage):
"""A generic correction library"""
homepage = "https://github.com/cms-nanoAOD/correctionlib"
- pypi = "correctionlib/correctionlib-2.0.0.tar.gz"
+ pypi = "correctionlib/correctionlib-2.0.0.tar.gz"
- version('2.1.0', sha256='edf79644dc1d9d94f12b4b45366331e5da3f1e21d4cbcd3bb8b0d4b1421b0c44')
- version('2.0.0', sha256='e4d240cbdb2633a8955ddcd02d5b9bfb33d7e1a33554d6f7957f2dec56988a67')
+ version("2.1.0", sha256="edf79644dc1d9d94f12b4b45366331e5da3f1e21d4cbcd3bb8b0d4b1421b0c44")
+ version("2.0.0", sha256="e4d240cbdb2633a8955ddcd02d5b9bfb33d7e1a33554d6f7957f2dec56988a67")
- variant('convert', default=False,
- description='Includes select conversion routines for common types')
+ variant(
+ "convert",
+ default=False,
+ description="Includes select conversion routines for common types",
+ )
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
- depends_on('py-scikit-build', type='build')
- depends_on('py-cmake@3.11:', type='build')
- depends_on('py-make', type='build')
- depends_on('py-pybind11@2.6.1:', type='build')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-typing', type=('build', 'run'), when='^python@:3.4')
- depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-dataclasses', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-pydantic@1.7.3:', type=('build', 'run'))
- depends_on('py-rich', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'), when='+convert')
- depends_on('py-uproot@4.0.4:', type=('build', 'run'), when='+convert')
- depends_on('py-requests', type=('build', 'run'), when='+convert')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
+ depends_on("py-scikit-build", type="build")
+ depends_on("py-cmake@3.11:", type="build")
+ depends_on("py-make", type="build")
+ depends_on("py-pybind11@2.6.1:", type="build")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-typing", type=("build", "run"), when="^python@:3.4")
+ depends_on("py-typing-extensions", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-dataclasses", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-pydantic@1.7.3:", type=("build", "run"))
+ depends_on("py-rich", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"), when="+convert")
+ depends_on("py-uproot@4.0.4:", type=("build", "run"), when="+convert")
+ depends_on("py-requests", type=("build", "run"), when="+convert")
diff --git a/var/spack/repos/builtin/packages/py-counter/package.py b/var/spack/repos/builtin/packages/py-counter/package.py
index d3a54f6916..b2d87e5f59 100644
--- a/var/spack/repos/builtin/packages/py-counter/package.py
+++ b/var/spack/repos/builtin/packages/py-counter/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PyCounter(PythonPackage):
"""Counter package defines the "counter.Counter" class similar to
- bags or multisets in other languages."""
+ bags or multisets in other languages."""
homepage = "https://github.com/KelSolaar/Counter"
pypi = "Counter/Counter-1.0.0.tar.gz"
- version('1.0.0', sha256='9e008590e360936a66c98e1a01e7a9a0ecf6af19cc588107121f5fb4613bb60c')
+ version("1.0.0", sha256="9e008590e360936a66c98e1a01e7a9a0ecf6af19cc588107121f5fb4613bb60c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cov-core/package.py b/var/spack/repos/builtin/packages/py-cov-core/package.py
index cd46510049..d106b45a60 100644
--- a/var/spack/repos/builtin/packages/py-cov-core/package.py
+++ b/var/spack/repos/builtin/packages/py-cov-core/package.py
@@ -12,7 +12,7 @@ class PyCovCore(PythonPackage):
homepage = "https://github.com/schlamar/cov-core"
pypi = "cov-core/cov-core-1.15.0.tar.gz"
- version('1.15.0', sha256='4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c')
+ version("1.15.0", sha256="4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c")
- depends_on('py-setuptools', type='build')
- depends_on('py-coverage@3.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-coverage@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index 674a895d50..8839fd5778 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -7,27 +7,27 @@ from spack.package import *
class PyCoverage(PythonPackage):
- """ Testing coverage checker for python """
+ """Testing coverage checker for python"""
homepage = "https://github.com/nedbat/coveragepy"
pypi = "coverage/coverage-4.5.4.tar.gz"
- version('6.3.1', sha256='6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8')
- version('6.1.2', sha256='d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972')
- version('5.5', sha256='ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c')
- version('5.3', sha256='280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0')
- version('5.0.4', sha256='1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823')
- version('4.5.4', sha256='e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c')
- version('4.5.3', sha256='9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609')
- version('4.3.4', sha256='eaaefe0f6aa33de5a65f48dd0040d7fe08cac9ac6c35a56d0a7db109c3e733df')
- version('4.0a6', sha256='85c7f3efceb3724ab066a3fcccc05b9b89afcaefa5b669a7e2222d31eac4728d')
+ version("6.3.1", sha256="6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8")
+ version("6.1.2", sha256="d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972")
+ version("5.5", sha256="ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c")
+ version("5.3", sha256="280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0")
+ version("5.0.4", sha256="1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823")
+ version("4.5.4", sha256="e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c")
+ version("4.5.3", sha256="9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609")
+ version("4.3.4", sha256="eaaefe0f6aa33de5a65f48dd0040d7fe08cac9ac6c35a56d0a7db109c3e733df")
+ version("4.0a6", sha256="85c7f3efceb3724ab066a3fcccc05b9b89afcaefa5b669a7e2222d31eac4728d")
- variant('toml', default=False, description='Enable pyproject.toml support')
+ variant("toml", default=False, description="Enable pyproject.toml support")
- depends_on('python@3.7:', when='@6.3:', type=('build', 'run'))
- depends_on('python@3.6:', when='@6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@5:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-tomli', when='@6: +toml', type=('build', 'run'))
- depends_on('py-toml', when='@:5 +toml', type=('build', 'run'))
+ depends_on("python@3.7:", when="@6.3:", type=("build", "run"))
+ depends_on("python@3.6:", when="@6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@5:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-tomli", when="@6: +toml", type=("build", "run"))
+ depends_on("py-toml", when="@:5 +toml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-coveralls/package.py b/var/spack/repos/builtin/packages/py-coveralls/package.py
index 5ddbbca715..402fa488f8 100644
--- a/var/spack/repos/builtin/packages/py-coveralls/package.py
+++ b/var/spack/repos/builtin/packages/py-coveralls/package.py
@@ -10,17 +10,17 @@ class PyCoveralls(PythonPackage):
"""coveralls.io is a service for publishing your coverage stats online."""
homepage = "https://coveralls-python.readthedocs.io/en/latest/index.html"
- pypi = "coveralls/coveralls-3.0.1.tar.gz"
+ pypi = "coveralls/coveralls-3.0.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('3.0.1', sha256='cbb942ae5ef3d2b55388cb5b43e93a269544911535f1e750e1c656aef019ce60')
+ version("3.0.1", sha256="cbb942ae5ef3d2b55388cb5b43e93a269544911535f1e750e1c656aef019ce60")
- variant('pyyaml', default=False, description="Enable useage of pyyaml")
+ variant("pyyaml", default=False, description="Enable useage of pyyaml")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'), when='+pyyaml')
- depends_on('py-coverage@4.1:5', type=('build', 'run'))
- depends_on('py-docopt@0.6.1:', type=('build', 'run'))
- depends_on('py-pyyaml@1.0.0:', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"), when="+pyyaml")
+ depends_on("py-coverage@4.1:5", type=("build", "run"))
+ depends_on("py-docopt@0.6.1:", type=("build", "run"))
+ depends_on("py-pyyaml@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cppheaderparser/package.py b/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
index 59edc2afe4..d79f63d6e4 100644
--- a/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
+++ b/var/spack/repos/builtin/packages/py-cppheaderparser/package.py
@@ -12,7 +12,7 @@ class PyCppheaderparser(PythonPackage):
pypi = "CppHeaderParser/CppHeaderParser-2.7.4.tar.gz"
- version('2.7.4', sha256='382b30416d95b0a5e8502b214810dcac2a56432917e2651447d3abe253e3cc42')
+ version("2.7.4", sha256="382b30416d95b0a5e8502b214810dcac2a56432917e2651447d3abe253e3cc42")
- depends_on('py-setuptools', type='build')
- depends_on('py-ply', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ply", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cppy/package.py b/var/spack/repos/builtin/packages/py-cppy/package.py
index 5c28fd77eb..8d12bfde80 100644
--- a/var/spack/repos/builtin/packages/py-cppy/package.py
+++ b/var/spack/repos/builtin/packages/py-cppy/package.py
@@ -10,11 +10,11 @@ class PyCppy(PythonPackage):
"""C++ headers for C extension development"""
homepage = "https://github.com/nucleic/cppy"
- pypi = "cppy/cppy-1.1.0.tar.gz"
+ pypi = "cppy/cppy-1.1.0.tar.gz"
- maintainers = ['iarspider']
+ maintainers = ["iarspider"]
- version('1.1.0', sha256='4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642')
+ version("1.1.0", sha256="4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-crashtest/package.py b/var/spack/repos/builtin/packages/py-crashtest/package.py
index fc66e77577..8712dd7b6d 100644
--- a/var/spack/repos/builtin/packages/py-crashtest/package.py
+++ b/var/spack/repos/builtin/packages/py-crashtest/package.py
@@ -11,9 +11,9 @@ class PyCrashtest(PythonPackage):
and inspection easier."""
homepage = "https://github.com/sdispater/crashtest"
- pypi = "crashtest/crashtest-0.3.1.tar.gz"
+ pypi = "crashtest/crashtest-0.3.1.tar.gz"
- version('0.3.1', sha256='42ca7b6ce88b6c7433e2ce47ea884e91ec93104a4b754998be498a8e6c3d37dd')
+ version("0.3.1", sha256="42ca7b6ce88b6c7433e2ce47ea884e91ec93104a4b754998be498a8e6c3d37dd")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-crcmod/package.py b/var/spack/repos/builtin/packages/py-crcmod/package.py
index dff63ce4b8..183ebfcc5e 100644
--- a/var/spack/repos/builtin/packages/py-crcmod/package.py
+++ b/var/spack/repos/builtin/packages/py-crcmod/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyCrcmod(PythonPackage):
"""Python module for generating objects that
- compute the Cyclic Redundancy Check (CRC)"""
+ compute the Cyclic Redundancy Check (CRC)"""
homepage = "http://crcmod.sourceforge.net/"
pypi = "crcmod/crcmod-1.7.tar.gz"
- version('1.7', sha256='dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e')
- version('1.6', sha256='56d27d035ea029c6ed96779ca042c0136d39d106e3c30baa6422738c7d86aaa5')
+ version("1.7", sha256="dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e")
+ version("1.6", sha256="56d27d035ea029c6ed96779ca042c0136d39d106e3c30baa6422738c7d86aaa5")
- depends_on('python@2.4:2.7,3.1:', type=('build', 'run'))
- depends_on('py-setuptools@40.0.0:', type='build')
+ depends_on("python@2.4:2.7,3.1:", type=("build", "run"))
+ depends_on("py-setuptools@40.0.0:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-crispresso/package.py b/var/spack/repos/builtin/packages/py-crispresso/package.py
index ea72338561..c89a9a3f97 100644
--- a/var/spack/repos/builtin/packages/py-crispresso/package.py
+++ b/var/spack/repos/builtin/packages/py-crispresso/package.py
@@ -13,15 +13,15 @@ class PyCrispresso(PythonPackage):
homepage = "https://github.com/lucapinello/CRISPResso"
pypi = "CRISPResso/CRISPResso-1.0.8.tar.gz"
- version('1.0.8', sha256='b04ac8781ff8ed56d018c357e741f146b72ad7e0d23c9e5bc1e1bcd1a873ebc3')
+ version("1.0.8", sha256="b04ac8781ff8ed56d018c357e741f146b72ad7e0d23c9e5bc1e1bcd1a873ebc3")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7.0:2.7', type=('build', 'run'))
- depends_on('py-biopython@1.6.5:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-pandas@0.15:', type=('build', 'run'))
- depends_on('py-seaborn@0.7.1:', type=('build', 'run'))
- depends_on('emboss@6:', type=('build', 'run'))
- depends_on('flash', type=('build', 'run'))
- depends_on('java', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7.0:2.7", type=("build", "run"))
+ depends_on("py-biopython@1.6.5:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3.1:", type=("build", "run"))
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-pandas@0.15:", type=("build", "run"))
+ depends_on("py-seaborn@0.7.1:", type=("build", "run"))
+ depends_on("emboss@6:", type=("build", "run"))
+ depends_on("flash", type=("build", "run"))
+ depends_on("java", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-crossmap/package.py b/var/spack/repos/builtin/packages/py-crossmap/package.py
index a78b0fdf85..1570c53dc9 100644
--- a/var/spack/repos/builtin/packages/py-crossmap/package.py
+++ b/var/spack/repos/builtin/packages/py-crossmap/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class PyCrossmap(PythonPackage, SourceforgePackage):
"""CrossMap is a program for convenient conversion of genome coordinates
- (or annotation files) between different assemblies"""
+ (or annotation files) between different assemblies"""
homepage = "http://crossmap.sourceforge.net/"
sourceforge_mirror_path = "crossmap/CrossMap-0.3.3.tar.gz"
- version('0.3.9', sha256='e20a4653e9fc313ac0f5a6cfc37b42e83c3cf2b42f9483706cfb9ec9ff72c74c')
- version('0.3.3', sha256='56d99fd606e13e399b83438953d0d89fc281df1c1e8e47eed7d773e7ec9c88f8')
- version('0.2.9', sha256='57243ee5051352c93088874c797ceac0426f249704ba897360fb628b3365d0af')
+ version("0.3.9", sha256="e20a4653e9fc313ac0f5a6cfc37b42e83c3cf2b42f9483706cfb9ec9ff72c74c")
+ version("0.3.3", sha256="56d99fd606e13e399b83438953d0d89fc281df1c1e8e47eed7d773e7ec9c88f8")
+ version("0.2.9", sha256="57243ee5051352c93088874c797ceac0426f249704ba897360fb628b3365d0af")
- depends_on('python@3:', type=('build', 'run'), when='@0.3.0:')
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@:0.2.9')
+ depends_on("python@3:", type=("build", "run"), when="@0.3.0:")
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@:0.2.9")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.17:', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-bx-python', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.17:", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-bx-python", type=("build", "run"))
- depends_on('py-pybigwig', type=('build', 'run'), when='@0.3.0:')
+ depends_on("py-pybigwig", type=("build", "run"), when="@0.3.0:")
diff --git a/var/spack/repos/builtin/packages/py-cryolobm/package.py b/var/spack/repos/builtin/packages/py-cryolobm/package.py
index c9001a44cc..45e836957b 100644
--- a/var/spack/repos/builtin/packages/py-cryolobm/package.py
+++ b/var/spack/repos/builtin/packages/py-cryolobm/package.py
@@ -11,11 +11,11 @@ class PyCryolobm(PythonPackage):
as deep learning based particle picking procedure for cryo electro microscopy."""
homepage = "https://pypi.org/project/cryoloBM/#description"
- pypi = "cryoloBM/cryoloBM-1.3.7.tar.gz"
+ pypi = "cryoloBM/cryoloBM-1.3.7.tar.gz"
- version('1.3.7', sha256='e3505c95cddac3a344d1c6eddf1a9ff576a1384f9194b580287c76367912bedc')
+ version("1.3.7", sha256="e3505c95cddac3a344d1c6eddf1a9ff576a1384f9194b580287c76367912bedc")
- depends_on('python@3.4.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@2.2.3:', type=('build', 'run'))
- depends_on('py-numpy@1.14.5:', type=('build', 'run'))
+ depends_on("python@3.4.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@2.2.3:", type=("build", "run"))
+ depends_on("py-numpy@1.14.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cryptography/package.py b/var/spack/repos/builtin/packages/py-cryptography/package.py
index 0a9642942a..eb9e6e3ad6 100644
--- a/var/spack/repos/builtin/packages/py-cryptography/package.py
+++ b/var/spack/repos/builtin/packages/py-cryptography/package.py
@@ -8,51 +8,51 @@ from spack.package import *
class PyCryptography(PythonPackage):
"""cryptography is a package which provides cryptographic recipes
- and primitives to Python developers"""
+ and primitives to Python developers"""
homepage = "https://github.com/pyca/cryptography"
pypi = "cryptography/cryptography-1.8.1.tar.gz"
- version('36.0.1', sha256='53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638')
- version('35.0.0', sha256='9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d')
- version('3.4.8', sha256='94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c')
- version('3.4.7', sha256='3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713')
- version('3.2.1', sha256='d3d5e10be0cf2a12214ddee45c6bd203dab435e3d83b4560c03066eda600bfe3')
- version('2.7', sha256='e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6')
- version('2.3.1', sha256='8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6')
- version('1.8.1', sha256='323524312bb467565ebca7e50c8ae5e9674e544951d28a2904a50012a8828190')
-
- variant('idna', default=False, when='@2.5:3.0', description='Deprecated U-label support')
-
- depends_on('python@3.6:', when='@3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@2.3.1:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
-
- depends_on('py-setuptools@40.6:', when='@2.7:', type='build')
- depends_on('py-setuptools@18.5:', when='@2.2:2.6', type='build')
- depends_on('py-setuptools@11.3:', when='@:2.1', type='build')
- depends_on('py-setuptools-rust@0.11.4:', when='@3.4:', type=('build', 'run'))
-
- depends_on('py-cffi@1.12:', when='@3.3:', type=('build', 'run'))
- depends_on('py-cffi@1.8:1.11.2,1.11.4:', when='@2.5:3.2', type=('build', 'run'))
- depends_on('py-cffi@1.7:1.11.2,1.11.4:', when='@1.9:2.4.2', type=('build', 'run'))
- depends_on('py-cffi@1.4.1:', type=('build', 'run'))
-
- depends_on('py-asn1crypto@0.21.0:', type=('build', 'run'), when='@:2.7')
- depends_on('py-six@1.4.1:', type=('build', 'run'), when='@:3.3')
- depends_on('py-idna@2.1:', type=('build', 'run'), when='@:2.4') # deprecated
- depends_on('py-idna@2.1:', type=('build', 'run'), when='@2.5: +idna') # deprecated
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.4')
- depends_on('py-ipaddress', type=('build', 'run'), when='^python@:3.3')
- depends_on('openssl@:1.0', when='@:1.8.1')
- depends_on('openssl')
+ version("36.0.1", sha256="53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638")
+ version("35.0.0", sha256="9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d")
+ version("3.4.8", sha256="94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c")
+ version("3.4.7", sha256="3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713")
+ version("3.2.1", sha256="d3d5e10be0cf2a12214ddee45c6bd203dab435e3d83b4560c03066eda600bfe3")
+ version("2.7", sha256="e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6")
+ version("2.3.1", sha256="8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6")
+ version("1.8.1", sha256="323524312bb467565ebca7e50c8ae5e9674e544951d28a2904a50012a8828190")
+
+ variant("idna", default=False, when="@2.5:3.0", description="Deprecated U-label support")
+
+ depends_on("python@3.6:", when="@3.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@2.3.1:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+
+ depends_on("py-setuptools@40.6:", when="@2.7:", type="build")
+ depends_on("py-setuptools@18.5:", when="@2.2:2.6", type="build")
+ depends_on("py-setuptools@11.3:", when="@:2.1", type="build")
+ depends_on("py-setuptools-rust@0.11.4:", when="@3.4:", type=("build", "run"))
+
+ depends_on("py-cffi@1.12:", when="@3.3:", type=("build", "run"))
+ depends_on("py-cffi@1.8:1.11.2,1.11.4:", when="@2.5:3.2", type=("build", "run"))
+ depends_on("py-cffi@1.7:1.11.2,1.11.4:", when="@1.9:2.4.2", type=("build", "run"))
+ depends_on("py-cffi@1.4.1:", type=("build", "run"))
+
+ depends_on("py-asn1crypto@0.21.0:", type=("build", "run"), when="@:2.7")
+ depends_on("py-six@1.4.1:", type=("build", "run"), when="@:3.3")
+ depends_on("py-idna@2.1:", type=("build", "run"), when="@:2.4") # deprecated
+ depends_on("py-idna@2.1:", type=("build", "run"), when="@2.5: +idna") # deprecated
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.4")
+ depends_on("py-ipaddress", type=("build", "run"), when="^python@:3.3")
+ depends_on("openssl@:1.0", when="@:1.8.1")
+ depends_on("openssl")
# To fix https://github.com/spack/spack/issues/29669
# https://community.home-assistant.io/t/error-failed-building-wheel-for-cryptography/352020/14
# We use CLI git instead of Cargo's internal git library
# See reference: https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli
- depends_on('git', type='build', when='@35:')
+ depends_on("git", type="build", when="@35:")
def setup_build_environment(self, env):
- if self.spec.satisfies('@35:'):
- env.set('CARGO_NET_GIT_FETCH_WITH_CLI', 'true')
+ if self.spec.satisfies("@35:"):
+ env.set("CARGO_NET_GIT_FETCH_WITH_CLI", "true")
diff --git a/var/spack/repos/builtin/packages/py-cssselect/package.py b/var/spack/repos/builtin/packages/py-cssselect/package.py
index 022da4ecc7..8a5bb94332 100644
--- a/var/spack/repos/builtin/packages/py-cssselect/package.py
+++ b/var/spack/repos/builtin/packages/py-cssselect/package.py
@@ -12,12 +12,12 @@ class PyCssselect(PythonPackage):
to find the matching elements in an XML or HTML document."""
homepage = "https://github.com/scrapy/cssselect"
- url = "https://github.com/scrapy/cssselect/archive/v1.1.0.tar.gz"
+ url = "https://github.com/scrapy/cssselect/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='dde8c1d4a2c82de6889a3af1c1adbce1a6f3ec08b07a854d873f3f3da92960af')
- version('1.0.3', sha256='203d9691c42c13cffe26a2f8fc714977882fcf54a6df82c8eda3371f6beaecdb')
- version('1.0.2', sha256='ee16bbb99b0a1f593ed4cd822f20bffefa4a4676d19d7dd1f231b4c1cc1cc1e2')
- version('1.0.1', sha256='cdfa17ab5dc8818209f310a930b18d3035a4585ddd2c179e833036e2dde511c6')
- version('1.0.0', sha256='2f757203e03aedcc1b31a452cf2752728b843351b7819ea2d4cd9ef38df7b324')
+ version("1.1.0", sha256="dde8c1d4a2c82de6889a3af1c1adbce1a6f3ec08b07a854d873f3f3da92960af")
+ version("1.0.3", sha256="203d9691c42c13cffe26a2f8fc714977882fcf54a6df82c8eda3371f6beaecdb")
+ version("1.0.2", sha256="ee16bbb99b0a1f593ed4cd822f20bffefa4a4676d19d7dd1f231b4c1cc1cc1e2")
+ version("1.0.1", sha256="cdfa17ab5dc8818209f310a930b18d3035a4585ddd2c179e833036e2dde511c6")
+ version("1.0.0", sha256="2f757203e03aedcc1b31a452cf2752728b843351b7819ea2d4cd9ef38df7b324")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-csvkit/package.py b/var/spack/repos/builtin/packages/py-csvkit/package.py
index 903c38ba75..99335a67d5 100644
--- a/var/spack/repos/builtin/packages/py-csvkit/package.py
+++ b/var/spack/repos/builtin/packages/py-csvkit/package.py
@@ -10,28 +10,28 @@ class PyCsvkit(PythonPackage):
"""A library of utilities for working with CSV, the king of tabular file
formats"""
- homepage = 'http://csvkit.rtfd.org/'
+ homepage = "http://csvkit.rtfd.org/"
pypi = "csvkit/csvkit-0.9.1.tar.gz"
- version('1.0.4', sha256='1353a383531bee191820edfb88418c13dfe1cdfa9dd3dc46f431c05cd2a260a0')
- version('0.9.1', sha256='92f8b8647becb5cb1dccb3af92a13a4e85702d42ba465ce8447881fb38c9f93a')
+ version("1.0.4", sha256="1353a383531bee191820edfb88418c13dfe1cdfa9dd3dc46f431c05cd2a260a0")
+ version("0.9.1", sha256="92f8b8647becb5cb1dccb3af92a13a4e85702d42ba465ce8447881fb38c9f93a")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six@1.6.1:', type=('build', 'run'))
- depends_on('py-argparse@1.2.1:', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
- depends_on('py-ordereddict@1.1:', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-simplejson@3.6.3:', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-python-dateutil@2.2', type=('build', 'run'), when='@0.9.1')
- depends_on('py-dbf@0.94.003', type=('build', 'run'), when='@0.9.1')
- depends_on('py-xlrd@0.7.1:', type=('build', 'run'), when='@0.9.1')
- depends_on('py-sqlalchemy@0.6.6:', type=('build', 'run'), when='@0.9.1')
- depends_on('py-openpyxl@2.2.0', type=('build', 'run'), when='@0.9.1')
- depends_on('py-agate@1.6.1:', type=('build', 'run'), when='@1:')
- depends_on('py-agate-excel@0.2.2:', type=('build', 'run'), when='@1:')
- depends_on('py-agate-dbf@0.2.0:', type=('build', 'run'), when='@1:')
- depends_on('py-agate-sql@0.5.3:', type=('build', 'run'), when='@1:')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.6.1:", type=("build", "run"))
+ depends_on("py-argparse@1.2.1:", type=("build", "run"), when="^python@:2.6,3.0:3.1")
+ depends_on("py-ordereddict@1.1:", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-simplejson@3.6.3:", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-python-dateutil@2.2", type=("build", "run"), when="@0.9.1")
+ depends_on("py-dbf@0.94.003", type=("build", "run"), when="@0.9.1")
+ depends_on("py-xlrd@0.7.1:", type=("build", "run"), when="@0.9.1")
+ depends_on("py-sqlalchemy@0.6.6:", type=("build", "run"), when="@0.9.1")
+ depends_on("py-openpyxl@2.2.0", type=("build", "run"), when="@0.9.1")
+ depends_on("py-agate@1.6.1:", type=("build", "run"), when="@1:")
+ depends_on("py-agate-excel@0.2.2:", type=("build", "run"), when="@1:")
+ depends_on("py-agate-dbf@0.2.0:", type=("build", "run"), when="@1:")
+ depends_on("py-agate-sql@0.5.3:", type=("build", "run"), when="@1:")
- @when('@0.9.1')
+ @when("@0.9.1")
def patch(self):
# Non-existent version requirement
- filter_file('2.2.0-b1', '2.2.0', 'setup.py', string=True)
+ filter_file("2.2.0-b1", "2.2.0", "setup.py", string=True)
diff --git a/var/spack/repos/builtin/packages/py-ctgan/package.py b/var/spack/repos/builtin/packages/py-ctgan/package.py
index 6c1e976d09..2d5b36fada 100644
--- a/var/spack/repos/builtin/packages/py-ctgan/package.py
+++ b/var/spack/repos/builtin/packages/py-ctgan/package.py
@@ -13,17 +13,17 @@ class PyCtgan(PythonPackage):
high fidelity."""
homepage = "https://github.com/sdv-dev/CTGAN"
- pypi = "ctgan/ctgan-0.5.0.tar.gz"
+ pypi = "ctgan/ctgan-0.5.0.tar.gz"
- version('0.5.0', sha256='b8a5dbf21dab2d2e2690013f13feb0922f5bad13440b15bc031ce9d58c7fb988')
+ version("0.5.0", sha256="b8a5dbf21dab2d2e2690013f13feb0922f5bad13440b15bc031ce9d58c7fb988")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-packaging@20:21', type=('build', 'run'))
- depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
- depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1', type=('build', 'run'))
- depends_on('py-scikit-learn@0.24:1', type=('build', 'run'))
- depends_on('py-torch@1.8.0:1', type=('build', 'run'))
- depends_on('py-torchvision@0.9:0', type=('build', 'run'))
- depends_on('py-rdt@0.6.1:0.6', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-packaging@20:21", type=("build", "run"))
+ depends_on("py-numpy@1.18:1.19", type=("build", "run"), when="^python@3.6")
+ depends_on("py-numpy@1.20:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1", type=("build", "run"))
+ depends_on("py-scikit-learn@0.24:1", type=("build", "run"))
+ depends_on("py-torch@1.8.0:1", type=("build", "run"))
+ depends_on("py-torchvision@0.9:0", type=("build", "run"))
+ depends_on("py-rdt@0.6.1:0.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cudf/package.py b/var/spack/repos/builtin/packages/py-cudf/package.py
index 893b7b8cc0..332055c538 100644
--- a/var/spack/repos/builtin/packages/py-cudf/package.py
+++ b/var/spack/repos/builtin/packages/py-cudf/package.py
@@ -14,33 +14,33 @@ class PyCudf(PythonPackage):
aggregating, filtering, and otherwise manipulating data."""
homepage = "https://rapids.ai"
- url = "https://github.com/rapidsai/cudf/archive/v0.15.0.tar.gz"
+ url = "https://github.com/rapidsai/cudf/archive/v0.15.0.tar.gz"
- version('0.15.0', sha256='2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4')
+ version("0.15.0", sha256="2570636b72cce4c52f71e36307f51f630e2f9ea94a1abc018d40ce919ba990e4")
- build_directory = 'python/cudf'
+ build_directory = "python/cudf"
- depends_on('cmake@3.14:', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numba@0.40.0:', type=('build', 'run'))
- depends_on('py-numpy@1.14.4:', type=('build', 'run'))
- depends_on('py-pyarrow+cuda+orc+parquet', type=('build', 'run'))
- depends_on('py-pandas@0.23.4:', type=('build', 'run'))
- depends_on('py-rmm', type=('build', 'run'))
- depends_on('cuda@10:')
- depends_on('py-cupy', type=('build', 'run'))
- depends_on('py-fsspec', type=('build', 'run'))
+ depends_on("cmake@3.14:", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numba@0.40.0:", type=("build", "run"))
+ depends_on("py-numpy@1.14.4:", type=("build", "run"))
+ depends_on("py-pyarrow+cuda+orc+parquet", type=("build", "run"))
+ depends_on("py-pandas@0.23.4:", type=("build", "run"))
+ depends_on("py-rmm", type=("build", "run"))
+ depends_on("cuda@10:")
+ depends_on("py-cupy", type=("build", "run"))
+ depends_on("py-fsspec", type=("build", "run"))
- for v in ('@0.15.0',):
- depends_on('libcudf' + v, when=v)
+ for v in ("@0.15.0",):
+ depends_on("libcudf" + v, when=v)
- @run_before('install')
+ @run_before("install")
def cmake(self):
- cmake = which('cmake')
+ cmake = which("cmake")
- build_dir = os.path.join(self.stage.source_path, 'cpp', 'build')
+ build_dir = os.path.join(self.stage.source_path, "cpp", "build")
with working_dir(build_dir, create=True):
- cmake('..')
+ cmake("..")
diff --git a/var/spack/repos/builtin/packages/py-cuml/package.py b/var/spack/repos/builtin/packages/py-cuml/package.py
index a54e4b76fd..cba838e56e 100644
--- a/var/spack/repos/builtin/packages/py-cuml/package.py
+++ b/var/spack/repos/builtin/packages/py-cuml/package.py
@@ -12,29 +12,27 @@ class PyCuml(PythonPackage):
that share compatible APIs with other RAPIDS projects."""
homepage = "https://github.com/rapidsai/cuml"
- url = "https://github.com/rapidsai/cuml/archive/v0.15.0.tar.gz"
-
- version('0.15.0', sha256='5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7')
-
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-numba', type=('build', 'run'))
- depends_on('py-cudf', type=('build', 'run'))
- depends_on('cuda')
- depends_on('py-cupy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('treelite+python', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
-
- for v in ('11.0', '10.2', '10.1'):
- depends_on(
- 'libcumlprims@0.15.0-cuda{0}_gdbd0d39_0'.format(v),
- when='^cuda@{0}'.format(v))
-
- for v in ('@0.15.0',):
- depends_on('libcuml{0}'.format(v), when=v)
-
- build_directory = 'python'
+ url = "https://github.com/rapidsai/cuml/archive/v0.15.0.tar.gz"
+
+ version("0.15.0", sha256="5c9c656ae4eaa94a426e07d7385fd5ea0e5dc7abff806af2941aee10d4ca99c7")
+
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-numba", type=("build", "run"))
+ depends_on("py-cudf", type=("build", "run"))
+ depends_on("cuda")
+ depends_on("py-cupy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("treelite+python", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+
+ for v in ("11.0", "10.2", "10.1"):
+ depends_on("libcumlprims@0.15.0-cuda{0}_gdbd0d39_0".format(v), when="^cuda@{0}".format(v))
+
+ for v in ("@0.15.0",):
+ depends_on("libcuml{0}".format(v), when=v)
+
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-cupy/package.py b/var/spack/repos/builtin/packages/py-cupy/package.py
index 820a285058..9df419eb32 100644
--- a/var/spack/repos/builtin/packages/py-cupy/package.py
+++ b/var/spack/repos/builtin/packages/py-cupy/package.py
@@ -16,12 +16,12 @@ class PyCupy(PythonPackage):
homepage = "https://cupy.dev/"
pypi = "cupy/cupy-8.0.0.tar.gz"
- version('8.0.0', sha256='d1dcba5070dfa754445d010cdc952ff6b646d5f9bdcd7a63e8246e2472c3ddb8')
+ version("8.0.0", sha256="d1dcba5070dfa754445d010cdc952ff6b646d5f9bdcd7a63e8246e2472c3ddb8")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-fastrlock@0.3:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('cuda')
- depends_on('nccl')
- depends_on('cudnn')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-fastrlock@0.3:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("cuda")
+ depends_on("nccl")
+ depends_on("cudnn")
diff --git a/var/spack/repos/builtin/packages/py-current/package.py b/var/spack/repos/builtin/packages/py-current/package.py
index 7faa91c282..246ec07dc1 100644
--- a/var/spack/repos/builtin/packages/py-current/package.py
+++ b/var/spack/repos/builtin/packages/py-current/package.py
@@ -12,6 +12,6 @@ class PyCurrent(PythonPackage):
homepage = "https://github.com/xflr6/current"
pypi = "current/current-0.3.1.zip"
- version('0.3.1', sha256='207613dc19a6cc8e1a756f26e416733c8f82a70e4ae81103d22f483aae6492a8')
+ version("0.3.1", sha256="207613dc19a6cc8e1a756f26e416733c8f82a70e4ae81103d22f483aae6492a8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cutadapt/package.py b/var/spack/repos/builtin/packages/py-cutadapt/package.py
index e243672149..feddbc78f0 100644
--- a/var/spack/repos/builtin/packages/py-cutadapt/package.py
+++ b/var/spack/repos/builtin/packages/py-cutadapt/package.py
@@ -13,25 +13,25 @@ class PyCutadapt(PythonPackage):
homepage = "https://cutadapt.readthedocs.io"
pypi = "cutadapt/cutadapt-1.13.tar.gz"
- git = "https://github.com/marcelm/cutadapt.git"
+ git = "https://github.com/marcelm/cutadapt.git"
- version('2.10', sha256='936b88374b5b393a954852a0fe317a85b798dd4faf5ec52cf3ef4f3c062c242a')
- version('2.9', sha256='cad8875b461ca09cea498b4f0e78b0d3dcd7ea84d27d51dac4ed45080bf1499e')
- version('2.5', sha256='ced79e49b93e922e579d0bb9d21298dcb2d7b7b1ea721feed484277e08b1660b')
- version('1.13', sha256='aa9f2c1f33dc081fe94f42b1250e4382b8fb42cabbf6e70a76ff079f211d5fc0')
+ version("2.10", sha256="936b88374b5b393a954852a0fe317a85b798dd4faf5ec52cf3ef4f3c062c242a")
+ version("2.9", sha256="cad8875b461ca09cea498b4f0e78b0d3dcd7ea84d27d51dac4ed45080bf1499e")
+ version("2.5", sha256="ced79e49b93e922e579d0bb9d21298dcb2d7b7b1ea721feed484277e08b1660b")
+ version("1.13", sha256="aa9f2c1f33dc081fe94f42b1250e4382b8fb42cabbf6e70a76ff079f211d5fc0")
- depends_on('python@2.6:', type=('build', 'run'), when='@1.13')
- depends_on('python@3.4:', type=('build', 'run'), when='@2.0:2.5')
- depends_on('python@3.5:', type=('build', 'run'), when='@2.6:')
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm', type='build', when='@2.0:')
- depends_on('py-xopen@0.1.1:', type=('build', 'run'), when='@1.13')
- depends_on('py-xopen@0.5.0:', type=('build', 'run'), when='@2.0:2.3')
- depends_on('py-xopen@0.7.3:', type=('build', 'run'), when='@2.4')
- depends_on('py-xopen@0.8.1:0.8', type=('build', 'run'), when='@2.5')
- depends_on('py-xopen@0.8.4:0.8', type=('build', 'run'), when='@2.6:')
- depends_on('py-dnaio@0.3:', type=('build', 'run'), when='@2.0:2.4')
- depends_on('py-dnaio@0.3.0:0.3', type=('build', 'run'), when='@2.5')
- depends_on('py-dnaio@0.4.0:0.4', type=('build', 'run'), when='@2.6')
- depends_on('py-dnaio@0.4.1:0.4', type=('build', 'run'), when='@2.7:2.9')
- depends_on('py-dnaio@0.4.2:0.4', type=('build', 'run'), when='@2.10:')
+ depends_on("python@2.6:", type=("build", "run"), when="@1.13")
+ depends_on("python@3.4:", type=("build", "run"), when="@2.0:2.5")
+ depends_on("python@3.5:", type=("build", "run"), when="@2.6:")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm", type="build", when="@2.0:")
+ depends_on("py-xopen@0.1.1:", type=("build", "run"), when="@1.13")
+ depends_on("py-xopen@0.5.0:", type=("build", "run"), when="@2.0:2.3")
+ depends_on("py-xopen@0.7.3:", type=("build", "run"), when="@2.4")
+ depends_on("py-xopen@0.8.1:0.8", type=("build", "run"), when="@2.5")
+ depends_on("py-xopen@0.8.4:0.8", type=("build", "run"), when="@2.6:")
+ depends_on("py-dnaio@0.3:", type=("build", "run"), when="@2.0:2.4")
+ depends_on("py-dnaio@0.3.0:0.3", type=("build", "run"), when="@2.5")
+ depends_on("py-dnaio@0.4.0:0.4", type=("build", "run"), when="@2.6")
+ depends_on("py-dnaio@0.4.1:0.4", type=("build", "run"), when="@2.7:2.9")
+ depends_on("py-dnaio@0.4.2:0.4", type=("build", "run"), when="@2.10:")
diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py
index b36607d382..3dd53e6836 100644
--- a/var/spack/repos/builtin/packages/py-cvxopt/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py
@@ -13,12 +13,18 @@ class PyCvxopt(PythonPackage):
homepage = "https://cvxopt.org/"
pypi = "cvxopt/cvxopt-1.1.9.tar.gz"
- version('1.2.5', sha256='94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72')
- version('1.1.9', sha256='8f157e7397158812cabd340b68546f1baa55a486ed0aad8bc26877593dc2983d')
-
- variant('gsl', default=False, description='Use GSL random number generators for constructing random matrices')
- variant('fftw', default=False, description='Install the cvxopt.fftw interface to FFTW')
- variant('glpk', default=False, description='Enable support for the linear programming solver GLPK')
+ version("1.2.5", sha256="94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72")
+ version("1.1.9", sha256="8f157e7397158812cabd340b68546f1baa55a486ed0aad8bc26877593dc2983d")
+
+ variant(
+ "gsl",
+ default=False,
+ description="Use GSL random number generators for constructing random matrices",
+ )
+ variant("fftw", default=False, description="Install the cvxopt.fftw interface to FFTW")
+ variant(
+ "glpk", default=False, description="Enable support for the linear programming solver GLPK"
+ )
# variant(
# 'mosek',
# default=False,
@@ -27,22 +33,26 @@ class PyCvxopt(PythonPackage):
# 'programming solvers in MOSEK'
# ),
# )
- variant('dsdp', default=False, description='Enable support for the semidefinite programming solver DSDP')
+ variant(
+ "dsdp",
+ default=False,
+ description="Enable support for the semidefinite programming solver DSDP",
+ )
# Required dependencies
- depends_on('python@2.7:', type=('build', 'link', 'run'))
- depends_on('python@2.7:3.7', type=('build', 'link', 'run'), when='@:1.1.9')
- depends_on('py-setuptools', type='build')
- depends_on('blas')
- depends_on('lapack')
- depends_on('suite-sparse')
+ depends_on("python@2.7:", type=("build", "link", "run"))
+ depends_on("python@2.7:3.7", type=("build", "link", "run"), when="@:1.1.9")
+ depends_on("py-setuptools", type="build")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("suite-sparse")
# Optional dependencies
- depends_on('gsl', when='+gsl')
- depends_on('fftw', when='+fftw')
- depends_on('glpk', when='+glpk')
+ depends_on("gsl", when="+gsl")
+ depends_on("fftw", when="+fftw")
+ depends_on("glpk", when="+glpk")
# depends_on('mosek@8:', when='+mosek')
- depends_on('dsdp@5.8:', when='+dsdp')
+ depends_on("dsdp@5.8:", when="+dsdp")
def setup_build_environment(self, env):
spec = self.spec
@@ -50,74 +60,72 @@ class PyCvxopt(PythonPackage):
# BLAS/LAPACK Libraries
# Default names of BLAS and LAPACK libraries
- env.set('CVXOPT_BLAS_LIB', ';'.join(spec['blas'].libs.names))
- env.set('CVXOPT_LAPACK_LIB', ';'.join(spec['lapack'].libs.names))
+ env.set("CVXOPT_BLAS_LIB", ";".join(spec["blas"].libs.names))
+ env.set("CVXOPT_LAPACK_LIB", ";".join(spec["lapack"].libs.names))
# Directory containing BLAS and LAPACK libraries
- env.set('CVXOPT_BLAS_LIB_DIR', spec['blas'].libs.directories[0])
+ env.set("CVXOPT_BLAS_LIB_DIR", spec["blas"].libs.directories[0])
# SuiteSparse Libraries
# Directory containing SuiteSparse libraries
- env.set('CVXOPT_SUITESPARSE_LIB_DIR',
- spec['suite-sparse'].libs.directories[0])
+ env.set("CVXOPT_SUITESPARSE_LIB_DIR", spec["suite-sparse"].libs.directories[0])
# Directory containing SuiteSparse header files
- env.set('CVXOPT_SUITESPARSE_INC_DIR',
- spec['suite-sparse'].headers.directories[0])
+ env.set("CVXOPT_SUITESPARSE_INC_DIR", spec["suite-sparse"].headers.directories[0])
# GSL Libraries
- if '+gsl' in spec:
- env.set('CVXOPT_BUILD_GSL', 1)
+ if "+gsl" in spec:
+ env.set("CVXOPT_BUILD_GSL", 1)
# Directory containing libgsl
- env.set('CVXOPT_GSL_LIB_DIR', spec['gsl'].libs.directories[0])
+ env.set("CVXOPT_GSL_LIB_DIR", spec["gsl"].libs.directories[0])
# Directory containing the GSL header files
- env.set('CVXOPT_GSL_INC_DIR', spec['gsl'].headers.directories[0])
+ env.set("CVXOPT_GSL_INC_DIR", spec["gsl"].headers.directories[0])
else:
- env.set('CVXOPT_BUILD_GSL', 0)
+ env.set("CVXOPT_BUILD_GSL", 0)
# FFTW Libraries
- if '+fftw' in spec:
- env.set('CVXOPT_BUILD_FFTW', 1)
+ if "+fftw" in spec:
+ env.set("CVXOPT_BUILD_FFTW", 1)
# Directory containing libfftw3
- env.set('CVXOPT_FFTW_LIB_DIR', spec['fftw'].libs.directories[0])
+ env.set("CVXOPT_FFTW_LIB_DIR", spec["fftw"].libs.directories[0])
# Directory containing fftw.h
- env.set('CVXOPT_FFTW_INC_DIR', spec['fftw'].headers.directories[0])
+ env.set("CVXOPT_FFTW_INC_DIR", spec["fftw"].headers.directories[0])
else:
- env.set('CVXOPT_BUILD_FFTW', 0)
+ env.set("CVXOPT_BUILD_FFTW", 0)
# GLPK Libraries
- if '+glpk' in spec:
- env.set('CVXOPT_BUILD_GLPK', 1)
+ if "+glpk" in spec:
+ env.set("CVXOPT_BUILD_GLPK", 1)
# Directory containing libglpk
- env.set('CVXOPT_GLPK_LIB_DIR', spec['glpk'].libs.directories[0])
+ env.set("CVXOPT_GLPK_LIB_DIR", spec["glpk"].libs.directories[0])
# Directory containing glpk.h
- env.set('CVXOPT_GLPK_INC_DIR', spec['glpk'].headers.directories[0])
+ env.set("CVXOPT_GLPK_INC_DIR", spec["glpk"].headers.directories[0])
else:
- env.set('CVXOPT_BUILD_GLPK', 0)
+ env.set("CVXOPT_BUILD_GLPK", 0)
# DSDP Libraries
- if '+dsdp' in spec:
- env.set('CVXOPT_BUILD_DSDP', 1)
+ if "+dsdp" in spec:
+ env.set("CVXOPT_BUILD_DSDP", 1)
# Directory containing libdsdp
- env.set('CVXOPT_DSDP_LIB_DIR', spec['dsdp'].libs.directories[0])
+ env.set("CVXOPT_DSDP_LIB_DIR", spec["dsdp"].libs.directories[0])
# Directory containing dsdp5.h
- env.set('CVXOPT_DSDP_INC_DIR', spec['dsdp'].headers.directories[0])
+ env.set("CVXOPT_DSDP_INC_DIR", spec["dsdp"].headers.directories[0])
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
"""Test that the installation was successful."""
- python('-m', 'unittest', 'discover', '-s', 'tests')
+ python("-m", "unittest", "discover", "-s", "tests")
diff --git a/var/spack/repos/builtin/packages/py-cvxpy/package.py b/var/spack/repos/builtin/packages/py-cvxpy/package.py
index ecce96399c..1e29cb3c0f 100644
--- a/var/spack/repos/builtin/packages/py-cvxpy/package.py
+++ b/var/spack/repos/builtin/packages/py-cvxpy/package.py
@@ -13,18 +13,18 @@ class PyCvxpy(PythonPackage):
homepage = "https://www.cvxpy.org/index.html"
pypi = "cvxpy/cvxpy-1.0.25.tar.gz"
- version('1.1.13', sha256='a9c781e74ad76097b47b86456cb3a943898f7ec9ac8f47bcefc922051cdc4a04')
- version('1.0.25', sha256='8535529ddb807067b0d59661dce1d9a6ddb2a218398a38ea7772328ad8a6ea13')
+ version("1.1.13", sha256="a9c781e74ad76097b47b86456cb3a943898f7ec9ac8f47bcefc922051cdc4a04")
+ version("1.0.25", sha256="8535529ddb807067b0d59661dce1d9a6ddb2a218398a38ea7772328ad8a6ea13")
# Dependency versions based on README.md in python packages
- depends_on('python@3.4:', type=('build', 'run'), when='@1.1:')
- depends_on('python@3.6:', type=('build', 'run'), when='@1.1.13:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-scipy@1.1.0:', type=('build', 'run'))
- depends_on('py-ecos@2:', type=('build', 'run'))
- depends_on('py-scs@1.1.3:', type=('build', 'run'))
- depends_on('py-scs@1.1.6:', type=('build', 'run'), when='@1.1.13:')
- depends_on('py-osqp@0.4.1:', type=('build', 'run'))
- depends_on('py-multiprocess', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:1.0')
+ depends_on("python@3.4:", type=("build", "run"), when="@1.1:")
+ depends_on("python@3.6:", type=("build", "run"), when="@1.1.13:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-scipy@1.1.0:", type=("build", "run"))
+ depends_on("py-ecos@2:", type=("build", "run"))
+ depends_on("py-scs@1.1.3:", type=("build", "run"))
+ depends_on("py-scs@1.1.6:", type=("build", "run"), when="@1.1.13:")
+ depends_on("py-osqp@0.4.1:", type=("build", "run"))
+ depends_on("py-multiprocess", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:1.0")
diff --git a/var/spack/repos/builtin/packages/py-cx-oracle/package.py b/var/spack/repos/builtin/packages/py-cx-oracle/package.py
index 05c241c84f..d3a0652633 100644
--- a/var/spack/repos/builtin/packages/py-cx-oracle/package.py
+++ b/var/spack/repos/builtin/packages/py-cx-oracle/package.py
@@ -10,11 +10,11 @@ class PyCxOracle(PythonPackage):
"""Python interface to Oracle"""
homepage = "https://oracle.github.io/python-cx_Oracle"
- pypi = "cx_Oracle/cx_Oracle-8.3.0.tar.gz"
+ pypi = "cx_Oracle/cx_Oracle-8.3.0.tar.gz"
- version('8.3.0', sha256='3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9')
+ version("8.3.0", sha256="3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('oracle-instant-client', type='run')
- depends_on('py-setuptools@40.6.0:', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("oracle-instant-client", type="run")
+ depends_on("py-setuptools@40.6.0:", type="build")
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py
index 250a43cf5a..9e60db478e 100644
--- a/var/spack/repos/builtin/packages/py-cycler/package.py
+++ b/var/spack/repos/builtin/packages/py-cycler/package.py
@@ -12,9 +12,9 @@ class PyCycler(PythonPackage):
homepage = "https://matplotlib.org/cycler/"
pypi = "cycler/cycler-0.11.0.tar.gz"
- version('0.11.0', sha256='9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f')
- version('0.10.0', sha256='cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8')
+ version("0.11.0", sha256="9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f")
+ version("0.10.0", sha256="cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8")
- depends_on('python@3.6:', when='@0.11:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', when='@:0.10', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.11:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", when="@:0.10", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cymem/package.py b/var/spack/repos/builtin/packages/py-cymem/package.py
index 0ec94c9a3e..b8e9cd4519 100644
--- a/var/spack/repos/builtin/packages/py-cymem/package.py
+++ b/var/spack/repos/builtin/packages/py-cymem/package.py
@@ -13,7 +13,7 @@ class PyCymem(PythonPackage):
homepage = "https://github.com/explosion/cymem"
pypi = "cymem/cymem-2.0.3.tar.gz"
- version('2.0.3', sha256='5083b2ab5fe13ced094a82e0df465e2dbbd9b1c013288888035e24fd6eb4ed01')
+ version("2.0.3", sha256="5083b2ab5fe13ced094a82e0df465e2dbbd9b1c013288888035e24fd6eb4ed01")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel@0.32.0:0.32', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel@0.32.0:0.32", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cyordereddict/package.py b/var/spack/repos/builtin/packages/py-cyordereddict/package.py
index ebb44eb77a..03f47c7c1b 100644
--- a/var/spack/repos/builtin/packages/py-cyordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-cyordereddict/package.py
@@ -13,7 +13,7 @@ class PyCyordereddict(PythonPackage):
homepage = "https://github.com/shoyer/cyordereddict"
pypi = "cyordereddict/cyordereddict-1.0.0.tar.gz"
- version('1.0.0', sha256='d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e')
- version('0.2.2', sha256='f8387caaffba695d704311842291ede696080a5ed306f07f1825de126fb7f1ec')
+ version("1.0.0", sha256="d9b2c31796999770801a9a49403b8cb49510ecb64e5d1e9d4763ed44f2d5a76e")
+ version("0.2.2", sha256="f8387caaffba695d704311842291ede696080a5ed306f07f1825de126fb7f1ec")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-cython-bbox/package.py b/var/spack/repos/builtin/packages/py-cython-bbox/package.py
index 2b3f6798cd..3e5dcf69cc 100644
--- a/var/spack/repos/builtin/packages/py-cython-bbox/package.py
+++ b/var/spack/repos/builtin/packages/py-cython-bbox/package.py
@@ -18,7 +18,7 @@ class PyCythonBbox(PythonPackage):
homepage = "https://github.com/samson-wang/cython_bbox.git"
pypi = "cython-bbox/cython_bbox-0.1.3.tar.gz"
- version('0.1.3', sha256='82e2d887534ecc10d3507489a05b11259f3baacd29eee37e6d8c97e1ffb16554')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ version("0.1.3", sha256="82e2d887534ecc10d3507489a05b11259f3baacd29eee37e6d8c97e1ffb16554")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index 4c70c14899..1f103d3d0b 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -12,42 +12,46 @@ class PyCython(PythonPackage):
homepage = "https://github.com/cython/cython"
pypi = "cython/Cython-0.29.21.tar.gz"
- version('3.0.0a9', sha256='23931c45877432097cef9de2db2dc66322cbc4fc3ebbb42c476bb2c768cecff0')
- version('0.29.30', sha256='2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3', preferred=True)
- version('0.29.24', sha256='cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443')
- version('0.29.23', sha256='6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e')
- version('0.29.22', sha256='df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406')
- version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad')
- version('0.29.20', sha256='22d91af5fc2253f717a1b80b8bb45acb655f643611983fd6f782b9423f8171c7')
- version('0.29.16', sha256='232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05')
- version('0.29.15', sha256='60d859e1efa5cc80436d58aecd3718ff2e74b987db0518376046adedba97ac30')
- version('0.29.14', sha256='e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414')
- version('0.29.13', sha256='c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e')
- version('0.29.10', sha256='26229570d6787ff3caa932fe9d802960f51a89239b990d275ae845405ce43857')
- version('0.29.7', sha256='55d081162191b7c11c7bfcb7c68e913827dfd5de6ecdbab1b99dab190586c1e8')
- version('0.29.5', sha256='9d5290d749099a8e446422adfb0aa2142c711284800fb1eb70f595101e32cbf1')
- version('0.29', sha256='94916d1ede67682638d3cc0feb10648ff14dc51fb7a7f147f4fedce78eaaea97')
- version('0.28.6', sha256='68aa3c00ef1deccf4dd50f0201d47c268462978c12c42943bc33dc9dc816ac1b')
- version('0.28.3', sha256='1aae6d6e9858888144cea147eb5e677830f45faaff3d305d77378c3cba55f526')
- version('0.28.1', sha256='152ee5f345012ca3bb7cc71da2d3736ee20f52cd8476e4d49e5e25c5a4102b12')
- version('0.25.2', sha256='f141d1f9c27a07b5a93f7dc5339472067e2d7140d1c5a9e20112a5665ca60306')
- version('0.23.5', sha256='0ae5a5451a190e03ee36922c4189ca2c88d1df40a89b4f224bc842d388a0d1b6')
- version('0.23.4', sha256='fec42fecee35d6cc02887f1eef4e4952c97402ed2800bfe41bbd9ed1a0730d8e')
- version('0.21.2', sha256='b01af23102143515e6138a4d5e185c2cfa588e0df61c0827de4257bac3393679')
-
- depends_on('python@2.7:2,3.4:', when='@3:', type=('build', 'link', 'run'))
- depends_on('python@2.6:2,3.3:', when='@0.23:', type=('build', 'link', 'run'))
- depends_on('python@:2', when='@:0.22', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('gdb@7.2:', type='test')
+ version("3.0.0a9", sha256="23931c45877432097cef9de2db2dc66322cbc4fc3ebbb42c476bb2c768cecff0")
+ version(
+ "0.29.30",
+ sha256="2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3",
+ preferred=True,
+ )
+ version("0.29.24", sha256="cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443")
+ version("0.29.23", sha256="6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e")
+ version("0.29.22", sha256="df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406")
+ version("0.29.21", sha256="e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad")
+ version("0.29.20", sha256="22d91af5fc2253f717a1b80b8bb45acb655f643611983fd6f782b9423f8171c7")
+ version("0.29.16", sha256="232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05")
+ version("0.29.15", sha256="60d859e1efa5cc80436d58aecd3718ff2e74b987db0518376046adedba97ac30")
+ version("0.29.14", sha256="e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414")
+ version("0.29.13", sha256="c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e")
+ version("0.29.10", sha256="26229570d6787ff3caa932fe9d802960f51a89239b990d275ae845405ce43857")
+ version("0.29.7", sha256="55d081162191b7c11c7bfcb7c68e913827dfd5de6ecdbab1b99dab190586c1e8")
+ version("0.29.5", sha256="9d5290d749099a8e446422adfb0aa2142c711284800fb1eb70f595101e32cbf1")
+ version("0.29", sha256="94916d1ede67682638d3cc0feb10648ff14dc51fb7a7f147f4fedce78eaaea97")
+ version("0.28.6", sha256="68aa3c00ef1deccf4dd50f0201d47c268462978c12c42943bc33dc9dc816ac1b")
+ version("0.28.3", sha256="1aae6d6e9858888144cea147eb5e677830f45faaff3d305d77378c3cba55f526")
+ version("0.28.1", sha256="152ee5f345012ca3bb7cc71da2d3736ee20f52cd8476e4d49e5e25c5a4102b12")
+ version("0.25.2", sha256="f141d1f9c27a07b5a93f7dc5339472067e2d7140d1c5a9e20112a5665ca60306")
+ version("0.23.5", sha256="0ae5a5451a190e03ee36922c4189ca2c88d1df40a89b4f224bc842d388a0d1b6")
+ version("0.23.4", sha256="fec42fecee35d6cc02887f1eef4e4952c97402ed2800bfe41bbd9ed1a0730d8e")
+ version("0.21.2", sha256="b01af23102143515e6138a4d5e185c2cfa588e0df61c0827de4257bac3393679")
+
+ depends_on("python@2.7:2,3.4:", when="@3:", type=("build", "link", "run"))
+ depends_on("python@2.6:2,3.3:", when="@0.23:", type=("build", "link", "run"))
+ depends_on("python@:2", when="@:0.22", type=("build", "link", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("gdb@7.2:", type="test")
@property
def command(self):
"""Returns the Cython command"""
return Executable(self.prefix.bin.cython)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
# Warning: full suite of unit tests takes a very long time
- python('runtests.py', '-j', str(make_jobs))
+ python("runtests.py", "-j", str(make_jobs))
diff --git a/var/spack/repos/builtin/packages/py-cyvcf2/package.py b/var/spack/repos/builtin/packages/py-cyvcf2/package.py
index 719d88c236..3361147b66 100644
--- a/var/spack/repos/builtin/packages/py-cyvcf2/package.py
+++ b/var/spack/repos/builtin/packages/py-cyvcf2/package.py
@@ -12,14 +12,14 @@ class PyCyvcf2(PythonPackage):
homepage = "https://github.com/brentp/cyvcf2"
pypi = "cyvcf2/cyvcf2-0.11.7.tar.gz"
- version('0.11.7', sha256='a4b6229b89a0a1043684c65cbdd702c366a8800dc3591fb44c4b5a08640cbeec')
+ version("0.11.7", sha256="a4b6229b89a0a1043684c65cbdd702c366a8800dc3591fb44c4b5a08640cbeec")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-cython@0.23.3:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-coloredlogs', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
+ depends_on("py-cython@0.23.3:", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-coloredlogs", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
- depends_on('curl')
+ depends_on("curl")
diff --git a/var/spack/repos/builtin/packages/py-d2to1/package.py b/var/spack/repos/builtin/packages/py-d2to1/package.py
index 1e9f5e248b..b2f928768b 100644
--- a/var/spack/repos/builtin/packages/py-d2to1/package.py
+++ b/var/spack/repos/builtin/packages/py-d2to1/package.py
@@ -12,9 +12,11 @@ class PyD2to1(PythonPackage):
metadata with a distribute/setuptools setup.py script."""
homepage = "https://github.com/embray/d2to1"
- url = "https://github.com/embray/d2to1/archive/0.2.12.tar.gz"
+ url = "https://github.com/embray/d2to1/archive/0.2.12.tar.gz"
- version('0.2.12.post1', sha256='80e026ccc604850d8171fd8599b3130d234c0d443e1dc4e2039be0b204cea9b4')
- version('0.2.12', sha256='04ab9f3ac255d367ecda1eb59379e5031816740c3a3eda95d0dba9f6bb3b7ca4')
+ version(
+ "0.2.12.post1", sha256="80e026ccc604850d8171fd8599b3130d234c0d443e1dc4e2039be0b204cea9b4"
+ )
+ version("0.2.12", sha256="04ab9f3ac255d367ecda1eb59379e5031816740c3a3eda95d0dba9f6bb3b7ca4")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dadi/package.py b/var/spack/repos/builtin/packages/py-dadi/package.py
index dcd43aebcb..cdf8a7365b 100644
--- a/var/spack/repos/builtin/packages/py-dadi/package.py
+++ b/var/spack/repos/builtin/packages/py-dadi/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class PyDadi(PythonPackage):
"""Fit population genetic models of demography and selection using
- diffusion approximations to the allele frequency spectrum """
+ diffusion approximations to the allele frequency spectrum"""
homepage = "https://bitbucket.org/gutenkunstlab/dadi/src/master/"
- git = "https://bitbucket.org/gutenkunstlab/dadi.git"
+ git = "https://bitbucket.org/gutenkunstlab/dadi.git"
pypi = "dadi/dadi-2.1.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2020-12-02', commit='047bac0')
- version('2.1.0', sha256='97a15aa7ef501850cad4cff66b11b66ecb65d5d68acbf2ff713585c81c3a1038')
+ version("2020-12-02", commit="047bac0")
+ version("2.1.0", sha256="97a15aa7ef501850cad4cff66b11b66ecb65d5d68acbf2ff713585c81c3a1038")
- depends_on('py-setuptools', type=('build'))
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('nlopt', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("nlopt", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-damask/package.py b/var/spack/repos/builtin/packages/py-damask/package.py
index e3c1b47b6c..659a3b3bc5 100644
--- a/var/spack/repos/builtin/packages/py-damask/package.py
+++ b/var/spack/repos/builtin/packages/py-damask/package.py
@@ -11,22 +11,28 @@ class PyDamask(PythonPackage):
"""Pre- and post-processing tools for DAMASK"""
homepage = "https://damask.mpie.de"
- url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
-
- maintainers = ['MarDiehl']
-
- version('3.0.0-alpha6', sha256='de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109')
- version('3.0.0-alpha5', sha256='2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae')
- version('3.0.0-alpha4', sha256='0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493')
-
- depends_on('python@3.8:', type=('build', 'run'), when='@3.0.0-alpha6:')
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@40.6:', type='build')
- depends_on('vtk+python', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
-
- build_directory = 'python'
+ url = "https://damask.mpie.de/download/damask-3.0.0.tar.xz"
+
+ maintainers = ["MarDiehl"]
+
+ version(
+ "3.0.0-alpha6", sha256="de6748c285558dec8f730c4301bfa56b4078c130ff80e3095faf76202f8d2109"
+ )
+ version(
+ "3.0.0-alpha5", sha256="2d2b10901959c26a5bb5c52327cdafc7943bc1b36b77b515b0371221703249ae"
+ )
+ version(
+ "3.0.0-alpha4", sha256="0bb8bde43b27d852b1fb6e359a7157354544557ad83d87987b03f5d629ce5493"
+ )
+
+ depends_on("python@3.8:", type=("build", "run"), when="@3.0.0-alpha6:")
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@40.6:", type="build")
+ depends_on("vtk+python", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-dask-glm/package.py b/var/spack/repos/builtin/packages/py-dask-glm/package.py
index 23aec6cc15..4bb43e1c3b 100644
--- a/var/spack/repos/builtin/packages/py-dask-glm/package.py
+++ b/var/spack/repos/builtin/packages/py-dask-glm/package.py
@@ -8,40 +8,40 @@ from spack.package import *
class PyDaskGlm(PythonPackage):
"""Dask-glm is a library for fitting Generalized Linear Models on
- large datasets."""
+ large datasets."""
homepage = "https://dask-glm.readthedocs.io/en/latest/"
pypi = "dask-glm/dask-glm-0.2.0.tar.gz"
- version('0.2.0', sha256='58b86cebf04fe5b9e58092e1c467e32e60d01e11b71fdc628baaa9fc6d1adee5')
-
- variant('docs', default=False, description='Build HTML documentation')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'))
- depends_on('py-dask+array', type=('build', 'run'))
- depends_on('py-multipledispatch@0.4.9:', type=('build', 'run'))
- depends_on('py-scipy@0.18.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.18:', type=('build', 'run'), when='~docs')
- depends_on('py-scikit-learn@0.18:0.21', type=('build', 'run'), when='+docs')
- depends_on('py-jupyter', type='build', when='+docs')
- depends_on('py-nbsphinx', type='build', when='+docs')
- depends_on('py-notebook', type='build', when='+docs')
- depends_on('py-numpydoc', type='build', when='+docs')
- depends_on('py-sphinx', type='build', when='+docs')
- depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
- depends_on('pandoc', type='build', when='+docs')
- depends_on('py-pip', type='build', when='+docs')
- depends_on('py-s3fs', type='build', when='+docs')
- depends_on('py-matplotlib', type='build', when='+docs')
- depends_on('llvm@:10.0.1~flang', type='build', when='+docs')
- depends_on('cairo+X+ft+fc+pdf+gobject', type='build', when='+docs')
- depends_on('harfbuzz+graphite2', type='build', when='+docs')
-
- @run_after('install')
+ version("0.2.0", sha256="58b86cebf04fe5b9e58092e1c467e32e60d01e11b71fdc628baaa9fc6d1adee5")
+
+ variant("docs", default=False, description="Build HTML documentation")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-cloudpickle@0.2.2:", type=("build", "run"))
+ depends_on("py-dask+array", type=("build", "run"))
+ depends_on("py-multipledispatch@0.4.9:", type=("build", "run"))
+ depends_on("py-scipy@0.18.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18:", type=("build", "run"), when="~docs")
+ depends_on("py-scikit-learn@0.18:0.21", type=("build", "run"), when="+docs")
+ depends_on("py-jupyter", type="build", when="+docs")
+ depends_on("py-nbsphinx", type="build", when="+docs")
+ depends_on("py-notebook", type="build", when="+docs")
+ depends_on("py-numpydoc", type="build", when="+docs")
+ depends_on("py-sphinx", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
+ depends_on("pandoc", type="build", when="+docs")
+ depends_on("py-pip", type="build", when="+docs")
+ depends_on("py-s3fs", type="build", when="+docs")
+ depends_on("py-matplotlib", type="build", when="+docs")
+ depends_on("llvm@:10.0.1~flang", type="build", when="+docs")
+ depends_on("cairo+X+ft+fc+pdf+gobject", type="build", when="+docs")
+ depends_on("harfbuzz+graphite2", type="build", when="+docs")
+
+ @run_after("install")
def install_docs(self):
- if '+docs' in self.spec:
- with working_dir('docs'):
- make('html')
- install_tree('docs', self.prefix.docs)
+ if "+docs" in self.spec:
+ with working_dir("docs"):
+ make("html")
+ install_tree("docs", self.prefix.docs)
diff --git a/var/spack/repos/builtin/packages/py-dask-ml/package.py b/var/spack/repos/builtin/packages/py-dask-ml/package.py
index ac56cfd8af..d16fecdf26 100644
--- a/var/spack/repos/builtin/packages/py-dask-ml/package.py
+++ b/var/spack/repos/builtin/packages/py-dask-ml/package.py
@@ -10,56 +10,56 @@ class PyDaskMl(PythonPackage):
"""Scalable Machine Learning with Dask."""
homepage = "https://ml.dask.org/"
- pypi = "dask-ml/dask-ml-1.8.0.tar.gz"
+ pypi = "dask-ml/dask-ml-1.8.0.tar.gz"
- version('1.8.0', sha256='8fc4ac3ec1915e382fb8cae9ff1ec9b5ac1bee0b6f4c6975d6e6cb7191a4a815')
+ version("1.8.0", sha256="8fc4ac3ec1915e382fb8cae9ff1ec9b5ac1bee0b6f4c6975d6e6cb7191a4a815")
- variant('docs', default=False, description='Build HTML documentation')
- variant('xgboost', default=False, description='Deploys XGBoost alongside Dask')
+ variant("docs", default=False, description="Build HTML documentation")
+ variant("xgboost", default=False, description="Deploys XGBoost alongside Dask")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
- depends_on('py-dask+array+dataframe@2.4.0:', type=('build', 'run'))
- depends_on('py-distributed@2.4.0:', type=('build', 'run'))
- depends_on('py-numba', type=('build', 'run'))
- depends_on('py-numpy@1.17.3:', type=('build', 'run'))
- depends_on('py-pandas@0.24.2:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.23:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-dask-glm@0.2.0:', type=('build', 'run'))
- depends_on('py-multipledispatch@0.4.9:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
+ depends_on("py-dask+array+dataframe@2.4.0:", type=("build", "run"))
+ depends_on("py-distributed@2.4.0:", type=("build", "run"))
+ depends_on("py-numba", type=("build", "run"))
+ depends_on("py-numpy@1.17.3:", type=("build", "run"))
+ depends_on("py-pandas@0.24.2:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.23:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-dask-glm@0.2.0:", type=("build", "run"))
+ depends_on("py-multipledispatch@0.4.9:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
- depends_on('py-graphviz', type=('build', 'run'), when='+docs')
- depends_on('py-heapdict', type=('build', 'run'), when='+docs')
- depends_on('py-ipykernel', type=('build', 'run'), when='+docs')
- depends_on('py-ipython', type=('build', 'run'), when='+docs')
- depends_on('py-nbsphinx', type=('build', 'run'), when='+docs')
- depends_on('py-nose', type=('build', 'run'), when='+docs')
- depends_on('py-numpydoc', type=('build', 'run'), when='+docs')
- depends_on('py-sortedcontainers', type=('build', 'run'), when='+docs')
- depends_on('py-sphinx', type=('build', 'run'), when='+docs')
- depends_on('py-sphinx-rtd-theme', type=('build', 'run'), when='+docs')
- depends_on('py-sphinx-gallery', type=('build', 'run'), when='+docs')
- depends_on('py-testpath', type=('build', 'run'), when='+docs')
- depends_on('py-tornado', type=('build', 'run'), when='+docs')
- depends_on('py-zict', type=('build', 'run'), when='+docs')
- depends_on('py-dask-sphinx-theme@1.1.0:', type=('build', 'run'), when='+docs')
- depends_on('py-nbsphinx', type=('build', 'run'), when='+docs')
+ depends_on("py-graphviz", type=("build", "run"), when="+docs")
+ depends_on("py-heapdict", type=("build", "run"), when="+docs")
+ depends_on("py-ipykernel", type=("build", "run"), when="+docs")
+ depends_on("py-ipython", type=("build", "run"), when="+docs")
+ depends_on("py-nbsphinx", type=("build", "run"), when="+docs")
+ depends_on("py-nose", type=("build", "run"), when="+docs")
+ depends_on("py-numpydoc", type=("build", "run"), when="+docs")
+ depends_on("py-sortedcontainers", type=("build", "run"), when="+docs")
+ depends_on("py-sphinx", type=("build", "run"), when="+docs")
+ depends_on("py-sphinx-rtd-theme", type=("build", "run"), when="+docs")
+ depends_on("py-sphinx-gallery", type=("build", "run"), when="+docs")
+ depends_on("py-testpath", type=("build", "run"), when="+docs")
+ depends_on("py-tornado", type=("build", "run"), when="+docs")
+ depends_on("py-zict", type=("build", "run"), when="+docs")
+ depends_on("py-dask-sphinx-theme@1.1.0:", type=("build", "run"), when="+docs")
+ depends_on("py-nbsphinx", type=("build", "run"), when="+docs")
- depends_on('py-xgboost+dask', type=('build', 'run'), when='+docs')
- depends_on('py-xgboost+dask', type=('build', 'run'), when='+xgboost')
+ depends_on("py-xgboost+dask", type=("build", "run"), when="+docs")
+ depends_on("py-xgboost+dask", type=("build", "run"), when="+xgboost")
- patch('xgboost_dependency.patch')
+ patch("xgboost_dependency.patch")
- conflicts('+docs', when='%gcc target=aarch64:')
+ conflicts("+docs", when="%gcc target=aarch64:")
- @run_after('install')
+ @run_after("install")
def install_docs(self):
- if '+docs' in self.spec:
- with working_dir('docs'):
- make('html')
- install_tree('docs', self.prefix.docs)
+ if "+docs" in self.spec:
+ with working_dir("docs"):
+ make("html")
+ install_tree("docs", self.prefix.docs)
diff --git a/var/spack/repos/builtin/packages/py-dask-sphinx-theme/package.py b/var/spack/repos/builtin/packages/py-dask-sphinx-theme/package.py
index de217a4a51..d78a1b22c8 100644
--- a/var/spack/repos/builtin/packages/py-dask-sphinx-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-dask-sphinx-theme/package.py
@@ -12,7 +12,7 @@ class PyDaskSphinxTheme(PythonPackage):
homepage = "https://github.com/dask/dask-sphinx-theme/"
pypi = "dask_sphinx_theme/dask_sphinx_theme-1.3.5.tar.gz"
- version('1.3.5', sha256='151970cf0efedeb398fd6ca080407d3e81b4584d333e24498262d954171baa33')
+ version("1.3.5", sha256="151970cf0efedeb398fd6ca080407d3e81b4584d333e24498262d954171baa33")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx-rtd-theme', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx-rtd-theme", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dask/package.py b/var/spack/repos/builtin/packages/py-dask/package.py
index ad330a4c32..c28a8b5747 100644
--- a/var/spack/repos/builtin/packages/py-dask/package.py
+++ b/var/spack/repos/builtin/packages/py-dask/package.py
@@ -12,186 +12,190 @@ class PyDask(PythonPackage):
homepage = "https://github.com/dask/dask/"
pypi = "dask/dask-1.1.0.tar.gz"
- maintainers = ['skosukhin']
-
- version('2021.6.2', sha256='8588fcd1a42224b7cfcd2ebc8ad616734abb6b1a4517efd52d89c7dd66eb91f8')
- version('2021.4.1', sha256='195e4eeb154222ea7a1c368119b5f321ee4ec9d78531471fe0145a527f744aa8')
- version('2020.12.0', sha256='43e745afd4b464e6c0113131e430a16dce6ac42460b06e24d799093d098f7ab0')
- version('2.16.0', sha256='2af5b0dcd48ce679ce0321cf91de623f4fe376262789b951fefa3c334002f350')
- version('1.2.2', sha256='5e7876bae2a01b355d1969b73aeafa23310febd8c353163910b73e93dc7e492c')
- version('1.1.2', sha256='93b355b9a9c9a3ddbb39fab99d5759aad5cfd346f4520b87788970e80cf97256')
- version('1.1.0', sha256='e76088e8931b326c05a92d2658e07b94a6852b42c13a7560505a8b2354871454')
- version('0.17.4', sha256='c111475a3d1f8cba41c8094e1fb1831c65015390dcef0308042a11a9606a2f6d')
- version('0.8.1', sha256='43deb1934cd033668e5e60b735f45c9c3ee2813f87bd51c243f975e55267fa43')
-
- variant('array', default=True, description='Install requirements for dask.array')
- variant('bag', default=True, description='Install requirements for dask.bag')
- variant('dataframe', default=True, description='Install requirements for dask.dataframe')
- variant('distributed', default=True, description='Install requirements for dask.distributed')
- variant('diagnostics', default=False, description='Install requirements for dask.diagnostics')
- variant('delayed', default=True, description='Install requirements for dask.delayed (dask.imperative)')
- variant('yaml', default=True, description='Ensure support for YAML configuration files')
-
- conflicts('~bag', when='@2021.3.1:')
- conflicts('+distributed', when='@:0.4.0,0.7.6:0.8.1')
- conflicts('+diagnostics', when='@:0.5.0')
- conflicts('~delayed', when='@2021.3.1:')
- conflicts('+yaml', when='@:0.17.5')
- conflicts('~yaml', when='@2.17.1:')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@2.0.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.7.0:')
- depends_on('python@3.7:', type=('build', 'run'), when='@2021.3.1:')
-
- depends_on('py-setuptools', type='build')
+ maintainers = ["skosukhin"]
+
+ version("2021.6.2", sha256="8588fcd1a42224b7cfcd2ebc8ad616734abb6b1a4517efd52d89c7dd66eb91f8")
+ version("2021.4.1", sha256="195e4eeb154222ea7a1c368119b5f321ee4ec9d78531471fe0145a527f744aa8")
+ version("2020.12.0", sha256="43e745afd4b464e6c0113131e430a16dce6ac42460b06e24d799093d098f7ab0")
+ version("2.16.0", sha256="2af5b0dcd48ce679ce0321cf91de623f4fe376262789b951fefa3c334002f350")
+ version("1.2.2", sha256="5e7876bae2a01b355d1969b73aeafa23310febd8c353163910b73e93dc7e492c")
+ version("1.1.2", sha256="93b355b9a9c9a3ddbb39fab99d5759aad5cfd346f4520b87788970e80cf97256")
+ version("1.1.0", sha256="e76088e8931b326c05a92d2658e07b94a6852b42c13a7560505a8b2354871454")
+ version("0.17.4", sha256="c111475a3d1f8cba41c8094e1fb1831c65015390dcef0308042a11a9606a2f6d")
+ version("0.8.1", sha256="43deb1934cd033668e5e60b735f45c9c3ee2813f87bd51c243f975e55267fa43")
+
+ variant("array", default=True, description="Install requirements for dask.array")
+ variant("bag", default=True, description="Install requirements for dask.bag")
+ variant("dataframe", default=True, description="Install requirements for dask.dataframe")
+ variant("distributed", default=True, description="Install requirements for dask.distributed")
+ variant("diagnostics", default=False, description="Install requirements for dask.diagnostics")
+ variant(
+ "delayed",
+ default=True,
+ description="Install requirements for dask.delayed (dask.imperative)",
+ )
+ variant("yaml", default=True, description="Ensure support for YAML configuration files")
+
+ conflicts("~bag", when="@2021.3.1:")
+ conflicts("+distributed", when="@:0.4.0,0.7.6:0.8.1")
+ conflicts("+diagnostics", when="@:0.5.0")
+ conflicts("~delayed", when="@2021.3.1:")
+ conflicts("+yaml", when="@:0.17.5")
+ conflicts("~yaml", when="@2.17.1:")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"), when="@2.0.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.7.0:")
+ depends_on("python@3.7:", type=("build", "run"), when="@2021.3.1:")
+
+ depends_on("py-setuptools", type="build")
# Common requirements
- depends_on('py-pyyaml', type=('build', 'run'), when='@2.17.1:')
- depends_on('py-cloudpickle@1.1.1:', type=('build', 'run'), when='@2021.3.1:')
- depends_on('py-fsspec@0.6.0:', type=('build', 'run'), when='@2021.3.1:')
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2021.3.1:')
- depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2021.3.1:')
+ depends_on("py-pyyaml", type=("build", "run"), when="@2.17.1:")
+ depends_on("py-cloudpickle@1.1.1:", type=("build", "run"), when="@2021.3.1:")
+ depends_on("py-fsspec@0.6.0:", type=("build", "run"), when="@2021.3.1:")
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2021.3.1:")
+ depends_on("py-partd@0.3.10:", type=("build", "run"), when="@2021.3.1:")
# Requirements for dask.array
- depends_on('py-numpy', type=('build', 'run'), when='@:0.17.1 +array')
- depends_on('py-numpy@1.10.4:', type=('build', 'run'), when='@0.17.2: +array')
- depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='@0.17.3: +array')
- depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.1: +array')
- depends_on('py-numpy@1.15.1:', type=('build', 'run'), when='@2020.12.0: +array')
- depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@2021.3.1: +array')
-
- depends_on('py-toolz', type=('build', 'run'), when='@:0.6.1 +array')
- depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +array')
- depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +array')
+ depends_on("py-numpy", type=("build", "run"), when="@:0.17.1 +array")
+ depends_on("py-numpy@1.10.4:", type=("build", "run"), when="@0.17.2: +array")
+ depends_on("py-numpy@1.11.0:", type=("build", "run"), when="@0.17.3: +array")
+ depends_on("py-numpy@1.13.0:", type=("build", "run"), when="@1.2.1: +array")
+ depends_on("py-numpy@1.15.1:", type=("build", "run"), when="@2020.12.0: +array")
+ depends_on("py-numpy@1.16.0:", type=("build", "run"), when="@2021.3.1: +array")
+
+ depends_on("py-toolz", type=("build", "run"), when="@:0.6.1 +array")
+ depends_on("py-toolz@0.7.2:", type=("build", "run"), when="@0.7.0: +array")
+ depends_on("py-toolz@0.7.3:", type=("build", "run"), when="@0.14.1: +array")
# The dependency on py-toolz is non-optional starting version 2021.3.1
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +array')
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +array")
# Requirements for dask.bag
- depends_on('py-dill', type=('build', 'run'), when='@:0.7.5 +bag')
- depends_on('py-cloudpickle', type=('build', 'run'), when='@0.7.6: +bag')
- depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@0.8.2: +bag')
+ depends_on("py-dill", type=("build", "run"), when="@:0.7.5 +bag")
+ depends_on("py-cloudpickle", type=("build", "run"), when="@0.7.6: +bag")
+ depends_on("py-cloudpickle@0.2.1:", type=("build", "run"), when="@0.8.2: +bag")
# The dependency on py-cloudpickle is non-optional starting version 2021.3.1
- depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +bag')
+ depends_on("py-cloudpickle@0.2.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +bag")
- depends_on('py-fsspec@0.3.3:', type=('build', 'run'), when='@2.2.0: +bag')
- depends_on('py-fsspec@0.5.1:', type=('build', 'run'), when='@2.5.0: +bag')
+ depends_on("py-fsspec@0.3.3:", type=("build", "run"), when="@2.2.0: +bag")
+ depends_on("py-fsspec@0.5.1:", type=("build", "run"), when="@2.5.0: +bag")
# The dependency on py-fsspec is non-optional starting version 2021.3.1
- depends_on('py-fsspec@0.6.0:', type=('build', 'run'), when='@2.8.0:2021.3.0 +bag')
+ depends_on("py-fsspec@0.6.0:", type=("build", "run"), when="@2.8.0:2021.3.0 +bag")
- depends_on('py-toolz', type=('build', 'run'), when='@:0.6.1 +bag')
- depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +bag')
- depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +bag')
+ depends_on("py-toolz", type=("build", "run"), when="@:0.6.1 +bag")
+ depends_on("py-toolz@0.7.2:", type=("build", "run"), when="@0.7.0: +bag")
+ depends_on("py-toolz@0.7.3:", type=("build", "run"), when="@0.14.1: +bag")
# The dependency on py-toolz is non-optional starting version 2021.3.1
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +bag')
-
- depends_on('py-partd@0.3.2:', type=('build', 'run'), when='@0.6.0: +bag')
- depends_on('py-partd@0.3.3:', type=('build', 'run'), when='@0.9.0: +bag')
- depends_on('py-partd@0.3.5:', type=('build', 'run'), when='@0.10.2: +bag')
- depends_on('py-partd@0.3.6:', type=('build', 'run'), when='@0.12.0: +bag')
- depends_on('py-partd@0.3.7:', type=('build', 'run'), when='@0.13.0: +bag')
- depends_on('py-partd@0.3.8:', type=('build', 'run'), when='@0.15.0: +bag')
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +bag")
+
+ depends_on("py-partd@0.3.2:", type=("build", "run"), when="@0.6.0: +bag")
+ depends_on("py-partd@0.3.3:", type=("build", "run"), when="@0.9.0: +bag")
+ depends_on("py-partd@0.3.5:", type=("build", "run"), when="@0.10.2: +bag")
+ depends_on("py-partd@0.3.6:", type=("build", "run"), when="@0.12.0: +bag")
+ depends_on("py-partd@0.3.7:", type=("build", "run"), when="@0.13.0: +bag")
+ depends_on("py-partd@0.3.8:", type=("build", "run"), when="@0.15.0: +bag")
# The dependency on py-partd is non-optional starting version 2021.3.1
- depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2.0.0:2021.3.0 +bag')
+ depends_on("py-partd@0.3.10:", type=("build", "run"), when="@2.0.0:2021.3.0 +bag")
# Requirements for dask.dataframe
- depends_on('py-numpy', type=('build', 'run'), when='@:0.17.1 +dataframe')
- depends_on('py-numpy@1.10.4:', type=('build', 'run'), when='@0.17.2: +dataframe')
- depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='@0.17.3: +dataframe')
- depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@1.2.1: +dataframe')
- depends_on('py-numpy@1.15.1:', type=('build', 'run'), when='@2020.12.0: +dataframe')
- depends_on('py-numpy@1.16.0:', type=('build', 'run'), when='@2021.3.1: +dataframe')
-
- depends_on('py-pandas@0.16.0:', type=('build', 'run'), when='+dataframe')
- depends_on('py-pandas@0.18.0:', type=('build', 'run'), when='@0.9.0: +dataframe')
- depends_on('py-pandas@0.19.0:', type=('build', 'run'), when='@0.14.0: +dataframe')
- depends_on('py-pandas@0.21.0:', type=('build', 'run'), when='@1.2.1: +dataframe')
- depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='@2.11.0: +dataframe')
- depends_on('py-pandas@0.25.0:', type=('build', 'run'), when='@2020.12.0: +dataframe')
-
- depends_on('py-toolz', type=('build', 'run'), when='@:0.6.1 +dataframe')
- depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.7.0: +dataframe')
- depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +dataframe')
+ depends_on("py-numpy", type=("build", "run"), when="@:0.17.1 +dataframe")
+ depends_on("py-numpy@1.10.4:", type=("build", "run"), when="@0.17.2: +dataframe")
+ depends_on("py-numpy@1.11.0:", type=("build", "run"), when="@0.17.3: +dataframe")
+ depends_on("py-numpy@1.13.0:", type=("build", "run"), when="@1.2.1: +dataframe")
+ depends_on("py-numpy@1.15.1:", type=("build", "run"), when="@2020.12.0: +dataframe")
+ depends_on("py-numpy@1.16.0:", type=("build", "run"), when="@2021.3.1: +dataframe")
+
+ depends_on("py-pandas@0.16.0:", type=("build", "run"), when="+dataframe")
+ depends_on("py-pandas@0.18.0:", type=("build", "run"), when="@0.9.0: +dataframe")
+ depends_on("py-pandas@0.19.0:", type=("build", "run"), when="@0.14.0: +dataframe")
+ depends_on("py-pandas@0.21.0:", type=("build", "run"), when="@1.2.1: +dataframe")
+ depends_on("py-pandas@0.23.0:", type=("build", "run"), when="@2.11.0: +dataframe")
+ depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@2020.12.0: +dataframe")
+
+ depends_on("py-toolz", type=("build", "run"), when="@:0.6.1 +dataframe")
+ depends_on("py-toolz@0.7.2:", type=("build", "run"), when="@0.7.0: +dataframe")
+ depends_on("py-toolz@0.7.3:", type=("build", "run"), when="@0.14.1: +dataframe")
# The dependency on py-toolz is non-optional starting version 2021.3.1
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +dataframe')
-
- depends_on('py-partd@0.3.2:', type=('build', 'run'), when='@0.6.0: +dataframe')
- depends_on('py-partd@0.3.3:', type=('build', 'run'), when='@0.9.0: +dataframe')
- depends_on('py-partd@0.3.5:', type=('build', 'run'), when='@0.10.2: +dataframe')
- depends_on('py-partd@0.3.7:', type=('build', 'run'), when='@0.13.0: +dataframe')
- depends_on('py-partd@0.3.8:', type=('build', 'run'), when='@0.15.0: +dataframe')
- depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2.0.0: +dataframe')
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +dataframe")
+
+ depends_on("py-partd@0.3.2:", type=("build", "run"), when="@0.6.0: +dataframe")
+ depends_on("py-partd@0.3.3:", type=("build", "run"), when="@0.9.0: +dataframe")
+ depends_on("py-partd@0.3.5:", type=("build", "run"), when="@0.10.2: +dataframe")
+ depends_on("py-partd@0.3.7:", type=("build", "run"), when="@0.13.0: +dataframe")
+ depends_on("py-partd@0.3.8:", type=("build", "run"), when="@0.15.0: +dataframe")
+ depends_on("py-partd@0.3.10:", type=("build", "run"), when="@2.0.0: +dataframe")
# The dependency on py-partd is non-optional starting version 2021.3.1
- depends_on('py-partd@0.3.10:', type=('build', 'run'), when='@2.0.0:2021.3.0 +dataframe')
+ depends_on("py-partd@0.3.10:", type=("build", "run"), when="@2.0.0:2021.3.0 +dataframe")
- depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@0.8.2:2.6.0 +dataframe')
+ depends_on("py-cloudpickle@0.2.1:", type=("build", "run"), when="@0.8.2:2.6.0 +dataframe")
- depends_on('py-fsspec@0.3.3:', type=('build', 'run'), when='@2.2.0: +dataframe')
- depends_on('py-fsspec@0.5.1:', type=('build', 'run'), when='@2.5.0: +dataframe')
+ depends_on("py-fsspec@0.3.3:", type=("build", "run"), when="@2.2.0: +dataframe")
+ depends_on("py-fsspec@0.5.1:", type=("build", "run"), when="@2.5.0: +dataframe")
# The dependency on py-fsspec is non-optional starting version 2021.3.1
- depends_on('py-fsspec@0.6.0:', type=('build', 'run'), when='@2.8.0:2021.3.0 +dataframe')
+ depends_on("py-fsspec@0.6.0:", type=("build", "run"), when="@2.8.0:2021.3.0 +dataframe")
# Requirements for dask.distributed
- depends_on('py-dill', type=('build', 'run'), when='@:0.7.5 +distributed')
- depends_on('py-pyzmq', type=('build', 'run'), when='@:0.7.5 +distributed')
- depends_on('py-distributed', type=('build', 'run'), when='@0.8.2: +distributed')
- depends_on('py-distributed@1.9:', type=('build', 'run'), when='@0.9.0: +distributed')
- depends_on('py-distributed@1.10:', type=('build', 'run'), when='@0.10.0: +distributed')
- depends_on('py-distributed@1.14:', type=('build', 'run'), when='@0.12.0: +distributed')
- depends_on('py-distributed@1.15:', type=('build', 'run'), when='@0.13.0: +distributed')
- depends_on('py-distributed@1.16:', type=('build', 'run'), when='@0.14.1: +distributed')
- depends_on('py-distributed@1.20:', type=('build', 'run'), when='@0.16.0: +distributed')
- depends_on('py-distributed@1.21:', type=('build', 'run'), when='@0.17.0: +distributed')
- depends_on('py-distributed@1.22:', type=('build', 'run'), when='@0.18.0: +distributed')
- depends_on('py-distributed@2.0:', type=('build', 'run'), when='@2.0.0: +distributed')
- depends_on('py-distributed@2020.12.0:', type=('build', 'run'), when='@2020.12.0: +distributed')
- depends_on('py-distributed@2021.6.2:', type=('build', 'run'), when='@2021.6.2: +distributed')
+ depends_on("py-dill", type=("build", "run"), when="@:0.7.5 +distributed")
+ depends_on("py-pyzmq", type=("build", "run"), when="@:0.7.5 +distributed")
+ depends_on("py-distributed", type=("build", "run"), when="@0.8.2: +distributed")
+ depends_on("py-distributed@1.9:", type=("build", "run"), when="@0.9.0: +distributed")
+ depends_on("py-distributed@1.10:", type=("build", "run"), when="@0.10.0: +distributed")
+ depends_on("py-distributed@1.14:", type=("build", "run"), when="@0.12.0: +distributed")
+ depends_on("py-distributed@1.15:", type=("build", "run"), when="@0.13.0: +distributed")
+ depends_on("py-distributed@1.16:", type=("build", "run"), when="@0.14.1: +distributed")
+ depends_on("py-distributed@1.20:", type=("build", "run"), when="@0.16.0: +distributed")
+ depends_on("py-distributed@1.21:", type=("build", "run"), when="@0.17.0: +distributed")
+ depends_on("py-distributed@1.22:", type=("build", "run"), when="@0.18.0: +distributed")
+ depends_on("py-distributed@2.0:", type=("build", "run"), when="@2.0.0: +distributed")
+ depends_on("py-distributed@2020.12.0:", type=("build", "run"), when="@2020.12.0: +distributed")
+ depends_on("py-distributed@2021.6.2:", type=("build", "run"), when="@2021.6.2: +distributed")
# Requirements for dask.diagnostics
- depends_on('py-bokeh@1.0.0:', type=('build', 'run'), when='@2.0.0: +diagnostics')
- depends_on('py-bokeh@1.0.0:1,2.0.1:', type=('build', 'run'), when='@2.26.0: +diagnostics')
+ depends_on("py-bokeh@1.0.0:", type=("build", "run"), when="@2.0.0: +diagnostics")
+ depends_on("py-bokeh@1.0.0:1,2.0.1:", type=("build", "run"), when="@2.26.0: +diagnostics")
# Requirements for dask.delayed
- depends_on('py-cloudpickle@0.2.1:', type=('build', 'run'), when='@2.7.0: +delayed')
+ depends_on("py-cloudpickle@0.2.1:", type=("build", "run"), when="@2.7.0: +delayed")
# The dependency on py-cloudpickle is non-optional starting version 2021.3.1
- depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +delayed')
+ depends_on("py-cloudpickle@0.2.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +delayed")
- depends_on('py-toolz@0.7.2:', type=('build', 'run'), when='@0.8.1: +delayed')
- depends_on('py-toolz@0.7.3:', type=('build', 'run'), when='@0.14.1: +delayed')
+ depends_on("py-toolz@0.7.2:", type=("build", "run"), when="@0.8.1: +delayed")
+ depends_on("py-toolz@0.7.3:", type=("build", "run"), when="@0.14.1: +delayed")
# The dependency on py-toolz is non-optional starting version 2021.3.1
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0:2021.3.0 +delayed')
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2.13.0:2021.3.0 +delayed")
# Support for YAML configuration files
# The dependency on py-pyyaml is non-optional starting version 2.17.1
- depends_on('py-pyyaml', type=('build', 'run'), when='@0.18.0:2.17.0 +yaml')
+ depends_on("py-pyyaml", type=("build", "run"), when="@0.18.0:2.17.0 +yaml")
@property
def import_modules(self):
- modules = ['dask']
+ modules = ["dask"]
- if self.spec.satisfies('@0.9.0:'):
- modules.append('dask.bytes')
+ if self.spec.satisfies("@0.9.0:"):
+ modules.append("dask.bytes")
- if self.spec.satisfies('@:0.20.2'):
- modules.append('dask.store')
+ if self.spec.satisfies("@:0.20.2"):
+ modules.append("dask.store")
- if '+array' in self.spec:
- modules.append('dask.array')
+ if "+array" in self.spec:
+ modules.append("dask.array")
- if '+bag' in self.spec:
- modules.append('dask.bag')
+ if "+bag" in self.spec:
+ modules.append("dask.bag")
- if self.spec.satisfies('@:0.7.5 +distributed'):
- modules.append('dask.distributed')
+ if self.spec.satisfies("@:0.7.5 +distributed"):
+ modules.append("dask.distributed")
- if '+dataframe' in self.spec:
- modules.append('dask.dataframe')
- if self.spec.satisfies('@0.8.2:'):
- modules.append('dask.dataframe.tseries')
- if self.spec.satisfies('@0.12.0:'):
- modules.append('dask.dataframe.io')
+ if "+dataframe" in self.spec:
+ modules.append("dask.dataframe")
+ if self.spec.satisfies("@0.8.2:"):
+ modules.append("dask.dataframe.tseries")
+ if self.spec.satisfies("@0.12.0:"):
+ modules.append("dask.dataframe.io")
- if '+diagnostics' in self.spec:
- modules.append('dask.diagnostics')
+ if "+diagnostics" in self.spec:
+ modules.append("dask.diagnostics")
return modules
diff --git a/var/spack/repos/builtin/packages/py-dataclasses/package.py b/var/spack/repos/builtin/packages/py-dataclasses/package.py
index 57f93ebf69..a3de7b2313 100644
--- a/var/spack/repos/builtin/packages/py-dataclasses/package.py
+++ b/var/spack/repos/builtin/packages/py-dataclasses/package.py
@@ -12,8 +12,8 @@ class PyDataclasses(PythonPackage):
homepage = "https://github.com/ericvsmith/dataclasses"
pypi = "dataclasses/dataclasses-0.7.tar.gz"
- version('0.8', sha256='8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97')
- version('0.7', sha256='494a6dcae3b8bcf80848eea2ef64c0cc5cd307ffc263e17cdf42f3e5420808e6')
+ version("0.8", sha256="8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97")
+ version("0.7", sha256="494a6dcae3b8bcf80848eea2ef64c0cc5cd307ffc263e17cdf42f3e5420808e6")
- depends_on('python@3.6.00:3.6', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6.00:3.6", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-datacube/package.py b/var/spack/repos/builtin/packages/py-datacube/package.py
index 98d8cae2bb..0e25c3ae9b 100644
--- a/var/spack/repos/builtin/packages/py-datacube/package.py
+++ b/var/spack/repos/builtin/packages/py-datacube/package.py
@@ -10,40 +10,53 @@ class PyDatacube(PythonPackage):
"""An analysis environment for satellite and other earth observation data."""
homepage = "https://github.com/opendatacube/datacube-core"
- pypi = "datacube/datacube-1.8.3.tar.gz"
+ pypi = "datacube/datacube-1.8.3.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.8.3', sha256='d1e1a49c615fdaebf6e6008da7f925bc09e9d7bf94f259a1c596d266d1c36649')
+ version("1.8.3", sha256="d1e1a49c615fdaebf6e6008da7f925bc09e9d7bf94f259a1c596d266d1c36649")
# Excluding 'datacube.utils.aws' since it requires 'boto3'
import_modules = [
- 'datacube_apps', 'datacube_apps.stacker', 'datacube', 'datacube.ui',
- 'datacube.drivers', 'datacube.drivers.rio', 'datacube.drivers.postgres',
- 'datacube.drivers.netcdf', 'datacube.utils', 'datacube.utils.rio',
- 'datacube.utils.geometry', 'datacube.storage', 'datacube.execution',
- 'datacube.virtual', 'datacube.scripts', 'datacube.model', 'datacube.api',
- 'datacube.index', 'datacube.testutils'
+ "datacube_apps",
+ "datacube_apps.stacker",
+ "datacube",
+ "datacube.ui",
+ "datacube.drivers",
+ "datacube.drivers.rio",
+ "datacube.drivers.postgres",
+ "datacube.drivers.netcdf",
+ "datacube.utils",
+ "datacube.utils.rio",
+ "datacube.utils.geometry",
+ "datacube.storage",
+ "datacube.execution",
+ "datacube.virtual",
+ "datacube.scripts",
+ "datacube.model",
+ "datacube.api",
+ "datacube.index",
+ "datacube.testutils",
]
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-affine', type=('build', 'run'))
- depends_on('py-pyproj@2.5:', type=('build', 'run'))
- depends_on('py-shapely@1.6.4:', type=('build', 'run'))
- depends_on('py-cachetools', type=('build', 'run'))
- depends_on('py-click@5.0:', type=('build', 'run'))
- depends_on('py-cloudpickle@0.4:', type=('build', 'run'))
- depends_on('py-dask+array', type=('build', 'run'))
- depends_on('py-distributed', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-psycopg2', type=('build', 'run'))
- depends_on('py-lark@0.6.7:', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-rasterio@1.0.2:', type=('build', 'run'))
- depends_on('py-sqlalchemy', type=('build', 'run'))
- depends_on('py-toolz', type=('build', 'run'))
- depends_on('py-xarray@0.9:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-affine", type=("build", "run"))
+ depends_on("py-pyproj@2.5:", type=("build", "run"))
+ depends_on("py-shapely@1.6.4:", type=("build", "run"))
+ depends_on("py-cachetools", type=("build", "run"))
+ depends_on("py-click@5.0:", type=("build", "run"))
+ depends_on("py-cloudpickle@0.4:", type=("build", "run"))
+ depends_on("py-dask+array", type=("build", "run"))
+ depends_on("py-distributed", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-psycopg2", type=("build", "run"))
+ depends_on("py-lark@0.6.7:", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-rasterio@1.0.2:", type=("build", "run"))
+ depends_on("py-sqlalchemy", type=("build", "run"))
+ depends_on("py-toolz", type=("build", "run"))
+ depends_on("py-xarray@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-datalad-container/package.py b/var/spack/repos/builtin/packages/py-datalad-container/package.py
index 763a136bdb..4c6a480019 100644
--- a/var/spack/repos/builtin/packages/py-datalad-container/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad-container/package.py
@@ -10,10 +10,10 @@ class PyDataladContainer(PythonPackage):
"""DataLad extension package for working with containerized environments"""
homepage = "https://github.com/datalad/datalad-container/"
- pypi = "datalad_container/datalad_container-1.1.5.tar.gz"
+ pypi = "datalad_container/datalad_container-1.1.5.tar.gz"
- version('1.1.5', sha256='f6099a0124ddb2f021531d5020a583eca3cd9243e4e609b0f58e3f72e779b601')
+ version("1.1.5", sha256="f6099a0124ddb2f021531d5020a583eca3cd9243e4e609b0f58e3f72e779b601")
- depends_on('py-setuptools', type='build')
- depends_on('py-datalad@0.13:', type='run')
- depends_on('py-requests@1.2:', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-datalad@0.13:", type="run")
+ depends_on("py-requests@1.2:", type="run")
diff --git a/var/spack/repos/builtin/packages/py-datalad-hirni/package.py b/var/spack/repos/builtin/packages/py-datalad-hirni/package.py
index dc43266daa..9ca3d681ab 100644
--- a/var/spack/repos/builtin/packages/py-datalad-hirni/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad-hirni/package.py
@@ -10,14 +10,14 @@ class PyDataladHirni(PythonPackage):
"""DataLad extension for raw data capturing and conversion workflows"""
homepage = "https://github.com/psychoinformatics-de/datalad-hirni"
- pypi = "datalad_hirni/datalad_hirni-0.0.8.tar.gz"
+ pypi = "datalad_hirni/datalad_hirni-0.0.8.tar.gz"
- version('0.0.8', sha256='4a43fd8b895763fe930a7f98dabcf5c152a0680b6fdadccc1defce460d135dc7')
+ version("0.0.8", sha256="4a43fd8b895763fe930a7f98dabcf5c152a0680b6fdadccc1defce460d135dc7")
- depends_on('py-setuptools', type='build')
- depends_on('py-datalad+full@0.14.0:', type=('build', 'run'))
- depends_on('py-datalad-metalad@0.2.0:', type=('build', 'run'))
- depends_on('py-datalad-neuroimaging@0.3.1:', type=('build', 'run'))
- depends_on('py-datalad-container@1.1.2:', type=('build', 'run'))
- depends_on('py-datalad-webapp@0.3:', type=('build', 'run'))
- depends_on('git-annex', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-datalad+full@0.14.0:", type=("build", "run"))
+ depends_on("py-datalad-metalad@0.2.0:", type=("build", "run"))
+ depends_on("py-datalad-neuroimaging@0.3.1:", type=("build", "run"))
+ depends_on("py-datalad-container@1.1.2:", type=("build", "run"))
+ depends_on("py-datalad-webapp@0.3:", type=("build", "run"))
+ depends_on("git-annex", type="run")
diff --git a/var/spack/repos/builtin/packages/py-datalad-metalad/package.py b/var/spack/repos/builtin/packages/py-datalad-metalad/package.py
index b090123596..6dc4a75dda 100644
--- a/var/spack/repos/builtin/packages/py-datalad-metalad/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad-metalad/package.py
@@ -10,10 +10,10 @@ class PyDataladMetalad(PythonPackage):
"""DataLad extension for semantic metadata handling"""
homepage = "https://github.com/datalad/datalad-metalad/"
- pypi = "datalad_metalad/datalad_metalad-0.2.1.tar.gz"
+ pypi = "datalad_metalad/datalad_metalad-0.2.1.tar.gz"
- version('0.2.1', sha256='70fe423136a168f7630b3e0ff1951e776d61e7d5f36670bddf24299ac0870285')
+ version("0.2.1", sha256="70fe423136a168f7630b3e0ff1951e776d61e7d5f36670bddf24299ac0870285")
- depends_on('py-setuptools', type=('build'))
- depends_on('py-datalad@0.12.3:', type=('build', 'run'))
- depends_on('git-annex', type=('run'))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-datalad@0.12.3:", type=("build", "run"))
+ depends_on("git-annex", type=("run"))
diff --git a/var/spack/repos/builtin/packages/py-datalad-neuroimaging/package.py b/var/spack/repos/builtin/packages/py-datalad-neuroimaging/package.py
index d33ec253f9..0982e1a004 100644
--- a/var/spack/repos/builtin/packages/py-datalad-neuroimaging/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad-neuroimaging/package.py
@@ -10,14 +10,14 @@ class PyDataladNeuroimaging(PythonPackage):
"""DataLad extension package for neuro/medical imaging"""
homepage = "https://github.com/datalad/datalad-neuroimaging"
- pypi = "datalad_neuroimaging/datalad_neuroimaging-0.3.1.tar.gz"
+ pypi = "datalad_neuroimaging/datalad_neuroimaging-0.3.1.tar.gz"
- version('0.3.1', sha256='aaf7a3d10e8e7df1d8dee09e485bbe26787f496fb2302ed7ddea55a470a0f96e')
+ version("0.3.1", sha256="aaf7a3d10e8e7df1d8dee09e485bbe26787f496fb2302ed7ddea55a470a0f96e")
- depends_on('py-setuptools', type='build')
- depends_on('py-datalad@0.12:', type=('build', 'run'))
- depends_on('py-pydicom', type=('build', 'run'))
- depends_on('py-pybids@0.9.2:', type=('build', 'run'))
- depends_on('py-nibabel', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('git-annex', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-datalad@0.12:", type=("build", "run"))
+ depends_on("py-pydicom", type=("build", "run"))
+ depends_on("py-pybids@0.9.2:", type=("build", "run"))
+ depends_on("py-nibabel", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("git-annex", type="run")
diff --git a/var/spack/repos/builtin/packages/py-datalad-webapp/package.py b/var/spack/repos/builtin/packages/py-datalad-webapp/package.py
index 2d891bbf7d..525735999d 100644
--- a/var/spack/repos/builtin/packages/py-datalad-webapp/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad-webapp/package.py
@@ -10,12 +10,12 @@ class PyDataladWebapp(PythonPackage):
"""DataLad extension for exposing commands via a web request API"""
homepage = "https://github.com/datalad/datalad-webapp"
- pypi = "datalad_webapp/datalad_webapp-0.3.tar.gz"
+ pypi = "datalad_webapp/datalad_webapp-0.3.tar.gz"
- version('0.3', sha256='7bbb2ce58a7e0e6d1a7a2f33d7e50fe7e73cd764380e70fdc2d9f651c3d0e312')
+ version("0.3", sha256="7bbb2ce58a7e0e6d1a7a2f33d7e50fe7e73cd764380e70fdc2d9f651c3d0e312")
- depends_on('py-setuptools', type='build')
- depends_on('py-datalad@0.12.5:', type=('build', 'run'))
- depends_on('py-flask@1.0:', type=('build', 'run'))
- depends_on('py-flask-restful', type=('build', 'run'))
- depends_on('py-pytest-cov', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-datalad@0.12.5:", type=("build", "run"))
+ depends_on("py-flask@1.0:", type=("build", "run"))
+ depends_on("py-flask-restful", type=("build", "run"))
+ depends_on("py-pytest-cov", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-datalad/package.py b/var/spack/repos/builtin/packages/py-datalad/package.py
index 65058bb6b0..9df5cde46b 100644
--- a/var/spack/repos/builtin/packages/py-datalad/package.py
+++ b/var/spack/repos/builtin/packages/py-datalad/package.py
@@ -18,106 +18,106 @@ class PyDatalad(PythonPackage):
"""
homepage = "https://datalad.org/"
- pypi = "datalad/datalad-0.14.6.tar.gz"
+ pypi = "datalad/datalad-0.14.6.tar.gz"
- version('0.15.5', sha256='e569494a5bd4e0f100013ec30529d5ac02e78ba476a75fc533c0d89c0e5473bc')
- version('0.15.3', sha256='44f8c5b3960c6d9848aeecd868c82330c49689a21e975597df5b112dc2e5c9f0')
- version('0.15.2', sha256='1a878cf521270f089ee1f50339e71cfd7eed41e708d895a12d5c483a9b59991b')
- version('0.15.1', sha256='0a905b3c3419786ae85b61a7aee34b0fc9eecd814f38408f2767ae7122b57a8b')
- version('0.14.6', sha256='149b25a00da133a81be3cbdc041a1985418f0918fa5961ba979e23b5b3c08c63')
+ version("0.15.5", sha256="e569494a5bd4e0f100013ec30529d5ac02e78ba476a75fc533c0d89c0e5473bc")
+ version("0.15.3", sha256="44f8c5b3960c6d9848aeecd868c82330c49689a21e975597df5b112dc2e5c9f0")
+ version("0.15.2", sha256="1a878cf521270f089ee1f50339e71cfd7eed41e708d895a12d5c483a9b59991b")
+ version("0.15.1", sha256="0a905b3c3419786ae85b61a7aee34b0fc9eecd814f38408f2767ae7122b57a8b")
+ 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")
+ 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("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'))
+ 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-packaging', type=('build', 'run'), when='@0.15.4:')
- 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'))
+ 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-packaging", type=("build", "run"), when="@0.15.4:")
+ 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'))
+ 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"))
# publish
- depends_on('py-pygithub', type=('build', 'run'))
- depends_on('py-python-gitlab', type=('build', 'run'), when='@0.14.7:')
- depends_on('py-jsmin', type=('build', 'run'), when='@:0.14')
+ depends_on("py-pygithub", type=("build", "run"))
+ depends_on("py-python-gitlab", type=("build", "run"), when="@0.14.7:")
+ depends_on("py-jsmin", type=("build", "run"), when="@:0.14")
# 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-argcomplete', type=('build', 'run'), when='@0.14.7:')
- 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('pil', type=('build', 'run'))
-
- with when('+duecredit'):
- depends_on('py-duecredit', type=('build', 'run'))
-
- with when('+full'):
+ 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-argcomplete", type=("build", "run"), when="@0.14.7:")
+ 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("pil", type=("build", "run"))
+
+ with when("+duecredit"):
+ depends_on("py-duecredit", type=("build", "run"))
+
+ with when("+full"):
# all the above
# downloaders-extra
- depends_on('py-requests-ftp', type=('build', 'run'))
+ depends_on("py-requests-ftp", type=("build", "run"))
# misc
- depends_on('py-argcomplete', type=('build', 'run'), when='@0.14.7:')
- depends_on('py-pyperclip', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
+ depends_on("py-argcomplete", type=("build", "run"), when="@0.14.7:")
+ 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'))
+ 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('pil', type=('build', 'run'))
+ 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("pil", type=("build", "run"))
# duecredit
- depends_on('py-duecredit', type=('build', 'run'))
+ depends_on("py-duecredit", type=("build", "run"))
- install_time_test_callbacks = ['test', 'installtest']
+ install_time_test_callbacks = ["test", "installtest"]
def installtest(self):
datalad = Executable(self.prefix.bin.datalad)
- datalad('wtf')
+ datalad("wtf")
diff --git a/var/spack/repos/builtin/packages/py-datasets/package.py b/var/spack/repos/builtin/packages/py-datasets/package.py
index fbc578bfef..58f027a841 100644
--- a/var/spack/repos/builtin/packages/py-datasets/package.py
+++ b/var/spack/repos/builtin/packages/py-datasets/package.py
@@ -12,24 +12,24 @@ class PyDatasets(PythonPackage):
efficient data pre-processing."""
homepage = "https://github.com/huggingface/datasets"
- pypi = "datasets/datasets-1.8.0.tar.gz"
+ pypi = "datasets/datasets-1.8.0.tar.gz"
- version('1.8.0', sha256='d57c32bb29e453ee7f3eb0bbca3660ab4dd2d0e4648efcfa987432624cab29d3')
+ version("1.8.0", sha256="d57c32bb29e453ee7f3eb0bbca3660ab4dd2d0e4648efcfa987432624cab29d3")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.17:', type=('build', 'run'))
- depends_on('py-pyarrow@1.0.0:3+parquet', type=('build', 'run'))
- depends_on('py-dill', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-requests@2.19:', type=('build', 'run'))
- depends_on('py-tqdm@4.27:4.49', type=('build', 'run'))
- depends_on('py-dataclasses', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-xxhash', type=('build', 'run'))
- depends_on('py-multiprocess', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-huggingface-hub@:0.0', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.17:", type=("build", "run"))
+ depends_on("py-pyarrow@1.0.0:3+parquet", type=("build", "run"))
+ depends_on("py-dill", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-requests@2.19:", type=("build", "run"))
+ depends_on("py-tqdm@4.27:4.49", type=("build", "run"))
+ depends_on("py-dataclasses", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-xxhash", type=("build", "run"))
+ depends_on("py-multiprocess", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-huggingface-hub@:0.0", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
- depends_on('py-fsspec@:0.8.0', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-fsspec', when='^python@3.8:', type=('build', 'run'))
+ depends_on("py-fsspec@:0.8.0", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-fsspec", when="^python@3.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dateparser/package.py b/var/spack/repos/builtin/packages/py-dateparser/package.py
index e5ead457c9..2b15b4a43f 100644
--- a/var/spack/repos/builtin/packages/py-dateparser/package.py
+++ b/var/spack/repos/builtin/packages/py-dateparser/package.py
@@ -12,17 +12,17 @@ class PyDateparser(PythonPackage):
homepage = "https://github.com/scrapinghub/dateparser"
pypi = "dateparser/dateparser-0.7.2.tar.gz"
- version('0.7.2', sha256='e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b')
+ version("0.7.2", sha256="e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b")
- variant('calendars', default=True, description='Add calendar libraries')
+ variant("calendars", default=True, description="Add calendar libraries")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil@2.7.5:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-tzlocal', type=('build', 'run'))
- depends_on('py-umalqurra', type=('build', 'run'), when='+calendars')
- depends_on('py-ruamel-yaml', type=('build', 'run'), when='+calendars')
- depends_on('py-convertdate', type=('build', 'run'), when='+calendars')
- depends_on('py-jdatetime', type=('build', 'run'), when='+calendars')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil@2.7.5:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-tzlocal", type=("build", "run"))
+ depends_on("py-umalqurra", type=("build", "run"), when="+calendars")
+ depends_on("py-ruamel-yaml", type=("build", "run"), when="+calendars")
+ depends_on("py-convertdate", type=("build", "run"), when="+calendars")
+ depends_on("py-jdatetime", type=("build", "run"), when="+calendars")
diff --git a/var/spack/repos/builtin/packages/py-datrie/package.py b/var/spack/repos/builtin/packages/py-datrie/package.py
index 290c6f70c0..2497a1e10d 100644
--- a/var/spack/repos/builtin/packages/py-datrie/package.py
+++ b/var/spack/repos/builtin/packages/py-datrie/package.py
@@ -10,11 +10,11 @@ class PyDatrie(PythonPackage):
"""Super-fast, efficiently stored Trie for Python (2.x and 3.x). Uses libdatrie."""
pypi = "datrie/datrie-0.8.2.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('0.8.2', '525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d')
+ version("0.8.2", "525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', type=('build'))
- depends_on('py-cython@0.28:', type='build')
- depends_on('py-pytest-runner', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", type=("build"))
+ depends_on("py-cython@0.28:", type="build")
+ depends_on("py-pytest-runner", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dbf/package.py b/var/spack/repos/builtin/packages/py-dbf/package.py
index 5fc64eb554..327225618a 100644
--- a/var/spack/repos/builtin/packages/py-dbf/package.py
+++ b/var/spack/repos/builtin/packages/py-dbf/package.py
@@ -12,8 +12,8 @@ class PyDbf(PythonPackage):
pypi = "dbf/dbf-0.96.005.tar.gz"
- version('0.96.005', sha256='d6e03f1dca40488c37cf38be9cb28b694c46cec747a064dcb0591987de58ed02')
- version('0.94.003', sha256='c95b688d2f28944004368799cc6e2999d78af930a69bb2643ae098c721294444')
+ version("0.96.005", sha256="d6e03f1dca40488c37cf38be9cb28b694c46cec747a064dcb0591987de58ed02")
+ version("0.94.003", sha256="c95b688d2f28944004368799cc6e2999d78af930a69bb2643ae098c721294444")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dbfread/package.py b/var/spack/repos/builtin/packages/py-dbfread/package.py
index 1c3cfd1096..3462ae0c83 100644
--- a/var/spack/repos/builtin/packages/py-dbfread/package.py
+++ b/var/spack/repos/builtin/packages/py-dbfread/package.py
@@ -15,6 +15,6 @@ class PyDbfread(PythonPackage):
homepage = "https://dbfread.readthedocs.io/en/latest/"
pypi = "dbfread/dbfread-2.0.7.tar.gz"
- version('2.0.7', sha256='07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d')
+ version("2.0.7", sha256="07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-deap/package.py b/var/spack/repos/builtin/packages/py-deap/package.py
index a72a276164..cfbbed2cfb 100644
--- a/var/spack/repos/builtin/packages/py-deap/package.py
+++ b/var/spack/repos/builtin/packages/py-deap/package.py
@@ -12,7 +12,7 @@ class PyDeap(PythonPackage):
homepage = "https://deap.readthedocs.org/"
pypi = "deap/deap-1.3.1.tar.gz"
- version('1.3.1', sha256='11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f')
+ version("1.3.1", sha256="11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f")
- depends_on('py-setuptools@:57', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools@:57", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-debtcollector/package.py b/var/spack/repos/builtin/packages/py-debtcollector/package.py
index 171a0584e9..c3cbf59139 100644
--- a/var/spack/repos/builtin/packages/py-debtcollector/package.py
+++ b/var/spack/repos/builtin/packages/py-debtcollector/package.py
@@ -13,15 +13,15 @@ class PyDebtcollector(PythonPackage):
"""
homepage = "https://docs.openstack.org/debtcollector/latest"
- pypi = "debtcollector/debtcollector-2.2.0.tar.gz"
+ pypi = "debtcollector/debtcollector-2.2.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('2.2.0', sha256='787981f4d235841bf6eb0467e23057fb1ac7ee24047c32028a8498b9128b6829')
+ 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,2.1.1:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@2.0.0:2.0,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'))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
+ depends_on("py-wrapt@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-debugpy/package.py b/var/spack/repos/builtin/packages/py-debugpy/package.py
index da644bfb89..ca6d837bd2 100644
--- a/var/spack/repos/builtin/packages/py-debugpy/package.py
+++ b/var/spack/repos/builtin/packages/py-debugpy/package.py
@@ -10,16 +10,19 @@ 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"
+ 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'
+ "debugpy",
+ "debugpy.adapter",
+ "debugpy.launcher",
+ "debugpy.server",
+ "debugpy.common",
]
- version('1.5.1', sha256='d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e')
- version('1.4.1', sha256='889316de0b8ff3732927cb058cfbd3371e4cd0002ecc170d34c755ad289c867c')
+ version("1.5.1", sha256="d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e")
+ version("1.4.1", sha256="889316de0b8ff3732927cb058cfbd3371e4cd0002ecc170d34c755ad289c867c")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-decorator/package.py b/var/spack/repos/builtin/packages/py-decorator/package.py
index 96e58e7f4c..0948c5f3b4 100644
--- a/var/spack/repos/builtin/packages/py-decorator/package.py
+++ b/var/spack/repos/builtin/packages/py-decorator/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class PyDecorator(PythonPackage):
"""The aim of the decorator module it to simplify the usage of decorators
- for the average programmer, and to popularize decorators by showing
- various non-trivial examples."""
+ for the average programmer, and to popularize decorators by showing
+ various non-trivial examples."""
homepage = "https://github.com/micheles/decorator"
pypi = "decorator/decorator-5.1.0.tar.gz"
- version('5.1.1', sha256='637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330')
- version('5.1.0', sha256='e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7')
- version('5.0.9', sha256='72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5')
- version('4.4.2', sha256='e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7')
- version('4.4.0', sha256='86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de')
- version('4.3.2', sha256='33cd704aea07b4c28b3eb2c97d288a06918275dac0ecebdaf1bc8a48d98adb9e')
- version('4.3.0', sha256='c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c')
- version('4.0.9', sha256='90022e83316363788a55352fe39cfbed357aa3a71d90e5f2803a35471de4bba8')
+ version("5.1.1", sha256="637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330")
+ version("5.1.0", sha256="e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7")
+ version("5.0.9", sha256="72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5")
+ version("4.4.2", sha256="e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7")
+ version("4.4.0", sha256="86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de")
+ version("4.3.2", sha256="33cd704aea07b4c28b3eb2c97d288a06918275dac0ecebdaf1bc8a48d98adb9e")
+ version("4.3.0", sha256="c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c")
+ version("4.0.9", sha256="90022e83316363788a55352fe39cfbed357aa3a71d90e5f2803a35471de4bba8")
- depends_on('python@3.5:', when='@5.0.1:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", when="@5.0.1:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-deepdiff/package.py b/var/spack/repos/builtin/packages/py-deepdiff/package.py
index b151829a16..d0ec9e0cb6 100644
--- a/var/spack/repos/builtin/packages/py-deepdiff/package.py
+++ b/var/spack/repos/builtin/packages/py-deepdiff/package.py
@@ -12,8 +12,8 @@ class PyDeepdiff(PythonPackage):
homepage = "https://github.com/seperman/deepdiff"
pypi = "deepdiff/deepdiff-5.6.0.tar.gz"
- version('5.6.0', sha256='e3f1c3a375c7ea5ca69dba6f7920f9368658318ff1d8a496293c79481f48e649')
+ version("5.6.0", sha256="e3f1c3a375c7ea5ca69dba6f7920f9368658318ff1d8a496293c79481f48e649")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-ordered-set@4.0.2', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ordered-set@4.0.2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-deepecho/package.py b/var/spack/repos/builtin/packages/py-deepecho/package.py
index ed3c445842..25a3273361 100644
--- a/var/spack/repos/builtin/packages/py-deepecho/package.py
+++ b/var/spack/repos/builtin/packages/py-deepecho/package.py
@@ -11,15 +11,17 @@ class PyDeepecho(PythonPackage):
for mixed-type, multivariate time series."""
homepage = "https://github.com/sdv-dev/DeepEcho"
- pypi = "deepecho/deepecho-0.3.0.post1.tar.gz"
+ pypi = "deepecho/deepecho-0.3.0.post1.tar.gz"
- version('0.3.0.post1', sha256='9f67373a435b5bcd84441c53eae87a2ba17a27574419a59191f92198f400b914')
+ version(
+ "0.3.0.post1", sha256="9f67373a435b5bcd84441c53eae87a2ba17a27574419a59191f92198f400b914"
+ )
- depends_on('python@3.6:3.9', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner@2.11.1:', type='build')
- depends_on('py-numpy@1.18.0:1.19', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-numpy@1.20.0:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1', type=('build', 'run'))
- depends_on('py-torch@1.8.0:1', type=('build', 'run'))
- depends_on('py-tqdm@4.15:4', type=('build', 'run'))
+ depends_on("python@3.6:3.9", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner@2.11.1:", type="build")
+ depends_on("py-numpy@1.18.0:1.19", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-numpy@1.20.0:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1", type=("build", "run"))
+ depends_on("py-torch@1.8.0:1", type=("build", "run"))
+ depends_on("py-tqdm@4.15:4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-deepsig/package.py b/var/spack/repos/builtin/packages/py-deepsig/package.py
index 33397a8cff..15347b6df0 100644
--- a/var/spack/repos/builtin/packages/py-deepsig/package.py
+++ b/var/spack/repos/builtin/packages/py-deepsig/package.py
@@ -11,18 +11,18 @@ class PyDeepsig(PythonPackage):
Networks"""
homepage = "https://github.com/Kaleidophon/deep-significance"
- pypi = "deepsig/deepsig-1.2.1.tar.gz"
+ pypi = "deepsig/deepsig-1.2.1.tar.gz"
- version('1.2.1', sha256='8543630c00264898116a065f6461c131d026ef75d8703bc631a4fd2bafb31f89')
+ version("1.2.1", sha256="8543630c00264898116a065f6461c131d026ef75d8703bc631a4fd2bafb31f89")
- depends_on('python@3.5.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.19.5', type=('build', 'run'))
- depends_on('py-scipy@1.6.0', type=('build', 'run'))
- depends_on('py-tqdm@4.59.0', type=('build', 'run'))
- depends_on('py-joblib@1.0.1', type=('build', 'run'))
- depends_on('py-pandas@1.3.3', type=('build', 'run'))
- depends_on('py-dill@0.3.4', type=('build', 'run'))
+ depends_on("python@3.5.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.19.5", type=("build", "run"))
+ depends_on("py-scipy@1.6.0", type=("build", "run"))
+ depends_on("py-tqdm@4.59.0", type=("build", "run"))
+ depends_on("py-joblib@1.0.1", type=("build", "run"))
+ depends_on("py-pandas@1.3.3", type=("build", "run"))
+ depends_on("py-dill@0.3.4", type=("build", "run"))
def patch(self):
- filter_file('README_RAW.md', 'README.md', 'setup.py', string=True)
+ filter_file("README_RAW.md", "README.md", "setup.py", string=True)
diff --git a/var/spack/repos/builtin/packages/py-deeptools/package.py b/var/spack/repos/builtin/packages/py-deeptools/package.py
index e9634378ad..efd8ab0492 100644
--- a/var/spack/repos/builtin/packages/py-deeptools/package.py
+++ b/var/spack/repos/builtin/packages/py-deeptools/package.py
@@ -8,32 +8,34 @@ from spack.package import *
class PyDeeptools(PythonPackage):
"""deepTools addresses the challenge of handling the large amounts of data
- that are now routinely generated from DNA sequencing centers."""
+ that are now routinely generated from DNA sequencing centers."""
# The test suite and associated test data is missing in the pypi tarball.
homepage = "https://pypi.python.org/pypi/deepTools/"
- url = "https://github.com/deeptools/deepTools/archive/3.3.0.tar.gz"
+ url = "https://github.com/deeptools/deepTools/archive/3.3.0.tar.gz"
- version('3.3.0', sha256='a7aaf79fe939ca307fe6ec5e156750389fdfa4324bf0dd6bf5f53d5fda109358')
- version('3.2.1', sha256='dbee7676951a9fdb1b88956fe4a3294c99950ef193ea1e9edfba1ca500bd6a75')
- version('2.5.2', sha256='16d0cfed29af37eb3c4cedd9da89b4952591dc1a7cd8ec71fcba87c89c62bf79')
+ version("3.3.0", sha256="a7aaf79fe939ca307fe6ec5e156750389fdfa4324bf0dd6bf5f53d5fda109358")
+ version("3.2.1", sha256="dbee7676951a9fdb1b88956fe4a3294c99950ef193ea1e9edfba1ca500bd6a75")
+ version("2.5.2", sha256="16d0cfed29af37eb3c4cedd9da89b4952591dc1a7cd8ec71fcba87c89c62bf79")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.9.0:', type=('build', 'run'))
- depends_on('py-scipy@0.17.0:', type=('build', 'run'))
- depends_on('py-py2bit@0.2.0:', type=('build', 'run'))
- depends_on('py-pybigwig@0.2.1:', type=('build', 'run'))
- depends_on('py-pysam@0.14.0:', type=('build', 'run'))
- depends_on('py-matplotlib@2.1.2:', type=('build', 'run'))
- depends_on('py-numpydoc@0.5:', type=('build', 'run'))
- depends_on('py-plotly@2.0.0:', type=('build', 'run'))
- depends_on('py-deeptoolsintervals@0.1.8:', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.9.0:", type=("build", "run"))
+ depends_on("py-scipy@0.17.0:", type=("build", "run"))
+ depends_on("py-py2bit@0.2.0:", type=("build", "run"))
+ depends_on("py-pybigwig@0.2.1:", type=("build", "run"))
+ depends_on("py-pysam@0.14.0:", type=("build", "run"))
+ depends_on("py-matplotlib@2.1.2:", type=("build", "run"))
+ depends_on("py-numpydoc@0.5:", type=("build", "run"))
+ depends_on("py-plotly@2.0.0:", type=("build", "run"))
+ depends_on("py-deeptoolsintervals@0.1.8:", type=("build", "run"))
def patch(self):
# Add nosetest hook for "python setup.py test" argument.
- filter_file(r'^setup\(',
- r'''setup(
+ filter_file(
+ r"^setup\(",
+ r"""setup(
tests_require='nose',
- test_suite='nose.collector',''',
- 'setup.py')
+ test_suite='nose.collector',""",
+ "setup.py",
+ )
diff --git a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
index 57353365bf..d429a7a000 100644
--- a/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
+++ b/var/spack/repos/builtin/packages/py-deeptoolsintervals/package.py
@@ -10,9 +10,9 @@ class PyDeeptoolsintervals(PythonPackage):
"""A python module creating/accessing GTF-based interval trees with
associated meta-data."""
- pypi = 'deeptoolsintervals/deeptoolsintervals-0.1.9.tar.gz'
+ pypi = "deeptoolsintervals/deeptoolsintervals-0.1.9.tar.gz"
- version('0.1.9', sha256='7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6')
+ version("0.1.9", sha256="7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-defusedxml/package.py b/var/spack/repos/builtin/packages/py-defusedxml/package.py
index caa5af2260..f8fbeeb0bc 100644
--- a/var/spack/repos/builtin/packages/py-defusedxml/package.py
+++ b/var/spack/repos/builtin/packages/py-defusedxml/package.py
@@ -12,9 +12,9 @@ class PyDefusedxml(PythonPackage):
homepage = "https://github.com/tiran/defusedxml"
pypi = "defusedxml/defusedxml-0.5.0.tar.gz"
- version('0.7.1', sha256='1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69')
- version('0.6.0', sha256='f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5')
- version('0.5.0', sha256='24d7f2f94f7f3cb6061acb215685e5125fbcdc40a857eff9de22518820b0a4f4')
+ version("0.7.1", sha256="1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69")
+ version("0.6.0", sha256="f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5")
+ version("0.5.0", sha256="24d7f2f94f7f3cb6061acb215685e5125fbcdc40a857eff9de22518820b0a4f4")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dendropy/package.py b/var/spack/repos/builtin/packages/py-dendropy/package.py
index b5c3c78e89..b79a9135dc 100644
--- a/var/spack/repos/builtin/packages/py-dendropy/package.py
+++ b/var/spack/repos/builtin/packages/py-dendropy/package.py
@@ -16,8 +16,8 @@ class PyDendropy(PythonPackage):
homepage = "https://www.dendropy.org"
pypi = "dendropy/DendroPy-4.3.0.tar.gz"
- version('4.3.0', sha256='bd5b35ce1a1c9253209b7b5f3939ac22beaa70e787f8129149b4f7ffe865d510')
- version('3.12.0', sha256='38a0f36f2f7aae43ec5599408b0d0a4c80996b749589f025940d955a70fc82d4')
+ version("4.3.0", sha256="bd5b35ce1a1c9253209b7b5f3939ac22beaa70e787f8129149b4f7ffe865d510")
+ version("3.12.0", sha256="38a0f36f2f7aae43ec5599408b0d0a4c80996b749589f025940d955a70fc82d4")
- depends_on('python@2.7:,3.4:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:,3.4:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-deprecated/package.py b/var/spack/repos/builtin/packages/py-deprecated/package.py
index 7172562b0e..47ded7d96d 100644
--- a/var/spack/repos/builtin/packages/py-deprecated/package.py
+++ b/var/spack/repos/builtin/packages/py-deprecated/package.py
@@ -11,10 +11,10 @@ class PyDeprecated(PythonPackage):
functions or methods."""
homepage = "https://github.com/tantale/deprecated"
- pypi = "Deprecated/Deprecated-1.2.13.tar.gz"
+ pypi = "Deprecated/Deprecated-1.2.13.tar.gz"
- version('1.2.13', sha256='43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d')
- version('1.2.7', sha256='408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308')
+ version("1.2.13", sha256="43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d")
+ version("1.2.7", sha256="408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308")
depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
depends_on("py-wrapt@1.10:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-deprecation/package.py b/var/spack/repos/builtin/packages/py-deprecation/package.py
index 6d345cc6d4..89727e29aa 100644
--- a/var/spack/repos/builtin/packages/py-deprecation/package.py
+++ b/var/spack/repos/builtin/packages/py-deprecation/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyDeprecation(PythonPackage):
"""The deprecation library provides a deprecated decorator and a
- fail_if_not_removed decorator for your tests. """
+ fail_if_not_removed decorator for your tests."""
homepage = "https://deprecation.readthedocs.io/"
pypi = "deprecation/deprecation-2.0.7.tar.gz"
- version('2.1.0', sha256='72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff')
- version('2.0.7', sha256='c0392f676a6146f0238db5744d73e786a43510d54033f80994ef2f4c9df192ed')
+ version("2.1.0", sha256="72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff")
+ version("2.0.7", sha256="c0392f676a6146f0238db5744d73e786a43510d54033f80994ef2f4c9df192ed")
- depends_on('py-setuptools', type='build')
- depends_on('py-packaging', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-packaging", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-descartes/package.py b/var/spack/repos/builtin/packages/py-descartes/package.py
index 382f36d97a..cde9ff54de 100644
--- a/var/spack/repos/builtin/packages/py-descartes/package.py
+++ b/var/spack/repos/builtin/packages/py-descartes/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PyDescartes(PythonPackage):
"""Use Shapely or GeoJSON-like geometric objects as matplotlib paths
- and patches"""
+ and patches"""
pypi = "descartes/descartes-1.1.0.tar.gz"
- version('1.1.0', sha256='135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b')
+ version("1.1.0", sha256="135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b")
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-devito/package.py b/var/spack/repos/builtin/packages/py-devito/package.py
index 13f1050d59..3a4eff7607 100644
--- a/var/spack/repos/builtin/packages/py-devito/package.py
+++ b/var/spack/repos/builtin/packages/py-devito/package.py
@@ -16,56 +16,56 @@ class PyDevito(PythonPackage):
"""
homepage = "https://www.devitoproject.org/"
- pypi = "devito/devito-4.6.2.tar.gz"
+ pypi = "devito/devito-4.6.2.tar.gz"
- version('4.6.2', sha256='39c2210a192ad69953b4f8d93440ffd72b07d739c4fe2290e2b182adfb7e143f')
+ version("4.6.2", sha256="39c2210a192ad69953b4f8d93440ffd72b07d739c4fe2290e2b182adfb7e143f")
- variant('mpi', default=False, description='Enable MPI support')
- variant('matplotlib', default=False, description='Enable matplolib support')
- variant('ipyparallel', default=False, description='Enable ipyparallel support')
- variant('pandas', default=False, description='Enable pandas support')
+ variant("mpi", default=False, description="Enable MPI support")
+ variant("matplotlib", default=False, description="Enable matplolib support")
+ variant("ipyparallel", default=False, description="Enable ipyparallel support")
+ variant("pandas", default=False, description="Enable pandas support")
- depends_on('py-pip@9.0.1:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("py-pip@9.0.1:", type="build")
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy@1.16:', type=('build', 'run'))
- depends_on('py-sympy@1.7:1.9', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-flake8@2.1.0:', type=('build', 'run'))
- depends_on('py-nbval', type=('build', 'run'))
- depends_on('py-cached-property', type=('build', 'run'))
- depends_on('py-psutil@5.1.0:5', type=('build', 'run'))
- depends_on('py-py-cpuinfo@:8', type=('build', 'run'))
- depends_on('py-cgen@2020.1:', type=('build', 'run'))
- depends_on('py-codepy@2019.1:', type=('build', 'run'))
- depends_on('py-click@:8', type=('build', 'run'))
- depends_on('py-codecov', type=('build', 'run'))
- depends_on('py-multidict', type=('build', 'run'))
- depends_on('py-anytree@2.4.3:2.8', type=('build', 'run'))
- depends_on('py-pyrevolve@2.1.3:', type=('build', 'run'))
- depends_on('py-distributed@:2022.2', type=('build', 'run'))
- depends_on('py-pytest@3.6:6', type=('build', 'run'))
- depends_on('py-pytest-runner', type=('build', 'run'))
- depends_on('py-pytest-cov', type=('build', 'run'))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
+ depends_on("py-sympy@1.7:1.9", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-flake8@2.1.0:", type=("build", "run"))
+ depends_on("py-nbval", type=("build", "run"))
+ depends_on("py-cached-property", type=("build", "run"))
+ depends_on("py-psutil@5.1.0:5", type=("build", "run"))
+ depends_on("py-py-cpuinfo@:8", type=("build", "run"))
+ depends_on("py-cgen@2020.1:", type=("build", "run"))
+ depends_on("py-codepy@2019.1:", type=("build", "run"))
+ depends_on("py-click@:8", type=("build", "run"))
+ depends_on("py-codecov", type=("build", "run"))
+ depends_on("py-multidict", type=("build", "run"))
+ depends_on("py-anytree@2.4.3:2.8", type=("build", "run"))
+ depends_on("py-pyrevolve@2.1.3:", type=("build", "run"))
+ depends_on("py-distributed@:2022.2", type=("build", "run"))
+ depends_on("py-pytest@3.6:6", type=("build", "run"))
+ depends_on("py-pytest-runner", type=("build", "run"))
+ depends_on("py-pytest-cov", type=("build", "run"))
# requirements-mpi.tct
- depends_on('py-mpi4py', type=('build', 'run'), when='+mpi')
+ depends_on("py-mpi4py", type=("build", "run"), when="+mpi")
# requirements-optional.txt
- depends_on('py-matplotlib', type=('build', 'run'), when='+matplotlib')
- depends_on('py-ipyparallel', type=('build', 'run'), when='+ipyparallel')
- depends_on('py-pandas', type=('build', 'run'), when='+pandas')
+ depends_on("py-matplotlib", type=("build", "run"), when="+matplotlib")
+ depends_on("py-ipyparallel", type=("build", "run"), when="+ipyparallel")
+ depends_on("py-pandas", type=("build", "run"), when="+pandas")
- depends_on('mpi', type=('build', 'run'))
+ depends_on("mpi", type=("build", "run"))
- depends_on('intel-parallel-studio', type='run', when='%intel@:2021.1.1')
- depends_on('intel-oneapi-compilers', type='run', when='%intel@2021.1.2:')
+ depends_on("intel-parallel-studio", type="run", when="%intel@:2021.1.1")
+ depends_on("intel-oneapi-compilers", type="run", when="%intel@2021.1.2:")
- @run_before('install')
+ @run_before("install")
def add_examples_dir(self):
# Add file `__init__py` to examples/ so it is picked up by setuptools
- touch('examples/__init__.py')
+ touch("examples/__init__.py")
def setup_run_environment(self, env):
# Make benchmark.py available
- env.prepend_path('DEVITO_HOME', self.prefix)
+ env.prepend_path("DEVITO_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/py-devlib/package.py b/var/spack/repos/builtin/packages/py-devlib/package.py
index ad987a0c30..607add8985 100644
--- a/var/spack/repos/builtin/packages/py-devlib/package.py
+++ b/var/spack/repos/builtin/packages/py-devlib/package.py
@@ -10,25 +10,25 @@ class PyDevlib(PythonPackage):
"""Library for interaction with and instrumentation of remote devices."""
homepage = "https://github.com/ARM-software/devlib"
- url = "https://github.com/ARM-software/devlib/archive/v1.2.tar.gz"
+ url = "https://github.com/ARM-software/devlib/archive/v1.2.tar.gz"
- version('1.2', sha256='4cdb6767a9430b49eecffe34e2b9fcbcfc7e65328122d909aa71c3d11a86503d')
- version('1.1.2', sha256='c900420cb97239b4642f5e333e43884fb09507b530edb55466e7b82103b4deaa')
- version('1.1.1', sha256='eceb7a2721197a6023bbc2bbf346663fc117e4f54e1eb8334a3085dead9c8036')
- version('1.1.0', sha256='317e9be2303ebb6aebac9a2ec398c622ea16d6e46079dc9e37253b37d739ca9d')
- version('1.0.0', sha256='2f78278bdc9731a4fa13c41c74f08e0b8c5143de5fa1e1bdb2302673aec45862')
- version('0.0.4', sha256='0f55e684d43fab759d0e74bd8f0d0260d9546a8b8d853d286acfe5e00c86da05')
- version('0.0.3', sha256='29ec5f1de481783ab0b9efc111dfeb67c890187d56fca8592b25ee756ff32902')
- version('0.0.2', sha256='972f33be16a06572a19b67d909ee0ed6cb6f21f9a9da3c43fd0ff5851421051d')
+ version("1.2", sha256="4cdb6767a9430b49eecffe34e2b9fcbcfc7e65328122d909aa71c3d11a86503d")
+ version("1.1.2", sha256="c900420cb97239b4642f5e333e43884fb09507b530edb55466e7b82103b4deaa")
+ version("1.1.1", sha256="eceb7a2721197a6023bbc2bbf346663fc117e4f54e1eb8334a3085dead9c8036")
+ version("1.1.0", sha256="317e9be2303ebb6aebac9a2ec398c622ea16d6e46079dc9e37253b37d739ca9d")
+ version("1.0.0", sha256="2f78278bdc9731a4fa13c41c74f08e0b8c5143de5fa1e1bdb2302673aec45862")
+ version("0.0.4", sha256="0f55e684d43fab759d0e74bd8f0d0260d9546a8b8d853d286acfe5e00c86da05")
+ version("0.0.3", sha256="29ec5f1de481783ab0b9efc111dfeb67c890187d56fca8592b25ee756ff32902")
+ version("0.0.2", sha256="972f33be16a06572a19b67d909ee0ed6cb6f21f9a9da3c43fd0ff5851421051d")
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-pexpect@3.3:', type=('build', 'run'))
- depends_on('py-pyserial', type=('build', 'run'))
- depends_on('py-wrapt', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-contextlib2', type=('build', 'run'), when='^python@:2')
- depends_on('py-numpy@:1.16.4', type=('build', 'run'), when='^python@:2')
- depends_on('py-numpy', type=('build', 'run'), when='^python@:3.0')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-pexpect@3.3:", type=("build", "run"))
+ depends_on("py-pyserial", type=("build", "run"))
+ depends_on("py-wrapt", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-contextlib2", type=("build", "run"), when="^python@:2")
+ depends_on("py-numpy@:1.16.4", type=("build", "run"), when="^python@:2")
+ depends_on("py-numpy", type=("build", "run"), when="^python@:3.0")
diff --git a/var/spack/repos/builtin/packages/py-dgl/package.py b/var/spack/repos/builtin/packages/py-dgl/package.py
index 1602079ce1..d4e32d2d68 100644
--- a/var/spack/repos/builtin/packages/py-dgl/package.py
+++ b/var/spack/repos/builtin/packages/py-dgl/package.py
@@ -17,86 +17,88 @@ class PyDgl(CMakePackage):
or TensorFlow."""
homepage = "https://www.dgl.ai/"
- git = "https://github.com/dmlc/dgl.git"
+ git = "https://github.com/dmlc/dgl.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master', submodules=True)
- version('0.4.3', tag='0.4.3', submodules=True)
- version('0.4.2', tag='0.4.2', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("0.4.3", tag="0.4.3", submodules=True)
+ version("0.4.2", tag="0.4.2", submodules=True)
- variant('cuda', default=True, description='Build with CUDA')
- variant('openmp', default=True, description='Build with OpenMP')
- variant('backend', default='pytorch', description='Default backend',
- values=['pytorch', 'mxnet', 'tensorflow'], multi=False)
+ variant("cuda", default=True, description="Build with CUDA")
+ variant("openmp", default=True, description="Build with OpenMP")
+ variant(
+ "backend",
+ default="pytorch",
+ description="Default backend",
+ values=["pytorch", "mxnet", "tensorflow"],
+ multi=False,
+ )
- depends_on('cmake@3.5:', type='build')
- depends_on('cuda', when='+cuda')
- depends_on('llvm-openmp', when='%apple-clang +openmp')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("cuda", when="+cuda")
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
# Python dependencies
# See python/setup.py
- extends('python')
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.14.0:', type=('build', 'run'))
- depends_on('py-scipy@1.1.0:', type=('build', 'run'))
- depends_on('py-networkx@2.1:', type=('build', 'run'))
- depends_on('py-requests@2.19.0:', when='@0.4.3:', type=('build', 'run'))
+ extends("python")
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.14.0:", type=("build", "run"))
+ depends_on("py-scipy@1.1.0:", type=("build", "run"))
+ depends_on("py-networkx@2.1:", type=("build", "run"))
+ depends_on("py-requests@2.19.0:", when="@0.4.3:", type=("build", "run"))
# Backends
# See https://github.com/dmlc/dgl#installation
- depends_on('py-torch@1.2.0:', when='@0.4.3: backend=pytorch', type='run')
- depends_on('py-torch@0.4.1:', when='backend=pytorch', type='run')
- depends_on('mxnet@1.5.1:', when='@0.4.3: backend=pytorch', type='run')
- depends_on('mxnet@1.5.0:', when='backend=mxnet', type='run')
- depends_on('py-tensorflow@2.1:', when='@0.4.3: backend=tensorflow', type='run')
- depends_on('py-tensorflow@2.0:', when='backend=tensorflow', type='run')
- depends_on('py-tfdlpack', when='backend=tensorflow', type='run')
+ depends_on("py-torch@1.2.0:", when="@0.4.3: backend=pytorch", type="run")
+ depends_on("py-torch@0.4.1:", when="backend=pytorch", type="run")
+ depends_on("mxnet@1.5.1:", when="@0.4.3: backend=pytorch", type="run")
+ depends_on("mxnet@1.5.0:", when="backend=mxnet", type="run")
+ depends_on("py-tensorflow@2.1:", when="@0.4.3: backend=tensorflow", type="run")
+ depends_on("py-tensorflow@2.0:", when="backend=tensorflow", type="run")
+ depends_on("py-tfdlpack", when="backend=tensorflow", type="run")
- build_directory = 'build'
+ build_directory = "build"
# https://docs.dgl.ai/install/index.html#install-from-source
def cmake_args(self):
args = []
- if '+cuda' in self.spec:
- args.append('-DUSE_CUDA=ON')
+ if "+cuda" in self.spec:
+ args.append("-DUSE_CUDA=ON")
else:
- args.append('-DUSE_CUDA=OFF')
-
- if '+openmp' in self.spec:
- args.append('-DUSE_OPENMP=ON')
-
- if self.spec.satisfies('%apple-clang'):
- args.extend([
- '-DOpenMP_CXX_FLAGS=' +
- self.spec['llvm-openmp'].headers.include_flags,
- '-DOpenMP_CXX_LIB_NAMES=' +
- self.spec['llvm-openmp'].libs.names[0],
- '-DOpenMP_C_FLAGS=' +
- self.spec['llvm-openmp'].headers.include_flags,
- '-DOpenMP_C_LIB_NAMES=' +
- self.spec['llvm-openmp'].libs.names[0],
- '-DOpenMP_omp_LIBRARY=' +
- self.spec['llvm-openmp'].libs[0],
- ])
+ args.append("-DUSE_CUDA=OFF")
+
+ if "+openmp" in self.spec:
+ args.append("-DUSE_OPENMP=ON")
+
+ if self.spec.satisfies("%apple-clang"):
+ args.extend(
+ [
+ "-DOpenMP_CXX_FLAGS=" + self.spec["llvm-openmp"].headers.include_flags,
+ "-DOpenMP_CXX_LIB_NAMES=" + self.spec["llvm-openmp"].libs.names[0],
+ "-DOpenMP_C_FLAGS=" + self.spec["llvm-openmp"].headers.include_flags,
+ "-DOpenMP_C_LIB_NAMES=" + self.spec["llvm-openmp"].libs.names[0],
+ "-DOpenMP_omp_LIBRARY=" + self.spec["llvm-openmp"].libs[0],
+ ]
+ )
else:
- args.append('-DUSE_OPENMP=OFF')
+ args.append("-DUSE_OPENMP=OFF")
if self.run_tests:
- args.append('-DBUILD_CPP_TEST=ON')
+ args.append("-DBUILD_CPP_TEST=ON")
else:
- args.append('-DBUILD_CPP_TEST=OFF')
+ args.append("-DBUILD_CPP_TEST=OFF")
return args
def install(self, spec, prefix):
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
# Work around installation bug: https://github.com/dmlc/dgl/issues/1379
@@ -104,37 +106,42 @@ class PyDgl(CMakePackage):
def setup_run_environment(self, env):
# https://docs.dgl.ai/install/backend.html
- backend = self.spec.variants['backend'].value
- env.set('DGLBACKEND', backend)
+ backend = self.spec.variants["backend"].value
+ env.set("DGLBACKEND", backend)
@property
def import_modules(self):
modules = [
- 'dgl', 'dgl.nn', 'dgl.runtime', 'dgl.backend', 'dgl.function',
- 'dgl.contrib', 'dgl._ffi', 'dgl.data', 'dgl.runtime.ir',
- 'dgl.backend.numpy', 'dgl.contrib.sampling', 'dgl._ffi._cy2',
- 'dgl._ffi._cy3', 'dgl._ffi._ctypes',
+ "dgl",
+ "dgl.nn",
+ "dgl.runtime",
+ "dgl.backend",
+ "dgl.function",
+ "dgl.contrib",
+ "dgl._ffi",
+ "dgl.data",
+ "dgl.runtime.ir",
+ "dgl.backend.numpy",
+ "dgl.contrib.sampling",
+ "dgl._ffi._cy2",
+ "dgl._ffi._cy3",
+ "dgl._ffi._ctypes",
]
- if 'backend=pytorch' in self.spec:
- modules.extend([
- 'dgl.nn.pytorch', 'dgl.nn.pytorch.conv', 'dgl.backend.pytorch'
- ])
- elif 'backend=mxnet' in self.spec:
- modules.extend([
- 'dgl.nn.mxnet', 'dgl.nn.mxnet.conv', 'dgl.backend.mxnet'
- ])
- elif 'backend=tensorflow' in self.spec:
- modules.extend([
- 'dgl.nn.tensorflow', 'dgl.nn.tensorflow.conv',
- 'dgl.backend.tensorflow'
- ])
+ if "backend=pytorch" in self.spec:
+ modules.extend(["dgl.nn.pytorch", "dgl.nn.pytorch.conv", "dgl.backend.pytorch"])
+ elif "backend=mxnet" in self.spec:
+ modules.extend(["dgl.nn.mxnet", "dgl.nn.mxnet.conv", "dgl.backend.mxnet"])
+ elif "backend=tensorflow" in self.spec:
+ modules.extend(
+ ["dgl.nn.tensorflow", "dgl.nn.tensorflow.conv", "dgl.backend.tensorflow"]
+ )
return modules
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def import_module_test(self):
- with working_dir('spack-test', create=True):
+ with working_dir("spack-test", create=True):
for module in self.import_modules:
- python('-c', 'import {0}'.format(module))
+ python("-c", "import {0}".format(module))
diff --git a/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py
index f285f85da8..772727eabc 100644
--- a/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py
+++ b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py
@@ -8,37 +8,36 @@ from spack.package import *
class PyDhScikitOptimize(PythonPackage):
"""A Modified version of scikit-optimize a Sequential model-based
- optimization toolbox for DeepHyper.
- Scikit-Optimize, or skopt, is a simple and efficient library to
- minimize (very) expensive and noisy black-box functions. It implements
- several methods for sequential model-based optimization. skopt aims to
- be accessible and easy to use in many contexts.
+ optimization toolbox for DeepHyper.
+ Scikit-Optimize, or skopt, is a simple and efficient library to
+ minimize (very) expensive and noisy black-box functions. It implements
+ several methods for sequential model-based optimization. skopt aims to
+ be accessible and easy to use in many contexts.
- The library is built on top of NumPy, SciPy and Scikit-Learn."""
+ The library is built on top of NumPy, SciPy and Scikit-Learn."""
- maintainers = ['Kerilk']
+ maintainers = ["Kerilk"]
homepage = "https://github.com/deephyper/scikit-optimize"
- pypi = "dh-scikit-optimize/dh-scikit-optimize-0.9.0.tar.gz"
-
- version('0.9.5', sha256='c2777839a536215ab40fc5db2242809ccffd5e5b23718e23d58ea76ff35a7543')
- version('0.9.4', sha256='9acfba4077fe45f3854a4af255763a3e8a396c05bd2a7c761a969171366b3840')
- version('0.9.3', sha256='0c922c61dc1f010c7bbd2f0930c766e8ae040c35b129e4de6d51b611fd72b7c9')
- version('0.9.2', sha256='9fd2d3accad7c3aca1d0edd0c88ec5490e9bc7a07f31d88f4051466a132dfd1d')
- version('0.9.1', sha256='70e70011f4fd107082174c557de70ba37c215e71a676788234b85d5c370fd7bd')
- version('0.9.0', sha256='fe70aa57ec5150a3d356b2184f0dda1ecc4ecb7e82d35edac3980094d409d676')
-
- variant('plots', default=False,
- description='Build with plot support from py-matplotlib')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-joblib@0.11:', type=('build', 'run'))
- depends_on('py-pyaml@16.9:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-scipy@0.19.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.20.0:', type=('build', 'run'))
- depends_on('py-configspace@0.4.20:', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'), when='@0.9.1:')
-
- depends_on('py-matplotlib@2.0.0:', when='+plots', type='run')
+ pypi = "dh-scikit-optimize/dh-scikit-optimize-0.9.0.tar.gz"
+
+ version("0.9.5", sha256="c2777839a536215ab40fc5db2242809ccffd5e5b23718e23d58ea76ff35a7543")
+ version("0.9.4", sha256="9acfba4077fe45f3854a4af255763a3e8a396c05bd2a7c761a969171366b3840")
+ version("0.9.3", sha256="0c922c61dc1f010c7bbd2f0930c766e8ae040c35b129e4de6d51b611fd72b7c9")
+ version("0.9.2", sha256="9fd2d3accad7c3aca1d0edd0c88ec5490e9bc7a07f31d88f4051466a132dfd1d")
+ version("0.9.1", sha256="70e70011f4fd107082174c557de70ba37c215e71a676788234b85d5c370fd7bd")
+ version("0.9.0", sha256="fe70aa57ec5150a3d356b2184f0dda1ecc4ecb7e82d35edac3980094d409d676")
+
+ variant("plots", default=False, description="Build with plot support from py-matplotlib")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-joblib@0.11:", type=("build", "run"))
+ depends_on("py-pyaml@16.9:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-scipy@0.19.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.20.0:", type=("build", "run"))
+ depends_on("py-configspace@0.4.20:", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"), when="@0.9.1:")
+
+ depends_on("py-matplotlib@2.0.0:", when="+plots", type="run")
diff --git a/var/spack/repos/builtin/packages/py-dictdiffer/package.py b/var/spack/repos/builtin/packages/py-dictdiffer/package.py
index ddb25c846a..e2f08919ee 100644
--- a/var/spack/repos/builtin/packages/py-dictdiffer/package.py
+++ b/var/spack/repos/builtin/packages/py-dictdiffer/package.py
@@ -10,11 +10,11 @@ class PyDictdiffer(PythonPackage):
"""Dictdiffer is a helper module that helps you to diff and patch dictionares."""
homepage = "https://github.com/inveniosoftware/dictdiffer"
- pypi = "dictdiffer/dictdiffer-0.8.1.tar.gz"
+ pypi = "dictdiffer/dictdiffer-0.8.1.tar.gz"
- version('0.8.1', sha256='1adec0d67cdf6166bda96ae2934ddb5e54433998ceab63c984574d187cc563d2')
+ version("0.8.1", sha256="1adec0d67cdf6166bda96ae2934ddb5e54433998ceab63c984574d187cc563d2")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm@3.1.0:', type='build')
- depends_on('py-pytest-runner@2.7:', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm@3.1.0:", type="build")
+ depends_on("py-pytest-runner@2.7:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dill/package.py b/var/spack/repos/builtin/packages/py-dill/package.py
index 772f65dc7f..8172a0b242 100644
--- a/var/spack/repos/builtin/packages/py-dill/package.py
+++ b/var/spack/repos/builtin/packages/py-dill/package.py
@@ -7,36 +7,36 @@ from spack.package import *
class PyDill(PythonPackage):
- """Serialize all of python """
+ """Serialize all of python"""
homepage = "https://github.com/uqfoundation/dill"
pypi = "dill/dill-0.2.7.tar.gz"
- version('0.3.4', sha256='9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675')
- version('0.3.1', sha256='d3ddddf2806a7bc9858b20c02dc174396795545e9d62f243b34481fd26eb3e2c')
- version('0.2.9', sha256='f6d6046f9f9195206063dd0415dff185ad593d6ee8b0e67f12597c0f4df4986f')
- version('0.2.7', sha256='ddda0107e68e4eb1772a9f434f62a513c080c7171bd0dd6fb65d992788509812')
- version('0.2.6', sha256='6c1ccca68be483fa8c66e85a89ffc850206c26373aa77a97b83d8d0994e7f1fd')
- version('0.2.5', sha256='e82b3db7b9d962911c9c2d5cf2bb4a04f43933f505a624fb7dc5f68b949f0a5c')
- version('0.2.4', sha256='db68929eef0e886055d6bcd86f830141c1f653ddbf5d081c086e9d1c45efb334')
- version('0.2.3', sha256='9abf049a5305cb982ebbdccf084273b108c8042b826a7606ba568fc5e063e582')
- version('0.2.2', sha256='6ad223cc41614dcc8cf217e8d7a32857f13752cd0a5332580c80b9fa054ece69')
- version('0.2.1', sha256='a54401bdfae419cfe1c9e0b48e9b290afccaa413d2319d9bb0fdb85c130a7923')
- version('0.2', sha256='aba8d4c81c4136310e6ce333bd6f4f3ea2d53bd367e2f69c864428f260c0308c')
+ version("0.3.4", sha256="9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675")
+ version("0.3.1", sha256="d3ddddf2806a7bc9858b20c02dc174396795545e9d62f243b34481fd26eb3e2c")
+ version("0.2.9", sha256="f6d6046f9f9195206063dd0415dff185ad593d6ee8b0e67f12597c0f4df4986f")
+ version("0.2.7", sha256="ddda0107e68e4eb1772a9f434f62a513c080c7171bd0dd6fb65d992788509812")
+ version("0.2.6", sha256="6c1ccca68be483fa8c66e85a89ffc850206c26373aa77a97b83d8d0994e7f1fd")
+ version("0.2.5", sha256="e82b3db7b9d962911c9c2d5cf2bb4a04f43933f505a624fb7dc5f68b949f0a5c")
+ version("0.2.4", sha256="db68929eef0e886055d6bcd86f830141c1f653ddbf5d081c086e9d1c45efb334")
+ version("0.2.3", sha256="9abf049a5305cb982ebbdccf084273b108c8042b826a7606ba568fc5e063e582")
+ version("0.2.2", sha256="6ad223cc41614dcc8cf217e8d7a32857f13752cd0a5332580c80b9fa054ece69")
+ version("0.2.1", sha256="a54401bdfae419cfe1c9e0b48e9b290afccaa413d2319d9bb0fdb85c130a7923")
+ version("0.2", sha256="aba8d4c81c4136310e6ce333bd6f4f3ea2d53bd367e2f69c864428f260c0308c")
- depends_on('python@2.5:2.8,3.1:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.1:', type=('build', 'run'), when='@0.3.0:')
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@0.3.4:')
+ depends_on("python@2.5:2.8,3.1:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.1:", type=("build", "run"), when="@0.3.0:")
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"), when="@0.3.4:")
- depends_on('py-setuptools@0.6:', type='build')
+ depends_on("py-setuptools@0.6:", type="build")
def url_for_version(self, version):
url = "https://pypi.io/packages/source/d/dill/"
- if Version('0.3.4') > version >= Version('0.2.7'):
- url += 'dill-{0}.tar.gz'
+ if Version("0.3.4") > version >= Version("0.2.7"):
+ url += "dill-{0}.tar.gz"
else:
- url += 'dill-{0}.zip'
+ url += "dill-{0}.zip"
url = url.format(version)
return url
diff --git a/var/spack/repos/builtin/packages/py-dipy/package.py b/var/spack/repos/builtin/packages/py-dipy/package.py
index 5ba7a93f77..2ea678dad1 100644
--- a/var/spack/repos/builtin/packages/py-dipy/package.py
+++ b/var/spack/repos/builtin/packages/py-dipy/package.py
@@ -7,7 +7,7 @@ from spack.package import *
class PyDipy(PythonPackage):
- """ Diffusion MRI utilities in python.
+ """Diffusion MRI utilities in python.
DIPY is the paragon 3D/4D+ imaging library in Python. Contains generic
methods for spatial normalization, signal processing, machine learning,
@@ -17,16 +17,16 @@ class PyDipy(PythonPackage):
"""
homepage = "https://dipy.org/"
- pypi = "dipy/dipy-1.4.1.tar.gz"
+ pypi = "dipy/dipy-1.4.1.tar.gz"
- version('1.4.1', sha256='b4bf830feae751f3f985d54cb71031fc35cea612838320f1f74246692b8a3cc0')
+ version("1.4.1", sha256="b4bf830feae751f3f985d54cb71031fc35cea612838320f1f74246692b8a3cc0")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29:', type=('build'))
- depends_on('py-numpy@1.12.0:', type=('build', 'run'))
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-nibabel@3.0.0:', type=('build', 'run'))
- depends_on('py-h5py@2.5.0:', type=('build', 'run'))
- depends_on('py-packaging@19.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.30.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29:", type=("build"))
+ depends_on("py-numpy@1.12.0:", type=("build", "run"))
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-nibabel@3.0.0:", type=("build", "run"))
+ depends_on("py-h5py@2.5.0:", type=("build", "run"))
+ depends_on("py-packaging@19.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.30.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-discover/package.py b/var/spack/repos/builtin/packages/py-discover/package.py
index 8e7ad226eb..e2fe0a7388 100644
--- a/var/spack/repos/builtin/packages/py-discover/package.py
+++ b/var/spack/repos/builtin/packages/py-discover/package.py
@@ -11,7 +11,7 @@ class PyDiscover(PythonPackage):
pypi = "discover/discover-0.4.0.tar.gz"
- version('0.4.0', sha256='05c3fa9199e57d4b16fb653e02d65713adc1f89ef55324fb0c252b1cf9070d79')
+ version("0.4.0", sha256="05c3fa9199e57d4b16fb653e02d65713adc1f89ef55324fb0c252b1cf9070d79")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-diskcache/package.py b/var/spack/repos/builtin/packages/py-diskcache/package.py
index 61f6dc6086..e571e8cf96 100644
--- a/var/spack/repos/builtin/packages/py-diskcache/package.py
+++ b/var/spack/repos/builtin/packages/py-diskcache/package.py
@@ -13,9 +13,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')
+ 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')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-distance/package.py b/var/spack/repos/builtin/packages/py-distance/package.py
index cfd2bc5b97..3b28d15fcf 100644
--- a/var/spack/repos/builtin/packages/py-distance/package.py
+++ b/var/spack/repos/builtin/packages/py-distance/package.py
@@ -13,8 +13,8 @@ class PyDistance(PythonPackage):
some bonuses."""
homepage = "https://github.com/doukremt/distance"
- pypi = "Distance/Distance-0.1.3.tar.gz"
+ pypi = "Distance/Distance-0.1.3.tar.gz"
- version('0.1.3', sha256='60807584f5b6003f5c521aa73f39f51f631de3be5cccc5a1d67166fcbf0d4551')
+ version("0.1.3", sha256="60807584f5b6003f5c521aa73f39f51f631de3be5cccc5a1d67166fcbf0d4551")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-distlib/package.py b/var/spack/repos/builtin/packages/py-distlib/package.py
index d2ac9e65dc..bf3d529d97 100644
--- a/var/spack/repos/builtin/packages/py-distlib/package.py
+++ b/var/spack/repos/builtin/packages/py-distlib/package.py
@@ -10,10 +10,10 @@ class PyDistlib(PythonPackage):
"""Distribution utilities"""
homepage = "https://bitbucket.org/pypa/distlib"
- pypi = "distlib/distlib-0.3.3.zip"
+ pypi = "distlib/distlib-0.3.3.zip"
- version('0.3.4', sha256='e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579')
- version('0.3.3', sha256='d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05')
+ version("0.3.4", sha256="e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579")
+ version("0.3.3", sha256="d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-distributed/package.py b/var/spack/repos/builtin/packages/py-distributed/package.py
index c23b3da4cc..fcf15e3a1a 100644
--- a/var/spack/repos/builtin/packages/py-distributed/package.py
+++ b/var/spack/repos/builtin/packages/py-distributed/package.py
@@ -15,48 +15,56 @@ class PyDistributed(PythonPackage):
# 'distributed.dashboard.components' requires 'bokeh', but 'bokeh' is not listed as
# a dependency. Leave out of 'import_modules' list to avoid unnecessary dependency.
import_modules = [
- 'distributed', 'distributed.deploy', 'distributed.comm',
- 'distributed.comm.tests', 'distributed.protocol', 'distributed.cli',
- 'distributed.dashboard', 'distributed.http', 'distributed.http.tests',
- 'distributed.http.scheduler', 'distributed.http.scheduler.prometheus',
- 'distributed.http.worker', 'distributed.diagnostics'
+ "distributed",
+ "distributed.deploy",
+ "distributed.comm",
+ "distributed.comm.tests",
+ "distributed.protocol",
+ "distributed.cli",
+ "distributed.dashboard",
+ "distributed.http",
+ "distributed.http.tests",
+ "distributed.http.scheduler",
+ "distributed.http.scheduler.prometheus",
+ "distributed.http.worker",
+ "distributed.diagnostics",
]
- version('2022.2.1', sha256='fb62a75af8ef33bbe1aa80a68c01a33a93c1cd5a332dd017ab44955bf7ecf65b')
- version('2021.6.2', sha256='d7d112a86ab049dcefa3b21fd1baea4212a2c03d22c24bd55ad38d21a7f5d148')
- version('2021.4.1', sha256='4c1b189ec5aeaf770c473f730f4a3660dc655601abd22899e8a0662303662168')
- version('2020.12.0', sha256='2a0b6acc921cd4e0143a7c4383cdcbed7defbc4bd9dc3aab0c7f1c45f14f80e1')
- version('2.10.0', sha256='2f8cca741a20f776929cbad3545f2df64cf60207fb21f774ef24aad6f6589e8b')
- version('1.28.1', sha256='3bd83f8b7eb5938af5f2be91ccff8984630713f36f8f66097e531a63f141c48a')
-
- depends_on('python@2.7:2.8,3.5:', when='@:1', type=('build', 'run'))
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@3.7:', when='@2021.4.1:', type=('build', 'run'))
- depends_on('python@3.8:', when='@2022.2.1:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
-
- depends_on('py-click@6.6:', type=('build', 'run'))
- depends_on('py-cloudpickle@0.2.2:', type=('build', 'run'), when='@:2.16.0')
- depends_on('py-cloudpickle@1.3.0:', type=('build', 'run'), when='@2.17.0:2.20.0')
- depends_on('py-cloudpickle@1.5.0:', type=('build', 'run'), when='@2.21.0:')
- depends_on('py-jinja2', type=('build', 'run'), when='@2022.2.1:')
- depends_on('py-contextvars', type=('build', 'run'), when='@2020: ^python@:3.6')
- depends_on('py-msgpack', type=('build', 'run'), when='@:2.10.0')
- depends_on('py-msgpack@0.6.0:', type=('build', 'run'), when='@2.11.0:')
- depends_on('py-packaging@20.0:', type=('build', 'run'), when='@2022.2.1:')
- depends_on('py-psutil@5.0:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:1')
- depends_on('py-sortedcontainers@:1,2.0.2:', type=('build', 'run'))
- depends_on('py-tblib', type=('build', 'run'), when='@:2.10.0')
- depends_on('py-tblib@1.6.0:', type=('build', 'run'), when='@2.11.0:')
- depends_on('py-toolz@0.7.4:', type=('build', 'run'), when='@:2.12.0')
- depends_on('py-toolz@0.8.2:', type=('build', 'run'), when='@2.13.0:')
- depends_on('py-tornado@5:', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-tornado@6.0.3:', type=('build', 'run'), when='^python@3.8:')
- depends_on('py-zict@0.1.3:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-futures', when='@:1 ^python@2.7:2.8', type=('build', 'run'))
- depends_on('py-singledispatch', when='@:1 ^python@2.7:2.8', type=('build', 'run'))
+ version("2022.2.1", sha256="fb62a75af8ef33bbe1aa80a68c01a33a93c1cd5a332dd017ab44955bf7ecf65b")
+ version("2021.6.2", sha256="d7d112a86ab049dcefa3b21fd1baea4212a2c03d22c24bd55ad38d21a7f5d148")
+ version("2021.4.1", sha256="4c1b189ec5aeaf770c473f730f4a3660dc655601abd22899e8a0662303662168")
+ version("2020.12.0", sha256="2a0b6acc921cd4e0143a7c4383cdcbed7defbc4bd9dc3aab0c7f1c45f14f80e1")
+ version("2.10.0", sha256="2f8cca741a20f776929cbad3545f2df64cf60207fb21f774ef24aad6f6589e8b")
+ version("1.28.1", sha256="3bd83f8b7eb5938af5f2be91ccff8984630713f36f8f66097e531a63f141c48a")
+
+ depends_on("python@2.7:2.8,3.5:", when="@:1", type=("build", "run"))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@3.7:", when="@2021.4.1:", type=("build", "run"))
+ depends_on("python@3.8:", when="@2022.2.1:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+
+ depends_on("py-click@6.6:", type=("build", "run"))
+ depends_on("py-cloudpickle@0.2.2:", type=("build", "run"), when="@:2.16.0")
+ depends_on("py-cloudpickle@1.3.0:", type=("build", "run"), when="@2.17.0:2.20.0")
+ depends_on("py-cloudpickle@1.5.0:", type=("build", "run"), when="@2.21.0:")
+ depends_on("py-jinja2", type=("build", "run"), when="@2022.2.1:")
+ depends_on("py-contextvars", type=("build", "run"), when="@2020: ^python@:3.6")
+ depends_on("py-msgpack", type=("build", "run"), when="@:2.10.0")
+ depends_on("py-msgpack@0.6.0:", type=("build", "run"), when="@2.11.0:")
+ depends_on("py-packaging@20.0:", type=("build", "run"), when="@2022.2.1:")
+ depends_on("py-psutil@5.0:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:1")
+ depends_on("py-sortedcontainers@:1,2.0.2:", type=("build", "run"))
+ depends_on("py-tblib", type=("build", "run"), when="@:2.10.0")
+ depends_on("py-tblib@1.6.0:", type=("build", "run"), when="@2.11.0:")
+ depends_on("py-toolz@0.7.4:", type=("build", "run"), when="@:2.12.0")
+ depends_on("py-toolz@0.8.2:", type=("build", "run"), when="@2.13.0:")
+ depends_on("py-tornado@5:", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-tornado@6.0.3:", type=("build", "run"), when="^python@3.8:")
+ depends_on("py-zict@0.1.3:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-futures", when="@:1 ^python@2.7:2.8", type=("build", "run"))
+ depends_on("py-singledispatch", when="@:1 ^python@2.7:2.8", type=("build", "run"))
def patch(self):
- filter_file('^dask .*', '', 'requirements.txt')
+ filter_file("^dask .*", "", "requirements.txt")
diff --git a/var/spack/repos/builtin/packages/py-distro/package.py b/var/spack/repos/builtin/packages/py-distro/package.py
index 98617d9483..5082753cc5 100644
--- a/var/spack/repos/builtin/packages/py-distro/package.py
+++ b/var/spack/repos/builtin/packages/py-distro/package.py
@@ -13,7 +13,7 @@ class PyDistro(PythonPackage):
homepage = "https://github.com/nir0s/distro"
pypi = "distro/distro-1.5.0.tar.gz"
- version('1.6.0', sha256='83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424')
- version('1.5.0', sha256='0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92')
+ version("1.6.0", sha256="83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424")
+ version("1.5.0", sha256="0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-django/package.py b/var/spack/repos/builtin/packages/py-django/package.py
index 6e19f7f635..665468e87c 100644
--- a/var/spack/repos/builtin/packages/py-django/package.py
+++ b/var/spack/repos/builtin/packages/py-django/package.py
@@ -10,19 +10,19 @@ class PyDjango(PythonPackage):
"""The Web framework for perfectionists with deadlines."""
homepage = "https://www.djangoproject.com/"
- url = "https://github.com/django/django/archive/3.0.5.tar.gz"
+ url = "https://github.com/django/django/archive/3.0.5.tar.gz"
- version('3.0.5', sha256='ef2d4f26414dc9598afce9c56cee4578313b88861cedfc5b3d9a71078e5cc79b')
- version('3.0.4', sha256='99699643d83acfab51d3ad73c2c2904173e03a4f59fe24c3d494e4fafc0b679f')
- version('3.0.3', sha256='d953c950f0c395db065c8bc39d20e87faded376632a3aacf889ae92d5adaac8b')
- version('3.0.2', sha256='ca316b1179a16931ed872ce970aabefcf3d41fe0d4b1a8e1301ec59e1e0ab45b')
- version('3.0.1', sha256='85349b9366364847264b2b707ffcff5a27a022afa29aac0e904ca672cbe5ee65')
- version('2.2.12', sha256='ec490c67bd2780b4ec4f5355cd99fa2fa6007f81695dd45a9e8f7ccc5ff17772')
- version('2.2.11', sha256='f4274181973f0f021cc00419cfa342f1a6f862406e766ae93e7fbba9d84c680c')
- version('2.2.10', sha256='3741536cf122d6695e8575b2fcf67c18812751fd3143393ea75c01a277afdacc')
+ version("3.0.5", sha256="ef2d4f26414dc9598afce9c56cee4578313b88861cedfc5b3d9a71078e5cc79b")
+ version("3.0.4", sha256="99699643d83acfab51d3ad73c2c2904173e03a4f59fe24c3d494e4fafc0b679f")
+ version("3.0.3", sha256="d953c950f0c395db065c8bc39d20e87faded376632a3aacf889ae92d5adaac8b")
+ version("3.0.2", sha256="ca316b1179a16931ed872ce970aabefcf3d41fe0d4b1a8e1301ec59e1e0ab45b")
+ version("3.0.1", sha256="85349b9366364847264b2b707ffcff5a27a022afa29aac0e904ca672cbe5ee65")
+ version("2.2.12", sha256="ec490c67bd2780b4ec4f5355cd99fa2fa6007f81695dd45a9e8f7ccc5ff17772")
+ version("2.2.11", sha256="f4274181973f0f021cc00419cfa342f1a6f862406e766ae93e7fbba9d84c680c")
+ version("2.2.10", sha256="3741536cf122d6695e8575b2fcf67c18812751fd3143393ea75c01a277afdacc")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-sqlparse', type=('build', 'run'))
- depends_on('py-asgiref', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-sqlparse", type=("build", "run"))
+ depends_on("py-asgiref", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dlcpar/package.py b/var/spack/repos/builtin/packages/py-dlcpar/package.py
index be918f65a0..aaf341bc82 100644
--- a/var/spack/repos/builtin/packages/py-dlcpar/package.py
+++ b/var/spack/repos/builtin/packages/py-dlcpar/package.py
@@ -11,10 +11,10 @@ class PyDlcpar(PythonPackage):
losses, and coalescence (accounting for incomplete lineage sorting)."""
homepage = "https://www.cs.hmc.edu/~yjw/software/dlcpar/"
- url = "https://www.cs.hmc.edu/~yjw/software/dlcpar/pub/sw/dlcpar-1.0.tar.gz"
+ url = "https://www.cs.hmc.edu/~yjw/software/dlcpar/pub/sw/dlcpar-1.0.tar.gz"
- version('1.0', sha256='774319caba0f10d1230b8f85b8a147eda5871f9a316d7b3381b91c1bde97aa0a')
+ version("1.0", sha256="774319caba0f10d1230b8f85b8a147eda5871f9a316d7b3381b91c1bde97aa0a")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dm-tree/package.py b/var/spack/repos/builtin/packages/py-dm-tree/package.py
index 41bc30ded8..52805324b5 100644
--- a/var/spack/repos/builtin/packages/py-dm-tree/package.py
+++ b/var/spack/repos/builtin/packages/py-dm-tree/package.py
@@ -17,22 +17,22 @@ class PyDmTree(PythonPackage):
homepage = "https://github.com/deepmind/tree"
pypi = "dm-tree/dm-tree-0.1.5.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('0.1.5', sha256='a951d2239111dfcc468071bc8ff792c7b1e3192cab5a3c94d33a8b2bda3127fa')
+ version("0.1.5", sha256="a951d2239111dfcc468071bc8ff792c7b1e3192cab5a3c94d33a8b2bda3127fa")
- depends_on('py-setuptools', type='build')
- depends_on('bazel', type='build')
- depends_on('py-six@1.12.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("bazel", type="build")
+ depends_on("py-six@1.12.0:", type=("build", "run"))
- @run_after('install')
+ @run_after("install")
def clean(self):
remove_linked_tree(self.tmp_path)
def patch(self):
- self.tmp_path = tempfile.mkdtemp(prefix='spack')
- env['TEST_TMPDIR'] = self.tmp_path
- env['HOME'] = self.tmp_path
+ self.tmp_path = tempfile.mkdtemp(prefix="spack")
+ env["TEST_TMPDIR"] = self.tmp_path
+ env["HOME"] = self.tmp_path
args = [
# Don't allow user or system .bazelrc to override build settings
"'--nohome_rc',\n",
@@ -54,8 +54,6 @@ class PyDmTree(PythonPackage):
# Increase verbosity of explanation,
"'--verbose_explanations',\n",
# bazel uses system PYTHONPATH instead of spack paths
- "'--action_env', 'PYTHONPATH={0}',\n".format(env['PYTHONPATH']),
+ "'--action_env', 'PYTHONPATH={0}',\n".format(env["PYTHONPATH"]),
]
- filter_file("'build',",
- ' '.join(args),
- 'setup.py')
+ filter_file("'build',", " ".join(args), "setup.py")
diff --git a/var/spack/repos/builtin/packages/py-dnaio/package.py b/var/spack/repos/builtin/packages/py-dnaio/package.py
index 0725ab65d0..5aff7e922c 100644
--- a/var/spack/repos/builtin/packages/py-dnaio/package.py
+++ b/var/spack/repos/builtin/packages/py-dnaio/package.py
@@ -11,13 +11,13 @@ class PyDnaio(PythonPackage):
homepage = "https://github.com/marcelm/dnaio"
pypi = "dnaio/dnaio-0.3.tar.gz"
- git = "https://github.com/marcelm/dnaio.git"
+ git = "https://github.com/marcelm/dnaio.git"
- version('0.4.2', sha256='fa55a45bfd5d9272409b714158fb3a7de5dceac1034a0af84502c7f503ee84f8')
- version('0.3', sha256='47e4449affad0981978fe986684fc0d9c39736f05a157f6cf80e54dae0a92638')
+ version("0.4.2", sha256="fa55a45bfd5d9272409b714158fb3a7de5dceac1034a0af84502c7f503ee84f8")
+ version("0.3", sha256="47e4449affad0981978fe986684fc0d9c39736f05a157f6cf80e54dae0a92638")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm', when='@0.4:', type='build')
- depends_on('py-xopen', type=('build', 'run'))
- depends_on('py-xopen@0.8.2:', when='@0.4:', type=('build', 'run'))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm", when="@0.4:", type="build")
+ depends_on("py-xopen", type=("build", "run"))
+ depends_on("py-xopen@0.8.2:", when="@0.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-docker/package.py b/var/spack/repos/builtin/packages/py-docker/package.py
index 6ce490d734..518b0262c7 100644
--- a/var/spack/repos/builtin/packages/py-docker/package.py
+++ b/var/spack/repos/builtin/packages/py-docker/package.py
@@ -13,12 +13,12 @@ class PyDocker(PythonPackage):
homepage = "https://github.com/docker/docker-py"
pypi = "docker/docker-4.2.1.tar.gz"
- version('4.2.1', sha256='380a20d38fbfaa872e96ee4d0d23ad9beb0f9ed57ff1c30653cbeb0c9c0964f2')
+ version("4.2.1", sha256="380a20d38fbfaa872e96ee4d0d23ad9beb0f9ed57ff1c30653cbeb0c9c0964f2")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.4.0:', type=('build', 'run'))
- depends_on('py-websocket-client@0.32.0:', type=('build', 'run'))
- depends_on('py-requests@2.14.2:2.17,2.18.1:', type=('build', 'run'))
- depends_on('py-backports-ssl-match-hostname@3.5:', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-ipaddress@1.0.16:', when='^python@:3.2', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.4.0:", type=("build", "run"))
+ depends_on("py-websocket-client@0.32.0:", type=("build", "run"))
+ depends_on("py-requests@2.14.2:2.17,2.18.1:", type=("build", "run"))
+ depends_on("py-backports-ssl-match-hostname@3.5:", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-ipaddress@1.0.16:", when="^python@:3.2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dockerpy-creds/package.py b/var/spack/repos/builtin/packages/py-dockerpy-creds/package.py
index a5e9931015..aa95d6d663 100644
--- a/var/spack/repos/builtin/packages/py-dockerpy-creds/package.py
+++ b/var/spack/repos/builtin/packages/py-dockerpy-creds/package.py
@@ -7,19 +7,19 @@ from spack.package import *
class PyDockerpyCreds(PythonPackage):
- """Python bindings for the docker credentials store API """
+ """Python bindings for the docker credentials store API"""
homepage = "https://github.com/shin-/dockerpy-creds"
- url = "https://github.com/shin-/dockerpy-creds/archive/0.4.0.tar.gz"
+ url = "https://github.com/shin-/dockerpy-creds/archive/0.4.0.tar.gz"
- version('0.4.0', sha256='c76c2863c6e9a31b8f70ee5b8b0e5ac6860bfd422d930c04a387599e4272b4b9')
- version('0.3.0', sha256='3660a5e9fc7c2816ab967e4bdb4802f211e35011357ae612a601d6944721e153')
- version('0.2.3', sha256='7278a7e3c904ccea4bcc777b991a39cac9d4702bfd7d76b95ff6179500d886c4')
- version('0.2.2', sha256='bb26b8a8882b9d115a43169663cd9557d132a68147d9a1c77cb4a3ffc9897398')
- version('0.2.1', sha256='7882efd95f44b5df166b4e34c054b486dc7287932a49cd491edf406763695351')
- version('0.2.0', sha256='f2838348e1175079e3062bf0769b9fa5070c29f4d94435674b9f8a76144f4e5b')
- version('0.1.0', sha256='f7ab290cb536e7ef1c774d4eb5df86237e579a9c7a87805da39ff07bd14e0aff')
+ version("0.4.0", sha256="c76c2863c6e9a31b8f70ee5b8b0e5ac6860bfd422d930c04a387599e4272b4b9")
+ version("0.3.0", sha256="3660a5e9fc7c2816ab967e4bdb4802f211e35011357ae612a601d6944721e153")
+ version("0.2.3", sha256="7278a7e3c904ccea4bcc777b991a39cac9d4702bfd7d76b95ff6179500d886c4")
+ version("0.2.2", sha256="bb26b8a8882b9d115a43169663cd9557d132a68147d9a1c77cb4a3ffc9897398")
+ version("0.2.1", sha256="7882efd95f44b5df166b4e34c054b486dc7287932a49cd491edf406763695351")
+ version("0.2.0", sha256="f2838348e1175079e3062bf0769b9fa5070c29f4d94435674b9f8a76144f4e5b")
+ version("0.1.0", sha256="f7ab290cb536e7ef1c774d4eb5df86237e579a9c7a87805da39ff07bd14e0aff")
- depends_on('python@2.0:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.0:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-docopt/package.py b/var/spack/repos/builtin/packages/py-docopt/package.py
index d658671d39..cac598a516 100644
--- a/var/spack/repos/builtin/packages/py-docopt/package.py
+++ b/var/spack/repos/builtin/packages/py-docopt/package.py
@@ -12,6 +12,6 @@ class PyDocopt(PythonPackage):
homepage = "http://docopt.org/"
pypi = "docopt/docopt-0.6.2.tar.gz"
- version('0.6.2', sha256='49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491')
+ version("0.6.2", sha256="49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-docutils-stubs/package.py b/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
index 3153f033e0..c8b994f991 100644
--- a/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils-stubs/package.py
@@ -12,8 +12,8 @@ class PyDocutilsStubs(PythonPackage):
homepage = "https://github.com/tk0miya/docutils-stubs"
pypi = "docutils-stubs/docutils-stubs-0.0.21.tar.gz"
- version('0.0.21', sha256='e0d3d2588a0c0b47bf66b917bf4ff2c100cf4cf77bbe2f518d97b8f4d63e735c')
+ version("0.0.21", sha256="e0d3d2588a0c0b47bf66b917bf4ff2c100cf4cf77bbe2f518d97b8f4d63e735c")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-docutils@0.14', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docutils@0.14", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-docutils/package.py b/var/spack/repos/builtin/packages/py-docutils/package.py
index 3bf79dd81b..93c990a868 100644
--- a/var/spack/repos/builtin/packages/py-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils/package.py
@@ -18,28 +18,27 @@ class PyDocutils(PythonPackage):
homepage = "http://docutils.sourceforge.net/"
pypi = "docutils/docutils-0.15.2.tar.gz"
- version('0.18.1', sha256='679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06')
- version('0.18', sha256='c1d5dab2b11d16397406a282e53953fe495a46d69ae329f55aa98a5c4e3c5fbb')
- version('0.17.1', sha256='686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125')
- version('0.17', sha256='e2ffeea817964356ba4470efba7c2f42b6b0de0b04e66378507e3e2504bbff4c')
- version('0.16', sha256='c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc')
- version('0.15.2', sha256='a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99')
- version('0.14', sha256='51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274')
- version('0.13.1', sha256='718c0f5fb677be0f34b781e04241c4067cbd9327b66bdd8e763201130f5175be')
- version('0.12', sha256='c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa')
-
- depends_on('py-setuptools', when='@0.15:', type='build')
- depends_on('python@2.7:2.8,3.5:', when='@0.16:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', when='@0.14:0.15', type=('build', 'run'))
- depends_on('python@2.4:', when='@:0.13', type=('build', 'run'))
+ version("0.18.1", sha256="679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06")
+ version("0.18", sha256="c1d5dab2b11d16397406a282e53953fe495a46d69ae329f55aa98a5c4e3c5fbb")
+ version("0.17.1", sha256="686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125")
+ version("0.17", sha256="e2ffeea817964356ba4470efba7c2f42b6b0de0b04e66378507e3e2504bbff4c")
+ version("0.16", sha256="c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc")
+ version("0.15.2", sha256="a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99")
+ version("0.14", sha256="51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274")
+ version("0.13.1", sha256="718c0f5fb677be0f34b781e04241c4067cbd9327b66bdd8e763201130f5175be")
+ version("0.12", sha256="c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa")
+
+ depends_on("py-setuptools", when="@0.15:", type="build")
+ depends_on("python@2.7:2.8,3.5:", when="@0.16:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", when="@0.14:0.15", type=("build", "run"))
+ depends_on("python@2.4:", when="@:0.13", type=("build", "run"))
# NOTE: This creates symbolic links to be able to run docutils scripts
# without .py file extension similarly to various linux distributions to
# increase compatibility with other packages
- @run_after('install')
+ @run_after("install")
def post_install(self):
bin_path = self.prefix.bin
for file in os.listdir(bin_path):
if file.endswith(".py"):
- os.symlink(os.path.join(bin_path, file),
- os.path.join(bin_path, file[:-3]))
+ os.symlink(os.path.join(bin_path, file), os.path.join(bin_path, file[:-3]))
diff --git a/var/spack/repos/builtin/packages/py-dominate/package.py b/var/spack/repos/builtin/packages/py-dominate/package.py
index 328484ec19..028f81f112 100644
--- a/var/spack/repos/builtin/packages/py-dominate/package.py
+++ b/var/spack/repos/builtin/packages/py-dominate/package.py
@@ -18,7 +18,7 @@ class PyDominate(PythonPackage):
pypi = "dominate/dominate-2.6.0.tar.gz"
# license = "LGPL-3.0"
- version('2.6.0', sha256='76ec2cde23700a6fc4fee098168b9dee43b99c2f1dd0ca6a711f683e8eb7e1e4')
+ version("2.6.0", sha256="76ec2cde23700a6fc4fee098168b9dee43b99c2f1dd0ca6a711f683e8eb7e1e4")
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dotnetcore2/package.py b/var/spack/repos/builtin/packages/py-dotnetcore2/package.py
index f9ea115be7..b97df84799 100644
--- a/var/spack/repos/builtin/packages/py-dotnetcore2/package.py
+++ b/var/spack/repos/builtin/packages/py-dotnetcore2/package.py
@@ -13,16 +13,24 @@ class PyDotnetcore2(PythonPackage):
homepage = "https://github.com/dotnet/core"
- if sys.platform == 'darwin':
- version('2.1.14', sha256='68182f4b704db401b2012c10ed8a19561f8d487063632f8731c2e58960ca9242', expand=False,
- url='https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-macosx_10_9_x86_64.whl')
- elif sys.platform.startswith('linux'):
- version('2.1.14', sha256='d8d83ac30c22a0e48a9a881e117d98da17f95c4098cb9500a35e323b8e4ab737', expand=False,
- url='https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-manylinux1_x86_64.whl')
-
- conflicts('target=ppc64:', msg='py-dotnetcore2 is only available for x86_64')
- conflicts('target=ppc64le:', msg='py-dotnetcore2 is only available for x86_64')
- conflicts('target=aarch64:', msg='py-dotnetcore2 is only available for x86_64')
-
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-distro@1.2.0:', type=('build', 'run'))
+ if sys.platform == "darwin":
+ version(
+ "2.1.14",
+ sha256="68182f4b704db401b2012c10ed8a19561f8d487063632f8731c2e58960ca9242",
+ expand=False,
+ url="https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-macosx_10_9_x86_64.whl",
+ )
+ elif sys.platform.startswith("linux"):
+ version(
+ "2.1.14",
+ sha256="d8d83ac30c22a0e48a9a881e117d98da17f95c4098cb9500a35e323b8e4ab737",
+ expand=False,
+ url="https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-manylinux1_x86_64.whl",
+ )
+
+ conflicts("target=ppc64:", msg="py-dotnetcore2 is only available for x86_64")
+ conflicts("target=ppc64le:", msg="py-dotnetcore2 is only available for x86_64")
+ conflicts("target=aarch64:", msg="py-dotnetcore2 is only available for x86_64")
+
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-distro@1.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-downhill/package.py b/var/spack/repos/builtin/packages/py-downhill/package.py
index 1c05630388..d9f02b007c 100644
--- a/var/spack/repos/builtin/packages/py-downhill/package.py
+++ b/var/spack/repos/builtin/packages/py-downhill/package.py
@@ -10,10 +10,10 @@ class PyDownhill(PythonPackage):
"""Stochastic optimization routines for Theano"""
homepage = "http://github.com/lmjohns3/downhill"
- pypi = "downhill/downhill-0.4.0.tar.gz"
+ pypi = "downhill/downhill-0.4.0.tar.gz"
- version('0.4.0', sha256='074ad91deb06c05108c67d982ef71ffffb6ede2c77201abc69e332649f823b42')
+ version("0.4.0", sha256="074ad91deb06c05108c67d982ef71ffffb6ede2c77201abc69e332649f823b42")
- depends_on('py-setuptools', type='build')
- depends_on('py-theano', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-theano", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-doxypy/package.py b/var/spack/repos/builtin/packages/py-doxypy/package.py
index aab87f2827..849246bd2a 100644
--- a/var/spack/repos/builtin/packages/py-doxypy/package.py
+++ b/var/spack/repos/builtin/packages/py-doxypy/package.py
@@ -11,8 +11,8 @@ class PyDoxypy(PythonPackage):
pypi = "doxypy/doxypy-0.3.tar.gz"
- version('0.3', sha256='55d621b0edebd9e2a58a266c0a1d086fc9892de8e07e04dfbb93880a7ae91f00')
+ version("0.3", sha256="55d621b0edebd9e2a58a266c0a1d086fc9892de8e07e04dfbb93880a7ae91f00")
- depends_on('python@:2.8', type=('build', 'run'))
+ depends_on("python@:2.8", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-doxypypy/package.py b/var/spack/repos/builtin/packages/py-doxypypy/package.py
index 52e614871b..d8188ac563 100644
--- a/var/spack/repos/builtin/packages/py-doxypypy/package.py
+++ b/var/spack/repos/builtin/packages/py-doxypypy/package.py
@@ -15,6 +15,6 @@ class PyDoxypypy(PythonPackage):
homepage = "https://github.com/Feneric/doxypypy"
pypi = "doxypypy/doxypypy-0.8.8.6.tar.gz"
- version('0.8.8.6', sha256='627571455c537eb91d6998d95b32efc3c53562b2dbadafcb17e49593e0dae01b')
+ version("0.8.8.6", sha256="627571455c537eb91d6998d95b32efc3c53562b2dbadafcb17e49593e0dae01b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py b/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py
index 87c49efac2..e8a8fefce3 100644
--- a/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py
+++ b/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py
@@ -11,26 +11,26 @@ from spack.package import *
class PyDpGpCluster(PythonPackage):
"""DP_GP_cluster clusters genes by expression over a time course using a
- Dirichlet process Gaussian process model."""
+ Dirichlet process Gaussian process model."""
homepage = "https://github.com/PrincetonUniversity/DP_GP_cluster"
- git = "https://github.com/PrincetonUniversity/DP_GP_cluster.git"
+ git = "https://github.com/PrincetonUniversity/DP_GP_cluster.git"
- version('2019-09-22', commit='eec12e74219f916aa86e253783905f7b5e30f6f4')
+ version("2019-09-22", commit="eec12e74219f916aa86e253783905f7b5e30f6f4")
- depends_on('python@2.7:2.8', type=('build', 'run'))
+ depends_on("python@2.7:2.8", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-gpy@0.8.8:0.9.9', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
-
- @run_before('install')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-gpy@0.8.8:0.9.9", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+
+ @run_before("install")
def remove_cython_output(self):
- for f in glob('DP_GP/*.c'):
+ for f in glob("DP_GP/*.c"):
unlink(f)
diff --git a/var/spack/repos/builtin/packages/py-dpath/package.py b/var/spack/repos/builtin/packages/py-dpath/package.py
index cc619efa43..7f9e3dcad5 100644
--- a/var/spack/repos/builtin/packages/py-dpath/package.py
+++ b/var/spack/repos/builtin/packages/py-dpath/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class PyDpath(PythonPackage):
"""A python library for accessing and searching dictionaries via
- /slashed/paths ala xpath."""
+ /slashed/paths ala xpath."""
homepage = "https://github.com/akesterson/dpath-python"
- pypi = "dpath/dpath-2.0.1.tar.gz"
+ pypi = "dpath/dpath-2.0.1.tar.gz"
- version('2.0.1', sha256='bea06b5f4ff620a28dfc9848cf4d6b2bfeed34238edeb8ebe815c433b54eb1fa')
+ version("2.0.1", sha256="bea06b5f4ff620a28dfc9848cf4d6b2bfeed34238edeb8ebe815c433b54eb1fa")
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-drmaa/package.py b/var/spack/repos/builtin/packages/py-drmaa/package.py
index 306b74705f..b5651750d0 100644
--- a/var/spack/repos/builtin/packages/py-drmaa/package.py
+++ b/var/spack/repos/builtin/packages/py-drmaa/package.py
@@ -12,7 +12,7 @@ class PyDrmaa(PythonPackage):
homepage = "https://github.com/pygridtools/drmaa-python"
pypi = "drmaa/drmaa-0.7.9.tar.gz"
- version('0.7.9', sha256='12540cd98afc40d5c0b2f38d7b0e46468d1c45192a2f401f41fc2eda9c9f5542')
+ version("0.7.9", sha256="12540cd98afc40d5c0b2f38d7b0e46468d1c45192a2f401f41fc2eda9c9f5542")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-dryscrape/package.py b/var/spack/repos/builtin/packages/py-dryscrape/package.py
index c9897d508c..5e069316d7 100644
--- a/var/spack/repos/builtin/packages/py-dryscrape/package.py
+++ b/var/spack/repos/builtin/packages/py-dryscrape/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class PyDryscrape(PythonPackage):
"""a lightweight Javascript-aware, headless web scraping library
- for Python"""
+ for Python"""
homepage = "https://github.com/niklasb/dryscrape"
pypi = "dryscrape/dryscrape-1.0.tar.gz"
- git = "https://github.com/niklasb/dryscrape.git"
+ git = "https://github.com/niklasb/dryscrape.git"
- version('develop', branch='master')
- version('1.0', sha256='a99858786434947266cb81d5634cb1722de48aaf6b9cdffda15b7cd4a8e07340')
+ version("develop", branch="master")
+ version("1.0", sha256="a99858786434947266cb81d5634cb1722de48aaf6b9cdffda15b7cd4a8e07340")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-lxml', type=('build', 'run'))
- depends_on('py-webkit-server@1.0:', type=('build', 'run'))
- depends_on('py-xvfbwrapper', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-lxml", type=("build", "run"))
+ depends_on("py-webkit-server@1.0:", type=("build", "run"))
+ depends_on("py-xvfbwrapper", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-duecredit/package.py b/var/spack/repos/builtin/packages/py-duecredit/package.py
index d3245f7cad..2135e830ff 100644
--- a/var/spack/repos/builtin/packages/py-duecredit/package.py
+++ b/var/spack/repos/builtin/packages/py-duecredit/package.py
@@ -10,14 +10,14 @@ class PyDuecredit(PythonPackage):
"""Publications (and donations) tracer."""
homepage = "https://github.com/duecredit/duecredit"
- pypi = "duecredit/duecredit-0.9.1.tar.gz"
+ pypi = "duecredit/duecredit-0.9.1.tar.gz"
- version('0.9.1', sha256='f6192ce9315b35f6a67174761291e61d0831e496e8ff4acbc061731e7604faf8')
- version('0.6.5', sha256='da3746c24f048e1b2e9bd15c001f0f453a29780ebb9d26367f478a63d15dee9b')
+ version("0.9.1", sha256="f6192ce9315b35f6a67174761291e61d0831e496e8ff4acbc061731e7604faf8")
+ version("0.6.5", sha256="da3746c24f048e1b2e9bd15c001f0f453a29780ebb9d26367f478a63d15dee9b")
- depends_on('python@3.6:', when='@0.9:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-citeproc-py@0.4:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='@0.9: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.9:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-citeproc-py@0.4:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="@0.9: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dulwich/package.py b/var/spack/repos/builtin/packages/py-dulwich/package.py
index 2ebeaa0be2..d1af3b63e8 100644
--- a/var/spack/repos/builtin/packages/py-dulwich/package.py
+++ b/var/spack/repos/builtin/packages/py-dulwich/package.py
@@ -13,13 +13,13 @@ class PyDulwich(PythonPackage):
directory, but instead uses pure Python."""
homepage = "https://www.dulwich.io"
- pypi = "dulwich/dulwich-0.20.15.tar.gz"
+ 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')
+ version("0.20.21", sha256="ac764c9a9b80fa61afe3404d5270c5060aa57f7f087b11a95395d3b76f3b71fd")
+ version("0.20.15", sha256="fb1773373ec2af896031f8312af6962a1b8b0176a2de3fb3d84a84ec04498888")
+ version("0.20.14", sha256="21d6ee82708f7c67ce3fdcaf1f1407e524f7f4f7411a410a972faa2176baec0d")
- depends_on('python@3.5.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-urllib3@1.24.1:', type=('build', 'run'))
+ depends_on("python@3.5.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-urllib3@1.24.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dvc/package.py b/var/spack/repos/builtin/packages/py-dvc/package.py
index 940222295e..37a9263cdc 100644
--- a/var/spack/repos/builtin/packages/py-dvc/package.py
+++ b/var/spack/repos/builtin/packages/py-dvc/package.py
@@ -11,59 +11,59 @@ class PyDvc(PythonPackage):
"""Git for data scientists - manage your code and data together."""
homepage = "https://www.dvc.org"
- pypi = "dvc/dvc-1.11.10.tar.gz"
+ 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')
+ version("2.1.0", sha256="46cfbf0db27107fb3a2d5c643e3a948bb24539bf165ef70e77ce64283959e481")
+ version("1.11.10", sha256="6b53ebf1bd5619836f131181402bb21f7b44109166e9db8f8d6a0d8c7ce9458d")
+ version("1.11.6", sha256="41ba76c51c6142b28dae3aab039cb12423ba52fed6bd2a838f8308f315cfc20b")
- variant('ssh', default=False, description='Enable ssh storage support')
- variant('s3', default=False, description='Enable s3 storage support')
+ variant("ssh", default=False, description="Enable ssh storage support")
+ variant("s3", default=False, description="Enable s3 storage support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-ply@3.9:', type=('build', 'run'))
- 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'), 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'))
- depends_on('py-voluptuous@0.11.7:', type=('build', 'run'))
- depends_on('py-jsonpath-ng@1.5.1:', type=('build', 'run'))
- depends_on('py-grandalf@0.6', type=('build', 'run'))
- depends_on('py-distro@1.3.0:', type=('build', 'run'))
- depends_on('py-appdirs@1.4.3:', type=('build', 'run'))
- depends_on('py-ruamel-yaml@0.16.1:', type=('build', 'run'))
- depends_on('py-toml@0.10.1:', type=('build', 'run'))
- depends_on('py-funcy@1.14:', type=('build', 'run'))
- depends_on('py-pathspec@0.6.0:', type=('build', 'run'))
- depends_on('py-shortuuid@0.5.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.45.0:4', type=('build', 'run'))
- depends_on('py-packaging@19.0:', type=('build', 'run'))
- depends_on('py-flufl-lock@3.2:3', type=('build', 'run'))
- 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', type=('build', 'run'))
- depends_on('py-flatten-dict@0.3.0:0', 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', type=('build', 'run'))
- depends_on('py-shtab@1.3.2:1', type=('build', 'run'), when='@:1.11.10')
- depends_on('py-shtab@1.3.4:1', 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("python@3.6:", type=("build", "run"))
+ depends_on("py-ply@3.9:", type=("build", "run"))
+ 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"), 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"))
+ depends_on("py-voluptuous@0.11.7:", type=("build", "run"))
+ depends_on("py-jsonpath-ng@1.5.1:", type=("build", "run"))
+ depends_on("py-grandalf@0.6", type=("build", "run"))
+ depends_on("py-distro@1.3.0:", type=("build", "run"))
+ depends_on("py-appdirs@1.4.3:", type=("build", "run"))
+ depends_on("py-ruamel-yaml@0.16.1:", type=("build", "run"))
+ depends_on("py-toml@0.10.1:", type=("build", "run"))
+ depends_on("py-funcy@1.14:", type=("build", "run"))
+ depends_on("py-pathspec@0.6.0:", type=("build", "run"))
+ depends_on("py-shortuuid@0.5.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.45.0:4", type=("build", "run"))
+ depends_on("py-packaging@19.0:", type=("build", "run"))
+ depends_on("py-flufl-lock@3.2:3", type=("build", "run"))
+ 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", type=("build", "run"))
+ depends_on("py-flatten-dict@0.3.0:0", 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", type=("build", "run"))
+ depends_on("py-shtab@1.3.2:1", type=("build", "run"), when="@:1.11.10")
+ depends_on("py-shtab@1.3.4:1", 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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-dxchange/package.py b/var/spack/repos/builtin/packages/py-dxchange/package.py
index 6e17097d8b..fa3d3d3783 100644
--- a/var/spack/repos/builtin/packages/py-dxchange/package.py
+++ b/var/spack/repos/builtin/packages/py-dxchange/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class PyDxchange(PythonPackage):
"""DXchange provides an interface with tomoPy and raw tomographic data
- collected at different synchrotron facilities."""
+ collected at different synchrotron facilities."""
homepage = "https://github.com/data-exchange/dxchange"
- url = "https://github.com/data-exchange/dxchange/archive/v0.1.2.tar.gz"
+ url = "https://github.com/data-exchange/dxchange/archive/v0.1.2.tar.gz"
- version('0.1.2', sha256='d005b036b6323d0dffd5944c3da0b8a90496d96277654e72b53717058dd5fd87')
+ version("0.1.2", sha256="d005b036b6323d0dffd5944c3da0b8a90496d96277654e72b53717058dd5fd87")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-spefile', type=('build', 'run'))
- depends_on('py-edffile', type=('build', 'run'))
- depends_on('py-tifffile', type=('build', 'run'))
- depends_on('py-dxfile', type=('build', 'run'))
- depends_on('py-olefile', type=('build', 'run'))
- depends_on('py-astropy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-spefile", type=("build", "run"))
+ depends_on("py-edffile", type=("build", "run"))
+ depends_on("py-tifffile", type=("build", "run"))
+ depends_on("py-dxfile", type=("build", "run"))
+ depends_on("py-olefile", type=("build", "run"))
+ depends_on("py-astropy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-dxfile/package.py b/var/spack/repos/builtin/packages/py-dxfile/package.py
index f30aa1453e..b945add203 100644
--- a/var/spack/repos/builtin/packages/py-dxfile/package.py
+++ b/var/spack/repos/builtin/packages/py-dxfile/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyDxfile(PythonPackage):
"""Scientific Data Exchange [A1] is a set of guidelines for storing scientific
- data and metadata in a Hierarchical Data Format 5 [B6] file."""
+ data and metadata in a Hierarchical Data Format 5 [B6] file."""
homepage = "https://github.com/data-exchange/dxfile"
- url = "https://github.com/data-exchange/dxfile/archive/v0.4.tar.gz"
+ url = "https://github.com/data-exchange/dxfile/archive/v0.4.tar.gz"
- version('0.4', sha256='b7729eebdc7c99a66a8b339fc10019aa8565e02bd12708540fb3f47935f004c7')
+ version("0.4", sha256="b7729eebdc7c99a66a8b339fc10019aa8565e02bd12708540fb3f47935f004c7")
- depends_on('py-setuptools', type='build')
- depends_on('py-h5py', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-h5py", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-earthengine-api/package.py b/var/spack/repos/builtin/packages/py-earthengine-api/package.py
index 29917f07ef..258219ac04 100644
--- a/var/spack/repos/builtin/packages/py-earthengine-api/package.py
+++ b/var/spack/repos/builtin/packages/py-earthengine-api/package.py
@@ -13,11 +13,11 @@ class PyEarthengineApi(PythonPackage):
homepage = "https://github.com/google/earthengine-api"
pypi = "earthengine-api/earthengine-api-0.1.186.tar.gz"
- version('0.1.186', sha256='ced86dc969f5db13eea91944e29c39146bacbb7026a46f4b4ac349b365979627')
+ version("0.1.186", sha256="ced86dc969f5db13eea91944e29c39146bacbb7026a46f4b4ac349b365979627")
- depends_on('py-setuptools', type='build')
- depends_on('py-google-api-python-client', type=('build', 'run'))
- depends_on('py-google-auth@1.4.1:', type=('build', 'run'))
- depends_on('py-google-auth-httplib2@0.0.3:', type=('build', 'run'))
- depends_on('py-httplib2@0.9.2:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-google-api-python-client", type=("build", "run"))
+ depends_on("py-google-auth@1.4.1:", type=("build", "run"))
+ depends_on("py-google-auth-httplib2@0.0.3:", type=("build", "run"))
+ depends_on("py-httplib2@0.9.2:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py b/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
index d580568264..8ad9bd6623 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-easyblocks/package.py
@@ -11,17 +11,17 @@ class PyEasybuildEasyblocks(PythonPackage):
installation framework for (scientific) software on HPC systems.
"""
- homepage = 'https://easybuilders.github.io/easybuild'
- pypi = 'easybuild-easyblocks/easybuild-easyblocks-4.0.0.tar.gz'
- maintainers = ['boegel']
+ homepage = "https://easybuilders.github.io/easybuild"
+ pypi = "easybuild-easyblocks/easybuild-easyblocks-4.0.0.tar.gz"
+ maintainers = ["boegel"]
- version('4.0.0', sha256='a0fdef6c33c786e323bde1b28bab942fd8e535c26842877d705e692e85b31b07')
- version('3.1.2', sha256='5dcea0d612c5da92815f2c99a591dd2843fe9d76f4c0f4ff4a245d43c39001d8')
+ version("4.0.0", sha256="a0fdef6c33c786e323bde1b28bab942fd8e535c26842877d705e692e85b31b07")
+ version("3.1.2", sha256="5dcea0d612c5da92815f2c99a591dd2843fe9d76f4c0f4ff4a245d43c39001d8")
- depends_on('python@2.6:2.8', when='@:3', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.5:', when='@4:', type=('build', 'run'))
+ depends_on("python@2.6:2.8", when="@:3", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.5:", when="@4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- for v in ['@3.1.2', '@4.0.0']:
- depends_on('py-easybuild-framework' + v, when=v, type='run')
+ for v in ["@3.1.2", "@4.0.0"]:
+ depends_on("py-easybuild-framework" + v, when=v, type="run")
diff --git a/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py b/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
index d7ae832565..772ca5d1b9 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-easyconfigs/package.py
@@ -11,18 +11,18 @@ class PyEasybuildEasyconfigs(PythonPackage):
installation framework for (scientific) software on HPC systems.
"""
- homepage = 'https://easybuilders.github.io/easybuild'
- pypi = 'easybuild-easyconfigs/easybuild-easyconfigs-4.0.0.tar.gz'
- maintainers = ['boegel']
+ homepage = "https://easybuilders.github.io/easybuild"
+ pypi = "easybuild-easyconfigs/easybuild-easyconfigs-4.0.0.tar.gz"
+ maintainers = ["boegel"]
- version('4.0.0', sha256='90d4e8f8abb11e7ae2265745bbd1241cd69d02570e9b4530175c4b2e2aba754e')
- version('3.1.2', sha256='621d514bacd9a0a9a3d35b40dcc448533ffc545b2c79f50d303822778bcc4aa5')
+ version("4.0.0", sha256="90d4e8f8abb11e7ae2265745bbd1241cd69d02570e9b4530175c4b2e2aba754e")
+ version("3.1.2", sha256="621d514bacd9a0a9a3d35b40dcc448533ffc545b2c79f50d303822778bcc4aa5")
- depends_on('python@2.6:2.8', when='@:3', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.5:', when='@4:', type=('build', 'run'))
+ depends_on("python@2.6:2.8", when="@:3", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.5:", when="@4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- for v in ['@3.1.2', '@4.0.0']:
- depends_on('py-easybuild-framework{0}:'.format(v), when=v + ':', type='run')
- depends_on('py-easybuild-easyblocks{0}:'.format(v), when=v, type='run')
+ for v in ["@3.1.2", "@4.0.0"]:
+ depends_on("py-easybuild-framework{0}:".format(v), when=v + ":", type="run")
+ depends_on("py-easybuild-easyblocks{0}:".format(v), when=v, type="run")
diff --git a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
index e5aae66a04..1a46adb03c 100644
--- a/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
+++ b/var/spack/repos/builtin/packages/py-easybuild-framework/package.py
@@ -11,14 +11,14 @@ class PyEasybuildFramework(PythonPackage):
for (scientific) software on HPC systems.
"""
- homepage = 'https://easybuilders.github.io/easybuild'
- pypi = 'easybuild-framework/easybuild-framework-4.0.0.tar.gz'
- maintainers = ['boegel']
+ homepage = "https://easybuilders.github.io/easybuild"
+ pypi = "easybuild-framework/easybuild-framework-4.0.0.tar.gz"
+ maintainers = ["boegel"]
- version('4.0.0', sha256='f5c40345cc8b9b5750f53263ade6c9c3a8cd3dfab488d58f76ac61a8ca7c5a77')
- version('3.1.2', sha256='a03598478574e2982587796afdb792d78b598f4c09ebf4bec1a690c06470c00d')
+ version("4.0.0", sha256="f5c40345cc8b9b5750f53263ade6c9c3a8cd3dfab488d58f76ac61a8ca7c5a77")
+ version("3.1.2", sha256="a03598478574e2982587796afdb792d78b598f4c09ebf4bec1a690c06470c00d")
- depends_on('python@2.6:2.8', when='@:3', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.5:', when='@4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-vsc-base@2.5.4:', when='@2.9:3', type='run')
+ depends_on("python@2.6:2.8", when="@:3", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.5:", when="@4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-vsc-base@2.5.4:", when="@2.9:3", type="run")
diff --git a/var/spack/repos/builtin/packages/py-eccodes/package.py b/var/spack/repos/builtin/packages/py-eccodes/package.py
index 5950d8cf26..29bd48f06d 100644
--- a/var/spack/repos/builtin/packages/py-eccodes/package.py
+++ b/var/spack/repos/builtin/packages/py-eccodes/package.py
@@ -12,24 +12,22 @@ class PyEccodes(PythonPackage):
"""Python interface to the ecCodes GRIB and BUFR decoder/encoder."""
homepage = "https://github.com/ecmwf/eccodes-python"
- pypi = "eccodes/eccodes-1.3.2.tar.gz"
+ pypi = "eccodes/eccodes-1.3.2.tar.gz"
- version('1.3.2', sha256='f282adfdc1bc658356163c9cef1857d4b2bae99399660d3d4fcb145a52d3b2a6')
+ version("1.3.2", sha256="f282adfdc1bc658356163c9cef1857d4b2bae99399660d3d4fcb145a52d3b2a6")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-attrs', type=('build', 'run'))
- depends_on('py-cffi', type=('build', 'run'))
- depends_on('py-findlibs', type=('build', 'run'))
- depends_on('eccodes', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-attrs", type=("build", "run"))
+ depends_on("py-cffi", type=("build", "run"))
+ depends_on("py-findlibs", type=("build", "run"))
+ depends_on("eccodes", type="run")
def setup_build_environment(self, env):
- if sys.platform == 'darwin':
- env.prepend_path('DYLD_LIBRARY_PATH',
- self.spec['eccodes'].libs.directories[0])
+ if sys.platform == "darwin":
+ env.prepend_path("DYLD_LIBRARY_PATH", self.spec["eccodes"].libs.directories[0])
else:
- env.prepend_path('LD_LIBRARY_PATH',
- self.spec['eccodes'].libs.directories[0])
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["eccodes"].libs.directories[0])
def setup_run_environment(self, env):
self.setup_build_environment(env)
@@ -43,7 +41,9 @@ class PyEccodes(PythonPackage):
def test(self):
super(PyEccodes, self).test()
- self.run_test(self.spec['python'].command.path,
- ['-m', 'eccodes', 'selfcheck'],
- purpose='checking system setup',
- work_dir='spack-test')
+ self.run_test(
+ self.spec["python"].command.path,
+ ["-m", "eccodes", "selfcheck"],
+ purpose="checking system setup",
+ work_dir="spack-test",
+ )
diff --git a/var/spack/repos/builtin/packages/py-ecdsa/package.py b/var/spack/repos/builtin/packages/py-ecdsa/package.py
index 46364652d2..03413e14af 100644
--- a/var/spack/repos/builtin/packages/py-ecdsa/package.py
+++ b/var/spack/repos/builtin/packages/py-ecdsa/package.py
@@ -12,9 +12,9 @@ class PyEcdsa(PythonPackage):
homepage = "https://github.com/warner/python-ecdsa"
pypi = "ecdsa/ecdsa-0.15.tar.gz"
- version('0.15', sha256='8f12ac317f8a1318efa75757ef0a651abe12e51fc1af8838fb91079445227277')
- version('0.13.2', sha256='5c034ffa23413ac923541ceb3ac14ec15a0d2530690413bff58c12b80e56d884')
+ version("0.15", sha256="8f12ac317f8a1318efa75757ef0a651abe12e51fc1af8838fb91079445227277")
+ version("0.13.2", sha256="5c034ffa23413ac923541ceb3ac14ec15a0d2530690413bff58c12b80e56d884")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ecos/package.py b/var/spack/repos/builtin/packages/py-ecos/package.py
index 9e9301351f..69757b3503 100644
--- a/var/spack/repos/builtin/packages/py-ecos/package.py
+++ b/var/spack/repos/builtin/packages/py-ecos/package.py
@@ -13,8 +13,10 @@ class PyEcos(PythonPackage):
homepage = "https://github.com/embotech/ecos"
pypi = "ecos/ecos-2.0.7.post1.tar.gz"
- version('2.0.7.post1', sha256='83e90f42b3f32e2a93f255c3cfad2da78dbd859119e93844c45d2fca20bdc758')
+ version(
+ "2.0.7.post1", sha256="83e90f42b3f32e2a93f255c3cfad2da78dbd859119e93844c45d2fca20bdc758"
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-scipy@0.9:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-scipy@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-edffile/package.py b/var/spack/repos/builtin/packages/py-edffile/package.py
index e15fa8bc55..b13f95dbd0 100644
--- a/var/spack/repos/builtin/packages/py-edffile/package.py
+++ b/var/spack/repos/builtin/packages/py-edffile/package.py
@@ -10,11 +10,11 @@ class PyEdffile(PythonPackage):
"""Generic class for Edf files manipulation."""
homepage = "https://github.com/vasole/pymca/blob/master/PyMca5/PyMcaIO/EdfFile.py"
- git = "https://github.com/conda-forge/edffile-feedstock.git"
+ git = "https://github.com/conda-forge/edffile-feedstock.git"
- version('5.0.0', commit='be5ab4199db9f8209c59e31874934b8536b52301')
+ version("5.0.0", commit="be5ab4199db9f8209c59e31874934b8536b52301")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
- build_directory = 'recipe/src'
+ build_directory = "recipe/src"
diff --git a/var/spack/repos/builtin/packages/py-editables/package.py b/var/spack/repos/builtin/packages/py-editables/package.py
index 6fc80e07fd..3312d5a6d8 100644
--- a/var/spack/repos/builtin/packages/py-editables/package.py
+++ b/var/spack/repos/builtin/packages/py-editables/package.py
@@ -10,9 +10,9 @@ class PyEditables(PythonPackage):
"""A Python library for creating "editable wheels"."""
homepage = "https://github.com/pfmoore/editables"
- pypi = "editables/editables-0.3.tar.gz"
+ pypi = "editables/editables-0.3.tar.gz"
- version('0.3', sha256='167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a')
+ version("0.3", sha256="167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-editdistance/package.py b/var/spack/repos/builtin/packages/py-editdistance/package.py
index f45a3b3b1c..1251d16460 100644
--- a/var/spack/repos/builtin/packages/py-editdistance/package.py
+++ b/var/spack/repos/builtin/packages/py-editdistance/package.py
@@ -12,6 +12,6 @@ class PyEditdistance(PythonPackage):
homepage = "https://github.com/aflc/editdistance"
pypi = "editdistance/editdistance-0.4.tar.gz"
- version('0.4', sha256='c765db6f8817d38922e4a50be4b9ab338b2c539377b6fcf0bca11dea72eeb8c1')
+ version("0.4", sha256="c765db6f8817d38922e4a50be4b9ab338b2c539377b6fcf0bca11dea72eeb8c1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-edlib/package.py b/var/spack/repos/builtin/packages/py-edlib/package.py
index 991b82b799..b6d2d7da8e 100644
--- a/var/spack/repos/builtin/packages/py-edlib/package.py
+++ b/var/spack/repos/builtin/packages/py-edlib/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class PyEdlib(PythonPackage):
"""Lightweight, super fast library for sequence
- alignment using edit (Levenshtein) distance."""
+ alignment using edit (Levenshtein) distance."""
homepage = "https://pypi.org/project/edlib/"
- pypi = "edlib/edlib-1.3.9.tar.gz"
+ pypi = "edlib/edlib-1.3.9.tar.gz"
- version('1.3.9', sha256='64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766')
+ version("1.3.9", sha256="64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 d6a6c440eb..43507cab23 100644
--- a/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py
+++ b/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py
@@ -10,11 +10,11 @@ class PyEfficientnetPytorch(PythonPackage):
"""EfficientNet implemented in PyTorch."""
homepage = "https://github.com/lukemelas/efficientnet_pytorch"
- pypi = "efficientnet_pytorch/efficientnet_pytorch-0.6.3.tar.gz"
+ pypi = "efficientnet_pytorch/efficientnet_pytorch-0.6.3.tar.gz"
- version('0.7.1', sha256='00b9b261effce59d2d47aae2ad238c29a2a65175470f41ada7ecac439b7c1ee1')
- version('0.6.3', sha256='6667459336893e9bf6367de3788ba449fed97f65da3b6782bf2204b6273a319f')
+ version("0.7.1", sha256="00b9b261effce59d2d47aae2ad238c29a2a65175470f41ada7ecac439b7c1ee1")
+ version("0.6.3", sha256="6667459336893e9bf6367de3788ba449fed97f65da3b6782bf2204b6273a319f")
- depends_on('python@3.5.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch', type=('build', 'run'))
+ depends_on("python@3.5.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-eg/package.py b/var/spack/repos/builtin/packages/py-eg/package.py
index 498a4039ed..7695f16ad7 100644
--- a/var/spack/repos/builtin/packages/py-eg/package.py
+++ b/var/spack/repos/builtin/packages/py-eg/package.py
@@ -10,13 +10,13 @@ class PyEg(PythonPackage):
"""eg provides examples of common uses of command line tools."""
homepage = "https://github.com/srsudar/eg"
- url = "https://github.com/srsudar/eg/archive/v1.2.0.tar.gz"
+ url = "https://github.com/srsudar/eg/archive/v1.2.0.tar.gz"
- version('1.2.0', sha256='dfeff9f8c16afec1b621c9484c8cdb670dbc69ab40590d16a9becb740ea289f3')
- version('1.1.1', sha256='99020af6ff24742b3eb93a15a289f36156fdb93abdbec50b614b982b1ba9c399')
- version('1.1.0', sha256='41316c79e8f7a999e82057ac54c6d57c58a50cd37dc91e172b634998f61b1b86')
- version('1.0.2', sha256='f9fa9ed4a9bcfaf594d9b4acc758def5ca5b464e3263a6f0eb2270d818aef3cc')
- version('1.0.1', sha256='b52aa86a2b2d018c17bb99637c07e9f42f53fdf8890ef2beaaa774a425350ac4')
- version('1.0.0', sha256='e811b1006002fa80bcac66f5c86cd412f9816969d087296cfd360752d31a85fd')
+ version("1.2.0", sha256="dfeff9f8c16afec1b621c9484c8cdb670dbc69ab40590d16a9becb740ea289f3")
+ version("1.1.1", sha256="99020af6ff24742b3eb93a15a289f36156fdb93abdbec50b614b982b1ba9c399")
+ version("1.1.0", sha256="41316c79e8f7a999e82057ac54c6d57c58a50cd37dc91e172b634998f61b1b86")
+ version("1.0.2", sha256="f9fa9ed4a9bcfaf594d9b4acc758def5ca5b464e3263a6f0eb2270d818aef3cc")
+ version("1.0.1", sha256="b52aa86a2b2d018c17bb99637c07e9f42f53fdf8890ef2beaaa774a425350ac4")
+ version("1.0.0", sha256="e811b1006002fa80bcac66f5c86cd412f9816969d087296cfd360752d31a85fd")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-einops/package.py b/var/spack/repos/builtin/packages/py-einops/package.py
index 51a61cf57f..17879f99a0 100644
--- a/var/spack/repos/builtin/packages/py-einops/package.py
+++ b/var/spack/repos/builtin/packages/py-einops/package.py
@@ -12,9 +12,9 @@ class PyEinops(PythonPackage):
Supports numpy, pytorch, tensorflow, and others."""
homepage = "https://github.com/arogozhnikov/einops"
- pypi = "einops/einops-0.3.2.tar.gz"
+ pypi = "einops/einops-0.3.2.tar.gz"
- version('0.3.2', sha256='5200e413539f0377f4177ef00dc019968f4177c49b1db3e836c7883df2a5fe2e')
+ version("0.3.2", sha256="5200e413539f0377f4177ef00dc019968f4177c49b1db3e836c7883df2a5fe2e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-elasticsearch/package.py b/var/spack/repos/builtin/packages/py-elasticsearch/package.py
index 93dad35333..c956f40aa9 100644
--- a/var/spack/repos/builtin/packages/py-elasticsearch/package.py
+++ b/var/spack/repos/builtin/packages/py-elasticsearch/package.py
@@ -12,13 +12,13 @@ class PyElasticsearch(PythonPackage):
homepage = "https://github.com/elastic/elasticsearch-py"
pypi = "elasticsearch/elasticsearch-5.2.0.tar.gz"
- version('7.5.1', sha256='2a0ca516378ae9b87ac840e7bb529ec508f3010360dd9feed605dff2a898aff5')
- version('6.4.0', sha256='fb5ab15ee283f104b5a7a5695c7e879cb2927e4eb5aed9c530811590b41259ad')
- version('5.2.0', sha256='45d9f8fbe0878a1b7493afeb20f4f6677a43982776ed1a77d9373e9c5b9de966')
- version('2.3.0', sha256='be3080a2bf32dff0a9f9fcc1c087515a25a357645673a976d25ef77166134d81')
+ version("7.5.1", sha256="2a0ca516378ae9b87ac840e7bb529ec508f3010360dd9feed605dff2a898aff5")
+ version("6.4.0", sha256="fb5ab15ee283f104b5a7a5695c7e879cb2927e4eb5aed9c530811590b41259ad")
+ version("5.2.0", sha256="45d9f8fbe0878a1b7493afeb20f4f6677a43982776ed1a77d9373e9c5b9de966")
+ version("2.3.0", sha256="be3080a2bf32dff0a9f9fcc1c087515a25a357645673a976d25ef77166134d81")
- depends_on('py-setuptools', type='build')
- depends_on('py-urllib3@1.8:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-urllib3@1.8:1", type=("build", "run"))
# tests_require
# depends_on('py-requests@1.0.0:2.9', type=('build', 'run'))
# depends_on('py-nose', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py
index 95624f4bde..cdfc9092eb 100644
--- a/var/spack/repos/builtin/packages/py-elephant/package.py
+++ b/var/spack/repos/builtin/packages/py-elephant/package.py
@@ -7,59 +7,60 @@ from spack.package import *
class PyElephant(PythonPackage):
- """Elephant is a package for analysis of electrophysiology data in Python
- """
+ """Elephant is a package for analysis of electrophysiology data in Python"""
homepage = "http://neuralensemble.org/elephant/"
pypi = "elephant/elephant-0.11.0.tar.gz"
git = "https://github.com/NeuralEnsemble/elephant.git"
# list of GitHub accounts to notify when the package is updated.
- maintainers = ['Moritz-Alexander-Kern']
+ maintainers = ["Moritz-Alexander-Kern"]
- version('0.11.1', sha256='d604a202583440fdf9d95d42cef50a410bd74fcaaa1a925b139435f27ab012ef')
- version('0.11.0', sha256='7b547964dbd196361edc922db2c5a7c0c886ef1effcca6c6dc7adb06f966a3be')
- version('0.10.0', sha256='7e69a113475e4db01b3563328953c037d37f1597d9f2edf0d51fb65e9aebf096')
- version('0.9.0', sha256='3e3d4a8e45d708f48bdcadcc4933c66f757d1ede6a1e172af0c07331b64ca180')
- version('0.8.0', sha256='f7c2649d5b7cfdbaa4442457c75f86af01cc8e7ce2c63f5b3d4687bb94e10af2')
- version('0.7.0', sha256='76785fe10c40042504928fde2fc57182230bbe39cf0fb0dcaffaba76219b046a')
- version('0.6.4', sha256='b8c5f2c00ad3249e1fe428d0b8a1dbcaee4a69464481f5f8fd55d2f7f22c45a3')
- version('0.4.1', sha256='86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81')
- version('0.3.0', sha256='747251ccfb5820bdead6391411b5faf205b4ddf3ababaefe865f50b16540cfef')
+ version("0.11.1", sha256="d604a202583440fdf9d95d42cef50a410bd74fcaaa1a925b139435f27ab012ef")
+ version("0.11.0", sha256="7b547964dbd196361edc922db2c5a7c0c886ef1effcca6c6dc7adb06f966a3be")
+ version("0.10.0", sha256="7e69a113475e4db01b3563328953c037d37f1597d9f2edf0d51fb65e9aebf096")
+ version("0.9.0", sha256="3e3d4a8e45d708f48bdcadcc4933c66f757d1ede6a1e172af0c07331b64ca180")
+ version("0.8.0", sha256="f7c2649d5b7cfdbaa4442457c75f86af01cc8e7ce2c63f5b3d4687bb94e10af2")
+ version("0.7.0", sha256="76785fe10c40042504928fde2fc57182230bbe39cf0fb0dcaffaba76219b046a")
+ version("0.6.4", sha256="b8c5f2c00ad3249e1fe428d0b8a1dbcaee4a69464481f5f8fd55d2f7f22c45a3")
+ version("0.4.1", sha256="86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81")
+ version("0.3.0", sha256="747251ccfb5820bdead6391411b5faf205b4ddf3ababaefe865f50b16540cfef")
- variant('docs', default=False, description='Install documentation dependencies')
- variant('pandas', default=False, description='Build with pandas', when='@0.3.0:0.4.1')
- variant('extras', default=False, description='Build with extras for GPFA, ASSET', when='@0.6.4:')
+ variant("docs", default=False, description="Install documentation dependencies")
+ variant("pandas", default=False, description="Build with pandas", when="@0.3.0:0.4.1")
+ variant(
+ "extras", default=False, description="Build with extras for GPFA, ASSET", when="@0.6.4:"
+ )
- depends_on('py-setuptools', type='build')
- depends_on('python@3.7:', type=('build', 'run'), when='@0.11.0:')
- depends_on('py-neo@0.3.4:', type=('build', 'run'), when='@0.3.0:0.4.1')
- depends_on('py-numpy@1.8.2:', type=('build', 'run'), when='@0.3.0:0.4.1')
- depends_on('py-quantities@0.10.1:', type=('build', 'run'), when='@0.3.0:0.4.1')
- depends_on('py-scipy@0.14.0:', type=('build', 'run'), when='@0.3.0:0.4.1')
- depends_on('py-pandas@0.14.1:', type=('build', 'run'), when='+pandas')
- depends_on('py-numpydoc@0.5:', type=('build', 'run'), when='@0.3.0:0.8.0+docs')
- depends_on('py-numpydoc@1.1.0:', type=('build', 'run'), when='@0.9.0:+docs')
- depends_on('py-sphinx@1.2.2:', type=('build', 'run'), when='@0.3.0:0.6.0+docs')
- depends_on('py-sphinx@2.4.3:', type=('build', 'run'), when='@0.7.0:0.8.0+docs')
- depends_on('py-sphinx@3.3.0:', type=('build', 'run'), when='@0.9.0:+docs')
- depends_on('py-jupyter@1.0.0:', type=('build', 'run'), when='@0.7.0:+docs')
- depends_on('py-nbsphinx@0.5.0:', type=('build', 'run'), when='@0.7.0:0.8.0+docs')
- depends_on('py-nbsphinx@0.8.0:', type=('build', 'run'), when='@0.9.0:+docs')
- depends_on('py-sphinxcontrib-bibtex@1.0.0', type=('build', 'run'), when='@0.7.0:+docs')
- depends_on('py-sphinx-tabs@1.1.13:', type=('build', 'run'), when='@0.7.0:0.8.0+docs')
- depends_on('py-sphinx-tabs@1.3.0:', type=('build', 'run'), when='@0.9.0:+docs')
- depends_on('py-matplotlib@3.1.0:', type=('build', 'run'), when='@0.8.0+docs')
- depends_on('py-matplotlib@3.3.2:', type=('build', 'run'), when='@0.9.0:+docs')
- depends_on('py-pandas@0.18.0:', type=('build', 'run'), when='+extras')
- depends_on('py-scikit-learn@0.23.2:', type=('build', 'run'), when='+extras')
- depends_on('py-statsmodels@0.12.1:', type=('build', 'run'), when='+extras')
- depends_on('py-jinja2@2.11.2:', type=('build', 'run'), when='+extras')
- depends_on('py-neo@0.10.0:', type=('build', 'run'), when='@0.11.0:')
- depends_on('py-neo@0.9.0', type=('build', 'run'), when='@0.9.0:0.10.0')
- depends_on('py-neo@0.8.0', type=('build', 'run'), when='@0.6.4:0.8.0')
- depends_on('py-numpy@1.18.1:', type=('build', 'run'), when='@0.6.4:')
- depends_on('py-quantities@0.12.1:', type=('build', 'run'), when='@0.6.4:')
- depends_on('py-scipy@1.5.4:', type=('build', 'run'), when='@0.6.4:')
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@0.6.4:')
- depends_on('py-tqdm', type=('build', 'run'), when='@0.6.4:')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.7:", type=("build", "run"), when="@0.11.0:")
+ depends_on("py-neo@0.3.4:", type=("build", "run"), when="@0.3.0:0.4.1")
+ depends_on("py-numpy@1.8.2:", type=("build", "run"), when="@0.3.0:0.4.1")
+ depends_on("py-quantities@0.10.1:", type=("build", "run"), when="@0.3.0:0.4.1")
+ depends_on("py-scipy@0.14.0:", type=("build", "run"), when="@0.3.0:0.4.1")
+ depends_on("py-pandas@0.14.1:", type=("build", "run"), when="+pandas")
+ depends_on("py-numpydoc@0.5:", type=("build", "run"), when="@0.3.0:0.8.0+docs")
+ depends_on("py-numpydoc@1.1.0:", type=("build", "run"), when="@0.9.0:+docs")
+ depends_on("py-sphinx@1.2.2:", type=("build", "run"), when="@0.3.0:0.6.0+docs")
+ depends_on("py-sphinx@2.4.3:", type=("build", "run"), when="@0.7.0:0.8.0+docs")
+ depends_on("py-sphinx@3.3.0:", type=("build", "run"), when="@0.9.0:+docs")
+ depends_on("py-jupyter@1.0.0:", type=("build", "run"), when="@0.7.0:+docs")
+ depends_on("py-nbsphinx@0.5.0:", type=("build", "run"), when="@0.7.0:0.8.0+docs")
+ depends_on("py-nbsphinx@0.8.0:", type=("build", "run"), when="@0.9.0:+docs")
+ depends_on("py-sphinxcontrib-bibtex@1.0.0", type=("build", "run"), when="@0.7.0:+docs")
+ depends_on("py-sphinx-tabs@1.1.13:", type=("build", "run"), when="@0.7.0:0.8.0+docs")
+ depends_on("py-sphinx-tabs@1.3.0:", type=("build", "run"), when="@0.9.0:+docs")
+ depends_on("py-matplotlib@3.1.0:", type=("build", "run"), when="@0.8.0+docs")
+ depends_on("py-matplotlib@3.3.2:", type=("build", "run"), when="@0.9.0:+docs")
+ depends_on("py-pandas@0.18.0:", type=("build", "run"), when="+extras")
+ depends_on("py-scikit-learn@0.23.2:", type=("build", "run"), when="+extras")
+ depends_on("py-statsmodels@0.12.1:", type=("build", "run"), when="+extras")
+ depends_on("py-jinja2@2.11.2:", type=("build", "run"), when="+extras")
+ depends_on("py-neo@0.10.0:", type=("build", "run"), when="@0.11.0:")
+ depends_on("py-neo@0.9.0", type=("build", "run"), when="@0.9.0:0.10.0")
+ depends_on("py-neo@0.8.0", type=("build", "run"), when="@0.6.4:0.8.0")
+ depends_on("py-numpy@1.18.1:", type=("build", "run"), when="@0.6.4:")
+ depends_on("py-quantities@0.12.1:", type=("build", "run"), when="@0.6.4:")
+ depends_on("py-scipy@1.5.4:", type=("build", "run"), when="@0.6.4:")
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@0.6.4:")
+ depends_on("py-tqdm", type=("build", "run"), when="@0.6.4:")
diff --git a/var/spack/repos/builtin/packages/py-emcee/package.py b/var/spack/repos/builtin/packages/py-emcee/package.py
index f8c1c6d3a4..727243e9fc 100644
--- a/var/spack/repos/builtin/packages/py-emcee/package.py
+++ b/var/spack/repos/builtin/packages/py-emcee/package.py
@@ -13,13 +13,13 @@ class PyEmcee(PythonPackage):
homepage = "https://dan.iel.fm/emcee/current/"
pypi = "emcee/emcee-2.2.1.tar.gz"
- version('3.1.1', sha256='48ffc6a7f5c51760b7a836056184c7286a9959ef81b45b977b02794f1210fb5c')
- version('3.0.2', sha256='035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388')
- version('2.2.1', sha256='b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172')
- version('2.1.0', sha256='5ce1039a3d78fb9e7d53fcd768517585c5998193743bfcfaac407927d375ca63')
+ version("3.1.1", sha256="48ffc6a7f5c51760b7a836056184c7286a9959ef81b45b977b02794f1210fb5c")
+ version("3.0.2", sha256="035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388")
+ version("2.2.1", sha256="b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172")
+ version("2.1.0", sha256="5ce1039a3d78fb9e7d53fcd768517585c5998193743bfcfaac407927d375ca63")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@40.6.0:', type='build', when='@3.1.1:')
- depends_on('py-setuptools-scm', type='build', when='@3.1.1:')
- depends_on('py-wheel', type='build', when='@3.1.1:')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@40.6.0:", type="build", when="@3.1.1:")
+ depends_on("py-setuptools-scm", type="build", when="@3.1.1:")
+ depends_on("py-wheel", type="build", when="@3.1.1:")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-emoji/package.py b/var/spack/repos/builtin/packages/py-emoji/package.py
index 6b06855120..75bc7a06c6 100644
--- a/var/spack/repos/builtin/packages/py-emoji/package.py
+++ b/var/spack/repos/builtin/packages/py-emoji/package.py
@@ -10,8 +10,8 @@ class PyEmoji(PythonPackage):
"""Emoji for Python."""
homepage = "https://github.com/carpedm20/emoji/"
- pypi = "emoji/emoji-1.5.0.tar.gz"
+ pypi = "emoji/emoji-1.5.0.tar.gz"
- version('1.5.0', sha256='2eddd062f940924fb25a3108d84d77dc571927d91a419b4c30f37e253c791b19')
+ version("1.5.0", sha256="2eddd062f940924fb25a3108d84d77dc571927d91a419b4c30f37e253c791b19")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-empy/package.py b/var/spack/repos/builtin/packages/py-empy/package.py
index 70f031c02d..fcc015a6e9 100644
--- a/var/spack/repos/builtin/packages/py-empy/package.py
+++ b/var/spack/repos/builtin/packages/py-empy/package.py
@@ -13,7 +13,7 @@ class PyEmpy(PythonPackage):
homepage = "http://www.alcyone.com/software/empy"
pypi = "empy/empy-3.3.4.tar.gz"
- version('3.3.4', sha256='73ac49785b601479df4ea18a7c79bc1304a8a7c34c02b9472cf1206ae88f01b3')
+ version("3.3.4", sha256="73ac49785b601479df4ea18a7c79bc1304a8a7c34c02b9472cf1206ae88f01b3")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-entrypoints/package.py b/var/spack/repos/builtin/packages/py-entrypoints/package.py
index 403f05dda0..ab17569a81 100644
--- a/var/spack/repos/builtin/packages/py-entrypoints/package.py
+++ b/var/spack/repos/builtin/packages/py-entrypoints/package.py
@@ -12,12 +12,12 @@ class PyEntrypoints(PythonPackage):
homepage = "https://github.com/takluyver/entrypoints"
pypi = "entrypoints/entrypoints-0.2.3.tar.gz"
- version('0.4', sha256='b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4')
- version('0.3', sha256='c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451')
- version('0.2.3', sha256='d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f')
+ version("0.4", sha256="b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4")
+ version("0.3", sha256="c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451")
+ version("0.2.3", sha256="d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f")
- depends_on('python@3.6:', when='@0.4:', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-flit-core@2:3', when='@0.4:', type='build')
- depends_on('py-flit', when='@:0.3', type='build')
- depends_on('py-configparser@3.5:', when='^python@2.7', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.4:", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-flit-core@2:3", when="@0.4:", type="build")
+ depends_on("py-flit", when="@:0.3", type="build")
+ depends_on("py-configparser@3.5:", when="^python@2.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-enum34/package.py b/var/spack/repos/builtin/packages/py-enum34/package.py
index a1e71b6298..602fbec60a 100644
--- a/var/spack/repos/builtin/packages/py-enum34/package.py
+++ b/var/spack/repos/builtin/packages/py-enum34/package.py
@@ -12,14 +12,14 @@ class PyEnum34(PythonPackage):
homepage = "https://bitbucket.org/stoneleaf/enum34/src"
pypi = "enum34/enum34-1.1.6.tar.gz"
- version('1.1.10', sha256='cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248')
- version('1.1.6', sha256='8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1')
+ version("1.1.10", sha256="cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248")
+ version("1.1.6", sha256="8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1")
# enum34 is a backport of the enum library from Python 3.4. It is not
# intended to be used with Python 3.4+. In fact, it won't build at all
# for Python 3.6+, as new constructs were added to the builtin enum
# library that aren't present in enum34. See:
# https://bitbucket.org/stoneleaf/enum34/issues/19
- depends_on('python@:3.5', type=('build', 'run'))
- depends_on('py-ordereddict', when='^python@:2.6', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@:3.5", type=("build", "run"))
+ depends_on("py-ordereddict", when="^python@:2.6", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-envisage/package.py b/var/spack/repos/builtin/packages/py-envisage/package.py
index 5032d87039..bc0ebd5fe8 100644
--- a/var/spack/repos/builtin/packages/py-envisage/package.py
+++ b/var/spack/repos/builtin/packages/py-envisage/package.py
@@ -19,13 +19,13 @@ class PyEnvisage(PythonPackage):
homepage = "https://github.com/enthought/envisage"
pypi = "envisage/envisage-4.9.2.tar.gz"
- version('6.0.1', sha256='8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c')
- version('4.9.2', sha256='ed9580ac6ea17b333f1cce5b94656aed584798d56d8bd364f996a06fe1ac32eb')
+ version("6.0.1", sha256="8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c")
+ version("4.9.2", sha256="ed9580ac6ea17b333f1cce5b94656aed584798d56d8bd364f996a06fe1ac32eb")
- depends_on('python@3.6:', when='@5:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@:4', type=('build', 'run'))
- depends_on('py-apptools', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six', when='@:4', type=('build', 'run'))
- depends_on('py-traits@6.2:', when='@6:', type=('build', 'run'))
- depends_on('py-traits', type=('build', 'run'))
+ depends_on("python@3.6:", when="@5:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@:4", type=("build", "run"))
+ depends_on("py-apptools", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six", when="@:4", type=("build", "run"))
+ depends_on("py-traits@6.2:", when="@6:", type=("build", "run"))
+ depends_on("py-traits", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ephem/package.py b/var/spack/repos/builtin/packages/py-ephem/package.py
index 15354f33a6..6a037e4628 100644
--- a/var/spack/repos/builtin/packages/py-ephem/package.py
+++ b/var/spack/repos/builtin/packages/py-ephem/package.py
@@ -11,9 +11,9 @@ class PyEphem(PythonPackage):
performing high-precision astronomy computations."""
homepage = "https://rhodesmill.org/pyephem/"
- url = "https://github.com/brandon-rhodes/pyephem/archive/v3.7.7.1.tar.gz"
+ url = "https://github.com/brandon-rhodes/pyephem/archive/v3.7.7.1.tar.gz"
- version('3.7.7.1', sha256='d9d05d85c0d38a79169acaef25964ac9df2d808f0d833354545b9ef681ff584d')
+ version("3.7.7.1", sha256="d9d05d85c0d38a79169acaef25964ac9df2d808f0d833354545b9ef681ff584d")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-epydoc/package.py b/var/spack/repos/builtin/packages/py-epydoc/package.py
index 96c36ff067..9509677b65 100644
--- a/var/spack/repos/builtin/packages/py-epydoc/package.py
+++ b/var/spack/repos/builtin/packages/py-epydoc/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class PyEpydoc(PythonPackage):
"""Epydoc is a tool for generating API documentation documentation for
- Python modules, based on their docstrings."""
+ Python modules, based on their docstrings."""
+
pypi = "epydoc/epydoc-3.0.1.tar.gz"
- version('3.0.1', sha256='c81469b853fab06ec42b39e35dd7cccbe9938dfddef324683d89c1e5176e48f2')
+ version("3.0.1", sha256="c81469b853fab06ec42b39e35dd7cccbe9938dfddef324683d89c1e5176e48f2")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-espresso/package.py b/var/spack/repos/builtin/packages/py-espresso/package.py
index e741cf2c76..2809056e4c 100644
--- a/var/spack/repos/builtin/packages/py-espresso/package.py
+++ b/var/spack/repos/builtin/packages/py-espresso/package.py
@@ -10,28 +10,29 @@ from spack.pkg.builtin.boost import Boost
class PyEspresso(CMakePackage):
"""ESPResSo is a highly versatile software package for performing and
- analyzing scientific Molecular Dynamics many-particle simulations of
- coarse-grained atomistic or bead-spring models as they are used in
- soft matter research in physics, chemistry and molecular biology. It
- can be used to simulate systems such as polymers, liquid crystals,
- colloids, polyelectrolytes, ferrofluids and biological systems, for
- example DNA and lipid membranes. It also has a DPD and lattice
- Boltzmann solver for hydrodynamic interactions, and allows several
- particle couplings to the LB fluid.
+ analyzing scientific Molecular Dynamics many-particle simulations of
+ coarse-grained atomistic or bead-spring models as they are used in
+ soft matter research in physics, chemistry and molecular biology. It
+ can be used to simulate systems such as polymers, liquid crystals,
+ colloids, polyelectrolytes, ferrofluids and biological systems, for
+ example DNA and lipid membranes. It also has a DPD and lattice
+ Boltzmann solver for hydrodynamic interactions, and allows several
+ particle couplings to the LB fluid.
"""
+
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"
+ git = "https://github.com/espressomd/espresso.git"
+ url = "https://github.com/espressomd/espresso/releases/download/4.0.0/espresso-4.0.0.tar.gz"
- version('develop', branch='python')
- version('4.0.2', sha256='89878ab44a58e90b69d56368e961b8ca13d9307f8d4b282967a1f3071a62c740')
- version('4.0.1', sha256='17b7268eeba652a77f861bc534cdd05d206e7641d203a9dd5029b44bd422304b')
- version('4.0.0', sha256='8e128847447eebd843de24be9b4ad14aa19c028ae48879a5a4535a9683836e6b')
+ version("develop", branch="python")
+ version("4.0.2", sha256="89878ab44a58e90b69d56368e961b8ca13d9307f8d4b282967a1f3071a62c740")
+ version("4.0.1", sha256="17b7268eeba652a77f861bc534cdd05d206e7641d203a9dd5029b44bd422304b")
+ version("4.0.0", sha256="8e128847447eebd843de24be9b4ad14aa19c028ae48879a5a4535a9683836e6b")
# espressomd/espresso#2244 merge upstream
- patch('2244.patch', when="@4.0.0")
+ patch("2244.patch", when="@4.0.0")
- depends_on("cmake@3.0:", type='build')
+ depends_on("cmake@3.0:", type="build")
depends_on("mpi")
depends_on("boost+serialization+filesystem+system+python+mpi")
diff --git a/var/spack/repos/builtin/packages/py-espressopp/package.py b/var/spack/repos/builtin/packages/py-espressopp/package.py
index 70d54c6a27..c5f1d7eafb 100644
--- a/var/spack/repos/builtin/packages/py-espressopp/package.py
+++ b/var/spack/repos/builtin/packages/py-espressopp/package.py
@@ -9,55 +9,60 @@ from spack.package import *
class PyEspressopp(CMakePackage):
"""ESPResSo++ is an extensible, flexible, fast and parallel simulation
- software for soft matter research. It is a highly versatile software
- package for the scientific simulation and analysis of coarse-grained
- atomistic or bead-spring models as they are used in soft matter research
+ software for soft matter research. It is a highly versatile software
+ package for the scientific simulation and analysis of coarse-grained
+ atomistic or bead-spring models as they are used in soft matter research
"""
+
homepage = "https://espressopp.github.io"
- url = "https://github.com/espressopp/espressopp/tarball/v3.0.0"
- git = "https://github.com/espressopp/espressopp.git"
+ url = "https://github.com/espressopp/espressopp/tarball/v3.0.0"
+ git = "https://github.com/espressopp/espressopp.git"
- version('master', branch='master')
- version('3.0.0', sha256='63518e768a98179ad5ef3be96eabaa4d38063b34962e2278db7d59ed2bb8a32e')
- version('2.0.2', sha256='8cf4525bca06426379f5b9fbb8cc2603f559d28a2e74d1d7694df963b8f3dc6c', deprecated=True)
- version('1.9.5', sha256='8093f1a226f9fee8fb37c401767439a29ff3656dede3a44b4160169fc90d4d91', deprecated=True)
+ version("master", branch="master")
+ version("3.0.0", sha256="63518e768a98179ad5ef3be96eabaa4d38063b34962e2278db7d59ed2bb8a32e")
+ version(
+ "2.0.2",
+ sha256="8cf4525bca06426379f5b9fbb8cc2603f559d28a2e74d1d7694df963b8f3dc6c",
+ deprecated=True,
+ )
+ version(
+ "1.9.5",
+ sha256="8093f1a226f9fee8fb37c401767439a29ff3656dede3a44b4160169fc90d4d91",
+ deprecated=True,
+ )
- variant('ug', default=False, description='Build user guide')
- variant('pdf', default=False, description='Build user guide in pdf format')
- variant('dg', default=False, description='Build developer guide')
+ variant("ug", default=False, description="Build user guide")
+ variant("pdf", default=False, description="Build user guide in pdf format")
+ variant("dg", default=False, description="Build developer guide")
- depends_on("cmake@2.8:", type='build')
+ depends_on("cmake@2.8:", type="build")
depends_on("mpi")
depends_on("boost+serialization+filesystem+system+python+mpi cxxstd=11")
depends_on("boost+numpy cxxstd=11", when="@master")
extends("python")
- depends_on("python@2:2.8", when="@:2", type=('build', 'run'))
- depends_on("python@3:", type=('build', 'run'))
- depends_on("py-mpi4py@2.0.0:", type=('build', 'run'))
+ depends_on("python@2:2.8", when="@:2", type=("build", "run"))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-mpi4py@2.0.0:", type=("build", "run"))
depends_on("fftw")
- depends_on("py-sphinx", when="+ug", type='build')
- depends_on("py-sphinx", when="+pdf", type='build')
- depends_on('py-numpy@:1.16.6', when='@:2', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyh5md', when='@master', type=('build', 'run'))
- depends_on('py-matplotlib', when="+ug", type='build')
- depends_on('py-matplotlib', when="+pdf", type='build')
- depends_on("texlive", when="+pdf", type='build')
- depends_on("doxygen", when="+dg", type='build')
+ depends_on("py-sphinx", when="+ug", type="build")
+ depends_on("py-sphinx", when="+pdf", type="build")
+ depends_on("py-numpy@:1.16.6", when="@:2", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyh5md", when="@master", type=("build", "run"))
+ depends_on("py-matplotlib", when="+ug", type="build")
+ depends_on("py-matplotlib", when="+pdf", type="build")
+ depends_on("texlive", when="+pdf", type="build")
+ depends_on("doxygen", when="+dg", type="build")
def cmake_args(self):
- return [
- '-DEXTERNAL_MPI4PY=ON',
- '-DEXTERNAL_BOOST=ON',
- '-DWITH_RC_FILES=OFF'
- ]
+ return ["-DEXTERNAL_MPI4PY=ON", "-DEXTERNAL_BOOST=ON", "-DWITH_RC_FILES=OFF"]
def build(self, spec, prefix):
with working_dir(self.build_directory):
make()
- if '+ug' in spec:
+ if "+ug" in spec:
make("ug", parallel=False)
- if '+pdf' in spec:
+ if "+pdf" in spec:
make("ug-pdf", parallel=False)
- if '+dg' in spec:
+ if "+dg" in spec:
make("doc", parallel=False)
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 4ee95f7816..a9f354155b 100644
--- a/var/spack/repos/builtin/packages/py-et-xmlfile/package.py
+++ b/var/spack/repos/builtin/packages/py-et-xmlfile/package.py
@@ -12,6 +12,6 @@ class PyEtXmlfile(PythonPackage):
homepage = "https://et-xmlfile.readthedocs.io/en/latest/"
pypi = "et_xmlfile/et_xmlfile-1.0.1.tar.gz"
- version('1.0.1', sha256='614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b')
+ version("1.0.1", sha256="614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-etelemetry/package.py b/var/spack/repos/builtin/packages/py-etelemetry/package.py
index 51839649cb..29965504b1 100644
--- a/var/spack/repos/builtin/packages/py-etelemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-etelemetry/package.py
@@ -10,14 +10,14 @@ class PyEtelemetry(PythonPackage):
"""A lightweight python client to communicate with the etelemetry server"""
homepage = "https://github.com/sensein/etelemetry-client"
- url = "https://github.com/sensein/etelemetry-client/archive/refs/tags/v0.2.2.tar.gz"
+ url = "https://github.com/sensein/etelemetry-client/archive/refs/tags/v0.2.2.tar.gz"
- version('0.3.0', sha256='5f710fdb17ec02f93be29d234b33c1c62ad641320d1b4047e61044679018de03')
- version('0.2.2', sha256='bfec416552d248ad0f50b90ba5ff015e825ad70e4a87f7a06cc7da6d19152897')
+ version("0.3.0", sha256="5f710fdb17ec02f93be29d234b33c1c62ad641320d1b4047e61044679018de03")
+ version("0.2.2", sha256="bfec416552d248ad0f50b90ba5ff015e825ad70e4a87f7a06cc7da6d19152897")
- depends_on('python@3.7:', when='@0.3:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.7:", when="@0.3:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-ci-info@0.2.0:', type=('build', 'run'))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-ci-info@0.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-eventlet/package.py b/var/spack/repos/builtin/packages/py-eventlet/package.py
index 6b53dc9454..1bdb3a686e 100644
--- a/var/spack/repos/builtin/packages/py-eventlet/package.py
+++ b/var/spack/repos/builtin/packages/py-eventlet/package.py
@@ -10,10 +10,10 @@ class PyEventlet(PythonPackage):
"""Concurrent networking library for Python"""
homepage = "https://github.com/eventlet/eventlet"
- url = "https://github.com/eventlet/eventlet/releases/download/v0.22.0/eventlet-0.22.0.tar.gz"
+ url = "https://github.com/eventlet/eventlet/releases/download/v0.22.0/eventlet-0.22.0.tar.gz"
- version('0.22.0', sha256='6d22464f448fdf144a9d566c157299d686bbe324554dd7729df9ccd05ca66439')
+ version("0.22.0", sha256="6d22464f448fdf144a9d566c157299d686bbe324554dd7729df9ccd05ca66439")
- depends_on('py-setuptools', type='build')
- depends_on('py-greenlet@0.3:')
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-greenlet@0.3:")
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-execnet/package.py b/var/spack/repos/builtin/packages/py-execnet/package.py
index 7e5ed0f1d6..d64b3131e4 100644
--- a/var/spack/repos/builtin/packages/py-execnet/package.py
+++ b/var/spack/repos/builtin/packages/py-execnet/package.py
@@ -14,10 +14,10 @@ class PyExecnet(PythonPackage):
homepage = "https://codespeak.net/execnet"
pypi = "execnet/execnet-1.7.1.tar.gz"
- version('1.7.1', sha256='cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50')
- version('1.4.1', sha256='f66dd4a7519725a1b7e14ad9ae7d3df8e09b2da88062386e08e941cafc0ef3e6')
+ version("1.7.1", sha256="cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50")
+ version("1.4.1", sha256="f66dd4a7519725a1b7e14ad9ae7d3df8e09b2da88062386e08e941cafc0ef3e6")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-apipkg@1.4:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-apipkg@1.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-executing/package.py b/var/spack/repos/builtin/packages/py-executing/package.py
index 368f88dd0f..3e14ee972f 100644
--- a/var/spack/repos/builtin/packages/py-executing/package.py
+++ b/var/spack/repos/builtin/packages/py-executing/package.py
@@ -10,9 +10,9 @@ class PyExecuting(PythonPackage):
"""Get the currently executing AST node of a frame, and other information."""
homepage = "https://github.com/alexmojaki/executing"
- pypi = "executing/executing-0.8.2.tar.gz"
+ pypi = "executing/executing-0.8.2.tar.gz"
- version('0.8.2', sha256='c23bf42e9a7b9b212f185b1b2c3c91feb895963378887bb10e64a2e612ec0023')
+ version("0.8.2", sha256="c23bf42e9a7b9b212f185b1b2c3c91feb895963378887bb10e64a2e612ec0023")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm+toml', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-exifread/package.py b/var/spack/repos/builtin/packages/py-exifread/package.py
index b7eed84d17..7b4484b9f2 100644
--- a/var/spack/repos/builtin/packages/py-exifread/package.py
+++ b/var/spack/repos/builtin/packages/py-exifread/package.py
@@ -10,8 +10,8 @@ class PyExifread(PythonPackage):
"""Read Exif metadata from tiff and jpeg files."""
homepage = "https://github.com/ianare/exif-py"
- pypi = "ExifRead/ExifRead-2.3.2.tar.gz"
+ pypi = "ExifRead/ExifRead-2.3.2.tar.gz"
- version('2.3.2', sha256='a0f74af5040168d3883bbc980efe26d06c89f026dc86ba28eb34107662d51766')
+ version("2.3.2", sha256="a0f74af5040168d3883bbc980efe26d06c89f026dc86ba28eb34107662d51766")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
index 2e678d1869..ac748b7c5e 100644
--- a/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
+++ b/var/spack/repos/builtin/packages/py-exodus-bundler/package.py
@@ -13,9 +13,9 @@ class PyExodusBundler(PythonPackage):
homepage = "https://github.com/intoli/exodus"
pypi = "exodus-bundler/exodus-bundler-2.0.2.tar.gz"
- version('2.0.2', sha256='4e896a2034b94cf7b4fb33d86a68e29a7d3b08e57541e444db34dddc6ac1ef68')
+ version("2.0.2", sha256="4e896a2034b94cf7b4fb33d86a68e29a7d3b08e57541e444db34dddc6ac1ef68")
- depends_on('musl', type='run', when='%apple-clang')
- depends_on('musl', type='run', when='%clang')
- depends_on('musl', type='run', when='%gcc')
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("musl", type="run", when="%apple-clang")
+ depends_on("musl", type="run", when="%clang")
+ depends_on("musl", type="run", when="%gcc")
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-extension-helpers/package.py b/var/spack/repos/builtin/packages/py-extension-helpers/package.py
index baf4812cb4..8731e21664 100644
--- a/var/spack/repos/builtin/packages/py-extension-helpers/package.py
+++ b/var/spack/repos/builtin/packages/py-extension-helpers/package.py
@@ -13,10 +13,10 @@ class PyExtensionHelpers(PythonPackage):
extensions. It is developed by the Astropy project but is intended
to be general and usable by any Python package."""
- homepage = 'https://github.com/astropy/astropy-helpers'
- pypi = 'extension-helpers/extension-helpers-0.1.tar.gz'
+ homepage = "https://github.com/astropy/astropy-helpers"
+ pypi = "extension-helpers/extension-helpers-0.1.tar.gz"
- version('0.1', sha256='ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882')
+ version("0.1", sha256="ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@30.3:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-extras/package.py b/var/spack/repos/builtin/packages/py-extras/package.py
index d76607fa7b..69df0a2648 100644
--- a/var/spack/repos/builtin/packages/py-extras/package.py
+++ b/var/spack/repos/builtin/packages/py-extras/package.py
@@ -13,6 +13,6 @@ class PyExtras(PythonPackage):
homepage = "https://github.com/testing-cabal/extras"
pypi = "extras/extras-1.0.0.tar.gz"
- version('1.0.0', sha256='132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e')
+ version("1.0.0", sha256="132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ez-setup/package.py b/var/spack/repos/builtin/packages/py-ez-setup/package.py
index f6f96302ab..265840b0d6 100644
--- a/var/spack/repos/builtin/packages/py-ez-setup/package.py
+++ b/var/spack/repos/builtin/packages/py-ez-setup/package.py
@@ -11,8 +11,8 @@ class PyEzSetup(PythonPackage):
setuptools."""
homepage = "https://github.com/ActiveState/ez_setup"
- url = "https://github.com/ActiveState/ez_setup/archive/v0.9.tar.gz"
+ url = "https://github.com/ActiveState/ez_setup/archive/v0.9.tar.gz"
- version('0.9', sha256='a35cb03142cc10b6bb2cf59999cf2f4e127ec0901606d02be57da5b34e6897fb')
+ version("0.9", sha256="a35cb03142cc10b6bb2cf59999cf2f4e127ec0901606d02be57da5b34e6897fb")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-f90wrap/package.py b/var/spack/repos/builtin/packages/py-f90wrap/package.py
index 46ff5ae5d7..cb3f97783d 100644
--- a/var/spack/repos/builtin/packages/py-f90wrap/package.py
+++ b/var/spack/repos/builtin/packages/py-f90wrap/package.py
@@ -14,10 +14,10 @@ class PyF90wrap(PythonPackage):
homepage = "https://github.com/jameskermode/f90wrap"
pypi = "f90wrap/f90wrap-0.2.3.tar.gz"
- version('0.2.6', sha256='e0748eb5e288be7f47829a272fc230373469fb40afccddf91e9973c56da43dd4')
- version('0.2.3', sha256='5577ea92934c5aad378df21fb0805b5fb433d6f2b8b9c1bf1a9ec1e3bf842cff')
+ version("0.2.6", sha256="e0748eb5e288be7f47829a272fc230373469fb40afccddf91e9973c56da43dd4")
+ version("0.2.3", sha256="5577ea92934c5aad378df21fb0805b5fb433d6f2b8b9c1bf1a9ec1e3bf842cff")
# TODO errors with python 3.6 due to UnicodeDecodeError
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.3.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fabric/package.py b/var/spack/repos/builtin/packages/py-fabric/package.py
index daad12ae89..57ec9e69f7 100644
--- a/var/spack/repos/builtin/packages/py-fabric/package.py
+++ b/var/spack/repos/builtin/packages/py-fabric/package.py
@@ -13,8 +13,8 @@ class PyFabric(PythonPackage):
homepage = "http://fabfile.org/"
pypi = "fabric/fabric-2.5.0.tar.gz"
- version('2.5.0', sha256='24842d7d51556adcabd885ac3cf5e1df73fc622a1708bf3667bf5927576cdfa6')
+ version("2.5.0", sha256="24842d7d51556adcabd885ac3cf5e1df73fc622a1708bf3667bf5927576cdfa6")
- depends_on('py-setuptools', type='build')
- depends_on('py-invoke@1.3:1', type=('build', 'run'))
- depends_on('py-paramiko@2.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-invoke@1.3:1", type=("build", "run"))
+ depends_on("py-paramiko@2.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-faker/package.py b/var/spack/repos/builtin/packages/py-faker/package.py
index 079dadd8cd..266c783157 100644
--- a/var/spack/repos/builtin/packages/py-faker/package.py
+++ b/var/spack/repos/builtin/packages/py-faker/package.py
@@ -14,12 +14,12 @@ class PyFaker(PythonPackage):
service, Faker is for you."""
homepage = "https://github.com/joke2k/faker"
- pypi = "Faker/Faker-9.8.2.tar.gz"
+ pypi = "Faker/Faker-9.8.2.tar.gz"
- version('9.8.2', sha256='393bd1b5becf3ccbc04a4f0f13da7e437914b24cafd1a4d8b71b5fecff54fb34')
+ version("9.8.2", sha256="393bd1b5becf3ccbc04a4f0f13da7e437914b24cafd1a4d8b71b5fecff54fb34")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil@2.4:', type=('build', 'run'))
- depends_on('py-text-unidecode@1.3', type=('build', 'run'))
- depends_on('py-typing-extensions@3.10.0.2:', type=('build', 'run'), when='^python@:3.8')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil@2.4:", type=("build", "run"))
+ depends_on("py-text-unidecode@1.3", type=("build", "run"))
+ depends_on("py-typing-extensions@3.10.0.2:", type=("build", "run"), when="^python@:3.8")
diff --git a/var/spack/repos/builtin/packages/py-falcon/package.py b/var/spack/repos/builtin/packages/py-falcon/package.py
index 869abb0e49..916a438069 100644
--- a/var/spack/repos/builtin/packages/py-falcon/package.py
+++ b/var/spack/repos/builtin/packages/py-falcon/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class PyFalcon(PythonPackage):
"""Falcon is a reliable, high-performance Python web framework for
- building large-scale app backends and microservices."""
+ building large-scale app backends and microservices."""
homepage = "https://github.com/falconry/falcon"
- url = "https://github.com/falconry/falcon/archive/3.0.0a2.tar.gz"
+ url = "https://github.com/falconry/falcon/archive/3.0.0a2.tar.gz"
- version('3.0.0a2', sha256='2e8471cf07df33a1b9929de8953aeb301c64a963c86d770ef296ce4dc8af34cd')
- version('3.0.0a1', sha256='cdc47996f664fa8c97041a2a4a586a472442654ee7e86075bb72c720744150ca')
- version('2.0.0rc4', sha256='30bb6a982cf3ab273b9605c9d2ab1e7d01323fee13fe53a485befd92186c3665')
- version('2.0.0rc3', sha256='0e76d142ff00dd097b0dc19c58b052e23c5cc81a148bfffa04768c83e77b66b9')
- version('2.0.0rc2', sha256='b3f154aec8e64c3b196c3279b9dd824ed9457d6bd7bac23578948e34c9b2ec83')
- version('2.0.0rc1', sha256='4ca3a304b28be4b324efc58c9f2af9c6babb26479837f93e183d95f0aff7dbd0')
- version('2.0.0b2', sha256='ec9526b8a2ec5f25164fe882b7c3c466cda0de179b211be7fd1f5ad65dad398c')
- version('2.0.0b1', sha256='7e6e28a2c2cacb9e5731790af70d4305fc1bfc484721e0696dece83c4f240722')
- version('2.0.0a2', sha256='a0b6e089c604b5104bc8b8516f7ddce1c4c10690896e2dac833fcb84a34e7257')
- version('2.0.0', sha256='4cdd99706061967bdcd756fe5f474915fedb5ddf4be16fbd25d8456ededa1e9d')
+ version("3.0.0a2", sha256="2e8471cf07df33a1b9929de8953aeb301c64a963c86d770ef296ce4dc8af34cd")
+ version("3.0.0a1", sha256="cdc47996f664fa8c97041a2a4a586a472442654ee7e86075bb72c720744150ca")
+ version("2.0.0rc4", sha256="30bb6a982cf3ab273b9605c9d2ab1e7d01323fee13fe53a485befd92186c3665")
+ version("2.0.0rc3", sha256="0e76d142ff00dd097b0dc19c58b052e23c5cc81a148bfffa04768c83e77b66b9")
+ version("2.0.0rc2", sha256="b3f154aec8e64c3b196c3279b9dd824ed9457d6bd7bac23578948e34c9b2ec83")
+ version("2.0.0rc1", sha256="4ca3a304b28be4b324efc58c9f2af9c6babb26479837f93e183d95f0aff7dbd0")
+ version("2.0.0b2", sha256="ec9526b8a2ec5f25164fe882b7c3c466cda0de179b211be7fd1f5ad65dad398c")
+ version("2.0.0b1", sha256="7e6e28a2c2cacb9e5731790af70d4305fc1bfc484721e0696dece83c4f240722")
+ version("2.0.0a2", sha256="a0b6e089c604b5104bc8b8516f7ddce1c4c10690896e2dac833fcb84a34e7257")
+ version("2.0.0", sha256="4cdd99706061967bdcd756fe5f474915fedb5ddf4be16fbd25d8456ededa1e9d")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fallocate/package.py b/var/spack/repos/builtin/packages/py-fallocate/package.py
index 6392ca718c..e41198809c 100644
--- a/var/spack/repos/builtin/packages/py-fallocate/package.py
+++ b/var/spack/repos/builtin/packages/py-fallocate/package.py
@@ -7,13 +7,12 @@ from spack.package import *
class PyFallocate(PythonPackage):
- """Module to expose posix_fallocate(3), posix_fadvise(3) and fallocate(2)
- """
+ """Module to expose posix_fallocate(3), posix_fadvise(3) and fallocate(2)"""
homepage = "https://github.com/trbs/fallocate"
pypi = "fallocate/fallocate-1.6.4.tar.gz"
- version('1.6.4', sha256='85ebeb2786761fbe80d88c52590a610bd3425fc89e188c208a3f261a5bd6acb3')
+ version("1.6.4", sha256="85ebeb2786761fbe80d88c52590a610bd3425fc89e188c208a3f261a5bd6acb3")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastai/package.py b/var/spack/repos/builtin/packages/py-fastai/package.py
index bb6833e2df..9d8077ffdf 100644
--- a/var/spack/repos/builtin/packages/py-fastai/package.py
+++ b/var/spack/repos/builtin/packages/py-fastai/package.py
@@ -16,24 +16,24 @@ class PyFastai(PythonPackage):
information."""
homepage = "https://github.com/fastai/fastai/tree/master/"
- pypi = "fastai/fastai-2.5.3.tar.gz"
+ pypi = "fastai/fastai-2.5.3.tar.gz"
- version('2.5.3', sha256='0cae50617979b052f0ed7337800e6814ee346b792203cf48305709c935e8eeb7')
+ version("2.5.3", sha256="0cae50617979b052f0ed7337800e6814ee346b792203cf48305709c935e8eeb7")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@36.2:', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-packaging', type='build')
- depends_on('py-fastdownload@0.0.5:1', type=('build', 'run'))
- depends_on('py-fastcore@1.3.22:1.3', type=('build', 'run'))
- depends_on('py-torchvision@0.8.2:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-fastprogress@0.2.4:', type=('build', 'run'))
- depends_on('pil@6.0.1:', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-spacy@:3', type=('build', 'run'))
- depends_on('py-torch@1.7.0:1.10', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@36.2:", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-packaging", type="build")
+ depends_on("py-fastdownload@0.0.5:1", type=("build", "run"))
+ depends_on("py-fastcore@1.3.22:1.3", type=("build", "run"))
+ depends_on("py-torchvision@0.8.2:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-fastprogress@0.2.4:", type=("build", "run"))
+ depends_on("pil@6.0.1:", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-spacy@:3", type=("build", "run"))
+ depends_on("py-torch@1.7.0:1.10", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastaindex/package.py b/var/spack/repos/builtin/packages/py-fastaindex/package.py
index 55eb005d0d..6f125f92d6 100644
--- a/var/spack/repos/builtin/packages/py-fastaindex/package.py
+++ b/var/spack/repos/builtin/packages/py-fastaindex/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PyFastaindex(PythonPackage):
"""FastA index (.fai) handler compatible with samtools faidx is extended
- with 4 columns storing counts for A, C, G & T for each sequence.."""
+ with 4 columns storing counts for A, C, G & T for each sequence.."""
homepage = "https://github.com/lpryszcz/FastaIndex"
pypi = "FastaIndex/FastaIndex-0.11rc7.tar.gz"
- version('0.11rc7', sha256='c130a2146bb178ea4f9d228e0d360787046ab4cb0ab53b5b43711dd57e31aff7')
+ version("0.11rc7", sha256="c130a2146bb178ea4f9d228e0d360787046ab4cb0ab53b5b43711dd57e31aff7")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastavro/package.py b/var/spack/repos/builtin/packages/py-fastavro/package.py
index f1abd37475..e7316392dc 100644
--- a/var/spack/repos/builtin/packages/py-fastavro/package.py
+++ b/var/spack/repos/builtin/packages/py-fastavro/package.py
@@ -10,25 +10,27 @@ class PyFastavro(PythonPackage):
"""Fastavro for Python."""
homepage = "https://github.com/fastavro/fastavro"
- url = "https://github.com/fastavro/fastavro/archive/1.0.0.post1.tar.gz"
+ url = "https://github.com/fastavro/fastavro/archive/1.0.0.post1.tar.gz"
- version('1.0.0.post1', sha256='74f9bf0f9bc9e484c6d42fad603d6e6f907e716a78189873761dc86ce64cc6c5')
- version('1.0.0', sha256='9aca6f425dd898f40e2c4e10714276604e610c6ad3df53109d6fb3ad49761b5e')
- version('0.24.2', sha256='6ccd711a0c6960c3263a7c1c0e0e3bf7c5e949e11c3a676edece36138c62caba')
- version('0.24.1', sha256='8b109b4f564f6fe7fd82d3e2d582fba8da58167bcf2fa65e27fd3c4e49afddf9')
- version('0.24.0', sha256='d60c2a90d7bbe7a70aab30d3b772faedcbd9487bc1f7e2cd65a93a555688965e')
- version('0.23.6', sha256='b511dc55a9514205765f96b4d964f1d74fca9696dbac91229cef6100a028a29f')
- version('0.23.5', sha256='5542b69a99a74a57988c2a48da9be4356db4223cebac599ec3e9bf1b74ef534b')
- version('0.23.4', sha256='e699940a06fc713d56ba8b9cb88665e2fa2a6abc2c342cd540ee7cd4428af973')
- version('0.23.3', sha256='4e4bebe7b43b5cdad030bdbeb7f7f0ccb537ea025a9e28c7a4826876872fc84b')
- version('0.23.2', sha256='3b31707d6eaa1e98fc60536d0b3483bafb78be39bf9f0a1affe1b353e70bd5b2')
+ version(
+ "1.0.0.post1", sha256="74f9bf0f9bc9e484c6d42fad603d6e6f907e716a78189873761dc86ce64cc6c5"
+ )
+ version("1.0.0", sha256="9aca6f425dd898f40e2c4e10714276604e610c6ad3df53109d6fb3ad49761b5e")
+ version("0.24.2", sha256="6ccd711a0c6960c3263a7c1c0e0e3bf7c5e949e11c3a676edece36138c62caba")
+ version("0.24.1", sha256="8b109b4f564f6fe7fd82d3e2d582fba8da58167bcf2fa65e27fd3c4e49afddf9")
+ version("0.24.0", sha256="d60c2a90d7bbe7a70aab30d3b772faedcbd9487bc1f7e2cd65a93a555688965e")
+ version("0.23.6", sha256="b511dc55a9514205765f96b4d964f1d74fca9696dbac91229cef6100a028a29f")
+ version("0.23.5", sha256="5542b69a99a74a57988c2a48da9be4356db4223cebac599ec3e9bf1b74ef534b")
+ version("0.23.4", sha256="e699940a06fc713d56ba8b9cb88665e2fa2a6abc2c342cd540ee7cd4428af973")
+ version("0.23.3", sha256="4e4bebe7b43b5cdad030bdbeb7f7f0ccb537ea025a9e28c7a4826876872fc84b")
+ version("0.23.2", sha256="3b31707d6eaa1e98fc60536d0b3483bafb78be39bf9f0a1affe1b353e70bd5b2")
def setup_build_environment(self, env):
# Use cython for building as *.c files are missing from repo
- env.set('FASTAVRO_USE_CYTHON', 1)
+ env.set("FASTAVRO_USE_CYTHON", 1)
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-snappy', type=('build', 'run'))
- depends_on('py-lz4', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-snappy", type=("build", "run"))
+ depends_on("py-lz4", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastcache/package.py b/var/spack/repos/builtin/packages/py-fastcache/package.py
index 0c71d101de..fa5904e67b 100644
--- a/var/spack/repos/builtin/packages/py-fastcache/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcache/package.py
@@ -12,6 +12,6 @@ class PyFastcache(PythonPackage):
homepage = "https://github.com/pbrady/fastcache"
pypi = "fastcache/fastcache-1.1.0.tar.gz"
- version('1.1.0', sha256='6de1b16e70335b7bde266707eb401a3aaec220fb66c5d13b02abf0eab8be782b')
+ version("1.1.0", sha256="6de1b16e70335b7bde266707eb401a3aaec220fb66c5d13b02abf0eab8be782b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastcluster/package.py b/var/spack/repos/builtin/packages/py-fastcluster/package.py
index 53d05cb362..d1423800e0 100644
--- a/var/spack/repos/builtin/packages/py-fastcluster/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcluster/package.py
@@ -12,7 +12,7 @@ class PyFastcluster(PythonPackage):
homepage = "http://danifold.net/"
pypi = "fastcluster/fastcluster-1.1.26.tar.gz"
- version('1.1.26', sha256='a202f44a3b06f5cf9cdba3c67d6c523288922d6e6a1cdf737292f93759aa82f7')
+ version("1.1.26", sha256="a202f44a3b06f5cf9cdba3c67d6c523288922d6e6a1cdf737292f93759aa82f7")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.9:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastcore/package.py b/var/spack/repos/builtin/packages/py-fastcore/package.py
index 1511047c46..3070a73107 100644
--- a/var/spack/repos/builtin/packages/py-fastcore/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcore/package.py
@@ -19,11 +19,11 @@ class PyFastcore(PythonPackage):
NumPy over to Python's list type."""
homepage = "https://github.com/fastai/fastcore/tree/master/"
- pypi = "fastcore/fastcore-1.3.27.tar.gz"
+ pypi = "fastcore/fastcore-1.3.27.tar.gz"
- version('1.3.27', sha256='0161f538d5b913932869a46bb90e98193eee79b8798b566272a394f7ef957243')
+ version("1.3.27", sha256="0161f538d5b913932869a46bb90e98193eee79b8798b566272a394f7ef957243")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-packaging', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-packaging", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastcov/package.py b/var/spack/repos/builtin/packages/py-fastcov/package.py
index e512759257..011f07a24b 100644
--- a/var/spack/repos/builtin/packages/py-fastcov/package.py
+++ b/var/spack/repos/builtin/packages/py-fastcov/package.py
@@ -13,12 +13,12 @@ class PyFastcov(PythonPackage):
"""
homepage = "https://github.com/RPGillespie6/fastcov"
- pypi = "fastcov/fastcov-1.13.tar.gz"
+ pypi = "fastcov/fastcov-1.13.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('1.13', sha256='ec8a5271f90a2f8b894cb999e262c33e225ed6072d9a6ca38f636f88cc0543e8')
+ 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')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@38.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastdownload/package.py b/var/spack/repos/builtin/packages/py-fastdownload/package.py
index a65e7457d1..983f07b971 100644
--- a/var/spack/repos/builtin/packages/py-fastdownload/package.py
+++ b/var/spack/repos/builtin/packages/py-fastdownload/package.py
@@ -13,11 +13,11 @@ class PyFastdownload(PythonPackage):
fastdownload can help."""
homepage = "https://github.com/fastai/fastdownload/tree/master/"
- pypi = "fastdownload/fastdownload-0.0.5.tar.gz"
+ pypi = "fastdownload/fastdownload-0.0.5.tar.gz"
- version('0.0.5', sha256='64e67af30690fa98ae1c8a1b52495769842f723565239a5430208ad05585af18')
+ version("0.0.5", sha256="64e67af30690fa98ae1c8a1b52495769842f723565239a5430208ad05585af18")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-fastprogress', type=('build', 'run'))
- depends_on('py-fastcore@1.3.26:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-fastprogress", type=("build", "run"))
+ depends_on("py-fastcore@1.3.26:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastdtw/package.py b/var/spack/repos/builtin/packages/py-fastdtw/package.py
index 3875eb91f4..2b106cb3f1 100644
--- a/var/spack/repos/builtin/packages/py-fastdtw/package.py
+++ b/var/spack/repos/builtin/packages/py-fastdtw/package.py
@@ -17,8 +17,8 @@ class PyFastdtw(PythonPackage):
homepage = "https://github.com/slaypni/fastdtw"
pypi = "fastdtw/fastdtw-0.3.4.tar.gz"
- version('0.3.4', sha256='2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f')
+ version("0.3.4", sha256="2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fasteners/package.py b/var/spack/repos/builtin/packages/py-fasteners/package.py
index 16ffff3684..6b7e24429b 100644
--- a/var/spack/repos/builtin/packages/py-fasteners/package.py
+++ b/var/spack/repos/builtin/packages/py-fasteners/package.py
@@ -12,13 +12,13 @@ class PyFasteners(PythonPackage):
homepage = "https://github.com/harlowja/fasteners"
pypi = "fasteners/fasteners-0.14.1.tar.gz"
- version('0.17.3', sha256='a9a42a208573d4074c77d041447336cf4e3c1389a256fd3e113ef59cf29b7980')
- version('0.16.3', sha256='b1ab4e5adfbc28681ce44b3024421c4f567e705cc3963c732bf1cba3348307de')
- version('0.14.1', sha256='427c76773fe036ddfa41e57d89086ea03111bbac57c55fc55f3006d027107e18')
+ version("0.17.3", sha256="a9a42a208573d4074c77d041447336cf4e3c1389a256fd3e113ef59cf29b7980")
+ version("0.16.3", sha256="b1ab4e5adfbc28681ce44b3024421c4f567e705cc3963c732bf1cba3348307de")
+ version("0.14.1", sha256="427c76773fe036ddfa41e57d89086ea03111bbac57c55fc55f3006d027107e18")
- depends_on('python@3.6:', when='@0.17:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@0.17:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-monotonic@0.1:', when='@0.16 ^python@:3.3', type=('build', 'run'))
- depends_on('py-monotonic@0.1:', when='@:0.15', type=('build', 'run'))
- depends_on('py-six', when='@:0.16', type=('build', 'run'))
+ depends_on("py-monotonic@0.1:", when="@0.16 ^python@:3.3", type=("build", "run"))
+ depends_on("py-monotonic@0.1:", when="@:0.15", type=("build", "run"))
+ depends_on("py-six", when="@:0.16", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastjsonschema/package.py b/var/spack/repos/builtin/packages/py-fastjsonschema/package.py
index 9e30f5ca5d..b02fafeb81 100644
--- a/var/spack/repos/builtin/packages/py-fastjsonschema/package.py
+++ b/var/spack/repos/builtin/packages/py-fastjsonschema/package.py
@@ -13,6 +13,6 @@ class PyFastjsonschema(PythonPackage):
homepage = "https://github.com/horejsek/python-fastjsonschema"
pypi = "fastjsonschema/fastjsonschema-2.15.1.tar.gz"
- version('2.15.1', sha256='671f36d225b3493629b5e789428660109528f373cf4b8a22bac6fa2f8191c2d2')
+ version("2.15.1", sha256="671f36d225b3493629b5e789428660109528f373cf4b8a22bac6fa2f8191c2d2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fastprogress/package.py b/var/spack/repos/builtin/packages/py-fastprogress/package.py
index 53cbb339df..21ceaee216 100644
--- a/var/spack/repos/builtin/packages/py-fastprogress/package.py
+++ b/var/spack/repos/builtin/packages/py-fastprogress/package.py
@@ -11,10 +11,10 @@ class PyFastprogress(PythonPackage):
console. Created by Sylvain Gugger for fast.ai."""
homepage = "https://github.com/fastai/fastprogress"
- pypi = "fastprogress/fastprogress-1.0.0.tar.gz"
+ pypi = "fastprogress/fastprogress-1.0.0.tar.gz"
- version('1.0.0', sha256='89e28ac1d2a5412aab18ee3f3dfd1ee8b5c1f2f7a44d0add0d0d4f69f0191bfe')
+ version("1.0.0", sha256="89e28ac1d2a5412aab18ee3f3dfd1ee8b5c1f2f7a44d0add0d0d4f69f0191bfe")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fastrlock/package.py b/var/spack/repos/builtin/packages/py-fastrlock/package.py
index 4141ca63f6..2587d98649 100644
--- a/var/spack/repos/builtin/packages/py-fastrlock/package.py
+++ b/var/spack/repos/builtin/packages/py-fastrlock/package.py
@@ -11,12 +11,12 @@ class PyFastrlock(PythonPackage):
optimistic lock for CPython."""
homepage = "https://github.com/scoder/fastrlock"
- url = "https://github.com/scoder/fastrlock/archive/0.5.tar.gz"
+ url = "https://github.com/scoder/fastrlock/archive/0.5.tar.gz"
- version('0.5', sha256='756dd8aa9af9848caa9bbf814c4dec1065ee38cc38768158e616ec11b6f45cc8')
+ version("0.5", sha256="756dd8aa9af9848caa9bbf814c4dec1065ee38cc38768158e616ec11b6f45cc8")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
def install_options(self, spec, prefix):
- return ['--with-cython']
+ return ["--with-cython"]
diff --git a/var/spack/repos/builtin/packages/py-faststructure/package.py b/var/spack/repos/builtin/packages/py-faststructure/package.py
index d8105ee433..92e5eb592c 100644
--- a/var/spack/repos/builtin/packages/py-faststructure/package.py
+++ b/var/spack/repos/builtin/packages/py-faststructure/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyFaststructure(PythonPackage):
"""FastStructure is a fast algorithm for inferring population structure
- from large SNP genotype data."""
+ from large SNP genotype data."""
homepage = "https://github.com/rajanil/fastStructure"
- url = "https://github.com/rajanil/fastStructure/archive/v1.0.tar.gz"
+ url = "https://github.com/rajanil/fastStructure/archive/v1.0.tar.gz"
- version('1.0', sha256='f1bfb24bb5ecd108bc3a90145fad232012165c1e60608003f1c87d200f867b81')
+ version("1.0", sha256="f1bfb24bb5ecd108bc3a90145fad232012165c1e60608003f1c87d200f867b81")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('gsl')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/py-fava/package.py b/var/spack/repos/builtin/packages/py-fava/package.py
index e2acb81399..71e4dfd8f8 100644
--- a/var/spack/repos/builtin/packages/py-fava/package.py
+++ b/var/spack/repos/builtin/packages/py-fava/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class PyFava(PythonPackage):
"""Fava is a web interface for the double-entry bookkeeping software
- Beancount with a focus on features and usability."""
+ Beancount with a focus on features and usability."""
homepage = "https://beancount.github.io/fava/"
- pypi = "fava/fava-1.18.tar.gz"
+ pypi = "fava/fava-1.18.tar.gz"
- version('1.18', sha256='21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5')
+ version("1.18", sha256="21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5")
# For some reason Fava adds a whole bunch of executables to
# its bin directory, and this causes clashes when loading
# the module.
- extends('python', ignore='bin/^(?!fava).*')
+ extends("python", ignore="bin/^(?!fava).*")
# Some of the dependencies are not listed as required at
# build or run time, but actually are.
# - py-setuptools
# - py-importlib
# - py-pytest
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm', type=('build'))
-
- depends_on('py-babel@2.6.0:', type=('build', 'run'))
- depends_on('py-beancount@2.3.0:', type=('build', 'run'))
- depends_on('py-cheroot', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-flask@0.10.1:', type=('build', 'run'))
- depends_on('py-flask-babel@1.0.0:', type=('build', 'run'))
- depends_on('py-jinja2@2.10:', type=('build', 'run'))
- depends_on('py-markdown2@2.3.0:', type=('build', 'run'))
- depends_on('py-ply', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run'))
- depends_on('py-simplejson@3.2.0:', type=('build', 'run'))
- depends_on('py-werkzeug@0.15.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm", type=("build"))
+
+ depends_on("py-babel@2.6.0:", type=("build", "run"))
+ depends_on("py-beancount@2.3.0:", type=("build", "run"))
+ depends_on("py-cheroot", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-flask@0.10.1:", type=("build", "run"))
+ depends_on("py-flask-babel@1.0.0:", type=("build", "run"))
+ depends_on("py-jinja2@2.10:", type=("build", "run"))
+ depends_on("py-markdown2@2.3.0:", type=("build", "run"))
+ depends_on("py-ply", type=("build", "run"))
+ depends_on("py-pytest", type=("build", "run"))
+ depends_on("py-simplejson@3.2.0:", type=("build", "run"))
+ depends_on("py-werkzeug@0.15.0:", 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 b9bfe183fc..6a9e879dfc 100644
--- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py
@@ -27,11 +27,11 @@ class PyFenicsBasix(PythonPackage):
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'))
+ 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:", type="build")
- build_directory = 'python'
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py b/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py
index 4756b83516..857a0e9ffd 100644
--- a/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py
@@ -15,11 +15,11 @@ class PyFenicsDijitso(PythonPackage):
maintainers = ["js947", "chrisrichardson"]
version("master", branch="master")
- version('2019.1.0', sha256='eaa45eec4457f3f865d72a926b7cba86df089410e78de04cd89b15bb405e8fd9')
- version('2018.1.0', sha256='2084ada1e7bd6ecec0999b15a17db98c72e26f1ccbf3fcbe240b1a035a1a2e64')
- version('2017.2.0', sha256='05a893d17f8a50067d303b232e41592dce2840d6499677ad8b457ba58a679b58')
- version('2017.1.0', sha256='ef23952539d349fbd384d41302abc94413d485ca7e8c29e8a0debc2aadaf8657')
- version('2016.2.0', sha256='1bfa0ac0d47dae75bbde8fabb1145d3caa2e6c28a1e4097ad5550a91a8a205e4')
+ version("2019.1.0", sha256="eaa45eec4457f3f865d72a926b7cba86df089410e78de04cd89b15bb405e8fd9")
+ version("2018.1.0", sha256="2084ada1e7bd6ecec0999b15a17db98c72e26f1ccbf3fcbe240b1a035a1a2e64")
+ version("2017.2.0", sha256="05a893d17f8a50067d303b232e41592dce2840d6499677ad8b457ba58a679b58")
+ version("2017.1.0", sha256="ef23952539d349fbd384d41302abc94413d485ca7e8c29e8a0debc2aadaf8657")
+ version("2016.2.0", sha256="1bfa0ac0d47dae75bbde8fabb1145d3caa2e6c28a1e4097ad5550a91a8a205e4")
depends_on("py-setuptools", type="build")
depends_on("python@3.5:", type=("build", "run"))
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 c671f3555b..dcf8102f76 100644
--- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
@@ -24,7 +24,7 @@ class PyFenicsDolfinx(PythonPackage):
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("python@3.7:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("fenics-dolfinx@main", when="@main")
@@ -57,4 +57,4 @@ class PyFenicsDolfinx(PythonPackage):
depends_on("py-cffi", type="run")
- build_directory = 'python'
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-fenics-ffc/package.py b/var/spack/repos/builtin/packages/py-fenics-ffc/package.py
index 8d3894b1dd..1a2722d4ae 100644
--- a/var/spack/repos/builtin/packages/py-fenics-ffc/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-ffc/package.py
@@ -13,27 +13,31 @@ class PyFenicsFfc(PythonPackage):
element assembly."""
homepage = "https://fenicsproject.org/"
- git = "https://bitbucket.org/fenics-project/ffc.git"
- url = "https://bitbucket.org/fenics-project/ffc/downloads/ffc-2019.1.0.post0.tar.gz"
- maintainers = ['emai-imcs']
-
- version('2019.1.0.post0', sha256='306e1179630200a34202975a5369194939b3482eebfc34bc44ad74dab1f109e8')
- version('2018.1.0', sha256='c5a6511693106d1cd2fc013148d0cd01cd1b99fc65dab461ca0b95851a9ea271')
- version('2017.2.0.post0', sha256='1969a5460cb866c478df64874ce213f81cb5c893b89f991a578e258b1a64fee5')
- version('2016.2.0', sha256='097c284780447ea7bb47d4d51956648a1efb2cb9047eb1382944421dde351ecb')
-
- depends_on('python@3.5:', type=('build', 'run'))
-
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
-
- for ver in ['2019.1.0.post0', '2018.1.0', '2017.2.0.post0', '2016.2.0']:
- if ver in ['2019.1.0.post0', '2017.2.0.post0']:
- ver = ver[:ver.rfind('.post')]
- wver = '@' + ver
- depends_on('py-fenics-fiat{0}'.format(wver), type=('build', 'run'), when=wver)
- if(Version(ver) < Version('2017.2.0')):
- depends_on('py-fenics-instant{0}'.format(wver), type=('build', 'run'), when=wver)
+ git = "https://bitbucket.org/fenics-project/ffc.git"
+ url = "https://bitbucket.org/fenics-project/ffc/downloads/ffc-2019.1.0.post0.tar.gz"
+ maintainers = ["emai-imcs"]
+
+ version(
+ "2019.1.0.post0", sha256="306e1179630200a34202975a5369194939b3482eebfc34bc44ad74dab1f109e8"
+ )
+ version("2018.1.0", sha256="c5a6511693106d1cd2fc013148d0cd01cd1b99fc65dab461ca0b95851a9ea271")
+ version(
+ "2017.2.0.post0", sha256="1969a5460cb866c478df64874ce213f81cb5c893b89f991a578e258b1a64fee5"
+ )
+ version("2016.2.0", sha256="097c284780447ea7bb47d4d51956648a1efb2cb9047eb1382944421dde351ecb")
+
+ depends_on("python@3.5:", type=("build", "run"))
+
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+
+ for ver in ["2019.1.0.post0", "2018.1.0", "2017.2.0.post0", "2016.2.0"]:
+ if ver in ["2019.1.0.post0", "2017.2.0.post0"]:
+ ver = ver[: ver.rfind(".post")]
+ wver = "@" + ver
+ depends_on("py-fenics-fiat{0}".format(wver), type=("build", "run"), when=wver)
+ if Version(ver) < Version("2017.2.0"):
+ depends_on("py-fenics-instant{0}".format(wver), type=("build", "run"), when=wver)
else:
- depends_on('py-fenics-dijitso{0}'.format(wver), type=('build', 'run'), when=wver)
- depends_on('py-fenics-ufl{0}'.format(wver), type=('build', 'run'), when=wver)
+ depends_on("py-fenics-dijitso{0}".format(wver), type=("build", "run"), when=wver)
+ depends_on("py-fenics-ufl{0}".format(wver), type=("build", "run"), when=wver)
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 065a966aac..8b9f4cd622 100644
--- a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py
@@ -14,27 +14,27 @@ class PyFenicsFfcx(PythonPackage):
git = "https://github.com/FEniCS/ffcx.git"
maintainers = ["chrisrichardson", "garth-wells"]
- version('main', branch='main')
- version('0.4.2', sha256='3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4')
- 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'))
- depends_on('py-setuptools@58:', type='build', when="@0.4:")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build', when="@0.4:")
-
- depends_on('py-cffi', type='run')
-
- depends_on('py-fenics-ufl@main', type='run', when='@main')
- depends_on('py-fenics-ufl@2022.1.0', type='run', when='@0.4.2')
- depends_on('py-fenics-ufl@2021.1.0', type='run', when='@0.1.0:0.3')
-
- depends_on('py-fenics-basix@main', type='run', when='@main')
- depends_on('py-fenics-basix@0.4.2', type='run', when='@0.4.2')
- 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')
+ version("main", branch="main")
+ version("0.4.2", sha256="3be6eef064d6ef907245db5b6cc15d4e603762e68b76e53e099935ca91ef1ee4")
+ 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"))
+ depends_on("py-setuptools@58:", type="build", when="@0.4:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build", when="@0.4:")
+
+ depends_on("py-cffi", type="run")
+
+ depends_on("py-fenics-ufl@main", type="run", when="@main")
+ depends_on("py-fenics-ufl@2022.1.0", type="run", when="@0.4.2")
+ depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1.0:0.3")
+
+ depends_on("py-fenics-basix@main", type="run", when="@main")
+ depends_on("py-fenics-basix@0.4.2", type="run", when="@0.4.2")
+ 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")
diff --git a/var/spack/repos/builtin/packages/py-fenics-fiat/package.py b/var/spack/repos/builtin/packages/py-fenics-fiat/package.py
index f6f82fdea6..4afd9ea16d 100644
--- a/var/spack/repos/builtin/packages/py-fenics-fiat/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-fiat/package.py
@@ -22,16 +22,18 @@ class PyFenicsFiat(PythonPackage):
maintainers = ["js947", "chrisrichardson"]
version("master", branch="master")
- version('2019.1.0', sha256='2a6d175a825ed725843918ef28846edbcf710a879c2fe8caaeda77b1ce9b9a1c')
- version('2018.1.0', sha256='7468709c7aacf7dfb22c09fb5250448eb24084b9dd088ec2632a96d56c0f3830')
- version('2017.2.0', sha256='e4d3ffc86a0a717b3f17b9bb2d922214c342be27e5bdfbe50f110030bfff9729')
- version('2017.1.0.post1', sha256='1784fe1cb9479ca7cd85f63b0afa6e07634feec8d8e82fa8be4c480649cb9621')
- version('2017.1.0', sha256='d4288401ad16c4598720f9db0810a522f7f0eadad35d8211bac7120bce5fde94')
- version('2016.2.0', tag='fiat-2016.2.0')
+ version("2019.1.0", sha256="2a6d175a825ed725843918ef28846edbcf710a879c2fe8caaeda77b1ce9b9a1c")
+ version("2018.1.0", sha256="7468709c7aacf7dfb22c09fb5250448eb24084b9dd088ec2632a96d56c0f3830")
+ version("2017.2.0", sha256="e4d3ffc86a0a717b3f17b9bb2d922214c342be27e5bdfbe50f110030bfff9729")
+ version(
+ "2017.1.0.post1", sha256="1784fe1cb9479ca7cd85f63b0afa6e07634feec8d8e82fa8be4c480649cb9621"
+ )
+ version("2017.1.0", sha256="d4288401ad16c4598720f9db0810a522f7f0eadad35d8211bac7120bce5fde94")
+ version("2016.2.0", tag="fiat-2016.2.0")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type="build")
- depends_on('py-numpy', type=("build", "run"))
- depends_on('py-sympy', type=("build", "run"), when='@2019.1.0')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-sympy", type=("build", "run"), when="@2019.1.0")
# avoid compilation error of dolfin (ffc fails with latest sympy)
- depends_on('py-sympy@1.0', type=("build", "run"), when='@:2018.1.0')
+ depends_on("py-sympy@1.0", type=("build", "run"), when="@:2018.1.0")
diff --git a/var/spack/repos/builtin/packages/py-fenics-instant/package.py b/var/spack/repos/builtin/packages/py-fenics-instant/package.py
index 061258df61..ac4c00b05c 100644
--- a/var/spack/repos/builtin/packages/py-fenics-instant/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-instant/package.py
@@ -10,19 +10,19 @@ class PyFenicsInstant(PythonPackage):
"""Instant is a Python module that allows for instant inlining of C and C++
code in Python. It is a small Python module built on top of SWIG and
Distutils. Instant has been retired after 2017.2.0 release. It is no longer
- needed in FEniCS and hence no longer maintained and tested. """
+ needed in FEniCS and hence no longer maintained and tested."""
homepage = "https://fenicsproject.org"
- url = "https://bitbucket.org/fenics-project/instant/downloads/instant-2017.2.0.tar.gz"
- maintainers = ['emai-imcs']
+ url = "https://bitbucket.org/fenics-project/instant/downloads/instant-2017.2.0.tar.gz"
+ maintainers = ["emai-imcs"]
- version('2017.2.0', sha256='be24f162fd1a89b82fae002db8df0b4f111fd50db83d78c0c121015c02e45b7b')
- version('2016.2.0', sha256='df5e8ca306546fd1ee1a28e36b61c5d46456dc8b07e3293d674ddff62cf8d953')
+ version("2017.2.0", sha256="be24f162fd1a89b82fae002db8df0b4f111fd50db83d78c0c121015c02e45b7b")
+ version("2016.2.0", sha256="df5e8ca306546fd1ee1a28e36b61c5d46456dc8b07e3293d674ddff62cf8d953")
- depends_on('python@2.7:', type=("build", "run"))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-subprocess32', when='^python@:2', type=('build', 'run'))
- depends_on('py-setuptools', type="build")
- depends_on('py-numpy', type=("build", "run"))
- depends_on('cmake', type="run")
- depends_on('swig', type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-subprocess32", when="^python@:2", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("cmake", type="run")
+ depends_on("swig", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py
index 2f02972f66..14b8779880 100644
--- a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py
+++ b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py
@@ -19,15 +19,19 @@ class PyFenicsUfl(PythonPackage):
maintainers = ["chrisrichardson", "garth-wells"]
version("main", branch="main")
- version('2022.1.0', sha256='48359903d47fb397900d105fe4a60b459c50bbf9d9da78beb9accb54e4e4acaf')
- version('2021.1.0', sha256='130fdc09bb7fcd39dcd2618426912b8a25a03431d94575711068b38c666b4337')
- version('2019.1.0', sha256='46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d')
- version('2018.1.0', sha256='b0d4c2f43f396fd5609317b70d55b53b89c649962fc8a593f4e0e21607da211d')
- version('2017.2.0.post0', sha256='111e77707cd6731584b1041f405c2fd3f1752a86c51fd9c430524bd396f293b0')
- version('2017.2.0', sha256='0adff7a511185b20c38ddaccdeed6c1b2ecafe4b163c688bfd1316d5c3b1c00d')
- version('2017.1.0.post1', sha256='82c8170f44c2392c7e60aa86495df22cc209af50735af8115dc35aeda4b0ca96')
- version('2016.2.0', tag='ufl-2016.2.0')
+ version("2022.1.0", sha256="48359903d47fb397900d105fe4a60b459c50bbf9d9da78beb9accb54e4e4acaf")
+ version("2021.1.0", sha256="130fdc09bb7fcd39dcd2618426912b8a25a03431d94575711068b38c666b4337")
+ version("2019.1.0", sha256="46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d")
+ version("2018.1.0", sha256="b0d4c2f43f396fd5609317b70d55b53b89c649962fc8a593f4e0e21607da211d")
+ version(
+ "2017.2.0.post0", sha256="111e77707cd6731584b1041f405c2fd3f1752a86c51fd9c430524bd396f293b0"
+ )
+ version("2017.2.0", sha256="0adff7a511185b20c38ddaccdeed6c1b2ecafe4b163c688bfd1316d5c3b1c00d")
+ version(
+ "2017.1.0.post1", sha256="82c8170f44c2392c7e60aa86495df22cc209af50735af8115dc35aeda4b0ca96"
+ )
+ version("2016.2.0", tag="ufl-2016.2.0")
- depends_on("python@3.7:", type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-filelock/package.py b/var/spack/repos/builtin/packages/py-filelock/package.py
index c89cb7b505..3d26f57bcd 100644
--- a/var/spack/repos/builtin/packages/py-filelock/package.py
+++ b/var/spack/repos/builtin/packages/py-filelock/package.py
@@ -16,23 +16,23 @@ class PyFilelock(PythonPackage):
homepage = "https://github.com/benediktschmitt/py-filelock"
pypi = "filelock/filelock-3.0.4.tar.gz"
- version('3.5.0', sha256='137b661e657f7850eec9def2a001efadba3414be523b87cd3f9a037372d80a15')
- version('3.4.0', sha256='93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4')
- version('3.0.12', sha256='18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59')
- version('3.0.4', sha256='011327d4ed939693a5b28c0fdf2fd9bda1f68614c1d6d0643a89382ce9843a71')
- version('3.0.3', sha256='7d8a86350736aa0efea0730e6a7f774195cbb1c2d61134c15f6be576399e87ff')
- version('3.0.0', sha256='b3ad481724adfb2280773edd95ce501e497e88fa4489c6e41e637ab3fd9a456c')
- version('2.0.13', sha256='d05079e7d7cae7576e192749d3461999ca6b0843d35b0f79f1fa956b0f6fc7d8')
- version('2.0.12', sha256='eb4314a9a032707a914b037433ce866d4ed363fce8605d45f0c9d2cd6ac52f98')
- version('2.0.11', sha256='e9e370efe86c30b19a2c8c36dd9fcce8e5ce294ef4ed6ac86664b666eaf852ca')
- version('2.0.10', sha256='c73bf706d8a0c5722de0b745495fed9cda0e46c0eabb44eb18ee3f00520fa85f')
- version('2.0.9', sha256='0f91dce339c9f25d6f2e0733a17e4f9a47b139dffda52619a0e61e013e5c6782')
- version('2.0.8', sha256='7e48e4906de3c9a5d64d8f235eb3ae1050dfefa63fd65eaf318cc915c935212b')
+ version("3.5.0", sha256="137b661e657f7850eec9def2a001efadba3414be523b87cd3f9a037372d80a15")
+ version("3.4.0", sha256="93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4")
+ version("3.0.12", sha256="18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59")
+ version("3.0.4", sha256="011327d4ed939693a5b28c0fdf2fd9bda1f68614c1d6d0643a89382ce9843a71")
+ version("3.0.3", sha256="7d8a86350736aa0efea0730e6a7f774195cbb1c2d61134c15f6be576399e87ff")
+ version("3.0.0", sha256="b3ad481724adfb2280773edd95ce501e497e88fa4489c6e41e637ab3fd9a456c")
+ version("2.0.13", sha256="d05079e7d7cae7576e192749d3461999ca6b0843d35b0f79f1fa956b0f6fc7d8")
+ version("2.0.12", sha256="eb4314a9a032707a914b037433ce866d4ed363fce8605d45f0c9d2cd6ac52f98")
+ version("2.0.11", sha256="e9e370efe86c30b19a2c8c36dd9fcce8e5ce294ef4ed6ac86664b666eaf852ca")
+ version("2.0.10", sha256="c73bf706d8a0c5722de0b745495fed9cda0e46c0eabb44eb18ee3f00520fa85f")
+ version("2.0.9", sha256="0f91dce339c9f25d6f2e0733a17e4f9a47b139dffda52619a0e61e013e5c6782")
+ version("2.0.8", sha256="7e48e4906de3c9a5d64d8f235eb3ae1050dfefa63fd65eaf318cc915c935212b")
- depends_on('python@3.7:', when='@3.4.2:', type=('build', 'run'))
- depends_on('python@3.6:', when='@3.3:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', when='@3.1:', type=('build', 'run'))
- depends_on('py-setuptools@41.0.0:', when='@3.1:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel@0.30:', when='@3.1:', type='build')
- depends_on('py-setuptools-scm@2:', when='@3.1:', type='build')
+ depends_on("python@3.7:", when="@3.4.2:", type=("build", "run"))
+ depends_on("python@3.6:", when="@3.3:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", when="@3.1:", type=("build", "run"))
+ depends_on("py-setuptools@41.0.0:", when="@3.1:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel@0.30:", when="@3.1:", type="build")
+ depends_on("py-setuptools-scm@2:", when="@3.1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-filemagic/package.py b/var/spack/repos/builtin/packages/py-filemagic/package.py
index 689618d002..9aef887686 100644
--- a/var/spack/repos/builtin/packages/py-filemagic/package.py
+++ b/var/spack/repos/builtin/packages/py-filemagic/package.py
@@ -12,7 +12,7 @@ class PyFilemagic(PythonPackage):
homepage = "https://filemagic.readthedocs.io/en/latest/"
pypi = "filemagic/filemagic-1.6.tar.gz"
- version('1.6', sha256='e684359ef40820fe406f0ebc5bf8a78f89717bdb7fed688af68082d991d6dbf3')
+ version("1.6", sha256="e684359ef40820fe406f0ebc5bf8a78f89717bdb7fed688af68082d991d6dbf3")
- depends_on('py-setuptools', type='build')
- depends_on('file', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("file", type="run")
diff --git a/var/spack/repos/builtin/packages/py-filterpy/package.py b/var/spack/repos/builtin/packages/py-filterpy/package.py
index 15cb277072..6b8ae0b3e2 100644
--- a/var/spack/repos/builtin/packages/py-filterpy/package.py
+++ b/var/spack/repos/builtin/packages/py-filterpy/package.py
@@ -14,9 +14,9 @@ class PyFilterpy(PythonPackage):
homepage = "https://github.com/rlabbe/filterpy/"
pypi = "filterpy/filterpy-1.4.5.zip"
- version('1.4.5', sha256='4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1')
+ version("1.4.5", sha256="4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-findlibs/package.py b/var/spack/repos/builtin/packages/py-findlibs/package.py
index 2776015011..0a298d85be 100644
--- a/var/spack/repos/builtin/packages/py-findlibs/package.py
+++ b/var/spack/repos/builtin/packages/py-findlibs/package.py
@@ -10,8 +10,8 @@ class PyFindlibs(PythonPackage):
"""A package to search for shared libraries on various platforms."""
homepage = "https://github.com/ecmwf/findlibs"
- pypi = "findlibs/findlibs-0.0.2.tar.gz"
+ pypi = "findlibs/findlibs-0.0.2.tar.gz"
- version('0.0.2', sha256='6c7e038496f9a97783ab2cd5736bb68522d5bebd8b0eb17c976b6a4ae4032c8d')
+ version("0.0.2", sha256="6c7e038496f9a97783ab2cd5736bb68522d5bebd8b0eb17c976b6a4ae4032c8d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fiona/package.py b/var/spack/repos/builtin/packages/py-fiona/package.py
index e6cd7f60b1..5d7dc23759 100644
--- a/var/spack/repos/builtin/packages/py-fiona/package.py
+++ b/var/spack/repos/builtin/packages/py-fiona/package.py
@@ -11,32 +11,32 @@ class PyFiona(PythonPackage):
homepage = "https://github.com/Toblerity/Fiona"
pypi = "Fiona/Fiona-1.8.18.tar.gz"
- git = "https://github.com/Toblerity/Fiona.git"
-
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('1.8.21', sha256='3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc')
- version('1.8.20', sha256='a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b')
- version('1.8.18', sha256='b732ece0ff8886a29c439723a3e1fc382718804bb057519d537a81308854967a')
- version('1.8.6', sha256='fa31dfe8855b9cd0b128b47a4df558f1b8eda90d2181bff1dd9854e5556efb3e')
- version('1.7.12', sha256='8b54eb8422d7c502bb7776b184018186bede1a489cf438a7a47f992ade6a0e51')
-
- depends_on('python@3.6:', type=('build', 'link', 'run'), when='@1.9:')
- depends_on('python@2.6:', type=('build', 'link', 'run'), when='@1.8.21:1.8')
- depends_on('python@2.6:3.9', type=('build', 'link', 'run'), when='@:1.8.20')
- depends_on('gdal@1.11:', type=('build', 'link', 'run'), when='@1.9:')
- depends_on('gdal@1.8:', type=('build', 'link', '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:', 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,3.0:3.1')
- depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
+ git = "https://github.com/Toblerity/Fiona.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("1.8.21", sha256="3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc")
+ version("1.8.20", sha256="a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b")
+ version("1.8.18", sha256="b732ece0ff8886a29c439723a3e1fc382718804bb057519d537a81308854967a")
+ version("1.8.6", sha256="fa31dfe8855b9cd0b128b47a4df558f1b8eda90d2181bff1dd9854e5556efb3e")
+ version("1.7.12", sha256="8b54eb8422d7c502bb7776b184018186bede1a489cf438a7a47f992ade6a0e51")
+
+ depends_on("python@3.6:", type=("build", "link", "run"), when="@1.9:")
+ depends_on("python@2.6:", type=("build", "link", "run"), when="@1.8.21:1.8")
+ depends_on("python@2.6:3.9", type=("build", "link", "run"), when="@:1.8.20")
+ depends_on("gdal@1.11:", type=("build", "link", "run"), when="@1.9:")
+ depends_on("gdal@1.8:", type=("build", "link", "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:", 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,3.0:3.1")
+ depends_on("py-ordereddict", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-fire/package.py b/var/spack/repos/builtin/packages/py-fire/package.py
index 5b4119e024..f7b5a6215a 100644
--- a/var/spack/repos/builtin/packages/py-fire/package.py
+++ b/var/spack/repos/builtin/packages/py-fire/package.py
@@ -12,14 +12,14 @@ class PyFire(PythonPackage):
interfaces (CLIs) with a single line of code."""
homepage = "https://github.com/google/python-fire"
- pypi = "fire/fire-0.2.1.tar.gz"
+ pypi = "fire/fire-0.2.1.tar.gz"
- version('0.4.0', sha256='c5e2b8763699d1142393a46d0e3e790c5eb2f0706082df8f647878842c216a62')
- version('0.3.1', sha256='9736a16227c3d469e5d2d296bce5b4d8fa8d7851e953bda327a455fc2994307f')
- version('0.3.0', sha256='96c372096afcf33ddbadac8a7ca5b7e829e8d7157d0030bd964bf959afde5c2c')
- version('0.2.1', sha256='6865fefc6981a713d2ce56a2a2c92c56c729269f74a6cddd6f4b94d16ae084c9')
+ version("0.4.0", sha256="c5e2b8763699d1142393a46d0e3e790c5eb2f0706082df8f647878842c216a62")
+ version("0.3.1", sha256="9736a16227c3d469e5d2d296bce5b4d8fa8d7851e953bda327a455fc2994307f")
+ version("0.3.0", sha256="96c372096afcf33ddbadac8a7ca5b7e829e8d7157d0030bd964bf959afde5c2c")
+ version("0.2.1", sha256="6865fefc6981a713d2ce56a2a2c92c56c729269f74a6cddd6f4b94d16ae084c9")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-termcolor', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='@0.3.0: ^python@:3.3')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-termcolor", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="@0.3.0: ^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-fiscalyear/package.py b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
index 2f45fbd640..b4b81eaf63 100644
--- a/var/spack/repos/builtin/packages/py-fiscalyear/package.py
+++ b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
@@ -18,17 +18,17 @@ class PyFiscalyear(PythonPackage):
pypi = "fiscalyear/fiscalyear-0.2.0.tar.gz"
git = "https://github.com/adamjstewart/fiscalyear.git"
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('0.4.0', sha256='12857a48bd7b97bda78d833b29e81f30ec5aa018241f690e714b472b25fa1b47')
- version('0.3.2', sha256='0697b2af4ab2d4c6188fac33d340f31dea9b0e1f0d3666d6752faeedd744f019')
- version('0.3.1', sha256='5964b4be71453c1fa5da804343cea866e0299aff874aa59ae186a8a9b9ff62d0')
- version('0.3.0', sha256='64f97b3a0ab6b2857d09f0016bd3aae37646a454a5c2c66e907fef03ae54a816')
- version('0.2.0', sha256='f513616aeb03046406c56d7c69cd9e26f6a12963c71c1410cc3d4532a5bfee71')
- version('0.1.0', sha256='3fde4a12eeb72da446beb487e078adf1223a92d130520e589b82d7d1509701a2')
-
- depends_on('python@3.6:', when='@0.4:', type=('build', 'run'))
- depends_on('python@2.5:', type=('build', 'run'))
- depends_on('py-setuptools@42:', when='@0.4:', type='build')
- depends_on('py-setuptools', type='build')
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("0.4.0", sha256="12857a48bd7b97bda78d833b29e81f30ec5aa018241f690e714b472b25fa1b47")
+ version("0.3.2", sha256="0697b2af4ab2d4c6188fac33d340f31dea9b0e1f0d3666d6752faeedd744f019")
+ version("0.3.1", sha256="5964b4be71453c1fa5da804343cea866e0299aff874aa59ae186a8a9b9ff62d0")
+ version("0.3.0", sha256="64f97b3a0ab6b2857d09f0016bd3aae37646a454a5c2c66e907fef03ae54a816")
+ version("0.2.0", sha256="f513616aeb03046406c56d7c69cd9e26f6a12963c71c1410cc3d4532a5bfee71")
+ version("0.1.0", sha256="3fde4a12eeb72da446beb487e078adf1223a92d130520e589b82d7d1509701a2")
+
+ depends_on("python@3.6:", when="@0.4:", type=("build", "run"))
+ depends_on("python@2.5:", type=("build", "run"))
+ depends_on("py-setuptools@42:", when="@0.4:", type="build")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fisher/package.py b/var/spack/repos/builtin/packages/py-fisher/package.py
index 1c23ab98f0..c17c376191 100644
--- a/var/spack/repos/builtin/packages/py-fisher/package.py
+++ b/var/spack/repos/builtin/packages/py-fisher/package.py
@@ -14,7 +14,7 @@ class PyFisher(PythonPackage):
homepage = "https://github.com/brentp/fishers_exact_test"
pypi = "fisher/fisher-0.1.9.tar.gz"
- version('0.1.9', sha256='d378b3f7e488e2a679c6d0e5ea1bce17bc931c2bfe8ec8424ee47a74f251968d')
+ version("0.1.9", sha256="d378b3f7e488e2a679c6d0e5ea1bce17bc931c2bfe8ec8424ee47a74f251968d")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fits-tools/package.py b/var/spack/repos/builtin/packages/py-fits-tools/package.py
index b1b6b1c72c..f4bcd0a2d8 100644
--- a/var/spack/repos/builtin/packages/py-fits-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-fits-tools/package.py
@@ -11,19 +11,23 @@ class PyFitsTools(PythonPackage):
& native python routines"""
homepage = "https://github.com/keflavich/FITS_tools"
- url = "https://github.com/keflavich/FITS_tools/archive/v0.2.tar.gz"
+ url = "https://github.com/keflavich/FITS_tools/archive/v0.2.tar.gz"
- version('1.1.2', sha256='6c7596533ea66f5ca05e4326ae6db643edb03aca4b6b654dce091834155d03e8')
- version('1.1.1', sha256='5b79ef24fadb43458388754381644712c05cd89da4f89c197e3bd80ca158c525')
- version('1.1', sha256='995ebf53dc0ffd8bdb5270c4fa0cf52f639aac05cfb68dc6fd5d58ab40148a8a')
- version('1.0', sha256='b711981eb780f3d27a5dec413397af68493b496e1621f9a37cf68dd265536937')
- version('0.4.1', sha256='3511eb7bbaf73ac68b92b460c71b7a3dbf6c3860fae908638180876eca12f8fd')
- version('0.4', sha256='dbdb558d4c3ada627d42b62aaec5eb8f8f6dd3e323cae853fd447d9ec7805637')
- version('0.2', sha256='04c4b6eeb09298bca79b228175fcd209d4ca895ce5675f6684120e75928d2d97', default=True)
- version('0.1', sha256='d128e49ff4ecc6a9bf9a050f8605bc457e028e10e48bb8d6fda4ca358298ec17')
+ version("1.1.2", sha256="6c7596533ea66f5ca05e4326ae6db643edb03aca4b6b654dce091834155d03e8")
+ version("1.1.1", sha256="5b79ef24fadb43458388754381644712c05cd89da4f89c197e3bd80ca158c525")
+ version("1.1", sha256="995ebf53dc0ffd8bdb5270c4fa0cf52f639aac05cfb68dc6fd5d58ab40148a8a")
+ version("1.0", sha256="b711981eb780f3d27a5dec413397af68493b496e1621f9a37cf68dd265536937")
+ version("0.4.1", sha256="3511eb7bbaf73ac68b92b460c71b7a3dbf6c3860fae908638180876eca12f8fd")
+ version("0.4", sha256="dbdb558d4c3ada627d42b62aaec5eb8f8f6dd3e323cae853fd447d9ec7805637")
+ version(
+ "0.2",
+ sha256="04c4b6eeb09298bca79b228175fcd209d4ca895ce5675f6684120e75928d2d97",
+ default=True,
+ )
+ version("0.1", sha256="d128e49ff4ecc6a9bf9a050f8605bc457e028e10e48bb8d6fda4ca358298ec17")
- depends_on('py-setuptools', type='build')
- depends_on('py-astropy')
- depends_on('py-astropy-helpers')
- depends_on('py-scipy')
- depends_on('py-numpy')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-astropy")
+ depends_on("py-astropy-helpers")
+ depends_on("py-scipy")
+ depends_on("py-numpy")
diff --git a/var/spack/repos/builtin/packages/py-fixtures/package.py b/var/spack/repos/builtin/packages/py-fixtures/package.py
index 0ee77caac9..71dfc827ac 100644
--- a/var/spack/repos/builtin/packages/py-fixtures/package.py
+++ b/var/spack/repos/builtin/packages/py-fixtures/package.py
@@ -12,6 +12,6 @@ class PyFixtures(PythonPackage):
homepage = "https://launchpad.net/python-fixtures"
pypi = "fixtures/fixtures-3.0.0.tar.gz"
- version('3.0.0', sha256='fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef')
+ version("3.0.0", sha256="fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-flake8-import-order/package.py b/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
index 73d4a06e03..fb183f2de2 100644
--- a/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8-import-order/package.py
@@ -7,14 +7,13 @@ from spack.package import *
class PyFlake8ImportOrder(PythonPackage):
- """Flake8 and pylama plugin that checks the ordering of import statements.
- """
+ """Flake8 and pylama plugin that checks the ordering of import statements."""
homepage = "https://github.com/PyCQA/flake8-import-order"
pypi = "flake8-import-order/flake8-import-order-0.18.1.tar.gz"
- version('0.18.1', sha256='a28dc39545ea4606c1ac3c24e9d05c849c6e5444a50fb7e9cdd430fc94de6e92')
+ version("0.18.1", sha256="a28dc39545ea4606c1ac3c24e9d05c849c6e5444a50fb7e9cdd430fc94de6e92")
- depends_on('py-enum34', when='^python@:2', type=('build', 'run'))
- depends_on('py-pycodestyle', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-enum34", when="^python@:2", type=("build", "run"))
+ depends_on("py-pycodestyle", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py b/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
index 41b607915b..5a15f38833 100644
--- a/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8-polyfill/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class PyFlake8Polyfill(PythonPackage):
"""flake8-polyfill is a package that provides some compatibility helpers
- for Flake8 plugins that intend to support Flake8 2.x and 3.x
- simultaneously.
+ for Flake8 plugins that intend to support Flake8 2.x and 3.x
+ simultaneously.
"""
+
homepage = "https://gitlab.com/pycqa/flake8-polyfill"
pypi = "flake8-polyfill/flake8-polyfill-1.0.2.tar.gz"
- version('1.0.2', sha256='e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda')
+ version("1.0.2", sha256="e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda")
- depends_on('py-setuptools', type='build')
- depends_on('py-flake8', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flake8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flake8/package.py b/var/spack/repos/builtin/packages/py-flake8/package.py
index a3585ea82e..80fdd0095e 100644
--- a/var/spack/repos/builtin/packages/py-flake8/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8/package.py
@@ -11,26 +11,26 @@ class PyFlake8(PythonPackage):
McCabe script."""
homepage = "https://github.com/PyCQA/flake8"
- pypi = "flake8/flake8-4.0.1.tar.gz"
-
- version('4.0.1', sha256='806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d')
- version('4.0.0', sha256='b52d27e627676b015340c3b1c72bc9259a6cacc9341712fb8f01ddfaaa2c651a')
- version('3.9.2', sha256='07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b')
- version('3.8.2', sha256='c69ac1668e434d37a2d2880b3ca9aafd54b3a10a3ac1ab101d22f29e29cf8634')
- version('3.7.8', sha256='19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548')
- version('3.7.7', sha256='859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661')
- version('3.5.0', sha256='7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0')
- version('3.0.4', sha256='b4c210c998f07d6ff24325dd91fbc011f2c37bcd6bf576b188de01d8656e970d')
- version('2.5.4', sha256='cc1e58179f6cf10524c7bfdd378f5536d0a61497688517791639a5ecc867492f')
-
- extends('python', ignore='bin/(pyflakes|pycodestyle)')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@3.9.2:')
- depends_on('python@3.6:', type=('build', 'run'), when='@4.0.0:')
+ pypi = "flake8/flake8-4.0.1.tar.gz"
+
+ version("4.0.1", sha256="806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d")
+ version("4.0.0", sha256="b52d27e627676b015340c3b1c72bc9259a6cacc9341712fb8f01ddfaaa2c651a")
+ version("3.9.2", sha256="07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b")
+ version("3.8.2", sha256="c69ac1668e434d37a2d2880b3ca9aafd54b3a10a3ac1ab101d22f29e29cf8634")
+ version("3.7.8", sha256="19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548")
+ version("3.7.7", sha256="859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661")
+ version("3.5.0", sha256="7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0")
+ version("3.0.4", sha256="b4c210c998f07d6ff24325dd91fbc011f2c37bcd6bf576b188de01d8656e970d")
+ version("2.5.4", sha256="cc1e58179f6cf10524c7bfdd378f5536d0a61497688517791639a5ecc867492f")
+
+ extends("python", ignore="bin/(pyflakes|pycodestyle)")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@3.9.2:")
+ depends_on("python@3.6:", type=("build", "run"), when="@4.0.0:")
# Most Python packages only require py-setuptools as a build dependency.
# However, py-flake8 requires py-setuptools during runtime as well.
- depends_on('py-setuptools@30:', type=('build', 'run'))
+ depends_on("py-setuptools@30:", type=("build", "run"))
# Flake8 uses ranges for its dependencies to enforce a stable list of
# error codes within each minor release:
@@ -38,47 +38,47 @@ class PyFlake8(PythonPackage):
# http://flake8.pycqa.org/en/latest/internal/releases.html#releasing-flake8
# Flake8 4.0.X
- depends_on('py-pycodestyle@2.8.0:2.8', when='@4.0.0:4.0', type=('build', 'run'))
- depends_on('py-pyflakes@2.4.0:2.4', when='@4.0.0:4.0', type=('build', 'run'))
+ depends_on("py-pycodestyle@2.8.0:2.8", when="@4.0.0:4.0", type=("build", "run"))
+ depends_on("py-pyflakes@2.4.0:2.4", when="@4.0.0:4.0", type=("build", "run"))
# Flake8 3.9.X
- depends_on('py-pycodestyle@2.7.0:2.7', when='@3.9.0:3.9', type=('build', 'run'))
- depends_on('py-pyflakes@2.3.0:2.3', when='@3.9.0:3.9', type=('build', 'run'))
+ depends_on("py-pycodestyle@2.7.0:2.7", when="@3.9.0:3.9", type=("build", "run"))
+ depends_on("py-pyflakes@2.3.0:2.3", when="@3.9.0:3.9", type=("build", "run"))
# Flake8 3.8.X
- depends_on('py-pycodestyle@2.6.0:2.6', when='@3.8.0:3.8', type=('build', 'run'))
- depends_on('py-pyflakes@2.2.0:2.2', when='@3.8.0:3.8', type=('build', 'run'))
+ depends_on("py-pycodestyle@2.6.0:2.6", when="@3.8.0:3.8", type=("build", "run"))
+ depends_on("py-pyflakes@2.2.0:2.2", when="@3.8.0:3.8", type=("build", "run"))
# Flake8 3.7.X
# FIXME @0.3.0:0.3 causes concretization to hang
- depends_on('py-entrypoints@0.3', when='@3.7.0:3.8', type=('build', 'run'))
- depends_on('py-pyflakes@2.1.0:2.1', when='@3.7.0:3.7', type=('build', 'run'))
- depends_on('py-pycodestyle@2.5.0:2.5', when='@3.7.0:3.7', type=('build', 'run'))
- depends_on('py-mccabe@0.6.0:0.6', when='@3.7.0:', type=('build', 'run'))
+ depends_on("py-entrypoints@0.3", when="@3.7.0:3.8", type=("build", "run"))
+ depends_on("py-pyflakes@2.1.0:2.1", when="@3.7.0:3.7", type=("build", "run"))
+ depends_on("py-pycodestyle@2.5.0:2.5", when="@3.7.0:3.7", type=("build", "run"))
+ depends_on("py-mccabe@0.6.0:0.6", when="@3.7.0:", type=("build", "run"))
# Flake8 3.5.X
- depends_on('py-pyflakes@1.5:1.6', when='@3.5.0:3.5', type=('build', 'run'))
- depends_on('py-pycodestyle@2.0:2.4', when='@3.5.0:3.5', type=('build', 'run'))
- depends_on('py-mccabe@0.6.0:0.6', when='@3.5.0:3.5', type=('build', 'run'))
+ depends_on("py-pyflakes@1.5:1.6", when="@3.5.0:3.5", type=("build", "run"))
+ depends_on("py-pycodestyle@2.0:2.4", when="@3.5.0:3.5", type=("build", "run"))
+ depends_on("py-mccabe@0.6.0:0.6", when="@3.5.0:3.5", type=("build", "run"))
# Flake8 3.0.X
- depends_on('py-pyflakes@0.8.1:1.1,1.2.3:1.2', when='@3.0.0:3.0', type=('build', 'run'))
- depends_on('py-pycodestyle@2.0.0:2.0', when='@3.0.0:3.0', type=('build', 'run'))
- depends_on('py-mccabe@0.5.0:0.5', when='@3.0.0:3.0', type=('build', 'run'))
+ depends_on("py-pyflakes@0.8.1:1.1,1.2.3:1.2", when="@3.0.0:3.0", type=("build", "run"))
+ depends_on("py-pycodestyle@2.0.0:2.0", when="@3.0.0:3.0", type=("build", "run"))
+ depends_on("py-mccabe@0.5.0:0.5", when="@3.0.0:3.0", type=("build", "run"))
# Flake8 2.5.X
- depends_on('py-pyflakes@0.8.1:1.0', when='@2.5.0:2.5', type=('build', 'run'))
- depends_on('py-pycodestyle@1.5.7:1.5,1.6.3:', when='@2.5.0:2.5', type=('build', 'run'))
- depends_on('py-mccabe@0.2.1:0.4', when='@2.5.0:2.5', type=('build', 'run'))
+ depends_on("py-pyflakes@0.8.1:1.0", when="@2.5.0:2.5", type=("build", "run"))
+ depends_on("py-pycodestyle@1.5.7:1.5,1.6.3:", when="@2.5.0:2.5", type=("build", "run"))
+ depends_on("py-mccabe@0.2.1:0.4", when="@2.5.0:2.5", type=("build", "run"))
# Python version-specific backports
- depends_on('py-importlib-metadata', when='@3.8.0:3.9.2 ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@:4.2', when='@4.0.0: ^python@:3.7', type=('build', 'run'))
- depends_on('py-enum34', when='@3.0.0: ^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='@3.7.0: ^python@:3.4', type=('build', 'run'))
- depends_on('py-configparser', when='@3.0.0: ^python@:3.1', type=('build', 'run'))
- depends_on('py-functools32', when='@3.7.4: ^python@:3.1', type=('build', 'run'))
+ depends_on("py-importlib-metadata", when="@3.8.0:3.9.2 ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@:4.2", when="@4.0.0: ^python@:3.7", type=("build", "run"))
+ depends_on("py-enum34", when="@3.0.0: ^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="@3.7.0: ^python@:3.4", type=("build", "run"))
+ depends_on("py-configparser", when="@3.0.0: ^python@:3.1", type=("build", "run"))
+ depends_on("py-functools32", when="@3.7.4: ^python@:3.1", type=("build", "run"))
def patch(self):
"""Filter pytest-runner requirement out of setup.py."""
- filter_file("['pytest-runner']", "[]", 'setup.py', string=True)
+ filter_file("['pytest-runner']", "[]", "setup.py", string=True)
diff --git a/var/spack/repos/builtin/packages/py-flameprof/package.py b/var/spack/repos/builtin/packages/py-flameprof/package.py
index f2f811b43b..9314c9262d 100644
--- a/var/spack/repos/builtin/packages/py-flameprof/package.py
+++ b/var/spack/repos/builtin/packages/py-flameprof/package.py
@@ -10,10 +10,10 @@ class PyFlameprof(PythonPackage):
"""Flamegraph generator for python's cProfile stats."""
homepage = "https://github.com/baverman/flameprof/"
- pypi = "flameprof/flameprof-0.4.tar.gz"
+ pypi = "flameprof/flameprof-0.4.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('0.4', sha256='dbc86d4190cbbba624f1e0a40f44d9db96138e27534d83c8ef42d420857875a3')
+ version("0.4", sha256="dbc86d4190cbbba624f1e0a40f44d9db96138e27534d83c8ef42d420857875a3")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-flask-babel/package.py b/var/spack/repos/builtin/packages/py-flask-babel/package.py
index 384a399572..68cb6942c5 100644
--- a/var/spack/repos/builtin/packages/py-flask-babel/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-babel/package.py
@@ -10,13 +10,13 @@ class PyFlaskBabel(PythonPackage):
"""Implements i18n and l10n support for Flask."""
homepage = "https://pythonhosted.org/Flask-Babel/"
- pypi = "Flask-Babel/Flask-Babel-2.0.0.tar.gz"
+ pypi = "Flask-Babel/Flask-Babel-2.0.0.tar.gz"
- version('2.0.0', sha256='f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d')
+ version("2.0.0", sha256="f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-flask', type=('build', 'run'))
- depends_on('py-babel@2.3:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-jinja2@2.5:', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask", type=("build", "run"))
+ depends_on("py-babel@2.3:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-jinja2@2.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flask-compress/package.py b/var/spack/repos/builtin/packages/py-flask-compress/package.py
index 4c7228e092..c9c3e8422a 100644
--- a/var/spack/repos/builtin/packages/py-flask-compress/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-compress/package.py
@@ -13,7 +13,7 @@ class PyFlaskCompress(PythonPackage):
homepage = "https://github.com/libwilliam/flask-compress"
pypi = "Flask-Compress/Flask-Compress-1.4.0.tar.gz"
- version('1.4.0', sha256='468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3')
+ version("1.4.0", sha256="468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask@0.9:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flask-cors/package.py b/var/spack/repos/builtin/packages/py-flask-cors/package.py
index 5ff27120ec..a539704e7a 100644
--- a/var/spack/repos/builtin/packages/py-flask-cors/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-cors/package.py
@@ -14,8 +14,8 @@ class PyFlaskCors(PythonPackage):
homepage = "https://flask-cors.corydolphin.com/en/latest/index.html"
pypi = "Flask-Cors/Flask-Cors-3.0.10.tar.gz"
- version('3.0.10', sha256='b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de')
+ version("3.0.10", sha256="b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask@0.9:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask@0.9:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flask-restful/package.py b/var/spack/repos/builtin/packages/py-flask-restful/package.py
index 34b79ecc8a..d3e599c632 100644
--- a/var/spack/repos/builtin/packages/py-flask-restful/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-restful/package.py
@@ -10,12 +10,12 @@ class PyFlaskRestful(PythonPackage):
"""Simple framework for creating REST APIs"""
homepage = "https://www.github.com/flask-restful/flask-restful/"
- pypi = "Flask-RESTful/Flask-RESTful-0.3.8.tar.gz"
+ pypi = "Flask-RESTful/Flask-RESTful-0.3.8.tar.gz"
- version('0.3.9', sha256='ccec650b835d48192138c85329ae03735e6ced58e9b2d9c2146d6c84c06fa53e')
+ version("0.3.9", sha256="ccec650b835d48192138c85329ae03735e6ced58e9b2d9c2146d6c84c06fa53e")
- depends_on('py-setuptools', type='build')
- depends_on('py-aniso8601@0.82:', type=('build', 'run'))
- depends_on('py-flask@0.8:', type=('build', 'run'))
- depends_on('py-six@1.3.0:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-aniso8601@0.82:", type=("build", "run"))
+ depends_on("py-flask@0.8:", type=("build", "run"))
+ depends_on("py-six@1.3.0:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flask-socketio/package.py b/var/spack/repos/builtin/packages/py-flask-socketio/package.py
index fd52577f78..b07601a8f2 100644
--- a/var/spack/repos/builtin/packages/py-flask-socketio/package.py
+++ b/var/spack/repos/builtin/packages/py-flask-socketio/package.py
@@ -17,9 +17,9 @@ class PyFlaskSocketio(PythonPackage):
homepage = "https://flask-socketio.readthedocs.io"
pypi = "Flask-SocketIO/Flask-SocketIO-2.9.6.tar.gz"
- version('2.9.6', sha256='f49edfd3a44458fbb9f7a04a57069ffc0c37f000495194f943a25d370436bb69')
+ version("2.9.6", sha256="f49edfd3a44458fbb9f7a04a57069ffc0c37f000495194f943a25d370436bb69")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask@0.9:', type=('build', 'run'))
- depends_on('py-python-socketio@1.6.1:', type=('build', 'run'))
- depends_on('py-werkzeug', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask@0.9:", type=("build", "run"))
+ depends_on("py-python-socketio@1.6.1:", type=("build", "run"))
+ depends_on("py-werkzeug", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flask/package.py b/var/spack/repos/builtin/packages/py-flask/package.py
index b54ac498f5..e26add22bd 100644
--- a/var/spack/repos/builtin/packages/py-flask/package.py
+++ b/var/spack/repos/builtin/packages/py-flask/package.py
@@ -12,23 +12,23 @@ class PyFlask(PythonPackage):
homepage = "https://palletsprojects.com/p/flask/"
pypi = "Flask/Flask-1.1.1.tar.gz"
- version('2.0.2', sha256='7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2')
- version('1.1.2', sha256='4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060')
- version('1.1.1', sha256='13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52')
- version('0.12.4', sha256='2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd')
- version('0.12.2', sha256='49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1')
- version('0.12.1', sha256='9dce4b6bfbb5b062181d3f7da8f727ff70c1156cbb4024351eafd426deb5fb88')
- version('0.11.1', sha256='b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e')
+ version("2.0.2", sha256="7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2")
+ version("1.1.2", sha256="4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060")
+ version("1.1.1", sha256="13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52")
+ version("0.12.4", sha256="2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd")
+ version("0.12.2", sha256="49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1")
+ version("0.12.1", sha256="9dce4b6bfbb5b062181d3f7da8f727ff70c1156cbb4024351eafd426deb5fb88")
+ version("0.11.1", sha256="b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
- depends_on('py-werkzeug@2:', when='@2:', type=('build', 'run'))
- depends_on('py-werkzeug@0.15:', type=('build', 'run'))
- depends_on('py-jinja2@3:', when='@2:', type=('build', 'run'))
- depends_on('py-jinja2@2.10.1:', type=('build', 'run'))
- depends_on('py-itsdangerous@2:', when='@2:', type=('build', 'run'))
- depends_on('py-itsdangerous@0.24:', type=('build', 'run'))
- depends_on('py-click@7.1.2:', when='@2:', type=('build', 'run'))
- depends_on('py-click@5.1:', type=('build', 'run'))
+ depends_on("py-werkzeug@2:", when="@2:", type=("build", "run"))
+ depends_on("py-werkzeug@0.15:", type=("build", "run"))
+ depends_on("py-jinja2@3:", when="@2:", type=("build", "run"))
+ depends_on("py-jinja2@2.10.1:", type=("build", "run"))
+ depends_on("py-itsdangerous@2:", when="@2:", type=("build", "run"))
+ depends_on("py-itsdangerous@0.24:", type=("build", "run"))
+ depends_on("py-click@7.1.2:", when="@2:", type=("build", "run"))
+ depends_on("py-click@5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flatbuffers/package.py b/var/spack/repos/builtin/packages/py-flatbuffers/package.py
index 40e2c52237..c6777c7776 100644
--- a/var/spack/repos/builtin/packages/py-flatbuffers/package.py
+++ b/var/spack/repos/builtin/packages/py-flatbuffers/package.py
@@ -14,16 +14,12 @@ class PyFlatbuffers(PythonPackage):
"""
homepage = "https://google.github.io/flatbuffers/"
- pypi = "flatbuffers/flatbuffers-2.0.tar.gz"
+ pypi = "flatbuffers/flatbuffers-2.0.tar.gz"
- maintainers = ['gperrotta']
+ maintainers = ["gperrotta"]
- version(
- '2.0', sha256='12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2'
- )
+ version("2.0", sha256="12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2")
- version(
- '1.12', sha256='63bb9a722d5e373701913e226135b28a6f6ac200d5cc7b4d919fa38d73b44610'
- )
+ version("1.12", sha256="63bb9a722d5e373701913e226135b28a6f6ac200d5cc7b4d919fa38d73b44610")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-flatten-dict/package.py b/var/spack/repos/builtin/packages/py-flatten-dict/package.py
index 51f4afc0a2..824b096a0f 100644
--- a/var/spack/repos/builtin/packages/py-flatten-dict/package.py
+++ b/var/spack/repos/builtin/packages/py-flatten-dict/package.py
@@ -12,11 +12,11 @@ class PyFlattenDict(PythonPackage):
in Python"""
homepage = "https://github.com/ianlini/flatten-dict"
- pypi = "flatten-dict/flatten-dict-0.3.0.tar.gz"
+ pypi = "flatten-dict/flatten-dict-0.3.0.tar.gz"
- version('0.3.0', sha256='0ccc43f15c7c84c5ef387ad19254f6769a32d170313a1bcbf4ce582089313d7e')
+ version("0.3.0", sha256="0ccc43f15c7c84c5ef387ad19254f6769a32d170313a1bcbf4ce582089313d7e")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.12:1', type=('build', 'run'))
- depends_on('py-pathlib2@2.3:2', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.12:1", type=("build", "run"))
+ depends_on("py-pathlib2@2.3:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flawfinder/package.py b/var/spack/repos/builtin/packages/py-flawfinder/package.py
index aa3efda6e0..c219759825 100644
--- a/var/spack/repos/builtin/packages/py-flawfinder/package.py
+++ b/var/spack/repos/builtin/packages/py-flawfinder/package.py
@@ -12,7 +12,7 @@ class PyFlawfinder(PythonPackage, SourceforgePackage):
homepage = "http://dwheeler.com/flawfinder/"
sourceforge_mirror_path = "project/flawfinder/flawfinder-2.0.19.tar.gz"
- version('2.0.19', sha256='fe550981d370abfa0a29671346cc0b038229a9bd90b239eab0f01f12212df618')
+ version("2.0.19", sha256="fe550981d370abfa0a29671346cc0b038229a9bd90b239eab0f01f12212df618")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-flexmock/package.py b/var/spack/repos/builtin/packages/py-flexmock/package.py
index 50cf7e4d46..0a0be0f7d2 100644
--- a/var/spack/repos/builtin/packages/py-flexmock/package.py
+++ b/var/spack/repos/builtin/packages/py-flexmock/package.py
@@ -16,10 +16,10 @@ class PyFlexmock(PythonPackage):
the creation of fake objects as unobtrusive as possible."""
homepage = "https://flexmock.readthedocs.io/en/latest/"
- pypi = "flexmock/flexmock-0.10.4.tar.gz"
+ pypi = "flexmock/flexmock-0.10.4.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.10.4', sha256='5033ceb974d6452cf8716c2ff5059074b77e546df5c849fb44a53f98dfe0d82c')
+ version("0.10.4", sha256="5033ceb974d6452cf8716c2ff5059074b77e546df5c849fb44a53f98dfe0d82c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-flexx/package.py b/var/spack/repos/builtin/packages/py-flexx/package.py
index 24f61060a4..060289838f 100644
--- a/var/spack/repos/builtin/packages/py-flexx/package.py
+++ b/var/spack/repos/builtin/packages/py-flexx/package.py
@@ -12,7 +12,7 @@ class PyFlexx(PythonPackage):
homepage = "https://flexx.readthedocs.io"
pypi = "flexx/flexx-0.4.1.zip"
- version('0.4.1', sha256='54be868f01d943018d0907821f2562f6eb31c568b3932abfd8518f75c29b8be1')
+ version("0.4.1", sha256="54be868f01d943018d0907821f2562f6eb31c568b3932abfd8518f75c29b8be1")
- depends_on('py-setuptools', type='build')
- depends_on('py-tornado', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tornado", type=("build", "run"))
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 0a08dd2db6..62d03c0abd 100644
--- a/var/spack/repos/builtin/packages/py-flit-core/package.py
+++ b/var/spack/repos/builtin/packages/py-flit-core/package.py
@@ -11,22 +11,22 @@ class PyFlitCore(PythonPackage):
homepage = "https://github.com/takluyver/flit"
pypi = "flit-core/flit_core-3.3.0.tar.gz"
- maintainers = ['takluyver']
+ maintainers = ["takluyver"]
- version('3.6.0', sha256='5892962ab8b8ea945835b3a288fe9dd69316f1903d5288c3f5cafdcdd04756ad')
- version('3.5.1', sha256='3083720351a6cb00e0634a1ec0e26eae7b273174c3c6c03d5b597a14203b282e')
- version('3.5.0', sha256='2db800d33ff41e4c6e7c1b594666cb2a11553024106655272c7245933b1d75bd')
- version('3.4.0', sha256='29468fa2330969167d1f5c23eb9c0661cb6dacfcd46f361a274609a7f4197530')
- version('3.3.0', sha256='b1404accffd6504b5f24eeca9ec5d3c877f828d16825348ba81515fa084bd5f0')
- version('3.2.0', sha256='ff87f25c5dbc24ef30ea334074e35030e4885e4c5de3bf4e21f15746f6d99431')
- version('3.1.0', sha256='22ff73be39a2b3c9e0692dfbbea3ad4a9d127e5733736a87dbb8ddcbf7309b1e')
- version('3.0.0', sha256='a465052057e2d6d957e6850e9915245adedfc4fd0dd5737d0791bf3132417c2d')
- version('2.3.0', sha256='a50bcd8bf5785e3a7d95434244f30ba693e794c5204ac1ee908fc07c4acdbf80')
+ version("3.6.0", sha256="5892962ab8b8ea945835b3a288fe9dd69316f1903d5288c3f5cafdcdd04756ad")
+ version("3.5.1", sha256="3083720351a6cb00e0634a1ec0e26eae7b273174c3c6c03d5b597a14203b282e")
+ version("3.5.0", sha256="2db800d33ff41e4c6e7c1b594666cb2a11553024106655272c7245933b1d75bd")
+ version("3.4.0", sha256="29468fa2330969167d1f5c23eb9c0661cb6dacfcd46f361a274609a7f4197530")
+ version("3.3.0", sha256="b1404accffd6504b5f24eeca9ec5d3c877f828d16825348ba81515fa084bd5f0")
+ version("3.2.0", sha256="ff87f25c5dbc24ef30ea334074e35030e4885e4c5de3bf4e21f15746f6d99431")
+ version("3.1.0", sha256="22ff73be39a2b3c9e0692dfbbea3ad4a9d127e5733736a87dbb8ddcbf7309b1e")
+ version("3.0.0", sha256="a465052057e2d6d957e6850e9915245adedfc4fd0dd5737d0791bf3132417c2d")
+ version("2.3.0", sha256="a50bcd8bf5785e3a7d95434244f30ba693e794c5204ac1ee908fc07c4acdbf80")
# Dependencies listed in flit_core/build_thyself.py
- depends_on('python@3.6:', when='@3.4:', type=('build', 'run'))
- depends_on('python@3.4:', when='@3:', type=('build', 'run'))
- depends_on('python@2.7,3.4:', type=('build', 'run'))
- depends_on('py-tomli', when='@3.4:3.5', type='run')
- depends_on('py-toml', when='@3.1:3.3', type='run')
- depends_on('py-pytoml', when='@:3.0', type='run')
+ depends_on("python@3.6:", when="@3.4:", type=("build", "run"))
+ depends_on("python@3.4:", when="@3:", type=("build", "run"))
+ depends_on("python@2.7,3.4:", type=("build", "run"))
+ depends_on("py-tomli", when="@3.4:3.5", type="run")
+ depends_on("py-toml", when="@3.1:3.3", type="run")
+ depends_on("py-pytoml", when="@:3.0", type="run")
diff --git a/var/spack/repos/builtin/packages/py-flit/package.py b/var/spack/repos/builtin/packages/py-flit/package.py
index be77d82eb0..7043121bad 100644
--- a/var/spack/repos/builtin/packages/py-flit/package.py
+++ b/var/spack/repos/builtin/packages/py-flit/package.py
@@ -11,16 +11,16 @@ class PyFlit(PythonPackage):
homepage = "https://github.com/pypa/flit"
pypi = "flit/flit-3.3.0.tar.gz"
- maintainers = ['takluyver']
+ maintainers = ["takluyver"]
- version('3.6.0', sha256='b1464e006df4df4c8eeb37671c0e0ce66e1d04e4a36d91b702f180a25fde3c11')
- version('3.3.0', sha256='65fbe22aaa7f880b776b20814bd80b0afbf91d1f95b17235b608aa256325ce57')
+ version("3.6.0", sha256="b1464e006df4df4c8eeb37671c0e0ce66e1d04e4a36d91b702f180a25fde3c11")
+ version("3.3.0", sha256="65fbe22aaa7f880b776b20814bd80b0afbf91d1f95b17235b608aa256325ce57")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-flit-core@3.6.0:3', when='@3.6.0:3.6', type=('build', 'run'))
- depends_on('py-flit-core@3.3.0:3', when='@3.3.0:3.3', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-docutils', type=('build', 'run'))
- depends_on('py-tomli', when='@3.4:', type=('build', 'run'))
- depends_on('py-tomli-w', when='@3.4:', type=('build', 'run'))
- depends_on('py-toml', when='@3.3.0:3.3', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-flit-core@3.6.0:3", when="@3.6.0:3.6", type=("build", "run"))
+ depends_on("py-flit-core@3.3.0:3", when="@3.3.0:3.3", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-docutils", type=("build", "run"))
+ depends_on("py-tomli", when="@3.4:", type=("build", "run"))
+ depends_on("py-tomli-w", when="@3.4:", type=("build", "run"))
+ depends_on("py-toml", when="@3.3.0:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flufl-lock/package.py b/var/spack/repos/builtin/packages/py-flufl-lock/package.py
index ef8921d9b6..d558c22966 100644
--- a/var/spack/repos/builtin/packages/py-flufl-lock/package.py
+++ b/var/spack/repos/builtin/packages/py-flufl-lock/package.py
@@ -11,14 +11,14 @@ class PyFluflLock(PythonPackage):
"""NFS-safe file locking with timeouts for POSIX and Windows"""
homepage = "https://fluflock.readthedocs.io"
- pypi = "flufl.lock/flufl.lock-5.0.4.tar.gz"
+ pypi = "flufl.lock/flufl.lock-5.0.4.tar.gz"
- version('5.0.4', sha256='09ffef831d57c4d182e398e97bb74ad8c8ffbd1710175a5a0b0f057095db12f1')
- version('5.0.3', sha256='94df161caa489d74afc26df8c0b640770923ecc0c6c5d331fbeabe7b91d306cb')
- version('3.2', sha256='a8d66accc9ab41f09961cd8f8db39f9c28e97e2769659a3567c63930a869ff5b')
+ version("5.0.4", sha256="09ffef831d57c4d182e398e97bb74ad8c8ffbd1710175a5a0b0f057095db12f1")
+ version("5.0.3", sha256="94df161caa489d74afc26df8c0b640770923ecc0c6c5d331fbeabe7b91d306cb")
+ version("3.2", sha256="a8d66accc9ab41f09961cd8f8db39f9c28e97e2769659a3567c63930a869ff5b")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-atpublic', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-typing-extensions', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-atpublic", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-flye/package.py b/var/spack/repos/builtin/packages/py-flye/package.py
index e42549478f..2d304bddb0 100644
--- a/var/spack/repos/builtin/packages/py-flye/package.py
+++ b/var/spack/repos/builtin/packages/py-flye/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class PyFlye(PythonPackage):
"""Fast and accurate de novo assembler for single molecule sequencing
- reads"""
+ reads"""
homepage = "https://github.com/fenderglass/Flye"
- url = "https://github.com/fenderglass/Flye/archive/2.6.tar.gz"
+ url = "https://github.com/fenderglass/Flye/archive/2.6.tar.gz"
- version('2.6', sha256='5bdc44b84712794fa4264eed690d8c65c0d72f495c7bbf2cd15b634254809131')
- version('2.4.2', sha256='5b74d4463b860c9e1614ef655ab6f6f3a5e84a7a4d33faf3b29c7696b542c51a')
+ version("2.6", sha256="5bdc44b84712794fa4264eed690d8c65c0d72f495c7bbf2cd15b634254809131")
+ version("2.4.2", sha256="5b74d4463b860c9e1614ef655ab6f6f3a5e84a7a4d33faf3b29c7696b542c51a")
# https://github.com/fenderglass/Flye/blob/flye/docs/INSTALL.md
- depends_on('python@2.7:2.8,3.5:', when='@2.6:', type=('build', 'run'))
- depends_on('python@2.7:2.8', when='@:2.5', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('gmake', type='build')
- depends_on('zlib')
+ depends_on("python@2.7:2.8,3.5:", when="@2.6:", type=("build", "run"))
+ depends_on("python@2.7:2.8", when="@:2.5", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("gmake", type="build")
+ depends_on("zlib")
- msg = 'C++ compiler with C++11 support required'
- conflicts('%gcc@:4.7', msg=msg)
- conflicts('%clang@:3.2', msg=msg)
- conflicts('%apple-clang@:4.9', msg=msg)
+ msg = "C++ compiler with C++11 support required"
+ conflicts("%gcc@:4.7", msg=msg)
+ conflicts("%clang@:3.2", msg=msg)
+ conflicts("%apple-clang@:4.9", msg=msg)
def setup_build_environment(self, env):
- if self.spec.target.family == 'aarch64':
- env.set('arm_neon', '1')
- env.set('aarch64', '1')
+ if self.spec.target.family == "aarch64":
+ env.set("arm_neon", "1")
+ env.set("aarch64", "1")
diff --git a/var/spack/repos/builtin/packages/py-fn-py/package.py b/var/spack/repos/builtin/packages/py-fn-py/package.py
index 9a7ed60538..3bc4be48a0 100644
--- a/var/spack/repos/builtin/packages/py-fn-py/package.py
+++ b/var/spack/repos/builtin/packages/py-fn-py/package.py
@@ -11,8 +11,8 @@ class PyFnPy(PythonPackage):
to enjoy FP."""
homepage = "https://github.com/fnpy/fn.py"
- url = "https://github.com/fnpy/fn.py/archive/v0.5.2.tar.gz"
+ url = "https://github.com/fnpy/fn.py/archive/v0.5.2.tar.gz"
- version('0.5.2', sha256='fda2253d792867a79514496932630622df9340f214a2f4b2d597b60a8cc3d96b')
+ version("0.5.2", sha256="fda2253d792867a79514496932630622df9340f214a2f4b2d597b60a8cc3d96b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fonttools/package.py b/var/spack/repos/builtin/packages/py-fonttools/package.py
index 728671e2da..1694215cf1 100644
--- a/var/spack/repos/builtin/packages/py-fonttools/package.py
+++ b/var/spack/repos/builtin/packages/py-fonttools/package.py
@@ -14,16 +14,16 @@ class PyFonttools(PythonPackage):
OpenType, AFM and to an extent Type 1 and some Mac-specific formats."""
homepage = "https://github.com/fonttools/fonttools"
- pypi = "fonttools/fonttools-4.28.1.zip"
+ pypi = "fonttools/fonttools-4.28.1.zip"
- version('4.31.2', sha256='236b29aee6b113e8f7bee28779c1230a86ad2aac9a74a31b0aedf57e7dfb62a4')
- version('4.29.1', sha256='2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4')
- version('4.28.1', sha256='8c8f84131bf04f3b1dcf99b9763cec35c347164ab6ad006e18d2f99fcab05529')
- version('4.26.2', sha256='c1c0e03dd823e9e905232e875ea02dbb2dcd2ba195418c6d11bfaea49b9c774d')
+ version("4.31.2", sha256="236b29aee6b113e8f7bee28779c1230a86ad2aac9a74a31b0aedf57e7dfb62a4")
+ version("4.29.1", sha256="2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4")
+ version("4.28.1", sha256="8c8f84131bf04f3b1dcf99b9763cec35c347164ab6ad006e18d2f99fcab05529")
+ version("4.26.2", sha256="c1c0e03dd823e9e905232e875ea02dbb2dcd2ba195418c6d11bfaea49b9c774d")
- depends_on('python@3.7:', when='@4.28:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.7:", when="@4.28:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
@property
def import_modules(self):
@@ -31,5 +31,4 @@ class PyFonttools(PythonPackage):
ignored_imports = ["fontTools.ufoLib"]
- return [i for i in modules
- if not any(map(i.startswith, ignored_imports))]
+ return [i for i in modules if not any(map(i.startswith, ignored_imports))]
diff --git a/var/spack/repos/builtin/packages/py-ford/package.py b/var/spack/repos/builtin/packages/py-ford/package.py
index 845ef3fcd3..b5210b9d8d 100644
--- a/var/spack/repos/builtin/packages/py-ford/package.py
+++ b/var/spack/repos/builtin/packages/py-ford/package.py
@@ -10,28 +10,28 @@ class PyFord(PythonPackage):
"""FORD, standing for FORtran Documenter, is an automatic documentation generator
for modern Fortran programs."""
- pypi = "FORD/FORD-6.1.11.tar.gz"
-
- maintainers = ['wscullin']
-
- version('6.1.13', sha256='95b743ea25c5a9c6a9e13db3633e04f91e11d1debb69f48ca3ef7fefc51f0559')
- version('6.1.12', sha256='101191e1aa33cfe780ea5b2d66d02c7281b9b314e82bb138d76809a49c08506a')
- version('6.1.11', sha256='feb9a88040e717e84c632e4b023904ab36a463fc9a8ff80c8c7f86454e5d8043')
-
- depends_on('py-wheel@0.29:', type='build')
-
- depends_on('py-setuptools@48:', type='build')
- depends_on('py-setuptools-scm@4:5+toml', type='build')
- depends_on('py-setuptools-scm-git-archive', type='build')
-
- depends_on('py-markdown', type=('build', 'run'))
- depends_on('py-markdown-include@0.5.1:', type='run')
- depends_on('py-md-environ', type=('build', 'run'), when='@:6.1.8')
- depends_on('py-python-markdown-math@0.8:0', type='run')
- depends_on('py-toposort', type=('build', 'run'))
- depends_on('py-jinja2@2.1:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
- depends_on('py-graphviz', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
+ pypi = "FORD/FORD-6.1.11.tar.gz"
+
+ maintainers = ["wscullin"]
+
+ version("6.1.13", sha256="95b743ea25c5a9c6a9e13db3633e04f91e11d1debb69f48ca3ef7fefc51f0559")
+ version("6.1.12", sha256="101191e1aa33cfe780ea5b2d66d02c7281b9b314e82bb138d76809a49c08506a")
+ version("6.1.11", sha256="feb9a88040e717e84c632e4b023904ab36a463fc9a8ff80c8c7f86454e5d8043")
+
+ depends_on("py-wheel@0.29:", type="build")
+
+ depends_on("py-setuptools@48:", type="build")
+ depends_on("py-setuptools-scm@4:5+toml", type="build")
+ depends_on("py-setuptools-scm-git-archive", type="build")
+
+ depends_on("py-markdown", type=("build", "run"))
+ depends_on("py-markdown-include@0.5.1:", type="run")
+ depends_on("py-md-environ", type=("build", "run"), when="@:6.1.8")
+ depends_on("py-python-markdown-math@0.8:0", type="run")
+ depends_on("py-toposort", type=("build", "run"))
+ depends_on("py-jinja2@2.1:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-beautifulsoup4@4.5.1:", type=("build", "run"))
+ depends_on("py-graphviz", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-formatizer/package.py b/var/spack/repos/builtin/packages/py-formatizer/package.py
index 1eebaf5d9a..1e31b49f2c 100644
--- a/var/spack/repos/builtin/packages/py-formatizer/package.py
+++ b/var/spack/repos/builtin/packages/py-formatizer/package.py
@@ -10,8 +10,8 @@ class PyFormatizer(PythonPackage):
"""Literal string formatting for Python versions older than 3.6."""
homepage = "https://github.com/fgimian/formatizer"
- pypi = "formatizer/formatizer-0.1.1.tar.gz"
+ pypi = "formatizer/formatizer-0.1.1.tar.gz"
- version('0.1.1', sha256='3061ced1daa08f1836b79f4a3de16a33a54179331273e0b9c757d27ab339c29f')
+ version("0.1.1", sha256="3061ced1daa08f1836b79f4a3de16a33a54179331273e0b9c757d27ab339c29f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-formulaic/package.py b/var/spack/repos/builtin/packages/py-formulaic/package.py
index 06ac7810fa..609d12a41f 100644
--- a/var/spack/repos/builtin/packages/py-formulaic/package.py
+++ b/var/spack/repos/builtin/packages/py-formulaic/package.py
@@ -13,14 +13,14 @@ class PyFormulaic(PythonPackage):
homepage = "https://github.com/matthewwardrop/formulaic"
pypi = "formulaic/formulaic-0.2.4.tar.gz"
- version('0.2.4', sha256='15b71ea8972fb451f80684203cddd49620fc9ed5c2e35f31e0874e9c41910d1a')
+ version("0.2.4", sha256="15b71ea8972fb451f80684203cddd49620fc9ed5c2e35f31e0874e9c41910d1a")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setupmeta', type='build')
- depends_on('py-astor', type=('build', 'run'))
- depends_on('py-interface-meta@1.2:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-wrapt', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setupmeta", type="build")
+ depends_on("py-astor", type=("build", "run"))
+ depends_on("py-interface-meta@1.2:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-wrapt", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fortran-language-server/package.py b/var/spack/repos/builtin/packages/py-fortran-language-server/package.py
index 1cae0f9f23..54e5b63c14 100644
--- a/var/spack/repos/builtin/packages/py-fortran-language-server/package.py
+++ b/var/spack/repos/builtin/packages/py-fortran-language-server/package.py
@@ -11,14 +11,14 @@ class PyFortranLanguageServer(PythonPackage):
(2.7+ or 3.0+)."""
homepage = "https://github.com/hansec/fortran-language-server"
- url = "https://github.com/hansec/fortran-language-server/archive/v1.11.1.tar.gz"
+ url = "https://github.com/hansec/fortran-language-server/archive/v1.11.1.tar.gz"
- maintainers = ['AndrewGaspar']
+ maintainers = ["AndrewGaspar"]
- version('1.12.0', sha256='5cda6341b1d2365cce3d80ba40043346c5dcbd0b35f636bfa57cb34df789ff17')
- version('1.11.1', sha256='8f03782dd992d6652a3f2d349115fdad3aa3464fee3fafbbc4f8ecf780166e3c')
+ version("1.12.0", sha256="5cda6341b1d2365cce3d80ba40043346c5dcbd0b35f636bfa57cb34df789ff17")
+ version("1.11.1", sha256="8f03782dd992d6652a3f2d349115fdad3aa3464fee3fafbbc4f8ecf780166e3c")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'), when='^python@:2')
- depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"), when="^python@:2")
+ depends_on("py-argparse", type=("build", "run"), when="^python@:2.6,3.0:3.1")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fortranformat/package.py b/var/spack/repos/builtin/packages/py-fortranformat/package.py
index 02ec5b97f6..fc35aa2338 100644
--- a/var/spack/repos/builtin/packages/py-fortranformat/package.py
+++ b/var/spack/repos/builtin/packages/py-fortranformat/package.py
@@ -12,7 +12,7 @@ class PyFortranformat(PythonPackage):
homepage = "http://bitbucket.org/brendanarnold/py-fortranformat"
pypi = "fortranformat/fortranformat-0.2.5.tar.gz"
- version('0.2.5', sha256='6b5fbc1f129c7a70543c3a81f334fb4d57f07df2834b22ce69f6d7e8539cd3f9')
+ version("0.2.5", sha256="6b5fbc1f129c7a70543c3a81f334fb4d57f07df2834b22ce69f6d7e8539cd3f9")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fparser/package.py b/var/spack/repos/builtin/packages/py-fparser/package.py
index f714259da8..d6e2d76db4 100644
--- a/var/spack/repos/builtin/packages/py-fparser/package.py
+++ b/var/spack/repos/builtin/packages/py-fparser/package.py
@@ -10,28 +10,28 @@ class PyFparser(PythonPackage):
"""Parser for Fortran 77..2003 code."""
homepage = "https://github.com/stfc/fparser"
- git = "https://github.com/stfc/fparser.git"
- pypi = "fparser/fparser-0.0.16.tar.gz"
+ git = "https://github.com/stfc/fparser.git"
+ pypi = "fparser/fparser-0.0.16.tar.gz"
- version('develop', branch='master')
- version('0.0.16', sha256='a06389b95a1b9ed12f8141b69c67343da5ba0a29277b2997b02573a93af14e13')
- version('0.0.6', sha256='bf8a419cb528df1bfc24ddd26d63f2ebea6f1e103f1a259d8d3a6c9b1cd53012')
- version('0.0.5', sha256='f3b5b0ac56fd22abed558c0fb0ba4f28edb8de7ef24cfda8ca8996562215822f')
+ version("develop", branch="master")
+ version("0.0.16", sha256="a06389b95a1b9ed12f8141b69c67343da5ba0a29277b2997b02573a93af14e13")
+ version("0.0.6", sha256="bf8a419cb528df1bfc24ddd26d63f2ebea6f1e103f1a259d8d3a6c9b1cd53012")
+ version("0.0.5", sha256="f3b5b0ac56fd22abed558c0fb0ba4f28edb8de7ef24cfda8ca8996562215822f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy', type=('build', 'run'), when='@:0.0.5')
- depends_on('py-nose', type=('build', 'run'), when='@:0.0.7')
+ depends_on("py-numpy", type=("build", "run"), when="@:0.0.5")
+ depends_on("py-nose", type=("build", "run"), when="@:0.0.7")
# six is unused as of 0.0.15, but still listed in setup.py
- depends_on('py-six', type=('build', 'run'), when='@0.0.6:')
+ depends_on("py-six", type=("build", "run"), when="@0.0.6:")
- depends_on('py-pytest', type='test')
+ depends_on("py-pytest", type="test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_build(self):
# Ensure that pytest.ini exists inside the source tree,
# otherwise an external pytest.ini can cause havoc:
- touch('pytest.ini')
- with working_dir('src'):
- Executable('py.test')()
+ touch("pytest.ini")
+ with working_dir("src"):
+ Executable("py.test")()
diff --git a/var/spack/repos/builtin/packages/py-fprettify/package.py b/var/spack/repos/builtin/packages/py-fprettify/package.py
index ba170e6af1..aed57b3470 100644
--- a/var/spack/repos/builtin/packages/py-fprettify/package.py
+++ b/var/spack/repos/builtin/packages/py-fprettify/package.py
@@ -14,7 +14,7 @@ class PyFprettify(PythonPackage):
homepage = "https://github.com/pseewald/fprettify"
pypi = "fprettify/fprettify-0.3.6.tar.gz"
- version('0.3.6', sha256='5ee954763eba2bc54ee7444c1f592944f1c1933223bb0c07957d60d44f7f0b75')
+ version("0.3.6", sha256="5ee954763eba2bc54ee7444c1f592944f1c1933223bb0c07957d60d44f7f0b75")
- depends_on('py-setuptools', type='build')
- depends_on('py-configargparse', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-configargparse", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fracridge/package.py b/var/spack/repos/builtin/packages/py-fracridge/package.py
index efacc18bad..9c49ec32ce 100644
--- a/var/spack/repos/builtin/packages/py-fracridge/package.py
+++ b/var/spack/repos/builtin/packages/py-fracridge/package.py
@@ -10,14 +10,14 @@ class PyFracridge(PythonPackage):
"""Fractional Ridge Regression."""
homepage = "https://nrdg.github.io/fracridge"
- pypi = "fracridge/fracridge-1.4.3.tar.gz"
+ pypi = "fracridge/fracridge-1.4.3.tar.gz"
- version('1.4.3', sha256='0446d486f00fea02110567fd9df14b8b2a7b155dc72700af9201873ea11c27cc')
+ version("1.4.3", sha256="0446d486f00fea02110567fd9df14b8b2a7b155dc72700af9201873ea11c27cc")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.23.2', type=('build', 'run'))
- depends_on('py-numba', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.23.2", type=("build", "run"))
+ depends_on("py-numba", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-freezegun/package.py b/var/spack/repos/builtin/packages/py-freezegun/package.py
index dfcd94996d..efd1da67dd 100644
--- a/var/spack/repos/builtin/packages/py-freezegun/package.py
+++ b/var/spack/repos/builtin/packages/py-freezegun/package.py
@@ -13,9 +13,9 @@ class PyFreezegun(PythonPackage):
homepage = "https://github.com/spulec/freezegun"
pypi = "freezegun/freezegun-0.3.12.tar.gz"
- version('0.3.12', sha256='2a4d9c8cd3c04a201e20c313caf8b6338f1cfa4cda43f46a94cc4a9fd13ea5e7')
+ version("0.3.12", sha256="2a4d9c8cd3c04a201e20c313caf8b6338f1cfa4cda43f46a94cc4a9fd13ea5e7")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-python-dateutil@1.0:1', type=('build', 'run'), when='^python@:2')
- depends_on('py-python-dateutil@2:', type=('build', 'run'), when='^python@3:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-python-dateutil@1.0:1", type=("build", "run"), when="^python@:2")
+ depends_on("py-python-dateutil@2:", type=("build", "run"), when="^python@3:")
diff --git a/var/spack/repos/builtin/packages/py-frozenlist/package.py b/var/spack/repos/builtin/packages/py-frozenlist/package.py
index 0672302786..69fea5c60f 100644
--- a/var/spack/repos/builtin/packages/py-frozenlist/package.py
+++ b/var/spack/repos/builtin/packages/py-frozenlist/package.py
@@ -11,10 +11,10 @@ class PyFrozenlist(PythonPackage):
"""A list-like structure which implements collections.abc.MutableSequence."""
homepage = "https://github.com/aio-libs/frozenlist"
- pypi = "frozenlist/frozenlist-1.2.0.tar.gz"
+ pypi = "frozenlist/frozenlist-1.2.0.tar.gz"
- version('1.3.0', sha256='ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b')
- version('1.2.0', sha256='68201be60ac56aff972dc18085800b6ee07973c49103a8aba669dee3d71079de')
+ version("1.3.0", sha256="ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b")
+ version("1.2.0", sha256="68201be60ac56aff972dc18085800b6ee07973c49103a8aba669dee3d71079de")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fs/package.py b/var/spack/repos/builtin/packages/py-fs/package.py
index d21cd80691..d77a93e7af 100644
--- a/var/spack/repos/builtin/packages/py-fs/package.py
+++ b/var/spack/repos/builtin/packages/py-fs/package.py
@@ -10,16 +10,16 @@ class PyFs(PythonPackage):
"""Python's filesystem abstraction layer"""
homepage = "https://github.com/PyFilesystem/pyfilesystem2"
- pypi = "fs/fs-2.4.14.tar.gz"
+ pypi = "fs/fs-2.4.14.tar.gz"
- version('2.4.14', sha256='9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c')
- version('0.5.4', sha256='ba2cca8773435a7c86059d57cb4b8ea30fda40f8610941f7822d1ce3ffd36197')
+ version("2.4.14", sha256="9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c")
+ version("0.5.4", sha256="ba2cca8773435a7c86059d57cb4b8ea30fda40f8610941f7822d1ce3ffd36197")
- depends_on('py-setuptools@38.3.0:', type='build')
- depends_on('py-setuptools@:57', type='build', when='@:0')
- depends_on('py-appdirs@1.4.3:1.4', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-six@1.10:1', type=('build', 'run'))
- depends_on('py-enum34@1.1.6:1.1', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-typing@3.6:3', type=('build', 'run'), when='^python@:3.5')
- depends_on('py-backports-os@0.1:0', type=('build', 'run'), when='^python@:2')
+ depends_on("py-setuptools@38.3.0:", type="build")
+ depends_on("py-setuptools@:57", type="build", when="@:0")
+ depends_on("py-appdirs@1.4.3:1.4", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-six@1.10:1", type=("build", "run"))
+ depends_on("py-enum34@1.1.6:1.1", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-typing@3.6:3", type=("build", "run"), when="^python@:3.5")
+ depends_on("py-backports-os@0.1:0", type=("build", "run"), when="^python@:2")
diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py
index da07207a3f..d215e9eeb3 100644
--- a/var/spack/repos/builtin/packages/py-fsspec/package.py
+++ b/var/spack/repos/builtin/packages/py-fsspec/package.py
@@ -12,19 +12,19 @@ class PyFsspec(PythonPackage):
homepage = "https://github.com/intake/filesystem_spec"
pypi = "fsspec/fsspec-0.4.4.tar.gz"
- 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')
-
- variant('http', default=False, description='HTTPFileSystem support (Requires version 0.8.1+)')
-
- conflicts('+http', when='@:0.8.0', msg='Only available in 0.8.1+')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@0.6.3:')
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'), when='+http')
- depends_on('py-aiohttp', type=('build', 'run'), when='+http')
+ 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")
+
+ variant("http", default=False, description="HTTPFileSystem support (Requires version 0.8.1+)")
+
+ conflicts("+http", when="@:0.8.0", msg="Only available in 0.8.1+")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@0.6.3:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"), when="+http")
+ depends_on("py-aiohttp", type=("build", "run"), when="+http")
diff --git a/var/spack/repos/builtin/packages/py-ftfy/package.py b/var/spack/repos/builtin/packages/py-ftfy/package.py
index b7ab70eb33..2714aeb760 100644
--- a/var/spack/repos/builtin/packages/py-ftfy/package.py
+++ b/var/spack/repos/builtin/packages/py-ftfy/package.py
@@ -11,14 +11,14 @@ class PyFtfy(PythonPackage):
"""Fixes Unicode that's broken in various ways."""
homepage = "https://ftfy.readthedocs.io"
- pypi = "ftfy/ftfy-5.8.tar.gz"
+ pypi = "ftfy/ftfy-5.8.tar.gz"
- version('6.0.3', sha256='ba71121a9c8d7790d3e833c6c1021143f3e5c4118293ec3afb5d43ed9ca8e72b')
- version('5.8', sha256='51c7767f8c4b47d291fcef30b9625fb5341c06a31e6a3b627039c706c42f3720')
- version('4.4.3', sha256='3c0066db64a98436e751e56414f03f1cdea54f29364c0632c141c36cca6a5d94')
+ version("6.0.3", sha256="ba71121a9c8d7790d3e833c6c1021143f3e5c4118293ec3afb5d43ed9ca8e72b")
+ version("5.8", sha256="51c7767f8c4b47d291fcef30b9625fb5341c06a31e6a3b627039c706c42f3720")
+ version("4.4.3", sha256="3c0066db64a98436e751e56414f03f1cdea54f29364c0632c141c36cca6a5d94")
- depends_on('python@3.6:', type=('build', 'run'), when='@6:')
- depends_on('python@3.5:', type=('build', 'run'), when='@5:')
- depends_on('py-setuptools', type='build')
- depends_on('py-html5lib', when='@:4', type=('build', 'run'))
- depends_on('py-wcwidth', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"), when="@6:")
+ depends_on("python@3.5:", type=("build", "run"), when="@5:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-html5lib", when="@:4", type=("build", "run"))
+ depends_on("py-wcwidth", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-funcsigs/package.py b/var/spack/repos/builtin/packages/py-funcsigs/package.py
index 976e11e705..3e798349da 100644
--- a/var/spack/repos/builtin/packages/py-funcsigs/package.py
+++ b/var/spack/repos/builtin/packages/py-funcsigs/package.py
@@ -11,7 +11,7 @@ class PyFuncsigs(PythonPackage):
pypi = "funcsigs/funcsigs-1.0.2.tar.gz"
- version('1.0.2', sha256='a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50')
- version('0.4', sha256='d83ce6df0b0ea6618700fe1db353526391a8a3ada1b7aba52fed7a61da772033')
+ version("1.0.2", sha256="a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50")
+ version("0.4", sha256="d83ce6df0b0ea6618700fe1db353526391a8a3ada1b7aba52fed7a61da772033")
- depends_on('py-setuptools@17.1:', type='build')
+ depends_on("py-setuptools@17.1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-functools32/package.py b/var/spack/repos/builtin/packages/py-functools32/package.py
index aacfe1cf62..dd8bdb9d51 100644
--- a/var/spack/repos/builtin/packages/py-functools32/package.py
+++ b/var/spack/repos/builtin/packages/py-functools32/package.py
@@ -13,7 +13,7 @@ class PyFunctools32(PythonPackage):
homepage = "https://github.com/MiCHiLU/python-functools32"
pypi = "functools32/functools32-3.2.3-2.tar.gz"
- version('3.2.3-2', sha256='f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d')
+ version("3.2.3-2", sha256="f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-funcy/package.py b/var/spack/repos/builtin/packages/py-funcy/package.py
index c26c474fd6..49e8cc949d 100644
--- a/var/spack/repos/builtin/packages/py-funcy/package.py
+++ b/var/spack/repos/builtin/packages/py-funcy/package.py
@@ -10,10 +10,10 @@ class PyFuncy(PythonPackage):
"""A collection of fancy functional tools focused on practicality"""
homepage = "https://funcy.readthedocs.io"
- pypi = "funcy/funcy-1.15.tar.gz"
+ pypi = "funcy/funcy-1.15.tar.gz"
- version('1.15', sha256='65b746fed572b392d886810a98d56939c6e0d545abb750527a717c21ced21008')
- version('1.14', sha256='75ee84c3b446f92e68a857c2267b15a1b49c631c9d5a87a5f063cd2d6761a5c4')
+ version("1.15", sha256="65b746fed572b392d886810a98d56939c6e0d545abb750527a717c21ced21008")
+ version("1.14", sha256="75ee84c3b446f92e68a857c2267b15a1b49c631c9d5a87a5f063cd2d6761a5c4")
- depends_on('python@2.7.0:2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7.0:2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-fury/package.py b/var/spack/repos/builtin/packages/py-fury/package.py
index b51cd39866..07bc8d02be 100644
--- a/var/spack/repos/builtin/packages/py-fury/package.py
+++ b/var/spack/repos/builtin/packages/py-fury/package.py
@@ -10,30 +10,33 @@ class PyFury(PythonPackage):
"""Free Unified Rendering in Python."""
homepage = "https://github.com/fury-gl/fury"
- pypi = "fury/fury-0.7.1.tar.gz"
+ pypi = "fury/fury-0.7.1.tar.gz"
- version('0.7.1', sha256='bc7bdbdf1632f317f40c717c2f34a6b8424ce5abda3ebda31a058c0b725a316a')
+ version("0.7.1", sha256="bc7bdbdf1632f317f40c717c2f34a6b8424ce5abda3ebda31a058c0b725a316a")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7.1:', type=('build', 'run'))
- depends_on('py-scipy@1.2:', type=('build', 'run')) # from requirements/default.txt
- depends_on('vtk+python@8.1.2:8,9.0.1:', type=('build', 'run'))
- depends_on('pil@5.4.1:', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7.1:", type=("build", "run"))
+ depends_on("py-scipy@1.2:", type=("build", "run")) # from requirements/default.txt
+ depends_on("vtk+python@8.1.2:8,9.0.1:", type=("build", "run"))
+ depends_on("pil@5.4.1:", type=("build", "run"))
- depends_on('py-codecov', type='test')
- depends_on('py-coverage', type='test')
- depends_on('py-flake8', type='test')
- depends_on('py-pytest', type='test')
+ depends_on("py-codecov", type="test")
+ depends_on("py-coverage", type="test")
+ depends_on("py-flake8", type="test")
+ depends_on("py-pytest", type="test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('spack-test', create=True):
- pytest = which('pytest')
- pytest(join_path(python_purelib, 'fury'),
- # 'Some warning' is not propagated to __warningregistry__ so
- # that the test fails, disable it for now
- # running all tests manually after the package is installed
- # works
- '-k', 'not test_clear_and_catch_warnings')
+ with working_dir("spack-test", create=True):
+ pytest = which("pytest")
+ pytest(
+ join_path(python_purelib, "fury"),
+ # 'Some warning' is not propagated to __warningregistry__ so
+ # that the test fails, disable it for now
+ # running all tests manually after the package is installed
+ # works
+ "-k",
+ "not test_clear_and_catch_warnings",
+ )
diff --git a/var/spack/repos/builtin/packages/py-fusepy/package.py b/var/spack/repos/builtin/packages/py-fusepy/package.py
index 172015fb3d..e319a70b7a 100644
--- a/var/spack/repos/builtin/packages/py-fusepy/package.py
+++ b/var/spack/repos/builtin/packages/py-fusepy/package.py
@@ -13,8 +13,8 @@ class PyFusepy(PythonPackage):
homepage = "https://github.com/fusepy/fusepy"
pypi = "fusepy/fusepy-3.0.1.tar.gz"
- version('3.0.1', sha256='72ff783ec2f43de3ab394e3f7457605bf04c8cf288a2f4068b4cde141d4ee6bd')
- version('2.0.4', sha256='10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86a838ff49cdaf6c')
+ version("3.0.1", sha256="72ff783ec2f43de3ab394e3f7457605bf04c8cf288a2f4068b4cde141d4ee6bd")
+ version("2.0.4", sha256="10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86a838ff49cdaf6c")
- depends_on('py-setuptools', type='build')
- depends_on('fuse@2.6:')
+ depends_on("py-setuptools", type="build")
+ depends_on("fuse@2.6:")
diff --git a/var/spack/repos/builtin/packages/py-future/package.py b/var/spack/repos/builtin/packages/py-future/package.py
index 6a8bb1c062..8e21bdd447 100644
--- a/var/spack/repos/builtin/packages/py-future/package.py
+++ b/var/spack/repos/builtin/packages/py-future/package.py
@@ -12,38 +12,66 @@ class PyFuture(PythonPackage):
homepage = "https://python-future.org/"
pypi = "future/future-0.18.2.tar.gz"
- version('0.18.2', sha256='b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d')
- version('0.17.1', sha256='67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8')
- version('0.17.0', sha256='eb6d4df04f1fb538c99f69c9a28b255d1ee4e825d479b9c62fc38c0cf38065a4')
- version('0.16.0', sha256='e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb')
- version('0.15.2', sha256='3d3b193f20ca62ba7d8782589922878820d0a023b885882deec830adbf639b97')
+ version("0.18.2", sha256="b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d")
+ version("0.17.1", sha256="67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8")
+ version("0.17.0", sha256="eb6d4df04f1fb538c99f69c9a28b255d1ee4e825d479b9c62fc38c0cf38065a4")
+ version("0.16.0", sha256="e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb")
+ version("0.15.2", sha256="3d3b193f20ca62ba7d8782589922878820d0a023b885882deec830adbf639b97")
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-argparse", type=("build", "run"), when="^python@:2.6,3.0:3.1")
@property
def import_modules(self):
modules = [
- 'copyreg', '_thread', 'past', 'past.types', 'past.translation',
- 'past.utils', 'past.builtins', 'reprlib', 'html', 'builtins',
- 'http', '_dummy_thread', 'queue', 'xmlrpc', 'libfuturize',
- 'libfuturize.fixes', 'future', 'future.moves', 'future.moves.test',
- 'future.moves.urllib', 'future.moves.html', 'future.moves.http',
- 'future.moves.dbm', 'future.moves.xmlrpc', 'future.types',
- 'future.tests', 'future.utils', 'future.builtins',
- 'future.backports', 'future.backports.test',
- 'future.backports.urllib', 'future.backports.html',
- 'future.backports.http', 'future.backports.xmlrpc',
- 'future.backports.email', 'future.backports.email.mime',
- 'future.standard_library', 'libpasteurize', 'libpasteurize.fixes',
- 'socketserver', '_markupbase'
+ "copyreg",
+ "_thread",
+ "past",
+ "past.types",
+ "past.translation",
+ "past.utils",
+ "past.builtins",
+ "reprlib",
+ "html",
+ "builtins",
+ "http",
+ "_dummy_thread",
+ "queue",
+ "xmlrpc",
+ "libfuturize",
+ "libfuturize.fixes",
+ "future",
+ "future.moves",
+ "future.moves.test",
+ "future.moves.urllib",
+ "future.moves.html",
+ "future.moves.http",
+ "future.moves.dbm",
+ "future.moves.xmlrpc",
+ "future.types",
+ "future.tests",
+ "future.utils",
+ "future.builtins",
+ "future.backports",
+ "future.backports.test",
+ "future.backports.urllib",
+ "future.backports.html",
+ "future.backports.http",
+ "future.backports.xmlrpc",
+ "future.backports.email",
+ "future.backports.email.mime",
+ "future.standard_library",
+ "libpasteurize",
+ "libpasteurize.fixes",
+ "socketserver",
+ "_markupbase",
]
- if 'platform=windows' in self.spec:
- modules.append('winreg')
+ if "platform=windows" in self.spec:
+ modules.append("winreg")
- if '+tkinter' in self.spec['python']:
- modules.extend(['tkinter', 'future.moves.tkinter'])
+ if "+tkinter" in self.spec["python"]:
+ modules.extend(["tkinter", "future.moves.tkinter"])
return modules
diff --git a/var/spack/repos/builtin/packages/py-futures/package.py b/var/spack/repos/builtin/packages/py-futures/package.py
index e6ea700ab3..81dad1bb8e 100644
--- a/var/spack/repos/builtin/packages/py-futures/package.py
+++ b/var/spack/repos/builtin/packages/py-futures/package.py
@@ -11,9 +11,9 @@ class PyFutures(PythonPackage):
pypi = "futures/futures-3.0.5.tar.gz"
- version('3.3.0', sha256='7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794')
- version('3.2.0', sha256='9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265')
- version('3.0.5', sha256='0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df')
+ version("3.3.0", sha256="7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794")
+ version("3.2.0", sha256="9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265")
+ version("3.0.5", sha256="0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('python@2.6:2.8', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("python@2.6:2.8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fuzzywuzzy/package.py b/var/spack/repos/builtin/packages/py-fuzzywuzzy/package.py
index 2175f663a9..5b9aed3c11 100644
--- a/var/spack/repos/builtin/packages/py-fuzzywuzzy/package.py
+++ b/var/spack/repos/builtin/packages/py-fuzzywuzzy/package.py
@@ -10,12 +10,12 @@ class PyFuzzywuzzy(PythonPackage):
"""Fuzzy string matching in python."""
homepage = "https://github.com/seatgeek/fuzzywuzzy"
- pypi = "fuzzywuzzy/fuzzywuzzy-0.18.0.tar.gz"
+ pypi = "fuzzywuzzy/fuzzywuzzy-0.18.0.tar.gz"
- version('0.18.0', sha256='45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8')
+ version("0.18.0", sha256="45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8")
- variant('speedup', default=False, description='Provide a 4-10x speedup')
+ variant("speedup", default=False, description="Provide a 4-10x speedup")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-levenshtein@0.12:', when='+speedup', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-levenshtein@0.12:", when="+speedup", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fypp/package.py b/var/spack/repos/builtin/packages/py-fypp/package.py
index 68273242f4..4bf75f3065 100644
--- a/var/spack/repos/builtin/packages/py-fypp/package.py
+++ b/var/spack/repos/builtin/packages/py-fypp/package.py
@@ -10,8 +10,8 @@ class PyFypp(PythonPackage):
"""Python powered Fortran preprocessor."""
homepage = "https://github.com/aradi/fypp"
- url = "https://github.com/aradi/fypp/archive/2.1.1.zip"
+ url = "https://github.com/aradi/fypp/archive/2.1.1.zip"
- version('2.1.1', sha256='3744ad17045e91466bbb75a33ce0cab0f65bc2c377127067a932cdf15655e049')
+ version("2.1.1", sha256="3744ad17045e91466bbb75a33ce0cab0f65bc2c377127067a932cdf15655e049")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-gast/package.py b/var/spack/repos/builtin/packages/py-gast/package.py
index 35a6c52cf7..5b5cd2efbc 100644
--- a/var/spack/repos/builtin/packages/py-gast/package.py
+++ b/var/spack/repos/builtin/packages/py-gast/package.py
@@ -12,15 +12,15 @@ class PyGast(PythonPackage):
homepage = "https://github.com/serge-sans-paille/gast"
pypi = "gast/gast-0.3.2.tar.gz"
- version('0.5.3', sha256='cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea')
- version('0.5.2', sha256='f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7')
- version('0.5.1', sha256='b00e63584db482ffe6107b5832042bbe5c5bf856e3c7279b6e93201b3dcfcb46')
- version('0.5.0', sha256='8109cbe7aa0f7bf7e4348379da05b8137ea1f059f073332c3c1cedd57db8541f')
- version('0.4.0', sha256='40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1')
- version('0.3.3', sha256='b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57')
- version('0.3.2', sha256='5c7617f1f6c8b8b426819642b16b9016727ddaecd16af9a07753e537eba8a3a5')
- version('0.2.2', sha256='fe939df4583692f0512161ec1c880e0a10e71e6a232da045ab8edd3756fbadf0')
- version('0.2.0', sha256='7068908321ecd2774f145193c4b34a11305bd104b4551b09273dfd1d6a374930')
+ version("0.5.3", sha256="cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea")
+ 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")
+ version("0.3.2", sha256="5c7617f1f6c8b8b426819642b16b9016727ddaecd16af9a07753e537eba8a3a5")
+ version("0.2.2", sha256="fe939df4583692f0512161ec1c880e0a10e71e6a232da045ab8edd3756fbadf0")
+ version("0.2.0", sha256="7068908321ecd2774f145193c4b34a11305bd104b4551b09273dfd1d6a374930")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gcovr/package.py b/var/spack/repos/builtin/packages/py-gcovr/package.py
index e280f1f53f..5fb58361d3 100644
--- a/var/spack/repos/builtin/packages/py-gcovr/package.py
+++ b/var/spack/repos/builtin/packages/py-gcovr/package.py
@@ -15,9 +15,9 @@ class PyGcovr(PythonPackage):
homepage = "https://gcovr.com/"
pypi = "gcovr/gcovr-4.2.tar.gz"
- version('4.2', sha256='5aae34dc81e51600cfecbbbce3c3a80ce3f7548bc0aa1faa4b74ecd18f6fca3f')
+ version("4.2", sha256="5aae34dc81e51600cfecbbbce3c3a80ce3f7548bc0aa1faa4b74ecd18f6fca3f")
- depends_on('python@2.7:,3.5:', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-lxml', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@2.7:,3.5:", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-lxml", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gcs-oauth2-boto-plugin/package.py b/var/spack/repos/builtin/packages/py-gcs-oauth2-boto-plugin/package.py
index 0cefd8896d..3ce81530f8 100644
--- a/var/spack/repos/builtin/packages/py-gcs-oauth2-boto-plugin/package.py
+++ b/var/spack/repos/builtin/packages/py-gcs-oauth2-boto-plugin/package.py
@@ -11,19 +11,19 @@ class PyGcsOauth2BotoPlugin(PythonPackage):
for Google Cloud Storage in the Boto library."""
homepage = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin"
- pypi = "gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.tar.gz"
+ pypi = "gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.7', sha256='c95b011717911a6c40fbd3aa07a8faa0ab57570dee178d7148531327c4c6f93e')
+ version("2.7", sha256="c95b011717911a6c40fbd3aa07a8faa0ab57570dee178d7148531327c4c6f93e")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-rsa@:4.0', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-boto@2.29.1:', type=('build', 'run'))
- depends_on('py-google-auth@0.1.0:', type=('build', 'run'))
- depends_on('py-httplib2@0.18:', type=('build', 'run'))
- depends_on('py-oauth2client@2.2.0:', type=('build', 'run'))
- depends_on('py-pyopenssl@0.13:', type=('build', 'run'))
- depends_on('py-retry-decorator@1.0.0:', type=('build', 'run'))
- depends_on('py-six@1.12.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-rsa@:4.0", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-boto@2.29.1:", type=("build", "run"))
+ depends_on("py-google-auth@0.1.0:", type=("build", "run"))
+ depends_on("py-httplib2@0.18:", type=("build", "run"))
+ depends_on("py-oauth2client@2.2.0:", type=("build", "run"))
+ depends_on("py-pyopenssl@0.13:", type=("build", "run"))
+ depends_on("py-retry-decorator@1.0.0:", type=("build", "run"))
+ depends_on("py-six@1.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gdbgui/package.py b/var/spack/repos/builtin/packages/py-gdbgui/package.py
index 965571a3cb..80e17a45a1 100644
--- a/var/spack/repos/builtin/packages/py-gdbgui/package.py
+++ b/var/spack/repos/builtin/packages/py-gdbgui/package.py
@@ -12,15 +12,15 @@ class PyGdbgui(PythonPackage):
homepage = "https://gdbgui.com"
pypi = "gdbgui/gdbgui-0.11.2.1.tar.gz"
- version('0.13.2.0', sha256='80e347a08b8cc630ab9f68482a1ed92c844fbfde46dc21fd39f3e6ef14b72e54')
- version('0.11.2.1', sha256='280945a37414c31a798f68f70c1bffbedd12dfb0ce77418357e7d42b667491c7')
+ version("0.13.2.0", sha256="80e347a08b8cc630ab9f68482a1ed92c844fbfde46dc21fd39f3e6ef14b72e54")
+ version("0.11.2.1", sha256="280945a37414c31a798f68f70c1bffbedd12dfb0ce77418357e7d42b667491c7")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-flask@0.12.2:0', type=('build', 'run'))
- depends_on('py-flask-compress@1.4.0:1', type=('build', 'run'))
- depends_on('py-flask-socketio@2.9.3:2', type=('build', 'run'))
- depends_on('py-gevent@1.2.2:1', type=('build', 'run'))
- depends_on('py-pygdbmi@0.9.0.0:0', type=('build', 'run'), when='@0.13.1.1:')
- depends_on('py-pygdbmi@0.8.2.0:0.8', type=('build', 'run'), when='@:0.13.0.0')
- depends_on('py-pygments@2.2.0:2', type=('build', 'run'))
- depends_on('gdb', type='run')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-flask@0.12.2:0", type=("build", "run"))
+ depends_on("py-flask-compress@1.4.0:1", type=("build", "run"))
+ depends_on("py-flask-socketio@2.9.3:2", type=("build", "run"))
+ depends_on("py-gevent@1.2.2:1", type=("build", "run"))
+ depends_on("py-pygdbmi@0.9.0.0:0", type=("build", "run"), when="@0.13.1.1:")
+ depends_on("py-pygdbmi@0.8.2.0:0.8", type=("build", "run"), when="@:0.13.0.0")
+ depends_on("py-pygments@2.2.0:2", type=("build", "run"))
+ depends_on("gdb", type="run")
diff --git a/var/spack/repos/builtin/packages/py-gdc-client/package.py b/var/spack/repos/builtin/packages/py-gdc-client/package.py
index 36a221a34b..fb09bd5680 100644
--- a/var/spack/repos/builtin/packages/py-gdc-client/package.py
+++ b/var/spack/repos/builtin/packages/py-gdc-client/package.py
@@ -11,8 +11,8 @@ class PyGdcClient(PythonPackage):
over the GDC API which provides general download/upload via HTTPS."""
homepage = "https://github.com/NCI-GDC/gdc-client"
- url = "https://github.com/NCI-GDC/gdc-client/archive/1.4.0.tar.gz"
+ url = "https://github.com/NCI-GDC/gdc-client/archive/1.4.0.tar.gz"
- version('1.4.0', sha256='3ae6664f9666c75ffbf3c883409cfa51333f61d23b7aa99010925a084b4c9582')
+ version("1.4.0", sha256="3ae6664f9666c75ffbf3c883409cfa51333f61d23b7aa99010925a084b4c9582")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py b/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
index 7e38425ecd..122943b60c 100644
--- a/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
+++ b/var/spack/repos/builtin/packages/py-gee-asset-manager/package.py
@@ -10,17 +10,17 @@ class PyGeeAssetManager(PythonPackage):
"""Google Earth Engine Batch Asset Manager."""
homepage = "https://github.com/tracek/gee_asset_manager"
- url = "https://github.com/tracek/gee_asset_manager/archive/0.1.tar.gz"
- git = "https://github.com/tracek/gee_asset_manager.git"
+ url = "https://github.com/tracek/gee_asset_manager/archive/0.1.tar.gz"
+ git = "https://github.com/tracek/gee_asset_manager.git"
- version('master', branch='master')
- version('0.1', sha256='0d3345855352354d8b84188705a09a35c21af2b753cda5c688ffb2e3a454ee23')
+ version("master", branch="master")
+ version("0.1", sha256="0d3345855352354d8b84188705a09a35c21af2b753cda5c688ffb2e3a454ee23")
- depends_on('py-setuptools', type='build')
- depends_on('py-earthengine-api@0.1.87:', type=('build', 'run'))
- depends_on('py-requests@2.10.0:', type=('build', 'run'))
- depends_on('py-retrying@1.3.3:', type=('build', 'run'))
- depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.7.0:', type=('build', 'run'))
- depends_on('py-future@0.16.0:', type=('build', 'run'))
- depends_on('py-google-cloud-storage@1.1.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-earthengine-api@0.1.87:", type=("build", "run"))
+ depends_on("py-requests@2.10.0:", type=("build", "run"))
+ depends_on("py-retrying@1.3.3:", type=("build", "run"))
+ depends_on("py-beautifulsoup4@4.5.1:", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.7.0:", type=("build", "run"))
+ depends_on("py-future@0.16.0:", type=("build", "run"))
+ depends_on("py-google-cloud-storage@1.1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-geeadd/package.py b/var/spack/repos/builtin/packages/py-geeadd/package.py
index 45d8017609..9a986c07d7 100644
--- a/var/spack/repos/builtin/packages/py-geeadd/package.py
+++ b/var/spack/repos/builtin/packages/py-geeadd/package.py
@@ -12,16 +12,16 @@ class PyGeeadd(PythonPackage):
homepage = "https://github.com/samapriya/gee_asset_manager_addon"
pypi = "geeadd/geeadd-0.3.0.tar.gz"
- version('0.3.0', sha256='591e6ff2847122598ed5b0452a892a76e332ce227d4ba75e4d03eca2c7a4beea')
+ version("0.3.0", sha256="591e6ff2847122598ed5b0452a892a76e332ce227d4ba75e4d03eca2c7a4beea")
- depends_on('py-setuptools', type='build')
- depends_on('py-earthengine-api@0.1.87:', type=('build', 'run'))
- depends_on('py-requests@2.10.0:', type=('build', 'run'))
- depends_on('py-poster@0.8.1:', type=('build', 'run'))
- depends_on('py-retrying@1.3.3:', type=('build', 'run'))
- depends_on('py-clipboard@0.0.4:', type=('build', 'run'))
- depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.7.0:', type=('build', 'run'))
- depends_on('py-future@0.16.0:', type=('build', 'run'))
- depends_on('py-google-cloud-storage@1.1.1:', type=('build', 'run'))
- depends_on('py-oauth2client@4.1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-earthengine-api@0.1.87:", type=("build", "run"))
+ depends_on("py-requests@2.10.0:", type=("build", "run"))
+ depends_on("py-poster@0.8.1:", type=("build", "run"))
+ depends_on("py-retrying@1.3.3:", type=("build", "run"))
+ depends_on("py-clipboard@0.0.4:", type=("build", "run"))
+ depends_on("py-beautifulsoup4@4.5.1:", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.7.0:", type=("build", "run"))
+ depends_on("py-future@0.16.0:", type=("build", "run"))
+ depends_on("py-google-cloud-storage@1.1.1:", type=("build", "run"))
+ depends_on("py-oauth2client@4.1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-geeup/package.py b/var/spack/repos/builtin/packages/py-geeup/package.py
index 00dfc47a14..42b0f9f345 100644
--- a/var/spack/repos/builtin/packages/py-geeup/package.py
+++ b/var/spack/repos/builtin/packages/py-geeup/package.py
@@ -12,23 +12,23 @@ class PyGeeup(PythonPackage):
homepage = "https://github.com/samapriya/geeup"
pypi = "geeup/geeup-0.2.4.tar.gz"
- version('0.2.4', sha256='20f62306ea900d7fa28a97cc92204716212dc030c50a6ac8214772a61a1a83fe')
+ version("0.2.4", sha256="20f62306ea900d7fa28a97cc92204716212dc030c50a6ac8214772a61a1a83fe")
- depends_on('py-setuptools@38.3.0:', type='build')
- depends_on('py-earthengine-api@0.1.87:', type=('build', 'run'))
- depends_on('py-requests@2.10.0:', type=('build', 'run'))
- depends_on('py-retrying@1.3.3:', type=('build', 'run'))
- depends_on('py-beautifulsoup4@4.5.1:', type=('build', 'run'))
- depends_on('py-pandas@0.23.0:', type=('build', 'run'))
- depends_on('py-psutil@5.4.5:', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.7.0:', type=('build', 'run'))
- depends_on('py-pytest@3.0.0:', type=('build', 'run'))
- depends_on('py-future@0.16.0:', type=('build', 'run'))
- depends_on('py-google-cloud-storage@1.1.1:', type=('build', 'run'))
- depends_on('py-selenium@3.13.0:', type=('build', 'run'))
- 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:', 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'))
+ depends_on("py-setuptools@38.3.0:", type="build")
+ depends_on("py-earthengine-api@0.1.87:", type=("build", "run"))
+ depends_on("py-requests@2.10.0:", type=("build", "run"))
+ depends_on("py-retrying@1.3.3:", type=("build", "run"))
+ depends_on("py-beautifulsoup4@4.5.1:", type=("build", "run"))
+ depends_on("py-pandas@0.23.0:", type=("build", "run"))
+ depends_on("py-psutil@5.4.5:", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.7.0:", type=("build", "run"))
+ depends_on("py-pytest@3.0.0:", type=("build", "run"))
+ depends_on("py-future@0.16.0:", type=("build", "run"))
+ depends_on("py-google-cloud-storage@1.1.1:", type=("build", "run"))
+ depends_on("py-selenium@3.13.0:", type=("build", "run"))
+ 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:", 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-gemini/package.py b/var/spack/repos/builtin/packages/py-gemini/package.py
index 028377e838..2c87ac36ff 100644
--- a/var/spack/repos/builtin/packages/py-gemini/package.py
+++ b/var/spack/repos/builtin/packages/py-gemini/package.py
@@ -13,46 +13,46 @@ class PyGemini(PythonPackage):
"""
homepage = "https://gemini.readthedocs.org"
- url = "https://github.com/arq5x/gemini/archive/v0.30.2.tar.gz"
-
- maintainers = ['robqiao']
-
- version('0.30.2', sha256='c7af06a4cc475a846aeeb3cd7fcfb39d6cdd0b76e3b07abab2e5e6e68a3fe431')
- version('0.30.1', sha256='af835ca33bc6d7865def2467c34cb1d539ec542f9514044435bd2252b25a046d')
- version('0.30.0', sha256='a55d0c77342bf650f7e1300cb6ba485407ea3b42f4137a5197248d397a026030')
- version('0.20.1', sha256='cd84aa45ace7a9ffb13ba4176122eab5b9fcc0445b1c0944ecec017f88f2b7f1')
- version('0.20.0', sha256='640b40186fa00f54c1a0cdfab3fc3076b1d3bdf5c6327fcb2a0c51aa1b05878b')
- version('0.19.1', sha256='1154bcb48b1bc78819c5a5e710f5cb0747b01fa0f3113e6081a5a2747c8703e5')
- version('0.19.0', sha256='5146d1b5ed52139c50473aa3625d8df29f2db6d198cfd2c966469e7d585cccf2')
- version('0.18.3', sha256='7c2f99069385547c656021fbb43e0bae4f9fb8a56ad3f6a61235b44fbc1ba6eb')
- version('0.18.2', sha256='cf8a83d48d966a800aa2569076d52c307f4d8264a6ae804c176d61e705c0017e')
- version('0.18.1', sha256='1d3d3b9d47555e1f62c1a870d8fd2ecbfc0bed25910cab31af5b585db3144a68')
-
- depends_on('python@2.5:2.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('tabix', type=('build', 'run'))
- depends_on('grabix', type=('build', 'run'))
- depends_on('bedtools2', type=('build', 'run'))
-
- depends_on('py-numpy@1.7.1:', type=('build', 'run'))
- depends_on('py-inheritance@0.1.3:', type=('build', 'run'))
- depends_on('py-geneimpacts@0.1.3:', type=('build', 'run'))
- depends_on('py-cython@0.22.1:', type=('build', 'run'))
- depends_on('py-sqlalchemy@1:', type=('build', 'run'))
- depends_on('py-pysam@0.6:', type=('build', 'run'))
- depends_on('py-cyvcf2@0.7.2:', type=('build', 'run'))
- depends_on('py-pyyaml@3.10:', type=('build', 'run'))
- depends_on('py-pybedtools@0.6.2:', type=('build', 'run'))
- depends_on('py-jinja2@2.7.1:', type=('build', 'run'))
- depends_on('py-networkx@1.10:', type=('build', 'run'))
- depends_on('py-bottle@0.11.6:', type=('build', 'run'))
- depends_on('py-ipyparallel@4.0:', type=('build', 'run'))
- depends_on('py-ipython-cluster-helper@0.5.1:', type=('build', 'run'))
- depends_on('py-bx-python@0.7.1:', type=('build', 'run'))
- depends_on('py-pandas@0.11.0:', type=('build', 'run'))
- depends_on('py-openpyxl@1.6.1:1', type=('build', 'run'))
- depends_on('py-scipy@0.12.0:', type=('build', 'run'))
- depends_on('py-unidecode@0.04.14:', type=('build', 'run'))
- depends_on('py-cyordereddict@0.2.2', type=('build', 'run'))
- depends_on('py-bcolz@0.11.3:', type=('build', 'run'))
- depends_on('py-numexpr@2.4.3:', type=('build', 'run'))
+ url = "https://github.com/arq5x/gemini/archive/v0.30.2.tar.gz"
+
+ maintainers = ["robqiao"]
+
+ version("0.30.2", sha256="c7af06a4cc475a846aeeb3cd7fcfb39d6cdd0b76e3b07abab2e5e6e68a3fe431")
+ version("0.30.1", sha256="af835ca33bc6d7865def2467c34cb1d539ec542f9514044435bd2252b25a046d")
+ version("0.30.0", sha256="a55d0c77342bf650f7e1300cb6ba485407ea3b42f4137a5197248d397a026030")
+ version("0.20.1", sha256="cd84aa45ace7a9ffb13ba4176122eab5b9fcc0445b1c0944ecec017f88f2b7f1")
+ version("0.20.0", sha256="640b40186fa00f54c1a0cdfab3fc3076b1d3bdf5c6327fcb2a0c51aa1b05878b")
+ version("0.19.1", sha256="1154bcb48b1bc78819c5a5e710f5cb0747b01fa0f3113e6081a5a2747c8703e5")
+ version("0.19.0", sha256="5146d1b5ed52139c50473aa3625d8df29f2db6d198cfd2c966469e7d585cccf2")
+ version("0.18.3", sha256="7c2f99069385547c656021fbb43e0bae4f9fb8a56ad3f6a61235b44fbc1ba6eb")
+ version("0.18.2", sha256="cf8a83d48d966a800aa2569076d52c307f4d8264a6ae804c176d61e705c0017e")
+ version("0.18.1", sha256="1d3d3b9d47555e1f62c1a870d8fd2ecbfc0bed25910cab31af5b585db3144a68")
+
+ depends_on("python@2.5:2.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("tabix", type=("build", "run"))
+ depends_on("grabix", type=("build", "run"))
+ depends_on("bedtools2", type=("build", "run"))
+
+ depends_on("py-numpy@1.7.1:", type=("build", "run"))
+ depends_on("py-inheritance@0.1.3:", type=("build", "run"))
+ depends_on("py-geneimpacts@0.1.3:", type=("build", "run"))
+ depends_on("py-cython@0.22.1:", type=("build", "run"))
+ depends_on("py-sqlalchemy@1:", type=("build", "run"))
+ depends_on("py-pysam@0.6:", type=("build", "run"))
+ depends_on("py-cyvcf2@0.7.2:", type=("build", "run"))
+ depends_on("py-pyyaml@3.10:", type=("build", "run"))
+ depends_on("py-pybedtools@0.6.2:", type=("build", "run"))
+ depends_on("py-jinja2@2.7.1:", type=("build", "run"))
+ depends_on("py-networkx@1.10:", type=("build", "run"))
+ depends_on("py-bottle@0.11.6:", type=("build", "run"))
+ depends_on("py-ipyparallel@4.0:", type=("build", "run"))
+ depends_on("py-ipython-cluster-helper@0.5.1:", type=("build", "run"))
+ depends_on("py-bx-python@0.7.1:", type=("build", "run"))
+ depends_on("py-pandas@0.11.0:", type=("build", "run"))
+ depends_on("py-openpyxl@1.6.1:1", type=("build", "run"))
+ depends_on("py-scipy@0.12.0:", type=("build", "run"))
+ depends_on("py-unidecode@0.04.14:", type=("build", "run"))
+ depends_on("py-cyordereddict@0.2.2", type=("build", "run"))
+ depends_on("py-bcolz@0.11.3:", type=("build", "run"))
+ depends_on("py-numexpr@2.4.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-genders/package.py b/var/spack/repos/builtin/packages/py-genders/package.py
index 8728a8d174..e414cf23bb 100644
--- a/var/spack/repos/builtin/packages/py-genders/package.py
+++ b/var/spack/repos/builtin/packages/py-genders/package.py
@@ -8,18 +8,22 @@ from spack.package import *
class PyGenders(Package):
"""Genders is a static cluster configuration database used for cluster
- configuration management. It is used by a variety of tools and scripts
- for management of large clusters."""
+ configuration management. It is used by a variety of tools and scripts
+ for management of large clusters."""
+
homepage = "https://github.com/chaos/genders"
- url = "https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz"
+ url = "https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz"
- version('1.22', sha256='0ff292825a29201106239c4d47d9ce4c6bda3f51c78c0463eb2634ecc337b774',
- url='https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz')
- extends('python')
+ version(
+ "1.22",
+ sha256="0ff292825a29201106239c4d47d9ce4c6bda3f51c78c0463eb2634ecc337b774",
+ url="https://github.com/chaos/genders/releases/download/genders-1-22-1/genders-1.22.tar.gz",
+ )
+ extends("python")
# FIXME: Missing a dependency on genders
# #include <genders.h>
- depends_on('bison', type='build')
+ depends_on("bison", type="build")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/py-geneimpacts/package.py b/var/spack/repos/builtin/packages/py-geneimpacts/package.py
index 0774bdef44..fa6a9ce53e 100644
--- a/var/spack/repos/builtin/packages/py-geneimpacts/package.py
+++ b/var/spack/repos/builtin/packages/py-geneimpacts/package.py
@@ -12,10 +12,10 @@ class PyGeneimpacts(PythonPackage):
"""
homepage = "https://github.com/brentp/geneimpacts"
- url = "https://github.com/brentp/geneimpacts/archive/v0.3.7.tar.gz"
+ url = "https://github.com/brentp/geneimpacts/archive/v0.3.7.tar.gz"
- version('0.3.7', sha256='895a0aa64935bf8528257fc5a3747c09adbf30c4885d95b0fa69ba4bb858c133')
- version('0.3.6', sha256='7998e469e7c25b15ecb1d7a73620cc42f13ca91f3f49384513729c180e3a9b97')
+ version("0.3.7", sha256="895a0aa64935bf8528257fc5a3747c09adbf30c4885d95b0fa69ba4bb858c133")
+ version("0.3.6", sha256="7998e469e7c25b15ecb1d7a73620cc42f13ca91f3f49384513729c180e3a9b97")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-genshi/package.py b/var/spack/repos/builtin/packages/py-genshi/package.py
index bf90be7851..31f0b57136 100644
--- a/var/spack/repos/builtin/packages/py-genshi/package.py
+++ b/var/spack/repos/builtin/packages/py-genshi/package.py
@@ -8,12 +8,13 @@ from spack.package import *
class PyGenshi(PythonPackage):
"""Python toolkit for generation of output for the web"""
+
pypi = "Genshi/Genshi-0.7.7.tar.gz"
- version('0.7.7', sha256='c100520862cd69085d10ee1a87e91289e7f59f6b3d9bd622bf58b2804e6b9aab')
- version('0.7', sha256='1d154402e68bc444a55bcac101f96cb4e59373100cc7a2da07fbf3e5cc5d7352')
- version('0.6.1', sha256='fed947f11dbcb6792bb7161701ec3b9804055ad68c8af0ab4f0f9b25e9a18dbd')
- version('0.6', sha256='32aaf76a03f88efa04143bf80700399e6d84eead818fdd19d763fd76af972a4b')
+ version("0.7.7", sha256="c100520862cd69085d10ee1a87e91289e7f59f6b3d9bd622bf58b2804e6b9aab")
+ version("0.7", sha256="1d154402e68bc444a55bcac101f96cb4e59373100cc7a2da07fbf3e5cc5d7352")
+ version("0.6.1", sha256="fed947f11dbcb6792bb7161701ec3b9804055ad68c8af0ab4f0f9b25e9a18dbd")
+ version("0.6", sha256="32aaf76a03f88efa04143bf80700399e6d84eead818fdd19d763fd76af972a4b")
# Unfortunately, upstream's versioning scheme neglected the trailing zero
# x.x.0 which means that the spec @:0.7 also includes @0.7.7 which in a few
@@ -21,19 +22,19 @@ class PyGenshi(PythonPackage):
# with this ambiguity.
#
# Older version of python before support for Py_UNICODE->str in genshi/_speedup.c
- depends_on('python@:3.2', when='@:0.7.0', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@:3.2", when="@:0.7.0", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# setup.py of 0.7 uses setup(features = ...) which was removed in
# setuptools 46.0.0.
- depends_on('py-setuptools@:45', type='build', when='@:0.7.0')
- depends_on('py-six', type=('build', 'run', 'test'))
+ depends_on("py-setuptools@:45", type="build", when="@:0.7.0")
+ depends_on("py-six", type=("build", "run", "test"))
# Suite of unittests added in 0.6.1.
- @when('@0.6.1:')
+ @when("@0.6.1:")
def test(self):
# All the unittests pass for py-genshi@0.7.7 but 14 tests fail for
# @0.6.1:0.7, many of them related to templates, likely because the
# template path needs to be setup. But those versions didn't use tox
# and setting up the test environment to find the template files doesn't
# seem to be documented.
- python('-m', 'unittest', '-v', 'genshi.tests.suite')
+ python("-m", "unittest", "-v", "genshi.tests.suite")
diff --git a/var/spack/repos/builtin/packages/py-gensim/package.py b/var/spack/repos/builtin/packages/py-gensim/package.py
index c38f56b5fd..b93e9c3fa0 100644
--- a/var/spack/repos/builtin/packages/py-gensim/package.py
+++ b/var/spack/repos/builtin/packages/py-gensim/package.py
@@ -14,24 +14,24 @@ class PyGensim(PythonPackage):
homepage = "https://radimrehurek.com/gensim"
pypi = "gensim/gensim-3.8.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('3.8.3', sha256='786adb0571f75114e9c5f7a31dd2e6eb39a9791f22c8757621545e2ded3ea367')
- version('3.8.1', sha256='33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc')
- version('3.8.0', sha256='ec5de7ff2bfa8692fa96a846bb5aae52f267fc322fbbe303c1f042d258af5766')
+ version("3.8.3", sha256="786adb0571f75114e9c5f7a31dd2e6eb39a9791f22c8757621545e2ded3ea367")
+ version("3.8.1", sha256="33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc")
+ version("3.8.0", sha256="ec5de7ff2bfa8692fa96a846bb5aae52f267fc322fbbe303c1f042d258af5766")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy@1.11.3:1.16.1', when='^python@:2', type=('build', 'run'))
- depends_on('py-numpy@1.11.3:', when='^python@3:', type=('build', 'run'))
+ depends_on("py-numpy@1.11.3:1.16.1", when="^python@:2", type=("build", "run"))
+ depends_on("py-numpy@1.11.3:", when="^python@3:", type=("build", "run"))
- depends_on('py-scipy@0.18.1:1.2.3', when='^python@:2', type=('build', 'run'))
- depends_on('py-scipy@0.18.1:', when='^python@3:', type=('build', 'run'))
+ depends_on("py-scipy@0.18.1:1.2.3", when="^python@:2", type=("build", "run"))
+ depends_on("py-scipy@0.18.1:", when="^python@3:", type=("build", "run"))
- depends_on('py-six@1.5.0:', type=('build', 'run'))
+ depends_on("py-six@1.5.0:", type=("build", "run"))
- depends_on('py-smart-open@1.7.0:1.10', when='@3.8.0^python@:2', type=('build', 'run'))
- depends_on('py-smart-open@1.7.0:', when='@3.8.0^python@3:', type=('build', 'run'))
- depends_on('py-smart-open@1.8.1:1.10', when='@3.8.1:^python@:2', type=('build', 'run'))
- depends_on('py-smart-open@1.8.1:', when='@3.8.1:^python@3:', type=('build', 'run'))
+ depends_on("py-smart-open@1.7.0:1.10", when="@3.8.0^python@:2", type=("build", "run"))
+ depends_on("py-smart-open@1.7.0:", when="@3.8.0^python@3:", type=("build", "run"))
+ depends_on("py-smart-open@1.8.1:1.10", when="@3.8.1:^python@:2", type=("build", "run"))
+ depends_on("py-smart-open@1.8.1:", when="@3.8.1:^python@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
index 22d9819101..8e4f22cd6f 100644
--- a/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
+++ b/var/spack/repos/builtin/packages/py-geoalchemy2/package.py
@@ -12,11 +12,11 @@ class PyGeoalchemy2(PythonPackage):
homepage = "https://geoalchemy-2.readthedocs.io/en/latest"
pypi = "GeoAlchemy2/GeoAlchemy2-0.6.3.tar.gz"
- version('0.6.3', sha256='4dc4c6c2bda0fc82cccab4aaff185a6570e13a5351d85e29e12984a55d4138ee')
- version('0.4.2', sha256='17fa10b0c01bd2ab036ea56975dfa850098aa394a5d6ee04d88b2aefc16751cb')
+ version("0.6.3", sha256="4dc4c6c2bda0fc82cccab4aaff185a6570e13a5351d85e29e12984a55d4138ee")
+ version("0.4.2", sha256="17fa10b0c01bd2ab036ea56975dfa850098aa394a5d6ee04d88b2aefc16751cb")
- variant('dev', default=False, description="Enable development dependencies")
+ variant("dev", default=False, description="Enable development dependencies")
- depends_on('py-setuptools', type='build')
- depends_on('py-sqlalchemy@0.8:', type=('build', 'run'))
- depends_on('py-shapely@1.3.0:', type=('build', 'run'), when='+dev')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sqlalchemy@0.8:", type=("build", "run"))
+ depends_on("py-shapely@1.3.0:", type=("build", "run"), when="+dev")
diff --git a/var/spack/repos/builtin/packages/py-geocube/package.py b/var/spack/repos/builtin/packages/py-geocube/package.py
index 8d69c296b1..123a8149e4 100644
--- a/var/spack/repos/builtin/packages/py-geocube/package.py
+++ b/var/spack/repos/builtin/packages/py-geocube/package.py
@@ -10,25 +10,25 @@ class PyGeocube(PythonPackage):
"""Tool to convert geopandas vector data into rasterized xarray data."""
homepage = "https://github.com/corteva/geocube"
- pypi = "geocube/geocube-0.0.17.tar.gz"
+ pypi = "geocube/geocube-0.0.17.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.3.2', sha256='71ff0228f1ef44e3a649d29a045ff7e2a2094a5cfca30fadab8f88f4ec23a41d')
- version('0.3.1', sha256='5c97131010cd8d556a5fad2a3824452120640ac33a6a45b6ca9ee3c28f2e266f')
- version('0.0.17', sha256='bf8da0fa96d772ebaea0b98bafa0ba5b8639669d5feb07465d4255af177bddc0')
+ version("0.3.2", sha256="71ff0228f1ef44e3a649d29a045ff7e2a2094a5cfca30fadab8f88f4ec23a41d")
+ version("0.3.1", sha256="5c97131010cd8d556a5fad2a3824452120640ac33a6a45b6ca9ee3c28f2e266f")
+ version("0.0.17", sha256="bf8da0fa96d772ebaea0b98bafa0ba5b8639669d5feb07465d4255af177bddc0")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('python@3.8:', when='@0.1.1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-appdirs', type=('build', 'run'))
- depends_on('py-click@6.0:', type=('build', 'run'))
- depends_on('py-datacube', when='@:0.1', type=('build', 'run'))
- depends_on('py-geopandas@0.7:', type=('build', 'run'))
- depends_on('py-odc-geo', when='@0.2:', type=('build', 'run'))
- depends_on('py-rasterio', type=('build', 'run'))
- depends_on('py-rioxarray@0.4:', type=('build', 'run'))
- depends_on('py-scipy', when='@0.0.18:', type=('build', 'run'))
- depends_on('py-xarray@0.17:', type=('build', 'run'))
- depends_on('py-pyproj@2:', type=('build', 'run'))
- depends_on('py-numpy@1.20:', when='@0.3:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("python@3.8:", when="@0.1.1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-click@6.0:", type=("build", "run"))
+ depends_on("py-datacube", when="@:0.1", type=("build", "run"))
+ depends_on("py-geopandas@0.7:", type=("build", "run"))
+ depends_on("py-odc-geo", when="@0.2:", type=("build", "run"))
+ depends_on("py-rasterio", type=("build", "run"))
+ depends_on("py-rioxarray@0.4:", type=("build", "run"))
+ depends_on("py-scipy", when="@0.0.18:", type=("build", "run"))
+ depends_on("py-xarray@0.17:", type=("build", "run"))
+ depends_on("py-pyproj@2:", type=("build", "run"))
+ depends_on("py-numpy@1.20:", when="@0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-geographiclib/package.py b/var/spack/repos/builtin/packages/py-geographiclib/package.py
index 81c0c9fe6d..1a383f5b0f 100644
--- a/var/spack/repos/builtin/packages/py-geographiclib/package.py
+++ b/var/spack/repos/builtin/packages/py-geographiclib/package.py
@@ -12,8 +12,8 @@ class PyGeographiclib(PythonPackage):
homepage = "https://geographiclib.sourceforge.io/1.50/python"
pypi = "geographiclib/geographiclib-1.50.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.50', sha256='12bd46ee7ec25b291ea139b17aa991e7ef373e21abd053949b75c0e9ca55c632')
+ version("1.50", sha256="12bd46ee7ec25b291ea139b17aa991e7ef373e21abd053949b75c0e9ca55c632")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-geopandas/package.py b/var/spack/repos/builtin/packages/py-geopandas/package.py
index 5be93b8bda..8f53740d5b 100644
--- a/var/spack/repos/builtin/packages/py-geopandas/package.py
+++ b/var/spack/repos/builtin/packages/py-geopandas/package.py
@@ -8,46 +8,46 @@ from spack.package import *
class PyGeopandas(PythonPackage):
"""GeoPandas is an open source project to make working with geospatial
- data in python easier. GeoPandas extends the datatypes used by pandas
- to allow spatial operations on geometric types. Geometric operations are
- performed by shapely. Geopandas further depends on fiona for file access
- and descartes and matplotlib for plotting."""
+ data in python easier. GeoPandas extends the datatypes used by pandas
+ to allow spatial operations on geometric types. Geometric operations are
+ performed by shapely. Geopandas further depends on fiona for file access
+ and descartes and matplotlib for plotting."""
homepage = "https://geopandas.org/"
pypi = "geopandas/geopandas-0.8.1.tar.gz"
- git = "https://github.com/geopandas/geopandas.git"
+ git = "https://github.com/geopandas/geopandas.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master')
- version('0.11.1', sha256='f0f0c8d0423d30cf81de2056d853145c4362739350a7f8f2d72cc7409ef1eca1')
- version('0.11.0', sha256='562fe7dc19a6e0f61532d654c4752f7bf46e0714990c5844fe3de3f9c99cb873')
- version('0.10.2', sha256='efbf47e70732e25c3727222019c92b39b2e0a66ebe4fe379fbe1aa43a2a871db')
- version('0.10.1', sha256='6429ee4e0cc94f26aff12139445196ef83fe17cadbe816925508a1799f60a681')
- version('0.10.0', sha256='3ba1cb298c8e27112debe1d5b7898f100c91cbdf66c7dbf39726d63616cf0c6b')
- version('0.9.0', sha256='63972ab4dc44c4029f340600dcb83264eb8132dd22b104da0b654bef7f42630a')
- version('0.8.2', sha256='aa9ae82e4e6b52efa244bd4b8bd2363d66693e5592ad1a0f52b6afa8c36348cb')
- version('0.8.1', sha256='e28a729e44ac53c1891b54b1aca60e3bc0bb9e88ad0f2be8e301a03b9510f6e2')
- version('0.5.0', sha256='d075d2ab61a502ab92ec6b72aaf9610a1340ec24ed07264fcbdbe944b9e68954')
- version('0.4.0', sha256='9f5d24d23f33e6d3267a633025e4d9e050b3a1e86d41a96d3ccc5ad95afec3db')
- version('0.3.0', sha256='e63bb32a3e516d8c9bcd149c22335575defdc5896c8bdf15c836608f152a920b')
+ version("master", branch="master")
+ version("0.11.1", sha256="f0f0c8d0423d30cf81de2056d853145c4362739350a7f8f2d72cc7409ef1eca1")
+ version("0.11.0", sha256="562fe7dc19a6e0f61532d654c4752f7bf46e0714990c5844fe3de3f9c99cb873")
+ version("0.10.2", sha256="efbf47e70732e25c3727222019c92b39b2e0a66ebe4fe379fbe1aa43a2a871db")
+ version("0.10.1", sha256="6429ee4e0cc94f26aff12139445196ef83fe17cadbe816925508a1799f60a681")
+ version("0.10.0", sha256="3ba1cb298c8e27112debe1d5b7898f100c91cbdf66c7dbf39726d63616cf0c6b")
+ version("0.9.0", sha256="63972ab4dc44c4029f340600dcb83264eb8132dd22b104da0b654bef7f42630a")
+ version("0.8.2", sha256="aa9ae82e4e6b52efa244bd4b8bd2363d66693e5592ad1a0f52b6afa8c36348cb")
+ version("0.8.1", sha256="e28a729e44ac53c1891b54b1aca60e3bc0bb9e88ad0f2be8e301a03b9510f6e2")
+ version("0.5.0", sha256="d075d2ab61a502ab92ec6b72aaf9610a1340ec24ed07264fcbdbe944b9e68954")
+ version("0.4.0", sha256="9f5d24d23f33e6d3267a633025e4d9e050b3a1e86d41a96d3ccc5ad95afec3db")
+ version("0.3.0", sha256="e63bb32a3e516d8c9bcd149c22335575defdc5896c8bdf15c836608f152a920b")
- depends_on('python@3.5:', type=('build', 'run'), when='@0.7:')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.9:')
- depends_on('python@3.7:', type=('build', 'run'), when='@0.10:')
- depends_on('python@3.8:', type=('build', 'run'), when='@0.11:')
- depends_on('py-setuptools', type='build')
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='@0.6:')
- depends_on('py-pandas@0.24.0:', type=('build', 'run'), when='@0.9:')
- depends_on('py-pandas@0.25.0:', type=('build', 'run'), when='@0.10:')
- depends_on('py-pandas@1.0.0:', type=('build', 'run'), when='@0.11:')
- depends_on('py-shapely@:1', type=('build', 'run'))
- depends_on('py-shapely@1.6:1', type=('build', 'run'), when='@0.9:0.10')
- depends_on('py-shapely@1.7:1', type=('build', 'run'), when='@0.11:')
- depends_on('py-fiona', type=('build', 'run'))
- depends_on('py-fiona@1.8:', type=('build', 'run'), when='@0.9:')
- depends_on('py-pyproj', type=('build', 'run'))
- depends_on('py-pyproj@2.2.0:', type=('build', 'run'), when='@0.7:')
- depends_on('py-pyproj@2.6.1.post1:', type=('build', 'run'), when='@0.11:')
- depends_on('py-packaging', type=('build', 'run'), when='@0.11:')
+ depends_on("python@3.5:", type=("build", "run"), when="@0.7:")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.9:")
+ depends_on("python@3.7:", type=("build", "run"), when="@0.10:")
+ depends_on("python@3.8:", type=("build", "run"), when="@0.11:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pandas@0.23.0:", type=("build", "run"), when="@0.6:")
+ depends_on("py-pandas@0.24.0:", type=("build", "run"), when="@0.9:")
+ depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@0.10:")
+ depends_on("py-pandas@1.0.0:", type=("build", "run"), when="@0.11:")
+ depends_on("py-shapely@:1", type=("build", "run"))
+ depends_on("py-shapely@1.6:1", type=("build", "run"), when="@0.9:0.10")
+ depends_on("py-shapely@1.7:1", type=("build", "run"), when="@0.11:")
+ depends_on("py-fiona", type=("build", "run"))
+ depends_on("py-fiona@1.8:", type=("build", "run"), when="@0.9:")
+ depends_on("py-pyproj", type=("build", "run"))
+ depends_on("py-pyproj@2.2.0:", type=("build", "run"), when="@0.7:")
+ depends_on("py-pyproj@2.6.1.post1:", type=("build", "run"), when="@0.11:")
+ depends_on("py-packaging", type=("build", "run"), when="@0.11:")
diff --git a/var/spack/repos/builtin/packages/py-geoplot/package.py b/var/spack/repos/builtin/packages/py-geoplot/package.py
index 9ca0c6b2ed..679c5d6ad4 100644
--- a/var/spack/repos/builtin/packages/py-geoplot/package.py
+++ b/var/spack/repos/builtin/packages/py-geoplot/package.py
@@ -15,17 +15,17 @@ class PyGeoplot(PythonPackage):
homepage = "https://github.com/ResidentMario/geoplot"
pypi = "geoplot/geoplot-0.4.1.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.4.1', sha256='eb073436c5a1cb7f97caa217cdb109e6cad4f3774e657757005e3f0f5a3183ca')
-
- depends_on('python@3.6.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-geopandas', type=('build', 'run'))
- depends_on('py-cartopy', type=('build', 'run'))
- depends_on('py-descartes', type=('build', 'run'))
- depends_on('py-mapclassify@2.1:', type=('build', 'run'))
- depends_on('py-contextily@1.0.0:', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version("0.4.1", sha256="eb073436c5a1cb7f97caa217cdb109e6cad4f3774e657757005e3f0f5a3183ca")
+
+ depends_on("python@3.6.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-geopandas", type=("build", "run"))
+ depends_on("py-cartopy", type=("build", "run"))
+ depends_on("py-descartes", type=("build", "run"))
+ depends_on("py-mapclassify@2.1:", type=("build", "run"))
+ depends_on("py-contextily@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-geopy/package.py b/var/spack/repos/builtin/packages/py-geopy/package.py
index 4f4f5b7a9b..c707bd5ee5 100644
--- a/var/spack/repos/builtin/packages/py-geopy/package.py
+++ b/var/spack/repos/builtin/packages/py-geopy/package.py
@@ -12,10 +12,10 @@ class PyGeopy(PythonPackage):
homepage = "https://github.com/geopy/geopy"
pypi = "geopy/geopy-2.1.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('2.1.0', sha256='892b219413e7955587b029949af3a1949c6fbac9d5ad17b79d850718f6a9550f')
+ version("2.1.0", sha256="892b219413e7955587b029949af3a1949c6fbac9d5ad17b79d850718f6a9550f")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-geographiclib@1.49:1', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-geographiclib@1.49:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-getorganelle/package.py b/var/spack/repos/builtin/packages/py-getorganelle/package.py
index 336e534ea1..a367f8fc0b 100644
--- a/var/spack/repos/builtin/packages/py-getorganelle/package.py
+++ b/var/spack/repos/builtin/packages/py-getorganelle/package.py
@@ -10,24 +10,24 @@ class PyGetorganelle(PythonPackage):
"""Organelle Genome Assembly Toolkit (Chloroplast/Mitocondrial/ITS)"""
homepage = "https://github.com/Kinggerm/GetOrganelle"
- url = "https://github.com/Kinggerm/GetOrganelle/archive/refs/tags/1.7.5.0.tar.gz"
+ url = "https://github.com/Kinggerm/GetOrganelle/archive/refs/tags/1.7.5.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.7.5.0', sha256='c498196737726cb4c0158f23037bf301a069f5028ece729bb4d09c7d915df93d')
+ version("1.7.5.0", sha256="c498196737726cb4c0158f23037bf301a069f5028ece729bb4d09c7d915df93d")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.16.4:', type=('build', 'run'))
- depends_on('py-scipy@1.3.0:', type=('build', 'run'))
- depends_on('py-sympy@1.4:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.16.4:", type=("build", "run"))
+ depends_on("py-scipy@1.3.0:", type=("build", "run"))
+ depends_on("py-sympy@1.4:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
- depends_on('bowtie2', type='run')
- depends_on('spades', type='run')
- depends_on('blast-plus', type='run')
+ depends_on("bowtie2", type="run")
+ depends_on("spades", type="run")
+ depends_on("blast-plus", type="run")
# Allow access to relevant runtime scripts
# I.e. get_organelle_config.py, get_organelle_from_reads.py, etc.
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix)
- env.prepend_path('PATH', prefix.Utilities)
+ env.prepend_path("PATH", prefix)
+ env.prepend_path("PATH", prefix.Utilities)
diff --git a/var/spack/repos/builtin/packages/py-gevent/package.py b/var/spack/repos/builtin/packages/py-gevent/package.py
index f16d8688af..032f4a158f 100644
--- a/var/spack/repos/builtin/packages/py-gevent/package.py
+++ b/var/spack/repos/builtin/packages/py-gevent/package.py
@@ -12,29 +12,29 @@ class PyGevent(PythonPackage):
homepage = "https://www.gevent.org"
pypi = "gevent/gevent-1.3a2.tar.gz"
- version('21.12.0', sha256='f48b64578c367b91fa793bf8eaaaf4995cb93c8bc45860e473bf868070ad094e')
- version('21.8.0', sha256='43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575')
- version('1.5.0', sha256='b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29')
- version('1.3a2', sha256='f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd')
+ version("21.12.0", sha256="f48b64578c367b91fa793bf8eaaaf4995cb93c8bc45860e473bf868070ad094e")
+ version("21.8.0", sha256="43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575")
+ version("1.5.0", sha256="b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29")
+ version("1.3a2", sha256="f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd")
- depends_on('python@2.7:2,3.6:', when='@21.8:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', when='@1.5:', type=('build', 'run'))
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', when='@20.5.1:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', when='@1.5:', type='build')
- depends_on('py-setuptools@24.2:', when='@:1.4', type='build')
- depends_on('py-cython@3.0.0a9:', when='@20.5.1:', type='build')
- depends_on('py-cython@0.29.14:', when='@1.5:', type='build')
- depends_on('py-cython@0.27:', when='@:1.4', type='build')
- depends_on('py-cython@0.27:', when='@:1.4', type='build')
- depends_on('py-cffi@1.12.3:', when='@1.5:', type=('build', 'run')) # from pyproject.toml
- depends_on('py-cffi@1.4:', when='@:1.4', type=('build', 'run'))
- depends_on('py-greenlet@1.1:1', when='@21.8:', type=('build', 'run'))
- depends_on('py-greenlet@0.4.17:1', when='@20.12:', type=('build', 'run'))
- depends_on('py-greenlet@0.4.14:', when='@1.5:', type=('build', 'run'))
- depends_on('py-greenlet@0.4.13:', when='@:1.4', type=('build', 'run'))
- depends_on('py-zope-event', when='@20.5.1:', type=('build', 'run'))
- depends_on('py-zope-interface', when='@20.5.1:', type=('build', 'run'))
+ depends_on("python@2.7:2,3.6:", when="@21.8:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", when="@1.5:", type=("build", "run"))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", when="@20.5.1:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", when="@1.5:", type="build")
+ depends_on("py-setuptools@24.2:", when="@:1.4", type="build")
+ depends_on("py-cython@3.0.0a9:", when="@20.5.1:", type="build")
+ depends_on("py-cython@0.29.14:", when="@1.5:", type="build")
+ depends_on("py-cython@0.27:", when="@:1.4", type="build")
+ depends_on("py-cython@0.27:", when="@:1.4", type="build")
+ depends_on("py-cffi@1.12.3:", when="@1.5:", type=("build", "run")) # from pyproject.toml
+ depends_on("py-cffi@1.4:", when="@:1.4", type=("build", "run"))
+ depends_on("py-greenlet@1.1:1", when="@21.8:", type=("build", "run"))
+ depends_on("py-greenlet@0.4.17:1", when="@20.12:", type=("build", "run"))
+ depends_on("py-greenlet@0.4.14:", when="@1.5:", type=("build", "run"))
+ depends_on("py-greenlet@0.4.13:", when="@:1.4", type=("build", "run"))
+ depends_on("py-zope-event", when="@20.5.1:", type=("build", "run"))
+ depends_on("py-zope-interface", when="@20.5.1:", type=("build", "run"))
# Deprecated compiler options. upstream PR: https://github.com/gevent/gevent/pull/1896
- patch('icc.patch', when='%intel')
+ patch("icc.patch", when="%intel")
diff --git a/var/spack/repos/builtin/packages/py-gf256/package.py b/var/spack/repos/builtin/packages/py-gf256/package.py
index 88d6500ee9..1feae4ef4e 100644
--- a/var/spack/repos/builtin/packages/py-gf256/package.py
+++ b/var/spack/repos/builtin/packages/py-gf256/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyGf256(PythonPackage):
"""GF256 is an implementation of GF(2**8). This Galois Field allows you
- to perform finite field arithmetic on byte sized integers."""
+ to perform finite field arithmetic on byte sized integers."""
homepage = "https://github.com/DasIch/gf256/"
- url = "https://github.com/DasIch/gf256/archive/0.2.0.tar.gz"
+ url = "https://github.com/DasIch/gf256/archive/0.2.0.tar.gz"
- version('0.2.0', sha256='75966f57674d957fba361b4d41a19ea0989dd55532ca7df1797b1d5c5a67ad71')
+ version("0.2.0", sha256="75966f57674d957fba361b4d41a19ea0989dd55532ca7df1797b1d5c5a67ad71")
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi@1.7.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gffutils/package.py b/var/spack/repos/builtin/packages/py-gffutils/package.py
index 19daff5b50..7890f07bec 100644
--- a/var/spack/repos/builtin/packages/py-gffutils/package.py
+++ b/var/spack/repos/builtin/packages/py-gffutils/package.py
@@ -16,15 +16,15 @@ class PyGffutils(PythonPackage):
possible with plain-text methods alone."""
homepage = "https://github.com/daler/gffutils"
- pypi = "gffutils/gffutils-0.10.1.tar.gz"
+ pypi = "gffutils/gffutils-0.10.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.10.1', sha256='a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb')
+ version("0.10.1", sha256="a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyfaidx@0.5.5.2:', type=('build', 'run'))
- depends_on('py-six@1.12.0:', type=('build', 'run'))
- depends_on('py-argh@0.26.2:', type=('build', 'run'))
- depends_on('py-argcomplete@1.9.4:', type=('build', 'run'))
- depends_on('py-simplejson', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyfaidx@0.5.5.2:", type=("build", "run"))
+ depends_on("py-six@1.12.0:", type=("build", "run"))
+ depends_on("py-argh@0.26.2:", type=("build", "run"))
+ depends_on("py-argcomplete@1.9.4:", type=("build", "run"))
+ depends_on("py-simplejson", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gimmik/package.py b/var/spack/repos/builtin/packages/py-gimmik/package.py
index 2a61245fbb..847d05710f 100644
--- a/var/spack/repos/builtin/packages/py-gimmik/package.py
+++ b/var/spack/repos/builtin/packages/py-gimmik/package.py
@@ -17,14 +17,10 @@ class PyGimmik(PythonPackage):
maintainers = ["MichaelLaufer"]
- version(
- "2.3", sha256="c019c85316bcf0d5e84de9b7d10127355dfe8037c0e37f1880a9819ce92b74e1"
- )
- version(
- "2.2", sha256="9144640f94aab92f9c5dfcaf16885a79428ab97337cf503a4b2dddeb870f3cf0"
- )
-
- depends_on('python@3.8:', type=('build', 'run'))
+ version("2.3", sha256="c019c85316bcf0d5e84de9b7d10127355dfe8037c0e37f1880a9819ce92b74e1")
+ version("2.2", sha256="9144640f94aab92f9c5dfcaf16885a79428ab97337cf503a4b2dddeb870f3cf0")
+
+ depends_on("python@3.8:", type=("build", "run"))
depends_on("py-setuptools", type="build")
- depends_on("py-numpy@1.7:", type=('build', 'run'))
- depends_on("py-mako", type=('build', 'run'))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-mako", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gin-config/package.py b/var/spack/repos/builtin/packages/py-gin-config/package.py
index 23d3aae0c1..2202119dab 100644
--- a/var/spack/repos/builtin/packages/py-gin-config/package.py
+++ b/var/spack/repos/builtin/packages/py-gin-config/package.py
@@ -11,8 +11,8 @@ class PyGinConfig(PythonPackage):
Python, based on dependency injection."""
homepage = "https://github.com/google/gin-config"
- pypi = "gin-config/gin-config-0.5.0.tar.gz"
+ pypi = "gin-config/gin-config-0.5.0.tar.gz"
- version('0.5.0', sha256='0c6ea5026ded927c8c93c990b01c695257c1df446e45e549a158cfbc79e19ed6')
+ version("0.5.0", sha256="0c6ea5026ded927c8c93c990b01c695257c1df446e45e549a158cfbc79e19ed6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 4c3d257bb0..8519a67430 100644
--- a/var/spack/repos/builtin/packages/py-git-review/package.py
+++ b/var/spack/repos/builtin/packages/py-git-review/package.py
@@ -12,20 +12,20 @@ class PyGitReview(PythonPackage):
homepage = "https://docs.openstack.org/infra/git-review"
pypi = "git-review/git-review-1.25.0.tar.gz"
- version('2.1.0', sha256='3a6c775645b1fa8c40c49fbfce6f8d7e225a1e797a0aa92912607b1d97e61ed6')
- version('2.0.0', sha256='6e6c86b61334526c5c0f200fdf61957310b0c32208339a38c890db7fe0de5452')
- version('1.28.0', sha256='8e3aabb7b9484063e49c2504d137609401e32ad5128ff2a5cf43e98d5d3dc15a')
- version('1.27.0', sha256='7a30afdd3c62e1ef69ebda3f22c17efccd1a0a89c761b9b0d301108a11a37476')
- version('1.26.0', sha256='487c3c1d7cc81d02b303a1245e432579f683695c827ad454685b3953f70f0b94')
- version('1.25.0', sha256='087e0a7dc2415796a9f21c484a6f652c5410e6ba4562c36291c5399f9395a11d')
+ version("2.1.0", sha256="3a6c775645b1fa8c40c49fbfce6f8d7e225a1e797a0aa92912607b1d97e61ed6")
+ version("2.0.0", sha256="6e6c86b61334526c5c0f200fdf61957310b0c32208339a38c890db7fe0de5452")
+ version("1.28.0", sha256="8e3aabb7b9484063e49c2504d137609401e32ad5128ff2a5cf43e98d5d3dc15a")
+ version("1.27.0", sha256="7a30afdd3c62e1ef69ebda3f22c17efccd1a0a89c761b9b0d301108a11a37476")
+ version("1.26.0", sha256="487c3c1d7cc81d02b303a1245e432579f683695c827ad454685b3953f70f0b94")
+ version("1.25.0", sha256="087e0a7dc2415796a9f21c484a6f652c5410e6ba4562c36291c5399f9395a11d")
- depends_on('python@3.5:', type=('build', 'run'), when='@2:')
- depends_on('py-setuptools', type=('build'))
- depends_on('py-pbr', type=('build'))
- depends_on('py-pbr@4.1.0:', type=('build'), when='@2:')
- depends_on('py-six', type=('build', 'run'), when='@1.28.0')
- depends_on('py-requests@1.1:', type=('build', 'run'))
- depends_on('git', type=('run'))
+ depends_on("python@3.5:", type=("build", "run"), when="@2:")
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-pbr", type=("build"))
+ depends_on("py-pbr@4.1.0:", type=("build"), when="@2:")
+ depends_on("py-six", type=("build", "run"), when="@1.28.0")
+ depends_on("py-requests@1.1:", type=("build", "run"))
+ depends_on("git", type=("run"))
def setup_run_environment(self, env):
- env.set('PBR_VERSION', str(self.spec.version))
+ env.set("PBR_VERSION", str(self.spec.version))
diff --git a/var/spack/repos/builtin/packages/py-gitdb/package.py b/var/spack/repos/builtin/packages/py-gitdb/package.py
index 6be57181fb..eb6ce3be43 100644
--- a/var/spack/repos/builtin/packages/py-gitdb/package.py
+++ b/var/spack/repos/builtin/packages/py-gitdb/package.py
@@ -13,15 +13,15 @@ class PyGitdb(PythonPackage):
homepage = "https://gitdb.readthedocs.io"
pypi = "gitdb/gitdb-4.0.5.tar.gz"
- version('4.0.9', sha256='bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa')
- version('4.0.8', sha256='858966a9310649cb24a387c101429bb5a1110068a312517722b0281077e78bc6')
- version('4.0.7', sha256='96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005')
- version('4.0.6', sha256='42535bb16b5db8983e2c4f6a714d29a8feba7165a12addc63e08fc672dfeccb9')
- version('4.0.5', sha256='c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9')
+ version("4.0.9", sha256="bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa")
+ version("4.0.8", sha256="858966a9310649cb24a387c101429bb5a1110068a312517722b0281077e78bc6")
+ version("4.0.7", sha256="96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005")
+ version("4.0.6", sha256="42535bb16b5db8983e2c4f6a714d29a8feba7165a12addc63e08fc672dfeccb9")
+ version("4.0.5", sha256="c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@4.0.8:')
- depends_on('py-setuptools', type='build')
- depends_on('py-smmap@3.0.1:3', type=('build', 'run'), when='@:4.0.5')
- depends_on('py-smmap@3.0.1:4', type=('build', 'run'), when='@4.0.6:4.0.7')
- depends_on('py-smmap@3.0.1:5', type=('build', 'run'), when='@4.0.8:')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@4.0.8:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-smmap@3.0.1:3", type=("build", "run"), when="@:4.0.5")
+ depends_on("py-smmap@3.0.1:4", type=("build", "run"), when="@4.0.6:4.0.7")
+ depends_on("py-smmap@3.0.1:5", type=("build", "run"), when="@4.0.8:")
diff --git a/var/spack/repos/builtin/packages/py-gitpython/package.py b/var/spack/repos/builtin/packages/py-gitpython/package.py
index 0eda44884e..6903749062 100644
--- a/var/spack/repos/builtin/packages/py-gitpython/package.py
+++ b/var/spack/repos/builtin/packages/py-gitpython/package.py
@@ -12,38 +12,42 @@ class PyGitpython(PythonPackage):
homepage = "https://gitpython.readthedocs.org"
pypi = "GitPython/GitPython-3.1.12.tar.gz"
- version('3.1.24', sha256='df83fdf5e684fef7c6ee2c02fc68a5ceb7e7e759d08b694088d0cacb4eba59e5')
- version('3.1.23', sha256='aaae7a3bfdf0a6db30dc1f3aeae47b71cd326d86b936fe2e158aa925fdf1471c')
- version('3.1.22', sha256='e1589f27c3cd1f33b22db1df194201b5abca6b4cc5450f13f9c371e099c1b24f')
- version('3.1.20', sha256='df0e072a200703a65387b0cfdf0466e3bab729c0458cf6b7349d0e9877636519')
- version('3.1.19', sha256='18f4039b96b5567bc4745eb851737ce456a2d499cecd71e84f5c0950e92d0e53')
- version('3.1.18', sha256='b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b')
- version('3.1.17', sha256='ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e')
- version('3.1.16', sha256='2bfcd25e6b81fe431fa3ab1f0975986cfddabf7870a323c183f3afbc9447c0c5')
- version('3.1.15', sha256='05af150f47a5cca3f4b0af289b73aef8cf3c4fe2385015b06220cbcdee48bb6e')
- version('3.1.14', sha256='be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61')
- version('3.1.13', sha256='8621a7e777e276a5ec838b59280ba5272dd144a18169c36c903d8b38b99f750a')
- version('3.1.12', sha256='42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac')
- version('3.1.11', sha256='befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8')
- version('3.1.10', sha256='f488d43600d7299567b59fe41497d313e7c1253a9f2a8ebd2df8af2a1151c71d')
- version('3.1.9', sha256='a03f728b49ce9597a6655793207c6ab0da55519368ff5961e4a74ae475b9fa8e')
- version('3.1.8', sha256='080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912')
- version('3.1.7', sha256='2db287d71a284e22e5c2846042d0602465c7434d910406990d5b74df4afb0858')
- version('3.1.6', sha256='b54969b3262d4647f80ace8e9dd4e3f99ac30cc0f3e766415b349208f810908f')
- version('3.1.5', sha256='90400ecfa87bac36ac75dfa7b62e83a02017b51759f6eef4494e4de775b2b4be')
- version('3.1.4', sha256='fa98ce1f05805d59bbc3adb16c0780e5ca43b5ea9422feecf1cd0949a61d947e')
- version('3.1.3', sha256='e107af4d873daed64648b4f4beb89f89f0cfbe3ef558fc7821ed2331c2f8da1a')
- version('3.1.2', sha256='864a47472548f3ba716ca202e034c1900f197c0fb3a08f641c20c3cafd15ed94')
- version('3.1.1', sha256='6d4f10e2aaad1864bb0f17ec06a2c2831534140e5883c350d58b4e85189dab74')
- version('3.1.0', sha256='e426c3b587bd58c482f0b7fe6145ff4ac7ae6c82673fc656f489719abca6f4cb')
- version('3.0.9', sha256='7e5df21bfef38505115ad92544fb379e6fedb2753f3b709174c4358cecd0cb97')
- version('0.3.6', sha256='e6599fcb939cb9b25a015a429702db39de10f2b493655ed5669c49c37707d233')
+ version("3.1.24", sha256="df83fdf5e684fef7c6ee2c02fc68a5ceb7e7e759d08b694088d0cacb4eba59e5")
+ version("3.1.23", sha256="aaae7a3bfdf0a6db30dc1f3aeae47b71cd326d86b936fe2e158aa925fdf1471c")
+ version("3.1.22", sha256="e1589f27c3cd1f33b22db1df194201b5abca6b4cc5450f13f9c371e099c1b24f")
+ version("3.1.20", sha256="df0e072a200703a65387b0cfdf0466e3bab729c0458cf6b7349d0e9877636519")
+ version("3.1.19", sha256="18f4039b96b5567bc4745eb851737ce456a2d499cecd71e84f5c0950e92d0e53")
+ version("3.1.18", sha256="b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b")
+ version("3.1.17", sha256="ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e")
+ version("3.1.16", sha256="2bfcd25e6b81fe431fa3ab1f0975986cfddabf7870a323c183f3afbc9447c0c5")
+ version("3.1.15", sha256="05af150f47a5cca3f4b0af289b73aef8cf3c4fe2385015b06220cbcdee48bb6e")
+ version("3.1.14", sha256="be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61")
+ version("3.1.13", sha256="8621a7e777e276a5ec838b59280ba5272dd144a18169c36c903d8b38b99f750a")
+ version("3.1.12", sha256="42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac")
+ version("3.1.11", sha256="befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8")
+ version("3.1.10", sha256="f488d43600d7299567b59fe41497d313e7c1253a9f2a8ebd2df8af2a1151c71d")
+ version("3.1.9", sha256="a03f728b49ce9597a6655793207c6ab0da55519368ff5961e4a74ae475b9fa8e")
+ version("3.1.8", sha256="080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912")
+ version("3.1.7", sha256="2db287d71a284e22e5c2846042d0602465c7434d910406990d5b74df4afb0858")
+ version("3.1.6", sha256="b54969b3262d4647f80ace8e9dd4e3f99ac30cc0f3e766415b349208f810908f")
+ version("3.1.5", sha256="90400ecfa87bac36ac75dfa7b62e83a02017b51759f6eef4494e4de775b2b4be")
+ version("3.1.4", sha256="fa98ce1f05805d59bbc3adb16c0780e5ca43b5ea9422feecf1cd0949a61d947e")
+ version("3.1.3", sha256="e107af4d873daed64648b4f4beb89f89f0cfbe3ef558fc7821ed2331c2f8da1a")
+ version("3.1.2", sha256="864a47472548f3ba716ca202e034c1900f197c0fb3a08f641c20c3cafd15ed94")
+ version("3.1.1", sha256="6d4f10e2aaad1864bb0f17ec06a2c2831534140e5883c350d58b4e85189dab74")
+ version("3.1.0", sha256="e426c3b587bd58c482f0b7fe6145ff4ac7ae6c82673fc656f489719abca6f4cb")
+ version("3.0.9", sha256="7e5df21bfef38505115ad92544fb379e6fedb2753f3b709174c4358cecd0cb97")
+ version("0.3.6", sha256="e6599fcb939cb9b25a015a429702db39de10f2b493655ed5669c49c37707d233")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@3.1.15:')
- depends_on('python@3.6:', type=('build', 'run'), when='@3.1.18:')
- depends_on('python@3.7:', type=('build', 'run'), when='@3.1.22:')
- depends_on('py-setuptools', type='build')
- depends_on('py-gitdb@4.0.1:4', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4.0:', type=('build', 'run'), when='@3.1.16: ^python@:3.7')
- depends_on('py-typing-extensions@3.7.4.3:', type=('build', 'run'), when='@3.1.19: ^python@:3.10')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"), when="@3.1.15:")
+ depends_on("python@3.6:", type=("build", "run"), when="@3.1.18:")
+ depends_on("python@3.7:", type=("build", "run"), when="@3.1.22:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-gitdb@4.0.1:4", type=("build", "run"))
+ depends_on(
+ "py-typing-extensions@3.7.4.0:", type=("build", "run"), when="@3.1.16: ^python@:3.7"
+ )
+ depends_on(
+ "py-typing-extensions@3.7.4.3:", type=("build", "run"), when="@3.1.19: ^python@:3.10"
+ )
diff --git a/var/spack/repos/builtin/packages/py-glmnet/package.py b/var/spack/repos/builtin/packages/py-glmnet/package.py
index acbe668dc4..3217fb623e 100644
--- a/var/spack/repos/builtin/packages/py-glmnet/package.py
+++ b/var/spack/repos/builtin/packages/py-glmnet/package.py
@@ -13,14 +13,14 @@ class PyGlmnet(PythonPackage):
"""
homepage = "https://github.com/civisanalytics/python-glmnet"
- pypi = "glmnet/glmnet-2.2.1.tar.gz"
+ pypi = "glmnet/glmnet-2.2.1.tar.gz"
- version('2.2.1', sha256='3222bca2e901b3f60c2dc22df7aeba6bb9c7b6451b44cbbe1b91084b66f14481')
+ version("2.2.1", sha256="3222bca2e901b3f60c2dc22df7aeba6bb9c7b6451b44cbbe1b91084b66f14481")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
- depends_on('py-numpy@1.9.2:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.18.0:', type=('build', 'run'))
- depends_on('py-scipy@0.14.1:', type=('build', 'run'))
- depends_on('py-joblib@0.14.1:', type=('build', 'run'))
+ depends_on("py-numpy@1.9.2:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18.0:", type=("build", "run"))
+ depends_on("py-scipy@0.14.1:", type=("build", "run"))
+ depends_on("py-joblib@0.14.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-glmsingle/package.py b/var/spack/repos/builtin/packages/py-glmsingle/package.py
index 857d164a93..ddc54eff37 100644
--- a/var/spack/repos/builtin/packages/py-glmsingle/package.py
+++ b/var/spack/repos/builtin/packages/py-glmsingle/package.py
@@ -10,29 +10,29 @@ class PyGlmsingle(PythonPackage):
"""A toolbox for accurate single-trial estimates in fMRI time-series data."""
homepage = "https://github.com/cvnlab/GLMsingle"
- url = "https://github.com/cvnlab/GLMsingle/archive/refs/tags/1.0.tar.gz"
- git = "https://github.com/cvnlab/GLMsingle.git"
+ url = "https://github.com/cvnlab/GLMsingle/archive/refs/tags/1.0.tar.gz"
+ git = "https://github.com/cvnlab/GLMsingle.git"
- version('main', branch='main')
- version('1.0', sha256='0481f8ea7637d7e9cb53a7f22c73ba67b9fb8aefebc8c6c98bd4712de95db6aa')
+ version("main", branch="main")
+ version("1.0", sha256="0481f8ea7637d7e9cb53a7f22c73ba67b9fb8aefebc8c6c98bd4712de95db6aa")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-twine', when='@:1', type=('build', 'run'))
- depends_on('py-sphinx', when='@:1', type=('build', 'run'))
- depends_on('py-seaborn', when='@:1', type=('build', 'run'))
- depends_on('py-pybids@0.8.0', when='@:1', type=('build', 'run'))
- depends_on('py-duecredit', when='@:1', type=('build', 'run'))
- depends_on('py-ww', when='@:1', type=('build', 'run'))
- depends_on('py-numba', when='@:1', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-datalad', type=('build', 'run'))
- depends_on('py-imageio', type=('build', 'run'))
- depends_on('py-fracridge', type=('build', 'run'))
- depends_on('py-nibabel', when='@main', type=('build', 'run'))
- depends_on('py-h5py', when='@main', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-twine", when="@:1", type=("build", "run"))
+ depends_on("py-sphinx", when="@:1", type=("build", "run"))
+ depends_on("py-seaborn", when="@:1", type=("build", "run"))
+ depends_on("py-pybids@0.8.0", when="@:1", type=("build", "run"))
+ depends_on("py-duecredit", when="@:1", type=("build", "run"))
+ depends_on("py-ww", when="@:1", type=("build", "run"))
+ depends_on("py-numba", when="@:1", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-datalad", type=("build", "run"))
+ depends_on("py-imageio", type=("build", "run"))
+ depends_on("py-fracridge", type=("build", "run"))
+ depends_on("py-nibabel", when="@main", type=("build", "run"))
+ depends_on("py-h5py", when="@main", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-glob2/package.py b/var/spack/repos/builtin/packages/py-glob2/package.py
index 57c146492b..57a99b9b38 100644
--- a/var/spack/repos/builtin/packages/py-glob2/package.py
+++ b/var/spack/repos/builtin/packages/py-glob2/package.py
@@ -11,9 +11,9 @@ class PyGlob2(PythonPackage):
and supports recursive wildcards."""
homepage = "http://github.com/miracle2k/python-glob2/"
- pypi = "glob2/glob2-0.7.tar.gz"
+ pypi = "glob2/glob2-0.7.tar.gz"
- version('0.7', sha256='85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c')
- version('0.6', sha256='f5b0a686ff21f820c4d3f0c4edd216704cea59d79d00fa337e244a2f2ff83ed6')
+ version("0.7", sha256="85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c")
+ version("0.6", sha256="f5b0a686ff21f820c4d3f0c4edd216704cea59d79d00fa337e244a2f2ff83ed6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-globus-sdk/package.py b/var/spack/repos/builtin/packages/py-globus-sdk/package.py
index ec8294f600..f978e3d8f6 100644
--- a/var/spack/repos/builtin/packages/py-globus-sdk/package.py
+++ b/var/spack/repos/builtin/packages/py-globus-sdk/package.py
@@ -13,14 +13,14 @@ class PyGlobusSdk(PythonPackage):
"""
homepage = "https://github.com/globus/globus-sdk-python"
- pypi = "globus-sdk/globus-sdk-3.0.2.tar.gz"
+ pypi = "globus-sdk/globus-sdk-3.0.2.tar.gz"
- maintainers = ['hategan']
+ maintainers = ["hategan"]
- version('3.0.2', sha256='765b577b37edac70c513179607f1c09de7b287baa855165c9dd68de076d67f16')
+ version("3.0.2", sha256="765b577b37edac70c513179607f1c09de7b287baa855165c9dd68de076d67f16")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.19.1:2', type=('build', 'run'))
- depends_on('py-pyjwt@2.0.0:2+crypto', type=('build', 'run'))
- depends_on('py-cryptography@2.0:3.3,3.4.1:3.6', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.19.1:2", type=("build", "run"))
+ depends_on("py-pyjwt@2.0.0:2+crypto", type=("build", "run"))
+ depends_on("py-cryptography@2.0:3.3,3.4.1:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gluoncv/package.py b/var/spack/repos/builtin/packages/py-gluoncv/package.py
index 5cbadcfd38..6f473d32e5 100644
--- a/var/spack/repos/builtin/packages/py-gluoncv/package.py
+++ b/var/spack/repos/builtin/packages/py-gluoncv/package.py
@@ -14,21 +14,21 @@ class PyGluoncv(PythonPackage):
vision."""
homepage = "https://gluon-cv.mxnet.io/"
- url = "https://github.com/dmlc/gluon-cv/archive/v0.6.0.tar.gz"
+ url = "https://github.com/dmlc/gluon-cv/archive/v0.6.0.tar.gz"
- version('0.6.0', sha256='5ac89d73f34d02b2e60595a5cc35f46d0a69376567fae3a9518005dd89161305')
+ version("0.6.0", sha256="5ac89d73f34d02b2e60595a5cc35f46d0a69376567fae3a9518005dd89161305")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-portalocker', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-portalocker", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-cython", type="build")
- patch('no-unicode-readme.patch')
+ patch("no-unicode-readme.patch")
def install_options(self, spec, prefix):
- return ['--with-cython']
+ return ["--with-cython"]
diff --git a/var/spack/repos/builtin/packages/py-gnuplot/package.py b/var/spack/repos/builtin/packages/py-gnuplot/package.py
index 8a1e3e5d5d..22ebda0605 100644
--- a/var/spack/repos/builtin/packages/py-gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/py-gnuplot/package.py
@@ -8,12 +8,15 @@ from spack.package import *
class PyGnuplot(PythonPackage):
"""Gnuplot.py is a Python package that allows you to create graphs from
- within Python using the gnuplot plotting program."""
+ within Python using the gnuplot plotting program."""
+
homepage = "http://gnuplot-py.sourceforge.net/"
- url = "http://downloads.sourceforge.net/project/gnuplot-py/Gnuplot-py/1.8/gnuplot-py-1.8.tar.gz"
+ url = (
+ "http://downloads.sourceforge.net/project/gnuplot-py/Gnuplot-py/1.8/gnuplot-py-1.8.tar.gz"
+ )
- version('1.8', sha256='ab339be7847d30a8acfd616f27b5021bfde0999b7bf2d68400fbe62c53106e21')
+ version("1.8", sha256="ab339be7847d30a8acfd616f27b5021bfde0999b7bf2d68400fbe62c53106e21")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-goatools/package.py b/var/spack/repos/builtin/packages/py-goatools/package.py
index 358b445f5b..61ce025803 100644
--- a/var/spack/repos/builtin/packages/py-goatools/package.py
+++ b/var/spack/repos/builtin/packages/py-goatools/package.py
@@ -12,16 +12,16 @@ class PyGoatools(PythonPackage):
homepage = "https://github.com/tanghaibao/goatools"
pypi = "goatools/goatools-0.7.11.tar.gz"
- version('0.7.11', sha256='753c6fb8c901367aa5d64ce5ad487d82903e424cf8ec7bac50ee069b307f6364')
+ version("0.7.11", sha256="753c6fb8c901367aa5d64ce5ad487d82903e424cf8ec7bac50ee069b307f6364")
- depends_on('py-setuptools', type='build')
- depends_on('py-nose', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pydot', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-statsmodels', type=('build', 'run'))
- depends_on('py-xlrd', type=('build', 'run'))
- depends_on('py-xlsxwriter', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nose", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pydot", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-pytest", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-statsmodels", type=("build", "run"))
+ depends_on("py-xlrd", type=("build", "run"))
+ depends_on("py-xlsxwriter", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gooey/package.py b/var/spack/repos/builtin/packages/py-gooey/package.py
index fb1a5716a9..c3e577fc41 100644
--- a/var/spack/repos/builtin/packages/py-gooey/package.py
+++ b/var/spack/repos/builtin/packages/py-gooey/package.py
@@ -11,15 +11,15 @@ class PyGooey(PythonPackage):
a full GUI application with one line"""
homepage = "https://pypi.org/project/Gooey/"
- pypi = "Gooey/Gooey-1.0.8.1.tar.gz"
+ pypi = "Gooey/Gooey-1.0.8.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.0.8.1', sha256='08d6bf534f4d50d50dafba5cfc68dcf31a6e9eeef13a94cbe3ea17c4e45c4671')
+ version("1.0.8.1", sha256="08d6bf534f4d50d50dafba5cfc68dcf31a6e9eeef13a94cbe3ea17c4e45c4671")
- depends_on('py-setuptools', type='build')
- depends_on('py-pillow@4.3.0:', type=('build', 'run'))
- depends_on('py-psutil@5.4.2:', type=('build', 'run'))
- depends_on('py-colored@1.3.93:', type=('build', 'run'))
- depends_on('py-pygtrie@2.3.3:', type=('build', 'run'))
- depends_on('py-wxpython')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pillow@4.3.0:", type=("build", "run"))
+ depends_on("py-psutil@5.4.2:", type=("build", "run"))
+ depends_on("py-colored@1.3.93:", type=("build", "run"))
+ depends_on("py-pygtrie@2.3.3:", type=("build", "run"))
+ depends_on("py-wxpython")
diff --git a/var/spack/repos/builtin/packages/py-google-api-core/package.py b/var/spack/repos/builtin/packages/py-google-api-core/package.py
index 6c3e0f8af5..7f03b9da84 100644
--- a/var/spack/repos/builtin/packages/py-google-api-core/package.py
+++ b/var/spack/repos/builtin/packages/py-google-api-core/package.py
@@ -14,16 +14,16 @@ class PyGoogleApiCore(PythonPackage):
# 'google.api_core.operations_v1' and 'google.api_core.gapic_v1' require 'grpc'.
# Leave them out of 'import_modules' to avoid optional dependency.
- import_modules = ['google.api_core', 'google.api_core.future']
+ import_modules = ["google.api_core", "google.api_core.future"]
- version('1.14.2', sha256='2c23fbc81c76b941ffb71301bb975ed66a610e9b03f918feacd1ed59cf43a6ec')
+ version("1.14.2", sha256="2c23fbc81c76b941ffb71301bb975ed66a610e9b03f918feacd1ed59cf43a6ec")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-googleapis-common-protos@1.6:1', type=('build', 'run'))
- depends_on('py-protobuf@3.4.0:', type=('build', 'run'))
- depends_on('py-google-auth@0.4:1', type=('build', 'run'))
- depends_on('py-requests@2.18:2', type=('build', 'run'))
- depends_on('py-setuptools@34.0.0:', type=('build', 'run'))
- depends_on('py-six@1.10.0:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-futures@3.2.0:', type=('build', 'run'), when='^python@:3.1')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-googleapis-common-protos@1.6:1", type=("build", "run"))
+ depends_on("py-protobuf@3.4.0:", type=("build", "run"))
+ depends_on("py-google-auth@0.4:1", type=("build", "run"))
+ depends_on("py-requests@2.18:2", type=("build", "run"))
+ depends_on("py-setuptools@34.0.0:", type=("build", "run"))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-futures@3.2.0:", type=("build", "run"), when="^python@:3.1")
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 92268c07d5..d478208a3f 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
@@ -13,12 +13,12 @@ class PyGoogleApiPythonClient(PythonPackage):
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')
+ version("1.7.10", sha256="2e55a5c7b56233c68945b6804c73e253445933f4d485d4e69e321b38772b9dd6")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-httplib2@0.9.2:', type=('build', 'run'))
- depends_on('py-google-auth@1.4.1:', type=('build', 'run'))
- depends_on('py-google-auth-httplib2@0.0.3:', type=('build', 'run'))
- depends_on('py-six@1.6.1:', type=('build', 'run'))
- depends_on('py-uritemplate@3.0.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-httplib2@0.9.2:", type=("build", "run"))
+ depends_on("py-google-auth@1.4.1:", type=("build", "run"))
+ depends_on("py-google-auth-httplib2@0.0.3:", type=("build", "run"))
+ depends_on("py-six@1.6.1:", type=("build", "run"))
+ depends_on("py-uritemplate@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-apitools/package.py b/var/spack/repos/builtin/packages/py-google-apitools/package.py
index 6f778eb9df..63eb22db7b 100644
--- a/var/spack/repos/builtin/packages/py-google-apitools/package.py
+++ b/var/spack/repos/builtin/packages/py-google-apitools/package.py
@@ -10,15 +10,15 @@ class PyGoogleApitools(PythonPackage):
"""client libraries for humans"""
homepage = "https://github.com/google/apitools"
- pypi = "google-apitools/google-apitools-0.5.32.tar.gz"
+ pypi = "google-apitools/google-apitools-0.5.32.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.5.32', sha256='c3763e52289f61e21c41d5531e20fbda9cc8484a088b8686fd460770db8bad13')
+ version("0.5.32", sha256="c3763e52289f61e21c41d5531e20fbda9cc8484a088b8686fd460770db8bad13")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-httplib2@0.8:', type=('build', 'run'))
- depends_on('py-fasteners@0.14:', type=('build', 'run'))
- depends_on('py-oauth2client@1.4.12:', type=('build', 'run'))
- depends_on('py-six@1.12.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-httplib2@0.8:", type=("build", "run"))
+ depends_on("py-fasteners@0.14:", type=("build", "run"))
+ depends_on("py-oauth2client@1.4.12:", type=("build", "run"))
+ depends_on("py-six@1.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py b/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
index 1d8d7b52c5..42e8389a11 100644
--- a/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth-httplib2/package.py
@@ -12,8 +12,8 @@ class PyGoogleAuthHttplib2(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"
pypi = "google-auth-httplib2/google-auth-httplib2-0.0.3.tar.gz"
- version('0.0.3', sha256='098fade613c25b4527b2c08fa42d11f3c2037dda8995d86de0745228e965d445')
+ version("0.0.3", sha256="098fade613c25b4527b2c08fa42d11f3c2037dda8995d86de0745228e965d445")
- depends_on('py-setuptools', type='build')
- depends_on('py-google-auth', type=('build', 'run'))
- depends_on('py-httplib2@0.9.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-google-auth", type=("build", "run"))
+ depends_on("py-httplib2@0.9.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py b/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
index e09b70733c..ebc63644f2 100644
--- a/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth-oauthlib/package.py
@@ -13,12 +13,12 @@ class PyGoogleAuthOauthlib(PythonPackage):
homepage = "https://github.com/googleapis/google-auth-library-python-oauthlib"
pypi = "google-auth-oauthlib/google-auth-oauthlib-0.4.1.tar.gz"
- version('0.4.6', sha256='a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a')
- version('0.4.1', sha256='88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd')
+ version("0.4.6", sha256="a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a")
+ version("0.4.1", sha256="88d2cd115e3391eb85e1243ac6902e76e77c5fe438b7276b297fbe68015458dd")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@0.4.6:')
- depends_on('py-setuptools', type='build')
- depends_on('py-google-auth', type=('build', 'run'))
- depends_on('py-google-auth@1.0.0:', type=('build', 'run'), when='@0.4.6:')
- depends_on('py-requests-oauthlib@0.7.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@0.4.6:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-google-auth", type=("build", "run"))
+ depends_on("py-google-auth@1.0.0:", type=("build", "run"), when="@0.4.6:")
+ depends_on("py-requests-oauthlib@0.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-auth/package.py b/var/spack/repos/builtin/packages/py-google-auth/package.py
index 8552f701ea..fba72419f2 100644
--- a/var/spack/repos/builtin/packages/py-google-auth/package.py
+++ b/var/spack/repos/builtin/packages/py-google-auth/package.py
@@ -13,19 +13,19 @@ class PyGoogleAuth(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python"
pypi = "google-auth/google-auth-1.6.3.tar.gz"
- version('2.3.2', sha256='2dc5218ee1192f9d67147cece18f47a929a9ef746cb69c50ab5ff5cfc983647b')
- version('1.6.3', sha256='0f7c6a64927d34c1a474da92cfc59e552a5d3b940d3266606c6a28b72888b9e4')
+ version("2.3.2", sha256="2dc5218ee1192f9d67147cece18f47a929a9ef746cb69c50ab5ff5cfc983647b")
+ version("1.6.3", sha256="0f7c6a64927d34c1a474da92cfc59e552a5d3b940d3266606c6a28b72888b9e4")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.35:')
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@1.24:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@40.3.0:', type='build', when='@2.3.2:')
- depends_on('py-pyasn1-modules@0.2.1:', type=('build', 'run'))
- depends_on('py-rsa@3.1.4:', type=('build', 'run'))
- depends_on('py-rsa@3.1.4:4', type=('build', 'run'), when='@2.3.2 ^python@3.6:')
- depends_on('py-rsa@:4.5', type=('build', 'run'), when='@2.3.2 ^python@:3.5')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-cachetools@2.0.0:', type=('build', 'run'))
- depends_on('py-cachetools@2.0.0:4', type=('build', 'run'), when='@2.3.2:')
- depends_on('py-enum34@1.1.10:', type=('build', 'run'), when='@2.3.2: ^python@:3.3')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.35:")
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"), when="@1.24:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@40.3.0:", type="build", when="@2.3.2:")
+ depends_on("py-pyasn1-modules@0.2.1:", type=("build", "run"))
+ depends_on("py-rsa@3.1.4:", type=("build", "run"))
+ depends_on("py-rsa@3.1.4:4", type=("build", "run"), when="@2.3.2 ^python@3.6:")
+ depends_on("py-rsa@:4.5", type=("build", "run"), when="@2.3.2 ^python@:3.5")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-cachetools@2.0.0:", type=("build", "run"))
+ depends_on("py-cachetools@2.0.0:4", type=("build", "run"), when="@2.3.2:")
+ depends_on("py-enum34@1.1.10:", type=("build", "run"), when="@2.3.2: ^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-google-cloud-core/package.py b/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
index 77a25a1b58..385a6259a0 100644
--- a/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
+++ b/var/spack/repos/builtin/packages/py-google-cloud-core/package.py
@@ -12,8 +12,8 @@ class PyGoogleCloudCore(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
pypi = "google-cloud-core/google-cloud-core-1.0.3.tar.gz"
- version('1.0.3', sha256='10750207c1a9ad6f6e082d91dbff3920443bdaf1c344a782730489a9efa802f1')
+ version("1.0.3", sha256="10750207c1a9ad6f6e082d91dbff3920443bdaf1c344a782730489a9efa802f1")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-google-api-core@1.14:1', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-google-api-core@1.14:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
index 647689aa42..608683a68a 100644
--- a/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-google-cloud-storage/package.py
@@ -12,10 +12,10 @@ class PyGoogleCloudStorage(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python"
pypi = "google-cloud-storage/google-cloud-storage-1.18.0.tar.gz"
- version('1.18.0', sha256='9fb3dc68948f4c893c2b16f5a3db3daea2d2f3b8e9d5c2d505fe1523758009b6')
+ version("1.18.0", sha256="9fb3dc68948f4c893c2b16f5a3db3daea2d2f3b8e9d5c2d505fe1523758009b6")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-google-auth@1.2.0:', type=('build', 'run'))
- depends_on('py-google-cloud-core@1.0:1', type=('build', 'run'))
- depends_on('py-google-resumable-media@0.3.1:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-google-auth@1.2.0:", type=("build", "run"))
+ depends_on("py-google-cloud-core@1.0:1", type=("build", "run"))
+ depends_on("py-google-resumable-media@0.3.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-crc32c/package.py b/var/spack/repos/builtin/packages/py-google-crc32c/package.py
index 94e5a46a6b..f513575837 100644
--- a/var/spack/repos/builtin/packages/py-google-crc32c/package.py
+++ b/var/spack/repos/builtin/packages/py-google-crc32c/package.py
@@ -13,12 +13,12 @@ class PyGoogleCrc32c(PythonPackage):
homepage = "https://github.com/googleapis/python-crc32c"
pypi = "google-crc32c/google-crc32c-1.3.0.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('1.3.0', '276de6273eb074a35bc598f8efbc00c7869c5cf2e29c90748fccc8c898c244df')
+ version("1.3.0", "276de6273eb074a35bc598f8efbc00c7869c5cf2e29c90748fccc8c898c244df")
- depends_on('py-setuptools', type='build')
- depends_on('google-crc32c', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("google-crc32c", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('CRC32C_INSTALL_PREFIX', self.spec['google-crc32c'].prefix)
+ env.set("CRC32C_INSTALL_PREFIX", self.spec["google-crc32c"].prefix)
diff --git a/var/spack/repos/builtin/packages/py-google-pasta/package.py b/var/spack/repos/builtin/packages/py-google-pasta/package.py
index 158e064578..ddbeeb12c6 100644
--- a/var/spack/repos/builtin/packages/py-google-pasta/package.py
+++ b/var/spack/repos/builtin/packages/py-google-pasta/package.py
@@ -12,16 +12,16 @@ class PyGooglePasta(PythonPackage):
homepage = "https://github.com/google/pasta"
pypi = "google-pasta/google-pasta-0.1.8.tar.gz"
- version('0.2.0', sha256='c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e')
- version('0.1.8', sha256='713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb')
- version('0.1.7', sha256='324ae96cea1c27af1bbe289e502ad26673d9e00236a64a3efd68bf12dfd85a51')
- version('0.1.6', sha256='11c4efd38f2cfb053c12ded1e1c3e1219a77b83ea83d783eaeba879faebe6b8c')
- version('0.1.5', sha256='799bf5b40320495ebbb54706d35b8c8a818c39328aa4c27a842f5d2f645eef38')
- version('0.1.4', sha256='8a9208c806c4e3f267269e4bae94c1f41d4777472cf7a813f74ba9e0907b1a5f')
- version('0.1.3', sha256='29815aac18759d4518a80de24e23ac1ae3e098e9c5d7273abdc42174846a13e9')
- version('0.1.2', sha256='53e4c009a5eac38e942deb48bfc2d3cfca62cd457255fa86ffedb7e40f726a0c')
- version('0.1.1', sha256='66f6ea653c7caf5ad0a1cd6f69a750df9845ccce755ee3619db89b672d240c20')
- version('0.1', sha256='33ce0c80b393d070a372cd65fd1471852507f0ccc5432687bb73589f05cb8452')
+ version("0.2.0", sha256="c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e")
+ version("0.1.8", sha256="713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb")
+ version("0.1.7", sha256="324ae96cea1c27af1bbe289e502ad26673d9e00236a64a3efd68bf12dfd85a51")
+ version("0.1.6", sha256="11c4efd38f2cfb053c12ded1e1c3e1219a77b83ea83d783eaeba879faebe6b8c")
+ version("0.1.5", sha256="799bf5b40320495ebbb54706d35b8c8a818c39328aa4c27a842f5d2f645eef38")
+ version("0.1.4", sha256="8a9208c806c4e3f267269e4bae94c1f41d4777472cf7a813f74ba9e0907b1a5f")
+ version("0.1.3", sha256="29815aac18759d4518a80de24e23ac1ae3e098e9c5d7273abdc42174846a13e9")
+ version("0.1.2", sha256="53e4c009a5eac38e942deb48bfc2d3cfca62cd457255fa86ffedb7e40f726a0c")
+ version("0.1.1", sha256="66f6ea653c7caf5ad0a1cd6f69a750df9845ccce755ee3619db89b672d240c20")
+ version("0.1", sha256="33ce0c80b393d070a372cd65fd1471852507f0ccc5432687bb73589f05cb8452")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
index 2409ccaf83..d1dbca2951 100644
--- a/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
+++ b/var/spack/repos/builtin/packages/py-google-resumable-media/package.py
@@ -12,8 +12,8 @@ class PyGoogleResumableMedia(PythonPackage):
homepage = "https://github.com/GoogleCloudPlatform/google-resumable-media-python"
pypi = "google-resumable-media/google-resumable-media-0.3.2.tar.gz"
- version('0.3.2', sha256='3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba')
+ version("0.3.2", sha256="3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-google/package.py b/var/spack/repos/builtin/packages/py-google/package.py
index 612676c24c..2687389553 100644
--- a/var/spack/repos/builtin/packages/py-google/package.py
+++ b/var/spack/repos/builtin/packages/py-google/package.py
@@ -13,7 +13,7 @@ class PyGoogle(PythonPackage):
homepage = "https://breakingcode.wordpress.com/"
pypi = "google/google-3.0.0.tar.gz"
- version('3.0.0', sha256='143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe')
+ version("3.0.0", sha256="143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe")
- depends_on('py-setuptools', type='build')
- depends_on('py-beautifulsoup4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-beautifulsoup4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
index 4152b2ad7c..427fd52ef9 100644
--- a/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
+++ b/var/spack/repos/builtin/packages/py-googleapis-common-protos/package.py
@@ -12,9 +12,9 @@ class PyGoogleapisCommonProtos(PythonPackage):
homepage = "https://github.com/googleapis/googleapis"
pypi = "googleapis-common-protos/googleapis-common-protos-1.6.0.tar.gz"
- version('1.55.0', sha256='53eb313064738f45d5ac634155ae208e121c963659627b90dfcb61ef514c03e1')
- version('1.6.0', sha256='e61b8ed5e36b976b487c6e7b15f31bb10c7a0ca7bd5c0e837f4afab64b53a0c6')
+ version("1.55.0", sha256="53eb313064738f45d5ac634155ae208e121c963659627b90dfcb61ef514c03e1")
+ version("1.6.0", sha256="e61b8ed5e36b976b487c6e7b15f31bb10c7a0ca7bd5c0e837f4afab64b53a0c6")
- depends_on('py-setuptools', type='build')
- depends_on('py-protobuf@3.6.0:3', type=('build', 'run'))
- depends_on('py-protobuf@3.12.0:3', type=('build', 'run'), when='@1.55.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-protobuf@3.6.0:3", type=("build", "run"))
+ depends_on("py-protobuf@3.12.0:3", type=("build", "run"), when="@1.55.0:")
diff --git a/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
index ea9f5eae6c..31422420f5 100644
--- a/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
+++ b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
@@ -13,6 +13,6 @@ class PyGoogledrivedownloader(PythonPackage):
homepage = "https://github.com/ndrplz/google-drive-downloader"
pypi = "googledrivedownloader/googledrivedownloader-0.4.tar.gz"
- version('0.4', sha256='4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204')
+ version("0.4", sha256="4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-gosam/package.py b/var/spack/repos/builtin/packages/py-gosam/package.py
index 930491e410..b8842ac8c2 100644
--- a/var/spack/repos/builtin/packages/py-gosam/package.py
+++ b/var/spack/repos/builtin/packages/py-gosam/package.py
@@ -8,32 +8,38 @@ from spack.package import *
class PyGosam(Package):
"""The package GoSam allows for the automated calculation of
- one-loop amplitudes for multi-particle processes in renormalizable
- quantum field theories."""
+ one-loop amplitudes for multi-particle processes in renormalizable
+ quantum field theories."""
homepage = "https://github.com/gudrunhe/gosam"
- git = "https://github.com/gudrunhe/gosam.git"
-
- tags = ['hep']
-
- extends('python')
-
- version('2.1.1', url="https://github.com/gudrunhe/gosam/releases/download/2.1.1/gosam-2.1.1-4b98559.tar.gz",
- sha256="4a2b9160d51e3532025b9579a4d17d0e0f8a755b8481aeb8271c1f58eb97ab01")
- version('2.0.4', sha256='faf621c70f66d9dffc16ac5cce66258067f39f686d722a4867eeb759fcde4f44',
- url='https://gosam.hepforge.org/downloads/?f=gosam-2.0.4-6d9f1cba.tar.gz')
- version('2.0.3', tag='v2.0.3', commit='4146ab23a06b7c57c10fb36df60758d34aa58387')
-
- depends_on('form', type='run')
- depends_on('qgraf', type='run')
- depends_on('gosam-contrib', type='link')
- depends_on('python@2.7.0:2.7', type=('build', 'run'), when='@:2.0.4')
- depends_on('python@3:', type=('build', 'run'), when='@2.1.1:')
+ git = "https://github.com/gudrunhe/gosam.git"
+
+ tags = ["hep"]
+
+ extends("python")
+
+ version(
+ "2.1.1",
+ url="https://github.com/gudrunhe/gosam/releases/download/2.1.1/gosam-2.1.1-4b98559.tar.gz",
+ sha256="4a2b9160d51e3532025b9579a4d17d0e0f8a755b8481aeb8271c1f58eb97ab01",
+ )
+ version(
+ "2.0.4",
+ sha256="faf621c70f66d9dffc16ac5cce66258067f39f686d722a4867eeb759fcde4f44",
+ url="https://gosam.hepforge.org/downloads/?f=gosam-2.0.4-6d9f1cba.tar.gz",
+ )
+ version("2.0.3", tag="v2.0.3", commit="4146ab23a06b7c57c10fb36df60758d34aa58387")
+
+ depends_on("form", type="run")
+ depends_on("qgraf", type="run")
+ depends_on("gosam-contrib", type="link")
+ depends_on("python@2.7.0:2.7", type=("build", "run"), when="@:2.0.4")
+ depends_on("python@3:", type=("build", "run"), when="@2.1.1:")
def setup_run_environment(self, env):
- gosam_contrib_lib_dir = self.spec['gosam-contrib'].prefix.lib
- env.prepend_path('LD_LIBRARY_PATH', gosam_contrib_lib_dir)
+ gosam_contrib_lib_dir = self.spec["gosam-contrib"].prefix.lib
+ env.prepend_path("LD_LIBRARY_PATH", gosam_contrib_lib_dir)
def install(self, spec, prefix):
- python('-s', 'setup.py', '--no-user-cfg', 'build')
- python('-s', 'setup.py', '--no-user-cfg', 'install', '--prefix=' + prefix)
+ python("-s", "setup.py", "--no-user-cfg", "build")
+ python("-s", "setup.py", "--no-user-cfg", "install", "--prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/py-gpaw/package.py b/var/spack/repos/builtin/packages/py-gpaw/package.py
index 2c6d7d7657..f6a51752ff 100644
--- a/var/spack/repos/builtin/packages/py-gpaw/package.py
+++ b/var/spack/repos/builtin/packages/py-gpaw/package.py
@@ -14,53 +14,51 @@ class PyGpaw(PythonPackage):
homepage = "https://wiki.fysik.dtu.dk/gpaw/index.html"
pypi = "gpaw/gpaw-1.3.0.tar.gz"
- version('21.1.0', sha256='96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3')
- version('20.10.0', sha256='77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d')
- version('20.1.0', sha256='c84307eb9943852d78d966c0c8856fcefdefa68621139906909908fb641b8421')
- version('19.8.1', sha256='79dee367d695d68409c4d69edcbad5c8679137d6715da403f6c2500cb2178c2a')
- version('1.3.0', sha256='cf601c69ac496421e36111682bcc1d23da2dba2aabc96be51accf73dea30655c')
+ version("21.1.0", sha256="96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3")
+ version("20.10.0", sha256="77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d")
+ version("20.1.0", sha256="c84307eb9943852d78d966c0c8856fcefdefa68621139906909908fb641b8421")
+ version("19.8.1", sha256="79dee367d695d68409c4d69edcbad5c8679137d6715da403f6c2500cb2178c2a")
+ version("1.3.0", sha256="cf601c69ac496421e36111682bcc1d23da2dba2aabc96be51accf73dea30655c")
- variant('mpi', default=True, description='Build with MPI support')
- variant('scalapack', default=True,
- description='Build with ScaLAPACK support')
- variant('fftw', default=True, description='Build with FFTW support')
- variant('libvdwxc', default=True, description='Build with libvdwxc support')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("scalapack", default=True, description="Build with ScaLAPACK support")
+ variant("fftw", default=True, description="Build with FFTW support")
+ variant("libvdwxc", default=True, description="Build with libvdwxc support")
- depends_on('mpi', when='+mpi', type=('build', 'link', 'run'))
- depends_on('python@2.6:', type=('build', 'run'), when='@:1.3.0')
- depends_on('python@3.5:', type=('build', 'run'), when='@19.8.1:')
- depends_on('python@3.6:', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-ase@3.13.0:', type=('build', 'run'), when='@1.3.0')
- depends_on('py-ase@3.18.0:', type=('build', 'run'), when='@19.8.1')
- depends_on('py-ase@3.19.0:', type=('build', 'run'), when='@20.1.0')
- depends_on('py-ase@3.20.1:', type=('build', 'run'), when='@20.10.0')
- depends_on('py-ase@3.21.0:', type=('build', 'run'), when='@21.1.0')
- depends_on('py-numpy +blas +lapack', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('libxc@3:4.3.4')
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw+mpi', when='+fftw +mpi')
- depends_on('fftw~mpi', when='+fftw ~mpi')
- depends_on('scalapack', when='+scalapack')
- depends_on('libvdwxc', when='+libvdwxc')
+ depends_on("mpi", when="+mpi", type=("build", "link", "run"))
+ depends_on("python@2.6:", type=("build", "run"), when="@:1.3.0")
+ depends_on("python@3.5:", type=("build", "run"), when="@19.8.1:")
+ depends_on("python@3.6:", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ase@3.13.0:", type=("build", "run"), when="@1.3.0")
+ depends_on("py-ase@3.18.0:", type=("build", "run"), when="@19.8.1")
+ depends_on("py-ase@3.19.0:", type=("build", "run"), when="@20.1.0")
+ depends_on("py-ase@3.20.1:", type=("build", "run"), when="@20.10.0")
+ depends_on("py-ase@3.21.0:", type=("build", "run"), when="@21.1.0")
+ depends_on("py-numpy +blas +lapack", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("libxc@3:4.3.4")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw+mpi", when="+fftw +mpi")
+ depends_on("fftw~mpi", when="+fftw ~mpi")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("libvdwxc", when="+libvdwxc")
- patch('libxc.patch', when='@1.3.0')
+ patch("libxc.patch", when="@1.3.0")
def patch(self):
spec = self.spec
# For build notes see https://wiki.fysik.dtu.dk/gpaw/install.html
- libxc = spec['libxc']
- blas = spec['blas']
- lapack = spec['lapack']
+ libxc = spec["libxc"]
+ blas = spec["blas"]
+ lapack = spec["lapack"]
- python_include = spec['python'].headers.directories[0]
+ python_include = spec["python"].headers.directories[0]
numpy_include = join_path(
- spec['py-numpy'].prefix,
- spec['python'].package.platlib,
- 'numpy', 'core', 'include')
+ spec["py-numpy"].prefix, spec["python"].package.platlib, "numpy", "core", "include"
+ )
libs = blas.libs + lapack.libs + libxc.libs
include_dirs = [
@@ -68,56 +66,53 @@ class PyGpaw(PythonPackage):
numpy_include,
blas.prefix.include,
lapack.prefix.include,
- libxc.prefix.include
+ libxc.prefix.include,
]
- if '+mpi' in spec:
- libs += spec['mpi'].libs
- mpi_include_dirs = repr([spec['mpi'].prefix.include])
- mpi_library_dirs = repr(list(spec['mpi'].libs.directories))
- include_dirs.append(spec['mpi'].prefix.include)
- if '+scalapack' in spec:
- libs += spec['scalapack'].libs
- include_dirs.append(spec['scalapack'].prefix.include)
- scalapack_macros = repr([
- ('GPAW_NO_UNDERSCORE_CBLACS', '1'),
- ('GPAW_NO_UNDERSCORE_CSCALAPACK', '1')
- ])
- if '+fftw' in spec:
- libs += spec['fftw'].libs
- include_dirs.append(spec['fftw'].prefix.include)
- if '+libvdwxc' in spec:
- libs += spec['libvdwxc'].libs
- include_dirs.append(spec['libvdwxc'].prefix.include)
+ if "+mpi" in spec:
+ libs += spec["mpi"].libs
+ mpi_include_dirs = repr([spec["mpi"].prefix.include])
+ mpi_library_dirs = repr(list(spec["mpi"].libs.directories))
+ include_dirs.append(spec["mpi"].prefix.include)
+ if "+scalapack" in spec:
+ libs += spec["scalapack"].libs
+ include_dirs.append(spec["scalapack"].prefix.include)
+ scalapack_macros = repr(
+ [("GPAW_NO_UNDERSCORE_CBLACS", "1"), ("GPAW_NO_UNDERSCORE_CSCALAPACK", "1")]
+ )
+ if "+fftw" in spec:
+ libs += spec["fftw"].libs
+ include_dirs.append(spec["fftw"].prefix.include)
+ if "+libvdwxc" in spec:
+ libs += spec["libvdwxc"].libs
+ include_dirs.append(spec["libvdwxc"].prefix.include)
lib_dirs = list(libs.directories)
libs = list(libs.names)
- rpath_str = ':'.join(self.rpath)
+ rpath_str = ":".join(self.rpath)
- if spec.satisfies('@:19.8.1'):
- cfgfile = 'customize.py'
+ if spec.satisfies("@:19.8.1"):
+ cfgfile = "customize.py"
else:
- cfgfile = 'siteconfig.py'
+ cfgfile = "siteconfig.py"
- with open(cfgfile, 'w') as f:
+ with open(cfgfile, "w") as f:
f.write("libraries = {0}\n".format(repr(libs)))
f.write("include_dirs = {0}\n".format(repr(include_dirs)))
f.write("library_dirs = {0}\n".format(repr(lib_dirs)))
- f.write(
- "extra_link_args += ['-Wl,-rpath={0}']\n".format(rpath_str)
- )
- if '+mpi' in spec:
+ f.write("extra_link_args += ['-Wl,-rpath={0}']\n".format(rpath_str))
+ if "+mpi" in spec:
f.write("define_macros += [('PARALLEL', '1')]\n")
- f.write("compiler='{0}'\n".format(spec['mpi'].mpicc))
- f.write("mpicompiler = '{0}'\n".format(spec['mpi'].mpicc))
+ f.write("compiler='{0}'\n".format(spec["mpi"].mpicc))
+ f.write("mpicompiler = '{0}'\n".format(spec["mpi"].mpicc))
f.write("mpi_include_dirs = {0}\n".format(mpi_include_dirs))
f.write("mpi_library_dirs = {0}\n".format(mpi_library_dirs))
else:
f.write("compiler='{0}'\n".format(self.compiler.cc))
f.write("mpicompiler = None\n")
- if '+scalapack' in spec:
+ if "+scalapack" in spec:
f.write("scalapack = True\n")
f.write("define_macros += {0}\n".format(scalapack_macros))
- if '+fftw' in spec:
+ if "+fftw" in spec:
f.write("fftw = True\n")
- if '+libvdwxc' in spec:
+ if "+libvdwxc" in spec:
f.write("libvdwxc = True\n")
diff --git a/var/spack/repos/builtin/packages/py-gpustat/package.py b/var/spack/repos/builtin/packages/py-gpustat/package.py
index d141ade352..e4b065e62f 100644
--- a/var/spack/repos/builtin/packages/py-gpustat/package.py
+++ b/var/spack/repos/builtin/packages/py-gpustat/package.py
@@ -13,18 +13,21 @@ class PyGpustat(PythonPackage):
homepage = "https://github.com/wookayin/gpustat"
pypi = "gpustat/gpustat-0.6.0.tar.gz"
- version('1.0.0b1', sha256='a25c460c5751180265814f457249ba5100baf7a055b23ad762a4e3ab3f6496dd')
- version('0.6.0', sha256='f69135080b2668b662822633312c2180002c10111597af9631bb02e042755b6c',
- preferred=True)
+ version("1.0.0b1", sha256="a25c460c5751180265814f457249ba5100baf7a055b23ad762a4e3ab3f6496dd")
+ version(
+ "0.6.0",
+ sha256="f69135080b2668b662822633312c2180002c10111597af9631bb02e042755b6c",
+ preferred=True,
+ )
- depends_on('python@3.4:', when='@1.0.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', when='@0.6.0', type='build')
- depends_on('py-pytest-runner@5:', when='@1: ^python@3.5:', type='build')
- depends_on('py-pytest-runner@:4', when='@1: ^python@:3.4', type='build')
- depends_on('py-six@1.7:', type=('build', 'run'))
- depends_on('py-nvidia-ml-py@7.352.0:', when='^python@:2', type=('build', 'run'))
- depends_on('py-nvidia-ml-py3@7.352.0:', when='^python@3:', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-blessings@1.6:', when='@0.6.0', type=('build', 'run'))
- depends_on('py-blessed@1.17.1:', when='@1.0.0:', type=('build', 'run'))
+ depends_on("python@3.4:", when="@1.0.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", when="@0.6.0", type="build")
+ depends_on("py-pytest-runner@5:", when="@1: ^python@3.5:", type="build")
+ depends_on("py-pytest-runner@:4", when="@1: ^python@:3.4", type="build")
+ depends_on("py-six@1.7:", type=("build", "run"))
+ depends_on("py-nvidia-ml-py@7.352.0:", when="^python@:2", type=("build", "run"))
+ depends_on("py-nvidia-ml-py3@7.352.0:", when="^python@3:", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-blessings@1.6:", when="@0.6.0", type=("build", "run"))
+ depends_on("py-blessed@1.17.1:", when="@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gputil/package.py b/var/spack/repos/builtin/packages/py-gputil/package.py
index 098ad4ced7..ac22f58d27 100644
--- a/var/spack/repos/builtin/packages/py-gputil/package.py
+++ b/var/spack/repos/builtin/packages/py-gputil/package.py
@@ -13,6 +13,6 @@ class PyGputil(PythonPackage):
homepage = "https://github.com/anderskm/gputil"
pypi = "GPUtil/GPUtil-1.4.0.tar.gz"
- version('1.4.0', sha256='099e52c65e512cdfa8c8763fca67f5a5c2afb63469602d5dcb4d296b3661efb9')
+ version("1.4.0", sha256="099e52c65e512cdfa8c8763fca67f5a5c2afb63469602d5dcb4d296b3661efb9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-gpy/package.py b/var/spack/repos/builtin/packages/py-gpy/package.py
index fb35558fa1..9dd6cc4ce1 100644
--- a/var/spack/repos/builtin/packages/py-gpy/package.py
+++ b/var/spack/repos/builtin/packages/py-gpy/package.py
@@ -11,15 +11,15 @@ class PyGpy(PythonPackage):
homepage = "https://sheffieldml.github.io/GPy/"
pypi = "gpy/GPy-1.9.9.tar.gz"
- maintainers = ['liuyangzhuan']
+ maintainers = ["liuyangzhuan"]
- version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed')
- version('0.8.8', sha256='e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988')
+ version("1.9.9", sha256="04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed")
+ version("0.8.8", sha256="e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy@0.16:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-paramz@0.9.0:', type=('build', 'run'))
- depends_on('py-cython@0.29:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scipy@0.16:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-paramz@0.9.0:", type=("build", "run"))
+ depends_on("py-cython@0.29:", type="build")
depends_on("python@:3.8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gpyopt/package.py b/var/spack/repos/builtin/packages/py-gpyopt/package.py
index 4597b9e736..1ccc514ebf 100644
--- a/var/spack/repos/builtin/packages/py-gpyopt/package.py
+++ b/var/spack/repos/builtin/packages/py-gpyopt/package.py
@@ -7,18 +7,18 @@ from spack.package import *
class PyGpyopt(PythonPackage):
- """ Performs global optimization with different acquisition functions. Among
+ """Performs global optimization with different acquisition functions. Among
other functionalities, it is possible to use GPyOpt to optimize physical
experiments (sequentially or in batches) and tune the parameters of Machine
Learning algorithms. It is able to handle large data sets via sparse
Gaussian process models."""
homepage = "http://sheffieldml.github.io/GPyOpt/"
- pypi = "GPyOpt/GPyOpt-1.2.6.tar.gz"
+ pypi = "GPyOpt/GPyOpt-1.2.6.tar.gz"
- version('1.2.6', sha256='e714daa035bb529a6db23c53665a762a4ab3456b9329c19ad3b03983f94c9b2a')
+ version("1.2.6", sha256="e714daa035bb529a6db23c53665a762a4ab3456b9329c19ad3b03983f94c9b2a")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy@0.16:', type=('build', 'run'))
- depends_on('py-gpy@1.8:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scipy@0.16:", type=("build", "run"))
+ depends_on("py-gpy@1.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gpytorch/package.py b/var/spack/repos/builtin/packages/py-gpytorch/package.py
index ba5982297b..3b903ccf4d 100644
--- a/var/spack/repos/builtin/packages/py-gpytorch/package.py
+++ b/var/spack/repos/builtin/packages/py-gpytorch/package.py
@@ -15,24 +15,24 @@ class PyGpytorch(PythonPackage):
homepage = "https://gpytorch.ai/"
pypi = "gpytorch/gpytorch-1.2.1.tar.gz"
- maintainers = ['adamjstewart']
-
- version('1.8.0', sha256='d6c0c77d9a61f47feac2d19456816ccea1ed48c32c72d7ea33aa13b259e2a455')
- version('1.7.0', sha256='e91cb8a1883d54f8f57cebbc0c61c227b3cd72528d8e90e770f971fc4e408538')
- version('1.6.0', sha256='08e8f1a80669dc3eee5ba237fc00c867a8858f9b186bbec8571a8cf9af36f543')
- version('1.2.1', sha256='ddd746529863d5419872610af23b1a1b0e8a29742131c9d9d2b4f9cae3c90781')
- version('1.2.0', sha256='fcb216e0c1f128a41c91065766508e91e487d6ffadf212a51677d8014aefca84')
- version('1.1.1', sha256='76bd455db2f17af5425f73acfaa6d61b8adb1f07ad4881c0fa22673f84fb571a')
-
- depends_on('python@3.7:', when='@1.7:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch@1.10:', when='@1.7:', type=('build', 'run'))
- depends_on('py-torch@1.9:', when='@1.6:', type=('build', 'run'))
- depends_on('py-torch@1.8.1:', when='@1.5:', type=('build', 'run'))
- depends_on('py-torch@1.7:', when='@1.3:', type=('build', 'run'))
- depends_on('py-torch@1.6:', when='@1.2:', type=('build', 'run'))
- depends_on('py-torch@1.5:', type=('build', 'run'))
- depends_on('py-numpy', when='@1.7:', type=('build', 'run'))
- depends_on('py-scikit-learn', when='@1.2:', type=('build', 'run'))
- depends_on('py-scipy', when='@1.2:', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version("1.8.0", sha256="d6c0c77d9a61f47feac2d19456816ccea1ed48c32c72d7ea33aa13b259e2a455")
+ version("1.7.0", sha256="e91cb8a1883d54f8f57cebbc0c61c227b3cd72528d8e90e770f971fc4e408538")
+ version("1.6.0", sha256="08e8f1a80669dc3eee5ba237fc00c867a8858f9b186bbec8571a8cf9af36f543")
+ version("1.2.1", sha256="ddd746529863d5419872610af23b1a1b0e8a29742131c9d9d2b4f9cae3c90781")
+ version("1.2.0", sha256="fcb216e0c1f128a41c91065766508e91e487d6ffadf212a51677d8014aefca84")
+ version("1.1.1", sha256="76bd455db2f17af5425f73acfaa6d61b8adb1f07ad4881c0fa22673f84fb571a")
+
+ depends_on("python@3.7:", when="@1.7:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch@1.10:", when="@1.7:", type=("build", "run"))
+ depends_on("py-torch@1.9:", when="@1.6:", type=("build", "run"))
+ depends_on("py-torch@1.8.1:", when="@1.5:", type=("build", "run"))
+ depends_on("py-torch@1.7:", when="@1.3:", type=("build", "run"))
+ depends_on("py-torch@1.6:", when="@1.2:", type=("build", "run"))
+ depends_on("py-torch@1.5:", type=("build", "run"))
+ depends_on("py-numpy", when="@1.7:", type=("build", "run"))
+ depends_on("py-scikit-learn", when="@1.2:", type=("build", "run"))
+ depends_on("py-scipy", when="@1.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gql/package.py b/var/spack/repos/builtin/packages/py-gql/package.py
index e50c477392..9e25bf9981 100644
--- a/var/spack/repos/builtin/packages/py-gql/package.py
+++ b/var/spack/repos/builtin/packages/py-gql/package.py
@@ -14,19 +14,19 @@ class PyGql(PythonPackage):
GQL architecture is inspired by React-Relay and Apollo-Client."""
homepage = "https://github.com/graphql-python/gql"
- pypi = "gql/gql-2.0.0.tar.gz"
-
- version('3.0.0a1', sha256='ecd8fd0b6a5a8bb5c9e1a97eefad3f267fc889bd03316211193640d49b3e4525')
- version('0.4.0', sha256='259b0c66d8dfe61feb06fe45b57713da0fe2e5ca13fa500a1fafc9bf2f195e81')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-aiohttp@3.6.2', type=('build', 'run'), when='@3.0:')
- depends_on('py-graphql-core@3.1.0:3.1', type=('build', 'run'), when='@3.0:')
- depends_on('py-requests@2.23:2', type=('build', 'run'), when='@3.0:')
- depends_on('py-websockets@8.1:8', type=('build', 'run'), when='@3.0:')
- depends_on('py-yarl@1.4:1', type=('build', 'run'), when='@3.0:')
-
- depends_on('py-graphql-core@2.0:2', type=('build', 'run'), when='@0.4.0')
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@0.4.0')
- depends_on('py-promise@2.0:2', type=('build', 'run'), when='@0.4.0')
- depends_on('py-requests@2.12:2', type=('build', 'run'), when='@0.4.0')
+ pypi = "gql/gql-2.0.0.tar.gz"
+
+ version("3.0.0a1", sha256="ecd8fd0b6a5a8bb5c9e1a97eefad3f267fc889bd03316211193640d49b3e4525")
+ version("0.4.0", sha256="259b0c66d8dfe61feb06fe45b57713da0fe2e5ca13fa500a1fafc9bf2f195e81")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-aiohttp@3.6.2", type=("build", "run"), when="@3.0:")
+ depends_on("py-graphql-core@3.1.0:3.1", type=("build", "run"), when="@3.0:")
+ depends_on("py-requests@2.23:2", type=("build", "run"), when="@3.0:")
+ depends_on("py-websockets@8.1:8", type=("build", "run"), when="@3.0:")
+ depends_on("py-yarl@1.4:1", type=("build", "run"), when="@3.0:")
+
+ depends_on("py-graphql-core@2.0:2", type=("build", "run"), when="@0.4.0")
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@0.4.0")
+ depends_on("py-promise@2.0:2", type=("build", "run"), when="@0.4.0")
+ depends_on("py-requests@2.12:2", type=("build", "run"), when="@0.4.0")
diff --git a/var/spack/repos/builtin/packages/py-grandalf/package.py b/var/spack/repos/builtin/packages/py-grandalf/package.py
index e2b6028d56..cf5e24e783 100644
--- a/var/spack/repos/builtin/packages/py-grandalf/package.py
+++ b/var/spack/repos/builtin/packages/py-grandalf/package.py
@@ -11,12 +11,12 @@ class PyGrandalf(PythonPackage):
drawing algorithms."""
homepage = "https://github.com/bdcht/grandalf"
- url = "https://github.com/bdcht/grandalf/archive/v0.7.tar.gz"
+ url = "https://github.com/bdcht/grandalf/archive/v0.7.tar.gz"
- version('0.7', sha256='b3112299fe0a9123c088a16bf2f1b541d0d91199b77170a9739b569bd16a828e')
- version('0.6', sha256='928db4b90f7aff01e252a833951086b20d5958c00083411193c794de7bf59df2')
+ version("0.7", sha256="b3112299fe0a9123c088a16bf2f1b541d0d91199b77170a9739b569bd16a828e")
+ version("0.6", sha256="928db4b90f7aff01e252a833951086b20d5958c00083411193c794de7bf59df2")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-graphql-core/package.py b/var/spack/repos/builtin/packages/py-graphql-core/package.py
index 8e9fbbe8c0..0b7dae3f5b 100644
--- a/var/spack/repos/builtin/packages/py-graphql-core/package.py
+++ b/var/spack/repos/builtin/packages/py-graphql-core/package.py
@@ -13,11 +13,11 @@ class PyGraphqlCore(PythonPackage):
for APIs created by Facebook."""
homepage = "https://github.com/graphql-python/graphql-core"
- pypi = "graphql-core/graphql-core-3.1.5.tar.gz"
+ pypi = "graphql-core/graphql-core-3.1.5.tar.gz"
- version('3.1.2', sha256='c056424cbdaa0ff67446e4379772f43746bad50a44ec23d643b9bdcd052f5b3a')
- version('3.0.5', sha256='51f7dab06b5035515b23984f6fcb677ed909b56c672152699cca32e03624992e')
- version('2.3.2', sha256='aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746')
+ version("3.1.2", sha256="c056424cbdaa0ff67446e4379772f43746bad50a44ec23d643b9bdcd052f5b3a")
+ version("3.0.5", sha256="51f7dab06b5035515b23984f6fcb677ed909b56c672152699cca32e03624992e")
+ version("2.3.2", sha256="aac46a9ac524c9855910c14c48fc5d60474def7f99fd10245e76608eba7af746")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-graphviz/package.py b/var/spack/repos/builtin/packages/py-graphviz/package.py
index 6264d3f569..2bb12a7c1e 100644
--- a/var/spack/repos/builtin/packages/py-graphviz/package.py
+++ b/var/spack/repos/builtin/packages/py-graphviz/package.py
@@ -13,23 +13,23 @@ class PyGraphviz(PythonPackage):
homepage = "https://github.com/xflr6/graphviz"
pypi = "graphviz/graphviz-0.10.1.zip"
- version('0.13.2', sha256='60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01')
- version('0.13', sha256='dc08677f37c65a4a480f00df4bd0d19a0a103c06aad95f21a37f0b7fd440de81')
- version('0.12', sha256='c60e232a66e4847f9f644fbaa94730ca4f78385a1314a2cc1e7f4cb2d7461298')
- version('0.11.1', sha256='914b8b124942d82e3e1dcef499c9fe77c10acd3d18a1cfeeb2b9de05f6d24805')
- version('0.10.1', sha256='d311be4fddfe832a56986ac5e1d6e8715d7fcb0208560da79d1bb0f72abef41f')
- version('0.8.4', sha256='4958a19cbd8461757a08db308a4a15c3d586660417e1e364f0107d2fe481689f')
-
- variant('dev', default=False, description='development mode')
- variant('docs', default=False, description='build documentation')
-
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:0.10.1')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@0.11.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-tox@3.0:', type=('build', 'run'), when='+dev')
- depends_on('py-flake8', type=('build', 'run'), when='+dev')
- depends_on('py-pep8-naming', type=('build', 'run'), when='+dev')
- depends_on('py-wheel', type=('build', 'run'), when='+dev')
- depends_on('py-twine', type=('build', 'run'), when='+dev')
- depends_on('py-sphinx@1.7:', type=('build', 'run'), when='+docs')
- depends_on('py-sphinx-rtd-theme', type=('build', 'run'), when='+docs')
+ version("0.13.2", sha256="60acbeee346e8c14555821eab57dbf68a169e6c10bce40e83c1bf44f63a62a01")
+ version("0.13", sha256="dc08677f37c65a4a480f00df4bd0d19a0a103c06aad95f21a37f0b7fd440de81")
+ version("0.12", sha256="c60e232a66e4847f9f644fbaa94730ca4f78385a1314a2cc1e7f4cb2d7461298")
+ version("0.11.1", sha256="914b8b124942d82e3e1dcef499c9fe77c10acd3d18a1cfeeb2b9de05f6d24805")
+ version("0.10.1", sha256="d311be4fddfe832a56986ac5e1d6e8715d7fcb0208560da79d1bb0f72abef41f")
+ version("0.8.4", sha256="4958a19cbd8461757a08db308a4a15c3d586660417e1e364f0107d2fe481689f")
+
+ variant("dev", default=False, description="development mode")
+ variant("docs", default=False, description="build documentation")
+
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@:0.10.1")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@0.11.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tox@3.0:", type=("build", "run"), when="+dev")
+ depends_on("py-flake8", type=("build", "run"), when="+dev")
+ depends_on("py-pep8-naming", type=("build", "run"), when="+dev")
+ depends_on("py-wheel", type=("build", "run"), when="+dev")
+ depends_on("py-twine", type=("build", "run"), when="+dev")
+ depends_on("py-sphinx@1.7:", type=("build", "run"), when="+docs")
+ depends_on("py-sphinx-rtd-theme", type=("build", "run"), when="+docs")
diff --git a/var/spack/repos/builtin/packages/py-greenlet/package.py b/var/spack/repos/builtin/packages/py-greenlet/package.py
index 7b1994bdfe..bfa3507f4b 100644
--- a/var/spack/repos/builtin/packages/py-greenlet/package.py
+++ b/var/spack/repos/builtin/packages/py-greenlet/package.py
@@ -12,11 +12,11 @@ class PyGreenlet(PythonPackage):
homepage = "https://github.com/python-greenlet/greenlet"
pypi = "greenlet/greenlet-0.4.17.tar.gz"
- version('1.1.2', sha256='e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a')
- version('1.1.0', sha256='c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee')
- version('0.4.17', sha256='41d8835c69a78de718e466dd0e6bfd4b46125f21a67c3ff6d76d8d8059868d6b')
- version('0.4.13', sha256='0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4')
+ version("1.1.2", sha256="e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a")
+ version("1.1.0", sha256="c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee")
+ version("0.4.17", sha256="41d8835c69a78de718e466dd0e6bfd4b46125f21a67c3ff6d76d8d8059868d6b")
+ version("0.4.13", sha256="0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4")
- depends_on('python@2.7:2.8,3.5:', when='@1:', type=('build', 'link', 'run'))
- depends_on('python', when='@:0.9', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", when="@1:", type=("build", "link", "run"))
+ depends_on("python", when="@:0.9", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-grequests/package.py b/var/spack/repos/builtin/packages/py-grequests/package.py
index 3f795e7019..87532ea8b0 100644
--- a/var/spack/repos/builtin/packages/py-grequests/package.py
+++ b/var/spack/repos/builtin/packages/py-grequests/package.py
@@ -16,9 +16,9 @@ class PyGrequests(PythonPackage):
homepage = "https://github.com/spyoungtech/grequests"
pypi = "grequests/grequests-0.4.0.tar.gz"
- version('0.4.0', sha256='8aeccc15e60ec65c7e67ee32e9c596ab2196979815497f85cf863465a1626490')
- version('0.3.0', sha256='0f41c4eee83bab39f5543af49665c08681637a0562a5704a3f7b2e4a996531c9')
+ version("0.4.0", sha256="8aeccc15e60ec65c7e67ee32e9c596ab2196979815497f85cf863465a1626490")
+ version("0.3.0", sha256="0f41c4eee83bab39f5543af49665c08681637a0562a5704a3f7b2e4a996531c9")
- depends_on('py-setuptools', type='build')
- depends_on('py-gevent', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-gevent", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-griddataformats/package.py b/var/spack/repos/builtin/packages/py-griddataformats/package.py
index 82d8c25b56..16073aa004 100644
--- a/var/spack/repos/builtin/packages/py-griddataformats/package.py
+++ b/var/spack/repos/builtin/packages/py-griddataformats/package.py
@@ -15,12 +15,12 @@ class PyGriddataformats(PythonPackage):
homepage = "http://www.mdanalysis.org/GridDataFormats"
pypi = "GridDataFormats/GridDataFormats-0.5.0.tar.gz"
- version('0.5.0', sha256='f317ed60708de22d1b2a76ce89a00f722d903291b1055ff1018d441870c39d69')
- version('0.4.1', sha256='b362662c2dc475e2a3895fe044eaaa9a707bd660fd109a63dac84a47236690a3')
- version('0.4.0', sha256='f81d6b75aa7ebd9e8b64e14558c2d2583a0589829382beb4ef69860110261512')
- version('0.3.3', sha256='938f0efcb3bc2f58ec85048b933942da8a52c134170acc97cb095f09d3698fbd')
+ version("0.5.0", sha256="f317ed60708de22d1b2a76ce89a00f722d903291b1055ff1018d441870c39d69")
+ version("0.4.1", sha256="b362662c2dc475e2a3895fe044eaaa9a707bd660fd109a63dac84a47236690a3")
+ version("0.4.0", sha256="f81d6b75aa7ebd9e8b64e14558c2d2583a0589829382beb4ef69860110261512")
+ version("0.3.3", sha256="938f0efcb3bc2f58ec85048b933942da8a52c134170acc97cb095f09d3698fbd")
- depends_on('python@2.7:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.0.3:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.0.3:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py
index 876da4280b..78c4339279 100644
--- a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py
@@ -10,51 +10,59 @@ class PyGrpcioTools(PythonPackage):
"""Protobuf code generator for gRPC"""
homepage = "https://grpc.io/"
- pypi = "grpcio-tools/grpcio-tools-1.42.0.tar.gz"
-
- version('1.42.0', sha256='d0a0daa82eb2c2fb8e12b82a458d1b7c5516fe1135551da92b1a02e2cba93422')
- version('1.39.0', sha256='39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-protobuf@3.5.0.post1:3', type=('build', 'run'))
- depends_on('py-grpcio@1.42.0:', type=('build', 'run'), when='@1.42.0:')
- depends_on('py-grpcio@1.39.0:', type=('build', 'run'), when='@1.39.0:1.41')
- depends_on('py-cython@0.23:', type='build')
- depends_on('openssl')
- depends_on('zlib')
- depends_on('c-ares')
- depends_on('re2+shared')
+ pypi = "grpcio-tools/grpcio-tools-1.42.0.tar.gz"
+
+ version("1.42.0", sha256="d0a0daa82eb2c2fb8e12b82a458d1b7c5516fe1135551da92b1a02e2cba93422")
+ version("1.39.0", sha256="39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-protobuf@3.5.0.post1:3", type=("build", "run"))
+ depends_on("py-grpcio@1.42.0:", type=("build", "run"), when="@1.42.0:")
+ depends_on("py-grpcio@1.39.0:", type=("build", "run"), when="@1.39.0:1.41")
+ depends_on("py-cython@0.23:", type="build")
+ depends_on("openssl")
+ depends_on("zlib")
+ depends_on("c-ares")
+ depends_on("re2+shared")
def setup_build_environment(self, env):
- env.set('GRPC_PYTHON_BUILD_WITH_CYTHON', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_ZLIB', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_RE2', True)
+ env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", True)
# https://github.com/grpc/grpc/pull/24449
- env.set('GRPC_BUILD_WITH_BORING_SSL_ASM', '')
- env.set('GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS', str(make_jobs))
+ 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'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
- env.prepend_path('LIBRARY_PATH', query.libs.directories[0])
- env.prepend_path('CPATH', query.headers.directories[0])
+ env.prepend_path("LIBRARY_PATH", query.libs.directories[0])
+ env.prepend_path("CPATH", query.headers.directories[0])
def patch(self):
- if self.spec.satisfies('%fj'):
+ if self.spec.satisfies("%fj"):
filter_file("-std=gnu99", "", "setup.py")
# use the spack packages
- filter_file(r'(\s+SSL_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['openssl'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+ZLIB_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['zlib'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+CARES_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['c-ares'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+RE2_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['re2'].prefix.include),
- 'setup.py')
+ filter_file(
+ r"(\s+SSL_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["openssl"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+ZLIB_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["zlib"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+CARES_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["c-ares"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+RE2_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["re2"].prefix.include),
+ "setup.py",
+ )
diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py
index adcea8b43e..29712761ec 100644
--- a/var/spack/repos/builtin/packages/py-grpcio/package.py
+++ b/var/spack/repos/builtin/packages/py-grpcio/package.py
@@ -12,68 +12,76 @@ class PyGrpcio(PythonPackage):
homepage = "https://grpc.io/"
pypi = "grpcio/grpcio-1.32.0.tar.gz"
- version('1.43.0', sha256='735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5')
- version('1.42.0', sha256='4a8f2c7490fe3696e0cdd566e2f099fb91b51bc75446125175c55581c2f7bc11')
- version('1.39.0', sha256='57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407')
- version('1.38.1', sha256='1f79d8a24261e3c12ec3a6c25945ff799ae09874fd24815bc17c2dc37715ef6c')
- version('1.38.0', sha256='abbf9c8c3df4d5233d5888c6cfa85c1bb68a6923749bd4dd1abc6e1e93986f17')
- version('1.37.1', sha256='df8305806311d3fe913d4f7eb3ef28e2072159ea12f95baab5d447f1380a71e3')
- version('1.37.0', sha256='b3ce16aa91569760fdabd77ca901b2288152eb16941d28edd9a3a75a0c4a8a85')
- version('1.36.0', sha256='70b11805bc9385fcd24e15bcdc5bd8bed463026cd2227d9fdd1ebda612ba0cd9')
- version('1.35.0', sha256='7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c')
- version('1.34.1', sha256='1c746a3cd8a830d8d916a9d0476a786aaa98c5cc2a096344af2be955e439f8ac')
- version('1.34.0', sha256='f98f746cacbaa681de0bcd90d7aa77b440e3e1327a9988f6a2b580d54e27d4c3')
- version('1.33.2', sha256='21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e')
- version('1.33.1', sha256='f19782ec5104599382a0f73f2dfea465d0e65f6818bb3c49ca672b97034c64c3')
- version('1.32.0', sha256='01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639')
- version('1.30.0', sha256='e8f2f5d16e0164c415f1b31a8d9a81f2e4645a43d1b261375d6bab7b0adf511f')
- version('1.29.0', sha256='a97ea91e31863c9a3879684b5fb3c6ab4b17c5431787548fc9f52b9483ea9c25')
- version('1.28.1', sha256='cbc322c5d5615e67c2a15be631f64e6c2bab8c12505bc7c150948abdaa0bdbac')
- version('1.27.2', sha256='5ae532b93cf9ce5a2a549b74a2c35e3b690b171ece9358519b3039c7b84c887e')
- version('1.25.0', sha256='c948c034d8997526011960db54f512756fb0b4be1b81140a15b4ef094c6594a4')
- version('1.16.0', sha256='d99db0b39b490d2469a8ef74197d5f211fa740fc9581dccecbb76c56d080fce1')
+ version("1.43.0", sha256="735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5")
+ version("1.42.0", sha256="4a8f2c7490fe3696e0cdd566e2f099fb91b51bc75446125175c55581c2f7bc11")
+ version("1.39.0", sha256="57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407")
+ version("1.38.1", sha256="1f79d8a24261e3c12ec3a6c25945ff799ae09874fd24815bc17c2dc37715ef6c")
+ version("1.38.0", sha256="abbf9c8c3df4d5233d5888c6cfa85c1bb68a6923749bd4dd1abc6e1e93986f17")
+ version("1.37.1", sha256="df8305806311d3fe913d4f7eb3ef28e2072159ea12f95baab5d447f1380a71e3")
+ version("1.37.0", sha256="b3ce16aa91569760fdabd77ca901b2288152eb16941d28edd9a3a75a0c4a8a85")
+ version("1.36.0", sha256="70b11805bc9385fcd24e15bcdc5bd8bed463026cd2227d9fdd1ebda612ba0cd9")
+ version("1.35.0", sha256="7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c")
+ version("1.34.1", sha256="1c746a3cd8a830d8d916a9d0476a786aaa98c5cc2a096344af2be955e439f8ac")
+ version("1.34.0", sha256="f98f746cacbaa681de0bcd90d7aa77b440e3e1327a9988f6a2b580d54e27d4c3")
+ version("1.33.2", sha256="21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e")
+ version("1.33.1", sha256="f19782ec5104599382a0f73f2dfea465d0e65f6818bb3c49ca672b97034c64c3")
+ version("1.32.0", sha256="01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639")
+ version("1.30.0", sha256="e8f2f5d16e0164c415f1b31a8d9a81f2e4645a43d1b261375d6bab7b0adf511f")
+ version("1.29.0", sha256="a97ea91e31863c9a3879684b5fb3c6ab4b17c5431787548fc9f52b9483ea9c25")
+ version("1.28.1", sha256="cbc322c5d5615e67c2a15be631f64e6c2bab8c12505bc7c150948abdaa0bdbac")
+ version("1.27.2", sha256="5ae532b93cf9ce5a2a549b74a2c35e3b690b171ece9358519b3039c7b84c887e")
+ version("1.25.0", sha256="c948c034d8997526011960db54f512756fb0b4be1b81140a15b4ef094c6594a4")
+ version("1.16.0", sha256="d99db0b39b490d2469a8ef74197d5f211fa740fc9581dccecbb76c56d080fce1")
- depends_on('python@3.6:', when='@1.42:', type=('build', 'link', 'run'))
- depends_on('python@3.5:', when='@1.30:', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.5.2:', type=('build', 'run'))
- depends_on('py-futures@2.2.0:', when='^python@:3.1', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-cython@0.23:', type='build')
- depends_on('openssl')
- depends_on('zlib')
- depends_on('c-ares')
- depends_on('re2+shared')
+ depends_on("python@3.6:", when="@1.42:", type=("build", "link", "run"))
+ depends_on("python@3.5:", when="@1.30:", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.5.2:", type=("build", "run"))
+ depends_on("py-futures@2.2.0:", when="^python@:3.1", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-cython@0.23:", type="build")
+ depends_on("openssl")
+ depends_on("zlib")
+ depends_on("c-ares")
+ depends_on("re2+shared")
def setup_build_environment(self, env):
- env.set('GRPC_PYTHON_BUILD_WITH_CYTHON', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_ZLIB', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True)
- env.set('GRPC_PYTHON_BUILD_SYSTEM_RE2', True)
+ env.set("GRPC_PYTHON_BUILD_WITH_CYTHON", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_OPENSSL", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_ZLIB", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_CARES", True)
+ env.set("GRPC_PYTHON_BUILD_SYSTEM_RE2", True)
# https://github.com/grpc/grpc/pull/24449
- env.set('GRPC_BUILD_WITH_BORING_SSL_ASM', '')
- env.set('GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS', str(make_jobs))
+ 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'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
- env.prepend_path('LIBRARY_PATH', query.libs.directories[0])
- env.prepend_path('CPATH', query.headers.directories[0])
+ env.prepend_path("LIBRARY_PATH", query.libs.directories[0])
+ env.prepend_path("CPATH", query.headers.directories[0])
def patch(self):
filter_file("-std=gnu99", "", "setup.py")
# use the spack packages
- filter_file(r'(\s+SSL_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['openssl'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+ZLIB_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['zlib'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+CARES_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['c-ares'].prefix.include),
- 'setup.py')
- filter_file(r'(\s+RE2_INCLUDE = ).*',
- r"\1('{0}',)".format(self.spec['re2'].prefix.include),
- 'setup.py')
+ filter_file(
+ r"(\s+SSL_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["openssl"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+ZLIB_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["zlib"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+CARES_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["c-ares"].prefix.include),
+ "setup.py",
+ )
+ filter_file(
+ r"(\s+RE2_INCLUDE = ).*",
+ r"\1('{0}',)".format(self.spec["re2"].prefix.include),
+ "setup.py",
+ )
diff --git a/var/spack/repos/builtin/packages/py-gsd/package.py b/var/spack/repos/builtin/packages/py-gsd/package.py
index e7b26fa2a2..51425fcdac 100644
--- a/var/spack/repos/builtin/packages/py-gsd/package.py
+++ b/var/spack/repos/builtin/packages/py-gsd/package.py
@@ -18,8 +18,8 @@ class PyGsd(PythonPackage):
homepage = "https://gsd.readthedocs.io/en/stable/#"
pypi = "gsd/gsd-1.9.3.tar.gz"
- version('1.9.3', sha256='c6b37344e69020f69fda2b8d97f894cb41fd720840abeda682edd680d1cff838')
+ version("1.9.3", sha256="c6b37344e69020f69fda2b8d97f894cb41fd720840abeda682edd680d1cff838")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.9.3:19', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.9.3:19", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gsi/package.py b/var/spack/repos/builtin/packages/py-gsi/package.py
index 17154e2031..19e86779d3 100644
--- a/var/spack/repos/builtin/packages/py-gsi/package.py
+++ b/var/spack/repos/builtin/packages/py-gsi/package.py
@@ -12,8 +12,8 @@ class PyGsi(PythonPackage):
homepage = "https://github.com/DIRACGrid/pyGSI"
pypi = "gsi/GSI-0.6.5.tar.gz"
- version('0.6.5', sha256='8291dd2fab2be12626272629f7f9661487c4e29f1f9ab8c61614c54b06cb0643')
+ version("0.6.5", sha256="8291dd2fab2be12626272629f7f9661487c4e29f1f9ab8c61614c54b06cb0643")
- depends_on('python@2.7.0:2.7', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('openssl', type='link')
+ depends_on("python@2.7.0:2.7", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("openssl", type="link")
diff --git a/var/spack/repos/builtin/packages/py-gsutil/package.py b/var/spack/repos/builtin/packages/py-gsutil/package.py
index d254145584..61981e53ac 100644
--- a/var/spack/repos/builtin/packages/py-gsutil/package.py
+++ b/var/spack/repos/builtin/packages/py-gsutil/package.py
@@ -10,24 +10,24 @@ class PyGsutil(PythonPackage):
"""A command line tool for interacting with cloud storage services."""
homepage = "https://cloud.google.com/storage/docs/gsutil"
- pypi = "gsutil/gsutil-4.59.tar.gz"
+ pypi = "gsutil/gsutil-4.59.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('5.2', sha256='08857eedbd89c7c6d10176b14f94fb1168d5ef88f5b5b15b3e8a37e29302b79b')
- version('4.59', sha256='349e0e0b48c281659acec205917530ae57e2eb23db7220375f5add44688d3ddf')
+ version("5.2", sha256="08857eedbd89c7c6d10176b14f94fb1168d5ef88f5b5b15b3e8a37e29302b79b")
+ version("4.59", sha256="349e0e0b48c281659acec205917530ae57e2eb23db7220375f5add44688d3ddf")
- depends_on('python@2.7:2.8,3.5:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-argcomplete@1.9.4:', type=('build', 'run'))
- depends_on('py-crcmod@1.7:', type=('build', 'run'))
- depends_on('py-fasteners@0.14.1:', type=('build', 'run'))
- depends_on('py-gcs-oauth2-boto-plugin@2.7:', type=('build', 'run'))
- depends_on('py-google-apitools@0.5.32:', type=('build', 'run'))
- depends_on('py-httplib2@0.18:', type=('build', 'run'))
- depends_on('py-google-auth@0.1.0:', type=('build', 'run'))
- depends_on('py-mock@2.0.0', type=('build', 'run'))
- depends_on('py-monotonic@1.4:', type=('build', 'run'))
- depends_on('py-pyopenssl@0.13:', type=('build', 'run'))
- depends_on('py-retry-decorator@1.0.0:', type=('build', 'run'))
- depends_on('py-six@1.12.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-argcomplete@1.9.4:", type=("build", "run"))
+ depends_on("py-crcmod@1.7:", type=("build", "run"))
+ depends_on("py-fasteners@0.14.1:", type=("build", "run"))
+ depends_on("py-gcs-oauth2-boto-plugin@2.7:", type=("build", "run"))
+ depends_on("py-google-apitools@0.5.32:", type=("build", "run"))
+ depends_on("py-httplib2@0.18:", type=("build", "run"))
+ depends_on("py-google-auth@0.1.0:", type=("build", "run"))
+ depends_on("py-mock@2.0.0", type=("build", "run"))
+ depends_on("py-monotonic@1.4:", type=("build", "run"))
+ depends_on("py-pyopenssl@0.13:", type=("build", "run"))
+ depends_on("py-retry-decorator@1.0.0:", type=("build", "run"))
+ depends_on("py-six@1.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gtdbtk/package.py b/var/spack/repos/builtin/packages/py-gtdbtk/package.py
index 6be8da8465..aefb38b136 100644
--- a/var/spack/repos/builtin/packages/py-gtdbtk/package.py
+++ b/var/spack/repos/builtin/packages/py-gtdbtk/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class PyGtdbtk(PythonPackage):
"""GTDB-Tk is a software toolkit for assigning objective taxonomic
- classifications to bacterial and archaeal genomes based on the Genome
- Database Taxonomy (GTDB)."""
+ classifications to bacterial and archaeal genomes based on the Genome
+ Database Taxonomy (GTDB)."""
homepage = "https://github.com/Ecogenomics/GTDBTk"
- pypi = "gtdbtk/gtdbtk-2.1.0.tar.gz"
+ pypi = "gtdbtk/gtdbtk-2.1.0.tar.gz"
- version('2.1.0', sha256='980885141f13502afdf05e720871427e3de4fe27f4f3f97e74af6fed87eb50a7')
+ version("2.1.0", sha256="980885141f13502afdf05e720871427e3de4fe27f4f3f97e74af6fed87eb50a7")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
- depends_on('py-dendropy@4.1.0:', type=('build', 'run'))
- depends_on('py-numpy@1.9.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.35.0:', type=('build', 'run'))
- depends_on('prodigal@2.6.2:', type=('build', 'run'))
- depends_on('hmmer@3.1b2:', type=('build', 'run'))
- depends_on('pplacer@1.1:', type=('build', 'run'))
- depends_on('fastani@1.32:', type=('build', 'run'))
- depends_on('fasttree@2.1.9:', type=('build', 'run'))
- depends_on('mash@2.2:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-dendropy@4.1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.9.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.35.0:", type=("build", "run"))
+ depends_on("prodigal@2.6.2:", type=("build", "run"))
+ depends_on("hmmer@3.1b2:", type=("build", "run"))
+ depends_on("pplacer@1.1:", type=("build", "run"))
+ depends_on("fastani@1.32:", type=("build", "run"))
+ depends_on("fasttree@2.1.9:", type=("build", "run"))
+ depends_on("mash@2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-guidata/package.py b/var/spack/repos/builtin/packages/py-guidata/package.py
index 55c92a009e..16e575c35b 100644
--- a/var/spack/repos/builtin/packages/py-guidata/package.py
+++ b/var/spack/repos/builtin/packages/py-guidata/package.py
@@ -13,10 +13,10 @@ class PyGuidata(PythonPackage):
homepage = "https://github.com/PierreRaybaut/guidata"
pypi = "guidata/guidata-1.7.5.zip"
- version('1.7.5', sha256='531d5e9ea784120c2e14212cfbd9c63f78fc7a77bcb9c5497be984584ee455c0')
+ version("1.7.5", sha256="531d5e9ea784120c2e14212cfbd9c63f78fc7a77bcb9c5497be984584ee455c0")
# See `doc/installation.rst`
- depends_on('python@2.6:2,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyqt5@5.5:', type=('build', 'run'))
- depends_on('py-spyder@2.0.10:', type=('build', 'run')) # TODO: spyderlib == spyder?
+ depends_on("python@2.6:2,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyqt5@5.5:", type=("build", "run"))
+ depends_on("py-spyder@2.0.10:", type=("build", "run")) # TODO: spyderlib == spyder?
diff --git a/var/spack/repos/builtin/packages/py-guiqwt/package.py b/var/spack/repos/builtin/packages/py-guiqwt/package.py
index d06af6c21d..e29c36a612 100644
--- a/var/spack/repos/builtin/packages/py-guiqwt/package.py
+++ b/var/spack/repos/builtin/packages/py-guiqwt/package.py
@@ -13,11 +13,11 @@ class PyGuiqwt(PythonPackage):
homepage = "https://github.com/PierreRaybaut/guiqwt"
pypi = "guiqwt/guiqwt-3.0.2.zip"
- version('3.0.2', sha256='387c0b9430624ecc87931e33ff963785194968c9f848337eb050eca48c6cd858')
+ version("3.0.2", sha256="387c0b9430624ecc87931e33ff963785194968c9f848337eb050eca48c6cd858")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.3:', type=('build', 'run'))
- depends_on('py-scipy@0.7:', type=('build', 'run'))
- depends_on('py-guidata@1.7.0:', type=('build', 'run'))
- depends_on('py-pythonqwt@0.5.0:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.3:", type=("build", "run"))
+ depends_on("py-scipy@0.7:", type=("build", "run"))
+ depends_on("py-guidata@1.7.0:", type=("build", "run"))
+ depends_on("py-pythonqwt@0.5.0:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-gym/package.py b/var/spack/repos/builtin/packages/py-gym/package.py
index 6d9e614a46..0d610934ab 100644
--- a/var/spack/repos/builtin/packages/py-gym/package.py
+++ b/var/spack/repos/builtin/packages/py-gym/package.py
@@ -14,16 +14,16 @@ class PyGym(PythonPackage):
environments."""
homepage = "https://github.com/openai/gym"
- pypi = "gym/0.18.0.tar.gz"
+ pypi = "gym/0.18.0.tar.gz"
- version('0.18.0', sha256='a0dcd25c1373f3938f4cb4565f74f434fba6faefb73a42d09c9dddd0c08af53e')
+ version("0.18.0", sha256="a0dcd25c1373f3938f4cb4565f74f434fba6faefb73a42d09c9dddd0c08af53e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy@1.10.4:', type=('build', 'run'))
- depends_on('py-pyglet@1.4.0:1.5.0', type=('build', 'run'), when='@0.18.0')
- depends_on('py-pyglet@1.4.0:1.5.15', type=('build', 'run'), when='@0.18.1')
- depends_on('pil@:8.2.0', type=('build', 'run'), when='@0.18.1')
- depends_on('pil@:7.2.0', type=('build', 'run'), when='@0.18.0')
- depends_on('py-cloudpickle@1.2.0:1.6', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy@1.10.4:", type=("build", "run"))
+ depends_on("py-pyglet@1.4.0:1.5.0", type=("build", "run"), when="@0.18.0")
+ depends_on("py-pyglet@1.4.0:1.5.15", type=("build", "run"), when="@0.18.1")
+ depends_on("pil@:8.2.0", type=("build", "run"), when="@0.18.1")
+ depends_on("pil@:7.2.0", type=("build", "run"), when="@0.18.0")
+ depends_on("py-cloudpickle@1.2.0:1.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-h11/package.py b/var/spack/repos/builtin/packages/py-h11/package.py
index 0601a21bfc..4f08be37df 100644
--- a/var/spack/repos/builtin/packages/py-h11/package.py
+++ b/var/spack/repos/builtin/packages/py-h11/package.py
@@ -12,14 +12,14 @@ class PyH11(PythonPackage):
homepage = "https://github.com/python-hyper/h11"
pypi = "h11/h11-0.10.0.tar.gz"
- version('0.13.0', sha256='70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06')
- version('0.12.0', sha256='47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042')
- version('0.11.0', sha256='3c6c61d69c6f13d41f1b80ab0322f1872702a3ba26e12aa864c928f6a43fbaab')
- version('0.10.0', sha256='311dc5478c2568cc07262e0381cdfc5b9c6ba19775905736c87e81ae6662b9fd')
- version('0.9.0', sha256='33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1')
+ version("0.13.0", sha256="70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06")
+ version("0.12.0", sha256="47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042")
+ version("0.11.0", sha256="3c6c61d69c6f13d41f1b80ab0322f1872702a3ba26e12aa864c928f6a43fbaab")
+ version("0.10.0", sha256="311dc5478c2568cc07262e0381cdfc5b9c6ba19775905736c87e81ae6662b9fd")
+ version("0.9.0", sha256="33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('python@3.6:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-dataclasses', type=('build', 'run'), when='@0.13: ^python@:3.6')
- depends_on('py-typing-extensions', type=('build', 'run'), when='@0.13: ^python@:3.7')
+ depends_on("python@3.6:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-dataclasses", type=("build", "run"), when="@0.13: ^python@:3.6")
+ depends_on("py-typing-extensions", type=("build", "run"), when="@0.13: ^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-h2/package.py b/var/spack/repos/builtin/packages/py-h2/package.py
index dea8e71432..24e2fa2d78 100644
--- a/var/spack/repos/builtin/packages/py-h2/package.py
+++ b/var/spack/repos/builtin/packages/py-h2/package.py
@@ -12,14 +12,14 @@ class PyH2(PythonPackage):
homepage = "https://github.com/python-hyper/hyper-h2"
pypi = "h2/h2-4.0.0.tar.gz"
- version('4.1.0', sha256='a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb')
- version('4.0.0', sha256='bb7ac7099dd67a857ed52c815a6192b6b1f5ba6b516237fc24a085341340593d')
- version('3.2.0', sha256='875f41ebd6f2c44781259005b157faed1a5031df3ae5aa7bcb4628a6c0782f14')
+ version("4.1.0", sha256="a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb")
+ version("4.0.0", sha256="bb7ac7099dd67a857ed52c815a6192b6b1f5ba6b516237fc24a085341340593d")
+ version("3.2.0", sha256="875f41ebd6f2c44781259005b157faed1a5031df3ae5aa7bcb4628a6c0782f14")
- depends_on('python@3.6.1:', type=('build', 'run'), when='@4.0.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-hyperframe@5.2:5', type=('build', 'run'), when='@3.2.0')
- depends_on('py-hyperframe@6.0:6', type=('build', 'run'), when='@4.0.0:')
- depends_on('py-hpack@3.0:3', type=('build', 'run'), when='@3.2.0')
- depends_on('py-hpack@4.0:4', type=('build', 'run'), when='@4.0.0:')
- depends_on('py-enum34@1.1.6:1', type=('build', 'run'), when='@3.2.0^python@2.7.0:2.7')
+ depends_on("python@3.6.1:", type=("build", "run"), when="@4.0.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-hyperframe@5.2:5", type=("build", "run"), when="@3.2.0")
+ depends_on("py-hyperframe@6.0:6", type=("build", "run"), when="@4.0.0:")
+ depends_on("py-hpack@3.0:3", type=("build", "run"), when="@3.2.0")
+ depends_on("py-hpack@4.0:4", type=("build", "run"), when="@4.0.0:")
+ depends_on("py-enum34@1.1.6:1", type=("build", "run"), when="@3.2.0^python@2.7.0:2.7")
diff --git a/var/spack/repos/builtin/packages/py-h5glance/package.py b/var/spack/repos/builtin/packages/py-h5glance/package.py
index 7fba9af67f..7398938f9b 100644
--- a/var/spack/repos/builtin/packages/py-h5glance/package.py
+++ b/var/spack/repos/builtin/packages/py-h5glance/package.py
@@ -15,11 +15,11 @@ class PyH5glance(PythonPackage):
homepage = "https://github.com/European-XFEL/h5glance"
pypi = "h5glance/h5glance-0.4.tar.gz"
- version('0.6', sha256='203369ab614273aaad3419f151e234609bb8390b201b65f678d7e17c57633e35')
- version('0.5', sha256='bc34ee42429f0440b329083e3f67fbf3d7016a4aed9e8b30911e5905217bc8d9')
- version('0.4', sha256='03babaee0d481991062842796126bc9e6b11e2e6e7daba57c26f2b58bf3bbd32')
+ version("0.6", sha256="203369ab614273aaad3419f151e234609bb8390b201b65f678d7e17c57633e35")
+ version("0.5", sha256="bc34ee42429f0440b329083e3f67fbf3d7016a4aed9e8b30911e5905217bc8d9")
+ version("0.4", sha256="03babaee0d481991062842796126bc9e6b11e2e6e7daba57c26f2b58bf3bbd32")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-flit', type='build')
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-htmlgen', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-flit", type="build")
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-htmlgen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-h5netcdf/package.py b/var/spack/repos/builtin/packages/py-h5netcdf/package.py
index 8183db9e02..b4ee07ca15 100644
--- a/var/spack/repos/builtin/packages/py-h5netcdf/package.py
+++ b/var/spack/repos/builtin/packages/py-h5netcdf/package.py
@@ -12,10 +12,10 @@ class PyH5netcdf(PythonPackage):
library."""
homepage = "https://github.com/h5netcdf/h5netcdf"
- pypi = "h5netcdf/h5netcdf-0.10.0.tar.gz"
+ pypi = "h5netcdf/h5netcdf-0.10.0.tar.gz"
- version('0.10.0', sha256='fc1cfec33bb9f730c412f87fcbc259167fd7620635679ccfc6e31971730dbd60')
+ version("0.10.0", sha256="fc1cfec33bb9f730c412f87fcbc259167fd7620635679ccfc6e31971730dbd60")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-h5py', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-h5py", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index a99760c643..0a3ffbded4 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -11,71 +11,71 @@ class PyH5py(PythonPackage):
HDF5 library from Python."""
homepage = "https://www.h5py.org/"
- pypi = "h5py/h5py-3.3.0.tar.gz"
- git = "https://github.com/h5py/h5py.git"
- maintainers = ['bryanherman', 'takluyver']
+ pypi = "h5py/h5py-3.3.0.tar.gz"
+ git = "https://github.com/h5py/h5py.git"
+ maintainers = ["bryanherman", "takluyver"]
- version('master', branch='master')
- version('3.6.0', sha256='8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29')
- version('3.5.0', sha256='77c7be4001ac7d3ed80477de5b6942501d782de1bbe4886597bdfec2a7ab821f')
- version('3.4.0', sha256='ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e')
- version('3.3.0', sha256='e0dac887d779929778b3cfd13309a939359cc9e74756fc09af7c527a82797186')
- version('3.2.1', sha256='89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e')
- version('3.2.0', sha256='4271c1a4b7d87aa76fe96d016368beb05a6c389d64882d58036964ce7d2d03c1')
- version('3.1.0', sha256='1e2516f190652beedcb8c7acfa1c6fa92d99b42331cbef5e5c7ec2d65b0fc3c2')
- version('3.0.0', sha256='7d3803be1b530c68c2955faba726dc0f591079b68941a0c0269b5384a42ab519')
- version('2.10.0', sha256='84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d')
- version('2.9.0', sha256='9d41ca62daf36d6b6515ab8765e4c8c4388ee18e2a665701fef2b41563821002')
- version('2.8.0', sha256='e626c65a8587921ebc7fb8d31a49addfdd0b9a9aa96315ea484c09803337b955')
- version('2.7.1', sha256='180a688311e826ff6ae6d3bda9b5c292b90b28787525ddfcb10a29d5ddcae2cc')
- version('2.7.0', sha256='79254312df2e6154c4928f5e3b22f7a2847b6e5ffb05ddc33e37b16e76d36310')
- version('2.6.0', sha256='b2afc35430d5e4c3435c996e4f4ea2aba1ea5610e2d2f46c9cae9f785e33c435')
- version('2.5.0', sha256='9833df8a679e108b561670b245bcf9f3a827b10ccb3a5fa1341523852cfac2f6')
- version('2.4.0', sha256='faaeadf4b8ca14c054b7568842e0d12690de7d5d68af4ecce5d7b8fc104d8e60')
+ version("master", branch="master")
+ version("3.6.0", sha256="8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29")
+ version("3.5.0", sha256="77c7be4001ac7d3ed80477de5b6942501d782de1bbe4886597bdfec2a7ab821f")
+ version("3.4.0", sha256="ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e")
+ version("3.3.0", sha256="e0dac887d779929778b3cfd13309a939359cc9e74756fc09af7c527a82797186")
+ version("3.2.1", sha256="89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e")
+ version("3.2.0", sha256="4271c1a4b7d87aa76fe96d016368beb05a6c389d64882d58036964ce7d2d03c1")
+ version("3.1.0", sha256="1e2516f190652beedcb8c7acfa1c6fa92d99b42331cbef5e5c7ec2d65b0fc3c2")
+ version("3.0.0", sha256="7d3803be1b530c68c2955faba726dc0f591079b68941a0c0269b5384a42ab519")
+ version("2.10.0", sha256="84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d")
+ version("2.9.0", sha256="9d41ca62daf36d6b6515ab8765e4c8c4388ee18e2a665701fef2b41563821002")
+ version("2.8.0", sha256="e626c65a8587921ebc7fb8d31a49addfdd0b9a9aa96315ea484c09803337b955")
+ version("2.7.1", sha256="180a688311e826ff6ae6d3bda9b5c292b90b28787525ddfcb10a29d5ddcae2cc")
+ version("2.7.0", sha256="79254312df2e6154c4928f5e3b22f7a2847b6e5ffb05ddc33e37b16e76d36310")
+ version("2.6.0", sha256="b2afc35430d5e4c3435c996e4f4ea2aba1ea5610e2d2f46c9cae9f785e33c435")
+ version("2.5.0", sha256="9833df8a679e108b561670b245bcf9f3a827b10ccb3a5fa1341523852cfac2f6")
+ version("2.4.0", sha256="faaeadf4b8ca14c054b7568842e0d12690de7d5d68af4ecce5d7b8fc104d8e60")
- variant('mpi', default=True, description='Build with MPI support')
+ variant("mpi", default=True, description="Build with MPI support")
# Python versions
- depends_on('python@3.6:', type=('build', 'run'), when='@3:3.1')
- depends_on('python@3.7:', type=('build', 'run'), when='@3.2:')
+ depends_on("python@3.6:", type=("build", "run"), when="@3:3.1")
+ depends_on("python@3.7:", type=("build", "run"), when="@3.2:")
# Build dependencies
- depends_on('py-cython@0.23:', type='build', when='@:2')
- depends_on('py-cython@0.29:', type=('build'), when='@3: ^python@:3.7')
- depends_on('py-cython@0.29.14:', type=('build'), when='@3: ^python@3.8.0:3.8')
- depends_on('py-cython@0.29.15:', type=('build'), when='@3: ^python@3.9.0:')
- depends_on('py-pkgconfig', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build', when='@3:')
+ depends_on("py-cython@0.23:", type="build", when="@:2")
+ depends_on("py-cython@0.29:", type=("build"), when="@3: ^python@:3.7")
+ depends_on("py-cython@0.29.14:", type=("build"), when="@3: ^python@3.8.0:3.8")
+ depends_on("py-cython@0.29.15:", type=("build"), when="@3: ^python@3.9.0:")
+ depends_on("py-pkgconfig", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build", when="@3:")
# Build and runtime dependencies
- depends_on('py-cached-property@1.5:', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-numpy@1.7:', type=('build', 'run'), when='@:2')
- depends_on('py-numpy@1.12:', type=('build', 'run'), when='@3: ^python@3.6.0:3.6')
- depends_on('py-numpy@1.14.5:', type=('build', 'run'), when='@3: ^python@3.7.0:3.7')
- depends_on('py-numpy@1.17.5:', type=('build', 'run'), when='@3: ^python@3.8.0:3.8')
- depends_on('py-numpy@1.19.3:', type=('build', 'run'), when='@3: ^python@3.9.0:')
- depends_on('py-six', type=('build', 'run'), when='@:2')
+ depends_on("py-cached-property@1.5:", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-numpy@1.7:", type=("build", "run"), when="@:2")
+ depends_on("py-numpy@1.12:", type=("build", "run"), when="@3: ^python@3.6.0:3.6")
+ depends_on("py-numpy@1.14.5:", type=("build", "run"), when="@3: ^python@3.7.0:3.7")
+ depends_on("py-numpy@1.17.5:", type=("build", "run"), when="@3: ^python@3.8.0:3.8")
+ depends_on("py-numpy@1.19.3:", type=("build", "run"), when="@3: ^python@3.9.0:")
+ depends_on("py-six", type=("build", "run"), when="@:2")
# Link dependencies (py-h5py v2 cannot build against HDF5 1.12 regardless
# of API setting)
- depends_on('hdf5@1.8.4:1.11 +hl', when='@:2')
- depends_on('hdf5@1.8.4: +hl', when='@3:')
+ depends_on("hdf5@1.8.4:1.11 +hl", when="@:2")
+ depends_on("hdf5@1.8.4: +hl", when="@3:")
# MPI dependencies
- depends_on('hdf5+mpi', when='+mpi')
- depends_on('mpi', when='+mpi')
- depends_on('py-mpi4py', when='@:2 +mpi', type=('build', 'run'))
- depends_on('py-mpi4py@3:', when='@3:3.2+mpi^python@3:3.7', type=('build', 'run'))
- depends_on('py-mpi4py@3.0.2:', when='@3.3.0:+mpi^python@3:3.7', type=('build', 'run'))
- depends_on('py-mpi4py@3.0.3:', when='@3:+mpi^python@3.8.0:', type=('build', 'run'))
+ depends_on("hdf5+mpi", when="+mpi")
+ depends_on("mpi", when="+mpi")
+ depends_on("py-mpi4py", when="@:2 +mpi", type=("build", "run"))
+ depends_on("py-mpi4py@3:", when="@3:3.2+mpi^python@3:3.7", type=("build", "run"))
+ depends_on("py-mpi4py@3.0.2:", when="@3.3.0:+mpi^python@3:3.7", type=("build", "run"))
+ depends_on("py-mpi4py@3.0.3:", when="@3:+mpi^python@3.8.0:", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('HDF5_DIR', self.spec['hdf5'].prefix)
- if '+mpi' in self.spec:
- env.set('CC', self.spec['mpi'].mpicc)
- env.set('HDF5_MPI', 'ON')
+ env.set("HDF5_DIR", self.spec["hdf5"].prefix)
+ if "+mpi" in self.spec:
+ env.set("CC", self.spec["mpi"].mpicc)
+ env.set("HDF5_MPI", "ON")
# Disable build requirements meant for Python build tools, which pin
# versions of numpy & mpi4py.
- env.set('H5PY_SETUP_REQUIRES', '0')
+ env.set("H5PY_SETUP_REQUIRES", "0")
diff --git a/var/spack/repos/builtin/packages/py-h5sh/package.py b/var/spack/repos/builtin/packages/py-h5sh/package.py
index 70be24f7e0..bf98b81da8 100644
--- a/var/spack/repos/builtin/packages/py-h5sh/package.py
+++ b/var/spack/repos/builtin/packages/py-h5sh/package.py
@@ -10,15 +10,15 @@ class PyH5sh(PythonPackage):
"""Shell-like environment for HDF5."""
homepage = "https://github.com/sethrj/h5sh"
- pypi = "h5sh/h5sh-0.1.1.tar.gz"
+ pypi = "h5sh/h5sh-0.1.1.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('0.1.1', sha256='ccd8fed532d479d297baef044265100a4fb9cd119bce6f43270f2ee9f63a2183')
+ version("0.1.1", sha256="ccd8fed532d479d297baef044265100a4fb9cd119bce6f43270f2ee9f63a2183")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-h5py@2.7.1:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-prompt-toolkit@2:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-h5py@2.7.1:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-prompt-toolkit@2:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hacking/package.py b/var/spack/repos/builtin/packages/py-hacking/package.py
index 4a20757b23..6fd901d2ea 100644
--- a/var/spack/repos/builtin/packages/py-hacking/package.py
+++ b/var/spack/repos/builtin/packages/py-hacking/package.py
@@ -12,6 +12,6 @@ class PyHacking(PythonPackage):
homepage = "https://docs.openstack.org/hacking/latest/"
pypi = "hacking/hacking-1.1.0.tar.gz"
- version('1.1.0', sha256='23a306f3a1070a4469a603886ba709780f02ae7e0f1fc7061e5c6fb203828fee')
+ version("1.1.0", sha256="23a306f3a1070a4469a603886ba709780f02ae7e0f1fc7061e5c6fb203828fee")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-haphpipe/package.py b/var/spack/repos/builtin/packages/py-haphpipe/package.py
index 749f3b1798..bf741e301d 100644
--- a/var/spack/repos/builtin/packages/py-haphpipe/package.py
+++ b/var/spack/repos/builtin/packages/py-haphpipe/package.py
@@ -11,39 +11,39 @@ class PyHaphpipe(PythonPackage):
population genetics, and phylodynamics."""
homepage = "https://github.com/gwcbi/haphpipe"
- url = "https://github.com/gwcbi/haphpipe/archive/v1.0.3.tar.gz"
+ url = "https://github.com/gwcbi/haphpipe/archive/v1.0.3.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.0.3', sha256='9a9e8632a217ff4207c1dea66887a471e0ea04bbb7c0f0d72631acaba214bd37')
+ version("1.0.3", sha256="9a9e8632a217ff4207c1dea66887a471e0ea04bbb7c0f0d72631acaba214bd37")
# Deps. taken from
# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/haphpipe/meta.yaml
# https://bioconda.github.io/recipes/haphpipe/README.html
# https://github.com/gwcbi/haphpipe/blob/master/environment.yml
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-biopython@1.73:', type=('build', 'run'))
- depends_on('py-gsutil', type=('build', 'run'))
- depends_on('py-sierrapy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
-
- depends_on('bowtie2', type=('build', 'run'))
- depends_on('blast-plus', type=('build', 'run'))
- depends_on('freebayes', type=('build', 'run'))
- depends_on('modeltest-ng', type=('build', 'run'))
- depends_on('libdeflate', type=('build', 'run'))
- depends_on('sratoolkit', type=('build', 'run'))
- depends_on('spades', type=('build', 'run'))
- depends_on('seqtk', type=('build', 'run'))
- depends_on('raxml-ng~mpi', type=('build', 'run'))
- depends_on('gatk@3.8-0', type=('build', 'run'))
- depends_on('trinity', type=('build', 'run'))
- depends_on('trimmomatic@0.38:', type=('build', 'run'))
- depends_on('flash@1.2.11:', type=('build', 'run'))
- depends_on('mummer@3.23:', type=('build', 'run'))
- depends_on('bwa', type=('build', 'run'))
- depends_on('samtools@1.9:', type=('build', 'run'))
- depends_on('mafft', type=('build', 'run'))
- depends_on('picard', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-biopython@1.73:", type=("build", "run"))
+ depends_on("py-gsutil", type=("build", "run"))
+ depends_on("py-sierrapy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+
+ depends_on("bowtie2", type=("build", "run"))
+ depends_on("blast-plus", type=("build", "run"))
+ depends_on("freebayes", type=("build", "run"))
+ depends_on("modeltest-ng", type=("build", "run"))
+ depends_on("libdeflate", type=("build", "run"))
+ depends_on("sratoolkit", type=("build", "run"))
+ depends_on("spades", type=("build", "run"))
+ depends_on("seqtk", type=("build", "run"))
+ depends_on("raxml-ng~mpi", type=("build", "run"))
+ depends_on("gatk@3.8-0", type=("build", "run"))
+ depends_on("trinity", type=("build", "run"))
+ depends_on("trimmomatic@0.38:", type=("build", "run"))
+ depends_on("flash@1.2.11:", type=("build", "run"))
+ depends_on("mummer@3.23:", type=("build", "run"))
+ depends_on("bwa", type=("build", "run"))
+ depends_on("samtools@1.9:", type=("build", "run"))
+ depends_on("mafft", type=("build", "run"))
+ depends_on("picard", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hatchet/package.py b/var/spack/repos/builtin/packages/py-hatchet/package.py
index f30578d1d2..b8a2eab5db 100644
--- a/var/spack/repos/builtin/packages/py-hatchet/package.py
+++ b/var/spack/repos/builtin/packages/py-hatchet/package.py
@@ -11,24 +11,24 @@ class PyHatchet(PythonPackage):
using a graph-indexed Pandas dataframe."""
homepage = "https://github.com/hatchet/hatchet"
- url = "https://github.com/hatchet/hatchet/archive/v1.0.0.tar.gz"
- tags = ['radiuss']
+ url = "https://github.com/hatchet/hatchet/archive/v1.0.0.tar.gz"
+ tags = ["radiuss"]
maintainers = ["slabasan", "bhatele", "tgamblin"]
- version('1.3.0', sha256='d77d071fc37863fdc9abc3fd9ea1088904cd98c6980a014a31e44595d2deac5e')
- version('1.2.0', sha256='1d5f80abfa69d1a379dff7263908c5c915023f18f26d50b639556e2f43ac755e')
- version('1.1.0', sha256='71bfa2881ef295294e5b4493acb8cce98d14c354e9ae59b42fb56a76d8ec7056')
- version('1.0.1', sha256='e5a4b455ab6bfbccbce3260673d9af8d1e4b21e19a2b6d0b6c1e1d7727613b7a')
- version('1.0.0', sha256='efd218bc9152abde0a8006489a2c432742f00283a114c1eeb6d25abc10f5862d')
+ version("1.3.0", sha256="d77d071fc37863fdc9abc3fd9ea1088904cd98c6980a014a31e44595d2deac5e")
+ version("1.2.0", sha256="1d5f80abfa69d1a379dff7263908c5c915023f18f26d50b639556e2f43ac755e")
+ version("1.1.0", sha256="71bfa2881ef295294e5b4493acb8cce98d14c354e9ae59b42fb56a76d8ec7056")
+ version("1.0.1", sha256="e5a4b455ab6bfbccbce3260673d9af8d1e4b21e19a2b6d0b6c1e1d7727613b7a")
+ version("1.0.0", sha256="efd218bc9152abde0a8006489a2c432742f00283a114c1eeb6d25abc10f5862d")
# https://github.com/hatchet/hatchet/issues/428
- depends_on('python@2.7:3.8', when='@:1.3.0', type=('build', 'run'))
- depends_on('python@2.7:', when='@1.3.1:', type=('build', 'run'))
-
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pydot', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("python@2.7:3.8", when="@:1.3.0", type=("build", "run"))
+ depends_on("python@2.7:", when="@1.3.1:", type=("build", "run"))
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pydot", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hatchling/package.py b/var/spack/repos/builtin/packages/py-hatchling/package.py
index deada44946..f00b5d778d 100644
--- a/var/spack/repos/builtin/packages/py-hatchling/package.py
+++ b/var/spack/repos/builtin/packages/py-hatchling/package.py
@@ -10,14 +10,14 @@ class PyHatchling(PythonPackage):
"""Modern, extensible Python build backend."""
homepage = "https://hatch.pypa.io/latest/"
- pypi = "hatchling/hatchling-1.4.1.tar.gz"
+ pypi = "hatchling/hatchling-1.4.1.tar.gz"
- version('1.4.1', sha256='13461b42876ade4f75ee5d2a2c656b288ca0aab7f048ef66657ef166996b2118')
+ version("1.4.1", sha256="13461b42876ade4f75ee5d2a2c656b288ca0aab7f048ef66657ef166996b2118")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-editables@0.3:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-packaging@21.3:', type=('build', 'run'))
- depends_on('py-pathspec@0.9:', type=('build', 'run'))
- depends_on('py-pluggy@1:', type=('build', 'run'))
- depends_on('py-tomli@1.2.2:', when='^python@:3.10', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-editables@0.3:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-packaging@21.3:", type=("build", "run"))
+ depends_on("py-pathspec@0.9:", type=("build", "run"))
+ depends_on("py-pluggy@1:", type=("build", "run"))
+ depends_on("py-tomli@1.2.2:", when="^python@:3.10", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hdbscan/package.py b/var/spack/repos/builtin/packages/py-hdbscan/package.py
index 203ff77e95..95d7c4b51c 100644
--- a/var/spack/repos/builtin/packages/py-hdbscan/package.py
+++ b/var/spack/repos/builtin/packages/py-hdbscan/package.py
@@ -21,14 +21,14 @@ class PyHdbscan(PythonPackage):
you can trust to return meaningful clusters (if there are any)."""
homepage = "https://github.com/scikit-learn-contrib/hdbscan"
- url = "https://github.com/scikit-learn-contrib/hdbscan/archive/0.8.26.tar.gz"
+ url = "https://github.com/scikit-learn-contrib/hdbscan/archive/0.8.26.tar.gz"
- version('0.8.26', sha256='2fd10906603b6565ee138656b6d59df3494c03c5e8099aede400d50b13af912b')
+ version("0.8.26", sha256="2fd10906603b6565ee138656b6d59df3494c03c5e8099aede400d50b13af912b")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.27:', type='build')
- depends_on('py-numpy@1.16.0:', type=('build', 'run'))
- depends_on('py-scipy@0.9:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.17:', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.27:", type="build")
+ depends_on("py-numpy@1.16.0:", type=("build", "run"))
+ depends_on("py-scipy@0.9:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.17:", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hdfs/package.py b/var/spack/repos/builtin/packages/py-hdfs/package.py
index 4bb1998114..8fb4c62226 100644
--- a/var/spack/repos/builtin/packages/py-hdfs/package.py
+++ b/var/spack/repos/builtin/packages/py-hdfs/package.py
@@ -8,12 +8,13 @@ from spack.package import *
class PyHdfs(PythonPackage):
"""API and command line interface for HDFS"""
+
homepage = "https://hdfscli.readthedocs.io/en/latest/"
pypi = "hdfs/hdfs-2.1.0.tar.gz"
- version('2.1.0', sha256='a40fe99ccb03b5c3247b33a4110eb21b57405dd7c3f1b775e362e66c19b44bc6')
+ version("2.1.0", sha256="a40fe99ccb03b5c3247b33a4110eb21b57405dd7c3f1b775e362e66c19b44bc6")
- depends_on('py-setuptools', type='build')
- depends_on('py-docopt', type=('build', 'run'))
- depends_on('py-requests@2.7.0:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docopt", type=("build", "run"))
+ depends_on("py-requests@2.7.0:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-healpy/package.py b/var/spack/repos/builtin/packages/py-healpy/package.py
index 548113e952..a9150a1c38 100644
--- a/var/spack/repos/builtin/packages/py-healpy/package.py
+++ b/var/spack/repos/builtin/packages/py-healpy/package.py
@@ -12,16 +12,16 @@ class PyHealpy(PythonPackage):
homepage = "https://healpy.readthedocs.io/"
pypi = "healpy/healpy-1.13.0.tar.gz"
- version('1.14.0', sha256='2720b5f96c314bdfdd20b6ffc0643ac8091faefcf8fd20a4083cedff85a66c5e')
- version('1.13.0', sha256='d0ae02791c2404002a09c643e9e50bc58e3d258f702c736dc1f39ce1e6526f73')
- version('1.7.4', sha256='3cca7ed7786ffcca70e2f39f58844667ffb8521180ac890d4da651b459f51442')
+ version("1.14.0", sha256="2720b5f96c314bdfdd20b6ffc0643ac8091faefcf8fd20a4083cedff85a66c5e")
+ version("1.13.0", sha256="d0ae02791c2404002a09c643e9e50bc58e3d258f702c736dc1f39ce1e6526f73")
+ version("1.7.4", sha256="3cca7ed7786ffcca70e2f39f58844667ffb8521180ac890d4da651b459f51442")
- depends_on('py-setuptools@3.2:', type='build')
- depends_on('py-pkgconfig', type='build')
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-astropy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('cfitsio', type=('build', 'run'))
- depends_on('healpix-cxx', type=('build', 'run'))
+ depends_on("py-setuptools@3.2:", type="build")
+ depends_on("py-pkgconfig", type="build")
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-astropy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("cfitsio", type=("build", "run"))
+ depends_on("healpix-cxx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-heapdict/package.py b/var/spack/repos/builtin/packages/py-heapdict/package.py
index b60a87c015..8b83eef7e2 100644
--- a/var/spack/repos/builtin/packages/py-heapdict/package.py
+++ b/var/spack/repos/builtin/packages/py-heapdict/package.py
@@ -12,8 +12,8 @@ class PyHeapdict(PythonPackage):
homepage = "http://stutzbachenterprises.com/"
pypi = "HeapDict/HeapDict-1.0.1.tar.gz"
- version('1.0.1', sha256='8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6')
- version('1.0.0', sha256='40c9e3680616cfdf942f77429a3a9e0a76f31ce965d62f4ffbe63a83a5ef1b5a')
+ version("1.0.1", sha256="8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6")
+ version("1.0.0", sha256="40c9e3680616cfdf942f77429a3a9e0a76f31ce965d62f4ffbe63a83a5ef1b5a")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hep-ml/package.py b/var/spack/repos/builtin/packages/py-hep-ml/package.py
index 3520fcfcd8..7a1a70f2e2 100644
--- a/var/spack/repos/builtin/packages/py-hep-ml/package.py
+++ b/var/spack/repos/builtin/packages/py-hep-ml/package.py
@@ -10,14 +10,14 @@ class PyHepMl(PythonPackage):
"""Machine Learning for High Energy Physics"""
homepage = "https://github.com/arogozhnikov/hep_ml"
- pypi = "hep_ml/hep_ml-0.7.0.tar.gz"
+ pypi = "hep_ml/hep_ml-0.7.0.tar.gz"
- version('0.7.0', sha256='0402037064d78f5723106b385ad5f20df8f67cb312c57cb4ce3839c5616f328e')
+ version("0.7.0", sha256="0402037064d78f5723106b385ad5f20df8f67cb312c57cb4ce3839c5616f328e")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-scipy@0.15.0:', type=('build', 'run'))
- depends_on('py-pandas@0.14.0:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19:', type=('build', 'run'))
- depends_on('py-theano@1.0.2:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-scipy@0.15.0:", type=("build", "run"))
+ depends_on("py-pandas@0.14.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19:", type=("build", "run"))
+ depends_on("py-theano@1.0.2:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hepdata-converter/package.py b/var/spack/repos/builtin/packages/py-hepdata-converter/package.py
index d2eadbd3df..d315fbbcf0 100644
--- a/var/spack/repos/builtin/packages/py-hepdata-converter/package.py
+++ b/var/spack/repos/builtin/packages/py-hepdata-converter/package.py
@@ -12,13 +12,13 @@ class PyHepdataConverter(PythonPackage):
YAML to ROOT, YODA and CSV."""
homepage = "https://github.com/HEPData/hepdata-converter"
- pypi = "hepdata-converter/hepdata-converter-0.2.3.tar.gz"
+ pypi = "hepdata-converter/hepdata-converter-0.2.3.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('0.2.3', sha256='cbed0ffc512a794fae023650f10f415b687bb8c07fc67ac3321da70ce8846085')
+ version("0.2.3", sha256="cbed0ffc512a794fae023650f10f415b687bb8c07fc67ac3321da70ce8846085")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml@5.3:', type=('build', 'run'))
- depends_on('py-hepdata-validator@0.2.2:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml@5.3:", type=("build", "run"))
+ depends_on("py-hepdata-validator@0.2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hepdata-lib/package.py b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py
index b25fe44032..774595419c 100644
--- a/var/spack/repos/builtin/packages/py-hepdata-lib/package.py
+++ b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py
@@ -10,15 +10,15 @@ class PyHepdataLib(PythonPackage):
"""Library for getting your data into HEPData"""
homepage = "https://github.com/HEPData/hepdata_lib"
- pypi = "hepdata_lib/hepdata_lib-0.9.0.tar.gz"
+ pypi = "hepdata_lib/hepdata_lib-0.9.0.tar.gz"
- version('0.9.0', sha256='b7b194b8af0428f34094ac403f8794a672c82d85e33154161d6b3744cc2b9896')
+ version("0.9.0", sha256="b7b194b8af0428f34094ac403f8794a672c82d85e33154161d6b3744cc2b9896")
- depends_on('py-setuptools', type='build')
- depends_on('root+python', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyyaml@4:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build')
- depends_on('py-pytest-cov', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("root+python", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyyaml@4:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-pytest-cov", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hepdata-validator/package.py b/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
index 128844c05c..cb3acc30bf 100644
--- a/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
+++ b/var/spack/repos/builtin/packages/py-hepdata-validator/package.py
@@ -12,16 +12,16 @@ class PyHepdataValidator(PythonPackage):
homepage = "https://github.com/hepdata/hepdata-validator"
pypi = "hepdata_validator/hepdata_validator-0.1.16.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('0.3.0', sha256='d603ddf908ce3838bac09bf7334184db4b35f03e2b215572c67b5e1fabbf0d9b')
- version('0.2.3', sha256='314e75eae7d4a134bfc8291440259839d82aabefdd720f237c0bf8ea5c9be4dc')
- version('0.1.16', sha256='3d7f725328ecdbb66826bff2e48a40a1d9234249859c8092ca0e92be7fb78111')
- version('0.1.15', sha256='1030654b1a1cfc387c2759f8613f033da467c8182dc027e181227aeb52854bb2')
- version('0.1.14', sha256='d1596741fb26be234c2adb6972306908f09b049dc670d8312cf2636f1a615a52')
- version('0.1.8', sha256='08686563e0130c5dd6d9fb8d5c7bf5a2617a637b105a42f7106b96a31eaffa61')
+ version("0.3.0", sha256="d603ddf908ce3838bac09bf7334184db4b35f03e2b215572c67b5e1fabbf0d9b")
+ version("0.2.3", sha256="314e75eae7d4a134bfc8291440259839d82aabefdd720f237c0bf8ea5c9be4dc")
+ version("0.1.16", sha256="3d7f725328ecdbb66826bff2e48a40a1d9234249859c8092ca0e92be7fb78111")
+ version("0.1.15", sha256="1030654b1a1cfc387c2759f8613f033da467c8182dc027e181227aeb52854bb2")
+ version("0.1.14", sha256="d1596741fb26be234c2adb6972306908f09b049dc670d8312cf2636f1a615a52")
+ version("0.1.8", sha256="08686563e0130c5dd6d9fb8d5c7bf5a2617a637b105a42f7106b96a31eaffa61")
- depends_on('py-setuptools', type='build')
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hepunits/package.py b/var/spack/repos/builtin/packages/py-hepunits/package.py
index 4090335272..82793c1d4a 100644
--- a/var/spack/repos/builtin/packages/py-hepunits/package.py
+++ b/var/spack/repos/builtin/packages/py-hepunits/package.py
@@ -13,16 +13,16 @@ class PyHepunits(PythonPackage):
pypi = "hepunits/hepunits-1.2.1.tar.gz"
homepage = "https://github.com/scikit-hep/hepunits"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('master', branch='master')
- version('2.1.1', sha256='21b18bbf82ade5e429e2c71ec41bc5ae8005b275466bdaef0159ddc4f8085b31')
- version('2.1.0', sha256='9e8da814c242579ad1fde6ccff0514195c70ab6d232eab8ff0ad675239686ef6')
- version('1.2.1', sha256='b05b0dda32bf797806d506d7508d4eb23b78f34d67bbba9348a2b4a9712666fa')
+ version("master", branch="master")
+ version("2.1.1", sha256="21b18bbf82ade5e429e2c71ec41bc5ae8005b275466bdaef0159ddc4f8085b31")
+ version("2.1.0", sha256="9e8da814c242579ad1fde6ccff0514195c70ab6d232eab8ff0ad675239686ef6")
+ version("1.2.1", sha256="b05b0dda32bf797806d506d7508d4eb23b78f34d67bbba9348a2b4a9712666fa")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-toml', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hieroglyph/package.py b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
index e6237a353b..18dd118065 100644
--- a/var/spack/repos/builtin/packages/py-hieroglyph/package.py
+++ b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
@@ -14,11 +14,11 @@ class PyHieroglyph(PythonPackage):
homepage = "https://github.com/nyergler/hieroglyph"
pypi = "hieroglyph/hieroglyph-1.0.0.tar.gz"
- version('2.1.0', sha256='b4b5db13a9d387438e610c2ca1d81386ccd206944d9a9dd273f21874486cddaf')
- version('1.0.0', sha256='8e137f0b1cd60c47b870011089790d3c8ddb74fcf409a75ddf2c7f2516ff337c')
+ version("2.1.0", sha256="b4b5db13a9d387438e610c2ca1d81386ccd206944d9a9dd273f21874486cddaf")
+ version("1.0.0", sha256="8e137f0b1cd60c47b870011089790d3c8ddb74fcf409a75ddf2c7f2516ff337c")
- depends_on('python@3:', when='@2:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-sphinx@1.2:', when='@1.0.0:1.9', type=('build', 'run'))
- depends_on('py-sphinx@2.0:', when='@2.0.0:', type=('build', 'run'))
- depends_on('py-six', when='@1.0.0:1.9', type=('build', 'run'))
+ depends_on("python@3:", when="@2:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-sphinx@1.2:", when="@1.0.0:1.9", type=("build", "run"))
+ depends_on("py-sphinx@2.0:", when="@2.0.0:", type=("build", "run"))
+ depends_on("py-six", when="@1.0.0:1.9", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hiredis/package.py b/var/spack/repos/builtin/packages/py-hiredis/package.py
index 31fc3099fb..31f7461b27 100644
--- a/var/spack/repos/builtin/packages/py-hiredis/package.py
+++ b/var/spack/repos/builtin/packages/py-hiredis/package.py
@@ -14,7 +14,7 @@ class PyHiredis(PythonPackage):
homepage = "https://github.com/redis/hiredis-py"
pypi = "hiredis/hiredis-1.1.0.tar.gz"
- version('1.1.0', sha256='996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132')
+ version("1.1.0", sha256="996021ef33e0f50b97ff2d6b5f422a0fe5577de21a8873b58a779a5ddd1c3132")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hist/package.py b/var/spack/repos/builtin/packages/py-hist/package.py
index 77e37cb3a4..edf827b2da 100644
--- a/var/spack/repos/builtin/packages/py-hist/package.py
+++ b/var/spack/repos/builtin/packages/py-hist/package.py
@@ -10,22 +10,21 @@ class PyHist(PythonPackage):
"""Hist classes and utilities"""
homepage = "https://github.com/scikit-hep/hist"
- pypi = "hist/hist-2.5.2.tar.gz"
+ pypi = "hist/hist-2.5.2.tar.gz"
- version('2.5.2', sha256='0bafb8b956cc041f1b26e8f5663fb8d3b8f7673f56336facb84d8cfdc30ae2cf')
+ version("2.5.2", sha256="0bafb8b956cc041f1b26e8f5663fb8d3b8f7673f56336facb84d8cfdc30ae2cf")
- variant('plot', default='False',
- description='Add support for drawing histograms')
+ variant("plot", default="False", description="Add support for drawing histograms")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@45:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
- depends_on('py-boost-histogram@1.2.0:1.2', type=('build', 'run'))
- depends_on('py-histoprint@2.2.0:', type=('build', 'run'))
- depends_on('py-numpy@1.14.5:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7:', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@45:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
+ depends_on("py-boost-histogram@1.2.0:1.2", type=("build", "run"))
+ depends_on("py-histoprint@2.2.0:", type=("build", "run"))
+ depends_on("py-numpy@1.14.5:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7:", type=("build", "run"), when="^python@:3.7")
- depends_on('py-matplotlib@3.0:', type=('build', 'run'), when='+plot')
- depends_on('py-scipy@1.4:', type=('build', 'run'), when='+plot')
- depends_on('py-iminuit@2:', type=('build', 'run'), when='+plot')
- depends_on('py-mplhep@0.2.16:', type=('build', 'run'), when='+plot')
+ depends_on("py-matplotlib@3.0:", type=("build", "run"), when="+plot")
+ depends_on("py-scipy@1.4:", type=("build", "run"), when="+plot")
+ depends_on("py-iminuit@2:", type=("build", "run"), when="+plot")
+ depends_on("py-mplhep@0.2.16:", type=("build", "run"), when="+plot")
diff --git a/var/spack/repos/builtin/packages/py-histbook/package.py b/var/spack/repos/builtin/packages/py-histbook/package.py
index 5ea7583141..e464d60b85 100644
--- a/var/spack/repos/builtin/packages/py-histbook/package.py
+++ b/var/spack/repos/builtin/packages/py-histbook/package.py
@@ -10,9 +10,9 @@ class PyHistbook(PythonPackage):
"""Versatile, high-performance histogram toolkit for Numpy."""
homepage = "https://github.com/scikit-hep/histbook"
- pypi = "histbook/histbook-1.2.5.tar.gz"
+ pypi = "histbook/histbook-1.2.5.tar.gz"
- version('1.2.5', sha256='76d1f143f8abccf5539029fbef8133db84f377fc7752ac9e7e6d19ac9a277967')
+ version("1.2.5", sha256="76d1f143f8abccf5539029fbef8133db84f377fc7752ac9e7e6d19ac9a277967")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-histogrammar/package.py b/var/spack/repos/builtin/packages/py-histogrammar/package.py
index 96ecc8972b..fa398772a8 100644
--- a/var/spack/repos/builtin/packages/py-histogrammar/package.py
+++ b/var/spack/repos/builtin/packages/py-histogrammar/package.py
@@ -10,12 +10,12 @@ class PyHistogrammar(PythonPackage):
"""Composable histogram primitives for distributed data reduction."""
homepage = "https://histogrammar.github.io/histogrammar-docs"
- pypi = "histogrammar/histogrammar-1.0.25.tar.gz"
+ pypi = "histogrammar/histogrammar-1.0.25.tar.gz"
- version('1.0.25', sha256='01d5f99cdb8dce8f02dd1adbfcc530a097154f3696d7778d0ed596d06d5ce432')
+ version("1.0.25", sha256="01d5f99cdb8dce8f02dd1adbfcc530a097154f3696d7778d0ed596d06d5ce432")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.18.0:', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-joblib@0.14.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.18.0:", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-joblib@0.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-histoprint/package.py b/var/spack/repos/builtin/packages/py-histoprint/package.py
index 288caf16eb..9bb94335a7 100644
--- a/var/spack/repos/builtin/packages/py-histoprint/package.py
+++ b/var/spack/repos/builtin/packages/py-histoprint/package.py
@@ -10,13 +10,13 @@ class PyHistoprint(PythonPackage):
"""Pretty print of NumPy (and other) histograms to the console"""
homepage = "https://github.com/scikit-hep/histoprint"
- pypi = "histoprint/histoprint-2.2.0.tar.gz"
+ pypi = "histoprint/histoprint-2.2.0.tar.gz"
- version('2.2.0', sha256='ef8b65f7926aaa989f076857b76291175245dd974804b408483091d1e28b00f6')
+ version("2.2.0", sha256="ef8b65f7926aaa989f076857b76291175245dd974804b408483091d1e28b00f6")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
- depends_on('py-click@7.0.0:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-uhi@0.2.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
+ depends_on("py-click@7.0.0:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-uhi@0.2.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-holland-backup/package.py b/var/spack/repos/builtin/packages/py-holland-backup/package.py
index e794d1deb5..f094ae076b 100644
--- a/var/spack/repos/builtin/packages/py-holland-backup/package.py
+++ b/var/spack/repos/builtin/packages/py-holland-backup/package.py
@@ -15,9 +15,9 @@ class PyHollandBackup(PythonPackage):
you want by whatever means you want."""
homepage = "https://hollandbackup.org/"
- url = "https://github.com/holland-backup/holland/archive/1.2.2.tar.gz"
+ url = "https://github.com/holland-backup/holland/archive/1.2.2.tar.gz"
- version('1.2.2', sha256='836337c243b2dff5ff6a3ce0b647f123ab24697a5de8ac8ae8b7839aa23dff68')
+ version("1.2.2", sha256="836337c243b2dff5ff6a3ce0b647f123ab24697a5de8ac8ae8b7839aa23dff68")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-configobj@4.6.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-configobj@4.6.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-horovod/package.py b/var/spack/repos/builtin/packages/py-horovod/package.py
index a3389ffab1..866ba430af 100644
--- a/var/spack/repos/builtin/packages/py-horovod/package.py
+++ b/var/spack/repos/builtin/packages/py-horovod/package.py
@@ -12,166 +12,200 @@ class PyHorovod(PythonPackage, CudaPackage):
TensorFlow, Keras, PyTorch, and Apache MXNet."""
homepage = "https://github.com/horovod"
- git = "https://github.com/horovod/horovod.git"
-
- maintainers = ['adamjstewart', 'aweits', 'tgaddair']
-
- version('master', branch='master', submodules=True)
- version('0.25.0', tag='v0.25.0', submodules=True)
- version('0.24.3', tag='v0.24.3', submodules=True)
- version('0.24.2', tag='v0.24.2', submodules=True)
- version('0.24.1', tag='v0.24.1', submodules=True)
- version('0.24.0', tag='v0.24.0', submodules=True)
- version('0.23.0', tag='v0.23.0', submodules=True)
- version('0.22.1', tag='v0.22.1', submodules=True)
- version('0.22.0', tag='v0.22.0', submodules=True)
- version('0.21.3', tag='v0.21.3', submodules=True)
- version('0.21.2', tag='v0.21.2', submodules=True)
- version('0.21.1', tag='v0.21.1', submodules=True)
- version('0.21.0', tag='v0.21.0', submodules=True)
- version('0.20.3', tag='v0.20.3', submodules=True)
- version('0.20.2', tag='v0.20.2', submodules=True)
- version('0.20.1', tag='v0.20.1', submodules=True)
- version('0.20.0', tag='v0.20.0', submodules=True)
- version('0.19.5', tag='v0.19.5', submodules=True)
- version('0.19.4', tag='v0.19.4', submodules=True)
- version('0.19.3', tag='v0.19.3', submodules=True)
- version('0.19.2', tag='v0.19.2', submodules=True)
- version('0.19.1', tag='v0.19.1', submodules=True)
- version('0.19.0', tag='v0.19.0', submodules=True)
- version('0.18.2', tag='v0.18.2', submodules=True)
- version('0.18.1', tag='v0.18.1', submodules=True)
- version('0.18.0', tag='v0.18.0', submodules=True)
- version('0.17.1', tag='v0.17.1', submodules=True)
- version('0.17.0', tag='v0.17.0', submodules=True)
- version('0.16.4', tag='v0.16.4', submodules=True)
- version('0.16.3', tag='v0.16.3', submodules=True)
- version('0.16.2', tag='v0.16.2', submodules=True)
+ git = "https://github.com/horovod/horovod.git"
+
+ maintainers = ["adamjstewart", "aweits", "tgaddair"]
+
+ version("master", branch="master", submodules=True)
+ version("0.25.0", tag="v0.25.0", submodules=True)
+ version("0.24.3", tag="v0.24.3", submodules=True)
+ version("0.24.2", tag="v0.24.2", submodules=True)
+ version("0.24.1", tag="v0.24.1", submodules=True)
+ version("0.24.0", tag="v0.24.0", submodules=True)
+ version("0.23.0", tag="v0.23.0", submodules=True)
+ version("0.22.1", tag="v0.22.1", submodules=True)
+ version("0.22.0", tag="v0.22.0", submodules=True)
+ version("0.21.3", tag="v0.21.3", submodules=True)
+ version("0.21.2", tag="v0.21.2", submodules=True)
+ version("0.21.1", tag="v0.21.1", submodules=True)
+ version("0.21.0", tag="v0.21.0", submodules=True)
+ version("0.20.3", tag="v0.20.3", submodules=True)
+ version("0.20.2", tag="v0.20.2", submodules=True)
+ version("0.20.1", tag="v0.20.1", submodules=True)
+ version("0.20.0", tag="v0.20.0", submodules=True)
+ version("0.19.5", tag="v0.19.5", submodules=True)
+ version("0.19.4", tag="v0.19.4", submodules=True)
+ version("0.19.3", tag="v0.19.3", submodules=True)
+ version("0.19.2", tag="v0.19.2", submodules=True)
+ version("0.19.1", tag="v0.19.1", submodules=True)
+ version("0.19.0", tag="v0.19.0", submodules=True)
+ version("0.18.2", tag="v0.18.2", submodules=True)
+ version("0.18.1", tag="v0.18.1", submodules=True)
+ version("0.18.0", tag="v0.18.0", submodules=True)
+ version("0.17.1", tag="v0.17.1", submodules=True)
+ version("0.17.0", tag="v0.17.0", submodules=True)
+ version("0.16.4", tag="v0.16.4", submodules=True)
+ version("0.16.3", tag="v0.16.3", submodules=True)
+ version("0.16.2", tag="v0.16.2", submodules=True)
# https://github.com/horovod/horovod/blob/master/docs/install.rst
- variant('frameworks', default='pytorch',
- description='Deep learning frameworks to build support for',
- values=('tensorflow', 'keras', 'pytorch', 'mxnet', 'spark', 'ray'),
- multi=True)
- variant('controllers', default='mpi',
- description='Controllers to coordinate work between processes',
- values=('mpi', 'gloo'), multi=True)
- variant('tensor_ops', default='nccl',
- description='Framework to use for GPU/CPU operations',
- values=('nccl', 'mpi', 'gloo', 'ccl'), multi=False)
- variant('cuda', default=True, description='Build with CUDA')
- variant('rocm', default=False, description='Build with ROCm')
+ variant(
+ "frameworks",
+ default="pytorch",
+ description="Deep learning frameworks to build support for",
+ values=("tensorflow", "keras", "pytorch", "mxnet", "spark", "ray"),
+ multi=True,
+ )
+ variant(
+ "controllers",
+ default="mpi",
+ description="Controllers to coordinate work between processes",
+ values=("mpi", "gloo"),
+ multi=True,
+ )
+ variant(
+ "tensor_ops",
+ default="nccl",
+ description="Framework to use for GPU/CPU operations",
+ values=("nccl", "mpi", "gloo", "ccl"),
+ multi=False,
+ )
+ variant("cuda", default=True, description="Build with CUDA")
+ variant("rocm", default=False, description="Build with ROCm")
# Build dependencies
- depends_on('cmake@3.13:', type='build', when='@0.24:')
- depends_on('cmake@2.8.12:', type='build', when='@0.20:')
- depends_on('pkgconfig', type='build')
+ depends_on("cmake@3.13:", type="build", when="@0.24:")
+ depends_on("cmake@2.8.12:", type="build", when="@0.20:")
+ depends_on("pkgconfig", type="build")
# Required dependencies
- depends_on('python@3.6:', type=('build', 'run'), when='@0.20:')
- depends_on('py-setuptools', type='build')
- depends_on('py-cloudpickle', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:0.19')
- depends_on('py-dataclasses', type=('build', 'run'), when='@0.20: ^python@:3.6')
+ depends_on("python@3.6:", type=("build", "run"), when="@0.20:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cloudpickle", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:0.19")
+ depends_on("py-dataclasses", type=("build", "run"), when="@0.20: ^python@:3.6")
# Framework dependencies
- depends_on('py-tensorflow@1.1.0:', type=('build', 'link', 'run'), when='frameworks=tensorflow')
- depends_on('py-tensorflow@1.15:', type=('build', 'link', 'run'), when='frameworks=tensorflow @0.20:')
- depends_on('py-tensorflow-estimator', type=('build', 'run'), when='frameworks=tensorflow')
- depends_on('py-keras@2.0.8,2.1.2:', type=('build', 'run'), when='frameworks=keras')
- depends_on('py-torch@0.4.0:', type=('build', 'link', 'run'), when='frameworks=pytorch')
- depends_on('py-torch@1.2:', type=('build', 'link', 'run'), when='frameworks=pytorch @0.20:')
- depends_on('py-torch@1.5:', type=('build', 'link', 'run'), when='frameworks=pytorch @0.25:')
- depends_on('py-torchvision', type=('build', 'run'), when='frameworks=pytorch @:0.19.1')
- depends_on('py-cffi@1.4.0:', type=('build', 'run'), when='frameworks=pytorch')
- depends_on('py-pytorch-lightning', type=('build', 'run'), when='frameworks=pytorch @0.22:0.23')
- depends_on('py-pytorch-lightning@1.3.8', type=('build', 'run'), when='frameworks=pytorch @0.24')
- depends_on('py-pytorch-lightning@1.3.8:1.5.9', type=('build', 'run'), when='frameworks=pytorch @0.25:')
- depends_on('mxnet@1.4.1:+python', type=('build', 'link', 'run'), when='frameworks=mxnet')
- depends_on('py-h5py@:2', type=('build', 'run'), when='frameworks=spark @:0.23')
- depends_on('py-numpy', type=('build', 'run'), when='frameworks=spark')
- depends_on('py-petastorm@0.8.2', type=('build', 'run'), when='frameworks=spark @:0.19.1')
- depends_on('py-petastorm@0.9.0:', type=('build', 'run'), when='frameworks=spark @0.19.2:0.21.0')
- depends_on('py-petastorm@0.9.8:', type=('build', 'run'), when='frameworks=spark @0.21.1:')
- depends_on('py-petastorm@0.11:', type=('build', 'run'), when='frameworks=spark @0.22:')
- depends_on('py-pyarrow@0.15.0:', type=('build', 'run'), when='frameworks=spark')
- depends_on('py-pyspark@2.3.2:', type=('build', 'run'), when='frameworks=spark ^python@:3.7')
- depends_on('py-pyspark@3.0.0:', type=('build', 'run'), when='frameworks=spark ^python@3.8:')
- depends_on('py-fsspec', type=('build', 'run'), when='frameworks=spark @0.22.1:0.24.1')
- depends_on('py-fsspec@2021.07:', type=('build', 'run'), when='frameworks=spark @0.24.2:')
- depends_on('py-ray', type=('build', 'run'), when='frameworks=ray')
- depends_on('py-aioredis@:1', type=('build', 'run'), when='frameworks=ray @0.23:')
+ depends_on("py-tensorflow@1.1.0:", type=("build", "link", "run"), when="frameworks=tensorflow")
+ depends_on(
+ "py-tensorflow@1.15:", type=("build", "link", "run"), when="frameworks=tensorflow @0.20:"
+ )
+ depends_on("py-tensorflow-estimator", type=("build", "run"), when="frameworks=tensorflow")
+ depends_on("py-keras@2.0.8,2.1.2:", type=("build", "run"), when="frameworks=keras")
+ depends_on("py-torch@0.4.0:", type=("build", "link", "run"), when="frameworks=pytorch")
+ depends_on("py-torch@1.2:", type=("build", "link", "run"), when="frameworks=pytorch @0.20:")
+ depends_on("py-torch@1.5:", type=("build", "link", "run"), when="frameworks=pytorch @0.25:")
+ depends_on("py-torchvision", type=("build", "run"), when="frameworks=pytorch @:0.19.1")
+ depends_on("py-cffi@1.4.0:", type=("build", "run"), when="frameworks=pytorch")
+ depends_on("py-pytorch-lightning", type=("build", "run"), when="frameworks=pytorch @0.22:0.23")
+ depends_on(
+ "py-pytorch-lightning@1.3.8", type=("build", "run"), when="frameworks=pytorch @0.24"
+ )
+ depends_on(
+ "py-pytorch-lightning@1.3.8:1.5.9", type=("build", "run"), when="frameworks=pytorch @0.25:"
+ )
+ depends_on("mxnet@1.4.1:+python", type=("build", "link", "run"), when="frameworks=mxnet")
+ depends_on("py-h5py@:2", type=("build", "run"), when="frameworks=spark @:0.23")
+ depends_on("py-numpy", type=("build", "run"), when="frameworks=spark")
+ depends_on("py-petastorm@0.8.2", type=("build", "run"), when="frameworks=spark @:0.19.1")
+ depends_on(
+ "py-petastorm@0.9.0:", type=("build", "run"), when="frameworks=spark @0.19.2:0.21.0"
+ )
+ depends_on("py-petastorm@0.9.8:", type=("build", "run"), when="frameworks=spark @0.21.1:")
+ depends_on("py-petastorm@0.11:", type=("build", "run"), when="frameworks=spark @0.22:")
+ depends_on("py-pyarrow@0.15.0:", type=("build", "run"), when="frameworks=spark")
+ depends_on("py-pyspark@2.3.2:", type=("build", "run"), when="frameworks=spark ^python@:3.7")
+ depends_on("py-pyspark@3.0.0:", type=("build", "run"), when="frameworks=spark ^python@3.8:")
+ depends_on("py-fsspec", type=("build", "run"), when="frameworks=spark @0.22.1:0.24.1")
+ depends_on("py-fsspec@2021.07:", type=("build", "run"), when="frameworks=spark @0.24.2:")
+ depends_on("py-ray", type=("build", "run"), when="frameworks=ray")
+ depends_on("py-aioredis@:1", type=("build", "run"), when="frameworks=ray @0.23:")
# Controller dependencies
- depends_on('mpi', when='controllers=mpi')
- depends_on('cmake', type='build', when='controllers=gloo')
- depends_on('libuv@1.26:', when='controllers=gloo platform=darwin')
+ depends_on("mpi", when="controllers=mpi")
+ depends_on("cmake", type="build", when="controllers=gloo")
+ depends_on("libuv@1.26:", when="controllers=gloo platform=darwin")
# Tensor Operations dependencies
- depends_on('nccl@2:', when='tensor_ops=nccl')
- depends_on('mpi', when='tensor_ops=mpi')
- depends_on('cmake', type='build', when='tensor_ops=gloo')
- depends_on('libuv@1.26:', when='tensor_ops=gloo platform=darwin')
- depends_on('intel-oneapi-ccl', when='tensor_ops=ccl')
-
- conflicts('cuda_arch=none', when='+cuda',
- msg='Must specify CUDA compute capabilities of your GPU, see '
- 'https://developer.nvidia.com/cuda-gpus')
- conflicts('tensor_ops=nccl', when='~cuda~rocm', msg='NCCL requires either CUDA or ROCm support')
- conflicts('frameworks=ray', when='@:0.19', msg='Ray integration was added in 0.20.X')
- conflicts('controllers=gloo', when='@:0.20.0 platform=darwin', msg='Gloo cannot be compiled on MacOS')
+ depends_on("nccl@2:", when="tensor_ops=nccl")
+ depends_on("mpi", when="tensor_ops=mpi")
+ depends_on("cmake", type="build", when="tensor_ops=gloo")
+ depends_on("libuv@1.26:", when="tensor_ops=gloo platform=darwin")
+ depends_on("intel-oneapi-ccl", when="tensor_ops=ccl")
+
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg="Must specify CUDA compute capabilities of your GPU, see "
+ "https://developer.nvidia.com/cuda-gpus",
+ )
+ conflicts(
+ "tensor_ops=nccl", when="~cuda~rocm", msg="NCCL requires either CUDA or ROCm support"
+ )
+ conflicts("frameworks=ray", when="@:0.19", msg="Ray integration was added in 0.20.X")
+ conflicts(
+ "controllers=gloo", when="@:0.20.0 platform=darwin", msg="Gloo cannot be compiled on MacOS"
+ )
# https://github.com/horovod/horovod/pull/1835
- patch('fma.patch', when='@0.19.0:0.19.1')
+ patch("fma.patch", when="@0.19.0:0.19.1")
# Patch vendored copy of eigen to fix build on aarch64
# https://github.com/horovod/horovod/issues/3605
# https://gitlab.com/libeigen/eigen/-/commit/fd1dcb6b45a2c797ad4c4d6cc7678ee70763b4ed
- patch('eigen.patch', when='@0.21: target=aarch64:')
+ patch("eigen.patch", when="@0.21: target=aarch64:")
@property
def import_modules(self):
modules = [
- 'horovod', 'horovod.runner', 'horovod.runner.util',
- 'horovod.runner.elastic', 'horovod.runner.driver',
- 'horovod.runner.common', 'horovod.runner.common.util',
- 'horovod.runner.common.service', 'horovod.runner.http',
- 'horovod.runner.task', 'horovod.common'
+ "horovod",
+ "horovod.runner",
+ "horovod.runner.util",
+ "horovod.runner.elastic",
+ "horovod.runner.driver",
+ "horovod.runner.common",
+ "horovod.runner.common.util",
+ "horovod.runner.common.service",
+ "horovod.runner.http",
+ "horovod.runner.task",
+ "horovod.common",
]
- if 'frameworks=tensorflow' in self.spec:
- modules.append('horovod.tensorflow')
+ if "frameworks=tensorflow" in self.spec:
+ modules.append("horovod.tensorflow")
- if 'frameworks=pytorch' in self.spec:
- modules.extend([
- 'horovod.torch', 'horovod.torch.elastic'
- ])
+ if "frameworks=pytorch" in self.spec:
+ modules.extend(["horovod.torch", "horovod.torch.elastic"])
- if 'frameworks=mxnet' in self.spec:
- modules.append('horovod.mxnet')
+ if "frameworks=mxnet" in self.spec:
+ modules.append("horovod.mxnet")
- if 'frameworks=keras' in self.spec:
- modules.extend(['horovod.keras', 'horovod._keras'])
+ if "frameworks=keras" in self.spec:
+ modules.extend(["horovod.keras", "horovod._keras"])
- if 'frameworks=spark' in self.spec:
- modules.extend([
- 'horovod.spark', 'horovod.spark.driver',
- 'horovod.spark.common', 'horovod.spark.task'
- ])
+ if "frameworks=spark" in self.spec:
+ modules.extend(
+ [
+ "horovod.spark",
+ "horovod.spark.driver",
+ "horovod.spark.common",
+ "horovod.spark.task",
+ ]
+ )
- if 'frameworks=ray' in self.spec:
- modules.append('horovod.ray')
+ if "frameworks=ray" in self.spec:
+ modules.append("horovod.ray")
- if 'frameworks=tensorflow,keras' in self.spec:
- modules.append('horovod.tensorflow.keras')
+ if "frameworks=tensorflow,keras" in self.spec:
+ modules.append("horovod.tensorflow.keras")
- if 'frameworks=spark,pytorch' in self.spec:
- modules.append('horovod.spark.torch')
+ if "frameworks=spark,pytorch" in self.spec:
+ modules.append("horovod.spark.torch")
- if 'frameworks=spark,keras' in self.spec:
- modules.append('horovod.spark.keras')
+ if "frameworks=spark,keras" in self.spec:
+ modules.append("horovod.spark.keras")
return modules
@@ -179,66 +213,61 @@ class PyHorovod(PythonPackage, CudaPackage):
# https://github.com/horovod/horovod/blob/master/docs/install.rst#environment-variables
# Build system
- env.set('PKG_CONFIG_EXECUTABLE',
- self.spec['pkgconfig'].prefix.bin.join('pkg-config'))
- if 'cmake' in self.spec:
- env.set('HOROVOD_CMAKE', self.spec['cmake'].command.path)
- env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
+ env.set("PKG_CONFIG_EXECUTABLE", self.spec["pkgconfig"].prefix.bin.join("pkg-config"))
+ if "cmake" in self.spec:
+ env.set("HOROVOD_CMAKE", self.spec["cmake"].command.path)
+ env.set("MAKEFLAGS", "-j{0}".format(make_jobs))
# Frameworks
- if 'frameworks=tensorflow' in self.spec:
- env.set('HOROVOD_WITH_TENSORFLOW', 1)
+ if "frameworks=tensorflow" in self.spec:
+ env.set("HOROVOD_WITH_TENSORFLOW", 1)
else:
- env.set('HOROVOD_WITHOUT_TENSORFLOW', 1)
- if 'frameworks=pytorch' in self.spec:
- env.set('HOROVOD_WITH_PYTORCH', 1)
+ env.set("HOROVOD_WITHOUT_TENSORFLOW", 1)
+ if "frameworks=pytorch" in self.spec:
+ env.set("HOROVOD_WITH_PYTORCH", 1)
else:
- env.set('HOROVOD_WITHOUT_PYTORCH', 1)
- if 'frameworks=mxnet' in self.spec:
- env.set('HOROVOD_WITH_MXNET', 1)
- env.set('MXNET_INCLUDE_PATH', self.spec['mxnet'].prefix.include)
- env.set('MXNET_LIBRARY_PATH', join_path(self.spec['mxnet'].libs[0]))
+ env.set("HOROVOD_WITHOUT_PYTORCH", 1)
+ if "frameworks=mxnet" in self.spec:
+ env.set("HOROVOD_WITH_MXNET", 1)
+ env.set("MXNET_INCLUDE_PATH", self.spec["mxnet"].prefix.include)
+ env.set("MXNET_LIBRARY_PATH", join_path(self.spec["mxnet"].libs[0]))
else:
- env.set('HOROVOD_WITHOUT_MXNET', 1)
+ env.set("HOROVOD_WITHOUT_MXNET", 1)
# Controllers
- if 'controllers=mpi' in self.spec or 'tensor_ops=mpi' in self.spec:
- env.set('HOROVOD_WITH_MPI', 1)
+ if "controllers=mpi" in self.spec or "tensor_ops=mpi" in self.spec:
+ env.set("HOROVOD_WITH_MPI", 1)
else:
- env.set('HOROVOD_WITHOUT_MPI', 1)
- if 'controllers=gloo' in self.spec or 'tensor_ops=gloo' in self.spec:
- env.set('HOROVOD_WITH_GLOO', 1)
+ env.set("HOROVOD_WITHOUT_MPI", 1)
+ if "controllers=gloo" in self.spec or "tensor_ops=gloo" in self.spec:
+ env.set("HOROVOD_WITH_GLOO", 1)
else:
- env.set('HOROVOD_WITHOUT_GLOO', 1)
+ env.set("HOROVOD_WITHOUT_GLOO", 1)
# Tensor Operations
- if 'tensor_ops=nccl' in self.spec:
- env.set('HOROVOD_GPU_ALLREDUCE', 'NCCL')
- env.set('HOROVOD_GPU_ALLGATHER', 'NCCL')
- env.set('HOROVOD_GPU_BROADCAST', 'NCCL')
-
- env.set('HOROVOD_NCCL_HOME', self.spec['nccl'].prefix)
- env.set('HOROVOD_NCCL_INCLUDE',
- self.spec['nccl'].headers.directories[0])
- env.set('HOROVOD_NCCL_LIB', self.spec['nccl'].libs.directories[0])
-
- if '+cuda' in self.spec:
- env.set('HOROVOD_GPU', 'CUDA')
-
- env.set('HOROVOD_CUDA_HOME', self.spec['cuda'].prefix)
- cuda_cc_list = ','.join(self.spec.variants['cuda_arch'].value)
- env.set('HOROVOD_BUILD_CUDA_CC_LIST', cuda_cc_list)
- env.set('HOROVOD_CUDA_INCLUDE',
- self.spec['cuda'].headers.directories[0])
- env.set('HOROVOD_CUDA_LIB',
- self.spec['cuda'].libs.directories[0])
- elif '+rocm' in self.spec:
- env.set('HOROVOD_GPU', 'ROCM')
+ if "tensor_ops=nccl" in self.spec:
+ env.set("HOROVOD_GPU_ALLREDUCE", "NCCL")
+ env.set("HOROVOD_GPU_ALLGATHER", "NCCL")
+ env.set("HOROVOD_GPU_BROADCAST", "NCCL")
+
+ env.set("HOROVOD_NCCL_HOME", self.spec["nccl"].prefix)
+ env.set("HOROVOD_NCCL_INCLUDE", self.spec["nccl"].headers.directories[0])
+ env.set("HOROVOD_NCCL_LIB", self.spec["nccl"].libs.directories[0])
+
+ if "+cuda" in self.spec:
+ env.set("HOROVOD_GPU", "CUDA")
+
+ env.set("HOROVOD_CUDA_HOME", self.spec["cuda"].prefix)
+ cuda_cc_list = ",".join(self.spec.variants["cuda_arch"].value)
+ env.set("HOROVOD_BUILD_CUDA_CC_LIST", cuda_cc_list)
+ env.set("HOROVOD_CUDA_INCLUDE", self.spec["cuda"].headers.directories[0])
+ env.set("HOROVOD_CUDA_LIB", self.spec["cuda"].libs.directories[0])
+ elif "+rocm" in self.spec:
+ env.set("HOROVOD_GPU", "ROCM")
# env.set('HOROVOD_ROCM_HOME', self.spec['rocm'].prefix)
else:
- env.set('HOROVOD_CPU_OPERATIONS',
- self.spec.variants['tensor_ops'].value.upper())
+ env.set("HOROVOD_CPU_OPERATIONS", self.spec.variants["tensor_ops"].value.upper())
def test(self):
super(PyHorovod, self).test()
- self.run_test(self.prefix.bin.horovodrun, '--check-build')
+ self.run_test(self.prefix.bin.horovodrun, "--check-build")
diff --git a/var/spack/repos/builtin/packages/py-hpack/package.py b/var/spack/repos/builtin/packages/py-hpack/package.py
index 855b232f05..73be2ff1fa 100644
--- a/var/spack/repos/builtin/packages/py-hpack/package.py
+++ b/var/spack/repos/builtin/packages/py-hpack/package.py
@@ -12,8 +12,8 @@ class PyHpack(PythonPackage):
homepage = "https://github.com/python-hyper/hpack"
pypi = "hpack/hpack-4.0.0.tar.gz"
- version('4.0.0', sha256='fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095')
- version('3.0.0', sha256='8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2')
+ version("4.0.0", sha256="fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095")
+ version("3.0.0", sha256="8eec9c1f4bfae3408a3f30500261f7e6a65912dc138526ea054f9ad98892e9d2")
- depends_on('python@3.6.1:', type=('build', 'run'), when='@4:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6.1:", type=("build", "run"), when="@4:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hpbandster/package.py b/var/spack/repos/builtin/packages/py-hpbandster/package.py
index bd786f637c..cb18489349 100644
--- a/var/spack/repos/builtin/packages/py-hpbandster/package.py
+++ b/var/spack/repos/builtin/packages/py-hpbandster/package.py
@@ -14,24 +14,24 @@ class PyHpbandster(PythonPackage):
"""
homepage = "https://github.com/automl/HpBandSter"
- pypi = 'hpbandster/hpbandster-0.7.4.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "hpbandster/hpbandster-0.7.4.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('0.7.4', sha256='49ffc32688155b509e62f3617b52ae15a96c9bff2c996a23df83f279106c5921')
- version('0.7.3', sha256='dd6c255f5dfe773a7f0c5ecf580b46a406d9f691303e2f849a14f7ae08ff9f13')
- version('0.7.2', sha256='24dd3311b14fa76ab8111062ced670ff888e7e99cad07dcc3398361689c09f90')
- version('0.7.1', sha256='41a55c95787eccd23def00f73013fbc9efad3cdc20d9e03270c7c959643dc5ff')
- version('0.7.0', sha256='b6a46c73cb6a62e2f2d20984087a3458cea056aef5aa0fc0cd606bdd116eed94')
- version('0.6.1', sha256='8812743b43b228dbf38fe2d5c5ecf238c6a742d02d8bdd264a2f193b96ca3b92')
- version('0.6.0', sha256='26e69a2f84c8d41bea2fd703f489453a3e9301dcb62f15271b16a3db4ccf225d')
- version('0.5.6', sha256='bc8a93638adda5cc0838c836402f18b456631363aefbfdf52942e9f8c7251893')
+ version("0.7.4", sha256="49ffc32688155b509e62f3617b52ae15a96c9bff2c996a23df83f279106c5921")
+ version("0.7.3", sha256="dd6c255f5dfe773a7f0c5ecf580b46a406d9f691303e2f849a14f7ae08ff9f13")
+ version("0.7.2", sha256="24dd3311b14fa76ab8111062ced670ff888e7e99cad07dcc3398361689c09f90")
+ version("0.7.1", sha256="41a55c95787eccd23def00f73013fbc9efad3cdc20d9e03270c7c959643dc5ff")
+ version("0.7.0", sha256="b6a46c73cb6a62e2f2d20984087a3458cea056aef5aa0fc0cd606bdd116eed94")
+ version("0.6.1", sha256="8812743b43b228dbf38fe2d5c5ecf238c6a742d02d8bdd264a2f193b96ca3b92")
+ version("0.6.0", sha256="26e69a2f84c8d41bea2fd703f489453a3e9301dcb62f15271b16a3db4ccf225d")
+ version("0.5.6", sha256="bc8a93638adda5cc0838c836402f18b456631363aefbfdf52942e9f8c7251893")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-configspace', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-statsmodels', type=('build', 'run'))
- depends_on('py-netifaces', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-serpent', type=('build', 'run'))
- depends_on('py-pyro4', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-configspace", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-statsmodels", type=("build", "run"))
+ depends_on("py-netifaces", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-serpent", type=("build", "run"))
+ depends_on("py-pyro4", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hpcbench/package.py b/var/spack/repos/builtin/packages/py-hpcbench/package.py
index 92ce2208b2..748b663f63 100644
--- a/var/spack/repos/builtin/packages/py-hpcbench/package.py
+++ b/var/spack/repos/builtin/packages/py-hpcbench/package.py
@@ -12,21 +12,21 @@ class PyHpcbench(PythonPackage):
homepage = "https://github.com/BlueBrain/hpcbench"
pypi = "hpcbench/hpcbench-0.8.tar.gz"
- git = "https://github.com/BlueBrain/hpcbench.git"
+ git = "https://github.com/BlueBrain/hpcbench.git"
- version('master', branch='master')
- version('0.8', sha256='120f5b1e6ff05a944b34a910f3099b4b0f50e96c60cf550b8fc6c42f64194697')
+ version("master", branch="master")
+ version("0.8", sha256="120f5b1e6ff05a944b34a910f3099b4b0f50e96c60cf550b8fc6c42f64194697")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.6', type='build')
- depends_on('py-cached-property@1.3.1:', type=('build', 'run'))
- depends_on('py-clustershell@1.8:', type=('build', 'run'))
- depends_on('py-cookiecutter@1.6.0', type=('build', 'run'))
- depends_on('py-docopt@0.6.2', type=('build', 'run'))
- depends_on('py-elasticsearch@6.0:6', type=('build', 'run'))
- depends_on('py-jinja2@2.10', type=('build', 'run'))
- depends_on('py-mock@2.0.0', type=('build', 'run'))
- depends_on('py-numpy@1.13.3', type=('build', 'run'))
- depends_on('py-pyyaml@3.12:', type=('build', 'run'))
- depends_on('py-python-magic@0.4.15', type=('build', 'run'))
- depends_on('py-six@1.11', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.6", type="build")
+ depends_on("py-cached-property@1.3.1:", type=("build", "run"))
+ depends_on("py-clustershell@1.8:", type=("build", "run"))
+ depends_on("py-cookiecutter@1.6.0", type=("build", "run"))
+ depends_on("py-docopt@0.6.2", type=("build", "run"))
+ depends_on("py-elasticsearch@6.0:6", type=("build", "run"))
+ depends_on("py-jinja2@2.10", type=("build", "run"))
+ depends_on("py-mock@2.0.0", type=("build", "run"))
+ depends_on("py-numpy@1.13.3", type=("build", "run"))
+ depends_on("py-pyyaml@3.12:", type=("build", "run"))
+ depends_on("py-python-magic@0.4.15", type=("build", "run"))
+ depends_on("py-six@1.11", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hpccm/package.py b/var/spack/repos/builtin/packages/py-hpccm/package.py
index 697585ee3f..e2678cb15f 100644
--- a/var/spack/repos/builtin/packages/py-hpccm/package.py
+++ b/var/spack/repos/builtin/packages/py-hpccm/package.py
@@ -13,8 +13,8 @@ class PyHpccm(PythonPackage):
homepage = "https://github.com/NVIDIA/hpc-container-maker"
pypi = "hpccm/hpccm-19.2.0.tar.gz"
- version('19.2.0', sha256='c60eec914a802b0a76596cfd5fdf7122d3f8665fcef06ef928323f5dfb5219a6')
+ version("19.2.0", sha256="c60eec914a802b0a76596cfd5fdf7122d3f8665fcef06ef928323f5dfb5219a6")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hstspreload/package.py b/var/spack/repos/builtin/packages/py-hstspreload/package.py
index 1492fbca80..498cae16f0 100644
--- a/var/spack/repos/builtin/packages/py-hstspreload/package.py
+++ b/var/spack/repos/builtin/packages/py-hstspreload/package.py
@@ -12,7 +12,7 @@ class PyHstspreload(PythonPackage):
homepage = "https://github.com/sethmlarson/hstspreload"
pypi = "hstspreload/hstspreload-2020.9.23.tar.gz"
- version('2020.9.23', sha256='35822733ba67cfb4efc6cd7d1230b509f0bd42c90eeb329faf2fe679f801e40f')
+ version("2020.9.23", sha256="35822733ba67cfb4efc6cd7d1230b509f0bd42c90eeb329faf2fe679f801e40f")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-html2text/package.py b/var/spack/repos/builtin/packages/py-html2text/package.py
index 5e82046b83..16b703803d 100644
--- a/var/spack/repos/builtin/packages/py-html2text/package.py
+++ b/var/spack/repos/builtin/packages/py-html2text/package.py
@@ -12,6 +12,6 @@ class PyHtml2text(PythonPackage):
homepage = "https://github.com/Alir3z4/html2text/"
pypi = "html2text/html2text-2016.9.19.tar.gz"
- version('2016.9.19', sha256='554ef5fd6c6cf6e3e4f725a62a3e9ec86a0e4d33cd0928136d1c79dbeb7b2d55')
+ version("2016.9.19", sha256="554ef5fd6c6cf6e3e4f725a62a3e9ec86a0e4d33cd0928136d1c79dbeb7b2d55")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-html5lib/package.py b/var/spack/repos/builtin/packages/py-html5lib/package.py
index 4f912843f2..c3138e73b3 100644
--- a/var/spack/repos/builtin/packages/py-html5lib/package.py
+++ b/var/spack/repos/builtin/packages/py-html5lib/package.py
@@ -12,17 +12,23 @@ class PyHtml5lib(PythonPackage):
homepage = "https://github.com/html5lib/html5lib-python"
pypi = "html5lib/html5lib-1.1.tar.gz"
- version('1.1', sha256='b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f',
- preferred=True)
- version('1.0.1', sha256='66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736')
- version('0.99', sha256='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855')
- version('099', sha256='2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868',
- deprecated=True)
+ version(
+ "1.1",
+ sha256="b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f",
+ preferred=True,
+ )
+ version("1.0.1", sha256="66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736")
+ version("0.99", sha256="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
+ version(
+ "099",
+ sha256="2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868",
+ deprecated=True,
+ )
- depends_on('python@2.6:2.8,3.2:', when='@0.99', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', when='@1.0.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@1.1:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-six@1.9:', type=('build', 'run'), when='@1.0.1:')
- depends_on('py-setuptools', type='build', when='@1.0.1:')
- depends_on('py-webencodings', type=('build', 'run'), when='@1.0.1:')
+ depends_on("python@2.6:2.8,3.2:", when="@0.99", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", when="@1.0.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@1.1:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-six@1.9:", type=("build", "run"), when="@1.0.1:")
+ depends_on("py-setuptools", type="build", when="@1.0.1:")
+ depends_on("py-webencodings", type=("build", "run"), when="@1.0.1:")
diff --git a/var/spack/repos/builtin/packages/py-htmlgen/package.py b/var/spack/repos/builtin/packages/py-htmlgen/package.py
index e6f37cc8dd..e1472f3fe2 100644
--- a/var/spack/repos/builtin/packages/py-htmlgen/package.py
+++ b/var/spack/repos/builtin/packages/py-htmlgen/package.py
@@ -8,13 +8,12 @@ from spack.package import *
class PyHtmlgen(PythonPackage):
- """Library to generate HTML from classes.
- """
+ """Library to generate HTML from classes."""
homepage = "https://github.com/srittau/python-htmlgen"
- url = "https://github.com/srittau/python-htmlgen/archive/v1.2.2.tar.gz"
+ url = "https://github.com/srittau/python-htmlgen/archive/v1.2.2.tar.gz"
- version('1.2.2', sha256='9dc60e10511f0fd13014659514c6c333498c21779173deb585cd4964ea667770')
+ version("1.2.2", sha256="9dc60e10511f0fd13014659514c6c333498c21779173deb585cd4964ea667770")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-htseq/package.py b/var/spack/repos/builtin/packages/py-htseq/package.py
index 692518fa71..afd8a08d68 100644
--- a/var/spack/repos/builtin/packages/py-htseq/package.py
+++ b/var/spack/repos/builtin/packages/py-htseq/package.py
@@ -11,14 +11,14 @@ class PyHtseq(PythonPackage):
data from high-throughput sequencing assays."""
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"
+ url = "https://github.com/simon-anders/htseq/archive/release_0.9.1.tar.gz"
- version('0.11.2', sha256='dfc707effa699d5ba9034e1bb9f13c0fb4e9bc60d31ede2444aa49c7e2fc71aa')
- version('0.9.1', sha256='28b41d68aa233fce0d57699e649b69bb11957f8f1b9b7b82dfe3415849719534')
+ version("0.11.2", sha256="dfc707effa699d5ba9034e1bb9f13c0fb4e9bc60d31ede2444aa49c7e2fc71aa")
+ version("0.9.1", sha256="28b41d68aa233fce0d57699e649b69bb11957f8f1b9b7b82dfe3415849719534")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
- depends_on('swig', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
+ depends_on("swig", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-httpbin/package.py b/var/spack/repos/builtin/packages/py-httpbin/package.py
index c4af3fe246..3e8ad74b96 100644
--- a/var/spack/repos/builtin/packages/py-httpbin/package.py
+++ b/var/spack/repos/builtin/packages/py-httpbin/package.py
@@ -12,15 +12,15 @@ class PyHttpbin(PythonPackage):
homepage = "https://github.com/Runscope/httpbin"
pypi = "httpbin/httpbin-0.7.0.tar.gz"
- version('0.7.0', sha256='cbb37790c91575f4f15757f42ad41d9f729eb227d5edbe89e4ec175486db8dfa')
- version('0.5.0', sha256='79fbc5d27e4194ea908b0fa18e09a59d95d287c91667aa69bcd010342d1589b5')
+ version("0.7.0", sha256="cbb37790c91575f4f15757f42ad41d9f729eb227d5edbe89e4ec175486db8dfa")
+ version("0.5.0", sha256="79fbc5d27e4194ea908b0fa18e09a59d95d287c91667aa69bcd010342d1589b5")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask', type=('build', 'run'))
- depends_on('py-markupsafe', type=('build', 'run'))
- depends_on('py-decorator', type=('build', 'run'))
- depends_on('py-itsdangerous', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-brotlipy', type=('build', 'run'))
- depends_on('py-raven+flask', type=('build', 'run'))
- depends_on('py-werkzeug@0.14.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask", type=("build", "run"))
+ depends_on("py-markupsafe", type=("build", "run"))
+ depends_on("py-decorator", type=("build", "run"))
+ depends_on("py-itsdangerous", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-brotlipy", type=("build", "run"))
+ depends_on("py-raven+flask", type=("build", "run"))
+ depends_on("py-werkzeug@0.14.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-httpcore/package.py b/var/spack/repos/builtin/packages/py-httpcore/package.py
index 0f0f60b25e..742ffdab28 100644
--- a/var/spack/repos/builtin/packages/py-httpcore/package.py
+++ b/var/spack/repos/builtin/packages/py-httpcore/package.py
@@ -13,13 +13,13 @@ class PyHttpcore(PythonPackage):
homepage = "https://github.com/encode/httpcore"
pypi = "httpcore/httpcore-0.11.0.tar.gz"
- version('0.14.7', sha256='7503ec1c0f559066e7e39bc4003fd2ce023d01cf51793e3c173b864eb456ead1')
- version('0.11.0', sha256='35ffc735d746b83f8fc6d36f82600e56117b9e8adc65d0c0423264b6ebfef7bf')
+ version("0.14.7", sha256="7503ec1c0f559066e7e39bc4003fd2ce023d01cf51793e3c173b864eb456ead1")
+ version("0.11.0", sha256="35ffc735d746b83f8fc6d36f82600e56117b9e8adc65d0c0423264b6ebfef7bf")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-sniffio@1.0:1', type=('build', 'run'))
- depends_on('py-h11@0.8:0.9', type=('build', 'run'), when='@0.11.0')
- depends_on('py-h11@0.11:0.12', type=('build', 'run'), when='@0.14.7')
- depends_on('py-anyio@3.0:3', type=('build', 'run'), when='@0.14.7')
- depends_on('py-certifi', type=('build', 'run'), when='@0.14.7:')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sniffio@1.0:1", type=("build", "run"))
+ depends_on("py-h11@0.8:0.9", type=("build", "run"), when="@0.11.0")
+ depends_on("py-h11@0.11:0.12", type=("build", "run"), when="@0.14.7")
+ depends_on("py-anyio@3.0:3", type=("build", "run"), when="@0.14.7")
+ depends_on("py-certifi", type=("build", "run"), when="@0.14.7:")
diff --git a/var/spack/repos/builtin/packages/py-httplib2/package.py b/var/spack/repos/builtin/packages/py-httplib2/package.py
index 447d31f708..168f7471c0 100644
--- a/var/spack/repos/builtin/packages/py-httplib2/package.py
+++ b/var/spack/repos/builtin/packages/py-httplib2/package.py
@@ -12,7 +12,7 @@ class PyHttplib2(PythonPackage):
homepage = "https://github.com/httplib2/httplib2"
pypi = "httplib2/httplib2-0.13.1.tar.gz"
- version('0.18.0', sha256='b0e1f3ed76c97380fe2485bc47f25235453b40ef33ca5921bb2897e257a49c4c')
- version('0.13.1', sha256='6901c8c0ffcf721f9ce270ad86da37bc2b4d32b8802d4a9cec38274898a64044')
+ version("0.18.0", sha256="b0e1f3ed76c97380fe2485bc47f25235453b40ef33ca5921bb2897e257a49c4c")
+ version("0.13.1", sha256="6901c8c0ffcf721f9ce270ad86da37bc2b4d32b8802d4a9cec38274898a64044")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-httpretty/package.py b/var/spack/repos/builtin/packages/py-httpretty/package.py
index bdaec8e736..a98d5159b0 100644
--- a/var/spack/repos/builtin/packages/py-httpretty/package.py
+++ b/var/spack/repos/builtin/packages/py-httpretty/package.py
@@ -10,10 +10,10 @@ class PyHttpretty(PythonPackage):
"""HTTP client mock for Python."""
homepage = "https://httpretty.readthedocs.io/en/latest/"
- pypi = "httpretty/httpretty-1.1.3.tar.gz"
+ pypi = "httpretty/httpretty-1.1.3.tar.gz"
- version('1.1.4', sha256='20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68')
- version('1.1.3', sha256='229ade39175ea4324e767f29dc24e5f846fbc72bf80e1a919b2547a6574ff601')
+ version("1.1.4", sha256="20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68")
+ version("1.1.3", sha256="229ade39175ea4324e767f29dc24e5f846fbc72bf80e1a919b2547a6574ff601")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-httpstan/package.py b/var/spack/repos/builtin/packages/py-httpstan/package.py
index d7def8c53c..1147983dcf 100644
--- a/var/spack/repos/builtin/packages/py-httpstan/package.py
+++ b/var/spack/repos/builtin/packages/py-httpstan/package.py
@@ -10,22 +10,22 @@ class PyHttpstan(PythonPackage):
"""HTTP-based REST interface to Stan, a package for Bayesian inference."""
homepage = "https://mc-stan.org/"
- url = "https://github.com/stan-dev/httpstan/archive/refs/tags/4.6.1.tar.gz"
+ url = "https://github.com/stan-dev/httpstan/archive/refs/tags/4.6.1.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('4.8.0', sha256='cadfce05d24ec2af50d71c5212c648cbee5684a7f98fedd3838e124e5a9b4962')
- version('4.7.2', sha256='94f6631d969cbd91d136194b074d02642d8c9e2a05674877a39059be87c5bf7b')
- version('4.6.1', sha256='703e5e04e60651e0004574bb9695827d759fd13eb0d6bd67f827c1bfa0a1fd31')
+ version("4.8.0", sha256="cadfce05d24ec2af50d71c5212c648cbee5684a7f98fedd3838e124e5a9b4962")
+ version("4.7.2", sha256="94f6631d969cbd91d136194b074d02642d8c9e2a05674877a39059be87c5bf7b")
+ version("4.6.1", sha256="703e5e04e60651e0004574bb9695827d759fd13eb0d6bd67f827c1bfa0a1fd31")
- depends_on('python@3.8:3', type=('build', 'run'), when='@4.7:')
- depends_on('python@3.7:3', type=('build', 'run'), when='@:4.6')
- depends_on('py-setuptools@41.0:', type=('build', 'run'))
- depends_on('py-poetry-core@1.0.0:', type='build')
- depends_on('py-aiohttp@3.7:3', type=('build', 'run'))
- depends_on('py-appdirs@1.4:1', type=('build', 'run'))
- depends_on('py-webargs@8.0:8', type=('build', 'run'))
- depends_on('py-marshmallow@3.10:3', type=('build', 'run'))
- depends_on('py-numpy@1.19:1', type=('build', 'run'), when='@4.7:')
- depends_on('py-numpy@1.16:1', type=('build', 'run'), when='@:4.6')
- depends_on('py-pybind11')
+ depends_on("python@3.8:3", type=("build", "run"), when="@4.7:")
+ depends_on("python@3.7:3", type=("build", "run"), when="@:4.6")
+ depends_on("py-setuptools@41.0:", type=("build", "run"))
+ depends_on("py-poetry-core@1.0.0:", type="build")
+ depends_on("py-aiohttp@3.7:3", type=("build", "run"))
+ depends_on("py-appdirs@1.4:1", type=("build", "run"))
+ depends_on("py-webargs@8.0:8", type=("build", "run"))
+ depends_on("py-marshmallow@3.10:3", type=("build", "run"))
+ depends_on("py-numpy@1.19:1", type=("build", "run"), when="@4.7:")
+ depends_on("py-numpy@1.16:1", type=("build", "run"), when="@:4.6")
+ depends_on("py-pybind11")
diff --git a/var/spack/repos/builtin/packages/py-httptools/package.py b/var/spack/repos/builtin/packages/py-httptools/package.py
index 9f497577ef..1306cad7c6 100644
--- a/var/spack/repos/builtin/packages/py-httptools/package.py
+++ b/var/spack/repos/builtin/packages/py-httptools/package.py
@@ -12,7 +12,7 @@ class PyHttptools(PythonPackage):
homepage = "https://github.com/MagicStack/httptools"
pypi = "httptools/httptools-0.1.1.tar.gz"
- version('0.1.1', sha256='41b573cf33f64a8f8f3400d0a7faf48e1888582b6f6e02b82b9bd4f0bf7497ce')
+ version("0.1.1", sha256="41b573cf33f64a8f8f3400d0a7faf48e1888582b6f6e02b82b9bd4f0bf7497ce")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-httpx/package.py b/var/spack/repos/builtin/packages/py-httpx/package.py
index 7359213cb1..5dc0f85788 100644
--- a/var/spack/repos/builtin/packages/py-httpx/package.py
+++ b/var/spack/repos/builtin/packages/py-httpx/package.py
@@ -13,34 +13,34 @@ class PyHttpx(PythonPackage):
homepage = "https://github.com/encode/httpx"
pypi = "httpx/httpx-0.15.2.tar.gz"
- version('0.22.0', sha256='d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4')
- version('0.15.2', sha256='713a2deaf96d85bbd4a1fbdf0edb27d6b4ee2c9aaeda8433042367e4b9e1628d')
- version('0.11.1', sha256='7d2bfb726eeed717953d15dddb22da9c2fcf48a4d70ba1456aa0a7faeda33cf7')
+ version("0.22.0", sha256="d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4")
+ version("0.15.2", sha256="713a2deaf96d85bbd4a1fbdf0edb27d6b4ee2c9aaeda8433042367e4b9e1628d")
+ version("0.11.1", sha256="7d2bfb726eeed717953d15dddb22da9c2fcf48a4d70ba1456aa0a7faeda33cf7")
- variant('http2', default=False, when='@0.15.2:', description='Enable http2 support')
+ variant("http2", default=False, when="@0.15.2:", description="Enable http2 support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-charset-normalizer', type=('build', 'run'), when='@0.22.0:')
- depends_on('py-async-generator', type=('build', 'run'), when='@0.22.0:^python@:3.6')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-charset-normalizer", type=("build", "run"), when="@0.22.0:")
+ depends_on("py-async-generator", type=("build", "run"), when="@0.22.0:^python@:3.6")
- depends_on('py-httpcore@0.11.0:0.11', type=('build', 'run'), when='@0.15.2')
- depends_on('py-httpcore@0.14.5:0.14', type=('build', 'run'), when='@0.22.0:')
+ depends_on("py-httpcore@0.11.0:0.11", type=("build", "run"), when="@0.15.2")
+ depends_on("py-httpcore@0.14.5:0.14", type=("build", "run"), when="@0.22.0:")
- depends_on('py-sniffio@1.0:1', type=('build', 'run'), when='@0.11.1')
- depends_on('py-sniffio', type=('build', 'run'), when='@0.15.2:')
+ depends_on("py-sniffio@1.0:1", type=("build", "run"), when="@0.11.1")
+ depends_on("py-sniffio", type=("build", "run"), when="@0.15.2:")
- depends_on('py-rfc3986@1.3:1', type=('build', 'run'), when='@0.11.1')
- depends_on('py-rfc3986+idna2008@1.3:1', type=('build', 'run'), when='@0.15.2:')
+ depends_on("py-rfc3986@1.3:1", type=("build", "run"), when="@0.11.1")
+ depends_on("py-rfc3986+idna2008@1.3:1", type=("build", "run"), when="@0.15.2:")
- depends_on('py-h2@3.0:3', type=('build', 'run'), when='@0.11.1')
- depends_on('py-h2@3.0:3', type=('build', 'run'), when='@0.15.2+http2')
- depends_on('py-h2@3.0:4', type=('build', 'run'), when='@0.22.0:+http2')
+ depends_on("py-h2@3.0:3", type=("build", "run"), when="@0.11.1")
+ depends_on("py-h2@3.0:3", type=("build", "run"), when="@0.15.2+http2")
+ depends_on("py-h2@3.0:4", type=("build", "run"), when="@0.22.0:+http2")
# Version 0.11.1 only dependencies
- depends_on('py-hstspreload', type=('build', 'run'), when='@0.11.1')
- depends_on('py-chardet@3.0:3', type=('build', 'run'), when='@0.11.1')
- depends_on('py-h11@0.8:0.9', type=('build', 'run'), when='@0.11.1')
- depends_on('py-idna@2.0:2', type=('build', 'run'), when='@0.11.1')
- depends_on('py-urllib3@1.0:1', type=('build', 'run'), when='@0.11.1')
+ depends_on("py-hstspreload", type=("build", "run"), when="@0.11.1")
+ depends_on("py-chardet@3.0:3", type=("build", "run"), when="@0.11.1")
+ depends_on("py-h11@0.8:0.9", type=("build", "run"), when="@0.11.1")
+ depends_on("py-idna@2.0:2", type=("build", "run"), when="@0.11.1")
+ depends_on("py-urllib3@1.0:1", type=("build", "run"), when="@0.11.1")
diff --git a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py
index 92d4f533c9..f9d5fec83a 100644
--- a/var/spack/repos/builtin/packages/py-huggingface-hub/package.py
+++ b/var/spack/repos/builtin/packages/py-huggingface-hub/package.py
@@ -12,15 +12,15 @@ class PyHuggingfaceHub(PythonPackage):
your models to them."""
homepage = "https://github.com/huggingface/huggingface_hub"
- pypi = "huggingface_hub/huggingface_hub-0.0.10.tar.gz"
+ pypi = "huggingface_hub/huggingface_hub-0.0.10.tar.gz"
- version('0.0.10', sha256='556765e4c7edd2d2c4c733809bae1069dca20e10ff043870ec40d53e498efae2')
- version('0.0.8', sha256='be5b9a7ed36437bb10a780d500154d426798ec16803ff3406f7a61107e4ebfc2')
+ version("0.0.10", sha256="556765e4c7edd2d2c4c733809bae1069dca20e10ff043870ec40d53e498efae2")
+ version("0.0.8", sha256="be5b9a7ed36437bb10a780d500154d426798ec16803ff3406f7a61107e4ebfc2")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@0.0.10:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@0.0.10:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-humanfriendly/package.py b/var/spack/repos/builtin/packages/py-humanfriendly/package.py
index fae53dbc1f..adb4aef2d3 100644
--- a/var/spack/repos/builtin/packages/py-humanfriendly/package.py
+++ b/var/spack/repos/builtin/packages/py-humanfriendly/package.py
@@ -11,10 +11,10 @@ class PyHumanfriendly(PythonPackage):
homepage = "https://humanfriendly.readthedocs.io/"
pypi = "humanfriendly/humanfriendly-8.1.tar.gz"
- version('8.2', sha256='bf52ec91244819c780341a3438d5d7b09f431d3f113a475147ac9b7b167a3d12')
- version('8.1', sha256='25c2108a45cfd1e8fbe9cdb30b825d34ef5d5675c8e11e4775c9aedbfb0bdee2')
- version('4.18', sha256='33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85')
+ version("8.2", sha256="bf52ec91244819c780341a3438d5d7b09f431d3f113a475147ac9b7b167a3d12")
+ version("8.1", sha256="25c2108a45cfd1e8fbe9cdb30b825d34ef5d5675c8e11e4775c9aedbfb0bdee2")
+ version("4.18", sha256="33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-monotonic', when='^python@:2', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-monotonic", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-humanize/package.py b/var/spack/repos/builtin/packages/py-humanize/package.py
index 772940628f..4d710e10fc 100644
--- a/var/spack/repos/builtin/packages/py-humanize/package.py
+++ b/var/spack/repos/builtin/packages/py-humanize/package.py
@@ -16,16 +16,16 @@ class PyHumanize(PythonPackage):
homepage = "https://github.com/jmoiron/humanize"
pypi = "humanize/humanize-0.5.1.tar.gz"
- version('4.0.0', sha256='ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00')
- version('3.12.0', sha256='5ec1a66e230a3e31fb3f184aab9436ea13d4e37c168e0ffc345ae5bb57e58be6')
- version('0.5.1', sha256='a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19')
+ version("4.0.0", sha256="ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00")
+ version("3.12.0", sha256="5ec1a66e230a3e31fb3f184aab9436ea13d4e37c168e0ffc345ae5bb57e58be6")
+ version("0.5.1", sha256="a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19")
- depends_on('python@3.7:', when='@4:', type=('build', 'run'))
- depends_on('python@3.6:', when='@3:', type=('build', 'run'))
- depends_on('python@3.5:', when='@1.1.0:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', when='@1.0.0', type=('build', 'run'))
- depends_on('py-setuptools@42:', when='@3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', when='@3.2:', type='build')
- depends_on('py-setuptools-scm', when='@1:', type='build')
- depends_on('py-importlib-metadata', when='@3.12: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.7:", when="@4:", type=("build", "run"))
+ depends_on("python@3.6:", when="@3:", type=("build", "run"))
+ depends_on("python@3.5:", when="@1.1.0:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", when="@1.0.0", type=("build", "run"))
+ depends_on("py-setuptools@42:", when="@3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", when="@3.2:", type="build")
+ depends_on("py-setuptools-scm", when="@1:", type="build")
+ depends_on("py-importlib-metadata", when="@3.12: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hvac/package.py b/var/spack/repos/builtin/packages/py-hvac/package.py
index 280deec28b..ecb4810617 100644
--- a/var/spack/repos/builtin/packages/py-hvac/package.py
+++ b/var/spack/repos/builtin/packages/py-hvac/package.py
@@ -10,15 +10,15 @@ class PyHvac(PythonPackage):
"""HashiCorp Vault API client"""
homepage = "https://github.com/hvac/hvac/"
- url = "https://github.com/hvac/hvac/archive/v0.2.17.tar.gz"
+ url = "https://github.com/hvac/hvac/archive/v0.2.17.tar.gz"
- version('0.9.6', sha256='ff60972edc512c73ac4811e91bcffccdb99f0d8975c0b41e44a4c79d73c711af')
- version('0.9.5', sha256='3e4af2d84833b8f61c9c3351d4a9799bf8e8e4344d0ad4e162609a7379961a16')
- version('0.9.4', sha256='ebb14b9a5b347c4f0b4dcea59f435dcc190d8ccb4cb9a20e5daf260af6509dd6')
- version('0.9.3', sha256='cac16bc089be9966f1fe5c108fb966949dc5bb4348cc1f5f54ebd8511c410ed4')
- version('0.2.17', sha256='a767be25fcb1165f4b28da3312a0bd196d1101c53c60fb99f899ff6c7b9aaa78')
+ version("0.9.6", sha256="ff60972edc512c73ac4811e91bcffccdb99f0d8975c0b41e44a4c79d73c711af")
+ version("0.9.5", sha256="3e4af2d84833b8f61c9c3351d4a9799bf8e8e4344d0ad4e162609a7379961a16")
+ version("0.9.4", sha256="ebb14b9a5b347c4f0b4dcea59f435dcc190d8ccb4cb9a20e5daf260af6509dd6")
+ version("0.9.3", sha256="cac16bc089be9966f1fe5c108fb966949dc5bb4348cc1f5f54ebd8511c410ed4")
+ version("0.2.17", sha256="a767be25fcb1165f4b28da3312a0bd196d1101c53c60fb99f899ff6c7b9aaa78")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.7.0:', type=('build', 'run'))
- depends_on('py-requests@2.21.0:', type=('build', 'run'), when='@0.9.3:')
- depends_on('py-six@1.5.0:', type=('build', 'run'), when='@0.9.6:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.7.0:", type=("build", "run"))
+ depends_on("py-requests@2.21.0:", type=("build", "run"), when="@0.9.3:")
+ depends_on("py-six@1.5.0:", type=("build", "run"), when="@0.9.6:")
diff --git a/var/spack/repos/builtin/packages/py-hypercorn/package.py b/var/spack/repos/builtin/packages/py-hypercorn/package.py
index cd2781f63d..57af4a93ba 100644
--- a/var/spack/repos/builtin/packages/py-hypercorn/package.py
+++ b/var/spack/repos/builtin/packages/py-hypercorn/package.py
@@ -11,15 +11,15 @@ class PyHypercorn(PythonPackage):
Gunicorn."""
homepage = "https://gitlab.com/pgjones/hypercorn/"
- pypi = "Hypercorn/Hypercorn-0.13.2.tar.gz"
+ pypi = "Hypercorn/Hypercorn-0.13.2.tar.gz"
- version('0.13.2', sha256='6307be5cbdf6ba411967d4661202dc4f79bd511b5d318bc4eed88b09418427f8')
+ version("0.13.2", sha256="6307be5cbdf6ba411967d4661202dc4f79bd511b5d318bc4eed88b09418427f8")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-h11', type=('build', 'run'))
- depends_on('py-h2@3.1.0:', type=('build', 'run'))
- depends_on('py-priority', type=('build', 'run'))
- depends_on('py-toml', type=('build', 'run'))
- depends_on('py-wsproto@0.14.0:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-h11", type=("build", "run"))
+ depends_on("py-h2@3.1.0:", type=("build", "run"))
+ depends_on("py-priority", type=("build", "run"))
+ depends_on("py-toml", type=("build", "run"))
+ depends_on("py-wsproto@0.14.0:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"), when="^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-hyperframe/package.py b/var/spack/repos/builtin/packages/py-hyperframe/package.py
index 8ec5d5f0c3..99c70aca43 100644
--- a/var/spack/repos/builtin/packages/py-hyperframe/package.py
+++ b/var/spack/repos/builtin/packages/py-hyperframe/package.py
@@ -12,8 +12,8 @@ class PyHyperframe(PythonPackage):
homepage = "https://github.com/python-hyper/hyperframe/"
pypi = "hyperframe/hyperframe-6.0.0.tar.gz"
- version('6.0.0', sha256='742d2a4bc3152a340a49d59f32e33ec420aa8e7054c1444ef5c7efff255842f1')
- version('5.2.0', sha256='a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f')
+ version("6.0.0", sha256="742d2a4bc3152a340a49d59f32e33ec420aa8e7054c1444ef5c7efff255842f1")
+ version("5.2.0", sha256="a9f5c17f2cc3c719b917c4f33ed1c61bd1f8dfac4b1bd23b7c80b3400971b41f")
- depends_on('python@3.6.1:', type=('build', 'run'), when="@6:")
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6.1:", type=("build", "run"), when="@6:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-hyperlink/package.py b/var/spack/repos/builtin/packages/py-hyperlink/package.py
index 0625888b86..1792ecad18 100644
--- a/var/spack/repos/builtin/packages/py-hyperlink/package.py
+++ b/var/spack/repos/builtin/packages/py-hyperlink/package.py
@@ -10,11 +10,11 @@ class PyHyperlink(PythonPackage):
"""A featureful, immutable, and correct URL for Python."""
homepage = "https://github.com/python-hyper/hyperlink"
- pypi = "hyperlink/hyperlink-21.0.0.tar.gz"
+ pypi = "hyperlink/hyperlink-21.0.0.tar.gz"
- version('21.0.0', sha256='427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b')
+ version("21.0.0", sha256="427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b")
- depends_on('python@2.6:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-idna@2.5:', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("python@2.6:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-idna@2.5:", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hyperopt/package.py b/var/spack/repos/builtin/packages/py-hyperopt/package.py
index 2f2cf3f7eb..5911a0ff87 100644
--- a/var/spack/repos/builtin/packages/py-hyperopt/package.py
+++ b/var/spack/repos/builtin/packages/py-hyperopt/package.py
@@ -12,24 +12,24 @@ class PyHyperopt(PythonPackage):
conditional dimensions."""
homepage = "https://hyperopt.github.io/hyperopt/"
- pypi = "hyperopt/hyperopt-0.2.5.tar.gz"
+ pypi = "hyperopt/hyperopt-0.2.5.tar.gz"
- version('0.2.5', sha256='bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc')
+ version("0.2.5", sha256="bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc")
- variant('spark', default=False, description="SparkTrials")
- variant('mongo', default=False, description="MongoTrials")
- variant('atpe', default=False, description="ATPE")
+ variant("spark", default=False, description="SparkTrials")
+ variant("mongo", default=False, description="MongoTrials")
+ variant("atpe", default=False, description="ATPE")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-networkx@2.2:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-cloudpickle', type=('build', 'run'))
- depends_on('py-pyspark', when="+spark", type=('build', 'run'))
- depends_on('py-pymongo', when="+mongo", type=('build', 'run'))
- depends_on('py-scikit-learn', when="+atpe", type=('build', 'run'))
- depends_on('py-lightgbm', when="+atpe", type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-networkx@2.2:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-cloudpickle", type=("build", "run"))
+ depends_on("py-pyspark", when="+spark", type=("build", "run"))
+ depends_on("py-pymongo", when="+mongo", type=("build", "run"))
+ depends_on("py-scikit-learn", when="+atpe", type=("build", "run"))
+ depends_on("py-lightgbm", when="+atpe", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-hypothesis/package.py b/var/spack/repos/builtin/packages/py-hypothesis/package.py
index f675ccfa94..4e791e4fe6 100644
--- a/var/spack/repos/builtin/packages/py-hypothesis/package.py
+++ b/var/spack/repos/builtin/packages/py-hypothesis/package.py
@@ -12,45 +12,51 @@ class PyHypothesis(PythonPackage):
homepage = "https://github.com/HypothesisWorks/hypothesis-python"
pypi = "hypothesis/hypothesis-4.41.2.tar.gz"
- version('6.23.1', sha256='23a1b0488aec5719e2f9e399342e10f30d497cbb9fd39470ef0975c1b502ae35')
- version('5.3.0', sha256='c9fdb53fe3bf1f8e7dcca1a7dd6e430862502f088aca2903d141511212e79429')
- version('4.57.1', sha256='3c4369a4b0a1348561048bcda5f1db951a1b8e2a514ea8e8c70d36e656bf6fa0')
- version('4.41.2', sha256='6847df3ffb4aa52798621dd007e6b61dbcf2d76c30ba37dc2699720e2c734b7a')
- version('4.24.3', sha256='fd90a319f409f34a173156ca704d6c0c6c0bb30a2e43dbf26aced2c75569e5d5')
- version('4.7.2', sha256='87944c6379f77634474b88abbf1e5ed5fe966637cc926131eda5e2af5b54a608')
- version('3.7.0', sha256='0fea49d08f2d5884f014151a5af6fb48d862f6ad567ffc4a2e84abf2f186c423')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@6:')
- depends_on('py-setuptools@36.2:', type=('build'))
- depends_on('py-attrs@19.2.0:', when='@4.38.2:', type=('build', 'run'))
- depends_on('py-attrs@16.0.0:', when='@3.44.22:', type=('build', 'run'))
- depends_on('py-attrs', when='@3.28.0:', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:2')
- depends_on('py-sortedcontainers@2.1.0:2', type=('build', 'run'), when='@4.57.1:')
-
- depends_on('py-django@2.2:', type='run', when='+django')
- depends_on('py-pytz@2014.1:', type='run', when='+django')
- depends_on('py-numpy@1.9.0:', type='run', when='+numpy')
- depends_on('py-pandas@0.25:', type='run', when='+pandas')
-
- variant('django', default=False, description='Enable django support')
- variant('numpy', default=False, description='Enable numpy support')
- variant('pandas', default=False, description='Enable pandas support')
+ version("6.23.1", sha256="23a1b0488aec5719e2f9e399342e10f30d497cbb9fd39470ef0975c1b502ae35")
+ version("5.3.0", sha256="c9fdb53fe3bf1f8e7dcca1a7dd6e430862502f088aca2903d141511212e79429")
+ version("4.57.1", sha256="3c4369a4b0a1348561048bcda5f1db951a1b8e2a514ea8e8c70d36e656bf6fa0")
+ version("4.41.2", sha256="6847df3ffb4aa52798621dd007e6b61dbcf2d76c30ba37dc2699720e2c734b7a")
+ version("4.24.3", sha256="fd90a319f409f34a173156ca704d6c0c6c0bb30a2e43dbf26aced2c75569e5d5")
+ version("4.7.2", sha256="87944c6379f77634474b88abbf1e5ed5fe966637cc926131eda5e2af5b54a608")
+ version("3.7.0", sha256="0fea49d08f2d5884f014151a5af6fb48d862f6ad567ffc4a2e84abf2f186c423")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@6:")
+ depends_on("py-setuptools@36.2:", type=("build"))
+ depends_on("py-attrs@19.2.0:", when="@4.38.2:", type=("build", "run"))
+ depends_on("py-attrs@16.0.0:", when="@3.44.22:", type=("build", "run"))
+ depends_on("py-attrs", when="@3.28.0:", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:2")
+ depends_on("py-sortedcontainers@2.1.0:2", type=("build", "run"), when="@4.57.1:")
+
+ depends_on("py-django@2.2:", type="run", when="+django")
+ depends_on("py-pytz@2014.1:", type="run", when="+django")
+ depends_on("py-numpy@1.9.0:", type="run", when="+numpy")
+ depends_on("py-pandas@0.25:", type="run", when="+pandas")
+
+ variant("django", default=False, description="Enable django support")
+ variant("numpy", default=False, description="Enable numpy support")
+ variant("pandas", default=False, description="Enable pandas support")
# All modules except for 'hypothesis.extra.pandas' and 'hypothesis.extra.django',
# which are optional and are only added when their variants are enabled:
import_test_modules = [
- 'hypothesis', 'hypothesis.extra', 'hypothesis.utils',
- 'hypothesis.strategies', 'hypothesis.strategies._internal',
- 'hypothesis.vendor', 'hypothesis.internal', 'hypothesis.internal.conjecture',
- 'hypothesis.internal.conjecture.shrinking', 'hypothesis.internal.conjecture.dfa'
+ "hypothesis",
+ "hypothesis.extra",
+ "hypothesis.utils",
+ "hypothesis.strategies",
+ "hypothesis.strategies._internal",
+ "hypothesis.vendor",
+ "hypothesis.internal",
+ "hypothesis.internal.conjecture",
+ "hypothesis.internal.conjecture.shrinking",
+ "hypothesis.internal.conjecture.dfa",
]
@property
def import_modules(self):
- if self.spec.satisfies('+pandas'):
- self.import_test_modules.append('hypothesis.extra.pandas')
- if self.spec.satisfies('+django'):
- self.import_test_modules.append('hypothesis.extra.django')
+ if self.spec.satisfies("+pandas"):
+ self.import_test_modules.append("hypothesis.extra.pandas")
+ if self.spec.satisfies("+django"):
+ self.import_test_modules.append("hypothesis.extra.django")
return self.import_test_modules
diff --git a/var/spack/repos/builtin/packages/py-ibm-cloud-sdk-core/package.py b/var/spack/repos/builtin/packages/py-ibm-cloud-sdk-core/package.py
index b1de616eff..476b24e52d 100644
--- a/var/spack/repos/builtin/packages/py-ibm-cloud-sdk-core/package.py
+++ b/var/spack/repos/builtin/packages/py-ibm-cloud-sdk-core/package.py
@@ -12,13 +12,13 @@ class PyIbmCloudSdkCore(PythonPackage):
Generator (openapi-sdkgen)."""
homepage = "https://github.com/IBM/python-sdk-core"
- pypi = "ibm-cloud-sdk-core/ibm-cloud-sdk-core-3.9.0.tar.gz"
+ pypi = "ibm-cloud-sdk-core/ibm-cloud-sdk-core-3.9.0.tar.gz"
- version('3.10.0', sha256='ab9520be99066ec41a24e31ac653c28953adc8fc349f0fa53a598e1802a79cd6')
- version('3.9.0', sha256='51403f33003254d83d5028d8cebd7617f5cca82af85b6e9c4ad553eccd079dbf')
+ version("3.10.0", sha256="ab9520be99066ec41a24e31ac653c28953adc8fc349f0fa53a598e1802a79cd6")
+ version("3.9.0", sha256="51403f33003254d83d5028d8cebd7617f5cca82af85b6e9c4ad553eccd079dbf")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.20:2', type=('build', 'run'))
- depends_on('py-python-dateutil@2.5.3:2', type=('build', 'run'))
- depends_on('py-pyjwt@2.0.1:2', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.20:2", type=("build", "run"))
+ depends_on("py-python-dateutil@2.5.3:2", type=("build", "run"))
+ depends_on("py-pyjwt@2.0.1:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ibm-watson/package.py b/var/spack/repos/builtin/packages/py-ibm-watson/package.py
index 40854a8181..da593d4854 100644
--- a/var/spack/repos/builtin/packages/py-ibm-watson/package.py
+++ b/var/spack/repos/builtin/packages/py-ibm-watson/package.py
@@ -11,12 +11,12 @@ class PyIbmWatson(PythonPackage):
the various Watson APIs services."""
homepage = "https://github.com/watson-developer-cloud/python-sdk"
- pypi = "ibm-watson/ibm-watson-5.1.0.tar.gz"
+ pypi = "ibm-watson/ibm-watson-5.1.0.tar.gz"
- version('5.1.0', sha256='faea1e519f6d846a5ca9e03aefc9f894ff8da1eed9117ace6a6fa8f218ba0bc7')
+ version("5.1.0", sha256="faea1e519f6d846a5ca9e03aefc9f894ff8da1eed9117ace6a6fa8f218ba0bc7")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.0:2', type=('build', 'run'))
- depends_on('py-python-dateutil@2.5.3:', type=('build', 'run'))
- depends_on('py-websocket-client@0.48.0', type=('build', 'run'))
- depends_on('py-ibm-cloud-sdk-core@3.3.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.0:2", type=("build", "run"))
+ depends_on("py-python-dateutil@2.5.3:", type=("build", "run"))
+ depends_on("py-websocket-client@0.48.0", type=("build", "run"))
+ depends_on("py-ibm-cloud-sdk-core@3.3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ics/package.py b/var/spack/repos/builtin/packages/py-ics/package.py
index 5b8bbc8e6e..662bdf6039 100644
--- a/var/spack/repos/builtin/packages/py-ics/package.py
+++ b/var/spack/repos/builtin/packages/py-ics/package.py
@@ -27,14 +27,14 @@ class PyIcs(PythonPackage):
"""
homepage = "https://github.com/C4ptainCrunch/ics.py"
- url = "https://github.com/C4ptainCrunch/ics.py/archive/v0.6.tar.gz"
+ url = "https://github.com/C4ptainCrunch/ics.py/archive/v0.6.tar.gz"
- version('0.7', sha256='48c637e5eb8dfc817b1f3f6b3f662ba19cfcc25f8f71eb42f5d07e6f2c573994')
- version('0.6', sha256='4947263136202d0489d4f5e5c7175dfd2db5d3508b8b003ddeaef96347f68830')
+ version("0.7", sha256="48c637e5eb8dfc817b1f3f6b3f662ba19cfcc25f8f71eb42f5d07e6f2c573994")
+ version("0.6", sha256="4947263136202d0489d4f5e5c7175dfd2db5d3508b8b003ddeaef96347f68830")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-arrow@0.11:0.14', type=('build', 'run'))
- depends_on('py-six@1.5:', type=('build', 'run'))
- depends_on('py-tatsu@4.2:', type=('build', 'run'), when='@0.6:')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-arrow@0.11:0.14", type=("build", "run"))
+ depends_on("py-six@1.5:", type=("build", "run"))
+ depends_on("py-tatsu@4.2:", type=("build", "run"), when="@0.6:")
diff --git a/var/spack/repos/builtin/packages/py-identify/package.py b/var/spack/repos/builtin/packages/py-identify/package.py
index b8968c927e..5964b08e84 100644
--- a/var/spack/repos/builtin/packages/py-identify/package.py
+++ b/var/spack/repos/builtin/packages/py-identify/package.py
@@ -15,7 +15,7 @@ class PyIdentify(PythonPackage):
homepage = "https://github.com/chriskuehl/identify"
pypi = "identify/identify-1.4.7.tar.gz"
- version('1.4.7', sha256='d8919589bd2a5f99c66302fec0ef9027b12ae150b0b0213999ad3f695fc7296e')
+ version("1.4.7", sha256="d8919589bd2a5f99c66302fec0ef9027b12ae150b0b0213999ad3f695fc7296e")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-idna-ssl/package.py b/var/spack/repos/builtin/packages/py-idna-ssl/package.py
index a1bc8f6582..607e15625e 100644
--- a/var/spack/repos/builtin/packages/py-idna-ssl/package.py
+++ b/var/spack/repos/builtin/packages/py-idna-ssl/package.py
@@ -11,9 +11,9 @@ class PyIdnaSsl(PythonPackage):
"""Patch ssl.match_hostname for Unicode(idna) domains support"""
homepage = "https://github.com/aio-libs/idna-ssl"
- url = "https://github.com/aio-libs/idna-ssl/archive/v1.1.0.tar.gz"
+ url = "https://github.com/aio-libs/idna-ssl/archive/v1.1.0.tar.gz"
- version('1.1.0', sha256='cdbefa2429a6a2fa5cbe8d2a47c677ca671e84531618d3460fc0bcfc840684c5')
+ version("1.1.0", sha256="cdbefa2429a6a2fa5cbe8d2a47c677ca671e84531618d3460fc0bcfc840684c5")
- depends_on('py-setuptools', type='build')
- depends_on('py-idna@2.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-idna@2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-idna/package.py b/var/spack/repos/builtin/packages/py-idna/package.py
index 9077c99f52..9f4e31ac2d 100644
--- a/var/spack/repos/builtin/packages/py-idna/package.py
+++ b/var/spack/repos/builtin/packages/py-idna/package.py
@@ -7,19 +7,19 @@ from spack.package import *
class PyIdna(PythonPackage):
- """Internationalized Domain Names for Python (IDNA 2008 and UTS #46) """
+ """Internationalized Domain Names for Python (IDNA 2008 and UTS #46)"""
homepage = "https://github.com/kjd/idna"
pypi = "idna/idna-3.2.tar.gz"
- version('3.3', sha256='9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d')
- version('3.2', sha256='467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3')
- version('2.9', sha256='7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb')
- version('2.8', sha256='c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407')
- version('2.5', sha256='3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab')
+ version("3.3", sha256="9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d")
+ version("3.2", sha256="467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3")
+ version("2.9", sha256="7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb")
+ version("2.8", sha256="c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407")
+ version("2.5", sha256="3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab")
- depends_on('python@3.5:', when='@3.2:', type=('build', 'run'))
- depends_on('python@3.4:', when='@3:', type=('build', 'run'))
- depends_on('python@2.7:2,3.4:', when='@2.8:2', type=('build', 'run'))
- depends_on('python@2.6:', when='@:2.7', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'link'))
+ depends_on("python@3.5:", when="@3.2:", type=("build", "run"))
+ depends_on("python@3.4:", when="@3:", type=("build", "run"))
+ depends_on("python@2.7:2,3.4:", when="@2.8:2", type=("build", "run"))
+ depends_on("python@2.6:", when="@:2.7", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "link"))
diff --git a/var/spack/repos/builtin/packages/py-illumina-utils/package.py b/var/spack/repos/builtin/packages/py-illumina-utils/package.py
index 552a39b2e1..a8fb5f759a 100644
--- a/var/spack/repos/builtin/packages/py-illumina-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-illumina-utils/package.py
@@ -13,12 +13,12 @@ class PyIlluminaUtils(PythonPackage):
homepage = "https://github.com/meren/illumina-utils"
pypi = "illumina-utils/illumina-utils-2.2.tar.gz"
- version('2.3', sha256='0e8407b91d530d9a53d8ec3c83e60f25e7f8f80d06ce17b8e4f57a02d3262441')
- version('2.2', sha256='6039c72d077c101710fe4fdbfeaa30caa1c3c2c84ffa6295456927d82def8e6d')
+ version("2.3", sha256="0e8407b91d530d9a53d8ec3c83e60f25e7f8f80d06ce17b8e4f57a02d3262441")
+ version("2.2", sha256="6039c72d077c101710fe4fdbfeaa30caa1c3c2c84ffa6295456927d82def8e6d")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-pip', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-python-levenshtein', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-pip", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-python-levenshtein", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ilmbase/package.py b/var/spack/repos/builtin/packages/py-ilmbase/package.py
index 996ed36503..225b9b80ae 100644
--- a/var/spack/repos/builtin/packages/py-ilmbase/package.py
+++ b/var/spack/repos/builtin/packages/py-ilmbase/package.py
@@ -10,12 +10,12 @@ class PyIlmbase(AutotoolsPackage):
"""The PyIlmBase libraries provides python bindings for the IlmBase libraries."""
homepage = "https://github.com/AcademySoftwareFoundation/openexr/tree/v2.3.0/PyIlmBase"
- url = "https://github.com/AcademySoftwareFoundation/openexr/releases/download/v2.3.0/pyilmbase-2.3.0.tar.gz"
+ url = "https://github.com/AcademySoftwareFoundation/openexr/releases/download/v2.3.0/pyilmbase-2.3.0.tar.gz"
- version('2.3.0', sha256='9c898bb16e7bc916c82bebdf32c343c0f2878fc3eacbafa49937e78f2079a425')
+ version("2.3.0", sha256="9c898bb16e7bc916c82bebdf32c343c0f2878fc3eacbafa49937e78f2079a425")
- depends_on('ilmbase')
- depends_on('boost+python')
+ depends_on("ilmbase")
+ depends_on("boost+python")
# https://github.com/AcademySoftwareFoundation/openexr/issues/336
parallel = False
@@ -24,8 +24,9 @@ class PyIlmbase(AutotoolsPackage):
spec = self.spec
args = [
- '--with-boost-python-libname=boost_python{0}'.format(
- spec['python'].version.up_to(2).joined)
+ "--with-boost-python-libname=boost_python{0}".format(
+ spec["python"].version.up_to(2).joined
+ )
]
return args
diff --git a/var/spack/repos/builtin/packages/py-imageio-ffmpeg/package.py b/var/spack/repos/builtin/packages/py-imageio-ffmpeg/package.py
index 88062c2f70..06d323777d 100644
--- a/var/spack/repos/builtin/packages/py-imageio-ffmpeg/package.py
+++ b/var/spack/repos/builtin/packages/py-imageio-ffmpeg/package.py
@@ -18,11 +18,11 @@ class PyImageioFfmpeg(PythonPackage):
homepage = "https://github.com/imageio/imageio-ffmpeg"
pypi = "imageio-ffmpeg/imageio-ffmpeg-0.4.3.tar.gz"
- version('0.4.5', sha256='f2ea4245a2adad25dedf98d343159579167e549ac8c4691cef5eff980e20c139')
- version('0.4.3', sha256='f826260a3207b872f1a4ba87ec0c8e02c00afba4fd03348a59049bdd8215841e')
+ version("0.4.5", sha256="f2ea4245a2adad25dedf98d343159579167e549ac8c4691cef5eff980e20c139")
+ version("0.4.3", sha256="f826260a3207b872f1a4ba87ec0c8e02c00afba4fd03348a59049bdd8215841e")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-pip@19:', type='build')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-pip@19:", type="build")
# Needs setuptools at runtime so that `import pkg_resources` succeeds
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('ffmpeg', type='run')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("ffmpeg", type="run")
diff --git a/var/spack/repos/builtin/packages/py-imageio/package.py b/var/spack/repos/builtin/packages/py-imageio/package.py
index 5276eb62d5..e3a825d3f5 100644
--- a/var/spack/repos/builtin/packages/py-imageio/package.py
+++ b/var/spack/repos/builtin/packages/py-imageio/package.py
@@ -7,7 +7,7 @@ from spack.package import *
class PyImageio(PythonPackage):
- """ Python library for reading and writing image data.
+ """Python library for reading and writing image data.
Imageio is a Python library that provides an easy interface
to read and write a wide range of image data, including animated
@@ -17,21 +17,21 @@ class PyImageio(PythonPackage):
homepage = "https://github.com/imageio/imageio"
pypi = "imageio/imageio-2.3.0.tar.gz"
- version('2.16.0', sha256='7f7d8d8e1eb6f8bb1d15e0dd93bee3f72026a4c3b96e9c690e42f403f7bdea3e')
- version('2.10.3', sha256='469c59fe71c81cdc41c84f842d62dd2739a08fac8cb85f5a518a92a6227e2ed6')
- version('2.9.0', sha256='52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0')
- version('2.5.0', sha256='42e65aadfc3d57a1043615c92bdf6319b67589e49a0aae2b985b82144aceacad')
- version('2.4.1', sha256='16b8077bc8a5fa7a58b3e744f7ecbb156d8c088132df31e0f4f546c98de3514a')
- version('2.3.0', sha256='c4fd5183c342d47fdc2e98552d14e3f24386021bbc3efedd1e3b579d7d249c07')
+ version("2.16.0", sha256="7f7d8d8e1eb6f8bb1d15e0dd93bee3f72026a4c3b96e9c690e42f403f7bdea3e")
+ version("2.10.3", sha256="469c59fe71c81cdc41c84f842d62dd2739a08fac8cb85f5a518a92a6227e2ed6")
+ version("2.9.0", sha256="52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0")
+ version("2.5.0", sha256="42e65aadfc3d57a1043615c92bdf6319b67589e49a0aae2b985b82144aceacad")
+ version("2.4.1", sha256="16b8077bc8a5fa7a58b3e744f7ecbb156d8c088132df31e0f4f546c98de3514a")
+ version("2.3.0", sha256="c4fd5183c342d47fdc2e98552d14e3f24386021bbc3efedd1e3b579d7d249c07")
# TODO: Add variants for plugins, and optional dependencies
# Fix for python 2 if needed.
- depends_on('python@3.5:', when='@2.9.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@:2.5.0', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.20:', when='@2.16:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('pil@8.3.2:', when='@2.10:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('ffmpeg', type='run')
+ depends_on("python@3.5:", when="@2.9.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@:2.5.0", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.20:", when="@2.16:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("pil@8.3.2:", when="@2.10:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("ffmpeg", type="run")
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
index ec13aa092d..25c5fddd7a 100644
--- a/var/spack/repos/builtin/packages/py-imagesize/package.py
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -13,9 +13,9 @@ class PyImagesize(PythonPackage):
homepage = "https://github.com/shibukawa/imagesize_py"
pypi = "imagesize/imagesize-0.7.1.tar.gz"
- version('1.3.0', sha256='cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d')
- version('1.1.0', sha256='f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5')
- version('0.7.1', sha256='0ab2c62b87987e3252f89d30b7cedbec12a01af9274af9ffa48108f2c13c6062')
+ version("1.3.0", sha256="cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d")
+ version("1.1.0", sha256="f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5")
+ version("0.7.1", sha256="0ab2c62b87987e3252f89d30b7cedbec12a01af9274af9ffa48108f2c13c6062")
- depends_on('python@2.7:2,3.4:', when='@1.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2,3.4:", when="@1.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-imgaug/package.py b/var/spack/repos/builtin/packages/py-imgaug/package.py
index 40406912ed..f93d83a9aa 100644
--- a/var/spack/repos/builtin/packages/py-imgaug/package.py
+++ b/var/spack/repos/builtin/packages/py-imgaug/package.py
@@ -13,19 +13,19 @@ class PyImgaug(PythonPackage):
in a variety of different ways."""
homepage = "https://github.com/aleju/imgaug"
- pypi = "imgaug/imgaug-0.3.0.tar.gz"
+ pypi = "imgaug/imgaug-0.3.0.tar.gz"
- version('0.4.0', sha256='46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7')
- version('0.3.0', sha256='e1354d41921f1b306b50c5141b4870f17e81b531cae2f5c3093da9dc4dcb3cf4')
+ version("0.4.0", sha256="46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7")
+ version("0.3.0", sha256="e1354d41921f1b306b50c5141b4870f17e81b531cae2f5c3093da9dc4dcb3cf4")
- depends_on('py-setuptools', type='build')
- depends_on('py-imageio', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-shapely', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-scikit-image@0.14.2:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('opencv+python2', when='^python@2.0:2', type=('build', 'run'))
- depends_on('opencv+python3', when='^python@3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-imageio", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-shapely", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-scikit-image@0.14.2:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("opencv+python2", when="^python@2.0:2", type=("build", "run"))
+ depends_on("opencv+python3", when="^python@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-iminuit/package.py b/var/spack/repos/builtin/packages/py-iminuit/package.py
index b4f85ed133..83c618e842 100644
--- a/var/spack/repos/builtin/packages/py-iminuit/package.py
+++ b/var/spack/repos/builtin/packages/py-iminuit/package.py
@@ -11,15 +11,15 @@ class PyIminuit(PythonPackage):
pypi = "iminuit/iminuit-1.2.tar.gz"
- version('2.8.4', sha256='4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0')
- version('1.5.2', sha256='0b54f4d4fc3175471398b573d24616ddb8eb7d63808aa370cfc71fc1d636a1fd')
- version('1.3.7', sha256='9173e52cc4a0c0bda13ebfb862f9b074dc5de345b23cb15c1150863aafd8a26c')
- version('1.3.6', sha256='d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e')
- version('1.2', sha256='7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64')
+ version("2.8.4", sha256="4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0")
+ version("1.5.2", sha256="0b54f4d4fc3175471398b573d24616ddb8eb7d63808aa370cfc71fc1d636a1fd")
+ version("1.3.7", sha256="9173e52cc4a0c0bda13ebfb862f9b074dc5de345b23cb15c1150863aafd8a26c")
+ version("1.3.6", sha256="d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e")
+ version("1.2", sha256="7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64")
# Required dependencies
- depends_on('python@3.6:', type=('build', 'run'), when='@2.6.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'), when='@1.3:1.3.6')
- depends_on('py-numpy@1.11.3:', type=('build', 'run'), when='@1.3.7:')
- depends_on('py-cmake', type='build', when='@2.8.4')
+ depends_on("python@3.6:", type=("build", "run"), when="@2.6.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"), when="@1.3:1.3.6")
+ depends_on("py-numpy@1.11.3:", type=("build", "run"), when="@1.3.7:")
+ depends_on("py-cmake", type="build", when="@2.8.4")
diff --git a/var/spack/repos/builtin/packages/py-immutables/package.py b/var/spack/repos/builtin/packages/py-immutables/package.py
index 3f567ee546..2295e86130 100644
--- a/var/spack/repos/builtin/packages/py-immutables/package.py
+++ b/var/spack/repos/builtin/packages/py-immutables/package.py
@@ -13,11 +13,11 @@ class PyImmutables(PythonPackage):
homepage = "https://github.com/MagicStack/immutables"
pypi = "immutables/immutables-0.14.tar.gz"
- version('0.16', sha256='d67e86859598eed0d926562da33325dac7767b7b1eff84e232c22abea19f4360')
- version('0.14', sha256='a0a1cc238b678455145bae291d8426f732f5255537ed6a5b7645949704c70a78')
+ version("0.16", sha256="d67e86859598eed0d926562da33325dac7767b7b1eff84e232c22abea19f4360")
+ version("0.14", sha256="a0a1cc238b678455145bae291d8426f732f5255537ed6a5b7645949704c70a78")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@0.16:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', type='build', when='@0.16:')
- depends_on('py-typing-extensions@3.7.4.3:', when='@0.16: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@0.16:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", type="build", when="@0.16:")
+ depends_on("py-typing-extensions@3.7.4.3:", when="@0.16: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
index 5c75a85503..748dd98bd4 100644
--- a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
@@ -12,29 +12,29 @@ class PyImportlibMetadata(PythonPackage):
homepage = "https://importlib-metadata.readthedocs.io/"
pypi = "importlib_metadata/importlib_metadata-1.2.0.tar.gz"
- version('4.11.1', sha256='175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c')
- version('4.8.2', sha256='75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb')
- version('4.8.1', sha256='f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1')
- version('4.6.1', sha256='079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b717c8cac')
- version('3.10.1', sha256='c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1')
- version('3.10.0', sha256='c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a')
- version('2.0.0', sha256='77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da')
- version('1.7.0', sha256='90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83')
- version('1.2.0', sha256='41e688146d000891f32b1669e8573c57e39e5060e7f5f647aa617cd9a9568278')
- version('0.23', sha256='aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26')
- version('0.19', sha256='23d3d873e008a513952355379d93cbcab874c58f4f034ff657c7a87422fa64e8')
- version('0.18', sha256='cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db')
+ version("4.11.1", sha256="175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c")
+ version("4.8.2", sha256="75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb")
+ version("4.8.1", sha256="f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1")
+ version("4.6.1", sha256="079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b717c8cac")
+ version("3.10.1", sha256="c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1")
+ version("3.10.0", sha256="c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a")
+ version("2.0.0", sha256="77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da")
+ version("1.7.0", sha256="90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83")
+ version("1.2.0", sha256="41e688146d000891f32b1669e8573c57e39e5060e7f5f647aa617cd9a9568278")
+ version("0.23", sha256="aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26")
+ version("0.19", sha256="23d3d873e008a513952355379d93cbcab874c58f4f034ff657c7a87422fa64e8")
+ version("0.18", sha256="cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db")
- depends_on('python@3.7:', when='@4.9:', type=('build', 'run'))
- depends_on('python@3.6:', when='@3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools@56:', when='@4.6.4:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@3.4.1:+toml', when='@3:', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-zipp@0.5:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.6.4:', when='@3: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.7:", when="@4.9:", type=("build", "run"))
+ depends_on("python@3.6:", when="@3:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools@56:", when="@4.6.4:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@3.4.1:+toml", when="@3:", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-zipp@0.5:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.6.4:", when="@3: ^python@:3.7", type=("build", "run"))
- depends_on('py-pathlib2', when='^python@:2', type=('build', 'run'))
- depends_on('py-contextlib2', when='^python@:2', type=('build', 'run'))
- depends_on('py-configparser@3.5:', when='^python@:2', type=('build', 'run'))
+ depends_on("py-pathlib2", when="^python@:2", type=("build", "run"))
+ depends_on("py-contextlib2", when="^python@:2", type=("build", "run"))
+ depends_on("py-configparser@3.5:", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-importlib-resources/package.py b/var/spack/repos/builtin/packages/py-importlib-resources/package.py
index b12f0560b4..d121dc40b2 100644
--- a/var/spack/repos/builtin/packages/py-importlib-resources/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-resources/package.py
@@ -12,19 +12,19 @@ class PyImportlibResources(PythonPackage):
homepage = "https://github.com/python/importlib_resources"
pypi = "importlib_resources/importlib_resources-1.0.2.tar.gz"
- version('5.3.0', sha256='f2e58e721b505a79abe67f5868d99f8886aec8594c962c7490d0c22925f518da')
- version('5.2.3', sha256='203d70dda34cfbfbb42324a8d4211196e7d3e858de21a5eb68c6d1cdd99e4e98')
- version('5.2.2', sha256='a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b')
- version('5.1.0', sha256='bfdad047bce441405a49cf8eb48ddce5e56c696e185f59147a8b79e75e9e6380')
- version('1.0.2', sha256='d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078')
+ version("5.3.0", sha256="f2e58e721b505a79abe67f5868d99f8886aec8594c962c7490d0c22925f518da")
+ version("5.2.3", sha256="203d70dda34cfbfbb42324a8d4211196e7d3e858de21a5eb68c6d1cdd99e4e98")
+ version("5.2.2", sha256="a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b")
+ version("5.1.0", sha256="bfdad047bce441405a49cf8eb48ddce5e56c696e185f59147a8b79e75e9e6380")
+ version("1.0.2", sha256="d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
- depends_on('python@3.6:', when='@5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@3.4.1:+toml', when='@5:', type='build')
- depends_on('py-zipp@0.4:', when='@5.0:5.1', type=('build', 'run'))
- depends_on('py-zipp@3.1.0:', when='@5.2.2: ^python@:3.9', type=('build', 'run'))
- depends_on('py-wheel', when='@1.0.2', type='build')
- depends_on('py-pathlib2', when='^python@:2', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("python@3.6:", when="@5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@3.4.1:+toml", when="@5:", type="build")
+ depends_on("py-zipp@0.4:", when="@5.0:5.1", type=("build", "run"))
+ depends_on("py-zipp@3.1.0:", when="@5.2.2: ^python@:3.9", type=("build", "run"))
+ depends_on("py-wheel", when="@1.0.2", type="build")
+ depends_on("py-pathlib2", when="^python@:2", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-importlib/package.py b/var/spack/repos/builtin/packages/py-importlib/package.py
index 86c3f6de81..3c976c6347 100644
--- a/var/spack/repos/builtin/packages/py-importlib/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib/package.py
@@ -12,7 +12,7 @@ class PyImportlib(PythonPackage):
homepage = "https://github.com/brettcannon/importlib"
pypi = "importlib/importlib-1.0.4.zip"
- version('1.0.4', sha256='b6ee7066fea66e35f8d0acee24d98006de1a0a8a94a8ce6efe73a9a23c8d9826')
+ version("1.0.4", sha256="b6ee7066fea66e35f8d0acee24d98006de1a0a8a94a8ce6efe73a9a23c8d9826")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-incremental/package.py b/var/spack/repos/builtin/packages/py-incremental/package.py
index 758ad6ae77..5ab78087bf 100644
--- a/var/spack/repos/builtin/packages/py-incremental/package.py
+++ b/var/spack/repos/builtin/packages/py-incremental/package.py
@@ -10,8 +10,8 @@ class PyIncremental(PythonPackage):
"""A small library that versions your Python projects."""
homepage = "https://github.com/twisted/incremental"
- pypi = "incremental/incremental-21.3.0.tar.gz"
+ pypi = "incremental/incremental-21.3.0.tar.gz"
- version('21.3.0', sha256='02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57')
+ version("21.3.0", sha256="02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-inference-schema/package.py b/var/spack/repos/builtin/packages/py-inference-schema/package.py
index dcea929ff2..801bc701c5 100644
--- a/var/spack/repos/builtin/packages/py-inference-schema/package.py
+++ b/var/spack/repos/builtin/packages/py-inference-schema/package.py
@@ -13,18 +13,22 @@ class PyInferenceSchema(PythonPackage):
aid in web based ML prediction applications."""
homepage = "https://pypi.org/project/inference-schema/"
- url = "https://pypi.io/packages/py3/i/inference-schema/inference_schema-1.0.2-py3-none-any.whl"
-
- version('1.0.2', sha256='fd379becbd12dcf9f7a1ad5c03b163d501ef1dcc4fb85204735c84b1d139f478', expand=False)
-
- variant('numpy', default=False, description='Enable numpy support')
- variant('pandas', default=False, description='Enable pandas support')
- variant('pyspark', default=False, description='Enable pyspark support')
-
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.5.3:', type=('build', 'run'))
- depends_on('py-pytz@2017.2:', type=('build', 'run'))
- depends_on('py-wrapt@1.11.1', type=('build', 'run'))
- depends_on('py-numpy@1.13.0:', when='+numpy', type=('build', 'run'))
- depends_on('py-pandas@0.20.2:', when='+pandas', type=('build', 'run'))
- depends_on('py-pyspark@2.3.2', when='+pyspark', type=('build', 'run'))
+ url = "https://pypi.io/packages/py3/i/inference-schema/inference_schema-1.0.2-py3-none-any.whl"
+
+ version(
+ "1.0.2",
+ sha256="fd379becbd12dcf9f7a1ad5c03b163d501ef1dcc4fb85204735c84b1d139f478",
+ expand=False,
+ )
+
+ variant("numpy", default=False, description="Enable numpy support")
+ variant("pandas", default=False, description="Enable pandas support")
+ variant("pyspark", default=False, description="Enable pyspark support")
+
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.5.3:", type=("build", "run"))
+ depends_on("py-pytz@2017.2:", type=("build", "run"))
+ depends_on("py-wrapt@1.11.1", type=("build", "run"))
+ depends_on("py-numpy@1.13.0:", when="+numpy", type=("build", "run"))
+ depends_on("py-pandas@0.20.2:", when="+pandas", type=("build", "run"))
+ depends_on("py-pyspark@2.3.2", when="+pyspark", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-inheritance/package.py b/var/spack/repos/builtin/packages/py-inheritance/package.py
index 325eb4e82c..9fd301c133 100644
--- a/var/spack/repos/builtin/packages/py-inheritance/package.py
+++ b/var/spack/repos/builtin/packages/py-inheritance/package.py
@@ -12,10 +12,10 @@ class PyInheritance(PythonPackage):
"""
homepage = "https://github.com/brentp/inheritance"
- url = "https://github.com/brentp/inheritance/archive/v0.1.5.tar.gz"
+ url = "https://github.com/brentp/inheritance/archive/v0.1.5.tar.gz"
- version('0.1.5', sha256='d0621328649a636a42766488fbd0d36d7fb898429120fc579d656711147a0c7c')
- version('0.1.3', sha256='c12e668ff3d34d9544b0eb4a58e7ba94f265d610545bb151e330ec014a07fda6')
+ version("0.1.5", sha256="d0621328649a636a42766488fbd0d36d7fb898429120fc579d656711147a0c7c")
+ version("0.1.3", sha256="c12e668ff3d34d9544b0eb4a58e7ba94f265d610545bb151e330ec014a07fda6")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-iniconfig/package.py b/var/spack/repos/builtin/packages/py-iniconfig/package.py
index 7158d6382a..13a83749fe 100644
--- a/var/spack/repos/builtin/packages/py-iniconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-iniconfig/package.py
@@ -11,8 +11,8 @@ class PyIniconfig(PythonPackage):
iniconfig: brain-dead simple parsing of ini files
"""
- pypi = "iniconfig/iniconfig-1.1.1.tar.gz"
+ pypi = "iniconfig/iniconfig-1.1.1.tar.gz"
- version('1.1.1', sha256='bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32')
+ version("1.1.1", sha256="bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-iniparse/package.py b/var/spack/repos/builtin/packages/py-iniparse/package.py
index 60b8464d47..77cff87810 100644
--- a/var/spack/repos/builtin/packages/py-iniparse/package.py
+++ b/var/spack/repos/builtin/packages/py-iniparse/package.py
@@ -11,12 +11,12 @@ class PyIniparse(PythonPackage):
homepage = "https://github.com/candlepin/python-iniparse"
pypi = "iniparse/iniparse-0.4.tar.gz"
- git = "https://github.com/candlepin/python-iniparse.git"
+ git = "https://github.com/candlepin/python-iniparse.git"
- version('master', branch='master')
- version('0.4', sha256='abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054')
+ version("master", branch="master")
+ version("0.4", sha256="abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054")
- depends_on('python@2.4:2.8', when='@:0.4', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', when='@master:', type=('build', 'run'))
+ depends_on("python@2.4:2.8", when="@:0.4", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", when="@master:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-installer/package.py b/var/spack/repos/builtin/packages/py-installer/package.py
index 193bb75fd9..456497225f 100644
--- a/var/spack/repos/builtin/packages/py-installer/package.py
+++ b/var/spack/repos/builtin/packages/py-installer/package.py
@@ -10,11 +10,11 @@ class PyInstaller(PythonPackage):
"""A library for installing Python wheels."""
homepage = "https://github.com/pradyunsg/installer"
- pypi = "installer/installer-0.4.0.tar.gz"
+ pypi = "installer/installer-0.4.0.tar.gz"
- version('0.4.0', sha256='17d7ca174039fbd85f268e16042e3132ebb03d91e1bbe0f63b9ec6b40619414a')
+ version("0.4.0", sha256="17d7ca174039fbd85f268e16042e3132ebb03d91e1bbe0f63b9ec6b40619414a")
- depends_on('python@2.7,3.5:', type=('build', 'run'))
- depends_on('py-flit-core@2', type='build')
- depends_on('py-configparser@3.5:', when='^python@:2', type=('build', 'run'))
- depends_on('py-importlib-resources', when='^python@:3.6', type=('build', 'run'))
+ depends_on("python@2.7,3.5:", type=("build", "run"))
+ depends_on("py-flit-core@2", type="build")
+ depends_on("py-configparser@3.5:", when="^python@:2", type=("build", "run"))
+ depends_on("py-importlib-resources", when="^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-instrain/package.py b/var/spack/repos/builtin/packages/py-instrain/package.py
index cb8ad14e1e..90887508fe 100644
--- a/var/spack/repos/builtin/packages/py-instrain/package.py
+++ b/var/spack/repos/builtin/packages/py-instrain/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class PyInstrain(PythonPackage):
"""inStrain is python program for analysis of co-occurring genome
- populations from metagenomes that allows highly accurate genome
- comparisons, analysis of coverage, microdiversity, and linkage, and
- sensitive SNP detection with gene localization and synonymous
- non-synonymous identification."""
+ populations from metagenomes that allows highly accurate genome
+ comparisons, analysis of coverage, microdiversity, and linkage, and
+ sensitive SNP detection with gene localization and synonymous
+ non-synonymous identification."""
homepage = "https://github.com/MrOlm/instrain"
- pypi = "inStrain/inStrain-1.5.7.tar.gz"
+ pypi = "inStrain/inStrain-1.5.7.tar.gz"
- version('1.5.7', sha256='c5dcb01dae244927fe987b5f0695d895ccf521c9dfd87a2cb59057ad50bd9bfa')
+ version("1.5.7", sha256="c5dcb01dae244927fe987b5f0695d895ccf521c9dfd87a2cb59057ad50bd9bfa")
- depends_on('python@3.4.0:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas@0.25:1.1.2,1.1.4:', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-biopython@:1.74', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-pytest', type=('build'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-pysam@0.15:', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-lmfit', type=('build', 'run'))
- depends_on('py-numba', type=('build', 'run'))
+ depends_on("python@3.4.0:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas@0.25:1.1.2,1.1.4:", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-biopython@:1.74", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-pytest", type=("build"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-pysam@0.15:", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-lmfit", type=("build", "run"))
+ depends_on("py-numba", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-intbitset/package.py b/var/spack/repos/builtin/packages/py-intbitset/package.py
index 0c3049bd66..679652530d 100644
--- a/var/spack/repos/builtin/packages/py-intbitset/package.py
+++ b/var/spack/repos/builtin/packages/py-intbitset/package.py
@@ -14,8 +14,8 @@ class PyIntbitset(PythonPackage):
speed and reduced memory usage."""
homepage = "https://github.com/inveniosoftware/intbitset"
- pypi = "intbitset/intbitset-3.0.1.tar.gz"
+ pypi = "intbitset/intbitset-3.0.1.tar.gz"
- version('3.0.1', sha256='f1e6d03c6729922a223c51849df65b9e916e625aefb911784e7f9acd4c207d53')
+ version("3.0.1", sha256="f1e6d03c6729922a223c51849df65b9e916e625aefb911784e7f9acd4c207d53")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-intel-openmp/package.py b/var/spack/repos/builtin/packages/py-intel-openmp/package.py
index 18a9608e53..df9f5c7e50 100644
--- a/var/spack/repos/builtin/packages/py-intel-openmp/package.py
+++ b/var/spack/repos/builtin/packages/py-intel-openmp/package.py
@@ -18,14 +18,18 @@ class PyIntelOpenmp(PythonPackage):
homepage = "https://pypi.org/project/intel-openmp/"
- if sys.platform.startswith('linux'):
- version('2021.1.2',
- url='https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-manylinux1_x86_64.whl',
- sha256='8796797ecae99f39b27065e4a7f1f435e2ca08afba654ca57a77a2717f864dca',
- expand=False)
+ if sys.platform.startswith("linux"):
+ version(
+ "2021.1.2",
+ url="https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-manylinux1_x86_64.whl",
+ sha256="8796797ecae99f39b27065e4a7f1f435e2ca08afba654ca57a77a2717f864dca",
+ expand=False,
+ )
- if sys.platform.startswith('darwin'):
- version('2021.1.2',
- url='https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-macosx_10_15_x86_64.whl',
- sha256='2af893738b4b06cb0183746f2992169111031340b59c84a0fd4dec1ed66b80f2',
- expand=False)
+ if sys.platform.startswith("darwin"):
+ version(
+ "2021.1.2",
+ url="https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-macosx_10_15_x86_64.whl",
+ sha256="2af893738b4b06cb0183746f2992169111031340b59c84a0fd4dec1ed66b80f2",
+ expand=False,
+ )
diff --git a/var/spack/repos/builtin/packages/py-intensity-normalization/package.py b/var/spack/repos/builtin/packages/py-intensity-normalization/package.py
index 620af79035..e542a194b6 100644
--- a/var/spack/repos/builtin/packages/py-intensity-normalization/package.py
+++ b/var/spack/repos/builtin/packages/py-intensity-normalization/package.py
@@ -10,18 +10,18 @@ class PyIntensityNormalization(PythonPackage):
"""Normalize intensities of images from various MRI modalities"""
homepage = "https://github.com/jcreinhold/intensity-normalization"
- pypi = "intensity-normalization/intensity-normalization-2.1.1.tar.gz"
+ pypi = "intensity-normalization/intensity-normalization-2.1.1.tar.gz"
- version('2.1.1', sha256='686b86754a9a520a03f793cb15c87e945f68ede78ac0ad1b3564c5d5b7ac9486')
+ version("2.1.1", sha256="686b86754a9a520a03f793cb15c87e945f68ede78ac0ad1b3564c5d5b7ac9486")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build',))
- depends_on('py-pytest-runner', type=('build',))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-nibabel', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scikit-fuzzy', type=('build', 'run'))
- depends_on('py-scikit-image', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-statsmodels', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build",))
+ depends_on("py-pytest-runner", type=("build",))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-nibabel", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scikit-fuzzy", type=("build", "run"))
+ depends_on("py-scikit-image", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-statsmodels", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-interface-meta/package.py b/var/spack/repos/builtin/packages/py-interface-meta/package.py
index dc513a575a..811e2db4a2 100644
--- a/var/spack/repos/builtin/packages/py-interface-meta/package.py
+++ b/var/spack/repos/builtin/packages/py-interface-meta/package.py
@@ -13,8 +13,8 @@ class PyInterfaceMeta(PythonPackage):
homepage = "https://github.com/matthewwardrop/interface_meta"
pypi = "interface_meta/interface_meta-1.2.4.tar.gz"
- version('1.2.4', sha256='4c7725dd4b80f97b7eecfb26023e1a8a7cdbb6d6a7207a8e93f9d4bfef9ee566')
+ version("1.2.4", sha256="4c7725dd4b80f97b7eecfb26023e1a8a7cdbb6d6a7207a8e93f9d4bfef9ee566")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setupmeta', type='build')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setupmeta", type="build")
diff --git a/var/spack/repos/builtin/packages/py-intervaltree/package.py b/var/spack/repos/builtin/packages/py-intervaltree/package.py
index 5bb919128c..afb342be06 100644
--- a/var/spack/repos/builtin/packages/py-intervaltree/package.py
+++ b/var/spack/repos/builtin/packages/py-intervaltree/package.py
@@ -10,11 +10,11 @@ class PyIntervaltree(PythonPackage):
"""Editable interval tree data structure for Python 2 and 3."""
homepage = "https://github.com/chaimleib/intervaltree"
- url = "https://github.com/chaimleib/intervaltree/archive/3.0.2.tar.gz"
+ url = "https://github.com/chaimleib/intervaltree/archive/3.0.2.tar.gz"
- version('3.0.2', sha256='e8ab75b66077f2e5fb85ac56cb6df834689edb048d38601d53d8867cce3b77d1')
- version('2.1.0', sha256='e444398cbc9582a51c372a344cc7e05d53c53daaac2aae827951ff88554b96ff')
+ version("3.0.2", sha256="e8ab75b66077f2e5fb85ac56cb6df834689edb048d38601d53d8867cce3b77d1")
+ version("2.1.0", sha256="e444398cbc9582a51c372a344cc7e05d53c53daaac2aae827951ff88554b96ff")
- depends_on('py-sortedcontainers', type=('build', 'run'))
- depends_on('py-sortedcontainers@2.0:2', when='@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-sortedcontainers", type=("build", "run"))
+ depends_on("py-sortedcontainers@2.0:2", when="@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-invoke/package.py b/var/spack/repos/builtin/packages/py-invoke/package.py
index 8e87897e00..b683a679b4 100644
--- a/var/spack/repos/builtin/packages/py-invoke/package.py
+++ b/var/spack/repos/builtin/packages/py-invoke/package.py
@@ -12,8 +12,8 @@ class PyInvoke(PythonPackage):
homepage = "https://www.pyinvoke.org/"
pypi = "invoke/invoke-1.4.1.tar.gz"
- version('1.4.1', sha256='de3f23bfe669e3db1085789fd859eb8ca8e0c5d9c20811e2407fa042e8a5e15d')
- version('1.2.0', sha256='dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7')
+ version("1.4.1", sha256="de3f23bfe669e3db1085789fd859eb8ca8e0c5d9c20811e2407fa042e8a5e15d")
+ version("1.2.0", sha256="dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-iocapture/package.py b/var/spack/repos/builtin/packages/py-iocapture/package.py
index c90f877abb..54dc1acebc 100644
--- a/var/spack/repos/builtin/packages/py-iocapture/package.py
+++ b/var/spack/repos/builtin/packages/py-iocapture/package.py
@@ -10,11 +10,11 @@ class PyIocapture(PythonPackage):
"""Capture stdout, stderr easily."""
homepage = "https://github.com/oinume/iocapture"
- pypi = "iocapture/iocapture-0.1.2.tar.gz"
+ pypi = "iocapture/iocapture-0.1.2.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.1.2', sha256='86670e1808bcdcd4f70112f43da72ae766f04cd8311d1071ce6e0e0a72e37ee8')
+ version("0.1.2", sha256="86670e1808bcdcd4f70112f43da72ae766f04cd8311d1071ce6e0e0a72e37ee8")
- depends_on('python@2.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ipaddress/package.py b/var/spack/repos/builtin/packages/py-ipaddress/package.py
index dbb27dd110..2c164c34bf 100644
--- a/var/spack/repos/builtin/packages/py-ipaddress/package.py
+++ b/var/spack/repos/builtin/packages/py-ipaddress/package.py
@@ -12,8 +12,8 @@ class PyIpaddress(PythonPackage):
homepage = "https://github.com/phihag/ipaddress"
pypi = "ipaddress/ipaddress-1.0.23.tar.gz"
- version('1.0.23', sha256='b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2')
- version('1.0.22', sha256='b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c')
- version('1.0.18', sha256='5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1')
+ version("1.0.23", sha256="b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2")
+ version("1.0.22", sha256="b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c")
+ version("1.0.18", sha256="5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ipdb/package.py b/var/spack/repos/builtin/packages/py-ipdb/package.py
index 00a5ec89c2..046ffb7446 100644
--- a/var/spack/repos/builtin/packages/py-ipdb/package.py
+++ b/var/spack/repos/builtin/packages/py-ipdb/package.py
@@ -12,22 +12,22 @@ class PyIpdb(PythonPackage):
pypi = "ipdb/ipdb-0.10.1.tar.gz"
- version('0.10.1', sha256='bb2948e726dbfb2687f4a582088b3f170b2556ba8e54ae1231c783c97e99ec87')
+ version("0.10.1", sha256="bb2948e726dbfb2687f4a582088b3f170b2556ba8e54ae1231c783c97e99ec87")
# :TODO:
# There might be potential to add variants here, but at the time of writing
# this the original packager does not know what they are. See the 3rd party
# section on ipdb's GitHub:
# https://github.com/gotcha/ipdb#third-party-support
- depends_on('python@2.6:2.8,3.2:')
+ depends_on("python@2.6:2.8,3.2:")
# Dependencies gathered from:
# https://github.com/gotcha/ipdb/blob/master/setup.py
# However additional dependencies added below were found via testing.
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# ipdb needs iPython and others available at runtime
- depends_on('py-ipython@0.10.2:', type=('build', 'link'))
- depends_on('py-traitlets', type=('build', 'link'))
- depends_on('py-six', type=('build', 'link'))
- depends_on('py-pexpect', type=('build', 'link'))
- depends_on('py-prompt-toolkit', type=('build', 'link'))
+ depends_on("py-ipython@0.10.2:", type=("build", "link"))
+ depends_on("py-traitlets", type=("build", "link"))
+ depends_on("py-six", type=("build", "link"))
+ depends_on("py-pexpect", type=("build", "link"))
+ depends_on("py-prompt-toolkit", type=("build", "link"))
diff --git a/var/spack/repos/builtin/packages/py-ipycanvas/package.py b/var/spack/repos/builtin/packages/py-ipycanvas/package.py
index 9e0910c511..bbff429b1f 100644
--- a/var/spack/repos/builtin/packages/py-ipycanvas/package.py
+++ b/var/spack/repos/builtin/packages/py-ipycanvas/package.py
@@ -10,17 +10,17 @@ class PyIpycanvas(PythonPackage):
"""Interactive Canvas in Jupyter."""
homepage = "https://github.com/martinRenou/ipycanvas"
- pypi = "ipycanvas/ipycanvas-0.9.0.tar.gz"
+ pypi = "ipycanvas/ipycanvas-0.9.0.tar.gz"
- version('0.10.2', sha256='a02c494834cb3c60509801172e7429beae837b3cb6c61d3becf8b586c5a66004')
- version('0.9.0', sha256='f29e56b93fe765ceace0676c3e75d44e02a3ff6c806f3b7e5b869279f470cc43')
+ version("0.10.2", sha256="a02c494834cb3c60509801172e7429beae837b3cb6c61d3becf8b586c5a66004")
+ version("0.9.0", sha256="f29e56b93fe765ceace0676c3e75d44e02a3ff6c806f3b7e5b869279f470cc43")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging7', type='build')
+ depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.0:0.7', type='build')
- depends_on('py-jupyterlab@3.0:3', type='build')
- depends_on('py-ipywidgets@7.6:', type=('build', 'run'))
- depends_on('pil@6:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-jupyterlab@3.0:3", type="build")
+ depends_on("py-ipywidgets@7.6:", type=("build", "run"))
+ depends_on("pil@6:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ipyevents/package.py b/var/spack/repos/builtin/packages/py-ipyevents/package.py
index f4fc5e17f0..ab876ff2f9 100644
--- a/var/spack/repos/builtin/packages/py-ipyevents/package.py
+++ b/var/spack/repos/builtin/packages/py-ipyevents/package.py
@@ -10,14 +10,14 @@ class PyIpyevents(PythonPackage):
"""A custom widget for returning mouse and keyboard events to Python."""
homepage = "https://github.com/mwcraig/ipyevents"
- pypi = "ipyevents/ipyevents-2.0.1.tar.gz"
+ pypi = "ipyevents/ipyevents-2.0.1.tar.gz"
- version('2.0.1', sha256='23eb2afab13d9056397f120a88051dd3beb067b698d08b33adffc9e077f019cb')
+ version("2.0.1", sha256="23eb2afab13d9056397f120a88051dd3beb067b698d08b33adffc9e077f019cb")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging7', type='build')
+ depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.0:0.7', type='build')
- depends_on('py-jupyterlab@3.0:3', type='build')
- depends_on('py-ipywidgets@7.6:', type=('build', 'run'))
+ depends_on("py-jupyterlab@3.0:3", type="build")
+ depends_on("py-ipywidgets@7.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py
index 0a1d17a4b5..46ffb5ebcb 100644
--- a/var/spack/repos/builtin/packages/py-ipykernel/package.py
+++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py
@@ -13,58 +13,57 @@ class PyIpykernel(PythonPackage):
homepage = "https://github.com/ipython/ipykernel"
pypi = "ipykernel/ipykernel-5.3.4.tar.gz"
- version('6.9.1', sha256='f95070a2dfd3147f8ab19f18ee46733310813758593745e07ec18fb08b409f1d')
- version('6.4.1', sha256='df3355e5eec23126bc89767a676c5f0abfc7f4c3497d118c592b83b316e8c0cd')
- version('6.2.0', sha256='4439459f171d77f35b7f7e72dace5d7c2dd10a5c9e2c22b173ad9048fbfe7656')
- version('6.0.2', sha256='7fb3e370dbb481b012b74bed4e794d2d16eb2a83930b31e6d8d030b9fdb4d5b4')
- version('5.5.6', sha256='4ea44b90ae1f7c38987ad58ea0809562a17c2695a0499644326f334aecd369ec')
- version('5.5.5', sha256='e976751336b51082a89fc2099fb7f96ef20f535837c398df6eab1283c2070884')
- version('5.3.4', sha256='9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d')
- version('5.1.1', sha256='f0e962052718068ad3b1d8bcc703794660858f58803c3798628817f492a8769c')
- version('5.1.0', sha256='0fc0bf97920d454102168ec2008620066878848fcfca06c22b669696212e292f')
- version('4.10.0', sha256='699103c8e64886e3ec7053f2a6aa83bb90426063526f63a818732ff385202bad')
- version('4.5.0', sha256='245a798edb8fd751b95750d8645d736dd739a020e7fc7d5627dac4d1c35d8295')
- version('4.4.1', sha256='6d48398b3112efb733b254edede4b7f3262c28bd19f665b64ef1acf6ec5cd74f')
- version('4.4.0', sha256='d516427c3bd689205e6693c9616302ef34017b91ada3c9ea3fca6e90702b7ffe')
- version('4.3.1', sha256='8219d3eaa3e4d4efc5f349114e41a40f0986c91a960846bb81d5da817fb7cc3f')
- version('4.3.0', sha256='f214c661328c836e02b6f185f98f3eccd7ce396791937493ffa1babf5e3267ab')
- version('4.2.2', sha256='a876da43e01acec2c305abdd8e6aa55f052bab1196171ccf1cb9a6aa230298b0')
- version('4.2.1', sha256='081a5d4db33db58697be2d682b92f79b2c239493445f13dd457c15bc3e52c874')
- version('4.2.0', sha256='723b3d4baac20f0c9cd91fc75c3e813636ecb6c6e303fb34d628c3df078985a7')
- version('4.1.1', sha256='d8c5555386d0f18f1336dea9800f9f0fe96dcecc9757c0f980e11fdfadb661ff')
- version('4.1.0', sha256='e0e150ad55e487e49054efc9a4b0e2e17f27e1de77444b26760789077b146d86')
+ version("6.9.1", sha256="f95070a2dfd3147f8ab19f18ee46733310813758593745e07ec18fb08b409f1d")
+ version("6.4.1", sha256="df3355e5eec23126bc89767a676c5f0abfc7f4c3497d118c592b83b316e8c0cd")
+ version("6.2.0", sha256="4439459f171d77f35b7f7e72dace5d7c2dd10a5c9e2c22b173ad9048fbfe7656")
+ version("6.0.2", sha256="7fb3e370dbb481b012b74bed4e794d2d16eb2a83930b31e6d8d030b9fdb4d5b4")
+ version("5.5.6", sha256="4ea44b90ae1f7c38987ad58ea0809562a17c2695a0499644326f334aecd369ec")
+ version("5.5.5", sha256="e976751336b51082a89fc2099fb7f96ef20f535837c398df6eab1283c2070884")
+ version("5.3.4", sha256="9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d")
+ version("5.1.1", sha256="f0e962052718068ad3b1d8bcc703794660858f58803c3798628817f492a8769c")
+ version("5.1.0", sha256="0fc0bf97920d454102168ec2008620066878848fcfca06c22b669696212e292f")
+ version("4.10.0", sha256="699103c8e64886e3ec7053f2a6aa83bb90426063526f63a818732ff385202bad")
+ version("4.5.0", sha256="245a798edb8fd751b95750d8645d736dd739a020e7fc7d5627dac4d1c35d8295")
+ version("4.4.1", sha256="6d48398b3112efb733b254edede4b7f3262c28bd19f665b64ef1acf6ec5cd74f")
+ version("4.4.0", sha256="d516427c3bd689205e6693c9616302ef34017b91ada3c9ea3fca6e90702b7ffe")
+ version("4.3.1", sha256="8219d3eaa3e4d4efc5f349114e41a40f0986c91a960846bb81d5da817fb7cc3f")
+ version("4.3.0", sha256="f214c661328c836e02b6f185f98f3eccd7ce396791937493ffa1babf5e3267ab")
+ version("4.2.2", sha256="a876da43e01acec2c305abdd8e6aa55f052bab1196171ccf1cb9a6aa230298b0")
+ version("4.2.1", sha256="081a5d4db33db58697be2d682b92f79b2c239493445f13dd457c15bc3e52c874")
+ version("4.2.0", sha256="723b3d4baac20f0c9cd91fc75c3e813636ecb6c6e303fb34d628c3df078985a7")
+ version("4.1.1", sha256="d8c5555386d0f18f1336dea9800f9f0fe96dcecc9757c0f980e11fdfadb661ff")
+ version("4.1.0", sha256="e0e150ad55e487e49054efc9a4b0e2e17f27e1de77444b26760789077b146d86")
- depends_on('python@3.7:', when='@6.0:', type=('build', 'run'))
- depends_on('python@3.5:', when='@5.2:', type=('build', 'run'))
- depends_on('python@3.4:', when='@5.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', when='@5:', type='build')
- depends_on('py-jupyter-core@4.2:', when='@5:', type='build')
- depends_on('py-ipython-genutils', when='@6.3.1:6.4', type=('build', 'run'))
- depends_on('py-ipython-genutils', when='@5.5.6', type=('build', 'run'))
- depends_on('py-importlib-metadata@:4', when='@6.1:6.6 ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@:3', when='@6.0.0:6.0 ^python@:3.7', type=('build', 'run'))
- depends_on('py-argcomplete@1.12.3:', when='@6.1:6.6 ^python@:3.7', type=('build', 'run'))
- depends_on('py-debugpy@1.0:1', when='@6:', type=('build', 'run'))
- depends_on('py-ipython@7.23.1:', when='@6.5.1:', type=('build', 'run'))
- depends_on('py-ipython@7.23.1:7', when='@6.0.0:6.5.0', type=('build', 'run'))
- depends_on('py-ipython@5.0:', when='@5', type=('build', 'run'))
- depends_on('py-ipython@4.0:', when='@:4', type=('build', 'run'))
- depends_on('py-traitlets@5.1.0:5', when='@6.5:', type=('build', 'run'))
- depends_on('py-traitlets@4.1.0:5', when='@6.0:6.4', type=('build', 'run'))
- depends_on('py-traitlets@4.1.0:', type=('build', 'run'))
- depends_on('py-jupyter-client@:7', when='@6.2:', type=('build', 'run'))
- depends_on('py-jupyter-client@:6', when='@6.0.2:6.1', type=('build', 'run'))
- depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-tornado@4.2:6', when='@6:', type=('build', 'run'))
- depends_on('py-tornado@4.2:', when='@5', type=('build', 'run'))
- depends_on('py-tornado@4:', when='@:4', type=('build', 'run'))
- depends_on('py-matplotlib-inline@0.1.0:0.1', when='@6:', type=('build', 'run'))
- depends_on('py-appnope', when='@5.1.3: platform=darwin', type=('build', 'run'))
- depends_on('py-nest-asyncio', when='@6.6.1:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@6.0:", type=("build", "run"))
+ depends_on("python@3.5:", when="@5.2:", type=("build", "run"))
+ depends_on("python@3.4:", when="@5.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", when="@5:", type="build")
+ depends_on("py-jupyter-core@4.2:", when="@5:", type="build")
+ depends_on("py-ipython-genutils", when="@6.3.1:6.4", type=("build", "run"))
+ depends_on("py-ipython-genutils", when="@5.5.6", type=("build", "run"))
+ depends_on("py-importlib-metadata@:4", when="@6.1:6.6 ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@:3", when="@6.0.0:6.0 ^python@:3.7", type=("build", "run"))
+ depends_on("py-argcomplete@1.12.3:", when="@6.1:6.6 ^python@:3.7", type=("build", "run"))
+ depends_on("py-debugpy@1.0:1", when="@6:", type=("build", "run"))
+ depends_on("py-ipython@7.23.1:", when="@6.5.1:", type=("build", "run"))
+ depends_on("py-ipython@7.23.1:7", when="@6.0.0:6.5.0", type=("build", "run"))
+ depends_on("py-ipython@5.0:", when="@5", type=("build", "run"))
+ depends_on("py-ipython@4.0:", when="@:4", type=("build", "run"))
+ depends_on("py-traitlets@5.1.0:5", when="@6.5:", type=("build", "run"))
+ depends_on("py-traitlets@4.1.0:5", when="@6.0:6.4", type=("build", "run"))
+ depends_on("py-traitlets@4.1.0:", type=("build", "run"))
+ depends_on("py-jupyter-client@:7", when="@6.2:", type=("build", "run"))
+ depends_on("py-jupyter-client@:6", when="@6.0.2:6.1", type=("build", "run"))
+ depends_on("py-jupyter-client", type=("build", "run"))
+ depends_on("py-tornado@4.2:6", when="@6:", type=("build", "run"))
+ depends_on("py-tornado@4.2:", when="@5", type=("build", "run"))
+ depends_on("py-tornado@4:", when="@:4", type=("build", "run"))
+ depends_on("py-matplotlib-inline@0.1.0:0.1", when="@6:", type=("build", "run"))
+ depends_on("py-appnope", when="@5.1.3: platform=darwin", type=("build", "run"))
+ depends_on("py-nest-asyncio", when="@6.6.1:", type=("build", "run"))
- @run_after('install')
+ @run_after("install")
def install_data(self):
- """ install the Jupyter kernel spec """
- self.spec['python'].command(
- '-m', 'ipykernel', 'install', '--prefix=' + self.prefix)
+ """install the Jupyter kernel spec"""
+ self.spec["python"].command("-m", "ipykernel", "install", "--prefix=" + self.prefix)
diff --git a/var/spack/repos/builtin/packages/py-ipympl/package.py b/var/spack/repos/builtin/packages/py-ipympl/package.py
index c1c38c6d31..2642612a82 100644
--- a/var/spack/repos/builtin/packages/py-ipympl/package.py
+++ b/var/spack/repos/builtin/packages/py-ipympl/package.py
@@ -10,21 +10,21 @@ class PyIpympl(PythonPackage):
"""Matplotlib Jupyter Extension."""
homepage = "https://github.com/matplotlib/ipympl"
- pypi = "ipympl/ipympl-0.8.8.tar.gz"
- maintainers = ['haralmha']
+ pypi = "ipympl/ipympl-0.8.8.tar.gz"
+ maintainers = ["haralmha"]
- version('0.8.8', sha256='5bf5d780b07fafe7924922ac6b2f3abd22721f341e5e196b3b82737dfbd0e1c9')
+ version("0.8.8", sha256="5bf5d780b07fafe7924922ac6b2f3abd22721f341e5e196b3b82737dfbd0e1c9")
- depends_on('py-setuptools@40.8:', type='build')
- depends_on('py-ipython@:8', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-ipython-genutils', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-traitlets@:5', type=('build', 'run'))
- depends_on('py-ipywidgets@7.6:7', type=('build', 'run'))
- depends_on('py-matplotlib@2:3', type=('build', 'run'))
+ depends_on("py-setuptools@40.8:", type="build")
+ depends_on("py-ipython@:8", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-ipython-genutils", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-traitlets@:5", type=("build", "run"))
+ depends_on("py-ipywidgets@7.6:7", type=("build", "run"))
+ depends_on("py-matplotlib@2:3", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging7', type='build')
+ depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7', type='build')
- depends_on('py-jupyterlab@3', type='build')
- depends_on('yarn', type='build')
+ depends_on("py-jupyterlab@3", type="build")
+ depends_on("yarn", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ipyparallel/package.py b/var/spack/repos/builtin/packages/py-ipyparallel/package.py
index 74b0455e82..f01e39920e 100644
--- a/var/spack/repos/builtin/packages/py-ipyparallel/package.py
+++ b/var/spack/repos/builtin/packages/py-ipyparallel/package.py
@@ -10,35 +10,35 @@ class PyIpyparallel(PythonPackage):
"""IPython's architecture for parallel and distributed computing."""
homepage = "https://github.com/ipython/ipyparallel"
- pypi = "ipyparallel/ipyparallel-7.1.0.tar.gz"
-
- version('8.0.0', sha256='95305a886f2c42e9603c034ea684e5c031d9d4222c66ed6d85eb3ae15d631e4b')
- version('7.1.0', sha256='ea756df0d2485bac19cccb0dbf4cafbc855c922b9b5905b4906e6cfac8b3c648')
- version('6.3.0', sha256='0a97b276c62db633e9e97a816282bdd166f9df74e28204f0c8fa54b71944cfdc')
- version('6.2.5', sha256='33416179665f9c2f567011ab1a618232bc32c0845c0a3a5c388f6c71048bc053')
- version('6.2.4', sha256='76c7b028962b0ba762e4e45b450ee3a4353e7221526a8af812e817d7ef6ac065')
-
- depends_on('python@3.6:', type=('build', 'run'), when='@7.1:')
- depends_on('python@3.5:', type=('build', 'run'), when='@6.3:')
- depends_on('python@2.7,3.4:', type=('build', 'run'))
-
- depends_on('py-jupyterlab@3.0:3', type='build', when='@7.1:')
- depends_on('py-packaging', type='build', when='@7.1:')
- depends_on('py-setuptools@40.8:', type='build', when='@7.1:')
- depends_on('py-setuptools@:60', type='build', when='@:8.2.0')
- depends_on('py-setuptools', type='build')
-
- depends_on('py-ipython-genutils', type=('build', 'run'), when='@:6.3')
- depends_on('py-entrypoints', type=('build', 'run'), when='@7.1:')
- depends_on('py-decorator', type=('build', 'run'))
- depends_on('py-pyzmq@18:', type=('build', 'run'), when='@7.1:')
- depends_on('py-pyzmq@13:', type=('build', 'run'))
- depends_on('py-traitlets@4.3:', type=('build', 'run'))
- depends_on('py-ipython@4:', type=('build', 'run'))
- depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-ipykernel@4.4:', type=('build', 'run'))
- depends_on('py-tornado@5.1:', type=('build', 'run'), when='@7.1:')
- depends_on('py-tornado@4:', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'), when='@7.1:')
- depends_on('py-python-dateutil@2.1:', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'), when='@7.1:')
+ pypi = "ipyparallel/ipyparallel-7.1.0.tar.gz"
+
+ version("8.0.0", sha256="95305a886f2c42e9603c034ea684e5c031d9d4222c66ed6d85eb3ae15d631e4b")
+ version("7.1.0", sha256="ea756df0d2485bac19cccb0dbf4cafbc855c922b9b5905b4906e6cfac8b3c648")
+ version("6.3.0", sha256="0a97b276c62db633e9e97a816282bdd166f9df74e28204f0c8fa54b71944cfdc")
+ version("6.2.5", sha256="33416179665f9c2f567011ab1a618232bc32c0845c0a3a5c388f6c71048bc053")
+ version("6.2.4", sha256="76c7b028962b0ba762e4e45b450ee3a4353e7221526a8af812e817d7ef6ac065")
+
+ depends_on("python@3.6:", type=("build", "run"), when="@7.1:")
+ depends_on("python@3.5:", type=("build", "run"), when="@6.3:")
+ depends_on("python@2.7,3.4:", type=("build", "run"))
+
+ depends_on("py-jupyterlab@3.0:3", type="build", when="@7.1:")
+ depends_on("py-packaging", type="build", when="@7.1:")
+ depends_on("py-setuptools@40.8:", type="build", when="@7.1:")
+ depends_on("py-setuptools@:60", type="build", when="@:8.2.0")
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-ipython-genutils", type=("build", "run"), when="@:6.3")
+ depends_on("py-entrypoints", type=("build", "run"), when="@7.1:")
+ depends_on("py-decorator", type=("build", "run"))
+ depends_on("py-pyzmq@18:", type=("build", "run"), when="@7.1:")
+ depends_on("py-pyzmq@13:", type=("build", "run"))
+ depends_on("py-traitlets@4.3:", type=("build", "run"))
+ depends_on("py-ipython@4:", type=("build", "run"))
+ depends_on("py-jupyter-client", type=("build", "run"))
+ depends_on("py-ipykernel@4.4:", type=("build", "run"))
+ depends_on("py-tornado@5.1:", type=("build", "run"), when="@7.1:")
+ depends_on("py-tornado@4:", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"), when="@7.1:")
+ depends_on("py-python-dateutil@2.1:", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"), when="@7.1:")
diff --git a/var/spack/repos/builtin/packages/py-ipython-cluster-helper/package.py b/var/spack/repos/builtin/packages/py-ipython-cluster-helper/package.py
index 775e32f78a..fb0c28d456 100644
--- a/var/spack/repos/builtin/packages/py-ipython-cluster-helper/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython-cluster-helper/package.py
@@ -13,14 +13,14 @@ class PyIpythonClusterHelper(PythonPackage):
"""
homepage = "https://github.com/roryk/ipython-cluster-helper"
- url = "https://github.com/roryk/ipython-cluster-helper/archive/v0.6.4.tar.gz"
+ url = "https://github.com/roryk/ipython-cluster-helper/archive/v0.6.4.tar.gz"
- version('0.6.4', sha256='6c8b42e1428305eeb0c54d1a8ecf3c551ec9ee02e1f039b4b12260bef66fc446')
- version('0.6.3', sha256='0256e6f72c31f846fd3bf7ed0a87bc362d77a0731cb52dbdc19c41686e44faeb')
+ version("0.6.4", sha256="6c8b42e1428305eeb0c54d1a8ecf3c551ec9ee02e1f039b4b12260bef66fc446")
+ version("0.6.3", sha256="0256e6f72c31f846fd3bf7ed0a87bc362d77a0731cb52dbdc19c41686e44faeb")
- depends_on('py-setuptools@18.5:', type=('build', 'run'))
- depends_on('py-pyzmq@2.1.11:', type=('build', 'run'))
- depends_on('py-ipython@:5', type=('build', 'run'))
- depends_on('py-ipyparallel@6.0.2:', type=('build', 'run'))
- depends_on('py-netifaces@0.10.3:', type=('build', 'run'))
- depends_on('py-six@1.10.0:', type=('build', 'run'))
+ depends_on("py-setuptools@18.5:", type=("build", "run"))
+ depends_on("py-pyzmq@2.1.11:", type=("build", "run"))
+ depends_on("py-ipython@:5", type=("build", "run"))
+ depends_on("py-ipyparallel@6.0.2:", type=("build", "run"))
+ depends_on("py-netifaces@0.10.3:", type=("build", "run"))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ipython-genutils/package.py b/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
index 0ed975bb51..d3688629e2 100644
--- a/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython-genutils/package.py
@@ -11,8 +11,8 @@ class PyIpythonGenutils(PythonPackage):
pypi = "ipython_genutils/ipython_genutils-0.1.0.tar.gz"
- version('0.2.0', sha256='eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8')
- version('0.1.0', sha256='3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6')
+ version("0.2.0", sha256="eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8")
+ version("0.1.0", sha256="3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py
index 1bbc1e0a9b..c9189ecb47 100644
--- a/var/spack/repos/builtin/packages/py-ipython/package.py
+++ b/var/spack/repos/builtin/packages/py-ipython/package.py
@@ -14,64 +14,63 @@ class PyIpython(PythonPackage):
homepage = "https://ipython.readthedocs.org/"
pypi = "ipython/ipython-7.18.1.tar.gz"
- version('8.0.1', sha256='ab564d4521ea8ceaac26c3a2c6e5ddbca15c8848fd5a5cc325f960da88d42974')
- version('7.28.0', sha256='2097be5c814d1b974aea57673176a924c4c8c9583890e7a5f082f547b9975b11')
- version('7.27.0', sha256='58b55ebfdfa260dad10d509702dc2857cb25ad82609506b070cf2d7b7df5af13')
- version('7.26.0', sha256='0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e')
- version('7.21.0', sha256='04323f72d5b85b606330b6d7e2dc8d2683ad46c3905e955aa96ecc7a99388e70')
- version('7.18.1', sha256='a331e78086001931de9424940699691ad49dfb457cea31f5471eae7b78222d5e')
- version('7.5.0', sha256='e840810029224b56cd0d9e7719dc3b39cf84d577f8ac686547c8ba7a06eeab26')
- version('7.3.0', sha256='06de667a9e406924f97781bda22d5d76bfb39762b678762d86a466e63f65dc39')
- version('5.8.0', sha256='4bac649857611baaaf76bc82c173aa542f7486446c335fe1a6c05d0d491c8906')
- version('5.1.0', sha256='7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961')
- version('3.1.0', sha256='532092d3f06f82b1d8d1e5c37097eae19fcf025f8f6a4b670dd49c3c338d5624')
- version('2.3.1', sha256='3e98466aa2fe54540bcba9aa6e01a39f40110d67668c297340c4b9514b7cc49c')
+ version("8.0.1", sha256="ab564d4521ea8ceaac26c3a2c6e5ddbca15c8848fd5a5cc325f960da88d42974")
+ version("7.28.0", sha256="2097be5c814d1b974aea57673176a924c4c8c9583890e7a5f082f547b9975b11")
+ version("7.27.0", sha256="58b55ebfdfa260dad10d509702dc2857cb25ad82609506b070cf2d7b7df5af13")
+ version("7.26.0", sha256="0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e")
+ version("7.21.0", sha256="04323f72d5b85b606330b6d7e2dc8d2683ad46c3905e955aa96ecc7a99388e70")
+ version("7.18.1", sha256="a331e78086001931de9424940699691ad49dfb457cea31f5471eae7b78222d5e")
+ version("7.5.0", sha256="e840810029224b56cd0d9e7719dc3b39cf84d577f8ac686547c8ba7a06eeab26")
+ version("7.3.0", sha256="06de667a9e406924f97781bda22d5d76bfb39762b678762d86a466e63f65dc39")
+ version("5.8.0", sha256="4bac649857611baaaf76bc82c173aa542f7486446c335fe1a6c05d0d491c8906")
+ version("5.1.0", sha256="7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961")
+ version("3.1.0", sha256="532092d3f06f82b1d8d1e5c37097eae19fcf025f8f6a4b670dd49c3c338d5624")
+ version("2.3.1", sha256="3e98466aa2fe54540bcba9aa6e01a39f40110d67668c297340c4b9514b7cc49c")
- depends_on('python@3.8:', when='@8:', type=('build', 'run'))
- depends_on('python@3.7:', when='@7.17:', type=('build', 'run'))
- depends_on('python@3.6:', when='@7.10:', type=('build', 'run'))
- depends_on('python@3.5:', when='@7:', type=('build', 'run'))
- depends_on('python@3.3:', when='@6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools@51:', when='@8:', type='build')
- depends_on('py-setuptools@18.5:', when='@4.1:', type='run')
- depends_on('py-jedi@0.16:', when='@7.18,7.20:', type=('build', 'run'))
- depends_on('py-jedi@0.10:', when='@7.5:7.17,7.19', type=('build', 'run'))
- depends_on('py-black', when='@8:', type=('build', 'run'))
- depends_on('py-decorator', type=('build', 'run'))
- depends_on('py-pickleshare', type=('build', 'run'))
- depends_on('py-traitlets@5:', when='@8:', type=('build', 'run'))
- depends_on('py-traitlets@4.2:', type=('build', 'run'))
- depends_on('py-prompt-toolkit@2.0.0:2,3.0.2:3.0', when='@7.26:', type=('build', 'run'))
- depends_on('py-prompt-toolkit@3.0.2:3.0', when='@7.18:7.25', type=('build', 'run'))
- depends_on('py-prompt-toolkit@2.0.0:2.0', when='@7.5.0', type=('build', 'run'))
- depends_on('py-prompt-toolkit@2.0.0:2', when='@7.0.0:7.5.0', type=('build', 'run'))
- depends_on('py-prompt-toolkit@1.0.4:1', when='@:7.0.0', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-backcall', when='@7.3.0:', type=('build', 'run'))
- depends_on('py-stack-data', when='@8:', type=('build', 'run'))
- depends_on('py-matplotlib-inline', when='@7.23:', type=('build', 'run'))
- depends_on('py-pexpect@4.4:', when='@7.18: platform=linux', type=('build', 'run'))
- depends_on('py-pexpect@4.4:', when='@7.18: platform=darwin', type=('build', 'run'))
- depends_on('py-pexpect@4.4:', when='@7.18: platform=cray', type=('build', 'run'))
- depends_on('py-pexpect', type=('build', 'run'))
- depends_on('py-appnope', when='platform=darwin', type=('build', 'run'))
- depends_on('py-colorama', when='platform=windows', type=('build', 'run'))
+ depends_on("python@3.8:", when="@8:", type=("build", "run"))
+ depends_on("python@3.7:", when="@7.17:", type=("build", "run"))
+ depends_on("python@3.6:", when="@7.10:", type=("build", "run"))
+ depends_on("python@3.5:", when="@7:", type=("build", "run"))
+ depends_on("python@3.3:", when="@6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools@51:", when="@8:", type="build")
+ depends_on("py-setuptools@18.5:", when="@4.1:", type="run")
+ depends_on("py-jedi@0.16:", when="@7.18,7.20:", type=("build", "run"))
+ depends_on("py-jedi@0.10:", when="@7.5:7.17,7.19", type=("build", "run"))
+ depends_on("py-black", when="@8:", type=("build", "run"))
+ depends_on("py-decorator", type=("build", "run"))
+ depends_on("py-pickleshare", type=("build", "run"))
+ depends_on("py-traitlets@5:", when="@8:", type=("build", "run"))
+ depends_on("py-traitlets@4.2:", type=("build", "run"))
+ depends_on("py-prompt-toolkit@2.0.0:2,3.0.2:3.0", when="@7.26:", type=("build", "run"))
+ depends_on("py-prompt-toolkit@3.0.2:3.0", when="@7.18:7.25", type=("build", "run"))
+ depends_on("py-prompt-toolkit@2.0.0:2.0", when="@7.5.0", type=("build", "run"))
+ depends_on("py-prompt-toolkit@2.0.0:2", when="@7.0.0:7.5.0", type=("build", "run"))
+ depends_on("py-prompt-toolkit@1.0.4:1", when="@:7.0.0", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-backcall", when="@7.3.0:", type=("build", "run"))
+ depends_on("py-stack-data", when="@8:", type=("build", "run"))
+ depends_on("py-matplotlib-inline", when="@7.23:", type=("build", "run"))
+ depends_on("py-pexpect@4.4:", when="@7.18: platform=linux", type=("build", "run"))
+ depends_on("py-pexpect@4.4:", when="@7.18: platform=darwin", type=("build", "run"))
+ depends_on("py-pexpect@4.4:", when="@7.18: platform=cray", type=("build", "run"))
+ depends_on("py-pexpect", type=("build", "run"))
+ depends_on("py-appnope", when="platform=darwin", type=("build", "run"))
+ depends_on("py-colorama", when="platform=windows", type=("build", "run"))
- depends_on('py-backports-shutil-get-terminal-size', when="^python@:3.2", type=('build', 'run'))
- depends_on('py-pathlib2', when="^python@:3.3", type=('build', 'run'))
- depends_on('py-simplegeneric@0.8:', when='@:7.0.0', type=('build', 'run'))
+ depends_on("py-backports-shutil-get-terminal-size", when="^python@:3.2", type=("build", "run"))
+ depends_on("py-pathlib2", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-simplegeneric@0.8:", when="@:7.0.0", type=("build", "run"))
@property
def import_modules(self):
modules = super(__class__, self).import_modules
- if self.spec.satisfies('@8:'):
+ if self.spec.satisfies("@8:"):
return modules
# 'IPython.kernel' is deprecated and fails to import, leave out of
# 'import_modules' to ensure that import tests pass.
ignored_imports = ["IPython.kernel"]
- return [i for i in modules
- if not any(map(i.startswith, ignored_imports))]
+ return [i for i in modules if not any(map(i.startswith, ignored_imports))]
diff --git a/var/spack/repos/builtin/packages/py-ipyvtk-simple/package.py b/var/spack/repos/builtin/packages/py-ipyvtk-simple/package.py
index d0c8cb5608..fc71d62793 100644
--- a/var/spack/repos/builtin/packages/py-ipyvtk-simple/package.py
+++ b/var/spack/repos/builtin/packages/py-ipyvtk-simple/package.py
@@ -10,11 +10,11 @@ class PyIpyvtkSimple(PythonPackage):
"""ipywidget for vtkRenderWindow."""
homepage = "https://github.com/Kitware/ipyvtklink"
- pypi = "ipyvtk_simple/ipyvtk_simple-0.1.4.tar.gz"
+ pypi = "ipyvtk_simple/ipyvtk_simple-0.1.4.tar.gz"
- version('0.1.4', sha256='ffac12e9287affd7c31538ac7f2d2390c72342a73b31010735b275ca841ceaa5')
+ version("0.1.4", sha256="ffac12e9287affd7c31538ac7f2d2390c72342a73b31010735b275ca841ceaa5")
- depends_on('py-setuptools', type='build')
- depends_on('py-ipycanvas@0.5.0:', type=('build', 'run'))
- depends_on('py-ipyevents@0.8.0:', type=('build', 'run'))
- depends_on('py-ipywidgets', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ipycanvas@0.5.0:", type=("build", "run"))
+ depends_on("py-ipyevents@0.8.0:", type=("build", "run"))
+ depends_on("py-ipywidgets", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ipywidgets/package.py b/var/spack/repos/builtin/packages/py-ipywidgets/package.py
index 92bb7ea0e5..f728d54f75 100644
--- a/var/spack/repos/builtin/packages/py-ipywidgets/package.py
+++ b/var/spack/repos/builtin/packages/py-ipywidgets/package.py
@@ -12,32 +12,26 @@ class PyIpywidgets(PythonPackage):
homepage = "https://github.com/ipython/ipywidgets"
pypi = "ipywidgets/ipywidgets-7.6.5.tar.gz"
- version('7.7.0', sha256='ab4a5596855a88b83761921c768707d65e5847068139bc1729ddfe834703542a')
- version('7.6.5', sha256='00974f7cb4d5f8d494c19810fedb9fa9b64bffd3cda7c2be23c133a1ad3c99c5')
- version('7.6.3', sha256='9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0')
- version('7.5.1', sha256='e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97')
- version('7.4.2', sha256='a3e224f430163f767047ab9a042fc55adbcab0c24bbe6cf9f306c4f89fdf0ba3')
- version('5.2.2', sha256='baf6098f054dd5eacc2934b8ea3bef908b81ca8660d839f1f940255a72c660d2')
+ version("7.7.0", sha256="ab4a5596855a88b83761921c768707d65e5847068139bc1729ddfe834703542a")
+ version("7.6.5", sha256="00974f7cb4d5f8d494c19810fedb9fa9b64bffd3cda7c2be23c133a1ad3c99c5")
+ version("7.6.3", sha256="9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0")
+ version("7.5.1", sha256="e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97")
+ version("7.4.2", sha256="a3e224f430163f767047ab9a042fc55adbcab0c24bbe6cf9f306c4f89fdf0ba3")
+ version("5.2.2", sha256="baf6098f054dd5eacc2934b8ea3bef908b81ca8660d839f1f940255a72c660d2")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-ipython@4:', type=('build', 'run'))
- depends_on('py-ipython@4:5', type=('build', 'run'), when='^python@:3.2')
- depends_on('py-jupyterlab-widgets@1.0.0:', type=('build', 'run'),
- when='^python@3.6:')
- depends_on('py-ipykernel@4.2.2:', type=('build', 'run'))
- depends_on('py-ipykernel@4.5.1:', type=('build', 'run'), when='@6:')
- depends_on('py-ipython-genutils@0.2.0:0.2', type=('build', 'run'),
- when='@7.6.4:')
- depends_on('py-traitlets@4.2.1:', type=('build', 'run'))
- depends_on('py-traitlets@4.3.1:', type=('build', 'run'), when='@6:')
- depends_on('py-nbformat@4.2.0:', type=('build', 'run'), when='@6:')
- depends_on('py-widgetsnbextension@1.2.6:1.9', type=('build', 'run'),
- when='@5.2.2')
- depends_on('py-widgetsnbextension@3.4.0:3.4', type=('build', 'run'),
- when='@7.4.2')
- depends_on('py-widgetsnbextension@3.5.0:3.5', type=('build', 'run'),
- when='@7.5.1:7.6.5')
- depends_on('py-widgetsnbextension@3.6', type=('build', 'run'),
- when='@7.7:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ipython@4:", type=("build", "run"))
+ depends_on("py-ipython@4:5", type=("build", "run"), when="^python@:3.2")
+ depends_on("py-jupyterlab-widgets@1.0.0:", type=("build", "run"), when="^python@3.6:")
+ depends_on("py-ipykernel@4.2.2:", type=("build", "run"))
+ depends_on("py-ipykernel@4.5.1:", type=("build", "run"), when="@6:")
+ depends_on("py-ipython-genutils@0.2.0:0.2", type=("build", "run"), when="@7.6.4:")
+ depends_on("py-traitlets@4.2.1:", type=("build", "run"))
+ depends_on("py-traitlets@4.3.1:", type=("build", "run"), when="@6:")
+ depends_on("py-nbformat@4.2.0:", type=("build", "run"), when="@6:")
+ depends_on("py-widgetsnbextension@1.2.6:1.9", type=("build", "run"), when="@5.2.2")
+ depends_on("py-widgetsnbextension@3.4.0:3.4", type=("build", "run"), when="@7.4.2")
+ depends_on("py-widgetsnbextension@3.5.0:3.5", type=("build", "run"), when="@7.5.1:7.6.5")
+ depends_on("py-widgetsnbextension@3.6", type=("build", "run"), when="@7.7:")
diff --git a/var/spack/repos/builtin/packages/py-irpf90/package.py b/var/spack/repos/builtin/packages/py-irpf90/package.py
index 79eaab9cc2..2108f0bd56 100644
--- a/var/spack/repos/builtin/packages/py-irpf90/package.py
+++ b/var/spack/repos/builtin/packages/py-irpf90/package.py
@@ -15,9 +15,9 @@ class PyIrpf90(PythonPackage):
homepage = "http://irpf90.ups-tlse.fr"
pypi = "irpf90/irpf90-1.7.7.tar.gz"
- maintainers = ['scemama']
+ maintainers = ["scemama"]
- version('1.7.7', sha256='c6b2eecb9180f1feaab9644bbed806637a4a30a0fad2c4775a985fcc01a99530')
+ version("1.7.7", sha256="c6b2eecb9180f1feaab9644bbed806637a4a30a0fad2c4775a985fcc01a99530")
- depends_on('python@2.7.0:2.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7.0:2.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-iso8601/package.py b/var/spack/repos/builtin/packages/py-iso8601/package.py
index 03ff16fe0a..6602f7f1cc 100644
--- a/var/spack/repos/builtin/packages/py-iso8601/package.py
+++ b/var/spack/repos/builtin/packages/py-iso8601/package.py
@@ -10,12 +10,12 @@ class PyIso8601(PythonPackage):
"""Simple module to parse ISO 8601 dates"""
homepage = "https://github.com/micktwomey/pyiso8601"
- pypi = "iso8601/iso8601-0.1.14.tar.gz"
+ pypi = "iso8601/iso8601-0.1.14.tar.gz"
- version('1.0.2', sha256='27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1')
- version('0.1.14', sha256='8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79')
+ version("1.0.2", sha256="27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1")
+ version("0.1.14", sha256="8aafd56fa0290496c5edbb13c311f78fa3a241f0853540da09d9363eae3ebd79")
- depends_on('python@3.6.2:3', when='@1:', type=('build', 'run'))
- depends_on('py-poetry-core@1:', when='@1:', type='build')
+ depends_on("python@3.6.2:3", when="@1:", type=("build", "run"))
+ depends_on("py-poetry-core@1:", when="@1:", type="build")
- depends_on('py-setuptools', when='@:0', type='build')
+ depends_on("py-setuptools", when="@:0", type="build")
diff --git a/var/spack/repos/builtin/packages/py-isodate/package.py b/var/spack/repos/builtin/packages/py-isodate/package.py
index 140ec003fc..cbfe75fdb9 100644
--- a/var/spack/repos/builtin/packages/py-isodate/package.py
+++ b/var/spack/repos/builtin/packages/py-isodate/package.py
@@ -15,8 +15,8 @@ class PyIsodate(PythonPackage):
homepage = "https://github.com/gweis/isodate/"
pypi = "isodate/isodate-0.6.0.tar.gz"
- version('0.6.1', sha256='48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9')
- version('0.6.0', sha256='2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8')
+ version("0.6.1", sha256="48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9")
+ version("0.6.0", sha256="2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-isort/package.py b/var/spack/repos/builtin/packages/py-isort/package.py
index 44489670e6..961c41ed80 100644
--- a/var/spack/repos/builtin/packages/py-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-isort/package.py
@@ -12,17 +12,19 @@ class PyIsort(PythonPackage):
homepage = "https://github.com/timothycrosley/isort"
pypi = "isort/isort-4.2.15.tar.gz"
- version('5.9.3', sha256='9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899')
- version('5.9.1', sha256='83510593e07e433b77bd5bff0f6f607dbafa06d1a89022616f02d8b699cfcd56')
- version('4.3.20', sha256='c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a')
- version('4.2.15', sha256='79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983')
+ version("5.9.3", sha256="9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899")
+ version("5.9.1", sha256="83510593e07e433b77bd5bff0f6f607dbafa06d1a89022616f02d8b699cfcd56")
+ version("4.3.20", sha256="c40744b6bc5162bbb39c1257fe298b7a393861d50978b565f3ccd9cb9de0182a")
+ version("4.2.15", sha256="79f46172d3a4e2e53e7016e663cc7a8b538bec525c36675fcfd2767df30b3983")
- variant('colors', default=False, description='Install colorama for --color support')
+ variant("colors", default=False, description="Install colorama for --color support")
- depends_on('python@3.6.1:3', type=('build', 'run'), when='@5:')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@4.3:')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-futures', type=('build', 'run'), when='@4.3:4 ^python@:3.1')
- depends_on('py-backports-functools-lru-cache', type=('build', 'run'), when='@4.3.10:4 ^python@:3.1')
- depends_on('py-colorama@0.4.3:0.4', type=('build', 'run'), when='+colors')
+ depends_on("python@3.6.1:3", type=("build", "run"), when="@5:")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@4.3:")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-futures", type=("build", "run"), when="@4.3:4 ^python@:3.1")
+ depends_on(
+ "py-backports-functools-lru-cache", type=("build", "run"), when="@4.3.10:4 ^python@:3.1"
+ )
+ depends_on("py-colorama@0.4.3:0.4", type=("build", "run"), when="+colors")
diff --git a/var/spack/repos/builtin/packages/py-itk/package.py b/var/spack/repos/builtin/packages/py-itk/package.py
index c732374a21..4588cdee5f 100644
--- a/var/spack/repos/builtin/packages/py-itk/package.py
+++ b/var/spack/repos/builtin/packages/py-itk/package.py
@@ -15,84 +15,117 @@ class PyItk(PythonPackage):
homepage = "https://itk.org/"
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
# version 5.1.1
- version('5.1.1-cp35',
- url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-macosx_10_9_x86_64.whl',
- sha256='e94d08a142b72b7219c828e7ca34788b59612fc10dbb2c65afd4457e9810eed1',
- expand=False)
- version('5.1.1-cp36',
- url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp36-cp36m-macosx_10_9_x86_64.whl',
- sha256='94b3c8d2ceba1685ae7e7f2b3bb88bdcd15dee93d369177eb03f676062f7e06f',
- expand=False)
- version('5.1.1-cp37',
- url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp37-cp37m-macosx_10_9_x86_64.whl',
- sha256='f112515483a073fae96d5cfce4eb9f95cbf57a145bbd196b2369a3194e27febf',
- expand=False)
- version('5.1.1-cp38',
- url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl',
- sha256='94b09ab9dd59ceaecc456ede2b719a44b8f0d54d92409eede372c6004395ae7b',
- expand=False)
+ version(
+ "5.1.1-cp35",
+ url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-macosx_10_9_x86_64.whl",
+ sha256="e94d08a142b72b7219c828e7ca34788b59612fc10dbb2c65afd4457e9810eed1",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp36",
+ url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp36-cp36m-macosx_10_9_x86_64.whl",
+ sha256="94b3c8d2ceba1685ae7e7f2b3bb88bdcd15dee93d369177eb03f676062f7e06f",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp37",
+ url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp37-cp37m-macosx_10_9_x86_64.whl",
+ sha256="f112515483a073fae96d5cfce4eb9f95cbf57a145bbd196b2369a3194e27febf",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp38",
+ url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl",
+ sha256="94b09ab9dd59ceaecc456ede2b719a44b8f0d54d92409eede372c6004395ae7b",
+ expand=False,
+ )
# version 5.1.2
- version('5.1.2-cp36',
- url='https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-macosx_10_9_x86_64.whl',
- sha256='d66f5369768e9449c1bd07210a42e11c565602da1dde3128f554b653a2faaf7b',
- expand=False)
- version('5.1.2-cp37',
- url='https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl',
- sha256='0b494485d05306240eaa5ab1a5e00895fcce8fe684c632c02a2373f36d123902',
- expand=False)
- version('5.1.2-cp38',
- url='https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-macosx_10_9_x86_64.whl',
- sha256='e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458',
- expand=False)
- version('5.1.2-cp39',
- url='https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-macosx_10_9_x86_64.whl',
- sha256='e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458',
- expand=False)
- elif sys.platform.startswith('linux'):
+ version(
+ "5.1.2-cp36",
+ url="https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-macosx_10_9_x86_64.whl",
+ sha256="d66f5369768e9449c1bd07210a42e11c565602da1dde3128f554b653a2faaf7b",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp37",
+ url="https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-macosx_10_9_x86_64.whl",
+ sha256="0b494485d05306240eaa5ab1a5e00895fcce8fe684c632c02a2373f36d123902",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp38",
+ url="https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-macosx_10_9_x86_64.whl",
+ sha256="e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp39",
+ url="https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-macosx_10_9_x86_64.whl",
+ sha256="e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458",
+ expand=False,
+ )
+ elif sys.platform.startswith("linux"):
# version 5.1.1
- version('5.1.1-cp35',
- url='https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-manylinux1_x86_64.whl',
- sha256='02ba37cda1f4190ca34133e056f9acd5c0104da64455dc9e0cc6bb3eec47f7a6',
- expand=False)
- version('5.1.1-cp36',
- url='https://pypi.io/packages/cp36/i/itk/itk-5.1.1-cp36-cp36m-manylinux1_x86_64.whl',
- sha256='a7602fe2ee031bf70acf54e1aef6e0e01e9fa821ca1926fc70fe3db9167a50f2',
- expand=False)
- version('5.1.1-cp37',
- url='https://pypi.io/packages/cp37/i/itk/itk-5.1.1-cp37-cp37m-manylinux1_x86_64.whl',
- sha256='7c313d2e3a3e37b8e78d0b2d70be2d478c87fde6f27912c714c855a05584b8ee',
- expand=False)
- version('5.1.1-cp38',
- url='https://pypi.io/packages/cp38/i/itk/itk-5.1.1-cp38-cp38-manylinux1_x86_64.whl',
- sha256='14cd6c3a25f0d69f45eda74b006eceeaf8e2b2fcbe7c343e49683edf97e0fb14',
- expand=False)
+ version(
+ "5.1.1-cp35",
+ url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp35-cp35m-manylinux1_x86_64.whl",
+ sha256="02ba37cda1f4190ca34133e056f9acd5c0104da64455dc9e0cc6bb3eec47f7a6",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp36",
+ url="https://pypi.io/packages/cp36/i/itk/itk-5.1.1-cp36-cp36m-manylinux1_x86_64.whl",
+ sha256="a7602fe2ee031bf70acf54e1aef6e0e01e9fa821ca1926fc70fe3db9167a50f2",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp37",
+ url="https://pypi.io/packages/cp37/i/itk/itk-5.1.1-cp37-cp37m-manylinux1_x86_64.whl",
+ sha256="7c313d2e3a3e37b8e78d0b2d70be2d478c87fde6f27912c714c855a05584b8ee",
+ expand=False,
+ )
+ version(
+ "5.1.1-cp38",
+ url="https://pypi.io/packages/cp38/i/itk/itk-5.1.1-cp38-cp38-manylinux1_x86_64.whl",
+ sha256="14cd6c3a25f0d69f45eda74b006eceeaf8e2b2fcbe7c343e49683edf97e0fb14",
+ expand=False,
+ )
# version 5.1.2
- version('5.1.2-cp36',
- url='https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-manylinux1_x86_64.whl',
- sha256='266e031a0656688b815dc60e9abd58e40ec37c9dcd25aa91634ed2b157ca974c',
- expand=False)
- version('5.1.2-cp37',
- url='https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-manylinux1_x86_64.whl',
- sha256='064d9cfdd9547ae3ed850c35b989e0141c4bd434672bc2dd124248aab7bdf09a',
- expand=False)
- version('5.1.2-cp38',
- url='https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-manylinux1_x86_64.whl',
- sha256='fe9225ac353116f4000c0a3440bf151200beb4a65deec5b2e626edda5b498f16',
- expand=False)
- version('5.1.2-cp39',
- url='https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-manylinux1_x86_64.whl',
- sha256='5781b74410b7189a825c89d370411595e5e3d5dbb480201907f751f26698df83',
- expand=False)
+ version(
+ "5.1.2-cp36",
+ url="https://pypi.io/packages/cp36/i/itk/itk-5.1.2-cp36-cp36m-manylinux1_x86_64.whl",
+ sha256="266e031a0656688b815dc60e9abd58e40ec37c9dcd25aa91634ed2b157ca974c",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp37",
+ url="https://pypi.io/packages/cp37/i/itk/itk-5.1.2-cp37-cp37m-manylinux1_x86_64.whl",
+ sha256="064d9cfdd9547ae3ed850c35b989e0141c4bd434672bc2dd124248aab7bdf09a",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp38",
+ url="https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-manylinux1_x86_64.whl",
+ sha256="fe9225ac353116f4000c0a3440bf151200beb4a65deec5b2e626edda5b498f16",
+ expand=False,
+ )
+ version(
+ "5.1.2-cp39",
+ url="https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-manylinux1_x86_64.whl",
+ sha256="5781b74410b7189a825c89d370411595e5e3d5dbb480201907f751f26698df83",
+ expand=False,
+ )
- depends_on('python@3.5.0:3.5', when='@5.1.1-cp35', type=('build', 'run'))
- depends_on('python@3.6.0:3.6', when='@5.1.1-cp36,5.1.2-cp36', type=('build', 'run'))
- depends_on('python@3.7.0:3.7', when='@5.1.1-cp37,5.1.2-cp37', type=('build', 'run'))
- depends_on('python@3.8.0:3.8', when='@5.1.1-cp38,5.1.2-cp38', type=('build', 'run'))
- depends_on('python@3.9.0:3.9', when='@5.1.2-cp39', type=('build', 'run'))
- depends_on('py-setuptools', type='run')
+ depends_on("python@3.5.0:3.5", when="@5.1.1-cp35", type=("build", "run"))
+ depends_on("python@3.6.0:3.6", when="@5.1.1-cp36,5.1.2-cp36", type=("build", "run"))
+ depends_on("python@3.7.0:3.7", when="@5.1.1-cp37,5.1.2-cp37", type=("build", "run"))
+ depends_on("python@3.8.0:3.8", when="@5.1.1-cp38,5.1.2-cp38", type=("build", "run"))
+ depends_on("python@3.9.0:3.9", when="@5.1.2-cp39", type=("build", "run"))
+ depends_on("py-setuptools", type="run")
- for t in set([str(x.family) for x in archspec.cpu.TARGETS.values()
- if str(x.family) != 'x86_64']):
- conflicts('target={0}:'.format(t), msg='py-itk is available for x86_64 only')
+ for t in set(
+ [str(x.family) for x in archspec.cpu.TARGETS.values() if str(x.family) != "x86_64"]
+ ):
+ conflicts("target={0}:".format(t), msg="py-itk is available for x86_64 only")
diff --git a/var/spack/repos/builtin/packages/py-itsdangerous/package.py b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
index 5699a3c55b..e39f0a95ac 100644
--- a/var/spack/repos/builtin/packages/py-itsdangerous/package.py
+++ b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
@@ -12,10 +12,10 @@ class PyItsdangerous(PythonPackage):
homepage = "https://github.com/mitsuhiko/itsdangerous"
pypi = "itsdangerous/itsdangerous-1.1.0.tar.gz"
- version('2.0.1', sha256='9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0')
- version('1.1.0', sha256='321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19')
- version('0.24', sha256='cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519')
+ version("2.0.1", sha256="9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0")
+ version("1.1.0", sha256="321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19")
+ version("0.24", sha256="cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jaconv/package.py b/var/spack/repos/builtin/packages/py-jaconv/package.py
index 48c1822c38..d2b818caad 100644
--- a/var/spack/repos/builtin/packages/py-jaconv/package.py
+++ b/var/spack/repos/builtin/packages/py-jaconv/package.py
@@ -12,8 +12,8 @@ class PyJaconv(PythonPackage):
Zenkaku (full-width character)"""
homepage = "https://github.com/ikegami-yukino/jaconv"
- pypi = "jaconv/jaconv-0.3.tar.gz"
+ pypi = "jaconv/jaconv-0.3.tar.gz"
- version('0.3', sha256='cc70c796c19a6765598c03eac59d1399a555a9a8839cc70e540ec26f0ec3e66e')
+ version("0.3", sha256="cc70c796c19a6765598c03eac59d1399a555a9a8839cc70e540ec26f0ec3e66e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jamo/package.py b/var/spack/repos/builtin/packages/py-jamo/package.py
index b8e7c0bfb3..0f810a984f 100644
--- a/var/spack/repos/builtin/packages/py-jamo/package.py
+++ b/var/spack/repos/builtin/packages/py-jamo/package.py
@@ -12,9 +12,9 @@ class PyJamo(PythonPackage):
and jamo."""
homepage = "https://github.com/jdongian/python-jamo"
- pypi = "jamo/jamo-0.4.1.tar.gz"
+ pypi = "jamo/jamo-0.4.1.tar.gz"
- version('0.4.1', sha256='ea65cf9d35338d0e0af48d75ff426d8a369b0ebde6f07051c3ac37256f56d025')
+ version("0.4.1", sha256="ea65cf9d35338d0e0af48d75ff426d8a369b0ebde6f07051c3ac37256f56d025")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jaraco-functools/package.py b/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
index e8586d3fde..fa259ec0b2 100644
--- a/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
+++ b/var/spack/repos/builtin/packages/py-jaraco-functools/package.py
@@ -12,12 +12,10 @@ class PyJaracoFunctools(PythonPackage):
homepage = "https://github.com/jaraco/jaraco.functools"
pypi = "jaraco.functools/jaraco.functools-2.0.tar.gz"
- version(
- '2.0', sha256='35ba944f52b1a7beee8843a5aa6752d1d5b79893eeb7770ea98be6b637bf9345')
+ version("2.0", sha256="35ba944f52b1a7beee8843a5aa6752d1d5b79893eeb7770ea98be6b637bf9345")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-backports-functools-lru-cache@1.0.3:',
- when='^python@:2', type=('build', 'run'))
- depends_on('py-more-itertools', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("py-backports-functools-lru-cache@1.0.3:", when="^python@:2", type=("build", "run"))
+ depends_on("py-more-itertools", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-javaproperties/package.py b/var/spack/repos/builtin/packages/py-javaproperties/package.py
index db090bc16b..ba86ae1280 100644
--- a/var/spack/repos/builtin/packages/py-javaproperties/package.py
+++ b/var/spack/repos/builtin/packages/py-javaproperties/package.py
@@ -13,9 +13,9 @@ class PyJavaproperties(PythonPackage):
homepage = "https://github.com/jwodder/javaproperties"
pypi = "javaproperties/javaproperties-0.7.0.tar.gz"
- version('0.7.0', sha256='cf45b39fcbaeced1dfc0b7f2bda16e34fc0349116269e001dada42fd2e145d87')
- version('0.5.1', sha256='2b0237b054af4d24c74f54734b7d997ca040209a1820e96fb4a82625f7bd40cf')
+ version("0.7.0", sha256="cf45b39fcbaeced1dfc0b7f2bda16e34fc0349116269e001dada42fd2e145d87")
+ version("0.5.1", sha256="2b0237b054af4d24c74f54734b7d997ca040209a1820e96fb4a82625f7bd40cf")
- depends_on('python@2.7:2.8,3.4:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.4:1', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.4:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jdatetime/package.py b/var/spack/repos/builtin/packages/py-jdatetime/package.py
index c755622f71..c705ddc334 100644
--- a/var/spack/repos/builtin/packages/py-jdatetime/package.py
+++ b/var/spack/repos/builtin/packages/py-jdatetime/package.py
@@ -12,7 +12,7 @@ class PyJdatetime(PythonPackage):
homepage = "https://github.com/slashmili/python-jalali"
pypi = "jdatetime/jdatetime-3.6.2.tar.gz"
- version('3.6.2', sha256='a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67')
+ version("3.6.2", sha256="a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jdcal/package.py b/var/spack/repos/builtin/packages/py-jdcal/package.py
index d72d096550..b50d60b55f 100644
--- a/var/spack/repos/builtin/packages/py-jdcal/package.py
+++ b/var/spack/repos/builtin/packages/py-jdcal/package.py
@@ -12,7 +12,7 @@ class PyJdcal(PythonPackage):
homepage = "https://github.com/phn/jdcal"
pypi = "jdcal/jdcal-1.3.tar.gz"
- version('1.3', sha256='b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e')
- version('1.2', sha256='5ebedb58b95ebabd30f56abef65139c6f69ec1687cf1d2f3a7c503f9a2cdfa4d')
+ version("1.3", sha256="b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e")
+ version("1.2", sha256="5ebedb58b95ebabd30f56abef65139c6f69ec1687cf1d2f3a7c503f9a2cdfa4d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jedi/package.py b/var/spack/repos/builtin/packages/py-jedi/package.py
index 63be3f2892..ae7add8e80 100644
--- a/var/spack/repos/builtin/packages/py-jedi/package.py
+++ b/var/spack/repos/builtin/packages/py-jedi/package.py
@@ -12,39 +12,42 @@ class PyJedi(PythonPackage):
homepage = "https://github.com/davidhalter/jedi"
pypi = "jedi/jedi-0.9.0.tar.gz"
- version('0.18.1', sha256='74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab')
- version('0.18.0', sha256='92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707')
- version('0.17.2', sha256='08d43addcbd656ed07e929631f8071eec567092bf16f2c19fc7bc272a97a77ef')
- version('0.17.1', sha256='807d5d4f96711a2bcfdd5dfa3b1ae6d09aa53832b182090b222b5efb81f52f63')
- version('0.15.1', sha256='ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e')
- version('0.15.0', sha256='9f16cb00b2aee940df2efc1d7d7c848281fd16391536a3d4561f5aea49db1ee6')
- version('0.14.1', sha256='53c850f1a7d3cfcd306cc513e2450a54bdf5cacd7604b74e42dd1f0758eaaf36')
- version('0.14.0', sha256='49ccb782651bb6f7009810d17a3316f8867dde31654c750506970742e18b553d')
- version('0.13.3', sha256='2bb0603e3506f708e792c7f4ad8fc2a7a9d9c2d292a358fbbd58da531695595b')
- version('0.13.2', sha256='571702b5bd167911fe9036e5039ba67f820d6502832285cde8c881ab2b2149fd')
- version('0.13.1', sha256='b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148')
- version('0.13.0', sha256='e4db7a2e08980e48c6aec6588483629c81fdcf9b6d9e6a372b40ed7fec91f310')
- version('0.12.1', sha256='b409ed0f6913a701ed474a614a3bb46e6953639033e31f769ca7581da5bd1ec1')
- version('0.12.0', sha256='1972f694c6bc66a2fac8718299e2ab73011d653a6d8059790c3476d2353b99ad')
- version('0.10.2', sha256='7abb618cac6470ebbd142e59c23daec5e6e063bfcecc8a43a037d2ab57276f4e')
- version('0.10.1', sha256='2420daf6fd00e80caf1bc22903598b5bf5560c900113dcc120eaefc7b4d50e06')
+ version("0.18.1", sha256="74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab")
+ version("0.18.0", sha256="92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707")
+ version("0.17.2", sha256="08d43addcbd656ed07e929631f8071eec567092bf16f2c19fc7bc272a97a77ef")
+ version("0.17.1", sha256="807d5d4f96711a2bcfdd5dfa3b1ae6d09aa53832b182090b222b5efb81f52f63")
+ version("0.15.1", sha256="ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e")
+ version("0.15.0", sha256="9f16cb00b2aee940df2efc1d7d7c848281fd16391536a3d4561f5aea49db1ee6")
+ version("0.14.1", sha256="53c850f1a7d3cfcd306cc513e2450a54bdf5cacd7604b74e42dd1f0758eaaf36")
+ version("0.14.0", sha256="49ccb782651bb6f7009810d17a3316f8867dde31654c750506970742e18b553d")
+ version("0.13.3", sha256="2bb0603e3506f708e792c7f4ad8fc2a7a9d9c2d292a358fbbd58da531695595b")
+ version("0.13.2", sha256="571702b5bd167911fe9036e5039ba67f820d6502832285cde8c881ab2b2149fd")
+ version("0.13.1", sha256="b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148")
+ version("0.13.0", sha256="e4db7a2e08980e48c6aec6588483629c81fdcf9b6d9e6a372b40ed7fec91f310")
+ version("0.12.1", sha256="b409ed0f6913a701ed474a614a3bb46e6953639033e31f769ca7581da5bd1ec1")
+ version("0.12.0", sha256="1972f694c6bc66a2fac8718299e2ab73011d653a6d8059790c3476d2353b99ad")
+ version("0.10.2", sha256="7abb618cac6470ebbd142e59c23daec5e6e063bfcecc8a43a037d2ab57276f4e")
+ version("0.10.1", sha256="2420daf6fd00e80caf1bc22903598b5bf5560c900113dcc120eaefc7b4d50e06")
# unfortunately pypi.io only offers a .whl for 0.10.0
- version('0.10.0', sha256='d6a7344df9c80562c3f62199278004ccc7c5889be9f1a6aa5abde117ec085123',
- url='https://github.com/davidhalter/jedi/archive/v0.10.0.tar.gz')
- version('0.9.0', sha256='3b4c19fba31bdead9ab7350fb9fa7c914c59b0a807dcdd5c00a05feb85491d31')
-
- depends_on('py-setuptools', type=('build', 'run'))
-
- depends_on('python@2.6:2.8,3.2:', type=('build', 'run'), when='@0.9.0:')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'), when='@0.10.0:')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@0.12.0:')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@0.13.3:')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@0.17.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.18.0:')
-
- depends_on('py-parso@0.2.0:', type=('build', 'run'), when='@0.12.0')
- depends_on('py-parso@0.3.0:', type=('build', 'run'), when='@0.12.1:0.14.0')
- depends_on('py-parso@0.5.0:', type=('build', 'run'), when='@0.14.1:0.15.1')
- depends_on('py-parso@0.5.2:', type=('build', 'run'), when='@0.15.2:0.16')
- depends_on('py-parso@0.7', type=('build', 'run'), when='@0.17')
- depends_on('py-parso@0.8', type=('build', 'run'), when='@0.18.0:')
+ version(
+ "0.10.0",
+ sha256="d6a7344df9c80562c3f62199278004ccc7c5889be9f1a6aa5abde117ec085123",
+ url="https://github.com/davidhalter/jedi/archive/v0.10.0.tar.gz",
+ )
+ version("0.9.0", sha256="3b4c19fba31bdead9ab7350fb9fa7c914c59b0a807dcdd5c00a05feb85491d31")
+
+ depends_on("py-setuptools", type=("build", "run"))
+
+ depends_on("python@2.6:2.8,3.2:", type=("build", "run"), when="@0.9.0:")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"), when="@0.10.0:")
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"), when="@0.12.0:")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@0.13.3:")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@0.17.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.18.0:")
+
+ depends_on("py-parso@0.2.0:", type=("build", "run"), when="@0.12.0")
+ depends_on("py-parso@0.3.0:", type=("build", "run"), when="@0.12.1:0.14.0")
+ depends_on("py-parso@0.5.0:", type=("build", "run"), when="@0.14.1:0.15.1")
+ depends_on("py-parso@0.5.2:", type=("build", "run"), when="@0.15.2:0.16")
+ depends_on("py-parso@0.7", type=("build", "run"), when="@0.17")
+ depends_on("py-parso@0.8", type=("build", "run"), when="@0.18.0:")
diff --git a/var/spack/repos/builtin/packages/py-jeepney/package.py b/var/spack/repos/builtin/packages/py-jeepney/package.py
index 6b78d50ddd..a5e73169d5 100644
--- a/var/spack/repos/builtin/packages/py-jeepney/package.py
+++ b/var/spack/repos/builtin/packages/py-jeepney/package.py
@@ -13,10 +13,10 @@ class PyJeepney(PythonPackage):
homepage = "https://gitlab.com/takluyver/jeepney"
pypi = "jeepney/jeepney-0.4.3.tar.gz"
- version('0.7.1', sha256='fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f')
- version('0.6.0', sha256='7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657')
- version('0.4.3', sha256='3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e')
+ version("0.7.1", sha256="fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f")
+ version("0.6.0", sha256="7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657")
+ version("0.4.3", sha256="3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e")
- depends_on('python@3.6:', when='@0.5:', type=('build', 'run'))
- depends_on('python@3.5:', when='@:0.4', type=('build', 'run'))
- depends_on('py-flit-core@2:3', type='build')
+ depends_on("python@3.6:", when="@0.5:", type=("build", "run"))
+ depends_on("python@3.5:", when="@:0.4", type=("build", "run"))
+ depends_on("py-flit-core@2:3", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jellyfish/package.py b/var/spack/repos/builtin/packages/py-jellyfish/package.py
index 05c2cfc360..fedc8e248f 100644
--- a/var/spack/repos/builtin/packages/py-jellyfish/package.py
+++ b/var/spack/repos/builtin/packages/py-jellyfish/package.py
@@ -12,7 +12,7 @@ class PyJellyfish(PythonPackage):
pypi = "jellyfish/jellyfish-0.6.1.tar.gz"
- version('0.6.1', sha256='5104e45a2b804b48a46a92a5e6d6e86830fe60ae83b1da32c867402c8f4c2094')
- version('0.5.6', sha256='887a9a49d0caee913a883c3e7eb185f6260ebe2137562365be422d1316bd39c9')
+ version("0.6.1", sha256="5104e45a2b804b48a46a92a5e6d6e86830fe60ae83b1da32c867402c8f4c2094")
+ version("0.5.6", sha256="887a9a49d0caee913a883c3e7eb185f6260ebe2137562365be422d1316bd39c9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jinja2-time/package.py b/var/spack/repos/builtin/packages/py-jinja2-time/package.py
index 5597cb0a57..e24c5ec57b 100644
--- a/var/spack/repos/builtin/packages/py-jinja2-time/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2-time/package.py
@@ -10,10 +10,10 @@ class PyJinja2Time(PythonPackage):
"""Jinja2 Extension for Dates and Times"""
homepage = "https://github.com/hackebrot/jinja2-time"
- url = "https://github.com/hackebrot/jinja2-time/archive/0.2.0.tar.gz"
+ url = "https://github.com/hackebrot/jinja2-time/archive/0.2.0.tar.gz"
- version('0.2.0', sha256='0e647e525ba47523fa400a58fdec090b1cc6dcec4afbf095ee01e9e589e5a5ef')
+ version("0.2.0", sha256="0e647e525ba47523fa400a58fdec090b1cc6dcec4afbf095ee01e9e589e5a5ef")
- depends_on('py-setuptools', type='build')
- depends_on('py-arrow')
- depends_on('py-jinja2')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-arrow")
+ depends_on("py-jinja2")
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 6f7675a2f8..8402f59200 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -14,25 +14,25 @@ class PyJinja2(PythonPackage):
homepage = "https://palletsprojects.com/p/jinja/"
pypi = "Jinja2/Jinja2-2.10.3.tar.gz"
- version('3.0.3', sha256='611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7')
- version('3.0.1', sha256='703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4')
- version('2.11.3', sha256='a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6')
- version('2.10.3', sha256='9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de')
- version('2.10.1', sha256='065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013')
- version('2.10', sha256='f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4')
- version('2.9.6', sha256='ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff')
- version('2.8', sha256='bc1ff2ff88dbfacefde4ddde471d1417d3b304e8df103a7a9437d47269201bf4')
- version('2.7.3', sha256='2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb')
- version('2.7.2', sha256='310a35fbccac3af13ebf927297f871ac656b9da1d248b1fe6765affa71b53235')
- version('2.7.1', sha256='5cc0a087a81dca1c08368482fb7a92fe2bdd8cfbb22bc0fccfe6c85affb04c8b')
- version('2.7', sha256='474f1518d189ae7e318b139fecc1d30b943f124448cfa0f09582ca23e069fa4d')
+ version("3.0.3", sha256="611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7")
+ version("3.0.1", sha256="703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4")
+ version("2.11.3", sha256="a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6")
+ version("2.10.3", sha256="9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de")
+ version("2.10.1", sha256="065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013")
+ version("2.10", sha256="f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4")
+ version("2.9.6", sha256="ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff")
+ version("2.8", sha256="bc1ff2ff88dbfacefde4ddde471d1417d3b304e8df103a7a9437d47269201bf4")
+ version("2.7.3", sha256="2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb")
+ version("2.7.2", sha256="310a35fbccac3af13ebf927297f871ac656b9da1d248b1fe6765affa71b53235")
+ version("2.7.1", sha256="5cc0a087a81dca1c08368482fb7a92fe2bdd8cfbb22bc0fccfe6c85affb04c8b")
+ version("2.7", sha256="474f1518d189ae7e318b139fecc1d30b943f124448cfa0f09582ca23e069fa4d")
- variant('i18n', default=False, description="Enables I18N support with Babel")
+ variant("i18n", default=False, description="Enables I18N support with Babel")
- depends_on('python@3.6:', when='@3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-markupsafe@2.0:', when='@3:', type=('build', 'run'))
- depends_on('py-markupsafe@0.23:', type=('build', 'run'))
- depends_on('py-babel@2.7:', when='@3:+i18n', type=('build', 'run'))
- depends_on('py-babel@0.8:', when='+i18n', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-markupsafe@2.0:", when="@3:", type=("build", "run"))
+ depends_on("py-markupsafe@0.23:", type=("build", "run"))
+ depends_on("py-babel@2.7:", when="@3:+i18n", type=("build", "run"))
+ depends_on("py-babel@0.8:", when="+i18n", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jmespath/package.py b/var/spack/repos/builtin/packages/py-jmespath/package.py
index 49488c383b..79a381bb06 100644
--- a/var/spack/repos/builtin/packages/py-jmespath/package.py
+++ b/var/spack/repos/builtin/packages/py-jmespath/package.py
@@ -12,7 +12,7 @@ class PyJmespath(PythonPackage):
homepage = "https://github.com/jmespath/jmespath.py"
pypi = "jmespath/jmespath-0.9.4.tar.gz"
- version('0.10.0', sha256='b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9')
- version('0.9.4', sha256='bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c')
+ version("0.10.0", sha256="b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9")
+ version("0.9.4", sha256="bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-joblib/package.py b/var/spack/repos/builtin/packages/py-joblib/package.py
index 8cd3215dfb..2b4c455cd0 100644
--- a/var/spack/repos/builtin/packages/py-joblib/package.py
+++ b/var/spack/repos/builtin/packages/py-joblib/package.py
@@ -15,25 +15,28 @@ class PyJoblib(PythonPackage):
# 'joblib.test' requires 'pytest'. Leave out of 'import_modules' to avoid
# unnecessary dependencies.
import_modules = [
- 'joblib', 'joblib.externals', 'joblib.externals.cloudpickle',
- 'joblib.externals.loky', 'joblib.externals.loky.backend'
+ "joblib",
+ "joblib.externals",
+ "joblib.externals.cloudpickle",
+ "joblib.externals.loky",
+ "joblib.externals.loky.backend",
]
- version('1.1.0', sha256='4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35')
- version('1.0.1', sha256='9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7')
- version('1.0.0', sha256='7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24')
- version('0.17.0', sha256='9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5')
- version('0.16.0', sha256='8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6')
- version('0.15.1', sha256='61e49189c84b3c5d99a969d314853f4d1d263316cc694bec17548ebaa9c47b6e')
- version('0.15.0', sha256='f8f84dcef519233be4ede1c64fd1f2d48b1e8bbb632d1013ebca75f8b678ee72')
- version('0.14.1', sha256='0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8')
- version('0.14.0', sha256='6fcc57aacb4e89451fd449e9412687c51817c3f48662c3d8f38ba3f8a0a193ff')
- version('0.13.2', sha256='315d6b19643ec4afd4c41c671f9f2d65ea9d787da093487a81ead7b0bac94524')
- version('0.11', sha256='7b8fd56df36d9731a83729395ccb85a3b401f62a96255deb1a77220c00ed4085')
- version('0.10.3', sha256='29b2965a9efbc90a5fe66a389ae35ac5b5b0c1feabfc7cab7fd5d19f429a071d')
- version('0.10.2', sha256='3123553bdad83b143428033537c9e1939caf4a4d8813dade6a2246948c94494b')
- version('0.10.0', sha256='49b3a0ba956eaa2f077e1ebd230b3c8d7b98afc67520207ada20a4d8b8efd071')
+ version("1.1.0", sha256="4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35")
+ version("1.0.1", sha256="9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7")
+ version("1.0.0", sha256="7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24")
+ version("0.17.0", sha256="9e284edd6be6b71883a63c9b7f124738a3c16195513ad940eae7e3438de885d5")
+ version("0.16.0", sha256="8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6")
+ version("0.15.1", sha256="61e49189c84b3c5d99a969d314853f4d1d263316cc694bec17548ebaa9c47b6e")
+ version("0.15.0", sha256="f8f84dcef519233be4ede1c64fd1f2d48b1e8bbb632d1013ebca75f8b678ee72")
+ version("0.14.1", sha256="0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8")
+ version("0.14.0", sha256="6fcc57aacb4e89451fd449e9412687c51817c3f48662c3d8f38ba3f8a0a193ff")
+ version("0.13.2", sha256="315d6b19643ec4afd4c41c671f9f2d65ea9d787da093487a81ead7b0bac94524")
+ version("0.11", sha256="7b8fd56df36d9731a83729395ccb85a3b401f62a96255deb1a77220c00ed4085")
+ version("0.10.3", sha256="29b2965a9efbc90a5fe66a389ae35ac5b5b0c1feabfc7cab7fd5d19f429a071d")
+ version("0.10.2", sha256="3123553bdad83b143428033537c9e1939caf4a4d8813dade6a2246948c94494b")
+ version("0.10.0", sha256="49b3a0ba956eaa2f077e1ebd230b3c8d7b98afc67520207ada20a4d8b8efd071")
- depends_on('python@3.6:', when='@0.15:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.15:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jplephem/package.py b/var/spack/repos/builtin/packages/py-jplephem/package.py
index 1b0002e91a..3ffd4246b7 100644
--- a/var/spack/repos/builtin/packages/py-jplephem/package.py
+++ b/var/spack/repos/builtin/packages/py-jplephem/package.py
@@ -13,8 +13,8 @@ class PyJplephem(PythonPackage):
pypi = "jplephem/jplephem-2.9.tar.gz"
- version('2.9', sha256='9dffb9f3d3f6d996ade875102431fe385e8ea422da25c8ba17b0508d9ca1282b')
+ version("2.9", sha256="9dffb9f3d3f6d996ade875102431fe385e8ea422da25c8ba17b0508d9ca1282b")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jprops/package.py b/var/spack/repos/builtin/packages/py-jprops/package.py
index 20fd855cc9..4ba9f6850c 100644
--- a/var/spack/repos/builtin/packages/py-jprops/package.py
+++ b/var/spack/repos/builtin/packages/py-jprops/package.py
@@ -12,6 +12,6 @@ class PyJprops(PythonPackage):
homepage = "https://github.com/mgood/jprops/"
pypi = "jprops/jprops-2.0.2.tar.gz"
- version('2.0.2', sha256='d297231833b6cd0a3f982a48fe148a7f9817f2895661743d166b267e4d3d5b2c')
+ version("2.0.2", sha256="d297231833b6cd0a3f982a48fe148a7f9817f2895661743d166b267e4d3d5b2c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jpype1/package.py b/var/spack/repos/builtin/packages/py-jpype1/package.py
index c00111822a..1baa3787e7 100644
--- a/var/spack/repos/builtin/packages/py-jpype1/package.py
+++ b/var/spack/repos/builtin/packages/py-jpype1/package.py
@@ -13,16 +13,16 @@ class PyJpype1(PythonPackage):
homepage = "https://github.com/originell/jpype"
pypi = "JPype1/JPype1-0.6.2.tar.gz"
- version('0.6.3', sha256='6841523631874a731e1f94e1b1f130686ad3772030eaa3b6946256eeb1d10dd1')
- version('0.6.2', sha256='99206412d80b9d5a81a7cc205267ca63554403eb57f13420302e2f39bfad7f25')
- version('0.6.1', sha256='0d366228b7b37b0266184161cc7ea1ce58f60199f6ec9451985149ea873774be')
- version('0.6.0', sha256='f5d783520cb4c30595c3bc509065e30fc292ec7cfb57045141eae77c518bcdb0')
+ version("0.6.3", sha256="6841523631874a731e1f94e1b1f130686ad3772030eaa3b6946256eeb1d10dd1")
+ version("0.6.2", sha256="99206412d80b9d5a81a7cc205267ca63554403eb57f13420302e2f39bfad7f25")
+ version("0.6.1", sha256="0d366228b7b37b0266184161cc7ea1ce58f60199f6ec9451985149ea873774be")
+ version("0.6.0", sha256="f5d783520cb4c30595c3bc509065e30fc292ec7cfb57045141eae77c518bcdb0")
- variant('numpy', default=False, description='Build numpy extensions')
+ variant("numpy", default=False, description="Build numpy extensions")
- depends_on('python@2.6:')
+ depends_on("python@2.6:")
- depends_on('py-setuptools', type='build')
- depends_on('java', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("java", type=("build", "run"))
# extra requirements
- depends_on('py-numpy@1.6:', type=('build', 'run'), when='+numpy')
+ depends_on("py-numpy@1.6:", type=("build", "run"), when="+numpy")
diff --git a/var/spack/repos/builtin/packages/py-jsmin/package.py b/var/spack/repos/builtin/packages/py-jsmin/package.py
index e3f689ace9..f6a245390c 100644
--- a/var/spack/repos/builtin/packages/py-jsmin/package.py
+++ b/var/spack/repos/builtin/packages/py-jsmin/package.py
@@ -13,6 +13,6 @@ class PyJsmin(PythonPackage):
homepage = "https://github.com/tikitu/jsmin/"
pypi = "jsmin/jsmin-2.2.2.tar.gz"
- version('2.2.2', sha256='b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b')
+ version("2.2.2", sha256="b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-json-get/package.py b/var/spack/repos/builtin/packages/py-json-get/package.py
index 2c30e030b8..3675a98c96 100644
--- a/var/spack/repos/builtin/packages/py-json-get/package.py
+++ b/var/spack/repos/builtin/packages/py-json-get/package.py
@@ -10,9 +10,9 @@ class PyJsonGet(PythonPackage):
"""Get values from JSON objects usings a path expression."""
homepage = "https://github.com/srittau/python-json-get"
- url = "https://github.com/srittau/python-json-get/archive/v1.1.1.tar.gz"
+ url = "https://github.com/srittau/python-json-get/archive/v1.1.1.tar.gz"
- version('1.1.1', sha256='0d436f1f2dc8c51ab0249d964bb7f176d724131f76c14adf6fc4687e68ec37ab')
+ version("1.1.1", sha256="0d436f1f2dc8c51ab0249d964bb7f176d724131f76c14adf6fc4687e68ec37ab")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-json5/package.py b/var/spack/repos/builtin/packages/py-json5/package.py
index 54d016fbaf..1a07f30788 100644
--- a/var/spack/repos/builtin/packages/py-json5/package.py
+++ b/var/spack/repos/builtin/packages/py-json5/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyJson5(PythonPackage):
"""The JSON5 Data Interchange Format (JSON5) is a superset of JSON that aims
- to alleviate some of the limitations of JSON by expanding its syntax to
- include some productions from ECMAScript 5.1."""
+ to alleviate some of the limitations of JSON by expanding its syntax to
+ include some productions from ECMAScript 5.1."""
homepage = "https://github.com/dpranke/pyjson5"
pypi = "json5/json5-0.9.4.tar.gz"
- version('0.9.6', sha256='9175ad1bc248e22bb8d95a8e8d765958bf0008fef2fe8abab5bc04e0f1ac8302')
- version('0.9.4', sha256='2ebfad1cd502dca6aecab5b5c36a21c732c3461ddbc412fb0e9a52b07ddfe586')
+ version("0.9.6", sha256="9175ad1bc248e22bb8d95a8e8d765958bf0008fef2fe8abab5bc04e0f1ac8302")
+ version("0.9.4", sha256="2ebfad1cd502dca6aecab5b5c36a21c732c3461ddbc412fb0e9a52b07ddfe586")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jsondiff/package.py b/var/spack/repos/builtin/packages/py-jsondiff/package.py
index b241f0272a..4fe19e19c7 100644
--- a/var/spack/repos/builtin/packages/py-jsondiff/package.py
+++ b/var/spack/repos/builtin/packages/py-jsondiff/package.py
@@ -13,6 +13,6 @@ class PyJsondiff(PythonPackage):
homepage = "https://github.com/ZoomerAnalytics/jsondiff"
pypi = "jsondiff/jsondiff-1.2.0.tar.gz"
- version('1.2.0', sha256='34941bc431d10aa15828afe1cbb644977a114e75eef6cc74fb58951312326303')
+ version("1.2.0", sha256="34941bc431d10aa15828afe1cbb644977a114e75eef6cc74fb58951312326303")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jsonpatch/package.py b/var/spack/repos/builtin/packages/py-jsonpatch/package.py
index 938c070ebc..3afd0de6ae 100644
--- a/var/spack/repos/builtin/packages/py-jsonpatch/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpatch/package.py
@@ -12,7 +12,7 @@ class PyJsonpatch(PythonPackage):
homepage = "https://github.com/stefankoegl/python-json-patch"
pypi = "jsonpatch/jsonpatch-1.23.tar.gz"
- version('1.23', sha256='49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9')
+ version("1.23", sha256="49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9")
- depends_on('py-setuptools', type='build')
- depends_on('py-jsonpointer@1.9', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jsonpointer@1.9", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jsonpath-ng/package.py b/var/spack/repos/builtin/packages/py-jsonpath-ng/package.py
index 25d70e43cf..a56392f54c 100644
--- a/var/spack/repos/builtin/packages/py-jsonpath-ng/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpath-ng/package.py
@@ -13,11 +13,11 @@ class PyJsonpathNg(PythonPackage):
operators."""
homepage = "https://github.com/h2non/jsonpath-ng"
- pypi = "jsonpath-ng/jsonpath-ng-1.5.2.tar.gz"
+ pypi = "jsonpath-ng/jsonpath-ng-1.5.2.tar.gz"
- version('1.5.2', sha256='144d91379be14d9019f51973bd647719c877bfc07dc6f3f5068895765950c69d')
+ version("1.5.2", sha256="144d91379be14d9019f51973bd647719c877bfc07dc6f3f5068895765950c69d")
- depends_on('py-setuptools', type='build')
- depends_on('py-ply', type=('build', 'run'))
- depends_on('py-decorator', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ply", type=("build", "run"))
+ depends_on("py-decorator", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jsonpickle/package.py b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
index 57995fc7d2..ef2e6d5217 100644
--- a/var/spack/repos/builtin/packages/py-jsonpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
@@ -13,11 +13,11 @@ class PyJsonpickle(PythonPackage):
homepage = "https://github.com/jsonpickle/jsonpickle"
pypi = "jsonpickle/jsonpickle-1.4.1.tar.gz"
- version('2.0.0', sha256='0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a')
- version('1.4.1', sha256='e8d4b7cd0bd6826001a74377df1079a76ad8bae0f909282de2554164c837c8ba')
+ version("2.0.0", sha256="0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a")
+ version("1.4.1", sha256="e8d4b7cd0bd6826001a74377df1079a76ad8bae0f909282de2554164c837c8ba")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', type='build', when='@2.0.0:')
- depends_on('py-setuptools-scm@3.4.1:+toml', type='build')
- depends_on("py-importlib-metadata", when="^python@:3.7", type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", type="build", when="@2.0.0:")
+ depends_on("py-setuptools-scm@3.4.1:+toml", type="build")
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jsonpointer/package.py b/var/spack/repos/builtin/packages/py-jsonpointer/package.py
index 9cf1c736e9..0107ca52c0 100644
--- a/var/spack/repos/builtin/packages/py-jsonpointer/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpointer/package.py
@@ -12,7 +12,7 @@ class PyJsonpointer(PythonPackage):
homepage = "https://github.com/stefankoegl/python-json-pointer"
pypi = "jsonpointer/jsonpointer-2.0.tar.gz"
- version('2.0', sha256='c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362')
- version('1.9', sha256='39403b47a71aa782de6d80db3b78f8a5f68ad8dfc9e674ca3bb5b32c15ec7308')
+ version("2.0", sha256="c192ba86648e05fdae4f08a17ec25180a9aef5008d973407b581798a83975362")
+ version("1.9", sha256="39403b47a71aa782de6d80db3b78f8a5f68ad8dfc9e674ca3bb5b32c15ec7308")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jsonref/package.py b/var/spack/repos/builtin/packages/py-jsonref/package.py
index 214d40b12a..f00493dde2 100644
--- a/var/spack/repos/builtin/packages/py-jsonref/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonref/package.py
@@ -12,6 +12,6 @@ class PyJsonref(PythonPackage):
homepage = "https://github.com/gazpachoking/jsonref"
pypi = "jsonref/jsonref-0.2.tar.gz"
- version('0.2', sha256='f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697')
+ version("0.2", sha256="f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jsonschema/package.py b/var/spack/repos/builtin/packages/py-jsonschema/package.py
index dc130a184c..5bea410e6d 100644
--- a/var/spack/repos/builtin/packages/py-jsonschema/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonschema/package.py
@@ -12,32 +12,32 @@ class PyJsonschema(PythonPackage):
homepage = "https://github.com/Julian/jsonschema"
pypi = "jsonschema/jsonschema-3.2.0.tar.gz"
- version('4.4.0', sha256='636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83')
- version('3.2.0', sha256='c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a')
- version('3.1.1', sha256='2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f')
- version('3.0.2', sha256='8d4a2b7b6c2237e0199c8ea1a6d3e05bf118e289ae2b9d7ba444182a2959560d')
- version('3.0.1', sha256='0c0a81564f181de3212efa2d17de1910f8732fa1b71c42266d983cd74304e20d')
- version('2.6.0', sha256='6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02')
- version('2.5.1', sha256='36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41')
-
- depends_on('python@3.7:', when='@4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@3:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
-
- depends_on('py-setuptools@40.6.0:', when='@4:', type='build')
- depends_on('py-setuptools', when='@3', type=('build', 'run'))
- depends_on('py-setuptools', when='@:2', type='build')
- depends_on('py-vcversioner', when='@:2', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', when='@4:', type='build')
- depends_on('py-setuptools-scm', when='@3', type='build')
-
- depends_on('py-attrs@17.4:', when='@3:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='@3.1.1: ^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-resources@1.4:', when='@4.2.1: ^python@:3.8', type=('build', 'run'))
- depends_on('py-importlib-resources', when='@4.2.0 ^python@:3.8', type=('build', 'run'))
- depends_on('py-pyrsistent@0.14:0.16,0.17.3:', when='@4:', type=('build', 'run'))
- depends_on('py-pyrsistent@0.14:', when='@3', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@4.3: ^python@:3.7', type=('build', 'run'))
-
- depends_on('py-six@1.11:', when='@3', type=('build', 'run'))
- depends_on('py-functools32', when="^python@:2", type=('build', 'run'))
+ version("4.4.0", sha256="636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83")
+ version("3.2.0", sha256="c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a")
+ version("3.1.1", sha256="2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f")
+ version("3.0.2", sha256="8d4a2b7b6c2237e0199c8ea1a6d3e05bf118e289ae2b9d7ba444182a2959560d")
+ version("3.0.1", sha256="0c0a81564f181de3212efa2d17de1910f8732fa1b71c42266d983cd74304e20d")
+ version("2.6.0", sha256="6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02")
+ version("2.5.1", sha256="36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41")
+
+ depends_on("python@3.7:", when="@4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@3:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+
+ depends_on("py-setuptools@40.6.0:", when="@4:", type="build")
+ depends_on("py-setuptools", when="@3", type=("build", "run"))
+ depends_on("py-setuptools", when="@:2", type="build")
+ depends_on("py-vcversioner", when="@:2", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", when="@4:", type="build")
+ depends_on("py-setuptools-scm", when="@3", type="build")
+
+ depends_on("py-attrs@17.4:", when="@3:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="@3.1.1: ^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-resources@1.4:", when="@4.2.1: ^python@:3.8", type=("build", "run"))
+ depends_on("py-importlib-resources", when="@4.2.0 ^python@:3.8", type=("build", "run"))
+ depends_on("py-pyrsistent@0.14:0.16,0.17.3:", when="@4:", type=("build", "run"))
+ depends_on("py-pyrsistent@0.14:", when="@3", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@4.3: ^python@:3.7", type=("build", "run"))
+
+ depends_on("py-six@1.11:", when="@3", type=("build", "run"))
+ depends_on("py-functools32", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-junit-xml/package.py b/var/spack/repos/builtin/packages/py-junit-xml/package.py
index d6d7cb5087..860d690511 100644
--- a/var/spack/repos/builtin/packages/py-junit-xml/package.py
+++ b/var/spack/repos/builtin/packages/py-junit-xml/package.py
@@ -13,7 +13,7 @@ class PyJunitXml(PythonPackage):
homepage = "https://github.com/kyrus/python-junit-xml"
pypi = "junit-xml/junit-xml-1.7.tar.gz"
- version('1.7', sha256='5bc851b53e3e2153dcc62278ce2aa796a8ae9208f1dec36d1507b5af445ce355')
+ version("1.7", sha256="5bc851b53e3e2153dcc62278ce2aa796a8ae9208f1dec36d1507b5af445ce355")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-client/package.py b/var/spack/repos/builtin/packages/py-jupyter-client/package.py
index 91d19a3bc2..2d843afd2b 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-client/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-client/package.py
@@ -13,32 +13,32 @@ class PyJupyterClient(PythonPackage):
homepage = "https://github.com/jupyter/jupyter_client"
pypi = "jupyter-client/jupyter_client-6.1.7.tar.gz"
- version('7.1.2', sha256='4ea61033726c8e579edb55626d8ee2e6bf0a83158ddf3751b8dd46b2c5cd1e96')
- version('7.0.6', sha256='8b6e06000eb9399775e0a55c52df6c1be4766666209c22f90c2691ded0e338dc')
- version('6.1.12', sha256='c4bca1d0846186ca8be97f4d2fa6d2bae889cce4892a167ffa1ba6bd1f73e782')
- version('6.1.7', sha256='49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1')
- version('5.3.4', sha256='60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910')
- version('5.2.4', sha256='b5f9cb06105c1d2d30719db5ffb3ea67da60919fb68deaefa583deccd8813551')
- version('4.4.0', sha256='c99a52fac2e5b7a3b714e9252ebf72cbf97536d556ae2b5082baccc3e5cd52ee')
- version('4.3.0', sha256='70b2e88403835a1d54b83858783d9e5e5771fa4bb6f6904e0b5bb8cfde4b99dd')
- version('4.2.2', sha256='3ffc530eff0518fd9bfe3662423a2bec15d0628b9ca159921dd72f34ae004a14')
- version('4.2.1', sha256='ffc4c11db26b099e4a6c9e51337ee12ba8025e01cd8f977ec08d7826d28ed3b8')
- version('4.2.0', sha256='3026cda12d76356f2f3fb5c082811826aecc492e762b69c706ee166dd68ffccf')
- version('4.1.1', sha256='ff1ef5c6c3031a62db46ec6329867b4cb1595e6102a7819b3b5252b0c524bdb8')
- version('4.1.0', sha256='b1786dbf4752907292afed4a5a192572280a8794be0c499d1f530ae8e1550d57')
- version('4.0.0', sha256='a39a4181ea2021daf6e821acae836999ef6e0fefe603813a7a7d4658d2ffa2ac')
-
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@5:')
- depends_on('python@3.5:', type=('build', 'run'), when='@6:')
- depends_on('python@3.6.1:', type=('build', 'run'), when='@6.2:')
- depends_on('py-setuptools', type=('build', 'run'), when='@5:')
-
- depends_on('py-entrypoints', type=('build', 'run'), when='@7:')
- depends_on('py-jupyter-core', type=('build', 'run'))
- depends_on('py-jupyter-core@4.6.0:', type=('build', 'run'), when='@6:')
- depends_on('py-nest-asyncio@1.5:', type=('build', 'run'), when='@6.1.13:')
- depends_on('py-python-dateutil@2.1:', type=('build', 'run'), when='@5:')
- depends_on('py-pyzmq@13:', type=('build', 'run'))
- depends_on('py-tornado@4.1:', type=('build', 'run'), when='@5:')
- depends_on('py-traitlets', type=('build', 'run'))
+ version("7.1.2", sha256="4ea61033726c8e579edb55626d8ee2e6bf0a83158ddf3751b8dd46b2c5cd1e96")
+ version("7.0.6", sha256="8b6e06000eb9399775e0a55c52df6c1be4766666209c22f90c2691ded0e338dc")
+ version("6.1.12", sha256="c4bca1d0846186ca8be97f4d2fa6d2bae889cce4892a167ffa1ba6bd1f73e782")
+ version("6.1.7", sha256="49e390b36fe4b4226724704ea28d9fb903f1a3601b6882ce3105221cd09377a1")
+ version("5.3.4", sha256="60e6faec1031d63df57f1cc671ed673dced0ed420f4377ea33db37b1c188b910")
+ version("5.2.4", sha256="b5f9cb06105c1d2d30719db5ffb3ea67da60919fb68deaefa583deccd8813551")
+ version("4.4.0", sha256="c99a52fac2e5b7a3b714e9252ebf72cbf97536d556ae2b5082baccc3e5cd52ee")
+ version("4.3.0", sha256="70b2e88403835a1d54b83858783d9e5e5771fa4bb6f6904e0b5bb8cfde4b99dd")
+ version("4.2.2", sha256="3ffc530eff0518fd9bfe3662423a2bec15d0628b9ca159921dd72f34ae004a14")
+ version("4.2.1", sha256="ffc4c11db26b099e4a6c9e51337ee12ba8025e01cd8f977ec08d7826d28ed3b8")
+ version("4.2.0", sha256="3026cda12d76356f2f3fb5c082811826aecc492e762b69c706ee166dd68ffccf")
+ version("4.1.1", sha256="ff1ef5c6c3031a62db46ec6329867b4cb1595e6102a7819b3b5252b0c524bdb8")
+ version("4.1.0", sha256="b1786dbf4752907292afed4a5a192572280a8794be0c499d1f530ae8e1550d57")
+ version("4.0.0", sha256="a39a4181ea2021daf6e821acae836999ef6e0fefe603813a7a7d4658d2ffa2ac")
+
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@5:")
+ depends_on("python@3.5:", type=("build", "run"), when="@6:")
+ depends_on("python@3.6.1:", type=("build", "run"), when="@6.2:")
+ depends_on("py-setuptools", type=("build", "run"), when="@5:")
+
+ depends_on("py-entrypoints", type=("build", "run"), when="@7:")
+ depends_on("py-jupyter-core", type=("build", "run"))
+ depends_on("py-jupyter-core@4.6.0:", type=("build", "run"), when="@6:")
+ depends_on("py-nest-asyncio@1.5:", type=("build", "run"), when="@6.1.13:")
+ depends_on("py-python-dateutil@2.1:", type=("build", "run"), when="@5:")
+ depends_on("py-pyzmq@13:", type=("build", "run"))
+ depends_on("py-tornado@4.1:", type=("build", "run"), when="@5:")
+ depends_on("py-traitlets", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-console/package.py b/var/spack/repos/builtin/packages/py-jupyter-console/package.py
index a40f932bf7..1861b052e9 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-console/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-console/package.py
@@ -10,27 +10,27 @@ class PyJupyterConsole(PythonPackage):
"""Jupyter Terminal Console"""
homepage = "https://github.com/jupyter/jupyter_console"
- pypi = "jupyter_console/jupyter_console-6.4.0.tar.gz"
+ pypi = "jupyter_console/jupyter_console-6.4.0.tar.gz"
- version('6.4.3', sha256='55f32626b0be647a85e3217ddcdb22db69efc79e8b403b9771eb9ecc696019b5')
- version('6.4.0', sha256='242248e1685039cd8bff2c2ecb7ce6c1546eb50ee3b08519729e6e881aec19c7')
- version('6.1.0', sha256='6f6ead433b0534909df789ea64f0a14cdf9b6b2360757756f08182be4b9e431b')
- version('5.2.0', sha256='545dedd3aaaa355148093c5609f0229aeb121b4852995c2accfa64fe3e0e55cd')
- version('5.0.0', sha256='7ddfc8cc49921b0ed852500928922e637f9188358c94b5c76339a5a8f9ac4c11')
- version('4.1.1', sha256='d754cfd18d258fa9e7dde39a36e589c4a7241075b5d0f420691fa3d50e4c4ae3')
- version('4.1.0', sha256='3f9703b632e38d68713fc2ea1f546edc4db2a8f925c94b6dd91a8d0c13816ce9')
- version('4.0.3', sha256='555be6963a8f6431fbe1d424c7ffefee90824758058e4c9a2ab3aa045948eb85')
- version('4.0.2', sha256='97e27e1c27a6dd04d166b7a4c81d717becdd979a0879a628e08f295a43a2bc58')
+ version("6.4.3", sha256="55f32626b0be647a85e3217ddcdb22db69efc79e8b403b9771eb9ecc696019b5")
+ version("6.4.0", sha256="242248e1685039cd8bff2c2ecb7ce6c1546eb50ee3b08519729e6e881aec19c7")
+ version("6.1.0", sha256="6f6ead433b0534909df789ea64f0a14cdf9b6b2360757756f08182be4b9e431b")
+ version("5.2.0", sha256="545dedd3aaaa355148093c5609f0229aeb121b4852995c2accfa64fe3e0e55cd")
+ version("5.0.0", sha256="7ddfc8cc49921b0ed852500928922e637f9188358c94b5c76339a5a8f9ac4c11")
+ version("4.1.1", sha256="d754cfd18d258fa9e7dde39a36e589c4a7241075b5d0f420691fa3d50e4c4ae3")
+ version("4.1.0", sha256="3f9703b632e38d68713fc2ea1f546edc4db2a8f925c94b6dd91a8d0c13816ce9")
+ version("4.0.3", sha256="555be6963a8f6431fbe1d424c7ffefee90824758058e4c9a2ab3aa045948eb85")
+ version("4.0.2", sha256="97e27e1c27a6dd04d166b7a4c81d717becdd979a0879a628e08f295a43a2bc58")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@6:')
- depends_on('python@3.6:', type=('build', 'run'), when='@6.2:')
- depends_on('py-setuptools@40.8.0:', type='build', when='@6.2:')
- depends_on('py-jupyter-client@7.0.0:', type=('build', 'run'), when='@6.4.3:')
- depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-ipython@:5.8.0', type=('build', 'run'), when='@:5')
- depends_on('py-ipython', type=('build', 'run'))
- depends_on('py-ipykernel', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-prompt-toolkit@1.0.0:1', type=('build', 'run'), when='@:5')
- depends_on('py-prompt-toolkit@2.0.0:2,3.0.2:3.0', type=('build', 'run'), when='@6:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"), when="@6:")
+ depends_on("python@3.6:", type=("build", "run"), when="@6.2:")
+ depends_on("py-setuptools@40.8.0:", type="build", when="@6.2:")
+ depends_on("py-jupyter-client@7.0.0:", type=("build", "run"), when="@6.4.3:")
+ depends_on("py-jupyter-client", type=("build", "run"))
+ depends_on("py-ipython@:5.8.0", type=("build", "run"), when="@:5")
+ depends_on("py-ipython", type=("build", "run"))
+ depends_on("py-ipykernel", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-prompt-toolkit@1.0.0:1", type=("build", "run"), when="@:5")
+ depends_on("py-prompt-toolkit@2.0.0:2,3.0.2:3.0", type=("build", "run"), when="@6:")
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 86b1ce406d..e9bdbfad66 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-core/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-core/package.py
@@ -12,26 +12,26 @@ class PyJupyterCore(PythonPackage):
homepage = "https://jupyter-core.readthedocs.io/"
pypi = "jupyter-core/jupyter_core-4.6.0.tar.gz"
- version('4.9.2', sha256='d69baeb9ffb128b8cd2657fcf2703f89c769d1673c851812119e3a2a0e93ad9a')
- version('4.7.1', sha256='79025cb3225efcd36847d0840f3fc672c0abd7afd0de83ba8a1d3837619122b4')
- version('4.6.3', sha256='394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e')
- version('4.6.1', sha256='a183e0ec2e8f6adddf62b0a3fc6a2237e3e0056d381e536d3e7c7ecc3067e244')
- version('4.6.0', sha256='85103cee6548992780912c1a0a9ec2583a4a18f1ef79a248ec0db4446500bce3')
- version('4.4.0', sha256='ba70754aa680300306c699790128f6fbd8c306ee5927976cbe48adacf240c0b7')
- version('4.2.0', sha256='44ec837a53bebf4e937112d3f9ccf31fee4f8db3e406dd0dd4f0378a354bed9c')
- version('4.1.1', sha256='ae0e69435258126466c86cd989e465a9c334c50107ef4f257decc8693650bf4c')
- version('4.1.0', sha256='146af0679c33c56db4b85b785f3dacd933ffaca97e7d2d56ff577a5485c2bd13')
- version('4.0.6', sha256='96a68a3b1d018ff7776270b26b7cb0cfd7a18a53ef2061421daff435707d198c')
- version('4.0.5', sha256='9f6581b827f56cfa1771d7b1bd8ecc1274afa7f6e3e1046b7e0d4e05d52bf6e8')
- version('4.0.4', sha256='fcf45478025f34174943993947f51a41ad871ac998a14bf1cb87d8eb61e75c6d')
- version('4.0.3', sha256='12258d8c593c53bb08e09f3da63a418d7cb5b5852b3d0ffa29639402f56dcbdb')
- version('4.0.2', sha256='13a46b3c493ac63bd75048d6d2142cfc44258bc6c260d96c506f0214fcd78a70')
- version('4.0.1', sha256='7c165f7de7a063596f8be1bcfc86e9ba6897e38baf24e8510514690963600122')
- version('4.0.0', sha256='9025208cdfc40718c7e3ab62b5e17aacf68e3fc66e34ff21fe032d553620122a')
+ version("4.9.2", sha256="d69baeb9ffb128b8cd2657fcf2703f89c769d1673c851812119e3a2a0e93ad9a")
+ version("4.7.1", sha256="79025cb3225efcd36847d0840f3fc672c0abd7afd0de83ba8a1d3837619122b4")
+ version("4.6.3", sha256="394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e")
+ version("4.6.1", sha256="a183e0ec2e8f6adddf62b0a3fc6a2237e3e0056d381e536d3e7c7ecc3067e244")
+ version("4.6.0", sha256="85103cee6548992780912c1a0a9ec2583a4a18f1ef79a248ec0db4446500bce3")
+ version("4.4.0", sha256="ba70754aa680300306c699790128f6fbd8c306ee5927976cbe48adacf240c0b7")
+ version("4.2.0", sha256="44ec837a53bebf4e937112d3f9ccf31fee4f8db3e406dd0dd4f0378a354bed9c")
+ version("4.1.1", sha256="ae0e69435258126466c86cd989e465a9c334c50107ef4f257decc8693650bf4c")
+ version("4.1.0", sha256="146af0679c33c56db4b85b785f3dacd933ffaca97e7d2d56ff577a5485c2bd13")
+ version("4.0.6", sha256="96a68a3b1d018ff7776270b26b7cb0cfd7a18a53ef2061421daff435707d198c")
+ version("4.0.5", sha256="9f6581b827f56cfa1771d7b1bd8ecc1274afa7f6e3e1046b7e0d4e05d52bf6e8")
+ version("4.0.4", sha256="fcf45478025f34174943993947f51a41ad871ac998a14bf1cb87d8eb61e75c6d")
+ version("4.0.3", sha256="12258d8c593c53bb08e09f3da63a418d7cb5b5852b3d0ffa29639402f56dcbdb")
+ version("4.0.2", sha256="13a46b3c493ac63bd75048d6d2142cfc44258bc6c260d96c506f0214fcd78a70")
+ version("4.0.1", sha256="7c165f7de7a063596f8be1bcfc86e9ba6897e38baf24e8510514690963600122")
+ version("4.0.0", sha256="9025208cdfc40718c7e3ab62b5e17aacf68e3fc66e34ff21fe032d553620122a")
- depends_on('python@3.6:', when='@4.7:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@4.6.2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-traitlets', type=('build', 'run'))
+ depends_on("python@3.6:", when="@4.7:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@4.6.2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-traitlets", type=("build", "run"))
# additional pywin32>=1.0 dependency for windows
diff --git a/var/spack/repos/builtin/packages/py-jupyter-packaging/package.py b/var/spack/repos/builtin/packages/py-jupyter-packaging/package.py
index 880ed7ce7c..42d099c2dc 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-packaging/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-packaging/package.py
@@ -10,24 +10,27 @@ class PyJupyterPackaging(PythonPackage):
"""Jupyter Packaging Utilities."""
homepage = "https://github.com/jupyter/jupyter-packaging"
- pypi = "jupyter_packaging/jupyter_packaging-0.10.4.tar.gz"
+ pypi = "jupyter_packaging/jupyter_packaging-0.10.4.tar.gz"
- version('0.12.0', sha256='b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac')
- version('0.11.1', sha256='6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec')
- version('0.10.6', sha256='a8a2c90bf2e0cae83be63ccb0b7035032a1589f268cc08b1d479e37ce50fc940')
- version('0.10.4', sha256='589db027cb85a92612f9bcfaeecaa8a9072ac8a4bddaf827f648664258e587c4')
- version('0.7.12', sha256='b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8',
- # name has a '-' instead of a '_'
- url='https://files.pythonhosted.org/packages/source/j/jupyter_packaging/jupyter-packaging-0.7.12.tar.gz')
+ version("0.12.0", sha256="b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac")
+ version("0.11.1", sha256="6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec")
+ version("0.10.6", sha256="a8a2c90bf2e0cae83be63ccb0b7035032a1589f268cc08b1d479e37ce50fc940")
+ version("0.10.4", sha256="589db027cb85a92612f9bcfaeecaa8a9072ac8a4bddaf827f648664258e587c4")
+ version(
+ "0.7.12",
+ sha256="b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8",
+ # name has a '-' instead of a '_'
+ url="https://files.pythonhosted.org/packages/source/j/jupyter_packaging/jupyter-packaging-0.7.12.tar.gz",
+ )
- depends_on('python@3.7:', when='@0.11:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-tomlkit', when='@0.8:', type=('build', 'run'))
- depends_on('py-setuptools@60.2:', when='@0.12:', type=('build', 'run'))
- depends_on('py-setuptools@46.4:', when='@0.8:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@0.11:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-tomlkit", when="@0.8:", type=("build", "run"))
+ depends_on("py-setuptools@60.2:", when="@0.12:", type=("build", "run"))
+ depends_on("py-setuptools@46.4:", when="@0.8:", type=("build", "run"))
# https://github.com/jupyter/jupyter-packaging/issues/130
- depends_on('py-setuptools@:60', when='@:0.11', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-wheel', when='@0.8:', type=('build', 'run'))
- depends_on('py-deprecation', when='@0.8:', type=('build', 'run'))
+ depends_on("py-setuptools@:60", when="@:0.11", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-wheel", when="@0.8:", type=("build", "run"))
+ depends_on("py-deprecation", when="@0.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-packaging11/package.py b/var/spack/repos/builtin/packages/py-jupyter-packaging11/package.py
index db926da861..ae313784a9 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-packaging11/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-packaging11/package.py
@@ -14,17 +14,17 @@ class PyJupyterPackaging11(PythonPackage):
# of concretizing build dependencies separately, this package should be removed.
homepage = "https://github.com/jupyter/jupyter-packaging"
- pypi = "jupyter_packaging/jupyter_packaging-0.11.1.tar.gz"
+ pypi = "jupyter_packaging/jupyter_packaging-0.11.1.tar.gz"
- version('0.12.0', sha256='b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac')
- version('0.11.1', sha256='6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec')
+ version("0.12.0", sha256="b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac")
+ version("0.11.1", sha256="6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-tomlkit', type=('build', 'run'))
- depends_on('py-setuptools@60.2:', when='@0.12:', type=('build', 'run'))
- depends_on('py-setuptools@46.4:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-tomlkit", type=("build", "run"))
+ depends_on("py-setuptools@60.2:", when="@0.12:", type=("build", "run"))
+ depends_on("py-setuptools@46.4:", type=("build", "run"))
# https://github.com/jupyter/jupyter-packaging/issues/130
- depends_on('py-setuptools@:60', when='@:0.11', type=('build', 'run'))
- depends_on('py-wheel', type=('build', 'run'))
- depends_on('py-deprecation', type=('build', 'run'))
+ depends_on("py-setuptools@:60", when="@:0.11", type=("build", "run"))
+ depends_on("py-wheel", type=("build", "run"))
+ depends_on("py-deprecation", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-packaging7/package.py b/var/spack/repos/builtin/packages/py-jupyter-packaging7/package.py
index 8394968a1e..2acd7cbde5 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-packaging7/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-packaging7/package.py
@@ -14,10 +14,10 @@ class PyJupyterPackaging7(PythonPackage):
# of concretizing build dependencies separately, this package should be removed.
homepage = "https://github.com/jupyter/jupyter-packaging"
- pypi = "jupyter_packaging/jupyter-packaging-0.7.12.tar.gz"
+ pypi = "jupyter_packaging/jupyter-packaging-0.7.12.tar.gz"
- version('0.7.12', sha256='b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8')
+ version("0.7.12", sha256="b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py b/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py
index d07be4792c..10b9e7fc05 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py
@@ -10,12 +10,12 @@ class PyJupyterServerMathjax(PythonPackage):
"""MathJax resources as a Jupyter Server Extension."""
homepage = "http://jupyter.org/"
- pypi = "jupyter_server_mathjax/jupyter_server_mathjax-0.2.3.tar.gz"
+ pypi = "jupyter_server_mathjax/jupyter_server_mathjax-0.2.3.tar.gz"
- version('0.2.3', sha256='564e8d1272019c6771208f577b5f9f2b3afb02b9e2bff3b34c042cef8ed84451')
+ version("0.2.3", sha256="564e8d1272019c6771208f577b5f9f2b3afb02b9e2bff3b34c042cef8ed84451")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-jupyter-packaging', type='build')
- depends_on('py-jupyter-server@1.1:1', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-jupyter-packaging", type="build")
+ depends_on("py-jupyter-server@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-server/package.py b/var/spack/repos/builtin/packages/py-jupyter-server/package.py
index 7e4b631f1c..ce91ab31d3 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-server/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-server/package.py
@@ -12,45 +12,45 @@ class PyJupyterServer(PythonPackage):
JupyterLab, and Voila."""
homepage = "https://github.com/jupyter-server/jupyter_server"
- pypi = "jupyter_server/jupyter_server-1.9.0.tar.gz"
+ pypi = "jupyter_server/jupyter_server-1.9.0.tar.gz"
- version('1.17.0', sha256='7b3aa524790ab0da64f06dfe0b2af149d0a3f59aad71fdedcf1d8bae6508018c')
- version('1.13.5', sha256='9e3e9717eea3bffab8cfb2ff330011be6c8bbd9cdae5b71cef169fcece2f19d3')
- version('1.11.2', sha256='c1f32e0c1807ab2de37bf70af97a36b4436db0bc8af3124632b1f4441038bf95')
- version('1.11.1', sha256='ab7ab1cc38512f15026cbcbb96300fb46ec8b24aa162263d9edd00e0a749b1e8')
- version('1.11.0', sha256='8ab4f484a4a2698f757cff0769d27b5d991e0232a666d54f4d6ada4e6a61330b')
- version('1.10.2', sha256='d3a3b68ebc6d7bfee1097f1712cf7709ee39c92379da2cc08724515bb85e72bf')
- version('1.9.0', sha256='7d19006380f6217458a9db309b54e3dab87ced6c06329c61823907bef2a6f51b')
- version('1.6.1', sha256='242ddd0b644f10e030f917019b47c381e0f2d2b950164af45cbd791d572198ac')
+ version("1.17.0", sha256="7b3aa524790ab0da64f06dfe0b2af149d0a3f59aad71fdedcf1d8bae6508018c")
+ version("1.13.5", sha256="9e3e9717eea3bffab8cfb2ff330011be6c8bbd9cdae5b71cef169fcece2f19d3")
+ version("1.11.2", sha256="c1f32e0c1807ab2de37bf70af97a36b4436db0bc8af3124632b1f4441038bf95")
+ version("1.11.1", sha256="ab7ab1cc38512f15026cbcbb96300fb46ec8b24aa162263d9edd00e0a749b1e8")
+ version("1.11.0", sha256="8ab4f484a4a2698f757cff0769d27b5d991e0232a666d54f4d6ada4e6a61330b")
+ version("1.10.2", sha256="d3a3b68ebc6d7bfee1097f1712cf7709ee39c92379da2cc08724515bb85e72bf")
+ version("1.9.0", sha256="7d19006380f6217458a9db309b54e3dab87ced6c06329c61823907bef2a6f51b")
+ version("1.6.1", sha256="242ddd0b644f10e030f917019b47c381e0f2d2b950164af45cbd791d572198ac")
- depends_on('python@3.7:', when='@1.13.2:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@1.13.2:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging11', when='@1.6.2:', type='build')
+ depends_on("py-jupyter-packaging11", when="@1.6.2:", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@1.6.2:', type='build')
- depends_on('py-pre-commit', when='@1.16:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-anyio@3.1.0:3', type=('build', 'run'))
- depends_on('py-argon2-cffi', type=('build', 'run'))
- depends_on('py-ipython-genutils', when='@:1.15', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-jupyter-client@6.1.12:', when='@1.16:', type=('build', 'run'))
- depends_on('py-jupyter-client@6.1.1:', type=('build', 'run'))
- depends_on('py-jupyter-core@4.7:', when='@1.16:', type=('build', 'run'))
- depends_on('py-jupyter-core@4.6:', type=('build', 'run'))
- depends_on('py-nbconvert@6.4.4:', when='@1.16:', type=('build', 'run'))
- depends_on('py-nbconvert', type=('build', 'run'))
- depends_on('py-nbformat@5.2:', when='@1.15:', type=('build', 'run'))
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-packaging', when='@1.13.2:', type=('build', 'run'))
- depends_on('py-prometheus-client', type=('build', 'run'))
+ depends_on("py-pre-commit", when="@1.16:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-anyio@3.1.0:3", type=("build", "run"))
+ depends_on("py-argon2-cffi", type=("build", "run"))
+ depends_on("py-ipython-genutils", when="@:1.15", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-jupyter-client@6.1.12:", when="@1.16:", type=("build", "run"))
+ depends_on("py-jupyter-client@6.1.1:", type=("build", "run"))
+ depends_on("py-jupyter-core@4.7:", when="@1.16:", type=("build", "run"))
+ depends_on("py-jupyter-core@4.6:", type=("build", "run"))
+ depends_on("py-nbconvert@6.4.4:", when="@1.16:", type=("build", "run"))
+ depends_on("py-nbconvert", type=("build", "run"))
+ depends_on("py-nbformat@5.2:", when="@1.15:", type=("build", "run"))
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-packaging", when="@1.13.2:", type=("build", "run"))
+ depends_on("py-prometheus-client", type=("build", "run"))
# for windows depends_on pywinpty@:1, when='@1.13.2:'
- depends_on('py-pyzmq@17:', type=('build', 'run'))
- depends_on('py-requests-unixsocket', when='@:1.11.1', type=('build', 'run'))
- depends_on('py-send2trash', type=('build', 'run'))
- depends_on('py-terminado@0.8.3:', type=('build', 'run'))
- depends_on('py-tornado@6.1:', type=('build', 'run'))
- depends_on('py-traitlets@5.1:', when='@1.16:', type=('build', 'run'))
- depends_on('py-traitlets@5:', when='@1.13.3:', type=('build', 'run'))
- depends_on('py-traitlets@4.2.1:', type=('build', 'run'))
- depends_on('py-websocket-client', type=('build', 'run'))
+ depends_on("py-pyzmq@17:", type=("build", "run"))
+ depends_on("py-requests-unixsocket", when="@:1.11.1", type=("build", "run"))
+ depends_on("py-send2trash", type=("build", "run"))
+ depends_on("py-terminado@0.8.3:", type=("build", "run"))
+ depends_on("py-tornado@6.1:", type=("build", "run"))
+ depends_on("py-traitlets@5.1:", when="@1.16:", type=("build", "run"))
+ depends_on("py-traitlets@5:", when="@1.13.3:", type=("build", "run"))
+ depends_on("py-traitlets@4.2.1:", type=("build", "run"))
+ depends_on("py-websocket-client", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py b/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py
index 3358602f6b..963cd6acbf 100644
--- a/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py
@@ -8,16 +8,17 @@ from spack.package 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')
+ 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'))
+ 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-jupyter/package.py b/var/spack/repos/builtin/packages/py-jupyter/package.py
index 96b2e248f0..da21d44792 100644
--- a/var/spack/repos/builtin/packages/py-jupyter/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyter/package.py
@@ -12,13 +12,13 @@ class PyJupyter(PythonPackage):
homepage = "https://jupyter.org/"
pypi = "jupyter/jupyter-1.0.0.tar.gz"
- version('1.0.0', sha256='d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f')
+ version("1.0.0", sha256="d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-notebook', type=('build', 'run'))
- depends_on('py-qtconsole', type=('build', 'run'))
- depends_on('py-jupyter-console', type=('build', 'run'))
- depends_on('py-nbconvert', type=('build', 'run'))
- depends_on('py-ipykernel', type=('build', 'run'))
- depends_on('py-ipywidgets', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-notebook", type=("build", "run"))
+ depends_on("py-qtconsole", type=("build", "run"))
+ depends_on("py-jupyter-console", type=("build", "run"))
+ depends_on("py-nbconvert", type=("build", "run"))
+ depends_on("py-ipykernel", type=("build", "run"))
+ depends_on("py-ipywidgets", 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 68ca5a4e72..7cece3f99f 100644
--- a/var/spack/repos/builtin/packages/py-jupyterhub/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterhub/package.py
@@ -11,34 +11,34 @@ class PyJupyterhub(PythonPackage):
pypi = "jupyterhub/jupyterhub-1.0.0.tar.gz"
- tags = ['e4s']
+ tags = ["e4s"]
- version('1.4.1', sha256='ee1b0718a4db8e0b339796e3e50b704ca6822ab22a7435289dbb5932f65b5199')
- version('1.0.0', sha256='33541a515a041b9a518ca057c1c4ab4215a7450fdddc206401713ee8137fa67f')
- version('0.9.4', sha256='7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da')
+ version("1.4.1", sha256="ee1b0718a4db8e0b339796e3e50b704ca6822ab22a7435289dbb5932f65b5199")
+ version("1.0.0", sha256="33541a515a041b9a518ca057c1c4ab4215a7450fdddc206401713ee8137fa67f")
+ version("0.9.4", sha256="7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da")
- depends_on('py-alembic@1.4:', type=('build', 'run'), when='@1.4.1:')
- depends_on('py-alembic', 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-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-pamela', 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'))
+ depends_on("py-alembic@1.4:", type=("build", "run"), when="@1.4.1:")
+ depends_on("py-alembic", 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-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-pamela", 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"))
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
index 42fd52d628..8e3d616ce7 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py
@@ -13,8 +13,8 @@ class PyJupyterlabPygments(PythonPackage):
homepage = "https://jupyter.org/"
pypi = "jupyterlab-pygments/jupyterlab_pygments-0.1.1.tar.gz"
- version('0.1.2', sha256='cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146')
- version('0.1.1', sha256='19a0ccde7daddec638363cd3d60b63a4f6544c9181d65253317b2fb492a797b9')
+ version("0.1.2", sha256="cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146")
+ version("0.1.1", sha256="19a0ccde7daddec638363cd3d60b63a4f6544c9181d65253317b2fb492a797b9")
- depends_on('py-setuptools', type='build')
- depends_on('py-pygments@2.4.1:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pygments@2.4.1:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
index 084f61e0c2..1049bafe9a 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-server/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class PyJupyterlabServer(PythonPackage):
"""A set of server components for JupyterLab and JupyterLab
- like applications"""
+ like applications"""
homepage = "https://github.com/jupyterlab/jupyterlab_server"
pypi = "jupyterlab_server/jupyterlab_server-1.2.0.tar.gz"
- version('2.10.3', sha256='3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a')
- version('2.6.0', sha256='f300adf6bb0a952bebe9c807a3b2a345d62da39b476b4f69ea0dc6b5f3f6b97d')
- version('1.2.0', sha256='5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c')
- version('1.1.0', sha256='bac27e2ea40f686e592d6429877e7d46947ea76c08c878081b028c2c89f71733')
+ version("2.10.3", sha256="3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a")
+ version("2.6.0", sha256="f300adf6bb0a952bebe9c807a3b2a345d62da39b476b4f69ea0dc6b5f3f6b97d")
+ version("1.2.0", sha256="5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c")
+ version("1.1.0", sha256="bac27e2ea40f686e592d6429877e7d46947ea76c08c878081b028c2c89f71733")
- depends_on('python@3.6:', when='@2.5:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@2.5:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging11', type='build')
+ depends_on("py-jupyter-packaging11", type="build")
# depends_on('py-jupyter-packaging@0.9:0', type='build')
- depends_on('py-babel', when='@2.5.1:', type=('build', 'run'))
- depends_on('py-entrypoints@0.2.2:', when='@2.7:', type=('build', 'run'))
- depends_on('py-jinja2@2.10:', type=('build', 'run'))
- depends_on('py-json5', type=('build', 'run'))
- depends_on('py-jsonschema@3.0.1:', type=('build', 'run'))
- depends_on('py-packaging', when='@2.5.1:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-jupyter-server@1.4:1', when='@2.5.1:', type=('build', 'run'))
- depends_on('py-notebook@4.2.0:', when='@:2.5.0', type=('build', 'run'))
+ depends_on("py-babel", when="@2.5.1:", type=("build", "run"))
+ depends_on("py-entrypoints@0.2.2:", when="@2.7:", type=("build", "run"))
+ depends_on("py-jinja2@2.10:", type=("build", "run"))
+ depends_on("py-json5", type=("build", "run"))
+ depends_on("py-jsonschema@3.0.1:", type=("build", "run"))
+ depends_on("py-packaging", when="@2.5.1:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-jupyter-server@1.4:1", when="@2.5.1:", type=("build", "run"))
+ depends_on("py-notebook@4.2.0:", when="@:2.5.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py
index cb3daa1b5b..fb7656c800 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py
@@ -14,12 +14,20 @@ class PyJupyterlabWidgets(PythonPackage):
# https://github.com/jupyter-widgets/ipywidgets/issues/3324
url = "https://files.pythonhosted.org/packages/py3/j/jupyterlab_widgets/jupyterlab_widgets-1.0.2-py3-none-any.whl"
- version('1.1.0', sha256='c2a9bd3789f120f64d73268c066ed3b000c56bc1dda217be5cdc43e7b4ebad3f', expand=False)
- version('1.0.2', sha256='f5d9efface8ec62941173ba1cffb2edd0ecddc801c11ae2931e30b50492eb8f7', expand=False)
+ version(
+ "1.1.0",
+ sha256="c2a9bd3789f120f64d73268c066ed3b000c56bc1dda217be5cdc43e7b4ebad3f",
+ expand=False,
+ )
+ version(
+ "1.0.2",
+ sha256="f5d9efface8ec62941173ba1cffb2edd0ecddc801c11ae2931e30b50492eb8f7",
+ expand=False,
+ )
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@40.8.0:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@40.8.0:", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging7', type='build')
+ depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.9:0.7', type='build')
- depends_on('py-jupyterlab@3.0:3', type='build')
+ depends_on("py-jupyterlab@3.0:3", type="build")
diff --git a/var/spack/repos/builtin/packages/py-jupyterlab/package.py b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
index 389f22b22b..b6a51dd674 100644
--- a/var/spack/repos/builtin/packages/py-jupyterlab/package.py
+++ b/var/spack/repos/builtin/packages/py-jupyterlab/package.py
@@ -9,59 +9,59 @@ from spack.package import *
class PyJupyterlab(PythonPackage):
"""JupyterLab is the next-generation web-based user interface
- for Project Jupyter."""
+ for Project Jupyter."""
homepage = "https://github.com/jupyterlab/jupyterlab"
pypi = "jupyterlab/jupyterlab-2.2.7.tar.gz"
# Skip 'jupyterlab.tests' packages
- import_modules = ['jupyterlab', 'jupyterlab.handlers']
+ import_modules = ["jupyterlab", "jupyterlab.handlers"]
- version('3.4.2', sha256='38abd3a4f83a8f97e3f15bebbcc0825903c15519809eedfaa41340d260be2160')
- version('3.2.9', sha256='65ddc34e5da1a764606e38c4f70cf9d4ac1c05182813cf0ab2dfea312c701124')
- version('3.2.1', sha256='54466941bcd9b52f23373a32038fbb4e50fd652d4536df6179b53e1ffb8ef431')
- version('3.1.19', sha256='8853a6fa16179ae24b6277541b1619593e0e99da10b380cd72f391b549f59705')
- version('3.1.18', sha256='a43733acc3729557fc4758cff55652e52896e42c64c1f12540656ae7f298b806')
- version('3.1.14', sha256='13174cb6076dd5da6f1b85725ccfcc9518d8f98e86b8b644fc89b1dfaeda63a9')
- version('3.0.18', sha256='0e4bb4b89014607a16658b54f13df2f0af14f3c286109a0e14d5a46cbbe28caf')
- version('3.0.16', sha256='7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23')
- version('3.0.14', sha256='713a84991dfcca8c0bc260911f1bd54ac25a386a86285713b9555a60f795059b')
- version('2.2.7', sha256='a72ffd0d919cba03a5ef8422bc92c3332a957ff97b0490494209c83ad93826da')
- version('2.1.0', sha256='8c239aababf5baa0b3d36e375fddeb9fd96f3a9a24a8cda098d6a414f5bbdc81')
+ version("3.4.2", sha256="38abd3a4f83a8f97e3f15bebbcc0825903c15519809eedfaa41340d260be2160")
+ version("3.2.9", sha256="65ddc34e5da1a764606e38c4f70cf9d4ac1c05182813cf0ab2dfea312c701124")
+ version("3.2.1", sha256="54466941bcd9b52f23373a32038fbb4e50fd652d4536df6179b53e1ffb8ef431")
+ version("3.1.19", sha256="8853a6fa16179ae24b6277541b1619593e0e99da10b380cd72f391b549f59705")
+ version("3.1.18", sha256="a43733acc3729557fc4758cff55652e52896e42c64c1f12540656ae7f298b806")
+ version("3.1.14", sha256="13174cb6076dd5da6f1b85725ccfcc9518d8f98e86b8b644fc89b1dfaeda63a9")
+ version("3.0.18", sha256="0e4bb4b89014607a16658b54f13df2f0af14f3c286109a0e14d5a46cbbe28caf")
+ version("3.0.16", sha256="7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23")
+ version("3.0.14", sha256="713a84991dfcca8c0bc260911f1bd54ac25a386a86285713b9555a60f795059b")
+ version("2.2.7", sha256="a72ffd0d919cba03a5ef8422bc92c3332a957ff97b0490494209c83ad93826da")
+ version("2.1.0", sha256="8c239aababf5baa0b3d36e375fddeb9fd96f3a9a24a8cda098d6a414f5bbdc81")
- depends_on('python@3.7:', when='@3.3:', type=('build', 'run'))
- depends_on('python@3.6:', when='@3:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.7:", when="@3.3:", type=("build", "run"))
+ depends_on("python@3.6:", when="@3:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging11', when='@3.0.15:', type='build')
- depends_on('py-jupyter-packaging7', when='@3.0.0:3.0.14', type='build')
+ depends_on("py-jupyter-packaging11", when="@3.0.15:", type="build")
+ depends_on("py-jupyter-packaging7", when="@3.0.0:3.0.14", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@3.0.15:', type='build')
# depends_on('py-jupyter-packaging@0.7.3:0.7', when='@3.0.0:3.0.14',
# type=('build', 'run'))
- depends_on('py-pre-commit', when='@3.4:', type='build')
+ depends_on("py-pre-commit", when="@3.4:", type="build")
# dependency on py-jinja2@2.1 seems to be a migration issue from the switch
# to setup.cfg in 3.0.15, leave it a 2.10
- depends_on('py-jinja2@2.10:', type=('build', 'run'))
+ depends_on("py-jinja2@2.10:", type=("build", "run"))
# @3:
- depends_on('py-ipython', when='@3:', type=('build', 'run'))
- depends_on('py-packaging', when='@3:', type=('build', 'run'))
- depends_on('py-tornado@6.1:', when='@3:', type=('build', 'run'))
- depends_on('py-jupyter-core', when='@3:', type=('build', 'run'))
- depends_on('py-jupyterlab-server@2.10:2', when='@3.3:', type=('build', 'run'))
- depends_on('py-jupyterlab-server@2.3:2', when='@3.0.9:3.2', type=('build', 'run'))
- depends_on('py-jupyterlab-server@2.0:2', when='@3.0.0:3.0.8', type=('build', 'run'))
- depends_on('py-jupyter-server@1.16:1', when='@3.4:', type=('build', 'run'))
- depends_on('py-jupyter-server@1.4:1', when='@3.0.9:3.3', type=('build', 'run'))
- depends_on('py-jupyter-server@1.2:1', when='@3.0.3:3.0.8', type=('build', 'run'))
- depends_on('py-jupyter-server@1.1:1', when='@3.0.0:3.0.2', type=('build', 'run'))
- depends_on('py-nbclassic@0.2.0:0', when='@3:', type=('build', 'run'))
+ depends_on("py-ipython", when="@3:", type=("build", "run"))
+ depends_on("py-packaging", when="@3:", type=("build", "run"))
+ depends_on("py-tornado@6.1:", when="@3:", type=("build", "run"))
+ depends_on("py-jupyter-core", when="@3:", type=("build", "run"))
+ depends_on("py-jupyterlab-server@2.10:2", when="@3.3:", type=("build", "run"))
+ depends_on("py-jupyterlab-server@2.3:2", when="@3.0.9:3.2", type=("build", "run"))
+ depends_on("py-jupyterlab-server@2.0:2", when="@3.0.0:3.0.8", type=("build", "run"))
+ depends_on("py-jupyter-server@1.16:1", when="@3.4:", type=("build", "run"))
+ depends_on("py-jupyter-server@1.4:1", when="@3.0.9:3.3", type=("build", "run"))
+ depends_on("py-jupyter-server@1.2:1", when="@3.0.3:3.0.8", type=("build", "run"))
+ depends_on("py-jupyter-server@1.1:1", when="@3.0.0:3.0.2", type=("build", "run"))
+ depends_on("py-nbclassic@0.2.0:0", when="@3:", type=("build", "run"))
# @:2
- depends_on('py-notebook@4.3.1:', when='@:2', type=('build', 'run'))
- depends_on('py-tornado@:5,6.0.3:', when='@:2', type=('build', 'run'))
- depends_on('py-jupyterlab-server@1.1.5:1', when='@:2', type=('build', 'run'))
+ depends_on("py-notebook@4.3.1:", when="@:2", type=("build", "run"))
+ depends_on("py-tornado@:5,6.0.3:", when="@:2", type=("build", "run"))
+ depends_on("py-jupyterlab-server@1.1.5:1", when="@:2", type=("build", "run"))
def setup_run_environment(self, env):
- env.set('JUPYTERLAB_DIR', self.prefix.share.jupyter.lab)
+ env.set("JUPYTERLAB_DIR", self.prefix.share.jupyter.lab)
diff --git a/var/spack/repos/builtin/packages/py-jupytext/package.py b/var/spack/repos/builtin/packages/py-jupytext/package.py
index 4d9486670c..a7c52700b2 100644
--- a/var/spack/repos/builtin/packages/py-jupytext/package.py
+++ b/var/spack/repos/builtin/packages/py-jupytext/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class PyJupytext(PythonPackage):
- """Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts """
+ """Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts"""
homepage = "https://github.com/mwouts/jupytext/"
- git = "https://github.com/mwouts/jupytext/"
- pypi = "jupytext/jupytext-1.13.0.tar.gz"
+ git = "https://github.com/mwouts/jupytext/"
+ pypi = "jupytext/jupytext-1.13.0.tar.gz"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.13.6', sha256='c6c25918ddb6403d0d8504e08d35f6efc447baf0dbeb6a28b73adf39e866a0c4')
- version('1.13.0', sha256='fb220af65d2bd32d01c779b0e935c4c2b71e3f5f2f01bf1bab10d5f23fe121d4')
+ version("1.13.6", sha256="c6c25918ddb6403d0d8504e08d35f6efc447baf0dbeb6a28b73adf39e866a0c4")
+ version("1.13.0", sha256="fb220af65d2bd32d01c779b0e935c4c2b71e3f5f2f01bf1bab10d5f23fe121d4")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools@40.8.0:', type='build')
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-toml', type=('build', 'run'))
- depends_on('py-mdit-py-plugins', type=('build', 'run'))
- depends_on('py-markdown-it-py@1.0:1', type=('build', 'run'))
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools@40.8.0:", type="build")
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-toml", type=("build", "run"))
+ depends_on("py-mdit-py-plugins", type=("build", "run"))
+ depends_on("py-markdown-it-py@1.0:1", type=("build", "run"))
# todo: in order to use jupytext as a jupyterlab extension,
# some additional dependencies need to be added (and checked):
- depends_on('py-jupyterlab@3', type=('build', 'run'))
+ depends_on("py-jupyterlab@3", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging7', type='build')
+ depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.9:0.7', type='build')```
diff --git a/var/spack/repos/builtin/packages/py-kaggle/package.py b/var/spack/repos/builtin/packages/py-kaggle/package.py
index 8faa888677..33e4ef8526 100644
--- a/var/spack/repos/builtin/packages/py-kaggle/package.py
+++ b/var/spack/repos/builtin/packages/py-kaggle/package.py
@@ -12,15 +12,15 @@ class PyKaggle(PythonPackage):
modify the API functionality currently offered."""
homepage = "https://github.com/Kaggle/kaggle-api"
- pypi = "kaggle/kaggle-1.5.12.tar.gz"
+ pypi = "kaggle/kaggle-1.5.12.tar.gz"
- version('1.5.12', sha256='b4d87d107bff743aaa805c2b382c3661c4c175cdb159656d4972be2a9cef42cb')
+ version("1.5.12", sha256="b4d87d107bff743aaa805c2b382c3661c4c175cdb159656d4972be2a9cef42cb")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.10:', type=('build', 'run'))
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-python-slugify', type=('build', 'run'))
- depends_on('py-urllib3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.10:", type=("build", "run"))
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-python-slugify", type=("build", "run"))
+ depends_on("py-urllib3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kaldiio/package.py b/var/spack/repos/builtin/packages/py-kaldiio/package.py
index 443ed7183b..49d9b28b2e 100644
--- a/var/spack/repos/builtin/packages/py-kaldiio/package.py
+++ b/var/spack/repos/builtin/packages/py-kaldiio/package.py
@@ -10,10 +10,10 @@ class PyKaldiio(PythonPackage):
"""A pure python module for reading and writing kaldi ark files"""
homepage = "https://github.com/nttcslab-sp/kaldiio"
- pypi = "kaldiio/kaldiio-2.17.2.tar.gz"
+ pypi = "kaldiio/kaldiio-2.17.2.tar.gz"
- version('2.17.2', sha256='51bc2d805ed5b15403501d410adcb2e79fe2bd7f5ef63c20b4ddb345c6a8de01')
+ version("2.17.2", sha256="51bc2d805ed5b15403501d410adcb2e79fe2bd7f5ef63c20b4ddb345c6a8de01")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build")
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 0dda067f5c..193500bb5a 100644
--- a/var/spack/repos/builtin/packages/py-keras-applications/package.py
+++ b/var/spack/repos/builtin/packages/py-keras-applications/package.py
@@ -11,14 +11,14 @@ class PyKerasApplications(PythonPackage):
Keras depends on this package to run properly."""
homepage = "https://keras.io"
- url = "https://github.com/keras-team/keras-applications/archive/1.0.4.tar.gz"
+ url = "https://github.com/keras-team/keras-applications/archive/1.0.4.tar.gz"
- version('1.0.8', sha256='7c37f9e9ef93efac9b4956301cb21ce46c474ce9da41fac9a46753bab6823dfc')
- version('1.0.7', sha256='8580a885c8abe4bf8429cb0e551f23e79b14eda73d99138cfa1d355968dd4b0a')
- version('1.0.6', sha256='2cb412c97153160ec267b238e958d281ac3532b139cab42045c2d7086a157c21')
- version('1.0.4', sha256='37bd2f3ba9c0e0105c193999b1162fd99562cf43e5ef06c73932950ecc46d085')
- version('1.0.3', sha256='35b663a4933ee3c826a9349d19048221c997f0dd5ea24dd598c05cf90c72879d')
- version('1.0.2', sha256='6d8923876a7f7f2d459dd7efe3b10830f316f714b707f0c136e7f00c63035338')
- version('1.0.1', sha256='05ad1a73fddd22ed73ae59065b554e7ea13d05c3d4c6755ac166702b88686db5')
+ version("1.0.8", sha256="7c37f9e9ef93efac9b4956301cb21ce46c474ce9da41fac9a46753bab6823dfc")
+ version("1.0.7", sha256="8580a885c8abe4bf8429cb0e551f23e79b14eda73d99138cfa1d355968dd4b0a")
+ version("1.0.6", sha256="2cb412c97153160ec267b238e958d281ac3532b139cab42045c2d7086a157c21")
+ version("1.0.4", sha256="37bd2f3ba9c0e0105c193999b1162fd99562cf43e5ef06c73932950ecc46d085")
+ version("1.0.3", sha256="35b663a4933ee3c826a9349d19048221c997f0dd5ea24dd598c05cf90c72879d")
+ version("1.0.2", sha256="6d8923876a7f7f2d459dd7efe3b10830f316f714b707f0c136e7f00c63035338")
+ version("1.0.1", sha256="05ad1a73fddd22ed73ae59065b554e7ea13d05c3d4c6755ac166702b88686db5")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
index 605c387430..946238f14d 100644
--- a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
+++ b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
@@ -12,15 +12,15 @@ class PyKerasPreprocessing(PythonPackage):
homepage = "https://github.com/keras-team/keras-preprocessing"
pypi = "Keras-Preprocessing/Keras_Preprocessing-1.1.2.tar.gz"
- version('1.1.2', sha256='add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3')
- version('1.1.0', sha256='5a8debe01d840de93d49e05ccf1c9b81ae30e210d34dacbcc47aeb3049b528e5')
- version('1.0.9', sha256='5e3700117981c2db762e512ed6586638124fac5842170701628088a11aeb51ac')
- version('1.0.5', sha256='ef2e482c4336fcf7180244d06f4374939099daa3183816e82aee7755af35b754')
- version('1.0.4', sha256='452f8af8b2865e9d7d2f0dd5a3d0afd9e2ae2c6504f235b2447831c63303449f')
- version('1.0.3', sha256='02ba0a3b31ed89c4b0c21d55ba7d87529097d56f394e3850b6d3c9e6c63ce7ae')
- version('1.0.2', sha256='f5306554d2b454d825b36f35e327744f5477bd2ae21017f1a93b2097bed6757e')
- version('1.0.1', sha256='8649ba6377ecc06ea10e0a8a954df5600d115b4b626861e33c79b41ec03c5194')
+ version("1.1.2", sha256="add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3")
+ version("1.1.0", sha256="5a8debe01d840de93d49e05ccf1c9b81ae30e210d34dacbcc47aeb3049b528e5")
+ version("1.0.9", sha256="5e3700117981c2db762e512ed6586638124fac5842170701628088a11aeb51ac")
+ version("1.0.5", sha256="ef2e482c4336fcf7180244d06f4374939099daa3183816e82aee7755af35b754")
+ version("1.0.4", sha256="452f8af8b2865e9d7d2f0dd5a3d0afd9e2ae2c6504f235b2447831c63303449f")
+ version("1.0.3", sha256="02ba0a3b31ed89c4b0c21d55ba7d87529097d56f394e3850b6d3c9e6c63ce7ae")
+ version("1.0.2", sha256="f5306554d2b454d825b36f35e327744f5477bd2ae21017f1a93b2097bed6757e")
+ version("1.0.1", sha256="8649ba6377ecc06ea10e0a8a954df5600d115b4b626861e33c79b41ec03c5194")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-numpy@1.9.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-numpy@1.9.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py
index 0443509d59..2ea8697ce5 100644
--- a/var/spack/repos/builtin/packages/py-keras/package.py
+++ b/var/spack/repos/builtin/packages/py-keras/package.py
@@ -14,112 +14,114 @@ class PyKeras(PythonPackage):
homepage = "https://keras.io"
git = "https://github.com/keras-team/keras"
- url = 'https://github.com/keras-team/keras/archive/refs/tags/v2.7.0.tar.gz'
+ url = "https://github.com/keras-team/keras/archive/refs/tags/v2.7.0.tar.gz"
- version('2.7.0', sha256='7502746467ab15184e2e267f13fbb2c3f33ba24f8e02a097d229ba376dabaa04')
- version('2.6.0', sha256='15586a3f3e1ed9182e6e0d4c0dbd052dfb7250e779ceb7e24f8839db5c63fcae')
- version('2.5.0', commit='9c266106163390f173625c4e7b1ccb03ae145ffc')
- version('2.4.3', sha256='fedd729b52572fb108a98e3d97e1bac10a81d3917d2103cc20ab2a5f03beb973')
- version('2.2.4', sha256='90b610a3dbbf6d257b20a079eba3fdf2eed2158f64066a7c6f7227023fd60bc9')
- version('2.2.3', sha256='694aee60a6f8e0d3d6d3e4967e063b4623e3ca90032f023fd6d16bb5f81d18de')
- version('2.2.2', sha256='468d98da104ec5c3dbb10c2ef6bb345ab154f6ca2d722d4c250ef4d6105de17a')
- version('2.2.1', sha256='0d3cb14260a3fa2f4a5c4c9efa72226ffac3b4c50135ba6edaf2b3d1d23b11ee')
- version('2.2.0', sha256='5b8499d157af217f1a5ee33589e774127ebc3e266c833c22cb5afbb0ed1734bf')
- version('2.1.6', sha256='c14af1081242c25617ade7eb62121d58d01f16e1e744bae9fc4f1f95a417716e')
- version('2.1.5', sha256='907ad29add1fff27342a9f4fe3e60003d450d3af41a38f22f629c7736fc8399d')
- version('2.1.4', sha256='7ee1fcc79072ac904a4f008d715bcb78c60250ae3cd41d99e268c60ade8d0d3a')
- version('2.1.3', sha256='7ca3a381523bad40a6922e88951a316664cb088fd01cea07e5ec8ada3327e3c7')
- version('2.1.2', sha256='3ee56fc129d9d00b1916046e50056047836f97ada59df029e5661fb34442d5e8')
- version('2.1.1', sha256='f0ca2458c60d9711edf4291230b31795307ad3781cb6232ff4792b53c8f55123')
- version('2.1.0', sha256='67a0d66c20fff99312fc280e34c8f6dc3dbb027d4a33c13c79bec3c1173f6909')
- version('2.0.9', sha256='6b8572cf1b4a22fd0120b7c23382ba4fa04a6f0397e02af1249be9a7309d1767')
- version('2.0.8', sha256='899dc6aaed366f20100b9f80cf1093ea5b43eecc74afd1dc63a4e48dfa776ab9')
- version('2.0.7', sha256='a6c72ee2b94be1ffefe7e77b69582b9827211f0c356b2189459711844d3634c0')
- version('2.0.6', sha256='0519480abe4ad18b2c2d1bc580eab75edd82c95083d341a1157952f4b00019bb')
- version('2.0.5', sha256='cbce24758530e070fe1b403d6d21391cbea78c037b70bf6afc1ca9f1f8269eff')
- version('2.0.4', sha256='1cbe62af6821963321b275d5598fd94e63c11feaa1d4deaa79c9eb9ee0e1d68a')
- version('2.0.3', sha256='398dbd4a95e9d3ab2b2941d3e0c19362d397a2a6c3a667ab89d3d6aad30997f4')
- version('1.2.2', sha256='d2b18c4336eb9c4f0d03469870257efa7980a9b036c9d46dcf4d49e7f4487e2d')
- version('1.2.1', sha256='6adce75b2050608e6683c3046ef938bfdc5bfcd4c6b6c522df5e50d18e0ac7c6')
- version('1.2.0', sha256='33d5297cd0c280640dc5c075466995c05911bc1da35c83ae57b2a48188b605e2')
- version('1.1.2', sha256='cfde0a424961ead4982a7ebefd77d8ca382810b5a69b566fa64c57d8f340eeb4')
- version('1.1.1', sha256='be1b67f62e5119f6f24a239a865dc47e6d9aa93b97b506ba34cab7353dbc23b6')
- version('1.1.0', sha256='36d83b027ba9d2c9da8e1eefc28f600ca93dc03423e033b633cbac9061af8a5d')
+ version("2.7.0", sha256="7502746467ab15184e2e267f13fbb2c3f33ba24f8e02a097d229ba376dabaa04")
+ version("2.6.0", sha256="15586a3f3e1ed9182e6e0d4c0dbd052dfb7250e779ceb7e24f8839db5c63fcae")
+ version("2.5.0", commit="9c266106163390f173625c4e7b1ccb03ae145ffc")
+ version("2.4.3", sha256="fedd729b52572fb108a98e3d97e1bac10a81d3917d2103cc20ab2a5f03beb973")
+ version("2.2.4", sha256="90b610a3dbbf6d257b20a079eba3fdf2eed2158f64066a7c6f7227023fd60bc9")
+ version("2.2.3", sha256="694aee60a6f8e0d3d6d3e4967e063b4623e3ca90032f023fd6d16bb5f81d18de")
+ version("2.2.2", sha256="468d98da104ec5c3dbb10c2ef6bb345ab154f6ca2d722d4c250ef4d6105de17a")
+ version("2.2.1", sha256="0d3cb14260a3fa2f4a5c4c9efa72226ffac3b4c50135ba6edaf2b3d1d23b11ee")
+ version("2.2.0", sha256="5b8499d157af217f1a5ee33589e774127ebc3e266c833c22cb5afbb0ed1734bf")
+ version("2.1.6", sha256="c14af1081242c25617ade7eb62121d58d01f16e1e744bae9fc4f1f95a417716e")
+ version("2.1.5", sha256="907ad29add1fff27342a9f4fe3e60003d450d3af41a38f22f629c7736fc8399d")
+ version("2.1.4", sha256="7ee1fcc79072ac904a4f008d715bcb78c60250ae3cd41d99e268c60ade8d0d3a")
+ version("2.1.3", sha256="7ca3a381523bad40a6922e88951a316664cb088fd01cea07e5ec8ada3327e3c7")
+ version("2.1.2", sha256="3ee56fc129d9d00b1916046e50056047836f97ada59df029e5661fb34442d5e8")
+ version("2.1.1", sha256="f0ca2458c60d9711edf4291230b31795307ad3781cb6232ff4792b53c8f55123")
+ version("2.1.0", sha256="67a0d66c20fff99312fc280e34c8f6dc3dbb027d4a33c13c79bec3c1173f6909")
+ version("2.0.9", sha256="6b8572cf1b4a22fd0120b7c23382ba4fa04a6f0397e02af1249be9a7309d1767")
+ version("2.0.8", sha256="899dc6aaed366f20100b9f80cf1093ea5b43eecc74afd1dc63a4e48dfa776ab9")
+ version("2.0.7", sha256="a6c72ee2b94be1ffefe7e77b69582b9827211f0c356b2189459711844d3634c0")
+ version("2.0.6", sha256="0519480abe4ad18b2c2d1bc580eab75edd82c95083d341a1157952f4b00019bb")
+ version("2.0.5", sha256="cbce24758530e070fe1b403d6d21391cbea78c037b70bf6afc1ca9f1f8269eff")
+ version("2.0.4", sha256="1cbe62af6821963321b275d5598fd94e63c11feaa1d4deaa79c9eb9ee0e1d68a")
+ version("2.0.3", sha256="398dbd4a95e9d3ab2b2941d3e0c19362d397a2a6c3a667ab89d3d6aad30997f4")
+ version("1.2.2", sha256="d2b18c4336eb9c4f0d03469870257efa7980a9b036c9d46dcf4d49e7f4487e2d")
+ version("1.2.1", sha256="6adce75b2050608e6683c3046ef938bfdc5bfcd4c6b6c522df5e50d18e0ac7c6")
+ version("1.2.0", sha256="33d5297cd0c280640dc5c075466995c05911bc1da35c83ae57b2a48188b605e2")
+ version("1.1.2", sha256="cfde0a424961ead4982a7ebefd77d8ca382810b5a69b566fa64c57d8f340eeb4")
+ version("1.1.1", sha256="be1b67f62e5119f6f24a239a865dc47e6d9aa93b97b506ba34cab7353dbc23b6")
+ version("1.1.0", sha256="36d83b027ba9d2c9da8e1eefc28f600ca93dc03423e033b633cbac9061af8a5d")
- depends_on('python@3.6:', type=('build', 'run'), when='@2.4')
- depends_on('py-numpy@1.9.1:', type=('build', 'run'), when='@2.4')
- depends_on('py-scipy@0.14:', type=('build', 'run'), when='@2.4')
- depends_on('py-h5py', type=('build', 'run'), when='@2.4')
- depends_on('py-keras-applications', type='run', when='@2.2:2.4')
- depends_on('py-keras-preprocessing', type='run', when='@2.2:2.4')
- depends_on('py-setuptools', type='build')
- depends_on('py-theano', type=('build', 'run'), when='@:2.2')
- depends_on('py-pyyaml', type=('build', 'run'), when='@:2.4')
- depends_on('py-six', type=('build', 'run'), when='@:2.2')
- depends_on('py-tensorflow@2.5.0:2.5', type=('build', 'run'), when='@2.5.0:2.5')
- depends_on('py-tensorflow@2.6.0:2.6', type=('build', 'run'), when='@2.6.0:2.6')
- depends_on('py-tensorflow@2.7.0:2.7', type=('build', 'run'), when='@2.7.0:2.7')
- depends_on('bazel', type='build', when='@2.5.0:')
- depends_on('protobuf', type='build', when='@2.5.0:')
+ depends_on("python@3.6:", type=("build", "run"), when="@2.4")
+ depends_on("py-numpy@1.9.1:", type=("build", "run"), when="@2.4")
+ depends_on("py-scipy@0.14:", type=("build", "run"), when="@2.4")
+ depends_on("py-h5py", type=("build", "run"), when="@2.4")
+ depends_on("py-keras-applications", type="run", when="@2.2:2.4")
+ depends_on("py-keras-preprocessing", type="run", when="@2.2:2.4")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-theano", type=("build", "run"), when="@:2.2")
+ depends_on("py-pyyaml", type=("build", "run"), when="@:2.4")
+ depends_on("py-six", type=("build", "run"), when="@:2.2")
+ depends_on("py-tensorflow@2.5.0:2.5", type=("build", "run"), when="@2.5.0:2.5")
+ depends_on("py-tensorflow@2.6.0:2.6", type=("build", "run"), when="@2.6.0:2.6")
+ depends_on("py-tensorflow@2.7.0:2.7", type=("build", "run"), when="@2.7.0:2.7")
+ depends_on("bazel", type="build", when="@2.5.0:")
+ depends_on("protobuf", type="build", when="@2.5.0:")
def url_for_version(self, version):
- if version >= Version('2.6.0'):
+ if version >= Version("2.6.0"):
return super(PyKeras, self).url_for_version(version)
else:
- url = 'https://pypi.io/packages/source/K/Keras/Keras-{0}.tar.gz'
+ url = "https://pypi.io/packages/source/K/Keras/Keras-{0}.tar.gz"
return url.format(version.dotted)
- @when('@2.5.0:')
+ @when("@2.5.0:")
def patch(self):
- infile = join_path(self.package_dir, 'protobuf_build.patch')
- with open(infile, 'r') as source_file:
+ infile = join_path(self.package_dir, "protobuf_build.patch")
+ with open(infile, "r") as source_file:
text = source_file.read()
- with open('keras/keras.bzl', mode='a') as f:
+ with open("keras/keras.bzl", mode="a") as f:
f.write(text)
- filter_file('load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")',
- 'load("@org_keras//keras:keras.bzl", "py_proto_library")',
- 'keras/protobuf/BUILD',
- string=True)
+ filter_file(
+ 'load("@com_google_protobuf//:protobuf.bzl", "py_proto_library")',
+ 'load("@org_keras//keras:keras.bzl", "py_proto_library")',
+ "keras/protobuf/BUILD",
+ string=True,
+ )
- @when('@2.5.0:')
+ @when("@2.5.0:")
def install(self, spec, prefix):
- self.tmp_path = tempfile.mkdtemp(prefix='spack')
- env['HOME'] = self.tmp_path
+ self.tmp_path = tempfile.mkdtemp(prefix="spack")
+ env["HOME"] = self.tmp_path
args = [
# Don't allow user or system .bazelrc to override build settings
- '--nohome_rc',
- '--nosystem_rc',
+ "--nohome_rc",
+ "--nosystem_rc",
# Bazel does not work properly on NFS, switch to /tmp
- '--output_user_root=' + self.tmp_path,
- 'build',
+ "--output_user_root=" + self.tmp_path,
+ "build",
# Spack logs don't handle colored output well
- '--color=no',
- '--jobs={0}'.format(make_jobs),
+ "--color=no",
+ "--jobs={0}".format(make_jobs),
# Enable verbose output for failures
- '--verbose_failures',
+ "--verbose_failures",
# Show (formatted) subcommands being executed
- '--subcommands=pretty_print',
- '--spawn_strategy=local',
+ "--subcommands=pretty_print",
+ "--spawn_strategy=local",
# Ask bazel to explain what it's up to
# Needs a filename as argument
- '--explain=explainlogfile.txt',
+ "--explain=explainlogfile.txt",
# Increase verbosity of explanation,
- '--verbose_explanations',
+ "--verbose_explanations",
# bazel uses system PYTHONPATH instead of spack paths
- '--action_env', 'PYTHONPATH={0}'.format(env['PYTHONPATH']),
- '//keras/tools/pip_package:build_pip_package',
+ "--action_env",
+ "PYTHONPATH={0}".format(env["PYTHONPATH"]),
+ "//keras/tools/pip_package:build_pip_package",
]
bazel(*args)
- build_pip_package = Executable(
- 'bazel-bin/keras/tools/pip_package/build_pip_package')
- buildpath = join_path(self.stage.source_path, 'spack-build')
- build_pip_package('--src', buildpath)
+ build_pip_package = Executable("bazel-bin/keras/tools/pip_package/build_pip_package")
+ buildpath = join_path(self.stage.source_path, "spack-build")
+ build_pip_package("--src", buildpath)
with working_dir(buildpath):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
remove_linked_tree(self.tmp_path)
diff --git a/var/spack/repos/builtin/packages/py-keras2onnx/package.py b/var/spack/repos/builtin/packages/py-keras2onnx/package.py
index 71165763d8..1d503af24e 100644
--- a/var/spack/repos/builtin/packages/py-keras2onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-keras2onnx/package.py
@@ -11,14 +11,14 @@ class PyKeras2onnx(PythonPackage):
homepage = "https://github.com/onnx/keras-onnx"
- url = "https://github.com/onnx/keras-onnx/archive/refs/tags/v1.7.0.tar.gz"
+ url = "https://github.com/onnx/keras-onnx/archive/refs/tags/v1.7.0.tar.gz"
- version('1.7.0', sha256='8ec9c4e1c1f870d420934d1aa7cbc9faab80c6af366900bf95e5f48280c0d199')
+ version("1.7.0", sha256="8ec9c4e1c1f870d420934d1aa7cbc9faab80c6af366900bf95e5f48280c0d199")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-protobuf', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-onnx', type=('build', 'run'))
- depends_on('py-onnxconverter-common@1.7.0:', type=('build', 'run'))
- depends_on('py-fire', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-protobuf", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-onnx", type=("build", "run"))
+ depends_on("py-onnxconverter-common@1.7.0:", type=("build", "run"))
+ depends_on("py-fire", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kerberos/package.py b/var/spack/repos/builtin/packages/py-kerberos/package.py
index 06a4829952..307d82e465 100644
--- a/var/spack/repos/builtin/packages/py-kerberos/package.py
+++ b/var/spack/repos/builtin/packages/py-kerberos/package.py
@@ -18,8 +18,8 @@ class PyKerberos(PythonPackage):
homepage = "https://github.com/apple/ccs-pykerberos"
pypi = "kerberos/kerberos-1.3.0.tar.gz"
- version('1.3.0', sha256='f039b7dd4746df56f6102097b3dc250fe0078be75130b9dc4211a85a3b1ec6a4')
+ version("1.3.0", sha256="f039b7dd4746df56f6102097b3dc250fe0078be75130b9dc4211a85a3b1ec6a4")
- depends_on('py-setuptools', type='build')
- depends_on('keyutils', when='platform=linux')
- depends_on('krb5@1.3.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("keyutils", when="platform=linux")
+ depends_on("krb5@1.3.0:")
diff --git a/var/spack/repos/builtin/packages/py-keyboard/package.py b/var/spack/repos/builtin/packages/py-keyboard/package.py
index b3d474df27..4ca0d08b23 100644
--- a/var/spack/repos/builtin/packages/py-keyboard/package.py
+++ b/var/spack/repos/builtin/packages/py-keyboard/package.py
@@ -12,12 +12,12 @@ class PyKeyboard(PythonPackage):
simulate key presses and much more."""
homepage = "https://github.com/boppreh/keyboard"
- pypi = "keyboard/keyboard-0.13.5.zip"
+ pypi = "keyboard/keyboard-0.13.5.zip"
- version('0.13.5', sha256='63ed83305955939ca5c9a73755e5cc43e8242263f5ad5fd3bb7e0b032f3d308b')
+ version("0.13.5", sha256="63ed83305955939ca5c9a73755e5cc43e8242263f5ad5fd3bb7e0b032f3d308b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# depends_on('py-pyobjc', when='platform=darwin', type=('build', 'run'))
# Until py-pyobjc can be created, specifying conflict with platform=darwin
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
diff --git a/var/spack/repos/builtin/packages/py-keyring/package.py b/var/spack/repos/builtin/packages/py-keyring/package.py
index 3a94e0148a..9503f7d29b 100644
--- a/var/spack/repos/builtin/packages/py-keyring/package.py
+++ b/var/spack/repos/builtin/packages/py-keyring/package.py
@@ -12,33 +12,35 @@ class PyKeyring(PythonPackage):
storage."""
homepage = "https://github.com/jaraco/keyring"
- pypi = "keyring/keyring-23.0.1.tar.gz"
+ pypi = "keyring/keyring-23.0.1.tar.gz"
- version('23.5.0', sha256='9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9')
- version('23.2.1', sha256='6334aee6073db2fb1f30892697b1730105b5e9a77ce7e61fca6b435225493efe')
- version('23.2.0', sha256='1e1970dcecde00c59ff6033d69cee3b283cd0d7cbad78b0dc4cdd15c8a28bcf8')
- version('23.1.0', sha256='b7e0156667f5dcc73c1f63a518005cd18a4eb23fe77321194fefcc03748b21a4')
- version('23.0.1', sha256='045703609dd3fccfcdb27da201684278823b72af515aedec1a8515719a038cb8')
- version('21.7.0', sha256='a144f7e1044c897c3976202af868cb0ac860f4d433d5d0f8e750fa1a2f0f0b50')
- version('20.0.1', sha256='963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d')
- version('18.0.1', sha256='67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838')
+ version("23.5.0", sha256="9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9")
+ version("23.2.1", sha256="6334aee6073db2fb1f30892697b1730105b5e9a77ce7e61fca6b435225493efe")
+ version("23.2.0", sha256="1e1970dcecde00c59ff6033d69cee3b283cd0d7cbad78b0dc4cdd15c8a28bcf8")
+ version("23.1.0", sha256="b7e0156667f5dcc73c1f63a518005cd18a4eb23fe77321194fefcc03748b21a4")
+ version("23.0.1", sha256="045703609dd3fccfcdb27da201684278823b72af515aedec1a8515719a038cb8")
+ version("21.7.0", sha256="a144f7e1044c897c3976202af868cb0ac860f4d433d5d0f8e750fa1a2f0f0b50")
+ version("20.0.1", sha256="963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d")
+ version("18.0.1", sha256="67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838")
- depends_on('python@3.7:', when='@23.5:', type=('build', 'run'))
- depends_on('python@3.6:', when='@21:', type=('build', 'run'))
- depends_on('python@3.5:', when='@20:', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools@56:', when='@23.1:', type='build')
- depends_on('py-setuptools@42:', when='@21:', type='build')
- depends_on('py-setuptools@34.4:', type='build')
- depends_on('py-setuptools-scm@3.4.1:+toml', when='@21:', type='build')
- depends_on('py-setuptools-scm@1.15:', type='build')
- depends_on('py-entrypoints', when='@18', type=('build', 'run'))
- depends_on('py-secretstorage@3.2:', when='@21: platform=linux', type=('build', 'run'))
- depends_on('py-secretstorage@:2', when='@18 ^python@:3.4 platform=linux', type=('build', 'run'))
- depends_on('py-secretstorage', when='platform=linux', type=('build', 'run'))
- depends_on('py-jeepney@0.4.2:', when='@21: platform=linux', type=('build', 'run'))
- depends_on('py-importlib-metadata@3.6:', when='@23:', type=('build', 'run'))
- depends_on('py-importlib-metadata@1:', when='@21:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='@20:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@23.5:", type=("build", "run"))
+ depends_on("python@3.6:", when="@21:", type=("build", "run"))
+ depends_on("python@3.5:", when="@20:", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools@56:", when="@23.1:", type="build")
+ depends_on("py-setuptools@42:", when="@21:", type="build")
+ depends_on("py-setuptools@34.4:", type="build")
+ depends_on("py-setuptools-scm@3.4.1:+toml", when="@21:", type="build")
+ depends_on("py-setuptools-scm@1.15:", type="build")
+ depends_on("py-entrypoints", when="@18", type=("build", "run"))
+ depends_on("py-secretstorage@3.2:", when="@21: platform=linux", type=("build", "run"))
+ depends_on(
+ "py-secretstorage@:2", when="@18 ^python@:3.4 platform=linux", type=("build", "run")
+ )
+ depends_on("py-secretstorage", when="platform=linux", type=("build", "run"))
+ depends_on("py-jeepney@0.4.2:", when="@21: platform=linux", type=("build", "run"))
+ depends_on("py-importlib-metadata@3.6:", when="@23:", type=("build", "run"))
+ depends_on("py-importlib-metadata@1:", when="@21:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="@20:", type=("build", "run"))
# TODO: additional dependency on pywin32-ctypes required for Windows
diff --git a/var/spack/repos/builtin/packages/py-keyrings-alt/package.py b/var/spack/repos/builtin/packages/py-keyrings-alt/package.py
index 281857334c..04bf656916 100644
--- a/var/spack/repos/builtin/packages/py-keyrings-alt/package.py
+++ b/var/spack/repos/builtin/packages/py-keyrings-alt/package.py
@@ -10,11 +10,11 @@ class PyKeyringsAlt(PythonPackage):
"""Alternate keyring implementations"""
homepage = "https://github.com/jaraco/keyrings.alt"
- pypi = "keyrings.alt/keyrings.alt-4.0.2.tar.gz"
+ pypi = "keyrings.alt/keyrings.alt-4.0.2.tar.gz"
- version('4.1.0', sha256='52ccb61d6f16c10f32f30d38cceef7811ed48e086d73e3bae86f0854352c4ab2')
- version('4.0.2', sha256='cc475635099d6edd7e475c5a479e5b4da5e811a3af04495a1e9ada488d16fe25')
+ version("4.1.0", sha256="52ccb61d6f16c10f32f30d38cceef7811ed48e086d73e3bae86f0854352c4ab2")
+ version("4.0.2", sha256="cc475635099d6edd7e475c5a479e5b4da5e811a3af04495a1e9ada488d16fe25")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm+toml@3.4.1:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4.1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-keystoneauth1/package.py b/var/spack/repos/builtin/packages/py-keystoneauth1/package.py
index d64e129882..accb5f41b9 100644
--- a/var/spack/repos/builtin/packages/py-keystoneauth1/package.py
+++ b/var/spack/repos/builtin/packages/py-keystoneauth1/package.py
@@ -13,19 +13,19 @@ class PyKeystoneauth1(PythonPackage):
"""
homepage = "https://docs.openstack.org/keystoneauth/"
- pypi = "keystoneauth1/keystoneauth1-4.3.1.tar.gz"
+ pypi = "keystoneauth1/keystoneauth1-4.3.1.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('4.3.1', sha256='93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64')
+ version("4.3.1", sha256="93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-pbr@2.0.0:2.0,2.1.1:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("py-pbr@2.0.0:2.0,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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-kitchen/package.py b/var/spack/repos/builtin/packages/py-kitchen/package.py
index 2f30d744d5..25d3e34545 100644
--- a/var/spack/repos/builtin/packages/py-kitchen/package.py
+++ b/var/spack/repos/builtin/packages/py-kitchen/package.py
@@ -7,13 +7,12 @@ from spack.package import *
class PyKitchen(PythonPackage):
- """Kitchen contains a cornucopia of useful code
- """
+ """Kitchen contains a cornucopia of useful code"""
homepage = "https://fedorahosted.org/kitchen"
pypi = "kitchen/kitchen-1.2.6.tar.gz"
- version('1.2.6', sha256='b84cf582f1bd1556b60ebc7370b9d331eb9247b6b070ce89dfe959cba2c0b03c')
- version('1.1.1', sha256='25670f80bcbabd0656946125cfad310980d5a5900d6c160d4f0187292120284e')
+ version("1.2.6", sha256="b84cf582f1bd1556b60ebc7370b9d331eb9247b6b070ce89dfe959cba2c0b03c")
+ version("1.1.1", sha256="25670f80bcbabd0656946125cfad310980d5a5900d6c160d4f0187292120284e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-kiwisolver/package.py b/var/spack/repos/builtin/packages/py-kiwisolver/package.py
index 1769f648e4..3871ee61d6 100644
--- a/var/spack/repos/builtin/packages/py-kiwisolver/package.py
+++ b/var/spack/repos/builtin/packages/py-kiwisolver/package.py
@@ -12,16 +12,16 @@ class PyKiwisolver(PythonPackage):
homepage = "https://github.com/nucleic/kiwi"
pypi = "kiwisolver/kiwisolver-1.1.0.tar.gz"
- version('1.3.2', sha256='fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c')
- version('1.3.1', sha256='950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248')
- version('1.3.0', sha256='14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9')
- version('1.2.0', sha256='247800260cd38160c362d211dcaf4ed0f7816afb5efe56544748b21d6ad6d17f')
- version('1.1.0', sha256='53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75')
- version('1.0.1', sha256='ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278')
+ version("1.3.2", sha256="fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c")
+ version("1.3.1", sha256="950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248")
+ version("1.3.0", sha256="14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9")
+ version("1.2.0", sha256="247800260cd38160c362d211dcaf4ed0f7816afb5efe56544748b21d6ad6d17f")
+ version("1.1.0", sha256="53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75")
+ version("1.0.1", sha256="ce3be5d520b4d2c3e5eeb4cd2ef62b9b9ab8ac6b6fedbaa0e39cdb6f50644278")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.2.0:')
- depends_on('python@3.7:', type=('build', 'run'), when='@1.3.2:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.2.0:")
+ depends_on("python@3.7:", type=("build", "run"), when="@1.3.2:")
- depends_on('py-setuptools', type='build')
- depends_on('py-cppy@1.1.0:', type='build', when='@1.2.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cppy@1.1.0:", type="build", when="@1.2.0:")
diff --git a/var/spack/repos/builtin/packages/py-kmodes/package.py b/var/spack/repos/builtin/packages/py-kmodes/package.py
index 09f534d20e..e6b19ea281 100644
--- a/var/spack/repos/builtin/packages/py-kmodes/package.py
+++ b/var/spack/repos/builtin/packages/py-kmodes/package.py
@@ -13,11 +13,11 @@ class PyKmodes(PythonPackage):
homepage = "https://github.com/nicodv/kmodes"
pypi = "kmodes/kmodes-0.10.1.tar.gz"
- version('0.10.1', sha256='3222c2f672a6356be353955c02d1e38472d9f6074744b4ffb0c058e8c2235ea1')
+ version("0.10.1", sha256="3222c2f672a6356be353955c02d1e38472d9f6074744b4ffb0c058e8c2235ea1")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.10.4:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19.0:', type=('build', 'run'))
- depends_on('py-scipy@0.13.3:', type=('build', 'run'))
- depends_on('py-joblib@0.11:', type=('build', 'run'))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.10.4:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19.0:", type=("build", "run"))
+ depends_on("py-scipy@0.13.3:", type=("build", "run"))
+ depends_on("py-joblib@0.11:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-knack/package.py b/var/spack/repos/builtin/packages/py-knack/package.py
index 2ab2198eef..1c8eea3422 100644
--- a/var/spack/repos/builtin/packages/py-knack/package.py
+++ b/var/spack/repos/builtin/packages/py-knack/package.py
@@ -13,13 +13,13 @@ class PyKnack(PythonPackage):
homepage = "https://github.com/microsoft/knack"
pypi = "knack/knack-0.7.1.tar.gz"
- version('0.7.1', sha256='fcef6040164ebe7d69629e4e089b398c9b980791446496301befcf8381dba0fc')
+ version("0.7.1", sha256="fcef6040164ebe7d69629e4e089b398c9b980791446496301befcf8381dba0fc")
- depends_on('py-setuptools', type='build')
- depends_on('py-argcomplete', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-jmespath', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-argcomplete", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-jmespath", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kombu/package.py b/var/spack/repos/builtin/packages/py-kombu/package.py
index a5929df46e..431a7e4c95 100644
--- a/var/spack/repos/builtin/packages/py-kombu/package.py
+++ b/var/spack/repos/builtin/packages/py-kombu/package.py
@@ -11,25 +11,25 @@ class PyKombu(PythonPackage):
pypi = "kombu/kombu-4.3.0.tar.gz"
- version('5.2.3', sha256='81a90c1de97e08d3db37dbf163eaaf667445e1068c98bfd89f051a40e9f6dbbd')
- version('5.0.2', sha256='f4965fba0a4718d47d470beeb5d6446e3357a62402b16c510b6a2f251e05ac3c')
- version('4.6.11', sha256='ca1b45faac8c0b18493d02a8571792f3c40291cf2bcf1f55afed3d8f3aa7ba74')
- version('4.6.6', sha256='1760b54b1d15a547c9a26d3598a1c8cdaf2436386ac1f5561934bc8a3cbbbd86')
- version('4.5.0', sha256='389ba09e03b15b55b1a7371a441c894fd8121d174f5583bbbca032b9ea8c9edd')
- version('4.3.0', sha256='529df9e0ecc0bad9fc2b376c3ce4796c41b482cf697b78b71aea6ebe7ca353c8')
-
- depends_on('python@3.7:', type=('build', 'run'), when="@5.2.3:")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
-
- variant('redis', default=False, description="Use redis transport")
-
- depends_on('py-setuptools', type='build')
- depends_on('py-amqp@2.5.2:2.5', when="@:4.6.6", type=('build', 'run'))
- depends_on('py-amqp@2.6.0:2.6', when="@4.6.7:4", type=('build', 'run'))
- depends_on('py-amqp@5.0.0:5', when="@5.0.0:5.0.2", type=('build', 'run'))
- depends_on('py-amqp@5.0.9:5.0', when="@5.2.3", type=('build', 'run'))
- depends_on('py-vine', when="@5.1.0:", type=('build', 'run'))
- depends_on('py-importlib-metadata@0.18:', type=('build', 'run'), when='python@:3.7')
- depends_on('py-cached-property', type=('build', 'run'), when='python@:3.7')
-
- depends_on('py-redis@3.4.1:3,4.0.2:', when='+redis', type=('build', 'run'))
+ version("5.2.3", sha256="81a90c1de97e08d3db37dbf163eaaf667445e1068c98bfd89f051a40e9f6dbbd")
+ version("5.0.2", sha256="f4965fba0a4718d47d470beeb5d6446e3357a62402b16c510b6a2f251e05ac3c")
+ version("4.6.11", sha256="ca1b45faac8c0b18493d02a8571792f3c40291cf2bcf1f55afed3d8f3aa7ba74")
+ version("4.6.6", sha256="1760b54b1d15a547c9a26d3598a1c8cdaf2436386ac1f5561934bc8a3cbbbd86")
+ version("4.5.0", sha256="389ba09e03b15b55b1a7371a441c894fd8121d174f5583bbbca032b9ea8c9edd")
+ version("4.3.0", sha256="529df9e0ecc0bad9fc2b376c3ce4796c41b482cf697b78b71aea6ebe7ca353c8")
+
+ depends_on("python@3.7:", type=("build", "run"), when="@5.2.3:")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+
+ variant("redis", default=False, description="Use redis transport")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-amqp@2.5.2:2.5", when="@:4.6.6", type=("build", "run"))
+ depends_on("py-amqp@2.6.0:2.6", when="@4.6.7:4", type=("build", "run"))
+ depends_on("py-amqp@5.0.0:5", when="@5.0.0:5.0.2", type=("build", "run"))
+ depends_on("py-amqp@5.0.9:5.0", when="@5.2.3", type=("build", "run"))
+ depends_on("py-vine", when="@5.1.0:", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.18:", type=("build", "run"), when="python@:3.7")
+ depends_on("py-cached-property", type=("build", "run"), when="python@:3.7")
+
+ depends_on("py-redis@3.4.1:3,4.0.2:", when="+redis", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kornia/package.py b/var/spack/repos/builtin/packages/py-kornia/package.py
index 2b792ca0cd..6905e52dbe 100644
--- a/var/spack/repos/builtin/packages/py-kornia/package.py
+++ b/var/spack/repos/builtin/packages/py-kornia/package.py
@@ -10,19 +10,19 @@ class PyKornia(PythonPackage):
"""Open Source Differentiable Computer Vision Library for PyTorch."""
homepage = "https://www.kornia.org/"
- pypi = "kornia/kornia-0.5.10.tar.gz"
+ pypi = "kornia/kornia-0.5.10.tar.gz"
- version('0.6.6', sha256='e29f0f994e3bafec016b101a9a3e89c3751b4fe99ada3ac21d3febb47904faa4')
- version('0.6.5', sha256='14cbd8b4064b3d0fb5a8198d1b5fd9231bcd62b9039351641fca6b294b5069f0')
- version('0.6.4', sha256='ff60307a7244b315db43bfc4d4d6769094cf7d7494cf367c1d71a56343e2c50f')
- version('0.6.3', sha256='0b689b5a47f55f2b08f61e6731760542cc3e3c09c3f0498164b934a3aef0bab3')
- version('0.6.2', sha256='eea722b3ff2f227a9ef8088cdab480cd40dd91d9138649bfd92cfa668204eea9')
- version('0.6.1', sha256='f638fb3309f88666545866c162f510b6d485fd8f7131d5570d4e6c0d295fdcd6')
- version('0.5.10', sha256='428b4b934a2ba7360cc6cba051ed8fd96c2d0f66611fdca0834e82845f14f65d')
+ version("0.6.6", sha256="e29f0f994e3bafec016b101a9a3e89c3751b4fe99ada3ac21d3febb47904faa4")
+ version("0.6.5", sha256="14cbd8b4064b3d0fb5a8198d1b5fd9231bcd62b9039351641fca6b294b5069f0")
+ version("0.6.4", sha256="ff60307a7244b315db43bfc4d4d6769094cf7d7494cf367c1d71a56343e2c50f")
+ version("0.6.3", sha256="0b689b5a47f55f2b08f61e6731760542cc3e3c09c3f0498164b934a3aef0bab3")
+ version("0.6.2", sha256="eea722b3ff2f227a9ef8088cdab480cd40dd91d9138649bfd92cfa668204eea9")
+ version("0.6.1", sha256="f638fb3309f88666545866c162f510b6d485fd8f7131d5570d4e6c0d295fdcd6")
+ version("0.5.10", sha256="428b4b934a2ba7360cc6cba051ed8fd96c2d0f66611fdca0834e82845f14f65d")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-torch@1.6.0:', type=('build', 'run'))
- depends_on('py-torch@1.8.1:', when='@0.6:', type=('build', 'run'))
- depends_on('py-packaging', when='@0.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-torch@1.6.0:", type=("build", "run"))
+ depends_on("py-torch@1.8.1:", when="@0.6:", type=("build", "run"))
+ depends_on("py-packaging", when="@0.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kosh/package.py b/var/spack/repos/builtin/packages/py-kosh/package.py
index a7f95c7d68..6e05f430ea 100644
--- a/var/spack/repos/builtin/packages/py-kosh/package.py
+++ b/var/spack/repos/builtin/packages/py-kosh/package.py
@@ -18,12 +18,12 @@ class PyKosh(PythonPackage):
url = "https://github.com/LLNL/kosh/archive/refs/tags/v2.0.tar.gz"
# notify when the package is updated.
- maintainers = ['doutriaux1']
+ maintainers = ["doutriaux1"]
- version('2.1', sha256='597ed5beb4c3c3675b4af15ee7bfb60a463d5bda2222cd927061737ed073d562')
- version('2.0', sha256='059e431e3d3219b53956cb464d9e10933ca141dc89662f55d9c633e35c8b3a1e')
+ version("2.1", sha256="597ed5beb4c3c3675b4af15ee7bfb60a463d5bda2222cd927061737ed073d562")
+ version("2.0", sha256="059e431e3d3219b53956cb464d9e10933ca141dc89662f55d9c633e35c8b3a1e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
depends_on("py-llnl-sina@1.11:", type=("build", "run"))
depends_on("py-networkx", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-kubernetes/package.py b/var/spack/repos/builtin/packages/py-kubernetes/package.py
index 2623eac0f8..982072a93f 100644
--- a/var/spack/repos/builtin/packages/py-kubernetes/package.py
+++ b/var/spack/repos/builtin/packages/py-kubernetes/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class PyKubernetes(PythonPackage):
- """Official Python client library for kubernetes. """
+ """Official Python client library for kubernetes."""
homepage = "https://kubernetes.io"
- git = "https://github.com/kubernetes-client/python.git"
+ git = "https://github.com/kubernetes-client/python.git"
pypi = "kubernetes/kubernetes-17.17.0.tar.gz"
- maintainers = ['vvolkl']
-
- version('21.7.0', sha256='c9849afc2eafdce60efa210049ee7a94e7ef6cf3a7afa14a69b3bf0447825977')
- version('20.13.0', sha256='ce5e881c13dc56f21a243804f90bc3c507af93c380f505c00e392c823968e4de')
- version('19.15.0', sha256='08c93f300a9837104282ecc81458b903a56444c5c1ec3d990d237557312af47f')
- version('18.20.0', sha256='0c72d00e7883375bd39ae99758425f5e6cb86388417cf7cc84305c211b2192cf')
- version('17.17.0', sha256='c69b318696ba797dcf63eb928a8d4370c52319f4140023c502d7dfdf2080eb79')
- version('12.0.1', sha256='ec52ea01d52e2ec3da255992f7e859f3a76f2bdb51cf65ba8cd71dfc309d8daa')
- version('12.0.0', sha256='72f095a1cd593401ff26b3b8d71749340394ca6d8413770ea28ce18efd5bcf4c')
- version('11.0.0', sha256='1a2472f8b01bc6aa87e3a34781f859bded5a5c8ff791a53d889a8bd6cc550430')
- version('10.1.0', sha256='85a767d04f17d6d317374b6c35e09eb168a6bfd9276f0b3177cc206376bad968')
- version('10.0.1', sha256='3770a496663396ad1def665eeadb947b3f45217a08b64b10c01a57e981ac8592')
- version('9.0.0', sha256='a8b0aed55ba946faea660712595a52ae53a8854df773d96f47a63fa0c9d4e3bf')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-certifi@14.05.14:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.5.3:', type=('build', 'run'))
- depends_on('py-setuptools@21.0.0:', type=('build'))
- depends_on('py-pyyaml@3.12:', when='@:18.19', type=('build', 'run'))
- depends_on('py-pyyaml@5.4.1:', when='@18.20.0:', type=('build', 'run'))
- depends_on('py-google-auth@1.0.1:', type=('build', 'run'))
- depends_on('py-ipaddress@1.0.17:', when='^python@:2.8', type=('build', 'run'))
- depends_on('py-websocket-client@0.32:0.39,0.43:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-requests-oauthlib', type=('build', 'run'))
- depends_on('py-urllib3@1.24.2:', type=('build', 'run'))
+ maintainers = ["vvolkl"]
+
+ version("21.7.0", sha256="c9849afc2eafdce60efa210049ee7a94e7ef6cf3a7afa14a69b3bf0447825977")
+ version("20.13.0", sha256="ce5e881c13dc56f21a243804f90bc3c507af93c380f505c00e392c823968e4de")
+ version("19.15.0", sha256="08c93f300a9837104282ecc81458b903a56444c5c1ec3d990d237557312af47f")
+ version("18.20.0", sha256="0c72d00e7883375bd39ae99758425f5e6cb86388417cf7cc84305c211b2192cf")
+ version("17.17.0", sha256="c69b318696ba797dcf63eb928a8d4370c52319f4140023c502d7dfdf2080eb79")
+ version("12.0.1", sha256="ec52ea01d52e2ec3da255992f7e859f3a76f2bdb51cf65ba8cd71dfc309d8daa")
+ version("12.0.0", sha256="72f095a1cd593401ff26b3b8d71749340394ca6d8413770ea28ce18efd5bcf4c")
+ version("11.0.0", sha256="1a2472f8b01bc6aa87e3a34781f859bded5a5c8ff791a53d889a8bd6cc550430")
+ version("10.1.0", sha256="85a767d04f17d6d317374b6c35e09eb168a6bfd9276f0b3177cc206376bad968")
+ version("10.0.1", sha256="3770a496663396ad1def665eeadb947b3f45217a08b64b10c01a57e981ac8592")
+ version("9.0.0", sha256="a8b0aed55ba946faea660712595a52ae53a8854df773d96f47a63fa0c9d4e3bf")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-certifi@14.05.14:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.5.3:", type=("build", "run"))
+ depends_on("py-setuptools@21.0.0:", type=("build"))
+ depends_on("py-pyyaml@3.12:", when="@:18.19", type=("build", "run"))
+ depends_on("py-pyyaml@5.4.1:", when="@18.20.0:", type=("build", "run"))
+ depends_on("py-google-auth@1.0.1:", type=("build", "run"))
+ depends_on("py-ipaddress@1.0.17:", when="^python@:2.8", type=("build", "run"))
+ depends_on("py-websocket-client@0.32:0.39,0.43:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-requests-oauthlib", type=("build", "run"))
+ depends_on("py-urllib3@1.24.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-labours/package.py b/var/spack/repos/builtin/packages/py-labours/package.py
index 6384434602..82b0597201 100644
--- a/var/spack/repos/builtin/packages/py-labours/package.py
+++ b/var/spack/repos/builtin/packages/py-labours/package.py
@@ -11,24 +11,24 @@ class PyLabours(PythonPackage):
"""Python module dependency visualization."""
homepage = "https://github.com/src-d/hercules"
- url = "https://github.com/src-d/hercules/archive/v10.7.2.tar.gz"
-
- version('10.7.2', sha256='4654dcfb1eee5af1610fd05677c6734c2ca1161535fcc14d3933d6debda4bc34')
-
- build_directory = 'python'
-
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-matplotlib@2.0:3', type=('build', 'run'))
- depends_on('py-numpy@1.12.0:1', type=('build', 'run'))
- depends_on('py-pandas@0.20.0:0', type=('build', 'run'))
- depends_on('py-pyyaml@3.0:5', type=('build', 'run'))
- depends_on('py-scipy@0.19.0:1.2.1', type=('build', 'run'))
- depends_on('py-protobuf@3.5.0:3', type=('build', 'run'))
- depends_on('py-munch@2.0:2', type=('build', 'run'))
- depends_on('py-python-dateutil@2.6.0:2', type=('build', 'run'))
- depends_on('py-tqdm@4.3:4', type=('build', 'run'))
-
- depends_on('py-hdbscan@0.8.0:1', type=('build', 'run'))
- depends_on('py-seriate@1.1.2:1', type=('build', 'run'))
- depends_on('py-fastdtw@0.3.2:1', type=('build', 'run'))
- depends_on('py-lifelines@0.20.0:1', type=('build', 'run'))
+ url = "https://github.com/src-d/hercules/archive/v10.7.2.tar.gz"
+
+ version("10.7.2", sha256="4654dcfb1eee5af1610fd05677c6734c2ca1161535fcc14d3933d6debda4bc34")
+
+ build_directory = "python"
+
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-matplotlib@2.0:3", type=("build", "run"))
+ depends_on("py-numpy@1.12.0:1", type=("build", "run"))
+ depends_on("py-pandas@0.20.0:0", type=("build", "run"))
+ depends_on("py-pyyaml@3.0:5", type=("build", "run"))
+ depends_on("py-scipy@0.19.0:1.2.1", type=("build", "run"))
+ depends_on("py-protobuf@3.5.0:3", type=("build", "run"))
+ depends_on("py-munch@2.0:2", type=("build", "run"))
+ depends_on("py-python-dateutil@2.6.0:2", type=("build", "run"))
+ depends_on("py-tqdm@4.3:4", type=("build", "run"))
+
+ depends_on("py-hdbscan@0.8.0:1", type=("build", "run"))
+ depends_on("py-seriate@1.1.2:1", type=("build", "run"))
+ depends_on("py-fastdtw@0.3.2:1", type=("build", "run"))
+ depends_on("py-lifelines@0.20.0:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lap/package.py b/var/spack/repos/builtin/packages/py-lap/package.py
index 0c634a5b11..d8e5db66a7 100644
--- a/var/spack/repos/builtin/packages/py-lap/package.py
+++ b/var/spack/repos/builtin/packages/py-lap/package.py
@@ -15,7 +15,7 @@ class PyLap(PythonPackage):
homepage = "https://github.com/gatagat/lap"
pypi = "lap/lap-0.4.0.tar.gz"
- version('0.4.0', sha256='c4dad9976f0e9f276d8a676a6d03632c3cb7ab7c80142e3b27303d49f0ed0e3b')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.21:', type='build')
- depends_on('py-numpy@1.10.1:', type=('build', 'run'))
+ version("0.4.0", sha256="c4dad9976f0e9f276d8a676a6d03632c3cb7ab7c80142e3b27303d49f0ed0e3b")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.21:", type="build")
+ depends_on("py-numpy@1.10.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lark-parser/package.py b/var/spack/repos/builtin/packages/py-lark-parser/package.py
index e1e691f01a..103960481d 100644
--- a/var/spack/repos/builtin/packages/py-lark-parser/package.py
+++ b/var/spack/repos/builtin/packages/py-lark-parser/package.py
@@ -12,8 +12,20 @@ class PyLarkParser(PythonPackage):
homepage = "https://github.com/lark-parser/lark/"
pypi = "lark-parser/lark-parser-0.6.2.tar.gz"
- version('0.11.3', sha256='e29ca814a98bb0f81674617d878e5f611cb993c19ea47f22c80da3569425f9bd', deprecated=True)
- version('0.7.1', sha256='8455e05d062fa7f9d59a2735583cf02291545f944955c4056bf1144c4e625344', deprecated=True)
- version('0.6.2', sha256='7e2934371e0e3a5daf9afc2e3ddda76117cabcd3c3f2edf7987c1e4e9b9e503c', deprecated=True)
+ version(
+ "0.11.3",
+ sha256="e29ca814a98bb0f81674617d878e5f611cb993c19ea47f22c80da3569425f9bd",
+ deprecated=True,
+ )
+ version(
+ "0.7.1",
+ sha256="8455e05d062fa7f9d59a2735583cf02291545f944955c4056bf1144c4e625344",
+ deprecated=True,
+ )
+ version(
+ "0.6.2",
+ sha256="7e2934371e0e3a5daf9afc2e3ddda76117cabcd3c3f2edf7987c1e4e9b9e503c",
+ deprecated=True,
+ )
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lark/package.py b/var/spack/repos/builtin/packages/py-lark/package.py
index 60b58c3c02..b6ee846c89 100644
--- a/var/spack/repos/builtin/packages/py-lark/package.py
+++ b/var/spack/repos/builtin/packages/py-lark/package.py
@@ -12,15 +12,15 @@ class PyLark(PythonPackage):
homepage = "https://github.com/lark-parser/lark/"
pypi = "lark/lark-1.0.0.tar.gz"
- version('1.1.2', sha256='7a8d0c07d663da9391d7faee1bf1d7df4998c47ca43a593cbef5c7566acd057a')
- version('1.1.1', sha256='5115193433051f079374c4f81059fa4bf2afa78cc87dd87817ed4435e8647c82')
- version('1.1.0', sha256='669eab99a9627b2b9e0c6fb97f23113c64d673c93d804bca40b05b2a765f13c0')
- version('1.0.0', sha256='2269dee215e6c689d5ce9d34fdc6e749d0c1c763add3fc7935938ebd7da159cb')
- version('0.12.0', sha256='7da76fcfddadabbbbfd949bbae221efd33938451d90b1fefbbc423c3cccf48ef')
- version('0.11.3', sha256='3100d9749b5a85735ec428b83100876a5da664804579e729c23a36341f961e7e')
- version('0.11.1', sha256='f2c6ed79ae128a89714bbaa4a6ecb61b6eec84d1b5d63b9195ad461762f96298')
- version('0.11.0', sha256='29868417eb190fe7d6b1ff6bcd9446903e0c73a1ca69cec58c92a01cae0abc24')
- version('0.10.1', sha256='98f2c6f8e41fe601fd103476eb759ac1ad4d3dc8094633133a16cef5a32b0f65')
+ version("1.1.2", sha256="7a8d0c07d663da9391d7faee1bf1d7df4998c47ca43a593cbef5c7566acd057a")
+ version("1.1.1", sha256="5115193433051f079374c4f81059fa4bf2afa78cc87dd87817ed4435e8647c82")
+ version("1.1.0", sha256="669eab99a9627b2b9e0c6fb97f23113c64d673c93d804bca40b05b2a765f13c0")
+ version("1.0.0", sha256="2269dee215e6c689d5ce9d34fdc6e749d0c1c763add3fc7935938ebd7da159cb")
+ version("0.12.0", sha256="7da76fcfddadabbbbfd949bbae221efd33938451d90b1fefbbc423c3cccf48ef")
+ version("0.11.3", sha256="3100d9749b5a85735ec428b83100876a5da664804579e729c23a36341f961e7e")
+ version("0.11.1", sha256="f2c6ed79ae128a89714bbaa4a6ecb61b6eec84d1b5d63b9195ad461762f96298")
+ version("0.11.0", sha256="29868417eb190fe7d6b1ff6bcd9446903e0c73a1ca69cec58c92a01cae0abc24")
+ version("0.10.1", sha256="98f2c6f8e41fe601fd103476eb759ac1ad4d3dc8094633133a16cef5a32b0f65")
- depends_on('python@3.6:', when='@1.0.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@1.0.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-laspy/package.py b/var/spack/repos/builtin/packages/py-laspy/package.py
index a168edd974..ed4bb24921 100644
--- a/var/spack/repos/builtin/packages/py-laspy/package.py
+++ b/var/spack/repos/builtin/packages/py-laspy/package.py
@@ -10,12 +10,12 @@ class PyLaspy(PythonPackage):
"""Native Python ASPRS LAS read/write library."""
homepage = "https://github.com/laspy/laspy"
- pypi = "laspy/laspy-2.0.3.tar.gz"
+ pypi = "laspy/laspy-2.0.3.tar.gz"
- version('2.2.0', sha256='69d36f01acecd719cbe3c3cf58353f247f391ccadb1da37731d45bfe919685df')
- version('2.0.3', sha256='95c6367bc3a7c1e0d8dc118ae4a6b038bf9e8ad3e60741ecb8d59c36d32f822a')
+ version("2.2.0", sha256="69d36f01acecd719cbe3c3cf58353f247f391ccadb1da37731d45bfe919685df")
+ version("2.0.3", sha256="95c6367bc3a7c1e0d8dc118ae4a6b038bf9e8ad3e60741ecb8d59c36d32f822a")
- depends_on('python@3.7:', when='@2.2:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("python@3.7:", when="@2.2:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-latexcodec/package.py b/var/spack/repos/builtin/packages/py-latexcodec/package.py
index 2c2f42a1ad..0ec96cc98f 100644
--- a/var/spack/repos/builtin/packages/py-latexcodec/package.py
+++ b/var/spack/repos/builtin/packages/py-latexcodec/package.py
@@ -12,7 +12,7 @@ class PyLatexcodec(PythonPackage):
homepage = "https://latexcodec.readthedocs.io"
pypi = "latexcodec/latexcodec-1.0.4.tar.gz"
- version('1.0.4', sha256='62bf8a3ee298f169a4d014dad5522bc1325b54dc98789a453fd338620387cb6c')
+ version("1.0.4", sha256="62bf8a3ee298f169a4d014dad5522bc1325b54dc98789a453fd338620387cb6c")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.4.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.4.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-law/package.py b/var/spack/repos/builtin/packages/py-law/package.py
index c3a5ef0d1f..d1f8b18d58 100644
--- a/var/spack/repos/builtin/packages/py-law/package.py
+++ b/var/spack/repos/builtin/packages/py-law/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyLaw(PythonPackage):
"""Build large-scale task workflows using luigi,
- remote job submission, remote targets, and environment"""
+ remote job submission, remote targets, and environment"""
homepage = "https://github.com/riga/law"
- pypi = "law/law-0.1.6.tar.gz"
+ pypi = "law/law-0.1.6.tar.gz"
- version('0.1.6', sha256='17c2c1837080590bff4d2e7228bfb418733f11b60e2bac8f589e68da78cf2ab8')
+ version("0.1.6", sha256="17c2c1837080590bff4d2e7228bfb418733f11b60e2bac8f589e68da78cf2ab8")
- depends_on('python@2.7:2,3.3:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.13:', type=('build', 'run'))
- depends_on('py-luigi@2.8.2:2', type=('build', 'run'), when='^python@:2.7')
- depends_on('py-luigi@2.8.2:', type=('build', 'run'), when='^python@3:')
+ depends_on("python@2.7:2,3.3:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.13:", type=("build", "run"))
+ depends_on("py-luigi@2.8.2:2", type=("build", "run"), when="^python@:2.7")
+ depends_on("py-luigi@2.8.2:", type=("build", "run"), when="^python@3:")
diff --git a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
index 89b4485c14..124de170ba 100644
--- a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
@@ -12,17 +12,17 @@ class PyLazyObjectProxy(PythonPackage):
homepage = "https://github.com/ionelmc/python-lazy-object-proxy"
pypi = "lazy-object-proxy/lazy-object-proxy-1.3.1.tar.gz"
- version('1.7.1', sha256='d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4')
- version('1.7.0', sha256='2185392631e9d1733749d06ee5210438908d46cc04666a0eba5679d885754894')
- version('1.6.0', sha256='489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726')
- version('1.4.3', sha256='f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0')
- version('1.3.1', sha256='eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a')
+ version("1.7.1", sha256="d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4")
+ version("1.7.0", sha256="2185392631e9d1733749d06ee5210438908d46cc04666a0eba5679d885754894")
+ version("1.6.0", sha256="489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726")
+ version("1.4.3", sha256="f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0")
+ version("1.3.1", sha256="eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@1.6.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@1.7.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"), when="@1.6.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@1.7.0:")
- depends_on('py-setuptools-scm@3.3.1:', type='build', when='@1.4.0:')
- depends_on('py-setuptools-scm@3.3.1:5', type='build', when='@1.6.0:1.6')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@30.3.0:', type='build', when='@1.6.0:')
+ depends_on("py-setuptools-scm@3.3.1:", type="build", when="@1.4.0:")
+ depends_on("py-setuptools-scm@3.3.1:5", type="build", when="@1.6.0:1.6")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@30.3.0:", type="build", when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/py-lazy-property/package.py b/var/spack/repos/builtin/packages/py-lazy-property/package.py
index a8bd202ecc..04ef60a49f 100644
--- a/var/spack/repos/builtin/packages/py-lazy-property/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy-property/package.py
@@ -10,9 +10,9 @@ class PyLazyProperty(PythonPackage):
"""A package for making properties lazy"""
homepage = "https://github.com/jackmaney/lazy-property"
- url = "https://github.com/jackmaney/lazy-property/archive/0.0.1.tar.gz"
+ url = "https://github.com/jackmaney/lazy-property/archive/0.0.1.tar.gz"
- version('0.0.1', sha256='2cde89dc6f06366b3ab2423da65c469e1fe8b19f52bbd264698d1cdfdb1ef102')
- version('0.0.0', sha256='f43bea2619656eda1f80e5c781f771fee191ac3dba225f0583852be8f6d03c3f')
+ version("0.0.1", sha256="2cde89dc6f06366b3ab2423da65c469e1fe8b19f52bbd264698d1cdfdb1ef102")
+ version("0.0.0", sha256="f43bea2619656eda1f80e5c781f771fee191ac3dba225f0583852be8f6d03c3f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lazy/package.py b/var/spack/repos/builtin/packages/py-lazy/package.py
index 9d400a128b..7c55b68f2e 100644
--- a/var/spack/repos/builtin/packages/py-lazy/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy/package.py
@@ -11,6 +11,6 @@ class PyLazy(PythonPackage):
pypi = "lazy/lazy-1.2.zip"
- version('1.2', sha256='127ea610418057b953f0d102bed83f2c367be13b59f8d0ddf3b8a86c7d31b970')
+ version("1.2", sha256="127ea610418057b953f0d102bed83f2c367be13b59f8d0ddf3b8a86c7d31b970")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lazyarray/package.py b/var/spack/repos/builtin/packages/py-lazyarray/package.py
index 89a1ae6639..246038cc23 100644
--- a/var/spack/repos/builtin/packages/py-lazyarray/package.py
+++ b/var/spack/repos/builtin/packages/py-lazyarray/package.py
@@ -13,25 +13,25 @@ class PyLazyarray(PythonPackage):
homepage = "https://lazyarray.readthedocs.io/en/latest/"
pypi = "lazyarray/lazyarray-0.2.8.tar.gz"
- version('0.5.2', sha256='fe31804d82115ed7c382840a1708f498419ec1455cac084707ece9908310c7d1')
- version('0.5.1', sha256='76964dd1384a6d020ae0e70806983d15d8fcd731734063f716696ebe300ab0af')
- version('0.5.0', sha256='4cc4b54940def52fd96818a1c10528c4b7ecca77aa617d9e4fecfb42b51e73cf')
- version('0.4.0', sha256='837cfe001840be43339d4c10d0028a70a8b3c22be08b75429a38472cbf327976')
- version('0.3.4', sha256='357e80db7472c940ed3cab873544f2b7028f6ade8737adde2c91f91aeab2835a')
- version('0.3.3', sha256='c9df003af5e1007a28c4ec45f995662fd195590d5694ef7d4cfb028bc508f6ed')
- version('0.3.2', sha256='be980534c5950a976709085570f69be9534bdf0f3e5c21a9113de3ee2052683e')
- version('0.2.10', sha256='7a53f81b5f3a098c04003d2ad179fc197451fd96bc921510f8534c6af8cc8e19')
- version('0.2.8', sha256='aaee4e18117cc512de7a4e64522f37bc6f4bf125ecffdbdbf4e4e390fbdd9ba2')
+ version("0.5.2", sha256="fe31804d82115ed7c382840a1708f498419ec1455cac084707ece9908310c7d1")
+ version("0.5.1", sha256="76964dd1384a6d020ae0e70806983d15d8fcd731734063f716696ebe300ab0af")
+ version("0.5.0", sha256="4cc4b54940def52fd96818a1c10528c4b7ecca77aa617d9e4fecfb42b51e73cf")
+ version("0.4.0", sha256="837cfe001840be43339d4c10d0028a70a8b3c22be08b75429a38472cbf327976")
+ version("0.3.4", sha256="357e80db7472c940ed3cab873544f2b7028f6ade8737adde2c91f91aeab2835a")
+ version("0.3.3", sha256="c9df003af5e1007a28c4ec45f995662fd195590d5694ef7d4cfb028bc508f6ed")
+ version("0.3.2", sha256="be980534c5950a976709085570f69be9534bdf0f3e5c21a9113de3ee2052683e")
+ version("0.2.10", sha256="7a53f81b5f3a098c04003d2ad179fc197451fd96bc921510f8534c6af8cc8e19")
+ version("0.2.8", sha256="aaee4e18117cc512de7a4e64522f37bc6f4bf125ecffdbdbf4e4e390fbdd9ba2")
# Required versions come from doc/installation.txt or:
# https://lazyarray.readthedocs.io/en/latest/installation.html#dependencies
- depends_on('python@2.7:3.9', type=('build', 'run'), when='@0.3:0.3.4')
- depends_on('python@3.4:3.9', type=('build', 'run'), when='@0.4:0.5.1')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.5.2:')
- depends_on('py-numpy@1.3:', type=('build', 'run'), when='@:0.2.10^python@:2')
- depends_on('py-numpy@1.5:', type=('build', 'run'), when='@:0.2.10^python@3:')
- depends_on('py-numpy@1.8:', type=('build', 'run'), when='@0.3:0.3.4^python@:2')
- depends_on('py-numpy@1.12:', type=('build', 'run'), when='@0.3:0.5.1^python@3:')
- depends_on('py-numpy@1.13:', type=('build', 'run'), when='@0.5.2:')
+ depends_on("python@2.7:3.9", type=("build", "run"), when="@0.3:0.3.4")
+ depends_on("python@3.4:3.9", type=("build", "run"), when="@0.4:0.5.1")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.5.2:")
+ depends_on("py-numpy@1.3:", type=("build", "run"), when="@:0.2.10^python@:2")
+ depends_on("py-numpy@1.5:", type=("build", "run"), when="@:0.2.10^python@3:")
+ depends_on("py-numpy@1.8:", type=("build", "run"), when="@0.3:0.3.4^python@:2")
+ depends_on("py-numpy@1.12:", type=("build", "run"), when="@0.3:0.5.1^python@3:")
+ depends_on("py-numpy@1.13:", type=("build", "run"), when="@0.5.2:")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-leather/package.py b/var/spack/repos/builtin/packages/py-leather/package.py
index b2523b0cda..a926df790c 100644
--- a/var/spack/repos/builtin/packages/py-leather/package.py
+++ b/var/spack/repos/builtin/packages/py-leather/package.py
@@ -13,7 +13,7 @@ class PyLeather(PythonPackage):
homepage = "https://leather.readthedocs.io/en/stable/"
pypi = "leather/leather-0.3.3.tar.gz"
- version('0.3.3', sha256='076d1603b5281488285718ce1a5ce78cf1027fe1e76adf9c548caf83c519b988')
+ version("0.3.3", sha256="076d1603b5281488285718ce1a5ce78cf1027fe1e76adf9c548caf83c519b988")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.6.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.6.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lerc/package.py b/var/spack/repos/builtin/packages/py-lerc/package.py
index fba654d25e..c1fc86f8e6 100644
--- a/var/spack/repos/builtin/packages/py-lerc/package.py
+++ b/var/spack/repos/builtin/packages/py-lerc/package.py
@@ -10,9 +10,9 @@ class PyLerc(PythonPackage):
"""Limited Error Raster Compression."""
homepage = "https://github.com/Esri/lerc"
- pypi = "lerc/lerc-0.1.0.tar.gz"
+ pypi = "lerc/lerc-0.1.0.tar.gz"
- version('0.1.0', sha256='46cac3f5a0194518f49a52e3ae073093fc85b0d79396383b64b1f9dba4aeacc1')
+ version("0.1.0", sha256="46cac3f5a0194518f49a52e3ae073093fc85b0d79396383b64b1f9dba4aeacc1")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lhsmdu/package.py b/var/spack/repos/builtin/packages/py-lhsmdu/package.py
index f5e648ed6f..bf7c3c79a2 100644
--- a/var/spack/repos/builtin/packages/py-lhsmdu/package.py
+++ b/var/spack/repos/builtin/packages/py-lhsmdu/package.py
@@ -14,12 +14,12 @@ class PyLhsmdu(PythonPackage):
uniformity."""
homepage = "http://github.com/sahilm89/lhsmdu"
- pypi = 'lhsmdu/lhsmdu-1.1.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "lhsmdu/lhsmdu-1.1.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('1.1', sha256='4bc1df6b9cdd27bae0bff75cf1693f455ba32e4fa87ca9a932f60696607fe712')
- version('0.1', sha256='ef462054b354cd20b10c6d80876c8fdb552a8d2e23eaf74179dc91956d68d32a')
+ version("1.1", sha256="4bc1df6b9cdd27bae0bff75cf1693f455ba32e4fa87ca9a932f60696607fe712")
+ version("0.1", sha256="ef462054b354cd20b10c6d80876c8fdb552a8d2e23eaf74179dc91956d68d32a")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type='build')
- depends_on('py-scipy', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type="build")
+ depends_on("py-scipy", type="build")
diff --git a/var/spack/repos/builtin/packages/py-liac-arff/package.py b/var/spack/repos/builtin/packages/py-liac-arff/package.py
index 926e55a79f..d59f872c75 100644
--- a/var/spack/repos/builtin/packages/py-liac-arff/package.py
+++ b/var/spack/repos/builtin/packages/py-liac-arff/package.py
@@ -11,10 +11,10 @@ class PyLiacArff(PythonPackage):
write ARFF files in Python."""
homepage = "https://github.com/renatopp/liac-arff"
- pypi = "liac-arff/liac-arff-2.5.0.tar.gz"
+ pypi = "liac-arff/liac-arff-2.5.0.tar.gz"
- version('2.5.0', sha256='3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da')
+ version("2.5.0", sha256="3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da")
- depends_on('python@2.7:2.999,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("python@2.7:2.999,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
diff --git a/var/spack/repos/builtin/packages/py-libclang/package.py b/var/spack/repos/builtin/packages/py-libclang/package.py
index 21201a7cc3..2a7a921053 100644
--- a/var/spack/repos/builtin/packages/py-libclang/package.py
+++ b/var/spack/repos/builtin/packages/py-libclang/package.py
@@ -14,7 +14,7 @@ class PyLibclang(PythonPackage):
url = "https://github.com/sighingnow/libclang/archive/refs/tags/llvm-11.1.0.tar.gz"
- version('13.0.0', sha256='2638e81fe3976f4ad487dc6094dacf306dcb161e11b0830391d58d1ae1e05c80')
+ version("13.0.0", sha256="2638e81fe3976f4ad487dc6094dacf306dcb161e11b0830391d58d1ae1e05c80")
version(
"11.1.0",
sha256="0b53b3c237725e193c4d2bbbe096f1a1da0f0e5cd528f2892e4dfed3c8fe9506",
@@ -39,12 +39,13 @@ class PyLibclang(PythonPackage):
depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
depends_on("py-setuptools", type="build")
- for ver in ["9", "10", "11", '13']:
+ for ver in ["9", "10", "11", "13"]:
depends_on("llvm+clang@" + ver, when="@" + ver, type="build")
def patch(self):
filter_file(
"source_dir = './native/'",
"source_dir = '{0}'".format(self.spec["llvm"].libs.directories[0]),
- "setup.py", string=True,
+ "setup.py",
+ string=True,
)
diff --git a/var/spack/repos/builtin/packages/py-libconf/package.py b/var/spack/repos/builtin/packages/py-libconf/package.py
index 3f232b7ee4..fc415c9c7b 100644
--- a/var/spack/repos/builtin/packages/py-libconf/package.py
+++ b/var/spack/repos/builtin/packages/py-libconf/package.py
@@ -11,6 +11,6 @@ class PyLibconf(PythonPackage):
pypi = "libconf/libconf-1.0.1.tar.gz"
- version('1.0.1', sha256='6dd62847bb69ab5a09155cb8be2328cce01e7ef88a35e7c37bea2b1a70f8bd58')
+ version("1.0.1", sha256="6dd62847bb69ab5a09155cb8be2328cce01e7ef88a35e7c37bea2b1a70f8bd58")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-libensemble/package.py b/var/spack/repos/builtin/packages/py-libensemble/package.py
index e99a39ae3c..6d5bfbc35b 100644
--- a/var/spack/repos/builtin/packages/py-libensemble/package.py
+++ b/var/spack/repos/builtin/packages/py-libensemble/package.py
@@ -14,78 +14,83 @@ class PyLibensemble(PythonPackage):
homepage = "https://libensemble.readthedocs.io"
pypi = "libensemble/libensemble-0.9.2.tar.gz"
git = "https://github.com/Libensemble/libensemble.git"
- maintainers = ['shuds13']
+ maintainers = ["shuds13"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='develop')
- version('0.9.2', sha256='e46598e5696f770cbff4cb90507b52867faad5654f1b80de35405a95228c909f')
- version('0.9.1', sha256='684e52b0ea64f5ec610e7868b7e4c9fa5fd2316a370a726870aa5fd5fb1b0ede')
- version('0.9.0', sha256='34976e775f0d2ba5955744560104eab214fd22cb47173440eb5136e852a8ec38')
- version('0.8.0', sha256='1102e56c6381c9692de6888add23780ec69f18ad33f12119dc0391776a9a7300')
- version('0.7.2', sha256='69b64304d1ecce4d57687ea6062f89bd813ae93b2a290bb1f595c5626ab6f197')
- version('0.7.1', sha256='5cb294269624c1284ea25be9ed3bc668a2333e21e97a97b57ad339eb85435e46')
- version('0.7.0', sha256='4c3c16ef3d4750b7a54198fae5d7ae402c5f5411ae85189da41afd20e20027dc')
- version('0.6.0', sha256='3f6a926d3868da53835ed93fc2e2a047b368dacb648c7608ee3a66debcee4d38')
- version('0.5.2', sha256='3e36c29a4a2adc0984ecfcc998cb5bb8a2cdfbe7a1ae92f7b35b06e41d21b889')
- version('0.5.1', sha256='522e0cc086a3ed75a101b704c0fe01eae07f2684bd8d6da7bdfe9371d3187362')
- version('0.5.0', sha256='c4623171dee049bfaa38a9c433609299a56b1afb774db8b71321247bc7556b8f')
- version('0.4.1', sha256='282c32ffb79d84cc80b5cc7043c202d5f0b8ebff10f63924752f092e3938db5e')
- version('0.4.0', sha256='9384aa3a58cbc20bbd1c6fddfadb5e6a943d593a3a81c8665f030dbc6d76e76e')
- version('0.3.0', sha256='c8efdf45d0da0ef6299ee778cea1c285c95972af70d3a729ee6dc855e66f9294')
- version('0.2.0', sha256='ecac7275d4d0f4a5e497e5c9ef2cd998da82b2c020a0fb87546eeea262f495ff')
- version('0.1.0', sha256='0b27c59ae80f7af8b1bee92fcf2eb6c9a8fd3494bf2eb6b3ea17a7c03d3726bb')
+ version("develop", branch="develop")
+ version("0.9.2", sha256="e46598e5696f770cbff4cb90507b52867faad5654f1b80de35405a95228c909f")
+ version("0.9.1", sha256="684e52b0ea64f5ec610e7868b7e4c9fa5fd2316a370a726870aa5fd5fb1b0ede")
+ version("0.9.0", sha256="34976e775f0d2ba5955744560104eab214fd22cb47173440eb5136e852a8ec38")
+ version("0.8.0", sha256="1102e56c6381c9692de6888add23780ec69f18ad33f12119dc0391776a9a7300")
+ version("0.7.2", sha256="69b64304d1ecce4d57687ea6062f89bd813ae93b2a290bb1f595c5626ab6f197")
+ version("0.7.1", sha256="5cb294269624c1284ea25be9ed3bc668a2333e21e97a97b57ad339eb85435e46")
+ version("0.7.0", sha256="4c3c16ef3d4750b7a54198fae5d7ae402c5f5411ae85189da41afd20e20027dc")
+ version("0.6.0", sha256="3f6a926d3868da53835ed93fc2e2a047b368dacb648c7608ee3a66debcee4d38")
+ version("0.5.2", sha256="3e36c29a4a2adc0984ecfcc998cb5bb8a2cdfbe7a1ae92f7b35b06e41d21b889")
+ version("0.5.1", sha256="522e0cc086a3ed75a101b704c0fe01eae07f2684bd8d6da7bdfe9371d3187362")
+ version("0.5.0", sha256="c4623171dee049bfaa38a9c433609299a56b1afb774db8b71321247bc7556b8f")
+ version("0.4.1", sha256="282c32ffb79d84cc80b5cc7043c202d5f0b8ebff10f63924752f092e3938db5e")
+ version("0.4.0", sha256="9384aa3a58cbc20bbd1c6fddfadb5e6a943d593a3a81c8665f030dbc6d76e76e")
+ version("0.3.0", sha256="c8efdf45d0da0ef6299ee778cea1c285c95972af70d3a729ee6dc855e66f9294")
+ version("0.2.0", sha256="ecac7275d4d0f4a5e497e5c9ef2cd998da82b2c020a0fb87546eeea262f495ff")
+ version("0.1.0", sha256="0b27c59ae80f7af8b1bee92fcf2eb6c9a8fd3494bf2eb6b3ea17a7c03d3726bb")
- variant('mpi', default=False, description='Install with MPI')
- variant('scipy', default=False, description='Install with scipy')
- variant('petsc4py', default=False, description='Install with petsc4py')
- variant('nlopt', default=False, description='Install with nlopt')
- variant('mpmath', default=False, description='Install with mpmath')
- variant('deap', default=False, description='Install with DEAP')
- variant('tasmanian', default=False, description='Install with tasmanian')
- variant('pyyaml', default=False, description='Install with pyyaml')
+ variant("mpi", default=False, description="Install with MPI")
+ variant("scipy", default=False, description="Install with scipy")
+ variant("petsc4py", default=False, description="Install with petsc4py")
+ variant("nlopt", default=False, description="Install with nlopt")
+ variant("mpmath", default=False, description="Install with mpmath")
+ variant("deap", default=False, description="Install with DEAP")
+ variant("tasmanian", default=False, description="Install with tasmanian")
+ variant("pyyaml", default=False, description="Install with pyyaml")
# depends_on('python@2.7:2.8,3.3:', when='@:0.4.1')
# depends_on('python@3.5:', when='@0.5.0:')
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'), when='@0.7.1:')
- depends_on('mpi', when='@:0.4.1')
- depends_on('mpi', when='+mpi')
- depends_on('py-mpi4py@2.0:', type=('build', 'run'), when='@:0.4.1')
- depends_on('py-mpi4py@2.0:', type=('build', 'run'), when='+mpi')
- depends_on('py-scipy', type=('build', 'run'), when='+scipy')
- depends_on('py-petsc4py', type=('build', 'run'), when='+petsc4py')
- depends_on('py-petsc4py@main', type=('build', 'run'), when='@develop+petsc4py')
- depends_on('nlopt', type=('build', 'run'), when='+nlopt')
- depends_on('py-mpmath', type=('build', 'run'), when='+mpmath')
- depends_on('py-deap', type=('build', 'run'), when='+deap')
- depends_on('tasmanian+python', type=('build', 'run'), when='+tasmanian')
- depends_on('py-pyyaml', type=('build', 'run'), when='+pyyaml')
- conflicts('~mpi', when='@:0.4.1')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"), when="@0.7.1:")
+ depends_on("mpi", when="@:0.4.1")
+ depends_on("mpi", when="+mpi")
+ depends_on("py-mpi4py@2.0:", type=("build", "run"), when="@:0.4.1")
+ depends_on("py-mpi4py@2.0:", type=("build", "run"), when="+mpi")
+ depends_on("py-scipy", type=("build", "run"), when="+scipy")
+ depends_on("py-petsc4py", type=("build", "run"), when="+petsc4py")
+ depends_on("py-petsc4py@main", type=("build", "run"), when="@develop+petsc4py")
+ depends_on("nlopt", type=("build", "run"), when="+nlopt")
+ depends_on("py-mpmath", type=("build", "run"), when="+mpmath")
+ depends_on("py-deap", type=("build", "run"), when="+deap")
+ depends_on("tasmanian+python", type=("build", "run"), when="+tasmanian")
+ depends_on("py-pyyaml", type=("build", "run"), when="+pyyaml")
+ conflicts("~mpi", when="@:0.4.1")
- @run_after('install')
+ @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', 'calling_scripts',
- 'regression_tests'))
+ self.cache_extra_test_sources(join_path("examples", "calling_scripts", "regression_tests"))
def run_tutorial_tests(self, exe):
"""Run example stand alone test"""
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- 'examples', 'calling_scripts', 'regression_tests')
+ test_dir = join_path(
+ self.test_suite.current_test_cache_dir,
+ "examples",
+ "calling_scripts",
+ "regression_tests",
+ )
if not os.path.isfile(join_path(test_dir, exe)):
- print('Skipping {0} test'.format(exe))
+ print("Skipping {0} test".format(exe))
return
- self.run_test(self.spec['python'].command.path,
- options=[exe, '--comms', 'local', '--nworkers', '2'],
- purpose='test: run {0} example'.format(exe),
- work_dir=test_dir)
+ self.run_test(
+ self.spec["python"].command.path,
+ options=[exe, "--comms", "local", "--nworkers", "2"],
+ purpose="test: run {0} example".format(exe),
+ work_dir=test_dir,
+ )
def test(self):
- self.run_tutorial_tests('test_uniform_sampling.py')
+ self.run_tutorial_tests("test_uniform_sampling.py")
diff --git a/var/spack/repos/builtin/packages/py-liblas/package.py b/var/spack/repos/builtin/packages/py-liblas/package.py
index d1a28fdd07..13a811a591 100644
--- a/var/spack/repos/builtin/packages/py-liblas/package.py
+++ b/var/spack/repos/builtin/packages/py-liblas/package.py
@@ -12,17 +12,17 @@ class PyLiblas(PythonPackage):
"""
homepage = "https://liblas.org/"
- pypi = "libLAS/libLAS-1.8.1.tar.gz"
+ pypi = "libLAS/libLAS-1.8.1.tar.gz"
- version('1.8.1', sha256='4d517670912989a0c7a33bb057167747e1013db6abdaa372f0775343ff0d1e16')
+ version("1.8.1", sha256="4d517670912989a0c7a33bb057167747e1013db6abdaa372f0775343ff0d1e16")
- depends_on('py-setuptools', type='build')
- depends_on('liblas')
+ depends_on("py-setuptools", type="build")
+ depends_on("liblas")
def setup_build_environment(self, env):
- env_var = 'LD_LIBRARY_PATH'
- if self.spec.satisfies('platform=darwin'):
- env_var = 'DYLD_FALLBACK_LIBRARY_PATH'
- env.prepend_path(env_var, self.spec['liblas'].libs.directories[0])
+ env_var = "LD_LIBRARY_PATH"
+ if self.spec.satisfies("platform=darwin"):
+ env_var = "DYLD_FALLBACK_LIBRARY_PATH"
+ env.prepend_path(env_var, self.spec["liblas"].libs.directories[0])
setup_run_environment = setup_build_environment
diff --git a/var/spack/repos/builtin/packages/py-librosa/package.py b/var/spack/repos/builtin/packages/py-librosa/package.py
index da9005a24d..fdcbe3ff2c 100644
--- a/var/spack/repos/builtin/packages/py-librosa/package.py
+++ b/var/spack/repos/builtin/packages/py-librosa/package.py
@@ -12,30 +12,30 @@ class PyLibrosa(PythonPackage):
homepage = "https://github.com/librosa/librosa"
pypi = "librosa/librosa-0.7.2.tar.gz"
- version('0.9.1', sha256='7ed5d6e3f4546e5e3c2840691f9ddc56878f914a35a50060df5fca2b26d4b614')
- version('0.7.2', sha256='656bbda80e98e6330db1ead79cd084b13a762284834d7603fcf7cf7c0dc65f3c')
+ version("0.9.1", sha256="7ed5d6e3f4546e5e3c2840691f9ddc56878f914a35a50060df5fca2b26d4b614")
+ version("0.7.2", sha256="656bbda80e98e6330db1ead79cd084b13a762284834d7603fcf7cf7c0dc65f3c")
- depends_on('python@3.6:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@48:', type='build', when='@0.9.1:')
- depends_on('py-wheel@0.29:', type='build', when='@0.9.1:')
- depends_on('py-audioread@2.0.0:', type=('build', 'run'))
- depends_on('py-audioread@2.1.5:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-numpy@1.15.0:', type=('build', 'run'))
- depends_on('py-numpy@1.17.0:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-scipy@1.0.0:', type=('build', 'run'))
- depends_on('py-scipy@1.2.0:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-scikit-learn@0.14.0:0.18,0.19.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19.1:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-joblib@0.12:', type=('build', 'run'))
- depends_on('py-joblib@0.14:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-decorator@3.0.0:', type=('build', 'run'))
- depends_on('py-decorator@4.0.10:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-six@1.3:', type=('build', 'run'), when='@0.7.2')
- depends_on('py-resampy@0.2.2:', type=('build', 'run'))
- depends_on('py-numba@0.43.0:', type=('build', 'run'))
- depends_on('py-numba@0.45.1:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-soundfile@0.9.0:', type=('build', 'run'))
- depends_on('py-soundfile@0.10.2:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-pooch@1:', type=('build', 'run'), when='@0.9.1:')
- depends_on('py-packaging@20:', type=('build', 'run'), when='@0.9.1:')
+ depends_on("python@3.6:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@48:", type="build", when="@0.9.1:")
+ depends_on("py-wheel@0.29:", type="build", when="@0.9.1:")
+ depends_on("py-audioread@2.0.0:", type=("build", "run"))
+ depends_on("py-audioread@2.1.5:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-numpy@1.15.0:", type=("build", "run"))
+ depends_on("py-numpy@1.17.0:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-scipy@1.0.0:", type=("build", "run"))
+ depends_on("py-scipy@1.2.0:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-scikit-learn@0.14.0:0.18,0.19.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19.1:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-joblib@0.12:", type=("build", "run"))
+ depends_on("py-joblib@0.14:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-decorator@3.0.0:", type=("build", "run"))
+ depends_on("py-decorator@4.0.10:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-six@1.3:", type=("build", "run"), when="@0.7.2")
+ depends_on("py-resampy@0.2.2:", type=("build", "run"))
+ depends_on("py-numba@0.43.0:", type=("build", "run"))
+ depends_on("py-numba@0.45.1:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-soundfile@0.9.0:", type=("build", "run"))
+ depends_on("py-soundfile@0.10.2:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-pooch@1:", type=("build", "run"), when="@0.9.1:")
+ depends_on("py-packaging@20:", type=("build", "run"), when="@0.9.1:")
diff --git a/var/spack/repos/builtin/packages/py-lifelines/package.py b/var/spack/repos/builtin/packages/py-lifelines/package.py
index a4280d455b..1924720369 100644
--- a/var/spack/repos/builtin/packages/py-lifelines/package.py
+++ b/var/spack/repos/builtin/packages/py-lifelines/package.py
@@ -18,19 +18,19 @@ class PyLifelines(PythonPackage):
homepage = "https://github.com/CamDavidsonPilon/lifelines"
pypi = "lifelines/lifelines-0.25.5.tar.gz"
- version('0.25.5', sha256='f24260aa371829354440dfc2c1be8d59d9e841cce7a933230213cecd67787b89')
- version('0.9.4', sha256='0f19a8b18ace80c231de60487b2b1a3de3eb418445c6a6d0d72c1110d860f676')
+ version("0.25.5", sha256="f24260aa371829354440dfc2c1be8d59d9e841cce7a933230213cecd67787b89")
+ version("0.9.4", sha256="0f19a8b18ace80c231de60487b2b1a3de3eb418445c6a6d0d72c1110d860f676")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'), when='@0.9.4')
- depends_on('py-scipy', type=('build', 'run'), when='@0.9.4')
- depends_on('py-pandas@0.18.0:', type=('build', 'run'), when='@0.9.4')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-scipy@1.2.0:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-numpy@1.14:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-matplotlib@3.0:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-autograd@1.3:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-autograd-gamma@0.3:', type=('build', 'run'), when='@0.25.5:')
- depends_on('py-patsy@0.5.0:', type=('build', 'run'), when='@0.25.5:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"), when="@0.9.4")
+ depends_on("py-scipy", type=("build", "run"), when="@0.9.4")
+ depends_on("py-pandas@0.18.0:", type=("build", "run"), when="@0.9.4")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-pandas@0.23.0:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-scipy@1.2.0:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-numpy@1.14:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-pandas@0.23.0:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-matplotlib@3.0:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-autograd@1.3:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-autograd-gamma@0.3:", type=("build", "run"), when="@0.25.5:")
+ depends_on("py-patsy@0.5.0:", type=("build", "run"), when="@0.25.5:")
diff --git a/var/spack/repos/builtin/packages/py-lightgbm/package.py b/var/spack/repos/builtin/packages/py-lightgbm/package.py
index ad0d89cead..647d18658f 100644
--- a/var/spack/repos/builtin/packages/py-lightgbm/package.py
+++ b/var/spack/repos/builtin/packages/py-lightgbm/package.py
@@ -11,26 +11,26 @@ class PyLightgbm(PythonPackage):
based learning algorithms."""
homepage = "https://github.com/microsoft/LightGBM"
- pypi = "lightgbm/lightgbm-3.1.1.tar.gz"
+ pypi = "lightgbm/lightgbm-3.1.1.tar.gz"
- version('3.1.1', sha256='babece2e3613e97748a67ed45387bb0e984bdb1f4126e39f010fbfe7503c7b20')
+ version("3.1.1", sha256="babece2e3613e97748a67ed45387bb0e984bdb1f4126e39f010fbfe7503c7b20")
- variant('mpi', default=False, description="Build with mpi support")
+ variant("mpi", default=False, description="Build with mpi support")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn@:0.21,0.22.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn@:0.21,0.22.1:", type=("build", "run"))
- depends_on('cmake@3.8:', type='build')
+ depends_on("cmake@3.8:", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def install_options(self, spec, prefix):
args = []
- if spec.satisfies('+mpi'):
- args.append('--mpi')
+ if spec.satisfies("+mpi"):
+ args.append("--mpi")
return args
diff --git a/var/spack/repos/builtin/packages/py-ligo-segments/package.py b/var/spack/repos/builtin/packages/py-ligo-segments/package.py
index 3eb88c803e..123eda80fd 100644
--- a/var/spack/repos/builtin/packages/py-ligo-segments/package.py
+++ b/var/spack/repos/builtin/packages/py-ligo-segments/package.py
@@ -11,7 +11,7 @@ class PyLigoSegments(PythonPackage):
pypi = "ligo-segments/ligo-segments-1.2.0.tar.gz"
- version('1.2.0', sha256='5edbcb88cae007c4e154a61cb2c9d0a6d6d4016c1ecaf0a59a667a267bd20e7a')
+ version("1.2.0", sha256="5edbcb88cae007c4e154a61cb2c9d0a6d6d4016c1ecaf0a59a667a267bd20e7a")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-line-profiler/package.py b/var/spack/repos/builtin/packages/py-line-profiler/package.py
index 1860265d9f..72a561fead 100644
--- a/var/spack/repos/builtin/packages/py-line-profiler/package.py
+++ b/var/spack/repos/builtin/packages/py-line-profiler/package.py
@@ -14,23 +14,23 @@ class PyLineProfiler(PythonPackage):
homepage = "https://github.com/rkern/line_profiler"
pypi = "line_profiler/line_profiler-2.0.tar.gz"
- version('2.1.2', sha256='efa66e9e3045aa7cb1dd4bf0106e07dec9f80bc781a993fbaf8162a36c20af5c')
- version('2.0', sha256='739f8ad0e4bcd0cb82e99afc09e00a0351234f6b3f0b1f7f0090a8a2fbbf8381')
+ version("2.1.2", sha256="efa66e9e3045aa7cb1dd4bf0106e07dec9f80bc781a993fbaf8162a36c20af5c")
+ version("2.0", sha256="739f8ad0e4bcd0cb82e99afc09e00a0351234f6b3f0b1f7f0090a8a2fbbf8381")
- depends_on('python@2.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-ipython@0.13:', type=('build', 'run'))
+ depends_on("python@2.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-ipython@0.13:", type=("build", "run"))
# See https://github.com/rkern/line_profiler/issues/166
- @run_before('install')
+ @run_before("install")
def fix_cython(self):
# TODO: Replace the check with a `@when('^python@3.7:')` decorator once
# https://github.com/spack/spack/issues/12736 is resolved
if not self.spec.satisfies("^python@3.7:"):
return
- cython = self.spec['py-cython'].command
- for root, _, files in os.walk('.'):
+ cython = self.spec["py-cython"].command
+ for root, _, files in os.walk("."):
for fn in files:
- if fn.endswith('.pyx'):
+ if fn.endswith(".pyx"):
cython(os.path.join(root, fn))
diff --git a/var/spack/repos/builtin/packages/py-linecache2/package.py b/var/spack/repos/builtin/packages/py-linecache2/package.py
index f9c001f253..a426b7bf47 100644
--- a/var/spack/repos/builtin/packages/py-linecache2/package.py
+++ b/var/spack/repos/builtin/packages/py-linecache2/package.py
@@ -12,7 +12,7 @@ class PyLinecache2(PythonPackage):
homepage = "https://github.com/testing-cabal/linecache2"
pypi = "linecache2/linecache2-1.0.0.tar.gz"
- version('1.0.0', sha256='4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c')
+ version("1.0.0", sha256="4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c")
- depends_on('py-setuptools', type='build')
- depends_on('py-pbr', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lineenhancer/package.py b/var/spack/repos/builtin/packages/py-lineenhancer/package.py
index 3e9d3b4d5c..e120403318 100644
--- a/var/spack/repos/builtin/packages/py-lineenhancer/package.py
+++ b/var/spack/repos/builtin/packages/py-lineenhancer/package.py
@@ -10,13 +10,13 @@ class PyLineenhancer(PythonPackage):
"""The line enhancer is only used by crYOLO internally"""
homepage = "https://github.com/MPI-Dortmund/LineEnhancer"
- pypi = "lineenhancer/lineenhancer-1.0.8.tar.gz"
+ pypi = "lineenhancer/lineenhancer-1.0.8.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.0.8', sha256='a1c7f2556110135d7298b0002674b669b8bbf23f94d63e3e3db8f17f2fd3efbe')
+ version("1.0.8", sha256="a1c7f2556110135d7298b0002674b669b8bbf23f94d63e3e3db8f17f2fd3efbe")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.14.5:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-mrcfile', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.14.5:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-mrcfile", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lit/package.py b/var/spack/repos/builtin/packages/py-lit/package.py
index 69d4341bfb..046c100eea 100644
--- a/var/spack/repos/builtin/packages/py-lit/package.py
+++ b/var/spack/repos/builtin/packages/py-lit/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyLit(PythonPackage):
"""lit is a portable tool for executing LLVM and Clang style test suites,
- summarizing their results, and providing indication of failures. lit is
- designed to be a lightweight testing tool with as simple a user
- interface as possible."""
+ summarizing their results, and providing indication of failures. lit is
+ designed to be a lightweight testing tool with as simple a user
+ interface as possible."""
pypi = "lit/lit-0.5.0.tar.gz"
- version('0.7.1', sha256='ecef2833aef7f411cb923dac109c7c9dcc7dbe7cafce0650c1e8d19c243d955f')
- version('0.5.0', sha256='3ea4251e78ebeb2e07be2feb33243d1f8931d956efc96ccc2b0846ced212b58c')
+ version("0.7.1", sha256="ecef2833aef7f411cb923dac109c7c9dcc7dbe7cafce0650c1e8d19c243d955f")
+ version("0.5.0", sha256="3ea4251e78ebeb2e07be2feb33243d1f8931d956efc96ccc2b0846ced212b58c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lizard/package.py b/var/spack/repos/builtin/packages/py-lizard/package.py
index 20c24dd88b..6922b9d578 100644
--- a/var/spack/repos/builtin/packages/py-lizard/package.py
+++ b/var/spack/repos/builtin/packages/py-lizard/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyLizard(PythonPackage):
"""A code analyzer without caring the C/C++ header files.
- It works with Java, C/C++, JavaScript, Python, Ruby,
- Swift, Objective C. Metrics includes cyclomatic
- complexity number etc."""
+ It works with Java, C/C++, JavaScript, Python, Ruby,
+ Swift, Objective C. Metrics includes cyclomatic
+ complexity number etc."""
homepage = "http://www.lizard.ws/"
- pypi = "lizard/lizard-1.17.9.tar.gz"
+ pypi = "lizard/lizard-1.17.9.tar.gz"
- version('1.17.9', sha256='76ee0e631d985bea1dd6521a03c6c2fa9dce5a2248b3d26c49890e9e085b7aed')
+ version("1.17.9", sha256="76ee0e631d985bea1dd6521a03c6c2fa9dce5a2248b3d26c49890e9e085b7aed")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-llnl-sina/package.py b/var/spack/repos/builtin/packages/py-llnl-sina/package.py
index d244f4e226..d969158b0e 100644
--- a/var/spack/repos/builtin/packages/py-llnl-sina/package.py
+++ b/var/spack/repos/builtin/packages/py-llnl-sina/package.py
@@ -25,20 +25,20 @@ class PyLlnlSina(PythonPackage):
# notify when the package is updated.
maintainers = [
- 'HaluskaR',
- 'estebanpauli',
- 'murray55',
- 'doutriaux1',
+ "HaluskaR",
+ "estebanpauli",
+ "murray55",
+ "doutriaux1",
]
- version('1.11.0', tag="v1.11.0")
- version('1.10.0', tag="v1.10.0")
+ version("1.11.0", tag="v1.11.0")
+ version("1.10.0", tag="v1.10.0")
# let's remove dependency on orjson
- patch('no_orjson.patch')
- depends_on('py-setuptools', type='build')
- depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-ujson', type=('build', 'run'))
+ patch("no_orjson.patch")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-enum34", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-ujson", type=("build", "run"))
depends_on("py-sqlalchemy", type=("build", "run"))
depends_on("py-six", type=("build", "run"))
- build_directory = 'python'
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-llvmlite/package.py b/var/spack/repos/builtin/packages/py-llvmlite/package.py
index a94dc5b6e3..0ebc706e66 100644
--- a/var/spack/repos/builtin/packages/py-llvmlite/package.py
+++ b/var/spack/repos/builtin/packages/py-llvmlite/package.py
@@ -12,44 +12,52 @@ class PyLlvmlite(PythonPackage):
homepage = "https://llvmlite.readthedocs.io/en/latest/index.html"
pypi = "llvmlite/llvmlite-0.23.0.tar.gz"
- version('0.39.0', sha256='01098be54f1aa25e391cebba8ea71cd1533f8cd1f50e34c7dd7540c2560a93af')
- version('0.38.0', sha256='a99d166ccf3b116f3b9ed23b9b70ba2415640a9c978f3aaa13fad49c58f4965c')
- version('0.37.0', sha256='6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15')
- version('0.34.0', sha256='f03ee0d19bca8f2fe922bb424a909d05c28411983b0c2bc58b020032a0d11f63')
- version('0.33.0', sha256='9c8aae96f7fba10d9ac864b443d1e8c7ee4765c31569a2b201b3d0b67d8fc596')
- version('0.31.0', sha256='22ab2b9d7ec79fab66ac8b3d2133347de86addc2e2df1b3793e523ac84baa3c8')
- version('0.29.0', sha256='3adb0d4c9a17ad3dca82c7e88118babd61eeee0ee985ce31fa43ec27aa98c963')
- version('0.27.1', sha256='48a1c3ae69fd8920cba153bfed8a46ac46474bc706a2100226df4abffe0000ab')
- version('0.26.0', sha256='13e84fe6ebb0667233074b429fd44955f309dead3161ec89d9169145dbad2ebf')
- version('0.25.0', sha256='fd64def9a51dd7dc61913a7a08eeba5b9785522740bec5a7c5995b2a90525025')
- version('0.23.0', sha256='bc8b1b46274d05b578fe9e980a6d98fa71c8727f6f9ed31d4d8468dce7aa5762')
- version('0.20.0', sha256='b2f174848df16bb9195a07fec102110a06d018da736bd9b3570a54d44c797c29')
-
- depends_on('py-setuptools', type='build')
- depends_on('python@3.7:3.10', type=('build', 'run'), when='@0.38.0:')
- depends_on('python@3.7:3.9', type=('build', 'run'), when='@0.37')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.33:')
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='@:0.32.0 ^python@:3.3')
+ version("0.39.0", sha256="01098be54f1aa25e391cebba8ea71cd1533f8cd1f50e34c7dd7540c2560a93af")
+ version("0.38.0", sha256="a99d166ccf3b116f3b9ed23b9b70ba2415640a9c978f3aaa13fad49c58f4965c")
+ version("0.37.0", sha256="6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15")
+ version("0.34.0", sha256="f03ee0d19bca8f2fe922bb424a909d05c28411983b0c2bc58b020032a0d11f63")
+ version("0.33.0", sha256="9c8aae96f7fba10d9ac864b443d1e8c7ee4765c31569a2b201b3d0b67d8fc596")
+ version("0.31.0", sha256="22ab2b9d7ec79fab66ac8b3d2133347de86addc2e2df1b3793e523ac84baa3c8")
+ version("0.29.0", sha256="3adb0d4c9a17ad3dca82c7e88118babd61eeee0ee985ce31fa43ec27aa98c963")
+ version("0.27.1", sha256="48a1c3ae69fd8920cba153bfed8a46ac46474bc706a2100226df4abffe0000ab")
+ version("0.26.0", sha256="13e84fe6ebb0667233074b429fd44955f309dead3161ec89d9169145dbad2ebf")
+ version("0.25.0", sha256="fd64def9a51dd7dc61913a7a08eeba5b9785522740bec5a7c5995b2a90525025")
+ version("0.23.0", sha256="bc8b1b46274d05b578fe9e980a6d98fa71c8727f6f9ed31d4d8468dce7aa5762")
+ version("0.20.0", sha256="b2f174848df16bb9195a07fec102110a06d018da736bd9b3570a54d44c797c29")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.7:3.10", type=("build", "run"), when="@0.38.0:")
+ depends_on("python@3.7:3.9", type=("build", "run"), when="@0.37")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.33:")
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="@:0.32.0 ^python@:3.3")
# llvmlite compatibility information taken from https://github.com/numba/llvmlite#compatibility
- depends_on('llvm@11.0:11~flang', when='@0.37.0:')
- for t in ['arm:', 'ppc:', 'ppc64:', 'ppc64le:', 'ppcle:',
- 'sparc:', 'sparc64:', 'x86:', 'x86_64:']:
- depends_on('llvm@10.0.0:10.0~flang', when='@0.34.0:0.36 target={0}'.format(t))
- depends_on('llvm@9.0.0:9.0~flang', when='@0.34.0:0.36 target=aarch64:')
- depends_on('llvm@9.0.0:9.0~flang', when='@0.33.0:0.33')
- depends_on('llvm@7.0.0:8.0~flang', when='@0.29.0:0.32')
- depends_on('llvm@7.0.0:7.0~flang', when='@0.27.0:0.28')
- depends_on('llvm@6.0.0:6.0~flang', when='@0.23.0:0.26')
- depends_on('llvm@4.0.0:4.0~flang', when='@0.17.0:0.20')
- depends_on('binutils', type='build')
+ depends_on("llvm@11.0:11~flang", when="@0.37.0:")
+ for t in [
+ "arm:",
+ "ppc:",
+ "ppc64:",
+ "ppc64le:",
+ "ppcle:",
+ "sparc:",
+ "sparc64:",
+ "x86:",
+ "x86_64:",
+ ]:
+ depends_on("llvm@10.0.0:10.0~flang", when="@0.34.0:0.36 target={0}".format(t))
+ depends_on("llvm@9.0.0:9.0~flang", when="@0.34.0:0.36 target=aarch64:")
+ depends_on("llvm@9.0.0:9.0~flang", when="@0.33.0:0.33")
+ depends_on("llvm@7.0.0:8.0~flang", when="@0.29.0:0.32")
+ depends_on("llvm@7.0.0:7.0~flang", when="@0.27.0:0.28")
+ depends_on("llvm@6.0.0:6.0~flang", when="@0.23.0:0.26")
+ depends_on("llvm@4.0.0:4.0~flang", when="@0.17.0:0.20")
+ depends_on("binutils", type="build")
def setup_build_environment(self, env):
- if self.spec.satisfies('%fj'):
- env.set('CXX_FLTO_FLAGS', '{0}'.format(self.compiler.cxx_pic_flag))
- env.set('LD_FLTO_FLAGS', '-Wl,--exclude-libs=ALL')
+ if self.spec.satisfies("%fj"):
+ env.set("CXX_FLTO_FLAGS", "{0}".format(self.compiler.cxx_pic_flag))
+ env.set("LD_FLTO_FLAGS", "-Wl,--exclude-libs=ALL")
else:
# Need to set PIC flag since this is linking statically with LLVM
- env.set('CXX_FLTO_FLAGS', '-flto {0}'.format(
- self.compiler.cxx_pic_flag))
+ env.set("CXX_FLTO_FLAGS", "-flto {0}".format(self.compiler.cxx_pic_flag))
diff --git a/var/spack/repos/builtin/packages/py-lmdb/package.py b/var/spack/repos/builtin/packages/py-lmdb/package.py
index fc8035feb9..fd04b15b77 100644
--- a/var/spack/repos/builtin/packages/py-lmdb/package.py
+++ b/var/spack/repos/builtin/packages/py-lmdb/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class PyLmdb(PythonPackage):
- """ Universal Python binding for the LMDB 'Lightning' Database"""
+ """Universal Python binding for the LMDB 'Lightning' Database"""
pypi = "lmdb/lmdb-1.3.0.tar.gz"
homepage = "https://github.com/jnwatson/py-lmdb/"
- version('1.3.0', sha256='60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e')
+ version("1.3.0", sha256="60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e")
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('lmdb')
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("lmdb")
def setup_build_environment(self, env):
- env.set('LMDB_FORCE_SYSTEM', '1')
+ env.set("LMDB_FORCE_SYSTEM", "1")
diff --git a/var/spack/repos/builtin/packages/py-lmfit/package.py b/var/spack/repos/builtin/packages/py-lmfit/package.py
index 6e6ea2afa9..3193ff2ef9 100644
--- a/var/spack/repos/builtin/packages/py-lmfit/package.py
+++ b/var/spack/repos/builtin/packages/py-lmfit/package.py
@@ -12,22 +12,22 @@ class PyLmfit(PythonPackage):
homepage = "https://lmfit.github.io/lmfit-py/"
pypi = "lmfit/lmfit-0.9.5.tar.gz"
- version('1.0.2', sha256='67090ce56685cf7f92bd7358a1e7d4ad862b3758988109ec440e9825e5184b45')
- version('1.0.1', sha256='d249eb756899360f4d2a544c9458f47fc8f765ac22c09e099530585fd64e286e')
- version('0.9.15', sha256='cd7bdf47c09a3d49f30dff9a1c7f778973d15d1e1b5dc642f14c22f6630eaf2f')
- version('0.9.5', sha256='eebc3c34ed9f3e51bdd927559a5482548c423ad5a0690c6fdcc414bfb5be6667')
+ version("1.0.2", sha256="67090ce56685cf7f92bd7358a1e7d4ad862b3758988109ec440e9825e5184b45")
+ version("1.0.1", sha256="d249eb756899360f4d2a544c9458f47fc8f765ac22c09e099530585fd64e286e")
+ version("0.9.15", sha256="cd7bdf47c09a3d49f30dff9a1c7f778973d15d1e1b5dc642f14c22f6630eaf2f")
+ version("0.9.5", sha256="eebc3c34ed9f3e51bdd927559a5482548c423ad5a0690c6fdcc414bfb5be6667")
- depends_on('python@3.6:', type=('build', 'run'), when='@1:')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@0.9.15')
+ depends_on("python@3.6:", type=("build", "run"), when="@1:")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@0.9.15")
- depends_on('py-asteval@0.9.16:', type=('build', 'run'), when='@0.9.15:')
+ depends_on("py-asteval@0.9.16:", type=("build", "run"), when="@0.9.15:")
- depends_on('py-numpy@1.5:', type=('build', 'run'), when='@0.9.5:')
- depends_on('py-numpy@1.16:', type=('build', 'run'), when='@0.9.15:')
+ depends_on("py-numpy@1.5:", type=("build", "run"), when="@0.9.5:")
+ depends_on("py-numpy@1.16:", type=("build", "run"), when="@0.9.15:")
- depends_on('py-scipy@0.14:', type=('build', 'run'), when='@0.9.5')
- depends_on('py-scipy@1.2:', type=('build', 'run'), when='@0.9.15:')
+ depends_on("py-scipy@0.14:", type=("build", "run"), when="@0.9.5")
+ depends_on("py-scipy@1.2:", type=("build", "run"), when="@0.9.15:")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.11:', type=('build', 'run'), when='@0.9.15')
- depends_on('py-uncertainties@3.0.1:', type=('build', 'run'), when='@0.9.15:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.11:", type=("build", "run"), when="@0.9.15")
+ depends_on("py-uncertainties@3.0.1:", type=("build", "run"), when="@0.9.15:")
diff --git a/var/spack/repos/builtin/packages/py-lmodule/package.py b/var/spack/repos/builtin/packages/py-lmodule/package.py
index 3d3552d925..5c974622f9 100644
--- a/var/spack/repos/builtin/packages/py-lmodule/package.py
+++ b/var/spack/repos/builtin/packages/py-lmodule/package.py
@@ -14,12 +14,12 @@ class PyLmodule(PythonPackage):
homepage = "https://lmodule.readthedocs.io/en/latest/"
pypi = "lmodule/lmodule-0.1.0.tar.gz"
- git = "https://github.com/buildtesters/lmodule"
+ git = "https://github.com/buildtesters/lmodule"
- maintainers = ['shahzebsiddiqui']
+ maintainers = ["shahzebsiddiqui"]
- version('0.1.0', sha256='cac8f3dad2df27b10e051b2c56ccbde1fcdd7044af594d13fd2e4144d3d46a29')
+ version("0.1.0", sha256="cac8f3dad2df27b10e051b2c56ccbde1fcdd7044af594d13fd2e4144d3d46a29")
- depends_on('python@3.6.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('lmod@7.0:', type='run')
+ depends_on("python@3.6.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("lmod@7.0:", type="run")
diff --git a/var/spack/repos/builtin/packages/py-localcider/package.py b/var/spack/repos/builtin/packages/py-localcider/package.py
index e76e9ac795..99e99ff302 100644
--- a/var/spack/repos/builtin/packages/py-localcider/package.py
+++ b/var/spack/repos/builtin/packages/py-localcider/package.py
@@ -12,9 +12,9 @@ class PyLocalcider(PythonPackage):
homepage = "https://pappulab.github.io/localCIDER"
pypi = "localcider/localcider-0.1.14.tar.gz"
- version('0.1.14', sha256='54ff29e8a011947cca5df79e96f3c69a76c49c4db41dcf1608663992be3e3f5f')
+ version("0.1.14", sha256="54ff29e8a011947cca5df79e96f3c69a76c49c4db41dcf1608663992be3e3f5f")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-locket/package.py b/var/spack/repos/builtin/packages/py-locket/package.py
index 4dc2098bc7..baf28eaa96 100644
--- a/var/spack/repos/builtin/packages/py-locket/package.py
+++ b/var/spack/repos/builtin/packages/py-locket/package.py
@@ -12,7 +12,7 @@ class PyLocket(PythonPackage):
homepage = "https://github.com/mwilliamson/locket.py"
pypi = "locket/locket-0.2.0.tar.gz"
- version('0.2.0', sha256='1fee63c1153db602b50154684f5725564e63a0f6d09366a1cb13dffcec179fb4')
+ version("0.2.0", sha256="1fee63c1153db602b50154684f5725564e63a0f6d09366a1cb13dffcec179fb4")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lockfile/package.py b/var/spack/repos/builtin/packages/py-lockfile/package.py
index b9c78bd8a6..e6a7ed3537 100644
--- a/var/spack/repos/builtin/packages/py-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-lockfile/package.py
@@ -8,21 +8,22 @@ from spack.package import *
class PyLockfile(PythonPackage):
"""The lockfile package exports a LockFile class which provides a
- simple API for locking files. Unlike the Windows msvcrt.locking
- function, the fcntl.lockf and flock functions, and the
- deprecated posixfile module, the API is identical across both
- Unix (including Linux and Mac) and Windows platforms. The lock
- mechanism relies on the atomic nature of the link (on Unix) and
- mkdir (on Windows) system calls. An implementation based on
- SQLite is also provided, more as a demonstration of the
- possibilities it provides than as production-quality code.
+ simple API for locking files. Unlike the Windows msvcrt.locking
+ function, the fcntl.lockf and flock functions, and the
+ deprecated posixfile module, the API is identical across both
+ Unix (including Linux and Mac) and Windows platforms. The lock
+ mechanism relies on the atomic nature of the link (on Unix) and
+ mkdir (on Windows) system calls. An implementation based on
+ SQLite is also provided, more as a demonstration of the
+ possibilities it provides than as production-quality code.
"""
+
pypi = "lockfile/lockfile-0.10.2.tar.gz"
homepage = "https://launchpad.net/pylockfile"
- version('0.12.2', sha256='6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799')
- version('0.10.2', sha256='9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1')
+ version("0.12.2", sha256="6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799")
+ version("0.10.2", sha256="9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1")
- depends_on("py-setuptools", type='build')
- depends_on("py-pbr", type='build')
- depends_on("py-pbr@1.8:", type='build', when='@0.12.2:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr", type="build")
+ depends_on("py-pbr@1.8:", type="build", when="@0.12.2:")
diff --git a/var/spack/repos/builtin/packages/py-logilab-common/package.py b/var/spack/repos/builtin/packages/py-logilab-common/package.py
index 9b6e30e8ea..a6dbe25773 100644
--- a/var/spack/repos/builtin/packages/py-logilab-common/package.py
+++ b/var/spack/repos/builtin/packages/py-logilab-common/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class PyLogilabCommon(PythonPackage):
"""Common modules used by Logilab projects"""
+
homepage = "https://www.logilab.org/project/logilab-common"
pypi = "logilab-common/logilab-common-1.2.0.tar.gz"
- version('1.4.2', sha256='cdda9ed0deca7c68f87f7a404ad742e47aaa1ca5956d12988236a5ec3bda13a0')
- version('1.2.0', sha256='d4e5cec3be3a89f06ff05e359a221e69bd1da33cb7096cad648ddcccea8465b7')
+ version("1.4.2", sha256="cdda9ed0deca7c68f87f7a404ad742e47aaa1ca5956d12988236a5ec3bda13a0")
+ version("1.2.0", sha256="d4e5cec3be3a89f06ff05e359a221e69bd1da33cb7096cad648ddcccea8465b7")
- extends('python', ignore=r'bin/pytest')
- depends_on("py-setuptools", type=('build', 'run'))
- depends_on("py-six@1.4.0:", type=('build', 'run'))
- depends_on("py-unittest2@0.5.1:", type=('build', 'run'), when='^python@:2.7')
+ extends("python", ignore=r"bin/pytest")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.4.0:", type=("build", "run"))
+ depends_on("py-unittest2@0.5.1:", type=("build", "run"), when="^python@:2.7")
diff --git a/var/spack/repos/builtin/packages/py-louie/package.py b/var/spack/repos/builtin/packages/py-louie/package.py
index f5e2d8264b..65b9993878 100644
--- a/var/spack/repos/builtin/packages/py-louie/package.py
+++ b/var/spack/repos/builtin/packages/py-louie/package.py
@@ -13,9 +13,9 @@ class PyLouie(PythonPackage):
recipe in the Python Cookbook."""
homepage = "https://github.com/11craft/louie/"
- url = "https://github.com/11craft/louie/archive/2.0.tar.gz"
+ url = "https://github.com/11craft/louie/archive/2.0.tar.gz"
- version('2.0', sha256='ac274ef672511357fc15d784df841c238ae13d00964094571eebabb0b14c54b2')
- version('1.1', sha256='4bc227171fc546d1a527ee3059fa17df6d35a0acc10db1f942dd3da42ad96408')
+ version("2.0", sha256="ac274ef672511357fc15d784df841c238ae13d00964094571eebabb0b14c54b2")
+ version("1.1", sha256="4bc227171fc546d1a527ee3059fa17df6d35a0acc10db1f942dd3da42ad96408")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-lru-dict/package.py b/var/spack/repos/builtin/packages/py-lru-dict/package.py
index 6eb225e245..2eaf7e65d4 100644
--- a/var/spack/repos/builtin/packages/py-lru-dict/package.py
+++ b/var/spack/repos/builtin/packages/py-lru-dict/package.py
@@ -13,7 +13,7 @@ class PyLruDict(PythonPackage):
homepage = "https://github.com/amitdev/lru-dict"
pypi = "lru-dict/lru-dict-1.1.6.tar.gz"
- version('1.1.6', sha256='365457660e3d05b76f1aba3e0f7fedbfcd6528e97c5115a351ddd0db488354cc')
+ version("1.1.6", sha256="365457660e3d05b76f1aba3e0f7fedbfcd6528e97c5115a351ddd0db488354cc")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
index 308e0e84bf..aca1de8fec 100644
--- a/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
+++ b/var/spack/repos/builtin/packages/py-lscsoft-glue/package.py
@@ -14,10 +14,10 @@ class PyLscsoftGlue(PythonPackage):
homepage = "https://www.lsc-group.phys.uwm.edu/daswg/projects/glue.html"
pypi = "lscsoft-glue/lscsoft-glue-2.0.0.tar.gz"
- version('2.0.0', sha256='9bdfaebe4c921d83d1e3d1ca24379a644665e9d7530e7070665f387767c66923')
+ version("2.0.0", sha256="9bdfaebe4c921d83d1e3d1ca24379a644665e9d7530e7070665f387767c66923")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pyopenssl', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-ligo-segments', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pyopenssl", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-ligo-segments", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-luigi/package.py b/var/spack/repos/builtin/packages/py-luigi/package.py
index 1b725a6f88..eeb28a7daa 100644
--- a/var/spack/repos/builtin/packages/py-luigi/package.py
+++ b/var/spack/repos/builtin/packages/py-luigi/package.py
@@ -12,27 +12,27 @@ class PyLuigi(PythonPackage):
homepage = "https://github.com/spotify/luigi"
pypi = "luigi/luigi-2.8.3.tar.gz"
- version('3.1.0', sha256='1ae7d76e6f8889e9ed40c699891f990eb6697c974eeaf8ab010f0dfc3766adf1')
- version('3.0.3', sha256='7edc05a32bcff5aad28d7c7e3b15b761ef13fe2a495692602ebf0800eba66849')
- version('3.0.2', sha256='b4b1ccf086586d041d7e91e68515d495c550f30e4d179d63863fea9ccdbb78eb')
- version('3.0.1', sha256='f158f4e093638bf734e2f4f08261bdba414bac7187ab69f1d6f8c95b1c408409')
- version('2.8.3', sha256='8b5c84a3c3f4df07309056d3b98348b93c054f1931b7ee22fc29e7989f645c9e')
+ version("3.1.0", sha256="1ae7d76e6f8889e9ed40c699891f990eb6697c974eeaf8ab010f0dfc3766adf1")
+ version("3.0.3", sha256="7edc05a32bcff5aad28d7c7e3b15b761ef13fe2a495692602ebf0800eba66849")
+ version("3.0.2", sha256="b4b1ccf086586d041d7e91e68515d495c550f30e4d179d63863fea9ccdbb78eb")
+ version("3.0.1", sha256="f158f4e093638bf734e2f4f08261bdba414bac7187ab69f1d6f8c95b1c408409")
+ version("2.8.3", sha256="8b5c84a3c3f4df07309056d3b98348b93c054f1931b7ee22fc29e7989f645c9e")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@3.3:', type=('build', 'run'), when='@3.0.0:')
- depends_on('python@3.5:', type=('build', 'run'), when='@3.0.2:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@3.3:", type=("build", "run"), when="@3.0.0:")
+ depends_on("python@3.5:", type=("build", "run"), when="@3.0.2:")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-enum34@1.1.1:', when='^python@:3.3', type=('build', 'run'))
+ depends_on("py-enum34@1.1.1:", when="^python@:3.3", type=("build", "run"))
- depends_on('py-tornado@4.0:4', type=('build', 'run'), when='@:2')
- depends_on('py-tornado@5.0:5', type=('build', 'run'), when='@3.0.1')
- depends_on('py-tornado@5.0:6', type=('build', 'run'), when='@3.0.2:')
+ depends_on("py-tornado@4.0:4", type=("build", "run"), when="@:2")
+ depends_on("py-tornado@5.0:5", type=("build", "run"), when="@3.0.1")
+ depends_on("py-tornado@5.0:6", type=("build", "run"), when="@3.0.2:")
- depends_on('py-tenacity@6.3.0:6', type=('build', 'run'), when='@3.0.3:3.0')
- depends_on('py-tenacity@8.0.0:8', type=('build', 'run'), when='@3.1:')
+ depends_on("py-tenacity@6.3.0:6", type=("build", "run"), when="@3.0.3:3.0")
+ depends_on("py-tenacity@8.0.0:8", type=("build", "run"), when="@3.1:")
- depends_on('py-python-daemon', type=('build', 'run'))
+ depends_on("py-python-daemon", type=("build", "run"))
- depends_on('py-python-dateutil@2.7.5:2', when='@2.8.3:', type=('build', 'run'))
+ depends_on("py-python-dateutil@2.7.5:2", when="@2.8.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lws/package.py b/var/spack/repos/builtin/packages/py-lws/package.py
index 488bf73804..c934b15488 100644
--- a/var/spack/repos/builtin/packages/py-lws/package.py
+++ b/var/spack/repos/builtin/packages/py-lws/package.py
@@ -11,15 +11,15 @@ class PyLws(PythonPackage):
"""Fast spectrogram phase recovery using Local Weighted Sums"""
homepage = "https://pypi.org/project/lws/"
- pypi = "lws/lws-1.2.6.tar.gz"
+ pypi = "lws/lws-1.2.6.tar.gz"
- version('1.2.6', sha256='ac94834832aadfcd53fcf4a77e1d95155063b39adbce14c733f8345bdac76e87')
+ version("1.2.6", sha256="ac94834832aadfcd53fcf4a77e1d95155063b39adbce14c733f8345bdac76e87")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-cython', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-cython", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('LWS_USE_CYTHON', 1)
+ env.set("LWS_USE_CYTHON", 1)
diff --git a/var/spack/repos/builtin/packages/py-lxml/package.py b/var/spack/repos/builtin/packages/py-lxml/package.py
index 487725638d..91b762f091 100644
--- a/var/spack/repos/builtin/packages/py-lxml/package.py
+++ b/var/spack/repos/builtin/packages/py-lxml/package.py
@@ -14,25 +14,25 @@ class PyLxml(PythonPackage):
pypi = "lxml/lxml-4.6.1.tar.gz"
git = "https://github.com/lxml/lxml"
- version('4.8.0', sha256='f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23')
- version('4.6.4', sha256='daf9bd1fee31f1c7a5928b3e1059e09a8d683ea58fb3ffc773b6c88cb8d1399c')
- version('4.6.3', sha256='39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468')
- version('4.6.1', sha256='c152b2e93b639d1f36ec5a8ca24cde4a8eefb2b6b83668fcd8e83a67badcb367')
- version('4.5.2', sha256='cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6')
- version('4.4.1', sha256='c81cb40bff373ab7a7446d6bbca0190bccc5be3448b47b51d729e37799bb5692')
- version('4.3.3', sha256='4a03dd682f8e35a10234904e0b9508d705ff98cf962c5851ed052e9340df3d90')
- version('4.2.5', sha256='36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f')
- version('3.7.3', sha256='aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7')
- version('2.3', sha256='eea1b8d29532739c1383cb4794c5eacd6176f0972b59e8d29348335b87ff2e66')
+ version("4.8.0", sha256="f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23")
+ version("4.6.4", sha256="daf9bd1fee31f1c7a5928b3e1059e09a8d683ea58fb3ffc773b6c88cb8d1399c")
+ version("4.6.3", sha256="39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468")
+ version("4.6.1", sha256="c152b2e93b639d1f36ec5a8ca24cde4a8eefb2b6b83668fcd8e83a67badcb367")
+ version("4.5.2", sha256="cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6")
+ version("4.4.1", sha256="c81cb40bff373ab7a7446d6bbca0190bccc5be3448b47b51d729e37799bb5692")
+ version("4.3.3", sha256="4a03dd682f8e35a10234904e0b9508d705ff98cf962c5851ed052e9340df3d90")
+ version("4.2.5", sha256="36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f")
+ version("3.7.3", sha256="aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7")
+ version("2.3", sha256="eea1b8d29532739c1383cb4794c5eacd6176f0972b59e8d29348335b87ff2e66")
- variant('html5', default=False, description='Enable html5lib backend')
- variant('htmlsoup', default=False, description='Enable BeautifulSoup4 backend')
- variant('cssselect', default=False, description='Enable cssselect module')
+ variant("html5", default=False, description="Enable html5lib backend")
+ variant("htmlsoup", default=False, description="Enable BeautifulSoup4 backend")
+ variant("cssselect", default=False, description="Enable cssselect module")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('libxml2@2.9.2:', type=('build', 'link', 'run'))
- depends_on('libxslt@1.1.27:', type=('build', 'link', 'run'))
- depends_on('py-html5lib', when='+html5', type=('build', 'run'))
- depends_on('py-beautifulsoup4', when='+htmlsoup', type=('build', 'run'))
- depends_on('py-cssselect@0.7:', when='+cssselect', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("libxml2@2.9.2:", type=("build", "link", "run"))
+ depends_on("libxslt@1.1.27:", type=("build", "link", "run"))
+ depends_on("py-html5lib", when="+html5", type=("build", "run"))
+ depends_on("py-beautifulsoup4", when="+htmlsoup", type=("build", "run"))
+ depends_on("py-cssselect@0.7:", when="+cssselect", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lz4/package.py b/var/spack/repos/builtin/packages/py-lz4/package.py
index 4aa7a21566..e8e13181e8 100644
--- a/var/spack/repos/builtin/packages/py-lz4/package.py
+++ b/var/spack/repos/builtin/packages/py-lz4/package.py
@@ -12,12 +12,12 @@ class PyLz4(PythonPackage):
homepage = "https://github.com/python-lz4/python-lz4"
pypi = "lz4/lz4-3.1.0.tar.gz"
- version('3.1.3', sha256='081ef0a3b5941cb03127f314229a1c78bd70c9c220bb3f4dd80033e707feaa18')
- version('3.1.0', sha256='debe75513db3eb9e5cdcd82a329ff38374b6316ab65b848b571e0404746c1e05')
+ version("3.1.3", sha256="081ef0a3b5941cb03127f314229a1c78bd70c9c220bb3f4dd80033e707feaa18")
+ version("3.1.0", sha256="debe75513db3eb9e5cdcd82a329ff38374b6316ab65b848b571e0404746c1e05")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pkgconfig', type='build')
- depends_on('lz4@1.7.5:')
- depends_on('py-future', when='^python@:2', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pkgconfig", type="build")
+ depends_on("lz4@1.7.5:")
+ depends_on("py-future", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-lzstring/package.py b/var/spack/repos/builtin/packages/py-lzstring/package.py
index 7bb7438c11..e96382f8c7 100644
--- a/var/spack/repos/builtin/packages/py-lzstring/package.py
+++ b/var/spack/repos/builtin/packages/py-lzstring/package.py
@@ -12,7 +12,7 @@ class PyLzstring(PythonPackage):
homepage = "https://github.com/gkovacs/lz-string-python"
pypi = "lzstring/lzstring-1.0.3.tar.gz"
- version('1.0.3', sha256='d54dd5a5f86837ccfc1343cc9f1cb0674d2d6ebd4b49f6408c35104f0a996cb4')
+ version("1.0.3", sha256="d54dd5a5f86837ccfc1343cc9f1cb0674d2d6ebd4b49f6408c35104f0a996cb4")
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-m2r/package.py b/var/spack/repos/builtin/packages/py-m2r/package.py
index 1f72ac7606..c84e2766f1 100644
--- a/var/spack/repos/builtin/packages/py-m2r/package.py
+++ b/var/spack/repos/builtin/packages/py-m2r/package.py
@@ -11,19 +11,19 @@ class PyM2r(PythonPackage):
a valid rst format."""
homepage = "https://github.com/miyakogi/m2r"
- url = "https://github.com/miyakogi/m2r/archive/v0.2.1.tar.gz"
+ url = "https://github.com/miyakogi/m2r/archive/v0.2.1.tar.gz"
- version('0.2.1', sha256='9286c1a5d7548f34b0a12017444e4c441781bef4b71f321f723e314b76b6c498')
- version('0.2.0', sha256='e9b7476203c4a5e3b822eb0ef110011d7b427d2c0dbdc4030f9cbcd239fbd4d6')
- version('0.1.15', sha256='4ca4c73385512f6e54db8e152ba157fc3eea84f9e942fe60a12ace5078ff83df')
- version('0.1.14', sha256='d8f844cc6f0c954e55eb3d599e436b337e7f97559dafa7ff54412a5f06f0867c')
- version('0.1.13', sha256='97f81a45b922f7700e0c0dfd742c79d904e337e92ec4241a11aa579713a1afa4')
- version('0.1.12', sha256='585b5b4e30494858de49ad844cafeb752bd12764fd6c20ca8496ddd4be5e8d21')
- version('0.1.11', sha256='a29ef03a0b67116ba8e394a4b3f8afc354211b899f89dedf9c4c0b79828e9ca7')
- version('0.1.10', sha256='4c7a92f111ac842b9c4d3719b8d785b26cb1cf6e81ec0940f8fe0ccc078e6925')
- version('0.1.9', sha256='86fe3c8c54a59807e0ef8cfe5a79fc013b4aaced1f3db493878f5ec1a46bb6d5')
- version('0.1.8', sha256='2bfeb2f3de5f9fe9cd411aba82767a6473a43db96ca1730c03b0fe0167239b7e')
+ version("0.2.1", sha256="9286c1a5d7548f34b0a12017444e4c441781bef4b71f321f723e314b76b6c498")
+ version("0.2.0", sha256="e9b7476203c4a5e3b822eb0ef110011d7b427d2c0dbdc4030f9cbcd239fbd4d6")
+ version("0.1.15", sha256="4ca4c73385512f6e54db8e152ba157fc3eea84f9e942fe60a12ace5078ff83df")
+ version("0.1.14", sha256="d8f844cc6f0c954e55eb3d599e436b337e7f97559dafa7ff54412a5f06f0867c")
+ version("0.1.13", sha256="97f81a45b922f7700e0c0dfd742c79d904e337e92ec4241a11aa579713a1afa4")
+ version("0.1.12", sha256="585b5b4e30494858de49ad844cafeb752bd12764fd6c20ca8496ddd4be5e8d21")
+ version("0.1.11", sha256="a29ef03a0b67116ba8e394a4b3f8afc354211b899f89dedf9c4c0b79828e9ca7")
+ version("0.1.10", sha256="4c7a92f111ac842b9c4d3719b8d785b26cb1cf6e81ec0940f8fe0ccc078e6925")
+ version("0.1.9", sha256="86fe3c8c54a59807e0ef8cfe5a79fc013b4aaced1f3db493878f5ec1a46bb6d5")
+ version("0.1.8", sha256="2bfeb2f3de5f9fe9cd411aba82767a6473a43db96ca1730c03b0fe0167239b7e")
- depends_on('py-setuptools', type='build')
- depends_on('py-mistune@:1', type=('build', 'run'))
- depends_on('py-docutils', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-mistune@:1", type=("build", "run"))
+ depends_on("py-docutils", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-macholib/package.py b/var/spack/repos/builtin/packages/py-macholib/package.py
index 9566945fb1..d939fd3687 100644
--- a/var/spack/repos/builtin/packages/py-macholib/package.py
+++ b/var/spack/repos/builtin/packages/py-macholib/package.py
@@ -11,7 +11,7 @@ class PyMacholib(PythonPackage):
pypi = "macholib/macholib-1.11.tar.gz"
- version('1.11', 'c4180ffc6f909bf8db6cd81cff4b6f601d575568f4d5dee148c830e9851eb9db')
+ version("1.11", "c4180ffc6f909bf8db6cd81cff4b6f601d575568f4d5dee148c830e9851eb9db")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-altgraph', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-altgraph", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-machotools/package.py b/var/spack/repos/builtin/packages/py-machotools/package.py
index 4feb0d05fd..675aec5d8f 100644
--- a/var/spack/repos/builtin/packages/py-machotools/package.py
+++ b/var/spack/repos/builtin/packages/py-machotools/package.py
@@ -11,7 +11,7 @@ class PyMachotools(PythonPackage):
pypi = "machotools/machotools-0.2.0.tar.gz"
- version('0.2.0', sha256='e3950fa263169087d44a3d0521a3267d5128efd1b85252670c7171955939ab58')
+ version("0.2.0", sha256="e3950fa263169087d44a3d0521a3267d5128efd1b85252670c7171955939ab58")
- depends_on('py-setuptools', type='build')
- depends_on('py-macholib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-macholib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-macs2/package.py b/var/spack/repos/builtin/packages/py-macs2/package.py
index 679d65b19a..a615de4e8f 100644
--- a/var/spack/repos/builtin/packages/py-macs2/package.py
+++ b/var/spack/repos/builtin/packages/py-macs2/package.py
@@ -13,17 +13,19 @@ class PyMacs2(PythonPackage):
homepage = "https://github.com/taoliu/MACS"
pypi = "MACS2/MACS2-2.2.4.tar.gz"
- version('2.2.4', sha256='b131aadc8f5fd94bec35308b821e1f7585def788d2e7c756fc8cac402ffee25b')
- version('2.1.4', sha256='e4966d001914320829ab859c7bc8e92c6410aa7bdbddfd00b7625e9a0fb15c97')
- version('2.1.3.3', sha256='00959e523f45ed92b8429f55944eca6984623ac008d7cdb488c3ffe59c21984a')
- version('2.1.1.20160309', sha256='2008ba838f83f34f8e0fddefe2a3a0159f4a740707c68058f815b31ddad53d26')
+ version("2.2.4", sha256="b131aadc8f5fd94bec35308b821e1f7585def788d2e7c756fc8cac402ffee25b")
+ version("2.1.4", sha256="e4966d001914320829ab859c7bc8e92c6410aa7bdbddfd00b7625e9a0fb15c97")
+ version("2.1.3.3", sha256="00959e523f45ed92b8429f55944eca6984623ac008d7cdb488c3ffe59c21984a")
+ version(
+ "2.1.1.20160309", sha256="2008ba838f83f34f8e0fddefe2a3a0159f4a740707c68058f815b31ddad53d26"
+ )
- depends_on('python@3.5:', when='@2.2:', type=('build', 'run'))
- depends_on('python@2.7:2.8', when='@:2.1', type=('build', 'run'))
- depends_on('py-cython', type='build')
+ depends_on("python@3.5:", when="@2.2:", type=("build", "run"))
+ depends_on("python@2.7:2.8", when="@:2.1", type=("build", "run"))
+ depends_on("py-cython", type="build")
# Most Python packages only require py-setuptools as a build dependency.
# However, py-macs2 requires py-setuptools during runtime as well.
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@2.2:', type=('build', 'run'))
- depends_on('py-numpy@1.16:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@2.2:", type=("build", "run"))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-maestrowf/package.py b/var/spack/repos/builtin/packages/py-maestrowf/package.py
index 1fd816bbe0..5fe5b4f395 100644
--- a/var/spack/repos/builtin/packages/py-maestrowf/package.py
+++ b/var/spack/repos/builtin/packages/py-maestrowf/package.py
@@ -8,48 +8,52 @@ from spack.package import *
class PyMaestrowf(PythonPackage):
"""A general purpose workflow conductor for running multi-step
- simulation studies."""
+ simulation studies."""
homepage = "https://github.com/LLNL/maestrowf/"
pypi = "maestrowf/maestrowf-1.1.8.tar.gz"
- git = "https://github.com/LLNL/maestrowf/"
- tags = ['radiuss']
+ git = "https://github.com/LLNL/maestrowf/"
+ tags = ["radiuss"]
- maintainers = ['FrankD412']
+ maintainers = ["FrankD412"]
# git branches
- version('develop', branch='develop')
- version('master', branch='master')
+ version("develop", branch="develop")
+ version("master", branch="master")
# Development versions
- version('1.1.9dev1', tag='1.1.9dev1')
+ version("1.1.9dev1", tag="1.1.9dev1")
# Pre-release candidates
- version('1.1.7dev0', sha256='bcef838f13da396dd33cc7f503655de7a8f16ee5fe7b1e2a553044334a03f1f0')
+ version("1.1.7dev0", sha256="bcef838f13da396dd33cc7f503655de7a8f16ee5fe7b1e2a553044334a03f1f0")
# pypi releases
- version('1.1.8', sha256='fa8f8eb8dd3adfb9646d7b0dfd498a00423d2131adbc8dbc8016c4159b2ec1d5', preferred=True)
- version('1.1.7', sha256='ff1b6696f30254b105fcadd297ad437c0c666ebc70124b231a713b89f47f4e94')
- version('1.1.6', sha256='9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756')
- version('1.1.4', sha256='6603b93494e8e9d939a4ab40ecdfe7923a85960a8a8bddea4734e230d8144016')
- version('1.1.3', sha256='9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756')
- version('1.1.2', sha256='6998ba2c6ee4ef205c6d47d98cf35d5eaa184e1e859cc41b4120e2aa12c06df3')
- version('1.1.1', sha256='689ed42ba1fb214db0594756ff6015e466470103f726a5e5bf4d21c1086ad2b1')
- version('1.1.0', sha256='1bfec546831f2ef577d7823bb50dcd12622644dad0d3d761998eafd0905b6977')
- version('1.0.1', sha256='dd42ffeac1f0492a576c630b37e5d3593273e59664407f2ebf78d49322d37146')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.1.9:')
- depends_on('py-setuptools', type=('build'), when='@:1.1.8')
- depends_on('py-poetry@0.12:', type=('build'), when='@1.1.9:')
- depends_on('py-cryptography@:2', type=('build'))
- depends_on('py-pyyaml@4.2:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-enum34', type=('build', 'run'), when='@:1.1.3')
- depends_on('py-tabulate', type=('build', 'run'), when='@1.1.0:')
- depends_on('py-filelock', type=('build', 'run'), when='@1.1.0:')
- depends_on('py-coloredlogs', type=('build', 'run'), when='@1.1.7:')
- depends_on('py-chainmap', type=('build', 'run'), when='@1.1.7: ^python@:2')
- depends_on('py-dill', type=('build', 'run'), when='@1.1.7:')
- depends_on('py-jsonschema@3.2.0:', type=('build', 'run'), when='@1.1.7:')
+ version(
+ "1.1.8",
+ sha256="fa8f8eb8dd3adfb9646d7b0dfd498a00423d2131adbc8dbc8016c4159b2ec1d5",
+ preferred=True,
+ )
+ version("1.1.7", sha256="ff1b6696f30254b105fcadd297ad437c0c666ebc70124b231a713b89f47f4e94")
+ version("1.1.6", sha256="9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756")
+ version("1.1.4", sha256="6603b93494e8e9d939a4ab40ecdfe7923a85960a8a8bddea4734e230d8144016")
+ version("1.1.3", sha256="9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756")
+ version("1.1.2", sha256="6998ba2c6ee4ef205c6d47d98cf35d5eaa184e1e859cc41b4120e2aa12c06df3")
+ version("1.1.1", sha256="689ed42ba1fb214db0594756ff6015e466470103f726a5e5bf4d21c1086ad2b1")
+ version("1.1.0", sha256="1bfec546831f2ef577d7823bb50dcd12622644dad0d3d761998eafd0905b6977")
+ version("1.0.1", sha256="dd42ffeac1f0492a576c630b37e5d3593273e59664407f2ebf78d49322d37146")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.1.9:")
+ depends_on("py-setuptools", type=("build"), when="@:1.1.8")
+ depends_on("py-poetry@0.12:", type=("build"), when="@1.1.9:")
+ depends_on("py-cryptography@:2", type=("build"))
+ depends_on("py-pyyaml@4.2:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-enum34", type=("build", "run"), when="@:1.1.3")
+ depends_on("py-tabulate", type=("build", "run"), when="@1.1.0:")
+ depends_on("py-filelock", type=("build", "run"), when="@1.1.0:")
+ depends_on("py-coloredlogs", type=("build", "run"), when="@1.1.7:")
+ depends_on("py-chainmap", type=("build", "run"), when="@1.1.7: ^python@:2")
+ depends_on("py-dill", type=("build", "run"), when="@1.1.7:")
+ depends_on("py-jsonschema@3.2.0:", type=("build", "run"), when="@1.1.7:")
diff --git a/var/spack/repos/builtin/packages/py-magic/package.py b/var/spack/repos/builtin/packages/py-magic/package.py
index 325faf3a45..9d40743857 100644
--- a/var/spack/repos/builtin/packages/py-magic/package.py
+++ b/var/spack/repos/builtin/packages/py-magic/package.py
@@ -14,10 +14,14 @@ class PyMagic(PythonPackage):
"""
homepage = "https://github.com/ahupp/python-magic"
- url = "https://github.com/ahupp/python-magic/archive/0.4.15.tar.gz"
+ url = "https://github.com/ahupp/python-magic/archive/0.4.15.tar.gz"
- version('0.4.15', sha256='6d730389249ab1e34ffb0a3c5beaa44e116687ffa081e0176dab6c59ff271593', deprecated=True)
+ version(
+ "0.4.15",
+ sha256="6d730389249ab1e34ffb0a3c5beaa44e116687ffa081e0176dab6c59ff271593",
+ deprecated=True,
+ )
- depends_on('python@2.7.0:2.7,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('file', type='run')
+ depends_on("python@2.7.0:2.7,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("file", type="run")
diff --git a/var/spack/repos/builtin/packages/py-mailchecker/package.py b/var/spack/repos/builtin/packages/py-mailchecker/package.py
index ebe708950c..875dd18610 100644
--- a/var/spack/repos/builtin/packages/py-mailchecker/package.py
+++ b/var/spack/repos/builtin/packages/py-mailchecker/package.py
@@ -12,8 +12,8 @@ class PyMailchecker(PythonPackage):
throwable email providers"""
homepage = "https://github.com/FGRibreau/mailchecker"
- pypi = "mailchecker/mailchecker-4.0.3.tar.gz"
+ pypi = "mailchecker/mailchecker-4.0.3.tar.gz"
- version('4.0.3', sha256='00dbe9739c754366233eb3887c5deef987672482a26e814314c3e749fc7b1d1f')
+ version("4.0.3", sha256="00dbe9739c754366233eb3887c5deef987672482a26e814314c3e749fc7b1d1f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-make/package.py b/var/spack/repos/builtin/packages/py-make/package.py
index 2e3a494e3d..a26790a9f8 100644
--- a/var/spack/repos/builtin/packages/py-make/package.py
+++ b/var/spack/repos/builtin/packages/py-make/package.py
@@ -10,11 +10,11 @@ class PyMake(PythonPackage):
"""Create project layout from jinja2 templates"""
homepage = "https://github.com/fholmer/make"
- git = "https://github.com/fholmer/make.git"
+ git = "https://github.com/fholmer/make.git"
- version('0.1.6.post2', commit='ce2ef5834837a35dba5f2bea8866b61c8907c83a')
- version('0.1.6', commit='c6e2615d01d8d5f58181e39d0f594fe5baae3c5f')
+ version("0.1.6.post2", commit="ce2ef5834837a35dba5f2bea8866b61c8907c83a")
+ version("0.1.6", commit="c6e2615d01d8d5f58181e39d0f594fe5baae3c5f")
- depends_on('py-setuptools', type='build')
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-jinja2-time', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-jinja2-time", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index 56feeb186a..a8b040c676 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class PyMako(PythonPackage):
"""A super-fast templating language that borrows the best
- ideas from the existing templating languages."""
+ ideas from the existing templating languages."""
homepage = "https://www.makotemplates.org/"
pypi = "Mako/Mako-1.0.1.tar.gz"
git = "https://github.com/sqlalchemy/mako"
- version('1.1.6', sha256='4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2')
- version('1.1.5', sha256='169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3')
- version('1.1.4', sha256='17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab')
- version('1.0.4', sha256='fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059')
- version('1.0.1', sha256='45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c')
+ version("1.1.6", sha256="4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2")
+ version("1.1.5", sha256="169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3")
+ version("1.1.4", sha256="17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab")
+ version("1.0.4", sha256="fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059")
+ version("1.0.1", sha256="45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c")
- depends_on('python@2.7:2,3.4:', when='@1.1.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-markupsafe@0.9.2:', type=('build', 'run'))
+ depends_on("python@2.7:2,3.4:", when="@1.1.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-markupsafe@0.9.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mapclassify/package.py b/var/spack/repos/builtin/packages/py-mapclassify/package.py
index 419f740d70..8a3f2cb14b 100644
--- a/var/spack/repos/builtin/packages/py-mapclassify/package.py
+++ b/var/spack/repos/builtin/packages/py-mapclassify/package.py
@@ -12,13 +12,13 @@ class PyMapclassify(PythonPackage):
homepage = "https://github.com/pysal/mapclassify"
pypi = "mapclassify/mapclassify-2.4.2.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('2.4.2', sha256='bc20954aa433466f5fbc572e3f23b05f9606b59209f40b0ded93ac1ca983d24e')
+ version("2.4.2", sha256="bc20954aa433466f5fbc572e3f23b05f9606b59209f40b0ded93ac1ca983d24e")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-numpy@1.3:', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-pandas@1.0:', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.3:", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-pandas@1.0:", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-markdown-include/package.py b/var/spack/repos/builtin/packages/py-markdown-include/package.py
index 44bae173a0..b64dd14f05 100644
--- a/var/spack/repos/builtin/packages/py-markdown-include/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown-include/package.py
@@ -11,12 +11,12 @@ class PyMarkdownInclude(PythonPackage):
function, similar to that found in LaTeX (and also the
C pre-processor and Fortran)."""
- pypi = "markdown-include/markdown-include-0.6.0.tar.gz"
+ pypi = "markdown-include/markdown-include-0.6.0.tar.gz"
- maintainers = ['wscullin']
+ maintainers = ["wscullin"]
- version('0.6.0', sha256='6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2')
+ version("0.6.0", sha256="6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-markdown', type=('build', 'run'))
+ depends_on("py-markdown", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-markdown-it-py/package.py b/var/spack/repos/builtin/packages/py-markdown-it-py/package.py
index f56f244a3c..8b8087d5ea 100644
--- a/var/spack/repos/builtin/packages/py-markdown-it-py/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown-it-py/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class PyMarkdownItPy(PythonPackage):
"""Markdown parser, done right.
- 100% CommonMark support, extensions, syntax plugins & high speed """
+ 100% CommonMark support, extensions, syntax plugins & high speed"""
homepage = "https://github.com/executablebooks/markdown-it-py"
- git = "https://github.com/executablebooks/markdown-it-py"
- pypi = "markdown-it-py/markdown-it-py-1.1.0.tar.gz"
+ git = "https://github.com/executablebooks/markdown-it-py"
+ pypi = "markdown-it-py/markdown-it-py-1.1.0.tar.gz"
- version('1.1.0', sha256='36be6bb3ad987bfdb839f5ba78ddf094552ca38ccbd784ae4f74a4e1419fc6e3')
+ version("1.1.0", sha256="36be6bb3ad987bfdb839f5ba78ddf094552ca38ccbd784ae4f74a4e1419fc6e3")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-attrs@19:21', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-attrs@19:21", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"), when="^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-markdown/package.py b/var/spack/repos/builtin/packages/py-markdown/package.py
index e68f26f529..5975d5d09c 100644
--- a/var/spack/repos/builtin/packages/py-markdown/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown/package.py
@@ -17,26 +17,26 @@ class PyMarkdown(PythonPackage):
homepage = "https://python-markdown.github.io/"
pypi = "markdown/Markdown-2.6.11.tar.gz"
- version('3.3.4', sha256='31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49')
- version('3.1.1', sha256='2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a')
- version('2.6.11', sha256='a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81')
- version('2.6.7', sha256='daebf24846efa7ff269cfde8c41a48bb2303920c7b2c7c5e04fa82e6282d05c0')
- version('2.6.6', sha256='9a292bb40d6d29abac8024887bcfc1159d7a32dc1d6f1f6e8d6d8e293666c504')
- version('2.6.5', sha256='8d94cf6273606f76753fcb1324623792b3738c7612c2b180c85cc5e88642e560')
- version('2.6.4', sha256='e436eee7aaf2a230ca3315034dd39e8a0fc27036708acaa3dd70625ec62a94ce')
- version('2.6.3', sha256='ad75fc03c45492eba3bc63645e1e6465f65523a05fff0abf36910f810465a9af')
- version('2.6.2', sha256='ee17d0d7dc091e645dd48302a2e21301cc68f188505c2069d8635f94554170bf')
- version('2.6.1', sha256='b5879b87e8e5c125c92ab8c8f3babce78ad4e840446eed73c5b6e2984648d2b1')
- version('2.6', sha256='e1c8a489bb7c7154bc5a8c14f0fd1fc356ee36c8b9988f9fd8febff22dd435da')
- version('2.5.2', sha256='284e97e56db9ada03ede9c0ed2870ca6590ce7869f3119104d53510debf1533d')
- version('2.5.1', sha256='8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73')
- version('2.5', sha256='6ba74a1e7141c9603750d80711b639a7577bffb785708e6260090239ee5bc76d')
-
- depends_on('python@2.7:2.8,3.2:3.4', when='@:2.6.7')
- depends_on('python@2.7:2.8,3.2:3.6', when='@2.6.8:2.6.11')
- depends_on('python@2.7:2.8,3.3.5:', when='@3.1.1:')
- depends_on('python@3.6:', when='@3.3.4:')
-
- depends_on('py-setuptools', type='build', when='@2.6.11:')
- depends_on('py-setuptools@36.6:', type='build', when='@3.1:')
- depends_on('py-importlib-metadata', type=('build', 'run'), when='@3.3.4: ^python@:3.7')
+ version("3.3.4", sha256="31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49")
+ version("3.1.1", sha256="2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
+ version("2.6.11", sha256="a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81")
+ version("2.6.7", sha256="daebf24846efa7ff269cfde8c41a48bb2303920c7b2c7c5e04fa82e6282d05c0")
+ version("2.6.6", sha256="9a292bb40d6d29abac8024887bcfc1159d7a32dc1d6f1f6e8d6d8e293666c504")
+ version("2.6.5", sha256="8d94cf6273606f76753fcb1324623792b3738c7612c2b180c85cc5e88642e560")
+ version("2.6.4", sha256="e436eee7aaf2a230ca3315034dd39e8a0fc27036708acaa3dd70625ec62a94ce")
+ version("2.6.3", sha256="ad75fc03c45492eba3bc63645e1e6465f65523a05fff0abf36910f810465a9af")
+ version("2.6.2", sha256="ee17d0d7dc091e645dd48302a2e21301cc68f188505c2069d8635f94554170bf")
+ version("2.6.1", sha256="b5879b87e8e5c125c92ab8c8f3babce78ad4e840446eed73c5b6e2984648d2b1")
+ version("2.6", sha256="e1c8a489bb7c7154bc5a8c14f0fd1fc356ee36c8b9988f9fd8febff22dd435da")
+ version("2.5.2", sha256="284e97e56db9ada03ede9c0ed2870ca6590ce7869f3119104d53510debf1533d")
+ version("2.5.1", sha256="8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73")
+ version("2.5", sha256="6ba74a1e7141c9603750d80711b639a7577bffb785708e6260090239ee5bc76d")
+
+ depends_on("python@2.7:2.8,3.2:3.4", when="@:2.6.7")
+ depends_on("python@2.7:2.8,3.2:3.6", when="@2.6.8:2.6.11")
+ depends_on("python@2.7:2.8,3.3.5:", when="@3.1.1:")
+ depends_on("python@3.6:", when="@3.3.4:")
+
+ depends_on("py-setuptools", type="build", when="@2.6.11:")
+ depends_on("py-setuptools@36.6:", type="build", when="@3.1:")
+ depends_on("py-importlib-metadata", type=("build", "run"), when="@3.3.4: ^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-markdown2/package.py b/var/spack/repos/builtin/packages/py-markdown2/package.py
index f6af893e27..db24114905 100644
--- a/var/spack/repos/builtin/packages/py-markdown2/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown2/package.py
@@ -10,9 +10,9 @@ class PyMarkdown2(PythonPackage):
"""A fast and complete Python implementation of Markdown."""
homepage = "https://github.com/trentm/python-markdown2"
- pypi = "markdown2/markdown2-2.3.9.tar.gz"
+ pypi = "markdown2/markdown2-2.3.9.tar.gz"
- version('2.4.0', sha256='28d769f0e544e6f68f684f01e9b186747b079a6927d9ca77ebc8c640a2829b1b')
+ version("2.4.0", sha256="28d769f0e544e6f68f684f01e9b186747b079a6927d9ca77ebc8c640a2829b1b")
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-markovify/package.py b/var/spack/repos/builtin/packages/py-markovify/package.py
index 673ccc5070..30e4a1ec0c 100644
--- a/var/spack/repos/builtin/packages/py-markovify/package.py
+++ b/var/spack/repos/builtin/packages/py-markovify/package.py
@@ -15,7 +15,7 @@ class PyMarkovify(PythonPackage):
homepage = "https://github.com/jsvine/markovify"
pypi = "markovify/markovify-0.8.3.tar.gz"
- version('0.8.3', sha256='254405c5b2f819ae388c39a53e6bc038bfbc24713441869ce90a1cd67e4a89ce')
+ version("0.8.3", sha256="254405c5b2f819ae388c39a53e6bc038bfbc24713441869ce90a1cd67e4a89ce")
- depends_on('py-setuptools', type='build')
- depends_on('py-unidecode', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-unidecode", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index 85439fb00b..dc927a3c73 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -15,15 +15,15 @@ class PyMarkupsafe(PythonPackage):
homepage = "https://markupsafe.palletsprojects.com"
pypi = "MarkupSafe/MarkupSafe-1.1.1.tar.gz"
- version('2.0.1', sha256='594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a')
- version('1.1.1', sha256='29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b')
- version('1.0', sha256='a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665')
- version('0.23', sha256='a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3')
- version('0.22', sha256='7642852b6d1e55c9e12e00a552c0b8943880f2172e55141ccb41eb5f8675dfa5')
- version('0.21', sha256='c6465cd6ed2b96509ef0100e7fff8718ed52c2affab1860ed5a9b67f604dd59a')
- version('0.20', sha256='f6cf3bd233f9ea6147b21c7c02cac24e5363570ce4fd6be11dab9f499ed6a7d8')
- version('0.19', sha256='62fcc5d641df8b5ad271ebbd6b77a19cd92eceba1e1a990de4e96c867789f037')
+ version("2.0.1", sha256="594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a")
+ version("1.1.1", sha256="29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
+ version("1.0", sha256="a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665")
+ version("0.23", sha256="a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3")
+ version("0.22", sha256="7642852b6d1e55c9e12e00a552c0b8943880f2172e55141ccb41eb5f8675dfa5")
+ version("0.21", sha256="c6465cd6ed2b96509ef0100e7fff8718ed52c2affab1860ed5a9b67f604dd59a")
+ version("0.20", sha256="f6cf3bd233f9ea6147b21c7c02cac24e5363570ce4fd6be11dab9f499ed6a7d8")
+ version("0.19", sha256="62fcc5d641df8b5ad271ebbd6b77a19cd92eceba1e1a990de4e96c867789f037")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-marshmallow/package.py b/var/spack/repos/builtin/packages/py-marshmallow/package.py
index 246a862b71..3926ddd249 100644
--- a/var/spack/repos/builtin/packages/py-marshmallow/package.py
+++ b/var/spack/repos/builtin/packages/py-marshmallow/package.py
@@ -11,12 +11,12 @@ class PyMarshmallow(PythonPackage):
complex datatypes, such as objects, to and from native Python datatypes."""
homepage = "https://github.com/marshmallow-code/marshmallow"
- pypi = "marshmallow/marshmallow-3.15.0.tar.gz"
+ pypi = "marshmallow/marshmallow-3.15.0.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('3.15.0', sha256='2aaaab4f01ef4f5a011a21319af9fce17ab13bf28a026d1252adab0e035648d5')
+ version("3.15.0", sha256="2aaaab4f01ef4f5a011a21319af9fce17ab13bf28a026d1252adab0e035648d5")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-packaging', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-packaging", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py b/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py
index 4b8fd0a08a..673ef97dc5 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py
@@ -10,11 +10,11 @@ class PyMatplotlibInline(PythonPackage):
"""Inline Matplotlib backend for Jupyter."""
homepage = "https://github.com/ipython/matplotlib-inline"
- pypi = "matplotlib-inline/matplotlib-inline-0.1.2.tar.gz"
+ pypi = "matplotlib-inline/matplotlib-inline-0.1.2.tar.gz"
- version('0.1.3', sha256='a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee')
- version('0.1.2', sha256='f41d5ff73c9f5385775d5c0bc13b424535c8402fe70ea8210f93e11f3683993e')
+ version("0.1.3", sha256="a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee")
+ 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'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-traitlets", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index cb10e1afe4..65ebfe24c9 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -16,166 +16,185 @@ class PyMatplotlib(PythonPackage):
homepage = "https://matplotlib.org/"
pypi = "matplotlib/matplotlib-3.3.2.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
import_modules = [
- 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axes_grid',
- 'mpl_toolkits.mplot3d', 'mpl_toolkits.axisartist', 'matplotlib',
- 'matplotlib.compat', 'matplotlib.tri', 'matplotlib.axes',
- 'matplotlib.sphinxext', 'matplotlib.cbook', 'matplotlib.backends',
- 'matplotlib.backends.qt_editor', 'matplotlib.style',
- 'matplotlib.projections', 'matplotlib.testing',
- 'matplotlib.testing.jpl_units', 'pylab'
+ "mpl_toolkits.axes_grid1",
+ "mpl_toolkits.axes_grid",
+ "mpl_toolkits.mplot3d",
+ "mpl_toolkits.axisartist",
+ "matplotlib",
+ "matplotlib.compat",
+ "matplotlib.tri",
+ "matplotlib.axes",
+ "matplotlib.sphinxext",
+ "matplotlib.cbook",
+ "matplotlib.backends",
+ "matplotlib.backends.qt_editor",
+ "matplotlib.style",
+ "matplotlib.projections",
+ "matplotlib.testing",
+ "matplotlib.testing.jpl_units",
+ "pylab",
]
- version('3.5.2', sha256='48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2')
- version('3.5.1', sha256='b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c')
- version('3.5.0', sha256='38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa')
- version('3.4.3', sha256='fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318')
- version('3.4.2', sha256='d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219')
- version('3.4.1', sha256='84d4c4f650f356678a5d658a43ca21a41fca13f9b8b00169c0b76e6a6a948908')
- version('3.4.0', sha256='424ddb3422c65b284a38a97eb48f5cb64b66a44a773e0c71281a347f1738f146')
- version('3.3.4', sha256='3e477db76c22929e4c6876c44f88d790aacdf3c3f8f3a90cb1975c0bf37825b0')
- version('3.3.3', sha256='b1b60c6476c4cfe9e5cf8ab0d3127476fd3d5f05de0f343a452badaad0e4bdec')
- version('3.3.2', sha256='3d2edbf59367f03cd9daf42939ca06383a7d7803e3993eb5ff1bee8e8a3fbb6b')
- version('3.3.1', sha256='87f53bcce90772f942c2db56736788b39332d552461a5cb13f05ff45c1680f0e')
- version('3.3.0', sha256='24e8db94948019d531ce0bcd637ac24b1c8f6744ac86d2aa0eb6dbaeb1386f82')
- version('3.2.2', sha256='3d77a6630d093d74cbbfebaa0571d00790966be1ed204e4a8239f5cbd6835c5d')
- version('3.2.1', sha256='ffe2f9cdcea1086fc414e82f42271ecf1976700b8edd16ca9d376189c6d93aee')
- version('3.2.0', sha256='651d76daf9168250370d4befb09f79875daa2224a9096d97dfc3ed764c842be4')
- version('3.1.3', sha256='db3121f12fb9b99f105d1413aebaeb3d943f269f3d262b45586d12765866f0c6')
- version('3.1.2', sha256='8e8e2c2fe3d873108735c6ee9884e6f36f467df4a143136209cff303b183bada')
- version('3.1.1', sha256='1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93')
- version('3.1.0', sha256='1e0213f87cc0076f7b0c4c251d7e23601e2419cd98691df79edb95517ba06f0c')
- version('3.0.2', sha256='c94b792af431f6adb6859eb218137acd9a35f4f7442cea57e4a59c54751c36af')
- version('3.0.0', sha256='b4e2333c98a7c2c1ff6eb930cd2b57d4b818de5437c5048802096b32f66e65f9')
- version('2.2.5', sha256='a3037a840cd9dfdc2df9fee8af8f76ca82bfab173c0f9468193ca7a89a2b60ea')
- version('2.2.4', sha256='029620799e581802961ac1dcff5cb5d3ee2f602e0db9c0f202a90495b37d2126')
- version('2.2.3', sha256='7355bf757ecacd5f0ac9dd9523c8e1a1103faadf8d33c22664178e17533f8ce5')
- version('2.2.2', sha256='4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8')
- version('2.0.2', sha256='0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1')
- version('2.0.0', sha256='36cf0985829c1ab2b8b1dae5e2272e53ae681bf33ab8bedceed4f0565af5f813')
+ version("3.5.2", sha256="48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2")
+ version("3.5.1", sha256="b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c")
+ version("3.5.0", sha256="38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa")
+ version("3.4.3", sha256="fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318")
+ version("3.4.2", sha256="d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219")
+ version("3.4.1", sha256="84d4c4f650f356678a5d658a43ca21a41fca13f9b8b00169c0b76e6a6a948908")
+ version("3.4.0", sha256="424ddb3422c65b284a38a97eb48f5cb64b66a44a773e0c71281a347f1738f146")
+ version("3.3.4", sha256="3e477db76c22929e4c6876c44f88d790aacdf3c3f8f3a90cb1975c0bf37825b0")
+ version("3.3.3", sha256="b1b60c6476c4cfe9e5cf8ab0d3127476fd3d5f05de0f343a452badaad0e4bdec")
+ version("3.3.2", sha256="3d2edbf59367f03cd9daf42939ca06383a7d7803e3993eb5ff1bee8e8a3fbb6b")
+ version("3.3.1", sha256="87f53bcce90772f942c2db56736788b39332d552461a5cb13f05ff45c1680f0e")
+ version("3.3.0", sha256="24e8db94948019d531ce0bcd637ac24b1c8f6744ac86d2aa0eb6dbaeb1386f82")
+ version("3.2.2", sha256="3d77a6630d093d74cbbfebaa0571d00790966be1ed204e4a8239f5cbd6835c5d")
+ version("3.2.1", sha256="ffe2f9cdcea1086fc414e82f42271ecf1976700b8edd16ca9d376189c6d93aee")
+ version("3.2.0", sha256="651d76daf9168250370d4befb09f79875daa2224a9096d97dfc3ed764c842be4")
+ version("3.1.3", sha256="db3121f12fb9b99f105d1413aebaeb3d943f269f3d262b45586d12765866f0c6")
+ version("3.1.2", sha256="8e8e2c2fe3d873108735c6ee9884e6f36f467df4a143136209cff303b183bada")
+ version("3.1.1", sha256="1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93")
+ version("3.1.0", sha256="1e0213f87cc0076f7b0c4c251d7e23601e2419cd98691df79edb95517ba06f0c")
+ version("3.0.2", sha256="c94b792af431f6adb6859eb218137acd9a35f4f7442cea57e4a59c54751c36af")
+ version("3.0.0", sha256="b4e2333c98a7c2c1ff6eb930cd2b57d4b818de5437c5048802096b32f66e65f9")
+ version("2.2.5", sha256="a3037a840cd9dfdc2df9fee8af8f76ca82bfab173c0f9468193ca7a89a2b60ea")
+ version("2.2.4", sha256="029620799e581802961ac1dcff5cb5d3ee2f602e0db9c0f202a90495b37d2126")
+ version("2.2.3", sha256="7355bf757ecacd5f0ac9dd9523c8e1a1103faadf8d33c22664178e17533f8ce5")
+ version("2.2.2", sha256="4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8")
+ version("2.0.2", sha256="0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1")
+ version("2.0.0", sha256="36cf0985829c1ab2b8b1dae5e2272e53ae681bf33ab8bedceed4f0565af5f813")
# https://matplotlib.org/tutorials/introductory/usage.html#backends
# From `lib/matplotlib/rcsetup.py`:
interactive_bk = [
- 'gtk3agg', 'gtk3cairo', 'macosx', 'nbagg', 'qt4agg', 'qt4cairo',
- 'qt5agg', 'qt5cairo', 'tkagg', 'tkcairo', 'webagg', 'wx', 'wxagg',
- 'wxcairo'
- ]
- non_interactive_bk = [
- 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template'
+ "gtk3agg",
+ "gtk3cairo",
+ "macosx",
+ "nbagg",
+ "qt4agg",
+ "qt4cairo",
+ "qt5agg",
+ "qt5cairo",
+ "tkagg",
+ "tkcairo",
+ "webagg",
+ "wx",
+ "wxagg",
+ "wxcairo",
]
+ non_interactive_bk = ["agg", "cairo", "pdf", "pgf", "ps", "svg", "template"]
all_backends = interactive_bk + non_interactive_bk
- default_backend = 'agg'
- if sys.platform == 'darwin':
- default_backend = 'macosx'
-
- variant('backend', default=default_backend,
- description='Default backend. All backends are installed and ' +
- 'functional as long as dependencies are found at run-time',
- values=all_backends, multi=False)
- variant('movies', default=False,
- description='Enable support for saving movies')
- variant('animation', default=False,
- description='Enable animation support')
- variant('image', default=True,
- description='Enable reading/saving JPEG, BMP and TIFF files')
- variant('latex', default=False,
- description='Enable LaTeX text rendering support')
- variant('fonts', default=False,
- description='Enable support for system font detection')
+ default_backend = "agg"
+ if sys.platform == "darwin":
+ default_backend = "macosx"
+
+ variant(
+ "backend",
+ default=default_backend,
+ description="Default backend. All backends are installed and "
+ + "functional as long as dependencies are found at run-time",
+ values=all_backends,
+ multi=False,
+ )
+ variant("movies", default=False, description="Enable support for saving movies")
+ variant("animation", default=False, description="Enable animation support")
+ variant("image", default=True, description="Enable reading/saving JPEG, BMP and TIFF files")
+ variant("latex", default=False, description="Enable LaTeX text rendering support")
+ variant("fonts", default=False, description="Enable support for system font detection")
# https://matplotlib.org/stable/devel/dependencies.html
# Required dependencies
- extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
- depends_on('python@2.7:2.8,3.4:', when='@:2', type=('build', 'link', 'run'))
- depends_on('python@3.5:', when='@3:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@3.1:', type=('build', 'link', 'run'))
- depends_on('python@3.7:', when='@3.4:', type=('build', 'link', 'run'))
- depends_on('freetype@2.3:') # freetype 2.6.1 needed for tests to pass
- depends_on('qhull@2020.2:', when='@3.4:')
+ extends("python", ignore=r"bin/nosetests.*$|bin/pbr$")
+ depends_on("python@2.7:2.8,3.4:", when="@:2", type=("build", "link", "run"))
+ depends_on("python@3.5:", when="@3:", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@3.1:", type=("build", "link", "run"))
+ depends_on("python@3.7:", when="@3.4:", type=("build", "link", "run"))
+ depends_on("freetype@2.3:") # freetype 2.6.1 needed for tests to pass
+ depends_on("qhull@2020.2:", when="@3.4:")
# starting from qhull 2020.2 libqhull.so on which py-matplotlib@3.3 versions
# rely on does not exist anymore, only libqhull_r.so
- depends_on('qhull@2015.2:2020.1', when='@3.3.0:3.3')
- depends_on('libpng@1.2:')
- depends_on('py-setuptools', type=('build', 'run')) # See #3813
- depends_on('py-certifi@2020.6.20:', when='@3.3.1:', type='build')
- depends_on('py-setuptools-scm@4:', when='@3.5:', type='build')
- depends_on('py-setuptools-scm-git-archive', when='@3.5:', type='build')
- depends_on('py-cycler@0.10:', type=('build', 'run'))
- depends_on('py-fonttools@4.22:', when='@3.5:', type=('build', 'run'))
- depends_on('py-kiwisolver@1.0.1:', type=('build', 'run'), when='@2.2.0:')
- depends_on('py-numpy@1.11:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', when='@3.3:', type=('build', 'run'))
- depends_on('py-numpy@1.16:', when='@3.4:', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@3.5:', type=('build', 'run'))
- depends_on('py-packaging', when='@3.5:', type=('build', 'run'))
- depends_on('pil@6.2:', when='@3.3:', type=('build', 'run'))
- depends_on('py-pyparsing@2.0.3,2.0.5:2.1.1,2.1.3:2.1.5,2.1.7:', type=('build', 'run'))
- depends_on('py-pyparsing@2.2.1:', when='@3.4:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.1:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.7:', when='@3.4:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'), when='@:2')
- depends_on('py-subprocess32', type=('build', 'run'), when='^python@:2.7')
- depends_on('py-functools32', type=('build', 'run'), when='@:2.0 ^python@:2.7')
- depends_on('py-backports-functools-lru-cache', type=('build', 'run'),
- when='@2.1.0:2 ^python@:2')
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@2.0:2')
- depends_on('py-six@1.9.0:', type=('build', 'run'), when='@:1')
+ depends_on("qhull@2015.2:2020.1", when="@3.3.0:3.3")
+ depends_on("libpng@1.2:")
+ depends_on("py-setuptools", type=("build", "run")) # See #3813
+ depends_on("py-certifi@2020.6.20:", when="@3.3.1:", type="build")
+ depends_on("py-setuptools-scm@4:", when="@3.5:", type="build")
+ depends_on("py-setuptools-scm-git-archive", when="@3.5:", type="build")
+ depends_on("py-cycler@0.10:", type=("build", "run"))
+ depends_on("py-fonttools@4.22:", when="@3.5:", type=("build", "run"))
+ depends_on("py-kiwisolver@1.0.1:", type=("build", "run"), when="@2.2.0:")
+ depends_on("py-numpy@1.11:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", when="@3.3:", type=("build", "run"))
+ depends_on("py-numpy@1.16:", when="@3.4:", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@3.5:", type=("build", "run"))
+ depends_on("py-packaging", when="@3.5:", type=("build", "run"))
+ depends_on("pil@6.2:", when="@3.3:", type=("build", "run"))
+ depends_on("py-pyparsing@2.0.3,2.0.5:2.1.1,2.1.3:2.1.5,2.1.7:", type=("build", "run"))
+ depends_on("py-pyparsing@2.2.1:", when="@3.4:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.1:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.7:", when="@3.4:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"), when="@:2")
+ depends_on("py-subprocess32", type=("build", "run"), when="^python@:2.7")
+ depends_on("py-functools32", type=("build", "run"), when="@:2.0 ^python@:2.7")
+ depends_on(
+ "py-backports-functools-lru-cache", type=("build", "run"), when="@2.1.0:2 ^python@:2"
+ )
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@2.0:2")
+ depends_on("py-six@1.9.0:", type=("build", "run"), when="@:1")
# Optional backend dependencies
- depends_on('tk@8.3:8.5,8.6.2:', when='backend=tkagg', type='run')
- depends_on('tk@8.3:8.5,8.6.2:', when='backend=tkcairo', type='run')
- depends_on('python+tkinter', when='backend=tkagg', type='run')
- depends_on('python+tkinter', when='backend=tkcairo', type='run')
- depends_on('py-pyqt4@4.6:', when='backend=qt4agg', type='run') # or py-pyside@1.0.3:
- depends_on('py-pyqt4@4.6:', when='backend=qt4cairo', type='run') # or py-pyside@1.0.3:
- depends_on('py-pyqt5', when='backend=qt5agg', type='run')
- depends_on('py-pyqt5', when='backend=qt5cairo', type='run')
- depends_on('py-pygobject', when='backend=gtk3agg', type='run')
- depends_on('py-pygobject', when='backend=gtk3cairo', type='run')
- depends_on('py-wxpython@4:', when='backend=wx', type='run')
- depends_on('py-wxpython@4:', when='backend=wxagg', type='run')
- depends_on('py-wxpython@4:', when='backend=wxcairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=gtk3cairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=qt4cairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=qt5cairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=tkcairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=wxcairo', type='run')
- depends_on('py-cairocffi@0.8:', when='backend=cairo', type='run')
- depends_on('py-tornado', when='backend=webagg', type='run')
+ depends_on("tk@8.3:8.5,8.6.2:", when="backend=tkagg", type="run")
+ depends_on("tk@8.3:8.5,8.6.2:", when="backend=tkcairo", type="run")
+ depends_on("python+tkinter", when="backend=tkagg", type="run")
+ depends_on("python+tkinter", when="backend=tkcairo", type="run")
+ depends_on("py-pyqt4@4.6:", when="backend=qt4agg", type="run") # or py-pyside@1.0.3:
+ depends_on("py-pyqt4@4.6:", when="backend=qt4cairo", type="run") # or py-pyside@1.0.3:
+ depends_on("py-pyqt5", when="backend=qt5agg", type="run")
+ depends_on("py-pyqt5", when="backend=qt5cairo", type="run")
+ depends_on("py-pygobject", when="backend=gtk3agg", type="run")
+ depends_on("py-pygobject", when="backend=gtk3cairo", type="run")
+ depends_on("py-wxpython@4:", when="backend=wx", type="run")
+ depends_on("py-wxpython@4:", when="backend=wxagg", type="run")
+ depends_on("py-wxpython@4:", when="backend=wxcairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=gtk3cairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=qt4cairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=qt5cairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=tkcairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=wxcairo", type="run")
+ depends_on("py-cairocffi@0.8:", when="backend=cairo", type="run")
+ depends_on("py-tornado", when="backend=webagg", type="run")
# Optional dependencies
- depends_on('ffmpeg', when='+movies')
- depends_on('imagemagick', when='+animation')
- depends_on('pil@3.4:', when='+image', type=('build', 'run'))
- depends_on('texlive', when='+latex', type='run')
- depends_on('ghostscript@9.0:', when='+latex', type='run')
- depends_on('fontconfig@2.7:', when='+fonts')
- depends_on('pkgconfig', type='build')
+ depends_on("ffmpeg", when="+movies")
+ depends_on("imagemagick", when="+animation")
+ depends_on("pil@3.4:", when="+image", type=("build", "run"))
+ depends_on("texlive", when="+latex", type="run")
+ depends_on("ghostscript@9.0:", when="+latex", type="run")
+ depends_on("fontconfig@2.7:", when="+fonts")
+ depends_on("pkgconfig", type="build")
# Testing dependencies
# https://matplotlib.org/stable/devel/development_setup.html#additional-dependencies-for-testing
- depends_on('py-pytest@3.6:', type='test')
- depends_on('ghostscript@9.0:', type='test')
+ depends_on("py-pytest@3.6:", type="test")
+ depends_on("ghostscript@9.0:", type="test")
# depends_on('inkscape@:0', type='test')
- msg = 'MacOSX backend requires the Cocoa headers included with XCode'
- conflicts('platform=linux', when='backend=macosx', msg=msg)
- conflicts('platform=cray', when='backend=macosx', msg=msg)
+ msg = "MacOSX backend requires the Cocoa headers included with XCode"
+ conflicts("platform=linux", when="backend=macosx", msg=msg)
+ conflicts("platform=cray", when="backend=macosx", msg=msg)
- conflicts('~image', when='@3.3:', msg='Pillow is no longer an optional dependency')
+ conflicts("~image", when="@3.3:", msg="Pillow is no longer an optional dependency")
# https://github.com/matplotlib/matplotlib/pull/21662
- patch('matplotlibrc.patch', when='@3.5.0')
+ patch("matplotlibrc.patch", when="@3.5.0")
# Patch to pick up correct freetype headers
- patch('freetype-include-path.patch', when='@2.2.2:2.9.9')
+ patch("freetype-include-path.patch", when="@2.2.2:2.9.9")
@property
def config_file(self):
# https://github.com/matplotlib/matplotlib/pull/20871
- return 'mplsetup.cfg' if self.spec.satisfies('@3.5:') else 'setup.cfg'
+ return "mplsetup.cfg" if self.spec.satisfies("@3.5:") else "setup.cfg"
@property
def archive_files(self):
@@ -184,7 +203,7 @@ class PyMatplotlib(PythonPackage):
def setup_build_environment(self, env):
include = []
library = []
- for dep in self.spec.dependencies(deptype='link'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
include.extend(query.headers.directories)
library.extend(query.libs.directories)
@@ -192,32 +211,32 @@ class PyMatplotlib(PythonPackage):
# Build uses a mix of Spack's compiler wrapper and the actual compiler,
# so this is needed to get parts of the build working.
# See https://github.com/spack/spack/issues/19843
- env.set('CPATH', ':'.join(include))
- env.set('LIBRARY_PATH', ':'.join(library))
+ env.set("CPATH", ":".join(include))
+ env.set("LIBRARY_PATH", ":".join(library))
- @run_before('install')
+ @run_before("install")
def configure(self):
"""Set build options with regards to backend GUI libraries."""
- backend = self.spec.variants['backend'].value
+ backend = self.spec.variants["backend"].value
- with open(self.config_file, 'w') as config:
+ with open(self.config_file, "w") as config:
# Default backend
- config.write('[rc_options]\n')
- config.write('backend = ' + backend + '\n')
+ config.write("[rc_options]\n")
+ config.write("backend = " + backend + "\n")
# Starting with version 3.3.0, freetype is downloaded by default
# Force matplotlib to use Spack installations of freetype and qhull
- if self.spec.satisfies('@3.3:'):
- config.write('[libs]\n')
- config.write('system_freetype = True\n')
- config.write('system_qhull = True\n')
+ if self.spec.satisfies("@3.3:"):
+ config.write("[libs]\n")
+ config.write("system_freetype = True\n")
+ config.write("system_qhull = True\n")
# avoids error where link time opt is used for compile but not link
- if self.spec.satisfies('%clang') or self.spec.satisfies('%oneapi'):
- config.write('enable_lto = False\n')
+ if self.spec.satisfies("%clang") or self.spec.satisfies("%oneapi"):
+ config.write("enable_lto = False\n")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
- pytest = which('pytest')
+ pytest = which("pytest")
pytest()
diff --git a/var/spack/repos/builtin/packages/py-mayavi/package.py b/var/spack/repos/builtin/packages/py-mayavi/package.py
index 9f3da25963..d7c532d11d 100644
--- a/var/spack/repos/builtin/packages/py-mayavi/package.py
+++ b/var/spack/repos/builtin/packages/py-mayavi/package.py
@@ -13,19 +13,22 @@ class PyMayavi(PythonPackage):
homepage = "https://github.com/enthought/mayavi"
pypi = "mayavi/mayavi-4.7.3.tar.gz"
- version('4.7.3', sha256='670d0023b9cd2d2346c451db9ba2f61da23a5df5033b25aea89cb6d81b9464f0')
- version('4.7.1', sha256='be51fb6f886f304f7c593c907e6a2e88d7919f8f446cdccfcd184fa35b3db724',
- url='https://files.pythonhosted.org/packages/source/m/mayavi/mayavi-4.7.1.tar.bz2')
+ version("4.7.3", sha256="670d0023b9cd2d2346c451db9ba2f61da23a5df5033b25aea89cb6d81b9464f0")
+ version(
+ "4.7.1",
+ sha256="be51fb6f886f304f7c593c907e6a2e88d7919f8f446cdccfcd184fa35b3db724",
+ url="https://files.pythonhosted.org/packages/source/m/mayavi/mayavi-4.7.1.tar.bz2",
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-apptools', type=('build', 'run'))
- depends_on('py-envisage', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyface@6.1.1:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-traits@6:', when='@4.7.2:', type=('build', 'run'))
- depends_on('py-traits@4.6:', type=('build', 'run'))
- depends_on('py-traitsui@7:', when='@4.7.2:', type=('build', 'run'))
- depends_on('py-traitsui@6:', type=('build', 'run'))
- depends_on('vtk+python', type=('build', 'run'))
- depends_on('py-pyqt5', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-apptools", type=("build", "run"))
+ depends_on("py-envisage", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyface@6.1.1:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-traits@6:", when="@4.7.2:", type=("build", "run"))
+ depends_on("py-traits@4.6:", type=("build", "run"))
+ depends_on("py-traitsui@7:", when="@4.7.2:", type=("build", "run"))
+ depends_on("py-traitsui@6:", type=("build", "run"))
+ depends_on("vtk+python", type=("build", "run"))
+ depends_on("py-pyqt5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mccabe/package.py b/var/spack/repos/builtin/packages/py-mccabe/package.py
index a6b9c9226c..c85179c2ad 100644
--- a/var/spack/repos/builtin/packages/py-mccabe/package.py
+++ b/var/spack/repos/builtin/packages/py-mccabe/package.py
@@ -10,25 +10,25 @@ class PyMccabe(PythonPackage):
"""Ned's script to check McCabe complexity."""
homepage = "https://github.com/PyCQA/mccabe"
- url = "https://github.com/PyCQA/mccabe/archive/0.5.2.tar.gz"
+ url = "https://github.com/PyCQA/mccabe/archive/0.5.2.tar.gz"
- version('0.6.1', sha256='2748af6516175b94be318cd8226fa50b5339b9dc886bce378ac2afb37a157524')
- version('0.6.0', sha256='f42593f451106965053fa852dfd395b85a2fcb6df960e268cb7a1d60d4aec291')
- version('0.5.3', sha256='4a1582dfe070e630387710169e4731a1b0a4eab736431fa25e91f1fcaf3cbe94')
- version('0.5.2', sha256='a456c9e2529bf4e7e9e690b20557c5ae5d9cbe25df2a0bbc73dcc39b1b959f4b')
- version('0.5.1', sha256='31377e7d65ac6458b1f788bf50c34f788f173334383cbfeadd701f772a0f3fe1')
- version('0.5.0', sha256='b10a4de7987f0e4d6be2a073d1bc91ceed5f0a3715c6088520253e2452ea5dfe')
- version('0.4.0', sha256='1c0b443fb11dbf90e7caff4366299c0fd69d6bb0c6fedb46fa74283628d8d3ff')
- version('0.3.1', sha256='244134b78607b74d885ba45f29e495e55c75a261b02de62976233d47e64949ea')
- version('0.3', sha256='8ef89519a7ce6036597a6bd4d0f28a921cb949cba1bbe42570e5255c6f31456b')
- version('0.2.1', sha256='88506c11597a4258719b1c7e72317b2145cb43da63314b05d11cd5433dd5a813')
- version('0.2', sha256='3cc0ff234082035ef4f73640d96ca3f52d6e2e9865a38181093e836370b5f7c3')
- version('0.1', sha256='10023fc9a64ea25b6cde1f6d0b824990a9882c9086a54b2bcfb8aa70d5ca179f')
+ version("0.6.1", sha256="2748af6516175b94be318cd8226fa50b5339b9dc886bce378ac2afb37a157524")
+ version("0.6.0", sha256="f42593f451106965053fa852dfd395b85a2fcb6df960e268cb7a1d60d4aec291")
+ version("0.5.3", sha256="4a1582dfe070e630387710169e4731a1b0a4eab736431fa25e91f1fcaf3cbe94")
+ version("0.5.2", sha256="a456c9e2529bf4e7e9e690b20557c5ae5d9cbe25df2a0bbc73dcc39b1b959f4b")
+ version("0.5.1", sha256="31377e7d65ac6458b1f788bf50c34f788f173334383cbfeadd701f772a0f3fe1")
+ version("0.5.0", sha256="b10a4de7987f0e4d6be2a073d1bc91ceed5f0a3715c6088520253e2452ea5dfe")
+ version("0.4.0", sha256="1c0b443fb11dbf90e7caff4366299c0fd69d6bb0c6fedb46fa74283628d8d3ff")
+ version("0.3.1", sha256="244134b78607b74d885ba45f29e495e55c75a261b02de62976233d47e64949ea")
+ version("0.3", sha256="8ef89519a7ce6036597a6bd4d0f28a921cb949cba1bbe42570e5255c6f31456b")
+ version("0.2.1", sha256="88506c11597a4258719b1c7e72317b2145cb43da63314b05d11cd5433dd5a813")
+ version("0.2", sha256="3cc0ff234082035ef4f73640d96ca3f52d6e2e9865a38181093e836370b5f7c3")
+ version("0.1", sha256="10023fc9a64ea25b6cde1f6d0b824990a9882c9086a54b2bcfb8aa70d5ca179f")
- depends_on('python@2.7:2.8,3.3:')
+ depends_on("python@2.7:2.8,3.3:")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
def patch(self):
"""Filter pytest-runner requirement out of setup.py."""
- filter_file("['pytest-runner']", "[]", 'setup.py', string=True)
+ filter_file("['pytest-runner']", "[]", "setup.py", string=True)
diff --git a/var/spack/repos/builtin/packages/py-md-environ/package.py b/var/spack/repos/builtin/packages/py-md-environ/package.py
index 9afffc78d7..9d8d241732 100644
--- a/var/spack/repos/builtin/packages/py-md-environ/package.py
+++ b/var/spack/repos/builtin/packages/py-md-environ/package.py
@@ -10,12 +10,12 @@ class PyMdEnviron(PythonPackage):
"""This is an extension to Python-Markdown which allows environment variables
to be used in the text."""
- pypi = "md-environ/md-environ-0.1.0.tar.gz"
+ pypi = "md-environ/md-environ-0.1.0.tar.gz"
- maintainers = ['wscullin']
+ maintainers = ["wscullin"]
- version('0.1.0', sha256='fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793')
+ version("0.1.0", sha256="fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-markdown', type=('build', 'run'))
+ depends_on("py-markdown", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mdanalysis/package.py b/var/spack/repos/builtin/packages/py-mdanalysis/package.py
index 03c3ef07d2..ee1eee0e54 100644
--- a/var/spack/repos/builtin/packages/py-mdanalysis/package.py
+++ b/var/spack/repos/builtin/packages/py-mdanalysis/package.py
@@ -16,59 +16,61 @@ class PyMdanalysis(PythonPackage):
homepage = "https://www.mdanalysis.org"
pypi = "MDAnalysis/MDAnalysis-0.19.2.tar.gz"
- version('1.0.0', sha256='f45a024aca45e390ff1c45ca90beb2180b78881be377e2a1aa9cd6c109bcfa81')
- version('0.20.1', sha256='d04b71b193b9716d2597ffb9938b93f43487fa535da1bb5c1f2baccf356d7df9')
- version('0.19.2', sha256='c5395bbafa5efca2e1aee4715d26129844140c47cb8301da0293106cb969de7d')
- version('0.19.1', sha256='ff1d694f8598c0833ec340de6a6adb3b5e62b92d0fa94ee6401718ba972db3cc')
- version('0.19.0', sha256='248e3b37fc6150e31c609cc18a3927c32aee37b76d29cbfedf635e7e1aa982cf')
- version('0.18.0', sha256='a08acea1755112411e7db55e3f282e164b47a59e15794b38744cce6c596f252a')
- version('0.17.0', sha256='9bd61760334698cc7b8a57ad26456451e926e9c9e66722594ad8816561348cde')
- version('0.16.2', sha256='407d9a9ff1ab8a5e47973714d06fabff220f8d08a28792dee93e88e70e995b0a')
- version('0.16.1', sha256='3dc8f5d639ab3a0d152cbd7259ae9372ec8a9bac0f8cb7d3b80ce5adc1e3ee57')
- version('0.16.0', sha256='c4824fa1fddd336daa39371436187ebb023366885fb250c2827ed7fce2546bd4')
- version('0.15.0', sha256='9088786048b47339cba1f8a586977bbb3bb04ae1bcd0462b59e45bda37e25533')
-
- variant('analysis', default=True,
- description='Enable analysis packages: matplotlib, scipy, seaborn')
- variant('amber', default=False,
- description='Support AMBER netcdf format.')
-
- depends_on('python@2.7:', type=('build', 'run'))
-
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.16:', type='build')
-
- depends_on('py-six@1.4.0:', type=('build', 'run'))
- depends_on('py-networkx@1.0:', type=('build', 'run'))
-
- depends_on('py-gsd@1.4.0:', when='@0.17.0:', type=('build', 'run'))
- depends_on('py-mmtf-python@1.0.0:', when='@0.16.0:', type=('build', 'run'))
- depends_on('py-mock', when='@0.18.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.43.0:', when='@1.0.0:', type=('build', 'run'))
-
- depends_on('py-joblib', when='@0.16.0:0.20.1', type=('build', 'run'))
- depends_on('py-joblib@0.12:', when='@1.0.0:', type=('build', 'run'))
-
- depends_on('py-numpy@1.5.0:', when='@:0.15.0', type=('build', 'run'))
- depends_on('py-numpy@1.10.4:', when='@0.16.0:0.19.2', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', when='@0.20.1:', type=('build', 'run'))
-
- depends_on('py-biopython@1.59:', when='@:0.17.0', type=('build', 'run'))
- depends_on('py-biopython@1.71:', when='@0.18.0:', type=('build', 'run'))
-
- depends_on('py-griddataformats@0.3.2:', when='@:0.16.2', type=('build', 'run'))
- depends_on('py-griddataformats@0.4:', when='@0.17.0:', type=('build', 'run'))
-
- depends_on('py-matplotlib', when='@:0.15.0+analysis', type=('build', 'run'))
- depends_on('py-matplotlib@1.5.1:', when='@0.16.0:0.16.1+analysis', type=('build', 'run'))
- depends_on('py-matplotlib@1.5.1:', when='@0.16.2:', type=('build', 'run'))
-
- depends_on('py-scipy', when='@:0.16.1+analysis', type=('build', 'run'))
- depends_on('py-scipy', when='@0.16.2:0.17.0', type=('build', 'run'))
- depends_on('py-scipy@1.0.0:', when='@0.18.0:', type=('build', 'run'))
-
- depends_on('py-scikit-learn', when='@0.16.0:+analysis', type=('build', 'run'))
- depends_on('py-seaborn', when='+analysis', type=('build', 'run'))
-
- depends_on('py-netcdf4@1.0:', when='+amber', type=('build', 'run'))
- depends_on('hdf5', when='+amber', type=('run'))
+ version("1.0.0", sha256="f45a024aca45e390ff1c45ca90beb2180b78881be377e2a1aa9cd6c109bcfa81")
+ version("0.20.1", sha256="d04b71b193b9716d2597ffb9938b93f43487fa535da1bb5c1f2baccf356d7df9")
+ version("0.19.2", sha256="c5395bbafa5efca2e1aee4715d26129844140c47cb8301da0293106cb969de7d")
+ version("0.19.1", sha256="ff1d694f8598c0833ec340de6a6adb3b5e62b92d0fa94ee6401718ba972db3cc")
+ version("0.19.0", sha256="248e3b37fc6150e31c609cc18a3927c32aee37b76d29cbfedf635e7e1aa982cf")
+ version("0.18.0", sha256="a08acea1755112411e7db55e3f282e164b47a59e15794b38744cce6c596f252a")
+ version("0.17.0", sha256="9bd61760334698cc7b8a57ad26456451e926e9c9e66722594ad8816561348cde")
+ version("0.16.2", sha256="407d9a9ff1ab8a5e47973714d06fabff220f8d08a28792dee93e88e70e995b0a")
+ version("0.16.1", sha256="3dc8f5d639ab3a0d152cbd7259ae9372ec8a9bac0f8cb7d3b80ce5adc1e3ee57")
+ version("0.16.0", sha256="c4824fa1fddd336daa39371436187ebb023366885fb250c2827ed7fce2546bd4")
+ version("0.15.0", sha256="9088786048b47339cba1f8a586977bbb3bb04ae1bcd0462b59e45bda37e25533")
+
+ variant(
+ "analysis",
+ default=True,
+ description="Enable analysis packages: matplotlib, scipy, seaborn",
+ )
+ variant("amber", default=False, description="Support AMBER netcdf format.")
+
+ depends_on("python@2.7:", type=("build", "run"))
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.16:", type="build")
+
+ depends_on("py-six@1.4.0:", type=("build", "run"))
+ depends_on("py-networkx@1.0:", type=("build", "run"))
+
+ depends_on("py-gsd@1.4.0:", when="@0.17.0:", type=("build", "run"))
+ depends_on("py-mmtf-python@1.0.0:", when="@0.16.0:", type=("build", "run"))
+ depends_on("py-mock", when="@0.18.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.43.0:", when="@1.0.0:", type=("build", "run"))
+
+ depends_on("py-joblib", when="@0.16.0:0.20.1", type=("build", "run"))
+ depends_on("py-joblib@0.12:", when="@1.0.0:", type=("build", "run"))
+
+ depends_on("py-numpy@1.5.0:", when="@:0.15.0", type=("build", "run"))
+ depends_on("py-numpy@1.10.4:", when="@0.16.0:0.19.2", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", when="@0.20.1:", type=("build", "run"))
+
+ depends_on("py-biopython@1.59:", when="@:0.17.0", type=("build", "run"))
+ depends_on("py-biopython@1.71:", when="@0.18.0:", type=("build", "run"))
+
+ depends_on("py-griddataformats@0.3.2:", when="@:0.16.2", type=("build", "run"))
+ depends_on("py-griddataformats@0.4:", when="@0.17.0:", type=("build", "run"))
+
+ depends_on("py-matplotlib", when="@:0.15.0+analysis", type=("build", "run"))
+ depends_on("py-matplotlib@1.5.1:", when="@0.16.0:0.16.1+analysis", type=("build", "run"))
+ depends_on("py-matplotlib@1.5.1:", when="@0.16.2:", type=("build", "run"))
+
+ depends_on("py-scipy", when="@:0.16.1+analysis", type=("build", "run"))
+ depends_on("py-scipy", when="@0.16.2:0.17.0", type=("build", "run"))
+ depends_on("py-scipy@1.0.0:", when="@0.18.0:", type=("build", "run"))
+
+ depends_on("py-scikit-learn", when="@0.16.0:+analysis", type=("build", "run"))
+ depends_on("py-seaborn", when="+analysis", type=("build", "run"))
+
+ depends_on("py-netcdf4@1.0:", when="+amber", type=("build", "run"))
+ depends_on("hdf5", when="+amber", type=("run"))
diff --git a/var/spack/repos/builtin/packages/py-mdit-py-plugins/package.py b/var/spack/repos/builtin/packages/py-mdit-py-plugins/package.py
index 0ec64bf35b..0b33022ebe 100644
--- a/var/spack/repos/builtin/packages/py-mdit-py-plugins/package.py
+++ b/var/spack/repos/builtin/packages/py-mdit-py-plugins/package.py
@@ -11,11 +11,11 @@ class PyMditPyPlugins(PythonPackage):
"""Collection of core plugins for markdown-it-py"""
homepage = "https://github.com/executablebooks/mdit-py-plugins/"
- git = "https://github.com/executablebooks/mdit-py-plugins/"
- pypi = "mdit-py-plugins/mdit-py-plugins-0.2.8.tar.gz"
+ git = "https://github.com/executablebooks/mdit-py-plugins/"
+ pypi = "mdit-py-plugins/mdit-py-plugins-0.2.8.tar.gz"
- version('0.2.8', sha256='5991cef645502e80a5388ec4fc20885d2313d4871e8b8e320ca2de14ac0c015f')
+ version("0.2.8", sha256="5991cef645502e80a5388ec4fc20885d2313d4871e8b8e320ca2de14ac0c015f")
- depends_on('py-setuptools', type='build')
- depends_on('py-markdown-it-py@1.0:1', type=('build', 'run'))
- depends_on('python@3.6:3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-markdown-it-py@1.0:1", type=("build", "run"))
+ depends_on("python@3.6:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mechanize/package.py b/var/spack/repos/builtin/packages/py-mechanize/package.py
index ee581ebcee..6a3aa310d8 100644
--- a/var/spack/repos/builtin/packages/py-mechanize/package.py
+++ b/var/spack/repos/builtin/packages/py-mechanize/package.py
@@ -12,9 +12,9 @@ class PyMechanize(PythonPackage):
homepage = "https://github.com/python-mechanize/mechanize"
pypi = "mechanize/mechanize-0.4.3.tar.gz"
- version('0.4.3', sha256='d7d7068be5e1b3069575c98c870aaa96dd26603fe8c8697b470e2f65259fddbf')
- version('0.2.5', sha256='2e67b20d107b30c00ad814891a095048c35d9d8cb9541801cebe85684cc84766')
+ version("0.4.3", sha256="d7d7068be5e1b3069575c98c870aaa96dd26603fe8c8697b470e2f65259fddbf")
+ version("0.2.5", sha256="2e67b20d107b30c00ad814891a095048c35d9d8cb9541801cebe85684cc84766")
- depends_on('py-setuptools', type='build')
- depends_on('py-html5lib@0.999999999:', when='@0.4:', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-html5lib@0.999999999:", when="@0.4:", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-meldmd/package.py b/var/spack/repos/builtin/packages/py-meldmd/package.py
index 0d8389fca9..1a4e23c39e 100644
--- a/var/spack/repos/builtin/packages/py-meldmd/package.py
+++ b/var/spack/repos/builtin/packages/py-meldmd/package.py
@@ -11,18 +11,18 @@ class PyMeldmd(PythonPackage, CudaPackage):
biomolecules from sparse, ambiguous, or noisy data."""
homepage = "http://meldmd.org/"
- url = "https://github.com/maccallumlab/meld/archive/refs/tags/0.4.20.tar.gz"
+ url = "https://github.com/maccallumlab/meld/archive/refs/tags/0.4.20.tar.gz"
- version('0.4.20', sha256='8c8d2b713f8dc0ecc137d19945b3957e12063c8dda569696e47c8820eeac6c92')
+ version("0.4.20", sha256="8c8d2b713f8dc0ecc137d19945b3957e12063c8dda569696e47c8820eeac6c92")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('amber')
- depends_on('openmm')
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-parmed', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-mpi4py', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("amber")
+ depends_on("openmm")
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-parmed", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-mpi4py", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-memory-profiler/package.py b/var/spack/repos/builtin/packages/py-memory-profiler/package.py
index c71c58a07d..4b8939eb7a 100644
--- a/var/spack/repos/builtin/packages/py-memory-profiler/package.py
+++ b/var/spack/repos/builtin/packages/py-memory-profiler/package.py
@@ -12,10 +12,10 @@ class PyMemoryProfiler(PythonPackage):
homepage = "https://github.com/pythonprofilers/memory_profiler"
pypi = "memory_profiler/memory_profiler-0.57.0.tar.gz"
- version('0.60.0', sha256='6a12869511d6cebcb29b71ba26985675a58e16e06b3c523b49f67c5497a33d1c')
- version('0.57.0', sha256='23b196f91ea9ac9996e30bfab1e82fecc30a4a1d24870e81d1e81625f786a2c3')
- version('0.47', sha256='e992f2a341a5332dad1ad4a008eeac7cfe78c7ea4abdf7535a3e7e79093328cb')
+ version("0.60.0", sha256="6a12869511d6cebcb29b71ba26985675a58e16e06b3c523b49f67c5497a33d1c")
+ version("0.57.0", sha256="23b196f91ea9ac9996e30bfab1e82fecc30a4a1d24870e81d1e81625f786a2c3")
+ version("0.47", sha256="e992f2a341a5332dad1ad4a008eeac7cfe78c7ea4abdf7535a3e7e79093328cb")
- depends_on('python@3.4:', when='@0.59:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-psutil', type=('build', 'run'))
+ depends_on("python@3.4:", when="@0.59:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-psutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-memprof/package.py b/var/spack/repos/builtin/packages/py-memprof/package.py
index e61ad60b72..2dbc723365 100644
--- a/var/spack/repos/builtin/packages/py-memprof/package.py
+++ b/var/spack/repos/builtin/packages/py-memprof/package.py
@@ -13,9 +13,9 @@ class PyMemprof(PythonPackage):
homepage = "https://jmdana.github.io/memprof/"
pypi = "memprof/memprof-0.3.6.tar.gz"
- version('0.3.6', sha256='a8376ce476bf82a5eb465d1a30b8ffc86cc55b0b6de7aa4cdeccb4c99586d967')
+ version("0.3.6", sha256="a8376ce476bf82a5eb465d1a30b8ffc86cc55b0b6de7aa4cdeccb4c99586d967")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-memray/package.py b/var/spack/repos/builtin/packages/py-memray/package.py
index 8681f0db49..bfcfbebc94 100644
--- a/var/spack/repos/builtin/packages/py-memray/package.py
+++ b/var/spack/repos/builtin/packages/py-memray/package.py
@@ -10,18 +10,18 @@ class PyMemray(PythonPackage):
"""A memory profiler for Python applications."""
homepage = "https://github.com/bloomberg/memray"
- pypi = "memray/memray-1.1.0.tar.gz"
+ pypi = "memray/memray-1.1.0.tar.gz"
- version('1.1.0', sha256='876e46e0cd42394be48b33f81314bc946f4eb023b04bf1def084c25ccf1d2bb6')
+ version("1.1.0", sha256="876e46e0cd42394be48b33f81314bc946f4eb023b04bf1def084c25ccf1d2bb6")
- depends_on('python@3.7:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-typing-extensions', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-rich', type=('build', 'run'))
- depends_on('libunwind')
- depends_on('lz4')
+ depends_on("python@3.7:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-rich", type=("build", "run"))
+ depends_on("libunwind")
+ depends_on("lz4")
- conflicts('platform=darwin', msg='memray only supports Linux platforms')
- conflicts('platform=windows', msg='memray only supports Linux platforms')
+ conflicts("platform=darwin", msg="memray only supports Linux platforms")
+ conflicts("platform=windows", msg="memray only supports Linux platforms")
diff --git a/var/spack/repos/builtin/packages/py-mercantile/package.py b/var/spack/repos/builtin/packages/py-mercantile/package.py
index 05cb276902..a77d2dc2ed 100644
--- a/var/spack/repos/builtin/packages/py-mercantile/package.py
+++ b/var/spack/repos/builtin/packages/py-mercantile/package.py
@@ -12,9 +12,9 @@ class PyMercantile(PythonPackage):
homepage = "https://github.com/mapbox/mercantile"
pypi = "mercantile/mercantile-1.1.6.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.1.6', sha256='0dff4cbc2c92ceca0e0dfbb3dc74392a96d33cfa29afb1bdfcc80283d3ef4207')
+ version("1.1.6", sha256="0dff4cbc2c92ceca0e0dfbb3dc74392a96d33cfa29afb1bdfcc80283d3ef4207")
- depends_on('py-setuptools', type='build')
- depends_on('py-click@3.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-merlin/package.py b/var/spack/repos/builtin/packages/py-merlin/package.py
index b3cc6aacce..c77ea6dfcf 100644
--- a/var/spack/repos/builtin/packages/py-merlin/package.py
+++ b/var/spack/repos/builtin/packages/py-merlin/package.py
@@ -11,27 +11,27 @@ class PyMerlin(PythonPackage):
homepage = "https://github.com/LLNL/merlin"
pypi = "merlin/merlin-1.4.1.tar.gz"
- git = "https://github.com/LLNL/merlin.git"
- tags = ['radiuss']
+ git = "https://github.com/LLNL/merlin.git"
+ tags = ["radiuss"]
- version('1.7.5', sha256='1994c1770ec7fc9da216f9d0ca8214684dcc0daa5fd55337b96e308b2e68daaa')
- version('1.7.4', sha256='9a6f8a84a1b52d0bfb0dc7bdbd7e15677e4a1041bd25a49a2d965efe503a6c20')
- version('1.4.1', sha256='9d515cfdbcde2443892afd92b78dbc5bf2aed2060ed3a336e683188e015bca7c')
- version('master', branch='master')
- version('develop', branch='develop')
+ version("1.7.5", sha256="1994c1770ec7fc9da216f9d0ca8214684dcc0daa5fd55337b96e308b2e68daaa")
+ version("1.7.4", sha256="9a6f8a84a1b52d0bfb0dc7bdbd7e15677e4a1041bd25a49a2d965efe503a6c20")
+ version("1.4.1", sha256="9d515cfdbcde2443892afd92b78dbc5bf2aed2060ed3a336e683188e015bca7c")
+ version("master", branch="master")
+ version("develop", branch="develop")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-cached-property', type=('build', 'run'))
- depends_on('py-celery@5.0.0+redis+sqlalchemy', when="@1.7.5:", type=('build', 'run'))
- depends_on('py-celery@4.3.0:4+redis+sqlalchemy', when="@:1.7.4", type=('build', 'run'))
- depends_on('py-coloredlogs@10.0:', type=('build', 'run'))
- depends_on('py-cryptography', type=('build', 'run'))
- depends_on('py-importlib-resources', when="^python@3.0:3.6", type=('build', 'run'))
- depends_on('py-maestrowf@1.1.7dev0', when="@1.2.0:", type=('build', 'run'))
- depends_on('py-maestrowf@1.1.6:', when="@:1.1", type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-parse', type=('build', 'run'))
- depends_on('py-psutil@5.1.0:', type=('build', 'run'))
- depends_on('py-pyyaml@5.1.2:', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cached-property", type=("build", "run"))
+ depends_on("py-celery@5.0.0+redis+sqlalchemy", when="@1.7.5:", type=("build", "run"))
+ depends_on("py-celery@4.3.0:4+redis+sqlalchemy", when="@:1.7.4", type=("build", "run"))
+ depends_on("py-coloredlogs@10.0:", type=("build", "run"))
+ depends_on("py-cryptography", type=("build", "run"))
+ depends_on("py-importlib-resources", when="^python@3.0:3.6", type=("build", "run"))
+ depends_on("py-maestrowf@1.1.7dev0", when="@1.2.0:", type=("build", "run"))
+ depends_on("py-maestrowf@1.1.6:", when="@:1.1", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-parse", type=("build", "run"))
+ depends_on("py-psutil@5.1.0:", type=("build", "run"))
+ depends_on("py-pyyaml@5.1.2:", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-meshio/package.py b/var/spack/repos/builtin/packages/py-meshio/package.py
index bab7e9f648..f10d5e9167 100644
--- a/var/spack/repos/builtin/packages/py-meshio/package.py
+++ b/var/spack/repos/builtin/packages/py-meshio/package.py
@@ -12,12 +12,12 @@ class PyMeshio(PythonPackage):
homepage = "https://github.com/nschloe/meshio"
pypi = "meshio/meshio-5.0.0.tar.gz"
- version('5.0.1', sha256='e283f40b5fb68fc5c232829c33c086789661438960762b22dc2823571a089a8b')
- version('5.0.0', sha256='f6327c06d6171d30e0991d3dcb048751035f9cfac1f19e2444971275fd971188')
- version('4.4.6', sha256='be352a0924c9eff99768a6f402b7558dbb280bbf1e7bf43f18cef92db418684f')
+ version("5.0.1", sha256="e283f40b5fb68fc5c232829c33c086789661438960762b22dc2823571a089a8b")
+ version("5.0.0", sha256="f6327c06d6171d30e0991d3dcb048751035f9cfac1f19e2444971275fd971188")
+ version("4.4.6", sha256="be352a0924c9eff99768a6f402b7558dbb280bbf1e7bf43f18cef92db418684f")
- depends_on('python@3.7:', when='@5.0.0:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.7:", when="@5.0.0:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", 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-metasv/package.py b/var/spack/repos/builtin/packages/py-metasv/package.py
index 38eada182a..228900ab7e 100644
--- a/var/spack/repos/builtin/packages/py-metasv/package.py
+++ b/var/spack/repos/builtin/packages/py-metasv/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyMetasv(PythonPackage):
"""An accurate and integrative structural-variant caller for next
- generation sequencing"""
+ generation sequencing"""
homepage = "https://bioinform.github.io/metasv/"
- url = "https://github.com/bioinform/metasv/archive/0.5.4.tar.gz"
+ url = "https://github.com/bioinform/metasv/archive/0.5.4.tar.gz"
- version('0.5.4', sha256='c8613b56f44b9303b9e126618b2aee9dbc0b26c03d14e70e1aeed918582eeec1')
+ version("0.5.4", sha256="c8613b56f44b9303b9e126618b2aee9dbc0b26c03d14e70e1aeed918582eeec1")
- depends_on('py-pybedtools@0.6.9', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-pyvcf', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-pybedtools@0.6.9", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-pyvcf", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-methylcode/package.py b/var/spack/repos/builtin/packages/py-methylcode/package.py
index eae895d86d..891bd19bbf 100644
--- a/var/spack/repos/builtin/packages/py-methylcode/package.py
+++ b/var/spack/repos/builtin/packages/py-methylcode/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class PyMethylcode(PythonPackage):
"""MethylCoder is a single program that takes of bisulfite-treated
- reads and outputs per-base methylation data. """
+ reads and outputs per-base methylation data."""
homepage = "https://github.com/brentp/methylcode"
- git = "https://github.com/brentp/methylcode.git"
+ git = "https://github.com/brentp/methylcode.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('python@2.6:2.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy')
- depends_on('py-pyfasta')
- depends_on('py-bsddb3')
- depends_on('bowtie')
+ depends_on("python@2.6:2.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy")
+ depends_on("py-pyfasta")
+ depends_on("py-bsddb3")
+ depends_on("bowtie")
diff --git a/var/spack/repos/builtin/packages/py-metpy/package.py b/var/spack/repos/builtin/packages/py-metpy/package.py
index 6fa4d6b009..b7adf1c5b3 100644
--- a/var/spack/repos/builtin/packages/py-metpy/package.py
+++ b/var/spack/repos/builtin/packages/py-metpy/package.py
@@ -11,29 +11,32 @@ class PyMetpy(PythonPackage):
with weather data."""
homepage = "https://github.com/Unidata/MetPy"
- pypi = "MetPy/MetPy-1.0.1.tar.gz"
- maintainers = ['dopplershift']
+ 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']
+ import_modules = ["metpy", "metpy._vendor", "metpy.calc", "metpy.interpolate"]
- version('1.0.1', sha256='16fa9806facc24f31f454b898741ec5639a72ba9d4ff8a19ad0e94629d93cb95')
- version('1.0', sha256='11b043aaa4e3d35db319e96bb9967eb9f73da653e155bca2d62f838108b100dc',
- deprecated=True)
+ version("1.0.1", sha256="16fa9806facc24f31f454b898741ec5639a72ba9d4ff8a19ad0e94629d93cb95")
+ version(
+ "1.0",
+ sha256="11b043aaa4e3d35db319e96bb9967eb9f73da653e155bca2d62f838108b100dc",
+ deprecated=True,
+ )
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-importlib-metadata@1.0.0:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-importlib-resources@1.3.0:', when='^python@:3.8', type=('build', 'run'))
- depends_on('py-matplotlib@2.1.0:', type=('build', 'run'))
- depends_on('py-numpy@1.16.0:', type=('build', 'run'))
- depends_on('py-pandas@0.22.0:', when='@1.0', type=('build', 'run'))
- depends_on('py-pandas@0.24.0:', when='@1.0.1', type=('build', 'run'))
- depends_on('py-pint@0.10.1:', type=('build', 'run'))
- depends_on('py-pooch@0.1:', type=('build', 'run'))
- depends_on('py-pyproj@2.3.0:', type=('build', 'run'))
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-traitlets@4.3.0:', type=('build', 'run'))
- depends_on('py-xarray@0.14.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-importlib-metadata@1.0.0:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-importlib-resources@1.3.0:", when="^python@:3.8", type=("build", "run"))
+ depends_on("py-matplotlib@2.1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.16.0:", type=("build", "run"))
+ depends_on("py-pandas@0.22.0:", when="@1.0", type=("build", "run"))
+ depends_on("py-pandas@0.24.0:", when="@1.0.1", type=("build", "run"))
+ depends_on("py-pint@0.10.1:", type=("build", "run"))
+ depends_on("py-pooch@0.1:", type=("build", "run"))
+ depends_on("py-pyproj@2.3.0:", type=("build", "run"))
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-traitlets@4.3.0:", type=("build", "run"))
+ depends_on("py-xarray@0.14.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mffpy/package.py b/var/spack/repos/builtin/packages/py-mffpy/package.py
index 23dc1864b9..a1af0ac1d9 100644
--- a/var/spack/repos/builtin/packages/py-mffpy/package.py
+++ b/var/spack/repos/builtin/packages/py-mffpy/package.py
@@ -10,12 +10,12 @@ class PyMffpy(PythonPackage):
"""Reader and Writer for Philips' MFF file format."""
homepage = "https://github.com/BEL-Public/mffpy"
- pypi = "mffpy/mffpy-0.6.3.tar.gz"
+ pypi = "mffpy/mffpy-0.6.3.tar.gz"
- version('0.6.3', sha256='fceaf59f5fccb26b6e8a0363579d27e53db547493af353737a24983d95dc012d')
+ version("0.6.3", sha256="fceaf59f5fccb26b6e8a0363579d27e53db547493af353737a24983d95dc012d")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytz@2019.2:', type=('build', 'run'))
- depends_on('py-numpy@1.15.1:', type=('build', 'run'))
- depends_on('py-deprecated@1.2.12:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytz@2019.2:", type=("build", "run"))
+ depends_on("py-numpy@1.15.1:", type=("build", "run"))
+ depends_on("py-deprecated@1.2.12:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mg-rast-tools/package.py b/var/spack/repos/builtin/packages/py-mg-rast-tools/package.py
index f546656895..5ed233de16 100644
--- a/var/spack/repos/builtin/packages/py-mg-rast-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-mg-rast-tools/package.py
@@ -11,22 +11,22 @@ class PyMgRastTools(PythonPackage):
MG-RAST data."""
homepage = "https://github.com/MG-RAST/MG-RAST-Tools"
- git = "https://github.com/MG-RAST/MG-RAST-Tools.git"
+ git = "https://github.com/MG-RAST/MG-RAST-Tools.git"
- version('2018.04.17', commit='a40c6e6539ad0bc1c08e1b03dfc0a9759755a326')
+ version("2018.04.17", commit="a40c6e6539ad0bc1c08e1b03dfc0a9759755a326")
- depends_on('perl', type=('build', 'run'))
- depends_on('py-setuptools@28.0:', type='build')
- depends_on('py-prettytable@0.7:', type=('build', 'run'))
- depends_on('py-poster@0.8.1:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.8:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('r-matr', type=('build', 'run'))
- depends_on('shocklibs@0.1.30:')
- depends_on('perl-list-moreutils', type=('build', 'run'))
- depends_on('perl-exporter-tiny', type=('build', 'run'))
- depends_on('perl-libwww-perl', type=('build', 'run'))
- depends_on('perl-http-message', type=('build', 'run'))
- depends_on('perl-json', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("py-setuptools@28.0:", type="build")
+ depends_on("py-prettytable@0.7:", type=("build", "run"))
+ depends_on("py-poster@0.8.1:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.8:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("r-matr", type=("build", "run"))
+ depends_on("shocklibs@0.1.30:")
+ depends_on("perl-list-moreutils", type=("build", "run"))
+ depends_on("perl-exporter-tiny", type=("build", "run"))
+ depends_on("perl-libwww-perl", type=("build", "run"))
+ depends_on("perl-http-message", type=("build", "run"))
+ depends_on("perl-json", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mido/package.py b/var/spack/repos/builtin/packages/py-mido/package.py
index a50f5866e2..fac47390a2 100644
--- a/var/spack/repos/builtin/packages/py-mido/package.py
+++ b/var/spack/repos/builtin/packages/py-mido/package.py
@@ -11,11 +11,11 @@ class PyMido(PythonPackage):
designed to be as straight forward and Pythonic as possible."""
homepage = "https://mido.readthedocs.io/"
- url = "https://github.com/mido/mido/archive/1.2.9.tar.gz"
+ url = "https://github.com/mido/mido/archive/1.2.9.tar.gz"
- version('1.2.9', sha256='6d68d7514bb3320f505ba4d7e06006c4725c0b97f281126bc983f3f7eeed697a')
- version('1.2.8', sha256='4d26706430ea87dfcd950b19979d3edb97b2b113eb7e233c64290713cf7ec7b9')
- version('1.2.7', sha256='7fb8d2c4b16b1d4f18b2e440654905ad63a8d24121f41b0126f39e3c7db89cf1')
- version('1.2.6', sha256='870d2f470ce1123324f9ef9676b6c9f2580293dd2a07fdfe00e20a47740e8b8e')
+ version("1.2.9", sha256="6d68d7514bb3320f505ba4d7e06006c4725c0b97f281126bc983f3f7eeed697a")
+ version("1.2.8", sha256="4d26706430ea87dfcd950b19979d3edb97b2b113eb7e233c64290713cf7ec7b9")
+ version("1.2.7", sha256="7fb8d2c4b16b1d4f18b2e440654905ad63a8d24121f41b0126f39e3c7db89cf1")
+ version("1.2.6", sha256="870d2f470ce1123324f9ef9676b6c9f2580293dd2a07fdfe00e20a47740e8b8e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mikado/package.py b/var/spack/repos/builtin/packages/py-mikado/package.py
index 56472ac4f7..bd0bd80cd4 100644
--- a/var/spack/repos/builtin/packages/py-mikado/package.py
+++ b/var/spack/repos/builtin/packages/py-mikado/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class PyMikado(PythonPackage):
"""Mikado is a lightweight Python3 pipeline whose purpose is to facilitate
- the identification of expressed loci from RNA-Seq data * and to select
- the best models in each locus."""
+ the identification of expressed loci from RNA-Seq data * and to select
+ the best models in each locus."""
homepage = "https://github.com/EI-CoreBioinformatics/mikado"
pypi = "Mikado/Mikado-1.2.4.tar.gz"
- version('1.2.4', sha256='c0485dba3b7c285599809e058c83f33b5efa9522d20d9f980423410604207f61')
+ version("1.2.4", sha256="c0485dba3b7c285599809e058c83f33b5efa9522d20d9f980423410604207f61")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel@0.28.0:', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-cython@0.25:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-networkx@1.10:', type=('build', 'run'))
- depends_on('py-sqlalchemy@1:', type=('build', 'run'))
- depends_on('py-sqlalchemy-utils', type=('build', 'run'))
- depends_on('py-biopython@1.66:', type=('build', 'run'))
- depends_on('py-intervaltree', type=('build', 'run'))
- depends_on('py-nose', type=('build', 'run'))
- depends_on('py-pyfaidx', type=('build', 'run'))
- depends_on('py-scikit-learn@0.17.0:', type=('build', 'run'))
- depends_on('py-scipy@0.15.0:', type=('build', 'run'))
- depends_on('py-python-magic', type=('build', 'run'))
- depends_on('py-drmaa', type=('build', 'run'))
- depends_on('snakemake', type=('build', 'run'))
- depends_on('py-docutils@:0.13.0,0.13.2:', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
- depends_on('py-ujson', type=('build', 'run'))
- depends_on('py-simplejson', type=('build', 'run'))
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel@0.28.0:", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-cython@0.25:", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-networkx@1.10:", type=("build", "run"))
+ depends_on("py-sqlalchemy@1:", type=("build", "run"))
+ depends_on("py-sqlalchemy-utils", type=("build", "run"))
+ depends_on("py-biopython@1.66:", type=("build", "run"))
+ depends_on("py-intervaltree", type=("build", "run"))
+ depends_on("py-nose", type=("build", "run"))
+ depends_on("py-pyfaidx", type=("build", "run"))
+ depends_on("py-scikit-learn@0.17.0:", type=("build", "run"))
+ depends_on("py-scipy@0.15.0:", type=("build", "run"))
+ depends_on("py-python-magic", type=("build", "run"))
+ depends_on("py-drmaa", type=("build", "run"))
+ depends_on("snakemake", type=("build", "run"))
+ depends_on("py-docutils@:0.13.0,0.13.2:", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
+ depends_on("py-ujson", type=("build", "run"))
+ depends_on("py-simplejson", type=("build", "run"))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-minio/package.py b/var/spack/repos/builtin/packages/py-minio/package.py
index 92f1c5aa97..944245e66e 100644
--- a/var/spack/repos/builtin/packages/py-minio/package.py
+++ b/var/spack/repos/builtin/packages/py-minio/package.py
@@ -12,10 +12,10 @@ class PyMinio(PythonPackage):
and object operations to any Amazon S3 compatible object storage service."""
homepage = "https://github.com/minio/minio-py"
- pypi = "minio/minio-7.1.2.tar.gz"
+ pypi = "minio/minio-7.1.2.tar.gz"
- version('7.1.2', sha256='40d0cdb4dba5d5610d6599ea740cf827102db5bfa71279fc220c3cf7305bedc1')
+ version("7.1.2", sha256="40d0cdb4dba5d5610d6599ea740cf827102db5bfa71279fc220c3cf7305bedc1")
- depends_on('py-setuptools', type='build')
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-urllib3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-urllib3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-minrpc/package.py b/var/spack/repos/builtin/packages/py-minrpc/package.py
index e7c241f73b..e38df72a00 100644
--- a/var/spack/repos/builtin/packages/py-minrpc/package.py
+++ b/var/spack/repos/builtin/packages/py-minrpc/package.py
@@ -12,7 +12,7 @@ class PyMinrpc(PythonPackage):
homepage = "https://github.com/hibtc/minrpc"
pypi = "minrpc/minrpc-0.0.11.tar.gz"
- version('0.0.11', sha256='bed53160f2774fdae7bd3d0fb5d1c77d17395394ec28a9e95a5859f486b54893')
+ version("0.0.11", sha256="bed53160f2774fdae7bd3d0fb5d1c77d17395394ec28a9e95a5859f486b54893")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-misopy/package.py b/var/spack/repos/builtin/packages/py-misopy/package.py
index e16dc9aafe..06e2f73fdf 100644
--- a/var/spack/repos/builtin/packages/py-misopy/package.py
+++ b/var/spack/repos/builtin/packages/py-misopy/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class PyMisopy(PythonPackage):
"""MISO (Mixture of Isoforms) is a probabilistic framework that
- quantitates the expression level of alternatively spliced genes from
- RNA-Seq data, and identifies differentially regulated isoforms or exons
- across samples."""
+ quantitates the expression level of alternatively spliced genes from
+ RNA-Seq data, and identifies differentially regulated isoforms or exons
+ across samples."""
homepage = "https://miso.readthedocs.io/en/fastmiso/"
pypi = "misopy/misopy-0.5.4.tar.gz"
- version('0.5.4', sha256='377a28b0c254b1920ffdc2d89cf96c3a21cadf1cf148ee6d6ef7a88ada067dfc')
+ version("0.5.4", sha256="377a28b0c254b1920ffdc2d89cf96c3a21cadf1cf148ee6d6ef7a88ada067dfc")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-numpy@1.5.0:', type=('build', 'run'))
- depends_on('py-scipy@0.9.0:', type=('build', 'run'))
- depends_on('py-pysam@0.6.0:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('samtools')
- depends_on('bedtools2')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-numpy@1.5.0:", type=("build", "run"))
+ depends_on("py-scipy@0.9.0:", type=("build", "run"))
+ depends_on("py-pysam@0.6.0:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("samtools")
+ depends_on("bedtools2")
diff --git a/var/spack/repos/builtin/packages/py-mistune/package.py b/var/spack/repos/builtin/packages/py-mistune/package.py
index c483d5efd4..089815e1d9 100644
--- a/var/spack/repos/builtin/packages/py-mistune/package.py
+++ b/var/spack/repos/builtin/packages/py-mistune/package.py
@@ -10,21 +10,21 @@ class PyMistune(PythonPackage):
"""A sane Markdown parser with useful plugins and renderers."""
homepage = "https://github.com/lepture/mistune"
- pypi = "mistune/mistune-2.0.2.tar.gz"
+ pypi = "mistune/mistune-2.0.2.tar.gz"
- version('2.0.2', sha256='6fc88c3cb49dba8b16687b41725e661cf85784c12e8974a29b9d336dd596c3a1')
- version('0.8.4', sha256='59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e')
- version('0.8.3', sha256='bc10c33bfdcaa4e749b779f62f60d6e12f8215c46a292d05e486b869ae306619')
- version('0.8.2', sha256='c50f2fb3a058120c5696f08af9d57877a9c76e879f19af5835fb2c6a4e56a67b')
- version('0.8.1', sha256='4c0f66924ce28f03b95b210ea57e57bd0b59f479edd91c2fa4fe59331eae4a82')
- version('0.8', sha256='dc3f43e7cf0abb95cdfecbf82d85c419108d5f13e1844b2a8a2fc0abf24c7a47')
- version('0.7.4', sha256='8517af9f5cd1857bb83f9a23da75aa516d7538c32a2c5d5c56f3789a9e4cd22f')
- version('0.7.3', sha256='21d0e869df3b9189f248e022f1c9763cf9069e1a2f00676f1f1852bd7f98b713')
- version('0.7.2', sha256='626f2516adcde4af608eaf83635ff20ff7e577c1898ad4d0f0fcd8c094399840')
- version('0.7.1', sha256='6076dedf768348927d991f4371e5a799c6a0158b16091df08ee85ee231d929a7')
- version('0.7', sha256='1daa2e55f5de63ecde7c446c4677c0447006752f78ad2c9c1c3c3452d395f89f')
- version('0.6', sha256='d54a69365d01bc97412a39c11674a8aae3f333586e91f38895cc1ad818e13dc5')
- version('0.5.1', sha256='cc66489a28845c0e1848ae290af5b555074eb76185136ca058e8eed1faa89692')
- version('0.5', sha256='d53d868cfd10cf757160e88adb5760fce95f7026a243f15a02b7c604238e5869')
+ version("2.0.2", sha256="6fc88c3cb49dba8b16687b41725e661cf85784c12e8974a29b9d336dd596c3a1")
+ version("0.8.4", sha256="59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e")
+ version("0.8.3", sha256="bc10c33bfdcaa4e749b779f62f60d6e12f8215c46a292d05e486b869ae306619")
+ version("0.8.2", sha256="c50f2fb3a058120c5696f08af9d57877a9c76e879f19af5835fb2c6a4e56a67b")
+ version("0.8.1", sha256="4c0f66924ce28f03b95b210ea57e57bd0b59f479edd91c2fa4fe59331eae4a82")
+ version("0.8", sha256="dc3f43e7cf0abb95cdfecbf82d85c419108d5f13e1844b2a8a2fc0abf24c7a47")
+ version("0.7.4", sha256="8517af9f5cd1857bb83f9a23da75aa516d7538c32a2c5d5c56f3789a9e4cd22f")
+ version("0.7.3", sha256="21d0e869df3b9189f248e022f1c9763cf9069e1a2f00676f1f1852bd7f98b713")
+ version("0.7.2", sha256="626f2516adcde4af608eaf83635ff20ff7e577c1898ad4d0f0fcd8c094399840")
+ version("0.7.1", sha256="6076dedf768348927d991f4371e5a799c6a0158b16091df08ee85ee231d929a7")
+ version("0.7", sha256="1daa2e55f5de63ecde7c446c4677c0447006752f78ad2c9c1c3c3452d395f89f")
+ version("0.6", sha256="d54a69365d01bc97412a39c11674a8aae3f333586e91f38895cc1ad818e13dc5")
+ version("0.5.1", sha256="cc66489a28845c0e1848ae290af5b555074eb76185136ca058e8eed1faa89692")
+ version("0.5", sha256="d53d868cfd10cf757160e88adb5760fce95f7026a243f15a02b7c604238e5869")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mixedhtseq/package.py b/var/spack/repos/builtin/packages/py-mixedhtseq/package.py
index 2f63663889..88f042ffce 100644
--- a/var/spack/repos/builtin/packages/py-mixedhtseq/package.py
+++ b/var/spack/repos/builtin/packages/py-mixedhtseq/package.py
@@ -12,29 +12,29 @@ class PyMixedhtseq(PythonPackage):
"""HTSeq for mixed single and paired end reads"""
homepage = "https://github.com/schae234/MixedHTSeq"
- url = "https://github.com/schae234/MixedHTSeq/archive/v0.1.0.tar.gz"
+ url = "https://github.com/schae234/MixedHTSeq/archive/v0.1.0.tar.gz"
- version('0.1.0', sha256='234689c8743ae2ba7ad13bc1809a5248184a4b8d16112d5413e09164ab67e157')
+ version("0.1.0", sha256="234689c8743ae2ba7ad13bc1809a5248184a4b8d16112d5413e09164ab67e157")
- depends_on('python@2.5:2.8', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-htseq', type=('build', 'run'))
- depends_on('py-ipython', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
+ depends_on("python@2.5:2.8", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-htseq", type=("build", "run"))
+ depends_on("py-ipython", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- @run_after('install')
+ @run_after("install")
def install_scripts(self):
- shebang = '#!{0}\n'.format(self.spec['python'].command)
+ shebang = "#!{0}\n".format(self.spec["python"].command)
- for fname in glob.glob('scripts/*.py'):
- filter_file('^#!.*', '', fname)
- with open(fname, 'r') as orig:
+ for fname in glob.glob("scripts/*.py"):
+ filter_file("^#!.*", "", fname)
+ with open(fname, "r") as orig:
fdata = orig.read()
- with open(fname, 'w') as new:
+ with open(fname, "w") as new:
new.write(shebang + fdata)
set_executable(fname)
mkdirp(self.prefix.bin)
- install_tree('scripts', self.prefix.bin)
+ install_tree("scripts", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-mizani/package.py b/var/spack/repos/builtin/packages/py-mizani/package.py
index 2a70870317..3feed1e791 100644
--- a/var/spack/repos/builtin/packages/py-mizani/package.py
+++ b/var/spack/repos/builtin/packages/py-mizani/package.py
@@ -14,29 +14,29 @@ class PyMizani(PythonPackage):
homepage = "https://mizani.readthedocs.io/en/latest"
pypi = "mizani/mizani-0.7.4.tar.gz"
- version('0.7.4', sha256='b84b923cd3b8b4c0421a750672e5a85ed2aa05e632bd37af8419d5bbf65c397c')
- version('0.7.3', sha256='f521300bd29ca918fcd629bc8ab50fa04e41bdbe00f6bcf74055d3c6273770a4')
- version('0.6.0', sha256='2cdba487ee54faf3e5bfe0903155a13ff13d27a2dae709f9432194915b4fb1cd')
+ version("0.7.4", sha256="b84b923cd3b8b4c0421a750672e5a85ed2aa05e632bd37af8419d5bbf65c397c")
+ version("0.7.3", sha256="f521300bd29ca918fcd629bc8ab50fa04e41bdbe00f6bcf74055d3c6273770a4")
+ version("0.6.0", sha256="2cdba487ee54faf3e5bfe0903155a13ff13d27a2dae709f9432194915b4fb1cd")
# common requirements
depends_on("py-palettable", type=("build", "run"))
# variable requirements
- depends_on('python@3.8:', type=('build', 'run'), when='@0.7.4:')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.6.0:')
+ depends_on("python@3.8:", type=("build", "run"), when="@0.7.4:")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-setuptools@42:", type="build", when='@0.7.4:')
- depends_on("py-setuptools", type="build", when='@0.6.0:')
+ depends_on("py-setuptools@42:", type="build", when="@0.7.4:")
+ depends_on("py-setuptools", type="build", when="@0.6.0:")
- depends_on("py-matplotlib@3.5.0:", type=("build", "run"), when='@0.7.4:')
- depends_on("py-matplotlib@3.1.1:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-matplotlib@3.5.0:", type=("build", "run"), when="@0.7.4:")
+ depends_on("py-matplotlib@3.1.1:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-numpy@1.19.0:", type=("build", "run"), when='@0.7.4:')
- depends_on("py-numpy", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-numpy@1.19.0:", type=("build", "run"), when="@0.7.4:")
+ depends_on("py-numpy", type=("build", "run"), when="@0.6.0:")
- depends_on("py-scipy@1.5.0:", type=("build", "run"), when='@0.7.4:')
+ depends_on("py-scipy@1.5.0:", type=("build", "run"), when="@0.7.4:")
- depends_on("py-pandas@1.3.5:", type=("build", "run"), when='@0.7.4:')
- depends_on("py-pandas@1.1.0:", type=("build", "run"), when='@0.7.2:')
- depends_on("py-pandas@1.0.0:", type=("build", "run"), when='@0.7.0:')
- depends_on("py-pandas@0.25.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-pandas@1.3.5:", type=("build", "run"), when="@0.7.4:")
+ depends_on("py-pandas@1.1.0:", type=("build", "run"), when="@0.7.2:")
+ depends_on("py-pandas@1.0.0:", type=("build", "run"), when="@0.7.0:")
+ depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@0.6.0:")
diff --git a/var/spack/repos/builtin/packages/py-ml-collections/package.py b/var/spack/repos/builtin/packages/py-ml-collections/package.py
index a4274103fb..15bbc23232 100644
--- a/var/spack/repos/builtin/packages/py-ml-collections/package.py
+++ b/var/spack/repos/builtin/packages/py-ml-collections/package.py
@@ -10,15 +10,15 @@ class PyMlCollections(PythonPackage):
"""ML Collections is a library of Python collections designed for ML usecases."""
homepage = "https://https://github.com/google/ml_collections"
- pypi = "ml_collections/ml_collections-0.1.0.tar.gz"
+ pypi = "ml_collections/ml_collections-0.1.0.tar.gz"
- version('0.1.1', sha256='3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc')
+ version("0.1.1", sha256="3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-absl-py', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-contextlib2', type=('build', 'run'))
- depends_on('py-dataclasses', type=('build', 'run'), when='python@:3.6')
- depends_on('py-typing', type=('build', 'run'), when='python@:3.5')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-absl-py", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-contextlib2", type=("build", "run"))
+ depends_on("py-dataclasses", type=("build", "run"), when="python@:3.6")
+ depends_on("py-typing", type=("build", "run"), when="python@:3.5")
diff --git a/var/spack/repos/builtin/packages/py-mlperf-logging/package.py b/var/spack/repos/builtin/packages/py-mlperf-logging/package.py
index be6e0d4bc6..e2f205223e 100644
--- a/var/spack/repos/builtin/packages/py-mlperf-logging/package.py
+++ b/var/spack/repos/builtin/packages/py-mlperf-logging/package.py
@@ -10,8 +10,8 @@ class PyMlperfLogging(PythonPackage):
"""MLPerf Compliance Logging Utilities and Helper Functions."""
homepage = "https://github.com/mlperf/logging"
- url = "https://github.com/mlperf/logging/archive/0.7.1.tar.gz"
+ url = "https://github.com/mlperf/logging/archive/0.7.1.tar.gz"
- version('0.7.1', sha256='32fb6885d8bbf20e1225dc7ec57dc964649df696278cdd2d575aeef8e891f7bb')
+ version("0.7.1", sha256="32fb6885d8bbf20e1225dc7ec57dc964649df696278cdd2d575aeef8e891f7bb")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mlxtend/package.py b/var/spack/repos/builtin/packages/py-mlxtend/package.py
index 8a1c0c1488..ebe91f5c7c 100644
--- a/var/spack/repos/builtin/packages/py-mlxtend/package.py
+++ b/var/spack/repos/builtin/packages/py-mlxtend/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class PyMlxtend(PythonPackage):
"""Mlxtend (machine learning extensions) is a Python library of useful
- tools for the day-to-day data science tasks."""
+ tools for the day-to-day data science tasks."""
homepage = "https://rasbt.github.io/mlxtend/"
- url = "https://github.com/rasbt/mlxtend/archive/v0.16.0.tar.gz"
+ url = "https://github.com/rasbt/mlxtend/archive/v0.16.0.tar.gz"
- version('0.16.0', sha256='38789b36173630bf18e2244b035e7e6b44a87a0ae65cf04935cd2eecbf6595a1')
+ version("0.16.0", sha256="38789b36173630bf18e2244b035e7e6b44a87a0ae65cf04935cd2eecbf6595a1")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.10.4:', type=('build', 'run'))
- depends_on('py-scipy@0.17:', type=('build', 'run'))
- depends_on('py-pandas@0.17.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.18:', type=('build', 'run'))
- depends_on('py-matplotlib@1.5.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.10.4:", type=("build", "run"))
+ depends_on("py-scipy@0.17:", type=("build", "run"))
+ depends_on("py-pandas@0.17.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18:", type=("build", "run"))
+ depends_on("py-matplotlib@1.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mmcv/package.py b/var/spack/repos/builtin/packages/py-mmcv/package.py
index 727295eb50..5f034b9d4f 100644
--- a/var/spack/repos/builtin/packages/py-mmcv/package.py
+++ b/var/spack/repos/builtin/packages/py-mmcv/package.py
@@ -12,16 +12,16 @@ class PyMmcv(PythonPackage):
MMLAB, such as MMDetection and MMAction."""
homepage = "https://mmcv.readthedocs.io/en/latest/"
- url = "https://github.com/open-mmlab/mmcv/archive/v0.5.1.tar.gz"
+ url = "https://github.com/open-mmlab/mmcv/archive/v0.5.1.tar.gz"
- version('0.5.1', sha256='7c5ad30d9b61e44019e81ef46c406aa85dd08b5d0ba12ddd5cdc9c445835a55e')
+ version("0.5.1", sha256="7c5ad30d9b61e44019e81ef46c406aa85dd08b5d0ba12ddd5cdc9c445835a55e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-addict', type=('build', 'run'))
- depends_on('py-numpy@1.11.1:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('opencv+python3', type=('build', 'run'))
- depends_on('py-cython', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-addict", type=("build", "run"))
+ depends_on("py-numpy@1.11.1:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("opencv+python3", type=("build", "run"))
+ depends_on("py-cython", type="build")
- patch('opencv_for0.5.1.patch', when='@0.5.1')
+ patch("opencv_for0.5.1.patch", when="@0.5.1")
diff --git a/var/spack/repos/builtin/packages/py-mmtf-python/package.py b/var/spack/repos/builtin/packages/py-mmtf-python/package.py
index 3bc1c2db53..6489542497 100644
--- a/var/spack/repos/builtin/packages/py-mmtf-python/package.py
+++ b/var/spack/repos/builtin/packages/py-mmtf-python/package.py
@@ -13,7 +13,7 @@ class PyMmtfPython(PythonPackage):
homepage = "https://github.com/rcsb/mmtf-python"
pypi = "mmtf-python/mmtf-python-1.1.2.tar.gz"
- version('1.1.2', sha256='a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df')
+ version("1.1.2", sha256="a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df")
- depends_on('py-setuptools', type='build')
- depends_on('py-msgpack@0.5.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msgpack@0.5.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mne/package.py b/var/spack/repos/builtin/packages/py-mne/package.py
index eee1c4255d..4b8ddad454 100644
--- a/var/spack/repos/builtin/packages/py-mne/package.py
+++ b/var/spack/repos/builtin/packages/py-mne/package.py
@@ -10,57 +10,59 @@ class PyMne(PythonPackage):
"""MNE python project for MEG and EEG data analysis."""
homepage = "http://mne.tools/"
- pypi = "mne/mne-0.23.4.tar.gz"
+ pypi = "mne/mne-0.23.4.tar.gz"
- version('0.23.4', sha256='ecace5caacf10961ebb74cc5e0ead4d4dbc55fed006eab1e644da144092354e9')
- version('0.18.2', sha256='aa2e72ad3225efdad39b05e67cd5c88dbd5c3fabf5e1705e459347131f114bc6')
+ version("0.23.4", sha256="ecace5caacf10961ebb74cc5e0ead4d4dbc55fed006eab1e644da144092354e9")
+ version("0.18.2", sha256="aa2e72ad3225efdad39b05e67cd5c88dbd5c3fabf5e1705e459347131f114bc6")
- variant('full', default=False, description="Enable full functionality.")
+ variant("full", default=False, description="Enable full functionality.")
- depends_on('python@3.6:', when='@0.23:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@0.23:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy@1.15.4:', when='@0.23:', type=('build', 'run'))
- depends_on('py-numpy@1.11.3:', type=('build', 'run'))
- depends_on('py-scipy@1.1.0:', when='@0.23:', type=('build', 'run'))
- depends_on('py-scipy@0.17.1:', type=('build', 'run'))
+ depends_on("py-numpy@1.15.4:", when="@0.23:", type=("build", "run"))
+ depends_on("py-numpy@1.11.3:", type=("build", "run"))
+ depends_on("py-scipy@1.1.0:", when="@0.23:", type=("build", "run"))
+ depends_on("py-scipy@0.17.1:", type=("build", "run"))
- with when('+full'):
+ with when("+full"):
# requirements.txt with versions specified in README.rst (marked with *)
- depends_on('py-matplotlib@3.0.3:', type=('build', 'run')) # *
- depends_on('py-pyqt5@5.10:,:5.15.1,5.15.4:', when='platform=linux', type=('build', 'run'))
- depends_on('py-pyqt5@5.10:,:5.13', when='platform=darwin', type=('build', 'run'))
- depends_on('py-pyqt5@5.10:,:5.15.2,5.15.4:', when='platform=cray', type=('build', 'run'))
- depends_on('py-pyqt5@5.10:,:5.15.2,5.15.4:', when='platform=win32', type=('build', 'run'))
- depends_on('py-pyqt5-sip', type=('build', 'run'))
- depends_on('py-sip', type=('build', 'run'))
- depends_on('py-scikit-learn@0.20.2:', type=('build', 'run')) # *
- depends_on('py-nibabel@2.1.0:', type=('build', 'run')) # *
- depends_on('py-numba@0.40:', type=('build', 'run')) # *
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-pandas@0.23.4:', type=('build', 'run')) # *
- depends_on('py-numexpr', type=('build', 'run'))
- depends_on('py-jupyter', type=('build', 'run'))
- depends_on('py-python-picard@0.3:', type=('build', 'run')) # *
- depends_on('py-statsmodels', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-dipy@0.10.1:', type=('build', 'run')) # *
- depends_on('vtk+python', type=('build', 'run'))
- depends_on('vtk+python@:8.1', when='platform=darwim', type=('build', 'run'))
- depends_on('py-mayavi', type=('build', 'run'))
- depends_on('py-pysurfer+save_movie', type=('build', 'run'))
- depends_on('py-nilearn', type=('build', 'run'))
- depends_on('py-xlrd', type=('build', 'run'))
- depends_on('py-imageio@2.6.1:', type=('build', 'run')) # *
- depends_on('py-imageio-ffmpeg@0.4.1:', type=('build', 'run'))
- depends_on('py-pyvista@0.24:', type=('build', 'run')) # *
- depends_on('py-pyvistaqt@0.2.0:', type=('build', 'run')) # *
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-mffpy@0.5.7:', type=('build', 'run')) # *
- depends_on('py-ipywidgets', type=('build', 'run'))
- depends_on('py-ipyvtk-simple', type=('build', 'run'))
+ depends_on("py-matplotlib@3.0.3:", type=("build", "run")) # *
+ depends_on("py-pyqt5@5.10:,:5.15.1,5.15.4:", when="platform=linux", type=("build", "run"))
+ depends_on("py-pyqt5@5.10:,:5.13", when="platform=darwin", type=("build", "run"))
+ depends_on("py-pyqt5@5.10:,:5.15.2,5.15.4:", when="platform=cray", type=("build", "run"))
+ depends_on("py-pyqt5@5.10:,:5.15.2,5.15.4:", when="platform=win32", type=("build", "run"))
+ depends_on("py-pyqt5-sip", type=("build", "run"))
+ depends_on("py-sip", type=("build", "run"))
+ depends_on("py-scikit-learn@0.20.2:", type=("build", "run")) # *
+ depends_on("py-nibabel@2.1.0:", type=("build", "run")) # *
+ depends_on("py-numba@0.40:", type=("build", "run")) # *
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-pandas@0.23.4:", type=("build", "run")) # *
+ depends_on("py-numexpr", type=("build", "run"))
+ depends_on("py-jupyter", type=("build", "run"))
+ depends_on("py-python-picard@0.3:", type=("build", "run")) # *
+ depends_on("py-statsmodels", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-dipy@0.10.1:", type=("build", "run")) # *
+ depends_on("vtk+python", type=("build", "run"))
+ depends_on("vtk+python@:8.1", when="platform=darwim", type=("build", "run"))
+ depends_on("py-mayavi", type=("build", "run"))
+ depends_on("py-pysurfer+save_movie", type=("build", "run"))
+ depends_on("py-nilearn", type=("build", "run"))
+ depends_on("py-xlrd", type=("build", "run"))
+ depends_on("py-imageio@2.6.1:", type=("build", "run")) # *
+ depends_on("py-imageio-ffmpeg@0.4.1:", type=("build", "run"))
+ depends_on("py-pyvista@0.24:", type=("build", "run")) # *
+ depends_on("py-pyvistaqt@0.2.0:", type=("build", "run")) # *
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-mffpy@0.5.7:", type=("build", "run")) # *
+ depends_on("py-ipywidgets", type=("build", "run"))
+ depends_on("py-ipyvtk-simple", type=("build", "run"))
# README.rst
+
+
# depends_on('py-cupy@4.0:', type=('build', 'run')) # not yet in spack
diff --git a/var/spack/repos/builtin/packages/py-mo-pack/package.py b/var/spack/repos/builtin/packages/py-mo-pack/package.py
index 26f6c077d7..846ce28e7d 100644
--- a/var/spack/repos/builtin/packages/py-mo-pack/package.py
+++ b/var/spack/repos/builtin/packages/py-mo-pack/package.py
@@ -11,14 +11,14 @@ class PyMoPack(PythonPackage):
Met Office Unified Model 'fields'"""
homepage = "https://github.com/SciTools/mo_pack"
- url = "https://github.com/SciTools/mo_pack/archive/v0.2.0.tar.gz"
+ url = "https://github.com/SciTools/mo_pack/archive/v0.2.0.tar.gz"
- version('0.2.0', sha256='4aa70e1f846b666670843bc2514435dedf7393203e88abaf74d48f8f2717a726')
+ version("0.2.0", sha256="4aa70e1f846b666670843bc2514435dedf7393203e88abaf74d48f8f2717a726")
- depends_on('libmo-unpack')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
+ depends_on("libmo-unpack")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', self.spec['libmo-unpack'].libs.search_flags)
+ env.append_flags("LDFLAGS", self.spec["libmo-unpack"].libs.search_flags)
diff --git a/var/spack/repos/builtin/packages/py-mock/package.py b/var/spack/repos/builtin/packages/py-mock/package.py
index 4483a85e81..71f96cd586 100644
--- a/var/spack/repos/builtin/packages/py-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-mock/package.py
@@ -14,15 +14,15 @@ class PyMock(PythonPackage):
homepage = "https://github.com/testing-cabal/mock"
pypi = "mock/mock-4.0.3.tar.gz"
- version('4.0.3', sha256='7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc')
- version('3.0.5', sha256='83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3')
- version('3.0.3', sha256='5eda46efb363128828d6fd2bf8d16f6ebb66f5b543b9f7f8f4eb224c5cb503fe')
- version('2.0.0', sha256='b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba')
- version('1.3.0', sha256='1e247dbecc6ce057299eb7ee019ad68314bb93152e81d9a6110d35f4d5eca0f6')
+ version("4.0.3", sha256="7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc")
+ version("3.0.5", sha256="83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3")
+ version("3.0.3", sha256="5eda46efb363128828d6fd2bf8d16f6ebb66f5b543b9f7f8f4eb224c5cb503fe")
+ version("2.0.0", sha256="b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba")
+ version("1.3.0", sha256="1e247dbecc6ce057299eb7ee019ad68314bb93152e81d9a6110d35f4d5eca0f6")
- depends_on('python@3.6:', type=('build', 'run'), when='@3')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:2')
- depends_on('py-setuptools@17.1:', type='build')
- depends_on('py-pbr@1.3:', type=('build'), when='@:2')
- depends_on('py-six@1.9:', type=('build', 'run'), when='@:2')
- depends_on('py-funcsigs@1:', type=('build', 'run'), when='^python@:3.2')
+ depends_on("python@3.6:", type=("build", "run"), when="@3")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@:2")
+ depends_on("py-setuptools@17.1:", type="build")
+ depends_on("py-pbr@1.3:", type=("build"), when="@:2")
+ depends_on("py-six@1.9:", type=("build", "run"), when="@:2")
+ depends_on("py-funcsigs@1:", type=("build", "run"), when="^python@:3.2")
diff --git a/var/spack/repos/builtin/packages/py-modred/package.py b/var/spack/repos/builtin/packages/py-modred/package.py
index 913e65bbae..0d10eace38 100644
--- a/var/spack/repos/builtin/packages/py-modred/package.py
+++ b/var/spack/repos/builtin/packages/py-modred/package.py
@@ -10,16 +10,17 @@ class PyModred(PythonPackage):
"""Modred is a parallelized library for finding
modal decompositions and reduced-order models.
"""
+
homepage = "https://github.com/belson17/modred"
- git = "https://github.com/belson17/modred.git"
+ git = "https://github.com/belson17/modred.git"
- version('2.0.4', tag='v2.0.4')
- version('2.0.3', tag='v2.0.3')
- version('2.0.2', tag='v2.0.2')
- version('2.0.1', tag='v2.0.1')
- version('2.0.0', tag='v2.0.0')
+ version("2.0.4", tag="v2.0.4")
+ version("2.0.3", tag="v2.0.3")
+ version("2.0.2", tag="v2.0.2")
+ version("2.0.1", tag="v2.0.1")
+ version("2.0.0", tag="v2.0.0")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type="run")
- patch('v2x-setuptools-8.0.patch', when='@2: ^py-setuptools@8.0:')
+ patch("v2x-setuptools-8.0.patch", when="@2: ^py-setuptools@8.0:")
diff --git a/var/spack/repos/builtin/packages/py-moltemplate/package.py b/var/spack/repos/builtin/packages/py-moltemplate/package.py
index 1a478cbdc6..2db568f46a 100644
--- a/var/spack/repos/builtin/packages/py-moltemplate/package.py
+++ b/var/spack/repos/builtin/packages/py-moltemplate/package.py
@@ -11,9 +11,9 @@ class PyMoltemplate(PythonPackage):
LAMMPS."""
homepage = "https://moltemplate.org"
- url = "https://github.com/jewettaij/moltemplate/archive/v2.5.8.tar.gz"
+ url = "https://github.com/jewettaij/moltemplate/archive/v2.5.8.tar.gz"
- version('2.5.8', sha256='f1e2d52249e996d85f5b1b7b50f50037da9e4b9c252cdfc622b21e79aa21162f')
+ version("2.5.8", sha256="f1e2d52249e996d85f5b1b7b50f50037da9e4b9c252cdfc622b21e79aa21162f")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-monotonic/package.py b/var/spack/repos/builtin/packages/py-monotonic/package.py
index 7a1a8d6455..b2f942a6c1 100644
--- a/var/spack/repos/builtin/packages/py-monotonic/package.py
+++ b/var/spack/repos/builtin/packages/py-monotonic/package.py
@@ -11,7 +11,7 @@ class PyMonotonic(PythonPackage):
pypi = "monotonic/monotonic-1.6.tar.gz"
- version('1.6', sha256='3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7')
- version('1.2', sha256='c0e1ceca563ca6bb30b0fb047ee1002503ae6ad3585fc9c6af37a8f77ec274ba')
+ version("1.6", sha256="3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7")
+ version("1.2", sha256="c0e1ceca563ca6bb30b0fb047ee1002503ae6ad3585fc9c6af37a8f77ec274ba")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-monty/package.py b/var/spack/repos/builtin/packages/py-monty/package.py
index de3f480928..f5d496b277 100644
--- a/var/spack/repos/builtin/packages/py-monty/package.py
+++ b/var/spack/repos/builtin/packages/py-monty/package.py
@@ -12,9 +12,9 @@ class PyMonty(PythonPackage):
homepage = "https://github.com/materialsvirtuallab/monty"
pypi = "monty/monty-0.9.6.tar.gz"
- version('2021.8.17', sha256='d4d5b85566bda80360e275e6ffb72228d203de68c5155446a0e09f19c63e8540')
- version('0.9.6', sha256='bbf05646c4e86731c2398a57b1044add7487fc4ad03122578599ddd9a8892780')
+ version("2021.8.17", sha256="d4d5b85566bda80360e275e6ffb72228d203de68c5155446a0e09f19c63e8540")
+ version("0.9.6", sha256="bbf05646c4e86731c2398a57b1044add7487fc4ad03122578599ddd9a8892780")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'), when='@:1')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"), when="@:1")
diff --git a/var/spack/repos/builtin/packages/py-more-itertools/package.py b/var/spack/repos/builtin/packages/py-more-itertools/package.py
index c966e61d17..8f85828fe6 100644
--- a/var/spack/repos/builtin/packages/py-more-itertools/package.py
+++ b/var/spack/repos/builtin/packages/py-more-itertools/package.py
@@ -12,21 +12,21 @@ class PyMoreItertools(PythonPackage):
homepage = "https://github.com/erikrose/more-itertools"
pypi = "more-itertools/more-itertools-7.2.0.tar.gz"
- version('8.12.0', sha256='7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064')
- version('8.11.0', sha256='0a2fd25d343c08d7e7212071820e7e7ea2f41d8fb45d6bc8a00cd6ce3b7aab88')
- version('8.9.0', sha256='8c746e0d09871661520da4f1241ba6b908dc903839733c8203b552cffaf173bd')
- version('7.2.0', sha256='409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832')
- version('7.0.0', sha256='c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a')
- version('5.0.0', sha256='38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4')
- version('4.3.0', sha256='c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e')
- version('4.1.0', sha256='c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44')
- version('2.2', sha256='93e62e05c7ad3da1a233def6731e8285156701e3419a5fe279017c429ec67ce0')
+ version("8.12.0", sha256="7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064")
+ version("8.11.0", sha256="0a2fd25d343c08d7e7212071820e7e7ea2f41d8fb45d6bc8a00cd6ce3b7aab88")
+ version("8.9.0", sha256="8c746e0d09871661520da4f1241ba6b908dc903839733c8203b552cffaf173bd")
+ version("7.2.0", sha256="409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832")
+ version("7.0.0", sha256="c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a")
+ version("5.0.0", sha256="38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4")
+ version("4.3.0", sha256="c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e")
+ version("4.1.0", sha256="c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44")
+ version("2.2", sha256="93e62e05c7ad3da1a233def6731e8285156701e3419a5fe279017c429ec67ce0")
# https://github.com/more-itertools/more-itertools/issues/578
- depends_on('python@3.6:', when='@8.11', type=('build', 'run'))
- depends_on('python@3.5:', when='@7.1:', type=('build', 'run'))
- depends_on('python@3.4:', when='@6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.2:', when='@2.3:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.0.0:1', when='@:5', type=('build', 'run'))
+ depends_on("python@3.6:", when="@8.11", type=("build", "run"))
+ depends_on("python@3.5:", when="@7.1:", type=("build", "run"))
+ depends_on("python@3.4:", when="@6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.2:", when="@2.3:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.0.0:1", when="@:5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-motmetrics/package.py b/var/spack/repos/builtin/packages/py-motmetrics/package.py
index 5510d9e8ac..6b69579969 100644
--- a/var/spack/repos/builtin/packages/py-motmetrics/package.py
+++ b/var/spack/repos/builtin/packages/py-motmetrics/package.py
@@ -14,15 +14,15 @@ class PyMotmetrics(PythonPackage):
homepage = "https://github.com/cheind/py-motmetrics"
pypi = "motmetrics/motmetrics-1.2.0.tar.gz"
- version('1.2.0', sha256='7328d8468c948400b38fcc212f3e448bc1f2fdfc727e170d85a029e49f1cdbc6')
+ version("1.2.0", sha256="7328d8468c948400b38fcc212f3e448bc1f2fdfc727e170d85a029e49f1cdbc6")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.12.1:', type=('build', 'run'))
- depends_on('py-pandas@0.23.1:', type=('build', 'run'))
- depends_on('py-scipy@0.19.0:', type=('build', 'run'))
- depends_on('py-xmltodict@0.12.0:', type=('build', 'run'))
- depends_on('py-enum34', when='^python@:2', type=('build', 'run'))
- depends_on('py-flake8', type=('build', 'run'))
- depends_on('py-flake8-import-order', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run'))
- depends_on('py-pytest-benchmark', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.12.1:", type=("build", "run"))
+ depends_on("py-pandas@0.23.1:", type=("build", "run"))
+ depends_on("py-scipy@0.19.0:", type=("build", "run"))
+ depends_on("py-xmltodict@0.12.0:", type=("build", "run"))
+ depends_on("py-enum34", when="^python@:2", type=("build", "run"))
+ depends_on("py-flake8", type=("build", "run"))
+ depends_on("py-flake8-import-order", type=("build", "run"))
+ depends_on("py-pytest", type=("build", "run"))
+ depends_on("py-pytest-benchmark", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-motor/package.py b/var/spack/repos/builtin/packages/py-motor/package.py
index 75197e5dbf..c1310dc778 100644
--- a/var/spack/repos/builtin/packages/py-motor/package.py
+++ b/var/spack/repos/builtin/packages/py-motor/package.py
@@ -10,10 +10,10 @@ class PyMotor(PythonPackage):
"""async Python driver for MongoDB and Tornado or asyncio"""
homepage = "https://github.com/mongodb/motor/"
- pypi = "motor/motor-2.5.1.tar.gz"
+ pypi = "motor/motor-2.5.1.tar.gz"
- version('2.5.1', sha256='663473f4498f955d35db7b6f25651cb165514c247136f368b84419cb7635f6b8')
+ version("2.5.1", sha256="663473f4498f955d35db7b6f25651cb165514c247136f368b84419cb7635f6b8")
- depends_on('python@3.5.2:', type=('build', 'run'))
- depends_on('py-pymongo@3.12:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5.2:", type=("build", "run"))
+ depends_on("py-pymongo@3.12:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mouseinfo/package.py b/var/spack/repos/builtin/packages/py-mouseinfo/package.py
index 98514316eb..cc3aa61b30 100644
--- a/var/spack/repos/builtin/packages/py-mouseinfo/package.py
+++ b/var/spack/repos/builtin/packages/py-mouseinfo/package.py
@@ -13,26 +13,26 @@ class PyMouseinfo(PythonPackage):
planning."""
homepage = "https://github.com/asweigart/mouseinfo"
- pypi = "MouseInfo/MouseInfo-0.1.3.tar.gz"
+ pypi = "MouseInfo/MouseInfo-0.1.3.tar.gz"
- version('0.1.3', sha256='2c62fb8885062b8e520a3cce0a297c657adcc08c60952eb05bc8256ef6f7f6e7')
+ version("0.1.3", sha256="2c62fb8885062b8e520a3cce0a297c657adcc08c60952eb05bc8256ef6f7f6e7")
- depends_on('python@2.7,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# rubicon-objc;platform_system=="Darwin"',
# 'python3-Xlib;platform_system=="Linux" and python_version>="3.0"',
# 'Xlib;platform_system=="Linux" and python_version<"3.0"',
# Conflicting until rubicon-objc exists
- conflicts('platform=darwin')
- depends_on('py-python3-xlib', when='^python@3 platform=linux', type=('build', 'run'))
- depends_on('py-python-xlib', when='^python@2 platform=linux', type=('build', 'run'))
-
- depends_on('py-pyperclip', type=('build', 'run'))
- depends_on('pil@5.2.0:', when='^python@3.7:', type=('build', 'run'))
- depends_on('pil@4.0.0:', when='^python@3.6', type=('build', 'run'))
- depends_on('pil@3.2.0:', when='^python@3.5', type=('build', 'run'))
- depends_on('pil@2.5.0:5.4.1', when='^python@3.4', type=('build', 'run'))
- depends_on('pil@2.0.0:4.3.0', when='^python@3.3', type=('build', 'run'))
- depends_on('pil@2.0.0:3.4.2', when='^python@3.2', type=('build', 'run'))
- depends_on('pil@2.0.0:', when='^python@2.7', type=('build', 'run'))
+ conflicts("platform=darwin")
+ depends_on("py-python3-xlib", when="^python@3 platform=linux", type=("build", "run"))
+ depends_on("py-python-xlib", when="^python@2 platform=linux", type=("build", "run"))
+
+ depends_on("py-pyperclip", type=("build", "run"))
+ depends_on("pil@5.2.0:", when="^python@3.7:", type=("build", "run"))
+ depends_on("pil@4.0.0:", when="^python@3.6", type=("build", "run"))
+ depends_on("pil@3.2.0:", when="^python@3.5", type=("build", "run"))
+ depends_on("pil@2.5.0:5.4.1", when="^python@3.4", type=("build", "run"))
+ depends_on("pil@2.0.0:4.3.0", when="^python@3.3", type=("build", "run"))
+ depends_on("pil@2.0.0:3.4.2", when="^python@3.2", type=("build", "run"))
+ depends_on("pil@2.0.0:", when="^python@2.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-moviepy/package.py b/var/spack/repos/builtin/packages/py-moviepy/package.py
index 0f328df9d3..94bed0f6c0 100644
--- a/var/spack/repos/builtin/packages/py-moviepy/package.py
+++ b/var/spack/repos/builtin/packages/py-moviepy/package.py
@@ -17,15 +17,15 @@ class PyMoviepy(PythonPackage):
homepage = "https://zulko.github.io/moviepy/"
pypi = "moviepy/moviepy-1.0.3.tar.gz"
- version('1.0.3', sha256='2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5')
- version('1.0.1', sha256='9d5b0a0e884c0eb92c431baa110e560059720aab15d2ef3e4cba3892c34cf1ed')
+ version("1.0.3", sha256="2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5")
+ version("1.0.1", sha256="9d5b0a0e884c0eb92c431baa110e560059720aab15d2ef3e4cba3892c34cf1ed")
- depends_on('py-setuptools', type='build')
- depends_on('py-decorator@4.0.2:4', type=('build', 'run'))
- depends_on('py-imageio@2.5:2', when='^python@3.4:', type=('build', 'run'))
- depends_on('py-imageio@2.0:2.4', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-imageio-ffmpeg@0.2.0:', when='^python@3.4:', type=('build', 'run'))
- depends_on('py-tqdm@4.11.2:4', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-requests@2.8.1:2', type=('build', 'run'))
- depends_on('py-proglog@:1.0.0', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-decorator@4.0.2:4", type=("build", "run"))
+ depends_on("py-imageio@2.5:2", when="^python@3.4:", type=("build", "run"))
+ depends_on("py-imageio@2.0:2.4", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-imageio-ffmpeg@0.2.0:", when="^python@3.4:", type=("build", "run"))
+ depends_on("py-tqdm@4.11.2:4", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-requests@2.8.1:2", type=("build", "run"))
+ depends_on("py-proglog@:1.0.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mpi4py/package.py b/var/spack/repos/builtin/packages/py-mpi4py/package.py
index 966d6dc461..f0133d2af4 100644
--- a/var/spack/repos/builtin/packages/py-mpi4py/package.py
+++ b/var/spack/repos/builtin/packages/py-mpi4py/package.py
@@ -8,30 +8,31 @@ from spack.package import *
class PyMpi4py(PythonPackage):
"""This package provides Python bindings for the Message Passing
- Interface (MPI) standard. It is implemented on top of the
- MPI-1/MPI-2 specification and exposes an API which grounds on the
- standard MPI-2 C++ bindings.
+ Interface (MPI) standard. It is implemented on top of the
+ MPI-1/MPI-2 specification and exposes an API which grounds on the
+ standard MPI-2 C++ bindings.
"""
+
pypi = "mpi4py/mpi4py-3.0.3.tar.gz"
- git = "https://github.com/mpi4py/mpi4py.git"
+ git = "https://github.com/mpi4py/mpi4py.git"
- version('master', branch='master')
- version('3.1.2', sha256='40dd546bece8f63e1131c3ceaa7c18f8e8e93191a762cd446a8cfcf7f9cce770')
- version('3.1.1', sha256='e11f8587a3b93bb24c8526addec664b586b965d83c0882b884c14dc3fd6b9f5c')
- version('3.1.0', sha256='134fa2b2fe6d8f91bcfcc2824cfd74b55ca3dcbff4d185b1bda009beea9232ec')
- version('3.0.3', sha256='012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f')
- version('3.0.1', sha256='6549a5b81931303baf6600fa2e3bc04d8bd1d5c82f3c21379d0d64a9abcca851')
- version('3.0.0', sha256='b457b02d85bdd9a4775a097fac5234a20397b43e073f14d9e29b6cd78c68efd7')
- version('2.0.0', sha256='6543a05851a7aa1e6d165e673d422ba24e45c41e4221f0993fe1e5924a00cb81')
- version('1.3.1', sha256='e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507')
+ version("master", branch="master")
+ version("3.1.2", sha256="40dd546bece8f63e1131c3ceaa7c18f8e8e93191a762cd446a8cfcf7f9cce770")
+ version("3.1.1", sha256="e11f8587a3b93bb24c8526addec664b586b965d83c0882b884c14dc3fd6b9f5c")
+ version("3.1.0", sha256="134fa2b2fe6d8f91bcfcc2824cfd74b55ca3dcbff4d185b1bda009beea9232ec")
+ version("3.0.3", sha256="012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f")
+ version("3.0.1", sha256="6549a5b81931303baf6600fa2e3bc04d8bd1d5c82f3c21379d0d64a9abcca851")
+ version("3.0.0", sha256="b457b02d85bdd9a4775a097fac5234a20397b43e073f14d9e29b6cd78c68efd7")
+ version("2.0.0", sha256="6543a05851a7aa1e6d165e673d422ba24e45c41e4221f0993fe1e5924a00cb81")
+ version("1.3.1", sha256="e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507")
- depends_on('python@2.6:2.7,3.2:')
- depends_on('python@2.7:2.8,3.5:', when='@3.1:')
- depends_on('py-setuptools', type='build')
- depends_on('mpi')
- depends_on('py-cython@0.27.0:', when='@master', type='build')
- depends_on('py-3to2', when='@3.1: ^python@:2', type='build')
+ depends_on("python@2.6:2.7,3.2:")
+ depends_on("python@2.7:2.8,3.5:", when="@3.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("mpi")
+ depends_on("py-cython@0.27.0:", when="@master", type="build")
+ depends_on("py-3to2", when="@3.1: ^python@:2", type="build")
- @when('@3.1:')
+ @when("@3.1:")
def install_options(self, spec, prefix):
- return ['--mpicc=%s -shared' % spec['mpi'].mpicc]
+ return ["--mpicc=%s -shared" % spec["mpi"].mpicc]
diff --git a/var/spack/repos/builtin/packages/py-mpld3/package.py b/var/spack/repos/builtin/packages/py-mpld3/package.py
index b2f8f78280..e4057cfd3c 100644
--- a/var/spack/repos/builtin/packages/py-mpld3/package.py
+++ b/var/spack/repos/builtin/packages/py-mpld3/package.py
@@ -13,11 +13,11 @@ class PyMpld3(PythonPackage):
homepage = "https://mpld3.github.io/"
pypi = "mpld3/mpld3-0.3.tar.gz"
- version('0.5.5', sha256='b080f3535238a71024c0158280ab4f6091717c45347c41c907012f8dd6da1bd5')
- version('0.3', sha256='4d455884a211bf99b37ecc760759435c7bb6a5955de47d8daf4967e301878ab7')
+ version("0.5.5", sha256="b080f3535238a71024c0158280ab4f6091717c45347c41c907012f8dd6da1bd5")
+ version("0.3", sha256="4d455884a211bf99b37ecc760759435c7bb6a5955de47d8daf4967e301878ab7")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib@1.3:', type=('build', 'run'))
- depends_on('py-matplotlib@2.2.2:', type=('build', 'run'), when='@0.5.5:')
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib@1.3:", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.2:", type=("build", "run"), when="@0.5.5:")
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mplhep-data/package.py b/var/spack/repos/builtin/packages/py-mplhep-data/package.py
index 1a5c24f44f..422ca21f9e 100644
--- a/var/spack/repos/builtin/packages/py-mplhep-data/package.py
+++ b/var/spack/repos/builtin/packages/py-mplhep-data/package.py
@@ -10,10 +10,10 @@ class PyMplhepData(PythonPackage):
"""Font (Data) sub-package for mplhep"""
homepage = "https://github.com/Scikit-HEP/mplhep_data"
- pypi = "mplhep_data/mplhep_data-0.0.3.tar.gz"
+ pypi = "mplhep_data/mplhep_data-0.0.3.tar.gz"
- version('0.0.3', sha256='b54d257f3f53c93a442cda7a6681ce267277e09173c0b41fd78820f78321772f')
+ version("0.0.3", sha256="b54d257f3f53c93a442cda7a6681ce267277e09173c0b41fd78820f78321772f")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mplhep/package.py b/var/spack/repos/builtin/packages/py-mplhep/package.py
index 57a54fdbed..ae30bff7c2 100644
--- a/var/spack/repos/builtin/packages/py-mplhep/package.py
+++ b/var/spack/repos/builtin/packages/py-mplhep/package.py
@@ -10,14 +10,14 @@ class PyMplhep(PythonPackage):
"""Matplotlib styles for HEP"""
homepage = "https://github.com/scikit-hep/mplhep"
- pypi = "mplhep/mplhep-0.3.15.tar.gz"
+ pypi = "mplhep/mplhep-0.3.15.tar.gz"
- version('0.3.15', sha256='595f796ea65930094e86a805214e0d44537ead267a7487ae16eda02d1670653e')
+ version("0.3.15", sha256="595f796ea65930094e86a805214e0d44537ead267a7487ae16eda02d1670653e")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@39.2:', type='build')
- depends_on('py-mplhep-data', type=('build', 'run'))
- depends_on('py-matplotlib@3.4:', type=('build', 'run'))
- depends_on('py-numpy@1.16.0:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-uhi@0.2.0:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@39.2:", type="build")
+ depends_on("py-mplhep-data", type=("build", "run"))
+ depends_on("py-matplotlib@3.4:", type=("build", "run"))
+ depends_on("py-numpy@1.16.0:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-uhi@0.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py
index 3eac20acf9..4defa44ab5 100644
--- a/var/spack/repos/builtin/packages/py-mpmath/package.py
+++ b/var/spack/repos/builtin/packages/py-mpmath/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class PyMpmath(PythonPackage):
"""A Python library for arbitrary-precision floating-point arithmetic."""
+
homepage = "https://mpmath.org"
pypi = "mpmath/mpmath-1.0.0.tar.gz"
- version('1.2.1', sha256='79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a')
- version('1.1.0', sha256='fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6')
- version('1.0.0', sha256='04d14803b6875fe6d69e6dccea87d5ae5599802e4b1df7997bddd2024001050c')
- version('0.19', sha256='68ddf6426dcda445323467d89892d2cffbbd1ae0b31ac1241b1b671749d63222')
+ version("1.2.1", sha256="79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a")
+ version("1.1.0", sha256="fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6")
+ version("1.0.0", sha256="04d14803b6875fe6d69e6dccea87d5ae5599802e4b1df7997bddd2024001050c")
+ version("0.19", sha256="68ddf6426dcda445323467d89892d2cffbbd1ae0b31ac1241b1b671749d63222")
- depends_on('py-setuptools@36.7.0:', type='build', when='@1.2.0:')
- depends_on('py-setuptools-scm@1.7.0:', type='build', when='@1.2.0:')
+ depends_on("py-setuptools@36.7.0:", type="build", when="@1.2.0:")
+ depends_on("py-setuptools-scm@1.7.0:", type="build", when="@1.2.0:")
diff --git a/var/spack/repos/builtin/packages/py-mrcfile/package.py b/var/spack/repos/builtin/packages/py-mrcfile/package.py
index 209c97662a..2ee0664757 100644
--- a/var/spack/repos/builtin/packages/py-mrcfile/package.py
+++ b/var/spack/repos/builtin/packages/py-mrcfile/package.py
@@ -11,12 +11,12 @@ class PyMrcfile(PythonPackage):
in structural biology to store image and volume data."""
homepage = "https://github.com/ccpem/mrcfile/"
- url = "https://github.com/ccpem/mrcfile/archive/refs/tags/v1.3.0.tar.gz"
+ url = "https://github.com/ccpem/mrcfile/archive/refs/tags/v1.3.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.3.0', sha256='034f1868abf87f4e494b8b039030b50045cabccf352b8b3e88a6bd3a6d665715')
+ version("1.3.0", sha256="034f1868abf87f4e494b8b039030b50045cabccf352b8b3e88a6bd3a6d665715")
- depends_on('python@3.4.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.12.0:', type=('build', 'run'))
+ depends_on("python@3.4.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-msal-extensions/package.py b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
index a650c09070..d0d88160b1 100644
--- a/var/spack/repos/builtin/packages/py-msal-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-msal-extensions/package.py
@@ -16,10 +16,10 @@ class PyMsalExtensions(PythonPackage):
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python"
pypi = "msal-extensions/msal-extensions-0.2.2.tar.gz"
- version('0.2.2', sha256='31414753c484679bb3b6c6401623eb4c3ccab630af215f2f78c1d5c4f8e1d1a9')
- version('0.1.3', sha256='59e171a9a4baacdbf001c66915efeaef372fb424421f1a4397115a3ddd6205dc')
+ version("0.2.2", sha256="31414753c484679bb3b6c6401623eb4c3ccab630af215f2f78c1d5c4f8e1d1a9")
+ version("0.1.3", sha256="59e171a9a4baacdbf001c66915efeaef372fb424421f1a4397115a3ddd6205dc")
- depends_on('py-setuptools', type='build')
- depends_on('py-msal@0.4.1:1', type=('build', 'run'))
- depends_on('py-portalocker@1.0:1', type=('build', 'run'))
- depends_on('py-pathlib2', when='@0.2:^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msal@0.4.1:1", type=("build", "run"))
+ depends_on("py-portalocker@1.0:1", type=("build", "run"))
+ depends_on("py-pathlib2", when="@0.2:^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-msal/package.py b/var/spack/repos/builtin/packages/py-msal/package.py
index a68c14bc7f..49899f591e 100644
--- a/var/spack/repos/builtin/packages/py-msal/package.py
+++ b/var/spack/repos/builtin/packages/py-msal/package.py
@@ -16,9 +16,9 @@ class PyMsal(PythonPackage):
homepage = "https://github.com/AzureAD/microsoft-authentication-library-for-python"
pypi = "msal/msal-1.3.0.tar.gz"
- version('1.3.0', sha256='5442a3a9d006506e653d3c4daff40538bdf067bf07b6b73b32d1b231d5e77a92')
- version('1.0.0', sha256='ecbe3f5ac77facad16abf08eb9d8562af3bc7184be5d4d90c9ef4db5bde26340')
+ version("1.3.0", sha256="5442a3a9d006506e653d3c4daff40538bdf067bf07b6b73b32d1b231d5e77a92")
+ version("1.0.0", sha256="ecbe3f5ac77facad16abf08eb9d8562af3bc7184be5d4d90c9ef4db5bde26340")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.0.0:2', type=('build', 'run'))
- depends_on('py-pyjwt@1.0.0:1+crypto', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.0.0:2", type=("build", "run"))
+ depends_on("py-pyjwt@1.0.0:1+crypto", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-msgpack-numpy/package.py b/var/spack/repos/builtin/packages/py-msgpack-numpy/package.py
index 572898f8bf..7cf52b9d3a 100644
--- a/var/spack/repos/builtin/packages/py-msgpack-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-msgpack-numpy/package.py
@@ -14,16 +14,16 @@ class PyMsgpackNumpy(PythonPackage):
native complex data types is also supported."""
homepage = "https://github.com/lebedov/msgpack-numpy"
- pypi = "msgpack-numpy/msgpack-numpy-0.4.7.1.tar.gz"
+ pypi = "msgpack-numpy/msgpack-numpy-0.4.7.1.tar.gz"
- version('0.4.7.1', sha256='7eaf51acf82d7c467d21aa71df94e1c051b2055e54b755442051b474fa7cf5e1')
- version('0.4.7', sha256='8e975dd7dd9eb13cbf5e8cd90af1f12af98706bbeb7acfcbd8d558fd005a85d7')
- version('0.4.6', sha256='ef3c5fe3d6cbab5c9db97de7062681c18f82d32a37177aaaf58b483d0336f135')
- version('0.4.5', sha256='4e88a4147db70f69dce1556317291e04e5107ee7b93ea300f92f1187120da7ec')
- version('0.4.4.3', sha256='c7db37ce01e268190568cf66a6a65d1ad81e3bcfa55dd824103c9b324608a44e')
- version('0.4.4.2', sha256='ac3db232710070ac64d8e1c5123550a1c1fef45d77b6789d2170cbfd2ec711f3')
- version('0.4.4.1', sha256='b7641ccf9f0f4e91a533e8c7be5e34d3f12ff877480879b252113d65c510eeef')
+ version("0.4.7.1", sha256="7eaf51acf82d7c467d21aa71df94e1c051b2055e54b755442051b474fa7cf5e1")
+ version("0.4.7", sha256="8e975dd7dd9eb13cbf5e8cd90af1f12af98706bbeb7acfcbd8d558fd005a85d7")
+ version("0.4.6", sha256="ef3c5fe3d6cbab5c9db97de7062681c18f82d32a37177aaaf58b483d0336f135")
+ version("0.4.5", sha256="4e88a4147db70f69dce1556317291e04e5107ee7b93ea300f92f1187120da7ec")
+ version("0.4.4.3", sha256="c7db37ce01e268190568cf66a6a65d1ad81e3bcfa55dd824103c9b324608a44e")
+ version("0.4.4.2", sha256="ac3db232710070ac64d8e1c5123550a1c1fef45d77b6789d2170cbfd2ec711f3")
+ version("0.4.4.1", sha256="b7641ccf9f0f4e91a533e8c7be5e34d3f12ff877480879b252113d65c510eeef")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-msgpack@0.5.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-msgpack@0.5.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-msgpack/package.py b/var/spack/repos/builtin/packages/py-msgpack/package.py
index 4c6ada6596..dfbb22ba7c 100644
--- a/var/spack/repos/builtin/packages/py-msgpack/package.py
+++ b/var/spack/repos/builtin/packages/py-msgpack/package.py
@@ -14,12 +14,12 @@ class PyMsgpack(PythonPackage):
pypi = "msgpack/msgpack-1.0.0.tar.gz"
git = "https://github.com/msgpack/msgpack-python"
- version('1.0.3', sha256='51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e')
- version('1.0.2', sha256='fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984')
- version('1.0.1', sha256='7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975')
- version('1.0.0', sha256='9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0')
- version('0.6.2', sha256='ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830')
- version('0.6.1', sha256='734e1abc6f14671f28acd5266de336ae6d8de522fe1c8d0b7146365ad1fe6b0f')
- version('0.6.0', sha256='4478a5f68142414084cd43af8f21cef9619ad08bb3c242ea505330dade6ca9ea')
+ version("1.0.3", sha256="51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e")
+ version("1.0.2", sha256="fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984")
+ version("1.0.1", sha256="7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975")
+ version("1.0.0", sha256="9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0")
+ version("0.6.2", sha256="ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830")
+ version("0.6.1", sha256="734e1abc6f14671f28acd5266de336ae6d8de522fe1c8d0b7146365ad1fe6b0f")
+ version("0.6.0", sha256="4478a5f68142414084cd43af8f21cef9619ad08bb3c242ea505330dade6ca9ea")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-msrest/package.py b/var/spack/repos/builtin/packages/py-msrest/package.py
index caf4110216..69b16ed5cd 100644
--- a/var/spack/repos/builtin/packages/py-msrest/package.py
+++ b/var/spack/repos/builtin/packages/py-msrest/package.py
@@ -13,13 +13,13 @@ class PyMsrest(PythonPackage):
homepage = "https://github.com/Azure/msrest-for-python"
pypi = "msrest/msrest-0.6.16.tar.gz"
- version('0.6.21', sha256='72661bc7bedc2dc2040e8f170b6e9ef226ee6d3892e01affd4d26b06474d68d8')
- version('0.6.16', sha256='214c5be98954cb45feb6a6a858a7ae6d41a664e80294b65db225bbaa33d9ca3c')
+ version("0.6.21", sha256="72661bc7bedc2dc2040e8f170b6e9ef226ee6d3892e01affd4d26b06474d68d8")
+ version("0.6.16", sha256="214c5be98954cb45feb6a6a858a7ae6d41a664e80294b65db225bbaa33d9ca3c")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.16:2', type=('build', 'run'))
- depends_on('py-requests-oauthlib@0.5.0:', type=('build', 'run'))
- depends_on('py-isodate@0.6.0:', type=('build', 'run'))
- depends_on('py-certifi@2017.4.17:', type=('build', 'run'))
- depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.16:2", type=("build", "run"))
+ depends_on("py-requests-oauthlib@0.5.0:", type=("build", "run"))
+ depends_on("py-isodate@0.6.0:", type=("build", "run"))
+ depends_on("py-certifi@2017.4.17:", type=("build", "run"))
+ depends_on("py-enum34@1.0.4:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-msrestazure/package.py b/var/spack/repos/builtin/packages/py-msrestazure/package.py
index fdcf6d9987..13d4b5b542 100644
--- a/var/spack/repos/builtin/packages/py-msrestazure/package.py
+++ b/var/spack/repos/builtin/packages/py-msrestazure/package.py
@@ -14,8 +14,8 @@ class PyMsrestazure(PythonPackage):
homepage = "https://github.com/Azure/msrestazure-for-python"
pypi = "msrestazure/msrestazure-0.6.3.tar.gz"
- version('0.6.3', sha256='0ec9db93eeea6a6cf1240624a04f49cd8bbb26b98d84a63a8220cfda858c2a96')
+ version("0.6.3", sha256="0ec9db93eeea6a6cf1240624a04f49cd8bbb26b98d84a63a8220cfda858c2a96")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.6.0:1', type=('build', 'run'))
- depends_on('py-adal@0.6.0:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.6.0:1", type=("build", "run"))
+ depends_on("py-adal@0.6.0:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-multi-key-dict/package.py b/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
index bb4786281d..a1add2e831 100644
--- a/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
+++ b/var/spack/repos/builtin/packages/py-multi-key-dict/package.py
@@ -12,7 +12,7 @@ class PyMultiKeyDict(PythonPackage):
homepage = "https://github.com/formiaczek/multi_key_dict"
pypi = "multi_key_dict/multi_key_dict-2.0.3.tar.gz"
- version('2.0.3', sha256='deebdec17aa30a1c432cb3f437e81f8621e1c0542a0c0617a74f71e232e9939e')
+ version("2.0.3", sha256="deebdec17aa30a1c432cb3f437e81f8621e1c0542a0c0617a74f71e232e9939e")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-multidict/package.py b/var/spack/repos/builtin/packages/py-multidict/package.py
index 4664b9042a..c72664fafc 100644
--- a/var/spack/repos/builtin/packages/py-multidict/package.py
+++ b/var/spack/repos/builtin/packages/py-multidict/package.py
@@ -11,15 +11,15 @@ class PyMultidict(PythonPackage):
might be occurred more than once in the container."""
homepage = "https://github.com/aio-libs/multidict"
- pypi = "multidict/multidict-6.0.2.tar.gz"
+ pypi = "multidict/multidict-6.0.2.tar.gz"
- version('6.0.2', sha256='5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013')
- version('5.2.0', sha256='0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce')
- version('5.1.0', sha256='25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5')
- version('4.7.6', sha256='fbb77a75e529021e7c4a8d4e823d88ef4d23674a202be4f5addffc72cbb91430')
+ version("6.0.2", sha256="5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013")
+ version("5.2.0", sha256="0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce")
+ version("5.1.0", sha256="25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5")
+ version("4.7.6", sha256="fbb77a75e529021e7c4a8d4e823d88ef4d23674a202be4f5addffc72cbb91430")
- depends_on('python@3.7:', when='@6:', type=('build', 'run'))
- depends_on('python@3.6:', when='@5.1:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-pip@18:', when='@:4', type='build')
- depends_on('py-setuptools@40:', type='build')
+ depends_on("python@3.7:", when="@6:", type=("build", "run"))
+ depends_on("python@3.6:", when="@5.1:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-pip@18:", when="@:4", type="build")
+ depends_on("py-setuptools@40:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-multipledispatch/package.py b/var/spack/repos/builtin/packages/py-multipledispatch/package.py
index cb77cf4044..5c05249946 100644
--- a/var/spack/repos/builtin/packages/py-multipledispatch/package.py
+++ b/var/spack/repos/builtin/packages/py-multipledispatch/package.py
@@ -10,9 +10,9 @@ class PyMultipledispatch(PythonPackage):
"""A relatively sane approach to multiple dispatch in Python."""
homepage = "https://multiple-dispatch.readthedocs.io/"
- url = "https://github.com/mrocklin/multipledispatch/archive/0.6.0.tar.gz"
+ url = "https://github.com/mrocklin/multipledispatch/archive/0.6.0.tar.gz"
- version('0.6.0', sha256='649f6e61b8a6ce581c75f32365c926b55495c01b8177135408b83aa03886cde0')
+ version("0.6.0", sha256="649f6e61b8a6ce581c75f32365c926b55495c01b8177135408b83aa03886cde0")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-multiprocess/package.py b/var/spack/repos/builtin/packages/py-multiprocess/package.py
index b6d81b4c9a..d340180cae 100644
--- a/var/spack/repos/builtin/packages/py-multiprocess/package.py
+++ b/var/spack/repos/builtin/packages/py-multiprocess/package.py
@@ -12,27 +12,27 @@ class PyMultiprocess(PythonPackage):
homepage = "https://github.com/uqfoundation/multiprocess"
pypi = "multiprocess/multiprocess-0.70.5.zip"
- version('0.70.12.2', sha256='206bb9b97b73f87fec1ed15a19f8762950256aa84225450abc7150d02855a083')
- version('0.70.9', sha256='9fd5bd990132da77e73dec6e9613408602a4612e1d73caf2e2b813d2b61508e5')
- version('0.70.7', sha256='3394f1fbd0d87112690a877e49eb7917d851ee8d822294d522dd4deae12febdb')
- version('0.70.5', sha256='c4c196f3c4561dc1d78139c3e73709906a222d2fc166ef3eef895d8623df7267')
- version('0.70.4', sha256='a692c6dc8392c25b29391abb58a9fbdc1ac38bca73c6f27d787774201e68e12c')
+ version("0.70.12.2", sha256="206bb9b97b73f87fec1ed15a19f8762950256aa84225450abc7150d02855a083")
+ version("0.70.9", sha256="9fd5bd990132da77e73dec6e9613408602a4612e1d73caf2e2b813d2b61508e5")
+ version("0.70.7", sha256="3394f1fbd0d87112690a877e49eb7917d851ee8d822294d522dd4deae12febdb")
+ version("0.70.5", sha256="c4c196f3c4561dc1d78139c3e73709906a222d2fc166ef3eef895d8623df7267")
+ version("0.70.4", sha256="a692c6dc8392c25b29391abb58a9fbdc1ac38bca73c6f27d787774201e68e12c")
- depends_on('python@2.5:2.8,3.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', when='@0.70.12.2:', type=('build', 'run'))
+ depends_on("python@2.5:2.8,3.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", when="@0.70.12.2:", type=("build", "run"))
- depends_on('py-setuptools@0.6:', type='build')
- depends_on('py-dill@0.2.6:', type=('build', 'run'))
- depends_on('py-dill@0.2.9:', type=('build', 'run'), when='@0.70.7:')
- depends_on('py-dill@0.3.1:', type=('build', 'run'), when='@0.70.9:')
- depends_on('py-dill@0.3.4:', type=('build', 'run'), when='@0.70.12.2:')
+ depends_on("py-setuptools@0.6:", type="build")
+ depends_on("py-dill@0.2.6:", type=("build", "run"))
+ depends_on("py-dill@0.2.9:", type=("build", "run"), when="@0.70.7:")
+ depends_on("py-dill@0.3.1:", type=("build", "run"), when="@0.70.9:")
+ depends_on("py-dill@0.3.4:", type=("build", "run"), when="@0.70.12.2:")
def url_for_version(self, version):
- url = self.url.rsplit('/', 1)[0]
- if Version('0.70.12.2') > version >= Version('0.70.7'):
- url += '/multiprocess-{0}.tar.gz'
+ url = self.url.rsplit("/", 1)[0]
+ if Version("0.70.12.2") > version >= Version("0.70.7"):
+ url += "/multiprocess-{0}.tar.gz"
else:
- url += '/multiprocess-{0}.zip'
+ url += "/multiprocess-{0}.zip"
url = url.format(version)
return url
diff --git a/var/spack/repos/builtin/packages/py-multiqc/package.py b/var/spack/repos/builtin/packages/py-multiqc/package.py
index 745611d4ab..6d96fdb948 100644
--- a/var/spack/repos/builtin/packages/py-multiqc/package.py
+++ b/var/spack/repos/builtin/packages/py-multiqc/package.py
@@ -14,23 +14,23 @@ class PyMultiqc(PythonPackage):
homepage = "https://multiqc.info"
pypi = "multiqc/multiqc-1.0.tar.gz"
- version('1.7', sha256='02e6a7fac7cd9ed036dcc6c92b8f8bcacbd28983ba6be53afb35e08868bd2d68')
- version('1.5', sha256='fe0ffd2b0d1067365ba4e54ae8991f2f779c7c684b037549b617020ea883310a')
- version('1.3', sha256='cde17845680131e16521ace04235bb9496c78c44cdc7b5a0fb6fd93f4ad7a13b')
- version('1.0', sha256='1a49331a3d3f2e591a6e9902bc99b16e9205731f0cd2d6eaeee0da3d0f0664c9')
+ version("1.7", sha256="02e6a7fac7cd9ed036dcc6c92b8f8bcacbd28983ba6be53afb35e08868bd2d68")
+ version("1.5", sha256="fe0ffd2b0d1067365ba4e54ae8991f2f779c7c684b037549b617020ea883310a")
+ version("1.3", sha256="cde17845680131e16521ace04235bb9496c78c44cdc7b5a0fb6fd93f4ad7a13b")
+ version("1.0", sha256="1a49331a3d3f2e591a6e9902bc99b16e9205731f0cd2d6eaeee0da3d0f0664c9")
- depends_on('python@2.7:')
- depends_on('py-setuptools', type='build')
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-jinja2@2.9:', type=('build', 'run'))
- depends_on('py-lzstring', type=('build', 'run'))
- depends_on('py-future@0.14.1:', type=('build', 'run'))
- depends_on('py-spectra@0.0.10:', type=('build', 'run'))
- depends_on('py-matplotlib@2.0.0:2.9.9', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-simplejson', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'), when='@1.5:')
- depends_on('py-enum34', type=('build', 'run'), when='@1.4:1.5 ^python@:3.3')
- depends_on('py-enum34', type=('build', 'run'), when='@1.3')
- depends_on('py-markdown', type=('build', 'run'), when='@1.5:')
+ depends_on("python@2.7:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-jinja2@2.9:", type=("build", "run"))
+ depends_on("py-lzstring", type=("build", "run"))
+ depends_on("py-future@0.14.1:", type=("build", "run"))
+ depends_on("py-spectra@0.0.10:", type=("build", "run"))
+ depends_on("py-matplotlib@2.0.0:2.9.9", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-simplejson", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"), when="@1.5:")
+ depends_on("py-enum34", type=("build", "run"), when="@1.4:1.5 ^python@:3.3")
+ depends_on("py-enum34", type=("build", "run"), when="@1.3")
+ depends_on("py-markdown", type=("build", "run"), when="@1.5:")
diff --git a/var/spack/repos/builtin/packages/py-munch/package.py b/var/spack/repos/builtin/packages/py-munch/package.py
index 7f8c427e3b..f19d5ec84b 100644
--- a/var/spack/repos/builtin/packages/py-munch/package.py
+++ b/var/spack/repos/builtin/packages/py-munch/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyMunch(PythonPackage):
"""A Munch is a Python dictionary that provides attribute-style
- access (a la JavaScript objects). """
+ access (a la JavaScript objects)."""
homepage = "https://github.com/Infinidat/munch"
- url = "https://github.com/Infinidat/munch/archive/2.2.0.tar.gz"
+ url = "https://github.com/Infinidat/munch/archive/2.2.0.tar.gz"
- version('2.2.0', sha256='f354ea638e5e582c52d3e47eb54199d3eade94ee3552d64453ddfcbe953973f0')
+ version("2.2.0", sha256="f354ea638e5e582c52d3e47eb54199d3eade94ee3552d64453ddfcbe953973f0")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-murmurhash/package.py b/var/spack/repos/builtin/packages/py-murmurhash/package.py
index 0be3bcf841..9047ee15b9 100644
--- a/var/spack/repos/builtin/packages/py-murmurhash/package.py
+++ b/var/spack/repos/builtin/packages/py-murmurhash/package.py
@@ -13,7 +13,7 @@ class PyMurmurhash(PythonPackage):
homepage = "https://github.com/explosion/murmurhash"
pypi = "murmurhash/murmurhash-1.0.2.tar.gz"
- version('1.0.2', sha256='c7a646f6b07b033642b4f52ae2e45efd8b80780b3b90e8092a0cec935fbf81e2')
+ version("1.0.2", sha256="c7a646f6b07b033642b4f52ae2e45efd8b80780b3b90e8092a0cec935fbf81e2")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel@0.32.0:0.32', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel@0.32.0:0.32", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mutagen/package.py b/var/spack/repos/builtin/packages/py-mutagen/package.py
index 37ebceb0e7..bb3d430675 100644
--- a/var/spack/repos/builtin/packages/py-mutagen/package.py
+++ b/var/spack/repos/builtin/packages/py-mutagen/package.py
@@ -10,9 +10,9 @@ class PyMutagen(PythonPackage):
"""Read and write audio tags for many formats."""
homepage = "https://github.com/quodlibet/mutagen"
- pypi = "mutagen/mutagen-1.45.1.tar.gz"
+ pypi = "mutagen/mutagen-1.45.1.tar.gz"
- version('1.45.1', sha256='6397602efb3c2d7baebd2166ed85731ae1c1d475abca22090b7141ff5034b3e1')
+ version("1.45.1", sha256="6397602efb3c2d7baebd2166ed85731ae1c1d475abca22090b7141ff5034b3e1")
- depends_on('python@3.5:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mx/package.py b/var/spack/repos/builtin/packages/py-mx/package.py
index e72e196253..ec0dac4e60 100644
--- a/var/spack/repos/builtin/packages/py-mx/package.py
+++ b/var/spack/repos/builtin/packages/py-mx/package.py
@@ -8,15 +8,16 @@ from spack.package import *
class PyMx(PythonPackage):
"""The eGenix.com mx Base Distribution for Python is a collection of
- professional quality software tools which enhance Python's
- usability in many important areas such as fast text searching,
- date/time processing and high speed data types.
+ professional quality software tools which enhance Python's
+ usability in many important areas such as fast text searching,
+ date/time processing and high speed data types.
"""
+
homepage = "https://www.egenix.com/products/python/mxBase/"
- url = "https://downloads.egenix.com/python/egenix-mx-base-3.2.8.tar.gz"
+ url = "https://downloads.egenix.com/python/egenix-mx-base-3.2.8.tar.gz"
- version('3.2.8', sha256='0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0')
+ version("3.2.8", sha256="0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mxfold2/package.py b/var/spack/repos/builtin/packages/py-mxfold2/package.py
index d5461607f7..4e449d2cc4 100644
--- a/var/spack/repos/builtin/packages/py-mxfold2/package.py
+++ b/var/spack/repos/builtin/packages/py-mxfold2/package.py
@@ -11,16 +11,16 @@ class PyMxfold2(PythonPackage):
learning with thermodynamic integration"""
homepage = "https://github.com/keio-bioinformatics/mxfold2"
- url = "https://github.com/keio-bioinformatics/mxfold2/releases/download/v0.1.1/mxfold2-0.1.1.tar.gz"
+ url = "https://github.com/keio-bioinformatics/mxfold2/releases/download/v0.1.1/mxfold2-0.1.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.1.1', sha256='9f39c6ff4138212d1ad2639005f5c05ffb4df0f7e22f5e7ad49466a05aa047e5')
+ version("0.1.1", sha256="9f39c6ff4138212d1ad2639005f5c05ffb4df0f7e22f5e7ad49466a05aa047e5")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-torch@1.7:~valgrind', type=('build', 'run'))
- depends_on('py-torchvision', type=('build', 'run'))
- depends_on('py-wheel@0.35.1:0.36.0', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-cpp', type='build')
- depends_on('cmake', type='build')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-torch@1.7:~valgrind", type=("build", "run"))
+ depends_on("py-torchvision", type=("build", "run"))
+ depends_on("py-wheel@0.35.1:0.36.0", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-cpp", type="build")
+ depends_on("cmake", type="build")
diff --git a/var/spack/repos/builtin/packages/py-myhdl/package.py b/var/spack/repos/builtin/packages/py-myhdl/package.py
index 0266ca6ed4..0150500669 100644
--- a/var/spack/repos/builtin/packages/py-myhdl/package.py
+++ b/var/spack/repos/builtin/packages/py-myhdl/package.py
@@ -13,7 +13,7 @@ class PyMyhdl(PythonPackage):
homepage = "http://www.myhdl.org"
pypi = "myhdl/myhdl-0.9.0.tar.gz"
- version('0.9.0', sha256='52d12a5fe2cda22558806272af3c2b519b6f7095292b8e6c8ad255fb604507a5')
+ version("0.9.0", sha256="52d12a5fe2cda22558806272af3c2b519b6f7095292b8e6c8ad255fb604507a5")
- depends_on('python@2.6:2.8,3.4:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:2.8,3.4:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-mypy-extensions/package.py b/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
index 3cd90ce6dd..8a26824d89 100644
--- a/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy-extensions/package.py
@@ -13,7 +13,7 @@ class PyMypyExtensions(PythonPackage):
homepage = "https://github.com/python/mypy_extensions"
pypi = "mypy-extensions/mypy_extensions-0.4.3.tar.gz"
- version('0.4.3', sha256='2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8')
+ version("0.4.3", sha256="2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8")
- depends_on('py-setuptools', type='build')
- depends_on('py-typing@3.5.3:', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing@3.5.3:", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mypy/package.py b/var/spack/repos/builtin/packages/py-mypy/package.py
index f6f1b8981d..b880709ecf 100644
--- a/var/spack/repos/builtin/packages/py-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy/package.py
@@ -12,42 +12,42 @@ class PyMypy(PythonPackage):
homepage = "http://www.mypy-lang.org/"
pypi = "mypy/mypy-0.740.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.961', sha256='f730d56cb924d371c26b8eaddeea3cc07d78ff51c521c6d04899ac6904b75492')
- version('0.960', sha256='d4fccf04c1acf750babd74252e0f2db6bd2ac3aa8fe960797d9f3ef41cf2bfd4')
- version('0.950', sha256='1b333cfbca1762ff15808a0ef4f71b5d3eed8528b23ea1c3fb50543c867d68de')
- version('0.942', sha256='17e44649fec92e9f82102b48a3bf7b4a5510ad0cd22fa21a104826b5db4903e2')
- version('0.941', sha256='cbcc691d8b507d54cb2b8521f0a2a3d4daa477f62fe77f0abba41e5febb377b7')
- version('0.940', sha256='71bec3d2782d0b1fecef7b1c436253544d81c1c0e9ca58190aed9befd8f081c5')
- version('0.931', sha256='0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce')
- version('0.930', sha256='51426262ae4714cc7dd5439814676e0992b55bcc0f6514eccb4cf8e0678962c2')
- version('0.921', sha256='eca089d7053dff45d6dcd5bf67f1cabc311591e85d378917d97363e7c13da088')
- version('0.920', sha256='a55438627f5f546192f13255a994d6d1cf2659df48adcf966132b4379fd9c86b')
- version('0.910', sha256='704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150')
- version('0.900', sha256='65c78570329c54fb40f956f7645e2359af5da9d8c54baa44f461cdc7f4984108')
- version('0.800', sha256='e0202e37756ed09daf4b0ba64ad2c245d357659e014c3f51d8cd0681ba66940a')
- version('0.790', sha256='2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975')
- version('0.740', sha256='48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d')
- version('0.670', sha256='e80fd6af34614a0e898a57f14296d0dacb584648f0339c2e000ddbf0f4cc2f8d')
+ version("0.961", sha256="f730d56cb924d371c26b8eaddeea3cc07d78ff51c521c6d04899ac6904b75492")
+ version("0.960", sha256="d4fccf04c1acf750babd74252e0f2db6bd2ac3aa8fe960797d9f3ef41cf2bfd4")
+ version("0.950", sha256="1b333cfbca1762ff15808a0ef4f71b5d3eed8528b23ea1c3fb50543c867d68de")
+ version("0.942", sha256="17e44649fec92e9f82102b48a3bf7b4a5510ad0cd22fa21a104826b5db4903e2")
+ version("0.941", sha256="cbcc691d8b507d54cb2b8521f0a2a3d4daa477f62fe77f0abba41e5febb377b7")
+ version("0.940", sha256="71bec3d2782d0b1fecef7b1c436253544d81c1c0e9ca58190aed9befd8f081c5")
+ version("0.931", sha256="0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce")
+ version("0.930", sha256="51426262ae4714cc7dd5439814676e0992b55bcc0f6514eccb4cf8e0678962c2")
+ version("0.921", sha256="eca089d7053dff45d6dcd5bf67f1cabc311591e85d378917d97363e7c13da088")
+ version("0.920", sha256="a55438627f5f546192f13255a994d6d1cf2659df48adcf966132b4379fd9c86b")
+ version("0.910", sha256="704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150")
+ version("0.900", sha256="65c78570329c54fb40f956f7645e2359af5da9d8c54baa44f461cdc7f4984108")
+ version("0.800", sha256="e0202e37756ed09daf4b0ba64ad2c245d357659e014c3f51d8cd0681ba66940a")
+ version("0.790", sha256="2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975")
+ version("0.740", sha256="48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d")
+ version("0.670", sha256="e80fd6af34614a0e898a57f14296d0dacb584648f0339c2e000ddbf0f4cc2f8d")
- depends_on('python@3.6:', when='@0.920:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.700:', type=("build", "run"))
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools@40.6.2:', when='@0.790:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-wheel@0.30:', when='@0.790:', type='build')
- depends_on('py-typed-ast@1.4.0:1', when='@0.920: ^python@:3.7', type=('build', 'run'))
- depends_on('py-typed-ast@1.4.0:1.4', when='@0.900:0.910 ^python@:3.7', type=('build', 'run'))
- depends_on('py-typed-ast@1.4.0:1.4', when='@0.700:0.899', type=('build', 'run'))
- depends_on('py-typed-ast@1.3.1:1.3', when='@:0.699', type=('build', 'run'))
- depends_on('py-typing-extensions@3.10:', when='@0.930:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', when='@0.700:', type=('build', 'run'))
- depends_on('py-typing@3.5.3:', when='@:0.699 ^python@:3.4', type=('build', 'run'))
- depends_on('py-mypy-extensions@0.4.3:', when='@0.930:', type=('build', 'run'))
- depends_on('py-mypy-extensions@0.4.3:0.4', when='@0.700:0.929', type=('build', 'run'))
- depends_on('py-mypy-extensions@0.4.0:0.4', when='@:0.699', type=('build', 'run'))
- depends_on('py-tomli@1.1:', when='@0.950: ^python@:3.10', type=('build', 'run'))
- depends_on('py-tomli@1.1:', when='@0.930:0.949', type=('build', 'run'))
- depends_on('py-tomli@1.1:2', when='@0.920:0.929', type=('build', 'run'))
- depends_on('py-toml', when='@0.900:0.910', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.920:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.700:", type=("build", "run"))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools@40.6.2:", when="@0.790:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-wheel@0.30:", when="@0.790:", type="build")
+ depends_on("py-typed-ast@1.4.0:1", when="@0.920: ^python@:3.7", type=("build", "run"))
+ depends_on("py-typed-ast@1.4.0:1.4", when="@0.900:0.910 ^python@:3.7", type=("build", "run"))
+ depends_on("py-typed-ast@1.4.0:1.4", when="@0.700:0.899", type=("build", "run"))
+ depends_on("py-typed-ast@1.3.1:1.3", when="@:0.699", type=("build", "run"))
+ depends_on("py-typing-extensions@3.10:", when="@0.930:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", when="@0.700:", type=("build", "run"))
+ depends_on("py-typing@3.5.3:", when="@:0.699 ^python@:3.4", type=("build", "run"))
+ depends_on("py-mypy-extensions@0.4.3:", when="@0.930:", type=("build", "run"))
+ depends_on("py-mypy-extensions@0.4.3:0.4", when="@0.700:0.929", type=("build", "run"))
+ depends_on("py-mypy-extensions@0.4.0:0.4", when="@:0.699", type=("build", "run"))
+ depends_on("py-tomli@1.1:", when="@0.950: ^python@:3.10", type=("build", "run"))
+ depends_on("py-tomli@1.1:", when="@0.930:0.949", type=("build", "run"))
+ depends_on("py-tomli@1.1:2", when="@0.920:0.929", type=("build", "run"))
+ depends_on("py-toml", when="@0.900:0.910", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py b/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py
index 3247391d4f..53128be47c 100644
--- a/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py
+++ b/var/spack/repos/builtin/packages/py-mysql-connector-python/package.py
@@ -13,10 +13,10 @@ class PyMysqlConnectorPython(PythonPackage):
compliant driver."""
homepage = "https://github.com/mysql/mysql-connector-python"
- url = "https://github.com/mysql/mysql-connector-python/archive/8.0.13.tar.gz"
- git = "https://github.com/mysql/mysql-connector-python.git"
+ url = "https://github.com/mysql/mysql-connector-python/archive/8.0.13.tar.gz"
+ git = "https://github.com/mysql/mysql-connector-python.git"
- version('8.0.13', sha256='d4c0834c583cdb90c0aeae90b1917d58355a4bf9b0266c16fd58874a5607f9d4')
+ version("8.0.13", sha256="d4c0834c583cdb90c0aeae90b1917d58355a4bf9b0266c16fd58874a5607f9d4")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-protobuf@3.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-protobuf@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-mysqlclient/package.py b/var/spack/repos/builtin/packages/py-mysqlclient/package.py
index 975e861760..dcc421da63 100644
--- a/var/spack/repos/builtin/packages/py-mysqlclient/package.py
+++ b/var/spack/repos/builtin/packages/py-mysqlclient/package.py
@@ -15,10 +15,10 @@ class PyMysqlclient(PythonPackage):
homepage = "https://github.com/PyMySQL/mysqlclient-python"
pypi = "mysqlclient/mysqlclient-1.4.4.tar.gz"
- version('1.4.6', sha256='f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16')
- version('1.4.5', sha256='e80109b0ae8d952b900b31b623181532e5e89376d707dcbeb63f99e69cefe559')
- version('1.4.4', sha256='9c737cc55a5dc8dd3583a942d5a9b21be58d16f00f5fefca4e575e7d9682e98c')
- version('1.3.13', sha256='ff8ee1be84215e6c30a746b728c41eb0701a46ca76e343af445b35ce6250644f')
+ version("1.4.6", sha256="f3fdaa9a38752a3b214a6fe79d7cae3653731a53e577821f9187e67cbecb2e16")
+ version("1.4.5", sha256="e80109b0ae8d952b900b31b623181532e5e89376d707dcbeb63f99e69cefe559")
+ version("1.4.4", sha256="9c737cc55a5dc8dd3583a942d5a9b21be58d16f00f5fefca4e575e7d9682e98c")
+ version("1.3.13", sha256="ff8ee1be84215e6c30a746b728c41eb0701a46ca76e343af445b35ce6250644f")
- depends_on('py-setuptools', type='build')
- depends_on('mysql')
+ depends_on("py-setuptools", type="build")
+ depends_on("mysql")
diff --git a/var/spack/repos/builtin/packages/py-mysqldb1/package.py b/var/spack/repos/builtin/packages/py-mysqldb1/package.py
index 9a93b9f141..f94363f914 100644
--- a/var/spack/repos/builtin/packages/py-mysqldb1/package.py
+++ b/var/spack/repos/builtin/packages/py-mysqldb1/package.py
@@ -8,11 +8,15 @@ from spack.package import *
class PyMysqldb1(PythonPackage):
"""Legacy mysql bindings for python"""
+
homepage = "https://github.com/farcepest/MySQLdb1"
- url = "https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz"
+ url = "https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz"
- version('1.2.5', sha256='905dd8be887ff596641ace5411fed17cfd08dd33699ea627d3fb44f8a922c2f0',
- url="https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz")
+ version(
+ "1.2.5",
+ sha256="905dd8be887ff596641ace5411fed17cfd08dd33699ea627d3fb44f8a922c2f0",
+ url="https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz",
+ )
- depends_on('mysql@:6')
- depends_on('py-setuptools', type='build')
+ depends_on("mysql@:6")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-nanotime/package.py b/var/spack/repos/builtin/packages/py-nanotime/package.py
index cd62663598..d2988cc328 100644
--- a/var/spack/repos/builtin/packages/py-nanotime/package.py
+++ b/var/spack/repos/builtin/packages/py-nanotime/package.py
@@ -14,8 +14,8 @@ class PyNanotime(PythonPackage):
"""
homepage = "https://github.com/jbenet/nanotime"
- pypi = "nanotime/nanotime-0.5.2.tar.gz"
+ pypi = "nanotime/nanotime-0.5.2.tar.gz"
- version('0.5.2', sha256='c7cc231fc5f6db401b448d7ab51c96d0a4733f4b69fabe569a576f89ffdf966b')
+ version("0.5.2", sha256="c7cc231fc5f6db401b448d7ab51c96d0a4733f4b69fabe569a576f89ffdf966b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-nara-wpe/package.py b/var/spack/repos/builtin/packages/py-nara-wpe/package.py
index 68ae3656ee..6b7c676103 100644
--- a/var/spack/repos/builtin/packages/py-nara-wpe/package.py
+++ b/var/spack/repos/builtin/packages/py-nara-wpe/package.py
@@ -15,14 +15,14 @@ class PyNaraWpe(PythonPackage):
acoustic signals based on long-term linear prediction."""
homepage = "https://github.com/fgnt/nara_wpe"
- pypi = "nara_wpe/nara_wpe-0.0.7.tar.gz"
+ pypi = "nara_wpe/nara_wpe-0.0.7.tar.gz"
- version('0.0.7', sha256='7aa2edd5261e5d953e584e69a9233d60fc588fc8a4b7886c3ce43cc8ac8cd99b')
+ version("0.0.7", sha256="7aa2edd5261e5d953e584e69a9233d60fc588fc8a4b7886c3ce43cc8ac8cd99b")
- depends_on('py-setuptools', type='build')
- depends_on('py-pathlib2', type=('build', 'run'), when='^python@2')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-soundfile', type=('build', 'run'))
- depends_on('py-bottleneck', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pathlib2", type=("build", "run"), when="^python@2")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-soundfile", type=("build", "run"))
+ depends_on("py-bottleneck", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-natsort/package.py b/var/spack/repos/builtin/packages/py-natsort/package.py
index b0fd2d8998..e2020ac582 100644
--- a/var/spack/repos/builtin/packages/py-natsort/package.py
+++ b/var/spack/repos/builtin/packages/py-natsort/package.py
@@ -12,25 +12,25 @@ class PyNatsort(PythonPackage):
homepage = "https://github.com/SethMMorton/natsort"
url = "https://github.com/SethMMorton/natsort/archive/5.2.0.zip"
- version('7.1.1', sha256='ada96d9ca0db0d44b891718ff7baff5ac34cf5b6d9def356c0f7a8ea67ae2113')
- version('7.1.0', sha256='c3de32c8e5e91cf4f2dd1655b4c167ca4676cc28ce397050fc8d229582a71f0d')
- version('7.0.1', sha256='1a422a344d089f7a2acba788087ca6253ca47a544bda677721f99516cdfd8668')
- version('7.0.0', sha256='0a5ff72173091e69d67c4711616713ddf090980ab11cbe4a1f269be3e697678a')
- version('6.2.1', sha256='f14b62b37c78387e38cf1421867e8b5aed849b67d46f2351ee187ef4e9e814e1')
- version('6.2.0', sha256='4a9587bfd3559900b64727be380236160e4c5a16b5a3643f5001d0bcfb0d63eb')
- version('6.1.0', sha256='51f1ef44cbe4537fdb70ec55f3584f70ea2070fc37915239ecb0595c1ff055f9')
- version('6.0.0', sha256='39c46bf2f4dc17fd0ea6210932eeaf7c806cac79dd354295d70e9b44f75a096b')
- version('5.5.0', sha256='62e8fa3d7697b922e1d786b531a68bd07a7f6ba10a3bdf79a0bf52ef2cdccc41')
- version('5.4.1', sha256='077ce724aa0c27df2bbcaef9c9f096c99ccd62eb4fffe68512c46edc3b714452')
- version('5.2.0', sha256='0ae15082842e8a3598750b4bbaa4f7c138caf004e59c7040429d56bf9e9631bd')
- version('5.1.1', sha256='6467eeca268d9accb2e3149acace49649f865b0051a672006a64b20597f04561')
- version('5.1.0', sha256='79279792cc97a0005b2075ed2bc9b8a3e25e5edffe43ee2fb26b116283f5dab4')
- version('5.0.3', sha256='408f6fa87f6bbe3e09b255286d4db7b678bf22d6a5cd1651d05bfc1f99792a2e')
- version('5.0.2', sha256='6315d94b6651edd9bf1e29cfd513a0349ec46a38ed38d33121a11d5162dbe556')
- version('5.0.1', sha256='fe915cd4ddc90182947758b77873dda42935d5493819df8439f2daef01ffaacb')
- version('5.0.0', sha256='b46b3569ac69e8f4a88f1a479d108872857538c7564226c32df1fd75e809c240')
- version('4.0.4', sha256='14e5ddaf689de2f5ac33aa7963554fa2944b019f526ece1036d74fe60528531b')
- version('4.0.3', sha256='8824792d7ebc37a57010e1ba301244653f8655ea20ddab6b0d546cf1d9ffedda')
- version('4.0.1', sha256='1c1d29150938ca71f0943363a06765dbb2cea01f9c4d760ba880cc65f39baba0')
+ version("7.1.1", sha256="ada96d9ca0db0d44b891718ff7baff5ac34cf5b6d9def356c0f7a8ea67ae2113")
+ version("7.1.0", sha256="c3de32c8e5e91cf4f2dd1655b4c167ca4676cc28ce397050fc8d229582a71f0d")
+ version("7.0.1", sha256="1a422a344d089f7a2acba788087ca6253ca47a544bda677721f99516cdfd8668")
+ version("7.0.0", sha256="0a5ff72173091e69d67c4711616713ddf090980ab11cbe4a1f269be3e697678a")
+ version("6.2.1", sha256="f14b62b37c78387e38cf1421867e8b5aed849b67d46f2351ee187ef4e9e814e1")
+ version("6.2.0", sha256="4a9587bfd3559900b64727be380236160e4c5a16b5a3643f5001d0bcfb0d63eb")
+ version("6.1.0", sha256="51f1ef44cbe4537fdb70ec55f3584f70ea2070fc37915239ecb0595c1ff055f9")
+ version("6.0.0", sha256="39c46bf2f4dc17fd0ea6210932eeaf7c806cac79dd354295d70e9b44f75a096b")
+ version("5.5.0", sha256="62e8fa3d7697b922e1d786b531a68bd07a7f6ba10a3bdf79a0bf52ef2cdccc41")
+ version("5.4.1", sha256="077ce724aa0c27df2bbcaef9c9f096c99ccd62eb4fffe68512c46edc3b714452")
+ version("5.2.0", sha256="0ae15082842e8a3598750b4bbaa4f7c138caf004e59c7040429d56bf9e9631bd")
+ version("5.1.1", sha256="6467eeca268d9accb2e3149acace49649f865b0051a672006a64b20597f04561")
+ version("5.1.0", sha256="79279792cc97a0005b2075ed2bc9b8a3e25e5edffe43ee2fb26b116283f5dab4")
+ version("5.0.3", sha256="408f6fa87f6bbe3e09b255286d4db7b678bf22d6a5cd1651d05bfc1f99792a2e")
+ version("5.0.2", sha256="6315d94b6651edd9bf1e29cfd513a0349ec46a38ed38d33121a11d5162dbe556")
+ version("5.0.1", sha256="fe915cd4ddc90182947758b77873dda42935d5493819df8439f2daef01ffaacb")
+ version("5.0.0", sha256="b46b3569ac69e8f4a88f1a479d108872857538c7564226c32df1fd75e809c240")
+ version("4.0.4", sha256="14e5ddaf689de2f5ac33aa7963554fa2944b019f526ece1036d74fe60528531b")
+ version("4.0.3", sha256="8824792d7ebc37a57010e1ba301244653f8655ea20ddab6b0d546cf1d9ffedda")
+ version("4.0.1", sha256="1c1d29150938ca71f0943363a06765dbb2cea01f9c4d760ba880cc65f39baba0")
- depends_on('py-setuptools', type=('build'))
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-nbclassic/package.py b/var/spack/repos/builtin/packages/py-nbclassic/package.py
index 6917477103..803bc1c699 100644
--- a/var/spack/repos/builtin/packages/py-nbclassic/package.py
+++ b/var/spack/repos/builtin/packages/py-nbclassic/package.py
@@ -10,15 +10,15 @@ class PyNbclassic(PythonPackage):
"""Jupyter Notebook as a Jupyter Server Extension."""
homepage = "https://github.com/jupyterlab/nbclassic"
- pypi = "nbclassic/nbclassic-0.3.1.tar.gz"
+ pypi = "nbclassic/nbclassic-0.3.1.tar.gz"
- version('0.3.5', sha256='99444dd63103af23c788d9b5172992f12caf8c3098dd5a35c787f0df31490c29')
- version('0.3.1', sha256='f920f8d09849bea7950e1017ff3bd101763a8d68f565a51ce053572e65aa7947')
+ version("0.3.5", sha256="99444dd63103af23c788d9b5172992f12caf8c3098dd5a35c787f0df31490c29")
+ version("0.3.1", sha256="f920f8d09849bea7950e1017ff3bd101763a8d68f565a51ce053572e65aa7947")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging11', when='@0.3.3:', type='build')
+ depends_on("py-jupyter-packaging11", when="@0.3.3:", type="build")
# depends_on('py-jupyter-packaging@0.9:1', when='@0.3.3:', type='build')
- depends_on('py-jupyter-server@1.8:1', type=('build', 'run'))
- depends_on('py-notebook@:6', type=('build', 'run'))
+ depends_on("py-jupyter-server@1.8:1", type=("build", "run"))
+ depends_on("py-notebook@:6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nbclient/package.py b/var/spack/repos/builtin/packages/py-nbclient/package.py
index 65c40c2cd0..10abeb5705 100644
--- a/var/spack/repos/builtin/packages/py-nbclient/package.py
+++ b/var/spack/repos/builtin/packages/py-nbclient/package.py
@@ -15,20 +15,20 @@ class PyNbclient(PythonPackage):
homepage = "https://jupyter.org/"
pypi = "nbclient/nbclient-0.5.0.tar.gz"
- version('0.6.6', sha256='0df76a7961d99a681b4796c74a1f2553b9f998851acc01896dce064ad19a9027')
- version('0.5.13', sha256='40c52c9b5e3c31faecaee69f202b3f53e38d7c1c563de0fadde9d7eda0fdafe8')
- version('0.5.5', sha256='ed7d18431393750d29a64da432e0b7889274eb5a5056682be5691b1b1dc8f755')
- version('0.5.0', sha256='8ad52d27ba144fca1402db014857e53c5a864a2f407be66ca9d74c3a56d6591d')
-
- depends_on('python@3.7:', when='@0.5.13:', type=('build', 'run'))
- depends_on('python@3.6.1:', when='@0.5.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-jupyter-client@6.1.5:', type=('build', 'run'))
- depends_on('py-nbformat@5.0:', type=('build', 'run'))
- depends_on('py-async-generator', type=('build', 'run'), when='@0.5.0')
- depends_on('py-async-generator', type=('build', 'run'), when='@0.5.5: ^python@:3.6')
- depends_on('py-nest-asyncio', type=('build', 'run'))
- depends_on('py-traitlets@5.2.2:', when='@0.6:', type=('build', 'run'))
- depends_on('py-traitlets@5:', when='@0.5.13:', type=('build', 'run'))
- depends_on('py-traitlets@4.2:', type=('build', 'run'))
+ version("0.6.6", sha256="0df76a7961d99a681b4796c74a1f2553b9f998851acc01896dce064ad19a9027")
+ version("0.5.13", sha256="40c52c9b5e3c31faecaee69f202b3f53e38d7c1c563de0fadde9d7eda0fdafe8")
+ version("0.5.5", sha256="ed7d18431393750d29a64da432e0b7889274eb5a5056682be5691b1b1dc8f755")
+ version("0.5.0", sha256="8ad52d27ba144fca1402db014857e53c5a864a2f407be66ca9d74c3a56d6591d")
+
+ depends_on("python@3.7:", when="@0.5.13:", type=("build", "run"))
+ depends_on("python@3.6.1:", when="@0.5.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jupyter-client@6.1.5:", type=("build", "run"))
+ depends_on("py-nbformat@5.0:", type=("build", "run"))
+ depends_on("py-async-generator", type=("build", "run"), when="@0.5.0")
+ depends_on("py-async-generator", type=("build", "run"), when="@0.5.5: ^python@:3.6")
+ depends_on("py-nest-asyncio", type=("build", "run"))
+ depends_on("py-traitlets@5.2.2:", when="@0.6:", type=("build", "run"))
+ depends_on("py-traitlets@5:", when="@0.5.13:", type=("build", "run"))
+ depends_on("py-traitlets@4.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nbconvert/package.py b/var/spack/repos/builtin/packages/py-nbconvert/package.py
index 8083a2907c..4728d00287 100644
--- a/var/spack/repos/builtin/packages/py-nbconvert/package.py
+++ b/var/spack/repos/builtin/packages/py-nbconvert/package.py
@@ -13,65 +13,67 @@ class PyNbconvert(PythonPackage):
homepage = "https://github.com/jupyter/nbconvert"
pypi = "nbconvert/nbconvert-6.0.1.tar.gz"
- version('6.5.0', sha256='223e46e27abe8596b8aed54301fadbba433b7ffea8196a68fd7b1ff509eee99d')
- version('6.4.2', sha256='eb2803db18f6facce6bf3b01b684fe47907994bd156d15eaccdf011e3d7f8164')
- version('6.3.0', sha256='5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a')
- version('6.2.0', sha256='16ceecd0afaa8fd26c245fa32e2c52066c02f13aa73387fffafd84750baea863')
- version('6.0.1', sha256='db94117fbac29153834447e31b30cda337d4450e46e0bdb1a36eafbbf4435156')
- version('5.6.0', sha256='427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695')
- version('5.5.0', sha256='138381baa41d83584459b5cfecfc38c800ccf1f37d9ddd0bd440783346a4c39c')
- version('4.2.0', sha256='55946d7522741294fcdd50799bd1777d16673ce721fecca0610cdb86749863c6')
- version('4.1.0', sha256='e0296e45293dd127d028f678e3b6aba3f1db3283a134178bdb49eea402d4cf1c')
- version('4.0.0', sha256='472ad15d1a71f1ef00c4094c11bb93638858fc89fb2c5838b3aa6b67d981b437')
+ version("6.5.0", sha256="223e46e27abe8596b8aed54301fadbba433b7ffea8196a68fd7b1ff509eee99d")
+ version("6.4.2", sha256="eb2803db18f6facce6bf3b01b684fe47907994bd156d15eaccdf011e3d7f8164")
+ version("6.3.0", sha256="5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a")
+ version("6.2.0", sha256="16ceecd0afaa8fd26c245fa32e2c52066c02f13aa73387fffafd84750baea863")
+ version("6.0.1", sha256="db94117fbac29153834447e31b30cda337d4450e46e0bdb1a36eafbbf4435156")
+ version("5.6.0", sha256="427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695")
+ version("5.5.0", sha256="138381baa41d83584459b5cfecfc38c800ccf1f37d9ddd0bd440783346a4c39c")
+ version("4.2.0", sha256="55946d7522741294fcdd50799bd1777d16673ce721fecca0610cdb86749863c6")
+ version("4.1.0", sha256="e0296e45293dd127d028f678e3b6aba3f1db3283a134178bdb49eea402d4cf1c")
+ version("4.0.0", sha256="472ad15d1a71f1ef00c4094c11bb93638858fc89fb2c5838b3aa6b67d981b437")
- variant('serve', default=True, description='Include a webserver')
+ variant("serve", default=True, description="Include a webserver")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@5:')
- depends_on('python@3.6:', type=('build', 'run'), when='@6:')
- depends_on('python@3.7:', type=('build', 'run'), when='@6.2.0:')
- depends_on('py-setuptools', type=('build', 'run'), when='@5:')
- depends_on('py-setuptools@60:', type=('build', 'run'), when='@6.5:')
- depends_on('py-beautifulsoup4', type=('build', 'run'), when='@6.4.4:')
- depends_on('py-bleach', type=('build', 'run'), when='@5:')
- depends_on('py-defusedxml', type=('build', 'run'), when='@5:')
- depends_on('py-entrypoints', type=('build', 'run'))
- depends_on('py-entrypoints@0.2.2:', type=('build', 'run'), when='@5:')
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-jinja2@2.4:', type=('build', 'run'), when='@5:')
- depends_on('py-jinja2@3:', type=('build', 'run'), when='@6.5:')
- depends_on('py-jupyter-core', type=('build', 'run'))
- depends_on('py-jupyter-core@4.7:', type=('build', 'run'), when='@6.5:')
- depends_on('py-jupyterlab-pygments', type=('build', 'run'), when='@6:')
- depends_on('py-markupsafe@2:', type=('build', 'run'), when='@6.4.5:')
- depends_on('py-mistune@0.8.1:1', type=('build', 'run'))
- depends_on('py-nbclient@0.5', type=('build', 'run'), when='@6:6.4')
- depends_on('py-nbclient@0.5:', type=('build', 'run'), when='@6.5:')
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-nbformat@4.4:', type=('build', 'run'), when='@5:')
- depends_on('py-nbformat@5.1:', type=('build', 'run'), when='@6.5:')
- depends_on('py-packaging', type=('build', 'run'), when='@6.5:')
- depends_on('py-pandocfilters@1.4.1:', type=('build', 'run'), when='@5:')
- depends_on('py-pycurl', type='build', when='^python@:2.7.8')
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-pygments@2.4.1:', type=('build', 'run'), when='@6:')
- depends_on('py-testpath', type=('build', 'run'), when='@5:6.4')
- depends_on('py-tinycss2', type=('build', 'run'), when='@6.5:')
- depends_on('py-traitlets', type=('build', 'run'))
- depends_on('py-traitlets@4.2:', type=('build', 'run'), when='@5:')
- depends_on('py-traitlets@5:', type=('build', 'run'), when='@6.2.0:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@5:")
+ depends_on("python@3.6:", type=("build", "run"), when="@6:")
+ depends_on("python@3.7:", type=("build", "run"), when="@6.2.0:")
+ depends_on("py-setuptools", type=("build", "run"), when="@5:")
+ depends_on("py-setuptools@60:", type=("build", "run"), when="@6.5:")
+ depends_on("py-beautifulsoup4", type=("build", "run"), when="@6.4.4:")
+ depends_on("py-bleach", type=("build", "run"), when="@5:")
+ depends_on("py-defusedxml", type=("build", "run"), when="@5:")
+ depends_on("py-entrypoints", type=("build", "run"))
+ depends_on("py-entrypoints@0.2.2:", type=("build", "run"), when="@5:")
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-jinja2@2.4:", type=("build", "run"), when="@5:")
+ depends_on("py-jinja2@3:", type=("build", "run"), when="@6.5:")
+ depends_on("py-jupyter-core", type=("build", "run"))
+ depends_on("py-jupyter-core@4.7:", type=("build", "run"), when="@6.5:")
+ depends_on("py-jupyterlab-pygments", type=("build", "run"), when="@6:")
+ depends_on("py-markupsafe@2:", type=("build", "run"), when="@6.4.5:")
+ depends_on("py-mistune@0.8.1:1", type=("build", "run"))
+ depends_on("py-nbclient@0.5", type=("build", "run"), when="@6:6.4")
+ depends_on("py-nbclient@0.5:", type=("build", "run"), when="@6.5:")
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-nbformat@4.4:", type=("build", "run"), when="@5:")
+ depends_on("py-nbformat@5.1:", type=("build", "run"), when="@6.5:")
+ depends_on("py-packaging", type=("build", "run"), when="@6.5:")
+ depends_on("py-pandocfilters@1.4.1:", type=("build", "run"), when="@5:")
+ depends_on("py-pycurl", type="build", when="^python@:2.7.8")
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-pygments@2.4.1:", type=("build", "run"), when="@6:")
+ depends_on("py-testpath", type=("build", "run"), when="@5:6.4")
+ depends_on("py-tinycss2", type=("build", "run"), when="@6.5:")
+ depends_on("py-traitlets", type=("build", "run"))
+ depends_on("py-traitlets@4.2:", type=("build", "run"), when="@5:")
+ depends_on("py-traitlets@5:", type=("build", "run"), when="@6.2.0:")
# https://bugs.gentoo.org/720870
# https://github.com/jupyter/nbconvert/pull/937
- depends_on('py-tornado@6.1:', type=('build', 'run'), when='@6.5: +serve')
- depends_on('py-tornado@4.0:', type=('build', 'run'), when='@5.4.1: +serve')
- depends_on('py-tornado@4.0:5', type=('build', 'run'), when='@:5.4.0 +serve')
+ depends_on("py-tornado@6.1:", type=("build", "run"), when="@6.5: +serve")
+ depends_on("py-tornado@4.0:", type=("build", "run"), when="@5.4.1: +serve")
+ depends_on("py-tornado@4.0:5", type=("build", "run"), when="@:5.4.0 +serve")
def patch(self):
# We bundle this with the spack package so that the installer
# doesn't try to download it.
- install(join_path(self.package_dir, 'style.min.css'),
- join_path('nbconvert', 'resources', 'style.min.css'))
+ install(
+ join_path(self.package_dir, "style.min.css"),
+ join_path("nbconvert", "resources", "style.min.css"),
+ )
def setup_run_environment(self, env):
env.prepend_path("JUPYTER_PATH", self.prefix.share.jupyter)
diff --git a/var/spack/repos/builtin/packages/py-nbdime/package.py b/var/spack/repos/builtin/packages/py-nbdime/package.py
index 40dfb56fd4..3f9fc3d6d6 100644
--- a/var/spack/repos/builtin/packages/py-nbdime/package.py
+++ b/var/spack/repos/builtin/packages/py-nbdime/package.py
@@ -10,21 +10,21 @@ class PyNbdime(PythonPackage):
"""Diff and merge of Jupyter Notebooks"""
homepage = "https://nbdime.readthedocs.io/"
- pypi = "nbdime/nbdime-3.1.1.tar.gz"
+ pypi = "nbdime/nbdime-3.1.1.tar.gz"
- version('3.1.1', sha256='67767320e971374f701a175aa59abd3a554723039d39fae908e72d16330d648b')
+ version("3.1.1", sha256="67767320e971374f701a175aa59abd3a554723039d39fae908e72d16330d648b")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@40.8.0:', type='build')
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-tornado', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-gitpython@:2.1.3,2.1.7:', type=('build', 'run'))
- depends_on('py-jupyter-server', type=('build', 'run'))
- depends_on('py-jupyter-server-mathjax@0.2.2:', type=('build', 'run'))
- depends_on('py-jinja2@2.9:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@40.8.0:", type="build")
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-tornado", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-gitpython@:2.1.3,2.1.7:", type=("build", "run"))
+ depends_on("py-jupyter-server", type=("build", "run"))
+ depends_on("py-jupyter-server-mathjax@0.2.2:", type=("build", "run"))
+ depends_on("py-jinja2@2.9:", type=("build", "run"))
# From pyproject.toml
- depends_on('py-jupyterlab@3.0:3', type=('build', 'run'))
- depends_on('py-wheel', type='build')
+ depends_on("py-jupyterlab@3.0:3", type=("build", "run"))
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-nbformat/package.py b/var/spack/repos/builtin/packages/py-nbformat/package.py
index 03a2db7b4a..62037bc0af 100644
--- a/var/spack/repos/builtin/packages/py-nbformat/package.py
+++ b/var/spack/repos/builtin/packages/py-nbformat/package.py
@@ -13,23 +13,23 @@ class PyNbformat(PythonPackage):
homepage = "https://github.com/jupyter/nbformat"
pypi = "nbformat/nbformat-5.0.7.tar.gz"
- version('5.4.0', sha256='44ba5ca6acb80c5d5a500f1e5b83ede8cbe364d5a495c4c8cf60aaf1ba656501')
- 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')
+ version("5.4.0", sha256="44ba5ca6acb80c5d5a500f1e5b83ede8cbe364d5a495c4c8cf60aaf1ba656501")
+ 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.7:', when='@5.2:', type=('build', 'run'))
- 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-setuptools@60:', when='@5.3:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-ipython-genutils', when='@:5.1', type=('build', 'run'))
- depends_on('py-traitlets@5.1:', when='@5.4:', type=('build', 'run'))
- depends_on('py-traitlets@4.1:', type=('build', 'run'))
- depends_on('py-jsonschema@2.6:', when='@5.3:', type=('build', 'run'))
- depends_on('py-jsonschema@2.4.0:2.4,2.5.1:', type=('build', 'run'))
- depends_on('py-jupyter-core', type=('build', 'run'))
- depends_on('py-fastjsonschema', when='@5.3:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@5.2:", type=("build", "run"))
+ 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-setuptools@60:", when="@5.3:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ipython-genutils", when="@:5.1", type=("build", "run"))
+ depends_on("py-traitlets@5.1:", when="@5.4:", type=("build", "run"))
+ depends_on("py-traitlets@4.1:", type=("build", "run"))
+ depends_on("py-jsonschema@2.6:", when="@5.3:", type=("build", "run"))
+ depends_on("py-jsonschema@2.4.0:2.4,2.5.1:", type=("build", "run"))
+ depends_on("py-jupyter-core", type=("build", "run"))
+ depends_on("py-fastjsonschema", when="@5.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 948acbd262..a07a45a5df 100644
--- a/var/spack/repos/builtin/packages/py-nbmake/package.py
+++ b/var/spack/repos/builtin/packages/py-nbmake/package.py
@@ -10,37 +10,37 @@ class PyNbmake(PythonPackage):
"""Pytest plugin for testing notebooks."""
homepage = "https://github.com/treebeardtech/nbmake"
- pypi = "nbmake/nbmake-0.5.tar.gz"
+ pypi = "nbmake/nbmake-0.5.tar.gz"
- version('1.3.3', sha256='0982e1e2c26b2fda7bac10f35b242c2b9b9b2574456975da158da05b0092888f')
- version('1.3.2', sha256='763ee648962a8706808ad3e780e314e6a79b168cf2edbb3b026987ee7bbf57be')
- version('1.3.1', sha256='e77f98e7d21e618bef1ba1c30904ce48657f934ebe359502c85a229184fbdfc8')
- version('1.3.0', sha256='49d5c59aefe45eaf8e2d8feff86c8e6de5547d823667305562364385e60d7206')
- version('1.2.1', sha256='63227b0ffe6045b7285ac7fce168ef050e6b0afe9bb02557a5f391311e2584b8')
- version('1.2', sha256='9aa299ad026047cb4d2191f10f1b5c9e1155f194b162f0d708c94acfea03d19c')
- version('1.1', sha256='d59158797cecb7d7b248a061854fbd7fa0bdd9ff2c19b0d0bae8ee2ca90ffd13')
- version('1.0', sha256='3ee5893b84507a7bc6af0e3eabb27edc926953527c790a4975e8f75af5a29ee5')
- version('0.10', sha256='1b0ee9e125b2d170a54ca2da3d8b45392e0ae663165469bd77f62290448ab96d')
- version('0.9', sha256='f2d8542be4763310c264be7caa12b36932ea40b3019dc66632ebda2a71589768')
- version('0.8', sha256='76bb053cffe9104fb873b6208b47ce1e71c9408849c5b1073090e6f6fb3a7ce7')
- version('0.7', sha256='b03adba337dad79bec3c9a5cb52d0d52859c793c74656795018ad37a32570d41')
- version('0.6', sha256='20dcec145507eec664d61ab36fa248797de6348e7013c9547028077bc46acde2')
- version('0.5', sha256='da9bf1bbc377c9d1d697f99952834017c39b4983e7e482a038dec705955a8ae9')
+ version("1.3.3", sha256="0982e1e2c26b2fda7bac10f35b242c2b9b9b2574456975da158da05b0092888f")
+ version("1.3.2", sha256="763ee648962a8706808ad3e780e314e6a79b168cf2edbb3b026987ee7bbf57be")
+ version("1.3.1", sha256="e77f98e7d21e618bef1ba1c30904ce48657f934ebe359502c85a229184fbdfc8")
+ version("1.3.0", sha256="49d5c59aefe45eaf8e2d8feff86c8e6de5547d823667305562364385e60d7206")
+ version("1.2.1", sha256="63227b0ffe6045b7285ac7fce168ef050e6b0afe9bb02557a5f391311e2584b8")
+ version("1.2", sha256="9aa299ad026047cb4d2191f10f1b5c9e1155f194b162f0d708c94acfea03d19c")
+ version("1.1", sha256="d59158797cecb7d7b248a061854fbd7fa0bdd9ff2c19b0d0bae8ee2ca90ffd13")
+ version("1.0", sha256="3ee5893b84507a7bc6af0e3eabb27edc926953527c790a4975e8f75af5a29ee5")
+ version("0.10", sha256="1b0ee9e125b2d170a54ca2da3d8b45392e0ae663165469bd77f62290448ab96d")
+ version("0.9", sha256="f2d8542be4763310c264be7caa12b36932ea40b3019dc66632ebda2a71589768")
+ version("0.8", sha256="76bb053cffe9104fb873b6208b47ce1e71c9408849c5b1073090e6f6fb3a7ce7")
+ version("0.7", sha256="b03adba337dad79bec3c9a5cb52d0d52859c793c74656795018ad37a32570d41")
+ version("0.6", sha256="20dcec145507eec664d61ab36fa248797de6348e7013c9547028077bc46acde2")
+ version("0.5", sha256="da9bf1bbc377c9d1d697f99952834017c39b4983e7e482a038dec705955a8ae9")
- depends_on('py-setuptools', type='build')
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-pathlib@1.0.1:1', when='@:0.8 ^python@:3.3', type=('build', 'run'))
- depends_on('py-pydantic@1.7.2:1', type=('build', 'run'))
- depends_on('py-pytest@6.1.0:', when='@1.2.1:', type=('build', 'run'))
- depends_on('py-pytest@6.1.0:6', when='@0.10:1.2.0', type=('build', 'run'))
- depends_on('py-pytest@6.1.2:6', when='@:0.9', type=('build', 'run'))
- depends_on('python@3.7.0:3', when='@1.3:', type=('build', 'run'))
- depends_on('python@3.6.1:3', when='@:1.2', type=('build', 'run'))
- depends_on('py-nbclient@0.6.6:0.6', when='@1.3.1:', type=('build', 'run'))
- depends_on('py-nbclient@0.5.13:0.5', when='@1.3.0', type=('build', 'run'))
- depends_on('py-nbclient@0.5.5:0.5', when='@1.2', type=('build', 'run'))
- depends_on('py-nbclient@0.3:0', when='@:1.1', type=('build', 'run'))
- depends_on('py-nbformat@5.0.8:5', type=('build', 'run'))
- depends_on('py-pygments@2.7.3:2', type=('build', 'run'))
- depends_on('py-ipykernel@5.4.0:', when='@0.7:', type=('build', 'run'))
- depends_on('py-ipykernel@5.4.0:5', when='@0.5', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-pathlib@1.0.1:1", when="@:0.8 ^python@:3.3", type=("build", "run"))
+ depends_on("py-pydantic@1.7.2:1", type=("build", "run"))
+ depends_on("py-pytest@6.1.0:", when="@1.2.1:", type=("build", "run"))
+ depends_on("py-pytest@6.1.0:6", when="@0.10:1.2.0", type=("build", "run"))
+ depends_on("py-pytest@6.1.2:6", when="@:0.9", type=("build", "run"))
+ depends_on("python@3.7.0:3", when="@1.3:", type=("build", "run"))
+ depends_on("python@3.6.1:3", when="@:1.2", type=("build", "run"))
+ depends_on("py-nbclient@0.6.6:0.6", when="@1.3.1:", type=("build", "run"))
+ depends_on("py-nbclient@0.5.13:0.5", when="@1.3.0", type=("build", "run"))
+ depends_on("py-nbclient@0.5.5:0.5", when="@1.2", type=("build", "run"))
+ depends_on("py-nbclient@0.3:0", when="@:1.1", type=("build", "run"))
+ depends_on("py-nbformat@5.0.8:5", type=("build", "run"))
+ depends_on("py-pygments@2.7.3:2", type=("build", "run"))
+ depends_on("py-ipykernel@5.4.0:", when="@0.7:", type=("build", "run"))
+ depends_on("py-ipykernel@5.4.0:5", when="@0.5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nbsphinx/package.py b/var/spack/repos/builtin/packages/py-nbsphinx/package.py
index 83611d53bc..35471e30c6 100644
--- a/var/spack/repos/builtin/packages/py-nbsphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-nbsphinx/package.py
@@ -16,20 +16,20 @@ class PyNbsphinx(PythonPackage):
# one must create a Spack view of the dependencies.
homepage = "https://nbsphinx.readthedocs.io"
- pypi = "nbsphinx/nbsphinx-0.8.0.tar.gz"
+ pypi = "nbsphinx/nbsphinx-0.8.0.tar.gz"
- version('0.8.8', sha256='b5090c824b330b36c2715065a1a179ad36526bff208485a9865453d1ddfc34ec')
- version('0.8.7', sha256='ff91b5b14ceb1a9d44193b5fc3dd3617e7b8ab59c788f7710049ce5faff2750c')
- version('0.8.1', sha256='24d59aa3a1077ba58d9769c64c38fb05b761a1af21c1ac15f6393500cd008ea6')
- version('0.8.0', sha256='369c16fe93af14c878d61fb3e81d838196fb35b27deade2cd7b95efe1fe56ea0')
+ version("0.8.8", sha256="b5090c824b330b36c2715065a1a179ad36526bff208485a9865453d1ddfc34ec")
+ 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'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-nbconvert@:5.3,5.5:', type=('build', 'run'))
- 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')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docutils", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-nbconvert@:5.3,5.5:", type=("build", "run"))
+ 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")
diff --git a/var/spack/repos/builtin/packages/py-nbval/package.py b/var/spack/repos/builtin/packages/py-nbval/package.py
index f4eac48a89..ab0981a0ad 100644
--- a/var/spack/repos/builtin/packages/py-nbval/package.py
+++ b/var/spack/repos/builtin/packages/py-nbval/package.py
@@ -16,14 +16,14 @@ class PyNbval(PythonPackage):
"""
homepage = "https://github.com/computationalmodelling/nbval"
- pypi = "nbval/nbval-0.9.6.tar.gz"
+ pypi = "nbval/nbval-0.9.6.tar.gz"
- version('0.9.6', sha256='cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40')
+ version("0.9.6", sha256="cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@2.8:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-ipykernel', type=('build', 'run'))
- depends_on('py-coverage', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@2.8:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-jupyter-client", type=("build", "run"))
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-ipykernel", type=("build", "run"))
+ depends_on("py-coverage", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nc-time-axis/package.py b/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
index a299d292fb..91075e1be9 100644
--- a/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
+++ b/var/spack/repos/builtin/packages/py-nc-time-axis/package.py
@@ -12,10 +12,10 @@ class PyNcTimeAxis(PythonPackage):
homepage = "https://github.com/scitools/nc-time-axis"
pypi = "nc-time-axis/nc-time-axis-1.1.0.tar.gz"
- version('1.1.0', sha256='ea9d4f7f9e9189c96f7d320235ac6c4be7f63dc5aa256b3ee5d5cca5845e6e26')
+ version("1.1.0", sha256="ea9d4f7f9e9189c96f7d320235ac6c4be7f63dc5aa256b3ee5d5cca5845e6e26")
- depends_on('py-setuptools', type='build')
- depends_on('py-cftime', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cftime", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py b/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
index bc3e68d72f..a2544a2f05 100644
--- a/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
+++ b/var/spack/repos/builtin/packages/py-ndg-httpsclient/package.py
@@ -14,9 +14,9 @@ class PyNdgHttpsclient(PythonPackage):
homepage = "https://github.com/cedadev/ndg_httpsclient/"
pypi = "ndg_httpsclient/ndg_httpsclient-0.5.1.tar.gz"
- version('0.5.1', sha256='d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210')
+ version("0.5.1", sha256="d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyopenssl', type=('build', 'run'))
- depends_on('py-pyasn1@0.1.1:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyopenssl", type=("build", "run"))
+ depends_on("py-pyasn1@0.1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-neo/package.py b/var/spack/repos/builtin/packages/py-neo/package.py
index 50e755a07d..6070dde862 100644
--- a/var/spack/repos/builtin/packages/py-neo/package.py
+++ b/var/spack/repos/builtin/packages/py-neo/package.py
@@ -14,20 +14,20 @@ class PyNeo(PythonPackage):
homepage = "https://neuralensemble.org/neo"
pypi = "neo/neo-0.4.1.tar.gz"
- version('0.10.2', sha256='2d4218b0826daeea880e155227060029ec38a00238ceb5f097138d9467c6399b')
- version('0.10.0', sha256='e591a53e18cfa4478603a0e133f3fa0e07bc016b2a279d21d72cf8196eca8353')
- version('0.9.0', sha256='6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb')
- version('0.8.0', sha256='3382a37b24a384006238b72981f1e9259de9bfa71886f8ed564d35d254ace458')
- version('0.5.2', sha256='1de436b7d5e72a5b4f1baa68bae5b790624a9ac44b2673811cb0b6ef554d3f8b')
- version('0.4.1', sha256='a5a4f3aa31654d52789f679717c9fb622ad4f59b56d227dca490357b9de0a1ce')
- version('0.3.3', sha256='6b80eb5bdc9eb4eca829f7464f861c5f1a3a6289559de037930d529bb3dddefb')
-
- depends_on('py-setuptools', type='build')
-
- depends_on('py-numpy@1.3.0:', type=('build', 'run'), when='@0.3.3:0.4.1')
- depends_on('py-numpy@1.7.1:', type=('build', 'run'), when='@0.5.2:0.8.0')
- depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@0.9.0')
- depends_on('py-numpy@1.16.1:', type=('build', 'run'), when='@0.10.0:')
-
- depends_on('py-quantities@0.9.0:', type=('build', 'run'), when='@0.3.3:0.8.0')
- depends_on('py-quantities@0.12.1:', type=('build', 'run'), when='@0.9.0:')
+ version("0.10.2", sha256="2d4218b0826daeea880e155227060029ec38a00238ceb5f097138d9467c6399b")
+ version("0.10.0", sha256="e591a53e18cfa4478603a0e133f3fa0e07bc016b2a279d21d72cf8196eca8353")
+ version("0.9.0", sha256="6e31c88d7c52174fa2512df589b2b5003e9471fde27fca9f315f4770ba3bd3cb")
+ version("0.8.0", sha256="3382a37b24a384006238b72981f1e9259de9bfa71886f8ed564d35d254ace458")
+ version("0.5.2", sha256="1de436b7d5e72a5b4f1baa68bae5b790624a9ac44b2673811cb0b6ef554d3f8b")
+ version("0.4.1", sha256="a5a4f3aa31654d52789f679717c9fb622ad4f59b56d227dca490357b9de0a1ce")
+ version("0.3.3", sha256="6b80eb5bdc9eb4eca829f7464f861c5f1a3a6289559de037930d529bb3dddefb")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-numpy@1.3.0:", type=("build", "run"), when="@0.3.3:0.4.1")
+ depends_on("py-numpy@1.7.1:", type=("build", "run"), when="@0.5.2:0.8.0")
+ depends_on("py-numpy@1.13.0:", type=("build", "run"), when="@0.9.0")
+ depends_on("py-numpy@1.16.1:", type=("build", "run"), when="@0.10.0:")
+
+ depends_on("py-quantities@0.9.0:", type=("build", "run"), when="@0.3.3:0.8.0")
+ depends_on("py-quantities@0.12.1:", type=("build", "run"), when="@0.9.0:")
diff --git a/var/spack/repos/builtin/packages/py-neobolt/package.py b/var/spack/repos/builtin/packages/py-neobolt/package.py
index c5ba5477c5..3f33ff8459 100644
--- a/var/spack/repos/builtin/packages/py-neobolt/package.py
+++ b/var/spack/repos/builtin/packages/py-neobolt/package.py
@@ -12,7 +12,7 @@ class PyNeobolt(PythonPackage):
homepage = "https://github.com/neo4j-drivers/neobolt"
pypi = "neobolt/neobolt-1.7.16.tar.gz"
- version('1.7.16', sha256='ca4e87679fe3ed39aec23638658e02dbdc6bbc3289a04e826f332e05ab32275d')
+ version("1.7.16", sha256="ca4e87679fe3ed39aec23638658e02dbdc6bbc3289a04e826f332e05ab32275d")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-neotime/package.py b/var/spack/repos/builtin/packages/py-neotime/package.py
index 0fac208e05..0de6b57278 100644
--- a/var/spack/repos/builtin/packages/py-neotime/package.py
+++ b/var/spack/repos/builtin/packages/py-neotime/package.py
@@ -12,9 +12,9 @@ class PyNeotime(PythonPackage):
homepage = "https://github.com/neo4j-drivers/neotime"
pypi = "neotime/neotime-1.7.4.tar.gz"
- version('1.7.4', sha256='4e0477ba0f24e004de2fa79a3236de2bd941f20de0b5db8d976c52a86d7363eb')
+ version("1.7.4", sha256="4e0477ba0f24e004de2fa79a3236de2bd941f20de0b5db8d976c52a86d7363eb")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-neovim-remote/package.py b/var/spack/repos/builtin/packages/py-neovim-remote/package.py
index 828808d5a2..943bbcfba9 100644
--- a/var/spack/repos/builtin/packages/py-neovim-remote/package.py
+++ b/var/spack/repos/builtin/packages/py-neovim-remote/package.py
@@ -10,14 +10,14 @@ class PyNeovimRemote(PythonPackage):
"""Remote opening and control for neovim: nvr"""
homepage = "https://github.com/mhinz/neovim-remote"
- pypi = "neovim-remote/neovim-remote-2.4.0.tar.gz"
+ pypi = "neovim-remote/neovim-remote-2.4.0.tar.gz"
- maintainers = ['trws']
+ maintainers = ["trws"]
- version('2.4.0', sha256='f199ebb61c3decf462feed4e7d467094ed38d8afaf43620736b5983a12fe2427')
+ version("2.4.0", sha256="f199ebb61c3decf462feed4e7d467094ed38d8afaf43620736b5983a12fe2427")
- depends_on('python@3.5:', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-pynvim', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-pynvim", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
index 0bc9343cc4..4b88cb1c27 100644
--- a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
+++ b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
@@ -13,10 +13,10 @@ class PyNestAsyncio(PythonPackage):
homepage = "https://github.com/erdewit/nest_asyncio"
pypi = "nest-asyncio/nest_asyncio-1.4.0.tar.gz"
- version('1.5.4', sha256='f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd')
- version('1.5.1', sha256='afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa')
- version('1.4.0', sha256='5773054bbc14579b000236f85bc01ecced7ffd045ec8ca4a9809371ec65a59c8')
+ version("1.5.4", sha256="f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd")
+ version("1.5.1", sha256="afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa")
+ version("1.4.0", sha256="5773054bbc14579b000236f85bc01ecced7ffd045ec8ca4a9809371ec65a59c8")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4.3: +toml', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4.3: +toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-nestle/package.py b/var/spack/repos/builtin/packages/py-nestle/package.py
index e9a010967b..a61b446aec 100644
--- a/var/spack/repos/builtin/packages/py-nestle/package.py
+++ b/var/spack/repos/builtin/packages/py-nestle/package.py
@@ -12,13 +12,13 @@ class PyNestle(PythonPackage):
homepage = "https://kbarbary.github.io/nestle/"
pypi = "nestle/nestle-0.1.1.tar.gz"
- version('0.1.1', sha256='d236a04f25494af5cda572eecf62729592b3231fbd874b1f72aff54718a3bb08')
+ version("0.1.1", sha256="d236a04f25494af5cda572eecf62729592b3231fbd874b1f72aff54718a3bb08")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# Required dependencies
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
# Optional dependencies
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-netaddr/package.py b/var/spack/repos/builtin/packages/py-netaddr/package.py
index 70a740faf8..ebb128d8f8 100644
--- a/var/spack/repos/builtin/packages/py-netaddr/package.py
+++ b/var/spack/repos/builtin/packages/py-netaddr/package.py
@@ -10,13 +10,13 @@ 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"
+ pypi = "netaddr/netaddr-0.8.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('0.8.0', sha256='d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243')
+ 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("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'))
+ depends_on("py-importlib-resources", when="^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-netcdf4/package.py b/var/spack/repos/builtin/packages/py-netcdf4/package.py
index be95995edd..84b197ad25 100644
--- a/var/spack/repos/builtin/packages/py-netcdf4/package.py
+++ b/var/spack/repos/builtin/packages/py-netcdf4/package.py
@@ -12,58 +12,58 @@ class PyNetcdf4(PythonPackage):
homepage = "https://github.com/Unidata/netcdf4-python"
pypi = "netCDF4/netCDF4-1.2.7.tar.gz"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('1.5.8', sha256='ca3d468f4812c0999df86e3f428851fb0c17ac34ce0827115c246b0b690e4e84')
- version('1.5.3', sha256='2a3ca855848f4bbf07fac366da77a681fcead18c0a8813d91d46302f562dc3be')
- version('1.4.2', sha256='b934af350459cf9041bcdf5472e2aa56ed7321c018d918e9f325ec9a1f9d1a30')
- version('1.2.7', sha256='0c449b60183ee06238a8f9a75de7b0eed3acaa7a374952ff9f1ff06beb8f94ba')
- version('1.2.3.1', sha256='55edd74ef9aabb1f7d1ea3ffbab9c555da2a95632a97f91c0242281dc5eb919f')
+ version("1.5.8", sha256="ca3d468f4812c0999df86e3f428851fb0c17ac34ce0827115c246b0b690e4e84")
+ version("1.5.3", sha256="2a3ca855848f4bbf07fac366da77a681fcead18c0a8813d91d46302f562dc3be")
+ version("1.4.2", sha256="b934af350459cf9041bcdf5472e2aa56ed7321c018d918e9f325ec9a1f9d1a30")
+ version("1.2.7", sha256="0c449b60183ee06238a8f9a75de7b0eed3acaa7a374952ff9f1ff06beb8f94ba")
+ version("1.2.3.1", sha256="55edd74ef9aabb1f7d1ea3ffbab9c555da2a95632a97f91c0242281dc5eb919f")
variant("mpi", default=True, description="Parallel IO support")
- depends_on('python@:3.6', when='@:1.2.4', type=('build', 'link', 'run'))
- depends_on('python@2.6:2.7,3.3:3.6', when='@1.2.5:1.2.7', type=('build', 'link', 'run'))
- depends_on('python@2.6:2.7,3.3:', when='@1.2.8:1.5.1', type=('build', 'link', 'run'))
- depends_on('python@2.7,3.5:', when='@1.5.2:1.5.3', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@1.5.4:', type=('build', 'link', 'run'))
+ depends_on("python@:3.6", when="@:1.2.4", type=("build", "link", "run"))
+ depends_on("python@2.6:2.7,3.3:3.6", when="@1.2.5:1.2.7", type=("build", "link", "run"))
+ depends_on("python@2.6:2.7,3.3:", when="@1.2.8:1.5.1", type=("build", "link", "run"))
+ depends_on("python@2.7,3.5:", when="@1.5.2:1.5.3", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@1.5.4:", type=("build", "link", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@18:', when='@1.2.9:', type='build')
- depends_on('py-cython@0.19:', when='@1.2.8:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@18:", when="@1.2.9:", type="build")
+ depends_on("py-cython@0.19:", when="@1.2.8:", type="build")
- depends_on('py-numpy@1.7:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.9:', when='@1.5.4:', type=('build', 'link', 'run'))
- depends_on('py-cftime', when='@1.4:', type=('build', 'run'))
- depends_on('py-mpi4py', when='+mpi', type=('build', 'run'))
+ depends_on("py-numpy@1.7:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.9:", when="@1.5.4:", type=("build", "link", "run"))
+ depends_on("py-cftime", when="@1.4:", type=("build", "run"))
+ depends_on("py-mpi4py", when="+mpi", type=("build", "run"))
- depends_on('netcdf-c', when='-mpi')
- depends_on('netcdf-c+mpi', when='+mpi')
+ depends_on("netcdf-c", when="-mpi")
+ depends_on("netcdf-c+mpi", when="+mpi")
- depends_on('hdf5@1.8.0:+hl', when='-mpi')
- depends_on('hdf5@1.8.0:+hl+mpi', when='+mpi')
+ depends_on("hdf5@1.8.0:+hl", when="-mpi")
+ depends_on("hdf5@1.8.0:+hl+mpi", when="+mpi")
# The installation script tries to find hdf5 using pkg-config. However, the
# version of hdf5 installed with Spack does not have pkg-config files.
# Therefore, if pkg-config finds hdf5.pc at all (e.g. provided by
# Ubuntu/Debian package manager), it is definitely not what we need. The
# following patch disables the usage of pkg-config at all.
- patch('disable_pkgconf.patch')
+ patch("disable_pkgconf.patch")
# Older versions of the package get a false negative result when checking
# the version of HDF5.
- patch('check_hdf5version.patch', when='@:1.2.9 ^hdf5@1.10:')
+ patch("check_hdf5version.patch", when="@:1.2.9 ^hdf5@1.10:")
def setup_build_environment(self, env):
"""Ensure installed netcdf and hdf5 libraries are used"""
# Explicitly set these variables so setup.py won't erroneously pick up
# system versions
# See: http://unidata.github.io/netcdf4-python
- env.set('USE_SETUPCFG', '0')
- env.set('USE_NCCONFIG', '1')
- env.set('HDF5_DIR', self.spec['hdf5'].prefix)
- env.set('HDF5_INCDIR', self.spec['hdf5'].prefix.include)
- env.set('HDF5_LIBDIR', self.spec['hdf5'].prefix.lib)
- env.set('NETCDF4_DIR', self.spec['netcdf-c'].prefix)
- env.set('NETCDF4_INCDIR', self.spec['netcdf-c'].prefix.include)
- env.set('NETCDF4_LIBDIR', self.spec['netcdf-c'].prefix.lib)
+ env.set("USE_SETUPCFG", "0")
+ env.set("USE_NCCONFIG", "1")
+ env.set("HDF5_DIR", self.spec["hdf5"].prefix)
+ env.set("HDF5_INCDIR", self.spec["hdf5"].prefix.include)
+ env.set("HDF5_LIBDIR", self.spec["hdf5"].prefix.lib)
+ env.set("NETCDF4_DIR", self.spec["netcdf-c"].prefix)
+ env.set("NETCDF4_INCDIR", self.spec["netcdf-c"].prefix.include)
+ env.set("NETCDF4_LIBDIR", self.spec["netcdf-c"].prefix.lib)
diff --git a/var/spack/repos/builtin/packages/py-netifaces/package.py b/var/spack/repos/builtin/packages/py-netifaces/package.py
index 43eb77f034..16ed45bacb 100644
--- a/var/spack/repos/builtin/packages/py-netifaces/package.py
+++ b/var/spack/repos/builtin/packages/py-netifaces/package.py
@@ -9,9 +9,11 @@ from spack.package import *
class PyNetifaces(PythonPackage):
"""Portable network interface information"""
- homepage = "https://0xbharath.github.io/python-network-programming/libraries/netifaces/index.html"
+ 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')
+ version("0.10.5", sha256="59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-netket/package.py b/var/spack/repos/builtin/packages/py-netket/package.py
index b5da493e4f..8f32d49545 100644
--- a/var/spack/repos/builtin/packages/py-netket/package.py
+++ b/var/spack/repos/builtin/packages/py-netket/package.py
@@ -14,25 +14,25 @@ class PyNetket(PythonPackage):
"""
homepage = "https://github.com/netket/netket"
- url = "https://github.com/netket/netket/archive/v2.1.1.tar.gz"
+ url = "https://github.com/netket/netket/archive/v2.1.1.tar.gz"
- version('2.1.1', sha256='881ae8605a829364b2116bc4398084766b24e2cd8958d0cb2b85595650e7bfd6')
- version('2.1', sha256='041d2b058c5d2945bf0a4194ad2bf3c426ad9b6ce0dd323a81a7154bc6e45452')
- version('2.0', sha256='c2890361b16ffb5265023a736536c435ccb3ad956d897e5820eac431d72cdb0e')
- version('1.0.5', sha256='26562bf608775f21eb2cb443f2c66c09cadb56e6eac84f4d855d62e7d776a511')
- version('1.0.4', sha256='0b344d526ee34d187281d0c2f7952c91728abbe22553e3dbcd45fcfeb312c3b5')
- version('1.0.3', sha256='b8e54d7ad8b379b740def640d748c6560943aed473755389fc5cf1020b9007de')
- version('1.0.2', sha256='229c906e92a432bbbd0ff0527874f41318f8fc480d12a33c8184f30960ae628b')
+ version("2.1.1", sha256="881ae8605a829364b2116bc4398084766b24e2cd8958d0cb2b85595650e7bfd6")
+ version("2.1", sha256="041d2b058c5d2945bf0a4194ad2bf3c426ad9b6ce0dd323a81a7154bc6e45452")
+ version("2.0", sha256="c2890361b16ffb5265023a736536c435ccb3ad956d897e5820eac431d72cdb0e")
+ version("1.0.5", sha256="26562bf608775f21eb2cb443f2c66c09cadb56e6eac84f4d855d62e7d776a511")
+ version("1.0.4", sha256="0b344d526ee34d187281d0c2f7952c91728abbe22553e3dbcd45fcfeb312c3b5")
+ version("1.0.3", sha256="b8e54d7ad8b379b740def640d748c6560943aed473755389fc5cf1020b9007de")
+ version("1.0.2", sha256="229c906e92a432bbbd0ff0527874f41318f8fc480d12a33c8184f30960ae628b")
# build only deps
- depends_on('py-setuptools', type='build')
- depends_on('py-cmake@3.12:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cmake@3.12:", type="build")
- depends_on('blas')
- depends_on('mpi')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.16:', type=('build', 'run'))
- depends_on('py-scipy@1.2.1:', type=('build', 'run'))
- depends_on('py-mpi4py@3.0.1:', type=('build', 'run'))
- depends_on('py-numba@0.48.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.42.1:', type=('build', 'run'))
+ depends_on("blas")
+ depends_on("mpi")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
+ depends_on("py-scipy@1.2.1:", type=("build", "run"))
+ depends_on("py-mpi4py@3.0.1:", type=("build", "run"))
+ depends_on("py-numba@0.48.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.42.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-networkit/package.py b/var/spack/repos/builtin/packages/py-networkit/package.py
index dd7300fa0e..fa5f706d99 100644
--- a/var/spack/repos/builtin/packages/py-networkit/package.py
+++ b/var/spack/repos/builtin/packages/py-networkit/package.py
@@ -8,43 +8,43 @@ from spack.package import *
class PyNetworkit(PythonPackage):
"""NetworKit is a growing open-source toolkit for large-scale network
- analysis. Its aim is to provide tools for the analysis of large networks
- in the size range from thousands to billions of edges. For this purpose,
- it implements efficient graph algorithms, many of them parallel to
- utilize multicore architectures. These are meant to compute standard
- measures of network analysis, such as degree sequences, clustering
- coefficients, and centrality measures. In this respect, NetworKit is
- comparable to packages such as NetworkX, albeit with a focus on
- parallelism and scalability."""
+ analysis. Its aim is to provide tools for the analysis of large networks
+ in the size range from thousands to billions of edges. For this purpose,
+ it implements efficient graph algorithms, many of them parallel to
+ utilize multicore architectures. These are meant to compute standard
+ measures of network analysis, such as degree sequences, clustering
+ coefficients, and centrality measures. In this respect, NetworKit is
+ comparable to packages such as NetworkX, albeit with a focus on
+ parallelism and scalability."""
homepage = "https://networkit.github.io/"
pypi = "networkit/networkit-6.1.tar.gz"
- maintainers = ['fabratu']
+ maintainers = ["fabratu"]
- version('9.0', sha256='e27872d0d6a8a0a1ba862b0dab6adb4f0046fe6b20d3c47863075d1ee70226d3')
- version('8.1', sha256='5ff9e61496259280df4f913b1e37f51ca6f94974c4b9f623851f4d518f5ce0d5')
- version('8.0', sha256='36c30e894e835bf93f0aa0fb0b526758234e74318150820911e024ffe5ec1fd2')
- version('7.1', sha256='8609dc7a574a8a82d8880b8b1e3dfdd9c59ad67cd02135628e675c482fe98a96')
- version('7.0', sha256='eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631')
- version('6.1', sha256='f7fcb50dec66a8253f85c10ff9314100de013c7578d531c81d3f71bc6cf8f093')
+ version("9.0", sha256="e27872d0d6a8a0a1ba862b0dab6adb4f0046fe6b20d3c47863075d1ee70226d3")
+ version("8.1", sha256="5ff9e61496259280df4f913b1e37f51ca6f94974c4b9f623851f4d518f5ce0d5")
+ version("8.0", sha256="36c30e894e835bf93f0aa0fb0b526758234e74318150820911e024ffe5ec1fd2")
+ version("7.1", sha256="8609dc7a574a8a82d8880b8b1e3dfdd9c59ad67cd02135628e675c482fe98a96")
+ version("7.0", sha256="eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631")
+ version("6.1", sha256="f7fcb50dec66a8253f85c10ff9314100de013c7578d531c81d3f71bc6cf8f093")
# 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')
- depends_on('libnetworkit@7.0', type=('build', 'link'), when='@7.0')
- depends_on('libnetworkit@6.1', type=('build', 'link'), when='@6.1')
- depends_on('llvm-openmp', when='%apple-clang')
- depends_on('ninja', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('python@3:', type=('build', 'run'))
+ 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")
+ depends_on("libnetworkit@7.0", type=("build", "link"), when="@7.0")
+ depends_on("libnetworkit@6.1", type=("build", "link"), when="@6.1")
+ depends_on("llvm-openmp", when="%apple-clang")
+ depends_on("ninja", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3:", type=("build", "run"))
def install_options(self, spec, prefix):
# Enable ext. core-library + parallel build
- return ['-j{0}'.format(make_jobs)]
+ return ["-j{0}".format(make_jobs)]
diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py
index 149ce48b08..847181132c 100644
--- a/var/spack/repos/builtin/packages/py-networkx/package.py
+++ b/var/spack/repos/builtin/packages/py-networkx/package.py
@@ -13,32 +13,32 @@ class PyNetworkx(PythonPackage):
homepage = "https://networkx.github.io/"
pypi = "networkx/networkx-2.4.tar.gz"
- version('2.7.1', sha256='d1194ba753e5eed07cdecd1d23c5cd7a3c772099bd8dbd2fea366788cf4de7ba')
- version('2.6.3', sha256='c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51')
- version('2.5.1', sha256='109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a')
- version('2.4', sha256='f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64')
- version('2.3', sha256='8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d')
- version('2.2', sha256='45e56f7ab6fe81652fb4bc9f44faddb0e9025f469f602df14e3b2551c2ea5c8b')
- version('2.1', sha256='64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1')
- version('2.0', sha256='cd5ff8f75d92c79237f067e2f0876824645d37f017cfffa5b7c9678cae1454aa')
- version('1.11', sha256='0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8')
- version('1.10', sha256='ced4095ab83b7451cec1172183eff419ed32e21397ea4e1971d92a5808ed6fb8')
-
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@2.3:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.5:')
- depends_on('python@3.7:', type=('build', 'run'), when='@2.6:')
- depends_on('python@3.8:', type=('build', 'run'), when='@2.7:')
- depends_on('py-setuptools', type='build')
- depends_on('py-decorator@3.4.0:', type=('build', 'run'), when='@:1')
- depends_on('py-decorator@4.1.0:', type=('build', 'run'), when='@2.0:2.1')
- depends_on('py-decorator@4.3.0:', type=('build', 'run'), when='@2.2:2.4')
- depends_on('py-decorator@4.3.0:4', type=('build', 'run'), when='@2.5.1:2.5')
+ version("2.7.1", sha256="d1194ba753e5eed07cdecd1d23c5cd7a3c772099bd8dbd2fea366788cf4de7ba")
+ version("2.6.3", sha256="c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51")
+ version("2.5.1", sha256="109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a")
+ version("2.4", sha256="f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64")
+ version("2.3", sha256="8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d")
+ version("2.2", sha256="45e56f7ab6fe81652fb4bc9f44faddb0e9025f469f602df14e3b2551c2ea5c8b")
+ version("2.1", sha256="64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1")
+ version("2.0", sha256="cd5ff8f75d92c79237f067e2f0876824645d37f017cfffa5b7c9678cae1454aa")
+ version("1.11", sha256="0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8")
+ version("1.10", sha256="ced4095ab83b7451cec1172183eff419ed32e21397ea4e1971d92a5808ed6fb8")
+
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"), when="@2.3:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.5:")
+ depends_on("python@3.7:", type=("build", "run"), when="@2.6:")
+ depends_on("python@3.8:", type=("build", "run"), when="@2.7:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-decorator@3.4.0:", type=("build", "run"), when="@:1")
+ depends_on("py-decorator@4.1.0:", type=("build", "run"), when="@2.0:2.1")
+ depends_on("py-decorator@4.3.0:", type=("build", "run"), when="@2.2:2.4")
+ depends_on("py-decorator@4.3.0:4", type=("build", "run"), when="@2.5.1:2.5")
def url_for_version(self, version):
- ext = 'tar.gz'
- if Version('2.0') <= version <= Version('2.3'):
- ext = 'zip'
+ ext = "tar.gz"
+ if Version("2.0") <= version <= Version("2.3"):
+ ext = "zip"
- url = 'https://pypi.io/packages/source/n/networkx/networkx-{0}.{1}'
+ url = "https://pypi.io/packages/source/n/networkx/networkx-{0}.{1}"
return url.format(version, ext)
diff --git a/var/spack/repos/builtin/packages/py-neurokit2/package.py b/var/spack/repos/builtin/packages/py-neurokit2/package.py
index 58da25a57e..159275135b 100644
--- a/var/spack/repos/builtin/packages/py-neurokit2/package.py
+++ b/var/spack/repos/builtin/packages/py-neurokit2/package.py
@@ -17,16 +17,16 @@ class PyNeurokit2(PythonPackage):
"""
homepage = "https://github.com/neuropsychology/NeuroKit"
- pypi = "neurokit2/neurokit2-0.1.2.tar.gz"
+ pypi = "neurokit2/neurokit2-0.1.2.tar.gz"
- version('0.1.5', sha256='4df48c0ce8971e32e32f36c2263986b00fd83da5eadaaa98e4bb5ab6bcd930e5')
- version('0.1.4.1', sha256='226bb04bb369d8bb87d99831f0a93cd8d0ed96fdc500f63de0b3550082876f6e')
- version('0.1.2', sha256='5ef40037c2d7078ecb713ab0b77b850267babf133856b59595de9613f29787bc')
+ version("0.1.5", sha256="4df48c0ce8971e32e32f36c2263986b00fd83da5eadaaa98e4bb5ab6bcd930e5")
+ version("0.1.4.1", sha256="226bb04bb369d8bb87d99831f0a93cd8d0ed96fdc500f63de0b3550082876f6e")
+ version("0.1.2", sha256="5ef40037c2d7078ecb713ab0b77b850267babf133856b59595de9613f29787bc")
- depends_on('py-setuptools@40.6.0:', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools@40.6.0:", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-neurolab/package.py b/var/spack/repos/builtin/packages/py-neurolab/package.py
index f708b63569..ea601bae2a 100644
--- a/var/spack/repos/builtin/packages/py-neurolab/package.py
+++ b/var/spack/repos/builtin/packages/py-neurolab/package.py
@@ -10,9 +10,9 @@ class PyNeurolab(PythonPackage):
"""Simple and powerfull neural network library for python"""
homepage = "http://neurolab.googlecode.com/"
- pypi = "neurolab/neurolab-0.3.5.tar.gz"
+ pypi = "neurolab/neurolab-0.3.5.tar.gz"
- version('0.3.5', sha256='96ec311988383c63664f3325668f27c30561cf4349e3bc5420665c042a3b9191')
+ version("0.3.5", sha256="96ec311988383c63664f3325668f27c30561cf4349e3bc5420665c042a3b9191")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-neurora/package.py b/var/spack/repos/builtin/packages/py-neurora/package.py
index 3450410ddb..4cc1c21004 100644
--- a/var/spack/repos/builtin/packages/py-neurora/package.py
+++ b/var/spack/repos/builtin/packages/py-neurora/package.py
@@ -10,17 +10,17 @@ class PyNeurora(PythonPackage):
"""A Python Toolbox for Multimodal Neural Data Representation Analysis."""
homepage = "https://github.com/ZitongLu1996/NeuroRA"
- pypi = "neurora/neurora-1.1.5.16.tar.gz"
+ pypi = "neurora/neurora-1.1.5.16.tar.gz"
- version('1.1.6.1', sha256='97b2d1287f273a8db11dcaa623fc906b47ee7c4459e264a42b131e6a4f332916')
- version('1.1.5.16', sha256='5ae296a5baf658b67e9754a172f5fb321c2077007455f93db6bb2aaeb3e23cd7')
+ version("1.1.6.1", sha256="97b2d1287f273a8db11dcaa623fc906b47ee7c4459e264a42b131e6a4f332916")
+ version("1.1.5.16", sha256="5ae296a5baf658b67e9754a172f5fb321c2077007455f93db6bb2aaeb3e23cd7")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@1.6.2:', type=('build', 'run'))
- depends_on('py-mne', type=('build', 'run'))
- depends_on('py-nibabel', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-nilearn', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-scikit-image', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@1.6.2:", type=("build", "run"))
+ depends_on("py-mne", type=("build", "run"))
+ depends_on("py-nibabel", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-nilearn", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-scikit-image", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nibabel/package.py b/var/spack/repos/builtin/packages/py-nibabel/package.py
index 2c0118c26b..d670d2bdb1 100644
--- a/var/spack/repos/builtin/packages/py-nibabel/package.py
+++ b/var/spack/repos/builtin/packages/py-nibabel/package.py
@@ -10,16 +10,16 @@ class PyNibabel(PythonPackage):
"""Access a multitude of neuroimaging data formats"""
homepage = "https://nipy.org/nibabel"
- pypi = "nibabel/nibabel-3.2.1.tar.gz"
+ pypi = "nibabel/nibabel-3.2.1.tar.gz"
- version('3.2.2', sha256='b0dcc174b30405ce9e8fec1eab3cbbb20f5c5e4920976c08b22e050b7c124f94')
- version('3.2.1', sha256='4d2ff9426b740011a1c916b54fc25da9348282e727eaa2ea163f42e00f1fc29e')
- version('2.4.1', sha256='f165ff1cb4464902d6594eb2694e2cfb6f8b9fe233b856c976c3cff623ee0e17')
+ version("3.2.2", sha256="b0dcc174b30405ce9e8fec1eab3cbbb20f5c5e4920976c08b22e050b7c124f94")
+ version("3.2.1", sha256="4d2ff9426b740011a1c916b54fc25da9348282e727eaa2ea163f42e00f1fc29e")
+ version("2.4.1", sha256="f165ff1cb4464902d6594eb2694e2cfb6f8b9fe233b856c976c3cff623ee0e17")
- depends_on('python@3.6:', when='@3.1:', type=('build', 'run'))
- depends_on('py-setuptools@30.3.0:', type=('build', 'run'))
- depends_on('py-numpy@1.14:', when='@3.2:', type=('build', 'run'))
- depends_on('py-numpy@1.8:', type=('build', 'run'))
- depends_on('py-packaging@14.3:', when='@3.1:', type=('build', 'run'))
- depends_on('py-six@1.3:', when='@:2.5', type=('build', 'run'))
- depends_on('py-bz2file', when='@:2.5 ^python@:2', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3.1:", type=("build", "run"))
+ depends_on("py-setuptools@30.3.0:", type=("build", "run"))
+ depends_on("py-numpy@1.14:", when="@3.2:", type=("build", "run"))
+ depends_on("py-numpy@1.8:", type=("build", "run"))
+ depends_on("py-packaging@14.3:", when="@3.1:", type=("build", "run"))
+ depends_on("py-six@1.3:", when="@:2.5", type=("build", "run"))
+ depends_on("py-bz2file", when="@:2.5 ^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nibetaseries/package.py b/var/spack/repos/builtin/packages/py-nibetaseries/package.py
index b861d5fe99..9ac282b53d 100644
--- a/var/spack/repos/builtin/packages/py-nibetaseries/package.py
+++ b/var/spack/repos/builtin/packages/py-nibetaseries/package.py
@@ -13,47 +13,51 @@ class PyNibetaseries(PythonPackage):
pypi = "nibetaseries/nibetaseries-0.6.0.tar.gz"
git = "https://github.com/HBClab/NiBetaSeries.git"
- version('master', branch='master')
- version('0.6.0', sha256='afddea1bf9b9de4ae446a5d9d2a56bdc88a5a9588bec5ecd3c8ac978fe416515')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@40.8:', type='build')
- depends_on('py-cython', type='build')
-
- with when('@master'):
- depends_on('py-nipype@1.5.1:', type=('build', 'run'))
- depends_on('py-pybids@0.11.1:', type=('build', 'run'))
- depends_on('py-nibabel@3:', type=('build', 'run'))
- depends_on('py-nistats@0.0.1b2', type=('build', 'run'))
- depends_on('py-niworkflows@1.3.1:1.3', type=('build', 'run'))
- depends_on('py-nilearn', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-duecredit', type=('build', 'run'))
- depends_on('py-scikit-learn@0.22.0:0.22', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-mne', type=('build', 'run'))
+ version("master", branch="master")
+ version("0.6.0", sha256="afddea1bf9b9de4ae446a5d9d2a56bdc88a5a9588bec5ecd3c8ac978fe416515")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@40.8:", type="build")
+ depends_on("py-cython", type="build")
+
+ with when("@master"):
+ depends_on("py-nipype@1.5.1:", type=("build", "run"))
+ depends_on("py-pybids@0.11.1:", type=("build", "run"))
+ depends_on("py-nibabel@3:", type=("build", "run"))
+ depends_on("py-nistats@0.0.1b2", type=("build", "run"))
+ depends_on("py-niworkflows@1.3.1:1.3", type=("build", "run"))
+ depends_on("py-nilearn", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-duecredit", type=("build", "run"))
+ depends_on("py-scikit-learn@0.22.0:0.22", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-mne", type=("build", "run"))
# pypiwin32; platform_system=="Windows"
- with when('@:0.6'):
- depends_on('py-nipype@1.4.2:1.4', type=('build', 'run'))
- depends_on('py-pybids@0.9.3:0.9', type=('build', 'run'))
- depends_on('py-nibabel@2.4.0:2.4', type=('build', 'run'))
- depends_on('py-nistats@0.0.1b2', type=('build', 'run'))
- depends_on('py-nilearn@0.4.2:0.4', type=('build', 'run'))
- depends_on('py-pandas@0.24.0:0.24', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-niworkflows@1.0.2:1.0', type=('build', 'run'))
- depends_on('py-duecredit@0.6.4:0.6', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19.2:0.19', type=('build', 'run'))
- depends_on('py-matplotlib@2.2.4:2.2', type=('build', 'run'))
- depends_on('py-mne@0.18.1:0.18', type=('build', 'run'))
+ with when("@:0.6"):
+ depends_on("py-nipype@1.4.2:1.4", type=("build", "run"))
+ depends_on("py-pybids@0.9.3:0.9", type=("build", "run"))
+ depends_on("py-nibabel@2.4.0:2.4", type=("build", "run"))
+ depends_on("py-nistats@0.0.1b2", type=("build", "run"))
+ depends_on("py-nilearn@0.4.2:0.4", type=("build", "run"))
+ depends_on("py-pandas@0.24.0:0.24", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-niworkflows@1.0.2:1.0", type=("build", "run"))
+ depends_on("py-duecredit@0.6.4:0.6", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19.2:0.19", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.4:2.2", type=("build", "run"))
+ depends_on("py-mne@0.18.1:0.18", type=("build", "run"))
# pypiwin32; platform_system=="Windows"
- @run_after('install')
+ @run_after("install")
def patch_bin(self):
# pkg_resources fails to find the dependencies, resulting in errors
# like: pkg_resources.DistributionNotFound: The 'sklearn' distribution
# was not found and is required by nilearn
- filter_file("__requires__ = 'nibetaseries==0.post1+gaa7d2ea'", "",
- join_path(self.prefix.bin, 'nibs'), string=True)
+ filter_file(
+ "__requires__ = 'nibetaseries==0.post1+gaa7d2ea'",
+ "",
+ join_path(self.prefix.bin, "nibs"),
+ string=True,
+ )
diff --git a/var/spack/repos/builtin/packages/py-nilearn/package.py b/var/spack/repos/builtin/packages/py-nilearn/package.py
index 8f94756371..5348586bff 100644
--- a/var/spack/repos/builtin/packages/py-nilearn/package.py
+++ b/var/spack/repos/builtin/packages/py-nilearn/package.py
@@ -10,74 +10,74 @@ class PyNilearn(PythonPackage):
"""Statistical learning for neuroimaging in Python."""
homepage = "https://nilearn.github.io/"
- pypi = "nilearn/nilearn-0.7.1.tar.gz"
+ pypi = "nilearn/nilearn-0.7.1.tar.gz"
- version('0.8.1', sha256='a0489940855130f35bbc4cac0750479a6f82025215ea7b1d778faca064219298')
- version('0.8.0', sha256='f2d3dc81005f829f3a183efa6c90d698ea6818c06264d2e3f03e805c4340febb')
- version('0.7.1', sha256='8b1409a5e1f0f6d1a1f02555c2f11115a2364f45f1e57bcb5fb3c9ea11f346fa')
- version('0.6.2', sha256='cfc6cfda59a6f4247189f8ccf92e364de450460a15c0ec21bdb857c420dd198c')
- version('0.4.2', sha256='5049363eb6da2e7c35589477dfc79bf69929ca66de2d7ed2e9dc07acf78636f4')
+ version("0.8.1", sha256="a0489940855130f35bbc4cac0750479a6f82025215ea7b1d778faca064219298")
+ version("0.8.0", sha256="f2d3dc81005f829f3a183efa6c90d698ea6818c06264d2e3f03e805c4340febb")
+ version("0.7.1", sha256="8b1409a5e1f0f6d1a1f02555c2f11115a2364f45f1e57bcb5fb3c9ea11f346fa")
+ version("0.6.2", sha256="cfc6cfda59a6f4247189f8ccf92e364de450460a15c0ec21bdb857c420dd198c")
+ version("0.4.2", sha256="5049363eb6da2e7c35589477dfc79bf69929ca66de2d7ed2e9dc07acf78636f4")
- depends_on('python@3.6:', when='@0.8:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.6:', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@0.8:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.6:", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- variant('plotting', default=False, description='Enable plotting functionalities')
+ variant("plotting", default=False, description="Enable plotting functionalities")
- depends_on('py-numpy@1.16:', when='@0.8:', type=('build', 'run'))
- depends_on('py-numpy@1.11:', when='@0.5:', type=('build', 'run'))
- depends_on('py-numpy@1.6.1:', type=('build', 'run'))
- depends_on('py-scipy@1.2:', when='@0.8:', type=('build', 'run'))
- depends_on('py-scipy@0.19:', when='@0.6:', type=('build', 'run'))
- depends_on('py-scipy@0.17:', when='@0.5:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.21:', when='@0.8:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19:', when='@0.7:', type=('build', 'run'))
+ depends_on("py-numpy@1.16:", when="@0.8:", type=("build", "run"))
+ depends_on("py-numpy@1.11:", when="@0.5:", type=("build", "run"))
+ depends_on("py-numpy@1.6.1:", type=("build", "run"))
+ depends_on("py-scipy@1.2:", when="@0.8:", type=("build", "run"))
+ depends_on("py-scipy@0.19:", when="@0.6:", type=("build", "run"))
+ depends_on("py-scipy@0.17:", when="@0.5:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.21:", when="@0.8:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19:", when="@0.7:", type=("build", "run"))
# sklearn.linear_model.base was deprecated in py-scikit.learn@0.24
- depends_on('py-scikit-learn@0.19:0.23', when='@0.6.0:0.6', type=('build', 'run'))
+ depends_on("py-scikit-learn@0.19:0.23", when="@0.6.0:0.6", type=("build", "run"))
# older py-nilearn versions use import sklearn.external.joblib which was
# deprecated in py-scikit-learn@0.23:
- depends_on('py-scikit-learn@0.15:0.22', when='@:0.5', type=('build', 'run'))
- depends_on('py-joblib@0.12:', when='@0.7:', type=('build', 'run'))
- depends_on('py-joblib@0.11:', when='@0.6:', type=('build', 'run'))
- depends_on('py-nibabel@2.5:', when='@0.8:', type=('build', 'run'))
- depends_on('py-nibabel@2.0.2:', type=('build', 'run'))
- depends_on('py-pandas@0.24.0:', when='@0.8:', type=('build', 'run'))
- depends_on('py-pandas@0.18.0:', when='@0.7:', type=('build', 'run'))
- depends_on('py-requests@2:', when='@0.7:', type=('build', 'run'))
+ depends_on("py-scikit-learn@0.15:0.22", when="@:0.5", type=("build", "run"))
+ depends_on("py-joblib@0.12:", when="@0.7:", type=("build", "run"))
+ depends_on("py-joblib@0.11:", when="@0.6:", type=("build", "run"))
+ depends_on("py-nibabel@2.5:", when="@0.8:", type=("build", "run"))
+ depends_on("py-nibabel@2.0.2:", type=("build", "run"))
+ depends_on("py-pandas@0.24.0:", when="@0.8:", type=("build", "run"))
+ depends_on("py-pandas@0.18.0:", when="@0.7:", type=("build", "run"))
+ depends_on("py-requests@2:", when="@0.7:", type=("build", "run"))
- depends_on('py-matplotlib@2.0:', when='@0.6: +plotting', type=('build', 'run'))
+ depends_on("py-matplotlib@2.0:", when="@0.6: +plotting", type=("build", "run"))
# older py-nilearn versions use matplotlib.cm.revcmap which was deprecated
# in py-matplotlib@3.4:
- depends_on('py-matplotlib@1.1.1:3.3', when='@:0.6 +plotting', type=('build', 'run'))
+ depends_on("py-matplotlib@1.1.1:3.3", when="@:0.6 +plotting", type=("build", "run"))
@property
def import_modules(self):
modules = [
- 'nilearn',
- 'nilearn.connectome',
- 'nilearn.datasets',
- 'nilearn.decoding',
- 'nilearn.decomposition',
- 'nilearn.image',
- 'nilearn.input_data',
- 'nilearn.masking',
- 'nilearn.mass_univariate',
- 'nilearn.regions',
- 'nilearn.signal',
- 'nilearn.surface',
+ "nilearn",
+ "nilearn.connectome",
+ "nilearn.datasets",
+ "nilearn.decoding",
+ "nilearn.decomposition",
+ "nilearn.image",
+ "nilearn.input_data",
+ "nilearn.masking",
+ "nilearn.mass_univariate",
+ "nilearn.regions",
+ "nilearn.signal",
+ "nilearn.surface",
]
- if self.spec.satisfies('@0.6:'):
- modules.append('nilearn.externals')
+ if self.spec.satisfies("@0.6:"):
+ modules.append("nilearn.externals")
- if self.spec.satisfies('@0.7:'):
- modules.append('nilearn.glm')
+ if self.spec.satisfies("@0.7:"):
+ modules.append("nilearn.glm")
- if '+plotting' in self.spec:
- modules.append('nilearn.plotting')
- if self.spec.satisfies('@0.7:'):
- modules.append('nilearn.reporting')
+ if "+plotting" in self.spec:
+ modules.append("nilearn.plotting")
+ if self.spec.satisfies("@0.7:"):
+ modules.append("nilearn.reporting")
return modules
diff --git a/var/spack/repos/builtin/packages/py-ninja/package.py b/var/spack/repos/builtin/packages/py-ninja/package.py
index 37897e140a..ddbe22eeb7 100644
--- a/var/spack/repos/builtin/packages/py-ninja/package.py
+++ b/var/spack/repos/builtin/packages/py-ninja/package.py
@@ -14,25 +14,22 @@ class PyNinja(PythonPackage):
homepage = "https://ninja-build.org"
pypi = "ninja/ninja-1.10.2.tar.gz"
- version('1.10.2', sha256='bb5e54b9a7343b3a8fc6532ae2c169af387a45b0d4dd5b72c2803e21658c5791')
+ version("1.10.2", sha256="bb5e54b9a7343b3a8fc6532ae2c169af387a45b0d4dd5b72c2803e21658c5791")
- depends_on('cmake@3.6:', type='build')
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-scikit-build', type='build')
- depends_on('ninja@1.10.2', type=('build', 'run'), when='@1.10.2')
+ depends_on("cmake@3.6:", type="build")
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-scikit-build", type="build")
+ depends_on("ninja@1.10.2", type=("build", "run"), when="@1.10.2")
def patch(self):
- os.unlink(join_path(self.stage.source_path, 'CMakeLists.txt'))
+ os.unlink(join_path(self.stage.source_path, "CMakeLists.txt"))
- @run_after('install')
+ @run_after("install")
def installit(self):
- syntax_file = os.path.join(self.spec['ninja'].prefix.misc,
- 'ninja_syntax.py')
- bin_file = os.path.join(self.spec['ninja'].prefix.bin,
- 'ninja')
- dst = os.path.join(python_platlib,
- 'ninja')
- dstbin = os.path.join(dst, 'data', 'bin')
+ syntax_file = os.path.join(self.spec["ninja"].prefix.misc, "ninja_syntax.py")
+ bin_file = os.path.join(self.spec["ninja"].prefix.bin, "ninja")
+ dst = os.path.join(python_platlib, "ninja")
+ dstbin = os.path.join(dst, "data", "bin")
mkdirp(dstbin)
- os.symlink(bin_file, os.path.join(dstbin, 'ninja'))
- os.symlink(syntax_file, os.path.join(dst, 'ninja_syntax.py'))
+ os.symlink(bin_file, os.path.join(dstbin, "ninja"))
+ os.symlink(syntax_file, os.path.join(dst, "ninja_syntax.py"))
diff --git a/var/spack/repos/builtin/packages/py-nipype/package.py b/var/spack/repos/builtin/packages/py-nipype/package.py
index c6e731742f..b283b2cfc5 100644
--- a/var/spack/repos/builtin/packages/py-nipype/package.py
+++ b/var/spack/repos/builtin/packages/py-nipype/package.py
@@ -10,33 +10,33 @@ class PyNipype(PythonPackage):
"""Neuroimaging in Python: Pipelines and Interfaces."""
homepage = "https://github.com/nipy/nipype"
- pypi = "nipype/nipype-1.6.0.tar.gz"
+ pypi = "nipype/nipype-1.6.0.tar.gz"
- version('1.7.0', sha256='e689fe2e5049598c9cd3708e8df1cac732fa1a88696f283e3bc0a70fecb8ab51')
- version('1.6.1', sha256='8428cfc633d8e3b8c5650e241e9eedcf637b7969bcd40f3423334d4c6b0992b5')
- version('1.6.0', sha256='bc56ce63f74c9a9a23c6edeaf77631377e8ad2bea928c898cc89527a47f101cf')
- version('1.4.2', sha256='069dcbb0217f13af6ee5a7f1e58424b9061290a3e10d7027d73bf44e26f820db')
+ version("1.7.0", sha256="e689fe2e5049598c9cd3708e8df1cac732fa1a88696f283e3bc0a70fecb8ab51")
+ version("1.6.1", sha256="8428cfc633d8e3b8c5650e241e9eedcf637b7969bcd40f3423334d4c6b0992b5")
+ version("1.6.0", sha256="bc56ce63f74c9a9a23c6edeaf77631377e8ad2bea928c898cc89527a47f101cf")
+ version("1.4.2", sha256="069dcbb0217f13af6ee5a7f1e58424b9061290a3e10d7027d73bf44e26f820db")
- depends_on('python@3.6:', when='@1.5:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@1.5:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-click@6.6:', type=('build', 'run'))
- depends_on('py-networkx@2:', when='@1.6:', type=('build', 'run'))
- depends_on('py-networkx@1.9:', type=('build', 'run'))
- depends_on('py-nibabel@2.1:', type=('build', 'run'))
- depends_on('py-numpy@1.15.3:', when='^python@3.7:', type=('build', 'run'))
- depends_on('py-numpy@1.13:', when='@1.5: ^python@:3.6', type=('build', 'run'))
- depends_on('py-numpy@1.12:', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-prov@1.5.2:', type=('build', 'run'))
- depends_on('py-pydot@1.2.3:', type=('build', 'run'))
- depends_on('py-pydotplus', when='@:1.5', type=('build', 'run'))
- depends_on('py-python-dateutil@2.2:', type=('build', 'run'))
- depends_on('py-rdflib@5:', when='@1.5:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-simplejson@3.8:', type=('build', 'run'))
- depends_on('py-traits@4.6:4,5.1:', type=('build', 'run'))
- depends_on('py-filelock@3:', type=('build', 'run'))
- depends_on('py-etelemetry@0.2:', when='@1.5:', type=('build', 'run'))
- depends_on('py-etelemetry', type=('build', 'run'))
+ depends_on("py-click@6.6:", type=("build", "run"))
+ depends_on("py-networkx@2:", when="@1.6:", type=("build", "run"))
+ depends_on("py-networkx@1.9:", type=("build", "run"))
+ depends_on("py-nibabel@2.1:", type=("build", "run"))
+ depends_on("py-numpy@1.15.3:", when="^python@3.7:", type=("build", "run"))
+ depends_on("py-numpy@1.13:", when="@1.5: ^python@:3.6", type=("build", "run"))
+ depends_on("py-numpy@1.12:", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-prov@1.5.2:", type=("build", "run"))
+ depends_on("py-pydot@1.2.3:", type=("build", "run"))
+ depends_on("py-pydotplus", when="@:1.5", type=("build", "run"))
+ depends_on("py-python-dateutil@2.2:", type=("build", "run"))
+ depends_on("py-rdflib@5:", when="@1.5:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-simplejson@3.8:", type=("build", "run"))
+ depends_on("py-traits@4.6:4,5.1:", type=("build", "run"))
+ depends_on("py-filelock@3:", type=("build", "run"))
+ depends_on("py-etelemetry@0.2:", when="@1.5:", type=("build", "run"))
+ depends_on("py-etelemetry", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nistats/package.py b/var/spack/repos/builtin/packages/py-nistats/package.py
index 84ceb2f3fe..1bb8b8e700 100644
--- a/var/spack/repos/builtin/packages/py-nistats/package.py
+++ b/var/spack/repos/builtin/packages/py-nistats/package.py
@@ -10,19 +10,19 @@ class PyNistats(PythonPackage):
"""Modeling and Statistical analysis of fMRI data in Python."""
homepage = "https://github.com/nilearn/nistats"
- pypi = "nistats/nistats-0.0.1rc0.tar.gz"
+ pypi = "nistats/nistats-0.0.1rc0.tar.gz"
- version('0.0.1rc0', sha256='dcc4c4e410f542fd72e02e12b3b6531851bae2680d08ad29658b272587ef2f98')
- version('0.0.1b2', sha256='a853149087bafbf1bed12664ed8889a63ff15dde1fb7a9d51e8a094afc8d695d')
+ version("0.0.1rc0", sha256="dcc4c4e410f542fd72e02e12b3b6531851bae2680d08ad29658b272587ef2f98")
+ version("0.0.1b2", sha256="a853149087bafbf1bed12664ed8889a63ff15dde1fb7a9d51e8a094afc8d695d")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.11:', type=('build', 'run'))
- depends_on('py-scipy@0.17:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.18:', type=('build', 'run'))
- depends_on('py-nibabel@2.0.2:', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.11:", type=("build", "run"))
+ depends_on("py-scipy@0.17:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18:", type=("build", "run"))
+ depends_on("py-nibabel@2.0.2:", type=("build", "run"))
# needs +plotting to avoid ModuleNotFoundError:
# 'nilearn.plotting.js_plotting_utils' when importing nistats.reporting
# Functionality has been incorporated into py-nilearn@0.7:
- depends_on('py-nilearn+plotting@0.4:0.6', type=('build', 'run'))
- depends_on('py-pandas@0.18:', type=('build', 'run'))
+ depends_on("py-nilearn+plotting@0.4:0.6", type=("build", "run"))
+ depends_on("py-pandas@0.18:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nitransforms/package.py b/var/spack/repos/builtin/packages/py-nitransforms/package.py
index 2e52332f38..9d7841f64e 100644
--- a/var/spack/repos/builtin/packages/py-nitransforms/package.py
+++ b/var/spack/repos/builtin/packages/py-nitransforms/package.py
@@ -10,17 +10,17 @@ class PyNitransforms(PythonPackage):
"""NiTransforms -- Neuroimaging spatial transforms in Python."""
homepage = "https://github.com/poldracklab/nitransforms"
- pypi = "nitransforms/nitransforms-21.0.0.tar.gz"
+ pypi = "nitransforms/nitransforms-21.0.0.tar.gz"
- version('21.0.0', sha256='9e326a1ea5d5c6577219f99d33c1a680a760213e243182f370ce7e6b2476103a')
- version('20.0.0rc5', sha256='650eb12155f01fae099298445cc33721b9935d9c880f54ec486ec4adf3bffe6e')
+ version("21.0.0", sha256="9e326a1ea5d5c6577219f99d33c1a680a760213e243182f370ce7e6b2476103a")
+ version("20.0.0rc5", sha256="650eb12155f01fae099298445cc33721b9935d9c880f54ec486ec4adf3bffe6e")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools@42.0:', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', type='build')
- depends_on('py-setuptools-scm-git-archive', type='build')
- depends_on('py-toml', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-nibabel@3.0:', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools@42.0:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", type="build")
+ depends_on("py-setuptools-scm-git-archive", type="build")
+ depends_on("py-toml", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-nibabel@3.0:", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-niworkflows/package.py b/var/spack/repos/builtin/packages/py-niworkflows/package.py
index 44e03fd75c..d5a92b259d 100644
--- a/var/spack/repos/builtin/packages/py-niworkflows/package.py
+++ b/var/spack/repos/builtin/packages/py-niworkflows/package.py
@@ -10,51 +10,51 @@ class PyNiworkflows(PythonPackage):
"""Common workflows for MRI (anatomical, functional, diffusion, etc)"""
homepage = "https://github.com/nipreps/niworkflows"
- pypi = "niworkflows/niworkflows-1.4.0.tar.gz"
-
- version('1.4.0', sha256='d4e59070fde0290e0bfeece120ff1d2ff1f9573e3f2e6a719fe463c913af25ec')
- version('1.3.5', sha256='92e24f3462fb3ad4d8ee724506fba05da2b3ca0626850dd2e637a553e17d69b8')
- version('1.0.4', sha256='34bfa5561e6f872dbd85bb30a1b44c5e1be525167abe3932aee8ac06d15f6ed9')
-
- variant('fsl', default=False, description="Enable fsl support.")
- variant('ants', default=False, description="Enable ants support.")
-
- depends_on('python@3.7:', when='@1.3.3:', type=('build', 'run'))
- depends_on('python@3.6:', when='@1.2:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@38.4.1:', when='@1.2.3:', type='build')
- depends_on('py-setuptools@30.4.0:', type='build')
- depends_on('py-attrs', when='@1.1.4:', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-matplotlib@2.2.0:', when='^python@3.6:', type=('build', 'run'))
- depends_on('py-matplotlib@2.2.0:3.1', when='^python@:3.5', type=('build', 'run'))
- depends_on('py-nibabel@3.0.1:', when='@1.1.6:', type=('build', 'run'))
- depends_on('py-nibabel@2.4.1:', type=('build', 'run'))
- depends_on('py-nilearn@0.2.6:0.4,0.5.2:', type=('build', 'run'))
- depends_on('py-nipype@1.5.1:', when='@1.3:', type=('build', 'run'))
- depends_on('py-nipype@1.3.1:', type=('build', 'run'))
- depends_on('py-nitransforms@20:20.1', when='@1.2:', type=('build', 'run'))
- depends_on('py-numpy', when='@1.3.3:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pybids@0.11.1:', when='@1.3:', type=('build', 'run'))
- depends_on('py-pybids@0.9.4:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-scikit-image', type=('build', 'run'))
- depends_on('py-scikit-learn', when='@:1.3', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
- depends_on('py-svgutils@0.3.4:', when='@1.4:', type=('build', 'run'))
- depends_on('py-svgutils@0.3.1', when='@1.3.5', type=('build', 'run'))
- depends_on('py-svgutils', type=('build', 'run'))
- depends_on('py-transforms3d', type=('build', 'run'))
- depends_on('py-templateflow@0.6:', when='@1.3:', type=('build', 'run'))
- depends_on('py-templateflow@0.4.1:0.4', when='@:1.0', type=('build', 'run'))
-
- with when('+fsl'):
- depends_on('fsl@5.0.9:', type=('build', 'run'))
- with when('+ants'):
- depends_on('ants@2.2:', type=('build', 'run'))
+ pypi = "niworkflows/niworkflows-1.4.0.tar.gz"
+
+ version("1.4.0", sha256="d4e59070fde0290e0bfeece120ff1d2ff1f9573e3f2e6a719fe463c913af25ec")
+ version("1.3.5", sha256="92e24f3462fb3ad4d8ee724506fba05da2b3ca0626850dd2e637a553e17d69b8")
+ version("1.0.4", sha256="34bfa5561e6f872dbd85bb30a1b44c5e1be525167abe3932aee8ac06d15f6ed9")
+
+ variant("fsl", default=False, description="Enable fsl support.")
+ variant("ants", default=False, description="Enable ants support.")
+
+ depends_on("python@3.7:", when="@1.3.3:", type=("build", "run"))
+ depends_on("python@3.6:", when="@1.2:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@38.4.1:", when="@1.2.3:", type="build")
+ depends_on("py-setuptools@30.4.0:", type="build")
+ depends_on("py-attrs", when="@1.1.4:", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.0:", when="^python@3.6:", type=("build", "run"))
+ depends_on("py-matplotlib@2.2.0:3.1", when="^python@:3.5", type=("build", "run"))
+ depends_on("py-nibabel@3.0.1:", when="@1.1.6:", type=("build", "run"))
+ depends_on("py-nibabel@2.4.1:", type=("build", "run"))
+ depends_on("py-nilearn@0.2.6:0.4,0.5.2:", type=("build", "run"))
+ depends_on("py-nipype@1.5.1:", when="@1.3:", type=("build", "run"))
+ depends_on("py-nipype@1.3.1:", type=("build", "run"))
+ depends_on("py-nitransforms@20:20.1", when="@1.2:", type=("build", "run"))
+ depends_on("py-numpy", when="@1.3.3:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pybids@0.11.1:", when="@1.3:", type=("build", "run"))
+ depends_on("py-pybids@0.9.4:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-scikit-image", type=("build", "run"))
+ depends_on("py-scikit-learn", when="@:1.3", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
+ depends_on("py-svgutils@0.3.4:", when="@1.4:", type=("build", "run"))
+ depends_on("py-svgutils@0.3.1", when="@1.3.5", type=("build", "run"))
+ depends_on("py-svgutils", type=("build", "run"))
+ depends_on("py-transforms3d", type=("build", "run"))
+ depends_on("py-templateflow@0.6:", when="@1.3:", type=("build", "run"))
+ depends_on("py-templateflow@0.4.1:0.4", when="@:1.0", type=("build", "run"))
+
+ with when("+fsl"):
+ depends_on("fsl@5.0.9:", type=("build", "run"))
+ with when("+ants"):
+ depends_on("ants@2.2:", type=("build", "run"))
# dependencies that are not yet in spack
# depends_on('afni@Debian-16.2.07:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-nltk/package.py b/var/spack/repos/builtin/packages/py-nltk/package.py
index 65fa9eae6c..dbc06de41d 100644
--- a/var/spack/repos/builtin/packages/py-nltk/package.py
+++ b/var/spack/repos/builtin/packages/py-nltk/package.py
@@ -14,668 +14,882 @@ class PyNltk(PythonPackage):
homepage = "https://www.nltk.org/"
pypi = "nltk/nltk-3.5.zip"
- version('3.5', sha256='845365449cd8c5f9731f7cb9f8bd6fd0767553b9d53af9eb1b3abf7700936b35')
+ version("3.5", sha256="845365449cd8c5f9731f7cb9f8bd6fd0767553b9d53af9eb1b3abf7700936b35")
- variant('data', default=False, description='Download the NLTK data')
+ variant("data", default=False, description="Download the NLTK data")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
- resource(name='perluniprops',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/misc/perluniprops.zip',
- when='+data',
- sha256='57d54f591c4ed299b3cdf348eecf774ab2858f19e66955352d94ae555e2050ef',
- destination='nltk_data/misc',
- placement='perluniprops')
- resource(name='mwa_ppdb',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/misc/mwa_ppdb.zip',
- when='+data',
- sha256='65f70300d720a280eb19899b222c94a630be5e378f01a658cc0a4bb50fa50b41',
- destination='nltk_data/misc',
- placement='mwa_ppdb')
- resource(name='punkt',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip',
- when='+data',
- sha256='9a74e3cc0057021b12984c07cc5e46cb746385cf90f49b7d6fe806fb71610144',
- destination='nltk_data/tokenizers',
- placement='punkt')
- resource(name='rslp',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/rslp.zip',
- when='+data',
- sha256='f482f9666a2a76cdd4acab16b01a44b002550ebaac29906dbd5a1bbc281e4f8b',
- destination='nltk_data/stemmers',
- placement='rslp')
- resource(name='porter_test',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/porter_test.zip',
- when='+data',
- sha256='7760e1ae3a7a975d0b67f8afd9a0a53a29f94da73508b525d1b6e08205924669',
- destination='nltk_data/stemmers',
- placement='porter_test')
- resource(name='snowball_data',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/snowball_data.zip',
- when='+data',
- sha256='e8a05c19890f8651df2b958b0f6e318d4476b8a500e26ed63f89077aed0585a2',
- destination='nltk_data/stemmers',
- placement='snowball_data')
- resource(name='maxent_ne_chunker',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/chunkers/maxent_ne_chunker.zip',
- when='+data',
- sha256='b7cdb936c551c06ef2cdc6227238c5ccc9c8c5259a11f99f4a937419d52af61b',
- destination='nltk_data/chunkers',
- placement='maxent_ne_chunker')
- resource(name='moses_sample',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/moses_sample.zip',
- when='+data',
- sha256='0639dfa1d1939295d29c3d57478b1eb7767405dc916effe2cf6a90071943f7e8',
- destination='nltk_data/models',
- placement='moses_sample')
- resource(name='bllip_wsj_no_aux',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/bllip_wsj_no_aux.zip',
- when='+data',
- sha256='e00339b708f23c24b5cf67ff3db5711dd4d80b21083f52787cf167bf77ac2126',
- destination='nltk_data/models',
- placement='bllip_wsj_no_aux')
- resource(name='word2vec_sample',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/word2vec_sample.zip',
- when='+data',
- sha256='d29ff84a6ceca407f8578648568c55894dac34641ceb1fa02f920264fe326b43',
- destination='nltk_data/models',
- placement='word2vec_sample')
- resource(name='wmt15_eval',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/wmt15_eval.zip',
- when='+data',
- sha256='56ea67e320f75be1abdee60b9d57aef1bd50324edd176e11c3c40f451043c80e',
- destination='nltk_data/models',
- placement='wmt15_eval')
- resource(name='spanish_grammars',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/spanish_grammars.zip',
- when='+data',
- sha256='4207035d8795d37000c06391d97b068ae470a43db697d96473018f392552b742',
- destination='nltk_data/grammars',
- placement='spanish_grammars')
- resource(name='sample_grammars',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/sample_grammars.zip',
- when='+data',
- sha256='8c3e4fecdc47ef1d262401eda08bde995cf4ed912a7934a32905263485240872',
- destination='nltk_data/grammars',
- placement='sample_grammars')
- resource(name='large_grammars',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/large_grammars.zip',
- when='+data',
- sha256='5a81e5278757fafe6e8f19b16f6e4363783635ee332c5c238a30e190f735da59',
- destination='nltk_data/grammars',
- placement='large_grammars')
- resource(name='book_grammars',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/book_grammars.zip',
- when='+data',
- sha256='cc63b32d680888c04b3c332218d645a9f9db8571ffe7229808391c889796ffbd',
- destination='nltk_data/grammars',
- placement='book_grammars')
- resource(name='basque_grammars',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/basque_grammars.zip',
- when='+data',
- sha256='40ec8a0e92079f32a6900189e8551909506e727b19652f28641fcd825a374ec7',
- destination='nltk_data/grammars',
- placement='basque_grammars')
- resource(name='maxent_treebank_pos_tagger',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/maxent_treebank_pos_tagger.zip',
- when='+data',
- sha256='6ba605d803ad5e9aeb604dc9c82573afd44e9c9ad1f228788eb05ddd88ef0b24',
- destination='nltk_data/taggers',
- placement='maxent_treebank_pos_tagger')
- resource(name='averaged_perceptron_tagger',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/averaged_perceptron_tagger.zip',
- when='+data',
- sha256='e1f13cf2532daadfd6f3bc481a49859f0b8ea6432ccdcd83e6a49a5f19008de9',
- destination='nltk_data/taggers',
- placement='averaged_perceptron_tagger')
- resource(name='averaged_perceptron_tagger_ru',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/averaged_perceptron_tagger_ru.zip',
- when='+data',
- sha256='82a4ec6fd815dcee0fe6e150aed8fefa0ae501eba6e62b94fafbfc089af8954b',
- destination='nltk_data/taggers',
- placement='averaged_perceptron_tagger_ru')
- resource(name='universal_tagset',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/universal_tagset.zip',
- when='+data',
- sha256='fb3b295a7b636d3f50e2bd3f9bd4c84eb99eaf36ff475ea406bdecd247f8f962',
- destination='nltk_data/taggers',
- placement='universal_tagset')
- resource(name='vader_lexicon',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/sentiment/vader_lexicon.zip',
- when='+data',
- sha256='8adba4294eef3964d820bf655e37e61bdc3a341994356af59b74fb3b4a36ce5c',
- destination='nltk_data/sentiment',
- placement='vader_lexicon')
- resource(name='lin_thesaurus',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/lin_thesaurus.zip',
- when='+data',
- sha256='04ebd29f0ad826700241b608f739bb8b9098c8de998f4a903535de5c3240c0a9',
- destination='nltk_data/corpora',
- placement='lin_thesaurus')
- resource(name='movie_reviews',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/movie_reviews.zip',
- when='+data',
- sha256='a41211ae685019137410268134db6a1a14428c89b671eb83056151a878539008',
- destination='nltk_data/corpora',
- placement='movie_reviews')
- resource(name='problem_reports',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/problem_reports.zip',
- when='+data',
- sha256='f9e691dcf5eed49827d892b1fc9eb6d73ca2cfa3d5c555fed316990ea6d15c8a',
- destination='nltk_data/corpora',
- placement='problem_reports')
- resource(name='pros_cons',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pros_cons.zip',
- when='+data',
- sha256='b5bca541ba5b2e614cde2213ddcca027416f6997067c90e45c173bf55c6fade8',
- destination='nltk_data/corpora',
- placement='pros_cons')
- resource(name='masc_tagged',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/masc_tagged.zip',
- when='+data',
- sha256='678a5141cf3381bedb1839c58a330507337be07c7c71603279c0ef5337032304',
- destination='nltk_data/corpora',
- placement='masc_tagged')
- resource(name='sentence_polarity',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sentence_polarity.zip',
- when='+data',
- sha256='6e1ed4405b65c7eabf1d199a7f7c437091ac21da0ea7467b410a74062574566b',
- destination='nltk_data/corpora',
- placement='sentence_polarity')
- resource(name='webtext',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/webtext.zip',
- when='+data',
- sha256='9e32dbae4879464b8f420a0dc721855bb26167b720d7695588d2ca2aeadf501a',
- destination='nltk_data/corpora',
- placement='webtext')
- resource(name='nps_chat',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nps_chat.zip',
- when='+data',
- sha256='a4433d5da5e62fdbede49efa572a53a0139fff1014ffbe86cb263e17cbb4a837',
- destination='nltk_data/corpora',
- placement='nps_chat')
- resource(name='city_database',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/city_database.zip',
- when='+data',
- sha256='df142032cac15d388171d018531ba9038fd48293567901ad56b378a40e1f8dfe',
- destination='nltk_data/corpora',
- placement='city_database')
- resource(name='europarl_raw',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/europarl_raw.zip',
- when='+data',
- sha256='ad553e177baac263840c10980e6f3e76d5d15f7f7a078bd98520b36edb69b27c',
- destination='nltk_data/corpora',
- placement='europarl_raw')
- resource(name='biocreative_ppi',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/biocreative_ppi.zip',
- when='+data',
- sha256='d30fe4ac6e2b71a15376401de7cd5bde1252deb28d3d45920ab740281e78e74b',
- destination='nltk_data/corpora',
- placement='biocreative_ppi')
- resource(name='verbnet3',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/verbnet3.zip',
- when='+data',
- sha256='fa0136a7699c52f0bd532dc5adc0914745aa4369a52ae1465cb11841060ec1de',
- destination='nltk_data/corpora',
- placement='verbnet3')
- resource(name='pe08',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pe08.zip',
- when='+data',
- sha256='3a4aa7d07cf89afbc8894b9d2f68239ad8452d4e815ad4b3f5824f13425227dd',
- destination='nltk_data/corpora',
- placement='pe08')
- resource(name='pil',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pil.zip',
- when='+data',
- sha256='0538ee1d94de616004fd2434cf03840dffab5507cf8b56725b6ef82b572deb76',
- destination='nltk_data/corpora',
- placement='pil')
- resource(name='crubadan',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/crubadan.zip',
- when='+data',
- sha256='8d64c8ff52f47a44381cad0795cf7fe3f8ff7907a1f92c09aadef8e163efdbc7',
- destination='nltk_data/corpora',
- placement='crubadan')
- resource(name='gutenberg',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/gutenberg.zip',
- when='+data',
- sha256='2d3c3ab548c653944310f37f536443ec85d0a0ad855fcae217a0c9efdce2d611',
- destination='nltk_data/corpora',
- placement='gutenberg')
- resource(name='propbank',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/propbank.zip',
- when='+data',
- sha256='320eee3cd06a15b5daac578d494ae109dc2414d9ea941bf9cc514796b6b1547a',
- destination='nltk_data/corpora',
- placement='propbank')
- resource(name='machado',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/machado.zip',
- when='+data',
- sha256='772463b1553c1b0ff1fc0360768b31f59b488f7a52d44cc92c3e31ca289acce9',
- destination='nltk_data/corpora',
- placement='machado')
- resource(name='state_union',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/state_union.zip',
- when='+data',
- sha256='366c1dc82b2abf896f42b2ec50ba802a0141a29f75d29ca48a7a243ce5bfbe8d',
- destination='nltk_data/corpora',
- placement='state_union')
- resource(name='twitter_samples',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/twitter_samples.zip',
- when='+data',
- sha256='aac71c20e1e05003b7812321936c5635dfede61902aca2b94419a1124979c6dd',
- destination='nltk_data/corpora',
- placement='twitter_samples')
- resource(name='semcor',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/semcor.zip',
- when='+data',
- sha256='126fa2e829ab63edd5b3fd9de45ef1d60d6880e01e25abc55b5ac7918a824655',
- destination='nltk_data/corpora',
- placement='semcor')
- resource(name='names',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/names.zip',
- when='+data',
- sha256='0eec7e958b34982662b8f05824ae64642dea097b08057ade65c252191c5fe7ca',
- destination='nltk_data/corpora',
- placement='names')
- resource(name='ptb',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ptb.zip',
- when='+data',
- sha256='f73b6a584bc7907cdd694d0661655a2e76a82ca74dc9bdae757236918d416bf7',
- destination='nltk_data/corpora',
- placement='ptb')
- resource(name='nombank.1.0',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nombank.1.0.zip',
- when='+data',
- sha256='eb7c4228bdaf6d528630db60f818e53dd69d4ef7a5722f7066a920c0c7d90c76',
- destination='nltk_data/corpora',
- placement='nombank.1.0')
- resource(name='floresta',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/floresta.zip',
- when='+data',
- sha256='7675017f8b36cb85013b7a4171659fb55c427110e1e2fd4bcd92c4c771a14bfd',
- destination='nltk_data/corpora',
- placement='floresta')
- resource(name='comtrans',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/comtrans.zip',
- when='+data',
- sha256='95a334f6bd910d2271d159bf53c5ce08516be3fa1cceb32521232c21dd2131f9',
- destination='nltk_data/corpora',
- placement='comtrans')
- resource(name='knbc',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/knbc.zip',
- when='+data',
- sha256='88a7822a33d16418e88b2f95084396496953a1c1087bf3e233d3e1fec3f935e8',
- destination='nltk_data/corpora',
- placement='knbc')
- resource(name='mac_morpho',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/mac_morpho.zip',
- when='+data',
- sha256='1c6138beba28b9c71edfd4b54991c5e1cf36a4d6b0ad8c66f8aa27c57b07547b',
- destination='nltk_data/corpora',
- placement='mac_morpho')
- resource(name='swadesh',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/swadesh.zip',
- when='+data',
- sha256='0b69919501a098f25d2abad9edb84689e1ed44915ca1c65c7832d2bf9d1de3b9',
- destination='nltk_data/corpora',
- placement='swadesh')
- resource(name='rte',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/rte.zip',
- when='+data',
- sha256='2f806ead4d53171601254747c3b7c97d758e63a6ef54e3c010a6d62885ab214a',
- destination='nltk_data/corpora',
- placement='rte')
- resource(name='toolbox',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/toolbox.zip',
- when='+data',
- sha256='f57d06b30360c5f52cc05c29e75b083eb23981416cce718206c80da0e931592e',
- destination='nltk_data/corpora',
- placement='toolbox')
- resource(name='jeita',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/jeita.zip',
- when='+data',
- sha256='4415bd6365628be5eeb80fe7aefe2b9161ef6cfc4d604d101feec6b59aedcbfd',
- destination='nltk_data/corpora',
- placement='jeita')
- resource(name='product_reviews_1',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/product_reviews_1.zip',
- when='+data',
- sha256='627bfb0bb7c87586246d99b4402c3d7e4fb77ac14559d8695c283bd6850615ac',
- destination='nltk_data/corpora',
- placement='product_reviews_1')
- resource(name='omw',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/omw.zip',
- when='+data',
- sha256='e2cd473805b480b5448ae3f2c3e824978f2528dc1a95a14fe3072777a2f12519',
- destination='nltk_data/corpora',
- placement='omw')
- resource(name='sentiwordnet',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sentiwordnet.zip',
- when='+data',
- sha256='b66876a17aaeb4c7c7c8d2f5bb2cf91fde16e1b76e2421e5480fedd17ad248c1',
- destination='nltk_data/corpora',
- placement='sentiwordnet')
- resource(name='product_reviews_2',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/product_reviews_2.zip',
- when='+data',
- sha256='272b08fe130882e5867aa7ecc69a65616099183c4ccc10374a62c271801b0bc1',
- destination='nltk_data/corpora',
- placement='product_reviews_2')
- resource(name='abc',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/abc.zip',
- when='+data',
- sha256='129bb6001beb828049a90a59b7dd3c2f0594a47012e48fc5177dfae38e658565',
- destination='nltk_data/corpora',
- placement='abc')
- resource(name='udhr2',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/udhr2.zip',
- when='+data',
- sha256='0796c314b09a930c989c6f9d93d226af9af13feccd88496e196c743dd266c7f3',
- destination='nltk_data/corpora',
- placement='udhr2')
- resource(name='senseval',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/senseval.zip',
- when='+data',
- sha256='fbcb658b562969e47a19a45e04c452d874755d157db936d815ca391ca88bfdea',
- destination='nltk_data/corpora',
- placement='senseval')
- resource(name='words',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/words.zip',
- when='+data',
- sha256='54ed02917d6771dcc3e8141218960d020947f7f2ccfd9ac9b320979349746015',
- destination='nltk_data/corpora',
- placement='words')
- resource(name='framenet_v15',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/framenet_v15.zip',
- when='+data',
- sha256='ea723e8575f1d7eeb0b39e7cd14a4d608f24adec4496800bfea3bdff82ffdcc8',
- destination='nltk_data/corpora',
- placement='framenet_v15')
- resource(name='unicode_samples',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/unicode_samples.zip',
- when='+data',
- sha256='9f8e483e02aa29319648c794942ccd4b13c1029322907138b6fa662315e2d845',
- destination='nltk_data/corpora',
- placement='unicode_samples')
- resource(name='kimmo',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/kimmo.zip',
- when='+data',
- sha256='5be9a891a08ac48914cccf8f98f3469c1e76e8d3aae16243220839e8c3fe16f4',
- destination='nltk_data/corpora',
- placement='kimmo')
- resource(name='framenet_v17',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/framenet_v17.zip',
- when='+data',
- sha256='22f6aad6fb799ba4dbed0440714e1118442ad7d7345351de37428581284f471c',
- destination='nltk_data/corpora',
- placement='framenet_v17')
- resource(name='chat80',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/chat80.zip',
- when='+data',
- sha256='6147451ba5bef268044e3fba446b5988da757fc2ed18d951d38d4eec864c66c0',
- destination='nltk_data/corpora',
- placement='chat80')
- resource(name='qc',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/qc.zip',
- when='+data',
- sha256='091fb01e50883014d150acb7d5013d787136968b3f955ae01725a65e7e80f304',
- destination='nltk_data/corpora',
- placement='qc')
- resource(name='inaugural',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/inaugural.zip',
- when='+data',
- sha256='a6c099af7f5b5ad2a03f1e4ea3f5ff7699779b9d4327152110af462da210bd1f',
- destination='nltk_data/corpora',
- placement='inaugural')
- resource(name='wordnet',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/wordnet.zip',
- when='+data',
- sha256='cbda5ea6eef7f36a97a43d4a75f85e07fccbb4f23657d27b4ccbc93e2646ab59',
- destination='nltk_data/corpora',
- placement='wordnet')
- resource(name='stopwords',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/stopwords.zip',
- when='+data',
- sha256='3fc8d3d4c6e3d5ba6e23a66920dd3fde611cc3edf6e1fd80159a7965f47bea09',
- destination='nltk_data/corpora',
- placement='stopwords')
- resource(name='verbnet',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/verbnet.zip',
- when='+data',
- sha256='6bc3620a6dc1c50aec46a97e5ddb51e64c015b9f7d37246805c5f8acfd6d172d',
- destination='nltk_data/corpora',
- placement='verbnet')
- resource(name='shakespeare',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/shakespeare.zip',
- when='+data',
- sha256='f1251d8c254710363254ba29c9dc0888d5cb13d5ac736ebc6fb14380f447cfc3',
- destination='nltk_data/corpora',
- placement='shakespeare')
- resource(name='ycoe',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ycoe.zip',
- when='+data',
- sha256='e402fa937d6a0b4603495e79f91af02c3f192977e6f15cc5ed5962b5d3673d9a',
- destination='nltk_data/corpora',
- placement='ycoe')
- resource(name='ieer',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ieer.zip',
- when='+data',
- sha256='1f63b08ed212c1d52545307838d183c79e02fd09cc8c5a48542f82c61c078b5d',
- destination='nltk_data/corpora',
- placement='ieer')
- resource(name='cess_cat',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cess_cat.zip',
- when='+data',
- sha256='c5b42b363365bfaa9a0616e448eb50da9668d2f5b6d1ff9d12b5c28ae09543cb',
- destination='nltk_data/corpora',
- placement='cess_cat')
- resource(name='switchboard',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/switchboard.zip',
- when='+data',
- sha256='6a1a22b659e2fe616129addab0e7967335e67c7dae6a6e63be10778dd0455d06',
- destination='nltk_data/corpora',
- placement='switchboard')
- resource(name='comparative_sentences',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/comparative_sentences.zip',
- when='+data',
- sha256='d076e1bab25c7c2a39e8850aefbb64a2188ebc5033bf21aeb656f4fab15f7f8b',
- destination='nltk_data/corpora',
- placement='comparative_sentences')
- resource(name='subjectivity',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/subjectivity.zip',
- when='+data',
- sha256='741f3371e1a4375051b874fd82fd55857b90975473c91c19a3101cbe17fc4d8c',
- destination='nltk_data/corpora',
- placement='subjectivity')
- resource(name='udhr',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/udhr.zip',
- when='+data',
- sha256='97e4c9dfa4a402f243d60b03d511afb04cf63f92f9ad1be9108b511448c329fa',
- destination='nltk_data/corpora',
- placement='udhr')
- resource(name='pl196x',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pl196x.zip',
- when='+data',
- sha256='494a7ee616e13b0f798793a9af8da8445b3b83bc4aa3c6bb239967e6ce3cbbeb',
- destination='nltk_data/corpora',
- placement='pl196x')
- resource(name='paradigms',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/paradigms.zip',
- when='+data',
- sha256='5875c44cd547b6a8fdde48f8f798fe45bcad7cb232a93ee5fae17fed130c9870',
- destination='nltk_data/corpora',
- placement='paradigms')
- resource(name='gazetteers',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/gazetteers.zip',
- when='+data',
- sha256='3e4df6d5a03a3e4e109e488366e96e98d84f085b98d70f3dc11ecd6ce6ca48ab',
- destination='nltk_data/corpora',
- placement='gazetteers')
- resource(name='timit',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/timit.zip',
- when='+data',
- sha256='666c6650fb054001e2e1d9aa9b1889fc46629a0081ced7049686c2a598326668',
- destination='nltk_data/corpora',
- placement='timit')
- resource(name='treebank',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/treebank.zip',
- when='+data',
- sha256='9da92d76c3666cfb6cddeaed0f7e86b344cce0f0928a286d439e555f19c37399',
- destination='nltk_data/corpora',
- placement='treebank')
- resource(name='sinica_treebank',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sinica_treebank.zip',
- when='+data',
- sha256='5506ddf646d5c3fb0a5fffdb53330ec8465f6468499f08d86f77d2df01d5b35e',
- destination='nltk_data/corpora',
- placement='sinica_treebank')
- resource(name='opinion_lexicon',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/opinion_lexicon.zip',
- when='+data',
- sha256='7a5da68d53016c5d1fca38f7dd81844cff73466371f90968d1ef15c85b873193',
- destination='nltk_data/corpora',
- placement='opinion_lexicon')
- resource(name='ppattach',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ppattach.zip',
- when='+data',
- sha256='ff27399cb353bc6a48ec7ed90f31e6f4c94f270662482b7db07ca0923adb5468',
- destination='nltk_data/corpora',
- placement='ppattach')
- resource(name='dependency_treebank',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/dependency_treebank.zip',
- when='+data',
- sha256='0df483999f1391f32b141d6047d8ce19efd0a5a3e63ca019bfc4af8530f51fbd',
- destination='nltk_data/corpora',
- placement='dependency_treebank')
- resource(name='reuters',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/reuters.zip',
- when='+data',
- sha256='9a59a43823f02a6e2777075c989a3dc454e4b6f68e0332ee3c0e8264075b62f5',
- destination='nltk_data/corpora',
- placement='reuters')
- resource(name='genesis',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/genesis.zip',
- when='+data',
- sha256='0cac241f88d7999f81a45e26b1764b2d1f3b4d21654aa954e0d5349eb4784cd0',
- destination='nltk_data/corpora',
- placement='genesis')
- resource(name='cess_esp',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cess_esp.zip',
- when='+data',
- sha256='ae5b12898039e51911ae16d25c4822cb92adcfc034a2e12b57676d21d3c94884',
- destination='nltk_data/corpora',
- placement='cess_esp')
- resource(name='conll2007',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2007.zip',
- when='+data',
- sha256='b1e2865b31cdbc016a437c29dc3e190042ef2e237b21ba2a69082b7dc1c007ca',
- destination='nltk_data/corpora',
- placement='conll2007')
- resource(name='nonbreaking_prefixes',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nonbreaking_prefixes.zip',
- when='+data',
- sha256='62dd9fe11b21d201ca26cf2351595512965d5fe064f9d6ce1873c6231b46d869',
- destination='nltk_data/corpora',
- placement='nonbreaking_prefixes')
- resource(name='dolch',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/dolch.zip',
- when='+data',
- sha256='e4a58e0f13809ac86bc819e245aeb60981ea4edcac7025509af99fa6b67305cd',
- destination='nltk_data/corpora',
- placement='dolch')
- resource(name='smultron',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/smultron.zip',
- when='+data',
- sha256='6748fb331f7b06dd529617590277414a8d3b65291f68367d8b04615cf621702c',
- destination='nltk_data/corpora',
- placement='smultron')
- resource(name='alpino',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/alpino.zip',
- when='+data',
- sha256='2e4551748dc81707b01d5adabb62c308ae5cb70fc526936310502431a1db96ef',
- destination='nltk_data/corpora',
- placement='alpino')
- resource(name='wordnet_ic',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/wordnet_ic.zip',
- when='+data',
- sha256='a931b34bb9013ac3c1291f64c812fd039802995a2b1246b8f7525e82080110e3',
- destination='nltk_data/corpora',
- placement='wordnet_ic')
- resource(name='brown',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown.zip',
- when='+data',
- sha256='9b275f9b3b95d7bd66ccfb7cd259f445a13bbe5d1f4107aba09fd3e8364bafa6',
- destination='nltk_data/corpora',
- placement='brown')
- resource(name='panlex_swadesh',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/panlex_swadesh.zip',
- when='+data',
- sha256='dc028da016ba7d5f9bcc39263b0c3dc27bd56025672b18ccaec4578833fe4dff',
- destination='nltk_data/corpora',
- placement='panlex_swadesh')
- resource(name='conll2000',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2000.zip',
- when='+data',
- sha256='01e65164f268366e7caa0db92332a1955d081908c87016e2c7640c3c5279b7cd',
- destination='nltk_data/corpora',
- placement='conll2000')
- resource(name='universal_treebanks_v20',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/universal_treebanks_v20.zip',
- when='+data',
- sha256='7132fdee74f85cb908558ffa3a6dac5c1f3762d4095a316990eb19a647421d8a',
- destination='nltk_data/corpora',
- placement='universal_treebanks_v20')
- resource(name='brown_tei',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown_tei.zip',
- when='+data',
- sha256='335bec1ea6362751d5d5c46970137ebb01c80bf7d7d75558787729d275e0a687',
- destination='nltk_data/corpora',
- placement='brown_tei')
- resource(name='cmudict',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cmudict.zip',
- when='+data',
- sha256='d07cca47fd72ad32ea9d8ad1219f85301eeaf4568f8b6b73747506a71fb5afd6',
- destination='nltk_data/corpora',
- placement='cmudict')
- resource(name='mte_teip5',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/mte_teip5.zip',
- when='+data',
- sha256='2847497d2f8c42c510e82e7cde37537a2a1da7d6e458d879fb22f73f4eef6059',
- destination='nltk_data/corpora',
- placement='mte_teip5')
- resource(name='indian',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/indian.zip',
- when='+data',
- sha256='6f5aff392fc953769b6ccb994bd70e33ec6f0226e93979470255fa97abf692f9',
- destination='nltk_data/corpora',
- placement='indian')
- resource(name='conll2002',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2002.zip',
- when='+data',
- sha256='64440e49236d0d393e08e0b266284966d68e2d2a82a50cc41b8e96d98c03b5c8',
- destination='nltk_data/corpora',
- placement='conll2002')
- resource(name='tagsets',
- url='https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/help/tagsets.zip',
- when='+data',
- sha256='e44c8ffd7e8759064573e8d4ae837dbb4b15ec68b2ca02cdf6a513dab8b12ca4',
- destination='nltk_data/help',
- placement='tagsets')
+ resource(
+ name="perluniprops",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/misc/perluniprops.zip",
+ when="+data",
+ sha256="57d54f591c4ed299b3cdf348eecf774ab2858f19e66955352d94ae555e2050ef",
+ destination="nltk_data/misc",
+ placement="perluniprops",
+ )
+ resource(
+ name="mwa_ppdb",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/misc/mwa_ppdb.zip",
+ when="+data",
+ sha256="65f70300d720a280eb19899b222c94a630be5e378f01a658cc0a4bb50fa50b41",
+ destination="nltk_data/misc",
+ placement="mwa_ppdb",
+ )
+ resource(
+ name="punkt",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip",
+ when="+data",
+ sha256="9a74e3cc0057021b12984c07cc5e46cb746385cf90f49b7d6fe806fb71610144",
+ destination="nltk_data/tokenizers",
+ placement="punkt",
+ )
+ resource(
+ name="rslp",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/rslp.zip",
+ when="+data",
+ sha256="f482f9666a2a76cdd4acab16b01a44b002550ebaac29906dbd5a1bbc281e4f8b",
+ destination="nltk_data/stemmers",
+ placement="rslp",
+ )
+ resource(
+ name="porter_test",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/porter_test.zip",
+ when="+data",
+ sha256="7760e1ae3a7a975d0b67f8afd9a0a53a29f94da73508b525d1b6e08205924669",
+ destination="nltk_data/stemmers",
+ placement="porter_test",
+ )
+ resource(
+ name="snowball_data",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/stemmers/snowball_data.zip",
+ when="+data",
+ sha256="e8a05c19890f8651df2b958b0f6e318d4476b8a500e26ed63f89077aed0585a2",
+ destination="nltk_data/stemmers",
+ placement="snowball_data",
+ )
+ resource(
+ name="maxent_ne_chunker",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/chunkers/maxent_ne_chunker.zip",
+ when="+data",
+ sha256="b7cdb936c551c06ef2cdc6227238c5ccc9c8c5259a11f99f4a937419d52af61b",
+ destination="nltk_data/chunkers",
+ placement="maxent_ne_chunker",
+ )
+ resource(
+ name="moses_sample",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/moses_sample.zip",
+ when="+data",
+ sha256="0639dfa1d1939295d29c3d57478b1eb7767405dc916effe2cf6a90071943f7e8",
+ destination="nltk_data/models",
+ placement="moses_sample",
+ )
+ resource(
+ name="bllip_wsj_no_aux",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/bllip_wsj_no_aux.zip",
+ when="+data",
+ sha256="e00339b708f23c24b5cf67ff3db5711dd4d80b21083f52787cf167bf77ac2126",
+ destination="nltk_data/models",
+ placement="bllip_wsj_no_aux",
+ )
+ resource(
+ name="word2vec_sample",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/word2vec_sample.zip",
+ when="+data",
+ sha256="d29ff84a6ceca407f8578648568c55894dac34641ceb1fa02f920264fe326b43",
+ destination="nltk_data/models",
+ placement="word2vec_sample",
+ )
+ resource(
+ name="wmt15_eval",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/models/wmt15_eval.zip",
+ when="+data",
+ sha256="56ea67e320f75be1abdee60b9d57aef1bd50324edd176e11c3c40f451043c80e",
+ destination="nltk_data/models",
+ placement="wmt15_eval",
+ )
+ resource(
+ name="spanish_grammars",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/spanish_grammars.zip",
+ when="+data",
+ sha256="4207035d8795d37000c06391d97b068ae470a43db697d96473018f392552b742",
+ destination="nltk_data/grammars",
+ placement="spanish_grammars",
+ )
+ resource(
+ name="sample_grammars",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/sample_grammars.zip",
+ when="+data",
+ sha256="8c3e4fecdc47ef1d262401eda08bde995cf4ed912a7934a32905263485240872",
+ destination="nltk_data/grammars",
+ placement="sample_grammars",
+ )
+ resource(
+ name="large_grammars",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/large_grammars.zip",
+ when="+data",
+ sha256="5a81e5278757fafe6e8f19b16f6e4363783635ee332c5c238a30e190f735da59",
+ destination="nltk_data/grammars",
+ placement="large_grammars",
+ )
+ resource(
+ name="book_grammars",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/book_grammars.zip",
+ when="+data",
+ sha256="cc63b32d680888c04b3c332218d645a9f9db8571ffe7229808391c889796ffbd",
+ destination="nltk_data/grammars",
+ placement="book_grammars",
+ )
+ resource(
+ name="basque_grammars",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/grammars/basque_grammars.zip",
+ when="+data",
+ sha256="40ec8a0e92079f32a6900189e8551909506e727b19652f28641fcd825a374ec7",
+ destination="nltk_data/grammars",
+ placement="basque_grammars",
+ )
+ resource(
+ name="maxent_treebank_pos_tagger",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/maxent_treebank_pos_tagger.zip",
+ when="+data",
+ sha256="6ba605d803ad5e9aeb604dc9c82573afd44e9c9ad1f228788eb05ddd88ef0b24",
+ destination="nltk_data/taggers",
+ placement="maxent_treebank_pos_tagger",
+ )
+ resource(
+ name="averaged_perceptron_tagger",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/averaged_perceptron_tagger.zip",
+ when="+data",
+ sha256="e1f13cf2532daadfd6f3bc481a49859f0b8ea6432ccdcd83e6a49a5f19008de9",
+ destination="nltk_data/taggers",
+ placement="averaged_perceptron_tagger",
+ )
+ resource(
+ name="averaged_perceptron_tagger_ru",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/averaged_perceptron_tagger_ru.zip",
+ when="+data",
+ sha256="82a4ec6fd815dcee0fe6e150aed8fefa0ae501eba6e62b94fafbfc089af8954b",
+ destination="nltk_data/taggers",
+ placement="averaged_perceptron_tagger_ru",
+ )
+ resource(
+ name="universal_tagset",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/taggers/universal_tagset.zip",
+ when="+data",
+ sha256="fb3b295a7b636d3f50e2bd3f9bd4c84eb99eaf36ff475ea406bdecd247f8f962",
+ destination="nltk_data/taggers",
+ placement="universal_tagset",
+ )
+ resource(
+ name="vader_lexicon",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/sentiment/vader_lexicon.zip",
+ when="+data",
+ sha256="8adba4294eef3964d820bf655e37e61bdc3a341994356af59b74fb3b4a36ce5c",
+ destination="nltk_data/sentiment",
+ placement="vader_lexicon",
+ )
+ resource(
+ name="lin_thesaurus",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/lin_thesaurus.zip",
+ when="+data",
+ sha256="04ebd29f0ad826700241b608f739bb8b9098c8de998f4a903535de5c3240c0a9",
+ destination="nltk_data/corpora",
+ placement="lin_thesaurus",
+ )
+ resource(
+ name="movie_reviews",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/movie_reviews.zip",
+ when="+data",
+ sha256="a41211ae685019137410268134db6a1a14428c89b671eb83056151a878539008",
+ destination="nltk_data/corpora",
+ placement="movie_reviews",
+ )
+ resource(
+ name="problem_reports",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/problem_reports.zip",
+ when="+data",
+ sha256="f9e691dcf5eed49827d892b1fc9eb6d73ca2cfa3d5c555fed316990ea6d15c8a",
+ destination="nltk_data/corpora",
+ placement="problem_reports",
+ )
+ resource(
+ name="pros_cons",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pros_cons.zip",
+ when="+data",
+ sha256="b5bca541ba5b2e614cde2213ddcca027416f6997067c90e45c173bf55c6fade8",
+ destination="nltk_data/corpora",
+ placement="pros_cons",
+ )
+ resource(
+ name="masc_tagged",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/masc_tagged.zip",
+ when="+data",
+ sha256="678a5141cf3381bedb1839c58a330507337be07c7c71603279c0ef5337032304",
+ destination="nltk_data/corpora",
+ placement="masc_tagged",
+ )
+ resource(
+ name="sentence_polarity",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sentence_polarity.zip",
+ when="+data",
+ sha256="6e1ed4405b65c7eabf1d199a7f7c437091ac21da0ea7467b410a74062574566b",
+ destination="nltk_data/corpora",
+ placement="sentence_polarity",
+ )
+ resource(
+ name="webtext",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/webtext.zip",
+ when="+data",
+ sha256="9e32dbae4879464b8f420a0dc721855bb26167b720d7695588d2ca2aeadf501a",
+ destination="nltk_data/corpora",
+ placement="webtext",
+ )
+ resource(
+ name="nps_chat",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nps_chat.zip",
+ when="+data",
+ sha256="a4433d5da5e62fdbede49efa572a53a0139fff1014ffbe86cb263e17cbb4a837",
+ destination="nltk_data/corpora",
+ placement="nps_chat",
+ )
+ resource(
+ name="city_database",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/city_database.zip",
+ when="+data",
+ sha256="df142032cac15d388171d018531ba9038fd48293567901ad56b378a40e1f8dfe",
+ destination="nltk_data/corpora",
+ placement="city_database",
+ )
+ resource(
+ name="europarl_raw",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/europarl_raw.zip",
+ when="+data",
+ sha256="ad553e177baac263840c10980e6f3e76d5d15f7f7a078bd98520b36edb69b27c",
+ destination="nltk_data/corpora",
+ placement="europarl_raw",
+ )
+ resource(
+ name="biocreative_ppi",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/biocreative_ppi.zip",
+ when="+data",
+ sha256="d30fe4ac6e2b71a15376401de7cd5bde1252deb28d3d45920ab740281e78e74b",
+ destination="nltk_data/corpora",
+ placement="biocreative_ppi",
+ )
+ resource(
+ name="verbnet3",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/verbnet3.zip",
+ when="+data",
+ sha256="fa0136a7699c52f0bd532dc5adc0914745aa4369a52ae1465cb11841060ec1de",
+ destination="nltk_data/corpora",
+ placement="verbnet3",
+ )
+ resource(
+ name="pe08",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pe08.zip",
+ when="+data",
+ sha256="3a4aa7d07cf89afbc8894b9d2f68239ad8452d4e815ad4b3f5824f13425227dd",
+ destination="nltk_data/corpora",
+ placement="pe08",
+ )
+ resource(
+ name="pil",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pil.zip",
+ when="+data",
+ sha256="0538ee1d94de616004fd2434cf03840dffab5507cf8b56725b6ef82b572deb76",
+ destination="nltk_data/corpora",
+ placement="pil",
+ )
+ resource(
+ name="crubadan",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/crubadan.zip",
+ when="+data",
+ sha256="8d64c8ff52f47a44381cad0795cf7fe3f8ff7907a1f92c09aadef8e163efdbc7",
+ destination="nltk_data/corpora",
+ placement="crubadan",
+ )
+ resource(
+ name="gutenberg",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/gutenberg.zip",
+ when="+data",
+ sha256="2d3c3ab548c653944310f37f536443ec85d0a0ad855fcae217a0c9efdce2d611",
+ destination="nltk_data/corpora",
+ placement="gutenberg",
+ )
+ resource(
+ name="propbank",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/propbank.zip",
+ when="+data",
+ sha256="320eee3cd06a15b5daac578d494ae109dc2414d9ea941bf9cc514796b6b1547a",
+ destination="nltk_data/corpora",
+ placement="propbank",
+ )
+ resource(
+ name="machado",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/machado.zip",
+ when="+data",
+ sha256="772463b1553c1b0ff1fc0360768b31f59b488f7a52d44cc92c3e31ca289acce9",
+ destination="nltk_data/corpora",
+ placement="machado",
+ )
+ resource(
+ name="state_union",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/state_union.zip",
+ when="+data",
+ sha256="366c1dc82b2abf896f42b2ec50ba802a0141a29f75d29ca48a7a243ce5bfbe8d",
+ destination="nltk_data/corpora",
+ placement="state_union",
+ )
+ resource(
+ name="twitter_samples",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/twitter_samples.zip",
+ when="+data",
+ sha256="aac71c20e1e05003b7812321936c5635dfede61902aca2b94419a1124979c6dd",
+ destination="nltk_data/corpora",
+ placement="twitter_samples",
+ )
+ resource(
+ name="semcor",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/semcor.zip",
+ when="+data",
+ sha256="126fa2e829ab63edd5b3fd9de45ef1d60d6880e01e25abc55b5ac7918a824655",
+ destination="nltk_data/corpora",
+ placement="semcor",
+ )
+ resource(
+ name="names",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/names.zip",
+ when="+data",
+ sha256="0eec7e958b34982662b8f05824ae64642dea097b08057ade65c252191c5fe7ca",
+ destination="nltk_data/corpora",
+ placement="names",
+ )
+ resource(
+ name="ptb",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ptb.zip",
+ when="+data",
+ sha256="f73b6a584bc7907cdd694d0661655a2e76a82ca74dc9bdae757236918d416bf7",
+ destination="nltk_data/corpora",
+ placement="ptb",
+ )
+ resource(
+ name="nombank.1.0",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nombank.1.0.zip",
+ when="+data",
+ sha256="eb7c4228bdaf6d528630db60f818e53dd69d4ef7a5722f7066a920c0c7d90c76",
+ destination="nltk_data/corpora",
+ placement="nombank.1.0",
+ )
+ resource(
+ name="floresta",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/floresta.zip",
+ when="+data",
+ sha256="7675017f8b36cb85013b7a4171659fb55c427110e1e2fd4bcd92c4c771a14bfd",
+ destination="nltk_data/corpora",
+ placement="floresta",
+ )
+ resource(
+ name="comtrans",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/comtrans.zip",
+ when="+data",
+ sha256="95a334f6bd910d2271d159bf53c5ce08516be3fa1cceb32521232c21dd2131f9",
+ destination="nltk_data/corpora",
+ placement="comtrans",
+ )
+ resource(
+ name="knbc",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/knbc.zip",
+ when="+data",
+ sha256="88a7822a33d16418e88b2f95084396496953a1c1087bf3e233d3e1fec3f935e8",
+ destination="nltk_data/corpora",
+ placement="knbc",
+ )
+ resource(
+ name="mac_morpho",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/mac_morpho.zip",
+ when="+data",
+ sha256="1c6138beba28b9c71edfd4b54991c5e1cf36a4d6b0ad8c66f8aa27c57b07547b",
+ destination="nltk_data/corpora",
+ placement="mac_morpho",
+ )
+ resource(
+ name="swadesh",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/swadesh.zip",
+ when="+data",
+ sha256="0b69919501a098f25d2abad9edb84689e1ed44915ca1c65c7832d2bf9d1de3b9",
+ destination="nltk_data/corpora",
+ placement="swadesh",
+ )
+ resource(
+ name="rte",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/rte.zip",
+ when="+data",
+ sha256="2f806ead4d53171601254747c3b7c97d758e63a6ef54e3c010a6d62885ab214a",
+ destination="nltk_data/corpora",
+ placement="rte",
+ )
+ resource(
+ name="toolbox",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/toolbox.zip",
+ when="+data",
+ sha256="f57d06b30360c5f52cc05c29e75b083eb23981416cce718206c80da0e931592e",
+ destination="nltk_data/corpora",
+ placement="toolbox",
+ )
+ resource(
+ name="jeita",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/jeita.zip",
+ when="+data",
+ sha256="4415bd6365628be5eeb80fe7aefe2b9161ef6cfc4d604d101feec6b59aedcbfd",
+ destination="nltk_data/corpora",
+ placement="jeita",
+ )
+ resource(
+ name="product_reviews_1",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/product_reviews_1.zip",
+ when="+data",
+ sha256="627bfb0bb7c87586246d99b4402c3d7e4fb77ac14559d8695c283bd6850615ac",
+ destination="nltk_data/corpora",
+ placement="product_reviews_1",
+ )
+ resource(
+ name="omw",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/omw.zip",
+ when="+data",
+ sha256="e2cd473805b480b5448ae3f2c3e824978f2528dc1a95a14fe3072777a2f12519",
+ destination="nltk_data/corpora",
+ placement="omw",
+ )
+ resource(
+ name="sentiwordnet",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sentiwordnet.zip",
+ when="+data",
+ sha256="b66876a17aaeb4c7c7c8d2f5bb2cf91fde16e1b76e2421e5480fedd17ad248c1",
+ destination="nltk_data/corpora",
+ placement="sentiwordnet",
+ )
+ resource(
+ name="product_reviews_2",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/product_reviews_2.zip",
+ when="+data",
+ sha256="272b08fe130882e5867aa7ecc69a65616099183c4ccc10374a62c271801b0bc1",
+ destination="nltk_data/corpora",
+ placement="product_reviews_2",
+ )
+ resource(
+ name="abc",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/abc.zip",
+ when="+data",
+ sha256="129bb6001beb828049a90a59b7dd3c2f0594a47012e48fc5177dfae38e658565",
+ destination="nltk_data/corpora",
+ placement="abc",
+ )
+ resource(
+ name="udhr2",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/udhr2.zip",
+ when="+data",
+ sha256="0796c314b09a930c989c6f9d93d226af9af13feccd88496e196c743dd266c7f3",
+ destination="nltk_data/corpora",
+ placement="udhr2",
+ )
+ resource(
+ name="senseval",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/senseval.zip",
+ when="+data",
+ sha256="fbcb658b562969e47a19a45e04c452d874755d157db936d815ca391ca88bfdea",
+ destination="nltk_data/corpora",
+ placement="senseval",
+ )
+ resource(
+ name="words",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/words.zip",
+ when="+data",
+ sha256="54ed02917d6771dcc3e8141218960d020947f7f2ccfd9ac9b320979349746015",
+ destination="nltk_data/corpora",
+ placement="words",
+ )
+ resource(
+ name="framenet_v15",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/framenet_v15.zip",
+ when="+data",
+ sha256="ea723e8575f1d7eeb0b39e7cd14a4d608f24adec4496800bfea3bdff82ffdcc8",
+ destination="nltk_data/corpora",
+ placement="framenet_v15",
+ )
+ resource(
+ name="unicode_samples",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/unicode_samples.zip",
+ when="+data",
+ sha256="9f8e483e02aa29319648c794942ccd4b13c1029322907138b6fa662315e2d845",
+ destination="nltk_data/corpora",
+ placement="unicode_samples",
+ )
+ resource(
+ name="kimmo",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/kimmo.zip",
+ when="+data",
+ sha256="5be9a891a08ac48914cccf8f98f3469c1e76e8d3aae16243220839e8c3fe16f4",
+ destination="nltk_data/corpora",
+ placement="kimmo",
+ )
+ resource(
+ name="framenet_v17",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/framenet_v17.zip",
+ when="+data",
+ sha256="22f6aad6fb799ba4dbed0440714e1118442ad7d7345351de37428581284f471c",
+ destination="nltk_data/corpora",
+ placement="framenet_v17",
+ )
+ resource(
+ name="chat80",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/chat80.zip",
+ when="+data",
+ sha256="6147451ba5bef268044e3fba446b5988da757fc2ed18d951d38d4eec864c66c0",
+ destination="nltk_data/corpora",
+ placement="chat80",
+ )
+ resource(
+ name="qc",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/qc.zip",
+ when="+data",
+ sha256="091fb01e50883014d150acb7d5013d787136968b3f955ae01725a65e7e80f304",
+ destination="nltk_data/corpora",
+ placement="qc",
+ )
+ resource(
+ name="inaugural",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/inaugural.zip",
+ when="+data",
+ sha256="a6c099af7f5b5ad2a03f1e4ea3f5ff7699779b9d4327152110af462da210bd1f",
+ destination="nltk_data/corpora",
+ placement="inaugural",
+ )
+ resource(
+ name="wordnet",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/wordnet.zip",
+ when="+data",
+ sha256="cbda5ea6eef7f36a97a43d4a75f85e07fccbb4f23657d27b4ccbc93e2646ab59",
+ destination="nltk_data/corpora",
+ placement="wordnet",
+ )
+ resource(
+ name="stopwords",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/stopwords.zip",
+ when="+data",
+ sha256="3fc8d3d4c6e3d5ba6e23a66920dd3fde611cc3edf6e1fd80159a7965f47bea09",
+ destination="nltk_data/corpora",
+ placement="stopwords",
+ )
+ resource(
+ name="verbnet",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/verbnet.zip",
+ when="+data",
+ sha256="6bc3620a6dc1c50aec46a97e5ddb51e64c015b9f7d37246805c5f8acfd6d172d",
+ destination="nltk_data/corpora",
+ placement="verbnet",
+ )
+ resource(
+ name="shakespeare",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/shakespeare.zip",
+ when="+data",
+ sha256="f1251d8c254710363254ba29c9dc0888d5cb13d5ac736ebc6fb14380f447cfc3",
+ destination="nltk_data/corpora",
+ placement="shakespeare",
+ )
+ resource(
+ name="ycoe",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ycoe.zip",
+ when="+data",
+ sha256="e402fa937d6a0b4603495e79f91af02c3f192977e6f15cc5ed5962b5d3673d9a",
+ destination="nltk_data/corpora",
+ placement="ycoe",
+ )
+ resource(
+ name="ieer",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ieer.zip",
+ when="+data",
+ sha256="1f63b08ed212c1d52545307838d183c79e02fd09cc8c5a48542f82c61c078b5d",
+ destination="nltk_data/corpora",
+ placement="ieer",
+ )
+ resource(
+ name="cess_cat",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cess_cat.zip",
+ when="+data",
+ sha256="c5b42b363365bfaa9a0616e448eb50da9668d2f5b6d1ff9d12b5c28ae09543cb",
+ destination="nltk_data/corpora",
+ placement="cess_cat",
+ )
+ resource(
+ name="switchboard",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/switchboard.zip",
+ when="+data",
+ sha256="6a1a22b659e2fe616129addab0e7967335e67c7dae6a6e63be10778dd0455d06",
+ destination="nltk_data/corpora",
+ placement="switchboard",
+ )
+ resource(
+ name="comparative_sentences",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/comparative_sentences.zip",
+ when="+data",
+ sha256="d076e1bab25c7c2a39e8850aefbb64a2188ebc5033bf21aeb656f4fab15f7f8b",
+ destination="nltk_data/corpora",
+ placement="comparative_sentences",
+ )
+ resource(
+ name="subjectivity",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/subjectivity.zip",
+ when="+data",
+ sha256="741f3371e1a4375051b874fd82fd55857b90975473c91c19a3101cbe17fc4d8c",
+ destination="nltk_data/corpora",
+ placement="subjectivity",
+ )
+ resource(
+ name="udhr",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/udhr.zip",
+ when="+data",
+ sha256="97e4c9dfa4a402f243d60b03d511afb04cf63f92f9ad1be9108b511448c329fa",
+ destination="nltk_data/corpora",
+ placement="udhr",
+ )
+ resource(
+ name="pl196x",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/pl196x.zip",
+ when="+data",
+ sha256="494a7ee616e13b0f798793a9af8da8445b3b83bc4aa3c6bb239967e6ce3cbbeb",
+ destination="nltk_data/corpora",
+ placement="pl196x",
+ )
+ resource(
+ name="paradigms",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/paradigms.zip",
+ when="+data",
+ sha256="5875c44cd547b6a8fdde48f8f798fe45bcad7cb232a93ee5fae17fed130c9870",
+ destination="nltk_data/corpora",
+ placement="paradigms",
+ )
+ resource(
+ name="gazetteers",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/gazetteers.zip",
+ when="+data",
+ sha256="3e4df6d5a03a3e4e109e488366e96e98d84f085b98d70f3dc11ecd6ce6ca48ab",
+ destination="nltk_data/corpora",
+ placement="gazetteers",
+ )
+ resource(
+ name="timit",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/timit.zip",
+ when="+data",
+ sha256="666c6650fb054001e2e1d9aa9b1889fc46629a0081ced7049686c2a598326668",
+ destination="nltk_data/corpora",
+ placement="timit",
+ )
+ resource(
+ name="treebank",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/treebank.zip",
+ when="+data",
+ sha256="9da92d76c3666cfb6cddeaed0f7e86b344cce0f0928a286d439e555f19c37399",
+ destination="nltk_data/corpora",
+ placement="treebank",
+ )
+ resource(
+ name="sinica_treebank",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/sinica_treebank.zip",
+ when="+data",
+ sha256="5506ddf646d5c3fb0a5fffdb53330ec8465f6468499f08d86f77d2df01d5b35e",
+ destination="nltk_data/corpora",
+ placement="sinica_treebank",
+ )
+ resource(
+ name="opinion_lexicon",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/opinion_lexicon.zip",
+ when="+data",
+ sha256="7a5da68d53016c5d1fca38f7dd81844cff73466371f90968d1ef15c85b873193",
+ destination="nltk_data/corpora",
+ placement="opinion_lexicon",
+ )
+ resource(
+ name="ppattach",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/ppattach.zip",
+ when="+data",
+ sha256="ff27399cb353bc6a48ec7ed90f31e6f4c94f270662482b7db07ca0923adb5468",
+ destination="nltk_data/corpora",
+ placement="ppattach",
+ )
+ resource(
+ name="dependency_treebank",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/dependency_treebank.zip",
+ when="+data",
+ sha256="0df483999f1391f32b141d6047d8ce19efd0a5a3e63ca019bfc4af8530f51fbd",
+ destination="nltk_data/corpora",
+ placement="dependency_treebank",
+ )
+ resource(
+ name="reuters",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/reuters.zip",
+ when="+data",
+ sha256="9a59a43823f02a6e2777075c989a3dc454e4b6f68e0332ee3c0e8264075b62f5",
+ destination="nltk_data/corpora",
+ placement="reuters",
+ )
+ resource(
+ name="genesis",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/genesis.zip",
+ when="+data",
+ sha256="0cac241f88d7999f81a45e26b1764b2d1f3b4d21654aa954e0d5349eb4784cd0",
+ destination="nltk_data/corpora",
+ placement="genesis",
+ )
+ resource(
+ name="cess_esp",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cess_esp.zip",
+ when="+data",
+ sha256="ae5b12898039e51911ae16d25c4822cb92adcfc034a2e12b57676d21d3c94884",
+ destination="nltk_data/corpora",
+ placement="cess_esp",
+ )
+ resource(
+ name="conll2007",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2007.zip",
+ when="+data",
+ sha256="b1e2865b31cdbc016a437c29dc3e190042ef2e237b21ba2a69082b7dc1c007ca",
+ destination="nltk_data/corpora",
+ placement="conll2007",
+ )
+ resource(
+ name="nonbreaking_prefixes",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/nonbreaking_prefixes.zip",
+ when="+data",
+ sha256="62dd9fe11b21d201ca26cf2351595512965d5fe064f9d6ce1873c6231b46d869",
+ destination="nltk_data/corpora",
+ placement="nonbreaking_prefixes",
+ )
+ resource(
+ name="dolch",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/dolch.zip",
+ when="+data",
+ sha256="e4a58e0f13809ac86bc819e245aeb60981ea4edcac7025509af99fa6b67305cd",
+ destination="nltk_data/corpora",
+ placement="dolch",
+ )
+ resource(
+ name="smultron",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/smultron.zip",
+ when="+data",
+ sha256="6748fb331f7b06dd529617590277414a8d3b65291f68367d8b04615cf621702c",
+ destination="nltk_data/corpora",
+ placement="smultron",
+ )
+ resource(
+ name="alpino",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/alpino.zip",
+ when="+data",
+ sha256="2e4551748dc81707b01d5adabb62c308ae5cb70fc526936310502431a1db96ef",
+ destination="nltk_data/corpora",
+ placement="alpino",
+ )
+ resource(
+ name="wordnet_ic",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/wordnet_ic.zip",
+ when="+data",
+ sha256="a931b34bb9013ac3c1291f64c812fd039802995a2b1246b8f7525e82080110e3",
+ destination="nltk_data/corpora",
+ placement="wordnet_ic",
+ )
+ resource(
+ name="brown",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown.zip",
+ when="+data",
+ sha256="9b275f9b3b95d7bd66ccfb7cd259f445a13bbe5d1f4107aba09fd3e8364bafa6",
+ destination="nltk_data/corpora",
+ placement="brown",
+ )
+ resource(
+ name="panlex_swadesh",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/panlex_swadesh.zip",
+ when="+data",
+ sha256="dc028da016ba7d5f9bcc39263b0c3dc27bd56025672b18ccaec4578833fe4dff",
+ destination="nltk_data/corpora",
+ placement="panlex_swadesh",
+ )
+ resource(
+ name="conll2000",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2000.zip",
+ when="+data",
+ sha256="01e65164f268366e7caa0db92332a1955d081908c87016e2c7640c3c5279b7cd",
+ destination="nltk_data/corpora",
+ placement="conll2000",
+ )
+ resource(
+ name="universal_treebanks_v20",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/universal_treebanks_v20.zip",
+ when="+data",
+ sha256="7132fdee74f85cb908558ffa3a6dac5c1f3762d4095a316990eb19a647421d8a",
+ destination="nltk_data/corpora",
+ placement="universal_treebanks_v20",
+ )
+ resource(
+ name="brown_tei",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown_tei.zip",
+ when="+data",
+ sha256="335bec1ea6362751d5d5c46970137ebb01c80bf7d7d75558787729d275e0a687",
+ destination="nltk_data/corpora",
+ placement="brown_tei",
+ )
+ resource(
+ name="cmudict",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/cmudict.zip",
+ when="+data",
+ sha256="d07cca47fd72ad32ea9d8ad1219f85301eeaf4568f8b6b73747506a71fb5afd6",
+ destination="nltk_data/corpora",
+ placement="cmudict",
+ )
+ resource(
+ name="mte_teip5",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/mte_teip5.zip",
+ when="+data",
+ sha256="2847497d2f8c42c510e82e7cde37537a2a1da7d6e458d879fb22f73f4eef6059",
+ destination="nltk_data/corpora",
+ placement="mte_teip5",
+ )
+ resource(
+ name="indian",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/indian.zip",
+ when="+data",
+ sha256="6f5aff392fc953769b6ccb994bd70e33ec6f0226e93979470255fa97abf692f9",
+ destination="nltk_data/corpora",
+ placement="indian",
+ )
+ resource(
+ name="conll2002",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/conll2002.zip",
+ when="+data",
+ sha256="64440e49236d0d393e08e0b266284966d68e2d2a82a50cc41b8e96d98c03b5c8",
+ destination="nltk_data/corpora",
+ placement="conll2002",
+ )
+ resource(
+ name="tagsets",
+ url="https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/help/tagsets.zip",
+ when="+data",
+ sha256="e44c8ffd7e8759064573e8d4ae837dbb4b15ec68b2ca02cdf6a513dab8b12ca4",
+ destination="nltk_data/help",
+ placement="tagsets",
+ )
def setup_run_environment(self, env):
- if '+data' in self.spec:
+ if "+data" in self.spec:
env.prepend_path("NLTK_DATA", self.prefix.nltk_data)
- @run_after('install')
+ @run_after("install")
def install_data(self):
- if '+data' in self.spec:
- install_tree('nltk_data', self.prefix.nltk_data)
+ if "+data" in self.spec:
+ install_tree("nltk_data", self.prefix.nltk_data)
# May require additional third-party software:
# https://github.com/nltk/nltk/wiki/Installing-Third-Party-Software
diff --git a/var/spack/repos/builtin/packages/py-nltk/resourcegen.py b/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
index d2def9fa0b..77cf25cc26 100644
--- a/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
+++ b/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
@@ -9,32 +9,33 @@ import xml.etree.ElementTree
from typing import Optional
url = None # type: Optional[str]
-url = 'https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml'
+url = "https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml"
if url is not None:
document = urllib.request.urlopen(url).read()
tree = xml.etree.ElementTree.fromstring(document)
- packages = tree.findall('./packages/package')
+ packages = tree.findall("./packages/package")
for package in packages:
- url = package.get('url')
- name = package.get('id')
- subdir = package.get('subdir')
+ url = package.get("url")
+ name = package.get("id")
+ subdir = package.get("subdir")
if url is None:
continue
packagebody = urllib.request.urlopen(url).read()
- meta_checksum = package.get('checksum')
+ meta_checksum = package.get("checksum")
loaded_checksum = hashlib.md5(packagebody).hexdigest()
- if (meta_checksum == loaded_checksum):
+ if meta_checksum == loaded_checksum:
output_checksum = hashlib.sha256(packagebody).hexdigest()
- print("""
+ print(
+ """
resource(name='{0}',
url='{1}',
when='+data',
sha256='{2}',
destination='nltk_data/{3}',
- placement='{0}')""".format(name,
- url,
- output_checksum,
- subdir))
+ placement='{0}')""".format(
+ name, url, output_checksum, subdir
+ )
+ )
else:
print("""bad {0}""".format(url))
else:
diff --git a/var/spack/repos/builtin/packages/py-nodeenv/package.py b/var/spack/repos/builtin/packages/py-nodeenv/package.py
index 4b1fbd4e8f..ed75198dc4 100644
--- a/var/spack/repos/builtin/packages/py-nodeenv/package.py
+++ b/var/spack/repos/builtin/packages/py-nodeenv/package.py
@@ -12,6 +12,6 @@ class PyNodeenv(PythonPackage):
homepage = "https://github.com/ekalinin/nodeenv"
pypi = "nodeenv/nodeenv-1.3.3.tar.gz"
- version('1.3.3', sha256='ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a')
+ version("1.3.3", sha256="ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 16a35c3499..f1aa7ce51d 100644
--- a/var/spack/repos/builtin/packages/py-nose-cov/package.py
+++ b/var/spack/repos/builtin/packages/py-nose-cov/package.py
@@ -11,8 +11,8 @@ class PyNoseCov(PythonPackage):
pypi = "nose-cov/nose-cov-1.6.tar.gz"
- version('1.6', sha256='8bec0335598f1cc69e3262cc50d7678c1a6010fa44625ce343c4ec1500774412')
+ version("1.6", sha256="8bec0335598f1cc69e3262cc50d7678c1a6010fa44625ce343c4ec1500774412")
- depends_on('py-setuptools', type='build')
- depends_on('py-nose@0.11.4:', type=('build', 'run'))
- depends_on('py-cov-core@1.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nose@0.11.4:", type=("build", "run"))
+ depends_on("py-cov-core@1.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index 5bd42aacc8..e54ccd4ce8 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -12,8 +12,8 @@ class PyNose(PythonPackage):
pypi = "nose/nose-1.3.4.tar.gz"
- version('1.3.7', sha256='f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98')
- version('1.3.6', sha256='f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758')
- version('1.3.4', sha256='76bc63a4e2d5e5a0df77ca7d18f0f56e2c46cfb62b71103ba92a92c79fab1e03')
+ version("1.3.7", sha256="f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98")
+ version("1.3.6", sha256="f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758")
+ version("1.3.4", sha256="76bc63a4e2d5e5a0df77ca7d18f0f56e2c46cfb62b71103ba92a92c79fab1e03")
- depends_on('py-setuptools@:57', type='build')
+ depends_on("py-setuptools@:57", type="build")
diff --git a/var/spack/repos/builtin/packages/py-nose2/package.py b/var/spack/repos/builtin/packages/py-nose2/package.py
index ef1e40432b..d45ea8e3b2 100644
--- a/var/spack/repos/builtin/packages/py-nose2/package.py
+++ b/var/spack/repos/builtin/packages/py-nose2/package.py
@@ -12,11 +12,11 @@ class PyNose2(PythonPackage):
homepage = "https://github.com/nose-devs/nose2"
pypi = "nose2/nose2-0.9.1.tar.gz"
- version('0.9.1', sha256='0ede156fd7974fa40893edeca0b709f402c0ccacd7b81b22e76f73c116d1b999')
- version('0.6.0', sha256='daa633e92a52e0db60ade7e105a2ba5cad7ac819f3608740dcfc6140b9fd0a94')
+ version("0.9.1", sha256="0ede156fd7974fa40893edeca0b709f402c0ccacd7b81b22e76f73c116d1b999")
+ version("0.6.0", sha256="daa633e92a52e0db60ade7e105a2ba5cad7ac819f3608740dcfc6140b9fd0a94")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.7:', type=('build', 'run'))
- depends_on('py-cov-core@1.12:', type=('build', 'run'), when='@0.6.0:0.6.5')
- depends_on('py-coverage@4.4.1:', type=('build', 'run'), when='@0.7.0:')
- depends_on('py-mock@2.0.0:', type=('build', 'run'), when='^python@2.7:3.5')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.7:", type=("build", "run"))
+ depends_on("py-cov-core@1.12:", type=("build", "run"), when="@0.6.0:0.6.5")
+ depends_on("py-coverage@4.4.1:", type=("build", "run"), when="@0.7.0:")
+ depends_on("py-mock@2.0.0:", type=("build", "run"), when="^python@2.7:3.5")
diff --git a/var/spack/repos/builtin/packages/py-nosexcover/package.py b/var/spack/repos/builtin/packages/py-nosexcover/package.py
index f4f35712b1..545b29df68 100644
--- a/var/spack/repos/builtin/packages/py-nosexcover/package.py
+++ b/var/spack/repos/builtin/packages/py-nosexcover/package.py
@@ -13,8 +13,8 @@ class PyNosexcover(PythonPackage):
homepage = "https://github.com/cmheisel/nose-xcover"
pypi = "nosexcover/nosexcover-1.0.11.tar.gz"
- version('1.0.11', sha256='298c3c655da587f6cab8a666e9f4b150320032431062dea91353988d45c8b883')
+ version("1.0.11", sha256="298c3c655da587f6cab8a666e9f4b150320032431062dea91353988d45c8b883")
- depends_on('py-setuptools', type='build')
- depends_on('py-nose', type=('build', 'run'))
- depends_on('py-coverage@3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nose", type=("build", "run"))
+ depends_on("py-coverage@3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-notebook/package.py b/var/spack/repos/builtin/packages/py-notebook/package.py
index 1e4b954968..6901b829c9 100644
--- a/var/spack/repos/builtin/packages/py-notebook/package.py
+++ b/var/spack/repos/builtin/packages/py-notebook/package.py
@@ -13,65 +13,65 @@ class PyNotebook(PythonPackage):
homepage = "https://github.com/jupyter/notebook"
pypi = "notebook/notebook-6.1.4.tar.gz"
- version('6.4.11', sha256='709b1856a564fe53054796c80e17a67262071c86bfbdfa6b96aaa346113c555a')
- version('6.4.5', sha256='872e20da9ae518bbcac3e4e0092d5bd35454e847dedb8cb9739e9f3b68406be0')
- version('6.1.4', sha256='687d01f963ea20360c0b904ee7a37c3d8cda553858c8d6e33fd0afd13e89de32')
- version('6.0.3', sha256='47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48')
- version('6.0.1', sha256='660976fe4fe45c7aa55e04bf4bccb9f9566749ff637e9020af3422f9921f9a5d')
- version('6.0.0', sha256='5c16dbf4fa824db19de43637ebfb24bcbd3b4f646e5d6a0414ed3a376d6bc951')
- version('5.7.8', sha256='573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8')
- version('5.7.6', sha256='18a98858c0331fb65a60f2ebb6439f8c0c4defd14ca363731b6cabc7f61624b4')
- version('5.7.5', sha256='c5011449a1a6d9f96bf65c4c2d6713802a21125476312b39c99010ccd7a2e2ed')
- version('5.7.4', sha256='d908673a4010787625c8952e91a22adf737db031f2aa0793ad92f6558918a74a')
- version('5.7.3', sha256='f57d470401b2d7434587bcf4dd9263e73f139bf070b1b81a7ed4dfae7ec83f71')
- version('5.7.2', sha256='91705b109fc785198faed892489cddb233265564d5e2dad5e4f7974af05ee8dd')
- version('5.7.1', sha256='24f38c9cc7d7bd0a4c429cc8381e602e58b2b176d6071096a09a0e6c9cd0b463')
- version('5.7.0', sha256='b85e4de3d54cf4f14fe1d0515a980ccb49ddd4cdd21250cc0d4fb6374d50b1a7')
- version('4.2.3', sha256='39a9603d3fe88b60de2903680c965cf643acf2c16fb2c6bac1d905e1042b5851')
- version('4.2.2', sha256='418ba230c9b2e7e739940cae9fb4625e10a63f038e9c95cf1a9b7a244256ba38')
- version('4.2.1', sha256='a49de524dabb99f214bdf2a58f26c7892650251a23a3669c6492fb180492e197')
- version('4.2.0', sha256='e10c4916c77b48394796b5b1440d61d7b210f9941194048fe20ef88948016d84')
- version('4.1.0', sha256='b597437ba33538221008e21fea71cd01eda9da1515ca3963d7c74e44f4b03d90')
- version('4.0.6', sha256='f62e7a6afbc00bab3615b927595d27b1874cff3218bddcbab62f97f6dae567c3')
- version('4.0.4', sha256='a57852514bce1b1cf41fa0311f6cf894960cf68b083b55e6c408316b598d5648')
- version('4.0.2', sha256='8478d7e2ab474855b0ff841f693983388af8662d3af1adcb861acb900274f22a')
+ version("6.4.11", sha256="709b1856a564fe53054796c80e17a67262071c86bfbdfa6b96aaa346113c555a")
+ version("6.4.5", sha256="872e20da9ae518bbcac3e4e0092d5bd35454e847dedb8cb9739e9f3b68406be0")
+ version("6.1.4", sha256="687d01f963ea20360c0b904ee7a37c3d8cda553858c8d6e33fd0afd13e89de32")
+ version("6.0.3", sha256="47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48")
+ version("6.0.1", sha256="660976fe4fe45c7aa55e04bf4bccb9f9566749ff637e9020af3422f9921f9a5d")
+ version("6.0.0", sha256="5c16dbf4fa824db19de43637ebfb24bcbd3b4f646e5d6a0414ed3a376d6bc951")
+ version("5.7.8", sha256="573e0ae650c5d76b18b6e564ba6d21bf321d00847de1d215b418acb64f056eb8")
+ version("5.7.6", sha256="18a98858c0331fb65a60f2ebb6439f8c0c4defd14ca363731b6cabc7f61624b4")
+ version("5.7.5", sha256="c5011449a1a6d9f96bf65c4c2d6713802a21125476312b39c99010ccd7a2e2ed")
+ version("5.7.4", sha256="d908673a4010787625c8952e91a22adf737db031f2aa0793ad92f6558918a74a")
+ version("5.7.3", sha256="f57d470401b2d7434587bcf4dd9263e73f139bf070b1b81a7ed4dfae7ec83f71")
+ version("5.7.2", sha256="91705b109fc785198faed892489cddb233265564d5e2dad5e4f7974af05ee8dd")
+ version("5.7.1", sha256="24f38c9cc7d7bd0a4c429cc8381e602e58b2b176d6071096a09a0e6c9cd0b463")
+ version("5.7.0", sha256="b85e4de3d54cf4f14fe1d0515a980ccb49ddd4cdd21250cc0d4fb6374d50b1a7")
+ version("4.2.3", sha256="39a9603d3fe88b60de2903680c965cf643acf2c16fb2c6bac1d905e1042b5851")
+ version("4.2.2", sha256="418ba230c9b2e7e739940cae9fb4625e10a63f038e9c95cf1a9b7a244256ba38")
+ version("4.2.1", sha256="a49de524dabb99f214bdf2a58f26c7892650251a23a3669c6492fb180492e197")
+ version("4.2.0", sha256="e10c4916c77b48394796b5b1440d61d7b210f9941194048fe20ef88948016d84")
+ version("4.1.0", sha256="b597437ba33538221008e21fea71cd01eda9da1515ca3963d7c74e44f4b03d90")
+ version("4.0.6", sha256="f62e7a6afbc00bab3615b927595d27b1874cff3218bddcbab62f97f6dae567c3")
+ version("4.0.4", sha256="a57852514bce1b1cf41fa0311f6cf894960cf68b083b55e6c408316b598d5648")
+ version("4.0.2", sha256="8478d7e2ab474855b0ff841f693983388af8662d3af1adcb861acb900274f22a")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@6:')
- depends_on('python@3.6:', type=('build', 'run'), when='@6.3:')
- depends_on('python@3.7:', type=('build', 'run'), when='@6.4:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"), when="@6:")
+ depends_on("python@3.6:", type=("build", "run"), when="@6.3:")
+ depends_on("python@3.7:", type=("build", "run"), when="@6.4:")
# TODO: replace this after concretizer learns how to concretize separate build deps
- depends_on('py-jupyter-packaging11', when='@6.4.1:', type='build')
+ depends_on("py-jupyter-packaging11", when="@6.4.1:", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@6.4.1:', type='build')
- depends_on('py-setuptools', type=('build', 'run'), when='@5:')
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-tornado@4.0:6', type=('build', 'run'), when='@:5.7.4')
- depends_on('py-tornado@4.1:6', type=('build', 'run'), when='@5.7.5:5')
- depends_on('py-tornado@5.0:', type=('build', 'run'), when='@6:')
- depends_on('py-tornado@6.1:', type=('build', 'run'), when='@6.4.5:')
- depends_on('py-pyzmq@17:', type=('build', 'run'), when='@6:')
- depends_on('py-argon2-cffi', type=('build', 'run'), when='@6.1:')
- depends_on('py-traitlets', type=('build', 'run'))
- depends_on('py-traitlets@4.2.1:', type=('build', 'run'), when='@5:')
- depends_on('py-jupyter-core', type=('build', 'run'))
- depends_on('py-jupyter-core@4.4.0:', type=('build', 'run'), when='@5.7.0:6.0.1')
- depends_on('py-jupyter-core@4.6.0:', type=('build', 'run'), when='@6.0.2')
- depends_on('py-jupyter-core@4.6.1:', type=('build', 'run'), when='@6.0.3:')
- depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-jupyter-client@5.2.0:', type=('build', 'run'), when='@5.7.0:5')
- depends_on('py-jupyter-client@5.3.1:', type=('build', 'run'), when='@6.0.0:6.0.1')
- depends_on('py-jupyter-client@5.3.4:', type=('build', 'run'), when='@6.0.2:')
- depends_on('py-ipython-genutils', type=('build', 'run'))
- depends_on('py-nbformat', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"), when="@5:")
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-tornado@4.0:6", type=("build", "run"), when="@:5.7.4")
+ depends_on("py-tornado@4.1:6", type=("build", "run"), when="@5.7.5:5")
+ depends_on("py-tornado@5.0:", type=("build", "run"), when="@6:")
+ depends_on("py-tornado@6.1:", type=("build", "run"), when="@6.4.5:")
+ depends_on("py-pyzmq@17:", type=("build", "run"), when="@6:")
+ depends_on("py-argon2-cffi", type=("build", "run"), when="@6.1:")
+ depends_on("py-traitlets", type=("build", "run"))
+ depends_on("py-traitlets@4.2.1:", type=("build", "run"), when="@5:")
+ depends_on("py-jupyter-core", type=("build", "run"))
+ depends_on("py-jupyter-core@4.4.0:", type=("build", "run"), when="@5.7.0:6.0.1")
+ depends_on("py-jupyter-core@4.6.0:", type=("build", "run"), when="@6.0.2")
+ depends_on("py-jupyter-core@4.6.1:", type=("build", "run"), when="@6.0.3:")
+ depends_on("py-jupyter-client", type=("build", "run"))
+ depends_on("py-jupyter-client@5.2.0:", type=("build", "run"), when="@5.7.0:5")
+ depends_on("py-jupyter-client@5.3.1:", type=("build", "run"), when="@6.0.0:6.0.1")
+ depends_on("py-jupyter-client@5.3.4:", type=("build", "run"), when="@6.0.2:")
+ depends_on("py-ipython-genutils", type=("build", "run"))
+ depends_on("py-nbformat", type=("build", "run"))
# https://github.com/jupyter/notebook/pull/6286
- depends_on('py-nbconvert@5:', type=('build', 'run'), when='@5.5:')
- depends_on('py-nbconvert', type=('build', 'run'))
- depends_on('py-nest-asyncio@1.5:', type=('build', 'run'), when='@6.4.10:')
- depends_on('py-ipykernel', type=('build', 'run'))
- depends_on('py-send2trash', type=('build', 'run'), when='@6:')
- depends_on('py-send2trash@1.5:', type=('build', 'run'), when='@6.2.0:')
- depends_on('py-send2trash@1.8:', type=('build', 'run'), when='@6.4.10:')
- depends_on('py-terminado@0.3.3:', type=('build', 'run'), when='@:5.7.0')
- depends_on('py-terminado@0.8.1:', type=('build', 'run'), when='@5.7.0:')
- depends_on('py-terminado@0.8.3:', type=('build', 'run'), when='@6.1:')
- depends_on('py-prometheus-client', type=('build', 'run'), when='@5.7.0:')
+ depends_on("py-nbconvert@5:", type=("build", "run"), when="@5.5:")
+ depends_on("py-nbconvert", type=("build", "run"))
+ depends_on("py-nest-asyncio@1.5:", type=("build", "run"), when="@6.4.10:")
+ depends_on("py-ipykernel", type=("build", "run"))
+ depends_on("py-send2trash", type=("build", "run"), when="@6:")
+ depends_on("py-send2trash@1.5:", type=("build", "run"), when="@6.2.0:")
+ depends_on("py-send2trash@1.8:", type=("build", "run"), when="@6.4.10:")
+ depends_on("py-terminado@0.3.3:", type=("build", "run"), when="@:5.7.0")
+ depends_on("py-terminado@0.8.1:", type=("build", "run"), when="@5.7.0:")
+ depends_on("py-terminado@0.8.3:", type=("build", "run"), when="@6.1:")
+ depends_on("py-prometheus-client", type=("build", "run"), when="@5.7.0:")
diff --git a/var/spack/repos/builtin/packages/py-npx/package.py b/var/spack/repos/builtin/packages/py-npx/package.py
index be30a135b2..9e9ebe8b3c 100644
--- a/var/spack/repos/builtin/packages/py-npx/package.py
+++ b/var/spack/repos/builtin/packages/py-npx/package.py
@@ -10,10 +10,10 @@ class PyNpx(PythonPackage):
"""Some useful extensions for NumPy"""
homepage = "https://github.com/nschloe/npx"
- pypi = "npx/npx-0.1.0.tar.gz"
+ pypi = "npx/npx-0.1.0.tar.gz"
- version('0.1.0', sha256='3edec9508326b6724d7c176dbcba2098508788241b8a671aab583d0c72b2f05b')
+ version("0.1.0", sha256="3edec9508326b6724d7c176dbcba2098508788241b8a671aab583d0c72b2f05b")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-flit-core@3.2:3', type='build')
- depends_on('py-numpy@1.20.0:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-flit-core@3.2:3", type="build")
+ depends_on("py-numpy@1.20.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ntlm-auth/package.py b/var/spack/repos/builtin/packages/py-ntlm-auth/package.py
index f49e2171d0..52c729ce58 100644
--- a/var/spack/repos/builtin/packages/py-ntlm-auth/package.py
+++ b/var/spack/repos/builtin/packages/py-ntlm-auth/package.py
@@ -10,10 +10,10 @@ class PyNtlmAuth(PythonPackage):
"""Creates NTLM authentication structures."""
homepage = "https://github.com/jborean93/ntlm-auth"
- pypi = "ntlm-auth/ntlm-auth-1.5.0.tar.gz"
+ pypi = "ntlm-auth/ntlm-auth-1.5.0.tar.gz"
- version('1.5.0', sha256='c9667d361dc09f6b3750283d503c689070ff7d89f2f6ff0d38088d5436ff8543')
+ version("1.5.0", sha256="c9667d361dc09f6b3750283d503c689070ff7d89f2f6ff0d38088d5436ff8543")
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6')
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ordereddict", type=("build", "run"), when="^python@:2.6")
diff --git a/var/spack/repos/builtin/packages/py-ntplib/package.py b/var/spack/repos/builtin/packages/py-ntplib/package.py
index 7725bd8730..715d9d6e84 100644
--- a/var/spack/repos/builtin/packages/py-ntplib/package.py
+++ b/var/spack/repos/builtin/packages/py-ntplib/package.py
@@ -9,11 +9,11 @@ from spack.package 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'
+ 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')
+ version("0.4.0", sha256="899d8fb5f8c2555213aea95efca02934c7343df6ace9d7628a5176b176906267")
- depends_on('python@2.7,3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ 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-num2words/package.py b/var/spack/repos/builtin/packages/py-num2words/package.py
index dcab8d4cac..37d2af8c24 100644
--- a/var/spack/repos/builtin/packages/py-num2words/package.py
+++ b/var/spack/repos/builtin/packages/py-num2words/package.py
@@ -10,9 +10,9 @@ class PyNum2words(PythonPackage):
"""Modules to convert numbers to words. Easily extensible."""
homepage = "https://github.com/savoirfairelinux/num2words"
- pypi = "num2words/num2words-0.5.10.tar.gz"
+ pypi = "num2words/num2words-0.5.10.tar.gz"
- version('0.5.10', sha256='37cd4f60678f7e1045cdc3adf6acf93c8b41bf732da860f97d301f04e611cc57')
+ version("0.5.10", sha256="37cd4f60678f7e1045cdc3adf6acf93c8b41bf732da860f97d301f04e611cc57")
- depends_on('py-setuptools', type='build')
- depends_on('py-docopt@0.6.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docopt@0.6.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-numba/package.py b/var/spack/repos/builtin/packages/py-numba/package.py
index a8181a16b3..00d525be70 100644
--- a/var/spack/repos/builtin/packages/py-numba/package.py
+++ b/var/spack/repos/builtin/packages/py-numba/package.py
@@ -12,46 +12,46 @@ class PyNumba(PythonPackage):
homepage = "https://numba.pydata.org/"
pypi = "numba/numba-0.35.0.tar.gz"
- version('0.56.0', sha256='87a647dd4b8fce389869ff71f117732de9a519fe07663d9a02d75724eb8e244d')
- version('0.55.2', sha256='e428d9e11d9ba592849ccc9f7a009003eb7d30612007e365afe743ce7118c6f4')
- version('0.55.1', sha256='03e9069a2666d1c84f93b00dbd716fb8fedde8bb2c6efafa2f04842a46442ea3')
- version('0.54.0', sha256='bad6bd98ab2e41c34aa9c80b8d9737e07d92a53df4f74d3ada1458b0b516ccff')
- version('0.51.1', sha256='1e765b1a41535684bf3b0465c1d0a24dcbbff6af325270c8f4dad924c0940160')
- version('0.50.1', sha256='89e81b51b880f9b18c82b7095beaccc6856fcf84ba29c4f0ced42e4e5748a3a7')
- version('0.48.0', sha256='9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017')
- version('0.40.1', sha256='52d046c13bcf0de79dbfb936874b7228f141b9b8e3447cc35855e9ad3e12aa33')
- version('0.35.0', sha256='11564937757605bee590c5758c73cfe9fd6d569726b56d970316a6228971ecc3')
-
- depends_on('python@3.7:3.10', type=('build', 'run'), when='@0.55.0:')
- depends_on('python@3.7:3.9', type=('build', 'run'), when='@0.54')
- depends_on('python@3.6:3.9', type=('build', 'run'), when='@0.53')
- depends_on('python@3.6:3.8', type=('build', 'run'), when='@0.52')
+ version("0.56.0", sha256="87a647dd4b8fce389869ff71f117732de9a519fe07663d9a02d75724eb8e244d")
+ version("0.55.2", sha256="e428d9e11d9ba592849ccc9f7a009003eb7d30612007e365afe743ce7118c6f4")
+ version("0.55.1", sha256="03e9069a2666d1c84f93b00dbd716fb8fedde8bb2c6efafa2f04842a46442ea3")
+ version("0.54.0", sha256="bad6bd98ab2e41c34aa9c80b8d9737e07d92a53df4f74d3ada1458b0b516ccff")
+ version("0.51.1", sha256="1e765b1a41535684bf3b0465c1d0a24dcbbff6af325270c8f4dad924c0940160")
+ version("0.50.1", sha256="89e81b51b880f9b18c82b7095beaccc6856fcf84ba29c4f0ced42e4e5748a3a7")
+ version("0.48.0", sha256="9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017")
+ version("0.40.1", sha256="52d046c13bcf0de79dbfb936874b7228f141b9b8e3447cc35855e9ad3e12aa33")
+ version("0.35.0", sha256="11564937757605bee590c5758c73cfe9fd6d569726b56d970316a6228971ecc3")
+
+ depends_on("python@3.7:3.10", type=("build", "run"), when="@0.55.0:")
+ depends_on("python@3.7:3.9", type=("build", "run"), when="@0.54")
+ depends_on("python@3.6:3.9", type=("build", "run"), when="@0.53")
+ depends_on("python@3.6:3.8", type=("build", "run"), when="@0.52")
# set upper bound for python the same as newer release
- depends_on('python@3.6:3.8', type=('build', 'run'), when='@0.48:0.51')
- depends_on('python@3.3:3.7', type=('build', 'run'), when='@0.40.1:0.47')
- depends_on('python@3.3:3.6', type=('build', 'run'), when='@:0.35.0')
- depends_on('py-numpy@1.18:1.22', type=('build', 'run'), when='@0.55.2:')
- depends_on('py-numpy@1.18:1.21', type=('build', 'run'), when='@0.55.0:0.55.1')
- depends_on('py-numpy@1.17:1.20', type=('build', 'run'), when='@0.54')
+ depends_on("python@3.6:3.8", type=("build", "run"), when="@0.48:0.51")
+ depends_on("python@3.3:3.7", type=("build", "run"), when="@0.40.1:0.47")
+ depends_on("python@3.3:3.6", type=("build", "run"), when="@:0.35.0")
+ depends_on("py-numpy@1.18:1.22", type=("build", "run"), when="@0.55.2:")
+ depends_on("py-numpy@1.18:1.21", type=("build", "run"), when="@0.55.0:0.55.1")
+ depends_on("py-numpy@1.17:1.20", type=("build", "run"), when="@0.54")
# set upper bound for py-numpy the same as newer release
- depends_on('py-numpy@1.15:1.20', type=('build', 'run'), when='@0.48:0.53')
- depends_on('py-numpy@1.10:1.20', type=('build', 'run'), when='@:0.47')
- depends_on('py-setuptools', type=('build', 'run'))
-
- depends_on('py-llvmlite@0.39', type=('build', 'run'), when='@0.56')
- depends_on('py-llvmlite@0.38', type=('build', 'run'), when='@0.55')
- depends_on('py-llvmlite@0.37', type=('build', 'run'), when='@0.54.0')
- depends_on('py-llvmlite@0.34', type=('build', 'run'), when='@0.51.1')
- depends_on('py-llvmlite@0.33', type=('build', 'run'), when='@0.50.1')
- depends_on('py-llvmlite@0.31', type=('build', 'run'), when='@0.47,0.48')
- depends_on('py-llvmlite@0.25', type=('build', 'run'), when='@0.40')
- depends_on('py-llvmlite@0.20:0.25', type=('build', 'run'), when='@0.35.1')
-
- depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
- depends_on('py-funcsigs', type=('build', 'run'), when='@:0.47 ^python@:3.2')
- depends_on('py-enum34', type=('build', 'run'), when='@:0.47 ^python@:3.3')
- depends_on('py-singledispatch', type=('build', 'run'), when='@:0.47 ^python@:3.3')
+ depends_on("py-numpy@1.15:1.20", type=("build", "run"), when="@0.48:0.53")
+ depends_on("py-numpy@1.10:1.20", type=("build", "run"), when="@:0.47")
+ depends_on("py-setuptools", type=("build", "run"))
+
+ depends_on("py-llvmlite@0.39", type=("build", "run"), when="@0.56")
+ depends_on("py-llvmlite@0.38", type=("build", "run"), when="@0.55")
+ depends_on("py-llvmlite@0.37", type=("build", "run"), when="@0.54.0")
+ depends_on("py-llvmlite@0.34", type=("build", "run"), when="@0.51.1")
+ depends_on("py-llvmlite@0.33", type=("build", "run"), when="@0.50.1")
+ depends_on("py-llvmlite@0.31", type=("build", "run"), when="@0.47,0.48")
+ depends_on("py-llvmlite@0.25", type=("build", "run"), when="@0.40")
+ depends_on("py-llvmlite@0.20:0.25", type=("build", "run"), when="@0.35.1")
+
+ depends_on("py-argparse", type=("build", "run"), when="^python@:2.6,3.0:3.1")
+ depends_on("py-funcsigs", type=("build", "run"), when="@:0.47 ^python@:3.2")
+ depends_on("py-enum34", type=("build", "run"), when="@:0.47 ^python@:3.3")
+ depends_on("py-singledispatch", type=("build", "run"), when="@:0.47 ^python@:3.3")
# Version 6.0.0 of llvm had a hidden symbol which breaks numba at runtime.
# See https://reviews.llvm.org/D44140
- conflicts('^llvm@6.0.0')
+ conflicts("^llvm@6.0.0")
diff --git a/var/spack/repos/builtin/packages/py-numcodecs/package.py b/var/spack/repos/builtin/packages/py-numcodecs/package.py
index 231f6e9a8f..5d270bb924 100644
--- a/var/spack/repos/builtin/packages/py-numcodecs/package.py
+++ b/var/spack/repos/builtin/packages/py-numcodecs/package.py
@@ -18,20 +18,20 @@ class PyNumcodecs(PythonPackage):
# 'numcodecs.tests' excluded from 'import_modules' because it requires
# an additional dependency on 'pytest'
- import_modules = ['numcodecs']
+ import_modules = ["numcodecs"]
- version('master', branch='master', submodules=True)
- version('0.7.3', sha256='022b12ad83eb623ec53f154859d49f6ec43b15c36052fa864eaf2d9ee786dd85')
- version('0.6.4', sha256='ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d')
+ version("master", branch="master", submodules=True)
+ version("0.7.3", sha256="022b12ad83eb623ec53f154859d49f6ec43b15c36052fa864eaf2d9ee786dd85")
+ version("0.6.4", sha256="ef4843d5db4d074e607e9b85156835c10d006afc10e175bda62ff5412fca6e4d")
- variant('msgpack', default=False, description='Codec to encode data as msgpacked bytes.')
+ variant("msgpack", default=False, description="Codec to encode data as msgpacked bytes.")
- depends_on('python@3.6:3', when='@0.7:', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@:0.6', type=('build', 'link', 'run'))
- depends_on('py-setuptools@18.1:', type='build')
- depends_on('py-setuptools-scm@1.5.5:', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-msgpack', type=('build', 'run'), when='+msgpack')
+ depends_on("python@3.6:3", when="@0.7:", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@:0.6", type=("build", "link", "run"))
+ depends_on("py-setuptools@18.1:", type="build")
+ depends_on("py-setuptools-scm@1.5.5:", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-msgpack", type=("build", "run"), when="+msgpack")
- patch('apple-clang-12.patch', when='%apple-clang@12:')
+ patch("apple-clang-12.patch", when="%apple-clang@12:")
diff --git a/var/spack/repos/builtin/packages/py-numexpr/package.py b/var/spack/repos/builtin/packages/py-numexpr/package.py
index 455a83ea61..0d8db064f4 100644
--- a/var/spack/repos/builtin/packages/py-numexpr/package.py
+++ b/var/spack/repos/builtin/packages/py-numexpr/package.py
@@ -10,19 +10,19 @@ class PyNumexpr(PythonPackage):
"""Fast numerical expression evaluator for NumPy"""
homepage = "https://github.com/pydata/numexpr"
- url = "https://github.com/pydata/numexpr/archive/v2.7.0.tar.gz"
+ url = "https://github.com/pydata/numexpr/archive/v2.7.0.tar.gz"
- version('2.7.3', sha256='00d6b1518605afe0ed10417e0ff07123e5d531c02496c6eed7dd4b9923238e1e')
- version('2.7.2', sha256='7d1b3790103221feda07f4a93a4fa5c6654f46865197a677ca6f27eb5cb4e5ef')
- version('2.7.0', sha256='1923f038b90cc69635871968ed742be7775c879451c612f173c2547c823c9561')
- version('2.6.9', sha256='d57267bbdf10906f5ed7841b3484bec4af0494102b50e89ba316924cc7a7fd46')
- version('2.6.5', sha256='fe78a78e002806e87e012b6105f3b3d52d47fc7a72bafb56341fcec7ce02cfd7')
- version('2.6.1', sha256='e92c83d066fa8da63864d69b5f218287cc31437ae844db77390f2183123aab22')
- version('2.5', sha256='4ca111a9a27c9513c2e2f5b70c0a84ea69081d7d8e4512d4c3f26a485292de0d')
- version('2.4.6', sha256='2681faf55a3f19ba4424cc3d6f0a10610ebd49f029f8453f0ba64dd5c0fe4e0f')
+ version("2.7.3", sha256="00d6b1518605afe0ed10417e0ff07123e5d531c02496c6eed7dd4b9923238e1e")
+ version("2.7.2", sha256="7d1b3790103221feda07f4a93a4fa5c6654f46865197a677ca6f27eb5cb4e5ef")
+ version("2.7.0", sha256="1923f038b90cc69635871968ed742be7775c879451c612f173c2547c823c9561")
+ version("2.6.9", sha256="d57267bbdf10906f5ed7841b3484bec4af0494102b50e89ba316924cc7a7fd46")
+ version("2.6.5", sha256="fe78a78e002806e87e012b6105f3b3d52d47fc7a72bafb56341fcec7ce02cfd7")
+ version("2.6.1", sha256="e92c83d066fa8da63864d69b5f218287cc31437ae844db77390f2183123aab22")
+ version("2.5", sha256="4ca111a9a27c9513c2e2f5b70c0a84ea69081d7d8e4512d4c3f26a485292de0d")
+ version("2.4.6", sha256="2681faf55a3f19ba4424cc3d6f0a10610ebd49f029f8453f0ba64dd5c0fe4e0f")
- depends_on('python@2.7:', when='@2.7.3:', type=('build', 'run'))
- depends_on('python@2.6:', when='@:2.7.2', type=('build', 'run'))
+ depends_on("python@2.7:", when="@2.7.3:", type=("build", "run"))
+ depends_on("python@2.6:", when="@:2.7.2", type=("build", "run"))
# https://github.com/pydata/numexpr/issues/397
- depends_on('py-numpy@1.7:1.22', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-numpy@1.7:1.22", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-numexpr3/package.py b/var/spack/repos/builtin/packages/py-numexpr3/package.py
index 2ead4f4c35..c8951ff6cf 100644
--- a/var/spack/repos/builtin/packages/py-numexpr3/package.py
+++ b/var/spack/repos/builtin/packages/py-numexpr3/package.py
@@ -17,13 +17,14 @@ class PyNumexpr3(PythonPackage):
that gcc can auto-vectorize them with SIMD instruction sets such as
SSE2 or AVX2, if your processor supports them. Use of a newer version of
gcc such as 5.4 is strongly recommended."""
+
homepage = "https://github.com/pydata/numexpr/tree/numexpr-3.0"
pypi = "numexpr3/numexpr3-3.0.1a1.tar.gz"
- version('3.0.1a1', sha256='de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6')
+ version("3.0.1a1", sha256="de06f1b4206704b5bc19ea09b5c94350b97c211c26bc866f275252a8461b87e6")
# TODO: Add CMake build system for better control of passing flags related
# to CPU ISA.
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-setuptools@18.2:', type='build')
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-setuptools@18.2:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py b/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py
index d1d71465f2..672b15a8f9 100644
--- a/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy-quaternion/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class PyNumpyQuaternion(PythonPackage):
@@ -17,16 +17,19 @@ class PyNumpyQuaternion(PythonPackage):
C for speed."""
homepage = "https://github.com/moble/quaternion"
- pypi = "numpy-quaternion/numpy-quaternion-2021.11.4.15.26.3.tar.gz"
+ pypi = "numpy-quaternion/numpy-quaternion-2021.11.4.15.26.3.tar.gz"
- version('2021.11.4.15.26.3', sha256='b0dc670b2adc8ff2fb8d6105a48769873f68d6ccbe20af6a19e899b1e8d48aaf')
+ version(
+ "2021.11.4.15.26.3",
+ sha256="b0dc670b2adc8ff2fb8d6105a48769873f68d6ccbe20af6a19e899b1e8d48aaf",
+ )
- variant('scipy', default=True, description="Build with scipy support")
- variant('numba', default=True, description="Build with numba support")
+ variant("scipy", default=True, description="Build with scipy support")
+ variant("numba", default=True, description="Build with numba support")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'), when='+scipy')
- depends_on('py-numba', type=('build', 'run'), when='+numba')
- depends_on('py-numba@:0.48', type=('build', 'run'), when='+numba^python@:3.5')
- depends_on('py-llvmlite@:0.31', type=('build', 'run'), when='+numba^python@:3.5')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"), when="+scipy")
+ depends_on("py-numba", type=("build", "run"), when="+numba")
+ depends_on("py-numba@:0.48", type=("build", "run"), when="+numba^python@:3.5")
+ depends_on("py-llvmlite@:0.31", type=("build", "run"), when="+numba^python@:3.5")
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index dbaed870d6..76210b1573 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -18,233 +18,237 @@ class PyNumpy(PythonPackage):
homepage = "https://numpy.org/"
pypi = "numpy/numpy-1.23.0.tar.gz"
- git = "https://github.com/numpy/numpy.git"
-
- maintainers = ['adamjstewart', 'rgommers']
-
- version('main', branch='main')
- version('1.23.1', sha256='d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624')
- version('1.23.0', sha256='bd3fa4fe2e38533d5336e1272fc4e765cabbbde144309ccee8675509d5cd7b05')
- version('1.22.4', sha256='425b390e4619f58d8526b3dcf656dde069133ae5c240229821f01b5f44ea07af')
- version('1.22.3', sha256='dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18')
- version('1.22.2', sha256='076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf')
- version('1.22.1', sha256='e348ccf5bc5235fc405ab19d53bec215bb373300e5523c7b476cc0da8a5e9973')
- version('1.22.0', sha256='a955e4128ac36797aaffd49ab44ec74a71c11d6938df83b1285492d277db5397')
- version('1.21.6', sha256='ecb55251139706669fdec2ff073c98ef8e9a84473e51e716211b41aa0f18e656')
- version('1.21.5', sha256='6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee')
- version('1.21.4', sha256='e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0')
- version('1.21.3', sha256='63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e')
- version('1.21.2', sha256='423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc')
- version('1.21.1', sha256='dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd')
- version('1.21.0', sha256='e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce')
- version('1.20.3', sha256='e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69')
- version('1.20.2', sha256='878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee')
- version('1.20.1', sha256='3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a')
- version('1.20.0', sha256='3d8233c03f116d068d5365fed4477f2947c7229582dad81e5953088989294cec')
- version('1.19.5', sha256='a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4')
- version('1.19.4', sha256='141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512')
- version('1.19.3', sha256='35bf5316af8dc7c7db1ad45bec603e5fb28671beb98ebd1d65e8059efcfd3b72')
- version('1.19.2', sha256='0d310730e1e793527065ad7dde736197b705d0e4c9999775f212b03c44a8484c')
- version('1.19.1', sha256='b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491')
- version('1.19.0', sha256='76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598')
- version('1.18.5', sha256='34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b')
- version('1.18.4', sha256='bbcc85aaf4cd84ba057decaead058f43191cc0e30d6bc5d44fe336dc3d3f4509')
- version('1.18.3', sha256='e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8')
- version('1.18.2', sha256='e7894793e6e8540dbeac77c87b489e331947813511108ae097f1715c018b8f3d')
- version('1.18.1', sha256='b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77')
- version('1.18.0', sha256='a9d72d9abaf65628f0f31bbb573b7d9304e43b1e6bbae43149c17737a42764c4')
- version('1.17.5', sha256='16507ba6617f62ae3c6ab1725ae6f550331025d4d9a369b83f6d5a470446c342')
- version('1.17.4', sha256='f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316')
- version('1.17.3', sha256='a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e')
- version('1.17.2', sha256='73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df')
- version('1.17.1', sha256='f11331530f0eff69a758d62c2461cd98cdc2eae0147279d8fc86e0464eb7e8ca')
- version('1.17.0', sha256='951fefe2fb73f84c620bec4e001e80a80ddaa1b84dce244ded7f1e0cbe0ed34a')
- version('1.16.6', sha256='e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff')
- version('1.16.5', sha256='8bb452d94e964b312205b0de1238dd7209da452343653ab214b5d681780e7a0c')
- version('1.16.4', sha256='7242be12a58fec245ee9734e625964b97cf7e3f2f7d016603f9e56660ce479c7')
- version('1.16.3', sha256='78a6f89da87eeb48014ec652a65c4ffde370c036d780a995edaeb121d3625621')
- version('1.16.2', sha256='6c692e3879dde0b67a9dc78f9bfb6f61c666b4562fd8619632d7043fb5b691b0')
- version('1.16.1', sha256='31d3fe5b673e99d33d70cfee2ea8fe8dccd60f265c3ed990873a88647e3dd288')
- version('1.16.0', sha256='cb189bd98b2e7ac02df389b6212846ab20661f4bafe16b5a70a6f1728c1cc7cb')
- version('1.15.4', sha256='3d734559db35aa3697dadcea492a423118c5c55d176da2f3be9c98d4803fc2a7')
- version('1.15.3', sha256='1c0c80e74759fa4942298044274f2c11b08c86230b25b8b819e55e644f5ff2b6')
- version('1.15.2', sha256='27a0d018f608a3fe34ac5e2b876f4c23c47e38295c47dd0775cc294cd2614bc1')
- version('1.15.2', sha256='27a0d018f608a3fe34ac5e2b876f4c23c47e38295c47dd0775cc294cd2614bc1')
- version('1.15.1', sha256='7b9e37f194f8bcdca8e9e6af92e2cbad79e360542effc2dd6b98d63955d8d8a3')
- version('1.15.0', sha256='f28e73cf18d37a413f7d5de35d024e6b98f14566a10d82100f9dc491a7d449f9')
- version('1.14.6', sha256='1250edf6f6c43e1d7823f0967416bc18258bb271dc536298eb0ea00a9e45b80a')
- version('1.14.5', sha256='a4a433b3a264dbc9aa9c7c241e87c0358a503ea6394f8737df1683c7c9a102ac')
- version('1.14.4', sha256='2185a0f31ecaa0792264fa968c8e0ba6d96acf144b26e2e1d1cd5b77fc11a691')
- version('1.14.3', sha256='9016692c7d390f9d378fc88b7a799dc9caa7eb938163dda5276d3f3d6f75debf')
- version('1.14.2', sha256='facc6f925c3099ac01a1f03758100772560a0b020fb9d70f210404be08006bcb')
- version('1.14.1', sha256='fa0944650d5d3fb95869eaacd8eedbd2d83610c85e271bd9d3495ffa9bc4dc9c')
- version('1.14.0', sha256='3de643935b212307b420248018323a44ec51987a336d1d747c1322afc3c099fb')
- version('1.13.3', sha256='36ee86d5adbabc4fa2643a073f93d5504bdfed37a149a3a49f4dde259f35a750')
- version('1.13.1', sha256='c9b0283776085cb2804efff73e9955ca279ba4edafd58d3ead70b61d209c4fbb')
- version('1.13.0', sha256='dcff367b725586830ff0e20b805c7654c876c2d4585c0834a6049502b9d6cf7e')
- version('1.12.1', sha256='a65266a4ad6ec8936a1bc85ce51f8600634a31a258b722c9274a80ff189d9542')
- version('1.12.0', sha256='ff320ecfe41c6581c8981dce892fe6d7e69806459a899e294e4bf8229737b154')
- version('1.11.3', sha256='2e0fc5248246a64628656fe14fcab0a959741a2820e003bd15538226501b82f7')
- version('1.11.2', sha256='c1ed4d1d2a795409c7df1eb4bfee65c0e3326cfc7c57875fa39e5c7414116d9a')
- version('1.11.1', sha256='4e9c289b9d764d10353a224a5286dda3e0425b13b112719bdc3e9864ae648d79')
- version('1.11.0', sha256='9109f260850627e4b83a3c4bcef4f2f99357eb4a5eaae75dec51c32f3c197aa3')
- version('1.10.4', sha256='8ce443dc79656a9fc97a7837f1444d324aef2c9b53f31f83441f57ad1f1f3659')
- version('1.9.3', sha256='baa074bb1c7f9c822122fb81459b7caa5fc49267ca94cca69465c8dcfd63ac79')
- version('1.9.2', sha256='e37805754f4ebb575c434d134f6bebb8b857d9843c393f6943c7be71ef57311c')
- version('1.9.1', sha256='2a545c0d096d86035b12160fcba5e4c0a08dcabbf902b4f867eb64deb31a2b7a')
-
- 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:3.6', type=('build', 'link', 'run'), when='@:1.13')
- depends_on('python@2.7:2.8,3.4:3.8', type=('build', 'link', 'run'), when='@1.14:1.15')
- depends_on('python@2.7:2.8,3.5:3.9', type=('build', 'link', 'run'), when='@1.16')
- depends_on('python@3.5:3.9', type=('build', 'link', 'run'), when='@1.17:1.18')
- depends_on('python@3.6:3.10', type=('build', 'link', 'run'), when='@1.19')
- depends_on('python@3.7:3.10', type=('build', 'link', 'run'), when='@1.20:1.21')
- depends_on('python@3.8:', type=('build', 'link', 'run'), when='@1.22:')
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools@:59', when='@:1.22.1', type=('build', 'run'))
+ git = "https://github.com/numpy/numpy.git"
+
+ maintainers = ["adamjstewart", "rgommers"]
+
+ version("main", branch="main")
+ version("1.23.1", sha256="d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624")
+ version("1.23.0", sha256="bd3fa4fe2e38533d5336e1272fc4e765cabbbde144309ccee8675509d5cd7b05")
+ version("1.22.4", sha256="425b390e4619f58d8526b3dcf656dde069133ae5c240229821f01b5f44ea07af")
+ version("1.22.3", sha256="dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18")
+ version("1.22.2", sha256="076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf")
+ version("1.22.1", sha256="e348ccf5bc5235fc405ab19d53bec215bb373300e5523c7b476cc0da8a5e9973")
+ version("1.22.0", sha256="a955e4128ac36797aaffd49ab44ec74a71c11d6938df83b1285492d277db5397")
+ version("1.21.6", sha256="ecb55251139706669fdec2ff073c98ef8e9a84473e51e716211b41aa0f18e656")
+ version("1.21.5", sha256="6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee")
+ version("1.21.4", sha256="e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0")
+ version("1.21.3", sha256="63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e")
+ version("1.21.2", sha256="423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc")
+ version("1.21.1", sha256="dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd")
+ version("1.21.0", sha256="e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce")
+ version("1.20.3", sha256="e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69")
+ version("1.20.2", sha256="878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee")
+ version("1.20.1", sha256="3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a")
+ version("1.20.0", sha256="3d8233c03f116d068d5365fed4477f2947c7229582dad81e5953088989294cec")
+ version("1.19.5", sha256="a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4")
+ version("1.19.4", sha256="141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512")
+ version("1.19.3", sha256="35bf5316af8dc7c7db1ad45bec603e5fb28671beb98ebd1d65e8059efcfd3b72")
+ version("1.19.2", sha256="0d310730e1e793527065ad7dde736197b705d0e4c9999775f212b03c44a8484c")
+ version("1.19.1", sha256="b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491")
+ version("1.19.0", sha256="76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598")
+ version("1.18.5", sha256="34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b")
+ version("1.18.4", sha256="bbcc85aaf4cd84ba057decaead058f43191cc0e30d6bc5d44fe336dc3d3f4509")
+ version("1.18.3", sha256="e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8")
+ version("1.18.2", sha256="e7894793e6e8540dbeac77c87b489e331947813511108ae097f1715c018b8f3d")
+ version("1.18.1", sha256="b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77")
+ version("1.18.0", sha256="a9d72d9abaf65628f0f31bbb573b7d9304e43b1e6bbae43149c17737a42764c4")
+ version("1.17.5", sha256="16507ba6617f62ae3c6ab1725ae6f550331025d4d9a369b83f6d5a470446c342")
+ version("1.17.4", sha256="f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316")
+ version("1.17.3", sha256="a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e")
+ version("1.17.2", sha256="73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df")
+ version("1.17.1", sha256="f11331530f0eff69a758d62c2461cd98cdc2eae0147279d8fc86e0464eb7e8ca")
+ version("1.17.0", sha256="951fefe2fb73f84c620bec4e001e80a80ddaa1b84dce244ded7f1e0cbe0ed34a")
+ version("1.16.6", sha256="e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff")
+ version("1.16.5", sha256="8bb452d94e964b312205b0de1238dd7209da452343653ab214b5d681780e7a0c")
+ version("1.16.4", sha256="7242be12a58fec245ee9734e625964b97cf7e3f2f7d016603f9e56660ce479c7")
+ version("1.16.3", sha256="78a6f89da87eeb48014ec652a65c4ffde370c036d780a995edaeb121d3625621")
+ version("1.16.2", sha256="6c692e3879dde0b67a9dc78f9bfb6f61c666b4562fd8619632d7043fb5b691b0")
+ version("1.16.1", sha256="31d3fe5b673e99d33d70cfee2ea8fe8dccd60f265c3ed990873a88647e3dd288")
+ version("1.16.0", sha256="cb189bd98b2e7ac02df389b6212846ab20661f4bafe16b5a70a6f1728c1cc7cb")
+ version("1.15.4", sha256="3d734559db35aa3697dadcea492a423118c5c55d176da2f3be9c98d4803fc2a7")
+ version("1.15.3", sha256="1c0c80e74759fa4942298044274f2c11b08c86230b25b8b819e55e644f5ff2b6")
+ version("1.15.2", sha256="27a0d018f608a3fe34ac5e2b876f4c23c47e38295c47dd0775cc294cd2614bc1")
+ version("1.15.2", sha256="27a0d018f608a3fe34ac5e2b876f4c23c47e38295c47dd0775cc294cd2614bc1")
+ version("1.15.1", sha256="7b9e37f194f8bcdca8e9e6af92e2cbad79e360542effc2dd6b98d63955d8d8a3")
+ version("1.15.0", sha256="f28e73cf18d37a413f7d5de35d024e6b98f14566a10d82100f9dc491a7d449f9")
+ version("1.14.6", sha256="1250edf6f6c43e1d7823f0967416bc18258bb271dc536298eb0ea00a9e45b80a")
+ version("1.14.5", sha256="a4a433b3a264dbc9aa9c7c241e87c0358a503ea6394f8737df1683c7c9a102ac")
+ version("1.14.4", sha256="2185a0f31ecaa0792264fa968c8e0ba6d96acf144b26e2e1d1cd5b77fc11a691")
+ version("1.14.3", sha256="9016692c7d390f9d378fc88b7a799dc9caa7eb938163dda5276d3f3d6f75debf")
+ version("1.14.2", sha256="facc6f925c3099ac01a1f03758100772560a0b020fb9d70f210404be08006bcb")
+ version("1.14.1", sha256="fa0944650d5d3fb95869eaacd8eedbd2d83610c85e271bd9d3495ffa9bc4dc9c")
+ version("1.14.0", sha256="3de643935b212307b420248018323a44ec51987a336d1d747c1322afc3c099fb")
+ version("1.13.3", sha256="36ee86d5adbabc4fa2643a073f93d5504bdfed37a149a3a49f4dde259f35a750")
+ version("1.13.1", sha256="c9b0283776085cb2804efff73e9955ca279ba4edafd58d3ead70b61d209c4fbb")
+ version("1.13.0", sha256="dcff367b725586830ff0e20b805c7654c876c2d4585c0834a6049502b9d6cf7e")
+ version("1.12.1", sha256="a65266a4ad6ec8936a1bc85ce51f8600634a31a258b722c9274a80ff189d9542")
+ version("1.12.0", sha256="ff320ecfe41c6581c8981dce892fe6d7e69806459a899e294e4bf8229737b154")
+ version("1.11.3", sha256="2e0fc5248246a64628656fe14fcab0a959741a2820e003bd15538226501b82f7")
+ version("1.11.2", sha256="c1ed4d1d2a795409c7df1eb4bfee65c0e3326cfc7c57875fa39e5c7414116d9a")
+ version("1.11.1", sha256="4e9c289b9d764d10353a224a5286dda3e0425b13b112719bdc3e9864ae648d79")
+ version("1.11.0", sha256="9109f260850627e4b83a3c4bcef4f2f99357eb4a5eaae75dec51c32f3c197aa3")
+ version("1.10.4", sha256="8ce443dc79656a9fc97a7837f1444d324aef2c9b53f31f83441f57ad1f1f3659")
+ version("1.9.3", sha256="baa074bb1c7f9c822122fb81459b7caa5fc49267ca94cca69465c8dcfd63ac79")
+ version("1.9.2", sha256="e37805754f4ebb575c434d134f6bebb8b857d9843c393f6943c7be71ef57311c")
+ version("1.9.1", sha256="2a545c0d096d86035b12160fcba5e4c0a08dcabbf902b4f867eb64deb31a2b7a")
+
+ 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:3.6", type=("build", "link", "run"), when="@:1.13")
+ depends_on("python@2.7:2.8,3.4:3.8", type=("build", "link", "run"), when="@1.14:1.15")
+ depends_on("python@2.7:2.8,3.5:3.9", type=("build", "link", "run"), when="@1.16")
+ depends_on("python@3.5:3.9", type=("build", "link", "run"), when="@1.17:1.18")
+ depends_on("python@3.6:3.10", type=("build", "link", "run"), when="@1.19")
+ depends_on("python@3.7:3.10", type=("build", "link", "run"), when="@1.20:1.21")
+ depends_on("python@3.8:", type=("build", "link", "run"), when="@1.22:")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools@:59", when="@:1.22.1", type=("build", "run"))
# Check pyproject.toml for updates to the required cython version
- depends_on('py-cython@0.29.13:2', when='@1.18.0:', type='build')
- depends_on('py-cython@0.29.14:2', when='@1.18.1:', type='build')
- depends_on('py-cython@0.29.21:2', when='@1.19.1:', type='build')
- depends_on('py-cython@0.29.24:2', when='@1.21.2:', type='build')
- depends_on('py-cython@0.29.30:2', when='@1.22.4:', type='build')
- depends_on('blas', when='+blas')
- depends_on('lapack', when='+lapack')
-
- depends_on('py-nose@1.0.0:', when='@:1.14', type='test')
- depends_on('py-pytest', when='@1.15:', type='test')
- depends_on('py-hypothesis', when='@1.19:', type='test')
- depends_on('py-typing-extensions@4.2:', when='@1.23:', type='test')
+ depends_on("py-cython@0.29.13:2", when="@1.18.0:", type="build")
+ depends_on("py-cython@0.29.14:2", when="@1.18.1:", type="build")
+ depends_on("py-cython@0.29.21:2", when="@1.19.1:", type="build")
+ depends_on("py-cython@0.29.24:2", when="@1.21.2:", type="build")
+ depends_on("py-cython@0.29.30:2", when="@1.22.4:", type="build")
+ depends_on("blas", when="+blas")
+ depends_on("lapack", when="+lapack")
+
+ depends_on("py-nose@1.0.0:", when="@:1.14", type="test")
+ depends_on("py-pytest", when="@1.15:", type="test")
+ depends_on("py-hypothesis", when="@1.19:", type="test")
+ depends_on("py-typing-extensions@4.2:", when="@1.23:", type="test")
# Allows you to specify order of BLAS/LAPACK preference
# https://github.com/numpy/numpy/pull/13132
- patch('blas-lapack-order.patch', when='@1.15:1.16')
+ patch("blas-lapack-order.patch", when="@1.15:1.16")
# Add Fujitsu Fortran compiler
- patch('add_fj_compiler.patch', when='@1.19.3:1.19.5%fj')
- patch('add_fj_compiler2.patch', when='@1.19.0:1.19.2%fj')
- patch('add_fj_compiler3.patch', when='@1.14.0:1.18.5%fj')
- patch('add_fj_compiler4.patch', when='@:1.13.3%fj')
+ patch("add_fj_compiler.patch", when="@1.19.3:1.19.5%fj")
+ patch("add_fj_compiler2.patch", when="@1.19.0:1.19.2%fj")
+ patch("add_fj_compiler3.patch", when="@1.14.0:1.18.5%fj")
+ patch("add_fj_compiler4.patch", when="@:1.13.3%fj")
- patch('check_executables.patch', when='@1.20.0:')
- patch('check_executables2.patch', when='@1.19.0:1.19.5')
- patch('check_executables3.patch', when='@1.16.0:1.18.5')
- patch('check_executables4.patch', when='@1.14.0:1.15.4')
- patch('check_executables5.patch', when='@:1.13.3')
+ patch("check_executables.patch", when="@1.20.0:")
+ patch("check_executables2.patch", when="@1.19.0:1.19.5")
+ patch("check_executables3.patch", when="@1.16.0:1.18.5")
+ patch("check_executables4.patch", when="@1.14.0:1.15.4")
+ patch("check_executables5.patch", when="@:1.13.3")
# Backport bug fix for f2py's define for threading when building with Mingw
- patch('https://github.com/numpy/numpy/pull/20881.patch?full_index=1',
- sha256='802970a9034d40a8a8f49a03f489d5361d5eabf69249621e6757651448910f1a',
- when='@1.20.3:1.22.1')
+ patch(
+ "https://github.com/numpy/numpy/pull/20881.patch?full_index=1",
+ sha256="802970a9034d40a8a8f49a03f489d5361d5eabf69249621e6757651448910f1a",
+ when="@1.20.3:1.22.1",
+ )
# Patch to update compiler flags.
# See https://github.com/spack/spack/issues/30373
- patch('https://github.com/numpy/numpy/pull/21448.patch?full_index=1',
- sha256='e9508c3b3a1e1a24669014a0c1b9f3b009a149ea3886cf711eaef2a32b247fdb',
- when='@1.22.0:1.22.3')
+ patch(
+ "https://github.com/numpy/numpy/pull/21448.patch?full_index=1",
+ sha256="e9508c3b3a1e1a24669014a0c1b9f3b009a149ea3886cf711eaef2a32b247fdb",
+ when="@1.22.0:1.22.3",
+ )
# version 1.21.0 runs into an infinit loop during printing
# (e.g. print(numpy.ones(1000)) when compiled with gcc 11
- conflicts('%gcc@11:', when='@1.21.0')
+ conflicts("%gcc@11:", when="@1.21.0")
# GCC 4.8 is the minimum version that works
- conflicts('%gcc@:4.7', msg='GCC 4.8+ required')
+ conflicts("%gcc@:4.7", msg="GCC 4.8+ required")
# NVHPC support added in https://github.com/numpy/numpy/pull/17344
- conflicts('%nvhpc', when='@:1.19')
+ conflicts("%nvhpc", when="@:1.19")
# Newer versions will not build with Intel https://github.com/numpy/numpy/issues/22011
- conflicts('%intel', when='@1.23.0:')
+ conflicts("%intel", when="@1.23.0:")
def url_for_version(self, version):
- url = 'https://files.pythonhosted.org/packages/source/n/numpy/numpy-{}.{}'
- if version >= Version('1.23'):
- ext = 'tar.gz'
+ url = "https://files.pythonhosted.org/packages/source/n/numpy/numpy-{}.{}"
+ if version >= Version("1.23"):
+ ext = "tar.gz"
else:
- ext = 'zip'
+ ext = "zip"
return url.format(version, ext)
def flag_handler(self, name, flags):
# -std=c99 at least required, old versions of GCC default to -std=c90
- if self.spec.satisfies('%gcc@:5.1') and name == 'cflags':
+ if self.spec.satisfies("%gcc@:5.1") and name == "cflags":
flags.append(self.compiler.c99_flag)
# Check gcc version in use by intel compiler
# This will essentially check the system gcc compiler unless a gcc
# module is already loaded.
- if self.spec.satisfies('%intel') and name == 'cflags':
- p1 = subprocess.Popen(
- [self.compiler.cc, '-v'],
- stderr=subprocess.PIPE
- )
+ if self.spec.satisfies("%intel") and name == "cflags":
+ p1 = subprocess.Popen([self.compiler.cc, "-v"], stderr=subprocess.PIPE)
p2 = subprocess.Popen(
- ['grep', 'compatibility'],
- stdin=p1.stderr,
- stdout=subprocess.PIPE
+ ["grep", "compatibility"], stdin=p1.stderr, stdout=subprocess.PIPE
)
p1.stderr.close()
out, err = p2.communicate()
- gcc_version = Version(out.split()[5].decode('utf-8'))
- if gcc_version < Version('4.8'):
- raise InstallError('The GCC version that the Intel compiler '
- 'uses must be >= 4.8. The GCC in use is '
- '{0}'.format(gcc_version))
- if gcc_version <= Version('5.1'):
+ gcc_version = Version(out.split()[5].decode("utf-8"))
+ if gcc_version < Version("4.8"):
+ raise InstallError(
+ "The GCC version that the Intel compiler "
+ "uses must be >= 4.8. The GCC in use is "
+ "{0}".format(gcc_version)
+ )
+ if gcc_version <= Version("5.1"):
flags.append(self.compiler.c99_flag)
return (flags, None, None)
- @run_before('install')
+ @run_before("install")
def set_blas_lapack(self):
# https://numpy.org/devdocs/user/building.html
# https://github.com/numpy/numpy/blob/master/site.cfg.example
# Skip if no BLAS/LAPACK requested
spec = self.spec
- if '+blas' not in spec and '+lapack' not in spec:
+ if "+blas" not in spec and "+lapack" not in spec:
return
def write_library_dirs(f, dirs):
- f.write('library_dirs = {0}\n'.format(dirs))
- if not ((platform.system() == 'Darwin') and
- (Version(platform.mac_ver()[0]).up_to(2) == Version(
- '10.12'))):
- f.write('rpath = {0}\n'.format(dirs))
+ f.write("library_dirs = {0}\n".format(dirs))
+ if not (
+ (platform.system() == "Darwin")
+ and (Version(platform.mac_ver()[0]).up_to(2) == Version("10.12"))
+ ):
+ f.write("rpath = {0}\n".format(dirs))
blas_libs = LibraryList([])
blas_headers = HeaderList([])
- if '+blas' in spec:
- blas_libs = spec['blas'].libs
- blas_headers = spec['blas'].headers
+ if "+blas" in spec:
+ blas_libs = spec["blas"].libs
+ blas_headers = spec["blas"].headers
lapack_libs = LibraryList([])
lapack_headers = HeaderList([])
- if '+lapack' in spec:
- lapack_libs = spec['lapack'].libs
- lapack_headers = spec['lapack'].headers
+ if "+lapack" in spec:
+ lapack_libs = spec["lapack"].libs
+ lapack_headers = spec["lapack"].headers
lapackblas_libs = lapack_libs + blas_libs
lapackblas_headers = lapack_headers + blas_headers
- blas_lib_names = ','.join(blas_libs.names)
- blas_lib_dirs = ':'.join(blas_libs.directories)
- blas_header_dirs = ':'.join(blas_headers.directories)
+ blas_lib_names = ",".join(blas_libs.names)
+ blas_lib_dirs = ":".join(blas_libs.directories)
+ blas_header_dirs = ":".join(blas_headers.directories)
- lapack_lib_names = ','.join(lapack_libs.names)
- lapack_lib_dirs = ':'.join(lapack_libs.directories)
- lapack_header_dirs = ':'.join(lapack_headers.directories)
+ lapack_lib_names = ",".join(lapack_libs.names)
+ lapack_lib_dirs = ":".join(lapack_libs.directories)
+ lapack_header_dirs = ":".join(lapack_headers.directories)
- lapackblas_lib_names = ','.join(lapackblas_libs.names)
- lapackblas_lib_dirs = ':'.join(lapackblas_libs.directories)
- lapackblas_header_dirs = ':'.join(lapackblas_headers.directories)
+ lapackblas_lib_names = ",".join(lapackblas_libs.names)
+ lapackblas_lib_dirs = ":".join(lapackblas_libs.directories)
+ lapackblas_header_dirs = ":".join(lapackblas_headers.directories)
# Tell numpy where to find BLAS/LAPACK libraries
- with open('site.cfg', 'w') as f:
- if '^intel-mkl' in spec or \
- '^intel-parallel-studio+mkl' in spec or \
- '^intel-oneapi-mkl' in spec:
- f.write('[mkl]\n')
+ with open("site.cfg", "w") as f:
+ if (
+ "^intel-mkl" in spec
+ or "^intel-parallel-studio+mkl" in spec
+ or "^intel-oneapi-mkl" in spec
+ ):
+ f.write("[mkl]\n")
# FIXME: as of @1.11.2, numpy does not work with separately
# specified threading and interface layers. A workaround is a
# terribly bad idea to use mkl_rt. In this case Spack will no
@@ -257,77 +261,66 @@ class PyNumpy(PythonPackage):
# dynamically. From this perspective it is no different from
# throwing away RPATH's and using LD_LIBRARY_PATH throughout
# Spack.
- f.write('libraries = {0}\n'.format('mkl_rt'))
+ f.write("libraries = {0}\n".format("mkl_rt"))
write_library_dirs(f, lapackblas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapackblas_header_dirs))
+ f.write("include_dirs = {0}\n".format(lapackblas_header_dirs))
- if '^blis' in spec or \
- '^amdblis' in spec:
- f.write('[blis]\n')
- f.write('libraries = {0}\n'.format(blas_lib_names))
+ if "^blis" in spec or "^amdblis" in spec:
+ f.write("[blis]\n")
+ f.write("libraries = {0}\n".format(blas_lib_names))
write_library_dirs(f, blas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(blas_header_dirs))
+ f.write("include_dirs = {0}\n".format(blas_header_dirs))
- if '^openblas' in spec:
- f.write('[openblas]\n')
- f.write('libraries = {0}\n'.format(lapackblas_lib_names))
+ if "^openblas" in spec:
+ f.write("[openblas]\n")
+ f.write("libraries = {0}\n".format(lapackblas_lib_names))
write_library_dirs(f, lapackblas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapackblas_header_dirs))
+ f.write("include_dirs = {0}\n".format(lapackblas_header_dirs))
- if '^libflame' in spec or \
- '^amdlibflame' in spec:
- f.write('[flame]\n')
- f.write('libraries = {0}\n'.format(lapack_lib_names))
+ if "^libflame" in spec or "^amdlibflame" in spec:
+ f.write("[flame]\n")
+ f.write("libraries = {0}\n".format(lapack_lib_names))
write_library_dirs(f, lapack_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapack_header_dirs))
+ f.write("include_dirs = {0}\n".format(lapack_header_dirs))
- if '^atlas' in spec:
- f.write('[atlas]\n')
- f.write('libraries = {0}\n'.format(lapackblas_lib_names))
+ if "^atlas" in spec:
+ f.write("[atlas]\n")
+ f.write("libraries = {0}\n".format(lapackblas_lib_names))
write_library_dirs(f, lapackblas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapackblas_header_dirs))
+ f.write("include_dirs = {0}\n".format(lapackblas_header_dirs))
- if '^veclibfort' in spec:
- f.write('[accelerate]\n')
- f.write('libraries = {0}\n'.format(lapackblas_lib_names))
+ if "^veclibfort" in spec:
+ f.write("[accelerate]\n")
+ f.write("libraries = {0}\n".format(lapackblas_lib_names))
write_library_dirs(f, lapackblas_lib_dirs)
- if '^netlib-lapack' in spec or \
- '^cray-libsci' in spec:
+ if "^netlib-lapack" in spec or "^cray-libsci" in spec:
# netlib and Cray require blas and lapack listed
# separately so that scipy can find them
- if spec.satisfies('+blas'):
- f.write('[blas]\n')
- f.write('libraries = {0}\n'.format(blas_lib_names))
+ if spec.satisfies("+blas"):
+ f.write("[blas]\n")
+ f.write("libraries = {0}\n".format(blas_lib_names))
write_library_dirs(f, blas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(blas_header_dirs))
- if spec.satisfies('+lapack'):
- f.write('[lapack]\n')
- f.write('libraries = {0}\n'.format(lapack_lib_names))
+ f.write("include_dirs = {0}\n".format(blas_header_dirs))
+ if spec.satisfies("+lapack"):
+ f.write("[lapack]\n")
+ f.write("libraries = {0}\n".format(lapack_lib_names))
write_library_dirs(f, lapack_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapack_header_dirs))
+ f.write("include_dirs = {0}\n".format(lapack_header_dirs))
- if '^fujitsu-ssl2' in spec:
- if spec.satisfies('+blas'):
- f.write('[blas]\n')
- f.write('libraries = {0}\n'.format(spec['blas'].libs.names[0]))
+ if "^fujitsu-ssl2" in spec:
+ if spec.satisfies("+blas"):
+ f.write("[blas]\n")
+ f.write("libraries = {0}\n".format(spec["blas"].libs.names[0]))
write_library_dirs(f, blas_lib_dirs)
- f.write('include_dirs = {0}\n'.format(blas_header_dirs))
- f.write(
- "extra_link_args = {0}\n".format(
- self.spec["blas"].libs.ld_flags
- )
- )
- if spec.satisfies('+lapack'):
- f.write('[lapack]\n')
- f.write('libraries = {0}\n'.format(spec['lapack'].libs.names[0]))
+ f.write("include_dirs = {0}\n".format(blas_header_dirs))
+ f.write("extra_link_args = {0}\n".format(self.spec["blas"].libs.ld_flags))
+ if spec.satisfies("+lapack"):
+ f.write("[lapack]\n")
+ f.write("libraries = {0}\n".format(spec["lapack"].libs.names[0]))
write_library_dirs(f, lapack_lib_dirs)
- f.write('include_dirs = {0}\n'.format(lapack_header_dirs))
- f.write(
- "extra_link_args = {0}\n".format(
- self.spec["lapack"].libs.ld_flags
- )
- )
+ f.write("include_dirs = {0}\n".format(lapack_header_dirs))
+ f.write("extra_link_args = {0}\n".format(self.spec["lapack"].libs.ld_flags))
def setup_build_environment(self, env):
# Tell numpy which BLAS/LAPACK libraries we want to use.
@@ -335,49 +328,51 @@ class PyNumpy(PythonPackage):
# https://numpy.org/devdocs/user/building.html#accelerated-blas-lapack-libraries
spec = self.spec
# https://numpy.org/devdocs/user/building.html#blas
- if 'blas' not in spec:
- blas = ''
- elif spec['blas'].name == 'intel-mkl' or \
- spec['blas'].name == 'intel-parallel-studio' or \
- spec['blas'].name == 'intel-oneapi-mkl':
- blas = 'mkl'
- elif spec['blas'].name == 'blis' or \
- spec['blas'].name == 'amdblis':
- blas = 'blis'
- elif spec['blas'].name == 'openblas':
- blas = 'openblas'
- elif spec['blas'].name == 'atlas':
- blas = 'atlas'
- elif spec['blas'].name == 'veclibfort':
- blas = 'accelerate'
+ if "blas" not in spec:
+ blas = ""
+ elif (
+ spec["blas"].name == "intel-mkl"
+ or spec["blas"].name == "intel-parallel-studio"
+ or spec["blas"].name == "intel-oneapi-mkl"
+ ):
+ blas = "mkl"
+ elif spec["blas"].name == "blis" or spec["blas"].name == "amdblis":
+ blas = "blis"
+ elif spec["blas"].name == "openblas":
+ blas = "openblas"
+ elif spec["blas"].name == "atlas":
+ blas = "atlas"
+ elif spec["blas"].name == "veclibfort":
+ blas = "accelerate"
else:
- blas = 'blas'
+ blas = "blas"
- env.set('NPY_BLAS_ORDER', blas)
+ env.set("NPY_BLAS_ORDER", blas)
# https://numpy.org/devdocs/user/building.html#lapack
- if 'lapack' not in spec:
- lapack = ''
- elif spec['lapack'].name == 'intel-mkl' or \
- spec['lapack'].name == 'intel-parallel-studio' or \
- spec['lapack'].name == 'intel-oneapi-mkl':
- lapack = 'mkl'
- elif spec['lapack'].name == 'openblas':
- lapack = 'openblas'
- elif spec['lapack'].name == 'libflame' or \
- spec['lapack'].name == 'amdlibflame':
- lapack = 'flame'
- elif spec['lapack'].name == 'atlas':
- lapack = 'atlas'
- elif spec['lapack'].name == 'veclibfort':
- lapack = 'accelerate'
+ if "lapack" not in spec:
+ lapack = ""
+ elif (
+ spec["lapack"].name == "intel-mkl"
+ or spec["lapack"].name == "intel-parallel-studio"
+ or spec["lapack"].name == "intel-oneapi-mkl"
+ ):
+ lapack = "mkl"
+ elif spec["lapack"].name == "openblas":
+ lapack = "openblas"
+ elif spec["lapack"].name == "libflame" or spec["lapack"].name == "amdlibflame":
+ lapack = "flame"
+ elif spec["lapack"].name == "atlas":
+ lapack = "atlas"
+ elif spec["lapack"].name == "veclibfort":
+ lapack = "accelerate"
else:
- lapack = 'lapack'
+ lapack = "lapack"
- env.set('NPY_LAPACK_ORDER', lapack)
+ env.set("NPY_LAPACK_ORDER", lapack)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('spack-test', create=True):
- python('-c', 'import numpy; numpy.test("full", verbose=2)')
+ with working_dir("spack-test", create=True):
+ python("-c", 'import numpy; numpy.test("full", verbose=2)')
diff --git a/var/spack/repos/builtin/packages/py-numpydoc/package.py b/var/spack/repos/builtin/packages/py-numpydoc/package.py
index 300b2428b8..f89fc2d7f9 100644
--- a/var/spack/repos/builtin/packages/py-numpydoc/package.py
+++ b/var/spack/repos/builtin/packages/py-numpydoc/package.py
@@ -12,12 +12,12 @@ class PyNumpydoc(PythonPackage):
homepage = "https://github.com/numpy/numpydoc"
pypi = "numpydoc/numpydoc-0.6.0.tar.gz"
- version('1.1.0', sha256='c36fd6cb7ffdc9b4e165a43f67bf6271a7b024d0bb6b00ac468c9e2bfc76448e')
- version('0.6.0', sha256='1ec573e91f6d868a9940d90a6599f3e834a2d6c064030fbe078d922ee21dcfa1')
+ version("1.1.0", sha256="c36fd6cb7ffdc9b4e165a43f67bf6271a7b024d0bb6b00ac468c9e2bfc76448e")
+ version("0.6.0", sha256="1ec573e91f6d868a9940d90a6599f3e834a2d6c064030fbe078d922ee21dcfa1")
- depends_on('python@2.6:2.8,3.3:', when='@0.6.0')
- depends_on('python@3.5:', when='@1.1.0')
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.0.1:1.6.7', type='build', when='@0.6.0')
- depends_on('py-sphinx@1.6.5:', type='build', when='@1.1.0')
- depends_on('py-jinja2@2.3:', type='build', when='@1.1.0')
+ depends_on("python@2.6:2.8,3.3:", when="@0.6.0")
+ depends_on("python@3.5:", when="@1.1.0")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.0.1:1.6.7", type="build", when="@0.6.0")
+ depends_on("py-sphinx@1.6.5:", type="build", when="@1.1.0")
+ depends_on("py-jinja2@2.3:", type="build", when="@1.1.0")
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 c0151e7d62..660fc23491 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
@@ -13,7 +13,7 @@ class PyNvidiaMlPy(PythonPackage):
homepage = "https://www.nvidia.com/"
pypi = "nvidia-ml-py/nvidia-ml-py-11.450.51.tar.gz"
- version('11.450.51', sha256='5aa6dd23a140b1ef2314eee5ca154a45397b03e68fd9ebc4f72005979f511c73')
+ version("11.450.51", sha256="5aa6dd23a140b1ef2314eee5ca154a45397b03e68fd9ebc4f72005979f511c73")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 a732c309e1..62f5ba2b59 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
@@ -13,7 +13,7 @@ class PyNvidiaMlPy3(PythonPackage):
homepage = "https://www.nvidia.com/"
pypi = "nvidia-ml-py3/nvidia-ml-py3-7.352.0.tar.gz"
- version('7.352.0', sha256='390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277')
+ version("7.352.0", sha256="390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-oauth2client/package.py b/var/spack/repos/builtin/packages/py-oauth2client/package.py
index 72732606cc..9c1be07ed6 100644
--- a/var/spack/repos/builtin/packages/py-oauth2client/package.py
+++ b/var/spack/repos/builtin/packages/py-oauth2client/package.py
@@ -16,14 +16,14 @@ class PyOauth2client(PythonPackage):
homepage = "https://github.com/google/oauth2client/"
pypi = "oauth2client/oauth2client-4.1.3.tar.gz"
- version('4.1.3', sha256='d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6')
- version('3.0.0', sha256='5b5b056ec6f2304e7920b632885bd157fa71d1a7f3ddd00a43b1541a8d1a2460')
+ version("4.1.3", sha256="d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6")
+ version("3.0.0", sha256="5b5b056ec6f2304e7920b632885bd157fa71d1a7f3ddd00a43b1541a8d1a2460")
- depends_on('python@2.7:2,3.4:', when='@4:', type=('build', 'run'))
- depends_on('python@2.6:2,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-httplib2@0.9.1:', type=('build', 'run'))
- depends_on('py-pyasn1@0.1.7:', type=('build', 'run'))
- depends_on('py-pyasn1-modules@0.0.5:', type=('build', 'run'))
- depends_on('py-rsa@3.1.4:', type=('build', 'run'))
- depends_on('py-six@1.6.1:', type=('build', 'run'))
+ depends_on("python@2.7:2,3.4:", when="@4:", type=("build", "run"))
+ depends_on("python@2.6:2,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-httplib2@0.9.1:", type=("build", "run"))
+ depends_on("py-pyasn1@0.1.7:", type=("build", "run"))
+ depends_on("py-pyasn1-modules@0.0.5:", type=("build", "run"))
+ depends_on("py-rsa@3.1.4:", type=("build", "run"))
+ depends_on("py-six@1.6.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-oauthlib/package.py b/var/spack/repos/builtin/packages/py-oauthlib/package.py
index f80306e1f0..d5a7fb4ef6 100644
--- a/var/spack/repos/builtin/packages/py-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-oauthlib/package.py
@@ -15,19 +15,19 @@ class PyOauthlib(PythonPackage):
homepage = "https://github.com/oauthlib/oauthlib"
pypi = "oauthlib/oauthlib-3.1.0.tar.gz"
- version('3.1.1', sha256='8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3')
- version('3.1.0', sha256='bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889')
- version('3.0.1', sha256='0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298')
- version('2.0.2', sha256='b3b9b47f2a263fe249b5b48c4e25a5bce882ff20a0ac34d553ce43cff55b53ac')
+ version("3.1.1", sha256="8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3")
+ version("3.1.0", sha256="bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889")
+ version("3.0.1", sha256="0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298")
+ version("2.0.2", sha256="b3b9b47f2a263fe249b5b48c4e25a5bce882ff20a0ac34d553ce43cff55b53ac")
- variant('extras', default=True, description='Build with pyjwt, blinker, cryptography')
+ variant("extras", default=True, description="Build with pyjwt, blinker, cryptography")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyjwt@1.0.0:', type=('build', 'run'), when='+extras')
- depends_on('py-pyjwt@2.0.0:2', type=('build', 'run'), when='+extras @3.1.1:')
- depends_on('py-blinker', type=('build', 'run'), when='+extras')
- depends_on('py-blinker@1.4:', type=('build', 'run'), when='+extras @3.1.1:')
- depends_on('py-cryptography', type=('build', 'run'), when='+extras')
- depends_on('py-cryptography@3.0.0:3', type=('build', 'run'), when='+extras @3.1.1:')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@3.1.1:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyjwt@1.0.0:", type=("build", "run"), when="+extras")
+ depends_on("py-pyjwt@2.0.0:2", type=("build", "run"), when="+extras @3.1.1:")
+ depends_on("py-blinker", type=("build", "run"), when="+extras")
+ depends_on("py-blinker@1.4:", type=("build", "run"), when="+extras @3.1.1:")
+ depends_on("py-cryptography", type=("build", "run"), when="+extras")
+ depends_on("py-cryptography@3.0.0:3", type=("build", "run"), when="+extras @3.1.1:")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@3.1.1:")
diff --git a/var/spack/repos/builtin/packages/py-odc-geo/package.py b/var/spack/repos/builtin/packages/py-odc-geo/package.py
index 36dfe555da..3c7ea99eb9 100644
--- a/var/spack/repos/builtin/packages/py-odc-geo/package.py
+++ b/var/spack/repos/builtin/packages/py-odc-geo/package.py
@@ -10,14 +10,14 @@ class PyOdcGeo(PythonPackage):
"""Geometry Classes and Operations (opendatacube)."""
homepage = "https://github.com/opendatacube/odc-geo/"
- pypi = "odc-geo/odc-geo-0.1.2.tar.gz"
+ pypi = "odc-geo/odc-geo-0.1.2.tar.gz"
- version('0.1.2', sha256='c5ec3c66a326b138df5a28aa639b1c2c3c644093af463948255219bdc2513408')
+ version("0.1.2", sha256="c5ec3c66a326b138df5a28aa639b1c2c3c644093af463948255219bdc2513408")
- depends_on('python@3.8:', type=('build', 'run'))
- depends_on('py-setuptools@51:', type='build')
- depends_on('py-affine', type=('build', 'run'))
- depends_on('py-cachetools', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyproj', type=('build', 'run'))
- depends_on('py-shapely', type=('build', 'run'))
+ depends_on("python@3.8:", type=("build", "run"))
+ depends_on("py-setuptools@51:", type="build")
+ depends_on("py-affine", type=("build", "run"))
+ depends_on("py-cachetools", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyproj", type=("build", "run"))
+ depends_on("py-shapely", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-olefile/package.py b/var/spack/repos/builtin/packages/py-olefile/package.py
index 5fee5b60cc..e61d13085a 100644
--- a/var/spack/repos/builtin/packages/py-olefile/package.py
+++ b/var/spack/repos/builtin/packages/py-olefile/package.py
@@ -12,8 +12,8 @@ class PyOlefile(PythonPackage):
homepage = "https://www.decalage.info/python/olefileio"
pypi = "olefile/olefile-0.44.zip"
- version('0.44', sha256='61f2ca0cd0aa77279eb943c07f607438edf374096b66332fae1ee64a6f0f73ad')
+ version("0.44", sha256="61f2ca0cd0aa77279eb943c07f607438edf374096b66332fae1ee64a6f0f73ad")
- depends_on('python@2.6:', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-omegaconf/package.py b/var/spack/repos/builtin/packages/py-omegaconf/package.py
index b557240745..b55cf8975d 100644
--- a/var/spack/repos/builtin/packages/py-omegaconf/package.py
+++ b/var/spack/repos/builtin/packages/py-omegaconf/package.py
@@ -1,4 +1,3 @@
-
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
@@ -14,16 +13,16 @@ class PyOmegaconf(PythonPackage):
"""
homepage = "https://github.com/omry/omegaconf"
- url = 'https://github.com/omry/omegaconf/archive/refs/tags/v2.1.0.tar.gz'
+ url = "https://github.com/omry/omegaconf/archive/refs/tags/v2.1.0.tar.gz"
- maintainers = ['calebrob6']
+ maintainers = ["calebrob6"]
- version('2.1.0', sha256='0168f962822b7059c7553c4346541596ea48c0b542628d41a348a12eeaf971ff')
+ version("2.1.0", sha256="0168f962822b7059c7553c4346541596ea48c0b542628d41a348a12eeaf971ff")
- 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'))
- depends_on('java', type='build')
+ 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"))
+ depends_on("java", type="build")
diff --git a/var/spack/repos/builtin/packages/py-onnx-runtime/package.py b/var/spack/repos/builtin/packages/py-onnx-runtime/package.py
index d59054db25..bfc555507b 100644
--- a/var/spack/repos/builtin/packages/py-onnx-runtime/package.py
+++ b/var/spack/repos/builtin/packages/py-onnx-runtime/package.py
@@ -17,103 +17,110 @@ class PyOnnxRuntime(CMakePackage, PythonPackage):
compatibility."""
homepage = "https://github.com/microsoft/onnxruntime"
- git = "https://github.com/microsoft/onnxruntime.git"
-
- version('1.10.0', tag='v1.10.0', submodules=True)
- version('1.7.2', tag='v1.7.2', submodules=True)
-
- variant('cuda', default=False, description='Build with CUDA support')
-
- depends_on('cmake@3.1:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type=('build', 'run'))
- depends_on('protobuf')
- depends_on('py-protobuf', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.16.6:', type=('build', 'run'))
- depends_on('py-sympy@1.1:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-cerberus', type=('build', 'run'))
- depends_on('py-wheel', type='build')
- depends_on('py-onnx', type=('build', 'run'))
- depends_on('py-flatbuffers', type=('build', 'run'))
- depends_on('zlib')
- depends_on('libpng')
- depends_on('py-pybind11', type='build')
- depends_on('cuda', when='+cuda')
- depends_on('cudnn', when='+cuda')
- depends_on('iconv', type=('build', 'link', 'run'))
- depends_on('re2+shared')
-
- extends('python')
+ git = "https://github.com/microsoft/onnxruntime.git"
+
+ version("1.10.0", tag="v1.10.0", submodules=True)
+ version("1.7.2", tag="v1.7.2", submodules=True)
+
+ variant("cuda", default=False, description="Build with CUDA support")
+
+ depends_on("cmake@3.1:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type=("build", "run"))
+ depends_on("protobuf")
+ depends_on("py-protobuf", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.16.6:", type=("build", "run"))
+ depends_on("py-sympy@1.1:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-cerberus", type=("build", "run"))
+ depends_on("py-wheel", type="build")
+ depends_on("py-onnx", type=("build", "run"))
+ depends_on("py-flatbuffers", type=("build", "run"))
+ depends_on("zlib")
+ depends_on("libpng")
+ depends_on("py-pybind11", type="build")
+ depends_on("cuda", when="+cuda")
+ depends_on("cudnn", when="+cuda")
+ depends_on("iconv", type=("build", "link", "run"))
+ depends_on("re2+shared")
+
+ extends("python")
# Adopted from CMS experiment's fork of onnxruntime
# https://github.com/cms-externals/onnxruntime/compare/5bc92df...d594f80
- patch('cms.patch', level=1, when='@1.7.2')
+ patch("cms.patch", level=1, when="@1.7.2")
# https://github.com/cms-externals/onnxruntime/compare/0d9030e...7a6355a
- patch('cms_1_10.patch', whe='@1.10')
+ patch("cms_1_10.patch", whe="@1.10")
# https://github.com/microsoft/onnxruntime/issues/4234#issuecomment-698077636
- patch('libiconv.patch', level=0, when='@1.7.2')
+ patch("libiconv.patch", level=0, when="@1.7.2")
# https://github.com/microsoft/onnxruntime/commit/de4089f8cbe0baffe56a363cc3a41595cc8f0809.patch
- patch('gcc11.patch', level=1, when='@1.7.2')
+ patch("gcc11.patch", level=1, when="@1.7.2")
- dynamic_cpu_arch_values = ('NOAVX', 'AVX', 'AVX2', 'AVX512')
+ dynamic_cpu_arch_values = ("NOAVX", "AVX", "AVX2", "AVX512")
- variant('dynamic_cpu_arch', default='AVX512',
- values=dynamic_cpu_arch_values, multi=False,
- description='AVX support level')
+ variant(
+ "dynamic_cpu_arch",
+ default="AVX512",
+ values=dynamic_cpu_arch_values,
+ multi=False,
+ description="AVX support level",
+ )
- generator = 'Ninja'
- root_cmakelists_dir = 'cmake'
- build_directory = '.'
+ generator = "Ninja"
+ root_cmakelists_dir = "cmake"
+ build_directory = "."
def setup_build_environment(self, env):
- value = self.spec.variants['dynamic_cpu_arch'].value
+ value = self.spec.variants["dynamic_cpu_arch"].value
value = self.dynamic_cpu_arch_values.index(value)
- env.set('MLAS_DYNAMIC_CPU_ARCH', str(value))
+ env.set("MLAS_DYNAMIC_CPU_ARCH", str(value))
def setup_run_environment(self, env):
- value = self.spec.variants['dynamic_cpu_arch'].value
+ value = self.spec.variants["dynamic_cpu_arch"].value
value = self.dynamic_cpu_arch_values.index(value)
- env.set('MLAS_DYNAMIC_CPU_ARCH', str(value))
+ env.set("MLAS_DYNAMIC_CPU_ARCH", str(value))
def cmake_args(self):
define = self.define
define_from_variant = self.define_from_variant
- args = [define('onnxruntime_ENABLE_PYTHON', True),
- define('onnxruntime_BUILD_SHARED_LIB', True),
- define_from_variant('onnxruntime_USE_CUDA', 'cuda'),
- define('onnxruntime_BUILD_CSHARP', False),
- define('onnxruntime_USE_EIGEN_FOR_BLAS', True),
- define('onnxruntime_USE_OPENBLAS', False),
- define("onnxruntime_USE_MKLML", False),
- define("onnxruntime_USE_NGRAPH", False),
- define("onnxruntime_USE_OPENMP", False),
- define("onnxruntime_USE_TVM", False),
- define("onnxruntime_USE_LLVM", False),
- define("onnxruntime_ENABLE_MICROSOFT_INTERNAL", False),
- define("onnxruntime_USE_BRAINSLICE", False),
- define("onnxruntime_USE_NUPHAR", False),
- define("onnxruntime_USE_TENSORRT", False),
- define("onnxruntime_CROSS_COMPILING", False),
- define("onnxruntime_USE_FULL_PROTOBUF", True),
- define("onnxruntime_DISABLE_CONTRIB_OPS", False),
- define("onnxruntime_USE_PREINSTALLED_PROTOBUF", True),
- define("onnxruntime_PREFER_SYSTEM_LIB", True)]
-
- if self.spec.satisfies('+cuda'):
- args.extend((
- define('onnxruntime_CUDA_VERSION', str(self.spec['cuda'].version)),
- define('onnxruntime_CUDA_HOME', self.spec['cuda'].prefix),
- define('onnxruntime_CUDNN_HOME', self.spec['cudnn'].prefix),
- define('CMAKE_CUDA_FLAGS', '-cudart shared'),
- define('CMAKE_CUDA_RUNTIME_LIBRARY', 'Shared'),
- define('DCMAKE_TRY_COMPILE_PLATFORM_VARIABLES',
- 'CMAKE_CUDA_RUNTIME_LIBRARY')
- ))
+ args = [
+ define("onnxruntime_ENABLE_PYTHON", True),
+ define("onnxruntime_BUILD_SHARED_LIB", True),
+ define_from_variant("onnxruntime_USE_CUDA", "cuda"),
+ define("onnxruntime_BUILD_CSHARP", False),
+ define("onnxruntime_USE_EIGEN_FOR_BLAS", True),
+ define("onnxruntime_USE_OPENBLAS", False),
+ define("onnxruntime_USE_MKLML", False),
+ define("onnxruntime_USE_NGRAPH", False),
+ define("onnxruntime_USE_OPENMP", False),
+ define("onnxruntime_USE_TVM", False),
+ define("onnxruntime_USE_LLVM", False),
+ define("onnxruntime_ENABLE_MICROSOFT_INTERNAL", False),
+ define("onnxruntime_USE_BRAINSLICE", False),
+ define("onnxruntime_USE_NUPHAR", False),
+ define("onnxruntime_USE_TENSORRT", False),
+ define("onnxruntime_CROSS_COMPILING", False),
+ define("onnxruntime_USE_FULL_PROTOBUF", True),
+ define("onnxruntime_DISABLE_CONTRIB_OPS", False),
+ define("onnxruntime_USE_PREINSTALLED_PROTOBUF", True),
+ define("onnxruntime_PREFER_SYSTEM_LIB", True),
+ ]
+
+ if self.spec.satisfies("+cuda"):
+ args.extend(
+ (
+ define("onnxruntime_CUDA_VERSION", str(self.spec["cuda"].version)),
+ define("onnxruntime_CUDA_HOME", self.spec["cuda"].prefix),
+ define("onnxruntime_CUDNN_HOME", self.spec["cudnn"].prefix),
+ define("CMAKE_CUDA_FLAGS", "-cudart shared"),
+ define("CMAKE_CUDA_RUNTIME_LIBRARY", "Shared"),
+ define("DCMAKE_TRY_COMPILE_PLATFORM_VARIABLES", "CMAKE_CUDA_RUNTIME_LIBRARY"),
+ )
+ )
return args
- @run_after('install')
+ @run_after("install")
def install_python(self):
PythonPackage.install(self, self.spec, self.prefix)
diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py
index 05a7b2c905..cbe6155e02 100644
--- a/var/spack/repos/builtin/packages/py-onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-onnx/package.py
@@ -9,39 +9,39 @@ from spack.package import *
class PyOnnx(PythonPackage):
"""Open Neural Network Exchange (ONNX) is an open ecosystem that
- empowers AI developers to choose the right tools as their
- project evolves. ONNX provides an open source format for AI
- models, both deep learning and traditional ML. It defines an
- extensible computation graph model, as well as definitions of
- built-in operators and standard data types. Currently we focus
- on the capabilities needed for inferencing (scoring)."""
+ empowers AI developers to choose the right tools as their
+ project evolves. ONNX provides an open source format for AI
+ models, both deep learning and traditional ML. It defines an
+ extensible computation graph model, as well as definitions of
+ built-in operators and standard data types. Currently we focus
+ on the capabilities needed for inferencing (scoring)."""
homepage = "https://github.com/onnx/onnx"
pypi = "Onnx/onnx-1.6.0.tar.gz"
- version('1.8.1', sha256='9d65c52009a90499f8c25fdfe5acda3ac88efe0788eb1d5f2575a989277145fb')
- version('1.6.0', sha256='3b88c3fe521151651a0403c4d131cb2e0311bd28b753ef692020a432a81ce345')
- version('1.5.0', sha256='1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4')
+ version("1.8.1", sha256="9d65c52009a90499f8c25fdfe5acda3ac88efe0788eb1d5f2575a989277145fb")
+ version("1.6.0", sha256="3b88c3fe521151651a0403c4d131cb2e0311bd28b753ef692020a432a81ce345")
+ version("1.5.0", sha256="1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4")
- depends_on('py-setuptools', type='build')
- depends_on('protobuf')
- depends_on('py-protobuf+cpp', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("protobuf")
+ depends_on("py-protobuf+cpp", type=("build", "run"))
# Protobuf version limit is due to removal of SetTotalBytesLimit in
# https://github.com/protocolbuffers/protobuf/pull/8794, fixed in
# https://github.com/onnx/onnx/pull/3112
- depends_on('protobuf@:3.17', when='@:1.8')
- depends_on('py-protobuf@:3.17', when='@:1.8', type=('build', 'run'))
+ depends_on("protobuf@:3.17", when="@:1.8")
+ depends_on("py-protobuf@:3.17", when="@:1.8", type=("build", "run"))
# https://github.com/protocolbuffers/protobuf/issues/10051
# https://github.com/onnx/onnx/issues/4222
- depends_on('protobuf@:3')
- depends_on('py-protobuf@:3', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-numpy@1.16.6:', type=('build', 'run'), when='@1.8.1:')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-typing@3.6.4:', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-typing-extensions@3.6.2.1:', type=('build', 'run'))
- depends_on('cmake@3.1:', type='build')
- depends_on('py-pytest-runner', type='build')
+ depends_on("protobuf@:3")
+ depends_on("py-protobuf@:3", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-numpy@1.16.6:", type=("build", "run"), when="@1.8.1:")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-typing@3.6.4:", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-typing-extensions@3.6.2.1:", type=("build", "run"))
+ depends_on("cmake@3.1:", type="build")
+ depends_on("py-pytest-runner", type="build")
# 'python_out' does not recognize dllexport_decl.
- patch('remove_dllexport_decl.patch', when='@:1.6.0')
+ patch("remove_dllexport_decl.patch", when="@:1.6.0")
diff --git a/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py b/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py
index 1fea07f002..8dfa34b212 100644
--- a/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py
+++ b/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py
@@ -10,11 +10,11 @@ class PyOnnxconverterCommon(PythonPackage):
"""ONNX Converter and Optimization Tools"""
homepage = "https://github.com/microsoft/onnxconverter-common"
- url = "https://github.com/microsoft/onnxconverter-common/archive/refs/tags/v1.9.0.tar.gz"
+ url = "https://github.com/microsoft/onnxconverter-common/archive/refs/tags/v1.9.0.tar.gz"
- version('1.9.0', sha256='32315bcc844a8203092f3117a4a092ac6cf03d6a20145477e284f1172557d6f9')
+ version("1.9.0", sha256="32315bcc844a8203092f3117a4a092ac6cf03d6a20145477e284f1172557d6f9")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-protobuf', type=('build', 'run'))
- depends_on('py-onnx', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-protobuf", type=("build", "run"))
+ depends_on("py-onnx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-onnxmltools/package.py b/var/spack/repos/builtin/packages/py-onnxmltools/package.py
index 5c0d856410..9de56463db 100644
--- a/var/spack/repos/builtin/packages/py-onnxmltools/package.py
+++ b/var/spack/repos/builtin/packages/py-onnxmltools/package.py
@@ -10,12 +10,12 @@ class PyOnnxmltools(PythonPackage):
"""Converts Machine Learning models to ONNX"""
homepage = "https://github.com/onnx/onnxmltools"
- pypi = "onnxmltools/onnxmltools-1.10.0.tar.gz"
+ pypi = "onnxmltools/onnxmltools-1.10.0.tar.gz"
- version('1.10.0', sha256='4eb4605f18ed66553fc17438ac8cf5406d66dcc624bedd76d8067e1b08e6c75d')
+ version("1.10.0", sha256="4eb4605f18ed66553fc17438ac8cf5406d66dcc624bedd76d8067e1b08e6c75d")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-onnx', type=('build', 'run'))
- depends_on('py-skl2onnx', type=('build', 'run'))
- depends_on('py-onnx-runtime', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-onnx", type=("build", "run"))
+ depends_on("py-skl2onnx", type=("build", "run"))
+ depends_on("py-onnx-runtime", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
index 6c6e864c98..3e96ca254d 100644
--- a/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
+++ b/var/spack/repos/builtin/packages/py-ont-fast5-api/package.py
@@ -17,8 +17,8 @@ class PyOntFast5Api(PythonPackage):
homepage = "https://github.com/nanoporetech/ont_fast5_api"
pypi = "ont-fast5-api/ont-fast5-api-0.3.2.tar.gz"
- version('0.3.2', sha256='ae44b1bcd812e8acf8beff3db92456647c343cf19340f97cff4847de5cc905d8')
+ version("0.3.2", sha256="ae44b1bcd812e8acf8beff3db92456647c343cf19340f97cff4847de5cc905d8")
- depends_on('py-setuptools', type='build')
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numpy@1.8.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-numpy@1.8.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opcodes/package.py b/var/spack/repos/builtin/packages/py-opcodes/package.py
index afe963a0f5..2af9d1e07e 100644
--- a/var/spack/repos/builtin/packages/py-opcodes/package.py
+++ b/var/spack/repos/builtin/packages/py-opcodes/package.py
@@ -10,8 +10,8 @@ class PyOpcodes(PythonPackage):
"""Database of Processor Instructions/Opcodes."""
homepage = "https://github.com/Maratyszcza/Opcodes"
- pypi = "opcodes/opcodes-0.3.14.tar.gz"
+ pypi = "opcodes/opcodes-0.3.14.tar.gz"
- version('0.3.14', sha256='16ec1cea4cf3dda767e6c0a718f664ef97a34ed24c91998a3c25c3f960c15fba')
+ version("0.3.14", sha256="16ec1cea4cf3dda767e6c0a718f664ef97a34ed24c91998a3c25c3f960c15fba")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opencensus-context/package.py b/var/spack/repos/builtin/packages/py-opencensus-context/package.py
index 5eecea88df..52d0d30c66 100644
--- a/var/spack/repos/builtin/packages/py-opencensus-context/package.py
+++ b/var/spack/repos/builtin/packages/py-opencensus-context/package.py
@@ -11,8 +11,12 @@ class PyOpencensusContext(PythonPackage):
"""OpenCensus Runtime Context."""
homepage = "https://github.com/census-instrumentation/opencensus-python/tree/master/context/opencensus-context"
- url = "https://pypi.io/packages/py2.py3/o/opencensus-context/opencensus_context-0.1.1-py2.py3-none-any.whl"
+ url = "https://pypi.io/packages/py2.py3/o/opencensus-context/opencensus_context-0.1.1-py2.py3-none-any.whl"
- version('0.1.1', sha256='1a3fdf6bec537031efcc93d51b04f1edee5201f8c9a0c85681d63308b76f5702', expand=False)
+ version(
+ "0.1.1",
+ sha256="1a3fdf6bec537031efcc93d51b04f1edee5201f8c9a0c85681d63308b76f5702",
+ expand=False,
+ )
- depends_on('py-contextvars', when='^python@3.6.0:3.6', type=('build', 'run'))
+ depends_on("py-contextvars", when="^python@3.6.0:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opencensus/package.py b/var/spack/repos/builtin/packages/py-opencensus/package.py
index 8cd75948fd..180e1a1737 100644
--- a/var/spack/repos/builtin/packages/py-opencensus/package.py
+++ b/var/spack/repos/builtin/packages/py-opencensus/package.py
@@ -13,8 +13,8 @@ class PyOpencensus(PythonPackage):
homepage = "https://github.com/census-instrumentation/opencensus-python"
pypi = "opencensus/opencensus-0.7.10.tar.gz"
- version('0.7.10', sha256='2921e3e570cfadfd123cd8e3636a405031367fddff74c55d3fe627a4cf8b981c')
+ version("0.7.10", sha256="2921e3e570cfadfd123cd8e3636a405031367fddff74c55d3fe627a4cf8b981c")
- depends_on('py-setuptools', type='build')
- depends_on('py-opencensus-context@0.1.1', type=('build', 'run'))
- depends_on('py-google-api-core@1.0:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-opencensus-context@0.1.1", type=("build", "run"))
+ depends_on("py-google-api-core@1.0:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-openidc-client/package.py b/var/spack/repos/builtin/packages/py-openidc-client/package.py
index 7e3e56b637..a36c1c768b 100644
--- a/var/spack/repos/builtin/packages/py-openidc-client/package.py
+++ b/var/spack/repos/builtin/packages/py-openidc-client/package.py
@@ -10,11 +10,11 @@ class PyOpenidcClient(PythonPackage):
"""A python OpenID Connect client with token caching and management"""
homepage = "https://github.com/puiterwijk/python-openidc-client"
- pypi = "openidc-client/openidc-client-0.6.0.tar.gz"
+ pypi = "openidc-client/openidc-client-0.6.0.tar.gz"
- version('0.6.0', sha256='680e969cae18c30adbddd6a087ed09f6a296b4937b4c8bc69be813bdbbfa9847')
- version('0.5.0', sha256='59d59d6fbfd26c5b57c53e582bdf2379274602f96133a163e7ff1ef39c363353')
- version('0.2.0', sha256='50a1f5abc1960c206a462b3b2f2da1f03abdcb542beb1d6d89d2736def228ab9')
+ version("0.6.0", sha256="680e969cae18c30adbddd6a087ed09f6a296b4937b4c8bc69be813bdbbfa9847")
+ version("0.5.0", sha256="59d59d6fbfd26c5b57c53e582bdf2379274602f96133a163e7ff1ef39c363353")
+ version("0.2.0", sha256="50a1f5abc1960c206a462b3b2f2da1f03abdcb542beb1d6d89d2736def228ab9")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-openmc/package.py b/var/spack/repos/builtin/packages/py-openmc/package.py
index 7577ff3b30..d4d2cfa50a 100644
--- a/var/spack/repos/builtin/packages/py-openmc/package.py
+++ b/var/spack/repos/builtin/packages/py-openmc/package.py
@@ -8,56 +8,53 @@ from spack.package import *
class PyOpenmc(PythonPackage):
"""OpenMC is a community-developed Monte Carlo neutron and photon transport
- simulation code. It is capable of performing fixed source, k-eigenvalue, and
- subcritical multiplication calculations on models built using either a
- constructive solid geometry or CAD representation. OpenMC supports both
- continuous-energy and multigroup transport. The continuous-energy particle
- interaction data is based on a native HDF5 format that can be generated from ACE
- files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP
- programming model."""
+ simulation code. It is capable of performing fixed source, k-eigenvalue, and
+ subcritical multiplication calculations on models built using either a
+ constructive solid geometry or CAD representation. OpenMC supports both
+ continuous-energy and multigroup transport. The continuous-energy particle
+ interaction data is based on a native HDF5 format that can be generated from ACE
+ files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP
+ programming model."""
homepage = "https://docs.openmc.org/"
url = "https://github.com/openmc-dev/openmc/tarball/v0.13.0"
git = "https://github.com/openmc-dev/openmc.git"
- version('develop', branch='develop')
- version('master', branch='master')
- version('0.13.0', commit='cff247e35785e7236d67ccf64a3401f0fc50a469', submodules=True)
- version('0.12.2', commit='cbfcf908f8abdc1ef6603f67872dcf64c5c657b1', submodules=True)
- version('0.12.1', commit='36913589c4f43b7f843332181645241f0f10ae9e', submodules=True)
- version('0.12.0', commit='93d6165ecb455fc57242cd03a3f0805089c0e0b9', submodules=True)
- version('0.11.0', sha256='19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("0.13.0", commit="cff247e35785e7236d67ccf64a3401f0fc50a469", submodules=True)
+ version("0.12.2", commit="cbfcf908f8abdc1ef6603f67872dcf64c5c657b1", submodules=True)
+ version("0.12.1", commit="36913589c4f43b7f843332181645241f0f10ae9e", submodules=True)
+ version("0.12.0", commit="93d6165ecb455fc57242cd03a3f0805089c0e0b9", submodules=True)
+ version("0.11.0", sha256="19a9d8e9c3b581e9060fbd96d30f1098312d217cb5c925eb6372a5786d9175af")
- variant('mpi', default=False, description='Enable MPI support')
+ variant("mpi", default=False, description="Enable MPI support")
# keep py-openmc and openmc at the same version
- for ver in ['develop', 'master', '0.13.0', '0.12.2', '0.12.1', '0.12.0', '0.11.0']:
+ for ver in ["develop", "master", "0.13.0", "0.12.2", "0.12.1", "0.12.0", "0.11.0"]:
depends_on(
- 'openmc+mpi@{0}'.format(ver), when='@{0}+mpi'.format(ver),
- type=('build', 'run')
+ "openmc+mpi@{0}".format(ver), when="@{0}+mpi".format(ver), type=("build", "run")
)
depends_on(
- 'openmc~mpi@{0}'.format(ver), when='@{0}~mpi'.format(ver),
- type=('build', 'run')
+ "openmc~mpi@{0}".format(ver), when="@{0}~mpi".format(ver), type=("build", "run")
)
- depends_on('git', type='build')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.13:')
- depends_on('python@3.5:', type=('build', 'run'), when='@:0.12')
- depends_on('py-cython', type='build')
- depends_on('py-h5py~mpi', when='~mpi', type=('build', 'run'))
- depends_on('py-h5py+mpi', when='+mpi', type=('build', 'run'))
- depends_on('py-ipython', type=('build', 'run'))
- depends_on('py-lxml', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-mpi4py', when='+mpi', type=('build', 'run'))
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-uncertainties', type=('build', 'run'))
-
- @run_after('install')
+ depends_on("git", type="build")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.13:")
+ depends_on("python@3.5:", type=("build", "run"), when="@:0.12")
+ depends_on("py-cython", type="build")
+ depends_on("py-h5py~mpi", when="~mpi", type=("build", "run"))
+ depends_on("py-h5py+mpi", when="+mpi", type=("build", "run"))
+ depends_on("py-ipython", type=("build", "run"))
+ depends_on("py-lxml", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-mpi4py", when="+mpi", type=("build", "run"))
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-uncertainties", type=("build", "run"))
+
+ @run_after("install")
def install_lib(self):
- install(join_path(self.spec['openmc'].prefix.lib, 'libopenmc.*'),
- self.prefix.lib)
+ install(join_path(self.spec["openmc"].prefix.lib, "libopenmc.*"), self.prefix.lib)
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 53c099af2b..bbb0696ac7 100644
--- a/var/spack/repos/builtin/packages/py-openpmd-validator/package.py
+++ b/var/spack/repos/builtin/packages/py-openpmd-validator/package.py
@@ -11,18 +11,18 @@ class PyOpenpmdValidator(PythonPackage):
openPMD is an open standard for particle-mesh data files."""
- homepage = 'https://www.openPMD.org'
- git = 'https://github.com/openPMD/openPMD-validator.git'
- pypi = 'openPMD-validator/openPMD-validator-1.1.0.3.tar.gz'
+ homepage = "https://www.openPMD.org"
+ git = "https://github.com/openPMD/openPMD-validator.git"
+ pypi = "openPMD-validator/openPMD-validator-1.1.0.3.tar.gz"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('1.1.0.3', sha256='b2e57123c1dc09cdc121011d007e30fab82b3d21732d02e4f1ba919b24345810')
- version('1.1.0.2', sha256='6ac6e2860351d9940821ca6f3b44ab63629e0bd06f6984225c55830c3e58b83c')
- version('1.1.0.1', sha256='7585abbd32523ae6b8065772e1cc27a45e232c526a9fc0bd8ce85182d1b4b325')
- version('1.0.0.2', sha256='9610b552aef48baf37e1ce3fe1372b5a2a2f358ff50e23283e79fdfb6fee5366')
+ version("1.1.0.3", sha256="b2e57123c1dc09cdc121011d007e30fab82b3d21732d02e4f1ba919b24345810")
+ version("1.1.0.2", sha256="6ac6e2860351d9940821ca6f3b44ab63629e0bd06f6984225c55830c3e58b83c")
+ version("1.1.0.1", sha256="7585abbd32523ae6b8065772e1cc27a45e232c526a9fc0bd8ce85182d1b4b325")
+ version("1.0.0.2", sha256="9610b552aef48baf37e1ce3fe1372b5a2a2f358ff50e23283e79fdfb6fee5366")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.6.1:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.3.0:', type=('build', 'run'))
- depends_on('py-h5py@2.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.6.1:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.3.0:", type=("build", "run"))
+ depends_on("py-h5py@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py b/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py
index eac1f6d968..1e90211ea4 100644
--- a/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py
+++ b/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py
@@ -10,49 +10,44 @@ class PyOpenpmdViewer(PythonPackage):
"""Python visualization tools for openPMD files"""
homepage = "https://www.openPMD.org"
- git = "https://github.com/openPMD/openPMD-viewer.git"
- pypi = 'openPMD-viewer/openPMD-viewer-1.2.0.tar.gz'
-
- maintainers = ['RemiLehe', 'ax3l']
-
- version('1.4.0', sha256='53b4c10a508a012b9609f079a1d419aaeac769852117c676faf43e6cd9369f8b')
- version('1.3.0', sha256='236c065a37881fcb7603efde0bf2d61acc355a8acc595bebc3d6b9d03251b081')
- version('1.2.0', sha256='a27f8ac522c4c76fd774095e156a8b280c9211128f50aa07f16ac70d8222384d')
-
- variant('backend', default='h5py,openpmd-api', multi=True,
- values=('h5py', 'openpmd-api'))
- variant('jupyter', default=False,
- description='Enable Jupyter Widget GUI')
- variant('numba', default=False,
- description='Enable accelerated depositions for histograms')
- variant('plot', default=True,
- description='Enable plotting support')
- variant('tutorials', default=True,
- description='Enable dependencies for tutorials')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-numpy@1.15:1', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-tqdm', type=('build', 'run'))
-
- depends_on('py-h5py@2.8.0:', type=('build', 'run'))
- with when('backend=openpmd-api'):
- depends_on('openpmd-api +python -mpi', type=('build', 'run'))
-
- with when('+jupyter'):
- depends_on('py-ipywidgets', type=('build', 'run'))
- depends_on('py-jupyter', type=('build', 'run'))
- depends_on('py-tqdm +notebook', type=('build', 'run'))
-
- with when('+numba'):
- depends_on('py-numba', type=('build', 'run'))
-
- with when('+plot'):
- depends_on('py-matplotlib', type=('build', 'run'))
+ git = "https://github.com/openPMD/openPMD-viewer.git"
+ pypi = "openPMD-viewer/openPMD-viewer-1.2.0.tar.gz"
+
+ maintainers = ["RemiLehe", "ax3l"]
+
+ version("1.4.0", sha256="53b4c10a508a012b9609f079a1d419aaeac769852117c676faf43e6cd9369f8b")
+ version("1.3.0", sha256="236c065a37881fcb7603efde0bf2d61acc355a8acc595bebc3d6b9d03251b081")
+ version("1.2.0", sha256="a27f8ac522c4c76fd774095e156a8b280c9211128f50aa07f16ac70d8222384d")
+
+ variant("backend", default="h5py,openpmd-api", multi=True, values=("h5py", "openpmd-api"))
+ variant("jupyter", default=False, description="Enable Jupyter Widget GUI")
+ variant("numba", default=False, description="Enable accelerated depositions for histograms")
+ variant("plot", default=True, description="Enable plotting support")
+ variant("tutorials", default=True, description="Enable dependencies for tutorials")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-numpy@1.15:1", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tqdm", type=("build", "run"))
+
+ depends_on("py-h5py@2.8.0:", type=("build", "run"))
+ with when("backend=openpmd-api"):
+ depends_on("openpmd-api +python -mpi", type=("build", "run"))
+
+ with when("+jupyter"):
+ depends_on("py-ipywidgets", type=("build", "run"))
+ depends_on("py-jupyter", type=("build", "run"))
+ depends_on("py-tqdm +notebook", type=("build", "run"))
+
+ with when("+numba"):
+ depends_on("py-numba", type=("build", "run"))
+
+ with when("+plot"):
+ depends_on("py-matplotlib", type=("build", "run"))
# missing in Spack:
# with when('+jupyter'):
# depends_on('py-ipympl', type=('build', 'run'))
- with when('+tutorials'):
- depends_on('py-wget', type=('build', 'run'))
+ with when("+tutorials"):
+ depends_on("py-wget", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-openpyxl/package.py b/var/spack/repos/builtin/packages/py-openpyxl/package.py
index cf151f6305..d7209aab2c 100644
--- a/var/spack/repos/builtin/packages/py-openpyxl/package.py
+++ b/var/spack/repos/builtin/packages/py-openpyxl/package.py
@@ -12,18 +12,18 @@ class PyOpenpyxl(PythonPackage):
homepage = "https://openpyxl.readthedocs.org/"
pypi = "openpyxl/openpyxl-3.0.3.tar.gz"
- version('3.0.3', sha256='547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64')
- version('2.4.5', sha256='78c331e819fb0a63a1339d452ba0b575d1a31f09fdcce793a31bec7e9ef4ef21')
- version('2.2.0', sha256='c34e3f7e3106dbe6d792f35d9a2f01c08fdd21a6fe582a2f540e39a70e7443c4')
- version('1.8.6', sha256='aa11a4acd2765392808bca2041f6f9ba17565c72dccc3f5d876bf78effa06126')
+ version("3.0.3", sha256="547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64")
+ version("2.4.5", sha256="78c331e819fb0a63a1339d452ba0b575d1a31f09fdcce793a31bec7e9ef4ef21")
+ version("2.2.0", sha256="c34e3f7e3106dbe6d792f35d9a2f01c08fdd21a6fe582a2f540e39a70e7443c4")
+ version("1.8.6", sha256="aa11a4acd2765392808bca2041f6f9ba17565c72dccc3f5d876bf78effa06126")
- depends_on('python@3.6:', when='@3.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@2.6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@2.5:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', when='@2.1:', type=('build', 'run'))
- depends_on('python@2.6:', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@2.6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@2.5:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", when="@2.1:", type=("build", "run"))
+ depends_on("python@2.6:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-jdcal', when='@2.2:', type=('build', 'run'))
- depends_on('py-et-xmlfile', when='@2.4:', type=('build', 'run'))
+ depends_on("py-jdcal", when="@2.2:", type=("build", "run"))
+ depends_on("py-et-xmlfile", when="@2.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-openslide-python/package.py b/var/spack/repos/builtin/packages/py-openslide-python/package.py
index aff56b2ce9..396e4b55a4 100644
--- a/var/spack/repos/builtin/packages/py-openslide-python/package.py
+++ b/var/spack/repos/builtin/packages/py-openslide-python/package.py
@@ -10,14 +10,14 @@ class PyOpenslidePython(PythonPackage):
"""OpenSlide Python is a Python interface to the OpenSlide library."""
homepage = "https://github.com/openslide/openslide-python"
- url = "https://github.com/openslide/openslide-python/archive/v1.1.1.tar.gz"
+ url = "https://github.com/openslide/openslide-python/archive/v1.1.1.tar.gz"
- version('1.1.2', sha256='83e064ab4a29658e7ddf86bf1d3e54d2508cc19ece35d55b55519c826e45d83f')
- version('1.1.1', sha256='33c390fe43e3d7d443fafdd66969392d3e9efd2ecd5d4af73c3dbac374485ed5')
+ version("1.1.2", sha256="83e064ab4a29658e7ddf86bf1d3e54d2508cc19ece35d55b55519c826e45d83f")
+ version("1.1.1", sha256="33c390fe43e3d7d443fafdd66969392d3e9efd2ecd5d4af73c3dbac374485ed5")
- depends_on('openslide@3.4.0:')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("openslide@3.4.0:")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
# https://github.com/openslide/openslide-python/pull/76
- depends_on('py-setuptools@:45', type='build', when="@1.1.1")
- depends_on('py-setuptools', type='build', when="@1.1.2:")
- depends_on('pil', type=('build', 'run'))
+ depends_on("py-setuptools@:45", type="build", when="@1.1.1")
+ depends_on("py-setuptools", type="build", when="@1.1.2:")
+ depends_on("pil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opentuner/package.py b/var/spack/repos/builtin/packages/py-opentuner/package.py
index d132f07cd0..83e50bee63 100644
--- a/var/spack/repos/builtin/packages/py-opentuner/package.py
+++ b/var/spack/repos/builtin/packages/py-opentuner/package.py
@@ -10,20 +10,20 @@ class PyOpentuner(PythonPackage):
"""An extensible framework for program autotuning."""
homepage = "http://opentuner.org/"
- git = "https://github.com/jansel/opentuner.git"
+ git = "https://github.com/jansel/opentuner.git"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('0.8.7', commit='070c5ce')
- version('0.8.2', commit='8e720a2')
- version('0.8.0', commit='4cb9135')
+ version("0.8.7", commit="070c5ce")
+ version("0.8.2", commit="8e720a2")
+ version("0.8.0", commit="4cb9135")
- depends_on('python@3:', type=('build', 'run'), when='@0.8.1:')
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@:0.8.0')
+ depends_on("python@3:", type=("build", "run"), when="@0.8.1:")
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@:0.8.0")
- depends_on('py-argparse@1.2.1:', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-fn-py@0.2.12:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-sqlalchemy@0.8.2:', type=('build', 'run'))
+ depends_on("py-argparse@1.2.1:", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-fn-py@0.2.12:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sqlalchemy@0.8.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opppy/package.py b/var/spack/repos/builtin/packages/py-opppy/package.py
index d8e3c743f0..46d2f84d18 100644
--- a/var/spack/repos/builtin/packages/py-opppy/package.py
+++ b/var/spack/repos/builtin/packages/py-opppy/package.py
@@ -14,18 +14,18 @@ class PyOpppy(PythonPackage):
homepage = "https://github.com/lanl/opppy"
url = "https://github.com/lanl/OPPPY/archive/opppy-0_1_2.tar.gz"
git = "https://github.com/lanl/opppy.git"
- maintainers = ['clevelam']
+ maintainers = ["clevelam"]
- version('master', branch='master')
- version('0_1_5', sha256='d9df166d347c18d4f145059b4c2fb23dbfbecf0dd5a3398f29e52d3e261844b0')
- version('0_1_4', sha256='22d81a64856f4c12f8079440c837d7d1f45153e68c405b45bed8b6d35831e948')
- version('0_1_3', sha256='c3ca97f2ff8ab319b5c7257baa8cab852387dc00d426b4534c06f0894363c541')
- version('0_1_2', sha256='ef3795d3164fa0aa7ea7da7e223d6d0a48d2960aefd03a7d90cdb8b8f480cd4c')
- version('0_1_1', sha256='505c023853e75552abc65de9777a125ecb6a99a1cb4e605a4f702af837e3168b')
+ version("master", branch="master")
+ version("0_1_5", sha256="d9df166d347c18d4f145059b4c2fb23dbfbecf0dd5a3398f29e52d3e261844b0")
+ version("0_1_4", sha256="22d81a64856f4c12f8079440c837d7d1f45153e68c405b45bed8b6d35831e948")
+ version("0_1_3", sha256="c3ca97f2ff8ab319b5c7257baa8cab852387dc00d426b4534c06f0894363c541")
+ version("0_1_2", sha256="ef3795d3164fa0aa7ea7da7e223d6d0a48d2960aefd03a7d90cdb8b8f480cd4c")
+ version("0_1_1", sha256="505c023853e75552abc65de9777a125ecb6a99a1cb4e605a4f702af837e3168b")
- depends_on('py-setuptools', type=('build'))
- depends_on('py-sphinx', type=('build'))
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-sphinx", type=("build"))
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-opt-einsum/package.py b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
index 741c7ef882..e1f0c246c4 100644
--- a/var/spack/repos/builtin/packages/py-opt-einsum/package.py
+++ b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
@@ -12,13 +12,13 @@ class PyOptEinsum(PythonPackage):
homepage = "https://github.com/dgasmith/opt_einsum"
pypi = "opt_einsum/opt_einsum-3.1.0.tar.gz"
- version('3.3.0', sha256='59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549')
- version('3.2.1', sha256='83b76a98d18ae6a5cc7a0d88955a7f74881f0e567a0f4c949d24c942753eb998')
- version('3.2.0', sha256='738b0a1db1d3084d360081bb64d826f9db06d2df7cc0bf8e2c9356028da1fa31')
- version('3.1.0', sha256='edfada4b1d0b3b782ace8bc14e80618ff629abf53143e1e6bbf9bd00b11ece77')
- version('2.3.2', sha256='d3d464b4da7ef09e444c30e4003a27def37f85ff10ff2671e5f7d7813adac35b')
+ version("3.3.0", sha256="59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549")
+ version("3.2.1", sha256="83b76a98d18ae6a5cc7a0d88955a7f74881f0e567a0f4c949d24c942753eb998")
+ version("3.2.0", sha256="738b0a1db1d3084d360081bb64d826f9db06d2df7cc0bf8e2c9356028da1fa31")
+ version("3.1.0", sha256="edfada4b1d0b3b782ace8bc14e80618ff629abf53143e1e6bbf9bd00b11ece77")
+ version("2.3.2", sha256="d3d464b4da7ef09e444c30e4003a27def37f85ff10ff2671e5f7d7813adac35b")
- depends_on('python@:2', type=('build', 'run'), when='@2')
- depends_on('python@3.5:', type=('build', 'run'), when='@3:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
+ depends_on("python@:2", type=("build", "run"), when="@2")
+ depends_on("python@3.5:", type=("build", "run"), when="@3:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-or-tools/package.py b/var/spack/repos/builtin/packages/py-or-tools/package.py
index b326b4ea36..17fddb9db1 100644
--- a/var/spack/repos/builtin/packages/py-or-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-or-tools/package.py
@@ -13,45 +13,45 @@ class PyOrTools(CMakePackage):
License."""
homepage = "https://developers.google.com/optimization/"
- url = "https://github.com/google/or-tools/archive/v7.8.tar.gz"
-
- version('7.8', sha256='d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68')
-
- depends_on('cmake@3.14:', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-protobuf@3.12.2:', type=('build', 'run'))
- depends_on('protobuf@3.12.2:')
- depends_on('py-six@1.10:', type=('build', 'run'))
- depends_on('gflags@2.2.2')
- depends_on('glog@0.4.0')
- depends_on('protobuf@3.12.2')
- depends_on('abseil-cpp@20200225.2')
- depends_on('cbc@2.10.5')
- depends_on('cgl@0.60.3')
- depends_on('clp@1.17.4')
- depends_on('osi@0.108.6')
- depends_on('coinutils@2.11.4')
- depends_on('swig')
- depends_on('python', type=('build', 'run'))
- depends_on('py-wheel', type='build')
- depends_on('py-virtualenv', type='build')
- depends_on('scipoptsuite')
-
- extends('python')
+ url = "https://github.com/google/or-tools/archive/v7.8.tar.gz"
+
+ version("7.8", sha256="d93a9502b18af51902abd130ff5f23768fcf47e266e6d1f34b3586387aa2de68")
+
+ depends_on("cmake@3.14:", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-protobuf@3.12.2:", type=("build", "run"))
+ depends_on("protobuf@3.12.2:")
+ depends_on("py-six@1.10:", type=("build", "run"))
+ depends_on("gflags@2.2.2")
+ depends_on("glog@0.4.0")
+ depends_on("protobuf@3.12.2")
+ depends_on("abseil-cpp@20200225.2")
+ depends_on("cbc@2.10.5")
+ depends_on("cgl@0.60.3")
+ depends_on("clp@1.17.4")
+ depends_on("osi@0.108.6")
+ depends_on("coinutils@2.11.4")
+ depends_on("swig")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-wheel", type="build")
+ depends_on("py-virtualenv", type="build")
+ depends_on("scipoptsuite")
+
+ extends("python")
def cmake_args(self):
cmake_args = []
- cmake_args.append('-DBUILD_DEPS=OFF')
- cmake_args.append('-DBUILD_PYTHON=ON')
- cmake_args.append('-DBUILD_TESTING=OFF')
+ cmake_args.append("-DBUILD_DEPS=OFF")
+ cmake_args.append("-DBUILD_PYTHON=ON")
+ cmake_args.append("-DBUILD_TESTING=OFF")
return cmake_args
def install(self, spec, prefix):
with working_dir(self.build_directory):
make("install")
- with working_dir(join_path(self.build_directory, 'python')):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ with working_dir(join_path(self.build_directory, "python")):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/py-ordered-set/package.py b/var/spack/repos/builtin/packages/py-ordered-set/package.py
index 985a3daca3..ae57cb9d8a 100644
--- a/var/spack/repos/builtin/packages/py-ordered-set/package.py
+++ b/var/spack/repos/builtin/packages/py-ordered-set/package.py
@@ -12,9 +12,9 @@ class PyOrderedSet(PythonPackage):
number that can be looked up."""
homepage = "https://github.com/LuminosoInsight/ordered-set"
- pypi = "ordered-set/ordered-set-4.0.2.tar.gz"
+ pypi = "ordered-set/ordered-set-4.0.2.tar.gz"
- version('4.0.2', sha256='ba93b2df055bca202116ec44b9bead3df33ea63a7d5827ff8e16738b97f33a95')
+ version("4.0.2", sha256="ba93b2df055bca202116ec44b9bead3df33ea63a7d5827ff8e16738b97f33a95")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ordereddict/package.py
index 1d9c8ea658..b505e42638 100644
--- a/var/spack/repos/builtin/packages/py-ordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-ordereddict/package.py
@@ -12,7 +12,7 @@ class PyOrdereddict(PythonPackage):
pypi = "ordereddict/ordereddict-1.1.tar.gz"
- version('1.1', sha256='1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f')
+ version("1.1", sha256="1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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
index ad9cf05f03..4c11f17481 100644
--- a/var/spack/repos/builtin/packages/py-os-service-types/package.py
+++ b/var/spack/repos/builtin/packages/py-os-service-types/package.py
@@ -10,12 +10,12 @@ 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"
+ pypi = "os-service-types/os-service-types-1.7.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('1.7.0', sha256='31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c')
+ 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,2.1.1:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-pbr@2.0.0:2.0,2.1.1:", type="build")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-oset/package.py b/var/spack/repos/builtin/packages/py-oset/package.py
index 1b0bcff73a..bc25d0812b 100644
--- a/var/spack/repos/builtin/packages/py-oset/package.py
+++ b/var/spack/repos/builtin/packages/py-oset/package.py
@@ -11,7 +11,7 @@ class PyOset(PythonPackage):
pypi = "oset/oset-0.1.3.tar.gz"
- version('0.1.3', sha256='4c1fd7dec96eeff9d3260995a8e37f9f415d0bdb79975f57824e68716ac8f904')
+ version("0.1.3", sha256="4c1fd7dec96eeff9d3260995a8e37f9f415d0bdb79975f57824e68716ac8f904")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-oslo-config/package.py b/var/spack/repos/builtin/packages/py-oslo-config/package.py
index b44e67d65b..a4683df97d 100644
--- a/var/spack/repos/builtin/packages/py-oslo-config/package.py
+++ b/var/spack/repos/builtin/packages/py-oslo-config/package.py
@@ -13,21 +13,21 @@ class PyOsloConfig(PythonPackage):
"""
homepage = "https://docs.openstack.org/oslo.config/"
- pypi = "oslo.config/oslo.config-8.7.1.tar.gz"
+ pypi = "oslo.config/oslo.config-8.7.1.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('8.7.1', sha256='a0c346d778cdc8870ab945e438bea251b5f45fae05d6d99dfe4953cca2277b60')
+ 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("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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-oslo-i18n/package.py b/var/spack/repos/builtin/packages/py-oslo-i18n/package.py
index 0939ff818f..230ec594e0 100644
--- a/var/spack/repos/builtin/packages/py-oslo-i18n/package.py
+++ b/var/spack/repos/builtin/packages/py-oslo-i18n/package.py
@@ -14,14 +14,14 @@ class PyOsloI18n(PythonPackage):
"""
homepage = "https://docs.openstack.org/oslo.i18n"
- pypi = "oslo.i18n/oslo.i18n-5.0.1.tar.gz"
+ pypi = "oslo.i18n/oslo.i18n-5.0.1.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('5.0.1', sha256='3484b71e30f75c437523302d1151c291caf4098928269ceec65ce535456e035b')
+ 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,2.1.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@2.0.0:2.0,2.1.1:", type=("build", "run"))
- depends_on('py-six@1.10.0:', type=('build', 'run'))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-oslo-serialization/package.py b/var/spack/repos/builtin/packages/py-oslo-serialization/package.py
index 37228cea68..ea4408de29 100644
--- a/var/spack/repos/builtin/packages/py-oslo-serialization/package.py
+++ b/var/spack/repos/builtin/packages/py-oslo-serialization/package.py
@@ -13,16 +13,16 @@ class PyOsloSerialization(PythonPackage):
"""
homepage = "https://docs.openstack.org/oslo.serialization/"
- pypi = "oslo.serialization/oslo.serialization-4.1.0.tar.gz"
+ pypi = "oslo.serialization/oslo.serialization-4.1.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('4.1.0', sha256='cecc7794df806c85cb70dbd6c2b3af19bc68047ad29e3c6442be90a0a4de5379')
+ 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,2.1.1:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@2.0.0:2.0,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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-oslo-utils/package.py b/var/spack/repos/builtin/packages/py-oslo-utils/package.py
index cda437c067..058bf7bb5c 100644
--- a/var/spack/repos/builtin/packages/py-oslo-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-oslo-utils/package.py
@@ -14,21 +14,21 @@ class PyOsloUtils(PythonPackage):
"""
homepage = "https://docs.openstack.org/oslo.utils/"
- pypi = "oslo.utils/oslo.utils-4.9.2.tar.gz"
+ pypi = "oslo.utils/oslo.utils-4.9.2.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('4.9.2', sha256='20db285734ff6c3b50d5a6afcb2790ade0c7ba02fbc876feed43733f2c41a5c9')
+ 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,2.1.1:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@2.0.0:2.0,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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-osqp/package.py b/var/spack/repos/builtin/packages/py-osqp/package.py
index 19f0a7ddb8..df68d29e59 100644
--- a/var/spack/repos/builtin/packages/py-osqp/package.py
+++ b/var/spack/repos/builtin/packages/py-osqp/package.py
@@ -13,10 +13,10 @@ class PyOsqp(PythonPackage):
homepage = "https://osqp.org/"
pypi = "osqp/osqp-0.6.1.tar.gz"
- version('0.6.1', sha256='47b17996526d6ecdf35cfaead6e3e05d34bc2ad48bcb743153cefe555ecc0e8c')
+ version("0.6.1", sha256="47b17996526d6ecdf35cfaead6e3e05d34bc2ad48bcb743153cefe555ecc0e8c")
- depends_on('cmake', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy@0.13.2:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
+ depends_on("cmake", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scipy@0.13.2:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-overpy/package.py b/var/spack/repos/builtin/packages/py-overpy/package.py
index b0616f973d..71079c74f7 100644
--- a/var/spack/repos/builtin/packages/py-overpy/package.py
+++ b/var/spack/repos/builtin/packages/py-overpy/package.py
@@ -12,9 +12,9 @@ class PyOverpy(PythonPackage):
homepage = "https://github.com/DinoTools/python-overpy"
pypi = "overpy/overpy-0.4.tar.gz"
- version('0.4', sha256='6e5bfcd9368f0c33a5d7615b18dbcac18444157f447639287c6743aa2de8964d')
- version('0.3.1', sha256='3c6f6afe262ccf50c983617fc4ec5f381c2e1f6391aa974fbcc39203802bc3ff')
+ version("0.4", sha256="6e5bfcd9368f0c33a5d7615b18dbcac18444157f447639287c6743aa2de8964d")
+ version("0.3.1", sha256="3c6f6afe262ccf50c983617fc4ec5f381c2e1f6391aa974fbcc39203802bc3ff")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('python@2.7:2.8,3.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("python@2.7:2.8,3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-owslib/package.py b/var/spack/repos/builtin/packages/py-owslib/package.py
index 88c3d98a7e..a128e9e846 100644
--- a/var/spack/repos/builtin/packages/py-owslib/package.py
+++ b/var/spack/repos/builtin/packages/py-owslib/package.py
@@ -14,17 +14,17 @@ class PyOwslib(PythonPackage):
homepage = "http://http://geopython.github.io/OWSLib/#installation"
pypi = "OWSLib/OWSLib-0.16.0.tar.gz"
- version('0.25.0', sha256='20d79bce0be10277caa36f3134826bd0065325df0301a55b2c8b1c338d8d8f0a')
- version('0.17.1', sha256='b2e7fd694d3cffcee79317bad492d60c0aa887aea6916517c051c3247b33b5a5')
- version('0.16.0', sha256='ec95a5e93c145a5d84b0074b9ea27570943486552a669151140debf08a100554')
+ version("0.25.0", sha256="20d79bce0be10277caa36f3134826bd0065325df0301a55b2c8b1c338d8d8f0a")
+ version("0.17.1", sha256="b2e7fd694d3cffcee79317bad492d60c0aa887aea6916517c051c3247b33b5a5")
+ version("0.16.0", sha256="ec95a5e93c145a5d84b0074b9ea27570943486552a669151140debf08a100554")
- depends_on('python@3.6:', when='@0.19.2:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.19.1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil@1.5:', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-requests@1:', type=('build', 'run'))
- depends_on('py-pyproj', type=('build', 'run'))
- depends_on('py-pyproj@2:', when='@0.19.2:', type=('build', 'run'))
- depends_on('py-pyyaml', when='@0.19.2:', type=('build', 'run'))
- depends_on('py-dataclasses', when='@0.25: ^python@:3.6', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.19.2:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.19.1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil@1.5:", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-requests@1:", type=("build", "run"))
+ depends_on("py-pyproj", type=("build", "run"))
+ depends_on("py-pyproj@2:", when="@0.19.2:", type=("build", "run"))
+ depends_on("py-pyyaml", when="@0.19.2:", type=("build", "run"))
+ depends_on("py-dataclasses", when="@0.25: ^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pacifica-downloader/package.py b/var/spack/repos/builtin/packages/py-pacifica-downloader/package.py
index 4f22674241..a113d2a144 100644
--- a/var/spack/repos/builtin/packages/py-pacifica-downloader/package.py
+++ b/var/spack/repos/builtin/packages/py-pacifica-downloader/package.py
@@ -10,10 +10,10 @@ class PyPacificaDownloader(PythonPackage):
"""Python Pacifica Download Library"""
homepage = "https://github.com/pacifica/pacifica-python-downloader/"
- pypi = "pacifica-downloader/pacifica-downloader-0.4.1.tar.gz"
+ pypi = "pacifica-downloader/pacifica-downloader-0.4.1.tar.gz"
- version('0.4.1', sha256='11da2032a07ca7bb06fed38dc8d7c4c57267ff98c5fd925271083e18dd85d9f4')
+ version("0.4.1", sha256="11da2032a07ca7bb06fed38dc8d7c4c57267ff98c5fd925271083e18dd85d9f4")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pacifica-namespace/package.py b/var/spack/repos/builtin/packages/py-pacifica-namespace/package.py
index dcabdffb2d..eebec46ea6 100644
--- a/var/spack/repos/builtin/packages/py-pacifica-namespace/package.py
+++ b/var/spack/repos/builtin/packages/py-pacifica-namespace/package.py
@@ -10,9 +10,9 @@ class PyPacificaNamespace(PythonPackage):
"""Python Pacifica Namespace Library"""
homepage = "https://github.com/pacifica/pacifica-namespace/"
- pypi = "pacifica-namespace/pacifica-namespace-0.0.2.tar.gz"
+ pypi = "pacifica-namespace/pacifica-namespace-0.0.2.tar.gz"
- version('0.0.2', sha256='a8f59aea1203a1557f7f57887b61e92f8450c74a8522798c5ddecf8fffb0b224')
+ version("0.0.2", sha256="a8f59aea1203a1557f7f57887b61e92f8450c74a8522798c5ddecf8fffb0b224")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pacifica-uploader/package.py b/var/spack/repos/builtin/packages/py-pacifica-uploader/package.py
index c762e95703..3bb96bd748 100644
--- a/var/spack/repos/builtin/packages/py-pacifica-uploader/package.py
+++ b/var/spack/repos/builtin/packages/py-pacifica-uploader/package.py
@@ -10,10 +10,10 @@ class PyPacificaUploader(PythonPackage):
"""Python Pacifica Uploader Library"""
homepage = "https://github.com/pacifica/pacifica-python-uploader/"
- pypi = "pacifica-uploader/pacifica-uploader-0.3.1.tar.gz"
+ pypi = "pacifica-uploader/pacifica-uploader-0.3.1.tar.gz"
- version('0.3.1', sha256='adda18b28f01f0b1e6fbaf927fec9b8cf07c86f1b74185bed2a624e8a4597578')
+ version("0.3.1", sha256="adda18b28f01f0b1e6fbaf927fec9b8cf07c86f1b74185bed2a624e8a4597578")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-packaging/package.py b/var/spack/repos/builtin/packages/py-packaging/package.py
index f86d95f848..f26b5a9ae3 100644
--- a/var/spack/repos/builtin/packages/py-packaging/package.py
+++ b/var/spack/repos/builtin/packages/py-packaging/package.py
@@ -12,22 +12,22 @@ class PyPackaging(PythonPackage):
homepage = "https://github.com/pypa/packaging"
pypi = "packaging/packaging-19.2.tar.gz"
- version('21.3', sha256='dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb')
- version('21.0', sha256='7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7')
- version('20.9', sha256='5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5')
- version('19.2', sha256='28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47')
- version('19.1', sha256='c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe')
- version('19.0', sha256='0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af')
- version('17.1', sha256='f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b')
- version('16.8', sha256='5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e')
+ version("21.3", sha256="dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb")
+ version("21.0", sha256="7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7")
+ version("20.9", sha256="5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5")
+ version("19.2", sha256="28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47")
+ version("19.1", sha256="c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe")
+ version("19.0", sha256="0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af")
+ version("17.1", sha256="f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b")
+ version("16.8", sha256="5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e")
- depends_on('python@3.6:', when='@21:', type=('build', 'run'))
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@40.8.0:', when='@20.8:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@21:", type=("build", "run"))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@40.8.0:", when="@20.8:", type="build")
+ depends_on("py-setuptools", type="build")
- depends_on('py-pyparsing@2.0.2:3.0.4,3.0.6:', when='@21.3:', type=('build', 'run'))
- depends_on('py-pyparsing@2.0.2:2', when='@21.1:21.2', type=('build', 'run'))
- depends_on('py-pyparsing@2.0.2:', type=('build', 'run'))
- depends_on('py-six', when='@:20.7', type=('build', 'run'))
- depends_on('py-attrs', when='@19.1', type=('build', 'run'))
+ depends_on("py-pyparsing@2.0.2:3.0.4,3.0.6:", when="@21.3:", type=("build", "run"))
+ depends_on("py-pyparsing@2.0.2:2", when="@21.1:21.2", type=("build", "run"))
+ depends_on("py-pyparsing@2.0.2:", type=("build", "run"))
+ depends_on("py-six", when="@:20.7", type=("build", "run"))
+ depends_on("py-attrs", when="@19.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pager/package.py b/var/spack/repos/builtin/packages/py-pager/package.py
index baea2b1658..0a0588d602 100644
--- a/var/spack/repos/builtin/packages/py-pager/package.py
+++ b/var/spack/repos/builtin/packages/py-pager/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PyPager(PythonPackage):
"""Python module that pages output to the screen,
- reads keys and console dimensions without executing external utils."""
+ reads keys and console dimensions without executing external utils."""
- pypi = "pager/pager-3.3.tar.gz"
+ pypi = "pager/pager-3.3.tar.gz"
- version('3.3', sha256='18aa45ec877dca732e599531c7b3b0b22ed6a4445febdf1bdf7da2761cca340d')
+ version("3.3", sha256="18aa45ec877dca732e599531c7b3b0b22ed6a4445febdf1bdf7da2761cca340d")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-palettable/package.py b/var/spack/repos/builtin/packages/py-palettable/package.py
index 32e0c71add..b22f92e19e 100644
--- a/var/spack/repos/builtin/packages/py-palettable/package.py
+++ b/var/spack/repos/builtin/packages/py-palettable/package.py
@@ -12,7 +12,7 @@ class PyPalettable(PythonPackage):
homepage = "https://jiffyclub.github.io/palettable/"
pypi = "palettable/palettable-3.0.0.tar.gz"
- version('3.3.0', sha256='72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd')
- version('3.0.0', sha256='eed9eb0399386ff42f90ca61d4fa38a1819a93d5adfc2d546e3e2869d9972c31')
+ version("3.3.0", sha256="72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd")
+ version("3.0.0", sha256="eed9eb0399386ff42f90ca61d4fa38a1819a93d5adfc2d546e3e2869d9972c31")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pamela/package.py b/var/spack/repos/builtin/packages/py-pamela/package.py
index fec9687a47..8bc71b406f 100644
--- a/var/spack/repos/builtin/packages/py-pamela/package.py
+++ b/var/spack/repos/builtin/packages/py-pamela/package.py
@@ -11,6 +11,6 @@ class PyPamela(PythonPackage):
pypi = "pamela/pamela-1.0.0.tar.gz"
- version('1.0.0', sha256='65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c')
+ version("1.0.0", sha256="65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-panaroo/package.py b/var/spack/repos/builtin/packages/py-panaroo/package.py
index 9e3c2f455a..416f4b493f 100644
--- a/var/spack/repos/builtin/packages/py-panaroo/package.py
+++ b/var/spack/repos/builtin/packages/py-panaroo/package.py
@@ -11,28 +11,28 @@ class PyPanaroo(PythonPackage):
"""A Bacterial Pangenome Analysis Pipeline"""
homepage = "https://gtonkinhill.github.io/panaroo"
- url = "https://github.com/gtonkinhill/panaroo/archive/refs/tags/v1.2.10.tar.gz"
+ url = "https://github.com/gtonkinhill/panaroo/archive/refs/tags/v1.2.10.tar.gz"
- version('1.2.10', sha256='066e5cd96b59918fa4fcd2dc12c92a273457ee17e2fe55576657c793566e948e')
+ version("1.2.10", sha256="066e5cd96b59918fa4fcd2dc12c92a273457ee17e2fe55576657c793566e948e")
- depends_on('python@3.6.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-plotly', type=('build', 'run'))
- depends_on('py-dendropy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
- depends_on('py-gffutils', type=('build', 'run'))
- depends_on('py-edlib', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-intbitset', type=('build', 'run'))
- depends_on('cdhit', type=('build', 'run'))
- depends_on('prokka', type=('build', 'run'))
- depends_on('prank', type=('build', 'run'))
- depends_on('mafft', type=('build', 'run'))
- depends_on('clustal-omega', type=('build', 'run'))
- depends_on('mash', type=('build', 'run'))
+ depends_on("python@3.6.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-plotly", type=("build", "run"))
+ depends_on("py-dendropy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-gffutils", type=("build", "run"))
+ depends_on("py-edlib", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-intbitset", type=("build", "run"))
+ depends_on("cdhit", type=("build", "run"))
+ depends_on("prokka", type=("build", "run"))
+ depends_on("prank", type=("build", "run"))
+ depends_on("mafft", type=("build", "run"))
+ depends_on("clustal-omega", type=("build", "run"))
+ depends_on("mash", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 4f5d45fb40..6d835470b1 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -15,92 +15,92 @@ class PyPandas(PythonPackage):
homepage = "https://pandas.pydata.org/"
pypi = "pandas/pandas-1.2.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.4.3', sha256='2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c')
- version('1.4.2', sha256='92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12')
- version('1.4.1', sha256='8db93ec98ac7cb5f8ac1420c10f5e3c43533153f253fe7fb6d891cf5aa2b80d2')
- version('1.4.0', sha256='cdd76254c7f0a1583bd4e4781fb450d0ebf392e10d3f12e92c95575942e37df5')
- version('1.3.5', sha256='1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1')
- version('1.3.4', sha256='a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc')
- version('1.3.3', sha256='272c8cb14aa9793eada6b1ebe81994616e647b5892a370c7135efb2924b701df')
- version('1.3.2', sha256='cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87')
- version('1.3.1', sha256='341935a594db24f3ff07d1b34d1d231786aa9adfa84b76eab10bf42907c8aed3')
- version('1.3.0', sha256='c554e6c9cf2d5ea1aba5979cc837b3649539ced0e18ece186f055450c86622e2')
- version('1.2.5', sha256='14abb8ea73fce8aebbb1fb44bec809163f1c55241bcc1db91c2c780e97265033')
- version('1.2.4', sha256='649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279')
- version('1.2.3', sha256='df6f10b85aef7a5bb25259ad651ad1cc1d6bb09000595cab47e718cbac250b1d')
- version('1.2.2', sha256='14ed84b463e9b84c8ff9308a79b04bf591ae3122a376ee0f62c68a1bd917a773')
- version('1.2.1', sha256='5527c5475d955c0bc9689c56865aaa2a7b13c504d6c44f0aadbf57b565af5ebd')
- version('1.2.0', sha256='e03386615b970b8b41da6a68afe717626741bb2431cec993640685614c0680e4')
- version('1.1.5', sha256='f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b')
- version('1.1.4', sha256='a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6')
- version('1.1.3', sha256='babbeda2f83b0686c9ad38d93b10516e68cdcd5771007eb80a763e98aaf44613')
- version('1.1.2', sha256='b64ffd87a2cfd31b40acd4b92cb72ea9a52a48165aec4c140e78fd69c45d1444')
- version('1.1.1', sha256='53328284a7bb046e2e885fd1b8c078bd896d7fc4575b915d4936f54984a2ba67')
- version('1.1.0', sha256='b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273')
- version('1.0.5', sha256='69c5d920a0b2a9838e677f78f4dde506b95ea8e4d30da25859db6469ded84fa8')
- version('1.0.4', sha256='b35d625282baa7b51e82e52622c300a1ca9f786711b2af7cbe64f1e6831f4126')
- version('1.0.3', sha256='32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586')
- version('1.0.2', sha256='76334ba36aa42f93b6b47b79cbc32187d3a178a4ab1c3a478c8f4198bcd93a73')
- version('1.0.1', sha256='3c07765308f091d81b6735d4f2242bb43c332cc3461cae60543df6b10967fe27')
- version('1.0.0', sha256='3ea6cc86931f57f18b1240572216f09922d91b19ab8a01cf24734394a3db3bec')
- version('0.25.3', sha256='52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4')
- version('0.25.2', sha256='ca91a19d1f0a280874a24dca44aadce42da7f3a7edb7e9ab7c7baad8febee2be')
- version('0.25.1', sha256='cb2e197b7b0687becb026b84d3c242482f20cbb29a9981e43604eb67576da9f6')
- version('0.25.0', sha256='914341ad2d5b1ea522798efa4016430b66107d05781dbfe7cf05eba8f37df995')
- version('0.24.2', sha256='4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2')
- version('0.24.1', sha256='435821cb2501eabbcee7e83614bd710940dc0cf28b5afbc4bdb816c31cec71af')
- version('0.23.4', sha256='5b24ca47acf69222e82530e89111dd9d14f9b970ab2cd3a1c2c78f0c4fbba4f4')
- version('0.21.1', sha256='c5f5cba88bf0659554c41c909e1f78139f6fce8fa9315a29a23692b38ff9788a')
- version('0.20.0', sha256='54f7a2bb2a7832c0446ad51d779806f07ec4ea2bb7c9aea4b83669fa97e778c4')
- version('0.19.2', sha256='6f0f4f598c2b16746803c8bafef7c721c57e4844da752d36240c0acf97658014')
- version('0.19.0', sha256='4697606cdf023c6b7fcb74e48aaf25cf282a1a00e339d2d274cf1b663748805b')
- version('0.18.0', sha256='c975710ce8154b50f39a46aa3ea88d95b680191d1d9d4b5dd91eae7215e01814')
- version('0.16.1', sha256='570d243f8cb068bf780461b9225d2e7bef7c90aa10d43cf908fe541fc92df8b6')
- version('0.16.0', sha256='4013de6f8796ca9d2871218861823bd9878a8dfacd26e08ccf9afdd01bbad9f1')
+ version("1.4.3", sha256="2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c")
+ version("1.4.2", sha256="92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12")
+ version("1.4.1", sha256="8db93ec98ac7cb5f8ac1420c10f5e3c43533153f253fe7fb6d891cf5aa2b80d2")
+ version("1.4.0", sha256="cdd76254c7f0a1583bd4e4781fb450d0ebf392e10d3f12e92c95575942e37df5")
+ version("1.3.5", sha256="1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1")
+ version("1.3.4", sha256="a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc")
+ version("1.3.3", sha256="272c8cb14aa9793eada6b1ebe81994616e647b5892a370c7135efb2924b701df")
+ version("1.3.2", sha256="cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87")
+ version("1.3.1", sha256="341935a594db24f3ff07d1b34d1d231786aa9adfa84b76eab10bf42907c8aed3")
+ version("1.3.0", sha256="c554e6c9cf2d5ea1aba5979cc837b3649539ced0e18ece186f055450c86622e2")
+ version("1.2.5", sha256="14abb8ea73fce8aebbb1fb44bec809163f1c55241bcc1db91c2c780e97265033")
+ version("1.2.4", sha256="649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279")
+ version("1.2.3", sha256="df6f10b85aef7a5bb25259ad651ad1cc1d6bb09000595cab47e718cbac250b1d")
+ version("1.2.2", sha256="14ed84b463e9b84c8ff9308a79b04bf591ae3122a376ee0f62c68a1bd917a773")
+ version("1.2.1", sha256="5527c5475d955c0bc9689c56865aaa2a7b13c504d6c44f0aadbf57b565af5ebd")
+ version("1.2.0", sha256="e03386615b970b8b41da6a68afe717626741bb2431cec993640685614c0680e4")
+ version("1.1.5", sha256="f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b")
+ version("1.1.4", sha256="a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6")
+ version("1.1.3", sha256="babbeda2f83b0686c9ad38d93b10516e68cdcd5771007eb80a763e98aaf44613")
+ version("1.1.2", sha256="b64ffd87a2cfd31b40acd4b92cb72ea9a52a48165aec4c140e78fd69c45d1444")
+ version("1.1.1", sha256="53328284a7bb046e2e885fd1b8c078bd896d7fc4575b915d4936f54984a2ba67")
+ version("1.1.0", sha256="b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273")
+ version("1.0.5", sha256="69c5d920a0b2a9838e677f78f4dde506b95ea8e4d30da25859db6469ded84fa8")
+ version("1.0.4", sha256="b35d625282baa7b51e82e52622c300a1ca9f786711b2af7cbe64f1e6831f4126")
+ version("1.0.3", sha256="32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586")
+ version("1.0.2", sha256="76334ba36aa42f93b6b47b79cbc32187d3a178a4ab1c3a478c8f4198bcd93a73")
+ version("1.0.1", sha256="3c07765308f091d81b6735d4f2242bb43c332cc3461cae60543df6b10967fe27")
+ version("1.0.0", sha256="3ea6cc86931f57f18b1240572216f09922d91b19ab8a01cf24734394a3db3bec")
+ version("0.25.3", sha256="52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4")
+ version("0.25.2", sha256="ca91a19d1f0a280874a24dca44aadce42da7f3a7edb7e9ab7c7baad8febee2be")
+ version("0.25.1", sha256="cb2e197b7b0687becb026b84d3c242482f20cbb29a9981e43604eb67576da9f6")
+ version("0.25.0", sha256="914341ad2d5b1ea522798efa4016430b66107d05781dbfe7cf05eba8f37df995")
+ version("0.24.2", sha256="4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2")
+ version("0.24.1", sha256="435821cb2501eabbcee7e83614bd710940dc0cf28b5afbc4bdb816c31cec71af")
+ version("0.23.4", sha256="5b24ca47acf69222e82530e89111dd9d14f9b970ab2cd3a1c2c78f0c4fbba4f4")
+ version("0.21.1", sha256="c5f5cba88bf0659554c41c909e1f78139f6fce8fa9315a29a23692b38ff9788a")
+ version("0.20.0", sha256="54f7a2bb2a7832c0446ad51d779806f07ec4ea2bb7c9aea4b83669fa97e778c4")
+ version("0.19.2", sha256="6f0f4f598c2b16746803c8bafef7c721c57e4844da752d36240c0acf97658014")
+ version("0.19.0", sha256="4697606cdf023c6b7fcb74e48aaf25cf282a1a00e339d2d274cf1b663748805b")
+ version("0.18.0", sha256="c975710ce8154b50f39a46aa3ea88d95b680191d1d9d4b5dd91eae7215e01814")
+ version("0.16.1", sha256="570d243f8cb068bf780461b9225d2e7bef7c90aa10d43cf908fe541fc92df8b6")
+ version("0.16.0", sha256="4013de6f8796ca9d2871218861823bd9878a8dfacd26e08ccf9afdd01bbad9f1")
# Required dependencies
# https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html#dependencies
- depends_on('python@3.8:', type=('build', 'run'), when='@1.4:')
- depends_on('python@3.7.1:', type=('build', 'run'), when='@1.2:')
- depends_on('python@3.6.1:', type=('build', 'run'), when='@1:')
- depends_on('python@3.5.3:', type=('build', 'run'), when='@0.25:')
+ depends_on("python@3.8:", type=("build", "run"), when="@1.4:")
+ depends_on("python@3.7.1:", type=("build", "run"), when="@1.2:")
+ depends_on("python@3.6.1:", type=("build", "run"), when="@1:")
+ depends_on("python@3.5.3:", type=("build", "run"), when="@0.25:")
# https://pandas.pydata.org/docs/whatsnew/v1.0.0.html#build-changes
- depends_on('py-cython@0.29.13:2', type='build', when='@1:')
- depends_on('py-cython@0.29.16:2', type='build', when='@1.1:')
- depends_on('py-cython@0.29.21:2', type='build', when='@1.1.3:')
- depends_on('py-cython@0.29.24:2', type='build', when='@1.3.4:')
- depends_on('py-cython@0.29.30:2', type='build', when='@1.4.3:')
- depends_on('py-setuptools@24.2.0:', type='build')
- depends_on('py-setuptools@38.6.0:', type='build', when='@1.3:')
- depends_on('py-setuptools@51.0.0:', type='build', when='@1.3.2:')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-cython@0.29.13:2", type="build", when="@1:")
+ depends_on("py-cython@0.29.16:2", type="build", when="@1.1:")
+ depends_on("py-cython@0.29.21:2", type="build", when="@1.1.3:")
+ depends_on("py-cython@0.29.24:2", type="build", when="@1.3.4:")
+ depends_on("py-cython@0.29.30:2", type="build", when="@1.4.3:")
+ depends_on("py-setuptools@24.2.0:", type="build")
+ depends_on("py-setuptools@38.6.0:", type="build", when="@1.3:")
+ depends_on("py-setuptools@51.0.0:", type="build", when="@1.3.2:")
+ depends_on("py-numpy", type=("build", "run"))
# 'NUMPY_IMPORT_ARRAY_RETVAL' was removed in numpy@1.19
- depends_on('py-numpy@:1.18', type=('build', 'run'), when='@:0.25')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'), when='@0.25:')
- depends_on('py-numpy@1.15.4:', type=('build', 'run'), when='@1.1:')
- depends_on('py-numpy@1.16.5:', type=('build', 'run'), when='@1.2:')
- depends_on('py-numpy@1.17.3:', type=('build', 'run'), when='@1.3:')
- depends_on('py-numpy@1.18.5:', type=('build', 'run'), when='@1.4:')
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-python-dateutil@2.6.1:', type=('build', 'run'), when='@0.25:')
- depends_on('py-python-dateutil@2.7.3:', type=('build', 'run'), when='@1.1:')
- depends_on('py-python-dateutil@2.8.1:', type=('build', 'run'), when='@1.4:')
- depends_on('py-pytz@2017.2:', type=('build', 'run'))
- depends_on('py-pytz@2017.3:', type=('build', 'run'), when='@1.2:')
- depends_on('py-pytz@2020.1:', type=('build', 'run'), when='@1.4:')
+ depends_on("py-numpy@:1.18", type=("build", "run"), when="@:0.25")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@0.25:")
+ depends_on("py-numpy@1.15.4:", type=("build", "run"), when="@1.1:")
+ depends_on("py-numpy@1.16.5:", type=("build", "run"), when="@1.2:")
+ depends_on("py-numpy@1.17.3:", type=("build", "run"), when="@1.3:")
+ depends_on("py-numpy@1.18.5:", type=("build", "run"), when="@1.4:")
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-python-dateutil@2.6.1:", type=("build", "run"), when="@0.25:")
+ depends_on("py-python-dateutil@2.7.3:", type=("build", "run"), when="@1.1:")
+ depends_on("py-python-dateutil@2.8.1:", type=("build", "run"), when="@1.4:")
+ depends_on("py-pytz@2017.2:", type=("build", "run"))
+ depends_on("py-pytz@2017.3:", type=("build", "run"), when="@1.2:")
+ depends_on("py-pytz@2020.1:", type=("build", "run"), when="@1.4:")
# Recommended dependencies
# https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html#recommended-dependencies
- depends_on('py-numexpr', type=('build', 'run'))
- depends_on('py-numexpr@2.6.2:', type=('build', 'run'), when='@0.25:')
- depends_on('py-numexpr@2.6.8:', type=('build', 'run'), when='@1.2:')
- depends_on('py-numexpr@2.7.0:', type=('build', 'run'), when='@1.3:')
- depends_on('py-numexpr@2.7.1:', type=('build', 'run'), when='@1.4:')
- depends_on('py-bottleneck', type=('build', 'run'))
- depends_on('py-bottleneck@1.2.1:', type=('build', 'run'), when='@0.25:')
- depends_on('py-bottleneck@1.3.1:', type=('build', 'run'), when='@1.4:')
+ depends_on("py-numexpr", type=("build", "run"))
+ depends_on("py-numexpr@2.6.2:", type=("build", "run"), when="@0.25:")
+ depends_on("py-numexpr@2.6.8:", type=("build", "run"), when="@1.2:")
+ depends_on("py-numexpr@2.7.0:", type=("build", "run"), when="@1.3:")
+ depends_on("py-numexpr@2.7.1:", type=("build", "run"), when="@1.4:")
+ depends_on("py-bottleneck", type=("build", "run"))
+ depends_on("py-bottleneck@1.2.1:", type=("build", "run"), when="@0.25:")
+ depends_on("py-bottleneck@1.3.1:", type=("build", "run"), when="@1.4:")
# Optional dependencies
# https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html#optional-dependencies
@@ -112,8 +112,7 @@ class PyPandas(PythonPackage):
ignored_imports = [
"pandas.tests",
"pandas.plotting._matplotlib",
- "pandas.core._numba.kernels"
+ "pandas.core._numba.kernels",
]
- return [i for i in modules
- if not any(map(i.startswith, ignored_imports))]
+ return [i for i in modules if not any(map(i.startswith, ignored_imports))]
diff --git a/var/spack/repos/builtin/packages/py-pandocfilters/package.py b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
index 1755b702f6..6cf6952d78 100644
--- a/var/spack/repos/builtin/packages/py-pandocfilters/package.py
+++ b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
@@ -12,8 +12,8 @@ class PyPandocfilters(PythonPackage):
homepage = "https://github.com/jgm/pandocfilters"
pypi = "pandocfilters/pandocfilters-1.4.2.tar.gz"
- version('1.5.0', sha256='0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38')
- version('1.4.2', sha256='b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9')
+ version("1.5.0", sha256="0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38")
+ version("1.4.2", sha256="b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9")
- depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@1.5.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2,3.4:", type=("build", "run"), when="@1.5.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-param/package.py b/var/spack/repos/builtin/packages/py-param/package.py
index e510cf4457..31d063f6c0 100644
--- a/var/spack/repos/builtin/packages/py-param/package.py
+++ b/var/spack/repos/builtin/packages/py-param/package.py
@@ -13,11 +13,11 @@ class PyParam(PythonPackage):
parent classes if not specified in a subclass."""
homepage = "https://param.holoviz.org/"
- pypi = "param/param-1.12.0.tar.gz"
+ pypi = "param/param-1.12.0.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('1.12.0', sha256='35d0281c8e3beb6dd469f46ff0b917752a54bed94d1b0c567346c76d0ff59c4a')
+ version("1.12.0", sha256="35d0281c8e3beb6dd469f46ff0b917752a54bed94d1b0c567346c76d0ff59c4a")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-parameterized/package.py b/var/spack/repos/builtin/packages/py-parameterized/package.py
index b16b7674e7..fb847e5c2b 100644
--- a/var/spack/repos/builtin/packages/py-parameterized/package.py
+++ b/var/spack/repos/builtin/packages/py-parameterized/package.py
@@ -12,6 +12,6 @@ class PyParameterized(PythonPackage):
homepage = "https://github.com/wolever/parameterized"
pypi = "parameterized/parameterized-0.7.1.tar.gz"
- version('0.7.1', sha256='6a94dbea30c6abde99fd4c2f2042c1bf7f980e48908bf92ead62394f93cf57ed')
+ version("0.7.1", sha256="6a94dbea30c6abde99fd4c2f2042c1bf7f980e48908bf92ead62394f93cf57ed")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-paramiko/package.py b/var/spack/repos/builtin/packages/py-paramiko/package.py
index 98acfb8a01..4bc007aac6 100644
--- a/var/spack/repos/builtin/packages/py-paramiko/package.py
+++ b/var/spack/repos/builtin/packages/py-paramiko/package.py
@@ -12,17 +12,17 @@ class PyParamiko(PythonPackage):
homepage = "https://www.paramiko.org/"
pypi = "paramiko/paramiko-2.7.1.tar.gz"
- version('2.7.1', sha256='920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f')
- version('2.1.2', sha256='5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310')
+ version("2.7.1", sha256="920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f")
+ version("2.1.2", sha256="5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310")
- variant('invoke', default=False, description='Enable invoke support')
+ variant("invoke", default=False, description="Enable invoke support")
- depends_on('py-setuptools', type='build')
- depends_on('py-bcrypt@3.1.3:', when='@2.7:', type=('build', 'run'))
- depends_on('py-cryptography@1.1:', type=('build', 'run'))
- depends_on('py-cryptography@2.5:', when='@2.7:', type=('build', 'run'))
- depends_on('py-pyasn1@0.1.7:', when='@:2.1', type=('build', 'run'))
- depends_on('py-pynacl@1.0.1:', when='@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-bcrypt@3.1.3:", when="@2.7:", type=("build", "run"))
+ depends_on("py-cryptography@1.1:", type=("build", "run"))
+ depends_on("py-cryptography@2.5:", when="@2.7:", type=("build", "run"))
+ depends_on("py-pyasn1@0.1.7:", when="@:2.1", type=("build", "run"))
+ depends_on("py-pynacl@1.0.1:", when="@2.7:", type=("build", "run"))
- depends_on('py-invoke@1.3:', when='+invoke', type=('build', 'run'))
- conflicts('+invoke', when='@2.1.2')
+ depends_on("py-invoke@1.3:", when="+invoke", type=("build", "run"))
+ conflicts("+invoke", when="@2.1.2")
diff --git a/var/spack/repos/builtin/packages/py-paramz/package.py b/var/spack/repos/builtin/packages/py-paramz/package.py
index 3f33bd23ff..c6191f6664 100644
--- a/var/spack/repos/builtin/packages/py-paramz/package.py
+++ b/var/spack/repos/builtin/packages/py-paramz/package.py
@@ -12,10 +12,10 @@ class PyParamz(PythonPackage):
homepage = "https://github.com/sods/paramz"
pypi = "paramz/paramz-0.9.5.tar.gz"
- version('0.9.5', sha256='0917211c0f083f344e7f1bc997e0d713dbc147b6380bc19f606119394f820b9a')
+ version("0.9.5", sha256="0917211c0f083f344e7f1bc997e0d713dbc147b6380bc19f606119394f820b9a")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-decorator@4.0.10:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-decorator@4.0.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-parmed/package.py b/var/spack/repos/builtin/packages/py-parmed/package.py
index f580ba0ebd..8b9331727f 100644
--- a/var/spack/repos/builtin/packages/py-parmed/package.py
+++ b/var/spack/repos/builtin/packages/py-parmed/package.py
@@ -13,9 +13,9 @@ class PyParmed(PythonPackage):
Python."""
homepage = "https://parmed.github.io/ParmEd/html/index.html"
- pypi = "ParmEd/ParmEd-3.4.3.tar.gz"
+ pypi = "ParmEd/ParmEd-3.4.3.tar.gz"
- version('3.4.3', sha256='90afb155e3ffe69230a002922b28968464126d4450059f0bd97ceca679c6627c')
+ version("3.4.3", sha256="90afb155e3ffe69230a002922b28968464126d4450059f0bd97ceca679c6627c")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-parse/package.py b/var/spack/repos/builtin/packages/py-parse/package.py
index 9be6bc71be..bea6f8f162 100644
--- a/var/spack/repos/builtin/packages/py-parse/package.py
+++ b/var/spack/repos/builtin/packages/py-parse/package.py
@@ -11,8 +11,8 @@ class PyParse(PythonPackage):
pypi = "parse/parse-1.11.1.tar.gz"
- version('1.18.0', sha256='91666032d6723dc5905248417ef0dc9e4c51df9526aaeef271eacad6491f06a4')
- version('1.12.1', sha256='a5fca7000c6588d77bc65c28f3f21bfce03b5e44daa8f9f07c17fe364990d717')
- version('1.11.1', sha256='870dd675c1ee8951db3e29b81ebe44fd131e3eb8c03a79483a58ea574f3145c2')
+ version("1.18.0", sha256="91666032d6723dc5905248417ef0dc9e4c51df9526aaeef271eacad6491f06a4")
+ version("1.12.1", sha256="a5fca7000c6588d77bc65c28f3f21bfce03b5e44daa8f9f07c17fe364990d717")
+ version("1.11.1", sha256="870dd675c1ee8951db3e29b81ebe44fd131e3eb8c03a79483a58ea574f3145c2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-parsedatetime/package.py b/var/spack/repos/builtin/packages/py-parsedatetime/package.py
index dd73a18a9f..2f3742ec48 100644
--- a/var/spack/repos/builtin/packages/py-parsedatetime/package.py
+++ b/var/spack/repos/builtin/packages/py-parsedatetime/package.py
@@ -12,6 +12,6 @@ class PyParsedatetime(PythonPackage):
homepage = "https://github.com/bear/parsedatetime"
pypi = "parsedatetime/parsedatetime-2.5.tar.gz"
- version('2.5', sha256='d2e9ddb1e463de871d32088a3f3cea3dc8282b1b2800e081bd0ef86900451667')
+ version("2.5", sha256="d2e9ddb1e463de871d32088a3f3cea3dc8282b1b2800e081bd0ef86900451667")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-parsimonious/package.py b/var/spack/repos/builtin/packages/py-parsimonious/package.py
index 869d4cf476..1559c814a0 100644
--- a/var/spack/repos/builtin/packages/py-parsimonious/package.py
+++ b/var/spack/repos/builtin/packages/py-parsimonious/package.py
@@ -10,9 +10,9 @@ class PyParsimonious(PythonPackage):
"""(Soon to be) the fastest pure-Python PEG parser"""
homepage = "https://github.com/erikrose/parsimonious"
- pypi = "parsimonious/parsimonious-0.8.1.tar.gz"
+ pypi = "parsimonious/parsimonious-0.8.1.tar.gz"
- version('0.8.1', sha256='3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b')
+ version("0.8.1", sha256="3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-parsl/package.py b/var/spack/repos/builtin/packages/py-parsl/package.py
index e5cfbd4c42..2542881a43 100644
--- a/var/spack/repos/builtin/packages/py-parsl/package.py
+++ b/var/spack/repos/builtin/packages/py-parsl/package.py
@@ -12,20 +12,20 @@ class PyParsl(PythonPackage):
"""
homepage = "https://github.com/Parsl/parsl"
- url = "https://github.com/Parsl/parsl/archive/refs/tags/1.1.0.tar.gz"
+ url = "https://github.com/Parsl/parsl/archive/refs/tags/1.1.0.tar.gz"
- maintainers = ['hategan']
+ maintainers = ["hategan"]
- version('1.1.0', sha256='6a623d3550329f028775950d23a2cafcb0f82b199f15940180410604aa5d102c')
+ version("1.1.0", sha256="6a623d3550329f028775950d23a2cafcb0f82b199f15940180410604aa5d102c")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyzmq@17.1.2:', type=('build', 'run'))
- depends_on('py-typeguard@2.10:', type=('build', 'run'))
- depends_on('py-typing-extensions', type=('build', 'run'))
- depends_on('py-globus-sdk', type=('build', 'run'))
- depends_on('py-dill', type=('build', 'run'))
- depends_on('py-tblib', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-paramiko', type=('build', 'run'))
- depends_on('py-psutil@5.5.1:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyzmq@17.1.2:", type=("build", "run"))
+ depends_on("py-typeguard@2.10:", type=("build", "run"))
+ depends_on("py-typing-extensions", type=("build", "run"))
+ depends_on("py-globus-sdk", type=("build", "run"))
+ depends_on("py-dill", type=("build", "run"))
+ depends_on("py-tblib", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-paramiko", type=("build", "run"))
+ depends_on("py-psutil@5.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-parso/package.py b/var/spack/repos/builtin/packages/py-parso/package.py
index 54b1b31d36..6714581444 100644
--- a/var/spack/repos/builtin/packages/py-parso/package.py
+++ b/var/spack/repos/builtin/packages/py-parso/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class PyParso(PythonPackage):
"""Parso is a Python parser that supports error recovery and round-trip parsing
- for different Python versions (in multiple Python versions).
- Parso is also able to list multiple syntax errors
- in your python file."""
+ for different Python versions (in multiple Python versions).
+ Parso is also able to list multiple syntax errors
+ in your python file."""
pypi = "parso/parso-0.6.1.tar.gz"
- version('0.8.2', sha256='12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398')
- version('0.8.1', sha256='8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e')
- version('0.7.1', sha256='caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9')
- version('0.6.1', sha256='56b2105a80e9c4df49de85e125feb6be69f49920e121406f15e7acde6c9dfc57')
- version('0.4.0', sha256='2e9574cb12e7112a87253e14e2c380ce312060269d04bd018478a3c92ea9a376')
+ version("0.8.2", sha256="12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398")
+ version("0.8.1", sha256="8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e")
+ version("0.7.1", sha256="caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9")
+ version("0.6.1", sha256="56b2105a80e9c4df49de85e125feb6be69f49920e121406f15e7acde6c9dfc57")
+ version("0.4.0", sha256="2e9574cb12e7112a87253e14e2c380ce312060269d04bd018478a3c92ea9a376")
- depends_on('python@3.6:', type=('build', 'run'), when='@0.8.1:')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@0.6.1:')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'), when='@0.4.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"), when="@0.8.1:")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@0.6.1:")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"), when="@0.4.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py
index cb8e9bfb50..c765fa642c 100644
--- a/var/spack/repos/builtin/packages/py-partd/package.py
+++ b/var/spack/repos/builtin/packages/py-partd/package.py
@@ -12,11 +12,11 @@ class PyPartd(PythonPackage):
homepage = "https://github.com/dask/partd/"
pypi = "partd/partd-0.3.8.tar.gz"
- version('1.1.0', sha256='6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0')
- version('0.3.10', sha256='33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba')
- version('0.3.8', sha256='67291f1c4827cde3e0148b3be5d69af64b6d6169feb9ba88f0a6cfe77089400f')
+ version("1.1.0", sha256="6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0")
+ version("0.3.10", sha256="33722a228ebcd1fa6f44b1631bdd4cff056376f89eb826d7d880b35b637bcfba")
+ version("0.3.8", sha256="67291f1c4827cde3e0148b3be5d69af64b6d6169feb9ba88f0a6cfe77089400f")
- depends_on('python@3.5:', type=('build', 'run'), when='@1.1.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-locket', type=('build', 'run'))
- depends_on('py-toolz', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"), when="@1.1.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-locket", type=("build", "run"))
+ depends_on("py-toolz", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-particle/package.py b/var/spack/repos/builtin/packages/py-particle/package.py
index e268c0eb29..0f5008a0aa 100644
--- a/var/spack/repos/builtin/packages/py-particle/package.py
+++ b/var/spack/repos/builtin/packages/py-particle/package.py
@@ -15,22 +15,22 @@ class PyParticle(PythonPackage):
pypi = "particle/particle-0.11.0.tar.gz"
homepage = "https://github.com/scikit-hep/particle"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- tags = ['hep']
+ tags = ["hep"]
- version('master', branch='master')
- version('0.15.1', sha256='6b05cdc4b76c70f785e89258a470504ad87ca119057c65da30a7d4412cca824f')
- version('0.14.1', sha256='05b345f8fbfdb12a0aa744c788b6e1b22326b5a6ad95230596e0fc9ebad56621')
- version('0.11.0', sha256='e90dc36c8b7d7431bd14ee5a28486d28b6c0708555845d1d7bdf59a165405f12')
+ version("master", branch="master")
+ version("0.15.1", sha256="6b05cdc4b76c70f785e89258a470504ad87ca119057c65da30a7d4412cca824f")
+ version("0.14.1", sha256="05b345f8fbfdb12a0aa744c788b6e1b22326b5a6ad95230596e0fc9ebad56621")
+ version("0.11.0", sha256="e90dc36c8b7d7431bd14ee5a28486d28b6c0708555845d1d7bdf59a165405f12")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-attrs@19.2.0:', type=('build', 'run'))
- depends_on('py-hepunits@1.2.0:', when='@:0.12', type=('build', 'run'))
- depends_on('py-hepunits@2.0.0:', when='@0.13:', type=('build', 'run'))
- depends_on('py-importlib-resources@1.0:', when='^python@:3.6', type=('build', 'run'))
+ depends_on("py-attrs@19.2.0:", type=("build", "run"))
+ depends_on("py-hepunits@1.2.0:", when="@:0.12", type=("build", "run"))
+ depends_on("py-hepunits@2.0.0:", when="@0.13:", type=("build", "run"))
+ depends_on("py-importlib-resources@1.0:", when="^python@:3.6", type=("build", "run"))
- depends_on('py-enum34@1.1:', when='^python@:3.3', type=('build', 'run'))
- depends_on("py-typing@3.7:", when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-enum34@1.1:", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-typing@3.7:", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pastel/package.py b/var/spack/repos/builtin/packages/py-pastel/package.py
index 4c3b1122ca..e6ab0099a1 100644
--- a/var/spack/repos/builtin/packages/py-pastel/package.py
+++ b/var/spack/repos/builtin/packages/py-pastel/package.py
@@ -10,9 +10,9 @@ class PyPastel(PythonPackage):
"""Bring colors to your terminal."""
homepage = "https://github.com/sdispater/pastel"
- pypi = "pastel/pastel-0.2.1.tar.gz"
+ pypi = "pastel/pastel-0.2.1.tar.gz"
- version('0.2.1', sha256='e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d')
+ version("0.2.1", sha256="e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d")
- depends_on('python@2.7,3.4:3', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
+ depends_on("python@2.7,3.4:3", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-path-py/package.py b/var/spack/repos/builtin/packages/py-path-py/package.py
index 1d21330553..7be187cab2 100644
--- a/var/spack/repos/builtin/packages/py-path-py/package.py
+++ b/var/spack/repos/builtin/packages/py-path-py/package.py
@@ -12,13 +12,13 @@ class PyPathPy(PythonPackage):
homepage = "https://github.com/jaraco/path.py"
pypi = "path.py/path.py-12.0.1.tar.gz"
- version('12.0.1', sha256='9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f')
- version('5.2', sha256='9916ae9aa603ce7e131e4ac76c25bcdbf6208f8fe5cc565a5022b85dc9d7022c')
+ version("12.0.1", sha256="9f2169633403aa0423f6ec000e8701dd1819526c62465f5043952f92527fea0f")
+ version("5.2", sha256="9916ae9aa603ce7e131e4ac76c25bcdbf6208f8fe5cc565a5022b85dc9d7022c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
def url_for_version(self, version):
- if version >= Version('7.6.1'):
- return 'https://pypi.io/packages/source/p/path.py/path.py-{0}.tar.gz'.format(version)
+ if version >= Version("7.6.1"):
+ return "https://pypi.io/packages/source/p/path.py/path.py-{0}.tar.gz".format(version)
else:
- return 'https://github.com/jaraco/path.py/archive/{0}.tar.gz'.format(version)
+ return "https://github.com/jaraco/path.py/archive/{0}.tar.gz".format(version)
diff --git a/var/spack/repos/builtin/packages/py-pathlib/package.py b/var/spack/repos/builtin/packages/py-pathlib/package.py
index 333d03f4a1..4e5dbea44d 100644
--- a/var/spack/repos/builtin/packages/py-pathlib/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib/package.py
@@ -16,10 +16,10 @@ class PyPathlib(PythonPackage):
homepage = "https://pathlib.readthedocs.org/"
pypi = "pathlib/pathlib-1.0.1.tar.gz"
- version('1.0.1', sha256='6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f')
+ version("1.0.1", sha256="6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# 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
@@ -27,4 +27,4 @@ class PyPathlib(PythonPackage):
# 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:')
+ conflicts("^python@3.4:")
diff --git a/var/spack/repos/builtin/packages/py-pathlib2/package.py b/var/spack/repos/builtin/packages/py-pathlib2/package.py
index 48017b8bf8..012ac5b47c 100644
--- a/var/spack/repos/builtin/packages/py-pathlib2/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib2/package.py
@@ -11,11 +11,11 @@ class PyPathlib2(PythonPackage):
pypi = "pathlib2/pathlib2-2.3.2.tar.gz"
- version('2.3.6', sha256='7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f')
- version('2.3.3', sha256='25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742')
- version('2.3.2', sha256='8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83')
- version('2.1.0', sha256='deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c')
+ version("2.3.6", sha256="7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f")
+ version("2.3.3", sha256="25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742")
+ version("2.3.2", sha256="8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83")
+ version("2.1.0", sha256="deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-scandir', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-scandir", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pathos/package.py b/var/spack/repos/builtin/packages/py-pathos/package.py
index c440c61fc7..48f189fb6c 100644
--- a/var/spack/repos/builtin/packages/py-pathos/package.py
+++ b/var/spack/repos/builtin/packages/py-pathos/package.py
@@ -7,34 +7,34 @@ from spack.package import *
class PyPathos(PythonPackage):
- """Parallel graph management and execution in heterogeneous computing """
+ """Parallel graph management and execution in heterogeneous computing"""
homepage = "https://github.com/uqfoundation/pathos"
pypi = "pathos/pathos-0.2.3.tar.gz"
- version('0.2.8', sha256='1f0f27a90f7ab66c423ba796529000fde9360d17b2d8e50097641ff405fc6f15')
- version('0.2.3', sha256='954c5b0a8b257c375e35d311c65fa62a210a3d65269195557de38418ac9f61f9')
- version('0.2.0', sha256='2f4e67e7914c95fb0cce766bab173eb2c5860ee420108fa183099557ac2e50e9')
+ version("0.2.8", sha256="1f0f27a90f7ab66c423ba796529000fde9360d17b2d8e50097641ff405fc6f15")
+ version("0.2.3", sha256="954c5b0a8b257c375e35d311c65fa62a210a3d65269195557de38418ac9f61f9")
+ version("0.2.0", sha256="2f4e67e7914c95fb0cce766bab173eb2c5860ee420108fa183099557ac2e50e9")
- depends_on('python@2.6:2.8,3.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', when='@0.2.8:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", when="@0.2.8:", type=("build", "run"))
- depends_on('py-setuptools@0.6:', type='build')
- depends_on('py-multiprocess@0.70.7:', type=('build', 'run'))
- depends_on('py-pox@0.2.5:', type=('build', 'run'))
- depends_on('py-pox@0.3.0:', type=('build', 'run'), when='@0.2.8:')
- depends_on('py-ppft@1.6.4.9:', type=('build', 'run'))
- depends_on('py-ppft@1.6.6.4:', type=('build', 'run'), when='@0.2.8:')
- depends_on('py-dill@0.2.9:', type=('build', 'run'))
- depends_on('py-dill@0.3.4:', type=('build', 'run'), when='@0.2.8:')
- depends_on('py-multiprocess@0.70.12:', type=('build', 'run'), when='@0.2.8:')
+ depends_on("py-setuptools@0.6:", type="build")
+ depends_on("py-multiprocess@0.70.7:", type=("build", "run"))
+ depends_on("py-pox@0.2.5:", type=("build", "run"))
+ depends_on("py-pox@0.3.0:", type=("build", "run"), when="@0.2.8:")
+ depends_on("py-ppft@1.6.4.9:", type=("build", "run"))
+ depends_on("py-ppft@1.6.6.4:", type=("build", "run"), when="@0.2.8:")
+ depends_on("py-dill@0.2.9:", type=("build", "run"))
+ depends_on("py-dill@0.3.4:", type=("build", "run"), when="@0.2.8:")
+ depends_on("py-multiprocess@0.70.12:", type=("build", "run"), when="@0.2.8:")
def url_for_version(self, version):
- url = self.url.rsplit('/', 1)[0]
- if Version('0.2.8') > version >= Version('0.2.2'):
- url += '/pathos-{0}.tar.gz'
+ url = self.url.rsplit("/", 1)[0]
+ if Version("0.2.8") > version >= Version("0.2.2"):
+ url += "/pathos-{0}.tar.gz"
else:
- url += '/pathos-{0}.zip'
+ url += "/pathos-{0}.zip"
url = url.format(version)
return url
diff --git a/var/spack/repos/builtin/packages/py-pathspec/package.py b/var/spack/repos/builtin/packages/py-pathspec/package.py
index 970b54cda7..8f9d073419 100644
--- a/var/spack/repos/builtin/packages/py-pathspec/package.py
+++ b/var/spack/repos/builtin/packages/py-pathspec/package.py
@@ -12,10 +12,10 @@ class PyPathspec(PythonPackage):
pypi = "pathspec/pathspec-0.8.1.tar.gz"
- version('0.9.0', sha256='e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1')
- version('0.8.1', sha256='86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd')
- version('0.3.4', sha256='7605ca5c26f554766afe1d177164a2275a85bb803b76eba3428f422972f66728')
+ version("0.9.0", sha256="e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1")
+ version("0.8.1", sha256="86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd")
+ version("0.3.4", sha256="7605ca5c26f554766afe1d177164a2275a85bb803b76eba3428f422972f66728")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@39.2:', when='@0.9:', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@39.2:", when="@0.9:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pathtools/package.py b/var/spack/repos/builtin/packages/py-pathtools/package.py
index ce74512be3..15aa8d15a0 100644
--- a/var/spack/repos/builtin/packages/py-pathtools/package.py
+++ b/var/spack/repos/builtin/packages/py-pathtools/package.py
@@ -10,10 +10,10 @@ class PyPathtools(PythonPackage):
"""Path utilities for Python"""
homepage = "https://github.com/gorakhargosh/pathtools"
- pypi = "pathtools/pathtools-0.1.2.tar.gz"
+ pypi = "pathtools/pathtools-0.1.2.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.1.2', sha256='7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0')
+ version("0.1.2", sha256="7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-patool/package.py b/var/spack/repos/builtin/packages/py-patool/package.py
index 8e1e01da8e..97faa57439 100644
--- a/var/spack/repos/builtin/packages/py-patool/package.py
+++ b/var/spack/repos/builtin/packages/py-patool/package.py
@@ -10,9 +10,9 @@ class PyPatool(PythonPackage):
"""portable archive file manager"""
homepage = "https://wummel.github.io/patool/"
- pypi = "patool/patool-1.12.tar.gz"
+ pypi = "patool/patool-1.12.tar.gz"
- version('1.12', sha256='e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097')
+ version("1.12", sha256="e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-patsy/package.py b/var/spack/repos/builtin/packages/py-patsy/package.py
index aa8b644e6b..5825cf3eed 100644
--- a/var/spack/repos/builtin/packages/py-patsy/package.py
+++ b/var/spack/repos/builtin/packages/py-patsy/package.py
@@ -14,14 +14,17 @@ class PyPatsy(PythonPackage):
homepage = "https://github.com/pydata/patsy"
pypi = "patsy/patsy-0.5.2.tar.gz"
- version('0.5.2', sha256='5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d')
- version('0.5.1', sha256='f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991')
- version('0.4.1', sha256='dc1cc280045b0e6e50c04706fd1e26d2a00ea400aa112f88e8142f88b0b7d3d4',
- url="https://pypi.io/packages/source/p/patsy/patsy-0.4.1.zip")
- variant('splines', default=False, description="Offers spline related functions")
+ version("0.5.2", sha256="5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d")
+ version("0.5.1", sha256="f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991")
+ version(
+ "0.4.1",
+ sha256="dc1cc280045b0e6e50c04706fd1e26d2a00ea400aa112f88e8142f88b0b7d3d4",
+ url="https://pypi.io/packages/source/p/patsy/patsy-0.4.1.zip",
+ )
+ variant("splines", default=False, description="Offers spline related functions")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-numpy@1.4:', type=('build', 'run'), when='@0.5.1:')
- depends_on('py-scipy', type=('build', 'run'), when="+splines")
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-numpy@1.4:", type=("build", "run"), when="@0.5.1:")
+ depends_on("py-scipy", type=("build", "run"), when="+splines")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pauvre/package.py b/var/spack/repos/builtin/packages/py-pauvre/package.py
index e7b35c3032..528334164e 100644
--- a/var/spack/repos/builtin/packages/py-pauvre/package.py
+++ b/var/spack/repos/builtin/packages/py-pauvre/package.py
@@ -10,13 +10,13 @@ class PyPauvre(PythonPackage):
"""pauvre: plotting package designed for nanopore and PacBio long reads"""
homepage = "https://github.com/conchoecia/pauvre"
- url = "https://github.com/conchoecia/pauvre/archive/0.1.86.tar.gz"
+ url = "https://github.com/conchoecia/pauvre/archive/0.1.86.tar.gz"
- version('0.1.86', sha256='aa0b3653e7c12fb50a0907ce088d85b8e1b52c97f40e4d2e6e6b7525a681aa1a')
+ version("0.1.86", sha256="aa0b3653e7c12fb50a0907ce088d85b8e1b52c97f40e4d2e6e6b7525a681aa1a")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py
index 74a4d886ed..93befd396d 100644
--- a/var/spack/repos/builtin/packages/py-pbr/package.py
+++ b/var/spack/repos/builtin/packages/py-pbr/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class PyPbr(PythonPackage):
"""PBR is a library that injects some useful and sensible default
- behaviors into your setuptools run."""
+ behaviors into your setuptools run."""
pypi = "pbr/pbr-5.4.3.tar.gz"
# Skip 'pbr.tests' imports
- import_modules = ['pbr', 'pbr.cmd', 'pbr.hooks']
+ import_modules = ["pbr", "pbr.cmd", "pbr.hooks"]
- version('5.7.0', sha256='4651ca1445e80f2781827305de3d76b3ce53195f2227762684eb08f17bc473b7')
- version('5.4.3', sha256='2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8')
- version('5.2.1', sha256='93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6')
- version('3.1.1', sha256='05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1')
- version('2.0.0', sha256='0ccd2db529afd070df815b1521f01401d43de03941170f8a800e7531faba265d')
- version('1.10.0', sha256='186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c')
- version('1.8.1', sha256='e2127626a91e6c885db89668976db31020f0af2da728924b56480fc7ccf09649')
+ version("5.7.0", sha256="4651ca1445e80f2781827305de3d76b3ce53195f2227762684eb08f17bc473b7")
+ version("5.4.3", sha256="2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8")
+ version("5.2.1", sha256="93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6")
+ version("3.1.1", sha256="05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1")
+ version("2.0.0", sha256="0ccd2db529afd070df815b1521f01401d43de03941170f8a800e7531faba265d")
+ version("1.10.0", sha256="186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c")
+ version("1.8.1", sha256="e2127626a91e6c885db89668976db31020f0af2da728924b56480fc7ccf09649")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pdoc3/package.py b/var/spack/repos/builtin/packages/py-pdoc3/package.py
index 40b776de56..dcebf65b1c 100644
--- a/var/spack/repos/builtin/packages/py-pdoc3/package.py
+++ b/var/spack/repos/builtin/packages/py-pdoc3/package.py
@@ -10,15 +10,15 @@ class PyPdoc3(PythonPackage):
"""Auto-generate API documentation for Python projects."""
homepage = "https://pdoc3.github.io/pdoc/"
- pypi = "pdoc3/pdoc3-0.10.0.tar.gz"
+ pypi = "pdoc3/pdoc3-0.10.0.tar.gz"
- version('0.10.0', sha256='5f22e7bcb969006738e1aa4219c75a32f34c2d62d46dc9d2fb2d3e0b0287e4b7')
+ version("0.10.0", sha256="5f22e7bcb969006738e1aa4219c75a32f34c2d62d46dc9d2fb2d3e0b0287e4b7")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-git', type='build')
- depends_on('py-setuptools-scm', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-git", type="build")
+ depends_on("py-setuptools-scm", type="build")
- depends_on('py-mako', type=('build', 'run'))
- depends_on('py-markdown@3.0:', type=('build', 'run'))
+ depends_on("py-mako", type=("build", "run"))
+ depends_on("py-markdown@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-peachpy/package.py b/var/spack/repos/builtin/packages/py-peachpy/package.py
index 80749eb4e7..6cb6e174cc 100644
--- a/var/spack/repos/builtin/packages/py-peachpy/package.py
+++ b/var/spack/repos/builtin/packages/py-peachpy/package.py
@@ -10,11 +10,11 @@ class PyPeachpy(PythonPackage):
"""Portable Efficient Assembly Codegen in Higher-level Python."""
homepage = "https://github.com/Maratyszcza/PeachPy"
- git = "https://github.com/Maratyszcza/PeachPy.git"
+ git = "https://github.com/Maratyszcza/PeachPy.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('py-setuptools', type='build')
- depends_on('py-opcodes@0.3.13:', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-opcodes@0.3.13:", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-enum34", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pem/package.py b/var/spack/repos/builtin/packages/py-pem/package.py
index cc35af9be5..d9e0b04ff7 100644
--- a/var/spack/repos/builtin/packages/py-pem/package.py
+++ b/var/spack/repos/builtin/packages/py-pem/package.py
@@ -13,17 +13,17 @@ class PyPem(PythonPackage):
"""
homepage = "https://pem.readthedocs.io/en/stable/"
- url = "https://github.com/hynek/pem/archive/20.1.0.tar.gz"
+ url = "https://github.com/hynek/pem/archive/20.1.0.tar.gz"
- version('20.1.0', sha256='140df7388f72bdf95d5a40e152cfda4fd62856b8320a9a808ffdc2bee37d5c36')
- version('19.3.0', sha256='22c526314db05559d5a6b0661aa6a21f26a1ad9f6f10a6ba2d386534ad12b175')
- version('19.2.0', sha256='93772e1574c8ff3442e553025fe42ed66cea3abff7ce75363baffa8eb606e596')
- version('19.1.0', sha256='da4035ce675c0bd572e9e1b75e30c38553610a7d861460299ee18d72928379de')
- version('18.2.0', sha256='18d8440b62ae264343da72b0f6df934291c2fcdaffbeaf249150a3fe76751ed5')
- version('18.1.0', sha256='6bcb3474d112c9dc4aca6900e6b4967cbc1db11f693c8e535f728be2f5620604')
- version('17.1.0', sha256='f33191c11e0bcba2c3d36dc5cfeefe5cc692778a4d33e2a51e56ed7c2c22a4ce')
- version('16.1.0', sha256='5204e85da8561e98f96fa0be9aec6e15ee9fd40499fb4ec533e0513a42effa0b')
- version('16.0.0', sha256='a7a00aa4e1e82d39ae78f7705b0e5dfc7d7b2cf8a16ee073c24af330f75b421e')
- version('15.0.0', sha256='e93e3cfc017fca98223e9842f9ce5df1ad58bf5b4fb1fe82092fd1b778c187e1')
+ version("20.1.0", sha256="140df7388f72bdf95d5a40e152cfda4fd62856b8320a9a808ffdc2bee37d5c36")
+ version("19.3.0", sha256="22c526314db05559d5a6b0661aa6a21f26a1ad9f6f10a6ba2d386534ad12b175")
+ version("19.2.0", sha256="93772e1574c8ff3442e553025fe42ed66cea3abff7ce75363baffa8eb606e596")
+ version("19.1.0", sha256="da4035ce675c0bd572e9e1b75e30c38553610a7d861460299ee18d72928379de")
+ version("18.2.0", sha256="18d8440b62ae264343da72b0f6df934291c2fcdaffbeaf249150a3fe76751ed5")
+ version("18.1.0", sha256="6bcb3474d112c9dc4aca6900e6b4967cbc1db11f693c8e535f728be2f5620604")
+ version("17.1.0", sha256="f33191c11e0bcba2c3d36dc5cfeefe5cc692778a4d33e2a51e56ed7c2c22a4ce")
+ version("16.1.0", sha256="5204e85da8561e98f96fa0be9aec6e15ee9fd40499fb4ec533e0513a42effa0b")
+ version("16.0.0", sha256="a7a00aa4e1e82d39ae78f7705b0e5dfc7d7b2cf8a16ee073c24af330f75b421e")
+ version("15.0.0", sha256="e93e3cfc017fca98223e9842f9ce5df1ad58bf5b4fb1fe82092fd1b778c187e1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pep517/package.py b/var/spack/repos/builtin/packages/py-pep517/package.py
index ba507421d8..95e3a76d6d 100644
--- a/var/spack/repos/builtin/packages/py-pep517/package.py
+++ b/var/spack/repos/builtin/packages/py-pep517/package.py
@@ -10,12 +10,12 @@ class PyPep517(PythonPackage):
"""Wrappers to build Python packages using PEP 517 hooks."""
homepage = "https://github.com/pypa/pep517"
- pypi = "pep517/pep517-0.12.0.tar.gz"
+ pypi = "pep517/pep517-0.12.0.tar.gz"
- version('0.12.0', sha256='931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0')
+ version("0.12.0", sha256="931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0")
- depends_on('py-flit-core@2:3', type='build')
- depends_on('py-toml', when='^python@:3.5', type=('build', 'run'))
- depends_on('py-tomli@1.1:', when='^python@3.6:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-zipp', when='^python@:3.7', type=('build', 'run'))
+ depends_on("py-flit-core@2:3", type="build")
+ depends_on("py-toml", when="^python@:3.5", type=("build", "run"))
+ depends_on("py-tomli@1.1:", when="^python@3.6:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-zipp", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pep8-naming/package.py b/var/spack/repos/builtin/packages/py-pep8-naming/package.py
index e5cc8311b3..92c73b9ebd 100644
--- a/var/spack/repos/builtin/packages/py-pep8-naming/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8-naming/package.py
@@ -12,8 +12,8 @@ class PyPep8Naming(PythonPackage):
homepage = "https://github.com/PyCQA/pep8-naming"
pypi = "pep8-naming/pep8-naming-0.10.0.tar.gz"
- version('0.10.0', sha256='f3b4a5f9dd72b991bf7d8e2a341d2e1aa3a884a769b5aaac4f56825c1763bf3a')
- version('0.7.0', sha256='624258e0dd06ef32a9daf3c36cc925ff7314da7233209c5b01f7e5cdd3c34826')
+ version("0.10.0", sha256="f3b4a5f9dd72b991bf7d8e2a341d2e1aa3a884a769b5aaac4f56825c1763bf3a")
+ version("0.7.0", sha256="624258e0dd06ef32a9daf3c36cc925ff7314da7233209c5b01f7e5cdd3c34826")
- depends_on('py-setuptools', type='build')
- depends_on('py-flake8-polyfill@1.0.2:1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flake8-polyfill@1.0.2:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pep8/package.py b/var/spack/repos/builtin/packages/py-pep8/package.py
index 8c1f9fdba8..ee932f4810 100644
--- a/var/spack/repos/builtin/packages/py-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pep8/package.py
@@ -12,6 +12,6 @@ class PyPep8(PythonPackage):
homepage = "https://pep8.readthedocs.org/"
pypi = "pep8/pep8-1.7.1.tar.gz"
- version('1.7.1', sha256='fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374')
+ version("1.7.1", sha256="fe249b52e20498e59e0b5c5256aa52ee99fc295b26ec9eaa85776ffdb9fe6374")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-performance/package.py b/var/spack/repos/builtin/packages/py-performance/package.py
index 5a690c5f00..f496092a4f 100644
--- a/var/spack/repos/builtin/packages/py-performance/package.py
+++ b/var/spack/repos/builtin/packages/py-performance/package.py
@@ -14,12 +14,12 @@ class PyPerformance(PythonPackage):
using whole applications when possible.
"""
- homepage = 'http://pyperformance.readthedocs.io/'
- url = 'https://github.com/python/performance/archive/0.6.1.tar.gz'
+ homepage = "http://pyperformance.readthedocs.io/"
+ url = "https://github.com/python/performance/archive/0.6.1.tar.gz"
- version('0.6.1', sha256='cc48dd7579da2f4b0e4cff0c8220811f5ba7019493bb408819c1532acf53d13a')
- version('0.6.0', sha256='4636e276445e96563f628e071cacd5df31dc587d83899e7d03fa8b31760f2cd2')
+ version("0.6.1", sha256="cc48dd7579da2f4b0e4cff0c8220811f5ba7019493bb408819c1532acf53d13a")
+ version("0.6.0", sha256="4636e276445e96563f628e071cacd5df31dc587d83899e7d03fa8b31760f2cd2")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pyperf', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pyperf", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-periodictable/package.py b/var/spack/repos/builtin/packages/py-periodictable/package.py
index 1793aaa9fa..5340be1d1b 100644
--- a/var/spack/repos/builtin/packages/py-periodictable/package.py
+++ b/var/spack/repos/builtin/packages/py-periodictable/package.py
@@ -12,9 +12,9 @@ class PyPeriodictable(PythonPackage):
pypi = "periodictable/periodictable-1.4.1.tar.gz"
- version('1.5.0', sha256='b020c04c6765d21903e4604a76ca33cda98677003fe6eb48ed3690cfb03253b2')
- version('1.4.1', sha256='f42e66f6efca33caec4f27dad8d6a6d4e59da147ecf5adfce152cb84e7bd160b')
+ version("1.5.0", sha256="b020c04c6765d21903e4604a76ca33cda98677003fe6eb48ed3690cfb03253b2")
+ version("1.4.1", sha256="f42e66f6efca33caec4f27dad8d6a6d4e59da147ecf5adfce152cb84e7bd160b")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-petastorm/package.py b/var/spack/repos/builtin/packages/py-petastorm/package.py
index 472bee416a..65953b1466 100644
--- a/var/spack/repos/builtin/packages/py-petastorm/package.py
+++ b/var/spack/repos/builtin/packages/py-petastorm/package.py
@@ -14,25 +14,25 @@ class PyPetastorm(PythonPackage):
homepage = "https://github.com/uber/petastorm"
url = "https://github.com/uber/petastorm/archive/refs/tags/v0.11.4.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.11.4', sha256='7090dfc86f110e641d95798bcc75f8b1ca14cd56ed3feef491baaa6849629e51')
- version('0.9.8', sha256='571855224411b88b759ba5d48b288ad2ba09997ebd259292f72b9246144b8101')
- version('0.8.2', sha256='1bf4f26ce0b14f7334c0c29868154f1e600021a044f7565a5ad766b5ecdde911')
-
- depends_on('python@3:', when='@0.9.8:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-dill@0.2.1:', type=('build', 'run'))
- depends_on('py-diskcache@3.0.0:', type=('build', 'run'))
- depends_on('py-future@0.10.2:', type=('build', 'run'))
- depends_on('py-futures@2.0:', type=('build', 'run'), when='^python@:2')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-packaging@15.0:', type=('build', 'run'))
- depends_on('py-pandas@0.19.0:', type=('build', 'run'))
- depends_on('py-psutil@4.0.0:', type=('build', 'run'))
- depends_on('py-pyspark@2.1.0:', type=('build', 'run'))
- depends_on('py-pyzmq@14.0.0:', type=('build', 'run'))
- depends_on('py-pyarrow@0.12.0:', type=('build', 'run'), when='@:0.8.2')
- depends_on('py-pyarrow@0.17.1:', type=('build', 'run'), when='@0.9.8:')
- depends_on('py-six@1.5.0:', type=('build', 'run'))
- depends_on('py-fsspec', type=('build', 'run'), when='@0.11.4:')
+ maintainers = ["adamjstewart"]
+
+ version("0.11.4", sha256="7090dfc86f110e641d95798bcc75f8b1ca14cd56ed3feef491baaa6849629e51")
+ version("0.9.8", sha256="571855224411b88b759ba5d48b288ad2ba09997ebd259292f72b9246144b8101")
+ version("0.8.2", sha256="1bf4f26ce0b14f7334c0c29868154f1e600021a044f7565a5ad766b5ecdde911")
+
+ depends_on("python@3:", when="@0.9.8:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-dill@0.2.1:", type=("build", "run"))
+ depends_on("py-diskcache@3.0.0:", type=("build", "run"))
+ depends_on("py-future@0.10.2:", type=("build", "run"))
+ depends_on("py-futures@2.0:", type=("build", "run"), when="^python@:2")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-packaging@15.0:", type=("build", "run"))
+ depends_on("py-pandas@0.19.0:", type=("build", "run"))
+ depends_on("py-psutil@4.0.0:", type=("build", "run"))
+ depends_on("py-pyspark@2.1.0:", type=("build", "run"))
+ depends_on("py-pyzmq@14.0.0:", type=("build", "run"))
+ depends_on("py-pyarrow@0.12.0:", type=("build", "run"), when="@:0.8.2")
+ depends_on("py-pyarrow@0.17.1:", type=("build", "run"), when="@0.9.8:")
+ depends_on("py-six@1.5.0:", type=("build", "run"))
+ depends_on("py-fsspec", type=("build", "run"), when="@0.11.4:")
diff --git a/var/spack/repos/builtin/packages/py-petname/package.py b/var/spack/repos/builtin/packages/py-petname/package.py
index c4c9082890..61f4dfb7db 100644
--- a/var/spack/repos/builtin/packages/py-petname/package.py
+++ b/var/spack/repos/builtin/packages/py-petname/package.py
@@ -10,9 +10,9 @@ class PyPetname(PythonPackage):
"""Generate human-readable, random object names."""
homepage = "https://launchpad.net/python-petname"
- pypi = "petname/petname-2.6.tar.gz"
+ pypi = "petname/petname-2.6.tar.gz"
- version('2.6', sha256='981c31ef772356a373640d1bb7c67c102e0159eda14578c67a1c99d5b34c9e4c')
- version('2.2', sha256='be1da50a6aa01e39840e9a4b79b527a333b256733cb681f52669c08df7819ace')
+ version("2.6", sha256="981c31ef772356a373640d1bb7c67c102e0159eda14578c67a1c99d5b34c9e4c")
+ version("2.2", sha256="be1da50a6aa01e39840e9a4b79b527a333b256733cb681f52669c08df7819ace")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py
index 9a9c194f6c..ac8c47fb38 100644
--- a/var/spack/repos/builtin/packages/py-petsc4py/package.py
+++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py
@@ -7,79 +7,79 @@ from spack.package import *
class PyPetsc4py(PythonPackage):
- """This package provides Python bindings for the PETSc package.
- """
+ """This package provides Python bindings for the PETSc package."""
homepage = "https://gitlab.com/petsc/petsc4py"
- url = "https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc4py-3.15.0.tar.gz"
- git = "https://gitlab.com/petsc/petsc.git"
+ url = "https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc4py-3.15.0.tar.gz"
+ git = "https://gitlab.com/petsc/petsc.git"
- maintainers = ['balay']
+ maintainers = ["balay"]
- version('main', branch='main')
- version('3.17.3', sha256='c588ab4a17deebe7f0a57f966b3368d88f01d1a1c09f220f63fe8e3b37a32899')
- version('3.17.2', sha256='7e256e13013ce12c8e52edee35920e3d2c1deaae1b71597a3064201eba7abc1c')
- version('3.17.1', sha256='f73a6eb0b453ec2500c9b353dc8427f205bcc12910b263bc4351fea3c6e0af71')
- version('3.17.0', sha256='a3543ebb87dc2b47046e1950b3a356e249d365526515b5e6b328aa7bfae94d29')
- version('3.16.6', sha256='a9b4ed19ca2e62b38da51ac3a70539d9581a1354cc4464c93963d7e95bd8ef66')
- version('3.16.5', sha256='f0ab5c5947ee0b58e51f741f46fab0d32e6458245e8f8b81fcf3da77bad50d25')
- version('3.16.4', sha256='51ac59be9d741ede95c8e0e13b6062b6fb1bd1c975da26732ba059ee8c5bb7eb')
- version('3.16.3', sha256='10e730d50716e40de55b200ff53b461bc4f3fcc798ba89b74dfe6bdf63fa7b6e')
- version('3.16.2', sha256='906634497ae9c59f2c97e12b935954e5ba95df2e764290c24fff6751b7510b04')
- version('3.16.1', sha256='c218358217c436947f8fd61f247f73ac65fa29ea3489ad00bef5827b1436b95f')
- version('3.16.0', sha256='4044accfdc2c80994e80e4e286478d1ba9ac358512d1b74c42e1327eadb0d802')
- version('3.15.5', sha256='cdbc8a7485960c80565268ae851639f6c620663f245708263a349903dd07e5ae')
- version('3.15.4', sha256='f3e1ae8db824d7ac6994f6ae4e04fdd76381f060ca350fee2a85aac668125a8c')
- version('3.15.3', sha256='06e7a5de3509067d8625330b10c1ab200b36df1dfdc2e93922038784b2722f8e')
- version('3.15.2', sha256='d7ed1d79d88b35da563d25e733f276595ba538c52756225f79ba92e1cc4658d3')
- version('3.15.1', sha256='4ec8f42081e4d6a61157b32869b352dcb18c69077f2d1e4160f3837efd9e150f')
- version('3.15.0', sha256='87dcc5ef63a1f0e1a963619f7527e623f52341b2806056b0ef5fdfb0b8b287ad')
- version('3.14.1', sha256='f5f8daf3a4cd1dfc945876b0d83a05b25f3c54e08046312eaa3e3036b24139c0')
- version('3.14.0', sha256='33ac9fb55a541e4c1deabd6e2144da96d5ae70e70c830a55de558000cf3f0ec5')
- version('3.13.0', sha256='0e11679353c0c2938336a3c8d1a439b853e20d3bccd7d614ad1dbea3ec5cb31f')
- version('3.12.0', sha256='4c94a1dbbf244b249436b266ac5fa4e67080d205420805deab5ec162b979df8d')
- version('3.11.0', sha256='ec114b303aadaee032c248a02021e940e43c6437647af0322d95354e6f2c06ad')
- version('3.10.1', sha256='11b59693af0e2067f029924dd6b5220f7a7ec00089f6e2c2361332d6123ea6f7')
- version('3.10.0', sha256='4e58b9e7d4343adcf905751261b789c8c3489496f8de5c3fc3844664ef5ec5a3')
- version('3.9.1', sha256='8b7f56e0904c57cca08d1c24a1d8151d1554f06c9c5a31b16fb6db3bc928bbd8')
- version('3.9.0', sha256='ae077dffd455014de16b6ed4ba014ac9e10227dc6b93f919a4229e8e1c870aec')
- version('3.8.1', sha256='f6260a52dab02247f5b8d686a0587441b1a2048dff52263f1db42e75d2e3f330')
- version('3.8.0', sha256='3445da12becf23ade4d40cdd04c746581982ab6a27f55fbb5cd29bc5560df4b1')
- version('3.7.0', sha256='c04931a5ba3fd7c8c8d165aa7908688921ce3cf4cf8725d0cba73380c2107386')
+ version("main", branch="main")
+ version("3.17.3", sha256="c588ab4a17deebe7f0a57f966b3368d88f01d1a1c09f220f63fe8e3b37a32899")
+ version("3.17.2", sha256="7e256e13013ce12c8e52edee35920e3d2c1deaae1b71597a3064201eba7abc1c")
+ version("3.17.1", sha256="f73a6eb0b453ec2500c9b353dc8427f205bcc12910b263bc4351fea3c6e0af71")
+ version("3.17.0", sha256="a3543ebb87dc2b47046e1950b3a356e249d365526515b5e6b328aa7bfae94d29")
+ version("3.16.6", sha256="a9b4ed19ca2e62b38da51ac3a70539d9581a1354cc4464c93963d7e95bd8ef66")
+ version("3.16.5", sha256="f0ab5c5947ee0b58e51f741f46fab0d32e6458245e8f8b81fcf3da77bad50d25")
+ version("3.16.4", sha256="51ac59be9d741ede95c8e0e13b6062b6fb1bd1c975da26732ba059ee8c5bb7eb")
+ version("3.16.3", sha256="10e730d50716e40de55b200ff53b461bc4f3fcc798ba89b74dfe6bdf63fa7b6e")
+ version("3.16.2", sha256="906634497ae9c59f2c97e12b935954e5ba95df2e764290c24fff6751b7510b04")
+ version("3.16.1", sha256="c218358217c436947f8fd61f247f73ac65fa29ea3489ad00bef5827b1436b95f")
+ version("3.16.0", sha256="4044accfdc2c80994e80e4e286478d1ba9ac358512d1b74c42e1327eadb0d802")
+ version("3.15.5", sha256="cdbc8a7485960c80565268ae851639f6c620663f245708263a349903dd07e5ae")
+ version("3.15.4", sha256="f3e1ae8db824d7ac6994f6ae4e04fdd76381f060ca350fee2a85aac668125a8c")
+ version("3.15.3", sha256="06e7a5de3509067d8625330b10c1ab200b36df1dfdc2e93922038784b2722f8e")
+ version("3.15.2", sha256="d7ed1d79d88b35da563d25e733f276595ba538c52756225f79ba92e1cc4658d3")
+ version("3.15.1", sha256="4ec8f42081e4d6a61157b32869b352dcb18c69077f2d1e4160f3837efd9e150f")
+ version("3.15.0", sha256="87dcc5ef63a1f0e1a963619f7527e623f52341b2806056b0ef5fdfb0b8b287ad")
+ version("3.14.1", sha256="f5f8daf3a4cd1dfc945876b0d83a05b25f3c54e08046312eaa3e3036b24139c0")
+ version("3.14.0", sha256="33ac9fb55a541e4c1deabd6e2144da96d5ae70e70c830a55de558000cf3f0ec5")
+ version("3.13.0", sha256="0e11679353c0c2938336a3c8d1a439b853e20d3bccd7d614ad1dbea3ec5cb31f")
+ version("3.12.0", sha256="4c94a1dbbf244b249436b266ac5fa4e67080d205420805deab5ec162b979df8d")
+ version("3.11.0", sha256="ec114b303aadaee032c248a02021e940e43c6437647af0322d95354e6f2c06ad")
+ version("3.10.1", sha256="11b59693af0e2067f029924dd6b5220f7a7ec00089f6e2c2361332d6123ea6f7")
+ version("3.10.0", sha256="4e58b9e7d4343adcf905751261b789c8c3489496f8de5c3fc3844664ef5ec5a3")
+ version("3.9.1", sha256="8b7f56e0904c57cca08d1c24a1d8151d1554f06c9c5a31b16fb6db3bc928bbd8")
+ version("3.9.0", sha256="ae077dffd455014de16b6ed4ba014ac9e10227dc6b93f919a4229e8e1c870aec")
+ version("3.8.1", sha256="f6260a52dab02247f5b8d686a0587441b1a2048dff52263f1db42e75d2e3f330")
+ version("3.8.0", sha256="3445da12becf23ade4d40cdd04c746581982ab6a27f55fbb5cd29bc5560df4b1")
+ version("3.7.0", sha256="c04931a5ba3fd7c8c8d165aa7908688921ce3cf4cf8725d0cba73380c2107386")
- variant('mpi', default=True, description='Activates MPI support')
+ variant("mpi", default=True, description="Activates MPI support")
- patch('ldshared.patch', when='@:99')
- patch('ldshared-dev.patch', when='@main')
+ patch("ldshared.patch", when="@:99")
+ patch("ldshared-dev.patch", when="@main")
- depends_on('py-cython', type='build', when='@main')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-mpi4py', when='+mpi', type=('build', 'run'))
+ depends_on("py-cython", type="build", when="@main")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-mpi4py", when="+mpi", type=("build", "run"))
- depends_on('petsc+mpi', when='+mpi')
- depends_on('petsc~mpi', when='~mpi')
- depends_on('petsc@main', when='@main')
- depends_on('petsc@3.17.0:3.17', when='@3.17.0:3.17')
- depends_on('petsc@3.16.0:3.16', when='@3.16.0:3.16')
- depends_on('petsc@3.15.0:3.15', when='@3.15.0:3.15')
- depends_on('petsc@3.14.2:3.14', when='@3.14.1:3.14')
- depends_on('petsc@3.14.0:3.14.1', when='@3.14.0')
- depends_on('petsc@3.13.0:3.13', when='@3.13.0:3.13')
- depends_on('petsc@3.12.0:3.12', when='@3.12.0:3.12')
- depends_on('petsc@3.11.0:3.11', when='@3.11.0:3.11')
- depends_on('petsc@3.10.3:3.10', when='@3.10.1:3.10')
- depends_on('petsc@3.10:3.10.2', when='@3.10.0')
- depends_on('petsc@3.9.0:3.9', when='@3.9.0:3.9')
- depends_on('petsc@3.8.0:3.8', when='@3.8.0:3.8')
- depends_on('petsc@3.7.0:3.7', when='@3.7.0:3.7')
- depends_on('petsc@3.6.0:3.6', when='@3.6.0:3.6')
+ depends_on("petsc+mpi", when="+mpi")
+ depends_on("petsc~mpi", when="~mpi")
+ depends_on("petsc@main", when="@main")
+ depends_on("petsc@3.17.0:3.17", when="@3.17.0:3.17")
+ depends_on("petsc@3.16.0:3.16", when="@3.16.0:3.16")
+ depends_on("petsc@3.15.0:3.15", when="@3.15.0:3.15")
+ depends_on("petsc@3.14.2:3.14", when="@3.14.1:3.14")
+ depends_on("petsc@3.14.0:3.14.1", when="@3.14.0")
+ depends_on("petsc@3.13.0:3.13", when="@3.13.0:3.13")
+ depends_on("petsc@3.12.0:3.12", when="@3.12.0:3.12")
+ depends_on("petsc@3.11.0:3.11", when="@3.11.0:3.11")
+ depends_on("petsc@3.10.3:3.10", when="@3.10.1:3.10")
+ depends_on("petsc@3.10:3.10.2", when="@3.10.0")
+ depends_on("petsc@3.9.0:3.9", when="@3.9.0:3.9")
+ depends_on("petsc@3.8.0:3.8", when="@3.8.0:3.8")
+ depends_on("petsc@3.7.0:3.7", when="@3.7.0:3.7")
+ depends_on("petsc@3.6.0:3.6", when="@3.6.0:3.6")
@property
def build_directory(self):
import os
- if self.spec.satisfies('@main'):
- return os.path.join(self.stage.source_path, 'src', 'binding', 'petsc4py')
+
+ if self.spec.satisfies("@main"):
+ return os.path.join(self.stage.source_path, "src", "binding", "petsc4py")
else:
return self.stage.source_path
diff --git a/var/spack/repos/builtin/packages/py-pexpect/package.py b/var/spack/repos/builtin/packages/py-pexpect/package.py
index 262493c8c2..6dfa2c8e90 100644
--- a/var/spack/repos/builtin/packages/py-pexpect/package.py
+++ b/var/spack/repos/builtin/packages/py-pexpect/package.py
@@ -8,15 +8,16 @@ from spack.package import *
class PyPexpect(PythonPackage):
"""Pexpect allows easy control of interactive console applications."""
+
pypi = "pexpect/pexpect-4.2.1.tar.gz"
- version('4.8.0', sha256='fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c')
- version('4.7.0', sha256='9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb')
- version('4.6.0', sha256='2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba')
- version('4.2.1', sha256='3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92')
- version('3.3', sha256='dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba')
+ version("4.8.0", sha256="fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c")
+ version("4.7.0", sha256="9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb")
+ version("4.6.0", sha256="2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba")
+ version("4.2.1", sha256="3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92")
+ version("3.3", sha256="dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-ptyprocess', type=('build', 'run'))
- depends_on('py-ptyprocess@0.5:', type=('build', 'run'), when='@4.7.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ptyprocess", type=("build", "run"))
+ depends_on("py-ptyprocess@0.5:", type=("build", "run"), when="@4.7.0:")
diff --git a/var/spack/repos/builtin/packages/py-phonenumbers/package.py b/var/spack/repos/builtin/packages/py-phonenumbers/package.py
index 1067d93d05..c0662ae5a2 100644
--- a/var/spack/repos/builtin/packages/py-phonenumbers/package.py
+++ b/var/spack/repos/builtin/packages/py-phonenumbers/package.py
@@ -12,11 +12,11 @@ class PyPhonenumbers(PythonPackage):
and validating international phone numbers."""
homepage = "https://github.com/daviddrysdale/python-phonenumbers"
- pypi = "phonenumbers/phonenumbers-8.12.16.tar.gz"
+ pypi = "phonenumbers/phonenumbers-8.12.16.tar.gz"
- version('8.12.16', sha256='a820ab08c980ef24a2d2a1ead4f8d7016fdf008e484d1aecf7ff0b32cc475e16')
- version('8.12.15', sha256='b734bfcf33e87ddae72196a40b3d1af35abd0beb263816ae18e1bff612926406')
- version('8.12.14', sha256='58817072cf2b80fcc8710e7a2c395cd32fce2b70a259e36ff81916862f578d61')
+ version("8.12.16", sha256="a820ab08c980ef24a2d2a1ead4f8d7016fdf008e484d1aecf7ff0b32cc475e16")
+ version("8.12.15", sha256="b734bfcf33e87ddae72196a40b3d1af35abd0beb263816ae18e1bff612926406")
+ version("8.12.14", sha256="58817072cf2b80fcc8710e7a2c395cd32fce2b70a259e36ff81916862f578d61")
- depends_on('python@2.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-phonopy/package.py b/var/spack/repos/builtin/packages/py-phonopy/package.py
index 18b4759d14..6caae77801 100644
--- a/var/spack/repos/builtin/packages/py-phonopy/package.py
+++ b/var/spack/repos/builtin/packages/py-phonopy/package.py
@@ -9,14 +9,17 @@ from spack.package import *
class PyPhonopy(PythonPackage):
"""Phonopy is an open source package for phonon
calculations at harmonic and quasi-harmonic levels."""
+
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"
+ url = (
+ "http://sourceforge.net/projects/phonopy/files/phonopy/phonopy-1.10/phonopy-1.10.0.tar.gz"
+ )
- version('1.10.0', sha256='6b7c540bbbb033203c45b8472696db02a3a55913a0e5eb23de4dc9a3bee473f7')
+ version("1.10.0", sha256="6b7c540bbbb033203c45b8472696db02a3a55913a0e5eb23de4dc9a3bee473f7")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-phydms/package.py b/var/spack/repos/builtin/packages/py-phydms/package.py
index 9930683a86..a099a44b64 100644
--- a/var/spack/repos/builtin/packages/py-phydms/package.py
+++ b/var/spack/repos/builtin/packages/py-phydms/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class PyPhydms(PythonPackage):
"""phydms enables phylogenetic analyses using deep mutational scanning data
- to inform the substitution models. It implements Experimentally informed
- codon models (ExpCM) for phylogenetic inference and the detection of
- biologically interesting selection."""
+ to inform the substitution models. It implements Experimentally informed
+ codon models (ExpCM) for phylogenetic inference and the detection of
+ biologically interesting selection."""
homepage = "http://jbloomlab.github.io/phydms"
- pypi = "phydms/phydms-2.4.1.tar.gz"
-
- version('2.4.1', sha256='04eb50bdb07907214050d19214d9bc8cf2002e24ca30fbe6e0f23f013d584d5c')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
-
- depends_on('py-biopython@1.67:', type=('build', 'run'))
- depends_on('py-cython@0.28:', type=('build', 'run'))
- depends_on('py-numpy@1.16.5:', type=('build', 'run'))
- depends_on('py-scipy@0.18:', type=('build', 'run'))
- depends_on('py-matplotlib@2.0.2:', type=('build', 'run'))
- depends_on('py-natsort@5.0.1:', type=('build', 'run'))
- depends_on('py-sympy@1.0:', type=('build', 'run'))
- depends_on('py-six@1.10:', type=('build', 'run'))
- depends_on('py-pandas@0.20.2:', type=('build', 'run'))
- depends_on('py-pyvolve@1.0.3:', type=('build', 'run'))
- depends_on('py-statsmodels@0.8:', type=('build', 'run'))
- depends_on('py-weblogo@3.4:3.5', type=('build', 'run'))
- depends_on('py-pypdf2@1.26:', type=('build', 'run'))
+ pypi = "phydms/phydms-2.4.1.tar.gz"
+
+ version("2.4.1", sha256="04eb50bdb07907214050d19214d9bc8cf2002e24ca30fbe6e0f23f013d584d5c")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-biopython@1.67:", type=("build", "run"))
+ depends_on("py-cython@0.28:", type=("build", "run"))
+ depends_on("py-numpy@1.16.5:", type=("build", "run"))
+ depends_on("py-scipy@0.18:", type=("build", "run"))
+ depends_on("py-matplotlib@2.0.2:", type=("build", "run"))
+ depends_on("py-natsort@5.0.1:", type=("build", "run"))
+ depends_on("py-sympy@1.0:", type=("build", "run"))
+ depends_on("py-six@1.10:", type=("build", "run"))
+ depends_on("py-pandas@0.20.2:", type=("build", "run"))
+ depends_on("py-pyvolve@1.0.3:", type=("build", "run"))
+ depends_on("py-statsmodels@0.8:", type=("build", "run"))
+ depends_on("py-weblogo@3.4:3.5", type=("build", "run"))
+ depends_on("py-pypdf2@1.26:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-phylophlan/package.py b/var/spack/repos/builtin/packages/py-phylophlan/package.py
index 1a8698cd50..2baf08c8c2 100644
--- a/var/spack/repos/builtin/packages/py-phylophlan/package.py
+++ b/var/spack/repos/builtin/packages/py-phylophlan/package.py
@@ -13,15 +13,15 @@ class PyPhylophlan(PythonPackage):
homepage = "https://github.com/biobakery/phylophlan"
url = "https://github.com/biobakery/phylophlan/archive/refs/tags/3.0.2.tar.gz"
- version('3.0.2', sha256='c342116662bbfbb49f0665291fc7c0be5a0d04a02a7be2da81de0322eb2256b4')
+ version("3.0.2", sha256="c342116662bbfbb49f0665291fc7c0be5a0d04a02a7be2da81de0322eb2256b4")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-numpy@1.12.1:', type=('build', 'run'))
- depends_on('py-biopython@1.70:', type=('build', 'run'))
- depends_on('py-dendropy@4.2.0:', type=('build', 'run'))
- depends_on('muscle', type=('build', 'run'))
- depends_on('blast-plus', type=('build', 'run'))
- depends_on('diamond', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-numpy@1.12.1:", type=("build", "run"))
+ depends_on("py-biopython@1.70:", type=("build", "run"))
+ depends_on("py-dendropy@4.2.0:", type=("build", "run"))
+ depends_on("muscle", type=("build", "run"))
+ depends_on("blast-plus", type=("build", "run"))
+ depends_on("diamond", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pickle5/package.py b/var/spack/repos/builtin/packages/py-pickle5/package.py
index 70d965b139..bf2f56bb49 100644
--- a/var/spack/repos/builtin/packages/py-pickle5/package.py
+++ b/var/spack/repos/builtin/packages/py-pickle5/package.py
@@ -12,9 +12,9 @@ class PyPickle5(PythonPackage):
3.5, 3.6 and 3.7."""
homepage = "https://github.com/pitrou/pickle5-backport"
- pypi = "pickle5/pickle5-0.0.11.tar.gz"
+ pypi = "pickle5/pickle5-0.0.11.tar.gz"
- version('0.0.11', sha256='7e013be68ba7dde1de5a8dbcc241f201dab1126e326715916ce4a26c27919ffc')
+ version("0.0.11", sha256="7e013be68ba7dde1de5a8dbcc241f201dab1126e326715916ce4a26c27919ffc")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pickleshare/package.py b/var/spack/repos/builtin/packages/py-pickleshare/package.py
index 819590b689..a1c7ca0460 100644
--- a/var/spack/repos/builtin/packages/py-pickleshare/package.py
+++ b/var/spack/repos/builtin/packages/py-pickleshare/package.py
@@ -11,9 +11,9 @@ class PyPickleshare(PythonPackage):
pypi = "pickleshare/pickleshare-0.7.4.tar.gz"
- version('0.7.5', sha256='87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca')
- version('0.7.4', sha256='84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b')
+ version("0.7.5", sha256="87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca")
+ version("0.7.4", sha256="84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b")
- depends_on('python@2.7:2.8,3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pathlib2', type=('build', 'run'), when='^python@2.6:2.8,3.2:3.3')
+ depends_on("python@2.7:2.8,3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pathlib2", type=("build", "run"), when="^python@2.6:2.8,3.2:3.3")
diff --git a/var/spack/repos/builtin/packages/py-picmistandard/package.py b/var/spack/repos/builtin/packages/py-picmistandard/package.py
index 787f0f2550..e497a68256 100644
--- a/var/spack/repos/builtin/packages/py-picmistandard/package.py
+++ b/var/spack/repos/builtin/packages/py-picmistandard/package.py
@@ -10,27 +10,30 @@ class PyPicmistandard(PythonPackage):
"""Standard input format for Particle-In-Cell codes"""
homepage = "https://picmi-standard.github.io"
- git = "https://github.com/picmi-standard/picmi.git"
- pypi = 'picmistandard/picmistandard-0.0.18.tar.gz'
+ git = "https://github.com/picmi-standard/picmi.git"
+ pypi = "picmistandard/picmistandard-0.0.18.tar.gz"
- maintainers = ['ax3l', 'dpgrote', 'RemiLehe']
+ maintainers = ["ax3l", "dpgrote", "RemiLehe"]
- version('develop', branch='master')
- version('0.0.19', sha256='4b7ba1330964fbfd515e8ea2219966957c1386e0896b92d36bd9e134afb02f5a')
- version('0.0.18', sha256='68c208c0c54b4786e133bb13eef0dd4824998da4906285987ddee84e6d195e71')
+ version("develop", branch="master")
+ version("0.0.19", sha256="4b7ba1330964fbfd515e8ea2219966957c1386e0896b92d36bd9e134afb02f5a")
+ version("0.0.18", sha256="68c208c0c54b4786e133bb13eef0dd4824998da4906285987ddee84e6d195e71")
# 0.15 - 0.17 have broken install logic: missing requirements.txt on pypi
- version('0.0.16', sha256='b7eefdae1c43119984226b2df358c86fdeef7495084e47b3575e3d07e790ba30',
- url='https://github.com/picmi-standard/picmi/archive/refs/tags/0.0.14.tar.gz')
- version('0.0.14', sha256='8f83b25b281fc0309a0c4f75c7605afd5fa0ef4df3b3ac115069478c119bc8c3')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.15:1', type=('build', 'run'))
- depends_on('py-scipy@1.5:1', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ version(
+ "0.0.16",
+ sha256="b7eefdae1c43119984226b2df358c86fdeef7495084e47b3575e3d07e790ba30",
+ url="https://github.com/picmi-standard/picmi/archive/refs/tags/0.0.14.tar.gz",
+ )
+ version("0.0.14", sha256="8f83b25b281fc0309a0c4f75c7605afd5fa0ef4df3b3ac115069478c119bc8c3")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.15:1", type=("build", "run"))
+ depends_on("py-scipy@1.5:1", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
@property
def build_directory(self):
- if self.spec.satisfies('@develop') or self.spec.satisfies('@0.0.16'):
- return 'PICMI_Python'
+ if self.spec.satisfies("@develop") or self.spec.satisfies("@0.0.16"):
+ return "PICMI_Python"
else:
- return './'
+ return "./"
diff --git a/var/spack/repos/builtin/packages/py-picrust/package.py b/var/spack/repos/builtin/packages/py-picrust/package.py
index 1b82a794c9..50c52e516b 100644
--- a/var/spack/repos/builtin/packages/py-picrust/package.py
+++ b/var/spack/repos/builtin/packages/py-picrust/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class PyPicrust(PythonPackage):
"""bioinformatics software package designed to predict metagenome
- functional content from marker gene surveys and full genomes."""
+ functional content from marker gene surveys and full genomes."""
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"
+ url = "https://github.com/picrust/picrust/releases/download/v1.1.3/picrust-1.1.3.tar.gz"
- version('1.1.3', sha256='7538c8544899b8855deb73a2d7a4ccac4808ff294e161530a8c8762d472d8906')
+ version("1.1.3", sha256="7538c8544899b8855deb73a2d7a4ccac4808ff294e161530a8c8762d472d8906")
- depends_on('python@2.7:2', type=('build', 'run'))
- depends_on('py-cogent@1.5.3', type=('build', 'run'))
- depends_on('py-biom-format@2.1.4:2.1', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-future@0.16.0', type=('build', 'run'))
- depends_on('py-numpy@1.5.1:', type=('build', 'run'))
+ depends_on("python@2.7:2", type=("build", "run"))
+ depends_on("py-cogent@1.5.3", type=("build", "run"))
+ depends_on("py-biom-format@2.1.4:2.1", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future@0.16.0", type=("build", "run"))
+ depends_on("py-numpy@1.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-picrust2/package.py b/var/spack/repos/builtin/packages/py-picrust2/package.py
index a0f584c6e1..7dae64db85 100644
--- a/var/spack/repos/builtin/packages/py-picrust2/package.py
+++ b/var/spack/repos/builtin/packages/py-picrust2/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class PyPicrust2(PythonPackage):
"""PICRUSt2 is a software for predicting functional
- abundances based only on marker gene sequences."""
+ abundances based only on marker gene sequences."""
homepage = "https://github.com/picrust/picrust2"
- url = "https://github.com/picrust/picrust2/archive/v2.3.0-b.tar.gz"
+ url = "https://github.com/picrust/picrust2/archive/v2.3.0-b.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.3.0-b', sha256='ac12c372bc263e750d9101eca0cd0e57de37089b661fa1a13caf5a544d293737')
- version('2.2.0-b', sha256='c41e1f487b33179f4aecede50cfd8b652aa3cef2ea1ae5fd022f531c7d549097')
- version('2.1.4-b', sha256='f781eb323914979b6d3bca088a5152f085f53e6e38f1c3be94b35f99fc1db2d8')
+ version("2.3.0-b", sha256="ac12c372bc263e750d9101eca0cd0e57de37089b661fa1a13caf5a544d293737")
+ version("2.2.0-b", sha256="c41e1f487b33179f4aecede50cfd8b652aa3cef2ea1ae5fd022f531c7d549097")
+ version("2.1.4-b", sha256="f781eb323914979b6d3bca088a5152f085f53e6e38f1c3be94b35f99fc1db2d8")
- depends_on('py-setuptools', type=('build'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-biom-format', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-biom-format", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pid/package.py b/var/spack/repos/builtin/packages/py-pid/package.py
index 9df2bea67f..308880d7f7 100644
--- a/var/spack/repos/builtin/packages/py-pid/package.py
+++ b/var/spack/repos/builtin/packages/py-pid/package.py
@@ -11,17 +11,17 @@ class PyPid(PythonPackage):
used as context-manager or decorator."""
homepage = "https://github.com/trbs/pid/"
- url = "https://github.com/trbs/pid/archive/3.0.3.tar.gz"
+ url = "https://github.com/trbs/pid/archive/3.0.3.tar.gz"
- version('3.0.3', sha256='082281e2f6b99b4aaa02a24ae4796c604ac17f19cdd0327b8c1ba9c2e73aadc8')
- version('3.0.2', sha256='0be7dc260e35788163b3171a5f0e1a8b9888bc2b77232c053c042a65496b8396')
- version('3.0.1', sha256='2f51b61210f8e1f009b09a2034717003ca22dcd86995537ecb857863bddca89a')
- version('3.0.0', sha256='3d251eadedc6fbd1fe4b43d521e76b83afd244b8b1951a2cd96864406bc96381')
- version('2.2.5', sha256='d4c68554bf4b2fc7d0b50749f535f5c1fceb74ff025ce1a3f06745d15c595d40')
- version('2.2.4', sha256='de3cc35e18c5409d8424813ab422b637af4d25bfdcf2c15ee6c5af447778de22')
- version('2.2.3', sha256='14555fc214e0dfee7d94598b759523349832597e163415d1a7b0d87d9902cc47')
- version('2.2.2', sha256='716bb5803fed50facdb62be0e48d08dd95e7392fcfb03f5540915623f9c4ee44')
- version('2.2.1', sha256='2c5b398d348b8b1901ccb29b5c914c583187692acfbc3c28fc4ee483b9909357')
- version('2.2.0', sha256='f2c3beb5742159794379b73088eb3f592a4b7b93bfef95f8bbc27ab98e5394ed')
+ version("3.0.3", sha256="082281e2f6b99b4aaa02a24ae4796c604ac17f19cdd0327b8c1ba9c2e73aadc8")
+ version("3.0.2", sha256="0be7dc260e35788163b3171a5f0e1a8b9888bc2b77232c053c042a65496b8396")
+ version("3.0.1", sha256="2f51b61210f8e1f009b09a2034717003ca22dcd86995537ecb857863bddca89a")
+ version("3.0.0", sha256="3d251eadedc6fbd1fe4b43d521e76b83afd244b8b1951a2cd96864406bc96381")
+ version("2.2.5", sha256="d4c68554bf4b2fc7d0b50749f535f5c1fceb74ff025ce1a3f06745d15c595d40")
+ version("2.2.4", sha256="de3cc35e18c5409d8424813ab422b637af4d25bfdcf2c15ee6c5af447778de22")
+ version("2.2.3", sha256="14555fc214e0dfee7d94598b759523349832597e163415d1a7b0d87d9902cc47")
+ version("2.2.2", sha256="716bb5803fed50facdb62be0e48d08dd95e7392fcfb03f5540915623f9c4ee44")
+ version("2.2.1", sha256="2c5b398d348b8b1901ccb29b5c914c583187692acfbc3c28fc4ee483b9909357")
+ version("2.2.0", sha256="f2c3beb5742159794379b73088eb3f592a4b7b93bfef95f8bbc27ab98e5394ed")
- depends_on('py-setuptools', type='build')
+ 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
index 86b0c6234a..1950473efb 100644
--- a/var/spack/repos/builtin/packages/py-pika/package.py
+++ b/var/spack/repos/builtin/packages/py-pika/package.py
@@ -9,15 +9,15 @@ from spack.package 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'
+ 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')
+ 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')
+ 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-pil/package.py b/var/spack/repos/builtin/packages/py-pil/package.py
index 96d340706b..89007cf491 100644
--- a/var/spack/repos/builtin/packages/py-pil/package.py
+++ b/var/spack/repos/builtin/packages/py-pil/package.py
@@ -13,13 +13,17 @@ class PyPil(PythonPackage):
and provides powerful image processing and graphics capabilities."""
homepage = "https://pillow.readthedocs.io/en/stable/"
- url = "http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz"
+ url = "http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz"
- version('1.1.7', sha256='895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211', deprecated=True)
+ version(
+ "1.1.7",
+ sha256="895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211",
+ deprecated=True,
+ )
- provides('pil')
- provides('pil@1.1.7', when='@1.1.7')
+ provides("pil")
+ provides("pil@1.1.7", when="@1.1.7")
# py-pil currently only works with Python2.
# If you are using Python 3, try using py-pillow instead.
- depends_on('python@1.5.2:2.8', type=('build', 'run'))
+ depends_on("python@1.5.2:2.8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pillow-simd/package.py b/var/spack/repos/builtin/packages/py-pillow-simd/package.py
index 0083c82d9f..bd17c5e02d 100644
--- a/var/spack/repos/builtin/packages/py-pillow-simd/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow-simd/package.py
@@ -12,15 +12,21 @@ class PyPillowSimd(PyPillowBase):
faster than the original Pillow in image processing benchmarks."""
# See https://github.com/spack/spack/pull/15566
- _name = 'py-pillow-simd'
+ _name = "py-pillow-simd"
homepage = "https://github.com/uploadcare/pillow-simd"
pypi = "Pillow-SIMD/Pillow-SIMD-7.0.0.post3.tar.gz"
- version('9.0.0.post1', sha256='918541cfaa90ba3c0e1bae5da31ba1b1f52b09c0009bd90183b787af4e018263')
- version('7.0.0.post3', sha256='c27907af0e7ede1ceed281719e722e7dbf3e1dbfe561373978654a6b64896cb7')
- version('6.2.2.post1', sha256='d29b673ac80091797f1e8334458be307e4ac4ab871b0e495cfe56cb7b1d7704e')
+ version(
+ "9.0.0.post1", sha256="918541cfaa90ba3c0e1bae5da31ba1b1f52b09c0009bd90183b787af4e018263"
+ )
+ version(
+ "7.0.0.post3", sha256="c27907af0e7ede1ceed281719e722e7dbf3e1dbfe561373978654a6b64896cb7"
+ )
+ version(
+ "6.2.2.post1", sha256="d29b673ac80091797f1e8334458be307e4ac4ab871b0e495cfe56cb7b1d7704e"
+ )
- for ver in ['6.2.2.post1', '7.0.0.post3', '9.0.0.post1']:
- provides('pil@' + ver, when='@' + ver)
+ for ver in ["6.2.2.post1", "7.0.0.post3", "9.0.0.post1"]:
+ provides("pil@" + ver, when="@" + ver)
- conflicts('target=aarch64:')
+ conflicts("target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index 30fdf03b92..f5e1f26f19 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -9,49 +9,49 @@ from spack.package import *
class PyPillowBase(PythonPackage):
"""Base class for Pillow and its fork Pillow-SIMD."""
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- provides('pil')
+ provides("pil")
# These defaults correspond to Pillow defaults
# https://pillow.readthedocs.io/en/stable/installation.html#external-libraries
- variant('zlib', default=True, description='Compressed PNG functionality')
- variant('jpeg', default=True, description='JPEG functionality')
- variant('tiff', default=False, description='Compressed TIFF functionality')
- variant('freetype', default=False, description='Type related services')
- variant('lcms', default=False, description='Color management')
- variant('webp', default=False, description='WebP format')
- variant('webpmux', when='+webp', default=False, description='WebP metadata')
- variant('jpeg2000', default=False, description='JPEG 2000 functionality')
- variant('imagequant', when='@3.3:', default=False, description='Improved color quantization')
- variant('xcb', when='@7.1:', default=False, description='X11 screengrab support')
+ variant("zlib", default=True, description="Compressed PNG functionality")
+ variant("jpeg", default=True, description="JPEG functionality")
+ variant("tiff", default=False, description="Compressed TIFF functionality")
+ variant("freetype", default=False, description="Type related services")
+ variant("lcms", default=False, description="Color management")
+ variant("webp", default=False, description="WebP format")
+ variant("webpmux", when="+webp", default=False, description="WebP metadata")
+ variant("jpeg2000", default=False, description="JPEG 2000 functionality")
+ variant("imagequant", when="@3.3:", default=False, description="Improved color quantization")
+ variant("xcb", when="@7.1:", default=False, description="X11 screengrab support")
# Required dependencies
# https://pillow.readthedocs.io/en/latest/installation.html#notes
- depends_on('python@3.7:3.10', when='@9:', type=('build', 'run'))
- depends_on('python@3.6:3.10', when='@8.3.2:8.4', type=('build', 'run'))
- depends_on('python@3.6:3.9', when='@8:8.3.1', type=('build', 'run'))
- depends_on('python@3.5:3.8', when='@7.0:7.2', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:3.8', when='@6.2.1:6.2.2', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:3.7', when='@6.0:6.2.0', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:3.7', when='@5.2:5.4', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:3.6', when='@5.0:5.1', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:3.6', when='@4.0:4', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.2:3.5', when='@2:3', type=('build', 'run'))
- depends_on('python@2.4:2.7', when='@:1', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.7:3.10", when="@9:", type=("build", "run"))
+ depends_on("python@3.6:3.10", when="@8.3.2:8.4", type=("build", "run"))
+ depends_on("python@3.6:3.9", when="@8:8.3.1", type=("build", "run"))
+ depends_on("python@3.5:3.8", when="@7.0:7.2", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:3.8", when="@6.2.1:6.2.2", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:3.7", when="@6.0:6.2.0", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:3.7", when="@5.2:5.4", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:3.6", when="@5.0:5.1", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:3.6", when="@4.0:4", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.2:3.5", when="@2:3", type=("build", "run"))
+ depends_on("python@2.4:2.7", when="@:1", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# Optional dependencies
- depends_on('zlib', when='+zlib')
- depends_on('jpeg', when='+jpeg')
- depends_on('libtiff', when='+tiff')
- depends_on('freetype', when='+freetype')
- depends_on('lcms@2:', when='+lcms')
- depends_on('libwebp', when='+webp')
- depends_on('libwebp+libwebpmux+libwebpdemux', when='+webpmux')
- depends_on('openjpeg', when='+jpeg2000')
- depends_on('libimagequant', when='+imagequant')
- depends_on('libxcb', when='+xcb')
+ depends_on("zlib", when="+zlib")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("libtiff", when="+tiff")
+ depends_on("freetype", when="+freetype")
+ depends_on("lcms@2:", when="+lcms")
+ depends_on("libwebp", when="+webp")
+ depends_on("libwebp+libwebpmux+libwebpdemux", when="+webpmux")
+ depends_on("openjpeg", when="+jpeg2000")
+ depends_on("libimagequant", when="+imagequant")
+ depends_on("libxcb", when="+xcb")
def patch(self):
"""Patch setup.py to provide library and include directories
@@ -59,32 +59,30 @@ class PyPillowBase(PythonPackage):
library_dirs = []
include_dirs = []
- for dep in self.spec.dependencies(deptype='link'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
library_dirs.extend(query.libs.directories)
include_dirs.extend(query.headers.directories)
- setup = FileFilter('setup.py')
- setup.filter('library_dirs = []',
- 'library_dirs = {0}'.format(library_dirs), string=True)
- setup.filter('include_dirs = []',
- 'include_dirs = {0}'.format(include_dirs), string=True)
+ setup = FileFilter("setup.py")
+ setup.filter("library_dirs = []", "library_dirs = {0}".format(library_dirs), string=True)
+ setup.filter("include_dirs = []", "include_dirs = {0}".format(include_dirs), string=True)
def variant_to_cfg(variant):
- able = 'enable' if '+' + variant in self.spec else 'disable'
- return '{0}-{1}=1\n'.format(able, variant)
+ able = "enable" if "+" + variant in self.spec else "disable"
+ return "{0}-{1}=1\n".format(able, variant)
- with open('setup.cfg', 'a') as setup:
- setup.write('[build_ext]\n')
+ with open("setup.cfg", "a") as setup:
+ setup.write("[build_ext]\n")
variants = list(self.spec.variants)
for variant in variants:
setup.write(variant_to_cfg(variant))
- setup.write('rpath={0}\n'.format(':'.join(self.rpath)))
- setup.write('[install]\n')
+ setup.write("rpath={0}\n".format(":".join(self.rpath)))
+ setup.write("[install]\n")
def setup_build_environment(self, env):
- env.set('MAX_CONCURRENCY', str(make_jobs))
+ env.set("MAX_CONCURRENCY", str(make_jobs))
class PyPillow(PyPillowBase):
@@ -96,30 +94,41 @@ class PyPillow(PyPillowBase):
homepage = "https://python-pillow.org/"
pypi = "Pillow/Pillow-7.2.0.tar.gz"
- version('9.2.0', sha256='75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04')
- version('9.1.1', sha256='7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0')
- version('9.1.0', sha256='f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97')
- version('9.0.1', sha256='6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa')
- version('9.0.0', sha256='ee6e2963e92762923956fe5d3479b1fdc3b76c83f290aad131a2f98c3df0593e')
- version('8.4.0', sha256='b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed')
- version('8.0.0', sha256='59304c67d12394815331eda95ec892bf54ad95e0aa7bc1ccd8e0a4a5a25d4bf3')
- version('7.2.0', sha256='97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626')
- version('7.0.0', sha256='4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946')
- version('6.2.2', sha256='db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950')
- version('6.2.1', sha256='bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1')
- version('6.2.0', sha256='4548236844327a718ce3bb182ab32a16fa2050c61e334e959f554cac052fb0df')
- version('6.0.0', sha256='809c0a2ce9032cbcd7b5313f71af4bdc5c8c771cb86eb7559afd954cab82ebb5')
- version('5.4.1', sha256='5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f')
- version('5.1.0', sha256='cee9bc75bff455d317b6947081df0824a8f118de2786dc3d74a3503fd631f4ef')
- version('3.2.0', sha256='64b0a057210c480aea99406c9391180cd866fc0fd8f0b53367e3af21b195784a')
- version('3.0.0', sha256='ad50bef540fe5518a4653c3820452a881b6a042cb0f8bb7657c491c6bd3654bb')
+ version("9.2.0", sha256="75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04")
+ version("9.1.1", sha256="7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0")
+ version("9.1.0", sha256="f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97")
+ version("9.0.1", sha256="6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa")
+ version("9.0.0", sha256="ee6e2963e92762923956fe5d3479b1fdc3b76c83f290aad131a2f98c3df0593e")
+ version("8.4.0", sha256="b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed")
+ version("8.0.0", sha256="59304c67d12394815331eda95ec892bf54ad95e0aa7bc1ccd8e0a4a5a25d4bf3")
+ version("7.2.0", sha256="97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626")
+ version("7.0.0", sha256="4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946")
+ version("6.2.2", sha256="db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950")
+ version("6.2.1", sha256="bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1")
+ version("6.2.0", sha256="4548236844327a718ce3bb182ab32a16fa2050c61e334e959f554cac052fb0df")
+ version("6.0.0", sha256="809c0a2ce9032cbcd7b5313f71af4bdc5c8c771cb86eb7559afd954cab82ebb5")
+ version("5.4.1", sha256="5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f")
+ version("5.1.0", sha256="cee9bc75bff455d317b6947081df0824a8f118de2786dc3d74a3503fd631f4ef")
+ version("3.2.0", sha256="64b0a057210c480aea99406c9391180cd866fc0fd8f0b53367e3af21b195784a")
+ version("3.0.0", sha256="ad50bef540fe5518a4653c3820452a881b6a042cb0f8bb7657c491c6bd3654bb")
for ver in [
- '9.2.0', '9.1.1', '9.1.0', '9.0.1', '9.0.0',
- '8.4.0', '8.0.0',
- '7.2.0', '7.0.0',
- '6.2.2', '6.2.1', '6.2.0', '6.0.0',
- '5.4.1', '5.1.0',
- '3.2.0', '3.0.0'
+ "9.2.0",
+ "9.1.1",
+ "9.1.0",
+ "9.0.1",
+ "9.0.0",
+ "8.4.0",
+ "8.0.0",
+ "7.2.0",
+ "7.0.0",
+ "6.2.2",
+ "6.2.1",
+ "6.2.0",
+ "6.0.0",
+ "5.4.1",
+ "5.1.0",
+ "3.2.0",
+ "3.0.0",
]:
- provides('pil@' + ver, when='@' + ver)
+ provides("pil@" + ver, when="@" + ver)
diff --git a/var/spack/repos/builtin/packages/py-pint/package.py b/var/spack/repos/builtin/packages/py-pint/package.py
index b09db6a754..15d0cc2dd7 100644
--- a/var/spack/repos/builtin/packages/py-pint/package.py
+++ b/var/spack/repos/builtin/packages/py-pint/package.py
@@ -18,16 +18,16 @@ class PyPint(PythonPackage):
# any import tests for this package.
import_modules = [] # type: List[str]
- version('0.17', sha256='f4d0caa713239e6847a7c6eefe2427358566451fe56497d533f21fb590a3f313')
- version('0.11', sha256='308f1070500e102f83b6adfca6db53debfce2ffc5d3cbe3f6c367da359b5cf4d')
- version('0.10.1', sha256='d739c364b8326fe3d70773d5720fa8b005ea6158695cad042677a588480c86e6')
- version('0.10', sha256='38a4d6e242b8bab693cd83a5f5ade3d816463b498658e7ab14ce64c4d458c88b')
- version('0.9', sha256='32d8a9a9d63f4f81194c0014b3b742679dce81a26d45127d9810a68a561fe4e2')
- version('0.8.1', sha256='afcf31443a478c32bbac4b00337ee9026a13d0e2ac83d30c79151462513bb0d4')
+ version("0.17", sha256="f4d0caa713239e6847a7c6eefe2427358566451fe56497d533f21fb590a3f313")
+ version("0.11", sha256="308f1070500e102f83b6adfca6db53debfce2ffc5d3cbe3f6c367da359b5cf4d")
+ version("0.10.1", sha256="d739c364b8326fe3d70773d5720fa8b005ea6158695cad042677a588480c86e6")
+ version("0.10", sha256="38a4d6e242b8bab693cd83a5f5ade3d816463b498658e7ab14ce64c4d458c88b")
+ version("0.9", sha256="32d8a9a9d63f4f81194c0014b3b742679dce81a26d45127d9810a68a561fe4e2")
+ version("0.8.1", sha256="afcf31443a478c32bbac4b00337ee9026a13d0e2ac83d30c79151462513bb0d4")
- depends_on('python@3.6:', type=('build', 'run'), when='@0.10:')
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm', type=('build'))
- depends_on('py-packaging', type=('build', 'run'), when='@0.17:')
- depends_on('py-importlib-metadata', type=('build', 'run'), when='@0.17: ^python@:3.7')
- depends_on('py-importlib-resources', type=('build', 'run'), when='@0.17: ^python@:3.6')
+ depends_on("python@3.6:", type=("build", "run"), when="@0.10:")
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm", type=("build"))
+ depends_on("py-packaging", type=("build", "run"), when="@0.17:")
+ depends_on("py-importlib-metadata", type=("build", "run"), when="@0.17: ^python@:3.7")
+ depends_on("py-importlib-resources", type=("build", "run"), when="@0.17: ^python@:3.6")
diff --git a/var/spack/repos/builtin/packages/py-pip/package.py b/var/spack/repos/builtin/packages/py-pip/package.py
index ccd41c6897..9dfe764414 100644
--- a/var/spack/repos/builtin/packages/py-pip/package.py
+++ b/var/spack/repos/builtin/packages/py-pip/package.py
@@ -15,33 +15,73 @@ class PyPip(Package):
url = "https://files.pythonhosted.org/packages/py3/p/pip/pip-20.2-py3-none-any.whl"
list_url = "https://pypi.org/simple/pip/"
- maintainers = ['adamjstewart']
-
- version('22.1.2', sha256='a3edacb89022ef5258bf61852728bf866632a394da837ca49eb4303635835f17', expand=False)
- version('21.3.1', sha256='deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d', expand=False)
- version('21.1.2', sha256='f8ea1baa693b61c8ad1c1d8715e59ab2b93cd3c4769bacab84afcc4279e7a70e', expand=False)
- version('20.2', sha256='d75f1fc98262dabf74656245c509213a5d0f52137e40e8f8ed5cc256ddd02923', expand=False)
- version('19.3', sha256='e100a7eccf085f0720b4478d3bb838e1c179b1e128ec01c0403f84e86e0e2dfb', expand=False)
- version('19.1.1', sha256='993134f0475471b91452ca029d4390dc8f298ac63a712814f101cd1b6db46676', expand=False)
- version('19.0.3', sha256='bd812612bbd8ba84159d9ddc0266b7fbce712fc9bc98c82dee5750546ec8ec64', expand=False)
- version('18.1', sha256='7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550', expand=False)
- version('10.0.1', sha256='717cdffb2833be8409433a93746744b59505f42146e8d37de6c62b430e25d6d7', expand=False)
- version('9.0.1', sha256='690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0', expand=False)
-
- extends('python')
- depends_on('python@3.7:', when='@22:', type=('build', 'run'))
- depends_on('python@3.6:', when='@21:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@19.2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@18:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', when='@10:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version(
+ "22.1.2",
+ sha256="a3edacb89022ef5258bf61852728bf866632a394da837ca49eb4303635835f17",
+ expand=False,
+ )
+ version(
+ "21.3.1",
+ sha256="deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d",
+ expand=False,
+ )
+ version(
+ "21.1.2",
+ sha256="f8ea1baa693b61c8ad1c1d8715e59ab2b93cd3c4769bacab84afcc4279e7a70e",
+ expand=False,
+ )
+ version(
+ "20.2",
+ sha256="d75f1fc98262dabf74656245c509213a5d0f52137e40e8f8ed5cc256ddd02923",
+ expand=False,
+ )
+ version(
+ "19.3",
+ sha256="e100a7eccf085f0720b4478d3bb838e1c179b1e128ec01c0403f84e86e0e2dfb",
+ expand=False,
+ )
+ version(
+ "19.1.1",
+ sha256="993134f0475471b91452ca029d4390dc8f298ac63a712814f101cd1b6db46676",
+ expand=False,
+ )
+ version(
+ "19.0.3",
+ sha256="bd812612bbd8ba84159d9ddc0266b7fbce712fc9bc98c82dee5750546ec8ec64",
+ expand=False,
+ )
+ version(
+ "18.1",
+ sha256="7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550",
+ expand=False,
+ )
+ version(
+ "10.0.1",
+ sha256="717cdffb2833be8409433a93746744b59505f42146e8d37de6c62b430e25d6d7",
+ expand=False,
+ )
+ version(
+ "9.0.1",
+ sha256="690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0",
+ expand=False,
+ )
+
+ extends("python")
+ depends_on("python@3.7:", when="@22:", type=("build", "run"))
+ depends_on("python@3.6:", when="@21:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@19.2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@18:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", when="@10:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/{0}/p/pip/pip-{1}-{0}-none-any.whl"
- if version >= Version('21'):
- python_tag = 'py3'
+ if version >= Version("21"):
+ python_tag = "py3"
else:
- python_tag = 'py2.py3'
+ python_tag = "py2.py3"
return url.format(python_tag, version)
def install(self, spec, prefix):
@@ -50,11 +90,11 @@ class PyPip(Package):
# itself, see:
# https://discuss.python.org/t/bootstrapping-a-specific-version-of-pip/12306
whl = self.stage.archive_file
- args = [os.path.join(whl, 'pip')] + std_pip_args + ['--prefix=' + prefix, whl]
+ args = [os.path.join(whl, "pip")] + std_pip_args + ["--prefix=" + prefix, whl]
python(*args)
def setup_dependent_package(self, module, dependent_spec):
- pip = self.spec['python'].command
- pip.add_default_arg('-m')
- pip.add_default_arg('pip')
- setattr(module, 'pip', pip)
+ pip = self.spec["python"].command
+ pip.add_default_arg("-m")
+ pip.add_default_arg("pip")
+ setattr(module, "pip", pip)
diff --git a/var/spack/repos/builtin/packages/py-pipits/package.py b/var/spack/repos/builtin/packages/py-pipits/package.py
index 8c22d2d83d..92f2d3fe17 100644
--- a/var/spack/repos/builtin/packages/py-pipits/package.py
+++ b/var/spack/repos/builtin/packages/py-pipits/package.py
@@ -10,62 +10,65 @@ class PyPipits(PythonPackage):
"""Automated pipeline for analyses of fungal ITS from the Illumina"""
homepage = "https://github.com/hsgweon/pipits"
- url = "https://github.com/hsgweon/pipits/archive/2.4.tar.gz"
+ url = "https://github.com/hsgweon/pipits/archive/2.4.tar.gz"
- version('2.4', sha256='b08a9d70ac6e5dd1c64d56b77384afd69e21e7d641b2fc4416feff862a2cd054')
- version('1.5.0', sha256='6c76fff42a9db62ff4bb1d4d520ebee6cb20d5a726f12c3d5a3d42314947a659')
+ version("2.4", sha256="b08a9d70ac6e5dd1c64d56b77384afd69e21e7d641b2fc4416feff862a2cd054")
+ version("1.5.0", sha256="6c76fff42a9db62ff4bb1d4d520ebee6cb20d5a726f12c3d5a3d42314947a659")
# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/pipits/meta.yaml
- depends_on('python@3:', type=('build', 'run'), when='@2:')
- depends_on('python@:2', type=('build', 'run'), when='@:1')
- depends_on('py-setuptools', type='build', when='@2:')
- depends_on('py-pispino@1.1:', type=('build', 'run'), when='@2:')
- depends_on('vsearch', type='run')
- depends_on('fastx-toolkit', type='run')
- depends_on('hmmer', type='run')
- depends_on('itsx', type='run')
- depends_on('py-biom-format', type=('build', 'run'))
- depends_on('rdptools', type='run', when='@2:')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'), when='@2:')
- depends_on('py-progressbar2', type=('build', 'run'), when='@2:')
- depends_on('py-requests', type=('build', 'run'), when='@2:')
- depends_on('seqkit', type='run')
- depends_on('java', type=('build', 'run'), when='@:1')
- depends_on('rdp-classifier', type='run', when='@:1')
+ depends_on("python@3:", type=("build", "run"), when="@2:")
+ depends_on("python@:2", type=("build", "run"), when="@:1")
+ depends_on("py-setuptools", type="build", when="@2:")
+ depends_on("py-pispino@1.1:", type=("build", "run"), when="@2:")
+ depends_on("vsearch", type="run")
+ depends_on("fastx-toolkit", type="run")
+ depends_on("hmmer", type="run")
+ depends_on("itsx", type="run")
+ depends_on("py-biom-format", type=("build", "run"))
+ depends_on("rdptools", type="run", when="@2:")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"), when="@2:")
+ depends_on("py-progressbar2", type=("build", "run"), when="@2:")
+ depends_on("py-requests", type=("build", "run"), when="@2:")
+ depends_on("seqkit", type="run")
+ depends_on("java", type=("build", "run"), when="@:1")
+ depends_on("rdp-classifier", type="run", when="@:1")
resource(
- name='UNITE_retrained',
- url='http://sourceforge.net/projects/pipits/files/UNITE_retrained_28.06.2017.tar.gz',
- destination='refdb'
+ name="UNITE_retrained",
+ url="http://sourceforge.net/projects/pipits/files/UNITE_retrained_28.06.2017.tar.gz",
+ destination="refdb",
)
resource(
- name='uchime_reference_dataset_01.01.2016.fasta',
- url='https://unite.ut.ee/sh_files/uchime_reference_dataset_01.01.2016.zip',
- destination=join_path('refdb', 'uchime_reference_dataset_01.01.2016')
+ name="uchime_reference_dataset_01.01.2016.fasta",
+ url="https://unite.ut.ee/sh_files/uchime_reference_dataset_01.01.2016.zip",
+ destination=join_path("refdb", "uchime_reference_dataset_01.01.2016"),
)
resource(
- name='warcup_retrained_V2',
- url='https://sourceforge.net/projects/pipits/files/warcup_retrained_V2.tar.gz',
- destination='refdb'
+ name="warcup_retrained_V2",
+ url="https://sourceforge.net/projects/pipits/files/warcup_retrained_V2.tar.gz",
+ destination="refdb",
)
- @run_after('install')
+ @run_after("install")
def install_db(self):
- install_tree(join_path(self.stage.source_path, 'refdb'),
- self.prefix.refdb)
+ install_tree(join_path(self.stage.source_path, "refdb"), self.prefix.refdb)
def setup_run_environment(self, env):
- env.set('PIPITS_UNITE_REFERENCE_DATA_CHIMERA', join_path(
- self.prefix, 'refdb',
- 'uchime_reference_dataset_01.01.2016',
- 'uchime_reference_dataset_01.01.2016.fasta'))
- env.set('PIPITS_UNITE_RETRAINED_DIR',
- self.prefix.refdb.UNITE_retrained)
- env.set('PIPITS_WARCUP_RETRAINED_DIR',
- self.prefix.refdb.warcup_retrained_V2)
- env.set('PIPITS_RDP_CLASSIFIER_JAR', join_path(
- self.spec['rdp-classifier'].prefix.bin,
- 'classifier.jar'))
+ env.set(
+ "PIPITS_UNITE_REFERENCE_DATA_CHIMERA",
+ join_path(
+ self.prefix,
+ "refdb",
+ "uchime_reference_dataset_01.01.2016",
+ "uchime_reference_dataset_01.01.2016.fasta",
+ ),
+ )
+ env.set("PIPITS_UNITE_RETRAINED_DIR", self.prefix.refdb.UNITE_retrained)
+ env.set("PIPITS_WARCUP_RETRAINED_DIR", self.prefix.refdb.warcup_retrained_V2)
+ env.set(
+ "PIPITS_RDP_CLASSIFIER_JAR",
+ join_path(self.spec["rdp-classifier"].prefix.bin, "classifier.jar"),
+ )
diff --git a/var/spack/repos/builtin/packages/py-pispino/package.py b/var/spack/repos/builtin/packages/py-pispino/package.py
index c6ad03d4fe..9437ab6b39 100644
--- a/var/spack/repos/builtin/packages/py-pispino/package.py
+++ b/var/spack/repos/builtin/packages/py-pispino/package.py
@@ -10,11 +10,11 @@ class PyPispino(PythonPackage):
"""PISPINO (PIpits SPIN-Off tools)."""
homepage = "https://github.com/hsgweon/pispino"
- url = "https://github.com/hsgweon/pispino/archive/1.1.tar.gz"
+ url = "https://github.com/hsgweon/pispino/archive/1.1.tar.gz"
- version('1.1', sha256='8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0')
+ version("1.1", sha256="8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0")
# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/pispino/meta.yaml
- depends_on('py-setuptools', type='build')
- depends_on('vsearch', type='run')
- depends_on('fastx-toolkit', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("vsearch", type="run")
+ depends_on("fastx-toolkit", type="run")
diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
index 3dae973c55..ac1cec73f1 100644
--- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
@@ -12,15 +12,15 @@ class PyPkgconfig(PythonPackage):
homepage = "https://github.com/matze/pkgconfig"
pypi = "pkgconfig/pkgconfig-1.2.2.tar.gz"
- version('1.5.5', sha256='deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899')
- version('1.5.1', sha256='97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f')
- version('1.4.0', sha256='048c3b457da7b6f686b647ab10bf09e2250e4c50acfe6f215398a8b5e6fcdb52')
- version('1.2.2', sha256='3685ba02a9b72654a764b728b559f327e1dbd7dc6ebc310a1bd429666ee202aa')
+ version("1.5.5", sha256="deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899")
+ version("1.5.1", sha256="97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f")
+ version("1.4.0", sha256="048c3b457da7b6f686b647ab10bf09e2250e4c50acfe6f215398a8b5e6fcdb52")
+ version("1.2.2", sha256="3685ba02a9b72654a764b728b559f327e1dbd7dc6ebc310a1bd429666ee202aa")
- depends_on('python@3.3:', when='@1.5.5:', type=('build', 'run'))
- depends_on('python@2.7,3.3:', when='@1.5:', type=('build', 'run'))
- depends_on('python@2.6:2.7,3.3:', when='@1.4:', type=('build', 'run'))
- depends_on('py-poetry-core@1:', when='@1.5.5:', type='build')
- depends_on('py-poetry-core@0.12:', when='@1.5:', type='build')
- depends_on('py-setuptools', when='@:1.4', type='build')
- depends_on('pkgconfig', type=('build', 'run'))
+ depends_on("python@3.3:", when="@1.5.5:", type=("build", "run"))
+ depends_on("python@2.7,3.3:", when="@1.5:", type=("build", "run"))
+ depends_on("python@2.6:2.7,3.3:", when="@1.4:", type=("build", "run"))
+ depends_on("py-poetry-core@1:", when="@1.5.5:", type="build")
+ depends_on("py-poetry-core@0.12:", when="@1.5:", type="build")
+ depends_on("py-setuptools", when="@:1.4", type="build")
+ depends_on("pkgconfig", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pkginfo/package.py b/var/spack/repos/builtin/packages/py-pkginfo/package.py
index 04123c38bb..5b2b3400d8 100644
--- a/var/spack/repos/builtin/packages/py-pkginfo/package.py
+++ b/var/spack/repos/builtin/packages/py-pkginfo/package.py
@@ -12,7 +12,7 @@ class PyPkginfo(PythonPackage):
homepage = "https://code.launchpad.net/~tseaver/pkginfo/trunk"
pypi = "pkginfo/pkginfo-1.5.0.1.tar.gz"
- version('1.7.1', sha256='e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd')
- version('1.5.0.1', sha256='7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb')
+ version("1.7.1", sha256="e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd")
+ version("1.5.0.1", sha256="7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-plac/package.py b/var/spack/repos/builtin/packages/py-plac/package.py
index e7ba9904cd..08ecdcbd26 100644
--- a/var/spack/repos/builtin/packages/py-plac/package.py
+++ b/var/spack/repos/builtin/packages/py-plac/package.py
@@ -14,11 +14,11 @@ class PyPlac(PythonPackage):
pypi = "plac/plac-1.1.3.tar.gz"
# Skip 'plac_tk' imports
- import_modules = ['plac', 'plac_ext', 'plac_core']
+ import_modules = ["plac", "plac_ext", "plac_core"]
- version('1.3.5', sha256='38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090')
- version('1.3.3', sha256='51e332dabc2aed2cd1f038be637d557d116175101535f53eaa7ae854a00f2a74')
- version('1.1.3', sha256='398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f')
+ version("1.3.5", sha256="38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090")
+ version("1.3.3", sha256="51e332dabc2aed2cd1f038be637d557d116175101535f53eaa7ae854a00f2a74")
+ version("1.1.3", sha256="398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f")
- depends_on('py-setuptools', type='build')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-planar/package.py b/var/spack/repos/builtin/packages/py-planar/package.py
index 15ee274dc8..6d4d8bb238 100644
--- a/var/spack/repos/builtin/packages/py-planar/package.py
+++ b/var/spack/repos/builtin/packages/py-planar/package.py
@@ -12,7 +12,7 @@ class PyPlanar(PythonPackage):
homepage = "https://bitbucket.org/caseman/planar/src/default/"
pypi = "planar/planar-0.4.zip"
- version('0.4', sha256='cbfb9cbae8b0e296e6e7e3552b7d685c7ed5cae295b7a61f2b2b096b231dad76')
+ version("0.4", sha256="cbfb9cbae8b0e296e6e7e3552b7d685c7ed5cae295b7a61f2b2b096b231dad76")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-planet/package.py b/var/spack/repos/builtin/packages/py-planet/package.py
index a5df8dfcb8..51cbbebc43 100644
--- a/var/spack/repos/builtin/packages/py-planet/package.py
+++ b/var/spack/repos/builtin/packages/py-planet/package.py
@@ -11,9 +11,9 @@ class PyPlanet(PythonPackage):
homepage = "https://github.com/planetlabs/planet-client-python"
pypi = "planet/planet-1.4.6.tar.gz"
- version('1.4.6', sha256='43ff6a765f465302f500aaf65b81a46ac6aad7bb42899e4a7543bdc293d4ca0d')
+ version("1.4.6", sha256="43ff6a765f465302f500aaf65b81a46ac6aad7bb42899e4a7543bdc293d4ca0d")
- depends_on('py-setuptools', type='build')
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-requests-futures@0.9.7', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-requests-futures@0.9.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-platformdirs/package.py b/var/spack/repos/builtin/packages/py-platformdirs/package.py
index 6d9a639ef8..c1de5eb2c3 100644
--- a/var/spack/repos/builtin/packages/py-platformdirs/package.py
+++ b/var/spack/repos/builtin/packages/py-platformdirs/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class PyPlatformdirs(PythonPackage):
"""A small Python module for determining appropriate
- platform-specific dirs, e.g. a "user data dir" """
+ platform-specific dirs, e.g. a "user data dir" """
homepage = "https://github.com/platformdirs/platformdirs"
- pypi = "platformdirs/platformdirs-2.4.0.tar.gz"
+ pypi = "platformdirs/platformdirs-2.4.0.tar.gz"
- version('2.4.0', sha256='367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2')
+ version("2.4.0", sha256="367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@44:', type='build')
- depends_on('py-setuptools-scm@5:+toml', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@44:", type="build")
+ depends_on("py-setuptools-scm@5:+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-plotly/package.py b/var/spack/repos/builtin/packages/py-plotly/package.py
index 448ba4c991..1a6e9206cc 100644
--- a/var/spack/repos/builtin/packages/py-plotly/package.py
+++ b/var/spack/repos/builtin/packages/py-plotly/package.py
@@ -12,17 +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')
+ 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("python@3.6:", when="@5.2.2:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ 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-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'))
+ depends_on("py-tenacity@6.2.0:", when="@5.2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-plotnine/package.py b/var/spack/repos/builtin/packages/py-plotnine/package.py
index ee1338de04..ec83e8d1c0 100644
--- a/var/spack/repos/builtin/packages/py-plotnine/package.py
+++ b/var/spack/repos/builtin/packages/py-plotnine/package.py
@@ -13,45 +13,45 @@ class PyPlotnine(PythonPackage):
mapping data to the visual objects that make up the plot."""
homepage = "https://plotnine.readthedocs.io/en/stable"
- pypi = "plotnine/plotnine-0.8.0.tar.gz"
+ pypi = "plotnine/plotnine-0.8.0.tar.gz"
- version('0.9.0', sha256='0e89a93015f3c71d6844ac7aa9fb0da09b908f5f7dfa7dd5d68a5ca32b2ebcea')
- version('0.8.0', sha256='39de59edcc28106761b65238647d0b1f6212ea7f3a78f8be0b846616db969276')
- version('0.7.1', sha256='02f2b0435dae2e917198c5367fd97b010445d64d9888c6b7e755d3cdfe7ad057')
- version('0.7.0', sha256='8ee67cbf010ccea32670760e930b7b02177030a89ccdf85e35d156a96ce36cd3')
- version('0.6.0', sha256='aae2c8164abb209ef4f28cab01132d23f6879fcf8d492657487359e1241459e5')
+ version("0.9.0", sha256="0e89a93015f3c71d6844ac7aa9fb0da09b908f5f7dfa7dd5d68a5ca32b2ebcea")
+ version("0.8.0", sha256="39de59edcc28106761b65238647d0b1f6212ea7f3a78f8be0b846616db969276")
+ version("0.7.1", sha256="02f2b0435dae2e917198c5367fd97b010445d64d9888c6b7e755d3cdfe7ad057")
+ version("0.7.0", sha256="8ee67cbf010ccea32670760e930b7b02177030a89ccdf85e35d156a96ce36cd3")
+ version("0.6.0", sha256="aae2c8164abb209ef4f28cab01132d23f6879fcf8d492657487359e1241459e5")
- depends_on('python@3.8:', type=('build', 'run'), when='@0.9.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.6.0:')
+ depends_on("python@3.8:", type=("build", "run"), when="@0.9.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-setuptools@59:", type="build", when='@0.9.0:')
- depends_on("py-setuptools", type="build", when='@0.6.0:')
+ depends_on("py-setuptools@59:", type="build", when="@0.9.0:")
+ depends_on("py-setuptools", type="build", when="@0.6.0:")
- depends_on("py-setuptools-scm@6.4:+toml", type="build", when='@0.9.0:')
+ depends_on("py-setuptools-scm@6.4:+toml", type="build", when="@0.9.0:")
- depends_on("py-descartes@1.1.0:", type=("build", "run"), when='@:0.8.0')
+ depends_on("py-descartes@1.1.0:", type=("build", "run"), when="@:0.8.0")
- depends_on("py-matplotlib@3.5.0:", type=("build", "run"), when='@0.9.0:')
- depends_on("py-matplotlib@3.1.1:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-matplotlib@3.5.0:", type=("build", "run"), when="@0.9.0:")
+ depends_on("py-matplotlib@3.1.1:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-mizani@0.7.3:", type=("build", "run"), when='@0.8.0:')
- depends_on("py-mizani@0.6.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-mizani@0.7.3:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-mizani@0.6.0:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-numpy@1.19.0:", type=("build", "run"), when='@0.8.0:')
- depends_on("py-numpy@1.16.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-numpy@1.19.0:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-numpy@1.16.0:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-pandas@1.3.5:", type=("build", "run"), when='@0.9.0:')
- depends_on("py-pandas@1.1.0:", type=("build", "run"), when='@0.7.1:')
- depends_on("py-pandas@1.0.3:", type=("build", "run"), when='@0.7.0:')
- depends_on("py-pandas@0.25.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-pandas@1.3.5:", type=("build", "run"), when="@0.9.0:")
+ depends_on("py-pandas@1.1.0:", type=("build", "run"), when="@0.7.1:")
+ depends_on("py-pandas@1.0.3:", type=("build", "run"), when="@0.7.0:")
+ depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-patsy@0.5.1:", type=("build", "run"), when='@0.7.0:')
- depends_on("py-patsy@0.4.1:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-patsy@0.5.1:", type=("build", "run"), when="@0.7.0:")
+ depends_on("py-patsy@0.4.1:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-scipy@1.5.0:", type=("build", "run"), when='@0.8.0:')
- depends_on("py-scipy@1.2.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-scipy@1.5.0:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-scipy@1.2.0:", type=("build", "run"), when="@0.6.0:")
- depends_on("py-statsmodels@0.13.2:", type=("build", "run"), when='@0.9.0:')
- depends_on("py-statsmodels@0.12.1:", type=("build", "run"), when='@0.8.0:')
- depends_on("py-statsmodels@0.11.1:", type=("build", "run"), when='@0.7.0:')
- depends_on("py-statsmodels@0.9.0:", type=("build", "run"), when='@0.6.0:')
+ depends_on("py-statsmodels@0.13.2:", type=("build", "run"), when="@0.9.0:")
+ depends_on("py-statsmodels@0.12.1:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-statsmodels@0.11.1:", type=("build", "run"), when="@0.7.0:")
+ depends_on("py-statsmodels@0.9.0:", type=("build", "run"), when="@0.6.0:")
diff --git a/var/spack/repos/builtin/packages/py-pluggy/package.py b/var/spack/repos/builtin/packages/py-pluggy/package.py
index 259457cc2a..f997691aa7 100644
--- a/var/spack/repos/builtin/packages/py-pluggy/package.py
+++ b/var/spack/repos/builtin/packages/py-pluggy/package.py
@@ -12,17 +12,17 @@ class PyPluggy(PythonPackage):
homepage = "https://github.com/pytest-dev/pluggy"
pypi = "pluggy/pluggy-0.13.0.tar.gz"
- version('1.0.0', sha256='4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159')
- version('0.13.0', sha256='fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34')
- version('0.12.0', sha256='0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc')
- version('0.9.0', sha256='19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f')
- version('0.8.1', sha256='8ddc32f03971bfdf900a81961a48ccf2fb677cf7715108f85295c67405798616')
- version('0.7.1', sha256='95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1')
- version('0.6.0', sha256='7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff')
+ version("1.0.0", sha256="4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159")
+ version("0.13.0", sha256="fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34")
+ version("0.12.0", sha256="0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc")
+ version("0.9.0", sha256="19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f")
+ version("0.8.1", sha256="8ddc32f03971bfdf900a81961a48ccf2fb677cf7715108f85295c67405798616")
+ version("0.7.1", sha256="95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1")
+ version("0.6.0", sha256="7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.0.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.0.0:")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-importlib-metadata@0.12:', when='^python@:3.7', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-importlib-metadata@0.12:", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ply/package.py b/var/spack/repos/builtin/packages/py-ply/package.py
index 2119b36817..94f5e3df7c 100644
--- a/var/spack/repos/builtin/packages/py-ply/package.py
+++ b/var/spack/repos/builtin/packages/py-ply/package.py
@@ -12,7 +12,7 @@ class PyPly(PythonPackage):
homepage = "http://www.dabeaz.com/ply"
pypi = "ply/ply-3.11.tar.gz"
- version('3.11', sha256='00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3')
- version('3.8', sha256='e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8')
+ version("3.11", sha256="00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3")
+ version("3.8", sha256="e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pmw-patched/package.py b/var/spack/repos/builtin/packages/py-pmw-patched/package.py
index 7f7b246c18..6277071e56 100644
--- a/var/spack/repos/builtin/packages/py-pmw-patched/package.py
+++ b/var/spack/repos/builtin/packages/py-pmw-patched/package.py
@@ -9,9 +9,10 @@ from spack.package import *
class PyPmwPatched(PythonPackage):
"""Schrodinger's Fork of Python megawidgets with essential patches applied.
- Pmw is a toolkit for building high-level compound widgets, or
- megawidgets, constructed using other widgets as component parts."""
+ Pmw is a toolkit for building high-level compound widgets, or
+ megawidgets, constructed using other widgets as component parts."""
+
homepage = "https://github.com/schrodinger/pmw-patched"
git = "https://github.com/schrodinger/pmw-patched"
- version('02-10-2020', commit='8bedfc8747e7757c1048bc5e11899d1163717a43')
+ version("02-10-2020", commit="8bedfc8747e7757c1048bc5e11899d1163717a43")
diff --git a/var/spack/repos/builtin/packages/py-pmw/package.py b/var/spack/repos/builtin/packages/py-pmw/package.py
index 61b79adbc6..ceda94fa70 100644
--- a/var/spack/repos/builtin/packages/py-pmw/package.py
+++ b/var/spack/repos/builtin/packages/py-pmw/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class PyPmw(PythonPackage):
"""Pmw is a toolkit for building high-level compound widgets, or
- megawidgets, constructed using other widgets as component parts."""
+ megawidgets, constructed using other widgets as component parts."""
+
pypi = "Pmw/Pmw-2.0.0.tar.gz"
- version('2.0.1', sha256='0b9d28f52755a7a081b44591c3dd912054f896e56c9a627db4dd228306ad1120')
- version('2.0.0', sha256='2babb2855feaabeea1003c6908b61c9d39cff606d418685f0559952714c680bb')
+ version("2.0.1", sha256="0b9d28f52755a7a081b44591c3dd912054f896e56c9a627db4dd228306ad1120")
+ version("2.0.0", sha256="2babb2855feaabeea1003c6908b61c9d39cff606d418685f0559952714c680bb")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pockets/package.py b/var/spack/repos/builtin/packages/py-pockets/package.py
index 179b985899..d89bbf94ad 100644
--- a/var/spack/repos/builtin/packages/py-pockets/package.py
+++ b/var/spack/repos/builtin/packages/py-pockets/package.py
@@ -10,9 +10,9 @@ class PyPockets(PythonPackage):
"""A collection of helpful Python tools."""
homepage = "http://pockets.readthedocs.org/"
- pypi = "pockets/pockets-0.9.1.tar.gz"
+ pypi = "pockets/pockets-0.9.1.tar.gz"
- version('0.9.1', sha256='9320f1a3c6f7a9133fe3b571f283bcf3353cd70249025ae8d618e40e9f7e92b3')
+ version("0.9.1", sha256="9320f1a3c6f7a9133fe3b571f283bcf3353cd70249025ae8d618e40e9f7e92b3")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.5.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.5.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-poetry-core/package.py b/var/spack/repos/builtin/packages/py-poetry-core/package.py
index 7c13d82108..efffca087b 100644
--- a/var/spack/repos/builtin/packages/py-poetry-core/package.py
+++ b/var/spack/repos/builtin/packages/py-poetry-core/package.py
@@ -10,14 +10,14 @@ class PyPoetryCore(PythonPackage):
"""Poetry PEP 517 Build Backend."""
homepage = "https://github.com/python-poetry/poetry-core"
- pypi = "poetry-core/poetry-core-1.0.7.tar.gz"
+ pypi = "poetry-core/poetry-core-1.0.7.tar.gz"
- version('1.0.8', sha256='951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118')
- version('1.0.7', sha256='98c11c755a16ef6c5673c22ca94a3802a7df4746a0853a70b6fae8b9f5cac206')
+ version("1.0.8", sha256="951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118")
+ version("1.0.7", sha256="98c11c755a16ef6c5673c22ca94a3802a7df4746a0853a70b6fae8b9f5cac206")
- depends_on('python@2.7,3.5:3', type=('build', 'run'))
- depends_on('py-importlib-metadata@1.7:1', when='^python@2.7,3.5:3.7', type=('build', 'run'))
- depends_on('py-pathlib2@2.3.5:2', when='^python@2.7', type=('build', 'run'))
- depends_on('py-typing@3.7.4.1:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-enum34@1.1.10:1', when='^python@2.7', type=('build', 'run'))
- depends_on('py-functools32@3.2.3-2:3', when='^python@2.7', type=('build', 'run'))
+ depends_on("python@2.7,3.5:3", type=("build", "run"))
+ depends_on("py-importlib-metadata@1.7:1", when="^python@2.7,3.5:3.7", type=("build", "run"))
+ depends_on("py-pathlib2@2.3.5:2", when="^python@2.7", type=("build", "run"))
+ depends_on("py-typing@3.7.4.1:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-enum34@1.1.10:1", when="^python@2.7", type=("build", "run"))
+ depends_on("py-functools32@3.2.3-2:3", when="^python@2.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-poetry/package.py b/var/spack/repos/builtin/packages/py-poetry/package.py
index 48e6c6b654..3fd302db90 100644
--- a/var/spack/repos/builtin/packages/py-poetry/package.py
+++ b/var/spack/repos/builtin/packages/py-poetry/package.py
@@ -10,36 +10,38 @@ class PyPoetry(PythonPackage):
"""Python dependency management and packaging made easy."""
homepage = "https://python-poetry.org/"
- pypi = "poetry/poetry-1.1.12.tar.gz"
+ pypi = "poetry/poetry-1.1.12.tar.gz"
- version('1.1.13', sha256='b905ed610085f568aa61574e0e09260c02bff9eae12ff672af39e9f399357ac4')
- version('1.1.12', sha256='5c66e2357fe37b552462a88b7d31bfa2ed8e84172208becd666933c776252567')
+ version("1.1.13", sha256="b905ed610085f568aa61574e0e09260c02bff9eae12ff672af39e9f399357ac4")
+ version("1.1.12", sha256="5c66e2357fe37b552462a88b7d31bfa2ed8e84172208becd666933c776252567")
- depends_on('python@2.7,3.5:3', type=('build', 'run'))
- depends_on('py-poetry-core@1.0.7:1.0', type=('build', 'run'))
- depends_on('py-cleo@0.8.1:0.8', type=('build', 'run'))
- depends_on('py-clikit@0.6.2:0.6', type=('build', 'run'))
- depends_on('py-crashtest@0.3.0:0.3', when='^python@3.6:3', type=('build', 'run'))
- depends_on('py-requests@2.18:2', type=('build', 'run'))
- depends_on('py-cachy@0.3.0:0.3', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.9.1:0.9', type=('build', 'run'))
- depends_on('py-cachecontrol@0.12.4:0.12+filecache', when='^python@:3.5', type=('build', 'run'))
- depends_on('py-cachecontrol@0.12.9:0.12+filecache', when='^python@3.6:3', type=('build', 'run'))
- depends_on('py-pkginfo@1.4:1', type=('build', 'run'))
- depends_on('py-html5lib@1.0:1', type=('build', 'run'))
- depends_on('py-shellingham@1.1:1', type=('build', 'run'))
- depends_on('py-tomlkit@0.7:0', type=('build', 'run'))
- depends_on('py-pexpect@4.7:4', type=('build', 'run'))
- depends_on('py-packaging@20.4:20', type=('build', 'run'))
- depends_on('py-virtualenv@20.0.26:20', type=('build', 'run'))
- depends_on('py-typing@3.6:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-pathlib2@2.3:2', when='^python@2.7', type=('build', 'run'))
- depends_on('py-futures@3.3:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-glob2@0.6.0:0.6', when='^python@2.7', type=('build', 'run'))
- depends_on('py-functools32@3.2.3:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-keyring@18.0.1:18', when='^python@2.7', type=('build', 'run'))
- depends_on('py-keyring@20.0.1:20', when='^python@3.5', type=('build', 'run'))
- depends_on('py-keyring@21.2.0:21', when='@1.1.12 ^python@3.6:3', type=('build', 'run'))
- depends_on('py-keyring@21.2.0:', when='@1.1.13 ^python@3.6:3', type=('build', 'run'))
- depends_on('py-subprocess32@3.5:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-importlib-metadata@1.6:1', when='^python@:3.7', type=('build', 'run'))
+ depends_on("python@2.7,3.5:3", type=("build", "run"))
+ depends_on("py-poetry-core@1.0.7:1.0", type=("build", "run"))
+ depends_on("py-cleo@0.8.1:0.8", type=("build", "run"))
+ depends_on("py-clikit@0.6.2:0.6", type=("build", "run"))
+ depends_on("py-crashtest@0.3.0:0.3", when="^python@3.6:3", type=("build", "run"))
+ depends_on("py-requests@2.18:2", type=("build", "run"))
+ depends_on("py-cachy@0.3.0:0.3", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.9.1:0.9", type=("build", "run"))
+ depends_on("py-cachecontrol@0.12.4:0.12+filecache", when="^python@:3.5", type=("build", "run"))
+ depends_on(
+ "py-cachecontrol@0.12.9:0.12+filecache", when="^python@3.6:3", type=("build", "run")
+ )
+ depends_on("py-pkginfo@1.4:1", type=("build", "run"))
+ depends_on("py-html5lib@1.0:1", type=("build", "run"))
+ depends_on("py-shellingham@1.1:1", type=("build", "run"))
+ depends_on("py-tomlkit@0.7:0", type=("build", "run"))
+ depends_on("py-pexpect@4.7:4", type=("build", "run"))
+ depends_on("py-packaging@20.4:20", type=("build", "run"))
+ depends_on("py-virtualenv@20.0.26:20", type=("build", "run"))
+ depends_on("py-typing@3.6:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-pathlib2@2.3:2", when="^python@2.7", type=("build", "run"))
+ depends_on("py-futures@3.3:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-glob2@0.6.0:0.6", when="^python@2.7", type=("build", "run"))
+ depends_on("py-functools32@3.2.3:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-keyring@18.0.1:18", when="^python@2.7", type=("build", "run"))
+ depends_on("py-keyring@20.0.1:20", when="^python@3.5", type=("build", "run"))
+ depends_on("py-keyring@21.2.0:21", when="@1.1.12 ^python@3.6:3", type=("build", "run"))
+ depends_on("py-keyring@21.2.0:", when="@1.1.13 ^python@3.6:3", type=("build", "run"))
+ depends_on("py-subprocess32@3.5:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-importlib-metadata@1.6:1", when="^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pomegranate/package.py b/var/spack/repos/builtin/packages/py-pomegranate/package.py
index c7fc97aac0..95af3091bf 100644
--- a/var/spack/repos/builtin/packages/py-pomegranate/package.py
+++ b/var/spack/repos/builtin/packages/py-pomegranate/package.py
@@ -12,12 +12,12 @@ class PyPomegranate(PythonPackage):
homepage = "https://github.com/jmschrei/pomegranate"
pypi = "pomegranate/pomegranate-0.12.0.tar.gz"
- version('0.12.0', sha256='8b00c88f7cf9cad8d38ea00ea5274821376fefb217a1128afe6b1fcac54c975a')
+ version("0.12.0", sha256="8b00c88f7cf9cad8d38ea00ea5274821376fefb217a1128afe6b1fcac54c975a")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.22.1:', type='build')
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
- depends_on('py-joblib@0.9.0b4:', type=('build', 'run'))
- depends_on('py-networkx@2.0:', type=('build', 'run'))
- depends_on('py-scipy@0.17.0:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.22.1:", type="build")
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-joblib@0.9.0b4:", type=("build", "run"))
+ depends_on("py-networkx@2.0:", type=("build", "run"))
+ depends_on("py-scipy@0.17.0:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pooch/package.py b/var/spack/repos/builtin/packages/py-pooch/package.py
index 5f0ee3d0aa..ba1045c1d6 100644
--- a/var/spack/repos/builtin/packages/py-pooch/package.py
+++ b/var/spack/repos/builtin/packages/py-pooch/package.py
@@ -12,14 +12,14 @@ class PyPooch(PythonPackage):
and corruption checks."""
homepage = "https://github.com/fatiando/pooch"
- pypi = "pooch/pooch-1.3.0.tar.gz"
+ pypi = "pooch/pooch-1.3.0.tar.gz"
- version('1.5.2', sha256='5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581')
- version('1.3.0', sha256='30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898')
+ version("1.5.2", sha256="5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581")
+ version("1.3.0", sha256="30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', when='@1.4:', type='build')
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-appdirs', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", when="@1.4:", type="build")
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-appdirs", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-portalocker/package.py b/var/spack/repos/builtin/packages/py-portalocker/package.py
index e9e92dd649..3ad834c276 100644
--- a/var/spack/repos/builtin/packages/py-portalocker/package.py
+++ b/var/spack/repos/builtin/packages/py-portalocker/package.py
@@ -12,8 +12,8 @@ class PyPortalocker(PythonPackage):
homepage = "https://github.com/WoLpH/portalocker"
pypi = "portalocker/portalocker-2.5.1.tar.gz"
- version('2.5.1', sha256='ae8e9cc2660da04bf41fa1a0eef7e300bb5e4a5869adfb1a6d8551632b559b2b')
- version('1.6.0', sha256='4013e6d17123560178a5ba28cb6fdf13fd3079dee18571ff824e05b7abc97b94')
+ version("2.5.1", sha256="ae8e9cc2660da04bf41fa1a0eef7e300bb5e4a5869adfb1a6d8551632b559b2b")
+ version("1.6.0", sha256="4013e6d17123560178a5ba28cb6fdf13fd3079dee18571ff824e05b7abc97b94")
- depends_on('python@3.5:', when='@2:', type=('build', 'run'))
- depends_on('py-setuptools@38.3.0:', type='build')
+ depends_on("python@3.5:", when="@2:", type=("build", "run"))
+ depends_on("py-setuptools@38.3.0:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-portend/package.py b/var/spack/repos/builtin/packages/py-portend/package.py
index dd1b636743..9f71fc62ac 100644
--- a/var/spack/repos/builtin/packages/py-portend/package.py
+++ b/var/spack/repos/builtin/packages/py-portend/package.py
@@ -7,15 +7,14 @@ from spack.package import *
class PyPortend(PythonPackage):
- """TCP port monitoring and discovery """
+ """TCP port monitoring and discovery"""
homepage = "https://github.com/jaraco/portend"
pypi = "portend/portend-2.5.tar.gz"
- version(
- '2.5', sha256='19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9')
+ version("2.5", sha256="19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-tempora@1.8:', type=('run', 'build'))
- depends_on('python@2.7:', type=('run', 'build'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("py-tempora@1.8:", type=("run", "build"))
+ depends_on("python@2.7:", type=("run", "build"))
diff --git a/var/spack/repos/builtin/packages/py-poster/package.py b/var/spack/repos/builtin/packages/py-poster/package.py
index f27464625e..1b8a2f7c69 100644
--- a/var/spack/repos/builtin/packages/py-poster/package.py
+++ b/var/spack/repos/builtin/packages/py-poster/package.py
@@ -10,13 +10,13 @@ class PyPoster(PythonPackage):
"""Streaming HTTP uploads and multipart/form-data encoding."""
homepage = "https://atlee.ca/software/poster"
- url = "https://atlee.ca/software/poster/dist/0.8.1/poster-0.8.1.tar.gz"
+ url = "https://atlee.ca/software/poster/dist/0.8.1/poster-0.8.1.tar.gz"
- version('0.8.1', sha256='af5bf45da4a916db2b638cffd9e9d6668b33020e2b8ca9f864db79b49331c6ff')
+ version("0.8.1", sha256="af5bf45da4a916db2b638cffd9e9d6668b33020e2b8ca9f864db79b49331c6ff")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# https://bitbucket.org/chrisatlee/poster/issues/24/not-working-with-python3
# https://bitbucket.org/chrisatlee/poster/issues/25/poster-connot-work-in-python35
# Patch created using 2to3
- patch('python3.patch', when='^python@3:')
+ patch("python3.patch", when="^python@3:")
diff --git a/var/spack/repos/builtin/packages/py-pot/package.py b/var/spack/repos/builtin/packages/py-pot/package.py
index 3ef43626ee..f2818ce1e4 100644
--- a/var/spack/repos/builtin/packages/py-pot/package.py
+++ b/var/spack/repos/builtin/packages/py-pot/package.py
@@ -14,16 +14,16 @@ class PyPot(PythonPackage):
"""
homepage = "https://github.com/PythonOT/POT"
- pypi = "POT/POT-0.7.0.tar.gz"
+ pypi = "POT/POT-0.7.0.tar.gz"
- version('0.7.0', sha256='d4ac2bc8791f049a3166820d51e218d6c299885449b735eafef8d18c76d4ad06')
+ version("0.7.0", sha256="d4ac2bc8791f049a3166820d51e218d6c299885449b735eafef8d18c76d4ad06")
# Avoid that CC and CXX are overridden with g++ in setup.py.
- patch('175.patch', when='@0.7.0')
+ patch("175.patch", when="@0.7.0")
- depends_on('python@2.7.0:2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7.0:2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy@1.16:', type=('build', 'run'))
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-cython@0.23:', type=('build', 'run'))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-cython@0.23:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pox/package.py b/var/spack/repos/builtin/packages/py-pox/package.py
index 595386df20..e42ffd5b84 100644
--- a/var/spack/repos/builtin/packages/py-pox/package.py
+++ b/var/spack/repos/builtin/packages/py-pox/package.py
@@ -12,23 +12,23 @@ class PyPox(PythonPackage):
homepage = "https://github.com/uqfoundation/pox"
pypi = "pox/pox-0.2.5.tar.gz"
- version('0.3.0', sha256='cb968350b186466bb4905a21084587ec3aa6fd7aa0ef55d416ee0d523e2abe31')
- version('0.2.5', sha256='2b53fbdf02596240483dc2cb94f94cc21252ad1b1858c7b1c151afeec9022cc8')
- version('0.2.3', sha256='d3e8167a1ebe08ae56262a0b9359118d90bc4648cd284b5d10ae240343100a75')
- version('0.2.2', sha256='c0b88e59ef0e4f2fa4839e11bf90d2c32d6ceb5abaf01f0c8138f7558e6f87c1')
- version('0.2.1', sha256='580bf731fee233c58eac0974011b5bf0698efb7337b0a1696d289043b4fcd7f4')
+ version("0.3.0", sha256="cb968350b186466bb4905a21084587ec3aa6fd7aa0ef55d416ee0d523e2abe31")
+ version("0.2.5", sha256="2b53fbdf02596240483dc2cb94f94cc21252ad1b1858c7b1c151afeec9022cc8")
+ version("0.2.3", sha256="d3e8167a1ebe08ae56262a0b9359118d90bc4648cd284b5d10ae240343100a75")
+ version("0.2.2", sha256="c0b88e59ef0e4f2fa4839e11bf90d2c32d6ceb5abaf01f0c8138f7558e6f87c1")
+ version("0.2.1", sha256="580bf731fee233c58eac0974011b5bf0698efb7337b0a1696d289043b4fcd7f4")
- depends_on('python@2.5:2.8,3.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', when='@0.3.0:', type=('build', 'run'))
+ depends_on("python@2.5:2.8,3.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", when="@0.3.0:", type=("build", "run"))
- depends_on('py-setuptools@0.6:', type='build')
+ depends_on("py-setuptools@0.6:", type="build")
def url_for_version(self, version):
url = "https://pypi.io/packages/source/p/pox/"
- if Version('0.3.0') > version >= Version('0.2.4'):
- url += 'pox-{0}.tar.gz'
+ if Version("0.3.0") > version >= Version("0.2.4"):
+ url += "pox-{0}.tar.gz"
else:
- url += 'pox-{0}.zip'
+ url += "pox-{0}.zip"
url = url.format(version)
return url
diff --git a/var/spack/repos/builtin/packages/py-poyo/package.py b/var/spack/repos/builtin/packages/py-poyo/package.py
index 2e5441ef12..500baf7814 100644
--- a/var/spack/repos/builtin/packages/py-poyo/package.py
+++ b/var/spack/repos/builtin/packages/py-poyo/package.py
@@ -10,8 +10,8 @@ class PyPoyo(PythonPackage):
"""A lightweight YAML Parser for Python"""
homepage = "https://github.com/hackebrot/poyo"
- url = "https://github.com/hackebrot/poyo/archive/0.4.1.tar.gz"
+ url = "https://github.com/hackebrot/poyo/archive/0.4.1.tar.gz"
- version('0.4.1', sha256='9f069dc9c8ee359abc8ef9e7304cb1b1c23556d1f4ae64f4247c1e45de43c1f1')
+ version("0.4.1", sha256="9f069dc9c8ee359abc8ef9e7304cb1b1c23556d1f4ae64f4247c1e45de43c1f1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ppft/package.py b/var/spack/repos/builtin/packages/py-ppft/package.py
index 2015bce15e..34ee6a92a7 100644
--- a/var/spack/repos/builtin/packages/py-ppft/package.py
+++ b/var/spack/repos/builtin/packages/py-ppft/package.py
@@ -7,31 +7,31 @@ from spack.package import *
class PyPpft(PythonPackage):
- """Distributed and parallel python """
+ """Distributed and parallel python"""
homepage = "https://github.com/uqfoundation/ppft"
pypi = "ppft/ppft-1.6.4.9.tar.gz"
- version('1.6.6.4', sha256='473442cc6731856990bd25bd6b454bb98720007de4523a73c560bdd0060463d2')
- version('1.6.4.9', sha256='5537b00afb7b247da0f59cc57ee5680178be61c8b2e21b5a0672b70a3d247791')
- version('1.6.4.7.1', sha256='f94b26491b4a36adc975fc51dba7568089a24756007a3a4ef3414a98d7337651')
- version('1.6.4.6', sha256='92d09061f5425634c43dbf99c5558f2cf2a2e1e351929f8da7e85f4649c11095')
- version('1.6.4.5', sha256='d47da9d2e553848b75727ce7c510f9e149965d5c68f9fc56c774a7c6a3d18214')
+ version("1.6.6.4", sha256="473442cc6731856990bd25bd6b454bb98720007de4523a73c560bdd0060463d2")
+ version("1.6.4.9", sha256="5537b00afb7b247da0f59cc57ee5680178be61c8b2e21b5a0672b70a3d247791")
+ version("1.6.4.7.1", sha256="f94b26491b4a36adc975fc51dba7568089a24756007a3a4ef3414a98d7337651")
+ version("1.6.4.6", sha256="92d09061f5425634c43dbf99c5558f2cf2a2e1e351929f8da7e85f4649c11095")
+ version("1.6.4.5", sha256="d47da9d2e553848b75727ce7c510f9e149965d5c68f9fc56c774a7c6a3d18214")
- depends_on('python@2.5:2.8,3.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', when='@1.6.6.4:', type=('build', 'run'))
+ depends_on("python@2.5:2.8,3.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", when="@1.6.6.4:", type=("build", "run"))
- depends_on('py-setuptools@0.6:', type='build')
- depends_on('py-six@1.7.3:', type=('build', 'run'))
- depends_on('py-dill@0.2.6:', type=('build', 'run'))
- depends_on('py-dill@0.3.4:', type=('build', 'run'), when='@1.6.6.4:')
+ depends_on("py-setuptools@0.6:", type="build")
+ depends_on("py-six@1.7.3:", type=("build", "run"))
+ depends_on("py-dill@0.2.6:", type=("build", "run"))
+ depends_on("py-dill@0.3.4:", type=("build", "run"), when="@1.6.6.4:")
def url_for_version(self, version):
url = "https://pypi.io/packages/source/p/ppft/"
- if Version('1.6.6.4') > version >= Version('1.6.4.8'):
- url += 'ppft-{0}.tar.gz'
+ if Version("1.6.6.4") > version >= Version("1.6.4.8"):
+ url += "ppft-{0}.tar.gz"
else:
- url += 'ppft-{0}.zip'
+ url += "ppft-{0}.zip"
url = url.format(version)
return url
diff --git a/var/spack/repos/builtin/packages/py-pre-commit/package.py b/var/spack/repos/builtin/packages/py-pre-commit/package.py
index fa3295e50b..6326870ed6 100644
--- a/var/spack/repos/builtin/packages/py-pre-commit/package.py
+++ b/var/spack/repos/builtin/packages/py-pre-commit/package.py
@@ -13,22 +13,22 @@ class PyPreCommit(PythonPackage):
homepage = "https://github.com/pre-commit/pre-commit"
pypi = "pre_commit/pre_commit-1.20.0.tar.gz"
- version('2.17.0', sha256='c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a')
- version('1.20.0', sha256='9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e')
+ version("2.17.0", sha256="c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a")
+ version("1.20.0", sha256="9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.6.1:', type=('build', 'run'), when="@2.1.0:")
- depends_on('py-setuptools', type='build')
- depends_on('py-aspy-yaml', type=('build', 'run'), when="@1")
- depends_on('py-cfgv@2.0.0:', type=('build', 'run'))
- depends_on('py-identify@1.0.0:', type=('build', 'run'))
- depends_on('py-nodeenv@0.11.1:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-pyyaml@5.1:', type=('build', 'run'), when="@2.1.0:")
- depends_on('py-six', type=('build', 'run'), when="@1")
- depends_on('py-toml', type=('build', 'run'))
- depends_on('py-virtualenv@15.2:', type=('build', 'run'))
- depends_on('py-virtualenv@20.0.8:', type=('build', 'run'), when="@2.4.0:")
- depends_on('py-futures', type=('build', 'run'), when='^python@:3.1')
- depends_on('py-importlib-metadata', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-importlib-resources@:5.2', type=('build', 'run'), when='^python@:3.6')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.6.1:", type=("build", "run"), when="@2.1.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-aspy-yaml", type=("build", "run"), when="@1")
+ depends_on("py-cfgv@2.0.0:", type=("build", "run"))
+ depends_on("py-identify@1.0.0:", type=("build", "run"))
+ depends_on("py-nodeenv@0.11.1:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-pyyaml@5.1:", type=("build", "run"), when="@2.1.0:")
+ depends_on("py-six", type=("build", "run"), when="@1")
+ depends_on("py-toml", type=("build", "run"))
+ depends_on("py-virtualenv@15.2:", type=("build", "run"))
+ depends_on("py-virtualenv@20.0.8:", type=("build", "run"), when="@2.4.0:")
+ depends_on("py-futures", type=("build", "run"), when="^python@:3.1")
+ depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-importlib-resources@:5.2", type=("build", "run"), when="^python@:3.6")
diff --git a/var/spack/repos/builtin/packages/py-preshed/package.py b/var/spack/repos/builtin/packages/py-preshed/package.py
index f16d92ccfc..54d147f51a 100644
--- a/var/spack/repos/builtin/packages/py-preshed/package.py
+++ b/var/spack/repos/builtin/packages/py-preshed/package.py
@@ -13,8 +13,8 @@ class PyPreshed(PythonPackage):
homepage = "https://github.com/explosion/preshed"
pypi = "preshed/preshed-3.0.2.tar.gz"
- version('3.0.2', sha256='61d73468c97c1d6d5a048de0b01d5a6fd052123358aca4823cdb277e436436cb')
+ version("3.0.2", sha256="61d73468c97c1d6d5a048de0b01d5a6fd052123358aca4823cdb277e436436cb")
- depends_on('py-setuptools', type='build')
- depends_on('py-cymem@2.0.2:2.0', type=('build', 'run'))
- depends_on('py-murmurhash@0.28:1.0', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cymem@2.0.2:2.0", type=("build", "run"))
+ depends_on("py-murmurhash@0.28:1.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pretrainedmodels/package.py b/var/spack/repos/builtin/packages/py-pretrainedmodels/package.py
index 47adbe0acb..a1745cba38 100644
--- a/var/spack/repos/builtin/packages/py-pretrainedmodels/package.py
+++ b/var/spack/repos/builtin/packages/py-pretrainedmodels/package.py
@@ -10,12 +10,12 @@ class PyPretrainedmodels(PythonPackage):
"""Pretrained models for Pytorch."""
homepage = "https://github.com/cadene/pretrained-models.pytorch"
- pypi = "pretrainedmodels/pretrainedmodels-0.7.4.tar.gz"
+ pypi = "pretrainedmodels/pretrainedmodels-0.7.4.tar.gz"
- version('0.7.4', sha256='7e77ead4619a3e11ab3c41982c8ad5b86edffe37c87fd2a37ec3c2cc6470b98a')
+ version("0.7.4", sha256="7e77ead4619a3e11ab3c41982c8ad5b86edffe37c87fd2a37ec3c2cc6470b98a")
- depends_on('py-setuptools', type='build')
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-torchvision', type=('build', 'run'))
- depends_on('py-munch', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-torchvision", type=("build", "run"))
+ depends_on("py-munch", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-prettytable/package.py b/var/spack/repos/builtin/packages/py-prettytable/package.py
index 9e9d5d8546..8c9e9fd213 100644
--- a/var/spack/repos/builtin/packages/py-prettytable/package.py
+++ b/var/spack/repos/builtin/packages/py-prettytable/package.py
@@ -15,13 +15,13 @@ class PyPrettytable(PythonPackage):
homepage = "https://github.com/jazzband/prettytable"
pypi = "prettytable/prettytable-0.7.2.tar.gz"
- version('3.2.0', sha256='ae7d96c64100543dc61662b40a28f3b03c0f94a503ed121c6fca2782c5816f81')
- version('2.4.0', sha256='18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca')
- version('0.7.2', sha256='2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9')
+ version("3.2.0", sha256="ae7d96c64100543dc61662b40a28f3b03c0f94a503ed121c6fca2782c5816f81")
+ version("2.4.0", sha256="18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca")
+ version("0.7.2", sha256="2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9")
- depends_on("py-setuptools", type='build')
- depends_on("py-wcwidth", type=('build', 'run'), when='@2.4.0:')
- depends_on("py-importlib-metadata", type=('build', 'run'), when='@2.4.0: ^python@:3.7')
- depends_on("py-setuptools-scm", type='build', when='@2.4.0:')
- depends_on("python@3.6:", type=('build', 'run'), when='@2.4.0:')
- depends_on("python@3.7:", type=('build', 'run'), when='@3.2.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wcwidth", type=("build", "run"), when="@2.4.0:")
+ depends_on("py-importlib-metadata", type=("build", "run"), when="@2.4.0: ^python@:3.7")
+ depends_on("py-setuptools-scm", type="build", when="@2.4.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.4.0:")
+ depends_on("python@3.7:", type=("build", "run"), when="@3.2.0:")
diff --git a/var/spack/repos/builtin/packages/py-priority/package.py b/var/spack/repos/builtin/packages/py-priority/package.py
index 2bad063bb0..da480e05db 100644
--- a/var/spack/repos/builtin/packages/py-priority/package.py
+++ b/var/spack/repos/builtin/packages/py-priority/package.py
@@ -15,9 +15,9 @@ class PyPriority(PythonPackage):
running over a single HTTP/2 connection."""
homepage = "https://github.com/python-hyper/priority/"
- pypi = "priority/priority-2.0.0.tar.gz"
+ pypi = "priority/priority-2.0.0.tar.gz"
- version('2.0.0', sha256='c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0')
+ version("2.0.0", sha256="c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0")
- depends_on('python@3.6.1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6.1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-profilehooks/package.py b/var/spack/repos/builtin/packages/py-profilehooks/package.py
index 41b9d71f9d..6dc90cc417 100644
--- a/var/spack/repos/builtin/packages/py-profilehooks/package.py
+++ b/var/spack/repos/builtin/packages/py-profilehooks/package.py
@@ -12,9 +12,9 @@ class PyProfilehooks(PythonPackage):
homepage = "https://mg.pov.lt/profilehooks/"
pypi = "profilehooks/profilehooks-1.11.2.tar.gz"
- git = "https://github.com/mgedmin/profilehooks.git"
+ git = "https://github.com/mgedmin/profilehooks.git"
- version('1.11.2', sha256='41a74c1abdc5eeaf7dec024e9e89627f70e158374d263a3098bef31a06d38ab2')
+ version("1.11.2", sha256="41a74c1abdc5eeaf7dec024e9e89627f70e158374d263a3098bef31a06d38ab2")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-proglog/package.py b/var/spack/repos/builtin/packages/py-proglog/package.py
index 008f98e5bf..62666c3e83 100644
--- a/var/spack/repos/builtin/packages/py-proglog/package.py
+++ b/var/spack/repos/builtin/packages/py-proglog/package.py
@@ -15,7 +15,7 @@ class PyProglog(PythonPackage):
homepage = "https://pypi.org/project/proglog/"
pypi = "proglog/proglog-0.1.9.tar.gz"
- version('0.1.9', sha256='d8c4ccbf2138e0c5e3f3fc0d80dc51d7e69dcfe8bfde4cacb566725092a5b18d')
+ version("0.1.9", sha256="d8c4ccbf2138e0c5e3f3fc0d80dc51d7e69dcfe8bfde4cacb566725092a5b18d")
- depends_on('py-setuptools', type='build')
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tqdm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-progress/package.py b/var/spack/repos/builtin/packages/py-progress/package.py
index eca2f343ab..8b9d6acba1 100644
--- a/var/spack/repos/builtin/packages/py-progress/package.py
+++ b/var/spack/repos/builtin/packages/py-progress/package.py
@@ -12,6 +12,6 @@ class PyProgress(PythonPackage):
homepage = "https://github.com/verigak/progress/"
pypi = "progress/progress-1.4.tar.gz"
- version('1.4', sha256='5e2f9da88ed8236a76fffbee3ceefd259589cf42dfbc2cec2877102189fae58a')
+ version("1.4", sha256="5e2f9da88ed8236a76fffbee3ceefd259589cf42dfbc2cec2877102189fae58a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-progressbar2/package.py b/var/spack/repos/builtin/packages/py-progressbar2/package.py
index a6f24f8352..0458fea80d 100644
--- a/var/spack/repos/builtin/packages/py-progressbar2/package.py
+++ b/var/spack/repos/builtin/packages/py-progressbar2/package.py
@@ -13,10 +13,10 @@ class PyProgressbar2(PythonPackage):
homepage = "https://github.com/WoLpH/python-progressbar"
pypi = "progressbar2/progressbar2-3.50.1.tar.gz"
- version('3.55.0', sha256='86835d1f1a9317ab41aeb1da5e4184975e2306586839d66daf63067c102f8f04')
- version('3.50.1', sha256='2c21c14482016162852c8265da03886c2b4dea6f84e5a817ad9b39f6bd82a772')
- version('3.39.3', sha256='8e5b5419e04193bb7c3fea71579937bbbcd64c26472b929718c2fe7ec420fe39')
+ version("3.55.0", sha256="86835d1f1a9317ab41aeb1da5e4184975e2306586839d66daf63067c102f8f04")
+ version("3.50.1", sha256="2c21c14482016162852c8265da03886c2b4dea6f84e5a817ad9b39f6bd82a772")
+ version("3.39.3", sha256="8e5b5419e04193bb7c3fea71579937bbbcd64c26472b929718c2fe7ec420fe39")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-python-utils@2.3.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-python-utils@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-projectq/package.py b/var/spack/repos/builtin/packages/py-projectq/package.py
index 4772bcdd0d..34a9ae80f3 100644
--- a/var/spack/repos/builtin/packages/py-projectq/package.py
+++ b/var/spack/repos/builtin/packages/py-projectq/package.py
@@ -17,17 +17,17 @@ class PyProjectq(PythonPackage):
# Homepage and git repository
homepage = "https://projectq.ch"
- git = "https://github.com/projectq-framework/projectq.git"
+ git = "https://github.com/projectq-framework/projectq.git"
# Versions
- version('develop', branch='develop')
- version('0.3.6', commit='fa484fe037a3a1772127bbd00fe4628ddba34611')
+ version("develop", branch="develop")
+ version("0.3.6", commit="fa484fe037a3a1772127bbd00fe4628ddba34611")
# Dependencies
- depends_on('py-setuptools', type=('build'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
# conflict with pybind11@2.2.0 -> see requirements.txt
- depends_on('py-pybind11@1.7:2.1,2.2.1:', type=('build', 'run'))
+ depends_on("py-pybind11@1.7:2.1,2.2.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-prometheus-client/package.py b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
index 501970520f..4b147964d6 100644
--- a/var/spack/repos/builtin/packages/py-prometheus-client/package.py
+++ b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
@@ -11,28 +11,29 @@ class PyPrometheusClient(PythonPackage):
pypi = "prometheus_client/prometheus_client-0.7.1.tar.gz"
- version('0.12.0', sha256='1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5')
- version('0.7.1', sha256='71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da')
- version('0.7.0', sha256='ee0c90350595e4a9f36591f291e6f9933246ea67d7cd7d1d6139a9781b14eaae')
- version('0.5.0', sha256='e8c11ff5ca53de6c3d91e1510500611cafd1d247a937ec6c588a0a7cc3bef93c')
+ version("0.12.0", sha256="1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5")
+ version("0.7.1", sha256="71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da")
+ version("0.7.0", sha256="ee0c90350595e4a9f36591f291e6f9933246ea67d7cd7d1d6139a9781b14eaae")
+ version("0.5.0", sha256="e8c11ff5ca53de6c3d91e1510500611cafd1d247a937ec6c588a0a7cc3bef93c")
- variant('twisted', default=False, description='Expose metrics as a twisted resource')
+ variant("twisted", default=False, description="Expose metrics as a twisted resource")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# Notice: prometheus_client/twisted/_exposition.py imports 'twisted.web.wsgi'
# which was not ported to Python 3 until twisted 16.0.0
- depends_on('py-twisted', type=('build', 'run'), when='+twisted')
- depends_on('py-twisted@16:', type=('build', 'run'), when='@0.12.0: +twisted ^python@3:')
- depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@0.12.0:')
+ depends_on("py-twisted", type=("build", "run"), when="+twisted")
+ depends_on("py-twisted@16:", type=("build", "run"), when="@0.12.0: +twisted ^python@3:")
+ depends_on("python@2.7:2,3.4:", type=("build", "run"), when="@0.12.0:")
@property
def import_modules(self):
modules = [
- 'prometheus_client', 'prometheus_client.openmetrics',
- 'prometheus_client.bridge'
+ "prometheus_client",
+ "prometheus_client.openmetrics",
+ "prometheus_client.bridge",
]
- if '+twisted' in self.spec:
- modules.append('prometheus_client.twisted')
+ if "+twisted" in self.spec:
+ modules.append("prometheus_client.twisted")
return modules
diff --git a/var/spack/repos/builtin/packages/py-promise/package.py b/var/spack/repos/builtin/packages/py-promise/package.py
index af6e951aba..06008b8b74 100644
--- a/var/spack/repos/builtin/packages/py-promise/package.py
+++ b/var/spack/repos/builtin/packages/py-promise/package.py
@@ -13,12 +13,12 @@ class PyPromise(PythonPackage):
using promises in Python."""
homepage = "https://github.com/syrusakbary/promise"
- pypi = "promise/promise-2.3.tar.gz"
+ pypi = "promise/promise-2.3.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.3', sha256='dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0')
+ version("2.3", sha256="dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-typing@3.6.4:', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-typing@3.6.4:", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
index 7ed6ba86ed..d4e9a04c41 100644
--- a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
@@ -14,31 +14,42 @@ class PyPromptToolkit(PythonPackage):
# 'prompt_toolkit.contrib.ssh' requires 'asyncssh', but 'asyncssh' isn't listed as a
# dependency. Leave out of 'import_modules' to avoid unnecessary dependency.
import_modules = [
- 'prompt_toolkit', 'prompt_toolkit.filters', 'prompt_toolkit.lexers',
- 'prompt_toolkit.input', 'prompt_toolkit.layout', 'prompt_toolkit.output',
- 'prompt_toolkit.completion', 'prompt_toolkit.contrib',
- 'prompt_toolkit.contrib.completers', 'prompt_toolkit.contrib.regular_languages',
- 'prompt_toolkit.contrib.telnet', 'prompt_toolkit.key_binding',
- 'prompt_toolkit.key_binding.bindings', 'prompt_toolkit.styles',
- 'prompt_toolkit.shortcuts', 'prompt_toolkit.shortcuts.progress_bar',
- 'prompt_toolkit.formatted_text', 'prompt_toolkit.eventloop',
- 'prompt_toolkit.application', 'prompt_toolkit.widgets',
- 'prompt_toolkit.clipboard'
+ "prompt_toolkit",
+ "prompt_toolkit.filters",
+ "prompt_toolkit.lexers",
+ "prompt_toolkit.input",
+ "prompt_toolkit.layout",
+ "prompt_toolkit.output",
+ "prompt_toolkit.completion",
+ "prompt_toolkit.contrib",
+ "prompt_toolkit.contrib.completers",
+ "prompt_toolkit.contrib.regular_languages",
+ "prompt_toolkit.contrib.telnet",
+ "prompt_toolkit.key_binding",
+ "prompt_toolkit.key_binding.bindings",
+ "prompt_toolkit.styles",
+ "prompt_toolkit.shortcuts",
+ "prompt_toolkit.shortcuts.progress_bar",
+ "prompt_toolkit.formatted_text",
+ "prompt_toolkit.eventloop",
+ "prompt_toolkit.application",
+ "prompt_toolkit.widgets",
+ "prompt_toolkit.clipboard",
]
- version('3.0.29', sha256='bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7')
- version('3.0.24', sha256='1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6')
- version('3.0.17', sha256='9397a7162cf45449147ad6042fa37983a081b8a73363a5253dd4072666333137')
- version('3.0.16', sha256='0fa02fa80363844a4ab4b8d6891f62dd0645ba672723130423ca4037b80c1974')
- version('3.0.7', sha256='822f4605f28f7d2ba6b0b09a31e25e140871e96364d1d377667b547bb3bf4489')
- version('2.0.10', sha256='f15af68f66e664eaa559d4ac8a928111eebd5feda0c11738b5998045224829db')
- version('2.0.9', sha256='2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1')
- version('1.0.16', sha256='c1cedd626e08b8ee830ee65897de754113ff3f3035880030c08b01674d85c5b4')
- version('1.0.9', sha256='cd6523b36adc174cc10d54b1193eb626b4268609ff6ea92c15bcf1996609599c')
+ version("3.0.29", sha256="bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7")
+ version("3.0.24", sha256="1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6")
+ version("3.0.17", sha256="9397a7162cf45449147ad6042fa37983a081b8a73363a5253dd4072666333137")
+ version("3.0.16", sha256="0fa02fa80363844a4ab4b8d6891f62dd0645ba672723130423ca4037b80c1974")
+ version("3.0.7", sha256="822f4605f28f7d2ba6b0b09a31e25e140871e96364d1d377667b547bb3bf4489")
+ version("2.0.10", sha256="f15af68f66e664eaa559d4ac8a928111eebd5feda0c11738b5998045224829db")
+ version("2.0.9", sha256="2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1")
+ version("1.0.16", sha256="c1cedd626e08b8ee830ee65897de754113ff3f3035880030c08b01674d85c5b4")
+ version("1.0.9", sha256="cd6523b36adc174cc10d54b1193eb626b4268609ff6ea92c15bcf1996609599c")
- depends_on('python@3.6.2:', when='@3.0.24:', type=('build', 'run'))
- depends_on('python@3.6.1:', when='@3:3.0.17', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', when='@:2', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', when='@:2', type=('build', 'run'))
- depends_on('py-wcwidth', type=('build', 'run'))
+ depends_on("python@3.6.2:", when="@3.0.24:", type=("build", "run"))
+ depends_on("python@3.6.1:", when="@3:3.0.17", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", when="@:2", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", when="@:2", type=("build", "run"))
+ depends_on("py-wcwidth", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py
index f774af9f4b..dd953af7d0 100644
--- a/var/spack/repos/builtin/packages/py-protobuf/package.py
+++ b/var/spack/repos/builtin/packages/py-protobuf/package.py
@@ -14,81 +14,83 @@ class PyProtobuf(PythonPackage):
write and read your structured data to and from a variety of data streams
and using a variety of languages."""
- homepage = 'https://developers.google.com/protocol-buffers/'
- pypi = 'protobuf/protobuf-3.11.0.tar.gz'
+ homepage = "https://developers.google.com/protocol-buffers/"
+ pypi = "protobuf/protobuf-3.11.0.tar.gz"
- variant('cpp', default=False,
- description='Enable the cpp implementation')
+ variant("cpp", default=False, description="Enable the cpp implementation")
- version('3.20.1', sha256='adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9')
- version('3.20.0', sha256='71b2c3d1cd26ed1ec7c8196834143258b2ad7f444efff26fdc366c6f5e752702')
- version('3.19.4', sha256='9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a')
- version('3.19.3', sha256='d975a6314fbf5c524d4981e24294739216b5fb81ef3c14b86fb4b045d6690907')
- version('3.19.2', sha256='392f928e57054520276fdad412e045910268224b9446c218702e577d26eaf557')
- version('3.19.1', sha256='62a8e4baa9cb9e064eb62d1002eca820857ab2138440cb4b3ea4243830f94ca7')
- version('3.19.0', sha256='6a1dc6584d24ef86f5b104bcad64fa0fe06ed36e5687f426e0445d363a041d18')
- version('3.18.1', sha256='1c9bb40503751087300dd12ce2e90899d68628977905c76effc48e66d089391e')
- 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')
- version('3.15.1', sha256='824dbae3390fcc3ea1bf96748e6da951a601802894cf7e1465e72b4732538cab')
- version('3.12.2', sha256='49ef8ab4c27812a89a76fa894fe7a08f42f2147078392c0dee51d4a444ef6df5')
- version('3.11.2', sha256='3d7a7d8d20b4e7a8f63f62de2d192cfd8b7a53c56caba7ece95367ca2b80c574')
- version('3.11.1', sha256='aecdf12ef6dc7fd91713a6da93a86c2f2a8fe54840a3b1670853a2b7402e77c9')
- version('3.11.0', sha256='97b08853b9bb71512ed52381f05cf2d4179f4234825b505d8f8d2bb9d9429939')
- version('3.10.0', sha256='db83b5c12c0cd30150bb568e6feb2435c49ce4e68fe2d7b903113f0e221e58fe')
- version('3.9.2', sha256='843f498e98ad1469ad54ecb4a7ccf48605a1c5d2bd26ae799c7a2cddab4a37ec')
- version('3.9.1', sha256='d831b047bd69becaf64019a47179eb22118a50dd008340655266a906c69c6417')
- version('3.7.1', sha256='21e395d7959551e759d604940a115c51c6347d90a475c9baf471a1a86b5604a9')
- version('3.6.1', sha256='1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811')
- version('3.6.0', sha256='a37836aa47d1b81c2db1a6b7a5e79926062b5d76bd962115a0e615551be2b48d')
- version('3.5.2', sha256='09879a295fd7234e523b62066223b128c5a8a88f682e3aff62fb115e4a0d8be0')
- version('3.5.1', sha256='95b78959572de7d7fafa3acb718ed71f482932ddddddbd29ba8319c10639d863')
- 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',
- deprecated=True)
- version('3.0.0', sha256='ecc40bc30f1183b418fe0ec0c90bc3b53fa1707c4205ee278c6b90479e5b6ff5')
- version('3.0.0b2', sha256='d5b560bbc4b7d97cc2455c05cad9299d9db02d7bd11193b05684e3a86303c229')
- version('3.0.0a3', sha256='b61622de5048415bfd3f2d812ad64606438ac9e25009ae84191405fe58e522c1')
- version('2.6.1', sha256='8faca1fb462ee1be58d00f5efb4ca4f64bde92187fe61fde32615bbee7b3e745')
- version('2.5.0', sha256='58292c459598c9297258bf57acc055f701c727f0154a86af8c0947dde37d8172')
- version('2.4.1', sha256='df30b98acb6ef892da8b4776175510cff2131908fd0526b6bad960c55a830a1b')
- version('2.3.0', sha256='374bb047874a506507912c3717d0ce62affbaa9a22bcb494d63d60326a0867b5')
+ version("3.20.1", sha256="adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9")
+ version("3.20.0", sha256="71b2c3d1cd26ed1ec7c8196834143258b2ad7f444efff26fdc366c6f5e752702")
+ version("3.19.4", sha256="9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a")
+ version("3.19.3", sha256="d975a6314fbf5c524d4981e24294739216b5fb81ef3c14b86fb4b045d6690907")
+ version("3.19.2", sha256="392f928e57054520276fdad412e045910268224b9446c218702e577d26eaf557")
+ version("3.19.1", sha256="62a8e4baa9cb9e064eb62d1002eca820857ab2138440cb4b3ea4243830f94ca7")
+ version("3.19.0", sha256="6a1dc6584d24ef86f5b104bcad64fa0fe06ed36e5687f426e0445d363a041d18")
+ version("3.18.1", sha256="1c9bb40503751087300dd12ce2e90899d68628977905c76effc48e66d089391e")
+ 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")
+ version("3.15.1", sha256="824dbae3390fcc3ea1bf96748e6da951a601802894cf7e1465e72b4732538cab")
+ version("3.12.2", sha256="49ef8ab4c27812a89a76fa894fe7a08f42f2147078392c0dee51d4a444ef6df5")
+ version("3.11.2", sha256="3d7a7d8d20b4e7a8f63f62de2d192cfd8b7a53c56caba7ece95367ca2b80c574")
+ version("3.11.1", sha256="aecdf12ef6dc7fd91713a6da93a86c2f2a8fe54840a3b1670853a2b7402e77c9")
+ version("3.11.0", sha256="97b08853b9bb71512ed52381f05cf2d4179f4234825b505d8f8d2bb9d9429939")
+ version("3.10.0", sha256="db83b5c12c0cd30150bb568e6feb2435c49ce4e68fe2d7b903113f0e221e58fe")
+ version("3.9.2", sha256="843f498e98ad1469ad54ecb4a7ccf48605a1c5d2bd26ae799c7a2cddab4a37ec")
+ version("3.9.1", sha256="d831b047bd69becaf64019a47179eb22118a50dd008340655266a906c69c6417")
+ version("3.7.1", sha256="21e395d7959551e759d604940a115c51c6347d90a475c9baf471a1a86b5604a9")
+ version("3.6.1", sha256="1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811")
+ version("3.6.0", sha256="a37836aa47d1b81c2db1a6b7a5e79926062b5d76bd962115a0e615551be2b48d")
+ version("3.5.2", sha256="09879a295fd7234e523b62066223b128c5a8a88f682e3aff62fb115e4a0d8be0")
+ version("3.5.1", sha256="95b78959572de7d7fafa3acb718ed71f482932ddddddbd29ba8319c10639d863")
+ 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",
+ deprecated=True,
+ )
+ version("3.0.0", sha256="ecc40bc30f1183b418fe0ec0c90bc3b53fa1707c4205ee278c6b90479e5b6ff5")
+ version("3.0.0b2", sha256="d5b560bbc4b7d97cc2455c05cad9299d9db02d7bd11193b05684e3a86303c229")
+ version("3.0.0a3", sha256="b61622de5048415bfd3f2d812ad64606438ac9e25009ae84191405fe58e522c1")
+ version("2.6.1", sha256="8faca1fb462ee1be58d00f5efb4ca4f64bde92187fe61fde32615bbee7b3e745")
+ version("2.5.0", sha256="58292c459598c9297258bf57acc055f701c727f0154a86af8c0947dde37d8172")
+ version("2.4.1", sha256="df30b98acb6ef892da8b4776175510cff2131908fd0526b6bad960c55a830a1b")
+ version("2.3.0", sha256="374bb047874a506507912c3717d0ce62affbaa9a22bcb494d63d60326a0867b5")
- depends_on('python@3.5:', when='@3.18:', type=('build', 'run'))
- depends_on('python@3.7:', when='@3.20:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six@1.9:', when='@3:', type=('build', 'run'))
- depends_on('py-ordereddict', when='@3: ^python@:2', type=('build', 'run'))
- depends_on('py-unittest2', when='@3: ^python@:2', type=('build', 'run'))
- depends_on('protobuf', when='+cpp')
+ depends_on("python@3.5:", when="@3.18:", type=("build", "run"))
+ depends_on("python@3.7:", when="@3.20:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.9:", when="@3:", type=("build", "run"))
+ depends_on("py-ordereddict", when="@3: ^python@:2", type=("build", "run"))
+ depends_on("py-unittest2", when="@3: ^python@:2", type=("build", "run"))
+ depends_on("protobuf", when="+cpp")
@property
def build_directory(self):
- if self.spec.satisfies('@3.1.0'):
- return 'python'
+ if self.spec.satisfies("@3.1.0"):
+ return "python"
else:
- return '.'
+ return "."
- @when('+cpp')
+ @when("+cpp")
def setup_build_environment(self, env):
- protobuf_dir = self.spec['protobuf'].libs.directories[0]
- env.prepend_path('LIBRARY_PATH', protobuf_dir)
+ protobuf_dir = self.spec["protobuf"].libs.directories[0]
+ env.prepend_path("LIBRARY_PATH", protobuf_dir)
- @when('+cpp')
+ @when("+cpp")
def install_options(self, spec, prefix):
- return ['--cpp_implementation']
+ return ["--cpp_implementation"]
- @run_after('install')
+ @run_after("install")
def fix_import_error(self):
- if str(self.spec['python'].version.up_to(1)) == '2':
- touch = which('touch')
- touch(join_path(python_platlib, 'google', '__init__.py'))
+ if str(self.spec["python"].version.up_to(1)) == "2":
+ touch = which("touch")
+ touch(join_path(python_platlib, "google", "__init__.py"))
diff --git a/var/spack/repos/builtin/packages/py-prov/package.py b/var/spack/repos/builtin/packages/py-prov/package.py
index 46e1b08d48..11d46cf59e 100644
--- a/var/spack/repos/builtin/packages/py-prov/package.py
+++ b/var/spack/repos/builtin/packages/py-prov/package.py
@@ -14,18 +14,18 @@ class PyProv(PythonPackage):
"""
homepage = "prov.readthedocs.io/"
- pypi = "prov/prov-2.0.0.tar.gz"
+ pypi = "prov/prov-2.0.0.tar.gz"
- version('2.0.0', sha256='b6438f2195ecb9f6e8279b58971e02bc51814599b5d5383366eef91d867422ee')
+ version("2.0.0", sha256="b6438f2195ecb9f6e8279b58971e02bc51814599b5d5383366eef91d867422ee")
- variant('dot', default=False, description='Graphical visualisation support for prov.model')
+ variant("dot", default=False, description="Graphical visualisation support for prov.model")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-lxml@3.3.5:', type=('build', 'run'))
- depends_on('py-networkx@2.0:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.2:', type=('build', 'run'))
- depends_on('py-rdflib@4.2.1:', type=('build', 'run'))
- depends_on('py-pydot@1.2.0:', when='+dot', type=('build', 'run'))
- depends_on('graphviz', when='+dot', type=('build', 'run'))
+ depends_on("py-lxml@3.3.5:", type=("build", "run"))
+ depends_on("py-networkx@2.0:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.2:", type=("build", "run"))
+ depends_on("py-rdflib@4.2.1:", type=("build", "run"))
+ depends_on("py-pydot@1.2.0:", when="+dot", type=("build", "run"))
+ depends_on("graphviz", when="+dot", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-prwlock/package.py b/var/spack/repos/builtin/packages/py-prwlock/package.py
index b365917561..b2c182e62e 100644
--- a/var/spack/repos/builtin/packages/py-prwlock/package.py
+++ b/var/spack/repos/builtin/packages/py-prwlock/package.py
@@ -10,8 +10,8 @@ class PyPrwlock(PythonPackage):
"""Native process-shared rwlock support for Python"""
homepage = "https://github.com/renatolfc/prwlock"
- pypi = "prwlock/prwlock-0.4.1.tar.gz"
+ pypi = "prwlock/prwlock-0.4.1.tar.gz"
- version('0.4.1', sha256='a2fa773cb877207ae5b54c7cf5d224b0215c9f7b9ef16a88d33eadc5c9e1466e')
+ version("0.4.1", sha256="a2fa773cb877207ae5b54c7cf5d224b0215c9f7b9ef16a88d33eadc5c9e1466e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pspamm/package.py b/var/spack/repos/builtin/packages/py-pspamm/package.py
index 84f04ff584..9611a456d4 100644
--- a/var/spack/repos/builtin/packages/py-pspamm/package.py
+++ b/var/spack/repos/builtin/packages/py-pspamm/package.py
@@ -13,19 +13,19 @@ class PyPspamm(PythonPackage):
homepage = "https://github.com/SeisSol/PSpaMM/blob/master/README.md"
git = "https://github.com/SeisSol/PSpaMM.git"
- maintainers = ['ravil-mobile']
+ maintainers = ["ravil-mobile"]
- version('develop', branch='master')
+ version("develop", branch="master")
- variant('numpy', default=False, description="installs numpy")
- variant('scipy', default=False, description="installs scipy")
+ variant("numpy", default=False, description="installs numpy")
+ variant("scipy", default=False, description="installs scipy")
- depends_on('py-numpy', when='+numpy')
- depends_on('py-scipy', when='+scipy')
+ depends_on("py-numpy", when="+numpy")
+ depends_on("py-scipy", when="+scipy")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix)
- env.prepend_path('PYTHONPATH', self.spec.prefix)
+ env.prepend_path("PATH", self.spec.prefix)
+ env.prepend_path("PYTHONPATH", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/py-psutil/package.py b/var/spack/repos/builtin/packages/py-psutil/package.py
index 5fb7689a43..8b40153232 100644
--- a/var/spack/repos/builtin/packages/py-psutil/package.py
+++ b/var/spack/repos/builtin/packages/py-psutil/package.py
@@ -13,13 +13,13 @@ 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')
- version('5.5.1', sha256='72cebfaa422b7978a1d3632b65ff734a34c6b34f4578b68a5c204d633756b810')
- version('5.4.5', sha256='ebe293be36bb24b95cdefc5131635496e88b17fabbcf1e4bc9b5c01f5e489cfe')
- version('5.0.1', sha256='9d8b7f8353a2b2eb6eb7271d42ec99d0d264a9338a37be46424d56b4e473b39e')
+ version("5.8.0", sha256="0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6")
+ version("5.7.2", sha256="90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb")
+ version("5.6.3", sha256="863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3")
+ version("5.6.2", sha256="828e1c3ca6756c54ac00f1427fdac8b12e21b8a068c3bb9b631a1734cada25ed")
+ version("5.5.1", sha256="72cebfaa422b7978a1d3632b65ff734a34c6b34f4578b68a5c204d633756b810")
+ version("5.4.5", sha256="ebe293be36bb24b95cdefc5131635496e88b17fabbcf1e4bc9b5c01f5e489cfe")
+ version("5.0.1", sha256="9d8b7f8353a2b2eb6eb7271d42ec99d0d264a9338a37be46424d56b4e473b39e")
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py
index a21b00566e..82530cd14e 100644
--- a/var/spack/repos/builtin/packages/py-psyclone/package.py
+++ b/var/spack/repos/builtin/packages/py-psyclone/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class PyPsyclone(PythonPackage):
"""Code generation for the PSyKAl framework from the GungHo project,
- as used by the LFRic model at the UK Met Office."""
+ as used by the LFRic model at the UK Met Office."""
homepage = "https://github.com/stfc/PSyclone"
- url = "https://github.com/stfc/PSyclone/archive/1.5.1.tar.gz"
- git = "https://github.com/stfc/PSyclone.git"
+ url = "https://github.com/stfc/PSyclone/archive/1.5.1.tar.gz"
+ git = "https://github.com/stfc/PSyclone.git"
- version('develop', branch='master')
- version('1.5.1', commit='eba7a097175b02f75dec70616cf267b7b3170d78')
+ version("develop", branch="master")
+ version("1.5.1", commit="eba7a097175b02f75dec70616cf267b7b3170d78")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing", type=("build", "run"))
# Test cases fail without compatible versions of py-fparser:
- depends_on('py-fparser@0.0.5', type=('build', 'run'), when='@1.5.1')
- depends_on('py-fparser', type=('build', 'run'), when='@1.5.2:')
+ depends_on("py-fparser@0.0.5", type=("build", "run"), when="@1.5.1")
+ depends_on("py-fparser", type=("build", "run"), when="@1.5.2:")
# Dependencies only required for tests:
- depends_on('py-numpy', type='test')
- depends_on('py-nose', type='test')
- depends_on('py-pytest', type='test')
+ depends_on("py-numpy", type="test")
+ depends_on("py-nose", type="test")
+ depends_on("py-pytest", type="test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_build(self):
# Limit py.test to search inside the build tree:
- touch('pytest.ini')
- with working_dir('src'):
- Executable('py.test')()
+ touch("pytest.ini")
+ with working_dir("src"):
+ Executable("py.test")()
def setup_build_environment(self, env):
# Allow testing with installed executables:
- env.prepend_path('PATH', self.prefix.bin)
+ env.prepend_path("PATH", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-psycopg2/package.py b/var/spack/repos/builtin/packages/py-psycopg2/package.py
index 706d54bef3..4bfeedc805 100644
--- a/var/spack/repos/builtin/packages/py-psycopg2/package.py
+++ b/var/spack/repos/builtin/packages/py-psycopg2/package.py
@@ -12,14 +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')
+ 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@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:13', type=('build', 'link', 'run'), when='@2.9:')
- depends_on('postgresql@9.1:12', type=('build', 'link', 'run'), when='@:2.8')
+ 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:13", type=("build", "link", "run"), when="@2.9:")
+ depends_on("postgresql@9.1:12", type=("build", "link", "run"), when="@:2.8")
diff --git a/var/spack/repos/builtin/packages/py-ptyprocess/package.py b/var/spack/repos/builtin/packages/py-ptyprocess/package.py
index dd92c2ce12..11427f9837 100644
--- a/var/spack/repos/builtin/packages/py-ptyprocess/package.py
+++ b/var/spack/repos/builtin/packages/py-ptyprocess/package.py
@@ -11,8 +11,8 @@ class PyPtyprocess(PythonPackage):
pypi = "ptyprocess/ptyprocess-0.5.1.tar.gz"
- version('0.7.0', sha256='5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220')
- version('0.6.0', sha256='923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0')
- version('0.5.1', sha256='0530ce63a9295bfae7bd06edc02b6aa935619f486f0f1dc0972f516265ee81a6')
+ version("0.7.0", sha256="5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220")
+ version("0.6.0", sha256="923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0")
+ version("0.5.1", sha256="0530ce63a9295bfae7bd06edc02b6aa935619f486f0f1dc0972f516265ee81a6")
- depends_on('py-flit-core@2:3', type='build')
+ depends_on("py-flit-core@2:3", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pudb/package.py b/var/spack/repos/builtin/packages/py-pudb/package.py
index 8d66d6e800..9dd482031d 100644
--- a/var/spack/repos/builtin/packages/py-pudb/package.py
+++ b/var/spack/repos/builtin/packages/py-pudb/package.py
@@ -13,11 +13,11 @@ class PyPudb(PythonPackage):
homepage = "https://mathema.tician.de/software/pudb"
pypi = "pudb/pudb-2017.1.1.tar.gz"
- version('2017.1.1', sha256='87117640902c5f602c8517d0167eb5c953a5bdede97975ba29ff17e3d570442c')
- version('2016.2', sha256='e958d7f7b1771cf297714e95054075df3b2a47455d7a740be4abbbd41289505a')
+ version("2017.1.1", sha256="87117640902c5f602c8517d0167eb5c953a5bdede97975ba29ff17e3d570442c")
+ version("2016.2", sha256="e958d7f7b1771cf297714e95054075df3b2a47455d7a740be4abbbd41289505a")
# Most Python packages only require setuptools as a build dependency.
# However, pudb requires setuptools during runtime as well.
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-urwid@1.1.1:', type=('build', 'run'))
- depends_on('py-pygments@1.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-urwid@1.1.1:", type=("build", "run"))
+ depends_on("py-pygments@1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pulp/package.py b/var/spack/repos/builtin/packages/py-pulp/package.py
index 60efba2303..d6e28ffe6f 100644
--- a/var/spack/repos/builtin/packages/py-pulp/package.py
+++ b/var/spack/repos/builtin/packages/py-pulp/package.py
@@ -14,9 +14,9 @@ class PyPulp(PythonPackage):
homepage = "https://github.com/coin-or/pulp"
pypi = "PuLP/PuLP-2.6.0.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('2.6.0', '4b4f7e1e954453e1b233720be23aea2f10ff068a835ac10c090a93d8e2eb2e8d')
+ version("2.6.0", "4b4f7e1e954453e1b233720be23aea2f10ff068a835ac10c090a93d8e2eb2e8d")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pure-eval/package.py b/var/spack/repos/builtin/packages/py-pure-eval/package.py
index 060288bac0..afb5a34b2e 100644
--- a/var/spack/repos/builtin/packages/py-pure-eval/package.py
+++ b/var/spack/repos/builtin/packages/py-pure-eval/package.py
@@ -10,12 +10,12 @@ class PyPureEval(PythonPackage):
"""Safely evaluate AST nodes without side effects."""
homepage = "https://github.com/alexmojaki/pure_eval"
- git = "https://github.com/alexmojaki/pure_eval.git"
- pypi = "pure_eval/pure_eval-0.2.2.tar.gz"
+ git = "https://github.com/alexmojaki/pure_eval.git"
+ pypi = "pure_eval/pure_eval-0.2.2.tar.gz"
- version('master', branch='master')
- version('0.2.2', sha256='2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3')
+ version("master", branch="master")
+ version("0.2.2", sha256="2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@44:', type='build')
- depends_on('py-setuptools-scm+toml@3.4.3:', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@44:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4.3:", type="build")
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 01966c8241..499f618d45 100644
--- a/var/spack/repos/builtin/packages/py-pure-sasl/package.py
+++ b/var/spack/repos/builtin/packages/py-pure-sasl/package.py
@@ -16,9 +16,9 @@ class PyPureSasl(PythonPackage):
homepage = "https://github.com/thobbs/pure-sasl"
pypi = "pure-sasl/pure-sasl-0.6.2.tar.gz"
- version('0.6.2', sha256='53c1355f5da95e2b85b2cc9a6af435518edc20c81193faa0eea65fdc835138f4')
+ version("0.6.2", sha256="53c1355f5da95e2b85b2cc9a6af435518edc20c81193faa0eea65fdc835138f4")
- variant('gssapi', default=True, description='build with kerberos/gssapi support')
+ variant("gssapi", default=True, description="build with kerberos/gssapi support")
- depends_on('py-setuptools', type='build')
- depends_on('py-kerberos@1.3.0:', type=('build', 'run'), when='+gssapi')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-kerberos@1.3.0:", type=("build", "run"), when="+gssapi")
diff --git a/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py b/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
index 2997be0c40..3c509587d1 100644
--- a/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
+++ b/var/spack/repos/builtin/packages/py-py-cpuinfo/package.py
@@ -12,8 +12,8 @@ class PyPyCpuinfo(PythonPackage):
homepage = "https://github.com/workhorsy/py-cpuinfo"
pypi = "py-cpuinfo/py-cpuinfo-0.2.3.tar.gz"
- version('8.0.0', sha256='5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5')
- version('6.0.0', sha256='7ffb31dea845b9f359b99bd5f7eea72dc70f852e0e34547d261a630f2b8c9c61')
- version('0.2.3', sha256='f6a016fdbc4e7fadf2d519090fcb4fa9d0831bad4e85245d938e5c2fe7623ca6')
+ version("8.0.0", sha256="5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5")
+ version("6.0.0", sha256="7ffb31dea845b9f359b99bd5f7eea72dc70f852e0e34547d261a630f2b8c9c61")
+ version("0.2.3", sha256="f6a016fdbc4e7fadf2d519090fcb4fa9d0831bad4e85245d938e5c2fe7623ca6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 1b5e472550..1e98f50b2f 100644
--- a/var/spack/repos/builtin/packages/py-py-spy/package.py
+++ b/var/spack/repos/builtin/packages/py-py-spy/package.py
@@ -10,18 +10,18 @@ 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.8.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')
+ version("0.3.8", sha256="9dbfd0ea79ef31a2966891e86cf6238ed3831938cf562e71848e07b7009cf57d")
+ version("0.3.3", sha256="41454d3d9132da45c72f7574faaff65f40c757720293a277ffa5ec5a4b44f902")
# 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')
- depends_on('libunwind components=ptrace', when='^libunwind')
+ depends_on("rust", type="build")
+ depends_on("unwind")
+ depends_on("libunwind components=ptrace", when="^libunwind")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/py-py/package.py b/var/spack/repos/builtin/packages/py-py/package.py
index 117e6a9aae..ed190690c4 100644
--- a/var/spack/repos/builtin/packages/py-py/package.py
+++ b/var/spack/repos/builtin/packages/py-py/package.py
@@ -12,18 +12,18 @@ class PyPy(PythonPackage):
homepage = "https://py.readthedocs.io/en/latest/"
pypi = "py/py-1.8.0.tar.gz"
- version('1.11.0', sha256='51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719')
- version('1.9.0', sha256='9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342')
- version('1.8.2', sha256='f3b3a4c36512a4c4f024041ab51866f11761cc169670204b235f6b20523d4e6b')
- version('1.8.0', sha256='dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53')
- version('1.5.4', sha256='3fd59af7435864e1a243790d322d763925431213b6b8529c6ca71081ace3bbf7')
- version('1.5.3', sha256='29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881')
- version('1.4.33', sha256='1f9a981438f2acc20470b301a07a496375641f902320f70e31916fe3377385a9')
- version('1.4.31', sha256='a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114')
+ version("1.11.0", sha256="51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719")
+ version("1.9.0", sha256="9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342")
+ version("1.8.2", sha256="f3b3a4c36512a4c4f024041ab51866f11761cc169670204b235f6b20523d4e6b")
+ version("1.8.0", sha256="dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53")
+ version("1.5.4", sha256="3fd59af7435864e1a243790d322d763925431213b6b8529c6ca71081ace3bbf7")
+ version("1.5.3", sha256="29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881")
+ version("1.4.33", sha256="1f9a981438f2acc20470b301a07a496375641f902320f70e31916fe3377385a9")
+ version("1.4.31", sha256="a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@1.11.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@1.11.0:")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-setuptools-scm+toml', type='build', when='@1.11.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-setuptools-scm+toml", type="build", when="@1.11.0:")
diff --git a/var/spack/repos/builtin/packages/py-py2bit/package.py b/var/spack/repos/builtin/packages/py-py2bit/package.py
index e6b9a9b8c8..c694ddc7a0 100644
--- a/var/spack/repos/builtin/packages/py-py2bit/package.py
+++ b/var/spack/repos/builtin/packages/py-py2bit/package.py
@@ -11,6 +11,6 @@ class PyPy2bit(PythonPackage):
pypi = "py2bit/py2bit-0.2.1.tar.gz"
- version('0.2.1', sha256='34f7ac22be0eb4b5493063826bcc2016a78eb216bb7130890b50f3572926aeb1')
+ version("0.2.1", sha256="34f7ac22be0eb4b5493063826bcc2016a78eb216bb7130890b50f3572926aeb1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-py2cairo/package.py b/var/spack/repos/builtin/packages/py-py2cairo/package.py
index a73c6d7c2f..50f05bfdc7 100644
--- a/var/spack/repos/builtin/packages/py-py2cairo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2cairo/package.py
@@ -10,22 +10,22 @@ class PyPy2cairo(WafPackage):
"""Pycairo is a set of Python bindings for the cairo graphics library."""
homepage = "https://www.cairographics.org/pycairo/"
- url = "https://cairographics.org/releases/py2cairo-1.10.0.tar.bz2"
+ url = "https://cairographics.org/releases/py2cairo-1.10.0.tar.bz2"
- version('1.10.0', sha256='d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431')
+ version("1.10.0", sha256="d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431")
- extends('python')
+ extends("python")
- depends_on('python', type=('build', 'run'))
- depends_on('cairo@1.10.0:')
- depends_on('pixman')
- depends_on('pkgconfig', type='build')
+ depends_on("python", type=("build", "run"))
+ depends_on("cairo@1.10.0:")
+ depends_on("pixman")
+ depends_on("pkgconfig", type="build")
- depends_on('py-pytest', type='test')
+ depends_on("py-pytest", type="test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('test'):
- pytest = which('py.test')
+ with working_dir("test"):
+ pytest = which("py.test")
pytest()
diff --git a/var/spack/repos/builtin/packages/py-py2neo/package.py b/var/spack/repos/builtin/packages/py-py2neo/package.py
index 45d5af6ff0..b144039d7d 100644
--- a/var/spack/repos/builtin/packages/py-py2neo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2neo/package.py
@@ -13,20 +13,20 @@ class PyPy2neo(PythonPackage):
homepage = "https://py2neo.org/"
pypi = "py2neo/py2neo-2.0.8.tar.gz"
- version('4.3.0', sha256='a218ccb4b636e3850faa6b74ebad80f00600217172a57f745cf223d38a219222')
- version('2.0.8', sha256='06167f5a91a0d9b9b73431baacd876f2d507650a681fdce1fcf3b383a9b991c1')
- version('2.0.7', sha256='9b154053eb93c7f5fb3ebd48b6a5b99df450d3f2e9c6682153c6f8d59369378c')
- version('2.0.6', sha256='6bb828d6d3e48b4d095b3f7d79dbb690a47633f0a9812eb62f141b042bab3186')
- version('2.0.5', sha256='2c04d4223d2d356c4800c586f30c048757334f9391553c852c29aebf2368d101')
- version('2.0.4', sha256='727726b87268ca1e929191b960a5473409e5bd81559ee83a304951104bb6b866')
+ version("4.3.0", sha256="a218ccb4b636e3850faa6b74ebad80f00600217172a57f745cf223d38a219222")
+ version("2.0.8", sha256="06167f5a91a0d9b9b73431baacd876f2d507650a681fdce1fcf3b383a9b991c1")
+ version("2.0.7", sha256="9b154053eb93c7f5fb3ebd48b6a5b99df450d3f2e9c6682153c6f8d59369378c")
+ version("2.0.6", sha256="6bb828d6d3e48b4d095b3f7d79dbb690a47633f0a9812eb62f141b042bab3186")
+ version("2.0.5", sha256="2c04d4223d2d356c4800c586f30c048757334f9391553c852c29aebf2368d101")
+ version("2.0.4", sha256="727726b87268ca1e929191b960a5473409e5bd81559ee83a304951104bb6b866")
- depends_on("py-setuptools", type='build')
- depends_on("py-certifi", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-click@7.0", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-colorama", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-neobolt@1.7.12:1.7", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-neotime@1.7.4:1.7", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-prompt-toolkit@2.0.7:2.0", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-pygments@2.3.1:2.3", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-pytz", type=('build', 'run'), when='@4.3.0:')
- depends_on("py-urllib3@1.23:1.24", type=('build', 'run'), when='@4.3.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-click@7.0", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-colorama", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-neobolt@1.7.12:1.7", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-neotime@1.7.4:1.7", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-prompt-toolkit@2.0.7:2.0", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-pygments@2.3.1:2.3", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-pytz", type=("build", "run"), when="@4.3.0:")
+ depends_on("py-urllib3@1.23:1.24", type=("build", "run"), when="@4.3.0:")
diff --git a/var/spack/repos/builtin/packages/py-py4j/package.py b/var/spack/repos/builtin/packages/py-py4j/package.py
index eef4648458..666e2df6e9 100644
--- a/var/spack/repos/builtin/packages/py-py4j/package.py
+++ b/var/spack/repos/builtin/packages/py-py4j/package.py
@@ -13,12 +13,14 @@ class PyPy4j(PythonPackage):
homepage = "https://www.py4j.org/"
pypi = "py4j/py4j-0.10.4.zip"
- version('0.10.9',
- url='https://files.pythonhosted.org/packages/10/ed/9dad8808c34bc5b0b1a44b13c0bddeea0c8df59956eb20ac2fecc373f322/py4j-0.10.9.tar.gz',
- sha256='36ec57f43ff8ced260a18aa9a4e46c3500a730cac8860e259cbaa546c2b9db2f')
- version('0.10.7', sha256='721189616b3a7d28212dfb2e7c6a1dd5147b03105f1fc37ff2432acd0e863fa5')
- version('0.10.6', sha256='d3e7ac7c2171c290eba87e70aa5095b7eb6d6ad34789c007c88d550d9f575083')
- version('0.10.4', sha256='406fbfdbcbbb398739f61fafd25724670a405a668eb08c1721d832eadce06aae')
- version('0.10.3', sha256='f4570108ad014dd52a65c2288418e31cb8227b5ecc39ad7fc7fe98314f7a26f2')
+ version(
+ "0.10.9",
+ url="https://files.pythonhosted.org/packages/10/ed/9dad8808c34bc5b0b1a44b13c0bddeea0c8df59956eb20ac2fecc373f322/py4j-0.10.9.tar.gz",
+ sha256="36ec57f43ff8ced260a18aa9a4e46c3500a730cac8860e259cbaa546c2b9db2f",
+ )
+ version("0.10.7", sha256="721189616b3a7d28212dfb2e7c6a1dd5147b03105f1fc37ff2432acd0e863fa5")
+ version("0.10.6", sha256="d3e7ac7c2171c290eba87e70aa5095b7eb6d6ad34789c007c88d550d9f575083")
+ version("0.10.4", sha256="406fbfdbcbbb398739f61fafd25724670a405a668eb08c1721d832eadce06aae")
+ version("0.10.3", sha256="f4570108ad014dd52a65c2288418e31cb8227b5ecc39ad7fc7fe98314f7a26f2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-py6s/package.py b/var/spack/repos/builtin/packages/py-py6s/package.py
index 285cd2925e..d15e57eb0b 100644
--- a/var/spack/repos/builtin/packages/py-py6s/package.py
+++ b/var/spack/repos/builtin/packages/py-py6s/package.py
@@ -16,10 +16,10 @@ class PyPy6s(PythonPackage):
homepage = "https://py6s.rtwilson.com/"
pypi = "py6s/Py6S-1.8.0.tar.gz"
- version('1.8.0', sha256='256162d2f1f558e601d4f79022c037a0051838ba307b9f4d1f5fcf0b46a0c277')
+ version("1.8.0", sha256="256162d2f1f558e601d4f79022c037a0051838ba307b9f4d1f5fcf0b46a0c277")
- depends_on('python@3:', type=('build', 'run'), when='@1.8.0')
- depends_on('py-setuptools', type='build')
- depends_on('py-pysolar@0.6', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"), when="@1.8.0")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pysolar@0.6", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyaestro/package.py b/var/spack/repos/builtin/packages/py-pyaestro/package.py
index c8ae2ff20b..f2fa1240ec 100644
--- a/var/spack/repos/builtin/packages/py-pyaestro/package.py
+++ b/var/spack/repos/builtin/packages/py-pyaestro/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class PyPyaestro(PythonPackage):
"""A collection of data classes, data structures, and other utility classes
- that are aimed for use in workflow """
+ that are aimed for use in workflow"""
homepage = "https://github.com/FrankD412/pyaestro"
pypi = "pyaestro/pyaestro-0.0.1a2.tar.gz"
- git = "https://github.com/FrankD412/pyaestro"
+ git = "https://github.com/FrankD412/pyaestro"
- maintainers = ['FrankD412']
+ maintainers = ["FrankD412"]
# git branches
- version('main', branch='main')
- version('0.0.1a2', sha256='1f6a5068ff8dd9fe4838aba43850e51a5b622f379819ae62103617bf9c8aaa31')
+ version("main", branch="main")
+ version("0.0.1a2", sha256="1f6a5068ff8dd9fe4838aba43850e51a5b622f379819ae62103617bf9c8aaa31")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-coloredlogs', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-coloredlogs", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyamg/package.py b/var/spack/repos/builtin/packages/py-pyamg/package.py
index caf21fc565..7b4b20c254 100644
--- a/var/spack/repos/builtin/packages/py-pyamg/package.py
+++ b/var/spack/repos/builtin/packages/py-pyamg/package.py
@@ -11,12 +11,12 @@ class PyPyamg(PythonPackage):
a convenient Python interface."""
homepage = "https://github.com/pyamg/pyamg"
- url = "https://github.com/pyamg/pyamg/archive/v4.0.0.zip"
+ url = "https://github.com/pyamg/pyamg/archive/v4.0.0.zip"
# A list of GitHub accounts to notify when the package is updated.
- maintainers = ['benc303']
+ maintainers = ["benc303"]
- version('4.0.0', sha256="015d5e706e6e54d3de82e05fdb173c30d8b27cb8a117ab584cd62ad41d9ea042")
+ version("4.0.0", sha256="015d5e706e6e54d3de82e05fdb173c30d8b27cb8a117ab584cd62ad41d9ea042")
# Dependencies. A generic python dependency is added implicity by the
# PythonPackage class.
diff --git a/var/spack/repos/builtin/packages/py-pyaml/package.py b/var/spack/repos/builtin/packages/py-pyaml/package.py
index 6865404eff..d9b305ba00 100644
--- a/var/spack/repos/builtin/packages/py-pyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyaml/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyPyaml(PythonPackage):
"""PyYAML-based python module to produce pretty and readable
- YAML-serialized data."""
+ YAML-serialized data."""
- maintainers = ['Kerilk', 'liuyangzhuan']
+ maintainers = ["Kerilk", "liuyangzhuan"]
homepage = "https://github.com/mk-fg/pretty-yaml"
- pypi = "pyaml/pyaml-21.8.3.tar.gz"
+ pypi = "pyaml/pyaml-21.8.3.tar.gz"
- version('21.8.3', sha256='a1636d63c476328a07213d0b7111bb63570f1ab8a3eddf60522630250c23d975')
+ version("21.8.3", sha256="a1636d63c476328a07213d0b7111bb63570f1ab8a3eddf60522630250c23d975")
- depends_on('python@2.7:2,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("python@2.7:2,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyani/package.py b/var/spack/repos/builtin/packages/py-pyani/package.py
index 2e7b1aabfb..89f7f0e6ff 100644
--- a/var/spack/repos/builtin/packages/py-pyani/package.py
+++ b/var/spack/repos/builtin/packages/py-pyani/package.py
@@ -16,21 +16,21 @@ class PyPyani(PythonPackage):
homepage = "https://widdowquinn.github.io/pyani"
pypi = "pyani/pyani-0.2.7.tar.gz"
- version('0.2.7', sha256='dbc6c71c46fbbfeced3f8237b84474221268b51170caf044bec8559987a7deb9')
- version('0.2.6', sha256='e9d899bccfefaabe7bfa17d48eef9c713d321d2d15465f7328c8984807c3dd8d')
+ version("0.2.7", sha256="dbc6c71c46fbbfeced3f8237b84474221268b51170caf044bec8559987a7deb9")
+ version("0.2.6", sha256="e9d899bccfefaabe7bfa17d48eef9c713d321d2d15465f7328c8984807c3dd8d")
- depends_on('python@3.5:')
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
+ depends_on("python@3.5:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
# Required for ANI analysis
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
# Required for ANIb analysis
- depends_on('blast-plus~python', type='run')
+ depends_on("blast-plus~python", type="run")
# Required for ANIm analysis
- depends_on('mummer', type='run')
+ depends_on("mummer", type="run")
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py
index 5c7da47381..30ff540ac9 100644
--- a/var/spack/repos/builtin/packages/py-pyarrow/package.py
+++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py
@@ -13,55 +13,63 @@ class PyPyarrow(PythonPackage, CudaPackage):
"""
homepage = "https://arrow.apache.org"
- pypi = 'pyarrow/pyarrow-0.17.1.tar.gz'
+ pypi = "pyarrow/pyarrow-0.17.1.tar.gz"
- version('8.0.0', sha256='4a18a211ed888f1ac0b0ebcb99e2d9a3e913a481120ee9b1fe33d3fedb945d4e')
- version('7.0.0', sha256='da656cad3c23a2ebb6a307ab01d35fce22f7850059cffafcb90d12590f8f4f38')
- 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')
- version('0.11.0', sha256='07a6fd71c5d7440f2c42383dd2c5daa12d7f0a012f1e88288ed08a247032aead')
- version('0.9.0', sha256='7db8ce2f0eff5a00d6da918ce9f9cfec265e13f8a119b4adb1595e5b19fd6242')
+ version("8.0.0", sha256="4a18a211ed888f1ac0b0ebcb99e2d9a3e913a481120ee9b1fe33d3fedb945d4e")
+ version("7.0.0", sha256="da656cad3c23a2ebb6a307ab01d35fce22f7850059cffafcb90d12590f8f4f38")
+ 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")
+ version("0.11.0", sha256="07a6fd71c5d7440f2c42383dd2c5daa12d7f0a012f1e88288ed08a247032aead")
+ version("0.9.0", sha256="7db8ce2f0eff5a00d6da918ce9f9cfec265e13f8a119b4adb1595e5b19fd6242")
- variant('parquet', default=False, description="Build with Parquet support")
- variant('orc', default=False, description='Build with orc support')
+ variant("parquet", default=False, description="Build with Parquet support")
+ variant("orc", default=False, description="Build with orc support")
- 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('python@3.7:', type=('build', 'run'), when='@7.0.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@38.6.0:', type='build', when='@7.0.0:')
- 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-cython@0.29.22:', type='build', when='@8.0.0:')
- depends_on('py-numpy@1.14:', 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')
- depends_on('py-enum34@1.1.6:', type=('build', 'run'), when='@0.15.0:^python@:3.3')
+ 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("python@3.7:", type=("build", "run"), when="@7.0.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@38.6.0:", type="build", when="@7.0.0:")
+ 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-cython@0.29.22:", type="build", when="@8.0.0:")
+ depends_on("py-numpy@1.14:", 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")
+ depends_on("py-enum34@1.1.6:", type=("build", "run"), when="@0.15.0:^python@:3.3")
- arrow_versions = ('@0.9.0', '@0.11.0', '@0.12.1', '@0.15.1',
- '@0.17.1', '@3.0.0', '@4.0.1', '@7.0.0',
- '@8.0.0')
+ arrow_versions = (
+ "@0.9.0",
+ "@0.11.0",
+ "@0.12.1",
+ "@0.15.1",
+ "@0.17.1",
+ "@3.0.0",
+ "@4.0.1",
+ "@7.0.0",
+ "@8.0.0",
+ )
for v in arrow_versions:
- depends_on('arrow+python' + v, when=v)
- depends_on('arrow+parquet+python' + v, when='+parquet' + v)
- depends_on('arrow+cuda' + v, when='+cuda' + v)
- depends_on('arrow+orc' + v, when='+orc' + v)
+ depends_on("arrow+python" + v, when=v)
+ depends_on("arrow+parquet+python" + v, when="+parquet" + v)
+ depends_on("arrow+cuda" + v, when="+cuda" + v)
+ depends_on("arrow+orc" + v, when="+orc" + v)
- patch('for_aarch64.patch', when='@0 target=aarch64:')
+ patch("for_aarch64.patch", when="@0 target=aarch64:")
def install_options(self, spec, prefix):
args = []
- if spec.satisfies('+parquet'):
- args.append('--with-parquet')
- if spec.satisfies('+cuda'):
- args.append('--with-cuda')
- if spec.satisfies('+orc'):
- args.append('--with-orc')
+ if spec.satisfies("+parquet"):
+ args.append("--with-parquet")
+ if spec.satisfies("+cuda"):
+ args.append("--with-cuda")
+ if spec.satisfies("+orc"):
+ args.append("--with-orc")
return args
diff --git a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
index 555917726f..4c2b2e766a 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
@@ -14,11 +14,11 @@ class PyPyasn1Modules(PythonPackage):
homepage = "https://github.com/etingof/pyasn1-modules"
pypi = "pyasn1-modules/pyasn1-modules-0.2.6.tar.gz"
- version('0.2.8', sha256='905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e')
- version('0.2.6', sha256='43c17a83c155229839cc5c6b868e8d0c6041dba149789b6d6e28801c64821722')
- version('0.2.5', sha256='ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96')
+ version("0.2.8", sha256="905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e")
+ version("0.2.6", sha256="43c17a83c155229839cc5c6b868e8d0c6041dba149789b6d6e28801c64821722")
+ version("0.2.5", sha256="ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96")
- depends_on('python@2.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyasn1@0.4.6:0.4', type=('build', 'run'), when='@0.2.6:')
- depends_on('py-pyasn1@0.4.1:0.4', type=('build', 'run'), when='@0.2.5')
+ depends_on("python@2.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyasn1@0.4.6:0.4", type=("build", "run"), when="@0.2.6:")
+ depends_on("py-pyasn1@0.4.1:0.4", type=("build", "run"), when="@0.2.5")
diff --git a/var/spack/repos/builtin/packages/py-pyasn1/package.py b/var/spack/repos/builtin/packages/py-pyasn1/package.py
index e29bb0233b..86dbf18906 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1/package.py
@@ -13,10 +13,10 @@ class PyPyasn1(PythonPackage):
homepage = "https://github.com/etingof/pyasn1"
pypi = "pyasn1/pyasn1-0.4.6.tar.gz"
- version('0.4.8', sha256='aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba')
- version('0.4.6', sha256='b773d5c9196ffbc3a1e13bdf909d446cad80a039aa3340bcad72f395b76ebc86')
- version('0.4.5', sha256='da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7')
- version('0.2.3', sha256='738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad')
+ version("0.4.8", sha256="aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba")
+ version("0.4.6", sha256="b773d5c9196ffbc3a1e13bdf909d446cad80a039aa3340bcad72f395b76ebc86")
+ version("0.4.5", sha256="da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7")
+ version("0.2.3", sha256="738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad")
- depends_on('python@2.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyautogui/package.py b/var/spack/repos/builtin/packages/py-pyautogui/package.py
index c8c7cd0052..d1717cf7a3 100644
--- a/var/spack/repos/builtin/packages/py-pyautogui/package.py
+++ b/var/spack/repos/builtin/packages/py-pyautogui/package.py
@@ -12,21 +12,21 @@ class PyPyautogui(PythonPackage):
applications."""
homepage = "https://pyautogui.readthedocs.io/en/latest/"
- pypi = "PyAutoGUI/PyAutoGUI-0.9.52.tar.gz"
+ pypi = "PyAutoGUI/PyAutoGUI-0.9.52.tar.gz"
- version('0.9.52', sha256='a486cb6b818bcbcdf98b48d010c7cee964134fa394b756e8ce6e50d43b58ecc8')
+ version("0.9.52", sha256="a486cb6b818bcbcdf98b48d010c7cee964134fa394b756e8ce6e50d43b58ecc8")
- depends_on('py-setuptools', type='build')
- depends_on('py-pymsgbox', type=('build', 'run'))
- depends_on('py-pytweening@1.0.1:', type=('build', 'run'))
- depends_on('py-pyscreeze@0.1.21:', type=('build', 'run'))
- depends_on('py-pygetwindow@0.0.5:', type=('build', 'run'))
- depends_on('py-mouseinfo', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pymsgbox", type=("build", "run"))
+ depends_on("py-pytweening@1.0.1:", type=("build", "run"))
+ depends_on("py-pyscreeze@0.1.21:", type=("build", "run"))
+ depends_on("py-pygetwindow@0.0.5:", type=("build", "run"))
+ depends_on("py-mouseinfo", type=("build", "run"))
- depends_on('py-python3-xlib', when='^python@3: platform=linux', type=('build', 'run'))
- depends_on('py-python-xlib', when='^python@:2 platform=linux', type=('build', 'run'))
+ depends_on("py-python3-xlib", when="^python@3: platform=linux", type=("build", "run"))
+ depends_on("py-python-xlib", when="^python@:2 platform=linux", type=("build", "run"))
# Missing packages; commented out for now
# depends_on('py-pyobjc-core', when='platform=darwin', type=('build', 'run'))
# depends_on('py-pyobjc', when='platform=darwin', type=('build', 'run'))
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
diff --git a/var/spack/repos/builtin/packages/py-pybedtools/package.py b/var/spack/repos/builtin/packages/py-pybedtools/package.py
index c725512ca3..d34dbd0b60 100644
--- a/var/spack/repos/builtin/packages/py-pybedtools/package.py
+++ b/var/spack/repos/builtin/packages/py-pybedtools/package.py
@@ -10,26 +10,26 @@ class PyPybedtools(PythonPackage):
"""Python wrapper -- and more -- for Aaron Quinlan's BEDTools"""
homepage = "https://daler.github.io/pybedtools"
- url = "https://github.com/daler/pybedtools/archive/v0.6.9.tar.gz"
-
- version('0.8.0', sha256='f0d9f24135d13d6d02d5c0d1bded771848d3642b00a2d3c3d86b2a1fcd5ce532')
- version('0.7.10', sha256='bc81c1655e998d8090d852f109925fc7fd3dad3ff90371cf80807dd4438a826a')
- version('0.7.9', sha256='49cdb62b81bb6bf28fecf6fc9519aa31e333d150347ca4ce2d2cd2aa5ec2ca57')
- version('0.7.8', sha256='0d49d92ba6d6cec85956cc4f947c9f431dc30aeea05125643a1b8786a59dc402')
- version('0.7.7', sha256='e4f87da5009928046ac233d2c8a7c2121820aa6d74de45922ec1405464c62862')
- version('0.7.6', sha256='639880a45ef60bd10d4ed31e6e7f7e901a6dbd909373df8f63f5aeccde446754')
- version('0.7.5', sha256='ef221c38281cb9be1e8014d6513f6fd9b2722306a70e4ac2484d0d7034bc5b03')
- version('0.7.4', sha256='39172a31c59ccf355fcff885f652cdc825341cabbab4ba78ac03862c42caa9da')
- version('0.7.3', sha256='ba6875297116b776cb1eb79ddb9fe24db9cbee8f6922940f84984d533ef9000b')
- version('0.7.2', sha256='0d0a80a42667742d53b1ef1947f4645dc16b060c7aacb4721c48f8028cc33c5e')
- version('0.6.9', sha256='2639e80917999e76572017fd93757e8d7ceb384f0b92647ccfdd23a0d60def7c')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
-
- depends_on('bedtools2', type='run')
-
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ url = "https://github.com/daler/pybedtools/archive/v0.6.9.tar.gz"
+
+ version("0.8.0", sha256="f0d9f24135d13d6d02d5c0d1bded771848d3642b00a2d3c3d86b2a1fcd5ce532")
+ version("0.7.10", sha256="bc81c1655e998d8090d852f109925fc7fd3dad3ff90371cf80807dd4438a826a")
+ version("0.7.9", sha256="49cdb62b81bb6bf28fecf6fc9519aa31e333d150347ca4ce2d2cd2aa5ec2ca57")
+ version("0.7.8", sha256="0d49d92ba6d6cec85956cc4f947c9f431dc30aeea05125643a1b8786a59dc402")
+ version("0.7.7", sha256="e4f87da5009928046ac233d2c8a7c2121820aa6d74de45922ec1405464c62862")
+ version("0.7.6", sha256="639880a45ef60bd10d4ed31e6e7f7e901a6dbd909373df8f63f5aeccde446754")
+ version("0.7.5", sha256="ef221c38281cb9be1e8014d6513f6fd9b2722306a70e4ac2484d0d7034bc5b03")
+ version("0.7.4", sha256="39172a31c59ccf355fcff885f652cdc825341cabbab4ba78ac03862c42caa9da")
+ version("0.7.3", sha256="ba6875297116b776cb1eb79ddb9fe24db9cbee8f6922940f84984d533ef9000b")
+ version("0.7.2", sha256="0d0a80a42667742d53b1ef1947f4645dc16b060c7aacb4721c48f8028cc33c5e")
+ version("0.6.9", sha256="2639e80917999e76572017fd93757e8d7ceb384f0b92647ccfdd23a0d60def7c")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+
+ depends_on("bedtools2", type="run")
+
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pybids/package.py b/var/spack/repos/builtin/packages/py-pybids/package.py
index 262166f96b..e21a34aae4 100644
--- a/var/spack/repos/builtin/packages/py-pybids/package.py
+++ b/var/spack/repos/builtin/packages/py-pybids/package.py
@@ -12,28 +12,28 @@ class PyPybids(PythonPackage):
homepage = "https://github.com/bids-standard/pybids"
pypi = "pybids/pybids-0.13.1.tar.gz"
- version('0.15.1', sha256='0253507a04dbfea43eb1f75a1f71aab04be21076bfe96c004888000b802e38f2')
- version('0.14.0', sha256='73c4d03aad333f2a7cb4405abe96f55a33cffa4b5a2d23fad6ac5767c45562ef')
- version('0.13.2', sha256='9692013af3b86b096b5423b88179c6c9b604baff5a6b6f89ba5f40429feb7a3e')
- version('0.13.1', sha256='c920e1557e1dae8b671625d70cafbdc28437ba2822b2db9da4c2587a7625e3ba')
- version('0.9.5', sha256='0e8f8466067ff3023f53661c390c02702fcd5fe712bdd5bf167ffb0c2b920430')
- version('0.8.0', sha256='fe60fa7d1e171e75a38a04220ed992f1b062531a7452fcb7ce5ba81bb6abfdbc')
+ version("0.15.1", sha256="0253507a04dbfea43eb1f75a1f71aab04be21076bfe96c004888000b802e38f2")
+ version("0.14.0", sha256="73c4d03aad333f2a7cb4405abe96f55a33cffa4b5a2d23fad6ac5767c45562ef")
+ version("0.13.2", sha256="9692013af3b86b096b5423b88179c6c9b604baff5a6b6f89ba5f40429feb7a3e")
+ version("0.13.1", sha256="c920e1557e1dae8b671625d70cafbdc28437ba2822b2db9da4c2587a7625e3ba")
+ version("0.9.5", sha256="0e8f8466067ff3023f53661c390c02702fcd5fe712bdd5bf167ffb0c2b920430")
+ version("0.8.0", sha256="fe60fa7d1e171e75a38a04220ed992f1b062531a7452fcb7ce5ba81bb6abfdbc")
- depends_on('python@3.7:', when='@0.15:', type=('build', 'run'))
- depends_on('python@3.6:', when='@0.14:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.10:', type=('build', 'run'))
- depends_on('python@2.7:2,3.5:', type=('build', 'run'))
- depends_on('py-setuptools@30.3.0:60,61.0.1:', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-nibabel@2.1:', type=('build', 'run'))
- depends_on('py-pandas@0.23:', type=('build', 'run'))
- depends_on('py-formulaic@0.2.4:0.3', when='@0.15.1:', type=('build', 'run'))
- depends_on('py-formulaic@0.2.4:0.2', when='@0.14:0.15.0', type=('build', 'run'))
- depends_on('py-sqlalchemy@:1.3', when='@0.12.4:', type=('build', 'run'))
- depends_on('py-sqlalchemy', type=('build', 'run'))
- depends_on('py-bids-validator', type=('build', 'run'))
- depends_on('py-num2words', type=('build', 'run'))
- depends_on('py-click', when='@0.12.1:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@0.15:", type=("build", "run"))
+ depends_on("python@3.6:", when="@0.14:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.10:", type=("build", "run"))
+ depends_on("python@2.7:2,3.5:", type=("build", "run"))
+ depends_on("py-setuptools@30.3.0:60,61.0.1:", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-nibabel@2.1:", type=("build", "run"))
+ depends_on("py-pandas@0.23:", type=("build", "run"))
+ depends_on("py-formulaic@0.2.4:0.3", when="@0.15.1:", type=("build", "run"))
+ depends_on("py-formulaic@0.2.4:0.2", when="@0.14:0.15.0", type=("build", "run"))
+ depends_on("py-sqlalchemy@:1.3", when="@0.12.4:", type=("build", "run"))
+ depends_on("py-sqlalchemy", type=("build", "run"))
+ depends_on("py-bids-validator", type=("build", "run"))
+ depends_on("py-num2words", type=("build", "run"))
+ depends_on("py-click", when="@0.12.1:", type=("build", "run"))
- depends_on('py-patsy', when='@:0.13', type=('build', 'run'))
+ depends_on("py-patsy", when="@:0.13", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pybigwig/package.py b/var/spack/repos/builtin/packages/py-pybigwig/package.py
index a425a8c0b8..f45322d26e 100644
--- a/var/spack/repos/builtin/packages/py-pybigwig/package.py
+++ b/var/spack/repos/builtin/packages/py-pybigwig/package.py
@@ -11,15 +11,14 @@ class PyPybigwig(PythonPackage):
pypi = "pyBigWig/pyBigWig-0.3.4.tar.gz"
- version('0.3.12', sha256='e01991790ece496bf6d3f00778dcfb136dd9ca0fd28acc1b3fb43051ad9b8403')
- version('0.3.4', sha256='8c97a19218023190041c0e426f1544f7a4944a7bb4568faca1d85f1975af9ee2')
+ version("0.3.12", sha256="e01991790ece496bf6d3f00778dcfb136dd9ca0fd28acc1b3fb43051ad9b8403")
+ version("0.3.4", sha256="8c97a19218023190041c0e426f1544f7a4944a7bb4568faca1d85f1975af9ee2")
- variant('numpy', default=True,
- description='Enable support for numpy integers and vectors')
+ variant("numpy", default=True, description="Enable support for numpy integers and vectors")
- patch('python3_curl.patch', when='@:0.3.12 ^python@3:')
+ patch("python3_curl.patch", when="@:0.3.12 ^python@3:")
- depends_on('curl', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("curl", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-numpy', type=('build', 'run'), when='+numpy')
+ depends_on("py-numpy", type=("build", "run"), when="+numpy")
diff --git a/var/spack/repos/builtin/packages/py-pybind11-stubgen/package.py b/var/spack/repos/builtin/packages/py-pybind11-stubgen/package.py
index b2c3a12ea8..d2a54ec12a 100644
--- a/var/spack/repos/builtin/packages/py-pybind11-stubgen/package.py
+++ b/var/spack/repos/builtin/packages/py-pybind11-stubgen/package.py
@@ -10,9 +10,9 @@ class PyPybind11Stubgen(PythonPackage):
"""Generates stubs for pybind11-wrapped python modules"""
homepage = "https://github.com/sizmailov/pybind11-stubgen"
- pypi = "pybind11-stubgen/pybind11-stubgen-0.3.0.tar.gz"
+ pypi = "pybind11-stubgen/pybind11-stubgen-0.3.0.tar.gz"
- version('0.8.7', sha256='79e24009137cd51ef7201c5b9f4d0d072824b260cff751ec8200a8886e06adbf')
- version('0.3.0', sha256='fb9bc977df46d7f1aecd33258e34abbbd01f1f461862c8a2a85341b96e6e6bdf')
+ version("0.8.7", sha256="79e24009137cd51ef7201c5b9f4d0d072824b260cff751ec8200a8886e06adbf")
+ version("0.3.0", sha256="fb9bc977df46d7f1aecd33258e34abbbd01f1f461862c8a2a85341b96e6e6bdf")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py
index 85ad88b404..862aa35e3e 100644
--- a/var/spack/repos/builtin/packages/py-pybind11/package.py
+++ b/var/spack/repos/builtin/packages/py-pybind11/package.py
@@ -19,81 +19,81 @@ class PyPybind11(CMakePackage, PythonPackage):
introspection."""
homepage = "https://pybind11.readthedocs.io"
- url = "https://github.com/pybind/pybind11/archive/v2.6.2.tar.gz"
- git = "https://github.com/pybind/pybind11.git"
-
- maintainers = ['ax3l']
-
- version('master', branch='master')
- version('2.9.1', sha256='c6160321dc98e6e1184cc791fbeadd2907bb4a0ce0e447f2ea4ff8ab56550913')
- version('2.9.0', sha256='057fb68dafd972bc13afb855f3b0d8cf0fa1a78ef053e815d9af79be7ff567cb')
- version('2.8.1', sha256='f1bcc07caa568eb312411dde5308b1e250bd0e1bc020fae855bf9f43209940cc')
- version('2.8.0', sha256='9ca7770fc5453b10b00a4a2f99754d7a29af8952330be5f5602e7c2635fa3e79')
- version('2.7.1', sha256='616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020')
- version('2.7.0', sha256='6cd73b3d0bf3daf415b5f9b87ca8817cc2e2b64c275d65f9500250f9fee1677e')
- version('2.6.2', sha256='8ff2fff22df038f5cd02cea8af56622bc67f5b64534f1b83b9f133b8366acff2')
- version('2.6.1', sha256='cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a')
- version('2.5.0', sha256='97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504')
- version('2.4.3', sha256='1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d')
- version('2.3.0', sha256='0f34838f2c8024a6765168227ba587b3687729ebf03dc912f88ff75c7aa9cfe8')
- version('2.2.4', sha256='b69e83658513215b8d1443544d0549b7d231b9f201f6fc787a2b2218b408181e')
- version('2.2.3', sha256='3a3b7b651afab1c5ba557f4c37d785a522b8030dfc765da26adc2ecd1de940ea')
- version('2.2.2', sha256='b639a2b2cbf1c467849660801c4665ffc1a4d0a9e153ae1996ed6f21c492064e')
- version('2.2.1', sha256='f8bd1509578b2a1e7407d52e6ee8afe64268909a1bbda620ca407318598927e7')
- version('2.2.0', sha256='1b0fda17c650c493f5862902e90f426df6751da8c0b58c05983ab009951ed769')
- version('2.1.1', sha256='f2c6874f1ea5b4ad4ffffe352413f7d2cd1a49f9050940805c2a082348621540')
- version('2.1.0', sha256='2860f2b8d0c9f65f0698289a161385f59d099b7ead1bf64e8993c486f2b93ee0')
-
- depends_on('ninja', type='build')
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-pytest', type='test')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('cmake@3.13:', type='build')
- depends_on('cmake@3.18:', type='build', when='@2.6.0:')
+ url = "https://github.com/pybind/pybind11/archive/v2.6.2.tar.gz"
+ git = "https://github.com/pybind/pybind11.git"
+
+ maintainers = ["ax3l"]
+
+ version("master", branch="master")
+ version("2.9.1", sha256="c6160321dc98e6e1184cc791fbeadd2907bb4a0ce0e447f2ea4ff8ab56550913")
+ version("2.9.0", sha256="057fb68dafd972bc13afb855f3b0d8cf0fa1a78ef053e815d9af79be7ff567cb")
+ version("2.8.1", sha256="f1bcc07caa568eb312411dde5308b1e250bd0e1bc020fae855bf9f43209940cc")
+ version("2.8.0", sha256="9ca7770fc5453b10b00a4a2f99754d7a29af8952330be5f5602e7c2635fa3e79")
+ version("2.7.1", sha256="616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020")
+ version("2.7.0", sha256="6cd73b3d0bf3daf415b5f9b87ca8817cc2e2b64c275d65f9500250f9fee1677e")
+ version("2.6.2", sha256="8ff2fff22df038f5cd02cea8af56622bc67f5b64534f1b83b9f133b8366acff2")
+ version("2.6.1", sha256="cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a")
+ version("2.5.0", sha256="97504db65640570f32d3fdf701c25a340c8643037c3b69aec469c10c93dc8504")
+ version("2.4.3", sha256="1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d")
+ version("2.3.0", sha256="0f34838f2c8024a6765168227ba587b3687729ebf03dc912f88ff75c7aa9cfe8")
+ version("2.2.4", sha256="b69e83658513215b8d1443544d0549b7d231b9f201f6fc787a2b2218b408181e")
+ version("2.2.3", sha256="3a3b7b651afab1c5ba557f4c37d785a522b8030dfc765da26adc2ecd1de940ea")
+ version("2.2.2", sha256="b639a2b2cbf1c467849660801c4665ffc1a4d0a9e153ae1996ed6f21c492064e")
+ version("2.2.1", sha256="f8bd1509578b2a1e7407d52e6ee8afe64268909a1bbda620ca407318598927e7")
+ version("2.2.0", sha256="1b0fda17c650c493f5862902e90f426df6751da8c0b58c05983ab009951ed769")
+ version("2.1.1", sha256="f2c6874f1ea5b4ad4ffffe352413f7d2cd1a49f9050940805c2a082348621540")
+ version("2.1.0", sha256="2860f2b8d0c9f65f0698289a161385f59d099b7ead1bf64e8993c486f2b93ee0")
+
+ depends_on("ninja", type="build")
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-pytest", type="test")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("cmake@3.13:", type="build")
+ depends_on("cmake@3.18:", type="build", when="@2.6.0:")
# compiler support
- conflicts('%gcc@:4.7')
- conflicts('%clang@:3.2')
- conflicts('%intel@:16')
+ conflicts("%gcc@:4.7")
+ conflicts("%clang@:3.2")
+ conflicts("%intel@:16")
- build_directory = '.'
+ build_directory = "."
def cmake_args(self):
args = []
- args.append('-DPYTHON_EXECUTABLE:FILEPATH=%s'
- % self.spec['python'].command.path)
- args += [
- self.define('PYBIND11_TEST', self.run_tests)
- ]
+ args.append("-DPYTHON_EXECUTABLE:FILEPATH=%s" % self.spec["python"].command.path)
+ args += [self.define("PYBIND11_TEST", self.run_tests)]
return args
def setup_build_environment(self, env):
- env.set('PYBIND11_USE_CMAKE', 1)
+ env.set("PYBIND11_USE_CMAKE", 1)
# https://github.com/pybind/pybind11/pull/1995
- @when('@:2.4')
+ @when("@:2.4")
def patch(self):
- """ see https://github.com/spack/spack/issues/13559 """
- filter_file('import sys',
- 'import sys; return "{0}"'.format(self.prefix.include),
- 'pybind11/__init__.py',
- string=True)
+ """see https://github.com/spack/spack/issues/13559"""
+ filter_file(
+ "import sys",
+ 'import sys; return "{0}"'.format(self.prefix.include),
+ "pybind11/__init__.py",
+ string=True,
+ )
def install(self, spec, prefix):
CMakePackage.install(self, spec, prefix)
PythonPackage.install(self, spec, prefix)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('spack-test', create=True):
+ with working_dir("spack-test", create=True):
# test include helper points to right location
- python = self.spec['python'].command
+ python = self.spec["python"].command
py_inc = python(
- '-c',
- 'import pybind11 as py; ' +
- self.spec['python'].package.print_string('py.get_include()'),
- output=str).strip()
+ "-c",
+ "import pybind11 as py; "
+ + self.spec["python"].package.print_string("py.get_include()"),
+ output=str,
+ ).strip()
for inc in [py_inc, self.prefix.include]:
- inc_file = join_path(inc, 'pybind11', 'pybind11.h')
+ inc_file = join_path(inc, "pybind11", "pybind11.h")
assert os.path.isfile(inc_file)
diff --git a/var/spack/repos/builtin/packages/py-pybobyqa/package.py b/var/spack/repos/builtin/packages/py-pybobyqa/package.py
index fa7e908343..ff898bb2a4 100644
--- a/var/spack/repos/builtin/packages/py-pybobyqa/package.py
+++ b/var/spack/repos/builtin/packages/py-pybobyqa/package.py
@@ -11,11 +11,11 @@ class PyPybobyqa(PythonPackage):
objective minimization, without requiring derivatives of the objective."""
homepage = "https://github.com/numericalalgorithmsgroup/pybobyqa/"
- pypi = "Py-BOBYQA/Py-BOBYQA-1.3.tar.gz"
+ pypi = "Py-BOBYQA/Py-BOBYQA-1.3.tar.gz"
- version('1.3', sha256='7b0b27b7b9a7cfef94557c8832c0c30757e86764e32878677427381f0691a8fb')
+ version("1.3", sha256="7b0b27b7b9a7cfef94557c8832c0c30757e86764e32878677427381f0691a8fb")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy@0.17:', type=('build', 'run'))
- depends_on('py-pandas@0.17:', type=('build', 'run'))
- depends_on('py-numpy@1.11:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy@0.17:", type=("build", "run"))
+ depends_on("py-pandas@0.17:", type=("build", "run"))
+ depends_on("py-numpy@1.11:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pybrain/package.py b/var/spack/repos/builtin/packages/py-pybrain/package.py
index a5488fe5e9..4055f68bec 100644
--- a/var/spack/repos/builtin/packages/py-pybrain/package.py
+++ b/var/spack/repos/builtin/packages/py-pybrain/package.py
@@ -11,10 +11,10 @@ class PyPybrain(PythonPackage):
homepage = "http://pybrain.org/"
- url = "https://github.com/pybrain/pybrain/archive/refs/tags/0.3.3.tar.gz"
- git = "https://github.com/pybrain/pybrain.git"
+ url = "https://github.com/pybrain/pybrain/archive/refs/tags/0.3.3.tar.gz"
+ git = "https://github.com/pybrain/pybrain.git"
- version('0.3.3.post', commit='dcdf32b')
+ version("0.3.3.post", commit="dcdf32b")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
index 2b876018a0..e8618a4f4c 100644
--- a/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex-docutils/package.py
@@ -11,13 +11,13 @@ class PyPybtexDocutils(PythonPackage):
pypi = "pybtex-docutils/pybtex-docutils-0.2.1.tar.gz"
- version('1.0.0', sha256='cead6554b4af99c287dd29f38b1fa152c9542f56a51cb6cbc3997c95b2725b2e')
- version('0.2.2', sha256='ea90935da188a0f4de2fe6b32930e185c33a0e306154322ccc12e519ebb5fa7d')
- version('0.2.1', sha256='e4b075641c1d68a3e98a6d73ad3d029293fcf9e0773512315ef9c8482f251337')
+ version("1.0.0", sha256="cead6554b4af99c287dd29f38b1fa152c9542f56a51cb6cbc3997c95b2725b2e")
+ version("0.2.2", sha256="ea90935da188a0f4de2fe6b32930e185c33a0e306154322ccc12e519ebb5fa7d")
+ version("0.2.1", sha256="e4b075641c1d68a3e98a6d73ad3d029293fcf9e0773512315ef9c8482f251337")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.0.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-docutils@0.8:', type=('build', 'run'))
- depends_on('py-pybtex@0.16:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:0.2.2')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.0.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docutils@0.8:", type=("build", "run"))
+ depends_on("py-pybtex@0.16:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:0.2.2")
diff --git a/var/spack/repos/builtin/packages/py-pybtex/package.py b/var/spack/repos/builtin/packages/py-pybtex/package.py
index 6c5889bffe..7111bfd2c5 100644
--- a/var/spack/repos/builtin/packages/py-pybtex/package.py
+++ b/var/spack/repos/builtin/packages/py-pybtex/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class PyPybtex(PythonPackage):
"""Pybtex is a BibTeX-compatible bibliography processor written in
- Python."""
+ Python."""
homepage = "https://pybtex.org"
pypi = "pybtex/pybtex-0.24.0.tar.gz"
- version('0.24.0', sha256='818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755')
- version('0.21', sha256='af8a6c7c74954ad305553b118d2757f68bc77c5dd5d5de2cc1fd16db90046000')
+ version("0.24.0", sha256="818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755")
+ version("0.21", sha256="af8a6c7c74954ad305553b118d2757f68bc77c5dd5d5de2cc1fd16db90046000")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-latexcodec@1.0.4:', type=('build', 'run'))
- depends_on('py-pyyaml@3.01:', type=('build', 'run'))
- depends_on('py-counter@1:', when='^python@:2.6', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@0.24.0:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-latexcodec@1.0.4:", type=("build", "run"))
+ depends_on("py-pyyaml@3.01:", type=("build", "run"))
+ depends_on("py-counter@1:", when="^python@:2.6", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@0.24.0:")
diff --git a/var/spack/repos/builtin/packages/py-pycairo/package.py b/var/spack/repos/builtin/packages/py-pycairo/package.py
index c5cc48c1eb..a13c233303 100644
--- a/var/spack/repos/builtin/packages/py-pycairo/package.py
+++ b/var/spack/repos/builtin/packages/py-pycairo/package.py
@@ -14,21 +14,21 @@ class PyPycairo(PythonPackage):
homepage = "https://www.cairographics.org/pycairo/"
pypi = "pycairo/pycairo-1.17.1.tar.gz"
- version('1.20.0', sha256='5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c')
- version('1.18.1', sha256='70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786')
- version('1.17.1', sha256='0f0a35ec923d87bc495f6753b1e540fd046d95db56a35250c44089fbce03b698')
-
- depends_on('cairo@1.15.10: +pdf', when='@1.20.0:')
- depends_on('cairo@1.13.1: +pdf', when='@:1.18.1')
- depends_on('pkgconfig', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.3:', when='@:1.17.1', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:3.7', when='@1.18.1:1.19', type=('build', 'run'))
- depends_on('python@3.6:3', when='@1.20.0:', type=('build', 'run'))
-
- @run_after('install')
+ version("1.20.0", sha256="5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c")
+ version("1.18.1", sha256="70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786")
+ version("1.17.1", sha256="0f0a35ec923d87bc495f6753b1e540fd046d95db56a35250c44089fbce03b698")
+
+ depends_on("cairo@1.15.10: +pdf", when="@1.20.0:")
+ depends_on("cairo@1.13.1: +pdf", when="@:1.18.1")
+ depends_on("pkgconfig", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.3:", when="@:1.17.1", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:3.7", when="@1.18.1:1.19", type=("build", "run"))
+ depends_on("python@3.6:3", when="@1.20.0:", type=("build", "run"))
+
+ @run_after("install")
def post_install(self):
- src = self.prefix.lib + '/pkgconfig/py3cairo.pc'
- dst = self.prefix.lib + '/pkgconfig/pycairo.pc'
+ src = self.prefix.lib + "/pkgconfig/py3cairo.pc"
+ dst = self.prefix.lib + "/pkgconfig/pycairo.pc"
if os.path.exists(src) and not os.path.exists(dst):
copy(src, dst)
diff --git a/var/spack/repos/builtin/packages/py-pycares/package.py b/var/spack/repos/builtin/packages/py-pycares/package.py
index d92e939fd6..daf171dac5 100644
--- a/var/spack/repos/builtin/packages/py-pycares/package.py
+++ b/var/spack/repos/builtin/packages/py-pycares/package.py
@@ -12,10 +12,10 @@ class PyPycares(PythonPackage):
asynchronously."""
homepage = "https://github.com/saghul/pycares"
- url = "https://github.com/saghul/pycares/archive/pycares-3.0.0.tar.gz"
+ url = "https://github.com/saghul/pycares/archive/pycares-3.0.0.tar.gz"
- version('3.0.0', sha256='28dc2bd59cf20399a6af4383cc8f57970cfca8b808ca05d6493812862ef0ca9c')
+ version("3.0.0", sha256="28dc2bd59cf20399a6af4383cc8f57970cfca8b808ca05d6493812862ef0ca9c")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pycbc/package.py b/var/spack/repos/builtin/packages/py-pycbc/package.py
index 723ba66a79..8072bd67a5 100644
--- a/var/spack/repos/builtin/packages/py-pycbc/package.py
+++ b/var/spack/repos/builtin/packages/py-pycbc/package.py
@@ -17,26 +17,26 @@ class PyPycbc(PythonPackage):
homepage = "https://pycbc.org/"
pypi = "PyCBC/PyCBC-1.14.1.tar.gz"
- version('1.14.1', sha256='4b0a309cb6209837aaebbd691413a286dd7200ccf4b977ffed1462a65ac35dc0')
+ version("1.14.1", sha256="4b0a309cb6209837aaebbd691413a286dd7200ccf4b977ffed1462a65ac35dc0")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.13.0:', type=('build', 'run'))
- depends_on('py-mako@1.0.1:', type=('build', 'run'))
- depends_on('py-cython', type='build')
- depends_on('py-decorator@3.4.2:', type=('build', 'run'))
- depends_on('py-scipy@0.16.0:', type=('build', 'run'))
- depends_on('py-matplotlib@1.5.1:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-h5py@2.5:', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-astropy@2.0.3:', type=('build', 'run'))
- depends_on('py-mpld3@0.3:', type=('build', 'run'))
- depends_on('py-lscsoft-glue@1.59.3:', type=('build', 'run'))
- depends_on('py-emcee@2.2.1', type=('build', 'run'))
- depends_on('py-requests@1.2.1:', type=('build', 'run'))
- depends_on('py-beautifulsoup4@4.6.0:', type=('build', 'run'))
- depends_on('py-six@1.10.0:', type=('build', 'run'))
- depends_on('py-ligo-segments', type=('build', 'run'))
- depends_on('py-weave@0.16.0:', when='^python@:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.13.0:", type=("build", "run"))
+ depends_on("py-mako@1.0.1:", type=("build", "run"))
+ depends_on("py-cython", type="build")
+ depends_on("py-decorator@3.4.2:", type=("build", "run"))
+ depends_on("py-scipy@0.16.0:", type=("build", "run"))
+ depends_on("py-matplotlib@1.5.1:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-h5py@2.5:", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-astropy@2.0.3:", type=("build", "run"))
+ depends_on("py-mpld3@0.3:", type=("build", "run"))
+ depends_on("py-lscsoft-glue@1.59.3:", type=("build", "run"))
+ depends_on("py-emcee@2.2.1", type=("build", "run"))
+ depends_on("py-requests@1.2.1:", type=("build", "run"))
+ depends_on("py-beautifulsoup4@4.6.0:", type=("build", "run"))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
+ depends_on("py-ligo-segments", type=("build", "run"))
+ depends_on("py-weave@0.16.0:", when="^python@:2", type=("build", "run"))
- patch('for_aarch64.patch', when='@:1.14.1 target=aarch64:')
+ patch("for_aarch64.patch", when="@:1.14.1 target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/py-pychecker/package.py b/var/spack/repos/builtin/packages/py-pychecker/package.py
index a3facd1cdf..7a7484f893 100644
--- a/var/spack/repos/builtin/packages/py-pychecker/package.py
+++ b/var/spack/repos/builtin/packages/py-pychecker/package.py
@@ -8,10 +8,13 @@ from spack.package import *
class PyPychecker(PythonPackage):
"""Python source code checking tool."""
+
homepage = "http://pychecker.sourceforge.net/"
- url = "http://sourceforge.net/projects/pychecker/files/pychecker/0.8.19/pychecker-0.8.19.tar.gz"
+ url = (
+ "http://sourceforge.net/projects/pychecker/files/pychecker/0.8.19/pychecker-0.8.19.tar.gz"
+ )
- version('0.8.19', sha256='44fb26668f74aca3738f02d072813762a37ce1242f50dbff573720fa2e953279')
+ version("0.8.19", sha256="44fb26668f74aca3738f02d072813762a37ce1242f50dbff573720fa2e953279")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pycifrw/package.py b/var/spack/repos/builtin/packages/py-pycifrw/package.py
index caa3eff910..138629b137 100644
--- a/var/spack/repos/builtin/packages/py-pycifrw/package.py
+++ b/var/spack/repos/builtin/packages/py-pycifrw/package.py
@@ -13,6 +13,6 @@ class PyPycifrw(PythonPackage):
homepage = "https://bitbucket.org/jamesrhester/pycifrw/src/development/"
pypi = "PyCifRW/PyCifRW-4.4.1.tar.gz"
- version('4.4.1', sha256='cef7662f475e0eb78a55c2d55774d474e888c96b0539e5f08550afa902cdc4e1')
+ version("4.4.1", sha256="cef7662f475e0eb78a55c2d55774d474e888c96b0539e5f08550afa902cdc4e1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pycmd/package.py b/var/spack/repos/builtin/packages/py-pycmd/package.py
index a4fe74db54..966ff50b87 100644
--- a/var/spack/repos/builtin/packages/py-pycmd/package.py
+++ b/var/spack/repos/builtin/packages/py-pycmd/package.py
@@ -12,7 +12,7 @@ class PyPycmd(PythonPackage):
pypi = "pycmd/pycmd-1.2.tar.gz"
- version('1.2', sha256='adc1976c0106919e9338db20102b91009256dcfec924a66928d7297026f72477')
+ version("1.2", sha256="adc1976c0106919e9338db20102b91009256dcfec924a66928d7297026f72477")
- depends_on('py-py@1.4.9:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-py@1.4.9:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pycocotools/package.py b/var/spack/repos/builtin/packages/py-pycocotools/package.py
index 26b6edd414..d20c6d4f98 100644
--- a/var/spack/repos/builtin/packages/py-pycocotools/package.py
+++ b/var/spack/repos/builtin/packages/py-pycocotools/package.py
@@ -10,12 +10,12 @@ class PyPycocotools(PythonPackage):
"""Official APIs for the MS-COCO dataset."""
homepage = "https://github.com/cocodataset/cocoapi"
- pypi = "pycocotools/pycocotools-2.0.2.tar.gz"
+ pypi = "pycocotools/pycocotools-2.0.2.tar.gz"
- version('2.0.2', sha256='24717a12799b4471c2e54aa210d642e6cd4028826a1d49fcc2b0e3497e041f1a')
+ version("2.0.2", sha256="24717a12799b4471c2e54aa210d642e6cd4028826a1d49fcc2b0e3497e041f1a")
- depends_on('python', type=('build', 'link', 'run'))
- depends_on('py-setuptools@18.0:', type='build')
- depends_on('py-cython@0.27.3:', type='build')
- depends_on('py-numpy', type=('build', 'link', 'run'))
- depends_on('py-matplotlib@2.1.0:', type=('build', 'run'))
+ depends_on("python", type=("build", "link", "run"))
+ depends_on("py-setuptools@18.0:", type="build")
+ depends_on("py-cython@0.27.3:", type="build")
+ depends_on("py-numpy", type=("build", "link", "run"))
+ depends_on("py-matplotlib@2.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pycodestyle/package.py b/var/spack/repos/builtin/packages/py-pycodestyle/package.py
index 295650ab0a..ce92a54ee9 100644
--- a/var/spack/repos/builtin/packages/py-pycodestyle/package.py
+++ b/var/spack/repos/builtin/packages/py-pycodestyle/package.py
@@ -11,38 +11,70 @@ class PyPycodestyle(PythonPackage):
style conventions in PEP 8. Note: formerly called pep8."""
homepage = "https://github.com/PyCQA/pycodestyle"
- pypi = "pycodestyle/pycodestyle-2.8.0.tar.gz"
+ pypi = "pycodestyle/pycodestyle-2.8.0.tar.gz"
- version('2.8.0', sha256='eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f')
- version('2.7.0', sha256='c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef')
- version('2.6.0', sha256='c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e')
- version('2.5.0', sha256='a603453c07e8d8e15a43cf062aa7174741b74b4a27b110f9ad03d74d519173b5')
- version('2.3.1', sha256='682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766')
- version('2.3.0', sha256='a5910db118cf7e66ff92fb281a203c19ca2b5134620dd2538a794e636253863b')
- version('2.2.0', sha256='df81dc3293e0123e2e8d1f2aaf819600e4ae287d8b3af8b72181af50257e5d9a')
- version('2.1.0', sha256='5b540e4f19b4938c082cfd13f5d778d1ad2308b337abbc687ab9335233f5f3e2')
- version('2.0.0', sha256='37f0420b14630b0eaaf452978f3a6ea4816d787c3e6dcbba6fb255030adae2e7')
+ version("2.8.0", sha256="eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f")
+ version("2.7.0", sha256="c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef")
+ version("2.6.0", sha256="c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e")
+ version("2.5.0", sha256="a603453c07e8d8e15a43cf062aa7174741b74b4a27b110f9ad03d74d519173b5")
+ version("2.3.1", sha256="682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766")
+ version("2.3.0", sha256="a5910db118cf7e66ff92fb281a203c19ca2b5134620dd2538a794e636253863b")
+ version("2.2.0", sha256="df81dc3293e0123e2e8d1f2aaf819600e4ae287d8b3af8b72181af50257e5d9a")
+ version("2.1.0", sha256="5b540e4f19b4938c082cfd13f5d778d1ad2308b337abbc687ab9335233f5f3e2")
+ version("2.0.0", sha256="37f0420b14630b0eaaf452978f3a6ea4816d787c3e6dcbba6fb255030adae2e7")
# Versions below 2.0.0 are not on pypi
- version('1.7.0', sha256='3f62d19b5cbcbdcb7810f967dcc2fbdd090256e090c32b457e2580a841d118ef',
- url='https://github.com/PyCQA/pycodestyle/archive/1.7.0.tar.gz', deprecated=True)
- version('1.6.2', sha256='508bfd7d457046891bf4b8fbfc95ccac7995c37cdfdb3daf97bfeb7a13fa4c9c',
- url='https://github.com/PyCQA/pycodestyle/archive/1.6.2.tar.gz', deprecated=True)
- version('1.6.1', sha256='3a910a0d0d998d4c3c2b8152a4816b98938b27cc73a4433c61202449706a73c8',
- url='https://github.com/PyCQA/pycodestyle/archive/1.6.1.tar.gz', deprecated=True)
- version('1.6', sha256='5e7bb5156af311079345b5e81f8154c3e1420d723150a6cba5a70245eb0d515a',
- url='https://github.com/PyCQA/pycodestyle/archive/1.6.tar.gz', deprecated=True)
- version('1.5.7', sha256='9bf020638986f2e254823aee62cfd97e55ba08ad51503cd5ae26172c47f48401',
- url='https://github.com/PyCQA/pycodestyle/archive/1.5.7.tar.gz', deprecated=True)
- version('1.5.6', sha256='9f164c1211854678b2cb269954bc8aac2dcfa142d40c99f7bab08f9344cf3241',
- url='https://github.com/PyCQA/pycodestyle/archive/1.5.6.tar.gz', deprecated=True)
- version('1.5.5', sha256='e55204c5477a29eb094835ad6e83be292aa3e06be12e51f5b4cc67f38d0d61ba',
- url='https://github.com/PyCQA/pycodestyle/archive/1.5.5.tar.gz', deprecated=True)
- version('1.5.4', sha256='bc234f7935a350c79c953421b01163db01010f39caeddfa8602ff54f76a6fd9e',
- url='https://github.com/PyCQA/pycodestyle/archive/1.5.4.tar.gz', deprecated=True)
+ version(
+ "1.7.0",
+ sha256="3f62d19b5cbcbdcb7810f967dcc2fbdd090256e090c32b457e2580a841d118ef",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.7.0.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="508bfd7d457046891bf4b8fbfc95ccac7995c37cdfdb3daf97bfeb7a13fa4c9c",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.6.2.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="3a910a0d0d998d4c3c2b8152a4816b98938b27cc73a4433c61202449706a73c8",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.6.1.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="5e7bb5156af311079345b5e81f8154c3e1420d723150a6cba5a70245eb0d515a",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.6.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.5.7",
+ sha256="9bf020638986f2e254823aee62cfd97e55ba08ad51503cd5ae26172c47f48401",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.5.7.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.5.6",
+ sha256="9f164c1211854678b2cb269954bc8aac2dcfa142d40c99f7bab08f9344cf3241",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.5.6.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.5.5",
+ sha256="e55204c5477a29eb094835ad6e83be292aa3e06be12e51f5b4cc67f38d0d61ba",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.5.5.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "1.5.4",
+ sha256="bc234f7935a350c79c953421b01163db01010f39caeddfa8602ff54f76a6fd9e",
+ url="https://github.com/PyCQA/pycodestyle/archive/1.5.4.tar.gz",
+ deprecated=True,
+ )
# Most Python packages only require py-setuptools as a build dependency.
# However, py-pycodestyle requires py-setuptools during runtime as well.
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@2.7.0:')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@2.8.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@2.7.0:")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@2.8.0:")
diff --git a/var/spack/repos/builtin/packages/py-pycompadre/package.py b/var/spack/repos/builtin/packages/py-pycompadre/package.py
index daa5cb6238..b6f5839cca 100644
--- a/var/spack/repos/builtin/packages/py-pycompadre/package.py
+++ b/var/spack/repos/builtin/packages/py-pycompadre/package.py
@@ -15,37 +15,44 @@ class PyPycompadre(PythonPackage):
constitute the rows of some globally sparse matrix.
"""
- homepage = 'https://github.com/SNLComputation/compadre'
- git = 'https://github.com/SNLComputation/compadre.git'
- url = 'https://github.com/SNLComputation/compadre/archive/v1.3.0.tar.gz'
- maintainers = ['kuberry']
-
- version('master', branch='master', preferred=True)
-
- variant('trilinos', default=False, description='Use Kokkos from Trilinos')
- variant('debug', default='0', values=['0', '1', '2'], multi=False,
- description='Debugging level 0) release 1) debug 2) extreme debugging')
-
- depends_on('cmake@3.10.0:', type='build')
- depends_on('python@3.4:', type=('build', 'link', 'run'))
- depends_on('py-pip', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.23:', type='build')
- depends_on('trilinos@13.2:', when='+trilinos')
-
- @run_before('install')
+ homepage = "https://github.com/SNLComputation/compadre"
+ git = "https://github.com/SNLComputation/compadre.git"
+ url = "https://github.com/SNLComputation/compadre/archive/v1.3.0.tar.gz"
+ maintainers = ["kuberry"]
+
+ version("master", branch="master", preferred=True)
+
+ variant("trilinos", default=False, description="Use Kokkos from Trilinos")
+ variant(
+ "debug",
+ default="0",
+ values=["0", "1", "2"],
+ multi=False,
+ description="Debugging level 0) release 1) debug 2) extreme debugging",
+ )
+
+ depends_on("cmake@3.10.0:", type="build")
+ depends_on("python@3.4:", type=("build", "link", "run"))
+ depends_on("py-pip", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.23:", type="build")
+ depends_on("trilinos@13.2:", when="+trilinos")
+
+ @run_before("install")
def set_cmake_from_variants(self):
spec = self.spec
- with open('cmake_opts.txt', 'w') as f:
- if '+trilinos' in spec:
- f.write('Trilinos_PREFIX:PATH=%s\n' % spec['trilinos'].prefix)
- if spec.variants['debug'].value == '0':
- f.write('CMAKE_CXX_FLAGS:STRING=%s\n' %
- "' -Ofast -funroll-loops -march=native -mtune=native '")
- f.write('Compadre_DEBUG:BOOL=OFF\n')
+ with open("cmake_opts.txt", "w") as f:
+ if "+trilinos" in spec:
+ f.write("Trilinos_PREFIX:PATH=%s\n" % spec["trilinos"].prefix)
+ if spec.variants["debug"].value == "0":
+ f.write(
+ "CMAKE_CXX_FLAGS:STRING=%s\n"
+ % "' -Ofast -funroll-loops -march=native -mtune=native '"
+ )
+ f.write("Compadre_DEBUG:BOOL=OFF\n")
else:
- f.write('CMAKE_CXX_FLAGS:STRING=%s\n' % "'-g -O0'")
- f.write('CMAKE_BUILD_TYPE:STRING=%s\n' % "DEBUG")
- f.write('Compadre_DEBUG:BOOL=ON\n')
- if spec.variants['debug'].value == '2':
- f.write('Compadre_EXTREME_DEBUG:BOOL=ON\n')
+ f.write("CMAKE_CXX_FLAGS:STRING=%s\n" % "'-g -O0'")
+ f.write("CMAKE_BUILD_TYPE:STRING=%s\n" % "DEBUG")
+ f.write("Compadre_DEBUG:BOOL=ON\n")
+ if spec.variants["debug"].value == "2":
+ f.write("Compadre_EXTREME_DEBUG:BOOL=ON\n")
diff --git a/var/spack/repos/builtin/packages/py-pycortex/package.py b/var/spack/repos/builtin/packages/py-pycortex/package.py
index 37a21e5db9..c4abef6163 100644
--- a/var/spack/repos/builtin/packages/py-pycortex/package.py
+++ b/var/spack/repos/builtin/packages/py-pycortex/package.py
@@ -16,38 +16,38 @@ class PyPycortex(PythonPackage):
homepage = "https://github.com/gallantlab/pycortex"
pypi = "pycortex/pycortex-1.2.2.tar.gz"
- version('1.2.2', sha256='ac46ed6a1dc727c3126c2b5d7916fc0ac21a6510c32a5edcd3b8cfb7b2128414')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-tornado@4.3:', type=('build', 'run'))
- depends_on('py-shapely', type=('build', 'run'))
- depends_on('py-lxml', type=('build', 'run'))
- depends_on('py-html5lib', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numexpr', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run')) # is in install_requires
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-nibabel', type=('build', 'run'))
- depends_on('py-networkx@2.1:', type=('build', 'run'))
- depends_on('py-imageio', type=('build', 'run'))
- depends_on('py-wget', type=('build', 'run'))
+ version("1.2.2", sha256="ac46ed6a1dc727c3126c2b5d7916fc0ac21a6510c32a5edcd3b8cfb7b2128414")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-tornado@4.3:", type=("build", "run"))
+ depends_on("py-shapely", type=("build", "run"))
+ depends_on("py-lxml", type=("build", "run"))
+ depends_on("py-html5lib", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-numexpr", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run")) # is in install_requires
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-nibabel", type=("build", "run"))
+ depends_on("py-networkx@2.1:", type=("build", "run"))
+ depends_on("py-imageio", type=("build", "run"))
+ depends_on("py-wget", type=("build", "run"))
# inkscape is not in spack
# TODO remove this patch and add inkscape dependency once it is in
def patch(self):
# remove inkscape dependency
- filter_file('from .testing_utils import INKSCAPE_VERSION', '',
- 'cortex/utils.py',
- string=True)
- filter_file('open_inkscape=True', 'open_inkscape=False',
- 'cortex/utils.py',
- string=True)
- filter_file('from .testing_utils import INKSCAPE_VERSION',
- 'INKSCAPE_VERSION = None',
- 'cortex/svgoverlay.py',
- string=True)
+ filter_file(
+ "from .testing_utils import INKSCAPE_VERSION", "", "cortex/utils.py", string=True
+ )
+ filter_file("open_inkscape=True", "open_inkscape=False", "cortex/utils.py", string=True)
+ filter_file(
+ "from .testing_utils import INKSCAPE_VERSION",
+ "INKSCAPE_VERSION = None",
+ "cortex/svgoverlay.py",
+ string=True,
+ )
diff --git a/var/spack/repos/builtin/packages/py-pycosat/package.py b/var/spack/repos/builtin/packages/py-pycosat/package.py
index 8ae8eb826a..1fe22e3edd 100644
--- a/var/spack/repos/builtin/packages/py-pycosat/package.py
+++ b/var/spack/repos/builtin/packages/py-pycosat/package.py
@@ -17,7 +17,7 @@ class PyPycosat(PythonPackage):
homepage = "https://github.com/ContinuumIO/pycosat"
pypi = "pycosat/pycosat-0.6.3.zip"
- version('0.6.3', sha256='4c99874946a7e939bb941bbb019dd2c20e6068e3107c91366e7779c69d70e0ed')
+ version("0.6.3", sha256="4c99874946a7e939bb941bbb019dd2c20e6068e3107c91366e7779c69d70e0ed")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pycparser/package.py b/var/spack/repos/builtin/packages/py-pycparser/package.py
index a754b0452b..573db54845 100644
--- a/var/spack/repos/builtin/packages/py-pycparser/package.py
+++ b/var/spack/repos/builtin/packages/py-pycparser/package.py
@@ -12,11 +12,11 @@ class PyPycparser(PythonPackage):
homepage = "https://github.com/eliben/pycparser"
pypi = "pycparser/pycparser-2.19.tar.gz"
- version('2.20', sha256='2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0')
- version('2.19', sha256='a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3')
- version('2.18', sha256='99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226')
- version('2.17', sha256='0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6')
- version('2.13', sha256='b399599a8a0e386bfcbc5e01a38d79dd6e926781f9e358cd5512f41ab7d20eb7')
+ version("2.20", sha256="2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0")
+ version("2.19", sha256="a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3")
+ version("2.18", sha256="99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226")
+ version("2.17", sha256="0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6")
+ version("2.13", sha256="b399599a8a0e386bfcbc5e01a38d79dd6e926781f9e358cd5512f41ab7d20eb7")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pycrypto/package.py b/var/spack/repos/builtin/packages/py-pycrypto/package.py
index 847896bdbe..0b5d6d81d9 100644
--- a/var/spack/repos/builtin/packages/py-pycrypto/package.py
+++ b/var/spack/repos/builtin/packages/py-pycrypto/package.py
@@ -12,7 +12,7 @@ class PyPycrypto(PythonPackage):
homepage = "https://www.dlitz.net/software/pycrypto/"
pypi = "pycrypto/pycrypto-2.6.1.tar.gz"
- version('2.6.1', sha256='f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c')
+ version("2.6.1", sha256="f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c")
# depends_on('py-setuptools', type='build')
- depends_on('gmp')
+ depends_on("gmp")
diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py
index 685938da52..f2ce98ef57 100644
--- a/var/spack/repos/builtin/packages/py-pycuda/package.py
+++ b/var/spack/repos/builtin/packages/py-pycuda/package.py
@@ -15,36 +15,36 @@ class PyPycuda(PythonPackage):
homepage = "https://mathema.tician.de/software/pycuda/"
pypi = "pycuda/pycuda-2019.1.2.tar.gz"
- version('2021.1', sha256='ab87312d0fc349d9c17294a087bb9615cffcf966ad7b115f5b051008a48dd6ed')
- version('2020.1', sha256='effa3b99b55af67f3afba9b0d1b64b4a0add4dd6a33bdd6786df1aa4cc8761a5')
- version('2019.1.2', sha256='ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a')
- version('2016.1.2', sha256='a7dbdac7e2f0c0d2ad98f5f281d5a9d29d6673b3c20210e261b96e9a2d0b6e37')
+ version("2021.1", sha256="ab87312d0fc349d9c17294a087bb9615cffcf966ad7b115f5b051008a48dd6ed")
+ version("2020.1", sha256="effa3b99b55af67f3afba9b0d1b64b4a0add4dd6a33bdd6786df1aa4cc8761a5")
+ version("2019.1.2", sha256="ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a")
+ version("2016.1.2", sha256="a7dbdac7e2f0c0d2ad98f5f281d5a9d29d6673b3c20210e261b96e9a2d0b6e37")
- @run_before('install')
+ @run_before("install")
def configure(self):
- pyver = self.spec['python'].version.up_to(2).joined
- boostlib = 'boost_python{0}'.format(pyver)
+ pyver = self.spec["python"].version.up_to(2).joined
+ boostlib = "boost_python{0}".format(pyver)
configure_args = [
- '--no-use-shipped-boost',
- '--boost-inc-dir={0}'.format(self.spec['boost'].prefix.include),
- '--boost-lib-dir={0}'.format(self.spec['boost'].libs.directories[0]),
- '--boost-python-libname={0}'.format(boostlib)
+ "--no-use-shipped-boost",
+ "--boost-inc-dir={0}".format(self.spec["boost"].prefix.include),
+ "--boost-lib-dir={0}".format(self.spec["boost"].libs.directories[0]),
+ "--boost-python-libname={0}".format(boostlib),
]
- python('configure.py', *configure_args)
+ python("configure.py", *configure_args)
- depends_on('py-setuptools', type='build')
- depends_on('cuda')
- depends_on('boost+python')
+ depends_on("py-setuptools", type="build")
+ depends_on("cuda")
+ depends_on("boost+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('python@3.6:3', type=('build', 'run'), when='@2020.1:')
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-pytools@2011.2:', type=('build', 'run'))
- depends_on('py-six', type='run', when='@:2020.1')
- depends_on('py-decorator@3.2.0:', type=('build', 'run'), when='@:2020.1')
- depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
- depends_on('py-mako', type=('build', 'run'))
-
- depends_on('cuda@:8.0.61', when='@2016.1.2')
+ depends_on("python@3.6:3", type=("build", "run"), when="@2020.1:")
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-pytools@2011.2:", type=("build", "run"))
+ depends_on("py-six", type="run", when="@:2020.1")
+ depends_on("py-decorator@3.2.0:", type=("build", "run"), when="@:2020.1")
+ depends_on("py-appdirs@1.4.0:", type=("build", "run"))
+ depends_on("py-mako", type=("build", "run"))
+
+ depends_on("cuda@:8.0.61", when="@2016.1.2")
diff --git a/var/spack/repos/builtin/packages/py-pycurl/package.py b/var/spack/repos/builtin/packages/py-pycurl/package.py
index 9d2609d69b..60f594d1c5 100644
--- a/var/spack/repos/builtin/packages/py-pycurl/package.py
+++ b/var/spack/repos/builtin/packages/py-pycurl/package.py
@@ -13,10 +13,10 @@ class PyPycurl(PythonPackage):
homepage = "http://pycurl.io/"
pypi = "pycurl/pycurl-7.43.0.tar.gz"
- version('7.44.1', sha256='5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8')
- version('7.43.0', sha256='aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c')
+ version("7.44.1", sha256="5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8")
+ version("7.43.0", sha256="aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('python@3.5:', when='@7.44.1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('curl@7.19.0:')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("python@3.5:", when="@7.44.1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("curl@7.19.0:")
diff --git a/var/spack/repos/builtin/packages/py-pydantic/package.py b/var/spack/repos/builtin/packages/py-pydantic/package.py
index 03869bd1e5..eaabc3c37d 100644
--- a/var/spack/repos/builtin/packages/py-pydantic/package.py
+++ b/var/spack/repos/builtin/packages/py-pydantic/package.py
@@ -10,11 +10,11 @@ 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"
+ pypi = "pydantic/pydantic-1.8.2.tar.gz"
- version('1.8.2', sha256='26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b')
+ 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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-pydap/package.py b/var/spack/repos/builtin/packages/py-pydap/package.py
index 9d622c6cbe..9a01e37e5f 100644
--- a/var/spack/repos/builtin/packages/py-pydap/package.py
+++ b/var/spack/repos/builtin/packages/py-pydap/package.py
@@ -10,15 +10,15 @@ class PyPydap(PythonPackage):
"""An implementation of the Data Access Protocol."""
homepage = "https://www.pydap.org/en/latest/"
- pypi = "Pydap/Pydap-3.2.2.tar.gz"
+ pypi = "Pydap/Pydap-3.2.2.tar.gz"
- version('3.2.2', sha256='86326642e24f421595a74b0f9986da76d7932b277768f501fe214d72592bdc40')
+ version("3.2.2", sha256="86326642e24f421595a74b0f9986da76d7932b277768f501fe214d72592bdc40")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-webob', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-docopt', type=('build', 'run'))
- depends_on('py-six@1.4.0:', type=('build', 'run'))
- depends_on('py-beautifulsoup4', type=('build', 'run'))
- depends_on('py-singledispatch', when='^python@:3.4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-webob", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-docopt", type=("build", "run"))
+ depends_on("py-six@1.4.0:", type=("build", "run"))
+ depends_on("py-beautifulsoup4", type=("build", "run"))
+ depends_on("py-singledispatch", when="^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydatalog/package.py b/var/spack/repos/builtin/packages/py-pydatalog/package.py
index e7a3e65c86..a852832eaf 100644
--- a/var/spack/repos/builtin/packages/py-pydatalog/package.py
+++ b/var/spack/repos/builtin/packages/py-pydatalog/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class PyPydatalog(PythonPackage):
"""pyDatalog adds logic programming to Python."""
- pypi = 'pyDatalog/pyDatalog-0.17.1.zip'
- version('0.17.1', sha256='b3d9cff0b9431e0fd0b2d5eefe4414c3d3c20bd18fdd7d1b42b2f01f25bac808')
+ pypi = "pyDatalog/pyDatalog-0.17.1.zip"
+
+ version("0.17.1", sha256="b3d9cff0b9431e0fd0b2d5eefe4414c3d3c20bd18fdd7d1b42b2f01f25bac808")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pydeprecate/package.py b/var/spack/repos/builtin/packages/py-pydeprecate/package.py
index 7f29c1530a..0e69c019df 100644
--- a/var/spack/repos/builtin/packages/py-pydeprecate/package.py
+++ b/var/spack/repos/builtin/packages/py-pydeprecate/package.py
@@ -11,10 +11,10 @@ class PyPydeprecate(PythonPackage):
to the new successors' instance."""
homepage = "https://borda.github.io/pyDeprecate/"
- pypi = "pyDeprecate/pyDeprecate-0.3.0.tar.gz"
+ pypi = "pyDeprecate/pyDeprecate-0.3.0.tar.gz"
- version('0.3.1', sha256='fa26870924d3475621c344045c2c01a16ba034113a902600c78e75b3fac5f72c')
- version('0.3.0', sha256='335742ec53b9d22a0a9ff4f3470300c94935f6e169c74b08aee14d871ca40e00')
+ version("0.3.1", sha256="fa26870924d3475621c344045c2c01a16ba034113a902600c78e75b3fac5f72c")
+ version("0.3.0", sha256="335742ec53b9d22a0a9ff4f3470300c94935f6e169c74b08aee14d871ca40e00")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pydeps/package.py b/var/spack/repos/builtin/packages/py-pydeps/package.py
index 23a6750958..b22793b422 100644
--- a/var/spack/repos/builtin/packages/py-pydeps/package.py
+++ b/var/spack/repos/builtin/packages/py-pydeps/package.py
@@ -12,10 +12,10 @@ class PyPydeps(PythonPackage):
pypi = "pydeps/pydeps-1.7.1.tar.gz"
- version('1.9.0', sha256='ba9b8c7d72cb4dfd3f4dd6b8a250c240d15824850a415fd428f2660ed371361f')
- version('1.7.1', sha256='7eeb8d0ec2713befe81dd0d15eac540e843b1daae13613df1c572528552d6340')
+ version("1.9.0", sha256="ba9b8c7d72cb4dfd3f4dd6b8a250c240d15824850a415fd428f2660ed371361f")
+ version("1.7.1", sha256="7eeb8d0ec2713befe81dd0d15eac540e843b1daae13613df1c572528552d6340")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-stdlib-list', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-stdlib-list", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydicom/package.py b/var/spack/repos/builtin/packages/py-pydicom/package.py
index 9967f5c033..5884147c72 100644
--- a/var/spack/repos/builtin/packages/py-pydicom/package.py
+++ b/var/spack/repos/builtin/packages/py-pydicom/package.py
@@ -13,12 +13,12 @@ class PyPydicom(PythonPackage):
read, modify and write DICOM data in an easy "pythonic" way."""
homepage = "https://github.com/pydicom/pydicom"
- pypi = "pydicom/pydicom-2.1.2.tar.gz"
+ pypi = "pydicom/pydicom-2.1.2.tar.gz"
- version('2.1.2', sha256='65f36820c5fec24b4e7ca45b7dae93e054ed269d55f92681863d39d30459e2fd')
+ version("2.1.2", sha256="65f36820c5fec24b4e7ca45b7dae93e054ed269d55f92681863d39d30459e2fd")
- variant('numpy', default=False, description='Use NumPy for Pixel data')
+ variant("numpy", default=False, description="Use NumPy for Pixel data")
- depends_on('python@3.6.1:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy', when='+numpy', type='run')
+ depends_on("python@3.6.1:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy", when="+numpy", type="run")
diff --git a/var/spack/repos/builtin/packages/py-pydispatcher/package.py b/var/spack/repos/builtin/packages/py-pydispatcher/package.py
index 0cfcc9e514..70f9d4cd0f 100644
--- a/var/spack/repos/builtin/packages/py-pydispatcher/package.py
+++ b/var/spack/repos/builtin/packages/py-pydispatcher/package.py
@@ -12,6 +12,6 @@ class PyPydispatcher(PythonPackage):
homepage = "http://pydispatcher.sourceforge.net/"
pypi = "PyDispatcher/PyDispatcher-2.0.5.tar.gz"
- version('2.0.5', sha256='5570069e1b1769af1fe481de6dd1d3a388492acddd2cdad7a3bde145615d5caf')
+ version("2.0.5", sha256="5570069e1b1769af1fe481de6dd1d3a388492acddd2cdad7a3bde145615d5caf")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pydmd/package.py b/var/spack/repos/builtin/packages/py-pydmd/package.py
index 56d3490142..2f5c2762d6 100644
--- a/var/spack/repos/builtin/packages/py-pydmd/package.py
+++ b/var/spack/repos/builtin/packages/py-pydmd/package.py
@@ -12,34 +12,34 @@ class PyPydmd(PythonPackage):
coherent structures."""
homepage = "https://mathlab.github.io/PyDMD/"
- url = "https://github.com/mathLab/PyDMD/archive/v0.3.tar.gz"
+ url = "https://github.com/mathLab/PyDMD/archive/v0.3.tar.gz"
- version('0.3', sha256='f490fc139677e4d9fc1240636a2c5992d22879517c9574d13164dc5179b0f785')
+ version("0.3", sha256="f490fc139677e4d9fc1240636a2c5992d22879517c9574d13164dc5179b0f785")
- variant('docs', default=False, description='Build HTML documentation')
+ variant("docs", default=False, description="Build HTML documentation")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-nose', type='test')
- depends_on('texlive', type='build', when='+docs')
- depends_on('py-sphinx@1.4.0:1.4', type='build', when='+docs')
- depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-nose", type="test")
+ depends_on("texlive", type="build", when="+docs")
+ depends_on("py-sphinx@1.4.0:1.4", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
# https://github.com/mathLab/PyDMD/pull/133
- patch('isuue-133.patch', when='@0.3')
+ patch("isuue-133.patch", when="@0.3")
- @run_after('install')
+ @run_after("install")
def install_docs(self):
- if '+docs' in self.spec:
- with working_dir('docs'):
- make('html')
- install_tree('docs', self.prefix.docs)
+ if "+docs" in self.spec:
+ with working_dir("docs"):
+ make("html")
+ install_tree("docs", self.prefix.docs)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
- python('test.py')
+ python("test.py")
diff --git a/var/spack/repos/builtin/packages/py-pydocstyle/package.py b/var/spack/repos/builtin/packages/py-pydocstyle/package.py
index 7fa31efe94..3db3867edf 100644
--- a/var/spack/repos/builtin/packages/py-pydocstyle/package.py
+++ b/var/spack/repos/builtin/packages/py-pydocstyle/package.py
@@ -10,13 +10,13 @@ class PyPydocstyle(PythonPackage):
"""Python docstring style checker."""
homepage = "https://github.com/PyCQA/pydocstyle/"
- pypi = "pydocstyle/pydocstyle-6.1.1.tar.gz"
+ pypi = "pydocstyle/pydocstyle-6.1.1.tar.gz"
- version('6.1.1', sha256='1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc')
+ version("6.1.1", sha256="1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc")
- variant('toml', default=True, description='Allow pydocstyle to read pyproject.toml')
+ variant("toml", default=True, description="Allow pydocstyle to read pyproject.toml")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-snowballstemmer', type=('build', 'run'))
- depends_on('py-toml', when='+toml', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-snowballstemmer", type=("build", "run"))
+ depends_on("py-toml", when="+toml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydoe/package.py b/var/spack/repos/builtin/packages/py-pydoe/package.py
index 1f39e4a717..37271b7368 100644
--- a/var/spack/repos/builtin/packages/py-pydoe/package.py
+++ b/var/spack/repos/builtin/packages/py-pydoe/package.py
@@ -11,10 +11,10 @@ class PyPydoe(PythonPackage):
statistician, etc., to construct appropriate experimental designs"""
homepage = "https://github.com/tisimst/pyDOE"
- pypi = "pyDOE/pyDOE-0.3.8.zip"
+ pypi = "pyDOE/pyDOE-0.3.8.zip"
- version('0.3.8', sha256='cbd6f14ae26d3c9f736013205f53ea1191add4567033c3ee77b7dd356566c4b6')
+ version("0.3.8", sha256="cbd6f14ae26d3c9f736013205f53ea1191add4567033c3ee77b7dd356566c4b6")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydoe2/package.py b/var/spack/repos/builtin/packages/py-pydoe2/package.py
index 437e509fd0..887a8c7b69 100644
--- a/var/spack/repos/builtin/packages/py-pydoe2/package.py
+++ b/var/spack/repos/builtin/packages/py-pydoe2/package.py
@@ -12,10 +12,10 @@ class PyPydoe2(PythonPackage):
experimental designs."""
homepage = "https://github.com/clicumu/pyDOE2"
- pypi = "pyDOE2/pyDOE2-1.3.0.tar.gz"
+ pypi = "pyDOE2/pyDOE2-1.3.0.tar.gz"
- version('1.3.0', sha256='5492b0f984af52da3af20b1cd61deb21b067c858e65243ec3ba573375f0d6720')
+ version("1.3.0", sha256="5492b0f984af52da3af20b1cd61deb21b067c858e65243ec3ba573375f0d6720")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydot/package.py b/var/spack/repos/builtin/packages/py-pydot/package.py
index 92e43ebb6e..fb73a216b2 100644
--- a/var/spack/repos/builtin/packages/py-pydot/package.py
+++ b/var/spack/repos/builtin/packages/py-pydot/package.py
@@ -12,12 +12,12 @@ class PyPydot(PythonPackage):
homepage = "https://github.com/erocarrera/pydot/"
pypi = "pydot/pydot-1.2.3.tar.gz"
- version('1.4.2', sha256='248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d')
- version('1.4.1', sha256='d49c9d4dd1913beec2a997f831543c8cbd53e535b1a739e921642fe416235f01')
- version('1.2.3', sha256='edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502')
- version('1.2.2', sha256='04a97a885ed418dcc193135cc525fa356cad8b16719293295a149b30718ce400')
+ version("1.4.2", sha256="248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d")
+ version("1.4.1", sha256="d49c9d4dd1913beec2a997f831543c8cbd53e535b1a739e921642fe416235f01")
+ version("1.2.3", sha256="edb5d3f249f97fbd9c4bb16959e61bc32ecf40eee1a9f6d27abe8d01c0a73502")
+ version("1.2.2", sha256="04a97a885ed418dcc193135cc525fa356cad8b16719293295a149b30718ce400")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@1.3.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing@2.1.4:', type=('build', 'run'))
- depends_on('graphviz', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@1.3.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing@2.1.4:", type=("build", "run"))
+ depends_on("graphviz", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydot2/package.py b/var/spack/repos/builtin/packages/py-pydot2/package.py
index 1c472a0eb3..64516016b3 100644
--- a/var/spack/repos/builtin/packages/py-pydot2/package.py
+++ b/var/spack/repos/builtin/packages/py-pydot2/package.py
@@ -11,7 +11,7 @@ class PyPydot2(PythonPackage):
pypi = "pydot2/pydot2-1.0.33.tar.gz"
- version('1.0.33', sha256='02c0e681a1c437077e2bb2522fb81fa322e53ba7002cfda8b894db0392a1bc9b')
+ version("1.0.33", sha256="02c0e681a1c437077e2bb2522fb81fa322e53ba7002cfda8b894db0392a1bc9b")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydotplus/package.py b/var/spack/repos/builtin/packages/py-pydotplus/package.py
index 73605f86cf..a96ea1bc10 100644
--- a/var/spack/repos/builtin/packages/py-pydotplus/package.py
+++ b/var/spack/repos/builtin/packages/py-pydotplus/package.py
@@ -12,12 +12,12 @@ class PyPydotplus(PythonPackage):
homepage = "https://pydotplus.readthedocs.io/"
pypi = "pydotplus/pydotplus-2.0.2.tar.gz"
- version('2.0.2', sha256='91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4')
+ version("2.0.2", sha256="91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4")
- variant('docs', default=False, description='Build docs')
+ variant("docs", default=False, description="Build docs")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing@2.0.1:', type=('build', 'run'))
- depends_on('py-sphinx', type='build', when='+docs')
- depends_on('py-sphinx-rtd-theme', type='build', when='+docs')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing@2.0.1:", type=("build", "run"))
+ depends_on("py-sphinx", type="build", when="+docs")
+ depends_on("py-sphinx-rtd-theme", type="build", when="+docs")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pydv/package.py b/var/spack/repos/builtin/packages/py-pydv/package.py
index 0af235934f..2090ed4f84 100644
--- a/var/spack/repos/builtin/packages/py-pydv/package.py
+++ b/var/spack/repos/builtin/packages/py-pydv/package.py
@@ -11,14 +11,14 @@ class PyPydv(PythonPackage):
ULTRA plotting tool"""
homepage = "https://github.com/griffin28/PyDV"
- url = "https://github.com/griffin28/PyDV/archive/pydv-2.4.2.tar.gz"
+ url = "https://github.com/griffin28/PyDV/archive/pydv-2.4.2.tar.gz"
- version('2.4.2', sha256='46bda76e27e85beaad446455d0cc279388d455f05912a8ff8e4fb66de983992c')
+ version("2.4.2", sha256="46bda76e27e85beaad446455d0cc279388d455f05912a8ff8e4fb66de983992c")
- depends_on('py-setuptools', type='build')
- depends_on('py-backports-functools-lru-cache', type=('build', 'run'))
- depends_on('py-cycler', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-pyside', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-backports-functools-lru-cache", type=("build", "run"))
+ depends_on("py-cycler", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-pyside", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyeda/package.py b/var/spack/repos/builtin/packages/py-pyeda/package.py
index 749df511b7..45cdec4add 100644
--- a/var/spack/repos/builtin/packages/py-pyeda/package.py
+++ b/var/spack/repos/builtin/packages/py-pyeda/package.py
@@ -12,7 +12,7 @@ class PyPyeda(PythonPackage):
homepage = "https://github.com/cjdrake/pyeda"
pypi = "pyeda/pyeda-0.28.0.tar.gz"
- version('0.28.0', sha256='07185f458d5d0b2ba5058da8b95dad6ab7684ceaf41237a25bcd3f005490f59d')
+ version("0.28.0", sha256="07185f458d5d0b2ba5058da8b95dad6ab7684ceaf41237a25bcd3f005490f59d")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyelftools/package.py b/var/spack/repos/builtin/packages/py-pyelftools/package.py
index faad819cf4..b0995bcc3d 100644
--- a/var/spack/repos/builtin/packages/py-pyelftools/package.py
+++ b/var/spack/repos/builtin/packages/py-pyelftools/package.py
@@ -8,10 +8,11 @@ from spack.package import *
class PyPyelftools(PythonPackage):
"""A pure-Python library for parsing and analyzing ELF files and DWARF
- debugging information"""
+ debugging information"""
+
pypi = "pyelftools/pyelftools-0.26.tar.gz"
- version('0.26', sha256='86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2')
- version('0.23', sha256='fc57aadd096e8f9b9b03f1a9578f673ee645e1513a5ff0192ef439e77eab21de')
+ version("0.26", sha256="86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2")
+ version("0.23", sha256="fc57aadd096e8f9b9b03f1a9578f673ee645e1513a5ff0192ef439e77eab21de")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyem/package.py b/var/spack/repos/builtin/packages/py-pyem/package.py
index d8e5ea436b..d4b040ee2f 100644
--- a/var/spack/repos/builtin/packages/py-pyem/package.py
+++ b/var/spack/repos/builtin/packages/py-pyem/package.py
@@ -14,10 +14,10 @@ class PyPyem(PythonPackage):
commands against virtual environments created against
various Python interpreters."""
- pypi = "pyem/pyem-2.1.0.tar.gz"
+ pypi = "pyem/pyem-2.1.0.tar.gz"
- version('2.1.0', sha256='5234a20427ab2813a8a0bf1e9112d4d854b1b0502b3e63d17c1b1a3c4be9340e')
+ version("2.1.0", sha256="5234a20427ab2813a8a0bf1e9112d4d854b1b0502b3e63d17c1b1a3c4be9340e")
- depends_on('python@3.7:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyepsg/package.py b/var/spack/repos/builtin/packages/py-pyepsg/package.py
index 410d0fa5e7..ece8ed6c73 100644
--- a/var/spack/repos/builtin/packages/py-pyepsg/package.py
+++ b/var/spack/repos/builtin/packages/py-pyepsg/package.py
@@ -12,8 +12,8 @@ class PyPyepsg(PythonPackage):
homepage = "https://pyepsg.readthedocs.io/en/latest/"
pypi = "pyepsg/pyepsg-0.3.2.tar.gz"
- version('0.4.0', sha256='2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7')
- version('0.3.2', sha256='597ef8c0e8c1be3db8f68c5985bcfbbc32e22f087e93e81ceb03ff094898e059')
+ version("0.4.0", sha256="2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7")
+ version("0.3.2", sha256="597ef8c0e8c1be3db8f68c5985bcfbbc32e22f087e93e81ceb03ff094898e059")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyface/package.py b/var/spack/repos/builtin/packages/py-pyface/package.py
index 5b4fa42366..090dc0445b 100644
--- a/var/spack/repos/builtin/packages/py-pyface/package.py
+++ b/var/spack/repos/builtin/packages/py-pyface/package.py
@@ -17,37 +17,42 @@ class PyPyface(PythonPackage):
homepage = "https://docs.enthought.com/pyface"
pypi = "pyface/pyface-6.1.2.tar.gz"
- version('7.3.0', sha256='a7031ec4cfff034affc822e47ff5e6c1a0272e576d79465cdbbe25f721740322')
- version('6.1.2', sha256='7c2ac3d5cbec85e8504b3b0b63e9307be12c6d710b46bae372ce6562d41f4fbc')
-
- variant('backend', default='pyqt5', description='Default backend',
- values=('wx', 'pyqt', 'pyqt5', 'pyside', 'pyside2'), multi=False)
-
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib-metadata', when='@7.2:', type=('build', 'run'))
- depends_on('py-importlib-resources@1.1:', when='@7.2:', type=('build', 'run'))
- depends_on('py-traits@6.2:', when='@7.3:', type=('build', 'run'))
- depends_on('py-traits@6:', when='@7:', type=('build', 'run'))
- depends_on('py-traits', type=('build', 'run'))
-
- conflicts('backend=pyside', when='@7.3:')
- conflicts('backend=pyside2', when='@:6')
+ version("7.3.0", sha256="a7031ec4cfff034affc822e47ff5e6c1a0272e576d79465cdbbe25f721740322")
+ version("6.1.2", sha256="7c2ac3d5cbec85e8504b3b0b63e9307be12c6d710b46bae372ce6562d41f4fbc")
+
+ variant(
+ "backend",
+ default="pyqt5",
+ description="Default backend",
+ values=("wx", "pyqt", "pyqt5", "pyside", "pyside2"),
+ multi=False,
+ )
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib-metadata", when="@7.2:", type=("build", "run"))
+ depends_on("py-importlib-resources@1.1:", when="@7.2:", type=("build", "run"))
+ depends_on("py-traits@6.2:", when="@7.3:", type=("build", "run"))
+ depends_on("py-traits@6:", when="@7:", type=("build", "run"))
+ depends_on("py-traits", type=("build", "run"))
+
+ conflicts("backend=pyside", when="@7.3:")
+ conflicts("backend=pyside2", when="@:6")
# Backends
- with when('backend=wx'):
- depends_on('py-wxpython@4:', when='@7:', type=('build', 'run'))
- depends_on('py-wxpython@2.8.10:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- with when('backend=pyqt'):
- depends_on('py-pyqt4@4.10:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyqt5'):
- depends_on('py-pyqt5@5:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyside'):
- depends_on('py-pyside@1.2:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyside2'):
- depends_on('py-pyside2', type=('build', 'run'))
- depends_on('py-shiboken2', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
+ with when("backend=wx"):
+ depends_on("py-wxpython@4:", when="@7:", type=("build", "run"))
+ depends_on("py-wxpython@2.8.10:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ with when("backend=pyqt"):
+ depends_on("py-pyqt4@4.10:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyqt5"):
+ depends_on("py-pyqt5@5:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyside"):
+ depends_on("py-pyside@1.2:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyside2"):
+ depends_on("py-pyside2", type=("build", "run"))
+ depends_on("py-shiboken2", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyfaidx/package.py b/var/spack/repos/builtin/packages/py-pyfaidx/package.py
index 48d2d09d67..215abfda82 100644
--- a/var/spack/repos/builtin/packages/py-pyfaidx/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfaidx/package.py
@@ -11,9 +11,9 @@ class PyPyfaidx(PythonPackage):
pypi = "pyfaidx/pyfaidx-0.5.5.2.tar.gz"
- version('0.5.5.2', sha256='9ac22bdc7b9c5d995d32eb9dc278af9ba970481636ec75c0d687d38c26446caa')
+ version("0.5.5.2", sha256="9ac22bdc7b9c5d995d32eb9dc278af9ba970481636ec75c0d687d38c26446caa")
- depends_on('py-setuptools@0.7:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
+ depends_on("py-setuptools@0.7:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-ordereddict", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-argparse", type=("build", "run"), when="^python@:2.6,3.0:3.1")
diff --git a/var/spack/repos/builtin/packages/py-pyfasta/package.py b/var/spack/repos/builtin/packages/py-pyfasta/package.py
index 25e486d200..507a140e7d 100644
--- a/var/spack/repos/builtin/packages/py-pyfasta/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfasta/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyPyfasta(PythonPackage):
"""Pyfasta: fast, memory-efficient, pythonic (and command-line)
- access to fasta sequence files"""
+ access to fasta sequence files"""
pypi = "pyfasta/pyfasta-0.5.2.tar.gz"
- version('0.5.2', sha256='ab08d75fa90253bc91933d10567d5d9cca2718f4796ef3bdc36b68df0e45b258')
+ version("0.5.2", sha256="ab08d75fa90253bc91933d10567d5d9cca2718f4796ef3bdc36b68df0e45b258")
- depends_on('python@2.6:')
- depends_on('py-setuptools')
- depends_on('py-numpy')
+ depends_on("python@2.6:")
+ depends_on("py-setuptools")
+ depends_on("py-numpy")
diff --git a/var/spack/repos/builtin/packages/py-pyfftw/package.py b/var/spack/repos/builtin/packages/py-pyfftw/package.py
index f89483c3ed..1647bc2bbe 100644
--- a/var/spack/repos/builtin/packages/py-pyfftw/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfftw/package.py
@@ -13,15 +13,15 @@ class PyPyfftw(PythonPackage):
homepage = "http://hgomersall.github.com/pyFFTW"
pypi = "pyFFTW/pyFFTW-0.10.4.tar.gz"
- version('0.12.0', sha256='60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0')
- version('0.11.1', sha256='05ea28dede4c3aaaf5c66f56eb0f71849d0d50f5bc0f53ca0ffa69534af14926')
- version('0.10.4', sha256='739b436b7c0aeddf99a48749380260364d2dc027cf1d5f63dafb5f50068ede1a')
+ version("0.12.0", sha256="60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0")
+ version("0.11.1", sha256="05ea28dede4c3aaaf5c66f56eb0f71849d0d50f5bc0f53ca0ffa69534af14926")
+ version("0.10.4", sha256="739b436b7c0aeddf99a48749380260364d2dc027cf1d5f63dafb5f50068ede1a")
- depends_on('fftw')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29:0', type='build')
- depends_on('py-numpy@1.6:', type=('build', 'run'), when='@:0.10.4')
- depends_on('py-numpy@1.10:1', type=('build', 'run'), when='@0.11.0:')
+ depends_on("fftw")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29:0", type="build")
+ depends_on("py-numpy@1.6:", type=("build", "run"), when="@:0.10.4")
+ depends_on("py-numpy@1.10:1", type=("build", "run"), when="@0.11.0:")
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', self.spec['fftw'].libs.search_flags)
+ env.append_flags("LDFLAGS", self.spec["fftw"].libs.search_flags)
diff --git a/var/spack/repos/builtin/packages/py-pyfiglet/package.py b/var/spack/repos/builtin/packages/py-pyfiglet/package.py
index b03417995a..6c00f67cb8 100644
--- a/var/spack/repos/builtin/packages/py-pyfiglet/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfiglet/package.py
@@ -7,16 +7,16 @@ from spack.package import *
class PyPyfiglet(PythonPackage):
- """ pyfiglet is a full port of FIGlet (http://www.figlet.org/)
- into purepython. It takes ASCII text and renders it in ASCII
- art font."""
+ """pyfiglet is a full port of FIGlet (http://www.figlet.org/)
+ into purepython. It takes ASCII text and renders it in ASCII
+ art font."""
homepage = "https://github.com/pwaller/pyfiglet"
pypi = "pyfiglet/pyfiglet-0.7.tar.gz"
- version('0.8.post1', sha256='c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639')
- version('0.8.post0', sha256='2994451ea67c77cd97f81f52087ccae6921d78d9402920995419893a979b5ace')
- version('0.7.6', sha256='97d59651b40da6ddf7e961157c480a7a04b48214d8c7231adc8c15e43aa5d722')
- version('0.7.5', sha256='446194e1fc3257ffc8024eafd3b486394847597f6210278d76bd582850205e12')
+ version("0.8.post1", sha256="c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639")
+ version("0.8.post0", sha256="2994451ea67c77cd97f81f52087ccae6921d78d9402920995419893a979b5ace")
+ version("0.7.6", sha256="97d59651b40da6ddf7e961157c480a7a04b48214d8c7231adc8c15e43aa5d722")
+ version("0.7.5", sha256="446194e1fc3257ffc8024eafd3b486394847597f6210278d76bd582850205e12")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyfits/package.py b/var/spack/repos/builtin/packages/py-pyfits/package.py
index 36b65fa173..bb113a00b2 100644
--- a/var/spack/repos/builtin/packages/py-pyfits/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfits/package.py
@@ -11,9 +11,9 @@ class PyPyfits(PythonPackage):
FITS(Flexible Image Transport System) files."""
homepage = "https://github.com/spacetelescope/pyfits"
- url = "https://github.com/spacetelescope/PyFITS/archive/3.5.tar.gz"
+ url = "https://github.com/spacetelescope/PyFITS/archive/3.5.tar.gz"
- version('3.5', sha256='fd32596ee09170a70ddc87d0dfc5503d860ef6b68abcff486d7aa6993dff6162')
+ version("3.5", sha256="fd32596ee09170a70ddc87d0dfc5503d860ef6b68abcff486d7aa6993dff6162")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyflakes/package.py b/var/spack/repos/builtin/packages/py-pyflakes/package.py
index 5cdd3abc5d..4d828b1bc3 100644
--- a/var/spack/repos/builtin/packages/py-pyflakes/package.py
+++ b/var/spack/repos/builtin/packages/py-pyflakes/package.py
@@ -10,27 +10,27 @@ class PyPyflakes(PythonPackage):
"""A simple program which checks Python source files for errors."""
homepage = "https://github.com/PyCQA/pyflakes"
- pypi = "pyflakes/pyflakes-2.4.0.tar.gz"
+ pypi = "pyflakes/pyflakes-2.4.0.tar.gz"
- version('2.4.0', sha256='05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c')
- version('2.3.0', sha256='e59fd8e750e588358f1b8885e5a4751203a0516e0ee6d34811089ac294c8806f')
- version('2.2.0', sha256='35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8')
- version('2.1.1', sha256='d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2')
- version('2.1.0', sha256='5e8c00e30c464c99e0b501dc160b13a14af7f27d4dffb529c556e30a159e231d')
- version('1.6.0', sha256='8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805')
- version('1.5.0', sha256='aa0d4dff45c0cc2214ba158d29280f8fa1129f3e87858ef825930845146337f4')
- version('1.4.0', sha256='05c8a1702088e9b54acb422f78210afc6074b3472afa7a0a77f0b8aa3f5db605')
- version('1.3.0', sha256='a4f93317c97a9d9ed71d6ecfe08b68e3de9fea3f4d94dcd1d9d83ccbf929bc31')
- version('1.2.3', sha256='2e4a1b636d8809d8f0a69f341acf15b2e401a3221ede11be439911d23ce2139e')
- version('1.2.2', sha256='58741f9d3bffeba8f88452c1eddcf1b3eee464560e4589e4b81de8b3c9e42e4d')
- version('1.2.1', sha256='7e5e3a5e7ce8d1afb9cbcff2bb10cffaf83e1d94ab7c78eb86a715a88c32e22f')
- version('1.2.0', sha256='3633e000ffdc307ff1a7d7450e895ff8813e20b084ef263b5669eef9bc4c7a52')
- version('1.1.0', sha256='e5f959931987e2be178781554b485d52342ec9f1b43f891d2dad07a691c7a89a')
- version('0.9.2', sha256='02691c23ce699f252874b7c27f14cf26e3d4e82b58e5d584f000b7ab5be36a5f')
- version('0.9.1', sha256='baad29ac1e884c7077eb32ed1d9ee5cf30bf4b888329e1fcb51b9aa5298cb3b9')
- version('0.9.0', sha256='4c4d73085ce5de9d8147011c060d129659baa1111d1a5a3035f2bd03f2976538')
+ version("2.4.0", sha256="05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c")
+ version("2.3.0", sha256="e59fd8e750e588358f1b8885e5a4751203a0516e0ee6d34811089ac294c8806f")
+ version("2.2.0", sha256="35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8")
+ version("2.1.1", sha256="d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2")
+ version("2.1.0", sha256="5e8c00e30c464c99e0b501dc160b13a14af7f27d4dffb529c556e30a159e231d")
+ version("1.6.0", sha256="8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805")
+ version("1.5.0", sha256="aa0d4dff45c0cc2214ba158d29280f8fa1129f3e87858ef825930845146337f4")
+ version("1.4.0", sha256="05c8a1702088e9b54acb422f78210afc6074b3472afa7a0a77f0b8aa3f5db605")
+ version("1.3.0", sha256="a4f93317c97a9d9ed71d6ecfe08b68e3de9fea3f4d94dcd1d9d83ccbf929bc31")
+ version("1.2.3", sha256="2e4a1b636d8809d8f0a69f341acf15b2e401a3221ede11be439911d23ce2139e")
+ version("1.2.2", sha256="58741f9d3bffeba8f88452c1eddcf1b3eee464560e4589e4b81de8b3c9e42e4d")
+ version("1.2.1", sha256="7e5e3a5e7ce8d1afb9cbcff2bb10cffaf83e1d94ab7c78eb86a715a88c32e22f")
+ version("1.2.0", sha256="3633e000ffdc307ff1a7d7450e895ff8813e20b084ef263b5669eef9bc4c7a52")
+ version("1.1.0", sha256="e5f959931987e2be178781554b485d52342ec9f1b43f891d2dad07a691c7a89a")
+ version("0.9.2", sha256="02691c23ce699f252874b7c27f14cf26e3d4e82b58e5d584f000b7ab5be36a5f")
+ version("0.9.1", sha256="baad29ac1e884c7077eb32ed1d9ee5cf30bf4b888329e1fcb51b9aa5298cb3b9")
+ version("0.9.0", sha256="4c4d73085ce5de9d8147011c060d129659baa1111d1a5a3035f2bd03f2976538")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
# Most Python packages only require py-setuptools as a build dependency.
# However, py-pyflakes requires py-setuptools during runtime as well.
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyfr/package.py b/var/spack/repos/builtin/packages/py-pyfr/package.py
index c70a9da980..e9d6c39c81 100644
--- a/var/spack/repos/builtin/packages/py-pyfr/package.py
+++ b/var/spack/repos/builtin/packages/py-pyfr/package.py
@@ -41,18 +41,18 @@ class PyPyfr(PythonPackage):
# Required dependencies
depends_on("python@3.9:", type=("build", "run"))
depends_on("py-setuptools", type="build")
- depends_on("py-gimmik@2.2:2", type=('build', 'run'))
- depends_on("py-gimmik@2.3:2", when='@1.14.0:', type=('build', 'run'))
- depends_on("py-h5py@2.10:", type=('build', 'run'))
- depends_on("py-mako@1.0.0:", type=('build', 'run'))
- depends_on("py-mpi4py@3.1.0:", type=('build', 'run'))
- depends_on("py-numpy@1.20:+blas", type=('build', 'run'))
- depends_on("py-platformdirs@2.2.0:", type=('build', 'run'))
- depends_on("py-pytools@2016.2.1:", type=('build', 'run'))
+ depends_on("py-gimmik@2.2:2", type=("build", "run"))
+ depends_on("py-gimmik@2.3:2", when="@1.14.0:", type=("build", "run"))
+ depends_on("py-h5py@2.10:", type=("build", "run"))
+ depends_on("py-mako@1.0.0:", type=("build", "run"))
+ depends_on("py-mpi4py@3.1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.20:+blas", type=("build", "run"))
+ depends_on("py-platformdirs@2.2.0:", type=("build", "run"))
+ depends_on("py-pytools@2016.2.1:", type=("build", "run"))
# Optional dependencies
- depends_on("py-scipy", when="+scipy", type=('build', 'run'))
- depends_on("scotch@6.0:", when="+scotch", type=('run'))
- depends_on("cuda@8.0:", when="+cuda", type=('run'))
- depends_on("rocblas@4.5.0:", when="+hip", type=('run'))
- depends_on("libxsmm@1.18:+shared blas=0 +large_jit_buffer", when="+libxsmm", type=('run'))
+ depends_on("py-scipy", when="+scipy", type=("build", "run"))
+ depends_on("scotch@6.0:", when="+scotch", type=("run"))
+ depends_on("cuda@8.0:", when="+cuda", type=("run"))
+ depends_on("rocblas@4.5.0:", when="+hip", type=("run"))
+ depends_on("libxsmm@1.18:+shared blas=0 +large_jit_buffer", when="+libxsmm", type=("run"))
diff --git a/var/spack/repos/builtin/packages/py-pygdal/package.py b/var/spack/repos/builtin/packages/py-pygdal/package.py
index d4dd85de51..395518cb28 100644
--- a/var/spack/repos/builtin/packages/py-pygdal/package.py
+++ b/var/spack/repos/builtin/packages/py-pygdal/package.py
@@ -20,22 +20,22 @@ class PyPygdal(PythonPackage):
homepage = "https://github.com/nextgis/pygdal"
pypi = "pygdal/pygdal-3.0.1.5.tar.gz"
- version('3.3.2.10', sha256='7fb9eec8aeb36b94389ff9f2b40cdceffefc8c290d813f4908b4acd208ca3a84')
- version('3.3.0.10', sha256='ea0c20bee67fac94fe0b1cb604a4fd0dc600aa8aa15cf9a7b6dc76adeb48670e')
- version('3.0.4.6', sha256='8e39b58cd9465bb5f41786a7cf6a62df93334c104db05a5bfb8181a0be276b86')
- version('3.0.1.5', sha256='1222f69fe5e6b632d0d2a42d3acb8fac80fb4577c05e01969d8cd5548192ccaa')
- version('2.4.2.5', sha256='73386683c0b10ab43b6d64257fca2ba812f53ec61b268de8811565fd9ae9bacd')
- version('2.4.1.6', sha256='5d1af98ad09f59e34e3b332cf20630b532b33c7120295aaaabbccebf58a11aa4')
- version('2.4.0.6', sha256='728d11f3ecae0cd3493cd27dab599a0b6184f5504cc172d49400d88ea2b24a9c')
+ version("3.3.2.10", sha256="7fb9eec8aeb36b94389ff9f2b40cdceffefc8c290d813f4908b4acd208ca3a84")
+ version("3.3.0.10", sha256="ea0c20bee67fac94fe0b1cb604a4fd0dc600aa8aa15cf9a7b6dc76adeb48670e")
+ version("3.0.4.6", sha256="8e39b58cd9465bb5f41786a7cf6a62df93334c104db05a5bfb8181a0be276b86")
+ version("3.0.1.5", sha256="1222f69fe5e6b632d0d2a42d3acb8fac80fb4577c05e01969d8cd5548192ccaa")
+ version("2.4.2.5", sha256="73386683c0b10ab43b6d64257fca2ba812f53ec61b268de8811565fd9ae9bacd")
+ version("2.4.1.6", sha256="5d1af98ad09f59e34e3b332cf20630b532b33c7120295aaaabbccebf58a11aa4")
+ version("2.4.0.6", sha256="728d11f3ecae0cd3493cd27dab599a0b6184f5504cc172d49400d88ea2b24a9c")
- depends_on('python@3.6:', when='@3.3:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.0.0:', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3.3:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.0.0:", type=("build", "run"))
# pygdal's build only works with the specified gdal version
- depends_on('gdal@3.3.2', type=('build', 'link', 'run'), when='@3.3.2.10')
- depends_on('gdal@3.3.0', type=('build', 'link', 'run'), when='@3.3.0.10')
- depends_on('gdal@3.0.4', type=('build', 'link', 'run'), when='@3.0.4.6')
- depends_on('gdal@3.0.1', type=('build', 'link', 'run'), when='@3.0.1.5')
- depends_on('gdal@2.4.2', type=('build', 'link', 'run'), when='@2.4.2.5')
- depends_on('gdal@2.4.1', type=('build', 'link', 'run'), when='@2.4.1.6')
- depends_on('gdal@2.4.0', type=('build', 'link', 'run'), when='@2.4.0.6')
+ depends_on("gdal@3.3.2", type=("build", "link", "run"), when="@3.3.2.10")
+ depends_on("gdal@3.3.0", type=("build", "link", "run"), when="@3.3.0.10")
+ depends_on("gdal@3.0.4", type=("build", "link", "run"), when="@3.0.4.6")
+ depends_on("gdal@3.0.1", type=("build", "link", "run"), when="@3.0.1.5")
+ depends_on("gdal@2.4.2", type=("build", "link", "run"), when="@2.4.2.5")
+ depends_on("gdal@2.4.1", type=("build", "link", "run"), when="@2.4.1.6")
+ depends_on("gdal@2.4.0", type=("build", "link", "run"), when="@2.4.0.6")
diff --git a/var/spack/repos/builtin/packages/py-pygdbmi/package.py b/var/spack/repos/builtin/packages/py-pygdbmi/package.py
index c490f7a8b2..1b39e9fe7d 100644
--- a/var/spack/repos/builtin/packages/py-pygdbmi/package.py
+++ b/var/spack/repos/builtin/packages/py-pygdbmi/package.py
@@ -12,10 +12,10 @@ class PyPygdbmi(PythonPackage):
homepage = "https://github.com/cs01/pygdbmi"
pypi = "pygdbmi/pygdbmi-0.8.2.0.tar.gz"
- version('0.9.0.3', sha256='5bdf2f072e8f2f6471f19f8dcd87d6425c5d8069d47c0a5ffe8d0eff48cb171e')
- version('0.8.2.0', sha256='47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe')
+ version("0.9.0.3", sha256="5bdf2f072e8f2f6471f19f8dcd87d6425c5d8069d47c0a5ffe8d0eff48cb171e")
+ version("0.8.2.0", sha256="47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe")
- depends_on('python@3.5:', type=('build', 'run'), when='@0.9.0.3:')
- depends_on('python@2.7:2.8,3.4:3.6', type=('build', 'run'), when='@0.9.0.0:0.9.0.2')
- depends_on('python@2.7:2.8,3.3:3.6', type=('build', 'run'), when='@:0.8.4.0')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"), when="@0.9.0.3:")
+ depends_on("python@2.7:2.8,3.4:3.6", type=("build", "run"), when="@0.9.0.0:0.9.0.2")
+ depends_on("python@2.7:2.8,3.3:3.6", type=("build", "run"), when="@:0.8.4.0")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pygelf/package.py b/var/spack/repos/builtin/packages/py-pygelf/package.py
index b26762f6d2..c42a70c5a5 100644
--- a/var/spack/repos/builtin/packages/py-pygelf/package.py
+++ b/var/spack/repos/builtin/packages/py-pygelf/package.py
@@ -14,10 +14,10 @@ class PyPygelf(PythonPackage):
pypi = "pygelf/pygelf-0.3.6.tar.gz"
# notify when the package is updated.
- maintainers = ['victorusu', 'vkarak']
+ maintainers = ["victorusu", "vkarak"]
- version('0.4.0', sha256='3693da38794561d42b0556a78af7dcb22d92ea450125577e58089ab89a890ee5')
- version('0.3.6', sha256='3e5bc59e3b5a754556a76ff2c69fcf2003218ad7b5ff8417482fa1f6a7eba5f9')
+ version("0.4.0", sha256="3693da38794561d42b0556a78af7dcb22d92ea450125577e58089ab89a890ee5")
+ version("0.3.6", sha256="3e5bc59e3b5a754556a76ff2c69fcf2003218ad7b5ff8417482fa1f6a7eba5f9")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pygeos/package.py b/var/spack/repos/builtin/packages/py-pygeos/package.py
index 8f91da4cd9..2a9b235464 100644
--- a/var/spack/repos/builtin/packages/py-pygeos/package.py
+++ b/var/spack/repos/builtin/packages/py-pygeos/package.py
@@ -16,16 +16,16 @@ class PyPygeos(PythonPackage):
homepage = "https://github.com/pygeos/pygeos"
pypi = "pygeos/pygeos-0.8.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.10', sha256='8ad4703cf8f983a6878a885765be975709a2fe300e54bc6c8623ddbca4903b6c')
- version('0.9', sha256='c0584b20e95f80ee57277a6eb1e5d7f86600f8b1ef3c627d238e243afdcc0cc7')
- version('0.8', sha256='45b7e1aaa5fc9ff53565ef089fb75c53c419ace8cee18385ec1d7c1515c17cbc')
-
- depends_on('python@3.6:', when='@0.10:', type=('build', 'link', 'run'))
- depends_on('python@3:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.13:', when='@0.9:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.10:', type=('build', 'link', 'run'))
- depends_on('geos@3.5:')
+ maintainers = ["adamjstewart"]
+
+ version("0.10", sha256="8ad4703cf8f983a6878a885765be975709a2fe300e54bc6c8623ddbca4903b6c")
+ version("0.9", sha256="c0584b20e95f80ee57277a6eb1e5d7f86600f8b1ef3c627d238e243afdcc0cc7")
+ version("0.8", sha256="45b7e1aaa5fc9ff53565ef089fb75c53c419ace8cee18385ec1d7c1515c17cbc")
+
+ depends_on("python@3.6:", when="@0.10:", type=("build", "link", "run"))
+ depends_on("python@3:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.13:", when="@0.9:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.10:", type=("build", "link", "run"))
+ depends_on("geos@3.5:")
diff --git a/var/spack/repos/builtin/packages/py-pygetwindow/package.py b/var/spack/repos/builtin/packages/py-pygetwindow/package.py
index 71d4679879..77ea4bd947 100644
--- a/var/spack/repos/builtin/packages/py-pygetwindow/package.py
+++ b/var/spack/repos/builtin/packages/py-pygetwindow/package.py
@@ -11,9 +11,9 @@ class PyPygetwindow(PythonPackage):
information on and controlling application's windows."""
homepage = "https://github.com/asweigart/pygetwindow"
- pypi = "PyGetWindow/PyGetWindow-0.0.9.tar.gz"
+ pypi = "PyGetWindow/PyGetWindow-0.0.9.tar.gz"
- version('0.0.9', sha256='17894355e7d2b305cd832d717708384017c1698a90ce24f6f7fbf0242dd0a688')
+ version("0.0.9", sha256="17894355e7d2b305cd832d717708384017c1698a90ce24f6f7fbf0242dd0a688")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyrect', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyrect", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py
index 5fa776edf1..17ce0e2947 100644
--- a/var/spack/repos/builtin/packages/py-pygit2/package.py
+++ b/var/spack/repos/builtin/packages/py-pygit2/package.py
@@ -14,31 +14,31 @@ class PyPygit2(PythonPackage):
homepage = "https://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')
- version('0.24.1', sha256='4d1d0196b38d6012faf0a7c45e235c208315672b6035da504566c605ba494064')
+ version("1.6.0", sha256="7aacea4e57011777f4774421228e5d0ddb9a6ddb87ac4b542346d17ab12a4d62")
+ version("1.4.0", sha256="cbeb38ab1df9b5d8896548a11e63aae8a064763ab5f1eabe4475e6b8a78ee1c8")
+ version("1.3.0", sha256="0be93f6a8d7cbf0cc79ae2f0afb1993fc055fc0018c27e2bd01ba143e51d4452")
+ version("0.28.2", sha256="4d8c3fbbf2e5793a9984681a94e6ac2f1bc91a92cbac762dbdfbea296b917f86")
+ version("0.24.1", sha256="4d1d0196b38d6012faf0a7c45e235c208315672b6035da504566c605ba494064")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# Version must match with libgit2
# See: https://www.pygit2.org/install.html
- depends_on('libgit2@1.1.0:1.1', when='@1.4:')
- depends_on('libgit2@1.0.0:1.0', when='@1.2:1.3')
- depends_on('libgit2@0:1.0', when='@1.1.0:1.1')
- depends_on('libgit2@0.28.0:0.28', when='@0.28:1.0')
- depends_on('libgit2@0.24:0.27', when='@0.24:0.27')
- depends_on('python@3.6:', when='@1.4.0:')
- depends_on('python@3.6:3.8', when='@1.2:1.3')
- depends_on('python@3.5:3.8', when='@1.0:1.1')
- depends_on('python@2.7:3.7', when='@0.28:0')
- 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:1.5', type=('build', 'run'))
- depends_on('py-cached-property', when='@1.6.0: ^python@:3.7', type=('build', 'run'))
+ depends_on("libgit2@1.1.0:1.1", when="@1.4:")
+ depends_on("libgit2@1.0.0:1.0", when="@1.2:1.3")
+ depends_on("libgit2@0:1.0", when="@1.1.0:1.1")
+ depends_on("libgit2@0.28.0:0.28", when="@0.28:1.0")
+ depends_on("libgit2@0.24:0.27", when="@0.24:0.27")
+ depends_on("python@3.6:", when="@1.4.0:")
+ depends_on("python@3.6:3.8", when="@1.2:1.3")
+ depends_on("python@3.5:3.8", when="@1.0:1.1")
+ depends_on("python@2.7:3.7", when="@0.28:0")
+ 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: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
# https://www.pygit2.org/install.html
- env.set('LIBGIT2', spec['libgit2'].prefix)
- env.set('LIBGIT2_LIB', spec['libgit2'].prefix.lib)
+ env.set("LIBGIT2", spec["libgit2"].prefix)
+ env.set("LIBGIT2_LIB", spec["libgit2"].prefix.lib)
diff --git a/var/spack/repos/builtin/packages/py-pygithub/package.py b/var/spack/repos/builtin/packages/py-pygithub/package.py
index b81b7c058d..9dbbc300b8 100644
--- a/var/spack/repos/builtin/packages/py-pygithub/package.py
+++ b/var/spack/repos/builtin/packages/py-pygithub/package.py
@@ -10,13 +10,13 @@ class PyPygithub(PythonPackage):
"""Use the full Github API v3"""
homepage = "https://pygithub.readthedocs.io/"
- pypi = "PyGithub/PyGithub-1.54.1.tar.gz"
+ pypi = "PyGithub/PyGithub-1.54.1.tar.gz"
- version('1.55', sha256='1bbfff9372047ff3f21d5cd8e07720f3dbfdaf6462fcaed9d815f528f1ba7283')
+ version("1.55", sha256="1bbfff9372047ff3f21d5cd8e07720f3dbfdaf6462fcaed9d815f528f1ba7283")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-deprecated', type=('build', 'run'))
- depends_on('py-pyjwt@2:', type=('build', 'run'))
- depends_on('py-pynacl@1.4.0:', type=('build', 'run'))
- depends_on('py-requests@2.14.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-deprecated", type=("build", "run"))
+ depends_on("py-pyjwt@2:", type=("build", "run"))
+ depends_on("py-pynacl@1.4.0:", type=("build", "run"))
+ depends_on("py-requests@2.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyglet/package.py b/var/spack/repos/builtin/packages/py-pyglet/package.py
index 10f59afd85..329ea3668f 100644
--- a/var/spack/repos/builtin/packages/py-pyglet/package.py
+++ b/var/spack/repos/builtin/packages/py-pyglet/package.py
@@ -14,9 +14,9 @@ class PyPyglet(PythonPackage):
homepage = "https://github.com/pyglet/pygle://github.com/pyglet/pyglet"
pypi = "pyglet/pyglet-1.4.2.tar.gz"
- version('1.4.2', sha256='fda25ae5e99057f05bd339ea7972196d2f44e6fe8fb210951ab01f6609cdbdb7')
- version('1.2.1', sha256='d1afb253d6de230e73698377566da333ef42e1c82190216aa7a0c1b729d6ff4d')
+ version("1.4.2", sha256="fda25ae5e99057f05bd339ea7972196d2f44e6fe8fb210951ab01f6609cdbdb7")
+ version("1.2.1", sha256="d1afb253d6de230e73698377566da333ef42e1c82190216aa7a0c1b729d6ff4d")
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygments-pytest/package.py b/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
index c2bcc2baa4..036526e8a2 100644
--- a/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
@@ -12,6 +12,6 @@ class PyPygmentsPytest(PythonPackage):
homepage = "https://github.com/asottile/pygments-pytest"
pypi = "pygments-pytest/pygments_pytest-1.2.0.tar.gz"
- version('1.2.0', sha256='fc48e2fffd6d3c047a61c1db8b88ab069983f50e733fe70a7846098eb28bc955')
+ version("1.2.0", sha256="fc48e2fffd6d3c047a61c1db8b88ab069983f50e733fe70a7846098eb28bc955")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py
index 248c3989a9..7b9a64bcb4 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -12,15 +12,15 @@ class PyPygments(PythonPackage):
homepage = "https://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')
- version('2.2.0', sha256='dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc')
- version('2.1.3', sha256='88e4c8a91b2af5962bfa5ea2447ec6dd357018e86e94c7d14bd8cacbc5b55d81')
- version('2.0.1', sha256='5e039e1d40d232981ed58914b6d1ac2e453a7e83ddea22ef9f3eeadd01de45cb')
- version('2.0.2', sha256='7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51')
+ version("2.10.0", sha256="f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6")
+ version("2.6.1", sha256="647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44")
+ version("2.4.2", sha256="881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297")
+ version("2.3.1", sha256="5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a")
+ version("2.2.0", sha256="dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc")
+ version("2.1.3", sha256="88e4c8a91b2af5962bfa5ea2447ec6dd357018e86e94c7d14bd8cacbc5b55d81")
+ version("2.0.1", sha256="5e039e1d40d232981ed58914b6d1ac2e453a7e83ddea22ef9f3eeadd01de45cb")
+ version("2.0.2", sha256="7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@:2.5')
- depends_on('python@3.5:', type=('build', 'run'), when='@2.6:')
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@:2.5")
+ depends_on("python@3.5:", type=("build", "run"), when="@2.6:")
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygobject/package.py b/var/spack/repos/builtin/packages/py-pygobject/package.py
index bedde8f3d9..298cbfdcfa 100644
--- a/var/spack/repos/builtin/packages/py-pygobject/package.py
+++ b/var/spack/repos/builtin/packages/py-pygobject/package.py
@@ -8,56 +8,56 @@ from spack.package import *
class PyPygobject(PythonPackage):
"""bindings for the GLib, and GObject,
- to be used in Python."""
+ to be used in Python."""
homepage = "https://pypi.python.org/pypi/pygobject"
- version('3.38.0', sha256='0372d1bb9122fc19f500a249b1f38c2bb67485000f5887497b4b205b3e7084d5')
- version('3.28.3', sha256='3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0')
- version('2.28.6', sha256='fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8')
- version('2.28.3', sha256='7da88c169a56efccc516cebd9237da3fe518a343095a664607b368fe21df95b6',
- url='http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/pygobject-2.28.3.tar.bz2')
+ version("3.38.0", sha256="0372d1bb9122fc19f500a249b1f38c2bb67485000f5887497b4b205b3e7084d5")
+ version("3.28.3", sha256="3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0")
+ version("2.28.6", sha256="fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8")
+ version(
+ "2.28.3",
+ sha256="7da88c169a56efccc516cebd9237da3fe518a343095a664607b368fe21df95b6",
+ url="http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/pygobject-2.28.3.tar.bz2",
+ )
- extends('python')
+ extends("python")
- depends_on('py-setuptools', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("pkgconfig", type="build")
depends_on("libffi")
- depends_on('glib')
- depends_on('python@2.0:2', when='@2.0:2', type=('build', 'run'))
- depends_on('py-pycairo', type=('build', 'run'), when='@3:')
- depends_on('py-py2cairo', type=('build', 'run'), when='@2.0:2')
- depends_on('gobject-introspection')
- depends_on('gtkplus', when='@3:')
+ depends_on("glib")
+ depends_on("python@2.0:2", when="@2.0:2", type=("build", "run"))
+ depends_on("py-pycairo", type=("build", "run"), when="@3:")
+ depends_on("py-py2cairo", type=("build", "run"), when="@2.0:2")
+ depends_on("gobject-introspection")
+ depends_on("gtkplus", when="@3:")
- patch('pygobject-2.28.6-introspection-1.patch', when='@2.28.3:2.28.6')
+ patch("pygobject-2.28.6-introspection-1.patch", when="@2.28.3:2.28.6")
# patch from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/python-modules/pygobject/pygobject-2.28.6-gio-types-2.32.patch
# for https://bugzilla.gnome.org/show_bug.cgi?id=668522
- patch('pygobject-2.28.6-gio-types-2.32.patch', when='@2.28.6')
+ patch("pygobject-2.28.6-gio-types-2.32.patch", when="@2.28.6")
# pygobject links directly using the compiler, not spack's wrapper.
# This causes it to fail to add the appropriate rpaths. This patch modifies
# pygobject's setup.py file to add -Wl,-rpath arguments for dependent
# libraries found with pkg-config.
- patch('pygobject-3.28.3-setup-py.patch', when='@3.28.3')
+ patch("pygobject-3.28.3-setup-py.patch", when="@3.28.3")
def url_for_version(self, version):
- url = 'http://ftp.gnome.org/pub/GNOME/sources/pygobject'
- return url + '/%s/pygobject-%s.tar.xz' % (version.up_to(2), version)
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject"
+ return url + "/%s/pygobject-%s.tar.xz" % (version.up_to(2), version)
# pygobject version 2 requires an autotools build
- @when('@2.0:2')
+ @when("@2.0:2")
def build(self, spec, prefix):
- configure('--prefix=%s' % spec.prefix)
+ configure("--prefix=%s" % spec.prefix)
- @when('@2.0:2')
+ @when("@2.0:2")
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
- @when('^python@3:')
+ @when("^python@3:")
def patch(self):
- filter_file(
- r'Pycairo_IMPORT',
- r'//Pycairo_IMPORT',
- 'gi/pygi-foreign-cairo.c')
+ filter_file(r"Pycairo_IMPORT", r"//Pycairo_IMPORT", "gi/pygi-foreign-cairo.c")
diff --git a/var/spack/repos/builtin/packages/py-pygps/package.py b/var/spack/repos/builtin/packages/py-pygps/package.py
index d2a8c5647c..a637f46944 100644
--- a/var/spack/repos/builtin/packages/py-pygps/package.py
+++ b/var/spack/repos/builtin/packages/py-pygps/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyPygps(PythonPackage):
"""pyGPs is a Python library for Gaussian Process (GP)
- Regression and Classification."""
+ Regression and Classification."""
homepage = "https://github.com/marionmari/pyGPs"
pypi = "pygps/pyGPs-1.3.5.tar.gz"
- version('1.3.5', sha256='5af668415a7bf1666c7c6da3bb09d29e48c395862c6feb23964b476972a015d4')
+ version("1.3.5", sha256="5af668415a7bf1666c7c6da3bb09d29e48c395862c6feb23964b476972a015d4")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@0.13:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@0.13:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygpu/package.py b/var/spack/repos/builtin/packages/py-pygpu/package.py
index 411ea72d34..bb25923b36 100644
--- a/var/spack/repos/builtin/packages/py-pygpu/package.py
+++ b/var/spack/repos/builtin/packages/py-pygpu/package.py
@@ -10,25 +10,25 @@ class PyPygpu(PythonPackage):
"""Python packge for the libgpuarray C library."""
homepage = "https://github.com/Theano/libgpuarray"
- url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz"
+ url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz"
- version('0.7.6', sha256='ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a')
- version('0.7.5', sha256='39c4d2e743848be43c8819c736e089ae51b11aa446cc6ee05af945c2dfd63420')
- version('0.7.2', sha256='ef11ee6f8d62d53831277fd3dcab662aa770a5b5de2d30fe3018c4af959204da')
- version('0.7.1', sha256='4d0f9dd63b0595a8c04d8cee91b2619847c033b011c71d776caa784322382ed6')
- version('0.7.0', sha256='afe7907435dcbf78b3ea9b9f6c97e5a0d4a219a7170f5025ca0db1c289bb88df')
- version('0.6.9', sha256='689716feecb4e495f4d383ec1518cf3ba70a2a642a903cc445b6b6ffc119bc25')
- version('0.6.2', sha256='04756c6270c0ce3b91a9bf01be38c4fc743f5356acc18d9f807198021677bcc8')
- version('0.6.1', sha256='b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5')
- version('0.6.0', sha256='a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af')
+ version("0.7.6", sha256="ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a")
+ version("0.7.5", sha256="39c4d2e743848be43c8819c736e089ae51b11aa446cc6ee05af945c2dfd63420")
+ version("0.7.2", sha256="ef11ee6f8d62d53831277fd3dcab662aa770a5b5de2d30fe3018c4af959204da")
+ version("0.7.1", sha256="4d0f9dd63b0595a8c04d8cee91b2619847c033b011c71d776caa784322382ed6")
+ version("0.7.0", sha256="afe7907435dcbf78b3ea9b9f6c97e5a0d4a219a7170f5025ca0db1c289bb88df")
+ version("0.6.9", sha256="689716feecb4e495f4d383ec1518cf3ba70a2a642a903cc445b6b6ffc119bc25")
+ version("0.6.2", sha256="04756c6270c0ce3b91a9bf01be38c4fc743f5356acc18d9f807198021677bcc8")
+ version("0.6.1", sha256="b2466311e0e3bacdf7a586bba0263f6d232bf9f8d785e91ddb447653741e6ea5")
+ version("0.6.0", sha256="a58a0624e894475a4955aaea25e82261c69b4d22c8f15ec07041a4ba176d35af")
- depends_on('python', type=('build', 'link', 'run'))
- depends_on('libgpuarray@0.7.6', when='@0.7.6')
- depends_on('libgpuarray@0.7.5', when='@0.7.5')
- depends_on('libgpuarray')
+ depends_on("python", type=("build", "link", "run"))
+ depends_on("libgpuarray@0.7.6", when="@0.7.6")
+ depends_on("libgpuarray@0.7.5", when="@0.7.5")
+ depends_on("libgpuarray")
# not just build-time, requires pkg_resources
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-cython@0.25:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'link', 'run'))
- depends_on('py-mako@0.7:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cython@0.25:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "link", "run"))
+ depends_on("py-mako@0.7:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygraphviz/package.py b/var/spack/repos/builtin/packages/py-pygraphviz/package.py
index 53e694e446..d5f0cd56ca 100644
--- a/var/spack/repos/builtin/packages/py-pygraphviz/package.py
+++ b/var/spack/repos/builtin/packages/py-pygraphviz/package.py
@@ -10,12 +10,12 @@ class PyPygraphviz(PythonPackage):
"""Python interface to Graphviz"""
homepage = "https://pygraphviz.github.io/"
- pypi = "pygraphviz/pygraphviz-1.7.zip"
+ pypi = "pygraphviz/pygraphviz-1.7.zip"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('1.7', sha256='a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304')
+ version("1.7", sha256="a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('graphviz')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("graphviz")
diff --git a/var/spack/repos/builtin/packages/py-pygresql/package.py b/var/spack/repos/builtin/packages/py-pygresql/package.py
index d57d849b32..0719b5c8aa 100644
--- a/var/spack/repos/builtin/packages/py-pygresql/package.py
+++ b/var/spack/repos/builtin/packages/py-pygresql/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyPygresql(PythonPackage):
"""PyGreSQL is an open-source Python module that interfaces to a
- PostgreSQL database"""
+ PostgreSQL database"""
homepage = "http://www.pygresql.org"
- url = "http://www.pygresql.org/files/PyGreSQL-5.0.5.tar.gz"
+ url = "http://www.pygresql.org/files/PyGreSQL-5.0.5.tar.gz"
- version('5.0.5', sha256='ff5e76b840600d4912b79daf347b44274a1c0368663e7b57529c406f8426479c')
+ version("5.0.5", sha256="ff5e76b840600d4912b79daf347b44274a1c0368663e7b57529c406f8426479c")
- depends_on('py-setuptools', type='build')
- depends_on('postgresql', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("postgresql", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pygtk/package.py b/var/spack/repos/builtin/packages/py-pygtk/package.py
index e0265ec22f..464c98480e 100644
--- a/var/spack/repos/builtin/packages/py-pygtk/package.py
+++ b/var/spack/repos/builtin/packages/py-pygtk/package.py
@@ -8,27 +8,28 @@ from spack.package import *
class PyPygtk(AutotoolsPackage):
"""bindings for the Gtk2 in Python.
- use pygobject for Gtk3."""
+ use pygobject for Gtk3."""
+
homepage = "http://www.pygtk.org/"
- url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gz"
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gz"
- version('2.24.0', sha256='6e3e54fa6e65a69ac60bd58cb2e60a57f3346ac52efe995f3d10b6c38c972fd8')
+ version("2.24.0", sha256="6e3e54fa6e65a69ac60bd58cb2e60a57f3346ac52efe995f3d10b6c38c972fd8")
- extends('python')
+ extends("python")
- depends_on('pkgconfig', type=('build'))
+ depends_on("pkgconfig", type=("build"))
depends_on("libffi")
# atk@2.28.1 depends on meson which requires python 3
- depends_on('atk@:2.20.0')
+ depends_on("atk@:2.20.0")
# PyGTK requires python 2
# Use py-pygobject@3: for GTK bindings for python 3
- depends_on('python@2.0:2', type=('build', 'run'))
- depends_on('cairo')
- depends_on('glib')
+ depends_on("python@2.0:2", type=("build", "run"))
+ depends_on("cairo")
+ depends_on("glib")
# for GTK 3.X use pygobject 3.X instead of pygtk
- depends_on('gtkplus@2.24:2')
- depends_on('py-pygobject@2.28:2', type=('build', 'run'))
- depends_on('py-py2cairo', type=('build', 'run'))
+ depends_on("gtkplus@2.24:2")
+ depends_on("py-pygobject@2.28:2", type=("build", "run"))
+ depends_on("py-py2cairo", type=("build", "run"))
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/py-pygtrie/package.py b/var/spack/repos/builtin/packages/py-pygtrie/package.py
index b362dc5200..49cf4c86b7 100644
--- a/var/spack/repos/builtin/packages/py-pygtrie/package.py
+++ b/var/spack/repos/builtin/packages/py-pygtrie/package.py
@@ -10,11 +10,11 @@ class PyPygtrie(PythonPackage):
"""A pure Python implementation of a trie data structure."""
homepage = "https://github.com/mina86/pygtrie"
- pypi = "pygtrie/pygtrie-2.4.2.tar.gz"
+ pypi = "pygtrie/pygtrie-2.4.2.tar.gz"
- version('2.4.2', sha256='43205559d28863358dbbf25045029f58e2ab357317a59b11f11ade278ac64692')
- version('2.4.0', sha256='77700d2fcaab321ac65e86c2969fb4b64c116796baf52ab12d07de2e1f6cfc5d')
- version('2.3.2', sha256='6299cdedd2cbdfda0895c2dbc43efe8828e698c62b574f3ef7e14b3253f80e23')
+ version("2.4.2", sha256="43205559d28863358dbbf25045029f58e2ab357317a59b11f11ade278ac64692")
+ version("2.4.0", sha256="77700d2fcaab321ac65e86c2969fb4b64c116796baf52ab12d07de2e1f6cfc5d")
+ version("2.3.2", sha256="6299cdedd2cbdfda0895c2dbc43efe8828e698c62b574f3ef7e14b3253f80e23")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyh5md/package.py b/var/spack/repos/builtin/packages/py-pyh5md/package.py
index de0ad6b2f6..64036e4635 100644
--- a/var/spack/repos/builtin/packages/py-pyh5md/package.py
+++ b/var/spack/repos/builtin/packages/py-pyh5md/package.py
@@ -10,10 +10,10 @@ class PyPyh5md(PythonPackage):
"""Read and write H5MD files."""
homepage = "https://github.com/pdebuyl/pyh5md"
- pypi = "pyh5md/pyh5md-1.0.0.tar.gz"
+ pypi = "pyh5md/pyh5md-1.0.0.tar.gz"
- version('1.0.0', sha256='424cb9737464db5f49996b3be2371e718bf2a27dec0440870bc89591817015d2')
+ version("1.0.0", sha256="424cb9737464db5f49996b3be2371e718bf2a27dec0440870bc89591817015d2")
- depends_on('py-setuptools', type='build')
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyheadtail/package.py b/var/spack/repos/builtin/packages/py-pyheadtail/package.py
index 872373d6e1..812cbb6cda 100644
--- a/var/spack/repos/builtin/packages/py-pyheadtail/package.py
+++ b/var/spack/repos/builtin/packages/py-pyheadtail/package.py
@@ -13,13 +13,13 @@ class PyPyheadtail(PythonPackage):
homepage = "https://github.com/PyCOMPLETE/PyHEADTAIL"
pypi = "PyHEADTAIL/PyHEADTAIL-1.14.1.tar.gz"
- version('1.14.1', sha256='bf90ac7e8764176c55e82c363cad7ab43543863b6ef482760ced23b78e917bb4')
- version('1.13.1', sha256='29c742573a918126b5a9c21806ee0ec6a34ec642a0e6ad200f6d4551bf1bb310')
+ version("1.14.1", sha256="bf90ac7e8764176c55e82c363cad7ab43543863b6ef482760ced23b78e917bb4")
+ version("1.13.1", sha256="29c742573a918126b5a9c21806ee0ec6a34ec642a0e6ad200f6d4551bf1bb310")
- depends_on('python', type=('build', 'run'))
- depends_on('python@3:', when='@1.13.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
+ depends_on("python@3:", when="@1.13.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
index 18ddf39de9..f80cafb9bc 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument-cext/package.py
@@ -12,6 +12,6 @@ class PyPyinstrumentCext(PythonPackage):
homepage = "https://github.com/joerick/pyinstrument_cext"
pypi = "pyinstrument_cext/pyinstrument_cext-0.2.2.tar.gz"
- version('0.2.2', sha256='f29e25f71d74c0415ca9310e5567fff0f5d29f4240a09a885abf8b0eed71cc5b')
+ version("0.2.2", sha256="f29e25f71d74c0415ca9310e5567fff0f5d29f4240a09a885abf8b0eed71cc5b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument/package.py b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
index dca2b989dc..e095b8af9a 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
@@ -12,13 +12,13 @@ class PyPyinstrument(PythonPackage):
homepage = "https://github.com/joerick/pyinstrument"
pypi = "pyinstrument/pyinstrument-4.0.3.tar.gz"
- version('4.0.3', sha256='08caf41d21ae8f24afe79c664a34af1ed1e17aa5d4441cd9b1dc15f87bbbac95')
- version('3.1.3', sha256='353c7000a6563b16c0be0c6a04104d42b3154c5cd7c1979ab66efa5fdc5f5571')
- version('3.1.0', sha256='10c1fed4996a72c3e1e2bac1940334756894dbd116df3cc3b2d9743f2ae43016')
+ 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', 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'))
+ 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", 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"))
diff --git a/var/spack/repos/builtin/packages/py-pyjnius/package.py b/var/spack/repos/builtin/packages/py-pyjnius/package.py
index 889ac49e7e..cf826bb32e 100644
--- a/var/spack/repos/builtin/packages/py-pyjnius/package.py
+++ b/var/spack/repos/builtin/packages/py-pyjnius/package.py
@@ -10,11 +10,11 @@ class PyPyjnius(PythonPackage):
"""Pyjnius is a Python library for accessing Java classes."""
homepage = "https://pyjnius.readthedocs.io/en/stable"
- pypi = "pyjnius/pyjnius-1.3.0.0.tar.gz"
+ pypi = "pyjnius/pyjnius-1.3.0.0.tar.gz"
- version('1.3.0.0', sha256='d20845e75a2d18224e661d0e2bc2ce9141f17472e685cd6579847b0a7b5da6ad')
+ version("1.3.0.0", sha256="d20845e75a2d18224e661d0e2bc2ce9141f17472e685cd6579847b0a7b5da6ad")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six@1.7:', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
- depends_on('java', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-six@1.7:", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
+ depends_on("java", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyjwt/package.py b/var/spack/repos/builtin/packages/py-pyjwt/package.py
index f1b71541fe..777c3922b4 100644
--- a/var/spack/repos/builtin/packages/py-pyjwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyjwt/package.py
@@ -12,13 +12,13 @@ class PyPyjwt(PythonPackage):
homepage = "https://github.com/jpadilla/pyjwt"
pypi = "PyJWT/PyJWT-1.7.1.tar.gz"
- version('2.1.0', sha256='fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130')
- version('1.7.1', sha256='8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96')
+ version("2.1.0", sha256="fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130")
+ version("1.7.1", sha256="8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
- variant('crypto', default=False, description='Build with cryptography support')
+ variant("crypto", default=False, description="Build with cryptography support")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', when='@2.1.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cryptography@1.4:', when='+crypto', type=('build', 'run'))
- depends_on('py-cryptography@3.3.1:3', when='@2.1.0:+crypto', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", when="@2.1.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cryptography@1.4:", when="+crypto", type=("build", "run"))
+ depends_on("py-cryptography@3.3.1:3", when="@2.1.0:+crypto", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyke/package.py b/var/spack/repos/builtin/packages/py-pyke/package.py
index 1b6af7c108..4b084d5c96 100644
--- a/var/spack/repos/builtin/packages/py-pyke/package.py
+++ b/var/spack/repos/builtin/packages/py-pyke/package.py
@@ -13,10 +13,10 @@ class PyPyke(PythonPackage):
"""
homepage = "https://sourceforge.net/projects/pyke"
- url = "https://sourceforge.net/projects/pyke/files/pyke/1.1.1/pyke-1.1.1.zip"
+ url = "https://sourceforge.net/projects/pyke/files/pyke/1.1.1/pyke-1.1.1.zip"
- version('1.1.1', sha256='b0b294f435c6e6d2d4a80badf57d92cb66814dfe21e644a521901209e6a3f8ae')
+ version("1.1.1", sha256="b0b294f435c6e6d2d4a80badf57d92cb66814dfe21e644a521901209e6a3f8ae")
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pykml/package.py b/var/spack/repos/builtin/packages/py-pykml/package.py
index 4268956a87..ce2df0cb23 100644
--- a/var/spack/repos/builtin/packages/py-pykml/package.py
+++ b/var/spack/repos/builtin/packages/py-pykml/package.py
@@ -14,7 +14,7 @@ class PyPykml(PythonPackage):
pypi = "pykml/pykml-0.1.3.tar.gz"
- version('0.1.3', sha256='e1a133e582f0b4652a6b00bac970b446d90580664e5a634a670731c990ff9f05')
+ version("0.1.3", sha256="e1a133e582f0b4652a6b00bac970b446d90580664e5a634a670731c990ff9f05")
- depends_on('py-setuptools', type='build')
- depends_on('py-lxml@2.2.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-lxml@2.2.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
index 83eb03db52..5d3427b4bb 100644
--- a/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
+++ b/var/spack/repos/builtin/packages/py-pykokkos-base/package.py
@@ -9,54 +9,54 @@ from spack.package import *
class PyPykokkosBase(CMakePackage, PythonPackage):
- '''Minimal set of bindings for Kokkos interoperability with Python
- (initialize, finalize, View, DynRankView, Kokkos-tools)'''
+ """Minimal set of bindings for Kokkos interoperability with Python
+ (initialize, finalize, View, DynRankView, Kokkos-tools)"""
- homepage = 'https://github.com/kokkos/pykokkos-base.git'
- git = 'https://github.com/kokkos/pykokkos-base.git'
- maintainers = ['jrmadsen']
+ homepage = "https://github.com/kokkos/pykokkos-base.git"
+ git = "https://github.com/kokkos/pykokkos-base.git"
+ maintainers = ["jrmadsen"]
- version('main', branch='main', submodules=False)
- version('0.0.5', commit='45f6e892c007ab124fabb3a545f4744537eafb55', submodules=False)
- version('0.0.4', commit='2efe1220d0128d3f2d371c9ed5234c4978d73a77', submodules=False)
- version('0.0.3', commit='4fe4421ac624ba2efe1eee265153e690622a18a5', submodules=False)
+ version("main", branch="main", submodules=False)
+ version("0.0.5", commit="45f6e892c007ab124fabb3a545f4744537eafb55", submodules=False)
+ version("0.0.4", commit="2efe1220d0128d3f2d371c9ed5234c4978d73a77", submodules=False)
+ version("0.0.3", commit="4fe4421ac624ba2efe1eee265153e690622a18a5", submodules=False)
variant(
- 'layouts',
+ "layouts",
default=True,
- description='Build Kokkos View/DynRankView with layout variants',
+ description="Build Kokkos View/DynRankView with layout variants",
)
variant(
- 'memory_traits',
+ "memory_traits",
default=True,
- description='Build Kokkos View/DynRankView with memory trait variants',
+ description="Build Kokkos View/DynRankView with memory trait variants",
)
variant(
- 'view_ranks',
- default='4',
- description='Max Kokkos View dimensions',
- values=('1', '2', '3', '4', '5', '6', '7'),
+ "view_ranks",
+ default="4",
+ description="Max Kokkos View dimensions",
+ values=("1", "2", "3", "4", "5", "6", "7"),
multi=False,
)
- extends('python')
- depends_on('cmake@3.16:', type='build')
- depends_on('py-pybind11', type='build')
- depends_on('kokkos@3.4.00:', type=('build', 'run'))
- depends_on('python@3:', type=('build', 'run'))
+ extends("python")
+ depends_on("cmake@3.16:", type="build")
+ depends_on("py-pybind11", type="build")
+ depends_on("kokkos@3.4.00:", type=("build", "run"))
+ depends_on("python@3:", type=("build", "run"))
def cmake_args(self):
spec = self.spec
args = [
- self.define('ENABLE_INTERNAL_KOKKOS', False),
- self.define('ENABLE_INTERNAL_PYBIND11', False),
- self.define('PYTHON_EXECUTABLE', spec['python'].command.path),
- self.define('Python3_EXECUTABLE', spec['python'].command.path),
- self.define_from_variant('ENABLE_VIEW_RANKS', 'view_ranks'),
+ self.define("ENABLE_INTERNAL_KOKKOS", False),
+ self.define("ENABLE_INTERNAL_PYBIND11", False),
+ self.define("PYTHON_EXECUTABLE", spec["python"].command.path),
+ self.define("Python3_EXECUTABLE", spec["python"].command.path),
+ self.define_from_variant("ENABLE_VIEW_RANKS", "view_ranks"),
]
- for dep in ('layouts', 'memory_traits'):
- args.append(self.define_from_variant('ENABLE_' + dep.upper(), dep))
+ for dep in ("layouts", "memory_traits"):
+ args.append(self.define_from_variant("ENABLE_" + dep.upper(), dep))
return args
diff --git a/var/spack/repos/builtin/packages/py-pykwalify/package.py b/var/spack/repos/builtin/packages/py-pykwalify/package.py
index 229729afac..19a9af74e5 100644
--- a/var/spack/repos/builtin/packages/py-pykwalify/package.py
+++ b/var/spack/repos/builtin/packages/py-pykwalify/package.py
@@ -14,15 +14,15 @@ class PyPykwalify(PythonPackage):
homepage = "https://github.com/grokzen/pykwalify"
pypi = "pykwalify/pykwalify-1.7.0.tar.gz"
- version('1.7.0', sha256='7e8b39c5a3a10bc176682b3bd9a7422c39ca247482df198b402e8015defcceb2')
- version('1.6.1', sha256='191fd3f457f23c0aa8538c3a5c0249f70eeb1046e88d0eaaef928e09c44dff8d')
+ version("1.7.0", sha256="7e8b39c5a3a10bc176682b3bd9a7422c39ca247482df198b402e8015defcceb2")
+ version("1.6.1", sha256="191fd3f457f23c0aa8538c3a5c0249f70eeb1046e88d0eaaef928e09c44dff8d")
- depends_on('py-setuptools', type='build')
- depends_on('py-docopt@0.6.2:', type=('build', 'run'))
- depends_on('py-ruamel-yaml@0.11.0:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.4.2:', type=('build', 'run'))
- depends_on('py-pyyaml@3.11:', type=('build', 'run'), when='@1.6.1')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docopt@0.6.2:", type=("build", "run"))
+ depends_on("py-ruamel-yaml@0.11.0:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.4.2:", type=("build", "run"))
+ depends_on("py-pyyaml@3.11:", type=("build", "run"), when="@1.6.1")
- conflicts('^py-ruamel@0.16.0:', when='@1.6.1')
- conflicts('^python@2.8.0:3.2', when='@1.6.1')
- conflicts('^python@2.8.0:3.4', when='@1.7.0:')
+ conflicts("^py-ruamel@0.16.0:", when="@1.6.1")
+ conflicts("^python@2.8.0:3.2", when="@1.6.1")
+ conflicts("^python@2.8.0:3.4", when="@1.7.0:")
diff --git a/var/spack/repos/builtin/packages/py-pylev/package.py b/var/spack/repos/builtin/packages/py-pylev/package.py
index 20e907f7aa..1b99115289 100644
--- a/var/spack/repos/builtin/packages/py-pylev/package.py
+++ b/var/spack/repos/builtin/packages/py-pylev/package.py
@@ -10,9 +10,9 @@ class PyPylev(PythonPackage):
"""A pure Python Levenshtein implementation that's not freaking GPL'd."""
homepage = "http://github.com/toastdriven/pylev"
- pypi = "pylev/pylev-1.4.0.tar.gz"
+ pypi = "pylev/pylev-1.4.0.tar.gz"
- version('1.4.0', sha256='9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1')
+ version("1.4.0", sha256="9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1")
- depends_on('python@2.7,3.3:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
+ depends_on("python@2.7,3.3:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyliblzma/package.py b/var/spack/repos/builtin/packages/py-pyliblzma/package.py
index 3b0b8142ad..e12fe89eb6 100644
--- a/var/spack/repos/builtin/packages/py-pyliblzma/package.py
+++ b/var/spack/repos/builtin/packages/py-pyliblzma/package.py
@@ -12,7 +12,7 @@ class PyPyliblzma(PythonPackage):
homepage = "https://launchpad.net/pyliblzma"
pypi = "pyliblzma/pyliblzma-0.5.3.tar.bz2"
- version('0.5.3', sha256='08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957')
+ version("0.5.3", sha256="08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957")
- depends_on('py-setuptools', type='build')
- depends_on('lzma')
+ depends_on("py-setuptools", type="build")
+ depends_on("lzma")
diff --git a/var/spack/repos/builtin/packages/py-pylikwid/package.py b/var/spack/repos/builtin/packages/py-pylikwid/package.py
index 65a004aa3f..8f27aebef5 100644
--- a/var/spack/repos/builtin/packages/py-pylikwid/package.py
+++ b/var/spack/repos/builtin/packages/py-pylikwid/package.py
@@ -8,26 +8,24 @@ from spack.package import *
class PyPylikwid(PythonPackage):
"""Python interface to the LIKWID tools library with calls for system
- topology, process/thread affinity, hardware performance monitoring
- and the manipulation of system features like frequencies and
- prefetchers."""
+ topology, process/thread affinity, hardware performance monitoring
+ and the manipulation of system features like frequencies and
+ prefetchers."""
homepage = "https://github.com/RRZE-HPC/pylikwid"
pypi = "pylikwid/pylikwid-0.4.0.tar.gz"
git = "https://github.com/RRZE-HPC/pylikwid.git"
- maintainers = ['TomTheBear']
+ maintainers = ["TomTheBear"]
- version('0.4.0', sha256='f7894a6d7ebcea7da133ef639599a314f850f55cd6c5ffdd630bb879bd2aa0b8')
+ version("0.4.0", sha256="f7894a6d7ebcea7da133ef639599a314f850f55cd6c5ffdd630bb879bd2aa0b8")
- variant('cuda',
- default=False,
- description='with Nvidia GPU profiling support')
+ variant("cuda", default=False, description="with Nvidia GPU profiling support")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('likwid', when='~cuda')
- depends_on('likwid+cuda', when='+cuda')
+ depends_on("py-setuptools", type="build")
+ depends_on("likwid", when="~cuda")
+ depends_on("likwid+cuda", when="+cuda")
def setup_build_environment(self, env):
- env.set('LIKWID_PREFIX', self.spec['likwid'].prefix)
+ env.set("LIKWID_PREFIX", self.spec["likwid"].prefix)
diff --git a/var/spack/repos/builtin/packages/py-pylint/package.py b/var/spack/repos/builtin/packages/py-pylint/package.py
index 10dc2e998c..60f3a67a53 100644
--- a/var/spack/repos/builtin/packages/py-pylint/package.py
+++ b/var/spack/repos/builtin/packages/py-pylint/package.py
@@ -11,56 +11,65 @@ class PyPylint(PythonPackage):
pypi = "pylint/pylint-1.6.5.tar.gz"
- import_modules = ['pylint', 'pylint.lint', 'pylint.extensions',
- 'pylint.config', 'pylint.checkers', 'pylint.checkers.refactoring',
- 'pylint.message', 'pylint.utils', 'pylint.pyreverse',
- 'pylint.reporters', 'pylint.reporters.ureports']
+ import_modules = [
+ "pylint",
+ "pylint.lint",
+ "pylint.extensions",
+ "pylint.config",
+ "pylint.checkers",
+ "pylint.checkers.refactoring",
+ "pylint.message",
+ "pylint.utils",
+ "pylint.pyreverse",
+ "pylint.reporters",
+ "pylint.reporters.ureports",
+ ]
- version('2.14.4', sha256='47705453aa9dce520e123a7d51843d5f0032cbfa06870f89f00927aa1f735a4a')
- version('2.13.5', sha256='dab221658368c7a05242e673c275c488670144123f4bd262b2777249c1c0de9b')
- version('2.11.1', sha256='2c9843fff1a88ca0ad98a256806c82c5a8f86086e7ccbdb93297d86c3f90c436')
- version('2.8.2', sha256='586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217')
- version('2.3.1', sha256='723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1')
- version('2.3.0', sha256='ee80c7af4f127b2a480d83010c9f0e97beb8eaa652b78c2837d3ed30b12e1182')
- version('1.9.4', sha256='ee1e85575587c5b58ddafa25e1c1b01691ef172e139fc25585e5d3f02451da93')
+ version("2.14.4", sha256="47705453aa9dce520e123a7d51843d5f0032cbfa06870f89f00927aa1f735a4a")
+ version("2.13.5", sha256="dab221658368c7a05242e673c275c488670144123f4bd262b2777249c1c0de9b")
+ version("2.11.1", sha256="2c9843fff1a88ca0ad98a256806c82c5a8f86086e7ccbdb93297d86c3f90c436")
+ version("2.8.2", sha256="586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217")
+ version("2.3.1", sha256="723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1")
+ version("2.3.0", sha256="ee80c7af4f127b2a480d83010c9f0e97beb8eaa652b78c2837d3ed30b12e1182")
+ version("1.9.4", sha256="ee1e85575587c5b58ddafa25e1c1b01691ef172e139fc25585e5d3f02451da93")
# version('1.7.2', sha256='ea6afb93a9ed810cf52ff3838eb3a15e2bf6a81b80de0eaede1ce442caa5ca69') # see dependencies
- version('1.6.5', sha256='a673984a8dd78e4a8b8cfdee5359a1309d833cf38405008f4a249994a8456719')
- version('1.4.3', sha256='1dce8c143a5aa15e0638887c2b395e2e823223c63ebaf8d5f432a99e44b29f60')
- version('1.4.1', sha256='3e383060edd432cbbd0e8bd686f5facfe918047ffe1bb401ab5897cb6ee0f030')
+ version("1.6.5", sha256="a673984a8dd78e4a8b8cfdee5359a1309d833cf38405008f4a249994a8456719")
+ version("1.4.3", sha256="1dce8c143a5aa15e0638887c2b395e2e823223c63ebaf8d5f432a99e44b29f60")
+ version("1.4.1", sha256="3e383060edd432cbbd0e8bd686f5facfe918047ffe1bb401ab5897cb6ee0f030")
- extends('python', ignore=r'bin/pytest')
- depends_on('python@2.7:2.8,3.4:3.6', when='@:1', type=('build', 'run'))
- depends_on('python@3.4:', when='@2:2.7', type=('build', 'run'))
- depends_on('python@3.6:', when='@2.8.2:', type=('build', 'run'))
- depends_on('python@3.6.2:', when='@2.13.5:', type=('build', 'run'))
- depends_on('python@3.7.2:', when='@2.14.0:', type=('build', 'run'))
- depends_on('py-astroid', type=('build', 'run'))
+ extends("python", ignore=r"bin/pytest")
+ depends_on("python@2.7:2.8,3.4:3.6", when="@:1", type=("build", "run"))
+ depends_on("python@3.4:", when="@2:2.7", type=("build", "run"))
+ depends_on("python@3.6:", when="@2.8.2:", type=("build", "run"))
+ depends_on("python@3.6.2:", when="@2.13.5:", type=("build", "run"))
+ depends_on("python@3.7.2:", when="@2.14.0:", type=("build", "run"))
+ depends_on("py-astroid", type=("build", "run"))
# note there is no working version of astroid for this
- depends_on('py-astroid@1.5.1:', type=('build', 'run'), when='@1.7:')
- depends_on('py-astroid@1.6:1.9', type=('build', 'run'), when='@1.9.4')
- depends_on('py-astroid@2.0:', type=('build', 'run'), when='@2.2.0:')
- depends_on('py-astroid@2.2.0:2', type=('build', 'run'), when='@2.3.0:2.7')
- depends_on('py-astroid@2.5.6:2.6', type=('build', 'run'), when='@2.8.0:2.10')
- depends_on('py-astroid@2.8.0:2.8', type=('build', 'run'), when='@2.11.1')
- depends_on('py-astroid@2.11.2:2.11', type=('build', 'run'), when='@2.13.5:')
- depends_on('py-astroid@2.11.6:2.11', type=('build', 'run'), when='@2.14.2:')
- depends_on('py-backports-functools-lru-cache', when='^python@:2.8', type=('build', 'run'))
- depends_on('py-configparser', when='^python@:2.8', type=('build', 'run'))
- depends_on('py-dill@0.2:', when='@2.13.5:', type=('build', 'run'))
- depends_on('py-editdistance', type=('build', 'run'), when='@:1.7')
- depends_on('py-isort@4.2.5:', type=('build', 'run'))
- depends_on('py-isort@4.2.5:5', when='@2.3.1:', type=('build', 'run'))
- depends_on('py-mccabe', type=('build', 'run'))
- depends_on('py-mccabe@0.6.0:0.6', when='@2.3.1:2.11', type=('build', 'run'))
- depends_on('py-mccabe@0.6.0:0.7', when='@2.13:', type=('build', 'run'))
- depends_on('py-pip', type=('build')) # see https://github.com/spack/spack/issues/27075
+ depends_on("py-astroid@1.5.1:", type=("build", "run"), when="@1.7:")
+ depends_on("py-astroid@1.6:1.9", type=("build", "run"), when="@1.9.4")
+ depends_on("py-astroid@2.0:", type=("build", "run"), when="@2.2.0:")
+ depends_on("py-astroid@2.2.0:2", type=("build", "run"), when="@2.3.0:2.7")
+ depends_on("py-astroid@2.5.6:2.6", type=("build", "run"), when="@2.8.0:2.10")
+ depends_on("py-astroid@2.8.0:2.8", type=("build", "run"), when="@2.11.1")
+ depends_on("py-astroid@2.11.2:2.11", type=("build", "run"), when="@2.13.5:")
+ depends_on("py-astroid@2.11.6:2.11", type=("build", "run"), when="@2.14.2:")
+ depends_on("py-backports-functools-lru-cache", when="^python@:2.8", type=("build", "run"))
+ depends_on("py-configparser", when="^python@:2.8", type=("build", "run"))
+ depends_on("py-dill@0.2:", when="@2.13.5:", type=("build", "run"))
+ depends_on("py-editdistance", type=("build", "run"), when="@:1.7")
+ depends_on("py-isort@4.2.5:", type=("build", "run"))
+ depends_on("py-isort@4.2.5:5", when="@2.3.1:", type=("build", "run"))
+ depends_on("py-mccabe", type=("build", "run"))
+ depends_on("py-mccabe@0.6.0:0.6", when="@2.3.1:2.11", type=("build", "run"))
+ depends_on("py-mccabe@0.6.0:0.7", when="@2.13:", type=("build", "run"))
+ depends_on("py-pip", type=("build")) # see https://github.com/spack/spack/issues/27075
# depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-setuptools-scm', type='build', when='@2.8.2')
- depends_on('py-setuptools@17.1:', type='build')
- depends_on('py-singledispatch', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@1:2.3.1')
- depends_on('py-toml@0.7.1:', type=('build', 'run'), when='@2.8.2:2.12.2')
- depends_on('py-tomli@1.1.0:', type=('build', 'run'), when='@2.13.5: ^python@:3.10')
- depends_on('py-tomlkit@0.10.1:', type=('build', 'run'), when='@2.14.0:')
- depends_on('py-platformdirs@2.2.0:', type=('build', 'run'), when='@2.11.1:')
- depends_on('py-typing-extensions@3.10.0:', type=('build', 'run'), when='@2.11.1: ^python@:3.9')
+ depends_on("py-setuptools-scm", type="build", when="@2.8.2")
+ depends_on("py-setuptools@17.1:", type="build")
+ depends_on("py-singledispatch", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@1:2.3.1")
+ depends_on("py-toml@0.7.1:", type=("build", "run"), when="@2.8.2:2.12.2")
+ depends_on("py-tomli@1.1.0:", type=("build", "run"), when="@2.13.5: ^python@:3.10")
+ depends_on("py-tomlkit@0.10.1:", type=("build", "run"), when="@2.14.0:")
+ depends_on("py-platformdirs@2.2.0:", type=("build", "run"), when="@2.11.1:")
+ depends_on("py-typing-extensions@3.10.0:", type=("build", "run"), when="@2.11.1: ^python@:3.9")
diff --git a/var/spack/repos/builtin/packages/py-pylops/package.py b/var/spack/repos/builtin/packages/py-pylops/package.py
index 069cd4c213..8dad66bd55 100644
--- a/var/spack/repos/builtin/packages/py-pylops/package.py
+++ b/var/spack/repos/builtin/packages/py-pylops/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class PyPylops(PythonPackage):
"""Many useful operators, however, do not lend themselves to an explicit
- matrix representation when used to solve large-scale problems. PyLops operators,
- on the other hand, still represent a matrix and can be treated in a similar way,
- but do not rely on the explicit creation of a dense (or sparse) matrix itself.
- Conversely, the forward and adjoint operators are represented by small pieces of
- codes that mimic the effect of the matrix on a vector or another matrix."""
+ matrix representation when used to solve large-scale problems. PyLops operators,
+ on the other hand, still represent a matrix and can be treated in a similar way,
+ but do not rely on the explicit creation of a dense (or sparse) matrix itself.
+ Conversely, the forward and adjoint operators are represented by small pieces of
+ codes that mimic the effect of the matrix on a vector or another matrix."""
pypi = "pylops/pylops-1.12.0.tar.gz"
- git = "https://github.com/PyLops/pylops.git"
-
- maintainers = ['archxlith']
-
- version('master', branch='master')
- version('1.12.0', sha256='0e9caef46bbef9691acd133cb9b6d13e19510e8682aaa8f4eb15d9bd9ff9ebb6')
- version('1.11.1', sha256='87010358b1119ebe1f8a601b2768d16d7bd26d55bd0c91a6e83db763e5715f7c')
-
- variant('advanced', default=False, description='Install optional libraries')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-scipy@1.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-llvmlite', when='+advanced', type=('build', 'run'))
- depends_on('py-numba', when='+advanced', type=('build', 'run'))
- depends_on('py-pyfftw', when='+advanced', type=('build', 'run'))
- depends_on('py-pywavelets', when='+advanced', type=('build', 'run'))
- depends_on('py-scikit-fmm', when='+advanced', type=('build', 'run'))
- depends_on('py-spgl1', when='+advanced', type=('build', 'run'))
+ git = "https://github.com/PyLops/pylops.git"
+
+ maintainers = ["archxlith"]
+
+ version("master", branch="master")
+ version("1.12.0", sha256="0e9caef46bbef9691acd133cb9b6d13e19510e8682aaa8f4eb15d9bd9ff9ebb6")
+ version("1.11.1", sha256="87010358b1119ebe1f8a601b2768d16d7bd26d55bd0c91a6e83db763e5715f7c")
+
+ variant("advanced", default=False, description="Install optional libraries")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-scipy@1.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-llvmlite", when="+advanced", type=("build", "run"))
+ depends_on("py-numba", when="+advanced", type=("build", "run"))
+ depends_on("py-pyfftw", when="+advanced", type=("build", "run"))
+ depends_on("py-pywavelets", when="+advanced", type=("build", "run"))
+ depends_on("py-scikit-fmm", when="+advanced", type=("build", "run"))
+ depends_on("py-spgl1", when="+advanced", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pymatgen/package.py b/var/spack/repos/builtin/packages/py-pymatgen/package.py
index 2fb36269a9..7c238b25ba 100644
--- a/var/spack/repos/builtin/packages/py-pymatgen/package.py
+++ b/var/spack/repos/builtin/packages/py-pymatgen/package.py
@@ -15,39 +15,39 @@ class PyPymatgen(PythonPackage):
homepage = "http://www.pymatgen.org/"
pypi = "pymatgen/pymatgen-4.7.2.tar.gz"
- version('2021.3.9', sha256='a6f22d69133a48b7801bfd5e6a2878b47b4b4b2ef1a377b87c6c573be14cbf16')
- version('4.7.2', sha256='e439b78cc3833a03963c3c3efe349d8a0e52a1550c8a05c56a89aa1b86657436')
- version('4.6.2', sha256='f34349090c6f604f7d402cb09cd486830b38523639d7160d7fd282d504036a0e')
+ version("2021.3.9", sha256="a6f22d69133a48b7801bfd5e6a2878b47b4b4b2ef1a377b87c6c573be14cbf16")
+ version("4.7.2", sha256="e439b78cc3833a03963c3c3efe349d8a0e52a1550c8a05c56a89aa1b86657436")
+ version("4.6.2", sha256="f34349090c6f604f7d402cb09cd486830b38523639d7160d7fd282d504036a0e")
# Old versions come pre-cythonized and so don't support newer python versions
# and 2021.1.1 and newer require Python >= 3.7
- extends('python@:3.6', ignore='bin/tabulate', when='@:4.7.2')
- extends('python@3.7:', ignore='bin/tabulate', when='@2021.1.1:')
-
- depends_on('py-setuptools@18.0:', type='build')
-
- depends_on('py-numpy@1.9:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:4.7.2')
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-pyyaml@3.11:', type=('build', 'run'), when='@:4.7.2')
- depends_on('py-monty@0.9.6:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-pydispatcher@2.0.5:', type=('build', 'run'), when='@:4.7.2')
- depends_on('py-tabulate', type=('build', 'run'))
- depends_on('py-spglib@1.9.8.7:', type=('build', 'run'))
- depends_on('py-matplotlib@1.5:', type=('build', 'run'))
- depends_on('py-palettable@2.1.1:', type=('build', 'run'))
+ extends("python@:3.6", ignore="bin/tabulate", when="@:4.7.2")
+ extends("python@3.7:", ignore="bin/tabulate", when="@2021.1.1:")
+
+ depends_on("py-setuptools@18.0:", type="build")
+
+ depends_on("py-numpy@1.9:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"), when="@:4.7.2")
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-pyyaml@3.11:", type=("build", "run"), when="@:4.7.2")
+ depends_on("py-monty@0.9.6:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-pydispatcher@2.0.5:", type=("build", "run"), when="@:4.7.2")
+ depends_on("py-tabulate", type=("build", "run"))
+ depends_on("py-spglib@1.9.8.7:", type=("build", "run"))
+ depends_on("py-matplotlib@1.5:", type=("build", "run"))
+ depends_on("py-palettable@2.1.1:", type=("build", "run"))
# dependencies of never versions
- depends_on('py-matplotlib@1.5:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-monty@3.0.2:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-numpy@1.20.1:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-palettable@3.1.1:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-pandas', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-plotly@4.5.0:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-ruamel-yaml@0.15.6:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-scipy@1.5.0:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-spglib@1.9.9.44:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-sympy', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-uncertainties@3.1.4:', when='@2021.1.1:', type=('build', 'run'))
- depends_on('py-networkx@2.2:', when='@2021.1.1:', type=('build', 'run'))
+ depends_on("py-matplotlib@1.5:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-monty@3.0.2:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-numpy@1.20.1:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-palettable@3.1.1:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-pandas", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-plotly@4.5.0:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-ruamel-yaml@0.15.6:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-scipy@1.5.0:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-spglib@1.9.9.44:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-sympy", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-uncertainties@3.1.4:", when="@2021.1.1:", type=("build", "run"))
+ depends_on("py-networkx@2.2:", when="@2021.1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pymc3/package.py b/var/spack/repos/builtin/packages/py-pymc3/package.py
index 2c96355c92..7a4757eed2 100644
--- a/var/spack/repos/builtin/packages/py-pymc3/package.py
+++ b/var/spack/repos/builtin/packages/py-pymc3/package.py
@@ -15,15 +15,15 @@ class PyPymc3(PythonPackage):
homepage = "https://github.com/pymc-devs/pymc3"
pypi = "pymc3/pymc3-3.8.tar.gz"
- version('3.8', sha256='1bb2915e4a29877c681ead13932b0b7d276f7f496e9c3f09ba96b977c99caf00')
+ version("3.8", sha256="1bb2915e4a29877c681ead13932b0b7d276f7f496e9c3f09ba96b977c99caf00")
- depends_on('python@3.5.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-arviz@0.4.1:', type=('build', 'run'))
- depends_on('py-theano@1.0.4:', type=('build', 'run'))
- depends_on('py-numpy@1.13.0:', type=('build', 'run'))
- depends_on('py-scipy@0.18.1:', type=('build', 'run'))
- depends_on('py-pandas@0.18.0:', type=('build', 'run'))
- depends_on('py-patsy@0.4.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.8.4:', type=('build', 'run'))
- depends_on('py-h5py@2.7.0:', type=('build', 'run'))
+ depends_on("python@3.5.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-arviz@0.4.1:", type=("build", "run"))
+ depends_on("py-theano@1.0.4:", type=("build", "run"))
+ depends_on("py-numpy@1.13.0:", type=("build", "run"))
+ depends_on("py-scipy@0.18.1:", type=("build", "run"))
+ depends_on("py-pandas@0.18.0:", type=("build", "run"))
+ depends_on("py-patsy@0.4.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.8.4:", type=("build", "run"))
+ depends_on("py-h5py@2.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pymeeus/package.py b/var/spack/repos/builtin/packages/py-pymeeus/package.py
index 6e3d4f303f..87b252c33c 100644
--- a/var/spack/repos/builtin/packages/py-pymeeus/package.py
+++ b/var/spack/repos/builtin/packages/py-pymeeus/package.py
@@ -12,6 +12,6 @@ class PyPymeeus(PythonPackage):
homepage = "https://github.com/architest/pymeeus"
pypi = "PyMeeus/PyMeeus-0.3.6.tar.gz"
- version('0.3.6', sha256='1f1ba0682e1b5c6b0cd6432c966e8bc8acc31737ea6f0ae79917a2189a98bb87')
+ version("0.3.6", sha256="1f1ba0682e1b5c6b0cd6432c966e8bc8acc31737ea6f0ae79917a2189a98bb87")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyminifier/package.py b/var/spack/repos/builtin/packages/py-pyminifier/package.py
index 21b2243c05..75729d14e6 100644
--- a/var/spack/repos/builtin/packages/py-pyminifier/package.py
+++ b/var/spack/repos/builtin/packages/py-pyminifier/package.py
@@ -12,6 +12,6 @@ class PyPyminifier(PythonPackage):
homepage = "https://liftoff.github.io/pyminifier/"
pypi = "pyminifier/pyminifier-2.1.tar.gz"
- version('2.1', sha256='e192618fe901830e9298825b32828bc9555ae8649e05af37bfab2db328546777')
+ version("2.1", sha256="e192618fe901830e9298825b32828bc9555ae8649e05af37bfab2db328546777")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pymol/package.py b/var/spack/repos/builtin/packages/py-pymol/package.py
index f346541c28..eaa50d97ee 100644
--- a/var/spack/repos/builtin/packages/py-pymol/package.py
+++ b/var/spack/repos/builtin/packages/py-pymol/package.py
@@ -8,57 +8,55 @@ from spack.package import *
class PyPymol(PythonPackage):
"""PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D
- visualization of proteins, small molecules, density, surfaces, and
- trajectories. It also includes molecular editing, ray tracing, and
- movies. Open Source PyMOL is free to everyone!"""
+ visualization of proteins, small molecules, density, surfaces, and
+ trajectories. It also includes molecular editing, ray tracing, and
+ movies. Open Source PyMOL is free to everyone!"""
homepage = "https://pymol.org"
- url = "https://github.com/schrodinger/pymol-open-source/archive/v2.4.0.tar.gz"
-
- version('2.5.0', sha256='aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3')
- version('2.4.0', sha256='5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581')
- version('2.3.0', sha256='62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0')
-
- depends_on('python+tkinter@2.7:', type=('build', 'link', 'run'), when='@2.3.0:2.4.0')
- depends_on('python+tkinter@3.6:', type=('build', 'link', 'run'), when='@2.5.0:')
- depends_on('gl')
- depends_on('glew')
- depends_on('libpng')
- depends_on('freetype')
- depends_on('glm')
- depends_on('libmmtf-cpp')
- depends_on('msgpack-c@2.1.5:')
- depends_on('netcdf-cxx4')
- depends_on('libxml2')
- depends_on('py-pmw-patched', type=('build', 'run'))
- depends_on('py-pyqt5', type=('build', 'run'))
- depends_on('py-pmw', type=('build', 'run'))
- depends_on('libmmtf-cpp', type=('build', 'run', 'link'))
- depends_on('msgpack-c', type=('build', 'run'))
- depends_on('libpng', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'link', 'run'))
- depends_on('py-msgpack', type=('build', 'run'))
+ url = "https://github.com/schrodinger/pymol-open-source/archive/v2.4.0.tar.gz"
+
+ version("2.5.0", sha256="aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3")
+ version("2.4.0", sha256="5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581")
+ version("2.3.0", sha256="62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0")
+
+ depends_on("python+tkinter@2.7:", type=("build", "link", "run"), when="@2.3.0:2.4.0")
+ depends_on("python+tkinter@3.6:", type=("build", "link", "run"), when="@2.5.0:")
+ depends_on("gl")
+ depends_on("glew")
+ depends_on("libpng")
+ depends_on("freetype")
+ depends_on("glm")
+ depends_on("libmmtf-cpp")
+ depends_on("msgpack-c@2.1.5:")
+ depends_on("netcdf-cxx4")
+ depends_on("libxml2")
+ depends_on("py-pmw-patched", type=("build", "run"))
+ depends_on("py-pyqt5", type=("build", "run"))
+ depends_on("py-pmw", type=("build", "run"))
+ depends_on("libmmtf-cpp", type=("build", "run", "link"))
+ depends_on("msgpack-c", type=("build", "run"))
+ depends_on("libpng", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "link", "run"))
+ depends_on("py-msgpack", type=("build", "run"))
def install_options(self, spec, prefix):
- return ['--no-launcher']
+ return ["--no-launcher"]
def install(self, spec, prefix):
# Note: pymol monkeypatches distutils which breaks pip install, use deprecated
# `python setup.py install` and distutils instead of `pip install` and
# setuptools. See: https://github.com/schrodinger/pymol-open-source/issues/217
- python('setup.py', 'install', '--prefix=' + prefix,
- *self.install_options(spec, prefix))
+ python("setup.py", "install", "--prefix=" + prefix, *self.install_options(spec, prefix))
- @run_after('install')
+ @run_after("install")
def install_launcher(self):
binpath = self.prefix.bin
mkdirp(self.prefix.bin)
- fname = join_path(binpath, 'pymol')
- script = join_path(python_platlib, 'pymol', '__init__.py')
+ fname = join_path(binpath, "pymol")
+ script = join_path(python_platlib, "pymol", "__init__.py")
- shebang = '#!/bin/sh\n'
- fdata = 'exec {0} {1} \"$@\"'.format(self.spec['python'].command,
- script)
- with open(fname, 'w') as new:
+ shebang = "#!/bin/sh\n"
+ fdata = 'exec {0} {1} "$@"'.format(self.spec["python"].command, script)
+ with open(fname, "w") as new:
new.write(shebang + fdata)
set_executable(fname)
diff --git a/var/spack/repos/builtin/packages/py-pymongo/package.py b/var/spack/repos/builtin/packages/py-pymongo/package.py
index 28c6316b32..4505acb903 100644
--- a/var/spack/repos/builtin/packages/py-pymongo/package.py
+++ b/var/spack/repos/builtin/packages/py-pymongo/package.py
@@ -17,10 +17,10 @@ class PyPymongo(PythonPackage):
pypi = "pymongo/pymongo-3.9.0.tar.gz"
- version('3.12.1', sha256='704879b6a54c45ad76cea7c6789c1ae7185050acea7afd15b58318fa1932ed45')
- version('3.9.0', sha256='4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3')
- version('3.6.0', sha256='c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8')
- version('3.3.0', sha256='3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e')
+ version("3.12.1", sha256="704879b6a54c45ad76cea7c6789c1ae7185050acea7afd15b58318fa1932ed45")
+ version("3.9.0", sha256="4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3")
+ version("3.6.0", sha256="c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8")
+ version("3.3.0", sha256="3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pymoo/package.py b/var/spack/repos/builtin/packages/py-pymoo/package.py
index ebc0406b45..23f978da8c 100644
--- a/var/spack/repos/builtin/packages/py-pymoo/package.py
+++ b/var/spack/repos/builtin/packages/py-pymoo/package.py
@@ -14,12 +14,12 @@ class PyPymoo(PythonPackage):
"""
homepage = "https://pymoo.org"
- pypi = 'pymoo/pymoo-0.5.0.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "pymoo/pymoo-0.5.0.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('0.5.0', sha256='2fbca1716f6b45e430197ce4ce2210070fd3b6b9ec6b17bb25d98486115272c2')
- version('0.4.2', sha256='6ec382a7d29c8775088eec7f245a30fd384b42c40f230018dea0e3bcd9aabdf1')
+ version("0.5.0", sha256="2fbca1716f6b45e430197ce4ce2210070fd3b6b9ec6b17bb25d98486115272c2")
+ version("0.4.2", sha256="6ec382a7d29c8775088eec7f245a30fd384b42c40f230018dea0e3bcd9aabdf1")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-autograd', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-autograd", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pymorph/package.py b/var/spack/repos/builtin/packages/py-pymorph/package.py
index ac2ac62b49..040228f815 100644
--- a/var/spack/repos/builtin/packages/py-pymorph/package.py
+++ b/var/spack/repos/builtin/packages/py-pymorph/package.py
@@ -14,6 +14,6 @@ class PyPymorph(PythonPackage):
homepage = "http://luispedro.org/software/pymorph/"
pypi = "pymorph/pymorph-0.96.tar.gz"
- version('0.96', sha256='5dd648e4cb4c3495ee6031bc8020ed8216f3d6cb8c0dcd0427b215b75d7d29ad')
+ version("0.96", sha256="5dd648e4cb4c3495ee6031bc8020ed8216f3d6cb8c0dcd0427b215b75d7d29ad")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pympler/package.py b/var/spack/repos/builtin/packages/py-pympler/package.py
index eea628c6c4..3f3ba2cf7b 100644
--- a/var/spack/repos/builtin/packages/py-pympler/package.py
+++ b/var/spack/repos/builtin/packages/py-pympler/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class PyPympler(PythonPackage):
"""Development tool to measure, monitor and analyze the memory behavior
- of Python objects in a running Python application.
+ of Python objects in a running Python application.
"""
homepage = "https://github.com/pympler/pympler"
pypi = "Pympler/Pympler-0.4.3.tar.gz"
- version('1.0.1', sha256='993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa')
- version('0.4.3', sha256='430528fff6cde1bae0a305e8df647b158c3cc4930cff122bf228293829ee1e56')
- version('0.4.2', sha256='3c3f9d8eb3dddf4f29c433433ea77c9c3f2f0dcc06575c0c2a9d81b2602893b2')
- version('0.4.1', sha256='6a8bfd2972c4ec34ac8750358515950be4a4ca13dfa6a05a9a22419786745f90')
- version('0.4', sha256='b280480502df658b18cb6310d2c744fabf05d4c518f873377884b4d4b5d2992d')
- version('0.3.1', sha256='8cb170fddfe592342856590e2239e8c20ac61eacf18bc4f65a95ccaf74475e3e')
+ version("1.0.1", sha256="993f1a3599ca3f4fcd7160c7545ad06310c9e12f70174ae7ae8d4e25f6c5d3fa")
+ version("0.4.3", sha256="430528fff6cde1bae0a305e8df647b158c3cc4930cff122bf228293829ee1e56")
+ version("0.4.2", sha256="3c3f9d8eb3dddf4f29c433433ea77c9c3f2f0dcc06575c0c2a9d81b2602893b2")
+ version("0.4.1", sha256="6a8bfd2972c4ec34ac8750358515950be4a4ca13dfa6a05a9a22419786745f90")
+ version("0.4", sha256="b280480502df658b18cb6310d2c744fabf05d4c518f873377884b4d4b5d2992d")
+ version("0.3.1", sha256="8cb170fddfe592342856590e2239e8c20ac61eacf18bc4f65a95ccaf74475e3e")
- depends_on('python@3.6:3.10', when='@1:', type=('build', 'run'))
- depends_on('python@2.7,3.5:3.9', when='@0.9', type=('build', 'run'))
- depends_on('python@2.7,3.4:3.8', when='@0.8', type=('build', 'run'))
- depends_on('python@2.7,3.3:3.7', when='@0.6:0.7', type=('build', 'run'))
- depends_on('python@2.6:2.7,3.2:3.6', when='@0.5', type=('build', 'run'))
- depends_on('python@2.5:2.7,3.1:3.4', when='@0.4', type=('build', 'run'))
- depends_on('python@2.4:2.7,3.1:3.3', when='@0.3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:3.10", when="@1:", type=("build", "run"))
+ depends_on("python@2.7,3.5:3.9", when="@0.9", type=("build", "run"))
+ depends_on("python@2.7,3.4:3.8", when="@0.8", type=("build", "run"))
+ depends_on("python@2.7,3.3:3.7", when="@0.6:0.7", type=("build", "run"))
+ depends_on("python@2.6:2.7,3.2:3.6", when="@0.5", type=("build", "run"))
+ depends_on("python@2.5:2.7,3.1:3.4", when="@0.4", type=("build", "run"))
+ depends_on("python@2.4:2.7,3.1:3.3", when="@0.3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pymsgbox/package.py b/var/spack/repos/builtin/packages/py-pymsgbox/package.py
index 4497dcf42b..831a12268a 100644
--- a/var/spack/repos/builtin/packages/py-pymsgbox/package.py
+++ b/var/spack/repos/builtin/packages/py-pymsgbox/package.py
@@ -11,8 +11,8 @@ class PyPymsgbox(PythonPackage):
JavaScript-like message boxes."""
homepage = "https://github.com/asweigart/pymsgbox"
- pypi = "PyMsgBox/PyMsgBox-1.0.9.tar.gz"
+ pypi = "PyMsgBox/PyMsgBox-1.0.9.tar.gz"
- version('1.0.9', sha256='2194227de8bff7a3d6da541848705a155dcbb2a06ee120d9f280a1d7f51263ff')
+ version("1.0.9", sha256="2194227de8bff7a3d6da541848705a155dcbb2a06ee120d9f280a1d7f51263ff")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pymumps/package.py b/var/spack/repos/builtin/packages/py-pymumps/package.py
index d620cbe2ba..9fffa3cfe8 100644
--- a/var/spack/repos/builtin/packages/py-pymumps/package.py
+++ b/var/spack/repos/builtin/packages/py-pymumps/package.py
@@ -15,15 +15,15 @@ class PyPymumps(PythonPackage):
# Add a list of GitHub accounts to notify when the
# package is updated
- maintainers = ['payerle']
+ maintainers = ["payerle"]
- version('0.3.2', sha256='f290ec4850098f108fb91cb9e7fa07302ebf5076e4329f8e6ea4924de8ba35df')
+ version("0.3.2", sha256="f290ec4850098f108fb91cb9e7fa07302ebf5076e4329f8e6ea4924de8ba35df")
- depends_on('py-cython', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('mumps', type='link')
- depends_on('py-mpi4py', type=('build', 'run'))
+ depends_on("py-cython", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("mumps", type="link")
+ depends_on("py-mpi4py", type=("build", "run"))
# Patch to add libmumps_common.so to library dependencies
# See https://github.com/PyMumps/pymumps/issues/13
- patch('py-pymumps.setup.patch')
+ patch("py-pymumps.setup.patch")
diff --git a/var/spack/repos/builtin/packages/py-pymysql/package.py b/var/spack/repos/builtin/packages/py-pymysql/package.py
index 5d3085aca0..181a92a604 100644
--- a/var/spack/repos/builtin/packages/py-pymysql/package.py
+++ b/var/spack/repos/builtin/packages/py-pymysql/package.py
@@ -12,7 +12,7 @@ class PyPymysql(PythonPackage):
homepage = "https://github.com/PyMySQL/PyMySQL/"
pypi = "pymysql/PyMySQL-0.9.2.tar.gz"
- version('0.9.2', sha256='9ec760cbb251c158c19d6c88c17ca00a8632bac713890e465b2be01fdc30713f')
+ version("0.9.2", sha256="9ec760cbb251c158c19d6c88c17ca00a8632bac713890e465b2be01fdc30713f")
- depends_on('py-setuptools', type='build')
- depends_on('py-cryptography', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cryptography", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pynacl/package.py b/var/spack/repos/builtin/packages/py-pynacl/package.py
index adae6639fe..478efe1286 100644
--- a/var/spack/repos/builtin/packages/py-pynacl/package.py
+++ b/var/spack/repos/builtin/packages/py-pynacl/package.py
@@ -13,10 +13,10 @@ class PyPynacl(PythonPackage):
homepage = "https://github.com/pyca/pynacl/"
pypi = "PyNaCl/PyNaCl-1.4.0.tar.gz"
- version('1.4.0', sha256='54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505')
+ version("1.4.0", sha256="54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-cffi@1.4.1:', type=('build', 'run'))
- depends_on('py-wheel', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-cffi@1.4.1:", type=("build", "run"))
+ depends_on("py-wheel", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pynio/package.py b/var/spack/repos/builtin/packages/py-pynio/package.py
index 9d796b56d4..71068048be 100644
--- a/var/spack/repos/builtin/packages/py-pynio/package.py
+++ b/var/spack/repos/builtin/packages/py-pynio/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class PyPynio(PythonPackage):
"""PyNIO ("pie-nee-oh") is a Python module that allows read and/or
- write access to a variety of scientific data formats popular in
- climate and weather"""
+ write access to a variety of scientific data formats popular in
+ climate and weather"""
homepage = "https://www.pyngl.ucar.edu/Nio.shtml"
url = "https://github.com/NCAR/pynio/archive/1.5.4.tar.gz"
- version('1.5.4', sha256='e5bb57d902740d25e4781a9f89e888149f55f2ffe60f9a5ad71069f017c89e1a')
+ version("1.5.4", sha256="e5bb57d902740d25e4781a9f89e888149f55f2ffe60f9a5ad71069f017c89e1a")
- variant('hdf5', default=False, description='Include HDF5 support')
- variant('gdal', default=False, description='Include GDAL support')
+ variant("hdf5", default=False, description="Include HDF5 support")
+ variant("gdal", default=False, description="Include GDAL support")
# The setup.py claims it requires these abolutely.
- depends_on('libpng')
- depends_on('jpeg')
- depends_on('zlib')
+ depends_on("libpng")
+ depends_on("jpeg")
+ depends_on("zlib")
# Spack does not currently have netcdf below 4.x, and 3.x is a
# fundamentally different format. So, currently this is only providing
# support for netcdf4.
- depends_on('netcdf-c@3.6.0:')
+ depends_on("netcdf-c@3.6.0:")
# Turning on the hdf (i.e. hdf4) dependency causes it not to build, with
# compile errors that (weirdly) relate to the declarations of HDF5.
@@ -36,36 +36,37 @@ class PyPynio(PythonPackage):
# depends_on('hdf', when='+hdf4')
# This one works, though.
- depends_on('hdf5', when='+hdf5')
+ depends_on("hdf5", when="+hdf5")
# Turning on the GDAL dependency apparently forces it to link with
# -ljasper, meaning that really it depends on gdal+jasper. In my view
# it should not need this unless one were specifically using PyNio to
# use GDAL to read JPEG-2000 files, but it seems to be hard-wired
# in PyNio's setup.py.
- depends_on('gdal+jasper', when='+gdal')
+ depends_on("gdal+jasper", when="+gdal")
# I have left off a few other optional dependencies, as they are not yet
# in Spack. HDFEOS, HDFEOS5, GRIB. See the pynio setup.py for details.
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
def setup_build_environment(self, env):
"""
These environment variables are how the setup.py knows which options
to turn on, and how to find them.
"""
- env.set('F2CLIBS', 'gfortran')
- env.set('HAS_NETCDF4', '1')
- env.set('NETCDF4_PREFIX', self.spec['netcdf-c'].prefix)
- if '+hdf5' in self.spec:
- env.set('HAS_HDF5', '1')
- env.set('HDF5_PREFIX', self.spec['hdf5'].prefix)
- if '+gdal' in self.spec:
- env.set('HAS_GDAL', '1')
- env.set('GDAL_PREFIX', self.spec['gdal'].prefix)
+ env.set("F2CLIBS", "gfortran")
+ env.set("HAS_NETCDF4", "1")
+ env.set("NETCDF4_PREFIX", self.spec["netcdf-c"].prefix)
+ if "+hdf5" in self.spec:
+ env.set("HAS_HDF5", "1")
+ env.set("HDF5_PREFIX", self.spec["hdf5"].prefix)
+ if "+gdal" in self.spec:
+ env.set("HAS_GDAL", "1")
+ env.set("GDAL_PREFIX", self.spec["gdal"].prefix)
+
# This one is trouble - see comments above.
# if '+hdf4' in self.spec:
diff --git a/var/spack/repos/builtin/packages/py-pynisher/package.py b/var/spack/repos/builtin/packages/py-pynisher/package.py
index 7090e305e0..1c22b61e37 100644
--- a/var/spack/repos/builtin/packages/py-pynisher/package.py
+++ b/var/spack/repos/builtin/packages/py-pynisher/package.py
@@ -11,10 +11,10 @@ class PyPynisher(PythonPackage):
function by executing it inside a subprocess."""
homepage = "https://github.com/automl/pynisher"
- pypi = "pynisher/pynisher-0.6.4.tar.gz"
+ pypi = "pynisher/pynisher-0.6.4.tar.gz"
- version('0.6.4', sha256='111d91aad471375c0509a912415ff90053ef909100facf412511383af107c124')
+ version("0.6.4", sha256="111d91aad471375c0509a912415ff90053ef909100facf412511383af107c124")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-psutil', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-psutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py
index 9063dcd6a4..2ce0e29cd0 100644
--- a/var/spack/repos/builtin/packages/py-pynn/package.py
+++ b/var/spack/repos/builtin/packages/py-pynn/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class PyPynn(PythonPackage):
"""A Python package for simulator-independent specification of neuronal
- network models
+ network models
"""
homepage = "https://neuralensemble.org/PyNN/"
pypi = "PyNN/PyNN-0.8.3.tar.gz"
- git = "https://github.com/NeuralEnsemble/PyNN.git"
+ git = "https://github.com/NeuralEnsemble/PyNN.git"
- version('0.9.1', sha256='bbc60fea3235427191feb2daa0e2fa07eb1c3946104c068ac8a2a0501263b0b1')
- version('0.8.3', sha256='9d59e6cffa4714f0c892ec6b32d1f5f8f75ba3a20d8635bac50c047aa6f2537e')
- version('0.8beta', commit='ffb0cb1661f2b0f2778db8f71865978fe7a7a6a4')
- version('0.8.1', sha256='ce94246284588414d1570c1d5d697805f781384e771816727c830b01ee30fe39')
- version('0.7.5', sha256='15f75f422f3b71c6129ecef23f29d8baeb3ed6502e7a321b8a2596c78ef7e03c')
+ version("0.9.1", sha256="bbc60fea3235427191feb2daa0e2fa07eb1c3946104c068ac8a2a0501263b0b1")
+ version("0.8.3", sha256="9d59e6cffa4714f0c892ec6b32d1f5f8f75ba3a20d8635bac50c047aa6f2537e")
+ version("0.8beta", commit="ffb0cb1661f2b0f2778db8f71865978fe7a7a6a4")
+ version("0.8.1", sha256="ce94246284588414d1570c1d5d697805f781384e771816727c830b01ee30fe39")
+ version("0.7.5", sha256="15f75f422f3b71c6129ecef23f29d8baeb3ed6502e7a321b8a2596c78ef7e03c")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-jinja2@2.7:', type=('build', 'run'))
- depends_on('py-docutils@0.10:', type=('build', 'run'))
- depends_on('py-numpy@1.5:', type=('build', 'run'))
- depends_on('py-quantities@0.10:', type=('build', 'run'))
- depends_on('py-lazyarray@0.2.9:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jinja2@2.7:", type=("build", "run"))
+ depends_on("py-docutils@0.10:", type=("build", "run"))
+ depends_on("py-numpy@1.5:", type=("build", "run"))
+ depends_on("py-quantities@0.10:", type=("build", "run"))
+ depends_on("py-lazyarray@0.2.9:", type=("build", "run"))
- depends_on('py-neo@0.3:0.4.1', type=('build', 'run'), when="@:0.8.3")
- depends_on('py-neo@0.5.0:', type=('build', 'run'), when="@0.9.0:")
+ depends_on("py-neo@0.3:0.4.1", type=("build", "run"), when="@:0.8.3")
+ depends_on("py-neo@0.5.0:", type=("build", "run"), when="@0.9.0:")
diff --git a/var/spack/repos/builtin/packages/py-pynvim/package.py b/var/spack/repos/builtin/packages/py-pynvim/package.py
index e44aed6521..78a369dffb 100644
--- a/var/spack/repos/builtin/packages/py-pynvim/package.py
+++ b/var/spack/repos/builtin/packages/py-pynvim/package.py
@@ -10,12 +10,12 @@ class PyPynvim(PythonPackage):
"""Neovim python client"""
homepage = "https://pynvim.readthedocs.io/en/latest/"
- pypi = "pynvim/pynvim-0.4.3.tar.gz"
+ pypi = "pynvim/pynvim-0.4.3.tar.gz"
- maintainers = ['trws']
+ maintainers = ["trws"]
- version('0.4.3', sha256='3a795378bde5e8092fbeb3a1a99be9c613d2685542f1db0e5c6fd467eed56dff')
+ version("0.4.3", sha256="3a795378bde5e8092fbeb3a1a99be9c613d2685542f1db0e5c6fd467eed56dff")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-msgpack', type=('build', 'run'))
+ depends_on("py-msgpack", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pynvml/package.py b/var/spack/repos/builtin/packages/py-pynvml/package.py
index b1160ef022..55ff24e4ba 100644
--- a/var/spack/repos/builtin/packages/py-pynvml/package.py
+++ b/var/spack/repos/builtin/packages/py-pynvml/package.py
@@ -16,7 +16,7 @@ class PyPynvml(PythonPackage):
homepage = "https://www.nvidia.com/"
pypi = "pynvml/pynvml-8.0.4.tar.gz"
- version('8.0.4', sha256='c8d4eadc648c7e12a3c9182a9750afd8481b76412f83747bcc01e2aa829cde5d')
+ version("8.0.4", sha256="c8d4eadc648c7e12a3c9182a9750afd8481b76412f83747bcc01e2aa829cde5d")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyodbc/package.py b/var/spack/repos/builtin/packages/py-pyodbc/package.py
index ec83dfaaea..6836fbab45 100644
--- a/var/spack/repos/builtin/packages/py-pyodbc/package.py
+++ b/var/spack/repos/builtin/packages/py-pyodbc/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyPyodbc(PythonPackage):
"""A Python DB API 2 module for ODBC. This project provides an up-to-date,
- convenient interface to ODBC using native data types like datetime and
- decimal."""
+ convenient interface to ODBC using native data types like datetime and
+ decimal."""
homepage = "https://github.com/mkleehammer/pyodbc"
pypi = "pyodbc/pyodbc-4.0.26.tar.gz"
- version('4.0.26', sha256='e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3')
+ version("4.0.26", sha256="e52700b5d24a846483b5ab80acd9153f8e593999c9184ffea11596288fb33de3")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('unixodbc')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("unixodbc")
diff --git a/var/spack/repos/builtin/packages/py-pyomo/package.py b/var/spack/repos/builtin/packages/py-pyomo/package.py
index d07d529bec..c637bff83a 100644
--- a/var/spack/repos/builtin/packages/py-pyomo/package.py
+++ b/var/spack/repos/builtin/packages/py-pyomo/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class PyPyomo(PythonPackage):
"""Pyomo is a Python-based open-source software package that supports a
- diverse set of optimization capabilities for formulating and analyzing
- optimization models."""
+ diverse set of optimization capabilities for formulating and analyzing
+ optimization models."""
homepage = "https://github.com/Pyomo/pyomo"
- url = "https://github.com/Pyomo/pyomo/archive/5.6.6.tar.gz"
+ url = "https://github.com/Pyomo/pyomo/archive/5.6.6.tar.gz"
- version('5.6.6', sha256='9330956b9fb244351ce76aaaf88688b5bdd03eebb122020cbee7b46e198a4110')
+ version("5.6.6", sha256="9330956b9fb244351ce76aaaf88688b5bdd03eebb122020cbee7b46e198a4110")
- depends_on('python@2.7:2.9,3.4:', type=('build', 'run'))
+ depends_on("python@2.7:2.9,3.4:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
- depends_on('py-appdirs', type=('build', 'run'))
- depends_on('py-pyutilib@5.7.1:', type=('build', 'run'))
- depends_on('py-ply', type=('build', 'run'))
- depends_on('py-six@1.4:', type=('build', 'run'))
+ depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-pyutilib@5.7.1:", type=("build", "run"))
+ depends_on("py-ply", type=("build", "run"))
+ depends_on("py-six@1.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyopencl/package.py b/var/spack/repos/builtin/packages/py-pyopencl/package.py
index a8eccc9dd1..f2a41db531 100644
--- a/var/spack/repos/builtin/packages/py-pyopencl/package.py
+++ b/var/spack/repos/builtin/packages/py-pyopencl/package.py
@@ -13,24 +13,25 @@ class PyPyopencl(PythonPackage):
homepage = "https://documen.tician.de/pyopencl/"
pypi = "pyopencl/pyopencl-2020.2.2.tar.gz"
- maintainers = ['matthiasdiener']
-
- version('2020.2.2', sha256='31fcc79fb6862998e98d91a624c0bd4f0ab4c5d418d199912d4d312c64e437ec')
-
- depends_on('ocl-icd', type=('build', 'link', 'run'))
- depends_on('opencl', type=('build', 'link', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
- depends_on('py-decorator@3.2.0:', type=('build', 'run'))
- depends_on('py-mako@0.3.6:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pybind11@2.5.0:', type='build')
- depends_on('py-pytools@2017.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
-
- @run_before('install')
+ maintainers = ["matthiasdiener"]
+
+ version("2020.2.2", sha256="31fcc79fb6862998e98d91a624c0bd4f0ab4c5d418d199912d4d312c64e437ec")
+
+ depends_on("ocl-icd", type=("build", "link", "run"))
+ depends_on("opencl", type=("build", "link", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-appdirs@1.4.0:", type=("build", "run"))
+ depends_on("py-decorator@3.2.0:", type=("build", "run"))
+ depends_on("py-mako@0.3.6:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pybind11@2.5.0:", type="build")
+ depends_on("py-pytools@2017.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+
+ @run_before("install")
def prepare(self):
- cl_prefix = self.spec['ocl-icd'].prefix
- python('configure.py', '--cl-inc-dir=' + cl_prefix.include,
- '--cl-lib-dir=' + cl_prefix.lib)
+ cl_prefix = self.spec["ocl-icd"].prefix
+ python(
+ "configure.py", "--cl-inc-dir=" + cl_prefix.include, "--cl-lib-dir=" + cl_prefix.lib
+ )
diff --git a/var/spack/repos/builtin/packages/py-pyopenssl/package.py b/var/spack/repos/builtin/packages/py-pyopenssl/package.py
index 1cbb58b205..6a049cb80f 100644
--- a/var/spack/repos/builtin/packages/py-pyopenssl/package.py
+++ b/var/spack/repos/builtin/packages/py-pyopenssl/package.py
@@ -17,8 +17,8 @@ class PyPyopenssl(PythonPackage):
homepage = "https://pyopenssl.org/"
pypi = "pyOpenSSL/pyOpenSSL-19.0.0.tar.gz"
- version('19.0.0', sha256='aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200')
+ version("19.0.0", sha256="aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200")
- depends_on('py-setuptools', type='build')
- depends_on('py-cryptography@2.3:', type=('build', 'run'))
- depends_on('py-six@1.5.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cryptography@2.3:", type=("build", "run"))
+ depends_on("py-six@1.5.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pypar/package.py b/var/spack/repos/builtin/packages/py-pypar/package.py
index 9267b668df..86a7d9a2e0 100644
--- a/var/spack/repos/builtin/packages/py-pypar/package.py
+++ b/var/spack/repos/builtin/packages/py-pypar/package.py
@@ -8,16 +8,17 @@ from spack.package import *
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."""
+ written in Python to run in parallel on multiple processors and
+ communicate using MPI."""
+
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"
+ 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')
+ version("2.1.5_108", sha256="6076c47d32d48424a07c7b7b29ac16e12cc4b2d28b681b895f94fa76cd82fa12")
- depends_on('mpi')
+ depends_on("mpi")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
- build_directory = 'source'
+ build_directory = "source"
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py
index 6d151ec685..d963081437 100644
--- a/var/spack/repos/builtin/packages/py-pyparsing/package.py
+++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py
@@ -8,20 +8,21 @@ from spack.package import *
class PyPyparsing(PythonPackage):
"""A Python Parsing Module."""
+
homepage = "https://pyparsing-docs.readthedocs.io/en/latest/"
pypi = "pyparsing/pyparsing-2.4.2.tar.gz"
- version('3.0.6', sha256='d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81')
- version('2.4.7', sha256='c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1')
- version('2.4.2', sha256='6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80')
- version('2.4.0', sha256='1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a')
- version('2.3.1', sha256='66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a')
- version('2.2.0', sha256='0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04')
- version('2.1.10', sha256='811c3e7b0031021137fc83e051795025fcb98674d07eb8fe922ba4de53d39188')
- version('2.0.3', sha256='06e729e1cbf5274703b1f47b6135ed8335999d547f9d8cf048b210fb8ebf844f')
+ version("3.0.6", sha256="d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81")
+ version("2.4.7", sha256="c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1")
+ version("2.4.2", sha256="6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80")
+ version("2.4.0", sha256="1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a")
+ version("2.3.1", sha256="66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a")
+ version("2.2.0", sha256="0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04")
+ version("2.1.10", sha256="811c3e7b0031021137fc83e051795025fcb98674d07eb8fe922ba4de53d39188")
+ version("2.0.3", sha256="06e729e1cbf5274703b1f47b6135ed8335999d547f9d8cf048b210fb8ebf844f")
- depends_on('python@3.6:', when='@3:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@3:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- import_modules = ['pyparsing']
+ import_modules = ["pyparsing"]
diff --git a/var/spack/repos/builtin/packages/py-pypdf2/package.py b/var/spack/repos/builtin/packages/py-pypdf2/package.py
index f13e87a93f..2cd849269b 100644
--- a/var/spack/repos/builtin/packages/py-pypdf2/package.py
+++ b/var/spack/repos/builtin/packages/py-pypdf2/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class PyPypdf2(PythonPackage):
"""PyPDF2 is a free and open source pure-python PDF library capable of
- splitting, merging, cropping, and transforming the pages of PDF files.
- It can also add custom data, viewing options, and passwords to PDF files.
- PyPDF2 can retrieve text and metadata from PDFs as well."""
+ splitting, merging, cropping, and transforming the pages of PDF files.
+ It can also add custom data, viewing options, and passwords to PDF files.
+ PyPDF2 can retrieve text and metadata from PDFs as well."""
homepage = "https://pypdf2.readthedocs.io/en/latest/"
- pypi = "PyPDF2/PyPDF2-2.5.0.tar.gz"
+ pypi = "PyPDF2/PyPDF2-2.5.0.tar.gz"
- version('2.5.0', sha256='5802b1f40fa79be1b5ab9edc95a4e7f7e73399589db4f0e66ca831f449e7a2cd')
- version('1.26.0', sha256='e28f902f2f0a1603ea95ebe21dff311ef09be3d0f0ef29a3e44a932729564385')
+ version("2.5.0", sha256="5802b1f40fa79be1b5ab9edc95a4e7f7e73399589db4f0e66ca831f449e7a2cd")
+ version("1.26.0", sha256="e28f902f2f0a1603ea95ebe21dff311ef09be3d0f0ef29a3e44a932729564385")
- depends_on('python@3.6:', type=('build', 'run'), when='@2.0.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-typing-extensions', type=('build', 'run'), when='@2.0.0:^python@:3.9')
+ depends_on("python@3.6:", type=("build", "run"), when="@2.0.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing-extensions", type=("build", "run"), when="@2.0.0:^python@:3.9")
diff --git a/var/spack/repos/builtin/packages/py-pypeflow/package.py b/var/spack/repos/builtin/packages/py-pypeflow/package.py
index ca485d7123..ce1cdec9fa 100644
--- a/var/spack/repos/builtin/packages/py-pypeflow/package.py
+++ b/var/spack/repos/builtin/packages/py-pypeflow/package.py
@@ -11,9 +11,9 @@ class PyPypeflow(PythonPackage):
library written in Python."""
homepage = "https://github.com/PacificBiosciences/pypeFLOW"
- git = "https://github.com/PacificBiosciences/pypeFLOW.git"
+ git = "https://github.com/PacificBiosciences/pypeFLOW.git"
- version('2017-05-04', commit='f23a1b290876bbdf130611000934ae4247158073')
+ version("2017-05-04", commit="f23a1b290876bbdf130611000934ae4247158073")
- depends_on('py-setuptools', type='build')
- depends_on('py-networkx@1.7:1.11', type=['build', 'run'])
+ depends_on("py-setuptools", type="build")
+ depends_on("py-networkx@1.7:1.11", type=["build", "run"])
diff --git a/var/spack/repos/builtin/packages/py-pypeg2/package.py b/var/spack/repos/builtin/packages/py-pypeg2/package.py
index c76cdec5f7..69f1f8f03c 100644
--- a/var/spack/repos/builtin/packages/py-pypeg2/package.py
+++ b/var/spack/repos/builtin/packages/py-pypeg2/package.py
@@ -12,8 +12,8 @@ class PyPypeg2(PythonPackage):
homepage = "https://fdik.org/pyPEG2/"
pypi = "pypeg2/pyPEG2-2.15.2.tar.gz"
- version('2.15.2', sha256='2b2d4f80d8e1a9370b2a91f4a25f4abf7f69b85c8da84cd23ec36451958a1f6d')
+ version("2.15.2", sha256="2b2d4f80d8e1a9370b2a91f4a25f4abf7f69b85c8da84cd23ec36451958a1f6d")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-lxml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-lxml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyperclip/package.py b/var/spack/repos/builtin/packages/py-pyperclip/package.py
index a65261ec4c..7b0f574ad8 100644
--- a/var/spack/repos/builtin/packages/py-pyperclip/package.py
+++ b/var/spack/repos/builtin/packages/py-pyperclip/package.py
@@ -12,8 +12,8 @@ class PyPyperclip(PythonPackage):
homepage = "https://github.com/asweigart/pyperclip"
pypi = "pyperclip/pyperclip-1.7.0.tar.gz"
- version('1.8.2', sha256='105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57')
- version('1.7.0', sha256='979325468ccf682104d5dcaf753f869868100631301d3e72f47babdea5700d1c')
+ version("1.8.2", sha256="105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57")
+ version("1.7.0", sha256="979325468ccf682104d5dcaf753f869868100631301d3e72f47babdea5700d1c")
- depends_on('py-setuptools', type='build')
- depends_on('xclip', type='run', when='platform=linux')
+ depends_on("py-setuptools", type="build")
+ depends_on("xclip", type="run", when="platform=linux")
diff --git a/var/spack/repos/builtin/packages/py-pyperf/package.py b/var/spack/repos/builtin/packages/py-pyperf/package.py
index 52b5ac0eb1..9a37ffe0b7 100644
--- a/var/spack/repos/builtin/packages/py-pyperf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyperf/package.py
@@ -14,9 +14,9 @@ class PyPyperf(PythonPackage):
homepage = "https://github.com/vstinner/pyperf"
url = "https://github.com/vstinner/pyperf/archive/1.5.1.tar.gz"
- version('1.6.1', sha256='fbe793f6f2e036ab4dcca105b5c5aa34fd331dd881e7a3e158e5e218c63cfc32')
- version('1.6.0', sha256='7af7b9cfd9d26548ab7127f8e51791357ecd78cda46aad5b2d9664a70fc58878')
- version('1.5.1', sha256='9c271862bc2911be8eb01031a4a86cbc3f5bb615971514383802d3dcf46f18ed')
+ version("1.6.1", sha256="fbe793f6f2e036ab4dcca105b5c5aa34fd331dd881e7a3e158e5e218c63cfc32")
+ version("1.6.0", sha256="7af7b9cfd9d26548ab7127f8e51791357ecd78cda46aad5b2d9664a70fc58878")
+ version("1.5.1", sha256="9c271862bc2911be8eb01031a4a86cbc3f5bb615971514383802d3dcf46f18ed")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pypinyin/package.py b/var/spack/repos/builtin/packages/py-pypinyin/package.py
index e75a0741b9..39a9937d4e 100644
--- a/var/spack/repos/builtin/packages/py-pypinyin/package.py
+++ b/var/spack/repos/builtin/packages/py-pypinyin/package.py
@@ -10,12 +10,12 @@ class PyPypinyin(PythonPackage):
"""Chinese Pinyin conversion module/tool."""
homepage = "https://github.com/mozillazg/python-pinyin"
- pypi = "pypinyin/pypinyin-0.46.0.tar.gz"
+ pypi = "pypinyin/pypinyin-0.46.0.tar.gz"
- version('0.46.0', sha256='0d2e41e95dbc20a232c0f5d3850654eebbfcba303d96358d2c46592725bb989c')
+ version("0.46.0", sha256="0d2e41e95dbc20a232c0f5d3850654eebbfcba303d96358d2c46592725bb989c")
- depends_on('python@2.6:2,3.3:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6')
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-typing', type=('build', 'run'), when='^python@:3.4')
+ depends_on("python@2.6:2,3.3:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-argparse", type=("build", "run"), when="^python@:2.6")
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-typing", type=("build", "run"), when="^python@:3.4")
diff --git a/var/spack/repos/builtin/packages/py-pyprecice/package.py b/var/spack/repos/builtin/packages/py-pyprecice/package.py
index 50273768e0..9e8978cbd0 100644
--- a/var/spack/repos/builtin/packages/py-pyprecice/package.py
+++ b/var/spack/repos/builtin/packages/py-pyprecice/package.py
@@ -19,12 +19,12 @@ class PyPyprecice(PythonPackage):
# Always prefer final version of release candidate
version("develop", branch="develop")
- version('2.4.0.0', sha256='8877da85df97d66966892440c7e777b667d8e6a33747304ed3762f4c33b729ec')
- version('2.3.0.1', sha256='ed4e48729b662680beaa4ee2a9aff724a79e760534c6c58181be739988da2789')
- version('2.2.1.1', sha256='139bac5077c3807e1b7b83d8d0da5ca0fc8c17393fd0df4bc5999cd63a351b78')
- version('2.2.0.2', sha256='2287185f9ad7500dced53459543d27bb66bd2438c2e4bf81ee3317e6a00513d5')
- version('2.2.0.1', sha256='229625e2e6df03987ababce5abe2021b0974cbe5a588b936a9cba653f4908d4b')
- version('2.1.1.2', sha256='363eb3eeccf964fd5ee87012c1032353dd1518662868f2b51f04a6d8a7154045')
+ version("2.4.0.0", sha256="8877da85df97d66966892440c7e777b667d8e6a33747304ed3762f4c33b729ec")
+ version("2.3.0.1", sha256="ed4e48729b662680beaa4ee2a9aff724a79e760534c6c58181be739988da2789")
+ version("2.2.1.1", sha256="139bac5077c3807e1b7b83d8d0da5ca0fc8c17393fd0df4bc5999cd63a351b78")
+ version("2.2.0.2", sha256="2287185f9ad7500dced53459543d27bb66bd2438c2e4bf81ee3317e6a00513d5")
+ version("2.2.0.1", sha256="229625e2e6df03987ababce5abe2021b0974cbe5a588b936a9cba653f4908d4b")
+ version("2.1.1.2", sha256="363eb3eeccf964fd5ee87012c1032353dd1518662868f2b51f04a6d8a7154045")
version("2.1.1.1", sha256="972f574549344b6155a8dd415b6d82512e00fa154ca25ae7e36b68d4d2ed2cf4")
version("2.1.0.1", sha256="ac5cb7412c6b96b08a04fa86ea38e52d91ea739a3bd1c209baa93a8275e4e01a")
version("2.0.2.1", sha256="c6fca26332316de041f559aecbf23122a85d6348baa5d3252be4ddcd5e94c09a")
@@ -53,6 +53,4 @@ class PyPyprecice(PythonPackage):
@when("@:2.1")
def patch(self):
- filter_file(
- "distutils.command.install", "setuptools.command.install", "setup.py"
- )
+ filter_file("distutils.command.install", "setuptools.command.install", "setup.py")
diff --git a/var/spack/repos/builtin/packages/py-pyprof2html/package.py b/var/spack/repos/builtin/packages/py-pyprof2html/package.py
index 75dba28618..0d88f8c196 100644
--- a/var/spack/repos/builtin/packages/py-pyprof2html/package.py
+++ b/var/spack/repos/builtin/packages/py-pyprof2html/package.py
@@ -11,9 +11,9 @@ class PyPyprof2html(PythonPackage):
pypi = "pyprof2html/pyprof2html-0.3.1.tar.gz"
- version('0.3.1', sha256='db2d37e21d8c76f2fd25fb1ba9273c9b3ff4a98a327e37d943fed1ea225a6720')
+ version("0.3.1", sha256="db2d37e21d8c76f2fd25fb1ba9273c9b3ff4a98a327e37d943fed1ea225a6720")
- patch('version_0.3.1.patch', when="@0.3.1")
+ patch("version_0.3.1.patch", when="@0.3.1")
- depends_on('py-setuptools', type='build')
- depends_on('py-jinja2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jinja2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyproj/package.py b/var/spack/repos/builtin/packages/py-pyproj/package.py
index 39150f538c..6d431fb03f 100644
--- a/var/spack/repos/builtin/packages/py-pyproj/package.py
+++ b/var/spack/repos/builtin/packages/py-pyproj/package.py
@@ -12,48 +12,56 @@ class PyPyproj(PythonPackage):
homepage = "https://github.com/pyproj4/pyproj"
pypi = "pyproj/pyproj-2.2.0.tar.gz"
- git = "https://github.com/pyproj4/pyproj.git"
+ git = "https://github.com/pyproj4/pyproj.git"
- maintainers = ['citibeth', 'adamjstewart']
+ maintainers = ["citibeth", "adamjstewart"]
- version('3.1.0', sha256='67b94f4e694ae33fc90dfb7da0e6b5ed5f671dd0acc2f6cf46e9c39d56e16e1a')
- version('3.0.1', sha256='bfbac35490dd17f706700673506eeb8170f8a2a63fb5878171d4e6eef242d141')
- version('3.0.0', sha256='539e320d06e5441edadad2e2ab276e1877445eca384fc1c056b5501453d433c2')
- version('2.6.1', sha256='52556f245f1112f121091937b47738d1fbcbd0f13be6fb32689de31ab0975d24')
- version('2.6.0', sha256='977542d2f8cf2981cf3ad72cedfebcd6ac56977c7aa830d9b49fa7888b56e83d')
- version('2.2.0', sha256='0a4f793cc93539c2292638c498e24422a2ec4b25cb47545addea07724b2a56e5')
- version('2.1.3', sha256='99c52788b01a7bb9a88024bf4d40965c0a66a93d654600b5deacf644775f424d')
- version('1.9.6', sha256='e0c02b1554b20c710d16d673817b2a89ff94738b0b537aead8ecb2edc4c4487b', deprecated=True)
- version('1.9.5.1', sha256='53fa54c8fa8a1dfcd6af4bf09ce1aae5d4d949da63b90570ac5ec849efaf3ea8', deprecated=True)
+ version("3.1.0", sha256="67b94f4e694ae33fc90dfb7da0e6b5ed5f671dd0acc2f6cf46e9c39d56e16e1a")
+ version("3.0.1", sha256="bfbac35490dd17f706700673506eeb8170f8a2a63fb5878171d4e6eef242d141")
+ version("3.0.0", sha256="539e320d06e5441edadad2e2ab276e1877445eca384fc1c056b5501453d433c2")
+ version("2.6.1", sha256="52556f245f1112f121091937b47738d1fbcbd0f13be6fb32689de31ab0975d24")
+ version("2.6.0", sha256="977542d2f8cf2981cf3ad72cedfebcd6ac56977c7aa830d9b49fa7888b56e83d")
+ version("2.2.0", sha256="0a4f793cc93539c2292638c498e24422a2ec4b25cb47545addea07724b2a56e5")
+ version("2.1.3", sha256="99c52788b01a7bb9a88024bf4d40965c0a66a93d654600b5deacf644775f424d")
+ version(
+ "1.9.6",
+ sha256="e0c02b1554b20c710d16d673817b2a89ff94738b0b537aead8ecb2edc4c4487b",
+ deprecated=True,
+ )
+ version(
+ "1.9.5.1",
+ sha256="53fa54c8fa8a1dfcd6af4bf09ce1aae5d4d949da63b90570ac5ec849efaf3ea8",
+ deprecated=True,
+ )
# In setup.cfg and setup.py
- depends_on('python@3.7:', when='@3.1:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@3.0:', type=('build', 'link', 'run'))
- depends_on('python@3.5:', when='@2.3:', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@2.2:', type=('build', 'link', 'run'))
- depends_on('python@2.6:2.8,3.3:', type=('build', 'link', 'run'))
+ depends_on("python@3.7:", when="@3.1:", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@3.0:", type=("build", "link", "run"))
+ depends_on("python@3.5:", when="@2.3:", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@2.2:", type=("build", "link", "run"))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "link", "run"))
# In setup.py
# https://pyproj4.github.io/pyproj/stable/installation.html#installing-from-source
- depends_on('proj')
- depends_on('proj@7.2:', when='@3.0.1:')
- depends_on('proj@7.2.0:7.2', when='@3.0.0')
- depends_on('proj@6.2:7.0', when='@2.4:2.6')
- depends_on('proj@6.1:7.0', when='@2.2:2.3')
- depends_on('proj@6.0:6', when='@2.0:2.1')
- depends_on('proj@:5.2', when='@:1.9')
+ depends_on("proj")
+ depends_on("proj@7.2:", when="@3.0.1:")
+ depends_on("proj@7.2.0:7.2", when="@3.0.0")
+ depends_on("proj@6.2:7.0", when="@2.4:2.6")
+ depends_on("proj@6.1:7.0", when="@2.2:2.3")
+ depends_on("proj@6.0:6", when="@2.0:2.1")
+ depends_on("proj@:5.2", when="@:1.9")
# In setup.py
- depends_on('py-setuptools', type='build')
- depends_on('py-certifi', when='@3.0:', type=('build', 'run'))
- depends_on('py-aenum', when='@2.2.0:2.2 ^python@:3.5', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi", when="@3.0:", type=("build", "run"))
+ depends_on("py-aenum", when="@2.2.0:2.2 ^python@:3.5", type=("build", "run"))
# In pyproject.toml
- depends_on('py-cython@0.28.4:', when='@2.0:')
+ depends_on("py-cython@0.28.4:", when="@2.0:")
def setup_build_environment(self, env):
# https://pyproj4.github.io/pyproj/stable/installation.html#pyproj-build-environment-variables
- env.set('PROJ_VERSION', self.spec['proj'].version)
- env.set('PROJ_DIR', self.spec['proj'].prefix)
- env.set('PROJ_LIBDIR', self.spec['proj'].libs.directories[0])
- env.set('PROJ_INCDIR', self.spec['proj'].headers.directories[0])
+ env.set("PROJ_VERSION", self.spec["proj"].version)
+ env.set("PROJ_DIR", self.spec["proj"].prefix)
+ env.set("PROJ_LIBDIR", self.spec["proj"].libs.directories[0])
+ env.set("PROJ_INCDIR", self.spec["proj"].headers.directories[0])
diff --git a/var/spack/repos/builtin/packages/py-pypulse/package.py b/var/spack/repos/builtin/packages/py-pypulse/package.py
index 7309e4246d..bc5daa3b99 100644
--- a/var/spack/repos/builtin/packages/py-pypulse/package.py
+++ b/var/spack/repos/builtin/packages/py-pypulse/package.py
@@ -11,14 +11,14 @@ class PyPypulse(PythonPackage):
analyses on pulse profiles."""
homepage = "https://github.com/mtlam/PyPulse"
- pypi = "PyPulse/PyPulse-0.0.1.tar.gz"
+ pypi = "PyPulse/PyPulse-0.0.1.tar.gz"
- version('0.1.1', sha256='89cb362d2108215784f5b0df8e79311f7856f0da705ce4d77d4e884ca6c651b4')
- version('0.0.1', sha256='239823737644bdf1e09e23e81b3fc439db096aa589581d9fa2b5717f1572e75b')
+ version("0.1.1", sha256="89cb362d2108215784f5b0df8e79311f7856f0da705ce4d77d4e884ca6c651b4")
+ version("0.0.1", sha256="239823737644bdf1e09e23e81b3fc439db096aa589581d9fa2b5717f1572e75b")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-astropy', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-astropy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyqi/package.py b/var/spack/repos/builtin/packages/py-pyqi/package.py
index 54bdcaaa51..52e6ee52cf 100644
--- a/var/spack/repos/builtin/packages/py-pyqi/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqi/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyPyqi(PythonPackage):
"""pyqi (canonically pronounced pie chee) is a Python framework designed
- to support wrapping general commands in multiple types of interfaces,
- including at the command line, HTML, and API levels."""
+ to support wrapping general commands in multiple types of interfaces,
+ including at the command line, HTML, and API levels."""
homepage = "https://pyqi.readthedocs.io"
pypi = "pyqi/pyqi-0.3.2.tar.gz"
- version('0.3.2', sha256='8f1711835779704e085e62194833fed9ac2985e398b4ceac6faf6c7f40f5d15f')
+ version("0.3.2", sha256="8f1711835779704e085e62194833fed9ac2985e398b4ceac6faf6c7f40f5d15f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyqt-builder/package.py b/var/spack/repos/builtin/packages/py-pyqt-builder/package.py
index 5950bb922b..81d249065b 100644
--- a/var/spack/repos/builtin/packages/py-pyqt-builder/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt-builder/package.py
@@ -12,9 +12,9 @@ class PyPyqtBuilder(PythonPackage):
homepage = "https://www.riverbankcomputing.com/hg/PyQt-builder/"
pypi = "PyQt-builder/PyQt-builder-1.12.2.tar.gz"
- version('1.12.2', sha256='f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7')
+ version("1.12.2", sha256="f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@30.3:', type='build')
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-sip@6.3:6', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", type="build")
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-sip@6.3:6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyqt4/package.py b/var/spack/repos/builtin/packages/py-pyqt4/package.py
index 5c047f9067..c4d3b391ef 100644
--- a/var/spack/repos/builtin/packages/py-pyqt4/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt4/package.py
@@ -13,32 +13,39 @@ class PyPyqt4(SIPPackage):
against Qt v5."""
homepage = "https://www.riverbankcomputing.com/software/pyqt/intro"
- url = "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz"
+ url = (
+ "http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.12.3/PyQt4_gpl_x11-4.12.3.tar.gz"
+ )
- sip_module = 'PyQt4.sip'
+ sip_module = "PyQt4.sip"
- version('4.12.3', sha256='a00f5abef240a7b5852b7924fa5fdf5174569525dc076cd368a566619e56d472')
- version('4.11.3', sha256='853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686',
- url='http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz')
+ version("4.12.3", sha256="a00f5abef240a7b5852b7924fa5fdf5174569525dc076cd368a566619e56d472")
+ version(
+ "4.11.3",
+ sha256="853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686",
+ url="http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt-x11-gpl-4.11.3.tar.gz",
+ )
# API files can be installed regardless if QScintilla is installed or not
- variant('qsci_api', default=False, description='Install PyQt API file for QScintilla')
+ variant("qsci_api", default=False, description="Install PyQt API file for QScintilla")
# Supposedly can also be built with Qt 5 compatibility layer
- depends_on('qt@:4')
- depends_on('py-sip@:4.19.18 module=PyQt4.sip')
+ depends_on("qt@:4")
+ depends_on("py-sip@:4.19.18 module=PyQt4.sip")
# https://www.riverbankcomputing.com/static/Docs/PyQt4/installation.html
def configure_file(self):
- return 'configure-ng.py'
+ return "configure-ng.py"
def configure_args(self):
args = [
- '--pyuic4-interpreter', self.spec['python'].command.path,
- '--sipdir', self.prefix.share.sip.PyQt4,
- '--stubsdir', join_path(python_platlib, 'PyQt4')
+ "--pyuic4-interpreter",
+ self.spec["python"].command.path,
+ "--sipdir",
+ self.prefix.share.sip.PyQt4,
+ "--stubsdir",
+ join_path(python_platlib, "PyQt4"),
]
- if '+qsci_api' in self.spec:
- args.extend(['--qsci-api',
- '--qsci-api-destdir', self.prefix.share.qsci])
+ if "+qsci_api" in self.spec:
+ args.extend(["--qsci-api", "--qsci-api-destdir", self.prefix.share.qsci])
return args
diff --git a/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py b/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py
index 721dc00204..f6ffb0c7fc 100644
--- a/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt5-sip/package.py
@@ -10,9 +10,9 @@ class PyPyqt5Sip(PythonPackage):
"""The sip module support for PyQt5."""
homepage = "https://www.riverbankcomputing.com/software/sip/"
- pypi = "PyQt5_sip/PyQt5_sip-12.9.0.tar.gz"
+ pypi = "PyQt5_sip/PyQt5_sip-12.9.0.tar.gz"
- version('12.9.0', sha256='d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32')
+ version("12.9.0", sha256="d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyqt5/package.py b/var/spack/repos/builtin/packages/py-pyqt5/package.py
index b05b67ef2a..f28e826aac 100644
--- a/var/spack/repos/builtin/packages/py-pyqt5/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt5/package.py
@@ -12,39 +12,45 @@ class PyPyqt5(SIPPackage):
Windows, OS X, Linux, iOS and Android. PyQt5 supports Qt v5."""
homepage = "https://www.riverbankcomputing.com/software/pyqt/intro"
- url = "https://www.riverbankcomputing.com/static/Downloads/PyQt5/5.13.0/PyQt5_gpl-5.13.0.tar.gz"
+ url = (
+ "https://www.riverbankcomputing.com/static/Downloads/PyQt5/5.13.0/PyQt5_gpl-5.13.0.tar.gz"
+ )
list_url = "https://www.riverbankcomputing.com/software/pyqt/download5"
- sip_module = 'PyQt5.sip'
+ sip_module = "PyQt5.sip"
- version('5.13.1', sha256='54b7f456341b89eeb3930e786837762ea67f235e886512496c4152ebe106d4af')
- version('5.13.0', sha256='0cdbffe5135926527b61cc3692dd301cd0328dd87eeaf1313e610787c46faff9')
- version('5.12.3', sha256='0db0fa37debab147450f9e052286f7a530404e2aaddc438e97a7dcdf56292110')
+ version("5.13.1", sha256="54b7f456341b89eeb3930e786837762ea67f235e886512496c4152ebe106d4af")
+ version("5.13.0", sha256="0cdbffe5135926527b61cc3692dd301cd0328dd87eeaf1313e610787c46faff9")
+ version("5.12.3", sha256="0db0fa37debab147450f9e052286f7a530404e2aaddc438e97a7dcdf56292110")
# API files can be installed regardless if Qscintilla is installed or not
- variant('qsci_api', default=False, description='Install PyQt API file for QScintilla')
+ variant("qsci_api", default=False, description="Install PyQt API file for QScintilla")
# Without opengl support, I got the following error:
# sip: QOpenGLFramebufferObject is undefined
- depends_on('qt@5:+opengl')
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-sip module=PyQt5.sip', type=('build', 'run'))
- depends_on('py-sip@:4.19.18 module=PyQt5.sip', type=('build', 'run'), when='@:5.13.0')
+ depends_on("qt@5:+opengl")
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-enum34", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-sip module=PyQt5.sip", type=("build", "run"))
+ depends_on("py-sip@:4.19.18 module=PyQt5.sip", type=("build", "run"), when="@:5.13.0")
# https://www.riverbankcomputing.com/static/Docs/PyQt5/installation.html
def configure_args(self):
args = [
- '--pyuic5-interpreter', self.spec['python'].command.path,
- '--sipdir', self.prefix.share.sip.PyQt5,
- '--designer-plugindir', self.prefix.plugins.designer,
- '--qml-plugindir', self.prefix.plugins.PyQt5,
- '--stubsdir', join_path(python_platlib, 'PyQt5'),
+ "--pyuic5-interpreter",
+ self.spec["python"].command.path,
+ "--sipdir",
+ self.prefix.share.sip.PyQt5,
+ "--designer-plugindir",
+ self.prefix.plugins.designer,
+ "--qml-plugindir",
+ self.prefix.plugins.PyQt5,
+ "--stubsdir",
+ join_path(python_platlib, "PyQt5"),
]
- if '+qsci_api' in self.spec:
- args.extend(['--qsci-api',
- '--qsci-api-destdir', self.prefix.share.qsci])
+ if "+qsci_api" in self.spec:
+ args.extend(["--qsci-api", "--qsci-api-destdir", self.prefix.share.qsci])
return args
def setup_run_environment(self, env):
- env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
+ env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins)
diff --git a/var/spack/repos/builtin/packages/py-pyquaternion/package.py b/var/spack/repos/builtin/packages/py-pyquaternion/package.py
index 732338d137..af42968d90 100644
--- a/var/spack/repos/builtin/packages/py-pyquaternion/package.py
+++ b/var/spack/repos/builtin/packages/py-pyquaternion/package.py
@@ -13,8 +13,8 @@ class PyPyquaternion(PythonPackage):
homepage = "https://kieranwynn.github.io/pyquaternion/"
pypi = "pyquaternion/pyquaternion-0.9.5.tar.gz"
- version('0.9.5', sha256='2d89d19259d62a8fbd25219eee7dacc1f6bb570becb70e1e883f622597c7d81d')
+ version("0.9.5", sha256="2d89d19259d62a8fbd25219eee7dacc1f6bb570becb70e1e883f622597c7d81d")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
- depends_on('py-numpy', type='run')
+ depends_on("py-numpy", type="run")
diff --git a/var/spack/repos/builtin/packages/py-pyrad/package.py b/var/spack/repos/builtin/packages/py-pyrad/package.py
index cfcc85b8a3..e6272fd98a 100644
--- a/var/spack/repos/builtin/packages/py-pyrad/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrad/package.py
@@ -10,13 +10,13 @@ class PyPyrad(PythonPackage):
"""RADseq for phylogenetics & introgression analyses"""
homepage = "http://dereneaton.com/software/pyrad/"
- url = "https://github.com/dereneaton/pyrad/archive/3.0.66.tar.gz"
+ url = "https://github.com/dereneaton/pyrad/archive/3.0.66.tar.gz"
- version('3.0.66', sha256='7dbd67e532058f7b7de76d14cf631fd3e3c841cd80fac4e55fbce8bb52ac6537')
+ version("3.0.66", sha256="7dbd67e532058f7b7de76d14cf631fd3e3c841cd80fac4e55fbce8bb52ac6537")
- depends_on('python@:2', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('vsearch')
- depends_on('muscle')
+ depends_on("python@:2", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("vsearch")
+ depends_on("muscle")
diff --git a/var/spack/repos/builtin/packages/py-pyrect/package.py b/var/spack/repos/builtin/packages/py-pyrect/package.py
index 61ca7b8fcd..d9d4cc7c64 100644
--- a/var/spack/repos/builtin/packages/py-pyrect/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrect/package.py
@@ -11,8 +11,8 @@ class PyPyrect(PythonPackage):
Pygame-like rectangular areas."""
homepage = "https://github.com/asweigart/pyrect"
- pypi = "PyRect/PyRect-0.1.4.tar.gz"
+ pypi = "PyRect/PyRect-0.1.4.tar.gz"
- version('0.1.4', sha256='3b2fa7353ce32a11aa6b0a15495968d2a763423c8947ae248b92c037def4e202')
+ version("0.1.4", sha256="3b2fa7353ce32a11aa6b0a15495968d2a763423c8947ae248b92c037def4e202")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyrevolve/package.py b/var/spack/repos/builtin/packages/py-pyrevolve/package.py
index 02786929ed..de7f44652e 100644
--- a/var/spack/repos/builtin/packages/py-pyrevolve/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrevolve/package.py
@@ -13,11 +13,11 @@ class PyPyrevolve(PythonPackage):
"""
homepage = "https://github.com/devitocodes/pyrevolve"
- pypi = "pyrevolve/pyrevolve-2.2.tar.gz"
+ pypi = "pyrevolve/pyrevolve-2.2.tar.gz"
- version('2.2', sha256='b49aea5cd6c520ac5fcd1d25fa23fe2c5502741d2965f3eee10be067e7b0efb4')
+ version("2.2", sha256="b49aea5cd6c520ac5fcd1d25fa23fe2c5502741d2965f3eee10be067e7b0efb4")
- depends_on('py-setuptools', type='build')
- depends_on('py-contexttimer', type=('build', 'run'))
- depends_on('py-cython@0.17:', type='build')
- depends_on('py-versioneer', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-contexttimer", type=("build", "run"))
+ depends_on("py-cython@0.17:", type="build")
+ depends_on("py-versioneer", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyrfr/package.py b/var/spack/repos/builtin/packages/py-pyrfr/package.py
index cf6e828880..a91a3c7e63 100644
--- a/var/spack/repos/builtin/packages/py-pyrfr/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrfr/package.py
@@ -11,10 +11,10 @@ class PyPyrfr(PythonPackage):
extensible C++ librarry for random forests."""
homepage = "https://automl.github.io/random_forest_run/installation.html"
- pypi = "pyrfr/pyrfr-0.8.2.tar.gz"
+ pypi = "pyrfr/pyrfr-0.8.2.tar.gz"
- version('0.8.2', sha256='c18a6e8f0bd971c1ea449b6dd0997a6ec1fe9a031883400bdcc95fa5ddd65975')
+ version("0.8.2", sha256="c18a6e8f0bd971c1ea449b6dd0997a6ec1fe9a031883400bdcc95fa5ddd65975")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('swig')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("swig")
diff --git a/var/spack/repos/builtin/packages/py-pyro-api/package.py b/var/spack/repos/builtin/packages/py-pyro-api/package.py
index d19ac0ea1d..8595ab2091 100644
--- a/var/spack/repos/builtin/packages/py-pyro-api/package.py
+++ b/var/spack/repos/builtin/packages/py-pyro-api/package.py
@@ -10,8 +10,8 @@ class PyPyroApi(PythonPackage):
"""Generic API for dispatch to Pyro backends."""
homepage = "https://github.com/pyro-ppl/pyro-api"
- pypi = "pyro-api/pyro-api-0.1.2.tar.gz"
+ pypi = "pyro-api/pyro-api-0.1.2.tar.gz"
- version('0.1.2', sha256='a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920')
+ version("0.1.2", sha256="a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyro-ppl/package.py b/var/spack/repos/builtin/packages/py-pyro-ppl/package.py
index f48d1ee99b..2026cbfbc9 100644
--- a/var/spack/repos/builtin/packages/py-pyro-ppl/package.py
+++ b/var/spack/repos/builtin/packages/py-pyro-ppl/package.py
@@ -10,19 +10,19 @@ class PyPyroPpl(PythonPackage):
"""A Python library for probabilistic modeling and inference."""
homepage = "https://pyro.ai/"
- pypi = "pyro-ppl/pyro-ppl-1.8.1.tar.gz"
+ pypi = "pyro-ppl/pyro-ppl-1.8.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.8.1', sha256='d7c049eb2e7485a612b4dd99c24c309cc860c7cbc6b1973387034f5436d1c8d6')
- version('1.8.0', sha256='68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c')
+ version("1.8.1", sha256="d7c049eb2e7485a612b4dd99c24c309cc860c7cbc6b1973387034f5436d1c8d6")
+ version("1.8.0", sha256="68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c")
- depends_on('python@3.7:', when='@1.8.1:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-opt-einsum@2.3.2:', type=('build', 'run'))
- depends_on('py-pyro-api@0.1.1:', type=('build', 'run'))
- depends_on('py-torch@1.11:', when='@1.8.1:', type=('build', 'run'))
- depends_on('py-torch@1.9:', type=('build', 'run'))
- depends_on('py-tqdm@4.36:', type=('build', 'run'))
+ depends_on("python@3.7:", when="@1.8.1:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-opt-einsum@2.3.2:", type=("build", "run"))
+ depends_on("py-pyro-api@0.1.1:", type=("build", "run"))
+ depends_on("py-torch@1.11:", when="@1.8.1:", type=("build", "run"))
+ depends_on("py-torch@1.9:", type=("build", "run"))
+ depends_on("py-tqdm@4.36:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyro4/package.py b/var/spack/repos/builtin/packages/py-pyro4/package.py
index 7834cf49c9..e76ce505ed 100644
--- a/var/spack/repos/builtin/packages/py-pyro4/package.py
+++ b/var/spack/repos/builtin/packages/py-pyro4/package.py
@@ -14,74 +14,74 @@ class PyPyro4(PythonPackage):
"""
homepage = "http://pyro4.readthedocs.io"
- pypi = 'Pyro4/Pyro4-4.81.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "Pyro4/Pyro4-4.81.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('4.81', sha256='e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f')
- version('4.80', sha256='46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220')
- version('4.79', sha256='b1eb34c9a1e63f731ca480f3e2c48169341a25a7504397badbaaab07e0f3241e')
- version('4.78', sha256='b69200747c4c69bfa6fa8b917806b0a9ee7939daaf67ab9bb5ccac7e5179feee')
- version('4.77', sha256='2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f')
- version('4.76', sha256='ac1fda8d3fd9b5ff2cb8e7e400f95a1b1ae28c5df1aa82d1833a5a898e476334')
- version('4.75', sha256='3897c0254046d4cb412a4d1a8f2f9c2c1c1ae643a24db07d0abdb51acdb8d7b5')
- version('4.74', sha256='89ed7b12c162e5124f322f992f9506c44f5e1a379926cf01ee73ef810d3bf75f')
- version('4.73', sha256='536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7')
- version('4.72', sha256='2766b53db49f70b0d047fa6871aeb47484ba7e50cf53cfa37d26f87742c0b6a8')
- version('4.71', sha256='78b686b584c180061fe3cfc3adcad4da46b3a7f42be1f9f0d7491cd006541cf3')
- version('4.70', sha256='614dc4a7a79a861ee15215a6e60081950b2790b7b5cc91555ebeec75d8444aa5')
- version('4.63', sha256='67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b')
- version('4.62', sha256='e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c')
- version('4.61', sha256='c465cb2ea2a90b887988d4249de8c0566bdfb16101fdc570e07e598a92e94d1e')
- version('4.60', sha256='52fa5fe8173d234f57b6ca3214df3f34e88356c94081685db6249bff8f0b4f7f')
- version('4.59', sha256='6a39dadbd2a83b6fd5ab7f5402f8a4befd467b5c0404b8610a8797f748b72a38')
- version('4.58', sha256='2c6d133bcec6039a681475bc878ec98c598ccd33105c1994c7b5217932ee2c0c')
- version('4.57', sha256='fb3bf07951c2942b5f955770d50c0152565f0da79a2c1a359cfe2062fe0a82b2')
- version('4.56', sha256='a80c27e1debbd8d8725ee4a8f0d30cf831dde5e80b04bfa9c912932c4c13d6aa')
- version('4.55', sha256='49a7a142542d87dde1cecc8d3ee048ec9481ba861d61234d219fadd06e6ced96')
- version('4.54', sha256='aede879916c0f6e84e560b38af421c24cb5089b66c8f632aa5ac48b20ecde93a')
- version('4.53', sha256='c6ca6461472a74a7608a2247413b66e951889351fcf8e9eed5d7232ae844b702')
- version('4.52', sha256='449f4bdf8dcbaca90e6436eb40c4e860b0de47346e2c7735d0584496d28451e5')
- version('4.51', sha256='d6508b8c70d612356a8ddbe486890b03d840c37b5f7cd8e9366bc4c0dd44d3e6')
- version('4.50', sha256='cb199540c2ceae9d67d5f2b20dc002d93f909d5072c3da4381c119d7a4b6d1cf')
- version('4.49', sha256='6ae7fb0ce9ae5ca6f1d32487d8606219e7296ae7d22e650e7f9db63399608b76')
- version('4.48', sha256='3115def913cf6035000047bb270efefb55a25449a17ed392afde6fd531c82fd2')
- version('4.47', sha256='9354b722f9f5965ade5839241c8d7ff06ec2fac678a2c9e197a63966da241c89')
- version('4.46', sha256='165ed717275217448d786f9c15777eca889f5344d54eef9482996dfee01b668b')
- version('4.45', sha256='e32d3f32e52d84e3456c0d389a115b5430a8bb14dd01336c627355a2f34dba78')
- version('4.43', sha256='b6f924fa74f21d14c851450e157711914a402bfc2f3a880c1b2c275fd4cda6d6')
- version('4.42', sha256='03951643015a1537ad82fbf99fba6e208007447404aab1a020dce7216120d32a')
- version('4.41', sha256='3af4749140e9d4032632277ac19e7fd4761856d2df0f0643c574d1e7174a9703')
- version('4.40', sha256='00423d3710f60b2da146075a59e17bfa837f556ed2c8acafe05bc209dcaac3e9')
- version('4.39', sha256='39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24')
- version('4.38', sha256='837fb552f54e46e54a13fa03c321073ba8373715346c4bc7e522b2c82a2c75c9')
- version('4.37', sha256='2c4c9e7c3dbace3c75524324b6a686381be37bebab89b5001c0670418cec89c7')
- version('4.36', sha256='fcbfbe22b044440fab3d6cbee11d18532b63accefe9cc30b2c41994cdeb08829')
- version('4.35', sha256='97ef658b96fa10bac3e01097b1e2b6630fea2b307081ec6f2ac00f85e6020178')
- version('4.34', sha256='36886e660290aa5afd06f735f587717f7f366b3535b7b0d3082b4e99ded9dc37')
- version('4.33', sha256='9c01202190b7cdebe629e13abb70f050f421139f8115d1626321f442a9f54df8')
- version('4.32', sha256='736eb96801881a61b9da72dced2d49574067443545892355af94411392526902')
- version('4.31', sha256='0fd9342a216299ff24761e641714c7bd3e42c364f277eb3600d40085f4ace6c3')
- version('4.30', sha256='1b38a52dd89cc6aee145d23bd74f586c73268938c6f346b20583ee0242d7d170')
- version('4.29', sha256='3a17eaea8055962ff35bb9117f0860243d7977c34cbfcafc76e8e26309e339cf')
- version('4.28', sha256='a094cb12e4e328e8b3b06bb313212f1826208c107fa6b48cf02f0ccdc32b562b')
- version('4.27', sha256='ee32544fb04e7f4a2d223b442b306bd67cc900b7e9b5917f0b33d1979e6db34f')
- version('4.26', sha256='213145815f00b6855b1ba71c20e78fd1d3c41595fae270308483cdba8d3fcec6')
- version('4.25', sha256='ac2b0123badcb76c63eb716fcd95e0ee4021d345b5db05fda19253c59e39b384')
- version('4.24', sha256='24d2ceaabbd886981d0df56f8f7e5f7f1a9db173778baa4965605f6880c90eb8')
- version('4.23', sha256='57d6feee20a565f9de3302376a2531cfda50755088442102963b16e6f70b2e3b')
- version('4.22', sha256='d8f611f384edbd240006d8c0f56135e74199ab88e9416cfc78cf5472f1ff337d')
- version('4.21', sha256='96bc4bdccab27d935a44f1d9a8df94986d4b3361f5ff9382e86300ed5b9fdfa2')
- version('4.20', sha256='72d3fb6dc653e6ae36bd47f2667fbff3c587c72f8bfb3f0dcb1763ee86c906f8')
- version('4.18', sha256='52d7f6e10c44475052ac8b6828ed6f8b728a1c5d7e674b441eb0e930029ea4cd')
- version('4.17', sha256='1d0cecdd3340dca695d6f833830e7a59f937d4bedbcff53109abe66e5a65d22c')
- version('4.16', sha256='6a996700b877d268b48f91f91e356d2a4b20cb12207c05943d04504f6a0de0c7')
- version('4.15', sha256='7b9dc43d6be79e4e542b8520715cb3ab7f9095afccc93bce9cacc271c665bf7d')
- version('4.14', sha256='90c4f84ae9932d66825c61af9cd67b0b2877b477c967812a5d6953d67f3b003d')
- version('4.13', sha256='afbc6964e593e7efed3fa5c91af45c4491cfdb994e7fdbe285cbb3719162cb90')
- version('4.12', sha256='69f1beeafbe8f27bdac18e29ce97dd63cc1bdf847ff221ed0a6f0042047fa237')
- version('4.11', sha256='d84ccfe85b14b3cb086f98d70dbf05671d6cb8498bd6f20f0041d6010dd320da')
- version('4.10', sha256='de74e5e020a8a26cd357f5917afb48f7e14e161ca58574a1c653441bdbe9711c')
+ version("4.81", sha256="e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f")
+ version("4.80", sha256="46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220")
+ version("4.79", sha256="b1eb34c9a1e63f731ca480f3e2c48169341a25a7504397badbaaab07e0f3241e")
+ version("4.78", sha256="b69200747c4c69bfa6fa8b917806b0a9ee7939daaf67ab9bb5ccac7e5179feee")
+ version("4.77", sha256="2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f")
+ version("4.76", sha256="ac1fda8d3fd9b5ff2cb8e7e400f95a1b1ae28c5df1aa82d1833a5a898e476334")
+ version("4.75", sha256="3897c0254046d4cb412a4d1a8f2f9c2c1c1ae643a24db07d0abdb51acdb8d7b5")
+ version("4.74", sha256="89ed7b12c162e5124f322f992f9506c44f5e1a379926cf01ee73ef810d3bf75f")
+ version("4.73", sha256="536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7")
+ version("4.72", sha256="2766b53db49f70b0d047fa6871aeb47484ba7e50cf53cfa37d26f87742c0b6a8")
+ version("4.71", sha256="78b686b584c180061fe3cfc3adcad4da46b3a7f42be1f9f0d7491cd006541cf3")
+ version("4.70", sha256="614dc4a7a79a861ee15215a6e60081950b2790b7b5cc91555ebeec75d8444aa5")
+ version("4.63", sha256="67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b")
+ version("4.62", sha256="e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c")
+ version("4.61", sha256="c465cb2ea2a90b887988d4249de8c0566bdfb16101fdc570e07e598a92e94d1e")
+ version("4.60", sha256="52fa5fe8173d234f57b6ca3214df3f34e88356c94081685db6249bff8f0b4f7f")
+ version("4.59", sha256="6a39dadbd2a83b6fd5ab7f5402f8a4befd467b5c0404b8610a8797f748b72a38")
+ version("4.58", sha256="2c6d133bcec6039a681475bc878ec98c598ccd33105c1994c7b5217932ee2c0c")
+ version("4.57", sha256="fb3bf07951c2942b5f955770d50c0152565f0da79a2c1a359cfe2062fe0a82b2")
+ version("4.56", sha256="a80c27e1debbd8d8725ee4a8f0d30cf831dde5e80b04bfa9c912932c4c13d6aa")
+ version("4.55", sha256="49a7a142542d87dde1cecc8d3ee048ec9481ba861d61234d219fadd06e6ced96")
+ version("4.54", sha256="aede879916c0f6e84e560b38af421c24cb5089b66c8f632aa5ac48b20ecde93a")
+ version("4.53", sha256="c6ca6461472a74a7608a2247413b66e951889351fcf8e9eed5d7232ae844b702")
+ version("4.52", sha256="449f4bdf8dcbaca90e6436eb40c4e860b0de47346e2c7735d0584496d28451e5")
+ version("4.51", sha256="d6508b8c70d612356a8ddbe486890b03d840c37b5f7cd8e9366bc4c0dd44d3e6")
+ version("4.50", sha256="cb199540c2ceae9d67d5f2b20dc002d93f909d5072c3da4381c119d7a4b6d1cf")
+ version("4.49", sha256="6ae7fb0ce9ae5ca6f1d32487d8606219e7296ae7d22e650e7f9db63399608b76")
+ version("4.48", sha256="3115def913cf6035000047bb270efefb55a25449a17ed392afde6fd531c82fd2")
+ version("4.47", sha256="9354b722f9f5965ade5839241c8d7ff06ec2fac678a2c9e197a63966da241c89")
+ version("4.46", sha256="165ed717275217448d786f9c15777eca889f5344d54eef9482996dfee01b668b")
+ version("4.45", sha256="e32d3f32e52d84e3456c0d389a115b5430a8bb14dd01336c627355a2f34dba78")
+ version("4.43", sha256="b6f924fa74f21d14c851450e157711914a402bfc2f3a880c1b2c275fd4cda6d6")
+ version("4.42", sha256="03951643015a1537ad82fbf99fba6e208007447404aab1a020dce7216120d32a")
+ version("4.41", sha256="3af4749140e9d4032632277ac19e7fd4761856d2df0f0643c574d1e7174a9703")
+ version("4.40", sha256="00423d3710f60b2da146075a59e17bfa837f556ed2c8acafe05bc209dcaac3e9")
+ version("4.39", sha256="39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24")
+ version("4.38", sha256="837fb552f54e46e54a13fa03c321073ba8373715346c4bc7e522b2c82a2c75c9")
+ version("4.37", sha256="2c4c9e7c3dbace3c75524324b6a686381be37bebab89b5001c0670418cec89c7")
+ version("4.36", sha256="fcbfbe22b044440fab3d6cbee11d18532b63accefe9cc30b2c41994cdeb08829")
+ version("4.35", sha256="97ef658b96fa10bac3e01097b1e2b6630fea2b307081ec6f2ac00f85e6020178")
+ version("4.34", sha256="36886e660290aa5afd06f735f587717f7f366b3535b7b0d3082b4e99ded9dc37")
+ version("4.33", sha256="9c01202190b7cdebe629e13abb70f050f421139f8115d1626321f442a9f54df8")
+ version("4.32", sha256="736eb96801881a61b9da72dced2d49574067443545892355af94411392526902")
+ version("4.31", sha256="0fd9342a216299ff24761e641714c7bd3e42c364f277eb3600d40085f4ace6c3")
+ version("4.30", sha256="1b38a52dd89cc6aee145d23bd74f586c73268938c6f346b20583ee0242d7d170")
+ version("4.29", sha256="3a17eaea8055962ff35bb9117f0860243d7977c34cbfcafc76e8e26309e339cf")
+ version("4.28", sha256="a094cb12e4e328e8b3b06bb313212f1826208c107fa6b48cf02f0ccdc32b562b")
+ version("4.27", sha256="ee32544fb04e7f4a2d223b442b306bd67cc900b7e9b5917f0b33d1979e6db34f")
+ version("4.26", sha256="213145815f00b6855b1ba71c20e78fd1d3c41595fae270308483cdba8d3fcec6")
+ version("4.25", sha256="ac2b0123badcb76c63eb716fcd95e0ee4021d345b5db05fda19253c59e39b384")
+ version("4.24", sha256="24d2ceaabbd886981d0df56f8f7e5f7f1a9db173778baa4965605f6880c90eb8")
+ version("4.23", sha256="57d6feee20a565f9de3302376a2531cfda50755088442102963b16e6f70b2e3b")
+ version("4.22", sha256="d8f611f384edbd240006d8c0f56135e74199ab88e9416cfc78cf5472f1ff337d")
+ version("4.21", sha256="96bc4bdccab27d935a44f1d9a8df94986d4b3361f5ff9382e86300ed5b9fdfa2")
+ version("4.20", sha256="72d3fb6dc653e6ae36bd47f2667fbff3c587c72f8bfb3f0dcb1763ee86c906f8")
+ version("4.18", sha256="52d7f6e10c44475052ac8b6828ed6f8b728a1c5d7e674b441eb0e930029ea4cd")
+ version("4.17", sha256="1d0cecdd3340dca695d6f833830e7a59f937d4bedbcff53109abe66e5a65d22c")
+ version("4.16", sha256="6a996700b877d268b48f91f91e356d2a4b20cb12207c05943d04504f6a0de0c7")
+ version("4.15", sha256="7b9dc43d6be79e4e542b8520715cb3ab7f9095afccc93bce9cacc271c665bf7d")
+ version("4.14", sha256="90c4f84ae9932d66825c61af9cd67b0b2877b477c967812a5d6953d67f3b003d")
+ version("4.13", sha256="afbc6964e593e7efed3fa5c91af45c4491cfdb994e7fdbe285cbb3719162cb90")
+ version("4.12", sha256="69f1beeafbe8f27bdac18e29ce97dd63cc1bdf847ff221ed0a6f0042047fa237")
+ version("4.11", sha256="d84ccfe85b14b3cb086f98d70dbf05671d6cb8498bd6f20f0041d6010dd320da")
+ version("4.10", sha256="de74e5e020a8a26cd357f5917afb48f7e14e161ca58574a1c653441bdbe9711c")
- depends_on('py-setuptools', type='build')
- depends_on('py-serpent@1.27:', type=('build', 'run'))
- depends_on('py-selectors34', when='^python@:3.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-serpent@1.27:", type=("build", "run"))
+ depends_on("py-selectors34", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyrosar/package.py b/var/spack/repos/builtin/packages/py-pyrosar/package.py
index ccd71ae02f..cb55ccc0c5 100644
--- a/var/spack/repos/builtin/packages/py-pyrosar/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrosar/package.py
@@ -11,17 +11,17 @@ class PyPyrosar(PythonPackage):
"""A framework for large-scale SAR satellite data processing"""
homepage = "https://github.com/johntruckenbrodt/pyroSAR"
- url = "https://github.com/johntruckenbrodt/pyroSAR/archive/v0.8.tar.gz"
+ url = "https://github.com/johntruckenbrodt/pyroSAR/archive/v0.8.tar.gz"
- version('0.8', sha256='03f6d846afde85807a63f84b1fd25fe61e9a4cda93e9af7d44a67fd4b0b7dbc8')
+ version("0.8", sha256="03f6d846afde85807a63f84b1fd25fe61e9a4cda93e9af7d44a67fd4b0b7dbc8")
# python
- depends_on('py-setuptools', type='build')
- depends_on('py-progressbar2', type=('build', 'run'))
- depends_on('py-pathos@0.2.0:', type=('build', 'run'))
- depends_on('py-numpy@1.16.3', type=('build', 'run'))
- depends_on('py-scoop', type=('build', 'run'))
- depends_on('py-spatialist@0.2.8', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-progressbar2", type=("build", "run"))
+ depends_on("py-pathos@0.2.0:", type=("build", "run"))
+ depends_on("py-numpy@1.16.3", type=("build", "run"))
+ depends_on("py-scoop", type=("build", "run"))
+ depends_on("py-spatialist@0.2.8", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
# other
- depends_on('gdal+python', type=('build', 'link', 'run'))
+ depends_on("gdal+python", type=("build", "link", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyrr/package.py b/var/spack/repos/builtin/packages/py-pyrr/package.py
index f82e586353..46283ac192 100644
--- a/var/spack/repos/builtin/packages/py-pyrr/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrr/package.py
@@ -10,11 +10,11 @@ class PyPyrr(PythonPackage):
"""3D mathematical functions using NumPy."""
homepage = "https://github.com/adamlwgriffiths/Pyrr"
- pypi = "pyrr/pyrr-0.10.3.tar.gz"
- maintainers = ['JeromeDuboisPro']
+ pypi = "pyrr/pyrr-0.10.3.tar.gz"
+ maintainers = ["JeromeDuboisPro"]
- version('0.10.3', sha256='3c0f7b20326e71f706a610d58f2190fff73af01eef60c19cb188b186f0ec7e1d')
+ version("0.10.3", sha256="3c0f7b20326e71f706a610d58f2190fff73af01eef60c19cb188b186f0ec7e1d")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-multipledispatch', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-multipledispatch", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyrsistent/package.py b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
index 05a39cf6fe..c98df46c60 100644
--- a/var/spack/repos/builtin/packages/py-pyrsistent/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class PyPyrsistent(PythonPackage):
"""Pyrsistent is a number of persistent collections
- (by some referred to as functional data structures).
- Persistent in the sense that they are immutable."""
+ (by some referred to as functional data structures).
+ Persistent in the sense that they are immutable."""
homepage = "https://github.com/tobgu/pyrsistent/"
pypi = "pyrsistent/pyrsistent-0.15.7.tar.gz"
- version('0.18.0', sha256='773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b')
- version('0.16.0', sha256='28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3')
- version('0.15.7', sha256='cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280')
+ version("0.18.0", sha256="773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b")
+ version("0.16.0", sha256="28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3")
+ version("0.15.7", sha256="cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', type=('build', 'link', 'run'), when='@0.18.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', type='build', when='@0.18.0:')
- depends_on('py-six', type=('build', 'run'), when='@:0.17')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "link", "run"))
+ depends_on("python@3.6:", type=("build", "link", "run"), when="@0.18.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", type="build", when="@0.18.0:")
+ depends_on("py-six", type=("build", "run"), when="@:0.17")
diff --git a/var/spack/repos/builtin/packages/py-pysam/package.py b/var/spack/repos/builtin/packages/py-pysam/package.py
index 2ecc78a48d..4b91d188a3 100644
--- a/var/spack/repos/builtin/packages/py-pysam/package.py
+++ b/var/spack/repos/builtin/packages/py-pysam/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class PyPysam(PythonPackage):
"""A python module for reading, manipulating and writing genomic data
- sets."""
+ sets."""
homepage = "https://github.com/pysam-developers/pysam"
pypi = "pysam/pysam-0.14.1.tar.gz"
- version('0.18.0', sha256='1d6d49a0b3c626fae410a93d4c80583a8b5ddaacc9b46a080b250dbcebd30a59')
- version('0.15.3', sha256='a98dd0a164aa664b1ab30a36f653752f00e93c13deeb66868597f4b2a30f7265')
- version('0.15.2', sha256='d049efd91ed5b1af515aa30280bc9cb46a92ddd15d546c9b21ee68a6ed4055d9')
- version('0.15.1', sha256='658421124c2f3de1b7445e03ca8413df0077f67ea9980abdaab0d1b5f7a8936f')
- version('0.14.1', sha256='2e86f5228429d08975c8adb9030296699012a8deba8ba26cbfc09b374f792c97')
- version('0.7.7', sha256='c9f3018482eec99ee199dda3fdef2aa7424dde6574672a4c0d209a10985755cc')
+ version("0.18.0", sha256="1d6d49a0b3c626fae410a93d4c80583a8b5ddaacc9b46a080b250dbcebd30a59")
+ version("0.15.3", sha256="a98dd0a164aa664b1ab30a36f653752f00e93c13deeb66868597f4b2a30f7265")
+ version("0.15.2", sha256="d049efd91ed5b1af515aa30280bc9cb46a92ddd15d546c9b21ee68a6ed4055d9")
+ version("0.15.1", sha256="658421124c2f3de1b7445e03ca8413df0077f67ea9980abdaab0d1b5f7a8936f")
+ version("0.14.1", sha256="2e86f5228429d08975c8adb9030296699012a8deba8ba26cbfc09b374f792c97")
+ version("0.7.7", sha256="c9f3018482eec99ee199dda3fdef2aa7424dde6574672a4c0d209a10985755cc")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29.12:', when='@0.18:', type='build')
- depends_on('py-cython@0.21:', when='@0.14:', type='build')
- depends_on('py-cython@0.17:', type='build')
- depends_on('curl')
- depends_on('bcftools')
- depends_on('htslib')
- depends_on('samtools')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29.12:", when="@0.18:", type="build")
+ depends_on("py-cython@0.21:", when="@0.14:", type="build")
+ depends_on("py-cython@0.17:", type="build")
+ depends_on("curl")
+ depends_on("bcftools")
+ depends_on("htslib")
+ depends_on("samtools")
- depends_on('htslib@:1.6', when='@:0.13')
+ depends_on("htslib@:1.6", when="@:0.13")
def setup_build_environment(self, env):
- env.set('LDFLAGS', self.spec['curl'].libs.search_flags)
+ env.set("LDFLAGS", self.spec["curl"].libs.search_flags)
diff --git a/var/spack/repos/builtin/packages/py-pyscaf/package.py b/var/spack/repos/builtin/packages/py-pyscaf/package.py
index a3d20cb6fd..7a11b9746d 100644
--- a/var/spack/repos/builtin/packages/py-pyscaf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyscaf/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class PyPyscaf(PythonPackage):
"""pyScaf orders contigs from genome assemblies utilising several types of
- information"""
+ information"""
pypi = "pyScaf/pyScaf-0.12a4.tar.gz"
- version('0.12a4', sha256='3ce3f6fe80bd058831b6a38a56d464ef10f3ebbdd6bc3dcb0d7f127c0b2c1b36')
+ version("0.12a4", sha256="3ce3f6fe80bd058831b6a38a56d464ef10f3ebbdd6bc3dcb0d7f127c0b2c1b36")
- depends_on('py-setuptools', type='build')
- depends_on('py-fastaindex', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-fastaindex", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyscf/package.py b/var/spack/repos/builtin/packages/py-pyscf/package.py
index fee60b356e..74fbb6f87c 100644
--- a/var/spack/repos/builtin/packages/py-pyscf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyscf/package.py
@@ -12,40 +12,40 @@ class PyPyscf(PythonPackage):
by Python."""
homepage = "https://sunqm.github.io/pyscf/"
- git = "https://github.com/pyscf/pyscf"
+ git = "https://github.com/pyscf/pyscf"
- maintainers = ['naromero77']
+ maintainers = ["naromero77"]
- version('2.0.1', tag='v2.0.1')
- version('1.7.5', tag='v1.7.5')
- version('1.7.3', tag='v1.7.3')
+ version("2.0.1", tag="v2.0.1")
+ version("1.7.5", tag="v1.7.5")
+ version("1.7.3", tag="v1.7.3")
# dependencies
- depends_on('cmake@2.8:', type='build')
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
- depends_on('py-numpy@1.13.0:', type=('build', 'run'), when='@2:')
- conflicts('py-numpy@1.16:1.17', when='@2:')
- depends_on('py-scipy@0.12:', type=('build', 'run'))
- conflicts('py-scipy@1.5.0:1.5.1', when='@2:')
- depends_on('py-h5py@2.3.0:', type=('build', 'run'))
- depends_on('py-h5py@2.7.0:', type=('build', 'run'), when='@2:')
- depends_on('blas')
- depends_on('libcint+coulomb_erf+f12')
- depends_on('libxc')
- depends_on('xcfun')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-numpy@1.13.0:", type=("build", "run"), when="@2:")
+ conflicts("py-numpy@1.16:1.17", when="@2:")
+ depends_on("py-scipy@0.12:", type=("build", "run"))
+ conflicts("py-scipy@1.5.0:1.5.1", when="@2:")
+ depends_on("py-h5py@2.3.0:", type=("build", "run"))
+ depends_on("py-h5py@2.7.0:", type=("build", "run"), when="@2:")
+ depends_on("blas")
+ depends_on("libcint+coulomb_erf+f12")
+ depends_on("libxc")
+ depends_on("xcfun")
def setup_build_environment(self, env):
# Tell PSCF where supporting libraries are located."
spec = self.spec
pyscf_search_dir = []
- pyscf_search_dir.append(spec['blas'].prefix)
- pyscf_search_dir.append(spec['libcint'].prefix)
- pyscf_search_dir.append(spec['libcint'].prefix.lib64)
- pyscf_search_dir.append(spec['libxc'].prefix)
- pyscf_search_dir.append(spec['xcfun'].prefix)
- pyscf_search_dir.append(spec['xcfun'].prefix.include.XCFun)
-
- env.set('PYSCF_INC_DIR', ":".join(pyscf_search_dir))
+ pyscf_search_dir.append(spec["blas"].prefix)
+ pyscf_search_dir.append(spec["libcint"].prefix)
+ pyscf_search_dir.append(spec["libcint"].prefix.lib64)
+ pyscf_search_dir.append(spec["libxc"].prefix)
+ pyscf_search_dir.append(spec["xcfun"].prefix)
+ pyscf_search_dir.append(spec["xcfun"].prefix.include.XCFun)
+
+ env.set("PYSCF_INC_DIR", ":".join(pyscf_search_dir))
diff --git a/var/spack/repos/builtin/packages/py-pyscipopt/package.py b/var/spack/repos/builtin/packages/py-pyscipopt/package.py
index 39ec5cc38e..fb924153c9 100644
--- a/var/spack/repos/builtin/packages/py-pyscipopt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyscipopt/package.py
@@ -10,11 +10,11 @@ class PyPyscipopt(PythonPackage):
"""Python interface for the SCIP Optimization Suite"""
homepage = "https://github.com/scipopt/PySCIPOpt"
- pypi = "PySCIPOpt/PySCIPOpt-3.4.0.tar.gz"
+ pypi = "PySCIPOpt/PySCIPOpt-3.4.0.tar.gz"
- version('3.4.0', sha256='8da4db57b21010e0d5a863292dd455c88dd71ecec12a8439171c213a8092f88a')
+ version("3.4.0", sha256="8da4db57b21010e0d5a863292dd455c88dd71ecec12a8439171c213a8092f88a")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-wheel', type='build')
- depends_on('scipoptsuite')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("scipoptsuite")
diff --git a/var/spack/repos/builtin/packages/py-pyscreeze/package.py b/var/spack/repos/builtin/packages/py-pyscreeze/package.py
index 76147c3a47..282d9ebc20 100644
--- a/var/spack/repos/builtin/packages/py-pyscreeze/package.py
+++ b/var/spack/repos/builtin/packages/py-pyscreeze/package.py
@@ -13,11 +13,11 @@ class PyPyscreeze(PythonPackage):
and want to locate it on the screen."""
homepage = "https://github.com/asweigart/pyscreeze"
- pypi = "PyScreeze/PyScreeze-0.1.27.tar.gz"
+ pypi = "PyScreeze/PyScreeze-0.1.27.tar.gz"
- version('0.1.27', sha256='cba2f264fe4b6c70510061cb2ba6e1da0e3bfecfdbe8a3b2cd6305a2afda9e6b')
+ version("0.1.27", sha256="cba2f264fe4b6c70510061cb2ba6e1da0e3bfecfdbe8a3b2cd6305a2afda9e6b")
- depends_on('python@2.7:2,3.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('pil', type=('build', 'run'))
- depends_on('scrot', type='run')
+ depends_on("python@2.7:2,3.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("pil", type=("build", "run"))
+ depends_on("scrot", type="run")
diff --git a/var/spack/repos/builtin/packages/py-pyserial/package.py b/var/spack/repos/builtin/packages/py-pyserial/package.py
index 41196bfe8f..f1048cbe12 100644
--- a/var/spack/repos/builtin/packages/py-pyserial/package.py
+++ b/var/spack/repos/builtin/packages/py-pyserial/package.py
@@ -12,6 +12,6 @@ class PyPyserial(PythonPackage):
homepage = "https://github.com/pyserial/pyserial"
pypi = "pyserial/pyserial-3.1.1.tar.gz"
- version('3.1.1', sha256='d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c')
+ version("3.1.1", sha256="d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyshp/package.py b/var/spack/repos/builtin/packages/py-pyshp/package.py
index 82301a731e..d9bb9fc6b8 100644
--- a/var/spack/repos/builtin/packages/py-pyshp/package.py
+++ b/var/spack/repos/builtin/packages/py-pyshp/package.py
@@ -13,8 +13,8 @@ class PyPyshp(PythonPackage):
homepage = "https://github.com/GeospatialPython/pyshp"
pypi = "pyshp/pyshp-1.2.12.tar.gz"
- version('2.1.0', sha256='e65c7f24d372b97d0920b864bbeb78322bb37b83f2606e2a2212631d5d51e5c0')
- version('1.2.12', sha256='8dcd65e0aa2aa2951527ddb7339ea6e69023543d8a20a73fc51e2829b9ed6179')
+ version("2.1.0", sha256="e65c7f24d372b97d0920b864bbeb78322bb37b83f2606e2a2212631d5d51e5c0")
+ version("1.2.12", sha256="8dcd65e0aa2aa2951527ddb7339ea6e69023543d8a20a73fc51e2829b9ed6179")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py
index e2fdb26013..d449da9ce7 100644
--- a/var/spack/repos/builtin/packages/py-pyside/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside/package.py
@@ -10,6 +10,7 @@ from spack.package import *
class PyPyside(PythonPackage):
"""Python bindings for Qt."""
+
pypi = "PySide/PySide-1.2.2.tar.gz"
# More recent versions of PySide2 (for Qt5) have been taken under
@@ -21,54 +22,61 @@ class PyPyside(PythonPackage):
# https://github.com/PySide/pyside-setup/issues/58
# Meanwhile, developers have moved onto pyside2 (for Qt5),
# and show little interest in certifying PySide 1.2.4 for Python.
- version('1.2.4', sha256='1421bc1bf612c396070de9e1ffe227c07c1f3129278bc7d30c754b5146be2433') # rpath problems
+ version(
+ "1.2.4", sha256="1421bc1bf612c396070de9e1ffe227c07c1f3129278bc7d30c754b5146be2433"
+ ) # rpath problems
# v1.2.2 does not work with Python3
- version('1.2.2', sha256='53129fd85e133ef630144c0598d25c451eab72019cdcb1012f2aec773a3f25be', preferred=True)
+ version(
+ "1.2.2",
+ sha256="53129fd85e133ef630144c0598d25c451eab72019cdcb1012f2aec773a3f25be",
+ preferred=True,
+ )
- depends_on('cmake', type='build')
+ depends_on("cmake", type="build")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', type=('build', 'run'))
- depends_on('py-sphinx@:3.5.0', type=('build', 'run'), when='@:1.2.2')
- depends_on('qt@4.5:4.9')
- depends_on('libxml2@2.6.32:')
- depends_on('libxslt@1.1.19:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", type=("build", "run"))
+ depends_on("py-sphinx@:3.5.0", type=("build", "run"), when="@:1.2.2")
+ depends_on("qt@4.5:4.9")
+ depends_on("libxml2@2.6.32:")
+ depends_on("libxslt@1.1.19:")
def patch(self):
"""Undo PySide RPATH handling and add Spack RPATH."""
# Figure out the special RPATH
rpath = self.rpath
- rpath.append(os.path.join(python_platlib, 'PySide'))
+ rpath.append(os.path.join(python_platlib, "PySide"))
# Fix subprocess.mswindows check for Python 3.5
# https://github.com/pyside/pyside-setup/pull/55
filter_file(
- '^if subprocess.mswindows:',
+ "^if subprocess.mswindows:",
'mswindows = (sys.platform == "win32")\r\nif mswindows:',
- "popenasync.py")
- filter_file(
- '^ if subprocess.mswindows:',
- ' if mswindows:',
- "popenasync.py")
+ "popenasync.py",
+ )
+ filter_file("^ if subprocess.mswindows:", " if mswindows:", "popenasync.py")
# Add Spack's standard CMake args to the sub-builds.
# They're called BY setup.py so we have to patch it.
filter_file(
- r'OPTION_CMAKE,',
- r'OPTION_CMAKE, ' + (
+ r"OPTION_CMAKE,",
+ r"OPTION_CMAKE, "
+ + (
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
- '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
- 'setup.py')
+ '"-DCMAKE_INSTALL_RPATH=%s",' % ":".join(rpath)
+ ),
+ "setup.py",
+ )
# PySide tries to patch ELF files to remove RPATHs
# Disable this and go with the one we set.
- if self.spec.satisfies('@1.2.4:'):
- rpath_file = 'setup.py'
+ if self.spec.satisfies("@1.2.4:"):
+ rpath_file = "setup.py"
else:
- rpath_file = 'pyside_postinstall.py'
+ rpath_file = "pyside_postinstall.py"
- filter_file(r'(^\s*)(rpath_cmd\(.*\))', r'\1#\2', rpath_file)
+ filter_file(r"(^\s*)(rpath_cmd\(.*\))", r"\1#\2", rpath_file)
# TODO: rpath handling for PySide 1.2.4 still doesn't work.
# PySide can't find the Shiboken library, even though it comes
@@ -76,10 +84,12 @@ class PyPyside(PythonPackage):
# PySide does not provide official support for
# Python 3.5, but it should work fine
- filter_file("'Programming Language :: Python :: 3.4'",
- "'Programming Language :: Python :: 3.4',\r\n "
- "'Programming Language :: Python :: 3.5'",
- "setup.py")
+ filter_file(
+ "'Programming Language :: Python :: 3.4'",
+ "'Programming Language :: Python :: 3.4',\r\n "
+ "'Programming Language :: Python :: 3.5'",
+ "setup.py",
+ )
def install_options(self, spec, prefix):
- return ['--jobs={0}'.format(make_jobs)]
+ return ["--jobs={0}".format(make_jobs)]
diff --git a/var/spack/repos/builtin/packages/py-pyside2/package.py b/var/spack/repos/builtin/packages/py-pyside2/package.py
index 00a47b8bbc..6303bf2629 100644
--- a/var/spack/repos/builtin/packages/py-pyside2/package.py
+++ b/var/spack/repos/builtin/packages/py-pyside2/package.py
@@ -10,54 +10,57 @@ class PyPyside2(PythonPackage):
"""Python bindings for Qt."""
homepage = "https://www.pyside.org/"
- git = "https://code.qt.io/pyside/pyside-setup.git"
+ git = "https://code.qt.io/pyside/pyside-setup.git"
# More recent versions of PySide2 (for Qt5) have been taken under
# the offical Qt umbrella. For more information, see:
# https://wiki.qt.io/Qt_for_Python_Development_Getting_Started
- version('develop', tag='dev')
- version('5.15.2.1', tag='v5.15.2.1', submodules=True)
- version('5.14.2.1', tag='v5.14.2.1', submodules=True)
- version('5.13.2', tag='v5.13.2', submodules=True)
- version('5.13.1', tag='v5.13.1', submodules=True)
- version('5.13.0', tag='v5.13.0', submodules=True)
- version('5.12.5', tag='v5.12.5', submodules=True)
+ version("develop", tag="dev")
+ version("5.15.2.1", tag="v5.15.2.1", submodules=True)
+ version("5.14.2.1", tag="v5.14.2.1", submodules=True)
+ version("5.13.2", tag="v5.13.2", submodules=True)
+ version("5.13.1", tag="v5.13.1", submodules=True)
+ version("5.13.0", tag="v5.13.0", submodules=True)
+ version("5.12.5", tag="v5.12.5", submodules=True)
- variant('doc', default=False, description='Enables the generation of html and man page documentation')
+ variant(
+ "doc",
+ default=False,
+ description="Enables the generation of html and man page documentation",
+ )
- depends_on('python@2.7.0:2.7,3.5.0:3.5,3.6.1:', type=('build', 'run'))
- depends_on('python@2.7.0:2.7,3.5.0:3.5,3.6.1:3.8', when='@:5.14', type=('build', 'run'))
+ depends_on("python@2.7.0:2.7,3.5.0:3.5,3.6.1:", type=("build", "run"))
+ depends_on("python@2.7.0:2.7,3.5.0:3.5,3.6.1:3.8", when="@:5.14", type=("build", "run"))
- depends_on('cmake@3.1:', type='build')
- depends_on('llvm@6:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-packaging', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("llvm@6:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-packaging", type="build")
+ depends_on("py-wheel", type="build")
# https://bugreports.qt.io/browse/PYSIDE-1385
- depends_on('py-wheel@:0.34', when='@:5.14', type='build')
- depends_on('qt@5.11:+opengl')
+ depends_on("py-wheel@:0.34", when="@:5.14", type="build")
+ depends_on("qt@5.11:+opengl")
- depends_on('graphviz', when='+doc', type='build')
- depends_on('libxml2@2.6.32:', when='+doc', type='build')
- depends_on('libxslt@1.1.19:', when='+doc', type='build')
- depends_on('py-sphinx', when='+doc', type='build')
+ depends_on("graphviz", when="+doc", type="build")
+ depends_on("libxml2@2.6.32:", when="+doc", type="build")
+ depends_on("libxslt@1.1.19:", when="+doc", type="build")
+ depends_on("py-sphinx", when="+doc", type="build")
def install_options(self, spec, prefix):
args = [
- '--parallel={0}'.format(make_jobs),
- '--ignore-git',
- '--qmake={0}'.format(spec['qt'].prefix.bin.qmake)
+ "--parallel={0}".format(make_jobs),
+ "--ignore-git",
+ "--qmake={0}".format(spec["qt"].prefix.bin.qmake),
]
if self.run_tests:
- args.append('--build-tests')
+ args.append("--build-tests")
return args
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=' + prefix,
- *self.install_options(spec, prefix))
+ python("setup.py", "install", "--prefix=" + prefix, *self.install_options(spec, prefix))
- @run_after('install')
+ @run_after("install")
def install_docs(self):
- if '+doc' in self.spec:
- make('apidoc')
+ if "+doc" in self.spec:
+ make("apidoc")
diff --git a/var/spack/repos/builtin/packages/py-pysimdjson/package.py b/var/spack/repos/builtin/packages/py-pysimdjson/package.py
index 15869d7aeb..710300ca2d 100644
--- a/var/spack/repos/builtin/packages/py-pysimdjson/package.py
+++ b/var/spack/repos/builtin/packages/py-pysimdjson/package.py
@@ -12,14 +12,14 @@ class PyPysimdjson(PythonPackage):
is used, making pysimdjson safe to use anywhere."""
homepage = "http://github.com/TkTech/pysimdjson"
- pypi = "pysimdjson/pysimdjson-4.0.3.tar.gz"
+ pypi = "pysimdjson/pysimdjson-4.0.3.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('4.0.3', sha256='61900992d7f992b073a8c5f93cafa4af9bfd3209624baa775699b0fdd6f67517')
- version('3.2.0', sha256='643baa0941752367761dbc091bf552bf4ca196cf67bf41ef89c90c2db2ec1477')
+ version("4.0.3", sha256="61900992d7f992b073a8c5f93cafa4af9bfd3209624baa775699b0fdd6f67517")
+ version("3.2.0", sha256="643baa0941752367761dbc091bf552bf4ca196cf67bf41ef89c90c2db2ec1477")
- depends_on('python@3.6:', type=('build', 'run'), when='@4.0.3:')
- depends_on('python@3.5:', type=('build', 'run'), when='@:4.0.2')
- depends_on('py-setuptools', type='build')
- depends_on('py-pybind11', when='@:3')
+ depends_on("python@3.6:", type=("build", "run"), when="@4.0.3:")
+ depends_on("python@3.5:", type=("build", "run"), when="@:4.0.2")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pybind11", when="@:3")
diff --git a/var/spack/repos/builtin/packages/py-pysmartdl/package.py b/var/spack/repos/builtin/packages/py-pysmartdl/package.py
index 1b34979021..f254fbd12c 100644
--- a/var/spack/repos/builtin/packages/py-pysmartdl/package.py
+++ b/var/spack/repos/builtin/packages/py-pysmartdl/package.py
@@ -11,7 +11,7 @@ class PyPysmartdl(PythonPackage):
pypi = "pySmartDL/pySmartDL-1.3.2.tar.gz"
- version('1.3.2', sha256='9a96deb3ee4f4ab2279b22eb908d506f57215e1fbad290d540adcebff187a52c')
- version('1.2.5', sha256='d3968ce59412f99d8e17ca532a1d949d2aa770a914e3f5eb2c0385579dc2b6b8')
+ version("1.3.2", sha256="9a96deb3ee4f4ab2279b22eb908d506f57215e1fbad290d540adcebff187a52c")
+ version("1.2.5", sha256="d3968ce59412f99d8e17ca532a1d949d2aa770a914e3f5eb2c0385579dc2b6b8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pysocks/package.py b/var/spack/repos/builtin/packages/py-pysocks/package.py
index f837f9e4de..afa369ef06 100644
--- a/var/spack/repos/builtin/packages/py-pysocks/package.py
+++ b/var/spack/repos/builtin/packages/py-pysocks/package.py
@@ -12,9 +12,9 @@ class PyPysocks(PythonPackage):
homepage = "https://github.com/Anorov/PySocks"
pypi = "PySocks/PySocks-1.7.1.tar.gz"
- version('1.7.1', sha256='3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0')
- version('1.6.6', sha256='02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41')
- version('1.5.7', sha256='e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88')
+ version("1.7.1", sha256="3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0")
+ version("1.6.6", sha256="02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41")
+ version("1.5.7", sha256="e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pysolar/package.py b/var/spack/repos/builtin/packages/py-pysolar/package.py
index ec600472b1..6efbb78787 100644
--- a/var/spack/repos/builtin/packages/py-pysolar/package.py
+++ b/var/spack/repos/builtin/packages/py-pysolar/package.py
@@ -8,17 +8,20 @@ from spack.package import *
class PyPysolar(PythonPackage):
"""Pysolar is a collection of Python libraries for simulating the
- irradiation of any point on earth by the sun. It includes code
- for extremely precise ephemeris calculations, and more."""
+ irradiation of any point on earth by the sun. It includes code
+ for extremely precise ephemeris calculations, and more."""
homepage = "https://pysolar.readthedocs.io"
pypi = "pysolar/pysolar-0.8.tar.gz"
- version('0.8', sha256='548c05177acd2845143d9624e670635cd3e5c3a63782449ca35e090ca755c617')
- version('0.6', sha256='961f43d6346b41451930c7892f144c19c6e0ecfbdda6980611c866a691b6127f',
- url='https://files.pythonhosted.org/packages/source/p/pysolar/Pysolar-0.6.tar.gz')
+ version("0.8", sha256="548c05177acd2845143d9624e670635cd3e5c3a63782449ca35e090ca755c617")
+ version(
+ "0.6",
+ sha256="961f43d6346b41451930c7892f144c19c6e0ecfbdda6980611c866a691b6127f",
+ url="https://files.pythonhosted.org/packages/source/p/pysolar/Pysolar-0.6.tar.gz",
+ )
- depends_on('py-setuptools', type='build')
- depends_on('python@3:', type=('build', 'run'), when='@0.8:')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3:", type=("build", "run"), when="@0.8:")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyspark/package.py b/var/spack/repos/builtin/packages/py-pyspark/package.py
index 3740d962a8..a010b8ec1e 100644
--- a/var/spack/repos/builtin/packages/py-pyspark/package.py
+++ b/var/spack/repos/builtin/packages/py-pyspark/package.py
@@ -12,15 +12,15 @@ class PyPyspark(PythonPackage):
homepage = "https://spark.apache.org"
pypi = "pyspark/pyspark-3.0.1.tar.gz"
- version('3.0.1', sha256='38b485d3634a86c9a2923c39c8f08f003fdd0e0a3d7f07114b2fb4392ce60479')
- version('2.4.4', sha256='13655eb113b8cf5f3f85b24fd92f86c4668a723723bd68949d028fa0df2cf694')
- version('2.3.2', sha256='7fb3b4fe47edb0fb78cecec37e0f2a728590f17ef6a49eae55141a7a374c07c8')
- version('2.3.0', sha256='0b3536910e154c36a94239f0ba0a201f476aadc72006409e5787198ffd01986e')
+ version("3.0.1", sha256="38b485d3634a86c9a2923c39c8f08f003fdd0e0a3d7f07114b2fb4392ce60479")
+ version("2.4.4", sha256="13655eb113b8cf5f3f85b24fd92f86c4668a723723bd68949d028fa0df2cf694")
+ version("2.3.2", sha256="7fb3b4fe47edb0fb78cecec37e0f2a728590f17ef6a49eae55141a7a374c07c8")
+ version("2.3.0", sha256="0b3536910e154c36a94239f0ba0a201f476aadc72006409e5787198ffd01986e")
- depends_on('python@2.7:3.7', when='@:2', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-py4j@0.10.9', when='@3.0.1', type=('build', 'run'))
- depends_on('py-py4j@0.10.7', when='@2.4.4', type=('build', 'run'))
- depends_on('py-py4j@0.10.7', when='@2.3.2', type=('build', 'run'))
- depends_on('py-py4j@0.10.6', when='@2.3.0', type=('build', 'run'))
+ depends_on("python@2.7:3.7", when="@:2", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-py4j@0.10.9", when="@3.0.1", type=("build", "run"))
+ depends_on("py-py4j@0.10.7", when="@2.4.4", type=("build", "run"))
+ depends_on("py-py4j@0.10.7", when="@2.3.2", type=("build", "run"))
+ depends_on("py-py4j@0.10.6", when="@2.3.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyspellchecker/package.py b/var/spack/repos/builtin/packages/py-pyspellchecker/package.py
index e1dfbbe2bd..f1f0139f2a 100644
--- a/var/spack/repos/builtin/packages/py-pyspellchecker/package.py
+++ b/var/spack/repos/builtin/packages/py-pyspellchecker/package.py
@@ -10,9 +10,9 @@ class PyPyspellchecker(PythonPackage):
"""Pure python spell checker based on work by Peter Norvig"""
homepage = "https://github.com/barrust/pyspellchecker"
- pypi = "pyspellchecker/pyspellchecker-0.6.2.tar.gz"
+ pypi = "pyspellchecker/pyspellchecker-0.6.2.tar.gz"
- version('0.6.2', sha256='af6a1d0393a175499475a873f31e52135f1efd5fc912c979101b795b3c2ee77f')
+ version("0.6.2", sha256="af6a1d0393a175499475a873f31e52135f1efd5fc912c979101b795b3c2ee77f")
- depends_on('python@3.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pysqlite/package.py b/var/spack/repos/builtin/packages/py-pysqlite/package.py
index a690748342..a9b5b2567e 100644
--- a/var/spack/repos/builtin/packages/py-pysqlite/package.py
+++ b/var/spack/repos/builtin/packages/py-pysqlite/package.py
@@ -12,10 +12,10 @@ class PyPysqlite(PythonPackage):
homepage = "https://github.com/ghaering/pysqlite"
pypi = "pysqlite/pysqlite-2.8.3.tar.gz"
- version('2.8.3', sha256='17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490')
+ version("2.8.3", sha256="17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490")
# pysqlite is built into Python3
- depends_on('python@2.7.0:2.7', type=('build', 'run'))
+ depends_on("python@2.7.0:2.7", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('sqlite', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("sqlite", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pysqlite3/package.py b/var/spack/repos/builtin/packages/py-pysqlite3/package.py
index 6f92c3b8dc..eeb83368b6 100644
--- a/var/spack/repos/builtin/packages/py-pysqlite3/package.py
+++ b/var/spack/repos/builtin/packages/py-pysqlite3/package.py
@@ -10,17 +10,21 @@ class PyPysqlite3(PythonPackage):
"""DB-API 2.0 interface for Sqlite 3.x"""
homepage = "https://github.com/coleifer/pysqlite3"
- pypi = "pysqlite3/pysqlite3-0.4.6.tar.gz"
+ pypi = "pysqlite3/pysqlite3-0.4.6.tar.gz"
- version('0.4.6', sha256='7ec4d4c477fa96609c1517afbc33bf02747588e528e79c695de95907cea7bf30')
+ version("0.4.6", sha256="7ec4d4c477fa96609c1517afbc33bf02747588e528e79c695de95907cea7bf30")
- depends_on('py-setuptools', type='build')
- depends_on('sqlite', type=('build', 'link', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("sqlite", type=("build", "link", "run"))
def patch(self):
- filter_file("^include_dirs *=.*",
- "include_dirs = " + self.spec['sqlite'].headers.directories[0],
- 'setup.cfg')
- filter_file("^library_dirs *=.*",
- "library_dirs = " + self.spec['sqlite'].libs.directories[0],
- 'setup.cfg')
+ filter_file(
+ "^include_dirs *=.*",
+ "include_dirs = " + self.spec["sqlite"].headers.directories[0],
+ "setup.cfg",
+ )
+ filter_file(
+ "^library_dirs *=.*",
+ "library_dirs = " + self.spec["sqlite"].libs.directories[0],
+ "setup.cfg",
+ )
diff --git a/var/spack/repos/builtin/packages/py-pystac/package.py b/var/spack/repos/builtin/packages/py-pystac/package.py
index 025477061c..b31d665c5f 100644
--- a/var/spack/repos/builtin/packages/py-pystac/package.py
+++ b/var/spack/repos/builtin/packages/py-pystac/package.py
@@ -10,16 +10,16 @@ class PyPystac(PythonPackage):
"""Python library for working with Spatiotemporal Asset Catalog (STAC)."""
homepage = "https://github.com/azavea/pystac.git"
- pypi = "pystac/pystac-0.5.4.tar.gz"
+ pypi = "pystac/pystac-0.5.4.tar.gz"
- version('1.4.0', sha256='6ec43e1c6bec50fbfbdede49c3ccb83ecd112072a938001b5c9c581fc2945e83')
- version('1.3.0', sha256='b0244641ef2a29a7b7929266b0d1eda2b0a0ef826dadb1aed93404a14e6e313b')
- version('1.2.0', sha256='8a60be2a30e1e28f8617a88f9f8fddc00c519be494a02ec111dc8fba62bf26e7')
- version('1.1.0', sha256='de42e1de5e8dc7a75b97feea0b660efdb5500ad8d7a892ff47fc9ed08c3bc2df')
- version('1.0.1', sha256='3927f2104cd2077638e046b9c258d5e6b442bfabf2d179cbefbf10f509efae85')
- version('0.5.4', sha256='9fc3359364685adf54e3bc78c87550a8bc8b0a927405419bd8e4bbd42a8efc79')
+ version("1.4.0", sha256="6ec43e1c6bec50fbfbdede49c3ccb83ecd112072a938001b5c9c581fc2945e83")
+ version("1.3.0", sha256="b0244641ef2a29a7b7929266b0d1eda2b0a0ef826dadb1aed93404a14e6e313b")
+ version("1.2.0", sha256="8a60be2a30e1e28f8617a88f9f8fddc00c519be494a02ec111dc8fba62bf26e7")
+ version("1.1.0", sha256="de42e1de5e8dc7a75b97feea0b660efdb5500ad8d7a892ff47fc9ed08c3bc2df")
+ version("1.0.1", sha256="3927f2104cd2077638e046b9c258d5e6b442bfabf2d179cbefbf10f509efae85")
+ version("0.5.4", sha256="9fc3359364685adf54e3bc78c87550a8bc8b0a927405419bd8e4bbd42a8efc79")
- depends_on('python@3.7:', when='@1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil@2.7:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7:', when='@1: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.7:", when="@1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil@2.7:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7:", when="@1: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pystan/package.py b/var/spack/repos/builtin/packages/py-pystan/package.py
index 2357dddc68..56eb44c34a 100644
--- a/var/spack/repos/builtin/packages/py-pystan/package.py
+++ b/var/spack/repos/builtin/packages/py-pystan/package.py
@@ -11,26 +11,26 @@ class PyPystan(PythonPackage):
"""PyStan is a Python interface to Stan, a package for Bayesian inference."""
homepage = "https://mc-stan.org/"
- pypi = "pystan/pystan-3.4.0.tar.gz"
+ pypi = "pystan/pystan-3.4.0.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('3.5.0', sha256='078571d071a5b7c0af59206d4994a0979f4ac4b61f4a720b640c44fe35514929')
- version('3.4.0', sha256='325e2fb0ab804555c05a603e0c9152ab11fcc3af01f3e9a9ff9fe9954b93184f')
- version('2.19.1.1', sha256='fa8bad8dbc0da22bbe6f36af56c9abbfcf10f92df8ce627d59a36bd8d25eb038')
- version('2.19.0.0', sha256='b85301b960d5991918b40bd64a4e9321813657a9fc028e0f39edce7220a309eb')
+ version("3.5.0", sha256="078571d071a5b7c0af59206d4994a0979f4ac4b61f4a720b640c44fe35514929")
+ version("3.4.0", sha256="325e2fb0ab804555c05a603e0c9152ab11fcc3af01f3e9a9ff9fe9954b93184f")
+ version("2.19.1.1", sha256="fa8bad8dbc0da22bbe6f36af56c9abbfcf10f92df8ce627d59a36bd8d25eb038")
+ version("2.19.0.0", sha256="b85301b960d5991918b40bd64a4e9321813657a9fc028e0f39edce7220a309eb")
# common requirements
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-poetry-core@1.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-poetry-core@1.0.0:", type=("build", "run"))
# variable requirements
- depends_on('python@3.8:3', type=('build', 'run'), when='@3.4.0:')
- depends_on('py-aiohttp@3.6:3', type=('build', 'run'), when='@3.4.0:')
- depends_on('py-httpstan@4.8', type=('build', 'run'), when='@3.5.0:')
- depends_on('py-httpstan@4.7', type=('build', 'run'), when='@3.4')
- depends_on('py-pysimdjson@3.2:3', type=('build', 'run'), when='@3.4.0:')
- depends_on('py-numpy@1.19:1', type=('build', 'run'), when='@3.4.0:')
- depends_on('py-numpy@1.7:', type=('build', 'run'), when='@2.19.0.0:')
- depends_on('py-clikit@0.6', type=('build', 'run'), when='@3.4.0:')
- depends_on('py-cython@0.22:0.23.2,0.25.2:', type=('build', 'run'), when='@:2.19.1.1')
+ depends_on("python@3.8:3", type=("build", "run"), when="@3.4.0:")
+ depends_on("py-aiohttp@3.6:3", type=("build", "run"), when="@3.4.0:")
+ depends_on("py-httpstan@4.8", type=("build", "run"), when="@3.5.0:")
+ depends_on("py-httpstan@4.7", type=("build", "run"), when="@3.4")
+ depends_on("py-pysimdjson@3.2:3", type=("build", "run"), when="@3.4.0:")
+ depends_on("py-numpy@1.19:1", type=("build", "run"), when="@3.4.0:")
+ depends_on("py-numpy@1.7:", type=("build", "run"), when="@2.19.0.0:")
+ depends_on("py-clikit@0.6", type=("build", "run"), when="@3.4.0:")
+ depends_on("py-cython@0.22:0.23.2,0.25.2:", type=("build", "run"), when="@:2.19.1.1")
diff --git a/var/spack/repos/builtin/packages/py-pysurfer/package.py b/var/spack/repos/builtin/packages/py-pysurfer/package.py
index 5b4b91a80c..8d4381bd75 100644
--- a/var/spack/repos/builtin/packages/py-pysurfer/package.py
+++ b/var/spack/repos/builtin/packages/py-pysurfer/package.py
@@ -10,18 +10,18 @@ class PyPysurfer(PythonPackage):
"""Cortical neuroimaging visualization in Python."""
homepage = "https://github.com/nipy/PySurfer"
- pypi = "pysurfer/pysurfer-0.11.0.tar.gz"
+ pypi = "pysurfer/pysurfer-0.11.0.tar.gz"
- version('0.11.0', sha256='ae709b6f933694f1810eb3c8f517bdb76c13576d74a7a5a1704e05239df0a179')
+ version("0.11.0", sha256="ae709b6f933694f1810eb3c8f517bdb76c13576d74a7a5a1704e05239df0a179")
- variant('save_movie', default=False, description='Enable save_movie support')
+ variant("save_movie", default=False, description="Enable save_movie support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-nibabel@1.2:', type=('build', 'run'))
- depends_on('py-mayavi', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-nibabel@1.2:", type=("build", "run"))
+ depends_on("py-mayavi", type=("build", "run"))
- depends_on('py-imageio@1.5:', when='+save_movie', type=('build', 'run'))
+ depends_on("py-imageio@1.5:", when="+save_movie", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytailf/package.py b/var/spack/repos/builtin/packages/py-pytailf/package.py
index 9fcc466db2..f79ddf86fa 100644
--- a/var/spack/repos/builtin/packages/py-pytailf/package.py
+++ b/var/spack/repos/builtin/packages/py-pytailf/package.py
@@ -12,6 +12,6 @@ class PyPytailf(PythonPackage):
homepage = "https://bitbucket.org/angry_elf/pytailf/src/default/"
pypi = "pytailf/pytailf-1.1.tar.bz2"
- version('1.1', sha256='d97135ef28ac4a51dfd98887131ce2bffd5d0d6ba757793a4b79740dfb067ace')
+ version("1.1", sha256="d97135ef28ac4a51dfd98887131ce2bffd5d0d6ba757793a4b79740dfb067ace")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytaridx/package.py b/var/spack/repos/builtin/packages/py-pytaridx/package.py
index f78ae35b6e..3fe8d4fb10 100644
--- a/var/spack/repos/builtin/packages/py-pytaridx/package.py
+++ b/var/spack/repos/builtin/packages/py-pytaridx/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class PyPytaridx(PythonPackage):
"""Python module/library for creating and maintaining a rapidly searchable
- index for a tar-file. This allows "direct access" of members (files) in
- the tar archive."""
+ index for a tar-file. This allows "direct access" of members (files) in
+ the tar archive."""
homepage = "https://github.com/LLNL/pytaridx"
- git = "https://github.com/LLNL/pytaridx.git"
- pypi = "pytaridx/pytaridx-1.0.2.tar.gz"
+ git = "https://github.com/LLNL/pytaridx.git"
+ pypi = "pytaridx/pytaridx-1.0.2.tar.gz"
- maintainers = ['bhatiaharsh']
+ maintainers = ["bhatiaharsh"]
- version('1.0.2', sha26='702c42ade13ae8688a56a8edfcd7e0e7512a489a22796c6cfdbcef677010ee47')
- version('master', branch='master')
+ version("1.0.2", sha26="702c42ade13ae8688a56a8edfcd7e0e7512a489a22796c6cfdbcef677010ee47")
+ version("master", branch="master")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytest-arraydiff/package.py b/var/spack/repos/builtin/packages/py-pytest-arraydiff/package.py
index 85d46dc5d1..8e236b7153 100644
--- a/var/spack/repos/builtin/packages/py-pytest-arraydiff/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-arraydiff/package.py
@@ -11,11 +11,11 @@ class PyPytestArraydiff(PythonPackage):
"""pytest plugin to help with comparing array output from tests"""
homepage = "https://github.com/astropy/pytest-arraydiff"
- pypi = "pytest-arraydiff/pytest-arraydiff-0.3.tar.gz"
+ pypi = "pytest-arraydiff/pytest-arraydiff-0.3.tar.gz"
- version('0.3', sha256='de2d62f53ecc107ed754d70d562adfa7573677a263216a7f19aa332f20dc6c15')
+ version("0.3", sha256="de2d62f53ecc107ed754d70d562adfa7573677a263216a7f19aa332f20dc6c15")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pytest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py b/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py
index 6a72230569..bca5af2e5d 100644
--- a/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class PyPytestAsyncio(PythonPackage):
"""pytest-asyncio is an Apache2 licensed library, written in Python,
- for testing asyncio code with pytest."""
+ for testing asyncio code with pytest."""
homepage = "https://github.com/pytest-dev/pytest-asyncio"
- pypi = "pytest-asyncio/pytest-asyncio-0.18.3.tar.gz"
+ pypi = "pytest-asyncio/pytest-asyncio-0.18.3.tar.gz"
- version('0.18.3', sha256='7659bdb0a9eb9c6e3ef992eef11a2b3e69697800ad02fb06374a210d85b29f91')
- version('0.9.0', sha256='fbd92c067c16111174a1286bfb253660f1e564e5146b39eeed1133315cf2c2cf')
+ version("0.18.3", sha256="7659bdb0a9eb9c6e3ef992eef11a2b3e69697800ad02fb06374a210d85b29f91")
+ version("0.9.0", sha256="fbd92c067c16111174a1286bfb253660f1e564e5146b39eeed1133315cf2c2cf")
- depends_on('python@3.7:', type=('build', 'run'), when='@0.18.3:')
- depends_on('python@3.5:', type=('build', 'run'), when='@0.9.0:')
- depends_on('py-setuptools@51.0:', type='build', when='@0.18.3:')
- depends_on('py-setuptools', type='build', when='@0.9.0:')
- depends_on('py-wheel@0.36:', type='build', when='@0.18.3:')
- depends_on('py-setuptools-scm@6.2:+toml', type='build', when='@0.18.3:')
- depends_on('py-pytest@6.1.0:', type=('build', 'run'), when='@0.18.3:')
- depends_on('py-pytest@3.0.6:', type=('build', 'run'), when='@0.9.0:')
- depends_on('py-typing-extensions@3.7.2:', type=('build', 'run'), when='@0.18.3:^python@:3.7')
+ depends_on("python@3.7:", type=("build", "run"), when="@0.18.3:")
+ depends_on("python@3.5:", type=("build", "run"), when="@0.9.0:")
+ depends_on("py-setuptools@51.0:", type="build", when="@0.18.3:")
+ depends_on("py-setuptools", type="build", when="@0.9.0:")
+ depends_on("py-wheel@0.36:", type="build", when="@0.18.3:")
+ depends_on("py-setuptools-scm@6.2:+toml", type="build", when="@0.18.3:")
+ depends_on("py-pytest@6.1.0:", type=("build", "run"), when="@0.18.3:")
+ depends_on("py-pytest@3.0.6:", type=("build", "run"), when="@0.9.0:")
+ depends_on("py-typing-extensions@3.7.2:", type=("build", "run"), when="@0.18.3:^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-pytest-benchmark/package.py b/var/spack/repos/builtin/packages/py-pytest-benchmark/package.py
index 069c6141a8..ca69731a97 100644
--- a/var/spack/repos/builtin/packages/py-pytest-benchmark/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-benchmark/package.py
@@ -11,11 +11,11 @@ class PyPytestBenchmark(PythonPackage):
"""A pytest fixture for benchmarking code."""
homepage = "https://github.com/ionelmc/pytest-benchmark"
- pypi = "pytest-benchmark/pytest-benchmark-3.2.3.tar.gz"
+ pypi = "pytest-benchmark/pytest-benchmark-3.2.3.tar.gz"
- version('3.2.3', sha256='ad4314d093a3089701b24c80a05121994c7765ce373478c8f4ba8d23c9ba9528')
+ version("3.2.3", sha256="ad4314d093a3089701b24c80a05121994c7765ce373478c8f4ba8d23c9ba9528")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.8:', type=('build', 'run'))
- depends_on('py-py-cpuinfo', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.8:", type=("build", "run"))
+ depends_on("py-py-cpuinfo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-cache/package.py b/var/spack/repos/builtin/packages/py-pytest-cache/package.py
index 6f1192d53b..291529ee56 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cache/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cache/package.py
@@ -14,8 +14,8 @@ class PyPytestCache(PythonPackage):
homepage = "https://bitbucket.org/hpk42/pytest-cache/src/default/"
pypi = "pytest-cache/pytest-cache-1.0.tar.gz"
- version('1.0', sha256='be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9')
+ version("1.0", sha256="be7468edd4d3d83f1e844959fd6e3fd28e77a481440a7118d430130ea31b07a9")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@2.2:', type=('build', 'run'))
- depends_on('py-execnet@1.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@2.2:", type=("build", "run"))
+ depends_on("py-execnet@1.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-check-links/package.py b/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
index 6c103f6070..514d51dcca 100644
--- a/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-check-links/package.py
@@ -13,7 +13,7 @@ class PyPytestCheckLinks(PythonPackage):
homepage = "https://github.com/jupyterlab/pytest-check-links"
pypi = "pytest-check-links/pytest_check_links-0.3.4.tar.gz"
- version('0.3.4', sha256='4b3216548431bf9796557e8ee8fd8e5e77a69a4690b3b2f9bcf6fb5af16a502b')
+ version("0.3.4", sha256="4b3216548431bf9796557e8ee8fd8e5e77a69a4690b3b2f9bcf6fb5af16a502b")
- depends_on('py-setuptools@17.1:', type='build')
- depends_on('py-pbr@1.9:', type='build')
+ depends_on("py-setuptools@17.1:", type="build")
+ depends_on("py-pbr@1.9:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytest-cov/package.py b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
index 87db6fc09d..82ac1391f1 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cov/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
@@ -12,16 +12,16 @@ class PyPytestCov(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-cov"
pypi = "pytest-cov/pytest-cov-2.8.1.tar.gz"
- version('3.0.0', sha256='e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470')
- version('2.8.1', sha256='cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b')
- version('2.3.1', sha256='fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f')
+ version("3.0.0", sha256="e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470")
+ version("2.8.1", sha256="cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b")
+ version("2.3.1", sha256="fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f")
- extends('python', ignore=r'bin/*')
+ extends("python", ignore=r"bin/*")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@3.0.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.6:', type=('build', 'run'))
- depends_on('py-pytest@4.6:', type=('build', 'run'), when='@3.0.0:')
- depends_on('py-coverage@4.4:', type=('build', 'run'))
- depends_on('py-coverage@5.2.1: +toml', type=('build', 'run'), when='@3.0.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@3.0.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.6:", type=("build", "run"))
+ depends_on("py-pytest@4.6:", type=("build", "run"), when="@3.0.0:")
+ depends_on("py-coverage@4.4:", type=("build", "run"))
+ depends_on("py-coverage@5.2.1: +toml", type=("build", "run"), when="@3.0.0:")
diff --git a/var/spack/repos/builtin/packages/py-pytest-cpp/package.py b/var/spack/repos/builtin/packages/py-pytest-cpp/package.py
index e639a30e81..101c859a15 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cpp/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cpp/package.py
@@ -11,12 +11,12 @@ class PyPytestCpp(PythonPackage):
"""Use pytest runner to discover and execute C++ tests."""
homepage = "https://github.com/pytest-dev/pytest-cpp"
- pypi = "pytest-cpp/pytest-cpp-1.4.0.tar.gz"
+ pypi = "pytest-cpp/pytest-cpp-1.4.0.tar.gz"
- version('1.5.0', sha256='efb7eaac30f9f61515be181d04b70d80d60ce8871426f726ef1844e2db4f3353')
- version('1.4.0', sha256='aa3a04fe7906e50094d1a9b8d38bc10eb59d0a8330a11a0f7a660405228b48ca')
+ version("1.5.0", sha256="efb7eaac30f9f61515be181d04b70d80d60ce8871426f726ef1844e2db4f3353")
+ version("1.4.0", sha256="aa3a04fe7906e50094d1a9b8d38bc10eb59d0a8330a11a0f7a660405228b48ca")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@:5.3,5.4.2:', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@:5.3,5.4.2:", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-doctestplus/package.py b/var/spack/repos/builtin/packages/py-pytest-doctestplus/package.py
index b1c275c15c..2317ee9493 100644
--- a/var/spack/repos/builtin/packages/py-pytest-doctestplus/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-doctestplus/package.py
@@ -11,11 +11,11 @@ class PyPytestDoctestplus(PythonPackage):
"""Pytest plugin with advanced doctest features."""
homepage = "https://www.astropy.org/"
- pypi = "pytest-doctestplus/pytest-doctestplus-0.8.0.tar.gz"
+ pypi = "pytest-doctestplus/pytest-doctestplus-0.8.0.tar.gz"
- version('0.9.0', sha256='6fe747418461d7b202824a3486ba8f4fa17a9bd0b1eddc743ba1d6d87f03391a')
+ version("0.9.0", sha256="6fe747418461d7b202824a3486ba8f4fa17a9bd0b1eddc743ba1d6d87f03391a")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@30.3.0:', type=('build', 'run'))
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@4.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@30.3.0:", type=("build", "run"))
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@4.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-flake8/package.py b/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
index 991aa8eb9a..9af5a6f29f 100644
--- a/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-flake8/package.py
@@ -12,10 +12,10 @@ class PyPytestFlake8(PythonPackage):
homepage = "https://github.com/tholo/pytest-flake8"
pypi = "pytest-flake8/pytest-flake8-0.8.1.tar.gz"
- version('0.8.1', sha256='aa10a6db147485d71dad391d4149388904c3072194d51755f64784ff128845fd')
+ version("0.8.1", sha256="aa10a6db147485d71dad391d4149388904c3072194d51755f64784ff128845fd")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# Install requires:
- depends_on('py-flake8@3.0:', type=('build', 'run'))
- depends_on('py-pytest@2.8:', type=('build', 'run'))
+ depends_on("py-flake8@3.0:", type=("build", "run"))
+ depends_on("py-pytest@2.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-flakes/package.py b/var/spack/repos/builtin/packages/py-pytest-flakes/package.py
index baf6bcfd54..d60d6741c9 100644
--- a/var/spack/repos/builtin/packages/py-pytest-flakes/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-flakes/package.py
@@ -11,12 +11,12 @@ class PyPytestFlakes(PythonPackage):
"""py.test plugin for efficiently checking python source with pyflakes."""
homepage = "https://github.com/asmeurer/pytest-flakes"
- pypi = "pytest-flakes/pytest-flakes-4.0.2.tar.gz"
+ pypi = "pytest-flakes/pytest-flakes-4.0.2.tar.gz"
- version('4.0.3', sha256='bf070c5485dad82d5b5f5d0eb08d269737e378492d9a68f5223b0a90924c7754')
- version('4.0.2', sha256='6733db47937d9689032876359e5ee0ee6926e3638546c09220e2f86b3581d4c1')
+ version("4.0.3", sha256="bf070c5485dad82d5b5f5d0eb08d269737e378492d9a68f5223b0a90924c7754")
+ version("4.0.2", sha256="6733db47937d9689032876359e5ee0ee6926e3638546c09220e2f86b3581d4c1")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@5:', type=('build', 'run'))
- depends_on('py-pyflakes', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@5:", type=("build", "run"))
+ depends_on("py-pyflakes", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-forked/package.py b/var/spack/repos/builtin/packages/py-pytest-forked/package.py
index dfe02d070b..34339709c3 100644
--- a/var/spack/repos/builtin/packages/py-pytest-forked/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-forked/package.py
@@ -12,9 +12,9 @@ class PyPytestForked(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-forked"
pypi = "pytest-forked/pytest-forked-1.1.1.tar.gz"
- version('1.1.1', sha256='e2d46f319c8063a3a0536b18f9cdea6eea3bc9fe2cb16c94e1d6fad3abc37300')
+ version("1.1.1", sha256="e2d46f319c8063a3a0536b18f9cdea6eea3bc9fe2cb16c94e1d6fad3abc37300")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@3.1.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-html/package.py b/var/spack/repos/builtin/packages/py-pytest-html/package.py
index 3dbd536198..3158ea7e34 100644
--- a/var/spack/repos/builtin/packages/py-pytest-html/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-html/package.py
@@ -14,10 +14,10 @@ class PyPytestHtml(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-html"
pypi = "pytest-html/pytest-html-3.1.1.tar.gz"
- version('3.1.1', sha256='3ee1cf319c913d19fe53aeb0bc400e7b0bc2dbeb477553733db1dad12eb75ee3')
+ version("3.1.1", sha256="3ee1cf319c913d19fe53aeb0bc400e7b0bc2dbeb477553733db1dad12eb75ee3")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@5.0:5,6.0.1:', type=('build', 'run'))
- depends_on('py-pytest-metadata', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@5.0:5,6.0.1:", type=("build", "run"))
+ depends_on("py-pytest-metadata", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
index c9b211c8ee..c97970f3fd 100644
--- a/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-httpbin/package.py
@@ -12,14 +12,14 @@ class PyPytestHttpbin(PythonPackage):
homepage = "https://github.com/kevin1024/pytest-httpbin"
pypi = "pytest-httpbin/pytest-httpbin-1.0.0.tar.gz"
- version('1.0.0', sha256='d8ce547f42423026550ed7765f6c6d50c033b43025e8592270a7abf970e19b72')
- version('0.2.3', sha256='c5b698dfa474ffc9caebcb35e34346b753eb226aea5c2e1b69fefedbcf161bf8')
- version('0.0.7', sha256='03af8a7055c8bbcb68b14d9a14c103c82c97aeb86a8f1b29cd63d83644c2f021')
+ version("1.0.0", sha256="d8ce547f42423026550ed7765f6c6d50c033b43025e8592270a7abf970e19b72")
+ version("0.2.3", sha256="c5b698dfa474ffc9caebcb35e34346b753eb226aea5c2e1b69fefedbcf161bf8")
+ version("0.0.7", sha256="03af8a7055c8bbcb68b14d9a14c103c82c97aeb86a8f1b29cd63d83644c2f021")
- extends('python', ignore=r'bin/flask')
+ extends("python", ignore=r"bin/flask")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask', when='@:0.2', type=('build', 'run'))
- depends_on('py-decorator', when='@:0.2', type=('build', 'run'))
- depends_on('py-httpbin', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask", when="@:0.2", type=("build", "run"))
+ depends_on("py-decorator", when="@:0.2", type=("build", "run"))
+ depends_on("py-httpbin", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
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 c258845bf6..e8f8f2c5c0 100644
--- a/var/spack/repos/builtin/packages/py-pytest-isort/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-isort/package.py
@@ -12,8 +12,8 @@ class PyPytestIsort(PythonPackage):
homepage = "https://github.com/moccu/pytest-isort/"
pypi = "pytest-isort/pytest-isort-0.3.1.tar.gz"
- version('0.3.1', sha256='4bfee60dad1870b51700d55a85f5ceda766bd9d3d2878c1bbabee80e61b1be1a')
+ version("0.3.1", sha256="4bfee60dad1870b51700d55a85f5ceda766bd9d3d2878c1bbabee80e61b1be1a")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.5:', type=('build', 'run'))
- depends_on('py-isort@4.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.5:", type=("build", "run"))
+ depends_on("py-isort@4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-metadata/package.py b/var/spack/repos/builtin/packages/py-pytest-metadata/package.py
index b7187fb7b0..ead1a314d7 100644
--- a/var/spack/repos/builtin/packages/py-pytest-metadata/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-metadata/package.py
@@ -12,9 +12,9 @@ class PyPytestMetadata(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-metadata"
pypi = "pytest-metadata/pytest-metadata-1.11.0.tar.gz"
- version('1.11.0', sha256='71b506d49d34e539cc3cfdb7ce2c5f072bea5c953320002c95968e0238f8ecf1')
+ version("1.11.0", sha256="71b506d49d34e539cc3cfdb7ce2c5f072bea5c953320002c95968e0238f8ecf1")
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@2.9:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@2.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-mock/package.py b/var/spack/repos/builtin/packages/py-pytest-mock/package.py
index 2f0e164d78..8c438f63c0 100644
--- a/var/spack/repos/builtin/packages/py-pytest-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-mock/package.py
@@ -12,13 +12,16 @@ class PyPytestMock(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-mock"
pypi = "pytest-mock/pytest-mock-1.11.1.tar.gz"
- version('1.11.1', sha256='f1ab8aefe795204efe7a015900296d1719e7bf0f4a0558d71e8599da1d1309d0')
- version('1.2', sha256='f78971ed376fcb265255d1e4bb313731b3a1be92d7f3ecb19ea7fedc4a56fd0f',
- url='https://pypi.io/packages/source/p/pytest-mock/pytest-mock-1.2.zip')
+ version("1.11.1", sha256="f1ab8aefe795204efe7a015900296d1719e7bf0f4a0558d71e8599da1d1309d0")
+ version(
+ "1.2",
+ sha256="f78971ed376fcb265255d1e4bb313731b3a1be92d7f3ecb19ea7fedc4a56fd0f",
+ url="https://pypi.io/packages/source/p/pytest-mock/pytest-mock-1.2.zip",
+ )
- extends('python', ignore=r'bin/*')
+ extends("python", ignore=r"bin/*")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@2.7:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-mypy/package.py b/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
index 49edea2510..1f887ddcaa 100644
--- a/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-mypy/package.py
@@ -12,12 +12,12 @@ class PyPytestMypy(PythonPackage):
homepage = "https://github.com/dbader/pytest-mypy"
pypi = "pytest-mypy/pytest-mypy-0.4.2.tar.gz"
- version('0.4.2', sha256='5a5338cecff17f005b181546a13e282761754b481225df37f33d37f86ac5b304')
+ version("0.4.2", sha256="5a5338cecff17f005b181546a13e282761754b481225df37f33d37f86ac5b304")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@2.8:', when='^python@3.5:', type=('build', 'run'))
- depends_on('py-pytest@2.8:4.6', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-mypy@0.500:0.699', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-mypy@0.500:', when='^python@3.5:3.7', type=('build', 'run'))
- depends_on('py-mypy@0.700:', when='^python@3.8:', type=('build', 'run'))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@2.8:", when="^python@3.5:", type=("build", "run"))
+ depends_on("py-pytest@2.8:4.6", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-mypy@0.500:0.699", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-mypy@0.500:", when="^python@3.5:3.7", type=("build", "run"))
+ depends_on("py-mypy@0.700:", when="^python@3.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-openfiles/package.py b/var/spack/repos/builtin/packages/py-pytest-openfiles/package.py
index 456216eda1..2ac0b9c67e 100644
--- a/var/spack/repos/builtin/packages/py-pytest-openfiles/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-openfiles/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class PyPytestOpenfiles(PythonPackage):
"""A plugin for the pytest framework that allows developers to detect
- whether any file handles or other file-like objects were inadvertently
- left open at the end of a unit test"""
+ whether any file handles or other file-like objects were inadvertently
+ left open at the end of a unit test"""
homepage = "https://github.com/astropy/pytest-openfiles"
- pypi = "pytest-openfiles/pytest-openfiles-0.5.0.tar.gz"
+ pypi = "pytest-openfiles/pytest-openfiles-0.5.0.tar.gz"
- version('0.5.0', sha256='179c2911d8aee3441fee051aba08e0d9b4dab61b829ae4811906d5c49a3b0a58')
+ version("0.5.0", sha256="179c2911d8aee3441fee051aba08e0d9b4dab61b829ae4811906d5c49a3b0a58")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@30.3.1:', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@4.6:', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@30.3.1:", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@4.6:", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-parallel/package.py b/var/spack/repos/builtin/packages/py-pytest-parallel/package.py
index 5fbf659c92..4d1c84822f 100644
--- a/var/spack/repos/builtin/packages/py-pytest-parallel/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-parallel/package.py
@@ -10,11 +10,11 @@ class PyPytestParallel(PythonPackage):
"""A pytest plugin for parallel and concurrent testing."""
homepage = "https://github.com/browsertron/pytest-parallel"
- pypi = "pytest-parallel/pytest-parallel-0.1.1.tar.gz"
+ pypi = "pytest-parallel/pytest-parallel-0.1.1.tar.gz"
- version('0.1.1', sha256='9aac3fc199a168c0a8559b60249d9eb254de7af58c12cee0310b54d4affdbfab')
+ version("0.1.1", sha256="9aac3fc199a168c0a8559b60249d9eb254de7af58c12cee0310b54d4affdbfab")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.0:', type=('build', 'run'))
- depends_on('py-tblib', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.0:", type=("build", "run"))
+ depends_on("py-tblib", type=("build", "run"))
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 98d6982826..2306a7c638 100644
--- a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py
@@ -11,9 +11,9 @@ class PyPytestPep8(PythonPackage):
pypi = "pytest-pep8/pytest-pep8-1.0.6.tar.gz"
- version('1.0.6', sha256='032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318')
+ version("1.0.6", sha256="032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-cache', type=('build', 'run'))
- depends_on('py-pytest@2.4.2:', type=('build', 'run'))
- depends_on('py-pep8@1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-cache", type=("build", "run"))
+ depends_on("py-pytest@2.4.2:", type=("build", "run"))
+ depends_on("py-pep8@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-qt/package.py b/var/spack/repos/builtin/packages/py-pytest-qt/package.py
index d7a4e45d18..60336390df 100644
--- a/var/spack/repos/builtin/packages/py-pytest-qt/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-qt/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class PyPytestQt(PythonPackage):
"""A pytest plugin that allows programmers to write tests for
- PySide, PySide2 and PyQt applications."""
+ PySide, PySide2 and PyQt applications."""
homepage = "https://github.com/pytest-dev/pytest-qt"
- pypi = "pytest-qt/pytest-qt-3.3.0.tar.gz"
+ pypi = "pytest-qt/pytest-qt-3.3.0.tar.gz"
- version('3.3.0', sha256='714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925')
+ version("3.3.0", sha256="714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-pytest@3:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-pytest@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-random-order/package.py b/var/spack/repos/builtin/packages/py-pytest-random-order/package.py
index d76696d07b..af9c6bc810 100644
--- a/var/spack/repos/builtin/packages/py-pytest-random-order/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-random-order/package.py
@@ -13,10 +13,10 @@ class PyPytestRandomOrder(PythonPackage):
"""
homepage = "https://github.com/jbasko/pytest-random-order"
- pypi = "pytest-random-order/pytest-random-order-1.0.4.tar.gz"
+ pypi = "pytest-random-order/pytest-random-order-1.0.4.tar.gz"
- version('1.0.4', sha256='6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52')
+ version("1.0.4", sha256="6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.0.0:', type=('build', 'test', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.0.0:", type=("build", "test", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-runner/package.py b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
index 0290ab48e8..90942e868b 100644
--- a/var/spack/repos/builtin/packages/py-pytest-runner/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
@@ -12,15 +12,15 @@ class PyPytestRunner(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-runner"
pypi = "pytest-runner/pytest-runner-5.1.tar.gz"
- version('5.3.1', sha256='0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91')
- version('5.1', sha256='25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a')
- version('2.11.1', sha256='983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3')
+ version("5.3.1", sha256="0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91")
+ version("5.1", sha256="25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a")
+ version("2.11.1", sha256="983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3")
# requirements from pyproject.toml are marked with *
- depends_on('python@3.6:', when='@5.3:', type=('build', 'run'))
- depends_on('py-setuptools@42:', when='@5.3:', type=('build', 'run')) # *
- depends_on('py-setuptools@34.4:', when='@5:', type=('build', 'run')) # *
- depends_on('py-setuptools@27.3:', when='@4.1:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm+toml@3.4.1:', when='@5.3:', type='build') # *
- depends_on('py-setuptools-scm@1.15:', type='build')
+ depends_on("python@3.6:", when="@5.3:", type=("build", "run"))
+ depends_on("py-setuptools@42:", when="@5.3:", type=("build", "run")) # *
+ depends_on("py-setuptools@34.4:", when="@5:", type=("build", "run")) # *
+ depends_on("py-setuptools@27.3:", when="@4.1:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm+toml@3.4.1:", when="@5.3:", type="build") # *
+ depends_on("py-setuptools-scm@1.15:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytest-timeout/package.py b/var/spack/repos/builtin/packages/py-pytest-timeout/package.py
index 064ca3c847..646da20044 100644
--- a/var/spack/repos/builtin/packages/py-pytest-timeout/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-timeout/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class PyPytestTimeout(PythonPackage):
"""A plugin which will terminate tests after a certain timeout,
- assuming the test session isn't being debugged."""
+ assuming the test session isn't being debugged."""
homepage = "https://github.com/pytest-dev/pytest-timeout/"
- pypi = "pytest-timeout/pytest-timeout-1.4.2.tar.gz"
+ pypi = "pytest-timeout/pytest-timeout-1.4.2.tar.gz"
- version('1.4.2', sha256='20b3113cf6e4e80ce2d403b6fb56e9e1b871b510259206d40ff8d609f48bda76')
+ version("1.4.2", sha256="20b3113cf6e4e80ce2d403b6fb56e9e1b871b510259206d40ff8d609f48bda76")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest@3.6.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest@3.6.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytest-xdist/package.py b/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
index e9028ea0fa..1ea93dc6b6 100644
--- a/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-xdist/package.py
@@ -12,19 +12,19 @@ class PyPytestXdist(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-xdist"
pypi = "pytest-xdist/pytest-xdist-1.30.0.tar.gz"
- version('1.30.0', sha256='5d1b1d4461518a6023d56dab62fb63670d6f7537f23e2708459a557329accf48')
- version('1.29.0', sha256='3489d91516d7847db5eaecff7a2e623dba68984835dbe6cedb05ae126c4fb17f')
- version('1.27.0', sha256='a96ed691705882560fa3fc95531fbd4c224896c827f4004817eb2dcac4ba41a2')
- version('1.24.0', sha256='8e188d13ce6614c7a678179a76f46231199ffdfe6163de031c17e62ffa256917')
- version('1.17.0', sha256='e7e48c111677af23078b1ed23501e493e12c4b6d91657f6884a64e4ce0f14144')
- version('1.16.0', sha256='42e5a1e5da9d7cff3e74b07f8692598382f95624f234ff7e00a3b1237e0feba2')
+ version("1.30.0", sha256="5d1b1d4461518a6023d56dab62fb63670d6f7537f23e2708459a557329accf48")
+ version("1.29.0", sha256="3489d91516d7847db5eaecff7a2e623dba68984835dbe6cedb05ae126c4fb17f")
+ version("1.27.0", sha256="a96ed691705882560fa3fc95531fbd4c224896c827f4004817eb2dcac4ba41a2")
+ version("1.24.0", sha256="8e188d13ce6614c7a678179a76f46231199ffdfe6163de031c17e62ffa256917")
+ version("1.17.0", sha256="e7e48c111677af23078b1ed23501e493e12c4b6d91657f6884a64e4ce0f14144")
+ version("1.16.0", sha256="42e5a1e5da9d7cff3e74b07f8692598382f95624f234ff7e00a3b1237e0feba2")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-execnet@1.1:', type=('build', 'run'))
- depends_on('py-pytest@4.4.0:', type=('build', 'run'), when='@1.28.0:')
- depends_on('py-pytest@3.6.0:', type=('build', 'run'), when='@1.25.0:1.27.0')
- depends_on('py-pytest@3.0.0:', type=('build', 'run'), when='@1.18.0:1.24.0')
- depends_on('py-pytest@2.7.0:', type=('build', 'run'), when='@1.16.0:1.17.0')
- depends_on('py-pytest-forked', type=('build', 'run'), when='@1.19.0:')
- depends_on('py-six', type=('build', 'run'), when='@1.23.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-execnet@1.1:", type=("build", "run"))
+ depends_on("py-pytest@4.4.0:", type=("build", "run"), when="@1.28.0:")
+ depends_on("py-pytest@3.6.0:", type=("build", "run"), when="@1.25.0:1.27.0")
+ depends_on("py-pytest@3.0.0:", type=("build", "run"), when="@1.18.0:1.24.0")
+ depends_on("py-pytest@2.7.0:", type=("build", "run"), when="@1.16.0:1.17.0")
+ depends_on("py-pytest-forked", type=("build", "run"), when="@1.19.0:")
+ depends_on("py-six", type=("build", "run"), when="@1.23.0:")
diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py
index 3fd6717d46..e45bb04bbc 100644
--- a/var/spack/repos/builtin/packages/py-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest/package.py
@@ -10,72 +10,74 @@ class PyPytest(PythonPackage):
"""pytest: simple powerful testing with Python."""
homepage = "https://pytest.org/"
- pypi = "pytest/pytest-5.2.1.tar.gz"
+ pypi = "pytest/pytest-5.2.1.tar.gz"
- version('6.2.5', sha256='131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89')
- version('6.2.4', sha256='50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b')
- version('6.2.1', sha256='66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306')
- version('6.1.1', sha256='8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92')
- version('5.3.4', sha256='1d122e8be54d1a709e56f82e2d85dcba3018313d64647f38a91aec88c239b600')
- version('5.2.1', sha256='ca563435f4941d0cb34767301c27bc65c510cb82e90b9ecf9cb52dc2c63caaa0')
- version('5.1.1', sha256='c3d5020755f70c82eceda3feaf556af9a341334414a8eca521a18f463bcead88')
- version('4.6.9', sha256='19e8f75eac01dd3f211edd465b39efbcbdc8fc5f7866d7dd49fedb30d8adf339')
- version('4.6.5', sha256='8fc39199bdda3d9d025d3b1f4eb99a192c20828030ea7c9a0d2840721de7d347')
- version('4.6.2', sha256='bea27a646a3d74cbbcf8d3d4a06b2dfc336baf3dc2cc85cf70ad0157e73e8322')
- version('4.4.0', sha256='f21d2f1fb8200830dcbb5d8ec466a9c9120e20d8b53c7585d180125cce1d297a')
- version('4.3.0', sha256='067a1d4bf827ffdd56ad21bd46674703fce77c5957f6c1eef731f6146bfcef1c')
- version('3.7.2', sha256='3459a123ad5532852d36f6f4501dfe1acf4af1dd9541834a164666aa40395b02')
- version('3.7.1', sha256='86a8dbf407e437351cef4dba46736e9c5a6e3c3ac71b2e942209748e76ff2086')
- version('3.5.1', sha256='54713b26c97538db6ff0703a12b19aeaeb60b5e599de542e7fca0ec83b9038e8')
- version('3.0.7', sha256='b70696ebd1a5e6b627e7e3ac1365a4bc60aaf3495e843c1e70448966c5224cab')
- version('3.0.2', sha256='64d8937626dd2a4bc15ef0edd307d26636a72a3f3f9664c424d78e40efb1e339')
+ version("6.2.5", sha256="131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89")
+ version("6.2.4", sha256="50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b")
+ version("6.2.1", sha256="66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306")
+ version("6.1.1", sha256="8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92")
+ version("5.3.4", sha256="1d122e8be54d1a709e56f82e2d85dcba3018313d64647f38a91aec88c239b600")
+ version("5.2.1", sha256="ca563435f4941d0cb34767301c27bc65c510cb82e90b9ecf9cb52dc2c63caaa0")
+ version("5.1.1", sha256="c3d5020755f70c82eceda3feaf556af9a341334414a8eca521a18f463bcead88")
+ version("4.6.9", sha256="19e8f75eac01dd3f211edd465b39efbcbdc8fc5f7866d7dd49fedb30d8adf339")
+ version("4.6.5", sha256="8fc39199bdda3d9d025d3b1f4eb99a192c20828030ea7c9a0d2840721de7d347")
+ version("4.6.2", sha256="bea27a646a3d74cbbcf8d3d4a06b2dfc336baf3dc2cc85cf70ad0157e73e8322")
+ version("4.4.0", sha256="f21d2f1fb8200830dcbb5d8ec466a9c9120e20d8b53c7585d180125cce1d297a")
+ version("4.3.0", sha256="067a1d4bf827ffdd56ad21bd46674703fce77c5957f6c1eef731f6146bfcef1c")
+ version("3.7.2", sha256="3459a123ad5532852d36f6f4501dfe1acf4af1dd9541834a164666aa40395b02")
+ version("3.7.1", sha256="86a8dbf407e437351cef4dba46736e9c5a6e3c3ac71b2e942209748e76ff2086")
+ version("3.5.1", sha256="54713b26c97538db6ff0703a12b19aeaeb60b5e599de542e7fca0ec83b9038e8")
+ version("3.0.7", sha256="b70696ebd1a5e6b627e7e3ac1365a4bc60aaf3495e843c1e70448966c5224cab")
+ version("3.0.2", sha256="64d8937626dd2a4bc15ef0edd307d26636a72a3f3f9664c424d78e40efb1e339")
# 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'))
+ 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"))
# 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', 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: +toml', when='@6.2:', type='build')
- depends_on('py-setuptools-scm', when='@3.1:', type='build')
+ depends_on("py-setuptools@42.0:", when="@6.2:", type=("build", "run"))
+ depends_on("py-setuptools@40.0:", when="@3.9.2:6.1", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", when="@3.9.0:3.9.1", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm@3.4: +toml", when="@6.2:", type="build")
+ depends_on("py-setuptools-scm", when="@3.1:", type="build")
# 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', type=('build', 'run'))
- depends_on('py-attrs@17.2.0:', when='@3.3:3.4', type=('build', 'run'))
- depends_on('py-iniconfig', when='@6.0:', type=('build', 'run'))
- depends_on('py-packaging', when='@4.6:', type=('build', 'run'))
- depends_on('py-pluggy@0.12:1', when='@6.2:', type=('build', 'run'))
- depends_on('py-pluggy@0.12:0', when='@4.6:6.1', type=('build', 'run'))
- depends_on('py-pluggy@0.9.0:0.9,0.11:0', when='@4.5.0:4.5', type=('build', 'run'))
- depends_on('py-pluggy@0.11:', when='@4.4.2:4.4', type=('build', 'run'))
- depends_on('py-pluggy@0.9:', when='@4.4.0:4.4.1', type=('build', 'run'))
- 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', 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', type=('build', 'run'))
- depends_on('py-py@1.4.33:', when='@3.1.2:3.2.3,3.2.5:3.2', type=('build', 'run'))
- depends_on('py-py@1.4.33:1.4', when='@3.2.4', type=('build', 'run'))
- depends_on('py-py@1.4.29:', when='@:3.1.1', type=('build', 'run'))
- depends_on('py-toml', when='@6.0:', type=('build', 'run'))
- depends_on('py-atomicwrites@1.0:', when='@5.3: platform=windows', type=('build', 'run'))
- depends_on('py-atomicwrites@1.0:', when='@3.6:5.2', type=('build', 'run'))
- depends_on('py-colorama', when='platform=windows', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.12:', when='@4.6:5.0', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.12:', when='@5.1: ^python@:3.7', type=('build', 'run'))
+ 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", type=("build", "run"))
+ depends_on("py-attrs@17.2.0:", when="@3.3:3.4", type=("build", "run"))
+ depends_on("py-iniconfig", when="@6.0:", type=("build", "run"))
+ depends_on("py-packaging", when="@4.6:", type=("build", "run"))
+ depends_on("py-pluggy@0.12:1", when="@6.2:", type=("build", "run"))
+ depends_on("py-pluggy@0.12:0", when="@4.6:6.1", type=("build", "run"))
+ depends_on("py-pluggy@0.9.0:0.9,0.11:0", when="@4.5.0:4.5", type=("build", "run"))
+ depends_on("py-pluggy@0.11:", when="@4.4.2:4.4", type=("build", "run"))
+ depends_on("py-pluggy@0.9:", when="@4.4.0:4.4.1", type=("build", "run"))
+ 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", 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", type=("build", "run"))
+ depends_on("py-py@1.4.33:", when="@3.1.2:3.2.3,3.2.5:3.2", type=("build", "run"))
+ depends_on("py-py@1.4.33:1.4", when="@3.2.4", type=("build", "run"))
+ depends_on("py-py@1.4.29:", when="@:3.1.1", type=("build", "run"))
+ depends_on("py-toml", when="@6.0:", type=("build", "run"))
+ depends_on("py-atomicwrites@1.0:", when="@5.3: platform=windows", type=("build", "run"))
+ depends_on("py-atomicwrites@1.0:", when="@3.6:5.2", type=("build", "run"))
+ depends_on("py-colorama", when="platform=windows", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.12:", when="@4.6:5.0", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.12:", when="@5.1: ^python@:3.7", type=("build", "run"))
# 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', 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-wcwidth', when='@4.5:5', type=('build', 'run'))
+ 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", 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-wcwidth", when="@4.5:5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-benedict/package.py b/var/spack/repos/builtin/packages/py-python-benedict/package.py
index 4e74e0ed1a..88a624aa55 100644
--- a/var/spack/repos/builtin/packages/py-python-benedict/package.py
+++ b/var/spack/repos/builtin/packages/py-python-benedict/package.py
@@ -11,21 +11,21 @@ class PyPythonBenedict(PythonPackage):
and many utilities."""
homepage = "https://github.com/fabiocaccamo/python-benedict"
- pypi = "python-benedict/python-benedict-0.22.2.tar.gz"
+ pypi = "python-benedict/python-benedict-0.22.2.tar.gz"
- version('0.23.2', sha256='b7bdffd92ba1c9b9e044bda08ed545a48a45bd7a5207f93b4b2a8eb2660d1b4c')
+ version("0.23.2", sha256="b7bdffd92ba1c9b9e044bda08ed545a48a45bd7a5207f93b4b2a8eb2660d1b4c")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-ftfy@4.4.3', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-ftfy', when='^python@3.4:', type=('build', 'run'))
- depends_on('py-mailchecker', type=('build', 'run'))
- depends_on('py-phonenumbers', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-python-fsutil', type=('build', 'run'))
- depends_on('py-python-slugify', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-toml', type=('build', 'run'))
- depends_on('py-xmltodict', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ftfy@4.4.3", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-ftfy", when="^python@3.4:", type=("build", "run"))
+ depends_on("py-mailchecker", type=("build", "run"))
+ depends_on("py-phonenumbers", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-python-fsutil", type=("build", "run"))
+ depends_on("py-python-slugify", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-toml", type=("build", "run"))
+ depends_on("py-xmltodict", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-box/package.py b/var/spack/repos/builtin/packages/py-python-box/package.py
index 71a1fedfd7..50c863c353 100644
--- a/var/spack/repos/builtin/packages/py-python-box/package.py
+++ b/var/spack/repos/builtin/packages/py-python-box/package.py
@@ -15,17 +15,15 @@ class PyPythonBox(PythonPackage):
object are converted automatically."""
homepage = "https://github.com/cdgriffith/Box"
- pypi = "python-box/python-box-5.3.0.tar.gz"
+ pypi = "python-box/python-box-5.3.0.tar.gz"
- version('5.3.0', sha256='4ed4ef5d34de505a65c01e3f1911de8cdb29484fcae0c035141dce535c6c194a')
+ version("5.3.0", sha256="4ed4ef5d34de505a65c01e3f1911de8cdb29484fcae0c035141dce535c6c194a")
- variant('extras',
- default=False,
- description='install the "extras" packages')
+ variant("extras", default=False, description='install the "extras" packages')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-ruamel-yaml', when='+extras')
- depends_on('py-toml', when='+extras')
- depends_on('py-msgpack', when='+extras')
+ depends_on("py-ruamel-yaml", when="+extras")
+ depends_on("py-toml", when="+extras")
+ depends_on("py-msgpack", when="+extras")
diff --git a/var/spack/repos/builtin/packages/py-python-certifi-win32/package.py b/var/spack/repos/builtin/packages/py-python-certifi-win32/package.py
index 41370cb512..12448edfe3 100644
--- a/var/spack/repos/builtin/packages/py-python-certifi-win32/package.py
+++ b/var/spack/repos/builtin/packages/py-python-certifi-win32/package.py
@@ -11,13 +11,13 @@ class PyPythonCertifiWin32(PythonPackage):
windows certificate store."""
homepage = "https://gitlab.com/alelec/python-certifi-win32"
- git = "https://gitlab.com/alelec/python-certifi-win32.git"
+ git = "https://gitlab.com/alelec/python-certifi-win32.git"
# Tarball missing version information, need to use git checkout
- version('1.6', tag='v1.6')
+ version("1.6", tag="v1.6")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-wrapt@1.10.4:', type=('build', 'run'))
- depends_on('py-wincertstore', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-certifi', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-wrapt@1.10.4:", type=("build", "run"))
+ depends_on("py-wincertstore", type=("build", "run"), when="^python@:3.3")
+ depends_on("py-certifi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-constraint/package.py b/var/spack/repos/builtin/packages/py-python-constraint/package.py
index a4d2d9ca61..9c0d2b294e 100644
--- a/var/spack/repos/builtin/packages/py-python-constraint/package.py
+++ b/var/spack/repos/builtin/packages/py-python-constraint/package.py
@@ -13,6 +13,6 @@ class PyPythonConstraint(PythonPackage):
homepage = "https://github.com/python-constraint/python-constraint"
pypi = "python-constraint/python-constraint-1.4.0.tar.bz2"
- version('1.4.0', sha256='501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e')
+ version("1.4.0", sha256="501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-crfsuite/package.py b/var/spack/repos/builtin/packages/py-python-crfsuite/package.py
index e638a7620d..be35743fbd 100644
--- a/var/spack/repos/builtin/packages/py-python-crfsuite/package.py
+++ b/var/spack/repos/builtin/packages/py-python-crfsuite/package.py
@@ -10,9 +10,9 @@ class PyPythonCrfsuite(PythonPackage):
"""python-crfsuite is a python binding to CRFsuite."""
homepage = "https://github.com/scrapinghub/python-crfsuite"
- pypi = "python-crfsuite/python-crfsuite-0.9.7.tar.gz"
+ pypi = "python-crfsuite/python-crfsuite-0.9.7.tar.gz"
- version('0.9.7', sha256='3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7')
+ version("0.9.7", sha256="3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7")
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-daemon/package.py b/var/spack/repos/builtin/packages/py-python-daemon/package.py
index fbdd014c2c..c274a2691a 100644
--- a/var/spack/repos/builtin/packages/py-python-daemon/package.py
+++ b/var/spack/repos/builtin/packages/py-python-daemon/package.py
@@ -9,22 +9,23 @@ from spack.package import *
class PyPythonDaemon(PythonPackage):
"""Library to implement a well-behaved Unix daemon process.
- This library implements the well-behaved daemon specification of
- PEP Standard daemon process.
-
- A well-behaved Unix daemon process is tricky to get right, but the
- required steps are much the same for every daemon program. A
- DaemonContext instance holds the behaviour and configured process
- environment for the program; use the instance as a context manager
- to enter a daemon state.
+ This library implements the well-behaved daemon specification of
+ PEP Standard daemon process.
+
+ A well-behaved Unix daemon process is tricky to get right, but the
+ required steps are much the same for every daemon program. A
+ DaemonContext instance holds the behaviour and configured process
+ environment for the program; use the instance as a context manager
+ to enter a daemon state.
"""
+
pypi = "python-daemon/python-daemon-2.0.5.tar.gz"
- version('2.3.0', sha256='bda993f1623b1197699716d68d983bb580043cf2b8a66a01274d9b8297b0aeaf')
- version('2.0.5', sha256='afde4fa433d94d007206ee31a0941d55b5eb232a5422b670aad628547b46bf68')
+ version("2.3.0", sha256="bda993f1623b1197699716d68d983bb580043cf2b8a66a01274d9b8297b0aeaf")
+ version("2.0.5", sha256="afde4fa433d94d007206ee31a0941d55b5eb232a5422b670aad628547b46bf68")
- depends_on("py-setuptools", type=('build', 'run'))
- depends_on("py-lockfile", type=('build', 'run'))
- depends_on("py-lockfile@0.10:", type=('build', 'run'), when='@2.3.0:')
- depends_on("py-docutils", type='build')
- depends_on("py-twine", type='build')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-lockfile", type=("build", "run"))
+ depends_on("py-lockfile@0.10:", type=("build", "run"), when="@2.3.0:")
+ depends_on("py-docutils", type="build")
+ depends_on("py-twine", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-dateutil/package.py b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
index 9801bd0d22..053ab37542 100644
--- a/var/spack/repos/builtin/packages/py-python-dateutil/package.py
+++ b/var/spack/repos/builtin/packages/py-python-dateutil/package.py
@@ -12,17 +12,17 @@ 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')
- version('2.5.2', sha256='063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b')
- version('2.4.2', sha256='3e95445c1db500a344079a47b171c45ef18f57d188dffdb0e4165c71bea8eb3d')
- version('2.4.0', sha256='439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417')
- version('2.2', sha256='eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468')
- version('1.5', sha256='6f197348b46fb8cdf9f3fcfc2a7d5a97da95db3e2e8667cf657216274fe1b009')
+ version("2.8.2", sha256="0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86")
+ version("2.8.1", sha256="73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c")
+ version("2.8.0", sha256="c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e")
+ version("2.7.5", sha256="88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02")
+ version("2.5.2", sha256="063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b")
+ version("2.4.2", sha256="3e95445c1db500a344079a47b171c45ef18f57d188dffdb0e4165c71bea8eb3d")
+ version("2.4.0", sha256="439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417")
+ version("2.2", sha256="eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468")
+ version("1.5", sha256="6f197348b46fb8cdf9f3fcfc2a7d5a97da95db3e2e8667cf657216274fe1b009")
- 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:', when='@2:', 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:", when="@2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-docs-theme/package.py b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
index 20384dce0b..aafec50ae6 100644
--- a/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
@@ -7,13 +7,12 @@ from spack.package import *
class PyPythonDocsTheme(PythonPackage):
- """This is the theme for the Python documentation.
- """
+ """This is the theme for the Python documentation."""
homepage = "https://docs.python.org/3/"
pypi = "python-docs-theme/python-docs-theme-2018.7.tar.gz"
- version('2020.1', sha256='29c33ba393bdb9377910116a0c1cc329573a4e040227c58a3293d27928d8262a')
- version('2018.7', sha256='018a5bf2a7318c9c9a8346303dac8afc6bc212d92e86561c9b95a3372714155a')
+ version("2020.1", sha256="29c33ba393bdb9377910116a0c1cc329573a4e040227c58a3293d27928d8262a")
+ version("2018.7", sha256="018a5bf2a7318c9c9a8346303dac8afc6bc212d92e86561c9b95a3372714155a")
- depends_on('py-setuptools')
+ depends_on("py-setuptools")
diff --git a/var/spack/repos/builtin/packages/py-python-dotenv/package.py b/var/spack/repos/builtin/packages/py-python-dotenv/package.py
index 4ff0e7f83f..b7d159d269 100644
--- a/var/spack/repos/builtin/packages/py-python-dotenv/package.py
+++ b/var/spack/repos/builtin/packages/py-python-dotenv/package.py
@@ -12,13 +12,13 @@ class PyPythonDotenv(PythonPackage):
homepage = "https://github.com/theskumar/python-dotenv"
pypi = "python-dotenv/python-dotenv-0.19.2.tar.gz"
- maintainers = ['jcpunk']
+ maintainers = ["jcpunk"]
- version('0.19.2', sha256='a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f')
+ version("0.19.2", sha256="a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f")
- variant('cli', default=False, description="Add commandline tools")
+ variant("cli", default=False, description="Add commandline tools")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
- depends_on('py-click@5:', when="+cli", type=('build', 'run'))
+ depends_on("py-click@5:", when="+cli", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-editor/package.py b/var/spack/repos/builtin/packages/py-python-editor/package.py
index 4b76ff6394..d8f5800929 100644
--- a/var/spack/repos/builtin/packages/py-python-editor/package.py
+++ b/var/spack/repos/builtin/packages/py-python-editor/package.py
@@ -12,7 +12,7 @@ class PyPythonEditor(PythonPackage):
pypi = "python-editor/python-editor-1.0.4.tar.gz"
- version('1.0.4', sha256='51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b')
+ version("1.0.4", sha256="51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b")
- depends_on('python@2.7.0:2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7.0:2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
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 747f6a52b8..fd7ab480c7 100644
--- a/var/spack/repos/builtin/packages/py-python-engineio/package.py
+++ b/var/spack/repos/builtin/packages/py-python-engineio/package.py
@@ -12,9 +12,9 @@ class PyPythonEngineio(PythonPackage):
layer for Socket.IO."""
homepage = "https://python-engineio.readthedocs.io/en/latest/"
- url = "https://github.com/miguelgrinberg/python-engineio/archive/v2.0.2.tar.gz"
+ url = "https://github.com/miguelgrinberg/python-engineio/archive/v2.0.2.tar.gz"
- version('2.0.2', sha256='9fbe531108a95bc61518b61c4718e2661fc81d32b54fd6af34799bf10a367a6b')
+ version("2.0.2", sha256="9fbe531108a95bc61518b61c4718e2661fc81d32b54fd6af34799bf10a367a6b")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-fmask/package.py b/var/spack/repos/builtin/packages/py-python-fmask/package.py
index c0f9f83695..d3486fed52 100644
--- a/var/spack/repos/builtin/packages/py-python-fmask/package.py
+++ b/var/spack/repos/builtin/packages/py-python-fmask/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class PyPythonFmask(PythonPackage):
"""A set of command line utilities and Python modules that implement
- the FMASK algorithm for Landsat and Sentinel-2"""
+ the FMASK algorithm for Landsat and Sentinel-2"""
homepage = "https://www.pythonfmask.org/en/latest/"
- url = "https://github.com/ubarsc/python-fmask/archive/pythonfmask-0.5.4.tar.gz"
+ url = "https://github.com/ubarsc/python-fmask/archive/pythonfmask-0.5.4.tar.gz"
- version('0.5.4', sha256='a216aa3108de837fec182602b2b4708442746be31fc1585906802437784a63fe')
+ version("0.5.4", sha256="a216aa3108de837fec182602b2b4708442746be31fc1585906802437784a63fe")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-rios', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('gdal+python', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-rios", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("gdal+python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-fsutil/package.py b/var/spack/repos/builtin/packages/py-python-fsutil/package.py
index 7631ccc935..6227197dd3 100644
--- a/var/spack/repos/builtin/packages/py-python-fsutil/package.py
+++ b/var/spack/repos/builtin/packages/py-python-fsutil/package.py
@@ -10,10 +10,10 @@ class PyPythonFsutil(PythonPackage):
"""file-system utilities for lazy devs."""
homepage = "https://github.com/fabiocaccamo/python-fsutil"
- pypi = "python-fsutil/python-fsutil-0.4.0.tar.gz"
+ pypi = "python-fsutil/python-fsutil-0.4.0.tar.gz"
- version('0.4.0', sha256='873eceb11fb488fc2d7675cd1bc74a743502f674f0be88f5e7b920c7baeefed6')
+ version("0.4.0", sha256="873eceb11fb488fc2d7675cd1bc74a743502f674f0be88f5e7b920c7baeefed6")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-gitlab/package.py b/var/spack/repos/builtin/packages/py-python-gitlab/package.py
index d2204dda10..8110c5d398 100644
--- a/var/spack/repos/builtin/packages/py-python-gitlab/package.py
+++ b/var/spack/repos/builtin/packages/py-python-gitlab/package.py
@@ -12,18 +12,18 @@ class PyPythonGitlab(PythonPackage):
homepage = "https://github.com/gpocentek/python-gitlab"
pypi = "python-gitlab/python-gitlab-0.19.tar.gz"
- version('2.10.1', sha256='7afa7d7c062fa62c173190452265a30feefb844428efc58ea5244f3b9fc0d40f')
- version('1.8.0', sha256='a6b03bc53f6e2e22b88d5ff9772b1bb360570ec82752f1def3d6eb60cda093e7')
- version('0.19', sha256='88b65591db7a10a0d9979797e4e654a113e2b93b3a559309f6092b27ab93934a')
- version('0.18', sha256='d60d67c82fedd8c3e4f0bb8b5241bf2df32307c98fdf2f02a94850e21db2d804')
- version('0.17', sha256='f79337cd8b2343195b7ac0909e0483624d4235cca78fc76196a0ee4e109c9a70')
- version('0.16', sha256='2c50dc0bd3ed7c6b1edb6e556b0f0109493ae9dfa46e3bffcf3e5e67228d7d53')
+ version("2.10.1", sha256="7afa7d7c062fa62c173190452265a30feefb844428efc58ea5244f3b9fc0d40f")
+ version("1.8.0", sha256="a6b03bc53f6e2e22b88d5ff9772b1bb360570ec82752f1def3d6eb60cda093e7")
+ version("0.19", sha256="88b65591db7a10a0d9979797e4e654a113e2b93b3a559309f6092b27ab93934a")
+ version("0.18", sha256="d60d67c82fedd8c3e4f0bb8b5241bf2df32307c98fdf2f02a94850e21db2d804")
+ version("0.17", sha256="f79337cd8b2343195b7ac0909e0483624d4235cca78fc76196a0ee4e109c9a70")
+ version("0.16", sha256="2c50dc0bd3ed7c6b1edb6e556b0f0109493ae9dfa46e3bffcf3e5e67228d7d53")
- depends_on('python@3.6:', when='@2.0.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests-toolbelt@0.9.1:', when='@2.6.0:', type=('build', 'run'))
- depends_on('py-requests@2.25.0:', when='@2.10.1:', type=('build', 'run'))
- depends_on('py-requests@2.22.0:', when='@2.0.0:', type=('build', 'run'))
- depends_on('py-requests@2.4.2:', when='@1.4.0:', type=('build', 'run'))
- depends_on('py-requests@1.0:', type=('build', 'run'))
- depends_on('py-six', when='@:1', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2.0.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests-toolbelt@0.9.1:", when="@2.6.0:", type=("build", "run"))
+ depends_on("py-requests@2.25.0:", when="@2.10.1:", type=("build", "run"))
+ depends_on("py-requests@2.22.0:", when="@2.0.0:", type=("build", "run"))
+ depends_on("py-requests@2.4.2:", when="@1.4.0:", type=("build", "run"))
+ depends_on("py-requests@1.0:", type=("build", "run"))
+ depends_on("py-six", when="@:1", type=("build", "run"))
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 88152d4c5c..e0947118e3 100644
--- a/var/spack/repos/builtin/packages/py-python-igraph/package.py
+++ b/var/spack/repos/builtin/packages/py-python-igraph/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyPythonIgraph(PythonPackage):
"""igraph is a collection of network analysis tools with the emphasis on
- efficiency, portability and ease of use."""
+ efficiency, portability and ease of use."""
homepage = "https://igraph.org/"
- url = "https://igraph.org/nightly/get/python/python-igraph-0.7.0.tar.gz"
+ url = "https://igraph.org/nightly/get/python/python-igraph-0.7.0.tar.gz"
- version('0.7.0', sha256='64ac270e80a92066d489407be1900a329df8e26844430f941ecc88771188c471')
+ version("0.7.0", sha256="64ac270e80a92066d489407be1900a329df8e26844430f941ecc88771188c471")
- depends_on('py-setuptools', type='build')
- depends_on('igraph')
+ depends_on("py-setuptools", type="build")
+ depends_on("igraph")
diff --git a/var/spack/repos/builtin/packages/py-python-jenkins/package.py b/var/spack/repos/builtin/packages/py-python-jenkins/package.py
index f0f173a8ab..33b66fda80 100644
--- a/var/spack/repos/builtin/packages/py-python-jenkins/package.py
+++ b/var/spack/repos/builtin/packages/py-python-jenkins/package.py
@@ -12,11 +12,11 @@ class PyPythonJenkins(PythonPackage):
homepage = "https://opendev.org/jjb/python-jenkins/"
pypi = "python-jenkins/python-jenkins-1.5.0.tar.gz"
- version('1.5.0', sha256='0b11f7c1dffc48579afefa8a310cba5b1c98785b9132892ff8cf5312f32ebc90')
- version('1.0.2', sha256='54aba30cf49f78f9eb64e9717ad8049dacf090731a3e0c27e6035f9ec52ff78e')
+ version("1.5.0", sha256="0b11f7c1dffc48579afefa8a310cba5b1c98785b9132892ff8cf5312f32ebc90")
+ version("1.0.2", sha256="54aba30cf49f78f9eb64e9717ad8049dacf090731a3e0c27e6035f9ec52ff78e")
- depends_on('py-setuptools', type='build')
- depends_on('py-pbr@0.8.2:', type=('build', 'run'))
- depends_on('py-six@1.3.0:', type='run')
- depends_on('py-multi-key-dict', type='run')
- depends_on('py-requests', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr@0.8.2:", type=("build", "run"))
+ depends_on("py-six@1.3.0:", type="run")
+ depends_on("py-multi-key-dict", type="run")
+ depends_on("py-requests", type="run")
diff --git a/var/spack/repos/builtin/packages/py-python-json-logger/package.py b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
index b128252902..15e5800194 100644
--- a/var/spack/repos/builtin/packages/py-python-json-logger/package.py
+++ b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
@@ -7,12 +7,12 @@ from spack.package import *
class PyPythonJsonLogger(PythonPackage):
- """"A python library adding a json log formatter."""
+ """ "A python library adding a json log formatter."""
homepage = "https://github.com/madzak/python-json-logger"
pypi = "python-json-logger/python-json-logger-0.1.11.tar.gz"
- version('0.1.11', sha256='b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281')
+ version("0.1.11", sha256="b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools")
diff --git a/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py b/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py
index 471c0721c2..25c78f3186 100644
--- a/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py
+++ b/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py
@@ -15,21 +15,21 @@ class PyPythonKeystoneclient(PythonPackage):
homepage = "https://docs.openstack.org/python-keystoneclient"
pypi = "python-keystoneclient/python-keystoneclient-4.2.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('4.2.0', sha256='0248426e483b95de395086482c077d48e45990d3b1a3e334b2ec8b2e108f5a8a')
+ version("4.2.0", sha256="0248426e483b95de395086482c077d48e45990d3b1a3e334b2ec8b2e108f5a8a")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-pbr@2.0.0:2.0,2.1.1:', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("py-pbr@2.0.0:2.0,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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-python-ldap/package.py b/var/spack/repos/builtin/packages/py-python-ldap/package.py
index a138da95ca..f948db44a9 100644
--- a/var/spack/repos/builtin/packages/py-python-ldap/package.py
+++ b/var/spack/repos/builtin/packages/py-python-ldap/package.py
@@ -14,19 +14,19 @@ class PyPythonLdap(PythonPackage):
homepage = "https://www.python-ldap.org/en/python-ldap-3.2.0/"
pypi = "python-ldap/python-ldap-3.2.0.tar.gz"
- version('3.4.0', sha256='60464c8fc25e71e0fd40449a24eae482dcd0fb7fcf823e7de627a6525b3e0d12')
- version('3.3.1', sha256='4711cacf013e298754abd70058ccc995758177fb425f1c2d30e71adfc1d00aa5')
- version('3.2.0', sha256='7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e')
- version('3.0.0', sha256='86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1')
+ version("3.4.0", sha256="60464c8fc25e71e0fd40449a24eae482dcd0fb7fcf823e7de627a6525b3e0d12")
+ version("3.3.1", sha256="4711cacf013e298754abd70058ccc995758177fb425f1c2d30e71adfc1d00aa5")
+ version("3.2.0", sha256="7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e")
+ version("3.0.0", sha256="86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1")
# See https://github.com/python-ldap/python-ldap/issues/432
- depends_on('openldap+client_only @:2.4', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-pyasn1@0.3.7:', type=('build', 'run'))
- depends_on('py-pyasn1-modules@0.1.5:', type=('build', 'run'))
- depends_on('cyrus-sasl', type='link', when='^openldap+sasl')
+ depends_on("openldap+client_only @:2.4", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-pyasn1@0.3.7:", type=("build", "run"))
+ depends_on("py-pyasn1-modules@0.1.5:", type=("build", "run"))
+ depends_on("cyrus-sasl", type="link", when="^openldap+sasl")
def patch(self):
- if self.spec.satisfies('^openldap~sasl'):
- filter_file('HAVE_SASL ', '', 'setup.cfg')
+ if self.spec.satisfies("^openldap~sasl"):
+ filter_file("HAVE_SASL ", "", "setup.cfg")
diff --git a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
index 5397967287..3e15959728 100644
--- a/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
+++ b/var/spack/repos/builtin/packages/py-python-levenshtein/package.py
@@ -13,6 +13,6 @@ class PyPythonLevenshtein(PythonPackage):
homepage = "https://github.com/ztane/python-Levenshtein"
pypi = "python-Levenshtein/python-Levenshtein-0.12.0.tar.gz"
- version('0.12.0', sha256='033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1')
+ version("0.12.0", sha256="033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-logstash/package.py b/var/spack/repos/builtin/packages/py-python-logstash/package.py
index ec3bf05ead..b02d5c0175 100644
--- a/var/spack/repos/builtin/packages/py-python-logstash/package.py
+++ b/var/spack/repos/builtin/packages/py-python-logstash/package.py
@@ -12,7 +12,7 @@ class PyPythonLogstash(PythonPackage):
homepage = "https://github.com/vklochan/python-logstash"
pypi = "python-logstash/python-logstash-0.4.6.tar.gz"
- version('0.4.6', sha256='10943e5df83f592b4d61b63ad1afff855ccc8c9467f78718f0a59809ba1fe68c')
+ version("0.4.6", sha256="10943e5df83f592b4d61b63ad1afff855ccc8c9467f78718f0a59809ba1fe68c")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-louvain/package.py b/var/spack/repos/builtin/packages/py-python-louvain/package.py
index c1ef658868..dc357cbb5d 100644
--- a/var/spack/repos/builtin/packages/py-python-louvain/package.py
+++ b/var/spack/repos/builtin/packages/py-python-louvain/package.py
@@ -12,13 +12,13 @@ class PyPythonLouvain(PythonPackage):
It uses the louvain method described in Fast unfolding of communities
in large networks, Vincent D Blondel, Jean-Loup Guillaume, Renaud
Lambiotte, Renaud Lefebvre, Journal of Statistical Mechanics: Theory
- and Experiment 2008(10), P10008 (12pp) """
+ and Experiment 2008(10), P10008 (12pp)"""
homepage = "https://github.com/taynaud/python-louvain"
- pypi = "python-louvain/python-louvain-0.14.tar.gz"
+ pypi = "python-louvain/python-louvain-0.14.tar.gz"
- version('0.15', sha256='2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb')
+ version("0.15", sha256="2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-lzo/package.py b/var/spack/repos/builtin/packages/py-python-lzo/package.py
index 7b618cff1f..be540f7e65 100644
--- a/var/spack/repos/builtin/packages/py-python-lzo/package.py
+++ b/var/spack/repos/builtin/packages/py-python-lzo/package.py
@@ -13,8 +13,8 @@ class PyPythonLzo(PythonPackage):
homepage = "https://github.com/jd-boyd/python-lzo"
pypi = "python-lzo/python-lzo-1.12.tar.gz"
- version('1.12', sha256='97a8e46825e8f1abd84c2a3372bc09adae9745a5be5d3af2692cd850dac35345')
+ version("1.12", sha256="97a8e46825e8f1abd84c2a3372bc09adae9745a5be5d3af2692cd850dac35345")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('lzo')
+ depends_on("py-setuptools", type="build")
+ depends_on("lzo")
diff --git a/var/spack/repos/builtin/packages/py-python-magic/package.py b/var/spack/repos/builtin/packages/py-python-magic/package.py
index b3d246acc5..5abf002a86 100644
--- a/var/spack/repos/builtin/packages/py-python-magic/package.py
+++ b/var/spack/repos/builtin/packages/py-python-magic/package.py
@@ -16,9 +16,9 @@ class PyPythonMagic(PythonPackage):
homepage = "https://github.com/ahupp/python-magic"
pypi = "python-magic/python-magic-0.4.15.tar.gz"
- version('0.4.24', sha256='de800df9fb50f8ec5974761054a708af6e4246b03b4bdaee993f948947b0ebcf')
- version('0.4.15', sha256='f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5')
+ version("0.4.24", sha256="de800df9fb50f8ec5974761054a708af6e4246b03b4bdaee993f948947b0ebcf")
+ version("0.4.15", sha256="f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5")
- depends_on('python@2.7.0:2.7,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('file', type='run')
+ depends_on("python@2.7.0:2.7,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("file", type="run")
diff --git a/var/spack/repos/builtin/packages/py-python-mapnik/package.py b/var/spack/repos/builtin/packages/py-python-mapnik/package.py
index 25d1d316bc..8a09118b64 100644
--- a/var/spack/repos/builtin/packages/py-python-mapnik/package.py
+++ b/var/spack/repos/builtin/packages/py-python-mapnik/package.py
@@ -13,25 +13,25 @@ class PyPythonMapnik(PythonPackage):
"""
homepage = "https://github.com/mapnik/python-mapnik"
- url = "https://github.com/mapnik/python-mapnik/archive/v3.0.16.tar.gz"
+ url = "https://github.com/mapnik/python-mapnik/archive/v3.0.16.tar.gz"
- version('3.0.16', sha256='643117752fa09668a1e26a360d13cd137329ae2013eb14ad92ab72fbc479fc70')
- version('3.0.13', sha256='ced684745e778c0cac0edba89c09c6f9b9f1db18fc12744ed4710a88b78a3389')
+ version("3.0.16", sha256="643117752fa09668a1e26a360d13cd137329ae2013eb14ad92ab72fbc479fc70")
+ version("3.0.13", sha256="ced684745e778c0cac0edba89c09c6f9b9f1db18fc12744ed4710a88b78a3389")
- depends_on('py-setuptools', type='build')
- depends_on('mapnik', type=('build', 'link', 'run'))
- depends_on('boost +python+thread')
+ depends_on("py-setuptools", type="build")
+ depends_on("mapnik", type=("build", "link", "run"))
+ depends_on("boost +python+thread")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
# py-pycairo is need by mapnik.printing
- depends_on('py-pycairo', type=('build', 'run'))
+ depends_on("py-pycairo", type=("build", "run"))
# Package can't find boost_python without the following
def setup_build_environment(self, env):
# Inform the package that boost python library is of form
# 'libboost_python27.so' as opposed to 'libboost_python.so'
- py_ver = str(self.spec['python'].version.up_to(2).joined)
- env.set('BOOST_PYTHON_LIB', 'boost_python' + py_ver)
+ py_ver = str(self.spec["python"].version.up_to(2).joined)
+ env.set("BOOST_PYTHON_LIB", "boost_python" + py_ver)
diff --git a/var/spack/repos/builtin/packages/py-python-markdown-math/package.py b/var/spack/repos/builtin/packages/py-python-markdown-math/package.py
index cddebd9297..4354a16bbc 100644
--- a/var/spack/repos/builtin/packages/py-python-markdown-math/package.py
+++ b/var/spack/repos/builtin/packages/py-python-markdown-math/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class PyPythonMarkdownMath(PythonPackage):
"""Math extension for Python-Markdown"""
- pypi = "python-markdown-math/python-markdown-math-0.8.tar.gz"
+ pypi = "python-markdown-math/python-markdown-math-0.8.tar.gz"
- maintainers = ['wscullin']
+ maintainers = ["wscullin"]
- version('0.8', sha256='8564212af679fc18d53f38681f16080fcd3d186073f23825c7ce86fadd3e3635')
+ version("0.8", sha256="8564212af679fc18d53f38681f16080fcd3d186073f23825c7ce86fadd3e3635")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools@30.3:', type='build')
+ depends_on("py-setuptools@30.3:", type="build")
- depends_on('py-markdown@3.0:', type=('build', 'run'))
+ depends_on("py-markdown@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-meep/package.py b/var/spack/repos/builtin/packages/py-python-meep/package.py
index 7b3ee7dca3..b2aec9d0a3 100644
--- a/var/spack/repos/builtin/packages/py-python-meep/package.py
+++ b/var/spack/repos/builtin/packages/py-python-meep/package.py
@@ -11,28 +11,28 @@ class PyPythonMeep(PythonPackage):
Meep-simulations with Python"""
homepage = "https://launchpad.net/python-meep"
- url = "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar"
+ url = "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar"
- version('1.4.2', sha256='d91428aa4727c308383cea31ca9cdacee409320c686e9a8368769933e56c8762')
+ version("1.4.2", sha256="d91428aa4727c308383cea31ca9cdacee409320c686e9a8368769933e56c8762")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
- depends_on('python@2.6:2.7', type=('build', 'run'))
+ depends_on("python@2.6:2.7", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
- depends_on('mpi', when='+mpi')
- depends_on('meep~mpi', when='~mpi')
- depends_on('meep+mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("meep~mpi", when="~mpi")
+ depends_on("meep+mpi", when="+mpi")
# As of SWIG 3.0.3, Python-style comments are now treated as
# pre-processor directives. Use older SWIG. But not too old,
# or else it can't handle newer C++ compilers and flags.
- depends_on('swig@1.3.39:3.0.2')
+ depends_on("swig@1.3.39:3.0.2")
def patch(self):
- if '+mpi' in self.spec:
- copy('setup-mpi.py', 'setup.py')
+ if "+mpi" in self.spec:
+ copy("setup-mpi.py", "setup.py")
diff --git a/var/spack/repos/builtin/packages/py-python-memcached/package.py b/var/spack/repos/builtin/packages/py-python-memcached/package.py
index c7c3356885..88be8be17c 100644
--- a/var/spack/repos/builtin/packages/py-python-memcached/package.py
+++ b/var/spack/repos/builtin/packages/py-python-memcached/package.py
@@ -14,7 +14,7 @@ class PyPythonMemcached(PythonPackage):
pypi = "python-memcached/python-memcached-1.59.tar.gz"
- version('1.59', sha256='a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f')
+ version("1.59", sha256="a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.4.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-oauth2/package.py b/var/spack/repos/builtin/packages/py-python-oauth2/package.py
index baccfec4d4..4f49389796 100644
--- a/var/spack/repos/builtin/packages/py-python-oauth2/package.py
+++ b/var/spack/repos/builtin/packages/py-python-oauth2/package.py
@@ -12,6 +12,6 @@ class PyPythonOauth2(PythonPackage):
pypi = "python-oauth2/python-oauth2-1.1.1.tar.gz"
- version('1.1.1', sha256='d7a8544927ac18215ba5317edd8f640a5f1f0593921bcf3ce862178312c8c9a4')
+ version("1.1.1", sha256="d7a8544927ac18215ba5317edd8f640a5f1f0593921bcf3ce862178312c8c9a4")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-picard/package.py b/var/spack/repos/builtin/packages/py-python-picard/package.py
index 3181c7eae8..504f07a970 100644
--- a/var/spack/repos/builtin/packages/py-python-picard/package.py
+++ b/var/spack/repos/builtin/packages/py-python-picard/package.py
@@ -10,14 +10,14 @@ class PyPythonPicard(PythonPackage):
"""Preconditoned ICA for Real Data."""
homepage = "https://pierreablin.github.io/picard/"
- pypi = "python-picard/python-picard-0.6.tar.gz"
+ pypi = "python-picard/python-picard-0.6.tar.gz"
- version('0.6', sha256='dad377c9a50f9850f85841eba0ffb58ad557885ca93364bb73153f33210b52e2')
+ version("0.6", sha256="dad377c9a50f9850f85841eba0ffb58ad557885ca93364bb73153f33210b52e2")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.8:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3:', type=('build', 'run'))
- depends_on('py-scipy@0.16:', type=('build', 'run'))
- depends_on('py-numexpr@2.0:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.23:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.8:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3:", type=("build", "run"))
+ depends_on("py-scipy@0.16:", type=("build", "run"))
+ depends_on("py-numexpr@2.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.23:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
index e588c22292..aa4a672841 100644
--- a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
+++ b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
@@ -12,9 +12,9 @@ class PyPythonRapidjson(PythonPackage):
homepage = "https://github.com/python-rapidjson/python-rapidjson"
pypi = "python-rapidjson/python-rapidjson-0.9.1.tar.gz"
- version('1.5', sha256='04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f')
- version('0.9.1', sha256='ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1')
+ version("1.5", sha256="04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f")
+ version("0.9.1", sha256="ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.5:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.5:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-python-slugify/package.py b/var/spack/repos/builtin/packages/py-python-slugify/package.py
index da11f84738..9f7d2bf909 100644
--- a/var/spack/repos/builtin/packages/py-python-slugify/package.py
+++ b/var/spack/repos/builtin/packages/py-python-slugify/package.py
@@ -12,8 +12,8 @@ class PyPythonSlugify(PythonPackage):
homepage = "https://github.com/un33k/python-slugify"
pypi = "python-slugify/python-slugify-4.0.0.tar.gz"
- version('4.0.0', sha256='a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c')
+ version("4.0.0", sha256="a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-text-unidecode@1.3:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-text-unidecode@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-socketio/package.py b/var/spack/repos/builtin/packages/py-python-socketio/package.py
index 0006aaffd9..c4a987a4de 100644
--- a/var/spack/repos/builtin/packages/py-python-socketio/package.py
+++ b/var/spack/repos/builtin/packages/py-python-socketio/package.py
@@ -12,13 +12,16 @@ class PyPythonSocketio(PythonPackage):
homepage = "https://github.com/miguelgrinberg/python-socketio"
pypi = "python-socketio/python-socketio-1.8.4.tar.gz"
- version('1.8.4', sha256='13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc')
+ version("1.8.4", sha256="13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc")
- variant('eventlet', default=True,
- description="Pulls in optional eventlet dependency, required"
- " for using the zmq implementation.")
+ variant(
+ "eventlet",
+ default=True,
+ description="Pulls in optional eventlet dependency, required"
+ " for using the zmq implementation.",
+ )
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.9.0:', type=("build", "run"))
- depends_on('py-python-engineio@1.2.1:', type=("build", "run"))
- depends_on('py-eventlet', when='+eventlet', type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.9.0:", type=("build", "run"))
+ depends_on("py-python-engineio@1.2.1:", type=("build", "run"))
+ depends_on("py-eventlet", when="+eventlet", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-subunit/package.py b/var/spack/repos/builtin/packages/py-python-subunit/package.py
index 55df709499..748b3901a0 100644
--- a/var/spack/repos/builtin/packages/py-python-subunit/package.py
+++ b/var/spack/repos/builtin/packages/py-python-subunit/package.py
@@ -12,8 +12,8 @@ class PyPythonSubunit(PythonPackage):
homepage = "https://launchpad.net/subunit"
pypi = "python-subunit/python-subunit-1.3.0.tar.gz"
- version('1.3.0', sha256='9607edbee4c1e5a30ff88549ce8d9feb0b9bcbcb5e55033a9d76e86075465cbb')
+ version("1.3.0", sha256="9607edbee4c1e5a30ff88549ce8d9feb0b9bcbcb5e55033a9d76e86075465cbb")
- depends_on('py-setuptools', type='build')
- depends_on('py-extras', type=('build', 'run'))
- depends_on('py-testtools@0.9.34:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-extras", type=("build", "run"))
+ depends_on("py-testtools@0.9.34:", type=("build", "run"))
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 d5c57e7651..2d480e4ec1 100644
--- a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
+++ b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
@@ -12,24 +12,24 @@ class PyPythonSwiftclient(PythonPackage):
homepage = "https://docs.openstack.org/python-swiftclient"
pypi = "python-swiftclient/python-swiftclient-3.9.0.tar.gz"
- maintainers = ['ajkotobi']
+ 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')
+ 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")
- variant('keystone', default=False, description='Enable keystone authentication')
+ 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("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-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-python-keystoneclient@0.7.0:', when='+keystone', type=('build', 'run'))
+ depends_on("py-python-keystoneclient@0.7.0:", when="+keystone", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-utils/package.py b/var/spack/repos/builtin/packages/py-python-utils/package.py
index fce4239229..22093fb657 100644
--- a/var/spack/repos/builtin/packages/py-python-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-python-utils/package.py
@@ -14,8 +14,8 @@ class PyPythonUtils(PythonPackage):
homepage = "https://github.com/WoLpH/python-utils"
pypi = "python-utils/python-utils-2.4.0.tar.gz"
- version('2.4.0', sha256='f21fc09ff58ea5ebd1fd2e8ef7f63e39d456336900f26bdc9334a03a3f7d8089')
- version('2.3.0', sha256='34aaf26b39b0b86628008f2ae0ac001b30e7986a8d303b61e1357dfcdad4f6d3')
+ version("2.4.0", sha256="f21fc09ff58ea5ebd1fd2e8ef7f63e39d456336900f26bdc9334a03a3f7d8089")
+ version("2.3.0", sha256="34aaf26b39b0b86628008f2ae0ac001b30e7986a8d303b61e1357dfcdad4f6d3")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-xlib/package.py b/var/spack/repos/builtin/packages/py-python-xlib/package.py
index 3cd29aec0b..67915547e2 100644
--- a/var/spack/repos/builtin/packages/py-python-xlib/package.py
+++ b/var/spack/repos/builtin/packages/py-python-xlib/package.py
@@ -14,11 +14,11 @@ class PyPythonXlib(PythonPackage):
plxlib) which were interfaces to the C Xlib."""
homepage = "https://github.com/python-xlib/python-xlib"
- pypi = "python-xlib/python-xlib-0.30.tar.gz"
+ pypi = "python-xlib/python-xlib-0.30.tar.gz"
- version('0.30', sha256='74131418faf9e7b83178c71d9d80297fbbd678abe99ae9258f5a20cd027acb5f')
+ version("0.30", sha256="74131418faf9e7b83178c71d9d80297fbbd678abe99ae9258f5a20cd027acb5f")
- depends_on('python@2.7,3.3:', type=('build', 'run'))
- depends_on('py-setuptools@30.3.0:', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-six@1.10.0:', type=('build', 'run'))
+ depends_on("python@2.7,3.3:", type=("build", "run"))
+ depends_on("py-setuptools@30.3.0:", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-six@1.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python-xmp-toolkit/package.py b/var/spack/repos/builtin/packages/py-python-xmp-toolkit/package.py
index e2254f90cb..79ac9dcd52 100644
--- a/var/spack/repos/builtin/packages/py-python-xmp-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-python-xmp-toolkit/package.py
@@ -10,11 +10,11 @@ class PyPythonXmpToolkit(PythonPackage):
"""Python XMP Toolkit for working with metadata."""
homepage = "https://github.com/python-xmp-toolkit/python-xmp-toolkit"
- pypi = "python-xmp-toolkit/python-xmp-toolkit-2.0.1.tar.gz"
+ pypi = "python-xmp-toolkit/python-xmp-toolkit-2.0.1.tar.gz"
- version('2.0.1', sha256='f8d912946ff9fd46ed5c7c355aa5d4ea193328b3f200909ef32d9a28a1419a38')
+ version("2.0.1", sha256="f8d912946ff9fd46ed5c7c355aa5d4ea193328b3f200909ef32d9a28a1419a38")
- depends_on('python@2.6:2.7,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('exempi@2.2.0:', type=('build', 'run'))
+ depends_on("python@2.6:2.7,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("exempi@2.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-python3-xlib/package.py b/var/spack/repos/builtin/packages/py-python3-xlib/package.py
index b283a07d93..7f0c39ebb6 100644
--- a/var/spack/repos/builtin/packages/py-python3-xlib/package.py
+++ b/var/spack/repos/builtin/packages/py-python3-xlib/package.py
@@ -9,10 +9,10 @@ from spack.package import *
class PyPython3Xlib(PythonPackage):
"""python3-xlib is python3 version of python-xlib."""
- pypi = "python3-xlib/python3-xlib-0.15.tar.gz"
+ pypi = "python3-xlib/python3-xlib-0.15.tar.gz"
- version('0.15', sha256='dc4245f3ae4aa5949c1d112ee4723901ade37a96721ba9645f2bfa56e5b383f8')
+ version("0.15", sha256="dc4245f3ae4aa5949c1d112ee4723901ade37a96721ba9645f2bfa56e5b383f8")
- depends_on('python@3:', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pythonqwt/package.py b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
index 3c18e1d7f6..8c26ed3092 100644
--- a/var/spack/repos/builtin/packages/py-pythonqwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
@@ -12,9 +12,9 @@ class PyPythonqwt(PythonPackage):
homepage = "https://github.com/PierreRaybaut/PythonQwt"
pypi = "PythonQwt/PythonQwt-0.5.5.zip"
- version('0.5.5', sha256='1f13cc8b555a57f8fe0f806d6c2f6d847050e4d837649503932b81316d12788a')
+ version("0.5.5", sha256="1f13cc8b555a57f8fe0f806d6c2f6d847050e4d837649503932b81316d12788a")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.3:', type=('build', 'run'))
- depends_on('py-sip', type=('build', 'run'))
- depends_on('py-pyqt4', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.3:", type=("build", "run"))
+ depends_on("py-sip", type=("build", "run"))
+ depends_on("py-pyqt4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pythonsollya/package.py b/var/spack/repos/builtin/packages/py-pythonsollya/package.py
index 7060947873..4487065cc9 100644
--- a/var/spack/repos/builtin/packages/py-pythonsollya/package.py
+++ b/var/spack/repos/builtin/packages/py-pythonsollya/package.py
@@ -10,23 +10,31 @@ class PyPythonsollya(PythonPackage):
"""Python wrapper for the Sollya library"""
homepage = "Python wrapper for the Sollya library"
- url = "https://gitlab.com/metalibm-dev/pythonsollya/-/archive/release-0.4.0-alpha0/pythonsollya-release-0.4.0-alpha0.tar.gz"
+ url = "https://gitlab.com/metalibm-dev/pythonsollya/-/archive/release-0.4.0-alpha0/pythonsollya-release-0.4.0-alpha0.tar.gz"
- version('0.4.0-alpha0', sha256='faac899744c92b1d20980cadef309cd5610d79722322e97940ff142c207c41b5')
- version('0.3.0', url='https://gitlab.com/metalibm-dev/pythonsollya/-/archive/0.3/pythonsollya-0.3.tar.gz',
- sha256='cdccd0c5549247ad7498546095544d8d01e78bcb4a3e55c32d6daea6b845b6b9', preferred=True)
+ version(
+ "0.4.0-alpha0", sha256="faac899744c92b1d20980cadef309cd5610d79722322e97940ff142c207c41b5"
+ )
+ version(
+ "0.3.0",
+ url="https://gitlab.com/metalibm-dev/pythonsollya/-/archive/0.3/pythonsollya-0.3.tar.gz",
+ sha256="cdccd0c5549247ad7498546095544d8d01e78bcb4a3e55c32d6daea6b845b6b9",
+ preferred=True,
+ )
- depends_on('py-cython', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('libffi', type='build')
- depends_on('sollya', type=('build', 'link'))
- depends_on('py-bigfloat', type=('build', 'run'))
- depends_on('mpfi', type=('build', 'link'))
+ depends_on("py-cython", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("libffi", type="build")
+ depends_on("sollya", type=("build", "link"))
+ depends_on("py-bigfloat", type=("build", "run"))
+ depends_on("mpfi", type=("build", "link"))
- @run_before('install')
+ @run_before("install")
def patch(self):
- filter_file('PYTHON ?= python2',
- 'PYTHON ?= ' + self.spec['python'].command.path,
- 'GNUmakefile',
- string=True)
+ filter_file(
+ "PYTHON ?= python2",
+ "PYTHON ?= " + self.spec["python"].command.path,
+ "GNUmakefile",
+ string=True,
+ )
diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py
index 0f4e5dba01..8a05c43e06 100644
--- a/var/spack/repos/builtin/packages/py-pythran/package.py
+++ b/var/spack/repos/builtin/packages/py-pythran/package.py
@@ -12,59 +12,58 @@ class PyPythran(PythonPackage):
"""Ahead of Time compiler for numeric kernels."""
homepage = "https://github.com/serge-sans-paille/pythran"
- pypi = "pythran/pythran-0.9.11.tar.gz"
+ pypi = "pythran/pythran-0.9.11.tar.gz"
- version('0.11.0', sha256='0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875')
- version('0.10.0', sha256='9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf')
- version('0.9.12', sha256='5d50dc74dca1d3f902941865acbae981fc24cceeb9d54673d68d6b5c8c1b0001')
- version('0.9.11', sha256='a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667')
- version('0.9.10', sha256='8fa1d19624cb2950e5a18974fdcb0dffc57e1a821049dc95df09563edd673915')
- version('0.9.9', sha256='aaabc97f30ad46d1d62303323de6697d2933779afa4666c15b0f433cb50825b1')
- version('0.9.8', sha256='81c10a16fce9ed41211fb70e82fda6984e93f4602a164934648db8cbb08156b3')
- version('0.9.7', sha256='ac36a94bd862e3c80dae585158b90d3e7c5c05fd252819f3ca7d880a1c7c1012')
- version('0.9.6', sha256='2d102a55d9d53f77cf0f4a904eeb5cbaa8fe76e4892319a859fc618401e2f6ba')
- version('0.9.5', sha256='815a778d6889593c0b8ddf08052cff36a504ce4cc8bd8d7bfb856a212f91486e')
- version('0.9.4', sha256='ec9c91f5331454263b064027292556a184a9f55a50f8615e09b08f57a4909855')
- version('0.9.3', sha256='217427a8225a331fdc8f3efe57871aed775cdf2c6e847a0a83df0aaae4b02493')
+ version("0.11.0", sha256="0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875")
+ version("0.10.0", sha256="9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf")
+ version("0.9.12", sha256="5d50dc74dca1d3f902941865acbae981fc24cceeb9d54673d68d6b5c8c1b0001")
+ version("0.9.11", sha256="a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667")
+ version("0.9.10", sha256="8fa1d19624cb2950e5a18974fdcb0dffc57e1a821049dc95df09563edd673915")
+ version("0.9.9", sha256="aaabc97f30ad46d1d62303323de6697d2933779afa4666c15b0f433cb50825b1")
+ version("0.9.8", sha256="81c10a16fce9ed41211fb70e82fda6984e93f4602a164934648db8cbb08156b3")
+ version("0.9.7", sha256="ac36a94bd862e3c80dae585158b90d3e7c5c05fd252819f3ca7d880a1c7c1012")
+ version("0.9.6", sha256="2d102a55d9d53f77cf0f4a904eeb5cbaa8fe76e4892319a859fc618401e2f6ba")
+ version("0.9.5", sha256="815a778d6889593c0b8ddf08052cff36a504ce4cc8bd8d7bfb856a212f91486e")
+ version("0.9.4", sha256="ec9c91f5331454263b064027292556a184a9f55a50f8615e09b08f57a4909855")
+ version("0.9.3", sha256="217427a8225a331fdc8f3efe57871aed775cdf2c6e847a0a83df0aaae4b02493")
- depends_on('python@3:', when='@0.9.6:', type=('build', 'run'))
- depends_on('python@2.7:', when='@:0.9.5', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build', when='@:0.9')
- depends_on('py-ply@3.4:', type=('build', 'run'))
- depends_on('py-networkx@2:', when='@:0.9.11', type=('build', 'run'))
- depends_on('py-decorator', when='@:0.9.11', type=('build', 'run'))
- depends_on('py-gast@0.5.0:0.5', when='@0.9.12:', type=('build', 'run'))
- depends_on('py-gast@0.4.0:0.4', when='@0.9.7:0.9.11', type=('build', 'run'))
- depends_on('py-gast@0.3.3:0.3', when='@0.9.6', type=('build', 'run'))
- depends_on('py-gast@0.3.0:', when='@0.9.4:0.9.5', type=('build', 'run'))
- depends_on('py-gast', when='@:0.9.3', type=('build', 'run'))
- depends_on('py-six', when='@:0.9.11', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-beniget@0.4.0:0.4', when='@0.9.12:', type=('build', 'run'))
- depends_on('py-beniget@0.3.0:0.3', when='@0.9.7:0.9.11', type=('build', 'run'))
- depends_on('py-beniget@0.2.1:0.2', 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'))
+ depends_on("python@3:", when="@0.9.6:", type=("build", "run"))
+ depends_on("python@2.7:", when="@:0.9.5", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build", when="@:0.9")
+ depends_on("py-ply@3.4:", type=("build", "run"))
+ depends_on("py-networkx@2:", when="@:0.9.11", type=("build", "run"))
+ depends_on("py-decorator", when="@:0.9.11", type=("build", "run"))
+ depends_on("py-gast@0.5.0:0.5", when="@0.9.12:", type=("build", "run"))
+ depends_on("py-gast@0.4.0:0.4", when="@0.9.7:0.9.11", type=("build", "run"))
+ depends_on("py-gast@0.3.3:0.3", when="@0.9.6", type=("build", "run"))
+ depends_on("py-gast@0.3.0:", when="@0.9.4:0.9.5", type=("build", "run"))
+ depends_on("py-gast", when="@:0.9.3", type=("build", "run"))
+ depends_on("py-six", when="@:0.9.11", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-beniget@0.4.0:0.4", when="@0.9.12:", type=("build", "run"))
+ depends_on("py-beniget@0.3.0:0.3", when="@0.9.7:0.9.11", type=("build", "run"))
+ depends_on("py-beniget@0.2.1:0.2", 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"))
# https://github.com/serge-sans-paille/pythran/pull/1856
- patch('omp.patch', when='@0.9.10:0.9.12')
+ patch("omp.patch", when="@0.9.10:0.9.12")
# https://github.com/serge-sans-paille/pythran/issues/1937
- conflicts('%apple-clang@13:', when='@:0.10')
+ conflicts("%apple-clang@13:", when="@:0.10")
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)
+ 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'):
+ if self.spec.satisfies("%apple-clang"):
env.prepend_path(
- 'DYLD_FALLBACK_LIBRARY_PATH',
- self.spec['llvm-openmp'].libs.directories[0]
+ "DYLD_FALLBACK_LIBRARY_PATH", self.spec["llvm-openmp"].libs.directories[0]
)
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/py-pytimeparse/package.py b/var/spack/repos/builtin/packages/py-pytimeparse/package.py
index c726df3757..f48c01daf5 100644
--- a/var/spack/repos/builtin/packages/py-pytimeparse/package.py
+++ b/var/spack/repos/builtin/packages/py-pytimeparse/package.py
@@ -12,6 +12,6 @@ class PyPytimeparse(PythonPackage):
homepage = "https://github.com/wroberts/pytimeparse"
pypi = "pytimeparse/pytimeparse-1.1.8.tar.gz"
- version('1.1.8', sha256='e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a')
+ version("1.1.8", sha256="e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytoml/package.py b/var/spack/repos/builtin/packages/py-pytoml/package.py
index f0edbe0f0a..6c7e7c3ef1 100644
--- a/var/spack/repos/builtin/packages/py-pytoml/package.py
+++ b/var/spack/repos/builtin/packages/py-pytoml/package.py
@@ -12,8 +12,8 @@ class PyPytoml(PythonPackage):
Deprecated: use py-toml instead."""
homepage = "https://github.com/avakar/pytoml"
- pypi = "pytoml/pytoml-0.1.21.tar.gz"
+ pypi = "pytoml/pytoml-0.1.21.tar.gz"
- version('0.1.21', sha256='8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7')
+ version("0.1.21", sha256="8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytools/package.py b/var/spack/repos/builtin/packages/py-pytools/package.py
index c974e47f4b..aae5599e95 100644
--- a/var/spack/repos/builtin/packages/py-pytools/package.py
+++ b/var/spack/repos/builtin/packages/py-pytools/package.py
@@ -11,15 +11,15 @@ class PyPytools(PythonPackage):
pypi = "pytools/pytools-2019.1.1.tar.gz"
- version('2021.2.9', sha256='db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755')
- version('2019.1.1', sha256='ce2d702ae4ef10a70197b00b93141461140d00578f2a862fa946ca1446a300db')
- version('2016.2.6', sha256='6dd49932b8f81a8b622685cff3dd515e351a9290aef0fd5d020e4df00c06aa95')
+ version("2021.2.9", sha256="db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755")
+ version("2019.1.1", sha256="ce2d702ae4ef10a70197b00b93141461140d00578f2a862fa946ca1446a300db")
+ version("2016.2.6", sha256="6dd49932b8f81a8b622685cff3dd515e351a9290aef0fd5d020e4df00c06aa95")
- depends_on('py-setuptools', type='build')
- depends_on('py-decorator@3.2.0:', type=('build', 'run'), when='@:2019.1.1')
- depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
- depends_on('py-six@1.8.0:', type=('build', 'run'), when='@:2019.1.1')
- depends_on('py-numpy@1.6.0:', type=('build', 'run'))
- depends_on('py-dataclasses@0.7:', type=('build', 'run'), when='@2021.2.9: ^python@:3.6')
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:3', type=('build', 'run'), when='@2021.2.9:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-decorator@3.2.0:", type=("build", "run"), when="@:2019.1.1")
+ depends_on("py-appdirs@1.4.0:", type=("build", "run"))
+ depends_on("py-six@1.8.0:", type=("build", "run"), when="@:2019.1.1")
+ depends_on("py-numpy@1.6.0:", type=("build", "run"))
+ depends_on("py-dataclasses@0.7:", type=("build", "run"), when="@2021.2.9: ^python@:3.6")
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:3", type=("build", "run"), when="@2021.2.9:")
diff --git a/var/spack/repos/builtin/packages/py-pytorch-gradual-warmup-lr/package.py b/var/spack/repos/builtin/packages/py-pytorch-gradual-warmup-lr/package.py
index 2bc8152d35..ca2f2645b1 100644
--- a/var/spack/repos/builtin/packages/py-pytorch-gradual-warmup-lr/package.py
+++ b/var/spack/repos/builtin/packages/py-pytorch-gradual-warmup-lr/package.py
@@ -12,11 +12,11 @@ class PyPytorchGradualWarmupLr(PythonPackage):
homepage = "https://github.com/ildoonet/pytorch-gradual-warmup-lr"
url = "https://github.com/ildoonet/pytorch-gradual-warmup-lr/archive/v0.3.2.tar.gz"
- version('0.3.2', sha256='3ff3ccd0f5130a3c2ffe3bf7e43e7f85d599e0de3ccb42a1704809222e069a18')
- version('0.3.1', sha256='3070c7999dc8b6322089ed6a7fc375e1ef2661524097bf461016013b21177819')
- version('0.3', sha256='a4a6066461ec5a00e49bb3afa956f9135684b46006f0dcb46f39a19b57d49acb')
- version('0.2', sha256='83dded13e630d4f8c3b247f49d1271ebecdff0a53979ba2a1f361b3479ff5b61')
- version('0.1.1', sha256='aaac344996570a680171d1dc164254a51c870a3f5e9c9b28ad5d66de2a4e3c80')
- version('0.1', sha256='830e0e16a415700543ba7622af82238c4e41013de513b6d14417fb438128c84d')
+ version("0.3.2", sha256="3ff3ccd0f5130a3c2ffe3bf7e43e7f85d599e0de3ccb42a1704809222e069a18")
+ version("0.3.1", sha256="3070c7999dc8b6322089ed6a7fc375e1ef2661524097bf461016013b21177819")
+ version("0.3", sha256="a4a6066461ec5a00e49bb3afa956f9135684b46006f0dcb46f39a19b57d49acb")
+ version("0.2", sha256="83dded13e630d4f8c3b247f49d1271ebecdff0a53979ba2a1f361b3479ff5b61")
+ version("0.1.1", sha256="aaac344996570a680171d1dc164254a51c870a3f5e9c9b28ad5d66de2a4e3c80")
+ version("0.1", sha256="830e0e16a415700543ba7622af82238c4e41013de513b6d14417fb438128c84d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 b2e7762f0c..12a6463ed9 100644
--- a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py
+++ b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py
@@ -10,52 +10,52 @@ class PyPytorchLightning(PythonPackage):
"""PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers."""
homepage = "https://github.com/PyTorchLightning/pytorch-lightning"
- pypi = "pytorch-lightning/pytorch-lightning-1.2.10.tar.gz"
+ pypi = "pytorch-lightning/pytorch-lightning-1.2.10.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('1.6.5', sha256='8d521f2619b9db2ada5bbaf9713330d01460e75a11e4bc0bc2ca25fd37c47c57')
- version('1.6.4', sha256='5459f2c3e67676ec59e94576d1499e9559d214e7df41eadd135db64b4ccf54b9')
- version('1.6.3', sha256='beb1f36a6dae91f5fef0959a04af1092dff4f3f4d99c20f0e033f84e615903e3')
- version('1.6.2', sha256='ccb5e8593837afc9ecf914ee66bf171ee0e08a8d6673531a617b0a61863a9611')
- version('1.6.1', sha256='280b9c7f84f9a6b6d2efb91c7b3caad50031e318d37cfe052f3047faf1f0a2de')
- version('1.6.0', sha256='1ab6f15750862cfbac48ad7be420050c8c353a060da7c2575f9e267158a33d42')
- version('1.5.3', sha256='a206169a0c4356366a7edadb5ebd2f38e9a611ff78265ce93b767662682f5620')
- version('1.4.1', sha256='1d1128aeb5d0e523d2204c4d9399d65c4e5f41ff0370e96d694a823af5e8e6f3')
- version('1.4.0', sha256='6529cf064f9dc323c94f3ce84b56ee1a05db1b0ab17db77c4d15aa36e34da81f')
- version('1.3.8', sha256='60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0')
- version('1.2.10', sha256='2d8365e30ded0c20e73ce6e5b6028478ae460b8fd33727df2275666df005a301')
+ version("1.6.5", sha256="8d521f2619b9db2ada5bbaf9713330d01460e75a11e4bc0bc2ca25fd37c47c57")
+ version("1.6.4", sha256="5459f2c3e67676ec59e94576d1499e9559d214e7df41eadd135db64b4ccf54b9")
+ version("1.6.3", sha256="beb1f36a6dae91f5fef0959a04af1092dff4f3f4d99c20f0e033f84e615903e3")
+ version("1.6.2", sha256="ccb5e8593837afc9ecf914ee66bf171ee0e08a8d6673531a617b0a61863a9611")
+ version("1.6.1", sha256="280b9c7f84f9a6b6d2efb91c7b3caad50031e318d37cfe052f3047faf1f0a2de")
+ version("1.6.0", sha256="1ab6f15750862cfbac48ad7be420050c8c353a060da7c2575f9e267158a33d42")
+ version("1.5.3", sha256="a206169a0c4356366a7edadb5ebd2f38e9a611ff78265ce93b767662682f5620")
+ version("1.4.1", sha256="1d1128aeb5d0e523d2204c4d9399d65c4e5f41ff0370e96d694a823af5e8e6f3")
+ version("1.4.0", sha256="6529cf064f9dc323c94f3ce84b56ee1a05db1b0ab17db77c4d15aa36e34da81f")
+ version("1.3.8", sha256="60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0")
+ version("1.2.10", sha256="2d8365e30ded0c20e73ce6e5b6028478ae460b8fd33727df2275666df005a301")
- depends_on('python@3.7:', when='@1.6:', type=('build', 'run'))
- depends_on('python@3.6:', when='@:1.5', type=('build', 'run'))
- 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.8:', when='@1.6:', type=('build', 'run'))
- depends_on('py-torch@1.6:', when='@1.4:1.5', type=('build', 'run'))
- depends_on('py-torch@1.4:', when='@:1.3', type=('build', 'run'))
- depends_on('py-tqdm@4.57.0:', when='@1.6.3:', type=('build', 'run'))
- depends_on('py-tqdm@4.41.0:', when='@:1.6.2', type=('build', 'run'))
- depends_on('py-pyyaml@5.4:', when='@1.6:', type=('build', 'run'))
- depends_on('py-pyyaml@5.1:', when='@1.4:1.5', 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,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:', when='@1.5:', type=('build', 'run'))
- depends_on('py-tensorboard@2.2.0:2.4,2.5.1:', when='@:1.4', type=('build', 'run'))
- depends_on('py-torchmetrics@0.4.1:', when='@1.5:', type=('build', 'run'))
- depends_on('py-torchmetrics@0.4.0:', when='@1.4', type=('build', 'run'))
- depends_on('py-torchmetrics@0.2.0:', when='@1.3', type=('build', 'run'))
- depends_on('py-torchmetrics@0.2.0', when='@:1.2', type=('build', 'run'))
- depends_on('py-pydeprecate@0.3.1:', when='@1.6.4:', type=('build', 'run'))
- depends_on('py-pydeprecate@0.3.1:0.3', when='@1.6:1.6.3', type=('build', 'run'))
- depends_on('py-pydeprecate@0.3.1', when='@1.4:1.5', 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', when='@:1.2', type=('build', 'run'))
- depends_on('py-typing-extensions@4.0.0:', when='@1.6:', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@1.4:1.5', type=('build', 'run'))
- depends_on('py-future@0.17.1:', when='@:1.5', type=('build', 'run'))
- depends_on('pil@:8.2,8.3.1:', when='@1.3', type=('build', 'run'))
- depends_on('py-protobuf@:3.20.1', when='@1.6.4:', type='build')
+ depends_on("python@3.7:", when="@1.6:", type=("build", "run"))
+ depends_on("python@3.6:", when="@:1.5", type=("build", "run"))
+ 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.8:", when="@1.6:", type=("build", "run"))
+ depends_on("py-torch@1.6:", when="@1.4:1.5", type=("build", "run"))
+ depends_on("py-torch@1.4:", when="@:1.3", type=("build", "run"))
+ depends_on("py-tqdm@4.57.0:", when="@1.6.3:", type=("build", "run"))
+ depends_on("py-tqdm@4.41.0:", when="@:1.6.2", type=("build", "run"))
+ depends_on("py-pyyaml@5.4:", when="@1.6:", type=("build", "run"))
+ depends_on("py-pyyaml@5.1:", when="@1.4:1.5", 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,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:", when="@1.5:", type=("build", "run"))
+ depends_on("py-tensorboard@2.2.0:2.4,2.5.1:", when="@:1.4", type=("build", "run"))
+ depends_on("py-torchmetrics@0.4.1:", when="@1.5:", type=("build", "run"))
+ depends_on("py-torchmetrics@0.4.0:", when="@1.4", type=("build", "run"))
+ depends_on("py-torchmetrics@0.2.0:", when="@1.3", type=("build", "run"))
+ depends_on("py-torchmetrics@0.2.0", when="@:1.2", type=("build", "run"))
+ depends_on("py-pydeprecate@0.3.1:", when="@1.6.4:", type=("build", "run"))
+ depends_on("py-pydeprecate@0.3.1:0.3", when="@1.6:1.6.3", type=("build", "run"))
+ depends_on("py-pydeprecate@0.3.1", when="@1.4:1.5", 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", when="@:1.2", type=("build", "run"))
+ depends_on("py-typing-extensions@4.0.0:", when="@1.6:", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@1.4:1.5", type=("build", "run"))
+ depends_on("py-future@0.17.1:", when="@:1.5", type=("build", "run"))
+ depends_on("pil@:8.2,8.3.1:", when="@1.3", type=("build", "run"))
+ depends_on("py-protobuf@:3.20.1", when="@1.6.4:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytorch-sphinx-theme/package.py b/var/spack/repos/builtin/packages/py-pytorch-sphinx-theme/package.py
index 7a0ee0c4ed..6693af2291 100644
--- a/var/spack/repos/builtin/packages/py-pytorch-sphinx-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-pytorch-sphinx-theme/package.py
@@ -10,9 +10,9 @@ class PyPytorchSphinxTheme(PythonPackage):
"""PyTorch Sphinx Theme."""
homepage = "https://github.com/pytorch/pytorch_sphinx_theme"
- git = "https://github.com/pytorch/pytorch_sphinx_theme.git"
+ git = "https://github.com/pytorch/pytorch_sphinx_theme.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyts/package.py b/var/spack/repos/builtin/packages/py-pyts/package.py
index 0bc54d09da..5509c3003a 100644
--- a/var/spack/repos/builtin/packages/py-pyts/package.py
+++ b/var/spack/repos/builtin/packages/py-pyts/package.py
@@ -14,14 +14,14 @@ class PyPyts(PythonPackage):
perform these transformations."""
homepage = "https://github.com/johannfaouzi/pyts"
- pypi = "pyts/pyts-0.12.0.tar.gz"
+ pypi = "pyts/pyts-0.12.0.tar.gz"
- version('0.12.0', sha256='af85e09a14334cbe384318de6ca4379e9a30bf5bbd1aaf3a1c4a94872e9765b1')
+ version("0.12.0", sha256="af85e09a14334cbe384318de6ca4379e9a30bf5bbd1aaf3a1c4a94872e9765b1")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.17.5:', type=('build', 'run'))
- depends_on('py-scipy@1.3.0:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.22.1:', type=('build', 'run'))
- depends_on('py-joblib@0.12:', type=('build', 'run'))
- depends_on('py-numba@0.48.0:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.17.5:", type=("build", "run"))
+ depends_on("py-scipy@1.3.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.22.1:", type=("build", "run"))
+ depends_on("py-joblib@0.12:", type=("build", "run"))
+ depends_on("py-numba@0.48.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pytweening/package.py b/var/spack/repos/builtin/packages/py-pytweening/package.py
index f4801d5121..5779bd66e0 100644
--- a/var/spack/repos/builtin/packages/py-pytweening/package.py
+++ b/var/spack/repos/builtin/packages/py-pytweening/package.py
@@ -11,8 +11,8 @@ class PyPytweening(PythonPackage):
in Python."""
homepage = "https://github.com/asweigart/pytweening"
- pypi = "PyTweening/PyTweening-1.0.3.zip"
+ pypi = "PyTweening/PyTweening-1.0.3.zip"
- version('1.0.3', sha256='4b608a570f4dccf2201e898f643c2a12372eb1d71a3dbc7e778771b603ca248b')
+ version("1.0.3", sha256="4b608a570f4dccf2201e898f643c2a12372eb1d71a3dbc7e778771b603ca248b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index a46a0a9c93..67b3b20d07 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -12,17 +12,17 @@ class PyPytz(PythonPackage):
homepage = "https://pythonhosted.org/pytz"
pypi = "pytz/pytz-2019.3.tar.gz"
- version('2021.3', sha256='acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326')
- version('2021.1', sha256='83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da')
- version('2020.1', sha256='c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048')
- version('2019.3', sha256='b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be')
- version('2019.1', sha256='d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141')
- version('2018.4', sha256='c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749')
- version('2016.10', sha256='9a43e20aa537cfad8fe7a1715165c91cb4a6935d40947f2d070e4c80f2dcd22b')
- version('2016.6.1', sha256='6f57732f0f8849817e9853eb9d50d85d1ebb1404f702dbc44ee627c642a486ca')
- version('2014.10', sha256='a94138b638907491f473c875e8c95203a6a02efef52b6562be302e435016f4f3')
- version('2014.9', sha256='c5bcbd11cf9847096ae1eb4e83dde75d10ac62efe6e73c4600f3f980968cdbd2')
- version('2015.4', sha256='c4ee70cb407f9284517ac368f121cf0796a7134b961e53d9daf1aaae8f44fb90')
- version('2016.3', sha256='3449da19051655d4c0bb5c37191331748bcad15804d81676a88451ef299370a8')
+ version("2021.3", sha256="acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326")
+ version("2021.1", sha256="83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da")
+ version("2020.1", sha256="c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048")
+ version("2019.3", sha256="b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be")
+ version("2019.1", sha256="d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141")
+ version("2018.4", sha256="c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749")
+ version("2016.10", sha256="9a43e20aa537cfad8fe7a1715165c91cb4a6935d40947f2d070e4c80f2dcd22b")
+ version("2016.6.1", sha256="6f57732f0f8849817e9853eb9d50d85d1ebb1404f702dbc44ee627c642a486ca")
+ version("2014.10", sha256="a94138b638907491f473c875e8c95203a6a02efef52b6562be302e435016f4f3")
+ version("2014.9", sha256="c5bcbd11cf9847096ae1eb4e83dde75d10ac62efe6e73c4600f3f980968cdbd2")
+ version("2015.4", sha256="c4ee70cb407f9284517ac368f121cf0796a7134b961e53d9daf1aaae8f44fb90")
+ version("2016.3", sha256="3449da19051655d4c0bb5c37191331748bcad15804d81676a88451ef299370a8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyudev/package.py b/var/spack/repos/builtin/packages/py-pyudev/package.py
index 2b2446ff74..ef8e577a76 100644
--- a/var/spack/repos/builtin/packages/py-pyudev/package.py
+++ b/var/spack/repos/builtin/packages/py-pyudev/package.py
@@ -12,8 +12,8 @@ class PyPyudev(PythonPackage):
homepage = "https://pyudev.readthedocs.io/en/latest/"
pypi = "pyudev/pyudev-0.9.tar.gz"
- version('0.21.0', sha256='094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b')
- version('0.15', sha256='12f462b777388c447edaac9e4b423a38a76eeb43f36b1a42288e771309d663c2')
- version('0.9', sha256='5282ff7178942cfe0cb56316b7743ad6d0189e2749d80f452bf2e04740b81eb2')
+ version("0.21.0", sha256="094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b")
+ version("0.15", sha256="12f462b777388c447edaac9e4b423a38a76eeb43f36b1a42288e771309d663c2")
+ version("0.9", sha256="5282ff7178942cfe0cb56316b7743ad6d0189e2749d80f452bf2e04740b81eb2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyugrid/package.py b/var/spack/repos/builtin/packages/py-pyugrid/package.py
index a3092a2f40..76a5d8fc9f 100644
--- a/var/spack/repos/builtin/packages/py-pyugrid/package.py
+++ b/var/spack/repos/builtin/packages/py-pyugrid/package.py
@@ -12,10 +12,10 @@ class PyPyugrid(PythonPackage):
homepage = "https://github.com/pyugrid/pyugrid"
pypi = "pyugrid/pyugrid-0.3.1.tar.gz"
- version('0.3.1', sha256='eddadc1e88c0e801f780b1e6f636fbfc00e3d14cdab82b43300fde0918310053')
+ version("0.3.1", sha256="eddadc1e88c0e801f780b1e6f636fbfc00e3d14cdab82b43300fde0918310053")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-netcdf4', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-netcdf4", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyupgrade/package.py b/var/spack/repos/builtin/packages/py-pyupgrade/package.py
index 2ef391419d..018ce714ba 100644
--- a/var/spack/repos/builtin/packages/py-pyupgrade/package.py
+++ b/var/spack/repos/builtin/packages/py-pyupgrade/package.py
@@ -10,10 +10,10 @@ class PyPyupgrade(PythonPackage):
"""A tool to automatically upgrade syntax for newer versions."""
homepage = "https://github.com/asottile/pyupgrade"
- pypi = "pyupgrade/pyupgrade-2.31.1.tar.gz"
+ pypi = "pyupgrade/pyupgrade-2.31.1.tar.gz"
- version('2.31.1', sha256='22e0ad6dd39c4381805cb059f1e691b6315c62c0ebcec98a5f29d22cd186a72a')
+ version("2.31.1", sha256="22e0ad6dd39c4381805cb059f1e691b6315c62c0ebcec98a5f29d22cd186a72a")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-tokenize-rt@3.2:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tokenize-rt@3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyusb/package.py b/var/spack/repos/builtin/packages/py-pyusb/package.py
index 60fe38b495..e2528507bc 100644
--- a/var/spack/repos/builtin/packages/py-pyusb/package.py
+++ b/var/spack/repos/builtin/packages/py-pyusb/package.py
@@ -10,11 +10,11 @@ class PyPyusb(PythonPackage):
"""Easy USB access from Python."""
homepage = "https://github.com/pyusb/pyusb"
- pypi = "pyusb/pyusb-1.0.2.tar.gz"
+ pypi = "pyusb/pyusb-1.0.2.tar.gz"
- version('1.0.2', sha256='4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362')
+ version("1.0.2", sha256="4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm@:1', type='build', when='^py-setuptools@:11')
- depends_on('py-setuptools-scm', type='build')
- depends_on('libusb')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm@:1", type="build", when="^py-setuptools@:11")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("libusb")
diff --git a/var/spack/repos/builtin/packages/py-pyutilib/package.py b/var/spack/repos/builtin/packages/py-pyutilib/package.py
index 1cfb296364..01d1e1600a 100644
--- a/var/spack/repos/builtin/packages/py-pyutilib/package.py
+++ b/var/spack/repos/builtin/packages/py-pyutilib/package.py
@@ -15,21 +15,21 @@ class PyPyutilib(PythonPackage):
BSD License."""
homepage = "https://github.com/PyUtilib/pyutilib"
- url = "https://github.com/PyUtilib/pyutilib/archive/5.5.1.tar.gz"
+ url = "https://github.com/PyUtilib/pyutilib/archive/5.5.1.tar.gz"
- version('6.0.0', sha256='b758419b42f9f512330644ebf05d54a1d3c5671268c344204e02f32713342de5')
- version('5.6.2', sha256='3f9f500cf1f15a92e7eb0b3c3ca2af537a2a9e61fe70ad6be4d2d08d9e47764f')
- version('5.6.1', sha256='0d0d57921877dc292dd9de39596fabc83b5d072adf10a90c979f678662ddb752')
- version('5.6', sha256='ea1e263652d8199322759e169e4a40fc23964c49e82ae1470ab83a613a6e6b25')
- version('5.5.1', sha256='0e9070551abc82a90b977f9bf875a91ceebfdfa5d7327028ece60324ef66f3ab')
- version('5.5', sha256='442f5abbd2a61c6f51698e0450cddbb4fc10047f350a939218f0c4b92a90f8ef')
- version('5.4.1', sha256='7d6bf66d3ebaf8769e9395748f618a13a7e02cc88a62f8be8889f40816502b14')
- version('5.4', sha256='c778e89a22d882ebf0096eca3abc4cc312f6e1fa1b7869b416710a2f467cb4d6')
- version('5.3.5', sha256='8b9c2be34f80da0ae18ecc2e46ac7467d35b2e9f33411e7331c6edddea108906')
- version('5.3.4', sha256='475c97bf1213add6b7fefaa3f05affef3613e6aecc9fcb3cc0693304671b73c3')
- version('5.3.3', sha256='318f4d60c9552493fe81a4b2e0418d2cf43aaab68e6d23e2c9a68ef010c9cf21')
+ version("6.0.0", sha256="b758419b42f9f512330644ebf05d54a1d3c5671268c344204e02f32713342de5")
+ version("5.6.2", sha256="3f9f500cf1f15a92e7eb0b3c3ca2af537a2a9e61fe70ad6be4d2d08d9e47764f")
+ version("5.6.1", sha256="0d0d57921877dc292dd9de39596fabc83b5d072adf10a90c979f678662ddb752")
+ version("5.6", sha256="ea1e263652d8199322759e169e4a40fc23964c49e82ae1470ab83a613a6e6b25")
+ version("5.5.1", sha256="0e9070551abc82a90b977f9bf875a91ceebfdfa5d7327028ece60324ef66f3ab")
+ version("5.5", sha256="442f5abbd2a61c6f51698e0450cddbb4fc10047f350a939218f0c4b92a90f8ef")
+ version("5.4.1", sha256="7d6bf66d3ebaf8769e9395748f618a13a7e02cc88a62f8be8889f40816502b14")
+ version("5.4", sha256="c778e89a22d882ebf0096eca3abc4cc312f6e1fa1b7869b416710a2f467cb4d6")
+ version("5.3.5", sha256="8b9c2be34f80da0ae18ecc2e46ac7467d35b2e9f33411e7331c6edddea108906")
+ version("5.3.4", sha256="475c97bf1213add6b7fefaa3f05affef3613e6aecc9fcb3cc0693304671b73c3")
+ version("5.3.3", sha256="318f4d60c9552493fe81a4b2e0418d2cf43aaab68e6d23e2c9a68ef010c9cf21")
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-nose', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nose", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyvcf/package.py b/var/spack/repos/builtin/packages/py-pyvcf/package.py
index cf8f407c7f..a249e7046e 100644
--- a/var/spack/repos/builtin/packages/py-pyvcf/package.py
+++ b/var/spack/repos/builtin/packages/py-pyvcf/package.py
@@ -12,11 +12,11 @@ class PyPyvcf(PythonPackage):
homepage = "https://pyvcf.readthedocs.org/en/latest/index.html"
pypi = "PyVCF/PyVCF-0.6.0.tar.gz"
- version('0.6.8', sha256='e9d872513d179d229ab61da47a33f42726e9613784d1cb2bac3f8e2642f6f9d9')
- version('0.6.0', sha256='d9ec3bbedb64fa35c2648a9c41fdefaedd3912ff597a436e073d27aeccf5de7c')
+ version("0.6.8", sha256="e9d872513d179d229ab61da47a33f42726e9613784d1cb2bac3f8e2642f6f9d9")
+ version("0.6.0", sha256="d9ec3bbedb64fa35c2648a9c41fdefaedd3912ff597a436e073d27aeccf5de7c")
- depends_on('py-setuptools@:57', type='build')
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-counter', when='^python@:2.6', type=('build', 'run'))
- depends_on('py-ordereddict', when='^python@:2.6', type=('build', 'run'))
- depends_on('py-unittest2', when='^python@:2.6', type=('build', 'run'))
+ depends_on("py-setuptools@:57", type="build")
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-counter", when="^python@:2.6", type=("build", "run"))
+ depends_on("py-ordereddict", when="^python@:2.6", type=("build", "run"))
+ depends_on("py-unittest2", when="^python@:2.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyvista/package.py b/var/spack/repos/builtin/packages/py-pyvista/package.py
index 05579ef83b..d7d5164cb2 100644
--- a/var/spack/repos/builtin/packages/py-pyvista/package.py
+++ b/var/spack/repos/builtin/packages/py-pyvista/package.py
@@ -10,18 +10,18 @@ class PyPyvista(PythonPackage):
"""Easier Pythonic interface to VTK."""
homepage = "https://github.com/pyvista/pyvista"
- pypi = "pyvista/pyvista-0.32.1.tar.gz"
+ pypi = "pyvista/pyvista-0.32.1.tar.gz"
- version('0.32.1', sha256='585ac79524e351924730aff9b7207d6c5ac4175dbb5d33f7a9a2de22ae53dbf9')
+ version("0.32.1", sha256="585ac79524e351924730aff9b7207d6c5ac4175dbb5d33f7a9a2de22ae53dbf9")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-imageio', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-appdirs', type=('build', 'run'))
- depends_on('py-scooby@0.5.1:', type=('build', 'run'))
- depends_on('py-meshio@4.0.3:4', type=('build', 'run'))
- depends_on('vtk+python', type=('build', 'run'))
- depends_on('py-dataclasses', when='^python@3.6', type=('build', 'run'))
- depends_on('py-typing-extensions', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-imageio", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-scooby@0.5.1:", type=("build", "run"))
+ depends_on("py-meshio@4.0.3:4", type=("build", "run"))
+ depends_on("vtk+python", type=("build", "run"))
+ depends_on("py-dataclasses", when="^python@3.6", type=("build", "run"))
+ depends_on("py-typing-extensions", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyvistaqt/package.py b/var/spack/repos/builtin/packages/py-pyvistaqt/package.py
index 83fed3f6f4..617d81d4f7 100644
--- a/var/spack/repos/builtin/packages/py-pyvistaqt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyvistaqt/package.py
@@ -10,11 +10,11 @@ class PyPyvistaqt(PythonPackage):
"""PyQT support for PyVista."""
homepage = "https://github.com/pyvista/pyvistaqt"
- pypi = "pyvistaqt/pyvistaqt-0.5.0.tar.gz"
+ pypi = "pyvistaqt/pyvistaqt-0.5.0.tar.gz"
- version('0.5.0', sha256='f2358825d3c5f434760c13fdff5d3681b3cf36898e6e909c8a7934a8e6448f71')
+ version("0.5.0", sha256="f2358825d3c5f434760c13fdff5d3681b3cf36898e6e909c8a7934a8e6448f71")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyvista@0.25:', type=('build', 'run'))
- depends_on('py-qtpy@1.9:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyvista@0.25:", type=("build", "run"))
+ depends_on("py-qtpy@1.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyvolve/package.py b/var/spack/repos/builtin/packages/py-pyvolve/package.py
index fc9c7e7db5..9e582aa55a 100644
--- a/var/spack/repos/builtin/packages/py-pyvolve/package.py
+++ b/var/spack/repos/builtin/packages/py-pyvolve/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class PyPyvolve(PythonPackage):
"""Pyvolve is an open-source Python module for simulating sequences
- along a phylogenetic tree according to continuous-time Markov models
- of sequence evolution"""
+ along a phylogenetic tree according to continuous-time Markov models
+ of sequence evolution"""
homepage = "https://github.com/sjspielman/pyvolve"
- pypi = "Pyvolve/Pyvolve-1.1.0.tar.gz"
+ pypi = "Pyvolve/Pyvolve-1.1.0.tar.gz"
- version('1.1.0', sha256='850aae6213a95c3f8c438ef7cdab33f4dafe8ef305b6fa85bbea1a9e7484c787')
- version('1.0.3', sha256='725d5851f24b3b4564970a999bad8e2e90782cf81a07c3a3370c492a956d9d51')
+ version("1.1.0", sha256="850aae6213a95c3f8c438ef7cdab33f4dafe8ef305b6fa85bbea1a9e7484c787")
+ version("1.0.3", sha256="725d5851f24b3b4564970a999bad8e2e90782cf81a07c3a3370c492a956d9d51")
- depends_on('py-setuptools', type='build')
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-numpy@1.20.0:', type=('build', 'run'), when='@1.1.0:')
- depends_on('py-numpy@1.7:', type=('build', 'run'), when='@1.0.3:')
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-numpy@1.20.0:", type=("build", "run"), when="@1.1.0:")
+ depends_on("py-numpy@1.7:", type=("build", "run"), when="@1.0.3:")
+ depends_on("py-scipy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pywavelets/package.py b/var/spack/repos/builtin/packages/py-pywavelets/package.py
index 732eb3a442..6d88d9d0a0 100644
--- a/var/spack/repos/builtin/packages/py-pywavelets/package.py
+++ b/var/spack/repos/builtin/packages/py-pywavelets/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class PyPywavelets(PythonPackage):
"""PyWavelets is a free Open Source library for wavelet transforms
- in Python"""
+ in Python"""
homepage = "https://github.com/PyWavelets"
pypi = "PyWavelets/PyWavelets-0.5.2.tar.gz"
- version('1.1.1', sha256='1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9')
- version('0.5.2', sha256='ce36e2f0648ea1781490b09515363f1f64446b0eac524603e5db5e180113bed9')
+ version("1.1.1", sha256="1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9")
+ version("0.5.2", sha256="ce36e2f0648ea1781490b09515363f1f64446b0eac524603e5db5e180113bed9")
- depends_on('python@3.5:', type=('build', 'run'), when='@1.1.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numpy@1.9.1:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', type=('build', 'run'), when='@1.1.1:')
+ depends_on("python@3.5:", type=("build", "run"), when="@1.1.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numpy@1.9.1:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@1.1.1:")
diff --git a/var/spack/repos/builtin/packages/py-pywcs/package.py b/var/spack/repos/builtin/packages/py-pywcs/package.py
index 61c762e590..6422302751 100644
--- a/var/spack/repos/builtin/packages/py-pywcs/package.py
+++ b/var/spack/repos/builtin/packages/py-pywcs/package.py
@@ -11,14 +11,14 @@ class PyPywcs(PythonPackage):
handling the FITS World Coordinate System (WCS) standard."""
homepage = "https://github.com/spacetelescope/pywcs"
- url = "https://github.com/spacetelescope/pywcs/archive/1.12.1.tar.gz"
+ url = "https://github.com/spacetelescope/pywcs/archive/1.12.1.tar.gz"
- version('1.12.1', sha256='efd4e0ea190e3a2521ebcde583452e126acdeac85cc8a9c78c8a96f10805b5e1')
+ version("1.12.1", sha256="efd4e0ea190e3a2521ebcde583452e126acdeac85cc8a9c78c8a96f10805b5e1")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-d2to1@0.2.3:', type='build')
- depends_on('py-stsci-distutils@0.3.2:', type='build')
- depends_on('py-numpy@1.5.1:', type=('build', 'run'))
- depends_on('py-pyfits@1.4:', type=('build', 'run'))
- depends_on('py-astropy@0.3.1:', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-d2to1@0.2.3:", type="build")
+ depends_on("py-stsci-distutils@0.3.2:", type="build")
+ depends_on("py-numpy@1.5.1:", type=("build", "run"))
+ depends_on("py-pyfits@1.4:", type=("build", "run"))
+ depends_on("py-astropy@0.3.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-pyworld/package.py b/var/spack/repos/builtin/packages/py-pyworld/package.py
index 2bca65949d..eaeb15925f 100644
--- a/var/spack/repos/builtin/packages/py-pyworld/package.py
+++ b/var/spack/repos/builtin/packages/py-pyworld/package.py
@@ -13,10 +13,10 @@ class PyPyworld(PythonPackage):
input speech with only estimated parameters.i"""
homepage = "https://github.com/JeremyCCHsu/Python-Wrapper-for-World-Vocoder"
- pypi = "pyworld/pyworld-0.3.0.tar.gz"
+ pypi = "pyworld/pyworld-0.3.0.tar.gz"
- version('0.3.0', sha256='e19b5d8445e0c4fc45ded71863aeaaf2680064b4626b0e7c90f72e9ace9f6b5b')
+ version("0.3.0", sha256="e19b5d8445e0c4fc45ded71863aeaaf2680064b4626b0e7c90f72e9ace9f6b5b")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@:1.19', type=('build', 'run'))
- depends_on('py-cython@0.24.0:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@:1.19", type=("build", "run"))
+ depends_on("py-cython@0.24.0:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py
index b6fe0bd092..9dd8b39092 100644
--- a/var/spack/repos/builtin/packages/py-pyyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py
@@ -11,40 +11,40 @@ class PyPyyaml(PythonPackage):
homepage = "https://pyyaml.org/wiki/PyYAML"
pypi = "PyYAML/PyYAML-5.3.1.tar.gz"
- git = "https://github.com/yaml/pyyaml.git"
+ git = "https://github.com/yaml/pyyaml.git"
- version('6.0', sha256='68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2')
- version('5.3.1', sha256='b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d')
- version('5.2', sha256='c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c')
- version('5.1.2', sha256='01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4')
- version('5.1', sha256='436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95')
- version('3.13', sha256='3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf')
- version('3.12', sha256='592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab')
- version('3.11', sha256='c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8')
+ version("6.0", sha256="68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2")
+ version("5.3.1", sha256="b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d")
+ version("5.2", sha256="c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c")
+ version("5.1.2", sha256="01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4")
+ version("5.1", sha256="436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95")
+ version("3.13", sha256="3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf")
+ version("3.12", sha256="592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab")
+ version("3.11", sha256="c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8")
- variant('libyaml', default=True, description='Use libYAML bindings')
+ variant("libyaml", default=True, description="Use libYAML bindings")
- depends_on('python@2.7,3.5:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@6:', type=('build', 'link', 'run'))
- depends_on('libyaml', when='+libyaml', type='link')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', when='@6:+libyaml', type='build')
+ depends_on("python@2.7,3.5:", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@6:", type=("build", "link", "run"))
+ depends_on("libyaml", when="+libyaml", type="link")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", when="@6:+libyaml", type="build")
@property
def import_modules(self):
- modules = ['yaml']
+ modules = ["yaml"]
- if '+libyaml' in self.spec:
- modules.append('yaml.cyaml')
+ if "+libyaml" in self.spec:
+ modules.append("yaml.cyaml")
return modules
def global_options(self, spec, prefix):
args = []
- if '+libyaml' in self.spec:
- args.append('--with-libyaml')
+ if "+libyaml" in self.spec:
+ args.append("--with-libyaml")
else:
- args.append('--without-libyaml')
+ args.append("--without-libyaml")
return args
diff --git a/var/spack/repos/builtin/packages/py-pyzmq/package.py b/var/spack/repos/builtin/packages/py-pyzmq/package.py
index 7ef61721c2..cab1915556 100644
--- a/var/spack/repos/builtin/packages/py-pyzmq/package.py
+++ b/var/spack/repos/builtin/packages/py-pyzmq/package.py
@@ -8,46 +8,60 @@ from spack.package import *
class PyPyzmq(PythonPackage):
"""PyZMQ: Python bindings for zeromq."""
+
homepage = "https://github.com/zeromq/pyzmq"
- pypi = "pyzmq/pyzmq-22.3.0.tar.gz"
+ pypi = "pyzmq/pyzmq-22.3.0.tar.gz"
import_modules = [
- 'zmq', 'zmq.green', 'zmq.green.eventloop', 'zmq.sugar', 'zmq.auth',
- 'zmq.auth.asyncio', 'zmq.utils', 'zmq.backend', 'zmq.backend.cffi',
- 'zmq.backend.cython', 'zmq.ssh', 'zmq.eventloop',
- 'zmq.eventloop.minitornado', 'zmq.eventloop.minitornado.platform',
- 'zmq.log', 'zmq.asyncio', 'zmq.devices'
+ "zmq",
+ "zmq.green",
+ "zmq.green.eventloop",
+ "zmq.sugar",
+ "zmq.auth",
+ "zmq.auth.asyncio",
+ "zmq.utils",
+ "zmq.backend",
+ "zmq.backend.cffi",
+ "zmq.backend.cython",
+ "zmq.ssh",
+ "zmq.eventloop",
+ "zmq.eventloop.minitornado",
+ "zmq.eventloop.minitornado.platform",
+ "zmq.log",
+ "zmq.asyncio",
+ "zmq.devices",
]
- version('22.3.0', sha256='8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c')
- version('18.1.0', sha256='93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3')
- version('18.0.1', sha256='8b319805f6f7c907b101c864c3ca6cefc9db8ce0791356f180b1b644c7347e4c')
- version('17.1.2', sha256='a72b82ac1910f2cf61a49139f4974f994984475f771b0faa730839607eeedddf')
- version('16.0.2', sha256='0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d')
- version('14.7.0', sha256='77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2')
+ version("22.3.0", sha256="8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c")
+ version("18.1.0", sha256="93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3")
+ version("18.0.1", sha256="8b319805f6f7c907b101c864c3ca6cefc9db8ce0791356f180b1b644c7347e4c")
+ version("17.1.2", sha256="a72b82ac1910f2cf61a49139f4974f994984475f771b0faa730839607eeedddf")
+ version("16.0.2", sha256="0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d")
+ version("14.7.0", sha256="77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2")
- depends_on('python@3.6:', type=('build', 'run'), when='@22:')
- depends_on('python@2.7,3.3:', type=('build', 'run'), when='@18.1')
+ depends_on("python@3.6:", type=("build", "run"), when="@22:")
+ depends_on("python@2.7,3.3:", type=("build", "run"), when="@18.1")
# Python 3.9 build issues
- depends_on('python@2.7,3.3:3.8', type=('build', 'run'), when='@16:18.0')
- depends_on('python@2.6:2.7,3.2:3.8', type=('build', 'run'), when='@:14')
- depends_on('py-cython@0.16:', type='build')
- depends_on('py-cython@0.20:', type='build', when='@18:')
- depends_on('py-cython@0.29:', type='build', when='@22.3.0:')
- depends_on('py-gevent', type=('build', 'run'))
- depends_on('libzmq', type=('build', 'link'))
- depends_on('libzmq@3.2:', type=('build', 'link'), when='@22.3.0:')
- depends_on('py-setuptools', type='build', when='@22.3.0:')
+ depends_on("python@2.7,3.3:3.8", type=("build", "run"), when="@16:18.0")
+ depends_on("python@2.6:2.7,3.2:3.8", type=("build", "run"), when="@:14")
+ depends_on("py-cython@0.16:", type="build")
+ depends_on("py-cython@0.20:", type="build", when="@18:")
+ depends_on("py-cython@0.29:", type="build", when="@22.3.0:")
+ depends_on("py-gevent", type=("build", "run"))
+ depends_on("libzmq", type=("build", "link"))
+ depends_on("libzmq@3.2:", type=("build", "link"), when="@22.3.0:")
+ depends_on("py-setuptools", type="build", when="@22.3.0:")
# Only when python is provided by 'pypy'
- depends_on('py-py', type=('build', 'run'), when='@:22')
- depends_on('py-cffi', type=('build', 'run'), when='@:22')
+ depends_on("py-py", type=("build", "run"), when="@:22")
+ depends_on("py-cffi", type=("build", "run"), when="@:22")
- @run_before('install')
+ @run_before("install")
def setup(self):
"""Create config file listing dependency information."""
- with open('setup.cfg', 'w') as config:
- config.write("""\
+ with open("setup.cfg", "w") as config:
+ config.write(
+ """\
[global]
zmq_prefix = {0}
@@ -55,19 +69,18 @@ zmq_prefix = {0}
library_dirs = {1}
include_dirs = {2}
""".format(
- self.spec['libzmq'].prefix,
- self.spec['libzmq'].libs.directories[0],
- self.spec['libzmq'].headers.directories[0],
- ))
+ self.spec["libzmq"].prefix,
+ self.spec["libzmq"].libs.directories[0],
+ self.spec["libzmq"].headers.directories[0],
+ )
+ )
def setup_build_environment(self, env):
# Needed for `spack install --test=root py-pyzmq`
# Fixes import failure for zmq.backend.cffi
# https://github.com/zeromq/pyzmq/issues/395#issuecomment-22041019
- env.prepend_path(
- 'C_INCLUDE_PATH', self.spec['libzmq'].headers.directories[0])
- env.prepend_path(
- 'LIBRARY_PATH', self.spec['libzmq'].libs.directories[0])
+ env.prepend_path("C_INCLUDE_PATH", self.spec["libzmq"].headers.directories[0])
+ env.prepend_path("LIBRARY_PATH", self.spec["libzmq"].libs.directories[0])
# Needed for `spack test run py-pyzmq`
setup_run_environment = setup_build_environment
diff --git a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py
index 24052d0293..9b14f93e32 100644
--- a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py
+++ b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py
@@ -14,46 +14,45 @@ class PyQiskitAer(PythonPackage, CudaPackage):
homepage = "https://github.com/Qiskit/qiskit-aer"
pypi = "qiskit-aer/qiskit-aer-0.9.1.tar.gz"
- version('0.9.1', sha256='3bf5f615aaae7cc5f816c39a4e9108aabaed0cc894fb6f841e48ffd56574e7eb')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@40.1.0:', type='build')
- depends_on('py-numpy@1.16.3:', type=('build', 'run'))
- depends_on('py-pybind11@2.6:', type='build')
- depends_on('py-qiskit-terra@0.17.0:', type=('build', 'run'))
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-scikit-build@0.11.0:', type='build')
- depends_on('py-cmake@:3.16,3.18:', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('nlohmann-json@3.1.1:')
- depends_on('spdlog@1.5.0:')
- depends_on('muparserx@4.0.8:')
- depends_on('blas')
- depends_on('cuda@10.1:', when='+cuda')
-
- variant('mpi', default=True, description='Enable MPI support')
- variant('gdr', default=True, description='Enable GDR support')
+ version("0.9.1", sha256="3bf5f615aaae7cc5f816c39a4e9108aabaed0cc894fb6f841e48ffd56574e7eb")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@40.1.0:", type="build")
+ depends_on("py-numpy@1.16.3:", type=("build", "run"))
+ depends_on("py-pybind11@2.6:", type="build")
+ depends_on("py-qiskit-terra@0.17.0:", type=("build", "run"))
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-scikit-build@0.11.0:", type="build")
+ depends_on("py-cmake@:3.16,3.18:", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("nlohmann-json@3.1.1:")
+ depends_on("spdlog@1.5.0:")
+ depends_on("muparserx@4.0.8:")
+ depends_on("blas")
+ depends_on("cuda@10.1:", when="+cuda")
+
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("gdr", default=True, description="Enable GDR support")
def setup_build_environment(self, env):
- env.set('DISABLE_CONAN', 'ON')
- env.set('DISABLE_DEPENDENCY_INSTALL', '1')
+ env.set("DISABLE_CONAN", "ON")
+ env.set("DISABLE_DEPENDENCY_INSTALL", "1")
env.set("CUDAHOSTCXX", spack_cxx)
def install_options(self, spec, prefix):
args = []
- args.append('-DDISABLE_CONAN=ON')
- if '~gdr' in self.spec:
- args.append('-DAER_DISABLE_GDR=True')
+ args.append("-DDISABLE_CONAN=ON")
+ if "~gdr" in self.spec:
+ args.append("-DAER_DISABLE_GDR=True")
else:
- args.append('-DAER_DISABLE_GDR=False')
- if '+mpi' in self.spec:
- args.append('-DAER_MPI=True')
+ args.append("-DAER_DISABLE_GDR=False")
+ if "+mpi" in self.spec:
+ args.append("-DAER_MPI=True")
else:
- args.append('-DAER_MPI=False')
- if '+cuda' in self.spec:
- args.append('-DAER_THRUST_BACKEND=CUDA')
- cuda_archs = spec.variants['cuda_arch'].value
- if 'none' not in cuda_archs:
- args.append('-DCUDA_NVCC_FLAGS={0}'.
- format(' '.join(self.cuda_flags(cuda_archs))))
+ args.append("-DAER_MPI=False")
+ if "+cuda" in self.spec:
+ args.append("-DAER_THRUST_BACKEND=CUDA")
+ cuda_archs = spec.variants["cuda_arch"].value
+ if "none" not in cuda_archs:
+ args.append("-DCUDA_NVCC_FLAGS={0}".format(" ".join(self.cuda_flags(cuda_archs))))
return args
diff --git a/var/spack/repos/builtin/packages/py-qiskit-terra/package.py b/var/spack/repos/builtin/packages/py-qiskit-terra/package.py
index d24bd219bd..576cb5562a 100644
--- a/var/spack/repos/builtin/packages/py-qiskit-terra/package.py
+++ b/var/spack/repos/builtin/packages/py-qiskit-terra/package.py
@@ -15,23 +15,23 @@ class PyQiskitTerra(PythonPackage):
homepage = "https://github.com/Qiskit/qiskit-terra"
pypi = "qiskit-terra/qiskit-terra-0.18.3.tar.gz"
- version('0.18.3', sha256='8737c8f1f4c6f29ec2fb02d73023f4854a396c33f78f4629a861a3e48fc789cc')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.27.1:', type='build')
-
- depends_on('py-contextvars@2.4:', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-jsonschema@2.6:', type=('build', 'run'))
- depends_on('py-retworkx@0.9.0:', type=('build', 'run'))
- depends_on('py-numpy@1.17:', type=('build', 'run'))
- depends_on('py-scipy@1.4:', type=('build', 'run'))
- depends_on('py-ply@3.10:', type=('build', 'run'))
- depends_on('py-psutil@5:', type=('build', 'run'))
- depends_on('py-sympy@1.3:', type=('build', 'run'))
- depends_on('py-dill@0.3:', type=('build', 'run'))
- depends_on('py-fastjsonschema@2.10:', type=('build', 'run'))
- depends_on('py-python-constraint@1.4:', type=('build', 'run'))
- depends_on('py-python-dateutil@2.8.0:', type=('build', 'run'))
- depends_on('py-symengine@0.7:', type=('build', 'run'))
- depends_on('py-tweedledum@1.1:1', type=('build', 'run'))
+ version("0.18.3", sha256="8737c8f1f4c6f29ec2fb02d73023f4854a396c33f78f4629a861a3e48fc789cc")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.27.1:", type="build")
+
+ depends_on("py-contextvars@2.4:", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-jsonschema@2.6:", type=("build", "run"))
+ depends_on("py-retworkx@0.9.0:", type=("build", "run"))
+ depends_on("py-numpy@1.17:", type=("build", "run"))
+ depends_on("py-scipy@1.4:", type=("build", "run"))
+ depends_on("py-ply@3.10:", type=("build", "run"))
+ depends_on("py-psutil@5:", type=("build", "run"))
+ depends_on("py-sympy@1.3:", type=("build", "run"))
+ depends_on("py-dill@0.3:", type=("build", "run"))
+ depends_on("py-fastjsonschema@2.10:", type=("build", "run"))
+ depends_on("py-python-constraint@1.4:", type=("build", "run"))
+ depends_on("py-python-dateutil@2.8.0:", type=("build", "run"))
+ depends_on("py-symengine@0.7:", type=("build", "run"))
+ depends_on("py-tweedledum@1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-qmtest/package.py b/var/spack/repos/builtin/packages/py-qmtest/package.py
index 9d73589bf0..a9ee03cf80 100644
--- a/var/spack/repos/builtin/packages/py-qmtest/package.py
+++ b/var/spack/repos/builtin/packages/py-qmtest/package.py
@@ -10,11 +10,11 @@ class PyQmtest(PythonPackage):
"""A general purpose testing framework"""
homepage = "https://github.com/MentorEmbedded/qmtest"
- url = "https://github.com/MentorEmbedded/qmtest/archive/refs/tags/2.4.1.tar.gz"
+ url = "https://github.com/MentorEmbedded/qmtest/archive/refs/tags/2.4.1.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('2.4.1', sha256='098f705aea9c8f7f5b6b5fe131974cee33b50cad3e13977e39708f306ce9ac91')
+ version("2.4.1", sha256="098f705aea9c8f7f5b6b5fe131974cee33b50cad3e13977e39708f306ce9ac91")
- depends_on('python@2.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-qpth/package.py b/var/spack/repos/builtin/packages/py-qpth/package.py
index 00e339fd22..0f4f61ae1d 100644
--- a/var/spack/repos/builtin/packages/py-qpth/package.py
+++ b/var/spack/repos/builtin/packages/py-qpth/package.py
@@ -10,12 +10,12 @@ class PyQpth(PythonPackage):
"""A fast and differentiable QP solver for PyTorch"""
homepage = "https://github.com/locuslab/qpth"
- pypi = "qpth/qpth-0.0.15.tar.gz"
+ pypi = "qpth/qpth-0.0.15.tar.gz"
- version('0.0.15', sha256='99d8ec5a35877c18543875a7d5b7fc9af1fa9a4d4b0888011c1ecf42ad9d521c')
+ version("0.0.15", sha256="99d8ec5a35877c18543875a7d5b7fc9af1fa9a4d4b0888011c1ecf42ad9d521c")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1')
- depends_on('py-torch')
- depends_on('py-cvxpy')
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1")
+ depends_on("py-torch")
+ depends_on("py-cvxpy")
diff --git a/var/spack/repos/builtin/packages/py-qrcode/package.py b/var/spack/repos/builtin/packages/py-qrcode/package.py
index ae342f07e8..4bea9b38b5 100644
--- a/var/spack/repos/builtin/packages/py-qrcode/package.py
+++ b/var/spack/repos/builtin/packages/py-qrcode/package.py
@@ -7,18 +7,18 @@ from spack.package import *
class PyQrcode(PythonPackage):
- """Generate QR codes """
+ """Generate QR codes"""
homepage = "https://github.com/lincolnloop/python-qrcode"
- pypi = "qrcode/qrcode-7.3.1.tar.gz"
+ pypi = "qrcode/qrcode-7.3.1.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('7.3.1', sha256='375a6ff240ca9bd41adc070428b5dfc1dcfbb0f2507f1ac848f6cded38956578')
+ version("7.3.1", sha256="375a6ff240ca9bd41adc070428b5dfc1dcfbb0f2507f1ac848f6cded38956578")
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-pillow', type=('build', 'run'))
- depends_on('py-typing-extensions', type=('build', 'run'))
+ depends_on("py-pillow", type=("build", "run"))
+ depends_on("py-typing-extensions", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-qsymm/package.py b/var/spack/repos/builtin/packages/py-qsymm/package.py
index 61094eacfd..b4546ec585 100644
--- a/var/spack/repos/builtin/packages/py-qsymm/package.py
+++ b/var/spack/repos/builtin/packages/py-qsymm/package.py
@@ -17,14 +17,14 @@ class PyQsymm(PythonPackage):
# Add a list of GitHub accounts to notify when the
# package is updated
- maintainers = ['payerle']
+ maintainers = ["payerle"]
- version('1.2.7', sha256='9af92a30c3f72883c744d4717e4ec30c8b48121e208c10553e8e0e428fe43bbc')
+ version("1.2.7", sha256="9af92a30c3f72883c744d4717e4ec30c8b48121e208c10553e8e0e428fe43bbc")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-scipy@0.19:', type=('build', 'run'))
- depends_on('py-sympy@1.1:', type=('build', 'run'))
- depends_on('py-tinyarray', type=('build', 'run'))
- depends_on('py-pytest-runner', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-scipy@0.19:", type=("build", "run"))
+ depends_on("py-sympy@1.1:", type=("build", "run"))
+ depends_on("py-tinyarray", type=("build", "run"))
+ depends_on("py-pytest-runner", type="build")
diff --git a/var/spack/repos/builtin/packages/py-qtawesome/package.py b/var/spack/repos/builtin/packages/py-qtawesome/package.py
index 91e8b04d35..5ac71e3776 100644
--- a/var/spack/repos/builtin/packages/py-qtawesome/package.py
+++ b/var/spack/repos/builtin/packages/py-qtawesome/package.py
@@ -12,9 +12,9 @@ class PyQtawesome(PythonPackage):
homepage = "https://github.com/spyder-ide/qtawesome"
pypi = "QtAwesome/QtAwesome-0.4.1.tar.gz"
- version('0.4.1', sha256='9ea91efeb83e8b73f814aeca898c29cade0c087acec58e91b4f384595aeb4cfd')
- version('0.3.3', sha256='c3c98ee4df0133ae42d202fea20253f8746266b4541c5df4269ca4131792ce0f')
+ version("0.4.1", sha256="9ea91efeb83e8b73f814aeca898c29cade0c087acec58e91b4f384595aeb4cfd")
+ version("0.3.3", sha256="c3c98ee4df0133ae42d202fea20253f8746266b4541c5df4269ca4131792ce0f")
- depends_on('py-setuptools', type='build')
- depends_on('py-qtpy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-qtpy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py
index c2c63332f9..6e6c682dfc 100644
--- a/var/spack/repos/builtin/packages/py-qtconsole/package.py
+++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py
@@ -12,22 +12,22 @@ class PyQtconsole(PythonPackage):
homepage = "https://ipython.org"
pypi = "qtconsole/qtconsole-4.2.1.tar.gz"
- version('5.2.0', sha256='6bb4df839609f240194213407872076f871e3a3884cf8e785068e8c7f39344c6')
- version('4.5.1', sha256='4af84facdd6f00a6b9b2927255f717bb23ae4b7a20ba1d9ef0a5a5a8dbe01ae2')
- version('4.2.1', sha256='25ec7d345528b3e8f3c91be349dd3c699755f206dc4b6ec668e2e5dd60ea18ef')
+ version("5.2.0", sha256="6bb4df839609f240194213407872076f871e3a3884cf8e785068e8c7f39344c6")
+ version("4.5.1", sha256="4af84facdd6f00a6b9b2927255f717bb23ae4b7a20ba1d9ef0a5a5a8dbe01ae2")
+ version("4.2.1", sha256="25ec7d345528b3e8f3c91be349dd3c699755f206dc4b6ec668e2e5dd60ea18ef")
- variant('docs', default=False, description='Build documentation')
+ variant("docs", default=False, description="Build documentation")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@5.2.0:')
- depends_on('py-setuptools', type='build')
- depends_on('py-ipykernel@4.1:', type=('build', 'run'))
- depends_on('py-jupyter-client@4.1:', type=('build', 'run'))
- depends_on('py-jupyter-core', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-traitlets', type=('build', 'run'))
- depends_on('py-ipython-genutils', type=('build', 'run'), when='@4.5.1:')
- depends_on('py-sphinx@1.3:', type=('build', 'run'), when='+docs')
- depends_on('py-pyqt5', type='run', when='@:5.1')
- depends_on('py-qtpy', type=('build', 'run'), when='@5.2.0:')
- depends_on('py-pyzmq@17.1:', type=('build', 'run'), when='@5.2.0:')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@5.2.0:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-ipykernel@4.1:", type=("build", "run"))
+ depends_on("py-jupyter-client@4.1:", type=("build", "run"))
+ depends_on("py-jupyter-core", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-traitlets", type=("build", "run"))
+ depends_on("py-ipython-genutils", type=("build", "run"), when="@4.5.1:")
+ depends_on("py-sphinx@1.3:", type=("build", "run"), when="+docs")
+ depends_on("py-pyqt5", type="run", when="@:5.1")
+ depends_on("py-qtpy", type=("build", "run"), when="@5.2.0:")
+ depends_on("py-pyzmq@17.1:", type=("build", "run"), when="@5.2.0:")
diff --git a/var/spack/repos/builtin/packages/py-qtpy/package.py b/var/spack/repos/builtin/packages/py-qtpy/package.py
index 836abae8c4..0d6ffc4538 100644
--- a/var/spack/repos/builtin/packages/py-qtpy/package.py
+++ b/var/spack/repos/builtin/packages/py-qtpy/package.py
@@ -12,19 +12,18 @@ class PyQtpy(PythonPackage):
homepage = "https://github.com/spyder-ide/qtpy"
pypi = "QtPy/QtPy-1.2.1.tar.gz"
- version('1.11.2', sha256='d6e4ae3a41f1fcb19762b58f35ad6dd443b4bdc867a4cb81ef10ccd85403c92b')
- version('1.7.1', sha256='e97275750934b3a1f4d8e263f5b889ae817ed36f26867ab0ce52be731ab1ed9e')
- version('1.2.1', sha256='5803ce31f50b24295e8e600b76cc91d7f2a3140a5a0d526d40226f9ec5e9097d')
+ version("1.11.2", sha256="d6e4ae3a41f1fcb19762b58f35ad6dd443b4bdc867a4cb81ef10ccd85403c92b")
+ version("1.7.1", sha256="e97275750934b3a1f4d8e263f5b889ae817ed36f26867ab0ce52be731ab1ed9e")
+ version("1.2.1", sha256="5803ce31f50b24295e8e600b76cc91d7f2a3140a5a0d526d40226f9ec5e9097d")
- apis = ['pyqt5', 'pyqt4', 'pyside2', 'pyside']
+ apis = ["pyqt5", "pyqt4", "pyside2", "pyside"]
- variant('api', default='pyqt5', description='Default QT API',
- values=apis, multi=False)
+ variant("api", default="pyqt5", description="Default QT API", values=apis, multi=False)
- depends_on('python@2.7:2.8,3.6:', when='@1.10.0:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.6:", when="@1.10.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
for api in apis:
- depends_on('py-' + api, when='api=' + api, type='run')
+ depends_on("py-" + api, when="api=" + api, type="run")
def setup_run_environment(self, env):
- env.set('QT_API', self.spec.variants['api'].value)
+ env.set("QT_API", self.spec.variants["api"].value)
diff --git a/var/spack/repos/builtin/packages/py-quantities/package.py b/var/spack/repos/builtin/packages/py-quantities/package.py
index 1055b2335e..fdaaa1d9fd 100644
--- a/var/spack/repos/builtin/packages/py-quantities/package.py
+++ b/var/spack/repos/builtin/packages/py-quantities/package.py
@@ -11,31 +11,34 @@ class PyQuantities(PythonPackage):
homepage = "https://python-quantities.readthedocs.org"
pypi = "quantities/quantities-0.12.1.tar.gz"
- maintainers = ['apdavison']
-
- version('0.13.0', sha256='0fde20115410de21cefa786f3aeae69c1b51bb19ee492190324c1da705e61a81')
- version('0.12.5', sha256='67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0')
- version('0.12.4', sha256='a33d636d1870c9e1127631185d89b0105a49f827d6aacd44ad9d8f151f331d8b')
- version('0.12.3', sha256='582f3c7aeba897846761e966615e01202a5e5d06add304492931b05085d19883')
- version('0.12.2', sha256='92e8397938516483f4fd1855097ec11953ab10dd0bf3293954559226679f76f0')
- version('0.12.1', sha256='0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934')
- version('0.11.1', sha256='4382098a501b55bf0fdb3dba2061a161041253697d78811ecfd7c55449836660',
- url="https://pypi.io/packages/source/q/quantities/quantities-0.11.1.zip")
-
- conflicts('^py-numpy@1.13:', when='@:0.11')
-
- depends_on('python@2.6:2.7,3.3:3.4', type=('build', 'run'), when='@:0.11')
- depends_on('python@2.7.0:2.7,3.4:3.6', type=('build', 'run'), when='@0.12.0:0.12.2')
- depends_on('python@2.7.0:2.7,3.4:3.7', type=('build', 'run'), when='@0.12.3')
- depends_on('python@2.7.0:2.7,3.4:3.8', type=('build', 'run'), when='@0.12.4:0.12.5')
- depends_on('python@3.7:3.10', type=('build', 'run'), when='@0.13:')
+ maintainers = ["apdavison"]
+
+ version("0.13.0", sha256="0fde20115410de21cefa786f3aeae69c1b51bb19ee492190324c1da705e61a81")
+ version("0.12.5", sha256="67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0")
+ version("0.12.4", sha256="a33d636d1870c9e1127631185d89b0105a49f827d6aacd44ad9d8f151f331d8b")
+ version("0.12.3", sha256="582f3c7aeba897846761e966615e01202a5e5d06add304492931b05085d19883")
+ version("0.12.2", sha256="92e8397938516483f4fd1855097ec11953ab10dd0bf3293954559226679f76f0")
+ version("0.12.1", sha256="0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934")
+ version(
+ "0.11.1",
+ sha256="4382098a501b55bf0fdb3dba2061a161041253697d78811ecfd7c55449836660",
+ url="https://pypi.io/packages/source/q/quantities/quantities-0.11.1.zip",
+ )
+
+ conflicts("^py-numpy@1.13:", when="@:0.11")
+
+ depends_on("python@2.6:2.7,3.3:3.4", type=("build", "run"), when="@:0.11")
+ depends_on("python@2.7.0:2.7,3.4:3.6", type=("build", "run"), when="@0.12.0:0.12.2")
+ depends_on("python@2.7.0:2.7,3.4:3.7", type=("build", "run"), when="@0.12.3")
+ depends_on("python@2.7.0:2.7,3.4:3.8", type=("build", "run"), when="@0.12.4:0.12.5")
+ depends_on("python@3.7:3.10", type=("build", "run"), when="@0.13:")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
-
- depends_on('py-numpy@1.7.1:1.9', type=('build', 'run'), when='@:0.11')
- depends_on('py-numpy@1.8.2:1.13', type=('build', 'run'), when='@0.12.0:0.12.1')
- depends_on('py-numpy@1.8.2:1.14', type=('build', 'run'), when='@0.12.2')
- depends_on('py-numpy@1.8.2:1.16', type=('build', 'run'), when='@0.12.3')
- depends_on('py-numpy@1.8.2:1.17', type=('build', 'run'), when='@0.12.4:0.12')
- depends_on('py-numpy@1.16:', type=('build', 'run'), when='@0.13.0:')
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-numpy@1.7.1:1.9", type=("build", "run"), when="@:0.11")
+ depends_on("py-numpy@1.8.2:1.13", type=("build", "run"), when="@0.12.0:0.12.1")
+ depends_on("py-numpy@1.8.2:1.14", type=("build", "run"), when="@0.12.2")
+ depends_on("py-numpy@1.8.2:1.16", type=("build", "run"), when="@0.12.3")
+ depends_on("py-numpy@1.8.2:1.17", type=("build", "run"), when="@0.12.4:0.12")
+ depends_on("py-numpy@1.16:", type=("build", "run"), when="@0.13.0:")
diff --git a/var/spack/repos/builtin/packages/py-quart/package.py b/var/spack/repos/builtin/packages/py-quart/package.py
index 8f4b6d2941..28db307880 100644
--- a/var/spack/repos/builtin/packages/py-quart/package.py
+++ b/var/spack/repos/builtin/packages/py-quart/package.py
@@ -11,19 +11,19 @@ class PyQuart(PythonPackage):
Flask."""
homepage = "https://gitlab.com/pgjones/quart/"
- pypi = "Quart/Quart-0.16.3.tar.gz"
+ pypi = "Quart/Quart-0.16.3.tar.gz"
- version('0.16.3', sha256='16521d8cf062461b158433d820fff509f98fb997ae6c28740eda061d9cba7d5e')
+ version("0.16.3", sha256="16521d8cf062461b158433d820fff509f98fb997ae6c28740eda061d9cba7d5e")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-aiofiles', type=('build', 'run'))
- depends_on('py-blinker', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-hypercorn@0.11.2:', type=('build', 'run'))
- depends_on('py-itsdangerous', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-toml', type=('build', 'run'))
- depends_on('py-werkzeug@2:', type=('build', 'run'))
- depends_on('py-importlib-metadata', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-aiofiles", type=("build", "run"))
+ depends_on("py-blinker", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-hypercorn@0.11.2:", type=("build", "run"))
+ depends_on("py-itsdangerous", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-toml", type=("build", "run"))
+ depends_on("py-werkzeug@2:", type=("build", "run"))
+ depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-typing-extensions", type=("build", "run"), when="^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-quast/package.py b/var/spack/repos/builtin/packages/py-quast/package.py
index 73fab671cf..eb34a53816 100644
--- a/var/spack/repos/builtin/packages/py-quast/package.py
+++ b/var/spack/repos/builtin/packages/py-quast/package.py
@@ -11,26 +11,26 @@ class PyQuast(PythonPackage):
"""Quality Assessment Tool for Genome Assemblies"""
homepage = "https://cab.spbu.ru/software/quast"
- url = "https://github.com/ablab/quast/archive/quast_4.6.1.tar.gz"
+ url = "https://github.com/ablab/quast/archive/quast_4.6.1.tar.gz"
- version('4.6.3', sha256='d7f5e670563d17d683f6df057086f7b816b6a088266c6270f7114a1406aaab63')
- version('4.6.1', sha256='a8071188545710e5c0806eac612daaabde9f730819df2c44be3ffa9317b76a58')
- version('4.6.0', sha256='6bee86654b457a981718a19acacffca6a3e74f30997ad06162a70fd2a181ca2e')
+ version("4.6.3", sha256="d7f5e670563d17d683f6df057086f7b816b6a088266c6270f7114a1406aaab63")
+ version("4.6.1", sha256="a8071188545710e5c0806eac612daaabde9f730819df2c44be3ffa9317b76a58")
+ version("4.6.0", sha256="6bee86654b457a981718a19acacffca6a3e74f30997ad06162a70fd2a181ca2e")
- depends_on('boost@1.56.0')
+ depends_on("boost@1.56.0")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('perl@5.6.0:')
- depends_on('python@2.5:,3.3:')
- depends_on('py-setuptools', type='build')
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('java', type=('build', 'run'))
- depends_on('perl-time-hires', type=('build', 'run'))
- depends_on('gnuplot', type=('build', 'run'))
- depends_on('mummer', type=('build', 'run'))
- depends_on('bedtools2', type=('build', 'run'))
- depends_on('bwa', type=('build', 'run'))
- depends_on('glimmer', type=('build', 'run'))
+ depends_on("perl@5.6.0:")
+ depends_on("python@2.5:,3.3:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("java", type=("build", "run"))
+ depends_on("perl-time-hires", type=("build", "run"))
+ depends_on("gnuplot", type=("build", "run"))
+ depends_on("mummer", type=("build", "run"))
+ depends_on("bedtools2", type=("build", "run"))
+ depends_on("bwa", type=("build", "run"))
+ depends_on("glimmer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-quaternionic/package.py b/var/spack/repos/builtin/packages/py-quaternionic/package.py
index 0698aa9ff7..44575311d9 100644
--- a/var/spack/repos/builtin/packages/py-quaternionic/package.py
+++ b/var/spack/repos/builtin/packages/py-quaternionic/package.py
@@ -10,15 +10,15 @@ class PyQuaternionic(PythonPackage):
"""Interpret numpy arrays as quaternionic arrays with numba acceleration"""
homepage = "https://github.com/moble/quaternionic"
- pypi = "quaternionic/quaternionic-1.0.1.tar.gz"
+ pypi = "quaternionic/quaternionic-1.0.1.tar.gz"
- maintainers = ['nilsvu', 'moble']
+ maintainers = ["nilsvu", "moble"]
- version('1.0.1', sha256='ea69733d7311784963922bf08cc0c9c938b62fee2f91219f56544ff30658c10e')
+ version("1.0.1", sha256="ea69733d7311784963922bf08cc0c9c938b62fee2f91219f56544ff30658c10e")
- depends_on('python@3.6:3.9', type=('build', 'run'))
- depends_on('py-poetry-core@1.0.1:', type='build')
- depends_on('py-importlib-metadata@1:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-scipy@1:', type=('build', 'run'))
- depends_on('py-numba@0.50:', type=('build', 'run'))
+ depends_on("python@3.6:3.9", type=("build", "run"))
+ depends_on("py-poetry-core@1.0.1:", type="build")
+ depends_on("py-importlib-metadata@1:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-scipy@1:", type=("build", "run"))
+ depends_on("py-numba@0.50:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-queryablelist/package.py b/var/spack/repos/builtin/packages/py-queryablelist/package.py
index f873805a73..c7e0ea3375 100644
--- a/var/spack/repos/builtin/packages/py-queryablelist/package.py
+++ b/var/spack/repos/builtin/packages/py-queryablelist/package.py
@@ -13,6 +13,6 @@ class PyQueryablelist(PythonPackage):
homepage = "https://github.com/kata198/QueryableList"
pypi = "queryablelist/QueryableList-3.1.0.tar.gz"
- version('3.1.0', sha256='8891dccbadc69a35f5944e1826d8f8db224522aa3af913e301a7a448f5b411e9')
+ version("3.1.0", sha256="8891dccbadc69a35f5944e1826d8f8db224522aa3af913e301a7a448f5b411e9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-questionary/package.py b/var/spack/repos/builtin/packages/py-questionary/package.py
index dd0dd6c41b..d18c43052c 100644
--- a/var/spack/repos/builtin/packages/py-questionary/package.py
+++ b/var/spack/repos/builtin/packages/py-questionary/package.py
@@ -11,10 +11,10 @@ class PyQuestionary(PythonPackage):
command line interfaces."""
homepage = "https://github.com/tmbo/questionary"
- pypi = "questionary/questionary-1.9.0.tar.gz"
+ pypi = "questionary/questionary-1.9.0.tar.gz"
- version('1.9.0', sha256='a050fdbb81406cddca679a6f492c6272da90cb09988963817828f697cf091c55')
+ version("1.9.0", sha256="a050fdbb81406cddca679a6f492c6272da90cb09988963817828f697cf091c55")
- depends_on('python@3.6:3.9', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-prompt-toolkit@2.0:3', type=('build', 'run'))
+ depends_on("python@3.6:3.9", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-prompt-toolkit@2.0:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-radiant-mlhub/package.py b/var/spack/repos/builtin/packages/py-radiant-mlhub/package.py
index 5ec32fc71f..b6f1ce7b6a 100644
--- a/var/spack/repos/builtin/packages/py-radiant-mlhub/package.py
+++ b/var/spack/repos/builtin/packages/py-radiant-mlhub/package.py
@@ -10,26 +10,26 @@ class PyRadiantMlhub(PythonPackage):
"""A Python client for Radiant MLHub."""
homepage = "https://github.com/radiantearth/radiant-mlhub"
- pypi = "radiant-mlhub/radiant_mlhub-0.2.1.tar.gz"
+ pypi = "radiant-mlhub/radiant_mlhub-0.2.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.4.1', sha256='1d95475ec9d4cf460d5201425ba843523b1885a9384b9c1adb81a4a1088adb0f')
- version('0.4.0', sha256='0208881601216f895a1c084a3ca9e5c46b09dbc09dca0447540192e4abb847b1')
- version('0.3.1', sha256='3a5a8e971132d5b4cd9e412c7f6d87894fc588655ae0e93006646927b1ecb902')
- version('0.3.0', sha256='dd66479f12317e7bf366abe8d692841485e9497918c30ab14cd6db9e69ce3dbb')
- version('0.2.2', sha256='0d9f634b7e29c7f7294b81a10cf712ac63251949a9c5a07aa6c64c0d5b77e1ba')
- version('0.2.1', sha256='75a2f096b09a87191238fe557dc64dda8c44156351b4026c784c848c7d84b6fb')
+ version("0.4.1", sha256="1d95475ec9d4cf460d5201425ba843523b1885a9384b9c1adb81a4a1088adb0f")
+ version("0.4.0", sha256="0208881601216f895a1c084a3ca9e5c46b09dbc09dca0447540192e4abb847b1")
+ version("0.3.1", sha256="3a5a8e971132d5b4cd9e412c7f6d87894fc588655ae0e93006646927b1ecb902")
+ version("0.3.0", sha256="dd66479f12317e7bf366abe8d692841485e9497918c30ab14cd6db9e69ce3dbb")
+ version("0.2.2", sha256="0d9f634b7e29c7f7294b81a10cf712ac63251949a9c5a07aa6c64c0d5b77e1ba")
+ version("0.2.1", sha256="75a2f096b09a87191238fe557dc64dda8c44156351b4026c784c848c7d84b6fb")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('python@3.7:', when='@0.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.25.1:2.25', when='@:0.2', type=('build', 'run'))
- depends_on('py-requests@2.25:2', when='@0.3:', type=('build', 'run'))
- depends_on('py-pystac@0.5.4', when='@:0.2', type=('build', 'run'))
- depends_on('py-pystac@1.1:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-click@7.1.2:7.1', when='@:0.2', type=('build', 'run'))
- depends_on('py-click@7.1.2:8', when='@0.3:', type=('build', 'run'))
- depends_on('py-tqdm@4.56', when='@:0.2', type=('build', 'run'))
- depends_on('py-tqdm@4.56:4', when='@0.3:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7:', when='@0.4.1: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("python@3.7:", when="@0.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.25.1:2.25", when="@:0.2", type=("build", "run"))
+ depends_on("py-requests@2.25:2", when="@0.3:", type=("build", "run"))
+ depends_on("py-pystac@0.5.4", when="@:0.2", type=("build", "run"))
+ depends_on("py-pystac@1.1:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-click@7.1.2:7.1", when="@:0.2", type=("build", "run"))
+ depends_on("py-click@7.1.2:8", when="@0.3:", type=("build", "run"))
+ depends_on("py-tqdm@4.56", when="@:0.2", type=("build", "run"))
+ depends_on("py-tqdm@4.56:4", when="@0.3:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7:", when="@0.4.1: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-radical-entk/package.py b/var/spack/repos/builtin/packages/py-radical-entk/package.py
index 1d15bce1a1..14a4362e91 100644
--- a/var/spack/repos/builtin/packages/py-radical-entk/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-entk/package.py
@@ -10,29 +10,29 @@ 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.14.0.tar.gz'
-
- maintainers = ['andre-merzky']
-
- version('develop', branch='devel')
- version('1.14.0', sha256='beb6de5625b52b3aeeace52f7b4ac608e9f1bb761d8e9cdfe85d3e36931ce9f3')
- version('1.13.0', sha256='5489338173409777d69885fd5fdb296552937d5a539a8182321bebe273647e1c')
- version('1.12.0', sha256='1ea4814c8324e28cc2b86e6f44d26aaa09c8257ed58f50d1d2eada99adaa17da')
- version('1.11.0', sha256='a912ae3aee4c1a323910dbbb33c87a65f02bb30da94e64d81bb3203c2109fb83')
- version('1.9.0', sha256='918c716ac5eecb012a57452f45f5a064af7ea72f70765c7b0c60be4322b23557')
- version('1.8.0', sha256='47a3f7f1409612d015a3e6633853d31ec4e4b0681aecb7554be16ebf39c7f756')
- version('1.6.7', sha256='9384568279d29b9619a565c075f287a08bca8365e2af55e520af0c2f3595f8a2')
-
- depends_on('py-radical-utils', type=('build', 'run'))
- depends_on('py-radical-pilot', type=('build', 'run'))
-
- depends_on('py-radical-utils@1.12:', type=('build', 'run'), when='@1.12:')
- depends_on('py-radical-pilot@1.12:', type=('build', 'run'), when='@1.12:')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pika@0.13.0', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ homepage = "https://radical-cybertools.github.io"
+ git = "https://github.com/radical-cybertools/radical.entk.git"
+ pypi = "radical.entk/radical.entk-1.14.0.tar.gz"
+
+ maintainers = ["andre-merzky"]
+
+ version("develop", branch="devel")
+ version("1.14.0", sha256="beb6de5625b52b3aeeace52f7b4ac608e9f1bb761d8e9cdfe85d3e36931ce9f3")
+ version("1.13.0", sha256="5489338173409777d69885fd5fdb296552937d5a539a8182321bebe273647e1c")
+ version("1.12.0", sha256="1ea4814c8324e28cc2b86e6f44d26aaa09c8257ed58f50d1d2eada99adaa17da")
+ version("1.11.0", sha256="a912ae3aee4c1a323910dbbb33c87a65f02bb30da94e64d81bb3203c2109fb83")
+ version("1.9.0", sha256="918c716ac5eecb012a57452f45f5a064af7ea72f70765c7b0c60be4322b23557")
+ version("1.8.0", sha256="47a3f7f1409612d015a3e6633853d31ec4e4b0681aecb7554be16ebf39c7f756")
+ version("1.6.7", sha256="9384568279d29b9619a565c075f287a08bca8365e2af55e520af0c2f3595f8a2")
+
+ depends_on("py-radical-utils", type=("build", "run"))
+ depends_on("py-radical-pilot", type=("build", "run"))
+
+ depends_on("py-radical-utils@1.12:", type=("build", "run"), when="@1.12:")
+ depends_on("py-radical-pilot@1.12:", type=("build", "run"), when="@1.12:")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pika@0.13.0", type=("build", "run"))
+ depends_on("py-requests", 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
index b54c37e8d5..804f8eacee 100644
--- a/var/spack/repos/builtin/packages/py-radical-gtod/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-gtod/package.py
@@ -12,17 +12,17 @@ class PyRadicalGtod(PythonPackage):
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.13.0.tar.gz'
+ homepage = "https://radical-cybertools.github.io"
+ git = "https://github.com/radical-cybertools/radical.gtod.git"
+ pypi = "radical.gtod/radical.gtod-1.13.0.tar.gz"
- maintainers = ['andre-merzky']
+ maintainers = ["andre-merzky"]
- version('develop', branch='devel')
- version('1.13.0', sha256='15df4ae728a8878b111cfdedffb9457aecc8003c2cfbdf2c918dfcb6b836cc93')
- version('1.6.7', sha256='8d7d32e3d0bcf6d7cf176454a9892a46919b03e1ed96bee389380e6d75d6eff8')
+ version("develop", branch="devel")
+ version("1.13.0", sha256="15df4ae728a8878b111cfdedffb9457aecc8003c2cfbdf2c918dfcb6b836cc93")
+ version("1.6.7", sha256="8d7d32e3d0bcf6d7cf176454a9892a46919b03e1ed96bee389380e6d75d6eff8")
- depends_on('py-radical-utils', type=('build', 'run'), when='@1.13:')
+ depends_on("py-radical-utils", type=("build", "run"), when="@1.13:")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ 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
index 3546ce7e2c..e946cb218e 100644
--- a/var/spack/repos/builtin/packages/py-radical-pilot/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-pilot/package.py
@@ -11,36 +11,36 @@ class PyRadicalPilot(PythonPackage):
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.14.0.tar.gz'
-
- maintainers = ['andre-merzky']
-
- version('develop', branch='devel')
- version('1.14.0', sha256='462471065de25f6d6e8baee705790828444c2eebb2073f5faf67a8da800d15a9')
- version('1.13.0', sha256='5bd9eef1884ccca09c242ab6d1361588a442d9cd980613c66604ba140786bde5')
- version('1.12.0', sha256='a266355d30d838f20b6cac190ce589ca919acd41883ad06aec62386239475133')
- version('1.11.2', sha256='9d239f747589b8ae5d6faaea90ea5304b6f230a1edfd8d4efb440bc3799c8a9d')
- version('1.10.2', sha256='56e9d8b1ce7ed05eff471d7df660e4940f485027e5f353aa36fd17425846a499')
- version('1.10.1', sha256='003f4c519b991bded31693026b69dd51547a5a69a5f94355dc8beff766524b3c')
- version('1.9.2', sha256='7c872ac9103a2aed0c5cd46057048a182f672191e194e0fd42794b0012e6e947')
- version('1.8.0', sha256='a4c3bca163db61206e15a2d820d9a64e888da5c72672448ae975c26768130b9d')
- version('1.6.8', sha256='fa8fd3f348a68b54ee8338d5c5cf1a3d99c10c0b6da804424a839239ee0d313d')
- version('1.6.7', sha256='6ca0a3bd3cda65034fa756f37fa05681d5a43441c1605408a58364f89c627970')
-
- depends_on('py-radical-utils', type=('build', 'run'))
- depends_on('py-radical-saga', type=('build', 'run'))
- depends_on('py-radical-gtod', type=('build', 'run'), when='@1.14:')
-
- depends_on('py-radical-utils@1.12:', type=('build', 'run'), when='@1.12:')
- depends_on('py-radical-saga@1.12:', type=('build', 'run'), when='@1.12:')
-
- depends_on('py-radical-utils@1.8.4:1.11', type=('build', 'run'), when='@1.11')
- depends_on('py-radical-saga@1.8:1.11', type=('build', 'run'), when='@1.11')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-dill', type=('build', 'run'), when='@1.14:')
- depends_on('py-pymongo@:3', type=('build', 'run'))
- depends_on('py-setproctitle', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ homepage = "https://radical-cybertools.github.io"
+ git = "https://github.com/radical-cybertools/radical.pilot.git"
+ pypi = "radical.pilot/radical.pilot-1.14.0.tar.gz"
+
+ maintainers = ["andre-merzky"]
+
+ version("develop", branch="devel")
+ version("1.14.0", sha256="462471065de25f6d6e8baee705790828444c2eebb2073f5faf67a8da800d15a9")
+ version("1.13.0", sha256="5bd9eef1884ccca09c242ab6d1361588a442d9cd980613c66604ba140786bde5")
+ version("1.12.0", sha256="a266355d30d838f20b6cac190ce589ca919acd41883ad06aec62386239475133")
+ version("1.11.2", sha256="9d239f747589b8ae5d6faaea90ea5304b6f230a1edfd8d4efb440bc3799c8a9d")
+ version("1.10.2", sha256="56e9d8b1ce7ed05eff471d7df660e4940f485027e5f353aa36fd17425846a499")
+ version("1.10.1", sha256="003f4c519b991bded31693026b69dd51547a5a69a5f94355dc8beff766524b3c")
+ version("1.9.2", sha256="7c872ac9103a2aed0c5cd46057048a182f672191e194e0fd42794b0012e6e947")
+ version("1.8.0", sha256="a4c3bca163db61206e15a2d820d9a64e888da5c72672448ae975c26768130b9d")
+ version("1.6.8", sha256="fa8fd3f348a68b54ee8338d5c5cf1a3d99c10c0b6da804424a839239ee0d313d")
+ version("1.6.7", sha256="6ca0a3bd3cda65034fa756f37fa05681d5a43441c1605408a58364f89c627970")
+
+ depends_on("py-radical-utils", type=("build", "run"))
+ depends_on("py-radical-saga", type=("build", "run"))
+ depends_on("py-radical-gtod", type=("build", "run"), when="@1.14:")
+
+ depends_on("py-radical-utils@1.12:", type=("build", "run"), when="@1.12:")
+ depends_on("py-radical-saga@1.12:", type=("build", "run"), when="@1.12:")
+
+ depends_on("py-radical-utils@1.8.4:1.11", type=("build", "run"), when="@1.11")
+ depends_on("py-radical-saga@1.8:1.11", type=("build", "run"), when="@1.11")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-dill", type=("build", "run"), when="@1.14:")
+ depends_on("py-pymongo@:3", type=("build", "run"))
+ depends_on("py-setproctitle", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-radical-saga/package.py b/var/spack/repos/builtin/packages/py-radical-saga/package.py
index 0fbec14acd..34565216fe 100644
--- a/var/spack/repos/builtin/packages/py-radical-saga/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-saga/package.py
@@ -12,26 +12,26 @@ class PyRadicalSaga(PythonPackage):
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.14.0.tar.gz'
+ homepage = "https://radical-cybertools.github.io"
+ git = "https://github.com/radical-cybertools/radical.saga.git"
+ pypi = "radical.saga/radical.saga-1.14.0.tar.gz"
- maintainers = ['andre-merzky']
+ maintainers = ["andre-merzky"]
- version('develop', branch='devel')
- version('1.14.0', sha256='337d8778bf392fd54845b1876de903c4c12f6fa938ef16220e1847561b66731a')
- version('1.13.0', sha256='90d8e875f48402deab87314ea5c08d591264fb576c461bd9663ac611fc2e547e')
- version('1.12.0', sha256='769c83bab95c0e3ef970da0fa6cb30878d7a31216ff8b542e894686357f7cb5b')
- version('1.11.1', sha256='edb1def63fadd192a4be4f508e9e65669745843e158ce27a965bf2f43d18b84d')
- version('1.8.0', sha256='6edf94897102a08dcb994f7f107a0e25e7f546a0a9488af3f8b92ceeeaaf58a6')
- version('1.6.10', sha256='8fe7e281e9f81234f34f5c7c7986871761e9e37230d2a874c65d18daeccd976a')
- version('1.6.8', sha256='d5e9f95a027087fb637cef065ff3af848e5902e403360189e36c9aa7c3f6f29b')
+ version("develop", branch="devel")
+ version("1.14.0", sha256="337d8778bf392fd54845b1876de903c4c12f6fa938ef16220e1847561b66731a")
+ version("1.13.0", sha256="90d8e875f48402deab87314ea5c08d591264fb576c461bd9663ac611fc2e547e")
+ version("1.12.0", sha256="769c83bab95c0e3ef970da0fa6cb30878d7a31216ff8b542e894686357f7cb5b")
+ version("1.11.1", sha256="edb1def63fadd192a4be4f508e9e65669745843e158ce27a965bf2f43d18b84d")
+ version("1.8.0", sha256="6edf94897102a08dcb994f7f107a0e25e7f546a0a9488af3f8b92ceeeaaf58a6")
+ version("1.6.10", sha256="8fe7e281e9f81234f34f5c7c7986871761e9e37230d2a874c65d18daeccd976a")
+ version("1.6.8", sha256="d5e9f95a027087fb637cef065ff3af848e5902e403360189e36c9aa7c3f6f29b")
- depends_on('py-radical-utils', type=('build', 'run'))
+ depends_on("py-radical-utils", type=("build", "run"))
- depends_on('py-radical-utils@1.12:', type=('build', 'run'), when='@1.12:')
+ depends_on("py-radical-utils@1.12:", type=("build", "run"), when="@1.12:")
- 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')
+ 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
index 64a88b2079..b2c1e911ab 100644
--- a/var/spack/repos/builtin/packages/py-radical-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-utils/package.py
@@ -10,35 +10,43 @@ class PyRadicalUtils(PythonPackage):
"""RADICAL-Utils contains shared code and tools for various
RADICAL-Cybertools packages."""
- homepage = 'https://radical-cybertools.github.io'
- git = 'https://github.com/radical-cybertools/radical.utils.git'
- pypi = 'radical.utils/radical.utils-1.14.0.tar.gz'
-
- maintainers = ['andre-merzky']
-
- version('develop', branch='devel')
- version('1.14.0', sha256='f61f0e335bbdc51e4023458e7e6959551686ebf170adc5353220dcc83fd677c9')
- version('1.13.0', sha256='84c1cad8be988dad7fb2b8455d19a4fb0c979fab02c5b7a7b531a4ae8fe52580')
- version('1.12.0', sha256='1474dbe4d94cdf3e992e1711e10d73dffa352c1c29ff51d81c1686e5081e9398')
- version('1.11.1', sha256='4fec3f6d45d7309c891ab4f8aeda0257f06f9a8404ca87c7eb643cd8d7415804')
- version('1.11.0', sha256='81537c2a2f8a1a409b4a1aac67323c6b49cc994e2b70052425e2bc8d4622e2de')
- version('1.9.1', sha256='0837d75e7f9dcce5ba5ac63151ab1683d6ba9ab3954b076d1f170cc4a3cdb1b4')
- version('1.8.4', sha256='4777ba20e9f881bf3e73ad917638fdeca5a4b253d57ed7b321a07f670e3f737b')
- version('1.8.0', sha256='8582c65593f51d394fc263c6354ec5ad9cc7173369dcedfb2eef4f5e8146cf03')
- 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'), when='@:1.13')
-
- 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@:3', type=('build', 'run'))
- depends_on('py-pyzmq', type=('build', 'run'))
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-setproctitle', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ homepage = "https://radical-cybertools.github.io"
+ git = "https://github.com/radical-cybertools/radical.utils.git"
+ pypi = "radical.utils/radical.utils-1.14.0.tar.gz"
+
+ maintainers = ["andre-merzky"]
+
+ version("develop", branch="devel")
+ version("1.14.0", sha256="f61f0e335bbdc51e4023458e7e6959551686ebf170adc5353220dcc83fd677c9")
+ version("1.13.0", sha256="84c1cad8be988dad7fb2b8455d19a4fb0c979fab02c5b7a7b531a4ae8fe52580")
+ version("1.12.0", sha256="1474dbe4d94cdf3e992e1711e10d73dffa352c1c29ff51d81c1686e5081e9398")
+ version("1.11.1", sha256="4fec3f6d45d7309c891ab4f8aeda0257f06f9a8404ca87c7eb643cd8d7415804")
+ version("1.11.0", sha256="81537c2a2f8a1a409b4a1aac67323c6b49cc994e2b70052425e2bc8d4622e2de")
+ version("1.9.1", sha256="0837d75e7f9dcce5ba5ac63151ab1683d6ba9ab3954b076d1f170cc4a3cdb1b4")
+ version("1.8.4", sha256="4777ba20e9f881bf3e73ad917638fdeca5a4b253d57ed7b321a07f670e3f737b")
+ version("1.8.0", sha256="8582c65593f51d394fc263c6354ec5ad9cc7173369dcedfb2eef4f5e8146cf03")
+ 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"), when="@:1.13")
+
+ 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@:3", type=("build", "run"))
+ depends_on("py-pyzmq", type=("build", "run"))
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-setproctitle", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ranger-fm/package.py b/var/spack/repos/builtin/packages/py-ranger-fm/package.py
index 60fd68f7fd..010dee908d 100644
--- a/var/spack/repos/builtin/packages/py-ranger-fm/package.py
+++ b/var/spack/repos/builtin/packages/py-ranger-fm/package.py
@@ -10,9 +10,9 @@ class PyRangerFm(PythonPackage):
"""A VIM-inspired filemanager for the console"""
pypi = "ranger-fm/ranger-fm-1.9.2.tar.gz"
- git = "https://github.com/ranger/ranger.git"
+ git = "https://github.com/ranger/ranger.git"
- version('1.9.2', sha256='0ec62031185ad1f40b9faebd5a2d517c8597019c2eee919e3f1c60ce466d8625')
+ version("1.9.2", sha256="0ec62031185ad1f40b9faebd5a2d517c8597019c2eee919e3f1c60ce466d8625")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-rapidfuzz/package.py b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py
index e39640df90..29e28c9935 100644
--- a/var/spack/repos/builtin/packages/py-rapidfuzz/package.py
+++ b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py
@@ -10,10 +10,10 @@ class PyRapidfuzz(PythonPackage):
"""Rapid fuzzy string matching in Python and C++ using the Levenshtein Distance."""
homepage = "https://github.com/maxbachmann/rapidfuzz"
- pypi = "rapidfuzz/rapidfuzz-1.8.2.tar.gz"
+ pypi = "rapidfuzz/rapidfuzz-1.8.2.tar.gz"
- version('1.8.2', sha256='d6efbb2b6b18b3a67d7bdfbcd9bb72732f55736852bbef823bdf210f9e0c6c90')
+ version("1.8.2", sha256="d6efbb2b6b18b3a67d7bdfbcd9bb72732f55736852bbef823bdf210f9e0c6c90")
- depends_on('python@2.7:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rarfile/package.py b/var/spack/repos/builtin/packages/py-rarfile/package.py
index 4a15aca110..f8644b1c84 100644
--- a/var/spack/repos/builtin/packages/py-rarfile/package.py
+++ b/var/spack/repos/builtin/packages/py-rarfile/package.py
@@ -10,10 +10,10 @@ class PyRarfile(PythonPackage):
"""RAR archive reader for Python."""
homepage = "https://github.com/markokr/rarfile"
- pypi = "rarfile/rarfile-4.0.tar.gz"
+ pypi = "rarfile/rarfile-4.0.tar.gz"
- version('4.0', sha256='67548769229c5bda0827c1663dce3f54644f9dbfba4ae86d4da2b2afd3e602a1')
+ version("4.0", sha256="67548769229c5bda0827c1663dce3f54644f9dbfba4ae86d4da2b2afd3e602a1")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('unrar', type='run')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("unrar", type="run")
diff --git a/var/spack/repos/builtin/packages/py-rasterio/package.py b/var/spack/repos/builtin/packages/py-rasterio/package.py
index a345c36e94..a4eb030200 100644
--- a/var/spack/repos/builtin/packages/py-rasterio/package.py
+++ b/var/spack/repos/builtin/packages/py-rasterio/package.py
@@ -17,43 +17,43 @@ class PyRasterio(PythonPackage):
pypi = "rasterio/rasterio-1.1.8.tar.gz"
git = "https://github.com/rasterio/rasterio.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master')
- version('1.3.0', sha256='90171035e5b201cdb85a9abd60181426366040d4ca44706958db982a030f8dc4')
- version('1.2.10', sha256='6062456047ba6494fe18bd0da98a383b6fad5306b16cd52a22e76c59172a2b5f')
- version('1.2.3', sha256='d8c345e01052b70ac3bbbe100c83def813c0ab19f7412c2c98e553d03720c1c5')
- version('1.1.8', sha256='f7cac7e2ecf65b4b1eb78c994c63bd429b67dc679b0bc0ecfe487d3d5bf88fd5')
- version('1.1.5', sha256='ebe75c71f9257c780615caaec8ef81fa4602702cf9290a65c213e1639284acc9')
- version('1.0.24', sha256='4839479621045211f66868ec49625979693450bc2e476f23e7e8ac4804eaf452')
- version('1.0a12', sha256='47d460326e04c64590ff56952271a184a6307f814efc34fb319c12e690585f3c')
+ version("master", branch="master")
+ version("1.3.0", sha256="90171035e5b201cdb85a9abd60181426366040d4ca44706958db982a030f8dc4")
+ version("1.2.10", sha256="6062456047ba6494fe18bd0da98a383b6fad5306b16cd52a22e76c59172a2b5f")
+ version("1.2.3", sha256="d8c345e01052b70ac3bbbe100c83def813c0ab19f7412c2c98e553d03720c1c5")
+ version("1.1.8", sha256="f7cac7e2ecf65b4b1eb78c994c63bd429b67dc679b0bc0ecfe487d3d5bf88fd5")
+ version("1.1.5", sha256="ebe75c71f9257c780615caaec8ef81fa4602702cf9290a65c213e1639284acc9")
+ version("1.0.24", sha256="4839479621045211f66868ec49625979693450bc2e476f23e7e8ac4804eaf452")
+ version("1.0a12", sha256="47d460326e04c64590ff56952271a184a6307f814efc34fb319c12e690585f3c")
# From README.rst
- depends_on('python@3.8:', when='@1.3:', type=('build', 'link', 'run'))
- depends_on('python@3.6:3.9', when='@1.2', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.5:3.8', when='@1.1', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.5:3.7', when='@:1.0', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.18:', when='@1.3:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.15:', when='@1.2:', type=('build', 'link', 'run'))
- depends_on('gdal@3.1:', when='@1.3:')
- depends_on('gdal@2.4:3.3', when='@1.2.7:1.2')
- depends_on('gdal@2.3:3.2', when='@1.2.0:1.2.6')
- depends_on('gdal@1.11:3.2', when='@1.1.0:1.1')
- depends_on('gdal@1.11:3.0', when='@1.0.25:1.0')
- depends_on('gdal@1.11:2', when='@:1.0.24')
+ depends_on("python@3.8:", when="@1.3:", type=("build", "link", "run"))
+ depends_on("python@3.6:3.9", when="@1.2", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.5:3.8", when="@1.1", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.5:3.7", when="@:1.0", type=("build", "link", "run"))
+ depends_on("py-numpy@1.18:", when="@1.3:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.15:", when="@1.2:", type=("build", "link", "run"))
+ depends_on("gdal@3.1:", when="@1.3:")
+ depends_on("gdal@2.4:3.3", when="@1.2.7:1.2")
+ depends_on("gdal@2.3:3.2", when="@1.2.0:1.2.6")
+ depends_on("gdal@1.11:3.2", when="@1.1.0:1.1")
+ depends_on("gdal@1.11:3.0", when="@1.0.25:1.0")
+ depends_on("gdal@1.11:2", when="@:1.0.24")
# From pyproject.toml
- depends_on('py-cython', type='build', when='@1.3:')
+ depends_on("py-cython", type="build", when="@1.3:")
# From setup.py
- depends_on('py-affine', type=('build', 'run'))
- depends_on('py-attrs', type=('build', 'run'))
- depends_on('py-certifi', when='@1.2:', type=('build', 'run'))
- depends_on('py-click@4:', when='@1.2.4:', type=('build', 'run'))
- depends_on('py-click@4:7', when='@:1.2.3', type=('build', 'run'))
- depends_on('py-cligj@0.5:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'link', 'run'))
- depends_on('py-snuggs@1.4.1:', type=('build', 'run'))
- depends_on('py-click-plugins', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-enum34', type='run', when='^python@:3.3')
+ depends_on("py-affine", type=("build", "run"))
+ depends_on("py-attrs", type=("build", "run"))
+ depends_on("py-certifi", when="@1.2:", type=("build", "run"))
+ depends_on("py-click@4:", when="@1.2.4:", type=("build", "run"))
+ depends_on("py-click@4:7", when="@:1.2.3", type=("build", "run"))
+ depends_on("py-cligj@0.5:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "link", "run"))
+ depends_on("py-snuggs@1.4.1:", type=("build", "run"))
+ depends_on("py-click-plugins", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-enum34", type="run", when="^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-ratelim/package.py b/var/spack/repos/builtin/packages/py-ratelim/package.py
index 03e6b34ca4..d930dbb2d8 100644
--- a/var/spack/repos/builtin/packages/py-ratelim/package.py
+++ b/var/spack/repos/builtin/packages/py-ratelim/package.py
@@ -12,7 +12,7 @@ class PyRatelim(PythonPackage):
homepage = "https://github.com/themiurgo/ratelim"
pypi = "ratelim/ratelim-0.1.6.tar.gz"
- version('0.1.6', sha256='826d32177e11f9a12831901c9fda6679fd5bbea3605910820167088f5acbb11d')
+ version("0.1.6", sha256="826d32177e11f9a12831901c9fda6679fd5bbea3605910820167088f5acbb11d")
- depends_on('py-setuptools', type='build')
- depends_on('py-decorator', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-decorator", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ratelimiter/package.py b/var/spack/repos/builtin/packages/py-ratelimiter/package.py
index 6850d2d5b1..eb1638e52a 100644
--- a/var/spack/repos/builtin/packages/py-ratelimiter/package.py
+++ b/var/spack/repos/builtin/packages/py-ratelimiter/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class PyRatelimiter(PythonPackage):
"""Simple Python module providing rate limiting."""
- homepage = 'https://github.com/RazerM/ratelimiter'
- pypi = 'ratelimiter/ratelimiter-1.2.0.post0.tar.gz'
+ homepage = "https://github.com/RazerM/ratelimiter"
+ pypi = "ratelimiter/ratelimiter-1.2.0.post0.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('1.2.0.post0', '5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7')
+ version("1.2.0.post0", "5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-raven/package.py b/var/spack/repos/builtin/packages/py-raven/package.py
index d65c6010d0..425539ded8 100644
--- a/var/spack/repos/builtin/packages/py-raven/package.py
+++ b/var/spack/repos/builtin/packages/py-raven/package.py
@@ -12,10 +12,10 @@ class PyRaven(PythonPackage):
homepage = "https://github.com/getsentry/raven-python"
pypi = "raven/raven-6.10.0.tar.gz"
- version('6.10.0', sha256='3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54')
+ version("6.10.0", sha256="3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54")
- variant('flask', default=False, description='Build flask backend')
+ variant("flask", default=False, description="Build flask backend")
- depends_on('py-setuptools', type='build')
- depends_on('py-flask@0.8:', when='+flask', type=('build', 'run'))
- depends_on('py-blinker@1.1:', when='+flask', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flask@0.8:", when="+flask", type=("build", "run"))
+ depends_on("py-blinker@1.1:", when="+flask", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ray/package.py b/var/spack/repos/builtin/packages/py-ray/package.py
index 33810602f1..3f6de85cdb 100644
--- a/var/spack/repos/builtin/packages/py-ray/package.py
+++ b/var/spack/repos/builtin/packages/py-ray/package.py
@@ -12,52 +12,52 @@ class PyRay(PythonPackage):
ecosystem."""
homepage = "https://github.com/ray-project/ray"
- url = "https://github.com/ray-project/ray/archive/ray-0.8.7.tar.gz"
-
- version('0.8.7', sha256='2df328f1bcd3eeb4fa33119142ea0d669396f4ab2a3e78db90178757aa61534b')
-
- build_directory = 'python'
-
- depends_on('python@3.6:3.8', type=('build', 'run'))
- depends_on('bazel@3.2.0', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29.14:', type='build')
- depends_on('py-wheel', type='build')
- depends_on('npm', type='build')
- depends_on('py-aiohttp', type=('build', 'run'))
- depends_on('py-aioredis', type=('build', 'run'))
- depends_on('py-click@7.0:', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-colorful', type=('build', 'run'))
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-google', type=('build', 'run'))
- depends_on('py-gpustat', type=('build', 'run'))
- depends_on('py-grpcio@1.28.1:', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-msgpack@1.0:1', type=('build', 'run'))
- depends_on('py-numpy@1.16:', type=('build', 'run'))
- depends_on('py-protobuf@3.8.0:', type=('build', 'run'))
- depends_on('py-py-spy@0.2.0:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-redis@3.3.2:3.4', type=('build', 'run'))
- depends_on('py-opencensus', type=('build', 'run'))
- depends_on('py-prometheus-client@0.7.1:', type=('build', 'run'))
+ url = "https://github.com/ray-project/ray/archive/ray-0.8.7.tar.gz"
+
+ version("0.8.7", sha256="2df328f1bcd3eeb4fa33119142ea0d669396f4ab2a3e78db90178757aa61534b")
+
+ build_directory = "python"
+
+ depends_on("python@3.6:3.8", type=("build", "run"))
+ depends_on("bazel@3.2.0", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29.14:", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("npm", type="build")
+ depends_on("py-aiohttp", type=("build", "run"))
+ depends_on("py-aioredis", type=("build", "run"))
+ depends_on("py-click@7.0:", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-colorful", type=("build", "run"))
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-google", type=("build", "run"))
+ depends_on("py-gpustat", type=("build", "run"))
+ depends_on("py-grpcio@1.28.1:", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-msgpack@1.0:1", type=("build", "run"))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
+ depends_on("py-protobuf@3.8.0:", type=("build", "run"))
+ depends_on("py-py-spy@0.2.0:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-redis@3.3.2:3.4", type=("build", "run"))
+ depends_on("py-opencensus", type=("build", "run"))
+ depends_on("py-prometheus-client@0.7.1:", type=("build", "run"))
# If not guarded by SKIP_THIRDPARTY_INSTALL, those dependencies
# would be automatically installed via pip by the setup.py script.
- depends_on('py-setproctitle', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
+ depends_on("py-setproctitle", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
# If not detected during install, the following dependency would
# be automatically downloaded and installed by the setup.py script.
- depends_on('py-pickle5', when='^python@:3.8.1', type=('build', 'run'))
+ depends_on("py-pickle5", when="^python@:3.8.1", type=("build", "run"))
def setup_build_environment(self, env):
- env.set('SKIP_THIRDPARTY_INSTALL', '1')
+ env.set("SKIP_THIRDPARTY_INSTALL", "1")
# Compile the dashboard npm modules included in the project
- @run_before('install')
+ @run_before("install")
def build_dashboard(self):
- with working_dir(join_path('python', 'ray', 'dashboard', 'client')):
- npm = which('npm')
- npm('ci')
- npm('run', 'build')
+ with working_dir(join_path("python", "ray", "dashboard", "client")):
+ npm = which("npm")
+ npm("ci")
+ npm("run", "build")
diff --git a/var/spack/repos/builtin/packages/py-rbtools/package.py b/var/spack/repos/builtin/packages/py-rbtools/package.py
index 862cc8e532..84a192f059 100644
--- a/var/spack/repos/builtin/packages/py-rbtools/package.py
+++ b/var/spack/repos/builtin/packages/py-rbtools/package.py
@@ -11,16 +11,16 @@ class PyRbtools(PythonPackage):
use with Review Board."""
homepage = "https://github.com/reviewboard/rbtools"
- url = "https://github.com/reviewboard/rbtools/archive/release-1.0.2.tar.gz"
+ url = "https://github.com/reviewboard/rbtools/archive/release-1.0.2.tar.gz"
- version('1.0.2', sha256='dd7aa95691be91f394d085120e44bcec3dc440b01a8f7e2742e09a8d756c831c')
- version('1.0.1', sha256='bc5e3c511a2273ec61c43a82f56b4cef0b23beae81e277cecbb37ce6761edf29')
- version('1.0', sha256='dbab2cc89d798462c7e74952d43ba1ff1c97eb9c8f92876e600c6520f72454c9')
+ version("1.0.2", sha256="dd7aa95691be91f394d085120e44bcec3dc440b01a8f7e2742e09a8d756c831c")
+ version("1.0.1", sha256="bc5e3c511a2273ec61c43a82f56b4cef0b23beae81e277cecbb37ce6761edf29")
+ version("1.0", sha256="dbab2cc89d798462c7e74952d43ba1ff1c97eb9c8f92876e600c6520f72454c9")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-texttable', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-six@1.8.0:', type=('build', 'run'))
- depends_on('py-backports-shutil-get-terminal-size', when='^python@:2', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-texttable", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-six@1.8.0:", type=("build", "run"))
+ depends_on("py-backports-shutil-get-terminal-size", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rdflib/package.py b/var/spack/repos/builtin/packages/py-rdflib/package.py
index a369266cd3..2cce6203a3 100644
--- a/var/spack/repos/builtin/packages/py-rdflib/package.py
+++ b/var/spack/repos/builtin/packages/py-rdflib/package.py
@@ -16,16 +16,16 @@ class PyRdflib(PythonPackage):
implementations store implementations for in-memory storage and
persistent storage on top of the Berkeley DB a SPARQL 1.1
implementation - supporting SPARQL 1.1 Queries and Update
- statements """
+ statements"""
homepage = "https://github.com/RDFLib/rdflib"
pypi = "rdflib/rdflib-5.0.0.tar.gz"
- version('6.0.2', sha256='6136ae056001474ee2aff5fc5b956e62a11c3a9c66bb0f3d9c0aaa5fbb56854e')
- version('5.0.0', sha256='78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155')
+ version("6.0.2", sha256="6136ae056001474ee2aff5fc5b956e62a11c3a9c66bb0f3d9c0aaa5fbb56854e")
+ version("5.0.0", sha256="78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155")
- depends_on('python@3.7:', when='@6:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing', type=('build', 'run'))
- depends_on('py-isodate', type=('build', 'run'))
- depends_on('py-six', when='@:5', type=('build', 'run'))
+ depends_on("python@3.7:", when="@6:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing", type=("build", "run"))
+ depends_on("py-isodate", type=("build", "run"))
+ depends_on("py-six", when="@:5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rdt/package.py b/var/spack/repos/builtin/packages/py-rdt/package.py
index 82eee5ec93..9398f0edb8 100644
--- a/var/spack/repos/builtin/packages/py-rdt/package.py
+++ b/var/spack/repos/builtin/packages/py-rdt/package.py
@@ -12,14 +12,14 @@ class PyRdt(PythonPackage):
to revert them as needed."""
homepage = "https://github.com/sdv-dev/RDT"
- pypi = "rdt/rdt-0.6.1.tar.gz"
+ pypi = "rdt/rdt-0.6.1.tar.gz"
- version('0.6.1', sha256='ee2ac0d3479b254f99f35a709a24ffd5f2c899de6ea71f1ee844c6113febba71')
+ version("0.6.1", sha256="ee2ac0d3479b254f99f35a709a24ffd5f2c899de6ea71f1ee844c6113febba71")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
- depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1.1.4', type=('build', 'run'))
- depends_on('py-scipy@1.5.4:1', type=('build', 'run'))
- depends_on('py-psutil@5.7:5', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.18:1.19", type=("build", "run"), when="^python@3.6")
+ depends_on("py-numpy@1.20:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1.1.4", type=("build", "run"))
+ depends_on("py-scipy@1.5.4:1", type=("build", "run"))
+ depends_on("py-psutil@5.7:5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-readme-renderer/package.py b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
index 0b21b86acc..e5cac022aa 100644
--- a/var/spack/repos/builtin/packages/py-readme-renderer/package.py
+++ b/var/spack/repos/builtin/packages/py-readme-renderer/package.py
@@ -13,11 +13,11 @@ class PyReadmeRenderer(PythonPackage):
homepage = "https://github.com/pypa/readme_renderer"
pypi = "readme_renderer/readme_renderer-24.0.tar.gz"
- version('24.0', sha256='bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f')
- version('16.0', sha256='c46b3418ddef3c3c3f819a4a9cfd56ede15c03d12197962a7e7a89edf1823dd5')
+ version("24.0", sha256="bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f")
+ version("16.0", sha256="c46b3418ddef3c3c3f819a4a9cfd56ede15c03d12197962a7e7a89edf1823dd5")
- depends_on('py-setuptools', type='build')
- depends_on('py-bleach@2.1.0:', type=('build', 'run'))
- depends_on('py-docutils@0.13.1:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-bleach@2.1.0:", type=("build", "run"))
+ depends_on("py-docutils@0.13.1:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-recommonmark/package.py b/var/spack/repos/builtin/packages/py-recommonmark/package.py
index 0fc3608651..1093e0a88c 100644
--- a/var/spack/repos/builtin/packages/py-recommonmark/package.py
+++ b/var/spack/repos/builtin/packages/py-recommonmark/package.py
@@ -17,9 +17,9 @@ class PyRecommonmark(PythonPackage):
homepage = "https://github.com/readthedocs/recommonmark"
pypi = "recommonmark/recommonmark-0.6.0.tar.gz"
- version('0.6.0', sha256='29cd4faeb6c5268c633634f2d69aef9431e0f4d347f90659fd0aab20e541efeb')
+ version("0.6.0", sha256="29cd4faeb6c5268c633634f2d69aef9431e0f4d347f90659fd0aab20e541efeb")
- depends_on('py-setuptools', type='build')
- depends_on('py-commonmark@0.8.1:', type=('build', 'run'))
- depends_on('py-docutils@0.11:', type=('build', 'run'))
- depends_on('py-sphinx@1.3.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-commonmark@0.8.1:", type=("build", "run"))
+ depends_on("py-docutils@0.11:", type=("build", "run"))
+ depends_on("py-sphinx@1.3.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-redis/package.py b/var/spack/repos/builtin/packages/py-redis/package.py
index 6d98f673a6..b4a48051b0 100644
--- a/var/spack/repos/builtin/packages/py-redis/package.py
+++ b/var/spack/repos/builtin/packages/py-redis/package.py
@@ -11,13 +11,17 @@ class PyRedis(PythonPackage):
pypi = "redis/redis-3.3.8.tar.gz"
- version('3.5.3', sha256='0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2')
- version('3.5.0', sha256='7378105cd8ea20c4edc49f028581e830c01ad5f00be851def0f4bc616a83cd89')
- version('3.3.8', sha256='98a22fb750c9b9bb46e75e945dc3f61d0ab30d06117cbb21ff9cd1d315fedd3b')
+ version("3.5.3", sha256="0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2")
+ version("3.5.0", sha256="7378105cd8ea20c4edc49f028581e830c01ad5f00be851def0f4bc616a83cd89")
+ version("3.3.8", sha256="98a22fb750c9b9bb46e75e945dc3f61d0ab30d06117cbb21ff9cd1d315fedd3b")
- variant("hiredis", default=False, description="Support for hiredis which speeds up parsing of multi bulk replies")
+ variant(
+ "hiredis",
+ default=False,
+ description="Support for hiredis which speeds up parsing of multi bulk replies",
+ )
- depends_on('python@2.7:2.8,3.4:', when="@3.3.0:3.3", type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when="@3.4.0:", type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-hiredis@0.1.3:', when="+hiredis", type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", when="@3.3.0:3.3", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@3.4.0:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-hiredis@0.1.3:", when="+hiredis", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-regex/package.py b/var/spack/repos/builtin/packages/py-regex/package.py
index ff33340421..494af423ab 100644
--- a/var/spack/repos/builtin/packages/py-regex/package.py
+++ b/var/spack/repos/builtin/packages/py-regex/package.py
@@ -11,10 +11,18 @@ class PyRegex(PythonPackage):
pypi = "regex/regex-2020.11.13.tar.gz"
- version('2020.11.13', sha256='83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562')
- version('2019.11.1', sha256='720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69')
- version('2019.02.07', sha256='4a1a1d963f462c13722b34ef1f82c4707091b0a3fb9b5fd79b6670c38b734095')
- version('2018.01.10', sha256='139678fc013b75e486e580c39b4c52d085ed7362e400960f8be1711a414f16b5')
- version('2017.07.11', sha256='dbda8bdc31a1c85445f1a1b29d04abda46e5c690f8f933a9cc3a85a358969616')
+ version(
+ "2020.11.13", sha256="83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"
+ )
+ version("2019.11.1", sha256="720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69")
+ version(
+ "2019.02.07", sha256="4a1a1d963f462c13722b34ef1f82c4707091b0a3fb9b5fd79b6670c38b734095"
+ )
+ version(
+ "2018.01.10", sha256="139678fc013b75e486e580c39b4c52d085ed7362e400960f8be1711a414f16b5"
+ )
+ version(
+ "2017.07.11", sha256="dbda8bdc31a1c85445f1a1b29d04abda46e5c690f8f933a9cc3a85a358969616"
+ )
- depends_on('py-setuptools', type='build', when='@:2018,2020:')
+ depends_on("py-setuptools", type="build", when="@:2018,2020:")
diff --git a/var/spack/repos/builtin/packages/py-reindent/package.py b/var/spack/repos/builtin/packages/py-reindent/package.py
index 9fb7bac26e..829a9991c4 100644
--- a/var/spack/repos/builtin/packages/py-reindent/package.py
+++ b/var/spack/repos/builtin/packages/py-reindent/package.py
@@ -12,8 +12,8 @@ class PyReindent(PythonPackage):
empty lines at the end of files. Also ensure the last line ends with a
newline."""
- pypi = "reindent/reindent-3.5.1.tar.gz"
+ pypi = "reindent/reindent-3.5.1.tar.gz"
- version('3.5.1', sha256='59aeb8fbc16e45686f65df23b91896a17eb14ace7a7546860f50d2bb5ec4c9c0')
+ version("3.5.1", sha256="59aeb8fbc16e45686f65df23b91896a17eb14ace7a7546860f50d2bb5ec4c9c0")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-reportlab/package.py b/var/spack/repos/builtin/packages/py-reportlab/package.py
index 43672be8bf..c6e30c37b5 100644
--- a/var/spack/repos/builtin/packages/py-reportlab/package.py
+++ b/var/spack/repos/builtin/packages/py-reportlab/package.py
@@ -12,15 +12,15 @@ class PyReportlab(PythonPackage):
pypi = "reportlab/reportlab-3.4.0.tar.gz"
- version('3.4.0', sha256='5beaf35e59dfd5ebd814fdefd76908292e818c982bd7332b5d347dfd2f01c343')
+ version("3.4.0", sha256="5beaf35e59dfd5ebd814fdefd76908292e818c982bd7332b5d347dfd2f01c343")
# py-reportlab provides binaries that duplicate those of other packages,
# thus interfering with activation.
# - easy_install, provided by py-setuptools
# - pip, provided by py-pip
- extends('python', ignore=r'bin/.*')
+ extends("python", ignore=r"bin/.*")
- depends_on('py-setuptools@2.2:', type='build')
- depends_on('py-pip@1.4.1:', type='build')
- depends_on('pil@2.4.0:', type=('build', 'run'))
- depends_on('freetype')
+ depends_on("py-setuptools@2.2:", type="build")
+ depends_on("py-pip@1.4.1:", type="build")
+ depends_on("pil@2.4.0:", type=("build", "run"))
+ depends_on("freetype")
diff --git a/var/spack/repos/builtin/packages/py-repoze-lru/package.py b/var/spack/repos/builtin/packages/py-repoze-lru/package.py
index 3867f53ea4..dec9f877f6 100644
--- a/var/spack/repos/builtin/packages/py-repoze-lru/package.py
+++ b/var/spack/repos/builtin/packages/py-repoze-lru/package.py
@@ -11,10 +11,10 @@ class PyRepozeLru(PythonPackage):
pypi = "repoze.lru/repoze.lru-0.7.tar.gz"
- version('0.7', sha256='0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77')
+ version("0.7", sha256="0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77")
- variant('docs', default=False, description='Build docs')
+ variant("docs", default=False, description="Build docs")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-sphinx', type='build', when='+docs')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-sphinx", type="build", when="+docs")
diff --git a/var/spack/repos/builtin/packages/py-reproject/package.py b/var/spack/repos/builtin/packages/py-reproject/package.py
index 5ac04c654a..2964cc3c20 100644
--- a/var/spack/repos/builtin/packages/py-reproject/package.py
+++ b/var/spack/repos/builtin/packages/py-reproject/package.py
@@ -19,17 +19,17 @@ class PyReproject(PythonPackage):
reproject to/from HEALPIX projections by relying on the
astropy-healpix package."""
- homepage = 'https://reproject.readthedocs.io/'
- pypi = 'reproject/reproject-0.7.1.tar.gz'
+ homepage = "https://reproject.readthedocs.io/"
+ pypi = "reproject/reproject-0.7.1.tar.gz"
- version('0.7.1', sha256='95c0fa49e6b4e36455b91fa09ad1b71b230c990ad91d948af67ea3509a1a4ccb')
+ version("0.7.1", sha256="95c0fa49e6b4e36455b91fa09ad1b71b230c990ad91d948af67ea3509a1a4ccb")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-extension-helpers', type='build')
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-astropy@3.2:', type=('build', 'run'))
- depends_on('py-scipy@1.1:', type=('build', 'run'))
- depends_on('py-astropy-healpix@0.2:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-extension-helpers", type="build")
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-astropy@3.2:", type=("build", "run"))
+ depends_on("py-scipy@1.1:", type=("build", "run"))
+ depends_on("py-astropy-healpix@0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-requests-ftp/package.py b/var/spack/repos/builtin/packages/py-requests-ftp/package.py
index 5556c467ba..6779992be3 100644
--- a/var/spack/repos/builtin/packages/py-requests-ftp/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-ftp/package.py
@@ -10,9 +10,9 @@ class PyRequestsFtp(PythonPackage):
"""FTP Transport Adapter for Requests.."""
homepage = "https://github.com/Lukasa/requests-ftp"
- pypi = "requests-ftp/requests-ftp-0.3.1.tar.gz"
+ pypi = "requests-ftp/requests-ftp-0.3.1.tar.gz"
- version('0.3.1', sha256='7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a')
+ version("0.3.1", sha256="7504ceb5cba8a5c0135ed738596820a78c5f2be92d79b29f96ba99b183d8057a")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-requests-futures/package.py b/var/spack/repos/builtin/packages/py-requests-futures/package.py
index 61c5155e67..b2662331d1 100644
--- a/var/spack/repos/builtin/packages/py-requests-futures/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-futures/package.py
@@ -12,9 +12,9 @@ class PyRequestsFutures(PythonPackage):
homepage = "https://github.com/ross/requests-futures"
pypi = "requests-futures/requests-futures-1.0.0.tar.gz"
- version('1.0.0', sha256='35547502bf1958044716a03a2f47092a89efe8f9789ab0c4c528d9c9c30bc148')
- version('0.9.7', sha256='a9ca2c3480b6fac29ec5de59c146742e2ab2b60f8c68581766094edb52ea7bad')
+ version("1.0.0", sha256="35547502bf1958044716a03a2f47092a89efe8f9789ab0c4c528d9c9c30bc148")
+ version("0.9.7", sha256="a9ca2c3480b6fac29ec5de59c146742e2ab2b60f8c68581766094edb52ea7bad")
- depends_on('py-setuptools@38.6.1:', type='build')
- depends_on('py-futures@2.1.3:', type=('build', 'run'), when='^python@:3.1')
- depends_on('py-requests@1.2.0:', type=('build', 'run'))
+ depends_on("py-setuptools@38.6.1:", type="build")
+ depends_on("py-futures@2.1.3:", type=("build", "run"), when="^python@:3.1")
+ depends_on("py-requests@1.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-requests-mock/package.py b/var/spack/repos/builtin/packages/py-requests-mock/package.py
index 1badb48e60..a14d14f92a 100644
--- a/var/spack/repos/builtin/packages/py-requests-mock/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-mock/package.py
@@ -12,6 +12,6 @@ class PyRequestsMock(PythonPackage):
homepage = "https://requests-mock.readthedocs.io/"
pypi = "requests-mock/requests-mock-1.7.0.tar.gz"
- version('1.7.0', sha256='88d3402dd8b3c69a9e4f9d3a73ad11b15920c6efd36bc27bf1f701cf4a8e4646')
+ version("1.7.0", sha256="88d3402dd8b3c69a9e4f9d3a73ad11b15920c6efd36bc27bf1f701cf4a8e4646")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-requests-ntlm/package.py b/var/spack/repos/builtin/packages/py-requests-ntlm/package.py
index cf1fb6e259..6fd8cae178 100644
--- a/var/spack/repos/builtin/packages/py-requests-ntlm/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-ntlm/package.py
@@ -10,11 +10,11 @@ class PyRequestsNtlm(PythonPackage):
"""This package allows for HTTP NTLM authentication using the requests library."""
homepage = "https://github.com/requests/requests-ntlm"
- pypi = "requests_ntlm/requests_ntlm-1.1.0.tar.gz"
+ pypi = "requests_ntlm/requests_ntlm-1.1.0.tar.gz"
- version('1.1.0', sha256='9189c92e8c61ae91402a64b972c4802b2457ce6a799d658256ebf084d5c7eb71')
+ version("1.1.0", sha256="9189c92e8c61ae91402a64b972c4802b2457ce6a799d658256ebf084d5c7eb71")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.0.0:', type=('build', 'run'))
- depends_on('py-ntlm-auth@1.0.2:', type=('build', 'run'))
- depends_on('py-cryptography@1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.0.0:", type=("build", "run"))
+ depends_on("py-ntlm-auth@1.0.2:", type=("build", "run"))
+ depends_on("py-cryptography@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
index f2f6f2d724..1bb3dcc6b3 100644
--- a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
@@ -7,17 +7,16 @@ from spack.package import *
class PyRequestsOauthlib(PythonPackage):
- """This project provides first-class OAuth library support for Requests.
- """
+ """This project provides first-class OAuth library support for Requests."""
homepage = "https://github.com/requests/requests-oauthlib"
pypi = "requests-oauthlib/requests-oauthlib-1.2.0.tar.gz"
- version('1.3.0', sha256='b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a')
- version('1.2.0', sha256='bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57')
- version('0.3.3', sha256='37557b4de3eef50d2a4c65dc9382148b8331f04b1c637c414b3355feb0f007e9')
+ version("1.3.0", sha256="b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a")
+ version("1.2.0", sha256="bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57")
+ version("0.3.3", sha256="37557b4de3eef50d2a4c65dc9382148b8331f04b1c637c414b3355feb0f007e9")
- depends_on('py-setuptools', type='build')
- depends_on('py-oauthlib@3.0.0:', type=('build', 'run'))
- depends_on('py-requests@2.0.0:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-oauthlib@3.0.0:", type=("build", "run"))
+ depends_on("py-requests@2.0.0:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py b/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
index 7e5c07da0c..ce67244420 100644
--- a/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-toolbelt/package.py
@@ -13,8 +13,8 @@ class PyRequestsToolbelt(PythonPackage):
homepage = "https://toolbelt.readthedocs.org/"
pypi = "requests-toolbelt/requests-toolbelt-0.9.1.tar.gz"
- version('0.9.1', sha256='968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0')
- version('0.8.0', sha256='f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5')
+ version("0.9.1", sha256="968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0")
+ version("0.8.0", sha256="f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5")
- depends_on('py-setuptools', type='build')
- depends_on('py-requests@2.0.1:2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-requests@2.0.1:2", type=("build", "run"))
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 2ae0280194..e8b2f3ea24 100644
--- a/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py
@@ -10,11 +10,11 @@ class PyRequestsUnixsocket(PythonPackage):
"""Use requests to talk HTTP via a UNIX domain socket."""
homepage = "https://github.com/msabramo/requests-unixsocket"
- pypi = "requests-unixsocket/requests-unixsocket-0.2.0.tar.gz"
+ pypi = "requests-unixsocket/requests-unixsocket-0.2.0.tar.gz"
- version('0.2.0', sha256='9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea')
+ 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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 2967846a44..3169eedac9 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -12,34 +12,36 @@ class PyRequests(PythonPackage):
homepage = "http://python-requests.org"
pypi = "requests/requests-2.24.0.tar.gz"
- version('2.26.0', sha256='b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7')
- version('2.25.1', sha256='27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804')
- version('2.24.0', sha256='b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b')
- version('2.23.0', sha256='b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6')
- version('2.22.0', sha256='11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4')
- version('2.21.0', sha256='502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e')
- version('2.18.4', sha256='9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e')
- version('2.14.2', sha256='a274abba399a23e8713ffd2b5706535ae280ebe2b8069ee6a941cb089440d153')
- version('2.13.0', sha256='5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8')
- version('2.11.1', sha256='5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133')
- version('2.3.0', sha256='1c1473875d846fe563d70868acf05b1953a4472f4695b7b3566d1d978957b8fc')
-
- variant('socks', default=False, description='SOCKS and HTTP proxy support')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@2.26.0:')
- depends_on('py-setuptools', type='build')
-
- depends_on('py-chardet@3.0.2:4', type=('build', 'run'), when='@2.26: ^python@2:2')
- depends_on('py-chardet@3.0.2:4', type=('build', 'run'), when='@2.25.1:2.25')
- depends_on('py-chardet@3.0.2:3', type=('build', 'run'), when='@2.23.0:2.25.0')
- depends_on('py-chardet@3.0.2:3.0', type=('build', 'run'), when='@2.16.0:2.22')
- depends_on('py-charset-normalizer@2.0.0:2.0', type=('build', 'run'), when='@2.26.0: ^python@3:')
- depends_on('py-idna@2.5:3', type=('build', 'run'), when='@2.26.0: ^python@3:')
- depends_on('py-idna@2.5:2', type=('build', 'run'), when='@2.26.0: ^python@:2')
- depends_on('py-idna@2.5:2', type=('build', 'run'), when='@2.23:2.25')
- depends_on('py-idna@2.5:2.8', type=('build', 'run'), when='@2.16.0:2.22')
- depends_on('py-urllib3@1.21.1:1.26', type=('build', 'run'), when='@2.25.0:')
- depends_on('py-urllib3@1.21.1:1.24,1.25.2:1.25', type=('build', 'run'), when='@2.16.0:2.24')
- depends_on('py-certifi@2017.4.17:', type=('build', 'run'), when='@2.16.0:')
- depends_on('py-pysocks@1.5.6,1.5.8:', type=('build', 'run'), when='+socks')
+ version("2.26.0", sha256="b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7")
+ version("2.25.1", sha256="27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804")
+ version("2.24.0", sha256="b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b")
+ version("2.23.0", sha256="b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6")
+ version("2.22.0", sha256="11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4")
+ version("2.21.0", sha256="502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e")
+ version("2.18.4", sha256="9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e")
+ version("2.14.2", sha256="a274abba399a23e8713ffd2b5706535ae280ebe2b8069ee6a941cb089440d153")
+ version("2.13.0", sha256="5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8")
+ version("2.11.1", sha256="5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133")
+ version("2.3.0", sha256="1c1473875d846fe563d70868acf05b1953a4472f4695b7b3566d1d978957b8fc")
+
+ variant("socks", default=False, description="SOCKS and HTTP proxy support")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.6:", type=("build", "run"), when="@2.26.0:")
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-chardet@3.0.2:4", type=("build", "run"), when="@2.26: ^python@2:2")
+ depends_on("py-chardet@3.0.2:4", type=("build", "run"), when="@2.25.1:2.25")
+ depends_on("py-chardet@3.0.2:3", type=("build", "run"), when="@2.23.0:2.25.0")
+ depends_on("py-chardet@3.0.2:3.0", type=("build", "run"), when="@2.16.0:2.22")
+ depends_on(
+ "py-charset-normalizer@2.0.0:2.0", type=("build", "run"), when="@2.26.0: ^python@3:"
+ )
+ depends_on("py-idna@2.5:3", type=("build", "run"), when="@2.26.0: ^python@3:")
+ depends_on("py-idna@2.5:2", type=("build", "run"), when="@2.26.0: ^python@:2")
+ depends_on("py-idna@2.5:2", type=("build", "run"), when="@2.23:2.25")
+ depends_on("py-idna@2.5:2.8", type=("build", "run"), when="@2.16.0:2.22")
+ depends_on("py-urllib3@1.21.1:1.26", type=("build", "run"), when="@2.25.0:")
+ depends_on("py-urllib3@1.21.1:1.24,1.25.2:1.25", type=("build", "run"), when="@2.16.0:2.24")
+ depends_on("py-certifi@2017.4.17:", type=("build", "run"), when="@2.16.0:")
+ depends_on("py-pysocks@1.5.6,1.5.8:", type=("build", "run"), when="+socks")
diff --git a/var/spack/repos/builtin/packages/py-resampy/package.py b/var/spack/repos/builtin/packages/py-resampy/package.py
index 76d7812d3a..a198a957c8 100644
--- a/var/spack/repos/builtin/packages/py-resampy/package.py
+++ b/var/spack/repos/builtin/packages/py-resampy/package.py
@@ -12,10 +12,10 @@ class PyResampy(PythonPackage):
homepage = "https://github.com/bmcfee/resampy"
pypi = "resampy/resampy-0.2.2.tar.gz"
- version('0.2.2', sha256='62af020d8a6674d8117f62320ce9470437bb1d738a5d06cd55591b69b463929e')
+ version("0.2.2", sha256="62af020d8a6674d8117f62320ce9470437bb1d738a5d06cd55591b69b463929e")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.10:', type=('build', 'run'))
- depends_on('py-scipy@0.13:', type=('build', 'run'))
- depends_on('py-numba@0.32:', type=('build', 'run'))
- depends_on('py-six@1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.10:", type=("build", "run"))
+ depends_on("py-scipy@0.13:", type=("build", "run"))
+ depends_on("py-numba@0.32:", type=("build", "run"))
+ depends_on("py-six@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-responses/package.py b/var/spack/repos/builtin/packages/py-responses/package.py
index 2117bc0611..2bf3a6e323 100644
--- a/var/spack/repos/builtin/packages/py-responses/package.py
+++ b/var/spack/repos/builtin/packages/py-responses/package.py
@@ -10,16 +10,16 @@ class PyResponses(PythonPackage):
"""A utility library for mocking out the `requests` Python library."""
homepage = "https://github.com/getsentry/responses"
- pypi = "responses/responses-0.13.3.tar.gz"
+ pypi = "responses/responses-0.13.3.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.13.3', sha256='18a5b88eb24143adbf2b4100f328a2f5bfa72fbdacf12d97d41f07c26c45553d')
+ version("0.13.3", sha256="18a5b88eb24143adbf2b4100f328a2f5bfa72fbdacf12d97d41f07c26c45553d")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-mock', when='^python@:3.2', type=('build', 'run'))
- depends_on('py-cookies', when='^python@:3.3', type=('build', 'run'))
- depends_on('py-requests@2.0:', type=('build', 'run'))
- depends_on('py-urllib3@1.25.10:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-mock", when="^python@:3.2", type=("build", "run"))
+ depends_on("py-cookies", when="^python@:3.3", type=("build", "run"))
+ depends_on("py-requests@2.0:", type=("build", "run"))
+ depends_on("py-urllib3@1.25.10:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-restview/package.py b/var/spack/repos/builtin/packages/py-restview/package.py
index f9b66f0e18..2d0b0ec3dd 100644
--- a/var/spack/repos/builtin/packages/py-restview/package.py
+++ b/var/spack/repos/builtin/packages/py-restview/package.py
@@ -12,10 +12,10 @@ class PyRestview(PythonPackage):
homepage = "https://mg.pov.lt/restview/"
pypi = "restview/restview-2.6.1.tar.gz"
- version('2.6.1', sha256='14d261ee0edf30e0ebc1eb320428ef4898e97422b00337863556966b851fb5af')
+ version("2.6.1", sha256="14d261ee0edf30e0ebc1eb320428ef4898e97422b00337863556966b851fb5af")
- depends_on('python@2.7:2.8,3.3:3.5')
- depends_on('py-setuptools', type='build')
- depends_on('py-docutils@0.13.1:', type=('build', 'run'))
- depends_on('py-readme-renderer', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.3:3.5")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-docutils@0.13.1:", type=("build", "run"))
+ depends_on("py-readme-renderer", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-resultsfile/package.py b/var/spack/repos/builtin/packages/py-resultsfile/package.py
index 1781c49c04..9f12f4ae3c 100644
--- a/var/spack/repos/builtin/packages/py-resultsfile/package.py
+++ b/var/spack/repos/builtin/packages/py-resultsfile/package.py
@@ -10,15 +10,15 @@ class PyResultsfile(PythonPackage):
"""Python module to read output files of quantum chemistry programs"""
homepage = "https://gitlab.com/scemama/resultsFile"
- url = "https://gitlab.com/scemama/resultsFile/-/archive/v1.0/resultsFile-v1.0.tar.gz"
- git = "https://gitlab.com/scemama/resultsFile.git"
+ url = "https://gitlab.com/scemama/resultsFile/-/archive/v1.0/resultsFile-v1.0.tar.gz"
+ git = "https://gitlab.com/scemama/resultsFile.git"
- maintainers = ['scemama']
+ maintainers = ["scemama"]
- version('2.0', sha256='2a34208254e4bea155695690437f6a59bf5f7b0ddb421d6c1a2d377510f018f7')
- version('1.0', sha256='e029054b2727131da9684fa2ec9fb8b6a3225dc7f648216a9390267b2d5d60c3')
+ version("2.0", sha256="2a34208254e4bea155695690437f6a59bf5f7b0ddb421d6c1a2d377510f018f7")
+ version("1.0", sha256="e029054b2727131da9684fa2ec9fb8b6a3225dc7f648216a9390267b2d5d60c3")
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@1.0:1')
- depends_on('python@3:', type=('build', 'run'), when='@2.0:')
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@1.0:1")
+ depends_on("python@3:", type=("build", "run"), when="@2.0:")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-retry-decorator/package.py b/var/spack/repos/builtin/packages/py-retry-decorator/package.py
index 7dbde14a73..2847b9b9a2 100644
--- a/var/spack/repos/builtin/packages/py-retry-decorator/package.py
+++ b/var/spack/repos/builtin/packages/py-retry-decorator/package.py
@@ -10,10 +10,10 @@ class PyRetryDecorator(PythonPackage):
"""Decorator for retrying when exceptions occur"""
homepage = "https://github.com/pnpnpn/retry-decorator"
- pypi = "retry-decorator/retry_decorator-1.1.1.tar.gz"
+ pypi = "retry-decorator/retry_decorator-1.1.1.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.1.1', sha256='e1e8ad02e518fe11073f2ea7d80b6b8be19daa27a60a1838aff7c731ddcf2ebe')
+ version("1.1.1", sha256="e1e8ad02e518fe11073f2ea7d80b6b8be19daa27a60a1838aff7c731ddcf2ebe")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-retry/package.py b/var/spack/repos/builtin/packages/py-retry/package.py
index b00a254632..db480f5efb 100644
--- a/var/spack/repos/builtin/packages/py-retry/package.py
+++ b/var/spack/repos/builtin/packages/py-retry/package.py
@@ -10,12 +10,12 @@ class PyRetry(PythonPackage):
"""Easy to use retry decorator."""
homepage = "https://github.com/invl/retry"
- pypi = "retry/retry-0.9.2.tar.gz"
+ pypi = "retry/retry-0.9.2.tar.gz"
- version('0.9.2', sha256='f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4')
+ version("0.9.2", sha256="f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pbr', type='build')
- depends_on('py-decorator@3.4.2:', type=('build', 'run'))
- depends_on('py-py@1.4.26:1', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr", type="build")
+ depends_on("py-decorator@3.4.2:", type=("build", "run"))
+ depends_on("py-py@1.4.26:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-retrying/package.py b/var/spack/repos/builtin/packages/py-retrying/package.py
index 956cb4e3a4..5762718cfe 100644
--- a/var/spack/repos/builtin/packages/py-retrying/package.py
+++ b/var/spack/repos/builtin/packages/py-retrying/package.py
@@ -14,7 +14,7 @@ class PyRetrying(PythonPackage):
homepage = "https://github.com/rholder/retrying"
pypi = "retrying/retrying-1.3.3.tar.gz"
- version('1.3.3', sha256='08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b')
+ version("1.3.3", sha256="08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.7.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-retworkx/package.py b/var/spack/repos/builtin/packages/py-retworkx/package.py
index c277ab924f..7e5adc33cd 100644
--- a/var/spack/repos/builtin/packages/py-retworkx/package.py
+++ b/var/spack/repos/builtin/packages/py-retworkx/package.py
@@ -13,9 +13,9 @@ class PyRetworkx(PythonPackage):
homepage = "https://github.com/Qiskit/retworkx"
pypi = "retworkx/retworkx-0.5.0.tar.gz"
- version('0.10.2', sha256='ba81cb527de7ff338575905bb6fcbebdf2ab18ae800169a77ab863f855bf0951')
+ version("0.10.2", sha256="ba81cb527de7ff338575905bb6fcbebdf2ab18ae800169a77ab863f855bf0951")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-rust', type='build')
- depends_on('py-numpy@1.16.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-rust", type="build")
+ depends_on("py-numpy@1.16.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rfc3986/package.py b/var/spack/repos/builtin/packages/py-rfc3986/package.py
index 39c4f895c9..5cb8e640a8 100644
--- a/var/spack/repos/builtin/packages/py-rfc3986/package.py
+++ b/var/spack/repos/builtin/packages/py-rfc3986/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class PyRfc3986(PythonPackage):
"""A Python implementation of RFC 3986 including
- validation and authority parsing."""
+ validation and authority parsing."""
homepage = "https://rfc3986.readthedocs.io/"
pypi = "rfc3986/rfc3986-1.4.0.tar.gz"
- version('1.4.0', sha256='112398da31a3344dc25dbf477d8df6cb34f9278a94fee2625d89e4514be8bb9d')
+ version("1.4.0", sha256="112398da31a3344dc25dbf477d8df6cb34f9278a94fee2625d89e4514be8bb9d")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
- variant('idna2008', default=False, description='Enable idna2008 Functionality')
+ variant("idna2008", default=False, description="Enable idna2008 Functionality")
- depends_on('py-idna', when='+idna2008')
+ depends_on("py-idna", when="+idna2008")
diff --git a/var/spack/repos/builtin/packages/py-rich/package.py b/var/spack/repos/builtin/packages/py-rich/package.py
index 331387dee0..d84c009cf0 100644
--- a/var/spack/repos/builtin/packages/py-rich/package.py
+++ b/var/spack/repos/builtin/packages/py-rich/package.py
@@ -12,29 +12,31 @@ class PyRich(PythonPackage):
"""
homepage = "https://github.com/willmcgugan/rich"
- pypi = "rich/rich-9.4.0.tar.gz"
+ pypi = "rich/rich-9.4.0.tar.gz"
- version('10.14.0', sha256='8bfe4546d56b4131298d3a9e571a0742de342f1593770bd0d4707299f772a0af')
- version('10.9.0', sha256='ba285f1c519519490034284e6a9d2e6e3f16dc7690f2de3d9140737d81304d22')
- version('10.0.0', sha256='4674bd3056a72bb282ad581e3f8092dc110cdcc456b5ba76e34965cb85a69724')
- version('9.9.0', sha256='0bd8f42c3a03b7ef5e311d5e37f47bea9d268f541981c169072be5869c007957')
- version('9.8.2', sha256='c0d5903b463f015b254d6f52da82af3821d266fe516ae05fdc266e6abba5c3a8')
- version('9.8.1', sha256='0ec853f882613e75a5e46d545ddaa48cad235c616eaeb094792012fe22e8b2c6')
- version('9.8.0', sha256='c91c2587dba9aa8dd30c5f090e700f54433ccd73e209f4737e10385c4c1cbf19')
- version('9.7.0', sha256='25583ce533afae71de086ca97cf0aa883a5e1a220dfcc6049a2809a74bc79ca0')
- version('9.6.2', sha256='b6a7f9ef1a35c248498952d3454fb4f88de415dd989f97c3e5c5e2235d66e3a5')
- version('9.6.1', sha256='5ac9f4f7f6b0e32e7e412de127f15b94144e22c9a7896551474d640143bbaa7b')
- version('9.6.0', sha256='ae7f5f24fc90c76ccb54883f4bd633cbd146e0bbe3e070275ca97038ce53cf2f')
- version('9.5.1', sha256='8b937e2d2c4ff9dcfda8a5910a8cd384bd30f50ec92346d616f62065c662df5f')
- version('9.5.0', sha256='a65a9d003cb6e87e6fa5d1b53bff6f43a8d7475524c58873acdbf5bba0683fa3')
- version('9.4.0', sha256='bde23a1761373fed2802502ff98292c5d735a5389ed96f4fe1be5fb4c2cde8ea')
+ version("10.14.0", sha256="8bfe4546d56b4131298d3a9e571a0742de342f1593770bd0d4707299f772a0af")
+ version("10.9.0", sha256="ba285f1c519519490034284e6a9d2e6e3f16dc7690f2de3d9140737d81304d22")
+ version("10.0.0", sha256="4674bd3056a72bb282ad581e3f8092dc110cdcc456b5ba76e34965cb85a69724")
+ version("9.9.0", sha256="0bd8f42c3a03b7ef5e311d5e37f47bea9d268f541981c169072be5869c007957")
+ version("9.8.2", sha256="c0d5903b463f015b254d6f52da82af3821d266fe516ae05fdc266e6abba5c3a8")
+ version("9.8.1", sha256="0ec853f882613e75a5e46d545ddaa48cad235c616eaeb094792012fe22e8b2c6")
+ version("9.8.0", sha256="c91c2587dba9aa8dd30c5f090e700f54433ccd73e209f4737e10385c4c1cbf19")
+ version("9.7.0", sha256="25583ce533afae71de086ca97cf0aa883a5e1a220dfcc6049a2809a74bc79ca0")
+ version("9.6.2", sha256="b6a7f9ef1a35c248498952d3454fb4f88de415dd989f97c3e5c5e2235d66e3a5")
+ version("9.6.1", sha256="5ac9f4f7f6b0e32e7e412de127f15b94144e22c9a7896551474d640143bbaa7b")
+ version("9.6.0", sha256="ae7f5f24fc90c76ccb54883f4bd633cbd146e0bbe3e070275ca97038ce53cf2f")
+ version("9.5.1", sha256="8b937e2d2c4ff9dcfda8a5910a8cd384bd30f50ec92346d616f62065c662df5f")
+ version("9.5.0", sha256="a65a9d003cb6e87e6fa5d1b53bff6f43a8d7475524c58873acdbf5bba0683fa3")
+ version("9.4.0", sha256="bde23a1761373fed2802502ff98292c5d735a5389ed96f4fe1be5fb4c2cde8ea")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('python@3.6.2:3', type=('build', 'run'), when='@10.14.0:')
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-typing-extensions@3.7.4:4', type=('build', 'run'), when='@10.14.0: ^python@:3.7')
- depends_on('py-typing-extensions@3.7.4:3', type=('build', 'run'), when='@:10.13.0')
- depends_on('py-dataclasses@0.7:0.8', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-pygments@2.6:2', type=('build', 'run'))
- depends_on('py-commonmark@0.9.0:0.9', type=('build', 'run'))
- depends_on('py-colorama@0.4.0:0.4', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("python@3.6.2:3", type=("build", "run"), when="@10.14.0:")
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on(
+ "py-typing-extensions@3.7.4:4", type=("build", "run"), when="@10.14.0: ^python@:3.7"
+ )
+ depends_on("py-typing-extensions@3.7.4:3", type=("build", "run"), when="@:10.13.0")
+ depends_on("py-dataclasses@0.7:0.8", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-pygments@2.6:2", type=("build", "run"))
+ depends_on("py-commonmark@0.9.0:0.9", type=("build", "run"))
+ depends_on("py-colorama@0.4.0:0.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rios/package.py b/var/spack/repos/builtin/packages/py-rios/package.py
index ebfdcf12d3..34792686ab 100644
--- a/var/spack/repos/builtin/packages/py-rios/package.py
+++ b/var/spack/repos/builtin/packages/py-rios/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class PyRios(PythonPackage):
"""Raster I/O Simplification. A set of python modules which makes it easy
- to write raster processing code in Python. Built on top of GDAL, it
- handles the details of opening and closing files, checking alignment of
- projection and raster grid, stepping through the raster in small blocks,
- etc., allowing the programmer to concentrate on the processing involved.
+ to write raster processing code in Python. Built on top of GDAL, it
+ handles the details of opening and closing files, checking alignment of
+ projection and raster grid, stepping through the raster in small blocks,
+ etc., allowing the programmer to concentrate on the processing involved.
"""
homepage = "https://www.rioshome.org/en/latest/"
- url = "https://github.com/ubarsc/rios/archive/rios-1.4.10.tar.gz"
+ url = "https://github.com/ubarsc/rios/archive/rios-1.4.10.tar.gz"
- version('1.4.10', sha256='7f11b54eb1f2ec551d7fc01c039b60bf2c67f0c2fc5b2946f8d986d6a9bc7063')
+ version("1.4.10", sha256="7f11b54eb1f2ec551d7fc01c039b60bf2c67f0c2fc5b2946f8d986d6a9bc7063")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('gdal+python', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("gdal+python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rioxarray/package.py b/var/spack/repos/builtin/packages/py-rioxarray/package.py
index 1d68b4ec8a..63902e5983 100644
--- a/var/spack/repos/builtin/packages/py-rioxarray/package.py
+++ b/var/spack/repos/builtin/packages/py-rioxarray/package.py
@@ -10,15 +10,17 @@ class PyRioxarray(PythonPackage):
"""rasterio xarray extension."""
homepage = "https://github.com/corteva/rioxarray"
- pypi = "rioxarray/rioxarray-0.4.1.post0.tar.gz"
+ pypi = "rioxarray/rioxarray-0.4.1.post0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.4.1.post0', sha256='f043f846724a58518f87dd3fa84acbe39e15a1fac7e64244be3d5dacac7fe62b')
+ version(
+ "0.4.1.post0", sha256="f043f846724a58518f87dd3fa84acbe39e15a1fac7e64244be3d5dacac7fe62b"
+ )
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-rasterio', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-xarray@0.17:', type=('build', 'run'))
- depends_on('py-pyproj@2.2:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-rasterio", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-xarray@0.17:", type=("build", "run"))
+ depends_on("py-pyproj@2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rise/package.py b/var/spack/repos/builtin/packages/py-rise/package.py
index 143154e8fd..6ed4de270a 100644
--- a/var/spack/repos/builtin/packages/py-rise/package.py
+++ b/var/spack/repos/builtin/packages/py-rise/package.py
@@ -12,8 +12,8 @@ class PyRise(PythonPackage):
homepage = "https://rise.readthedocs.io/"
pypi = "rise/rise-5.6.1.tar.gz"
- version('5.6.1', sha256='1343f068d01adc4dd0226d9b278ce93fc92f365d827431a57e8d5679eb39f4d6')
+ version("5.6.1", sha256="1343f068d01adc4dd0226d9b278ce93fc92f365d827431a57e8d5679eb39f4d6")
- depends_on('python@2.7.0:2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-notebook@5.5.0:', type=('build', 'run'))
+ depends_on("python@2.7.0:2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-notebook@5.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rmm/package.py b/var/spack/repos/builtin/packages/py-rmm/package.py
index d842e467d9..791a2b5e81 100644
--- a/var/spack/repos/builtin/packages/py-rmm/package.py
+++ b/var/spack/repos/builtin/packages/py-rmm/package.py
@@ -12,19 +12,19 @@ class PyRmm(PythonPackage):
customizing how host and device memory are allocated."""
homepage = "https://github.com/rapidsai/rmm"
- url = "https://github.com/rapidsai/rmm/archive/v0.15.0.tar.gz"
+ url = "https://github.com/rapidsai/rmm/archive/v0.15.0.tar.gz"
- version('0.15.0', sha256='599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972')
+ version("0.15.0", sha256="599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
- depends_on('py-numba', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython", type="build")
+ depends_on("py-numba", type=("build", "run"))
- for v in ('@0.15.0',):
- depends_on('librmm' + v, when=v)
+ for v in ("@0.15.0",):
+ depends_on("librmm" + v, when=v)
- depends_on('cuda@9:')
- depends_on('spdlog')
+ depends_on("cuda@9:")
+ depends_on("spdlog")
- build_directory = 'python'
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-rnacocktail/package.py b/var/spack/repos/builtin/packages/py-rnacocktail/package.py
index 0afcca077c..21bf90859d 100644
--- a/var/spack/repos/builtin/packages/py-rnacocktail/package.py
+++ b/var/spack/repos/builtin/packages/py-rnacocktail/package.py
@@ -11,15 +11,15 @@ class PyRnacocktail(PythonPackage):
for accurate and efficient RNA-Seq analysis."""
homepage = "https://bioinform.github.io/rnacocktail/"
- url = "https://github.com/bioinform/rnacocktail/archive/v0.2.2.tar.gz"
+ url = "https://github.com/bioinform/rnacocktail/archive/v0.2.2.tar.gz"
- version('0.2.2', sha256='34aa0d1d7bd9d80303fe7dac5acc0519f7c1ed986397692588343d82ce45c7a5')
+ version("0.2.2", sha256="34aa0d1d7bd9d80303fe7dac5acc0519f7c1ed986397692588343d82ce45c7a5")
- depends_on('python@2.7:2.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pybedtools', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
+ depends_on("python@2.7:2.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pybedtools", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
# Higher version of py-pandas and py-numpy
# depends on python@3: which conflicts with py-rnacocktail
- depends_on('py-pandas@:0.24.2', type=('build', 'run'))
- depends_on('py-numpy@:1.16.5', type=('build', 'run'))
+ depends_on("py-pandas@:0.24.2", type=("build", "run"))
+ depends_on("py-numpy@:1.16.5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rnc2rng/package.py b/var/spack/repos/builtin/packages/py-rnc2rng/package.py
index 2f45089054..71b27134c5 100644
--- a/var/spack/repos/builtin/packages/py-rnc2rng/package.py
+++ b/var/spack/repos/builtin/packages/py-rnc2rng/package.py
@@ -10,12 +10,12 @@ class PyRnc2rng(PythonPackage):
"""RELAX NG Compact to regular syntax conversion library."""
homepage = "https://github.com/djc/rnc2rng"
- pypi = "rnc2rng/rnc2rng-2.6.5.tar.gz"
+ pypi = "rnc2rng/rnc2rng-2.6.5.tar.gz"
- version('2.6.6', sha256='5a01d157857b5f010a94167e7092cc49efe2531d58e013f12c4e60b8c4df78f1')
- version('2.6.5', sha256='d354afcf0bf8e3b1e8f8d37d71a8fe5b1c0cf75cbd4b71364a9d90b5108a16e5')
+ version("2.6.6", sha256="5a01d157857b5f010a94167e7092cc49efe2531d58e013f12c4e60b8c4df78f1")
+ version("2.6.5", sha256="d354afcf0bf8e3b1e8f8d37d71a8fe5b1c0cf75cbd4b71364a9d90b5108a16e5")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# rnc2rng@2.6.5 uses use_2to3 which was removed in py-setuptools@58
- depends_on('py-setuptools@:57', when='@:2.6.5', type='build')
- depends_on('py-rply', type=('build', 'run'))
+ depends_on("py-setuptools@:57", when="@:2.6.5", type="build")
+ depends_on("py-rply", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-robotframework/package.py b/var/spack/repos/builtin/packages/py-robotframework/package.py
index f28f0e7ac5..31e2ea99db 100644
--- a/var/spack/repos/builtin/packages/py-robotframework/package.py
+++ b/var/spack/repos/builtin/packages/py-robotframework/package.py
@@ -10,9 +10,9 @@ class PyRobotframework(PythonPackage):
"""Cross-platform lib for process and system monitoring in Python."""
homepage = "https://opencollective.com/psutil"
- url = "https://github.com/robotframework/robotframework/archive/v3.2.2.tar.gz"
+ url = "https://github.com/robotframework/robotframework/archive/v3.2.2.tar.gz"
- version('3.2.2', sha256='6b2bddcecb5d1c6198999e38aeaf4c0366542a5e7b5bd788c6a3a36b055d5ea2')
- version('3.2.1', sha256='9805faa0990125ff2c9689b673448d5f47e78470e7a8e95af1606a775fa8379f')
+ version("3.2.2", sha256="6b2bddcecb5d1c6198999e38aeaf4c0366542a5e7b5bd788c6a3a36b055d5ea2")
+ version("3.2.1", sha256="9805faa0990125ff2c9689b673448d5f47e78470e7a8e95af1606a775fa8379f")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rope/package.py b/var/spack/repos/builtin/packages/py-rope/package.py
index 29e4823683..6014e99d57 100644
--- a/var/spack/repos/builtin/packages/py-rope/package.py
+++ b/var/spack/repos/builtin/packages/py-rope/package.py
@@ -12,11 +12,11 @@ class PyRope(PythonPackage):
homepage = "https://github.com/python-rope/rope"
pypi = "rope/rope-0.10.5.tar.gz"
- version('0.11.0', sha256='a108c445e1cd897fe19272ab7877d172e7faf3d4148c80e7d20faba42ea8f7b2')
- version('0.10.7', sha256='a09edfd2034fd50099a67822f9bd851fbd0f4e98d3b87519f6267b60e50d80d1')
- version('0.10.6', sha256='9700e163f3b05ef4c68133a39d436c253a84b35baf662c2d63407da7bfa08edf')
- version('0.10.5', sha256='2ff6099e65798f9e27da5026cc7136b4d9b340fc817031ccb4318f61f448127f')
+ version("0.11.0", sha256="a108c445e1cd897fe19272ab7877d172e7faf3d4148c80e7d20faba42ea8f7b2")
+ version("0.10.7", sha256="a09edfd2034fd50099a67822f9bd851fbd0f4e98d3b87519f6267b60e50d80d1")
+ version("0.10.6", sha256="9700e163f3b05ef4c68133a39d436c253a84b35baf662c2d63407da7bfa08edf")
+ version("0.10.5", sha256="2ff6099e65798f9e27da5026cc7136b4d9b340fc817031ccb4318f61f448127f")
- patch('fix_readme_unicode.patch', when='@0.10.5:0.11.0')
+ patch("fix_readme_unicode.patch", when="@0.10.5:0.11.0")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-rosdep/package.py b/var/spack/repos/builtin/packages/py-rosdep/package.py
index 0aa932aca8..2788ef44de 100644
--- a/var/spack/repos/builtin/packages/py-rosdep/package.py
+++ b/var/spack/repos/builtin/packages/py-rosdep/package.py
@@ -13,10 +13,10 @@ class PyRosdep(PythonPackage):
homepage = "https://wiki.ros.org/rosdep"
pypi = "rosdep/rosdep-0.20.0.tar.gz"
- version('0.20.0', sha256='1de76e41ef17c7289a11d9de594f6c08e8422f26ad09bc855b4f1f4da5e9bfe7')
+ version("0.20.0", sha256="1de76e41ef17c7289a11d9de594f6c08e8422f26ad09bc855b4f1f4da5e9bfe7")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-catkin-pkg@0.4.0:', type=('build', 'run'))
- depends_on('py-rospkg@1.2.7:', type=('build', 'run'))
- depends_on('py-rosdistro@0.7.5:', type=('build', 'run'))
- depends_on('py-pyyaml@3.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-catkin-pkg@0.4.0:", type=("build", "run"))
+ depends_on("py-rospkg@1.2.7:", type=("build", "run"))
+ depends_on("py-rosdistro@0.7.5:", type=("build", "run"))
+ depends_on("py-pyyaml@3.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rosdistro/package.py b/var/spack/repos/builtin/packages/py-rosdistro/package.py
index efcb43f832..7f2ac14e74 100644
--- a/var/spack/repos/builtin/packages/py-rosdistro/package.py
+++ b/var/spack/repos/builtin/packages/py-rosdistro/package.py
@@ -13,10 +13,10 @@ class PyRosdistro(PythonPackage):
homepage = "https://wiki.ros.org/rosdistro"
pypi = "rosdistro/rosdistro-0.8.3.tar.gz"
- version('0.8.3', sha256='e14893e0408a2e1fb3ecaef0a9fc978a3675519b828c1fff29ba6a78299b37bd')
+ version("0.8.3", sha256="e14893e0408a2e1fb3ecaef0a9fc978a3675519b828c1fff29ba6a78299b37bd")
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
- depends_on('py-catkin-pkg', type=('build', 'run'))
- depends_on('py-rospkg', type=('build', 'run'))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
+ depends_on("py-catkin-pkg", type=("build", "run"))
+ depends_on("py-rospkg", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py b/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
index 9b0111d7c9..bfd512cd0f 100644
--- a/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
+++ b/var/spack/repos/builtin/packages/py-rosinstall-generator/package.py
@@ -13,10 +13,10 @@ class PyRosinstallGenerator(PythonPackage):
homepage = "https://wiki.ros.org/rosinstall_generator"
pypi = "rosinstall-generator/rosinstall_generator-0.1.22.tar.gz"
- version('0.1.22', sha256='22d22599cd3f08a1f77fb2b1d9464cc8062ede50752a75564d459fcf5447b8c5')
+ version("0.1.22", sha256="22d22599cd3f08a1f77fb2b1d9464cc8062ede50752a75564d459fcf5447b8c5")
- depends_on('py-catkin-pkg@0.1.28:', type=('build', 'run'))
- depends_on('py-rosdistro@0.7.3:', type=('build', 'run'))
- depends_on('py-rospkg', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-catkin-pkg@0.1.28:", type=("build", "run"))
+ depends_on("py-rosdistro@0.7.3:", type=("build", "run"))
+ depends_on("py-rospkg", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rosinstall/package.py b/var/spack/repos/builtin/packages/py-rosinstall/package.py
index 38bff965ae..667c754993 100644
--- a/var/spack/repos/builtin/packages/py-rosinstall/package.py
+++ b/var/spack/repos/builtin/packages/py-rosinstall/package.py
@@ -13,11 +13,11 @@ class PyRosinstall(PythonPackage):
homepage = "https://wiki.ros.org/rosinstall"
pypi = "rosinstall/rosinstall-0.7.8.tar.gz"
- version('0.7.8', sha256='2ba808bf8bac2cc3f13af9745184b9714c1426e11d09eb96468611b2ad47ed40')
+ version("0.7.8", sha256="2ba808bf8bac2cc3f13af9745184b9714c1426e11d09eb96468611b2ad47ed40")
- depends_on('py-setuptools', type='build')
- depends_on('py-vcstools@0.1.38:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-rosdistro@0.3.0:', type=('build', 'run'))
- depends_on('py-catkin-pkg', type=('build', 'run'))
- depends_on('py-wstool@0.1.12:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-vcstools@0.1.38:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-rosdistro@0.3.0:", type=("build", "run"))
+ depends_on("py-catkin-pkg", type=("build", "run"))
+ depends_on("py-wstool@0.1.12:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rospkg/package.py b/var/spack/repos/builtin/packages/py-rospkg/package.py
index 73b60ff1b4..61f4e5c958 100644
--- a/var/spack/repos/builtin/packages/py-rospkg/package.py
+++ b/var/spack/repos/builtin/packages/py-rospkg/package.py
@@ -13,10 +13,10 @@ class PyRospkg(PythonPackage):
homepage = "https://wiki.ros.org/rospkg"
pypi = "rospkg/rospkg-1.2.9.tar.gz"
- version('1.2.9', sha256='d57aea0e7fdbf42e8189ef5e21b9fb4f8a70ecb6cd1a56a278eab301f6a2b074')
+ version("1.2.9", sha256="d57aea0e7fdbf42e8189ef5e21b9fb4f8a70ecb6cd1a56a278eab301f6a2b074")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-catkin-pkg', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-distro', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-catkin-pkg", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-distro", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rply/package.py b/var/spack/repos/builtin/packages/py-rply/package.py
index 65d5ccc76d..e68439383b 100644
--- a/var/spack/repos/builtin/packages/py-rply/package.py
+++ b/var/spack/repos/builtin/packages/py-rply/package.py
@@ -10,9 +10,9 @@ class PyRply(PythonPackage):
"""A pure Python Lex/Yacc that works with RPython."""
homepage = "https://github.com/alex/rply/"
- pypi = "rply/rply-0.7.8.tar.gz"
+ pypi = "rply/rply-0.7.8.tar.gz"
- version('0.7.8', sha256='2a808ac25a4580a9991fc304d64434e299a8fc75760574492f242cbb5bb301c9')
+ version("0.7.8", sha256="2a808ac25a4580a9991fc304d64434e299a8fc75760574492f242cbb5bb301c9")
- depends_on('py-setuptools', type='build')
- depends_on('py-appdirs', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-appdirs", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rpy2/package.py b/var/spack/repos/builtin/packages/py-rpy2/package.py
index 854f89425b..7d00b0d62f 100644
--- a/var/spack/repos/builtin/packages/py-rpy2/package.py
+++ b/var/spack/repos/builtin/packages/py-rpy2/package.py
@@ -8,40 +8,41 @@ from spack.package import *
class PyRpy2(PythonPackage):
"""rpy2 is a redesign and rewrite of rpy. It is providing a low-level
- interface to R from Python, a proposed high-level interface,
- including wrappers to graphical libraries, as well as R-like
- structures and functions.
+ interface to R from Python, a proposed high-level interface,
+ including wrappers to graphical libraries, as well as R-like
+ structures and functions.
"""
+
pypi = "rpy2/rpy2-2.5.4.tar.gz"
- version('3.0.4', sha256='2af5158a5d56af7f7bf5e54d8d7e87b6f115ff40f056d82f93cad0cbf6acc0cb')
- version('3.0.0', sha256='34efc2935d9015527837d6b1de29641863d184b19d39ad415d5384be8a015bce')
- version('2.9.4', sha256='be57f741d0c284b5d8785ab03dff0e829303e5ac30e548d5ceb46e05b168812e')
- version('2.8.6', sha256='004d13734a7b9a85cbc1e7a93ec87df741e28db1273ab5b0d9efaac04a9c5f98')
- version('2.5.6', sha256='d0d584c435b5ed376925a95a4525dbe87de7fa9260117e9f208029e0c919ad06')
- version('2.5.4', sha256='d521ecdd05cd0c31ab017cb63e9f63c29b524e46ec9063a920f640b5875f8a90')
+ version("3.0.4", sha256="2af5158a5d56af7f7bf5e54d8d7e87b6f115ff40f056d82f93cad0cbf6acc0cb")
+ version("3.0.0", sha256="34efc2935d9015527837d6b1de29641863d184b19d39ad415d5384be8a015bce")
+ version("2.9.4", sha256="be57f741d0c284b5d8785ab03dff0e829303e5ac30e548d5ceb46e05b168812e")
+ version("2.8.6", sha256="004d13734a7b9a85cbc1e7a93ec87df741e28db1273ab5b0d9efaac04a9c5f98")
+ version("2.5.6", sha256="d0d584c435b5ed376925a95a4525dbe87de7fa9260117e9f208029e0c919ad06")
+ version("2.5.4", sha256="d521ecdd05cd0c31ab017cb63e9f63c29b524e46ec9063a920f640b5875f8a90")
# FIXME: Missing dependencies:
# ld: cannot find -licuuc
# ld: cannot find -licui18
# All versions
- depends_on('py-setuptools', type='build')
- depends_on('r', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("r", type=("build", "run"))
# @3.0.0:
- depends_on('py-cffi@1.0.0:', when='@3.0.0:', type=('build', 'run'))
- depends_on('py-simplegeneric', when='@3.0.0:', type=('build', 'run'))
- depends_on('py-pytest', when='@3:', type=('build', 'run'))
+ depends_on("py-cffi@1.0.0:", when="@3.0.0:", type=("build", "run"))
+ depends_on("py-simplegeneric", when="@3.0.0:", type=("build", "run"))
+ depends_on("py-pytest", when="@3:", type=("build", "run"))
# @2.9.0:
- depends_on('r@3.3:', when='@2.9.0:', type=('build', 'run'))
- depends_on('python@3.5:', when='@2.9.0:', type=('build', 'run'))
- depends_on('py-jinja2', when='@2.9.0:', type=('build', 'run'))
- depends_on('py-six', when='@2.9.0:2.9', type=('build', 'run'))
+ depends_on("r@3.3:", when="@2.9.0:", type=("build", "run"))
+ depends_on("python@3.5:", when="@2.9.0:", type=("build", "run"))
+ depends_on("py-jinja2", when="@2.9.0:", type=("build", "run"))
+ depends_on("py-six", when="@2.9.0:2.9", type=("build", "run"))
# @:2.8.6
- depends_on('r@2.8:', when='@:2.8.6', type=('build', 'run'))
- depends_on('py-singledispatch', when='^python@:2', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on("r@2.8:", when="@:2.8.6", type=("build", "run"))
+ depends_on("py-singledispatch", when="^python@:2", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rq/package.py b/var/spack/repos/builtin/packages/py-rq/package.py
index 2c969558c3..3d32f0b9a0 100644
--- a/var/spack/repos/builtin/packages/py-rq/package.py
+++ b/var/spack/repos/builtin/packages/py-rq/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class PyRq(PythonPackage):
"""RQ (Redis Queue) is a simple Python library for queueing
- jobs and processing them in the background with workers."""
+ jobs and processing them in the background with workers."""
homepage = "https://github.com/rq/rq"
- url = "https://github.com/rq/rq/archive/v1.5.2.tar.gz"
+ url = "https://github.com/rq/rq/archive/v1.5.2.tar.gz"
- version('1.5.2', sha256='e8e7b6ffc4a962837eaff8eb0137514346e629633bf08550a1649771cdc4ace6')
- version('1.5.1', sha256='36ca5cd2762b5b15bb176943f77da933fac6c2f4e5b5d47a0475f918c167fd4c')
- version('1.5.0', sha256='97443acd8aab1c273710f74db197838f68a0678f9cabb64c3598dfb816d35e13')
- version('1.4.3', sha256='a971aa16d346d1c145442af3bfb171ea620f375d240fbade3c42c2246d3d698a')
- version('1.4.2', sha256='478bd19ac4f66d3066459f5e8253cf5f477bfe128f69ed952f7565cb530ac6a4')
- version('1.4.1', sha256='fe158e3d9d4efe533f5698738f14e975656e396cd280c6acfd45952dc5ddfc66')
- version('1.4.0', sha256='03cd39392d31d00205bd1d84930e9b7aefc5d3ac9770c59092bdd8a94fc8a47d')
- version('1.3.0', sha256='ce94d07125b96313e8c4512b30c62da290ae6f5eeff60b8c3e2a0a08055f5608')
- version('1.2.2', sha256='ea71f805d4e3b972b4df5545529044df4bc0fbae30814a48bc28d8d0a39c0068')
- version('1.2.1', sha256='0b38344cda68710e572df9c70b733e95f1cdf13ce727a970f68307cedc98376a')
+ version("1.5.2", sha256="e8e7b6ffc4a962837eaff8eb0137514346e629633bf08550a1649771cdc4ace6")
+ version("1.5.1", sha256="36ca5cd2762b5b15bb176943f77da933fac6c2f4e5b5d47a0475f918c167fd4c")
+ version("1.5.0", sha256="97443acd8aab1c273710f74db197838f68a0678f9cabb64c3598dfb816d35e13")
+ version("1.4.3", sha256="a971aa16d346d1c145442af3bfb171ea620f375d240fbade3c42c2246d3d698a")
+ version("1.4.2", sha256="478bd19ac4f66d3066459f5e8253cf5f477bfe128f69ed952f7565cb530ac6a4")
+ version("1.4.1", sha256="fe158e3d9d4efe533f5698738f14e975656e396cd280c6acfd45952dc5ddfc66")
+ version("1.4.0", sha256="03cd39392d31d00205bd1d84930e9b7aefc5d3ac9770c59092bdd8a94fc8a47d")
+ version("1.3.0", sha256="ce94d07125b96313e8c4512b30c62da290ae6f5eeff60b8c3e2a0a08055f5608")
+ version("1.2.2", sha256="ea71f805d4e3b972b4df5545529044df4bc0fbae30814a48bc28d8d0a39c0068")
+ version("1.2.1", sha256="0b38344cda68710e572df9c70b733e95f1cdf13ce727a970f68307cedc98376a")
- depends_on('python@3.5:3.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-redis@3.5.0:', type=('build', 'run'))
- depends_on('py-click@5.0.0:', type=('build', 'run'))
+ depends_on("python@3.5:3.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-redis@3.5.0:", type=("build", "run"))
+ depends_on("py-click@5.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rsa/package.py b/var/spack/repos/builtin/packages/py-rsa/package.py
index a0b124608a..690f99fd5f 100644
--- a/var/spack/repos/builtin/packages/py-rsa/package.py
+++ b/var/spack/repos/builtin/packages/py-rsa/package.py
@@ -12,10 +12,10 @@ class PyRsa(PythonPackage):
homepage = "https://stuvel.eu/rsa"
pypi = "rsa/rsa-3.4.2.tar.gz"
- version('4.7.2', sha256='9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9')
- version('4.0', sha256='1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487')
- version('3.4.2', sha256='25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5')
+ version("4.7.2", sha256="9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9")
+ version("4.0", sha256="1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487")
+ version("3.4.2", sha256="25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pyasn1@0.1.3:', type=('build', 'run'))
- depends_on('python@3.5:3', type=('build', 'run'), when='@4.7.2:')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pyasn1@0.1.3:", type=("build", "run"))
+ depends_on("python@3.5:3", type=("build", "run"), when="@4.7.2:")
diff --git a/var/spack/repos/builtin/packages/py-rsatoolbox/package.py b/var/spack/repos/builtin/packages/py-rsatoolbox/package.py
index a47cbb7bb2..19b170c4db 100644
--- a/var/spack/repos/builtin/packages/py-rsatoolbox/package.py
+++ b/var/spack/repos/builtin/packages/py-rsatoolbox/package.py
@@ -10,28 +10,28 @@ class PyRsatoolbox(PythonPackage):
"""Representational Similarity Analysis (RSA) in Python."""
homepage = "https://github.com/rsagroup/rsatoolbox"
- pypi = "rsatoolbox/rsatoolbox-0.0.3.tar.gz"
- git = "https://github.com/rsagroup/rsatoolbox.git"
+ pypi = "rsatoolbox/rsatoolbox-0.0.3.tar.gz"
+ git = "https://github.com/rsagroup/rsatoolbox.git"
- version('main', branch='main')
- version('0.0.4', sha256='84153fa4c686c95f3e83f2cb668b97b82b53dc2a565856db80aa5f8c96d09359')
- version('0.0.3', sha256='9bf6e16d9feadc081f9daaaaab7ef38fc1cd64dd8ef0ccd9f74adb5fe6166649')
+ version("main", branch="main")
+ version("0.0.4", sha256="84153fa4c686c95f3e83f2cb668b97b82b53dc2a565856db80aa5f8c96d09359")
+ version("0.0.3", sha256="9bf6e16d9feadc081f9daaaaab7ef38fc1cd64dd8ef0ccd9f74adb5fe6166649")
- depends_on('py-setuptools', type='build')
- depends_on('py-coverage', type=('build', 'run'))
- depends_on('py-numpy@1.21.2:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-scikit-image', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-petname@2.2', when='@0.0.4:', type=('build', 'run'))
- depends_on('py-pandas', when='@0.0.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-coverage", type=("build", "run"))
+ depends_on("py-numpy@1.21.2:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-scikit-image", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-petname@2.2", when="@0.0.4:", type=("build", "run"))
+ depends_on("py-pandas", when="@0.0.4:", type=("build", "run"))
- @when('@:0.0.3')
+ @when("@:0.0.3")
def patch(self):
# tests are looking for a not existing requirements.txt file
- with working_dir('tests'):
- open('requirements.txt', 'a').close()
+ with working_dir("tests"):
+ open("requirements.txt", "a").close()
diff --git a/var/spack/repos/builtin/packages/py-rseqc/package.py b/var/spack/repos/builtin/packages/py-rseqc/package.py
index 9e8201ba80..47d5519748 100644
--- a/var/spack/repos/builtin/packages/py-rseqc/package.py
+++ b/var/spack/repos/builtin/packages/py-rseqc/package.py
@@ -14,16 +14,16 @@ class PyRseqc(PythonPackage):
homepage = "http://rseqc.sourceforge.net"
pypi = "RSeQC/RSeQC-2.6.4.tar.gz"
- version('3.0.1', sha256='d5f4cb2c24a7348929f5c4947d84c5869e8cd2cba5ba5248d991ebb37c4c6b3d')
- version('2.6.4', sha256='e11df661bda1c24fc950f0bce06f586a68ab5f4a2c356f43e4a0dfdc1e184315')
+ version("3.0.1", sha256="d5f4cb2c24a7348929f5c4947d84c5869e8cd2cba5ba5248d991ebb37c4c6b3d")
+ version("2.6.4", sha256="e11df661bda1c24fc950f0bce06f586a68ab5f4a2c356f43e4a0dfdc1e184315")
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@:2')
- depends_on('python@3.5:', type=('build', 'run'), when='@3:')
- depends_on('py-setuptools', type='build')
- depends_on('py-nose@0.10.4:', type='build')
- depends_on('py-cython@0.17:', type=('build', 'run'))
- depends_on('py-bx-python', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-pybigwig', type=('build', 'run'), when='@3:')
- depends_on('r', type='run')
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@:2")
+ depends_on("python@3.5:", type=("build", "run"), when="@3:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nose@0.10.4:", type="build")
+ depends_on("py-cython@0.17:", type=("build", "run"))
+ depends_on("py-bx-python", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-pybigwig", type=("build", "run"), when="@3:")
+ depends_on("r", type="run")
diff --git a/var/spack/repos/builtin/packages/py-rst2pdf/package.py b/var/spack/repos/builtin/packages/py-rst2pdf/package.py
index 22c4a10f32..48894c9fa7 100644
--- a/var/spack/repos/builtin/packages/py-rst2pdf/package.py
+++ b/var/spack/repos/builtin/packages/py-rst2pdf/package.py
@@ -14,18 +14,18 @@ class PyRst2pdf(PythonPackage):
the ReportLab library."""
homepage = "https://rst2pdf.org/"
- pypi = "rst2pdf/rst2pdf-0.99.tar.gz"
+ pypi = "rst2pdf/rst2pdf-0.99.tar.gz"
- version('0.99', sha256='8fa23fa93bddd1f52d058ceaeab6582c145546d80f2f8a95974f3703bd6c8152')
+ version("0.99", sha256="8fa23fa93bddd1f52d058ceaeab6582c145546d80f2f8a95974f3703bd6c8152")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-docutils', type=('build', 'run'))
- depends_on('py-importlib-metadata', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-reportlab', type=('build', 'run'))
- depends_on('py-smartypants', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-docutils", type=("build", "run"))
+ depends_on("py-importlib-metadata", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-reportlab", type=("build", "run"))
+ depends_on("py-smartypants", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py
index 120023f855..4dca515a76 100644
--- a/var/spack/repos/builtin/packages/py-rtree/package.py
+++ b/var/spack/repos/builtin/packages/py-rtree/package.py
@@ -12,21 +12,21 @@ class PyRtree(PythonPackage):
homepage = "https://github.com/Toblerity/rtree"
pypi = "Rtree/Rtree-0.8.3.tar.gz"
- maintainers = ['adamjstewart', 'hobu']
+ maintainers = ["adamjstewart", "hobu"]
- version('1.0.0', sha256='d0483482121346b093b9a42518d40f921adf445915b7aea307eb26768c839682')
- version('0.9.7', sha256='be8772ca34699a9ad3fb4cfe2cfb6629854e453c10b3328039301bbfc128ca3e')
- version('0.8.3', sha256='6cb9cf3000963ea6a3db777a597baee2bc55c4fc891e4f1967f262cc96148649')
+ version("1.0.0", sha256="d0483482121346b093b9a42518d40f921adf445915b7aea307eb26768c839682")
+ version("0.9.7", sha256="be8772ca34699a9ad3fb4cfe2cfb6629854e453c10b3328039301bbfc128ca3e")
+ version("0.8.3", sha256="6cb9cf3000963ea6a3db777a597baee2bc55c4fc891e4f1967f262cc96148649")
- depends_on('python@3.7:', when='@1:', type=('build', 'run'))
- depends_on('python@3:', when='@0.9.4:', type=('build', 'run'))
- depends_on('py-setuptools@39.2:', when='@1:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-typing-extensions@3.7:', when='@1: ^python@:3.7', type=('build', 'run'))
- depends_on('libspatialindex@1.8.5:')
+ depends_on("python@3.7:", when="@1:", type=("build", "run"))
+ depends_on("python@3:", when="@0.9.4:", type=("build", "run"))
+ depends_on("py-setuptools@39.2:", when="@1:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-typing-extensions@3.7:", when="@1: ^python@:3.7", type=("build", "run"))
+ depends_on("libspatialindex@1.8.5:")
def setup_build_environment(self, env):
- env.set('SPATIALINDEX_C_LIBRARY', self.spec['libspatialindex'].libs[0])
+ env.set("SPATIALINDEX_C_LIBRARY", self.spec["libspatialindex"].libs[0])
def setup_run_environment(self, env):
self.setup_build_environment(env)
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 92bd7be4a8..1f3db56b6d 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py
@@ -17,6 +17,6 @@ class PyRuamelOrdereddict(PythonPackage):
homepage = "https://sourceforge.net/projects/ruamel-ordereddict/"
pypi = "ruamel.ordereddict/ruamel.ordereddict-0.4.14.tar.gz"
- version('0.4.14', sha256='281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a')
+ version("0.4.14", sha256="281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
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 99787b0169..4ea1424b5b 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
@@ -14,7 +14,7 @@ class PyRuamelYamlClib(PythonPackage):
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')
+ version("0.2.0", sha256="b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
- depends_on('py-setuptools@28.7.0:', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "link", "run"))
+ depends_on("py-setuptools@28.7.0:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
index f48dae5c8a..d40069be3f 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-yaml/package.py
@@ -15,20 +15,20 @@ class PyRuamelYaml(PythonPackage):
homepage = "https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree"
pypi = "ruamel.yaml/ruamel.yaml-0.16.10.tar.gz"
- version('0.17.16', sha256='1a771fc92d3823682b7f0893ad56cb5a5c87c48e62b5399d6f42c8759a583b33')
- version('0.16.10', sha256='099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954')
- version('0.16.5', sha256='412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408')
- version('0.11.7', sha256='c89363e16c9eafb9354e55d757723efeff8682d05e56b0881450002ffb00a344')
+ version("0.17.16", sha256="1a771fc92d3823682b7f0893ad56cb5a5c87c48e62b5399d6f42c8759a583b33")
+ version("0.16.10", sha256="099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954")
+ version("0.16.5", sha256="412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408")
+ version("0.11.7", sha256="c89363e16c9eafb9354e55d757723efeff8682d05e56b0881450002ffb00a344")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.17:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@28.7:', when='@0.17:', type=('build'))
- depends_on('py-ruamel-ordereddict', when='@0.15:^python@:2', type=('build', 'run'))
- depends_on('py-ruamel-yaml-clib@0.1.2:', when='@0.16:^python@:3.8', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.17:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@28.7:", when="@0.17:", type=("build"))
+ depends_on("py-ruamel-ordereddict", when="@0.15:^python@:2", type=("build", "run"))
+ depends_on("py-ruamel-yaml-clib@0.1.2:", when="@0.16:^python@:3.8", type=("build", "run"))
- @run_after('install')
+ @run_after("install")
def fix_import_error(self):
- if str(self.spec['python'].version.up_to(1)) == '2':
- touch = which('touch')
- touch(join_path(python_purelib, 'ruamel', '__init__.py'))
+ if str(self.spec["python"].version.up_to(1)) == "2":
+ touch = which("touch")
+ touch(join_path(python_purelib, "ruamel", "__init__.py"))
diff --git a/var/spack/repos/builtin/packages/py-rx/package.py b/var/spack/repos/builtin/packages/py-rx/package.py
index 9e3ef5c4c7..5b6260f10c 100644
--- a/var/spack/repos/builtin/packages/py-rx/package.py
+++ b/var/spack/repos/builtin/packages/py-rx/package.py
@@ -10,12 +10,12 @@ class PyRx(PythonPackage):
"""Reactive Extensions (Rx) for Python"""
homepage = "http://reactivex.io/"
- pypi = "Rx/Rx-3.2.0.tar.gz"
+ pypi = "Rx/Rx-3.2.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('3.2.0', sha256='b657ca2b45aa485da2f7dcfd09fac2e554f7ac51ff3c2f8f2ff962ecd963d91c')
- version('1.6.1', sha256='13a1d8d9e252625c173dc795471e614eadfe1cf40ffc684e08b8fff0d9748c23')
+ version("3.2.0", sha256="b657ca2b45aa485da2f7dcfd09fac2e554f7ac51ff3c2f8f2ff962ecd963d91c")
+ version("1.6.1", sha256="13a1d8d9e252625c173dc795471e614eadfe1cf40ffc684e08b8fff0d9748c23")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-s3cmd/package.py b/var/spack/repos/builtin/packages/py-s3cmd/package.py
index 59c52861d7..89dd9534a1 100644
--- a/var/spack/repos/builtin/packages/py-s3cmd/package.py
+++ b/var/spack/repos/builtin/packages/py-s3cmd/package.py
@@ -16,16 +16,16 @@ class PyS3cmd(PythonPackage):
"""
homepage = "https://github.com/s3tools/s3cmd"
- url = "https://github.com/s3tools/s3cmd/releases/download/v2.0.2/s3cmd-2.0.2.tar.gz"
+ url = "https://github.com/s3tools/s3cmd/releases/download/v2.0.2/s3cmd-2.0.2.tar.gz"
- version('2.0.2', sha256='9f244c0c10d58d0ccacbba3aa977463e32491bdd9d95109e27b67e4d46c5bd52')
- version('2.0.1', sha256='caf09f1473301c442fba6431c983c361c9af8bde503dac0953f0d2f8f2c53c8f')
- version('2.0.0', sha256='bf2a50802f1031cba83e99be488965803899d8ab0228c800c833b55c7269cd48')
- version('1.6.1', sha256='4675794f84d8744ee3d35873d180f41c7b2116895ccbe2738a9bc552e1cf214e')
- version('1.6.0', sha256='04279ee26c661d4b740449460ed93a74ffec91616f685474beea97e930fdfa5c')
- version('1.5.2', sha256='ff8a6764e8bdd7ed48a93e51b08222bea33469d248a90b8d25315b023717b42d')
+ version("2.0.2", sha256="9f244c0c10d58d0ccacbba3aa977463e32491bdd9d95109e27b67e4d46c5bd52")
+ version("2.0.1", sha256="caf09f1473301c442fba6431c983c361c9af8bde503dac0953f0d2f8f2c53c8f")
+ version("2.0.0", sha256="bf2a50802f1031cba83e99be488965803899d8ab0228c800c833b55c7269cd48")
+ version("1.6.1", sha256="4675794f84d8744ee3d35873d180f41c7b2116895ccbe2738a9bc552e1cf214e")
+ version("1.6.0", sha256="04279ee26c661d4b740449460ed93a74ffec91616f685474beea97e930fdfa5c")
+ version("1.5.2", sha256="ff8a6764e8bdd7ed48a93e51b08222bea33469d248a90b8d25315b023717b42d")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.6:+pyexpat', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-python-magic', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.6:+pyexpat", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-python-magic", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-s3fs/package.py b/var/spack/repos/builtin/packages/py-s3fs/package.py
index 420915d1c3..fc77dafda8 100644
--- a/var/spack/repos/builtin/packages/py-s3fs/package.py
+++ b/var/spack/repos/builtin/packages/py-s3fs/package.py
@@ -13,9 +13,9 @@ class PyS3fs(PythonPackage):
homepage = "https://s3fs.readthedocs.io/en/latest/"
pypi = "s3fs/s3fs-0.5.2.tar.gz"
- version('0.5.2', sha256='87e5210415db17b9de18c77bcfc4a301570cc9030ee112b77dc47ab82426bae1')
+ version("0.5.2", sha256="87e5210415db17b9de18c77bcfc4a301570cc9030ee112b77dc47ab82426bae1")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-aiobotocore@1.0.1:', type=('build', 'run'))
- depends_on('py-fsspec@0.8.0:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-aiobotocore@1.0.1:", type=("build", "run"))
+ depends_on("py-fsspec@0.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-s3transfer/package.py b/var/spack/repos/builtin/packages/py-s3transfer/package.py
index 18b13e7685..30cd14eab1 100644
--- a/var/spack/repos/builtin/packages/py-s3transfer/package.py
+++ b/var/spack/repos/builtin/packages/py-s3transfer/package.py
@@ -12,15 +12,15 @@ 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'))
+ 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')
+ version("0.5.0", sha256="50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c")
+ version("0.4.2", sha256="cb022f4b16551edebbb31a377d3f09600dbada7363d8c5db7976e7f47732e1b2")
+ version("0.3.4", sha256="7fdddb4f22275cf1d32129e21f056337fd2a80b6ccef1664528145b72c49e6d2")
+ version("0.2.1", sha256="6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d")
- depends_on('py-setuptools', type='build')
- depends_on('py-botocore@1.12.36:1', type=('build', 'run'))
- depends_on('py-futures@2.2:3', type=('build', 'run'), when='^python@:2')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-botocore@1.12.36:1", type=("build", "run"))
+ depends_on("py-futures@2.2:3", type=("build", "run"), when="^python@:2")
diff --git a/var/spack/repos/builtin/packages/py-sacremoses/package.py b/var/spack/repos/builtin/packages/py-sacremoses/package.py
index 64966fe168..e20853f917 100644
--- a/var/spack/repos/builtin/packages/py-sacremoses/package.py
+++ b/var/spack/repos/builtin/packages/py-sacremoses/package.py
@@ -13,11 +13,11 @@ class PySacremoses(PythonPackage):
homepage = "https://github.com/alvations/sacremoses"
pypi = "sacremoses/sacremoses-0.0.39.tar.gz"
- version('0.0.39', sha256='53fad38b93dd5bf1657a68d52bcca5d681d4246477a764b7791a2abd5c7d1f4c')
+ version("0.0.39", sha256="53fad38b93dd5bf1657a68d52bcca5d681d4246477a764b7791a2abd5c7d1f4c")
- depends_on('py-setuptools', type='build')
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
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 d8b3030e7e..a5f61ded5b 100644
--- a/var/spack/repos/builtin/packages/py-saga-python/package.py
+++ b/var/spack/repos/builtin/packages/py-saga-python/package.py
@@ -10,14 +10,18 @@ class PySagaPython(PythonPackage):
"""A light-weight access layer for distributed computing infrastructure.
DEPRECATED (Please use `py-radical-saga`)"""
- homepage = 'https://radical-cybertools.github.io'
- 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"
- maintainers = ['andre-merzky']
+ maintainers = ["andre-merzky"]
- version('0.41.3', sha256='b30961e634f32f6008e292aa1fe40560f257d5294b0cda95baac1cf5391feb5d', deprecated=True)
+ version(
+ "0.41.3",
+ sha256="b30961e634f32f6008e292aa1fe40560f257d5294b0cda95baac1cf5391feb5d",
+ deprecated=True,
+ )
- depends_on('py-radical-utils@:0.45', type=('build', 'run'))
+ depends_on("py-radical-utils@:0.45", type=("build", "run"))
- depends_on('py-apache-libcloud', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-apache-libcloud", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-salib/package.py b/var/spack/repos/builtin/packages/py-salib/package.py
index c45719295a..f3b6a512da 100644
--- a/var/spack/repos/builtin/packages/py-salib/package.py
+++ b/var/spack/repos/builtin/packages/py-salib/package.py
@@ -10,19 +10,19 @@ class PySalib(PythonPackage):
"""Python implementations of commonly used sensitivity analysis methods."""
homepage = "https://salib.readthedocs.org"
- pypi = "SALib/SALib-1.4.0.1.tar.gz"
+ pypi = "SALib/SALib-1.4.0.1.tar.gz"
- maintainers = ['schmitts']
+ maintainers = ["schmitts"]
- version('1.4.4', sha256='50a6459088700f55261a683752818530d14ede30cece2c324ac94d4b9e288b6d')
- version('1.4.0.1', sha256='dbf6e865af9f3be82a79cf64889ed66d6d3b6803f0c22a242a112876789d49e7')
+ version("1.4.4", sha256="50a6459088700f55261a683752818530d14ede30cece2c324ac94d4b9e288b6d")
+ version("1.4.0.1", sha256="dbf6e865af9f3be82a79cf64889ed66d6d3b6803f0c22a242a112876789d49e7")
- depends_on('py-setuptools@38.3:', type=('build', 'run'))
- depends_on('py-numpy@1.16.5:', type=('build', 'run'))
- depends_on('py-scipy@1.5.2:', type=('build', 'run'))
- 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:')
+ depends_on("py-setuptools@38.3:", type=("build", "run"))
+ depends_on("py-numpy@1.16.5:", type=("build", "run"))
+ depends_on("py-scipy@1.5.2:", type=("build", "run"))
+ 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:")
diff --git a/var/spack/repos/builtin/packages/py-sanic/package.py b/var/spack/repos/builtin/packages/py-sanic/package.py
index f1f08c1de4..3c79b2518e 100644
--- a/var/spack/repos/builtin/packages/py-sanic/package.py
+++ b/var/spack/repos/builtin/packages/py-sanic/package.py
@@ -13,20 +13,20 @@ class PySanic(PythonPackage):
homepage = "https://github.com/huge-success/sanic"
pypi = "sanic/sanic-20.6.3.tar.gz"
- version('20.6.3', sha256='30e83d9f677b609d6b8ccab7c9551ca7e9a5f19ac0579f5aa10199ab6d4138ed')
+ version("20.6.3", sha256="30e83d9f677b609d6b8ccab7c9551ca7e9a5f19ac0579f5aa10199ab6d4138ed")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-ujson')
- depends_on('py-multidict@4.0:4')
- depends_on('py-aiofiles@0.3.0:')
- depends_on('py-httptools@0.0.10:')
- depends_on('py-websockets@8.1:8')
- depends_on('py-httpx@0.11.1')
- depends_on('py-websockets@8.1:8')
- depends_on('py-uvloop')
- depends_on('py-chardet')
- depends_on('py-hstspreload')
- depends_on('py-h2')
- depends_on('py-urllib3')
- depends_on('py-brotlipy')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-ujson")
+ depends_on("py-multidict@4.0:4")
+ depends_on("py-aiofiles@0.3.0:")
+ depends_on("py-httptools@0.0.10:")
+ depends_on("py-websockets@8.1:8")
+ depends_on("py-httpx@0.11.1")
+ depends_on("py-websockets@8.1:8")
+ depends_on("py-uvloop")
+ depends_on("py-chardet")
+ depends_on("py-hstspreload")
+ depends_on("py-h2")
+ depends_on("py-urllib3")
+ depends_on("py-brotlipy")
diff --git a/var/spack/repos/builtin/packages/py-scandir/package.py b/var/spack/repos/builtin/packages/py-scandir/package.py
index bf74409e80..1e9bf2afc8 100644
--- a/var/spack/repos/builtin/packages/py-scandir/package.py
+++ b/var/spack/repos/builtin/packages/py-scandir/package.py
@@ -12,8 +12,8 @@ class PyScandir(PythonPackage):
homepage = "https://github.com/benhoyt/scandir"
pypi = "scandir/scandir-1.9.0.tar.gz"
- version('1.10.0', sha256='4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae')
- version('1.9.0', sha256='44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064')
- version('1.6', sha256='e0278a2d4bc6c0569aedbe66bf26c8ab5b2b08378b3289de49257f23ac624338')
+ version("1.10.0", sha256="4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae")
+ version("1.9.0", sha256="44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064")
+ version("1.6", sha256="e0278a2d4bc6c0569aedbe66bf26c8ab5b2b08378b3289de49257f23ac624338")
- depends_on('py-setuptools', type=('build'))
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-schema/package.py b/var/spack/repos/builtin/packages/py-schema/package.py
index 90492305a6..4b130dc233 100644
--- a/var/spack/repos/builtin/packages/py-schema/package.py
+++ b/var/spack/repos/builtin/packages/py-schema/package.py
@@ -10,9 +10,9 @@ class PySchema(PythonPackage):
"""Simple data validation library"""
homepage = "https://github.com/keleshev/schema"
- pypi = "schema/schema-0.7.5.tar.gz"
+ pypi = "schema/schema-0.7.5.tar.gz"
- version('0.7.5', sha256='f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197')
+ version("0.7.5", sha256="f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197")
- depends_on('py-setuptools', type='build')
- depends_on('py-contextlib2@0.5.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-contextlib2@0.5.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scientificpython/package.py b/var/spack/repos/builtin/packages/py-scientificpython/package.py
index 6d2ac0d94c..73d777b0c6 100644
--- a/var/spack/repos/builtin/packages/py-scientificpython/package.py
+++ b/var/spack/repos/builtin/packages/py-scientificpython/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyScientificpython(PythonPackage):
"""ScientificPython is a collection of Python modules for
- scientific computing. It contains support for geometry,
- mathematical functions, statistics, physical units, IO,
- visualization, and parallelization."""
+ scientific computing. It contains support for geometry,
+ mathematical functions, statistics, physical units, IO,
+ visualization, and parallelization."""
homepage = "https://sourcesup.renater.fr/projects/scientific-py/"
- url = "https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz"
- version('2.8.1', sha256='d9ef354736410bbb2e8be33cb7433cf62114307a44e3a96baaa793b58b4b518b')
+ url = "https://sourcesup.renater.fr/frs/download.php/file/4411/ScientificPython-2.8.1.tar.gz"
+ version("2.8.1", sha256="d9ef354736410bbb2e8be33cb7433cf62114307a44e3a96baaa793b58b4b518b")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-build/package.py b/var/spack/repos/builtin/packages/py-scikit-build/package.py
index e815b06010..99c3114a51 100644
--- a/var/spack/repos/builtin/packages/py-scikit-build/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-build/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class PyScikitBuild(PythonPackage):
"""scikit-build is an improved build system generator for CPython
- C/C++/Fortran/Cython extensions. It provides better support for
- additional compilers, build systems, cross compilation, and
- locating dependencies and their associated build requirements.
+ C/C++/Fortran/Cython extensions. It provides better support for
+ additional compilers, build systems, cross compilation, and
+ locating dependencies and their associated build requirements.
- The scikit-build package is fundamentally just glue between
- the setuptools Python module and CMake."""
+ The scikit-build package is fundamentally just glue between
+ the setuptools Python module and CMake."""
homepage = "https://scikit-build.readthedocs.io/en/latest/"
- url = "https://github.com/scikit-build/scikit-build/archive/0.10.0.tar.gz"
+ url = "https://github.com/scikit-build/scikit-build/archive/0.10.0.tar.gz"
- maintainers = ['coreyjadams']
+ maintainers = ["coreyjadams"]
- version('0.12.0', sha256='c32a415d2e7920a4a966b037403c93b02c8a958d8badf3c60abd4b4493f7d988')
- version('0.10.0', sha256='2beec252813b20327072c15e9d997f15972aedcc6a130d0154979ff0fdb1b010')
+ version("0.12.0", sha256="c32a415d2e7920a4a966b037403c93b02c8a958d8badf3c60abd4b4493f7d988")
+ version("0.10.0", sha256="2beec252813b20327072c15e9d997f15972aedcc6a130d0154979ff0fdb1b010")
- depends_on('py-setuptools@28.0.0:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-wheel@0.29.0:', type=('build', 'run'))
- depends_on('py-distro', type=('build', 'run'), when='@0.11:')
+ depends_on("py-setuptools@28.0.0:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-wheel@0.29.0:", type=("build", "run"))
+ depends_on("py-distro", type=("build", "run"), when="@0.11:")
diff --git a/var/spack/repos/builtin/packages/py-scikit-fmm/package.py b/var/spack/repos/builtin/packages/py-scikit-fmm/package.py
index 4d16935d1c..a114dc6f2d 100644
--- a/var/spack/repos/builtin/packages/py-scikit-fmm/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-fmm/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class PyScikitFmm(PythonPackage):
"""scikit-fmm is a Python extension module which implements the fast marching
- method."""
+ method."""
pypi = "scikit-fmm/scikit-fmm-2019.1.30.tar.gz"
- git = "https://github.com/scikit-fmm/scikit-fmm.git"
+ git = "https://github.com/scikit-fmm/scikit-fmm.git"
- maintainers = ['archxlith']
+ maintainers = ["archxlith"]
- version('master', branch='master')
- version('2019.1.30', sha256='eb64b6d8e30b8df8f8636d5fc4fd7ca6a9b05938ccd62518c80c1d9e823069dd')
+ version("master", branch="master")
+ version("2019.1.30", sha256="eb64b6d8e30b8df8f8636d5fc4fd7ca6a9b05938ccd62518c80c1d9e823069dd")
- depends_on('py-numpy@1.0.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-numpy@1.0.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py b/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py
index e534df9f1b..0e43ca6452 100644
--- a/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py
@@ -10,12 +10,12 @@ class PyScikitFuzzy(PythonPackage):
"""Fuzzy logic toolkit for SciPy"""
homepage = "https://github.com/scikit-fuzzy/scikit-fuzzy"
- pypi = "scikit-fuzzy/scikit-fuzzy-0.4.2.tar.gz"
+ pypi = "scikit-fuzzy/scikit-fuzzy-0.4.2.tar.gz"
- version('0.4.2', sha256='1ab12424d847ede1bc79670d8058167be7c8dd660b00756e9b844817ceb1e12e')
+ version("0.4.2", sha256="1ab12424d847ede1bc79670d8058167be7c8dd660b00756e9b844817ceb1e12e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build',))
- depends_on('py-networkx@1.9:', type=('build', 'run'))
- depends_on('py-numpy@1.6:', type=('build', 'run'))
- depends_on('py-scipy@0.9:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build",))
+ depends_on("py-networkx@1.9:", type=("build", "run"))
+ depends_on("py-numpy@1.6:", type=("build", "run"))
+ depends_on("py-scipy@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py
index f31a174cd1..46e0b48939 100644
--- a/var/spack/repos/builtin/packages/py-scikit-image/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py
@@ -13,58 +13,58 @@ class PyScikitImage(PythonPackage):
homepage = "https://scikit-image.org/"
pypi = "scikit-image/scikit-image-0.17.2.tar.gz"
- version('0.18.3', sha256='ecae99f93f4c5e9b1bf34959f4dc596c41f2f6b2fc407d9d9ddf85aebd3137ca')
- version('0.18.1', sha256='fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171')
- version('0.17.2', sha256='bd954c0588f0f7e81d9763dc95e06950e68247d540476e06cb77bcbcd8c2d8b3')
- version('0.14.2', sha256='1afd0b84eefd77afd1071c5c1c402553d67be2d7db8950b32d6f773f25850c1f')
- version('0.12.3', sha256='82da192f0e524701e89c5379c79200bc6dc21373f48bf7778a864c583897d7c7')
+ version("0.18.3", sha256="ecae99f93f4c5e9b1bf34959f4dc596c41f2f6b2fc407d9d9ddf85aebd3137ca")
+ version("0.18.1", sha256="fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171")
+ version("0.17.2", sha256="bd954c0588f0f7e81d9763dc95e06950e68247d540476e06cb77bcbcd8c2d8b3")
+ version("0.14.2", sha256="1afd0b84eefd77afd1071c5c1c402553d67be2d7db8950b32d6f773f25850c1f")
+ version("0.12.3", sha256="82da192f0e524701e89c5379c79200bc6dc21373f48bf7778a864c583897d7c7")
- extends('python', ignore=r'bin/.*\.py$')
+ extends("python", ignore=r"bin/.*\.py$")
# get dependencies for
# @:0.13.1 from requirements.txt, DEPENDS.txt
# @0.14: from requirements/build.txt, requirements/default.txt
# @0.18: from requirements/build.txt, requirements/default.txt, pyproject.toml
- depends_on('python@3.7:', when='@0.18:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@0.16:', type=('build', 'link', 'run'))
- depends_on('python@2.7:', when='@0.13:', type=('build', 'link', 'run'))
- depends_on('python@2.6:', type=('build', 'link', 'run'))
- depends_on('py-setuptools@51:', when='@0.18:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29.21:', when='@0.18:', type='build') # from build.txt
- depends_on('py-cython@0.29.13:', when='@0.17:', type='build')
- depends_on('py-cython@0.25:0.28.1,0.28.3:0.28,0.29.1:', when='@0.15:', type='build')
- depends_on('py-cython@0.23.4:0.28.1,0.28.3:0.28,0.29.1:', when='@0.14.3:0.14', type='build')
- depends_on('py-cython@0.23.4:0.28.1', when='@0.14.2', type='build')
- depends_on('py-cython@0.23.4:', when='@0.14.1', type='build')
- depends_on('py-cython@0.21:', type='build')
- depends_on('py-numpydoc@0.6:', when='@0.13.0:0.13', type='build')
- depends_on('py-numpy@1.16.5:1.17,1.18.1:', when='@0.18:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.15.1:1.17,1.18.1:', when='@0.17.0:0.17', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.14.1:', when='@0.16:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.11:', when='@0.13:', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.7.2:', type=('build', 'run'))
- depends_on('py-scipy@1.0.1:', when='@0.17:', type=('build', 'run'))
- depends_on('py-scipy@0.19:', when='@0.16:', type=('build', 'run'))
- depends_on('py-scipy@0.17:', when='@0.13:', type=('build', 'run'))
- depends_on('py-scipy@0.9:', type=('build', 'run'))
- depends_on('py-matplotlib@2.0:2,3.0.1:', when='@0.15:', type=('build', 'run'))
- depends_on('py-matplotlib@2:', when='@0.14:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
- depends_on('py-networkx@2:', when='@0.15:', type=('build', 'run'))
- depends_on('py-networkx@1.8:', type=('build', 'run'))
- depends_on('py-six@1.10:', when='@0.14.0:0.14', type=('build', 'run'))
- depends_on('py-six@1.7.3:', when='@:0.14', type=('build', 'run'))
- depends_on('pil@4.3:7.0,7.1.2:', when='@0.17:', type=('build', 'run'))
- depends_on('pil@4.3:', when='@0.14:', type=('build', 'run'))
- depends_on('pil@2.1:', type=('build', 'run'))
- depends_on('py-imageio@2.3:', when='@0.16:', type=('build', 'run'))
- depends_on('py-imageio@2.0.1:', when='@0.15:', type=('build', 'run'))
- depends_on('py-tifffile@2019.7.26:', when='@0.17:', type=('build', 'run'))
- depends_on('py-pywavelets@1.1.1:', when='@0.17:', type=('build', 'run'))
- depends_on('py-pywavelets@0.4:', when='@0.13:', type=('build', 'run'))
- depends_on('py-pooch@0.5.2:', when='@0.17.0:0.17.1', type=('build', 'run'))
- depends_on('py-dask+array@1:', when='@0.14.2', type=('build', 'run'))
- depends_on('py-dask+array@0.9:', when='@0.14.0:0.14.1', type=('build', 'run'))
- depends_on('py-dask+array@0.5:', when='@:0.13', type=('build', 'run'))
- depends_on('py-cloudpickle@0.2.1:', when='@0.14.0:0.14', type=('build', 'run'))
+ depends_on("python@3.7:", when="@0.18:", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@0.16:", type=("build", "link", "run"))
+ depends_on("python@2.7:", when="@0.13:", type=("build", "link", "run"))
+ depends_on("python@2.6:", type=("build", "link", "run"))
+ depends_on("py-setuptools@51:", when="@0.18:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29.21:", when="@0.18:", type="build") # from build.txt
+ depends_on("py-cython@0.29.13:", when="@0.17:", type="build")
+ depends_on("py-cython@0.25:0.28.1,0.28.3:0.28,0.29.1:", when="@0.15:", type="build")
+ depends_on("py-cython@0.23.4:0.28.1,0.28.3:0.28,0.29.1:", when="@0.14.3:0.14", type="build")
+ depends_on("py-cython@0.23.4:0.28.1", when="@0.14.2", type="build")
+ depends_on("py-cython@0.23.4:", when="@0.14.1", type="build")
+ depends_on("py-cython@0.21:", type="build")
+ depends_on("py-numpydoc@0.6:", when="@0.13.0:0.13", type="build")
+ depends_on("py-numpy@1.16.5:1.17,1.18.1:", when="@0.18:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.15.1:1.17,1.18.1:", when="@0.17.0:0.17", type=("build", "link", "run"))
+ depends_on("py-numpy@1.14.1:", when="@0.16:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.11:", when="@0.13:", type=("build", "link", "run"))
+ depends_on("py-numpy@1.7.2:", type=("build", "run"))
+ depends_on("py-scipy@1.0.1:", when="@0.17:", type=("build", "run"))
+ depends_on("py-scipy@0.19:", when="@0.16:", type=("build", "run"))
+ depends_on("py-scipy@0.17:", when="@0.13:", type=("build", "run"))
+ depends_on("py-scipy@0.9:", type=("build", "run"))
+ depends_on("py-matplotlib@2.0:2,3.0.1:", when="@0.15:", type=("build", "run"))
+ depends_on("py-matplotlib@2:", when="@0.14:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3.1:", type=("build", "run"))
+ depends_on("py-networkx@2:", when="@0.15:", type=("build", "run"))
+ depends_on("py-networkx@1.8:", type=("build", "run"))
+ depends_on("py-six@1.10:", when="@0.14.0:0.14", type=("build", "run"))
+ depends_on("py-six@1.7.3:", when="@:0.14", type=("build", "run"))
+ depends_on("pil@4.3:7.0,7.1.2:", when="@0.17:", type=("build", "run"))
+ depends_on("pil@4.3:", when="@0.14:", type=("build", "run"))
+ depends_on("pil@2.1:", type=("build", "run"))
+ depends_on("py-imageio@2.3:", when="@0.16:", type=("build", "run"))
+ depends_on("py-imageio@2.0.1:", when="@0.15:", type=("build", "run"))
+ depends_on("py-tifffile@2019.7.26:", when="@0.17:", type=("build", "run"))
+ depends_on("py-pywavelets@1.1.1:", when="@0.17:", type=("build", "run"))
+ depends_on("py-pywavelets@0.4:", when="@0.13:", type=("build", "run"))
+ depends_on("py-pooch@0.5.2:", when="@0.17.0:0.17.1", type=("build", "run"))
+ depends_on("py-dask+array@1:", when="@0.14.2", type=("build", "run"))
+ depends_on("py-dask+array@0.9:", when="@0.14.0:0.14.1", type=("build", "run"))
+ depends_on("py-dask+array@0.5:", when="@:0.13", type=("build", "run"))
+ depends_on("py-cloudpickle@0.2.1:", when="@0.14.0:0.14", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py
index 7fa86c53e8..3b5fa8d576 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py
@@ -15,13 +15,13 @@ class PyScikitLearnExtra(PythonPackage):
citation number."""
homepage = "https://github.com/scikit-learn-contrib/scikit-learn-extra"
- pypi = "scikit-learn-extra/scikit-learn-extra-0.2.0.tar.gz"
+ pypi = "scikit-learn-extra/scikit-learn-extra-0.2.0.tar.gz"
- version('0.2.0', sha256='3b1bb5fedde47920eb4b3fa0a0c18f80cc7359d9d0496720178788c6153b8019')
+ version("0.2.0", sha256="3b1bb5fedde47920eb4b3fa0a0c18f80cc7359d9d0496720178788c6153b8019")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.28.5:', type='build')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-scipy@0.19.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.23:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.28.5:", type="build")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-scipy@0.19.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.23:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
index ac03a1cb90..5fdad39736 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
@@ -11,109 +11,107 @@ class PyScikitLearn(PythonPackage):
"""A set of python modules for machine learning and data mining."""
pypi = "scikit-learn/scikit-learn-0.24.0.tar.gz"
- git = "https://github.com/scikit-learn/scikit-learn.git"
-
- maintainers = ['adamjstewart']
-
- version('master', branch='master')
- version('1.1.1', sha256='3e77b71e8e644f86c8b5be7f1c285ef597de4c384961389ee3e9ca36c445b256')
- version('1.1.0', sha256='80f9904f5b1356adfc32406725dd94c8cc9c8d265047d98390033a6c238cbb29')
- version('1.0.2', sha256='b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767')
- version('1.0.1', sha256='ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da')
- version('1.0', sha256='776800194e757cd212b47cd05907e0eb67a554ad333fe76776060dbb729e3427')
- version('0.24.2', sha256='d14701a12417930392cd3898e9646cf5670c190b933625ebe7511b1f7d7b8736')
- version('0.24.1', sha256='a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf')
- version('0.24.0', sha256='076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640')
- version('0.23.2', sha256='20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480')
- version('0.23.1', sha256='e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8')
- version('0.23.0', sha256='639a53df6273acc6a7510fb0c658b94e0c70bb13dafff9d14932c981ff9baff4')
- version('0.22.2.post1', sha256='57538d138ba54407d21e27c306735cbd42a6aae0df6a5a30c7a6edde46b0017d')
- version('0.22.1', sha256='51ee25330fc244107588545c70e2f3570cfc4017cff09eed69d6e1d82a212b7d')
- version('0.22', sha256='314abf60c073c48a1e95feaae9f3ca47a2139bd77cebb5b877c23a45c9e03012')
- version('0.21.3', sha256='eb9b8ebf59eddd8b96366428238ab27d05a19e89c5516ce294abc35cea75d003')
- version('0.21.2', sha256='0aafc312a55ebf58073151b9308761a5fcfa45b7f7730cea4b1f066f824c72db')
- version('0.21.1', sha256='228d0611e69e5250946f8cd7bbefec75347950f0ca426d0c518db8f06583f660')
- version('0.20.3', sha256='c503802a81de18b8b4d40d069f5e363795ee44b1605f38bc104160ca3bfe2c41')
- version('0.20.2', sha256='bc5bc7c7ee2572a1edcb51698a6caf11fae554194aaab9a38105d9ec419f29e6')
- version('0.20.0', sha256='97d1d971f8ec257011e64b7d655df68081dd3097322690afa1a71a1d755f8c18')
- version('0.19.2', sha256='b276739a5f863ccacb61999a3067d0895ee291c95502929b2ae56ea1f882e888')
- version('0.19.1', sha256='5ca0ad32ee04abe0d4ba02c8d89d501b4e5e0304bdf4d45c2e9875a735b323a0')
- version('0.18.1', sha256='1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c')
- version('0.15.2', sha256='1a8a881f6f13edc0ac58931ce21f899eb7920af50aa08802413d1239e2aa5fa6')
- version('0.16.1', sha256='c0721e295056c95c7002e05726f2bd271a7923e88bdeab34a2b60aac2b0ee6e4')
- version('0.17.1', sha256='9f4cf58e57d81783289fc503caaed1f210bab49b7a6f680bf3c04b1e0a96e5f0')
- version('0.13.1', sha256='a6e4759a779ba792435d096c882a0d66ee29d369755c09209f1a4e50877bdc94')
-
- variant('openmp', default=True, description='Build with OpenMP support')
+ git = "https://github.com/scikit-learn/scikit-learn.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("master", branch="master")
+ version("1.1.1", sha256="3e77b71e8e644f86c8b5be7f1c285ef597de4c384961389ee3e9ca36c445b256")
+ version("1.1.0", sha256="80f9904f5b1356adfc32406725dd94c8cc9c8d265047d98390033a6c238cbb29")
+ version("1.0.2", sha256="b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767")
+ version("1.0.1", sha256="ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da")
+ version("1.0", sha256="776800194e757cd212b47cd05907e0eb67a554ad333fe76776060dbb729e3427")
+ version("0.24.2", sha256="d14701a12417930392cd3898e9646cf5670c190b933625ebe7511b1f7d7b8736")
+ version("0.24.1", sha256="a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf")
+ version("0.24.0", sha256="076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640")
+ version("0.23.2", sha256="20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480")
+ version("0.23.1", sha256="e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8")
+ version("0.23.0", sha256="639a53df6273acc6a7510fb0c658b94e0c70bb13dafff9d14932c981ff9baff4")
+ version(
+ "0.22.2.post1", sha256="57538d138ba54407d21e27c306735cbd42a6aae0df6a5a30c7a6edde46b0017d"
+ )
+ version("0.22.1", sha256="51ee25330fc244107588545c70e2f3570cfc4017cff09eed69d6e1d82a212b7d")
+ version("0.22", sha256="314abf60c073c48a1e95feaae9f3ca47a2139bd77cebb5b877c23a45c9e03012")
+ version("0.21.3", sha256="eb9b8ebf59eddd8b96366428238ab27d05a19e89c5516ce294abc35cea75d003")
+ version("0.21.2", sha256="0aafc312a55ebf58073151b9308761a5fcfa45b7f7730cea4b1f066f824c72db")
+ version("0.21.1", sha256="228d0611e69e5250946f8cd7bbefec75347950f0ca426d0c518db8f06583f660")
+ version("0.20.3", sha256="c503802a81de18b8b4d40d069f5e363795ee44b1605f38bc104160ca3bfe2c41")
+ version("0.20.2", sha256="bc5bc7c7ee2572a1edcb51698a6caf11fae554194aaab9a38105d9ec419f29e6")
+ version("0.20.0", sha256="97d1d971f8ec257011e64b7d655df68081dd3097322690afa1a71a1d755f8c18")
+ version("0.19.2", sha256="b276739a5f863ccacb61999a3067d0895ee291c95502929b2ae56ea1f882e888")
+ version("0.19.1", sha256="5ca0ad32ee04abe0d4ba02c8d89d501b4e5e0304bdf4d45c2e9875a735b323a0")
+ version("0.18.1", sha256="1eddfc27bb37597a5d514de1299981758e660e0af56981c0bfdf462c9568a60c")
+ version("0.15.2", sha256="1a8a881f6f13edc0ac58931ce21f899eb7920af50aa08802413d1239e2aa5fa6")
+ version("0.16.1", sha256="c0721e295056c95c7002e05726f2bd271a7923e88bdeab34a2b60aac2b0ee6e4")
+ version("0.17.1", sha256="9f4cf58e57d81783289fc503caaed1f210bab49b7a6f680bf3c04b1e0a96e5f0")
+ version("0.13.1", sha256="a6e4759a779ba792435d096c882a0d66ee29d369755c09209f1a4e50877bdc94")
+
+ variant("openmp", default=True, description="Build with OpenMP support")
# setup.py
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@0.20:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.21:', type=('build', 'run'))
- depends_on('python@3.6:', when='@0.23:', type=('build', 'run'))
- depends_on('python@3.7:', when='@1.0:', type=('build', 'run'))
- depends_on('python@3.8:', when='@1.1:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@0.20:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.21:", type=("build", "run"))
+ depends_on("python@3.6:", when="@0.23:", type=("build", "run"))
+ depends_on("python@3.7:", when="@1.0:", type=("build", "run"))
+ depends_on("python@3.8:", when="@1.1:", type=("build", "run"))
# pyproject.toml
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@:59', when='@1.0.2:', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@:59", when="@1.0.2:", type="build")
# sklearn/_min_dependencies.py
- depends_on('py-numpy@1.6.1:', when='@:0.19', type=('build', 'run'))
- depends_on('py-numpy@1.8.2:', when='@0.20', type=('build', 'run'))
- depends_on('py-numpy@1.11.0:', when='@0.21:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', when='@0.23:', type=('build', 'run'))
- depends_on('py-numpy@1.14.6:', when='@1.0:', type=('build', 'run'))
- depends_on('py-numpy@1.17.3:', when='@1.1:', type=('build', 'run'))
- depends_on('py-scipy@0.9:', when='@:0.19', type=('build', 'run'))
- depends_on('py-scipy@0.13.3:', when='@0.20', type=('build', 'run'))
- depends_on('py-scipy@0.17.0:', when='@0.21:', type=('build', 'run'))
- depends_on('py-scipy@0.19.1:', when='@0.23:', type=('build', 'run'))
- depends_on('py-scipy@1.1.0:', when='@1.0:', type=('build', 'run'))
- depends_on('py-scipy@1.3.2:', when='@1.1:', type=('build', 'run'))
- depends_on('py-joblib@0.11:', type=('build', 'run'))
- depends_on('py-joblib@1:', when='@1.1:', type=('build', 'run'))
- depends_on('py-threadpoolctl@2.0.0:', when='@0.23:', type=('build', 'run'))
- depends_on('py-cython@0.23:', type='build')
- depends_on('py-cython@0.28.5:', when='@0.21:', type='build')
- depends_on('py-cython@0.29.24:', when='@1.0.2:', type='build')
- depends_on('llvm-openmp', when='@0.21: %apple-clang +openmp')
+ depends_on("py-numpy@1.6.1:", when="@:0.19", type=("build", "run"))
+ depends_on("py-numpy@1.8.2:", when="@0.20", type=("build", "run"))
+ depends_on("py-numpy@1.11.0:", when="@0.21:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", when="@0.23:", type=("build", "run"))
+ depends_on("py-numpy@1.14.6:", when="@1.0:", type=("build", "run"))
+ depends_on("py-numpy@1.17.3:", when="@1.1:", type=("build", "run"))
+ depends_on("py-scipy@0.9:", when="@:0.19", type=("build", "run"))
+ depends_on("py-scipy@0.13.3:", when="@0.20", type=("build", "run"))
+ depends_on("py-scipy@0.17.0:", when="@0.21:", type=("build", "run"))
+ depends_on("py-scipy@0.19.1:", when="@0.23:", type=("build", "run"))
+ depends_on("py-scipy@1.1.0:", when="@1.0:", type=("build", "run"))
+ depends_on("py-scipy@1.3.2:", when="@1.1:", type=("build", "run"))
+ depends_on("py-joblib@0.11:", type=("build", "run"))
+ depends_on("py-joblib@1:", when="@1.1:", type=("build", "run"))
+ depends_on("py-threadpoolctl@2.0.0:", when="@0.23:", type=("build", "run"))
+ depends_on("py-cython@0.23:", type="build")
+ depends_on("py-cython@0.28.5:", when="@0.21:", type="build")
+ depends_on("py-cython@0.29.24:", when="@1.0.2:", type="build")
+ depends_on("llvm-openmp", when="@0.21: %apple-clang +openmp")
# Test dependencies
- depends_on('py-matplotlib@3.1.2:', type='test')
- depends_on('py-scikit-image@0.14.5:', type='test')
- depends_on('py-pandas@1.0.5:', type='test')
- depends_on('py-pytest@5.0.1:', type='test')
- depends_on('py-pyamg@4:', type='test')
+ depends_on("py-matplotlib@3.1.2:", type="test")
+ depends_on("py-scikit-image@0.14.5:", type="test")
+ depends_on("py-pandas@1.0.5:", type="test")
+ depends_on("py-pytest@5.0.1:", type="test")
+ depends_on("py-pyamg@4:", type="test")
# Release tarballs are already cythonized. If you wanted to build a release
# version without OpenMP support, you would need to delete all .c files
# that include omp.h, as well as PKG-INFO.
# See https://github.com/scikit-learn/scikit-learn/issues/14332
- conflicts('~openmp', when='@:999', msg='Only master supports ~openmp')
+ conflicts("~openmp", when="@:999", msg="Only master supports ~openmp")
def setup_build_environment(self, env):
# enable parallel builds of the sklearn backend
env.append_flags("SKLEARN_BUILD_PARALLEL", str(make_jobs))
# https://scikit-learn.org/stable/developers/advanced_installation.html#building-from-source
- if self.spec.satisfies('~openmp'):
- env.set('SKLEARN_NO_OPENMP', 'True')
+ if self.spec.satisfies("~openmp"):
+ env.set("SKLEARN_NO_OPENMP", "True")
# https://scikit-learn.org/stable/developers/advanced_installation.html#mac-osx
- elif self.spec.satisfies('@0.21: %apple-clang +openmp'):
- env.append_flags(
- 'CPPFLAGS', self.compiler.openmp_flag)
- env.append_flags(
- 'CFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'CXXFLAGS', self.spec['llvm-openmp'].headers.include_flags)
- env.append_flags(
- 'LDFLAGS', self.spec['llvm-openmp'].libs.ld_flags)
-
- @run_after('install')
+ elif self.spec.satisfies("@0.21: %apple-clang +openmp"):
+ env.append_flags("CPPFLAGS", self.compiler.openmp_flag)
+ env.append_flags("CFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("CXXFLAGS", self.spec["llvm-openmp"].headers.include_flags)
+ env.append_flags("LDFLAGS", self.spec["llvm-openmp"].libs.ld_flags)
+
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
# https://scikit-learn.org/stable/developers/advanced_installation.html#testing
- with working_dir('spack-test', create=True):
- pytest = which('pytest')
- pytest(join_path(self.prefix, python_purelib, 'sklearn'))
+ with working_dir("spack-test", create=True):
+ pytest = which("pytest")
+ pytest(join_path(self.prefix, python_purelib, "sklearn"))
diff --git a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
index 179f91098d..476330f61c 100644
--- a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
@@ -8,32 +8,30 @@ from spack.package import *
class PyScikitOptimize(PythonPackage):
"""Scikit-Optimize, or skopt, is a simple and efficient library to
- minimize (very) expensive and noisy black-box functions. It implements
- several methods for sequential model-based optimization. skopt aims to
- be accessible and easy to use in many contexts.
+ minimize (very) expensive and noisy black-box functions. It implements
+ several methods for sequential model-based optimization. skopt aims to
+ be accessible and easy to use in many contexts.
- The library is built on top of NumPy, SciPy and Scikit-Learn."""
+ The library is built on top of NumPy, SciPy and Scikit-Learn."""
homepage = "https://scikit-optimize.github.io"
pypi = "scikit-optimize/scikit-optimize-0.5.2.tar.gz"
- git = "https://github.com/scikit-optimize/scikit-optimize.git"
+ git = "https://github.com/scikit-optimize/scikit-optimize.git"
- maintainers = ['liuyangzhuan']
+ maintainers = ["liuyangzhuan"]
- version('master', branch='master')
- version('0.5.2', sha256='1d7657a4b8ef9aa6d81e49b369c677c584e83269f11710557741d3b3f8fa0a75')
+ version("master", branch="master")
+ version("0.5.2", sha256="1d7657a4b8ef9aa6d81e49b369c677c584e83269f11710557741d3b3f8fa0a75")
- variant('plots', default=True,
- description='Build with plot support from py-matplotlib')
- variant('gptune', default=False,
- description='Build with patches for GPTune')
+ variant("plots", default=True, description="Build with plot support from py-matplotlib")
+ variant("gptune", default=False, description="Build with patches for GPTune")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@0.14.0:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19.1:', type=('build', 'run'))
- depends_on('py-pyyaml', when='+gptune', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@0.14.0:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19.1:", type=("build", "run"))
+ depends_on("py-pyyaml", when="+gptune", type=("build", "run"))
- depends_on('py-matplotlib', when='+plots')
+ depends_on("py-matplotlib", when="+plots")
- patch('space.patch', when='+gptune')
+ patch("space.patch", when="+gptune")
diff --git a/var/spack/repos/builtin/packages/py-scinum/package.py b/var/spack/repos/builtin/packages/py-scinum/package.py
index ebb1699a62..b146d8eb6e 100644
--- a/var/spack/repos/builtin/packages/py-scinum/package.py
+++ b/var/spack/repos/builtin/packages/py-scinum/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyScinum(PythonPackage):
"""Scientific numbers with multiple uncertainties and
- correlation-aware, gaussian propagation and numpy"""
+ correlation-aware, gaussian propagation and numpy"""
homepage = "https://github.com/riga/scinum"
- pypi = "scinum/scinum-1.2.0.tar.gz"
+ pypi = "scinum/scinum-1.2.0.tar.gz"
- version('1.2.0', sha256='31802d9b580f3a89c0876f34432851bc4def9cb2844d6f3c8e044480f2dd2f91')
+ version("1.2.0", sha256="31802d9b580f3a89c0876f34432851bc4def9cb2844d6f3c8e044480f2dd2f91")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 35ed555845..65fe05a503 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -14,117 +14,122 @@ class PyScipy(PythonPackage):
pypi = "scipy/scipy-1.5.4.tar.gz"
git = "https://github.com/scipy/scipy.git"
- maintainers = ['adamjstewart', 'rgommers']
+ maintainers = ["adamjstewart", "rgommers"]
- version('master', branch='master')
- version('1.8.1', sha256='9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33')
- version('1.8.0', sha256='31d4f2d6b724bc9a98e527b5849b8a7e589bf1ea630c33aa563eda912c9ff0bd')
- version('1.7.3', sha256='ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf')
- version('1.7.2', sha256='fa2dbabaaecdb502641b0b3c00dec05fb475ae48655c66da16c9ed24eda1e711')
- version('1.7.1', sha256='6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764')
- version('1.7.0', sha256='998c5e6ea649489302de2c0bc026ed34284f531df89d2bdc8df3a0d44d165739')
- version('1.6.3', sha256='a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707')
- version('1.6.2', sha256='e9da33e21c9bc1b92c20b5328adb13e5f193b924c9b969cd700c8908f315aa59')
- version('1.6.1', sha256='c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11')
- version('1.6.0', sha256='cb6dc9f82dfd95f6b9032a8d7ea70efeeb15d5b5fd6ed4e8537bb3c673580566')
- version('1.5.4', sha256='4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b')
- version('1.5.3', sha256='ddae76784574cc4c172f3d5edd7308be16078dd3b977e8746860c76c195fa707')
- version('1.5.2', sha256='066c513d90eb3fd7567a9e150828d39111ebd88d3e924cdfc9f8ce19ab6f90c9')
- version('1.5.1', sha256='039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8')
- version('1.5.0', sha256='4ff72877d19b295ee7f7727615ea8238f2d59159df0bdd98f91754be4a2767f0')
- version('1.4.1', sha256='dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59')
- version('1.4.0', sha256='31f7cfa93b01507c935c12b535e24812594002a02a56803d7cd063e9920d25e8')
- version('1.3.3', sha256='64bf4e8ae0db2d42b58477817f648d81e77f0b381d0ea4427385bba3f959380a')
- version('1.3.2', sha256='a03939b431994289f39373c57bbe452974a7da724ae7f9620a1beee575434da4')
- version('1.3.1', sha256='2643cfb46d97b7797d1dbdb6f3c23fe3402904e3c90e6facfe6a9b98d808c1b5')
- version('1.3.0', sha256='c3bb4bd2aca82fb498247deeac12265921fe231502a6bc6edea3ee7fe6c40a7a')
- version('1.2.3', sha256='ecbe6413ca90b8e19f8475bfa303ac001e81b04ec600d17fa7f816271f7cca57')
- version('1.2.2', sha256='a4331e0b8dab1ff75d2c67b5158a8bb9a83c799d7140094dda936d876c7cfbb1')
- version('1.2.1', sha256='e085d1babcb419bbe58e2e805ac61924dac4ca45a07c9fa081144739e500aa3c')
- version('1.1.0', sha256='878352408424dffaa695ffedf2f9f92844e116686923ed9aa8626fc30d32cfd1')
- version('1.0.0', sha256='87ea1f11a0e9ec08c264dc64551d501fa307289460705f6fccd84cbfc7926d10')
- version('0.19.1', sha256='a19a2ca7a7336495ec180adeaa0dfdcf41e96dbbee90d51c3ed828ba570884e6')
- version('0.18.1', sha256='8ab6e9c808bf2fb3e8576cd8cf07226d9cdc18b012c06d9708429a821ac6634e')
- version('0.17.0', sha256='f600b755fb69437d0f70361f9e560ab4d304b1b66987ed5a28bdd9dd7793e089')
- version('0.15.1', sha256='a212cbc3b79e9a563aa45fc5c517b3499198bd7eb7e7be1e047568a5f48c259a')
- version('0.15.0', sha256='0c74e31e08acc8bf9b6ceb9bced73df2ae0cc76003e0366350bc7b26292bf8b1')
+ version("master", branch="master")
+ version("1.8.1", sha256="9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33")
+ version("1.8.0", sha256="31d4f2d6b724bc9a98e527b5849b8a7e589bf1ea630c33aa563eda912c9ff0bd")
+ version("1.7.3", sha256="ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf")
+ version("1.7.2", sha256="fa2dbabaaecdb502641b0b3c00dec05fb475ae48655c66da16c9ed24eda1e711")
+ version("1.7.1", sha256="6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764")
+ version("1.7.0", sha256="998c5e6ea649489302de2c0bc026ed34284f531df89d2bdc8df3a0d44d165739")
+ version("1.6.3", sha256="a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707")
+ version("1.6.2", sha256="e9da33e21c9bc1b92c20b5328adb13e5f193b924c9b969cd700c8908f315aa59")
+ version("1.6.1", sha256="c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11")
+ version("1.6.0", sha256="cb6dc9f82dfd95f6b9032a8d7ea70efeeb15d5b5fd6ed4e8537bb3c673580566")
+ version("1.5.4", sha256="4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b")
+ version("1.5.3", sha256="ddae76784574cc4c172f3d5edd7308be16078dd3b977e8746860c76c195fa707")
+ version("1.5.2", sha256="066c513d90eb3fd7567a9e150828d39111ebd88d3e924cdfc9f8ce19ab6f90c9")
+ version("1.5.1", sha256="039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8")
+ version("1.5.0", sha256="4ff72877d19b295ee7f7727615ea8238f2d59159df0bdd98f91754be4a2767f0")
+ version("1.4.1", sha256="dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59")
+ version("1.4.0", sha256="31f7cfa93b01507c935c12b535e24812594002a02a56803d7cd063e9920d25e8")
+ version("1.3.3", sha256="64bf4e8ae0db2d42b58477817f648d81e77f0b381d0ea4427385bba3f959380a")
+ version("1.3.2", sha256="a03939b431994289f39373c57bbe452974a7da724ae7f9620a1beee575434da4")
+ version("1.3.1", sha256="2643cfb46d97b7797d1dbdb6f3c23fe3402904e3c90e6facfe6a9b98d808c1b5")
+ version("1.3.0", sha256="c3bb4bd2aca82fb498247deeac12265921fe231502a6bc6edea3ee7fe6c40a7a")
+ version("1.2.3", sha256="ecbe6413ca90b8e19f8475bfa303ac001e81b04ec600d17fa7f816271f7cca57")
+ version("1.2.2", sha256="a4331e0b8dab1ff75d2c67b5158a8bb9a83c799d7140094dda936d876c7cfbb1")
+ version("1.2.1", sha256="e085d1babcb419bbe58e2e805ac61924dac4ca45a07c9fa081144739e500aa3c")
+ version("1.1.0", sha256="878352408424dffaa695ffedf2f9f92844e116686923ed9aa8626fc30d32cfd1")
+ version("1.0.0", sha256="87ea1f11a0e9ec08c264dc64551d501fa307289460705f6fccd84cbfc7926d10")
+ version("0.19.1", sha256="a19a2ca7a7336495ec180adeaa0dfdcf41e96dbbee90d51c3ed828ba570884e6")
+ version("0.18.1", sha256="8ab6e9c808bf2fb3e8576cd8cf07226d9cdc18b012c06d9708429a821ac6634e")
+ version("0.17.0", sha256="f600b755fb69437d0f70361f9e560ab4d304b1b66987ed5a28bdd9dd7793e089")
+ version("0.15.1", sha256="a212cbc3b79e9a563aa45fc5c517b3499198bd7eb7e7be1e047568a5f48c259a")
+ version("0.15.0", sha256="0c74e31e08acc8bf9b6ceb9bced73df2ae0cc76003e0366350bc7b26292bf8b1")
# pyproject.toml
- depends_on('py-wheel@:0.37', type='build')
- depends_on('py-setuptools', 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-setuptools@:59', when='@1.8:', type='build')
- depends_on('py-cython@0.29.18:2', when='@1.7:', type='build')
- depends_on('py-pybind11@2.2.4:', when='@1.4.0', type=('build', 'link'))
- depends_on('py-pybind11@2.4.0:', when='@1.4.1:1.4', type=('build', 'link'))
- depends_on('py-pybind11@2.4.3:', when='@1.5:1.6.1', type=('build', 'link'))
- depends_on('py-pybind11@2.4.3:2.6', when='@1.6.2:1.7.1', type=('build', 'link'))
- depends_on('py-pybind11@2.4.3:2.7', when='@1.7.2:1.7', type=('build', 'link'))
- depends_on('py-pybind11@2.4.3:2.8', when='@1.8:', type=('build', 'link'))
- depends_on('py-pythran@0.9.11', when='@1.7.0:1.7.1', type=('build', 'link'))
- depends_on('py-pythran@0.9.12:0.9', when='@1.7.2:1.7', type=('build', 'link'))
- depends_on('py-pythran@0.10:', when='@1.8:', type=('build', 'link'))
+ depends_on("py-wheel@:0.37", type="build")
+ depends_on("py-setuptools", 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-setuptools@:59", when="@1.8:", type="build")
+ depends_on("py-cython@0.29.18:2", when="@1.7:", type="build")
+ depends_on("py-pybind11@2.2.4:", when="@1.4.0", type=("build", "link"))
+ depends_on("py-pybind11@2.4.0:", when="@1.4.1:1.4", type=("build", "link"))
+ depends_on("py-pybind11@2.4.3:", when="@1.5:1.6.1", type=("build", "link"))
+ depends_on("py-pybind11@2.4.3:2.6", when="@1.6.2:1.7.1", type=("build", "link"))
+ depends_on("py-pybind11@2.4.3:2.7", when="@1.7.2:1.7", type=("build", "link"))
+ depends_on("py-pybind11@2.4.3:2.8", when="@1.8:", type=("build", "link"))
+ depends_on("py-pythran@0.9.11", when="@1.7.0:1.7.1", type=("build", "link"))
+ depends_on("py-pythran@0.9.12:0.9", when="@1.7.2:1.7", type=("build", "link"))
+ depends_on("py-pythran@0.10:", when="@1.8:", type=("build", "link"))
# setup.py
- depends_on('py-numpy@1.5.1:+blas+lapack', when='@:0.15', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.6.2:+blas+lapack', when='@0.16:0.17', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.7.1:+blas+lapack', when='@0.18.0:0.18', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.8.2:+blas+lapack', when='@0.19:1.2', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.13.3:+blas+lapack', when='@1.3:1.4', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.14.5:+blas+lapack', when='@1.5.0:1.5', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.16.5:+blas+lapack', when='@1.6:1.6.1', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.16.5:1.22+blas+lapack', when='@1.6.2:1.7', type=('build', 'link', 'run'))
- depends_on('py-numpy@1.17.3:1.24+blas+lapack', when='@1.8:', type=('build', 'link', 'run'))
- depends_on('python@2.6:2.8,3.2:', when='@:0.17', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@0.18:1.2', type=('build', 'link', 'run'))
- depends_on('python@3.5:', when='@1.3:1.4', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@1.5.0:1.5', type=('build', 'link', 'run'))
- depends_on('python@3.7:', when='@1.6:1.6.1', type=('build', 'link', 'run'))
- depends_on('python@3.7:3.9', when='@1.6.2:1.7.1', type=('build', 'link', 'run'))
- depends_on('python@3.7:3.10', when='@1.7.2:1.7', type=('build', 'link', 'run'))
- depends_on('python@3.8:3.10', when='@1.8:', type=('build', 'link', 'run'))
- depends_on('py-pytest', type='test')
+ depends_on("py-numpy@1.5.1:+blas+lapack", when="@:0.15", type=("build", "link", "run"))
+ depends_on("py-numpy@1.6.2:+blas+lapack", when="@0.16:0.17", type=("build", "link", "run"))
+ depends_on("py-numpy@1.7.1:+blas+lapack", when="@0.18.0:0.18", type=("build", "link", "run"))
+ depends_on("py-numpy@1.8.2:+blas+lapack", when="@0.19:1.2", type=("build", "link", "run"))
+ depends_on("py-numpy@1.13.3:+blas+lapack", when="@1.3:1.4", type=("build", "link", "run"))
+ depends_on("py-numpy@1.14.5:+blas+lapack", when="@1.5.0:1.5", type=("build", "link", "run"))
+ depends_on("py-numpy@1.16.5:+blas+lapack", when="@1.6:1.6.1", type=("build", "link", "run"))
+ depends_on(
+ "py-numpy@1.16.5:1.22+blas+lapack", when="@1.6.2:1.7", type=("build", "link", "run")
+ )
+ depends_on("py-numpy@1.17.3:1.24+blas+lapack", when="@1.8:", type=("build", "link", "run"))
+ depends_on("python@2.6:2.8,3.2:", when="@:0.17", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@0.18:1.2", type=("build", "link", "run"))
+ depends_on("python@3.5:", when="@1.3:1.4", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@1.5.0:1.5", type=("build", "link", "run"))
+ depends_on("python@3.7:", when="@1.6:1.6.1", type=("build", "link", "run"))
+ depends_on("python@3.7:3.9", when="@1.6.2:1.7.1", type=("build", "link", "run"))
+ depends_on("python@3.7:3.10", when="@1.7.2:1.7", type=("build", "link", "run"))
+ depends_on("python@3.8:3.10", when="@1.8:", type=("build", "link", "run"))
+ depends_on("py-pytest", type="test")
# NOTE: scipy should use the same Blas/Lapack as numpy
# This is achieved by calling the set_blas_lapack() and setup_build_environment()
# from numpy in the scipy spec
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
# https://github.com/scipy/scipy/wiki/Dropping-support-for-Accelerate
- depends_on('lapack@3.4.1:', when='@1.2:')
+ depends_on("lapack@3.4.1:", when="@1.2:")
# https://github.com/scipy/scipy/issues/12860
- patch('https://git.sagemath.org/sage.git/plain/build/pkgs/scipy/patches/extern_decls.patch?id=711fe05025795e44b84233e065d240859ccae5bd',
- sha256='5433f60831cb554101520a8f8871ac5a32c95f7a971ccd68b69049535b106780', when='@1.2:1.5.3')
+ patch(
+ "https://git.sagemath.org/sage.git/plain/build/pkgs/scipy/patches/extern_decls.patch?id=711fe05025795e44b84233e065d240859ccae5bd",
+ sha256="5433f60831cb554101520a8f8871ac5a32c95f7a971ccd68b69049535b106780",
+ when="@1.2:1.5.3",
+ )
- patch('scipy-clang.patch', when='@1.5.0:1.6.3 %clang')
+ patch("scipy-clang.patch", when="@1.5.0:1.6.3 %clang")
- @run_before('install')
+ @run_before("install")
def set_blas_lapack(self):
# Pick up Blas/Lapack from numpy
- self.spec['py-numpy'].package.set_blas_lapack()
+ self.spec["py-numpy"].package.set_blas_lapack()
def setup_build_environment(self, env):
# https://github.com/scipy/scipy/issues/9080
- env.set('F90', spack_fc)
+ env.set("F90", spack_fc)
# https://github.com/scipy/scipy/issues/11611
- if self.spec.satisfies('@:1.4 %gcc@10:'):
- env.set('FFLAGS', '-fallow-argument-mismatch')
- if self.spec.satisfies('^py-numpy@1.16:1.17'):
- env.set('NPY_DISTUTILS_APPEND_FLAGS', '1')
+ if self.spec.satisfies("@:1.4 %gcc@10:"):
+ env.set("FFLAGS", "-fallow-argument-mismatch")
+ if self.spec.satisfies("^py-numpy@1.16:1.17"):
+ env.set("NPY_DISTUTILS_APPEND_FLAGS", "1")
# Pick up Blas/Lapack from numpy
- self.spec['py-numpy'].package.setup_build_environment(env)
+ self.spec["py-numpy"].package.setup_build_environment(env)
def install_options(self, spec, prefix):
args = []
- if spec.satisfies('%fj'):
- args.extend(['config_fc', '--fcompiler=fujitsu'])
+ if spec.satisfies("%fj"):
+ args.extend(["config_fc", "--fcompiler=fujitsu"])
return args
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('spack-test', create=True):
- python('-c', 'import scipy; scipy.test("full", verbose=2)')
+ with working_dir("spack-test", create=True):
+ python("-c", 'import scipy; scipy.test("full", verbose=2)')
diff --git a/var/spack/repos/builtin/packages/py-scooby/package.py b/var/spack/repos/builtin/packages/py-scooby/package.py
index 78ddda0dfc..59e2b200c2 100644
--- a/var/spack/repos/builtin/packages/py-scooby/package.py
+++ b/var/spack/repos/builtin/packages/py-scooby/package.py
@@ -10,8 +10,8 @@ class PyScooby(PythonPackage):
"""A Great Dane turned Python environment detective."""
homepage = "https://github.com/banesullivan/scooby"
- pypi = "scooby/scooby-0.5.7.tar.gz"
+ pypi = "scooby/scooby-0.5.7.tar.gz"
- version('0.5.7', sha256='ae2c2b6f5f5d10adf7aaab32409028f1e28d3ce833664bdd1e8c2072e8da169a')
+ version("0.5.7", sha256="ae2c2b6f5f5d10adf7aaab32409028f1e28d3ce833664bdd1e8c2072e8da169a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-scoop/package.py b/var/spack/repos/builtin/packages/py-scoop/package.py
index 42d98aeb01..6ab7da9912 100644
--- a/var/spack/repos/builtin/packages/py-scoop/package.py
+++ b/var/spack/repos/builtin/packages/py-scoop/package.py
@@ -15,9 +15,9 @@ class PyScoop(PythonPackage):
homepage = "https://github.com/soravux/scoop"
pypi = "scoop/scoop-0.7.1.1.tar.gz"
- version('0.7.1.1', sha256='d8b6444c7bac901171e3327a97e241dde63f060354e162a65551fd8083ca62b4')
+ version("0.7.1.1", sha256="d8b6444c7bac901171e3327a97e241dde63f060354e162a65551fd8083ca62b4")
- depends_on('py-setuptools', type='build')
- depends_on('py-greenlet@0.3.4:', type=('build', 'run'))
- depends_on('py-pyzmq@13.1.0:', type=('build', 'run'))
- depends_on('py-argparse@1.1:', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-greenlet@0.3.4:", type=("build", "run"))
+ depends_on("py-pyzmq@13.1.0:", type=("build", "run"))
+ depends_on("py-argparse@1.1:", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scp/package.py b/var/spack/repos/builtin/packages/py-scp/package.py
index 61203fbb06..c11f611dfc 100644
--- a/var/spack/repos/builtin/packages/py-scp/package.py
+++ b/var/spack/repos/builtin/packages/py-scp/package.py
@@ -12,8 +12,8 @@ class PyScp(PythonPackage):
homepage = "https://github.com/jbardin/scp.py"
pypi = "scp/scp-0.13.2.tar.gz"
- version('0.13.2', sha256='ef9d6e67c0331485d3db146bf9ee9baff8a48f3eb0e6c08276a8584b13bf34b3')
+ version("0.13.2", sha256="ef9d6e67c0331485d3db146bf9ee9baff8a48f3eb0e6c08276a8584b13bf34b3")
- depends_on('py-setuptools', type='build')
- depends_on('py-paramiko', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-paramiko", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-scs/package.py b/var/spack/repos/builtin/packages/py-scs/package.py
index c6bac3da12..2eb0bd9a54 100644
--- a/var/spack/repos/builtin/packages/py-scs/package.py
+++ b/var/spack/repos/builtin/packages/py-scs/package.py
@@ -13,30 +13,39 @@ class PyScs(PythonPackage, CudaPackage):
homepage = "https://github.com/cvxgrp/scs"
pypi = "scs/scs-2.1.1-2.tar.gz"
- version('2.1.1-2', sha256='f816cfe3d4b4cff3ac2b8b96588c5960ddd2a3dc946bda6b09db04e7bc6577f2')
+ version("2.1.1-2", sha256="f816cfe3d4b4cff3ac2b8b96588c5960ddd2a3dc946bda6b09db04e7bc6577f2")
- variant('float32', default=False, description="Use 32 bit (single precision) floats, default is 64 bit")
- variant('extra_verbose', default=False, description="Extra verbose SCS (for debugging)")
- variant('int32', default=False, description="Use 32 bit ints")
- variant('blas64', default=False, description="Use 64 bit ints for the blas/lapack libs")
+ variant(
+ "float32",
+ default=False,
+ description="Use 32 bit (single precision) floats, default is 64 bit",
+ )
+ variant("extra_verbose", default=False, description="Extra verbose SCS (for debugging)")
+ variant("int32", default=False, description="Use 32 bit ints")
+ variant("blas64", default=False, description="Use 64 bit ints for the blas/lapack libs")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy@0.13.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scipy@0.13.2:", type=("build", "run"))
def install_options(self, spec, prefix):
args = []
- if '+cuda' in spec or '+float32' in spec or '+int32' in spec or\
- '+extra_verbose' in spec or '+blas64' in spec:
- args = ['--scs']
- if '+cuda' in spec:
- args.append('--gpu')
- if '+float32' in spec:
- args.append('--float')
- if '+extra_verbose' in spec:
- args.append('--extraverbose')
- if '+int32' in spec:
- args.append('--int')
- if '+blas64' in spec:
- args.append('--blas64')
+ if (
+ "+cuda" in spec
+ or "+float32" in spec
+ or "+int32" in spec
+ or "+extra_verbose" in spec
+ or "+blas64" in spec
+ ):
+ args = ["--scs"]
+ if "+cuda" in spec:
+ args.append("--gpu")
+ if "+float32" in spec:
+ args.append("--float")
+ if "+extra_verbose" in spec:
+ args.append("--extraverbose")
+ if "+int32" in spec:
+ args.append("--int")
+ if "+blas64" in spec:
+ args.append("--blas64")
return args
diff --git a/var/spack/repos/builtin/packages/py-sdmetrics/package.py b/var/spack/repos/builtin/packages/py-sdmetrics/package.py
index ff51fcaabb..76973ed26a 100644
--- a/var/spack/repos/builtin/packages/py-sdmetrics/package.py
+++ b/var/spack/repos/builtin/packages/py-sdmetrics/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class PySdmetrics(PythonPackage):
"""The SDMetrics library provides a set of dataset-agnostic
- tools for evaluating the quality of a synthetic database
- by comparing it to the real database that it is modeled
- after."""
+ tools for evaluating the quality of a synthetic database
+ by comparing it to the real database that it is modeled
+ after."""
- maintainers = ['Kerilk', 'jke513']
+ maintainers = ["Kerilk", "jke513"]
homepage = "https://github.com/sdv-dev/SDMetrics"
- pypi = "sdmetrics/sdmetrics-0.4.1.tar.gz"
+ pypi = "sdmetrics/sdmetrics-0.4.1.tar.gz"
- version('0.4.1', sha256='28df1cdd6988b3464306c1d189da19ee13a49023c53ca8b3db399fc9fd45fae8')
+ version("0.4.1", sha256="28df1cdd6988b3464306c1d189da19ee13a49023c53ca8b3db399fc9fd45fae8")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
- depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1.1.4', type=('build', 'run'))
- depends_on('py-scikit-learn@0.24:1', type=('build', 'run'))
- depends_on('py-scipy@1.5.4:1', type=('build', 'run'))
- depends_on('py-torch@1.8.0:1', type=('build', 'run'))
- depends_on('py-copulas@0.6.0:0.6', type=('build', 'run'))
- depends_on('py-rdt@0.6.1:0.6', type=('build', 'run'))
- depends_on('py-pyts@0.12.0:0.12', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.18:1.19", type=("build", "run"), when="^python@3.6")
+ depends_on("py-numpy@1.20:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1.1.4", type=("build", "run"))
+ depends_on("py-scikit-learn@0.24:1", type=("build", "run"))
+ depends_on("py-scipy@1.5.4:1", type=("build", "run"))
+ depends_on("py-torch@1.8.0:1", type=("build", "run"))
+ depends_on("py-copulas@0.6.0:0.6", type=("build", "run"))
+ depends_on("py-rdt@0.6.1:0.6", type=("build", "run"))
+ depends_on("py-pyts@0.12.0:0.12", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sdv/package.py b/var/spack/repos/builtin/packages/py-sdv/package.py
index 6cacff468d..39a8848c64 100644
--- a/var/spack/repos/builtin/packages/py-sdv/package.py
+++ b/var/spack/repos/builtin/packages/py-sdv/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class PySdv(PythonPackage):
"""The Synthetic Data Vault (SDV) is a Synthetic Data
- Generation ecosystem of libraries that allows users to
- easily learn single-table, multi-table and timeseries
- datasets to later on generate new Synthetic Data that
- has the same format and statistical properties as the
- original dataset."""
+ Generation ecosystem of libraries that allows users to
+ easily learn single-table, multi-table and timeseries
+ datasets to later on generate new Synthetic Data that
+ has the same format and statistical properties as the
+ original dataset."""
- maintainers = ['Kerilk', 'jke513']
+ maintainers = ["Kerilk", "jke513"]
homepage = "https://github.com/sdv-dev/SDV"
- pypi = "sdv/sdv-0.13.1.tar.gz"
+ pypi = "sdv/sdv-0.13.1.tar.gz"
- version('0.14.0', sha256='a62714b73a7e14b95ffbda0920a3a5a6fe891a17d8611380af5f9ca1ff8fc234')
- version('0.13.1', sha256='c0a0dbc4a64e5f60cabd123a8c19b3f99594f5a0911de83e08d172b810222c93')
+ version("0.14.0", sha256="a62714b73a7e14b95ffbda0920a3a5a6fe891a17d8611380af5f9ca1ff8fc234")
+ version("0.13.1", sha256="c0a0dbc4a64e5f60cabd123a8c19b3f99594f5a0911de83e08d172b810222c93")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-faker@3.0.0:9', type=('build', 'run'))
- depends_on('py-graphviz@0.13.2:0', type=('build', 'run'))
- depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
- depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
- depends_on('py-pandas@1.1.3:1.1.4', type=('build', 'run'))
- depends_on('py-tqdm@4.15:4', type=('build', 'run'))
- depends_on('py-copulas@0.6.0:0.6', type=('build', 'run'))
- depends_on('py-ctgan@0.5.0:0.5', type=('build', 'run'))
- depends_on('py-deepecho@0.3.0.post1:0.3', type=('build', 'run'))
- depends_on('py-rdt@0.6.1:0.6', type=('build', 'run'))
- depends_on('py-sdmetrics@0.4.1:0.4', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-faker@3.0.0:9", type=("build", "run"))
+ depends_on("py-graphviz@0.13.2:0", type=("build", "run"))
+ depends_on("py-numpy@1.18:1.19", type=("build", "run"), when="^python@3.6")
+ depends_on("py-numpy@1.20:1", type=("build", "run"), when="^python@3.7:")
+ depends_on("py-pandas@1.1.3:1.1.4", type=("build", "run"))
+ depends_on("py-tqdm@4.15:4", type=("build", "run"))
+ depends_on("py-copulas@0.6.0:0.6", type=("build", "run"))
+ depends_on("py-ctgan@0.5.0:0.5", type=("build", "run"))
+ depends_on("py-deepecho@0.3.0.post1:0.3", type=("build", "run"))
+ depends_on("py-rdt@0.6.1:0.6", type=("build", "run"))
+ depends_on("py-sdmetrics@0.4.1:0.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-seaborn/package.py b/var/spack/repos/builtin/packages/py-seaborn/package.py
index 179ad78ca8..4d96e464a0 100644
--- a/var/spack/repos/builtin/packages/py-seaborn/package.py
+++ b/var/spack/repos/builtin/packages/py-seaborn/package.py
@@ -17,26 +17,26 @@ class PySeaborn(PythonPackage):
homepage = "https://seaborn.pydata.org/"
pypi = "seaborn/seaborn-0.7.1.tar.gz"
- version('0.11.2', sha256='cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6')
- version('0.11.1', sha256='44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad')
- version('0.9.0', sha256='76c83f794ca320fb6b23a7c6192d5e185a5fcf4758966a0c0a54baee46d41e2f')
- version('0.7.1', sha256='fa274344b1ee72f723bab751c40a5c671801d47a29ee9b5e69fcf63a18ce5c5d')
-
- depends_on('python@3.6:', when='@0.10:', type='build')
- depends_on('py-setuptools', type='build')
-
- depends_on('py-numpy@1.15:', when='@0.11:', type=('build', 'run'))
- depends_on('py-numpy@1.9.3:', when='@0.9:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@1:', when='@0.11:', type=('build', 'run'))
- depends_on('py-scipy@1.0.1:', when='@0.10:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', when='@0.9.0:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-pandas@0.23:', when='@0.11:', type=('build', 'run'))
- depends_on('py-pandas@0.22:', when='@0.10:', type=('build', 'run'))
- depends_on('py-pandas@0.15.2:', when='@0.9:', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-matplotlib@2.2:', when='@0.11:', type=('build', 'run'))
- depends_on('py-matplotlib@2.1.2:', when='@0.10:', type=('build', 'run'))
- depends_on('py-matplotlib@1.4.3:', when='@0.9:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ version("0.11.2", sha256="cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6")
+ version("0.11.1", sha256="44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad")
+ version("0.9.0", sha256="76c83f794ca320fb6b23a7c6192d5e185a5fcf4758966a0c0a54baee46d41e2f")
+ version("0.7.1", sha256="fa274344b1ee72f723bab751c40a5c671801d47a29ee9b5e69fcf63a18ce5c5d")
+
+ depends_on("python@3.6:", when="@0.10:", type="build")
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-numpy@1.15:", when="@0.11:", type=("build", "run"))
+ depends_on("py-numpy@1.9.3:", when="@0.9:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@1:", when="@0.11:", type=("build", "run"))
+ depends_on("py-scipy@1.0.1:", when="@0.10:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", when="@0.9.0:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-pandas@0.23:", when="@0.11:", type=("build", "run"))
+ depends_on("py-pandas@0.22:", when="@0.10:", type=("build", "run"))
+ depends_on("py-pandas@0.15.2:", when="@0.9:", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-matplotlib@2.2:", when="@0.11:", type=("build", "run"))
+ depends_on("py-matplotlib@2.1.2:", when="@0.10:", type=("build", "run"))
+ depends_on("py-matplotlib@1.4.3:", when="@0.9:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-secretstorage/package.py b/var/spack/repos/builtin/packages/py-secretstorage/package.py
index eed169667d..3c0f935a2d 100644
--- a/var/spack/repos/builtin/packages/py-secretstorage/package.py
+++ b/var/spack/repos/builtin/packages/py-secretstorage/package.py
@@ -12,15 +12,15 @@ class PySecretstorage(PythonPackage):
homepage = "https://github.com/mitya57/secretstorage"
pypi = "SecretStorage/SecretStorage-3.1.2.tar.gz"
- version('3.3.1', sha256='fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195')
- version('3.1.2', sha256='15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6')
- version('2.3.1', sha256='3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6')
+ version("3.3.1", sha256="fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195")
+ version("3.1.2", sha256="15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6")
+ version("2.3.1", sha256="3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6")
- depends_on('python@3.6:', when='@3.3:', type=('build', 'run'))
- depends_on('python@3.5:', when='@3.0:3.2', type=('build', 'run'))
- depends_on('py-setuptools@30.3:', when='@3:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-cryptography@2.0:', when='@3.2:', type=('build', 'run'))
- depends_on('py-cryptography', when='@:3.1', type=('build', 'run'))
- depends_on('py-jeepney@0.6:', when='@3.3:', type=('build', 'run'))
- depends_on('py-jeepney@0.4.2:', when='@3.0:3.2', type=('build', 'run'))
+ depends_on("python@3.6:", when="@3.3:", type=("build", "run"))
+ depends_on("python@3.5:", when="@3.0:3.2", type=("build", "run"))
+ depends_on("py-setuptools@30.3:", when="@3:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cryptography@2.0:", when="@3.2:", type=("build", "run"))
+ depends_on("py-cryptography", when="@:3.1", type=("build", "run"))
+ depends_on("py-jeepney@0.6:", when="@3.3:", type=("build", "run"))
+ depends_on("py-jeepney@0.4.2:", when="@3.0:3.2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-segmentation-models-pytorch/package.py b/var/spack/repos/builtin/packages/py-segmentation-models-pytorch/package.py
index 17d777be3e..2e2687c8c1 100644
--- a/var/spack/repos/builtin/packages/py-segmentation-models-pytorch/package.py
+++ b/var/spack/repos/builtin/packages/py-segmentation-models-pytorch/package.py
@@ -10,18 +10,18 @@ class PySegmentationModelsPytorch(PythonPackage):
"""Python library with Neural Networks for Image Segmentation based on PyTorch."""
homepage = "https://github.com/qubvel/segmentation_models.pytorch"
- pypi = "segmentation_models_pytorch/segmentation_models_pytorch-0.2.0.tar.gz"
+ pypi = "segmentation_models_pytorch/segmentation_models_pytorch-0.2.0.tar.gz"
- version('0.3.0', sha256='8e00ed1707698d309d23f207aef15f21465e091aa0f1dc8043ec3300f5f67216')
- version('0.2.1', sha256='86744552b04c6bedf7e10f7928791894d8d9b399b9ed58ed1a3236d2bf69ead6')
- version('0.2.0', sha256='247266722c23feeef16b0862456c5ce815e5f0a77f95c2cd624a71bf00d955df')
+ version("0.3.0", sha256="8e00ed1707698d309d23f207aef15f21465e091aa0f1dc8043ec3300f5f67216")
+ version("0.2.1", sha256="86744552b04c6bedf7e10f7928791894d8d9b399b9ed58ed1a3236d2bf69ead6")
+ version("0.2.0", sha256="247266722c23feeef16b0862456c5ce815e5f0a77f95c2cd624a71bf00d955df")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torchvision@0.5.0:', type=('build', 'run'))
- depends_on('py-pretrainedmodels@0.7.4', type=('build', 'run'))
- depends_on('py-efficientnet-pytorch@0.7.1', when='@0.3:', type=('build', 'run'))
- depends_on('py-efficientnet-pytorch@0.6.3', when='@:0.2', type=('build', 'run'))
- depends_on('py-timm@0.4.12', type=('build', 'run'))
- depends_on('py-tqdm', when='@0.3:', type=('build', 'run'))
- depends_on('pil', when='@0.3:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torchvision@0.5.0:", type=("build", "run"))
+ depends_on("py-pretrainedmodels@0.7.4", type=("build", "run"))
+ depends_on("py-efficientnet-pytorch@0.7.1", when="@0.3:", type=("build", "run"))
+ depends_on("py-efficientnet-pytorch@0.6.3", when="@:0.2", type=("build", "run"))
+ depends_on("py-timm@0.4.12", type=("build", "run"))
+ depends_on("py-tqdm", when="@0.3:", type=("build", "run"))
+ depends_on("pil", when="@0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-selectors34/package.py b/var/spack/repos/builtin/packages/py-selectors34/package.py
index c4bcb5809d..2c4147ef80 100644
--- a/var/spack/repos/builtin/packages/py-selectors34/package.py
+++ b/var/spack/repos/builtin/packages/py-selectors34/package.py
@@ -14,10 +14,10 @@ class PySelectors34(PythonPackage):
"""
homepage = "https://github.com/berkerpeksag/selectors34"
- pypi = 'selectors34/selectors34-1.2.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "selectors34/selectors34-1.2.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('1.2', sha256='09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c')
+ version("1.2", sha256="09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-selenium/package.py b/var/spack/repos/builtin/packages/py-selenium/package.py
index b6032543f7..85a708525a 100644
--- a/var/spack/repos/builtin/packages/py-selenium/package.py
+++ b/var/spack/repos/builtin/packages/py-selenium/package.py
@@ -15,7 +15,7 @@ class PySelenium(PythonPackage):
homepage = "https://github.com/SeleniumHQ/selenium/"
pypi = "selenium/selenium-3.141.0.tar.gz"
- version('3.141.0', sha256='deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d')
+ version("3.141.0", sha256="deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d")
- depends_on('py-setuptools', type='build')
- depends_on('py-urllib3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-urllib3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-semantic-version/package.py b/var/spack/repos/builtin/packages/py-semantic-version/package.py
index a9b946a85d..e09c195378 100644
--- a/var/spack/repos/builtin/packages/py-semantic-version/package.py
+++ b/var/spack/repos/builtin/packages/py-semantic-version/package.py
@@ -13,8 +13,8 @@ class PySemanticVersion(PythonPackage):
homepage = "https://github.com/rbarrois/python-semanticversion"
pypi = "semantic_version/semantic_version-2.8.2.tar.gz"
- version('2.8.2', sha256='71c716e99086c44d068262b86e4775aa6db7fabee0743e4e33b00fbf6f672585')
- version('2.6.0', sha256='2a4328680073e9b243667b201119772aefc5fc63ae32398d6afafff07c4f54c0')
+ version("2.8.2", sha256="71c716e99086c44d068262b86e4775aa6db7fabee0743e4e33b00fbf6f672585")
+ version("2.6.0", sha256="2a4328680073e9b243667b201119772aefc5fc63ae32398d6afafff07c4f54c0")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@0.8:', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@0.8:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-semver/package.py b/var/spack/repos/builtin/packages/py-semver/package.py
index 6a01a0e0e5..ae7fbf5966 100644
--- a/var/spack/repos/builtin/packages/py-semver/package.py
+++ b/var/spack/repos/builtin/packages/py-semver/package.py
@@ -13,6 +13,6 @@ class PySemver(PythonPackage):
homepage = "https://semver.org/"
pypi = "semver/semver-2.8.1.tar.gz"
- version('2.8.1', sha256='5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8')
+ version("2.8.1", sha256="5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-send2trash/package.py b/var/spack/repos/builtin/packages/py-send2trash/package.py
index 62ff3c3abc..6af34f4a87 100644
--- a/var/spack/repos/builtin/packages/py-send2trash/package.py
+++ b/var/spack/repos/builtin/packages/py-send2trash/package.py
@@ -10,9 +10,9 @@ class PySend2trash(PythonPackage):
"""Python library to send files to Trash/Recycle on all platforms."""
homepage = "https://github.com/hsoft/send2trash"
- url = "https://github.com/hsoft/send2trash/archive/1.5.0.tar.gz"
+ url = "https://github.com/hsoft/send2trash/archive/1.5.0.tar.gz"
- version('1.8.0', sha256='937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c')
- version('1.5.0', sha256='7cebc0ffc8b6d6e553bce9c6bb915614610ba2dec17c2f0643b1b97251da2a41')
+ version("1.8.0", sha256="937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c")
+ version("1.5.0", sha256="7cebc0ffc8b6d6e553bce9c6bb915614610ba2dec17c2f0643b1b97251da2a41")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sentencepiece/package.py b/var/spack/repos/builtin/packages/py-sentencepiece/package.py
index 2e45406c49..7f07a4ed14 100644
--- a/var/spack/repos/builtin/packages/py-sentencepiece/package.py
+++ b/var/spack/repos/builtin/packages/py-sentencepiece/package.py
@@ -13,17 +13,17 @@ class PySentencepiece(PythonPackage):
These are the Python bindings."""
homepage = "https://github.com/google/sentencepiece/blob/master/python/README.md"
- url = "https://github.com/google/sentencepiece/archive/v0.1.85.tar.gz"
+ url = "https://github.com/google/sentencepiece/archive/v0.1.85.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.1.91', sha256='acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b')
- version('0.1.85', sha256='dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6')
+ 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')
+ 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")
- build_directory = 'python'
+ build_directory = "python"
diff --git a/var/spack/repos/builtin/packages/py-sentry-sdk/package.py b/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
index f35333d868..4b9f5d69a3 100644
--- a/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
+++ b/var/spack/repos/builtin/packages/py-sentry-sdk/package.py
@@ -12,48 +12,48 @@ class PySentrySdk(PythonPackage):
homepage = "https://github.com/getsentry/sentry-python"
pypi = "sentry-sdk/sentry-sdk-0.17.6.tar.gz"
- version('1.5.5', sha256='98fd155fa5d5fec1dbabed32a1a4ae2705f1edaa5dae4e7f7b62a384ba30e759')
- version('0.17.6', sha256='1a086486ff9da15791f294f6e9915eb3747d161ef64dee2d038a4d0b4a369b24')
-
- variant('flask', default=False, description='Builts with flask')
- variant('quart', default=False, when='@1.5.5:', description='Builts with quart')
- variant('bottle', default=False, description='Builts with bottle')
- variant('falcon', default=False, description='Builts with falcon')
- variant('django', default=False, description='Builts with django')
- variant('sanic', default=False, description='Builts with sanic')
- variant('celery', default=False, description='Builts with celery')
- variant('beam', default=False, description='Builts with beam')
- variant('rq', default=False, description='Builts with rq')
- variant('aiohttp', default=False, description='Builts with aiohttp')
- variant('tornado', default=False, description='Builts with tornado')
- variant('sqlalchemy', default=False, description='Builts with sqlalchemy')
- variant('pyspark', default=False, description='Builts with pyspark')
- variant('pure_eval', default=False, description='Builts with pure_eval')
- variant('chalice', default=False, description='Builts with chalice')
- variant('httpx', default=False, when='@1.5.5:', description='Builts with httpx')
-
- depends_on('python@2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-urllib3@1.10.0:', type=('build', 'run'))
- depends_on('py-certifi', type=('build', 'run'))
-
- depends_on('py-flask@0.11:', type=('build', 'run'), when='+flask')
- depends_on('py-blinker@1.1:', type=('build', 'run'), when='+flask')
- depends_on('py-quart@0.16.1:', type=('build', 'run'), when='+quart')
- depends_on('py-blinker@1.1:', type=('build', 'run'), when='+quart')
- depends_on('py-bottle@0.12.13:', type=('build', 'run'), when='+bottle')
- depends_on('py-falcon@1.4:', type=('build', 'run'), when='+falcon')
- depends_on('py-django@1.8:', type=('build', 'run'), when='+django')
- depends_on('py-sanic@0.8:', type=('build', 'run'), when='+sanic')
- depends_on('py-celery@3:', type=('build', 'run'), when='+celery')
- depends_on('py-apache-beam@2.12:', type=('build', 'run'), when='+beam')
- depends_on('py-rq@0.6:', type=('build', 'run'), when='+rq')
- depends_on('py-aiohttp@3.5:', type=('build', 'run'), when='+aiohttp')
- depends_on('py-tornado@5:', type=('build', 'run'), when='+tornado')
- depends_on('py-sqlalchemy@1.2:', type=('build', 'run'), when='+sqlalchemy')
- depends_on('py-pyspark@2.4.4:', type=('build', 'run'), when='+pyspark')
- depends_on('py-pure-eval', type=('build', 'run'), when='+pure_eval')
- depends_on('py-executing', type=('build', 'run'), when='+pure_eval')
- depends_on('py-asttokens', type=('build', 'run'), when='+pure_eval')
- depends_on('py-chalice@1.16.0:', type=('build', 'run'), when='+chalice')
- depends_on('py-httpx@0.16.0:', type=('build', 'run'), when='+httpx')
+ version("1.5.5", sha256="98fd155fa5d5fec1dbabed32a1a4ae2705f1edaa5dae4e7f7b62a384ba30e759")
+ version("0.17.6", sha256="1a086486ff9da15791f294f6e9915eb3747d161ef64dee2d038a4d0b4a369b24")
+
+ variant("flask", default=False, description="Builts with flask")
+ variant("quart", default=False, when="@1.5.5:", description="Builts with quart")
+ variant("bottle", default=False, description="Builts with bottle")
+ variant("falcon", default=False, description="Builts with falcon")
+ variant("django", default=False, description="Builts with django")
+ variant("sanic", default=False, description="Builts with sanic")
+ variant("celery", default=False, description="Builts with celery")
+ variant("beam", default=False, description="Builts with beam")
+ variant("rq", default=False, description="Builts with rq")
+ variant("aiohttp", default=False, description="Builts with aiohttp")
+ variant("tornado", default=False, description="Builts with tornado")
+ variant("sqlalchemy", default=False, description="Builts with sqlalchemy")
+ variant("pyspark", default=False, description="Builts with pyspark")
+ variant("pure_eval", default=False, description="Builts with pure_eval")
+ variant("chalice", default=False, description="Builts with chalice")
+ variant("httpx", default=False, when="@1.5.5:", description="Builts with httpx")
+
+ depends_on("python@2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-urllib3@1.10.0:", type=("build", "run"))
+ depends_on("py-certifi", type=("build", "run"))
+
+ depends_on("py-flask@0.11:", type=("build", "run"), when="+flask")
+ depends_on("py-blinker@1.1:", type=("build", "run"), when="+flask")
+ depends_on("py-quart@0.16.1:", type=("build", "run"), when="+quart")
+ depends_on("py-blinker@1.1:", type=("build", "run"), when="+quart")
+ depends_on("py-bottle@0.12.13:", type=("build", "run"), when="+bottle")
+ depends_on("py-falcon@1.4:", type=("build", "run"), when="+falcon")
+ depends_on("py-django@1.8:", type=("build", "run"), when="+django")
+ depends_on("py-sanic@0.8:", type=("build", "run"), when="+sanic")
+ depends_on("py-celery@3:", type=("build", "run"), when="+celery")
+ depends_on("py-apache-beam@2.12:", type=("build", "run"), when="+beam")
+ depends_on("py-rq@0.6:", type=("build", "run"), when="+rq")
+ depends_on("py-aiohttp@3.5:", type=("build", "run"), when="+aiohttp")
+ depends_on("py-tornado@5:", type=("build", "run"), when="+tornado")
+ depends_on("py-sqlalchemy@1.2:", type=("build", "run"), when="+sqlalchemy")
+ depends_on("py-pyspark@2.4.4:", type=("build", "run"), when="+pyspark")
+ depends_on("py-pure-eval", type=("build", "run"), when="+pure_eval")
+ depends_on("py-executing", type=("build", "run"), when="+pure_eval")
+ depends_on("py-asttokens", type=("build", "run"), when="+pure_eval")
+ depends_on("py-chalice@1.16.0:", type=("build", "run"), when="+chalice")
+ depends_on("py-httpx@0.16.0:", type=("build", "run"), when="+httpx")
diff --git a/var/spack/repos/builtin/packages/py-seqeval/package.py b/var/spack/repos/builtin/packages/py-seqeval/package.py
index aa58a48a90..d510270127 100644
--- a/var/spack/repos/builtin/packages/py-seqeval/package.py
+++ b/var/spack/repos/builtin/packages/py-seqeval/package.py
@@ -13,11 +13,11 @@ class PySeqeval(PythonPackage):
part-of-speech tagging, semantic role labeling and so on."""
homepage = "https://github.com/chakki-works/seqeval"
- pypi = "seqeval/seqeval-1.2.2.tar.gz"
+ pypi = "seqeval/seqeval-1.2.2.tar.gz"
- version('1.2.2', sha256='f28e97c3ab96d6fcd32b648f6438ff2e09cfba87f05939da9b3970713ec56e6f')
+ version("1.2.2", sha256="f28e97c3ab96d6fcd32b648f6438ff2e09cfba87f05939da9b3970713ec56e6f")
- depends_on('python@2.6:2,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.14:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.21.3:', type=('build', 'run'))
+ depends_on("python@2.6:2,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.14:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.21.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-seriate/package.py b/var/spack/repos/builtin/packages/py-seriate/package.py
index 5b8d0bca84..f774333bb6 100644
--- a/var/spack/repos/builtin/packages/py-seriate/package.py
+++ b/var/spack/repos/builtin/packages/py-seriate/package.py
@@ -19,11 +19,11 @@ class PySeriate(PythonPackage):
practice, and they are used in e.g. Google Maps."""
homepage = "https://github.com/src-d/seriate"
- url = "https://github.com/src-d/seriate/archive/1.1.2.tar.gz"
+ url = "https://github.com/src-d/seriate/archive/1.1.2.tar.gz"
- version('1.1.2', sha256='5e031e865398fbe24aebdbb4a2e0015447aec50478830850f29d38660fd266e3')
+ version("1.1.2", sha256="5e031e865398fbe24aebdbb4a2e0015447aec50478830850f29d38660fd266e3")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.0:', type=('build', 'run'))
- depends_on('py-packaging@16.0:', type=('build', 'run'))
- depends_on('py-or-tools', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.0:", type=("build", "run"))
+ depends_on("py-packaging@16.0:", type=("build", "run"))
+ depends_on("py-or-tools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-serpent/package.py b/var/spack/repos/builtin/packages/py-serpent/package.py
index 85f28c9377..7a4299358c 100644
--- a/var/spack/repos/builtin/packages/py-serpent/package.py
+++ b/var/spack/repos/builtin/packages/py-serpent/package.py
@@ -14,10 +14,10 @@ class PySerpent(PythonPackage):
"""
homepage = "https://github.com/irmen/Serpent"
- pypi = 'serpent/serpent-1.40.tar.gz'
- maintainers = ['liuyangzhuan']
+ pypi = "serpent/serpent-1.40.tar.gz"
+ maintainers = ["liuyangzhuan"]
- version('1.40', sha256='10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce')
+ version("1.40", sha256="10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-setproctitle/package.py b/var/spack/repos/builtin/packages/py-setproctitle/package.py
index 5c1f5481f9..cd1cfea549 100644
--- a/var/spack/repos/builtin/packages/py-setproctitle/package.py
+++ b/var/spack/repos/builtin/packages/py-setproctitle/package.py
@@ -13,6 +13,6 @@ class PySetproctitle(PythonPackage):
homepage = "https://github.com/dvarrazzo/py-setproctitle"
pypi = "setproctitle/setproctitle-1.1.10.tar.gz"
- version('1.1.10', sha256='6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398')
+ version("1.1.10", sha256="6283b7a58477dd8478fbb9e76defb37968ee4ba47b05ec1c053cb39638bd7398")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-setupmeta/package.py b/var/spack/repos/builtin/packages/py-setupmeta/package.py
index fa86cdbdb7..6a01f8a719 100644
--- a/var/spack/repos/builtin/packages/py-setupmeta/package.py
+++ b/var/spack/repos/builtin/packages/py-setupmeta/package.py
@@ -12,7 +12,7 @@ class PySetupmeta(PythonPackage):
homepage = "https://github.com/codrsquad/setupmeta"
pypi = "setupmeta/setupmeta-3.3.0.tar.gz"
- version('3.3.0', sha256='32914af4eeffb8bf1bd45057254d9dff4d16cb7ae857141e07698f7ac19dc960')
+ version("3.3.0", sha256="32914af4eeffb8bf1bd45057254d9dff4d16cb7ae857141e07698f7ac19dc960")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py b/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py
index 70c76f46ac..738154f5ab 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py
@@ -10,37 +10,37 @@ class PySetuptoolsCpp(PythonPackage):
"""Simplified packaging for pybind11-based C++ extensions"""
homepage = "https://github.com/dmontagu/setuptools-cpp"
- pypi = "setuptools_cpp/setuptools_cpp-0.1.0.tar.gz"
+ pypi = "setuptools_cpp/setuptools_cpp-0.1.0.tar.gz"
- maintainers = ['dorton']
+ maintainers = ["dorton"]
- version('0.1.0', sha256='4fd5e08603237578d06d28efd592d9847b523ede3e502f660be44b1e6254674d')
+ version("0.1.0", sha256="4fd5e08603237578d06d28efd592d9847b523ede3e502f660be44b1e6254674d")
- depends_on('py-setuptools', type='build')
- depends_on('py-appdirs', type=('build', 'run'))
- depends_on('py-atomicwrites', type=('build', 'run'))
- depends_on('py-attrs', type=('build', 'run'))
- depends_on('py-black', type=('build', 'run'))
- depends_on('py-chardet', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-chardet', type=('build', 'run'))
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-codecov', type=('build', 'run'))
- depends_on('py-coverage', type=('build', 'run'))
- depends_on('py-entrypoints', type=('build', 'run'))
- depends_on('py-flake8', type=('build', 'run'))
- depends_on('py-importlib-metadata', type=('build', 'run'))
- depends_on('py-isort', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-markdown', type=('build', 'run'))
- depends_on('py-markupsafe', type=('build', 'run'))
- depends_on('py-mccabe', type=('build', 'run'))
- depends_on('py-more-itertools', type=('build', 'run'))
- depends_on('py-mypy', type=('build', 'run'))
- depends_on('py-mypy-extensions', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
- depends_on('py-pathspec', type=('build', 'run'))
- depends_on('py-pluggy', type=('build', 'run'))
- depends_on('py-tornado', type=('build', 'run'))
- depends_on('py-typed-ast', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-atomicwrites", type=("build", "run"))
+ depends_on("py-attrs", type=("build", "run"))
+ depends_on("py-black", type=("build", "run"))
+ depends_on("py-chardet", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-chardet", type=("build", "run"))
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-codecov", type=("build", "run"))
+ depends_on("py-coverage", type=("build", "run"))
+ depends_on("py-entrypoints", type=("build", "run"))
+ depends_on("py-flake8", type=("build", "run"))
+ depends_on("py-importlib-metadata", type=("build", "run"))
+ depends_on("py-isort", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-markdown", type=("build", "run"))
+ depends_on("py-markupsafe", type=("build", "run"))
+ depends_on("py-mccabe", type=("build", "run"))
+ depends_on("py-more-itertools", type=("build", "run"))
+ depends_on("py-mypy", type=("build", "run"))
+ depends_on("py-mypy-extensions", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
+ depends_on("py-pathspec", type=("build", "run"))
+ depends_on("py-pluggy", type=("build", "run"))
+ depends_on("py-tornado", type=("build", "run"))
+ depends_on("py-typed-ast", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-setuptools-git/package.py b/var/spack/repos/builtin/packages/py-setuptools-git/package.py
index 4fabd9b6ea..115aa50e66 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-git/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-git/package.py
@@ -11,7 +11,7 @@ class PySetuptoolsGit(PythonPackage):
pypi = "setuptools-git/setuptools-git-1.2.tar.gz"
- version('1.2', sha256='ff64136da01aabba76ae88b050e7197918d8b2139ccbf6144e14d472b9c40445')
+ version("1.2", sha256="ff64136da01aabba76ae88b050e7197918d8b2139ccbf6144e14d472b9c40445")
- depends_on('py-setuptools', type='build')
- depends_on('git')
+ depends_on("py-setuptools", type="build")
+ depends_on("git")
diff --git a/var/spack/repos/builtin/packages/py-setuptools-rust/package.py b/var/spack/repos/builtin/packages/py-setuptools-rust/package.py
index daa0102519..8999158bc8 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-rust/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-rust/package.py
@@ -12,17 +12,20 @@ class PySetuptoolsRust(PythonPackage):
homepage = "https://github.com/PyO3/setuptools-rust"
pypi = "setuptools-rust/setuptools-rust-0.12.1.tar.gz"
- version('0.12.1', sha256='647009e924f0ae439c7f3e0141a184a69ad247ecb9044c511dabde232d3d570e')
+ version("0.12.1", sha256="647009e924f0ae439c7f3e0141a184a69ad247ecb9044c511dabde232d3d570e")
# Version 0.10.6 is not available on pypi and can only be found on github
- version('0.10.6', sha256='1446d3985e4aaf4cc679fda8a48a73ac1390b627c8ae1bebe7d9e08bb3b33769',
- url="https://github.com/PyO3/setuptools-rust/archive/v0.10.6.tar.gz",
- deprecated=True)
+ version(
+ "0.10.6",
+ sha256="1446d3985e4aaf4cc679fda8a48a73ac1390b627c8ae1bebe7d9e08bb3b33769",
+ url="https://github.com/PyO3/setuptools-rust/archive/v0.10.6.tar.gz",
+ deprecated=True,
+ )
- depends_on('python@3.6:', when='@0.12:', type=('build', 'run'))
- depends_on('py-setuptools@46.1:', when='@0.11.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm+toml@3.4.3:', when='@0.11:', type='build')
- depends_on('py-semantic-version@2.6.0:', type=('build', 'run'))
- depends_on('py-toml@0.9.0:', type=('build', 'run'))
- depends_on('rust', type='run')
+ depends_on("python@3.6:", when="@0.12:", type=("build", "run"))
+ depends_on("py-setuptools@46.1:", when="@0.11.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools-scm+toml@3.4.3:", when="@0.11:", type="build")
+ depends_on("py-semantic-version@2.6.0:", type=("build", "run"))
+ depends_on("py-toml@0.9.0:", type=("build", "run"))
+ depends_on("rust", type="run")
diff --git a/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py b/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
index b8dd71689f..b92dd126fc 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-scm-git-archive/package.py
@@ -8,17 +8,15 @@ from spack.package import *
class PySetuptoolsScmGitArchive(PythonPackage):
"""This is a setuptools_scm plugin that adds support for git archives
- (for example the ones GitHub automatically generates)."""
+ (for example the ones GitHub automatically generates)."""
homepage = "https://github.com/Changaco/setuptools_scm_git_archive/"
pypi = "setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz"
- maintainers = ['marcmengel']
+ maintainers = ["marcmengel"]
- version(
- '1.1', sha256='6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062')
- version(
- '1.0', sha256='52425f905518247c685fc64c5fdba6e1e74443c8562e141c8de56059be0e31da')
+ version("1.1", sha256="6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062")
+ version("1.0", sha256="52425f905518247c685fc64c5fdba6e1e74443c8562e141c8de56059be0e31da")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
index 757d22a7f1..3176b270ad 100644
--- a/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools-scm/package.py
@@ -12,30 +12,30 @@ class PySetuptoolsScm(PythonPackage):
homepage = "https://github.com/pypa/setuptools_scm"
pypi = "setuptools_scm/setuptools_scm-4.1.2.tar.gz"
- version('7.0.3', sha256='cf8ab8e235bed840cd4559b658af0d8e8a70896a191bbc510ee914ec5325332d')
- version('6.3.2', sha256='a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2')
- version('6.0.1', sha256='d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92')
- version('5.0.2', sha256='83a0cedd3449e3946307811a4c7b9d89c4b5fd464a2fb5eeccd0a5bb158ae5c8')
- version('4.1.2', sha256='a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8')
- version('3.5.0', sha256='5bdf21a05792903cafe7ae0c9501182ab52497614fa6b1750d9dbae7b60c1a87')
- version('3.3.3', sha256='bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5')
- version('3.1.0', sha256='1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40')
- version('1.15.6', sha256='49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f')
+ version("7.0.3", sha256="cf8ab8e235bed840cd4559b658af0d8e8a70896a191bbc510ee914ec5325332d")
+ version("6.3.2", sha256="a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2")
+ version("6.0.1", sha256="d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92")
+ version("5.0.2", sha256="83a0cedd3449e3946307811a4c7b9d89c4b5fd464a2fb5eeccd0a5bb158ae5c8")
+ version("4.1.2", sha256="a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8")
+ version("3.5.0", sha256="5bdf21a05792903cafe7ae0c9501182ab52497614fa6b1750d9dbae7b60c1a87")
+ version("3.3.3", sha256="bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5")
+ version("3.1.0", sha256="1191f2a136b5e86f7ca8ab00a97ef7aef997131f1f6d4971be69a1ef387d8b40")
+ version("1.15.6", sha256="49ab4685589986a42da85706b3311a2f74f1af567d39fee6cb1e088d7a75fb5f")
# Basically a no-op in setuptools_scm 7+, toml support is always built
- variant('toml', default=True, description='Build with TOML support')
-
- depends_on('python@3.7:', when='@7:', type=('build', 'run'))
- depends_on('python@3.6:', when='@6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
-
- depends_on('py-packaging@20.0:', when='@6.3:', type=('build', 'run'))
- depends_on('py-setuptools@45:', when='@6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', when='@5:', type=('build', 'run'))
- depends_on('py-setuptools@34.4:', type=('build', 'run'))
- depends_on('py-toml', when='+toml @:6.1.0', type=('build', 'run'))
- depends_on('py-tomli@1:', when='+toml @6.1.0:', type=('build', 'run'))
- depends_on('py-tomli@1:', when='@7:', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@7:', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='@7: ^python@:3.7', type=('build', 'run'))
+ variant("toml", default=True, description="Build with TOML support")
+
+ depends_on("python@3.7:", when="@7:", type=("build", "run"))
+ depends_on("python@3.6:", when="@6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", when="@4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+
+ depends_on("py-packaging@20.0:", when="@6.3:", type=("build", "run"))
+ depends_on("py-setuptools@45:", when="@6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", when="@5:", type=("build", "run"))
+ depends_on("py-setuptools@34.4:", type=("build", "run"))
+ depends_on("py-toml", when="+toml @:6.1.0", type=("build", "run"))
+ depends_on("py-tomli@1:", when="+toml @6.1.0:", type=("build", "run"))
+ depends_on("py-tomli@1:", when="@7:", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@7:", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="@7: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 85e369e1cf..b1b0e64805 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -8,58 +8,170 @@ from spack.package import *
class PySetuptools(Package):
"""A Python utility that aids in the process of downloading, building,
- upgrading, installing, and uninstalling Python packages."""
+ upgrading, installing, and uninstalling Python packages."""
homepage = "https://github.com/pypa/setuptools"
url = "https://files.pythonhosted.org/packages/py3/s/setuptools/setuptools-62.3.2-py3-none-any.whl"
list_url = "https://pypi.org/simple/setuptools/"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('63.0.0', sha256='045aec56a3eee5c82373a70e02db8b6da9a10f7faf61ff89a14ab66c738ed370', expand=False)
- version('62.4.0', sha256='5a844ad6e190dccc67d6d7411d119c5152ce01f7c76be4d8a1eaa314501bba77', expand=False)
- version('62.3.2', sha256='68e45d17c9281ba25dc0104eadd2647172b3472d9e01f911efa57965e8d51a36', expand=False)
- version('59.4.0', sha256='feb5ff19b354cde9efd2344ef6d5e79880ce4be643037641b49508bbb850d060', expand=False)
- version('58.2.0', sha256='2551203ae6955b9876741a26ab3e767bb3242dafe86a32a749ea0d78b6792f11', expand=False)
- version('57.4.0', sha256='a49230977aa6cfb9d933614d2f7b79036e9945c4cdd7583163f4e920b83418d6', expand=False)
- version('57.1.0', sha256='ddae4c1b9220daf1e32ba9d4e3714df6019c5b583755559be84ff8199f7e1fe3', expand=False)
- version('51.0.0', sha256='8c177936215945c9a37ef809ada0fab365191952f7a123618432bbfac353c529', expand=False)
- version('50.3.2', sha256='2c242a0856fbad7efbe560df4a7add9324f340cf48df43651e9604924466794a', expand=False)
- version('50.1.0', sha256='4537c77e6e7dc170081f8547564551d4ff4e4999717434e1257600bbd3a23296', expand=False)
- version('49.6.0', sha256='4dd5bb0a0a0cff77b46ca5dd3a84857ee48c83e8223886b556613c724994073f', expand=False)
- version('49.2.0', sha256='272c7f48f5cddc5af5901f4265274c421c7eede5c8bc454ac2903d3f8fc365e9', expand=False)
- version('46.1.3', sha256='4fe404eec2738c20ab5841fa2d791902d2a645f32318a7850ef26f8d7215a8ee', expand=False)
- version('44.1.1', sha256='27a714c09253134e60a6fa68130f78c7037e5562c4f21f8f318f2ae900d152d5', expand=False)
- version('44.1.0', sha256='992728077ca19db6598072414fb83e0a284aca1253aaf2e24bb1e55ee6db1a30', expand=False)
- version('43.0.0', sha256='a67faa51519ef28cd8261aff0e221b6e4c370f8fb8bada8aa3e7ad8945199963', expand=False)
- version('41.4.0', sha256='8d01f7ee4191d9fdcd9cc5796f75199deccb25b154eba82d44d6a042cf873670', expand=False)
- version('41.3.0', sha256='e9832acd9be6f3174f4c34b40e7d913a146727920cbef6465c1c1bd2d21a4ec4', expand=False)
- version('41.0.1', sha256='c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf', expand=False)
- version('41.0.0', sha256='e67486071cd5cdeba783bd0b64f5f30784ff855b35071c8670551fd7fc52d4a1', expand=False)
- version('40.8.0', sha256='e8496c0079f3ac30052ffe69b679bd876c5265686127a3159cfa415669b7f9ab', expand=False)
- version('40.4.3', sha256='ce4137d58b444bac11a31d4e0c1805c69d89e8ed4e91fde1999674ecc2f6f9ff', expand=False)
- version('40.2.0', sha256='ea3796a48a207b46ea36a9d26de4d0cc87c953a683a7b314ea65d666930ea8e6', expand=False)
- version('39.2.0', sha256='8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926', expand=False)
- version('39.0.1', sha256='8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8', expand=False)
- version('25.2.0', sha256='2845247c359bb91097ccf8f6be8a69edfa44847f3d2d5def39aa43c3d7f615ca', expand=False)
- version('20.7.0', sha256='8917a52aa3a389893221b173a89dae0471022d32bff3ebc31a1072988aa8039d', expand=False)
- version('20.6.7', sha256='9982ee4d279a2541dc1a7efee994ff9c535cfc05315e121e09df7f93da48c442', expand=False)
+ version(
+ "63.0.0",
+ sha256="045aec56a3eee5c82373a70e02db8b6da9a10f7faf61ff89a14ab66c738ed370",
+ expand=False,
+ )
+ version(
+ "62.4.0",
+ sha256="5a844ad6e190dccc67d6d7411d119c5152ce01f7c76be4d8a1eaa314501bba77",
+ expand=False,
+ )
+ version(
+ "62.3.2",
+ sha256="68e45d17c9281ba25dc0104eadd2647172b3472d9e01f911efa57965e8d51a36",
+ expand=False,
+ )
+ version(
+ "59.4.0",
+ sha256="feb5ff19b354cde9efd2344ef6d5e79880ce4be643037641b49508bbb850d060",
+ expand=False,
+ )
+ version(
+ "58.2.0",
+ sha256="2551203ae6955b9876741a26ab3e767bb3242dafe86a32a749ea0d78b6792f11",
+ expand=False,
+ )
+ version(
+ "57.4.0",
+ sha256="a49230977aa6cfb9d933614d2f7b79036e9945c4cdd7583163f4e920b83418d6",
+ expand=False,
+ )
+ version(
+ "57.1.0",
+ sha256="ddae4c1b9220daf1e32ba9d4e3714df6019c5b583755559be84ff8199f7e1fe3",
+ expand=False,
+ )
+ version(
+ "51.0.0",
+ sha256="8c177936215945c9a37ef809ada0fab365191952f7a123618432bbfac353c529",
+ expand=False,
+ )
+ version(
+ "50.3.2",
+ sha256="2c242a0856fbad7efbe560df4a7add9324f340cf48df43651e9604924466794a",
+ expand=False,
+ )
+ version(
+ "50.1.0",
+ sha256="4537c77e6e7dc170081f8547564551d4ff4e4999717434e1257600bbd3a23296",
+ expand=False,
+ )
+ version(
+ "49.6.0",
+ sha256="4dd5bb0a0a0cff77b46ca5dd3a84857ee48c83e8223886b556613c724994073f",
+ expand=False,
+ )
+ version(
+ "49.2.0",
+ sha256="272c7f48f5cddc5af5901f4265274c421c7eede5c8bc454ac2903d3f8fc365e9",
+ expand=False,
+ )
+ version(
+ "46.1.3",
+ sha256="4fe404eec2738c20ab5841fa2d791902d2a645f32318a7850ef26f8d7215a8ee",
+ expand=False,
+ )
+ version(
+ "44.1.1",
+ sha256="27a714c09253134e60a6fa68130f78c7037e5562c4f21f8f318f2ae900d152d5",
+ expand=False,
+ )
+ version(
+ "44.1.0",
+ sha256="992728077ca19db6598072414fb83e0a284aca1253aaf2e24bb1e55ee6db1a30",
+ expand=False,
+ )
+ version(
+ "43.0.0",
+ sha256="a67faa51519ef28cd8261aff0e221b6e4c370f8fb8bada8aa3e7ad8945199963",
+ expand=False,
+ )
+ version(
+ "41.4.0",
+ sha256="8d01f7ee4191d9fdcd9cc5796f75199deccb25b154eba82d44d6a042cf873670",
+ expand=False,
+ )
+ version(
+ "41.3.0",
+ sha256="e9832acd9be6f3174f4c34b40e7d913a146727920cbef6465c1c1bd2d21a4ec4",
+ expand=False,
+ )
+ version(
+ "41.0.1",
+ sha256="c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf",
+ expand=False,
+ )
+ version(
+ "41.0.0",
+ sha256="e67486071cd5cdeba783bd0b64f5f30784ff855b35071c8670551fd7fc52d4a1",
+ expand=False,
+ )
+ version(
+ "40.8.0",
+ sha256="e8496c0079f3ac30052ffe69b679bd876c5265686127a3159cfa415669b7f9ab",
+ expand=False,
+ )
+ version(
+ "40.4.3",
+ sha256="ce4137d58b444bac11a31d4e0c1805c69d89e8ed4e91fde1999674ecc2f6f9ff",
+ expand=False,
+ )
+ version(
+ "40.2.0",
+ sha256="ea3796a48a207b46ea36a9d26de4d0cc87c953a683a7b314ea65d666930ea8e6",
+ expand=False,
+ )
+ version(
+ "39.2.0",
+ sha256="8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926",
+ expand=False,
+ )
+ version(
+ "39.0.1",
+ sha256="8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8",
+ expand=False,
+ )
+ version(
+ "25.2.0",
+ sha256="2845247c359bb91097ccf8f6be8a69edfa44847f3d2d5def39aa43c3d7f615ca",
+ expand=False,
+ )
+ version(
+ "20.7.0",
+ sha256="8917a52aa3a389893221b173a89dae0471022d32bff3ebc31a1072988aa8039d",
+ expand=False,
+ )
+ version(
+ "20.6.7",
+ sha256="9982ee4d279a2541dc1a7efee994ff9c535cfc05315e121e09df7f93da48c442",
+ expand=False,
+ )
- extends('python')
- depends_on('python@3.7:', type=('build', 'run'), when='@59.7:')
- 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')
- depends_on('py-pip', type='build')
+ extends("python")
+ depends_on("python@3.7:", type=("build", "run"), when="@59.7:")
+ 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")
+ depends_on("py-pip", type="build")
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/{0}/s/setuptools/setuptools-{1}-{0}-none-any.whl"
- if version >= Version('45.1.0'):
- python_tag = 'py3'
+ if version >= Version("45.1.0"):
+ python_tag = "py3"
else:
- python_tag = 'py2.py3'
+ python_tag = "py2.py3"
return url.format(python_tag, version)
def install(self, spec, prefix):
@@ -70,5 +182,5 @@ class PySetuptools(Package):
#
# We work around this issue by installing setuptools from wheels
whl = self.stage.archive_file
- args = ['-m', 'pip'] + std_pip_args + ['--prefix=' + prefix, whl]
+ args = ["-m", "pip"] + std_pip_args + ["--prefix=" + prefix, whl]
python(*args)
diff --git a/var/spack/repos/builtin/packages/py-sfepy/package.py b/var/spack/repos/builtin/packages/py-sfepy/package.py
index 2ec738c55c..6cda8ee7dd 100644
--- a/var/spack/repos/builtin/packages/py-sfepy/package.py
+++ b/var/spack/repos/builtin/packages/py-sfepy/package.py
@@ -14,31 +14,35 @@ class PySfepy(PythonPackage):
"""
homepage = "https://sfepy.org"
- url = "https://github.com/sfepy/sfepy/archive/release_2021.3.tar.gz"
- git = "https://github.com/sfepy/sfepy.git"
+ url = "https://github.com/sfepy/sfepy/archive/release_2021.3.tar.gz"
+ git = "https://github.com/sfepy/sfepy.git"
- version('2021.3', sha256='b2a760b0f3277ac223ff25821a4156b48d06b3769e6a9a3bd0bffef5a43cbe17')
- version('2017.3', sha256='d13642b7abed63b83b7eaef4dfce6e84a5afc5798bc7ffa1c413e3e44b5e5996', deprecated=True)
+ version("2021.3", sha256="b2a760b0f3277ac223ff25821a4156b48d06b3769e6a9a3bd0bffef5a43cbe17")
+ version(
+ "2017.3",
+ sha256="d13642b7abed63b83b7eaef4dfce6e84a5afc5798bc7ffa1c413e3e44b5e5996",
+ deprecated=True,
+ )
- variant('petsc', default=False, description='Enable PETSc support')
- variant('slepc', default=False, description='Enable SLEPc support')
- variant('pyamg', default=False, description='Enable PyAMG support')
- variant('mumps', default=False, description='Enable MUMPS support')
+ variant("petsc", default=False, description="Enable PETSc support")
+ variant("slepc", default=False, description="Enable SLEPc support")
+ variant("pyamg", default=False, description="Enable PyAMG support")
+ variant("mumps", default=False, description="Enable MUMPS support")
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type='run')
- depends_on('py-scipy', type='run')
- depends_on('py-matplotlib', type='run')
- depends_on('py-sympy', type='run')
- depends_on('hdf5+hl', type='run')
- depends_on('py-tables', type='run')
- depends_on('py-meshio', type='run', when='@2021.3')
- depends_on('py-psutil', type='run', when='@2021.3')
- depends_on('py-pyvista', type='run', when='@2021.3')
- depends_on('py-opt-einsum', type='run', when='@2021.3')
- depends_on('py-dask', type='run', when='@2021.3')
- depends_on('py-petsc4py', type='run', when='+petsc')
- depends_on('py-slepc4py', type='run', when='+slepc @2021.3')
- depends_on('py-pyamg', type='run', when='+pyamg @2021.3')
- depends_on('mumps', type='run', when='+mumps @2021.3')
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type="run")
+ depends_on("py-scipy", type="run")
+ depends_on("py-matplotlib", type="run")
+ depends_on("py-sympy", type="run")
+ depends_on("hdf5+hl", type="run")
+ depends_on("py-tables", type="run")
+ depends_on("py-meshio", type="run", when="@2021.3")
+ depends_on("py-psutil", type="run", when="@2021.3")
+ depends_on("py-pyvista", type="run", when="@2021.3")
+ depends_on("py-opt-einsum", type="run", when="@2021.3")
+ depends_on("py-dask", type="run", when="@2021.3")
+ depends_on("py-petsc4py", type="run", when="+petsc")
+ depends_on("py-slepc4py", type="run", when="+slepc @2021.3")
+ depends_on("py-pyamg", type="run", when="+pyamg @2021.3")
+ depends_on("mumps", type="run", when="+mumps @2021.3")
diff --git a/var/spack/repos/builtin/packages/py-sgp4/package.py b/var/spack/repos/builtin/packages/py-sgp4/package.py
index 85ebef6515..0dd59f5b8b 100644
--- a/var/spack/repos/builtin/packages/py-sgp4/package.py
+++ b/var/spack/repos/builtin/packages/py-sgp4/package.py
@@ -7,14 +7,13 @@ from spack.package import *
class PySgp4(PythonPackage):
- """Track earth satellite TLE orbits using up-to-date 2010 version of SGP4
- """
+ """Track earth satellite TLE orbits using up-to-date 2010 version of SGP4"""
homepage = "https://github.com/brandon-rhodes/python-sgp4"
pypi = "sgp4/sgp4-1.4.tar.gz"
- version('1.4', sha256='1fb3cdbc11981a9ff34a032169f83c1f4a2877d1b6c295aed044e1d890b73892')
+ version("1.4", sha256="1fb3cdbc11981a9ff34a032169f83c1f4a2877d1b6c295aed044e1d890b73892")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sh/package.py b/var/spack/repos/builtin/packages/py-sh/package.py
index 8691c3c444..b2bca3feb4 100644
--- a/var/spack/repos/builtin/packages/py-sh/package.py
+++ b/var/spack/repos/builtin/packages/py-sh/package.py
@@ -12,7 +12,7 @@ class PySh(PythonPackage):
homepage = "https://github.com/amoffat/sh"
pypi = "sh/sh-1.12.9.tar.gz"
- version('1.12.9', sha256='579aa19bae7fe86b607df1afaf4e8537c453d2ce3d84e1d3957e099359a51677')
- version('1.11', sha256='590fb9b84abf8b1f560df92d73d87965f1e85c6b8330f8a5f6b336b36f0559a4')
+ version("1.12.9", sha256="579aa19bae7fe86b607df1afaf4e8537c453d2ce3d84e1d3957e099359a51677")
+ version("1.11", sha256="590fb9b84abf8b1f560df92d73d87965f1e85c6b8330f8a5f6b336b36f0559a4")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py
index 099c1649b5..c502294685 100644
--- a/var/spack/repos/builtin/packages/py-shapely/package.py
+++ b/var/spack/repos/builtin/packages/py-shapely/package.py
@@ -10,61 +10,61 @@ from spack.package import *
class PyShapely(PythonPackage):
- """Manipulation and analysis of geometric objects in the Cartesian plane.
- """
+ """Manipulation and analysis of geometric objects in the Cartesian plane."""
homepage = "https://github.com/Toblerity/Shapely"
pypi = "Shapely/Shapely-1.7.1.tar.gz"
- git = "https://github.com/Toblerity/Shapely.git"
+ git = "https://github.com/Toblerity/Shapely.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master')
- version('1.8.2', sha256='572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6')
- version('1.8.1', sha256='0956a3aced40c31a957a52aa1935467334926844a6776b469acb0760a5e6aba8')
- version('1.8.0', sha256='f5307ee14ba4199f8bbcf6532ca33064661c1433960c432c84f0daa73b47ef9c')
- version('1.7.1', sha256='1641724c1055459a7e2b8bbe47ba25bdc89554582e62aec23cb3f3ca25f9b129')
- version('1.7.0', sha256='e21a9fe1a416463ff11ae037766fe410526c95700b9e545372475d2361cc951e')
- version('1.6.4', sha256='b10bc4199cfefcf1c0e5d932eac89369550320ca4bdf40559328d85f1ca4f655')
+ version("master", branch="master")
+ version("1.8.2", sha256="572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6")
+ version("1.8.1", sha256="0956a3aced40c31a957a52aa1935467334926844a6776b469acb0760a5e6aba8")
+ version("1.8.0", sha256="f5307ee14ba4199f8bbcf6532ca33064661c1433960c432c84f0daa73b47ef9c")
+ version("1.7.1", sha256="1641724c1055459a7e2b8bbe47ba25bdc89554582e62aec23cb3f3ca25f9b129")
+ version("1.7.0", sha256="e21a9fe1a416463ff11ae037766fe410526c95700b9e545372475d2361cc951e")
+ version("1.6.4", sha256="b10bc4199cfefcf1c0e5d932eac89369550320ca4bdf40559328d85f1ca4f655")
- depends_on('python@3.6:', when='@1.8:', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@1.7:', type=('build', 'link', 'run'))
- depends_on('python@2.6:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.29.24:', type='build')
- depends_on('py-numpy', type=('build', 'link', 'run'))
- depends_on('geos')
- depends_on('geos@3.3:', when='@1.3:1.7')
- depends_on('geos@3.6:3.10', when='@1.8:')
- depends_on('py-pytest', type='test')
- depends_on('py-pytest-cov', type='test')
+ depends_on("python@3.6:", when="@1.8:", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@1.7:", type=("build", "link", "run"))
+ depends_on("python@2.6:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.29.24:", type="build")
+ depends_on("py-numpy", type=("build", "link", "run"))
+ depends_on("geos")
+ depends_on("geos@3.3:", when="@1.3:1.7")
+ depends_on("geos@3.6:3.10", when="@1.8:")
+ depends_on("py-pytest", type="test")
+ depends_on("py-pytest-cov", type="test")
# https://github.com/Toblerity/Shapely/pull/891
- patch('https://github.com/Toblerity/Shapely/commit/98f6b36710bbe05b4ab59231cb0e08b06fe8b69c.patch?full_index=1',
- sha256='8583cdc97648277fa4faea8bd88d49e43390e87f697b966bd2b4290fba945ba0',
- when='@:1.7.0')
+ patch(
+ "https://github.com/Toblerity/Shapely/commit/98f6b36710bbe05b4ab59231cb0e08b06fe8b69c.patch?full_index=1",
+ sha256="8583cdc97648277fa4faea8bd88d49e43390e87f697b966bd2b4290fba945ba0",
+ when="@:1.7.0",
+ )
- @when('^python@3.7:')
+ @when("^python@3.7:")
def patch(self):
# Python 3.7 changed the thread storage API, precompiled *.c files
# need to be re-cythonized
- if os.path.exists('shapely/speedups/_speedups.c'):
- os.remove('shapely/speedups/_speedups.c')
- if os.path.exists('shapely/vectorized/_vectorized.c'):
- os.remove('shapely/vectorized/_vectorized.c')
+ if os.path.exists("shapely/speedups/_speedups.c"):
+ os.remove("shapely/speedups/_speedups.c")
+ if os.path.exists("shapely/vectorized/_vectorized.c"):
+ os.remove("shapely/vectorized/_vectorized.c")
def setup_build_environment(self, env):
- env.set('GEOS_CONFIG',
- join_path(self.spec['geos'].prefix.bin, 'geos-config'))
+ env.set("GEOS_CONFIG", join_path(self.spec["geos"].prefix.bin, "geos-config"))
# Shapely uses ctypes.util.find_library, which searches LD_LIBRARY_PATH
# Our RPATH logic works fine, but the unit tests fail without this
# https://github.com/Toblerity/Shapely/issues/909
- libs = ':'.join(self.spec['geos'].libs.directories)
- if sys.platform == 'darwin':
- env.prepend_path('DYLD_FALLBACK_LIBRARY_PATH', libs)
+ libs = ":".join(self.spec["geos"].libs.directories)
+ if sys.platform == "darwin":
+ env.prepend_path("DYLD_FALLBACK_LIBRARY_PATH", libs)
else:
- env.prepend_path('LD_LIBRARY_PATH', libs)
+ env.prepend_path("LD_LIBRARY_PATH", libs)
def setup_run_environment(self, env):
self.setup_build_environment(env)
@@ -72,7 +72,7 @@ class PyShapely(PythonPackage):
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_build_environment(env)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
- python('-m', 'pytest')
+ python("-m", "pytest")
diff --git a/var/spack/repos/builtin/packages/py-shellingham/package.py b/var/spack/repos/builtin/packages/py-shellingham/package.py
index 3cc2f3b8df..cf525aa89e 100644
--- a/var/spack/repos/builtin/packages/py-shellingham/package.py
+++ b/var/spack/repos/builtin/packages/py-shellingham/package.py
@@ -10,9 +10,9 @@ class PyShellingham(PythonPackage):
"""Tool to Detect Surrounding Shell"""
homepage = "https://github.com/sarugaku/shellingham"
- pypi = "shellingham/shellingham-1.4.0.tar.gz"
+ pypi = "shellingham/shellingham-1.4.0.tar.gz"
- version('1.4.0', sha256='4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e')
+ version("1.4.0", sha256="4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e")
- depends_on('python@2.6:2.7,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:2.7,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-shiboken/package.py b/var/spack/repos/builtin/packages/py-shiboken/package.py
index 07da2e9d9f..a92195c226 100644
--- a/var/spack/repos/builtin/packages/py-shiboken/package.py
+++ b/var/spack/repos/builtin/packages/py-shiboken/package.py
@@ -10,41 +10,46 @@ from spack.package import *
class PyShiboken(PythonPackage):
"""Shiboken generates bindings for C++ libraries using CPython."""
+
homepage = "https://shiboken.readthedocs.org/"
pypi = "Shiboken/Shiboken-1.2.2.tar.gz"
- version('1.2.2', sha256='0baee03c6244ab56e42e4200d0cb5e234682b11cc296ed0a192fe457d054972f')
+ version("1.2.2", sha256="0baee03c6244ab56e42e4200d0cb5e234682b11cc296ed0a192fe457d054972f")
- depends_on('cmake', type='build')
+ depends_on("cmake", type="build")
- depends_on("py-setuptools", type='build')
- depends_on("py-sphinx@:3.4", type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@:3.4", type=("build", "run"))
depends_on("libxml2")
depends_on("qt@:4.8")
# subprocess.mswindows was renamed to subprocess._mswindows in Python 3.5
- patch('python-3.5.patch', when='^python@3.5:')
+ patch("python-3.5.patch", when="^python@3.5:")
def patch(self):
"""Undo Shiboken RPATH handling and add Spack RPATH."""
# Add Spack's standard CMake args to the sub-builds.
# They're called BY setup.py so we have to patch it.
rpath = self.rpath
- rpath.append(os.path.join(python_platlib, 'Shiboken'))
+ rpath.append(os.path.join(python_platlib, "Shiboken"))
filter_file(
- r'OPTION_CMAKE,',
- r'OPTION_CMAKE, ' + (
+ r"OPTION_CMAKE,",
+ r"OPTION_CMAKE, "
+ + (
'"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE", '
- '"-DCMAKE_INSTALL_RPATH=%s",' % ':'.join(rpath)),
- 'setup.py')
+ '"-DCMAKE_INSTALL_RPATH=%s",' % ":".join(rpath)
+ ),
+ "setup.py",
+ )
# Shiboken tries to patch ELF files to remove RPATHs
# Disable this and go with the one we set.
filter_file(
- r'^\s*rpath_cmd\(shiboken_path, srcpath\)',
- r'#rpath_cmd(shiboken_path, srcpath)',
- 'shiboken_postinstall.py')
+ r"^\s*rpath_cmd\(shiboken_path, srcpath\)",
+ r"#rpath_cmd(shiboken_path, srcpath)",
+ "shiboken_postinstall.py",
+ )
def install_options(self, spec, prefix):
- return ['--jobs={0}'.format(make_jobs)]
+ return ["--jobs={0}".format(make_jobs)]
diff --git a/var/spack/repos/builtin/packages/py-shiboken2/package.py b/var/spack/repos/builtin/packages/py-shiboken2/package.py
index 400479f438..9578844fdf 100644
--- a/var/spack/repos/builtin/packages/py-shiboken2/package.py
+++ b/var/spack/repos/builtin/packages/py-shiboken2/package.py
@@ -13,15 +13,19 @@ class PyShiboken2(PythonPackage):
homepage = "https://www.pyside.org/"
- if sys.platform.startswith('linux'):
- version('5.15.2',
- url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl",
- sha256='4aee1b91e339578f9831e824ce2a1ec3ba3a463f41fda8946b4547c7eb3cba86',
- expand=False)
- elif sys.platform == 'darwin':
- version('5.15.2',
- url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-macosx_10_13_intel.whl",
- sha256='edc12a4df2b5be7ca1e762ab94e331ba9e2fbfe3932c20378d8aa3f73f90e0af',
- expand=False)
+ if sys.platform.startswith("linux"):
+ version(
+ "5.15.2",
+ url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl",
+ sha256="4aee1b91e339578f9831e824ce2a1ec3ba3a463f41fda8946b4547c7eb3cba86",
+ expand=False,
+ )
+ elif sys.platform == "darwin":
+ version(
+ "5.15.2",
+ url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-macosx_10_13_intel.whl",
+ sha256="edc12a4df2b5be7ca1e762ab94e331ba9e2fbfe3932c20378d8aa3f73f90e0af",
+ expand=False,
+ )
- depends_on('python@3.5:3.9', type=('build', 'run'))
+ depends_on("python@3.5:3.9", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-shortuuid/package.py b/var/spack/repos/builtin/packages/py-shortuuid/package.py
index ebd47f4ba6..80c2b816e9 100644
--- a/var/spack/repos/builtin/packages/py-shortuuid/package.py
+++ b/var/spack/repos/builtin/packages/py-shortuuid/package.py
@@ -10,11 +10,11 @@ class PyShortuuid(PythonPackage):
"""A generator library for concise, unambiguous and URL-safe UUIDs."""
homepage = "https://github.com/skorokithakis/shortuuid"
- url = "https://github.com/skorokithakis/shortuuid/archive/v1.0.0.tar.gz"
+ url = "https://github.com/skorokithakis/shortuuid/archive/v1.0.0.tar.gz"
- version('1.0.1', sha256='1253bdddf0d866e0bd8ea70989702772e09a78d5072b0490dfb6b3489750c157')
- version('1.0.0', sha256='cc2539aaed1b4de34853ee4aaf8331176b768a2d3a87d5a790453e082ce36850')
- version('0.5.0', sha256='5dabb502352a43f67284a0edb16a1d46ec9f71b332df2095218c2df1be7d019c')
+ version("1.0.1", sha256="1253bdddf0d866e0bd8ea70989702772e09a78d5072b0490dfb6b3489750c157")
+ version("1.0.0", sha256="cc2539aaed1b4de34853ee4aaf8331176b768a2d3a87d5a790453e082ce36850")
+ version("0.5.0", sha256="5dabb502352a43f67284a0edb16a1d46ec9f71b332df2095218c2df1be7d019c")
- depends_on('python@2.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-shroud/package.py b/var/spack/repos/builtin/packages/py-shroud/package.py
index 7a8c3249b3..4fed407e3d 100644
--- a/var/spack/repos/builtin/packages/py-shroud/package.py
+++ b/var/spack/repos/builtin/packages/py-shroud/package.py
@@ -10,16 +10,16 @@ class PyShroud(PythonPackage):
"""Create Fortran wrappers for a C++ library."""
homepage = "https://github.com/LLNL/shroud"
- git = "https://github.com/LLNL/shroud.git"
- tags = ['radiuss']
+ git = "https://github.com/LLNL/shroud.git"
+ tags = ["radiuss"]
- version('develop', branch='develop')
- version('master', branch='master')
- version('0.12.1', tag='v0.12.1')
- version('0.11.0', tag='v0.11.0')
- version('0.10.1', tag='v0.10.1')
- version('0.9.0', tag='v0.9.0')
- version('0.8.0', tag='v0.8.0')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("0.12.1", tag="v0.12.1")
+ version("0.11.0", tag="v0.11.0")
+ version("0.10.1", tag="v0.10.1")
+ version("0.9.0", tag="v0.9.0")
+ version("0.8.0", tag="v0.8.0")
- depends_on("py-setuptools", type=('build', 'run'))
- depends_on("py-pyyaml@4.2b1:", type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pyyaml@4.2b1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-shtab/package.py b/var/spack/repos/builtin/packages/py-shtab/package.py
index c082ec8701..9458045ae6 100644
--- a/var/spack/repos/builtin/packages/py-shtab/package.py
+++ b/var/spack/repos/builtin/packages/py-shtab/package.py
@@ -10,12 +10,12 @@ class PyShtab(PythonPackage):
"""Automatically generate shell tab completion scripts for python CLI apps."""
homepage = "https://github.com/iterative/shtab"
- pypi = "shtab/shtab-1.3.3.tar.gz"
+ pypi = "shtab/shtab-1.3.3.tar.gz"
- version('1.3.4', sha256='353f2a3a5178cd2df8eb746e7ab26a5039a9989e4386de8fd239d8c1653a8887')
- version('1.3.3', sha256='1f7f263631acdf0a9e685bbf7126a0fa711c2d663db12441670b1cea3fa431d4')
+ version("1.3.4", sha256="353f2a3a5178cd2df8eb746e7ab26a5039a9989e4386de8fd239d8c1653a8887")
+ version("1.3.3", sha256="1f7f263631acdf0a9e685bbf7126a0fa711c2d663db12441670b1cea3fa431d4")
# setuptools and setuptools_scm imported in shtab/__init__.py
- depends_on('python@2.7:2.8,3.2:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("python@2.7:2.8,3.2:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sierrapy/package.py b/var/spack/repos/builtin/packages/py-sierrapy/package.py
index 223637a8cb..eb94fcaf32 100644
--- a/var/spack/repos/builtin/packages/py-sierrapy/package.py
+++ b/var/spack/repos/builtin/packages/py-sierrapy/package.py
@@ -10,24 +10,24 @@ class PySierrapy(PythonPackage):
"""A Client of HIVdb Sierra GraphQL Webservice"""
homepage = "https://github.com/hivdb/sierra-client/tree/master/python"
- pypi = "sierrapy/sierrapy-0.3.0.tar.gz"
-
- maintainers = ['dorton21']
-
- version('0.3.0', sha256='82474b3815d79d16a480b0cc70b9f7075430ff4990f33306c880b240a3141b6e')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-certifi@2020.4.5.1', type='build')
-
- depends_on('py-chardet@3.0.4', type=('build', 'run'))
- depends_on('py-click@7.1.2', type=('build', 'run'))
- depends_on('py-gql@0.4.0', type=('build', 'run'))
- depends_on('py-graphql-core@2.3.2', type=('build', 'run'))
- depends_on('py-idna@2.9', type=('build', 'run'))
- depends_on('py-rx@1.6.1', type=('build', 'run'))
- depends_on('py-promise@2.3', type=('build', 'run'))
- depends_on('py-requests@2.23.0', type=('build', 'run'))
- depends_on('py-six@1.14.0', type=('build', 'run'))
- depends_on('py-tqdm@4.46.0', type=('build', 'run'))
- depends_on('py-voluptuous@0.11.7', type=('build', 'run'))
- depends_on('py-urllib3@1.25.9', type=('build', 'run'))
+ pypi = "sierrapy/sierrapy-0.3.0.tar.gz"
+
+ maintainers = ["dorton21"]
+
+ version("0.3.0", sha256="82474b3815d79d16a480b0cc70b9f7075430ff4990f33306c880b240a3141b6e")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-certifi@2020.4.5.1", type="build")
+
+ depends_on("py-chardet@3.0.4", type=("build", "run"))
+ depends_on("py-click@7.1.2", type=("build", "run"))
+ depends_on("py-gql@0.4.0", type=("build", "run"))
+ depends_on("py-graphql-core@2.3.2", type=("build", "run"))
+ depends_on("py-idna@2.9", type=("build", "run"))
+ depends_on("py-rx@1.6.1", type=("build", "run"))
+ depends_on("py-promise@2.3", type=("build", "run"))
+ depends_on("py-requests@2.23.0", type=("build", "run"))
+ depends_on("py-six@1.14.0", type=("build", "run"))
+ depends_on("py-tqdm@4.46.0", type=("build", "run"))
+ depends_on("py-voluptuous@0.11.7", type=("build", "run"))
+ depends_on("py-urllib3@1.25.9", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-simplegeneric/package.py b/var/spack/repos/builtin/packages/py-simplegeneric/package.py
index c0ceecc1fe..be1fda7368 100644
--- a/var/spack/repos/builtin/packages/py-simplegeneric/package.py
+++ b/var/spack/repos/builtin/packages/py-simplegeneric/package.py
@@ -12,7 +12,7 @@ class PySimplegeneric(PythonPackage):
pypi = "simplegeneric/simplegeneric-0.8.zip"
- version('0.8.1', sha256='dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173')
- version('0.8', sha256='8c0c4963da2695ba7c0f953f2cdac31d2c41d619fe9419e9d75432f8a231f966')
+ version("0.8.1", sha256="dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173")
+ version("0.8", sha256="8c0c4963da2695ba7c0f953f2cdac31d2c41d619fe9419e9d75432f8a231f966")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-simplejson/package.py b/var/spack/repos/builtin/packages/py-simplejson/package.py
index ef686f58fb..13c818120a 100644
--- a/var/spack/repos/builtin/packages/py-simplejson/package.py
+++ b/var/spack/repos/builtin/packages/py-simplejson/package.py
@@ -13,15 +13,19 @@ class PySimplejson(PythonPackage):
homepage = "https://github.com/simplejson/simplejson"
pypi = "simplejson/simplejson-3.10.0.tar.gz"
- version('3.17.2', sha256='75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841')
- version('3.16.1', url='https://github.com/simplejson/simplejson/releases/download/v3.16.1/simplejson-3.16.1.tar.gz', sha256='20c626174a3cfcc69c783930ac2d5daa72787a8e26398e33c978065a51cc8bf4')
- version('3.16.0', sha256='b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5')
- version('3.10.0', sha256='953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2')
- version('3.9.0', sha256='e9abeee37424f4bfcd27d001d943582fb8c729ffc0b74b72bd0e9b626ed0d1b6')
- version('3.8.2', sha256='d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f')
- version('3.8.1', sha256='428ac8f3219c78fb04ce05895d5dff9bd813c05a9a7922c53dc879cd32a12493')
- version('3.8.0', sha256='217e4797da3a9a4a9fbe6722e0db98070b8443a88212d7acdbd241a7668141d9')
- version('3.3.0', sha256='7a8a6bd82e111976aeb06138316ab10847adf612925072eaff8512228bcf9a1f')
+ version("3.17.2", sha256="75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841")
+ version(
+ "3.16.1",
+ url="https://github.com/simplejson/simplejson/releases/download/v3.16.1/simplejson-3.16.1.tar.gz",
+ sha256="20c626174a3cfcc69c783930ac2d5daa72787a8e26398e33c978065a51cc8bf4",
+ )
+ version("3.16.0", sha256="b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5")
+ version("3.10.0", sha256="953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2")
+ version("3.9.0", sha256="e9abeee37424f4bfcd27d001d943582fb8c729ffc0b74b72bd0e9b626ed0d1b6")
+ version("3.8.2", sha256="d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f")
+ version("3.8.1", sha256="428ac8f3219c78fb04ce05895d5dff9bd813c05a9a7922c53dc879cd32a12493")
+ version("3.8.0", sha256="217e4797da3a9a4a9fbe6722e0db98070b8443a88212d7acdbd241a7668141d9")
+ version("3.3.0", sha256="7a8a6bd82e111976aeb06138316ab10847adf612925072eaff8512228bcf9a1f")
- depends_on('python@2.5:2.8,3.3:', type=('build', 'run'), when='@3.16.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.5:2.8,3.3:", type=("build", "run"), when="@3.16.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-simplekml/package.py b/var/spack/repos/builtin/packages/py-simplekml/package.py
index 3d45035a37..dbbbb03283 100644
--- a/var/spack/repos/builtin/packages/py-simplekml/package.py
+++ b/var/spack/repos/builtin/packages/py-simplekml/package.py
@@ -14,8 +14,8 @@ class PySimplekml(PythonPackage):
homepage = "https://readthedocs.org/projects/simplekml/"
pypi = "simplekml/simplekml-1.3.1.tar.gz"
- version('1.3.1', sha256='30c121368ce1d73405721730bf766721e580cae6fbb7424884c734c89ec62ad7')
+ version("1.3.1", sha256="30c121368ce1d73405721730bf766721e580cae6fbb7424884c734c89ec62ad7")
- depends_on('python@2.6:', type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-singledispatch/package.py b/var/spack/repos/builtin/packages/py-singledispatch/package.py
index 0492e72840..65cf696603 100644
--- a/var/spack/repos/builtin/packages/py-singledispatch/package.py
+++ b/var/spack/repos/builtin/packages/py-singledispatch/package.py
@@ -11,12 +11,12 @@ class PySingledispatch(PythonPackage):
pypi = "singledispatch/singledispatch-3.4.0.3.tar.gz"
- version('3.7.0', sha256='c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092')
- version('3.4.0.3', sha256='5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c')
+ version("3.7.0", sha256="c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092")
+ version("3.4.0.3", sha256="5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', type='build', when='@3.7:')
- depends_on('py-setuptools-scm@3.4.1: +toml', type='build', when='@3.7:')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-ordereddict', when="^python@:2.6", type=('build', 'run'))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", type="build", when="@3.7:")
+ depends_on("py-setuptools-scm@3.4.1: +toml", type="build", when="@3.7:")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-ordereddict", when="^python@:2.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sip/package.py b/var/spack/repos/builtin/packages/py-sip/package.py
index 9c091939fd..9dae8d9030 100644
--- a/var/spack/repos/builtin/packages/py-sip/package.py
+++ b/var/spack/repos/builtin/packages/py-sip/package.py
@@ -14,61 +14,68 @@ class PySip(PythonPackage):
homepage = "https://www.riverbankcomputing.com/software/sip"
pypi = "sip/sip-6.4.0.tar.gz"
- version('6.4.0', sha256='42ec368520b8da4a0987218510b1b520b4981e4405086c1be384733affc2bcb0')
- version('5.5.0', sha256='5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5')
- version('4.19.21', sha256='3bfd58e875a87471c00e008f25a01d8312885aa01efc4f688e5cac861c8676e4')
- version('4.19.20', sha256='475f85277a6601c406ade508b6c935b9f2a170c16fd3ae9dd4cdee7a4f7f340d')
- version('4.19.19', sha256='348cd6229b095a3090e851555814f5147bffcb601cec891f1038eb6b38c9d856')
- version('4.19.18', sha256='e274a8b9424047c094a40a8e70fc5e596c191cb8820472846d7bf739e461b2e8')
- version('4.19.15', sha256='02bff1ac89253e12cdf1406ad39f841d0e264b0d96a7de13dfe9e29740df2053')
- version('4.19.13', sha256='92193fcf990503bf29f03e290efc4ee1812d556efc18acf5c8b88c090177a630')
+ version("6.4.0", sha256="42ec368520b8da4a0987218510b1b520b4981e4405086c1be384733affc2bcb0")
+ version("5.5.0", sha256="5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5")
+ version("4.19.21", sha256="3bfd58e875a87471c00e008f25a01d8312885aa01efc4f688e5cac861c8676e4")
+ version("4.19.20", sha256="475f85277a6601c406ade508b6c935b9f2a170c16fd3ae9dd4cdee7a4f7f340d")
+ version("4.19.19", sha256="348cd6229b095a3090e851555814f5147bffcb601cec891f1038eb6b38c9d856")
+ version("4.19.18", sha256="e274a8b9424047c094a40a8e70fc5e596c191cb8820472846d7bf739e461b2e8")
+ version("4.19.15", sha256="02bff1ac89253e12cdf1406ad39f841d0e264b0d96a7de13dfe9e29740df2053")
+ version("4.19.13", sha256="92193fcf990503bf29f03e290efc4ee1812d556efc18acf5c8b88c090177a630")
- variant('module', default='sip', when='@:4', description='Name of private SIP module',
- values=str, multi=False)
+ variant(
+ "module",
+ default="sip",
+ when="@:4",
+ description="Name of private SIP module",
+ values=str,
+ multi=False,
+ )
- depends_on('python@3.6:', when='@6:', type=('build', 'run'))
+ depends_on("python@3.6:", when="@6:", type=("build", "run"))
- with when('@5:'):
- depends_on('python@3.5.1:', type=('build', 'run'))
- depends_on('py-packaging', type='build')
- depends_on('py-setuptools@30.3:', type='build')
- depends_on('py-toml', type='build')
+ with when("@5:"):
+ depends_on("python@3.5.1:", type=("build", "run"))
+ depends_on("py-packaging", type="build")
+ depends_on("py-setuptools@30.3:", type="build")
+ depends_on("py-toml", type="build")
- with when('@:4'):
- depends_on('flex', type='build')
- depends_on('bison', type='build')
+ with when("@:4"):
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
def url_for_version(self, version):
- if version < Version('5.0.0'):
- return "https://www.riverbankcomputing.com/hg/sip/archive/{0}.tar.gz".format(version.dotted)
+ if version < Version("5.0.0"):
+ return "https://www.riverbankcomputing.com/hg/sip/archive/{0}.tar.gz".format(
+ version.dotted
+ )
return super(PySip, self).url_for_version(version)
- @when('@:4')
+ @when("@:4")
def install(self, spec, prefix):
- if not os.path.exists('configure.py'):
- python('build.py', 'prepare')
+ if not os.path.exists("configure.py"):
+ python("build.py", "prepare")
args = [
- '--sip-module={0}'.format(spec.variants['module'].value),
- '--bindir={0}'.format(prefix.bin),
- '--destdir={0}'.format(python_platlib),
- '--incdir={0}'.format(join_path(
- prefix, spec['python'].package.include)),
- '--sipdir={0}'.format(prefix.share.sip),
- '--stubsdir={0}'.format(python_platlib),
+ "--sip-module={0}".format(spec.variants["module"].value),
+ "--bindir={0}".format(prefix.bin),
+ "--destdir={0}".format(python_platlib),
+ "--incdir={0}".format(join_path(prefix, spec["python"].package.include)),
+ "--sipdir={0}".format(prefix.share.sip),
+ "--stubsdir={0}".format(python_platlib),
]
- python('configure.py', *args)
+ python("configure.py", *args)
make()
- make('install')
+ make("install")
- @run_after('install')
+ @run_after("install")
def extend_path_setup(self):
- if self.spec.satisfies('@:4'):
+ if self.spec.satisfies("@:4"):
# See github issue #14121 and PR #15297
- module = self.spec.variants['module'].value
- if module != 'sip':
- module = module.split('.')[0]
+ module = self.spec.variants["module"].value
+ if module != "sip":
+ module = module.split(".")[0]
with working_dir(python_platlib):
- with open(os.path.join(module, '__init__.py'), 'w') as f:
- f.write('from pkgutil import extend_path\n')
- f.write('__path__ = extend_path(__path__, __name__)\n')
+ with open(os.path.join(module, "__init__.py"), "w") as f:
+ f.write("from pkgutil import extend_path\n")
+ f.write("__path__ = extend_path(__path__, __name__)\n")
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index a61a8cbeff..4c1939b7f5 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -11,15 +11,15 @@ class PySix(PythonPackage):
pypi = "six/six-1.11.0.tar.gz"
- version('1.16.0', sha256='1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926')
- version('1.15.0', sha256='30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259')
- version('1.14.0', sha256='236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a')
- version('1.12.0', sha256='d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73')
- version('1.11.0', sha256='70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9')
- version('1.10.0', sha256='105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a')
- version('1.9.0', sha256='e24052411fc4fbd1f672635537c3fc2330d9481b18c0317695b46259512c91d5')
- version('1.8.0', sha256='047bbbba41bac37c444c75ddfdf0573dd6e2f1fbd824e6247bb26fa7d8fa3830')
+ version("1.16.0", sha256="1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926")
+ version("1.15.0", sha256="30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259")
+ version("1.14.0", sha256="236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a")
+ version("1.12.0", sha256="d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73")
+ version("1.11.0", sha256="70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9")
+ version("1.10.0", sha256="105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a")
+ version("1.9.0", sha256="e24052411fc4fbd1f672635537c3fc2330d9481b18c0317695b46259512c91d5")
+ version("1.8.0", sha256="047bbbba41bac37c444c75ddfdf0573dd6e2f1fbd824e6247bb26fa7d8fa3830")
- extends('python', ignore=r'bin/pytest')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ extends("python", ignore=r"bin/pytest")
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-skl2onnx/package.py b/var/spack/repos/builtin/packages/py-skl2onnx/package.py
index 5d5a49ae2b..f14444a275 100644
--- a/var/spack/repos/builtin/packages/py-skl2onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-skl2onnx/package.py
@@ -10,14 +10,14 @@ class PySkl2onnx(PythonPackage):
"""Convert scikit-learn models to ONNX"""
homepage = "https://github.com/onnx/sklearn-onnx"
- pypi = "skl2onnx/skl2onnx-1.10.3.tar.gz"
+ pypi = "skl2onnx/skl2onnx-1.10.3.tar.gz"
- version('1.10.3', sha256='798933378145412b9876ab3ff2c1dd5f241a7296406d786262000afa8d329628')
+ version("1.10.3", sha256="798933378145412b9876ab3ff2c1dd5f241a7296406d786262000afa8d329628")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-scipy@1.0:', type=('build', 'run'))
- depends_on('py-protobuf', type=('build', 'run'))
- depends_on('py-onnx@1.2.1:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.19:', type=('build', 'run'))
- depends_on('py-onnxconverter-common@1.7.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-scipy@1.0:", type=("build", "run"))
+ depends_on("py-protobuf", type=("build", "run"))
+ depends_on("py-onnx@1.2.1:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.19:", type=("build", "run"))
+ depends_on("py-onnxconverter-common@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-slepc4py/package.py b/var/spack/repos/builtin/packages/py-slepc4py/package.py
index 060ed0dd34..b1d3e365f1 100644
--- a/var/spack/repos/builtin/packages/py-slepc4py/package.py
+++ b/var/spack/repos/builtin/packages/py-slepc4py/package.py
@@ -7,67 +7,67 @@ from spack.package import *
class PySlepc4py(PythonPackage):
- """This package provides Python bindings for the SLEPc package.
- """
+ """This package provides Python bindings for the SLEPc package."""
homepage = "https://gitlab.com/slepc/slepc4py"
- url = "https://slepc.upv.es/download/distrib/slepc4py-3.17.1.tar.gz"
- git = "https://gitlab.com/slepc/slepc.git"
+ url = "https://slepc.upv.es/download/distrib/slepc4py-3.17.1.tar.gz"
+ git = "https://gitlab.com/slepc/slepc.git"
- maintainers = ['joseeroman', 'balay']
+ maintainers = ["joseeroman", "balay"]
- version('main', branch='main')
- version('3.17.1', sha256='967d5d045526088ff5b7b2cde76f8b4d1fee3a2a68481f85224b0795e6613eb9')
- version('3.17.0', sha256='cab298eb794739579167fd60ff900db90476c4c93b4ae4e0204e989a6eeb3767')
- version('3.16.3', sha256='d97652efe60163d30c24eb1ef1b1ba98bb8239fd7452bdf8207c2505da48d77e')
- version('3.16.2', sha256='a3950b2d4876e8b7429cf5b7d0faed580a70bbd17735b0279aeda460a4a32e18')
- version('3.16.1', sha256='3ce93de975fa3966794efb09c315b6aff17e412197f99edb66bbfa71fc49093b')
- version('3.16.0', sha256='e18850ebccb1e7c59accfbdbe4d004402abbde7f4e1291b0d2c5b560b308fb88')
- version('3.15.2', sha256='c87135989c4d95b9c92a5b615a95eddc34b69dad9cc28b27d3cb7dfaec46177b')
- version('3.15.1', sha256='bcdab6d2101ae00e189f4b33072805358cee2dda806a6b6a8e3c2f1b9f619dfd')
- version('3.15.0', sha256='2f5f5cc25ab4dd3782046c65e97265b39be0cf9cc74c5c0100c3c580c3c32395')
- version('3.13.0', sha256='780eff0eea1a5217642d23cd563786ef22df27e1d772a1b0bb4ccc5701df5ea5')
- version('3.12.0', sha256='d8c06953b7d00f529a9a7fd016dfa8efdf1d05995baeea7688d1d59611f424f7')
- version('3.11.0', sha256='1e591056beee209f585cd781e5fe88174cd2a61215716a71d9eaaf9411b6a775')
- version('3.10.0', sha256='6494959f44280d3b80e73978d7a6bf656c9bb04bb3aa395c668c7a58948db1c6')
- version('3.9.0', sha256='84cab4216268c2cb7d01e7cdbb1204a3c3e13cdfcd7a78ea057095f96f68c3c0')
- version('3.8.0', sha256='988815b3650b69373be9abbf2355df512dfd200aa74b1785b50a484d6dfee971')
- version('3.7.0', sha256='139f8bb325dad00a0e8dbe5b3e054050c82547936c1b6e7812fb1a3171c9ad0b')
+ version("main", branch="main")
+ version("3.17.1", sha256="967d5d045526088ff5b7b2cde76f8b4d1fee3a2a68481f85224b0795e6613eb9")
+ version("3.17.0", sha256="cab298eb794739579167fd60ff900db90476c4c93b4ae4e0204e989a6eeb3767")
+ version("3.16.3", sha256="d97652efe60163d30c24eb1ef1b1ba98bb8239fd7452bdf8207c2505da48d77e")
+ version("3.16.2", sha256="a3950b2d4876e8b7429cf5b7d0faed580a70bbd17735b0279aeda460a4a32e18")
+ version("3.16.1", sha256="3ce93de975fa3966794efb09c315b6aff17e412197f99edb66bbfa71fc49093b")
+ version("3.16.0", sha256="e18850ebccb1e7c59accfbdbe4d004402abbde7f4e1291b0d2c5b560b308fb88")
+ version("3.15.2", sha256="c87135989c4d95b9c92a5b615a95eddc34b69dad9cc28b27d3cb7dfaec46177b")
+ version("3.15.1", sha256="bcdab6d2101ae00e189f4b33072805358cee2dda806a6b6a8e3c2f1b9f619dfd")
+ version("3.15.0", sha256="2f5f5cc25ab4dd3782046c65e97265b39be0cf9cc74c5c0100c3c580c3c32395")
+ version("3.13.0", sha256="780eff0eea1a5217642d23cd563786ef22df27e1d772a1b0bb4ccc5701df5ea5")
+ version("3.12.0", sha256="d8c06953b7d00f529a9a7fd016dfa8efdf1d05995baeea7688d1d59611f424f7")
+ version("3.11.0", sha256="1e591056beee209f585cd781e5fe88174cd2a61215716a71d9eaaf9411b6a775")
+ version("3.10.0", sha256="6494959f44280d3b80e73978d7a6bf656c9bb04bb3aa395c668c7a58948db1c6")
+ version("3.9.0", sha256="84cab4216268c2cb7d01e7cdbb1204a3c3e13cdfcd7a78ea057095f96f68c3c0")
+ version("3.8.0", sha256="988815b3650b69373be9abbf2355df512dfd200aa74b1785b50a484d6dfee971")
+ version("3.7.0", sha256="139f8bb325dad00a0e8dbe5b3e054050c82547936c1b6e7812fb1a3171c9ad0b")
- patch('ldshared.patch', when='@:99')
- patch('ldshared-dev.patch', when='@main')
+ patch("ldshared.patch", when="@:99")
+ patch("ldshared-dev.patch", when="@main")
- depends_on('py-cython', type='build', when='@main')
- depends_on('py-setuptools', type='build')
+ depends_on("py-cython", type="build", when="@main")
+ depends_on("py-setuptools", type="build")
- depends_on('py-petsc4py', type=('build', 'run'))
- depends_on('py-petsc4py@3.17.0:3.17', when='@3.17.0:3.17', type=('build', 'run'))
- depends_on('py-petsc4py@3.16.0:3.16', when='@3.16.0:3.16', type=('build', 'run'))
- depends_on('py-petsc4py@3.15.0:3.15', when='@3.15.0:3.15', type=('build', 'run'))
- depends_on('py-petsc4py@3.13.0:3.13', when='@3.13.0:3.13', type=('build', 'run'))
- depends_on('py-petsc4py@3.12.0:3.12', when='@3.12.0:3.12', type=('build', 'run'))
- depends_on('py-petsc4py@3.11.0:3.11', when='@3.11.0:3.11', type=('build', 'run'))
- depends_on('py-petsc4py@3.10.0:3.10', when='@3.10.0:3.10', type=('build', 'run'))
- depends_on('py-petsc4py@3.9.0:3.9', when='@3.9.0:3.9', type=('build', 'run'))
- depends_on('py-petsc4py@3.8.0:3.8', when='@3.8.0:3.8', type=('build', 'run'))
- depends_on('py-petsc4py@3.7.0:3.7', when='@3.7.0:3.7', type=('build', 'run'))
+ depends_on("py-petsc4py", type=("build", "run"))
+ depends_on("py-petsc4py@3.17.0:3.17", when="@3.17.0:3.17", type=("build", "run"))
+ depends_on("py-petsc4py@3.16.0:3.16", when="@3.16.0:3.16", type=("build", "run"))
+ depends_on("py-petsc4py@3.15.0:3.15", when="@3.15.0:3.15", type=("build", "run"))
+ depends_on("py-petsc4py@3.13.0:3.13", when="@3.13.0:3.13", type=("build", "run"))
+ depends_on("py-petsc4py@3.12.0:3.12", when="@3.12.0:3.12", type=("build", "run"))
+ depends_on("py-petsc4py@3.11.0:3.11", when="@3.11.0:3.11", type=("build", "run"))
+ depends_on("py-petsc4py@3.10.0:3.10", when="@3.10.0:3.10", type=("build", "run"))
+ depends_on("py-petsc4py@3.9.0:3.9", when="@3.9.0:3.9", type=("build", "run"))
+ depends_on("py-petsc4py@3.8.0:3.8", when="@3.8.0:3.8", type=("build", "run"))
+ depends_on("py-petsc4py@3.7.0:3.7", when="@3.7.0:3.7", type=("build", "run"))
- depends_on('slepc')
- depends_on('slepc@3.17.0:3.17', when='@3.17.0:3.17')
- depends_on('slepc@3.16.0:3.16', when='@3.16.0:3.16')
- depends_on('slepc@3.15.0:3.15', when='@3.15.0:3.15')
- depends_on('slepc@3.13.0:3.13', when='@3.13.0:3.13')
- depends_on('slepc@3.12.0:3.12', when='@3.12.0:3.12')
- depends_on('slepc@3.11.0:3.11', when='@3.11.0:3.11')
- depends_on('slepc@3.10.0:3.10', when='@3.10.0:3.10')
- depends_on('slepc@3.9.0:3.9', when='@3.9.0:3.9')
- depends_on('slepc@3.8.0:3.8', when='@3.8.0:3.8')
- depends_on('slepc@3.7.0:3.7', when='@3.7.0:3.7')
+ depends_on("slepc")
+ depends_on("slepc@3.17.0:3.17", when="@3.17.0:3.17")
+ depends_on("slepc@3.16.0:3.16", when="@3.16.0:3.16")
+ depends_on("slepc@3.15.0:3.15", when="@3.15.0:3.15")
+ depends_on("slepc@3.13.0:3.13", when="@3.13.0:3.13")
+ depends_on("slepc@3.12.0:3.12", when="@3.12.0:3.12")
+ depends_on("slepc@3.11.0:3.11", when="@3.11.0:3.11")
+ depends_on("slepc@3.10.0:3.10", when="@3.10.0:3.10")
+ depends_on("slepc@3.9.0:3.9", when="@3.9.0:3.9")
+ depends_on("slepc@3.8.0:3.8", when="@3.8.0:3.8")
+ depends_on("slepc@3.7.0:3.7", when="@3.7.0:3.7")
@property
def build_directory(self):
import os
- if self.spec.satisfies('@main'):
- return os.path.join(self.stage.source_path, 'src', 'binding', 'slepc4py')
+
+ if self.spec.satisfies("@main"):
+ return os.path.join(self.stage.source_path, "src", "binding", "slepc4py")
else:
return self.stage.source_path
diff --git a/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py b/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
index d2f8ed812d..8490d8de81 100644
--- a/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
+++ b/var/spack/repos/builtin/packages/py-slurm-pipeline/package.py
@@ -12,13 +12,13 @@ class PySlurmPipeline(PythonPackage):
homepage = "https://github.com/acorg/slurm-pipeline"
pypi = "slurm-pipeline/slurm-pipeline-1.1.13.tar.gz"
- version('4.0.4', sha256='5496e46edb890ef745231b4d05b8dfd194374b3fe2c6b33da43cda9685f145c8')
- version('3.0.2', sha256='28e07eb93e846b395a16e6778fd3fc8344a82d115a6a8420276ec68f67f7131c')
- version('2.0.9', sha256='2360e43965ecfa3701f287b7d597c99b4accd4dc8faf9d55cfdcc2228c4054cc')
- version('1.1.13', sha256='6d6ca2e96a16780fd9520957166afd06272c57abd962e76bfe74c4d394b38da1')
+ version("4.0.4", sha256="5496e46edb890ef745231b4d05b8dfd194374b3fe2c6b33da43cda9685f145c8")
+ version("3.0.2", sha256="28e07eb93e846b395a16e6778fd3fc8344a82d115a6a8420276ec68f67f7131c")
+ version("2.0.9", sha256="2360e43965ecfa3701f287b7d597c99b4accd4dc8faf9d55cfdcc2228c4054cc")
+ version("1.1.13", sha256="6d6ca2e96a16780fd9520957166afd06272c57abd962e76bfe74c4d394b38da1")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# listed in install_requires:
- depends_on('py-pytest@6.2.2:', type='build')
+ depends_on("py-pytest@6.2.2:", type="build")
# Before 4.0.0, slurm_pipeline/base.py has: from six import string_types
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@:3')
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@:3")
diff --git a/var/spack/repos/builtin/packages/py-smac/package.py b/var/spack/repos/builtin/packages/py-smac/package.py
index ae993b3790..023a8c9869 100644
--- a/var/spack/repos/builtin/packages/py-smac/package.py
+++ b/var/spack/repos/builtin/packages/py-smac/package.py
@@ -13,20 +13,20 @@ class PySmac(PythonPackage):
algorithms."""
homepage = "https://automl.github.io/SMAC3/master/"
- pypi = "smac/smac-1.1.1.tar.gz"
+ pypi = "smac/smac-1.1.1.tar.gz"
- version('1.1.1', sha256='7b8c14c53384b32feb357b9f918a9b023cb01cbda2033e69125dee69ec0bd5b1')
+ version("1.1.1", sha256="7b8c14c53384b32feb357b9f918a9b023cb01cbda2033e69125dee69ec0bd5b1")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.7.1:', type=('build', 'run'))
- depends_on('py-scipy@1.7.0:', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-pynisher@0.4.1:', type=('build', 'run'))
- depends_on('py-configspace@0.4.14:0.4', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-scikit-learn@0.22.0:', type=('build', 'run'))
- depends_on('py-pyrfr@0.8.0:', type=('build', 'run'))
- depends_on('py-dask', type=('build', 'run'))
- depends_on('py-distributed', type=('build', 'run'))
- depends_on('py-emcee@3.0.0:', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.7.1:", type=("build", "run"))
+ depends_on("py-scipy@1.7.0:", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-pynisher@0.4.1:", type=("build", "run"))
+ depends_on("py-configspace@0.4.14:0.4", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-scikit-learn@0.22.0:", type=("build", "run"))
+ depends_on("py-pyrfr@0.8.0:", type=("build", "run"))
+ depends_on("py-dask", type=("build", "run"))
+ depends_on("py-distributed", type=("build", "run"))
+ depends_on("py-emcee@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-smart-open/package.py b/var/spack/repos/builtin/packages/py-smart-open/package.py
index 43314e893f..0922b1425f 100644
--- a/var/spack/repos/builtin/packages/py-smart-open/package.py
+++ b/var/spack/repos/builtin/packages/py-smart-open/package.py
@@ -8,53 +8,45 @@ from spack.package import *
class PySmartOpen(PythonPackage):
"""smart_open is a Python 2 & Python 3 library for efficient streaming of
- very large files from/to S3, HDFS, WebHDFS, HTTP, or local storage. It
- supports transparent, on-the-fly (de-)compression for a variety of
- different formats."""
+ very large files from/to S3, HDFS, WebHDFS, HTTP, or local storage. It
+ supports transparent, on-the-fly (de-)compression for a variety of
+ different formats."""
homepage = "https://github.com/piskvorky/smart_open"
pypi = "smart_open/smart_open-5.2.1.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('5.2.1', sha256='75abf758717a92a8f53aa96953f0c245c8cedf8e1e4184903db3659b419d4c17')
- version('1.10.0', sha256='bea5624c0c2e49987c227bdf3596573157eccd96fd1d53198856c8d53948fa2c')
- version('1.8.4', sha256='788e07f035defcbb62e3c1e313329a70b0976f4f65406ee767db73ad5d2d04f9')
+ version("5.2.1", sha256="75abf758717a92a8f53aa96953f0c245c8cedf8e1e4184903db3659b419d4c17")
+ version("1.10.0", sha256="bea5624c0c2e49987c227bdf3596573157eccd96fd1d53198856c8d53948fa2c")
+ version("1.8.4", sha256="788e07f035defcbb62e3c1e313329a70b0976f4f65406ee767db73ad5d2d04f9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- with when('@5:'):
- depends_on('python@3.6:3', type=('build', 'run'))
+ with when("@5:"):
+ depends_on("python@3.6:3", type=("build", "run"))
# google cloud support
- variant(
- 'gcs', default=False, description='Adds Google Cloud support'
- )
- depends_on('py-google-cloud-storage', when='+gcs', type=('build', 'run'))
+ variant("gcs", default=False, description="Adds Google Cloud support")
+ depends_on("py-google-cloud-storage", when="+gcs", type=("build", "run"))
# aws support
- variant(
- 's3', default=False, description='Adds AWS S3 support'
- )
- depends_on('py-boto3', when='+s3', type=('build', 'run'))
+ variant("s3", default=False, description="Adds AWS S3 support")
+ depends_on("py-boto3", when="+s3", type=("build", "run"))
# http support
- variant(
- 'http', default=True, description='Adds http and webhdfs support'
- )
- depends_on('py-requests', when='+http', type=('build', 'run'))
+ variant("http", default=True, description="Adds http and webhdfs support")
+ depends_on("py-requests", when="+http", type=("build", "run"))
# azure support
- variant(
- 'azure', default=False, description='Adds Microsoft Azure Support'
- )
- with when('+azure'):
- depends_on('py-azure-storage-blob', type=('build', 'run'))
- depends_on('py-azure-common', type=('build', 'run'))
- depends_on('py-azure-core', type=('build', 'run'))
-
- with when('@:2'):
- depends_on('py-bz2file', when='^python@:2', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-boto3', type=('build', 'run'))
- depends_on('py-boto@2.3.2:', when='@1.8.4', type=('build', 'run'))
- depends_on('py-google-cloud-storage', when='@1.10:', type=('build', 'run'))
+ variant("azure", default=False, description="Adds Microsoft Azure Support")
+ with when("+azure"):
+ depends_on("py-azure-storage-blob", type=("build", "run"))
+ depends_on("py-azure-common", type=("build", "run"))
+ depends_on("py-azure-core", type=("build", "run"))
+
+ with when("@:2"):
+ depends_on("py-bz2file", when="^python@:2", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-boto3", type=("build", "run"))
+ depends_on("py-boto@2.3.2:", when="@1.8.4", type=("build", "run"))
+ depends_on("py-google-cloud-storage", when="@1.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-smartypants/package.py b/var/spack/repos/builtin/packages/py-smartypants/package.py
index 82df812874..7fd44e1e45 100644
--- a/var/spack/repos/builtin/packages/py-smartypants/package.py
+++ b/var/spack/repos/builtin/packages/py-smartypants/package.py
@@ -12,8 +12,8 @@ class PySmartypants(PythonPackage):
homepage = "https://github.com/leohemsted/smartypants.py"
# PyPI only has the wheel
- url = "https://github.com/leohemsted/smartypants.py/archive/refs/tags/v2.0.1.tar.gz"
+ url = "https://github.com/leohemsted/smartypants.py/archive/refs/tags/v2.0.1.tar.gz"
- version('2.0.1', sha256='b98191911ff3b4144ef8ad53e776a2d0ad24bd508a905c6ce523597c40022773')
+ version("2.0.1", sha256="b98191911ff3b4144ef8ad53e776a2d0ad24bd508a905c6ce523597c40022773")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-smmap/package.py b/var/spack/repos/builtin/packages/py-smmap/package.py
index c62f4361b2..1bb9755bad 100644
--- a/var/spack/repos/builtin/packages/py-smmap/package.py
+++ b/var/spack/repos/builtin/packages/py-smmap/package.py
@@ -14,7 +14,7 @@ class PySmmap(PythonPackage):
homepage = "https://github.com/gitpython-developers/smmap"
pypi = "smmap/smmap-3.0.4.tar.gz"
- version('3.0.4', sha256='9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24')
+ version("3.0.4", sha256="9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snappy/package.py b/var/spack/repos/builtin/packages/py-snappy/package.py
index 20984d931c..51d225d316 100644
--- a/var/spack/repos/builtin/packages/py-snappy/package.py
+++ b/var/spack/repos/builtin/packages/py-snappy/package.py
@@ -10,11 +10,13 @@ class PySnappy(PythonPackage):
"""A pure python implementation of the Snappy compression algorithm."""
homepage = "https://github.com/ethereum/py-snappy"
- url = "https://github.com/ethereum/py-snappy/archive/v0.1.0-alpha.1.tar.gz"
+ url = "https://github.com/ethereum/py-snappy/archive/v0.1.0-alpha.1.tar.gz"
- version('0.1.0-alpha.1', sha256='f94c5bfc0b2bb42f7d442f0d84c9ffd9aa92876632d415612f25bafa61ddcfc4')
+ version(
+ "0.1.0-alpha.1", sha256="f94c5bfc0b2bb42f7d442f0d84c9ffd9aa92876632d415612f25bafa61ddcfc4"
+ )
- patch('req.patch')
+ patch("req.patch")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sncosmo/package.py b/var/spack/repos/builtin/packages/py-sncosmo/package.py
index b281004b49..3569079a58 100644
--- a/var/spack/repos/builtin/packages/py-sncosmo/package.py
+++ b/var/spack/repos/builtin/packages/py-sncosmo/package.py
@@ -13,18 +13,18 @@ class PySncosmo(PythonPackage):
homepage = "https://sncosmo.readthedocs.io/"
pypi = "sncosmo/sncosmo-1.2.0.tar.gz"
- version('1.2.0', sha256='f3969eec5b25f60c70418dbd64765a2b4735bb53c210c61d0aab68916daea588')
+ version("1.2.0", sha256="f3969eec5b25f60c70418dbd64765a2b4735bb53c210c61d0aab68916daea588")
# Required dependencies
# py-sncosmo binaries are duplicates of those from py-astropy
- extends('python', ignore=r'bin/.*')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-astropy', type=('build', 'run'))
+ extends("python", ignore=r"bin/.*")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-astropy", type=("build", "run"))
# Recommended dependencies
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-iminuit', type=('build', 'run'))
- depends_on('py-emcee', type=('build', 'run'))
- depends_on('py-nestle', type=('build', 'run'))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-iminuit", type=("build", "run"))
+ depends_on("py-emcee", type=("build", "run"))
+ depends_on("py-nestle", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sniffio/package.py b/var/spack/repos/builtin/packages/py-sniffio/package.py
index d1286a90d3..19aab104d2 100644
--- a/var/spack/repos/builtin/packages/py-sniffio/package.py
+++ b/var/spack/repos/builtin/packages/py-sniffio/package.py
@@ -13,9 +13,9 @@ class PySniffio(PythonPackage):
homepage = "https://github.com/python-trio/sniffio"
pypi = "sniffio/sniffio-1.1.0.tar.gz"
- version('1.2.0', sha256='c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de')
- version('1.1.0', sha256='8e3810100f69fe0edd463d02ad407112542a11ffdc29f67db2bf3771afb87a21')
+ version("1.2.0", sha256="c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de")
+ version("1.1.0", sha256="8e3810100f69fe0edd463d02ad407112542a11ffdc29f67db2bf3771afb87a21")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-contextvars@2.1:', when='^python@:3.6', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-contextvars@2.1:", when="^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
index 293d62c07c..727ceda14c 100644
--- a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
+++ b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
@@ -13,7 +13,7 @@ class PySnowballstemmer(PythonPackage):
homepage = "https://github.com/shibukawa/snowball_py"
pypi = "snowballstemmer/snowballstemmer-2.0.0.tar.gz"
- version('2.0.0', sha256='df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52')
- version('1.2.1', sha256='919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128')
+ version("2.0.0", sha256="df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52")
+ version("1.2.1", sha256="919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-snuggs/package.py b/var/spack/repos/builtin/packages/py-snuggs/package.py
index 75edda3e00..74b3daf754 100644
--- a/var/spack/repos/builtin/packages/py-snuggs/package.py
+++ b/var/spack/repos/builtin/packages/py-snuggs/package.py
@@ -10,11 +10,11 @@ class PySnuggs(PythonPackage):
"""Snuggs are s-expressions for Numpy"""
homepage = "https://github.com/mapbox/snuggs"
- url = "https://github.com/mapbox/snuggs/archive/1.4.1.zip"
+ url = "https://github.com/mapbox/snuggs/archive/1.4.1.zip"
- version('1.4.1', sha256='b37ed4e11c5f372695dc6fe66fce6cede124c90a920fe4726c970c9293b71233')
+ version("1.4.1", sha256="b37ed4e11c5f372695dc6fe66fce6cede124c90a920fe4726c970c9293b71233")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-pyparsing", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sobol-seq/package.py b/var/spack/repos/builtin/packages/py-sobol-seq/package.py
index b149576ee9..b1913d3ad3 100644
--- a/var/spack/repos/builtin/packages/py-sobol-seq/package.py
+++ b/var/spack/repos/builtin/packages/py-sobol-seq/package.py
@@ -10,10 +10,10 @@ class PySobolSeq(PythonPackage):
"""Sobol sequence implementation in python"""
homepage = "https://github.com/naught101/sobol_seq"
- pypi = "sobol_seq/sobol_seq-0.2.0.tar.gz"
+ pypi = "sobol_seq/sobol_seq-0.2.0.tar.gz"
- version('0.2.0', sha256='e16e701bd7b03ec6ce65b3a64c9205799f6a2d00c2054dd8c4ff4343f3981172')
+ version("0.2.0", sha256="e16e701bd7b03ec6ce65b3a64c9205799f6a2d00c2054dd8c4ff4343f3981172")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sonlib/package.py b/var/spack/repos/builtin/packages/py-sonlib/package.py
index 2922b0889a..ec601b3615 100644
--- a/var/spack/repos/builtin/packages/py-sonlib/package.py
+++ b/var/spack/repos/builtin/packages/py-sonlib/package.py
@@ -19,10 +19,10 @@ class PySonlib(PythonPackage):
# to fix the code at one point in time (1st April)
homepage = "https://github.com/ComparativeGenomicsToolkit/sonLib"
- url = "https://github.com/ComparativeGenomicsToolkit/sonLib"
- git = "https://github.com/ComparativeGenomicsToolkit/sonLib.git"
+ url = "https://github.com/ComparativeGenomicsToolkit/sonLib"
+ git = "https://github.com/ComparativeGenomicsToolkit/sonLib.git"
- version('devel', branch='master')
- version('20200401', commit='7ebe2ede05a6ee366d93a7a993db69a99943a68f')
+ version("devel", branch="master")
+ version("20200401", commit="7ebe2ede05a6ee366d93a7a993db69a99943a68f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sortedcollections/package.py b/var/spack/repos/builtin/packages/py-sortedcollections/package.py
index 377ad21716..0f5051e18c 100644
--- a/var/spack/repos/builtin/packages/py-sortedcollections/package.py
+++ b/var/spack/repos/builtin/packages/py-sortedcollections/package.py
@@ -11,9 +11,9 @@ class PySortedcollections(PythonPackage):
"""Sorted Collections is an Apache2 licensed Python sorted collections library."""
homepage = "http://www.grantjenks.com/docs/sortedcollections/"
- pypi = "sortedcollections/sortedcollections-1.2.1.tar.gz"
+ pypi = "sortedcollections/sortedcollections-1.2.1.tar.gz"
- version('1.2.1', sha256='58c31f35e3d052ada6a1fbfc235a408e9ec5e2cfc64a02731cf97cac4afd306a')
+ version("1.2.1", sha256="58c31f35e3d052ada6a1fbfc235a408e9ec5e2cfc64a02731cf97cac4afd306a")
- depends_on('py-setuptools', type='build')
- depends_on('py-sortedcontainers', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sortedcontainers", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sortedcontainers/package.py b/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
index d0e14b97db..4080266978 100644
--- a/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
+++ b/var/spack/repos/builtin/packages/py-sortedcontainers/package.py
@@ -13,6 +13,6 @@ class PySortedcontainers(PythonPackage):
homepage = "http://www.grantjenks.com/docs/sortedcontainers/"
pypi = "sortedcontainers/sortedcontainers-2.1.0.tar.gz"
- version('2.1.0', sha256='974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a')
+ version("2.1.0", sha256="974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-soundfile/package.py b/var/spack/repos/builtin/packages/py-soundfile/package.py
index 9e8baeb636..45ea317f10 100644
--- a/var/spack/repos/builtin/packages/py-soundfile/package.py
+++ b/var/spack/repos/builtin/packages/py-soundfile/package.py
@@ -12,12 +12,13 @@ class PySoundfile(PythonPackage):
homepage = "https://github.com/bastibe/PySoundFile"
pypi = "SoundFile/SoundFile-0.10.3.post1.tar.gz"
- version('0.10.3.post1', sha256='490cff42650733d1832728b937fe99fa1802896f5ef4d61bcf78cf7ebecb107b')
+ version(
+ "0.10.3.post1", sha256="490cff42650733d1832728b937fe99fa1802896f5ef4d61bcf78cf7ebecb107b"
+ )
- variant('numpy', default=True,
- description='Support for processing audio data as numpy arrays')
+ variant("numpy", default=True, description="Support for processing audio data as numpy arrays")
- depends_on('py-setuptools', type='build')
- depends_on('py-cffi@1.0:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'), when='+numpy')
- depends_on('libsndfile', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cffi@1.0:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"), when="+numpy")
+ depends_on("libsndfile", type="run")
diff --git a/var/spack/repos/builtin/packages/py-soupsieve/package.py b/var/spack/repos/builtin/packages/py-soupsieve/package.py
index 3e25a7f6ae..2642682c7c 100644
--- a/var/spack/repos/builtin/packages/py-soupsieve/package.py
+++ b/var/spack/repos/builtin/packages/py-soupsieve/package.py
@@ -12,11 +12,11 @@ class PySoupsieve(PythonPackage):
homepage = "https://github.com/facelessuser/soupsieve"
pypi = "soupsieve/soupsieve-1.9.3.tar.gz"
- version('2.2.1', sha256='052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc')
- version('1.9.6', sha256='7985bacc98c34923a439967c1a602dc4f1e15f923b6fcf02344184f86cc7efaa')
- version('1.9.3', sha256='8662843366b8d8779dec4e2f921bebec9afd856a5ff2e82cd419acc5054a1a92')
+ version("2.2.1", sha256="052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc")
+ version("1.9.6", sha256="7985bacc98c34923a439967c1a602dc4f1e15f923b6fcf02344184f86cc7efaa")
+ version("1.9.3", sha256="8662843366b8d8779dec4e2f921bebec9afd856a5ff2e82cd419acc5054a1a92")
- depends_on('python@3.6:', when='@2.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', when='@2.2:', type='build')
- depends_on('py-backports-functools-lru-cache', when='^python@:2', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", when="@2.2:", type="build")
+ depends_on("py-backports-functools-lru-cache", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spacy-models-en-core-web-sm/package.py b/var/spack/repos/builtin/packages/py-spacy-models-en-core-web-sm/package.py
index 912d1a7337..4ccbf03e68 100644
--- a/var/spack/repos/builtin/packages/py-spacy-models-en-core-web-sm/package.py
+++ b/var/spack/repos/builtin/packages/py-spacy-models-en-core-web-sm/package.py
@@ -12,11 +12,11 @@ class PySpacyModelsEnCoreWebSm(PythonPackage):
token vectors, POS tags, dependency parse and named entities."""
homepage = "https://spacy.io/models/en#en_core_web_sm"
- url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.1/en_core_web_sm-2.3.1.tar.gz"
+ url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.1/en_core_web_sm-2.3.1.tar.gz"
- version('2.3.1', sha256='06c80936324012d1223291d2af41a5229e746dc2dee8fe31a532666ee3d18aaa')
- version('2.2.5', sha256='60b69065c97fd2e4972c33300205e1dead3501d2e0bfd6a182c3a033e337caee')
+ version("2.3.1", sha256="06c80936324012d1223291d2af41a5229e746dc2dee8fe31a532666ee3d18aaa")
+ version("2.2.5", sha256="60b69065c97fd2e4972c33300205e1dead3501d2e0bfd6a182c3a033e337caee")
- depends_on('py-setuptools', type='build')
- depends_on('py-spacy@2.2.2:', type=('build', 'run'), when='@:2.2.5')
- depends_on('py-spacy@2.3.0:2.3', type=('build', 'run'), when='@2.3.1:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-spacy@2.2.2:", type=("build", "run"), when="@:2.2.5")
+ depends_on("py-spacy@2.3.0:2.3", type=("build", "run"), when="@2.3.1:")
diff --git a/var/spack/repos/builtin/packages/py-spacy-models-en-vectors-web-lg/package.py b/var/spack/repos/builtin/packages/py-spacy-models-en-vectors-web-lg/package.py
index 33490bd4a8..66e26a0ce9 100644
--- a/var/spack/repos/builtin/packages/py-spacy-models-en-vectors-web-lg/package.py
+++ b/var/spack/repos/builtin/packages/py-spacy-models-en-vectors-web-lg/package.py
@@ -11,9 +11,9 @@ class PySpacyModelsEnVectorsWebLg(PythonPackage):
"""1.2m 300d vectors trained on Common Crawl with GloVe"""
homepage = "https://spacy.io/models/en-starters#en_vectors_web_lg"
- url = "https://github.com/explosion/spacy-models/releases/download/en_vectors_web_lg-2.3.0/en_vectors_web_lg-2.3.0.tar.gz"
+ url = "https://github.com/explosion/spacy-models/releases/download/en_vectors_web_lg-2.3.0/en_vectors_web_lg-2.3.0.tar.gz"
- version('2.3.0', sha256='839c177a604cd916e10700b43f7c80ca67fff1f3b5961847ef6c01c8b308e08d')
+ version("2.3.0", sha256="839c177a604cd916e10700b43f7c80ca67fff1f3b5961847ef6c01c8b308e08d")
- depends_on('py-setuptools', type='build')
- depends_on('py-spacy@2.3.0:2.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-spacy@2.3.0:2.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spacy/package.py b/var/spack/repos/builtin/packages/py-spacy/package.py
index 8299e6bd74..746f00aa4a 100644
--- a/var/spack/repos/builtin/packages/py-spacy/package.py
+++ b/var/spack/repos/builtin/packages/py-spacy/package.py
@@ -14,27 +14,27 @@ class PySpacy(PythonPackage):
homepage = "https://spacy.io/"
pypi = "spacy/spacy-2.3.2.tar.gz"
- version('2.3.7', sha256='c0f2315fea23497662e28212f89af3a03667f97c867c597b599c37ab84092e22')
- version('2.3.2', sha256='818de26e0e383f64ccbe3db185574920de05923d8deac8bbb12113b9e33cee1f')
- version('2.2.4', sha256='f0f3a67c5841e6e35d62c98f40ebb3d132587d3aba4f4dccac5056c4e90ff5b9')
+ version("2.3.7", sha256="c0f2315fea23497662e28212f89af3a03667f97c867c597b599c37ab84092e22")
+ version("2.3.2", sha256="818de26e0e383f64ccbe3db185574920de05923d8deac8bbb12113b9e33cee1f")
+ version("2.2.4", sha256="f0f3a67c5841e6e35d62c98f40ebb3d132587d3aba4f4dccac5056c4e90ff5b9")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@2.2.4:2.2')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@2.3.0:')
- depends_on('py-cython@0.25:', type='build')
- depends_on('py-cymem@2.0.2:2.0', type=('build', 'run'))
- depends_on('py-preshed@3.0.2:3.0', type=('build', 'run'))
- depends_on('py-murmurhash@0.28:1.0', type=('build', 'run'))
- depends_on('py-thinc@7.4.0', type=('build', 'run'), when='@2.2.4:2.2')
- depends_on('py-thinc@7.4.1', type=('build', 'run'), when='@2.3.0:')
- depends_on('py-thinc@7.4.1:7.4', type=('build', 'run'), when='@2.3.7:')
- depends_on('py-blis@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-blis@0.4.0:0.7', type=('build', 'run'), when='@2.3.7:')
- depends_on('py-wasabi@0.4.0:1.0', type=('build', 'run'))
- depends_on('py-srsly@1.0.2:1.0', type=('build', 'run'))
- depends_on('py-catalogue@0.0.7:1.0', type=('build', 'run'))
- depends_on('py-tqdm@4.38:4', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-plac@0.9.6:1.1', type=('build', 'run'))
- depends_on('py-requests@2.13:2', type=('build', 'run'))
- depends_on('py-pathlib@1.0.1', when='^python@:3.3', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@2.2.4:2.2")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@2.3.0:")
+ depends_on("py-cython@0.25:", type="build")
+ depends_on("py-cymem@2.0.2:2.0", type=("build", "run"))
+ depends_on("py-preshed@3.0.2:3.0", type=("build", "run"))
+ depends_on("py-murmurhash@0.28:1.0", type=("build", "run"))
+ depends_on("py-thinc@7.4.0", type=("build", "run"), when="@2.2.4:2.2")
+ depends_on("py-thinc@7.4.1", type=("build", "run"), when="@2.3.0:")
+ depends_on("py-thinc@7.4.1:7.4", type=("build", "run"), when="@2.3.7:")
+ depends_on("py-blis@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-blis@0.4.0:0.7", type=("build", "run"), when="@2.3.7:")
+ depends_on("py-wasabi@0.4.0:1.0", type=("build", "run"))
+ depends_on("py-srsly@1.0.2:1.0", type=("build", "run"))
+ depends_on("py-catalogue@0.0.7:1.0", type=("build", "run"))
+ depends_on("py-tqdm@4.38:4", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-plac@0.9.6:1.1", type=("build", "run"))
+ depends_on("py-requests@2.13:2", type=("build", "run"))
+ depends_on("py-pathlib@1.0.1", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sparse/package.py b/var/spack/repos/builtin/packages/py-sparse/package.py
index 51f90f6ad5..7b4533d670 100644
--- a/var/spack/repos/builtin/packages/py-sparse/package.py
+++ b/var/spack/repos/builtin/packages/py-sparse/package.py
@@ -10,12 +10,12 @@ class PySparse(PythonPackage):
"""This library provides multi-dimensional sparse arrays."""
homepage = "https://sparse.pydata.org"
- url = "https://github.com/pydata/sparse/archive/0.11.2.tar.gz"
+ url = "https://github.com/pydata/sparse/archive/0.11.2.tar.gz"
- version('0.11.2', sha256='365b6f038c4d331b3913e5fb00f5bc5dc5eadc49ef2feef332214f9bf33dbc82')
+ version("0.11.2", sha256="365b6f038c4d331b3913e5fb00f5bc5dc5eadc49ef2feef332214f9bf33dbc82")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy@0.19:', type=('build', 'run'))
- depends_on('py-numba@0.49:', type=('build', 'run'))
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy@0.19:", type=("build", "run"))
+ depends_on("py-numba@0.49:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spatialist/package.py b/var/spack/repos/builtin/packages/py-spatialist/package.py
index 0b0a975e1f..1d55307a14 100644
--- a/var/spack/repos/builtin/packages/py-spatialist/package.py
+++ b/var/spack/repos/builtin/packages/py-spatialist/package.py
@@ -14,22 +14,22 @@ class PySpatialist(PythonPackage):
homepage = "https://github.com/johntruckenbrodt/spatialist"
pypi = "spatialist/spatialist-0.4.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.4', sha256='153b118022c06ad2d1d51fb6cd9ecbfc8020bc1995b643ec7fa689a8c5dde7e9')
- version('0.2.8', sha256='97de7f9c0fbf28497ef28970bdf8093a152e691a783e7edad22998cb235154c6')
-
- depends_on('python@2.7.9:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-progressbar2', type=('build', 'run'))
- depends_on('py-jupyter', type=('build', 'run'))
- depends_on('py-ipython', type=('build', 'run'))
- depends_on('py-ipywidgets', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-prompt-toolkit@2.0.10:2.0', type=('build', 'run'))
- depends_on('py-pathos@0.2:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scoop', type=('build', 'run'))
- depends_on('py-tblib', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version("0.4", sha256="153b118022c06ad2d1d51fb6cd9ecbfc8020bc1995b643ec7fa689a8c5dde7e9")
+ version("0.2.8", sha256="97de7f9c0fbf28497ef28970bdf8093a152e691a783e7edad22998cb235154c6")
+
+ depends_on("python@2.7.9:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-progressbar2", type=("build", "run"))
+ depends_on("py-jupyter", type=("build", "run"))
+ depends_on("py-ipython", type=("build", "run"))
+ depends_on("py-ipywidgets", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-prompt-toolkit@2.0.10:2.0", type=("build", "run"))
+ depends_on("py-pathos@0.2:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scoop", type=("build", "run"))
+ depends_on("py-tblib", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spatialite/package.py b/var/spack/repos/builtin/packages/py-spatialite/package.py
index 93ddbda30c..1793a56da7 100644
--- a/var/spack/repos/builtin/packages/py-spatialite/package.py
+++ b/var/spack/repos/builtin/packages/py-spatialite/package.py
@@ -14,7 +14,7 @@ class PySpatialite(PythonPackage):
homepage = "https://github.com/malexer/spatialite"
pypi = "spatialite/spatialite-0.0.3.tar.gz"
- version('0.0.3', sha256='a0761f239a52f326b14ce41ba61b6614dfcc808b978a0bec4a37c1de9ad9071e')
+ version("0.0.3", sha256="a0761f239a52f326b14ce41ba61b6614dfcc808b978a0bec4a37c1de9ad9071e")
- depends_on('py-setuptools', type='build')
- depends_on('libspatialite')
+ depends_on("py-setuptools", type="build")
+ depends_on("libspatialite")
diff --git a/var/spack/repos/builtin/packages/py-spdlog/package.py b/var/spack/repos/builtin/packages/py-spdlog/package.py
index 779f28d2eb..018c902862 100644
--- a/var/spack/repos/builtin/packages/py-spdlog/package.py
+++ b/var/spack/repos/builtin/packages/py-spdlog/package.py
@@ -10,18 +10,18 @@ class PySpdlog(PythonPackage):
"""The py-spdlog package provides a Python wrapper
to the C++ spdlog library."""
- homepage = 'https://github.com/bodgergely/spdlog-python'
- pypi = 'spdlog/spdlog-2.0.0.tar.gz'
- git = 'https://github.com/bodgergely/spdlog-python.git'
+ homepage = "https://github.com/bodgergely/spdlog-python"
+ pypi = "spdlog/spdlog-2.0.0.tar.gz"
+ git = "https://github.com/bodgergely/spdlog-python.git"
# NOTE: Righ now py-spdlog works with a git submodule containing a copy
# of spdlog. Ideally we would want to install spdlog ourselves and make
# this package depend on it. There is an issue for that on the py-spdlog
# github repository: https://github.com/bodgergely/spdlog-python/issues/19
- version('master', branch='master', submodules=True)
- version('2.0.0', sha256='b8d3732839850da414a47e91547ee1246f0690cb83f43f11a1fbaec40b7b968c')
+ version("master", branch="master", submodules=True)
+ version("2.0.0", sha256="b8d3732839850da414a47e91547ee1246f0690cb83f43f11a1fbaec40b7b968c")
- depends_on('py-pybind11@2.2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
+ depends_on("py-pybind11@2.2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
diff --git a/var/spack/repos/builtin/packages/py-spectra/package.py b/var/spack/repos/builtin/packages/py-spectra/package.py
index 78adbbf833..105e96c576 100644
--- a/var/spack/repos/builtin/packages/py-spectra/package.py
+++ b/var/spack/repos/builtin/packages/py-spectra/package.py
@@ -11,9 +11,9 @@ class PySpectra(PythonPackage):
pypi = "spectra/spectra-0.0.8.tar.gz"
- version('0.0.11', sha256='8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8')
- version('0.0.8', sha256='851b88c9c0bba84e0be1fce5b9c02a7b4ef139a2b3e590b0d082d679e19f0759')
+ version("0.0.11", sha256="8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8")
+ version("0.0.8", sha256="851b88c9c0bba84e0be1fce5b9c02a7b4ef139a2b3e590b0d082d679e19f0759")
- depends_on('py-setuptools', type='build')
- depends_on('py-colormath', type=('build', 'run'))
- depends_on('py-colormath@3.0.0:', type=('build', 'run'), when='@0.0.11:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-colormath", type=("build", "run"))
+ depends_on("py-colormath@3.0.0:", type=("build", "run"), when="@0.0.11:")
diff --git a/var/spack/repos/builtin/packages/py-spectral/package.py b/var/spack/repos/builtin/packages/py-spectral/package.py
index 020fc7426d..062c08b0cb 100644
--- a/var/spack/repos/builtin/packages/py-spectral/package.py
+++ b/var/spack/repos/builtin/packages/py-spectral/package.py
@@ -14,9 +14,9 @@ class PySpectral(PythonPackage):
License."""
homepage = "http://www.spectralpython.net/"
- pypi = "spectral/spectral-0.22.4.tar.gz"
+ pypi = "spectral/spectral-0.22.4.tar.gz"
- version('0.22.4', sha256='b208ffd1042e32fd2276a35e098e3df26a5f6ff1310b829e97d222c66645a9af')
+ version("0.22.4", sha256="b208ffd1042e32fd2276a35e098e3df26a5f6ff1310b829e97d222c66645a9af")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-speech-recognition/package.py b/var/spack/repos/builtin/packages/py-speech-recognition/package.py
index d6c43c2c09..be6510c236 100644
--- a/var/spack/repos/builtin/packages/py-speech-recognition/package.py
+++ b/var/spack/repos/builtin/packages/py-speech-recognition/package.py
@@ -11,9 +11,9 @@ class PySpeechRecognition(PythonPackage):
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"
+ url = "https://github.com/Uberi/speech_recognition/archive/refs/tags/3.8.1.tar.gz"
- version('3.8.1', sha256='82d3313db383409ddaf3e42625fb0c3518231a1feb5e2ed5473b10b3d5ece7bd')
+ version("3.8.1", sha256="82d3313db383409ddaf3e42625fb0c3518231a1feb5e2ed5473b10b3d5ece7bd")
- depends_on('python@2.6:2,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:2,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-spefile/package.py b/var/spack/repos/builtin/packages/py-spefile/package.py
index 659c254902..0069b5c752 100644
--- a/var/spack/repos/builtin/packages/py-spefile/package.py
+++ b/var/spack/repos/builtin/packages/py-spefile/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PySpefile(PythonPackage):
"""Reader for SPE files part of pyspec a set of python routines for data
- analysis of x-ray scattering experiments"""
+ analysis of x-ray scattering experiments"""
homepage = "https://github.com/conda-forge/spefile-feedstock"
- git = "https://github.com/conda-forge/spefile-feedstock.git"
+ git = "https://github.com/conda-forge/spefile-feedstock.git"
- version('1.6', commit='24394e066da8dee5e7608f556ca0203c9db217f9')
+ version("1.6", commit="24394e066da8dee5e7608f556ca0203c9db217f9")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
- build_directory = 'recipe/src'
+ build_directory = "recipe/src"
diff --git a/var/spack/repos/builtin/packages/py-spgl1/package.py b/var/spack/repos/builtin/packages/py-spgl1/package.py
index 054e7aeb9d..a53ac3a1b0 100644
--- a/var/spack/repos/builtin/packages/py-spgl1/package.py
+++ b/var/spack/repos/builtin/packages/py-spgl1/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class PySpgl1(PythonPackage):
"""SPGL1 is a solver for large-scale one-norm regularized least squares. It is
- designed to solve any of the following three problems: Basis pursuit denoise
- (BPDN): minimize ||x||_1 subject to ||Ax - b||_2 <= sigma, Basis pursuit (BP):
- minimize ||x||_1 subject to Ax = b Lasso: minimize ||Ax - b||_2 subject to
- ||x||_1 <= tau, The matrix A can be defined explicitly, or as an operator that
- returns both both Ax and A'b. SPGL1 can solve these three problems in both
- the real and complex domains."""
+ designed to solve any of the following three problems: Basis pursuit denoise
+ (BPDN): minimize ||x||_1 subject to ||Ax - b||_2 <= sigma, Basis pursuit (BP):
+ minimize ||x||_1 subject to Ax = b Lasso: minimize ||Ax - b||_2 subject to
+ ||x||_1 <= tau, The matrix A can be defined explicitly, or as an operator that
+ returns both both Ax and A'b. SPGL1 can solve these three problems in both
+ the real and complex domains."""
pypi = "spgl1/spgl1-0.0.2.tar.gz"
- git = "https://github.com/drrelyea/spgl1.git"
+ git = "https://github.com/drrelyea/spgl1.git"
- maintainers = ['archxlith']
+ maintainers = ["archxlith"]
- version('master', branch='master')
- version('0.0.2', sha256='a2a524724097bad18dd88a306dbcc99124c6c46ffcbb1a96d6ba6dd6fe2f7404')
- version('0.0.1', sha256='24ff37ab5be57f0ccf14c53090b171e019c3c12799c80f368e628e1cc9ac9a1f')
+ version("master", branch="master")
+ version("0.0.2", sha256="a2a524724097bad18dd88a306dbcc99124c6c46ffcbb1a96d6ba6dd6fe2f7404")
+ version("0.0.1", sha256="24ff37ab5be57f0ccf14c53090b171e019c3c12799c80f368e628e1cc9ac9a1f")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.15:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-spglib/package.py b/var/spack/repos/builtin/packages/py-spglib/package.py
index eb26c71e83..7b20134e89 100644
--- a/var/spack/repos/builtin/packages/py-spglib/package.py
+++ b/var/spack/repos/builtin/packages/py-spglib/package.py
@@ -13,10 +13,10 @@ class PySpglib(PythonPackage):
homepage = "https://atztogo.github.io/spglib/"
pypi = "spglib/spglib-1.9.9.18.tar.gz"
- version('1.16.1', sha256='9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003')
- version('1.9.9.18', sha256='cbbb8383320b500dc6100b83d5e914a26a97ef8fc97c82d8921b10220e4126cd')
+ version("1.16.1", sha256="9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003")
+ version("1.9.9.18", sha256="cbbb8383320b500dc6100b83d5e914a26a97ef8fc97c82d8921b10220e4126cd")
# Most Python packages only require setuptools as a build dependency.
# However, spglib requires setuptools during runtime as well.
- depends_on('py-setuptools@18.0:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools@18.0:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spherical/package.py b/var/spack/repos/builtin/packages/py-spherical/package.py
index ac6e3d998c..54c228fb9b 100644
--- a/var/spack/repos/builtin/packages/py-spherical/package.py
+++ b/var/spack/repos/builtin/packages/py-spherical/package.py
@@ -11,15 +11,15 @@ class PySpherical(PythonPackage):
spin-weighted) spherical harmonics"""
homepage = "https://github.com/moble/spherical"
- pypi = "spherical/spherical-1.0.10.tar.gz"
+ pypi = "spherical/spherical-1.0.10.tar.gz"
- maintainers = ['nilsvu', 'moble']
+ maintainers = ["nilsvu", "moble"]
- version('1.0.10', sha256='a7f1d902aa89fd51174a0c69b2379c352d229bf7e088907e8eb4461ad227d95f')
+ version("1.0.10", sha256="a7f1d902aa89fd51174a0c69b2379c352d229bf7e088907e8eb4461ad227d95f")
- depends_on('python@3.6:3.9', type=('build', 'run'))
- depends_on('py-poetry-core@1.0.1:', type='build')
- depends_on('py-importlib-metadata@1:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-numpy@1.13:', type=('build', 'run'))
- depends_on('py-numba@0.50:', type=('build', 'run'))
- depends_on('py-quaternionic@1:', type=('build', 'run'))
+ depends_on("python@3.6:3.9", type=("build", "run"))
+ depends_on("py-poetry-core@1.0.1:", type="build")
+ depends_on("py-importlib-metadata@1:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-numpy@1.13:", type=("build", "run"))
+ depends_on("py-numba@0.50:", type=("build", "run"))
+ depends_on("py-quaternionic@1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py b/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py
index 67d831314c..f4505a2a48 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py
@@ -10,13 +10,13 @@ class PySphinxArgparse(PythonPackage):
"""Sphinx extension to automatically document argparse-based commands."""
homepage = "https://pypi.org/project/sphinx-argparse"
- pypi = "sphinx-argparse/sphinx-argparse-0.3.1.tar.gz"
+ pypi = "sphinx-argparse/sphinx-argparse-0.3.1.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('0.3.1', sha256='82151cbd43ccec94a1530155f4ad34f251aaca6a0ffd5516d7fadf952d32dc1e')
+ version("0.3.1", sha256="82151cbd43ccec94a1530155f4ad34f251aaca6a0ffd5516d7fadf952d32dc1e")
- depends_on('python@2.7.0:2.7,3.5:', type=('build', 'run'))
- depends_on('py-sphinx@1.2.0:', type=('build', 'run'))
- depends_on('py-poetry-core', type='build')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7.0:2.7,3.5:", type=("build", "run"))
+ depends_on("py-sphinx@1.2.0:", type=("build", "run"))
+ depends_on("py-poetry-core", type="build")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinx-autodoc-typehints/package.py b/var/spack/repos/builtin/packages/py-sphinx-autodoc-typehints/package.py
index 4cbfcbe2c6..b7e80bfc19 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-autodoc-typehints/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-autodoc-typehints/package.py
@@ -12,12 +12,12 @@ class PySphinxAutodocTypehints(PythonPackage):
Type hints (PEP 484) support for the Sphinx autodoc extension
"""
- homepage = 'https://github.com/agronholm/sphinx-autodoc-typehints'
- pypi = 'sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.tar.gz'
+ homepage = "https://github.com/agronholm/sphinx-autodoc-typehints"
+ pypi = "sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.12.0.tar.gz"
- version('1.12.0', sha256='193617d9dbe0847281b1399d369e74e34cd959c82e02c7efde077fca908a9f52')
+ version("1.12.0", sha256="193617d9dbe0847281b1399d369e74e34cd959c82e02c7efde077fca908a9f52")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@40.0.4:', type='build')
- depends_on('py-setuptools-scm@2.0.0:', type='build')
- depends_on('py-sphinx@3:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@40.0.4:", type="build")
+ depends_on("py-setuptools-scm@2.0.0:", type="build")
+ depends_on("py-sphinx@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
index 26b8cb8635..558a8fd0ae 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-bootstrap-theme/package.py
@@ -11,6 +11,6 @@ class PySphinxBootstrapTheme(PythonPackage):
pypi = "sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.13.tar.gz"
- version('0.4.13', sha256='47f7719e56304026f285455bbb115525d227a6e23341d4b7f6f0b48b2eface82')
+ version("0.4.13", sha256="47f7719e56304026f285455bbb115525d227a6e23341d4b7f6f0b48b2eface82")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
index 18700e79ab..44a6fe80d5 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
@@ -12,7 +12,7 @@ class PySphinxCopybutton(PythonPackage):
homepage = "https://github.com/choldgraf/sphinx-copybutton"
pypi = "sphinx-copybutton/sphinx-copybutton-0.2.12.tar.gz"
- version('0.2.12', sha256='9492883786984b6179c92c07ab0410237b26efa826adfa792acfd17b91a63e5c')
+ version("0.2.12", sha256="9492883786984b6179c92c07ab0410237b26efa826adfa792acfd17b91a63e5c")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.8:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.8:")
diff --git a/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py b/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
index 7c2aa53cd9..f168dceb9a 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
@@ -14,10 +14,10 @@ class PySphinxGallery(PythonPackage):
homepage = "https://sphinx-gallery.github.io"
pypi = "sphinx-gallery/sphinx-gallery-0.7.0.tar.gz"
- version('0.7.0', sha256='05ead72c947718ab4183c33a598e29743e771dcf75aec84c53048423bd2f4580')
- version('0.4.0', sha256='a286cf2eea47ce838a0754ecef617616afb1f40e41e52fe765723464f52e0c2f')
+ version("0.7.0", sha256="05ead72c947718ab4183c33a598e29743e771dcf75aec84c53048423bd2f4580")
+ version("0.4.0", sha256="a286cf2eea47ce838a0754ecef617616afb1f40e41e52fe765723464f52e0c2f")
- depends_on('py-setuptools')
- depends_on('py-matplotlib')
- depends_on('pil')
- depends_on('py-sphinx')
+ depends_on("py-setuptools")
+ depends_on("py-matplotlib")
+ depends_on("pil")
+ depends_on("py-sphinx")
diff --git a/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py b/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py
index 0151243b42..7efe9b255d 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py
@@ -12,10 +12,10 @@ class PySphinxMultiversion(PythonPackage):
homepage = "https://github.com/Holzhaus/sphinx-multiversion"
pypi = "sphinx-multiversion/sphinx-multiversion-0.2.4.tar.gz"
- version('0.2.4', sha256='5cd1ca9ecb5eed63cb8d6ce5e9c438ca13af4fa98e7eb6f376be541dd4990bcb')
- version('0.2.3', sha256='e46565ac2f703f3b55652f33c159c8059865f5d13dae7f0e8403e5afc2996f5f')
- version('0.2.2', sha256='c0a4f2cbb13eb62b5cd79e2f6901e5d90ea191d3f37e96e1f15b976827de0ac0')
- version('0.2.1', sha256='0775847454965005a3a8433c1bf38379f723c026de9c4a7ddd447b0349df90c1')
+ version("0.2.4", sha256="5cd1ca9ecb5eed63cb8d6ce5e9c438ca13af4fa98e7eb6f376be541dd4990bcb")
+ version("0.2.3", sha256="e46565ac2f703f3b55652f33c159c8059865f5d13dae7f0e8403e5afc2996f5f")
+ version("0.2.2", sha256="c0a4f2cbb13eb62b5cd79e2f6901e5d90ea191d3f37e96e1f15b976827de0ac0")
+ version("0.2.1", sha256="0775847454965005a3a8433c1bf38379f723c026de9c4a7ddd447b0349df90c1")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
index ea36e7db64..41fe1e7278 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
@@ -12,16 +12,16 @@ class PySphinxRtdTheme(PythonPackage):
homepage = "https://github.com/readthedocs/sphinx_rtd_theme"
pypi = "sphinx-rtd-theme/sphinx_rtd_theme-0.5.1.tar.gz"
- version('0.5.2', sha256='32bd3b5d13dc8186d7a42fc816a23d32e83a4827d7d9882948e7b837c232da5a')
- version('0.5.1', sha256='eda689eda0c7301a80cf122dad28b1861e5605cbf455558f3775e1e8200e83a5')
- version('0.5.0', sha256='22c795ba2832a169ca301cd0a083f7a434e09c538c70beb42782c073651b707d')
- version('0.4.3', sha256='728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a')
+ version("0.5.2", sha256="32bd3b5d13dc8186d7a42fc816a23d32e83a4827d7d9882948e7b837c232da5a")
+ version("0.5.1", sha256="eda689eda0c7301a80cf122dad28b1861e5605cbf455558f3775e1e8200e83a5")
+ version("0.5.0", sha256="22c795ba2832a169ca301cd0a083f7a434e09c538c70beb42782c073651b707d")
+ version("0.4.3", sha256="728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx', when='@0.4.1:', type=('build', 'run'))
- depends_on('py-docutils@:0.16', when='@0.5.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx", when="@0.4.1:", type=("build", "run"))
+ depends_on("py-docutils@:0.16", when="@0.5.2:", type=("build", "run"))
def setup_build_environment(self, env):
# Hack to prevent usage of npm in 0.5+
# https://github.com/readthedocs/sphinx_rtd_theme/issues/1014
- env.set('CI', True)
+ env.set("CI", True)
diff --git a/var/spack/repos/builtin/packages/py-sphinx-tabs/package.py b/var/spack/repos/builtin/packages/py-sphinx-tabs/package.py
index d2c40f342d..b56fb20f02 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-tabs/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-tabs/package.py
@@ -11,14 +11,14 @@ class PySphinxTabs(PythonPackage):
"""Create tabbed content in Sphinx documentation when building HTML."""
homepage = "https://github.com/executablebooks/sphinx-tabs"
- pypi = "sphinx-tabs/sphinx-tabs-3.2.0.tar.gz"
+ pypi = "sphinx-tabs/sphinx-tabs-3.2.0.tar.gz"
- maintainers = ['schmitts']
+ maintainers = ["schmitts"]
- version('3.2.0', sha256='33137914ed9b276e6a686d7a337310ee77b1dae316fdcbce60476913a152e0a4')
+ version("3.2.0", sha256="33137914ed9b276e6a686d7a337310ee77b1dae316fdcbce60476913a152e0a4")
- depends_on('python@3.6:3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@2:4', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-docutils@0.16.0:0.16', type=('build', 'run'))
+ depends_on("python@3.6:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@2:4", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-docutils@0.16.0:0.16", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index 3d30a20ea0..00e6253f1e 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -12,85 +12,85 @@ class PySphinx(PythonPackage):
homepage = "https://www.sphinx-doc.org/en/master/"
pypi = "Sphinx/Sphinx-3.2.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('5.1.1', sha256='ba3224a4e206e1fbdecf98a4fae4992ef9b24b85ebf7b584bb340156eaf08d89')
- version('5.1.0', sha256='7893d10d9d852c16673f9b1b7e9eda1606b420b7810270294d6e4b44c0accacc')
- version('5.0.2', sha256='b18e978ea7565720f26019c702cd85c84376e948370f1cd43d60265010e1c7b0')
- version('5.0.1', sha256='f4da1187785a5bc7312cc271b0e867a93946c319d106363e102936a3d9857306')
- version('5.0.0', sha256='464d9c1bd5613bcebe76b46658763f3f3dbb184da7406e632a84596d3cd8ee90')
+ version("5.1.1", sha256="ba3224a4e206e1fbdecf98a4fae4992ef9b24b85ebf7b584bb340156eaf08d89")
+ version("5.1.0", sha256="7893d10d9d852c16673f9b1b7e9eda1606b420b7810270294d6e4b44c0accacc")
+ version("5.0.2", sha256="b18e978ea7565720f26019c702cd85c84376e948370f1cd43d60265010e1c7b0")
+ version("5.0.1", sha256="f4da1187785a5bc7312cc271b0e867a93946c319d106363e102936a3d9857306")
+ version("5.0.0", sha256="464d9c1bd5613bcebe76b46658763f3f3dbb184da7406e632a84596d3cd8ee90")
- version('4.5.0', sha256='7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6')
- version('4.4.0', sha256='6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc')
- version('4.3.2', sha256='0a8836751a68306b3fe97ecbe44db786f8479c3bf4b80e3a7f5c838657b4698c')
- version('4.3.1', sha256='32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45')
- version('4.3.0', sha256='6d051ab6e0d06cba786c4656b0fe67ba259fe058410f49e95bee6e49c4052cbf')
- version('4.2.0', sha256='94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6')
- version('4.1.2', sha256='3092d929cd807926d846018f2ace47ba2f3b671b309c7a89cd3306e80c826b13')
- version('4.1.1', sha256='23c846a1841af998cb736218539bb86d16f5eb95f5760b1966abcd2d584e62b8')
- version('4.1.0', sha256='4219f14258ca5612a0c85ed9b7222d54da69724d7e9dd92d1819ad1bf65e1ad2')
- version('4.0.3', sha256='dff357e6a208eb7edb2002714733ac21a9fe597e73609ff417ab8cf0c6b4fbb8')
- version('4.0.2', sha256='b5c2ae4120bf00c799ba9b3699bc895816d272d120080fbc967292f29b52b48c')
- version('4.0.1', sha256='cf5104777571b2b7f06fa88ee08fade24563f4a0594cf4bd17d31c47b8740b4c')
- version('4.0.0', sha256='b246ebd74f5fb966d7e90086bbda5ed74ee4d30b4c3cbefddc1fb5210aa317c7')
+ version("4.5.0", sha256="7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6")
+ version("4.4.0", sha256="6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc")
+ version("4.3.2", sha256="0a8836751a68306b3fe97ecbe44db786f8479c3bf4b80e3a7f5c838657b4698c")
+ version("4.3.1", sha256="32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45")
+ version("4.3.0", sha256="6d051ab6e0d06cba786c4656b0fe67ba259fe058410f49e95bee6e49c4052cbf")
+ version("4.2.0", sha256="94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6")
+ version("4.1.2", sha256="3092d929cd807926d846018f2ace47ba2f3b671b309c7a89cd3306e80c826b13")
+ version("4.1.1", sha256="23c846a1841af998cb736218539bb86d16f5eb95f5760b1966abcd2d584e62b8")
+ version("4.1.0", sha256="4219f14258ca5612a0c85ed9b7222d54da69724d7e9dd92d1819ad1bf65e1ad2")
+ version("4.0.3", sha256="dff357e6a208eb7edb2002714733ac21a9fe597e73609ff417ab8cf0c6b4fbb8")
+ version("4.0.2", sha256="b5c2ae4120bf00c799ba9b3699bc895816d272d120080fbc967292f29b52b48c")
+ version("4.0.1", sha256="cf5104777571b2b7f06fa88ee08fade24563f4a0594cf4bd17d31c47b8740b4c")
+ version("4.0.0", sha256="b246ebd74f5fb966d7e90086bbda5ed74ee4d30b4c3cbefddc1fb5210aa317c7")
- version('3.5.4', sha256='19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1')
- version('3.4.1', sha256='e450cb205ff8924611085183bf1353da26802ae73d9251a8fcdf220a8f8712ef')
- version('3.2.0', sha256='cf2d5bc3c6c930ab0a1fbef3ad8a82994b1bf4ae923f8098a05c7e5516f07177')
- version('3.0.0', sha256='6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3')
+ version("3.5.4", sha256="19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1")
+ version("3.4.1", sha256="e450cb205ff8924611085183bf1353da26802ae73d9251a8fcdf220a8f8712ef")
+ version("3.2.0", sha256="cf2d5bc3c6c930ab0a1fbef3ad8a82994b1bf4ae923f8098a05c7e5516f07177")
+ version("3.0.0", sha256="6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3")
- version('2.4.4', sha256='b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66')
- version('2.2.0', sha256='0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845')
+ version("2.4.4", sha256="b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66")
+ version("2.2.0", sha256="0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845")
- version('1.8.5', sha256='c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08')
- version('1.8.4', sha256='c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c')
- version('1.8.2', sha256='120732cbddb1b2364471c3d9f8bfd4b0c5b550862f99a65736c77f970b142aea')
- version('1.7.4', sha256='e9b1a75a3eae05dded19c80eb17325be675e0698975baae976df603b6ed1eb10')
- version('1.6.3', sha256='af8bdb8c714552b77d01d4536e3d6d2879d6cb9d25423d29163d5788e27046e6')
- version('1.6.1', sha256='7581d82c3f206f0ac380edeeba890a2e2d2be011e5abe94684ceb0df4b6acc3f')
- version('1.5.5', sha256='4064ea6c56feeb268838cb8fbbee507d0c3d5d92fa63a7df935a916b52c9e2f5')
- version('1.4.5', sha256='c5df65d97a58365cbf4ea10212186a9a45d89c61ed2c071de6090cdf9ddb4028')
- version('1.3.1', sha256='1a6e5130c2b42d2de301693c299f78cc4bd3501e78b610c08e45efc70e2b5114')
+ version("1.8.5", sha256="c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08")
+ version("1.8.4", sha256="c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c")
+ version("1.8.2", sha256="120732cbddb1b2364471c3d9f8bfd4b0c5b550862f99a65736c77f970b142aea")
+ version("1.7.4", sha256="e9b1a75a3eae05dded19c80eb17325be675e0698975baae976df603b6ed1eb10")
+ version("1.6.3", sha256="af8bdb8c714552b77d01d4536e3d6d2879d6cb9d25423d29163d5788e27046e6")
+ version("1.6.1", sha256="7581d82c3f206f0ac380edeeba890a2e2d2be011e5abe94684ceb0df4b6acc3f")
+ version("1.5.5", sha256="4064ea6c56feeb268838cb8fbbee507d0c3d5d92fa63a7df935a916b52c9e2f5")
+ version("1.4.5", sha256="c5df65d97a58365cbf4ea10212186a9a45d89c61ed2c071de6090cdf9ddb4028")
+ version("1.3.1", sha256="1a6e5130c2b42d2de301693c299f78cc4bd3501e78b610c08e45efc70e2b5114")
- extends('python', ignore='bin/(pybabel|pygmentize)')
+ extends("python", ignore="bin/(pybabel|pygmentize)")
# See here for upstream list of dependencies:
# https://github.com/sphinx-doc/sphinx/blob/master/setup.py
# See http://www.sphinx-doc.org/en/stable/changes.html for when each
# dependency was added or removed.
- depends_on('python@3.7:', when='@6:', type=('build', 'run'))
- depends_on('python@3.6:', when='@4.3:5', type=('build', 'run'))
- depends_on('python@3.6:3.9', when='@4:4.2', type=('build', 'run'))
- depends_on('python@3.5:3.9', when='@2:3', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:3.9', when='@:1', type=('build', 'run'))
+ depends_on("python@3.7:", when="@6:", type=("build", "run"))
+ depends_on("python@3.6:", when="@4.3:5", type=("build", "run"))
+ depends_on("python@3.6:3.9", when="@4:4.2", type=("build", "run"))
+ depends_on("python@3.5:3.9", when="@2:3", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:3.9", when="@:1", type=("build", "run"))
- depends_on('py-sphinxcontrib-websupport', when='@1.6:1', type=('build', 'run'))
- depends_on('py-sphinxcontrib-applehelp', when='@2:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-devhelp', when='@2:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-jsmath', when='@2:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-htmlhelp@2.0.0:', when='@4.1.1:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-htmlhelp', when='@2:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-serializinghtml@1.1.5:', when='@4.1.1:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-serializinghtml', when='@2:', type=('build', 'run'))
- depends_on('py-sphinxcontrib-qthelp', when='@2:', type=('build', 'run'))
- depends_on('py-six@1.5:', when='@:1', type=('build', 'run'))
- depends_on('py-jinja2@2.3:', type=('build', 'run'))
- depends_on('py-jinja2@2.3:2', when='@:4.0.1', type=('build', 'run'))
- depends_on('py-pygments@2.0:', type=('build', 'run'))
- depends_on('py-docutils@0.14:0.19', when='@5.1:', type=('build', 'run'))
- depends_on('py-docutils@0.14:0.18', when='@5.0', type=('build', 'run'))
- depends_on('py-docutils@0.14:0.17', when='@4', type=('build', 'run'))
- depends_on('py-docutils@0.12:0.16', when='@:3', type=('build', 'run'))
- depends_on('py-snowballstemmer@1.1:', type=('build', 'run'))
- depends_on('py-babel@1.3:', type=('build', 'run'))
- depends_on('py-alabaster@0.7', type=('build', 'run'))
- depends_on('py-imagesize', when='@1.4:', type=('build', 'run'))
- depends_on('py-requests@2.5.0:', type=('build', 'run'))
- depends_on('py-setuptools', when='@:4.3', type=('build', 'run'))
- depends_on('py-setuptools', when='@4.4:', type='build')
- depends_on('py-sphinx-rtd-theme@0.1:', when='@:1.3', type=('build', 'run'))
- depends_on('py-packaging', when='@1.7:', type=('build', 'run'))
- depends_on('py-importlib-metadata@4.4:', when='@4.4: ^python@:3.9', type=('build', 'run'))
- depends_on('py-typing', when='@1.6.1', type=('build', 'run'))
- depends_on('py-typing', when='@1.6.2:^python@2.7:3.4', type=('build', 'run'))
- depends_on('py-colorama@0.3.5:', when='platform=windows', type=('build', 'run'))
+ depends_on("py-sphinxcontrib-websupport", when="@1.6:1", type=("build", "run"))
+ depends_on("py-sphinxcontrib-applehelp", when="@2:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-devhelp", when="@2:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-jsmath", when="@2:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-htmlhelp@2.0.0:", when="@4.1.1:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-htmlhelp", when="@2:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-serializinghtml@1.1.5:", when="@4.1.1:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-serializinghtml", when="@2:", type=("build", "run"))
+ depends_on("py-sphinxcontrib-qthelp", when="@2:", type=("build", "run"))
+ depends_on("py-six@1.5:", when="@:1", type=("build", "run"))
+ depends_on("py-jinja2@2.3:", type=("build", "run"))
+ depends_on("py-jinja2@2.3:2", when="@:4.0.1", type=("build", "run"))
+ depends_on("py-pygments@2.0:", type=("build", "run"))
+ depends_on("py-docutils@0.14:0.19", when="@5.1:", type=("build", "run"))
+ depends_on("py-docutils@0.14:0.18", when="@5.0", type=("build", "run"))
+ depends_on("py-docutils@0.14:0.17", when="@4", type=("build", "run"))
+ depends_on("py-docutils@0.12:0.16", when="@:3", type=("build", "run"))
+ depends_on("py-snowballstemmer@1.1:", type=("build", "run"))
+ depends_on("py-babel@1.3:", type=("build", "run"))
+ depends_on("py-alabaster@0.7", type=("build", "run"))
+ depends_on("py-imagesize", when="@1.4:", type=("build", "run"))
+ depends_on("py-requests@2.5.0:", type=("build", "run"))
+ depends_on("py-setuptools", when="@:4.3", type=("build", "run"))
+ depends_on("py-setuptools", when="@4.4:", type="build")
+ depends_on("py-sphinx-rtd-theme@0.1:", when="@:1.3", type=("build", "run"))
+ depends_on("py-packaging", when="@1.7:", type=("build", "run"))
+ depends_on("py-importlib-metadata@4.4:", when="@4.4: ^python@:3.9", type=("build", "run"))
+ depends_on("py-typing", when="@1.6.1", type=("build", "run"))
+ depends_on("py-typing", when="@1.6.2:^python@2.7:3.4", type=("build", "run"))
+ depends_on("py-colorama@0.3.5:", when="platform=windows", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py b/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
index 41319c2c32..2c7046ea99 100644
--- a/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxautomodapi/package.py
@@ -12,7 +12,7 @@ class PySphinxautomodapi(PythonPackage):
homepage = "https://sphinx-automodapi.readthedocs.io/en/latest/"
pypi = "sphinx-automodapi/sphinx-automodapi-0.9.tar.gz"
- version('0.9', sha256='71a69e1a7ab8d849f416d7431db854d7b1925f749ba6345bc7d88f288892871d')
+ version("0.9", sha256="71a69e1a7ab8d849f416d7431db854d7b1925f749ba6345bc7d88f288892871d")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
index 77d8a4ab06..490b02841a 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-applehelp/package.py
@@ -19,7 +19,7 @@ class PySphinxcontribApplehelp(PythonPackage):
# import any modules for this package.
import_modules = [] # type: List[str]
- version('1.0.1', sha256='edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897')
+ version("1.0.1", sha256="edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
index add48d547a..3f4013e8a2 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
@@ -11,28 +11,28 @@ class PySphinxcontribBibtex(PythonPackage):
pypi = "sphinxcontrib-bibtex/sphinxcontrib-bibtex-0.3.5.tar.gz"
- version('2.4.2', sha256='65b023ee47f35f1f03ac4d71c824e67c624c7ecac1bb26e83623271a01f9da86')
- version('2.2.1', sha256='00d474092e04b1d941e645cf6c027632a975cd0b9337cf47d379f63a5928f334')
- version('2.2.0', sha256='7500843e154d76983c23bca5ca7380965e0725c46b8f484c1322d0b58a6ce3b2')
- version('2.1.4', sha256='f53ec0cd534d2c8f0a51b4b3473ced46e9cb0dd99a7c5019249fe0ef9cbef18e')
- version('2.0.0', sha256='98e18eb0b088d3f556199f3fbb91d3d48ebb7596fe86b6c37cc4c4dc5419b7a1')
- version('1.0.0', sha256='629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0')
- version('0.3.5', sha256='c93e2b4a0d14f0ab726f95f0a33c1675965e9df3ed04839635577b8f978206cd')
+ version("2.4.2", sha256="65b023ee47f35f1f03ac4d71c824e67c624c7ecac1bb26e83623271a01f9da86")
+ version("2.2.1", sha256="00d474092e04b1d941e645cf6c027632a975cd0b9337cf47d379f63a5928f334")
+ version("2.2.0", sha256="7500843e154d76983c23bca5ca7380965e0725c46b8f484c1322d0b58a6ce3b2")
+ version("2.1.4", sha256="f53ec0cd534d2c8f0a51b4b3473ced46e9cb0dd99a7c5019249fe0ef9cbef18e")
+ version("2.0.0", sha256="98e18eb0b088d3f556199f3fbb91d3d48ebb7596fe86b6c37cc4c4dc5419b7a1")
+ version("1.0.0", sha256="629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0")
+ version("0.3.5", sha256="c93e2b4a0d14f0ab726f95f0a33c1675965e9df3ed04839635577b8f978206cd")
- depends_on('python@3.5:', type=('build', 'run'), when='@1:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2:')
- depends_on('py-setuptools', type='build')
- depends_on('py-latexcodec@0.3.0:', type=('build', 'run'), when='@:0.3.6')
- depends_on('py-pybtex@0.17:', type=('build', 'run'), when='@:1')
- depends_on('py-pybtex@0.20:', type=('build', 'run'), when='@2:2.3')
- depends_on('py-pybtex@0.24:', type=('build', 'run'), when='@2.4:')
- depends_on('py-pybtex-docutils@0.2.0:', type=('build', 'run'), when='@:1')
- depends_on('py-pybtex-docutils@0.2.2:', type=('build', 'run'), when='@2:')
- depends_on('py-pybtex-docutils@1.0.0:', type=('build', 'run'), when='@2.2:')
- depends_on('py-six@1.4.1:', type=('build', 'run'), when='@0.3.5')
- depends_on('py-sphinx@1.0:', type=('build', 'run'), when='@:1')
- depends_on('py-sphinx@2.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('py-sphinx@2.1:', type=('build', 'run'), when='@2.1.3:')
- depends_on('py-oset@0.1.3:', type=('build', 'run'), when='@:2.0.0')
- depends_on('py-docutils@0.8:', type=('build', 'run'), when='@2.1.0:')
- depends_on('py-dataclasses', when='@2.2.0: ^python@:3.6', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"), when="@1:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-latexcodec@0.3.0:", type=("build", "run"), when="@:0.3.6")
+ depends_on("py-pybtex@0.17:", type=("build", "run"), when="@:1")
+ depends_on("py-pybtex@0.20:", type=("build", "run"), when="@2:2.3")
+ depends_on("py-pybtex@0.24:", type=("build", "run"), when="@2.4:")
+ depends_on("py-pybtex-docutils@0.2.0:", type=("build", "run"), when="@:1")
+ depends_on("py-pybtex-docutils@0.2.2:", type=("build", "run"), when="@2:")
+ depends_on("py-pybtex-docutils@1.0.0:", type=("build", "run"), when="@2.2:")
+ depends_on("py-six@1.4.1:", type=("build", "run"), when="@0.3.5")
+ depends_on("py-sphinx@1.0:", type=("build", "run"), when="@:1")
+ depends_on("py-sphinx@2.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("py-sphinx@2.1:", type=("build", "run"), when="@2.1.3:")
+ depends_on("py-oset@0.1.3:", type=("build", "run"), when="@:2.0.0")
+ depends_on("py-docutils@0.8:", type=("build", "run"), when="@2.1.0:")
+ depends_on("py-dataclasses", when="@2.2.0: ^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
index 48f480c578..2d5effdb6d 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-devhelp/package.py
@@ -19,7 +19,7 @@ class PySphinxcontribDevhelp(PythonPackage):
# import any modules.
import_modules = [] # type: List[str]
- version('1.0.1', sha256='6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34')
+ version("1.0.1", sha256="6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
index 7c36459a96..fbfe678d3e 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-htmlhelp/package.py
@@ -19,9 +19,9 @@ class PySphinxcontribHtmlhelp(PythonPackage):
# import any modules.
import_modules = [] # type: List[str]
- version('2.0.0', sha256='f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2')
- version('1.0.2', sha256='4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422')
+ version("2.0.0", sha256="f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2")
+ version("1.0.2", sha256="4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
index 6e7ab2d2ba..d0fa949c74 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-issuetracker/package.py
@@ -12,8 +12,8 @@ class PySphinxcontribIssuetracker(PythonPackage):
homepage = "https://sphinxcontrib-issuetracker.readthedocs.org/"
pypi = "sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11.tar.gz"
- version('0.11', sha256='843753d8b5e989116378ab45ecccb368fb78dc56eaa1554ed25e4fbf22745f4e')
+ version("0.11", sha256="843753d8b5e989116378ab45ecccb368fb78dc56eaa1554ed25e4fbf22745f4e")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.1:', type=('build', 'run'))
- depends_on('py-requests@1.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.1:", type=("build", "run"))
+ depends_on("py-requests@1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
index c437e975c2..f55ac73854 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-jsmath/package.py
@@ -18,7 +18,7 @@ class PySphinxcontribJsmath(PythonPackage):
# import any modules.
import_modules = [] # type: List[str]
- version('1.0.1', sha256='a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8')
+ version("1.0.1", sha256="a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
index 518db962d0..4a135a9819 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
@@ -14,7 +14,7 @@ class PySphinxcontribMermaid(PythonPackage):
homepage = "https://github.com/mgaitan/sphinxcontrib-mermaid"
pypi = "sphinxcontrib-mermaid/sphinxcontrib-mermaid-0.4.0.tar.gz"
- version('0.4.0', sha256='0ee45ba45b9575505eacdd6212e4e545213f4f93dfa32c7eeca32720dbc3b468')
+ version("0.4.0", sha256="0ee45ba45b9575505eacdd6212e4e545213f4f93dfa32c7eeca32720dbc3b468")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-napoleon/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-napoleon/package.py
index 6722c7a39c..ad1b12b19e 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-napoleon/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-napoleon/package.py
@@ -10,10 +10,10 @@ class PySphinxcontribNapoleon(PythonPackage):
"""Sphinx "napoleon" extension."""
homepage = "https://github.com/sphinx-contrib/napoleon"
- pypi = "sphinxcontrib-napoleon/sphinxcontrib-napoleon-0.7.tar.gz"
+ pypi = "sphinxcontrib-napoleon/sphinxcontrib-napoleon-0.7.tar.gz"
- version('0.7', sha256='407382beed396e9f2d7f3043fad6afda95719204a1e1a231ac865f40abcbfcf8')
+ version("0.7", sha256="407382beed396e9f2d7f3043fad6afda95719204a1e1a231ac865f40abcbfcf8")
- depends_on('py-setuptools', type='build')
- depends_on('py-six@1.5.2:', type=('build', 'run'))
- depends_on('py-pockets@0.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six@1.5.2:", type=("build", "run"))
+ depends_on("py-pockets@0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
index 8dde00fb6a..ee66fa9076 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-programoutput/package.py
@@ -13,9 +13,9 @@ class PySphinxcontribProgramoutput(PythonPackage):
homepage = "https://sphinxcontrib-programoutput.readthedocs.org/"
pypi = "sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.15.tar.gz"
- version('0.15', sha256='80dd5b4eab780a13ff2c23500cac3dbf0e04ef9976b409ef25a47c263ef8ab94')
- version('0.10', sha256='fdee94fcebb0d8fddfccac5c4fa560f6177d5340c4349ee447c890bea8857094')
+ version("0.15", sha256="80dd5b4eab780a13ff2c23500cac3dbf0e04ef9976b409ef25a47c263ef8ab94")
+ version("0.10", sha256="fdee94fcebb0d8fddfccac5c4fa560f6177d5340c4349ee447c890bea8857094")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.7.0:', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
index a20a9c4501..c641771314 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-qthelp/package.py
@@ -19,7 +19,7 @@ class PySphinxcontribQthelp(PythonPackage):
# import any modules.
import_modules = [] # type: List[str]
- version('1.0.2', sha256='79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f')
+ version("1.0.2", sha256="79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
index f7b37da254..7932b81b08 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-serializinghtml/package.py
@@ -19,8 +19,8 @@ class PySphinxcontribSerializinghtml(PythonPackage):
# to import any modules.
import_modules = [] # type: List[str]
- version('1.1.5', sha256='aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952')
- version('1.1.3', sha256='c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227')
+ version("1.1.5", sha256="aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952")
+ version("1.1.3", sha256="c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
index 4f1305569b..922b1cd9ae 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
@@ -14,10 +14,10 @@ class PySphinxcontribTrio(PythonPackage):
homepage = "https://github.com/python-trio/sphinxcontrib-trio"
pypi = "sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.tar.gz"
- version('1.1.2', sha256='9f1ba9c1d5965b534e85258d8b677dd94e9b1a9a2e918b85ccd42590596b47c0')
- version('1.1.0', sha256='d90f46d239ba0556e53d9a110989f98c9eb2cea76ab47937a1f39b62f63fe654')
+ version("1.1.2", sha256="9f1ba9c1d5965b534e85258d8b677dd94e9b1a9a2e918b85ccd42590596b47c0")
+ version("1.1.0", sha256="d90f46d239ba0556e53d9a110989f98c9eb2cea76ab47937a1f39b62f63fe654")
- depends_on('py-setuptools', type='build')
- depends_on('py-sphinx@1.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-sphinx@1.7:", type=("build", "run"))
- patch('sphinxcontrib-trio.patch', when='@1.1.0')
+ patch("sphinxcontrib-trio.patch", when="@1.1.0")
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
index 1f65092fcf..dc32f4ec77 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
@@ -13,9 +13,9 @@ class PySphinxcontribWebsupport(PythonPackage):
homepage = "http://sphinx-doc.org/"
pypi = "sphinxcontrib-websupport/sphinxcontrib-websupport-1.1.2.tar.gz"
- version('1.1.2', sha256='1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc')
- version('1.1.0', sha256='9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9')
- version('1.0.1', sha256='7a85961326aa3a400cd4ad3c816d70ed6f7c740acd7ce5d78cd0a67825072eb9')
+ version("1.1.2", sha256="1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc")
+ version("1.1.0", sha256="9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9")
+ version("1.0.1", sha256="7a85961326aa3a400cd4ad3c816d70ed6f7c740acd7ce5d78cd0a67825072eb9")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-sphobjinv/package.py b/var/spack/repos/builtin/packages/py-sphobjinv/package.py
index 4e5c1ccd07..07a6ec91e6 100644
--- a/var/spack/repos/builtin/packages/py-sphobjinv/package.py
+++ b/var/spack/repos/builtin/packages/py-sphobjinv/package.py
@@ -10,13 +10,13 @@ class PySphobjinv(PythonPackage):
"""Sphinx objects.inv Inspection/Manipulation Tool."""
homepage = "https://github.com/bskinn/sphobjinv"
- url = "https://github.com/bskinn/sphobjinv/archive/refs/tags/v2.1.tar.gz"
+ url = "https://github.com/bskinn/sphobjinv/archive/refs/tags/v2.1.tar.gz"
- version('2.1', sha256='e41950a578dfd5acae24f12c7fe12b8d5e44f9162487aaa27189ca2e5c45d30c')
+ version("2.1", sha256="e41950a578dfd5acae24f12c7fe12b8d5e44f9162487aaa27189ca2e5c45d30c")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-attrs@19.2:', type=('build', 'run'))
- depends_on('py-certifi', type=('build', 'run'))
- depends_on('py-fuzzywuzzy@0.8:', type=('build', 'run'))
- depends_on('py-jsonschema@3.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-attrs@19.2:", type=("build", "run"))
+ depends_on("py-certifi", type=("build", "run"))
+ depends_on("py-fuzzywuzzy@0.8:", type=("build", "run"))
+ depends_on("py-jsonschema@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spyder/package.py b/var/spack/repos/builtin/packages/py-spyder/package.py
index dd0dd43d7e..c78ba1ac8f 100644
--- a/var/spack/repos/builtin/packages/py-spyder/package.py
+++ b/var/spack/repos/builtin/packages/py-spyder/package.py
@@ -12,35 +12,35 @@ class PySpyder(PythonPackage):
homepage = "https://github.com/spyder-ide/spyder"
pypi = "spyder/spyder-3.1.3.tar.gz"
- version('3.1.3', sha256='4978872cc5a006803bc8742d0a8fb43c49aef9524f0a9fcb8bd6dfcfdc2d2d6a')
+ version("3.1.3", sha256="4978872cc5a006803bc8742d0a8fb43c49aef9524f0a9fcb8bd6dfcfdc2d2d6a")
- depends_on('python@2.7.0:2.8.0,3.3.0:', type=('build', 'run'))
+ depends_on("python@2.7.0:2.8.0,3.3.0:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-rope@0.9.4:', type=('build', 'run'), when='^python@:3')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-rope@0.9.4:", type=("build", "run"), when="^python@:3")
# depends_on('py-rope_py3k', type=('build', 'run'), when='^python@3:')
- depends_on('py-jedi@0.9.0', type=('build', 'run'))
+ depends_on("py-jedi@0.9.0", type=("build", "run"))
# otherwise collision with py-flake8
- depends_on('py-pyflakes@1.2.3', type=('build', 'run'))
- depends_on('py-pygments@2.0:', type=('build', 'run'))
- depends_on('py-qtconsole@4.2.0:', type=('build', 'run'))
- depends_on('py-nbconvert', type=('build', 'run'))
- depends_on('py-sphinx', type=('build', 'run'))
+ depends_on("py-pyflakes@1.2.3", type=("build", "run"))
+ depends_on("py-pygments@2.0:", type=("build", "run"))
+ depends_on("py-qtconsole@4.2.0:", type=("build", "run"))
+ depends_on("py-nbconvert", type=("build", "run"))
+ depends_on("py-sphinx", type=("build", "run"))
# The pycodestyle dependency is split in two, because internally it
# changes its name from pep8 to pycodestyle, and spyder does not cope
# with this change until @3.2.0
# https://github.com/PyCQA/pycodestyle/issues/466
# https://github.com/spyder-ide/spyder/blob/master/CHANGELOG.md#version-32-2017-07-24
- depends_on('py-pycodestyle@:1.7.1', when='@:3.1', type=('build', 'run'))
- depends_on('py-pycodestyle@2.1.0:', when='@3.2.0:', type=('build', 'run'))
- depends_on('py-pylint', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-qtawesome@0.4.1:', type=('build', 'run'))
- depends_on('py-qtpy@1.1.0:', type=('build', 'run'))
+ depends_on("py-pycodestyle@:1.7.1", when="@:3.1", type=("build", "run"))
+ depends_on("py-pycodestyle@2.1.0:", when="@3.2.0:", type=("build", "run"))
+ depends_on("py-pylint", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-qtawesome@0.4.1:", type=("build", "run"))
+ depends_on("py-qtpy@1.1.0:", type=("build", "run"))
# technically this is a transitive dependency in order for py-pyqt4
# to pick up webkit, but this is the easier solution (see #9207)
- depends_on('qt+webkit', type=('build', 'run'))
- depends_on('py-pickleshare', type=('build', 'run'))
- depends_on('py-pyzmq', type=('build', 'run'))
- depends_on('py-chardet@2.0.0:', type=('build', 'run'))
- depends_on('py-numpydoc', type=('build', 'run'))
+ depends_on("qt+webkit", type=("build", "run"))
+ depends_on("py-pickleshare", type=("build", "run"))
+ depends_on("py-pyzmq", type=("build", "run"))
+ depends_on("py-chardet@2.0.0:", type=("build", "run"))
+ depends_on("py-numpydoc", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-spykeutils/package.py b/var/spack/repos/builtin/packages/py-spykeutils/package.py
index aaefdfb8d3..226c9ba9c3 100644
--- a/var/spack/repos/builtin/packages/py-spykeutils/package.py
+++ b/var/spack/repos/builtin/packages/py-spykeutils/package.py
@@ -12,9 +12,9 @@ class PySpykeutils(PythonPackage):
homepage = "https://github.com/rproepp/spykeutils"
pypi = "spykeutils/spykeutils-0.4.3.tar.gz"
- version('0.4.3', sha256='ff6206d9116d665024109c997377bfed37d953a4cac2859b79a610f395b6b37b')
+ version("0.4.3", sha256="ff6206d9116d665024109c997377bfed37d953a4cac2859b79a610f395b6b37b")
- depends_on('py-setuptools', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-quantities', type=('build', 'run'))
- depends_on('py-neo@0.2.1:0.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-quantities", type=("build", "run"))
+ depends_on("py-neo@0.2.1:0.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy-stubs/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy-stubs/package.py
index 5a47e8697b..078030b8ff 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy-stubs/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy-stubs/package.py
@@ -13,11 +13,11 @@ class PySqlalchemyStubs(PythonPackage):
"""
homepage = "https://github.com/dropbox/sqlalchemy-stubs"
- pypi = "sqlalchemy-stubs/sqlalchemy-stubs-0.4.tar.gz"
+ pypi = "sqlalchemy-stubs/sqlalchemy-stubs-0.4.tar.gz"
- version('0.4', sha256='c665d6dd4482ef642f01027fa06c3d5e91befabb219dc71fc2a09e7d7695f7ae')
+ version("0.4", sha256="c665d6dd4482ef642f01027fa06c3d5e91befabb219dc71fc2a09e7d7695f7ae")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-mypy@0.790:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-mypy@0.790:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
index 97809c38d0..ed907e094f 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy-utils/package.py
@@ -12,8 +12,8 @@ class PySqlalchemyUtils(PythonPackage):
homepage = "https://github.com/kvesteri/sqlalchemy-utils"
pypi = "sqlalchemy-utils/SQLAlchemy-Utils-0.36.8.tar.gz"
- version('0.36.8', sha256='fb66e9956e41340011b70b80f898fde6064ec1817af77199ee21ace71d7d6ab0')
+ version("0.36.8", sha256="fb66e9956e41340011b70b80f898fde6064ec1817af77199ee21ace71d7d6ab0")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-sqlalchemy@1.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-sqlalchemy@1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
index 06ee3af1ec..b2efca510b 100644
--- a/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlalchemy/package.py
@@ -9,47 +9,64 @@ from spack.package import *
class PySqlalchemy(PythonPackage):
"""The Python SQL Toolkit and Object Relational Mapper"""
- homepage = 'http://www.sqlalchemy.org/'
+ homepage = "http://www.sqlalchemy.org/"
pypi = "SQLAlchemy/SQLAlchemy-1.3.9.tar.gz"
# 'sqlalchemy.testing.suite' requires 'pytest'
# Attempt to import everything other than 'sqlalchemy.testing'
# to avoid unnecessary 'pytest' dependency
import_modules = [
- 'sqlalchemy', 'sqlalchemy.connectors', 'sqlalchemy.databases',
- 'sqlalchemy.util', 'sqlalchemy.ext', 'sqlalchemy.ext.declarative',
- 'sqlalchemy.dialects', 'sqlalchemy.dialects.sybase',
- 'sqlalchemy.dialects.postgresql', 'sqlalchemy.dialects.oracle',
- 'sqlalchemy.dialects.sqlite', 'sqlalchemy.dialects.mysql',
- 'sqlalchemy.dialects.mssql', 'sqlalchemy.dialects.firebird', 'sqlalchemy.orm',
- 'sqlalchemy.engine', 'sqlalchemy.pool', 'sqlalchemy.event', 'sqlalchemy.sql'
+ "sqlalchemy",
+ "sqlalchemy.connectors",
+ "sqlalchemy.databases",
+ "sqlalchemy.util",
+ "sqlalchemy.ext",
+ "sqlalchemy.ext.declarative",
+ "sqlalchemy.dialects",
+ "sqlalchemy.dialects.sybase",
+ "sqlalchemy.dialects.postgresql",
+ "sqlalchemy.dialects.oracle",
+ "sqlalchemy.dialects.sqlite",
+ "sqlalchemy.dialects.mysql",
+ "sqlalchemy.dialects.mssql",
+ "sqlalchemy.dialects.firebird",
+ "sqlalchemy.orm",
+ "sqlalchemy.engine",
+ "sqlalchemy.pool",
+ "sqlalchemy.event",
+ "sqlalchemy.sql",
]
- version('1.4.20', sha256='38ee3a266afef2978e82824650457f70c5d74ec0cadec1b10fe5ed6f038eb5d0')
- version('1.3.19', sha256='3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e')
- version('1.3.9', sha256='272a835758908412e75e87f75dd0179a51422715c125ce42109632910526b1fd')
- version('1.2.19', sha256='5bb2c4fc2bcc3447ad45716c66581eab982c007dcf925482498d8733f86f17c7')
- version('1.2.10', sha256='72325e67fb85f6e9ad304c603d83626d1df684fdf0c7ab1f0352e71feeab69d8')
- version('1.1.18', sha256='8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9')
- version('1.0.12', sha256='6679e20eae780b67ba136a4a76f83bb264debaac2542beefe02069d0206518d1')
+ version("1.4.20", sha256="38ee3a266afef2978e82824650457f70c5d74ec0cadec1b10fe5ed6f038eb5d0")
+ version("1.3.19", sha256="3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e")
+ version("1.3.9", sha256="272a835758908412e75e87f75dd0179a51422715c125ce42109632910526b1fd")
+ version("1.2.19", sha256="5bb2c4fc2bcc3447ad45716c66581eab982c007dcf925482498d8733f86f17c7")
+ version("1.2.10", sha256="72325e67fb85f6e9ad304c603d83626d1df684fdf0c7ab1f0352e71feeab69d8")
+ version("1.1.18", sha256="8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9")
+ version("1.0.12", sha256="6679e20eae780b67ba136a4a76f83bb264debaac2542beefe02069d0206518d1")
- depends_on('python@2.7:2.8,3.6:', when='@1.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@:1.3', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib-metadata', when='@1.4.0: ^python@:3.7', type='run')
- depends_on('py-greenlet@:0.4.16,0.4.18:', when='@1.4.0: ^python@3:', type='run')
+ depends_on("python@2.7:2.8,3.6:", when="@1.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@:1.3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib-metadata", when="@1.4.0: ^python@:3.7", type="run")
+ depends_on("py-greenlet@:0.4.16,0.4.18:", when="@1.4.0: ^python@3:", type="run")
- variant('backend', description='Python modules for database access',
- values=any_combination_of('mysql', 'pymysql', 'postgresql'))
+ variant(
+ "backend",
+ description="Python modules for database access",
+ values=any_combination_of("mysql", "pymysql", "postgresql"),
+ )
# >=1.4.0
- depends_on('py-mysqlclient@1.4:', when='backend=mysql @1.4: ^python@3:', type=('build', 'run'))
- depends_on('py-mysqlclient@1.4:,:1', when='backend=mysql @1.4: ^python@:2.7', type=('build', 'run'))
- depends_on('py-pymysql', when='backend=pymysql @1.4: ^python@3:', type=('build', 'run'))
- depends_on('py-pymysql@:0', when='backend=pymysql @1.4: ^python@:2.7', type=('build', 'run'))
- depends_on('py-psycopg2@2.7:', when='backend=postgresql @1.4:', type=('build', 'run'))
+ depends_on("py-mysqlclient@1.4:", when="backend=mysql @1.4: ^python@3:", type=("build", "run"))
+ depends_on(
+ "py-mysqlclient@1.4:,:1", when="backend=mysql @1.4: ^python@:2.7", type=("build", "run")
+ )
+ depends_on("py-pymysql", when="backend=pymysql @1.4: ^python@3:", type=("build", "run"))
+ depends_on("py-pymysql@:0", when="backend=pymysql @1.4: ^python@:2.7", type=("build", "run"))
+ depends_on("py-psycopg2@2.7:", when="backend=postgresql @1.4:", type=("build", "run"))
# < 1.4.0
- depends_on('py-mysqlclient', when='backend=mysql @:1.3', type=('build', 'run'))
- depends_on('py-pymysql', when='backend=pymysql @:1.3', type=('build', 'run'))
- depends_on('py-psycopg2', when='backend=postgresql @:1.3', type=('build', 'run'))
+ depends_on("py-mysqlclient", when="backend=mysql @:1.3", type=("build", "run"))
+ depends_on("py-pymysql", when="backend=pymysql @:1.3", type=("build", "run"))
+ depends_on("py-psycopg2", when="backend=postgresql @:1.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-sqlparse/package.py b/var/spack/repos/builtin/packages/py-sqlparse/package.py
index 783a051371..841b3bf690 100644
--- a/var/spack/repos/builtin/packages/py-sqlparse/package.py
+++ b/var/spack/repos/builtin/packages/py-sqlparse/package.py
@@ -10,13 +10,13 @@ class PySqlparse(PythonPackage):
"""A non-validating SQL parser module for Python."""
homepage = "https://github.com/andialbrecht/sqlparse"
- url = "https://github.com/andialbrecht/sqlparse/archive/0.3.1.tar.gz"
+ url = "https://github.com/andialbrecht/sqlparse/archive/0.3.1.tar.gz"
- version('0.4.1', sha256='f75cdec98a4cc8296890279d744e1ae8618bb14dbad77e3d0637f0d7bb5d6535')
- version('0.3.1', sha256='344b539482b75c244ac69fbb160d0f4d63a288a392475c8418ca692c594561f9')
- version('0.3.0', sha256='a75fddae009fba1d66786203c9dd3a842aa4415475c466d15484139117108474')
- version('0.2.4', sha256='7087a2bd385c06ac1a5cf343e2e5ea7ce2bb6386849e59ef214e02af68f73fb4')
- version('0.2.3', sha256='12470ab41df1a7003a2957a79c6da9cd4ded180c8a193aa112fe0899b935ef30')
+ version("0.4.1", sha256="f75cdec98a4cc8296890279d744e1ae8618bb14dbad77e3d0637f0d7bb5d6535")
+ version("0.3.1", sha256="344b539482b75c244ac69fbb160d0f4d63a288a392475c8418ca692c594561f9")
+ version("0.3.0", sha256="a75fddae009fba1d66786203c9dd3a842aa4415475c466d15484139117108474")
+ version("0.2.4", sha256="7087a2bd385c06ac1a5cf343e2e5ea7ce2bb6386849e59ef214e02af68f73fb4")
+ version("0.2.3", sha256="12470ab41df1a7003a2957a79c6da9cd4ded180c8a193aa112fe0899b935ef30")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-srsly/package.py b/var/spack/repos/builtin/packages/py-srsly/package.py
index 447bcab84f..636ae4cb14 100644
--- a/var/spack/repos/builtin/packages/py-srsly/package.py
+++ b/var/spack/repos/builtin/packages/py-srsly/package.py
@@ -13,15 +13,15 @@ class PySrsly(PythonPackage):
homepage = "https://github.com/explosion/srsly"
pypi = "srsly/srsly-2.0.1.tar.gz"
- version('2.0.1', sha256='fa3c7375be8fe75f23c27feafbfb5f738d55ffdbf02964c6896fb7684f519a52')
- version('2.0.0', sha256='785b00e00406120dbef4ca82925051e6b60fe870c5f84f0d22b3632d574eb870')
- version('1.0.2', sha256='59258b81d567df207f8a0a33c4b5fa232afccf1d927c8ce3ba5395bfd64c0ed8')
+ version("2.0.1", sha256="fa3c7375be8fe75f23c27feafbfb5f738d55ffdbf02964c6896fb7684f519a52")
+ version("2.0.0", sha256="785b00e00406120dbef4ca82925051e6b60fe870c5f84f0d22b3632d574eb870")
+ version("1.0.2", sha256="59258b81d567df207f8a0a33c4b5fa232afccf1d927c8ce3ba5395bfd64c0ed8")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', when='@2:', type='build')
- depends_on('py-cython@0.25:', when='@2:', type='build')
- depends_on('py-pathlib@1.0.1', when='^python@:3.3', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", when="@2:", type="build")
+ depends_on("py-cython@0.25:", when="@2:", type="build")
+ depends_on("py-pathlib@1.0.1", when="^python@:3.3", type=("build", "run"))
# https://github.com/explosion/srsly/pull/24
- patch('subprocess.patch', when='@2.0.0:2.0.1')
+ patch("subprocess.patch", when="@2.0.0:2.0.1")
diff --git a/var/spack/repos/builtin/packages/py-sshtunnel/package.py b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
index c58af29516..bcf72406c4 100644
--- a/var/spack/repos/builtin/packages/py-sshtunnel/package.py
+++ b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
@@ -13,7 +13,7 @@ class PySshtunnel(PythonPackage):
homepage = "https://github.com/pahaz/sshtunnel"
pypi = "sshtunnel/sshtunnel-0.1.5.tar.gz"
- version('0.1.5', sha256='c813fdcda8e81c3936ffeac47cb69cfb2d1f5e77ad0de656c6dab56aeebd9249')
+ version("0.1.5", sha256="c813fdcda8e81c3936ffeac47cb69cfb2d1f5e77ad0de656c6dab56aeebd9249")
- depends_on('py-setuptools', type='build')
- depends_on('py-paramiko@1.15.2:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-paramiko@1.15.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-stack-data/package.py b/var/spack/repos/builtin/packages/py-stack-data/package.py
index c0eb15383e..17dee3c525 100644
--- a/var/spack/repos/builtin/packages/py-stack-data/package.py
+++ b/var/spack/repos/builtin/packages/py-stack-data/package.py
@@ -11,12 +11,12 @@ class PyStackData(PythonPackage):
displays."""
homepage = "http://github.com/alexmojaki/stack_data"
- pypi = "stack_data/stack_data-0.2.0.tar.gz"
+ pypi = "stack_data/stack_data-0.2.0.tar.gz"
- version('0.2.0', sha256='45692d41bd633a9503a5195552df22b583caf16f0b27c4e58c98d88c8b648e12')
+ version("0.2.0", sha256="45692d41bd633a9503a5195552df22b583caf16f0b27c4e58c98d88c8b648e12")
- depends_on('py-setuptools@44:', type='build')
- depends_on('py-setuptools-scm+toml@3.4.3:', type='build')
- depends_on('py-executing', type=('build', 'run'))
- depends_on('py-asttokens', type=('build', 'run'))
- depends_on('py-pure-eval', type=('build', 'run'))
+ depends_on("py-setuptools@44:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4.3:", type="build")
+ depends_on("py-executing", type=("build", "run"))
+ depends_on("py-asttokens", type=("build", "run"))
+ depends_on("py-pure-eval", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-statsmodels/package.py b/var/spack/repos/builtin/packages/py-statsmodels/package.py
index bc7a56389c..4e2b937411 100644
--- a/var/spack/repos/builtin/packages/py-statsmodels/package.py
+++ b/var/spack/repos/builtin/packages/py-statsmodels/package.py
@@ -12,57 +12,57 @@ class PyStatsmodels(PythonPackage):
homepage = "https://www.statsmodels.org"
pypi = "statsmodels/statsmodels-0.8.0.tar.gz"
- version('0.13.2', sha256='77dc292c9939c036a476f1770f9d08976b05437daa229928da73231147cde7d4')
- version('0.13.1', sha256='006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69')
- version('0.13.0', sha256='f2efc02011b7240a9e851acd76ab81150a07d35c97021cb0517887539a328f8a')
- version('0.12.2', sha256='8ad7a7ae7cdd929095684118e3b05836c0ccb08b6a01fe984159475d174a1b10')
- version('0.12.1', sha256='a271b4ccec190148dccda25f0cbdcbf871f408fc1394a10a7dc1af4a62b91c8e')
- version('0.10.2', sha256='9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9')
- version('0.10.1', sha256='320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10')
- version('0.8.0', sha256='26431ab706fbae896db7870a0892743bfbb9f5c83231644692166a31d2d86048')
+ version("0.13.2", sha256="77dc292c9939c036a476f1770f9d08976b05437daa229928da73231147cde7d4")
+ version("0.13.1", sha256="006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69")
+ version("0.13.0", sha256="f2efc02011b7240a9e851acd76ab81150a07d35c97021cb0517887539a328f8a")
+ version("0.12.2", sha256="8ad7a7ae7cdd929095684118e3b05836c0ccb08b6a01fe984159475d174a1b10")
+ version("0.12.1", sha256="a271b4ccec190148dccda25f0cbdcbf871f408fc1394a10a7dc1af4a62b91c8e")
+ version("0.10.2", sha256="9cd2194c6642a8754e85f9a6e6912cdf996bebf6ff715d3cc67f65dadfd37cc9")
+ version("0.10.1", sha256="320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10")
+ version("0.8.0", sha256="26431ab706fbae896db7870a0892743bfbb9f5c83231644692166a31d2d86048")
- variant('plotting', default=False, description='With matplotlib')
+ variant("plotting", default=False, description="With matplotlib")
- depends_on('python@:3.6', when='@:0.8.0', type=('build', 'link', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@0.10.1:', type=('build', 'link', 'run'))
- depends_on('python@3.6:', when='@0.12.1:', type=('build', 'link', 'run'))
+ depends_on("python@:3.6", when="@:0.8.0", type=("build", "link", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@0.10.1:", type=("build", "link", "run"))
+ depends_on("python@3.6:", when="@0.12.1:", type=("build", "link", "run"))
# according to https://www.statsmodels.org/dev/install.html earlier versions
# might work.
- depends_on('py-setuptools@0.6c5:', type='build')
- depends_on('py-cython@0.29:', type='build')
- depends_on('py-cython@0.29.14:', type='build', when='@0.12.0:')
- depends_on('py-cython@0.29.22:', type='build', when='@0.13.0:')
+ depends_on("py-setuptools@0.6c5:", type="build")
+ depends_on("py-cython@0.29:", type="build")
+ depends_on("py-cython@0.29.14:", type="build", when="@0.12.0:")
+ depends_on("py-cython@0.29.22:", type="build", when="@0.13.0:")
# patsy@0.5.1 works around a Python change
# https://github.com/statsmodels/statsmodels/issues/5343 and
# https://github.com/pydata/patsy/pull/131
- depends_on('py-numpy@1.7.0:', type=('build', 'link', 'run'), when='@0.8.0:')
- depends_on('py-numpy@1.11.0:', type=('build', 'link', 'run'), when='@0.10.1:')
- depends_on('py-numpy@1.15.0:', type=('build', 'link', 'run'), when='@0.12.1:')
- depends_on('py-numpy@1.17.0:', type=('build', 'link', 'run'), when='@0.13.0:')
- depends_on('py-pandas@0.12:', type=('build', 'run'), when='@0.8.0:')
- depends_on('py-pandas@0.19:', type=('build', 'run'), when='@0.10.1:')
- depends_on('py-pandas@0.23:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-pandas@0.25:', type=('build', 'run'), when='@0.13.0:')
- depends_on('py-patsy@0.2.1:', type=('build', 'run'), when='@0.8.0:')
- depends_on('py-patsy@0.4.0:', type=('build', 'run'), when='@0.10.1:')
- depends_on('py-patsy@0.5.1:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-patsy@0.5.2:', type=('build', 'run'), when='@0.13.0:')
- depends_on('py-scipy@0.11:', type=('build', 'run'), when='@0.8.0:')
- depends_on('py-scipy@0.18:', type=('build', 'run'), when='@0.10.1:')
- depends_on('py-scipy@1.2:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-scipy@1.3:', type=('build', 'run'), when='@0.13.0:')
- depends_on('py-packaging@21.3:', type=('build', 'run'), when='@0.13.2:')
- depends_on('py-matplotlib@1.3:', type=('build', 'run'), when='@0.8.0 +plotting')
+ depends_on("py-numpy@1.7.0:", type=("build", "link", "run"), when="@0.8.0:")
+ depends_on("py-numpy@1.11.0:", type=("build", "link", "run"), when="@0.10.1:")
+ depends_on("py-numpy@1.15.0:", type=("build", "link", "run"), when="@0.12.1:")
+ depends_on("py-numpy@1.17.0:", type=("build", "link", "run"), when="@0.13.0:")
+ depends_on("py-pandas@0.12:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-pandas@0.19:", type=("build", "run"), when="@0.10.1:")
+ depends_on("py-pandas@0.23:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-pandas@0.25:", type=("build", "run"), when="@0.13.0:")
+ depends_on("py-patsy@0.2.1:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-patsy@0.4.0:", type=("build", "run"), when="@0.10.1:")
+ depends_on("py-patsy@0.5.1:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-patsy@0.5.2:", type=("build", "run"), when="@0.13.0:")
+ depends_on("py-scipy@0.11:", type=("build", "run"), when="@0.8.0:")
+ depends_on("py-scipy@0.18:", type=("build", "run"), when="@0.10.1:")
+ depends_on("py-scipy@1.2:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-scipy@1.3:", type=("build", "run"), when="@0.13.0:")
+ depends_on("py-packaging@21.3:", type=("build", "run"), when="@0.13.2:")
+ depends_on("py-matplotlib@1.3:", type=("build", "run"), when="@0.8.0 +plotting")
- depends_on('py-pytest', type='test')
+ depends_on("py-pytest", type="test")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
dirs = glob.glob("build/lib*") # There can be only one...
with working_dir(dirs[0]):
- pytest = which('pytest')
- pytest('statsmodels')
+ pytest = which("pytest")
+ pytest("statsmodels")
diff --git a/var/spack/repos/builtin/packages/py-stdlib-list/package.py b/var/spack/repos/builtin/packages/py-stdlib-list/package.py
index 41de386f9d..0b4d7785cc 100644
--- a/var/spack/repos/builtin/packages/py-stdlib-list/package.py
+++ b/var/spack/repos/builtin/packages/py-stdlib-list/package.py
@@ -14,7 +14,7 @@ class PyStdlibList(PythonPackage):
pypi = "stdlib-list/stdlib-list-0.6.0.tar.gz"
- version('0.6.0', sha256='133cc99104f5a4e1604dc88ebb393529bd4c2b99ae7e10d46c0b596f3c67c3f0')
+ version("0.6.0", sha256="133cc99104f5a4e1604dc88ebb393529bd4c2b99ae7e10d46c0b596f3c67c3f0")
- depends_on('py-functools32', when="^python@:3.1", type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-functools32", when="^python@:3.1", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-stestr/package.py b/var/spack/repos/builtin/packages/py-stestr/package.py
index ae8d88d08f..726bb9161a 100644
--- a/var/spack/repos/builtin/packages/py-stestr/package.py
+++ b/var/spack/repos/builtin/packages/py-stestr/package.py
@@ -12,7 +12,7 @@ class PyStestr(PythonPackage):
homepage = "https://stestr.readthedocs.io/en/latest/"
pypi = "stestr/stestr-2.5.1.tar.gz"
- version('2.5.1', sha256='151479fdf2db9f5f492b5285f4696f2d38960639054835dbdcd4c0687122c0fd')
+ version("2.5.1", sha256="151479fdf2db9f5f492b5285f4696f2d38960639054835dbdcd4c0687122c0fd")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-stevedore/package.py b/var/spack/repos/builtin/packages/py-stevedore/package.py
index ab7affedf5..e1d99bddfd 100644
--- a/var/spack/repos/builtin/packages/py-stevedore/package.py
+++ b/var/spack/repos/builtin/packages/py-stevedore/package.py
@@ -12,14 +12,14 @@ class PyStevedore(PythonPackage):
homepage = "https://docs.openstack.org/stevedore/latest/"
pypi = "stevedore/stevedore-1.28.0.tar.gz"
- version('3.5.0', sha256='f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335')
- version('1.28.0', sha256='f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b')
+ version("3.5.0", sha256="f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335")
+ version("1.28.0", sha256="f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@3.5.0:')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@3.5.0:")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@:3.4')
- depends_on('py-pbr@2.0.0:2.1.0', type=('build', 'run'), when='@:3.4')
- depends_on('py-pbr@2.0.0:', type=('build', 'run'), when='@3.5.0:')
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@:3.4")
+ depends_on("py-pbr@2.0.0:2.1.0", type=("build", "run"), when="@:3.4")
+ depends_on("py-pbr@2.0.0:", type=("build", "run"), when="@3.5.0:")
diff --git a/var/spack/repos/builtin/packages/py-stomp-py/package.py b/var/spack/repos/builtin/packages/py-stomp-py/package.py
index f128e80ab8..c4644a2d3e 100644
--- a/var/spack/repos/builtin/packages/py-stomp-py/package.py
+++ b/var/spack/repos/builtin/packages/py-stomp-py/package.py
@@ -12,12 +12,12 @@ class PyStompPy(PythonPackage):
protocol (STOMP v1.0, STOMP v1.1 and STOMP v1.2)"""
homepage = "https://github.com/jasonrbriggs/stomp.py"
- pypi = "stomp.py/stomp.py-8.0.0.tar.gz"
+ pypi = "stomp.py/stomp.py-8.0.0.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('8.0.0', sha256='7085935293bfcc4a112a9830513275b2e0f3b040c5aad5ff8907e78f285b8b57')
+ version("8.0.0", sha256="7085935293bfcc4a112a9830513275b2e0f3b040c5aad5ff8907e78f285b8b57")
- depends_on('python@3.6.3:', type=('build', 'run'))
- depends_on('py-poetry@0.12:', type='build')
- depends_on('py-docopt@0.6.2:0', type=('build', 'run'))
+ depends_on("python@3.6.3:", type=("build", "run"))
+ depends_on("py-poetry@0.12:", type="build")
+ depends_on("py-docopt@0.6.2:0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-stopit/package.py b/var/spack/repos/builtin/packages/py-stopit/package.py
index 1324730fcd..5d013b4bbb 100644
--- a/var/spack/repos/builtin/packages/py-stopit/package.py
+++ b/var/spack/repos/builtin/packages/py-stopit/package.py
@@ -14,7 +14,7 @@ class PyStopit(PythonPackage):
pypi = "stopit/stopit-1.1.2.tar.gz"
- version('1.1.2', sha256='f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d')
+ version("1.1.2", sha256="f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-storm/package.py b/var/spack/repos/builtin/packages/py-storm/package.py
index bd9db6b74f..89699baa28 100644
--- a/var/spack/repos/builtin/packages/py-storm/package.py
+++ b/var/spack/repos/builtin/packages/py-storm/package.py
@@ -8,16 +8,20 @@ from spack.package import *
class PyStorm(PythonPackage):
"""Storm is an object-relational mapper (ORM) for Python"""
+
homepage = "https://storm.canonical.com/"
- pypi = 'storm/storm-0.25.tar.gz'
+ pypi = "storm/storm-0.25.tar.gz"
- version('0.25', sha256='ec7cc8897638f94f6b75c6a2af74aa9b31f5492d7a2f9482c08a8dd7b46adb14')
- version('0.23', sha256='01c59f1c898fb9891333abd65519ba2dd5f68623ac8e67b54932e99ce52593d3',
- url='https://files.pythonhosted.org/packages/source/s/storm/storm-0.23.tar.bz2')
- version('0.20', sha256='35f5883e93a262002ca59dbb39645c67434a182d758543c4a2467ff690ac23a5')
+ version("0.25", sha256="ec7cc8897638f94f6b75c6a2af74aa9b31f5492d7a2f9482c08a8dd7b46adb14")
+ version(
+ "0.23",
+ sha256="01c59f1c898fb9891333abd65519ba2dd5f68623ac8e67b54932e99ce52593d3",
+ url="https://files.pythonhosted.org/packages/source/s/storm/storm-0.23.tar.bz2",
+ )
+ version("0.20", sha256="35f5883e93a262002ca59dbb39645c67434a182d758543c4a2467ff690ac23a5")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'), when='@0.23:')
- depends_on('py-zope-interface@4:', type=('build', 'run'))
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@:0.20')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@0.21:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"), when="@0.23:")
+ depends_on("py-zope-interface@4:", type=("build", "run"))
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@:0.20")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@0.21:")
diff --git a/var/spack/repos/builtin/packages/py-stratify/package.py b/var/spack/repos/builtin/packages/py-stratify/package.py
index 4b22032c8a..f459ac4416 100644
--- a/var/spack/repos/builtin/packages/py-stratify/package.py
+++ b/var/spack/repos/builtin/packages/py-stratify/package.py
@@ -15,8 +15,8 @@ class PyStratify(PythonPackage):
homepage = "https://github.com/SciTools-incubator/python-stratify"
pypi = "stratify/stratify-0.1.tar.gz"
- version('0.1', sha256='5426f3b66e45e1010952d426e5a7be42cd45fe65f1cd73a98fee1eb7c110c6ee')
+ version("0.1", sha256="5426f3b66e45e1010952d426e5a7be42cd45fe65f1cd73a98fee1eb7c110c6ee")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-stsci-distutils/package.py b/var/spack/repos/builtin/packages/py-stsci-distutils/package.py
index e33b5903fa..153256daee 100644
--- a/var/spack/repos/builtin/packages/py-stsci-distutils/package.py
+++ b/var/spack/repos/builtin/packages/py-stsci-distutils/package.py
@@ -11,9 +11,9 @@ class PyStsciDistutils(PythonPackage):
package some of STScI's Python projects."""
homepage = "https://github.com/spacetelescope/stsci.distutils"
- url = "https://github.com/spacetelescope/stsci.distutils/archive/0.3.8.tar.gz"
+ url = "https://github.com/spacetelescope/stsci.distutils/archive/0.3.8.tar.gz"
- version('0.3.8', sha256='a52f3ec3b392a9cecd98d143b678c27346cbfa8f34c34698821d7e167907edce')
+ version("0.3.8", sha256="a52f3ec3b392a9cecd98d143b678c27346cbfa8f34c34698821d7e167907edce")
- depends_on('py-setuptools', type='build')
- depends_on('py-d2to1', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-d2to1", type="build")
diff --git a/var/spack/repos/builtin/packages/py-submitit/package.py b/var/spack/repos/builtin/packages/py-submitit/package.py
index 30880505ae..ee3bfd5c80 100644
--- a/var/spack/repos/builtin/packages/py-submitit/package.py
+++ b/var/spack/repos/builtin/packages/py-submitit/package.py
@@ -12,10 +12,10 @@ class PySubmitit(PythonPackage):
homepage = "https://github.com/facebookincubator/submitit"
pypi = "submitit/submitit-1.3.3.tar.gz"
- version('1.3.3', sha256='efaa77b2df9ea9ee02545478cbfc377853ddf8016bff59df6988bebcf51ffa7e')
+ version("1.3.3", sha256="efaa77b2df9ea9ee02545478cbfc377853ddf8016bff59df6988bebcf51ffa7e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
+ 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'))
+ depends_on("py-cloudpickle@1.2.1:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-subprocess32/package.py b/var/spack/repos/builtin/packages/py-subprocess32/package.py
index cb65eddaf0..11f8144153 100644
--- a/var/spack/repos/builtin/packages/py-subprocess32/package.py
+++ b/var/spack/repos/builtin/packages/py-subprocess32/package.py
@@ -11,7 +11,7 @@ class PySubprocess32(PythonPackage):
pypi = "subprocess32/subprocess32-3.2.7.tar.gz"
- version('3.5.4', sha256='eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d')
- version('3.2.7', sha256='1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590')
+ version("3.5.4", sha256="eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d")
+ version("3.2.7", sha256="1e450a4a4c53bf197ad6402c564b9f7a53539385918ef8f12bdf430a61036590")
- depends_on('py-setuptools', type='build', when='@3.5.0:')
+ depends_on("py-setuptools", type="build", when="@3.5.0:")
diff --git a/var/spack/repos/builtin/packages/py-subrosa/package.py b/var/spack/repos/builtin/packages/py-subrosa/package.py
index 945b92852a..fa74679b16 100644
--- a/var/spack/repos/builtin/packages/py-subrosa/package.py
+++ b/var/spack/repos/builtin/packages/py-subrosa/package.py
@@ -12,9 +12,9 @@ class PySubrosa(PythonPackage):
individual of the group know the secret."""
homepage = "https://github.com/DasIch/subrosa/"
- url = "https://github.com/DasIch/subrosa/archive/0.1.0.tar.gz"
+ url = "https://github.com/DasIch/subrosa/archive/0.1.0.tar.gz"
- version('0.1.0', sha256='dc8172119a338874afa0bdcba035224c965ff71d2cbceda70b1ed2377aa390ea')
+ version("0.1.0", sha256="dc8172119a338874afa0bdcba035224c965ff71d2cbceda70b1ed2377aa390ea")
- depends_on('py-setuptools', type='build')
- depends_on('py-gf256', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-gf256", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-svgpathtools/package.py b/var/spack/repos/builtin/packages/py-svgpathtools/package.py
index fa40e3c3c1..43e1492b8f 100644
--- a/var/spack/repos/builtin/packages/py-svgpathtools/package.py
+++ b/var/spack/repos/builtin/packages/py-svgpathtools/package.py
@@ -13,8 +13,8 @@ class PySvgpathtools(PythonPackage):
pypi = "svgpathtools/svgpathtools-1.3.3.tar.gz"
- version('1.3.3', sha256='e4b3784ae41b725fbce6a33a8981210967b16d0b557cb5d98c0ed0c81f0f89b9')
+ version("1.3.3", sha256="e4b3784ae41b725fbce6a33a8981210967b16d0b557cb5d98c0ed0c81f0f89b9")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-svgwrite', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-svgwrite", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-svgutils/package.py b/var/spack/repos/builtin/packages/py-svgutils/package.py
index a12cce6aab..1f1a3f8f06 100644
--- a/var/spack/repos/builtin/packages/py-svgutils/package.py
+++ b/var/spack/repos/builtin/packages/py-svgutils/package.py
@@ -10,10 +10,10 @@ class PySvgutils(PythonPackage):
"""Python tools to create and manipulate SVG files."""
homepage = "https://github.com/btel/svg_utils"
- pypi = "svgutils/svgutils-0.3.4.tar.gz"
+ pypi = "svgutils/svgutils-0.3.4.tar.gz"
- version('0.3.4', sha256='9ef48f44cb1d460a7747dd02694200fda25eb9faf6dea392118def2695e0e053')
- version('0.3.1', sha256='cd52474765fd460ad2389947f77589de96142f6f0ce3f61e08ccfabeac2ff8af')
+ version("0.3.4", sha256="9ef48f44cb1d460a7747dd02694200fda25eb9faf6dea392118def2695e0e053")
+ version("0.3.1", sha256="cd52474765fd460ad2389947f77589de96142f6f0ce3f61e08ccfabeac2ff8af")
- depends_on('py-setuptools', type='build')
- depends_on('py-lxml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-lxml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-svgwrite/package.py b/var/spack/repos/builtin/packages/py-svgwrite/package.py
index 07d031066c..1fe0aedede 100644
--- a/var/spack/repos/builtin/packages/py-svgwrite/package.py
+++ b/var/spack/repos/builtin/packages/py-svgwrite/package.py
@@ -12,7 +12,7 @@ class PySvgwrite(PythonPackage):
pypi = "svgwrite/svgwrite-1.1.12.zip"
- version('1.1.12', sha256='968c99f193f34f0fa7f0b3e82f49b93789c7c45cd89ce190480f16020d41ab79')
+ version("1.1.12", sha256="968c99f193f34f0fa7f0b3e82f49b93789c7c45cd89ce190480f16020d41ab79")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyparsing@2.0.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyparsing@2.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-symengine/package.py b/var/spack/repos/builtin/packages/py-symengine/package.py
index 79750500d0..d5151e41e5 100644
--- a/var/spack/repos/builtin/packages/py-symengine/package.py
+++ b/var/spack/repos/builtin/packages/py-symengine/package.py
@@ -11,24 +11,26 @@ class PySymengine(PythonPackage):
homepage = "https://github.com/symengine/symengine.py"
pypi = "symengine/symengine-0.2.0.tar.gz"
- git = "https://github.com/symengine/symengine.py.git"
+ git = "https://github.com/symengine/symengine.py.git"
- version('master', branch='master')
+ version("master", branch="master")
# pypi source doesn't have necessary files in cmake directory
- version('0.8.1',
- url='https://github.com/symengine/symengine.py/archive/refs/tags/v0.8.1.tar.gz',
- sha256='02fe79e6d5e9b39a1d4e6fee05a2c1d1b10fd032157c7738ed97e32406ffb087')
- version('0.2.0', sha256='78a14aea7aad5e7cbfb5cabe141581f9bba30e3c319690e5db8ad99fdf2d8885')
+ version(
+ "0.8.1",
+ url="https://github.com/symengine/symengine.py/archive/refs/tags/v0.8.1.tar.gz",
+ sha256="02fe79e6d5e9b39a1d4e6fee05a2c1d1b10fd032157c7738ed97e32406ffb087",
+ )
+ version("0.2.0", sha256="78a14aea7aad5e7cbfb5cabe141581f9bba30e3c319690e5db8ad99fdf2d8885")
# Build dependencies
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@0.2.0')
- depends_on('python@3.6:3', type=('build', 'run'), when='@0.8.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.19.1:', type='build', when='@0.2.0')
- depends_on('py-cython@0.29.24:', type='build', when='@0.8.1:')
- depends_on('cmake@2.8.12:', type='build')
- depends_on('symengine@0.2.0', when='@0.2.0')
- depends_on('symengine@0.8.1', when='@0.8.1')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"), when="@0.2.0")
+ depends_on("python@3.6:3", type=("build", "run"), when="@0.8.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.19.1:", type="build", when="@0.2.0")
+ depends_on("py-cython@0.29.24:", type="build", when="@0.8.1:")
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("symengine@0.2.0", when="@0.2.0")
+ depends_on("symengine@0.8.1", when="@0.8.1")
def install_options(self, spec, prefix):
- return ['--symengine-dir={0}'.format(spec['symengine'].prefix)]
+ return ["--symengine-dir={0}".format(spec["symengine"].prefix)]
diff --git a/var/spack/repos/builtin/packages/py-symfit/package.py b/var/spack/repos/builtin/packages/py-symfit/package.py
index ff1b51da75..6c551bcadd 100644
--- a/var/spack/repos/builtin/packages/py-symfit/package.py
+++ b/var/spack/repos/builtin/packages/py-symfit/package.py
@@ -12,11 +12,11 @@ class PySymfit(PythonPackage):
homepage = "https://symfit.readthedocs.org"
pypi = "symfit/symfit-0.3.5.tar.gz"
- version('0.3.5', sha256='24c66305895c590249da7e61f62f128ee1c0c43c0a8c8e33b8abd3e0931f0881')
+ version("0.3.5", sha256="24c66305895c590249da7e61f62f128ee1c0c43c0a8c8e33b8abd3e0931f0881")
- depends_on('py-setuptools@17.1:', type='build')
- depends_on('py-pbr@1.9:', type='build')
- depends_on('py-numpy', type='run')
- depends_on('py-scipy', type='run')
- depends_on('py-sympy', type='run')
- depends_on('py-funcsigs', type='run', when='^python@:2.8')
+ depends_on("py-setuptools@17.1:", type="build")
+ depends_on("py-pbr@1.9:", type="build")
+ depends_on("py-numpy", type="run")
+ depends_on("py-scipy", type="run")
+ depends_on("py-sympy", type="run")
+ depends_on("py-funcsigs", type="run", when="^python@:2.8")
diff --git a/var/spack/repos/builtin/packages/py-sympy/package.py b/var/spack/repos/builtin/packages/py-sympy/package.py
index 620d44fb01..29189bfb1f 100644
--- a/var/spack/repos/builtin/packages/py-sympy/package.py
+++ b/var/spack/repos/builtin/packages/py-sympy/package.py
@@ -8,27 +8,28 @@ from spack.package import *
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')
+ 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:', 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("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"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-mpmath@0.19:', when='@1.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-mpmath@0.19:", when="@1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-syned/package.py b/var/spack/repos/builtin/packages/py-syned/package.py
index 2d1574b7d1..cfabcccceb 100644
--- a/var/spack/repos/builtin/packages/py-syned/package.py
+++ b/var/spack/repos/builtin/packages/py-syned/package.py
@@ -13,10 +13,10 @@ class PySyned(PythonPackage):
exported to the different add-ons."""
homepage = "https://github.com/oasys-kit/syned"
- git = "https://github.com/oasys-kit/syned.git"
+ git = "https://github.com/oasys-kit/syned.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('py-numpy')
- depends_on('py-scipy')
- depends_on('py-setuptools')
+ depends_on("py-numpy")
+ depends_on("py-scipy")
+ depends_on("py-setuptools")
diff --git a/var/spack/repos/builtin/packages/py-systemd-python/package.py b/var/spack/repos/builtin/packages/py-systemd-python/package.py
index 0e44ad4fd5..09293e9d15 100644
--- a/var/spack/repos/builtin/packages/py-systemd-python/package.py
+++ b/var/spack/repos/builtin/packages/py-systemd-python/package.py
@@ -12,7 +12,7 @@ class PySystemdPython(PythonPackage):
homepage = "https://github.com/systemd/python-systemd"
pypi = "systemd-python/systemd-python-234.tar.gz"
- version('234', sha256='fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7')
+ version("234", sha256="fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py
index 80188499dc..648fc8d640 100644
--- a/var/spack/repos/builtin/packages/py-tables/package.py
+++ b/var/spack/repos/builtin/packages/py-tables/package.py
@@ -13,42 +13,42 @@ class PyTables(PythonPackage):
homepage = "https://www.pytables.org/"
pypi = "tables/tables-3.6.1.tar.gz"
- version('3.6.1', sha256='49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49')
- version('3.6.0', sha256='db3488214864fb313a611fca68bf1c9019afe4e7877be54d0e61c84416603d4d')
- version('3.5.2', sha256='b220e32262bab320aa41d33125a7851ff898be97c0de30b456247508e2cc33c2')
- version('3.4.4', sha256='bdc5c073712af2a43babd139c4855fc99496bb2c3f3f5d1b4770a985e6f9ce29')
- version('3.3.0', sha256='8383ccf02e041a5d55494a09fc5514140b4653055a2732c981b5fd0f7408822c')
- version('3.2.2', sha256='3564b351a71ec1737b503b001eb7ceae1f65d5d6e3ffe1ea75aafba10f37fa84')
+ version("3.6.1", sha256="49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49")
+ version("3.6.0", sha256="db3488214864fb313a611fca68bf1c9019afe4e7877be54d0e61c84416603d4d")
+ version("3.5.2", sha256="b220e32262bab320aa41d33125a7851ff898be97c0de30b456247508e2cc33c2")
+ version("3.4.4", sha256="bdc5c073712af2a43babd139c4855fc99496bb2c3f3f5d1b4770a985e6f9ce29")
+ version("3.3.0", sha256="8383ccf02e041a5d55494a09fc5514140b4653055a2732c981b5fd0f7408822c")
+ version("3.2.2", sha256="3564b351a71ec1737b503b001eb7ceae1f65d5d6e3ffe1ea75aafba10f37fa84")
- variant('zlib', default=True, description='Support for zlib compression')
- variant('bzip2', default=False, description='Support for bzip2 compression')
- variant('lzo', default=False, description='Support for lzo compression')
+ variant("zlib", default=True, description="Support for zlib compression")
+ variant("bzip2", default=False, description="Support for bzip2 compression")
+ variant("lzo", default=False, description="Support for lzo compression")
# requirements.txt
- depends_on('python@3.5:', when='@3.6.1:', type=('build', 'run'))
- depends_on('python@3.4:', when='@3.6.0:', type=('build', 'run'))
- depends_on('python@2.6:', type=('build', 'run'))
-
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-cython@0.21:', type='build')
- depends_on('py-numpy@1.9.3:', type=('build', 'run'))
- depends_on('py-numexpr@2.6.2:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', when='@:3.5', type=('build', 'run'))
+ depends_on("python@3.5:", when="@3.6.1:", type=("build", "run"))
+ depends_on("python@3.4:", when="@3.6.0:", type=("build", "run"))
+ depends_on("python@2.6:", type=("build", "run"))
+
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cython@0.21:", type="build")
+ depends_on("py-numpy@1.9.3:", type=("build", "run"))
+ depends_on("py-numexpr@2.6.2:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", when="@:3.5", type=("build", "run"))
# tables/req_versions.py
- depends_on('hdf5@1.8.4:1.8', when='@:3.3')
- depends_on('hdf5@1.8.4:', when='@3.4.0:')
+ depends_on("hdf5@1.8.4:1.8", when="@:3.3")
+ depends_on("hdf5@1.8.4:", when="@3.4.0:")
# Versions prior to 3.3 must build with the internal blosc due to a lock
# problem in a multithreaded environment.
- depends_on('c-blosc@1.4.1:', when='@3.3.0:')
- depends_on('zlib', when='+zlib')
- depends_on('bzip2', when='+bzip2')
- depends_on('lzo', when='+lzo')
+ depends_on("c-blosc@1.4.1:", when="@3.3.0:")
+ depends_on("zlib", when="+zlib")
+ depends_on("bzip2", when="+bzip2")
+ depends_on("lzo", when="+lzo")
def setup_build_environment(self, env):
- env.set('HDF5_DIR', self.spec['hdf5'].prefix)
- if '+bzip2' in self.spec:
- env.set('BZIP2_DIR', self.spec['bzip2'].prefix)
- if '+lzo' in self.spec:
- env.set('LZO_DIR', self.spec['lzo'].prefix)
- if '^c-blosc' in self.spec:
- env.set('BLOSC_DIR', self.spec['c-blosc'].prefix)
+ env.set("HDF5_DIR", self.spec["hdf5"].prefix)
+ if "+bzip2" in self.spec:
+ env.set("BZIP2_DIR", self.spec["bzip2"].prefix)
+ if "+lzo" in self.spec:
+ env.set("LZO_DIR", self.spec["lzo"].prefix)
+ if "^c-blosc" in self.spec:
+ env.set("BLOSC_DIR", self.spec["c-blosc"].prefix)
diff --git a/var/spack/repos/builtin/packages/py-tabulate/package.py b/var/spack/repos/builtin/packages/py-tabulate/package.py
index f50a5c1907..61716e112a 100644
--- a/var/spack/repos/builtin/packages/py-tabulate/package.py
+++ b/var/spack/repos/builtin/packages/py-tabulate/package.py
@@ -12,11 +12,11 @@ class PyTabulate(PythonPackage):
homepage = "https://bitbucket.org/astanin/python-tabulate"
pypi = "tabulate/tabulate-0.8.6.tar.gz"
- version('0.8.9', sha256='eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7')
- version('0.8.7', sha256='db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007')
- version('0.8.6', sha256='5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8')
- version('0.8.5', sha256='d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3')
- version('0.8.3', sha256='8af07a39377cee1103a5c8b3330a421c2d99b9141e9cc5ddd2e3263fea416943')
- version('0.7.7', sha256='83a0b8e17c09f012090a50e1e97ae897300a72b35e0c86c0b53d3bd2ae86d8c6')
+ version("0.8.9", sha256="eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7")
+ version("0.8.7", sha256="db2723a20d04bcda8522165c73eea7c300eda74e0ce852d9022e0159d7895007")
+ version("0.8.6", sha256="5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8")
+ version("0.8.5", sha256="d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3")
+ version("0.8.3", sha256="8af07a39377cee1103a5c8b3330a421c2d99b9141e9cc5ddd2e3263fea416943")
+ version("0.7.7", sha256="83a0b8e17c09f012090a50e1e97ae897300a72b35e0c86c0b53d3bd2ae86d8c6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tap-py/package.py b/var/spack/repos/builtin/packages/py-tap-py/package.py
index d28059549f..d641db08d1 100644
--- a/var/spack/repos/builtin/packages/py-tap-py/package.py
+++ b/var/spack/repos/builtin/packages/py-tap-py/package.py
@@ -12,15 +12,15 @@ class PyTapPy(PythonPackage):
homepage = "https://github.com/python-tap/tappy"
pypi = "tap.py/tap.py-3.0.tar.gz"
- version('3.0', sha256='f5eeeeebfd64e53d32661752bb4c288589a3babbb96db3f391a4ec29f1359c70')
- version('2.6.2', sha256='5f219d92dbad5e378f8f7549cdfe655b0d5fd2a778f9c83bee51b61c6ca40efb')
- version('1.6', sha256='3ee315567cd1cf444501c405b7f7146ffdb2e630bac58d0840d378a3b9a0dbe4')
+ version("3.0", sha256="f5eeeeebfd64e53d32661752bb4c288589a3babbb96db3f391a4ec29f1359c70")
+ version("2.6.2", sha256="5f219d92dbad5e378f8f7549cdfe655b0d5fd2a778f9c83bee51b61c6ca40efb")
+ version("1.6", sha256="3ee315567cd1cf444501c405b7f7146ffdb2e630bac58d0840d378a3b9a0dbe4")
- extends('python', ignore='bin/nosetests|bin/pygmentize')
+ extends("python", ignore="bin/nosetests|bin/pygmentize")
- depends_on('python@3.5:3.7', when='@3.0:')
- depends_on('python@2.7:2.8,3.5:3.7', when='@2.6')
- depends_on('python@2.6:2.8,3.2:3.4', when='@:1.8')
- depends_on('py-nose', type=('build', 'run'), when='@:1')
- depends_on('py-pygments', type=('build', 'run'), when='@:1')
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.5:3.7", when="@3.0:")
+ depends_on("python@2.7:2.8,3.5:3.7", when="@2.6")
+ depends_on("python@2.6:2.8,3.2:3.4", when="@:1.8")
+ depends_on("py-nose", type=("build", "run"), when="@:1")
+ depends_on("py-pygments", type=("build", "run"), when="@:1")
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tatsu/package.py b/var/spack/repos/builtin/packages/py-tatsu/package.py
index 0486ff950c..f53fd55d5b 100644
--- a/var/spack/repos/builtin/packages/py-tatsu/package.py
+++ b/var/spack/repos/builtin/packages/py-tatsu/package.py
@@ -14,13 +14,13 @@ class PyTatsu(PythonPackage):
homepage = "https://github.com/neogeny/tatsu"
pypi = "TatSu/TatSu-4.4.0.zip"
- version('4.4.0', sha256='80713413473a009f2081148d0f494884cabaf9d6866b71f2a68a92b6442f343d')
+ version("4.4.0", sha256="80713413473a009f2081148d0f494884cabaf9d6866b71f2a68a92b6442f343d")
- variant('future_regex', default=True, description='Use regex implementation')
+ variant("future_regex", default=True, description="Use regex implementation")
- depends_on('python@3.6:', type=('build', 'run'), when='@4.5:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"), when="@4.5:")
+ depends_on("py-setuptools", type="build")
# part of the standard lib in python@3.7.0, required in the current HEAD
- depends_on('py-dataclasses@0.6:', type=('build', 'run'), when='@4.5:^python@:3.6')
+ depends_on("py-dataclasses@0.6:", type=("build", "run"), when="@4.5:^python@:3.6")
# optional dependency, otherwise falls back to standard implementation
- depends_on('py-regex@2018.8:', type=('build', 'run'), when='+future_regex')
+ depends_on("py-regex@2018.8:", type=("build", "run"), when="+future_regex")
diff --git a/var/spack/repos/builtin/packages/py-tblib/package.py b/var/spack/repos/builtin/packages/py-tblib/package.py
index 5b3299be42..220f7a805f 100644
--- a/var/spack/repos/builtin/packages/py-tblib/package.py
+++ b/var/spack/repos/builtin/packages/py-tblib/package.py
@@ -13,8 +13,8 @@ class PyTblib(PythonPackage):
homepage = "https://github.com/ionelmc/python-tblib"
pypi = "tblib/tblib-1.6.0.tar.gz"
- version('1.6.0', sha256='229bee3754cb5d98b4837dd5c4405e80cfab57cb9f93220410ad367f8b352344')
- version('1.4.0', sha256='bd1ad564564a158ff62c290687f3db446038f9ac11a0bf6892712e3601af3bcd')
+ version("1.6.0", sha256="229bee3754cb5d98b4837dd5c4405e80cfab57cb9f93220410ad367f8b352344")
+ version("1.4.0", sha256="bd1ad564564a158ff62c290687f3db446038f9ac11a0bf6892712e3601af3bcd")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-templateflow/package.py b/var/spack/repos/builtin/packages/py-templateflow/package.py
index 9f982b25b4..0aea64f2b3 100644
--- a/var/spack/repos/builtin/packages/py-templateflow/package.py
+++ b/var/spack/repos/builtin/packages/py-templateflow/package.py
@@ -10,18 +10,18 @@ class PyTemplateflow(PythonPackage):
"""A python client to query TemplateFlow via pyBIDS."""
homepage = "https://github.com/templateflow/python-client"
- pypi = "templateflow/templateflow-0.7.1.tar.gz"
+ pypi = "templateflow/templateflow-0.7.1.tar.gz"
- version('0.7.1', sha256='c6e8282d1ffbb5dca7bd704a12e02bd00021860b71a043c35716861910c7187f')
- version('0.4.2', sha256='5585f3e7ccaa756f811aafb526ed6b2c79aabfd012477129af9c6038d7686f84')
+ version("0.7.1", sha256="c6e8282d1ffbb5dca7bd704a12e02bd00021860b71a043c35716861910c7187f")
+ version("0.4.2", sha256="5585f3e7ccaa756f811aafb526ed6b2c79aabfd012477129af9c6038d7686f84")
- depends_on('python@3.6:', when='@0.5:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools@40.9:', when='@0.7.1:', type='build')
- depends_on('py-setuptools@30.3:', type='build')
- depends_on('py-setuptools-scm+toml@3.4:', when='@0.6:', type='build')
- depends_on('py-wheel', when='@0.7.1', type='build')
- depends_on('py-pybids@0.12.1:', when='@0.6.3:', type=('build', 'run'))
- depends_on('py-pybids@0.9.2:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.5:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools@40.9:", when="@0.7.1:", type="build")
+ depends_on("py-setuptools@30.3:", type="build")
+ depends_on("py-setuptools-scm+toml@3.4:", when="@0.6:", type="build")
+ depends_on("py-wheel", when="@0.7.1", type="build")
+ depends_on("py-pybids@0.12.1:", when="@0.6.3:", type=("build", "run"))
+ depends_on("py-pybids@0.9.2:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tempora/package.py b/var/spack/repos/builtin/packages/py-tempora/package.py
index a75f91034c..9ec2d6b550 100644
--- a/var/spack/repos/builtin/packages/py-tempora/package.py
+++ b/var/spack/repos/builtin/packages/py-tempora/package.py
@@ -7,16 +7,16 @@ from spack.package import *
class PyTempora(PythonPackage):
- """Objects and routines pertaining to date and time (tempora) """
+ """Objects and routines pertaining to date and time (tempora)"""
homepage = "https://github.com/jaraco/tempora"
pypi = "tempora/tempora-1.14.1.tar.gz"
- version('1.14.1', sha256='cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6')
+ version("1.14.1", sha256="cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytz', type=('build', 'run'))
- depends_on('py-jaraco-functools@1.20:', type=('build', 'run'))
- depends_on('python@2.7:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pytz", type=("build", "run"))
+ depends_on("py-jaraco-functools@1.20:", type=("build", "run"))
+ depends_on("python@2.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tenacity/package.py b/var/spack/repos/builtin/packages/py-tenacity/package.py
index 64960ec5ee..8dd3a67ac4 100644
--- a/var/spack/repos/builtin/packages/py-tenacity/package.py
+++ b/var/spack/repos/builtin/packages/py-tenacity/package.py
@@ -10,19 +10,19 @@ class PyTenacity(PythonPackage):
"""Retrying library for Python"""
homepage = "https://github.com/jd/tenacity"
- pypi = "tenacity/tenacity-6.3.1.tar.gz"
+ pypi = "tenacity/tenacity-6.3.1.tar.gz"
- version('8.0.1', sha256='43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f')
- version('6.3.1', sha256='e14d191fb0a309b563904bbc336582efe2037de437e543b38da749769b544d7f')
+ version("8.0.1", sha256="43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f")
+ version("6.3.1", sha256="e14d191fb0a309b563904bbc336582efe2037de437e543b38da749769b544d7f")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@8:')
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@8:")
- depends_on('py-setuptools@21:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("py-setuptools@21:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
- depends_on('py-six@1.9.0:', type=('build', 'run'), when='@:7')
+ depends_on("py-six@1.9.0:", type=("build", "run"), when="@:7")
- depends_on('py-futures@3.0:', when='^python@:2', type=('build', 'run'))
- depends_on('py-monotonic@0.6:', when='^python@:2', type=('build', 'run'))
- depends_on('py-typing@3.7.4.1:', when='^python@:2', type=('build', 'run'))
+ depends_on("py-futures@3.0:", when="^python@:2", type=("build", "run"))
+ depends_on("py-monotonic@0.6:", when="^python@:2", type=("build", "run"))
+ depends_on("py-typing@3.7.4.1:", when="^python@:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py b/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py
index af18a993b6..538b2bfa31 100644
--- a/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboard-data-server/package.py
@@ -12,38 +12,46 @@ class PyTensorboardDataServer(PythonPackage):
"""Fast data loading for TensorBoard"""
homepage = "https://github.com/tensorflow/tensorboard/tree/master/tensorboard/data/server"
- git = "https://github.com/tensorflow/tensorboard"
+ git = "https://github.com/tensorflow/tensorboard"
- version('0.6.1', commit='6acf0be88b5727e546dd64a8b9b12d790601d561')
+ version("0.6.1", commit="6acf0be88b5727e546dd64a8b9b12d790601d561")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('rust', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("rust", type="build")
# https://github.com/tensorflow/tensorboard/issues/5713
- patch('https://github.com/tensorflow/tensorboard/pull/5715.patch?full_index=1',
- sha256='878bbd60fd9c38216a372792f02a65c1b422b6c546050fdf335b264ab263cd8a', when='@0.6.1')
+ patch(
+ "https://github.com/tensorflow/tensorboard/pull/5715.patch?full_index=1",
+ sha256="878bbd60fd9c38216a372792f02a65c1b422b6c546050fdf335b264ab263cd8a",
+ when="@0.6.1",
+ )
def setup_build_environment(self, env):
- env.set('CARGO_HOME', self.stage.source_path)
+ env.set("CARGO_HOME", self.stage.source_path)
def install(self, spec, prefix):
- with working_dir(join_path('tensorboard', 'data', 'server')):
- cargo = which('cargo')
- cargo('build', '--release')
-
- with working_dir(join_path('tensorboard', 'data', 'server',
- 'pip_package')):
- python('build.py',
- '--out-dir={0}'.format(self.stage.source_path),
- '--server-binary={0}'.format(join_path(self.stage.source_path,
- 'tensorboard',
- 'data',
- 'server',
- 'target',
- 'release',
- 'rustboard')))
-
- wheel = glob.glob('*.whl')[0]
- args = std_pip_args + ['--prefix=' + prefix, wheel]
+ with working_dir(join_path("tensorboard", "data", "server")):
+ cargo = which("cargo")
+ cargo("build", "--release")
+
+ with working_dir(join_path("tensorboard", "data", "server", "pip_package")):
+ python(
+ "build.py",
+ "--out-dir={0}".format(self.stage.source_path),
+ "--server-binary={0}".format(
+ join_path(
+ self.stage.source_path,
+ "tensorboard",
+ "data",
+ "server",
+ "target",
+ "release",
+ "rustboard",
+ )
+ ),
+ )
+
+ wheel = glob.glob("*.whl")[0]
+ args = std_pip_args + ["--prefix=" + prefix, wheel]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
index d39fec6be2..2306d0cfe9 100644
--- a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class PyTensorboardPluginWit(PythonPackage):
"""The What-If Tool makes it easy to efficiently and
- intuitively explore up to two models' performance
- on a dataset. Investigate model performances for
- a range of features in your dataset, optimization
- strategies and even manipulations to individual
- datapoint values. All this and more, in a visual way
- that requires minimal code."""
+ intuitively explore up to two models' performance
+ on a dataset. Investigate model performances for
+ a range of features in your dataset, optimization
+ strategies and even manipulations to individual
+ datapoint values. All this and more, in a visual way
+ that requires minimal code."""
homepage = "https://pypi.org/project/tensorboard-plugin-wit/"
# Could also build from source, but this package requires an older version of bazel
@@ -21,11 +21,23 @@ class PyTensorboardPluginWit(PythonPackage):
# Spack supports separate concretization of build deps.
url = "https://pypi.io/packages/py3/t/tensorboard_plugin_wit/tensorboard_plugin_wit-1.8.0-py3-none-any.whl"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('1.8.1', sha256='ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe', expand=False)
- version('1.8.0', sha256='2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a', expand=False)
- version('1.7.0', sha256='ee775f04821185c90d9a0e9c56970ee43d7c41403beb6629385b39517129685b', expand=False)
+ version(
+ "1.8.1",
+ sha256="ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe",
+ expand=False,
+ )
+ version(
+ "1.8.0",
+ sha256="2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a",
+ expand=False,
+ )
+ version(
+ "1.7.0",
+ sha256="ee775f04821185c90d9a0e9c56970ee43d7c41403beb6629385b39517129685b",
+ expand=False,
+ )
- depends_on('py-setuptools@36.2.0:', type='build')
- depends_on('python@3', type=('build', 'run'))
+ depends_on("py-setuptools@36.2.0:", type="build")
+ depends_on("python@3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tensorboard/package.py b/var/spack/repos/builtin/packages/py-tensorboard/package.py
index 7c39cc660f..fa57a55bfd 100644
--- a/var/spack/repos/builtin/packages/py-tensorboard/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py
@@ -15,37 +15,77 @@ class PyTensorboard(PythonPackage):
url = "https://files.pythonhosted.org/packages/py3/t/tensorboard/tensorboard-2.9.1-py3-none-any.whl"
list_url = "https://pypi.org/simple/tensorboard/"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('2.9.1', sha256='baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276', expand=False)
- version('2.9.0', sha256='bd78211076dca5efa27260afacfaa96cd05c7db12a6c09cc76a1d6b2987ca621', expand=False)
- version('2.8.0', sha256='65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def', expand=False)
- version('2.7.0', sha256='239f78a4a8dff200ce585a030c787773a8c1184d5c159252f5f85bac4e3c3b38', expand=False)
- version('2.6.0', sha256='f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb', expand=False)
- version('2.5.0', sha256='e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e', expand=False)
- version('2.4.1', sha256='7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4', expand=False)
- version('2.4.0', sha256='cde0c663a85609441cb4d624e7255fd8e2b6b1d679645095aac8a234a2812738', expand=False)
- version('2.3.0', sha256='d34609ed83ff01dd5b49ef81031cfc9c166bba0dabd60197024f14df5e8eae5e', expand=False)
- version('2.2.0', sha256='bb6bbc75ad2d8511ba6cbd49e4417276979f49866e11841e83da8298727dbaed', expand=False)
+ version(
+ "2.9.1",
+ sha256="baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276",
+ expand=False,
+ )
+ version(
+ "2.9.0",
+ sha256="bd78211076dca5efa27260afacfaa96cd05c7db12a6c09cc76a1d6b2987ca621",
+ expand=False,
+ )
+ version(
+ "2.8.0",
+ sha256="65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def",
+ expand=False,
+ )
+ version(
+ "2.7.0",
+ sha256="239f78a4a8dff200ce585a030c787773a8c1184d5c159252f5f85bac4e3c3b38",
+ expand=False,
+ )
+ version(
+ "2.6.0",
+ sha256="f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb",
+ expand=False,
+ )
+ version(
+ "2.5.0",
+ sha256="e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e",
+ expand=False,
+ )
+ version(
+ "2.4.1",
+ sha256="7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4",
+ expand=False,
+ )
+ version(
+ "2.4.0",
+ sha256="cde0c663a85609441cb4d624e7255fd8e2b6b1d679645095aac8a234a2812738",
+ expand=False,
+ )
+ version(
+ "2.3.0",
+ sha256="d34609ed83ff01dd5b49ef81031cfc9c166bba0dabd60197024f14df5e8eae5e",
+ expand=False,
+ )
+ version(
+ "2.2.0",
+ sha256="bb6bbc75ad2d8511ba6cbd49e4417276979f49866e11841e83da8298727dbaed",
+ expand=False,
+ )
- depends_on('python@2.7:2.8,3.2:', type=('build', 'run'), when='@:2.5')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.6:')
- depends_on('py-absl-py@0.4:', type=('build', 'run'))
- depends_on('py-grpcio@1.24.3:', type=('build', 'run'), when='@2.3:')
- depends_on('py-grpcio@1.23.3:', type=('build', 'run'), when='@2.2')
- depends_on('py-google-auth@1.6.3:1', type=('build', 'run'), when='@:2.6')
- depends_on('py-google-auth@1.6.3:2', type=('build', 'run'), when='@2.7:')
- depends_on('py-google-auth-oauthlib@0.4.1:0.4', type=('build', 'run'))
- depends_on('py-markdown@2.6.8:', type=('build', 'run'))
- depends_on('py-numpy@1.12.0:', type=('build', 'run'))
- depends_on('py-protobuf@3.6.0:3.19', type=('build', 'run'), when='@:2.8')
- depends_on('py-protobuf@3.9.2:3.19', type=('build', 'run'), when='@2.9:')
- depends_on('py-requests@2.21.0:2', type=('build', 'run'))
- depends_on('py-setuptools@41.0.0:', type=('build', 'run'))
- depends_on('py-tensorboard-data-server@0.6', type=('build', 'run'), when='@2.5:')
- depends_on('py-tensorboard-plugin-wit@1.6.0:', type=('build', 'run'))
- depends_on('py-werkzeug@0.11.15:', type=('build', 'run'))
- depends_on('py-werkzeug@1.0.1:', type=('build', 'run'), when='@2.9:')
- depends_on('py-wheel@0.26:', type='build')
- depends_on('py-futures@3.1.1:', type=('build', 'run'), when='^python@:2')
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@:2.4')
+ depends_on("python@2.7:2.8,3.2:", type=("build", "run"), when="@:2.5")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.6:")
+ depends_on("py-absl-py@0.4:", type=("build", "run"))
+ depends_on("py-grpcio@1.24.3:", type=("build", "run"), when="@2.3:")
+ depends_on("py-grpcio@1.23.3:", type=("build", "run"), when="@2.2")
+ depends_on("py-google-auth@1.6.3:1", type=("build", "run"), when="@:2.6")
+ depends_on("py-google-auth@1.6.3:2", type=("build", "run"), when="@2.7:")
+ depends_on("py-google-auth-oauthlib@0.4.1:0.4", type=("build", "run"))
+ depends_on("py-markdown@2.6.8:", type=("build", "run"))
+ depends_on("py-numpy@1.12.0:", type=("build", "run"))
+ depends_on("py-protobuf@3.6.0:3.19", type=("build", "run"), when="@:2.8")
+ depends_on("py-protobuf@3.9.2:3.19", type=("build", "run"), when="@2.9:")
+ depends_on("py-requests@2.21.0:2", type=("build", "run"))
+ depends_on("py-setuptools@41.0.0:", type=("build", "run"))
+ depends_on("py-tensorboard-data-server@0.6", type=("build", "run"), when="@2.5:")
+ depends_on("py-tensorboard-plugin-wit@1.6.0:", type=("build", "run"))
+ depends_on("py-werkzeug@0.11.15:", type=("build", "run"))
+ depends_on("py-werkzeug@1.0.1:", type=("build", "run"), when="@2.9:")
+ depends_on("py-wheel@0.26:", type="build")
+ depends_on("py-futures@3.1.1:", type=("build", "run"), when="^python@:2")
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@:2.4")
diff --git a/var/spack/repos/builtin/packages/py-tensorboardx/package.py b/var/spack/repos/builtin/packages/py-tensorboardx/package.py
index e451eae990..c73cb04fe1 100644
--- a/var/spack/repos/builtin/packages/py-tensorboardx/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorboardx/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class PyTensorboardx(PythonPackage):
"""The purpose of this package is to let researchers use
- a simple interface to log events within PyTorch (and
- then show visualization in tensorboard). This package
- currently supports logging scalar, image, audio,
- histogram, text, embedding, and the route of back-propagation."""
+ a simple interface to log events within PyTorch (and
+ then show visualization in tensorboard). This package
+ currently supports logging scalar, image, audio,
+ histogram, text, embedding, and the route of back-propagation."""
homepage = "https://github.com/lanpa/tensorboardX"
pypi = "tensorboardx/tensorboardX-1.8.tar.gz"
- version('2.1', sha256='9e8907cf2ab900542d6cb72bf91aa87b43005a7f0aa43126268697e3727872f9')
- version('2.0', sha256='835d85db0aef2c6768f07c35e69a74e3dcb122d6afceaf2b8504d7d16c7209a5')
- version('1.9', sha256='2505d0092e6212f04c4522eea7123e8886c4d0a0b2c406e480fa61ca3c1da7ea')
- version('1.8', sha256='13fe0abba27f407778a7321937190eedaf12bc8c544d9a4e294fcf0ba177fd76')
+ version("2.1", sha256="9e8907cf2ab900542d6cb72bf91aa87b43005a7f0aa43126268697e3727872f9")
+ version("2.0", sha256="835d85db0aef2c6768f07c35e69a74e3dcb122d6afceaf2b8504d7d16c7209a5")
+ version("1.9", sha256="2505d0092e6212f04c4522eea7123e8886c4d0a0b2c406e480fa61ca3c1da7ea")
+ version("1.8", sha256="13fe0abba27f407778a7321937190eedaf12bc8c544d9a4e294fcf0ba177fd76")
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-protobuf@3.8.0:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-protobuf@3.8.0:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py b/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py
index dd6b8cd847..db284c7df8 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow-estimator/package.py
@@ -13,77 +13,78 @@ class PyTensorflowEstimator(Package):
simplifies machine learning programming."""
homepage = "https://github.com/tensorflow/estimator"
- url = "https://github.com/tensorflow/estimator/archive/v2.2.0.tar.gz"
+ url = "https://github.com/tensorflow/estimator/archive/v2.2.0.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('2.7.0', sha256='e5164e802638d3cf110ecc17912be9d514a9d3354ec48e77200b9403dcc15965')
- version('2.6.0', sha256='947705c60c50da0b4a8ceec1bc058aaf6bf567a7efdcd50d5173ebf6bafcf30f')
- version('2.5.0', sha256='66661f30ea05d57377c45267ca770935fb8c54f85b7901f0a7deb91766fe9f45')
- version('2.4.0', sha256='e6ea12014c3d8c89a81ace95f8f8b7c39ffcd3e4e4626709e4aee0010eefd962')
- version('2.3.0', sha256='75403e7de7e8ec30ec0781ede56ed84cbe5e90daad64a9c242cd489c8fe63a17')
- version('2.2.0', sha256='2d68cb6e6442e7dcbfa2e092aa25bdcb0eda420536a829b85d732854a4c85d46')
- version('2.1', sha256='1d74c8181b981748976fa33ad97d3434c3cf2b7e29a0b00861365fe8329dbc4e')
- version('2.0.0', sha256='6f4bdf1ab219e1f1cba25d2af097dc820f56479f12a839853d97422fe4d8b465')
- version('1.13.0', sha256='a787b150ff436636df723e507019c72a5d6486cfe506886279d380166953f12f')
+ version("2.7.0", sha256="e5164e802638d3cf110ecc17912be9d514a9d3354ec48e77200b9403dcc15965")
+ version("2.6.0", sha256="947705c60c50da0b4a8ceec1bc058aaf6bf567a7efdcd50d5173ebf6bafcf30f")
+ version("2.5.0", sha256="66661f30ea05d57377c45267ca770935fb8c54f85b7901f0a7deb91766fe9f45")
+ version("2.4.0", sha256="e6ea12014c3d8c89a81ace95f8f8b7c39ffcd3e4e4626709e4aee0010eefd962")
+ version("2.3.0", sha256="75403e7de7e8ec30ec0781ede56ed84cbe5e90daad64a9c242cd489c8fe63a17")
+ version("2.2.0", sha256="2d68cb6e6442e7dcbfa2e092aa25bdcb0eda420536a829b85d732854a4c85d46")
+ version("2.1", sha256="1d74c8181b981748976fa33ad97d3434c3cf2b7e29a0b00861365fe8329dbc4e")
+ version("2.0.0", sha256="6f4bdf1ab219e1f1cba25d2af097dc820f56479f12a839853d97422fe4d8b465")
+ version("1.13.0", sha256="a787b150ff436636df723e507019c72a5d6486cfe506886279d380166953f12f")
- extends('python')
+ extends("python")
- depends_on('py-keras@2.7.0:2.7', type=('build', 'run'), when='@2.7.0')
- depends_on('py-keras@2.6.0:2.6', type=('build', 'run'), when='@2.6.0')
- depends_on('py-tensorflow@2.7.0:2.7', type=('build', 'run'), when='@2.7.0')
- depends_on('py-tensorflow@2.6.0:2.6', type=('build', 'run'), when='@2.6.0')
- depends_on('py-tensorflow@2.5.0:2.5', type=('build', 'run'), when='@2.5.0')
- depends_on('py-tensorflow@2.4.0:2.4', type=('build', 'run'), when='@2.4.0')
- depends_on('py-tensorflow@2.3.0:2.3', type=('build', 'run'), when='@2.3.0')
- depends_on('py-tensorflow@2.2.0:2.2', type=('build', 'run'), when='@2.2.0')
- depends_on('py-tensorflow@2.1.0:2.1', type=('build', 'run'), when='@2.1')
- depends_on('py-tensorflow@2.0.0:2.0', type=('build', 'run'), when='@2.0.0')
- depends_on('py-tensorflow@1.13.1', type=('build', 'run'), when='@1.13.0')
+ depends_on("py-keras@2.7.0:2.7", type=("build", "run"), when="@2.7.0")
+ depends_on("py-keras@2.6.0:2.6", type=("build", "run"), when="@2.6.0")
+ depends_on("py-tensorflow@2.7.0:2.7", type=("build", "run"), when="@2.7.0")
+ depends_on("py-tensorflow@2.6.0:2.6", type=("build", "run"), when="@2.6.0")
+ depends_on("py-tensorflow@2.5.0:2.5", type=("build", "run"), when="@2.5.0")
+ depends_on("py-tensorflow@2.4.0:2.4", type=("build", "run"), when="@2.4.0")
+ depends_on("py-tensorflow@2.3.0:2.3", type=("build", "run"), when="@2.3.0")
+ depends_on("py-tensorflow@2.2.0:2.2", type=("build", "run"), when="@2.2.0")
+ depends_on("py-tensorflow@2.1.0:2.1", type=("build", "run"), when="@2.1")
+ depends_on("py-tensorflow@2.0.0:2.0", type=("build", "run"), when="@2.0.0")
+ depends_on("py-tensorflow@1.13.1", type=("build", "run"), when="@1.13.0")
- depends_on('bazel@0.19.0:', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-funcsigs@1.0.2:', type=('build', 'run'), when='^python@:3.2')
+ depends_on("bazel@0.19.0:", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-funcsigs@1.0.2:", type=("build", "run"), when="^python@:3.2")
def install(self, spec, prefix):
- self.tmp_path = tempfile.mkdtemp(prefix='spack')
- env['TEST_TMPDIR'] = self.tmp_path
- env['HOME'] = self.tmp_path
+ self.tmp_path = tempfile.mkdtemp(prefix="spack")
+ env["TEST_TMPDIR"] = self.tmp_path
+ env["HOME"] = self.tmp_path
args = [
# Don't allow user or system .bazelrc to override build settings
- '--nohome_rc',
- '--nosystem_rc',
+ "--nohome_rc",
+ "--nosystem_rc",
# Bazel does not work properly on NFS, switch to /tmp
- '--output_user_root=' + self.tmp_path,
- 'build',
+ "--output_user_root=" + self.tmp_path,
+ "build",
# Spack logs don't handle colored output well
- '--color=no',
- '--jobs={0}'.format(make_jobs),
+ "--color=no",
+ "--jobs={0}".format(make_jobs),
# Enable verbose output for failures
- '--verbose_failures',
+ "--verbose_failures",
# Show (formatted) subcommands being executed
- '--subcommands=pretty_print',
- '--spawn_strategy=local',
+ "--subcommands=pretty_print",
+ "--spawn_strategy=local",
# Ask bazel to explain what it's up to
# Needs a filename as argument
- '--explain=explainlogfile.txt',
+ "--explain=explainlogfile.txt",
# Increase verbosity of explanation,
- '--verbose_explanations',
+ "--verbose_explanations",
# bazel uses system PYTHONPATH instead of spack paths
- '--action_env', 'PYTHONPATH={0}'.format(env['PYTHONPATH']),
- '//tensorflow_estimator/tools/pip_package:build_pip_package',
+ "--action_env",
+ "PYTHONPATH={0}".format(env["PYTHONPATH"]),
+ "//tensorflow_estimator/tools/pip_package:build_pip_package",
]
bazel(*args)
- build_pip_package = Executable(join_path(
- 'bazel-bin/tensorflow_estimator/tools',
- 'pip_package/build_pip_package'))
- buildpath = join_path(self.stage.source_path, 'spack-build')
- build_pip_package('--src', buildpath)
+ build_pip_package = Executable(
+ join_path("bazel-bin/tensorflow_estimator/tools", "pip_package/build_pip_package")
+ )
+ buildpath = join_path(self.stage.source_path, "spack-build")
+ build_pip_package("--src", buildpath)
with working_dir(buildpath):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
remove_linked_tree(self.tmp_path)
diff --git a/var/spack/repos/builtin/packages/py-tensorflow-hub/package.py b/var/spack/repos/builtin/packages/py-tensorflow-hub/package.py
index 7434c1bb38..2ec9bc6519 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow-hub/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow-hub/package.py
@@ -15,68 +15,77 @@ class PyTensorflowHub(Package):
homepage = "https://github.com/tensorflow/hub"
url = "https://github.com/tensorflow/hub/archive/refs/tags/v0.12.0.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('0.12.0', sha256='b192ef3a9a6cbeaee46142d64b47b979828dbf41fc56d48c6587e08f6b596446')
- version('0.11.0', sha256='4715a4212b45531a7c25ada7207d850467d1b5480f1940f16623f8770ad64df4')
+ version("0.12.0", sha256="b192ef3a9a6cbeaee46142d64b47b979828dbf41fc56d48c6587e08f6b596446")
+ version("0.11.0", sha256="4715a4212b45531a7c25ada7207d850467d1b5480f1940f16623f8770ad64df4")
- extends('python')
+ extends("python")
- depends_on('bazel', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.12.0:', type=('build', 'run'))
- depends_on('py-protobuf@3.8.0:', type=('build', 'run'))
+ depends_on("bazel", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.12.0:", type=("build", "run"))
+ depends_on("py-protobuf@3.8.0:", type=("build", "run"))
- patch("https://github.com/tensorflow/hub/commit/049192a7edd3e80eebf1735b93f57c7965381bdb.patch?full_index=1",
- sha256="c8b59d17511a8ebd2a58717723b9b77514a12b43bb2e6acec6d0c1062df6e457",
- when="@:0.12")
+ patch(
+ "https://github.com/tensorflow/hub/commit/049192a7edd3e80eebf1735b93f57c7965381bdb.patch?full_index=1",
+ sha256="c8b59d17511a8ebd2a58717723b9b77514a12b43bb2e6acec6d0c1062df6e457",
+ when="@:0.12",
+ )
def install(self, spec, prefix):
- tmp_path = tempfile.mkdtemp(prefix='spack')
- env['TEST_TMPDIR'] = tmp_path
- env['HOME'] = tmp_path
+ tmp_path = tempfile.mkdtemp(prefix="spack")
+ env["TEST_TMPDIR"] = tmp_path
+ env["HOME"] = tmp_path
args = [
# Don't allow user or system .bazelrc to override build settings
- '--nohome_rc',
- '--nosystem_rc',
+ "--nohome_rc",
+ "--nosystem_rc",
# Bazel does not work properly on NFS, switch to /tmp
- '--output_user_root=' + tmp_path,
- 'build',
+ "--output_user_root=" + tmp_path,
+ "build",
# Spack logs don't handle colored output well
- '--color=no',
- '--jobs={0}'.format(make_jobs),
+ "--color=no",
+ "--jobs={0}".format(make_jobs),
# Enable verbose output for failures
- '--verbose_failures',
+ "--verbose_failures",
# Show (formatted) subcommands being executed
- '--subcommands=pretty_print',
- '--spawn_strategy=local',
+ "--subcommands=pretty_print",
+ "--spawn_strategy=local",
# Ask bazel to explain what it's up to
# Needs a filename as argument
- '--explain=explainlogfile.txt',
+ "--explain=explainlogfile.txt",
# Increase verbosity of explanation,
- '--verbose_explanations',
+ "--verbose_explanations",
# bazel uses system PYTHONPATH instead of spack paths
- '--action_env', 'PYTHONPATH={0}'.format(env['PYTHONPATH']),
- '//tensorflow_hub/pip_package:build_pip_package',
+ "--action_env",
+ "PYTHONPATH={0}".format(env["PYTHONPATH"]),
+ "//tensorflow_hub/pip_package:build_pip_package",
]
bazel(*args)
- runfiles = join_path('bazel-bin', 'tensorflow_hub', 'pip_package',
- 'build_pip_package.runfiles', 'org_tensorflow_hub')
- insttmp_path = tempfile.mkdtemp(prefix='spack')
- install(join_path('tensorflow_hub', 'pip_package', 'setup.py'), insttmp_path)
- install(join_path('tensorflow_hub', 'pip_package', 'setup.cfg'), insttmp_path)
- install('LICENSE', join_path(insttmp_path, 'LICENSE.txt'))
- mkdirp(join_path(insttmp_path, 'tensorflow_hub'))
- install_tree(join_path(runfiles, 'tensorflow_hub'),
- join_path(insttmp_path, 'tensorflow_hub'))
+ runfiles = join_path(
+ "bazel-bin",
+ "tensorflow_hub",
+ "pip_package",
+ "build_pip_package.runfiles",
+ "org_tensorflow_hub",
+ )
+ insttmp_path = tempfile.mkdtemp(prefix="spack")
+ install(join_path("tensorflow_hub", "pip_package", "setup.py"), insttmp_path)
+ install(join_path("tensorflow_hub", "pip_package", "setup.cfg"), insttmp_path)
+ install("LICENSE", join_path(insttmp_path, "LICENSE.txt"))
+ mkdirp(join_path(insttmp_path, "tensorflow_hub"))
+ install_tree(
+ join_path(runfiles, "tensorflow_hub"), join_path(insttmp_path, "tensorflow_hub")
+ )
with working_dir(insttmp_path):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
remove_linked_tree(tmp_path)
diff --git a/var/spack/repos/builtin/packages/py-tensorflow-probability/package.py b/var/spack/repos/builtin/packages/py-tensorflow-probability/package.py
index f793b26d42..8c825a86f1 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow-probability/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow-probability/package.py
@@ -17,72 +17,74 @@ class PyTensorflowProbability(Package):
predictions."""
homepage = "https://www.tensorflow.org/probability"
- url = "https://github.com/tensorflow/probability/archive/v0.12.1.tar.gz"
+ url = "https://github.com/tensorflow/probability/archive/v0.12.1.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('0.12.1', sha256='1fe89e85fd053bf36e8645a5a1a53b729bc254cf1516bc224fcbd1e4ff50083a')
- version('0.8.0', sha256='f6049549f6d6b82962523a6bf61c40c1d0c7ac685f209c0084a6da81dd78181d',
- url='https://github.com/tensorflow/probability/archive/0.8.0.tar.gz')
+ version("0.12.1", sha256="1fe89e85fd053bf36e8645a5a1a53b729bc254cf1516bc224fcbd1e4ff50083a")
+ version(
+ "0.8.0",
+ sha256="f6049549f6d6b82962523a6bf61c40c1d0c7ac685f209c0084a6da81dd78181d",
+ url="https://github.com/tensorflow/probability/archive/0.8.0.tar.gz",
+ )
- extends('python')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-setuptools', type='build')
+ extends("python")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-setuptools", type="build")
- depends_on('py-six@1.10.0:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-decorator', type=('build', 'run'))
+ depends_on("py-six@1.10.0:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-decorator", type=("build", "run"))
- depends_on('py-tensorflow@1.14:', type=('build', 'run'), when='@0.8.0')
- depends_on('py-gast@0.2.0:0.2', type=('build', 'run'), when='@0.8.0')
- depends_on('py-cloudpickle@1.1.1', type=('build', 'run'), when='@0.8.0')
+ depends_on("py-tensorflow@1.14:", type=("build", "run"), when="@0.8.0")
+ depends_on("py-gast@0.2.0:0.2", type=("build", "run"), when="@0.8.0")
+ depends_on("py-cloudpickle@1.1.1", type=("build", "run"), when="@0.8.0")
- depends_on('py-tensorflow@2.4:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-cloudpickle@1.3:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-gast@0.3.2:', type=('build', 'run'), when='@0.12.0:')
- depends_on('py-dm-tree', type=('build', 'run'), when='@0.12.0:')
+ depends_on("py-tensorflow@2.4:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-cloudpickle@1.3:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-gast@0.3.2:", type=("build", "run"), when="@0.12.0:")
+ depends_on("py-dm-tree", type=("build", "run"), when="@0.12.0:")
- depends_on('bazel@3.2.0:', type='build')
+ depends_on("bazel@3.2.0:", type="build")
def install(self, spec, prefix):
- self.tmp_path = tempfile.mkdtemp(prefix='spack')
- env['TEST_TMPDIR'] = self.tmp_path
- env['HOME'] = self.tmp_path
+ self.tmp_path = tempfile.mkdtemp(prefix="spack")
+ env["TEST_TMPDIR"] = self.tmp_path
+ env["HOME"] = self.tmp_path
args = [
# Don't allow user or system .bazelrc to override build settings
- '--nohome_rc',
- '--nosystem_rc',
+ "--nohome_rc",
+ "--nosystem_rc",
# Bazel does not work properly on NFS, switch to /tmp
- '--output_user_root=' + self.tmp_path,
- 'build',
+ "--output_user_root=" + self.tmp_path,
+ "build",
# Spack logs don't handle colored output well
- '--color=no',
- '--jobs={0}'.format(make_jobs),
+ "--color=no",
+ "--jobs={0}".format(make_jobs),
# Enable verbose output for failures
- '--verbose_failures',
+ "--verbose_failures",
# Show (formatted) subcommands being executed
- '--subcommands=pretty_print',
- '--spawn_strategy=local',
+ "--subcommands=pretty_print",
+ "--spawn_strategy=local",
# Ask bazel to explain what it's up to
# Needs a filename as argument
- '--explain=explainlogfile.txt',
+ "--explain=explainlogfile.txt",
# Increase verbosity of explanation,
- '--verbose_explanations',
+ "--verbose_explanations",
# bazel uses system PYTHONPATH instead of spack paths
- '--action_env', 'PYTHONPATH={0}'.format(env['PYTHONPATH']),
- '--copt=-O3',
- '--copt=-march=native',
- ':pip_pkg',
+ "--action_env",
+ "PYTHONPATH={0}".format(env["PYTHONPATH"]),
+ "--copt=-O3",
+ "--copt=-march=native",
+ ":pip_pkg",
]
bazel(*args)
- with working_dir(join_path('bazel-bin',
- 'pip_pkg.runfiles',
- 'tensorflow_probability')):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ with working_dir(join_path("bazel-bin", "pip_pkg.runfiles", "tensorflow_probability")):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
remove_linked_tree(self.tmp_path)
diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py
index c4ac90c12c..a480241b6c 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py
@@ -10,107 +10,110 @@ from spack.package import *
class PyTensorflow(Package, CudaPackage):
- """TensorFlow is an Open Source Software Library for Machine Intelligence
- """
+ """TensorFlow is an Open Source Software Library for Machine Intelligence"""
homepage = "https://www.tensorflow.org"
- url = "https://github.com/tensorflow/tensorflow/archive/v2.3.1.tar.gz"
-
- maintainers = ['adamjstewart', 'aweits']
- import_modules = ['tensorflow']
-
- version('2.7.0', sha256='bb124905c7fdacd81e7c842b287c169bbf377d29c74c9dacc04f96c9793747bb')
- version('2.6.2', sha256='e68c1d346fc3d529653530ca346b2c62f5b31bd4fcca7ffc9c65bb39ab2f6ed3')
- version('2.6.1', sha256='8e457f617bc2eb43de2a51900e7922b60a8107e2524b2576438f1acccee1d043')
- version('2.6.0', sha256='41b32eeaddcbc02b0583660bcf508469550e4cd0f86b22d2abe72dfebeacde0f')
- version('2.5.0', sha256='233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c')
- version('2.4.1', sha256='f681331f8fc0800883761c7709d13cda11942d4ad5ff9f44ad855e9dc78387e0')
- version('2.4.0', sha256='26c833b7e1873936379e810a39d14700281125257ddda8cd822c89111db6f6ae')
- version('2.3.2', sha256='21a703d2e68cd0677f6f9ce329198c24fd8203125599d791af9f1de61aadf31f')
- version('2.3.1', sha256='ee534dd31a811f7a759453567257d1e643f216d8d55a25c32d2fbfff8153a1ac')
- version('2.3.0', sha256='2595a5c401521f20a2734c4e5d54120996f8391f00bb62a57267d930bce95350')
- version('2.2.2', sha256='fb4b5d26c5b983350f7ce8297b71176a86a69e91faf66e6ebb1e58538ad3bb51')
- version('2.2.1', sha256='e6a28e64236d729e598dbeaa02152219e67d0ac94d6ed22438606026a02e0f88')
- version('2.2.0', sha256='69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3')
- version('2.1.3', sha256='cfa66cce372f486e95a42beb1aacfefdaf0092c5efaaaa92459b381fde931fb8')
- version('2.1.2', sha256='3f941cda0ed12dfef5472e46f1d0238ea85da7583d73f1132d2ef050fda6e8ad')
- version('2.1.1', sha256='a200bc16e4b630db3ac7225bcb6f239a76841967b0aec1d7d7bbe44dc5661318')
- version('2.1.0', sha256='638e541a4981f52c69da4a311815f1e7989bf1d67a41d204511966e1daed14f7')
- version('2.0.4', sha256='6ca3ce1255da8d655080a89db10da03f72c361d7faecc9a35e6af26ff12c06e6')
- version('2.0.3', sha256='6314299a723441bd9892e5c2af182c2be7d2256e20e71026e1cb1264cb497f33')
- version('2.0.2', sha256='a548742bbafd302eec51e2794d7687674a64f6b10ce1414073858cb83c0cefc2')
- version('2.0.1', sha256='29197d30923b9670992ee4b9c6161f50c7452e9a4158c720746e846080ac245a')
- version('2.0.0', sha256='49b5f0495cd681cbcb5296a4476853d4aea19a43bdd9f179c928a977308a0617')
- version('1.15.5', sha256='4c4d23e311093ded2d2e287b18d7c45b07b5984ab88a1d2f91f8f13c886123db')
- version('1.15.4', sha256='e18c55e771ad136f9bf3a70ea8f0e2d36662b2ba7c890f9eaf7950554557c7fa')
- version('1.15.3', sha256='9ab1d92e58eb813922b040acc7622b32d73c2d8d971fe6491a06f9df4c778151')
- version('1.15.2', sha256='d95d75d26a298211b5e802842e87fda5b8b14f6ad83719377b391e5fb71b8746')
- version('1.15.1', sha256='19b6e72bc8675937f618cede364d7228a71c2eeaffc42801bcefd98dda7ca056')
- version('1.15.0', sha256='a5d49c00a175a61da7431a9b289747d62339be9cf37600330ad63b611f7f5dc9')
- version('1.14.0', sha256='aa2a6a1daafa3af66807cfe0bc77bfe1144a9a53df9a96bab52e3e575b3047ed')
- version('1.13.2', sha256='abe3bf0c47845a628b7df4c57646f41a10ee70f914f1b018a5c761be75e1f1a9')
- version('1.13.1', sha256='7cd19978e6bc7edc2c847bce19f95515a742b34ea5e28e4389dade35348f58ed')
- version('1.12.3', sha256='b9e5488e84f4a133ed20b18605f0cd6301f11d356bd959712db4e7b9301d0462')
- version('1.12.2', sha256='90ffc7cf1df5e4b8385c9108db18d5d5034ec423547c0e167d44f5746a20d06b')
- version('1.12.1', sha256='7b559a3ae56322b7a7e4307f45f9fce96022c533a98b32c18bfdff8c5838271d')
- version('1.12.0', sha256='3c87b81e37d4ed7f3da6200474fa5e656ffd20d8811068572f43610cae97ca92')
- version('1.11.0', sha256='f49ce3f1d04cee854bc9f74fa9696991140b34a2e2447f35f01391b72c8bfa9f')
- version('1.10.1', sha256='83092d709800e2d93d4d4b1bcacaeb74f2f328962ed764cb35bbee20402879c6')
- version('1.10.0', sha256='ee9cb98d9e0d8106f2f4ed52a38fe89399324af303e1401567e5b64a9f86744b')
- version('1.9.0', sha256='ffc3151b06823d57b4a408261ba8efe53601563dfe93af0866751d4f6ca5068c')
- version('1.8.0', sha256='47646952590fd213b747247e6870d89bb4a368a95ae3561513d6c76e44f92a75')
- version('1.7.1', sha256='3147f8c60d1f30da23a831bcf732e74b935dcee7c62e4b8b85f0f093030b52c8')
- version('1.7.0', sha256='c676a96fc8700722816b2b98c85578b2f99fac7a7b2484c9c7f0641484f8d50d')
- version('1.6.0', sha256='03cf1423446abbead6bd8c3cf6e6affa7d99746cd119691b012aac9a1795f4fb')
- version('1.5.1', sha256='cab2157783905e12a7a3baae3264edfb739dd92d5658019a131fff4b14190240')
- version('1.5.0', sha256='0642781c3a3a8c2c4834b91b86aec385f0b2ada7d721571458079478cc5b29c8')
- version('1.4.1', sha256='1f75e463318419a1b3ae076d5a92697c1d3a85e8377c946a5510b651ff5c0d60')
- version('1.4.0', sha256='8a0ad8d61f8f6c0282c548661994a5ab83ac531bac496c3041dedc1ab021107b')
- version('1.3.1', sha256='ded509c209f8a1d390df8a2f44be5b5c29963172b0e0f095304efb59765d0523')
- version('1.3.0', sha256='e1af1bb767b57c3416de0d43a5f74d174c42b85231dffd36f3630173534d4307')
- version('1.2.1', sha256='f2baf09b1a9a0500907b4d5cb5473070b3ecede06ed6e8d1096873c91922fb9e')
- version('1.2.0', sha256='03dbf7548d1fc1c11ed58da5fa68616f795c819f868f43478cbcaa26abed374f')
- version('1.1.0', sha256='aad4470f52fa59f54de7b9a2da727429e6755d91d756f245f952698c42a60027')
- version('1.0.1', sha256='deea3c65e0703da96d9c3f1162e464c51d37659dd129396af134e9e8f1ea8c05')
- version('1.0.0', sha256='db8b3b8f4134b7c9c1b4165492ad5d5bb78889fcd99ffdffc325e97da3e8c677')
- version('0.12.0', sha256='13a1d4e98c82eae7e26fe75384de1517d6126f63ba5d302392ec02ac3ae4b1b9')
- version('0.11.0', sha256='24242ff696234bb1e58d09d45169b148525ccb706f980a4a92ddd3b82c7546dc')
- version('0.10.0', sha256='f32df04e8f7186aaf6723fc5396733b2f6c2fd6fe4a53a54a68b80f3ec855680')
- version('0.9.0', sha256='3128c396af19518c642d3e590212291e1d93c5b047472a10cf3245b53adac9c9')
- version('0.8.0', sha256='f201ba7fb7609a6416968d4e1920d87d67be693b5bc7d34b6b4a79860a9a8a4e')
- version('0.7.1', sha256='ef34121432f7a522cf9f99a56cdd86e370cc5fa3ee31255ca7cb17f36b8dfc0d')
- version('0.7.0', sha256='43dd3051f947aa66e6fc09dac2f86a2efe2e019736bbd091c138544b86d717ce')
- version('0.6.0', sha256='f86ace45e99053b09749cd55ab79c57274d8c7460ae763c5e808d81ffbc3b657')
-
- variant('mkl', default=False, description='Build with MKL support')
- variant('jemalloc', default=False, description='Build with jemalloc as malloc support')
- variant('gcp', default=False, description='Build with Google Cloud Platform support')
- variant('hdfs', default=False, description='Build with Hadoop File System support')
- variant('aws', default=False, description='Build with Amazon AWS Platform support')
- variant('kafka', default=False, description='Build with Apache Kafka Platform support')
- variant('ignite', default=False, description='Build with Apache Ignite support')
- variant('xla', default=False, description='Build with XLA JIT support')
- variant('gdr', default=False, description='Build with GDR support')
- variant('verbs', default=False, description='Build with libverbs support')
- variant('ngraph', default=False, description='Build with Intel nGraph support')
- variant('opencl', default=False, description='Build with OpenCL SYCL support')
- variant('computecpp', default=False, description='Build with ComputeCPP support')
- variant('rocm', default=False, description='Build with ROCm support')
- variant('tensorrt', default=False, description='Build with TensorRT support')
- variant('cuda', default=sys.platform != 'darwin', description='Build with CUDA support')
- variant('nccl', default=sys.platform.startswith('linux'), description='Enable NVIDIA NCCL support')
- variant('mpi', default=False, description='Build with MPI support')
- variant('android', default=False, description='Configure for Android builds')
- variant('ios', default=False, description='Build with iOS support (macOS only)')
- variant('monolithic', default=False, description='Static monolithic build')
- variant('numa', default=False, description='Build with NUMA support')
- variant('dynamic_kernels', default=False, description='Build kernels into separate shared objects')
-
- extends('python')
- depends_on('python@3:', type=('build', 'run'), when='@2.1:')
+ url = "https://github.com/tensorflow/tensorflow/archive/v2.3.1.tar.gz"
+
+ maintainers = ["adamjstewart", "aweits"]
+ import_modules = ["tensorflow"]
+
+ version("2.7.0", sha256="bb124905c7fdacd81e7c842b287c169bbf377d29c74c9dacc04f96c9793747bb")
+ version("2.6.2", sha256="e68c1d346fc3d529653530ca346b2c62f5b31bd4fcca7ffc9c65bb39ab2f6ed3")
+ version("2.6.1", sha256="8e457f617bc2eb43de2a51900e7922b60a8107e2524b2576438f1acccee1d043")
+ version("2.6.0", sha256="41b32eeaddcbc02b0583660bcf508469550e4cd0f86b22d2abe72dfebeacde0f")
+ version("2.5.0", sha256="233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c")
+ version("2.4.1", sha256="f681331f8fc0800883761c7709d13cda11942d4ad5ff9f44ad855e9dc78387e0")
+ version("2.4.0", sha256="26c833b7e1873936379e810a39d14700281125257ddda8cd822c89111db6f6ae")
+ version("2.3.2", sha256="21a703d2e68cd0677f6f9ce329198c24fd8203125599d791af9f1de61aadf31f")
+ version("2.3.1", sha256="ee534dd31a811f7a759453567257d1e643f216d8d55a25c32d2fbfff8153a1ac")
+ version("2.3.0", sha256="2595a5c401521f20a2734c4e5d54120996f8391f00bb62a57267d930bce95350")
+ version("2.2.2", sha256="fb4b5d26c5b983350f7ce8297b71176a86a69e91faf66e6ebb1e58538ad3bb51")
+ version("2.2.1", sha256="e6a28e64236d729e598dbeaa02152219e67d0ac94d6ed22438606026a02e0f88")
+ version("2.2.0", sha256="69cd836f87b8c53506c4f706f655d423270f5a563b76dc1cfa60fbc3184185a3")
+ version("2.1.3", sha256="cfa66cce372f486e95a42beb1aacfefdaf0092c5efaaaa92459b381fde931fb8")
+ version("2.1.2", sha256="3f941cda0ed12dfef5472e46f1d0238ea85da7583d73f1132d2ef050fda6e8ad")
+ version("2.1.1", sha256="a200bc16e4b630db3ac7225bcb6f239a76841967b0aec1d7d7bbe44dc5661318")
+ version("2.1.0", sha256="638e541a4981f52c69da4a311815f1e7989bf1d67a41d204511966e1daed14f7")
+ version("2.0.4", sha256="6ca3ce1255da8d655080a89db10da03f72c361d7faecc9a35e6af26ff12c06e6")
+ version("2.0.3", sha256="6314299a723441bd9892e5c2af182c2be7d2256e20e71026e1cb1264cb497f33")
+ version("2.0.2", sha256="a548742bbafd302eec51e2794d7687674a64f6b10ce1414073858cb83c0cefc2")
+ version("2.0.1", sha256="29197d30923b9670992ee4b9c6161f50c7452e9a4158c720746e846080ac245a")
+ version("2.0.0", sha256="49b5f0495cd681cbcb5296a4476853d4aea19a43bdd9f179c928a977308a0617")
+ version("1.15.5", sha256="4c4d23e311093ded2d2e287b18d7c45b07b5984ab88a1d2f91f8f13c886123db")
+ version("1.15.4", sha256="e18c55e771ad136f9bf3a70ea8f0e2d36662b2ba7c890f9eaf7950554557c7fa")
+ version("1.15.3", sha256="9ab1d92e58eb813922b040acc7622b32d73c2d8d971fe6491a06f9df4c778151")
+ version("1.15.2", sha256="d95d75d26a298211b5e802842e87fda5b8b14f6ad83719377b391e5fb71b8746")
+ version("1.15.1", sha256="19b6e72bc8675937f618cede364d7228a71c2eeaffc42801bcefd98dda7ca056")
+ version("1.15.0", sha256="a5d49c00a175a61da7431a9b289747d62339be9cf37600330ad63b611f7f5dc9")
+ version("1.14.0", sha256="aa2a6a1daafa3af66807cfe0bc77bfe1144a9a53df9a96bab52e3e575b3047ed")
+ version("1.13.2", sha256="abe3bf0c47845a628b7df4c57646f41a10ee70f914f1b018a5c761be75e1f1a9")
+ version("1.13.1", sha256="7cd19978e6bc7edc2c847bce19f95515a742b34ea5e28e4389dade35348f58ed")
+ version("1.12.3", sha256="b9e5488e84f4a133ed20b18605f0cd6301f11d356bd959712db4e7b9301d0462")
+ version("1.12.2", sha256="90ffc7cf1df5e4b8385c9108db18d5d5034ec423547c0e167d44f5746a20d06b")
+ version("1.12.1", sha256="7b559a3ae56322b7a7e4307f45f9fce96022c533a98b32c18bfdff8c5838271d")
+ version("1.12.0", sha256="3c87b81e37d4ed7f3da6200474fa5e656ffd20d8811068572f43610cae97ca92")
+ version("1.11.0", sha256="f49ce3f1d04cee854bc9f74fa9696991140b34a2e2447f35f01391b72c8bfa9f")
+ version("1.10.1", sha256="83092d709800e2d93d4d4b1bcacaeb74f2f328962ed764cb35bbee20402879c6")
+ version("1.10.0", sha256="ee9cb98d9e0d8106f2f4ed52a38fe89399324af303e1401567e5b64a9f86744b")
+ version("1.9.0", sha256="ffc3151b06823d57b4a408261ba8efe53601563dfe93af0866751d4f6ca5068c")
+ version("1.8.0", sha256="47646952590fd213b747247e6870d89bb4a368a95ae3561513d6c76e44f92a75")
+ version("1.7.1", sha256="3147f8c60d1f30da23a831bcf732e74b935dcee7c62e4b8b85f0f093030b52c8")
+ version("1.7.0", sha256="c676a96fc8700722816b2b98c85578b2f99fac7a7b2484c9c7f0641484f8d50d")
+ version("1.6.0", sha256="03cf1423446abbead6bd8c3cf6e6affa7d99746cd119691b012aac9a1795f4fb")
+ version("1.5.1", sha256="cab2157783905e12a7a3baae3264edfb739dd92d5658019a131fff4b14190240")
+ version("1.5.0", sha256="0642781c3a3a8c2c4834b91b86aec385f0b2ada7d721571458079478cc5b29c8")
+ version("1.4.1", sha256="1f75e463318419a1b3ae076d5a92697c1d3a85e8377c946a5510b651ff5c0d60")
+ version("1.4.0", sha256="8a0ad8d61f8f6c0282c548661994a5ab83ac531bac496c3041dedc1ab021107b")
+ version("1.3.1", sha256="ded509c209f8a1d390df8a2f44be5b5c29963172b0e0f095304efb59765d0523")
+ version("1.3.0", sha256="e1af1bb767b57c3416de0d43a5f74d174c42b85231dffd36f3630173534d4307")
+ version("1.2.1", sha256="f2baf09b1a9a0500907b4d5cb5473070b3ecede06ed6e8d1096873c91922fb9e")
+ version("1.2.0", sha256="03dbf7548d1fc1c11ed58da5fa68616f795c819f868f43478cbcaa26abed374f")
+ version("1.1.0", sha256="aad4470f52fa59f54de7b9a2da727429e6755d91d756f245f952698c42a60027")
+ version("1.0.1", sha256="deea3c65e0703da96d9c3f1162e464c51d37659dd129396af134e9e8f1ea8c05")
+ version("1.0.0", sha256="db8b3b8f4134b7c9c1b4165492ad5d5bb78889fcd99ffdffc325e97da3e8c677")
+ version("0.12.0", sha256="13a1d4e98c82eae7e26fe75384de1517d6126f63ba5d302392ec02ac3ae4b1b9")
+ version("0.11.0", sha256="24242ff696234bb1e58d09d45169b148525ccb706f980a4a92ddd3b82c7546dc")
+ version("0.10.0", sha256="f32df04e8f7186aaf6723fc5396733b2f6c2fd6fe4a53a54a68b80f3ec855680")
+ version("0.9.0", sha256="3128c396af19518c642d3e590212291e1d93c5b047472a10cf3245b53adac9c9")
+ version("0.8.0", sha256="f201ba7fb7609a6416968d4e1920d87d67be693b5bc7d34b6b4a79860a9a8a4e")
+ version("0.7.1", sha256="ef34121432f7a522cf9f99a56cdd86e370cc5fa3ee31255ca7cb17f36b8dfc0d")
+ version("0.7.0", sha256="43dd3051f947aa66e6fc09dac2f86a2efe2e019736bbd091c138544b86d717ce")
+ version("0.6.0", sha256="f86ace45e99053b09749cd55ab79c57274d8c7460ae763c5e808d81ffbc3b657")
+
+ variant("mkl", default=False, description="Build with MKL support")
+ variant("jemalloc", default=False, description="Build with jemalloc as malloc support")
+ variant("gcp", default=False, description="Build with Google Cloud Platform support")
+ variant("hdfs", default=False, description="Build with Hadoop File System support")
+ variant("aws", default=False, description="Build with Amazon AWS Platform support")
+ variant("kafka", default=False, description="Build with Apache Kafka Platform support")
+ variant("ignite", default=False, description="Build with Apache Ignite support")
+ variant("xla", default=False, description="Build with XLA JIT support")
+ variant("gdr", default=False, description="Build with GDR support")
+ variant("verbs", default=False, description="Build with libverbs support")
+ variant("ngraph", default=False, description="Build with Intel nGraph support")
+ variant("opencl", default=False, description="Build with OpenCL SYCL support")
+ variant("computecpp", default=False, description="Build with ComputeCPP support")
+ variant("rocm", default=False, description="Build with ROCm support")
+ variant("tensorrt", default=False, description="Build with TensorRT support")
+ variant("cuda", default=sys.platform != "darwin", description="Build with CUDA support")
+ variant(
+ "nccl", default=sys.platform.startswith("linux"), description="Enable NVIDIA NCCL support"
+ )
+ variant("mpi", default=False, description="Build with MPI support")
+ variant("android", default=False, description="Configure for Android builds")
+ variant("ios", default=False, description="Build with iOS support (macOS only)")
+ variant("monolithic", default=False, description="Static monolithic build")
+ variant("numa", default=False, description="Build with NUMA support")
+ variant(
+ "dynamic_kernels", default=False, description="Build kernels into separate shared objects"
+ )
+
+ extends("python")
+ depends_on("python@3:", type=("build", "run"), when="@2.1:")
# python 3.8 support in tensorflow 2.2
# see tensorflow issue #33374
- depends_on('python@:3.7', type=('build', 'run'), when='@:2.2')
+ depends_on("python@:3.7", type=("build", "run"), when="@:2.2")
# TODO: Older versions of TensorFlow don't list the viable version range,
# just the minimum version of bazel that will work. The latest version of
@@ -118,158 +121,158 @@ class PyTensorflow(Package, CudaPackage):
# Need to investigate further.
# See _TF_MIN_BAZEL_VERSION and _TF_MAX_BAZEL_VERSION in configure.py
- depends_on('bazel@3.7.2:4.99.0', type='build', when='@2.7:')
- depends_on('bazel@3.1.0:3.99.0', type='build', when='@2.3:2.6')
- depends_on('bazel@2.0.0', type='build', when='@2.2.0:2.2')
- depends_on('bazel@0.27.1:0.29.1', type='build', when='@2.1.0:2.1')
- depends_on('bazel@0.24.1:0.26.1', type='build', when='@1.15:2.0')
+ depends_on("bazel@3.7.2:4.99.0", type="build", when="@2.7:")
+ depends_on("bazel@3.1.0:3.99.0", type="build", when="@2.3:2.6")
+ depends_on("bazel@2.0.0", type="build", when="@2.2.0:2.2")
+ depends_on("bazel@0.27.1:0.29.1", type="build", when="@2.1.0:2.1")
+ depends_on("bazel@0.24.1:0.26.1", type="build", when="@1.15:2.0")
# See call to check_bazel_version in configure.py
- depends_on('bazel@0.24.1:0.25.2', type='build', when='@1.14.0')
- depends_on('bazel@0.19.0:0.21.0', type='build', when='@1.13.0:1.13.2')
- depends_on('bazel@0.24.1:0.25.0', type='build', when='@1.12.1')
- depends_on('bazel@0.15.0', type='build', when='@1.10:1.12.0,1.12.2:1.12.3')
- depends_on('bazel@0.10.0', type='build', when='@1.7:1.9')
+ depends_on("bazel@0.24.1:0.25.2", type="build", when="@1.14.0")
+ depends_on("bazel@0.19.0:0.21.0", type="build", when="@1.13.0:1.13.2")
+ depends_on("bazel@0.24.1:0.25.0", type="build", when="@1.12.1")
+ depends_on("bazel@0.15.0", type="build", when="@1.10:1.12.0,1.12.2:1.12.3")
+ depends_on("bazel@0.10.0", type="build", when="@1.7:1.9")
# See call to check_version in tensorflow/workspace.bzl
- depends_on('bazel@0.5.4', type='build', when='@1.4:1.6')
+ depends_on("bazel@0.5.4", type="build", when="@1.4:1.6")
# See MIN_BAZEL_VERSION in configure
- depends_on('bazel@0.4.5', type='build', when='@1.2:1.3')
+ depends_on("bazel@0.4.5", type="build", when="@1.2:1.3")
# See call to check_version in WORKSPACE
- depends_on('bazel@0.4.2', type='build', when='@1.0:1.1')
- depends_on('bazel@0.3.2', type='build', when='@0.12.0:0.12.1')
- depends_on('bazel@0.3.0', type='build', when='@0.11.0')
- depends_on('bazel@0.2.0', type='build', when='@0.9:0.10')
- depends_on('bazel@0.1.4', type='build', when='@0.7:0.8')
- depends_on('bazel@0.1.1', type='build', when='@0.5:0.6')
-
- depends_on('swig', type='build')
- depends_on('py-pip', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type='build', when='^python@:2')
+ depends_on("bazel@0.4.2", type="build", when="@1.0:1.1")
+ depends_on("bazel@0.3.2", type="build", when="@0.12.0:0.12.1")
+ depends_on("bazel@0.3.0", type="build", when="@0.11.0")
+ depends_on("bazel@0.2.0", type="build", when="@0.9:0.10")
+ depends_on("bazel@0.1.4", type="build", when="@0.7:0.8")
+ depends_on("bazel@0.1.1", type="build", when="@0.5:0.6")
+
+ depends_on("swig", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type="build", when="^python@:2")
# Listed under REQUIRED_PACKAGES in tensorflow/tools/pip_package/setup.py
- depends_on('py-absl-py@0.4:', type=('build', 'run'), when='@2.7:')
- depends_on('py-absl-py@0.10:0', type=('build', 'run'), when='@2.4.0:2.6')
- depends_on('py-absl-py@0.7.0:', type=('build', 'run'), when='@1.12.1,1.14:2.3')
- depends_on('py-absl-py@0.1.6:', type=('build', 'run'), when='@1.5:1.11')
- depends_on('py-astunparse@1.6.0:', type=('build', 'run'), when='@2.7:')
- depends_on('py-astunparse@1.6.3:1.6', type=('build', 'run'), when='@2.4.0:2.6')
- depends_on('py-astunparse@1.6.3', type=('build', 'run'), when='@2.2:2.3')
- depends_on('py-astor@0.6.0:', type=('build', 'run'), when='@1.6:2.1')
- depends_on('py-backports-weakref@1.0:', type=('build', 'run'), when='@1.3: ^python@:3.3')
- depends_on('py-backports-weakref@1.0rc1', type=('build', 'run'), when='@1.2.0:1.2.1')
- depends_on('py-libclang@9.0.1:', type=('build', 'run'), when='@2.7:')
- depends_on('py-enum34@1.1.6:', type=('build', 'run'), when='@1.5: ^python@:3.3')
- depends_on('py-enum34@1.1.6:', type=('build', 'run'), when='@1.4.0:1.4.1')
- depends_on('py-gast@0.2.1:0.4', type=('build', 'run'), when='@2.7:')
- depends_on('py-gast@0.4.0', type=('build', 'run'), when='@2.5:2.6')
- depends_on('py-gast@0.3.3', type=('build', 'run'), when='@2.2:2.4')
- depends_on('py-gast@0.2.2', type=('build', 'run'), when='@1.15:2.1')
- depends_on('py-gast@0.2.0:', type=('build', 'run'), when='@1.6:1.14')
- depends_on('py-google-pasta@0.1.1:', type=('build', 'run'), when='@2.7:')
- depends_on('py-google-pasta@0.2:0', type=('build', 'run'), when='@2.4.0:2.6')
- depends_on('py-google-pasta@0.1.8:', type=('build', 'run'), when='@2.1:2.3')
- depends_on('py-google-pasta@0.1.6:', type=('build', 'run'), when='@1.14:2.0')
- depends_on('py-google-pasta@0.1.2:', type=('build', 'run'), when='@1.12.1')
+ depends_on("py-absl-py@0.4:", type=("build", "run"), when="@2.7:")
+ depends_on("py-absl-py@0.10:0", type=("build", "run"), when="@2.4.0:2.6")
+ depends_on("py-absl-py@0.7.0:", type=("build", "run"), when="@1.12.1,1.14:2.3")
+ depends_on("py-absl-py@0.1.6:", type=("build", "run"), when="@1.5:1.11")
+ depends_on("py-astunparse@1.6.0:", type=("build", "run"), when="@2.7:")
+ depends_on("py-astunparse@1.6.3:1.6", type=("build", "run"), when="@2.4.0:2.6")
+ depends_on("py-astunparse@1.6.3", type=("build", "run"), when="@2.2:2.3")
+ depends_on("py-astor@0.6.0:", type=("build", "run"), when="@1.6:2.1")
+ depends_on("py-backports-weakref@1.0:", type=("build", "run"), when="@1.3: ^python@:3.3")
+ depends_on("py-backports-weakref@1.0rc1", type=("build", "run"), when="@1.2.0:1.2.1")
+ depends_on("py-libclang@9.0.1:", type=("build", "run"), when="@2.7:")
+ depends_on("py-enum34@1.1.6:", type=("build", "run"), when="@1.5: ^python@:3.3")
+ depends_on("py-enum34@1.1.6:", type=("build", "run"), when="@1.4.0:1.4.1")
+ depends_on("py-gast@0.2.1:0.4", type=("build", "run"), when="@2.7:")
+ depends_on("py-gast@0.4.0", type=("build", "run"), when="@2.5:2.6")
+ depends_on("py-gast@0.3.3", type=("build", "run"), when="@2.2:2.4")
+ depends_on("py-gast@0.2.2", type=("build", "run"), when="@1.15:2.1")
+ depends_on("py-gast@0.2.0:", type=("build", "run"), when="@1.6:1.14")
+ depends_on("py-google-pasta@0.1.1:", type=("build", "run"), when="@2.7:")
+ depends_on("py-google-pasta@0.2:0", type=("build", "run"), when="@2.4.0:2.6")
+ depends_on("py-google-pasta@0.1.8:", type=("build", "run"), when="@2.1:2.3")
+ depends_on("py-google-pasta@0.1.6:", type=("build", "run"), when="@1.14:2.0")
+ depends_on("py-google-pasta@0.1.2:", type=("build", "run"), when="@1.12.1")
# propagate the mpi variant setting for h5py/hdf5 to avoid unexpected crashes
- depends_on('py-h5py@2.9:+mpi', type=('build', 'run'), when='@2.7:+mpi')
- depends_on('py-h5py@2.9:~mpi', type=('build', 'run'), when='@2.7:~mpi')
- depends_on('py-h5py@3.1+mpi', type=('build', 'run'), when='@2.5:2.6+mpi')
- depends_on('py-h5py@3.1~mpi', type=('build', 'run'), when='@2.5:2.6~mpi')
- depends_on('py-h5py@2.10+mpi', type=('build', 'run'), when='@2.2:2.4+mpi')
- depends_on('py-h5py@2.10~mpi', type=('build', 'run'), when='@2.2:2.4~mpi')
- depends_on('hdf5+mpi', type='build', when='@2.2:+mpi')
- depends_on('hdf5~mpi', type='build', when='@2.2:~mpi')
- depends_on('py-keras-applications@1.0.8:', type=('build', 'run'), when='@1.15:2.1')
- depends_on('py-keras-applications@1.0.6:', type=('build', 'run'), when='@1.12:1.14')
- depends_on('py-keras-applications@1.0.5:', type=('build', 'run'), when='@1.11.0:1.11')
- depends_on('py-keras-preprocessing@1.1.1:', type=('build', 'run'), when='@2.7:')
- depends_on('py-keras-preprocessing@1.1.2:1.1', type=('build', 'run'), when='@2.4:2.6')
- depends_on('py-keras-preprocessing@1.1.1:1', type=('build', 'run'), when='@2.3.0:2.3')
- depends_on('py-keras-preprocessing@1.1.0:', type=('build', 'run'), when='@2.1:2.2')
- depends_on('py-keras-preprocessing@1.0.5:', type=('build', 'run'), when='@1.12:2.0')
- depends_on('py-keras-preprocessing@1.0.3:', type=('build', 'run'), when='@1.11.0:1.11')
+ depends_on("py-h5py@2.9:+mpi", type=("build", "run"), when="@2.7:+mpi")
+ depends_on("py-h5py@2.9:~mpi", type=("build", "run"), when="@2.7:~mpi")
+ depends_on("py-h5py@3.1+mpi", type=("build", "run"), when="@2.5:2.6+mpi")
+ depends_on("py-h5py@3.1~mpi", type=("build", "run"), when="@2.5:2.6~mpi")
+ depends_on("py-h5py@2.10+mpi", type=("build", "run"), when="@2.2:2.4+mpi")
+ depends_on("py-h5py@2.10~mpi", type=("build", "run"), when="@2.2:2.4~mpi")
+ depends_on("hdf5+mpi", type="build", when="@2.2:+mpi")
+ depends_on("hdf5~mpi", type="build", when="@2.2:~mpi")
+ depends_on("py-keras-applications@1.0.8:", type=("build", "run"), when="@1.15:2.1")
+ depends_on("py-keras-applications@1.0.6:", type=("build", "run"), when="@1.12:1.14")
+ depends_on("py-keras-applications@1.0.5:", type=("build", "run"), when="@1.11.0:1.11")
+ depends_on("py-keras-preprocessing@1.1.1:", type=("build", "run"), when="@2.7:")
+ depends_on("py-keras-preprocessing@1.1.2:1.1", type=("build", "run"), when="@2.4:2.6")
+ depends_on("py-keras-preprocessing@1.1.1:1", type=("build", "run"), when="@2.3.0:2.3")
+ depends_on("py-keras-preprocessing@1.1.0:", type=("build", "run"), when="@2.1:2.2")
+ depends_on("py-keras-preprocessing@1.0.5:", type=("build", "run"), when="@1.12:2.0")
+ depends_on("py-keras-preprocessing@1.0.3:", type=("build", "run"), when="@1.11.0:1.11")
# https://github.com/tensorflow/tensorflow/issues/40688
- depends_on('py-numpy@1.14.5:', type=('build', 'run'), when='@2.7:')
- depends_on('py-numpy@1.19.2:1.19', type=('build', 'run'), when='@2.4:2.6')
- depends_on('py-numpy@1.16.0:1.18', type=('build', 'run'), when='@1.13.2,1.15:2.3')
- depends_on('py-numpy@1.14.5:1.18', type=('build', 'run'), when='@1.12.1,1.14.0')
- depends_on('py-numpy@1.13.3:1.14.5', type=('build', 'run'), when='@1.10.0:1.10.1')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'), when='@1.6:1.9')
- depends_on('py-numpy@1.12.1:', type=('build', 'run'), when='@1.4:1.5')
- depends_on('py-numpy@1.11.0:', type=('build', 'run'), when='@0.11:1.3')
- depends_on('py-numpy@1.10.1:', type=('build', 'run'), when='@0.7.1:0.7 platform=darwin')
- depends_on('py-numpy@1.8.2:', type=('build', 'run'), when='@0.6:0.10')
- depends_on('py-numpy@1.9.2:', type=('build', 'run'), when='@0.5.0')
- depends_on('py-opt-einsum@3.3.0:3.3', type=('build', 'run'), when='@2.4.0:2.6')
- depends_on('py-opt-einsum@2.3.2:', type=('build', 'run'), when='@1.15:2.3,2.7:')
- depends_on('py-protobuf@3.9.2:', type=('build', 'run'), when='@2.3:')
- depends_on('py-protobuf@3.8.0:', type=('build', 'run'), when='@2.1:2.2')
- depends_on('py-protobuf@3.6.1:', type=('build', 'run'), when='@1.12:2.0')
- depends_on('py-protobuf@3.6.0:', type=('build', 'run'), when='@1.10:1.11')
- depends_on('py-protobuf@3.4.0:', type=('build', 'run'), when='@1.5:1.9')
- depends_on('py-protobuf@3.3.0:', type=('build', 'run'), when='@1.3:1.4')
- depends_on('py-protobuf@3.2.0:', type=('build', 'run'), when='@1.1:1.2')
- depends_on('py-protobuf@3.1.0:', type=('build', 'run'), when='@0.12.1:1.0')
- depends_on('py-protobuf@3.1.0', type=('build', 'run'), when='@0.12.0')
- depends_on('py-protobuf@3.0.0', type=('build', 'run'), when='@0.11.0')
- depends_on('py-protobuf@3.0.0b2', type=('build', 'run'), when='@0.7.1:0.10')
- depends_on('py-protobuf@3.0.0a3', type=('build', 'run'), when='@0.6:0.7.0')
- depends_on('protobuf@:3.12', when='@:2.4')
- depends_on('protobuf@:3.17')
+ depends_on("py-numpy@1.14.5:", type=("build", "run"), when="@2.7:")
+ depends_on("py-numpy@1.19.2:1.19", type=("build", "run"), when="@2.4:2.6")
+ depends_on("py-numpy@1.16.0:1.18", type=("build", "run"), when="@1.13.2,1.15:2.3")
+ depends_on("py-numpy@1.14.5:1.18", type=("build", "run"), when="@1.12.1,1.14.0")
+ depends_on("py-numpy@1.13.3:1.14.5", type=("build", "run"), when="@1.10.0:1.10.1")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"), when="@1.6:1.9")
+ depends_on("py-numpy@1.12.1:", type=("build", "run"), when="@1.4:1.5")
+ depends_on("py-numpy@1.11.0:", type=("build", "run"), when="@0.11:1.3")
+ depends_on("py-numpy@1.10.1:", type=("build", "run"), when="@0.7.1:0.7 platform=darwin")
+ depends_on("py-numpy@1.8.2:", type=("build", "run"), when="@0.6:0.10")
+ depends_on("py-numpy@1.9.2:", type=("build", "run"), when="@0.5.0")
+ depends_on("py-opt-einsum@3.3.0:3.3", type=("build", "run"), when="@2.4.0:2.6")
+ depends_on("py-opt-einsum@2.3.2:", type=("build", "run"), when="@1.15:2.3,2.7:")
+ depends_on("py-protobuf@3.9.2:", type=("build", "run"), when="@2.3:")
+ depends_on("py-protobuf@3.8.0:", type=("build", "run"), when="@2.1:2.2")
+ depends_on("py-protobuf@3.6.1:", type=("build", "run"), when="@1.12:2.0")
+ depends_on("py-protobuf@3.6.0:", type=("build", "run"), when="@1.10:1.11")
+ depends_on("py-protobuf@3.4.0:", type=("build", "run"), when="@1.5:1.9")
+ depends_on("py-protobuf@3.3.0:", type=("build", "run"), when="@1.3:1.4")
+ depends_on("py-protobuf@3.2.0:", type=("build", "run"), when="@1.1:1.2")
+ depends_on("py-protobuf@3.1.0:", type=("build", "run"), when="@0.12.1:1.0")
+ depends_on("py-protobuf@3.1.0", type=("build", "run"), when="@0.12.0")
+ depends_on("py-protobuf@3.0.0", type=("build", "run"), when="@0.11.0")
+ depends_on("py-protobuf@3.0.0b2", type=("build", "run"), when="@0.7.1:0.10")
+ depends_on("py-protobuf@3.0.0a3", type=("build", "run"), when="@0.6:0.7.0")
+ depends_on("protobuf@:3.12", when="@:2.4")
+ depends_on("protobuf@:3.17")
# https://github.com/protocolbuffers/protobuf/issues/10051
# https://github.com/tensorflow/tensorflow/issues/56266
- depends_on('py-protobuf@:3', when='@:2.7.2', type=('build', 'run'))
- depends_on('protobuf@:3', when='@:2.7.2', type=('build', 'run'))
- depends_on('flatbuffers+python@1.12:2', type=('build', 'run'), when='@2.7:')
- depends_on('flatbuffers+python@1.12', type=('build', 'run'), when='@2.4:2.6')
+ depends_on("py-protobuf@:3", when="@:2.7.2", type=("build", "run"))
+ depends_on("protobuf@:3", when="@:2.7.2", type=("build", "run"))
+ depends_on("flatbuffers+python@1.12:2", type=("build", "run"), when="@2.7:")
+ depends_on("flatbuffers+python@1.12", type=("build", "run"), when="@2.4:2.6")
# tensorboard
- depends_on('py-tensorboard@2.5.0:2.5', type=('build', 'run'), when='@2.5')
- depends_on('py-tensorboard@2.6.0:2.6', type=('build', 'run'), when='@2.6')
- depends_on('py-tensorboard@2.7.0:2.7', type=('build', 'run'), when='@2.7')
-
- depends_on('py-termcolor@1.1.0:1.1', type=('build', 'run'), when='@2.4:2.6')
- depends_on('py-termcolor@1.1.0:', type=('build', 'run'), when='@1.6:2.3,2.7:')
- depends_on('py-wrapt@1.11.0:', type=('build', 'run'), when='@2.7:')
- depends_on('py-wrapt@1.12.1:1.12', type=('build', 'run'), when='@2.4:2.6')
- depends_on('py-wrapt@1.11.1:', type=('build', 'run'), when='@1.12.1,1.14:2.3')
- depends_on('py-wheel@0.32:0', type=('build', 'run'), when='@2.7:')
- depends_on('py-wheel@0.35:0', type=('build', 'run'), when='@2.4:2.6 ^python@3:')
- depends_on('py-wheel', type=('build', 'run'), when='@0.6:2.3')
- depends_on('py-wheel@0.26:', type=('build', 'run'), when='@0.6:2.3 ^python@3:')
- depends_on('py-mock@2.0.0:', type=('build', 'run'), when='@0.10: ^python@:2')
- depends_on('py-functools32@3.2.3:', type=('build', 'run'), when='@1.15: ^python@:2')
- depends_on('py-six@1.15.0:1.15', type=('build', 'run'), when='@2.4:2.6')
- depends_on('py-six@1.12.0:', type=('build', 'run'), when='@2.1:2.3,2.7:')
- depends_on('py-six@1.10.0:', type=('build', 'run'), when='@:2.0')
- depends_on('py-scipy@1.2.2', type=('build', 'run'), when='@2.1.0:2.1.1,2.2.0,2.3.0 ^python@:2')
- depends_on('py-scipy@1.4.1', type=('build', 'run'), when='@2.1.0:2.1.1,2.2.0,2.3.0 ^python@3:')
- depends_on('py-grpcio@1.8.6:', type=('build', 'run'), when='@1.6:1.7')
- depends_on('py-typing-extensions@3.6.6:', type=('build', 'run'), when='@2.7:')
- depends_on('py-typing-extensions@3.7.4:3.7', type=('build', 'run'), when='@2.4.0:2.6')
-
- if sys.byteorder == 'little':
+ depends_on("py-tensorboard@2.5.0:2.5", type=("build", "run"), when="@2.5")
+ depends_on("py-tensorboard@2.6.0:2.6", type=("build", "run"), when="@2.6")
+ depends_on("py-tensorboard@2.7.0:2.7", type=("build", "run"), when="@2.7")
+
+ depends_on("py-termcolor@1.1.0:1.1", type=("build", "run"), when="@2.4:2.6")
+ depends_on("py-termcolor@1.1.0:", type=("build", "run"), when="@1.6:2.3,2.7:")
+ depends_on("py-wrapt@1.11.0:", type=("build", "run"), when="@2.7:")
+ depends_on("py-wrapt@1.12.1:1.12", type=("build", "run"), when="@2.4:2.6")
+ depends_on("py-wrapt@1.11.1:", type=("build", "run"), when="@1.12.1,1.14:2.3")
+ depends_on("py-wheel@0.32:0", type=("build", "run"), when="@2.7:")
+ depends_on("py-wheel@0.35:0", type=("build", "run"), when="@2.4:2.6 ^python@3:")
+ depends_on("py-wheel", type=("build", "run"), when="@0.6:2.3")
+ depends_on("py-wheel@0.26:", type=("build", "run"), when="@0.6:2.3 ^python@3:")
+ depends_on("py-mock@2.0.0:", type=("build", "run"), when="@0.10: ^python@:2")
+ depends_on("py-functools32@3.2.3:", type=("build", "run"), when="@1.15: ^python@:2")
+ depends_on("py-six@1.15.0:1.15", type=("build", "run"), when="@2.4:2.6")
+ depends_on("py-six@1.12.0:", type=("build", "run"), when="@2.1:2.3,2.7:")
+ depends_on("py-six@1.10.0:", type=("build", "run"), when="@:2.0")
+ depends_on("py-scipy@1.2.2", type=("build", "run"), when="@2.1.0:2.1.1,2.2.0,2.3.0 ^python@:2")
+ depends_on("py-scipy@1.4.1", type=("build", "run"), when="@2.1.0:2.1.1,2.2.0,2.3.0 ^python@3:")
+ depends_on("py-grpcio@1.8.6:", type=("build", "run"), when="@1.6:1.7")
+ depends_on("py-typing-extensions@3.6.6:", type=("build", "run"), when="@2.7:")
+ depends_on("py-typing-extensions@3.7.4:3.7", type=("build", "run"), when="@2.4.0:2.6")
+
+ if sys.byteorder == "little":
# Only builds correctly on little-endian machines
- depends_on('py-grpcio@1.8.6:', type=('build', 'run'), when='@1.8:2.3')
- depends_on('py-grpcio@1.32.0:1.32', type=('build', 'run'), when='@2.4.0:2.4')
- depends_on('py-grpcio@1.34.0:1.34', type=('build', 'run'), when='@2.5.0:2.5')
- depends_on('py-grpcio@1.37.0:1', type=('build', 'run'), when='@2.6.0:2.6')
- depends_on('py-grpcio@1.24.3:1', type=('build', 'run'), when='@2.7.0:')
+ depends_on("py-grpcio@1.8.6:", type=("build", "run"), when="@1.8:2.3")
+ depends_on("py-grpcio@1.32.0:1.32", type=("build", "run"), when="@2.4.0:2.4")
+ depends_on("py-grpcio@1.34.0:1.34", type=("build", "run"), when="@2.5.0:2.5")
+ depends_on("py-grpcio@1.37.0:1", type=("build", "run"), when="@2.6.0:2.6")
+ depends_on("py-grpcio@1.24.3:1", type=("build", "run"), when="@2.7.0:")
# TODO: add packages for some of these dependencies
- depends_on('mkl', when='+mkl')
- depends_on('curl', when='+gcp')
+ depends_on("mkl", when="+mkl")
+ depends_on("curl", when="+gcp")
# depends_on('computecpp', when='+opencl+computecpp')
# depends_on('trisycl', when='+opencl~computepp')
- depends_on('cuda@:10.2', when='+cuda @:2.3')
- depends_on('cuda@:11.4', when='+cuda @2.4:')
- depends_on('cudnn', when='+cuda')
- depends_on('cudnn@:6', when='@0.5:0.6 +cuda')
- depends_on('cudnn@:7', when='@0.7:2.2 +cuda')
+ depends_on("cuda@:10.2", when="+cuda @:2.3")
+ depends_on("cuda@:11.4", when="+cuda @2.4:")
+ depends_on("cudnn", when="+cuda")
+ depends_on("cudnn@:6", when="@0.5:0.6 +cuda")
+ depends_on("cudnn@:7", when="@0.7:2.2 +cuda")
# depends_on('tensorrt', when='+tensorrt')
- depends_on('nccl', when='+nccl')
- depends_on('mpi', when='+mpi')
+ depends_on("nccl", when="+nccl")
+ depends_on("mpi", when="+mpi")
# depends_on('android-ndk@10:18', when='+android')
# depends_on('android-sdk', when='+android')
@@ -277,268 +280,309 @@ class PyTensorflow(Package, CudaPackage):
# depends_on('tensorflow-io-gcs-filesystem
# Check configure and configure.py to see when these variants are supported
- conflicts('+mkl', when='@:1.0')
- conflicts('+mkl', when='platform=darwin', msg='Darwin is not yet supported')
- conflicts('+jemalloc', when='@:0')
- conflicts('+jemalloc', when='platform=darwin', msg='Currently jemalloc is only support on Linux platform')
- conflicts('+jemalloc', when='platform=cray', msg='Currently jemalloc is only support on Linux platform')
- conflicts('+gcp', when='@:0.8')
- conflicts('+hdfs', when='@:0.10')
- conflicts('+aws', when='@:1.3')
- conflicts('+kafka', when='@:1.5,2.1:')
- conflicts('+ignite', when='@:1.11,2.1:')
- conflicts('+xla', when='@:0')
- conflicts('+gdr', when='@:1.3')
- conflicts('+verbs', when='@:1.1')
- conflicts('+ngraph', when='@:1.10')
- conflicts('+opencl', when='@:0.11')
- conflicts('+computecpp', when='@:0.11')
- conflicts('+computecpp', when='~opencl')
- conflicts('+rocm', when='@:1.11')
- conflicts('+cuda', when='platform=darwin', msg='There is no GPU support for macOS')
- conflicts('cuda_arch=none', when='+cuda', msg='Must specify CUDA compute capabilities of your GPU, see https://developer.nvidia.com/cuda-gpus')
- conflicts('cuda_arch=20', when='@1.12.1,1.14:', msg='TensorFlow only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=30', when='@1.12.1,1.14:', msg='TensorFlow only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=32', when='@1.12.1,1.14:', msg='TensorFlow only supports compute capabilities >= 3.5')
- conflicts('cuda_arch=20', when='@1.4:1.12.0,1.12.2:1.12.3', msg='Only compute capabilities 3.0 or higher are supported')
- conflicts('+tensorrt', when='@:1.5')
- conflicts('+tensorrt', when='~cuda')
- conflicts('+tensorrt', when='platform=darwin', msg='Currently TensorRT is only supported on Linux platform')
- conflicts('+tensorrt', when='platform=cray', msg='Currently TensorRT is only supported on Linux platform')
- conflicts('+nccl', when='@:1.7')
- conflicts('+nccl', when='~cuda')
- conflicts('+nccl', when='platform=darwin', msg='Currently NCCL is only supported on Linux platform')
- conflicts('+nccl', when='platform=cray', msg='Currently NCCL is only supported on Linux platform')
- conflicts('+mpi', when='@:1.2')
- conflicts('+android', when='@:1.4')
- conflicts('+ios', when='@:1.12.0,1.12.2:1.13')
- conflicts('+ios', when='platform=linux', msg='iOS support only available on macOS')
- conflicts('+ios', when='platform=cray', msg='iOS support only available on macOS')
- conflicts('+monolithic', when='@:1.3')
- conflicts('+numa', when='@:1.12.0,1.12.2:1.13')
- conflicts('+dynamic_kernels', when='@:1.12.0,1.12.2:1.12.3')
+ conflicts("+mkl", when="@:1.0")
+ conflicts("+mkl", when="platform=darwin", msg="Darwin is not yet supported")
+ conflicts("+jemalloc", when="@:0")
+ conflicts(
+ "+jemalloc",
+ when="platform=darwin",
+ msg="Currently jemalloc is only support on Linux platform",
+ )
+ conflicts(
+ "+jemalloc",
+ when="platform=cray",
+ msg="Currently jemalloc is only support on Linux platform",
+ )
+ conflicts("+gcp", when="@:0.8")
+ conflicts("+hdfs", when="@:0.10")
+ conflicts("+aws", when="@:1.3")
+ conflicts("+kafka", when="@:1.5,2.1:")
+ conflicts("+ignite", when="@:1.11,2.1:")
+ conflicts("+xla", when="@:0")
+ conflicts("+gdr", when="@:1.3")
+ conflicts("+verbs", when="@:1.1")
+ conflicts("+ngraph", when="@:1.10")
+ conflicts("+opencl", when="@:0.11")
+ conflicts("+computecpp", when="@:0.11")
+ conflicts("+computecpp", when="~opencl")
+ conflicts("+rocm", when="@:1.11")
+ conflicts("+cuda", when="platform=darwin", msg="There is no GPU support for macOS")
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg="Must specify CUDA compute capabilities of your GPU, see https://developer.nvidia.com/cuda-gpus",
+ )
+ conflicts(
+ "cuda_arch=20",
+ when="@1.12.1,1.14:",
+ msg="TensorFlow only supports compute capabilities >= 3.5",
+ )
+ conflicts(
+ "cuda_arch=30",
+ when="@1.12.1,1.14:",
+ msg="TensorFlow only supports compute capabilities >= 3.5",
+ )
+ conflicts(
+ "cuda_arch=32",
+ when="@1.12.1,1.14:",
+ msg="TensorFlow only supports compute capabilities >= 3.5",
+ )
+ conflicts(
+ "cuda_arch=20",
+ when="@1.4:1.12.0,1.12.2:1.12.3",
+ msg="Only compute capabilities 3.0 or higher are supported",
+ )
+ conflicts("+tensorrt", when="@:1.5")
+ conflicts("+tensorrt", when="~cuda")
+ conflicts(
+ "+tensorrt",
+ when="platform=darwin",
+ msg="Currently TensorRT is only supported on Linux platform",
+ )
+ conflicts(
+ "+tensorrt",
+ when="platform=cray",
+ msg="Currently TensorRT is only supported on Linux platform",
+ )
+ conflicts("+nccl", when="@:1.7")
+ conflicts("+nccl", when="~cuda")
+ conflicts(
+ "+nccl", when="platform=darwin", msg="Currently NCCL is only supported on Linux platform"
+ )
+ conflicts(
+ "+nccl", when="platform=cray", msg="Currently NCCL is only supported on Linux platform"
+ )
+ conflicts("+mpi", when="@:1.2")
+ conflicts("+android", when="@:1.4")
+ conflicts("+ios", when="@:1.12.0,1.12.2:1.13")
+ conflicts("+ios", when="platform=linux", msg="iOS support only available on macOS")
+ conflicts("+ios", when="platform=cray", msg="iOS support only available on macOS")
+ conflicts("+monolithic", when="@:1.3")
+ conflicts("+numa", when="@:1.12.0,1.12.2:1.13")
+ conflicts("+dynamic_kernels", when="@:1.12.0,1.12.2:1.12.3")
# TODO: why is this needed?
- patch('url-zlib.patch', when='@0.10.0')
+ patch("url-zlib.patch", when="@0.10.0")
# TODO: why is this needed?
- patch('crosstool.patch', when='@0.10.0+cuda')
+ patch("crosstool.patch", when="@0.10.0+cuda")
# Avoid build error: "no such package '@io_bazel_rules_docker..."
- patch('io_bazel_rules_docker2.patch', when='@1.15:2.0')
+ patch("io_bazel_rules_docker2.patch", when="@1.15:2.0")
# Avoide build error: "name 'new_http_archive' is not defined"
- patch('http_archive.patch', when='@1.12.3')
+ patch("http_archive.patch", when="@1.12.3")
# Backport of 837c8b6b upstream
# "Remove contrib cloud bigtable and storage ops/kernels."
# Allows 2.0.* releases to build with '--config=nogcp'
- patch('0001-Remove-contrib-cloud-bigtable-and-storage-ops-kernel.patch',
- when='@2.0.0:2.0')
+ patch("0001-Remove-contrib-cloud-bigtable-and-storage-ops-kernel.patch", when="@2.0.0:2.0")
# for fcc
- patch('1-1_fcc_tf_patch.patch', when='@2.1.0:2.1%fj')
+ patch("1-1_fcc_tf_patch.patch", when="@2.1.0:2.1%fj")
# do not import contrib.cloud if not available
- patch('https://github.com/tensorflow/tensorflow/commit/ed62ac8203999513dfae03498e871ea35eb60cc4.patch?full_index=1',
- sha256='ff02e249532a5661b123108734a39534992d81da90f0c8187bf4e151a865effc', when='@1.14.0')
+ patch(
+ "https://github.com/tensorflow/tensorflow/commit/ed62ac8203999513dfae03498e871ea35eb60cc4.patch?full_index=1",
+ sha256="ff02e249532a5661b123108734a39534992d81da90f0c8187bf4e151a865effc",
+ when="@1.14.0",
+ )
# import_contrib_cloud patch for older versions
- patch('contrib_cloud_1.10.patch', when='@1.10:1.13')
- patch('contrib_cloud_1.9.patch', when='@1.9')
- patch('contrib_cloud_1.4.patch', when='@1.4:1.8')
- patch('contrib_cloud_1.1.patch', when='@1.1:1.3')
+ patch("contrib_cloud_1.10.patch", when="@1.10:1.13")
+ patch("contrib_cloud_1.9.patch", when="@1.9")
+ patch("contrib_cloud_1.4.patch", when="@1.4:1.8")
+ patch("contrib_cloud_1.1.patch", when="@1.1:1.3")
# needed for protobuf-3.16 and greater
- patch('example_parsing.patch', when='^protobuf@3.16:')
+ patch("example_parsing.patch", when="^protobuf@3.16:")
# allow linker to be found in PATH
# https://github.com/tensorflow/tensorflow/issues/39263
- patch('null_linker_bin_path.patch', when='@2.5:')
+ patch("null_linker_bin_path.patch", when="@2.5:")
# Reset import order to that of 2.4. Part of
# https://bugs.gentoo.org/800824#c3 From the patch:
# When tensorflow and python protobuf use the same instance of libprotobuf,
# pywrap_tensorflow must be imported before anything else that would import
# protobuf definitions.
- patch('0008-Fix-protobuf-errors-when-using-system-protobuf.patch', when='@2.5:2.6')
+ patch("0008-Fix-protobuf-errors-when-using-system-protobuf.patch", when="@2.5:2.6")
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
# https://www.tensorflow.org/install/source
def setup_build_environment(self, env):
spec = self.spec
# Please specify the location of python
- env.set('PYTHON_BIN_PATH', spec['python'].command.path)
+ env.set("PYTHON_BIN_PATH", spec["python"].command.path)
# Please input the desired Python library path to use
- env.set('PYTHON_LIB_PATH', python_platlib)
+ env.set("PYTHON_LIB_PATH", python_platlib)
# Ensure swig is in PATH or set SWIG_PATH
- env.set('SWIG_PATH', spec['swig'].prefix.bin.swig)
+ env.set("SWIG_PATH", spec["swig"].prefix.bin.swig)
# Do you wish to build TensorFlow with MKL support?
- if '+mkl' in spec:
- env.set('TF_NEED_MKL', '1')
+ if "+mkl" in spec:
+ env.set("TF_NEED_MKL", "1")
# Do you wish to download MKL LIB from the web?
- env.set('TF_DOWNLOAD_MKL', '0')
+ env.set("TF_DOWNLOAD_MKL", "0")
# Please specify the location where MKL is installed
- env.set('MKL_INSTALL_PATH', spec['mkl'].prefix)
+ env.set("MKL_INSTALL_PATH", spec["mkl"].prefix)
else:
- env.set('TF_NEED_MKL', '0')
+ env.set("TF_NEED_MKL", "0")
# Do you wish to build TensorFlow with jemalloc as malloc support?
- if '+jemalloc' in spec:
- env.set('TF_NEED_JEMALLOC', '1')
+ if "+jemalloc" in spec:
+ env.set("TF_NEED_JEMALLOC", "1")
else:
- env.set('TF_NEED_JEMALLOC', '0')
+ env.set("TF_NEED_JEMALLOC", "0")
# Do you wish to build TensorFlow with Google Cloud Platform support?
- if '+gcp' in spec:
- env.set('TF_NEED_GCP', '1')
+ if "+gcp" in spec:
+ env.set("TF_NEED_GCP", "1")
else:
- env.set('TF_NEED_GCP', '0')
+ env.set("TF_NEED_GCP", "0")
# Do you wish to build TensorFlow with Hadoop File System support?
- if '+hdfs' in spec:
- env.set('TF_NEED_HDFS', '1')
+ if "+hdfs" in spec:
+ env.set("TF_NEED_HDFS", "1")
else:
- env.set('TF_NEED_HDFS', '0')
+ env.set("TF_NEED_HDFS", "0")
# Do you wish to build TensorFlow with Amazon AWS Platform support?
- if '+aws' in spec:
- env.set('TF_NEED_AWS', '1')
- env.set('TF_NEED_S3', '1')
+ if "+aws" in spec:
+ env.set("TF_NEED_AWS", "1")
+ env.set("TF_NEED_S3", "1")
else:
- env.set('TF_NEED_AWS', '0')
- env.set('TF_NEED_S3', '0')
+ env.set("TF_NEED_AWS", "0")
+ env.set("TF_NEED_S3", "0")
# Do you wish to build TensorFlow with Apache Kafka Platform support?
- if '+kafka' in spec:
- env.set('TF_NEED_KAFKA', '1')
+ if "+kafka" in spec:
+ env.set("TF_NEED_KAFKA", "1")
else:
- env.set('TF_NEED_KAFKA', '0')
+ env.set("TF_NEED_KAFKA", "0")
# Do you wish to build TensorFlow with Apache Ignite support?
- if '+ignite' in spec:
- env.set('TF_NEED_IGNITE', '1')
+ if "+ignite" in spec:
+ env.set("TF_NEED_IGNITE", "1")
else:
- env.set('TF_NEED_IGNITE', '0')
+ env.set("TF_NEED_IGNITE", "0")
# Do you wish to build TensorFlow with XLA JIT support?
- if '+xla' in spec:
- env.set('TF_ENABLE_XLA', '1')
+ if "+xla" in spec:
+ env.set("TF_ENABLE_XLA", "1")
else:
- env.set('TF_ENABLE_XLA', '0')
+ env.set("TF_ENABLE_XLA", "0")
# Do you wish to build TensorFlow with GDR support?
- if '+gdr' in spec:
- env.set('TF_NEED_GDR', '1')
+ if "+gdr" in spec:
+ env.set("TF_NEED_GDR", "1")
else:
- env.set('TF_NEED_GDR', '0')
+ env.set("TF_NEED_GDR", "0")
# Do you wish to build TensorFlow with VERBS support?
- if '+verbs' in spec:
- env.set('TF_NEED_VERBS', '1')
+ if "+verbs" in spec:
+ env.set("TF_NEED_VERBS", "1")
else:
- env.set('TF_NEED_VERBS', '0')
+ env.set("TF_NEED_VERBS", "0")
# Do you wish to build TensorFlow with nGraph support?
- if '+ngraph' in spec:
- env.set('TF_NEED_NGRAPH', '1')
+ if "+ngraph" in spec:
+ env.set("TF_NEED_NGRAPH", "1")
else:
- env.set('TF_NEED_NGRAPH', '0')
+ env.set("TF_NEED_NGRAPH", "0")
# Do you wish to build TensorFlow with OpenCL SYCL support?
- if '+opencl' in spec:
- env.set('TF_NEED_OPENCL_SYCL', '1')
- env.set('TF_NEED_OPENCL', '1')
+ if "+opencl" in spec:
+ env.set("TF_NEED_OPENCL_SYCL", "1")
+ env.set("TF_NEED_OPENCL", "1")
# Please specify which C++ compiler should be used as the host
# C++ compiler
- env.set('HOST_CXX_COMPILER', spack_cxx)
+ env.set("HOST_CXX_COMPILER", spack_cxx)
# Please specify which C compiler should be used as the host
# C compiler
- env.set('HOST_C_COMPILER', spack_cc)
+ env.set("HOST_C_COMPILER", spack_cc)
# Do you wish to build TensorFlow with ComputeCPP support?
- if '+computecpp' in spec:
- env.set('TF_NEED_COMPUTECPP', '1')
+ if "+computecpp" in spec:
+ env.set("TF_NEED_COMPUTECPP", "1")
# Please specify the location where ComputeCpp is installed
- env.set('COMPUTECPP_TOOLKIT_PATH', spec['computecpp'].prefix)
+ env.set("COMPUTECPP_TOOLKIT_PATH", spec["computecpp"].prefix)
else:
- env.set('TF_NEED_COMPUTECPP', '0')
+ env.set("TF_NEED_COMPUTECPP", "0")
# Please specify the location of the triSYCL include directory
- env.set('TRISYCL_INCLUDE_DIR', spec['trisycl'].prefix.include)
+ env.set("TRISYCL_INCLUDE_DIR", spec["trisycl"].prefix.include)
else:
- env.set('TF_NEED_OPENCL_SYCL', '0')
- env.set('TF_NEED_OPENCL', '0')
+ env.set("TF_NEED_OPENCL_SYCL", "0")
+ env.set("TF_NEED_OPENCL", "0")
# Do you wish to build TensorFlow with ROCm support?
- if '+rocm' in spec:
- env.set('TF_NEED_ROCM', '1')
+ if "+rocm" in spec:
+ env.set("TF_NEED_ROCM", "1")
else:
- env.set('TF_NEED_ROCM', '0')
+ env.set("TF_NEED_ROCM", "0")
# Do you wish to build TensorFlow with CUDA support?
- if '+cuda' in spec:
- env.set('TF_NEED_CUDA', '1')
+ if "+cuda" in spec:
+ env.set("TF_NEED_CUDA", "1")
# Do you want to use clang as CUDA compiler?
- env.set('TF_CUDA_CLANG', '0')
+ env.set("TF_CUDA_CLANG", "0")
# Please specify which gcc nvcc should use as the host compiler
- env.set('GCC_HOST_COMPILER_PATH', spack_cc)
+ env.set("GCC_HOST_COMPILER_PATH", spack_cc)
cuda_paths = [
- spec['cuda'].prefix,
- spec['cudnn'].prefix,
+ spec["cuda"].prefix,
+ spec["cudnn"].prefix,
]
# Do you wish to build TensorFlow with TensorRT support?
- if '+tensorrt' in spec:
- env.set('TF_NEED_TENSORRT', '1')
+ if "+tensorrt" in spec:
+ env.set("TF_NEED_TENSORRT", "1")
- cuda_paths.append(spec['tensorrt'].prefix)
+ cuda_paths.append(spec["tensorrt"].prefix)
# Please specify the TensorRT version you want to use
- env.set('TF_TENSORRT_VERSION',
- spec['tensorrt'].version.up_to(1))
+ env.set("TF_TENSORRT_VERSION", spec["tensorrt"].version.up_to(1))
# Please specify the location where TensorRT is installed
- env.set('TENSORRT_INSTALL_PATH', spec['tensorrt'].prefix)
+ env.set("TENSORRT_INSTALL_PATH", spec["tensorrt"].prefix)
else:
- env.set('TF_NEED_TENSORRT', '0')
- env.unset('TF_TENSORRT_VERSION')
+ env.set("TF_NEED_TENSORRT", "0")
+ env.unset("TF_TENSORRT_VERSION")
# Please specify the CUDA SDK version you want to use
- env.set('TF_CUDA_VERSION', spec['cuda'].version.up_to(2))
+ env.set("TF_CUDA_VERSION", spec["cuda"].version.up_to(2))
# Please specify the cuDNN version you want to use
- env.set('TF_CUDNN_VERSION', spec['cudnn'].version.up_to(1))
+ env.set("TF_CUDNN_VERSION", spec["cudnn"].version.up_to(1))
- if '+nccl' in spec:
- cuda_paths.append(spec['nccl'].prefix)
+ if "+nccl" in spec:
+ cuda_paths.append(spec["nccl"].prefix)
# Please specify the locally installed NCCL version to use
- env.set('TF_NCCL_VERSION', spec['nccl'].version.up_to(1))
+ env.set("TF_NCCL_VERSION", spec["nccl"].version.up_to(1))
# Please specify the location where NCCL is installed
- env.set('NCCL_INSTALL_PATH', spec['nccl'].prefix)
- env.set('NCCL_HDR_PATH', spec['nccl'].prefix.include)
+ env.set("NCCL_INSTALL_PATH", spec["nccl"].prefix)
+ env.set("NCCL_HDR_PATH", spec["nccl"].prefix.include)
else:
- env.unset('TF_NCCL_VERSION')
+ env.unset("TF_NCCL_VERSION")
# Please specify the comma-separated list of base paths to
# look for CUDA libraries and headers
- env.set('TF_CUDA_PATHS', ','.join(cuda_paths))
+ env.set("TF_CUDA_PATHS", ",".join(cuda_paths))
# Please specify the location where CUDA toolkit is installed
- env.set('CUDA_TOOLKIT_PATH', spec['cuda'].prefix)
+ env.set("CUDA_TOOLKIT_PATH", spec["cuda"].prefix)
# Please specify the location where CUDNN library is installed
- env.set('CUDNN_INSTALL_PATH', spec['cudnn'].prefix)
+ env.set("CUDNN_INSTALL_PATH", spec["cudnn"].prefix)
# Please specify a list of comma-separated CUDA compute
# capabilities you want to build with. You can find the compute
@@ -547,56 +591,59 @@ class PyTensorflow(Package, CudaPackage):
# Please note that each additional compute capability significantly
# increases your build time and binary size, and that TensorFlow
# only supports compute capabilities >= 3.5
- capabilities = ','.join('{0:.1f}'.format(
- float(i) / 10.0) for i in spec.variants['cuda_arch'].value)
- env.set('TF_CUDA_COMPUTE_CAPABILITIES', capabilities)
+ capabilities = ",".join(
+ "{0:.1f}".format(float(i) / 10.0) for i in spec.variants["cuda_arch"].value
+ )
+ env.set("TF_CUDA_COMPUTE_CAPABILITIES", capabilities)
else:
- env.set('TF_NEED_CUDA', '0')
+ env.set("TF_NEED_CUDA", "0")
# Do you wish to download a fresh release of clang? (Experimental)
- env.set('TF_DOWNLOAD_CLANG', '0')
+ env.set("TF_DOWNLOAD_CLANG", "0")
# Do you wish to build TensorFlow with MPI support?
- if '+mpi' in spec:
- env.set('TF_NEED_MPI', '1')
+ if "+mpi" in spec:
+ env.set("TF_NEED_MPI", "1")
# Please specify the MPI toolkit folder
- env.set('MPI_HOME', spec['mpi'].prefix)
+ env.set("MPI_HOME", spec["mpi"].prefix)
else:
- env.set('TF_NEED_MPI', '0')
- env.unset('MPI_HOME')
+ env.set("TF_NEED_MPI", "0")
+ env.unset("MPI_HOME")
# Please specify optimization flags to use during compilation when
# bazel option '--config=opt' is specified
- env.set('CC_OPT_FLAGS', spec.target.optimization_flags(
- spec.compiler.name, spec.compiler.version))
+ env.set(
+ "CC_OPT_FLAGS",
+ spec.target.optimization_flags(spec.compiler.name, spec.compiler.version),
+ )
# Would you like to interactively configure ./WORKSPACE for
# Android builds?
- if '+android' in spec:
- env.set('TF_SET_ANDROID_WORKSPACE', '1')
+ if "+android" in spec:
+ env.set("TF_SET_ANDROID_WORKSPACE", "1")
# Please specify the home path of the Android NDK to use
- env.set('ANDROID_NDK_HOME', spec['android-ndk'].prefix)
- env.set('ANDROID_NDK_API_LEVEL', spec['android-ndk'].version)
+ env.set("ANDROID_NDK_HOME", spec["android-ndk"].prefix)
+ env.set("ANDROID_NDK_API_LEVEL", spec["android-ndk"].version)
# Please specify the home path of the Android SDK to use
- env.set('ANDROID_SDK_HOME', spec['android-sdk'].prefix)
- env.set('ANDROID_SDK_API_LEVEL', spec['android-sdk'].version)
+ env.set("ANDROID_SDK_HOME", spec["android-sdk"].prefix)
+ env.set("ANDROID_SDK_API_LEVEL", spec["android-sdk"].version)
# Please specify the Android SDK API level to use
- env.set('ANDROID_API_LEVEL', spec['android-sdk'].version)
+ env.set("ANDROID_API_LEVEL", spec["android-sdk"].version)
# Please specify an Android build tools version to use
- env.set('ANDROID_BUILD_TOOLS_VERSION', spec['android-sdk'].version)
+ env.set("ANDROID_BUILD_TOOLS_VERSION", spec["android-sdk"].version)
else:
- env.set('TF_SET_ANDROID_WORKSPACE', '0')
+ env.set("TF_SET_ANDROID_WORKSPACE", "0")
# Do you wish to build TensorFlow with iOS support?
- if '+ios' in spec:
- env.set('TF_CONFIGURE_IOS', '1')
+ if "+ios" in spec:
+ env.set("TF_CONFIGURE_IOS", "1")
else:
- env.set('TF_CONFIGURE_IOS', '0')
+ env.set("TF_CONFIGURE_IOS", "0")
# set tmpdir to a non-NFS filesystem
# (because bazel uses ~/.cache/bazel)
@@ -607,45 +654,50 @@ class PyTensorflow(Package, CudaPackage):
# ])
# to not be nfs. This is only valid for Linux and we'd like to
# stay at least also OSX compatible
- tmp_path = tempfile.mkdtemp(prefix='spack')
- env.set('TEST_TMPDIR', tmp_path)
+ tmp_path = tempfile.mkdtemp(prefix="spack")
+ env.set("TEST_TMPDIR", tmp_path)
- env.set('TF_SYSTEM_LIBS', 'com_google_protobuf')
- if spec.satisfies('@:2.3'):
+ env.set("TF_SYSTEM_LIBS", "com_google_protobuf")
+ if spec.satisfies("@:2.3"):
# NOTE: INCLUDEDIR is not just relevant to protobuf
# see third_party/systemlibs/jsoncpp.BUILD
- env.set('INCLUDEDIR', spec['protobuf'].prefix.include)
+ env.set("INCLUDEDIR", spec["protobuf"].prefix.include)
def patch(self):
- if self.spec.satisfies('@2.3.0:'):
- filter_file('deps = protodeps + well_known_proto_libs(),',
- 'deps = protodeps,',
- 'tensorflow/core/platform/default/build_config.bzl',
- string=True)
- if self.spec.satisfies('@2.4.0:2.5'):
- text = '''
+ if self.spec.satisfies("@2.3.0:"):
+ filter_file(
+ "deps = protodeps + well_known_proto_libs(),",
+ "deps = protodeps,",
+ "tensorflow/core/platform/default/build_config.bzl",
+ string=True,
+ )
+ if self.spec.satisfies("@2.4.0:2.5"):
+ text = """
def protobuf_deps():
pass
-'''
- with open('third_party/systemlibs/protobuf_deps.bzl', 'w') as f:
+"""
+ with open("third_party/systemlibs/protobuf_deps.bzl", "w") as f:
f.write(text)
- if self.spec.satisfies('@2.5.0'):
- file_to_patch = 'tensorflow/workspace2.bzl'
+ if self.spec.satisfies("@2.5.0"):
+ file_to_patch = "tensorflow/workspace2.bzl"
else:
- file_to_patch = 'tensorflow/workspace.bzl'
+ file_to_patch = "tensorflow/workspace.bzl"
filter_file(
'"//third_party/systemlibs:protobuf.bzl": "protobuf.bzl",',
'"//third_party/systemlibs:protobuf.bzl": "protobuf.bzl",\n'
'"//third_party/systemlibs:protobuf_deps.bzl": "protobuf_deps.bzl",',
file_to_patch,
- string=True)
+ string=True,
+ )
# Set protobuf path
- filter_file(r'(^build:linux --define=PROTOBUF_INCLUDE_PATH=).*',
- r'\1{0}'.format(self.spec['protobuf'].prefix.include),
- '.bazelrc')
+ filter_file(
+ r"(^build:linux --define=PROTOBUF_INCLUDE_PATH=).*",
+ r"\1{0}".format(self.spec["protobuf"].prefix.include),
+ ".bazelrc",
+ )
def configure(self, spec, prefix):
# NOTE: configure script is interactive. If you set the appropriate
@@ -655,251 +707,255 @@ def protobuf_deps():
# version.
configure()
- @run_after('configure')
+ @run_after("configure")
def post_configure_fixes(self):
spec = self.spec
# make sure xla is actually turned off
- if spec.satisfies('~xla'):
+ if spec.satisfies("~xla"):
filter_file(
- r'--define with_xla_support=true',
- r'--define with_xla_support=false',
- '.tf_configure.bazelrc')
+ r"--define with_xla_support=true",
+ r"--define with_xla_support=false",
+ ".tf_configure.bazelrc",
+ )
- if spec.satisfies('@1.5.0: ~android'):
+ if spec.satisfies("@1.5.0: ~android"):
# env variable is somehow ignored -> brute force
# TODO: find a better solution
- filter_file(
- r'if workspace_has_any_android_rule\(\)',
- r'if True',
- 'configure.py')
+ filter_file(r"if workspace_has_any_android_rule\(\)", r"if True", "configure.py")
# version dependent fixes
- if spec.satisfies('@1.3.0:1.5.0'):
+ if spec.satisfies("@1.3.0:1.5.0"):
# checksum for protobuf that bazel downloads (@github) changed
filter_file(
r'sha256 = "6d43b9d223ce09e5d4ce8b0060cb8a7513577a35a64c7e3dad10f0703bf3ad93"',
r'sha256 = "e5fdeee6b28cf6c38d61243adff06628baa434a22b5ebb7432d2a7fbabbdb13d"',
- 'tensorflow/workspace.bzl')
+ "tensorflow/workspace.bzl",
+ )
# starting with tensorflow 1.3, tensorboard becomes a dependency
# -> remove from list of required packages
filter_file(
r"'tensorflow-tensorboard",
r"#'tensorflow-tensorboard",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@1.5.0: ~gcp'):
+ if spec.satisfies("@1.5.0: ~gcp"):
# google cloud support seems to be installed on default, leading
# to boringssl error manually set the flag to false to avoid
# installing gcp support
# https://github.com/tensorflow/tensorflow/issues/20677#issuecomment-404634519
filter_file(
- r'--define with_gcp_support=true',
- r'--define with_gcp_support=false',
- '.tf_configure.bazelrc')
+ r"--define with_gcp_support=true",
+ r"--define with_gcp_support=false",
+ ".tf_configure.bazelrc",
+ )
- if spec.satisfies('@1.6.0:2.1'):
+ if spec.satisfies("@1.6.0:2.1"):
# tensorboard name changed
# there are no corresponding versions of these in spack
filter_file(
r"(^\s*)'tensorboard (>=|~=)",
r"\1#'tensorboard \2",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@1.8.0: ~opencl'):
+ if spec.satisfies("@1.8.0: ~opencl"):
# 1.8.0 and 1.9.0 aborts with numpy import error during python_api
# generation somehow the wrong PYTHONPATH is used...
# set --distinct_host_configuration=false as a workaround
# https://github.com/tensorflow/tensorflow/issues/22395#issuecomment-431229451
- with open('.tf_configure.bazelrc', mode='a') as f:
- f.write('build --distinct_host_configuration=false\n')
- f.write('build --action_env PYTHONPATH="{0}"\n'.format(
- env['PYTHONPATH']))
+ with open(".tf_configure.bazelrc", mode="a") as f:
+ f.write("build --distinct_host_configuration=false\n")
+ f.write('build --action_env PYTHONPATH="{0}"\n'.format(env["PYTHONPATH"]))
- if spec.satisfies('@1.13.1:'):
+ if spec.satisfies("@1.13.1:"):
# tensorflow_estimator is an API for tensorflow
# tensorflow-estimator imports tensorflow during build, so
# tensorflow has to be set up first
filter_file(
r"(^\s*)'tensorflow_estimator (>=|~=)",
r"\1#'tensorflow_estimator \2",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@2.5'):
+ if spec.satisfies("@2.5"):
filter_file(
r"(^\s*)'keras-nightly (>=|~=)",
r"\1#'keras-nightly \2",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@2.6:'):
+ if spec.satisfies("@2.6:"):
filter_file(
- r"(^\s*)'keras (>=|~=)",
- r"\1#'keras \2",
- 'tensorflow/tools/pip_package/setup.py')
+ r"(^\s*)'keras (>=|~=)", r"\1#'keras \2", "tensorflow/tools/pip_package/setup.py"
+ )
- if spec.satisfies('@2.6'):
+ if spec.satisfies("@2.6"):
filter_file(
- r"(^\s*)'clang (>=|~=)",
- r"\1#'clang \2",
- 'tensorflow/tools/pip_package/setup.py')
+ r"(^\s*)'clang (>=|~=)", r"\1#'clang \2", "tensorflow/tools/pip_package/setup.py"
+ )
# TODO: add support for tensorflow-io-gcs-filesystem
- if spec.satisfies('@2.7:'):
+ if spec.satisfies("@2.7:"):
filter_file(
r"(^\s*)'tensorflow-io-gcs-filesystem (>=|~=)",
r"\1#'tensorflow-io-gcs-filesystem \2",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@2.0.0:'):
+ if spec.satisfies("@2.0.0:"):
# now it depends on the nightly versions...
filter_file(
r"REQUIRED_PACKAGES\[i\] = 'tb-nightly (>=|~=)",
r"pass #REQUIRED_PACKAGES[i] = 'tb-nightly \1",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
filter_file(
r"REQUIRED_PACKAGES\[i\] = 'tensorflow-estimator-2.0-preview",
r"pass #REQUIRED_PACKAGES[i] = 'tensorflow-estimator-2.0-preview",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
filter_file(
r"REQUIRED_PACKAGES\[i\] = 'tf-estimator-nightly (>=|~=)",
r"pass #REQUIRED_PACKAGES[i] = 'tf-estimator-nightly \1",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
filter_file(
r"REQUIRED_PACKAGES\[i\] = 'keras-nightly (>=|~=)",
r"pass #REQUIRED_PACKAGES[i] = 'keras-nightly \1",
- 'tensorflow/tools/pip_package/setup.py')
+ "tensorflow/tools/pip_package/setup.py",
+ )
- if spec.satisfies('@1.13.1 +nccl'):
+ if spec.satisfies("@1.13.1 +nccl"):
filter_file(
- r'^build --action_env NCCL_INSTALL_PATH=.*',
- r'build --action_env NCCL_INSTALL_PATH="' +
- spec['nccl'].libs.directories[0] + '"',
- '.tf_configure.bazelrc')
+ r"^build --action_env NCCL_INSTALL_PATH=.*",
+ r'build --action_env NCCL_INSTALL_PATH="' + spec["nccl"].libs.directories[0] + '"',
+ ".tf_configure.bazelrc",
+ )
filter_file(
- r'^build --action_env NCCL_HDR_PATH=.*',
- r'build --action_env NCCL_HDR_PATH="' +
- spec['nccl'].prefix.include + '"',
- '.tf_configure.bazelrc')
+ r"^build --action_env NCCL_HDR_PATH=.*",
+ r'build --action_env NCCL_HDR_PATH="' + spec["nccl"].prefix.include + '"',
+ ".tf_configure.bazelrc",
+ )
# see tensorflow issue #31187 on github
- if spec.satisfies('@2.0.0:2.0'):
+ if spec.satisfies("@2.0.0:2.0"):
filter_file(
- r'\#define RUY_DONOTUSEDIRECTLY_AVX512 1',
- '#define RUY_DONOTUSEDIRECTLY_AVX512 0',
- 'tensorflow/lite/experimental/ruy/platform.h')
-
- if spec.satisfies('+cuda'):
- libs = spec['cuda'].libs.directories
- libs.extend(spec['cudnn'].libs.directories)
- if '+nccl' in spec:
- libs.extend(spec['nccl'].libs.directories)
-
- if '+tensorrt' in spec:
- libs.extend(spec['tensorrt'].libs.directories)
- slibs = ':'.join(libs)
-
- with open('.tf_configure.bazelrc', mode='a') as f:
+ r"\#define RUY_DONOTUSEDIRECTLY_AVX512 1",
+ "#define RUY_DONOTUSEDIRECTLY_AVX512 0",
+ "tensorflow/lite/experimental/ruy/platform.h",
+ )
+
+ if spec.satisfies("+cuda"):
+ libs = spec["cuda"].libs.directories
+ libs.extend(spec["cudnn"].libs.directories)
+ if "+nccl" in spec:
+ libs.extend(spec["nccl"].libs.directories)
+
+ if "+tensorrt" in spec:
+ libs.extend(spec["tensorrt"].libs.directories)
+ slibs = ":".join(libs)
+
+ with open(".tf_configure.bazelrc", mode="a") as f:
f.write('build --action_env LD_LIBRARY_PATH="' + slibs + '"')
- filter_file('build:opt --copt=-march=native', '',
- '.tf_configure.bazelrc')
- filter_file('build:opt --host_copt=-march=native', '',
- '.tf_configure.bazelrc')
+ filter_file("build:opt --copt=-march=native", "", ".tf_configure.bazelrc")
+ filter_file("build:opt --host_copt=-march=native", "", ".tf_configure.bazelrc")
def build(self, spec, prefix):
- tmp_path = env['TEST_TMPDIR']
+ tmp_path = env["TEST_TMPDIR"]
# https://docs.bazel.build/versions/master/command-line-reference.html
args = [
# Don't allow user or system .bazelrc to override build settings
- '--nohome_rc',
- '--nosystem_rc',
+ "--nohome_rc",
+ "--nosystem_rc",
# Bazel does not work properly on NFS, switch to /tmp
- '--output_user_root=' + tmp_path,
- 'build',
+ "--output_user_root=" + tmp_path,
+ "build",
# Spack logs don't handle colored output well
- '--color=no',
- '--jobs={0}'.format(make_jobs),
- '--config=opt',
+ "--color=no",
+ "--jobs={0}".format(make_jobs),
+ "--config=opt",
# Enable verbose output for failures
- '--verbose_failures',
+ "--verbose_failures",
# Show (formatted) subcommands being executed
- '--subcommands=pretty_print',
+ "--subcommands=pretty_print",
# Ask bazel to explain what it's up to
# Needs a filename as argument
- '--explain=explainlogfile.txt',
+ "--explain=explainlogfile.txt",
# Increase verbosity of explanation,
- '--verbose_explanations',
+ "--verbose_explanations",
]
- if spec.satisfies('^bazel@:3.5'):
+ if spec.satisfies("^bazel@:3.5"):
# removed in bazel 3.6
- args.append('--incompatible_no_support_tools_in_action_inputs=false')
+ args.append("--incompatible_no_support_tools_in_action_inputs=false")
# See .bazelrc for when each config flag is supported
- if spec.satisfies('@1.12.1:'):
- if '+mkl' in spec:
- args.append('--config=mkl')
+ if spec.satisfies("@1.12.1:"):
+ if "+mkl" in spec:
+ args.append("--config=mkl")
- if '+monolithic' in spec:
- args.append('--config=monolithic')
+ if "+monolithic" in spec:
+ args.append("--config=monolithic")
- if '+gdr' in spec:
- args.append('--config=gdr')
+ if "+gdr" in spec:
+ args.append("--config=gdr")
- if '+verbs' in spec:
- args.append('--config=verbs')
+ if "+verbs" in spec:
+ args.append("--config=verbs")
- if '+ngraph' in spec:
- args.append('--config=ngraph')
+ if "+ngraph" in spec:
+ args.append("--config=ngraph")
- if '+dynamic_kernels' in spec:
- args.append('--config=dynamic_kernels')
+ if "+dynamic_kernels" in spec:
+ args.append("--config=dynamic_kernels")
- if '+cuda' in spec:
- args.append('--config=cuda')
+ if "+cuda" in spec:
+ args.append("--config=cuda")
- if '~aws' in spec:
- args.append('--config=noaws')
+ if "~aws" in spec:
+ args.append("--config=noaws")
- if '~gcp' in spec:
- args.append('--config=nogcp')
+ if "~gcp" in spec:
+ args.append("--config=nogcp")
- if '~hdfs' in spec:
- args.append('--config=nohdfs')
+ if "~hdfs" in spec:
+ args.append("--config=nohdfs")
- if '~nccl' in spec:
- args.append('--config=nonccl')
+ if "~nccl" in spec:
+ args.append("--config=nonccl")
- if spec.satisfies('@1.12.1:2.0'):
- if '~ignite' in spec:
- args.append('--config=noignite')
+ if spec.satisfies("@1.12.1:2.0"):
+ if "~ignite" in spec:
+ args.append("--config=noignite")
- if '~kafka' in spec:
- args.append('--config=nokafka')
+ if "~kafka" in spec:
+ args.append("--config=nokafka")
- if spec.satisfies('@1.12.1,1.14:'):
- if '+numa' in spec:
- args.append('--config=numa')
+ if spec.satisfies("@1.12.1,1.14:"):
+ if "+numa" in spec:
+ args.append("--config=numa")
- if spec.satisfies('@2:'):
- args.append('--config=v2')
+ if spec.satisfies("@2:"):
+ args.append("--config=v2")
- args.append('//tensorflow/tools/pip_package:build_pip_package')
+ args.append("//tensorflow/tools/pip_package:build_pip_package")
bazel(*args)
- build_pip_package = Executable(
- 'bazel-bin/tensorflow/tools/pip_package/build_pip_package')
- buildpath = join_path(self.stage.source_path, 'spack-build')
- build_pip_package('--src', buildpath)
+ build_pip_package = Executable("bazel-bin/tensorflow/tools/pip_package/build_pip_package")
+ buildpath = join_path(self.stage.source_path, "spack-build")
+ build_pip_package("--src", buildpath)
def install(self, spec, prefix):
- tmp_path = env['TEST_TMPDIR']
- buildpath = join_path(self.stage.source_path, 'spack-build')
+ tmp_path = env["TEST_TMPDIR"]
+ buildpath = join_path(self.stage.source_path, "spack-build")
with working_dir(buildpath):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
remove_linked_tree(tmp_path)
@@ -909,7 +965,9 @@ def protobuf_deps():
# Make sure we are importing the installed modules,
# not the ones in the source directory
for module in self.import_modules:
- self.run_test(self.spec['python'].command.path,
- ['-c', 'import {0}'.format(module)],
- purpose='checking import of {0}'.format(module),
- work_dir='spack-test')
+ self.run_test(
+ self.spec["python"].command.path,
+ ["-c", "import {0}".format(module)],
+ purpose="checking import of {0}".format(module),
+ work_dir="spack-test",
+ )
diff --git a/var/spack/repos/builtin/packages/py-termcolor/package.py b/var/spack/repos/builtin/packages/py-termcolor/package.py
index 0927bea331..386caf52c9 100644
--- a/var/spack/repos/builtin/packages/py-termcolor/package.py
+++ b/var/spack/repos/builtin/packages/py-termcolor/package.py
@@ -11,7 +11,7 @@ class PyTermcolor(PythonPackage):
pypi = "termcolor/termcolor-1.1.0.tar.gz"
- version('1.1.0', sha256='1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b')
+ version("1.1.0", sha256="1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-terminado/package.py b/var/spack/repos/builtin/packages/py-terminado/package.py
index e7acc806c1..f2279cb17d 100644
--- a/var/spack/repos/builtin/packages/py-terminado/package.py
+++ b/var/spack/repos/builtin/packages/py-terminado/package.py
@@ -12,16 +12,16 @@ class PyTerminado(PythonPackage):
pypi = "terminado/terminado-0.8.3.tar.gz"
- version('0.12.1', sha256='b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f')
- version('0.8.3', sha256='4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2')
- version('0.8.2', sha256='de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2')
- version('0.8.1', sha256='55abf9ade563b8f9be1f34e4233c7b7bde726059947a593322e8a553cc4c067a')
- version('0.6', sha256='2c0ba1f624067dccaaead7d2247cfe029806355cef124dc2ccb53c83229f0126')
+ version("0.12.1", sha256="b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f")
+ version("0.8.3", sha256="4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2")
+ version("0.8.2", sha256="de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2")
+ version("0.8.1", sha256="55abf9ade563b8f9be1f34e4233c7b7bde726059947a593322e8a553cc4c067a")
+ version("0.6", sha256="2c0ba1f624067dccaaead7d2247cfe029806355cef124dc2ccb53c83229f0126")
- depends_on('python@3.6:', when='@0.12.1:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@0.8.2:', type=('build', 'run'))
- depends_on('py-setuptools@40.8.0:', when='@0.12.1:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-flit', when='@0.8', type='build')
- depends_on('py-tornado@4:', type=('build', 'run'))
- depends_on('py-ptyprocess', type=('build', 'run'))
+ depends_on("python@3.6:", when="@0.12.1:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@0.8.2:", type=("build", "run"))
+ depends_on("py-setuptools@40.8.0:", when="@0.12.1:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-flit", when="@0.8", type="build")
+ depends_on("py-tornado@4:", type=("build", "run"))
+ depends_on("py-ptyprocess", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-terminaltables/package.py b/var/spack/repos/builtin/packages/py-terminaltables/package.py
index a52d3f922f..ecb08e1873 100644
--- a/var/spack/repos/builtin/packages/py-terminaltables/package.py
+++ b/var/spack/repos/builtin/packages/py-terminaltables/package.py
@@ -10,13 +10,13 @@ class PyTerminaltables(PythonPackage):
"""Generate simple tables in terminals from a nested list of strings."""
homepage = "https://github.com/Robpol86/terminaltables"
- pypi = "terminaltables/terminaltables-3.1.0.tar.gz"
+ pypi = "terminaltables/terminaltables-3.1.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('3.1.0', sha256='f3eb0eb92e3833972ac36796293ca0906e998dc3be91fbe1f8615b331b853b81')
+ version("3.1.0", sha256="f3eb0eb92e3833972ac36796293ca0906e998dc3be91fbe1f8615b331b853b81")
- depends_on('py-setuptools', type='build')
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-termcolor', type=('build', 'run'))
- depends_on('py-colorclass', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-termcolor", type=("build", "run"))
+ depends_on("py-colorclass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tern/package.py b/var/spack/repos/builtin/packages/py-tern/package.py
index b5c9b4546c..70dbd8a351 100644
--- a/var/spack/repos/builtin/packages/py-tern/package.py
+++ b/var/spack/repos/builtin/packages/py-tern/package.py
@@ -12,11 +12,11 @@ class PyTern(PythonPackage):
of Materials (SBoM) for containers.
"""
- pypi = "tern/tern-2.8.0.tar.gz"
- git = "https://github.com/tern-tools/tern.git"
+ pypi = "tern/tern-2.8.0.tar.gz"
+ git = "https://github.com/tern-tools/tern.git"
- version('main', branch='main')
+ version("main", branch="main")
- depends_on('py-setuptools', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-pip', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-pip", type="build")
diff --git a/var/spack/repos/builtin/packages/py-testfixtures/package.py b/var/spack/repos/builtin/packages/py-testfixtures/package.py
index 96a69c5074..48d3914ab8 100644
--- a/var/spack/repos/builtin/packages/py-testfixtures/package.py
+++ b/var/spack/repos/builtin/packages/py-testfixtures/package.py
@@ -11,8 +11,8 @@ class PyTestfixtures(PythonPackage):
when writing automated tests in Python."""
homepage = "https://github.com/Simplistix/testfixtures"
- url = "https://github.com/Simplistix/testfixtures/archive/6.16.0.zip"
+ url = "https://github.com/Simplistix/testfixtures/archive/6.16.0.zip"
- version('6.16.0', sha256='6b5bbca4f7d5692ca4566c60c0383b121d9f1cfecbc3de8442c499a63c264eb8')
+ version("6.16.0", sha256="6b5bbca4f7d5692ca4566c60c0383b121d9f1cfecbc3de8442c499a63c264eb8")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-testinfra/package.py b/var/spack/repos/builtin/packages/py-testinfra/package.py
index 4e23e1090b..466f046b4d 100644
--- a/var/spack/repos/builtin/packages/py-testinfra/package.py
+++ b/var/spack/repos/builtin/packages/py-testinfra/package.py
@@ -14,18 +14,18 @@ class PyTestinfra(PythonPackage):
homepage = "https://testinfra.readthedocs.io"
pypi = "testinfra/testinfra-1.11.1.tar.gz"
- version('1.18.0', sha256='4a0a70355b007729d78446c86bffd80bcea4ffe9adc9571f9c9779476c49153d')
- version('1.13.0', sha256='b5afa23d71ee49ad81aed104e4a0f1c02819ef791291cd308fe27aa7f3d3b01f')
- version('1.12.0', sha256='ecf6f21b71bf5f4fe531c84149bfd5175465de910a6a0bb9a42c14828be7bdc1')
- version('1.11.1', sha256='a54224c39d71fe120c1f4c88330397ddcb6f6362dc38e1ce9fd53290bccbf153')
+ version("1.18.0", sha256="4a0a70355b007729d78446c86bffd80bcea4ffe9adc9571f9c9779476c49153d")
+ version("1.13.0", sha256="b5afa23d71ee49ad81aed104e4a0f1c02819ef791291cd308fe27aa7f3d3b01f")
+ version("1.12.0", sha256="ecf6f21b71bf5f4fe531c84149bfd5175465de910a6a0bb9a42c14828be7bdc1")
+ version("1.11.1", sha256="a54224c39d71fe120c1f4c88330397ddcb6f6362dc38e1ce9fd53290bccbf153")
- depends_on('py-setuptools', type='build')
- depends_on('py-importlib', when='^python@2.6.0:2.6', type=('build', 'run'))
- depends_on('py-pytest@:3.0.1,3.0.3:', type=('build', 'run'))
- depends_on('py-six@1.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-importlib", when="^python@2.6.0:2.6", type=("build", "run"))
+ depends_on("py-pytest@:3.0.1,3.0.3:", type=("build", "run"))
+ depends_on("py-six@1.4:", type=("build", "run"))
# Required for testing remote systems
- depends_on('py-paramiko', type=('build', 'run'))
+ depends_on("py-paramiko", type=("build", "run"))
# Required for parallel execution
- depends_on('py-pytest-xdist', type=('build', 'run'))
+ depends_on("py-pytest-xdist", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-testpath/package.py b/var/spack/repos/builtin/packages/py-testpath/package.py
index b7a75c7149..c1427ed729 100644
--- a/var/spack/repos/builtin/packages/py-testpath/package.py
+++ b/var/spack/repos/builtin/packages/py-testpath/package.py
@@ -13,10 +13,10 @@ class PyTestpath(PythonPackage):
homepage = "https://github.com/jupyter/testpath"
pypi = "testpath/testpath-0.4.2.tar.gz"
- version('0.6.0', sha256='2f1b97e6442c02681ebe01bd84f531028a7caea1af3825000f52345c30285e0f')
- version('0.5.0', sha256='1acf7a0bcd3004ae8357409fc33751e16d37ccc650921da1094a86581ad1e417')
- version('0.4.2', sha256='b694b3d9288dbd81685c5d2e7140b81365d46c29f5db4bc659de5aa6b98780f8')
+ version("0.6.0", sha256="2f1b97e6442c02681ebe01bd84f531028a7caea1af3825000f52345c30285e0f")
+ version("0.5.0", sha256="1acf7a0bcd3004ae8357409fc33751e16d37ccc650921da1094a86581ad1e417")
+ version("0.4.2", sha256="b694b3d9288dbd81685c5d2e7140b81365d46c29f5db4bc659de5aa6b98780f8")
- depends_on('python@3.5:', type=('build', 'run'), when='@0.5.0:')
- depends_on('py-flit-core@3.2.0:3.2', type='build', when='@:0.5.0')
- depends_on('py-flit-core@3.2.0:3', type='build', when='@0.6.0:')
+ depends_on("python@3.5:", type=("build", "run"), when="@0.5.0:")
+ depends_on("py-flit-core@3.2.0:3.2", type="build", when="@:0.5.0")
+ depends_on("py-flit-core@3.2.0:3", type="build", when="@0.6.0:")
diff --git a/var/spack/repos/builtin/packages/py-testrepository/package.py b/var/spack/repos/builtin/packages/py-testrepository/package.py
index 092b172437..ff083a7e4f 100644
--- a/var/spack/repos/builtin/packages/py-testrepository/package.py
+++ b/var/spack/repos/builtin/packages/py-testrepository/package.py
@@ -12,9 +12,9 @@ class PyTestrepository(PythonPackage):
homepage = "https://launchpad.net/testrepository"
pypi = "testrepository/testrepository-0.0.20.tar.gz"
- version('0.0.20', sha256='752449bc98c20253ec4611c40564aea93d435a5bf3ff672208e01cc10e5858eb')
+ version("0.0.20", sha256="752449bc98c20253ec4611c40564aea93d435a5bf3ff672208e01cc10e5858eb")
- depends_on('py-setuptools', type='build')
- depends_on('py-fixtures', type=('build', 'run'))
- depends_on('py-python-subunit@0.0.18:', type=('build', 'run'))
- depends_on('py-testtools@0.9.30:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-fixtures", type=("build", "run"))
+ depends_on("py-python-subunit@0.0.18:", type=("build", "run"))
+ depends_on("py-testtools@0.9.30:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-testresources/package.py b/var/spack/repos/builtin/packages/py-testresources/package.py
index 7df600a068..421b29bcfc 100644
--- a/var/spack/repos/builtin/packages/py-testresources/package.py
+++ b/var/spack/repos/builtin/packages/py-testresources/package.py
@@ -7,12 +7,11 @@ from spack.package import *
class PyTestresources(PythonPackage):
- """Testresources, a pyunit extension for managing expensive test resources.
- """
+ """Testresources, a pyunit extension for managing expensive test resources."""
homepage = "https://launchpad.net/testresources"
pypi = "testresources/testresources-2.0.1.tar.gz"
- version('2.0.1', sha256='ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417')
+ version("2.0.1", sha256="ee9d1982154a1e212d4e4bac6b610800bfb558e4fb853572a827bc14a96e4417")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-testscenarios/package.py b/var/spack/repos/builtin/packages/py-testscenarios/package.py
index ce76f746d4..2bf628f646 100644
--- a/var/spack/repos/builtin/packages/py-testscenarios/package.py
+++ b/var/spack/repos/builtin/packages/py-testscenarios/package.py
@@ -12,6 +12,6 @@ class PyTestscenarios(PythonPackage):
homepage = "https://launchpad.net/testscenarios"
pypi = "testscenarios/testscenarios-0.5.0.tar.gz"
- version('0.5.0', sha256='c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6')
+ version("0.5.0", sha256="c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-testtools/package.py b/var/spack/repos/builtin/packages/py-testtools/package.py
index 4285704c3d..66bd533b46 100644
--- a/var/spack/repos/builtin/packages/py-testtools/package.py
+++ b/var/spack/repos/builtin/packages/py-testtools/package.py
@@ -12,6 +12,6 @@ class PyTesttools(PythonPackage):
homepage = "https://github.com/testing-cabal/testtools"
pypi = "testtools/testtools-2.3.0.tar.gz"
- version('2.3.0', sha256='5827ec6cf8233e0f29f51025addd713ca010061204fdea77484a2934690a0559')
+ version("2.3.0", sha256="5827ec6cf8233e0f29f51025addd713ca010061204fdea77484a2934690a0559")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tetoolkit/package.py b/var/spack/repos/builtin/packages/py-tetoolkit/package.py
index bbdbe94f9e..eb9d5f752f 100644
--- a/var/spack/repos/builtin/packages/py-tetoolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-tetoolkit/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class PyTetoolkit(PythonPackage):
"""TEToolkit is a software package that utilizes both unambiguously
- (uniquely) and ambiguously (multi-) mapped reads to perform
- differential enrichment analyses from high throughput sequencing
- experiments."""
+ (uniquely) and ambiguously (multi-) mapped reads to perform
+ differential enrichment analyses from high throughput sequencing
+ experiments."""
homepage = "http://hammelllab.labsites.cshl.edu/software"
pypi = "TEToolkit/TEToolkit-1.5.1.tar.gz"
- version('2.0.3', sha256='1d0f5928b30c6cd9dbef8e092ae0c11e9e707faf92a19af8eed3e360da7d4e46')
- version('1.5.1', sha256='22c13ca45bccc89e9d9bf48d59ae6db1fa4c634def64fc56ba9bffd23aa689ac')
+ version("2.0.3", sha256="1d0f5928b30c6cd9dbef8e092ae0c11e9e707faf92a19af8eed3e360da7d4e46")
+ version("1.5.1", sha256="22c13ca45bccc89e9d9bf48d59ae6db1fa4c634def64fc56ba9bffd23aa689ac")
- depends_on('py-setuptools')
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('r-deseq', when='@:1.5.1', type=('build', 'run'))
- depends_on('r-deseq2', when='@2.0.0:', type=('build', 'run'))
+ depends_on("py-setuptools")
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("r-deseq", when="@:1.5.1", type=("build", "run"))
+ depends_on("r-deseq2", when="@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-text-unidecode/package.py b/var/spack/repos/builtin/packages/py-text-unidecode/package.py
index be6979c820..0f3a758c71 100644
--- a/var/spack/repos/builtin/packages/py-text-unidecode/package.py
+++ b/var/spack/repos/builtin/packages/py-text-unidecode/package.py
@@ -13,6 +13,6 @@ class PyTextUnidecode(PythonPackage):
homepage = "https://github.com/kmike/text-unidecode/"
pypi = "text-unidecode/text-unidecode-1.3.tar.gz"
- version('1.3', sha256='bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93')
+ version("1.3", sha256="bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-textblob/package.py b/var/spack/repos/builtin/packages/py-textblob/package.py
index 9945ec3b51..2bbb851e1a 100644
--- a/var/spack/repos/builtin/packages/py-textblob/package.py
+++ b/var/spack/repos/builtin/packages/py-textblob/package.py
@@ -15,10 +15,10 @@ class PyTextblob(PythonPackage):
translation, and more."""
homepage = "https://textblob.readthedocs.io/"
- url = "https://github.com/sloria/TextBlob/archive/0.16.0.tar.gz"
+ url = "https://github.com/sloria/TextBlob/archive/0.16.0.tar.gz"
- version('0.16.0', sha256='bf29369f3260cc779b22b2b86337bcce0c8e929d994b1c8f0d39545ec2fb33aa')
+ version("0.16.0", sha256="bf29369f3260cc779b22b2b86337bcce0c8e929d994b1c8f0d39545ec2fb33aa")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-nltk@3.1:+data', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-nltk@3.1:+data", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-texttable/package.py b/var/spack/repos/builtin/packages/py-texttable/package.py
index d2c5043d65..fcc629a4f1 100644
--- a/var/spack/repos/builtin/packages/py-texttable/package.py
+++ b/var/spack/repos/builtin/packages/py-texttable/package.py
@@ -13,6 +13,6 @@ class PyTexttable(PythonPackage):
homepage = "https://github.com/foutaise/texttable/"
pypi = "texttable/texttable-1.6.1.tar.gz"
- version('1.6.1', sha256='2b60a5304ccfbeac80ffae7350d7c2f5d7a24e9aab5036d0f82489746419d9b2')
+ version("1.6.1", sha256="2b60a5304ccfbeac80ffae7350d7c2f5d7a24e9aab5036d0f82489746419d9b2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tfdlpack/package.py b/var/spack/repos/builtin/packages/py-tfdlpack/package.py
index 432d1e5de7..2bc5186d92 100644
--- a/var/spack/repos/builtin/packages/py-tfdlpack/package.py
+++ b/var/spack/repos/builtin/packages/py-tfdlpack/package.py
@@ -11,38 +11,38 @@ class PyTfdlpack(CMakePackage, PythonPackage):
"""Tensorflow plugin for DLPack."""
homepage = "https://github.com/VoVAllen/tf-dlpack"
- git = "https://github.com/VoVAllen/tf-dlpack.git"
+ git = "https://github.com/VoVAllen/tf-dlpack.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master', submodules=True)
- version('0.1.1', tag='v0.1.1', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("0.1.1", tag="v0.1.1", submodules=True)
- variant('cuda', default=True, description='Build with CUDA support')
+ variant("cuda", default=True, description="Build with CUDA support")
- depends_on('cmake@3.5:', type='build')
- depends_on('cuda', when='+cuda')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("cuda", when="+cuda")
# Python dependencies
- extends('python')
- depends_on('py-setuptools', type='build')
- depends_on('py-tensorflow', type=('build', 'run'))
+ extends("python")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tensorflow", type=("build", "run"))
def cmake_args(self):
- args = ['-DPYTHON_EXECUTABLE=' + self.spec['python'].command.path]
+ args = ["-DPYTHON_EXECUTABLE=" + self.spec["python"].command.path]
- if '+cuda' in self.spec:
- args.append('-DUSE_CUDA=ON')
+ if "+cuda" in self.spec:
+ args.append("-DUSE_CUDA=ON")
else:
- args.append('-DUSE_CUDA=OFF')
+ args.append("-DUSE_CUDA=OFF")
return args
def install(self, spec, prefix):
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + prefix, '.']
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + prefix, "."]
pip(*args)
def setup_run_environment(self, env):
# Prevent TensorFlow from taking over the whole GPU
- env.set('TF_FORCE_GPU_ALLOW_GROWTH', 'true')
+ env.set("TF_FORCE_GPU_ALLOW_GROWTH", "true")
diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py
index 5243ae6603..74da7db615 100644
--- a/var/spack/repos/builtin/packages/py-theano/package.py
+++ b/var/spack/repos/builtin/packages/py-theano/package.py
@@ -12,25 +12,25 @@ class PyTheano(PythonPackage, CudaPackage):
homepage = "https://theano-pymc.readthedocs.io/en/latest/"
pypi = "Theano/Theano-0.8.2.tar.gz"
- git = "https://github.com/Theano/Theano.git"
+ git = "https://github.com/Theano/Theano.git"
- version('master', branch='master')
- version('1.0.5', sha256='6e9439dd53ba995fcae27bf20626074bfc2fff446899dc5c53cb28c1f9202e89')
- version('1.0.4', sha256='35c9bbef56b61ffa299265a42a4e8f8cb5a07b2997dabaef0f8830b397086913')
- version('1.0.2', sha256='6768e003d328a17011e6fca9126fbb8a6ffd3bb13cb21c450f3e724cca29abde')
- version('1.0.1', sha256='88d8aba1fe2b6b75eacf455d01bc7e31e838c5a0fb8c13dde2d9472495ff4662')
- version('0.8.2', sha256='7463c8f7ed1a787bf881f36d38a38607150186697e7ce7e78bfb94b7c6af8930')
+ version("master", branch="master")
+ version("1.0.5", sha256="6e9439dd53ba995fcae27bf20626074bfc2fff446899dc5c53cb28c1f9202e89")
+ version("1.0.4", sha256="35c9bbef56b61ffa299265a42a4e8f8cb5a07b2997dabaef0f8830b397086913")
+ version("1.0.2", sha256="6768e003d328a17011e6fca9126fbb8a6ffd3bb13cb21c450f3e724cca29abde")
+ version("1.0.1", sha256="88d8aba1fe2b6b75eacf455d01bc7e31e838c5a0fb8c13dde2d9472495ff4662")
+ version("0.8.2", sha256="7463c8f7ed1a787bf881f36d38a38607150186697e7ce7e78bfb94b7c6af8930")
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-numpy@1.9.1:', type=('build', 'run'))
- depends_on('py-scipy@0.14:', type=('build', 'run'))
- depends_on('py-six@1.9.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-numpy@1.9.1:", type=("build", "run"))
+ depends_on("py-scipy@0.14:", type=("build", "run"))
+ depends_on("py-six@1.9.0:", type=("build", "run"))
- depends_on('blas')
+ depends_on("blas")
- depends_on('cuda', when='+cuda')
- depends_on('cudnn', when='+cuda')
- depends_on('py-pygpu', when='+cuda', type=('build', 'run'))
- depends_on('libgpuarray', when='+cuda')
+ depends_on("cuda", when="+cuda")
+ depends_on("cudnn", when="+cuda")
+ depends_on("py-pygpu", when="+cuda", type=("build", "run"))
+ depends_on("libgpuarray", when="+cuda")
diff --git a/var/spack/repos/builtin/packages/py-thinc/package.py b/var/spack/repos/builtin/packages/py-thinc/package.py
index 3c75ef1f63..5c6f025c0f 100644
--- a/var/spack/repos/builtin/packages/py-thinc/package.py
+++ b/var/spack/repos/builtin/packages/py-thinc/package.py
@@ -13,18 +13,18 @@ class PyThinc(PythonPackage):
homepage = "https://github.com/explosion/thinc"
pypi = "thinc/thinc-7.4.1.tar.gz"
- version('7.4.1', sha256='0139fa84dc9b8d88af15e648fc4ae13d899b8b5e49cb26a8f4a0604ee9ad8a9e')
- version('7.4.0', sha256='523e9be1bfaa3ed1d03d406ce451b6b4793a9719d5b83d2ea6b3398b96bc58b8')
+ version("7.4.1", sha256="0139fa84dc9b8d88af15e648fc4ae13d899b8b5e49cb26a8f4a0604ee9ad8a9e")
+ version("7.4.0", sha256="523e9be1bfaa3ed1d03d406ce451b6b4793a9719d5b83d2ea6b3398b96bc58b8")
- depends_on('py-setuptools', type='build')
- depends_on('py-murmurhash@0.28:1.0', type=('build', 'run'))
- depends_on('py-cymem@2.0.2:2.0', type=('build', 'run'))
- depends_on('py-preshed@1.0.1:3.0', type=('build', 'run'))
- depends_on('py-blis@0.4.0:0.4', type=('build', 'run'))
- depends_on('py-wasabi@0.0.9:1.0', type=('build', 'run'))
- depends_on('py-srsly@0.0.6:1.0', type=('build', 'run'))
- depends_on('py-catalogue@0.0.7:1.0', type=('build', 'run'))
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-plac@0.9.6:1.1', type=('build', 'run'))
- depends_on('py-tqdm@4.10:4', type=('build', 'run'))
- depends_on('py-pathlib@1.0.1', when='^python@:3.3', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-murmurhash@0.28:1.0", type=("build", "run"))
+ depends_on("py-cymem@2.0.2:2.0", type=("build", "run"))
+ depends_on("py-preshed@1.0.1:3.0", type=("build", "run"))
+ depends_on("py-blis@0.4.0:0.4", type=("build", "run"))
+ depends_on("py-wasabi@0.0.9:1.0", type=("build", "run"))
+ depends_on("py-srsly@0.0.6:1.0", type=("build", "run"))
+ depends_on("py-catalogue@0.0.7:1.0", type=("build", "run"))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-plac@0.9.6:1.1", type=("build", "run"))
+ depends_on("py-tqdm@4.10:4", type=("build", "run"))
+ depends_on("py-pathlib@1.0.1", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-thirdorder/package.py b/var/spack/repos/builtin/packages/py-thirdorder/package.py
index f166f1932b..4e6a497b6c 100644
--- a/var/spack/repos/builtin/packages/py-thirdorder/package.py
+++ b/var/spack/repos/builtin/packages/py-thirdorder/package.py
@@ -10,29 +10,35 @@ class PyThirdorder(PythonPackage):
"""It helps ShengBTE users create FORCE_CONSTANTS_3RD files efficiently"""
homepage = "https://www.shengbte.org"
- url = "http://www.shengbte.org/downloads/thirdorder-v1.1.1-8526f47.tar.bz2"
+ url = "http://www.shengbte.org/downloads/thirdorder-v1.1.1-8526f47.tar.bz2"
# Deprecated because download doesn't work
- version('1.1.1-8526f47', '5e1cc8d6ffa7efdb7325c397ca236863ea8a9c5bed1c558acca68b140f89167e', deprecated=True)
+ version(
+ "1.1.1-8526f47",
+ "5e1cc8d6ffa7efdb7325c397ca236863ea8a9c5bed1c558acca68b140f89167e",
+ deprecated=True,
+ )
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('spglib', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("spglib", type=("build", "run"))
def patch(self):
- setupfile = FileFilter('setup.py')
- setupfile.filter('LIBRARY_DIRS = .*', 'LIBRARY_DIRS = ["%s"]'
- % self.spec['spglib'].prefix.lib)
- setupfile.filter('INCLUDE_DIRS = .*', 'INCLUDE_DIRS = ["%s"]'
- % self.spec['spglib'].prefix.include)
-
- sourcefile = FileFilter('thirdorder_core.c')
+ setupfile = FileFilter("setup.py")
+ setupfile.filter(
+ "LIBRARY_DIRS = .*", 'LIBRARY_DIRS = ["%s"]' % self.spec["spglib"].prefix.lib
+ )
+ setupfile.filter(
+ "INCLUDE_DIRS = .*", 'INCLUDE_DIRS = ["%s"]' % self.spec["spglib"].prefix.include
+ )
+
+ sourcefile = FileFilter("thirdorder_core.c")
sourcefile.filter('#include "spglib.*"', '#include "spglib.h"')
- @run_after('install')
+ @run_after("install")
def post_install(self):
mkdirp(self.prefix.bin)
- install('thirdorder_espresso.py', self.prefix.bin)
- install('thirdorder_vasp.py', self.prefix.bin)
- install('thirdorder_castep.py', self.prefix.bin)
- install('thirdorder_common.py', self.prefix.bin)
+ install("thirdorder_espresso.py", self.prefix.bin)
+ install("thirdorder_vasp.py", self.prefix.bin)
+ install("thirdorder_castep.py", self.prefix.bin)
+ install("thirdorder_common.py", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
index bd57acdeca..a3d17ff676 100644
--- a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
+++ b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
@@ -15,9 +15,9 @@ class PyThreadpoolctl(PythonPackage):
homepage = "https://github.com/joblib/threadpoolctl"
pypi = "threadpoolctl/threadpoolctl-2.0.0.tar.gz"
- version('3.0.0', sha256='d03115321233d0be715f0d3a5ad1d6c065fe425ddc2d671ca8e45e9fd5d7a52a')
- version('2.0.0', sha256='48b3e3e9ee079d6b5295c65cbe255b36a3026afc6dde3fb49c085cd0c004bbcf')
+ version("3.0.0", sha256="d03115321233d0be715f0d3a5ad1d6c065fe425ddc2d671ca8e45e9fd5d7a52a")
+ version("2.0.0", sha256="48b3e3e9ee079d6b5295c65cbe255b36a3026afc6dde3fb49c085cd0c004bbcf")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@3.0.0:')
- depends_on('py-flit', type='build')
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@3.0.0:")
+ depends_on("py-flit", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tifffile/package.py b/var/spack/repos/builtin/packages/py-tifffile/package.py
index e71a217577..36f41ddb2d 100644
--- a/var/spack/repos/builtin/packages/py-tifffile/package.py
+++ b/var/spack/repos/builtin/packages/py-tifffile/package.py
@@ -12,11 +12,11 @@ class PyTifffile(PythonPackage):
homepage = "https://github.com/cgohlke/tifffile"
pypi = "tifffile/tifffile-0.12.1.tar.gz"
- version('2021.11.2', sha256='153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b')
- version('2020.10.1', sha256='799feeccc91965b69e1288c51a1d1118faec7f40b2eb89ad2979591b85324830')
- version('0.12.1', sha256='802367effe86b0d1e64cb5c2ed886771f677fa63260b945e51a27acccdc08fa1')
+ version("2021.11.2", sha256="153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b")
+ version("2020.10.1", sha256="799feeccc91965b69e1288c51a1d1118faec7f40b2eb89ad2979591b85324830")
+ version("0.12.1", sha256="802367effe86b0d1e64cb5c2ed886771f677fa63260b945e51a27acccdc08fa1")
- depends_on('python@3.7:', type=('build', 'run'), when='@2020.10.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.8.2:', type=('build', 'run'))
- depends_on('py-numpy@1.15.1:', type=('build', 'run'), when='@2020.10.1:')
+ depends_on("python@3.7:", type=("build", "run"), when="@2020.10.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.8.2:", type=("build", "run"))
+ depends_on("py-numpy@1.15.1:", type=("build", "run"), when="@2020.10.1:")
diff --git a/var/spack/repos/builtin/packages/py-timm/package.py b/var/spack/repos/builtin/packages/py-timm/package.py
index 445eee2a5c..28bd65050d 100644
--- a/var/spack/repos/builtin/packages/py-timm/package.py
+++ b/var/spack/repos/builtin/packages/py-timm/package.py
@@ -10,15 +10,15 @@ class PyTimm(PythonPackage):
"""(Unofficial) PyTorch Image Models."""
homepage = "https://github.com/rwightman/pytorch-image-models"
- pypi = "timm/timm-0.4.12.tar.gz"
+ pypi = "timm/timm-0.4.12.tar.gz"
- version('0.5.4', sha256='5d7b92e66a76c432009aba90d515ea7a882aae573415a7c5269e3617df901c1f')
- version('0.4.12', sha256='b14be70dbd4528b5ca8657cf5bc2672c7918c3d9ebfbffe80f4785b54e884b1e')
+ version("0.5.4", sha256="5d7b92e66a76c432009aba90d515ea7a882aae573415a7c5269e3617df901c1f")
+ version("0.4.12", sha256="b14be70dbd4528b5ca8657cf5bc2672c7918c3d9ebfbffe80f4785b54e884b1e")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch@1.4:', type=('build', 'run'))
- depends_on('py-torchvision', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch@1.4:", type=("build", "run"))
+ depends_on("py-torchvision", type=("build", "run"))
# https://github.com/rwightman/pytorch-image-models/pull/1256
- depends_on('pil@:9', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("pil@:9", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tinyarray/package.py b/var/spack/repos/builtin/packages/py-tinyarray/package.py
index c6d2425e63..7f2207bca5 100644
--- a/var/spack/repos/builtin/packages/py-tinyarray/package.py
+++ b/var/spack/repos/builtin/packages/py-tinyarray/package.py
@@ -20,10 +20,10 @@ class PyTinyarray(PythonPackage):
# Add a list of GitHub accounts to notify when the
# package is updated
- maintainers = ['payerle']
+ maintainers = ["payerle"]
- version('1.2.3', sha256='47a06f801ed4b3d438f4f7098e244cd0c6d7db09428b1bc5ee813e52234dee9f')
- version('1.2.2', sha256='660d6d8532e1db5efbebae2861e5733a7082486fbdeb47d57d84b8f477d697e4')
- version('1.2.1', sha256='47a06f801ed4b3d438f4f7098e244cd0c6d7db09428b1bc5ee813e52234dee9f')
+ version("1.2.3", sha256="47a06f801ed4b3d438f4f7098e244cd0c6d7db09428b1bc5ee813e52234dee9f")
+ version("1.2.2", sha256="660d6d8532e1db5efbebae2861e5733a7082486fbdeb47d57d84b8f477d697e4")
+ version("1.2.1", sha256="47a06f801ed4b3d438f4f7098e244cd0c6d7db09428b1bc5ee813e52234dee9f")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tinycss2/package.py b/var/spack/repos/builtin/packages/py-tinycss2/package.py
index 2fb01db33e..25ac947fe7 100644
--- a/var/spack/repos/builtin/packages/py-tinycss2/package.py
+++ b/var/spack/repos/builtin/packages/py-tinycss2/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.package import *
class PyTinycss2(PythonPackage):
@@ -12,10 +12,10 @@ class PyTinycss2(PythonPackage):
corresponding to these objects."""
homepage = "https://www.courtbouillon.org/tinycss2"
- pypi = "tinycss2/tinycss2-1.1.1.tar.gz"
+ pypi = "tinycss2/tinycss2-1.1.1.tar.gz"
- version('1.1.1', sha256='b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf')
+ version("1.1.1", sha256="b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-flit-core@3.2:3', type='build')
- depends_on('py-webencodings@0.4:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-flit-core@3.2:3", type="build")
+ depends_on("py-webencodings@0.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tokenize-rt/package.py b/var/spack/repos/builtin/packages/py-tokenize-rt/package.py
index 640ff0d787..0a0b2b1eaf 100644
--- a/var/spack/repos/builtin/packages/py-tokenize-rt/package.py
+++ b/var/spack/repos/builtin/packages/py-tokenize-rt/package.py
@@ -10,8 +10,8 @@ class PyTokenizeRt(PythonPackage):
"""A wrapper around the stdlib `tokenize` which roundtrips."""
homepage = "https://github.com/asottile/tokenize-rt"
- pypi = "tokenize_rt/tokenize_rt-4.2.1.tar.gz"
+ pypi = "tokenize_rt/tokenize_rt-4.2.1.tar.gz"
- version('4.2.1', sha256='0d4f69026fed520f8a1e0103aa36c406ef4661417f20ca643f913e33531b3b94')
+ version("4.2.1", sha256="0d4f69026fed520f8a1e0103aa36c406ef4661417f20ca643f913e33531b3b94")
- depends_on('python@3.6.1:', type=('build', 'run'))
+ depends_on("python@3.6.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tokenizers/package.py b/var/spack/repos/builtin/packages/py-tokenizers/package.py
index 5c3d43e561..138fe08466 100644
--- a/var/spack/repos/builtin/packages/py-tokenizers/package.py
+++ b/var/spack/repos/builtin/packages/py-tokenizers/package.py
@@ -13,13 +13,13 @@ class PyTokenizers(PythonPackage):
homepage = "https://github.com/huggingface/tokenizers"
pypi = "tokenizers/tokenizers-0.6.0.tar.gz"
- version('0.10.3', sha256='1a5d3b596c6d3a237e1ad7f46c472d467b0246be7fd1a364f12576eb8db8f7e6')
- version('0.6.0', sha256='1da11fbfb4f73be695bed0d655576097d09a137a16dceab2f66399716afaffac')
- version('0.5.2', sha256='b5a235f9c71d04d4925df6c4fa13b13f1d03f9b7ac302b89f8120790c4f742bc')
+ version("0.10.3", sha256="1a5d3b596c6d3a237e1ad7f46c472d467b0246be7fd1a364f12576eb8db8f7e6")
+ version("0.6.0", sha256="1da11fbfb4f73be695bed0d655576097d09a137a16dceab2f66399716afaffac")
+ version("0.5.2", sha256="b5a235f9c71d04d4925df6c4fa13b13f1d03f9b7ac302b89f8120790c4f742bc")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-rust', type='build')
- depends_on('rust@nightly', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-rust", type="build")
+ depends_on("rust@nightly", type="build")
# TODO: This package currently requires internet access to install.
# Also, a nightly or dev version of rust is required to build.
diff --git a/var/spack/repos/builtin/packages/py-toml/package.py b/var/spack/repos/builtin/packages/py-toml/package.py
index 9a1c6caf83..8324d0d4ce 100644
--- a/var/spack/repos/builtin/packages/py-toml/package.py
+++ b/var/spack/repos/builtin/packages/py-toml/package.py
@@ -12,11 +12,11 @@ class PyToml(PythonPackage):
https://github.com/toml-lang/toml.git"""
homepage = "https://github.com/uiri/toml.git"
- url = "https://github.com/uiri/toml/archive/0.10.2.tar.gz"
+ url = "https://github.com/uiri/toml/archive/0.10.2.tar.gz"
- version('0.10.2', sha256='71d4039bbdec91e3e7591ec5d6c943c58f9a2d17e5f6783acdc378f743fcdd2a')
- version('0.10.0', sha256='c3821b94be15da61d631bfff45b5c58074f01149792182e68f8690829cabfcf6')
- version('0.9.3', sha256='633a90ecb1f5665b58f0c94153fcf519313ef53e1de0eac90929cd6b6a014235')
+ version("0.10.2", sha256="71d4039bbdec91e3e7591ec5d6c943c58f9a2d17e5f6783acdc378f743fcdd2a")
+ version("0.10.0", sha256="c3821b94be15da61d631bfff45b5c58074f01149792182e68f8690829cabfcf6")
+ version("0.9.3", sha256="633a90ecb1f5665b58f0c94153fcf519313ef53e1de0eac90929cd6b6a014235")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tomli-w/package.py b/var/spack/repos/builtin/packages/py-tomli-w/package.py
index 525a6a8684..0eacfb2bfc 100644
--- a/var/spack/repos/builtin/packages/py-tomli-w/package.py
+++ b/var/spack/repos/builtin/packages/py-tomli-w/package.py
@@ -10,9 +10,9 @@ class PyTomliW(PythonPackage):
"""A lil' TOML writer."""
homepage = "https://github.com/hukkin/tomli-w"
- pypi = "tomli_w/tomli_w-1.0.0.tar.gz"
+ pypi = "tomli_w/tomli_w-1.0.0.tar.gz"
- version('1.0.0', sha256='f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9')
+ version("1.0.0", sha256="f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-flit-core@3.2.0:3', type='build')
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-flit-core@3.2.0:3", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tomli/package.py b/var/spack/repos/builtin/packages/py-tomli/package.py
index 23dff1b873..a02b57c6c4 100644
--- a/var/spack/repos/builtin/packages/py-tomli/package.py
+++ b/var/spack/repos/builtin/packages/py-tomli/package.py
@@ -15,7 +15,15 @@ class PyTomli(PythonPackage):
url = "https://files.pythonhosted.org/packages/py3/t/tomli/tomli-1.2.2-py3-none-any.whl"
list_url = "https://pypi.org/simple/tomli/"
- version('1.2.2', sha256='f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade', expand=False)
- version('1.2.1', sha256='8dd0e9524d6f386271a36b41dbf6c57d8e32fd96fd22b6584679dc569d20899f', expand=False)
+ version(
+ "1.2.2",
+ sha256="f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade",
+ expand=False,
+ )
+ version(
+ "1.2.1",
+ sha256="8dd0e9524d6f386271a36b41dbf6c57d8e32fd96fd22b6584679dc569d20899f",
+ expand=False,
+ )
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tomlkit/package.py b/var/spack/repos/builtin/packages/py-tomlkit/package.py
index 0849f48514..ef8d3c2e90 100644
--- a/var/spack/repos/builtin/packages/py-tomlkit/package.py
+++ b/var/spack/repos/builtin/packages/py-tomlkit/package.py
@@ -12,13 +12,13 @@ class PyTomlkit(PythonPackage):
homepage = "https://github.com/sdispater/tomlkit"
pypi = "tomlkit/tomlkit-0.7.0.tar.gz"
- version('0.11.0', sha256='71ceb10c0eefd8b8f11fe34e8a51ad07812cb1dc3de23247425fbc9ddc47b9dd')
- version('0.7.2', sha256='d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754')
- version('0.7.0', sha256='ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618')
+ version("0.11.0", sha256="71ceb10c0eefd8b8f11fe34e8a51ad07812cb1dc3de23247425fbc9ddc47b9dd")
+ version("0.7.2", sha256="d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754")
+ version("0.7.0", sha256="ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618")
- depends_on('python@2.7,3.5:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@0.11.0:')
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-enum34@1.1:1', when='^python@2.7', type=('build', 'run'))
- depends_on('py-functools32@3.2.3:3', when='^python@2.7', type=('build', 'run'))
- depends_on('py-typing@3.6:3', when='^python@2.7,3.4', type=('build', 'run'))
+ depends_on("python@2.7,3.5:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@0.11.0:")
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-enum34@1.1:1", when="^python@2.7", type=("build", "run"))
+ depends_on("py-functools32@3.2.3:3", when="^python@2.7", type=("build", "run"))
+ depends_on("py-typing@3.6:3", when="^python@2.7,3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tomopy/package.py b/var/spack/repos/builtin/packages/py-tomopy/package.py
index fdda099fed..55131ec32b 100644
--- a/var/spack/repos/builtin/packages/py-tomopy/package.py
+++ b/var/spack/repos/builtin/packages/py-tomopy/package.py
@@ -9,49 +9,53 @@ from spack.package import *
class PyTomopy(PythonPackage):
"""TomoPy is an open-source Python package for tomographic data
- processing and image reconstruction."""
+ processing and image reconstruction."""
homepage = "https://tomopy.readthedocs.io/en/latest/index.html"
- url = "https://github.com/tomopy/tomopy/archive/1.0.0.tar.gz"
- git = 'https://github.com/tomopy/tomopy.git'
+ url = "https://github.com/tomopy/tomopy/archive/1.0.0.tar.gz"
+ git = "https://github.com/tomopy/tomopy.git"
- version('master', branch='master')
- version('1.11.0', sha256='4e5691c2b083753692ba4376ce301578037071c83fc61a6ae9e5bc9e6fcd3d1f')
+ version("master", branch="master")
+ version("1.11.0", sha256="4e5691c2b083753692ba4376ce301578037071c83fc61a6ae9e5bc9e6fcd3d1f")
# Never was an official 1.10.4 release, checksum doesn't match for some reason
- version('1.10.4', sha256='2f15edda11b4337a1a5560684fcf8f28a35c5035932b22b842ce728bd13fba01', deprecated=True)
- version('1.0.0', sha256='ee45f7a062e5a66d6f18a904d2e204e48d85a1ce1464156f9e2f6353057dfe4c')
+ version(
+ "1.10.4",
+ sha256="2f15edda11b4337a1a5560684fcf8f28a35c5035932b22b842ce728bd13fba01",
+ deprecated=True,
+ )
+ version("1.0.0", sha256="ee45f7a062e5a66d6f18a904d2e204e48d85a1ce1464156f9e2f6353057dfe4c")
# GPU accel needs PTL which is a git submodule. Thus, we can only build it on master
- depends_on('cuda', when='@master')
+ depends_on("cuda", when="@master")
# The shared opencv is not found by during runtest. Not using GOT/PLT is faster too
- depends_on('opencv+imgproc~shared@3.4:', when='@master')
+ depends_on("opencv+imgproc~shared@3.4:", when="@master")
# During the runtest, the shared MKL libs aren't found yet:
# depends_on('intel-mkl~shared')
- depends_on('cmake@3.17:', type=('build'))
- depends_on('ninja', type=('build'))
- depends_on('py-setuptools-scm', type=('build'))
- depends_on('py-setuptools-scm-git-archive', type=('build'))
+ depends_on("cmake@3.17:", type=("build"))
+ depends_on("ninja", type=("build"))
+ depends_on("py-setuptools-scm", type=("build"))
+ depends_on("py-setuptools-scm-git-archive", type=("build"))
# Note: The module name of py-scikit-build is skbuild:
- depends_on('py-scikit-build', type=('build'))
- depends_on('py-scikit-image@0.17:', type=('build', 'run'))
- depends_on('py-numpy+blas', type=('build', 'run'))
- depends_on('py-pyfftw', type=('build', 'run'), when='@1.0:1.9')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pywavelets', type=('build', 'run'))
- depends_on('py-dxchange', type=('build', 'run'))
- depends_on('py-numexpr', when='@1.11:', type=('build', 'run'))
-
- @when('@1.10:')
+ depends_on("py-scikit-build", type=("build"))
+ depends_on("py-scikit-image@0.17:", type=("build", "run"))
+ depends_on("py-numpy+blas", type=("build", "run"))
+ depends_on("py-pyfftw", type=("build", "run"), when="@1.0:1.9")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pywavelets", type=("build", "run"))
+ depends_on("py-dxchange", type=("build", "run"))
+ depends_on("py-numexpr", when="@1.11:", type=("build", "run"))
+
+ @when("@1.10:")
def install_options(self, spec, prefix):
- args = ['--enable-arch']
- if 'avx512' in self.spec.target:
- args.append('--enable-avx512')
+ args = ["--enable-arch"]
+ if "avx512" in self.spec.target:
+ args.append("--enable-avx512")
# PTL is a git submodule, we only fetch it's source by git-submodule on master:
- if self.version != Version('master'):
- args.append('--disable-tasking')
+ if self.version != Version("master"):
+ args.append("--disable-tasking")
return args
diff --git a/var/spack/repos/builtin/packages/py-toolz/package.py b/var/spack/repos/builtin/packages/py-toolz/package.py
index 5b03d7d117..c01f79d607 100644
--- a/var/spack/repos/builtin/packages/py-toolz/package.py
+++ b/var/spack/repos/builtin/packages/py-toolz/package.py
@@ -12,6 +12,6 @@ class PyToolz(PythonPackage):
homepage = "https://github.com/pytoolz/toolz/"
pypi = "toolz/toolz-0.9.0.tar.gz"
- version('0.9.0', sha256='929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9')
+ version("0.9.0", sha256="929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-toposort/package.py b/var/spack/repos/builtin/packages/py-toposort/package.py
index 4a2aa62dc7..8c5070a6e8 100644
--- a/var/spack/repos/builtin/packages/py-toposort/package.py
+++ b/var/spack/repos/builtin/packages/py-toposort/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class PyToposort(PythonPackage):
"""Implements a topological sort algorithm."""
- pypi = 'toposort/toposort-1.6.tar.gz'
+ pypi = "toposort/toposort-1.6.tar.gz"
- maintainers = ['marcusboden']
+ maintainers = ["marcusboden"]
- version('1.6', 'a7428f56ef844f5055bb9e9e44b343983773ae6dce0fe5b101e08e27ffbd50ac')
+ version("1.6", "a7428f56ef844f5055bb9e9e44b343983773ae6dce0fe5b101e08e27ffbd50ac")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-torch-cluster/package.py b/var/spack/repos/builtin/packages/py-torch-cluster/package.py
index 4f59e5cdfc..035fee560b 100644
--- a/var/spack/repos/builtin/packages/py-torch-cluster/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-cluster/package.py
@@ -12,29 +12,28 @@ class PyTorchCluster(PythonPackage):
PyTorch."""
homepage = "https://github.com/rusty1s/pytorch_cluster"
- url = "https://github.com/rusty1s/pytorch_cluster/archive/1.5.7.tar.gz"
+ url = "https://github.com/rusty1s/pytorch_cluster/archive/1.5.7.tar.gz"
- version('1.5.8', sha256='95c6e81e9c4a6235e1b2152ab917021d2060ad995199f6bd7fb39986d37310f0')
- version('1.5.7', sha256='71701d2f7f3e458ebe5904c982951349fdb60e6f1654e19c7e102a226e2de72e')
+ version("1.5.8", sha256="95c6e81e9c4a6235e1b2152ab917021d2060ad995199f6bd7fb39986d37310f0")
+ version("1.5.7", sha256="71701d2f7f3e458ebe5904c982951349fdb60e6f1654e19c7e102a226e2de72e")
- variant('cuda', default=False, description='Enables CUDA support')
+ variant("cuda", default=False, description="Enables CUDA support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-torch+cuda', when='+cuda')
- depends_on('py-torch~cuda', when='~cuda')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-torch+cuda", when="+cuda")
+ depends_on("py-torch~cuda", when="~cuda")
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- cuda_arches = list(
- self.spec['py-torch'].variants['cuda_arch'].value)
+ if "+cuda" in self.spec:
+ cuda_arches = list(self.spec["py-torch"].variants["cuda_arch"].value)
for i, x in enumerate(cuda_arches):
- cuda_arches[i] = '{0}.{1}'.format(x[0:-1], x[-1])
- env.set('TORCH_CUDA_ARCH_LIST', str.join(' ', cuda_arches))
+ cuda_arches[i] = "{0}.{1}".format(x[0:-1], x[-1])
+ env.set("TORCH_CUDA_ARCH_LIST", str.join(" ", cuda_arches))
- env.set('FORCE_CUDA', '1')
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ env.set("FORCE_CUDA", "1")
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
- env.set('FORCE_CUDA', '0')
+ env.set("FORCE_CUDA", "0")
diff --git a/var/spack/repos/builtin/packages/py-torch-geometric/package.py b/var/spack/repos/builtin/packages/py-torch-geometric/package.py
index 976b170a49..f968295eb2 100644
--- a/var/spack/repos/builtin/packages/py-torch-geometric/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-geometric/package.py
@@ -19,49 +19,48 @@ class PyTorchGeometric(PythonPackage):
graphs as well as on 3D meshes or point clouds."""
homepage = "https://github.com/rusty1s/pytorch_geometric"
- url = "https://github.com/rusty1s/pytorch_geometric/archive/1.6.0.tar.gz"
+ url = "https://github.com/rusty1s/pytorch_geometric/archive/1.6.0.tar.gz"
- version('1.6.3', sha256='1907c0f5eb7ab8f6f79a7e43703579b39b514501dd956ed0fc3d33210bcbb4c2')
- version('1.6.0', sha256='7d5231cdcc2ebd4444f406cbf1537eb49bf90ab6f446eaf1b7af5cdbe105f3c9')
+ version("1.6.3", sha256="1907c0f5eb7ab8f6f79a7e43703579b39b514501dd956ed0fc3d33210bcbb4c2")
+ version("1.6.0", sha256="7d5231cdcc2ebd4444f406cbf1537eb49bf90ab6f446eaf1b7af5cdbe105f3c9")
- variant('cuda', default=False, description="Enable CUDA support")
+ variant("cuda", default=False, description="Enable CUDA support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-numba', type=('build', 'run'))
- depends_on('py-python-louvain', type=('build', 'run'), when='@1.6.2:')
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-pandas', type=('build', 'run'))
- depends_on('py-rdflib', type=('build', 'run'))
- depends_on('py-googledrivedownloader', type=('build', 'run'))
- depends_on('py-h5py~mpi', type=('build', 'run'))
- depends_on('py-ase', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-torch-sparse+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch-scatter+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch-cluster+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch-spline-conv+cuda', when='+cuda', type=('build', 'run'))
- depends_on('py-torch-sparse~cuda', when='~cuda', type=('build', 'run'))
- depends_on('py-torch-scatter~cuda', when='~cuda', type=('build', 'run'))
- depends_on('py-torch-cluster~cuda', when='~cuda', type=('build', 'run'))
- depends_on('py-torch-spline-conv~cuda', when='~cuda', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-scikit-learn", type=("build", "run"))
+ depends_on("py-numba", type=("build", "run"))
+ depends_on("py-python-louvain", type=("build", "run"), when="@1.6.2:")
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-rdflib", type=("build", "run"))
+ depends_on("py-googledrivedownloader", type=("build", "run"))
+ depends_on("py-h5py~mpi", type=("build", "run"))
+ depends_on("py-ase", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-torch-sparse+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch-scatter+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch-cluster+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch-spline-conv+cuda", when="+cuda", type=("build", "run"))
+ depends_on("py-torch-sparse~cuda", when="~cuda", type=("build", "run"))
+ depends_on("py-torch-scatter~cuda", when="~cuda", type=("build", "run"))
+ depends_on("py-torch-cluster~cuda", when="~cuda", type=("build", "run"))
+ depends_on("py-torch-spline-conv~cuda", when="~cuda", type=("build", "run"))
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- cuda_arches = list(
- self.spec['py-torch'].variants['cuda_arch'].value)
+ if "+cuda" in self.spec:
+ cuda_arches = list(self.spec["py-torch"].variants["cuda_arch"].value)
for i, x in enumerate(cuda_arches):
- cuda_arches[i] = '{0}.{1}'.format(x[0:-1], x[-1])
- env.set('TORCH_CUDA_ARCH_LIST', str.join(' ', cuda_arches))
+ cuda_arches[i] = "{0}.{1}".format(x[0:-1], x[-1])
+ env.set("TORCH_CUDA_ARCH_LIST", str.join(" ", cuda_arches))
- env.set('FORCE_CUDA', '1')
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ env.set("FORCE_CUDA", "1")
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
- env.set('FORCE_CUDA', '0')
+ env.set("FORCE_CUDA", "0")
diff --git a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py
index 81135e265e..ca91302ed7 100644
--- a/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-nvidia-apex/package.py
@@ -9,36 +9,36 @@ from spack.package import *
class PyTorchNvidiaApex(PythonPackage, CudaPackage):
"""A PyTorch Extension: Tools for easy mixed precision and
- distributed training in Pytorch """
+ distributed training in Pytorch"""
homepage = "https://github.com/nvidia/apex/"
- git = "https://github.com/nvidia/apex/"
+ git = "https://github.com/nvidia/apex/"
- version('master', branch='master')
- version('2020-10-19', commit='8a1ed9e8d35dfad26fb973996319965e4224dcdd')
+ version("master", branch="master")
+ version("2020-10-19", commit="8a1ed9e8d35dfad26fb973996319965e4224dcdd")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-torch@0.4:', type=('build', 'run'))
- depends_on('cuda@9:', when='+cuda')
- depends_on('py-pybind11', type=('build', 'link', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch@0.4:", type=("build", "run"))
+ depends_on("cuda@9:", when="+cuda")
+ depends_on("py-pybind11", type=("build", "link", "run"))
- variant('cuda', default=True, description='Build with CUDA')
+ variant("cuda", default=True, description="Build with CUDA")
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
- if (self.spec.variants['cuda_arch'].value[0] != 'none'):
- torch_cuda_arch = ';'.join(
- '{0:.1f}'.format(float(i) / 10.0) for i
- in
- self.spec.variants['cuda_arch'].value)
- env.set('TORCH_CUDA_ARCH_LIST', torch_cuda_arch)
+ if "+cuda" in self.spec:
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
+ if self.spec.variants["cuda_arch"].value[0] != "none":
+ torch_cuda_arch = ";".join(
+ "{0:.1f}".format(float(i) / 10.0)
+ for i in self.spec.variants["cuda_arch"].value
+ )
+ env.set("TORCH_CUDA_ARCH_LIST", torch_cuda_arch)
def install_options(self, spec, prefix):
args = []
- if spec.satisfies('^py-torch@1.0:'):
- args.append('--cpp_ext')
- if '+cuda' in spec:
- args.append('--cuda_ext')
+ if spec.satisfies("^py-torch@1.0:"):
+ args.append("--cpp_ext")
+ if "+cuda" in spec:
+ args.append("--cuda_ext")
return args
diff --git a/var/spack/repos/builtin/packages/py-torch-scatter/package.py b/var/spack/repos/builtin/packages/py-torch-scatter/package.py
index 8e65947ec3..c13d1a58fe 100644
--- a/var/spack/repos/builtin/packages/py-torch-scatter/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-scatter/package.py
@@ -13,27 +13,26 @@ class PyTorchScatter(PythonPackage):
main package."""
homepage = "https://github.com/rusty1s/pytorch_scatter"
- url = "https://github.com/rusty1s/pytorch_scatter/archive/2.0.5.tar.gz"
+ url = "https://github.com/rusty1s/pytorch_scatter/archive/2.0.5.tar.gz"
- version('2.0.5', sha256='e29b364beaa9c84a99e0e236be89ed19d4452d89010ff736184ddcce488b47f6')
+ version("2.0.5", sha256="e29b364beaa9c84a99e0e236be89ed19d4452d89010ff736184ddcce488b47f6")
- variant('cuda', default=False, description="Enable CUDA support")
+ variant("cuda", default=False, description="Enable CUDA support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-torch+cuda', when='+cuda')
- depends_on('py-torch~cuda', when='~cuda')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-torch+cuda", when="+cuda")
+ depends_on("py-torch~cuda", when="~cuda")
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- cuda_arches = list(
- self.spec['py-torch'].variants['cuda_arch'].value)
+ if "+cuda" in self.spec:
+ cuda_arches = list(self.spec["py-torch"].variants["cuda_arch"].value)
for i, x in enumerate(cuda_arches):
- cuda_arches[i] = '{0}.{1}'.format(x[0:-1], x[-1])
- env.set('TORCH_CUDA_ARCH_LIST', str.join(' ', cuda_arches))
+ cuda_arches[i] = "{0}.{1}".format(x[0:-1], x[-1])
+ env.set("TORCH_CUDA_ARCH_LIST", str.join(" ", cuda_arches))
- env.set('FORCE_CUDA', '1')
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ env.set("FORCE_CUDA", "1")
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
- env.set('FORCE_CUDA', '0')
+ env.set("FORCE_CUDA", "0")
diff --git a/var/spack/repos/builtin/packages/py-torch-sparse/package.py b/var/spack/repos/builtin/packages/py-torch-sparse/package.py
index 73f73f96ec..ad8b794e4a 100644
--- a/var/spack/repos/builtin/packages/py-torch-sparse/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-sparse/package.py
@@ -11,30 +11,29 @@ class PyTorchSparse(PythonPackage):
optimized sparse matrix operations with autograd support."""
homepage = "https://github.com/rusty1s/pytorch_sparse/"
- url = "https://github.com/rusty1s/pytorch_sparse/archive/0.6.7.tar.gz"
+ url = "https://github.com/rusty1s/pytorch_sparse/archive/0.6.7.tar.gz"
- version('0.6.8', sha256='98f7ff1f0f9cd5031bc81c70c11970c3864545ae33677025a6efd2466a97e6f9')
- version('0.6.7', sha256='0d038a1502548692972a085cd0496460b5d2050bb7328427add990f081d6c44d')
+ version("0.6.8", sha256="98f7ff1f0f9cd5031bc81c70c11970c3864545ae33677025a6efd2466a97e6f9")
+ version("0.6.7", sha256="0d038a1502548692972a085cd0496460b5d2050bb7328427add990f081d6c44d")
- variant('cuda', default=False, description="Enable CUDA support")
+ variant("cuda", default=False, description="Enable CUDA support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-torch-scatter+cuda', when='+cuda')
- depends_on('py-torch-scatter~cuda', when='~cuda')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-torch-scatter+cuda", when="+cuda")
+ depends_on("py-torch-scatter~cuda", when="~cuda")
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- cuda_arches = list(
- self.spec['py-torch'].variants['cuda_arch'].value)
+ if "+cuda" in self.spec:
+ cuda_arches = list(self.spec["py-torch"].variants["cuda_arch"].value)
for i, x in enumerate(cuda_arches):
- cuda_arches[i] = '{0}.{1}'.format(x[0:-1], x[-1])
- env.set('TORCH_CUDA_ARCH_LIST', str.join(' ', cuda_arches))
+ cuda_arches[i] = "{0}.{1}".format(x[0:-1], x[-1])
+ env.set("TORCH_CUDA_ARCH_LIST", str.join(" ", cuda_arches))
- env.set('FORCE_CUDA', '1')
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ env.set("FORCE_CUDA", "1")
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
- env.set('FORCE_CUDA', '0')
+ env.set("FORCE_CUDA", "0")
diff --git a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py
index 191484fdc5..2f1eddbb20 100644
--- a/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py
+++ b/var/spack/repos/builtin/packages/py-torch-spline-conv/package.py
@@ -11,27 +11,26 @@ class PyTorchSplineConv(PythonPackage):
convolution operator of SplineCNN."""
homepage = "https://github.com/rusty1s/pytorch_spline_conv"
- url = "https://github.com/rusty1s/pytorch_spline_conv/archive/1.2.0.tar.gz"
+ url = "https://github.com/rusty1s/pytorch_spline_conv/archive/1.2.0.tar.gz"
- version('1.2.0', sha256='ab8da41357c8a4785662366655bb6dc5e84fd0e938008194955409aefe535009')
+ version("1.2.0", sha256="ab8da41357c8a4785662366655bb6dc5e84fd0e938008194955409aefe535009")
- variant('cuda', default=False, description="Enable CUDA support")
+ variant("cuda", default=False, description="Enable CUDA support")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-torch+cuda', when='+cuda')
- depends_on('py-torch~cuda', when='~cuda')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-torch+cuda", when="+cuda")
+ depends_on("py-torch~cuda", when="~cuda")
def setup_build_environment(self, env):
- if '+cuda' in self.spec:
- cuda_arches = list(
- self.spec['py-torch'].variants['cuda_arch'].value)
+ if "+cuda" in self.spec:
+ cuda_arches = list(self.spec["py-torch"].variants["cuda_arch"].value)
for i, x in enumerate(cuda_arches):
- cuda_arches[i] = '{0}.{1}'.format(x[0:-1], x[-1])
- env.set('TORCH_CUDA_ARCH_LIST', str.join(' ', cuda_arches))
+ cuda_arches[i] = "{0}.{1}".format(x[0:-1], x[-1])
+ env.set("TORCH_CUDA_ARCH_LIST", str.join(" ", cuda_arches))
- env.set('FORCE_CUDA', '1')
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
+ env.set("FORCE_CUDA", "1")
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
else:
- env.set('FORCE_CUDA', '0')
+ env.set("FORCE_CUDA", "0")
diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py
index c5b3356045..98fdbf62c6 100644
--- a/var/spack/repos/builtin/packages/py-torch/package.py
+++ b/var/spack/repos/builtin/packages/py-torch/package.py
@@ -15,122 +15,140 @@ class PyTorch(PythonPackage, CudaPackage):
with strong GPU acceleration."""
homepage = "https://pytorch.org/"
- git = "https://github.com/pytorch/pytorch.git"
+ git = "https://github.com/pytorch/pytorch.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
# Exact set of modules is version- and variant-specific, just attempt to import the
# core libraries to ensure that the package was successfully installed.
- import_modules = ['torch', 'torch.autograd', 'torch.nn', 'torch.utils']
-
- version('master', branch='master', submodules=True)
- version('1.12.0', tag='v1.12.0', submodules=True)
- version('1.11.0', tag='v1.11.0', submodules=True)
- version('1.10.2', tag='v1.10.2', submodules=True)
- version('1.10.1', tag='v1.10.1', submodules=True)
- version('1.10.0', tag='v1.10.0', submodules=True)
- version('1.9.1', tag='v1.9.1', submodules=True)
- version('1.9.0', tag='v1.9.0', submodules=True)
- 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)
- version('1.7.0', tag='v1.7.0', submodules=True)
- version('1.6.0', tag='v1.6.0', submodules=True)
- version('1.5.1', tag='v1.5.1', submodules=True)
- version('1.5.0', tag='v1.5.0', submodules=True)
- version('1.4.1', tag='v1.4.1', submodules=True)
- version('1.3.1', tag='v1.3.1', submodules=True)
- version('1.3.0', tag='v1.3.0', submodules=True)
- version('1.2.0', tag='v1.2.0', submodules=True)
- version('1.1.0', tag='v1.1.0', submodules=True)
- version('1.0.1', tag='v1.0.1', submodules=True)
- version('1.0.0', tag='v1.0.0', submodules=True)
-
- is_darwin = sys.platform == 'darwin'
+ import_modules = ["torch", "torch.autograd", "torch.nn", "torch.utils"]
+
+ version("master", branch="master", submodules=True)
+ version("1.12.0", tag="v1.12.0", submodules=True)
+ version("1.11.0", tag="v1.11.0", submodules=True)
+ version("1.10.2", tag="v1.10.2", submodules=True)
+ version("1.10.1", tag="v1.10.1", submodules=True)
+ version("1.10.0", tag="v1.10.0", submodules=True)
+ version("1.9.1", tag="v1.9.1", submodules=True)
+ version("1.9.0", tag="v1.9.0", submodules=True)
+ 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)
+ version("1.7.0", tag="v1.7.0", submodules=True)
+ version("1.6.0", tag="v1.6.0", submodules=True)
+ version("1.5.1", tag="v1.5.1", submodules=True)
+ version("1.5.0", tag="v1.5.0", submodules=True)
+ version("1.4.1", tag="v1.4.1", submodules=True)
+ version("1.3.1", tag="v1.3.1", submodules=True)
+ version("1.3.0", tag="v1.3.0", submodules=True)
+ version("1.2.0", tag="v1.2.0", submodules=True)
+ version("1.1.0", tag="v1.1.0", submodules=True)
+ version("1.0.1", tag="v1.0.1", submodules=True)
+ version("1.0.0", tag="v1.0.0", submodules=True)
+
+ is_darwin = sys.platform == "darwin"
# All options are defined in CMakeLists.txt.
# Some are listed in setup.py, but not all.
- variant('debug', default=False, description="Build with debugging support")
- variant('caffe2', default=False, description='Build Caffe2', when='@1.7:')
- variant('test', default=False, description='Build C++ test binaries')
- variant('cuda', default=not is_darwin, description='Use CUDA')
- variant('rocm', default=False, description='Use ROCm')
- variant('cudnn', default=not is_darwin, description='Use cuDNN', when='+cuda')
- variant('fbgemm', default=True, description='Use FBGEMM (quantized 8-bit server operators)')
- variant('kineto', default=True, description='Use Kineto profiling library', when='@1.8:')
- variant('magma', default=not is_darwin, description='Use MAGMA', when='+cuda')
- variant('metal', default=is_darwin, description='Use Metal for Caffe2 iOS build')
- variant('mps', default=is_darwin and macos_version() >= Version('12.3'), description='Use MPS for macOS build', when='@1.12: platform=darwin')
- variant('nccl', default=True, description='Use NCCL', when='+cuda platform=linux')
- variant('nccl', default=True, description='Use NCCL', when='+cuda platform=cray')
- variant('nccl', default=True, description='Use NCCL', when='+rocm platform=linux')
- variant('nccl', default=True, description='Use NCCL', when='+rocm platform=cray')
- variant('nnpack', default=True, description='Use NNPACK')
- variant('numa', default=True, description='Use NUMA', when='platform=linux')
- variant('numa', default=True, description='Use NUMA', when='platform=cray')
- variant('numpy', default=True, description='Use NumPy')
- variant('openmp', default=True, description='Use OpenMP for parallel code')
- variant('qnnpack', default=True, description='Use QNNPACK (quantized 8-bit operators)')
- variant('valgrind', default=True, description='Use Valgrind', when='@1.8: platform=linux')
- variant('valgrind', default=True, description='Use Valgrind', when='@1.8: platform=cray')
- variant('xnnpack', default=True, description='Use XNNPACK', when='@1.5:')
- variant('mkldnn', default=True, description='Use MKLDNN')
- variant('distributed', default=not is_darwin, description='Use distributed')
- variant('mpi', default=not is_darwin, description='Use MPI for Caffe2', when='+distributed')
- variant('gloo', default=not is_darwin, description='Use Gloo', when='+distributed')
- variant('tensorpipe', default=not is_darwin, description='Use TensorPipe', when='@1.6: +distributed')
- variant('onnx_ml', default=True, description='Enable traditional ONNX ML API', when='@1.5:')
- variant('breakpad', default=True, description='Enable breakpad crash dump library', when='@1.9:1.11')
-
- conflicts('+cuda+rocm')
- conflicts('+breakpad', when='target=ppc64:')
- conflicts('+breakpad', when='target=ppc64le:')
+ variant("debug", default=False, description="Build with debugging support")
+ variant("caffe2", default=False, description="Build Caffe2", when="@1.7:")
+ variant("test", default=False, description="Build C++ test binaries")
+ variant("cuda", default=not is_darwin, description="Use CUDA")
+ variant("rocm", default=False, description="Use ROCm")
+ variant("cudnn", default=not is_darwin, description="Use cuDNN", when="+cuda")
+ variant("fbgemm", default=True, description="Use FBGEMM (quantized 8-bit server operators)")
+ variant("kineto", default=True, description="Use Kineto profiling library", when="@1.8:")
+ variant("magma", default=not is_darwin, description="Use MAGMA", when="+cuda")
+ variant("metal", default=is_darwin, description="Use Metal for Caffe2 iOS build")
+ variant(
+ "mps",
+ default=is_darwin and macos_version() >= Version("12.3"),
+ description="Use MPS for macOS build",
+ when="@1.12: platform=darwin",
+ )
+ variant("nccl", default=True, description="Use NCCL", when="+cuda platform=linux")
+ variant("nccl", default=True, description="Use NCCL", when="+cuda platform=cray")
+ variant("nccl", default=True, description="Use NCCL", when="+rocm platform=linux")
+ variant("nccl", default=True, description="Use NCCL", when="+rocm platform=cray")
+ variant("nnpack", default=True, description="Use NNPACK")
+ variant("numa", default=True, description="Use NUMA", when="platform=linux")
+ variant("numa", default=True, description="Use NUMA", when="platform=cray")
+ variant("numpy", default=True, description="Use NumPy")
+ variant("openmp", default=True, description="Use OpenMP for parallel code")
+ variant("qnnpack", default=True, description="Use QNNPACK (quantized 8-bit operators)")
+ variant("valgrind", default=True, description="Use Valgrind", when="@1.8: platform=linux")
+ variant("valgrind", default=True, description="Use Valgrind", when="@1.8: platform=cray")
+ variant("xnnpack", default=True, description="Use XNNPACK", when="@1.5:")
+ variant("mkldnn", default=True, description="Use MKLDNN")
+ variant("distributed", default=not is_darwin, description="Use distributed")
+ variant("mpi", default=not is_darwin, description="Use MPI for Caffe2", when="+distributed")
+ variant("gloo", default=not is_darwin, description="Use Gloo", when="+distributed")
+ variant(
+ "tensorpipe",
+ default=not is_darwin,
+ description="Use TensorPipe",
+ when="@1.6: +distributed",
+ )
+ variant("onnx_ml", default=True, description="Enable traditional ONNX ML API", when="@1.5:")
+ variant(
+ "breakpad",
+ default=True,
+ description="Enable breakpad crash dump library",
+ when="@1.9:1.11",
+ )
+
+ conflicts("+cuda+rocm")
+ conflicts("+breakpad", when="target=ppc64:")
+ conflicts("+breakpad", when="target=ppc64le:")
# https://github.com/pytorch/pytorch/issues/77811
- conflicts('+qnnpack', when='platform=darwin target=aarch64:')
+ conflicts("+qnnpack", when="platform=darwin target=aarch64:")
- conflicts('cuda_arch=none', when='+cuda',
- msg='Must specify CUDA compute capabilities of your GPU, see '
- 'https://developer.nvidia.com/cuda-gpus')
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg="Must specify CUDA compute capabilities of your GPU, see "
+ "https://developer.nvidia.com/cuda-gpus",
+ )
# Required dependencies
- depends_on('cmake@3.13:', when='@1.11:', type='build')
- depends_on('cmake@3.10:', when='@1.10:', type='build')
- depends_on('cmake@3.5:', type='build')
+ depends_on("cmake@3.13:", when="@1.11:", type="build")
+ depends_on("cmake@3.10:", when="@1.10:", type="build")
+ depends_on("cmake@3.5:", type="build")
# Use Ninja generator to speed up build times, automatically used if found
- depends_on('ninja@1.5:', when='@1.1:', type='build')
+ depends_on("ninja@1.5:", when="@1.1:", type="build")
# See python_min_version in setup.py
- depends_on('python@3.7:', when='@1.11:', type=('build', 'link', 'run'))
- depends_on('python@3.6.2:', when='@1.7.1:', type=('build', 'link', 'run'))
- depends_on('python@3.6.1:', when='@1.6:1.7.0', type=('build', 'link', 'run'))
- depends_on('python@3.5:', when='@1.5', type=('build', 'link', 'run'))
- depends_on('python@2.7:2,3.5:', when='@1.4', type=('build', 'link', 'run'))
- depends_on('python@2.7:2,3.5:3.7', when='@:1.3', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-future', when='@1.5:', type=('build', 'run'))
- depends_on('py-future', when='@1.1: ^python@:2', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-pybind11@2.6.2', when='@1.8:', type=('build', 'link', 'run'))
- depends_on('py-pybind11@2.3.0', when='@1.1:1.7', type=('build', 'link', 'run'))
- depends_on('py-pybind11@2.2.4', when='@:1.0', type=('build', 'link', 'run'))
- depends_on('py-dataclasses', when='@1.7: ^python@3.6', type=('build', 'run'))
- depends_on('py-tqdm', type='run')
+ depends_on("python@3.7:", when="@1.11:", type=("build", "link", "run"))
+ depends_on("python@3.6.2:", when="@1.7.1:", type=("build", "link", "run"))
+ depends_on("python@3.6.1:", when="@1.6:1.7.0", type=("build", "link", "run"))
+ depends_on("python@3.5:", when="@1.5", type=("build", "link", "run"))
+ depends_on("python@2.7:2,3.5:", when="@1.4", type=("build", "link", "run"))
+ depends_on("python@2.7:2,3.5:3.7", when="@:1.3", type=("build", "link", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-future", when="@1.5:", type=("build", "run"))
+ depends_on("py-future", when="@1.1: ^python@:2", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-typing", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-pybind11@2.6.2", when="@1.8:", type=("build", "link", "run"))
+ depends_on("py-pybind11@2.3.0", when="@1.1:1.7", type=("build", "link", "run"))
+ depends_on("py-pybind11@2.2.4", when="@:1.0", type=("build", "link", "run"))
+ depends_on("py-dataclasses", when="@1.7: ^python@3.6", type=("build", "run"))
+ depends_on("py-tqdm", type="run")
# https://github.com/onnx/onnx#prerequisites
- depends_on('py-numpy@1.16.6:', type=('build', 'run'))
- depends_on('py-protobuf@3.12.2:', when='@1.10:', type=('build', 'run'))
- depends_on('py-protobuf@:3.14', when='@:1.9', type=('build', 'run'))
- depends_on('protobuf@3.12.2:', when='@1.10:')
- depends_on('protobuf@:3.14', when='@:1.9')
+ depends_on("py-numpy@1.16.6:", type=("build", "run"))
+ depends_on("py-protobuf@3.12.2:", when="@1.10:", type=("build", "run"))
+ depends_on("py-protobuf@:3.14", when="@:1.9", type=("build", "run"))
+ depends_on("protobuf@3.12.2:", when="@1.10:")
+ depends_on("protobuf@:3.14", when="@:1.9")
# https://github.com/protocolbuffers/protobuf/issues/10051
# https://github.com/pytorch/pytorch/issues/78362
- depends_on('py-protobuf@:3', type=('build', 'run'))
- depends_on('protobuf@:3', type=('build', 'run'))
- depends_on('py-typing-extensions@3.6.2.1:', when='@1.7:', type=('build', 'run'))
- depends_on('blas')
- depends_on('lapack')
- depends_on('eigen')
+ depends_on("py-protobuf@:3", type=("build", "run"))
+ depends_on("protobuf@:3", type=("build", "run"))
+ depends_on("py-typing-extensions@3.6.2.1:", when="@1.7:", type=("build", "run"))
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("eigen")
# https://github.com/pytorch/pytorch/issues/60329
# depends_on('cpuinfo@2020-12-17', when='@1.8:')
# depends_on('cpuinfo@2020-06-11', when='@1.6:1.7')
@@ -140,48 +158,48 @@ class PyTorch(PythonPackage, CudaPackage):
# depends_on('sleef@3.4.0_2019-07-30', when='@1.6:1.7')
# https://github.com/Maratyszcza/FP16/issues/18
# depends_on('fp16@2020-05-14', when='@1.6:')
- depends_on('pthreadpool@2021-04-13', when='@1.9:')
- depends_on('pthreadpool@2020-10-05', when='@1.8')
- depends_on('pthreadpool@2020-06-15', when='@1.6:1.7')
- depends_on('psimd@2020-05-17', when='@1.6:')
- depends_on('fxdiv@2020-04-17', when='@1.6:')
- depends_on('benchmark', when='@1.6:+test')
+ depends_on("pthreadpool@2021-04-13", when="@1.9:")
+ depends_on("pthreadpool@2020-10-05", when="@1.8")
+ depends_on("pthreadpool@2020-06-15", when="@1.6:1.7")
+ depends_on("psimd@2020-05-17", when="@1.6:")
+ depends_on("fxdiv@2020-04-17", when="@1.6:")
+ depends_on("benchmark", when="@1.6:+test")
# Optional dependencies
# https://discuss.pytorch.org/t/compiling-1-10-1-from-source-with-gcc-11-and-cuda-11-5/140971
- depends_on('cuda@9.2:', when='@1.11:+cuda', type=('build', 'link', 'run'))
- depends_on('cuda@9.2:11.4', when='@1.6:1.10+cuda', type=('build', 'link', 'run'))
- depends_on('cuda@9:11.4', when='@1.1:1.5+cuda', type=('build', 'link', 'run'))
- depends_on('cuda@7.5:11.4', when='@:1.0+cuda', type=('build', 'link', 'run'))
- depends_on('cudnn@6:7', when='@:1.0+cudnn')
- depends_on('cudnn@7.0:7', when='@1.1:1.5+cudnn')
- depends_on('cudnn@7:', when='@1.6:+cudnn')
- depends_on('magma+cuda', when='+magma+cuda')
- depends_on('magma+rocm', when='+magma+rocm')
- depends_on('nccl', when='+nccl')
- depends_on('numactl', when='+numa')
- depends_on('llvm-openmp', when='%apple-clang +openmp')
- depends_on('valgrind', when='+valgrind')
+ depends_on("cuda@9.2:", when="@1.11:+cuda", type=("build", "link", "run"))
+ depends_on("cuda@9.2:11.4", when="@1.6:1.10+cuda", type=("build", "link", "run"))
+ depends_on("cuda@9:11.4", when="@1.1:1.5+cuda", type=("build", "link", "run"))
+ depends_on("cuda@7.5:11.4", when="@:1.0+cuda", type=("build", "link", "run"))
+ depends_on("cudnn@6:7", when="@:1.0+cudnn")
+ depends_on("cudnn@7.0:7", when="@1.1:1.5+cudnn")
+ depends_on("cudnn@7:", when="@1.6:+cudnn")
+ depends_on("magma+cuda", when="+magma+cuda")
+ depends_on("magma+rocm", when="+magma+rocm")
+ depends_on("nccl", when="+nccl")
+ depends_on("numactl", when="+numa")
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
+ depends_on("valgrind", when="+valgrind")
with when("+rocm"):
- depends_on('hsa-rocr-dev')
- depends_on('hip')
- depends_on('rccl')
- depends_on('rocprim')
- depends_on('hipcub')
- depends_on('rocthrust')
- depends_on('roctracer-dev')
- depends_on('rocrand')
- depends_on('hipsparse')
- depends_on('hipfft')
- depends_on('rocfft')
- depends_on('rocblas')
- depends_on('miopen-hip')
+ depends_on("hsa-rocr-dev")
+ depends_on("hip")
+ depends_on("rccl")
+ depends_on("rocprim")
+ depends_on("hipcub")
+ depends_on("rocthrust")
+ depends_on("roctracer-dev")
+ depends_on("rocrand")
+ depends_on("hipsparse")
+ depends_on("hipfft")
+ depends_on("rocfft")
+ depends_on("rocblas")
+ depends_on("miopen-hip")
# https://github.com/pytorch/pytorch/issues/60332
# depends_on('xnnpack@2022-02-16', when='@1.12:+xnnpack')
# depends_on('xnnpack@2021-06-21', when='@1.10:1.11+xnnpack')
# depends_on('xnnpack@2021-02-22', when='@1.8:1.9+xnnpack')
# depends_on('xnnpack@2020-03-23', when='@1.6:1.7+xnnpack')
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# https://github.com/pytorch/pytorch/issues/60270
# depends_on('gloo@2021-05-21', when='@1.10:+gloo')
# depends_on('gloo@2021-05-04', when='@1.9+gloo')
@@ -193,31 +211,35 @@ class PyTorch(PythonPackage, CudaPackage):
# depends_on('onnx@1.10.1', when='@1.10+onnx_ml')
# depends_on('onnx@1.8.0_2020-11-03', when='@1.8:1.9+onnx_ml')
# depends_on('onnx@1.7.0_2020-05-31', when='@1.6:1.7+onnx_ml')
- depends_on('mkl', when='+mkldnn')
+ depends_on("mkl", when="+mkldnn")
# Test dependencies
- depends_on('py-hypothesis', type='test')
- depends_on('py-six', type='test')
- depends_on('py-psutil', type='test')
+ depends_on("py-hypothesis", type="test")
+ depends_on("py-six", type="test")
+ depends_on("py-psutil", type="test")
# Fix BLAS being overridden by MKL
# https://github.com/pytorch/pytorch/issues/60328
- patch('https://github.com/pytorch/pytorch/pull/59220.patch?full_index=1',
- sha256='6d5717267f901e8ee493dfacd08734d9bcc48ad29a76ca9ef702368e96bee675',
- when='@1.2:1.11')
+ patch(
+ "https://github.com/pytorch/pytorch/pull/59220.patch?full_index=1",
+ sha256="6d5717267f901e8ee493dfacd08734d9bcc48ad29a76ca9ef702368e96bee675",
+ when="@1.2:1.11",
+ )
# Fixes build on older systems with glibc <2.12
- patch('https://github.com/pytorch/pytorch/pull/55063.patch?full_index=1',
- sha256='2229bcbf20fbe88aa9f7318f89c126ec7f527875ffe689a763c78abfa127a65c',
- when='@1.1:1.8.1')
+ patch(
+ "https://github.com/pytorch/pytorch/pull/55063.patch?full_index=1",
+ sha256="2229bcbf20fbe88aa9f7318f89c126ec7f527875ffe689a763c78abfa127a65c",
+ when="@1.1:1.8.1",
+ )
# Fixes CMake configuration error when XNNPACK is disabled
# https://github.com/pytorch/pytorch/pull/35607
# https://github.com/pytorch/pytorch/pull/37865
- patch('xnnpack.patch', when='@1.5')
+ patch("xnnpack.patch", when="@1.5")
# Fixes build error when ROCm is enabled for pytorch-1.5 release
- patch('rocm.patch', when='@1.5+rocm')
+ patch("rocm.patch", when="@1.5+rocm")
# Fixes fatal error: sleef.h: No such file or directory
# https://github.com/pytorch/pytorch/pull/35359
@@ -226,66 +248,89 @@ class PyTorch(PythonPackage, CudaPackage):
# Fixes compilation with Clang 9.0.0 and Apple Clang 11.0.3
# https://github.com/pytorch/pytorch/pull/37086
- patch('https://github.com/pytorch/pytorch/commit/e921cd222a8fbeabf5a3e74e83e0d8dfb01aa8b5.patch?full_index=1',
- sha256='0f3ad037a95af9d34b1d085050c1e7771fd00f0b89e5b3a276097b7c9f4fabf8',
- when='@1.1:1.5')
+ patch(
+ "https://github.com/pytorch/pytorch/commit/e921cd222a8fbeabf5a3e74e83e0d8dfb01aa8b5.patch?full_index=1",
+ sha256="0f3ad037a95af9d34b1d085050c1e7771fd00f0b89e5b3a276097b7c9f4fabf8",
+ when="@1.1:1.5",
+ )
# Removes duplicate definition of getCusparseErrorString
# https://github.com/pytorch/pytorch/issues/32083
- patch('cusparseGetErrorString.patch', when='@:1.0^cuda@10.1.243:')
+ patch("cusparseGetErrorString.patch", when="@:1.0^cuda@10.1.243:")
# Fixes 'FindOpenMP.cmake'
# to detect openmp settings used by Fujitsu compiler.
- patch('detect_omp_of_fujitsu_compiler.patch', when='%fj')
+ patch("detect_omp_of_fujitsu_compiler.patch", when="%fj")
# Fixes to build with fujitsu-ssl2
- patch('fj-ssl2_1.11.patch', when='@1.11:^fujitsu-ssl2')
- patch('fj-ssl2_1.10.patch', when='@1.10^fujitsu-ssl2')
- patch('fj-ssl2_1.9.patch', when='@1.9^fujitsu-ssl2')
- patch('fj-ssl2_1.8.patch', when='@1.8^fujitsu-ssl2')
- patch('fj-ssl2_1.6-1.7.patch', when='@1.6:1.7^fujitsu-ssl2')
- patch('fj-ssl2_1.3-1.5.patch', when='@1.3:1.5^fujitsu-ssl2')
- patch('fj-ssl2_1.2.patch', when='@1.2^fujitsu-ssl2')
+ patch("fj-ssl2_1.11.patch", when="@1.11:^fujitsu-ssl2")
+ patch("fj-ssl2_1.10.patch", when="@1.10^fujitsu-ssl2")
+ patch("fj-ssl2_1.9.patch", when="@1.9^fujitsu-ssl2")
+ patch("fj-ssl2_1.8.patch", when="@1.8^fujitsu-ssl2")
+ patch("fj-ssl2_1.6-1.7.patch", when="@1.6:1.7^fujitsu-ssl2")
+ patch("fj-ssl2_1.3-1.5.patch", when="@1.3:1.5^fujitsu-ssl2")
+ patch("fj-ssl2_1.2.patch", when="@1.2^fujitsu-ssl2")
# Fix compilation of +distributed~tensorpipe
# https://github.com/pytorch/pytorch/issues/68002
- patch('https://github.com/pytorch/pytorch/commit/c075f0f633fa0136e68f0a455b5b74d7b500865c.patch?full_index=1',
- sha256='41271e494a3a60a65a8dd45ac053d1a6e4e4d5b42c2dac589ac67524f61ac41e', when='@1.10.0+distributed~tensorpipe')
+ patch(
+ "https://github.com/pytorch/pytorch/commit/c075f0f633fa0136e68f0a455b5b74d7b500865c.patch?full_index=1",
+ sha256="41271e494a3a60a65a8dd45ac053d1a6e4e4d5b42c2dac589ac67524f61ac41e",
+ when="@1.10.0+distributed~tensorpipe",
+ )
# Use patches from IBM's Open CE to enable building on Power systems
# 03xx - patch temporary to fix a problem that when fixed upstream can be removed
- patch('https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0302-cpp-extension.patch',
- sha256='ecb3973fa7d0f4c8f8ae40433f3ca5622d730a7b16f6cb63325d1e95baff8aa2', when='@1.10:1.11 arch=ppc64le:')
-
- patch('https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0311-PR66085-Remove-unused-dump-method-from-VSX-vec256-methods.patch',
- sha256='f05db59f3def4c4215db7142d81029c73fe330c660492159b66d65ca5001f4d1', when='@1.10:1.11 arch=ppc64le:')
-
- patch('https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0312-PR67331-Dummpy-VSX-bfloat16-implementation.patch',
- sha256='860b64afa85f5e6647ebc3c91d5a0bb258784770900c9302c3599c98d5cff1ee', when='@1.10:1.11 arch=ppc64le:')
-
- patch('https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0313-add-missing-vsx-dispatch.patch',
- sha256='7393c2bc0b6d41ecc813c829a1e517bee864686652e91f174cb7bcdfb10ba451', when='@1.10:1.11 arch=ppc64le:')
-
- patch('https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.12/recipe/0302-cpp-extension.patch',
- sha256='2fac519cca8997f074c263505657ff867e7ba2d6637fc8bda99c70a99be0442a', when='@1.12: arch=ppc64le:')
+ patch(
+ "https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0302-cpp-extension.patch",
+ sha256="ecb3973fa7d0f4c8f8ae40433f3ca5622d730a7b16f6cb63325d1e95baff8aa2",
+ when="@1.10:1.11 arch=ppc64le:",
+ )
+
+ patch(
+ "https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0311-PR66085-Remove-unused-dump-method-from-VSX-vec256-methods.patch",
+ sha256="f05db59f3def4c4215db7142d81029c73fe330c660492159b66d65ca5001f4d1",
+ when="@1.10:1.11 arch=ppc64le:",
+ )
+
+ patch(
+ "https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0312-PR67331-Dummpy-VSX-bfloat16-implementation.patch",
+ sha256="860b64afa85f5e6647ebc3c91d5a0bb258784770900c9302c3599c98d5cff1ee",
+ when="@1.10:1.11 arch=ppc64le:",
+ )
+
+ patch(
+ "https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.10/recipe/0313-add-missing-vsx-dispatch.patch",
+ sha256="7393c2bc0b6d41ecc813c829a1e517bee864686652e91f174cb7bcdfb10ba451",
+ when="@1.10:1.11 arch=ppc64le:",
+ )
+
+ patch(
+ "https://github.com/open-ce/pytorch-feedstock/raw/0a145060ca8523314ec3893af935c3b140e2d0b0/pytorch-1.12/recipe/0302-cpp-extension.patch",
+ sha256="2fac519cca8997f074c263505657ff867e7ba2d6637fc8bda99c70a99be0442a",
+ when="@1.12: arch=ppc64le:",
+ )
# Cherry-pick a patch to allow earlier versions of PyTorch to work with CUDA 11.4
- patch('https://github.com/pytorch/pytorch/commit/c74c0c571880df886474be297c556562e95c00e0.patch?full_index=1',
- sha256='8ff7d285e52e4718bad1ca01ceb3bb6471d7828329036bb94222717fcaa237da', when='@:1.9.1 ^cuda@11.4.100:')
+ patch(
+ "https://github.com/pytorch/pytorch/commit/c74c0c571880df886474be297c556562e95c00e0.patch?full_index=1",
+ sha256="8ff7d285e52e4718bad1ca01ceb3bb6471d7828329036bb94222717fcaa237da",
+ when="@:1.9.1 ^cuda@11.4.100:",
+ )
@property
def headers(self):
"""Discover header files in platlib."""
# Headers may be in either location
- include = join_path(self.prefix, self.spec['python'].package.include)
- platlib = join_path(self.prefix, self.spec['python'].package.platlib)
+ include = join_path(self.prefix, self.spec["python"].package.include)
+ platlib = join_path(self.prefix, self.spec["python"].package.platlib)
headers = find_all_headers(include) + find_all_headers(platlib)
if headers:
return headers
- msg = 'Unable to locate {} headers in {} or {}'
+ msg = "Unable to locate {} headers in {} or {}"
raise NoHeadersError(msg.format(self.spec.name, include, platlib))
@property
@@ -293,23 +338,25 @@ class PyTorch(PythonPackage, CudaPackage):
"""Discover libraries in platlib."""
# Remove py- prefix in package name
- library = 'lib' + self.spec.name[3:].replace('-', '?')
- root = join_path(self.prefix, self.spec['python'].package.platlib)
+ library = "lib" + self.spec.name[3:].replace("-", "?")
+ root = join_path(self.prefix, self.spec["python"].package.platlib)
for shared in [True, False]:
libs = find_libraries(library, root, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {} libraries in {}'
+ msg = "Unable to recursively locate {} libraries in {}"
raise NoLibrariesError(msg.format(self.spec.name, root))
- @when('@1.5.0:')
+ @when("@1.5.0:")
def patch(self):
# https://github.com/pytorch/pytorch/issues/52208
- filter_file('torch_global_deps PROPERTIES LINKER_LANGUAGE C',
- 'torch_global_deps PROPERTIES LINKER_LANGUAGE CXX',
- 'caffe2/CMakeLists.txt')
+ filter_file(
+ "torch_global_deps PROPERTIES LINKER_LANGUAGE C",
+ "torch_global_deps PROPERTIES LINKER_LANGUAGE CXX",
+ "caffe2/CMakeLists.txt",
+ )
def setup_build_environment(self, env):
"""Set environment variables used to control the build.
@@ -322,7 +369,8 @@ class PyTorch(PythonPackage, CudaPackage):
most flags defined in ``CMakeLists.txt`` can be specified as
environment variables.
"""
- def enable_or_disable(variant, keyword='USE', var=None, newer=False):
+
+ def enable_or_disable(variant, keyword="USE", var=None, newer=False):
"""Set environment variable to enable or disable support for a
particular variant.
@@ -337,161 +385,159 @@ class PyTorch(PythonPackage, CudaPackage):
# Version 1.1.0 switched from NO_* to USE_* or BUILD_*
# But some newer variants have always used USE_* or BUILD_*
- if self.spec.satisfies('@1.1:') or newer:
- if '+' + variant in self.spec:
- env.set(keyword + '_' + var, 'ON')
- elif '~' + variant in self.spec:
- env.set(keyword + '_' + var, 'OFF')
+ if self.spec.satisfies("@1.1:") or newer:
+ if "+" + variant in self.spec:
+ env.set(keyword + "_" + var, "ON")
+ elif "~" + variant in self.spec:
+ env.set(keyword + "_" + var, "OFF")
else:
- if '+' + variant in self.spec:
- env.unset('NO_' + var)
- elif '~' + variant in self.spec:
- env.set('NO_' + var, 'ON')
+ if "+" + variant in self.spec:
+ env.unset("NO_" + var)
+ elif "~" + variant in self.spec:
+ env.set("NO_" + var, "ON")
# Build in parallel to speed up build times
- env.set('MAX_JOBS', make_jobs)
+ env.set("MAX_JOBS", make_jobs)
# Spack logs have trouble handling colored output
- env.set('COLORIZE_OUTPUT', 'OFF')
+ env.set("COLORIZE_OUTPUT", "OFF")
- enable_or_disable('test', keyword='BUILD')
- enable_or_disable('caffe2', keyword='BUILD')
+ enable_or_disable("test", keyword="BUILD")
+ enable_or_disable("caffe2", keyword="BUILD")
- enable_or_disable('cuda')
- if '+cuda' in self.spec:
+ enable_or_disable("cuda")
+ if "+cuda" in self.spec:
# cmake/public/cuda.cmake
# cmake/Modules_CUDA_fix/upstream/FindCUDA.cmake
- env.unset('CUDA_ROOT')
- torch_cuda_arch = ';'.join('{0:.1f}'.format(float(i) / 10.0) for i
- in
- self.spec.variants['cuda_arch'].value)
- env.set('TORCH_CUDA_ARCH_LIST', torch_cuda_arch)
- if self.spec.satisfies('%clang'):
- for flag in self.spec.compiler_flags['cxxflags']:
- if 'gcc-toolchain' in flag:
- env.set('CMAKE_CUDA_FLAGS', '=-Xcompiler={0}'.format(flag))
-
- enable_or_disable('rocm')
- if '+rocm' in self.spec:
- env.set('HSA_PATH', self.spec['hsa-rocr-dev'].prefix)
- env.set('ROCBLAS_PATH', self.spec['rocblas'].prefix)
- env.set('ROCFFT_PATH', self.spec['rocfft'].prefix)
- env.set('HIPFFT_PATH', self.spec['hipfft'].prefix)
- env.set('HIPSPARSE_PATH', self.spec['hipsparse'].prefix)
- env.set('THRUST_PATH', self.spec['rocthrust'].prefix.include)
- env.set('HIP_PATH', self.spec['hip'].prefix)
- env.set('HIPRAND_PATH', self.spec['rocrand'].prefix)
- env.set('ROCRAND_PATH', self.spec['rocrand'].prefix)
- env.set('MIOPEN_PATH', self.spec['miopen-hip'].prefix)
- env.set('RCCL_PATH', self.spec['rccl'].prefix)
- env.set('ROCPRIM_PATH', self.spec['rocprim'].prefix)
- env.set('HIPCUB_PATH', self.spec['hipcub'].prefix)
- env.set('ROCTHRUST_PATH', self.spec['rocthrust'].prefix)
- env.set('ROCTRACER_PATH', self.spec['roctracer-dev'].prefix)
-
- enable_or_disable('cudnn')
- if '+cudnn' in self.spec:
+ env.unset("CUDA_ROOT")
+ torch_cuda_arch = ";".join(
+ "{0:.1f}".format(float(i) / 10.0) for i in self.spec.variants["cuda_arch"].value
+ )
+ env.set("TORCH_CUDA_ARCH_LIST", torch_cuda_arch)
+ if self.spec.satisfies("%clang"):
+ for flag in self.spec.compiler_flags["cxxflags"]:
+ if "gcc-toolchain" in flag:
+ env.set("CMAKE_CUDA_FLAGS", "=-Xcompiler={0}".format(flag))
+
+ enable_or_disable("rocm")
+ if "+rocm" in self.spec:
+ env.set("HSA_PATH", self.spec["hsa-rocr-dev"].prefix)
+ env.set("ROCBLAS_PATH", self.spec["rocblas"].prefix)
+ env.set("ROCFFT_PATH", self.spec["rocfft"].prefix)
+ env.set("HIPFFT_PATH", self.spec["hipfft"].prefix)
+ env.set("HIPSPARSE_PATH", self.spec["hipsparse"].prefix)
+ env.set("THRUST_PATH", self.spec["rocthrust"].prefix.include)
+ env.set("HIP_PATH", self.spec["hip"].prefix)
+ env.set("HIPRAND_PATH", self.spec["rocrand"].prefix)
+ env.set("ROCRAND_PATH", self.spec["rocrand"].prefix)
+ env.set("MIOPEN_PATH", self.spec["miopen-hip"].prefix)
+ env.set("RCCL_PATH", self.spec["rccl"].prefix)
+ env.set("ROCPRIM_PATH", self.spec["rocprim"].prefix)
+ env.set("HIPCUB_PATH", self.spec["hipcub"].prefix)
+ env.set("ROCTHRUST_PATH", self.spec["rocthrust"].prefix)
+ env.set("ROCTRACER_PATH", self.spec["roctracer-dev"].prefix)
+
+ enable_or_disable("cudnn")
+ if "+cudnn" in self.spec:
# cmake/Modules_CUDA_fix/FindCUDNN.cmake
- env.set('CUDNN_INCLUDE_DIR', self.spec['cudnn'].prefix.include)
- env.set('CUDNN_LIBRARY', self.spec['cudnn'].libs[0])
+ env.set("CUDNN_INCLUDE_DIR", self.spec["cudnn"].prefix.include)
+ env.set("CUDNN_LIBRARY", self.spec["cudnn"].libs[0])
- enable_or_disable('fbgemm')
- enable_or_disable('kineto')
- enable_or_disable('magma')
- enable_or_disable('metal')
- enable_or_disable('mps')
- enable_or_disable('breakpad')
+ enable_or_disable("fbgemm")
+ enable_or_disable("kineto")
+ enable_or_disable("magma")
+ enable_or_disable("metal")
+ enable_or_disable("mps")
+ enable_or_disable("breakpad")
- enable_or_disable('nccl')
- if '+nccl' in self.spec:
- env.set('NCCL_LIB_DIR', self.spec['nccl'].libs.directories[0])
- env.set('NCCL_INCLUDE_DIR', self.spec['nccl'].prefix.include)
+ enable_or_disable("nccl")
+ if "+nccl" in self.spec:
+ env.set("NCCL_LIB_DIR", self.spec["nccl"].libs.directories[0])
+ env.set("NCCL_INCLUDE_DIR", self.spec["nccl"].prefix.include)
# cmake/External/nnpack.cmake
- enable_or_disable('nnpack')
+ enable_or_disable("nnpack")
- enable_or_disable('numa')
- if '+numa' in self.spec:
+ enable_or_disable("numa")
+ if "+numa" in self.spec:
# cmake/Modules/FindNuma.cmake
- env.set('NUMA_ROOT_DIR', self.spec['numactl'].prefix)
+ env.set("NUMA_ROOT_DIR", self.spec["numactl"].prefix)
# cmake/Modules/FindNumPy.cmake
- enable_or_disable('numpy')
+ enable_or_disable("numpy")
# cmake/Modules/FindOpenMP.cmake
- enable_or_disable('openmp', newer=True)
- enable_or_disable('qnnpack')
- enable_or_disable('qnnpack', var='PYTORCH_QNNPACK')
- enable_or_disable('valgrind')
- enable_or_disable('xnnpack')
- enable_or_disable('mkldnn')
- enable_or_disable('distributed')
- enable_or_disable('mpi')
+ enable_or_disable("openmp", newer=True)
+ enable_or_disable("qnnpack")
+ enable_or_disable("qnnpack", var="PYTORCH_QNNPACK")
+ enable_or_disable("valgrind")
+ enable_or_disable("xnnpack")
+ enable_or_disable("mkldnn")
+ enable_or_disable("distributed")
+ enable_or_disable("mpi")
# cmake/Modules/FindGloo.cmake
- enable_or_disable('gloo', newer=True)
- enable_or_disable('tensorpipe')
+ enable_or_disable("gloo", newer=True)
+ enable_or_disable("tensorpipe")
- if '+debug' in self.spec:
- env.set('DEBUG', 'ON')
+ if "+debug" in self.spec:
+ env.set("DEBUG", "ON")
else:
- env.set('DEBUG', 'OFF')
+ env.set("DEBUG", "OFF")
- if '+onnx_ml' in self.spec:
- env.set('ONNX_ML', 'ON')
- elif '~onnx_ml' in self.spec:
- env.set('ONNX_ML', 'OFF')
+ if "+onnx_ml" in self.spec:
+ env.set("ONNX_ML", "ON")
+ elif "~onnx_ml" in self.spec:
+ env.set("ONNX_ML", "OFF")
- if not self.spec.satisfies('@master'):
- env.set('PYTORCH_BUILD_VERSION', self.version)
- env.set('PYTORCH_BUILD_NUMBER', 0)
+ if not self.spec.satisfies("@master"):
+ env.set("PYTORCH_BUILD_VERSION", self.version)
+ env.set("PYTORCH_BUILD_NUMBER", 0)
# BLAS to be used by Caffe2
# Options defined in cmake/Dependencies.cmake and cmake/Modules/FindBLAS.cmake
- if self.spec['blas'].name == 'atlas':
- env.set('BLAS', 'ATLAS')
- env.set('WITH_BLAS', 'atlas')
- elif self.spec['blas'].name in ['blis', 'amdblis']:
- env.set('BLAS', 'BLIS')
- env.set('WITH_BLAS', 'blis')
- elif self.spec['blas'].name == 'eigen':
- env.set('BLAS', 'Eigen')
- elif self.spec['lapack'].name in ['libflame', 'amdlibflame']:
- env.set('BLAS', 'FLAME')
- env.set('WITH_BLAS', 'FLAME')
- elif self.spec['blas'].name in [
- 'intel-mkl', 'intel-parallel-studio', 'intel-oneapi-mkl']:
- env.set('BLAS', 'MKL')
- env.set('WITH_BLAS', 'mkl')
+ if self.spec["blas"].name == "atlas":
+ env.set("BLAS", "ATLAS")
+ env.set("WITH_BLAS", "atlas")
+ elif self.spec["blas"].name in ["blis", "amdblis"]:
+ env.set("BLAS", "BLIS")
+ env.set("WITH_BLAS", "blis")
+ elif self.spec["blas"].name == "eigen":
+ env.set("BLAS", "Eigen")
+ elif self.spec["lapack"].name in ["libflame", "amdlibflame"]:
+ env.set("BLAS", "FLAME")
+ env.set("WITH_BLAS", "FLAME")
+ elif self.spec["blas"].name in ["intel-mkl", "intel-parallel-studio", "intel-oneapi-mkl"]:
+ env.set("BLAS", "MKL")
+ env.set("WITH_BLAS", "mkl")
# help find MKL
- if self.spec['mkl'].name == 'intel-oneapi-mkl':
- env.set('INTEL_MKL_DIR', self.spec['mkl'].prefix.mkl.latest)
+ if self.spec["mkl"].name == "intel-oneapi-mkl":
+ env.set("INTEL_MKL_DIR", self.spec["mkl"].prefix.mkl.latest)
else:
- env.set('INTEL_MKL_DIR', self.spec['mkl'].prefix.mkl)
- elif self.spec['blas'].name == 'openblas':
- env.set('BLAS', 'OpenBLAS')
- env.set('WITH_BLAS', 'open')
- elif self.spec['blas'].name == 'veclibfort':
- env.set('BLAS', 'vecLib')
- env.set('WITH_BLAS', 'veclib')
- elif self.spec['blas'].name == 'fujitsu-ssl2':
- env.set('BLAS', 'SSL2')
- env.set('WITH_BLAS', 'ssl2')
+ env.set("INTEL_MKL_DIR", self.spec["mkl"].prefix.mkl)
+ elif self.spec["blas"].name == "openblas":
+ env.set("BLAS", "OpenBLAS")
+ env.set("WITH_BLAS", "open")
+ elif self.spec["blas"].name == "veclibfort":
+ env.set("BLAS", "vecLib")
+ env.set("WITH_BLAS", "veclib")
+ elif self.spec["blas"].name == "fujitsu-ssl2":
+ env.set("BLAS", "SSL2")
+ env.set("WITH_BLAS", "ssl2")
else:
- env.set('BLAS', 'Generic')
- env.set('WITH_BLAS', 'generic')
+ env.set("BLAS", "Generic")
+ env.set("WITH_BLAS", "generic")
# Don't use vendored third-party libraries when possible
- env.set('BUILD_CUSTOM_PROTOBUF', 'OFF')
- env.set('USE_SYSTEM_NCCL', 'ON')
- env.set('USE_SYSTEM_EIGEN_INSTALL', 'ON')
- env.set('pybind11_DIR', self.spec['py-pybind11'].prefix)
- env.set('pybind11_INCLUDE_DIR',
- self.spec['py-pybind11'].prefix.include)
- if self.spec.satisfies('@1.10:'):
- env.set('USE_SYSTEM_PYBIND11', 'ON')
+ env.set("BUILD_CUSTOM_PROTOBUF", "OFF")
+ env.set("USE_SYSTEM_NCCL", "ON")
+ env.set("USE_SYSTEM_EIGEN_INSTALL", "ON")
+ env.set("pybind11_DIR", self.spec["py-pybind11"].prefix)
+ env.set("pybind11_INCLUDE_DIR", self.spec["py-pybind11"].prefix.include)
+ if self.spec.satisfies("@1.10:"):
+ env.set("USE_SYSTEM_PYBIND11", "ON")
# https://github.com/pytorch/pytorch/issues/60334
# if self.spec.satisfies('@1.8:'):
# env.set('USE_SYSTEM_SLEEF', 'ON')
- if self.spec.satisfies('@1.6:'):
+ if self.spec.satisfies("@1.6:"):
# env.set('USE_SYSTEM_LIBS', 'ON')
# https://github.com/pytorch/pytorch/issues/60329
# env.set('USE_SYSTEM_CPUINFO', 'ON')
@@ -499,22 +545,22 @@ class PyTorch(PythonPackage, CudaPackage):
# env.set('USE_SYSTEM_GLOO', 'ON')
# https://github.com/Maratyszcza/FP16/issues/18
# env.set('USE_SYSTEM_FP16', 'ON')
- env.set('USE_SYSTEM_PTHREADPOOL', 'ON')
- env.set('USE_SYSTEM_PSIMD', 'ON')
- env.set('USE_SYSTEM_FXDIV', 'ON')
- env.set('USE_SYSTEM_BENCHMARK', 'ON')
+ env.set("USE_SYSTEM_PTHREADPOOL", "ON")
+ env.set("USE_SYSTEM_PSIMD", "ON")
+ env.set("USE_SYSTEM_FXDIV", "ON")
+ env.set("USE_SYSTEM_BENCHMARK", "ON")
# https://github.com/pytorch/pytorch/issues/60331
# env.set('USE_SYSTEM_ONNX', 'ON')
# https://github.com/pytorch/pytorch/issues/60332
# env.set('USE_SYSTEM_XNNPACK', 'ON')
- @run_before('install')
+ @run_before("install")
def build_amd(self):
- if '+rocm' in self.spec:
- python(os.path.join('tools', 'amd_build', 'build_amd.py'))
+ if "+rocm" in self.spec:
+ python(os.path.join("tools", "amd_build", "build_amd.py"))
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def install_test(self):
- with working_dir('test'):
- python('run_test.py')
+ with working_dir("test"):
+ python("run_test.py")
diff --git a/var/spack/repos/builtin/packages/py-torchaudio/package.py b/var/spack/repos/builtin/packages/py-torchaudio/package.py
index 8375e512eb..9fb103095e 100644
--- a/var/spack/repos/builtin/packages/py-torchaudio/package.py
+++ b/var/spack/repos/builtin/packages/py-torchaudio/package.py
@@ -20,10 +20,10 @@ class PyTorchaudio(PythonPackage):
extension."""
homepage = "https://github.com/pytorch/audio"
- url = "https://github.com/pytorch/audio/archive/v0.4.0.tar.gz"
+ url = "https://github.com/pytorch/audio/archive/v0.4.0.tar.gz"
- version('0.4.0', sha256='9361312319b1ab880fc348ea82b024053bca6faf477ef6a9232a5b805742dc66')
+ version("0.4.0", sha256="9361312319b1ab880fc348ea82b024053bca6faf477ef6a9232a5b805742dc66")
- depends_on('py-setuptools', type='build')
- depends_on('sox@14.3.2:')
- depends_on('py-torch@1.2.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("sox@14.3.2:")
+ depends_on("py-torch@1.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchdata/package.py b/var/spack/repos/builtin/packages/py-torchdata/package.py
index 3804552522..535a30a06f 100644
--- a/var/spack/repos/builtin/packages/py-torchdata/package.py
+++ b/var/spack/repos/builtin/packages/py-torchdata/package.py
@@ -13,27 +13,27 @@ class PyTorchdata(PythonPackage):
git = "https://github.com/pytorch/data.git"
url = "https://github.com/pytorch/data/archive/refs/tags/v0.4.0.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('main', branch='main')
- version('0.4.0', sha256='b4ec446a701680faa620fcb828b98ba36a63fa79da62a1e568d4a683889172da')
- version('0.3.0', sha256='ac36188bf133cf5f1041a28ccb3ee82ba52d4b5d99617be37d64d740acd6cfd4')
+ version("main", branch="main")
+ version("0.4.0", sha256="b4ec446a701680faa620fcb828b98ba36a63fa79da62a1e568d4a683889172da")
+ version("0.3.0", sha256="ac36188bf133cf5f1041a28ccb3ee82ba52d4b5d99617be37d64d740acd6cfd4")
# https://github.com/pytorch/data#version-compatibility
- depends_on('python@3.7:3.10', type=('build', 'run'))
- depends_on('py-torch@master', when='@main', type=('build', 'run'))
- depends_on('py-torch@1.12', when='@0.4', type=('build', 'run'))
- depends_on('py-torch@1.11', when='@0.3', type=('build', 'run'))
+ depends_on("python@3.7:3.10", type=("build", "run"))
+ depends_on("py-torch@master", when="@main", type=("build", "run"))
+ depends_on("py-torch@1.12", when="@0.4", type=("build", "run"))
+ depends_on("py-torch@1.11", when="@0.3", type=("build", "run"))
# requirements.txt
- depends_on('py-setuptools', type='build')
- depends_on('py-urllib3@1.25:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-portalocker@2:', when='@0.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-urllib3@1.25:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-portalocker@2:", when="@0.4:", type=("build", "run"))
# third_party/CMakeLists.txt
- depends_on('py-pybind11', when='@0.4:')
- depends_on('aws-sdk-cpp', when='@0.4:')
+ depends_on("py-pybind11", when="@0.4:")
+ depends_on("aws-sdk-cpp", when="@0.4:")
def setup_build_environment(self, env):
- env.set('USE_SYSTEM_LIBS', 'ON')
+ env.set("USE_SYSTEM_LIBS", "ON")
diff --git a/var/spack/repos/builtin/packages/py-torchfile/package.py b/var/spack/repos/builtin/packages/py-torchfile/package.py
index a01ccb902e..da6b833ddd 100644
--- a/var/spack/repos/builtin/packages/py-torchfile/package.py
+++ b/var/spack/repos/builtin/packages/py-torchfile/package.py
@@ -16,9 +16,9 @@ class PyTorchfile(PythonPackage):
pypi = "torchfile/torchfile-0.1.0.tar.gz"
# license = "BSD-3-Clause"
- version('0.1.0', sha256='a53dfe134b737845a9f2cb24fe0585317874f965932cebdb0439d13c8da4136e')
+ version("0.1.0", sha256="a53dfe134b737845a9f2cb24fe0585317874f965932cebdb0439d13c8da4136e")
- depends_on('python@2.7:2,3.4:', type=('build', 'run'))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"))
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchgeo/package.py b/var/spack/repos/builtin/packages/py-torchgeo/package.py
index bb7dec2810..c50ff60320 100644
--- a/var/spack/repos/builtin/packages/py-torchgeo/package.py
+++ b/var/spack/repos/builtin/packages/py-torchgeo/package.py
@@ -17,89 +17,89 @@ class PyTorchgeo(PythonPackage):
pypi = "torchgeo/torchgeo-0.1.0.tar.gz"
git = "https://github.com/microsoft/torchgeo.git"
- maintainers = ['adamjstewart', 'calebrob6']
+ maintainers = ["adamjstewart", "calebrob6"]
- version('main', branch='main')
- version('0.3.0', sha256='3d98fd58e6678555592a596bd079ed5a8b4959996ff7718d7caa48d47815b6b0')
- version('0.2.1', sha256='218bd5aed7680244688dbf0f1398f5251ad243267eb19a6a7332668ac779a1cc')
- version('0.2.0', sha256='968c4bf68c7e487bf495f2f306d8bb0f5824eb67e24b26772a510e753e04ba4c')
- version('0.1.1', sha256='6e28132f75e9d8cb3a3a0e8b443aba3cde26c8f3140b9426139ee6e8f8058b26')
- version('0.1.0', sha256='44eb3cf10ab2ac63ff95e92fcd3807096bac3dcb9bdfe15a8edac9d440d2f323')
+ version("main", branch="main")
+ version("0.3.0", sha256="3d98fd58e6678555592a596bd079ed5a8b4959996ff7718d7caa48d47815b6b0")
+ version("0.2.1", sha256="218bd5aed7680244688dbf0f1398f5251ad243267eb19a6a7332668ac779a1cc")
+ version("0.2.0", sha256="968c4bf68c7e487bf495f2f306d8bb0f5824eb67e24b26772a510e753e04ba4c")
+ version("0.1.1", sha256="6e28132f75e9d8cb3a3a0e8b443aba3cde26c8f3140b9426139ee6e8f8058b26")
+ version("0.1.0", sha256="44eb3cf10ab2ac63ff95e92fcd3807096bac3dcb9bdfe15a8edac9d440d2f323")
- variant('datasets', default=False, description='Install optional dataset dependencies')
- variant('docs', default=False, description='Install documentation dependencies')
- variant('style', default=False, description='Install style checking tools')
- variant('tests', default=False, description='Install testing tools')
+ variant("datasets", default=False, description="Install optional dataset dependencies")
+ variant("docs", default=False, description="Install documentation dependencies")
+ variant("style", default=False, description="Install style checking tools")
+ variant("tests", default=False, description="Install testing tools")
# Required dependencies
- depends_on('python@3.7:3+bz2', when='@0.3:', type=('build', 'run'))
- depends_on('python@3.6:3+bz2', when='@:0.2', type=('build', 'run'))
- depends_on('py-setuptools@42:63', type='build')
- depends_on('py-dataclasses', when='@0.2 ^python@3.6', type=('build', 'run'))
- depends_on('py-einops@0.3:0.4', type=('build', 'run'))
- depends_on('py-fiona@1.8:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-fiona@1.5:1', when='@:0.2', type=('build', 'run'))
- depends_on('py-kornia@0.6.4:0.6', when='@0.3:', type=('build', 'run'))
- depends_on('py-kornia@0.5.11:0.6', when='@0.2', type=('build', 'run'))
- depends_on('py-kornia@0.5.4:0.6', when='@0.1', type=('build', 'run'))
- depends_on('py-matplotlib@3.3:3', type=('build', 'run'))
- depends_on('py-numpy@1.17.2:1', type=('build', 'run'))
- depends_on('py-omegaconf@2.1:2', type=('build', 'run'))
- depends_on('py-packaging@17:21', when='@0.3:', type=('build', 'run'))
- depends_on('pil@6.2:9+zlib+jpeg+tiff', type=('build', 'run'))
- depends_on('py-pyproj@2.2:3', type=('build', 'run'))
- depends_on('py-pytorch-lightning@1.5.1:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-pytorch-lightning@1.3:1', when='@:0.2', type=('build', 'run'))
- depends_on('py-rasterio@1.0.20:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-rasterio@1.0.16:1', when='@:0.2', type=('build', 'run'))
- depends_on('py-rtree@1', when='@0.3:', type=('build', 'run'))
- depends_on('py-rtree@0.9.4:1', when='@0.2.1', type=('build', 'run'))
- depends_on('py-rtree@0.5:1', when='@:0.2.0', type=('build', 'run'))
- depends_on('py-scikit-learn@0.21:1', when='@0.3:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.18:1', when='@:0.2', type=('build', 'run'))
- depends_on('py-segmentation-models-pytorch@0.2', type=('build', 'run'))
- depends_on('py-shapely@1.3:1', type=('build', 'run'))
- depends_on('py-timm@0.4.12:0.4', type=('build', 'run'))
- depends_on('py-torch@1.9:1', when='@0.2:', type=('build', 'run'))
- depends_on('py-torch@1.7:1', when='@0.1', type=('build', 'run'))
- depends_on('py-torchmetrics@0.7:0.9', when='@0.2.2:', type=('build', 'run'))
- depends_on('py-torchmetrics@0.7:0.8', when='@0.2.1', type=('build', 'run'))
- depends_on('py-torchmetrics@0.7', when='@:0.2.0', type=('build', 'run'))
- depends_on('py-torchvision@0.10:0.13', when='@0.3:', type=('build', 'run'))
- depends_on('py-torchvision@0.10:0.12', when='@0.2', type=('build', 'run'))
- depends_on('py-torchvision@0.3:0.12', when='@0.1', type=('build', 'run'))
+ depends_on("python@3.7:3+bz2", when="@0.3:", type=("build", "run"))
+ depends_on("python@3.6:3+bz2", when="@:0.2", type=("build", "run"))
+ depends_on("py-setuptools@42:63", type="build")
+ depends_on("py-dataclasses", when="@0.2 ^python@3.6", type=("build", "run"))
+ depends_on("py-einops@0.3:0.4", type=("build", "run"))
+ depends_on("py-fiona@1.8:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-fiona@1.5:1", when="@:0.2", type=("build", "run"))
+ depends_on("py-kornia@0.6.4:0.6", when="@0.3:", type=("build", "run"))
+ depends_on("py-kornia@0.5.11:0.6", when="@0.2", type=("build", "run"))
+ depends_on("py-kornia@0.5.4:0.6", when="@0.1", type=("build", "run"))
+ depends_on("py-matplotlib@3.3:3", type=("build", "run"))
+ depends_on("py-numpy@1.17.2:1", type=("build", "run"))
+ depends_on("py-omegaconf@2.1:2", type=("build", "run"))
+ depends_on("py-packaging@17:21", when="@0.3:", type=("build", "run"))
+ depends_on("pil@6.2:9+zlib+jpeg+tiff", type=("build", "run"))
+ depends_on("py-pyproj@2.2:3", type=("build", "run"))
+ depends_on("py-pytorch-lightning@1.5.1:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-pytorch-lightning@1.3:1", when="@:0.2", type=("build", "run"))
+ depends_on("py-rasterio@1.0.20:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-rasterio@1.0.16:1", when="@:0.2", type=("build", "run"))
+ depends_on("py-rtree@1", when="@0.3:", type=("build", "run"))
+ depends_on("py-rtree@0.9.4:1", when="@0.2.1", type=("build", "run"))
+ depends_on("py-rtree@0.5:1", when="@:0.2.0", type=("build", "run"))
+ depends_on("py-scikit-learn@0.21:1", when="@0.3:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.18:1", when="@:0.2", type=("build", "run"))
+ depends_on("py-segmentation-models-pytorch@0.2", type=("build", "run"))
+ depends_on("py-shapely@1.3:1", type=("build", "run"))
+ depends_on("py-timm@0.4.12:0.4", type=("build", "run"))
+ depends_on("py-torch@1.9:1", when="@0.2:", type=("build", "run"))
+ depends_on("py-torch@1.7:1", when="@0.1", type=("build", "run"))
+ depends_on("py-torchmetrics@0.7:0.9", when="@0.2.2:", type=("build", "run"))
+ depends_on("py-torchmetrics@0.7:0.8", when="@0.2.1", type=("build", "run"))
+ depends_on("py-torchmetrics@0.7", when="@:0.2.0", type=("build", "run"))
+ depends_on("py-torchvision@0.10:0.13", when="@0.3:", type=("build", "run"))
+ depends_on("py-torchvision@0.10:0.12", when="@0.2", type=("build", "run"))
+ depends_on("py-torchvision@0.3:0.12", when="@0.1", type=("build", "run"))
# Optional dependencies
- with when('+datasets'):
- depends_on('py-h5py@2.6:3', type='run')
- depends_on('py-laspy@2', when='@0.2:', type='run')
- depends_on('libtiff+jpeg+zlib', type='run')
- depends_on('open3d@0.11.2:0.14+python', when='@0.2:', type='run')
- depends_on('opencv@3.4.2.17:4+python3+imgcodecs+tiff+jpeg+png', type='run')
- depends_on('py-pandas@0.23.2:1', when='@0.3:', type='run')
- depends_on('py-pandas@0.19.1:1', when='@0.2', type='run')
- depends_on('py-pycocotools@2', type='run')
- depends_on('py-radiant-mlhub@0.2.1:0.5', type='run')
- depends_on('py-rarfile@3:4', type='run')
- depends_on('py-scipy@1.2:1', when='@0.3:', type='run')
- depends_on('py-scipy@0.9:1', when='@:0.2', type='run')
- depends_on('py-zipfile-deflate64@0.2', when='@0.2.1:', type='run')
+ with when("+datasets"):
+ depends_on("py-h5py@2.6:3", type="run")
+ depends_on("py-laspy@2", when="@0.2:", type="run")
+ depends_on("libtiff+jpeg+zlib", type="run")
+ depends_on("open3d@0.11.2:0.14+python", when="@0.2:", type="run")
+ depends_on("opencv@3.4.2.17:4+python3+imgcodecs+tiff+jpeg+png", type="run")
+ depends_on("py-pandas@0.23.2:1", when="@0.3:", type="run")
+ depends_on("py-pandas@0.19.1:1", when="@0.2", type="run")
+ depends_on("py-pycocotools@2", type="run")
+ depends_on("py-radiant-mlhub@0.2.1:0.5", type="run")
+ depends_on("py-rarfile@3:4", type="run")
+ depends_on("py-scipy@1.2:1", when="@0.3:", type="run")
+ depends_on("py-scipy@0.9:1", when="@:0.2", type="run")
+ depends_on("py-zipfile-deflate64@0.2", when="@0.2.1:", type="run")
- with when('+docs'):
- depends_on('py-ipywidgets@7', type='run')
- depends_on('py-nbsphinx@0.8.5:0.8', type='run')
- depends_on('py-pytorch-sphinx-theme', type='run')
- depends_on('py-sphinx@4:5', type='run')
+ with when("+docs"):
+ depends_on("py-ipywidgets@7", type="run")
+ depends_on("py-nbsphinx@0.8.5:0.8", type="run")
+ depends_on("py-pytorch-sphinx-theme", type="run")
+ depends_on("py-sphinx@4:5", type="run")
- with when('+style'):
- depends_on('py-black@21.8:22+jupyter', when='@0.3:', type='run')
- depends_on('py-black@21:22', when='@:0.2', type='run')
- depends_on('py-flake8@3.8:4', type='run')
- depends_on('py-isort@5.8:5+colors', type='run')
- depends_on('py-pydocstyle@6.1:6+toml', type='run')
+ with when("+style"):
+ depends_on("py-black@21.8:22+jupyter", when="@0.3:", type="run")
+ depends_on("py-black@21:22", when="@:0.2", type="run")
+ depends_on("py-flake8@3.8:4", type="run")
+ depends_on("py-isort@5.8:5+colors", type="run")
+ depends_on("py-pydocstyle@6.1:6+toml", type="run")
- with when('+tests'):
- depends_on('py-mypy@0.900:0.961', type='run')
- depends_on('py-nbmake@0.1:1.1', type='run')
- depends_on('py-pytest@6.1.2:7', type='run')
- depends_on('py-pytest-cov@2.4:3', type='run')
+ with when("+tests"):
+ depends_on("py-mypy@0.900:0.961", type="run")
+ depends_on("py-nbmake@0.1:1.1", type="run")
+ depends_on("py-pytest@6.1.2:7", type="run")
+ depends_on("py-pytest-cov@2.4:3", type="run")
diff --git a/var/spack/repos/builtin/packages/py-torchmeta/package.py b/var/spack/repos/builtin/packages/py-torchmeta/package.py
index 12367c8969..d82962c932 100644
--- a/var/spack/repos/builtin/packages/py-torchmeta/package.py
+++ b/var/spack/repos/builtin/packages/py-torchmeta/package.py
@@ -12,17 +12,17 @@ class PyTorchmeta(PythonPackage):
benchmarks, fully compatible with both torchvision and PyTorch's DataLoader."""
homepage = "https://github.com/tristandeleu/pytorch-meta"
- pypi = "torchmeta/torchmeta-1.7.0.tar.gz"
+ pypi = "torchmeta/torchmeta-1.7.0.tar.gz"
- version('1.7.0', sha256='148d42b6a1ec27970408f7bcb97cf1cb203f8699214e06424fe43d78faa848d9')
+ version("1.7.0", sha256="148d42b6a1ec27970408f7bcb97cf1cb203f8699214e06424fe43d78faa848d9")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.14:', type=('build', 'run'))
- depends_on('py-torch@1.4.0:1.8', type=('build', 'run'))
- depends_on('py-torchvision@0.5.0:0.9', type=('build', 'run'))
- depends_on('pil@7.0:', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-tqdm@4.0.0:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-ordered-set', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.14:", type=("build", "run"))
+ depends_on("py-torch@1.4.0:1.8", type=("build", "run"))
+ depends_on("py-torchvision@0.5.0:0.9", type=("build", "run"))
+ depends_on("pil@7.0:", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-tqdm@4.0.0:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-ordered-set", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchmetrics/package.py b/var/spack/repos/builtin/packages/py-torchmetrics/package.py
index 6d9509708f..686c50edfb 100644
--- a/var/spack/repos/builtin/packages/py-torchmetrics/package.py
+++ b/var/spack/repos/builtin/packages/py-torchmetrics/package.py
@@ -10,25 +10,25 @@ class PyTorchmetrics(PythonPackage):
"""Machine learning metrics for distributed, scalable PyTorch applications."""
homepage = "https://github.com/PyTorchLightning/metrics"
- pypi = "torchmetrics/torchmetrics-0.3.1.tar.gz"
+ pypi = "torchmetrics/torchmetrics-0.3.1.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.9.3', sha256='4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f')
- version('0.9.2', sha256='8178c9242e243318093d9b7237738a504535193d2006da6e58b0ed4003e318d2')
- version('0.9.0', sha256='3aa32ea575915b313d872d3460996c0f12a7bb37e6ce3da0e8d80865603b89f6')
- version('0.7.0', sha256='dbfb8989086f38020045a935e83928504e1af1d84ae92b073f6a83d018f4bc00')
- version('0.5.1', sha256='22fbcb6fc05348ca3f2bd06e0763e88411a6b68c2b9fc26084b39d40cc4021b0')
- version('0.4.1', sha256='2fc50f812210c33b8c2649dbb1482e3c47e93cae33e4b3d0427fb830384effbd')
- version('0.3.1', sha256='78f4057db53f7c219fdf9ec9eed151adad18dd43488a44e5c780806d218e3f1d')
- version('0.2.0', sha256='481a28759acd2d77cc088acba6bc7dc4a356c7cb767da2e1495e91e612e2d548')
+ version("0.9.3", sha256="4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f")
+ version("0.9.2", sha256="8178c9242e243318093d9b7237738a504535193d2006da6e58b0ed4003e318d2")
+ version("0.9.0", sha256="3aa32ea575915b313d872d3460996c0f12a7bb37e6ce3da0e8d80865603b89f6")
+ version("0.7.0", sha256="dbfb8989086f38020045a935e83928504e1af1d84ae92b073f6a83d018f4bc00")
+ version("0.5.1", sha256="22fbcb6fc05348ca3f2bd06e0763e88411a6b68c2b9fc26084b39d40cc4021b0")
+ version("0.4.1", sha256="2fc50f812210c33b8c2649dbb1482e3c47e93cae33e4b3d0427fb830384effbd")
+ version("0.3.1", sha256="78f4057db53f7c219fdf9ec9eed151adad18dd43488a44e5c780806d218e3f1d")
+ version("0.2.0", sha256="481a28759acd2d77cc088acba6bc7dc4a356c7cb767da2e1495e91e612e2d548")
- depends_on('python@3.7:', when='@0.9:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.17.2:', when='@0.4:', type=('build', 'run'))
- depends_on('py-numpy', when='@0.3:', type=('build', 'run'))
- depends_on('py-torch@1.3.1:', type=('build', 'run'))
- depends_on('py-pydeprecate@0.3', when='@0.7:0.8', type=('build', 'run'))
- depends_on('py-packaging', when='@0.3:', type=('build', 'run'))
- depends_on('py-typing-extensions', when='@0.9: ^python@:3.7', type=('build', 'run'))
+ depends_on("python@3.7:", when="@0.9:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.17.2:", when="@0.4:", type=("build", "run"))
+ depends_on("py-numpy", when="@0.3:", type=("build", "run"))
+ depends_on("py-torch@1.3.1:", type=("build", "run"))
+ depends_on("py-pydeprecate@0.3", when="@0.7:0.8", type=("build", "run"))
+ depends_on("py-packaging", when="@0.3:", type=("build", "run"))
+ depends_on("py-typing-extensions", when="@0.9: ^python@:3.7", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchsummary/package.py b/var/spack/repos/builtin/packages/py-torchsummary/package.py
index 096e80dd1c..841e264857 100644
--- a/var/spack/repos/builtin/packages/py-torchsummary/package.py
+++ b/var/spack/repos/builtin/packages/py-torchsummary/package.py
@@ -17,8 +17,8 @@ class PyTorchsummary(PythonPackage):
homepage = "https://github.com/sksq96/pytorch-summary"
pypi = "torchsummary/torchsummary-1.5.1.tar.gz"
- version('1.5.1', sha256='981bf689e22e0cf7f95c746002f20a24ad26aa6b9d861134a14bc6ce92230590')
+ version("1.5.1", sha256="981bf689e22e0cf7f95c746002f20a24ad26aa6b9d861134a14bc6ce92230590")
- depends_on('py-setuptools', type='build')
- depends_on('py-torch', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-torch", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchtext/package.py b/var/spack/repos/builtin/packages/py-torchtext/package.py
index c8e726ae51..e9008168e5 100644
--- a/var/spack/repos/builtin/packages/py-torchtext/package.py
+++ b/var/spack/repos/builtin/packages/py-torchtext/package.py
@@ -13,15 +13,15 @@ class PyTorchtext(PythonPackage):
homepage = "https://github.com/pytorch/text"
pypi = "torchtext/torchtext-0.5.0.tar.gz"
- maintainers = ['adamjstewart']
-
- version('0.5.0', sha256='7f22e24e9b939fff56b9118c78dc07aafec8dcc67164de15b9b5ed339e4179c6')
-
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-torch@0.4.0:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-sentencepiece', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version("0.5.0", sha256="7f22e24e9b939fff56b9118c78dc07aafec8dcc67164de15b9b5ed339e4179c6")
+
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-torch@0.4.0:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-sentencepiece", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py
index df731e4168..e66b9fa23c 100644
--- a/var/spack/repos/builtin/packages/py-torchvision/package.py
+++ b/var/spack/repos/builtin/packages/py-torchvision/package.py
@@ -12,103 +12,108 @@ class PyTorchvision(PythonPackage):
architectures, and common image transformations for computer vision."""
homepage = "https://github.com/pytorch/vision"
- url = "https://github.com/pytorch/vision/archive/v0.8.2.tar.gz"
- git = "https://github.com/pytorch/vision.git"
-
- maintainers = ['adamjstewart']
-
- version('main', branch='main')
- version('0.13.0', sha256='2fe9139150800820d02c867a0b64b7c7fbc964d48d76fae235d6ef9215eabcf4')
- version('0.12.0', sha256='99e6d3d304184895ff4f6152e2d2ec1cbec89b3e057d9c940ae0125546b04e91')
- version('0.11.3', sha256='b4c51d27589783e6e6941ecaa67b55f6f41633874ec37f80b64a0c92c3196e0c')
- version('0.11.2', sha256='55689c57c29f82438a133d0af3315991037be59c8e02471bdcaa31731154a714')
- version('0.11.1', sha256='32a06ccf755e4d75006ce03701f207652747a63dbfdf65f0f20a1b6f93a2e834')
- version('0.11.0', sha256='8e85acf8f5d39f27e92e610ccb506dac0bf4412bb366a318d2aa5f384cbd4d2c')
- version('0.10.1', sha256='4d595cf0214c8adc817f8e3cd0043a027b52b481e05d67b04f4947fcb43d4277')
- version('0.10.0', sha256='82bb2c2b03d8a65f4ea74bb0ee5566b0876a1992aceefb1e11475c7b5d2e857b')
- version('0.9.2', sha256='b41fc99bbf18450750bcd1804393e7c09dc8d4873c6b7e544b11c70fda59cbc8')
- version('0.9.1', sha256='79964773729880e0eee0e6af13f336041121d4cc8491a3e2c0e5f184cac8a718')
- version('0.9.0', sha256='9351ed92aded632f8c7f59dfadac13c191a834babe682f5785ea47e6fcf6b472')
- version('0.8.2', sha256='9a866c3c8feb23b3221ce261e6153fc65a98ce9ceaa71ccad017016945c178bf')
- version('0.8.1', sha256='c46734c679c99f93e5c06654f4295a05a6afe6c00a35ebd26a2cce507ae1ccbd')
- version('0.8.0', sha256='b5f040faffbfc7bac8d4687d8665bd1196937334589b3fb5fcf15bb69ca25391')
- version('0.7.0', sha256='fa0a6f44a50451115d1499b3f2aa597e0092a07afce1068750260fa7dd2c85cb')
- version('0.6.1', sha256='8173680a976c833640ecbd0d7e6f0a11047bf8833433e2147180efc905e48656')
- version('0.6.0', sha256='02de11b3abe6882de4032ce86dab9c7794cbc84369b44d04e667486580f0f1f7')
- version('0.5.0', sha256='eb9afc93df3d174d975ee0914057a9522f5272310b4d56c150b955c287a4d74d')
- version('0.4.2', sha256='1184a27eab85c9e784bacc6f9d6fec99e168ab4eda6047ef9f709e7fdb22d8f9')
- version('0.4.1', sha256='053689351272b3bd2ac3e6ba51efd284de0e4ca4a301f54674b949f1e62b7176')
- version('0.4.0', sha256='c270d74e568bad4559fed4544f6dd1e22e2eb1c60b088e04a5bd5787c4150589')
- version('0.3.0', sha256='c205f0618c268c6ed2f8abb869ef6eb83e5339c1336c243ad321a2f2a85195f0')
+ url = "https://github.com/pytorch/vision/archive/v0.8.2.tar.gz"
+ git = "https://github.com/pytorch/vision.git"
+
+ maintainers = ["adamjstewart"]
+
+ version("main", branch="main")
+ version("0.13.0", sha256="2fe9139150800820d02c867a0b64b7c7fbc964d48d76fae235d6ef9215eabcf4")
+ version("0.12.0", sha256="99e6d3d304184895ff4f6152e2d2ec1cbec89b3e057d9c940ae0125546b04e91")
+ version("0.11.3", sha256="b4c51d27589783e6e6941ecaa67b55f6f41633874ec37f80b64a0c92c3196e0c")
+ version("0.11.2", sha256="55689c57c29f82438a133d0af3315991037be59c8e02471bdcaa31731154a714")
+ version("0.11.1", sha256="32a06ccf755e4d75006ce03701f207652747a63dbfdf65f0f20a1b6f93a2e834")
+ version("0.11.0", sha256="8e85acf8f5d39f27e92e610ccb506dac0bf4412bb366a318d2aa5f384cbd4d2c")
+ version("0.10.1", sha256="4d595cf0214c8adc817f8e3cd0043a027b52b481e05d67b04f4947fcb43d4277")
+ version("0.10.0", sha256="82bb2c2b03d8a65f4ea74bb0ee5566b0876a1992aceefb1e11475c7b5d2e857b")
+ version("0.9.2", sha256="b41fc99bbf18450750bcd1804393e7c09dc8d4873c6b7e544b11c70fda59cbc8")
+ version("0.9.1", sha256="79964773729880e0eee0e6af13f336041121d4cc8491a3e2c0e5f184cac8a718")
+ version("0.9.0", sha256="9351ed92aded632f8c7f59dfadac13c191a834babe682f5785ea47e6fcf6b472")
+ version("0.8.2", sha256="9a866c3c8feb23b3221ce261e6153fc65a98ce9ceaa71ccad017016945c178bf")
+ version("0.8.1", sha256="c46734c679c99f93e5c06654f4295a05a6afe6c00a35ebd26a2cce507ae1ccbd")
+ version("0.8.0", sha256="b5f040faffbfc7bac8d4687d8665bd1196937334589b3fb5fcf15bb69ca25391")
+ version("0.7.0", sha256="fa0a6f44a50451115d1499b3f2aa597e0092a07afce1068750260fa7dd2c85cb")
+ version("0.6.1", sha256="8173680a976c833640ecbd0d7e6f0a11047bf8833433e2147180efc905e48656")
+ version("0.6.0", sha256="02de11b3abe6882de4032ce86dab9c7794cbc84369b44d04e667486580f0f1f7")
+ version("0.5.0", sha256="eb9afc93df3d174d975ee0914057a9522f5272310b4d56c150b955c287a4d74d")
+ version("0.4.2", sha256="1184a27eab85c9e784bacc6f9d6fec99e168ab4eda6047ef9f709e7fdb22d8f9")
+ version("0.4.1", sha256="053689351272b3bd2ac3e6ba51efd284de0e4ca4a301f54674b949f1e62b7176")
+ version("0.4.0", sha256="c270d74e568bad4559fed4544f6dd1e22e2eb1c60b088e04a5bd5787c4150589")
+ version("0.3.0", sha256="c205f0618c268c6ed2f8abb869ef6eb83e5339c1336c243ad321a2f2a85195f0")
# https://github.com/pytorch/vision#image-backend
- variant('backend', default='pil', description='Image backend',
- values=('pil', 'accimage', 'png', 'jpeg'), multi=False)
+ variant(
+ "backend",
+ default="pil",
+ description="Image backend",
+ values=("pil", "accimage", "png", "jpeg"),
+ multi=False,
+ )
# https://github.com/pytorch/vision#installation
- depends_on('python@3.7:3.10', when='@0.12:', type=('build', 'link', 'run'))
- depends_on('python@3.6:3.9', when='@0.8.2:0.11', type=('build', 'link', 'run'))
- depends_on('python@3.6:3.8', when='@0.7:0.8.1', type=('build', 'link', 'run'))
- depends_on('python@3.5:3.8', when='@0.6', type=('build', 'link', 'run'))
- depends_on('python@2.7,3.5:3.8', when='@0.5', type=('build', 'link', 'run'))
- depends_on('python@2.7,3.5:3.7', when='@:0.4', type=('build', 'link', 'run'))
-
- depends_on('py-setuptools', type='build')
- depends_on('ninja', type='build')
- depends_on('py-typing-extensions', when='@0.12:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-requests', when='@0.12:', type=('build', 'run'))
- depends_on('py-six', when='@:0.5', type=('build', 'run'))
+ depends_on("python@3.7:3.10", when="@0.12:", type=("build", "link", "run"))
+ depends_on("python@3.6:3.9", when="@0.8.2:0.11", type=("build", "link", "run"))
+ depends_on("python@3.6:3.8", when="@0.7:0.8.1", type=("build", "link", "run"))
+ depends_on("python@3.5:3.8", when="@0.6", type=("build", "link", "run"))
+ depends_on("python@2.7,3.5:3.8", when="@0.5", type=("build", "link", "run"))
+ depends_on("python@2.7,3.5:3.7", when="@:0.4", type=("build", "link", "run"))
+
+ depends_on("py-setuptools", type="build")
+ depends_on("ninja", type="build")
+ depends_on("py-typing-extensions", when="@0.12:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-requests", when="@0.12:", type=("build", "run"))
+ depends_on("py-six", when="@:0.5", type=("build", "run"))
# https://github.com/pytorch/vision#installation
- depends_on('py-torch@master', when='@main', type=('build', 'link', 'run'))
- depends_on('py-torch@1.12.0', when='@0.13.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.11.0', when='@0.12.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.10.2', when='@0.11.3', type=('build', 'link', 'run'))
- depends_on('py-torch@1.10.1', when='@0.11.2', type=('build', 'link', 'run'))
- depends_on('py-torch@1.10.0', when='@0.11.0:0.11.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.9.1', when='@0.10.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.9.0', when='@0.10.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.8.2', when='@0.9.2', type=('build', 'link', 'run'))
- depends_on('py-torch@1.8.1', when='@0.9.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.8.0', when='@0.9.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.7.1', when='@0.8.2', type=('build', 'link', 'run'))
- depends_on('py-torch@1.7.0', when='@0.8.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.7.0', when='@0.8.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.6.0', when='@0.7.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.5.1', when='@0.6.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.5.0', when='@0.6.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.4.1', when='@0.5.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.3.1', when='@0.4.2', type=('build', 'link', 'run'))
- depends_on('py-torch@1.3.0', when='@0.4.1', type=('build', 'link', 'run'))
- depends_on('py-torch@1.2.0', when='@0.4.0', type=('build', 'link', 'run'))
- depends_on('py-torch@1.1.0', when='@0.3.0', type=('build', 'link', 'run'))
- depends_on('py-torch@:1.0.1', when='@0.2.2', type=('build', 'link', 'run'))
+ depends_on("py-torch@master", when="@main", type=("build", "link", "run"))
+ depends_on("py-torch@1.12.0", when="@0.13.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.11.0", when="@0.12.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.10.2", when="@0.11.3", type=("build", "link", "run"))
+ depends_on("py-torch@1.10.1", when="@0.11.2", type=("build", "link", "run"))
+ depends_on("py-torch@1.10.0", when="@0.11.0:0.11.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.9.1", when="@0.10.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.9.0", when="@0.10.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.8.2", when="@0.9.2", type=("build", "link", "run"))
+ depends_on("py-torch@1.8.1", when="@0.9.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.8.0", when="@0.9.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.7.1", when="@0.8.2", type=("build", "link", "run"))
+ depends_on("py-torch@1.7.0", when="@0.8.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.7.0", when="@0.8.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.6.0", when="@0.7.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.5.1", when="@0.6.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.5.0", when="@0.6.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.4.1", when="@0.5.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.3.1", when="@0.4.2", type=("build", "link", "run"))
+ depends_on("py-torch@1.3.0", when="@0.4.1", type=("build", "link", "run"))
+ depends_on("py-torch@1.2.0", when="@0.4.0", type=("build", "link", "run"))
+ depends_on("py-torch@1.1.0", when="@0.3.0", type=("build", "link", "run"))
+ depends_on("py-torch@:1.0.1", when="@0.2.2", type=("build", "link", "run"))
# https://github.com/pytorch/vision/issues/1712
- depends_on('pil@4.1.1:6', when='@:0.4 backend=pil', type=('build', 'run'))
- depends_on('pil@4.1.1:9', when='@0.5: backend=pil', type=('build', 'run'))
+ depends_on("pil@4.1.1:6", when="@:0.4 backend=pil", type=("build", "run"))
+ depends_on("pil@4.1.1:9", when="@0.5: backend=pil", type=("build", "run"))
# https://github.com/pytorch/vision/issues/4146
# https://github.com/pytorch/vision/issues/4934
- depends_on('pil@5.3:8.2,8.4:9', when='@0.10:0.12 backend=pil', type=('build', 'run'))
+ depends_on("pil@5.3:8.2,8.4:9", when="@0.10:0.12 backend=pil", type=("build", "run"))
# https://github.com/pytorch/vision/pull/5898
- depends_on('pil@5.3:8.2,8.4:', when='@0.13: backend=pil', type=('build', 'run'))
- depends_on('py-accimage', when='backend=accimage', type=('build', 'run'))
- depends_on('libpng@1.6.0:', when='backend=png')
- depends_on('jpeg')
+ depends_on("pil@5.3:8.2,8.4:", when="@0.13: backend=pil", type=("build", "run"))
+ depends_on("py-accimage", when="backend=accimage", type=("build", "run"))
+ depends_on("libpng@1.6.0:", when="backend=png")
+ depends_on("jpeg")
# Many of the datasets require additional dependencies to use.
# These can be installed after the fact.
- depends_on('ffmpeg@3.1:', when='@0.4.2:')
+ depends_on("ffmpeg@3.1:", when="@0.4.2:")
- conflicts('backend=png', when='@:0.7')
- conflicts('backend=jpeg', when='@:0.7')
+ conflicts("backend=png", when="@:0.7")
+ conflicts("backend=jpeg", when="@:0.7")
def setup_build_environment(self, env):
include = []
library = []
- for dep in self.spec.dependencies(deptype='link'):
+ for dep in self.spec.dependencies(deptype="link"):
query = self.spec[dep.name]
include.extend(query.headers.directories)
library.extend(query.libs.directories)
@@ -118,23 +123,23 @@ class PyTorchvision(PythonPackage):
# Spack's compiler wrapper and the actual compiler, so this is
# needed to get parts of the build working.
# See https://github.com/pytorch/vision/issues/2591
- env.set('TORCHVISION_INCLUDE', ':'.join(include))
- env.set('TORCHVISION_LIBRARY', ':'.join(library))
- env.set('CPATH', ':'.join(include))
- env.set('LIBRARY_PATH', ':'.join(library))
+ env.set("TORCHVISION_INCLUDE", ":".join(include))
+ env.set("TORCHVISION_LIBRARY", ":".join(library))
+ env.set("CPATH", ":".join(include))
+ env.set("LIBRARY_PATH", ":".join(library))
# By default, version is read from `version.txt`, but this includes an `a0`
# suffix used for alpha builds. Override the version for stable releases.
- if not self.spec.satisfies('@main'):
- env.set('BUILD_VERSION', self.version)
-
- if '+cuda' in self.spec['py-torch']:
- env.set('FORCE_CUDA', 1)
- env.set('CUDA_HOME', self.spec['cuda'].prefix)
- pytorch_cuda_arch = ';'.join(
- '{0:.1f}'.format(float(i) / 10.0) for i in
- self.spec['py-torch'].variants['cuda_arch'].value
+ if not self.spec.satisfies("@main"):
+ env.set("BUILD_VERSION", self.version)
+
+ if "+cuda" in self.spec["py-torch"]:
+ env.set("FORCE_CUDA", 1)
+ env.set("CUDA_HOME", self.spec["cuda"].prefix)
+ pytorch_cuda_arch = ";".join(
+ "{0:.1f}".format(float(i) / 10.0)
+ for i in self.spec["py-torch"].variants["cuda_arch"].value
)
- env.set('TORCH_CUDA_ARCH_LIST', pytorch_cuda_arch)
+ env.set("TORCH_CUDA_ARCH_LIST", pytorch_cuda_arch)
else:
- env.set('FORCE_CUDA', 0)
+ env.set("FORCE_CUDA", 0)
diff --git a/var/spack/repos/builtin/packages/py-tornado/package.py b/var/spack/repos/builtin/packages/py-tornado/package.py
index 65922f6e97..78a76d8de2 100644
--- a/var/spack/repos/builtin/packages/py-tornado/package.py
+++ b/var/spack/repos/builtin/packages/py-tornado/package.py
@@ -13,17 +13,17 @@ class PyTornado(PythonPackage):
homepage = "https://github.com/tornadoweb/tornado"
pypi = "tornado/tornado-6.1.tar.gz"
- version('6.1', sha256='33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791')
- version('6.0.3', sha256='c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9')
- version('5.1.1', sha256='4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409')
- version('4.4', sha256='3176545b6cb2966870db4def4f646da6ab7a0c19400576969c57279a7561ab02')
+ version("6.1", sha256="33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791")
+ version("6.0.3", sha256="c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9")
+ version("5.1.1", sha256="4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409")
+ version("4.4", sha256="3176545b6cb2966870db4def4f646da6ab7a0c19400576969c57279a7561ab02")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('python@3.5.2:', when='@6:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-backports-ssl-match-hostname', when='@:4 ^python@:2.7.8', type=('build', 'run'))
- depends_on('py-singledispatch', when='@:5 ^python@:3.3', type=('build', 'run'))
- depends_on('py-certifi', when='@:4 ^python@:3.3', type=('build', 'run'))
- depends_on('py-backports-abc@0.4:5', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-futures', when='@5:5 ^python@:3.1', type=('build', 'run'))
+ depends_on("python@3.5.2:", when="@6:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-backports-ssl-match-hostname", when="@:4 ^python@:2.7.8", type=("build", "run"))
+ depends_on("py-singledispatch", when="@:5 ^python@:3.3", type=("build", "run"))
+ depends_on("py-certifi", when="@:4 ^python@:3.3", type=("build", "run"))
+ depends_on("py-backports-abc@0.4:5", when="^python@:3.4", type=("build", "run"))
+ depends_on("py-futures", when="@5:5 ^python@:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tox/package.py b/var/spack/repos/builtin/packages/py-tox/package.py
index 61b1407c3b..5dda0a792b 100644
--- a/var/spack/repos/builtin/packages/py-tox/package.py
+++ b/var/spack/repos/builtin/packages/py-tox/package.py
@@ -12,15 +12,15 @@ class PyTox(PythonPackage):
homepage = "https://tox.readthedocs.org/"
pypi = "tox/tox-3.14.2.tar.gz"
- version('3.14.2', sha256='7efd010a98339209f3a8292f02909b51c58417bfc6838ab7eca14cf90f96117a')
+ version("3.14.2", sha256="7efd010a98339209f3a8292f02909b51c58417bfc6838ab7eca14cf90f96117a")
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-importlib-metadata@1.1.0:', when='^python@:3.7', type=('build', 'run'))
- depends_on('py-packaging@14:', type=('build', 'run'))
- depends_on('py-pluggy@0.12.0:0', type=('build', 'run'))
- depends_on('py-py@1.4.17:1', type=('build', 'run'))
- depends_on('py-six@1.0.0:1', type=('build', 'run'))
- depends_on('py-virtualenv@16.0.0:', type=('build', 'run'))
- depends_on('py-toml@0.9.4:', type=('build', 'run'))
- depends_on('py-filelock@3.0.0:3', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-importlib-metadata@1.1.0:", when="^python@:3.7", type=("build", "run"))
+ depends_on("py-packaging@14:", type=("build", "run"))
+ depends_on("py-pluggy@0.12.0:0", type=("build", "run"))
+ depends_on("py-py@1.4.17:1", type=("build", "run"))
+ depends_on("py-six@1.0.0:1", type=("build", "run"))
+ depends_on("py-virtualenv@16.0.0:", type=("build", "run"))
+ depends_on("py-toml@0.9.4:", type=("build", "run"))
+ depends_on("py-filelock@3.0.0:3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tpot/package.py b/var/spack/repos/builtin/packages/py-tpot/package.py
index 6c0c42add6..1e7cf873a3 100644
--- a/var/spack/repos/builtin/packages/py-tpot/package.py
+++ b/var/spack/repos/builtin/packages/py-tpot/package.py
@@ -15,18 +15,18 @@ class PyTpot(PythonPackage):
homepage = "https://epistasislab.github.io/tpot/"
pypi = "tpot/TPOT-0.11.5.tar.gz"
- version('0.11.7', sha256='64ff1845efdec3d9c70b35587f719cc0821722f27d16f542f83bf81f448e3ff1')
- version('0.11.5', sha256='909be08b29165ce48de5e5d2e3fd73fee9aeeaf1030f2e0912ce0f0bd9c3d2f3')
+ version("0.11.7", sha256="64ff1845efdec3d9c70b35587f719cc0821722f27d16f542f83bf81f448e3ff1")
+ version("0.11.5", sha256="909be08b29165ce48de5e5d2e3fd73fee9aeeaf1030f2e0912ce0f0bd9c3d2f3")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-deap@1.2:', type=('build', 'run'))
- depends_on('py-numpy@1.16.3:', type=('build', 'run'))
- depends_on('py-scikit-learn@0.22.0:', type=('build', 'run'))
- depends_on('py-scipy@1.3.1:', type=('build', 'run'))
- depends_on('py-tqdm@4.36.1:', type=('build', 'run'))
- depends_on('py-stopit@1.1.1:', type=('build', 'run'))
- depends_on('py-pandas@0.24.2:', type=('build', 'run'))
- depends_on('py-joblib@0.13.2:', type=('build', 'run'))
- depends_on('py-update-checker@0.16:', type=('build', 'run'))
- depends_on('py-xgboost@1.1.0:', type=('build', 'run'), when='@0.11.7:')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-deap@1.2:", type=("build", "run"))
+ depends_on("py-numpy@1.16.3:", type=("build", "run"))
+ depends_on("py-scikit-learn@0.22.0:", type=("build", "run"))
+ depends_on("py-scipy@1.3.1:", type=("build", "run"))
+ depends_on("py-tqdm@4.36.1:", type=("build", "run"))
+ depends_on("py-stopit@1.1.1:", type=("build", "run"))
+ depends_on("py-pandas@0.24.2:", type=("build", "run"))
+ depends_on("py-joblib@0.13.2:", type=("build", "run"))
+ depends_on("py-update-checker@0.16:", type=("build", "run"))
+ depends_on("py-xgboost@1.1.0:", type=("build", "run"), when="@0.11.7:")
diff --git a/var/spack/repos/builtin/packages/py-tqdm/package.py b/var/spack/repos/builtin/packages/py-tqdm/package.py
index 0bee79eed3..a42a86a02a 100644
--- a/var/spack/repos/builtin/packages/py-tqdm/package.py
+++ b/var/spack/repos/builtin/packages/py-tqdm/package.py
@@ -12,20 +12,20 @@ class PyTqdm(PythonPackage):
homepage = "https://github.com/tqdm/tqdm"
pypi = "tqdm/tqdm-4.45.0.tar.gz"
- version('4.62.3', sha256='d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d')
- version('4.59.0', sha256='d666ae29164da3e517fcf125e41d4fe96e5bb375cd87ff9763f6b38b5592fe33')
- version('4.56.2', sha256='11d544652edbdfc9cc41aa4c8a5c166513e279f3f2d9f1a9e1c89935b51de6ff')
- version('4.46.0', sha256='4733c4a10d0f2a4d098d801464bdaf5240c7dadd2a7fde4ee93b0a0efd9fb25e')
- version('4.45.0', sha256='00339634a22c10a7a22476ee946bbde2dbe48d042ded784e4d88e0236eca5d81')
- version('4.36.1', sha256='abc25d0ce2397d070ef07d8c7e706aede7920da163c64997585d42d3537ece3d')
- version('4.8.4', sha256='bab05f8bb6efd2702ab6c532e5e6a758a66c0d2f443e09784b73e4066e6b3a37')
+ version("4.62.3", sha256="d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d")
+ version("4.59.0", sha256="d666ae29164da3e517fcf125e41d4fe96e5bb375cd87ff9763f6b38b5592fe33")
+ version("4.56.2", sha256="11d544652edbdfc9cc41aa4c8a5c166513e279f3f2d9f1a9e1c89935b51de6ff")
+ version("4.46.0", sha256="4733c4a10d0f2a4d098d801464bdaf5240c7dadd2a7fde4ee93b0a0efd9fb25e")
+ version("4.45.0", sha256="00339634a22c10a7a22476ee946bbde2dbe48d042ded784e4d88e0236eca5d81")
+ version("4.36.1", sha256="abc25d0ce2397d070ef07d8c7e706aede7920da163c64997585d42d3537ece3d")
+ version("4.8.4", sha256="bab05f8bb6efd2702ab6c532e5e6a758a66c0d2f443e09784b73e4066e6b3a37")
- variant('telegram', default=False, description='Enable Telegram bot support')
- variant('notebook', default=False, description='Enable Jupyter Notebook support')
+ variant("telegram", default=False, description="Enable Telegram bot support")
+ variant("notebook", default=False, description="Enable Jupyter Notebook support")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type=('build', 'run'))
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type=("build", "run"))
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
# depends_on('py-colorama', type=('build', 'run'), when='platform=windows')
- depends_on('py-requests', when='+telegram', type=('build', 'run'))
- depends_on('py-ipywidgets@6:', when='+notebook', type=('build', 'run'))
+ depends_on("py-requests", when="+telegram", type=("build", "run"))
+ depends_on("py-ipywidgets@6:", when="+notebook", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-traceback2/package.py b/var/spack/repos/builtin/packages/py-traceback2/package.py
index 952f5c2ce4..6d0a53f8a1 100644
--- a/var/spack/repos/builtin/packages/py-traceback2/package.py
+++ b/var/spack/repos/builtin/packages/py-traceback2/package.py
@@ -12,9 +12,9 @@ class PyTraceback2(PythonPackage):
homepage = "https://github.com/testing-cabal/traceback2"
pypi = "traceback2/traceback2-1.4.0.tar.gz"
- version('1.4.0', sha256='05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030')
+ version("1.4.0", sha256="05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030")
- depends_on('py-setuptools', type='build')
- depends_on('py-pbr', type='build')
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-linecache2', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pbr", type="build")
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-linecache2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-traitlets/package.py b/var/spack/repos/builtin/packages/py-traitlets/package.py
index e4584fe75d..e8117993d4 100644
--- a/var/spack/repos/builtin/packages/py-traitlets/package.py
+++ b/var/spack/repos/builtin/packages/py-traitlets/package.py
@@ -11,24 +11,24 @@ class PyTraitlets(PythonPackage):
pypi = "traitlets/traitlets-5.0.4.tar.gz"
- version('5.3.0', sha256='0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2')
- version('5.1.1', sha256='059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7')
- version('5.0.4', sha256='86c9351f94f95de9db8a04ad8e892da299a088a64fd283f9f6f18770ae5eae1b')
- version('4.3.3', sha256='d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7')
- version('4.3.2', sha256='9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835')
- version('4.3.1', sha256='ba8c94323ccbe8fd792e45d8efe8c95d3e0744cc8c085295b607552ab573724c')
- version('4.3.0', sha256='8a33cb7b1ef47f2d6dc16e9cf971217d5a4882a3541c070e78a0e8e8edcb3f82')
- version('4.2.2', sha256='7d7e3070484b2fe490fa55e0acf7023afc5ed9ddabec57405f25c355158e152a')
- version('4.2.1', sha256='76eba33c89723b8fc024f950cacaf5bf2ef37999642cc9a61f4e7c1ca5cf0ac0')
- version('4.2.0', sha256='e4c39210f2f2ff7361b86043b6512adbcf6f024b44b501f7b42fd9a23402dea9')
- version('4.1.0', sha256='440e38dfa5d2a26c086d4b427cfb7aed17d0a2dca78bce90c33354da2592af5b')
- version('4.0.0', sha256='0b140b4a94a4f1951887d9bce4650da211f79600fc9fdb422acc90c5bbe0233b')
+ version("5.3.0", sha256="0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2")
+ version("5.1.1", sha256="059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7")
+ version("5.0.4", sha256="86c9351f94f95de9db8a04ad8e892da299a088a64fd283f9f6f18770ae5eae1b")
+ version("4.3.3", sha256="d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7")
+ version("4.3.2", sha256="9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835")
+ version("4.3.1", sha256="ba8c94323ccbe8fd792e45d8efe8c95d3e0744cc8c085295b607552ab573724c")
+ version("4.3.0", sha256="8a33cb7b1ef47f2d6dc16e9cf971217d5a4882a3541c070e78a0e8e8edcb3f82")
+ version("4.2.2", sha256="7d7e3070484b2fe490fa55e0acf7023afc5ed9ddabec57405f25c355158e152a")
+ version("4.2.1", sha256="76eba33c89723b8fc024f950cacaf5bf2ef37999642cc9a61f4e7c1ca5cf0ac0")
+ version("4.2.0", sha256="e4c39210f2f2ff7361b86043b6512adbcf6f024b44b501f7b42fd9a23402dea9")
+ version("4.1.0", sha256="440e38dfa5d2a26c086d4b427cfb7aed17d0a2dca78bce90c33354da2592af5b")
+ version("4.0.0", sha256="0b140b4a94a4f1951887d9bce4650da211f79600fc9fdb422acc90c5bbe0233b")
- depends_on('python@3.7:', when='@5:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-hatchling@0.25:', when='@5.2.1.post0:', type='build')
- depends_on('py-setuptools@40.8:', when='@:5.2.1.a', type='build')
- depends_on('py-ipython-genutils', when='@:5.0', type=('build', 'run'))
- depends_on('py-six', when='@:4', type=('build', 'run'))
- depends_on('py-decorator', when='@:4', type=('build', 'run'))
- depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
+ depends_on("python@3.7:", when="@5:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-hatchling@0.25:", when="@5.2.1.post0:", type="build")
+ depends_on("py-setuptools@40.8:", when="@:5.2.1.a", type="build")
+ depends_on("py-ipython-genutils", when="@:5.0", type=("build", "run"))
+ depends_on("py-six", when="@:4", type=("build", "run"))
+ depends_on("py-decorator", when="@:4", type=("build", "run"))
+ depends_on("py-enum34", when="^python@:3.3", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-traits/package.py b/var/spack/repos/builtin/packages/py-traits/package.py
index 9c6978178a..969227fbb7 100644
--- a/var/spack/repos/builtin/packages/py-traits/package.py
+++ b/var/spack/repos/builtin/packages/py-traits/package.py
@@ -13,10 +13,10 @@ class PyTraits(PythonPackage):
homepage = "https://docs.enthought.com/traits"
pypi = "traits/traits-6.0.0.tar.gz"
- version('6.3.1', sha256='ebdd9b067a262045840a85e3ff34e1567ce4e9b6548c716cdcc82b5884ed9100')
- version('6.2.0', sha256='16fa1518b0778fd53bf0547e6a562b1787bf68c8f6b7995a13bd1902529fdb0c')
- version('6.0.0', sha256='dbcd70166feca434130a1193284d5819ca72ffbc8dbce8deeecc0cebb41a3bfb')
+ version("6.3.1", sha256="ebdd9b067a262045840a85e3ff34e1567ce4e9b6548c716cdcc82b5884ed9100")
+ version("6.2.0", sha256="16fa1518b0778fd53bf0547e6a562b1787bf68c8f6b7995a13bd1902529fdb0c")
+ version("6.0.0", sha256="dbcd70166feca434130a1193284d5819ca72ffbc8dbce8deeecc0cebb41a3bfb")
- depends_on('python@3.6:', type=('build', 'run'), when='@6.2.0:')
- depends_on('python@3.5:', type=('build', 'run'), when='@:6.1')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"), when="@6.2.0:")
+ depends_on("python@3.5:", type=("build", "run"), when="@:6.1")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-traitsui/package.py b/var/spack/repos/builtin/packages/py-traitsui/package.py
index 53882e16f8..c2b014d433 100644
--- a/var/spack/repos/builtin/packages/py-traitsui/package.py
+++ b/var/spack/repos/builtin/packages/py-traitsui/package.py
@@ -18,41 +18,46 @@ class PyTraitsui(PythonPackage):
homepage = "https://docs.enthought.com/traitsui"
pypi = "traitsui/traitsui-6.1.3.tar.gz"
- version('7.2.1', sha256='dfc39015faf0591f9927e3d4d22bd95a16d49c85db30e60acd4ba7b85c7c5d5b')
- version('6.1.3', sha256='48381763b181efc58eaf288431d1d92d028d0d97dfdd33eba7809aae8aef814f')
-
- variant('backend', default='pyqt5', description='Default backend',
- values=('wx', 'pyqt', 'pyqt5', 'pyside', 'pyside2'), multi=False)
-
- depends_on('python@3.6:', when='@7.2:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('py-traits@6.2:', when='@7.3:', type=('build', 'run'))
- depends_on('py-traits@6.1:', when='@7.2:', type=('build', 'run'))
- depends_on('py-traits@6:', when='@7.1:', type=('build', 'run'))
- depends_on('py-traits', type=('build', 'run'))
- depends_on('py-pyface@7.3:', when='@7.3:', type=('build', 'run'))
- depends_on('py-pyface@7.1:', when='@7.1:', type=('build', 'run'))
- depends_on('py-pyface@6:', type=('build', 'run'))
- depends_on('py-six', when='@:6', type=('build', 'run'))
-
- conflicts('backend=pyside', when='@7.1:')
- conflicts('backend=pyside2', when='@:7.0')
+ version("7.2.1", sha256="dfc39015faf0591f9927e3d4d22bd95a16d49c85db30e60acd4ba7b85c7c5d5b")
+ version("6.1.3", sha256="48381763b181efc58eaf288431d1d92d028d0d97dfdd33eba7809aae8aef814f")
+
+ variant(
+ "backend",
+ default="pyqt5",
+ description="Default backend",
+ values=("wx", "pyqt", "pyqt5", "pyside", "pyside2"),
+ multi=False,
+ )
+
+ depends_on("python@3.6:", when="@7.2:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-traits@6.2:", when="@7.3:", type=("build", "run"))
+ depends_on("py-traits@6.1:", when="@7.2:", type=("build", "run"))
+ depends_on("py-traits@6:", when="@7.1:", type=("build", "run"))
+ depends_on("py-traits", type=("build", "run"))
+ depends_on("py-pyface@7.3:", when="@7.3:", type=("build", "run"))
+ depends_on("py-pyface@7.1:", when="@7.1:", type=("build", "run"))
+ depends_on("py-pyface@6:", type=("build", "run"))
+ depends_on("py-six", when="@:6", type=("build", "run"))
+
+ conflicts("backend=pyside", when="@7.1:")
+ conflicts("backend=pyside2", when="@:7.0")
# Backends
- with when('backend=wx'):
- depends_on('py-wxpython@4:', when='@7:', type=('build', 'run'))
- depends_on('py-wxpython@2.8.10:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- with when('backend=pyqt'):
- depends_on('py-pyqt4@4.10:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyqt5'):
- depends_on('py-pyqt5@5:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyside'):
- depends_on('py-pyside@1.2:', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- with when('backend=pyside2'):
- depends_on('py-pyside2', type=('build', 'run'))
- depends_on('py-shiboken2', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
+ with when("backend=wx"):
+ depends_on("py-wxpython@4:", when="@7:", type=("build", "run"))
+ depends_on("py-wxpython@2.8.10:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ with when("backend=pyqt"):
+ depends_on("py-pyqt4@4.10:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyqt5"):
+ depends_on("py-pyqt5@5:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyside"):
+ depends_on("py-pyside@1.2:", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ with when("backend=pyside2"):
+ depends_on("py-pyside2", type=("build", "run"))
+ depends_on("py-shiboken2", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-transformers/package.py b/var/spack/repos/builtin/packages/py-transformers/package.py
index f90397b56c..b0e3fbd1fd 100644
--- a/var/spack/repos/builtin/packages/py-transformers/package.py
+++ b/var/spack/repos/builtin/packages/py-transformers/package.py
@@ -14,26 +14,26 @@ class PyTransformers(PythonPackage):
homepage = "https://github.com/huggingface/transformers"
pypi = "transformers/transformers-2.8.0.tar.gz"
- maintainers = ['adamjstewart']
-
- version('4.6.1', sha256='83dbff763b7e7dc57cbef1a6b849655d4fcab6bffdd955c5e8bea12a4f76dc10')
- version('2.8.0', sha256='b9f29cdfd39c28f29e0806c321270dea337d6174a7aa60daf9625bf83dbb12ee')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
-
- depends_on('py-dataclasses', when='^python@:3.6', type=('build', 'run'))
- depends_on('py-importlib-metadata', when='@4.6.1: ^python@:3.7', type=('build', 'run'))
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-huggingface-hub@0.0.8', when='@4.6.1:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@4.6.1:', type=('build', 'run'))
- depends_on('py-packaging', when='@4.6.1:', type=('build', 'run'))
- depends_on('py-regex@:2019.12.16,2019.12.18:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-sacremoses', type=('build', 'run'))
- depends_on('py-tokenizers@0.5.2', when='@2.8.0', type=('build', 'run'))
- depends_on('py-tokenizers@0.10.1:0.10', when='@4.6.1:', type=('build', 'run'))
- depends_on('py-tqdm@4.27:', type=('build', 'run'))
- depends_on('py-boto3', when='@2.8.0', type=('build', 'run'))
- depends_on('py-sentencepiece', when='@2.8.0', type=('build', 'run'))
+ maintainers = ["adamjstewart"]
+
+ version("4.6.1", sha256="83dbff763b7e7dc57cbef1a6b849655d4fcab6bffdd955c5e8bea12a4f76dc10")
+ version("2.8.0", sha256="b9f29cdfd39c28f29e0806c321270dea337d6174a7aa60daf9625bf83dbb12ee")
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-dataclasses", when="^python@:3.6", type=("build", "run"))
+ depends_on("py-importlib-metadata", when="@4.6.1: ^python@:3.7", type=("build", "run"))
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-huggingface-hub@0.0.8", when="@4.6.1:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@4.6.1:", type=("build", "run"))
+ depends_on("py-packaging", when="@4.6.1:", type=("build", "run"))
+ depends_on("py-regex@:2019.12.16,2019.12.18:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-sacremoses", type=("build", "run"))
+ depends_on("py-tokenizers@0.5.2", when="@2.8.0", type=("build", "run"))
+ depends_on("py-tokenizers@0.10.1:0.10", when="@4.6.1:", type=("build", "run"))
+ depends_on("py-tqdm@4.27:", type=("build", "run"))
+ depends_on("py-boto3", when="@2.8.0", type=("build", "run"))
+ depends_on("py-sentencepiece", when="@2.8.0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-transforms3d/package.py b/var/spack/repos/builtin/packages/py-transforms3d/package.py
index 71dc2e2aab..a58598df38 100644
--- a/var/spack/repos/builtin/packages/py-transforms3d/package.py
+++ b/var/spack/repos/builtin/packages/py-transforms3d/package.py
@@ -10,10 +10,10 @@ class PyTransforms3d(PythonPackage):
"""Functions for 3D coordinate transformations."""
homepage = "https://github.com/matthew-brett/transforms3d"
- pypi = "transforms3d/transforms3d-0.3.1.tar.gz"
+ pypi = "transforms3d/transforms3d-0.3.1.tar.gz"
- version('0.3.1', sha256='404c7797c78aa461cb8043081901fc5517cef342d5ff56becd74a7967ba88d78')
+ version("0.3.1", sha256="404c7797c78aa461cb8043081901fc5517cef342d5ff56becd74a7967ba88d78")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.5.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-treehash/package.py b/var/spack/repos/builtin/packages/py-treehash/package.py
index 6481caa29f..ac853d8871 100644
--- a/var/spack/repos/builtin/packages/py-treehash/package.py
+++ b/var/spack/repos/builtin/packages/py-treehash/package.py
@@ -13,7 +13,7 @@ class PyTreehash(PythonPackage):
homepage = "https://github.com/jdswinbank/treehash"
pypi = "treehash/TreeHash-1.0.2.tar.gz"
- version('1.0.2', sha256='fefcadd6a1e8ba2808897d776d5ae8bdae56ec3fe90ed385c1322357269f27a4')
+ version("1.0.2", sha256="fefcadd6a1e8ba2808897d776d5ae8bdae56ec3fe90ed385c1322357269f27a4")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-triangle/package.py b/var/spack/repos/builtin/packages/py-triangle/package.py
index a44b18582c..ded7e0b925 100644
--- a/var/spack/repos/builtin/packages/py-triangle/package.py
+++ b/var/spack/repos/builtin/packages/py-triangle/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class PyTriangle(PythonPackage):
"""Python bindings to the triangle library"""
- homepage = 'https://github.com/drufat/triangle'
- pypi = 'triangle/triangle-20200424.tar.gz'
+ homepage = "https://github.com/drufat/triangle"
+ pypi = "triangle/triangle-20200424.tar.gz"
- version('20200424', sha256='fc207641f8f39986f7d2bee1b91688a588cd235d2e67777422f94e61fece27e9')
+ version("20200424", sha256="fc207641f8f39986f7d2bee1b91688a588cd235d2e67777422f94e61fece27e9")
- depends_on('py-setuptools', type='build')
- depends_on('triangle', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython', type=('build'))
+ depends_on("py-setuptools", type="build")
+ depends_on("triangle", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython", type=("build"))
diff --git a/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py b/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py
index 23b27b25f0..401e24dfa4 100644
--- a/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py
@@ -10,11 +10,11 @@ class PyTrojanzooSphinxTheme(PythonPackage):
"""TrojanZoo Sphinx Theme"""
homepage = "https://github.com/ain-soph/trojanzoo_sphinx_theme"
- pypi = "trojanzoo_sphinx_theme/trojanzoo_sphinx_theme-0.1.0.tar.gz"
+ pypi = "trojanzoo_sphinx_theme/trojanzoo_sphinx_theme-0.1.0.tar.gz"
- version('0.1.0', sha256='7b80d70ec84279156dcb9668d3a8a135be1d0d54e20f554fc03ad22d9ff5e7b3')
+ version("0.1.0", sha256="7b80d70ec84279156dcb9668d3a8a135be1d0d54e20f554fc03ad22d9ff5e7b3")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools@40.9:', type='build')
- depends_on('py-sphinx@4.2:', type=('build', 'run'))
- depends_on('py-docutils@0.17.1:', type=('build', 'run'))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools@40.9:", type="build")
+ depends_on("py-sphinx@4.2:", type=("build", "run"))
+ depends_on("py-docutils@0.17.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-tuiview/package.py b/var/spack/repos/builtin/packages/py-tuiview/package.py
index 42d854e5ac..444ed8be9e 100644
--- a/var/spack/repos/builtin/packages/py-tuiview/package.py
+++ b/var/spack/repos/builtin/packages/py-tuiview/package.py
@@ -12,14 +12,14 @@ class PyTuiview(PythonPackage):
"""
homepage = "https://github.com/ubarsc/tuiview"
- url = "https://github.com/ubarsc/tuiview/releases/download/tuiview-1.2.6/tuiview-1.2.6.tar.gz"
+ url = "https://github.com/ubarsc/tuiview/releases/download/tuiview-1.2.6/tuiview-1.2.6.tar.gz"
- version('1.2.6', sha256='61b136fa31c949d7a7a4dbf8562e6fc677d5b1845b152ec39e337f4eb2e91662')
- version('1.1.7', sha256='fbf0bf29cc775357dad4f8a2f0c2ffa98bbf69d603a96353e75b321adef67573')
+ version("1.2.6", sha256="61b136fa31c949d7a7a4dbf8562e6fc677d5b1845b152ec39e337f4eb2e91662")
+ version("1.1.7", sha256="fbf0bf29cc775357dad4f8a2f0c2ffa98bbf69d603a96353e75b321adef67573")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on("py-pyqt4", type=('build', 'run'), when='@:1.1')
- depends_on("py-pyqt5", type=('build', 'run'), when='@1.2.0:')
- depends_on("py-numpy", type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyqt4", type=("build", "run"), when="@:1.1")
+ depends_on("py-pyqt5", type=("build", "run"), when="@1.2.0:")
+ depends_on("py-numpy", type=("build", "run"))
depends_on("gdal@1.11.0:+python")
diff --git a/var/spack/repos/builtin/packages/py-tweedledum/package.py b/var/spack/repos/builtin/packages/py-tweedledum/package.py
index 385c6a2e3d..bf4e90730f 100644
--- a/var/spack/repos/builtin/packages/py-tweedledum/package.py
+++ b/var/spack/repos/builtin/packages/py-tweedledum/package.py
@@ -15,14 +15,14 @@ class PyTweedledum(PythonPackage):
and alongside established tools."""
homepage = "https://github.com/boschmitt/tweedledum"
- pypi = 'tweedledum/tweedledum-1.1.1.tar.gz'
+ pypi = "tweedledum/tweedledum-1.1.1.tar.gz"
- version('1.1.1', sha256='58d6f7a988b10c31be3faa1faf3e58288ef7e8159584bfa6ded45742f390309f')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-scikit-build@0.12:', type='build')
- depends_on('py-cmake@3.18:', type='build')
- depends_on('py-ninja', type='build')
- depends_on('py-wheel', type='build')
- depends_on('eigen@3.3:')
- depends_on('nlohmann-json@3.9.0:')
+ version("1.1.1", sha256="58d6f7a988b10c31be3faa1faf3e58288ef7e8159584bfa6ded45742f390309f")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-scikit-build@0.12:", type="build")
+ depends_on("py-cmake@3.18:", type="build")
+ depends_on("py-ninja", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("eigen@3.3:")
+ depends_on("nlohmann-json@3.9.0:")
diff --git a/var/spack/repos/builtin/packages/py-twine/package.py b/var/spack/repos/builtin/packages/py-twine/package.py
index 972f65f7c4..d02453157a 100644
--- a/var/spack/repos/builtin/packages/py-twine/package.py
+++ b/var/spack/repos/builtin/packages/py-twine/package.py
@@ -12,11 +12,11 @@ class PyTwine(PythonPackage):
homepage = "https://twine.readthedocs.io/"
pypi = "twine/twine-2.0.0.tar.gz"
- version('2.0.0', sha256='9fe7091715c7576df166df8ef6654e61bada39571783f2fd415bdcba867c6993')
+ version("2.0.0", sha256="9fe7091715c7576df166df8ef6654e61bada39571783f2fd415bdcba867c6993")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-pkginfo@1.4.2:', type=('build', 'run'))
- depends_on('py-readme-renderer@21.0:', type=('build', 'run'))
- depends_on('py-requests-toolbelt@0.8.0:0.8,0.9.1:', type=('build', 'run'))
- depends_on('py-setuptools@0.7.0:', type=('build', 'run'))
- depends_on('py-tqdm@4.14:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-pkginfo@1.4.2:", type=("build", "run"))
+ depends_on("py-readme-renderer@21.0:", type=("build", "run"))
+ depends_on("py-requests-toolbelt@0.8.0:0.8,0.9.1:", type=("build", "run"))
+ depends_on("py-setuptools@0.7.0:", type=("build", "run"))
+ depends_on("py-tqdm@4.14:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-twisted/package.py b/var/spack/repos/builtin/packages/py-twisted/package.py
index 9fcd5c933b..6df8cacf57 100644
--- a/var/spack/repos/builtin/packages/py-twisted/package.py
+++ b/var/spack/repos/builtin/packages/py-twisted/package.py
@@ -8,93 +8,96 @@ from spack.package import *
class PyTwisted(PythonPackage):
"""An asynchronous networking framework written in Python"""
+
homepage = "https://twistedmatrix.com/"
pypi = "Twisted/Twisted-21.7.0.tar.gz"
- version('21.7.0', sha256='2cd652542463277378b0d349f47c62f20d9306e57d1247baabd6d1d38a109006')
- version('15.4.0', sha256='78862662fa9ae29654bc2b9d349c3f1d887e6b2ed978512c4442d53ea861f05c')
- version('15.3.0', sha256='025729751cf898842262375a40f70ae1d246daea88369eab9f6bb96e528bf285')
+ version("21.7.0", sha256="2cd652542463277378b0d349f47c62f20d9306e57d1247baabd6d1d38a109006")
+ version("15.4.0", sha256="78862662fa9ae29654bc2b9d349c3f1d887e6b2ed978512c4442d53ea861f05c")
+ version("15.3.0", sha256="025729751cf898842262375a40f70ae1d246daea88369eab9f6bb96e528bf285")
- depends_on('python@3.6.7:', type=('build', 'run'), when='@21.7.0:')
+ depends_on("python@3.6.7:", type=("build", "run"), when="@21.7.0:")
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@35.0.2:', type='build', when='@21.7.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@35.0.2:", type="build", when="@21.7.0:")
- depends_on('py-zope-interface@3.6.0:', type=('build', 'run'), when='^python@:2')
- depends_on('py-zope-interface@4.0.2:', type=('build', 'run'), when='^python@3:')
- depends_on('py-zope-interface@4.4.2:', type=('build', 'run'), when='@21.7.0:')
+ depends_on("py-zope-interface@3.6.0:", type=("build", "run"), when="^python@:2")
+ depends_on("py-zope-interface@4.0.2:", type=("build", "run"), when="^python@3:")
+ depends_on("py-zope-interface@4.4.2:", type=("build", "run"), when="@21.7.0:")
- depends_on('py-incremental@21.3.0:', type=('build', 'run'), when='@21.7.0:')
- depends_on('py-constantly@15.1:', type=('build', 'run'), when='@21.7.0:')
- depends_on('py-automat@0.8.0:', type=('build', 'run'), when='@21.7.0:')
- depends_on('py-hyperlink@17.1.1:', type=('build', 'run'), when='@21.7.0:')
- depends_on('py-attrs@19.2.0:', type=('build', 'run'), when='@21.7.0:')
- depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@21.7.0:')
+ depends_on("py-incremental@21.3.0:", type=("build", "run"), when="@21.7.0:")
+ depends_on("py-constantly@15.1:", type=("build", "run"), when="@21.7.0:")
+ depends_on("py-automat@0.8.0:", type=("build", "run"), when="@21.7.0:")
+ depends_on("py-hyperlink@17.1.1:", type=("build", "run"), when="@21.7.0:")
+ depends_on("py-attrs@19.2.0:", type=("build", "run"), when="@21.7.0:")
+ depends_on("py-typing-extensions@3.6.5:", type=("build", "run"), when="@21.7.0:")
def url_for_version(self, version):
url = "https://pypi.io/packages/source/T/Twisted/"
- if version <= Version('20.3.0'):
- url += 'Twisted-{0}.tar.bz2'
+ if version <= Version("20.3.0"):
+ url += "Twisted-{0}.tar.bz2"
else:
- url += 'Twisted-{0}.tar.gz'
+ url += "Twisted-{0}.tar.gz"
url = url.format(version)
return url
@property
def import_modules(self):
- modules = ['twisted',
- 'twisted.positioning',
- 'twisted.positioning.test',
- 'twisted.protocols',
- 'twisted.protocols.test',
- 'twisted.protocols.haproxy',
- 'twisted.protocols.haproxy.test',
- 'twisted.web',
- 'twisted.web._auth',
- 'twisted.web.test',
- 'twisted.scripts',
- 'twisted.scripts.test',
- 'twisted.runner',
- 'twisted.runner.test',
- 'twisted.cred',
- 'twisted.cred.test',
- 'twisted.plugins',
- 'twisted.enterprise',
- 'twisted.logger',
- 'twisted.logger.test',
- 'twisted.persisted',
- 'twisted.persisted.test',
- 'twisted.names',
- 'twisted.names.test',
- 'twisted.pair',
- 'twisted.pair.test',
- 'twisted.test',
- 'twisted.tap',
- 'twisted.python',
- 'twisted.python.test',
- 'twisted.trial',
- 'twisted.trial._dist',
- 'twisted.trial._dist.test',
- 'twisted.trial.test',
- 'twisted.words',
- 'twisted.words.protocols',
- 'twisted.words.protocols.jabber',
- 'twisted.words.im',
- 'twisted.words.test',
- 'twisted.words.xish',
- 'twisted.spread',
- 'twisted.spread.test',
- 'twisted.conch',
- 'twisted.conch.scripts',
- 'twisted.conch.ui',
- 'twisted.conch.client',
- 'twisted.conch.openssh_compat',
- 'twisted.conch.test',
- 'twisted.conch.insults',
- 'twisted.conch.ssh',
- 'twisted.internet',
- 'twisted.internet.test']
+ modules = [
+ "twisted",
+ "twisted.positioning",
+ "twisted.positioning.test",
+ "twisted.protocols",
+ "twisted.protocols.test",
+ "twisted.protocols.haproxy",
+ "twisted.protocols.haproxy.test",
+ "twisted.web",
+ "twisted.web._auth",
+ "twisted.web.test",
+ "twisted.scripts",
+ "twisted.scripts.test",
+ "twisted.runner",
+ "twisted.runner.test",
+ "twisted.cred",
+ "twisted.cred.test",
+ "twisted.plugins",
+ "twisted.enterprise",
+ "twisted.logger",
+ "twisted.logger.test",
+ "twisted.persisted",
+ "twisted.persisted.test",
+ "twisted.names",
+ "twisted.names.test",
+ "twisted.pair",
+ "twisted.pair.test",
+ "twisted.test",
+ "twisted.tap",
+ "twisted.python",
+ "twisted.python.test",
+ "twisted.trial",
+ "twisted.trial._dist",
+ "twisted.trial._dist.test",
+ "twisted.trial.test",
+ "twisted.words",
+ "twisted.words.protocols",
+ "twisted.words.protocols.jabber",
+ "twisted.words.im",
+ "twisted.words.test",
+ "twisted.words.xish",
+ "twisted.spread",
+ "twisted.spread.test",
+ "twisted.conch",
+ "twisted.conch.scripts",
+ "twisted.conch.ui",
+ "twisted.conch.client",
+ "twisted.conch.openssh_compat",
+ "twisted.conch.test",
+ "twisted.conch.insults",
+ "twisted.conch.ssh",
+ "twisted.internet",
+ "twisted.internet.test",
+ ]
return modules
diff --git a/var/spack/repos/builtin/packages/py-typed-ast/package.py b/var/spack/repos/builtin/packages/py-typed-ast/package.py
index 90f0c41ad7..af355877e0 100644
--- a/var/spack/repos/builtin/packages/py-typed-ast/package.py
+++ b/var/spack/repos/builtin/packages/py-typed-ast/package.py
@@ -12,13 +12,16 @@ class PyTypedAst(PythonPackage):
homepage = "https://github.com/python/typed_ast"
pypi = "typed-ast/typed_ast-1.4.0.tar.gz"
- version('1.4.3', sha256='fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65')
- version('1.4.2', sha256='9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a')
- version('1.4.1', sha256='8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b')
- version('1.4.0', sha256='66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34')
- version('1.3.5', sha256='5315f4509c1476718a4825f45a203b82d7fdf2a6f5f0c8f166435975b1c9f7d4',
- url='https://files.pythonhosted.org/packages/source/t/typed-ast/typed-ast-1.3.5.tar.gz')
+ version("1.4.3", sha256="fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65")
+ version("1.4.2", sha256="9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a")
+ version("1.4.1", sha256="8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b")
+ version("1.4.0", sha256="66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34")
+ version(
+ "1.3.5",
+ sha256="5315f4509c1476718a4825f45a203b82d7fdf2a6f5f0c8f166435975b1c9f7d4",
+ url="https://files.pythonhosted.org/packages/source/t/typed-ast/typed-ast-1.3.5.tar.gz",
+ )
- depends_on('python@3.3:', type=('build', 'link', 'run'))
- depends_on('python@:3.8', when="@:1.4.0") # build errors with 3.9 until 1.4.1
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.3:", type=("build", "link", "run"))
+ depends_on("python@:3.8", when="@:1.4.0") # build errors with 3.9 until 1.4.1
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-typeguard/package.py b/var/spack/repos/builtin/packages/py-typeguard/package.py
index 5bea6c2d5b..b2f4a88fb5 100644
--- a/var/spack/repos/builtin/packages/py-typeguard/package.py
+++ b/var/spack/repos/builtin/packages/py-typeguard/package.py
@@ -13,10 +13,10 @@ class PyTypeguard(PythonPackage):
"""
homepage = "https://github.com/agronholm/typeguard"
- pypi = "typeguard/typeguard-2.12.1.tar.gz"
+ pypi = "typeguard/typeguard-2.12.1.tar.gz"
- version('2.12.1', sha256='c2af8b9bdd7657f4bd27b45336e7930171aead796711bc4cfc99b4731bb9d051')
+ version("2.12.1", sha256="c2af8b9bdd7657f4bd27b45336e7930171aead796711bc4cfc99b4731bb9d051")
- depends_on('python@3.5.3:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("python@3.5.3:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-typesentry/package.py b/var/spack/repos/builtin/packages/py-typesentry/package.py
index a8e3eb15f8..213ac09a9a 100644
--- a/var/spack/repos/builtin/packages/py-typesentry/package.py
+++ b/var/spack/repos/builtin/packages/py-typesentry/package.py
@@ -8,14 +8,13 @@ from spack.package import *
class PyTypesentry(PythonPackage):
- """Python library for run-time type checking for type-annotated functions.
- """
+ """Python library for run-time type checking for type-annotated functions."""
homepage = "https://github.com/h2oai/typesentry"
git = "https://github.com/h2oai/typesentry.git"
# See the git history of __version__.py for versioning information
- version('0.2.7', commit='0ca8ed0e62d15ffe430545e7648c9a9b2547b49c')
+ version("0.2.7", commit="0ca8ed0e62d15ffe430545e7648c9a9b2547b49c")
- depends_on('py-setuptools', type='build')
- depends_on('py-colorama@0.3.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-colorama@0.3.0:", type=("build", "run"))
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 17b99fcd4f..4f6418bb0e 100644
--- a/var/spack/repos/builtin/packages/py-typing-extensions/package.py
+++ b/var/spack/repos/builtin/packages/py-typing-extensions/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class PyTypingExtensions(PythonPackage):
"""The typing_extensions module contains both backports of these
- changes as well as experimental types that will eventually be
- added to the typing module, such as Protocol (see PEP 544 for
- details about protocols and static duck typing)."""
+ changes as well as experimental types that will eventually be
+ added to the typing module, such as Protocol (see PEP 544 for
+ details about protocols and static duck typing)."""
homepage = "https://github.com/python/typing/tree/master/typing_extensions"
pypi = "typing_extensions/typing_extensions-3.7.4.tar.gz"
- version('4.3.0', sha256='e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6')
- version('4.2.0', sha256='f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376')
- version('4.1.1', sha256='1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42')
- version('3.10.0.2', sha256='49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e')
- 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')
+ version("4.3.0", sha256="e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6")
+ version("4.2.0", sha256="f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376")
+ version("4.1.1", sha256="1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42")
+ version("3.10.0.2", sha256="49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e")
+ 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")
# typing-extensions 4+ uses flit
- depends_on('python@3.7:', when='@4.2:', type=('build', 'run'))
- depends_on('python@3.6:', when='@4:', type=('build', 'run'))
- depends_on('py-flit-core@3.4:3', when='@4:', type='build')
+ depends_on("python@3.7:", when="@4.2:", type=("build", "run"))
+ depends_on("python@3.6:", when="@4:", type=("build", "run"))
+ depends_on("py-flit-core@3.4:3", when="@4:", type="build")
# typing-extensions 3 uses setuptools
- depends_on('python@2.7:2.8,3.4:', when='@:3', type=('build', 'run'))
- depends_on('py-setuptools', when='@:3', type='build')
- depends_on('py-typing@3.7.4:', when='@3.7:3 ^python@:3.4', type=('build', 'run'))
- depends_on('py-typing@3.6.2:', when='@:3.6 ^python@:3.4', type=('build', 'run'))
+ depends_on("python@2.7:2.8,3.4:", when="@:3", type=("build", "run"))
+ depends_on("py-setuptools", when="@:3", type="build")
+ depends_on("py-typing@3.7.4:", when="@3.7:3 ^python@:3.4", type=("build", "run"))
+ depends_on("py-typing@3.6.2:", when="@:3.6 ^python@:3.4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-typing/package.py b/var/spack/repos/builtin/packages/py-typing/package.py
index 9bcc1d7968..b9b98ccb98 100644
--- a/var/spack/repos/builtin/packages/py-typing/package.py
+++ b/var/spack/repos/builtin/packages/py-typing/package.py
@@ -13,15 +13,15 @@ class PyTyping(PythonPackage):
homepage = "https://docs.python.org/3/library/typing.html"
pypi = "typing/typing-3.7.4.1.tar.gz"
- version('3.7.4.3', sha256='1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9')
- version('3.7.4.1', sha256='91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23')
- version('3.6.6', sha256='4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d')
- version('3.6.4', sha256='d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2')
- version('3.6.1', sha256='c36dec260238e7464213dcd50d4b5ef63a507972f5780652e835d0228d0edace')
+ version("3.7.4.3", sha256="1187fb9c82fd670d10aa07bbb6cfcfe4bdda42d6fab8d5134f04e8c4d0b71cc9")
+ version("3.7.4.1", sha256="91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23")
+ version("3.6.6", sha256="4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d")
+ version("3.6.4", sha256="d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2")
+ version("3.6.1", sha256="c36dec260238e7464213dcd50d4b5ef63a507972f5780652e835d0228d0edace")
# Don't use this with new versions of python (3.5+)
# python 3.7 and later will actively not import
# https://github.com/python/typing/issues/573
# _abc_registry now private https://bugs.python.org/issue31333
- depends_on('python@2.7:2.8,3.4:3.6', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:3.6", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-tzlocal/package.py b/var/spack/repos/builtin/packages/py-tzlocal/package.py
index 4d13f4ee44..aa9cc5c83c 100644
--- a/var/spack/repos/builtin/packages/py-tzlocal/package.py
+++ b/var/spack/repos/builtin/packages/py-tzlocal/package.py
@@ -12,9 +12,9 @@ class PyTzlocal(PythonPackage):
homepage = "https://github.com/regebro/tzlocal"
pypi = "tzlocal/tzlocal-1.3.tar.gz"
- version('2.0.0', sha256='949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590')
- version('1.3', sha256='d160c2ce4f8b1831dabfe766bd844cf9012f766539cf84139c2faac5201882ce')
+ version("2.0.0", sha256="949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590")
+ version("1.3", sha256="d160c2ce4f8b1831dabfe766bd844cf9012f766539cf84139c2faac5201882ce")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- depends_on('py-pytz', type=('build', 'run'))
+ depends_on("py-pytz", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-ucsf-pyem/package.py b/var/spack/repos/builtin/packages/py-ucsf-pyem/package.py
index e00d4931c4..c4b8575fac 100644
--- a/var/spack/repos/builtin/packages/py-ucsf-pyem/package.py
+++ b/var/spack/repos/builtin/packages/py-ucsf-pyem/package.py
@@ -11,28 +11,28 @@ class PyUcsfPyem(PythonPackage):
utilities for electron microscopy of biological samples."""
homepage = "https://github.com/asarnow/pyem"
- git = "https://github.com/asarnow/pyem.git"
+ git = "https://github.com/asarnow/pyem.git"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
# Using commit since releases haven't been updated in 2 years
- version('2021-04-07', commit='ed0527f98657d21d887357426b74e5240d477fae')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.14:', type=('build', 'run'))
- depends_on('py-scipy@1.2:', type=('build', 'run'))
- depends_on('py-matplotlib@2.2:', type=('build', 'run'))
- depends_on('py-future@0.15:', type=('build', 'run'))
- depends_on('py-numba@0.41:', type=('build', 'run'))
- depends_on('py-seaborn@0.9:', type=('build', 'run'))
- depends_on('py-pandas@0.23.4:', type=('build', 'run'))
- depends_on('py-pathos@0.2.1:', type=('build', 'run'))
- depends_on('py-pyfftw@0.10:', type=('build', 'run'))
- depends_on('py-healpy@1.11:', type=('build', 'run'))
- depends_on('py-natsort@6.0:', type=('build', 'run'))
+ version("2021-04-07", commit="ed0527f98657d21d887357426b74e5240d477fae")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.14:", type=("build", "run"))
+ depends_on("py-scipy@1.2:", type=("build", "run"))
+ depends_on("py-matplotlib@2.2:", type=("build", "run"))
+ depends_on("py-future@0.15:", type=("build", "run"))
+ depends_on("py-numba@0.41:", type=("build", "run"))
+ depends_on("py-seaborn@0.9:", type=("build", "run"))
+ depends_on("py-pandas@0.23.4:", type=("build", "run"))
+ depends_on("py-pathos@0.2.1:", type=("build", "run"))
+ depends_on("py-pyfftw@0.10:", type=("build", "run"))
+ depends_on("py-healpy@1.11:", type=("build", "run"))
+ depends_on("py-natsort@6.0:", type=("build", "run"))
# Extracts files into bin for proper useage
- @run_after('install')
+ @run_after("install")
def extraction(self):
mkdir(self.prefix.bin)
- install('*.py', self.prefix.bin)
+ install("*.py", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-ucx-py/package.py b/var/spack/repos/builtin/packages/py-ucx-py/package.py
index f92f1f021c..6b236f5a25 100644
--- a/var/spack/repos/builtin/packages/py-ucx-py/package.py
+++ b/var/spack/repos/builtin/packages/py-ucx-py/package.py
@@ -16,13 +16,13 @@ class PyUcxPy(PythonPackage):
homepage = "https://ucx-py.readthedocs.io/en/latest/"
url = "https://github.com/rapidsai/ucx-py/archive/v0.16.0.tar.gz"
- version('0.16.0', sha256='12c1c982ee337b8dc026d3a6e8e63d96bf021c5c555fe173642908d3c3bec36e')
+ version("0.16.0", sha256="12c1c982ee337b8dc026d3a6e8e63d96bf021c5c555fe173642908d3c3bec36e")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-cython@0.29.14:2', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-pynvml', type=('build', 'run'))
- depends_on('ucx')
- depends_on('hwloc')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-cython@0.29.14:2", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-pynvml", type=("build", "run"))
+ depends_on("ucx")
+ depends_on("hwloc")
diff --git a/var/spack/repos/builtin/packages/py-uhi/package.py b/var/spack/repos/builtin/packages/py-uhi/package.py
index 592d7e3c2b..dc8ad9d868 100644
--- a/var/spack/repos/builtin/packages/py-uhi/package.py
+++ b/var/spack/repos/builtin/packages/py-uhi/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyUhi(PythonPackage):
"""Unified Histogram Interface:
- tools to help library authors work with histograms"""
+ tools to help library authors work with histograms"""
homepage = "https://github.com/Scikit-HEP/uhi"
- pypi = "uhi/uhi-0.3.0.tar.gz"
+ pypi = "uhi/uhi-0.3.0.tar.gz"
- version('0.3.0', sha256='3f441bfa89fae11aa762ae1ef1b1b454362d228e9084477773ffb82d6e9f5d2c')
+ version("0.3.0", sha256="3f441bfa89fae11aa762ae1ef1b1b454362d228e9084477773ffb82d6e9f5d2c")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7:', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-poetry-core@1:', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7:", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-poetry-core@1:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ujson/package.py b/var/spack/repos/builtin/packages/py-ujson/package.py
index f8991731b6..d0ec01daf7 100644
--- a/var/spack/repos/builtin/packages/py-ujson/package.py
+++ b/var/spack/repos/builtin/packages/py-ujson/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class PyUjson(PythonPackage):
"""Ultra fast JSON decoder and encoder written in C with Python
- bindings."""
+ bindings."""
homepage = "https://github.com/esnme/ultrajson"
pypi = "ujson/ujson-1.35.tar.gz"
- version('4.0.2', sha256='c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d')
- version('1.35', sha256='f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86')
+ version("4.0.2", sha256="c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d")
+ version("1.35", sha256="f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86")
- depends_on('python@3.6:', type=('build', 'run'), when='@4:')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build', when='@4:')
+ depends_on("python@3.6:", type=("build", "run"), when="@4:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build", when="@4:")
diff --git a/var/spack/repos/builtin/packages/py-umalqurra/package.py b/var/spack/repos/builtin/packages/py-umalqurra/package.py
index 2e2697b793..ab82132fa7 100644
--- a/var/spack/repos/builtin/packages/py-umalqurra/package.py
+++ b/var/spack/repos/builtin/packages/py-umalqurra/package.py
@@ -11,6 +11,6 @@ class PyUmalqurra(PythonPackage):
homepage = "https://github.com/tytkal/python-hijiri-ummalqura"
pypi = "umalqurra/umalqurra-0.2.tar.gz"
- version('0.2', sha256='719f6a36f908ada1c29dae0d934dd0f1e1f6e3305784edbec23ad719397de678')
+ version("0.2", sha256="719f6a36f908ada1c29dae0d934dd0f1e1f6e3305784edbec23ad719397de678")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-umi-tools/package.py b/var/spack/repos/builtin/packages/py-umi-tools/package.py
index 66ece6fafb..a8290ae1a7 100644
--- a/var/spack/repos/builtin/packages/py-umi-tools/package.py
+++ b/var/spack/repos/builtin/packages/py-umi-tools/package.py
@@ -10,20 +10,20 @@ class PyUmiTools(PythonPackage):
"""Tools for handling Unique Molecular Identifiers in NGS data sets"""
homepage = "https://github.com/CGATOxford/UMI-tools"
- url = "https://github.com/CGATOxford/UMI-tools/archive/0.5.3.tar.gz"
+ url = "https://github.com/CGATOxford/UMI-tools/archive/0.5.3.tar.gz"
- version('1.0.0', sha256='7f73ef29120134123351c19089e9b7b7c03a8f241a19f8cb0e43d17f0e2f9fc7')
- version('0.5.5', sha256='9834a4388dd1ea0b971071009db7ccdbd447c6019796a3c061b0bb383c9ad992')
- version('0.5.4', sha256='a03e6babf188d0618a63f083b4da18120b9e8b4d473af71b585dba7de347e962')
- version('0.5.3', sha256='d599f15c48c96a96ba667db1f364ebfed4ba733dd30469f9656c1717282d2ecb')
+ version("1.0.0", sha256="7f73ef29120134123351c19089e9b7b7c03a8f241a19f8cb0e43d17f0e2f9fc7")
+ version("0.5.5", sha256="9834a4388dd1ea0b971071009db7ccdbd447c6019796a3c061b0bb383c9ad992")
+ version("0.5.4", sha256="a03e6babf188d0618a63f083b4da18120b9e8b4d473af71b585dba7de347e962")
+ version("0.5.3", sha256="d599f15c48c96a96ba667db1f364ebfed4ba733dd30469f9656c1717282d2ecb")
- depends_on('python@2.7:')
- depends_on('py-setuptools@1.1:', type='build')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-pandas@0.12:', type=('build', 'run'))
- depends_on('py-pysam@0.8.4:', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-regex', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("python@2.7:")
+ depends_on("py-setuptools@1.1:", type="build")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-pandas@0.12:", type=("build", "run"))
+ depends_on("py-pysam@0.8.4:", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-regex", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-uncertainties/package.py b/var/spack/repos/builtin/packages/py-uncertainties/package.py
index d35cf7f96e..8a410ecb04 100644
--- a/var/spack/repos/builtin/packages/py-uncertainties/package.py
+++ b/var/spack/repos/builtin/packages/py-uncertainties/package.py
@@ -14,14 +14,14 @@ class PyUncertainties(PythonPackage):
homepage = "https://uncertainties-python-package.readthedocs.io/en/latest/"
pypi = "uncertainties/uncertainties-3.1.4.tar.gz"
- version('3.1.6', sha256='7c4db5aaafd227e95485b61fba5d235dc8133aeecd98f8fc1224c038ce063e2d')
- version('3.1.4', sha256='63548a94899f2a51eeb89b640f6ac311f481a8016b37dce157186e44619bc968')
+ version("3.1.6", sha256="7c4db5aaafd227e95485b61fba5d235dc8133aeecd98f8fc1224c038ce063e2d")
+ version("3.1.4", sha256="63548a94899f2a51eeb89b640f6ac311f481a8016b37dce157186e44619bc968")
- variant('optional', default=False, description='Enable extra features involving numpy')
- variant('docs', default=False, description='Build with documentation')
+ variant("optional", default=False, description="Enable extra features involving numpy")
+ variant("docs", default=False, description="Build with documentation")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'), when='+optional')
- depends_on('py-sphinx', type='build', when='+docs')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"), when="+optional")
+ depends_on("py-sphinx", type="build", when="+docs")
diff --git a/var/spack/repos/builtin/packages/py-unicycler/package.py b/var/spack/repos/builtin/packages/py-unicycler/package.py
index 9fd64c0e4a..72fb0f4efd 100644
--- a/var/spack/repos/builtin/packages/py-unicycler/package.py
+++ b/var/spack/repos/builtin/packages/py-unicycler/package.py
@@ -15,29 +15,29 @@ class PyUnicycler(PythonPackage):
"""
homepage = "https://github.com/rrwick/Unicycler"
- url = "https://github.com/rrwick/Unicycler/archive/v0.4.5.tar.gz"
+ url = "https://github.com/rrwick/Unicycler/archive/v0.4.5.tar.gz"
- version('0.5.0', sha256='84a8709c9f2e624225410af702d779ffb0cb06f7c22c20e1f01b989945e08a47')
- version('0.4.9', sha256='84bea8f3e8f99a1e63e5230ffe474a696db8caa67569c3a96ae12906d32a35eb')
- version('0.4.8', sha256='e948871e4de9db5964c9ca6f8f877c3cbe6a46f62052dfab52ffe0f45bbbd203')
- version('0.4.7', sha256='a8cf65e46dc2694b0fbd4e9190c73a1f300921457aadfab27a1792b785620d63')
- version('0.4.6', sha256='56f6f358a5d1f8dd0fcd1df04504079fc42cec8453a36ee59ff89295535d03f5')
- version('0.4.5', sha256='67043656b31a4809f8fa8f73368580ba7658c8440b9f6d042c7f70b5eb6b19ae')
+ version("0.5.0", sha256="84a8709c9f2e624225410af702d779ffb0cb06f7c22c20e1f01b989945e08a47")
+ version("0.4.9", sha256="84bea8f3e8f99a1e63e5230ffe474a696db8caa67569c3a96ae12906d32a35eb")
+ version("0.4.8", sha256="e948871e4de9db5964c9ca6f8f877c3cbe6a46f62052dfab52ffe0f45bbbd203")
+ version("0.4.7", sha256="a8cf65e46dc2694b0fbd4e9190c73a1f300921457aadfab27a1792b785620d63")
+ version("0.4.6", sha256="56f6f358a5d1f8dd0fcd1df04504079fc42cec8453a36ee59ff89295535d03f5")
+ version("0.4.5", sha256="67043656b31a4809f8fa8f73368580ba7658c8440b9f6d042c7f70b5eb6b19ae")
- depends_on('python@3.4:', type=('build', 'link', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('racon', type=('build', 'link', 'run'))
- depends_on('blast-plus', type='run')
+ depends_on("python@3.4:", type=("build", "link", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("racon", type=("build", "link", "run"))
+ depends_on("blast-plus", type="run")
# for version 0.5.0
- depends_on('spades@3.14.0:', type='run', when='@0.5.0')
+ depends_on("spades@3.14.0:", type="run", when="@0.5.0")
# for versions 0.4.9 and earlier
- depends_on('spades@3.6.2:3.13.0', type='run', when='@:0.4.9')
- depends_on('pilon', type='run', when='@:0.4.9')
- depends_on('java', type=('build', 'run'), when='@:0.4.9')
- depends_on('bowtie2', type='run', when='@:0.4.9')
- depends_on('samtools@1.0:', type=('build', 'link', 'run'), when='@:0.4.9')
-
- conflicts('%gcc@:4.9.0')
- conflicts('%clang@:3.4.2')
+ depends_on("spades@3.6.2:3.13.0", type="run", when="@:0.4.9")
+ depends_on("pilon", type="run", when="@:0.4.9")
+ depends_on("java", type=("build", "run"), when="@:0.4.9")
+ depends_on("bowtie2", type="run", when="@:0.4.9")
+ depends_on("samtools@1.0:", type=("build", "link", "run"), when="@:0.4.9")
+
+ conflicts("%gcc@:4.9.0")
+ conflicts("%clang@:3.4.2")
diff --git a/var/spack/repos/builtin/packages/py-unidecode/package.py b/var/spack/repos/builtin/packages/py-unidecode/package.py
index 5824ea53cb..3583e77bbc 100644
--- a/var/spack/repos/builtin/packages/py-unidecode/package.py
+++ b/var/spack/repos/builtin/packages/py-unidecode/package.py
@@ -11,8 +11,8 @@ class PyUnidecode(PythonPackage):
pypi = "unidecode/Unidecode-1.1.1.tar.gz"
- version('1.1.1', sha256='2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8')
- version('0.04.21', sha256='280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051')
+ version("1.1.1", sha256="2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8")
+ version("0.04.21", sha256="280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-unittest2/package.py b/var/spack/repos/builtin/packages/py-unittest2/package.py
index 470c250b7c..e1083d3d31 100644
--- a/var/spack/repos/builtin/packages/py-unittest2/package.py
+++ b/var/spack/repos/builtin/packages/py-unittest2/package.py
@@ -12,9 +12,9 @@ class PyUnittest2(PythonPackage):
pypi = "unittest2/unittest2-1.1.0.tar.gz"
- version('1.1.0', sha256='22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579')
+ version("1.1.0", sha256="22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579")
- depends_on('py-setuptools', type='build')
- depends_on('py-traceback2', type=('build', 'run'))
- depends_on('py-six@1.4:', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-traceback2", type=("build", "run"))
+ depends_on("py-six@1.4:", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-unittest2py3k/package.py b/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
index 681cc7fda0..3dce4cd08b 100644
--- a/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
+++ b/var/spack/repos/builtin/packages/py-unittest2py3k/package.py
@@ -13,7 +13,7 @@ class PyUnittest2py3k(PythonPackage):
pypi = "unittest2py3k/unittest2py3k-0.5.1.tar.gz"
- version('0.5.1', sha256='78249c5f1ac508a34d9d131d43a89d77bf154186f3ea5f7a6b993d3f3535d403')
+ version("0.5.1", sha256="78249c5f1ac508a34d9d131d43a89d77bf154186f3ea5f7a6b993d3f3535d403")
- depends_on('python@3:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-unshare/package.py b/var/spack/repos/builtin/packages/py-unshare/package.py
index ff14d5b528..b2281cab8c 100644
--- a/var/spack/repos/builtin/packages/py-unshare/package.py
+++ b/var/spack/repos/builtin/packages/py-unshare/package.py
@@ -13,8 +13,8 @@ class PyUnshare(PythonPackage):
homepage = "https://github.com/shubham1172/unshare"
pypi = "unshare/unshare-0.22.tar.gz"
- version('0.22', sha256='d521d72cca6e876f22cbd5ff5eb51f1beef75e8f9c53b599b55fa05fba1dd3a6')
+ version("0.22", sha256="d521d72cca6e876f22cbd5ff5eb51f1beef75e8f9c53b599b55fa05fba1dd3a6")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
- conflicts('platform=darwin', msg='unshare is linux-only')
+ conflicts("platform=darwin", msg="unshare is linux-only")
diff --git a/var/spack/repos/builtin/packages/py-update-checker/package.py b/var/spack/repos/builtin/packages/py-update-checker/package.py
index a799268590..33f98717aa 100644
--- a/var/spack/repos/builtin/packages/py-update-checker/package.py
+++ b/var/spack/repos/builtin/packages/py-update-checker/package.py
@@ -12,10 +12,10 @@ class PyUpdateChecker(PythonPackage):
homepage = "https://github.com/bboe/update_checker"
pypi = "update_checker/update_checker-0.18.0.tar.gz"
- version('0.18.0', sha256='6a2d45bb4ac585884a6b03f9eade9161cedd9e8111545141e9aa9058932acb13')
- version('0.17', sha256='2def8db7f63bd45c7d19df5df570f3f3dfeb1a1f050869d7036529295db10e62')
+ version("0.18.0", sha256="6a2d45bb4ac585884a6b03f9eade9161cedd9e8111545141e9aa9058932acb13")
+ version("0.17", sha256="2def8db7f63bd45c7d19df5df570f3f3dfeb1a1f050869d7036529295db10e62")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6:', type=('build', 'run'), when='@0.18.0:')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@0.17')
- depends_on('py-requests@2.3.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6:", type=("build", "run"), when="@0.18.0:")
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"), when="@0.17")
+ depends_on("py-requests@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-uproot/package.py b/var/spack/repos/builtin/packages/py-uproot/package.py
index 832f516ce7..db5cf8a182 100644
--- a/var/spack/repos/builtin/packages/py-uproot/package.py
+++ b/var/spack/repos/builtin/packages/py-uproot/package.py
@@ -17,38 +17,41 @@ class PyUproot(PythonPackage):
file as Numpy arrays."""
homepage = "https://github.com/scikit-hep/uproot4"
- pypi = "uproot/uproot-4.0.6.tar.gz"
+ pypi = "uproot/uproot-4.0.6.tar.gz"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- tags = ['hep']
+ tags = ["hep"]
- version('4.1.8', sha256='09c46edc864520af50d018055e3d3577a4c6c37489484a664edfa4f1496b6755')
- version('4.0.11', sha256='5c8f62c7eeaa50e1315e05469580130d0bcc50a6cb4456825777f73cfaf5938a')
- version('4.0.10', sha256='b7f9786d87227fcdc6b84305a6219cd615844f934e3b7c2509e2d4ed095950ab')
- version('4.0.9', sha256='345c20dd4e1921e3493200bf9ed4079909fb1277d02faf3136e19f4b90f8aa86')
- version('4.0.8', sha256='98282142725d678815ec6f8c76f42cfb3539c9c3d5b5561b8ef2129ac5a86bcd')
- version('4.0.7', sha256='7adb688601fda1e9ab8eeb9a9de681f645827dac0943c6180cf85f03f73fb789')
- version('4.0.6', sha256='1bea2ccc899c6959fb2af69d7e5d1e2df210caab30d3510e26f3fc07c143c37e')
+ version("4.1.8", sha256="09c46edc864520af50d018055e3d3577a4c6c37489484a664edfa4f1496b6755")
+ version("4.0.11", sha256="5c8f62c7eeaa50e1315e05469580130d0bcc50a6cb4456825777f73cfaf5938a")
+ version("4.0.10", sha256="b7f9786d87227fcdc6b84305a6219cd615844f934e3b7c2509e2d4ed095950ab")
+ version("4.0.9", sha256="345c20dd4e1921e3493200bf9ed4079909fb1277d02faf3136e19f4b90f8aa86")
+ version("4.0.8", sha256="98282142725d678815ec6f8c76f42cfb3539c9c3d5b5561b8ef2129ac5a86bcd")
+ version("4.0.7", sha256="7adb688601fda1e9ab8eeb9a9de681f645827dac0943c6180cf85f03f73fb789")
+ version("4.0.6", sha256="1bea2ccc899c6959fb2af69d7e5d1e2df210caab30d3510e26f3fc07c143c37e")
- variant('xrootd', default=True,
- description='Build with xrootd support ')
- variant('lz4', default=True,
- description='Build with support for reading '
- 'lz4-compressed rootfiles ')
+ variant("xrootd", default=True, description="Build with xrootd support ")
+ variant(
+ "lz4",
+ default=True,
+ description="Build with support for reading " "lz4-compressed rootfiles ",
+ )
- variant('zstd', default=True,
- description='Build with support for reading '
- 'zstd-compressed rootfiles ')
+ variant(
+ "zstd",
+ default=True,
+ description="Build with support for reading " "zstd-compressed rootfiles ",
+ )
- depends_on('python@2.6:2,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@42:', type='build', when='@4.1.8:')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("python@2.6:2,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@42:", type="build", when="@4.1.8:")
+ depends_on("py-numpy", type=("build", "run"))
- depends_on('xrootd', when="+xrootd")
+ depends_on("xrootd", when="+xrootd")
- depends_on('lz4', when="+lz4")
- depends_on('xxhash', when="+lz4")
+ depends_on("lz4", when="+lz4")
+ depends_on("xxhash", when="+lz4")
- depends_on('zstd', when="+zstd")
+ depends_on("zstd", when="+zstd")
diff --git a/var/spack/repos/builtin/packages/py-uproot3-methods/package.py b/var/spack/repos/builtin/packages/py-uproot3-methods/package.py
index 044f7fb203..54805ab472 100644
--- a/var/spack/repos/builtin/packages/py-uproot3-methods/package.py
+++ b/var/spack/repos/builtin/packages/py-uproot3-methods/package.py
@@ -17,10 +17,10 @@ class PyUproot3Methods(PythonPackage):
which is purely an I/O package."""
homepage = "https://github.com/scikit-hep/uproot3-methods"
- pypi = "uproot3-methods/uproot3-methods-0.10.1.tar.gz"
+ pypi = "uproot3-methods/uproot3-methods-0.10.1.tar.gz"
- version('0.10.1', sha256='dd68f90be1ea276360b96369836849df29045f7fe4e534f9ac21ea00798ee358')
+ version("0.10.1", sha256="dd68f90be1ea276360b96369836849df29045f7fe4e534f9ac21ea00798ee358")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.13.1:', type=('build', 'run'))
- depends_on('py-awkward0', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.13.1:", type=("build", "run"))
+ depends_on("py-awkward0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-uproot3/package.py b/var/spack/repos/builtin/packages/py-uproot3/package.py
index 641c8d4f3d..1f08d18c6d 100644
--- a/var/spack/repos/builtin/packages/py-uproot3/package.py
+++ b/var/spack/repos/builtin/packages/py-uproot3/package.py
@@ -17,14 +17,14 @@ class PyUproot3(PythonPackage):
file as Numpy arrays."""
homepage = "https://github.com/scikit-hep/uproot3"
- pypi = "uproot3/uproot3-3.14.4.tar.gz"
+ pypi = "uproot3/uproot3-3.14.4.tar.gz"
- version('3.14.4', sha256='4396746ba5ef9071bb0a9da53294e4613a7f4548218940f86496e79d682d20eb')
+ version("3.14.4", sha256="4396746ba5ef9071bb0a9da53294e4613a7f4548218940f86496e79d682d20eb")
- depends_on('python@2.7:2.9,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
- depends_on('py-numpy@1.13.1:', type=('build', 'run'))
- depends_on('py-awkward0', type=('build', 'run'))
- depends_on('py-uproot3-methods', type=('build', 'run'))
- depends_on('py-cachetools', type=('build', 'run'))
+ depends_on("python@2.7:2.9,3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
+ depends_on("py-numpy@1.13.1:", type=("build", "run"))
+ depends_on("py-awkward0", type=("build", "run"))
+ depends_on("py-uproot3-methods", type=("build", "run"))
+ depends_on("py-cachetools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-uproot4/package.py b/var/spack/repos/builtin/packages/py-uproot4/package.py
index 204da1325d..3aafd76ec3 100644
--- a/var/spack/repos/builtin/packages/py-uproot4/package.py
+++ b/var/spack/repos/builtin/packages/py-uproot4/package.py
@@ -12,40 +12,49 @@ class PyUproot4(PythonPackage):
ROOT I/O in pure Python and NumPy."""
homepage = "https://uproot4.readthedocs.io"
- git = "https://github.com/scikit-hep/uproot4"
- url = "https://github.com/scikit-hep/uproot4/archive/0.0.27.tar.gz"
-
- maintainers = ['vvolkl']
-
- tags = ['hep']
-
- version('master', branch='master', deprecated=True)
- version('4.0.2',
- sha256='8145af29788cbe6bf0ee279a7f176159f3eee801641ead4ad6e627f8c4dff0a9',
- deprecated=True)
- version('0.1.2',
- sha256='b32dbffadc87bc5707ee0093964d2ce4a5ccfd521b17bbf10732afc25b820d82',
- deprecated=True)
- version('0.0.27',
- sha256='de87555937332998b476f3e310392962bc983bddc008ed2b3c07a25c0379c4c9',
- deprecated=True)
-
- variant('xrootd', default=True,
- description='Build with xrootd support ')
- variant('lz4', default=True,
- description='Build with support for reading '
- 'lz4-compressed rootfiles ')
-
- variant('zstd', default=True,
- description='Build with support for reading '
- 'zstd-compressed rootfiles ')
-
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
-
- depends_on('xrootd', when="+xrootd")
-
- depends_on('lz4', when="+lz4")
- depends_on('xxhash', when="+lz4")
-
- depends_on('zstd', when="+zstd")
+ git = "https://github.com/scikit-hep/uproot4"
+ url = "https://github.com/scikit-hep/uproot4/archive/0.0.27.tar.gz"
+
+ maintainers = ["vvolkl"]
+
+ tags = ["hep"]
+
+ version("master", branch="master", deprecated=True)
+ version(
+ "4.0.2",
+ sha256="8145af29788cbe6bf0ee279a7f176159f3eee801641ead4ad6e627f8c4dff0a9",
+ deprecated=True,
+ )
+ version(
+ "0.1.2",
+ sha256="b32dbffadc87bc5707ee0093964d2ce4a5ccfd521b17bbf10732afc25b820d82",
+ deprecated=True,
+ )
+ version(
+ "0.0.27",
+ sha256="de87555937332998b476f3e310392962bc983bddc008ed2b3c07a25c0379c4c9",
+ deprecated=True,
+ )
+
+ variant("xrootd", default=True, description="Build with xrootd support ")
+ variant(
+ "lz4",
+ default=True,
+ description="Build with support for reading " "lz4-compressed rootfiles ",
+ )
+
+ variant(
+ "zstd",
+ default=True,
+ description="Build with support for reading " "zstd-compressed rootfiles ",
+ )
+
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+
+ depends_on("xrootd", when="+xrootd")
+
+ depends_on("lz4", when="+lz4")
+ depends_on("xxhash", when="+lz4")
+
+ depends_on("zstd", when="+zstd")
diff --git a/var/spack/repos/builtin/packages/py-uritemplate/package.py b/var/spack/repos/builtin/packages/py-uritemplate/package.py
index fd5bc4413a..cb5a0e3ff2 100644
--- a/var/spack/repos/builtin/packages/py-uritemplate/package.py
+++ b/var/spack/repos/builtin/packages/py-uritemplate/package.py
@@ -12,6 +12,6 @@ class PyUritemplate(PythonPackage):
homepage = "https://uritemplate.readthedocs.org/"
pypi = "uritemplate/uritemplate-3.0.0.tar.gz"
- version('3.0.0', sha256='c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d')
+ version("3.0.0", sha256="c02643cebe23fc8adb5e6becffe201185bf06c40bda5c0b4028a93f1527d011d")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-urllib3/package.py b/var/spack/repos/builtin/packages/py-urllib3/package.py
index fe33b162a3..5cf36a5444 100644
--- a/var/spack/repos/builtin/packages/py-urllib3/package.py
+++ b/var/spack/repos/builtin/packages/py-urllib3/package.py
@@ -13,30 +13,30 @@ 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.9', sha256='3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527')
- version('1.25.6', sha256='9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86')
- version('1.25.3', sha256='dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232')
- version('1.24.3', sha256='2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4')
- version('1.21.1', sha256='b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5')
- version('1.20', sha256='97ef2b6e2878d84c0126b9f4e608e37a951ca7848e4855a7f7f4437d5c34a72f')
- version('1.14', sha256='dd4fb13a4ce50b18338c7e4d665b21fd38632c5d4b1d9f1a1379276bd3c08d37')
+ version("1.26.6", sha256="f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f")
+ version("1.25.9", sha256="3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527")
+ version("1.25.6", sha256="9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86")
+ version("1.25.3", sha256="dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232")
+ version("1.24.3", sha256="2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4")
+ version("1.21.1", sha256="b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5")
+ version("1.20", sha256="97ef2b6e2878d84c0126b9f4e608e37a951ca7848e4855a7f7f4437d5c34a72f")
+ version("1.14", sha256="dd4fb13a4ce50b18338c7e4d665b21fd38632c5d4b1d9f1a1379276bd3c08d37")
- 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')
+ 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("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')
+ depends_on("py-setuptools", type="build")
- 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')
+ 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")
- depends_on('py-pysocks@1.5.6,1.5.8:1', when='+socks')
+ depends_on("py-pysocks@1.5.6,1.5.8:1", when="+socks")
- depends_on('py-brotlipy@0.6:', when='+brotli')
+ depends_on("py-brotlipy@0.6:", when="+brotli")
diff --git a/var/spack/repos/builtin/packages/py-urwid/package.py b/var/spack/repos/builtin/packages/py-urwid/package.py
index 9a0d4edb78..0ec84d19f5 100644
--- a/var/spack/repos/builtin/packages/py-urwid/package.py
+++ b/var/spack/repos/builtin/packages/py-urwid/package.py
@@ -8,9 +8,10 @@ from spack.package import *
class PyUrwid(PythonPackage):
"""A full-featured console UI library"""
+
homepage = "https://urwid.org/"
pypi = "urwid/urwid-1.3.0.tar.gz"
- version('1.3.0', sha256='29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2')
+ version("1.3.0", sha256="29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-us/package.py b/var/spack/repos/builtin/packages/py-us/package.py
index 64dbc429bb..04037e9a1a 100644
--- a/var/spack/repos/builtin/packages/py-us/package.py
+++ b/var/spack/repos/builtin/packages/py-us/package.py
@@ -12,7 +12,7 @@ class PyUs(PythonPackage):
pypi = "us/us-1.0.0.tar.gz"
- version('1.0.0', sha256='09dc9ba763e2e4399e6a042104f3e415a7de6bfa4df6f557b4f19e3ba9a22fda')
+ version("1.0.0", sha256="09dc9ba763e2e4399e6a042104f3e415a7de6bfa4df6f557b4f19e3ba9a22fda")
- depends_on('py-setuptools', type='build')
- depends_on('py-jellyfish@0.5.6', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jellyfish@0.5.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-usgs/package.py b/var/spack/repos/builtin/packages/py-usgs/package.py
index fba1f5df8f..be48ddf177 100644
--- a/var/spack/repos/builtin/packages/py-usgs/package.py
+++ b/var/spack/repos/builtin/packages/py-usgs/package.py
@@ -12,11 +12,11 @@ class PyUsgs(PythonPackage):
homepage = "https://github.com/kapadia/usgs"
pypi = "usgs/usgs-0.2.7.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.2.7', sha256='484e569ea1baf9574e11ccf15219957364690dcf06ee3d09afef030df944e79b')
+ version("0.2.7", sha256="484e569ea1baf9574e11ccf15219957364690dcf06ee3d09afef030df944e79b")
- depends_on('py-setuptools', type='build')
- depends_on('py-click@4.0:', type=('build', 'run'))
- depends_on('py-requests@2.7.0:', type=('build', 'run'))
- depends_on('py-requests-futures@0.9.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click@4.0:", type=("build", "run"))
+ depends_on("py-requests@2.7.0:", type=("build", "run"))
+ depends_on("py-requests-futures@0.9.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-utils/package.py b/var/spack/repos/builtin/packages/py-utils/package.py
index e197e33b91..b891aac9d0 100644
--- a/var/spack/repos/builtin/packages/py-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-utils/package.py
@@ -10,10 +10,10 @@ class PyUtils(PythonPackage):
"""Useful, oft-repeated things for Python"""
homepage = "https://github.com/haaksmash/pyutils"
- url = "https://github.com/haaksmash/pyutils/archive/1.0.1.tar.gz"
+ url = "https://github.com/haaksmash/pyutils/archive/1.0.1.tar.gz"
- version('1.0.1', sha256='3a6552db1678e86a1b5e31107d20ae90dc5fb858ff7936b95367ee9d1b99e9ae')
- version('0.8.0', sha256='916672df4cf9647e44f0aa1b3b327eb361c3c0bac1b1e32a6cf723ca766a2d4b')
+ version("1.0.1", sha256="3a6552db1678e86a1b5e31107d20ae90dc5fb858ff7936b95367ee9d1b99e9ae")
+ version("0.8.0", sha256="916672df4cf9647e44f0aa1b3b327eb361c3c0bac1b1e32a6cf723ca766a2d4b")
- depends_on('python@3.6:', type=('build', 'run'), when='@1.0.0:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"), when="@1.0.0:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-uvloop/package.py b/var/spack/repos/builtin/packages/py-uvloop/package.py
index 314a694ef3..4c38f9fcf7 100644
--- a/var/spack/repos/builtin/packages/py-uvloop/package.py
+++ b/var/spack/repos/builtin/packages/py-uvloop/package.py
@@ -12,9 +12,9 @@ class PyUvloop(PythonPackage):
homepage = "https://github.com/MagicStack/uvloop"
pypi = "uvloop/uvloop-0.14.0.tar.gz"
- version('0.16.0', sha256='f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228')
- version('0.14.0', sha256='123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e')
+ version("0.16.0", sha256="f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228")
+ version("0.14.0", sha256="123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e")
- depends_on('python@3.7:', when='@0.15:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.7:", when="@0.15:", type=("build", "run"))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-uvw/package.py b/var/spack/repos/builtin/packages/py-uvw/package.py
index 7753a67072..5f9692c922 100644
--- a/var/spack/repos/builtin/packages/py-uvw/package.py
+++ b/var/spack/repos/builtin/packages/py-uvw/package.py
@@ -16,17 +16,17 @@ class PyUvw(PythonPackage):
git = "https://github.com/prs513rosewood/uvw.git"
pypi = "uvw/uvw-0.3.1.tar.gz"
- maintainers = ['prs513rosewood']
+ maintainers = ["prs513rosewood"]
- version('master', branch='master')
- version('0.4.0', sha256='688052832c96ac6ead93f15e577d4f1c2339376300e781520c43cf8652ed3dd8')
- version('0.3.2', sha256='24f0d0f116e55cd80bf8f29fb45eb515a659849623017587c654230eeee3c4d9')
- version('0.3.1', sha256='31e3347ec342bd5381091f3c782ea1a1bfa4709d1de41cd700509e0b813f2265')
- version('0.0.7', sha256='4bcb77cf9655f0dcd5f38f024210ac5ad7ebc6fcfb45f898468d29a927bcb7a5')
+ version("master", branch="master")
+ version("0.4.0", sha256="688052832c96ac6ead93f15e577d4f1c2339376300e781520c43cf8652ed3dd8")
+ version("0.3.2", sha256="24f0d0f116e55cd80bf8f29fb45eb515a659849623017587c654230eeee3c4d9")
+ version("0.3.1", sha256="31e3347ec342bd5381091f3c782ea1a1bfa4709d1de41cd700509e0b813f2265")
+ version("0.0.7", sha256="4bcb77cf9655f0dcd5f38f024210ac5ad7ebc6fcfb45f898468d29a927bcb7a5")
- variant('mpi', description="Use parallel writers", default=False)
+ variant("mpi", description="Use parallel writers", default=False)
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-mpi4py', type=('build', 'run'), when="+mpi")
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-mpi4py", type=("build", "run"), when="+mpi")
diff --git a/var/spack/repos/builtin/packages/py-uwsgi/package.py b/var/spack/repos/builtin/packages/py-uwsgi/package.py
index 5b511724f4..47af873992 100644
--- a/var/spack/repos/builtin/packages/py-uwsgi/package.py
+++ b/var/spack/repos/builtin/packages/py-uwsgi/package.py
@@ -13,7 +13,7 @@ class PyUwsgi(PythonPackage):
homepage = "https://github.com/unbit/uwsgi/"
pypi = "uwsgi/uwsgi-2.0.18.tar.gz"
- version('2.0.18', sha256='4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583')
+ version("2.0.18", sha256="4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583")
- depends_on('py-setuptools', type='build')
- depends_on('python', type=('build', 'link', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python", type=("build", "link", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vcf-kit/package.py b/var/spack/repos/builtin/packages/py-vcf-kit/package.py
index 2f06a4a88a..d47ee18473 100644
--- a/var/spack/repos/builtin/packages/py-vcf-kit/package.py
+++ b/var/spack/repos/builtin/packages/py-vcf-kit/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class PyVcfKit(PythonPackage):
"""VCF-kit is a command-line based collection of utilities for performing
- analysis on Variant Call Format (VCF) files."""
+ analysis on Variant Call Format (VCF) files."""
homepage = "https://github.com/AndersenLab/VCF-kit"
- url = "https://github.com/AndersenLab/VCF-kit/archive/0.1.6.tar.gz"
+ url = "https://github.com/AndersenLab/VCF-kit/archive/0.1.6.tar.gz"
- version('0.1.6', sha256='4865414ac9dc6996c0baeefadf1d528c28e6d0c3cc3dbdc28a2cdc6e06212428')
+ version("0.1.6", sha256="4865414ac9dc6996c0baeefadf1d528c28e6d0c3cc3dbdc28a2cdc6e06212428")
- depends_on('python', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-awesome-slugify', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cython@0.24.1:', type='build')
- depends_on('py-cyvcf2@0.6.5:', type=('build', 'run'))
- depends_on('py-docopt', type=('build', 'run'))
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-yahmm@1.1.2', type=('build', 'run'))
- depends_on('py-clint', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-networkx@1.11', type=('build', 'run'))
- depends_on('py-intervaltree@2.1.0', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
- depends_on('py-jinja2', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-awesome-slugify", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cython@0.24.1:", type="build")
+ depends_on("py-cyvcf2@0.6.5:", type=("build", "run"))
+ depends_on("py-docopt", type=("build", "run"))
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-yahmm@1.1.2", type=("build", "run"))
+ depends_on("py-clint", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-networkx@1.11", type=("build", "run"))
+ depends_on("py-intervaltree@2.1.0", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
+ depends_on("py-jinja2", type=("build", "run"))
- depends_on('bwa@0.7.12:', type='run')
- depends_on('samtools@1.3:', type='run')
- depends_on('bcftools@1.3:', type='run')
- depends_on('blast-plus@2.2.31:', type='run')
- depends_on('muscle@3.8.31:', type='run')
- depends_on('primer3', type='run')
- depends_on('vcftools', type='run')
+ depends_on("bwa@0.7.12:", type="run")
+ depends_on("samtools@1.3:", type="run")
+ depends_on("bcftools@1.3:", type="run")
+ depends_on("blast-plus@2.2.31:", type="run")
+ depends_on("muscle@3.8.31:", type="run")
+ depends_on("primer3", type="run")
+ depends_on("vcftools", type="run")
diff --git a/var/spack/repos/builtin/packages/py-vcrpy/package.py b/var/spack/repos/builtin/packages/py-vcrpy/package.py
index d72e024214..d1df1392e7 100644
--- a/var/spack/repos/builtin/packages/py-vcrpy/package.py
+++ b/var/spack/repos/builtin/packages/py-vcrpy/package.py
@@ -10,14 +10,14 @@ class PyVcrpy(PythonPackage):
"""Automatically mock your HTTP interactions to simplify and speed up testing."""
homepage = "https://github.com/kevin1024/vcrpy"
- pypi = "vcrpy/vcrpy-4.1.1.tar.gz"
+ pypi = "vcrpy/vcrpy-4.1.1.tar.gz"
- version('4.1.1', sha256='57095bf22fc0a2d99ee9674cdafebed0f3ba763018582450706f7d3a74fff599')
+ version("4.1.1", sha256="57095bf22fc0a2d99ee9674cdafebed0f3ba763018582450706f7d3a74fff599")
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-wrapt', type=('build', 'run'))
- depends_on('py-six@1.5:', type=('build', 'run'))
- depends_on('py-yarl', when='^python@3.6:', type=('build', 'run'))
- depends_on('py-yarl@:1.3', when='^python@3.5', type=('build', 'run'))
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-wrapt", type=("build", "run"))
+ depends_on("py-six@1.5:", type=("build", "run"))
+ depends_on("py-yarl", when="^python@3.6:", type=("build", "run"))
+ depends_on("py-yarl@:1.3", when="^python@3.5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vcstool/package.py b/var/spack/repos/builtin/packages/py-vcstool/package.py
index 51244b4425..eb92cbbd06 100644
--- a/var/spack/repos/builtin/packages/py-vcstool/package.py
+++ b/var/spack/repos/builtin/packages/py-vcstool/package.py
@@ -15,8 +15,8 @@ class PyVcstool(PythonPackage):
homepage = "https://github.com/dirk-thomas/vcstool"
pypi = "vcstool/vcstool-0.2.15.tar.gz"
- version('0.2.15', sha256='b1fce6fcef7b117b245a72dc8658a128635749d01dc7e9d1316490f89f9c2fde')
+ version("0.2.15", sha256="b1fce6fcef7b117b245a72dc8658a128635749d01dc7e9d1316490f89f9c2fde")
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vcstools/package.py b/var/spack/repos/builtin/packages/py-vcstools/package.py
index 4016be0738..5b55a92318 100644
--- a/var/spack/repos/builtin/packages/py-vcstools/package.py
+++ b/var/spack/repos/builtin/packages/py-vcstools/package.py
@@ -13,8 +13,8 @@ class PyVcstools(PythonPackage):
homepage = "https://wiki.ros.org/vcstools"
pypi = "vcstools/vcstools-0.1.42.tar.gz"
- version('0.1.42', sha256='9e48d8ed8b0fdda739af56e05bf10da1a509cb7d4950a19c73264c770802777a')
+ version("0.1.42", sha256="9e48d8ed8b0fdda739af56e05bf10da1a509cb7d4950a19c73264c770802777a")
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vcversioner/package.py b/var/spack/repos/builtin/packages/py-vcversioner/package.py
index a2fa5be95e..ef9001c761 100644
--- a/var/spack/repos/builtin/packages/py-vcversioner/package.py
+++ b/var/spack/repos/builtin/packages/py-vcversioner/package.py
@@ -12,6 +12,6 @@ class PyVcversioner(PythonPackage):
homepage = "https://github.com/habnabit/vcversioner"
pypi = "vcversioner/vcversioner-2.16.0.0.tar.gz"
- version('2.16.0.0', sha256='dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b')
+ version("2.16.0.0", sha256="dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py b/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py
index 3f4f8c1f6b..8b4a67e1c2 100644
--- a/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py
+++ b/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py
@@ -13,10 +13,10 @@ class PyVectorQuantizePytorch(PythonPackage):
averages to update the dictionary."""
homepage = "https://github.com/lucidrains/vector-quantize-pytorch"
- pypi = "vector_quantize_pytorch/vector_quantize_pytorch-0.3.9.tar.gz"
+ pypi = "vector_quantize_pytorch/vector_quantize_pytorch-0.3.9.tar.gz"
- version('0.3.9', sha256='783ca76251299f0e3eb244062bc05c4416bb29157e57077e4a8969c5277f05ee')
+ version("0.3.9", sha256="783ca76251299f0e3eb244062bc05c4416bb29157e57077e4a8969c5277f05ee")
- depends_on('py-setuptools', type='build')
- depends_on('py-einops', type=('build', 'run'))
- depends_on('py-torch', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-einops", type=("build", "run"))
+ depends_on("py-torch", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vector/package.py b/var/spack/repos/builtin/packages/py-vector/package.py
index b6b41b3f13..fb7b24a807 100644
--- a/var/spack/repos/builtin/packages/py-vector/package.py
+++ b/var/spack/repos/builtin/packages/py-vector/package.py
@@ -10,15 +10,15 @@ class PyVector(PythonPackage):
"""Vector classes and utilities"""
homepage = "https://github.com/scikit-hep/vector"
- pypi = "vector/vector-0.8.4.tar.gz"
+ pypi = "vector/vector-0.8.4.tar.gz"
- version('0.8.4', sha256='ef97bfec0263766edbb74c290401f89921f8d11ae9e4a0ffd904ae40674f1239')
+ version("0.8.4", sha256="ef97bfec0263766edbb74c290401f89921f8d11ae9e4a0ffd904ae40674f1239")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4: +toml', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-numpy@1.13.3:', type=('build', 'run'))
- depends_on('py-packaging@19.0:', type=('build', 'run'))
- depends_on('py-importlib-metadata@0.22:', type=('build', 'run'), when='^python@:3.7')
- depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4: +toml", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-numpy@1.13.3:", type=("build", "run"))
+ depends_on("py-packaging@19.0:", type=("build", "run"))
+ depends_on("py-importlib-metadata@0.22:", type=("build", "run"), when="^python@:3.7")
+ depends_on("py-typing-extensions", type=("build", "run"), when="^python@:3.7")
diff --git a/var/spack/repos/builtin/packages/py-vermin/package.py b/var/spack/repos/builtin/packages/py-vermin/package.py
index 8679b210a8..5d0745c884 100644
--- a/var/spack/repos/builtin/packages/py-vermin/package.py
+++ b/var/spack/repos/builtin/packages/py-vermin/package.py
@@ -11,33 +11,33 @@ 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.4.1.tar.gz"
-
- maintainers = ['netromdk']
-
- version('1.4.1', sha256='ee69d5e84f0d446e0d6574ec60c428798de6e6c8d055589f65ac02f074a7da25')
- version('1.4.0', sha256='984773ed6af60329e700b39c58b7584032acbc908a00b5a76d1ce5468c825c70')
- version('1.3.3', sha256='35cd8bc3f54f651dbb162a7b35b4b091409154ce6d565df043f7f04bf9401d7d')
- version('1.3.2', sha256='2818eaea24c5be5dae1f374ddb2377e9cfaad04d0a3372ad129cffc46cec5404')
- version('1.3.1', sha256='ddcdaad5a708a483af192075f5d2eaaaf3aa4661b5101ddafa40d7837eeb5368')
- version('1.3.0', sha256='adf2b6ea34c01c3a81fc4fa78c2e5fa6c8dd6d35327a8e5a4caeeaef7ec21668')
- version('1.2.2', sha256='d0343b2a78d7e4de67dfd2d882eeaf8b241db724f7e67f83bdd4111edb97f1e2')
- version('1.2.1', sha256='b7b2c77cf67a27a432371cbc7f184151b6f3dd22bd9ccf3a7a10b7ae3532ac81')
- version('1.2.0', sha256='a3ab6dc6608b859f301b9a77d5cc0d03335aae10c49d47a91b82be5be48c4f1f')
- version('1.1.1', sha256='d13b2281ba16c9d5b0913646483771789552230a9ed625e2cd92c5a112e4ae80')
- version('1.1.0', sha256='62d9f1b6694f50c22343cead2ddb6e2b007d24243fb583f61ceed7540fbe660b')
- version('1.0.3', sha256='1503be05b55cacde1278a1fe55304d8ee889ddef8ba16e120ac6686259bec95c')
- version('1.0.2', sha256='e999d5f5455e1116b366cd1dcc6fecd254c7ae3606549a61bc044216f9bb5b55')
- version('1.0.1', sha256='c06183ba653b9d5f6687a6686da8565fb127fab035f9127a5acb172b7c445079')
- version('1.0.0', sha256='e598e9afcbe3fa6f3f3aa894da81ccb3954ec9c0783865ecead891ac6aa57207')
- version('0.10.5', sha256='00601356e8e10688c52248ce0acc55d5b45417b462d5aa6887a6b073f0d33e0b')
- version('0.10.4', sha256='bd765b84679fb3756b26f462d2aab4af3183fb65862520afc1517f6b39dea8bf')
- version('0.10.0', sha256='3458a4d084bba5c95fd7208888aaf0e324a07ee092786ee4e5529f539ab4951f')
-
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
-
- @run_after('install')
+ url = "https://github.com/netromdk/vermin/archive/v1.4.1.tar.gz"
+
+ maintainers = ["netromdk"]
+
+ version("1.4.1", sha256="ee69d5e84f0d446e0d6574ec60c428798de6e6c8d055589f65ac02f074a7da25")
+ version("1.4.0", sha256="984773ed6af60329e700b39c58b7584032acbc908a00b5a76d1ce5468c825c70")
+ version("1.3.3", sha256="35cd8bc3f54f651dbb162a7b35b4b091409154ce6d565df043f7f04bf9401d7d")
+ version("1.3.2", sha256="2818eaea24c5be5dae1f374ddb2377e9cfaad04d0a3372ad129cffc46cec5404")
+ version("1.3.1", sha256="ddcdaad5a708a483af192075f5d2eaaaf3aa4661b5101ddafa40d7837eeb5368")
+ version("1.3.0", sha256="adf2b6ea34c01c3a81fc4fa78c2e5fa6c8dd6d35327a8e5a4caeeaef7ec21668")
+ version("1.2.2", sha256="d0343b2a78d7e4de67dfd2d882eeaf8b241db724f7e67f83bdd4111edb97f1e2")
+ version("1.2.1", sha256="b7b2c77cf67a27a432371cbc7f184151b6f3dd22bd9ccf3a7a10b7ae3532ac81")
+ version("1.2.0", sha256="a3ab6dc6608b859f301b9a77d5cc0d03335aae10c49d47a91b82be5be48c4f1f")
+ version("1.1.1", sha256="d13b2281ba16c9d5b0913646483771789552230a9ed625e2cd92c5a112e4ae80")
+ version("1.1.0", sha256="62d9f1b6694f50c22343cead2ddb6e2b007d24243fb583f61ceed7540fbe660b")
+ version("1.0.3", sha256="1503be05b55cacde1278a1fe55304d8ee889ddef8ba16e120ac6686259bec95c")
+ version("1.0.2", sha256="e999d5f5455e1116b366cd1dcc6fecd254c7ae3606549a61bc044216f9bb5b55")
+ version("1.0.1", sha256="c06183ba653b9d5f6687a6686da8565fb127fab035f9127a5acb172b7c445079")
+ version("1.0.0", sha256="e598e9afcbe3fa6f3f3aa894da81ccb3954ec9c0783865ecead891ac6aa57207")
+ version("0.10.5", sha256="00601356e8e10688c52248ce0acc55d5b45417b462d5aa6887a6b073f0d33e0b")
+ version("0.10.4", sha256="bd765b84679fb3756b26f462d2aab4af3183fb65862520afc1517f6b39dea8bf")
+ version("0.10.0", sha256="3458a4d084bba5c95fd7208888aaf0e324a07ee092786ee4e5529f539ab4951f")
+
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
- make('test')
+ make("test")
diff --git a/var/spack/repos/builtin/packages/py-versioneer/package.py b/var/spack/repos/builtin/packages/py-versioneer/package.py
index 5db6e79785..9c532cee46 100644
--- a/var/spack/repos/builtin/packages/py-versioneer/package.py
+++ b/var/spack/repos/builtin/packages/py-versioneer/package.py
@@ -11,11 +11,11 @@ class PyVersioneer(PythonPackage):
asking your version-control system about the current tree."""
homepage = "https://github.com/warner/python-versioneer"
- url = "https://github.com/warner/python-versioneer/archive/0.18.tar.gz"
- git = "https://github.com/warner/python-versioneer.git"
+ url = "https://github.com/warner/python-versioneer/archive/0.18.tar.gz"
+ git = "https://github.com/warner/python-versioneer.git"
- maintainers = ['scemama']
+ maintainers = ["scemama"]
- version('0.18', sha256='cf895b67f5bc62d61c4837458069ded8f66b4e5764c19f7253c51ee27e8b3a99')
+ version("0.18", sha256="cf895b67f5bc62d61c4837458069ded8f66b4e5764c19f7253c51ee27e8b3a99")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-vine/package.py b/var/spack/repos/builtin/packages/py-vine/package.py
index d457261f4a..2aa5e3af89 100644
--- a/var/spack/repos/builtin/packages/py-vine/package.py
+++ b/var/spack/repos/builtin/packages/py-vine/package.py
@@ -11,8 +11,8 @@ class PyVine(PythonPackage):
pypi = "vine/vine-1.2.0.tar.gz"
- version('5.0.0', sha256='7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e')
- version('1.3.0', sha256='133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87')
- version('1.2.0', sha256='ee4813e915d0e1a54e5c1963fde0855337f82655678540a6bc5996bca4165f76')
+ version("5.0.0", sha256="7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e")
+ version("1.3.0", sha256="133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87")
+ version("1.2.0", sha256="ee4813e915d0e1a54e5c1963fde0855337f82655678540a6bc5996bca4165f76")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
index a405c278ec..381e98d3aa 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
@@ -12,10 +12,10 @@ class PyVirtualenvClone(PythonPackage):
homepage = "https://github.com/edwardgeorge/virtualenv-clone"
pypi = "virtualenv-clone/virtualenv-clone-0.2.6.tar.gz"
- version('0.5.7', sha256='418ee935c36152f8f153c79824bb93eaf6f0f7984bae31d3f48f350b9183501a')
- version('0.2.6', sha256='6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405')
+ version("0.5.7", sha256="418ee935c36152f8f153c79824bb93eaf6f0f7984bae31d3f48f350b9183501a")
+ version("0.2.6", sha256="6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@0.5.7:')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("python@2.7:2,3.4:", type=("build", "run"), when="@0.5.7:")
# not just build-time, requires pkg_resources
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py
index 44aac7ffaa..5ea1f89b87 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py
@@ -12,28 +12,30 @@ class PyVirtualenv(PythonPackage):
homepage = "https://virtualenv.pypa.io/"
pypi = "virtualenv/virtualenv-16.7.6.tar.gz"
- version('20.10.0', sha256='576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218')
- version('16.7.6', sha256='5d370508bf32e522d79096e8cbea3499d47e624ac7e11e9089f9397a0b3318df')
- version('16.4.1', sha256='5a3ecdfbde67a4a3b3111301c4d64a5b71cf862c8c42958d30cf3253df1f29dd')
- version('16.0.0', sha256='ca07b4c0b54e14a91af9f34d0919790b016923d157afda5efdde55c96718f752')
- version('15.1.0', sha256='02f8102c2436bb03b3ee6dede1919d1dac8a427541652e5ec95171ec8adbc93a')
- version('15.0.1', sha256='1a74278b8adb383ce4c7619e33c753b1eb7b58dc1e449601c096ca4b76125f84')
- version('13.0.1', sha256='36c2cfae0f9c6462264bb19c478fc6bab3478cf0575f1027452e975a1ed84dbd')
- version('1.11.6', sha256='3e7a4c151e2ee97f51db0215bfd2a073b04a91e9786df6cb67c916f16abe04f7')
-
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@20.10.0:')
+ version("20.10.0", sha256="576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218")
+ version("16.7.6", sha256="5d370508bf32e522d79096e8cbea3499d47e624ac7e11e9089f9397a0b3318df")
+ version("16.4.1", sha256="5a3ecdfbde67a4a3b3111301c4d64a5b71cf862c8c42958d30cf3253df1f29dd")
+ version("16.0.0", sha256="ca07b4c0b54e14a91af9f34d0919790b016923d157afda5efdde55c96718f752")
+ version("15.1.0", sha256="02f8102c2436bb03b3ee6dede1919d1dac8a427541652e5ec95171ec8adbc93a")
+ version("15.0.1", sha256="1a74278b8adb383ce4c7619e33c753b1eb7b58dc1e449601c096ca4b76125f84")
+ version("13.0.1", sha256="36c2cfae0f9c6462264bb19c478fc6bab3478cf0575f1027452e975a1ed84dbd")
+ version("1.11.6", sha256="3e7a4c151e2ee97f51db0215bfd2a073b04a91e9786df6cb67c916f16abe04f7")
+
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@20.10.0:")
# not just build-time, requires pkg_resources
- depends_on('py-setuptools@40.6.3:', type=('build', 'run'))
- depends_on('py-setuptools@41.00.03:', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-setuptools-scm@2:', type=('build', 'run'), when='@20.10.0:')
-
- depends_on('py-backports-entry-points-selectable @1.0.4:', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-distlib@0.3.1:0', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-filelock@3.2:3', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-platformdirs@2:2', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-six@1.9.0:1', type=('build', 'run'), when='@20.10.0:')
- depends_on('py-importlib-metadata@0.12:', type=('build', 'run'), when='@20.10.0: ^python@:3.7')
- depends_on('py-importlib-resources@1:', type=('build', 'run'), when='@20.10.0: ^python@:3.6')
- depends_on('py-pathlib2', type=('build', 'run'), when='@20.10.0: ^python@:3.3')
+ depends_on("py-setuptools@40.6.3:", type=("build", "run"))
+ depends_on("py-setuptools@41.00.03:", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-setuptools-scm@2:", type=("build", "run"), when="@20.10.0:")
+
+ depends_on(
+ "py-backports-entry-points-selectable @1.0.4:", type=("build", "run"), when="@20.10.0:"
+ )
+ depends_on("py-distlib@0.3.1:0", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-filelock@3.2:3", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-platformdirs@2:2", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-six@1.9.0:1", type=("build", "run"), when="@20.10.0:")
+ depends_on("py-importlib-metadata@0.12:", type=("build", "run"), when="@20.10.0: ^python@:3.7")
+ depends_on("py-importlib-resources@1:", type=("build", "run"), when="@20.10.0: ^python@:3.6")
+ depends_on("py-pathlib2", type=("build", "run"), when="@20.10.0: ^python@:3.3")
diff --git a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
index 177f520f10..c98c1319f9 100644
--- a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
@@ -16,13 +16,13 @@ class PyVirtualenvwrapper(PythonPackage):
homepage = "https://bitbucket.org/virtualenvwrapper/virtualenvwrapper.git"
pypi = "virtualenvwrapper/virtualenvwrapper-4.8.2.tar.gz"
- version('4.8.4', sha256='51a1a934e7ed0ff221bdd91bf9d3b604d875afbb3aa2367133503fee168f5bfa')
- version('4.8.2', sha256='18d8e4c500c4c4ee794f704e050cf2bbb492537532a4521d1047e7dd1ee4e374')
+ version("4.8.4", sha256="51a1a934e7ed0ff221bdd91bf9d3b604d875afbb3aa2367133503fee168f5bfa")
+ version("4.8.2", sha256="18d8e4c500c4c4ee794f704e050cf2bbb492537532a4521d1047e7dd1ee4e374")
- depends_on('python@2.6:')
- depends_on('py-pbr', type='build', when='@4.8.4:')
- depends_on('py-virtualenv', type=('build', 'run'))
- depends_on('py-virtualenv-clone', type=('build', 'run'))
- depends_on('py-stevedore', type=('build', 'run'))
+ depends_on("python@2.6:")
+ depends_on("py-pbr", type="build", when="@4.8.4:")
+ depends_on("py-virtualenv", type=("build", "run"))
+ depends_on("py-virtualenv-clone", type=("build", "run"))
+ depends_on("py-stevedore", type=("build", "run"))
# not just build-time, requires pkg_resources
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-visdom/package.py b/var/spack/repos/builtin/packages/py-visdom/package.py
index 8c8811b8a9..55e33a4d87 100644
--- a/var/spack/repos/builtin/packages/py-visdom/package.py
+++ b/var/spack/repos/builtin/packages/py-visdom/package.py
@@ -14,17 +14,17 @@ class PyVisdom(PythonPackage):
homepage = "https://github.com/facebookresearch/visdom"
pypi = "visdom/visdom-0.1.8.9.tar.gz"
- version('0.1.8.9', sha256='c73ad23723c24a48156899f78dd76bd4538eba3edf9120b6c65a9528fa677126')
+ version("0.1.8.9", sha256="c73ad23723c24a48156899f78dd76bd4538eba3edf9120b6c65a9528fa677126")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.8:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-tornado', type=('build', 'run'))
- depends_on('py-pyzmq', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-jsonpatch', type=('build', 'run'))
- depends_on('py-websocket-client', type=('build', 'run'))
- depends_on('py-torch@0.3.1:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-torchfile', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.8:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-tornado", type=("build", "run"))
+ depends_on("py-pyzmq", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-jsonpatch", type=("build", "run"))
+ depends_on("py-websocket-client", type=("build", "run"))
+ depends_on("py-torch@0.3.1:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-torchfile", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-voluptuous/package.py b/var/spack/repos/builtin/packages/py-voluptuous/package.py
index c955132724..f17472d52b 100644
--- a/var/spack/repos/builtin/packages/py-voluptuous/package.py
+++ b/var/spack/repos/builtin/packages/py-voluptuous/package.py
@@ -8,11 +8,12 @@ from spack.package import *
class PyVoluptuous(PythonPackage):
"""Voluptous, despite the name, is a Python data validation library."""
+
homepage = "https://github.com/alecthomas/voluptuous"
pypi = "voluptuous/voluptuous-0.11.5.tar.gz"
- version('0.11.7', sha256='2abc341dbc740c5e2302c7f9b8e2e243194fb4772585b991931cb5b22e9bf456')
- version('0.11.6', sha256='d2ca99ae1d1ed0313e8965720d1d75a780fc7f312fea4e3dbbb56ccfe5a8306d')
- version('0.11.5', sha256='567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef')
+ version("0.11.7", sha256="2abc341dbc740c5e2302c7f9b8e2e243194fb4772585b991931cb5b22e9bf456")
+ version("0.11.6", sha256="d2ca99ae1d1ed0313e8965720d1d75a780fc7f312fea4e3dbbb56ccfe5a8306d")
+ version("0.11.5", sha256="567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-vsc-base/package.py b/var/spack/repos/builtin/packages/py-vsc-base/package.py
index fa84f82331..70f628c4f8 100644
--- a/var/spack/repos/builtin/packages/py-vsc-base/package.py
+++ b/var/spack/repos/builtin/packages/py-vsc-base/package.py
@@ -9,9 +9,9 @@ from spack.package import *
class PyVscBase(PythonPackage):
"""Common Python libraries tools created by HPC-UGent"""
- homepage = 'https://github.com/hpcugent/vsc-base/'
- pypi = 'vsc-base/vsc-base-2.5.8.tar.gz'
+ homepage = "https://github.com/hpcugent/vsc-base/"
+ pypi = "vsc-base/vsc-base-2.5.8.tar.gz"
- version('2.5.8', sha256='7fcd300f842edf4baade7d0b7a3b462ca7dfb2a411a7532694a90127c6646ee2')
+ version("2.5.8", sha256="7fcd300f842edf4baade7d0b7a3b462ca7dfb2a411a7532694a90127c6646ee2")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vsc-install/package.py b/var/spack/repos/builtin/packages/py-vsc-install/package.py
index 845285bf24..4eed334ba0 100644
--- a/var/spack/repos/builtin/packages/py-vsc-install/package.py
+++ b/var/spack/repos/builtin/packages/py-vsc-install/package.py
@@ -11,9 +11,9 @@ class PyVscInstall(PythonPackage):
for Python libraries developed by HPC-UGent.
"""
- homepage = 'https://github.com/hpcugent/vsc-install/'
- pypi = 'vsc-install/vsc-install-0.10.25.tar.gz'
+ homepage = "https://github.com/hpcugent/vsc-install/"
+ pypi = "vsc-install/vsc-install-0.10.25.tar.gz"
- version('0.10.25', sha256='744fa52b45577251d94e9298ecb115afd295f2530eba64c524f469b5e283f19c')
+ version("0.10.25", sha256="744fa52b45577251d94e9298ecb115afd295f2530eba64c524f469b5e283f19c")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py b/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
index a37b49ce5a..e9c2fa8a52 100644
--- a/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
+++ b/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
@@ -13,8 +13,8 @@ class PyVstsCdManager(PythonPackage):
homepage = "https://github.com/microsoft/vsts-cd-manager"
pypi = "vsts-cd-manager/vsts-cd-manager-1.0.2.tar.gz"
- version('1.0.2', sha256='0bb09059cd553e1c206e92ef324cb0dcf92334846d646c44c684f6256b86447b')
+ version("1.0.2", sha256="0bb09059cd553e1c206e92ef324cb0dcf92334846d646c44c684f6256b86447b")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.2.0:', type=('build', 'run'))
- depends_on('py-mock', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.2.0:", type=("build", "run"))
+ depends_on("py-mock", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-vsts/package.py b/var/spack/repos/builtin/packages/py-vsts/package.py
index b9328eeb28..db7f72105d 100644
--- a/var/spack/repos/builtin/packages/py-vsts/package.py
+++ b/var/spack/repos/builtin/packages/py-vsts/package.py
@@ -13,7 +13,7 @@ class PyVsts(PythonPackage):
homepage = "https://github.com/Microsoft/vsts-python-api"
pypi = "vsts/vsts-0.1.25.tar.gz"
- version('0.1.25', sha256='da179160121f5b38be061dbff29cd2b60d5d029b2207102454d77a7114e64f97')
+ version("0.1.25", sha256="da179160121f5b38be061dbff29cd2b60d5d029b2207102454d77a7114e64f97")
- depends_on('py-setuptools', type='build')
- depends_on('py-msrest@0.6.0:0.6', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-msrest@0.6.0:0.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-walinuxagent/package.py b/var/spack/repos/builtin/packages/py-walinuxagent/package.py
index ec1da0d85e..abdb6142b4 100644
--- a/var/spack/repos/builtin/packages/py-walinuxagent/package.py
+++ b/var/spack/repos/builtin/packages/py-walinuxagent/package.py
@@ -10,12 +10,12 @@ class PyWalinuxagent(PythonPackage):
"""Microsoft Azure Linux Guest Agent."""
homepage = "https://github.com/Azure/WALinuxAgent"
- url = "https://github.com/Azure/WALinuxAgent/archive/pre-v2.2.52.tar.gz"
+ url = "https://github.com/Azure/WALinuxAgent/archive/pre-v2.2.52.tar.gz"
- version('2.2.52', sha256='02c26af75827bd7042aa2285c78dee86ddb25a6a8f6bb0a85679a2df9ba56a3a')
- version('2.2.50', sha256='3b2b99552e3b35dfcbb4cabf476d0113d701eb23d2e0e61f35f0fa33cabde0a1')
+ version("2.2.52", sha256="02c26af75827bd7042aa2285c78dee86ddb25a6a8f6bb0a85679a2df9ba56a3a")
+ version("2.2.50", sha256="3b2b99552e3b35dfcbb4cabf476d0113d701eb23d2e0e61f35f0fa33cabde0a1")
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-pyasn1', type=('build', 'run'))
- depends_on('py-distro', type=('build', 'run'), when='^python@3.8:')
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyasn1", type=("build", "run"))
+ depends_on("py-distro", type=("build", "run"), when="^python@3.8:")
diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py
index edec5ddca9..6a454a5b32 100644
--- a/var/spack/repos/builtin/packages/py-wand/package.py
+++ b/var/spack/repos/builtin/packages/py-wand/package.py
@@ -7,20 +7,19 @@ from spack.package import *
class PyWand(PythonPackage):
- """Wand is a ctypes-based simple ImageMagick binding for Python.
- """
+ """Wand is a ctypes-based simple ImageMagick binding for Python."""
homepage = "https://docs.wand-py.org"
pypi = "Wand/Wand-0.5.6.tar.gz"
- version('0.5.6', sha256='d06b59f36454024ce952488956319eb542d5dc65f1e1b00fead71df94dbfcf88')
- version('0.4.2', sha256='a0ded99a9824ddd82617a4b449164e2c5c93853aaff96f9e0bab8b405d62ca7c')
+ version("0.5.6", sha256="d06b59f36454024ce952488956319eb542d5dc65f1e1b00fead71df94dbfcf88")
+ version("0.4.2", sha256="a0ded99a9824ddd82617a4b449164e2c5c93853aaff96f9e0bab8b405d62ca7c")
- variant('docs', default=False, description='Build docs')
+ variant("docs", default=False, description="Build docs")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# provides libmagickwand
- depends_on('imagemagick')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
+ depends_on("imagemagick")
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
- depends_on('py-sphinx@1:', type='build', when='+docs')
+ depends_on("py-sphinx@1:", type="build", when="+docs")
diff --git a/var/spack/repos/builtin/packages/py-wandb/package.py b/var/spack/repos/builtin/packages/py-wandb/package.py
index 28f28e52a6..dc1497421b 100644
--- a/var/spack/repos/builtin/packages/py-wandb/package.py
+++ b/var/spack/repos/builtin/packages/py-wandb/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class PyWandb(PythonPackage):
"""A tool for visualizing and tracking your machine
- learning experiments."""
+ learning experiments."""
homepage = "https://github.com/wandb/"
- url = "https://github.com/wandb/client/archive/v0.10.1.tar.gz"
+ url = "https://github.com/wandb/client/archive/v0.10.1.tar.gz"
- version('0.10.1', sha256='abd334cd1460ac1f6e5aa959d3e04c46cd246f96cfc3323fc0572916760d32ab')
+ version("0.10.1", sha256="abd334cd1460ac1f6e5aa959d3e04c46cd246f96cfc3323fc0572916760d32ab")
- depends_on('py-setuptools', type='build')
- depends_on('py-click', type=('build', 'run'))
- depends_on('py-gitpython', type=('build', 'run'))
- depends_on('py-gql', type=('build', 'run'))
- depends_on('py-nvidia-ml-py3', type=('build', 'run'))
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-shortuuid', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-watchdog', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-sentry-sdk', type=('build', 'run'))
- depends_on('py-subprocess32', type=('build', 'run'))
- depends_on('py-dockerpy-creds', type=('build', 'run'))
- depends_on('py-configparser', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-click", type=("build", "run"))
+ depends_on("py-gitpython", type=("build", "run"))
+ depends_on("py-gql", type=("build", "run"))
+ depends_on("py-nvidia-ml-py3", type=("build", "run"))
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-shortuuid", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-watchdog", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-sentry-sdk", type=("build", "run"))
+ depends_on("py-subprocess32", type=("build", "run"))
+ depends_on("py-dockerpy-creds", type=("build", "run"))
+ depends_on("py-configparser", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-warlock/package.py b/var/spack/repos/builtin/packages/py-warlock/package.py
index b415fbac94..550f97ed7e 100644
--- a/var/spack/repos/builtin/packages/py-warlock/package.py
+++ b/var/spack/repos/builtin/packages/py-warlock/package.py
@@ -10,11 +10,11 @@ class PyWarlock(PythonPackage):
"""Self-validating Python objects using JSON schema"""
homepage = "https://github.com/bcwaldon/warlock"
- url = "https://github.com/bcwaldon/warlock/archive/1.3.3.tar.gz"
+ url = "https://github.com/bcwaldon/warlock/archive/1.3.3.tar.gz"
- version('1.3.3', sha256='b77e4977d5dc54d47f88cbcc9ab2d716f5f10171d123138785dad96aeb2858d0')
+ version("1.3.3", sha256="b77e4977d5dc54d47f88cbcc9ab2d716f5f10171d123138785dad96aeb2858d0")
- depends_on('py-setuptools', type='build')
- depends_on('py-jsonschema@0.7:3', type=('build', 'run'))
- depends_on('py-jsonpatch@0.10:1', type=('build', 'run'))
- depends_on('py-six@1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-jsonschema@0.7:3", type=("build", "run"))
+ depends_on("py-jsonpatch@0.10:1", type=("build", "run"))
+ depends_on("py-six@1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-warpx/package.py b/var/spack/repos/builtin/packages/py-warpx/package.py
index 9b0f9f7301..bb6ad88c22 100644
--- a/var/spack/repos/builtin/packages/py-warpx/package.py
+++ b/var/spack/repos/builtin/packages/py-warpx/package.py
@@ -18,60 +18,72 @@ class PyWarpx(PythonPackage):
"""
homepage = "https://ecp-warpx.github.io"
- url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/22.05.tar.gz"
- git = "https://github.com/ECP-WarpX/WarpX.git"
+ url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/22.05.tar.gz"
+ git = "https://github.com/ECP-WarpX/WarpX.git"
- maintainers = ['ax3l', 'dpgrote', 'RemiLehe']
+ maintainers = ["ax3l", "dpgrote", "RemiLehe"]
- tags = ['e4s', 'ecp']
+ tags = ["e4s", "ecp"]
# NOTE: if you update the versions here, also see warpx
- version('develop', branch='development')
- version('22.07', sha256='0286adc788136cb78033cb1678d38d36e42265bcfd3d0c361a9bcc2cfcdf241b')
- version('22.06', sha256='e78398e215d3fc6bc5984f5d1c2ddeac290dcbc8a8e9d196e828ef6299187db9')
- version('22.05', sha256='2fa69e6a4db36459b67bf663e8fbf56191f6c8c25dc76301dbd02a36f9b50479')
- version('22.04', sha256='9234d12e28b323cb250d3d2cefee0b36246bd8a1d1eb48e386f41977251c028f')
- version('22.03', sha256='ddbef760c8000f2f827dfb097ca3359e7aecbea8766bec5c3a91ee28d3641564')
- version('22.02', sha256='d74b593d6f396e037970c5fbe10c2e5d71d557a99c97d40e4255226bc6c26e42')
- version('22.01', sha256='e465ffadabb7dc360c63c4d3862dc08082b5b0e77923d3fb05570408748b0d28')
- version('21.12', sha256='847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1')
- version('21.11', sha256='ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b')
- version('21.10', sha256='d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454')
- version('21.09', sha256='861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab')
- version('21.08', sha256='6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86')
- version('21.07', sha256='a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561')
- version('21.06', sha256='a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30')
- version('21.05', sha256='f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc')
- version('21.04', sha256='51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0')
+ version("develop", branch="development")
+ version("22.07", sha256="0286adc788136cb78033cb1678d38d36e42265bcfd3d0c361a9bcc2cfcdf241b")
+ version("22.06", sha256="e78398e215d3fc6bc5984f5d1c2ddeac290dcbc8a8e9d196e828ef6299187db9")
+ version("22.05", sha256="2fa69e6a4db36459b67bf663e8fbf56191f6c8c25dc76301dbd02a36f9b50479")
+ version("22.04", sha256="9234d12e28b323cb250d3d2cefee0b36246bd8a1d1eb48e386f41977251c028f")
+ version("22.03", sha256="ddbef760c8000f2f827dfb097ca3359e7aecbea8766bec5c3a91ee28d3641564")
+ version("22.02", sha256="d74b593d6f396e037970c5fbe10c2e5d71d557a99c97d40e4255226bc6c26e42")
+ version("22.01", sha256="e465ffadabb7dc360c63c4d3862dc08082b5b0e77923d3fb05570408748b0d28")
+ version("21.12", sha256="847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1")
+ version("21.11", sha256="ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b")
+ version("21.10", sha256="d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454")
+ version("21.09", sha256="861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab")
+ version("21.08", sha256="6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86")
+ version("21.07", sha256="a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561")
+ version("21.06", sha256="a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30")
+ version("21.05", sha256="f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc")
+ version("21.04", sha256="51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0")
- variant('mpi', default=True,
- description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
- for v in ['22.07', '22.06', '22.05', '22.04', '22.03', '22.02', '22.01',
- '21.12', '21.11', '21.10', '21.09', '21.08', '21.07', '21.06',
- '21.05', '21.04',
- 'develop']:
- depends_on('warpx@{0}'.format(v),
- when='@{0}'.format(v),
- type=['build', 'link'])
+ for v in [
+ "22.07",
+ "22.06",
+ "22.05",
+ "22.04",
+ "22.03",
+ "22.02",
+ "22.01",
+ "21.12",
+ "21.11",
+ "21.10",
+ "21.09",
+ "21.08",
+ "21.07",
+ "21.06",
+ "21.05",
+ "21.04",
+ "develop",
+ ]:
+ depends_on("warpx@{0}".format(v), when="@{0}".format(v), type=["build", "link"])
- depends_on('python@3.6:3.9', type=('build', 'run'), when='@:21.12')
- depends_on('python@3.6:', type=('build', 'run'), when='@22.01:')
- depends_on('py-numpy@1.15.0:1', type=('build', 'run'))
- depends_on('py-mpi4py@2.1.0:', type=('build', 'run'), when='+mpi')
- depends_on('py-periodictable@1.5:1', type=('build', 'run'))
- depends_on('py-picmistandard@0.0.14', type=('build', 'run'), when='@21.03:21.11')
- depends_on('py-picmistandard@0.0.16', type=('build', 'run'), when='@21.12')
- depends_on('py-picmistandard@0.0.18', type=('build', 'run'), when='@22.01')
- depends_on('py-picmistandard@0.0.19', type=('build', 'run'), when='@22.02:')
- depends_on('py-setuptools@42:', type='build')
+ depends_on("python@3.6:3.9", type=("build", "run"), when="@:21.12")
+ depends_on("python@3.6:", type=("build", "run"), when="@22.01:")
+ depends_on("py-numpy@1.15.0:1", type=("build", "run"))
+ depends_on("py-mpi4py@2.1.0:", type=("build", "run"), when="+mpi")
+ depends_on("py-periodictable@1.5:1", type=("build", "run"))
+ depends_on("py-picmistandard@0.0.14", type=("build", "run"), when="@21.03:21.11")
+ depends_on("py-picmistandard@0.0.16", type=("build", "run"), when="@21.12")
+ depends_on("py-picmistandard@0.0.18", type=("build", "run"), when="@22.01")
+ depends_on("py-picmistandard@0.0.19", type=("build", "run"), when="@22.02:")
+ depends_on("py-setuptools@42:", type="build")
# Since we use PYWARPX_LIB_DIR to pull binaries out of the
# 'warpx' spack package, we don't need py-cmake as declared
# depends_on('py-cmake@3.15:3', type='build')
# depends_on('py-cmake@3.18:3', type='build', when='@22.01:')
- depends_on('py-wheel', type='build')
- depends_on('warpx +lib ~mpi +shared', type=('build', 'link'), when='~mpi')
- depends_on('warpx +lib +mpi +shared', type=('build', 'link'), when='+mpi')
+ depends_on("py-wheel", type="build")
+ depends_on("warpx +lib ~mpi +shared", type=("build", "link"), when="~mpi")
+ depends_on("warpx +lib +mpi +shared", type=("build", "link"), when="+mpi")
def setup_build_environment(self, env):
- env.set('PYWARPX_LIB_DIR', self.spec['warpx'].prefix.lib)
+ env.set("PYWARPX_LIB_DIR", self.spec["warpx"].prefix.lib)
diff --git a/var/spack/repos/builtin/packages/py-wasabi/package.py b/var/spack/repos/builtin/packages/py-wasabi/package.py
index 4c58e1a277..6014c67319 100644
--- a/var/spack/repos/builtin/packages/py-wasabi/package.py
+++ b/var/spack/repos/builtin/packages/py-wasabi/package.py
@@ -13,6 +13,6 @@ class PyWasabi(PythonPackage):
homepage = "https://ines.io/"
pypi = "wasabi/wasabi-0.6.0.tar.gz"
- version('0.6.0', sha256='b8dd3e963cd693fde1eb6bfbecf51790171aa3534fa299faf35cf269f2fd6063')
+ version("0.6.0", sha256="b8dd3e963cd693fde1eb6bfbecf51790171aa3534fa299faf35cf269f2fd6063")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-watchdog/package.py b/var/spack/repos/builtin/packages/py-watchdog/package.py
index 296301894d..63b9e76066 100644
--- a/var/spack/repos/builtin/packages/py-watchdog/package.py
+++ b/var/spack/repos/builtin/packages/py-watchdog/package.py
@@ -10,48 +10,53 @@ class PyWatchdog(PythonPackage):
"""Python library and shell utilities to monitor filesystem events."""
homepage = "https://github.com/gorakhargosh/watchdog"
- pypi = "watchdog/watchdog-0.10.3.tar.gz"
-
- version('2.1.6', sha256='a36e75df6c767cbf46f61a91c70b3ba71811dfa0aca4a324d9407a06a8b7a2e7')
- version('0.10.3', sha256='4214e1379d128b0588021880ccaf40317ee156d4603ac388b9adcf29165e0c04')
- version('0.10.2', sha256='c560efb643faed5ef28784b2245cf8874f939569717a4a12826a173ac644456b')
- version('0.10.1', sha256='d64786787b14c8c6a71a8cc014056776ba6b52e85d1164ef2ab50aec02723a3d')
- version('0.10.0', sha256='8e800496cdfb921cfdc62b58a11966d0d2203a35dc005b4b5b8e1ab3097b2eb5')
- version('0.9.0', sha256='965f658d0732de3188211932aeb0bb457587f04f63ab4c1e33eab878e9de961d')
- version('0.8.3', sha256='7e65882adb7746039b6f3876ee174952f8eaaa34491ba34333ddf1fe35de4162')
- version('0.8.2', sha256='33a9ab3ce2e6b1aca4d2a50752231668d69bdba4ab096d9742195ccfbef1e023')
- version('0.8.1', sha256='d6ec6be582b244834a888c8ccc2d451816184ab104b5454b5e5cd7649e8f671c')
- version('0.8.0', sha256='a86bb2d8b94bb4bf76fcc2ff36f741c0e511ec24c4d3a1059b47d49e377d64f5')
- version('0.7.1', sha256='54ca64fdf0a2fb23cecba6349f9587e62fd31840ae22a71898a65adb8c6b52f9')
-
- variant('watchmedo', default=False, when='@0.10:', description="Build optional watchmedo utility script")
-
- depends_on('python@2.6:2,3.2:', type=('build', 'run'), when='@0.9.0:')
- depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@0.10.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.1.6:')
-
- depends_on('py-setuptools', type='build')
-
- depends_on('py-pyyaml@3.9:', type=('build', 'run'), when='@0.7.1')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'), when='@0.8.0:0.8.3')
- depends_on('py-pyyaml@:3.12', type=('build', 'run'), when='@0.9.0 ^python@3.2')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'), when='@0.9.0 ^python@2.6:2,3.3:')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'), when='@0.10.0: +watchmedo')
- depends_on('py-pyyaml@3.10:', type=('build', 'run'), when='@2.1.6: +watchmedo')
-
- depends_on('py-argh@0.8.1:', type=('build', 'run'), when='@0.7.1')
- depends_on('py-argh@0.24.1:', type=('build', 'run'), when='@0.8.0:0.9.0')
- depends_on('py-argh@0.24.1:', type=('build', 'run'), when='@0.10.0:0.10.3 +watchmedo')
-
- depends_on('py-pathtools@0.1.1:', type=('build', 'run'), when='@0:0.10.3')
+ pypi = "watchdog/watchdog-0.10.3.tar.gz"
+
+ version("2.1.6", sha256="a36e75df6c767cbf46f61a91c70b3ba71811dfa0aca4a324d9407a06a8b7a2e7")
+ version("0.10.3", sha256="4214e1379d128b0588021880ccaf40317ee156d4603ac388b9adcf29165e0c04")
+ version("0.10.2", sha256="c560efb643faed5ef28784b2245cf8874f939569717a4a12826a173ac644456b")
+ version("0.10.1", sha256="d64786787b14c8c6a71a8cc014056776ba6b52e85d1164ef2ab50aec02723a3d")
+ version("0.10.0", sha256="8e800496cdfb921cfdc62b58a11966d0d2203a35dc005b4b5b8e1ab3097b2eb5")
+ version("0.9.0", sha256="965f658d0732de3188211932aeb0bb457587f04f63ab4c1e33eab878e9de961d")
+ version("0.8.3", sha256="7e65882adb7746039b6f3876ee174952f8eaaa34491ba34333ddf1fe35de4162")
+ version("0.8.2", sha256="33a9ab3ce2e6b1aca4d2a50752231668d69bdba4ab096d9742195ccfbef1e023")
+ version("0.8.1", sha256="d6ec6be582b244834a888c8ccc2d451816184ab104b5454b5e5cd7649e8f671c")
+ version("0.8.0", sha256="a86bb2d8b94bb4bf76fcc2ff36f741c0e511ec24c4d3a1059b47d49e377d64f5")
+ version("0.7.1", sha256="54ca64fdf0a2fb23cecba6349f9587e62fd31840ae22a71898a65adb8c6b52f9")
+
+ variant(
+ "watchmedo",
+ default=False,
+ when="@0.10:",
+ description="Build optional watchmedo utility script",
+ )
+
+ depends_on("python@2.6:2,3.2:", type=("build", "run"), when="@0.9.0:")
+ depends_on("python@2.7:2,3.4:", type=("build", "run"), when="@0.10.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.1.6:")
+
+ depends_on("py-setuptools", type="build")
+
+ depends_on("py-pyyaml@3.9:", type=("build", "run"), when="@0.7.1")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"), when="@0.8.0:0.8.3")
+ depends_on("py-pyyaml@:3.12", type=("build", "run"), when="@0.9.0 ^python@3.2")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"), when="@0.9.0 ^python@2.6:2,3.3:")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"), when="@0.10.0: +watchmedo")
+ depends_on("py-pyyaml@3.10:", type=("build", "run"), when="@2.1.6: +watchmedo")
+
+ depends_on("py-argh@0.8.1:", type=("build", "run"), when="@0.7.1")
+ depends_on("py-argh@0.24.1:", type=("build", "run"), when="@0.8.0:0.9.0")
+ depends_on("py-argh@0.24.1:", type=("build", "run"), when="@0.10.0:0.10.3 +watchmedo")
+
+ depends_on("py-pathtools@0.1.1:", type=("build", "run"), when="@0:0.10.3")
# Missing dependencies
- conflicts('platform=darwin', when='@0.10.0:0.10.1')
+ conflicts("platform=darwin", when="@0.10.0:0.10.1")
# depends_on('py-pyobjc-framework-cocoa@4.2.2:',
# when='@0.10.0:0.10.1 platform=darwin')
# depends_on('py-pyobjc-framework-fsevents@4.2.2:',
# when='@0.10.0:0.10.1 platform=darwin')
# Missing dependencies
- conflicts('platform=darwin', when='@:0.9.0 ^python@:2.6')
+ conflicts("platform=darwin", when="@:0.9.0 ^python@:2.6")
# depends_on('py-select-backport@0.2:', when='@:0.9.0 ^python@:2.6 platform=darwin')
diff --git a/var/spack/repos/builtin/packages/py-wcsaxes/package.py b/var/spack/repos/builtin/packages/py-wcsaxes/package.py
index 8d3a0b8d5a..ab426f428b 100644
--- a/var/spack/repos/builtin/packages/py-wcsaxes/package.py
+++ b/var/spack/repos/builtin/packages/py-wcsaxes/package.py
@@ -11,12 +11,12 @@ class PyWcsaxes(PythonPackage):
in Matplotlib."""
homepage = "https://wcsaxes.readthedocs.io/en/latest/index.html"
- url = "https://github.com/astrofrog/wcsaxes/archive/v0.8.tar.gz"
+ url = "https://github.com/astrofrog/wcsaxes/archive/v0.8.tar.gz"
- version('0.8', sha256='9c6addc1ec04cc99617850354b2c03dbd4099d2e43b45a81f8bc3069de9c8e83')
+ version("0.8", sha256="9c6addc1ec04cc99617850354b2c03dbd4099d2e43b45a81f8bc3069de9c8e83")
- extends('python', ignore=r'bin/')
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-astropy', type=('build', 'run'))
+ extends("python", ignore=r"bin/")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-astropy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wcwidth/package.py b/var/spack/repos/builtin/packages/py-wcwidth/package.py
index e3e9f6d9ed..e224278bef 100644
--- a/var/spack/repos/builtin/packages/py-wcwidth/package.py
+++ b/var/spack/repos/builtin/packages/py-wcwidth/package.py
@@ -11,8 +11,8 @@ class PyWcwidth(PythonPackage):
pypi = "wcwidth/wcwidth-0.1.7.tar.gz"
- version('0.2.5', sha256='c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83')
- version('0.1.7', sha256='3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e')
+ version("0.2.5", sha256="c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83")
+ version("0.1.7", sha256="3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e")
- depends_on('py-setuptools', type='build')
- depends_on('py-backports-functools-lru-cache@1.2.1:', when='@0.2.5: ^python@:3.1')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-backports-functools-lru-cache@1.2.1:", when="@0.2.5: ^python@:3.1")
diff --git a/var/spack/repos/builtin/packages/py-weave/package.py b/var/spack/repos/builtin/packages/py-weave/package.py
index fb858cc395..3674c0b37f 100644
--- a/var/spack/repos/builtin/packages/py-weave/package.py
+++ b/var/spack/repos/builtin/packages/py-weave/package.py
@@ -17,8 +17,8 @@ class PyWeave(PythonPackage):
homepage = "https://www.github.com/scipy/weave"
pypi = "weave/weave-0.17.0.tar.gz"
- version('0.17.0', sha256='2703f3ae6d23ad47b5f09b6bcb7affd0fb587120a0c973e7be40ef24de709998')
+ version("0.17.0", sha256="2703f3ae6d23ad47b5f09b6bcb7affd0fb587120a0c973e7be40ef24de709998")
- depends_on('python@2.6:2.8', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("python@2.6:2.8", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-webargs/package.py b/var/spack/repos/builtin/packages/py-webargs/package.py
index 5103742b4d..930dc52bea 100644
--- a/var/spack/repos/builtin/packages/py-webargs/package.py
+++ b/var/spack/repos/builtin/packages/py-webargs/package.py
@@ -12,13 +12,13 @@ class PyWebargs(PythonPackage):
Django, Bottle, Tornado, Pyramid, Falcon, and aiohttp."""
homepage = "https://github.com/marshmallow-code/webargs"
- pypi = "webargs/webargs-8.1.0.tar.gz"
+ pypi = "webargs/webargs-8.1.0.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('8.1.0', sha256='f1f0b7f054a22263cf750529fc0926709ca47da9a2c417d423ad88d9fa6a5d33')
+ version("8.1.0", sha256="f1f0b7f054a22263cf750529fc0926709ca47da9a2c417d423ad88d9fa6a5d33")
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-marshmallow@3.0.0:', type=('build', 'run'))
- depends_on('py-packaging', type=('build', 'run'))
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-marshmallow@3.0.0:", type=("build", "run"))
+ depends_on("py-packaging", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-webencodings/package.py b/var/spack/repos/builtin/packages/py-webencodings/package.py
index 6e7aed5712..f494a38cff 100644
--- a/var/spack/repos/builtin/packages/py-webencodings/package.py
+++ b/var/spack/repos/builtin/packages/py-webencodings/package.py
@@ -12,7 +12,7 @@ class PyWebencodings(PythonPackage):
homepage = "https://github.com/gsnedders/python-webencodings"
pypi = "webencodings/webencodings-0.5.1.tar.gz"
- version('0.5.1', sha256='b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923')
+ version("0.5.1", sha256="b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.6:2.8,3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-webkit-server/package.py b/var/spack/repos/builtin/packages/py-webkit-server/package.py
index 4cfdbbbcd2..201bc12a6a 100644
--- a/var/spack/repos/builtin/packages/py-webkit-server/package.py
+++ b/var/spack/repos/builtin/packages/py-webkit-server/package.py
@@ -11,10 +11,10 @@ class PyWebkitServer(PythonPackage):
homepage = "https://github.com/niklasb/webkit-server"
pypi = "webkit-server/webkit-server-1.0.tar.gz"
- git = "https://github.com/niklasb/webkit-server.git"
+ git = "https://github.com/niklasb/webkit-server.git"
- version('develop', branch='master')
- version('1.0', sha256='836dac18c823bf7737461a2d938c66c7b3601c858897e6c92c7ba0e33574a2bc')
+ version("develop", branch="master")
+ version("1.0", sha256="836dac18c823bf7737461a2d938c66c7b3601c858897e6c92c7ba0e33574a2bc")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-weblogo/package.py b/var/spack/repos/builtin/packages/py-weblogo/package.py
index 6089e35914..50c521dc9f 100644
--- a/var/spack/repos/builtin/packages/py-weblogo/package.py
+++ b/var/spack/repos/builtin/packages/py-weblogo/package.py
@@ -11,13 +11,13 @@ class PyWeblogo(PythonPackage):
sequence logos as easy and painless as possible."""
homepage = "http://weblogo.threeplusone.com"
- pypi = "weblogo/weblogo-3.6.0.tar.gz"
+ pypi = "weblogo/weblogo-3.6.0.tar.gz"
- version('3.6.0', sha256='af5a9f065581f18d71bd7c22b160c1e443932f22cab992d439d3dc8757c80a85')
- version('3.5.0', sha256='84e39ee7c4f70efea55d6a92b3efdc4d2602b3d32a793f98865bca35e6bd1133')
- version('3.4', sha256='1fb661df47252064dd6d59d3c340b24d87bebe9048ca9ada904ac1e95669e08f')
+ version("3.6.0", sha256="af5a9f065581f18d71bd7c22b160c1e443932f22cab992d439d3dc8757c80a85")
+ version("3.5.0", sha256="84e39ee7c4f70efea55d6a92b3efdc4d2602b3d32a793f98865bca35e6bd1133")
+ version("3.4", sha256="1fb661df47252064dd6d59d3c340b24d87bebe9048ca9ada904ac1e95669e08f")
- depends_on('py-setuptools', type='build')
- depends_on('ghostscript', type=('build', 'run'))
- depends_on('pdf2svg', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("ghostscript", type=("build", "run"))
+ depends_on("pdf2svg", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-webob/package.py b/var/spack/repos/builtin/packages/py-webob/package.py
index aa9663d651..cb034a5b11 100644
--- a/var/spack/repos/builtin/packages/py-webob/package.py
+++ b/var/spack/repos/builtin/packages/py-webob/package.py
@@ -10,9 +10,9 @@ class PyWebob(PythonPackage):
"""WebOb provides objects for HTTP requests and responses."""
homepage = "https://webob.org/"
- pypi = "WebOb/WebOb-1.8.7.tar.gz"
+ pypi = "WebOb/WebOb-1.8.7.tar.gz"
- version('1.8.7', sha256='b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323')
+ version("1.8.7", sha256="b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323")
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-websocket-client/package.py b/var/spack/repos/builtin/packages/py-websocket-client/package.py
index ca27bb2540..4fcb1939a8 100644
--- a/var/spack/repos/builtin/packages/py-websocket-client/package.py
+++ b/var/spack/repos/builtin/packages/py-websocket-client/package.py
@@ -13,17 +13,26 @@ class PyWebsocketClient(PythonPackage):
homepage = "https://github.com/websocket-client/websocket-client.git"
pypi = "websocket-client/websocket-client-0.57.0.tar.gz"
- version('1.2.1', sha256='8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d')
- version('0.57.0', sha256='d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010',
- url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.57.0.tar.gz')
- version('0.56.0', sha256='1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a',
- url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.56.0.tar.gz')
- version('0.48.0', sha256='18f1170e6a1b5463986739d9fd45c4308b0d025c1b2f9b88788d8f69e8a5eb4a',
- url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.48.0.tar.gz')
+ version("1.2.1", sha256="8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d")
+ version(
+ "0.57.0",
+ sha256="d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010",
+ url="https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.57.0.tar.gz",
+ )
+ version(
+ "0.56.0",
+ sha256="1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a",
+ url="https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.56.0.tar.gz",
+ )
+ version(
+ "0.48.0",
+ sha256="18f1170e6a1b5463986739d9fd45c4308b0d025c1b2f9b88788d8f69e8a5eb4a",
+ url="https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.48.0.tar.gz",
+ )
- depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@1.2.1:')
- depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'), when='@:1.2.0')
- depends_on('py-backports-ssl-match-hostname', when='^python@2.6:2.7.9', type=('build', 'run'))
- depends_on('py-argparse', when='^python@:2.6,3.0:3.1', type=('build', 'run'))
+ depends_on("python@2.6:2.8,3.4:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@1.2.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-six", type=("build", "run"), when="@:1.2.0")
+ depends_on("py-backports-ssl-match-hostname", when="^python@2.6:2.7.9", type=("build", "run"))
+ depends_on("py-argparse", when="^python@:2.6,3.0:3.1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-websockets/package.py b/var/spack/repos/builtin/packages/py-websockets/package.py
index 10ef5b47aa..93558dfe4e 100644
--- a/var/spack/repos/builtin/packages/py-websockets/package.py
+++ b/var/spack/repos/builtin/packages/py-websockets/package.py
@@ -12,12 +12,12 @@ class PyWebsockets(PythonPackage):
clients in Python with a focus on correctness and simplicity."""
homepage = "https://github.com/aaugustin/websockets"
- url = "https://github.com/aaugustin/websockets/archive/8.1.tar.gz"
+ url = "https://github.com/aaugustin/websockets/archive/8.1.tar.gz"
- version('10.3', sha256='f13384865a14e0beff240b8f835b5b6a105b32928854841f167d920b4be8e75e')
- version('10.1', sha256='181d2b25de5a437b36aefedaf006ecb6fa3aa1328ec0236cdde15f32f9d3ff6d')
- version('8.1', sha256='c19ce96ad5f7606127d3915364144df93fb865a215784b06048fae3d39364f14')
+ version("10.3", sha256="f13384865a14e0beff240b8f835b5b6a105b32928854841f167d920b4be8e75e")
+ version("10.1", sha256="181d2b25de5a437b36aefedaf006ecb6fa3aa1328ec0236cdde15f32f9d3ff6d")
+ version("8.1", sha256="c19ce96ad5f7606127d3915364144df93fb865a215784b06048fae3d39364f14")
- depends_on('py-setuptools', type='build')
- depends_on('python@3.6.1:', type=('build', 'run'))
- depends_on('python@3.7:', type=('build', 'run'), when="@10.1:")
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.6.1:", type=("build", "run"))
+ depends_on("python@3.7:", type=("build", "run"), when="@10.1:")
diff --git a/var/spack/repos/builtin/packages/py-werkzeug/package.py b/var/spack/repos/builtin/packages/py-werkzeug/package.py
index f53a17c334..7bac6e7c4f 100644
--- a/var/spack/repos/builtin/packages/py-werkzeug/package.py
+++ b/var/spack/repos/builtin/packages/py-werkzeug/package.py
@@ -12,19 +12,19 @@ class PyWerkzeug(PythonPackage):
homepage = "http://werkzeug.pocoo.org"
pypi = "Werkzeug/Werkzeug-0.16.0.tar.gz"
- version('2.0.2', sha256='aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a')
- version('0.16.0', sha256='7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7')
- version('0.15.6', sha256='0a24d43be6a7dce81bae05292356176d6c46d63e42a0dd3f9504b210a9cfaa43')
- version('0.15.5', sha256='a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6')
- version('0.15.4', sha256='a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6')
- version('0.15.3', sha256='cfd1281b1748288e59762c0e174d64d8bcb2b70e7c57bc4a1203c8825af24ac3')
- version('0.15.2', sha256='0a73e8bb2ff2feecfc5d56e6f458f5b99290ef34f565ffb2665801ff7de6af7a')
- version('0.15.1', sha256='ca5c2dcd367d6c0df87185b9082929d255358f5391923269335782b213d52655')
- version('0.15.0', sha256='590abe38f8be026d78457fe3b5200895b3543e58ac3fc1dd792c6333ea11af64')
- version('0.11.15', sha256='455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0')
- version('0.11.11', sha256='e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5')
+ version("2.0.2", sha256="aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a")
+ version("0.16.0", sha256="7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7")
+ version("0.15.6", sha256="0a24d43be6a7dce81bae05292356176d6c46d63e42a0dd3f9504b210a9cfaa43")
+ version("0.15.5", sha256="a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6")
+ version("0.15.4", sha256="a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6")
+ version("0.15.3", sha256="cfd1281b1748288e59762c0e174d64d8bcb2b70e7c57bc4a1203c8825af24ac3")
+ version("0.15.2", sha256="0a73e8bb2ff2feecfc5d56e6f458f5b99290ef34f565ffb2665801ff7de6af7a")
+ version("0.15.1", sha256="ca5c2dcd367d6c0df87185b9082929d255358f5391923269335782b213d52655")
+ version("0.15.0", sha256="590abe38f8be026d78457fe3b5200895b3543e58ac3fc1dd792c6333ea11af64")
+ version("0.11.15", sha256="455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0")
+ version("0.11.11", sha256="e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5")
- depends_on('python@3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-dataclasses', when='@2: ^python@:3.6', type=('build', 'run'))
+ depends_on("python@3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-dataclasses", when="@2: ^python@:3.6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wget/package.py b/var/spack/repos/builtin/packages/py-wget/package.py
index f87c593fb6..e59c863ccf 100644
--- a/var/spack/repos/builtin/packages/py-wget/package.py
+++ b/var/spack/repos/builtin/packages/py-wget/package.py
@@ -12,9 +12,9 @@ class PyWget(PythonPackage):
Download the file for your platform. If you're not sure which to choose,
learn more about installing packages."""
- pypi = "wget/wget-3.2.zip"
+ pypi = "wget/wget-3.2.zip"
- version('3.2', sha256='35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061')
+ version("3.2", sha256="35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-whatshap/package.py b/var/spack/repos/builtin/packages/py-whatshap/package.py
index c776fe9c9d..85a28649ed 100644
--- a/var/spack/repos/builtin/packages/py-whatshap/package.py
+++ b/var/spack/repos/builtin/packages/py-whatshap/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class PyWhatshap(PythonPackage):
"""WhatsHap is a software for phasing genomic variants using DNA
- sequencing reads, also called read-based phasing or haplotype
- assembly."""
+ sequencing reads, also called read-based phasing or haplotype
+ assembly."""
homepage = "https://whatshap.readthedocs.io/en/latest/"
- url = "https://bitbucket.org/whatshap/whatshap/get/v0.17.tar.gz"
+ url = "https://bitbucket.org/whatshap/whatshap/get/v0.17.tar.gz"
- version('0.17', sha256='5f342cbd28f5d3e79490754f067aa67e8bb059da1c042d944b9f75663ef6b055')
+ version("0.17", sha256="5f342cbd28f5d3e79490754f067aa67e8bb059da1c042d944b9f75663ef6b055")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.17:', type=('build', 'run'))
- depends_on('py-pysam@0.14.0:', type='run')
- depends_on('py-xopen', type='run')
- depends_on('py-pyvcf', type='run')
- depends_on('py-pyfaidx', type='run')
- depends_on('py-networkx', type='run')
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.17:", type=("build", "run"))
+ depends_on("py-pysam@0.14.0:", type="run")
+ depends_on("py-xopen", type="run")
+ depends_on("py-pyvcf", type="run")
+ depends_on("py-pyfaidx", type="run")
+ depends_on("py-networkx", type="run")
def patch(self):
# there is a stray \xe2 somewhere in setup.py,
# explicitly using utf-8 will let the install proceed
- filter_file('^"""$', '#coding: utf-8\n"""', 'setup.py')
+ filter_file('^"""$', '#coding: utf-8\n"""', "setup.py")
diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py
index a79281b305..5cda95de12 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -10,32 +10,78 @@ class PyWheel(Package):
"""A built-package format for Python."""
homepage = "https://github.com/pypa/wheel"
- url = "https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-0.34.2-py2.py3-none-any.whl"
+ url = (
+ "https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-0.34.2-py2.py3-none-any.whl"
+ )
list_url = "https://pypi.org/simple/wheel/"
- maintainers = ['adamjstewart']
-
- version('0.37.1', sha256='4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a', expand=False)
- version('0.37.0', sha256='21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd', expand=False)
- version('0.36.2', sha256='78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e', expand=False)
- version('0.35.1', sha256='497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2', expand=False)
- version('0.34.2', sha256='df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e', expand=False)
- version('0.33.6', sha256='f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28', expand=False)
- version('0.33.4', sha256='5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08', expand=False)
- version('0.33.1', sha256='8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668', expand=False)
- version('0.32.3', sha256='1e53cdb3f808d5ccd0df57f964263752aa74ea7359526d3da6c02114ec1e1d44', expand=False)
- version('0.29.0', sha256='ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd', expand=False)
- version('0.26.0', sha256='c92ed3a2dd87c54a9e20024fb0a206fe591c352c745fff21e8f8c6cdac2086ea', expand=False)
-
- extends('python')
- depends_on('python@2.7:2.8,3.5:', when='@0.34:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@0.30:', type=('build', 'run'))
- depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
- depends_on('py-pip', type='build')
+ maintainers = ["adamjstewart"]
+
+ version(
+ "0.37.1",
+ sha256="4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a",
+ expand=False,
+ )
+ version(
+ "0.37.0",
+ sha256="21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd",
+ expand=False,
+ )
+ version(
+ "0.36.2",
+ sha256="78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e",
+ expand=False,
+ )
+ version(
+ "0.35.1",
+ sha256="497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2",
+ expand=False,
+ )
+ version(
+ "0.34.2",
+ sha256="df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e",
+ expand=False,
+ )
+ version(
+ "0.33.6",
+ sha256="f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28",
+ expand=False,
+ )
+ version(
+ "0.33.4",
+ sha256="5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08",
+ expand=False,
+ )
+ version(
+ "0.33.1",
+ sha256="8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668",
+ expand=False,
+ )
+ version(
+ "0.32.3",
+ sha256="1e53cdb3f808d5ccd0df57f964263752aa74ea7359526d3da6c02114ec1e1d44",
+ expand=False,
+ )
+ version(
+ "0.29.0",
+ sha256="ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd",
+ expand=False,
+ )
+ version(
+ "0.26.0",
+ sha256="c92ed3a2dd87c54a9e20024fb0a206fe591c352c745fff21e8f8c6cdac2086ea",
+ expand=False,
+ )
+
+ extends("python")
+ depends_on("python@2.7:2.8,3.5:", when="@0.34:", type=("build", "run"))
+ depends_on("python@2.7:2.8,3.4:", when="@0.30:", type=("build", "run"))
+ depends_on("python@2.6:2.8,3.2:", type=("build", "run"))
+ depends_on("py-pip", type="build")
def install(self, spec, prefix):
# To build wheel from source, you need setuptools and wheel already installed.
# We get around this by using a pre-built wheel, see:
# https://discuss.python.org/t/bootstrapping-a-specific-version-of-pip/12306
- args = std_pip_args + ['--prefix=' + prefix, self.stage.archive_file]
+ args = std_pip_args + ["--prefix=" + prefix, self.stage.archive_file]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/py-whichcraft/package.py b/var/spack/repos/builtin/packages/py-whichcraft/package.py
index c0ed94af4d..ed9cea0e6a 100644
--- a/var/spack/repos/builtin/packages/py-whichcraft/package.py
+++ b/var/spack/repos/builtin/packages/py-whichcraft/package.py
@@ -10,8 +10,8 @@ class PyWhichcraft(PythonPackage):
"""Cross-platform cross-python shutil.which functionality."""
homepage = "https://github.com/pydanny/whichcraft"
- url = "https://github.com/pydanny/whichcraft/archive/0.4.1.tar.gz"
+ url = "https://github.com/pydanny/whichcraft/archive/0.4.1.tar.gz"
- version('0.4.1', sha256='66875022b3b9da8ddf7ab236c15670a782094550d07daeb51ceba4bc61b6b4aa')
+ version("0.4.1", sha256="66875022b3b9da8ddf7ab236c15670a782094550d07daeb51ceba4bc61b6b4aa")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-whoosh/package.py b/var/spack/repos/builtin/packages/py-whoosh/package.py
index ea42ad36ee..4afce718e0 100644
--- a/var/spack/repos/builtin/packages/py-whoosh/package.py
+++ b/var/spack/repos/builtin/packages/py-whoosh/package.py
@@ -10,8 +10,8 @@ class PyWhoosh(PythonPackage):
"""Fast, pure-Python full text indexing, search, and spell checking library."""
homepage = "https://whoosh.readthedocs.io"
- pypi = "Whoosh/Whoosh-2.7.4.tar.gz"
+ pypi = "Whoosh/Whoosh-2.7.4.tar.gz"
- version('2.7.4', sha256='7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83')
+ version("2.7.4", sha256="7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py b/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
index e87945c764..3ee2334825 100644
--- a/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
+++ b/var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
@@ -11,14 +11,14 @@ class PyWidgetsnbextension(PythonPackage):
pypi = "widgetsnbextension/widgetsnbextension-1.2.6.tar.gz"
- version('3.6.0', sha256='e84a7a9fcb9baf3d57106e184a7389a8f8eb935bf741a5eb9d60aa18cc029a80')
- version('3.5.1', sha256='079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7')
- version('3.4.2', sha256='fa618be8435447a017fd1bf2c7ae922d0428056cfc7449f7a8641edf76b48265')
- version('3.4.0', sha256='c9d6e426a1d79d132b57b93b368feba2c66eb7b0fd34bdb901716b4b88e94497')
- version('3.3.0', sha256='c5280a62d293735cdadc7b8884e2affcfb0488420ee09963577f042359726392')
- version('1.2.6', sha256='c618cfb32978c9517caf0b4ef3aec312f8dd138577745e7b0d4abfcc7315ce51')
+ version("3.6.0", sha256="e84a7a9fcb9baf3d57106e184a7389a8f8eb935bf741a5eb9d60aa18cc029a80")
+ version("3.5.1", sha256="079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7")
+ version("3.4.2", sha256="fa618be8435447a017fd1bf2c7ae922d0428056cfc7449f7a8641edf76b48265")
+ version("3.4.0", sha256="c9d6e426a1d79d132b57b93b368feba2c66eb7b0fd34bdb901716b4b88e94497")
+ version("3.3.0", sha256="c5280a62d293735cdadc7b8884e2affcfb0488420ee09963577f042359726392")
+ version("1.2.6", sha256="c618cfb32978c9517caf0b4ef3aec312f8dd138577745e7b0d4abfcc7315ce51")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-notebook@4.2.0:', type=('build', 'run'))
- depends_on('py-notebook@4.4.1:', type=('build', 'run'), when='@3.3.0:')
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
+ depends_on("py-notebook@4.2.0:", type=("build", "run"))
+ depends_on("py-notebook@4.4.1:", type=("build", "run"), when="@3.3.0:")
diff --git a/var/spack/repos/builtin/packages/py-wincertstore/package.py b/var/spack/repos/builtin/packages/py-wincertstore/package.py
index 657dd3dcdd..7159c30eb1 100644
--- a/var/spack/repos/builtin/packages/py-wincertstore/package.py
+++ b/var/spack/repos/builtin/packages/py-wincertstore/package.py
@@ -11,8 +11,8 @@ class PyWincertstore(PythonPackage):
It uses ctypes and Windows's sytem cert store API through crypt32.dll."""
homepage = "https://github.com/tiran/wincertstore"
- pypi = "wincertstore/wincertstore-0.2.zip"
+ pypi = "wincertstore/wincertstore-0.2.zip"
- version('0.2', sha256='780bd1557c9185c15d9f4221ea7f905cb20b93f7151ca8ccaed9714dce4b327a')
+ version("0.2", sha256="780bd1557c9185c15d9f4221ea7f905cb20b93f7151ca8ccaed9714dce4b327a")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-word2number/package.py b/var/spack/repos/builtin/packages/py-word2number/package.py
index 2a13297354..ea0cb176ae 100644
--- a/var/spack/repos/builtin/packages/py-word2number/package.py
+++ b/var/spack/repos/builtin/packages/py-word2number/package.py
@@ -13,8 +13,8 @@ class PyWord2number(PythonPackage):
billions)."""
homepage = "https://w2n.readthedocs.io"
- pypi = "word2number/word2number-1.1.zip"
+ pypi = "word2number/word2number-1.1.zip"
- version('1.1', sha256='70e27a5d387f67b04c71fbb7621c05930b19bfd26efd6851e6e0f9969dcde7d0')
+ version("1.1", sha256="70e27a5d387f67b04c71fbb7621c05930b19bfd26efd6851e6e0f9969dcde7d0")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-wordcloud/package.py b/var/spack/repos/builtin/packages/py-wordcloud/package.py
index 5d4bd73034..e399ac58eb 100644
--- a/var/spack/repos/builtin/packages/py-wordcloud/package.py
+++ b/var/spack/repos/builtin/packages/py-wordcloud/package.py
@@ -10,11 +10,11 @@ class PyWordcloud(PythonPackage):
"""A little word cloud generator in Python."""
homepage = "https://github.com/amueller/word_cloud"
- pypi = "wordcloud/wordcloud-1.8.1.tar.gz"
+ pypi = "wordcloud/wordcloud-1.8.1.tar.gz"
- version('1.8.1', sha256='e6ef771aac17c1cf8558c8d5ef025796184066d7b78f8118aefe011fb0d22952')
+ version("1.8.1", sha256="e6ef771aac17c1cf8558c8d5ef025796184066d7b78f8118aefe011fb0d22952")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.6.1:', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.6.1:", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-workload-automation/package.py b/var/spack/repos/builtin/packages/py-workload-automation/package.py
index c5a65d5313..e3f3871f15 100644
--- a/var/spack/repos/builtin/packages/py-workload-automation/package.py
+++ b/var/spack/repos/builtin/packages/py-workload-automation/package.py
@@ -11,28 +11,28 @@ class PyWorkloadAutomation(PythonPackage):
collecting measurements on Android and Linux devices."""
homepage = "https://github.com/ARM-software/workload-automation"
- url = "https://github.com/ARM-software/workload-automation/archive/v3.2.tar.gz"
+ url = "https://github.com/ARM-software/workload-automation/archive/v3.2.tar.gz"
- version('3.2', sha256='a3db9df6a9e0394231560ebe6ba491a513f6309e096eaed3db6f4cb924c393ea')
- version('3.1.4', sha256='217fc33a3739d011a086315ef86b90cf332c16d1b03c9dcd60d58c9fd1f37f98')
- version('3.1.3', sha256='152470808cf8dad8a833fd7b2cb7d77cf8aa5d1af404e37fa0a4ff3b07b925b2')
- version('3.1.2', sha256='8226a6abc5cbd96e3f1fd6df02891237a06cdddb8b1cc8916f255fcde20d3069')
- version('3.1.1', sha256='32a19be92e43439637c68d9146f21bb7a0ae7b8652c11dfc4b4bd66d59329ad4')
- version('3.1.0', sha256='f00aeef7a1412144c4139c23b4c48583880ba2147207646d96359f1d295d6ac3')
- version('3.0.0', sha256='8564b0c67541e3a212363403ee090dfff5e4df85770959a133c0979445b51c3c')
- version('2.7.0', sha256='e9005b9db18e205bf6c4b3e09b15a118abeede73700897427565340dcd589fbb')
- version('2.6.0', sha256='b94341fb067592cebe0db69fcf7c00c82f96b4eb7c7210e34b38473869824cce')
+ version("3.2", sha256="a3db9df6a9e0394231560ebe6ba491a513f6309e096eaed3db6f4cb924c393ea")
+ version("3.1.4", sha256="217fc33a3739d011a086315ef86b90cf332c16d1b03c9dcd60d58c9fd1f37f98")
+ version("3.1.3", sha256="152470808cf8dad8a833fd7b2cb7d77cf8aa5d1af404e37fa0a4ff3b07b925b2")
+ version("3.1.2", sha256="8226a6abc5cbd96e3f1fd6df02891237a06cdddb8b1cc8916f255fcde20d3069")
+ version("3.1.1", sha256="32a19be92e43439637c68d9146f21bb7a0ae7b8652c11dfc4b4bd66d59329ad4")
+ version("3.1.0", sha256="f00aeef7a1412144c4139c23b4c48583880ba2147207646d96359f1d295d6ac3")
+ version("3.0.0", sha256="8564b0c67541e3a212363403ee090dfff5e4df85770959a133c0979445b51c3c")
+ version("2.7.0", sha256="e9005b9db18e205bf6c4b3e09b15a118abeede73700897427565340dcd589fbb")
+ version("2.6.0", sha256="b94341fb067592cebe0db69fcf7c00c82f96b4eb7c7210e34b38473869824cce")
- depends_on('py-setuptools', type='build')
- depends_on('py-python-dateutil', type=('build', 'run'))
- depends_on('py-pexpect@3.3:', type=('build', 'run'))
- depends_on('py-pyserial', type=('build', 'run'))
- depends_on('py-colorama', type=('build', 'run'))
- depends_on('py-pyyaml@5.1:', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-wrapt', type=('build', 'run'))
- depends_on('py-pandas@0.23.0:', type=('build', 'run'), when='^python@3.5.3:')
- depends_on('py-pandas@0.23.0:0.24.2', type=('build', 'run'), when='^python@:3.5.2')
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-louie', type=('build', 'run'))
- depends_on('py-devlib', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-python-dateutil", type=("build", "run"))
+ depends_on("py-pexpect@3.3:", type=("build", "run"))
+ depends_on("py-pyserial", type=("build", "run"))
+ depends_on("py-colorama", type=("build", "run"))
+ depends_on("py-pyyaml@5.1:", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-wrapt", type=("build", "run"))
+ depends_on("py-pandas@0.23.0:", type=("build", "run"), when="^python@3.5.3:")
+ depends_on("py-pandas@0.23.0:0.24.2", type=("build", "run"), when="^python@:3.5.2")
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-louie", type=("build", "run"))
+ depends_on("py-devlib", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wradlib/package.py b/var/spack/repos/builtin/packages/py-wradlib/package.py
index 7244eadb7d..bc059727c6 100644
--- a/var/spack/repos/builtin/packages/py-wradlib/package.py
+++ b/var/spack/repos/builtin/packages/py-wradlib/package.py
@@ -16,20 +16,20 @@ class PyWradlib(PythonPackage):
homepage = "https://docs.wradlib.org"
pypi = "wradlib/wradlib-1.5.0.tar.gz"
- version('1.5.0', sha256='9bf0742d7235ea830e83c2269f6b5d1afd83d92696efce0a7bcdb0c4f6604784')
+ version("1.5.0", sha256="9bf0742d7235ea830e83c2269f6b5d1afd83d92696efce0a7bcdb0c4f6604784")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# recommended versions from https://docs.wradlib.org/en/stable/installation.html#dependencies
- depends_on('py-numpy@1.16:', type=('build', 'run'))
- depends_on('py-matplotlib@3.0.2:', type=('build', 'run'))
- depends_on('py-scipy@1.2.0:', type=('build', 'run'))
- depends_on('py-h5py@2.9:', type=('build', 'run'))
- depends_on('py-netcdf4@1.4.2:', type=('build', 'run'))
- depends_on('py-xarray@0.11.3:', type=('build', 'run'))
- depends_on('py-xmltodict@0.11:', type=('build', 'run'))
- depends_on('py-semver', type=('build', 'run'))
- depends_on('py-deprecation', type=('build', 'run'))
- depends_on('py-requests', type=('build', 'run'))
-
- depends_on('gdal@2.4.0:+python', type=('build', 'run'))
+ depends_on("py-numpy@1.16:", type=("build", "run"))
+ depends_on("py-matplotlib@3.0.2:", type=("build", "run"))
+ depends_on("py-scipy@1.2.0:", type=("build", "run"))
+ depends_on("py-h5py@2.9:", type=("build", "run"))
+ depends_on("py-netcdf4@1.4.2:", type=("build", "run"))
+ depends_on("py-xarray@0.11.3:", type=("build", "run"))
+ depends_on("py-xmltodict@0.11:", type=("build", "run"))
+ depends_on("py-semver", type=("build", "run"))
+ depends_on("py-deprecation", type=("build", "run"))
+ depends_on("py-requests", type=("build", "run"))
+
+ depends_on("gdal@2.4.0:+python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wrapt/package.py b/var/spack/repos/builtin/packages/py-wrapt/package.py
index 10d7195c6e..281f56f0b6 100644
--- a/var/spack/repos/builtin/packages/py-wrapt/package.py
+++ b/var/spack/repos/builtin/packages/py-wrapt/package.py
@@ -12,12 +12,12 @@ class PyWrapt(PythonPackage):
homepage = "https://github.com/GrahamDumpleton/wrapt"
pypi = "wrapt/wrapt-1.11.2.tar.gz"
- version('1.13.3', sha256='1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185')
- version('1.12.1', sha256='b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7')
- version('1.11.2', sha256='565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1')
- version('1.11.1', sha256='4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533')
- version('1.10.10', sha256='42160c91b77f1bc64a955890038e02f2f72986c01d462d53cb6cb039b995cdd9')
+ version("1.13.3", sha256="1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185")
+ version("1.12.1", sha256="b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7")
+ version("1.11.2", sha256="565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1")
+ version("1.11.1", sha256="4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533")
+ version("1.10.10", sha256="42160c91b77f1bc64a955890038e02f2f72986c01d462d53cb6cb039b995cdd9")
- depends_on('python@2.7:2,3.5:', when='@1.13.1:', type=('build', 'run'))
- depends_on('python@2.7:2,3.3:', when='@1.13:', type=('build', 'run'))
- depends_on('py-setuptools@38.3:', type='build')
+ depends_on("python@2.7:2,3.5:", when="@1.13.1:", type=("build", "run"))
+ depends_on("python@2.7:2,3.3:", when="@1.13:", type=("build", "run"))
+ depends_on("py-setuptools@38.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-wsproto/package.py b/var/spack/repos/builtin/packages/py-wsproto/package.py
index 920a608858..7257931b6c 100644
--- a/var/spack/repos/builtin/packages/py-wsproto/package.py
+++ b/var/spack/repos/builtin/packages/py-wsproto/package.py
@@ -15,11 +15,11 @@ class PyWsproto(PythonPackage):
paradigm."""
homepage = "https://github.com/python-hyper/wsproto/"
- pypi = "wsproto/wsproto-1.0.0.tar.gz"
+ pypi = "wsproto/wsproto-1.0.0.tar.gz"
- version('1.0.0', sha256='868776f8456997ad0d9720f7322b746bbe9193751b5b290b7f924659377c8c38')
+ version("1.0.0", sha256="868776f8456997ad0d9720f7322b746bbe9193751b5b290b7f924659377c8c38")
- depends_on('python@3.6.1:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-dataclasses', type=('build', 'run'), when='^python@:3.6')
- depends_on('py-h11@0.9.0:0', type=('build', 'run'))
+ depends_on("python@3.6.1:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-dataclasses", type=("build", "run"), when="^python@:3.6")
+ depends_on("py-h11@0.9.0:0", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wstool/package.py b/var/spack/repos/builtin/packages/py-wstool/package.py
index 181fd3e94f..5ee7de6e7e 100644
--- a/var/spack/repos/builtin/packages/py-wstool/package.py
+++ b/var/spack/repos/builtin/packages/py-wstool/package.py
@@ -14,8 +14,8 @@ class PyWstool(PythonPackage):
homepage = "https://wiki.ros.org/wstool"
pypi = "wstool/wstool-0.1.17.tar.gz"
- version('0.1.17', sha256='c79b4f110ef17004c24972d742d2c5f606b0f6b424295e7ed029a48e857de237')
+ version("0.1.17", sha256="c79b4f110ef17004c24972d742d2c5f606b0f6b424295e7ed029a48e857de237")
- depends_on('py-setuptools', type='build')
- depends_on('py-vcstools@0.1.38:', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-vcstools@0.1.38:", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wub/package.py b/var/spack/repos/builtin/packages/py-wub/package.py
index f92f992475..9acf32b2a4 100644
--- a/var/spack/repos/builtin/packages/py-wub/package.py
+++ b/var/spack/repos/builtin/packages/py-wub/package.py
@@ -12,20 +12,20 @@ class PyWub(PythonPackage):
"""
homepage = "https://github.com/nanoporetech/wub"
- url = "https://github.com/nanoporetech/wub/archive/v0.4.0.tar.gz"
+ url = "https://github.com/nanoporetech/wub/archive/v0.4.0.tar.gz"
- version('0.4.0', sha256='1526aa392bccac71b872211c45f5b403ad3d55f5762e0ed34ff9086bc1dab6fd')
+ version("0.4.0", sha256="1526aa392bccac71b872211c45f5b403ad3d55f5762e0ed34ff9086bc1dab6fd")
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-pytest', type=('build', 'run'))
- depends_on('py-pycmd', type=('build', 'run'))
- depends_on('py-biopython', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-seaborn', type=('build', 'run'))
- depends_on('py-editdistance', type=('build', 'run'))
- depends_on('py-pandas@0.20.2:', type=('build', 'run'))
- depends_on('py-pysam', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-statsmodels', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-pytest", type=("build", "run"))
+ depends_on("py-pycmd", type=("build", "run"))
+ depends_on("py-biopython", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"))
+ depends_on("py-editdistance", type=("build", "run"))
+ depends_on("py-pandas@0.20.2:", type=("build", "run"))
+ depends_on("py-pysam", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-statsmodels", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-wurlitzer/package.py b/var/spack/repos/builtin/packages/py-wurlitzer/package.py
index 35f2978927..00b721ff31 100644
--- a/var/spack/repos/builtin/packages/py-wurlitzer/package.py
+++ b/var/spack/repos/builtin/packages/py-wurlitzer/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class PyWurlitzer(PythonPackage):
"""Capture C-level stdout/stderr pipes in Python via os.dup2."""
- pypi = 'wurlitzer/wurlitzer-3.0.2.tar.gz'
+ pypi = "wurlitzer/wurlitzer-3.0.2.tar.gz"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('3.0.2', sha256='36051ac530ddb461a86b6227c4b09d95f30a1d1043de2b4a592e97ae8a84fcdf')
+ version("3.0.2", sha256="36051ac530ddb461a86b6227c4b09d95f30a1d1043de2b4a592e97ae8a84fcdf")
- depends_on('python+ctypes@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python+ctypes@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
# In some circumstances (unclear exactly what) Wurlitzer is unable to get
# stdout/stderr pointers from ctypes, so it falls back to trying to use
# cffi. If you encounter this, please add the dependency below.
diff --git a/var/spack/repos/builtin/packages/py-ww/package.py b/var/spack/repos/builtin/packages/py-ww/package.py
index 6664576485..049f598e8d 100644
--- a/var/spack/repos/builtin/packages/py-ww/package.py
+++ b/var/spack/repos/builtin/packages/py-ww/package.py
@@ -10,14 +10,14 @@ class PyWw(PythonPackage):
"""Wrappers for Python builtins with higher-level APIs."""
homepage = "https://github.com/tygs/ww/"
- pypi = "ww/ww-0.2.1.tar.gz"
+ pypi = "ww/ww-0.2.1.tar.gz"
- version('0.2.1', sha256='3664f1f91bf927fe597ab153e8df73c8954927258b3737220efd1cb9912ebd7e')
+ version("0.2.1", sha256="3664f1f91bf927fe597ab153e8df73c8954927258b3737220efd1cb9912ebd7e")
- depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pytest-runner", type="build")
- depends_on('py-chardet', type=('build', 'run'))
- depends_on('py-formatizer', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-chardet", type=("build", "run"))
+ depends_on("py-formatizer", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wxmplot/package.py b/var/spack/repos/builtin/packages/py-wxmplot/package.py
index 857a6d2b7c..20a09cdaf3 100644
--- a/var/spack/repos/builtin/packages/py-wxmplot/package.py
+++ b/var/spack/repos/builtin/packages/py-wxmplot/package.py
@@ -12,10 +12,10 @@ class PyWxmplot(PythonPackage):
homepage = "https://newville.github.io/wxmplot/"
pypi = "wxmplot/wxmplot-0.9.38.tar.gz"
- version('0.9.38', sha256='82dc64abb42bdd03ec7067a3aa2a475001f2bc8e4772149bae47facf460c0081')
+ version("0.9.38", sha256="82dc64abb42bdd03ec7067a3aa2a475001f2bc8e4772149bae47facf460c0081")
- depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.12:', type=('build', 'run'))
- depends_on('py-six@1.10:', type=('build', 'run'))
- depends_on('py-matplotlib@2.0:', type=('build', 'run'))
- depends_on('py-wxpython@4.0.3:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-numpy@1.12:", type=("build", "run"))
+ depends_on("py-six@1.10:", type=("build", "run"))
+ depends_on("py-matplotlib@2.0:", type=("build", "run"))
+ depends_on("py-wxpython@4.0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-wxpython/package.py b/var/spack/repos/builtin/packages/py-wxpython/package.py
index d780d74091..051fa142d8 100644
--- a/var/spack/repos/builtin/packages/py-wxpython/package.py
+++ b/var/spack/repos/builtin/packages/py-wxpython/package.py
@@ -12,16 +12,16 @@ class PyWxpython(PythonPackage):
homepage = "https://www.wxpython.org/"
pypi = "wxPython/wxPython-4.0.6.tar.gz"
- version('4.1.1', sha256='00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528')
- version('4.0.6', sha256='35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37')
+ version("4.1.1", sha256="00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528")
+ version("4.0.6", sha256="35cc8ae9dd5246e2c9861bb796026bbcb9fb083e4d49650f776622171ecdab37")
- depends_on('wxwidgets')
+ depends_on("wxwidgets")
# Needed for the build.py script
- depends_on('py-setuptools', type='build')
- depends_on('py-pathlib2', type='build')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pathlib2", type="build")
# Needed at runtime
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("pil", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-x21/package.py b/var/spack/repos/builtin/packages/py-x21/package.py
index 2ae98127ba..367caeeaac 100644
--- a/var/spack/repos/builtin/packages/py-x21/package.py
+++ b/var/spack/repos/builtin/packages/py-x21/package.py
@@ -17,50 +17,68 @@ class PyX21(PythonPackage):
def url_for_version(self, version):
url = "https://pypi.io/packages/cp{1}/x/x21/x21-{0}-cp{1}-cp{1}{2}-{3}.whl"
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
platform_string = "macosx_10_9_x86_64"
- elif sys.platform.startswith('linux'):
+ elif sys.platform.startswith("linux"):
platform_string = "manylinux_2_17_x86_64.manylinux2014_x86_64"
- py_ver = Version(version.string.split('y')[1])
+ py_ver = Version(version.string.split("y")[1])
- return url.format(version.string.split('-')[0],
- py_ver.joined,
- 'm' if py_ver == Version('3.7') else '',
- platform_string)
+ return url.format(
+ version.string.split("-")[0],
+ py_ver.joined,
+ "m" if py_ver == Version("3.7") else "",
+ platform_string,
+ )
- if sys.platform == 'darwin':
- version('0.2.6-py3.7',
- sha256='7367b7c93fba520e70cc29731baec5b95e7be32d7615dad4f1f034cd21c194bd',
- expand=False)
- version('0.2.6-py3.8',
- sha256='bbbfdb6b56562ecc81f0dc39e009713157011fbb50d47353eb25f633acf77204',
- expand=False)
- version('0.2.6-py3.9',
- sha256='d7b4f06a71ac27d05ae774752b3ca396134916427f371b5995b07f0f43205043',
- expand=False)
- version('0.2.6-py3.10',
- sha256='2cbda690757f1fc80edfe48fcb13f168068f1784f0cb8c300a0d8051714d0452',
- expand=False)
- elif sys.platform.startswith('linux'):
- version('0.2.6-py3.7',
- sha256='8b35248d0b049dd09985d1a45c6fa36dd39db2c9d805a96028ec3bf9dc80e0dd',
- expand=False)
- version('0.2.6-py3.8',
- sha256='64275052bcda784395bc613f750b8b5a6b1ddbfa4e7a590cb8e209543f0ca0c4',
- expand=False)
- version('0.2.6-py3.9',
- sha256='e20b29650fcbf0be116ac93511033bf10debc76261b7350e018ff91b92ff950d',
- expand=False)
- version('0.2.6-py3.10',
- sha256='7c5c58ff6dc81caac6815578f78cf545e719beb0bf4017f77120d38025d2bc7d',
- expand=False)
+ if sys.platform == "darwin":
+ version(
+ "0.2.6-py3.7",
+ sha256="7367b7c93fba520e70cc29731baec5b95e7be32d7615dad4f1f034cd21c194bd",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.8",
+ sha256="bbbfdb6b56562ecc81f0dc39e009713157011fbb50d47353eb25f633acf77204",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.9",
+ sha256="d7b4f06a71ac27d05ae774752b3ca396134916427f371b5995b07f0f43205043",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.10",
+ sha256="2cbda690757f1fc80edfe48fcb13f168068f1784f0cb8c300a0d8051714d0452",
+ expand=False,
+ )
+ elif sys.platform.startswith("linux"):
+ version(
+ "0.2.6-py3.7",
+ sha256="8b35248d0b049dd09985d1a45c6fa36dd39db2c9d805a96028ec3bf9dc80e0dd",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.8",
+ sha256="64275052bcda784395bc613f750b8b5a6b1ddbfa4e7a590cb8e209543f0ca0c4",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.9",
+ sha256="e20b29650fcbf0be116ac93511033bf10debc76261b7350e018ff91b92ff950d",
+ expand=False,
+ )
+ version(
+ "0.2.6-py3.10",
+ sha256="7c5c58ff6dc81caac6815578f78cf545e719beb0bf4017f77120d38025d2bc7d",
+ expand=False,
+ )
- depends_on('python@3.7.0:3.7', type=('build', 'run'), when='@0.2.6-py3.7')
- depends_on('python@3.8.0:3.8', type=('build', 'run'), when='@0.2.6-py3.8')
- depends_on('python@3.9.0:3.9', type=('build', 'run'), when='@0.2.6-py3.9')
- depends_on('python@3.10.0:3.10', type=('build', 'run'), when='@0.2.6-py3.10')
- depends_on('py-pynacl', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-tomli', type=('build', 'run'))
- depends_on('py-tomli-w', type=('build', 'run'))
+ depends_on("python@3.7.0:3.7", type=("build", "run"), when="@0.2.6-py3.7")
+ depends_on("python@3.8.0:3.8", type=("build", "run"), when="@0.2.6-py3.8")
+ depends_on("python@3.9.0:3.9", type=("build", "run"), when="@0.2.6-py3.9")
+ depends_on("python@3.10.0:3.10", type=("build", "run"), when="@0.2.6-py3.10")
+ depends_on("py-pynacl", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-tomli", type=("build", "run"))
+ depends_on("py-tomli-w", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-xarray/package.py b/var/spack/repos/builtin/packages/py-xarray/package.py
index 09baf8efac..2c1ab74967 100644
--- a/var/spack/repos/builtin/packages/py-xarray/package.py
+++ b/var/spack/repos/builtin/packages/py-xarray/package.py
@@ -15,63 +15,71 @@ class PyXarray(PythonPackage):
# 'xarray.tests' requires 'pytest'. Leave out of 'import_modules' to avoid
# unnecessary dependency.
import_modules = [
- 'xarray', 'xarray.core', 'xarray.plot', 'xarray.util',
- 'xarray.backends', 'xarray.coding'
+ "xarray",
+ "xarray.core",
+ "xarray.plot",
+ "xarray.util",
+ "xarray.backends",
+ "xarray.coding",
]
- version('2022.3.0', sha256='398344bf7d170477aaceff70210e11ebd69af6b156fe13978054d25c48729440')
- version('0.18.2', sha256='5d2e72a228286fcf60f66e16876bd27629a1a70bf64822c565f16515c4d10284')
- version('0.17.0', sha256='9c2edad2a4e588f9117c666a4249920b9717fb75703b96998cf65fcd4f60551f')
- version('0.16.2', sha256='38e8439d6c91bcd5b7c0fca349daf8e0643ac68850c987262d53526e9d7d01e4')
- version('0.14.0', sha256='a8b93e1b0af27fa7de199a2d36933f1f5acc9854783646b0f1b37fed9b4da091')
- version('0.13.0', sha256='80e5746ffdebb96b997dba0430ff02d98028ef3828e6db6106cbbd6d62e32825')
- version('0.12.0', sha256='856fd062c55208a248ac3784cac8d3524b355585387043efc92a4188eede57f3')
- version('0.11.0', sha256='636964baccfca0e5d69220ac4ecb948d561addc76f47704064dcbe399e03a818')
- version('0.9.1', sha256='89772ed0e23f0e71c3fb8323746374999ecbe79c113e3fadc7ae6374e6dc0525')
+ version("2022.3.0", sha256="398344bf7d170477aaceff70210e11ebd69af6b156fe13978054d25c48729440")
+ version("0.18.2", sha256="5d2e72a228286fcf60f66e16876bd27629a1a70bf64822c565f16515c4d10284")
+ version("0.17.0", sha256="9c2edad2a4e588f9117c666a4249920b9717fb75703b96998cf65fcd4f60551f")
+ version("0.16.2", sha256="38e8439d6c91bcd5b7c0fca349daf8e0643ac68850c987262d53526e9d7d01e4")
+ version("0.14.0", sha256="a8b93e1b0af27fa7de199a2d36933f1f5acc9854783646b0f1b37fed9b4da091")
+ version("0.13.0", sha256="80e5746ffdebb96b997dba0430ff02d98028ef3828e6db6106cbbd6d62e32825")
+ version("0.12.0", sha256="856fd062c55208a248ac3784cac8d3524b355585387043efc92a4188eede57f3")
+ version("0.11.0", sha256="636964baccfca0e5d69220ac4ecb948d561addc76f47704064dcbe399e03a818")
+ version("0.9.1", sha256="89772ed0e23f0e71c3fb8323746374999ecbe79c113e3fadc7ae6374e6dc0525")
- variant('io', default=False, description='Build io backends')
- variant('parallel', default=False, description='Build parallel backend')
+ variant("io", default=False, description="Build io backends")
+ variant("parallel", default=False, description="Build parallel backend")
# pyproject.toml
- depends_on('py-setuptools', when='@:0.15', type='build')
- depends_on('py-setuptools@38.4:', when='@0.16:', type=('build', 'run'))
- depends_on('py-setuptools@42:', when='@0.17:', type=('build', 'run'))
- depends_on('py-setuptools-scm', when='@0.15:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', when='@0.17:', type='build')
- depends_on('py-setuptools-scm-git-archive', when='@0.17:', type='build')
+ depends_on("py-setuptools", when="@:0.15", type="build")
+ depends_on("py-setuptools@38.4:", when="@0.16:", type=("build", "run"))
+ depends_on("py-setuptools@42:", when="@0.17:", type=("build", "run"))
+ depends_on("py-setuptools-scm", when="@0.15:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", when="@0.17:", type="build")
+ depends_on("py-setuptools-scm-git-archive", when="@0.17:", type="build")
# setup.cfg
- depends_on('python@2.7,3.5:', when='@0.11:', type=('build', 'run'))
- depends_on('python@3.5:', when='@0.12', type=('build', 'run'))
- depends_on('python@3.5.3:', when='@0.13', type=('build', 'run'))
- depends_on('python@3.6:', when='@0.14:', type=('build', 'run'))
- depends_on('python@3.7:', when='@0.17:', type=('build', 'run'))
- depends_on('python@3.8:', when='@0.21:', type=('build', 'run'))
+ depends_on("python@2.7,3.5:", when="@0.11:", type=("build", "run"))
+ depends_on("python@3.5:", when="@0.12", type=("build", "run"))
+ depends_on("python@3.5.3:", when="@0.13", type=("build", "run"))
+ depends_on("python@3.6:", when="@0.14:", type=("build", "run"))
+ depends_on("python@3.7:", when="@0.17:", type=("build", "run"))
+ depends_on("python@3.8:", when="@0.21:", type=("build", "run"))
- depends_on('py-numpy@1.7:', when='@0.9.1', type=('build', 'run'))
- depends_on('py-numpy@1.12:', when='@0.11:0.13', type=('build', 'run'))
- depends_on('py-numpy@1.14:', when='@0.14.0', type=('build', 'run'))
- depends_on('py-numpy@1.15:', when='@0.15:', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@0.18:', type=('build', 'run'))
- depends_on('py-numpy@1.18:', when='@0.20:', type=('build', 'run'))
+ depends_on("py-numpy@1.7:", when="@0.9.1", type=("build", "run"))
+ depends_on("py-numpy@1.12:", when="@0.11:0.13", type=("build", "run"))
+ depends_on("py-numpy@1.14:", when="@0.14.0", type=("build", "run"))
+ depends_on("py-numpy@1.15:", when="@0.15:", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@0.18:", type=("build", "run"))
+ depends_on("py-numpy@1.18:", when="@0.20:", type=("build", "run"))
- depends_on('py-pandas@0.15.0:', when='@0.9.1', type=('build', 'run'))
- depends_on('py-pandas@0.19.2:', when='@0.11:0.13', type=('build', 'run'))
- depends_on('py-pandas@0.24:', when='@0.14.0', type=('build', 'run'))
- depends_on('py-pandas@0.25:', when='@0.15:', type=('build', 'run'))
- depends_on('py-pandas@1:', when='@0.18:', type=('build', 'run'))
- depends_on('py-pandas@1.1:', when='@0.20:', type=('build', 'run'))
+ depends_on("py-pandas@0.15.0:", when="@0.9.1", type=("build", "run"))
+ depends_on("py-pandas@0.19.2:", when="@0.11:0.13", type=("build", "run"))
+ depends_on("py-pandas@0.24:", when="@0.14.0", type=("build", "run"))
+ depends_on("py-pandas@0.25:", when="@0.15:", type=("build", "run"))
+ depends_on("py-pandas@1:", when="@0.18:", type=("build", "run"))
+ depends_on("py-pandas@1.1:", when="@0.20:", type=("build", "run"))
- depends_on('py-packaging@20:', when='@0.21:', type=('build', 'run'))
+ depends_on("py-packaging@20:", when="@0.21:", type=("build", "run"))
- depends_on('py-netcdf4', when='+io', type=('build', 'run'))
- depends_on('py-h5netcdf', when='+io', type=('build', 'run'))
- depends_on('py-scipy', when='+io', type=('build', 'run'))
- depends_on('py-pydap', when='+io', type=('build', 'run'))
- depends_on('py-zarr', when='+io', type=('build', 'run'))
- depends_on('py-fsspec', when='+io', type=('build', 'run'))
- depends_on('py-cftime', when='+io', type=('build', 'run'))
- depends_on('py-rasterio', when='+io', type=('build', 'run'))
- depends_on('py-cfgrib', when='+io', type=('build', 'run'))
- depends_on('py-pooch', when='+io', type=('build', 'run'))
- depends_on('py-dask+array+dataframe+distributed+diagnostics+delayed', when='+parallel', type=('build', 'run'))
+ depends_on("py-netcdf4", when="+io", type=("build", "run"))
+ depends_on("py-h5netcdf", when="+io", type=("build", "run"))
+ depends_on("py-scipy", when="+io", type=("build", "run"))
+ depends_on("py-pydap", when="+io", type=("build", "run"))
+ depends_on("py-zarr", when="+io", type=("build", "run"))
+ depends_on("py-fsspec", when="+io", type=("build", "run"))
+ depends_on("py-cftime", when="+io", type=("build", "run"))
+ depends_on("py-rasterio", when="+io", type=("build", "run"))
+ depends_on("py-cfgrib", when="+io", type=("build", "run"))
+ depends_on("py-pooch", when="+io", type=("build", "run"))
+ depends_on(
+ "py-dask+array+dataframe+distributed+diagnostics+delayed",
+ when="+parallel",
+ type=("build", "run"),
+ )
diff --git a/var/spack/repos/builtin/packages/py-xattr/package.py b/var/spack/repos/builtin/packages/py-xattr/package.py
index df4c03194a..e7d9658ceb 100644
--- a/var/spack/repos/builtin/packages/py-xattr/package.py
+++ b/var/spack/repos/builtin/packages/py-xattr/package.py
@@ -16,8 +16,8 @@ class PyXattr(PythonPackage):
pypi = "xattr/xattr-0.9.6.tar.gz"
git = "https://github.com/iustin/pyxattr.git"
- version('master', branch='master')
- version('0.9.6', sha256='7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458')
+ version("master", branch="master")
+ version("0.9.6", sha256="7cb1b28eeab4fe99cc4350e831434142fce658f7d03f173ff7722144e6a47458")
- depends_on('python@2.7:')
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:")
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-xdot/package.py b/var/spack/repos/builtin/packages/py-xdot/package.py
index 846dfa7390..bae60388d7 100644
--- a/var/spack/repos/builtin/packages/py-xdot/package.py
+++ b/var/spack/repos/builtin/packages/py-xdot/package.py
@@ -12,58 +12,59 @@ class PyXdot(PythonPackage):
homepage = "https://github.com/jrfonseca/xdot.py"
pypi = "xdot/xdot-1.0.tar.gz"
- git = "https://github.com/jrfonseca/xdot.py.git"
- maintainers = ['lee218llnl']
+ git = "https://github.com/jrfonseca/xdot.py.git"
+ maintainers = ["lee218llnl"]
- version('master', branch='master')
- version('1.2', sha256='3df91e6c671869bd2a6b2a8883fa3476dbe2ba763bd2a7646cf848a9eba71b70')
- version('1.0', sha256='7e067896d729af82f1fd0758e265f129944d469c30f550e3f15dbdb751cc42a1')
- version('0.9', sha256='a33701664ecfefe7c7313a120a587e87334f3a566409bc451538fcde5edd6907')
+ version("master", branch="master")
+ version("1.2", sha256="3df91e6c671869bd2a6b2a8883fa3476dbe2ba763bd2a7646cf848a9eba71b70")
+ version("1.0", sha256="7e067896d729af82f1fd0758e265f129944d469c30f550e3f15dbdb751cc42a1")
+ version("0.9", sha256="a33701664ecfefe7c7313a120a587e87334f3a566409bc451538fcde5edd6907")
# setuptools is required at runtime to avoid:
# No module named 'pkg_resources'
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-pygobject', type=('build', 'run'))
- depends_on('py-pycairo', type=('build', 'run'))
- depends_on('pango', type=('build', 'run'))
- depends_on('harfbuzz', type=('build', 'run'))
- depends_on('atk', type=('build', 'run'))
- depends_on('gdk-pixbuf', type=('build', 'run'))
- depends_on('gtkplus', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'), when='@1.2:')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-pygobject", type=("build", "run"))
+ depends_on("py-pycairo", type=("build", "run"))
+ depends_on("pango", type=("build", "run"))
+ depends_on("harfbuzz", type=("build", "run"))
+ depends_on("atk", type=("build", "run"))
+ depends_on("gdk-pixbuf", type=("build", "run"))
+ depends_on("gtkplus", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"), when="@1.2:")
- @run_after('install')
+ @run_after("install")
def post_install(self):
spec = self.spec
- repo_paths = '%s:%s:%s:%s:%s' % (
- join_path(spec['pango'].prefix.lib, 'girepository-1.0'),
- join_path(spec['atk'].prefix.lib, 'girepository-1.0'),
- join_path(spec['gdk-pixbuf'].prefix.lib, 'girepository-1.0'),
- join_path(spec['gtkplus'].prefix.lib, 'girepository-1.0'),
- join_path(spec['harfbuzz'].prefix.lib, 'girepository-1.0'))
- dst = join_path(python_purelib, 'xdot', '__init__.py')
- filter_file("import sys",
- "import sys\nimport os\nos.environ['GI_TYPELIB_PATH']" +
- " = '%s'" % repo_paths, dst)
+ repo_paths = "%s:%s:%s:%s:%s" % (
+ join_path(spec["pango"].prefix.lib, "girepository-1.0"),
+ join_path(spec["atk"].prefix.lib, "girepository-1.0"),
+ join_path(spec["gdk-pixbuf"].prefix.lib, "girepository-1.0"),
+ join_path(spec["gtkplus"].prefix.lib, "girepository-1.0"),
+ join_path(spec["harfbuzz"].prefix.lib, "girepository-1.0"),
+ )
+ dst = join_path(python_purelib, "xdot", "__init__.py")
+ filter_file(
+ "import sys",
+ "import sys\nimport os\nos.environ['GI_TYPELIB_PATH']" + " = '%s'" % repo_paths,
+ dst,
+ )
# regenerate the byte-compiled __init__.py
- python3 = spec['python'].command
- python3('-m', 'compileall', dst)
+ python3 = spec["python"].command
+ python3("-m", "compileall", dst)
def setup_run_environment(self, env):
spec = self.spec
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(spec['harfbuzz'].prefix.lib,
- 'girepository-1.0'))
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(spec['pango'].prefix.lib,
- 'girepository-1.0'))
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(spec['atk'].prefix.lib,
- 'girepository-1.0'))
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(spec['gdk-pixbuf'].prefix.lib,
- 'girepository-1.0'))
- env.prepend_path('GI_TYPELIB_PATH',
- join_path(spec['gtkplus'].prefix.lib,
- 'girepository-1.0'))
+ env.prepend_path(
+ "GI_TYPELIB_PATH", join_path(spec["harfbuzz"].prefix.lib, "girepository-1.0")
+ )
+ env.prepend_path(
+ "GI_TYPELIB_PATH", join_path(spec["pango"].prefix.lib, "girepository-1.0")
+ )
+ env.prepend_path("GI_TYPELIB_PATH", join_path(spec["atk"].prefix.lib, "girepository-1.0"))
+ env.prepend_path(
+ "GI_TYPELIB_PATH", join_path(spec["gdk-pixbuf"].prefix.lib, "girepository-1.0")
+ )
+ env.prepend_path(
+ "GI_TYPELIB_PATH", join_path(spec["gtkplus"].prefix.lib, "girepository-1.0")
+ )
diff --git a/var/spack/repos/builtin/packages/py-xenv/package.py b/var/spack/repos/builtin/packages/py-xenv/package.py
index 73bd99c8f1..d3dde92c75 100644
--- a/var/spack/repos/builtin/packages/py-xenv/package.py
+++ b/var/spack/repos/builtin/packages/py-xenv/package.py
@@ -11,9 +11,9 @@ class PyXenv(PythonPackage):
homepage = "https://gitlab.cern.ch/gaudi/xenv"
pypi = "xenv/xenv-1.0.0.tar.gz"
- git = "https://gitlab.cern.ch/gaudi/xenv.git"
+ git = "https://gitlab.cern.ch/gaudi/xenv.git"
- version('develop', branch='master')
- version('1.0.0', sha256='cea9547295f0bd07c87e68353bb9eb1c2f2d1c09a840e3196c19cbc807ee4558')
+ version("develop", branch="master")
+ version("1.0.0", sha256="cea9547295f0bd07c87e68353bb9eb1c2f2d1c09a840e3196c19cbc807ee4558")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-xgboost/package.py b/var/spack/repos/builtin/packages/py-xgboost/package.py
index 2f7f518899..368df90ba4 100644
--- a/var/spack/repos/builtin/packages/py-xgboost/package.py
+++ b/var/spack/repos/builtin/packages/py-xgboost/package.py
@@ -12,52 +12,60 @@ class PyXgboost(PythonPackage):
"""XGBoost is an optimized distributed gradient boosting library designed to be
highly efficient, flexible and portable."""
- homepage = 'https://xgboost.ai/'
- pypi = 'xgboost/xgboost-1.3.3.tar.gz'
+ homepage = "https://xgboost.ai/"
+ pypi = "xgboost/xgboost-1.3.3.tar.gz"
- maintainers = ['adamjstewart']
- import_modules = ['xgboost']
+ maintainers = ["adamjstewart"]
+ import_modules = ["xgboost"]
- version('1.6.1', sha256='24072028656f3428e7b8aabf77340ece057f273e41f7f85d67ccaefb7454bb18')
- version('1.5.2', sha256='404dc09dca887ef5a9bc0268f882c54b33bfc16ac365a859a11e7b24d49da387')
- version('1.3.3', sha256='397051647bb837915f3ff24afc7d49f7fca57630ffd00fb5ef66ae2a0881fb43')
+ version("1.6.1", sha256="24072028656f3428e7b8aabf77340ece057f273e41f7f85d67ccaefb7454bb18")
+ version("1.5.2", sha256="404dc09dca887ef5a9bc0268f882c54b33bfc16ac365a859a11e7b24d49da387")
+ version("1.3.3", sha256="397051647bb837915f3ff24afc7d49f7fca57630ffd00fb5ef66ae2a0881fb43")
- variant('pandas', default=False, description='Enable Pandas extensions for training.')
- variant('scikit-learn', default=False, description='Enable scikit-learn extensions for training.')
- variant('dask', default=False, description='Enables Dask extensions for distributed training.')
- variant('plotting', default=False, description='Enables tree and importance plotting.')
+ variant("pandas", default=False, description="Enable Pandas extensions for training.")
+ variant(
+ "scikit-learn", default=False, description="Enable scikit-learn extensions for training."
+ )
+ variant("dask", default=False, description="Enables Dask extensions for distributed training.")
+ variant("plotting", default=False, description="Enables tree and importance plotting.")
- for ver in ['1.3.3', '1.5.2', '1.6.1']:
- depends_on('xgboost@' + ver, when='@' + ver)
+ for ver in ["1.3.3", "1.5.2", "1.6.1"]:
+ depends_on("xgboost@" + ver, when="@" + ver)
- depends_on('python@3.7:', when='@1.6:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
+ depends_on("python@3.7:", when="@1.6:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
- depends_on('py-pandas', when='+pandas', type=('build', 'run'))
+ depends_on("py-pandas", when="+pandas", type=("build", "run"))
- depends_on('py-scikit-learn', when='+scikit-learn', type=('build', 'run'))
+ depends_on("py-scikit-learn", when="+scikit-learn", type=("build", "run"))
- depends_on('py-dask', when='+dask', type=('build', 'run'))
- depends_on('py-pandas', when='+dask', type=('build', 'run'))
- depends_on('py-distributed', when='+dask', type=('build', 'run'))
+ depends_on("py-dask", when="+dask", type=("build", "run"))
+ depends_on("py-pandas", when="+dask", type=("build", "run"))
+ depends_on("py-distributed", when="+dask", type=("build", "run"))
- depends_on('py-graphviz', when='+plotting', type=('build', 'run'))
- depends_on('py-matplotlib', when='+plotting', type=('build', 'run'))
+ depends_on("py-graphviz", when="+plotting", type=("build", "run"))
+ depends_on("py-matplotlib", when="+plotting", type=("build", "run"))
def patch(self):
# https://github.com/dmlc/xgboost/issues/6706
# 'setup.py' is hard-coded to search in Python installation prefix
- filter_file("lib_path = os.path.join(sys.prefix, 'lib')",
- "lib_path = '{0}'".format(self.spec['xgboost'].libs.directories[0]),
- "setup.py", string=True)
+ filter_file(
+ "lib_path = os.path.join(sys.prefix, 'lib')",
+ "lib_path = '{0}'".format(self.spec["xgboost"].libs.directories[0]),
+ "setup.py",
+ string=True,
+ )
# Same for run-time search
- filter_file("os.path.join(curr_path, 'lib'),",
- "'{0}',".format(self.spec['xgboost'].libs.directories[0]),
- os.path.join('xgboost', 'libpath.py'), string=True)
+ filter_file(
+ "os.path.join(curr_path, 'lib'),",
+ "'{0}',".format(self.spec["xgboost"].libs.directories[0]),
+ os.path.join("xgboost", "libpath.py"),
+ string=True,
+ )
def install_options(self, spec, prefix):
- return ['--use-system-libxgboost']
+ return ["--use-system-libxgboost"]
diff --git a/var/spack/repos/builtin/packages/py-xlrd/package.py b/var/spack/repos/builtin/packages/py-xlrd/package.py
index a3bc546113..e28a9b1945 100644
--- a/var/spack/repos/builtin/packages/py-xlrd/package.py
+++ b/var/spack/repos/builtin/packages/py-xlrd/package.py
@@ -10,12 +10,12 @@ class PyXlrd(PythonPackage):
"""Library for developers to extract data from Microsoft Excel (tm)
spreadsheet files"""
- homepage = 'http://www.python-excel.org/'
+ homepage = "http://www.python-excel.org/"
pypi = "xlrd/xlrd-0.9.4.tar.gz"
- version('2.0.1', sha256='f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88')
- version('0.9.4', sha256='8e8d3359f39541a6ff937f4030db54864836a06e42988c452db5b6b86d29ea72')
+ version("2.0.1", sha256="f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88")
+ version("0.9.4", sha256="8e8d3359f39541a6ff937f4030db54864836a06e42988c452db5b6b86d29ea72")
- depends_on('python@2.7:2.8,3.6:', when='@2:', type=('build', 'run'))
- depends_on('python@2.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@2.7:2.8,3.6:", when="@2:", type=("build", "run"))
+ depends_on("python@2.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-xlsxwriter/package.py b/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
index 3799030917..1f05b728fd 100644
--- a/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
+++ b/var/spack/repos/builtin/packages/py-xlsxwriter/package.py
@@ -8,10 +8,10 @@ from spack.package import *
class PyXlsxwriter(PythonPackage):
"""XlsxWriter is a Python module for writing files in the Excel 2007+ XLSX
- file format."""
+ file format."""
pypi = "XlsxWriter/XlsxWriter-1.0.2.tar.gz"
- version('1.0.2', sha256='a26bbbafff88abffce592ffd5dfaa4c9f08dc44ef4afbf45c70d3e270325f856')
+ version("1.0.2", sha256="a26bbbafff88abffce592ffd5dfaa4c9f08dc44ef4afbf45c70d3e270325f856")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-xlwt/package.py b/var/spack/repos/builtin/packages/py-xlwt/package.py
index a9a71aa05e..c0168874ed 100644
--- a/var/spack/repos/builtin/packages/py-xlwt/package.py
+++ b/var/spack/repos/builtin/packages/py-xlwt/package.py
@@ -14,6 +14,6 @@ class PyXlwt(PythonPackage):
pypi = "xlwt/xlwt-1.3.0.tar.gz"
- version('1.3.0', sha256='c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88')
+ version("1.3.0", sha256="c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-xmlrunner/package.py b/var/spack/repos/builtin/packages/py-xmlrunner/package.py
index 7c8aff0758..6915735fb6 100644
--- a/var/spack/repos/builtin/packages/py-xmlrunner/package.py
+++ b/var/spack/repos/builtin/packages/py-xmlrunner/package.py
@@ -12,7 +12,7 @@ class PyXmlrunner(PythonPackage):
homepage = "https://github.com/pycontribs/xmlrunner"
pypi = "xmlrunner/xmlrunner-1.7.7.tar.gz"
- version('1.7.7', sha256='5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39')
+ version("1.7.7", sha256="5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39")
- depends_on('py-setuptools', type='build')
- depends_on('py-unittest2', type=('build', 'run'), when='^python@:2.8')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-unittest2", type=("build", "run"), when="^python@:2.8")
diff --git a/var/spack/repos/builtin/packages/py-xmltodict/package.py b/var/spack/repos/builtin/packages/py-xmltodict/package.py
index f1d23fc4c9..d80f985303 100644
--- a/var/spack/repos/builtin/packages/py-xmltodict/package.py
+++ b/var/spack/repos/builtin/packages/py-xmltodict/package.py
@@ -13,7 +13,7 @@ class PyXmltodict(PythonPackage):
homepage = "https://github.com/martinblech/xmltodict"
pypi = "xmltodict/xmltodict-0.12.0.tar.gz"
- version('0.12.0', sha256='50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21')
+ version("0.12.0", sha256="50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21")
- depends_on('py-setuptools', type='build')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-xonsh/package.py b/var/spack/repos/builtin/packages/py-xonsh/package.py
index 5ce506a52e..5cf8518d9f 100644
--- a/var/spack/repos/builtin/packages/py-xonsh/package.py
+++ b/var/spack/repos/builtin/packages/py-xonsh/package.py
@@ -11,11 +11,11 @@ class PyXonsh(PythonPackage):
"""Python-powered, cross-platform, Unix-gazing shell language and command prompt."""
homepage = "https://xon.sh/"
- pypi = "xonsh/xonsh-0.11.0.tar.gz"
+ pypi = "xonsh/xonsh-0.11.0.tar.gz"
- maintainers = ['mdorier']
+ maintainers = ["mdorier"]
- version('0.11.0', sha256='0d9c3d9a4e8b8199ae697fbc9d1e0ae55085cdbdd4306d04813350996f9c15dc')
+ version("0.11.0", sha256="0d9c3d9a4e8b8199ae697fbc9d1e0ae55085cdbdd4306d04813350996f9c15dc")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-xopen/package.py b/var/spack/repos/builtin/packages/py-xopen/package.py
index e6d9cadae3..801dcd5da9 100644
--- a/var/spack/repos/builtin/packages/py-xopen/package.py
+++ b/var/spack/repos/builtin/packages/py-xopen/package.py
@@ -15,16 +15,16 @@ class PyXopen(PythonPackage):
homepage = "https://github.com/marcelm/xopen"
pypi = "xopen/xopen-0.1.1.tar.gz"
- version('1.0.1', sha256='79d7e425fb0930b0153eb6beba9a540ca3e07ac254ca828577ad2e8fa24105dc')
- version('0.9.0', sha256='1e3918c8a5cd2bd128ba05b3b883ee322349219c99c305e10114638478e3162a')
- version('0.8.4', sha256='dcd8f5ef5da5564f514a990573a48a0c347ee1fdbb9b6374d31592819868f7ba')
- version('0.8.2', sha256='003749e09af74103a29e9c64c468c03e084aa6dfe6feff4fe22366679a6534f7')
- version('0.5.0', sha256='b097cd25e8afec42b6e1780c1f6315016171b5b6936100cdf307d121e2cbab9f')
- version('0.1.1', sha256='d1320ca46ed464a59db4c27c7a44caf5e268301e68319f0295d06bf6a9afa6f3')
+ version("1.0.1", sha256="79d7e425fb0930b0153eb6beba9a540ca3e07ac254ca828577ad2e8fa24105dc")
+ version("0.9.0", sha256="1e3918c8a5cd2bd128ba05b3b883ee322349219c99c305e10114638478e3162a")
+ version("0.8.4", sha256="dcd8f5ef5da5564f514a990573a48a0c347ee1fdbb9b6374d31592819868f7ba")
+ version("0.8.2", sha256="003749e09af74103a29e9c64c468c03e084aa6dfe6feff4fe22366679a6534f7")
+ version("0.5.0", sha256="b097cd25e8afec42b6e1780c1f6315016171b5b6936100cdf307d121e2cbab9f")
+ version("0.1.1", sha256="d1320ca46ed464a59db4c27c7a44caf5e268301e68319f0295d06bf6a9afa6f3")
- depends_on('python@3.5:', type=('build', 'run'), when='@0.9.0:')
- depends_on('python@2.7,3.4:', type=('build', 'run'), when='@0.5:0.8')
- depends_on('python@2.6:2,3.3:', type=('build', 'run'), when='@0.1.1')
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools-scm', type='build')
- depends_on('py-bz2file', type=('build', 'run'), when='@0.5: ^python@:2.8')
+ depends_on("python@3.5:", type=("build", "run"), when="@0.9.0:")
+ depends_on("python@2.7,3.4:", type=("build", "run"), when="@0.5:0.8")
+ depends_on("python@2.6:2,3.3:", type=("build", "run"), when="@0.1.1")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools-scm", type="build")
+ depends_on("py-bz2file", type=("build", "run"), when="@0.5: ^python@:2.8")
diff --git a/var/spack/repos/builtin/packages/py-xpyb/package.py b/var/spack/repos/builtin/packages/py-xpyb/package.py
index 83ba50f36d..fd4f085225 100644
--- a/var/spack/repos/builtin/packages/py-xpyb/package.py
+++ b/var/spack/repos/builtin/packages/py-xpyb/package.py
@@ -11,12 +11,12 @@ class PyXpyb(AutotoolsPackage):
via libxcb."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xpyb-1.3.1.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xpyb-1.3.1.tar.gz"
- version('1.3.1', sha256='4056d11f94f17ed4342563955682193c7d004e80e5fa689816f87f3795549c17')
+ version("1.3.1", sha256="4056d11f94f17ed4342563955682193c7d004e80e5fa689816f87f3795549c17")
- extends('python')
+ extends("python")
- depends_on('libxcb@1.5:')
+ depends_on("libxcb@1.5:")
- depends_on('xcb-proto@1.7.1:')
+ depends_on("xcb-proto@1.7.1:")
diff --git a/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py b/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py
index 571423736f..3789dc8472 100644
--- a/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py
+++ b/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py
@@ -10,10 +10,10 @@ class PyXrootdpyfs(PythonPackage):
"""XRootDPyFS is a PyFilesystem interface to XRootD."""
homepage = "http://github.com/inveniosoftware/xrootdpyfs/"
- pypi = "xrootdpyfs/xrootdpyfs-0.2.2.tar.gz"
+ pypi = "xrootdpyfs/xrootdpyfs-0.2.2.tar.gz"
- version('0.2.2', sha256='43698c260f3ec52320c6bfac8dd3e7c2be7d28e9e9f58edf4f916578114e82bf')
+ version("0.2.2", sha256="43698c260f3ec52320c6bfac8dd3e7c2be7d28e9e9f58edf4f916578114e82bf")
- depends_on('py-setuptools', type='build')
- depends_on('py-fs@0.5.4:1', type=('build', 'run'))
- depends_on('xrootd@4.8.4:4 +python', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-fs@0.5.4:1", type=("build", "run"))
+ depends_on("xrootd@4.8.4:4 +python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
index b91aff2fef..2a5119ce7b 100644
--- a/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
+++ b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py
@@ -11,7 +11,7 @@ class PyXvfbwrapper(PythonPackage):
pypi = "xvfbwrapper/xvfbwrapper-0.2.9.tar.gz"
- version('0.2.9', sha256='bcf4ae571941b40254faf7a73432dfc119ad21ce688f1fdec533067037ecfc24')
+ version("0.2.9", sha256="bcf4ae571941b40254faf7a73432dfc119ad21ce688f1fdec533067037ecfc24")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
# Eventually add xvfb!
diff --git a/var/spack/repos/builtin/packages/py-xxhash/package.py b/var/spack/repos/builtin/packages/py-xxhash/package.py
index 64ef267c09..9c05d8cb88 100644
--- a/var/spack/repos/builtin/packages/py-xxhash/package.py
+++ b/var/spack/repos/builtin/packages/py-xxhash/package.py
@@ -11,13 +11,13 @@ class PyXxhash(PythonPackage):
Yann Collet."""
homepage = "https://github.com/ifduyue/python-xxhash"
- pypi = "xxhash/xxhash-2.0.2.tar.gz"
+ pypi = "xxhash/xxhash-2.0.2.tar.gz"
- version('2.0.2', sha256='b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49')
+ version("2.0.2", sha256="b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49")
- depends_on('python@2.6:2,3.3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('xxhash@0.8.0')
+ depends_on("python@2.6:2,3.3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("xxhash@0.8.0")
def setup_build_environment(self, env):
- env.set('XXHASH_LINK_SO', '1')
+ env.set("XXHASH_LINK_SO", "1")
diff --git a/var/spack/repos/builtin/packages/py-yacs/package.py b/var/spack/repos/builtin/packages/py-yacs/package.py
index 99639d9539..c97433a2f5 100644
--- a/var/spack/repos/builtin/packages/py-yacs/package.py
+++ b/var/spack/repos/builtin/packages/py-yacs/package.py
@@ -15,6 +15,6 @@ class PyYacs(PythonPackage):
homepage = "https://github.com/rbgirshick/yacs"
pypi = "yacs/yacs-0.1.8.tar.gz"
- version('0.1.8', sha256='efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyyaml', type=('build', 'run'))
+ version("0.1.8", sha256="efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384")
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pyyaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-yahmm/package.py b/var/spack/repos/builtin/packages/py-yahmm/package.py
index 73f9183de5..10da87efb3 100644
--- a/var/spack/repos/builtin/packages/py-yahmm/package.py
+++ b/var/spack/repos/builtin/packages/py-yahmm/package.py
@@ -11,13 +11,13 @@ class PyYahmm(PythonPackage):
pypi = "yahmm/yahmm-1.1.3.zip"
- version('1.1.3', sha256='fe3614ef96da9410468976756fb93dc8235485242c05df01d8e5ed356a7dfb43')
- version('1.1.2', sha256='5e81077323dc6da9fb792169b639f29e5293b0c8272e4c22b204ca95ac0df90a')
+ version("1.1.3", sha256="fe3614ef96da9410468976756fb93dc8235485242c05df01d8e5ed356a7dfb43")
+ version("1.1.2", sha256="5e81077323dc6da9fb792169b639f29e5293b0c8272e4c22b204ca95ac0df90a")
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.20.1:', type=('build', 'run'))
- depends_on('py-numpy@1.8.0:', type=('build', 'run'))
- depends_on('py-scipy@0.13.3:', type=('build', 'run'))
- depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
- depends_on('py-networkx@1.8.1:', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-cython@0.20.1:", type=("build", "run"))
+ depends_on("py-numpy@1.8.0:", type=("build", "run"))
+ depends_on("py-scipy@0.13.3:", type=("build", "run"))
+ depends_on("py-matplotlib@1.3.1:", type=("build", "run"))
+ depends_on("py-networkx@1.8.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-yajl/package.py b/var/spack/repos/builtin/packages/py-yajl/package.py
index 9a062ffa36..e3be69cb7c 100644
--- a/var/spack/repos/builtin/packages/py-yajl/package.py
+++ b/var/spack/repos/builtin/packages/py-yajl/package.py
@@ -12,6 +12,6 @@ class PyYajl(PythonPackage):
homepage = "https://github.com/rtyler/py-yajl"
pypi = "yajl/yajl-0.3.5.tar.gz"
- version('0.3.5', sha256='432321ea613692a4782a2368a300f57b59c64a3c8508c7465af3fdc045e7bcc2')
+ version("0.3.5", sha256="432321ea613692a4782a2368a300f57b59c64a3c8508c7465af3fdc045e7bcc2")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-yamlreader/package.py b/var/spack/repos/builtin/packages/py-yamlreader/package.py
index 20be1b60db..f6baadc75b 100644
--- a/var/spack/repos/builtin/packages/py-yamlreader/package.py
+++ b/var/spack/repos/builtin/packages/py-yamlreader/package.py
@@ -13,8 +13,8 @@ class PyYamlreader(PythonPackage):
homepage = "https://pyyaml.org/wiki/PyYAML"
pypi = "yamlreader/yamlreader-3.0.4.tar.gz"
- version('3.0.4', sha256='765688036d57104ac26e4500ab088d42f4f2d06687ce3daa26543d7ae38c2470')
+ version("3.0.4", sha256="765688036d57104ac26e4500ab088d42f4f2d06687ce3daa26543d7ae38c2470")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-yapf/package.py b/var/spack/repos/builtin/packages/py-yapf/package.py
index 7148d108f9..f48c857773 100644
--- a/var/spack/repos/builtin/packages/py-yapf/package.py
+++ b/var/spack/repos/builtin/packages/py-yapf/package.py
@@ -7,13 +7,14 @@ from spack.package import *
class PyYapf(PythonPackage):
- """ Yet Another Python Formatter """
+ """Yet Another Python Formatter"""
+
homepage = "https://github.com/google/yapf"
# base https://pypi.python.org/pypi/cffi
- url = "https://github.com/google/yapf/archive/v0.2.1.tar.gz"
+ url = "https://github.com/google/yapf/archive/v0.2.1.tar.gz"
- version('0.30.0', sha256='9f561af26f8d27c3a334d3d2ee8947b8826a86691087e447ce483512d834682c')
- version('0.29.0', sha256='f4bc9924de51d30da0241503d56e9e26a1a583bc58b3a13b2c450c4d16c9920d')
- version('0.2.1', sha256='13158055acd8e3c2f3a577528051a1c5057237f699150211a86fb405c4ea3936')
+ version("0.30.0", sha256="9f561af26f8d27c3a334d3d2ee8947b8826a86691087e447ce483512d834682c")
+ version("0.29.0", sha256="f4bc9924de51d30da0241503d56e9e26a1a583bc58b3a13b2c450c4d16c9920d")
+ version("0.2.1", sha256="13158055acd8e3c2f3a577528051a1c5057237f699150211a86fb405c4ea3936")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-yarl/package.py b/var/spack/repos/builtin/packages/py-yarl/package.py
index c18007a046..60e7b1c61a 100644
--- a/var/spack/repos/builtin/packages/py-yarl/package.py
+++ b/var/spack/repos/builtin/packages/py-yarl/package.py
@@ -13,28 +13,24 @@ class PyYarl(PythonPackage):
homepage = "https://github.com/aio-libs/yarl"
pypi = "yarl/yarl-1.4.2.tar.gz"
- version('1.7.2', sha256='45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd')
- version('1.4.2', sha256='58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b')
- version('1.3.0', sha256='024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9')
-
- depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-setuptools@40:', type='build', when='@1.7.2:')
- depends_on('py-cython', type='build')
- depends_on('py-multidict@4.0:', type=('build', 'run'))
- depends_on('py-idna@2.0:', type=('build', 'run'))
- depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='@1.7.2: ^python@:3.7')
-
- @run_before('install')
+ version("1.7.2", sha256="45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd")
+ version("1.4.2", sha256="58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b")
+ version("1.3.0", sha256="024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9")
+
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-setuptools@40:", type="build", when="@1.7.2:")
+ depends_on("py-cython", type="build")
+ depends_on("py-multidict@4.0:", type=("build", "run"))
+ depends_on("py-idna@2.0:", type=("build", "run"))
+ depends_on("py-typing-extensions@3.7.4:", type=("build", "run"), when="@1.7.2: ^python@:3.7")
+
+ @run_before("install")
def fix_cython(self):
- if self.spec.satisfies('@1.7.2:'):
- pyxfile = 'yarl/_quoting_c'
+ if self.spec.satisfies("@1.7.2:"):
+ pyxfile = "yarl/_quoting_c"
else:
- pyxfile = 'yarl/_quoting'
-
- cython = self.spec['py-cython'].command
- cython('-3',
- '-o',
- pyxfile + '.c',
- pyxfile + '.pyx',
- '-Iyarl')
+ pyxfile = "yarl/_quoting"
+
+ cython = self.spec["py-cython"].command
+ cython("-3", "-o", pyxfile + ".c", pyxfile + ".pyx", "-Iyarl")
diff --git a/var/spack/repos/builtin/packages/py-yaspin/package.py b/var/spack/repos/builtin/packages/py-yaspin/package.py
index 5fd993f4bb..72f6384b65 100644
--- a/var/spack/repos/builtin/packages/py-yaspin/package.py
+++ b/var/spack/repos/builtin/packages/py-yaspin/package.py
@@ -10,11 +10,11 @@ class PyYaspin(PythonPackage):
"""Yet Another Terminal Spinner"""
homepage = "https://github.com/pavdmyt/yaspin"
- pypi = "yaspin/yaspin-2.1.0.tar.gz"
+ pypi = "yaspin/yaspin-2.1.0.tar.gz"
- version('2.1.0', sha256='c8d34eca9fda3f4dfbe59f57f3cf0f3641af3eefbf1544fbeb9b3bacf82c580a')
+ version("2.1.0", sha256="c8d34eca9fda3f4dfbe59f57f3cf0f3641af3eefbf1544fbeb9b3bacf82c580a")
- depends_on('python@3.6.2:3', type=('build', 'run'))
- depends_on('py-poetry-core@1:', type='build')
- depends_on('py-termcolor@1.1.0:1', type=('build', 'run'))
- depends_on('py-dataclasses@0.8', type=('build', 'run'), when='^python@3.6')
+ depends_on("python@3.6.2:3", type=("build", "run"))
+ depends_on("py-poetry-core@1:", type="build")
+ depends_on("py-termcolor@1.1.0:1", type=("build", "run"))
+ depends_on("py-dataclasses@0.8", type=("build", "run"), when="^python@3.6")
diff --git a/var/spack/repos/builtin/packages/py-yolk3k/package.py b/var/spack/repos/builtin/packages/py-yolk3k/package.py
index c96c2b4303..c335d4be83 100644
--- a/var/spack/repos/builtin/packages/py-yolk3k/package.py
+++ b/var/spack/repos/builtin/packages/py-yolk3k/package.py
@@ -15,6 +15,6 @@ class PyYolk3k(PythonPackage):
homepage = "https://github.com/myint/yolk"
pypi = "yolk3k/yolk3k-0.9.tar.gz"
- version('0.9', sha256='cf8731dd0a9f7ef50b5dc253fe0174383e3fed295a653672aa918c059eef86ae')
+ version("0.9", sha256="cf8731dd0a9f7ef50b5dc253fe0174383e3fed295a653672aa918c059eef86ae")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-youtube-dl/package.py b/var/spack/repos/builtin/packages/py-youtube-dl/package.py
index b91f16c5e2..8c46230dd8 100644
--- a/var/spack/repos/builtin/packages/py-youtube-dl/package.py
+++ b/var/spack/repos/builtin/packages/py-youtube-dl/package.py
@@ -13,7 +13,7 @@ class PyYoutubeDl(PythonPackage):
homepage = "https://github.com/ytdl-org/youtube-dl"
pypi = "youtube_dl/youtube_dl-2020.3.24.tar.gz"
- version('2020.3.24', sha256='4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633')
+ version("2020.3.24", sha256="4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('ffmpeg+openssl', type='run')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("ffmpeg+openssl", type="run")
diff --git a/var/spack/repos/builtin/packages/py-yq/package.py b/var/spack/repos/builtin/packages/py-yq/package.py
index 7931b7c57a..f952a08798 100644
--- a/var/spack/repos/builtin/packages/py-yq/package.py
+++ b/var/spack/repos/builtin/packages/py-yq/package.py
@@ -10,14 +10,14 @@ class PyYq(PythonPackage):
"""yq takes YAML input, converts it to JSON, and pipes it to jq"""
homepage = "https://github.com/kislyuk/yq"
- pypi = "yq/yq-2.12.2.tar.gz"
+ pypi = "yq/yq-2.12.2.tar.gz"
- maintainers = ['qwertos']
+ maintainers = ["qwertos"]
- version('2.12.2', sha256='2f156d0724b61487ac8752ed4eaa702a5737b804d5afa46fa55866951cd106d2')
+ version("2.12.2", sha256="2f156d0724b61487ac8752ed4eaa702a5737b804d5afa46fa55866951cd106d2")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-toml@0.10.0:', type=('build', 'run'))
- depends_on('py-pyyaml@3.11:', type=('build', 'run'))
- depends_on('py-argcomplete@1.8.1:', type=('build', 'run'))
- depends_on('py-xmltodict@0.11.0:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-toml@0.10.0:", type=("build", "run"))
+ depends_on("py-pyyaml@3.11:", type=("build", "run"))
+ depends_on("py-argcomplete@1.8.1:", type=("build", "run"))
+ depends_on("py-xmltodict@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-yt/package.py b/var/spack/repos/builtin/packages/py-yt/package.py
index 2a956e355f..f36e483098 100644
--- a/var/spack/repos/builtin/packages/py-yt/package.py
+++ b/var/spack/repos/builtin/packages/py-yt/package.py
@@ -10,61 +10,62 @@ from spack.package import *
class PyYt(PythonPackage):
"""Volumetric Data Analysis
- yt is a python package for analyzing and visualizing
- volumetric, multi-resolution data from astrophysical
- simulations, radio telescopes, and a burgeoning
- interdisciplinary community.
+ yt is a python package for analyzing and visualizing
+ volumetric, multi-resolution data from astrophysical
+ simulations, radio telescopes, and a burgeoning
+ interdisciplinary community.
"""
+
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"
+ url = "https://github.com/yt-project/yt/archive/yt-3.5.0.tar.gz"
+ git = "https://github.com/yt-project/yt.git"
- maintainers = ['qobilidop']
+ maintainers = ["qobilidop"]
version("develop", branch="master")
version("develop-4.0", branch="yt-4.0")
- version('3.6.1', sha256='a1be3ea7e18729d3cd86e9234dc4731bf23200dff3344fa756fe173ea36cc747')
- version('3.6.0', sha256='4e3bab11766d5950477ba4d6c528a495e12cda1155227361b4579ac4ac0bf975')
- version('3.5.1', sha256='cdc0ecb153e737d74820581f311d1be7b6f1a7ee065ad69706470939db88b041')
- version('3.5.0', sha256='548598912adba72b782b7422d40d1d12a8c1a6cd064281a9a537fdb2a5af89fc')
- version('3.4.1', sha256='b9a73ade3726a8163fc992999c8c1010ca89473131901fe4d48b820ab2ced486')
- version('3.4.0', sha256='2120793a76864cf3165b2b7290ef719e358fa57501ee8721941e7cfc434cfb2b')
- version('3.3.5', sha256='2ebe4bbefd9f5367563ce4d7eb87d3f6ef0de1f97ed1c03106d9541e71b7e1ca')
- version('3.3.4', sha256='2842bab891cfbf3269a3c4bd8f22fef23c9a15a790ba48c6490730cb51ce9b0e')
- version('3.3.3', sha256='7b9244089e92b1d32cef791cd72760bb8c80b391eaec29672a5377c33f932d88')
- version('3.3.2', sha256='d323419ad3919e86d2af1738c846021fd7f5b5dc5c06059cdf3a2bc63226466a')
- version('3.3.1', sha256='7ac68d5e05e2b57fb3635f1027f3201094f3547d584e72ab55fedbfd3bc09a36')
- version('3.3.0', sha256='e6be799c0d9a83a06649f0d77a61ad9c23b94b34f94e16724e2b18f5c7513c33')
- version('3.2.3', sha256='96476d17e9ce35f0d4380b2ddb398fe729e39f1f3894602ff07e49844541e5ca')
- version('3.2.2', sha256='498ed77b3dae8c54929602d4931f3c3e0a3420a9b500cbd870f50b1e0efea8c3')
+ version("3.6.1", sha256="a1be3ea7e18729d3cd86e9234dc4731bf23200dff3344fa756fe173ea36cc747")
+ version("3.6.0", sha256="4e3bab11766d5950477ba4d6c528a495e12cda1155227361b4579ac4ac0bf975")
+ version("3.5.1", sha256="cdc0ecb153e737d74820581f311d1be7b6f1a7ee065ad69706470939db88b041")
+ version("3.5.0", sha256="548598912adba72b782b7422d40d1d12a8c1a6cd064281a9a537fdb2a5af89fc")
+ version("3.4.1", sha256="b9a73ade3726a8163fc992999c8c1010ca89473131901fe4d48b820ab2ced486")
+ version("3.4.0", sha256="2120793a76864cf3165b2b7290ef719e358fa57501ee8721941e7cfc434cfb2b")
+ version("3.3.5", sha256="2ebe4bbefd9f5367563ce4d7eb87d3f6ef0de1f97ed1c03106d9541e71b7e1ca")
+ version("3.3.4", sha256="2842bab891cfbf3269a3c4bd8f22fef23c9a15a790ba48c6490730cb51ce9b0e")
+ version("3.3.3", sha256="7b9244089e92b1d32cef791cd72760bb8c80b391eaec29672a5377c33f932d88")
+ version("3.3.2", sha256="d323419ad3919e86d2af1738c846021fd7f5b5dc5c06059cdf3a2bc63226466a")
+ version("3.3.1", sha256="7ac68d5e05e2b57fb3635f1027f3201094f3547d584e72ab55fedbfd3bc09a36")
+ version("3.3.0", sha256="e6be799c0d9a83a06649f0d77a61ad9c23b94b34f94e16724e2b18f5c7513c33")
+ version("3.2.3", sha256="96476d17e9ce35f0d4380b2ddb398fe729e39f1f3894602ff07e49844541e5ca")
+ version("3.2.2", sha256="498ed77b3dae8c54929602d4931f3c3e0a3420a9b500cbd870f50b1e0efea8c3")
variant("astropy", default=True, description="enable astropy support")
variant("h5py", default=True, description="enable h5py support")
variant("scipy", default=True, description="enable scipy support")
variant("rockstar", default=False, description="enable rockstar support")
- depends_on("py-astropy@4.0.1:", type=('build', 'run'), when="+astropy")
- depends_on("py-cython@0.24:", type=('build', 'run'))
- depends_on("py-h5py@3.1:", type=('build', 'run'), when="+h5py")
- depends_on("py-ipython@1.0:", type=('build', 'run'))
- depends_on("py-ipython@:6", type=('build', 'run'), when="^python@:2")
- depends_on("py-matplotlib@1.5.3:", type=('build', 'run'))
- depends_on("py-matplotlib@:3.2.2", type=('build', 'run'), when="@:3.6.0")
- depends_on("py-numpy@1.10.4:", type=('build', 'run'))
- depends_on("py-scipy@1.5.0:", type=('build', 'run'), when="+scipy")
- depends_on("py-setuptools@19.6:", type=('build', 'run'))
- depends_on("py-sympy@1.0:", type=('build', 'run'))
- depends_on("rockstar@yt", type=('build', 'run'), when="+rockstar")
- depends_on("python@2.7.0:2.7,3.5:", type=('build', 'run'))
+ depends_on("py-astropy@4.0.1:", type=("build", "run"), when="+astropy")
+ depends_on("py-cython@0.24:", type=("build", "run"))
+ depends_on("py-h5py@3.1:", type=("build", "run"), when="+h5py")
+ depends_on("py-ipython@1.0:", type=("build", "run"))
+ depends_on("py-ipython@:6", type=("build", "run"), when="^python@:2")
+ depends_on("py-matplotlib@1.5.3:", type=("build", "run"))
+ depends_on("py-matplotlib@:3.2.2", type=("build", "run"), when="@:3.6.0")
+ depends_on("py-numpy@1.10.4:", type=("build", "run"))
+ depends_on("py-scipy@1.5.0:", type=("build", "run"), when="+scipy")
+ depends_on("py-setuptools@19.6:", type=("build", "run"))
+ depends_on("py-sympy@1.0:", type=("build", "run"))
+ depends_on("rockstar@yt", type=("build", "run"), when="+rockstar")
+ depends_on("python@2.7.0:2.7,3.5:", type=("build", "run"))
- @run_before('install')
+ @run_before("install")
def prep_yt(self):
- if '+rockstar' in self.spec:
- with open('rockstar.cfg', 'w') as rockstar_cfg:
- rockstar_cfg.write(self.spec['rockstar'].prefix)
+ if "+rockstar" in self.spec:
+ with open("rockstar.cfg", "w") as rockstar_cfg:
+ rockstar_cfg.write(self.spec["rockstar"].prefix)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
# The Python interpreter path can be too long for this
diff --git a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py
index 843ca874cd..2379ce6c52 100644
--- a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py
+++ b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class PyYtoptAutotune(PythonPackage):
"""Common interface for autotuning search space and method definition."""
- maintainers = ['Kerilk', 'liuyangzhuan']
+ maintainers = ["Kerilk", "liuyangzhuan"]
homepage = "https://github.com/ytopt-team/autotune"
url = "https://github.com/ytopt-team/autotune/archive/refs/tags/v1.1.0.tar.gz"
- git = "https://github.com/ytopt-team/autotune.git"
+ git = "https://github.com/ytopt-team/autotune.git"
- version('master', branch='master')
- version('1.1.0', sha256='5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4')
- version('1.0.0', sha256='13f10594156a7a220561467fdbee52173238ea82c07e8188fdf6584d4524f46f')
+ version("master", branch="master")
+ version("1.1.0", sha256="5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4")
+ version("1.0.0", sha256="13f10594156a7a220561467fdbee52173238ea82c07e8188fdf6584d4524f46f")
- patch('version.patch', when='@1.1.0')
+ patch("version.patch", when="@1.1.0")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/py-ytopt/package.py b/var/spack/repos/builtin/packages/py-ytopt/package.py
index 31b0fe8a4f..22785ef7ab 100644
--- a/var/spack/repos/builtin/packages/py-ytopt/package.py
+++ b/var/spack/repos/builtin/packages/py-ytopt/package.py
@@ -8,31 +8,36 @@ from spack.package import *
class PyYtopt(PythonPackage):
"""Ytopt package implements search using Random Forest (SuRF), an autotuning
- search method developed within Y-Tune ECP project."""
+ search method developed within Y-Tune ECP project."""
- maintainers = ['Kerilk']
+ maintainers = ["Kerilk"]
homepage = "https://github.com/ytopt-team/ytopt"
- url = "https://github.com/ytopt-team/ytopt/archive/refs/tags/v0.0.1.tar.gz"
-
- version('0.0.4', sha256='4e47315b658f1943f756816455ae491818c37b0f700dd895a97fb7792bb49e35')
- version('0.0.3', sha256='eac6ab87d4fd27517f136880016359c5b24836ec009e8cc9b4073a6c5edb17af')
- version('0.0.2', sha256='5a624aa678b976ff6ef867610bafcb0dfd5c8af0d880138ca5d56d3f776e6d71')
- version('0.0.1', sha256='3ca616922c8e76e73f695a5ddea5dd91b0103eada726185f008343cc5cbd7744')
-
- variant('online', default=False, description='Install requirements for online tuning.', when='@0.0.3:')
-
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
- depends_on('py-scikit-learn@0.23.1', type=('build', 'run'), when='@:0.0.2')
- depends_on('py-scikit-learn@1.0.0:', type=('build', 'run'), when='@0.0.3:')
- depends_on('py-dh-scikit-optimize', type=('build', 'run'))
- depends_on('py-configspace', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-ytopt-autotune@1.0.0:1.0.999', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-deap', type=('build', 'run'))
- depends_on('py-tqdm', type=('build', 'run'))
- depends_on('py-ray', type=('build', 'run'))
- depends_on('py-mpi4py@3.0.0:', type=('build', 'run'))
- depends_on('py-sdv@0.13.1:0.13', type=('build', 'run'), when='@0.0.3: +online')
+ url = "https://github.com/ytopt-team/ytopt/archive/refs/tags/v0.0.1.tar.gz"
+
+ version("0.0.4", sha256="4e47315b658f1943f756816455ae491818c37b0f700dd895a97fb7792bb49e35")
+ version("0.0.3", sha256="eac6ab87d4fd27517f136880016359c5b24836ec009e8cc9b4073a6c5edb17af")
+ version("0.0.2", sha256="5a624aa678b976ff6ef867610bafcb0dfd5c8af0d880138ca5d56d3f776e6d71")
+ version("0.0.1", sha256="3ca616922c8e76e73f695a5ddea5dd91b0103eada726185f008343cc5cbd7744")
+
+ variant(
+ "online",
+ default=False,
+ description="Install requirements for online tuning.",
+ when="@0.0.3:",
+ )
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-scikit-learn@0.23.1", type=("build", "run"), when="@:0.0.2")
+ depends_on("py-scikit-learn@1.0.0:", type=("build", "run"), when="@0.0.3:")
+ depends_on("py-dh-scikit-optimize", type=("build", "run"))
+ depends_on("py-configspace", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-ytopt-autotune@1.0.0:1.0.999", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-deap", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-ray", type=("build", "run"))
+ depends_on("py-mpi4py@3.0.0:", type=("build", "run"))
+ depends_on("py-sdv@0.13.1:0.13", type=("build", "run"), when="@0.0.3: +online")
diff --git a/var/spack/repos/builtin/packages/py-zarr/package.py b/var/spack/repos/builtin/packages/py-zarr/package.py
index e8d634f32e..e47305bd8f 100644
--- a/var/spack/repos/builtin/packages/py-zarr/package.py
+++ b/var/spack/repos/builtin/packages/py-zarr/package.py
@@ -13,22 +13,22 @@ class PyZarr(PythonPackage):
homepage = "https://zarr.readthedocs.io"
pypi = "zarr/zarr-2.3.2.tar.gz"
- version('2.10.2', sha256='5c6ae914ab9215631bb95c09e76b9b9b4fffa70fec0c7bca26b68387d858ebe2')
- version('2.6.1', sha256='fa7eac1e4ff47ff82d09c42bb4679e18e8a05a73ee81ce59cee6a441a210b2fd')
- version('2.5.0', sha256='d54f060739208392494c3dbcbfdf41c8df9fa23d9a32b91aea0549b4c5e2b77f')
- version('2.4.0', sha256='53aa21b989a47ddc5e916eaff6115b824c0864444b1c6f3aaf4f6cf9a51ed608')
- version('2.3.2', sha256='c62d0158fb287151c978904935a177b3d2d318dea3057cfbeac8541915dfa105')
+ version("2.10.2", sha256="5c6ae914ab9215631bb95c09e76b9b9b4fffa70fec0c7bca26b68387d858ebe2")
+ version("2.6.1", sha256="fa7eac1e4ff47ff82d09c42bb4679e18e8a05a73ee81ce59cee6a441a210b2fd")
+ version("2.5.0", sha256="d54f060739208392494c3dbcbfdf41c8df9fa23d9a32b91aea0549b4c5e2b77f")
+ version("2.4.0", sha256="53aa21b989a47ddc5e916eaff6115b824c0864444b1c6f3aaf4f6cf9a51ed608")
+ version("2.3.2", sha256="c62d0158fb287151c978904935a177b3d2d318dea3057cfbeac8541915dfa105")
- depends_on('python@3.5:', type=('build', 'run'), when='@2.4.0:')
- depends_on('python@3.6:', type=('build', 'run'), when='@2.6.0:')
- depends_on('python@3.7:3', type=('build', 'run'), when='@2.10:')
- depends_on('py-asciitree', type=('build', 'run'))
- depends_on('py-fasteners', type=('build', 'run'))
- depends_on('py-msgpack', type=('build', 'run'), when='@:2.3.2')
- depends_on('py-setuptools@18.0:', type='build')
- depends_on('py-setuptools@38.6.0:', type='build', when='@2.4.0:')
- depends_on('py-setuptools-scm@1.5.5:', type='build')
- depends_on('py-numcodecs@0.6.2:', type=('build', 'run'))
- depends_on('py-numcodecs@0.6.4:', type=('build', 'run'), when='@2.4.0:')
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scandir', type=('build', 'run'), when='^python@:3.4')
+ depends_on("python@3.5:", type=("build", "run"), when="@2.4.0:")
+ depends_on("python@3.6:", type=("build", "run"), when="@2.6.0:")
+ depends_on("python@3.7:3", type=("build", "run"), when="@2.10:")
+ depends_on("py-asciitree", type=("build", "run"))
+ depends_on("py-fasteners", type=("build", "run"))
+ depends_on("py-msgpack", type=("build", "run"), when="@:2.3.2")
+ depends_on("py-setuptools@18.0:", type="build")
+ depends_on("py-setuptools@38.6.0:", type="build", when="@2.4.0:")
+ depends_on("py-setuptools-scm@1.5.5:", type="build")
+ depends_on("py-numcodecs@0.6.2:", type=("build", "run"))
+ depends_on("py-numcodecs@0.6.4:", type=("build", "run"), when="@2.4.0:")
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-scandir", type=("build", "run"), when="^python@:3.4")
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 6f3a5ad21e..33311c5a13 100644
--- a/var/spack/repos/builtin/packages/py-zc-buildout/package.py
+++ b/var/spack/repos/builtin/packages/py-zc-buildout/package.py
@@ -11,6 +11,6 @@ class PyZcBuildout(PythonPackage):
pypi = "zc.buildout/zc.buildout-2.13.1.tar.gz"
- version('2.13.1', sha256='3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484')
+ version("2.13.1", sha256="3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484")
- depends_on('py-setuptools@8.0:', type=('build', 'run'))
+ depends_on("py-setuptools@8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-zc-lockfile/package.py b/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
index ebcb97170c..a939b60192 100644
--- a/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-zc-lockfile/package.py
@@ -11,6 +11,6 @@ class PyZcLockfile(PythonPackage):
pypi = "zc.lockfile/zc.lockfile-1.4.tar.gz"
- version('1.4', sha256='95a8e3846937ab2991b61703d6e0251d5abb9604e18412e2714e1b90db173253')
+ version("1.4", sha256="95a8e3846937ab2991b61703d6e0251d5abb9604e18412e2714e1b90db173253")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-zict/package.py b/var/spack/repos/builtin/packages/py-zict/package.py
index 0022a7a994..91b0ecc3d4 100644
--- a/var/spack/repos/builtin/packages/py-zict/package.py
+++ b/var/spack/repos/builtin/packages/py-zict/package.py
@@ -12,7 +12,7 @@ class PyZict(PythonPackage):
homepage = "https://zict.readthedocs.io/en/latest/"
pypi = "zict/zict-1.0.0.tar.gz"
- version('1.0.0', sha256='e34dd25ea97def518fb4c77f2c27078f3a7d6c965b0a3ac8fe5bdb0a8011a310')
+ version("1.0.0", sha256="e34dd25ea97def518fb4c77f2c27078f3a7d6c965b0a3ac8fe5bdb0a8011a310")
- depends_on('py-setuptools', type='build')
- depends_on('py-heapdict', type=('build', 'run'))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-heapdict", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py b/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py
index a6e4b2c576..39c1288588 100644
--- a/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py
+++ b/var/spack/repos/builtin/packages/py-zipfile-deflate64/package.py
@@ -10,10 +10,10 @@ class PyZipfileDeflate64(PythonPackage):
"""Extract Deflate64 ZIP archives with Python's zipfile API."""
homepage = "https://github.com/brianhelba/zipfile-deflate64"
- pypi = "zipfile-deflate64/zipfile-deflate64-0.2.0.tar.gz"
+ pypi = "zipfile-deflate64/zipfile-deflate64-0.2.0.tar.gz"
- version('0.2.0', sha256='875a3299de102edf1c17f8cafcc528b1ca80b62dc4814b9cb56867ec59fbfd18')
+ version("0.2.0", sha256="875a3299de102edf1c17f8cafcc528b1ca80b62dc4814b9cb56867ec59fbfd18")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools@42:', type='build')
- depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools@42:", type="build")
+ depends_on("py-setuptools-scm@3.4:+toml", type="build")
diff --git a/var/spack/repos/builtin/packages/py-zipp/package.py b/var/spack/repos/builtin/packages/py-zipp/package.py
index b234766db5..faa73f7e25 100644
--- a/var/spack/repos/builtin/packages/py-zipp/package.py
+++ b/var/spack/repos/builtin/packages/py-zipp/package.py
@@ -12,14 +12,14 @@ class PyZipp(PythonPackage):
homepage = "https://github.com/jaraco/zipp"
pypi = "zipp/zipp-0.6.0.tar.gz"
- version('3.6.0', sha256='71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832')
- version('0.6.0', sha256='3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e')
- version('0.5.1', sha256='ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3')
+ version("3.6.0", sha256="71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832")
+ version("0.6.0", sha256="3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e")
+ version("0.5.1", sha256="ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3")
- depends_on('python@2.7:', type=('build', 'run'))
- depends_on('python@3.6:', type=('build', 'run'), when='@2.0.0:')
- depends_on('py-setuptools@34.4:', type='build', when='@0.3.3:')
- depends_on('py-setuptools@56:', type='build', when='@3.5.1:')
- depends_on('py-setuptools-scm@1.15.0:', type='build')
- depends_on('py-setuptools-scm@3.4.1: +toml', type='build', when='@2.0.1:')
- depends_on('py-more-itertools', type=('build', 'run'), when='@0.6.0:2.1.0')
+ depends_on("python@2.7:", type=("build", "run"))
+ depends_on("python@3.6:", type=("build", "run"), when="@2.0.0:")
+ depends_on("py-setuptools@34.4:", type="build", when="@0.3.3:")
+ depends_on("py-setuptools@56:", type="build", when="@3.5.1:")
+ depends_on("py-setuptools-scm@1.15.0:", type="build")
+ depends_on("py-setuptools-scm@3.4.1: +toml", type="build", when="@2.0.1:")
+ depends_on("py-more-itertools", type=("build", "run"), when="@0.6.0:2.1.0")
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 822367dac4..de0c2becae 100644
--- a/var/spack/repos/builtin/packages/py-zope-event/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-event/package.py
@@ -12,7 +12,7 @@ class PyZopeEvent(PythonPackage):
homepage = "https://github.com/zopefoundation/zope.event"
pypi = "zope.event/zope.event-4.3.0.tar.gz"
- version('4.5.0', sha256='5e76517f5b9b119acf37ca8819781db6c16ea433f7e2062c4afc2b6fbedb1330')
- version('4.3.0', sha256='e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7')
+ version("4.5.0", sha256="5e76517f5b9b119acf37ca8819781db6c16ea433f7e2062c4afc2b6fbedb1330")
+ version("4.3.0", sha256="e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7")
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py
index f4f9683b56..f7523e5bf1 100644
--- a/var/spack/repos/builtin/packages/py-zope-interface/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py
@@ -15,12 +15,12 @@ class PyZopeInterface(PythonPackage):
homepage = "https://github.com/zopefoundation/zope.interface"
pypi = "zope.interface/zope.interface-4.5.0.tar.gz"
- version('5.4.0', sha256='5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e')
- version('5.1.0', sha256='40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e')
- version('4.5.0', sha256='57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c')
+ version("5.4.0", sha256="5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e")
+ version("5.1.0", sha256="40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e")
+ version("4.5.0", sha256="57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c")
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@4.5.0')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@5.1.0:')
+ depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@4.5.0")
+ depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@5.1.0:")
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools@:45', type=('build', 'run'), when='@4.5.0')
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-setuptools@:45", type=("build", "run"), when="@4.5.0")
diff --git a/var/spack/repos/builtin/packages/py-zxcvbn/package.py b/var/spack/repos/builtin/packages/py-zxcvbn/package.py
index fe0bb079f6..8be7cefeff 100644
--- a/var/spack/repos/builtin/packages/py-zxcvbn/package.py
+++ b/var/spack/repos/builtin/packages/py-zxcvbn/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class PyZxcvbn(PythonPackage):
"""A realistic password strength estimator.
- This is a Python implementation of the library created by the team at
- Dropbox."""
+ This is a Python implementation of the library created by the team at
+ Dropbox."""
homepage = "https://github.com/dwolfhub/zxcvbn-python"
- url = "https://github.com/dwolfhub/zxcvbn-python/archive/v4.4.25.tar.gz"
+ url = "https://github.com/dwolfhub/zxcvbn-python/archive/v4.4.25.tar.gz"
- version('4.4.28', sha256='b7275765acdf8028c21aa502d742e56de2252bac604c04ba5e336c39f88d5576')
- version('4.4.27', sha256='9b84927fff7b4cc557b63a49adbd74f7a92026e25edd9e1b2867c1610d15fa5d')
- version('4.4.26', sha256='ee498e9257742972950f33540f0e36112db14c636417ce5b53d99a492dad8aba')
- version('4.4.25', sha256='dfb4d5aee8b59361572e2c12e7982bb22dbf9a1e8ac1c10c8ffea2c72712aabf')
+ version("4.4.28", sha256="b7275765acdf8028c21aa502d742e56de2252bac604c04ba5e336c39f88d5576")
+ version("4.4.27", sha256="9b84927fff7b4cc557b63a49adbd74f7a92026e25edd9e1b2867c1610d15fa5d")
+ version("4.4.26", sha256="ee498e9257742972950f33540f0e36112db14c636417ce5b53d99a492dad8aba")
+ version("4.4.25", sha256="dfb4d5aee8b59361572e2c12e7982bb22dbf9a1e8ac1c10c8ffea2c72712aabf")
- depends_on('py-setuptools', type='build')
+ depends_on("py-setuptools", type="build")
diff --git a/var/spack/repos/builtin/packages/pygmo/package.py b/var/spack/repos/builtin/packages/pygmo/package.py
index 776db8af33..90ae297635 100644
--- a/var/spack/repos/builtin/packages/pygmo/package.py
+++ b/var/spack/repos/builtin/packages/pygmo/package.py
@@ -13,29 +13,29 @@ class Pygmo(CMakePackage):
island model."""
homepage = "https://esa.github.io/pygmo2/"
- url = "https://github.com/esa/pygmo2/archive/v2.18.0.tar.gz"
- git = "https://github.com/esa/pygmo2.git"
+ url = "https://github.com/esa/pygmo2/archive/v2.18.0.tar.gz"
+ git = "https://github.com/esa/pygmo2.git"
- version('master', branch='master')
- version('2.18.0', sha256='9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125')
+ version("master", branch="master")
+ version("2.18.0", sha256="9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125")
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
# Run-time dependencies
# https://github.com/esa/pygmo2/blob/master/doc/install.rst#dependencies
- extends('python@3.4:')
- depends_on('pagmo2@2.18:')
- depends_on('boost@1.60:')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('py-cloudpickle', type=('build', 'run'))
+ extends("python@3.4:")
+ depends_on("pagmo2@2.18:")
+ depends_on("boost@1.60:")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-cloudpickle", type=("build", "run"))
# Build-time dependencies
# https://github.com/esa/pygmo2/blob/master/doc/install.rst#installation-from-source
- depends_on('py-pybind11@2.6:', type='build')
- depends_on('cmake@3.17:', type='build')
+ depends_on("py-pybind11@2.6:", type="build")
+ depends_on("cmake@3.17:", type="build")
def cmake_args(self):
return [
- self.define('PYGMO_INSTALL_PATH', python_platlib),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define("PYGMO_INSTALL_PATH", python_platlib),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
diff --git a/var/spack/repos/builtin/packages/pythia6/package.py b/var/spack/repos/builtin/packages/pythia6/package.py
index b4a88f9242..d637b0eb97 100644
--- a/var/spack/repos/builtin/packages/pythia6/package.py
+++ b/var/spack/repos/builtin/packages/pythia6/package.py
@@ -15,8 +15,7 @@ from spack.package import *
def _is_integral(x):
"""Accepts only integral values."""
try:
- return isinstance(int(x), numbers.Integral) and \
- (not isinstance(x, bool))
+ return isinstance(int(x), numbers.Integral) and (not isinstance(x, bool))
except ValueError:
return False
@@ -32,130 +31,126 @@ class Pythia6(CMakePackage):
This recipe includes patches required to interoperate with Root.
"""
- homepage = 'https://pythiasix.hepforge.org/'
- url = 'https://pythia.org/download/pythia6/pythia6428-split.tgz'
+ homepage = "https://pythiasix.hepforge.org/"
+ url = "https://pythia.org/download/pythia6/pythia6428-split.tgz"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['gartung', 'chissg']
+ maintainers = ["gartung", "chissg"]
- version('6.4.28', url='https://pythia.org/download/pythia6/pythia6428-split.tgz',
- sha256='01cbff47e99365b5e46f6d62c1735d3cae1932c4710604850d59f538cb758020')
+ 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
# the Pythia6 library.
- variant('root', default=False,
- description='Build extra (non OEM) code to allow use by Root.')
+ variant("root", default=False, description="Build extra (non OEM) code to allow use by Root.")
# The maximum number of particles (NMXHEP) supported by the arrays
# in the /HEPEVT/ COMMON block may need tweaking if pythia6 is
# intended to be used with other code with different requirements.
- variant('nmxhep', default=4000, values=_is_integral, description='Extent of particle arrays in the /HEPEVT/ COMMON block.')
+ variant(
+ "nmxhep",
+ default=4000,
+ values=_is_integral,
+ description="Extent of particle arrays in the /HEPEVT/ COMMON block.",
+ )
# In the unlikely event of new versions >6.4.28,
# pythia6_common_address.c should be checked for accuracy against
# the definitions of the relevant COMMON blocks in the Pythia6
# Fortran source, and patched if necessaary.
resource(
- name='root-pythia6-shim',
- url='https://root.cern.ch/download/pythia6.tar.gz',
- sha256='d613dcb27c905710e2f13a934913cc5545e3e5d0e477e580107385d9ef260056',
- when='+root',
- destination='.',
- placement={'pythia6_common_address.c': 'pythia6_common_address.c',
- 'tpythia6_called_from_cc.F': 'tpythia6_called_from_cc.F'}
+ name="root-pythia6-shim",
+ url="https://root.cern.ch/download/pythia6.tar.gz",
+ sha256="d613dcb27c905710e2f13a934913cc5545e3e5d0e477e580107385d9ef260056",
+ when="+root",
+ destination=".",
+ placement={
+ "pythia6_common_address.c": "pythia6_common_address.c",
+ "tpythia6_called_from_cc.F": "tpythia6_called_from_cc.F",
+ },
)
# Download examples separately.
- examples \
- = {'main60.f':
- 'd713b8b267c4405cc9d31c58bba267ae3378902a26fa52393003bf35fd56902c',
- 'main61.f':
- 'e2a3d5524e43d16f60d9edc6e7198d41006d1ba127fb7b0e265aa509e13128b4',
- 'main62.f':
- 'dce822a72fe2d6cfb6d43c479ba98928fb0a39290a6ee26fdcacc66229313045',
- 'main63.f':
- 'b2dd343b3cd7969979b80c564d82b92e0d776d66bb19d346b52f2af27adeb62d',
- 'main64.f':
- 'a35f2f232e6e0d68d67fd350d4d46b0a353f5c7811de0c2db47ae16d17ed1843',
- 'main65.f':
- '03c81e0bbd77710b0461e18265e80e3bd51360b9f416c86013401f882ac39a5e',
- 'main66.f':
- '50dd9221a7e84ee7c5005db6758e5880d190eab8cce8a52e7c7b29e9fee8d3da',
- 'main67.f':
- '1984aa90fe4e3d628c3bcceaa6fca1b08231d835158d975fa171337d55ca4a2f',
- 'main68.f':
- 'c8d6def1298477ffec6a1d98c7e02dcee0debe6badc7c63f752f9194b82f212d',
- 'main69.f':
- 'd14399d43f8c4b670907558849d3e5a4d7625d027de3c10002185c58b20b061a',
- 'main71.f':
- '2e47af778003b0596e8999f0914033c6eda7335211b9e96ac3075d45a3cde12e',
- 'main72.f':
- 'e27ce2af68b40436c51c65767ebb5ff0955ab8dfdfc5fc5c217ae73cd53070da',
- 'main73.f':
- '567db2d1a66896ce5103ffa7e10742442b0e934088883e91339536e0249772c4',
- 'main75.f':
- 'b850986c43a5af1e7d13b66d22b01584e3c68bb338be32eac39e31f971b80be4',
- 'main77.f':
- '0679852c4f35719531ad38dc1dbb374b884181eb5e483c36d8867ccb449177a4',
- 'main78.f':
- '5babc59fe6a0bd57d97ec398cf01745bc9b72ce6ce0711e934d53c7821e21912',
- 'main79.f':
- '27ca84d6d0877f3605cbc1b865c3e1f571e7d2c9301094a4122e726a903dbead',
- 'main81.f':
- 'b02fecd1cd0f9ba16eaae53e9da0ba602569fdf0e46856cccdfb4c5b7ba33e8b',
- 'ttbar.lhe':
- 'db772b69ab4e0300d973b57414523ac8e7fa8535eac49ee52a6b69b1c131983d'}
+ examples = {
+ "main60.f": "d713b8b267c4405cc9d31c58bba267ae3378902a26fa52393003bf35fd56902c",
+ "main61.f": "e2a3d5524e43d16f60d9edc6e7198d41006d1ba127fb7b0e265aa509e13128b4",
+ "main62.f": "dce822a72fe2d6cfb6d43c479ba98928fb0a39290a6ee26fdcacc66229313045",
+ "main63.f": "b2dd343b3cd7969979b80c564d82b92e0d776d66bb19d346b52f2af27adeb62d",
+ "main64.f": "a35f2f232e6e0d68d67fd350d4d46b0a353f5c7811de0c2db47ae16d17ed1843",
+ "main65.f": "03c81e0bbd77710b0461e18265e80e3bd51360b9f416c86013401f882ac39a5e",
+ "main66.f": "50dd9221a7e84ee7c5005db6758e5880d190eab8cce8a52e7c7b29e9fee8d3da",
+ "main67.f": "1984aa90fe4e3d628c3bcceaa6fca1b08231d835158d975fa171337d55ca4a2f",
+ "main68.f": "c8d6def1298477ffec6a1d98c7e02dcee0debe6badc7c63f752f9194b82f212d",
+ "main69.f": "d14399d43f8c4b670907558849d3e5a4d7625d027de3c10002185c58b20b061a",
+ "main71.f": "2e47af778003b0596e8999f0914033c6eda7335211b9e96ac3075d45a3cde12e",
+ "main72.f": "e27ce2af68b40436c51c65767ebb5ff0955ab8dfdfc5fc5c217ae73cd53070da",
+ "main73.f": "567db2d1a66896ce5103ffa7e10742442b0e934088883e91339536e0249772c4",
+ "main75.f": "b850986c43a5af1e7d13b66d22b01584e3c68bb338be32eac39e31f971b80be4",
+ "main77.f": "0679852c4f35719531ad38dc1dbb374b884181eb5e483c36d8867ccb449177a4",
+ "main78.f": "5babc59fe6a0bd57d97ec398cf01745bc9b72ce6ce0711e934d53c7821e21912",
+ "main79.f": "27ca84d6d0877f3605cbc1b865c3e1f571e7d2c9301094a4122e726a903dbead",
+ "main81.f": "b02fecd1cd0f9ba16eaae53e9da0ba602569fdf0e46856cccdfb4c5b7ba33e8b",
+ "ttbar.lhe": "db772b69ab4e0300d973b57414523ac8e7fa8535eac49ee52a6b69b1c131983d",
+ }
for example, checksum in iteritems(examples):
- resource(name=example,
- url='http://pythiasix.hepforge.org/examples/{0}'.
- format(example),
- sha256=checksum,
- expand=False,
- destination='example',
- placement={example: example})
+ resource(
+ name=example,
+ url="http://pythiasix.hepforge.org/examples/{0}".format(example),
+ sha256=checksum,
+ expand=False,
+ destination="example",
+ placement={example: example},
+ )
# Docs.
docs = {
- 'http://www.hepforge.org/archive/pythiasix/update_notes-6.4.28.txt': 'a229be4ba9a4eb65a9d53600a5f388b620038d56694c6cb4671c2be224b67751',
- 'http://home.thep.lu.se/~torbjorn/pythia6/lutp0613man2.pdf': '03d637310ea80f0d7aea761492bd38452c602890d8cf913a1ec9edacd79fa43d',
- 'https://pythiasix.hepforge.org/pythia6-announcement.txt': '2a52def41f0c93e32e0db58dbcf072b987ebfbd32e42ccfc1f9382fcf65f1271'
+ "http://www.hepforge.org/archive/pythiasix/update_notes-6.4.28.txt": "a229be4ba9a4eb65a9d53600a5f388b620038d56694c6cb4671c2be224b67751",
+ "http://home.thep.lu.se/~torbjorn/pythia6/lutp0613man2.pdf": "03d637310ea80f0d7aea761492bd38452c602890d8cf913a1ec9edacd79fa43d",
+ "https://pythiasix.hepforge.org/pythia6-announcement.txt": "2a52def41f0c93e32e0db58dbcf072b987ebfbd32e42ccfc1f9382fcf65f1271",
}
for docurl, checksum in iteritems(docs):
doc = os.path.basename(urlparse(docurl).path)
- resource(name=doc,
- url=docurl,
- sha256=checksum,
- expand=False,
- destination='doc',
- placement={doc: doc})
+ resource(
+ name=doc,
+ url=docurl,
+ sha256=checksum,
+ expand=False,
+ destination="doc",
+ placement={doc: doc},
+ )
# The included patch customizes some routines provided in dummy form
# by the original source to be useful out of the box in the vast
# majority of cases. If your case is different, platform- or
# variant-based adjustments should be made.
- patch('pythia6.patch', level=0)
- patch('pythia6-root.patch', level=1, when='+root')
+ patch("pythia6.patch", level=0)
+ patch("pythia6-root.patch", level=1, when="+root")
def patch(self):
# Use our provided CMakeLists.txt. The Makefile provided with
# the source is GCC (gfortran) specific, and would have required
# additional patching for the +root variant.
- llnl.util.filesystem.copy(os.path.join(os.path.dirname(__file__),
- 'CMakeLists.txt'),
- self.stage.source_path)
+ llnl.util.filesystem.copy(
+ os.path.join(os.path.dirname(__file__), "CMakeLists.txt"), self.stage.source_path
+ )
# Apply the variant value at the relevant place in the source.
- filter_file(r'^(\s+PARAMETER\s*\(\s*NMXHEP\s*=\s*)\d+',
- r'\1{0}'.format(self.spec.variants['nmxhep'].value),
- 'pyhepc.f')
+ filter_file(
+ r"^(\s+PARAMETER\s*\(\s*NMXHEP\s*=\s*)\d+",
+ r"\1{0}".format(self.spec.variants["nmxhep"].value),
+ "pyhepc.f",
+ )
def setup_build_environment(self, env):
- if self.spec.satisfies('%gcc@10:'):
- env.append_flags('CFLAGS', '-fcommon')
- env.append_flags('FFLAGS', '-fcommon')
+ if self.spec.satisfies("%gcc@10:"):
+ env.append_flags("CFLAGS", "-fcommon")
+ env.append_flags("FFLAGS", "-fcommon")
def cmake_args(self):
- args = ['-DPYTHIA6_VERSION={0}'.format(self.version.dotted)]
+ args = ["-DPYTHIA6_VERSION={0}".format(self.version.dotted)]
return args
diff --git a/var/spack/repos/builtin/packages/pythia8/package.py b/var/spack/repos/builtin/packages/pythia8/package.py
index dc7ebfbd82..8f4d7c410e 100644
--- a/var/spack/repos/builtin/packages/pythia8/package.py
+++ b/var/spack/repos/builtin/packages/pythia8/package.py
@@ -13,123 +13,157 @@ class Pythia8(AutotoolsPackage):
final state."""
homepage = "http://home.thep.lu.se/Pythia/"
- url = "https://pythia.org/download/pythia83/pythia8306.tgz"
-
- tags = ['hep']
-
- maintainers = ['ChristianTackeGSI']
-
- version('8.306', sha256='734803b722b1c1b53c8cf2f0d3c30747c80fc2dde5e0ba141bc9397dad37a8f6')
- version('8.304', sha256='d3897018fb6d545eaf93bf43f32580c984a9bff49259d9dd29dff6edfbe9d9a1')
- version('8.303', sha256='cd7c2b102670dae74aa37053657b4f068396988ef7da58fd3c318c84dc37913e')
- version('8.302', sha256='7372e4cc6f48a074e6b7bc426b040f218ec4a64b0a55e89da6af56933b5f5085')
- version('8.301', sha256='51382768eb9aafb97870dca1909516422297b64ef6a6b94659259b3e4afa7f06')
- version('8.244', sha256='e34880f999daf19cdd893a187123927ba77d1bf851e30f6ea9ec89591f4c92ca', deprecated=True)
- version('8.240', sha256='d27495d8ca7707d846f8c026ab695123c7c78c7860f04e2c002e483080418d8d', deprecated=True)
- version('8.235', sha256='e82f0d6165a8250a92e6aa62fb53201044d8d853add2fdad6d3719b28f7e8e9d', deprecated=True)
- version('8.230', sha256='332fad0ed4f12e6e0cb5755df0ae175329bc16bfaa2ae472d00994ecc99cd78d', deprecated=True)
- version('8.212', sha256='f8fb4341c7e8a8be3347eb26b00329a388ccf925313cfbdba655a08d7fd5a70e', deprecated=True)
-
- variant('shared', default=True, description='Build shared library')
- variant('hepmc', default=True, description='Export PYTHIA events to the HEPMC format, version 2')
- variant('hepmc3', default=True, description='Export PYTHIA events to the HEPMC format, version 3')
- variant('evtgen', default=False, description='Particle decays with the EvtGen decay package')
- variant('root', default=False, description='Use ROOT trees and histograms with PYTHIA')
- variant('fastjet', default=False, description='Building of jets using the FastJet package, version 3')
- variant('lhapdf', default=False, description='Support the use of external PDF sets via LHAPDF')
- variant('rivet', default=False, description='Support use of RIVET through direct interface')
- variant('python', default=False, description='Interface to use PYTHIA in Python')
- variant('madgraph5amc', default=False, description='MadGraph matrix element plugins for parton showers')
- variant('openmpi', default=False, description='Multi-threading support via OpenMP')
- variant('mpich', default=False, description='Multi-threading support via MPICH')
- variant('hdf5', default=False, description='Support the use of HDF5 format')
-
- depends_on('rsync', type='build')
- depends_on('hepmc', when='+hepmc')
- depends_on('hepmc3', when='+hepmc3')
- depends_on('root', when='+root')
- depends_on('evtgen', when='+evtgen')
- depends_on('fastjet@3.0.0:', when='+fastjet')
- depends_on('lhapdf@6.2:', when='+lhapdf')
- depends_on('boost', when='+lhapdf @:8.213')
- depends_on('rivet', when='+rivet')
- depends_on('python', when='+python')
- depends_on('madgraph5amc', when='+madgraph5amc')
- depends_on('openmpi', when='+openmpi')
- depends_on('mpich', when='+mpich')
- depends_on('hdf5', when='+hdf5')
- depends_on('highfive@2.2', when='+hdf5')
-
- extends('python', when='+python')
-
- conflicts('^evtgen+pythia8', when='+evtgen',
- msg='Building pythia with evtgen bindings and '
- 'evtgen with pythia bindings results in a circular dependency '
- 'that cannot be resolved at the moment! '
- 'Use pythia8+evtgen^evtgen~pythia8')
-
- conflicts('+evtgen', when='~hepmc', msg='+evtgen requires +hepmc')
- conflicts('+mpich', when='@:8.304', msg='MPICH support was added in 8.304')
- conflicts('+hdf5', when='@:8.304', msg='HDF5 support was added in 8.304')
- conflicts('+hdf5', when='~mpich', msg='MPICH is required for reading HDF5 files')
+ url = "https://pythia.org/download/pythia83/pythia8306.tgz"
+
+ tags = ["hep"]
+
+ maintainers = ["ChristianTackeGSI"]
+
+ version("8.306", sha256="734803b722b1c1b53c8cf2f0d3c30747c80fc2dde5e0ba141bc9397dad37a8f6")
+ version("8.304", sha256="d3897018fb6d545eaf93bf43f32580c984a9bff49259d9dd29dff6edfbe9d9a1")
+ version("8.303", sha256="cd7c2b102670dae74aa37053657b4f068396988ef7da58fd3c318c84dc37913e")
+ version("8.302", sha256="7372e4cc6f48a074e6b7bc426b040f218ec4a64b0a55e89da6af56933b5f5085")
+ version("8.301", sha256="51382768eb9aafb97870dca1909516422297b64ef6a6b94659259b3e4afa7f06")
+ version(
+ "8.244",
+ sha256="e34880f999daf19cdd893a187123927ba77d1bf851e30f6ea9ec89591f4c92ca",
+ deprecated=True,
+ )
+ version(
+ "8.240",
+ sha256="d27495d8ca7707d846f8c026ab695123c7c78c7860f04e2c002e483080418d8d",
+ deprecated=True,
+ )
+ version(
+ "8.235",
+ sha256="e82f0d6165a8250a92e6aa62fb53201044d8d853add2fdad6d3719b28f7e8e9d",
+ deprecated=True,
+ )
+ version(
+ "8.230",
+ sha256="332fad0ed4f12e6e0cb5755df0ae175329bc16bfaa2ae472d00994ecc99cd78d",
+ deprecated=True,
+ )
+ version(
+ "8.212",
+ sha256="f8fb4341c7e8a8be3347eb26b00329a388ccf925313cfbdba655a08d7fd5a70e",
+ deprecated=True,
+ )
+
+ variant("shared", default=True, description="Build shared library")
+ variant(
+ "hepmc", default=True, description="Export PYTHIA events to the HEPMC format, version 2"
+ )
+ variant(
+ "hepmc3", default=True, description="Export PYTHIA events to the HEPMC format, version 3"
+ )
+ variant("evtgen", default=False, description="Particle decays with the EvtGen decay package")
+ variant("root", default=False, description="Use ROOT trees and histograms with PYTHIA")
+ variant(
+ "fastjet",
+ default=False,
+ description="Building of jets using the FastJet package, version 3",
+ )
+ variant("lhapdf", default=False, description="Support the use of external PDF sets via LHAPDF")
+ variant("rivet", default=False, description="Support use of RIVET through direct interface")
+ variant("python", default=False, description="Interface to use PYTHIA in Python")
+ variant(
+ "madgraph5amc",
+ default=False,
+ description="MadGraph matrix element plugins for parton showers",
+ )
+ variant("openmpi", default=False, description="Multi-threading support via OpenMP")
+ variant("mpich", default=False, description="Multi-threading support via MPICH")
+ variant("hdf5", default=False, description="Support the use of HDF5 format")
+
+ depends_on("rsync", type="build")
+ depends_on("hepmc", when="+hepmc")
+ depends_on("hepmc3", when="+hepmc3")
+ depends_on("root", when="+root")
+ depends_on("evtgen", when="+evtgen")
+ depends_on("fastjet@3.0.0:", when="+fastjet")
+ depends_on("lhapdf@6.2:", when="+lhapdf")
+ depends_on("boost", when="+lhapdf @:8.213")
+ depends_on("rivet", when="+rivet")
+ depends_on("python", when="+python")
+ depends_on("madgraph5amc", when="+madgraph5amc")
+ depends_on("openmpi", when="+openmpi")
+ depends_on("mpich", when="+mpich")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("highfive@2.2", when="+hdf5")
+
+ extends("python", when="+python")
+
+ conflicts(
+ "^evtgen+pythia8",
+ when="+evtgen",
+ msg="Building pythia with evtgen bindings and "
+ "evtgen with pythia bindings results in a circular dependency "
+ "that cannot be resolved at the moment! "
+ "Use pythia8+evtgen^evtgen~pythia8",
+ )
+
+ conflicts("+evtgen", when="~hepmc", msg="+evtgen requires +hepmc")
+ conflicts("+mpich", when="@:8.304", msg="MPICH support was added in 8.304")
+ conflicts("+hdf5", when="@:8.304", msg="HDF5 support was added in 8.304")
+ conflicts("+hdf5", when="~mpich", msg="MPICH is required for reading HDF5 files")
def configure_args(self):
args = []
- if self.spec.satisfies('@:8.301 +shared'):
+ if self.spec.satisfies("@:8.301 +shared"):
# Removed in 8.301
- args.append('--enable-shared')
+ args.append("--enable-shared")
- if '+hepmc' in self.spec:
- args.append('--with-hepmc2=%s' % self.spec['hepmc'].prefix)
+ if "+hepmc" in self.spec:
+ args.append("--with-hepmc2=%s" % self.spec["hepmc"].prefix)
else:
- args.append('--without-hepmc2')
+ args.append("--without-hepmc2")
- if '+lhapdf' in self.spec:
- args.append('--with-lhapdf6=%s' % self.spec['lhapdf'].prefix)
- if self.spec.satisfies('@:8.213'):
- args.append('--with-lhapdf6-plugin=LHAPDF6.h')
- args.append('--with-boost=' + self.spec['boost'].prefix)
+ if "+lhapdf" in self.spec:
+ args.append("--with-lhapdf6=%s" % self.spec["lhapdf"].prefix)
+ if self.spec.satisfies("@:8.213"):
+ args.append("--with-lhapdf6-plugin=LHAPDF6.h")
+ args.append("--with-boost=" + self.spec["boost"].prefix)
- if '+madgraph5amc' in self.spec:
- args += '--with-mg5mes=' + self.spec['madgraph5amc'].prefix
+ if "+madgraph5amc" in self.spec:
+ args += "--with-mg5mes=" + self.spec["madgraph5amc"].prefix
else:
- args += '--without-mg5mes'
+ args += "--without-mg5mes"
- args += self.with_or_without('hepmc3', activation_value='prefix')
+ args += self.with_or_without("hepmc3", activation_value="prefix")
- if '+fastjet' in self.spec:
- args += '--with-fastjet3=' + self.spec['fastjet'].prefix
+ if "+fastjet" in self.spec:
+ args += "--with-fastjet3=" + self.spec["fastjet"].prefix
else:
- args += '--without-fastjet3'
+ args += "--without-fastjet3"
- args += self.with_or_without('evtgen', activation_value='prefix')
- args += self.with_or_without('root', activation_value='prefix')
- args += self.with_or_without('rivet', activation_value='prefix')
- if self.spec.satisfies('+rivet'):
- args.append('--with-yoda=' + self.spec['yoda'].prefix)
+ args += self.with_or_without("evtgen", activation_value="prefix")
+ args += self.with_or_without("root", activation_value="prefix")
+ args += self.with_or_without("rivet", activation_value="prefix")
+ if self.spec.satisfies("+rivet"):
+ args.append("--with-yoda=" + self.spec["yoda"].prefix)
- args += self.with_or_without('python', activation_value='prefix')
- args += self.with_or_without('openmp', activation_value='prefix',
- variant='openmpi')
- args += self.with_or_without('mpich', activation_value='prefix')
- args += self.with_or_without('hdf5', activation_value='prefix')
+ args += self.with_or_without("python", activation_value="prefix")
+ args += self.with_or_without("openmp", activation_value="prefix", variant="openmpi")
+ args += self.with_or_without("mpich", activation_value="prefix")
+ args += self.with_or_without("hdf5", activation_value="prefix")
- if self.spec.satisfies('+hdf5'):
- args.append('--with-highfive=' + self.spec['highfive'].prefix)
+ if self.spec.satisfies("+hdf5"):
+ args.append("--with-highfive=" + self.spec["highfive"].prefix)
return args
def url_for_version(self, version):
- url = self.url.rsplit('/', 2)[0]
- dirname = 'pythia' + str(version.joined)[:2]
- fname = 'pythia' + str(version.joined) + '.tgz'
+ url = self.url.rsplit("/", 2)[0]
+ dirname = "pythia" + str(version.joined)[:2]
+ fname = "pythia" + str(version.joined) + ".tgz"
- return url + '/' + dirname + '/' + fname
+ return url + "/" + dirname + "/" + fname
def setup_common_env(self, env):
- env.set('PYTHIA8', self.prefix)
- env.set('PYTHIA8DATA', self.prefix.share.Pythia8.xmldoc)
+ env.set("PYTHIA8", self.prefix)
+ env.set("PYTHIA8DATA", self.prefix.share.Pythia8.xmldoc)
def setup_dependent_run_environment(self, env, dependent_spec):
self.setup_common_env(env)
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index f526969f0c..79dc35fafc 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -25,133 +25,138 @@ from spack.package import *
from spack.util.environment import is_system_path
from spack.util.prefix import Prefix
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
class Python(Package):
"""The Python programming language."""
homepage = "https://www.python.org/"
- url = "https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz"
+ url = "https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz"
list_url = "https://www.python.org/ftp/python/"
list_depth = 1
- maintainers = ['adamjstewart', 'skosukhin', 'scheibelp', 'varioustoxins']
+ maintainers = ["adamjstewart", "skosukhin", "scheibelp", "varioustoxins"]
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
#: phase
- install_targets = ['install']
+ install_targets = ["install"]
build_targets = [] # type: List[str]
- version('3.10.5', sha256='18f57182a2de3b0be76dfc39fdcfd28156bb6dd23e5f08696f7492e9e3d0bf2d')
- version('3.10.4', sha256='f3bcc65b1d5f1dc78675c746c98fcee823c038168fc629c5935b044d0911ad28')
- version('3.10.3', sha256='5a3b029bad70ba2a019ebff08a65060a8b9b542ffc1a83c697f1449ecca9813b')
- version('3.10.2', sha256='3c0ede893011319f9b0a56b44953a3d52c7abf9657c23fb4bc9ced93b86e9c97')
- version('3.10.1', sha256='b76117670e7c5064344b9c138e141a377e686b9063f3a8a620ff674fa8ec90d3')
- version('3.10.0', sha256='c4e0cbad57c90690cb813fb4663ef670b4d0f587d8171e2c42bd4c9245bd2758')
- version('3.9.13', sha256='829b0d26072a44689a6b0810f5b4a3933ee2a0b8a4bfc99d7c5893ffd4f97c44', preferred=True)
- version('3.9.12', sha256='70e08462ebf265012bd2be88a63d2149d880c73e53f1712b7bbbe93750560ae8')
- version('3.9.11', sha256='3442400072f582ac2f0df30895558f08883b416c8c7877ea55d40d00d8a93112')
- version('3.9.10', sha256='1aa9c0702edbae8f6a2c95f70a49da8420aaa76b7889d3419c186bfc8c0e571e')
- version('3.9.9', sha256='2cc7b67c1f3f66c571acc42479cdf691d8ed6b47bee12c9b68430413a17a44ea')
- version('3.9.8', sha256='7447fb8bb270942d620dd24faa7814b1383b61fa99029a240025fd81c1db8283')
- version('3.9.7', sha256='a838d3f9360d157040142b715db34f0218e535333696a5569dc6f854604eb9d1')
- version('3.9.6', sha256='d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866')
- version('3.9.5', sha256='e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab')
- version('3.9.4', sha256='66c4de16daa74a825cf9da9ddae1fe020b72c3854b73b1762011cc33f9e4592f')
- version('3.9.3', sha256='3afeb61a45b5a2e6f1c0f621bd8cf925a4ff406099fdb3d8c97b993a5f43d048')
- version('3.9.2', sha256='7899e8a6f7946748830d66739f2d8f2b30214dad956e56b9ba216b3de5581519')
- version('3.9.1', sha256='29cb91ba038346da0bd9ab84a0a55a845d872c341a4da6879f462e94c741f117')
- version('3.9.0', sha256='df796b2dc8ef085edae2597a41c1c0a63625ebd92487adaef2fed22b567873e8')
- version('3.8.13', sha256='903b92d76354366b1d9c4434d0c81643345cef87c1600adfa36095d7b00eede4')
- version('3.8.12', sha256='316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a')
- version('3.8.11', sha256='b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393')
- version('3.8.10', sha256='b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65')
- version('3.8.9', sha256='9779ec1df000bf86914cdd40860b88da56c1e61db59d37784beca14a259ac9e9')
- version('3.8.8', sha256='76c0763f048e4f9b861d24da76b7dd5c7a3ba7ec086f40caedeea359263276f7')
- version('3.8.7', sha256='20e5a04262f0af2eb9c19240d7ec368f385788bba2d8dfba7e74b20bab4d2bac')
- version('3.8.6', sha256='313562ee9986dc369cd678011bdfd9800ef62fbf7b1496228a18f86b36428c21')
- version('3.8.5', sha256='015115023c382eb6ab83d512762fe3c5502fa0c6c52ffebc4831c4e1a06ffc49')
- version('3.8.4', sha256='32c4d9817ef11793da4d0d95b3191c4db81d2e45544614e8449255ca9ae3cc18')
- version('3.8.3', sha256='6af6d4d2e010f9655518d0fc6738c7ff7069f10a4d2fbd55509e467f092a8b90')
- version('3.8.2', sha256='e634a7a74776c2b89516b2e013dda1728c89c8149b9863b8cea21946daf9d561')
- version('3.8.1', sha256='c7cfa39a43b994621b245e029769e9126caa2a93571cee2e743b213cceac35fb')
- version('3.8.0', sha256='f1069ad3cae8e7ec467aa98a6565a62a48ef196cb8f1455a245a08db5e1792df')
- version('3.7.13', sha256='e405417f50984bc5870c7e7a9f9aeb93e9d270f5ac67f667a0cd3a09439682b5')
- version('3.7.12', sha256='33b4daaf831be19219659466d12645f87ecec6eb21d4d9f9711018a7b66cce46')
- version('3.7.11', sha256='b4fba32182e16485d0a6022ba83c9251e6a1c14676ec243a9a07d3722cd4661a')
- version('3.7.10', sha256='c9649ad84dc3a434c8637df6963100b2e5608697f9ba56d82e3809e4148e0975')
- version('3.7.9', sha256='39b018bc7d8a165e59aa827d9ae45c45901739b0bbb13721e4f973f3521c166a')
- version('3.7.8', sha256='0e25835614dc221e3ecea5831b38fa90788b5389b99b675a751414c858789ab0')
- version('3.7.7', sha256='8c8be91cd2648a1a0c251f04ea0bb4c2a5570feb9c45eaaa2241c785585b475a')
- version('3.7.6', sha256='aeee681c235ad336af116f08ab6563361a0c81c537072c1b309d6e4050aa2114')
- version('3.7.5', sha256='8ecc681ea0600bbfb366f2b173f727b205bb825d93d2f0b286bc4e58d37693da')
- version('3.7.4', sha256='d63e63e14e6d29e17490abbe6f7d17afb3db182dbd801229f14e55f4157c4ba3')
- version('3.7.3', sha256='d62e3015f2f89c970ac52343976b406694931742fbde2fed8d1ce8ebb4e1f8ff')
- version('3.7.2', sha256='f09d83c773b9cc72421abba2c317e4e6e05d919f9bcf34468e192b6a6c8e328d')
- version('3.7.1', sha256='36c1b81ac29d0f8341f727ef40864d99d8206897be96be73dc34d4739c9c9f06')
- version('3.7.0', sha256='85bb9feb6863e04fb1700b018d9d42d1caac178559ffa453d7e6a436e259fd0d')
- version('3.6.15', sha256='54570b7e339e2cfd72b29c7e2fdb47c0b7b18b7412e61de5b463fc087c13b043')
- version('3.6.14', sha256='70064897bc434d6eae8bcc3e5678f282b5ea776d60e695da548a1219ccfd27a5')
- version('3.6.13', sha256='614950d3d54f6e78dac651b49c64cfe2ceefea5af3aff3371a9e4b27a53b2669')
- version('3.6.12', sha256='12dddbe52385a0f702fb8071e12dcc6b3cb2dde07cd8db3ed60e90d90ab78693')
- version('3.6.11', sha256='96621902f89746fffc22f39749c07da7c2917b232e72352e6837d41850f7b90c')
- version('3.6.10', sha256='7034dd7cba98d4f94c74f9edd7345bac71c8814c41672c64d9044fa2f96f334d')
- version('3.6.9', sha256='47fc92a1dcb946b9ed0abc311d3767b7215c54e655b17fd1d3f9b538195525aa')
- version('3.6.8', sha256='7f5b1f08b3b0a595387ef6c64c85b1b13b38abef0dd871835ee923262e4f32f0')
- version('3.6.7', sha256='b7c36f7ed8f7143b2c46153b7332db2227669f583ea0cce753facf549d1a4239')
- version('3.6.6', sha256='7d56dadf6c7d92a238702389e80cfe66fbfae73e584189ed6f89c75bbf3eda58')
- version('3.6.5', sha256='53a3e17d77cd15c5230192b6a8c1e031c07cd9f34a2f089a731c6f6bd343d5c6')
- version('3.6.4', sha256='7dc453e1a93c083388eb1a23a256862407f8234a96dc4fae0fc7682020227486')
- version('3.6.3', sha256='ab6193af1921b30f587b302fe385268510e80187ca83ca82d2bfe7ab544c6f91')
- version('3.6.2', sha256='7919489310a5f17f7acbab64d731e46dca0702874840dadce8bd4b2b3b8e7a82')
- version('3.6.1', sha256='aa50b0143df7c89ce91be020fe41382613a817354b33acdc6641b44f8ced3828')
- version('3.6.0', sha256='aa472515800d25a3739833f76ca3735d9f4b2fe77c3cb21f69275e0cce30cb2b')
- version('3.5.10', sha256='3496a0daf51913718a6f10e3eda51fa43634cb6151cb096f312d48bdbeff7d3a')
- version('3.5.9', sha256='67a1d4fc6e4540d6a092cadc488e533afa961b3c9becc74dc3d6b55cb56e0cc1')
- version('3.5.8', sha256='18c88dfd260147bc7247e6356010e5d4916dfbfc480f6434917f88e61228177a')
- version('3.5.7', sha256='542d94920a2a06a471a73b51614805ad65366af98145b0369bc374cf248b521b')
- version('3.5.6', sha256='30d2ff093988e74283e1abfee823292c6b59590796b9827e95ba4940b27d26f8')
- version('3.5.5', sha256='2f988db33913dcef17552fd1447b41afb89dbc26e3cdfc068ea6c62013a3a2a5')
- version('3.5.4', sha256='6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44')
- version('3.5.3', sha256='d8890b84d773cd7059e597dbefa510340de8336ec9b9e9032bf030f19291565a')
- version('3.5.2', sha256='1524b840e42cf3b909e8f8df67c1724012c7dc7f9d076d4feef2d3eff031e8a0')
- version('3.5.1', sha256='687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7')
- version('3.5.0', sha256='584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0')
- version('3.4.10', sha256='217757699249ab432571b381386d441e12b433100ab5f908051fcb7cced2539d')
- version('3.4.3', sha256='8b743f56e9e50bf0923b9e9c45dd927c071d7aa56cd46569d8818add8cf01147')
- version('3.3.6', sha256='0a58ad1f1def4ecc90b18b0c410a3a0e1a48cf7692c75d1f83d0af080e5d2034')
- version('3.2.6', sha256='fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e')
- version('3.1.5', sha256='d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103', deprecated=True)
- version('2.7.18', sha256='da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814')
- version('2.7.17', sha256='f22059d09cdf9625e0a7284d24a13062044f5bf59d93a7f3382190dfa94cecde')
- version('2.7.16', sha256='01da813a3600876f03f46db11cc5c408175e99f03af2ba942ef324389a83bad5')
- version('2.7.15', sha256='18617d1f15a380a919d517630a9cd85ce17ea602f9bbdc58ddc672df4b0239db')
- version('2.7.14', sha256='304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8')
- version('2.7.13', sha256='a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1')
- version('2.7.12', sha256='3cb522d17463dfa69a155ab18cffa399b358c966c0363d6c8b5b3bf1384da4b6')
- version('2.7.11', sha256='82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6')
- version('2.7.10', sha256='eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a')
- version('2.7.9', sha256='c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b')
- version('2.7.8', sha256='74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557')
+ version("3.10.5", sha256="18f57182a2de3b0be76dfc39fdcfd28156bb6dd23e5f08696f7492e9e3d0bf2d")
+ version("3.10.4", sha256="f3bcc65b1d5f1dc78675c746c98fcee823c038168fc629c5935b044d0911ad28")
+ version("3.10.3", sha256="5a3b029bad70ba2a019ebff08a65060a8b9b542ffc1a83c697f1449ecca9813b")
+ version("3.10.2", sha256="3c0ede893011319f9b0a56b44953a3d52c7abf9657c23fb4bc9ced93b86e9c97")
+ version("3.10.1", sha256="b76117670e7c5064344b9c138e141a377e686b9063f3a8a620ff674fa8ec90d3")
+ version("3.10.0", sha256="c4e0cbad57c90690cb813fb4663ef670b4d0f587d8171e2c42bd4c9245bd2758")
+ version(
+ "3.9.13",
+ sha256="829b0d26072a44689a6b0810f5b4a3933ee2a0b8a4bfc99d7c5893ffd4f97c44",
+ preferred=True,
+ )
+ version("3.9.12", sha256="70e08462ebf265012bd2be88a63d2149d880c73e53f1712b7bbbe93750560ae8")
+ version("3.9.11", sha256="3442400072f582ac2f0df30895558f08883b416c8c7877ea55d40d00d8a93112")
+ version("3.9.10", sha256="1aa9c0702edbae8f6a2c95f70a49da8420aaa76b7889d3419c186bfc8c0e571e")
+ version("3.9.9", sha256="2cc7b67c1f3f66c571acc42479cdf691d8ed6b47bee12c9b68430413a17a44ea")
+ version("3.9.8", sha256="7447fb8bb270942d620dd24faa7814b1383b61fa99029a240025fd81c1db8283")
+ version("3.9.7", sha256="a838d3f9360d157040142b715db34f0218e535333696a5569dc6f854604eb9d1")
+ version("3.9.6", sha256="d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866")
+ version("3.9.5", sha256="e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab")
+ version("3.9.4", sha256="66c4de16daa74a825cf9da9ddae1fe020b72c3854b73b1762011cc33f9e4592f")
+ version("3.9.3", sha256="3afeb61a45b5a2e6f1c0f621bd8cf925a4ff406099fdb3d8c97b993a5f43d048")
+ version("3.9.2", sha256="7899e8a6f7946748830d66739f2d8f2b30214dad956e56b9ba216b3de5581519")
+ version("3.9.1", sha256="29cb91ba038346da0bd9ab84a0a55a845d872c341a4da6879f462e94c741f117")
+ version("3.9.0", sha256="df796b2dc8ef085edae2597a41c1c0a63625ebd92487adaef2fed22b567873e8")
+ version("3.8.13", sha256="903b92d76354366b1d9c4434d0c81643345cef87c1600adfa36095d7b00eede4")
+ version("3.8.12", sha256="316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a")
+ version("3.8.11", sha256="b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393")
+ version("3.8.10", sha256="b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65")
+ version("3.8.9", sha256="9779ec1df000bf86914cdd40860b88da56c1e61db59d37784beca14a259ac9e9")
+ version("3.8.8", sha256="76c0763f048e4f9b861d24da76b7dd5c7a3ba7ec086f40caedeea359263276f7")
+ version("3.8.7", sha256="20e5a04262f0af2eb9c19240d7ec368f385788bba2d8dfba7e74b20bab4d2bac")
+ version("3.8.6", sha256="313562ee9986dc369cd678011bdfd9800ef62fbf7b1496228a18f86b36428c21")
+ version("3.8.5", sha256="015115023c382eb6ab83d512762fe3c5502fa0c6c52ffebc4831c4e1a06ffc49")
+ version("3.8.4", sha256="32c4d9817ef11793da4d0d95b3191c4db81d2e45544614e8449255ca9ae3cc18")
+ version("3.8.3", sha256="6af6d4d2e010f9655518d0fc6738c7ff7069f10a4d2fbd55509e467f092a8b90")
+ version("3.8.2", sha256="e634a7a74776c2b89516b2e013dda1728c89c8149b9863b8cea21946daf9d561")
+ version("3.8.1", sha256="c7cfa39a43b994621b245e029769e9126caa2a93571cee2e743b213cceac35fb")
+ version("3.8.0", sha256="f1069ad3cae8e7ec467aa98a6565a62a48ef196cb8f1455a245a08db5e1792df")
+ version("3.7.13", sha256="e405417f50984bc5870c7e7a9f9aeb93e9d270f5ac67f667a0cd3a09439682b5")
+ version("3.7.12", sha256="33b4daaf831be19219659466d12645f87ecec6eb21d4d9f9711018a7b66cce46")
+ version("3.7.11", sha256="b4fba32182e16485d0a6022ba83c9251e6a1c14676ec243a9a07d3722cd4661a")
+ version("3.7.10", sha256="c9649ad84dc3a434c8637df6963100b2e5608697f9ba56d82e3809e4148e0975")
+ version("3.7.9", sha256="39b018bc7d8a165e59aa827d9ae45c45901739b0bbb13721e4f973f3521c166a")
+ version("3.7.8", sha256="0e25835614dc221e3ecea5831b38fa90788b5389b99b675a751414c858789ab0")
+ version("3.7.7", sha256="8c8be91cd2648a1a0c251f04ea0bb4c2a5570feb9c45eaaa2241c785585b475a")
+ version("3.7.6", sha256="aeee681c235ad336af116f08ab6563361a0c81c537072c1b309d6e4050aa2114")
+ version("3.7.5", sha256="8ecc681ea0600bbfb366f2b173f727b205bb825d93d2f0b286bc4e58d37693da")
+ version("3.7.4", sha256="d63e63e14e6d29e17490abbe6f7d17afb3db182dbd801229f14e55f4157c4ba3")
+ version("3.7.3", sha256="d62e3015f2f89c970ac52343976b406694931742fbde2fed8d1ce8ebb4e1f8ff")
+ version("3.7.2", sha256="f09d83c773b9cc72421abba2c317e4e6e05d919f9bcf34468e192b6a6c8e328d")
+ version("3.7.1", sha256="36c1b81ac29d0f8341f727ef40864d99d8206897be96be73dc34d4739c9c9f06")
+ version("3.7.0", sha256="85bb9feb6863e04fb1700b018d9d42d1caac178559ffa453d7e6a436e259fd0d")
+ version("3.6.15", sha256="54570b7e339e2cfd72b29c7e2fdb47c0b7b18b7412e61de5b463fc087c13b043")
+ version("3.6.14", sha256="70064897bc434d6eae8bcc3e5678f282b5ea776d60e695da548a1219ccfd27a5")
+ version("3.6.13", sha256="614950d3d54f6e78dac651b49c64cfe2ceefea5af3aff3371a9e4b27a53b2669")
+ version("3.6.12", sha256="12dddbe52385a0f702fb8071e12dcc6b3cb2dde07cd8db3ed60e90d90ab78693")
+ version("3.6.11", sha256="96621902f89746fffc22f39749c07da7c2917b232e72352e6837d41850f7b90c")
+ version("3.6.10", sha256="7034dd7cba98d4f94c74f9edd7345bac71c8814c41672c64d9044fa2f96f334d")
+ version("3.6.9", sha256="47fc92a1dcb946b9ed0abc311d3767b7215c54e655b17fd1d3f9b538195525aa")
+ version("3.6.8", sha256="7f5b1f08b3b0a595387ef6c64c85b1b13b38abef0dd871835ee923262e4f32f0")
+ version("3.6.7", sha256="b7c36f7ed8f7143b2c46153b7332db2227669f583ea0cce753facf549d1a4239")
+ version("3.6.6", sha256="7d56dadf6c7d92a238702389e80cfe66fbfae73e584189ed6f89c75bbf3eda58")
+ version("3.6.5", sha256="53a3e17d77cd15c5230192b6a8c1e031c07cd9f34a2f089a731c6f6bd343d5c6")
+ version("3.6.4", sha256="7dc453e1a93c083388eb1a23a256862407f8234a96dc4fae0fc7682020227486")
+ version("3.6.3", sha256="ab6193af1921b30f587b302fe385268510e80187ca83ca82d2bfe7ab544c6f91")
+ version("3.6.2", sha256="7919489310a5f17f7acbab64d731e46dca0702874840dadce8bd4b2b3b8e7a82")
+ version("3.6.1", sha256="aa50b0143df7c89ce91be020fe41382613a817354b33acdc6641b44f8ced3828")
+ version("3.6.0", sha256="aa472515800d25a3739833f76ca3735d9f4b2fe77c3cb21f69275e0cce30cb2b")
+ version("3.5.10", sha256="3496a0daf51913718a6f10e3eda51fa43634cb6151cb096f312d48bdbeff7d3a")
+ version("3.5.9", sha256="67a1d4fc6e4540d6a092cadc488e533afa961b3c9becc74dc3d6b55cb56e0cc1")
+ version("3.5.8", sha256="18c88dfd260147bc7247e6356010e5d4916dfbfc480f6434917f88e61228177a")
+ version("3.5.7", sha256="542d94920a2a06a471a73b51614805ad65366af98145b0369bc374cf248b521b")
+ version("3.5.6", sha256="30d2ff093988e74283e1abfee823292c6b59590796b9827e95ba4940b27d26f8")
+ version("3.5.5", sha256="2f988db33913dcef17552fd1447b41afb89dbc26e3cdfc068ea6c62013a3a2a5")
+ version("3.5.4", sha256="6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44")
+ version("3.5.3", sha256="d8890b84d773cd7059e597dbefa510340de8336ec9b9e9032bf030f19291565a")
+ version("3.5.2", sha256="1524b840e42cf3b909e8f8df67c1724012c7dc7f9d076d4feef2d3eff031e8a0")
+ version("3.5.1", sha256="687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7")
+ version("3.5.0", sha256="584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0")
+ version("3.4.10", sha256="217757699249ab432571b381386d441e12b433100ab5f908051fcb7cced2539d")
+ version("3.4.3", sha256="8b743f56e9e50bf0923b9e9c45dd927c071d7aa56cd46569d8818add8cf01147")
+ version("3.3.6", sha256="0a58ad1f1def4ecc90b18b0c410a3a0e1a48cf7692c75d1f83d0af080e5d2034")
+ version("3.2.6", sha256="fc1e41296e29d476f696303acae293ae7a2310f0f9d0d637905e722a3f16163e")
+ version(
+ "3.1.5",
+ sha256="d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103",
+ deprecated=True,
+ )
+ version("2.7.18", sha256="da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814")
+ version("2.7.17", sha256="f22059d09cdf9625e0a7284d24a13062044f5bf59d93a7f3382190dfa94cecde")
+ version("2.7.16", sha256="01da813a3600876f03f46db11cc5c408175e99f03af2ba942ef324389a83bad5")
+ version("2.7.15", sha256="18617d1f15a380a919d517630a9cd85ce17ea602f9bbdc58ddc672df4b0239db")
+ version("2.7.14", sha256="304c9b202ea6fbd0a4a8e0ad3733715fbd4749f2204a9173a58ec53c32ea73e8")
+ version("2.7.13", sha256="a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1")
+ version("2.7.12", sha256="3cb522d17463dfa69a155ab18cffa399b358c966c0363d6c8b5b3bf1384da4b6")
+ version("2.7.11", sha256="82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6")
+ version("2.7.10", sha256="eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a")
+ version("2.7.9", sha256="c8bba33e66ac3201dabdc556f0ea7cfe6ac11946ec32d357c4c6f9b018c12c5b")
+ version("2.7.8", sha256="74d70b914da4487aa1d97222b29e9554d042f825f26cb2b93abd20fdda56b557")
extendable = True
# Variants to avoid cyclical dependencies for concretizer
- variant('libxml2', default=True,
- description='Use a gettext library build with libxml2')
+ variant("libxml2", default=True, description="Use a gettext library build with libxml2")
variant(
- 'debug', default=False,
- description="debug build with extra checks (this is high overhead)"
+ "debug", default=False, description="debug build with extra checks (this is high overhead)"
)
# --enable-shared is known to cause problems for some users on macOS
# This is a problem for Python 2.7 only, not Python3
# See http://bugs.python.org/issue29846
- variant('shared', default=True,
- description='Enable shared libraries')
+ variant("shared", default=True, description="Enable shared libraries")
# From https://docs.python.org/2/c-api/unicode.html: Python's default
# builds use a 16-bit type for Py_UNICODE and store Unicode values
# internally as UCS2. It is also possible to build a UCS4 version of Python
@@ -159,64 +164,70 @@ class Python(Package):
# builds then use a 32-bit type for Py_UNICODE and store Unicode data
# internally as UCS4. Note that UCS2 and UCS4 Python builds are not binary
# compatible.
- variant('ucs4', default=False,
- description='Enable UCS4 (wide) unicode strings')
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
+ variant("ucs4", default=False, description="Enable UCS4 (wide) unicode strings")
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
variant(
- 'optimizations',
+ "optimizations",
default=False,
- description='Enable expensive build-time optimizations, if available'
+ description="Enable expensive build-time optimizations, if available",
)
# See https://legacy.python.org/dev/peps/pep-0394/
- variant('pythoncmd', default=not is_windows,
- description="Symlink 'python3' executable to 'python' "
- "(not PEP 394 compliant)")
+ variant(
+ "pythoncmd",
+ default=not is_windows,
+ description="Symlink 'python3' executable to 'python' " "(not PEP 394 compliant)",
+ )
# Optional Python modules
- variant('readline', default=not is_windows, description='Build readline module')
- variant('ssl', default=True, description='Build ssl module')
- variant('sqlite3', default=True, description='Build sqlite3 module')
- variant('dbm', default=True, description='Build dbm module')
- variant('nis', default=False, description='Build nis module')
- variant('zlib', default=True, description='Build zlib module')
- variant('bz2', default=True, description='Build bz2 module')
- variant('lzma', default=True, description='Build lzma module', when='@3.3:')
- variant('pyexpat', default=True, description='Build pyexpat module')
- variant('ctypes', default=True, description='Build ctypes module')
- variant('tkinter', default=False, description='Build tkinter module')
- variant('uuid', default=True, description='Build uuid module')
- variant('tix', default=False, description='Build Tix module')
- variant('ensurepip', default=True, description='Build ensurepip module', when='@2.7.9:2,3.4:')
+ variant("readline", default=not is_windows, description="Build readline module")
+ variant("ssl", default=True, description="Build ssl module")
+ variant("sqlite3", default=True, description="Build sqlite3 module")
+ variant("dbm", default=True, description="Build dbm module")
+ variant("nis", default=False, description="Build nis module")
+ variant("zlib", default=True, description="Build zlib module")
+ variant("bz2", default=True, description="Build bz2 module")
+ variant("lzma", default=True, description="Build lzma module", when="@3.3:")
+ variant("pyexpat", default=True, description="Build pyexpat module")
+ variant("ctypes", default=True, description="Build ctypes module")
+ variant("tkinter", default=False, description="Build tkinter module")
+ variant("uuid", default=True, description="Build uuid module")
+ variant("tix", default=False, description="Build Tix module")
+ variant("ensurepip", default=True, description="Build ensurepip module", when="@2.7.9:2,3.4:")
if not is_windows:
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('gettext +libxml2', when='+libxml2')
- depends_on('gettext ~libxml2', when='~libxml2')
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("gettext +libxml2", when="+libxml2")
+ depends_on("gettext ~libxml2", when="~libxml2")
# Optional dependencies
# See detect_modules() in setup.py for details
- depends_on('readline', when='+readline')
- depends_on('ncurses', when='+readline')
- depends_on('openssl', when='+ssl')
+ depends_on("readline", when="+readline")
+ depends_on("ncurses", when="+readline")
+ depends_on("openssl", when="+ssl")
# https://raw.githubusercontent.com/python/cpython/84471935ed2f62b8c5758fd544c7d37076fe0fa5/Misc/NEWS
# 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('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')
- depends_on('bzip2', when='+bz2')
- depends_on('xz', when='@3.3:+lzma')
- depends_on('expat', when='+pyexpat')
- depends_on('libffi', when='+ctypes')
- depends_on('tk', when='+tkinter')
- depends_on('tcl', when='+tkinter')
- depends_on('uuid', when='+uuid')
- depends_on('tix', when='+tix')
+ 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(
+ "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")
+ depends_on("bzip2", when="+bz2")
+ depends_on("xz", when="@3.3:+lzma")
+ depends_on("expat", when="+pyexpat")
+ depends_on("libffi", when="+ctypes")
+ depends_on("tk", when="+tkinter")
+ depends_on("tcl", when="+tkinter")
+ depends_on("uuid", when="+uuid")
+ depends_on("tix", when="+tix")
# Python needs to be patched to build extensions w/ mixed C/C++ code:
# https://github.com/NixOS/nixpkgs/pull/19585/files
@@ -228,63 +239,67 @@ class Python(Package):
# C/C++ modules, consider installing a Spack-managed Python with
# this patch instead. For more information, see:
# https://github.com/spack/spack/pull/16856
- patch('python-2.7.8-distutils-C++.patch', when='@2.7.8:2.7.16')
- patch('python-2.7.17+-distutils-C++.patch', when='@2.7.17:2.7.18')
- patch('python-2.7.17+-distutils-C++-fixup.patch', when='@2.7.17:2.7.18')
- patch('python-3.6.8-distutils-C++.patch', when='@3.6.8,3.7.2')
- patch('python-3.7.3-distutils-C++.patch', when='@3.7.3')
- patch('python-3.7.4+-distutils-C++.patch', when='@3.7.4:')
- patch('python-3.7.4+-distutils-C++-testsuite.patch', when='@3.7.4:')
- patch('cpython-windows-externals.patch', when='@:3.9.6 platform=windows')
- patch('tkinter.patch', when='@:2.8,3.3:3.7 platform=darwin')
+ patch("python-2.7.8-distutils-C++.patch", when="@2.7.8:2.7.16")
+ patch("python-2.7.17+-distutils-C++.patch", when="@2.7.17:2.7.18")
+ patch("python-2.7.17+-distutils-C++-fixup.patch", when="@2.7.17:2.7.18")
+ patch("python-3.6.8-distutils-C++.patch", when="@3.6.8,3.7.2")
+ patch("python-3.7.3-distutils-C++.patch", when="@3.7.3")
+ patch("python-3.7.4+-distutils-C++.patch", when="@3.7.4:")
+ patch("python-3.7.4+-distutils-C++-testsuite.patch", when="@3.7.4:")
+ patch("cpython-windows-externals.patch", when="@:3.9.6 platform=windows")
+ patch("tkinter.patch", when="@:2.8,3.3:3.7 platform=darwin")
# Patch the setup script to deny that tcl/x11 exists rather than allowing
# autodetection of (possibly broken) system components
- patch('tkinter-3.8.patch', when='@3.8:3.9 ~tkinter')
- patch('tkinter-3.10.patch', when='@3.10: ~tkinter')
+ patch("tkinter-3.8.patch", when="@3.8:3.9 ~tkinter")
+ patch("tkinter-3.10.patch", when="@3.10: ~tkinter")
# Ensure that distutils chooses correct compiler option for RPATH on cray:
- patch('cray-rpath-2.3.patch', when='@2.3:3.0.1 platform=cray')
- patch('cray-rpath-3.1.patch', when='@3.1:3 platform=cray')
+ patch("cray-rpath-2.3.patch", when="@2.3:3.0.1 platform=cray")
+ patch("cray-rpath-3.1.patch", when="@3.1:3 platform=cray")
# Ensure that distutils chooses correct compiler option for RPATH on fj:
- patch('fj-rpath-2.3.patch', when='@2.3:3.0.1 %fj')
- patch('fj-rpath-3.1.patch', when='@3.1:3.9.7,3.10.0 %fj')
- patch('fj-rpath-3.9.patch', when='@3.9.8:3.9,3.10.1: %fj')
+ patch("fj-rpath-2.3.patch", when="@2.3:3.0.1 %fj")
+ patch("fj-rpath-3.1.patch", when="@3.1:3.9.7,3.10.0 %fj")
+ patch("fj-rpath-3.9.patch", when="@3.9.8:3.9,3.10.1: %fj")
# Fixes an alignment problem with more aggressive optimization in gcc8
# https://github.com/python/cpython/commit/0b91f8a668201fc58fa732b8acc496caedfdbae0
- patch('gcc-8-2.7.14.patch', when='@2.7.14 %gcc@8:')
+ patch("gcc-8-2.7.14.patch", when="@2.7.14 %gcc@8:")
# Fixes build with the Intel compilers
# https://github.com/python/cpython/pull/16717
- patch('intel-3.6.7.patch', when='@3.6.7:3.6.8,3.7.1:3.7.5 %intel')
+ patch("intel-3.6.7.patch", when="@3.6.7:3.6.8,3.7.1:3.7.5 %intel")
# CPython tries to build an Objective-C file with GCC's C frontend
# https://github.com/spack/spack/pull/16222
# https://github.com/python/cpython/pull/13306
- conflicts('%gcc platform=darwin',
- msg='CPython does not compile with GCC on macOS yet, use clang. '
- 'See: https://github.com/python/cpython/pull/13306')
+ conflicts(
+ "%gcc platform=darwin",
+ msg="CPython does not compile with GCC on macOS yet, use clang. "
+ "See: https://github.com/python/cpython/pull/13306",
+ )
# For more information refer to this bug report:
# https://bugs.python.org/issue29712
conflicts(
- '@:2.8 +shared',
- when='+optimizations',
- msg='+optimizations is incompatible with +shared in python@2.X'
+ "@:2.8 +shared",
+ when="+optimizations",
+ msg="+optimizations is incompatible with +shared in python@2.X",
+ )
+ conflicts("+tix", when="~tkinter", msg="python+tix requires python+tix+tkinter")
+ conflicts("%nvhpc")
+ conflicts(
+ "@:2.7",
+ when="platform=darwin target=aarch64:",
+ msg="Python 2.7 is too old for Apple Silicon",
)
- conflicts('+tix', when='~tkinter',
- msg='python+tix requires python+tix+tkinter')
- conflicts('%nvhpc')
- conflicts('@:2.7', when='platform=darwin target=aarch64:',
- msg='Python 2.7 is too old for Apple Silicon')
# Used to cache various attributes that are expensive to compute
_config_vars = {} # type: Dict[str, Dict[str, str]]
# An in-source build with --enable-optimizations fails for python@3.X
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- executables = [r'^python[\d.]*[mw]?$']
+ executables = [r"^python[\d.]*[mw]?$"]
@classmethod
def determine_version(cls, exe):
@@ -295,92 +310,91 @@ class Python(Package):
# Python 3.7.7
# On pre-production Ubuntu, this is also possible:
# Python 3.10.2+
- output = Executable(exe)('-V', output=str, error=str)
- match = re.search(r'Python\s+([A-Za-z0-9_.-]+)', output)
+ output = Executable(exe)("-V", output=str, error=str)
+ match = re.search(r"Python\s+([A-Za-z0-9_.-]+)", output)
return match.group(1) if match else None
@classmethod
def determine_variants(cls, exes, version_str):
python = Executable(exes[0])
- variants = ''
+ variants = ""
for exe in exes:
- if os.path.basename(exe) == 'python':
- variants += '+pythoncmd'
+ if os.path.basename(exe) == "python":
+ variants += "+pythoncmd"
break
else:
- variants += '~pythoncmd'
+ variants += "~pythoncmd"
- for module in ['readline', 'sqlite3', 'dbm', 'nis',
- 'zlib', 'bz2', 'ctypes', 'uuid']:
+ for module in ["readline", "sqlite3", "dbm", "nis", "zlib", "bz2", "ctypes", "uuid"]:
try:
- python('-c', 'import ' + module, error=os.devnull)
- variants += '+' + module
+ python("-c", "import " + module, error=os.devnull)
+ variants += "+" + module
except ProcessError:
- variants += '~' + module
+ variants += "~" + module
# Some variants enable multiple modules
try:
- python('-c', 'import ssl', error=os.devnull)
- python('-c', 'import hashlib', error=os.devnull)
- variants += '+ssl'
+ python("-c", "import ssl", error=os.devnull)
+ python("-c", "import hashlib", error=os.devnull)
+ variants += "+ssl"
except ProcessError:
- variants += '~ssl'
+ variants += "~ssl"
try:
- python('-c', 'import xml.parsers.expat', error=os.devnull)
- python('-c', 'import xml.etree.ElementTree', error=os.devnull)
- variants += '+pyexpat'
+ python("-c", "import xml.parsers.expat", error=os.devnull)
+ python("-c", "import xml.etree.ElementTree", error=os.devnull)
+ variants += "+pyexpat"
except ProcessError:
- variants += '~pyexpat'
+ variants += "~pyexpat"
# Some modules are version-dependent
- if Version(version_str) >= Version('3.3'):
+ if Version(version_str) >= Version("3.3"):
try:
- python('-c', 'import lzma', error=os.devnull)
- variants += '+lzma'
+ python("-c", "import lzma", error=os.devnull)
+ variants += "+lzma"
except ProcessError:
- variants += '~lzma'
+ variants += "~lzma"
- if Version(version_str) in ver('2.7.9:2,3.4:'):
+ if Version(version_str) in ver("2.7.9:2,3.4:"):
# The ensurepip module is always available, but won't work if built with
# --without-ensurepip. A more reliable check to see if the package was built
# with --with-ensurepip is to check for the presence of a pip executable.
- if glob.glob(os.path.join(os.path.dirname(exes[0]), 'pip*')):
- variants += '+ensurepip'
+ if glob.glob(os.path.join(os.path.dirname(exes[0]), "pip*")):
+ variants += "+ensurepip"
else:
- variants += '~ensurepip'
+ variants += "~ensurepip"
- if Version(version_str) >= Version('3'):
+ if Version(version_str) >= Version("3"):
try:
- python('-c', 'import tkinter', error=os.devnull)
- variants += '+tkinter'
+ python("-c", "import tkinter", error=os.devnull)
+ variants += "+tkinter"
except ProcessError:
- variants += '~tkinter'
+ variants += "~tkinter"
try:
- python('-c', 'import tkinter.tix', error=os.devnull)
- variants += '+tix'
+ python("-c", "import tkinter.tix", error=os.devnull)
+ variants += "+tix"
except ProcessError:
- variants += '~tix'
+ variants += "~tix"
else:
try:
- python('-c', 'import Tkinter', error=os.devnull)
- variants += '+tkinter'
+ python("-c", "import Tkinter", error=os.devnull)
+ variants += "+tkinter"
except ProcessError:
- variants += '~tkinter'
+ variants += "~tkinter"
try:
- python('-c', 'import Tix', error=os.devnull)
- variants += '+tix'
+ python("-c", "import Tix", error=os.devnull)
+ variants += "+tix"
except ProcessError:
- variants += '~tix'
+ variants += "~tix"
return variants
def url_for_version(self, version):
url = "https://www.python.org/ftp/python/{0}/Python-{1}.tgz"
- return url.format(re.split('[a-z]', str(version))[0], version)
+ return url.format(re.split("[a-z]", str(version))[0], version)
# TODO: Ideally, these patches would be applied as separate '@run_before'
# functions enabled via '@when', but these two decorators don't work
@@ -390,38 +404,28 @@ class Python(Package):
# user's local configurations to change the Spack installation. In
# order to prevent this behavior for a full installation, we must
# modify the installation script so that it ignores user files.
- if self.spec.satisfies('@2.7:2.8,3.4:'):
- ff = FileFilter('Makefile.pre.in')
+ if self.spec.satisfies("@2.7:2.8,3.4:"):
+ ff = FileFilter("Makefile.pre.in")
ff.filter(
- r'^(.*)setup\.py(.*)((build)|(install))(.*)$',
- r'\1setup.py\2 --no-user-cfg \3\6'
+ r"^(.*)setup\.py(.*)((build)|(install))(.*)$", r"\1setup.py\2 --no-user-cfg \3\6"
)
# NOTE: Older versions of Python do not support the '--with-openssl'
# configuration option, so the installation's module setup file needs
# to be modified directly in order to point to the correct SSL path.
# See: https://stackoverflow.com/a/5939170
- if self.spec.satisfies('@:3.6+ssl'):
- ff = FileFilter(join_path('Modules', 'Setup.dist'))
- ff.filter(r'^#(((SSL=)|(_ssl))(.*))$', r'\1')
- ff.filter(r'^#((.*)(\$\(SSL\))(.*))$', r'\1')
- ff.filter(
- r'^SSL=(.*)$',
- r'SSL={0}'.format(self.spec['openssl'].prefix)
- )
+ if self.spec.satisfies("@:3.6+ssl"):
+ ff = FileFilter(join_path("Modules", "Setup.dist"))
+ ff.filter(r"^#(((SSL=)|(_ssl))(.*))$", r"\1")
+ ff.filter(r"^#((.*)(\$\(SSL\))(.*))$", r"\1")
+ ff.filter(r"^SSL=(.*)$", r"SSL={0}".format(self.spec["openssl"].prefix))
# Because Python uses compiler system paths during install, it's
# possible to pick up a system OpenSSL when building 'python~ssl'.
# To avoid this scenario, we disable the 'ssl' module with patching.
- elif self.spec.satisfies('@:3.6~ssl'):
- ff = FileFilter('setup.py')
- ff.filter(
- r'^(\s+(ssl_((incs)|(libs)))\s+=\s+)(.*)$',
- r'\1 None and \6'
- )
- ff.filter(
- r'^(\s+(opensslv_h)\s+=\s+)(.*)$',
- r'\1 None and \3'
- )
+ elif self.spec.satisfies("@:3.6~ssl"):
+ ff = FileFilter("setup.py")
+ ff.filter(r"^(\s+(ssl_((incs)|(libs)))\s+=\s+)(.*)$", r"\1 None and \6")
+ ff.filter(r"^(\s+(opensslv_h)\s+=\s+)(.*)$", r"\1 None and \3")
def setup_build_environment(self, env):
spec = self.spec
@@ -430,39 +434,47 @@ class Python(Package):
# Python v2.7 and v3.4+ (see https://bugs.python.org/issue1180) and
# adding support for ignoring user configuration will require
# significant changes to this package for other Python versions.
- if not spec.satisfies('@2.7:2.8,3.4:'):
- tty.warn(('Python v{0} may not install properly if Python '
- 'user configurations are present.').format(self.version))
+ if not spec.satisfies("@2.7:2.8,3.4:"):
+ tty.warn(
+ (
+ "Python v{0} may not install properly if Python "
+ "user configurations are present."
+ ).format(self.version)
+ )
# TODO: Python has incomplete support for Python modules with mixed
# C/C++ source, and patches are required to enable building for these
# modules. All Python versions without a viable patch are installed
# with a warning message about this potentially erroneous behavior.
- if not spec.satisfies('@2.7.8:2.7.18,3.6.8,3.7.2:'):
- tty.warn(('Python v{0} does not have the C++ "distutils" patch; '
- 'errors may occur when installing Python modules w/ '
- 'mixed C/C++ source files.').format(self.version))
+ if not spec.satisfies("@2.7.8:2.7.18,3.6.8,3.7.2:"):
+ tty.warn(
+ (
+ 'Python v{0} does not have the C++ "distutils" patch; '
+ "errors may occur when installing Python modules w/ "
+ "mixed C/C++ source files."
+ ).format(self.version)
+ )
- env.unset('PYTHONPATH')
- env.unset('PYTHONHOME')
+ env.unset("PYTHONPATH")
+ env.unset("PYTHONHOME")
# avoid build error on fugaku
- if spec.satisfies('@3.10.0 arch=linux-rhel8-a64fx'):
- if spec.satisfies('%gcc') or spec.satisfies('%fj'):
- env.unset('LC_ALL')
+ if spec.satisfies("@3.10.0 arch=linux-rhel8-a64fx"):
+ if spec.satisfies("%gcc") or spec.satisfies("%fj"):
+ env.unset("LC_ALL")
def flag_handler(self, name, flags):
# python 3.8 requires -fwrapv when compiled with intel
- if self.spec.satisfies('@3.8: %intel'):
- if name == 'cflags':
- flags.append('-fwrapv')
+ if self.spec.satisfies("@3.8: %intel"):
+ if name == "cflags":
+ flags.append("-fwrapv")
# Fix for following issues for python with aocc%3.2.0:
# https://github.com/spack/spack/issues/29115
# https://github.com/spack/spack/pull/28708
- if self.spec.satisfies('%aocc@3.2.0', strict=True):
- if name == 'cflags':
- flags.extend(['-mllvm', '-disable-indvar-simplify=true'])
+ if self.spec.satisfies("%aocc@3.2.0", strict=True):
+ if name == "cflags":
+ flags.extend(["-mllvm", "-disable-indvar-simplify=true"])
# allow flags to be passed through compiler wrapper
return (flags, None, None)
@@ -479,8 +491,7 @@ class Python(Package):
cross compile however.
"""
- arch_map = {"AMD64": "x64", "x86": "Win32",
- "IA64": "Win32", "EM64T": "Win32"}
+ arch_map = {"AMD64": "x64", "x86": "Win32", "IA64": "Win32", "EM64T": "Win32"}
arch = platform.machine()
if arch in arch_map:
arch = arch_map[arch]
@@ -497,14 +508,14 @@ class Python(Package):
"""
args = []
args.append("-p %s" % self.plat_arch)
- if self.spec.satisfies('+debug'):
- args.append('-d')
- if self.spec.satisfies('~ctypes'):
- args.append('--no-ctypes')
- if self.spec.satisfies('~ssl'):
- args.append('--no-ssl')
- if self.spec.satisfies('~tkinter'):
- args.append('--no-tkinter')
+ if self.spec.satisfies("+debug"):
+ args.append("-d")
+ if self.spec.satisfies("~ctypes"):
+ args.append("--no-ctypes")
+ if self.spec.satisfies("~ssl"):
+ args.append("--no-ssl")
+ if self.spec.satisfies("~tkinter"):
+ args.append("--no-tkinter")
return args
def win_installer(self, prefix):
@@ -537,9 +548,11 @@ class Python(Package):
os.makedirs(prefix.DLLs)
for lib in shared_libraries:
file_name = os.path.basename(lib)
- if file_name.endswith(".exe") or\
- (file_name.endswith(".dll") and "python" in file_name)\
- or "vcruntime" in file_name:
+ if (
+ file_name.endswith(".exe")
+ or (file_name.endswith(".dll") and "python" in file_name)
+ or "vcruntime" in file_name
+ ):
copy(lib, prefix)
else:
copy(lib, prefix.DLLs)
@@ -554,7 +567,7 @@ class Python(Package):
# setup.py needs to be able to read the CPPFLAGS and LDFLAGS
# as it scans for the library and headers to build
- link_deps = spec.dependencies(deptype='link')
+ link_deps = spec.dependencies(deptype="link")
if link_deps:
# Header files are often included assuming they reside in a
@@ -562,101 +575,101 @@ class Python(Package):
# which is why we don't use HeaderList here. The header files of
# libffi reside in prefix.lib but the configure script of Python
# finds them using pkg-config.
- cppflags = ' '.join('-I' + spec[dep.name].prefix.include
- for dep in link_deps)
+ cppflags = " ".join("-I" + spec[dep.name].prefix.include for dep in link_deps)
# Currently, the only way to get SpecBuildInterface wrappers of the
# dependencies (which we need to get their 'libs') is to get them
# using spec.__getitem__.
- ldflags = ' '.join(spec[dep.name].libs.search_flags
- for dep in link_deps)
+ ldflags = " ".join(spec[dep.name].libs.search_flags for dep in link_deps)
- config_args.extend(['CPPFLAGS=' + cppflags, 'LDFLAGS=' + ldflags])
+ config_args.extend(["CPPFLAGS=" + cppflags, "LDFLAGS=" + ldflags])
# https://docs.python.org/3/whatsnew/3.7.html#build-changes
- if spec.satisfies('@:3.6'):
- config_args.append('--with-threads')
+ if spec.satisfies("@:3.6"):
+ config_args.append("--with-threads")
- if spec.satisfies('@2.7.13:2.8,3.5.3:', strict=True) \
- and '+optimizations' in spec:
- config_args.append('--enable-optimizations')
- config_args.append('--with-lto')
- config_args.append('--with-computed-gotos')
+ if spec.satisfies("@2.7.13:2.8,3.5.3:", strict=True) and "+optimizations" in spec:
+ config_args.append("--enable-optimizations")
+ config_args.append("--with-lto")
+ config_args.append("--with-computed-gotos")
- if spec.satisfies('%gcc platform=darwin'):
- config_args.append('--disable-toolbox-glue')
+ if spec.satisfies("%gcc platform=darwin"):
+ config_args.append("--disable-toolbox-glue")
- if spec.satisfies('%intel', strict=True) and \
- spec.satisfies('@2.7.12:2.8,3.5.2:3.7', strict=True):
- config_args.append('--with-icc={0}'.format(spack_cc))
+ if spec.satisfies("%intel", strict=True) and spec.satisfies(
+ "@2.7.12:2.8,3.5.2:3.7", strict=True
+ ):
+ config_args.append("--with-icc={0}".format(spack_cc))
- if '+debug' in spec:
- config_args.append('--with-pydebug')
+ if "+debug" in spec:
+ config_args.append("--with-pydebug")
else:
- config_args.append('--without-pydebug')
+ config_args.append("--without-pydebug")
- if '+shared' in spec:
- config_args.append('--enable-shared')
+ if "+shared" in spec:
+ config_args.append("--enable-shared")
else:
- config_args.append('--disable-shared')
-
- if '+ucs4' in spec:
- if spec.satisfies('@:2.7'):
- config_args.append('--enable-unicode=ucs4')
- elif spec.satisfies('@3.0:3.2'):
- config_args.append('--with-wide-unicode')
- elif spec.satisfies('@3.3:'):
+ config_args.append("--disable-shared")
+
+ if "+ucs4" in spec:
+ if spec.satisfies("@:2.7"):
+ config_args.append("--enable-unicode=ucs4")
+ elif spec.satisfies("@3.0:3.2"):
+ config_args.append("--with-wide-unicode")
+ elif spec.satisfies("@3.3:"):
# https://docs.python.org/3.3/whatsnew/3.3.html#functionality
- raise ValueError(
- '+ucs4 variant not compatible with Python 3.3 and beyond')
+ raise ValueError("+ucs4 variant not compatible with Python 3.3 and beyond")
- if spec.satisfies('@2.7.9:2,3.4:'):
- if '+ensurepip' in spec:
- config_args.append('--with-ensurepip=install')
+ if spec.satisfies("@2.7.9:2,3.4:"):
+ if "+ensurepip" in spec:
+ config_args.append("--with-ensurepip=install")
else:
- config_args.append('--without-ensurepip')
+ config_args.append("--without-ensurepip")
- if '+pic' in spec:
+ if "+pic" in spec:
cflags.append(self.compiler.cc_pic_flag)
- if '+ssl' in spec:
- if spec.satisfies('@3.7:'):
- config_args.append('--with-openssl={0}'.format(
- spec['openssl'].prefix))
+ if "+ssl" in spec:
+ if spec.satisfies("@3.7:"):
+ config_args.append("--with-openssl={0}".format(spec["openssl"].prefix))
- if '+dbm' in spec:
+ if "+dbm" in spec:
# Default order is ndbm:gdbm:bdb
- config_args.append('--with-dbmliborder=gdbm:bdb:ndbm')
+ config_args.append("--with-dbmliborder=gdbm:bdb:ndbm")
else:
- config_args.append('--with-dbmliborder=')
+ config_args.append("--with-dbmliborder=")
- if '+pyexpat' in spec:
- config_args.append('--with-system-expat')
+ if "+pyexpat" in spec:
+ config_args.append("--with-system-expat")
else:
- config_args.append('--without-system-expat')
+ config_args.append("--without-system-expat")
- if '+ctypes' in spec:
- config_args.append('--with-system-ffi')
+ if "+ctypes" in spec:
+ config_args.append("--with-system-ffi")
else:
- config_args.append('--without-system-ffi')
-
- if '+tkinter' in spec:
- config_args.extend([
- '--with-tcltk-includes=-I{0} -I{1}'.format(
- spec['tcl'].prefix.include, spec['tk'].prefix.include),
- '--with-tcltk-libs={0} {1}'.format(
- spec['tcl'].libs.ld_flags, spec['tk'].libs.ld_flags)
- ])
+ config_args.append("--without-system-ffi")
+
+ if "+tkinter" in spec:
+ config_args.extend(
+ [
+ "--with-tcltk-includes=-I{0} -I{1}".format(
+ spec["tcl"].prefix.include, spec["tk"].prefix.include
+ ),
+ "--with-tcltk-libs={0} {1}".format(
+ spec["tcl"].libs.ld_flags, spec["tk"].libs.ld_flags
+ ),
+ ]
+ )
# https://docs.python.org/3.8/library/sqlite3.html#f1
- if spec.satisfies('@3.2: +sqlite3 ^sqlite+dynamic_extensions'):
- config_args.append('--enable-loadable-sqlite-extensions')
+ if spec.satisfies("@3.2: +sqlite3 ^sqlite+dynamic_extensions"):
+ config_args.append("--enable-loadable-sqlite-extensions")
- if spec.satisfies('%oneapi'):
- cflags.append('-fp-model=strict')
+ if spec.satisfies("%oneapi"):
+ cflags.append("-fp-model=strict")
if cflags:
- config_args.append('CFLAGS={0}'.format(' '.join(cflags)))
+ config_args.append("CFLAGS={0}".format(" ".join(cflags)))
return config_args
@@ -669,8 +682,8 @@ class Python(Package):
if is_windows:
pass
else:
- options = getattr(self, 'configure_flag_args', [])
- options += ['--prefix={0}'.format(prefix)]
+ options = getattr(self, "configure_flag_args", [])
+ options += ["--prefix={0}".format(prefix)]
options += self.configure_args()
configure(*options)
@@ -683,18 +696,19 @@ class Python(Package):
with working_dir(self.stage.source_path):
if is_windows:
pcbuild_root = os.path.join(self.stage.source_path, "PCbuild")
- builder_cmd = os.path.join(pcbuild_root, 'build.bat')
+ builder_cmd = os.path.join(pcbuild_root, "build.bat")
try:
subprocess.check_output( # novermin
- " ".join([builder_cmd] + self.win_build_params),
- stderr=subprocess.STDOUT
+ " ".join([builder_cmd] + self.win_build_params), stderr=subprocess.STDOUT
)
except subprocess.CalledProcessError as e:
- raise ProcessError("Process exited with status %d" % e.returncode,
- long_message=e.output.decode('utf-8'))
+ raise ProcessError(
+ "Process exited with status %d" % e.returncode,
+ long_message=e.output.decode("utf-8"),
+ )
else:
# See https://autotools.io/automake/silent.html
- params = ['V=1']
+ params = ["V=1"]
params += self.build_targets
make(*params)
@@ -708,7 +722,7 @@ class Python(Package):
else:
make(*self.install_targets)
- @run_after('install')
+ @run_after("install")
def filter_compilers(self):
"""Run after install to tell the configuration files and Makefiles
to use the compilers that Spack built the package with.
@@ -718,17 +732,15 @@ class Python(Package):
they were built with."""
if is_windows:
return
- kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
+ kwargs = {"ignore_absent": True, "backup": False, "string": True}
- filenames = [
- self.get_sysconfigdata_name(), self.config_vars['makefile_filename']
- ]
+ filenames = [self.get_sysconfigdata_name(), self.config_vars["makefile_filename"]]
- filter_file(spack_cc, self.compiler.cc, *filenames, **kwargs)
+ filter_file(spack_cc, self.compiler.cc, *filenames, **kwargs)
if spack_cxx and self.compiler.cxx:
filter_file(spack_cxx, self.compiler.cxx, *filenames, **kwargs)
- @run_after('install')
+ @run_after("install")
def symlink(self):
if is_windows:
return
@@ -740,111 +752,107 @@ class Python(Package):
# instead of <prefix>/lib/python2.7/lib-dynload/*.so. Oddly enough the
# result is that Python can not find modules like cPickle. A workaround
# for now is to symlink to `lib`:
- src = os.path.join(prefix.lib64,
- 'python{0}'.format(self.version.up_to(2)),
- 'lib-dynload')
- dst = os.path.join(prefix.lib,
- 'python{0}'.format(self.version.up_to(2)),
- 'lib-dynload')
+ src = os.path.join(prefix.lib64, "python{0}".format(self.version.up_to(2)), "lib-dynload")
+ dst = os.path.join(prefix.lib, "python{0}".format(self.version.up_to(2)), "lib-dynload")
if os.path.isdir(src) and not os.path.isdir(dst):
mkdirp(dst)
for f in os.listdir(src):
- os.symlink(os.path.join(src, f),
- os.path.join(dst, f))
+ os.symlink(os.path.join(src, f), os.path.join(dst, f))
- if spec.satisfies('@3:') and spec.satisfies('+pythoncmd'):
- os.symlink(os.path.join(prefix.bin, 'python3'),
- os.path.join(prefix.bin, 'python'))
- os.symlink(os.path.join(prefix.bin, 'python3-config'),
- os.path.join(prefix.bin, 'python-config'))
+ if spec.satisfies("@3:") and spec.satisfies("+pythoncmd"):
+ os.symlink(os.path.join(prefix.bin, "python3"), os.path.join(prefix.bin, "python"))
+ os.symlink(
+ os.path.join(prefix.bin, "python3-config"),
+ os.path.join(prefix.bin, "python-config"),
+ )
- @run_after('install')
+ @run_after("install")
def install_python_gdb(self):
# https://devguide.python.org/gdb/
- src = os.path.join('Tools', 'gdb', 'libpython.py')
+ src = os.path.join("Tools", "gdb", "libpython.py")
if os.path.exists(src):
- install(src, self.command.path + '-gdb.py')
+ install(src, self.command.path + "-gdb.py")
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def import_tests(self):
"""Test that basic Python functionality works."""
spec = self.spec
- with working_dir('spack-test', create=True):
+ with working_dir("spack-test", create=True):
# Ensure that readline module works
- if '+readline' in spec:
- self.command('-c', 'import readline')
+ if "+readline" in spec:
+ self.command("-c", "import readline")
# Ensure that ssl module works
- if '+ssl' in spec:
- self.command('-c', 'import ssl')
- self.command('-c', 'import hashlib')
+ if "+ssl" in spec:
+ self.command("-c", "import ssl")
+ self.command("-c", "import hashlib")
# Ensure that sqlite3 module works
- if '+sqlite3' in spec:
- self.command('-c', 'import sqlite3')
+ if "+sqlite3" in spec:
+ self.command("-c", "import sqlite3")
# Ensure that dbm module works
- if '+dbm' in spec:
- self.command('-c', 'import dbm')
+ if "+dbm" in spec:
+ self.command("-c", "import dbm")
# Ensure that nis module works
- if '+nis' in spec:
- self.command('-c', 'import nis')
+ if "+nis" in spec:
+ self.command("-c", "import nis")
# Ensure that zlib module works
- if '+zlib' in spec:
- self.command('-c', 'import zlib')
+ if "+zlib" in spec:
+ self.command("-c", "import zlib")
# Ensure that bz2 module works
- if '+bz2' in spec:
- self.command('-c', 'import bz2')
+ if "+bz2" in spec:
+ self.command("-c", "import bz2")
# Ensure that lzma module works
- if spec.satisfies('@3.3:'):
- if '+lzma' in spec:
- self.command('-c', 'import lzma')
+ if spec.satisfies("@3.3:"):
+ if "+lzma" in spec:
+ self.command("-c", "import lzma")
# Ensure that pyexpat module works
- if '+pyexpat' in spec:
- self.command('-c', 'import xml.parsers.expat')
- self.command('-c', 'import xml.etree.ElementTree')
+ if "+pyexpat" in spec:
+ self.command("-c", "import xml.parsers.expat")
+ self.command("-c", "import xml.etree.ElementTree")
# Ensure that ctypes module works
- if '+ctypes' in spec:
- self.command('-c', 'import ctypes')
+ if "+ctypes" in spec:
+ self.command("-c", "import ctypes")
# Ensure that tkinter module works
# https://wiki.python.org/moin/TkInter
- if '+tkinter' in spec:
+ if "+tkinter" in spec:
# Only works if ForwardX11Trusted is enabled, i.e. `ssh -Y`
- if 'DISPLAY' in env:
- if spec.satisfies('@3:'):
- self.command('-c', 'import tkinter; tkinter._test()')
+ if "DISPLAY" in env:
+ if spec.satisfies("@3:"):
+ self.command("-c", "import tkinter; tkinter._test()")
else:
- self.command('-c', 'import Tkinter; Tkinter._test()')
+ self.command("-c", "import Tkinter; Tkinter._test()")
else:
- if spec.satisfies('@3:'):
- self.command('-c', 'import tkinter')
+ if spec.satisfies("@3:"):
+ self.command("-c", "import tkinter")
else:
- self.command('-c', 'import Tkinter')
+ self.command("-c", "import Tkinter")
# Ensure that uuid module works
- if '+uuid' in spec:
- self.command('-c', 'import uuid')
+ if "+uuid" in spec:
+ self.command("-c", "import uuid")
# Ensure that tix module works
- if '+tix' in spec:
- if spec.satisfies('@3:'):
- self.command('-c', 'import tkinter.tix')
+ if "+tix" in spec:
+ if spec.satisfies("@3:"):
+ self.command("-c", "import tkinter.tix")
else:
- self.command('-c', 'import Tix')
+ self.command("-c", "import Tix")
# Ensure that ensurepip module works
- if '+ensurepip' in spec:
- self.command('-c', 'import ensurepip')
+ if "+ensurepip" in spec:
+ self.command("-c", "import ensurepip")
# ========================================================================
# Set up environment to make install easy for python extensions.
@@ -874,16 +882,16 @@ class Python(Package):
#
# in that order if using python@3.6.5, for example.
version = self.spec.version
- for ver in [version.up_to(2), version.up_to(1), '']:
+ for ver in [version.up_to(2), version.up_to(1), ""]:
if not is_windows:
- path = os.path.join(self.prefix.bin, 'python{0}'.format(ver))
+ path = os.path.join(self.prefix.bin, "python{0}".format(ver))
else:
- path = os.path.join(self.prefix, 'python{0}.exe'.format(ver))
+ path = os.path.join(self.prefix, "python{0}.exe".format(ver))
if os.path.exists(path):
return Executable(path)
else:
- msg = 'Unable to locate {0} command in {1}'
+ msg = "Unable to locate {0} command in {1}"
raise RuntimeError(msg.format(self.name, self.prefix.bin))
def print_string(self, string):
@@ -906,10 +914,10 @@ class Python(Package):
>>> self.print_string('sys.prefix')
'print(sys.prefix)'
"""
- if self.spec.satisfies('@:2'):
- return 'print {0}'.format(string)
+ if self.spec.satisfies("@:2"):
+ return "print {0}".format(string)
else:
- return 'print({0})'.format(string)
+ return "print({0})".format(string)
@property
def config_vars(self):
@@ -940,7 +948,9 @@ config['makefile_filename'] = get_makefile_filename()
config.update(get_paths())
%s
-""" % self.print_string("json.dumps(config)")
+""" % self.print_string(
+ "json.dumps(config)"
+ )
dag_hash = self.spec.dag_hash()
@@ -949,45 +959,48 @@ config.update(get_paths())
version = self.version.up_to(2)
config = {
# get_config_vars
- 'BINDIR': self.prefix.bin,
- 'CC': 'cc',
- 'CXX': 'c++',
- 'INCLUDEPY': self.prefix.include.join('python{}').format(version),
- 'LIBDEST': self.prefix.lib.join('python{}').format(version),
- 'LIBDIR': self.prefix.lib,
- 'LIBPL': self.prefix.lib.join('python{0}').join(
- 'config-{0}-{1}').format(version, sys.platform),
- 'LDLIBRARY': 'libpython{}.{}'.format(version, dso_suffix),
- 'LIBRARY': 'libpython{}.a'.format(version),
- 'LDSHARED': 'cc',
- 'LDCXXSHARED': 'c++',
- 'PYTHONFRAMEWORKPREFIX': '/System/Library/Frameworks',
- 'base': self.prefix,
- 'installed_base': self.prefix,
- 'installed_platbase': self.prefix,
- 'platbase': self.prefix,
- 'prefix': self.prefix,
+ "BINDIR": self.prefix.bin,
+ "CC": "cc",
+ "CXX": "c++",
+ "INCLUDEPY": self.prefix.include.join("python{}").format(version),
+ "LIBDEST": self.prefix.lib.join("python{}").format(version),
+ "LIBDIR": self.prefix.lib,
+ "LIBPL": self.prefix.lib.join("python{0}")
+ .join("config-{0}-{1}")
+ .format(version, sys.platform),
+ "LDLIBRARY": "libpython{}.{}".format(version, dso_suffix),
+ "LIBRARY": "libpython{}.a".format(version),
+ "LDSHARED": "cc",
+ "LDCXXSHARED": "c++",
+ "PYTHONFRAMEWORKPREFIX": "/System/Library/Frameworks",
+ "base": self.prefix,
+ "installed_base": self.prefix,
+ "installed_platbase": self.prefix,
+ "platbase": self.prefix,
+ "prefix": self.prefix,
# get_config_h_filename
- 'config_h_filename': self.prefix.include.join('python{}').join(
- 'pyconfig.h').format(version),
+ "config_h_filename": self.prefix.include.join("python{}")
+ .join("pyconfig.h")
+ .format(version),
# get_makefile_filename
- 'makefile_filename': self.prefix.lib.join('python{0}').join(
- 'config-{0}-{1}').Makefile.format(version, sys.platform),
+ "makefile_filename": self.prefix.lib.join("python{0}")
+ .join("config-{0}-{1}")
+ .Makefile.format(version, sys.platform),
# get_paths
- 'data': self.prefix,
- 'include': self.prefix.include.join('python{}'.format(version)),
- 'platinclude': self.prefix.include64.join('python{}'.format(version)),
- 'platlib': self.prefix.lib64.join(
- 'python{}'.format(version)).join('site-packages'),
- 'platstdlib': self.prefix.lib64.join('python{}'.format(version)),
- 'purelib': self.prefix.lib.join(
- 'python{}'.format(version)).join('site-packages'),
- 'scripts': self.prefix.bin,
- 'stdlib': self.prefix.lib.join('python{}'.format(version)),
+ "data": self.prefix,
+ "include": self.prefix.include.join("python{}".format(version)),
+ "platinclude": self.prefix.include64.join("python{}".format(version)),
+ "platlib": self.prefix.lib64.join("python{}".format(version)).join(
+ "site-packages"
+ ),
+ "platstdlib": self.prefix.lib64.join("python{}".format(version)),
+ "purelib": self.prefix.lib.join("python{}".format(version)).join("site-packages"),
+ "scripts": self.prefix.bin,
+ "stdlib": self.prefix.lib.join("python{}".format(version)),
}
try:
- config.update(json.loads(self.command('-c', cmd, output=str)))
+ config.update(json.loads(self.command("-c", cmd, output=str)))
except (ProcessError, RuntimeError):
pass
self._config_vars[dag_hash] = config
@@ -996,15 +1009,15 @@ config.update(get_paths())
def get_sysconfigdata_name(self):
"""Return the full path name of the sysconfigdata file."""
- libdest = self.config_vars['LIBDEST']
+ libdest = self.config_vars["LIBDEST"]
- filename = '_sysconfigdata.py'
- if self.spec.satisfies('@3.6:'):
+ filename = "_sysconfigdata.py"
+ if self.spec.satisfies("@3.6:"):
# Python 3.6.0 renamed the sys config file
- cmd = 'from sysconfig import _get_sysconfigdata_name; '
- cmd += self.print_string('_get_sysconfigdata_name()')
- filename = self.command('-c', cmd, output=str).strip()
- filename += '.py'
+ cmd = "from sysconfig import _get_sysconfigdata_name; "
+ cmd += self.print_string("_get_sysconfigdata_name()")
+ filename = self.command("-c", cmd, output=str).strip()
+ filename += ".py"
return join_path(libdest, filename)
@@ -1019,32 +1032,31 @@ config.update(get_paths())
``packages.yaml`` unknowingly. Query the python executable to
determine exactly where it is installed.
"""
- return Prefix(self.config_vars['prefix'])
+ return Prefix(self.config_vars["prefix"])
def find_library(self, library):
# Spack installs libraries into lib, except on openSUSE where it 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.config_vars['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.config_vars['LIBPL']
+ libpl = self.config_vars["LIBPL"]
# The system Python installation on macOS and Homebrew installations
# install libraries into a Frameworks directory
- frameworkprefix = self.config_vars['PYTHONFRAMEWORKPREFIX']
+ frameworkprefix = self.config_vars["PYTHONFRAMEWORKPREFIX"]
# Get the active Xcode environment's Framework location.
- macos_developerdir = os.environ.get('DEVELOPER_DIR')
+ macos_developerdir = os.environ.get("DEVELOPER_DIR")
if macos_developerdir and os.path.exists(macos_developerdir):
- macos_developerdir = os.path.join(
- macos_developerdir, 'Library', 'Frameworks')
+ macos_developerdir = os.path.join(macos_developerdir, "Library", "Frameworks")
else:
- macos_developerdir = ''
+ macos_developerdir = ""
# Windows libraries are installed directly to BINDIR
- win_bin_dir = self.config_vars['BINDIR']
+ win_bin_dir = self.config_vars["BINDIR"]
directories = [libdir, libpl, frameworkprefix, macos_developerdir, win_bin_dir]
for directory in directories:
@@ -1062,14 +1074,14 @@ config.update(get_paths())
# static binary but installs shared libraries, so sysconfig reports
# libpythonX.Y.a but only libpythonX.Y.so exists.
shared_libs = [
- self.config_vars['LDLIBRARY'],
- 'libpython{}.{}'.format(self.version.up_to(2), dso_suffix),
+ self.config_vars["LDLIBRARY"],
+ "libpython{}.{}".format(self.version.up_to(2), dso_suffix),
]
static_libs = [
- self.config_vars['LIBRARY'],
- 'libpython{}.a'.format(self.version.up_to(2)),
+ self.config_vars["LIBRARY"],
+ "libpython{}.a".format(self.version.up_to(2)),
]
- if '+shared' in self.spec:
+ if "+shared" in self.spec:
libraries = shared_libs + static_libs
else:
libraries = static_libs + shared_libs
@@ -1080,23 +1092,23 @@ config.update(get_paths())
if lib:
return lib
- msg = 'Unable to locate {} libraries in {}'
- libdir = self.config_vars['LIBDIR']
+ msg = "Unable to locate {} libraries in {}"
+ libdir = self.config_vars["LIBDIR"]
raise spack.error.NoLibrariesError(msg.format(self.name, libdir))
@property
def headers(self):
- directory = self.config_vars['include']
- config_h = self.config_vars['config_h_filename']
+ directory = self.config_vars["include"]
+ config_h = self.config_vars["config_h_filename"]
if os.path.exists(config_h):
headers = HeaderList(config_h)
else:
- headers = find_headers('pyconfig', directory)
+ headers = find_headers("pyconfig", directory)
if headers:
config_h = headers[0]
else:
- msg = 'Unable to locate {} headers in {}'
+ msg = "Unable to locate {} headers in {}"
raise spack.error.NoHeadersError(msg.format(self.name, directory))
headers.directories = [os.path.dirname(config_h)]
@@ -1127,13 +1139,11 @@ config.update(get_paths())
Returns:
str: platform-specific site-packages directory
"""
- prefix = self.config_vars['platbase'] + os.sep
- path = self.config_vars['platlib']
+ prefix = self.config_vars["platbase"] + os.sep
+ path = self.config_vars["platlib"]
if path.startswith(prefix):
- return path.replace(prefix, '')
- return os.path.join(
- 'lib64', 'python{}'.format(self.version.up_to(2)), 'site-packages'
- )
+ return path.replace(prefix, "")
+ return os.path.join("lib64", "python{}".format(self.version.up_to(2)), "site-packages")
@property
def purelib(self):
@@ -1149,13 +1159,11 @@ config.update(get_paths())
Returns:
str: platform-independent site-packages directory
"""
- prefix = self.config_vars['base'] + os.sep
- path = self.config_vars['purelib']
+ prefix = self.config_vars["base"] + os.sep
+ path = self.config_vars["purelib"]
if path.startswith(prefix):
- return path.replace(prefix, '')
- return os.path.join(
- 'lib', 'python{}'.format(self.version.up_to(2)), 'site-packages'
- )
+ return path.replace(prefix, "")
+ return os.path.join("lib", "python{}".format(self.version.up_to(2)), "site-packages")
@property
def include(self):
@@ -1173,19 +1181,18 @@ config.update(get_paths())
Returns:
str: platform-independent header file directory
"""
- prefix = self.config_vars['installed_base'] + os.sep
- path = self.config_vars['include']
+ prefix = self.config_vars["installed_base"] + os.sep
+ path = self.config_vars["include"]
if path.startswith(prefix):
- return path.replace(prefix, '')
- return os.path.join('include', 'python{}'.format(self.version.up_to(2)))
+ return path.replace(prefix, "")
+ return os.path.join("include", "python{}".format(self.version.up_to(2)))
@property
def easy_install_file(self):
return join_path(self.purelib, "easy-install.pth")
def setup_run_environment(self, env):
- env.prepend_path('CPATH', os.pathsep.join(
- self.spec['python'].headers.directories))
+ env.prepend_path("CPATH", os.pathsep.join(self.spec["python"].headers.directories))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set PYTHONPATH to include the site-packages directory for the
@@ -1195,11 +1202,11 @@ config.update(get_paths())
# python is found in the build environment. This to prevent cases
# where a system provided python is run against the standard libraries
# of a Spack built python. See issue #7128
- env.set('PYTHONHOME', self.home)
+ env.set("PYTHONHOME", self.home)
path = os.path.dirname(self.command.path)
if not is_system_path(path):
- env.prepend_path('PATH', path)
+ env.prepend_path("PATH", path)
# Add installation prefix to PYTHONPATH, needed to run import tests
prefixes = set()
@@ -1208,13 +1215,13 @@ config.update(get_paths())
# Add direct build/run/test dependencies to PYTHONPATH,
# needed to build the package and to run import tests
- for direct_dep in dependent_spec.dependencies(deptype=('build', 'run', 'test')):
+ for direct_dep in dependent_spec.dependencies(deptype=("build", "run", "test")):
if direct_dep.package.extends(self.spec):
prefixes.add(direct_dep.prefix)
# Add recursive run dependencies of all direct dependencies,
# needed by direct dependencies at run-time
- for indirect_dep in direct_dep.traverse(deptype='run'):
+ for indirect_dep in direct_dep.traverse(deptype="run"):
if indirect_dep.package.extends(self.spec):
prefixes.add(indirect_dep.prefix)
@@ -1222,7 +1229,7 @@ config.update(get_paths())
# Packages may be installed in platform-specific or platform-independent
# site-packages directories
for directory in {self.platlib, self.purelib}:
- env.prepend_path('PYTHONPATH', os.path.join(prefix, directory))
+ env.prepend_path("PYTHONPATH", os.path.join(prefix, directory))
# We need to make sure that the extensions are compiled and linked with
# the Spack wrapper. Paths to the executables that are used for these
@@ -1243,8 +1250,7 @@ config.update(get_paths())
# try to modify LDSHARED (LDCXXSHARED), the second variable, which is
# used for linking, in a consistent manner.
- for compile_var, link_var in [('CC', 'LDSHARED'),
- ('CXX', 'LDCXXSHARED')]:
+ for compile_var, link_var in [("CC", "LDSHARED"), ("CXX", "LDCXXSHARED")]:
# First, we get the values from the sysconfigdata:
config_compile = self.config_vars[compile_var]
config_link = self.config_vars[link_var]
@@ -1253,11 +1259,12 @@ config.update(get_paths())
# the following:
new_compile = join_path(
spack.paths.build_env_path,
- dependent_spec.package.compiler.link_paths[compile_var.lower()])
+ dependent_spec.package.compiler.link_paths[compile_var.lower()],
+ )
# Normally, the link command starts with the compilation command:
if config_link.startswith(config_compile):
- new_link = new_compile + config_link[len(config_compile):]
+ new_link = new_compile + config_link[len(config_compile) :]
else:
# Otherwise, we try to replace the compiler command if it
# appears "in the middle" of the link command; to avoid
@@ -1269,8 +1276,9 @@ config.update(get_paths())
# invoked directly (no change would be required in that case
# because Spack arranges for the Spack ld wrapper to be the
# first instance of "ld" in PATH).
- new_link = config_link.replace(" {0} ".format(config_compile),
- " {0} ".format(new_compile))
+ new_link = config_link.replace(
+ " {0} ".format(config_compile), " {0} ".format(new_compile)
+ )
# There is logic in the sysconfig module that is sensitive to the
# fact that LDSHARED is set in the environment, therefore we export
@@ -1283,14 +1291,12 @@ config.update(get_paths())
"""Set PYTHONPATH to include the site-packages directory for the
extension and any other python extensions it depends on.
"""
- for d in dependent_spec.traverse(deptype=('run'), root=True):
+ for d in dependent_spec.traverse(deptype=("run"), root=True):
if d.package.extends(self.spec):
# Packages may be installed in platform-specific or platform-independent
# site-packages directories
for directory in {self.platlib, self.purelib}:
- env.prepend_path(
- 'PYTHONPATH', os.path.join(d.prefix, directory)
- )
+ env.prepend_path("PYTHONPATH", os.path.join(d.prefix, directory))
def setup_dependent_package(self, module, dependent_spec):
"""Called before python modules' install() methods."""
@@ -1312,25 +1318,27 @@ config.update(get_paths())
def python_ignore(self, ext_pkg, args):
"""Add some ignore files to activate/deactivate args."""
- ignore_arg = args.get('ignore', lambda f: False)
+ ignore_arg = args.get("ignore", lambda f: False)
# Always ignore easy-install.pth, as it needs to be merged.
- patterns = [r'(site|dist)-packages/easy-install\.pth$']
+ patterns = [r"(site|dist)-packages/easy-install\.pth$"]
# Ignore pieces of setuptools installed by other packages.
# Must include directory name or it will remove all site*.py files.
- if ext_pkg.name != 'py-setuptools':
- patterns.extend([
- r'bin/easy_install[^/]*$',
- r'(site|dist)-packages/setuptools[^/]*\.egg$',
- r'(site|dist)-packages/setuptools\.pth$',
- r'(site|dist)-packages/site[^/]*\.pyc?$',
- r'(site|dist)-packages/__pycache__/site[^/]*\.pyc?$'
- ])
- if ext_pkg.name != 'py-pygments':
- patterns.append(r'bin/pygmentize$')
- if ext_pkg.name != 'py-numpy':
- patterns.append(r'bin/f2py[0-9.]*$')
+ if ext_pkg.name != "py-setuptools":
+ patterns.extend(
+ [
+ r"bin/easy_install[^/]*$",
+ r"(site|dist)-packages/setuptools[^/]*\.egg$",
+ r"(site|dist)-packages/setuptools\.pth$",
+ r"(site|dist)-packages/site[^/]*\.pyc?$",
+ r"(site|dist)-packages/__pycache__/site[^/]*\.pyc?$",
+ ]
+ )
+ if ext_pkg.name != "py-pygments":
+ patterns.append(r"bin/pygmentize$")
+ if ext_pkg.name != "py-numpy":
+ patterns.append(r"bin/f2py[0-9.]*$")
return match_predicate(ignore_arg, patterns)
@@ -1354,10 +1362,9 @@ config.update(get_paths())
# Skip lines matching these criteria
if not line:
continue
- if re.search(r'^(import|#)', line):
+ if re.search(r"^(import|#)", line):
continue
- if (ext.name != 'py-setuptools' and
- re.search(r'setuptools.*egg$', line)):
+ if ext.name != "py-setuptools" and re.search(r"setuptools.*egg$", line):
continue
if line not in unique_paths:
@@ -1371,15 +1378,17 @@ config.update(get_paths())
os.remove(main_pth)
else:
- with open(main_pth, 'w') as f:
+ with open(main_pth, "w") as f:
f.write("import sys; sys.__plen = len(sys.path)\n")
for path in paths:
f.write("{0}\n".format(path))
- f.write("import sys; new=sys.path[sys.__plen:]; "
- "del sys.path[sys.__plen:]; "
- "p=getattr(sys,'__egginsert',0); "
- "sys.path[p:p]=new; "
- "sys.__egginsert = p+len(new)\n")
+ f.write(
+ "import sys; new=sys.path[sys.__plen:]; "
+ "del sys.path[sys.__plen:]; "
+ "p=getattr(sys,'__egginsert',0); "
+ "sys.path[p:p]=new; "
+ "sys.__egginsert = p+len(new)\n"
+ )
def activate(self, ext_pkg, view, **args):
ignore = self.python_ignore(ext_pkg, args)
@@ -1391,9 +1400,7 @@ config.update(get_paths())
exts = extensions_layout.extension_map(self.spec)
exts[ext_pkg.name] = ext_pkg.spec
- self.write_easy_install_pth(exts, prefix=view.get_projection_for_spec(
- self.spec
- ))
+ self.write_easy_install_pth(exts, prefix=view.get_projection_for_spec(self.spec))
def deactivate(self, ext_pkg, view, **args):
args.update(ignore=self.python_ignore(ext_pkg, args))
@@ -1405,14 +1412,10 @@ config.update(get_paths())
# Make deactivate idempotent
if ext_pkg.name in exts:
del exts[ext_pkg.name]
- self.write_easy_install_pth(exts,
- prefix=view.get_projection_for_spec(
- self.spec
- ))
+ self.write_easy_install_pth(exts, prefix=view.get_projection_for_spec(self.spec))
def add_files_to_view(self, view, merge_map, skip_if_exists=True):
- bin_dir = self.spec.prefix.bin if sys.platform != 'win32'\
- else self.spec.prefix
+ bin_dir = self.spec.prefix.bin if sys.platform != "win32" else self.spec.prefix
for src, dst in merge_map.items():
if not path_contains_subdirectory(src, bin_dir):
view.link(src, dst, spec=self.spec)
@@ -1421,11 +1424,9 @@ config.update(get_paths())
if is_nonsymlink_exe_with_shebang(src):
filter_file(
self.spec.prefix,
- os.path.abspath(
- view.get_projection_for_spec(self.spec)
- ),
+ os.path.abspath(view.get_projection_for_spec(self.spec)),
dst,
- backup=False
+ backup=False,
)
else:
# orig_link_target = os.path.realpath(src) is insufficient when
@@ -1444,8 +1445,7 @@ config.update(get_paths())
view.link(new_link_target, dst, spec=self.spec)
def remove_files_from_view(self, view, merge_map):
- bin_dir = self.spec.prefix.bin if not is_windows\
- else self.spec.prefix
+ bin_dir = self.spec.prefix.bin if not is_windows else self.spec.prefix
for src, dst in merge_map.items():
if not path_contains_subdirectory(src, bin_dir):
view.remove_file(src, dst)
@@ -1454,18 +1454,18 @@ config.update(get_paths())
def test(self):
# do not use self.command because we are also testing the run env
- exe = self.spec['python'].command.name
+ exe = self.spec["python"].command.name
# test hello world
- msg = 'hello world!'
- reason = 'test: running {0}'.format(msg)
- options = ['-c', 'print("{0}")'.format(msg)]
- self.run_test(exe, options=options, expected=[msg], installed=True,
- purpose=reason)
+ msg = "hello world!"
+ reason = "test: running {0}".format(msg)
+ options = ["-c", 'print("{0}")'.format(msg)]
+ self.run_test(exe, options=options, expected=[msg], installed=True, purpose=reason)
# checks import works and executable comes from the spec prefix
- reason = 'test: checking import and executable'
- print_str = self.print_string('sys.executable')
- options = ['-c', 'import sys; {0}'.format(print_str)]
- self.run_test(exe, options=options, expected=[self.spec.prefix],
- installed=True, purpose=reason)
+ reason = "test: checking import and executable"
+ print_str = self.print_string("sys.executable")
+ options = ["-c", "import sys; {0}".format(print_str)]
+ self.run_test(
+ exe, options=options, expected=[self.spec.prefix], installed=True, purpose=reason
+ )
diff --git a/var/spack/repos/builtin/packages/q-e-sirius/package.py b/var/spack/repos/builtin/packages/q-e-sirius/package.py
index 3d40cc832e..65852d8582 100644
--- a/var/spack/repos/builtin/packages/q-e-sirius/package.py
+++ b/var/spack/repos/builtin/packages/q-e-sirius/package.py
@@ -9,61 +9,61 @@ from spack.package import *
class QESirius(CMakePackage):
- """SIRIUS enabled fork of QuantumESPRESSO. """
+ """SIRIUS enabled fork of QuantumESPRESSO."""
- homepage = 'https://github.com/electronic-structure/q-e-sirius/'
- url = 'https://github.com/electronic-structure/q-e-sirius/archive/v6.5-rc4-sirius.tar.gz'
- git = 'https://github.com/electronic-structure/q-e-sirius.git'
+ homepage = "https://github.com/electronic-structure/q-e-sirius/"
+ url = "https://github.com/electronic-structure/q-e-sirius/archive/v6.5-rc4-sirius.tar.gz"
+ git = "https://github.com/electronic-structure/q-e-sirius.git"
- maintainers = ['simonpintarelli']
+ maintainers = ["simonpintarelli"]
- version('develop-ristretto', branch='ristretto', submodules=True)
- version('6.7-rc1-sirius', tag='v6.7-rc1-sirius', submodules=True)
+ version("develop-ristretto", branch="ristretto", submodules=True)
+ version("6.7-rc1-sirius", tag="v6.7-rc1-sirius", submodules=True)
- variant('mpi', default=True, description='Builds with MPI support')
- variant('openmp', default=True, description='Enables OpenMP support')
- variant('scalapack', default=False, description='Enables SCALAPACK support')
- variant('elpa', default=False, description='Uses ELPA as an eigenvalue solver')
- variant('libxc', default=False, description='Support functionals through libxc')
- variant('hdf5', default=False, description='Enables HDF5 support')
- variant('sirius_apps', default=False, description='Build SIRIUS standalone binaries')
+ variant("mpi", default=True, description="Builds with MPI support")
+ variant("openmp", default=True, description="Enables OpenMP support")
+ variant("scalapack", default=False, description="Enables SCALAPACK support")
+ variant("elpa", default=False, description="Uses ELPA as an eigenvalue solver")
+ variant("libxc", default=False, description="Support functionals through libxc")
+ variant("hdf5", default=False, description="Enables HDF5 support")
+ variant("sirius_apps", default=False, description="Build SIRIUS standalone binaries")
- depends_on('sirius +fortran')
- depends_on('sirius +apps', when='+sirius_apps')
- depends_on('sirius ~apps', when='~sirius_apps')
- depends_on('sirius +openmp', when='+openmp')
- depends_on('sirius@develop', when='@develop')
+ depends_on("sirius +fortran")
+ depends_on("sirius +apps", when="+sirius_apps")
+ depends_on("sirius ~apps", when="~sirius_apps")
+ depends_on("sirius +openmp", when="+openmp")
+ depends_on("sirius@develop", when="@develop")
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack')
- depends_on('elpa', when='+elpa')
- depends_on('libxc', when='+libxc')
- depends_on('hdf5', when='+hdf5')
+ depends_on("mpi", when="+mpi")
+ depends_on("scalapack", when="+scalapack")
+ depends_on("elpa", when="+elpa")
+ depends_on("libxc", when="+libxc")
+ depends_on("hdf5", when="+hdf5")
- depends_on('git', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("git", type="build")
+ depends_on("pkgconfig", type="build")
- conflicts('~mpi', when='+scalapack', msg='SCALAPACK requires MPI support')
- conflicts('~scalapack', when='+elpa', msg='ELPA requires SCALAPACK support')
+ conflicts("~mpi", when="+scalapack", msg="SCALAPACK requires MPI support")
+ conflicts("~scalapack", when="+elpa", msg="ELPA requires SCALAPACK support")
def cmake_args(self):
args = [
- '-DQE_ENABLE_SIRIUS=ON',
- '-DQE_ENABLE_CUDA=OFF',
- '-DQE_LAPACK_INTERNAL=OFF',
- '-DQE_ENABLE_DOC=OFF',
- self.define_from_variant('QE_ENABLE_MPI', 'mpi'),
- self.define_from_variant('QE_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('QE_ENABLE_ELPA', 'elpa'),
- self.define_from_variant('QE_ENABLE_LIBXC', 'libxc'),
- self.define_from_variant('QE_ENABLE_HDF5', 'hdf5'),
- self.define_from_variant('QE_ENABLE_SCALAPACK', 'scalapack')
+ "-DQE_ENABLE_SIRIUS=ON",
+ "-DQE_ENABLE_CUDA=OFF",
+ "-DQE_LAPACK_INTERNAL=OFF",
+ "-DQE_ENABLE_DOC=OFF",
+ self.define_from_variant("QE_ENABLE_MPI", "mpi"),
+ self.define_from_variant("QE_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("QE_ENABLE_ELPA", "elpa"),
+ self.define_from_variant("QE_ENABLE_LIBXC", "libxc"),
+ self.define_from_variant("QE_ENABLE_HDF5", "hdf5"),
+ self.define_from_variant("QE_ENABLE_SCALAPACK", "scalapack"),
]
# Work around spack issue #19970 where spack sets
# rpaths for MKL just during make, but cmake removes
# them during make install.
- if '^mkl' in self.spec:
- args.append('-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON')
+ if "^mkl" in self.spec:
+ args.append("-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON")
return args
diff --git a/var/spack/repos/builtin/packages/qbank/package.py b/var/spack/repos/builtin/packages/qbank/package.py
index 4a4e1b8f0e..6d6150905b 100644
--- a/var/spack/repos/builtin/packages/qbank/package.py
+++ b/var/spack/repos/builtin/packages/qbank/package.py
@@ -22,39 +22,36 @@ class Qbank(Package):
# but it was developed at Pacific Northwest National Laboratory
# by Scott Jackson <Scott.Jackson@pnl.gov>
homepage = "https://www.pnnl.gov/"
- url = "file://{0}/qbank-2.10.4.tar.gz".format(os.getcwd())
+ url = "file://{0}/qbank-2.10.4.tar.gz".format(os.getcwd())
manual_download = True
- version('2.10.4', '0820587353e63d32ddb49689dd4289e7')
+ version("2.10.4", "0820587353e63d32ddb49689dd4289e7")
- variant('doc', default=False, description='Build documentation')
+ variant("doc", default=False, description="Build documentation")
- depends_on('openssl')
+ depends_on("openssl")
- depends_on('perl@5.6:5.16', type=('build', 'run'))
- depends_on('perl-dbi@1.00:', type=('build', 'run'))
+ depends_on("perl@5.6:5.16", type=("build", "run"))
+ depends_on("perl-dbi@1.00:", type=("build", "run"))
def configure_args(self):
- config_args = [
- '--prefix', self.prefix,
- '--logdir', self.prefix.var.log.qbank
- ]
+ config_args = ["--prefix", self.prefix, "--logdir", self.prefix.var.log.qbank]
return config_args
def install(self, spec, prefix):
- perl = which('perl')
- perl('configure', *self.configure_args())
+ perl = which("perl")
+ perl("configure", *self.configure_args())
make()
- if '+doc' in spec:
- make('docs')
+ if "+doc" in spec:
+ make("docs")
- make('install')
+ make("install")
- if '+doc' in spec:
- install_tree('doc', prefix.doc)
+ if "+doc" in spec:
+ install_tree("doc", prefix.doc)
def setup_run_environment(self, env):
- if '+doc' in self.spec:
- env.prepend_path('MANPATH', self.prefix.doc)
+ if "+doc" in self.spec:
+ env.prepend_path("MANPATH", self.prefix.doc)
diff --git a/var/spack/repos/builtin/packages/qbox/package.py b/var/spack/repos/builtin/packages/qbox/package.py
index 0306efe1df..c24d725f81 100644
--- a/var/spack/repos/builtin/packages/qbox/package.py
+++ b/var/spack/repos/builtin/packages/qbox/package.py
@@ -12,69 +12,94 @@ class Qbox(MakefilePackage):
formalism. Qbox is designed for operation on large parallel computers."""
homepage = "http://qboxcode.org/"
- url = "http://qboxcode.org/download/qbox-1.63.7.tgz"
+ url = "http://qboxcode.org/download/qbox-1.63.7.tgz"
- version('1.63.7', sha256='40acf4535c4dcab16066c218b1c2a083c238a1f54c43a1d2d4afcefb578086ed')
- version('1.63.5', sha256='fa6d0e41622690f14b7cd0c2735d3d8d703152eb2c51042cdd77a055926cd90a')
- version('1.63.4', sha256='829ae57e43ecb79f7dca8fb02aa70c85b0bbb68684a087d3cd1048b50fbc8e96')
- version('1.63.2', sha256='17873414fed5298b6a4b66ae659ea8348119238b36b532df8a7c8fca0ed4eada')
- version('1.63.0', sha256='8ad0727e4ebe709b2647a281756675e4840b3f29799f7169f79a9100c6538d31')
- version('1.62.3', sha256='e82df8307d038af75471f22d9449a5f5e2ad00bb34a89b1b2c25cc65da83c9b5')
- version('1.60.9', sha256='d82434031ab8214879274eb6f8674c6004b65ad5f9a07635101b82300af6d43c')
- version('1.60.4', sha256='7707a3bbecb05864e651d4f8885685299edd8f95fcd300dc401ff6652e85a351')
- version('1.60.0', sha256='802b531c7fe67d8fad27618911b2e158f7c69099677c0e08202dca24f81e10fd')
- version('1.58.0', sha256='662f55adedfe1154f8affd060b4f846cd37751f020fe854ef560aeb435fd0312')
- version('1.56.2', sha256='63df818e071cfc826645ee266a239a0cc00cea874d266f572fc20b1e2db7b351')
- version('1.54.4', sha256='8f556fde5307b96ed03612b339f793fc2933841f91555b6e7000cbb003709b7a')
- version('1.54.2', sha256='45ef811c05c9224baee87626d5a5bae91008a8b117df7e964c5976f27e54e9e9')
- version('1.52.3', sha256='9424eaf56dbf33394674f0be76aecf76637702d060e45c5edc95d872a165cd42')
- version('1.52.2', sha256='39d892f1bacd355d6ab4dbdd0ee4303ac6916fa9decf0e828f16003e61d59798')
- version('1.50.4', sha256='2babf332132005dc93f280b274c68e8e44ecd8e2d1cf21cc91e212f17f8644a8')
- version('1.50.2', sha256='0defe312319ac460b5b667eca982e4cd6a23750e5bdaa214d1c127ce2aba0a21')
- version('1.50.1', sha256='114363654d7059662b0f3269615d0af1514298f4f488889d8e7ef8f1c4b8898d')
- version('1.47.0', sha256='5c45aa8f6b2f774c04423c50b4e340dc35ca1deb2826ead8f1a508cd027974a9')
- version('1.45.3', sha256='986e82a69f90a96cccd1a192921024ffdcefb3b86df361946d88b12669156a80')
- version('1.45.1', sha256='3cea45743c0cd24cd02865c39a360c55030dab0f4b9b7b46e615af9b3b65c1da')
- version('1.45.0', sha256='cc722641bf3c3a172bdb396216a945f2830cc64de60d716b7054145ba52ab431')
- version('1.44.0', sha256='f29cf2a727235d4fa6bded7725a1a667888ab103278e995c46dd754654f112f1')
+ version("1.63.7", sha256="40acf4535c4dcab16066c218b1c2a083c238a1f54c43a1d2d4afcefb578086ed")
+ version("1.63.5", sha256="fa6d0e41622690f14b7cd0c2735d3d8d703152eb2c51042cdd77a055926cd90a")
+ version("1.63.4", sha256="829ae57e43ecb79f7dca8fb02aa70c85b0bbb68684a087d3cd1048b50fbc8e96")
+ version("1.63.2", sha256="17873414fed5298b6a4b66ae659ea8348119238b36b532df8a7c8fca0ed4eada")
+ version("1.63.0", sha256="8ad0727e4ebe709b2647a281756675e4840b3f29799f7169f79a9100c6538d31")
+ version("1.62.3", sha256="e82df8307d038af75471f22d9449a5f5e2ad00bb34a89b1b2c25cc65da83c9b5")
+ version("1.60.9", sha256="d82434031ab8214879274eb6f8674c6004b65ad5f9a07635101b82300af6d43c")
+ version("1.60.4", sha256="7707a3bbecb05864e651d4f8885685299edd8f95fcd300dc401ff6652e85a351")
+ version("1.60.0", sha256="802b531c7fe67d8fad27618911b2e158f7c69099677c0e08202dca24f81e10fd")
+ version("1.58.0", sha256="662f55adedfe1154f8affd060b4f846cd37751f020fe854ef560aeb435fd0312")
+ version("1.56.2", sha256="63df818e071cfc826645ee266a239a0cc00cea874d266f572fc20b1e2db7b351")
+ version("1.54.4", sha256="8f556fde5307b96ed03612b339f793fc2933841f91555b6e7000cbb003709b7a")
+ version("1.54.2", sha256="45ef811c05c9224baee87626d5a5bae91008a8b117df7e964c5976f27e54e9e9")
+ version("1.52.3", sha256="9424eaf56dbf33394674f0be76aecf76637702d060e45c5edc95d872a165cd42")
+ version("1.52.2", sha256="39d892f1bacd355d6ab4dbdd0ee4303ac6916fa9decf0e828f16003e61d59798")
+ version("1.50.4", sha256="2babf332132005dc93f280b274c68e8e44ecd8e2d1cf21cc91e212f17f8644a8")
+ version("1.50.2", sha256="0defe312319ac460b5b667eca982e4cd6a23750e5bdaa214d1c127ce2aba0a21")
+ version("1.50.1", sha256="114363654d7059662b0f3269615d0af1514298f4f488889d8e7ef8f1c4b8898d")
+ version("1.47.0", sha256="5c45aa8f6b2f774c04423c50b4e340dc35ca1deb2826ead8f1a508cd027974a9")
+ version("1.45.3", sha256="986e82a69f90a96cccd1a192921024ffdcefb3b86df361946d88b12669156a80")
+ version("1.45.1", sha256="3cea45743c0cd24cd02865c39a360c55030dab0f4b9b7b46e615af9b3b65c1da")
+ version("1.45.0", sha256="cc722641bf3c3a172bdb396216a945f2830cc64de60d716b7054145ba52ab431")
+ version("1.44.0", sha256="f29cf2a727235d4fa6bded7725a1a667888ab103278e995c46dd754654f112f1")
- depends_on('mpi')
- depends_on('blas')
- depends_on('scalapack')
- depends_on('fftw')
- depends_on('xerces-c')
- depends_on('python@:2', type='run')
- depends_on('gnuplot', type='run')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("scalapack")
+ depends_on("fftw")
+ depends_on("xerces-c")
+ depends_on("python@:2", type="run")
+ depends_on("gnuplot", type="run")
# Change /usr/bin/python shebangs to /usr/bin/env python
- patch('qbox-python-shebang-path.patch')
+ patch("qbox-python-shebang-path.patch")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
- with open('src/spack.mk', 'w') as mkfile:
- mkfile.write('CXX = {0}\n'.format(spec['mpi'].mpicxx))
- mkfile.write('LD = $(CXX)\n')
- qbox_libs = spec['fftw'].libs + spec['xerces-c'].libs + \
- spec['scalapack'].libs + spec['blas'].libs
- mkfile.write('LDFLAGS = {0}\n'.format(qbox_libs.ld_flags))
- mkfile.write('DFLAGS = {0}\n'.format(' -D'.join((
- '',
- '_LARGEFILE_SOURCE', 'USE_MPI', 'USE_XERCES',
- 'XERCESC_3', 'MPICH_IGNORE_CXX_SEEK', 'SCALAPACK',
- 'USE_FFTW3', 'FFTWMEASURE', 'FFTW3_2D', 'ADD_',
- ))))
- mkfile.write('CXXFLAGS = {0}\n'.format(' '.join((
- '-g', '-O3', '$(DFLAGS)',
- ))))
- filter_file('$(TARGET)', 'spack', 'src/Makefile', string=True)
+ with open("src/spack.mk", "w") as mkfile:
+ mkfile.write("CXX = {0}\n".format(spec["mpi"].mpicxx))
+ mkfile.write("LD = $(CXX)\n")
+ qbox_libs = (
+ spec["fftw"].libs
+ + spec["xerces-c"].libs
+ + spec["scalapack"].libs
+ + spec["blas"].libs
+ )
+ mkfile.write("LDFLAGS = {0}\n".format(qbox_libs.ld_flags))
+ mkfile.write(
+ "DFLAGS = {0}\n".format(
+ " -D".join(
+ (
+ "",
+ "_LARGEFILE_SOURCE",
+ "USE_MPI",
+ "USE_XERCES",
+ "XERCESC_3",
+ "MPICH_IGNORE_CXX_SEEK",
+ "SCALAPACK",
+ "USE_FFTW3",
+ "FFTWMEASURE",
+ "FFTW3_2D",
+ "ADD_",
+ )
+ )
+ )
+ )
+ mkfile.write(
+ "CXXFLAGS = {0}\n".format(
+ " ".join(
+ (
+ "-g",
+ "-O3",
+ "$(DFLAGS)",
+ )
+ )
+ )
+ )
+ filter_file("$(TARGET)", "spack", "src/Makefile", string=True)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.util)
+ env.prepend_path("PATH", self.prefix.util)
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('src/qb', prefix.bin)
- install_tree('test', prefix.test)
- install_tree('xml', prefix.xml)
- install_tree('util', prefix.util)
+ install("src/qb", prefix.bin)
+ install_tree("test", prefix.test)
+ install_tree("xml", prefix.xml)
+ install_tree("util", prefix.util)
diff --git a/var/spack/repos/builtin/packages/qca/package.py b/var/spack/repos/builtin/packages/qca/package.py
index 3fb698ef14..744043495b 100644
--- a/var/spack/repos/builtin/packages/qca/package.py
+++ b/var/spack/repos/builtin/packages/qca/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Qca(CMakePackage):
"""Taking a hint from the similarly-named Java Cryptography Architecture,
- QCA aims to provide a straightforward and cross-platform crypto API,
- using Qt datatypes and conventions. QCA separates the API from the
- implementation, using plugins known as Providers. The advantage of
- this model is to allow applications to avoid linking to or explicitly
- depending on any particular cryptographic library. This allows one to
- easily change or upgrade crypto implementations without even needing
- to recompile the application!
- QCA should work everywhere Qt does, including Windows/Unix/MacOSX. """
+ QCA aims to provide a straightforward and cross-platform crypto API,
+ using Qt datatypes and conventions. QCA separates the API from the
+ implementation, using plugins known as Providers. The advantage of
+ this model is to allow applications to avoid linking to or explicitly
+ depending on any particular cryptographic library. This allows one to
+ easily change or upgrade crypto implementations without even needing
+ to recompile the application!
+ QCA should work everywhere Qt does, including Windows/Unix/MacOSX."""
homepage = "https://userbase.kde.org/QCA"
- url = "https://github.com/KDE/qca/archive/v2.1.3.tar.gz"
+ url = "https://github.com/KDE/qca/archive/v2.1.3.tar.gz"
- version('2.3.0', sha256='39aa18f0985d82949f4dccce04af3eb8d4b6b64e0c71785786738d38d8183b0a')
- version('2.2.90', sha256='074ac753b51a6fa15503be9418f7430effe368fd31dc41567942d832e539b17e')
- version('2.2.1', sha256='c67fc0fa8ae6cb3d0ba0fbd8fca8ee8e4c5061b99f1fd685fd7d9800cef17f6b')
- version('2.1.3', sha256='a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067')
+ version("2.3.0", sha256="39aa18f0985d82949f4dccce04af3eb8d4b6b64e0c71785786738d38d8183b0a")
+ version("2.2.90", sha256="074ac753b51a6fa15503be9418f7430effe368fd31dc41567942d832e539b17e")
+ version("2.2.1", sha256="c67fc0fa8ae6cb3d0ba0fbd8fca8ee8e4c5061b99f1fd685fd7d9800cef17f6b")
+ version("2.1.3", sha256="a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067")
- depends_on('qt@4.2:')
+ depends_on("qt@4.2:")
- depends_on('qt@:5.10.0', when='@2.1.3')
+ depends_on("qt@:5.10.0", when="@2.1.3")
def cmake_args(self):
args = []
- args.append('-DCMAKE_CXX_STANDARD=11')
- if self.spec['qt'].version.up_to(1) == Version(4):
- args.append('-DQT4_BUILD=ON')
+ args.append("-DCMAKE_CXX_STANDARD=11")
+ if self.spec["qt"].version.up_to(1) == Version(4):
+ args.append("-DQT4_BUILD=ON")
return args
diff --git a/var/spack/repos/builtin/packages/qcachegrind/package.py b/var/spack/repos/builtin/packages/qcachegrind/package.py
index e69b9e8f3b..7a580b06d8 100644
--- a/var/spack/repos/builtin/packages/qcachegrind/package.py
+++ b/var/spack/repos/builtin/packages/qcachegrind/package.py
@@ -17,13 +17,13 @@ class Qcachegrind(QMakePackage):
homepage = "https://github.com/KDE/kcachegrind"
url = "https://github.com/KDE/kcachegrind/archive/v20.08.0.tar.gz"
- version('20.12.2', sha256='935cf6665fac274f84af84d0a30cc2fdf27d437234b9accbf8ec0a5dba6ad867')
- version('20.08.0', sha256='ffb50a7c536042ff11eed714b359b8bc419cb12402a31ebe78c3d06363f234e6')
+ version("20.12.2", sha256="935cf6665fac274f84af84d0a30cc2fdf27d437234b9accbf8ec0a5dba6ad867")
+ version("20.08.0", sha256="ffb50a7c536042ff11eed714b359b8bc419cb12402a31ebe78c3d06363f234e6")
- depends_on('qt@5.2:')
- depends_on('graphviz', type='run')
+ depends_on("qt@5.2:")
+ depends_on("graphviz", type="run")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('cgview/cgview', prefix.bin)
- install('qcachegrind/qcachegrind', prefix.bin)
+ install("cgview/cgview", prefix.bin)
+ install("qcachegrind/qcachegrind", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/qd/package.py b/var/spack/repos/builtin/packages/qd/package.py
index 6bf16d0191..282069ce1e 100644
--- a/var/spack/repos/builtin/packages/qd/package.py
+++ b/var/spack/repos/builtin/packages/qd/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Qd(AutotoolsPackage):
"""C++/Fortran-90 double-double and quad-double package.
- With modifications for easier integration with NJet.
- see http://crd-legacy.lbl.gov/~dhbailey/mpdist/ for authors page"""
+ With modifications for easier integration with NJet.
+ see http://crd-legacy.lbl.gov/~dhbailey/mpdist/ for authors page"""
homepage = "https://bitbucket.org/njet/qd-library/src/master/"
- git = "https://bitbucket.org/njet/qd-library.git"
+ git = "https://bitbucket.org/njet/qd-library.git"
- tags = ['hep']
+ tags = ["hep"]
- version('2.3.13', commit='a57dde9')
+ version("2.3.13", commit="a57dde9")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def setup_build_environment(self, env):
- if self.spec.satisfies('%nvhpc'):
- env.append_flags('FCFLAGS', "-fPIC")
+ if self.spec.satisfies("%nvhpc"):
+ env.append_flags("FCFLAGS", "-fPIC")
def configure_args(self):
- args = ['--enable-shared']
+ args = ["--enable-shared"]
return args
diff --git a/var/spack/repos/builtin/packages/qemu/package.py b/var/spack/repos/builtin/packages/qemu/package.py
index 01aad7036a..21f2d246b6 100644
--- a/var/spack/repos/builtin/packages/qemu/package.py
+++ b/var/spack/repos/builtin/packages/qemu/package.py
@@ -11,96 +11,96 @@ class Qemu(AutotoolsPackage):
"""QEMU is a generic and open source machine emulator and virtualizer."""
homepage = "https://www.qemu.org"
- url = "https://download.qemu.org/qemu-4.1.1.tar.xz"
+ url = "https://download.qemu.org/qemu-4.1.1.tar.xz"
- maintainers = ['anderbubble']
+ maintainers = ["anderbubble"]
- version('4.1.1', sha256='ed6fdbbdd272611446ff8036991e9b9f04a2ab2e3ffa9e79f3bab0eb9a95a1d2')
- version('4.1.0', sha256='656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6')
- version('4.0.1', sha256='f2674dd6053ef1d48593aa1f0a50c5ac9039f7a059ecb6f9b8307f3fb2fcedad')
- version('4.0.0', sha256='13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469')
- version('3.1.1.1', sha256='b148fc3c7382c5addd915db433383160ca7b840bc6ea90bb0d35c6b253526d56')
- version('3.1.1', sha256='d7c69fef3fb4bfbac99e3f2ac9fb8d6409db4faadf2e37337d544e3fdb4fde3a')
- version('3.1.0', sha256='6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc')
- version('3.0.1', sha256='cf5747aa3bf0e7ec6cb166f48be4680097c333ce320e8e58140980b0d99512f3')
- version('3.0.0', sha256='8d7af64fe8bd5ea5c3bdf17131a8b858491bcce1ee3839425a6d91fb821b5713')
- version('2.12.1', sha256='33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f')
- version('2.12.0', sha256='e69301f361ff65bf5dabd8a19196aeaa5613c1b5ae1678f0823bdf50e7d5c6fc')
- version('2.11.2', sha256='02d2b2cf5526b642b174596d9b3a8716184f9e79710bc68bf6d9fec175b3821b')
- version('2.11.1', sha256='8a5145d1f8bd2eadc6776f3e13c68cd28d01349e30639bdbcb26ac588d668686')
- version('2.11.0', sha256='c9d34a79024eae080ce3853aa9afe503824520eefb440190383003081ce7f437')
- version('2.10.2', sha256='fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f')
- version('2.10.1', sha256='1dd51a908fc68c7d935b0b31fb184c5669bc23b5a1b081816e824714f2a11caa')
- version('2.10.0', sha256='55d81ac987a4821d2744359c026d766459319ba9c013746570369068d93ff335')
- version('2.9.1', sha256='4350b3d1d75f1e6a562d975687e181f61ceaf3ac94e6b629f87e24cbe680d03d')
- version('2.9.0', sha256='f01cc33e3c5fd5fd2534ce14e369b6b111d7e54e4a4977f8c37eae668176b022')
- version('2.8.1.1', sha256='7b50634d729dcabe4a96d74062832274fa2f4c883e82904f5e6955f801edab54')
- version('2.8.1', sha256='4d4d2f62c0f7977fb1d49ba4894b2d5e43b8bf8a442be77d42701262c9166440')
- version('2.8.0', sha256='656c3d408e367de7eca85ea488228d5bb7c68f4a6dc0b1966b529524bd6b938c')
- version('2.7.1', sha256='7fd448219b43bb61f8b5eb37e465298d503abc84156c9dd6e73c9dc6902a2831')
- version('2.7.0', sha256='ea5186cffe3ea5e7e903a3f96905aa5596bde2cda445b1ce4fa00024da6c1371')
- version('2.6.2', sha256='bd4b00c47d47ac45518bce2e9bc1a7d24f2df102dcdeedecca699cdbdde2ff2b')
- version('2.6.1', sha256='b7e17b0c8a92c99317b984ed5aad85603c475e58f8fe70d75aef1936d22822f0')
- version('2.6.0', sha256='d0ddb3e80686003feb7e37dae9531237544ee94f91f36b3c49e87ae11e84393c')
- version('2.5.1.1', sha256='29b00bfa8933831122eb43521ff02b462ae4e5bcef77de6309015cbb19d3743f')
- version('2.5.1', sha256='bd630bb8dffb3d8579bc9c88534debc941215f346801d78fcae9a71becec84b0')
- version('2.5.0', sha256='0b2de3ec698135c20d73c4e67f854590e5eadebcc8bfa8484fe59643370ce002')
- version('2.4.1', sha256='b5049109656c98558584cfe0125d7994d8eba987f6f92dca289f44efcd0bb231')
- version('2.4.0.1', sha256='7ffebc51f7ff61324524eef7a7ec47596c4e53b3d45ba76141b32884dd7f8cbc')
- version('2.4.0', sha256='38be58b62b52115e902439c98c61f3bd4773c0113b62f5b153533fc0fae3f485')
- version('2.3.1', sha256='da78995a818146e4ded948cd7590a75b9e5b042f8be28a79bfae1f669819075c')
- version('2.3.0', sha256='8cea969890681a4069b1beaa82b89728991f1ca701a0184af50210305078bf5f')
- version('2.2.1', sha256='1d8f976255db2d3d280ab0d31a11ea5c39da5ddfdec157475b6c335d017ed978')
- version('2.2.0', sha256='ffd9a4bf2df9cd8607924690caae1c6ed79681412449e3679b1308dbc1d64b9a')
- version('2.1.3', sha256='26231047738ba53e3eef6caafa97dae6194307b9b34040436292446f12853c10')
- version('2.1.2', sha256='4d710187d189f42130c3b0a83d091ed6f97fa6ad152d0e87d48fbb5cc73f661a')
- version('2.1.1', sha256='ed40d0616f6c10d0f70d67c5672383aa2b426e22565e48a85aa135ab95b97e98')
- version('2.1.0', sha256='ece4d8e9b99ba1671ab3a6ed67ab1f65f85912a8b6318a1350b36088408887f5')
- version('2.0.2', sha256='1a7a4479796474ebfc2991ea3eeb62a3dd7375cc427089bb474d6c13dd732307')
- version('2.0.0', sha256='8b4a6243e0cec451438f1d5283b3097700298728c046e3fb80814c0b45cb649d')
- version('1.7.2', sha256='8897908a564a8be8adaaca5f963285b602de3bec57b187e8575a3808ead350fe')
- version('1.7.0', sha256='d9338f59ca570d55e4611f133a1c474620b629067afcd3fba0914e0a2c098dae')
- version('1.6.2', sha256='e7bf52efb9842386c3c4e47a48f39327ba3ece12e203c169f2faf4bd2a0c0961')
- version('1.6.1', sha256='9d7805e9486116704b546411641a77ed25d306c586036fc3933a7740e190d3b1')
- version('1.6.0', sha256='491678c5a94c85c287e3525f1496168fcba6d30752d17ccad91f648bb72f06cf')
- version('1.5.3', sha256='bab87866283a49cd7b5f8bf9c136e24715c741f4ec0605742736a958f178cec0')
- version('1.5.2', sha256='a0322e5f3004d4c383b075c9c583be39098df35dcf33caa9ba2f2847dd8b99c6')
- version('1.5.1', sha256='1286c204c7f50559e61e7ee22842925da30fbbf9ec28d3109d1b195442ebc17d')
- version('1.5.0', sha256='04177f655efde974c24b3c2fee22f3138768905b94aa1597fa70868a727396af')
- version('1.4.2', sha256='1ac21bd817495599e6db700086c7b1422746a3d30bf531e5e4dcf555ed7e44ad')
- version('1.4.1', sha256='62c8240f1c6d72c6c134d8fd466821391c33729cdb82569f3a55e0aa05d18f98')
- version('1.4.0', sha256='82d31db238216a53348293ebf06ef00673301a73e0b5d25a4be3c7f8b9ba6f6d')
- version('1.3.1', sha256='eb098fcd46676071ac1eec49d558a8cf15a73f344e880f6f033620e94ec46af3')
- version('1.3.0', sha256='425d220e6ddcf043486343bf4ae0953b53e5c715bd9ed4d1705becc409661b59')
- version('1.2.2', sha256='d81f1d52c08a6fd842c519c0f50ab9b1d0d0f469922402f4552b5515644f9e00')
- version('1.2.1', sha256='7ccee3c0d67cf506d85ab1bb80b8bc6734fff7f610c34745798e3945d68a53fc')
- version('1.2.0', sha256='ba1fc4cc582d3e6f267a72d864c4c8d2f7ee53b160ef338ae4e64e041e6b6c11')
- version('1.1.2', sha256='715aba5e05d48a3af69f704840e8a478a0474d0fb75d846e197dac8942c29ad4')
- version('1.1.1', sha256='e28722fd676fed34cfdc07581fd2547a766a1785c71f391ed1f2f4f4e923df64')
- version('1.1.0-1', sha256='3a58fbaef1715ac3fa40e534d499873b66039b6adb409a22df11d45a5332e21c')
- version('1.1.0', sha256='d9899cf9842f2fe4b0dc3c659dabc8ae32e192151f5be3709a1cd7be5a2c0a9a')
- version('1.0.1', sha256='a0548ac6221fce09a5a6877c8db19e8755e175f97b934e69a449170a604825dd')
- version('1.0', sha256='6b75305f49cdff890df52a3a341060e8909592d8a9a9b330bb6808153b0a2078')
- version('0.15.1', sha256='e25d068d753d1a7d498ae6fdf916da08c3a1aa9ddfb4c5078750009359bb3a75')
- version('0.15.0', sha256='6a319f56b9f68c9de3f0b4bf5a6a47e065f4bde50e64f715e12819b2e6f92e4d')
- version('0.14.1', sha256='274de48593d153d4cb4c487c902eafcdbd3224f1b846ff832aba03396d8453c7')
- version('0.14.0', sha256='fbe4e1d04bf57faeb53c6ae2a2a280504a3c8c9cd1f47db6180c1f8d7e48364d')
- version('0.13.0', sha256='69ff5503313fbfcb7b911f2129f16f61a61c7d1a7f13e73f8d6537eaac31e924')
- version('0.12.4', sha256='935b243bcf461bb0c6e6c938cd21498edbe204861c4db0869a42cca2f33ff95c')
- version('0.12.3', sha256='813cbbe26d521f1081774a4e041b3f068f41481071ba01a4154b4876eaafea90')
- version('0.12.2', sha256='26a67f6a9e288117833e498cc02ed61e1e9439e6275ddfe2478da62cdf20e9ba')
- version('0.12.1', sha256='2865bde4ab2c53e257755cb8f281ee6fba5a9bf54bc3c503edfa36dc03b484fd')
- version('0.12.0', sha256='e885a7bdd8923f828aba3a924ad992c81c0c67f80265279017dd71b5acafd84e')
- version('0.11.0', sha256='cc1d141a91e180c9a151369592bcd6b864c9bf581f2db837ab365aec1533bb3e')
- version('0.10.6', sha256='5727770bb8cea75e6bd76e0911008217a0fd07ed84ae82d967c7bdd98f9c7749')
- version('0.10.5', sha256='59ac82c32b6493bf0a6042ef39549368ad8f0d3ec2151ab040f4ce28c93d751e')
- version('0.10.4', sha256='db46889bc8908318e15f26f4bde8eb31824cb117d9234afb77a348ad4b6f5050')
- version('0.10.3', sha256='4a5393ff47493a80d28a53ce307bffa52a066fd82045a5598b8da074a2f7dfe7')
- version('0.10.2', sha256='2d62bcad5ef7609813381e77a6422fec3d4cbd6347f4297b687510ab4d32e813')
- version('0.10.1', sha256='632b8942d8c85b36997ce3ed893bc34c868b432fbaadd4ea86994ca881d6665b')
- version('0.10.0', sha256='cd554729fa9d0ec17164afbc1cea62d02bde3db8e16db3fd1b8e71d8e1b3dd41')
- version('0.9.1', sha256='a9655a471d0649f5540b890447b35849c162d9b986bf2bbddcb68461748e0f42')
+ version("4.1.1", sha256="ed6fdbbdd272611446ff8036991e9b9f04a2ab2e3ffa9e79f3bab0eb9a95a1d2")
+ version("4.1.0", sha256="656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6")
+ version("4.0.1", sha256="f2674dd6053ef1d48593aa1f0a50c5ac9039f7a059ecb6f9b8307f3fb2fcedad")
+ version("4.0.0", sha256="13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469")
+ version("3.1.1.1", sha256="b148fc3c7382c5addd915db433383160ca7b840bc6ea90bb0d35c6b253526d56")
+ version("3.1.1", sha256="d7c69fef3fb4bfbac99e3f2ac9fb8d6409db4faadf2e37337d544e3fdb4fde3a")
+ version("3.1.0", sha256="6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc")
+ version("3.0.1", sha256="cf5747aa3bf0e7ec6cb166f48be4680097c333ce320e8e58140980b0d99512f3")
+ version("3.0.0", sha256="8d7af64fe8bd5ea5c3bdf17131a8b858491bcce1ee3839425a6d91fb821b5713")
+ version("2.12.1", sha256="33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f")
+ version("2.12.0", sha256="e69301f361ff65bf5dabd8a19196aeaa5613c1b5ae1678f0823bdf50e7d5c6fc")
+ version("2.11.2", sha256="02d2b2cf5526b642b174596d9b3a8716184f9e79710bc68bf6d9fec175b3821b")
+ version("2.11.1", sha256="8a5145d1f8bd2eadc6776f3e13c68cd28d01349e30639bdbcb26ac588d668686")
+ version("2.11.0", sha256="c9d34a79024eae080ce3853aa9afe503824520eefb440190383003081ce7f437")
+ version("2.10.2", sha256="fcfdaa1ecdaac8aead616fe811bfb8fe4a8f2cd59796aa446c5175b5af0e829f")
+ version("2.10.1", sha256="1dd51a908fc68c7d935b0b31fb184c5669bc23b5a1b081816e824714f2a11caa")
+ version("2.10.0", sha256="55d81ac987a4821d2744359c026d766459319ba9c013746570369068d93ff335")
+ version("2.9.1", sha256="4350b3d1d75f1e6a562d975687e181f61ceaf3ac94e6b629f87e24cbe680d03d")
+ version("2.9.0", sha256="f01cc33e3c5fd5fd2534ce14e369b6b111d7e54e4a4977f8c37eae668176b022")
+ version("2.8.1.1", sha256="7b50634d729dcabe4a96d74062832274fa2f4c883e82904f5e6955f801edab54")
+ version("2.8.1", sha256="4d4d2f62c0f7977fb1d49ba4894b2d5e43b8bf8a442be77d42701262c9166440")
+ version("2.8.0", sha256="656c3d408e367de7eca85ea488228d5bb7c68f4a6dc0b1966b529524bd6b938c")
+ version("2.7.1", sha256="7fd448219b43bb61f8b5eb37e465298d503abc84156c9dd6e73c9dc6902a2831")
+ version("2.7.0", sha256="ea5186cffe3ea5e7e903a3f96905aa5596bde2cda445b1ce4fa00024da6c1371")
+ version("2.6.2", sha256="bd4b00c47d47ac45518bce2e9bc1a7d24f2df102dcdeedecca699cdbdde2ff2b")
+ version("2.6.1", sha256="b7e17b0c8a92c99317b984ed5aad85603c475e58f8fe70d75aef1936d22822f0")
+ version("2.6.0", sha256="d0ddb3e80686003feb7e37dae9531237544ee94f91f36b3c49e87ae11e84393c")
+ version("2.5.1.1", sha256="29b00bfa8933831122eb43521ff02b462ae4e5bcef77de6309015cbb19d3743f")
+ version("2.5.1", sha256="bd630bb8dffb3d8579bc9c88534debc941215f346801d78fcae9a71becec84b0")
+ version("2.5.0", sha256="0b2de3ec698135c20d73c4e67f854590e5eadebcc8bfa8484fe59643370ce002")
+ version("2.4.1", sha256="b5049109656c98558584cfe0125d7994d8eba987f6f92dca289f44efcd0bb231")
+ version("2.4.0.1", sha256="7ffebc51f7ff61324524eef7a7ec47596c4e53b3d45ba76141b32884dd7f8cbc")
+ version("2.4.0", sha256="38be58b62b52115e902439c98c61f3bd4773c0113b62f5b153533fc0fae3f485")
+ version("2.3.1", sha256="da78995a818146e4ded948cd7590a75b9e5b042f8be28a79bfae1f669819075c")
+ version("2.3.0", sha256="8cea969890681a4069b1beaa82b89728991f1ca701a0184af50210305078bf5f")
+ version("2.2.1", sha256="1d8f976255db2d3d280ab0d31a11ea5c39da5ddfdec157475b6c335d017ed978")
+ version("2.2.0", sha256="ffd9a4bf2df9cd8607924690caae1c6ed79681412449e3679b1308dbc1d64b9a")
+ version("2.1.3", sha256="26231047738ba53e3eef6caafa97dae6194307b9b34040436292446f12853c10")
+ version("2.1.2", sha256="4d710187d189f42130c3b0a83d091ed6f97fa6ad152d0e87d48fbb5cc73f661a")
+ version("2.1.1", sha256="ed40d0616f6c10d0f70d67c5672383aa2b426e22565e48a85aa135ab95b97e98")
+ version("2.1.0", sha256="ece4d8e9b99ba1671ab3a6ed67ab1f65f85912a8b6318a1350b36088408887f5")
+ version("2.0.2", sha256="1a7a4479796474ebfc2991ea3eeb62a3dd7375cc427089bb474d6c13dd732307")
+ version("2.0.0", sha256="8b4a6243e0cec451438f1d5283b3097700298728c046e3fb80814c0b45cb649d")
+ version("1.7.2", sha256="8897908a564a8be8adaaca5f963285b602de3bec57b187e8575a3808ead350fe")
+ version("1.7.0", sha256="d9338f59ca570d55e4611f133a1c474620b629067afcd3fba0914e0a2c098dae")
+ version("1.6.2", sha256="e7bf52efb9842386c3c4e47a48f39327ba3ece12e203c169f2faf4bd2a0c0961")
+ version("1.6.1", sha256="9d7805e9486116704b546411641a77ed25d306c586036fc3933a7740e190d3b1")
+ version("1.6.0", sha256="491678c5a94c85c287e3525f1496168fcba6d30752d17ccad91f648bb72f06cf")
+ version("1.5.3", sha256="bab87866283a49cd7b5f8bf9c136e24715c741f4ec0605742736a958f178cec0")
+ version("1.5.2", sha256="a0322e5f3004d4c383b075c9c583be39098df35dcf33caa9ba2f2847dd8b99c6")
+ version("1.5.1", sha256="1286c204c7f50559e61e7ee22842925da30fbbf9ec28d3109d1b195442ebc17d")
+ version("1.5.0", sha256="04177f655efde974c24b3c2fee22f3138768905b94aa1597fa70868a727396af")
+ version("1.4.2", sha256="1ac21bd817495599e6db700086c7b1422746a3d30bf531e5e4dcf555ed7e44ad")
+ version("1.4.1", sha256="62c8240f1c6d72c6c134d8fd466821391c33729cdb82569f3a55e0aa05d18f98")
+ version("1.4.0", sha256="82d31db238216a53348293ebf06ef00673301a73e0b5d25a4be3c7f8b9ba6f6d")
+ version("1.3.1", sha256="eb098fcd46676071ac1eec49d558a8cf15a73f344e880f6f033620e94ec46af3")
+ version("1.3.0", sha256="425d220e6ddcf043486343bf4ae0953b53e5c715bd9ed4d1705becc409661b59")
+ version("1.2.2", sha256="d81f1d52c08a6fd842c519c0f50ab9b1d0d0f469922402f4552b5515644f9e00")
+ version("1.2.1", sha256="7ccee3c0d67cf506d85ab1bb80b8bc6734fff7f610c34745798e3945d68a53fc")
+ version("1.2.0", sha256="ba1fc4cc582d3e6f267a72d864c4c8d2f7ee53b160ef338ae4e64e041e6b6c11")
+ version("1.1.2", sha256="715aba5e05d48a3af69f704840e8a478a0474d0fb75d846e197dac8942c29ad4")
+ version("1.1.1", sha256="e28722fd676fed34cfdc07581fd2547a766a1785c71f391ed1f2f4f4e923df64")
+ version("1.1.0-1", sha256="3a58fbaef1715ac3fa40e534d499873b66039b6adb409a22df11d45a5332e21c")
+ version("1.1.0", sha256="d9899cf9842f2fe4b0dc3c659dabc8ae32e192151f5be3709a1cd7be5a2c0a9a")
+ version("1.0.1", sha256="a0548ac6221fce09a5a6877c8db19e8755e175f97b934e69a449170a604825dd")
+ version("1.0", sha256="6b75305f49cdff890df52a3a341060e8909592d8a9a9b330bb6808153b0a2078")
+ version("0.15.1", sha256="e25d068d753d1a7d498ae6fdf916da08c3a1aa9ddfb4c5078750009359bb3a75")
+ version("0.15.0", sha256="6a319f56b9f68c9de3f0b4bf5a6a47e065f4bde50e64f715e12819b2e6f92e4d")
+ version("0.14.1", sha256="274de48593d153d4cb4c487c902eafcdbd3224f1b846ff832aba03396d8453c7")
+ version("0.14.0", sha256="fbe4e1d04bf57faeb53c6ae2a2a280504a3c8c9cd1f47db6180c1f8d7e48364d")
+ version("0.13.0", sha256="69ff5503313fbfcb7b911f2129f16f61a61c7d1a7f13e73f8d6537eaac31e924")
+ version("0.12.4", sha256="935b243bcf461bb0c6e6c938cd21498edbe204861c4db0869a42cca2f33ff95c")
+ version("0.12.3", sha256="813cbbe26d521f1081774a4e041b3f068f41481071ba01a4154b4876eaafea90")
+ version("0.12.2", sha256="26a67f6a9e288117833e498cc02ed61e1e9439e6275ddfe2478da62cdf20e9ba")
+ version("0.12.1", sha256="2865bde4ab2c53e257755cb8f281ee6fba5a9bf54bc3c503edfa36dc03b484fd")
+ version("0.12.0", sha256="e885a7bdd8923f828aba3a924ad992c81c0c67f80265279017dd71b5acafd84e")
+ version("0.11.0", sha256="cc1d141a91e180c9a151369592bcd6b864c9bf581f2db837ab365aec1533bb3e")
+ version("0.10.6", sha256="5727770bb8cea75e6bd76e0911008217a0fd07ed84ae82d967c7bdd98f9c7749")
+ version("0.10.5", sha256="59ac82c32b6493bf0a6042ef39549368ad8f0d3ec2151ab040f4ce28c93d751e")
+ version("0.10.4", sha256="db46889bc8908318e15f26f4bde8eb31824cb117d9234afb77a348ad4b6f5050")
+ version("0.10.3", sha256="4a5393ff47493a80d28a53ce307bffa52a066fd82045a5598b8da074a2f7dfe7")
+ version("0.10.2", sha256="2d62bcad5ef7609813381e77a6422fec3d4cbd6347f4297b687510ab4d32e813")
+ version("0.10.1", sha256="632b8942d8c85b36997ce3ed893bc34c868b432fbaadd4ea86994ca881d6665b")
+ version("0.10.0", sha256="cd554729fa9d0ec17164afbc1cea62d02bde3db8e16db3fd1b8e71d8e1b3dd41")
+ version("0.9.1", sha256="a9655a471d0649f5540b890447b35849c162d9b986bf2bbddcb68461748e0f42")
- depends_on('glib@2.40:')
- depends_on('pixman@0.21.8:')
- depends_on('pkgconfig', type='build')
+ depends_on("glib@2.40:")
+ depends_on("pixman@0.21.8:")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/qgis/package.py b/var/spack/repos/builtin/packages/qgis/package.py
index 20c1c859c1..377c4fd10e 100644
--- a/var/spack/repos/builtin/packages/qgis/package.py
+++ b/var/spack/repos/builtin/packages/qgis/package.py
@@ -13,236 +13,231 @@ class Qgis(CMakePackage):
"""
homepage = "https://qgis.org"
- url = "https://qgis.org/downloads/qgis-3.8.1.tar.bz2"
+ url = "https://qgis.org/downloads/qgis-3.8.1.tar.bz2"
- maintainers = ['adamjstewart', 'Sinan81']
+ maintainers = ["adamjstewart", "Sinan81"]
- version('3.22.0', sha256='cf0c169863f332aab67d8c4943e14b73a564f0254bf54015f5826c6427e6785b')
- version('3.18.2', sha256='1913e4d5596bbc8b7d143f3defb18bf376f750a71f334f69d76af5deca7ecc5d')
+ version("3.22.0", sha256="cf0c169863f332aab67d8c4943e14b73a564f0254bf54015f5826c6427e6785b")
+ version("3.18.2", sha256="1913e4d5596bbc8b7d143f3defb18bf376f750a71f334f69d76af5deca7ecc5d")
# Prefer latest long term release
- version('3.16.12', sha256='65e9634b5c885c98f3555cf77bc2e3fae5e19279aa17e3f6626ff5d7455fd2b9', preferred=True)
- version('3.16.5', sha256='525f469ad6e40dd7a8f09ebab5eb6a2dffc45939b99b7d937750cc04ed78d61c')
- version('3.14.16', sha256='c9915c2e577f1812a2b35b678b123c58407e07824d73e5ec0dda13db7ca75c04')
- version('3.14.0', sha256='1b76c5278def0c447c3d354149a2afe2562ac26cf0bcbe69b9e0528356d407b8')
- version('3.12.3', sha256='c2b53815f9b994e1662995d1f25f90628156b996758f5471bffb74ab29a95220')
- version('3.12.2', sha256='501f81715672205afd2c1a289ffc765aff96eaa8ecb49d079a58ef4d907467b8')
- version('3.12.1', sha256='a7dc7af768b8960c08ce72a06c1f4ca4664f4197ce29c7fe238429e48b2881a8')
- version('3.12.0', sha256='19e9c185dfe88cad7ee6e0dcf5ab7b0bbfe1672307868a53bf771e0c8f9d5e9c')
- version('3.10.10', sha256='e21a778139823fb6cf12e4a38f00984fcc060f41abcd4f0af83642d566883839')
- version('3.10.7', sha256='f6c02489e065bae355d2f4374b84a1624379634c34a770b6d65bf38eb7e71564')
- version('3.10.6', sha256='a96791bf6615e4f8ecdbbb9a90a8ef14a12459d8c5c374ab22eb5f776f864bb5')
- version('3.10.5', sha256='f3e1cc362941ec69cc21062eeaea160354ef71382b21dc4b3191c315447b4ce1')
- version('3.10.4', sha256='a032e2b8144c2fd825bc26766f586cfb1bd8574bc72efd1aa8ce18dfff8b6c9f')
- version('3.10.3', sha256='0869704df9120dd642996ff1ed50213ac8247650aa0640b62f8c9c581c05d7a7')
- version('3.10.2', sha256='381cb01a8ac2f5379a915b124e9c830d727d2c67775ec49609c7153fe765a6f7')
- version('3.10.1', sha256='466ac9fad91f266cf3b9d148f58e2adebd5b9fcfc03e6730eb72251e6c34c8ab')
- version('3.10.0', sha256='25eb1c41d9fb922ffa337a720dfdceee43cf2d38409923f087c2010c9742f012')
- version('3.8.3', sha256='3cca3e8483bc158cb8e972eb819a55a5734ba70f2c7da28ebc485864aafb17bd')
- version('3.8.2', sha256='4d682f7625465a5b3596b3f7e83eddad86a60384fead9c81a6870704baffaddd')
- version('3.8.1', sha256='d65c8e1c7471bba46f5017f261ebbef81dffb5843a24f0e7713a00f70785ea99')
- version('3.4.15', sha256='81c93b72adbea41bd765294c0cdb09476a632d8b3f90101abc409ca9ea7fb04d')
- version('3.4.14', sha256='e138716c7ea84011d3b28fb9c75e6a79322fb66f532246393571906a595d7261')
-
- variant('3d', default=False, description='Build QGIS 3D library')
- variant('analysis', default=True, description='Build QGIS analysis library')
- variant('apidoc', default=False, description='Build QGIS API doxygen documentation')
- variant('astyle', default=False, description='Contribute QGIS with astyle')
- variant('bindings', default=True, description='Build Python bindings')
- variant('clang_tidy', default=False, description='Use Clang tidy')
- variant('core', default=True, description='Build QGIS Core')
- variant('custom_widgets', default=False, description='Build QGIS custom widgets for Qt Designer')
- variant('desktop', default=True, description='Build QGIS desktop')
- variant('georeferencer', default=True, description='Build GeoReferencer plugin')
- variant('globe', default=False, description='Build Globe plugin')
- variant('grass7', default=False, description='Build with GRASS providers and plugin')
- variant('gui', default=True, description='Build QGIS GUI library and everything built on top of it')
- variant('internal_mdal', default=True, description='Build with MDAl support')
- variant('internal_o2', default=True, description='Download and locally include source of o2 library')
- variant('oauth2_plugin', default=True, description='Build OAuth2 authentication method plugin')
- variant('oracle', default=False, description='Build with Oracle support')
- variant('postgresql', default=True, description='Build with PostreSQL support')
- variant('py_compile', default=False, description='Byte compile Python modules in staged or installed locations')
- variant('qsciapi', default=True, description='Generate PyQGIS QScintilla2 API')
- variant('qspatialite', default=False, description='Build QSpatialite sql driver')
- variant('qt5serialport', default=True, description='Try Qt5SerialPort for GPS positioning')
- variant('qtmobility', default=False, description='Build QtMobility related code')
- variant('qtwebkit', default=False, description='Enable QtWebkit Support')
- variant('quick', default=False, description='Build QGIS Quick library')
- variant('qwtpolar', default=False, description='Build QwtPolar')
- variant('server', default=False, description='Build QGIS server')
- variant('staged_plugins', default=True, description='Stage-install core Python plugins to run from build directory')
- variant('thread_local', default=True, description='Use std::thread_local')
- variant('txt2tags', default=False, description='Generate PDF for txt2tags documentation')
+ version(
+ "3.16.12",
+ sha256="65e9634b5c885c98f3555cf77bc2e3fae5e19279aa17e3f6626ff5d7455fd2b9",
+ preferred=True,
+ )
+ version("3.16.5", sha256="525f469ad6e40dd7a8f09ebab5eb6a2dffc45939b99b7d937750cc04ed78d61c")
+ version("3.14.16", sha256="c9915c2e577f1812a2b35b678b123c58407e07824d73e5ec0dda13db7ca75c04")
+ version("3.14.0", sha256="1b76c5278def0c447c3d354149a2afe2562ac26cf0bcbe69b9e0528356d407b8")
+ version("3.12.3", sha256="c2b53815f9b994e1662995d1f25f90628156b996758f5471bffb74ab29a95220")
+ version("3.12.2", sha256="501f81715672205afd2c1a289ffc765aff96eaa8ecb49d079a58ef4d907467b8")
+ version("3.12.1", sha256="a7dc7af768b8960c08ce72a06c1f4ca4664f4197ce29c7fe238429e48b2881a8")
+ version("3.12.0", sha256="19e9c185dfe88cad7ee6e0dcf5ab7b0bbfe1672307868a53bf771e0c8f9d5e9c")
+ version("3.10.10", sha256="e21a778139823fb6cf12e4a38f00984fcc060f41abcd4f0af83642d566883839")
+ version("3.10.7", sha256="f6c02489e065bae355d2f4374b84a1624379634c34a770b6d65bf38eb7e71564")
+ version("3.10.6", sha256="a96791bf6615e4f8ecdbbb9a90a8ef14a12459d8c5c374ab22eb5f776f864bb5")
+ version("3.10.5", sha256="f3e1cc362941ec69cc21062eeaea160354ef71382b21dc4b3191c315447b4ce1")
+ version("3.10.4", sha256="a032e2b8144c2fd825bc26766f586cfb1bd8574bc72efd1aa8ce18dfff8b6c9f")
+ version("3.10.3", sha256="0869704df9120dd642996ff1ed50213ac8247650aa0640b62f8c9c581c05d7a7")
+ version("3.10.2", sha256="381cb01a8ac2f5379a915b124e9c830d727d2c67775ec49609c7153fe765a6f7")
+ version("3.10.1", sha256="466ac9fad91f266cf3b9d148f58e2adebd5b9fcfc03e6730eb72251e6c34c8ab")
+ version("3.10.0", sha256="25eb1c41d9fb922ffa337a720dfdceee43cf2d38409923f087c2010c9742f012")
+ version("3.8.3", sha256="3cca3e8483bc158cb8e972eb819a55a5734ba70f2c7da28ebc485864aafb17bd")
+ version("3.8.2", sha256="4d682f7625465a5b3596b3f7e83eddad86a60384fead9c81a6870704baffaddd")
+ version("3.8.1", sha256="d65c8e1c7471bba46f5017f261ebbef81dffb5843a24f0e7713a00f70785ea99")
+ version("3.4.15", sha256="81c93b72adbea41bd765294c0cdb09476a632d8b3f90101abc409ca9ea7fb04d")
+ version("3.4.14", sha256="e138716c7ea84011d3b28fb9c75e6a79322fb66f532246393571906a595d7261")
+
+ variant("3d", default=False, description="Build QGIS 3D library")
+ variant("analysis", default=True, description="Build QGIS analysis library")
+ variant("apidoc", default=False, description="Build QGIS API doxygen documentation")
+ variant("astyle", default=False, description="Contribute QGIS with astyle")
+ variant("bindings", default=True, description="Build Python bindings")
+ variant("clang_tidy", default=False, description="Use Clang tidy")
+ variant("core", default=True, description="Build QGIS Core")
+ variant(
+ "custom_widgets", default=False, description="Build QGIS custom widgets for Qt Designer"
+ )
+ variant("desktop", default=True, description="Build QGIS desktop")
+ variant("georeferencer", default=True, description="Build GeoReferencer plugin")
+ variant("globe", default=False, description="Build Globe plugin")
+ variant("grass7", default=False, description="Build with GRASS providers and plugin")
+ variant(
+ "gui", default=True, description="Build QGIS GUI library and everything built on top of it"
+ )
+ variant("internal_mdal", default=True, description="Build with MDAl support")
+ variant(
+ "internal_o2",
+ default=True,
+ description="Download and locally include source of o2 library",
+ )
+ variant("oauth2_plugin", default=True, description="Build OAuth2 authentication method plugin")
+ variant("oracle", default=False, description="Build with Oracle support")
+ variant("postgresql", default=True, description="Build with PostreSQL support")
+ variant(
+ "py_compile",
+ default=False,
+ description="Byte compile Python modules in staged or installed locations",
+ )
+ variant("qsciapi", default=True, description="Generate PyQGIS QScintilla2 API")
+ variant("qspatialite", default=False, description="Build QSpatialite sql driver")
+ variant("qt5serialport", default=True, description="Try Qt5SerialPort for GPS positioning")
+ variant("qtmobility", default=False, description="Build QtMobility related code")
+ variant("qtwebkit", default=False, description="Enable QtWebkit Support")
+ variant("quick", default=False, description="Build QGIS Quick library")
+ variant("qwtpolar", default=False, description="Build QwtPolar")
+ variant("server", default=False, description="Build QGIS server")
+ variant(
+ "staged_plugins",
+ default=True,
+ description="Stage-install core Python plugins to run from build directory",
+ )
+ variant("thread_local", default=True, description="Use std::thread_local")
+ variant("txt2tags", default=False, description="Generate PDF for txt2tags documentation")
# Ref. for dependencies:
# https://github.com/qgis/QGIS/blob/master/INSTALL.md
- depends_on('exiv2')
- depends_on('expat@1.95:')
- depends_on('gdal@2.1.0: +python', type=('build', 'link', 'run'))
- depends_on('geos@3.4.0:')
- depends_on('libspatialindex')
- depends_on('libspatialite@4.2.0:')
- depends_on('libzip')
- depends_on('libtasn1')
- depends_on('proj@4.4.0:')
- depends_on('proj@4.9.3:', when='@3.8.2:')
- depends_on('py-psycopg2', type=('build', 'run')) # TODO: is build dependency necessary?
- depends_on('py-pyqt4', when='@2')
- depends_on('py-pyqt5@5.3:', when='@3')
- depends_on('py-requests', type=('build', 'run')) # TODO: is build dependency necessary?
- depends_on('python@2.7:2.8', type=('build', 'run'), when='@2')
- depends_on('python@3.0.0:', type=('build', 'run'), when='@3')
- depends_on('python@3.6:', type=('build', 'run'), when='@3.18:')
- depends_on('python@3.7:', type=('build', 'run'), when='@3.20:')
- depends_on('qca@2.2.1')
- depends_on('qjson')
- depends_on('qscintilla +python')
- depends_on('qt+dbus')
- depends_on('qt+dbus@5.12.0:', when='@3.20:')
- depends_on('qtkeychain@0.5:', when='@3:')
- depends_on('qwt@5:')
- depends_on('qwtpolar')
- depends_on('sqlite@3.0.0: +column_metadata')
- depends_on('protobuf', when='@3.16.4:')
+ depends_on("exiv2")
+ depends_on("expat@1.95:")
+ depends_on("gdal@2.1.0: +python", type=("build", "link", "run"))
+ depends_on("geos@3.4.0:")
+ depends_on("libspatialindex")
+ depends_on("libspatialite@4.2.0:")
+ depends_on("libzip")
+ depends_on("libtasn1")
+ depends_on("proj@4.4.0:")
+ depends_on("proj@4.9.3:", when="@3.8.2:")
+ depends_on("py-psycopg2", type=("build", "run")) # TODO: is build dependency necessary?
+ depends_on("py-pyqt4", when="@2")
+ depends_on("py-pyqt5@5.3:", when="@3")
+ depends_on("py-requests", type=("build", "run")) # TODO: is build dependency necessary?
+ depends_on("python@2.7:2.8", type=("build", "run"), when="@2")
+ depends_on("python@3.0.0:", type=("build", "run"), when="@3")
+ depends_on("python@3.6:", type=("build", "run"), when="@3.18:")
+ depends_on("python@3.7:", type=("build", "run"), when="@3.20:")
+ depends_on("qca@2.2.1")
+ depends_on("qjson")
+ depends_on("qscintilla +python")
+ depends_on("qt+dbus")
+ depends_on("qt+dbus@5.12.0:", when="@3.20:")
+ depends_on("qtkeychain@0.5:", when="@3:")
+ depends_on("qwt@5:")
+ depends_on("qwtpolar")
+ depends_on("sqlite@3.0.0: +column_metadata")
+ depends_on("protobuf", when="@3.16.4:")
# Runtime python dependencies, not mentioned in install instructions
- depends_on('py-pyyaml', type='run')
- depends_on('py-owslib', type='run')
- depends_on('py-jinja2', type='run')
- depends_on('py-pygments', type='run')
+ depends_on("py-pyyaml", type="run")
+ depends_on("py-owslib", type="run")
+ depends_on("py-jinja2", type="run")
+ depends_on("py-pygments", type="run")
# optionals
- depends_on('postgresql@8:', when='+postgresql') # for PostGIS support
- depends_on('gsl', when='+georeferencer') # for georeferencer
+ depends_on("postgresql@8:", when="+postgresql") # for PostGIS support
+ depends_on("gsl", when="+georeferencer") # for georeferencer
# grass@7.8.1 is the first version that supports proj@6
- depends_on('grass@7:', type=('build', 'link', 'run'), when='+grass7') # for georeferencer
+ depends_on("grass@7:", type=("build", "link", "run"), when="+grass7") # for georeferencer
# The below dependencies are shown in cmake config
# hdf5 and netcdf-c together run afoul of a concretizer bug.
# netcdf-c already depends on hdf5
# depends_on('hdf5').
- depends_on('netcdf-c')
+ depends_on("netcdf-c")
# build
- depends_on('cmake@3.0.0:', type='build')
- depends_on('cmake@3.10.0:', type='build', when='@3.16:')
- depends_on('flex@2.5.6:', type='build')
- depends_on('bison@2.4:', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("cmake@3.0.0:", type="build")
+ depends_on("cmake@3.10.0:", type="build", when="@3.16:")
+ depends_on("flex@2.5.6:", type="build")
+ depends_on("bison@2.4:", type="build")
+ depends_on("pkgconfig", type="build")
# Take care of conflicts using depends_on
- depends_on('qt@5.9.0:5.12', when='@3.8')
- depends_on('qt@5.9.0:', when='@3.10.0:')
- depends_on('qtkeychain@:1.5', when='^qt@4')
- depends_on('qt@:4', when='@2')
+ depends_on("qt@5.9.0:5.12", when="@3.8")
+ depends_on("qt@5.9.0:", when="@3.10.0:")
+ depends_on("qtkeychain@:1.5", when="^qt@4")
+ depends_on("qt@:4", when="@2")
# Help concretizer
# +qsci_api is implied by qscintilla+python dependency
- depends_on('py-pyqt4 +qsci_api', when='@2')
- depends_on('py-pyqt5@5.3: +qsci_api', when='@3')
+ depends_on("py-pyqt4 +qsci_api", when="@2")
+ depends_on("py-pyqt5@5.3: +qsci_api", when="@3")
- patch('pyqt5.patch', when='@:3.14 ^qt@5')
- patch('pyqt5_3165x.patch', when='@3.16.5: ^qt@5')
+ patch("pyqt5.patch", when="@:3.14 ^qt@5")
+ patch("pyqt5_3165x.patch", when="@3.16.5: ^qt@5")
def cmake_args(self):
spec = self.spec
args = []
# qtwebkit module was removed from qt as of version 5.6
# needs to be compiled as a separate package
- args.extend([
- '-DUSE_OPENCL=OFF',
- # cmake couldn't determine the following paths
- '-DEXPAT_LIBRARY={0}'.format(self.spec['expat'].libs),
- '-DPOSTGRESQL_PREFIX={0}'.format(
- self.spec['postgresql'].prefix),
- '-DQSCINTILLA_INCLUDE_DIR=' +
- self.spec['qscintilla'].prefix.include,
- '-DQSCINTILLA_LIBRARY=' + self.spec['qscintilla'].prefix +
- '/lib/libqscintilla2_qt5.so',
- '-DQSCI_SIP_DIR=' +
- self.spec['qscintilla'].prefix.share.sip.PyQt5,
- '-DLIBZIP_INCLUDE_DIR=' +
- self.spec['libzip'].prefix.include,
- '-DLIBZIP_CONF_INCLUDE_DIR=' +
- self.spec['libzip'].prefix.lib.libzip.include,
- '-DGDAL_CONFIG_PREFER_PATH=' +
- self.spec['gdal'].prefix.bin,
- '-DGEOS_CONFIG_PREFER_PATH=' +
- self.spec['geos'].prefix.bin,
- '-DGSL_CONFIG_PREFER_PATH=' + self.spec['gsl'].prefix.bin,
- '-DPOSTGRES_CONFIG_PREFER_PATH=' +
- self.spec['postgresql'].prefix.bin,
- '-DPROJ_INCLUDE_DIR=' + self.spec['proj'].headers.directories[0],
- '-DSQLITE3_LIBRARY='
- + self.spec['sqlite'].libs[0]
- ])
-
- args.extend([
- '-DWITH_3D={0}'.format(
- 'TRUE' if '+3d' in spec else 'FALSE'),
- '-DWITH_ANALYSIS={0}'.format(
- 'TRUE' if '+analysis' in spec else 'FALSE'),
- '-DWITH_APIDOC={0}'.format(
- 'TRUE' if '+apidoc' in spec else 'FALSE'),
- '-DWITH_ASTYLE={0}'.format(
- 'TRUE' if '+astyle' in spec else 'FALSE'),
- '-DWITH_BINDINGS={0}'.format(
- 'TRUE' if '+bindings' in spec else 'FALSE'),
- '-DWITH_CLANG_TIDY={0}'.format(
- 'TRUE' if '+clang_tidy' in spec else 'FALSE'),
- '-DWITH_CORE={0}'.format(
- 'TRUE' if '+core' in spec else 'FALSE'),
- '-DWITH_CUSTOM_WIDGETS={0}'.format(
- 'TRUE' if '+custom_widgets' in spec else 'FALSE'),
- '-DWITH_DESKTOP={0}'.format(
- 'TRUE' if '+desktop' in spec else 'FALSE'),
- '-DWITH_GEOREFERENCER={0}'.format(
- 'TRUE' if '+georeferencer' in spec else 'FALSE'),
- '-DWITH_GLOBE={0}'.format(
- 'TRUE' if '+globe' in spec else 'FALSE'),
- '-DWITH_GUI={0}'.format(
- 'TRUE' if '+gui' in spec else 'FALSE'),
- '-DWITH_INTERNAL_MDAL={0}'.format(
- 'TRUE' if '+internal_mdal' in spec else 'FALSE'),
- self.define_from_variant('WITH_INTERNAL_O2', 'internal_o2'),
- '-DWITH_OAUTH2_PLUGIN={0}'.format(
- 'TRUE' if '+oauth2_plugin' in spec else 'FALSE'),
- '-DWITH_ORACLE={0}'.format(
- 'TRUE' if '+oracle' in spec else 'FALSE'),
- '-DWITH_POSTGRESQL={0}'.format(
- 'TRUE' if '+postgresql' in spec else 'FALSE'),
- '-DWITH_PY_COMPILE={0}'.format(
- 'TRUE' if '+py_compile' in spec else 'FALSE'),
- '-DWITH_QSCIAPI={0}'.format(
- 'TRUE' if '+qsciapi' in spec else 'FALSE'),
- self.define_from_variant('WITH_QSPATIALITE', 'qspatialite'),
- '-DWITH_QT5SERIALPORT={0}'.format(
- 'TRUE' if '+qt5serialport' in spec else 'FALSE'),
- '-DWITH_QTMOBILITY={0}'.format(
- 'TRUE' if '+qtmobility' in spec else 'FALSE'),
- self.define_from_variant('WITH_QTWEBKIT', 'qtwebkit'),
- '-DWITH_QUICK={0}'.format(
- 'TRUE' if '+quick' in spec else 'FALSE'),
- '-DWITH_QWTPOLAR={0}'.format(
- 'TRUE' if '+qwtpolar' in spec else 'FALSE'),
- '-DWITH_SERVER={0}'.format(
- 'TRUE' if '+server' in spec else 'FALSE'),
- '-DWITH_STAGED_PLUGINS={0}'.format(
- 'TRUE' if '+staged_plugins' in spec else 'FALSE'),
- '-DWITH_THREAD_LOCAL={0}'.format(
- 'TRUE' if '+thread_local' in spec else 'FALSE'),
- '-DWITH_TXT2TAGS_PDF={0}'.format(
- 'TRUE' if '+txt2tags_pdf' in spec else 'FALSE'),
- ])
-
- if '+grass7' in self.spec:
- args.extend([
- '-DWITH_GRASS7=ON',
- '-DGRASS_PREFIX7={0}'.format(self.spec['grass'].prefix),
- '-DGRASS_INCLUDE_DIR7={0}'.format(
- self.spec['grass'].prefix.include)
- ])
+ args.extend(
+ [
+ "-DUSE_OPENCL=OFF",
+ # cmake couldn't determine the following paths
+ "-DEXPAT_LIBRARY={0}".format(self.spec["expat"].libs),
+ "-DPOSTGRESQL_PREFIX={0}".format(self.spec["postgresql"].prefix),
+ "-DQSCINTILLA_INCLUDE_DIR=" + self.spec["qscintilla"].prefix.include,
+ "-DQSCINTILLA_LIBRARY="
+ + self.spec["qscintilla"].prefix
+ + "/lib/libqscintilla2_qt5.so",
+ "-DQSCI_SIP_DIR=" + self.spec["qscintilla"].prefix.share.sip.PyQt5,
+ "-DLIBZIP_INCLUDE_DIR=" + self.spec["libzip"].prefix.include,
+ "-DLIBZIP_CONF_INCLUDE_DIR=" + self.spec["libzip"].prefix.lib.libzip.include,
+ "-DGDAL_CONFIG_PREFER_PATH=" + self.spec["gdal"].prefix.bin,
+ "-DGEOS_CONFIG_PREFER_PATH=" + self.spec["geos"].prefix.bin,
+ "-DGSL_CONFIG_PREFER_PATH=" + self.spec["gsl"].prefix.bin,
+ "-DPOSTGRES_CONFIG_PREFER_PATH=" + self.spec["postgresql"].prefix.bin,
+ "-DPROJ_INCLUDE_DIR=" + self.spec["proj"].headers.directories[0],
+ "-DSQLITE3_LIBRARY=" + self.spec["sqlite"].libs[0],
+ ]
+ )
+
+ args.extend(
+ [
+ "-DWITH_3D={0}".format("TRUE" if "+3d" in spec else "FALSE"),
+ "-DWITH_ANALYSIS={0}".format("TRUE" if "+analysis" in spec else "FALSE"),
+ "-DWITH_APIDOC={0}".format("TRUE" if "+apidoc" in spec else "FALSE"),
+ "-DWITH_ASTYLE={0}".format("TRUE" if "+astyle" in spec else "FALSE"),
+ "-DWITH_BINDINGS={0}".format("TRUE" if "+bindings" in spec else "FALSE"),
+ "-DWITH_CLANG_TIDY={0}".format("TRUE" if "+clang_tidy" in spec else "FALSE"),
+ "-DWITH_CORE={0}".format("TRUE" if "+core" in spec else "FALSE"),
+ "-DWITH_CUSTOM_WIDGETS={0}".format(
+ "TRUE" if "+custom_widgets" in spec else "FALSE"
+ ),
+ "-DWITH_DESKTOP={0}".format("TRUE" if "+desktop" in spec else "FALSE"),
+ "-DWITH_GEOREFERENCER={0}".format("TRUE" if "+georeferencer" in spec else "FALSE"),
+ "-DWITH_GLOBE={0}".format("TRUE" if "+globe" in spec else "FALSE"),
+ "-DWITH_GUI={0}".format("TRUE" if "+gui" in spec else "FALSE"),
+ "-DWITH_INTERNAL_MDAL={0}".format("TRUE" if "+internal_mdal" in spec else "FALSE"),
+ self.define_from_variant("WITH_INTERNAL_O2", "internal_o2"),
+ "-DWITH_OAUTH2_PLUGIN={0}".format("TRUE" if "+oauth2_plugin" in spec else "FALSE"),
+ "-DWITH_ORACLE={0}".format("TRUE" if "+oracle" in spec else "FALSE"),
+ "-DWITH_POSTGRESQL={0}".format("TRUE" if "+postgresql" in spec else "FALSE"),
+ "-DWITH_PY_COMPILE={0}".format("TRUE" if "+py_compile" in spec else "FALSE"),
+ "-DWITH_QSCIAPI={0}".format("TRUE" if "+qsciapi" in spec else "FALSE"),
+ self.define_from_variant("WITH_QSPATIALITE", "qspatialite"),
+ "-DWITH_QT5SERIALPORT={0}".format("TRUE" if "+qt5serialport" in spec else "FALSE"),
+ "-DWITH_QTMOBILITY={0}".format("TRUE" if "+qtmobility" in spec else "FALSE"),
+ self.define_from_variant("WITH_QTWEBKIT", "qtwebkit"),
+ "-DWITH_QUICK={0}".format("TRUE" if "+quick" in spec else "FALSE"),
+ "-DWITH_QWTPOLAR={0}".format("TRUE" if "+qwtpolar" in spec else "FALSE"),
+ "-DWITH_SERVER={0}".format("TRUE" if "+server" in spec else "FALSE"),
+ "-DWITH_STAGED_PLUGINS={0}".format(
+ "TRUE" if "+staged_plugins" in spec else "FALSE"
+ ),
+ "-DWITH_THREAD_LOCAL={0}".format("TRUE" if "+thread_local" in spec else "FALSE"),
+ "-DWITH_TXT2TAGS_PDF={0}".format("TRUE" if "+txt2tags_pdf" in spec else "FALSE"),
+ ]
+ )
+
+ if "+grass7" in self.spec:
+ args.extend(
+ [
+ "-DWITH_GRASS7=ON",
+ "-DGRASS_PREFIX7={0}".format(self.spec["grass"].prefix),
+ "-DGRASS_INCLUDE_DIR7={0}".format(self.spec["grass"].prefix.include),
+ ]
+ )
else:
- args.append('-DWITH_GRASS7=OFF')
+ args.append("-DWITH_GRASS7=OFF")
return args
def check(self):
diff --git a/var/spack/repos/builtin/packages/qgraf/package.py b/var/spack/repos/builtin/packages/qgraf/package.py
index 374067d6f3..99cc230926 100644
--- a/var/spack/repos/builtin/packages/qgraf/package.py
+++ b/var/spack/repos/builtin/packages/qgraf/package.py
@@ -8,16 +8,16 @@ from spack.package import *
class Qgraf(Package):
"""Qgraf is a computer program that generates Feynman diagrams
- for various types of QFT models"""
+ for various types of QFT models"""
homepage = "http://cfif.ist.utl.pt/~paulo/qgraf.html"
- url = "http://anonymous:anonymous@qgraf.tecnico.ulisboa.pt/v3.4/qgraf-3.4.2.tgz"
+ url = "http://anonymous:anonymous@qgraf.tecnico.ulisboa.pt/v3.4/qgraf-3.4.2.tgz"
- tags = ['hep']
+ tags = ["hep"]
- version('3.4.2', sha256='cfc029fb871c78943865ef8b51ebcd3cd4428448b8816714b049669dfdeab8aa')
+ version("3.4.2", sha256="cfc029fb871c78943865ef8b51ebcd3cd4428448b8816714b049669dfdeab8aa")
def install(self, spec, prefix):
fortran = Executable(spack_fc)
- fortran('qgraf-{0}.f'.format(self.spec.version), '-o', 'qgraf')
- install_tree('.', prefix)
+ fortran("qgraf-{0}.f".format(self.spec.version), "-o", "qgraf")
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py
index 526c48f012..48a409bcfb 100644
--- a/var/spack/repos/builtin/packages/qhull/package.py
+++ b/var/spack/repos/builtin/packages/qhull/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Qhull(CMakePackage):
"""Qhull computes the convex hull, Delaunay triangulation, Voronoi
- diagram, halfspace intersection about a point, furt hest-site
- Delaunay triangulation, and furthest-site Voronoi diagram. The
- source code runs in 2-d, 3-d, 4-d, and higher dimensions. Qhull
- implements the Quickhull algorithm for computing the convex
- hull. It handles roundoff errors from floating point
- arithmetic. It computes volumes, surface areas, and
- approximations to the convex hull."""
+ diagram, halfspace intersection about a point, furt hest-site
+ Delaunay triangulation, and furthest-site Voronoi diagram. The
+ source code runs in 2-d, 3-d, 4-d, and higher dimensions. Qhull
+ implements the Quickhull algorithm for computing the convex
+ hull. It handles roundoff errors from floating point
+ arithmetic. It computes volumes, surface areas, and
+ approximations to the convex hull."""
homepage = "http://www.qhull.org"
url = "https://github.com/qhull/qhull/archive/refs/tags/2020.2.tar.gz"
- version('2020.2', sha256='59356b229b768e6e2b09a701448bfa222c37b797a84f87f864f97462d8dbc7c5')
- version('2020.1', sha256='0258bbf5de447e3d6b3968c5a7b51c08ca5d98f11f94f86621ed3e7c98365b8d')
- version('2019.1', sha256='cf7235b76244595a86b9407b906e3259502b744528318f2178155e5899d6cf9f')
- version('2015.2', sha256='8b6dd67ff77ce1ee814da84f4134ef4bdce1f1031e570b8d83019ccef58b1c00')
- version('2012.1', sha256='cb1296fbb9ec8b7d6e8f4c239ad165590616f242c7c46f790c27d8dcebe96c6a')
+ version("2020.2", sha256="59356b229b768e6e2b09a701448bfa222c37b797a84f87f864f97462d8dbc7c5")
+ version("2020.1", sha256="0258bbf5de447e3d6b3968c5a7b51c08ca5d98f11f94f86621ed3e7c98365b8d")
+ version("2019.1", sha256="cf7235b76244595a86b9407b906e3259502b744528318f2178155e5899d6cf9f")
+ version("2015.2", sha256="8b6dd67ff77ce1ee814da84f4134ef4bdce1f1031e570b8d83019ccef58b1c00")
+ version("2012.1", sha256="cb1296fbb9ec8b7d6e8f4c239ad165590616f242c7c46f790c27d8dcebe96c6a")
- patch('qhull-unused-intel-17.02.patch', when='@2015.2')
+ patch("qhull-unused-intel-17.02.patch", when="@2015.2")
- depends_on('cmake@3.0:', type='build')
+ depends_on("cmake@3.0:", type="build")
def flag_handler(self, name, flags):
# See https://github.com/qhull/qhull/issues/65
- if name == 'cxxflags' and self.version == Version('2020.1'):
+ if name == "cxxflags" and self.version == Version("2020.1"):
flags.append(self.compiler.cxx11_flag)
return (flags, None, None)
@@ -39,15 +39,13 @@ class Qhull(CMakePackage):
def libs(self):
# in 2020.2 the libqhull.so library was deprecated in favor of
# libqhull_r.so
- if self.spec.satisfies('@2020.2:'):
- return find_libraries('libqhull_r', self.prefix,
- shared=True, recursive=True)
+ if self.spec.satisfies("@2020.2:"):
+ return find_libraries("libqhull_r", self.prefix, shared=True, recursive=True)
else:
- return find_libraries('libqhull', self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libqhull", self.prefix, shared=True, recursive=True)
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/qjson/package.py b/var/spack/repos/builtin/packages/qjson/package.py
index f84fdd5206..4896f06585 100644
--- a/var/spack/repos/builtin/packages/qjson/package.py
+++ b/var/spack/repos/builtin/packages/qjson/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Qjson(CMakePackage):
"""QJson is a Qt-based library that maps JSON data to QVariant
- objects and vice versa."""
+ objects and vice versa."""
homepage = "http://qjson.sourceforge.net/"
- url = "https://github.com/flavio/qjson/archive/0.9.0.tar.gz"
+ url = "https://github.com/flavio/qjson/archive/0.9.0.tar.gz"
- version('0.9.0', sha256='e812617477f3c2bb990561767a4cd8b1d3803a52018d4878da302529552610d4')
+ version("0.9.0", sha256="e812617477f3c2bb990561767a4cd8b1d3803a52018d4878da302529552610d4")
- depends_on('qt')
+ depends_on("qt")
def cmake_args(self):
args = []
- if self.spec['qt'].version.up_to(1) == Version(4):
- args.append('-DQT4_BUILD=ON')
+ if self.spec["qt"].version.up_to(1) == Version(4):
+ args.append("-DQT4_BUILD=ON")
return args
diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py
index f40bb1108f..6d67a670b6 100644
--- a/var/spack/repos/builtin/packages/qmcpack/package.py
+++ b/var/spack/repos/builtin/packages/qmcpack/package.py
@@ -10,64 +10,73 @@ from spack.package import *
class Qmcpack(CMakePackage, CudaPackage):
"""QMCPACK, is a modern high-performance open-source Quantum Monte
- Carlo (QMC) simulation code."""
+ Carlo (QMC) simulation code."""
# Package information
homepage = "https://www.qmcpack.org/"
- git = "https://github.com/QMCPACK/qmcpack.git"
- maintainers = ['ye-luo']
- tags = ['ecp', 'ecp-apps']
+ git = "https://github.com/QMCPACK/qmcpack.git"
+ maintainers = ["ye-luo"]
+ tags = ["ecp", "ecp-apps"]
# This download method is untrusted, and is not recommended by the
# Spack manual. However, it is easier to maintain because github hashes
# can occasionally change.
# NOTE: 12/19/2017 QMCPACK 3.0.0 does not build properly with Spack.
- version('develop')
- version('3.14.0', tag='v3.14.0')
- version('3.13.0', tag='v3.13.0')
- version('3.12.0', tag='v3.12.0')
- version('3.11.0', tag='v3.11.0')
- version('3.10.0', tag='v3.10.0')
- version('3.9.2', tag='v3.9.2')
- version('3.9.1', tag='v3.9.1')
- version('3.9.0', tag='v3.9.0')
- version('3.8.0', tag='v3.8.0')
- version('3.7.0', tag='v3.7.0')
- version('3.6.0', tag='v3.6.0')
- version('3.5.0', tag='v3.5.0')
- version('3.4.0', tag='v3.4.0')
- version('3.3.0', tag='v3.3.0')
- version('3.2.0', tag='v3.2.0')
- version('3.1.1', tag='v3.1.1')
- version('3.1.0', tag='v3.1.0')
+ version("develop")
+ version("3.14.0", tag="v3.14.0")
+ version("3.13.0", tag="v3.13.0")
+ version("3.12.0", tag="v3.12.0")
+ version("3.11.0", tag="v3.11.0")
+ version("3.10.0", tag="v3.10.0")
+ version("3.9.2", tag="v3.9.2")
+ version("3.9.1", tag="v3.9.1")
+ version("3.9.0", tag="v3.9.0")
+ version("3.8.0", tag="v3.8.0")
+ version("3.7.0", tag="v3.7.0")
+ version("3.6.0", tag="v3.6.0")
+ version("3.5.0", tag="v3.5.0")
+ version("3.4.0", tag="v3.4.0")
+ version("3.3.0", tag="v3.3.0")
+ version("3.2.0", tag="v3.2.0")
+ version("3.1.1", tag="v3.1.1")
+ version("3.1.0", tag="v3.1.0")
# These defaults match those in the QMCPACK manual
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
- variant('mpi', default=True, description='Build with MPI support')
- variant('phdf5', default=False, description='Build with parallel collective I/O')
- variant('complex', default=False,
- description='Build the complex (general twist/k-point) version')
- variant('mixed', default=False,
- description='Build the mixed precision (mixture of single and '
- 'double precision) version')
- variant('soa', default=True,
- description='Build with Structure-of-Array (SoA) instead of '
- 'Array-of-Structure code (AoS). This is a legacy '
- 'option and the AoS code is not available after '
- 'v3.10.0. Only affected performance, not results.')
- variant('timers', default=True,
- description='Build with support for timers')
- variant('da', default=False,
- description='Install with support for basic data analysis tools')
- variant('gui', default=False,
- description='Install with Matplotlib (long installation time)')
- variant('afqmc', default=False,
- description='Install with AFQMC support. NOTE that if used in '
- 'combination with CUDA, only AFQMC will have CUDA.')
- variant('ppconvert', default=False,
- description='Install with pseudopotential converter.')
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("phdf5", default=False, description="Build with parallel collective I/O")
+ variant(
+ "complex", default=False, description="Build the complex (general twist/k-point) version"
+ )
+ variant(
+ "mixed",
+ default=False,
+ description="Build the mixed precision (mixture of single and "
+ "double precision) version",
+ )
+ variant(
+ "soa",
+ default=True,
+ description="Build with Structure-of-Array (SoA) instead of "
+ "Array-of-Structure code (AoS). This is a legacy "
+ "option and the AoS code is not available after "
+ "v3.10.0. Only affected performance, not results.",
+ )
+ variant("timers", default=True, description="Build with support for timers")
+ variant("da", default=False, description="Install with support for basic data analysis tools")
+ variant("gui", default=False, description="Install with Matplotlib (long installation time)")
+ variant(
+ "afqmc",
+ default=False,
+ description="Install with AFQMC support. NOTE that if used in "
+ "combination with CUDA, only AFQMC will have CUDA.",
+ )
+ variant("ppconvert", default=False, description="Install with pseudopotential converter.")
# Notes about CUDA-centric peculiarities:
#
@@ -81,60 +90,58 @@ class Qmcpack(CMakePackage, CudaPackage):
# by the OpenMP 4.5 code.
# high-level variant conflicts
- conflicts(
- '~soa',
- when='@3.10.0:',
- msg='AoS code path is not available after QMCPACK v3.10.0')
+ conflicts("~soa", when="@3.10.0:", msg="AoS code path is not available after QMCPACK v3.10.0")
conflicts(
- '+phdf5',
- when='~mpi',
- msg='Parallel collective I/O requires MPI-enabled QMCPACK. '
- 'Please add "~phdf5" to the Spack install line for serial QMCPACK.')
+ "+phdf5",
+ when="~mpi",
+ msg="Parallel collective I/O requires MPI-enabled QMCPACK. "
+ 'Please add "~phdf5" to the Spack install line for serial QMCPACK.',
+ )
conflicts(
- '+soa',
- when='+cuda@:3.4.0',
- msg='QMCPACK CUDA+SOA variant does not exist prior to v. 3.5.0.')
+ "+soa",
+ when="+cuda@:3.4.0",
+ msg="QMCPACK CUDA+SOA variant does not exist prior to v. 3.5.0.",
+ )
- conflicts('^openblas+ilp64',
- msg='QMCPACK does not support OpenBLAS 64-bit integer variant')
+ conflicts("^openblas+ilp64", msg="QMCPACK does not support OpenBLAS 64-bit integer variant")
- conflicts('^openblas threads=none',
- msg='QMCPACK does not support OpenBLAS without threading')
+ conflicts("^openblas threads=none", msg="QMCPACK does not support OpenBLAS without threading")
- conflicts('^openblas threads=pthreads',
- msg='QMCPACK does not support OpenBLAS with pthreads')
+ conflicts("^openblas threads=pthreads", msg="QMCPACK does not support OpenBLAS with pthreads")
- conflicts('cuda_arch=none',
- when='+cuda',
- msg='A value for cuda_arch must be specified. Add cuda_arch=XX')
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg="A value for cuda_arch must be specified. Add cuda_arch=XX",
+ )
# Omitted for now due to concretizer bug
# conflicts('^intel-mkl+ilp64',
# msg='QMCPACK does not support MKL 64-bit integer variant')
# QMCPACK 3.10.0 increased the minimum requirements for compiler versions
- newer_compiler_warning = 'QMCPACK v3.10.0 or later requires a newer ' \
- 'version of this compiler'
- conflicts('%gcc@:6', when='@3.10.0:', msg=newer_compiler_warning)
- conflicts('%intel@:18', when='@3.10.0:', msg=newer_compiler_warning)
- conflicts('%clang@:6', when='@3.10.0:', msg=newer_compiler_warning)
+ newer_compiler_warning = (
+ "QMCPACK v3.10.0 or later requires a newer " "version of this compiler"
+ )
+ conflicts("%gcc@:6", when="@3.10.0:", msg=newer_compiler_warning)
+ conflicts("%intel@:18", when="@3.10.0:", msg=newer_compiler_warning)
+ conflicts("%clang@:6", when="@3.10.0:", msg=newer_compiler_warning)
# QMCPACK 3.6.0 or later requires support for C++14
- cpp14_warning = 'QMCPACK v3.6.0 or later requires a ' \
- 'compiler with support for C++14'
- conflicts('%gcc@:4', when='@3.6.0:', msg=cpp14_warning)
- conflicts('%intel@:17', when='@3.6.0:', msg=cpp14_warning)
- conflicts('%pgi@:17', when='@3.6.0:', msg=cpp14_warning)
- conflicts('%clang@:3.4', when='@3.6.0:', msg=cpp14_warning)
-
- conflicts('+afqmc', when='@:3.6.0', msg='AFQMC not recommended before v3.7')
- conflicts('+afqmc', when='~mpi', msg='AFQMC requires building with +mpi')
- conflicts('+afqmc', when='%gcc@:6.0', msg='AFQMC code requires gcc@6.1 or greater')
- conflicts('+afqmc', when='%apple-clang@:9.2', msg='AFQMC code requires clang 4.1 or greater')
- conflicts('+afqmc', when='%clang@:4.0', msg='AFQMC code requires clang 4.1 or greater')
- conflicts('+afqmc', when='%intel@:18', msg='AFQMC code requires intel19 or greater')
+ cpp14_warning = "QMCPACK v3.6.0 or later requires a " "compiler with support for C++14"
+ conflicts("%gcc@:4", when="@3.6.0:", msg=cpp14_warning)
+ conflicts("%intel@:17", when="@3.6.0:", msg=cpp14_warning)
+ conflicts("%pgi@:17", when="@3.6.0:", msg=cpp14_warning)
+ conflicts("%clang@:3.4", when="@3.6.0:", msg=cpp14_warning)
+
+ conflicts("+afqmc", when="@:3.6.0", msg="AFQMC not recommended before v3.7")
+ conflicts("+afqmc", when="~mpi", msg="AFQMC requires building with +mpi")
+ conflicts("+afqmc", when="%gcc@:6.0", msg="AFQMC code requires gcc@6.1 or greater")
+ conflicts("+afqmc", when="%apple-clang@:9.2", msg="AFQMC code requires clang 4.1 or greater")
+ conflicts("+afqmc", when="%clang@:4.0", msg="AFQMC code requires clang 4.1 or greater")
+ conflicts("+afqmc", when="%intel@:18", msg="AFQMC code requires intel19 or greater")
# Prior to QMCPACK 3.5.0 Intel MKL was not properly detected with
# non-Intel compilers without a Spack-based hack. This hack
@@ -143,88 +150,92 @@ class Qmcpack(CMakePackage, CudaPackage):
# long term. Note that this has not been an issue since QMCPACK 3.5.0.
# For older versions of QMCPACK, we issue a conflict below if you
# try to use Intel MKL with a non-Intel compiler.
- mkl_warning = 'QMCPACK releases prior to 3.5.0 require the ' \
- 'Intel compiler when linking against Intel MKL'
- conflicts('%gcc', when='@:3.4.0 ^intel-mkl', msg=mkl_warning)
- conflicts('%pgi', when='@:3.4.0 ^intel-mkl', msg=mkl_warning)
- conflicts('%llvm', when='@:3.4.0 ^intel-mkl', msg=mkl_warning)
+ mkl_warning = (
+ "QMCPACK releases prior to 3.5.0 require the "
+ "Intel compiler when linking against Intel MKL"
+ )
+ conflicts("%gcc", when="@:3.4.0 ^intel-mkl", msg=mkl_warning)
+ conflicts("%pgi", when="@:3.4.0 ^intel-mkl", msg=mkl_warning)
+ conflicts("%llvm", when="@:3.4.0 ^intel-mkl", msg=mkl_warning)
# Dependencies match those in the QMCPACK manual.
# FIXME: once concretizer can unite unconditional and conditional
# dependencies, some of the '~mpi' variants below will not be necessary.
# Essential libraries
- depends_on('cmake@3.4.3:', when='@:3.5.0', type='build')
- depends_on('cmake@3.6.0:', when='@3.6.0:', type='build')
- depends_on('cmake@3.14.0:', when='@3.10.0:', type='build')
- depends_on('boost+exception+serialization+random', type='build')
- depends_on('boost@1.61.0:+exception+serialization+random', when='@3.6.0:', type='build')
- depends_on('libxml2')
- depends_on('mpi', when='+mpi')
- depends_on('python@3:', when='@3.9:')
+ depends_on("cmake@3.4.3:", when="@:3.5.0", type="build")
+ depends_on("cmake@3.6.0:", when="@3.6.0:", type="build")
+ depends_on("cmake@3.14.0:", when="@3.10.0:", type="build")
+ depends_on("boost+exception+serialization+random", type="build")
+ depends_on("boost@1.61.0:+exception+serialization+random", when="@3.6.0:", type="build")
+ depends_on("libxml2")
+ depends_on("mpi", when="+mpi")
+ depends_on("python@3:", when="@3.9:")
# HDF5
- depends_on('hdf5~mpi', when='~phdf5')
- depends_on('hdf5+mpi', when='+phdf5')
+ depends_on("hdf5~mpi", when="~phdf5")
+ depends_on("hdf5+mpi", when="+phdf5")
# Math libraries
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw-api@3')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw-api@3")
# qmcpack data analysis tools
# basic command line tool based on Python and NumPy
# It may be necesseary to disable the blas and lapack
# when building the 'py-numpy' package, but it should not be a hard
# dependency on the 'py-numpy~blas~lapack' variant
- depends_on('py-numpy', when='+da', type='run')
+ depends_on("py-numpy", when="+da", type="run")
# GUI is optional for data anlysis
# py-matplotlib leads to a long complex DAG for dependencies
- depends_on('py-matplotlib', when='+gui', type='run')
+ depends_on("py-matplotlib", when="+gui", type="run")
# Backport several patches from recent versions of QMCPACK
# The test_numerics unit test is broken prior to QMCPACK 3.3.0
- patch_url = 'https://github.com/QMCPACK/qmcpack/pull/621.patch?full_index=1'
- patch_checksum = '54484b722df264dae3fd0c1094883b17431617e278eeba2cffbd720b36c9e21a'
- patch(patch_url, sha256=patch_checksum, when='@3.1.0:3.3.0')
+ patch_url = "https://github.com/QMCPACK/qmcpack/pull/621.patch?full_index=1"
+ patch_checksum = "54484b722df264dae3fd0c1094883b17431617e278eeba2cffbd720b36c9e21a"
+ patch(patch_url, sha256=patch_checksum, when="@3.1.0:3.3.0")
# FindMKL.cmake has an issues prior to QMCPACK 3.3.0
- patch_url = 'https://github.com/QMCPACK/qmcpack/pull/623.patch?full_index=1'
- patch_checksum = '9e444d627ab22ad5f31797aec0c0d662463055955eff1c84fbde274e0259db6b'
- patch(patch_url, sha256=patch_checksum, when='@3.1.0:3.3.0')
+ patch_url = "https://github.com/QMCPACK/qmcpack/pull/623.patch?full_index=1"
+ patch_checksum = "9e444d627ab22ad5f31797aec0c0d662463055955eff1c84fbde274e0259db6b"
+ patch(patch_url, sha256=patch_checksum, when="@3.1.0:3.3.0")
# git-rev files for not git builds issues prior to QMCPACK 3.3.0
- patch_url = 'https://github.com/QMCPACK/qmcpack/pull/643.patch?full_index=1'
- patch_checksum = 'd6410e7843f6c062bf9aa8ecf107e573b35c32022927d63f8cf5ad36ccf873c3'
- patch(patch_url, sha256=patch_checksum, when='@3.1.0:3.3.0')
+ patch_url = "https://github.com/QMCPACK/qmcpack/pull/643.patch?full_index=1"
+ patch_checksum = "d6410e7843f6c062bf9aa8ecf107e573b35c32022927d63f8cf5ad36ccf873c3"
+ patch(patch_url, sha256=patch_checksum, when="@3.1.0:3.3.0")
# the default flag_handler for Spack causes problems for QMCPACK
# https://spack.readthedocs.io/en/latest/packaging_guide.html#the-build-environment:
flag_handler = CMakePackage.build_system_flags
- @when('@:3.7.0')
+ @when("@:3.7.0")
def patch(self):
# FindLibxml2QMC.cmake doesn't check the environment by default
# for libxml2, so we fix that.
- filter_file(r'$ENV{LIBXML2_HOME}/lib',
- '${LIBXML2_HOME}/lib $ENV{LIBXML2_HOME}/lib',
- 'CMake/FindLibxml2QMC.cmake')
+ filter_file(
+ r"$ENV{LIBXML2_HOME}/lib",
+ "${LIBXML2_HOME}/lib $ENV{LIBXML2_HOME}/lib",
+ "CMake/FindLibxml2QMC.cmake",
+ )
@property
def build_targets(self):
spec = self.spec
- targets = ['all']
- if '+ppconvert' in spec:
- targets.append('ppconvert')
+ targets = ["all"]
+ if "+ppconvert" in spec:
+ targets.append("ppconvert")
return targets
# QMCPACK prefers taking MPI compiler wrappers as CMake compilers.
def setup_build_environment(self, env):
spec = self.spec
- if '+mpi' in spec:
- env.set('CC', spec['mpi'].mpicc)
- env.set('CXX', spec['mpi'].mpicxx)
+ if "+mpi" in spec:
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("CXX", spec["mpi"].mpicxx)
def cmake_args(self):
spec = self.spec
@@ -237,51 +248,50 @@ class Qmcpack(CMakePackage, CudaPackage):
# Fortran libraries such as NETLIB-LAPACK and OpenBLAS on the link
# line. For the case of the Intel C++ compiler, we need to manually
# add a libray from the Intel Fortran compiler.
- if '%intel' in spec:
- args.append('-DQMC_EXTRA_LIBS=-lifcore')
+ if "%intel" in spec:
+ args.append("-DQMC_EXTRA_LIBS=-lifcore")
# Currently FFTW_HOME and LIBXML2_HOME are used by CMake.
# Any CMake warnings about other variables are benign.
# Starting with QMCPACK 3.8.0, CMake uses the builtin find(libxml2)
# function
- if spec.satisfies('@:3.7.0'):
- xml2_prefix = spec['libxml2'].prefix
- args.append('-DLIBXML2_HOME={0}'.format(xml2_prefix))
- args.append(
- '-DLibxml2_INCLUDE_DIRS={0}'.format(xml2_prefix.include))
- args.append('-DLibxml2_LIBRARY_DIRS={0}'.format(xml2_prefix.lib))
-
- if '^fftw@3:' in spec:
- fftw_prefix = spec['fftw'].prefix
- args.append('-DFFTW_HOME={0}'.format(fftw_prefix))
- args.append('-DFFTW_INCLUDE_DIRS={0}'.format(fftw_prefix.include))
- args.append('-DFFTW_LIBRARY_DIRS={0}'.format(fftw_prefix.lib))
-
- args.append('-DBOOST_ROOT={0}'.format(self.spec['boost'].prefix))
- args.append('-DHDF5_ROOT={0}'.format(self.spec['hdf5'].prefix))
+ if spec.satisfies("@:3.7.0"):
+ xml2_prefix = spec["libxml2"].prefix
+ args.append("-DLIBXML2_HOME={0}".format(xml2_prefix))
+ args.append("-DLibxml2_INCLUDE_DIRS={0}".format(xml2_prefix.include))
+ args.append("-DLibxml2_LIBRARY_DIRS={0}".format(xml2_prefix.lib))
+
+ if "^fftw@3:" in spec:
+ fftw_prefix = spec["fftw"].prefix
+ args.append("-DFFTW_HOME={0}".format(fftw_prefix))
+ args.append("-DFFTW_INCLUDE_DIRS={0}".format(fftw_prefix.include))
+ args.append("-DFFTW_LIBRARY_DIRS={0}".format(fftw_prefix.lib))
+
+ args.append("-DBOOST_ROOT={0}".format(self.spec["boost"].prefix))
+ args.append("-DHDF5_ROOT={0}".format(self.spec["hdf5"].prefix))
# Default is MPI, serial version is convenient for cases, e.g. laptops
- if '+mpi' in spec:
- args.append('-DQMC_MPI=1')
+ if "+mpi" in spec:
+ args.append("-DQMC_MPI=1")
else:
- args.append('-DQMC_MPI=0')
+ args.append("-DQMC_MPI=0")
# Default is parallel collective I/O enabled
- if '+phdf5' in spec:
- args.append('-DENABLE_PHDF5=1')
+ if "+phdf5" in spec:
+ args.append("-DENABLE_PHDF5=1")
else:
- args.append('-DENABLE_PHDF5=0')
+ args.append("-DENABLE_PHDF5=0")
# Default is real-valued single particle orbitals
- if '+complex' in spec:
- args.append('-DQMC_COMPLEX=1')
+ if "+complex" in spec:
+ args.append("-DQMC_COMPLEX=1")
else:
- args.append('-DQMC_COMPLEX=0')
+ args.append("-DQMC_COMPLEX=0")
- if '+afqmc' in spec:
- args.append('-DBUILD_AFQMC=1')
+ if "+afqmc" in spec:
+ args.append("-DBUILD_AFQMC=1")
else:
- args.append('-DBUILD_AFQMC=0')
+ args.append("-DBUILD_AFQMC=0")
# When '-DQMC_CUDA=1', CMake automatically sets:
# '-DQMC_MIXED_PRECISION=1'
@@ -289,46 +299,45 @@ class Qmcpack(CMakePackage, CudaPackage):
# There is a double-precision CUDA path, but it is not as well
# tested.
- if '+cuda' in spec:
+ if "+cuda" in spec:
# Cannot support both CUDA builds at the same time, see
# earlier notes in this package.
- if '+afqmc' in spec:
- args.append('-DENABLE_CUDA=1')
+ if "+afqmc" in spec:
+ args.append("-DENABLE_CUDA=1")
else:
- args.append('-DQMC_CUDA=1')
- cuda_arch_list = spec.variants['cuda_arch'].value
+ args.append("-DQMC_CUDA=1")
+ cuda_arch_list = spec.variants["cuda_arch"].value
cuda_arch = cuda_arch_list[0]
if len(cuda_arch_list) > 1:
raise InstallError(
- 'QMCPACK only supports compilation for a single '
- 'GPU architecture at a time'
+ "QMCPACK only supports compilation for a single " "GPU architecture at a time"
)
- if '@3.14.0:' in self.spec:
- args.append('-DCMAKE_CUDA_ARCHITECTURES={0}'.format(cuda_arch))
+ if "@3.14.0:" in self.spec:
+ args.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch))
else:
- args.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch))
+ args.append("-DCUDA_ARCH=sm_{0}".format(cuda_arch))
else:
- args.append('-DQMC_CUDA=0')
+ args.append("-DQMC_CUDA=0")
# Mixed-precision versues double-precision CPU and GPU code
- if '+mixed' in spec:
- args.append('-DQMC_MIXED_PRECISION=1')
+ if "+mixed" in spec:
+ args.append("-DQMC_MIXED_PRECISION=1")
else:
- args.append('-DQMC_MIXED_PRECISION=0')
+ args.append("-DQMC_MIXED_PRECISION=0")
# New Structure-of-Array (SOA) code, much faster than default
# Array-of-Structure (AOS) code.
# No support for local atomic orbital basis.
- if '+soa' in spec:
- args.append('-DENABLE_SOA=1')
+ if "+soa" in spec:
+ args.append("-DENABLE_SOA=1")
else:
- args.append('-DENABLE_SOA=0')
+ args.append("-DENABLE_SOA=0")
# Manual Timers
- if '+timers' in spec:
- args.append('-DENABLE_TIMERS=1')
+ if "+timers" in spec:
+ args.append("-DENABLE_TIMERS=1")
else:
- args.append('-DENABLE_TIMERS=0')
+ args.append("-DENABLE_TIMERS=0")
# Proper detection of optimized BLAS and LAPACK.
# Based on the code from the deal II Spack package:
@@ -342,27 +351,24 @@ class Qmcpack(CMakePackage, CudaPackage):
# For QMCPACK 3.5.0 and later, the lines below are only
# needed when MKL is *not* used. Thus, it is redundant
# but there are no negative side effects.
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- args.extend([
- '-DLAPACK_FOUND=true',
- '-DLAPACK_LIBRARIES=%s' % lapack_blas.joined(';')
- ])
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ args.extend(["-DLAPACK_FOUND=true", "-DLAPACK_LIBRARIES=%s" % lapack_blas.joined(";")])
# Next two environment variables were introduced in QMCPACK 3.5.0
# Prior to v3.5.0, these lines should be benign but CMake
# may issue a warning.
- if '^mkl' in spec:
- args.append('-DENABLE_MKL=1')
- args.append('-DMKL_ROOT=%s' % env['MKLROOT'])
+ if "^mkl" in spec:
+ args.append("-DENABLE_MKL=1")
+ args.append("-DMKL_ROOT=%s" % env["MKLROOT"])
else:
- args.append('-DENABLE_MKL=0')
+ args.append("-DENABLE_MKL=0")
# ppconvert is not build by default because it may exhibit numerical
# issues on some systems
- if '+ppconvert' in spec:
- args.append('-DBUILD_PPCONVERT=1')
+ if "+ppconvert" in spec:
+ args.append("-DBUILD_PPCONVERT=1")
else:
- args.append('-DBUILD_PPCONVERT=0')
+ args.append("-DBUILD_PPCONVERT=0")
return args
@@ -377,21 +383,21 @@ class Qmcpack(CMakePackage, CudaPackage):
# We assume cwd is self.stage.source_path, then
# install manual, labs, and nexus
- install_tree('labs', prefix.labs)
- install_tree('nexus', prefix.nexus)
+ install_tree("labs", prefix.labs)
+ install_tree("nexus", prefix.nexus)
# install binaries
with working_dir(self.build_directory):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
def setup_run_environment(self, env):
"""Set-up runtime environment for QMCPACK.
Set PATH and PYTHONPATH for basic analysis scripts for Nexus."""
- env.prepend_path('PATH', self.prefix.nexus.bin)
- env.prepend_path('PYTHONPATH', self.prefix.nexus.lib)
+ env.prepend_path("PATH", self.prefix.nexus.bin)
+ env.prepend_path("PYTHONPATH", self.prefix.nexus.lib)
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check_install(self):
"""Run ctest after building binary.
@@ -401,11 +407,11 @@ class Qmcpack(CMakePackage, CudaPackage):
fails, QMCPACK will still install and emit a warning message."""
with working_dir(self.build_directory):
- ctest('-R', 'unit')
+ ctest("-R", "unit")
try:
- ctest('-R', 'deterministic', '-LE', 'unstable')
+ ctest("-R", "deterministic", "-LE", "unstable")
except ProcessError:
- warn = 'Unit tests passed, but deterministic tests failed.\n'
- warn += 'Please report this failure to:\n'
- warn += 'https://github.com/QMCPACK/qmcpack/issues'
+ warn = "Unit tests passed, but deterministic tests failed.\n"
+ warn += "Please report this failure to:\n"
+ warn += "https://github.com/QMCPACK/qmcpack/issues"
tty.msg(warn)
diff --git a/var/spack/repos/builtin/packages/qmd-progress/package.py b/var/spack/repos/builtin/packages/qmd-progress/package.py
index 3faafe6c98..cd7f6208d2 100644
--- a/var/spack/repos/builtin/packages/qmd-progress/package.py
+++ b/var/spack/repos/builtin/packages/qmd-progress/package.py
@@ -13,38 +13,38 @@ class QmdProgress(CMakePackage):
commonly used in quantum chemistry packages."""
homepage = "https://github.com/lanl/qmd-progress"
- url = "https://github.com/lanl/qmd-progress/tarball/v1.1.0"
- git = "https://github.com/lanl/qmd-progress.git"
+ url = "https://github.com/lanl/qmd-progress/tarball/v1.1.0"
+ git = "https://github.com/lanl/qmd-progress.git"
- version('develop', branch='master')
- version('1.1.0', sha256='2c5eac252067bfb55d715c9ce5de2e4306b20b4273979dda15b4a2f71f69bb0b')
- version('1.0.0', sha256='28c99eb80d9a6b09e1d01d61538b3b924850d89c6a8bfb5d3e8b6490be822296')
+ version("develop", branch="master")
+ version("1.1.0", sha256="2c5eac252067bfb55d715c9ce5de2e4306b20b4273979dda15b4a2f71f69bb0b")
+ version("1.0.0", sha256="28c99eb80d9a6b09e1d01d61538b3b924850d89c6a8bfb5d3e8b6490be822296")
- variant('graphlib', default=False, description='Build with Metis Suppport')
- variant('mpi', default=True, description='Build with MPI Support')
- variant('shared', default=True, description='Build shared libs')
+ variant("graphlib", default=False, description="Build with Metis Suppport")
+ variant("mpi", default=True, description="Build with MPI Support")
+ variant("shared", default=True, description="Build shared libs")
- depends_on('bml')
- depends_on('mpi', when='+mpi')
- depends_on('metis', when='+graphlib')
+ depends_on("bml")
+ depends_on("mpi", when="+mpi")
+ depends_on("metis", when="+graphlib")
def cmake_args(self):
spec = self.spec
- args = ['-DCMAKE_Fortran_FLAGS=-ffree-line-length-none']
- if '+shared' in spec:
- args.append('-DBUILD_SHARED_LIBS=ON')
+ args = ["-DCMAKE_Fortran_FLAGS=-ffree-line-length-none"]
+ if "+shared" in spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
else:
- args.append('-DBUILD_SHARED_LIBS=OFF')
- if '+mpi' in spec:
- args.append('-DPROGRESS_MPI=yes')
- args.append('-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc)
- args.append('-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx)
- args.append('-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc)
+ args.append("-DBUILD_SHARED_LIBS=OFF")
+ if "+mpi" in spec:
+ args.append("-DPROGRESS_MPI=yes")
+ args.append("-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc)
+ args.append("-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx)
+ args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc)
else:
- args.append('-DPROGRESS_MPI=no')
- if '+graphlib' in spec:
- args.append('-DPROGRESS_GRAPHLIB=yes')
+ args.append("-DPROGRESS_MPI=no")
+ if "+graphlib" in spec:
+ args.append("-DPROGRESS_GRAPHLIB=yes")
else:
- args.append('-DPROGRESS_GRAPHLIB=no')
+ args.append("-DPROGRESS_GRAPHLIB=no")
return args
diff --git a/var/spack/repos/builtin/packages/qnnpack/package.py b/var/spack/repos/builtin/packages/qnnpack/package.py
index 158018f6a7..25a93e2ec5 100644
--- a/var/spack/repos/builtin/packages/qnnpack/package.py
+++ b/var/spack/repos/builtin/packages/qnnpack/package.py
@@ -13,80 +13,82 @@ class Qnnpack(CMakePackage):
quantized 8-bit tensors."""
homepage = "https://github.com/pytorch/QNNPACK"
- git = "https://github.com/pytorch/QNNPACK.git"
+ git = "https://github.com/pytorch/QNNPACK.git"
- version('master', branch='master')
- version('2019-08-28', commit='7d2a4e9931a82adc3814275b6219a03e24e36b4c') # py-torch@1.3:1.9
- version('2018-12-27', commit='6c62fddc6d15602be27e9e4cbb9e985151d2fa82') # py-torch@1.2
- version('2018-12-04', commit='ef05e87cef6b8e719989ce875b5e1c9fdb304c05') # py-torch@1.0:1.1
+ version("master", branch="master")
+ version("2019-08-28", commit="7d2a4e9931a82adc3814275b6219a03e24e36b4c") # py-torch@1.3:1.9
+ version("2018-12-27", commit="6c62fddc6d15602be27e9e4cbb9e985151d2fa82") # py-torch@1.2
+ version("2018-12-04", commit="ef05e87cef6b8e719989ce875b5e1c9fdb304c05") # py-torch@1.0:1.1
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
resource(
- name='cpuinfo',
- git='https://github.com/Maratyszcza/cpuinfo.git',
- destination='deps',
- placement='cpuinfo'
+ name="cpuinfo",
+ git="https://github.com/Maratyszcza/cpuinfo.git",
+ destination="deps",
+ placement="cpuinfo",
)
resource(
- name='fp16',
- git='https://github.com/Maratyszcza/FP16.git',
- destination='deps',
- placement='fp16'
+ name="fp16",
+ git="https://github.com/Maratyszcza/FP16.git",
+ destination="deps",
+ placement="fp16",
)
resource(
- name='fxdiv',
- git='https://github.com/Maratyszcza/FXdiv.git',
- destination='deps',
- placement='fxdiv'
+ name="fxdiv",
+ git="https://github.com/Maratyszcza/FXdiv.git",
+ destination="deps",
+ placement="fxdiv",
)
resource(
- name='googlebenchmark',
- url='https://github.com/google/benchmark/archive/v1.4.1.zip',
- sha256='61ae07eb5d4a0b02753419eb17a82b7d322786bb36ab62bd3df331a4d47c00a7',
- destination='deps',
- placement='googlebenchmark',
+ name="googlebenchmark",
+ url="https://github.com/google/benchmark/archive/v1.4.1.zip",
+ sha256="61ae07eb5d4a0b02753419eb17a82b7d322786bb36ab62bd3df331a4d47c00a7",
+ destination="deps",
+ placement="googlebenchmark",
)
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.8.0.zip',
- sha256='f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/release-1.8.0.zip",
+ sha256="f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf",
+ destination="deps",
+ placement="googletest",
)
resource(
- name='psimd',
- git='https://github.com/Maratyszcza/psimd.git',
- destination='deps',
- placement='psimd'
+ name="psimd",
+ git="https://github.com/Maratyszcza/psimd.git",
+ destination="deps",
+ placement="psimd",
)
resource(
- name='pthreadpool',
- git='https://github.com/Maratyszcza/pthreadpool.git',
- destination='deps',
- placement='pthreadpool'
+ name="pthreadpool",
+ git="https://github.com/Maratyszcza/pthreadpool.git",
+ destination="deps",
+ placement="pthreadpool",
)
- generator = 'Ninja'
+ generator = "Ninja"
def cmake_args(self):
return [
- self.define('CPUINFO_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'cpuinfo')),
- self.define('FP16_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fp16')),
- self.define('FXDIV_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fxdiv')),
- self.define('PSIMD_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'psimd')),
- self.define('PTHREADPOOL_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'pthreadpool')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('QNNPACK_BUILD_TESTS', self.run_tests),
- self.define('QNNPACK_BUILD_BENCHMARKS', self.run_tests),
+ self.define(
+ "CPUINFO_SOURCE_DIR", join_path(self.stage.source_path, "deps", "cpuinfo")
+ ),
+ self.define("FP16_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fp16")),
+ self.define("FXDIV_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fxdiv")),
+ self.define("PSIMD_SOURCE_DIR", join_path(self.stage.source_path, "deps", "psimd")),
+ self.define(
+ "PTHREADPOOL_SOURCE_DIR", join_path(self.stage.source_path, "deps", "pthreadpool")
+ ),
+ self.define(
+ "GOOGLEBENCHMARK_SOURCE_DIR",
+ join_path(self.stage.source_path, "deps", "googlebenchmark"),
+ ),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define("QNNPACK_BUILD_TESTS", self.run_tests),
+ self.define("QNNPACK_BUILD_BENCHMARKS", self.run_tests),
]
diff --git a/var/spack/repos/builtin/packages/qorts/package.py b/var/spack/repos/builtin/packages/qorts/package.py
index f860bce320..0172d47567 100644
--- a/var/spack/repos/builtin/packages/qorts/package.py
+++ b/var/spack/repos/builtin/packages/qorts/package.py
@@ -17,24 +17,23 @@ class Qorts(RPackage):
technology."""
homepage = "https://github.com/hartleys/QoRTs"
- url = "https://github.com/hartleys/QoRTs/releases/download/v1.2.42/QoRTs_1.2.42.tar.gz"
+ url = "https://github.com/hartleys/QoRTs/releases/download/v1.2.42/QoRTs_1.2.42.tar.gz"
- version('1.2.42', sha256='c9f73ce8d5aac1036d13c50475458a61a24cbe5c0baf7ac65b87a7118c51ec08')
+ version("1.2.42", sha256="c9f73ce8d5aac1036d13c50475458a61a24cbe5c0baf7ac65b87a7118c51ec08")
- depends_on('java', type='run')
+ depends_on("java", type="run")
resource(
- name='QoRTs.jar',
- url='https://github.com/hartleys/QoRTs/releases/download/v1.2.42/QoRTs.jar',
- sha256='e808d2e05c67ee41eee605b7821aafa7ae894288ebb01d8b1bfb136970c801ce',
- placement='jarfile',
- expand=False
+ name="QoRTs.jar",
+ url="https://github.com/hartleys/QoRTs/releases/download/v1.2.42/QoRTs.jar",
+ sha256="e808d2e05c67ee41eee605b7821aafa7ae894288ebb01d8b1bfb136970c801ce",
+ placement="jarfile",
+ expand=False,
)
- @run_after('install')
+ @run_after("install")
def install_jar(self):
- install_tree(join_path(self.stage.source_path, 'jarfile'),
- self.prefix.bin)
+ install_tree(join_path(self.stage.source_path, "jarfile"), self.prefix.bin)
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
@@ -45,8 +44,7 @@ class Qorts(RPackage):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'backup': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('QoRTs.jar', join_path(self.prefix.bin, 'QoRTs.jar'),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"backup": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("QoRTs.jar", join_path(self.prefix.bin, "QoRTs.jar"), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/qperf/package.py b/var/spack/repos/builtin/packages/qperf/package.py
index 08b3a82073..88b08645d4 100644
--- a/var/spack/repos/builtin/packages/qperf/package.py
+++ b/var/spack/repos/builtin/packages/qperf/package.py
@@ -13,16 +13,16 @@ class Qperf(AutotoolsPackage):
"""
homepage = "https://github.com/linux-rdma/qperf"
- url = "https://github.com/linux-rdma/qperf/archive/v0.4.10.tar.gz"
+ url = "https://github.com/linux-rdma/qperf/archive/v0.4.10.tar.gz"
- version('0.4.11', sha256='b0ef2ffe050607566d06102b4ef6268aad08fdc52898620d429096e7b0767e75')
- version('0.4.10', sha256='94e26725b4f962eacca36d8ef48cd1fb5043721ac82c3f44018319e47a96cf6b')
+ version("0.4.11", sha256="b0ef2ffe050607566d06102b4ef6268aad08fdc52898620d429096e7b0767e75")
+ version("0.4.10", sha256="94e26725b4f962eacca36d8ef48cd1fb5043721ac82c3f44018319e47a96cf6b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
diff --git a/var/spack/repos/builtin/packages/qrupdate/package.py b/var/spack/repos/builtin/packages/qrupdate/package.py
index 603769ba3e..ad8714d428 100644
--- a/var/spack/repos/builtin/packages/qrupdate/package.py
+++ b/var/spack/repos/builtin/packages/qrupdate/package.py
@@ -16,7 +16,7 @@ class Qrupdate(MakefilePackage, SourceforgePackage):
homepage = "https://sourceforge.net/projects/qrupdate/"
sourceforge_mirror_path = "qrupdate/qrupdate-1.1.2.tar.gz"
- version('1.1.2', sha256='e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08')
+ version("1.1.2", sha256="e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08")
depends_on("blas")
depends_on("lapack")
@@ -24,43 +24,44 @@ class Qrupdate(MakefilePackage, SourceforgePackage):
def edit(self, spec, prefix):
# BSD "install" does not understand GNU -D flag.
# We will create the parent directory ourselves.
- if (sys.platform == 'darwin'):
- makefile = FileFilter('src/Makefile')
- makefile.filter('-D', '')
+ if sys.platform == "darwin":
+ makefile = FileFilter("src/Makefile")
+ makefile.filter("-D", "")
# Concurrent (parallel) Compilation requires calling $(MAKE) not make
- makefile = FileFilter('Makefile')
- makefile.filter('make', '$(MAKE)')
+ makefile = FileFilter("Makefile")
+ makefile.filter("make", "$(MAKE)")
# We may like to compile with any Forran compiler, not always gfortran
- makefile = FileFilter('Makeconf')
- makefile.filter('FC=gfortran', 'FC ?= gfortran')
+ makefile = FileFilter("Makeconf")
+ makefile.filter("FC=gfortran", "FC ?= gfortran")
return
# The Makefile does not take the simple "make" rule
def build(self, spec, prefix):
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
make_args = [
- 'BLAS={0}'.format(lapack_blas.ld_flags),
- 'LAPACK={0}'.format(lapack_blas.ld_flags)
+ "BLAS={0}".format(lapack_blas.ld_flags),
+ "LAPACK={0}".format(lapack_blas.ld_flags),
]
# If 64-bit BLAS is used:
- if (spec.satisfies('^openblas+ilp64') or
- spec.satisfies('^intel-mkl+ilp64') or
- spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
- if (spec.satisfies('%intel') or spec.satisfies('%oneapi')
- or spec.satisfies('%nvhpc')):
+ if (
+ spec.satisfies("^openblas+ilp64")
+ or spec.satisfies("^intel-mkl+ilp64")
+ or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
+ ):
+ if spec.satisfies("%intel") or spec.satisfies("%oneapi") or spec.satisfies("%nvhpc"):
# 64bits integer for ifort and nvfortran are promoted by:
- make_args.append('FFLAGS=-i8')
+ make_args.append("FFLAGS=-i8")
else:
- make_args.append('FFLAGS=-fdefault-integer-8')
+ make_args.append("FFLAGS=-fdefault-integer-8")
# Build static and dynamic libraries:
- make('lib', 'solib', *make_args)
+ make("lib", "solib", *make_args)
def install(self, spec, prefix):
# "INSTALL" confuses "make install" on case-insensitive filesystems:
@@ -68,13 +69,13 @@ class Qrupdate(MakefilePackage, SourceforgePackage):
os.remove("INSTALL")
# Create lib folder:
- if (sys.platform == 'darwin'):
+ if sys.platform == "darwin":
mkdirp(prefix.lib)
make("install", "PREFIX=%s" % prefix)
- @run_after('install')
+ @run_after("install")
def fix_darwin_install(self):
# The shared libraries are not installed correctly on Darwin:
- if (sys.platform == 'darwin'):
+ if sys.platform == "darwin":
fix_darwin_install_name(self.spec.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/qscintilla/package.py b/var/spack/repos/builtin/packages/qscintilla/package.py
index f20cdaeeee..f03884d1ac 100644
--- a/var/spack/repos/builtin/packages/qscintilla/package.py
+++ b/var/spack/repos/builtin/packages/qscintilla/package.py
@@ -14,134 +14,149 @@ class Qscintilla(QMakePackage):
"""
homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro"
- url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz"
+ url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz"
# Directory structure is changed in latest release, logic is lost
- version('2.12.0', sha256='a4cc9e7d2130ecfcdb18afb43b813ef122473f6f35deff747415fbc2fe0c60ed', url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz')
+ version(
+ "2.12.0",
+ sha256="a4cc9e7d2130ecfcdb18afb43b813ef122473f6f35deff747415fbc2fe0c60ed",
+ url="https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz",
+ )
# Last standard release dates back to 2021/11/23
- version('2.11.6', sha256='e7346057db47d2fb384467fafccfcb13aa0741373c5d593bc72b55b2f0dd20a7', preferred=True, url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.6/QScintilla-2.11.6.tar.gz')
- version('2.11.2', sha256='029bdc476a069fda2cea3cd937ba19cc7fa614fb90578caef98ed703b658f4a1', url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.2/QScintilla_gpl-2.11.2.tar.gz')
- version('2.10.2', sha256='14b31d20717eed95ea9bea4cd16e5e1b72cee7ebac647cba878e0f6db6a65ed0', url='https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.10.2/QScintilla-2.10.2.tar.gz')
-
- variant('designer', default=False, description="Enable pluging for Qt-Designer")
- variant('python', default=False, description="Build python bindings")
-
- depends_on('qt+opengl', when='+python')
- depends_on('qt')
- depends_on('py-pyqt5 +qsci_api', type=('build', 'run'), when='+python ^qt@5')
- depends_on('py-pyqt4 +qsci_api', type=('build', 'run'), when='+python ^qt@4')
- depends_on('python', type=('build', 'run'), when='+python')
+ version(
+ "2.11.6",
+ sha256="e7346057db47d2fb384467fafccfcb13aa0741373c5d593bc72b55b2f0dd20a7",
+ preferred=True,
+ url="https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.6/QScintilla-2.11.6.tar.gz",
+ )
+ version(
+ "2.11.2",
+ sha256="029bdc476a069fda2cea3cd937ba19cc7fa614fb90578caef98ed703b658f4a1",
+ url="https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.11.2/QScintilla_gpl-2.11.2.tar.gz",
+ )
+ version(
+ "2.10.2",
+ sha256="14b31d20717eed95ea9bea4cd16e5e1b72cee7ebac647cba878e0f6db6a65ed0",
+ url="https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.10.2/QScintilla-2.10.2.tar.gz",
+ )
+
+ variant("designer", default=False, description="Enable pluging for Qt-Designer")
+ variant("python", default=False, description="Build python bindings")
+
+ depends_on("qt+opengl", when="+python")
+ depends_on("qt")
+ depends_on("py-pyqt5 +qsci_api", type=("build", "run"), when="+python ^qt@5")
+ depends_on("py-pyqt4 +qsci_api", type=("build", "run"), when="+python ^qt@4")
+ depends_on("python", type=("build", "run"), when="+python")
# adter install inquires py-sip variant : so we need to have it
- depends_on('py-sip', type='build', when='~python')
+ depends_on("py-sip", type="build", when="~python")
- extends('python', when='+python')
- build_directory = 'Qt4Qt5'
+ extends("python", when="+python")
+ build_directory = "Qt4Qt5"
def qmake_args(self):
# below, DEFINES ... gets rid of ...regex...errors during build
# although, there shouldn't be such errors since we use '-std=c++11'
- args = ['CONFIG+=-std=c++11', 'DEFINES+=NO_CXX11_REGEX=1']
+ args = ["CONFIG+=-std=c++11", "DEFINES+=NO_CXX11_REGEX=1"]
return args
# When INSTALL_ROOT is unset, qscintilla is installed under qt_prefix
# giving 'Nothing Installed Error'
def setup_build_environment(self, env):
- env.set('INSTALL_ROOT', self.prefix)
+ env.set("INSTALL_ROOT", self.prefix)
def setup_run_environment(self, env):
- env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
+ env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins)
# Fix install prefix
- @run_after('qmake')
+ @run_after("qmake")
def fix_install_path(self):
- makefile = FileFilter(join_path('Qt4Qt5', 'Makefile'))
- makefile.filter(r'\$\(INSTALL_ROOT\)' +
- self.spec['qt'].prefix, '$(INSTALL_ROOT)')
+ makefile = FileFilter(join_path("Qt4Qt5", "Makefile"))
+ makefile.filter(r"\$\(INSTALL_ROOT\)" + self.spec["qt"].prefix, "$(INSTALL_ROOT)")
- @run_after('install')
+ @run_after("install")
def postinstall(self):
# Make designer plugin
- if '+designer' in self.spec:
- with working_dir(os.path.join(self.stage.source_path,
- 'designer-Qt4Qt5')):
- qscipro = FileFilter('designer.pro')
- qscipro.filter('TEMPLATE = lib',
- 'TEMPLATE = lib\nINCLUDEPATH += ../Qt4Qt5\n')
+ if "+designer" in self.spec:
+ with working_dir(os.path.join(self.stage.source_path, "designer-Qt4Qt5")):
+ qscipro = FileFilter("designer.pro")
+ qscipro.filter("TEMPLATE = lib", "TEMPLATE = lib\nINCLUDEPATH += ../Qt4Qt5\n")
qmake()
make()
- makefile = FileFilter('Makefile')
- makefile.filter(r'\$\(INSTALL_ROOT\)' +
- self.spec['qt'].prefix, '$(INSTALL_ROOT)')
- make('install')
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"\$\(INSTALL_ROOT\)" + self.spec["qt"].prefix, "$(INSTALL_ROOT)")
+ make("install")
- @run_after('install')
+ @run_after("install")
def make_qsci(self):
- if '+python' in self.spec:
- if '^py-pyqt4' in self.spec:
- py_pyqtx = 'py-pyqt4'
- pyqtx = 'PyQt4'
- elif '^py-pyqt5' in self.spec:
- py_pyqtx = 'py-pyqt5'
- pyqtx = 'PyQt5'
-
- with working_dir(join_path(self.stage.source_path, 'Python')):
+ if "+python" in self.spec:
+ if "^py-pyqt4" in self.spec:
+ py_pyqtx = "py-pyqt4"
+ pyqtx = "PyQt4"
+ elif "^py-pyqt5" in self.spec:
+ py_pyqtx = "py-pyqt5"
+ pyqtx = "PyQt5"
+
+ with working_dir(join_path(self.stage.source_path, "Python")):
pydir = join_path(python_platlib, pyqtx)
mkdirp(os.path.join(self.prefix.share.sip, pyqtx))
- python = self.spec['python'].command
- python('configure.py', '--pyqt=' + pyqtx,
- '--sip=' + self.spec['py-sip'].prefix.bin.sip,
- '--qsci-incdir=' + self.spec.prefix.include,
- '--qsci-libdir=' + self.spec.prefix.lib,
- '--qsci-sipdir=' +
- os.path.join(self.prefix.share.sip, pyqtx),
- '--apidir=' + self.prefix.share.qsci,
- '--destdir=' + pydir,
- '--pyqt-sipdir=' + os.path.join(
- self.spec[py_pyqtx].prefix.share.sip, pyqtx),
- '--sip-incdir=' +
- join_path(self.spec['py-sip'].prefix.include,
- 'python' +
- str(self.spec['python'].version.up_to(2))),
- '--stubsdir=' + pydir)
+ python = self.spec["python"].command
+ python(
+ "configure.py",
+ "--pyqt=" + pyqtx,
+ "--sip=" + self.spec["py-sip"].prefix.bin.sip,
+ "--qsci-incdir=" + self.spec.prefix.include,
+ "--qsci-libdir=" + self.spec.prefix.lib,
+ "--qsci-sipdir=" + os.path.join(self.prefix.share.sip, pyqtx),
+ "--apidir=" + self.prefix.share.qsci,
+ "--destdir=" + pydir,
+ "--pyqt-sipdir=" + os.path.join(self.spec[py_pyqtx].prefix.share.sip, pyqtx),
+ "--sip-incdir="
+ + join_path(
+ self.spec["py-sip"].prefix.include,
+ "python" + str(self.spec["python"].version.up_to(2)),
+ ),
+ "--stubsdir=" + pydir,
+ )
# Fix build errors
# "QAbstractScrollArea: No such file or directory"
# "qprinter.h: No such file or directory"
# ".../Qsci.so: undefined symbol: _ZTI10Qsci...."
- qscipro = FileFilter('Qsci/Qsci.pro')
- if '^qt@4' in self.spec:
- qtx = 'qt4'
- elif '^qt@5' in self.spec:
- qtx = 'qt5'
-
- link_qscilibs = 'LIBS += -L' + self.prefix.lib +\
- ' -lqscintilla2_' + qtx
- qscipro.filter('TEMPLATE = lib',
- 'TEMPLATE = lib\nQT += widgets' +
- '\nQT += printsupport\n' + link_qscilibs)
+ qscipro = FileFilter("Qsci/Qsci.pro")
+ if "^qt@4" in self.spec:
+ qtx = "qt4"
+ elif "^qt@5" in self.spec:
+ qtx = "qt5"
+
+ link_qscilibs = "LIBS += -L" + self.prefix.lib + " -lqscintilla2_" + qtx
+ qscipro.filter(
+ "TEMPLATE = lib",
+ "TEMPLATE = lib\nQT += widgets" + "\nQT += printsupport\n" + link_qscilibs,
+ )
make()
# Fix installation prefixes
- makefile = FileFilter('Makefile')
- makefile.filter(r'\$\(INSTALL_ROOT\)', '')
- makefile = FileFilter('Qsci/Makefile')
- makefile.filter(r'\$\(INSTALL_ROOT\)', '')
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"\$\(INSTALL_ROOT\)", "")
+ makefile = FileFilter("Qsci/Makefile")
+ makefile.filter(r"\$\(INSTALL_ROOT\)", "")
- if '@2.11:' in self.spec:
- make('install', parallel=False)
+ if "@2.11:" in self.spec:
+ make("install", parallel=False)
else:
- make('install')
+ make("install")
- @run_after('install')
+ @run_after("install")
def extend_path_setup(self):
# See github issue #14121 and PR #15297
- module = self.spec['py-sip'].variants['module'].value
- if module != 'sip':
- module = module.split('.')[0]
+ module = self.spec["py-sip"].variants["module"].value
+ if module != "sip":
+ module = module.split(".")[0]
with working_dir(python_platlib):
- with open(os.path.join(module, '__init__.py'), 'w') as f:
- f.write('from pkgutil import extend_path\n')
- f.write('__path__ = extend_path(__path__, __name__)\n')
+ with open(os.path.join(module, "__init__.py"), "w") as f:
+ f.write("from pkgutil import extend_path\n")
+ f.write("__path__ = extend_path(__path__, __name__)\n")
diff --git a/var/spack/repos/builtin/packages/qt-creator/package.py b/var/spack/repos/builtin/packages/qt-creator/package.py
index 53bf9ba4ab..9e8fbf0dc3 100644
--- a/var/spack/repos/builtin/packages/qt-creator/package.py
+++ b/var/spack/repos/builtin/packages/qt-creator/package.py
@@ -8,32 +8,33 @@ from spack.package import *
class QtCreator(QMakePackage):
"""The Qt Creator IDE."""
- homepage = 'https://www.qt.io/ide/'
- url = 'https://download.qt.io/official_releases/qtcreator/4.8/4.8.0/qt-creator-opensource-src-4.8.0.tar.gz'
- list_url = 'https://download.qt.io/official_releases/qtcreator/'
+ homepage = "https://www.qt.io/ide/"
+ url = "https://download.qt.io/official_releases/qtcreator/4.8/4.8.0/qt-creator-opensource-src-4.8.0.tar.gz"
+
+ list_url = "https://download.qt.io/official_releases/qtcreator/"
list_depth = 2
- version('4.8.0', sha256='4c4813454637141a45aa8f18be5733e4ba993335d95940aadf12fda66cf6f849')
+ version("4.8.0", sha256="4c4813454637141a45aa8f18be5733e4ba993335d95940aadf12fda66cf6f849")
- depends_on('qt@5.6.0:+opengl')
+ depends_on("qt@5.6.0:+opengl")
# Qt Creator comes bundled with its own copy of sqlite. Qt has a build
# dependency on Python, which has a dependency on sqlite. If Python is
# built with a different version of sqlite than the bundled copy, it will
# cause symbol conflict. Force Spack to build with the same version of
# sqlite as the bundled copy.
# depends_on('sqlite@3.8.10.2', when='@:4.4.0')
- depends_on('sqlite@3.8.10.3:', when='@4.8.0:')
+ depends_on("sqlite@3.8.10.3:", when="@4.8.0:")
# Qt Creator 4.3.0+ requires a C++14 compiler
- conflicts('%gcc@:4.8', when='@4.3.0:')
+ conflicts("%gcc@:4.8", when="@4.3.0:")
def url_for_version(self, version):
- url = 'https://download.qt.io/official_releases/qtcreator/{0}/{1}/qt-creator-opensource-src-{1}.tar.gz'
+ url = "https://download.qt.io/official_releases/qtcreator/{0}/{1}/qt-creator-opensource-src-{1}.tar.gz"
return url.format(version.up_to(2), version)
def setup_build_environment(self, env):
- env.set('INSTALL_ROOT', self.prefix)
+ env.set("INSTALL_ROOT", self.prefix)
def qmake_args(self):
- return ['-r']
+ return ["-r"]
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index f936c8abb2..d8a7fbbb87 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -13,159 +13,222 @@ from spack.operating_systems.linux_distro import kernel_version
from spack.operating_systems.mac_os import macos_version
from spack.package import *
-MACOS_VERSION = macos_version() if sys.platform == 'darwin' else None
-LINUX_VERSION = kernel_version() if platform.system() == 'Linux' else None
+MACOS_VERSION = macos_version() if sys.platform == "darwin" else None
+LINUX_VERSION = kernel_version() if platform.system() == "Linux" else None
class Qt(Package):
"""Qt is a comprehensive cross-platform C++ application framework."""
- homepage = 'https://qt.io'
+
+ homepage = "https://qt.io"
# Supported releases: 'https://download.qt.io/official_releases/qt/'
# Older archives: 'https://download.qt.io/new_archive/qt/'
- url = 'https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz'
- list_url = 'https://download.qt.io/archive/qt/'
+ url = "https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz"
+ list_url = "https://download.qt.io/archive/qt/"
list_depth = 3
- maintainers = ['sethrj']
-
- phases = ['configure', 'build', 'install']
-
- version('5.15.4', sha256='615ff68d7af8eef3167de1fd15eac1b150e1fd69d1e2f4239e54447e7797253b')
- version('5.15.3', sha256='b7412734698a87f4a0ae20751bab32b1b07fdc351476ad8e35328dbe10efdedb')
- version('5.15.2', sha256='3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240')
- version('5.14.2', sha256='c6fcd53c744df89e7d3223c02838a33309bd1c291fcb6f9341505fe99f7f19fa')
- version('5.14.1', sha256='6f17f488f512b39c2feb57d83a5e0a13dcef32999bea2e2a8f832f54a29badb8', deprecated=True)
- version('5.14.0', sha256='be9a77cd4e1f9d70b58621d0753be19ea498e6b0da0398753e5038426f76a8ba', deprecated=True)
- version('5.13.1', sha256='adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e', deprecated=True)
- version('5.12.10', sha256='3e0ee1e57f5cf3eeb038d0b4b22c7eb442285c62639290756b39dc93a1d0e14f')
- version('5.12.7', sha256='873783a0302129d98a8f63de9afe4520fb5f8d5316be8ad7b760c59875cd8a8d', deprecated=True)
- version('5.12.5', sha256='a2299e21db7767caf98242767bffb18a2a88a42fee2d6a393bedd234f8c91298', deprecated=True)
- version('5.12.2', sha256='59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5', deprecated=True)
- version('5.11.3', sha256='859417642713cee2493ee3646a7fee782c9f1db39e41d7bb1322bba0c5f0ff4d', deprecated=True)
- version('5.11.2', sha256='c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81', deprecated=True)
- version('5.10.0', sha256='936d4cf5d577298f4f9fdb220e85b008ae321554a5fcd38072dc327a7296230e', deprecated=True)
- version('5.9.9', sha256='5ce285209290a157d7f42ec8eb22bf3f1d76f2e03a95fc0b99b553391be01642')
- version('5.9.1', sha256='7b41a37d4fe5e120cdb7114862c0153f86c07abbec8db71500443d2ce0c89795', deprecated=True)
- version('5.9.0', sha256='f70b5c66161191489fc13c7b7eb69bf9df3881596b183e7f6d94305a39837517', deprecated=True)
- version('5.8.0', sha256='0f4c54386d3dbac0606a936a7145cebb7b94b0ca2d29bc001ea49642984824b6', deprecated=True)
- version('5.7.1', sha256='46ebca977deb629c5e69c2545bc5fe13f7e40012e5e2e451695c583bd33502fa', deprecated=True)
- version('5.7.0', sha256='a6a2632de7e44bbb790bc3b563f143702c610464a7f537d02036749041fd1800', deprecated=True)
- version('5.6.3', sha256='2fa0cf2e5e8841b29a4be62062c1a65c4f6f2cf1beaf61a5fd661f520cd776d0')
- version('5.5.1', sha256='c7fad41a009af1996b62ec494e438aedcb072b3234b2ad3eeea6e6b1f64be3b3', deprecated=True)
- version('5.4.2', sha256='cfc768c55f0a0cd232bed914a9022528f8f2e50cb010bf0e4f3f62db3dfa17bd', deprecated=True)
- version('5.4.0', sha256='1739633424bde3d89164ae6ff1c5c913be38b9997e451558ef873aac4bbc408a', deprecated=True)
- version('5.3.2', sha256='c8d3fd2ead30705c6673c5e4af6c6f3973346b4fb2bd6079c7be0943a5b0282d')
- version('5.2.1', sha256='84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1')
- version('4.8.7', sha256='e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0')
- version('4.8.6', sha256='8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c')
- version('4.8.5', sha256='eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138')
- version('3.3.8b', sha256='1b7a1ff62ec5a9cb7a388e2ba28fda6f960b27f27999482ebeceeadb72ac9f6e')
-
- variant('debug', default=False,
- description="Build debug version.")
- variant('dbus', default=False,
- description="Build with D-Bus support.")
- variant('doc', default=False,
- description="Build QDoc and documentation.")
- variant('examples', default=False,
- description="Build examples.")
- variant('framework', default=bool(MACOS_VERSION),
- description="Build as a macOS Framework package.")
- variant('gtk', default=False,
- description="Build with gtkplus.")
- variant('gui', default=True,
- description='Build the Qt GUI module and dependencies')
- variant('opengl', default=False,
- description="Build with OpenGL support.")
- variant('phonon', default=False,
- description="Build with phonon support.")
- variant('shared', default=True,
- description='Build shared libraries.')
- variant('sql', default=True,
- description="Build with SQL support.")
- variant('ssl', default=True,
- description="Build with OpenSSL support.")
- variant('tools', default=True,
- description="Build tools, including Qt Designer.")
- variant('webkit', default=False,
- description="Build the Webkit extension")
+ maintainers = ["sethrj"]
+
+ phases = ["configure", "build", "install"]
+
+ version("5.15.4", sha256="615ff68d7af8eef3167de1fd15eac1b150e1fd69d1e2f4239e54447e7797253b")
+ version("5.15.3", sha256="b7412734698a87f4a0ae20751bab32b1b07fdc351476ad8e35328dbe10efdedb")
+ version("5.15.2", sha256="3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240")
+ version("5.14.2", sha256="c6fcd53c744df89e7d3223c02838a33309bd1c291fcb6f9341505fe99f7f19fa")
+ version(
+ "5.14.1",
+ sha256="6f17f488f512b39c2feb57d83a5e0a13dcef32999bea2e2a8f832f54a29badb8",
+ deprecated=True,
+ )
+ version(
+ "5.14.0",
+ sha256="be9a77cd4e1f9d70b58621d0753be19ea498e6b0da0398753e5038426f76a8ba",
+ deprecated=True,
+ )
+ version(
+ "5.13.1",
+ sha256="adf00266dc38352a166a9739f1a24a1e36f1be9c04bf72e16e142a256436974e",
+ deprecated=True,
+ )
+ version("5.12.10", sha256="3e0ee1e57f5cf3eeb038d0b4b22c7eb442285c62639290756b39dc93a1d0e14f")
+ version(
+ "5.12.7",
+ sha256="873783a0302129d98a8f63de9afe4520fb5f8d5316be8ad7b760c59875cd8a8d",
+ deprecated=True,
+ )
+ version(
+ "5.12.5",
+ sha256="a2299e21db7767caf98242767bffb18a2a88a42fee2d6a393bedd234f8c91298",
+ deprecated=True,
+ )
+ version(
+ "5.12.2",
+ sha256="59b8cb4e728450b21224dcaaa40eb25bafc5196b6988f2225c394c6b7f881ff5",
+ deprecated=True,
+ )
+ version(
+ "5.11.3",
+ sha256="859417642713cee2493ee3646a7fee782c9f1db39e41d7bb1322bba0c5f0ff4d",
+ deprecated=True,
+ )
+ version(
+ "5.11.2",
+ sha256="c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81",
+ deprecated=True,
+ )
+ version(
+ "5.10.0",
+ sha256="936d4cf5d577298f4f9fdb220e85b008ae321554a5fcd38072dc327a7296230e",
+ deprecated=True,
+ )
+ version("5.9.9", sha256="5ce285209290a157d7f42ec8eb22bf3f1d76f2e03a95fc0b99b553391be01642")
+ version(
+ "5.9.1",
+ sha256="7b41a37d4fe5e120cdb7114862c0153f86c07abbec8db71500443d2ce0c89795",
+ deprecated=True,
+ )
+ version(
+ "5.9.0",
+ sha256="f70b5c66161191489fc13c7b7eb69bf9df3881596b183e7f6d94305a39837517",
+ deprecated=True,
+ )
+ version(
+ "5.8.0",
+ sha256="0f4c54386d3dbac0606a936a7145cebb7b94b0ca2d29bc001ea49642984824b6",
+ deprecated=True,
+ )
+ version(
+ "5.7.1",
+ sha256="46ebca977deb629c5e69c2545bc5fe13f7e40012e5e2e451695c583bd33502fa",
+ deprecated=True,
+ )
+ version(
+ "5.7.0",
+ sha256="a6a2632de7e44bbb790bc3b563f143702c610464a7f537d02036749041fd1800",
+ deprecated=True,
+ )
+ version("5.6.3", sha256="2fa0cf2e5e8841b29a4be62062c1a65c4f6f2cf1beaf61a5fd661f520cd776d0")
+ version(
+ "5.5.1",
+ sha256="c7fad41a009af1996b62ec494e438aedcb072b3234b2ad3eeea6e6b1f64be3b3",
+ deprecated=True,
+ )
+ version(
+ "5.4.2",
+ sha256="cfc768c55f0a0cd232bed914a9022528f8f2e50cb010bf0e4f3f62db3dfa17bd",
+ deprecated=True,
+ )
+ version(
+ "5.4.0",
+ sha256="1739633424bde3d89164ae6ff1c5c913be38b9997e451558ef873aac4bbc408a",
+ deprecated=True,
+ )
+ version("5.3.2", sha256="c8d3fd2ead30705c6673c5e4af6c6f3973346b4fb2bd6079c7be0943a5b0282d")
+ version("5.2.1", sha256="84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1")
+ version("4.8.7", sha256="e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0")
+ version("4.8.6", sha256="8b14dd91b52862e09b8e6a963507b74bc2580787d171feda197badfa7034032c")
+ version("4.8.5", sha256="eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138")
+ version("3.3.8b", sha256="1b7a1ff62ec5a9cb7a388e2ba28fda6f960b27f27999482ebeceeadb72ac9f6e")
+
+ variant("debug", default=False, description="Build debug version.")
+ variant("dbus", default=False, description="Build with D-Bus support.")
+ variant("doc", default=False, description="Build QDoc and documentation.")
+ variant("examples", default=False, description="Build examples.")
+ variant(
+ "framework", default=bool(MACOS_VERSION), description="Build as a macOS Framework package."
+ )
+ variant("gtk", default=False, description="Build with gtkplus.")
+ variant("gui", default=True, description="Build the Qt GUI module and dependencies")
+ variant("opengl", default=False, description="Build with OpenGL support.")
+ variant("phonon", default=False, description="Build with phonon support.")
+ variant("shared", default=True, description="Build shared libraries.")
+ variant("sql", default=True, description="Build with SQL support.")
+ variant("ssl", default=True, description="Build with OpenSSL support.")
+ variant("tools", default=True, description="Build tools, including Qt Designer.")
+ variant("webkit", default=False, description="Build the Webkit extension")
# Patches for qt@3
- patch('qt3-accept.patch', when='@3')
- patch('qt3-headers.patch', when='@3')
+ patch("qt3-accept.patch", when="@3")
+ patch("qt3-headers.patch", when="@3")
# Patches for qt@4
- patch('qt4-configure-gcc.patch', when='@4:4.8.6 %gcc')
- patch('qt4-87-configure-gcc.patch', when='@4.8.7 %gcc')
- patch('qt4-tools.patch', when='@4+tools')
- patch('qt4-mac.patch', when='@4.8.7 platform=darwin')
+ patch("qt4-configure-gcc.patch", when="@4:4.8.6 %gcc")
+ patch("qt4-87-configure-gcc.patch", when="@4.8.7 %gcc")
+ patch("qt4-tools.patch", when="@4+tools")
+ patch("qt4-mac.patch", when="@4.8.7 platform=darwin")
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925811
patch("qt4-qforeach.patch", when="@4 %gcc@9:")
# Patches for qt@4:
# https://github.com/spack/spack/issues/1517
- patch('qt4-pcre.patch', when='@4')
- patch('qt5-pcre.patch', when='@5:')
+ patch("qt4-pcre.patch", when="@4")
+ patch("qt5-pcre.patch", when="@5:")
# https://bugreports.qt.io/browse/QTBUG-74196
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89585
- patch('qt4-asm-volatile.patch', when='@4')
- patch('qt5-asm-volatile.patch', when='@5.0.0:5.12.1')
+ patch("qt4-asm-volatile.patch", when="@4")
+ patch("qt5-asm-volatile.patch", when="@5.0.0:5.12.1")
# Patches for qt@5
# https://bugreports.qt.io/browse/QTBUG-74219
- patch('qt5-btn_trigger_happy.patch', when='@5.7:5.12')
+ patch("qt5-btn_trigger_happy.patch", when="@5.7:5.12")
# https://bugreports.qt.io/browse/QTBUG-57656
- patch('qt5-8-framework.patch', when='@5.8.0 +framework')
+ patch("qt5-8-framework.patch", when="@5.8.0 +framework")
# https://bugreports.qt.io/browse/QTBUG-58038
- patch('qt5-8-freetype.patch', when='@5.8.0 +gui')
+ patch("qt5-8-freetype.patch", when="@5.8.0 +gui")
# https://codereview.qt-project.org/c/qt/qtbase/+/245425
- patch('https://github.com/qt/qtbase/commit/a52d7861edfb5956de38ba80015c4dd0b596259b.patch?full_index=1',
- sha256='c113b4e31fc648d15d6d401f7625909d84f88320172bd1fbc5b100cc2cbf71e9',
- working_dir='qtbase',
- when='@5.10:5.12.0 %gcc@9:')
+ patch(
+ "https://github.com/qt/qtbase/commit/a52d7861edfb5956de38ba80015c4dd0b596259b.patch?full_index=1",
+ sha256="c113b4e31fc648d15d6d401f7625909d84f88320172bd1fbc5b100cc2cbf71e9",
+ working_dir="qtbase",
+ when="@5.10:5.12.0 %gcc@9:",
+ )
# https://github.com/Homebrew/homebrew-core/pull/5951
- patch('qt5-restore-pc-files.patch', when='@5.9:5.11 platform=darwin')
+ patch("qt5-restore-pc-files.patch", when="@5.9:5.11 platform=darwin")
# https://github.com/spack/spack/issues/14400
- patch('qt5-11-intel-overflow.patch', when='@5.11 %intel')
- patch('qt5-12-intel-overflow.patch', when='@5.12:5.14.0 %intel')
+ patch("qt5-11-intel-overflow.patch", when="@5.11 %intel")
+ patch("qt5-12-intel-overflow.patch", when="@5.12:5.14.0 %intel")
# https://bugreports.qt.io/browse/QTBUG-78937
- patch('qt5-12-configure.patch', when='@5.12.7')
+ patch("qt5-12-configure.patch", when="@5.12.7")
# https://bugreports.qt.io/browse/QTBUG-93402
- patch('qt5-15-gcc-10.patch', when='@5.12.7:5.15 %gcc@8:')
- patch('qt514.patch', when='@5.14')
- patch('qt514-isystem.patch', when='@5.14.2')
+ patch("qt5-15-gcc-10.patch", when="@5.12.7:5.15 %gcc@8:")
+ patch("qt514.patch", when="@5.14")
+ patch("qt514-isystem.patch", when="@5.14.2")
# https://bugreports.qt.io/browse/QTBUG-84037
- patch('qt515-quick3d-assimp.patch', when='@5.15:5+opengl')
+ patch("qt515-quick3d-assimp.patch", when="@5.15:5+opengl")
# https://bugreports.qt.io/browse/QTBUG-90395
- patch('https://src.fedoraproject.org/rpms/qt5-qtbase/raw/6ae41be8260f0f5403367eb01f7cd8319779674a/f/qt5-qtbase-gcc11.patch',
- sha256='9378afd071ad5c0ec8f7aef48421e4b9fab02f24c856bee9c0951143941913c5',
- working_dir='qtbase',
- when='@5.14: %gcc@11:')
- patch('https://src.fedoraproject.org/rpms/qt5-qtdeclarative/raw/593481a2541d3218f285dd7b46bdc5f4c76075ab/f/qt5-qtdeclarative-gcc11.patch',
- sha256='2081e9cb85f6712be9b63c70204efa3da954c07d857283eeae16d1b0409704bd',
- working_dir='qtdeclarative',
- when='@5.14: %gcc@11:')
- patch('https://src.fedoraproject.org/rpms/qt5-qtwebsockets/raw/f54f4ce6fa27941e9e6d606103d32056078edc74/f/qt5-qtwebsockets-gcc11.patch',
- sha256='84b099109d08adf177adf9d3542b6215ec3e42138041d523860dbfdcb59fdaae',
- working_dir='qtwebsockets',
- when='@5.14: %gcc@11:')
+ patch(
+ "https://src.fedoraproject.org/rpms/qt5-qtbase/raw/6ae41be8260f0f5403367eb01f7cd8319779674a/f/qt5-qtbase-gcc11.patch",
+ sha256="9378afd071ad5c0ec8f7aef48421e4b9fab02f24c856bee9c0951143941913c5",
+ working_dir="qtbase",
+ when="@5.14: %gcc@11:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/qt5-qtdeclarative/raw/593481a2541d3218f285dd7b46bdc5f4c76075ab/f/qt5-qtdeclarative-gcc11.patch",
+ sha256="2081e9cb85f6712be9b63c70204efa3da954c07d857283eeae16d1b0409704bd",
+ working_dir="qtdeclarative",
+ when="@5.14: %gcc@11:",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/qt5-qtwebsockets/raw/f54f4ce6fa27941e9e6d606103d32056078edc74/f/qt5-qtwebsockets-gcc11.patch",
+ sha256="84b099109d08adf177adf9d3542b6215ec3e42138041d523860dbfdcb59fdaae",
+ working_dir="qtwebsockets",
+ when="@5.14: %gcc@11:",
+ )
# https://github.com/microsoft/vcpkg/issues/21055
- patch('qt5-macos12.patch',
- working_dir='qtbase',
- when='@5.14: %apple-clang@13:')
+ patch("qt5-macos12.patch", working_dir="qtbase", when="@5.14: %apple-clang@13:")
# Spack path substitution uses excessively long paths that exceed the hard-coded
# limit of 256 used by teh generated code with the prefix path as string literals
# causing qt to fail in ci. This increases that limit to 1024.
- patch('qt59-qtbase-qtconfig256.patch', working_dir='qtbase', when='@5.9:5')
+ patch("qt59-qtbase-qtconfig256.patch", working_dir="qtbase", when="@5.9:5")
- conflicts('%gcc@10:', when='@5.9:5.12.6 +opengl')
- conflicts('%gcc@11:', when='@5.8')
- conflicts('%apple-clang@13:', when='@:5.13')
+ conflicts("%gcc@10:", when="@5.9:5.12.6 +opengl")
+ conflicts("%gcc@11:", when="@5.8")
+ conflicts("%apple-clang@13:", when="@:5.13")
# Build-only dependencies
- depends_on("pkgconfig", type='build')
- depends_on("python", when='@5.7.0:', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("python", when="@5.7.0:", type="build")
# Dependencies, then variant- and version-specific dependencies
depends_on("icu4c")
@@ -174,65 +237,65 @@ class Qt(Package):
depends_on("libtiff")
depends_on("libxml2")
depends_on("zlib")
- depends_on("freetype", when='+gui')
- depends_on("gtkplus", when='+gtk')
- depends_on("sqlite+column_metadata", when='+sql', type=('build', 'run'))
+ depends_on("freetype", when="+gui")
+ depends_on("gtkplus", when="+gtk")
+ depends_on("sqlite+column_metadata", when="+sql", type=("build", "run"))
- depends_on("libpng@1.2.57", when='@3')
- depends_on("libsm", when='@3')
- depends_on("pcre+multibyte", when='@5.0:5.8')
- depends_on("inputproto", when='@:5.8')
+ depends_on("libpng@1.2.57", when="@3")
+ depends_on("libsm", when="@3")
+ depends_on("pcre+multibyte", when="@5.0:5.8")
+ depends_on("inputproto", when="@:5.8")
- with when('+ssl'):
+ with when("+ssl"):
depends_on("openssl")
- depends_on("openssl@:1.0", when='@4:5.9')
- depends_on("openssl@1.1.1:", when='@5.15.0:')
-
- depends_on("glib", when='@4:')
- depends_on("libpng", when='@4:')
- depends_on("dbus", when='@4:+dbus')
- depends_on("gl", when='@4:+opengl')
- depends_on("assimp@5.0.0:5", when='@5.5:+opengl')
-
- depends_on("harfbuzz", when='@5:')
- depends_on("double-conversion", when='@5.7:')
- depends_on("pcre2+multibyte", when='@5.9:')
- depends_on("llvm", when='@5.11: +doc')
- depends_on("zstd@1.3:", when='@5.13:')
-
- with when('+webkit'):
+ depends_on("openssl@:1.0", when="@4:5.9")
+ depends_on("openssl@1.1.1:", when="@5.15.0:")
+
+ depends_on("glib", when="@4:")
+ depends_on("libpng", when="@4:")
+ depends_on("dbus", when="@4:+dbus")
+ depends_on("gl", when="@4:+opengl")
+ depends_on("assimp@5.0.0:5", when="@5.5:+opengl")
+
+ depends_on("harfbuzz", when="@5:")
+ depends_on("double-conversion", when="@5.7:")
+ depends_on("pcre2+multibyte", when="@5.9:")
+ depends_on("llvm", when="@5.11: +doc")
+ depends_on("zstd@1.3:", when="@5.13:")
+
+ with when("+webkit"):
patch(
- 'https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/32062243e895612823b47c2ae9eeb873a98a3542/f/qtwebengine-gcc11.patch',
- sha256='14e2d6baff0d09a528ee3e2b5a14de160859880360100af75ea17f3e0f672787',
- working_dir='qtwebengine',
- when='@5.15.2: %gcc@11:'
+ "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/32062243e895612823b47c2ae9eeb873a98a3542/f/qtwebengine-gcc11.patch",
+ sha256="14e2d6baff0d09a528ee3e2b5a14de160859880360100af75ea17f3e0f672787",
+ working_dir="qtwebengine",
+ when="@5.15.2: %gcc@11:",
)
# the gl headers and dbus are needed to build webkit
- conflicts('~opengl')
- conflicts('~dbus')
+ conflicts("~opengl")
+ conflicts("~dbus")
- depends_on("flex", type='build')
- depends_on("bison", type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
depends_on("gperf")
# qtwebengine@5.7:5.15 are based on Google Chromium versions which depend on Py2
- with when('@5.7:5.15'):
- depends_on('python@2.7.5:2', type='build')
+ with when("@5.7:5.15"):
+ depends_on("python@2.7.5:2", type="build")
# mesa inherits MesonPackage (since October 2020) which depends on Py@3.
# The conflicts('mesa') enables a regular build of `qt@5.7:5.15+webkit`
# without having to specify the exact version by causing the concretizer
# to select mesa18 which does not depend on python@3.
- conflicts('mesa')
+ conflicts("mesa")
- with when('@5.10:'):
- depends_on('nss@3.62:')
+ with when("@5.10:"):
+ depends_on("nss@3.62:")
- with when('@5.7:'):
+ with when("@5.7:"):
# https://www.linuxfromscratch.org/blfs/view/svn/x/qtwebengine.html
- depends_on('ninja', type='build')
+ depends_on("ninja", type="build")
# https://doc.qt.io/qt-5.15/qtwebengine-platform-notes.html
- with when('@5.7: platform=linux'):
+ with when("@5.7: platform=linux"):
depends_on("libdrm")
depends_on("libxcomposite")
depends_on("libxcursor")
@@ -244,11 +307,11 @@ class Qt(Package):
# gcc@4 is not supported as of Qt@5.14
# https://doc.qt.io/qt-5.14/supported-platforms.html
- conflicts('%gcc@:4', when='@5.14:')
+ conflicts("%gcc@:4", when="@5.14:")
# Non-macOS dependencies and special macOS constraints
if MACOS_VERSION is None:
- with when('+gui'):
+ with when("+gui"):
depends_on("fontconfig")
depends_on("libsm")
depends_on("libx11")
@@ -261,101 +324,105 @@ class Qt(Package):
depends_on("libxext")
depends_on("libxrender")
- conflicts('+framework',
- msg="QT cannot be built as a framework except on macOS.")
+ conflicts("+framework", msg="QT cannot be built as a framework except on macOS.")
else:
- conflicts('platform=darwin', when='@:4.8.6',
- msg="QT 4 for macOS is only patched for 4.8.7")
- conflicts('target=aarch64:', when='@:5.15.3',
- msg='Apple Silicon requires a very new version of qt')
+ conflicts(
+ "platform=darwin", when="@:4.8.6", msg="QT 4 for macOS is only patched for 4.8.7"
+ )
+ conflicts(
+ "target=aarch64:",
+ when="@:5.15.3",
+ msg="Apple Silicon requires a very new version of qt",
+ )
use_xcode = True
# Mapping for compilers/systems in the QT 'mkspecs'
- compiler_mapping = {'intel': ('icc',),
- 'apple-clang': ('clang-libc++', 'clang'),
- 'clang': ('clang-libc++', 'clang'),
- 'fj': ('clang',),
- 'gcc': ('g++',)}
- platform_mapping = {'darwin': ('macx'), 'cray': ('linux')}
+ compiler_mapping = {
+ "intel": ("icc",),
+ "apple-clang": ("clang-libc++", "clang"),
+ "clang": ("clang-libc++", "clang"),
+ "fj": ("clang",),
+ "gcc": ("g++",),
+ }
+ platform_mapping = {"darwin": ("macx"), "cray": ("linux")}
def url_for_version(self, version):
# URL keeps getting more complicated with every release
url = self.list_url
- if version < Version('5.12') and version.up_to(2) != Version('5.9'):
+ if version < Version("5.12") and version.up_to(2) != Version("5.9"):
# As of 28 April 2021:
# - new_archive contains 1-5.8, 5.10-5.11
# - archive contains 1-5.1, 5.9, 5.12-6.0
# - official_releases containis 5.9, 5.12, 5.15, 6.0
- url = url.replace('archive', 'new_archive')
+ url = url.replace("archive", "new_archive")
- if version >= Version('4.0'):
- url += str(version.up_to(2)) + '/'
+ if version >= Version("4.0"):
+ url += str(version.up_to(2)) + "/"
else:
- url += str(version.up_to(1)) + '/'
+ url += str(version.up_to(1)) + "/"
- if version >= Version('4.8'):
- url += str(version) + '/'
+ if version >= Version("4.8"):
+ url += str(version) + "/"
- if version >= Version('5'):
- url += 'single/'
+ if version >= Version("5"):
+ url += "single/"
- url += 'qt-'
+ url += "qt-"
- if version >= Version('4.6'):
- url += 'everywhere-'
- elif version >= Version('2.1'):
- url += 'x11-'
+ if version >= Version("4.6"):
+ url += "everywhere-"
+ elif version >= Version("2.1"):
+ url += "x11-"
- if version >= Version('5.10.0'):
- if version >= Version('5.15.3'):
- url += 'opensource-src-'
+ if version >= Version("5.10.0"):
+ if version >= Version("5.15.3"):
+ url += "opensource-src-"
else:
- url += 'src-'
- elif version >= Version('4.0'):
- url += 'opensource-src-'
- elif version >= Version('3'):
- url += 'free-'
+ url += "src-"
+ elif version >= Version("4.0"):
+ url += "opensource-src-"
+ elif version >= Version("3"):
+ url += "free-"
# 5.6.3 and 5.9 only has xz format. Some older versions have only .gz
- if version >= Version('5.6'):
- url += str(version) + '.tar.xz'
+ if version >= Version("5.6"):
+ url += str(version) + ".tar.xz"
else:
- url += str(version) + '.tar.gz'
+ url += str(version) + ".tar.gz"
return url
def setup_build_environment(self, env):
- env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
- if self.version >= Version('5.11'):
+ env.set("MAKEFLAGS", "-j{0}".format(make_jobs))
+ if self.version >= Version("5.11"):
# QDoc uses LLVM as of 5.11; remove the LLVM_INSTALL_DIR to
# disable
try:
- llvm_path = self.spec['llvm'].prefix
+ llvm_path = self.spec["llvm"].prefix
except KeyError:
# Prevent possibly incompatible system LLVM from being found
llvm_path = "/spack-disable-llvm"
- env.set('LLVM_INSTALL_DIR', llvm_path)
+ env.set("LLVM_INSTALL_DIR", llvm_path)
def setup_run_environment(self, env):
- env.set('QTDIR', self.prefix)
- env.set('QTINC', self.prefix.inc)
- env.set('QTLIB', self.prefix.lib)
- env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
+ env.set("QTDIR", self.prefix)
+ env.set("QTINC", self.prefix.inc)
+ env.set("QTLIB", self.prefix.lib)
+ env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('QTDIR', self.prefix)
- env.set('QTINC', self.prefix.inc)
- env.set('QTLIB', self.prefix.lib)
- env.prepend_path('QT_PLUGIN_PATH', self.prefix.plugins)
+ env.set("QTDIR", self.prefix)
+ env.set("QTINC", self.prefix.inc)
+ env.set("QTLIB", self.prefix.lib)
+ env.prepend_path("QT_PLUGIN_PATH", self.prefix.plugins)
def setup_dependent_package(self, module, dependent_spec):
- module.qmake = Executable(join_path(self.spec.prefix.bin, 'qmake'))
+ module.qmake = Executable(join_path(self.spec.prefix.bin, "qmake"))
def get_mkspec(self):
- """Determine the mkspecs root directory and QT platform.
- """
+ """Determine the mkspecs root directory and QT platform."""
spec = self.spec
cname = spec.compiler.name
pname = spec.architecture.platform
@@ -366,39 +433,39 @@ class Qt(Package):
pname = self.platform_mapping.get(pname, pname)
qtplat = None
- mkspec_dir = 'qtbase/mkspecs' if spec.satisfies('@5:') else 'mkspecs'
- for subdir, cname in itertools.product(('', 'unsupported/'), cnames):
+ mkspec_dir = "qtbase/mkspecs" if spec.satisfies("@5:") else "mkspecs"
+ for subdir, cname in itertools.product(("", "unsupported/"), cnames):
platdirname = "".join([subdir, pname, "-", cname])
- tty.debug("Checking for platform '{0}' in {1}".format(
- platdirname, mkspec_dir))
+ tty.debug("Checking for platform '{0}' in {1}".format(platdirname, mkspec_dir))
if os.path.exists(os.path.join(mkspec_dir, platdirname)):
qtplat = platdirname
break
else:
- tty.warn("No matching QT platform was found in {0} "
- "for platform '{1}' and compiler {2}".format(
- mkspec_dir, pname, ",".join(cnames)))
+ tty.warn(
+ "No matching QT platform was found in {0} "
+ "for platform '{1}' and compiler {2}".format(mkspec_dir, pname, ",".join(cnames))
+ )
return (mkspec_dir, qtplat)
# webkit requires libintl (gettext), but does not test for it
# correctly, so add it here.
def flag_handler(self, name, flags):
- if '+webkit' in self.spec and name == 'ldlibs':
- flags.append('-lintl')
+ if "+webkit" in self.spec and name == "ldlibs":
+ flags.append("-lintl")
return (flags, None, None)
- @when('@4 platform=darwin')
+ @when("@4 platform=darwin")
def patch(self):
- ogl = self.spec['opengl'] if '+opengl' in self.spec else None
+ ogl = self.spec["opengl"] if "+opengl" in self.spec else None
deployment_target = str(MACOS_VERSION.up_to(2))
patches = {
- 'MACOSX_DEPLOYMENT_TARGET': deployment_target,
- 'PREFIX': self.prefix,
- 'OPENGL_INCDIR': ogl.prefix.include if ogl else "",
- 'OPENGL_LIBS': ogl.libs.ld_flags if ogl else "",
+ "MACOSX_DEPLOYMENT_TARGET": deployment_target,
+ "PREFIX": self.prefix,
+ "OPENGL_INCDIR": ogl.prefix.include if ogl else "",
+ "OPENGL_LIBS": ogl.libs.ld_flags if ogl else "",
}
def repl(match):
@@ -415,21 +482,18 @@ class Qt(Package):
"mkspecs/common/gcc-base.conf",
"qmake/generators/unix/unixmake.cpp",
"qmake/qmake.pri",
- "src/tools/bootstrap/bootstrap.pro"
+ "src/tools/bootstrap/bootstrap.pro",
]
- if '%clang' in self.spec or '%apple-clang' in self.spec:
+ if "%clang" in self.spec or "%apple-clang" in self.spec:
files_to_filter += [
"mkspecs/unsupported/macx-clang-libc++/qmake.conf",
- "mkspecs/common/clang.conf"
- ]
- elif '%gcc' in self.spec:
- files_to_filter += [
- "mkspecs/common/g++-macx.conf",
- "mkspecs/darwin-g++/qmake.conf"
+ "mkspecs/common/clang.conf",
]
+ elif "%gcc" in self.spec:
+ files_to_filter += ["mkspecs/common/g++-macx.conf", "mkspecs/darwin-g++/qmake.conf"]
# Filter inserted configure variables
- filter_file(r'@([a-zA-Z0-9_]+)@', repl, *files_to_filter)
+ filter_file(r"@([a-zA-Z0-9_]+)@", repl, *files_to_filter)
# Remove debug build
files_to_filter = [
@@ -444,79 +508,79 @@ class Qt(Package):
"tools/designer/src/plugins/plugins.pri",
"tools/designer/src/uitools/uitools.pro",
]
- filter_file(r'(\+=.*)debug_and_release', r'\1', *files_to_filter)
+ filter_file(r"(\+=.*)debug_and_release", r"\1", *files_to_filter)
- @when('@4: %gcc') # *NOT* darwin/mac gcc
+ @when("@4: %gcc") # *NOT* darwin/mac gcc
def patch(self):
(mkspec_dir, platform) = self.get_mkspec()
def conf(name):
- return os.path.join(mkspec_dir, 'common', name + '.conf')
+ return os.path.join(mkspec_dir, "common", name + ".conf")
# Fix qmake compilers in the default mkspec
- filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', conf('g++-base'))
- filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', conf('g++-base'))
+ filter_file("^QMAKE_CC .*", "QMAKE_CC = cc", conf("g++-base"))
+ filter_file("^QMAKE_CXX .*", "QMAKE_CXX = c++", conf("g++-base"))
# Don't error out on undefined symbols
- filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ',
- conf('g++-unix'))
+ filter_file("^QMAKE_LFLAGS_NOUNDEF .*", "QMAKE_LFLAGS_NOUNDEF = ", conf("g++-unix"))
# https://gcc.gnu.org/gcc-11/porting_to.html: add -include limits
- if self.spec.satisfies('@5.9:5.14%gcc@11:'):
- with open(conf('gcc-base'), 'a') as f:
+ if self.spec.satisfies("@5.9:5.14%gcc@11:"):
+ with open(conf("gcc-base"), "a") as f:
f.write("QMAKE_CXXFLAGS += -include limits\n")
- if self.spec.satisfies('@4'):
+ if self.spec.satisfies("@4"):
# The gnu98 flag is necessary to build with GCC 6 and other modern
# compilers (see http://stackoverflow.com/questions/10354371/);
# be permissive because of the abundance of older code, and hide
# all warnings because there are so many of them with newer
# compilers
- with open(conf('gcc-base'), 'a') as f:
+ with open(conf("gcc-base"), "a") as f:
f.write("QMAKE_CXXFLAGS += -std=gnu++98 -fpermissive -w\n")
- @when('@4: %intel')
+ @when("@4: %intel")
def patch(self):
(mkspec_dir, platform) = self.get_mkspec()
conf_file = os.path.join(mkspec_dir, platform, "qmake.conf")
# Intel's `ar` equivalent might not be in the path: replace it with
# explicit
- xiar = os.path.join(os.path.dirname(self.compiler.cc), 'xiar')
- filter_file(r'\bxiar\b', xiar, conf_file)
+ xiar = os.path.join(os.path.dirname(self.compiler.cc), "xiar")
+ filter_file(r"\bxiar\b", xiar, conf_file)
- if self.spec.satisfies('@4'):
- with open(conf_file, 'a') as f:
+ if self.spec.satisfies("@4"):
+ with open(conf_file, "a") as f:
f.write("QMAKE_CXXFLAGS += -std=gnu++98\n")
- @when('@4 %clang')
+ @when("@4 %clang")
def patch(self):
(mkspec_dir, platform) = self.get_mkspec()
conf_file = os.path.join(mkspec_dir, platform, "qmake.conf")
- with open(conf_file, 'a') as f:
+ with open(conf_file, "a") as f:
f.write("QMAKE_CXXFLAGS += -std=gnu++98\n")
- @when('@5.9 platform=darwin')
+ @when("@5.9 platform=darwin")
def patch(self):
# 'javascriptcore' is in the include path, so its file named 'version'
# interferes with the standard library
- os.unlink(join_path(self.stage.source_path,
- 'qtscript/src/3rdparty/javascriptcore/version'))
+ os.unlink(
+ join_path(self.stage.source_path, "qtscript/src/3rdparty/javascriptcore/version")
+ )
- @when('@4: %fj')
+ @when("@4: %fj")
def patch(self):
(mkspec_dir, platform) = self.get_mkspec()
- conf = os.path.join(mkspec_dir, 'common', 'clang.conf')
+ conf = os.path.join(mkspec_dir, "common", "clang.conf")
# Fix qmake compilers in the default mkspec
- filter_file('^QMAKE_CC .*', 'QMAKE_CC = fcc', conf)
- filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = FCC', conf)
+ filter_file("^QMAKE_CC .*", "QMAKE_CC = fcc", conf)
+ filter_file("^QMAKE_CXX .*", "QMAKE_CXX = FCC", conf)
- if self.spec.satisfies('@4'):
+ if self.spec.satisfies("@4"):
conf_file = os.path.join(mkspec_dir, platform, "qmake.conf")
- with open(conf_file, 'a') as f:
+ with open(conf_file, "a") as f:
f.write("QMAKE_CXXFLAGS += -std=gnu++98\n")
def _dep_appender_factory(self, config_args):
@@ -524,10 +588,11 @@ class Qt(Package):
def use_spack_dep(spack_pkg, qt_name=None):
pkg = spec[spack_pkg]
- config_args.append('-system-' + (qt_name or spack_pkg))
+ config_args.append("-system-" + (qt_name or spack_pkg))
if not pkg.external:
config_args.extend(pkg.libs.search_flags.split())
config_args.extend(pkg.headers.include_flags.split())
+
return use_spack_dep
@property
@@ -537,172 +602,170 @@ class Qt(Package):
# incomplete list is here https://doc.qt.io/qt-5/configure-options.html
config_args = [
- '-prefix', self.prefix,
- '-v',
- '-opensource',
- '-{0}opengl'.format('' if '+opengl' in spec else 'no-'),
- '-{0}'.format('debug' if '+debug' in spec else 'release'),
- '-confirm-license',
- '-optimized-qmake',
- '-no-pch',
+ "-prefix",
+ self.prefix,
+ "-v",
+ "-opensource",
+ "-{0}opengl".format("" if "+opengl" in spec else "no-"),
+ "-{0}".format("debug" if "+debug" in spec else "release"),
+ "-confirm-license",
+ "-optimized-qmake",
+ "-no-pch",
]
use_spack_dep = self._dep_appender_factory(config_args)
- if '+gui' in spec:
- use_spack_dep('freetype')
+ if "+gui" in spec:
+ use_spack_dep("freetype")
if not MACOS_VERSION:
- config_args.append('-fontconfig')
+ config_args.append("-fontconfig")
else:
- config_args.append('-no-freetype')
- config_args.append('-no-gui')
+ config_args.append("-no-freetype")
+ config_args.append("-no-gui")
- if '+ssl' in spec:
- pkg = spec['openssl']
- config_args.append('-openssl-linked')
+ if "+ssl" in spec:
+ pkg = spec["openssl"]
+ config_args.append("-openssl-linked")
config_args.extend(pkg.libs.search_flags.split())
config_args.extend(pkg.headers.include_flags.split())
else:
- config_args.append('-no-openssl')
+ config_args.append("-no-openssl")
- if '+sql' in spec:
- use_spack_dep('sqlite')
+ if "+sql" in spec:
+ use_spack_dep("sqlite")
else:
- comps = ['db2', 'ibase', 'oci', 'tds', 'mysql', 'odbc', 'psql',
- 'sqlite', 'sqlite2']
+ comps = ["db2", "ibase", "oci", "tds", "mysql", "odbc", "psql", "sqlite", "sqlite2"]
config_args.extend("-no-sql-" + component for component in comps)
- if '+shared' in spec:
- config_args.append('-shared')
+ if "+shared" in spec:
+ config_args.append("-shared")
else:
- config_args.append('-static')
+ config_args.append("-static")
- if version >= Version('5'):
- use_spack_dep('pcre' if spec.satisfies('@5.0:5.8') else 'pcre2',
- 'pcre')
- use_spack_dep('harfbuzz')
+ if version >= Version("5"):
+ use_spack_dep("pcre" if spec.satisfies("@5.0:5.8") else "pcre2", "pcre")
+ use_spack_dep("harfbuzz")
- if version >= Version('5.7'):
- use_spack_dep('double-conversion', 'doubleconversion')
+ if version >= Version("5.7"):
+ use_spack_dep("double-conversion", "doubleconversion")
- if version <= Version('5.7.1'):
- config_args.append('-no-openvg')
+ if version <= Version("5.7.1"):
+ config_args.append("-no-openvg")
else:
# FIXME: those could work for other versions
- use_spack_dep('libpng')
- use_spack_dep('jpeg', 'libjpeg')
- use_spack_dep('zlib')
-
- if '@:5.5' in spec:
- config_args.extend([
- # NIS is deprecated in more recent glibc,
- # but qt-5.6.3 does not recognize this option
- '-no-nis',
- ])
+ use_spack_dep("libpng")
+ use_spack_dep("jpeg", "libjpeg")
+ use_spack_dep("zlib")
+
+ if "@:5.5" in spec:
+ config_args.extend(
+ [
+ # NIS is deprecated in more recent glibc,
+ # but qt-5.6.3 does not recognize this option
+ "-no-nis",
+ ]
+ )
# COMPONENTS
- if '~examples' in spec:
- config_args.extend(['-nomake', 'examples'])
+ if "~examples" in spec:
+ config_args.extend(["-nomake", "examples"])
- if '~tools' in spec:
- config_args.extend(['-nomake', 'tools'])
+ if "~tools" in spec:
+ config_args.extend(["-nomake", "tools"])
- if '+dbus' in spec:
- dbus = spec['dbus'].prefix
- config_args.append('-dbus-linked')
- config_args.append('-I%s/dbus-1.0/include' % dbus.lib)
- config_args.append('-I%s/dbus-1.0' % dbus.include)
- config_args.append('-L%s' % dbus.lib)
+ if "+dbus" in spec:
+ dbus = spec["dbus"].prefix
+ config_args.append("-dbus-linked")
+ config_args.append("-I%s/dbus-1.0/include" % dbus.lib)
+ config_args.append("-I%s/dbus-1.0" % dbus.include)
+ config_args.append("-L%s" % dbus.lib)
else:
- config_args.append('-no-dbus')
+ config_args.append("-no-dbus")
if MACOS_VERSION:
- config_args.append('-{0}framework'.format(
- '' if '+framework' in spec else 'no-'))
+ config_args.append("-{0}framework".format("" if "+framework" in spec else "no-"))
(_, qtplat) = self.get_mkspec()
if qtplat is not None:
- config_args.extend(['-platform', qtplat])
+ config_args.extend(["-platform", qtplat])
return config_args
- @when('@3')
+ @when("@3")
def configure(self, spec, prefix):
# A user reported that this was necessary to link Qt3 on ubuntu.
# However, if LD_LIBRARY_PATH is not set the qt build fails, check
# and set LD_LIBRARY_PATH if not set, update if it is set.
- if os.environ.get('LD_LIBRARY_PATH'):
- os.environ['LD_LIBRARY_PATH'] += os.pathsep + os.getcwd() + '/lib'
+ if os.environ.get("LD_LIBRARY_PATH"):
+ os.environ["LD_LIBRARY_PATH"] += os.pathsep + os.getcwd() + "/lib"
else:
- os.environ['LD_LIBRARY_PATH'] = os.pathsep + os.getcwd() + '/lib'
+ os.environ["LD_LIBRARY_PATH"] = os.pathsep + os.getcwd() + "/lib"
- configure('-prefix', prefix,
- '-v',
- '-thread',
- '-shared',
- '-release',
- '-fast')
+ configure("-prefix", prefix, "-v", "-thread", "-shared", "-release", "-fast")
- @when('@4')
+ @when("@4")
def configure(self, spec, prefix):
config_args = self.common_config_args
- config_args.extend([
- '-fast',
- '-no-declarative-debug',
- '-{0}gtkstyle'.format('' if '+gtk' in spec else 'no-'),
- '-{0}webkit'.format('' if '+webkit' in spec else 'no-'),
- '-{0}phonon'.format('' if '+phonon' in spec else 'no-'),
- '-arch', str(spec.target.family),
- '-xmlpatterns',
- ])
+ config_args.extend(
+ [
+ "-fast",
+ "-no-declarative-debug",
+ "-{0}gtkstyle".format("" if "+gtk" in spec else "no-"),
+ "-{0}webkit".format("" if "+webkit" in spec else "no-"),
+ "-{0}phonon".format("" if "+phonon" in spec else "no-"),
+ "-arch",
+ str(spec.target.family),
+ "-xmlpatterns",
+ ]
+ )
# Disable phonon backend until gstreamer is setup as dependency
- if '+phonon' in self.spec:
- config_args.append('-no-phonon-backend')
+ if "+phonon" in self.spec:
+ config_args.append("-no-phonon-backend")
- if '~examples' in self.spec:
- config_args.extend(['-nomake', 'demos'])
+ if "~examples" in self.spec:
+ config_args.extend(["-nomake", "demos"])
if MACOS_VERSION:
- sdkpath = which('xcrun')('--show-sdk-path', output=str).strip()
- config_args.extend([
- '-cocoa',
- '-sdk', sdkpath])
+ sdkpath = which("xcrun")("--show-sdk-path", output=str).strip()
+ config_args.extend(["-cocoa", "-sdk", sdkpath])
configure(*config_args)
- @when('@5')
+ @when("@5")
def configure(self, spec, prefix):
config_args = self.common_config_args
version = self.version
- config_args.extend([
- '-no-eglfs',
- '-no-directfb',
- '-{0}gtk{1}'.format(
- '' if '+gtk' in spec else 'no-',
- '' if version >= Version('5.7') else 'style')
- ])
+ config_args.extend(
+ [
+ "-no-eglfs",
+ "-no-directfb",
+ "-{0}gtk{1}".format(
+ "" if "+gtk" in spec else "no-", "" if version >= Version("5.7") else "style"
+ ),
+ ]
+ )
use_spack_dep = self._dep_appender_factory(config_args)
if MACOS_VERSION:
- if version < Version('5.9'):
- config_args.append('-no-xcb-xlib')
- if version < Version('5.12'):
- config_args.append('-no-xinput2')
- if spec.satisfies('@5.9'):
+ if version < Version("5.9"):
+ config_args.append("-no-xcb-xlib")
+ if version < Version("5.12"):
+ config_args.append("-no-xinput2")
+ if spec.satisfies("@5.9"):
# Errors on bluetooth even when bluetooth is disabled...
# at least on apple-clang%12
- config_args.extend(['-skip', 'connectivity'])
- elif version < Version('5.15') and '+gui' in spec:
+ config_args.extend(["-skip", "connectivity"])
+ elif version < Version("5.15") and "+gui" in spec:
# Linux-only QT5 dependencies
- config_args.append('-system-xcb')
- if '+opengl' in spec:
- config_args.append('-I{0}/include'.format(spec['libx11'].prefix))
- config_args.append('-I{0}/include'.format(spec['xproto'].prefix))
+ config_args.append("-system-xcb")
+ if "+opengl" in spec:
+ config_args.append("-I{0}/include".format(spec["libx11"].prefix))
+ config_args.append("-I{0}/include".format(spec["xproto"].prefix))
# If the version of glibc is new enough Qt will configure features that
# may not be supported by the kernel version on the system. This will
@@ -712,39 +775,41 @@ class Qt(Package):
# Test the kernel version and disable features that Qt detects in glibc
# but that are not supported in the kernel as determined by information
# in: qtbase/src/corelib/global/minimum-linux_p.h.
- if LINUX_VERSION and version >= Version('5.10'):
- if LINUX_VERSION < Version('3.16'):
- config_args.append('-no-feature-renameat2')
- if LINUX_VERSION < Version('3.17'):
- config_args.append('-no-feature-getentropy')
-
- if '~webkit' in spec:
- config_args.extend([
- '-skip',
- 'webengine' if version >= Version('5.6') else 'qtwebkit',
- ])
-
- if spec.satisfies('@5.7'):
- config_args.extend(['-skip', 'virtualkeyboard'])
-
- if version >= Version('5.8'):
+ if LINUX_VERSION and version >= Version("5.10"):
+ if LINUX_VERSION < Version("3.16"):
+ config_args.append("-no-feature-renameat2")
+ if LINUX_VERSION < Version("3.17"):
+ config_args.append("-no-feature-getentropy")
+
+ if "~webkit" in spec:
+ config_args.extend(
+ [
+ "-skip",
+ "webengine" if version >= Version("5.6") else "qtwebkit",
+ ]
+ )
+
+ if spec.satisfies("@5.7"):
+ config_args.extend(["-skip", "virtualkeyboard"])
+
+ if version >= Version("5.8"):
# relies on a system installed wayland, i.e. no spack package yet
# https://wayland.freedesktop.org/ubuntu16.04.html
# https://wiki.qt.io/QtWayland
- config_args.extend(['-skip', 'wayland'])
+ config_args.extend(["-skip", "wayland"])
- if '~opengl' in spec:
- config_args.extend(['-skip', 'multimedia'])
- config_args.extend(['-skip', 'qt3d'])
+ if "~opengl" in spec:
+ config_args.extend(["-skip", "multimedia"])
+ config_args.extend(["-skip", "qt3d"])
- if version >= Version('5.10'):
- config_args.extend(['-skip', 'webglplugin'])
+ if version >= Version("5.10"):
+ config_args.extend(["-skip", "webglplugin"])
- if version >= Version('5.14'):
- config_args.extend(['-skip', 'qtquick3d'])
+ if version >= Version("5.14"):
+ config_args.extend(["-skip", "qtquick3d"])
- if version >= Version('5.15'):
- config_args.extend(['-skip', 'qtlocation'])
+ if version >= Version("5.15"):
+ config_args.extend(["-skip", "qtlocation"])
else:
# v5.0: qt3d uses internal-only libassimp
@@ -753,25 +818,26 @@ class Qt(Package):
# v5.9: user-selectable internal-vs-external via -assimp
# v5.14: additional qtquick3d module uses -assimp
# v5.15: qtquick3d switched to the -quick3d-assimp option
- if version >= Version('5.9'):
- use_spack_dep('assimp')
- elif version >= Version('5.15'):
- use_spack_dep('assimp', 'quick3d-assimp')
+ if version >= Version("5.9"):
+ use_spack_dep("assimp")
+ elif version >= Version("5.15"):
+ use_spack_dep("assimp", "quick3d-assimp")
- if MACOS_VERSION and '+opengl' in spec:
+ if MACOS_VERSION and "+opengl" in spec:
# These options are only valid if 'multimedia' is enabled, i.e.
# +opengl is selected. Force them to be off on macOS, but let other
# platforms decide for themselves.
- config_args.extend([
- '-no-pulseaudio',
- '-no-alsa',
- ])
-
- if spec.satisfies('platform=darwin target=aarch64:'):
+ config_args.extend(
+ [
+ "-no-pulseaudio",
+ "-no-alsa",
+ ]
+ )
+
+ if spec.satisfies("platform=darwin target=aarch64:"):
# https://www.qt.io/blog/qt-on-apple-silicon
# Not currently working for qt@5
- config_args.extend(['-device-option',
- 'QMAKE_APPLE_DEVICE_ARCHS=arm64'])
+ config_args.extend(["-device-option", "QMAKE_APPLE_DEVICE_ARCHS=arm64"])
configure(*config_args)
@@ -783,8 +849,8 @@ class Qt(Package):
# Documentation generation requires the doc tools to be installed.
# @when @run_after currently seems to ignore the 'when' restriction.
- @run_after('install')
+ @run_after("install")
def install_docs(self):
- if '+doc' in self.spec:
- make('docs')
- make('install_docs')
+ if "+doc" in self.spec:
+ make("docs")
+ make("install_docs")
diff --git a/var/spack/repos/builtin/packages/qtgraph/package.py b/var/spack/repos/builtin/packages/qtgraph/package.py
index 75653217c3..8c6a13b4a8 100644
--- a/var/spack/repos/builtin/packages/qtgraph/package.py
+++ b/var/spack/repos/builtin/packages/qtgraph/package.py
@@ -10,25 +10,25 @@ from spack.package import *
class Qtgraph(QMakePackage):
"""The baseline library used in the CUDA-centric Open|SpeedShop Graphical
- User Interface (GUI) which allows Graphviz DOT formatted data to be
- imported into a Qt application by wrapping the Graphviz libcgraph and
- libgvc within the Qt Graphics View Framework."""
+ User Interface (GUI) which allows Graphviz DOT formatted data to be
+ imported into a Qt application by wrapping the Graphviz libcgraph and
+ libgvc within the Qt Graphics View Framework."""
homepage = "https://github.com/OpenSpeedShop/QtGraph"
- git = "https://github.com/OpenSpeedShop/QtGraph.git"
+ git = "https://github.com/OpenSpeedShop/QtGraph.git"
- version('develop', branch='master')
- version('1.0.0.0', branch='1.0.0.0')
+ version("develop", branch="master")
+ version("1.0.0.0", branch="1.0.0.0")
# qtgraph depends on these packages
- depends_on('qt@5.10.0:', when='@1.0.0.0:')
+ depends_on("qt@5.10.0:", when="@1.0.0.0:")
- depends_on("graphviz@2.40.1:", when='@develop')
- depends_on("graphviz@2.40.1", when='@1.0.0.0:')
+ depends_on("graphviz@2.40.1:", when="@develop")
+ depends_on("graphviz@2.40.1", when="@1.0.0.0:")
def setup_build_environment(self, env):
- env.set('GRAPHVIZ_ROOT', self.spec['graphviz'].prefix)
- env.set('INSTALL_ROOT', self.prefix)
+ env.set("GRAPHVIZ_ROOT", self.spec["graphviz"].prefix)
+ env.set("INSTALL_ROOT", self.prefix)
def setup_run_environment(self, env):
# What library suffix should be used based on library existence
@@ -39,7 +39,8 @@ class Qtgraph(QMakePackage):
# The implementor has set up the library and include paths in
# a non-conventional way. We reflect that here.
- env.prepend_path('LD_LIBRARY_PATH', join_path(
- lib_dir, '{0}'.format(self.spec['qt'].version.up_to(3))))
+ env.prepend_path(
+ "LD_LIBRARY_PATH", join_path(lib_dir, "{0}".format(self.spec["qt"].version.up_to(3)))
+ )
- env.prepend_path('CPATH', self.prefix.include.QtGraph)
+ env.prepend_path("CPATH", self.prefix.include.QtGraph)
diff --git a/var/spack/repos/builtin/packages/qthreads/package.py b/var/spack/repos/builtin/packages/qthreads/package.py
index 207be9e1ea..bd10c7a573 100644
--- a/var/spack/repos/builtin/packages/qthreads/package.py
+++ b/var/spack/repos/builtin/packages/qthreads/package.py
@@ -17,26 +17,27 @@ def is_integer(x):
class Qthreads(AutotoolsPackage):
"""The qthreads API is designed to make using large numbers of
- threads convenient and easy, and to allow portable access to
- threading constructs used in massively parallel shared memory
- environments. The API maps well to both MTA-style threading and
- PIM-style threading, and we provide an implementation of this
- interface in both a standard SMP context as well as the SST
- context. The qthreads API provides access to full/empty-bit
- (FEB) semantics, where every word of memory can be marked
- either full or empty, and a thread can wait for any word to
- attain either state."""
+ threads convenient and easy, and to allow portable access to
+ threading constructs used in massively parallel shared memory
+ environments. The API maps well to both MTA-style threading and
+ PIM-style threading, and we provide an implementation of this
+ interface in both a standard SMP context as well as the SST
+ context. The qthreads API provides access to full/empty-bit
+ (FEB) semantics, where every word of memory can be marked
+ either full or empty, and a thread can wait for any word to
+ attain either state."""
+
homepage = "http://www.cs.sandia.gov/qthreads/"
url = "https://github.com/Qthreads/qthreads/releases/download/1.10/qthread-1.10.tar.bz2"
test_requires_compiler = True
- test_base_path = 'test/basics/'
- test_list = ['hello_world_multi', 'hello_world']
+ test_base_path = "test/basics/"
+ test_list = ["hello_world_multi", "hello_world"]
- tags = ['e4s']
+ tags = ["e4s"]
- version('1.16', sha256='0a95e20b08cb486de6c33bff16590f41e444ca64ab738aee697ef982fbb021d8')
- version('1.15', sha256='3ac2dc24debff004a2998933de5724b1e14e1ae262fa9942acbb01f77819a23b')
+ version("1.16", sha256="0a95e20b08cb486de6c33bff16590f41e444ca64ab738aee697ef982fbb021d8")
+ version("1.15", sha256="3ac2dc24debff004a2998933de5724b1e14e1ae262fa9942acbb01f77819a23b")
version("1.14", sha256="16f15e5b2e35b6329a857d24c283a1e43cd49921ee49a1446d4f31bf9c6f5cf9")
version("1.12", sha256="2c13a5f6f45bc2f22038d272be2e748e027649d3343a9f824da9e86a88b594c9")
version("1.11", sha256="dbde6c7cb7de7e89921e47363d09cecaebf775c9d090496c2be8350355055571")
@@ -45,24 +46,22 @@ class Qthreads(AutotoolsPackage):
patch("restrict.patch", when="@:1.10")
patch("trap.patch", when="@:1.10")
+ variant("hwloc", default=True, description="hwloc support")
+ variant("spawn_cache", default=False, description="enables worker specific cache of spawns")
+ variant(
+ "scheduler",
+ default="nemesis",
+ values=("nemesis", "lifo", "mutexfifo", "mtsfifo", "sherwood", "distrib", "nottingham"),
+ multi=False,
+ description="Specify which scheduler policy to use",
+ )
+ variant("static", default=True, description="Build static library")
variant(
- 'hwloc',
- default=True,
- description='hwloc support'
+ "stack_size",
+ default=4096,
+ description="Specify number of bytes to use in a stack",
+ values=is_integer,
)
- variant('spawn_cache',
- default=False,
- description='enables worker specific cache of spawns')
- variant('scheduler', default='nemesis',
- values=('nemesis', 'lifo', 'mutexfifo', 'mtsfifo',
- 'sherwood', 'distrib', 'nottingham'),
- multi=False,
- description='Specify which scheduler policy to use')
- variant('static', default=True, description='Build static library')
- variant('stack_size',
- default=4096,
- description='Specify number of bytes to use in a stack',
- values=is_integer)
depends_on("hwloc@1.0:1", when="@:1.15 +hwloc")
depends_on("hwloc@1.5:2", when="@1.16: +hwloc")
@@ -73,37 +72,36 @@ class Qthreads(AutotoolsPackage):
args = [
"--enable-guard-pages",
"--with-topology=hwloc",
- "--with-hwloc=%s" % spec["hwloc"].prefix]
+ "--with-hwloc=%s" % spec["hwloc"].prefix,
+ ]
else:
args = ["--with-topology=no"]
- if '+spawn_cache' in self.spec:
- args.append('--enable-spawn-cache')
+ if "+spawn_cache" in self.spec:
+ args.append("--enable-spawn-cache")
else:
- args.append('--disable-spawn-cache')
+ args.append("--disable-spawn-cache")
- if '+static' in self.spec:
- args.append('--enable-static=yes')
+ if "+static" in self.spec:
+ args.append("--enable-static=yes")
else:
- args.append('--enable-static=no')
+ args.append("--enable-static=no")
- args.append('--with-default-stack-size=%s'
- % self.spec.variants['stack_size'].value)
+ args.append("--with-default-stack-size=%s" % self.spec.variants["stack_size"].value)
- args.append('--with-scheduler=%s'
- % self.spec.variants['scheduler'].value)
+ args.append("--with-scheduler=%s" % self.spec.variants["scheduler"].value)
return args
- @run_after('install')
+ @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`."""
tests = self.test_list
relative_test_dir = self.test_base_path
files_to_cpy = []
- header = 'test/argparsing.h'
+ header = "test/argparsing.h"
for test in tests:
- test_path = join_path(relative_test_dir, test + '.c')
+ test_path = join_path(relative_test_dir, test + ".c")
files_to_cpy.append(test_path)
files_to_cpy.append(header)
self.cache_extra_test_sources(files_to_cpy)
@@ -115,25 +113,23 @@ class Qthreads(AutotoolsPackage):
for test in tests:
options = [
- '-I{0}'.format(self.prefix.include),
- '-I{0}'.format(self.install_test_root + '/test'),
- join_path(self.install_test_root, relative_test_dir,
- test + '.c'),
- '-o',
+ "-I{0}".format(self.prefix.include),
+ "-I{0}".format(self.install_test_root + "/test"),
+ join_path(self.install_test_root, relative_test_dir, test + ".c"),
+ "-o",
test,
- '-L{0}'.format(self.prefix.lib),
- '-lqthread',
- '{0}{1}'.format(self.compiler.cc_rpath_arg,
- self.prefix.lib)]
- reason = 'test:{0}: Checking ability to link to the library.'\
- .format(test)
- self.run_test('cc', options, [], installed=False, purpose=reason)
+ "-L{0}".format(self.prefix.lib),
+ "-lqthread",
+ "{0}{1}".format(self.compiler.cc_rpath_arg, self.prefix.lib),
+ ]
+ reason = "test:{0}: Checking ability to link to the library.".format(test)
+ self.run_test("cc", options, [], installed=False, purpose=reason)
def run_tests(self):
tests = self.test_list
# Now run the program
for test in tests:
- reason = 'test:{0}: Checking ability to execute.'.format(test)
+ reason = "test:{0}: Checking ability to execute.".format(test)
self.run_test(test, [], purpose=reason)
def test(self):
diff --git a/var/spack/repos/builtin/packages/qtkeychain/package.py b/var/spack/repos/builtin/packages/qtkeychain/package.py
index fb5599c553..071eda0f10 100644
--- a/var/spack/repos/builtin/packages/qtkeychain/package.py
+++ b/var/spack/repos/builtin/packages/qtkeychain/package.py
@@ -10,15 +10,15 @@ class Qtkeychain(CMakePackage):
"""Platform-independent Qt API for storing passwords securely."""
homepage = "https://github.com/frankosterfeld/qtkeychain"
- url = "https://github.com/frankosterfeld/qtkeychain/archive/v0.9.1.tar.gz"
+ url = "https://github.com/frankosterfeld/qtkeychain/archive/v0.9.1.tar.gz"
- version('0.9.1', sha256='9c2762d9d0759a65cdb80106d547db83c6e9fdea66f1973c6e9014f867c6f28e')
+ version("0.9.1", sha256="9c2762d9d0759a65cdb80106d547db83c6e9fdea66f1973c6e9014f867c6f28e")
- depends_on('qt+dbus')
- depends_on('libsecret')
+ depends_on("qt+dbus")
+ depends_on("libsecret")
def cmake_args(self):
args = []
- if self.spec['qt'].version.up_to(1) == Version(4):
- args.append('-DBUILD_WITH_QT4=ON')
+ if self.spec["qt"].version.up_to(1) == Version(4):
+ args.append("-DBUILD_WITH_QT4=ON")
return args
diff --git a/var/spack/repos/builtin/packages/qualimap/package.py b/var/spack/repos/builtin/packages/qualimap/package.py
index 08648c7a2b..da3d0ebda8 100644
--- a/var/spack/repos/builtin/packages/qualimap/package.py
+++ b/var/spack/repos/builtin/packages/qualimap/package.py
@@ -13,14 +13,14 @@ class Qualimap(Package):
sequencing data and its derivatives like feature counts."""
homepage = "http://qualimap.conesalab.org/"
- url = "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.2.1.zip"
+ url = "https://bitbucket.org/kokonech/qualimap/downloads/qualimap_v2.2.1.zip"
- version('2.2.1', sha256='08f1d66e49c83c76c56c4225c53aee44f41e0592c8bdc84b8c4ecd975700e045')
+ version("2.2.1", sha256="08f1d66e49c83c76c56c4225c53aee44f41e0592c8bdc84b8c4ecd975700e045")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix)
+ env.prepend_path("PATH", prefix)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/quantum-espresso/package.py b/var/spack/repos/builtin/packages/quantum-espresso/package.py
index 5329f5e51c..a69afdee96 100644
--- a/var/spack/repos/builtin/packages/quantum-espresso/package.py
+++ b/var/spack/repos/builtin/packages/quantum-espresso/package.py
@@ -14,103 +14,110 @@ class QuantumEspresso(CMakePackage):
pseudopotentials.
"""
- homepage = 'http://quantum-espresso.org'
- url = 'https://gitlab.com/QEF/q-e/-/archive/qe-6.6/q-e-qe-6.6.tar.gz'
- git = 'https://gitlab.com/QEF/q-e.git'
-
- maintainers = ['ye-luo', 'danielecesarini']
-
- version('develop', branch='develop')
- version('7.1', sha256='d56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6')
- version('7.0', sha256='85beceb1aaa1678a49e774c085866d4612d9d64108e0ac49b23152c8622880ee')
- version('6.8', sha256='654855c69864de7ece5ef2f2c0dea2d32698fe51192a8646b1555b0c57e033b2')
- version('6.7', sha256='fe0ce74ff736b10d2a20c9d59025c01f88f86b00d229c123b1791f1edd7b4315',
- url='https://gitlab.com/QEF/q-e/-/archive/qe-6.7MaX-Release/q-e-qe-6.7MaX-Release.tar.gz'
- )
- version('6.6', sha256='924656cb083f52e5d2fe71ade05881389dac64b45316f1bdd6dee1c6170a672c')
- version('6.5', sha256='258b2a8a6280e86dad779e5c56356d8b35dc96d12ff33dabeee914bc03d6d602')
- version('6.4.1', sha256='b0d7e9f617b848753ad923d8c6ca5490d5d82495f82b032b71a0ff2f2e9cfa08')
- version('6.4', sha256='781366d03da75516fdcf9100a1caadb26ccdd1dedd942a6f8595ff0edca74bfe')
- version('6.3', sha256='4067c8fffa957aabbd5cf2439e2fcb6cf3752325393c67a17d99fd09edf8689c')
- version('6.2.1', sha256='11fe24b4a9d85834f8b6d429baebed8b360a685ecfae222887ed451e118a9156')
- version('6.2.0', sha256='e204df367c8ea1a50c7534b44481841d835a542a23ae71c3e33ad712fc636c8b')
- version('6.1.0', sha256='fd2c2eb346b3ca8f08138df5ef3f69b466c256d2119db40eea1b578b0a42c66e')
- version('6.0.0', sha256='bc77d9553bf5a9253ae74058dffb1d6e5fb61093188e78d3b8d8564755136f19')
- version('5.4', sha256='e3993fccae9cea04a5c6492e8b961a053a63727051cb5c4eb6008f62cda8f335')
- version('5.3', sha256='3b26038efb9e3f8ac7a2b950c31d8c29169a3556c0b68c299eb88a4be8dc9048')
-
- resource(name='environ',
- git='https://github.com/environ-developers/Environ.git',
- tag='v1.1',
- when='@6.3:6.4 +environ',
- destination='.'
- )
-
- resource(name='environ',
- git='https://github.com/environ-developers/Environ.git',
- tag='v1.0',
- when='@6.2.1:6.2 +environ',
- destination='.'
- )
-
- variant('cmake', default=True, description='Builds via CMake')
- with when('+cmake'):
+ homepage = "http://quantum-espresso.org"
+ url = "https://gitlab.com/QEF/q-e/-/archive/qe-6.6/q-e-qe-6.6.tar.gz"
+ git = "https://gitlab.com/QEF/q-e.git"
+
+ maintainers = ["ye-luo", "danielecesarini"]
+
+ version("develop", branch="develop")
+ version("7.1", sha256="d56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6")
+ version("7.0", sha256="85beceb1aaa1678a49e774c085866d4612d9d64108e0ac49b23152c8622880ee")
+ version("6.8", sha256="654855c69864de7ece5ef2f2c0dea2d32698fe51192a8646b1555b0c57e033b2")
+ version(
+ "6.7",
+ sha256="fe0ce74ff736b10d2a20c9d59025c01f88f86b00d229c123b1791f1edd7b4315",
+ url="https://gitlab.com/QEF/q-e/-/archive/qe-6.7MaX-Release/q-e-qe-6.7MaX-Release.tar.gz",
+ )
+ version("6.6", sha256="924656cb083f52e5d2fe71ade05881389dac64b45316f1bdd6dee1c6170a672c")
+ version("6.5", sha256="258b2a8a6280e86dad779e5c56356d8b35dc96d12ff33dabeee914bc03d6d602")
+ version("6.4.1", sha256="b0d7e9f617b848753ad923d8c6ca5490d5d82495f82b032b71a0ff2f2e9cfa08")
+ version("6.4", sha256="781366d03da75516fdcf9100a1caadb26ccdd1dedd942a6f8595ff0edca74bfe")
+ version("6.3", sha256="4067c8fffa957aabbd5cf2439e2fcb6cf3752325393c67a17d99fd09edf8689c")
+ version("6.2.1", sha256="11fe24b4a9d85834f8b6d429baebed8b360a685ecfae222887ed451e118a9156")
+ version("6.2.0", sha256="e204df367c8ea1a50c7534b44481841d835a542a23ae71c3e33ad712fc636c8b")
+ version("6.1.0", sha256="fd2c2eb346b3ca8f08138df5ef3f69b466c256d2119db40eea1b578b0a42c66e")
+ version("6.0.0", sha256="bc77d9553bf5a9253ae74058dffb1d6e5fb61093188e78d3b8d8564755136f19")
+ version("5.4", sha256="e3993fccae9cea04a5c6492e8b961a053a63727051cb5c4eb6008f62cda8f335")
+ version("5.3", sha256="3b26038efb9e3f8ac7a2b950c31d8c29169a3556c0b68c299eb88a4be8dc9048")
+
+ resource(
+ name="environ",
+ git="https://github.com/environ-developers/Environ.git",
+ tag="v1.1",
+ when="@6.3:6.4 +environ",
+ destination=".",
+ )
+
+ resource(
+ name="environ",
+ git="https://github.com/environ-developers/Environ.git",
+ tag="v1.0",
+ when="@6.2.1:6.2 +environ",
+ destination=".",
+ )
+
+ variant("cmake", default=True, description="Builds via CMake")
+ with when("+cmake"):
depends_on("cmake@3.14.0:", type="build")
- conflicts('@:6.7', msg='+cmake works since QE v6.8')
+ conflicts("@:6.7", msg="+cmake works since QE v6.8")
# TODO
# variant(
# 'gpu', default='none', description='Builds with GPU support',
# values=('nvidia', 'none'), multi=False
# )
- variant('libxc', default=False, description='Uses libxc')
- depends_on('libxc@5.1.2:', when='+libxc')
+ variant("libxc", default=False, description="Uses libxc")
+ depends_on("libxc@5.1.2:", when="+libxc")
- variant('openmp', default=False, description='Enables openMP support')
+ variant("openmp", default=False, description="Enables openMP support")
# Need OpenMP threaded FFTW and BLAS libraries when configured
# with OpenMP support
- with when('+openmp'):
- conflicts('^fftw~openmp')
- conflicts('^amdfftw~openmp')
- conflicts('^openblas threads=none')
- conflicts('^openblas threads=pthreads')
+ with when("+openmp"):
+ conflicts("^fftw~openmp")
+ conflicts("^amdfftw~openmp")
+ conflicts("^openblas threads=none")
+ conflicts("^openblas threads=pthreads")
# Apply upstream patches by default. Variant useful for 3rd party
# patches which are incompatible with upstream patches
- desc = 'Apply recommended upstream patches. May need to be set '
- desc = desc + 'to False for third party patches or plugins'
- variant('patch', default=True, description=desc)
+ desc = "Apply recommended upstream patches. May need to be set "
+ desc = desc + "to False for third party patches or plugins"
+ variant("patch", default=True, description=desc)
- variant('mpi', default=True, description='Builds with mpi support')
- with when('+mpi'):
- depends_on('mpi')
- variant('scalapack', default=True, description='Enables scalapack support')
+ variant("mpi", default=True, description="Builds with mpi support")
+ with when("+mpi"):
+ depends_on("mpi")
+ variant("scalapack", default=True, description="Enables scalapack support")
- with when('+scalapack'):
- depends_on('scalapack')
- variant('elpa', default=False, description='Uses elpa as an eigenvalue solver')
+ with when("+scalapack"):
+ depends_on("scalapack")
+ variant("elpa", default=False, description="Uses elpa as an eigenvalue solver")
- with when('+elpa'):
+ with when("+elpa"):
# CMake builds only support elpa without openmp
- depends_on('elpa~openmp', when='+cmake')
- depends_on('elpa+openmp', when='+openmp~cmake')
- depends_on('elpa~openmp', when='~openmp~cmake')
+ depends_on("elpa~openmp", when="+cmake")
+ depends_on("elpa+openmp", when="+openmp~cmake")
+ depends_on("elpa~openmp", when="~openmp~cmake")
# Elpa is formally supported by @:5.4.0, but QE configure searches
# for it in the wrong folders (or tries to download it within
# the build directory). Instead of patching Elpa to provide the
# folder QE expects as a link, we issue a conflict here.
- conflicts('@:5.4.0', msg='+elpa requires QE >= 6.0')
+ conflicts("@:5.4.0", msg="+elpa requires QE >= 6.0")
# Support for HDF5 has been added starting in version 6.1.0 and is
# still experimental, therefore we default to False for the variant
variant(
- 'hdf5', default='none', description='Orbital and density data I/O with HDF5',
- values=('parallel', 'serial', 'none'), multi=False
+ "hdf5",
+ default="none",
+ description="Orbital and density data I/O with HDF5",
+ values=("parallel", "serial", "none"),
+ multi=False,
)
# Versions of HDF5 prior to 1.8.16 lead to QE runtime errors
- depends_on('hdf5@1.8.16:+fortran+hl+mpi', when='hdf5=parallel')
- depends_on('hdf5@1.8.16:+fortran+hl~mpi', when='hdf5=serial')
+ depends_on("hdf5@1.8.16:+fortran+hl+mpi", when="hdf5=parallel")
+ depends_on("hdf5@1.8.16:+fortran+hl~mpi", when="hdf5=serial")
# HDF5 support introduced in 6.1.0, but the configure had some limitations.
# In recent tests (Oct 2019), GCC and Intel work with the HDF5 Spack
@@ -119,99 +126,88 @@ class QuantumEspresso(CMakePackage):
# for the serial (no MPI) case. This patch was to work around an issue
# that only manifested itself inside the Spack environment.
conflicts(
- 'hdf5=parallel',
- when='@:6.0',
- msg='parallel HDF5 support only in QE 6.1.0 and later'
+ "hdf5=parallel", when="@:6.0", msg="parallel HDF5 support only in QE 6.1.0 and later"
)
- conflicts(
- 'hdf5=serial',
- when='@:6.4.0',
- msg='serial HDF5 support only in QE 6.4.1 and later'
- )
+ conflicts("hdf5=serial", when="@:6.4.0", msg="serial HDF5 support only in QE 6.4.1 and later")
- conflicts(
- 'hdf5=parallel',
- when='~mpi',
- msg='parallel HDF5 requires MPI support'
- )
+ conflicts("hdf5=parallel", when="~mpi", msg="parallel HDF5 requires MPI support")
# QMCPACK converter patch
# https://github.com/QMCPACK/qmcpack/tree/develop/external_codes/quantum_espresso
- variant('qmcpack', default=False,
- description='Build QE-to-QMCPACK wave function converter')
+ variant("qmcpack", default=False, description="Build QE-to-QMCPACK wave function converter")
- with when('+qmcpack'):
+ with when("+qmcpack"):
# Some QMCPACK converters are incompatible with upstream patches.
# HDF5 is a hard requirement. Need to do two HDF5 cases explicitly
# since Spack lacks support for expressing NOT operation.
conflicts(
- '@6.4+patch',
- msg='QE-to-QMCPACK wave function converter requires '
- 'deactivatation of upstream patches'
+ "@6.4+patch",
+ msg="QE-to-QMCPACK wave function converter requires "
+ "deactivatation of upstream patches",
)
conflicts(
- '@6.3:6.4.0 hdf5=serial',
- msg='QE-to-QMCPACK wave function converter only '
- 'supported with parallel HDF5'
- )
- conflicts(
- '@:7.0 hdf5=none',
- msg='QE-to-QMCPACK wave function converter requires HDF5'
+ "@6.3:6.4.0 hdf5=serial",
+ msg="QE-to-QMCPACK wave function converter only " "supported with parallel HDF5",
)
+ conflicts("@:7.0 hdf5=none", msg="QE-to-QMCPACK wave function converter requires HDF5")
# QE > 7.0, the converter for QMCPACK can be built without hdf5 enabled in QE.
# The converter for QMCPACK itself still needs hdf5 library
- with when('@7.0.1:'):
+ with when("@7.0.1:"):
# when QE doesn't use hdf5 library, the converter plugin still needs it
- depends_on('hdf5@1.8.16:+hl~mpi', when='hdf5=none')
- conflicts(
- '~cmake',
- msg='QE-to-QMCPACK wave function converter requires cmake'
- )
+ depends_on("hdf5@1.8.16:+hl~mpi", when="hdf5=none")
+ conflicts("~cmake", msg="QE-to-QMCPACK wave function converter requires cmake")
# Enables building Electron-phonon Wannier 'epw.x' executable
# http://epw.org.uk/Main/About
- variant('epw', default=False,
- description='Builds Electron-phonon Wannier executable')
- conflicts('~epw', when='+cmake', msg='epw cannot be turned off when using CMake')
+ variant("epw", default=False, description="Builds Electron-phonon Wannier executable")
+ conflicts("~epw", when="+cmake", msg="epw cannot be turned off when using CMake")
- with when('+epw'):
+ with when("+epw"):
# The first version of Q-E to feature integrated EPW is 6.0.0,
# as per http://epw.org.uk/Main/DownloadAndInstall .
# Complain if trying to install a version older than this.
- conflicts('@:5', msg='EPW only available from version 6.0.0 and on')
+ conflicts("@:5", msg="EPW only available from version 6.0.0 and on")
# Below goes some constraints as shown in the link above.
# Constraints may be relaxed as successful reports
# of different compiler+mpi combinations arrive
# TODO: enable building EPW when ~mpi and ~cmake
- conflicts('~mpi', when='~cmake', msg='EPW needs MPI when ~cmake')
+ conflicts("~mpi", when="~cmake", msg="EPW needs MPI when ~cmake")
# EPW doesn't gets along well with OpenMPI 2.x.x
- conflicts('^openmpi@2.0.0:2',
- msg='OpenMPI version incompatible with EPW')
+ conflicts("^openmpi@2.0.0:2", msg="OpenMPI version incompatible with EPW")
# EPW also doesn't gets along well with PGI 17.x + OpenMPI 1.10.7
- conflicts('^openmpi@1.10.7%pgi@17.0:17.12',
- msg='PGI+OpenMPI version combo incompatible with EPW')
+ conflicts(
+ "^openmpi@1.10.7%pgi@17.0:17.12", msg="PGI+OpenMPI version combo incompatible with EPW"
+ )
- variant('environ', default=False,
- description='Enables support for introducing environment effects '
- 'into atomistic first-principles simulations.'
- 'See http://quantum-environ.org/about.html')
- conflicts('+environ', when='+cmake', msg='environ doesn\'t work with CMake')
+ variant(
+ "environ",
+ default=False,
+ description="Enables support for introducing environment effects "
+ "into atomistic first-principles simulations."
+ "See http://quantum-environ.org/about.html",
+ )
+ conflicts("+environ", when="+cmake", msg="environ doesn't work with CMake")
- variant('gipaw', default=False,
- description='Builds Gauge-Including Projector Augmented-Waves executable')
- with when('+gipaw'):
- conflicts('+cmake', msg='gipaw doesn\'t work with CMake')
- conflicts('@:6.3', msg='gipaw standard support available for QE 6.3 or grater version only')
+ variant(
+ "gipaw",
+ default=False,
+ description="Builds Gauge-Including Projector Augmented-Waves executable",
+ )
+ with when("+gipaw"):
+ conflicts("+cmake", msg="gipaw doesn't work with CMake")
+ conflicts(
+ "@:6.3", msg="gipaw standard support available for QE 6.3 or grater version only"
+ )
# Dependencies not affected by variants
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw-api@3')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw-api@3")
# CONFLICTS SECTION
# Omitted for now due to concretizer bug
@@ -227,128 +223,147 @@ class QuantumEspresso(CMakePackage):
# upstream patches using `~patch` variant
# QMCPACK converter patches for QE 6.8, 6.7, 6.4.1, 6.4, and 6.3
- conflicts('@:6.2,6.5:6.6', when='+qmcpack',
- msg='QMCPACK converter NOT available for this version of QE')
+ conflicts(
+ "@:6.2,6.5:6.6",
+ when="+qmcpack",
+ msg="QMCPACK converter NOT available for this version of QE",
+ )
# Internal compiler error gcc8 and a64fx, I check only 6.5 and 6.6
- conflicts('@5.3:', when='%gcc@8 target=a64fx',
- msg='Internal compiler error with gcc8 and a64fx')
+ conflicts(
+ "@5.3:", when="%gcc@8 target=a64fx", msg="Internal compiler error with gcc8 and a64fx"
+ )
- conflicts('@6.5:', when='+environ',
- msg='6.4.x is the latest QE series supported by Environ')
+ conflicts("@6.5:", when="+environ", msg="6.4.x is the latest QE series supported by Environ")
# No patch needed for QMCPACK converter beyond 7.0
# 7.0
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-7.0.diff'
- patch_checksum = 'ef60641d8b953b4ba21d9c662b172611305bb63786996ad6e81e7609891677ff'
- patch(patch_url, sha256=patch_checksum, when='@7.0+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-7.0.diff"
+ patch_checksum = "ef60641d8b953b4ba21d9c662b172611305bb63786996ad6e81e7609891677ff"
+ patch(patch_url, sha256=patch_checksum, when="@7.0+qmcpack")
# 6.8
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.8.diff'
- patch_checksum = '69f7fbd72aba810c35a0b034188e45bea8f9f11d3150c0715e1b3518d5c09248'
- patch(patch_url, sha256=patch_checksum, when='@6.8+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.8.diff"
+ patch_checksum = "69f7fbd72aba810c35a0b034188e45bea8f9f11d3150c0715e1b3518d5c09248"
+ patch(patch_url, sha256=patch_checksum, when="@6.8+qmcpack")
# 6.7
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.7.0.diff'
- patch_checksum = '72564c168231dd4a1279a74e76919af701d47cee9a851db6e205753004fe9bb5'
- patch(patch_url, sha256=patch_checksum, when='@6.7+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.7.0.diff"
+ patch_checksum = "72564c168231dd4a1279a74e76919af701d47cee9a851db6e205753004fe9bb5"
+ patch(patch_url, sha256=patch_checksum, when="@6.7+qmcpack")
# 6.4.1
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.4.1.diff'
- patch_checksum = '57cb1b06ee2653a87c3acc0dd4f09032fcf6ce6b8cbb9677ae9ceeb6a78f85e2'
- patch(patch_url, sha256=patch_checksum, when='@6.4.1+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.4.1.diff"
+ patch_checksum = "57cb1b06ee2653a87c3acc0dd4f09032fcf6ce6b8cbb9677ae9ceeb6a78f85e2"
+ patch(patch_url, sha256=patch_checksum, when="@6.4.1+qmcpack")
# 6.4
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.4.diff'
- patch_checksum = 'ef08f5089951be902f0854a4dbddaa7b01f08924cdb27decfade6bef0e2b8994'
- patch(patch_url, sha256=patch_checksum, when='@6.4:6.4.0+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.4.diff"
+ patch_checksum = "ef08f5089951be902f0854a4dbddaa7b01f08924cdb27decfade6bef0e2b8994"
+ patch(patch_url, sha256=patch_checksum, when="@6.4:6.4.0+qmcpack")
# 6.3
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.3.diff'
- patch_checksum = '2ee346e24926479f5e96f8dc47812173a8847a58354bbc32cf2114af7a521c13'
- patch(patch_url, sha256=patch_checksum, when='@6.3+qmcpack')
+ patch_url = "https://raw.githubusercontent.com/QMCPACK/qmcpack/v3.13.0/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.3.diff"
+ patch_checksum = "2ee346e24926479f5e96f8dc47812173a8847a58354bbc32cf2114af7a521c13"
+ patch(patch_url, sha256=patch_checksum, when="@6.3+qmcpack")
# ELPA
- patch('dspev_drv_elpa.patch', when='@6.1.0:+elpa ^elpa@2016.05.004')
- patch('dspev_drv_elpa.patch', when='@6.1.0:+elpa ^elpa@2016.05.003')
+ patch("dspev_drv_elpa.patch", when="@6.1.0:+elpa ^elpa@2016.05.004")
+ patch("dspev_drv_elpa.patch", when="@6.1.0:+elpa ^elpa@2016.05.003")
# QE UPSTREAM PATCHES
# QE 6.6 fix conpile error when FFT_LIBS is specified.
- patch('https://gitlab.com/QEF/q-e/-/commit/cf1fedefc20d39f5cd7551ded700ea4c77ad6e8f.diff',
- sha256='8f179663a8d031aff9b1820a32449942281195b6e7b1ceaab1f729651b43fa58',
- when='+patch@6.6')
+ patch(
+ "https://gitlab.com/QEF/q-e/-/commit/cf1fedefc20d39f5cd7551ded700ea4c77ad6e8f.diff",
+ sha256="8f179663a8d031aff9b1820a32449942281195b6e7b1ceaab1f729651b43fa58",
+ when="+patch@6.6",
+ )
# QE 6.5 INTENT(OUT) without settig value in tetra_weights_only(..., ef):
# For Fujitsu compiler
- patch('https://gitlab.com/QEF/q-e/-/commit/8f096b53e75026701c681c508e2c24a9378c0950.diff',
- sha256='f4f1cce4182b57ac797c8f6ec8460fe375ee96385fcd8f6a61e1460bc957eb67',
- when='+patch@6.5')
+ patch(
+ "https://gitlab.com/QEF/q-e/-/commit/8f096b53e75026701c681c508e2c24a9378c0950.diff",
+ sha256="f4f1cce4182b57ac797c8f6ec8460fe375ee96385fcd8f6a61e1460bc957eb67",
+ when="+patch@6.5",
+ )
# QE 6.5 Fix INTENT
# For Fujitsu compiler
- patch('https://gitlab.com/QEF/q-e/-/commit/c2a86201ed72693ffa50cc99b22f5d3365ae2c2b.diff',
- sha256='b2dadc0bc008a3ad4b74ae85cc380dd2b63f2ae43a634e6f9d8db8077efcea6c',
- when='+patch@6.5')
+ patch(
+ "https://gitlab.com/QEF/q-e/-/commit/c2a86201ed72693ffa50cc99b22f5d3365ae2c2b.diff",
+ sha256="b2dadc0bc008a3ad4b74ae85cc380dd2b63f2ae43a634e6f9d8db8077efcea6c",
+ when="+patch@6.5",
+ )
# QE 6.3 requires multiple patches to fix MKL detection
# There may still be problems on Mac with MKL detection
- patch('https://gitlab.com/QEF/q-e/commit/0796e1b7c55c9361ecb6515a0979280e78865e36.diff',
- sha256='bc8c5b8523156cee002d97dab42a5976dffae20605da485a427b902a236d7e6b',
- when='+patch@6.3:6.3.0')
+ patch(
+ "https://gitlab.com/QEF/q-e/commit/0796e1b7c55c9361ecb6515a0979280e78865e36.diff",
+ sha256="bc8c5b8523156cee002d97dab42a5976dffae20605da485a427b902a236d7e6b",
+ when="+patch@6.3:6.3.0",
+ )
# QE 6.3 `make install` broken and a patch must be applied
- patch('https://gitlab.com/QEF/q-e/commit/88e6558646dbbcfcafa5f3fa758217f6062ab91c.diff',
- sha256='b776890d008e16cca28c31299c62f47de0ba606b900b17cbc27c041f45e564ca',
- when='+patch@6.3:6.3.0')
+ patch(
+ "https://gitlab.com/QEF/q-e/commit/88e6558646dbbcfcafa5f3fa758217f6062ab91c.diff",
+ sha256="b776890d008e16cca28c31299c62f47de0ba606b900b17cbc27c041f45e564ca",
+ when="+patch@6.3:6.3.0",
+ )
# QE 6.4.1 patch to work around configure issues that only appear in the
# Spack environment. We now are able to support:
# `spack install qe~mpi~scalapack hdf5=serial`
- patch('https://gitlab.com/QEF/q-e/commit/5fb1195b0844e1052b7601f18ab5c700f9cbe648.diff',
- sha256='b1aa3179ee1c069964fb9c21f3b832aebeae54947ce8d3cc1a74e7b154c3c10f',
- when='+patch@6.4.1:6.5.0')
+ patch(
+ "https://gitlab.com/QEF/q-e/commit/5fb1195b0844e1052b7601f18ab5c700f9cbe648.diff",
+ sha256="b1aa3179ee1c069964fb9c21f3b832aebeae54947ce8d3cc1a74e7b154c3c10f",
+ when="+patch@6.4.1:6.5.0",
+ )
# QE 6.4.1 Fix intent for Fujitsu compiler
- patch('fj-intent.6.4.1.patch', when='+patch@6.4.1')
+ patch("fj-intent.6.4.1.patch", when="+patch@6.4.1")
# QE 6.4.1 Fix intent
- patch('https://gitlab.com/QEF/q-e/-/commit/c2a86201ed72693ffa50cc99b22f5d3365ae2c2b.diff',
- sha256='b2dadc0bc008a3ad4b74ae85cc380dd2b63f2ae43a634e6f9d8db8077efcea6c',
- when='+patch@6.4.1')
+ patch(
+ "https://gitlab.com/QEF/q-e/-/commit/c2a86201ed72693ffa50cc99b22f5d3365ae2c2b.diff",
+ sha256="b2dadc0bc008a3ad4b74ae85cc380dd2b63f2ae43a634e6f9d8db8077efcea6c",
+ when="+patch@6.4.1",
+ )
# QE 6.4.1 Small fixes for XLF compilation
- patch('https://gitlab.com/QEF/q-e/-/commit/cf088926d68792cbaea48960c222e336a3965df6.diff',
- sha256='bbceba1fb08d01d548d4393bbcaeae966def13f75884268a0f84448457b8eaa3',
- when='+patch@6.4.1:6.5.0')
+ patch(
+ "https://gitlab.com/QEF/q-e/-/commit/cf088926d68792cbaea48960c222e336a3965df6.diff",
+ sha256="bbceba1fb08d01d548d4393bbcaeae966def13f75884268a0f84448457b8eaa3",
+ when="+patch@6.4.1:6.5.0",
+ )
# Configure updated to work with AOCC compilers
- patch('configure_aocc.patch', when='@6.7:6.8 %aocc')
+ patch("configure_aocc.patch", when="@6.7:6.8 %aocc")
# Configure updated to work with NVIDIA compilers
- patch('nvhpc.patch', when='@6.5 %nvhpc')
+ patch("nvhpc.patch", when="@6.5 %nvhpc")
# Configure updated to work with Fujitsu compilers
- patch('fj.6.5.patch', when='@6.5+patch %fj')
- patch('fj.6.6.patch', when='@6.6:6.7+patch %fj')
+ patch("fj.6.5.patch", when="@6.5+patch %fj")
+ patch("fj.6.6.patch", when="@6.6:6.7+patch %fj")
# extlibs_makefile updated to work with fujitsu compilers
- patch('fj-fox.patch', when='+patch %fj')
+ patch("fj-fox.patch", when="+patch %fj")
def cmake_args(self):
spec = self.spec
cmake_args = [
- self.define_from_variant('QE_ENABLE_MPI', 'mpi'),
- self.define_from_variant('QE_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('QE_ENABLE_SCALAPACK', 'scalapack'),
- self.define_from_variant('QE_ENABLE_ELPA', 'elpa'),
- self.define_from_variant('QE_ENABLE_LIBXC', 'libxc'),
+ self.define_from_variant("QE_ENABLE_MPI", "mpi"),
+ self.define_from_variant("QE_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("QE_ENABLE_SCALAPACK", "scalapack"),
+ self.define_from_variant("QE_ENABLE_ELPA", "elpa"),
+ self.define_from_variant("QE_ENABLE_LIBXC", "libxc"),
]
# QE prefers taking MPI compiler wrappers as CMake compilers.
- if '+mpi' in spec:
- cmake_args.append(self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc))
- cmake_args.append(self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc))
+ if "+mpi" in spec:
+ cmake_args.append(self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc))
+ cmake_args.append(self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc))
- if not spec.satisfies('hdf5=none'):
- cmake_args.append(self.define('QE_ENABLE_HDF5', True))
+ if not spec.satisfies("hdf5=none"):
+ cmake_args.append(self.define("QE_ENABLE_HDF5", True))
- if '+qmcpack' in spec:
- cmake_args.append(self.define('QE_ENABLE_PW2QMCPACK', True))
+ if "+qmcpack" in spec:
+ cmake_args.append(self.define("QE_ENABLE_PW2QMCPACK", True))
return cmake_args
@@ -364,8 +379,8 @@ class QuantumEspresso(CMakePackage):
def install(self, spec, prefix):
print("Override install stage when building via configure")
- prefix_path = prefix.bin if '@:5.4.0' in spec else prefix
- options = ['-prefix={0}'.format(prefix_path)]
+ prefix_path = prefix.bin if "@:5.4.0" in spec else prefix
+ options = ["-prefix={0}".format(prefix_path)]
# This additional flag is needed anytime the target architecture
# does not match the host architecture, which results in a binary that
@@ -375,10 +390,9 @@ class QuantumEspresso(CMakePackage):
# scenario. This should cover Cray, BG/Q, and other custom platforms.
# The other option is to list out all the platform where you would be
# cross compiling explicitly.
- if not (spec.satisfies('platform=linux') or
- spec.satisfies('platform=darwin')):
- if spec.satisfies('target=backend'):
- options.append('--host')
+ if not (spec.satisfies("platform=linux") or spec.satisfies("platform=darwin")):
+ if spec.satisfies("target=backend"):
+ options.append("--host")
# QE autoconf compiler variables has some limitations:
# 1. There is no explicit MPICC variable so we must re-purpose
@@ -389,20 +403,20 @@ class QuantumEspresso(CMakePackage):
# Thus, due to 2. and 3. the F90 variable is not explictly set
# because it would be mostly pointless and could lead to erroneous
# behaviour.
- if '+mpi' in spec:
- mpi = spec['mpi']
- options.append('--enable-parallel=yes')
- options.append('MPIF90={0}'.format(mpi.mpifc))
- options.append('CC={0}'.format(mpi.mpicc))
+ if "+mpi" in spec:
+ mpi = spec["mpi"]
+ options.append("--enable-parallel=yes")
+ options.append("MPIF90={0}".format(mpi.mpifc))
+ options.append("CC={0}".format(mpi.mpicc))
else:
- options.append('--enable-parallel=no')
- options.append('CC={0}'.format(env['SPACK_CC']))
+ options.append("--enable-parallel=no")
+ options.append("CC={0}".format(env["SPACK_CC"]))
- options.append('F77={0}'.format(env['SPACK_F77']))
- options.append('F90={0}'.format(env['SPACK_FC']))
+ options.append("F77={0}".format(env["SPACK_F77"]))
+ options.append("F90={0}".format(env["SPACK_FC"]))
- if '+openmp' in spec:
- options.append('--enable-openmp')
+ if "+openmp" in spec:
+ options.append("--enable-openmp")
# QE external BLAS, FFT, SCALAPACK detection is a bit tricky.
# More predictable to pass in the correct link line to QE.
@@ -417,28 +431,26 @@ class QuantumEspresso(CMakePackage):
# you need to pass it in the FFTW_INCLUDE and FFT_LIBS directory.
# QE supports an internal FFTW2, but only an external FFTW3 interface.
- if '^mkl' in spec:
+ if "^mkl" in spec:
# A seperate FFT library is not needed when linking against MKL
- options.append(
- 'FFTW_INCLUDE={0}'.format(join_path(env['MKLROOT'],
- 'include/fftw')))
- if '^fftw@3:' in spec:
- fftw_prefix = spec['fftw'].prefix
- options.append('FFTW_INCLUDE={0}'.format(fftw_prefix.include))
- if '+openmp' in spec:
- fftw_ld_flags = spec['fftw:openmp'].libs.ld_flags
+ options.append("FFTW_INCLUDE={0}".format(join_path(env["MKLROOT"], "include/fftw")))
+ if "^fftw@3:" in spec:
+ fftw_prefix = spec["fftw"].prefix
+ options.append("FFTW_INCLUDE={0}".format(fftw_prefix.include))
+ if "+openmp" in spec:
+ fftw_ld_flags = spec["fftw:openmp"].libs.ld_flags
else:
- fftw_ld_flags = spec['fftw'].libs.ld_flags
- options.append('FFT_LIBS={0}'.format(fftw_ld_flags))
-
- if '^amdfftw' in spec:
- fftw_prefix = spec['amdfftw'].prefix
- options.append('FFTW_INCLUDE={0}'.format(fftw_prefix.include))
- if '+openmp' in spec:
- fftw_ld_flags = spec['amdfftw:openmp'].libs.ld_flags
+ fftw_ld_flags = spec["fftw"].libs.ld_flags
+ options.append("FFT_LIBS={0}".format(fftw_ld_flags))
+
+ if "^amdfftw" in spec:
+ fftw_prefix = spec["amdfftw"].prefix
+ options.append("FFTW_INCLUDE={0}".format(fftw_prefix.include))
+ if "+openmp" in spec:
+ fftw_ld_flags = spec["amdfftw:openmp"].libs.ld_flags
else:
- fftw_ld_flags = spec['amdfftw'].libs.ld_flags
- options.append('FFT_LIBS={0}'.format(fftw_ld_flags))
+ fftw_ld_flags = spec["amdfftw"].libs.ld_flags
+ options.append("FFT_LIBS={0}".format(fftw_ld_flags))
# External BLAS and LAPACK requires the correct link line into
# BLAS_LIBS, do no use LAPACK_LIBS as the autoconf scripts indicate
@@ -446,7 +458,7 @@ class QuantumEspresso(CMakePackage):
# For many Spack packages, lapack.libs = blas.libs, hence it will
# appear twice in in link line but this is harmless
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
# qe-6.5 fails to detect MKL for FFT if BLAS_LIBS is set due to
# an unfortunate upsteam change in their autoconf/configure:
@@ -458,72 +470,71 @@ class QuantumEspresso(CMakePackage):
# BLAS_LIBS being set
# However, MKL is correctly picked up by qe-6.5 for BLAS and FFT if
# MKLROOT is set (which SPACK does automatically for ^mkl)
- if spec.satisfies('@:6.4'): # set even if MKL is selected
- options.append('BLAS_LIBS={0}'.format(lapack_blas.ld_flags))
+ if spec.satisfies("@:6.4"): # set even if MKL is selected
+ options.append("BLAS_LIBS={0}".format(lapack_blas.ld_flags))
else: # behavior changed at 6.5 and later
- if not spec.satisfies('^mkl'):
- options.append('BLAS_LIBS={0}'.format(lapack_blas.ld_flags))
+ if not spec.satisfies("^mkl"):
+ options.append("BLAS_LIBS={0}".format(lapack_blas.ld_flags))
- if '+scalapack' in spec:
- if '^mkl' in spec:
- if '^openmpi' in spec:
- scalapack_option = 'yes'
+ if "+scalapack" in spec:
+ if "^mkl" in spec:
+ if "^openmpi" in spec:
+ scalapack_option = "yes"
else: # mpich, intel-mpi
- scalapack_option = 'intel'
+ scalapack_option = "intel"
else:
- scalapack_option = 'yes'
- options.append('--with-scalapack={0}'.format(scalapack_option))
- scalapack_lib = spec['scalapack'].libs
- options.append('SCALAPACK_LIBS={0}'.format(scalapack_lib.ld_flags))
+ scalapack_option = "yes"
+ options.append("--with-scalapack={0}".format(scalapack_option))
+ scalapack_lib = spec["scalapack"].libs
+ options.append("SCALAPACK_LIBS={0}".format(scalapack_lib.ld_flags))
- if '+libxc' in spec:
- options.append('--with-libxc=yes')
- options.append('--with-libxc-prefix={0}'.format(spec['libxc'].prefix))
+ if "+libxc" in spec:
+ options.append("--with-libxc=yes")
+ options.append("--with-libxc-prefix={0}".format(spec["libxc"].prefix))
- if '+elpa' in spec:
+ if "+elpa" in spec:
# Spec for elpa
- elpa = spec['elpa']
+ elpa = spec["elpa"]
# Compute the include directory from there: versions
# of espresso prior to 6.1 requires -I in front of the directory
- elpa_include = '' if '@6.1:' in spec else '-I'
- elpa_include += join_path(
- elpa.headers.directories[0],
- 'modules'
+ elpa_include = "" if "@6.1:" in spec else "-I"
+ elpa_include += join_path(elpa.headers.directories[0], "modules")
+
+ options.extend(
+ [
+ "--with-elpa-include={0}".format(elpa_include),
+ "--with-elpa-version={0}".format(elpa.version.version[0]),
+ ]
)
- options.extend([
- '--with-elpa-include={0}'.format(elpa_include),
- '--with-elpa-version={0}'.format(elpa.version.version[0]),
- ])
-
- elpa_suffix = '_openmp' if '+openmp' in elpa else ''
+ elpa_suffix = "_openmp" if "+openmp" in elpa else ""
# Currently AOCC support only static libraries of ELPA
- if '%aocc' in spec:
- options.extend([
- '--with-elpa-lib={0}'.format(
- join_path(elpa.prefix.lib,
- 'libelpa{elpa_suffix}.a'
- .format(elpa_suffix=elpa_suffix)))
- ])
+ if "%aocc" in spec:
+ options.extend(
+ [
+ "--with-elpa-lib={0}".format(
+ join_path(
+ elpa.prefix.lib,
+ "libelpa{elpa_suffix}.a".format(elpa_suffix=elpa_suffix),
+ )
+ )
+ ]
+ )
else:
- options.extend([
- '--with-elpa-lib={0}'.format(elpa.libs[0])
- ])
-
- if spec.variants['hdf5'].value != 'none':
- options.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
- if spec.satisfies('@6.4.1,6.5'):
- options.extend([
- '--with-hdf5-include={0}'.format(
- spec['hdf5'].headers.directories[0]
- ),
- '--with-hdf5-libs={0}'.format(
- spec['hdf5:hl,fortran'].libs.ld_flags
- )
- ])
+ options.extend(["--with-elpa-lib={0}".format(elpa.libs[0])])
+
+ if spec.variants["hdf5"].value != "none":
+ options.append("--with-hdf5={0}".format(spec["hdf5"].prefix))
+ if spec.satisfies("@6.4.1,6.5"):
+ options.extend(
+ [
+ "--with-hdf5-include={0}".format(spec["hdf5"].headers.directories[0]),
+ "--with-hdf5-libs={0}".format(spec["hdf5:hl,fortran"].libs.ld_flags),
+ ]
+ )
configure(*options)
@@ -531,44 +542,41 @@ class QuantumEspresso(CMakePackage):
# QE 6.1.0 to QE 6.4 have `-L` missing in front of zlib library
# This issue is backported through an internal patch in 6.4.1, but
# can't be applied to the '+qmcpack' variant
- if spec.variants['hdf5'].value != 'none':
- if (spec.satisfies('@6.1.0:6.4.0') or
- (spec.satisfies('@6.4.1') and '+qmcpack' in spec)):
- make_inc = join_path(self.stage.source_path, 'make.inc')
- zlib_libs = spec['zlib'].prefix.lib + ' -lz'
- filter_file(
- zlib_libs, format(spec['zlib'].libs.ld_flags), make_inc
- )
+ if spec.variants["hdf5"].value != "none":
+ if spec.satisfies("@6.1.0:6.4.0") or (spec.satisfies("@6.4.1") and "+qmcpack" in spec):
+ make_inc = join_path(self.stage.source_path, "make.inc")
+ zlib_libs = spec["zlib"].prefix.lib + " -lz"
+ filter_file(zlib_libs, format(spec["zlib"].libs.ld_flags), make_inc)
# QE 6.6 and later has parallel builds fixed
- if spec.satisfies('@:6.5'):
+ if spec.satisfies("@:6.5"):
parallel_build_on = False
else:
parallel_build_on = True
- if '+epw' in spec:
- make('all', 'epw', parallel=parallel_build_on)
+ if "+epw" in spec:
+ make("all", "epw", parallel=parallel_build_on)
else:
- make('all', parallel=parallel_build_on)
+ make("all", parallel=parallel_build_on)
- if '+gipaw' in spec:
- make('gipaw', parallel=False)
+ if "+gipaw" in spec:
+ make("gipaw", parallel=False)
- if '+environ' in spec:
- addsonpatch = Executable('./install/addsonpatch.sh')
- environpatch = Executable('./Environ/patches/environpatch.sh')
- makedeps = Executable('./install/makedeps.sh')
+ if "+environ" in spec:
+ addsonpatch = Executable("./install/addsonpatch.sh")
+ environpatch = Executable("./Environ/patches/environpatch.sh")
+ makedeps = Executable("./install/makedeps.sh")
- addsonpatch('Environ', 'Environ/src', 'Modules', '-patch')
+ addsonpatch("Environ", "Environ/src", "Modules", "-patch")
- environpatch('-patch')
+ environpatch("-patch")
makedeps()
- make('pw', parallel=parallel_build_on)
+ make("pw", parallel=parallel_build_on)
- if 'platform=darwin' in spec:
+ if "platform=darwin" in spec:
mkdirp(prefix.bin)
- install('bin/*.x', prefix.bin)
+ install("bin/*.x", prefix.bin)
else:
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/quartz/package.py b/var/spack/repos/builtin/packages/quartz/package.py
index 6fc730836c..aafbcc662d 100644
--- a/var/spack/repos/builtin/packages/quartz/package.py
+++ b/var/spack/repos/builtin/packages/quartz/package.py
@@ -13,9 +13,9 @@ class Quartz(MavenPackage):
to the largest e-commerce system."""
homepage = "https://www.quartz-scheduler.org/"
- url = "https://github.com/quartz-scheduler/quartz/archive/v2.3.2.tar.gz"
+ url = "https://github.com/quartz-scheduler/quartz/archive/v2.3.2.tar.gz"
- version('2.3.2', sha256='058c64777956aeaad3e79e2307f0f512c66d29acf026ea8373ad359050f6856c')
- version('2.3.1', sha256='3b92fc4d562bb428ebc4c1fc7cbb5b764830d8317c20a011fbcee42601b72415')
+ version("2.3.2", sha256="058c64777956aeaad3e79e2307f0f512c66d29acf026ea8373ad359050f6856c")
+ version("2.3.1", sha256="3b92fc4d562bb428ebc4c1fc7cbb5b764830d8317c20a011fbcee42601b72415")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/qucs/package.py b/var/spack/repos/builtin/packages/qucs/package.py
index 1fee3bee0c..e76c43db67 100644
--- a/var/spack/repos/builtin/packages/qucs/package.py
+++ b/var/spack/repos/builtin/packages/qucs/package.py
@@ -18,47 +18,49 @@ class Qucs(AutotoolsPackage):
"""
homepage = "http://qucs.sourceforge.net/"
- url = "https://sourceforge.net/projects/qucs/files/qucs/0.0.19/qucs-0.0.19.tar.gz"
- git = "https://git.code.sf.net/p/qucs/git"
+ url = "https://sourceforge.net/projects/qucs/files/qucs/0.0.19/qucs-0.0.19.tar.gz"
+ git = "https://git.code.sf.net/p/qucs/git"
- version('master', branch='master')
- version('0.0.19', sha256='45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e')
- version('0.0.18', sha256='3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7')
+ version("master", branch="master")
+ version("0.0.19", sha256="45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e")
+ version("0.0.18", sha256="3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7")
# Can use external simulators:
variant(
- 'simulators', default='qucs', multi=True,
- values=('qucs', 'ngspice', 'xyce'),
- description='Circuits simulators (builtin qucsator and external ngspice, xyce)'
+ "simulators",
+ default="qucs",
+ multi=True,
+ values=("qucs", "ngspice", "xyce"),
+ description="Circuits simulators (builtin qucsator and external ngspice, xyce)",
)
- depends_on('flex@2.5.9:', type='build')
- depends_on('bison@2.5:', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("flex@2.5.9:", type="build")
+ depends_on("bison@2.5:", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on("autoconf@2.64:", type='build')
- depends_on("automake@1.7.0:", type='build')
- depends_on("libtool", type='build')
- depends_on("m4", type='build')
+ depends_on("autoconf@2.64:", type="build")
+ depends_on("automake@1.7.0:", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('adms', when='@0.0.19:')
- depends_on('qt@4.8.5:4.8.7')
- depends_on('gperf@3.0.1:')
+ depends_on("adms", when="@0.0.19:")
+ depends_on("qt@4.8.5:4.8.7")
+ depends_on("gperf@3.0.1:")
# Simulators can be qucsator, the Circuit simulator of the Qucs project
# from https://github.com/Qucs/qucsator, or they can also be provided by
# ngspice and xyce.
# See https://qucs-help.readthedocs.io/en/spice4qucs/BasSim.html
- depends_on('ngspice build=bin', type='run', when='simulators=ngspice')
- depends_on('xyce', type='run', when='simulators=xyce')
+ depends_on("ngspice build=bin", type="run", when="simulators=ngspice")
+ depends_on("xyce", type="run", when="simulators=xyce")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- if os.path.exists('bootstrap'):
- sh('./bootstrap')
+ sh = which("sh")
+ if os.path.exists("bootstrap"):
+ sh("./bootstrap")
else:
- sh('./autogen.sh')
+ sh("./autogen.sh")
def configure_args(self):
- args = ['--disable-doc']
+ args = ["--disable-doc"]
return args
diff --git a/var/spack/repos/builtin/packages/quicksilver/package.py b/var/spack/repos/builtin/packages/quicksilver/package.py
index 3aeec9900c..724067f1b7 100644
--- a/var/spack/repos/builtin/packages/quicksilver/package.py
+++ b/var/spack/repos/builtin/packages/quicksilver/package.py
@@ -8,50 +8,50 @@ from spack.package import *
class Quicksilver(MakefilePackage):
"""Quicksilver is a proxy application that represents some elements of the
- Mercury workload.
+ Mercury workload.
"""
- tags = ['proxy-app']
+ tags = ["proxy-app"]
homepage = "https://codesign.llnl.gov/quicksilver.php"
- url = "https://github.com/LLNL/Quicksilver/tarball/V1.0"
- git = "https://github.com/LLNL/Quicksilver.git"
+ url = "https://github.com/LLNL/Quicksilver/tarball/V1.0"
+ git = "https://github.com/LLNL/Quicksilver.git"
- maintainers = ['richards12']
+ maintainers = ["richards12"]
- version('master', branch='master')
- version('1.0', sha256='83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a')
+ version("master", branch="master")
+ version("1.0", sha256="83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a")
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('mpi', default=True, description='Build with MPI support')
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("mpi", default=True, description="Build with MPI support")
- depends_on('mpi', when="+mpi")
+ depends_on("mpi", when="+mpi")
- build_directory = 'src'
+ build_directory = "src"
@property
def build_targets(self):
targets = []
spec = self.spec
- targets.append('CXXFLAGS={0}'.format(self.compiler.cxx11_flag))
+ targets.append("CXXFLAGS={0}".format(self.compiler.cxx11_flag))
- if '+mpi' in spec:
- targets.append('CXX={0}'.format(spec['mpi'].mpicxx))
+ if "+mpi" in spec:
+ targets.append("CXX={0}".format(spec["mpi"].mpicxx))
else:
- targets.append('CXX={0}'.format(spack_cxx))
+ targets.append("CXX={0}".format(spack_cxx))
- if '+openmp+mpi' in spec:
- targets.append('CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}'.format(
- self.compiler.openmp_flag))
- elif '+openmp' in spec:
- targets.append('CPPFLAGS=-DHAVE_OPENMP {0}'.format(
- self.compiler.openmp_flag))
- elif '+mpi' in spec:
- targets.append('CPPFLAGS=-DHAVE_MPI')
+ if "+openmp+mpi" in spec:
+ targets.append(
+ "CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)
+ )
+ elif "+openmp" in spec:
+ targets.append("CPPFLAGS=-DHAVE_OPENMP {0}".format(self.compiler.openmp_flag))
+ elif "+mpi" in spec:
+ targets.append("CPPFLAGS=-DHAVE_MPI")
- if '+openmp' in self.spec:
- targets.append('LDFLAGS={0}'.format(self.compiler.openmp_flag))
+ if "+openmp" in self.spec:
+ targets.append("LDFLAGS={0}".format(self.compiler.openmp_flag))
return targets
@@ -59,6 +59,6 @@ class Quicksilver(MakefilePackage):
mkdir(prefix.bin)
mkdir(prefix.doc)
install("src/qs", prefix.bin)
- install('LICENSE.md', prefix.doc)
- install('README.md', prefix.doc)
- install_tree('Examples', prefix.Examples)
+ install("LICENSE.md", prefix.doc)
+ install("README.md", prefix.doc)
+ install_tree("Examples", prefix.Examples)
diff --git a/var/spack/repos/builtin/packages/quinoa/package.py b/var/spack/repos/builtin/packages/quinoa/package.py
index 57a94b60c7..b34578df8c 100644
--- a/var/spack/repos/builtin/packages/quinoa/package.py
+++ b/var/spack/repos/builtin/packages/quinoa/package.py
@@ -10,17 +10,17 @@ from spack.pkg.builtin.boost import Boost
class Quinoa(CMakePackage):
"""Quinoa is a set of computational tools that enables research and
- numerical analysis in fluid dynamics. At this time it is a test-bed
- to experiment with various algorithms using fully asynchronous runtime
- systems.
+ numerical analysis in fluid dynamics. At this time it is a test-bed
+ to experiment with various algorithms using fully asynchronous runtime
+ systems.
"""
homepage = "https://quinoacomputing.org"
- git = "https://github.com/quinoacomputing/quinoa.git"
+ git = "https://github.com/quinoacomputing/quinoa.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('hdf5+mpi')
+ depends_on("hdf5+mpi")
depends_on("charmpp backend=mpi")
depends_on("trilinos+exodus+mpi")
# TODO: replace this with an explicit list of components of Boost,
@@ -38,4 +38,4 @@ class Quinoa(CMakePackage):
depends_on("pstreams")
depends_on("pegtl")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
diff --git a/var/spack/repos/builtin/packages/quota/package.py b/var/spack/repos/builtin/packages/quota/package.py
index e1bb9149c3..e62414aebe 100644
--- a/var/spack/repos/builtin/packages/quota/package.py
+++ b/var/spack/repos/builtin/packages/quota/package.py
@@ -10,9 +10,11 @@ class Quota(AutotoolsPackage):
"""Linux Diskquota system as part of the Linux kernel."""
homepage = "https://sourceforge.net/projects/linuxquota"
- url = "https://udomain.dl.sourceforge.net/project/linuxquota/quota-tools/4.05/quota-4.05.tar.gz"
+ url = (
+ "https://udomain.dl.sourceforge.net/project/linuxquota/quota-tools/4.05/quota-4.05.tar.gz"
+ )
- version('4.05', sha256='ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9')
+ version("4.05", sha256="ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/qwt/package.py b/var/spack/repos/builtin/packages/qwt/package.py
index e27c89accd..16ef7973c6 100644
--- a/var/spack/repos/builtin/packages/qwt/package.py
+++ b/var/spack/repos/builtin/packages/qwt/package.py
@@ -13,26 +13,25 @@ class Qwt(QMakePackage):
thermometers, wheels and knobs to control or display values, arrays, or
ranges of type double.
"""
+
homepage = "http://qwt.sourceforge.net/"
- url = "https://sourceforge.net/projects/qwt/files/qwt/6.1.3/qwt-6.1.3.tar.bz2"
+ url = "https://sourceforge.net/projects/qwt/files/qwt/6.1.3/qwt-6.1.3.tar.bz2"
- version('6.1.6', sha256='99460d31c115ee4117b0175d885f47c2c590d784206f09815dc058fbe5ede1f6')
- version('6.1.4', sha256='1529215329e51fc562e0009505a838f427919a18b362afff441f035b2d9b5bd9')
- version('6.1.3', sha256='f3ecd34e72a9a2b08422fb6c8e909ca76f4ce5fa77acad7a2883b701f4309733')
- version('5.2.2', sha256='36bf2ee51ca9c74fde1322510ffd39baac0db60d5d410bb157968a78d9c1464b')
+ version("6.1.6", sha256="99460d31c115ee4117b0175d885f47c2c590d784206f09815dc058fbe5ede1f6")
+ version("6.1.4", sha256="1529215329e51fc562e0009505a838f427919a18b362afff441f035b2d9b5bd9")
+ version("6.1.3", sha256="f3ecd34e72a9a2b08422fb6c8e909ca76f4ce5fa77acad7a2883b701f4309733")
+ version("5.2.2", sha256="36bf2ee51ca9c74fde1322510ffd39baac0db60d5d410bb157968a78d9c1464b")
- variant('designer', default=False,
- description="Build extensions to QT designer")
+ variant("designer", default=False, description="Build extensions to QT designer")
- patch('no-designer.patch', when='~designer')
+ patch("no-designer.patch", when="~designer")
- depends_on('qt@:5.14.2+opengl')
- depends_on('qt+tools', when='+designer')
+ depends_on("qt@:5.14.2+opengl")
+ depends_on("qt+tools", when="+designer")
# Qwt 6.1.1 and older use a constant that was removed in Qt 5.4
# https://bugs.launchpad.net/ubuntu/+source/qwt-qt5/+bug/1485213
- depends_on('qt@:5.3', when='@:6.1.1')
+ depends_on("qt@:5.3", when="@:6.1.1")
def patch(self):
# Subvert hardcoded prefix
- filter_file(r'/usr/local/qwt-\$\$(QWT_)?VERSION.*',
- self.prefix, 'qwtconfig.pri')
+ filter_file(r"/usr/local/qwt-\$\$(QWT_)?VERSION.*", self.prefix, "qwtconfig.pri")
diff --git a/var/spack/repos/builtin/packages/qwtpolar/package.py b/var/spack/repos/builtin/packages/qwtpolar/package.py
index d0d384002a..caac4feb8b 100644
--- a/var/spack/repos/builtin/packages/qwtpolar/package.py
+++ b/var/spack/repos/builtin/packages/qwtpolar/package.py
@@ -12,16 +12,17 @@ class Qwtpolar(QMakePackage):
"""
homepage = "https://qwtpolar.sourceforge.io"
- url = "https://sourceforge.net/projects/qwtpolar/files/qwtpolar/1.1.1/qwtpolar-1.1.1.tar.bz2"
+ url = "https://sourceforge.net/projects/qwtpolar/files/qwtpolar/1.1.1/qwtpolar-1.1.1.tar.bz2"
- version('1.1.1', sha256='6168baa9dbc8d527ae1ebf2631313291a1d545da268a05f4caa52ceadbe8b295')
+ version("1.1.1", sha256="6168baa9dbc8d527ae1ebf2631313291a1d545da268a05f4caa52ceadbe8b295")
- depends_on('qt@4.4:')
- depends_on('qwt@6.1:')
+ depends_on("qt@4.4:")
+ depends_on("qwt@6.1:")
def patch(self):
# Modify hardcoded prefix
- filter_file(r'/usr/local/qwtpolar-\$\$QWT_POLAR_VERSION.*',
- self.prefix, 'qwtpolarconfig.pri')
+ filter_file(
+ r"/usr/local/qwtpolar-\$\$QWT_POLAR_VERSION.*", self.prefix, "qwtpolarconfig.pri"
+ )
# Don't build examples as they're causing qmake to throw errors
- filter_file(r'QwtPolarExamples', '', 'qwtpolarconfig.pri')
+ filter_file(r"QwtPolarExamples", "", "qwtpolarconfig.pri")
diff --git a/var/spack/repos/builtin/packages/r-a4/package.py b/var/spack/repos/builtin/packages/r-a4/package.py
index 59b004c217..99075ec0b0 100644
--- a/var/spack/repos/builtin/packages/r-a4/package.py
+++ b/var/spack/repos/builtin/packages/r-a4/package.py
@@ -14,17 +14,17 @@ class RA4(RPackage):
bioc = "a4"
- version('1.44.0', commit='5b0fc5a9971d8f3688ad1f88a4f5ee1498e91633')
- version('1.42.0', commit='fc26809e2bce7cd50d99d6f6dd5f85c38342fdea')
- version('1.38.0', commit='5b7a9087bab10c55e24707e96e48046995236c94')
- version('1.32.0', commit='03770d4e53be4eed1bd0ab8f8cddba66854b4712')
- version('1.30.0', commit='771e01ae3aaac1c4db12f781c41d90fa7191b64d')
- version('1.28.0', commit='e81a8c15e1062ed9433e2d4d333f0484bc0e8bfb')
- version('1.26.0', commit='e6af2cba5b684f81cc6e44dbc432916f75a2f774')
- version('1.24.0', commit='79b5143652176787c85a0d587b3bbfad6b4a19f4')
+ version("1.44.0", commit="5b0fc5a9971d8f3688ad1f88a4f5ee1498e91633")
+ version("1.42.0", commit="fc26809e2bce7cd50d99d6f6dd5f85c38342fdea")
+ version("1.38.0", commit="5b7a9087bab10c55e24707e96e48046995236c94")
+ version("1.32.0", commit="03770d4e53be4eed1bd0ab8f8cddba66854b4712")
+ version("1.30.0", commit="771e01ae3aaac1c4db12f781c41d90fa7191b64d")
+ version("1.28.0", commit="e81a8c15e1062ed9433e2d4d333f0484bc0e8bfb")
+ version("1.26.0", commit="e6af2cba5b684f81cc6e44dbc432916f75a2f774")
+ version("1.24.0", commit="79b5143652176787c85a0d587b3bbfad6b4a19f4")
- depends_on('r-a4base', type=('build', 'run'))
- depends_on('r-a4preproc', type=('build', 'run'))
- depends_on('r-a4classif', type=('build', 'run'))
- depends_on('r-a4core', type=('build', 'run'))
- depends_on('r-a4reporting', type=('build', 'run'))
+ depends_on("r-a4base", type=("build", "run"))
+ depends_on("r-a4preproc", type=("build", "run"))
+ depends_on("r-a4classif", type=("build", "run"))
+ depends_on("r-a4core", type=("build", "run"))
+ depends_on("r-a4reporting", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-a4base/package.py b/var/spack/repos/builtin/packages/r-a4base/package.py
index 2f26bf5147..8291f918c7 100644
--- a/var/spack/repos/builtin/packages/r-a4base/package.py
+++ b/var/spack/repos/builtin/packages/r-a4base/package.py
@@ -14,24 +14,24 @@ class RA4base(RPackage):
bioc = "a4Base"
- version('1.44.0', commit='9ae69e03118c7b14df0e6c9e3b25362b09f25bbe')
- version('1.42.0', commit='d7296e2792020e9c5b1c19101104326ee8bebfe6')
- version('1.38.0', commit='4add242fa9c62795aca5b0dfca34a43484c5aa82')
- version('1.32.0', commit='8a1e15d25494c54db8c1de5dbbd69e628569e3d7')
- version('1.30.0', commit='fc370b2bd8286acc1e42a10344d91974f5b94229')
- version('1.28.0', commit='3918a9ebafa065027c29620ee4d83789cb02f932')
- version('1.26.0', commit='9b8ee4a8be90f5035a4b105ecebb8bb5b50cd0d9')
- version('1.24.0', commit='f674afe424a508df2c8ee6c87a06fbd4aa410ef6')
-
- depends_on('r-a4preproc', type=('build', 'run'))
- depends_on('r-a4core', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-annaffy', type=('build', 'run'))
- depends_on('r-mpm', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-multtest', type=('build', 'run'))
- depends_on('r-glmnet', type=('build', 'run'))
- depends_on('r-gplots', type=('build', 'run'))
-
- depends_on('r-annotationdbi', type=('build', 'run'), when='@:1.32.0')
+ version("1.44.0", commit="9ae69e03118c7b14df0e6c9e3b25362b09f25bbe")
+ version("1.42.0", commit="d7296e2792020e9c5b1c19101104326ee8bebfe6")
+ version("1.38.0", commit="4add242fa9c62795aca5b0dfca34a43484c5aa82")
+ version("1.32.0", commit="8a1e15d25494c54db8c1de5dbbd69e628569e3d7")
+ version("1.30.0", commit="fc370b2bd8286acc1e42a10344d91974f5b94229")
+ version("1.28.0", commit="3918a9ebafa065027c29620ee4d83789cb02f932")
+ version("1.26.0", commit="9b8ee4a8be90f5035a4b105ecebb8bb5b50cd0d9")
+ version("1.24.0", commit="f674afe424a508df2c8ee6c87a06fbd4aa410ef6")
+
+ depends_on("r-a4preproc", type=("build", "run"))
+ depends_on("r-a4core", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-annaffy", type=("build", "run"))
+ depends_on("r-mpm", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-multtest", type=("build", "run"))
+ depends_on("r-glmnet", type=("build", "run"))
+ depends_on("r-gplots", type=("build", "run"))
+
+ depends_on("r-annotationdbi", type=("build", "run"), when="@:1.32.0")
diff --git a/var/spack/repos/builtin/packages/r-a4classif/package.py b/var/spack/repos/builtin/packages/r-a4classif/package.py
index a93c2521d9..8de2c13eab 100644
--- a/var/spack/repos/builtin/packages/r-a4classif/package.py
+++ b/var/spack/repos/builtin/packages/r-a4classif/package.py
@@ -15,21 +15,21 @@ class RA4classif(RPackage):
bioc = "a4Classif"
- version('1.44.0', commit='df0fce781f9bc480a1159d958c9a63c314a9ed01')
- version('1.42.0', commit='820854a7ca9ed0c295479a25b7e3375c6d01d0b5')
- version('1.38.0', commit='c4d058813efb835774813b2d69c52912162f8e75')
- version('1.32.0', commit='aa4f22df2da54b71e1a238d2b9cbcb3afa6f7f88')
- version('1.30.0', commit='b62841bff2f8894a3011a4e74afc37076d1322a3')
- version('1.28.0', commit='3464011f6c3ddb41b78acc47e775539034287be7')
- version('1.26.0', commit='bc4018c3c441e1840bb3e2959c07611489439a50')
- version('1.24.0', commit='ca06bf274c87a73fc12c29a6eea4b90289fe30b1')
-
- depends_on('r-a4core', type=('build', 'run'))
- depends_on('r-a4preproc', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-rocr', type=('build', 'run'))
- depends_on('r-pamr', type=('build', 'run'))
- depends_on('r-glmnet', type=('build', 'run'))
- depends_on('r-varselrf', type=('build', 'run'))
-
- depends_on('r-mlinterfaces', type=('build', 'run'), when='@:1.32.0')
+ version("1.44.0", commit="df0fce781f9bc480a1159d958c9a63c314a9ed01")
+ version("1.42.0", commit="820854a7ca9ed0c295479a25b7e3375c6d01d0b5")
+ version("1.38.0", commit="c4d058813efb835774813b2d69c52912162f8e75")
+ version("1.32.0", commit="aa4f22df2da54b71e1a238d2b9cbcb3afa6f7f88")
+ version("1.30.0", commit="b62841bff2f8894a3011a4e74afc37076d1322a3")
+ version("1.28.0", commit="3464011f6c3ddb41b78acc47e775539034287be7")
+ version("1.26.0", commit="bc4018c3c441e1840bb3e2959c07611489439a50")
+ version("1.24.0", commit="ca06bf274c87a73fc12c29a6eea4b90289fe30b1")
+
+ depends_on("r-a4core", type=("build", "run"))
+ depends_on("r-a4preproc", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-rocr", type=("build", "run"))
+ depends_on("r-pamr", type=("build", "run"))
+ depends_on("r-glmnet", type=("build", "run"))
+ depends_on("r-varselrf", type=("build", "run"))
+
+ depends_on("r-mlinterfaces", type=("build", "run"), when="@:1.32.0")
diff --git a/var/spack/repos/builtin/packages/r-a4core/package.py b/var/spack/repos/builtin/packages/r-a4core/package.py
index 6321e10d37..09e2cc4f93 100644
--- a/var/spack/repos/builtin/packages/r-a4core/package.py
+++ b/var/spack/repos/builtin/packages/r-a4core/package.py
@@ -14,14 +14,14 @@ class RA4core(RPackage):
bioc = "a4Core"
- version('1.44.0', commit='61a7f3a51a41af615bfd4c22984e4c4a82874e8c')
- version('1.42.0', commit='6985950b72c2a0f20ec44fe2067d8864e004bfaa')
- version('1.38.0', commit='a027dcd3486c64950815ec7c7271f1f65ba3d8a1')
- version('1.32.0', commit='2916a29723bdd514d5d987f89725d141d1d2dfce')
- version('1.30.0', commit='e392b1b4339a34f93d5d9bc520a1a9385ea63141')
- version('1.28.0', commit='39b6ee29bc2f2fdc5733438c14dc02f8abc6460b')
- version('1.26.0', commit='e7be935f20b486165a2b27dbbf9e99ba07151bcd')
- version('1.24.0', commit='c871faa3e1ab6be38a9ea3018816cf31b58b0ed3')
+ version("1.44.0", commit="61a7f3a51a41af615bfd4c22984e4c4a82874e8c")
+ version("1.42.0", commit="6985950b72c2a0f20ec44fe2067d8864e004bfaa")
+ version("1.38.0", commit="a027dcd3486c64950815ec7c7271f1f65ba3d8a1")
+ version("1.32.0", commit="2916a29723bdd514d5d987f89725d141d1d2dfce")
+ version("1.30.0", commit="e392b1b4339a34f93d5d9bc520a1a9385ea63141")
+ version("1.28.0", commit="39b6ee29bc2f2fdc5733438c14dc02f8abc6460b")
+ version("1.26.0", commit="e7be935f20b486165a2b27dbbf9e99ba07151bcd")
+ version("1.24.0", commit="c871faa3e1ab6be38a9ea3018816cf31b58b0ed3")
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-glmnet', type=('build', 'run'))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-glmnet", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-a4preproc/package.py b/var/spack/repos/builtin/packages/r-a4preproc/package.py
index e1e4016910..065595179b 100644
--- a/var/spack/repos/builtin/packages/r-a4preproc/package.py
+++ b/var/spack/repos/builtin/packages/r-a4preproc/package.py
@@ -14,16 +14,16 @@ class RA4preproc(RPackage):
bioc = "a4Preproc"
- version('1.44.0', commit='252381265b96b83803a93e0c2014dd6b0574e57f')
- version('1.42.0', commit='773a91e884d2ada16fe9cf57d5ed53c0155e3fa2')
- version('1.38.0', commit='c93c223bd531bff090531a109b51f8dcd710d0cb')
- version('1.32.0', commit='0da742e500892b682feeb39256906282ad20c558')
- version('1.30.0', commit='e6fb9fa2e7c703974e6ca10c0e9681b097b05978')
- version('1.28.0', commit='435d66727f1187020d034a1beaf4cd8bd4f76981')
- version('1.26.0', commit='be7403acc06670c05ead1adaf60533b0fe3a65ea')
- version('1.24.0', commit='651014b8102807aea4f1274e34e083e70b5e7ee7')
-
- depends_on('r-biocgenerics', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-biobase', type=('build', 'run'), when='@1.38.0:')
-
- depends_on('r-annotationdbi', type=('build', 'run'), when='@:1.32.0')
+ version("1.44.0", commit="252381265b96b83803a93e0c2014dd6b0574e57f")
+ version("1.42.0", commit="773a91e884d2ada16fe9cf57d5ed53c0155e3fa2")
+ version("1.38.0", commit="c93c223bd531bff090531a109b51f8dcd710d0cb")
+ version("1.32.0", commit="0da742e500892b682feeb39256906282ad20c558")
+ version("1.30.0", commit="e6fb9fa2e7c703974e6ca10c0e9681b097b05978")
+ version("1.28.0", commit="435d66727f1187020d034a1beaf4cd8bd4f76981")
+ version("1.26.0", commit="be7403acc06670c05ead1adaf60533b0fe3a65ea")
+ version("1.24.0", commit="651014b8102807aea4f1274e34e083e70b5e7ee7")
+
+ depends_on("r-biocgenerics", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-biobase", type=("build", "run"), when="@1.38.0:")
+
+ depends_on("r-annotationdbi", type=("build", "run"), when="@:1.32.0")
diff --git a/var/spack/repos/builtin/packages/r-a4reporting/package.py b/var/spack/repos/builtin/packages/r-a4reporting/package.py
index fa91076c6f..1db0033d3e 100644
--- a/var/spack/repos/builtin/packages/r-a4reporting/package.py
+++ b/var/spack/repos/builtin/packages/r-a4reporting/package.py
@@ -14,15 +14,15 @@ class RA4reporting(RPackage):
bioc = "a4Reporting"
- version('1.44.0', commit='bfe83507daf53e2e327474ea3012f0dc920efac1')
- version('1.42.0', commit='b0d715b9cdac80bc412f0a9a6b33941c4a7582bb')
- version('1.38.0', commit='cd3cf244e7a299b2485684ed15519cbbda1c590f')
- version('1.32.0', commit='8d781899c625892080eb50f322694dd640d5f792')
- version('1.30.0', commit='ae9b9ade45cfac2636d0445a7e0a029dfe3b9390')
- version('1.28.0', commit='0fe72f48374353c39479a45e5516d0709f8c9ef7')
- version('1.26.0', commit='cce201502e2d3b28fd2823b66d9f81b034dc7eaa')
- version('1.24.0', commit='bf22c4d50daf40fc9eaf8c476385bf4a24a5b5ce')
-
- depends_on('r-xtable', type=('build', 'run'))
-
- depends_on('r-annaffy', type=('build', 'run'), when='@:1.32.0')
+ version("1.44.0", commit="bfe83507daf53e2e327474ea3012f0dc920efac1")
+ version("1.42.0", commit="b0d715b9cdac80bc412f0a9a6b33941c4a7582bb")
+ version("1.38.0", commit="cd3cf244e7a299b2485684ed15519cbbda1c590f")
+ version("1.32.0", commit="8d781899c625892080eb50f322694dd640d5f792")
+ version("1.30.0", commit="ae9b9ade45cfac2636d0445a7e0a029dfe3b9390")
+ version("1.28.0", commit="0fe72f48374353c39479a45e5516d0709f8c9ef7")
+ version("1.26.0", commit="cce201502e2d3b28fd2823b66d9f81b034dc7eaa")
+ version("1.24.0", commit="bf22c4d50daf40fc9eaf8c476385bf4a24a5b5ce")
+
+ depends_on("r-xtable", type=("build", "run"))
+
+ depends_on("r-annaffy", type=("build", "run"), when="@:1.32.0")
diff --git a/var/spack/repos/builtin/packages/r-abadata/package.py b/var/spack/repos/builtin/packages/r-abadata/package.py
index 58a2b03fdd..d7198d5a4d 100644
--- a/var/spack/repos/builtin/packages/r-abadata/package.py
+++ b/var/spack/repos/builtin/packages/r-abadata/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class RAbadata(RPackage):
"""Averaged gene expression in human brain regions from Allen Brain Atlas.
- Provides the data for the gene expression enrichment analysis conducted
- in the package 'ABAEnrichment'. The package includes three datasets
- which are derived from the Allen Brain Atlas: (1) Gene expression data
- from Human Brain (adults) averaged across donors, (2) Gene expression
- data from the Developing Human Brain pooled into five age categories and
- averaged across donors and (3) a developmental effect score based on the
- Developing Human Brain expression data. All datasets are restricted to
- protein coding genes."""
+ Provides the data for the gene expression enrichment analysis conducted
+ in the package 'ABAEnrichment'. The package includes three datasets
+ which are derived from the Allen Brain Atlas: (1) Gene expression data
+ from Human Brain (adults) averaged across donors, (2) Gene expression
+ data from the Developing Human Brain pooled into five age categories and
+ averaged across donors and (3) a developmental effect score based on the
+ Developing Human Brain expression data. All datasets are restricted to
+ protein coding genes."""
bioc = "ABAData"
- version('1.24.0', commit='c4c42701f995ab8d5ede7f36ff06650493c82e36')
- version('1.20.0', commit='c08a841ffb54d6555eb80b90a7a8afe7e48201b3')
- version('1.14.0', commit='ed7460e7d2948684db69dd4b4f8e135af50198bd')
- version('1.12.0', commit='9c2f0fbda75b06a0807bd714528915920899282d')
- version('1.10.0', commit='197edb2c3fc733c9e44dde2b9b86ecedcd2c5e1a')
- version('1.8.0', commit='181a4af1af349064eb432255970e925ae2564e1a')
- version('1.6.0', commit='517c18a3d1809dde0291eeb47dd2545c7cfcdabe')
+ version("1.24.0", commit="c4c42701f995ab8d5ede7f36ff06650493c82e36")
+ version("1.20.0", commit="c08a841ffb54d6555eb80b90a7a8afe7e48201b3")
+ version("1.14.0", commit="ed7460e7d2948684db69dd4b4f8e135af50198bd")
+ version("1.12.0", commit="9c2f0fbda75b06a0807bd714528915920899282d")
+ version("1.10.0", commit="197edb2c3fc733c9e44dde2b9b86ecedcd2c5e1a")
+ version("1.8.0", commit="181a4af1af349064eb432255970e925ae2564e1a")
+ version("1.6.0", commit="517c18a3d1809dde0291eeb47dd2545c7cfcdabe")
- depends_on('r@3.2:', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-abaenrichment/package.py b/var/spack/repos/builtin/packages/r-abaenrichment/package.py
index 70b8c8e7d8..7dfded3dfd 100644
--- a/var/spack/repos/builtin/packages/r-abaenrichment/package.py
+++ b/var/spack/repos/builtin/packages/r-abaenrichment/package.py
@@ -9,36 +9,36 @@ from spack.package import *
class RAbaenrichment(RPackage):
"""Gene expression enrichment in human brain regions.
- The package ABAEnrichment is designed to test for enrichment of user
- defined candidate genes in the set of expressed genes in different human
- brain regions. The core function 'aba_enrich' integrates the expression
- of the candidate gene set (averaged across donors) and the structural
- information of the brain using an ontology, both provided by the Allen
- Brain Atlas project. 'aba_enrich' interfaces the ontology enrichment
- software FUNC to perform the statistical analyses. Additional functions
- provided in this package like 'get_expression' and 'plot_expression'
- facilitate exploring the expression data, and besides the standard
- candidate vs. background gene set enrichment, also three additional
- tests are implemented, e.g. for cases when genes are ranked instead of
- divided into candidate and background."""
+ The package ABAEnrichment is designed to test for enrichment of user
+ defined candidate genes in the set of expressed genes in different human
+ brain regions. The core function 'aba_enrich' integrates the expression
+ of the candidate gene set (averaged across donors) and the structural
+ information of the brain using an ontology, both provided by the Allen
+ Brain Atlas project. 'aba_enrich' interfaces the ontology enrichment
+ software FUNC to perform the statistical analyses. Additional functions
+ provided in this package like 'get_expression' and 'plot_expression'
+ facilitate exploring the expression data, and besides the standard
+ candidate vs. background gene set enrichment, also three additional
+ tests are implemented, e.g. for cases when genes are ranked instead of
+ divided into candidate and background."""
bioc = "ABAEnrichment"
- version('1.26.0', commit='33df9e162aec07e2aae92cc058cbfb33720ba4b4')
- version('1.24.0', commit='5d20752263ae8f18ea5f5a6cfbdd5921a0f236d7')
- version('1.20.0', commit='608433a0b07e6dd99915dc536a038d960f1be1d5')
- version('1.14.1', commit='e1ebfb5de816b924af16675a5ba9ed1a6b527b23')
- version('1.12.0', commit='1320e932deafd71d67c7a6f758d15b00d6d7f7d7')
- version('1.10.0', commit='15f33ccb694a91d2d2067c937682c4bc952def6c')
- version('1.8.0', commit='cb8155ee9a04fb55b2a2e8c23df7c0be15bb2624')
- version('1.6.0', commit='d2a0467dcb7aa6e103e3b83dccd6510b0e142ac1')
+ version("1.26.0", commit="33df9e162aec07e2aae92cc058cbfb33720ba4b4")
+ version("1.24.0", commit="5d20752263ae8f18ea5f5a6cfbdd5921a0f236d7")
+ version("1.20.0", commit="608433a0b07e6dd99915dc536a038d960f1be1d5")
+ version("1.14.1", commit="e1ebfb5de816b924af16675a5ba9ed1a6b527b23")
+ version("1.12.0", commit="1320e932deafd71d67c7a6f758d15b00d6d7f7d7")
+ version("1.10.0", commit="15f33ccb694a91d2d2067c937682c4bc952def6c")
+ version("1.8.0", commit="cb8155ee9a04fb55b2a2e8c23df7c0be15bb2624")
+ version("1.6.0", commit="d2a0467dcb7aa6e103e3b83dccd6510b0e142ac1")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@1.8.0:')
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
- depends_on('r-gplots@2.14.2:', type=('build', 'run'))
- depends_on('r-gtools@3.5.0:', type=('build', 'run'))
- depends_on('r-abadata@0.99.2:', type=('build', 'run'))
- depends_on('r-data-table@1.10.4:', type=('build', 'run'), when='@1.8.0:')
- depends_on('r-gofuncr@1.1.2:', type=('build', 'run'), when='@1.12.0:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@1.8.0:")
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
+ depends_on("r-gplots@2.14.2:", type=("build", "run"))
+ depends_on("r-gtools@3.5.0:", type=("build", "run"))
+ depends_on("r-abadata@0.99.2:", type=("build", "run"))
+ depends_on("r-data-table@1.10.4:", type=("build", "run"), when="@1.8.0:")
+ depends_on("r-gofuncr@1.1.2:", type=("build", "run"), when="@1.12.0:")
diff --git a/var/spack/repos/builtin/packages/r-abind/package.py b/var/spack/repos/builtin/packages/r-abind/package.py
index 8d3ba7adbf..276fa3742b 100644
--- a/var/spack/repos/builtin/packages/r-abind/package.py
+++ b/var/spack/repos/builtin/packages/r-abind/package.py
@@ -17,7 +17,7 @@ class RAbind(RPackage):
cran = "abind"
- version('1.4-5', sha256='3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c')
- version('1.4-3', sha256='b6c255878c1ab81701ae701f34546e88be115629b984ac4272e311fa3c0ea6ce')
+ version("1.4-5", sha256="3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c")
+ version("1.4-3", sha256="b6c255878c1ab81701ae701f34546e88be115629b984ac4272e311fa3c0ea6ce")
- depends_on('r@1.5.0:', type=('build', 'run'))
+ depends_on("r@1.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-absseq/package.py b/var/spack/repos/builtin/packages/r-absseq/package.py
index 758c85e211..c7e4e10211 100644
--- a/var/spack/repos/builtin/packages/r-absseq/package.py
+++ b/var/spack/repos/builtin/packages/r-absseq/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class RAbsseq(RPackage):
"""ABSSeq: a new RNA-Seq analysis method based on modelling absolute
- expression differences.
+ expression differences.
- Inferring differential expression genes by absolute counts difference
- between two groups, utilizing Negative binomial distribution and
- moderating fold-change according to heterogeneity of dispersion across
- expression level."""
+ Inferring differential expression genes by absolute counts difference
+ between two groups, utilizing Negative binomial distribution and
+ moderating fold-change according to heterogeneity of dispersion across
+ expression level."""
bioc = "ABSSeq"
- version('1.50.0', commit='4f384d04ebaae6ea0b56e5cff9a9dcdcb6c8afb0')
- version('1.48.0', commit='b237c967d44d075ca306c35e92df8b66a60ce72d')
- version('1.44.0', commit='c202b4a059021ed1228ccee7303c69b0aa4ca1ee')
- version('1.38.0', commit='b686d92f0f0efdb835982efe761d059bc24b34ce')
- version('1.36.0', commit='bd419072432cba4ef58b4b37b3c69c85d78b1c4a')
- version('1.34.1', commit='0c3a2514ef644c6e0de3714bc91959a302c9e006')
- version('1.32.3', commit='189d81c3d70f957bf50780f76a6ddcee499b4784')
- version('1.22.8', commit='a67ba49bc156a4522092519644f3ec83d58ebd6a')
+ version("1.50.0", commit="4f384d04ebaae6ea0b56e5cff9a9dcdcb6c8afb0")
+ version("1.48.0", commit="b237c967d44d075ca306c35e92df8b66a60ce72d")
+ version("1.44.0", commit="c202b4a059021ed1228ccee7303c69b0aa4ca1ee")
+ version("1.38.0", commit="b686d92f0f0efdb835982efe761d059bc24b34ce")
+ version("1.36.0", commit="bd419072432cba4ef58b4b37b3c69c85d78b1c4a")
+ version("1.34.1", commit="0c3a2514ef644c6e0de3714bc91959a302c9e006")
+ version("1.32.3", commit="189d81c3d70f957bf50780f76a6ddcee499b4784")
+ version("1.22.8", commit="a67ba49bc156a4522092519644f3ec83d58ebd6a")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-acde/package.py b/var/spack/repos/builtin/packages/r-acde/package.py
index 89a855a456..655a9d4a1a 100644
--- a/var/spack/repos/builtin/packages/r-acde/package.py
+++ b/var/spack/repos/builtin/packages/r-acde/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAcde(RPackage):
"""Artificial Components Detection of Differentially Expressed Genes.
- This package provides a multivariate inferential analysis method for
- detecting differentially expressed genes in gene expression data. It
- uses artificial components, close to the data's principal components but
- with an exact interpretation in terms of differential genetic
- expression, to identify differentially expressed genes while controlling
- the false discovery rate (FDR). The methods on this package are
- described in the vignette or in the article 'Multivariate Method for
- Inferential Identification of Differentially Expressed Genes in Gene
- Expression Experiments' by J. P. Acosta, L. Lopez-Kleine and S. Restrepo
- (2015, pending publication)."""
+ This package provides a multivariate inferential analysis method for
+ detecting differentially expressed genes in gene expression data. It
+ uses artificial components, close to the data's principal components but
+ with an exact interpretation in terms of differential genetic
+ expression, to identify differentially expressed genes while controlling
+ the false discovery rate (FDR). The methods on this package are
+ described in the vignette or in the article 'Multivariate Method for
+ Inferential Identification of Differentially Expressed Genes in Gene
+ Expression Experiments' by J. P. Acosta, L. Lopez-Kleine and S. Restrepo
+ (2015, pending publication)."""
bioc = "acde"
- version('1.26.0', commit='dfef9a435062e948efd5eda22942a0d500baa992')
- version('1.24.0', commit='0c3c4d47af7eaff37420032ea5245743a65124cf')
- version('1.20.0', commit='cefb4f2e2b0ef3c5f51944c0ece7a71294020350')
- version('1.14.0', commit='6017c7436a46f186b2a3cea9d2b93274f6dd3417')
- version('1.12.0', commit='f6ce5926ac915c2d73436f47daf7f9791645dad4')
- version('1.10.0', commit='2c303dec45f3c70bf333a6eacae568a08d5ca010')
- version('1.8.0', commit='f7fc3e1dce958445f920d3b28b56abde70bfb9de')
- version('1.6.0', commit='244c81f435a077bf7895ea565fa6695e8b079f67')
+ version("1.26.0", commit="dfef9a435062e948efd5eda22942a0d500baa992")
+ version("1.24.0", commit="0c3c4d47af7eaff37420032ea5245743a65124cf")
+ version("1.20.0", commit="cefb4f2e2b0ef3c5f51944c0ece7a71294020350")
+ version("1.14.0", commit="6017c7436a46f186b2a3cea9d2b93274f6dd3417")
+ version("1.12.0", commit="f6ce5926ac915c2d73436f47daf7f9791645dad4")
+ version("1.10.0", commit="2c303dec45f3c70bf333a6eacae568a08d5ca010")
+ version("1.8.0", commit="f7fc3e1dce958445f920d3b28b56abde70bfb9de")
+ version("1.6.0", commit="244c81f435a077bf7895ea565fa6695e8b079f67")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-boot@1.3:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-boot@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-acepack/package.py b/var/spack/repos/builtin/packages/r-acepack/package.py
index 846c803bb8..53b1dd6020 100644
--- a/var/spack/repos/builtin/packages/r-acepack/package.py
+++ b/var/spack/repos/builtin/packages/r-acepack/package.py
@@ -27,4 +27,4 @@ class RAcepack(RPackage):
cran = "acepack"
- version('1.4.1', sha256='82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9')
+ version("1.4.1", sha256="82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9")
diff --git a/var/spack/repos/builtin/packages/r-acgh/package.py b/var/spack/repos/builtin/packages/r-acgh/package.py
index ea7ffd3c23..10e718e262 100644
--- a/var/spack/repos/builtin/packages/r-acgh/package.py
+++ b/var/spack/repos/builtin/packages/r-acgh/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RAcgh(RPackage):
"""Classes and functions for Array Comparative Genomic Hybridization data.
- Functions for reading aCGH data from image analysis output files and
- clone information files, creation of aCGH S3 objects for storing these
- data. Basic methods for accessing/replacing, subsetting, printing and
- plotting aCGH objects."""
+ Functions for reading aCGH data from image analysis output files and
+ clone information files, creation of aCGH S3 objects for storing these
+ data. Basic methods for accessing/replacing, subsetting, printing and
+ plotting aCGH objects."""
bioc = "aCGH"
- version('1.74.0', commit='e7ba380af0da138788eb6c86f5dbe453269c0810')
- version('1.72.0', commit='b5d4022ac487125194d3913f1b8c2948db6e2792')
- version('1.68.0', commit='91f41a3917ddce43eb05e11c90eb99c467ba2247')
- version('1.62.0', commit='3b68b69c3380fa3b66dfb060457628a4a9c22d4f')
- version('1.60.0', commit='ae581758aaa1755448f0cfef5adfb30d1e820b21')
- version('1.58.0', commit='2decc79a21bff5a14d708cdc654e351515b20d3e')
- version('1.56.0', commit='f3531ec99fc181044bdcb6a01c9976029efb6235')
- version('1.54.0', commit='be2ed339449f55c8d218e10c435e4ad356683693')
+ version("1.74.0", commit="e7ba380af0da138788eb6c86f5dbe453269c0810")
+ version("1.72.0", commit="b5d4022ac487125194d3913f1b8c2948db6e2792")
+ version("1.68.0", commit="91f41a3917ddce43eb05e11c90eb99c467ba2247")
+ version("1.62.0", commit="3b68b69c3380fa3b66dfb060457628a4a9c22d4f")
+ version("1.60.0", commit="ae581758aaa1755448f0cfef5adfb30d1e820b21")
+ version("1.58.0", commit="2decc79a21bff5a14d708cdc654e351515b20d3e")
+ version("1.56.0", commit="f3531ec99fc181044bdcb6a01c9976029efb6235")
+ version("1.54.0", commit="be2ed339449f55c8d218e10c435e4ad356683693")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-multtest', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-multtest", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-acme/package.py b/var/spack/repos/builtin/packages/r-acme/package.py
index e98196b156..c085078f13 100644
--- a/var/spack/repos/builtin/packages/r-acme/package.py
+++ b/var/spack/repos/builtin/packages/r-acme/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAcme(RPackage):
"""Algorithms for Calculating Microarray Enrichment (ACME).
- ACME (Algorithms for Calculating Microarray Enrichment) is a set of
- tools for analysing tiling array ChIP/chip, DNAse hypersensitivity, or
- other experiments that result in regions of the genome showing
- "enrichment". It does not rely on a specific array technology (although
- the array should be a "tiling" array), is very general (can be applied
- in experiments resulting in regions of enrichment), and is very
- insensitive to array noise or normalization methods. It is also very
- fast and can be applied on whole-genome tiling array experiments quite
- easily with enough memory."""
+ ACME (Algorithms for Calculating Microarray Enrichment) is a set of
+ tools for analysing tiling array ChIP/chip, DNAse hypersensitivity, or
+ other experiments that result in regions of the genome showing
+ "enrichment". It does not rely on a specific array technology (although
+ the array should be a "tiling" array), is very general (can be applied
+ in experiments resulting in regions of enrichment), and is very
+ insensitive to array noise or normalization methods. It is also very
+ fast and can be applied on whole-genome tiling array experiments quite
+ easily with enough memory."""
bioc = "ACME"
- version('2.52.0', commit='14a97c722d0201654af9e583e7e462b458c28a77')
- version('2.50.0', commit='d55a19a8c091e8ea5fd35041520107a7f7603e14')
- version('2.46.0', commit='68f45c9f7d34c28adf6a0fc4245fdf63881109de')
- version('2.40.0', commit='38499e512998d54d874a0bfdc173f4ba5de5f01a')
- version('2.38.0', commit='cd03196428e8adf62e84f25c4d4545429e2c908b')
- version('2.36.0', commit='39e056435b9775d35e7f7fc5446c2c3cafe15670')
- version('2.34.0', commit='1f53d43e420e245423fdf2711d0dcb345f829469')
- version('2.32.0', commit='76372255d7714a0c8128a11c028bf70214dac407')
+ version("2.52.0", commit="14a97c722d0201654af9e583e7e462b458c28a77")
+ version("2.50.0", commit="d55a19a8c091e8ea5fd35041520107a7f7603e14")
+ version("2.46.0", commit="68f45c9f7d34c28adf6a0fc4245fdf63881109de")
+ version("2.40.0", commit="38499e512998d54d874a0bfdc173f4ba5de5f01a")
+ version("2.38.0", commit="cd03196428e8adf62e84f25c4d4545429e2c908b")
+ version("2.36.0", commit="39e056435b9775d35e7f7fc5446c2c3cafe15670")
+ version("2.34.0", commit="1f53d43e420e245423fdf2711d0dcb345f829469")
+ version("2.32.0", commit="76372255d7714a0c8128a11c028bf70214dac407")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase@2.5.5:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase@2.5.5:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ada/package.py b/var/spack/repos/builtin/packages/r-ada/package.py
index 290d88924e..17230c7409 100644
--- a/var/spack/repos/builtin/packages/r-ada/package.py
+++ b/var/spack/repos/builtin/packages/r-ada/package.py
@@ -16,7 +16,7 @@ class RAda(RPackage):
cran = "ada"
- version('2.0-5', sha256='d900172059eebeef30c27944fc29737a231fc4f92e3c2661868383fbd9016ac0')
+ version("2.0-5", sha256="d900172059eebeef30c27944fc29737a231fc4f92e3c2661868383fbd9016ac0")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-adabag/package.py b/var/spack/repos/builtin/packages/r-adabag/package.py
index e87206781f..022f3c596d 100644
--- a/var/spack/repos/builtin/packages/r-adabag/package.py
+++ b/var/spack/repos/builtin/packages/r-adabag/package.py
@@ -32,12 +32,12 @@ class RAdabag(RPackage):
cran = "adabag"
- version('4.2', sha256='47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81')
- version('4.1', sha256='ff938c36122cdf58a71a59a6bf79a3c7816966ee7cc4907c4a0a3c0732e3d028')
+ version("4.2", sha256="47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81")
+ version("4.1", sha256="ff938c36122cdf58a71a59a6bf79a3c7816966ee7cc4907c4a0a3c0732e3d028")
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-caret', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-caret", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
- depends_on('r-mlbench', type=('build', 'run'), when='@:4.1')
+ depends_on("r-mlbench", type=("build", "run"), when="@:4.1")
diff --git a/var/spack/repos/builtin/packages/r-ade4/package.py b/var/spack/repos/builtin/packages/r-ade4/package.py
index c0b2887a8d..e4c4516a2c 100644
--- a/var/spack/repos/builtin/packages/r-ade4/package.py
+++ b/var/spack/repos/builtin/packages/r-ade4/package.py
@@ -19,16 +19,16 @@ class RAde4(RPackage):
cran = "ade4"
- version('1.7-19', sha256='c85111881ff93a261ca34a5b5ef313d1c0ff9b84f0b23596bc56cfa696f165ef')
- version('1.7-18', sha256='ecb6f4c42c60f39702aa96f454bb536a333049c9608ee2b6bdf8795e059cc525')
- version('1.7-16', sha256='9bd7a25ff4fe30a32fd8f6b71909f4c638a0e2f002fc8303c0a4795423385590')
- version('1.7-13', sha256='f5d0a7356ae63f82d3adb481a39007e7b0d70211b8724aa686af0c89c994e99b')
- version('1.7-11', sha256='4ccd799ae99bd625840b866a697c4a48adb751660470bf0d6cf9207b1927a572')
- version('1.7-6', sha256='80848e1650dcc0ec921c130efa6f7e9b307f0d107c63e49faa52296eda19cc52')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-pixmap', type=('build', 'run'), when='@1.7-16:')
- depends_on('r-sp', type=('build', 'run'), when='@1.7-16:')
-
- depends_on('r-progress', type=('build', 'run'), when='@1.7-16')
+ version("1.7-19", sha256="c85111881ff93a261ca34a5b5ef313d1c0ff9b84f0b23596bc56cfa696f165ef")
+ version("1.7-18", sha256="ecb6f4c42c60f39702aa96f454bb536a333049c9608ee2b6bdf8795e059cc525")
+ version("1.7-16", sha256="9bd7a25ff4fe30a32fd8f6b71909f4c638a0e2f002fc8303c0a4795423385590")
+ version("1.7-13", sha256="f5d0a7356ae63f82d3adb481a39007e7b0d70211b8724aa686af0c89c994e99b")
+ version("1.7-11", sha256="4ccd799ae99bd625840b866a697c4a48adb751660470bf0d6cf9207b1927a572")
+ version("1.7-6", sha256="80848e1650dcc0ec921c130efa6f7e9b307f0d107c63e49faa52296eda19cc52")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-pixmap", type=("build", "run"), when="@1.7-16:")
+ depends_on("r-sp", type=("build", "run"), when="@1.7-16:")
+
+ depends_on("r-progress", type=("build", "run"), when="@1.7-16")
diff --git a/var/spack/repos/builtin/packages/r-adegenet/package.py b/var/spack/repos/builtin/packages/r-adegenet/package.py
index 77cb8e9e4e..b4e09d97b5 100644
--- a/var/spack/repos/builtin/packages/r-adegenet/package.py
+++ b/var/spack/repos/builtin/packages/r-adegenet/package.py
@@ -21,24 +21,24 @@ class RAdegenet(RPackage):
cran = "adegenet"
- version('2.1.6', sha256='7823de4933634cb887481fe4b12cf2faacbaa1b4b66939584d10fcb7ce2da26b')
- version('2.1.5', sha256='e4eee8c41dae6cb0841db74ec6f9adb2580873f3e313471f37df58324c1857f2')
- version('2.1.3', sha256='0790114ecb22642683b5be1f4b3a6a49856e06dc2f9e21b9cba4390c2257f6c6')
- version('2.1.1', sha256='3043fe5d731a38ff0e266f090dcda448640c3d0fd61934c76da32d082e5dce7a')
- version('2.1.0', sha256='7ee44061002b41164bbc09256307ab02e536f4f2ac03f36c7dc8f85f6af4639a')
- version('2.0.1', sha256='7eddf46e64f680d54d034b68c50900d9bd5bc2e08309d062e230121b7460bb10')
-
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r-ade4', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-seqinr', type=('build', 'run'))
- depends_on('r-boot', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-dplyr@0.4.1:', type=('build', 'run'))
- depends_on('r-vegan', type=('build', 'run'))
-
- depends_on('r-spdep', type=('build', 'run'), when='@:2.1.3')
+ version("2.1.6", sha256="7823de4933634cb887481fe4b12cf2faacbaa1b4b66939584d10fcb7ce2da26b")
+ version("2.1.5", sha256="e4eee8c41dae6cb0841db74ec6f9adb2580873f3e313471f37df58324c1857f2")
+ version("2.1.3", sha256="0790114ecb22642683b5be1f4b3a6a49856e06dc2f9e21b9cba4390c2257f6c6")
+ version("2.1.1", sha256="3043fe5d731a38ff0e266f090dcda448640c3d0fd61934c76da32d082e5dce7a")
+ version("2.1.0", sha256="7ee44061002b41164bbc09256307ab02e536f4f2ac03f36c7dc8f85f6af4639a")
+ version("2.0.1", sha256="7eddf46e64f680d54d034b68c50900d9bd5bc2e08309d062e230121b7460bb10")
+
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r-ade4", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-seqinr", type=("build", "run"))
+ depends_on("r-boot", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-dplyr@0.4.1:", type=("build", "run"))
+ depends_on("r-vegan", type=("build", "run"))
+
+ depends_on("r-spdep", type=("build", "run"), when="@:2.1.3")
diff --git a/var/spack/repos/builtin/packages/r-adegraphics/package.py b/var/spack/repos/builtin/packages/r-adegraphics/package.py
index 11a40da5c9..93f2c064a0 100644
--- a/var/spack/repos/builtin/packages/r-adegraphics/package.py
+++ b/var/spack/repos/builtin/packages/r-adegraphics/package.py
@@ -15,13 +15,13 @@ class RAdegraphics(RPackage):
cran = "adegraphics"
- version('1.0-16', sha256='7ba59ce9aeefe1c25b4b118d08ef458ffd34115412c147cc428629e72a82ec3a')
- version('1.0-15', sha256='87bbcd072e9a898955f5ede4315e82365086a50a2887bf5bd2e94bbb4d3f678a')
+ version("1.0-16", sha256="7ba59ce9aeefe1c25b4b118d08ef458ffd34115412c147cc428629e72a82ec3a")
+ version("1.0-15", sha256="87bbcd072e9a898955f5ede4315e82365086a50a2887bf5bd2e94bbb4d3f678a")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-ade4@1.7-13:', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-latticeextra', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-sp@1.1-1:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-ade4@1.7-13:", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-latticeextra", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-sp@1.1-1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-adephylo/package.py b/var/spack/repos/builtin/packages/r-adephylo/package.py
index b9eba3522e..b656aa512a 100644
--- a/var/spack/repos/builtin/packages/r-adephylo/package.py
+++ b/var/spack/repos/builtin/packages/r-adephylo/package.py
@@ -14,9 +14,9 @@ class RAdephylo(RPackage):
cran = "adephylo"
- version('1.1-11', sha256='154bf2645eac4493b85877933b9445442524ca4891aefe4e80c294c398cff61a')
+ version("1.1-11", sha256="154bf2645eac4493b85877933b9445442524ca4891aefe4e80c294c398cff61a")
- depends_on('r-ade4@1.7-10:', type=('build', 'run'))
- depends_on('r-phylobase', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-adegenet', type=('build', 'run'))
+ depends_on("r-ade4@1.7-10:", type=("build", "run"))
+ depends_on("r-phylobase", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-adegenet", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-adespatial/package.py b/var/spack/repos/builtin/packages/r-adespatial/package.py
index 526197addc..d89ef051ce 100644
--- a/var/spack/repos/builtin/packages/r-adespatial/package.py
+++ b/var/spack/repos/builtin/packages/r-adespatial/package.py
@@ -17,16 +17,16 @@ class RAdespatial(RPackage):
cran = "adespatial"
- version('0.3-16', sha256='987bd6e0bc6a32ac8e678338ffbbd88580007c4916129b51da681c331818a821')
- version('0.3-14', sha256='a2ef7549c1ed7a23651716c633b25eaff468af8ccbf2e9fcd164e485984cbfbf')
- version('0.3-8', sha256='e3fd3209ce3f0a862a0794187e8c884f1697c87c96e569a2f51f252e00022906')
+ version("0.3-16", sha256="987bd6e0bc6a32ac8e678338ffbbd88580007c4916129b51da681c331818a821")
+ version("0.3-14", sha256="a2ef7549c1ed7a23651716c633b25eaff468af8ccbf2e9fcd164e485984cbfbf")
+ version("0.3-8", sha256="e3fd3209ce3f0a862a0794187e8c884f1697c87c96e569a2f51f252e00022906")
- depends_on('r-ade4@1.7-13:', type=('build', 'run'))
- depends_on('r-adegraphics', type=('build', 'run'))
- depends_on('r-adephylo', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-spdep', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'))
- depends_on('r-vegan', type=('build', 'run'))
+ depends_on("r-ade4@1.7-13:", type=("build", "run"))
+ depends_on("r-adegraphics", type=("build", "run"))
+ depends_on("r-adephylo", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-spdep", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"))
+ depends_on("r-vegan", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-adgoftest/package.py b/var/spack/repos/builtin/packages/r-adgoftest/package.py
index 5e6d0dcb9b..8c7d9bbc91 100644
--- a/var/spack/repos/builtin/packages/r-adgoftest/package.py
+++ b/var/spack/repos/builtin/packages/r-adgoftest/package.py
@@ -14,4 +14,4 @@ class RAdgoftest(RPackage):
cran = "ADGofTest"
- version('0.3', sha256='9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846')
+ version("0.3", sha256="9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846")
diff --git a/var/spack/repos/builtin/packages/r-adsplit/package.py b/var/spack/repos/builtin/packages/r-adsplit/package.py
index 67984d1dac..8d65deccbb 100644
--- a/var/spack/repos/builtin/packages/r-adsplit/package.py
+++ b/var/spack/repos/builtin/packages/r-adsplit/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RAdsplit(RPackage):
"""Annotation-Driven Clustering.
- This package implements clustering of microarray gene expression
- profiles according to functional annotations. For each term genes are
- annotated to, splits into two subclasses are computed and a significance
- of the supporting gene set is determined."""
+ This package implements clustering of microarray gene expression
+ profiles according to functional annotations. For each term genes are
+ annotated to, splits into two subclasses are computed and a significance
+ of the supporting gene set is determined."""
bioc = "adSplit"
- version('1.66.0', commit='64580a6f7a9bc6b16334267c90df48fbb839cc16')
- version('1.64.0', commit='32f150eb51c66b867301dceeb527de5b97f9f490')
- version('1.60.0', commit='de5abccfe652cbc5b5f49fb6ed77cdd15cc760cd')
- version('1.54.0', commit='ce8fb61f4a3d0942294da2baa28be1472acb0652')
- version('1.52.0', commit='3bd105dbd76c52798b7d52f60c17de62ef13da19')
- version('1.50.0', commit='a02e2c994e78ececd5a248575109c5ed36c969db')
- version('1.48.0', commit='57dfcd93b9232cf53f05c34179ecb759bb7aff46')
- version('1.46.0', commit='7e81a83f34d371447f491b3a146bf6851e260c7c')
-
- depends_on('r@2.1.0:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biobase@1.5.12:', type=('build', 'run'))
- depends_on('r-cluster@1.9.1:', type=('build', 'run'))
- depends_on('r-go-db@1.8.1:', type=('build', 'run'))
- depends_on('r-keggrest@1.30.1:', type=('build', 'run'), when='@1.62.0:')
- depends_on('r-multtest@1.6.0:', type=('build', 'run'))
-
- depends_on('r-kegg-db@1.8.1:', type=('build', 'run'), when='@:1.60.0')
+ version("1.66.0", commit="64580a6f7a9bc6b16334267c90df48fbb839cc16")
+ version("1.64.0", commit="32f150eb51c66b867301dceeb527de5b97f9f490")
+ version("1.60.0", commit="de5abccfe652cbc5b5f49fb6ed77cdd15cc760cd")
+ version("1.54.0", commit="ce8fb61f4a3d0942294da2baa28be1472acb0652")
+ version("1.52.0", commit="3bd105dbd76c52798b7d52f60c17de62ef13da19")
+ version("1.50.0", commit="a02e2c994e78ececd5a248575109c5ed36c969db")
+ version("1.48.0", commit="57dfcd93b9232cf53f05c34179ecb759bb7aff46")
+ version("1.46.0", commit="7e81a83f34d371447f491b3a146bf6851e260c7c")
+
+ depends_on("r@2.1.0:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biobase@1.5.12:", type=("build", "run"))
+ depends_on("r-cluster@1.9.1:", type=("build", "run"))
+ depends_on("r-go-db@1.8.1:", type=("build", "run"))
+ depends_on("r-keggrest@1.30.1:", type=("build", "run"), when="@1.62.0:")
+ depends_on("r-multtest@1.6.0:", type=("build", "run"))
+
+ depends_on("r-kegg-db@1.8.1:", type=("build", "run"), when="@:1.60.0")
diff --git a/var/spack/repos/builtin/packages/r-aer/package.py b/var/spack/repos/builtin/packages/r-aer/package.py
index 9cdec514f6..f106090622 100644
--- a/var/spack/repos/builtin/packages/r-aer/package.py
+++ b/var/spack/repos/builtin/packages/r-aer/package.py
@@ -15,15 +15,15 @@ class RAer(RPackage):
cran = "AER"
- version('1.2-9', sha256='3b79390b14766419fc1e8912689bc462d4beb01aff9dad26d628aed69d04540d')
- version('1.2-7', sha256='3aee5c606313710c2dca6c1e9b2c20a145aa33f2a3ecc5cfcec66c8e91838a93')
- version('1.2-6', sha256='653c3a2d253819e0ce8c2cf12cff2ab222bf3d19dbf382b7c4b4c3d762469474')
- version('1.2-5', sha256='ef0cf14ff9d3de2b97e5855243426cc918808eb1011f0e2253b3b00043927a62')
+ version("1.2-9", sha256="3b79390b14766419fc1e8912689bc462d4beb01aff9dad26d628aed69d04540d")
+ version("1.2-7", sha256="3aee5c606313710c2dca6c1e9b2c20a145aa33f2a3ecc5cfcec66c8e91838a93")
+ version("1.2-6", sha256="653c3a2d253819e0ce8c2cf12cff2ab222bf3d19dbf382b7c4b4c3d762469474")
+ version("1.2-5", sha256="ef0cf14ff9d3de2b97e5855243426cc918808eb1011f0e2253b3b00043927a62")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-car@2.0-19:', type=('build', 'run'))
- depends_on('r-lmtest', type=('build', 'run'))
- depends_on('r-sandwich@2.4-0:', type=('build', 'run'))
- depends_on('r-survival@2.37-5:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-formula@0.2-0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-car@2.0-19:", type=("build", "run"))
+ depends_on("r-lmtest", type=("build", "run"))
+ depends_on("r-sandwich@2.4-0:", type=("build", "run"))
+ depends_on("r-survival@2.37-5:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-formula@0.2-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-afex/package.py b/var/spack/repos/builtin/packages/r-afex/package.py
index 03ebc28bd3..d4b4616066 100644
--- a/var/spack/repos/builtin/packages/r-afex/package.py
+++ b/var/spack/repos/builtin/packages/r-afex/package.py
@@ -24,13 +24,13 @@ class RAfex(RPackage):
cran = "afex"
- version('1.1-1', sha256='66011599b193ebbb3bd241eb7200bd68ac4b5d2d1df84e63e9fdd72fb4110427')
- version('1.0-1', sha256='6febc34b87a1109f5cbcd213c08d2b7b3e9cf99065fa41c19bc88ac99fb104cc')
- version('0.28-1', sha256='cfb0b79bfa01b590afc3354a5b2ad3640d2f4974b036d6c256fa8e684bc69c2e')
+ version("1.1-1", sha256="66011599b193ebbb3bd241eb7200bd68ac4b5d2d1df84e63e9fdd72fb4110427")
+ version("1.0-1", sha256="6febc34b87a1109f5cbcd213c08d2b7b3e9cf99065fa41c19bc88ac99fb104cc")
+ version("0.28-1", sha256="cfb0b79bfa01b590afc3354a5b2ad3640d2f4974b036d6c256fa8e684bc69c2e")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-lme4@1.1-8:', type=('build', 'run'))
- depends_on('r-pbkrtest@0.4-1:', type=('build', 'run'))
- depends_on('r-lmertest@3.0-0:', type=('build', 'run'))
- depends_on('r-car', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-lme4@1.1-8:", type=("build", "run"))
+ depends_on("r-pbkrtest@0.4-1:", type=("build", "run"))
+ depends_on("r-lmertest@3.0-0:", type=("build", "run"))
+ depends_on("r-car", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affxparser/package.py b/var/spack/repos/builtin/packages/r-affxparser/package.py
index 98e5b0e176..744bcbbe63 100644
--- a/var/spack/repos/builtin/packages/r-affxparser/package.py
+++ b/var/spack/repos/builtin/packages/r-affxparser/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RAffxparser(RPackage):
"""Affymetrix File Parsing SDK.
- Package for parsing Affymetrix files (CDF, CEL, CHP, BPMAP, BAR). It
- provides methods for fast and memory efficient parsing of Affymetrix
- files using the Affymetrix' Fusion SDK. Both ASCII- and binary-based
- files are supported. Currently, there are methods for reading chip
- definition file (CDF) and a cell intensity file (CEL). These files can
- be read either in full or in part. For example, probe signals from a few
- probesets can be extracted very quickly from a set of CEL files into a
- convenient list structure."""
+ Package for parsing Affymetrix files (CDF, CEL, CHP, BPMAP, BAR). It
+ provides methods for fast and memory efficient parsing of Affymetrix
+ files using the Affymetrix' Fusion SDK. Both ASCII- and binary-based
+ files are supported. Currently, there are methods for reading chip
+ definition file (CDF) and a cell intensity file (CEL). These files can
+ be read either in full or in part. For example, probe signals from a few
+ probesets can be extracted very quickly from a set of CEL files into a
+ convenient list structure."""
bioc = "affxparser"
- version('1.68.1', commit='821a01a2df18115a3b7864b3f45418255b7123eb')
- version('1.66.0', commit='2ea72d4c924ac14bdd807b23563c8501c226ce3a')
- version('1.62.0', commit='b3e988e5c136c3f1a064e1da13730b403c8704c0')
- version('1.56.0', commit='20d27701ad2bdfacf34d857bb8ecb4f505b4d056')
- version('1.54.0', commit='dce83d23599a964086a84ced4afd13fc43e7cd4f')
- version('1.52.0', commit='8e0c4b89ee1cb4ff95f58a5dd947249dc718bc58')
- version('1.50.0', commit='01ef641727eadc2cc17b5dbb0b1432364436e3d5')
- version('1.48.0', commit='2461ea88f310b59c4a9a997a4b3dadedbd65a4aa')
+ version("1.68.1", commit="821a01a2df18115a3b7864b3f45418255b7123eb")
+ version("1.66.0", commit="2ea72d4c924ac14bdd807b23563c8501c226ce3a")
+ version("1.62.0", commit="b3e988e5c136c3f1a064e1da13730b403c8704c0")
+ version("1.56.0", commit="20d27701ad2bdfacf34d857bb8ecb4f505b4d056")
+ version("1.54.0", commit="dce83d23599a964086a84ced4afd13fc43e7cd4f")
+ version("1.52.0", commit="8e0c4b89ee1cb4ff95f58a5dd947249dc718bc58")
+ version("1.50.0", commit="01ef641727eadc2cc17b5dbb0b1432364436e3d5")
+ version("1.48.0", commit="2461ea88f310b59c4a9a997a4b3dadedbd65a4aa")
- depends_on('r@2.14.0:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affy/package.py b/var/spack/repos/builtin/packages/r-affy/package.py
index b03133e7e3..e94ff7961f 100644
--- a/var/spack/repos/builtin/packages/r-affy/package.py
+++ b/var/spack/repos/builtin/packages/r-affy/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAffy(RPackage):
"""Methods for Affymetrix Oligonucleotide Arrays.
- The package contains functions for exploratory oligonucleotide array
- analysis. The dependence on tkWidgets only concerns few convenience
- functions. 'affy' is fully functional without it."""
+ The package contains functions for exploratory oligonucleotide array
+ analysis. The dependence on tkWidgets only concerns few convenience
+ functions. 'affy' is fully functional without it."""
bioc = "affy"
- version('1.74.0', commit='2266c4a46eda7e5b64f7f3e17e8b61e7b85579ff')
- version('1.72.0', commit='3750b4eb8e5224b19100f6c881b67e568d8968a2')
- version('1.68.0', commit='1664399610c9aa519399445a2ef8bb9ea2233eac')
- version('1.62.0', commit='097ab4aa98a1700c5fae65d07bed44a477714605')
- version('1.60.0', commit='fcae363e58b322ad53584d9e15e80fa2f9d17206')
- version('1.58.0', commit='4698231f45f225228f56c0708cd477ad450b4ee6')
- version('1.56.0', commit='d36a7b8f05b1ef60162d94e75037d45c48f88871')
- version('1.54.0', commit='a815f02906fcf491b28ed0a356d6fce95a6bd20e')
-
- depends_on('r@2.8.0:4.0', type=('build', 'run'), when='@:1.68.0')
- depends_on('r-biocgenerics@0.1.12:', type=('build', 'run'))
- depends_on('r-biobase@2.5.5:', type=('build', 'run'))
- depends_on('r-affyio@1.13.3:', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@1.60.0:')
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
-
- depends_on('r-biocinstaller', type=('build', 'run'), when='@1.54.0:1.58.0')
+ version("1.74.0", commit="2266c4a46eda7e5b64f7f3e17e8b61e7b85579ff")
+ version("1.72.0", commit="3750b4eb8e5224b19100f6c881b67e568d8968a2")
+ version("1.68.0", commit="1664399610c9aa519399445a2ef8bb9ea2233eac")
+ version("1.62.0", commit="097ab4aa98a1700c5fae65d07bed44a477714605")
+ version("1.60.0", commit="fcae363e58b322ad53584d9e15e80fa2f9d17206")
+ version("1.58.0", commit="4698231f45f225228f56c0708cd477ad450b4ee6")
+ version("1.56.0", commit="d36a7b8f05b1ef60162d94e75037d45c48f88871")
+ version("1.54.0", commit="a815f02906fcf491b28ed0a356d6fce95a6bd20e")
+
+ depends_on("r@2.8.0:4.0", type=("build", "run"), when="@:1.68.0")
+ depends_on("r-biocgenerics@0.1.12:", type=("build", "run"))
+ depends_on("r-biobase@2.5.5:", type=("build", "run"))
+ depends_on("r-affyio@1.13.3:", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@1.60.0:")
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
+
+ depends_on("r-biocinstaller", type=("build", "run"), when="@1.54.0:1.58.0")
diff --git a/var/spack/repos/builtin/packages/r-affycomp/package.py b/var/spack/repos/builtin/packages/r-affycomp/package.py
index 22c32f2047..0cb8adb924 100644
--- a/var/spack/repos/builtin/packages/r-affycomp/package.py
+++ b/var/spack/repos/builtin/packages/r-affycomp/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RAffycomp(RPackage):
"""Graphics Toolbox for Assessment of Affymetrix Expression Measures.
- The package contains functions that can be used to compare expression
- measures for Affymetrix Oligonucleotide Arrays."""
+ The package contains functions that can be used to compare expression
+ measures for Affymetrix Oligonucleotide Arrays."""
bioc = "affycomp"
- version('1.72.0', commit='c52baea98b80abd4a99380ac9d4b68ef91869d40')
- version('1.70.0', commit='487f6775975092475581a6c02ddb27590559cf07')
- version('1.66.0', commit='388d01af8b1e6ab11051407f77d0206512df8424')
- version('1.60.0', commit='5dbe61fa04941529a0fc70b728021c8e00c4ba0c')
- version('1.58.0', commit='99607b2c4aad37e3e63eccbd12d0d533762f28ef')
- version('1.56.0', commit='b0994da338be19396e647c680059fd35341b50a2')
- version('1.54.0', commit='65281c1ca37147c2a54ad3722a8d5ff0ffa5acc5')
- version('1.52.0', commit='1b97a1cb21ec93bf1e5c88d5d55b988059612790')
+ version("1.72.0", commit="c52baea98b80abd4a99380ac9d4b68ef91869d40")
+ version("1.70.0", commit="487f6775975092475581a6c02ddb27590559cf07")
+ version("1.66.0", commit="388d01af8b1e6ab11051407f77d0206512df8424")
+ version("1.60.0", commit="5dbe61fa04941529a0fc70b728021c8e00c4ba0c")
+ version("1.58.0", commit="99607b2c4aad37e3e63eccbd12d0d533762f28ef")
+ version("1.56.0", commit="b0994da338be19396e647c680059fd35341b50a2")
+ version("1.54.0", commit="65281c1ca37147c2a54ad3722a8d5ff0ffa5acc5")
+ version("1.52.0", commit="1b97a1cb21ec93bf1e5c88d5d55b988059612790")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-biobase@2.3.3:', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-biobase@2.3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affycompatible/package.py b/var/spack/repos/builtin/packages/r-affycompatible/package.py
index 875de9489a..3268041076 100644
--- a/var/spack/repos/builtin/packages/r-affycompatible/package.py
+++ b/var/spack/repos/builtin/packages/r-affycompatible/package.py
@@ -9,25 +9,25 @@ from spack.package import *
class RAffycompatible(RPackage):
"""Affymetrix GeneChip software compatibility.
- This package provides an interface to Affymetrix chip annotation and
- sample attribute files. The package allows an easy way for users to
- download and manage local data bases of Affynmetrix NetAffx annotation
- files. The package also provides access to GeneChip Operating System
- (GCOS) and GeneChip Command Console (AGCC)-compatible sample annotation
- files."""
+ This package provides an interface to Affymetrix chip annotation and
+ sample attribute files. The package allows an easy way for users to
+ download and manage local data bases of Affynmetrix NetAffx annotation
+ files. The package also provides access to GeneChip Operating System
+ (GCOS) and GeneChip Command Console (AGCC)-compatible sample annotation
+ files."""
bioc = "AffyCompatible"
- version('1.56.0', commit='37ea4bb885c791fb989f40092f3d0d2c57d35641')
- version('1.54.0', commit='fde7d86ccdb03c13c4838c18ac25477ffe6e0fe5')
- version('1.50.0', commit='3b12d12bd6d1a9f0d45e012817231d137d47089e')
- version('1.44.0', commit='98a27fbe880551fd32a5febb6c7bde0807eac476')
- version('1.42.0', commit='699303cc20f292591e2faa12e211c588efb9eaa8')
- version('1.40.0', commit='44838bdb5e8c26afbd898c49ed327ddd1a1d0301')
- version('1.38.0', commit='d47ee3a3a3d3bce11121e80fe02ee216b9199b12')
- version('1.36.0', commit='dbbfd43a54ae1de6173336683a9461084ebf38c3')
+ version("1.56.0", commit="37ea4bb885c791fb989f40092f3d0d2c57d35641")
+ version("1.54.0", commit="fde7d86ccdb03c13c4838c18ac25477ffe6e0fe5")
+ version("1.50.0", commit="3b12d12bd6d1a9f0d45e012817231d137d47089e")
+ version("1.44.0", commit="98a27fbe880551fd32a5febb6c7bde0807eac476")
+ version("1.42.0", commit="699303cc20f292591e2faa12e211c588efb9eaa8")
+ version("1.40.0", commit="44838bdb5e8c26afbd898c49ed327ddd1a1d0301")
+ version("1.38.0", commit="d47ee3a3a3d3bce11121e80fe02ee216b9199b12")
+ version("1.36.0", commit="dbbfd43a54ae1de6173336683a9461084ebf38c3")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-xml@2.8-1:', type=('build', 'run'))
- depends_on('r-rcurl@0.8-1:', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-xml@2.8-1:", type=("build", "run"))
+ depends_on("r-rcurl@0.8-1:", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affycontam/package.py b/var/spack/repos/builtin/packages/r-affycontam/package.py
index 4e806983b5..1265d709bb 100644
--- a/var/spack/repos/builtin/packages/r-affycontam/package.py
+++ b/var/spack/repos/builtin/packages/r-affycontam/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class RAffycontam(RPackage):
"""structured corruption of affymetrix cel file data.
- structured corruption of cel file data to demonstrate QA
- effectiveness"""
+ structured corruption of cel file data to demonstrate QA
+ effectiveness"""
- bioc = "affyContam"
+ bioc = "affyContam"
- version('1.54.0', commit='c5208b48b8881983ff53a4713244327e8ad13b78')
- version('1.52.0', commit='47c1d86da330f157d3ece0e26b0657d66a5ca0c9')
- version('1.48.0', commit='88387a2ad4be4234d36710c65f2ca3a5b06b67da')
- version('1.42.0', commit='8a5e94a5ae8c2ecfafa6177b84a6e8ab07e14fbe')
- version('1.40.0', commit='dfd5fd6ae04941dddbda03f656540b71b2fbc614')
- version('1.38.0', commit='84651e8eade61619afefc83bb290047da101a5bc')
- version('1.36.0', commit='aeb684a7d3f6fa9243f3946d214de53649fa4fd6')
- version('1.34.0', commit='03529f26d059c19e069cdda358dbf7789b6d4c40')
+ version("1.54.0", commit="c5208b48b8881983ff53a4713244327e8ad13b78")
+ version("1.52.0", commit="47c1d86da330f157d3ece0e26b0657d66a5ca0c9")
+ version("1.48.0", commit="88387a2ad4be4234d36710c65f2ca3a5b06b67da")
+ version("1.42.0", commit="8a5e94a5ae8c2ecfafa6177b84a6e8ab07e14fbe")
+ version("1.40.0", commit="dfd5fd6ae04941dddbda03f656540b71b2fbc614")
+ version("1.38.0", commit="84651e8eade61619afefc83bb290047da101a5bc")
+ version("1.36.0", commit="aeb684a7d3f6fa9243f3946d214de53649fa4fd6")
+ version("1.34.0", commit="03529f26d059c19e069cdda358dbf7789b6d4c40")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-affydata', type=('build', 'run'))
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-affydata", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affycoretools/package.py b/var/spack/repos/builtin/packages/r-affycoretools/package.py
index b189360e20..c0c86de44b 100644
--- a/var/spack/repos/builtin/packages/r-affycoretools/package.py
+++ b/var/spack/repos/builtin/packages/r-affycoretools/package.py
@@ -8,39 +8,39 @@ from spack.package import *
class RAffycoretools(RPackage):
"""Functions useful for those doing repetitive analyses with Affymetrix
- GeneChips.
+ GeneChips.
- Various wrapper functions that have been written to streamline the more
- common analyses that a core Biostatistician might see."""
+ Various wrapper functions that have been written to streamline the more
+ common analyses that a core Biostatistician might see."""
bioc = "affycoretools"
- version('1.68.1', commit='69546b1fe5edd71eca130d53d33f0fb0fcf62c97')
- version('1.66.0', commit='6bf769d70e196634097f465ed2fa85cce5312a6d')
- version('1.62.0', commit='c9779e4da648fd174c9bd575c6020be1c03047c4')
- version('1.56.0', commit='71eab04056a8d696470420a600b14900186be898')
- version('1.54.0', commit='1e1f9680bc3e1fa443f4a81ce5ab81349959b845')
- version('1.52.2', commit='2f98c74fad238b94c1e453b972524ab7b573b0de')
- version('1.50.6', commit='4be92bcb55d7bace2a110865b7530dcfac14e76e')
- version('1.48.0', commit='e0d52e34eead1ac45d3e60c59efd940e4889eb99')
+ version("1.68.1", commit="69546b1fe5edd71eca130d53d33f0fb0fcf62c97")
+ version("1.66.0", commit="6bf769d70e196634097f465ed2fa85cce5312a6d")
+ version("1.62.0", commit="c9779e4da648fd174c9bd575c6020be1c03047c4")
+ version("1.56.0", commit="71eab04056a8d696470420a600b14900186be898")
+ version("1.54.0", commit="1e1f9680bc3e1fa443f4a81ce5ab81349959b845")
+ version("1.52.2", commit="2f98c74fad238b94c1e453b972524ab7b573b0de")
+ version("1.50.6", commit="4be92bcb55d7bace2a110865b7530dcfac14e76e")
+ version("1.48.0", commit="e0d52e34eead1ac45d3e60c59efd940e4889eb99")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-gostats', type=('build', 'run'))
- depends_on('r-gcrma', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gplots', type=('build', 'run'))
- depends_on('r-oligoclasses', type=('build', 'run'))
- depends_on('r-reportingtools', type=('build', 'run'))
- depends_on('r-hwriter', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'), when='@1.50.6:')
- depends_on('r-glimma', type=('build', 'run'), when='@1.62.0:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-gostats", type=("build", "run"))
+ depends_on("r-gcrma", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gplots", type=("build", "run"))
+ depends_on("r-oligoclasses", type=("build", "run"))
+ depends_on("r-reportingtools", type=("build", "run"))
+ depends_on("r-hwriter", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"), when="@1.50.6:")
+ depends_on("r-glimma", type=("build", "run"), when="@1.62.0:")
diff --git a/var/spack/repos/builtin/packages/r-affydata/package.py b/var/spack/repos/builtin/packages/r-affydata/package.py
index dac3f12256..c270226a65 100644
--- a/var/spack/repos/builtin/packages/r-affydata/package.py
+++ b/var/spack/repos/builtin/packages/r-affydata/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RAffydata(RPackage):
"""Affymetrix Data for Demonstration Purpose.
- Example datasets of a slightly large size. They represent 'real world
- examples', unlike the artificial examples included in the package
- affy."""
+ Example datasets of a slightly large size. They represent 'real world
+ examples', unlike the artificial examples included in the package
+ affy."""
bioc = "affydata"
- version('1.44.0', commit='f18304a356cee8cd7297bab362b13c40e50439df')
- version('1.42.0', commit='4b54c1206bedd27ff9be32affc999a279f4e96f0')
- version('1.38.0', commit='b5e843b2514789d0d87bea44d762c89a95314ee7')
- version('1.32.0', commit='c7cef93f6edd23024f4b1985b90e89058874c2bd')
- version('1.30.0', commit='d5408d84b37ebae73b40a448dd52baf7b4a13bea')
- version('1.28.0', commit='a106a5514c352bf0bbc624ded58a93886d4ce96f')
- version('1.26.0', commit='eb0a44a39990b361f9fb1094837ffafb320f39a9')
- version('1.24.0', commit='663991606507572f083232e2b393d901270291d4')
+ version("1.44.0", commit="f18304a356cee8cd7297bab362b13c40e50439df")
+ version("1.42.0", commit="4b54c1206bedd27ff9be32affc999a279f4e96f0")
+ version("1.38.0", commit="b5e843b2514789d0d87bea44d762c89a95314ee7")
+ version("1.32.0", commit="c7cef93f6edd23024f4b1985b90e89058874c2bd")
+ version("1.30.0", commit="d5408d84b37ebae73b40a448dd52baf7b4a13bea")
+ version("1.28.0", commit="a106a5514c352bf0bbc624ded58a93886d4ce96f")
+ version("1.26.0", commit="eb0a44a39990b361f9fb1094837ffafb320f39a9")
+ version("1.24.0", commit="663991606507572f083232e2b393d901270291d4")
- depends_on('r@2.4.0:', type=('build', 'run'))
- depends_on('r-affy@1.23.4:', type=('build', 'run'))
+ depends_on("r@2.4.0:", type=("build", "run"))
+ depends_on("r-affy@1.23.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyexpress/package.py b/var/spack/repos/builtin/packages/r-affyexpress/package.py
index 07e69b9fdb..6a36d91812 100644
--- a/var/spack/repos/builtin/packages/r-affyexpress/package.py
+++ b/var/spack/repos/builtin/packages/r-affyexpress/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RAffyexpress(RPackage):
"""Affymetrix Quality Assessment and Analysis Tool.
- The purpose of this package is to provide a comprehensive and easy-to-
- use tool for quality assessment and to identify differentially expressed
- genes in the Affymetrix gene expression data."""
+ The purpose of this package is to provide a comprehensive and easy-to-
+ use tool for quality assessment and to identify differentially expressed
+ genes in the Affymetrix gene expression data."""
bioc = "AffyExpress"
- version('1.56.0', commit='e07085833de2bbf81537410cad526d39f8a82478')
- version('1.50.0', commit='8b98703b63396df9692afb0e15b594658125cc96')
- version('1.48.0', commit='dbaed516b7529ef4f7588aafaf3c5f1d53a9bb92')
- version('1.46.0', commit='2add4a4436e21aa20f1ededbfd5f1365a3d28c85')
- version('1.44.0', commit='7517bc8b363ceb107d5dca66dd74f94edefde52a')
- version('1.42.0', commit='f5c5cf6173f4419e25f4aeff5e6b705a40abc371')
+ version("1.56.0", commit="e07085833de2bbf81537410cad526d39f8a82478")
+ version("1.50.0", commit="8b98703b63396df9692afb0e15b594658125cc96")
+ version("1.48.0", commit="dbaed516b7529ef4f7588aafaf3c5f1d53a9bb92")
+ version("1.46.0", commit="2add4a4436e21aa20f1ededbfd5f1365a3d28c85")
+ version("1.44.0", commit="7517bc8b363ceb107d5dca66dd74f94edefde52a")
+ version("1.42.0", commit="f5c5cf6173f4419e25f4aeff5e6b705a40abc371")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-affy@1.23.4:', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-affy@1.23.4:", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyilm/package.py b/var/spack/repos/builtin/packages/r-affyilm/package.py
index b1afc7a946..4603fcb16b 100644
--- a/var/spack/repos/builtin/packages/r-affyilm/package.py
+++ b/var/spack/repos/builtin/packages/r-affyilm/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RAffyilm(RPackage):
"""Linear Model of background subtraction and the Langmuir isotherm.
- affyILM is a preprocessing tool which estimates gene expression levels
- for Affymetrix Gene Chips. Input from physical chemistry is employed to
- first background subtract intensities before calculating concentrations
- on behalf of the Langmuir model."""
+ affyILM is a preprocessing tool which estimates gene expression levels
+ for Affymetrix Gene Chips. Input from physical chemistry is employed to
+ first background subtract intensities before calculating concentrations
+ on behalf of the Langmuir model."""
bioc = "affyILM"
- version('1.48.0', commit='4603a4c4d6c2330a8a56a7bb657dc56c51a9393a')
- version('1.46.0', commit='67ffbfa6c881ed83d15604bf4463fe5dba81036b')
- version('1.42.0', commit='b97b29786b866de38802ebbb995169be91e90942')
- version('1.36.0', commit='619ced931ba72860ce4cb41c841bbca1636a1132')
- version('1.34.0', commit='2c02ed2d8fa9a9585d41cf4db0b75d0a07ad8564')
- version('1.32.0', commit='860f2ddada80435d309ba334eff3fab503817755')
- version('1.30.0', commit='c07d91ae52a2a48f0a5f212c3ecf3243741bee13')
- version('1.28.0', commit='307bee3ebc599e0ea4a1d6fa8d5511ccf8bef7de')
+ version("1.48.0", commit="4603a4c4d6c2330a8a56a7bb657dc56c51a9393a")
+ version("1.46.0", commit="67ffbfa6c881ed83d15604bf4463fe5dba81036b")
+ version("1.42.0", commit="b97b29786b866de38802ebbb995169be91e90942")
+ version("1.36.0", commit="619ced931ba72860ce4cb41c841bbca1636a1132")
+ version("1.34.0", commit="2c02ed2d8fa9a9585d41cf4db0b75d0a07ad8564")
+ version("1.32.0", commit="860f2ddada80435d309ba334eff3fab503817755")
+ version("1.30.0", commit="c07d91ae52a2a48f0a5f212c3ecf3243741bee13")
+ version("1.28.0", commit="307bee3ebc599e0ea4a1d6fa8d5511ccf8bef7de")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-gcrma', type=('build', 'run'))
- depends_on('r-affxparser@1.16.0:', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-gcrma", type=("build", "run"))
+ depends_on("r-affxparser@1.16.0:", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyio/package.py b/var/spack/repos/builtin/packages/r-affyio/package.py
index 60c3cc08c4..076bc86f11 100644
--- a/var/spack/repos/builtin/packages/r-affyio/package.py
+++ b/var/spack/repos/builtin/packages/r-affyio/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RAffyio(RPackage):
"""Tools for parsing Affymetrix data files.
- Routines for parsing Affymetrix data files based upon file format
- information. Primary focus is on accessing the CEL and CDF file
- formats."""
+ Routines for parsing Affymetrix data files based upon file format
+ information. Primary focus is on accessing the CEL and CDF file
+ formats."""
bioc = "affyio"
- version('1.66.0', commit='3a0b90704fc46cddd99a72b985a6bdb348f69b50')
- version('1.64.0', commit='aa7ce48f3f4110431f6f488d45961fde4019ffb0')
- version('1.60.0', commit='ee20528b32700e99768da48143d6d45c9a7bbe91')
- version('1.54.0', commit='c0e306e1805a556a1074d1af1acdd18e0a04477f')
- version('1.52.0', commit='9da725ac1098a22a370fa96eb03e51e4f6d5d963')
- version('1.50.0', commit='911ea4f8e4cdf7b649b87ef7ed1a5f5b111ef38a')
- version('1.48.0', commit='01727a4492c3a0d50453fc91892e04bf5f7fcadb')
- version('1.46.0', commit='977597f2772e08273d86579486f452170566c880')
+ version("1.66.0", commit="3a0b90704fc46cddd99a72b985a6bdb348f69b50")
+ version("1.64.0", commit="aa7ce48f3f4110431f6f488d45961fde4019ffb0")
+ version("1.60.0", commit="ee20528b32700e99768da48143d6d45c9a7bbe91")
+ version("1.54.0", commit="c0e306e1805a556a1074d1af1acdd18e0a04477f")
+ version("1.52.0", commit="9da725ac1098a22a370fa96eb03e51e4f6d5d963")
+ version("1.50.0", commit="911ea4f8e4cdf7b649b87ef7ed1a5f5b111ef38a")
+ version("1.48.0", commit="01727a4492c3a0d50453fc91892e04bf5f7fcadb")
+ version("1.46.0", commit="977597f2772e08273d86579486f452170566c880")
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affypdnn/package.py b/var/spack/repos/builtin/packages/r-affypdnn/package.py
index 82a72dc67e..70611ac057 100644
--- a/var/spack/repos/builtin/packages/r-affypdnn/package.py
+++ b/var/spack/repos/builtin/packages/r-affypdnn/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class RAffypdnn(RPackage):
"""Probe Dependent Nearest Neighbours (PDNN) for the affy package.
- The package contains functions to perform the PDNN method described by
- Li Zhang et al."""
+ The package contains functions to perform the PDNN method described by
+ Li Zhang et al."""
bioc = "affypdnn"
- version('1.58.0', commit='83d8b6b0d9606845bd77dbf7164dd5b160f32ccf')
- version('1.56.0', commit='5fd9c5265fb895a1f646cf72e8d5169669d979f2')
- version('1.54.0', commit='ea971b1b9cc443695a6614bef92e8e116ee87d55')
- version('1.52.0', commit='17d74c593ce4f0dfd43f13a5016e482c1399d21e')
- version('1.50.0', commit='97ff68e9f51f31333c0330435ea23b212b3ed18a')
+ version("1.58.0", commit="83d8b6b0d9606845bd77dbf7164dd5b160f32ccf")
+ version("1.56.0", commit="5fd9c5265fb895a1f646cf72e8d5169669d979f2")
+ version("1.54.0", commit="ea971b1b9cc443695a6614bef92e8e116ee87d55")
+ version("1.52.0", commit="17d74c593ce4f0dfd43f13a5016e482c1399d21e")
+ version("1.50.0", commit="97ff68e9f51f31333c0330435ea23b212b3ed18a")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-affy@1.5:', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-affy@1.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyplm/package.py b/var/spack/repos/builtin/packages/r-affyplm/package.py
index 80d3841fe7..91191386b6 100644
--- a/var/spack/repos/builtin/packages/r-affyplm/package.py
+++ b/var/spack/repos/builtin/packages/r-affyplm/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAffyplm(RPackage):
"""Methods for fitting probe-level models.
- A package that extends and improves the functionality of the base affy
- package. Routines that make heavy use of compiled code for speed.
- Central focus is on implementation of methods for fitting probe-level
- models and tools using these models. PLM based quality assessment
- tools."""
+ A package that extends and improves the functionality of the base affy
+ package. Routines that make heavy use of compiled code for speed.
+ Central focus is on implementation of methods for fitting probe-level
+ models and tools using these models. PLM based quality assessment
+ tools."""
bioc = "affyPLM"
- version('1.72.0', commit='394c0a8e213f188d0b1d01e20516df8bf1bc5c09')
- version('1.70.0', commit='64abfec92b347aa340b54a8c7b2fbd524fe9c312')
- version('1.66.0', commit='f0780c3d0e9dccaff83861b98beb5c1d324c4399')
- version('1.60.0', commit='b11e377d6af3fd0f28aba8195ebf171003da1a9d')
- version('1.58.0', commit='32764c7691d9a72a301d50042a8844112887a1c8')
- version('1.56.0', commit='13dfc558281af9a177d4d592c34cf7ace629af0e')
- version('1.54.0', commit='09cf5f6e01dd2d0aae3e9ddab27301f04bfd645c')
- version('1.52.1', commit='e8613a6018c4ee58045df6bf19128844f50a1f43')
+ version("1.72.0", commit="394c0a8e213f188d0b1d01e20516df8bf1bc5c09")
+ version("1.70.0", commit="64abfec92b347aa340b54a8c7b2fbd524fe9c312")
+ version("1.66.0", commit="f0780c3d0e9dccaff83861b98beb5c1d324c4399")
+ version("1.60.0", commit="b11e377d6af3fd0f28aba8195ebf171003da1a9d")
+ version("1.58.0", commit="32764c7691d9a72a301d50042a8844112887a1c8")
+ version("1.56.0", commit="13dfc558281af9a177d4d592c34cf7ace629af0e")
+ version("1.54.0", commit="09cf5f6e01dd2d0aae3e9ddab27301f04bfd645c")
+ version("1.52.1", commit="e8613a6018c4ee58045df6bf19128844f50a1f43")
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.3.2:', type=('build', 'run'))
- depends_on('r-affy@1.11.0:', type=('build', 'run'))
- depends_on('r-biobase@2.17.8:', type=('build', 'run'))
- depends_on('r-gcrma', type=('build', 'run'))
- depends_on('r-preprocesscore@1.5.1:', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.3.2:", type=("build", "run"))
+ depends_on("r-affy@1.11.0:", type=("build", "run"))
+ depends_on("r-biobase@2.17.8:", type=("build", "run"))
+ depends_on("r-gcrma", type=("build", "run"))
+ depends_on("r-preprocesscore@1.5.1:", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyqcreport/package.py b/var/spack/repos/builtin/packages/r-affyqcreport/package.py
index be084ad5a8..b2fba78444 100644
--- a/var/spack/repos/builtin/packages/r-affyqcreport/package.py
+++ b/var/spack/repos/builtin/packages/r-affyqcreport/package.py
@@ -9,25 +9,25 @@ from spack.package import *
class RAffyqcreport(RPackage):
"""QC Report Generation for affyBatch objects.
- This package creates a QC report for an AffyBatch object. The report is
- intended to allow the user to quickly assess the quality of a set of
- arrays in an AffyBatch object."""
+ This package creates a QC report for an AffyBatch object. The report is
+ intended to allow the user to quickly assess the quality of a set of
+ arrays in an AffyBatch object."""
bioc = "affyQCReport"
- version('1.68.0', commit='34b42a16f87a90a595146f4a1802ed04f6bfccca')
- version('1.62.0', commit='92d4124b688b90a6a9b8a21ab9d13d92b368cee4')
- version('1.60.0', commit='d0c15b1c56fc1caf6f114877ea6c1b8483a0dcfa')
- version('1.58.0', commit='14be93a1e7a6d1a64c38ed2f53e0c52a389b2a1b')
- version('1.56.0', commit='5c824045c7364155eafc2dd5bb342374aa1ca072')
- version('1.54.0', commit='5572e9981dc874b78b4adebf58080cac3fbb69e1')
+ version("1.68.0", commit="34b42a16f87a90a595146f4a1802ed04f6bfccca")
+ version("1.62.0", commit="92d4124b688b90a6a9b8a21ab9d13d92b368cee4")
+ version("1.60.0", commit="d0c15b1c56fc1caf6f114877ea6c1b8483a0dcfa")
+ version("1.58.0", commit="14be93a1e7a6d1a64c38ed2f53e0c52a389b2a1b")
+ version("1.56.0", commit="5c824045c7364155eafc2dd5bb342374aa1ca072")
+ version("1.54.0", commit="5572e9981dc874b78b4adebf58080cac3fbb69e1")
- depends_on('r-biobase@1.13.16:', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-affyplm', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'), when='@1.68.0:')
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-simpleaffy', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
+ depends_on("r-biobase@1.13.16:", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-affyplm", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"), when="@1.68.0:")
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-simpleaffy", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-affyrnadegradation/package.py b/var/spack/repos/builtin/packages/r-affyrnadegradation/package.py
index 1ecbd12d55..0d97b485ca 100644
--- a/var/spack/repos/builtin/packages/r-affyrnadegradation/package.py
+++ b/var/spack/repos/builtin/packages/r-affyrnadegradation/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class RAffyrnadegradation(RPackage):
"""Analyze and correct probe positional bias in microarray data due to RNA
- degradation.
+ degradation.
- The package helps with the assessment and correction of RNA degradation
- effects in Affymetrix 3' expression arrays. The parameter d gives a
- robust and accurate measure of RNA integrity. The correction removes the
- probe positional bias, and thus improves comparability of samples that
- are affected by RNA degradation."""
+ The package helps with the assessment and correction of RNA degradation
+ effects in Affymetrix 3' expression arrays. The parameter d gives a
+ robust and accurate measure of RNA integrity. The correction removes the
+ probe positional bias, and thus improves comparability of samples that
+ are affected by RNA degradation."""
- bioc = "AffyRNADegradation"
+ bioc = "AffyRNADegradation"
- version('1.42.0', commit='5775f41f538b3c8ee4d07d38cec1b49c548cebe6')
- version('1.40.0', commit='8539a91ee464d692a267bb17c91dc1ef9a231f41')
- version('1.36.0', commit='89662b93076659db2967a526899184c12c156bc5')
- version('1.30.0', commit='620c464fb09248e1c7a122828eab59a4fb778cc1')
- version('1.28.0', commit='aff91d78fa9e76edaa3ef6a9a43b98b86cc44c24')
- version('1.26.0', commit='6ab03ad624701464280bf7dfe345d200e846298a')
- version('1.24.0', commit='1f85f3da4720cef94623828713eb84d8accbcf8a')
- version('1.22.0', commit='0fa78f8286494711a239ded0ba587b0de47c15d3')
+ version("1.42.0", commit="5775f41f538b3c8ee4d07d38cec1b49c548cebe6")
+ version("1.40.0", commit="8539a91ee464d692a267bb17c91dc1ef9a231f41")
+ version("1.36.0", commit="89662b93076659db2967a526899184c12c156bc5")
+ version("1.30.0", commit="620c464fb09248e1c7a122828eab59a4fb778cc1")
+ version("1.28.0", commit="aff91d78fa9e76edaa3ef6a9a43b98b86cc44c24")
+ version("1.26.0", commit="6ab03ad624701464280bf7dfe345d200e846298a")
+ version("1.24.0", commit="1f85f3da4720cef94623828713eb84d8accbcf8a")
+ version("1.22.0", commit="0fa78f8286494711a239ded0ba587b0de47c15d3")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-agdex/package.py b/var/spack/repos/builtin/packages/r-agdex/package.py
index 5e667ca6da..beb885af15 100644
--- a/var/spack/repos/builtin/packages/r-agdex/package.py
+++ b/var/spack/repos/builtin/packages/r-agdex/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RAgdex(RPackage):
"""Agreement of Differential Expression Analysis.
- A tool to evaluate agreement of differential expression for cross-
- species genomics"""
+ A tool to evaluate agreement of differential expression for cross-
+ species genomics"""
bioc = "AGDEX"
- version('1.44.0', commit='9d3eb90eaf7bf093c7fa73facb3df89506a85185')
- version('1.42.0', commit='175cf1b384b0942103d841b1feb9e4f7d141ba06')
- version('1.38.0', commit='7e2c1f5f27ccbea6a7157f5122212e40408b74da')
- version('1.32.0', commit='254ad2c876ab9ac48c3c3b395160dccabc084acf')
- version('1.30.0', commit='d6cc21ed7e11e6644399495fa5f8b36368625d4b')
- version('1.28.0', commit='7d78ee424485018b73cd019ceaed7a2ed53adf3f')
- version('1.26.0', commit='260bc641111770176707d4d43e67b5877bf5eb82')
- version('1.24.0', commit='29c6bcfa6919a5c6d8bcb36b44e75145a60ce7b5')
+ version("1.44.0", commit="9d3eb90eaf7bf093c7fa73facb3df89506a85185")
+ version("1.42.0", commit="175cf1b384b0942103d841b1feb9e4f7d141ba06")
+ version("1.38.0", commit="7e2c1f5f27ccbea6a7157f5122212e40408b74da")
+ version("1.32.0", commit="254ad2c876ab9ac48c3c3b395160dccabc084acf")
+ version("1.30.0", commit="d6cc21ed7e11e6644399495fa5f8b36368625d4b")
+ version("1.28.0", commit="7d78ee424485018b73cd019ceaed7a2ed53adf3f")
+ version("1.26.0", commit="260bc641111770176707d4d43e67b5877bf5eb82")
+ version("1.24.0", commit="29c6bcfa6919a5c6d8bcb36b44e75145a60ce7b5")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-gseabase', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-gseabase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-agilp/package.py b/var/spack/repos/builtin/packages/r-agilp/package.py
index 456cc429e9..fcb6cc1fbf 100644
--- a/var/spack/repos/builtin/packages/r-agilp/package.py
+++ b/var/spack/repos/builtin/packages/r-agilp/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RAgilp(RPackage):
"""Agilent expression array processing package.
- More about what it does (maybe more than one line)."""
+ More about what it does (maybe more than one line)."""
bioc = "agilp"
- version('3.28.0', commit='2c6dfccc76473b5bef13b75fa59adf46b3381f55')
- version('3.26.0', commit='3170fe2b1cc459d5e2ca7f61a127aac17cd66a96')
- version('3.22.0', commit='7d089d576752e0526f15a1007e94436089954313')
- version('3.16.0', commit='2900d6066317f21d076b3a043b16f32eca168c47')
- version('3.14.0', commit='8feb047d70216013462ea7806e9227d192b60c61')
- version('3.12.0', commit='a86dea1b03b2b56c2c8317d4b10903fb8948ffcb')
- version('3.10.0', commit='cffec1004704a0c5119a50e3ad474897978981be')
- version('3.8.0', commit='c772a802af1b4c0741f2edd78053a0425160ea53')
+ version("3.28.0", commit="2c6dfccc76473b5bef13b75fa59adf46b3381f55")
+ version("3.26.0", commit="3170fe2b1cc459d5e2ca7f61a127aac17cd66a96")
+ version("3.22.0", commit="7d089d576752e0526f15a1007e94436089954313")
+ version("3.16.0", commit="2900d6066317f21d076b3a043b16f32eca168c47")
+ version("3.14.0", commit="8feb047d70216013462ea7806e9227d192b60c61")
+ version("3.12.0", commit="a86dea1b03b2b56c2c8317d4b10903fb8948ffcb")
+ version("3.10.0", commit="cffec1004704a0c5119a50e3ad474897978981be")
+ version("3.8.0", commit="c772a802af1b4c0741f2edd78053a0425160ea53")
- depends_on('r@2.14.0:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-agimicrorna/package.py b/var/spack/repos/builtin/packages/r-agimicrorna/package.py
index 536433875f..9a1f616266 100644
--- a/var/spack/repos/builtin/packages/r-agimicrorna/package.py
+++ b/var/spack/repos/builtin/packages/r-agimicrorna/package.py
@@ -14,19 +14,19 @@ class RAgimicrorna(RPackage):
bioc = "AgiMicroRna"
- version('2.46.0', commit='8c6d73e1c3f1f9cc019bdb219b19e6179bb1efe4')
- version('2.44.0', commit='8b308baa3b1b0afc0855ea263630a288689e3864')
- version('2.40.0', commit='cfa4acb2215da44767ab3a45845bcd587c309e74')
- version('2.34.0', commit='aaa8cdd70ed2696c313f6240ffbfa044f0d97a7a')
- version('2.32.0', commit='681ae17d07e8e533f798a607b761b71a31f407d8')
- version('2.30.0', commit='99b5a8284cfe3e93c3ae85a2436e87101b9599dd')
- version('2.28.0', commit='62c4a12f1168c7aa1ab46d2c97090ef71478328e')
- version('2.26.0', commit='6dd74bae47986f2a23d03e3f1f9f78f701dd8053')
+ version("2.46.0", commit="8c6d73e1c3f1f9cc019bdb219b19e6179bb1efe4")
+ version("2.44.0", commit="8b308baa3b1b0afc0855ea263630a288689e3864")
+ version("2.40.0", commit="cfa4acb2215da44767ab3a45845bcd587c309e74")
+ version("2.34.0", commit="aaa8cdd70ed2696c313f6240ffbfa044f0d97a7a")
+ version("2.32.0", commit="681ae17d07e8e533f798a607b761b71a31f407d8")
+ version("2.30.0", commit="99b5a8284cfe3e93c3ae85a2436e87101b9599dd")
+ version("2.28.0", commit="62c4a12f1168c7aa1ab46d2c97090ef71478328e")
+ version("2.26.0", commit="6dd74bae47986f2a23d03e3f1f9f78f701dd8053")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-affy@1.22:', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-affycoretools', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-affy@1.22:", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-affycoretools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aims/package.py b/var/spack/repos/builtin/packages/r-aims/package.py
index dc484b6984..cad30b0940 100644
--- a/var/spack/repos/builtin/packages/r-aims/package.py
+++ b/var/spack/repos/builtin/packages/r-aims/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class RAims(RPackage):
"""Absolute Assignment of Breast Cancer Intrinsic Molecular Subtype.
- This package contains the AIMS implementation. It contains necessary
- functions to assign the five intrinsic molecular subtypes (Luminal A,
- Luminal B, Her2-enriched, Basal-like, Normal-like). Assignments could be
- done on individual samples as well as on dataset of gene expression
- data."""
+ This package contains the AIMS implementation. It contains necessary
+ functions to assign the five intrinsic molecular subtypes (Luminal A,
+ Luminal B, Her2-enriched, Basal-like, Normal-like). Assignments could be
+ done on individual samples as well as on dataset of gene expression
+ data."""
bioc = "AIMS"
- version('1.28.0', commit='84608df638b5694c08158ed77ad2c8a64c4e594b')
- version('1.26.0', commit='5dcf60eb4cdcf563ea848482c9c488f465c27bbd')
- version('1.22.0', commit='34a38978b24377abb864eff7683bb36344ff171d')
- version('1.16.0', commit='86cb8c998ade3003cd34a5405b218ae07d97bf84')
- version('1.14.1', commit='4125c4217a7e4f00169b5ba65dcc3778fdd33c6f')
- version('1.12.0', commit='d7eaa723d19a6aca37df244fd0b3d5426ed0a626')
- version('1.10.0', commit='972945980b39168502a02ac3aa396f9b99fb3d71')
- version('1.8.0', commit='86b866c20e191047492c51b43e3f73082c3f8357')
+ version("1.28.0", commit="84608df638b5694c08158ed77ad2c8a64c4e594b")
+ version("1.26.0", commit="5dcf60eb4cdcf563ea848482c9c488f465c27bbd")
+ version("1.22.0", commit="34a38978b24377abb864eff7683bb36344ff171d")
+ version("1.16.0", commit="86cb8c998ade3003cd34a5405b218ae07d97bf84")
+ version("1.14.1", commit="4125c4217a7e4f00169b5ba65dcc3778fdd33c6f")
+ version("1.12.0", commit="d7eaa723d19a6aca37df244fd0b3d5426ed0a626")
+ version("1.10.0", commit="972945980b39168502a02ac3aa396f9b99fb3d71")
+ version("1.8.0", commit="86b866c20e191047492c51b43e3f73082c3f8357")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aldex2/package.py b/var/spack/repos/builtin/packages/r-aldex2/package.py
index 04928a7e16..ff4d070d4a 100644
--- a/var/spack/repos/builtin/packages/r-aldex2/package.py
+++ b/var/spack/repos/builtin/packages/r-aldex2/package.py
@@ -9,34 +9,34 @@ from spack.package import *
class RAldex2(RPackage):
"""Analysis Of Differential Abundance Taking Sample Variation Into Account.
- A differential abundance analysis for the comparison of two or more
- conditions. Useful for analyzing data from standard RNA-seq or meta-RNA-
- seq assays as well as selected and unselected values from in-vitro
- sequence selections. Uses a Dirichlet-multinomial model to infer
- abundance from counts, optimized for three or more experimental
- replicates. The method infers biological and sampling variation to
- calculate the expected false discovery rate, given the variation, based
- on a Wilcoxon Rank Sum test and Welch's t-test (via aldex.ttest), a
- Kruskal-Wallis test (via aldex.kw), a generalized linear model (via
- aldex.glm), or a correlation test (via aldex.corr). All tests report
- p-values and Benjamini-Hochberg corrected p-values."""
+ A differential abundance analysis for the comparison of two or more
+ conditions. Useful for analyzing data from standard RNA-seq or meta-RNA-
+ seq assays as well as selected and unselected values from in-vitro
+ sequence selections. Uses a Dirichlet-multinomial model to infer
+ abundance from counts, optimized for three or more experimental
+ replicates. The method infers biological and sampling variation to
+ calculate the expected false discovery rate, given the variation, based
+ on a Wilcoxon Rank Sum test and Welch's t-test (via aldex.ttest), a
+ Kruskal-Wallis test (via aldex.kw), a generalized linear model (via
+ aldex.glm), or a correlation test (via aldex.corr). All tests report
+ p-values and Benjamini-Hochberg corrected p-values."""
bioc = "ALDEx2"
- version('1.28.1', commit='f8d8ba6d2439bff75ab80f5466c9a047c31ed0a6')
- version('1.26.0', commit='0876a2eac08d3f1c01df7414d97d391c80182ada')
- version('1.22.0', commit='ac7f0ab3f094ec52713da7620a27058b14c7181d')
- version('1.16.0', commit='bd698a896a5bea91187e3060e56a147bad1d586f')
- version('1.14.1', commit='a8b970c594a00a37c064227bf312d5f89dccabe8')
- version('1.12.0', commit='9efde428d22a0be1fe7b6655d45ddce8fcded180')
- version('1.10.0', commit='e43f99e4009ad4d5ed200cc8a19faf7091c0c98a')
- version('1.8.0', commit='24104824ca2402ad4f54fbf1ed9cee7fac2aaaf1')
+ version("1.28.1", commit="f8d8ba6d2439bff75ab80f5466c9a047c31ed0a6")
+ version("1.26.0", commit="0876a2eac08d3f1c01df7414d97d391c80182ada")
+ version("1.22.0", commit="ac7f0ab3f094ec52713da7620a27058b14c7181d")
+ version("1.16.0", commit="bd698a896a5bea91187e3060e56a147bad1d586f")
+ version("1.14.1", commit="a8b970c594a00a37c064227bf312d5f89dccabe8")
+ version("1.12.0", commit="9efde428d22a0be1fe7b6655d45ddce8fcded180")
+ version("1.10.0", commit="e43f99e4009ad4d5ed200cc8a19faf7091c0c98a")
+ version("1.8.0", commit="24104824ca2402ad4f54fbf1ed9cee7fac2aaaf1")
- depends_on('r-zcompositions', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-rfast', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-multtest', type=('build', 'run'), when='@1.10.0:')
+ depends_on("r-zcompositions", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-rfast", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-multtest", type=("build", "run"), when="@1.10.0:")
diff --git a/var/spack/repos/builtin/packages/r-allelicimbalance/package.py b/var/spack/repos/builtin/packages/r-allelicimbalance/package.py
index 2b87c67ece..4f91c95546 100644
--- a/var/spack/repos/builtin/packages/r-allelicimbalance/package.py
+++ b/var/spack/repos/builtin/packages/r-allelicimbalance/package.py
@@ -9,48 +9,48 @@ from spack.package import *
class RAllelicimbalance(RPackage):
"""Investigates Allele Specific Expression.
- Provides a framework for allelic specific expression investigation using
- RNA-seq data."""
+ Provides a framework for allelic specific expression investigation using
+ RNA-seq data."""
bioc = "AllelicImbalance"
- version('1.34.0', commit='290708ccc4ceae1fbb9e9257cb254916449d389b')
- version('1.32.0', commit='428ab8c96bb15fab45e4084da25f98b01b9d60b6')
- version('1.28.0', commit='ac5d13c9ee0935bf9500ee542792644e752a1fde')
- version('1.22.0', commit='04692e367e8c6aac475d06adfd7cfa629baab05a')
- version('1.20.0', commit='4cd3a789d872151b0d906ec419677271fecdf7c3')
- version('1.18.0', commit='6d6eed7487e9207dba556bc76283bcc7745808ea')
- version('1.16.0', commit='85f652ae8a0dd15535819b6e934065182df5544a')
- version('1.14.0', commit='35958534945819baafde0e13d1eb4d05a514142c')
+ version("1.34.0", commit="290708ccc4ceae1fbb9e9257cb254916449d389b")
+ version("1.32.0", commit="428ab8c96bb15fab45e4084da25f98b01b9d60b6")
+ version("1.28.0", commit="ac5d13c9ee0935bf9500ee542792644e752a1fde")
+ version("1.22.0", commit="04692e367e8c6aac475d06adfd7cfa629baab05a")
+ version("1.20.0", commit="4cd3a789d872151b0d906ec419677271fecdf7c3")
+ version("1.18.0", commit="6d6eed7487e9207dba556bc76283bcc7745808ea")
+ version("1.16.0", commit="85f652ae8a0dd15535819b6e934065182df5544a")
+ version("1.14.0", commit="35958534945819baafde0e13d1eb4d05a514142c")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.28.0:')
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.8:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-summarizedexperiment@0.2.0:', type=('build', 'run'))
- depends_on('r-genomicalignments', type=('build', 'run'))
- depends_on('r-genomicalignments@1.15.6:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-bsgenome', type=('build', 'run'))
- depends_on('r-bsgenome@1.47.3:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-variantannotation', type=('build', 'run'))
- depends_on('r-variantannotation@1.25.11:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.13.12:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-rsamtools@1.31.2:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-rsamtools@1.99.3:', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-genomicfeatures', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.31.3:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-gviz', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-latticeextra', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-seqinr', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.28.0:")
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.8:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-summarizedexperiment@0.2.0:", type=("build", "run"))
+ depends_on("r-genomicalignments", type=("build", "run"))
+ depends_on("r-genomicalignments@1.15.6:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-bsgenome", type=("build", "run"))
+ depends_on("r-bsgenome@1.47.3:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-variantannotation", type=("build", "run"))
+ depends_on("r-variantannotation@1.25.11:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.13.12:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-rsamtools@1.31.2:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-rsamtools@1.99.3:", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-genomicfeatures", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.31.3:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-gviz", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-latticeextra", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-seqinr", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-alpine/package.py b/var/spack/repos/builtin/packages/r-alpine/package.py
index aef774b950..5749ff9f73 100644
--- a/var/spack/repos/builtin/packages/r-alpine/package.py
+++ b/var/spack/repos/builtin/packages/r-alpine/package.py
@@ -9,31 +9,31 @@ from spack.package import *
class RAlpine(RPackage):
"""alpine.
- Fragment sequence bias modeling and correction for RNA-seq transcript
- abundance estimation."""
+ Fragment sequence bias modeling and correction for RNA-seq transcript
+ abundance estimation."""
bioc = "alpine"
- version('1.22.0', commit='6107a82962f07e0434e93f261cd375eaaa171d91')
- version('1.20.0', commit='9348ef14128aa6be10cca1987736ddbc385df7e9')
- version('1.16.0', commit='aee397774ac6cd17ad45dc05be14c526647f3c13')
- version('1.10.0', commit='bf22597eb2c6c6aaa26900ed4ece96ce7256e77c')
- version('1.8.0', commit='ddaa0b4517f0909460aa1bd33c8e43dc6c8d23d4')
- version('1.6.0', commit='ea55fcb3cedb5caa20d8264bb29a4975041f5274')
- version('1.4.0', commit='c85beb208fd6bfc0a61a483a98498b589640f946')
- version('1.2.0', commit='896872e6071769e1ac2cf786974edb8b875c45eb')
+ version("1.22.0", commit="6107a82962f07e0434e93f261cd375eaaa171d91")
+ version("1.20.0", commit="9348ef14128aa6be10cca1987736ddbc385df7e9")
+ version("1.16.0", commit="aee397774ac6cd17ad45dc05be14c526647f3c13")
+ version("1.10.0", commit="bf22597eb2c6c6aaa26900ed4ece96ce7256e77c")
+ version("1.8.0", commit="ddaa0b4517f0909460aa1bd33c8e43dc6c8d23d4")
+ version("1.6.0", commit="ea55fcb3cedb5caa20d8264bb29a4975041f5274")
+ version("1.4.0", commit="c85beb208fd6bfc0a61a483a98498b589640f946")
+ version("1.2.0", commit="896872e6071769e1ac2cf786974edb8b875c45eb")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-genomicalignments', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-genomicfeatures', type=('build', 'run'))
- depends_on('r-speedglm', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-rbgl', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-genomicalignments", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-genomicfeatures", type=("build", "run"))
+ depends_on("r-speedglm", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-rbgl", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-als/package.py b/var/spack/repos/builtin/packages/r-als/package.py
index 5f6afaf2ca..1710623025 100644
--- a/var/spack/repos/builtin/packages/r-als/package.py
+++ b/var/spack/repos/builtin/packages/r-als/package.py
@@ -19,8 +19,8 @@ class RAls(RPackage):
cran = "ALS"
- version('0.0.6', sha256='ca90d27115ae9e476967f521bf6935723e410a3bf92477e7570e14bfd3b099eb')
+ version("0.0.6", sha256="ca90d27115ae9e476967f521bf6935723e410a3bf92477e7570e14bfd3b099eb")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-iso', type=('build', 'run'))
- depends_on('r-nnls@1.1:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-iso", type=("build", "run"))
+ depends_on("r-nnls@1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-alsace/package.py b/var/spack/repos/builtin/packages/r-alsace/package.py
index 6a0d52f158..9983328944 100644
--- a/var/spack/repos/builtin/packages/r-alsace/package.py
+++ b/var/spack/repos/builtin/packages/r-alsace/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class RAlsace(RPackage):
"""ALS for the Automatic Chemical Exploration of mixtures.
- Alternating Least Squares (or Multivariate Curve Resolution) for
- analytical chemical data, in particular hyphenated data where the first
- direction is a retention time axis, and the second a spectral axis.
- Package builds on the basic als function from the ALS package and adds
- functionality for high-throughput analysis, including definition of time
- windows, clustering of profiles, retention time correction, etcetera."""
+ Alternating Least Squares (or Multivariate Curve Resolution) for
+ analytical chemical data, in particular hyphenated data where the first
+ direction is a retention time axis, and the second a spectral axis.
+ Package builds on the basic als function from the ALS package and adds
+ functionality for high-throughput analysis, including definition of time
+ windows, clustering of profiles, retention time correction, etcetera."""
bioc = "alsace"
- version('1.30.0', commit='d0e09b283da2b4869d5d6e6801399676246bc5bc')
- version('1.26.0', commit='40a76404acb1466723a78a55d87c67eec3e6f306')
- version('1.20.0', commit='47f1cf8daafc864e5e3418009f349ce85d6b0389')
- version('1.18.0', commit='c9fc43c7b441de43b14ef1be69926c4c4a566191')
- version('1.16.0', commit='5a51a19aeccbba0123222201cb7a228559f29653')
- version('1.14.0', commit='aebb13b00eb850f9569391c4c92183b55b70ae89')
- version('1.12.0', commit='1364c65bbff05786d05c02799fd44fd57748fae3')
+ version("1.30.0", commit="d0e09b283da2b4869d5d6e6801399676246bc5bc")
+ version("1.26.0", commit="40a76404acb1466723a78a55d87c67eec3e6f306")
+ version("1.20.0", commit="47f1cf8daafc864e5e3418009f349ce85d6b0389")
+ version("1.18.0", commit="c9fc43c7b441de43b14ef1be69926c4c4a566191")
+ version("1.16.0", commit="5a51a19aeccbba0123222201cb7a228559f29653")
+ version("1.14.0", commit="aebb13b00eb850f9569391c4c92183b55b70ae89")
+ version("1.12.0", commit="1364c65bbff05786d05c02799fd44fd57748fae3")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-als', type=('build', 'run'))
- depends_on('r-ptw@1.0.6:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-als", type=("build", "run"))
+ depends_on("r-ptw@1.0.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-altcdfenvs/package.py b/var/spack/repos/builtin/packages/r-altcdfenvs/package.py
index 3e545be934..dad3870c21 100644
--- a/var/spack/repos/builtin/packages/r-altcdfenvs/package.py
+++ b/var/spack/repos/builtin/packages/r-altcdfenvs/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RAltcdfenvs(RPackage):
"""alternative CDF environments (aka probeset mappings).
- Convenience data structures and functions to handle cdfenvs."""
+ Convenience data structures and functions to handle cdfenvs."""
bioc = "altcdfenvs"
- version('2.58.0', commit='08255a777ffa1e1414d3dd3062d95bfdd3dfd47c')
- version('2.56.0', commit='941e00b97a33662a8230991e387070324b2e76bf')
- version('2.52.0', commit='21329abf82eae26f84b7c0270e81c8e089c548ce')
- version('2.46.0', commit='90a11e748a5af98cabfd6670a5b7b256420d172b')
- version('2.44.0', commit='d804f6432422bd532abab415710f890b36cc8133')
- version('2.42.0', commit='00ec6461877a063d938494b8ed0cd273a3b20b85')
- version('2.40.0', commit='517a208f49f168bdd3cde40ed216282c417237d7')
- version('2.38.0', commit='2e92b9da76dbe50af4bf33c525134e29e9809291')
+ version("2.58.0", commit="08255a777ffa1e1414d3dd3062d95bfdd3dfd47c")
+ version("2.56.0", commit="941e00b97a33662a8230991e387070324b2e76bf")
+ version("2.52.0", commit="21329abf82eae26f84b7c0270e81c8e089c548ce")
+ version("2.46.0", commit="90a11e748a5af98cabfd6670a5b7b256420d172b")
+ version("2.44.0", commit="d804f6432422bd532abab415710f890b36cc8133")
+ version("2.42.0", commit="00ec6461877a063d938494b8ed0cd273a3b20b85")
+ version("2.40.0", commit="517a208f49f168bdd3cde40ed216282c417237d7")
+ version("2.38.0", commit="2e92b9da76dbe50af4bf33c525134e29e9809291")
- depends_on('r@2.7:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.1.0:', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-biobase@2.15.1:', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-makecdfenv', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-hypergraph', type=('build', 'run'))
+ depends_on("r@2.7:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.1.0:", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-biobase@2.15.1:", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-makecdfenv", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-hypergraph", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-amap/package.py b/var/spack/repos/builtin/packages/r-amap/package.py
index b7b93d2f17..e877d8016a 100644
--- a/var/spack/repos/builtin/packages/r-amap/package.py
+++ b/var/spack/repos/builtin/packages/r-amap/package.py
@@ -14,9 +14,9 @@ class RAmap(RPackage):
cran = "amap"
- version('0.8-18', sha256='7afbbdd681a201121374821b733c9000ca1046a2353ee386507604c2c759ec7e')
- version('0.8-17', sha256='6b8473d1d35a9cbc611661882c8f681162e8f913f911ccd51629200ae72289c6')
- version('0.8-16', sha256='d3775ad7f660581f7d2f070e426be95ae0d6743622943e6f5491988e5217d4e2')
+ version("0.8-18", sha256="7afbbdd681a201121374821b733c9000ca1046a2353ee386507604c2c759ec7e")
+ version("0.8-17", sha256="6b8473d1d35a9cbc611661882c8f681162e8f913f911ccd51629200ae72289c6")
+ version("0.8-16", sha256="d3775ad7f660581f7d2f070e426be95ae0d6743622943e6f5491988e5217d4e2")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@0.8-17:')
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@0.8-17:")
diff --git a/var/spack/repos/builtin/packages/r-amelia/package.py b/var/spack/repos/builtin/packages/r-amelia/package.py
index bb4d62cb8b..81d39eb52d 100644
--- a/var/spack/repos/builtin/packages/r-amelia/package.py
+++ b/var/spack/repos/builtin/packages/r-amelia/package.py
@@ -27,10 +27,10 @@ class RAmelia(RPackage):
cran = "Amelia"
- version('1.8.0', sha256='3ec1d5a68dac601b354227916aa8ec72fa1216b603dd887aae2b24cb69b5995e')
- version('1.7.6', sha256='63c08d374aaf78af46c34dc78da719b3085e58d9fabdc76c6460d5193a621bea')
+ version("1.8.0", sha256="3ec1d5a68dac601b354227916aa8ec72fa1216b603dd887aae2b24cb69b5995e")
+ version("1.7.6", sha256="63c08d374aaf78af46c34dc78da719b3085e58d9fabdc76c6460d5193a621bea")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-rcpp@0.11:', type=('build', 'run'))
- depends_on('r-foreign', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-rcpp@0.11:", type=("build", "run"))
+ depends_on("r-foreign", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ampliqueso/package.py b/var/spack/repos/builtin/packages/r-ampliqueso/package.py
index 8ed8379d1b..6b8159c932 100644
--- a/var/spack/repos/builtin/packages/r-ampliqueso/package.py
+++ b/var/spack/repos/builtin/packages/r-ampliqueso/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class RAmpliqueso(RPackage):
"""Analysis of amplicon enrichment panels.
- The package provides tools and reports for the analysis of amplicon
- sequencing panels, such as AmpliSeq"""
+ The package provides tools and reports for the analysis of amplicon
+ sequencing panels, such as AmpliSeq"""
bioc = "ampliQueso"
- version('1.21.0', commit='ed99c5194a452ee299a93e981da2224e4dab5bdd')
- version('1.20.0', commit='ed064ffe9c5f2b47136e5f0f2e2c4214af4deae8')
- version('1.18.0', commit='c27fa51094135ef8da52cd2b34a27ec6454abd8e')
- version('1.16.0', commit='25d2543ff9dedef4f966f999c95cdf87185d3bb3')
- version('1.14.0', commit='9a4c26ec594171279aba8ab7fe59c4a2ea09b06b')
+ version("1.21.0", commit="ed99c5194a452ee299a93e981da2224e4dab5bdd")
+ version("1.20.0", commit="ed064ffe9c5f2b47136e5f0f2e2c4214af4deae8")
+ version("1.18.0", commit="c27fa51094135ef8da52cd2b34a27ec6454abd8e")
+ version("1.16.0", commit="25d2543ff9dedef4f966f999c95cdf87185d3bb3")
+ version("1.14.0", commit="9a4c26ec594171279aba8ab7fe59c4a2ea09b06b")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r-rnaseqmap@2.17.1:', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-rgl', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gplots', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-variantannotation', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-statmod', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-deseq', type=('build', 'run'))
- depends_on('r-samr', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r-rnaseqmap@2.17.1:", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-rgl", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gplots", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-variantannotation", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-statmod", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-deseq", type=("build", "run"))
+ depends_on("r-samr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-analysispageserver/package.py b/var/spack/repos/builtin/packages/r-analysispageserver/package.py
index 13c7d37f1a..f5aea7b1ae 100644
--- a/var/spack/repos/builtin/packages/r-analysispageserver/package.py
+++ b/var/spack/repos/builtin/packages/r-analysispageserver/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class RAnalysispageserver(RPackage):
"""A framework for sharing interactive data and plots from R through the
- web.
+ web.
- AnalysisPageServer is a modular system that enables sharing of
- customizable R analyses via the web."""
+ AnalysisPageServer is a modular system that enables sharing of
+ customizable R analyses via the web."""
bioc = "AnalysisPageServer"
- version('1.18.1', commit='08bd85e872d3f2b0c1fa148cf30bcd2d1a29b630')
- version('1.16.0', commit='67b063523f80e2af1d26262367ff50f34e195174')
- version('1.14.0', commit='620c0ea1e129ddd1a0866e2c9d7c3fcf06a8baf4')
- version('1.12.0', commit='146501974ef1938ee1ec4eb293ea7eeca331a0dc')
- version('1.10.0', commit='876c87073be116fa15a1afdd407e21152eb80d50')
+ version("1.18.1", commit="08bd85e872d3f2b0c1fa148cf30bcd2d1a29b630")
+ version("1.16.0", commit="67b063523f80e2af1d26262367ff50f34e195174")
+ version("1.14.0", commit="620c0ea1e129ddd1a0866e2c9d7c3fcf06a8baf4")
+ version("1.12.0", commit="146501974ef1938ee1ec4eb293ea7eeca331a0dc")
+ version("1.10.0", commit="876c87073be116fa15a1afdd407e21152eb80d50")
- depends_on('r-log4r', type=('build', 'run'))
- depends_on('r-rjson', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
+ depends_on("r-log4r", type=("build", "run"))
+ depends_on("r-rjson", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-anaquin/package.py b/var/spack/repos/builtin/packages/r-anaquin/package.py
index d4c22d2892..35233d51a0 100644
--- a/var/spack/repos/builtin/packages/r-anaquin/package.py
+++ b/var/spack/repos/builtin/packages/r-anaquin/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RAnaquin(RPackage):
"""Statistical analysis of sequins.
- The project is intended to support the use of sequins (synthetic
- sequencing spike-in controls) owned and made available by the Garvan
- Institute of Medical Research. The goal is to provide a standard open
- source library for quantitative analysis, modelling and visualization of
- spike-in controls."""
+ The project is intended to support the use of sequins (synthetic
+ sequencing spike-in controls) owned and made available by the Garvan
+ Institute of Medical Research. The goal is to provide a standard open
+ source library for quantitative analysis, modelling and visualization of
+ spike-in controls."""
bioc = "Anaquin"
- version('2.20.0', commit='61598dd3430b09b57f31d7d550ea95126a2d73c8')
- version('2.18.0', commit='c8e3df3e299c32daac0dda23cea59a18673d886b')
- version('2.14.0', commit='d0a34c931a0e72080bff91dacb37dbbe26b45386')
- version('2.8.0', commit='f591d420740b77881ae0a4c16b208c63d460c601')
- version('2.6.1', commit='22b6c71697fe1e2db8f6d18f77728d0fd96fa6d6')
- version('2.4.0', commit='0d6ae80ff622151a782e4774ca274f06024a71d2')
- version('2.2.0', commit='739f4ed2b73c43f934fd65a993ecb48242a5d5da')
- version('1.2.0', commit='584d1970cc9dc1d354f9a6d7c1306bd7e8567119')
+ version("2.20.0", commit="61598dd3430b09b57f31d7d550ea95126a2d73c8")
+ version("2.18.0", commit="c8e3df3e299c32daac0dda23cea59a18673d886b")
+ version("2.14.0", commit="d0a34c931a0e72080bff91dacb37dbbe26b45386")
+ version("2.8.0", commit="f591d420740b77881ae0a4c16b208c63d460c601")
+ version("2.6.1", commit="22b6c71697fe1e2db8f6d18f77728d0fd96fa6d6")
+ version("2.4.0", commit="0d6ae80ff622151a782e4774ca274f06024a71d2")
+ version("2.2.0", commit="739f4ed2b73c43f934fd65a993ecb48242a5d5da")
+ version("1.2.0", commit="584d1970cc9dc1d354f9a6d7c1306bd7e8567119")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-rocr', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-qvalue', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-deseq2', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-rocr", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-qvalue", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-deseq2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aneufinder/package.py b/var/spack/repos/builtin/packages/r-aneufinder/package.py
index 83840de9c9..1b0d49048b 100644
--- a/var/spack/repos/builtin/packages/r-aneufinder/package.py
+++ b/var/spack/repos/builtin/packages/r-aneufinder/package.py
@@ -9,42 +9,42 @@ from spack.package import *
class RAneufinder(RPackage):
"""Analysis of Copy Number Variation in Single-Cell-Sequencing Data.
- AneuFinder implements functions for copy-number detection, breakpoint
- detection, and karyotype and heterogeneity analysis in single-cell whole
- genome sequencing and strand-seq data."""
+ AneuFinder implements functions for copy-number detection, breakpoint
+ detection, and karyotype and heterogeneity analysis in single-cell whole
+ genome sequencing and strand-seq data."""
bioc = "AneuFinder"
- version('1.24.0', commit='4c6906eee514eba3e8ac159654a6953e37a99bba')
- version('1.22.0', commit='ea0beb3d827c2dd4bc56708a839a93c55304918b')
- version('1.18.0', commit='76ec9af947f97212084ca478e8e82f9e0eb79de9')
- version('1.12.1', commit='e788fd0c864f0bf0abd93df44c6d42f82eb37e0e')
- version('1.10.2', commit='56578ae69abac93dfea6bcac1fc205b14b6ba9dd')
- version('1.8.0', commit='36a729d244add5aafbe21c37a1baaea6a50354d3')
- version('1.6.0', commit='0cfbdd1951fb4df5622e002260cfa86294d65d1d')
- version('1.4.0', commit='e5bdf4d5e4f84ee5680986826ffed636ed853b8e')
+ version("1.24.0", commit="4c6906eee514eba3e8ac159654a6953e37a99bba")
+ version("1.22.0", commit="ea0beb3d827c2dd4bc56708a839a93c55304918b")
+ version("1.18.0", commit="76ec9af947f97212084ca478e8e82f9e0eb79de9")
+ version("1.12.1", commit="e788fd0c864f0bf0abd93df44c6d42f82eb37e0e")
+ version("1.10.2", commit="56578ae69abac93dfea6bcac1fc205b14b6ba9dd")
+ version("1.8.0", commit="36a729d244add5aafbe21c37a1baaea6a50354d3")
+ version("1.6.0", commit="0cfbdd1951fb4df5622e002260cfa86294d65d1d")
+ version("1.4.0", commit="e5bdf4d5e4f84ee5680986826ffed636ed853b8e")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-cowplot', type=('build', 'run'))
- depends_on('r-aneufinderdata', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'), when='@1.4.0:1.6.0')
- depends_on('r-biocgenerics@0.31.6:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-bamsignals', type=('build', 'run'))
- depends_on('r-dnacopy', type=('build', 'run'))
- depends_on('r-ecp', type=('build', 'run'), when='@1.8.0:')
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-genomicalignments', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-ggdendro', type=('build', 'run'))
- depends_on('r-ggrepel', type=('build', 'run'))
- depends_on('r-reordercluster', type=('build', 'run'))
- depends_on('r-mclust', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-cowplot", type=("build", "run"))
+ depends_on("r-aneufinderdata", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"), when="@1.4.0:1.6.0")
+ depends_on("r-biocgenerics@0.31.6:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-bamsignals", type=("build", "run"))
+ depends_on("r-dnacopy", type=("build", "run"))
+ depends_on("r-ecp", type=("build", "run"), when="@1.8.0:")
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-genomicalignments", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-ggdendro", type=("build", "run"))
+ depends_on("r-ggrepel", type=("build", "run"))
+ depends_on("r-reordercluster", type=("build", "run"))
+ depends_on("r-mclust", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aneufinderdata/package.py b/var/spack/repos/builtin/packages/r-aneufinderdata/package.py
index 5dc964ec54..ea147a4775 100644
--- a/var/spack/repos/builtin/packages/r-aneufinderdata/package.py
+++ b/var/spack/repos/builtin/packages/r-aneufinderdata/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RAneufinderdata(RPackage):
"""WGSCS Data for Demonstration Purposes.
- Whole-genome single cell sequencing data for demonstration purposes in
- the AneuFinder package."""
+ Whole-genome single cell sequencing data for demonstration purposes in
+ the AneuFinder package."""
bioc = "AneuFinderData"
- version('1.24.0', commit='cf6f3852702aab28e3170fc56b695d00b7389666')
- version('1.22.0', commit='ae8eec3b0afdc351dc447aad2024df5b2c75e56b')
- version('1.18.0', commit='1bf1657b28fc8c1425e611980a692da952ce3d1e')
- version('1.12.0', commit='7350f38856b6278e07eca141f7f3cb24bc60c3a1')
- version('1.10.0', commit='ef7fc27f9af4f178fa45a21aba30709e1ebde035')
- version('1.8.0', commit='4f00f8d5f2e968fea667a7feafc0a4607d6e0c6e')
- version('1.6.0', commit='8fe5b221619aab75fe84c9094708d240dd1e6730')
- version('1.4.0', commit='55c8807ee4a37a2eb6d0defafaf843f980b22c40')
+ version("1.24.0", commit="cf6f3852702aab28e3170fc56b695d00b7389666")
+ version("1.22.0", commit="ae8eec3b0afdc351dc447aad2024df5b2c75e56b")
+ version("1.18.0", commit="1bf1657b28fc8c1425e611980a692da952ce3d1e")
+ version("1.12.0", commit="7350f38856b6278e07eca141f7f3cb24bc60c3a1")
+ version("1.10.0", commit="ef7fc27f9af4f178fa45a21aba30709e1ebde035")
+ version("1.8.0", commit="4f00f8d5f2e968fea667a7feafc0a4607d6e0c6e")
+ version("1.6.0", commit="8fe5b221619aab75fe84c9094708d240dd1e6730")
+ version("1.4.0", commit="55c8807ee4a37a2eb6d0defafaf843f980b22c40")
- depends_on('r@3.3:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-animation/package.py b/var/spack/repos/builtin/packages/r-animation/package.py
index 66067bdd22..bd8f489ca7 100644
--- a/var/spack/repos/builtin/packages/r-animation/package.py
+++ b/var/spack/repos/builtin/packages/r-animation/package.py
@@ -18,14 +18,14 @@ class RAnimation(RPackage):
cran = "animation"
- version('2.7', sha256='88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469')
- version('2.6', sha256='90293638920ac436e7e4de76ebfd92e1643ccdb0259b62128f16dd0b13245b0a')
- version('2.5', sha256='b232fef1b318c79710e5e1923d87baba4c85ffe2c77ddb188130e0911d8cb55f')
+ version("2.7", sha256="88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469")
+ version("2.6", sha256="90293638920ac436e7e4de76ebfd92e1643ccdb0259b62128f16dd0b13245b0a")
+ version("2.5", sha256="b232fef1b318c79710e5e1923d87baba4c85ffe2c77ddb188130e0911d8cb55f")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r-magick', type=('build', 'run'), when='@2.6:')
- depends_on('imagemagick')
- depends_on('texlive@2019:')
- depends_on('swftools')
- depends_on('ffmpeg')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r-magick", type=("build", "run"), when="@2.6:")
+ depends_on("imagemagick")
+ depends_on("texlive@2019:")
+ depends_on("swftools")
+ depends_on("ffmpeg")
diff --git a/var/spack/repos/builtin/packages/r-annaffy/package.py b/var/spack/repos/builtin/packages/r-annaffy/package.py
index aed4dd6f1e..32b9f63d67 100644
--- a/var/spack/repos/builtin/packages/r-annaffy/package.py
+++ b/var/spack/repos/builtin/packages/r-annaffy/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAnnaffy(RPackage):
"""Annotation tools for Affymetrix biological metadata.
- Functions for handling data from Bioconductor Affymetrix annotation data
- packages. Produces compact HTML and text reports including experimental
- data and URL links to many online databases. Allows searching biological
- metadata using various criteria."""
+ Functions for handling data from Bioconductor Affymetrix annotation data
+ packages. Produces compact HTML and text reports including experimental
+ data and URL links to many online databases. Allows searching biological
+ metadata using various criteria."""
bioc = "annaffy"
- version('1.68.0', commit='fa930c0bbdca9828a130ab06d86c65d451380830')
- version('1.66.0', commit='aa1afa1509754128d27508228c1f39f51a8da043')
- version('1.62.0', commit='ad9c37e0e7e45e0f35c208ce528ba48000b37432')
- version('1.56.0', commit='8c8e16aa0f3073880c39684fd8e554a052ec6233')
- version('1.54.0', commit='e1b3bf10515255eb994cd8bdf85697ea728c3484')
- version('1.52.0', commit='ef84030163045f702941c8d5a59fbd4a09f30e2c')
- version('1.50.0', commit='a822e20f3e961a8afa5eb23536343115a33fb259')
- version('1.48.0', commit='89a03c64ac9df5d963ed60b87893a3fffa6798a0')
-
- depends_on('r@2.5.0:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@1.64.2:')
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-annotationdbi@0.1.15:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
-
- depends_on('r-kegg-db', type=('build', 'run'), when='@:1.62.0')
+ version("1.68.0", commit="fa930c0bbdca9828a130ab06d86c65d451380830")
+ version("1.66.0", commit="aa1afa1509754128d27508228c1f39f51a8da043")
+ version("1.62.0", commit="ad9c37e0e7e45e0f35c208ce528ba48000b37432")
+ version("1.56.0", commit="8c8e16aa0f3073880c39684fd8e554a052ec6233")
+ version("1.54.0", commit="e1b3bf10515255eb994cd8bdf85697ea728c3484")
+ version("1.52.0", commit="ef84030163045f702941c8d5a59fbd4a09f30e2c")
+ version("1.50.0", commit="a822e20f3e961a8afa5eb23536343115a33fb259")
+ version("1.48.0", commit="89a03c64ac9df5d963ed60b87893a3fffa6798a0")
+
+ depends_on("r@2.5.0:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@1.64.2:")
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-annotationdbi@0.1.15:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+
+ depends_on("r-kegg-db", type=("build", "run"), when="@:1.62.0")
diff --git a/var/spack/repos/builtin/packages/r-annotate/package.py b/var/spack/repos/builtin/packages/r-annotate/package.py
index 4bf59970d6..0c20c2fe59 100644
--- a/var/spack/repos/builtin/packages/r-annotate/package.py
+++ b/var/spack/repos/builtin/packages/r-annotate/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class RAnnotate(RPackage):
"""Annotation for microarrays.
- Using R enviroments for annotation."""
+ Using R enviroments for annotation."""
bioc = "annotate"
- version('1.74.0', commit='200c71743417792880f8171d59b2ac0ddd3902a8')
- version('1.72.0', commit='67ac76a9ff6d60dc1620763d3aa98aef39443110')
- version('1.68.0', commit='98cdb12c612b3f3fc06329a89a1ffb0a92b555c0')
- version('1.62.0', commit='19af0b39747ea83fe8fe9b8bbb6036363bc815cd')
- version('1.60.1', commit='9d8f87db02bf0c1593e79da754335a24d3a8ed16')
- version('1.58.0', commit='d1b5dd5feb8793f4f816d9a4aecbebb5ec7df7bc')
- version('1.56.2', commit='95ec3b004f5356bd78b2a60cbf7f93e0d48cf346')
- version('1.54.0', commit='860cc5b696795a31b18beaf4869f9c418d74549e')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.27.5:', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.8:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'), when='@1.68.0:')
-
- depends_on('r-rcurl', type=('build', 'run'), when='@:1.62.0')
+ version("1.74.0", commit="200c71743417792880f8171d59b2ac0ddd3902a8")
+ version("1.72.0", commit="67ac76a9ff6d60dc1620763d3aa98aef39443110")
+ version("1.68.0", commit="98cdb12c612b3f3fc06329a89a1ffb0a92b555c0")
+ version("1.62.0", commit="19af0b39747ea83fe8fe9b8bbb6036363bc815cd")
+ version("1.60.1", commit="9d8f87db02bf0c1593e79da754335a24d3a8ed16")
+ version("1.58.0", commit="d1b5dd5feb8793f4f816d9a4aecbebb5ec7df7bc")
+ version("1.56.2", commit="95ec3b004f5356bd78b2a60cbf7f93e0d48cf346")
+ version("1.54.0", commit="860cc5b696795a31b18beaf4869f9c418d74549e")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.27.5:", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.8:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"), when="@1.68.0:")
+
+ depends_on("r-rcurl", type=("build", "run"), when="@:1.62.0")
diff --git a/var/spack/repos/builtin/packages/r-annotationdbi/package.py b/var/spack/repos/builtin/packages/r-annotationdbi/package.py
index 0038613892..04a2faf0e0 100644
--- a/var/spack/repos/builtin/packages/r-annotationdbi/package.py
+++ b/var/spack/repos/builtin/packages/r-annotationdbi/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RAnnotationdbi(RPackage):
"""Manipulation of SQLite-based annotations in Bioconductor.
- Implements a user-friendly interface for querying SQLite-based
- annotation data packages."""
+ Implements a user-friendly interface for querying SQLite-based
+ annotation data packages."""
bioc = "AnnotationDbi"
- version('1.58.0', commit='05fcf7a28a6b15b195da23474d7ba89bd0cfd891')
- version('1.56.2', commit='13fdc4a93852199ca6ec120a2fe1078f9f445f67')
- version('1.52.0', commit='c4e0ca9bd65362ae9cad6a98d90f54267b0ae838')
- version('1.46.1', commit='ff260913741d0fcf9487eeb1f44a6c6968ced5b9')
- version('1.44.0', commit='ce191b08cfd612d014431325c26c91b11c5f13ac')
- version('1.42.1', commit='71085b47ea2e1ef929bebe8b17eb8e8a573f98e3')
- version('1.40.0', commit='e34dff07e10402eecbf95604a512bc1fc4edb127')
- version('1.38.2', commit='67d46facba8c15fa5f0eb47c4e39b53dbdc67c36')
+ version("1.58.0", commit="05fcf7a28a6b15b195da23474d7ba89bd0cfd891")
+ version("1.56.2", commit="13fdc4a93852199ca6ec120a2fe1078f9f445f67")
+ version("1.52.0", commit="c4e0ca9bd65362ae9cad6a98d90f54267b0ae838")
+ version("1.46.1", commit="ff260913741d0fcf9487eeb1f44a6c6968ced5b9")
+ version("1.44.0", commit="ce191b08cfd612d014431325c26c91b11c5f13ac")
+ version("1.42.1", commit="71085b47ea2e1ef929bebe8b17eb8e8a573f98e3")
+ version("1.40.0", commit="e34dff07e10402eecbf95604a512bc1fc4edb127")
+ version("1.38.2", commit="67d46facba8c15fa5f0eb47c4e39b53dbdc67c36")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.23.1:', type=('build', 'run'), when='@1.40.0:')
- depends_on('r-biocgenerics@0.29.2:', type=('build', 'run'), when='@1.46.1:')
- depends_on('r-biobase@1.17.0:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-keggrest', type=('build', 'run'), when='@1.56.2:')
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.23.1:", type=("build", "run"), when="@1.40.0:")
+ depends_on("r-biocgenerics@0.29.2:", type=("build", "run"), when="@1.46.1:")
+ depends_on("r-biobase@1.17.0:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-keggrest", type=("build", "run"), when="@1.56.2:")
diff --git a/var/spack/repos/builtin/packages/r-annotationfilter/package.py b/var/spack/repos/builtin/packages/r-annotationfilter/package.py
index 62452c16e7..1044dc9819 100644
--- a/var/spack/repos/builtin/packages/r-annotationfilter/package.py
+++ b/var/spack/repos/builtin/packages/r-annotationfilter/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class RAnnotationfilter(RPackage):
"""Facilities for Filtering Bioconductor Annotation Resources.
- This package provides class and other infrastructure to implement
- filters for manipulating Bioconductor annotation resources. The filters
- will be used by ensembldb, Organism.dplyr, and other packages."""
+ This package provides class and other infrastructure to implement
+ filters for manipulating Bioconductor annotation resources. The filters
+ will be used by ensembldb, Organism.dplyr, and other packages."""
bioc = "AnnotationFilter"
- version('1.20.0', commit='2818aff6502fd6fe819521cd8d97695ef6f9198e')
- version('1.18.0', commit='60a9b666d7362d7ed5c357fd4a5d2744d8598c20')
- version('1.14.0', commit='6ee3a13ed93a535ed452cbc8c118151a2cbb732c')
- version('1.8.0', commit='9bf70ead899e32e84e2908f2b29cd38250d2d1ed')
- version('1.6.0', commit='fa40a7e17e93fac9e85091ff93f256adf145dec3')
- version('1.4.0', commit='acbd3309f478843a7899bd9773af5f19f986b829')
- version('1.2.0', commit='744b82915d7b85031de462d9d0a2bf9fdfd0e29d')
- version('1.0.0', commit='a9f79b26defe3021eea60abe16ce1fa379813ec9')
+ version("1.20.0", commit="2818aff6502fd6fe819521cd8d97695ef6f9198e")
+ version("1.18.0", commit="60a9b666d7362d7ed5c357fd4a5d2744d8598c20")
+ version("1.14.0", commit="6ee3a13ed93a535ed452cbc8c118151a2cbb732c")
+ version("1.8.0", commit="9bf70ead899e32e84e2908f2b29cd38250d2d1ed")
+ version("1.6.0", commit="fa40a7e17e93fac9e85091ff93f256adf145dec3")
+ version("1.4.0", commit="acbd3309f478843a7899bd9773af5f19f986b829")
+ version("1.2.0", commit="744b82915d7b85031de462d9d0a2bf9fdfd0e29d")
+ version("1.0.0", commit="a9f79b26defe3021eea60abe16ce1fa379813ec9")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-lazyeval', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-lazyeval", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-annotationforge/package.py b/var/spack/repos/builtin/packages/r-annotationforge/package.py
index 777f15ca53..ab4b8d0db6 100644
--- a/var/spack/repos/builtin/packages/r-annotationforge/package.py
+++ b/var/spack/repos/builtin/packages/r-annotationforge/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class RAnnotationforge(RPackage):
"""Tools for building SQLite-based annotation data packages.
- Provides code for generating Annotation packages and their databases.
- Packages produced are intended to be used with AnnotationDbi."""
+ Provides code for generating Annotation packages and their databases.
+ Packages produced are intended to be used with AnnotationDbi."""
bioc = "AnnotationForge"
- version('1.38.0', commit='1f77750562ea3a01f0f1a46c299184fc31196ffd')
- version('1.36.0', commit='523b5f0c3ffb77e59e1568e5f36a5a470bfeeae5')
- version('1.32.0', commit='3d17c2a945951c02fe152e5a8a8e9c6cb41e30f7')
- version('1.26.0', commit='5d181f32df1fff6446af64a2538a7d25c23fe46e')
- version('1.24.0', commit='3e1fe863573e5b0f69f35a9ad6aebce11ef83d0d')
- version('1.22.2', commit='8eafb1690c1c02f6291ccbb38ac633d54b8217f8')
- version('1.20.0', commit='7b440f1570cb90acce8fe2fa8d3b5ac34f638882')
- version('1.18.2', commit='44ca3d4ef9e9825c14725ffdbbaa57ea059532e1')
+ version("1.38.0", commit="1f77750562ea3a01f0f1a46c299184fc31196ffd")
+ version("1.36.0", commit="523b5f0c3ffb77e59e1568e5f36a5a470bfeeae5")
+ version("1.32.0", commit="3d17c2a945951c02fe152e5a8a8e9c6cb41e30f7")
+ version("1.26.0", commit="5d181f32df1fff6446af64a2538a7d25c23fe46e")
+ version("1.24.0", commit="3e1fe863573e5b0f69f35a9ad6aebce11ef83d0d")
+ version("1.22.2", commit="8eafb1690c1c02f6291ccbb38ac633d54b8217f8")
+ version("1.20.0", commit="7b440f1570cb90acce8fe2fa8d3b5ac34f638882")
+ version("1.18.2", commit="44ca3d4ef9e9825c14725ffdbbaa57ea059532e1")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-biobase@1.17.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.33.14:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-rcurl', type=('build', 'run'))
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-biobase@1.17.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.33.14:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-rcurl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-annotationhub/package.py b/var/spack/repos/builtin/packages/r-annotationhub/package.py
index a043454ac4..aa9f457af0 100644
--- a/var/spack/repos/builtin/packages/r-annotationhub/package.py
+++ b/var/spack/repos/builtin/packages/r-annotationhub/package.py
@@ -9,38 +9,38 @@ from spack.package import *
class RAnnotationhub(RPackage):
"""Client to access AnnotationHub resources.
- This package provides a client for the Bioconductor AnnotationHub web
- resource. The AnnotationHub web resource provides a central location
- where genomic files (e.g., VCF, bed, wig) and other resources from
- standard locations (e.g., UCSC, Ensembl) can be discovered. The resource
- includes metadata about each resource, e.g., a textual description,
- tags, and date of modification. The client creates and manages a local
- cache of files retrieved by the user, helping with quick and
- reproducible access."""
+ This package provides a client for the Bioconductor AnnotationHub web
+ resource. The AnnotationHub web resource provides a central location
+ where genomic files (e.g., VCF, bed, wig) and other resources from
+ standard locations (e.g., UCSC, Ensembl) can be discovered. The resource
+ includes metadata about each resource, e.g., a textual description,
+ tags, and date of modification. The client creates and manages a local
+ cache of files retrieved by the user, helping with quick and
+ reproducible access."""
bioc = "AnnotationHub"
- version('3.4.0', commit='e74e54ca44f50c2c15c60f8620e3d1721f8f5b6d')
- version('3.2.1', commit='ad1dfe86f0b0ea4711cc9cdb89e073e8794ec9aa')
- version('2.22.0', commit='3ab7dceebbc31ac14ca931f66c662cf9538b7d0a')
- version('2.16.1', commit='f8cefaae603b782e1c1ad277a3fb89d44e3aa1ed')
- version('2.14.5', commit='993a98ce3de04a0bbddcbde5b1ab2a9550275a12')
- version('2.12.1', commit='471407bd9cdc612e01deb071c91bd9e5f1ea5e55')
- version('2.10.1', commit='b7cb668de9b9625ac2beb3dcde1fa39e289eec29')
- version('2.8.3', commit='8aa9c64262a8d708d2bf1c82f82dfc3d7d4ccc0c')
-
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-biocfilecache@1.5.1:', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@2.14.5:')
- depends_on('r-biocversion', type=('build', 'run'), when='@2.22.0:')
- depends_on('r-curl', type=('build', 'run'), when='@2.10.1:')
- depends_on('r-rappdirs', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-annotationdbi@1.31.19:', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-interactivedisplaybase', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-yaml', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'), when='@2.16.1:')
-
- depends_on('r-biocinstaller', type=('build', 'run'), when='@:2.16.1')
+ version("3.4.0", commit="e74e54ca44f50c2c15c60f8620e3d1721f8f5b6d")
+ version("3.2.1", commit="ad1dfe86f0b0ea4711cc9cdb89e073e8794ec9aa")
+ version("2.22.0", commit="3ab7dceebbc31ac14ca931f66c662cf9538b7d0a")
+ version("2.16.1", commit="f8cefaae603b782e1c1ad277a3fb89d44e3aa1ed")
+ version("2.14.5", commit="993a98ce3de04a0bbddcbde5b1ab2a9550275a12")
+ version("2.12.1", commit="471407bd9cdc612e01deb071c91bd9e5f1ea5e55")
+ version("2.10.1", commit="b7cb668de9b9625ac2beb3dcde1fa39e289eec29")
+ version("2.8.3", commit="8aa9c64262a8d708d2bf1c82f82dfc3d7d4ccc0c")
+
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-biocfilecache@1.5.1:", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@2.14.5:")
+ depends_on("r-biocversion", type=("build", "run"), when="@2.22.0:")
+ depends_on("r-curl", type=("build", "run"), when="@2.10.1:")
+ depends_on("r-rappdirs", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-annotationdbi@1.31.19:", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-interactivedisplaybase", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-yaml", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"), when="@2.16.1:")
+
+ depends_on("r-biocinstaller", type=("build", "run"), when="@:2.16.1")
diff --git a/var/spack/repos/builtin/packages/r-anytime/package.py b/var/spack/repos/builtin/packages/r-anytime/package.py
index 808e752a5c..da2c488c81 100644
--- a/var/spack/repos/builtin/packages/r-anytime/package.py
+++ b/var/spack/repos/builtin/packages/r-anytime/package.py
@@ -16,8 +16,8 @@ class RAnytime(RPackage):
cran = "anytime"
- version('0.3.9', sha256='1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a')
+ version("0.3.9", sha256="1096c15249ac70997a8a41c37eeb2a6d38530621abeae05d3dcd96a8acc7574a")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.9:', type=('build', 'run'))
- depends_on('r-bh', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.9:", type=("build", "run"))
+ depends_on("r-bh", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aod/package.py b/var/spack/repos/builtin/packages/r-aod/package.py
index f5fe7d3ad3..29badfb2e2 100644
--- a/var/spack/repos/builtin/packages/r-aod/package.py
+++ b/var/spack/repos/builtin/packages/r-aod/package.py
@@ -17,7 +17,7 @@ class RAod(RPackage):
cran = "aod"
- version('1.3.2', sha256='9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c')
- version('1.3.1', sha256='052d8802500fcfdb3b37a8e3e6f3fbd5c3a54e48c3f68122402d2ea3a15403bc')
+ version("1.3.2", sha256="9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c")
+ version("1.3.1", sha256="052d8802500fcfdb3b37a8e3e6f3fbd5c3a54e48c3f68122402d2ea3a15403bc")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ape/package.py b/var/spack/repos/builtin/packages/r-ape/package.py
index 5b26bee4cf..9dcd2f0748 100644
--- a/var/spack/repos/builtin/packages/r-ape/package.py
+++ b/var/spack/repos/builtin/packages/r-ape/package.py
@@ -27,16 +27,16 @@ class RApe(RPackage):
cran = "ape"
- version('5.6-2', sha256='9b62450a0390a1f07df007d348ad4cedcd814d42cb11c5a300ed33550fd41257')
- version('5.6-1', sha256='25401e036576eed1200e15bf68879ccd85611303a3508b989e15164cd4c0f7f7')
- version('5.4-1', sha256='f0316c8e74ce900053e8b3e8c9322b9d10e7730f3be2150365f74630bee7eee4')
- version('5.3', sha256='08b0df134c523feb00a86896d1aa2a43f0f0dab20a53bc6b5d6268d867988b23')
- version('5.2', sha256='27eb02856c130d59de6e06276be4981709923756319e465a7f2d4756d4f46415')
- version('5.1', sha256='b7d5dca66881638227a40aa59533904aa5efe0f4b867851b248e8f948a01a26e')
- version('5.0', sha256='c32ed22e350b3d7c7ef3de9334155ab1f3086922b5ec9a1643897cae7abda960')
- version('4.1', sha256='935af5ddadcba832d3f9cc032a80fc1a2e627a7ed54ef5f3773f87e06374a924')
+ version("5.6-2", sha256="9b62450a0390a1f07df007d348ad4cedcd814d42cb11c5a300ed33550fd41257")
+ version("5.6-1", sha256="25401e036576eed1200e15bf68879ccd85611303a3508b989e15164cd4c0f7f7")
+ version("5.4-1", sha256="f0316c8e74ce900053e8b3e8c9322b9d10e7730f3be2150365f74630bee7eee4")
+ version("5.3", sha256="08b0df134c523feb00a86896d1aa2a43f0f0dab20a53bc6b5d6268d867988b23")
+ version("5.2", sha256="27eb02856c130d59de6e06276be4981709923756319e465a7f2d4756d4f46415")
+ version("5.1", sha256="b7d5dca66881638227a40aa59533904aa5efe0f4b867851b248e8f948a01a26e")
+ version("5.0", sha256="c32ed22e350b3d7c7ef3de9334155ab1f3086922b5ec9a1643897cae7abda960")
+ version("4.1", sha256="935af5ddadcba832d3f9cc032a80fc1a2e627a7ed54ef5f3773f87e06374a924")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-aplot/package.py b/var/spack/repos/builtin/packages/r-aplot/package.py
index dca11c88d3..735e18776d 100644
--- a/var/spack/repos/builtin/packages/r-aplot/package.py
+++ b/var/spack/repos/builtin/packages/r-aplot/package.py
@@ -18,15 +18,15 @@ class RAplot(RPackage):
cran = "aplot"
- version('0.1.6', sha256='7d69d1968bc613d8ceccc05c53362b0f62b632e1c6ef5100c91b65b15afa200c')
- version('0.1.4', sha256='cde9dfc1c6b38e370c1f7338651c37727efa57d52b646fec6b021855809492ac')
- version('0.1.2', sha256='899c4d101ddcedb1eba9803d78cf02288b63de25e2879add8add1165167509f0')
-
- depends_on('r-ggfun@0.0.4:', type=('build', 'run'), when='@0.1.2:')
- depends_on('r-ggfun@0.0.6:', type=('build', 'run'), when='@0.1.4:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggplotify', type=('build', 'run'))
- depends_on('r-patchwork', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
-
- depends_on('r-yulab-utils', type=('build', 'run'), when='@0.1.2')
+ version("0.1.6", sha256="7d69d1968bc613d8ceccc05c53362b0f62b632e1c6ef5100c91b65b15afa200c")
+ version("0.1.4", sha256="cde9dfc1c6b38e370c1f7338651c37727efa57d52b646fec6b021855809492ac")
+ version("0.1.2", sha256="899c4d101ddcedb1eba9803d78cf02288b63de25e2879add8add1165167509f0")
+
+ depends_on("r-ggfun@0.0.4:", type=("build", "run"), when="@0.1.2:")
+ depends_on("r-ggfun@0.0.6:", type=("build", "run"), when="@0.1.4:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggplotify", type=("build", "run"))
+ depends_on("r-patchwork", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+
+ depends_on("r-yulab-utils", type=("build", "run"), when="@0.1.2")
diff --git a/var/spack/repos/builtin/packages/r-argparse/package.py b/var/spack/repos/builtin/packages/r-argparse/package.py
index 1ab2e1e1a2..7c6c37a30a 100644
--- a/var/spack/repos/builtin/packages/r-argparse/package.py
+++ b/var/spack/repos/builtin/packages/r-argparse/package.py
@@ -15,16 +15,16 @@ class RArgparse(RPackage):
cran = "argparse"
- version('2.1.5', sha256='83e112beb47733849980b286d93ac930f0cbe6ac78fcb94fc9f6b0eea882658d')
- version('2.1.3', sha256='aeda31a54a8d7a0a511cfbf7c5868637e129922671d43938165867437fb6a66e')
- version('2.0.3', sha256='d26139c610ea0adf8d6632699cd34c4595ae3e7963bfc7a00cb3b7504f2059b0')
- version('2.0.1', sha256='949843920d14fc7c162aedab331a936499541736e7dafbb103fbfd79be8147ab')
- version('1.1.1', sha256='441449f0816411a868fd1b15cf4b2bc45931bbd4b67d6592dbe48875905cf93b')
-
- depends_on('r-r6', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-findpython', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('python@3.2:', type=('build', 'run'))
-
- depends_on('r-proto@1:', type=('build', 'run'), when='@1.0.0:1.9.9')
- depends_on('r-getopt', type=('build', 'run'), when='@1.0.0:1.9.9')
+ version("2.1.5", sha256="83e112beb47733849980b286d93ac930f0cbe6ac78fcb94fc9f6b0eea882658d")
+ version("2.1.3", sha256="aeda31a54a8d7a0a511cfbf7c5868637e129922671d43938165867437fb6a66e")
+ version("2.0.3", sha256="d26139c610ea0adf8d6632699cd34c4595ae3e7963bfc7a00cb3b7504f2059b0")
+ version("2.0.1", sha256="949843920d14fc7c162aedab331a936499541736e7dafbb103fbfd79be8147ab")
+ version("1.1.1", sha256="441449f0816411a868fd1b15cf4b2bc45931bbd4b67d6592dbe48875905cf93b")
+
+ depends_on("r-r6", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-findpython", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("python@3.2:", type=("build", "run"))
+
+ depends_on("r-proto@1:", type=("build", "run"), when="@1.0.0:1.9.9")
+ depends_on("r-getopt", type=("build", "run"), when="@1.0.0:1.9.9")
diff --git a/var/spack/repos/builtin/packages/r-aroma-light/package.py b/var/spack/repos/builtin/packages/r-aroma-light/package.py
index f0b74ae5e8..8d65bfea57 100644
--- a/var/spack/repos/builtin/packages/r-aroma-light/package.py
+++ b/var/spack/repos/builtin/packages/r-aroma-light/package.py
@@ -16,15 +16,15 @@ class RAromaLight(RPackage):
bioc = "aroma.light"
- version('3.26.0', commit='7ead7517a77bc8b4b4b42aace69957a17e8fe016')
- version('3.24.0', commit='3ff48b8f546acc9803b3c652363cac78d3b81ae5')
- version('3.20.0', commit='02cde7fa166259bce73c396a87dca2ecc8249c39')
- version('3.16.0', commit='fc16179fc4bee8954c5415d7cd13e3112b75b4fd')
+ version("3.26.0", commit="7ead7517a77bc8b4b4b42aace69957a17e8fe016")
+ version("3.24.0", commit="3ff48b8f546acc9803b3c652363cac78d3b81ae5")
+ version("3.20.0", commit="02cde7fa166259bce73c396a87dca2ecc8249c39")
+ version("3.16.0", commit="fc16179fc4bee8954c5415d7cd13e3112b75b4fd")
- depends_on('r@2.15.2:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.7.1:', type=('build', 'run'))
- depends_on('r-r-oo@1.22.0:', type=('build', 'run'))
- depends_on('r-r-oo@1.23.0:', type=('build', 'run'), when='@3.20.0:')
- depends_on('r-r-utils@2.9.0:', type=('build', 'run'))
- depends_on('r-matrixstats@0.54.0:', type=('build', 'run'))
- depends_on('r-matrixstats@0.55.0:', type=('build', 'run'), when='@3.20.0:')
+ depends_on("r@2.15.2:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.7.1:", type=("build", "run"))
+ depends_on("r-r-oo@1.22.0:", type=("build", "run"))
+ depends_on("r-r-oo@1.23.0:", type=("build", "run"), when="@3.20.0:")
+ depends_on("r-r-utils@2.9.0:", type=("build", "run"))
+ depends_on("r-matrixstats@0.54.0:", type=("build", "run"))
+ depends_on("r-matrixstats@0.55.0:", type=("build", "run"), when="@3.20.0:")
diff --git a/var/spack/repos/builtin/packages/r-ash/package.py b/var/spack/repos/builtin/packages/r-ash/package.py
index facace5bb0..6d568ddbcd 100644
--- a/var/spack/repos/builtin/packages/r-ash/package.py
+++ b/var/spack/repos/builtin/packages/r-ash/package.py
@@ -12,6 +12,6 @@ class RAsh(RPackage):
David Scott's ASH routines ported from S-PLUS to R."""
- cran = 'ash'
+ cran = "ash"
- version('1.0-15', sha256='8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab')
+ version("1.0-15", sha256="8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab")
diff --git a/var/spack/repos/builtin/packages/r-askpass/package.py b/var/spack/repos/builtin/packages/r-askpass/package.py
index bbdb87d623..d77032a087 100644
--- a/var/spack/repos/builtin/packages/r-askpass/package.py
+++ b/var/spack/repos/builtin/packages/r-askpass/package.py
@@ -20,6 +20,6 @@ class RAskpass(RPackage):
cran = "askpass"
- version('1.1', sha256='db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f')
+ version("1.1", sha256="db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f")
- depends_on('r-sys@2.1:', type=('build', 'run'))
+ depends_on("r-sys@2.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-base/package.py b/var/spack/repos/builtin/packages/r-assertive-base/package.py
index 5895b9af61..63ead7c758 100644
--- a/var/spack/repos/builtin/packages/r-assertive-base/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-base/package.py
@@ -16,9 +16,9 @@ class RAssertiveBase(RPackage):
cran = "assertive.base"
- version('0.0-9', sha256='4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e')
- version('0.0-7', sha256='f02d4eca849f512500abb266a2a751d1fa2cf064f7142e5161a77c20b7f643f7')
- version('0.0-1', sha256='6a5fb06ad912f01cd8aaf2aa7c8ca03b8ebbb1c5eb2be47fa145930f15f4d258')
+ version("0.0-9", sha256="4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e")
+ version("0.0-7", sha256="f02d4eca849f512500abb266a2a751d1fa2cf064f7142e5161a77c20b7f643f7")
+ version("0.0-1", sha256="6a5fb06ad912f01cd8aaf2aa7c8ca03b8ebbb1c5eb2be47fa145930f15f4d258")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.0-9:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.0-9:")
diff --git a/var/spack/repos/builtin/packages/r-assertive-code/package.py b/var/spack/repos/builtin/packages/r-assertive-code/package.py
index b81c18d9a4..422584d050 100644
--- a/var/spack/repos/builtin/packages/r-assertive-code/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-code/package.py
@@ -16,9 +16,9 @@ class RAssertiveCode(RPackage):
cran = "assertive.code"
- version('0.0-3', sha256='ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2')
+ version("0.0-3", sha256="ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-properties', type=('build', 'run'))
- depends_on('r-assertive-types', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-properties", type=("build", "run"))
+ depends_on("r-assertive-types", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-data-uk/package.py b/var/spack/repos/builtin/packages/r-assertive-data-uk/package.py
index 62b4110248..d09dce08a9 100644
--- a/var/spack/repos/builtin/packages/r-assertive-data-uk/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-data-uk/package.py
@@ -16,8 +16,8 @@ class RAssertiveDataUk(RPackage):
cran = "assertive.data.uk"
- version('0.0-2', sha256='ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb')
+ version("0.0-2", sha256="ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-strings', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-strings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-data-us/package.py b/var/spack/repos/builtin/packages/r-assertive-data-us/package.py
index c7a76e8ee4..7ca1388342 100644
--- a/var/spack/repos/builtin/packages/r-assertive-data-us/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-data-us/package.py
@@ -16,8 +16,8 @@ class RAssertiveDataUs(RPackage):
cran = "assertive.data.us"
- version('0.0-2', sha256='180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad')
+ version("0.0-2", sha256="180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-strings', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-strings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-data/package.py b/var/spack/repos/builtin/packages/r-assertive-data/package.py
index e7700797b6..42ebaf907e 100644
--- a/var/spack/repos/builtin/packages/r-assertive-data/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-data/package.py
@@ -16,8 +16,8 @@ class RAssertiveData(RPackage):
cran = "assertive.data"
- version('0.0-3', sha256='5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01')
+ version("0.0-3", sha256="5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-strings', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-strings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-datetimes/package.py b/var/spack/repos/builtin/packages/r-assertive-datetimes/package.py
index 3f0c53f0c4..9606b2b03f 100644
--- a/var/spack/repos/builtin/packages/r-assertive-datetimes/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-datetimes/package.py
@@ -16,8 +16,8 @@ class RAssertiveDatetimes(RPackage):
cran = "assertive.datetimes"
- version('0.0-3', sha256='014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94')
+ version("0.0-3", sha256="014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-7:', type=('build', 'run'))
- depends_on('r-assertive-types', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-7:", type=("build", "run"))
+ depends_on("r-assertive-types", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-files/package.py b/var/spack/repos/builtin/packages/r-assertive-files/package.py
index e2b16a3128..173b897814 100644
--- a/var/spack/repos/builtin/packages/r-assertive-files/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-files/package.py
@@ -16,8 +16,8 @@ class RAssertiveFiles(RPackage):
cran = "assertive.files"
- version('0.0-2', sha256='be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a')
+ version("0.0-2", sha256="be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-numbers', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-numbers", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-matrices/package.py b/var/spack/repos/builtin/packages/r-assertive-matrices/package.py
index 36502547ba..20c10dcdc4 100644
--- a/var/spack/repos/builtin/packages/r-assertive-matrices/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-matrices/package.py
@@ -16,7 +16,7 @@ class RAssertiveMatrices(RPackage):
cran = "assertive.matrices"
- version('0.0-2', sha256='3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b')
+ version("0.0-2", sha256="3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-models/package.py b/var/spack/repos/builtin/packages/r-assertive-models/package.py
index 9b0c745180..e16f29c349 100644
--- a/var/spack/repos/builtin/packages/r-assertive-models/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-models/package.py
@@ -16,7 +16,7 @@ class RAssertiveModels(RPackage):
cran = "assertive.models"
- version('0.0-2', sha256='b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e')
+ version("0.0-2", sha256="b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-numbers/package.py b/var/spack/repos/builtin/packages/r-assertive-numbers/package.py
index adc6770701..4e4d03626b 100644
--- a/var/spack/repos/builtin/packages/r-assertive-numbers/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-numbers/package.py
@@ -16,7 +16,7 @@ class RAssertiveNumbers(RPackage):
cran = "assertive.numbers"
- version('0.0-2', sha256='bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349')
+ version("0.0-2", sha256="bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-properties/package.py b/var/spack/repos/builtin/packages/r-assertive-properties/package.py
index b0e011d7d8..f2941bae59 100644
--- a/var/spack/repos/builtin/packages/r-assertive-properties/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-properties/package.py
@@ -17,8 +17,8 @@ class RAssertiveProperties(RPackage):
cran = "assertive.properties"
- version('0.0-5', sha256='b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd')
- version('0.0-4', sha256='5c0663fecb4b7c30f2e1d65da8644534fcfe97fb3d8b51f74c1327cd14291a6b')
+ version("0.0-5", sha256="b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd")
+ version("0.0-4", sha256="5c0663fecb4b7c30f2e1d65da8644534fcfe97fb3d8b51f74c1327cd14291a6b")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-7:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-reflection/package.py b/var/spack/repos/builtin/packages/r-assertive-reflection/package.py
index 01c4151f9c..211924b09d 100644
--- a/var/spack/repos/builtin/packages/r-assertive-reflection/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-reflection/package.py
@@ -17,7 +17,7 @@ class RAssertiveReflection(RPackage):
cran = "assertive.reflection"
- version('0.0-5', sha256='c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd')
+ version("0.0-5", sha256="c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-7:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-sets/package.py b/var/spack/repos/builtin/packages/r-assertive-sets/package.py
index b466948a63..87414719bd 100644
--- a/var/spack/repos/builtin/packages/r-assertive-sets/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-sets/package.py
@@ -16,7 +16,7 @@ class RAssertiveSets(RPackage):
cran = "assertive.sets"
- version('0.0-3', sha256='876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3')
+ version("0.0-3", sha256="876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-7:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-strings/package.py b/var/spack/repos/builtin/packages/r-assertive-strings/package.py
index f98bbb0b2d..44193e89d0 100644
--- a/var/spack/repos/builtin/packages/r-assertive-strings/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-strings/package.py
@@ -16,9 +16,9 @@ class RAssertiveStrings(RPackage):
cran = "assertive.strings"
- version('0.0-3', sha256='d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258')
+ version("0.0-3", sha256="d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-types', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-types", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive-types/package.py b/var/spack/repos/builtin/packages/r-assertive-types/package.py
index 369d654d7b..a9daeaa954 100644
--- a/var/spack/repos/builtin/packages/r-assertive-types/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive-types/package.py
@@ -16,9 +16,9 @@ class RAssertiveTypes(RPackage):
cran = "assertive.types"
- version('0.0-3', sha256='ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f')
+ version("0.0-3", sha256="ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-7:', type=('build', 'run'))
- depends_on('r-assertive-properties', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-7:", type=("build", "run"))
+ depends_on("r-assertive-properties", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertive/package.py b/var/spack/repos/builtin/packages/r-assertive/package.py
index 3f95fcfd48..7548409f83 100644
--- a/var/spack/repos/builtin/packages/r-assertive/package.py
+++ b/var/spack/repos/builtin/packages/r-assertive/package.py
@@ -15,22 +15,22 @@ class RAssertive(RPackage):
cran = "assertive"
- version('0.3-6', sha256='c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a')
+ version("0.3-6", sha256="c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-assertive-base@0.0-4:', type=('build', 'run'))
- depends_on('r-assertive-properties@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-types@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-numbers', type=('build', 'run'))
- depends_on('r-assertive-strings', type=('build', 'run'))
- depends_on('r-assertive-datetimes', type=('build', 'run'))
- depends_on('r-assertive-files', type=('build', 'run'))
- depends_on('r-assertive-sets@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-matrices', type=('build', 'run'))
- depends_on('r-assertive-models', type=('build', 'run'))
- depends_on('r-assertive-data', type=('build', 'run'))
- depends_on('r-assertive-data-uk', type=('build', 'run'))
- depends_on('r-assertive-data-us', type=('build', 'run'))
- depends_on('r-assertive-reflection@0.0-2:', type=('build', 'run'))
- depends_on('r-assertive-code', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-assertive-base@0.0-4:", type=("build", "run"))
+ depends_on("r-assertive-properties@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-types@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-numbers", type=("build", "run"))
+ depends_on("r-assertive-strings", type=("build", "run"))
+ depends_on("r-assertive-datetimes", type=("build", "run"))
+ depends_on("r-assertive-files", type=("build", "run"))
+ depends_on("r-assertive-sets@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-matrices", type=("build", "run"))
+ depends_on("r-assertive-models", type=("build", "run"))
+ depends_on("r-assertive-data", type=("build", "run"))
+ depends_on("r-assertive-data-uk", type=("build", "run"))
+ depends_on("r-assertive-data-us", type=("build", "run"))
+ depends_on("r-assertive-reflection@0.0-2:", type=("build", "run"))
+ depends_on("r-assertive-code", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-assertthat/package.py b/var/spack/repos/builtin/packages/r-assertthat/package.py
index 0210d31a76..9eac3cea52 100644
--- a/var/spack/repos/builtin/packages/r-assertthat/package.py
+++ b/var/spack/repos/builtin/packages/r-assertthat/package.py
@@ -15,6 +15,6 @@ class RAssertthat(RPackage):
cran = "assertthat"
- version('0.2.1', sha256='85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f')
- version('0.2.0', sha256='d73ef79b1e75293ed889a99571b237a95829c099f7da094d4763f83ea6fde5f2')
- version('0.1', sha256='1363645a9a128f615aa0641dc5f5c5abd960b1c38320492366dad1e7a5c29a37')
+ version("0.2.1", sha256="85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f")
+ version("0.2.0", sha256="d73ef79b1e75293ed889a99571b237a95829c099f7da094d4763f83ea6fde5f2")
+ version("0.1", sha256="1363645a9a128f615aa0641dc5f5c5abd960b1c38320492366dad1e7a5c29a37")
diff --git a/var/spack/repos/builtin/packages/r-backports/package.py b/var/spack/repos/builtin/packages/r-backports/package.py
index 11c12fdf53..9abdb79db4 100644
--- a/var/spack/repos/builtin/packages/r-backports/package.py
+++ b/var/spack/repos/builtin/packages/r-backports/package.py
@@ -18,12 +18,12 @@ class RBackports(RPackage):
cran = "backports"
- version('1.4.1', sha256='845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474')
- version('1.4.0', sha256='e7611565d24a852ad8b08579a7c67ad9121c1bda148bade98c7bec686e8dabbf')
- version('1.2.1', sha256='a2834bbd57e305e5d8010322f1906ea1789b3b5ba5eca77c5ff4248aceb7c2d5')
- version('1.1.4', sha256='ee4b5efef22fa7ef27d7983ffcd31db52f81e1fbb7189c6e89ee09b69349ff03')
- version('1.1.3', sha256='e41bd146824ec921994f1b176d0e4cca0b36dd3db32ca7a954d872a5ba214cc1')
- version('1.1.1', sha256='494e81a4829339c8f1cc3e015daa807e9138b8e21b929965fc7c00b1abbe8897')
- version('1.1.0', sha256='c5536966ed6ca93f20c9a21d4f569cc1c6865d3352445ea66448f82590349fcd')
+ version("1.4.1", sha256="845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474")
+ version("1.4.0", sha256="e7611565d24a852ad8b08579a7c67ad9121c1bda148bade98c7bec686e8dabbf")
+ version("1.2.1", sha256="a2834bbd57e305e5d8010322f1906ea1789b3b5ba5eca77c5ff4248aceb7c2d5")
+ version("1.1.4", sha256="ee4b5efef22fa7ef27d7983ffcd31db52f81e1fbb7189c6e89ee09b69349ff03")
+ version("1.1.3", sha256="e41bd146824ec921994f1b176d0e4cca0b36dd3db32ca7a954d872a5ba214cc1")
+ version("1.1.1", sha256="494e81a4829339c8f1cc3e015daa807e9138b8e21b929965fc7c00b1abbe8897")
+ version("1.1.0", sha256="c5536966ed6ca93f20c9a21d4f569cc1c6865d3352445ea66448f82590349fcd")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bamsignals/package.py b/var/spack/repos/builtin/packages/r-bamsignals/package.py
index 78c886169b..918459d049 100644
--- a/var/spack/repos/builtin/packages/r-bamsignals/package.py
+++ b/var/spack/repos/builtin/packages/r-bamsignals/package.py
@@ -9,33 +9,33 @@ from spack.package import *
class RBamsignals(RPackage):
"""Extract read count signals from bam files.
- This package allows to efficiently obtain count vectors from indexed bam
- files. It counts the number of reads in given genomic ranges and it
- computes reads profiles and coverage profiles. It also handles paired-
- end data."""
+ This package allows to efficiently obtain count vectors from indexed bam
+ files. It counts the number of reads in given genomic ranges and it
+ computes reads profiles and coverage profiles. It also handles paired-
+ end data."""
bioc = "bamsignals"
- version('1.28.0', commit='27b70be6f73747d9d32054da043f4a37ea55b917')
- version('1.26.0', commit='d57643441d04f77db0907637dc9e7cd5bed5842f')
- version('1.22.0', commit='5f533969c84212406bcb3ebf725ebb6d77e9947a')
- version('1.16.0', commit='dba9a4ae1613d2700f122ade1e9b90ca8fce5657')
- version('1.14.0', commit='3107d3a35830e879eeddf127a81016ea1ca9b53d')
- version('1.12.1', commit='06b6282df377cf9db58e8016be4ac8ddcc960939')
- version('1.10.0', commit='7499312ce71e8680680eda10b49d7dff682fc776')
- version('1.8.0', commit='b123b83e8e026c9ec91209d4498aff3e95a5de23')
-
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.28.0:')
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-rcpp@0.10.6:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('r-rhtslib', type=('build', 'run'))
- depends_on('r-rhtslib@1.12.1:', type=('build', 'run'), when='@1.12.1:')
- depends_on('r-rhtslib@1.13.1:', type=('build', 'run'), when='@1.14.0:')
- depends_on('gmake', type='build')
+ version("1.28.0", commit="27b70be6f73747d9d32054da043f4a37ea55b917")
+ version("1.26.0", commit="d57643441d04f77db0907637dc9e7cd5bed5842f")
+ version("1.22.0", commit="5f533969c84212406bcb3ebf725ebb6d77e9947a")
+ version("1.16.0", commit="dba9a4ae1613d2700f122ade1e9b90ca8fce5657")
+ version("1.14.0", commit="3107d3a35830e879eeddf127a81016ea1ca9b53d")
+ version("1.12.1", commit="06b6282df377cf9db58e8016be4ac8ddcc960939")
+ version("1.10.0", commit="7499312ce71e8680680eda10b49d7dff682fc776")
+ version("1.8.0", commit="b123b83e8e026c9ec91209d4498aff3e95a5de23")
+
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.28.0:")
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-rcpp@0.10.6:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("r-rhtslib", type=("build", "run"))
+ depends_on("r-rhtslib@1.12.1:", type=("build", "run"), when="@1.12.1:")
+ depends_on("r-rhtslib@1.13.1:", type=("build", "run"), when="@1.14.0:")
+ depends_on("gmake", type="build")
# this is not listed but is needed
- depends_on('curl')
+ depends_on("curl")
diff --git a/var/spack/repos/builtin/packages/r-base64/package.py b/var/spack/repos/builtin/packages/r-base64/package.py
index 056fe61182..e90f1efa4d 100644
--- a/var/spack/repos/builtin/packages/r-base64/package.py
+++ b/var/spack/repos/builtin/packages/r-base64/package.py
@@ -15,6 +15,6 @@ class RBase64(RPackage):
cran = "base64"
- version('2.0', sha256='8e259c2b12446197d1152b83a81bab84ccb5a5b77021a9b5645dd4c63c804bd1')
+ version("2.0", sha256="8e259c2b12446197d1152b83a81bab84ccb5a5b77021a9b5645dd4c63c804bd1")
- depends_on('r-openssl', type=('build', 'run'))
+ depends_on("r-openssl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-base64enc/package.py b/var/spack/repos/builtin/packages/r-base64enc/package.py
index d1a125871a..5b7f4b2d21 100644
--- a/var/spack/repos/builtin/packages/r-base64enc/package.py
+++ b/var/spack/repos/builtin/packages/r-base64enc/package.py
@@ -14,6 +14,6 @@ class RBase64enc(RPackage):
cran = "base64enc"
- version('0.1-3', sha256='6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d')
+ version("0.1-3", sha256="6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d")
- depends_on('r@2.9.0:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bayesm/package.py b/var/spack/repos/builtin/packages/r-bayesm/package.py
index b79df57218..3600bfe52f 100644
--- a/var/spack/repos/builtin/packages/r-bayesm/package.py
+++ b/var/spack/repos/builtin/packages/r-bayesm/package.py
@@ -31,12 +31,12 @@ class RBayesm(RPackage):
cran = "bayesm"
- version('3.1-4', sha256='061b216c62bc72eab8d646ad4075f2f78823f9913344a781fa53ea7cf4a48f94')
- version('3.1-3', sha256='51e4827eca8cd4cf3626f3c2282543df7c392b3ffb843f4bfb386fe104642a10')
- version('3.1-2', sha256='a332f16e998ab10b17a2b1b9838d61660c36e914fe4d2e388a59f031d52ad736')
- version('3.1-1', sha256='4854517dec30ab7c994de862aae1998c2d0c5e71265fd9eb7ed36891d4676078')
- version('3.1-0.1', sha256='5879823b7fb6e6df0c0fe98faabc1044a4149bb65989062df4ade64e19d26411')
+ version("3.1-4", sha256="061b216c62bc72eab8d646ad4075f2f78823f9913344a781fa53ea7cf4a48f94")
+ version("3.1-3", sha256="51e4827eca8cd4cf3626f3c2282543df7c392b3ffb843f4bfb386fe104642a10")
+ version("3.1-2", sha256="a332f16e998ab10b17a2b1b9838d61660c36e914fe4d2e388a59f031d52ad736")
+ version("3.1-1", sha256="4854517dec30ab7c994de862aae1998c2d0c5e71265fd9eb7ed36891d4676078")
+ version("3.1-0.1", sha256="5879823b7fb6e6df0c0fe98faabc1044a4149bb65989062df4ade64e19d26411")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bayesplot/package.py b/var/spack/repos/builtin/packages/r-bayesplot/package.py
index c403d742b4..9a602bfc9e 100644
--- a/var/spack/repos/builtin/packages/r-bayesplot/package.py
+++ b/var/spack/repos/builtin/packages/r-bayesplot/package.py
@@ -20,19 +20,19 @@ class RBayesplot(RPackage):
cran = "bayesplot"
- version('1.9.0', sha256='0a81a4b99cf781334e57cfc3c469fad8b932a68204016a3bbca33cab4e2a1e43')
- version('1.8.1', sha256='d8d74201ea91fa5438714686ca22a947ec9375b6c12b0cfef010c57104b1aa2a')
- version('1.8.0', sha256='a605f9929e681593a3ef3ca9c836e713314994aaea00f359f71cfc42d151c948')
+ version("1.9.0", sha256="0a81a4b99cf781334e57cfc3c469fad8b932a68204016a3bbca33cab4e2a1e43")
+ version("1.8.1", sha256="d8d74201ea91fa5438714686ca22a947ec9375b6c12b0cfef010c57104b1aa2a")
+ version("1.8.0", sha256="a605f9929e681593a3ef3ca9c836e713314994aaea00f359f71cfc42d151c948")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-ggridges', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-posterior', type=('build', 'run'), when='@1.9.0:')
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-rlang@0.3.0:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tibble@2.0.0:', type=('build', 'run'), when='@1.9.0:')
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('pandoc@1.12.3:', when='@1.9.0:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-ggridges", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-posterior", type=("build", "run"), when="@1.9.0:")
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-rlang@0.3.0:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tibble@2.0.0:", type=("build", "run"), when="@1.9.0:")
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("pandoc@1.12.3:", when="@1.9.0:")
diff --git a/var/spack/repos/builtin/packages/r-bbmisc/package.py b/var/spack/repos/builtin/packages/r-bbmisc/package.py
index 24aacc6de4..918b8f2e8a 100644
--- a/var/spack/repos/builtin/packages/r-bbmisc/package.py
+++ b/var/spack/repos/builtin/packages/r-bbmisc/package.py
@@ -14,8 +14,8 @@ class RBbmisc(RPackage):
cran = "BBmisc"
- version('1.12', sha256='900a633f69b7d9b13d58709eeae2fca2c1bc510765d778623a2af32cc870053e')
- version('1.11', sha256='1ea48c281825349d8642a661bb447e23bfd651db3599bf72593bfebe17b101d2')
+ version("1.12", sha256="900a633f69b7d9b13d58709eeae2fca2c1bc510765d778623a2af32cc870053e")
+ version("1.11", sha256="1ea48c281825349d8642a661bb447e23bfd651db3599bf72593bfebe17b101d2")
- depends_on('r-checkmate@1.8.0:', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'), when='@1.12:')
+ depends_on("r-checkmate@1.8.0:", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"), when="@1.12:")
diff --git a/var/spack/repos/builtin/packages/r-beachmat/package.py b/var/spack/repos/builtin/packages/r-beachmat/package.py
index 3ce3ec04e1..6d44251654 100644
--- a/var/spack/repos/builtin/packages/r-beachmat/package.py
+++ b/var/spack/repos/builtin/packages/r-beachmat/package.py
@@ -9,36 +9,36 @@ from spack.package import *
class RBeachmat(RPackage):
"""Compiling Bioconductor to Handle Each Matrix Type.
- Provides a consistent C++ class interface for reading from and writing
- data to a variety of commonly used matrix types. Ordinary matrices and
- several sparse/dense Matrix classes are directly supported, third-party
- S4 classes may be supported by external linkage, while all other
- matrices are handled by DelayedArray block processing."""
+ Provides a consistent C++ class interface for reading from and writing
+ data to a variety of commonly used matrix types. Ordinary matrices and
+ several sparse/dense Matrix classes are directly supported, third-party
+ S4 classes may be supported by external linkage, while all other
+ matrices are handled by DelayedArray block processing."""
bioc = "beachmat"
- version('2.12.0', commit='3e6af145bdcdf0a0b722d8256ba1a38b8a36b2f5')
- version('2.10.0', commit='b7cc532d4a5b26d9073135cc9945258ea08e5079')
- version('2.6.4', commit='7d9dc6379017d723dda3e8dc9fd1f6de7fd33cdb')
- version('2.0.0', commit='2bdac6ce7b636fd16f78641a0bcc2181670107ab')
- version('1.4.0', commit='e3b7a21cae0080d077a0d40e35d1d148f088720a')
- version('1.2.1', commit='ebae81772045a314e568c2f7d73ea3b27e7bf7d8')
- version('1.0.2', commit='6bd57b91d6428ac916f46572d685d3cb01a757f7')
-
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@1.2.1:1.4.0')
- depends_on('r-delayedarray', type=('build', 'run'))
- depends_on('r-delayedarray@0.5.30:', type=('build', 'run'), when='@1.2.1')
- depends_on('r-delayedarray@0.7.38:', type=('build', 'run'), when='@1.4.0')
- depends_on('r-delayedarray@0.15.14:', type=('build', 'run'), when='@2.6.4')
- depends_on('r-biocgenerics', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-matrix', type=('build', 'run'), when='@2.6.4:')
- depends_on('r-rcpp@0.12.14:', type=('build', 'run'), when='@1.0.2:1.4.0')
- depends_on('r-rcpp', type=('build', 'run'), when='@2.10.0:')
-
- depends_on('r-rhdf5lib', type=('build', 'run'), when='@1.0.2:1.4.0')
- depends_on('r-rhdf5lib@1.1.4:', type=('build', 'run'), when='@1.2.1')
- depends_on('r-hdf5array', type=('build', 'run'), when='@1.0.2:1.4.0')
- depends_on('r-hdf5array@1.7.3:', type=('build', 'run'), when='@1.2.1')
- depends_on('r-hdf5array@1.9.5:', type=('build', 'run'), when='@1.4.0')
- depends_on('r-rhdf5', type=('build', 'run'), when='@1.0.2:1.4.0')
+ version("2.12.0", commit="3e6af145bdcdf0a0b722d8256ba1a38b8a36b2f5")
+ version("2.10.0", commit="b7cc532d4a5b26d9073135cc9945258ea08e5079")
+ version("2.6.4", commit="7d9dc6379017d723dda3e8dc9fd1f6de7fd33cdb")
+ version("2.0.0", commit="2bdac6ce7b636fd16f78641a0bcc2181670107ab")
+ version("1.4.0", commit="e3b7a21cae0080d077a0d40e35d1d148f088720a")
+ version("1.2.1", commit="ebae81772045a314e568c2f7d73ea3b27e7bf7d8")
+ version("1.0.2", commit="6bd57b91d6428ac916f46572d685d3cb01a757f7")
+
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@1.2.1:1.4.0")
+ depends_on("r-delayedarray", type=("build", "run"))
+ depends_on("r-delayedarray@0.5.30:", type=("build", "run"), when="@1.2.1")
+ depends_on("r-delayedarray@0.7.38:", type=("build", "run"), when="@1.4.0")
+ depends_on("r-delayedarray@0.15.14:", type=("build", "run"), when="@2.6.4")
+ depends_on("r-biocgenerics", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-matrix", type=("build", "run"), when="@2.6.4:")
+ depends_on("r-rcpp@0.12.14:", type=("build", "run"), when="@1.0.2:1.4.0")
+ depends_on("r-rcpp", type=("build", "run"), when="@2.10.0:")
+
+ depends_on("r-rhdf5lib", type=("build", "run"), when="@1.0.2:1.4.0")
+ depends_on("r-rhdf5lib@1.1.4:", type=("build", "run"), when="@1.2.1")
+ depends_on("r-hdf5array", type=("build", "run"), when="@1.0.2:1.4.0")
+ depends_on("r-hdf5array@1.7.3:", type=("build", "run"), when="@1.2.1")
+ depends_on("r-hdf5array@1.9.5:", type=("build", "run"), when="@1.4.0")
+ depends_on("r-rhdf5", type=("build", "run"), when="@1.0.2:1.4.0")
diff --git a/var/spack/repos/builtin/packages/r-beanplot/package.py b/var/spack/repos/builtin/packages/r-beanplot/package.py
index 23b8d701b2..7575cabe02 100644
--- a/var/spack/repos/builtin/packages/r-beanplot/package.py
+++ b/var/spack/repos/builtin/packages/r-beanplot/package.py
@@ -14,5 +14,5 @@ class RBeanplot(RPackage):
cran = "beanplot"
- version('1.3.1', sha256='49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad')
- version('1.2', sha256='49da299139a47171c5b4ccdea79ffbbc152894e05d552e676f135147c0c9b372')
+ version("1.3.1", sha256="49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad")
+ version("1.2", sha256="49da299139a47171c5b4ccdea79ffbbc152894e05d552e676f135147c0c9b372")
diff --git a/var/spack/repos/builtin/packages/r-beeswarm/package.py b/var/spack/repos/builtin/packages/r-beeswarm/package.py
index 83d8ea5fe9..cb9f967c45 100644
--- a/var/spack/repos/builtin/packages/r-beeswarm/package.py
+++ b/var/spack/repos/builtin/packages/r-beeswarm/package.py
@@ -14,5 +14,5 @@ class RBeeswarm(RPackage):
cran = "beeswarm"
- version('0.4.0', sha256='51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504')
- version('0.2.3', sha256='0115425e210dced05da8e162c8455526a47314f72e441ad2a33dcab3f94ac843')
+ version("0.4.0", sha256="51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504")
+ version("0.2.3", sha256="0115425e210dced05da8e162c8455526a47314f72e441ad2a33dcab3f94ac843")
diff --git a/var/spack/repos/builtin/packages/r-bfast/package.py b/var/spack/repos/builtin/packages/r-bfast/package.py
index b9ad3e190b..90657b3781 100644
--- a/var/spack/repos/builtin/packages/r-bfast/package.py
+++ b/var/spack/repos/builtin/packages/r-bfast/package.py
@@ -27,17 +27,17 @@ class RBfast(RPackage):
cran = "bfast"
- version('1.6.1', sha256='aaf479af1924691cbec8c67c68005c00d97cead51b2b44863c18acd4cea453ee')
- version('1.5.7', sha256='01585fe8944d05ebdb13795214077bc1365f0c0372e2a1f7edb914356dace558')
-
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-strucchangercpp', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-forecast', type=('build', 'run'))
- depends_on('r-rcpp@0.12.7:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-rdpack@0.7:', type=('build', 'run'), when='@1.6.1:')
-
- depends_on('r-strucchange', type=('build', 'run'), when='@:1.5.7')
- depends_on('r-sp', type=('build', 'run'), when='@:1.5.7')
- depends_on('r-raster', type=('build', 'run'), when='@:1.5.7')
+ version("1.6.1", sha256="aaf479af1924691cbec8c67c68005c00d97cead51b2b44863c18acd4cea453ee")
+ version("1.5.7", sha256="01585fe8944d05ebdb13795214077bc1365f0c0372e2a1f7edb914356dace558")
+
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-strucchangercpp", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-forecast", type=("build", "run"))
+ depends_on("r-rcpp@0.12.7:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-rdpack@0.7:", type=("build", "run"), when="@1.6.1:")
+
+ depends_on("r-strucchange", type=("build", "run"), when="@:1.5.7")
+ depends_on("r-sp", type=("build", "run"), when="@:1.5.7")
+ depends_on("r-raster", type=("build", "run"), when="@:1.5.7")
diff --git a/var/spack/repos/builtin/packages/r-bfastspatial/package.py b/var/spack/repos/builtin/packages/r-bfastspatial/package.py
index 0c0c4b87c7..4896107f84 100644
--- a/var/spack/repos/builtin/packages/r-bfastspatial/package.py
+++ b/var/spack/repos/builtin/packages/r-bfastspatial/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class RBfastspatial(RPackage):
"""Pre-process gridded time-series data in order for them to be
- analyzed with change detection algorithms such as bfast. Uses classes
- from the raster package and includes utilities to run the algorithms and
- post-process the results."""
+ analyzed with change detection algorithms such as bfast. Uses classes
+ from the raster package and includes utilities to run the algorithms and
+ post-process the results."""
homepage = "https://github.com/loicdtx/bfastSpatial"
- url = "https://github.com/loicdtx/bfastSpatial/archive/0.6.2.tar.gz"
+ url = "https://github.com/loicdtx/bfastSpatial/archive/0.6.2.tar.gz"
- version('0.6.2', sha256='2c6220a5d04d6e4531b0b022a015651e630433f8d6864fa8b820aed5af5c1897')
+ version("0.6.2", sha256="2c6220a5d04d6e4531b0b022a015651e630433f8d6864fa8b820aed5af5c1897")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-bfast', type=('build', 'run'))
- depends_on('r-gdalutils', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-rgdal', type=('build', 'run'))
- depends_on('r-bitops', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-bfast", type=("build", "run"))
+ depends_on("r-gdalutils", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-rgdal", type=("build", "run"))
+ depends_on("r-bitops", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bglr/package.py b/var/spack/repos/builtin/packages/r-bglr/package.py
index 9a4072ba22..eecdb5900c 100644
--- a/var/spack/repos/builtin/packages/r-bglr/package.py
+++ b/var/spack/repos/builtin/packages/r-bglr/package.py
@@ -11,10 +11,10 @@ class RBglr(RPackage):
cran = "BGLR"
- version('1.1.0', sha256='97c5bb8a461eb408e907693811b2d917efc993000da06591a83a3f5529451ea7')
- version('1.0.9', sha256='440a96f9f502e0d6ecc8c00720d1ccdbab5ee8223e1def6c930edaa9a9de9099')
- version('1.0.8', sha256='5e969590d80b2f272c02a43b487ab1ffa13af386e0342993e6ac484fc82c9b95')
+ version("1.1.0", sha256="97c5bb8a461eb408e907693811b2d917efc993000da06591a83a3f5529451ea7")
+ version("1.0.9", sha256="440a96f9f502e0d6ecc8c00720d1ccdbab5ee8223e1def6c930edaa9a9de9099")
+ version("1.0.8", sha256="5e969590d80b2f272c02a43b487ab1ffa13af386e0342993e6ac484fc82c9b95")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-truncnorm', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'), when='@1.0.9:')
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-truncnorm", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"), when="@1.0.9:")
diff --git a/var/spack/repos/builtin/packages/r-bh/package.py b/var/spack/repos/builtin/packages/r-bh/package.py
index b9a39c197c..b7bc44aa29 100644
--- a/var/spack/repos/builtin/packages/r-bh/package.py
+++ b/var/spack/repos/builtin/packages/r-bh/package.py
@@ -26,9 +26,9 @@ class RBh(RPackage):
cran = "BH"
- version('1.78.0-0', sha256='3b9e9d07682013e0c06a396dda176b405eab99a7273eca6c40d1b4c4110e8cb3')
- version('1.75.0-0', sha256='ae4c10992607dd697663f60675a46a5770851da159330bb63c4a68890bdd6f5a')
- version('1.72.0-3', sha256='888ec1a3316bb69e1ba749b08ba7e0903ebc4742e3a185de8d148c13cddac8ab')
- version('1.69.0-1', sha256='a0fd4364b7e368f09c56dec030823f52c16da0787580af7e4615eddeb99baca2')
- version('1.65.0-1', sha256='82baa78afe8f1edc3c7e84e1c9924321047e14c1e990df9b848407baf3f7cb58')
- version('1.60.0-2', sha256='e441aede925d760dc0142be77079ebd7a46f2392772b875cde6ca567dd49c48c')
+ version("1.78.0-0", sha256="3b9e9d07682013e0c06a396dda176b405eab99a7273eca6c40d1b4c4110e8cb3")
+ version("1.75.0-0", sha256="ae4c10992607dd697663f60675a46a5770851da159330bb63c4a68890bdd6f5a")
+ version("1.72.0-3", sha256="888ec1a3316bb69e1ba749b08ba7e0903ebc4742e3a185de8d148c13cddac8ab")
+ version("1.69.0-1", sha256="a0fd4364b7e368f09c56dec030823f52c16da0787580af7e4615eddeb99baca2")
+ version("1.65.0-1", sha256="82baa78afe8f1edc3c7e84e1c9924321047e14c1e990df9b848407baf3f7cb58")
+ version("1.60.0-2", sha256="e441aede925d760dc0142be77079ebd7a46f2392772b875cde6ca567dd49c48c")
diff --git a/var/spack/repos/builtin/packages/r-biasedurn/package.py b/var/spack/repos/builtin/packages/r-biasedurn/package.py
index 1fe9afb023..392458a0ac 100644
--- a/var/spack/repos/builtin/packages/r-biasedurn/package.py
+++ b/var/spack/repos/builtin/packages/r-biasedurn/package.py
@@ -18,4 +18,4 @@ class RBiasedurn(RPackage):
cran = "BiasedUrn"
- version('1.07', sha256='2377c2e59d68e758a566452d7e07e88663ae61a182b9ee455d8b4269dda3228e')
+ version("1.07", sha256="2377c2e59d68e758a566452d7e07e88663ae61a182b9ee455d8b4269dda3228e")
diff --git a/var/spack/repos/builtin/packages/r-bibtex/package.py b/var/spack/repos/builtin/packages/r-bibtex/package.py
index b3fdec46d1..7f78d4e0a9 100644
--- a/var/spack/repos/builtin/packages/r-bibtex/package.py
+++ b/var/spack/repos/builtin/packages/r-bibtex/package.py
@@ -13,8 +13,8 @@ class RBibtex(RPackage):
cran = "bibtex"
- version('0.4.2.3', sha256='7bad194920b412781ac9754ad41058d52d3cd7186e1851c2bce3640490e9bc6d')
- version('0.4.2', sha256='1f06ab3660c940405230ad16ff6e4ba38d4418a59cd9b16d78a4349f8b488372')
+ version("0.4.2.3", sha256="7bad194920b412781ac9754ad41058d52d3cd7186e1851c2bce3640490e9bc6d")
+ version("0.4.2", sha256="1f06ab3660c940405230ad16ff6e4ba38d4418a59cd9b16d78a4349f8b488372")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bigalgebra/package.py b/var/spack/repos/builtin/packages/r-bigalgebra/package.py
index c05da5488d..b8285607cf 100644
--- a/var/spack/repos/builtin/packages/r-bigalgebra/package.py
+++ b/var/spack/repos/builtin/packages/r-bigalgebra/package.py
@@ -20,11 +20,11 @@ class RBigalgebra(RPackage):
cran = "bigalgebra"
- version('1.1.0', sha256='e51530287a64826a3dfb55f41594bc8123b7b4c9b2074f6c8de218fa8b525734')
- version('1.0.1', sha256='ff7e261d0aa0e0f498e926d923ac62fc5cb783fa1f74bb2ff76a09167388a9d2')
- version('1.0.0', sha256='f186b603bd660be0cc5b7a52c943e23e92fef264f0bc96a8858e38df6cfc4085')
- version('0.8.4.2', sha256='29962468cbfa6416f8628563d5ed8c9f76089190311ff1c618f099ee8d9eea75')
+ version("1.1.0", sha256="e51530287a64826a3dfb55f41594bc8123b7b4c9b2074f6c8de218fa8b525734")
+ version("1.0.1", sha256="ff7e261d0aa0e0f498e926d923ac62fc5cb783fa1f74bb2ff76a09167388a9d2")
+ version("1.0.0", sha256="f186b603bd660be0cc5b7a52c943e23e92fef264f0bc96a8858e38df6cfc4085")
+ version("0.8.4.2", sha256="29962468cbfa6416f8628563d5ed8c9f76089190311ff1c618f099ee8d9eea75")
- depends_on('r-bigmemory@4.0.0:', type=('build', 'run'))
- depends_on('r-bh', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'), when='@1.0.0:')
+ depends_on("r-bigmemory@4.0.0:", type=("build", "run"))
+ depends_on("r-bh", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"), when="@1.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-bigmemory-sri/package.py b/var/spack/repos/builtin/packages/r-bigmemory-sri/package.py
index c3f7e1dc7c..952389f8c7 100644
--- a/var/spack/repos/builtin/packages/r-bigmemory-sri/package.py
+++ b/var/spack/repos/builtin/packages/r-bigmemory-sri/package.py
@@ -14,4 +14,4 @@ class RBigmemorySri(RPackage):
cran = "bigmemory.sri"
- version('0.1.3', sha256='55403252d8bae9627476d1f553236ea5dc7aa6e54da6980526a6cdc66924e155')
+ version("0.1.3", sha256="55403252d8bae9627476d1f553236ea5dc7aa6e54da6980526a6cdc66924e155")
diff --git a/var/spack/repos/builtin/packages/r-bigmemory/package.py b/var/spack/repos/builtin/packages/r-bigmemory/package.py
index 15f1285949..773bc0b54b 100644
--- a/var/spack/repos/builtin/packages/r-bigmemory/package.py
+++ b/var/spack/repos/builtin/packages/r-bigmemory/package.py
@@ -16,11 +16,11 @@ class RBigmemory(RPackage):
cran = "bigmemory"
- version('4.6.1', sha256='b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141')
- version('4.5.36', sha256='18c67fbe6344b2f8223456c4f19ceebcf6c1166255eab81311001fd67a45ef0e')
+ version("4.6.1", sha256="b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141")
+ version("4.5.36", sha256="18c67fbe6344b2f8223456c4f19ceebcf6c1166255eab81311001fd67a45ef0e")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-bigmemory-sri', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-uuid@1.0-2:', type=('build', 'run'), when='@4.6.1:')
- depends_on('r-bh', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-bigmemory-sri", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-uuid@1.0-2:", type=("build", "run"), when="@4.6.1:")
+ depends_on("r-bh", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bindr/package.py b/var/spack/repos/builtin/packages/r-bindr/package.py
index 4f44fddcbe..db9b384fc1 100644
--- a/var/spack/repos/builtin/packages/r-bindr/package.py
+++ b/var/spack/repos/builtin/packages/r-bindr/package.py
@@ -14,5 +14,5 @@ class RBindr(RPackage):
cran = "bindr"
- version('0.1.1', sha256='7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0')
- version('0.1', sha256='cca166612eeafd6e1c961b34aaf177f9b47f8b4bc37520e277b9920eaa8b2535')
+ version("0.1.1", sha256="7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0")
+ version("0.1", sha256="cca166612eeafd6e1c961b34aaf177f9b47f8b4bc37520e277b9920eaa8b2535")
diff --git a/var/spack/repos/builtin/packages/r-bindrcpp/package.py b/var/spack/repos/builtin/packages/r-bindrcpp/package.py
index c7c145c0f9..96b184d188 100644
--- a/var/spack/repos/builtin/packages/r-bindrcpp/package.py
+++ b/var/spack/repos/builtin/packages/r-bindrcpp/package.py
@@ -14,9 +14,9 @@ class RBindrcpp(RPackage):
cran = "bindrcpp"
- version('0.2.2', sha256='48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467')
- version('0.2', sha256='d0efa1313cb8148880f7902a4267de1dcedae916f28d9a0ef5911f44bf103450')
+ version("0.2.2", sha256="48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467")
+ version("0.2", sha256="d0efa1313cb8148880f7902a4267de1dcedae916f28d9a0ef5911f44bf103450")
- depends_on('r-rcpp@0.12.16:', type=('build', 'run'))
- depends_on('r-bindr@0.1.1:', type=('build', 'run'))
- depends_on('r-plogr', type=('build', 'run'))
+ depends_on("r-rcpp@0.12.16:", type=("build", "run"))
+ depends_on("r-bindr@0.1.1:", type=("build", "run"))
+ depends_on("r-plogr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bio3d/package.py b/var/spack/repos/builtin/packages/r-bio3d/package.py
index 3957c3ebcc..fe927a28d3 100644
--- a/var/spack/repos/builtin/packages/r-bio3d/package.py
+++ b/var/spack/repos/builtin/packages/r-bio3d/package.py
@@ -24,10 +24,10 @@ class RBio3d(RPackage):
cran = "bio3d"
- version('2.4-3', sha256='c6031f0d9033260a938171d0fa70720962e352935eb7bd2ddb9b92b93abe6a74')
- version('2.4-2', sha256='91415766cda0f96557e6bc568dbce8d44254a9460f2e2d0beed0ce14ffad6ccb')
- version('2.4-1', sha256='679fbd87fe9fb82a65427d281d3b68906509e411270cd87d2deb95d404333c1f')
- version('2.3-4', sha256='f9b39ab242cbedafcd98c1732cb1f5c0dd9ef66e28be39695e3420dd93e2bafe')
+ version("2.4-3", sha256="c6031f0d9033260a938171d0fa70720962e352935eb7bd2ddb9b92b93abe6a74")
+ version("2.4-2", sha256="91415766cda0f96557e6bc568dbce8d44254a9460f2e2d0beed0ce14ffad6ccb")
+ version("2.4-1", sha256="679fbd87fe9fb82a65427d281d3b68906509e411270cd87d2deb95d404333c1f")
+ version("2.3-4", sha256="f9b39ab242cbedafcd98c1732cb1f5c0dd9ef66e28be39695e3420dd93e2bafe")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biobase/package.py b/var/spack/repos/builtin/packages/r-biobase/package.py
index 1cde45a432..8c70568a68 100644
--- a/var/spack/repos/builtin/packages/r-biobase/package.py
+++ b/var/spack/repos/builtin/packages/r-biobase/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RBiobase(RPackage):
"""Biobase: Base functions for Bioconductor.
- Functions that are needed by many other packages or which replace R
- functions."""
+ Functions that are needed by many other packages or which replace R
+ functions."""
bioc = "Biobase"
- version('2.56.0', commit='3b2dd91b333677c2f27257c7624014a55e73c52b')
- version('2.54.0', commit='8215d76ce44899e6d10fe8a2f503821a94ef6b40')
- version('2.50.0', commit='9927f90d0676382f2f99e099d8d2c8e2e6f1b4de')
- version('2.44.0', commit='bde2077f66047986297ec35a688751cdce150dd3')
- version('2.42.0', commit='3e5bd466b99e3cc4af1b0c3b32687fa56d6f8e4d')
- version('2.40.0', commit='6555edbbcb8a04185ef402bfdea7ed8ac72513a5')
- version('2.38.0', commit='83f89829e0278ac014b0bc6664e621ac147ba424')
- version('2.36.2', commit='15f50912f3fa08ccb15c33b7baebe6b8a59ce075')
+ version("2.56.0", commit="3b2dd91b333677c2f27257c7624014a55e73c52b")
+ version("2.54.0", commit="8215d76ce44899e6d10fe8a2f503821a94ef6b40")
+ version("2.50.0", commit="9927f90d0676382f2f99e099d8d2c8e2e6f1b4de")
+ version("2.44.0", commit="bde2077f66047986297ec35a688751cdce150dd3")
+ version("2.42.0", commit="3e5bd466b99e3cc4af1b0c3b32687fa56d6f8e4d")
+ version("2.40.0", commit="6555edbbcb8a04185ef402bfdea7ed8ac72513a5")
+ version("2.38.0", commit="83f89829e0278ac014b0bc6664e621ac147ba424")
+ version("2.36.2", commit="15f50912f3fa08ccb15c33b7baebe6b8a59ce075")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.3.2:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.27.1:', type=('build', 'run'), when='@2.42.0:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.3.2:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.27.1:", type=("build", "run"), when="@2.42.0:")
diff --git a/var/spack/repos/builtin/packages/r-biocfilecache/package.py b/var/spack/repos/builtin/packages/r-biocfilecache/package.py
index b74191ad15..32b253a9fd 100644
--- a/var/spack/repos/builtin/packages/r-biocfilecache/package.py
+++ b/var/spack/repos/builtin/packages/r-biocfilecache/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RBiocfilecache(RPackage):
"""Manage Files Across Sessions.
- This package creates a persistent on-disk cache of files that the user
- can add, update, and retrieve. It is useful for managing resources (such
- as custom Txdb objects) that are costly or difficult to create, web
- resources, and data files used across sessions."""
+ This package creates a persistent on-disk cache of files that the user
+ can add, update, and retrieve. It is useful for managing resources (such
+ as custom Txdb objects) that are costly or difficult to create, web
+ resources, and data files used across sessions."""
bioc = "BiocFileCache"
- version('2.4.0', commit='2c00eee40d95fddad223f115f959b09e1a14f75d')
- version('2.2.1', commit='cc912123408803193bf37395f4d18baa8dcd6f47')
- version('1.14.0', commit='cdcde4b59ae73dda12aa225948dbd0a058d9be6d')
- version('1.8.0', commit='0e3542b6aae849b01240d8055a48da1b267bd5a0')
- version('1.6.0', commit='c2de6c1cdef6294e5d0adea31e4ebf25865742ba')
- version('1.4.0', commit='a2c473d17f78899c7899b9638faea8c30735eb80')
- version('1.2.3', commit='d78bf5b46c8a329f5ddef879fe51230444bc42f8')
- version('1.0.1', commit='dbf4e8dd4d8d9f475066cd033481efe95c56df75')
+ version("2.4.0", commit="2c00eee40d95fddad223f115f959b09e1a14f75d")
+ version("2.2.1", commit="cc912123408803193bf37395f4d18baa8dcd6f47")
+ version("1.14.0", commit="cdcde4b59ae73dda12aa225948dbd0a058d9be6d")
+ version("1.8.0", commit="0e3542b6aae849b01240d8055a48da1b267bd5a0")
+ version("1.6.0", commit="c2de6c1cdef6294e5d0adea31e4ebf25865742ba")
+ version("1.4.0", commit="a2c473d17f78899c7899b9638faea8c30735eb80")
+ version("1.2.3", commit="d78bf5b46c8a329f5ddef879fe51230444bc42f8")
+ version("1.0.1", commit="dbf4e8dd4d8d9f475066cd033481efe95c56df75")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-dbplyr@1.0.0:', type=('build', 'run'), when='@1.2.3:')
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
- depends_on('r-filelock', type=('build', 'run'), when='@2.2.1:')
- depends_on('r-curl', type=('build', 'run'), when='@1.6.0:')
- depends_on('r-httr', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-dbplyr@1.0.0:", type=("build", "run"), when="@1.2.3:")
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
+ depends_on("r-filelock", type=("build", "run"), when="@2.2.1:")
+ depends_on("r-curl", type=("build", "run"), when="@1.6.0:")
+ depends_on("r-httr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biocgenerics/package.py b/var/spack/repos/builtin/packages/r-biocgenerics/package.py
index 37f6a1c350..758593b153 100644
--- a/var/spack/repos/builtin/packages/r-biocgenerics/package.py
+++ b/var/spack/repos/builtin/packages/r-biocgenerics/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RBiocgenerics(RPackage):
"""S4 generic functions used in Bioconductor.
- The package defines S4 generic functions used in Bioconductor."""
+ The package defines S4 generic functions used in Bioconductor."""
bioc = "BiocGenerics"
- version('0.42.0', commit='3582d47b836387afc08157f3d6a5013fd64334ed')
- version('0.40.0', commit='0bc1e0ed4d20c7101cd782a14f6373e27478acfc')
- version('0.36.0', commit='0d5d169d7d64d648a22f9043837c93bc784e71ed')
- version('0.34.0', commit='f7c2020')
- version('0.30.0', commit='fc7c3af4a5635a30988a062ed09332c13ca1d1a8')
- version('0.28.0', commit='041fc496504f2ab1d4d863fffb23372db214394b')
- version('0.26.0', commit='5b2a6df639e48c3cd53789e0b174aec9dda6b67d')
- version('0.24.0', commit='3db111e8c1f876267da89f4f0c5406a9d5c31cd1')
- version('0.22.1', commit='9c90bb8926885289d596a81ff318ee3745cbb6ad')
+ version("0.42.0", commit="3582d47b836387afc08157f3d6a5013fd64334ed")
+ version("0.40.0", commit="0bc1e0ed4d20c7101cd782a14f6373e27478acfc")
+ version("0.36.0", commit="0d5d169d7d64d648a22f9043837c93bc784e71ed")
+ version("0.34.0", commit="f7c2020")
+ version("0.30.0", commit="fc7c3af4a5635a30988a062ed09332c13ca1d1a8")
+ version("0.28.0", commit="041fc496504f2ab1d4d863fffb23372db214394b")
+ version("0.26.0", commit="5b2a6df639e48c3cd53789e0b174aec9dda6b67d")
+ version("0.24.0", commit="3db111e8c1f876267da89f4f0c5406a9d5c31cd1")
+ version("0.22.1", commit="9c90bb8926885289d596a81ff318ee3745cbb6ad")
- depends_on('r@3.6.0:', type=('build', 'run'), when='@0.30.0:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.36.0:')
+ depends_on("r@3.6.0:", type=("build", "run"), when="@0.30.0:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.36.0:")
diff --git a/var/spack/repos/builtin/packages/r-biocinstaller/package.py b/var/spack/repos/builtin/packages/r-biocinstaller/package.py
index 39ec9cdd07..6e71ae2d8f 100644
--- a/var/spack/repos/builtin/packages/r-biocinstaller/package.py
+++ b/var/spack/repos/builtin/packages/r-biocinstaller/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class RBiocinstaller(RPackage):
"""Install/Update Bioconductor, CRAN, and github Packages.
- This package is used to install and update Bioconductor, CRAN, and
- (some) github packages."""
+ This package is used to install and update Bioconductor, CRAN, and
+ (some) github packages."""
bioc = "BiocInstaller"
- version('1.33.1', commit='6193f31c18e7e64d91e0e15ed0ba6924eda1416f')
- version('1.32.1', commit='4c2a39e1cae470af3a5cf1491715f272b70f4bb4')
- version('1.30.0', commit='27bcb7a378cb5d8b5d23b7b840340463f7e090bc')
- version('1.28.0', commit='7261763529a0a1f730cde8a1bbdbf454c3e25603')
- version('1.26.1', commit='9049b82a77aefa98e3f8e4dd7068317505d70e98')
+ version("1.33.1", commit="6193f31c18e7e64d91e0e15ed0ba6924eda1416f")
+ version("1.32.1", commit="4c2a39e1cae470af3a5cf1491715f272b70f4bb4")
+ version("1.30.0", commit="27bcb7a378cb5d8b5d23b7b840340463f7e090bc")
+ version("1.28.0", commit="7261763529a0a1f730cde8a1bbdbf454c3e25603")
+ version("1.26.1", commit="9049b82a77aefa98e3f8e4dd7068317505d70e98")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.30.0:')
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.30.0:")
diff --git a/var/spack/repos/builtin/packages/r-biocio/package.py b/var/spack/repos/builtin/packages/r-biocio/package.py
index 59b127844a..8a48770230 100644
--- a/var/spack/repos/builtin/packages/r-biocio/package.py
+++ b/var/spack/repos/builtin/packages/r-biocio/package.py
@@ -22,9 +22,9 @@ class RBiocio(RPackage):
bioc = "BiocIO"
- version('1.6.0', commit='60c8aa1a961e43bf0ee5d563a6d9fcec84f7f8f8')
- version('1.4.0', commit='c335932526a38c75dbfa4970c1d90b8a21466d37')
+ version("1.6.0", commit="60c8aa1a961e43bf0ee5d563a6d9fcec84f7f8f8")
+ version("1.4.0", commit="c335932526a38c75dbfa4970c1d90b8a21466d37")
- depends_on('r@4.0.0:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
+ depends_on("r@4.0.0:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biocmanager/package.py b/var/spack/repos/builtin/packages/r-biocmanager/package.py
index f8e9685614..e32de72608 100644
--- a/var/spack/repos/builtin/packages/r-biocmanager/package.py
+++ b/var/spack/repos/builtin/packages/r-biocmanager/package.py
@@ -13,6 +13,6 @@ class RBiocmanager(RPackage):
cran = "BiocManager"
- version('1.30.18', sha256='f763126b45614e1b83260da5311923eac50db24002f3c22fa5f667434a5b5c35')
- version('1.30.16', sha256='75a754a55192ef6aa6ac9b054fd5381ff03fe6bb8b2e033eb8143da930ef3855')
- version('1.30.10', sha256='f3b7a412b42be0ab8df5fcd9bf981876ba9e5c55bc5faaca7af7ede3b6d0c90e')
+ version("1.30.18", sha256="f763126b45614e1b83260da5311923eac50db24002f3c22fa5f667434a5b5c35")
+ version("1.30.16", sha256="75a754a55192ef6aa6ac9b054fd5381ff03fe6bb8b2e033eb8143da930ef3855")
+ version("1.30.10", sha256="f3b7a412b42be0ab8df5fcd9bf981876ba9e5c55bc5faaca7af7ede3b6d0c90e")
diff --git a/var/spack/repos/builtin/packages/r-biocneighbors/package.py b/var/spack/repos/builtin/packages/r-biocneighbors/package.py
index 890455d5d3..1ce09e75bf 100644
--- a/var/spack/repos/builtin/packages/r-biocneighbors/package.py
+++ b/var/spack/repos/builtin/packages/r-biocneighbors/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class RBiocneighbors(RPackage):
"""Nearest Neighbor Detection for Bioconductor Packages.
- Implements exact and approximate methods for nearest neighbor detection,
- in a framework that allows them to be easily switched within
- Bioconductor packages or workflows. Exact searches can be performed
- using the k-means for k-nearest neighbors algorithm or with vantage
- point trees. Approximate searches can be performed using the Annoy or
- HNSW libraries. Searching on either Euclidean or Manhattan distances is
- supported. Parallelization is achieved for all methods by using
- BiocParallel. Functions are also provided to search for all neighbors
- within a given distance."""
+ Implements exact and approximate methods for nearest neighbor detection,
+ in a framework that allows them to be easily switched within
+ Bioconductor packages or workflows. Exact searches can be performed
+ using the k-means for k-nearest neighbors algorithm or with vantage
+ point trees. Approximate searches can be performed using the Annoy or
+ HNSW libraries. Searching on either Euclidean or Manhattan distances is
+ supported. Parallelization is achieved for all methods by using
+ BiocParallel. Functions are also provided to search for all neighbors
+ within a given distance."""
bioc = "BiocNeighbors"
- version('1.14.0', commit='670a1bd4d82636d28fbff50cea2157e16bb1a858')
- version('1.12.0', commit='3c8a290f75adc944b408e6e77a36f3a0c1509c4c')
- version('1.8.2', commit='889bc91f8cb45d210b47ae5c0b9cfb86fb071ca2')
- version('1.2.0', commit='f754c6300f835142536a4594ddf750481e0fe273')
- version('1.0.0', commit='e252fc04b6d22097f2c5f74406e77d85e7060770')
-
- depends_on('r@3.5:', type=('build', 'run'), when='@1.0.0')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'), when='@1.8.2:')
- depends_on('r-rcpphnsw', type=('build', 'run'), when='@1.2.0:')
-
- depends_on('r-rcppannoy', type=('build', 'run'), when='@:1.2.0')
- depends_on('r-biocgenerics', type=('build', 'run'), when='@1.2.0')
+ version("1.14.0", commit="670a1bd4d82636d28fbff50cea2157e16bb1a858")
+ version("1.12.0", commit="3c8a290f75adc944b408e6e77a36f3a0c1509c4c")
+ version("1.8.2", commit="889bc91f8cb45d210b47ae5c0b9cfb86fb071ca2")
+ version("1.2.0", commit="f754c6300f835142536a4594ddf750481e0fe273")
+ version("1.0.0", commit="e252fc04b6d22097f2c5f74406e77d85e7060770")
+
+ depends_on("r@3.5:", type=("build", "run"), when="@1.0.0")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"), when="@1.8.2:")
+ depends_on("r-rcpphnsw", type=("build", "run"), when="@1.2.0:")
+
+ depends_on("r-rcppannoy", type=("build", "run"), when="@:1.2.0")
+ depends_on("r-biocgenerics", type=("build", "run"), when="@1.2.0")
diff --git a/var/spack/repos/builtin/packages/r-biocparallel/package.py b/var/spack/repos/builtin/packages/r-biocparallel/package.py
index 14ad2c1a50..f1a13d964f 100644
--- a/var/spack/repos/builtin/packages/r-biocparallel/package.py
+++ b/var/spack/repos/builtin/packages/r-biocparallel/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class RBiocparallel(RPackage):
"""Bioconductor facilities for parallel evaluation.
- This package provides modified versions and novel implementation of
- functions for parallel evaluation, tailored to use with Bioconductor
- objects."""
+ This package provides modified versions and novel implementation of
+ functions for parallel evaluation, tailored to use with Bioconductor
+ objects."""
bioc = "BiocParallel"
- version('1.30.2', commit='e7e109f7a94dbfbc50f926be030c7ad8c1a053db')
- version('1.28.3', commit='2f9d88ad83659939e7911d49c2d24d2cd599c7cc')
- version('1.24.1', commit='f713caa4314ec0ddeba7fe0eb599ad417efb413f')
- version('1.18.1', commit='348264af782d7dcd41a1879400f348f836767f6e')
- version('1.16.6', commit='7f7a54c47f4949b600b9fd568289a519496bc4d4')
- version('1.14.2', commit='1d5a44960b19e9dbbca04c7290c8c58b0a7fc299')
- version('1.12.0', commit='2143a9addceed0151a27b95c70aadd2add5cbace')
- version('1.10.1', commit='a76c58cf99fd585ba5ea33065649e68f1afe0a7d')
+ version("1.30.2", commit="e7e109f7a94dbfbc50f926be030c7ad8c1a053db")
+ version("1.28.3", commit="2f9d88ad83659939e7911d49c2d24d2cd599c7cc")
+ version("1.24.1", commit="f713caa4314ec0ddeba7fe0eb599ad417efb413f")
+ version("1.18.1", commit="348264af782d7dcd41a1879400f348f836767f6e")
+ version("1.16.6", commit="7f7a54c47f4949b600b9fd568289a519496bc4d4")
+ version("1.14.2", commit="1d5a44960b19e9dbbca04c7290c8c58b0a7fc299")
+ version("1.12.0", commit="2143a9addceed0151a27b95c70aadd2add5cbace")
+ version("1.10.1", commit="a76c58cf99fd585ba5ea33065649e68f1afe0a7d")
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.28.3:')
- depends_on('r-futile-logger', type=('build', 'run'))
- depends_on('r-snow', type=('build', 'run'))
- depends_on('r-bh', type=('build', 'run'), when='@1.12.0:')
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.28.3:")
+ depends_on("r-futile-logger", type=("build", "run"))
+ depends_on("r-snow", type=("build", "run"))
+ depends_on("r-bh", type=("build", "run"), when="@1.12.0:")
diff --git a/var/spack/repos/builtin/packages/r-biocsingular/package.py b/var/spack/repos/builtin/packages/r-biocsingular/package.py
index c1bd782b07..f243753aef 100644
--- a/var/spack/repos/builtin/packages/r-biocsingular/package.py
+++ b/var/spack/repos/builtin/packages/r-biocsingular/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class RBiocsingular(RPackage):
"""Singular Value Decomposition for Bioconductor Packages.
- Implements exact and approximate methods for singular value
- decomposition and principal components analysis, in a framework that
- allows them to be easily switched within Bioconductor packages or
- workflows. Where possible, parallelization is achieved using the
- BiocParallel framework."""
+ Implements exact and approximate methods for singular value
+ decomposition and principal components analysis, in a framework that
+ allows them to be easily switched within Bioconductor packages or
+ workflows. Where possible, parallelization is achieved using the
+ BiocParallel framework."""
bioc = "BiocSingular"
- version('1.12.0', commit='7d1b8f4954e9e6f2c30a5111cdab9aabc8bcc3a6')
- version('1.10.0', commit='6615ae8cb124aba6507447c1081bd2eba655e57d')
- version('1.6.0', commit='11baf1080d6f791439cd5d97357589d6451643d9')
- version('1.0.0', commit='d2b091c072d0312698c9bb6611eb1bdf8aebf833')
+ version("1.12.0", commit="7d1b8f4954e9e6f2c30a5111cdab9aabc8bcc3a6")
+ version("1.10.0", commit="6615ae8cb124aba6507447c1081bd2eba655e57d")
+ version("1.6.0", commit="11baf1080d6f791439cd5d97357589d6451643d9")
+ version("1.0.0", commit="d2b091c072d0312698c9bb6611eb1bdf8aebf833")
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-delayedarray', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-scaledmatrix', type=('build', 'run'), when='@1.10.0:')
- depends_on('r-irlba', type=('build', 'run'))
- depends_on('r-rsvd', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-beachmat', type=('build', 'run'))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-delayedarray", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-scaledmatrix", type=("build", "run"), when="@1.10.0:")
+ depends_on("r-irlba", type=("build", "run"))
+ depends_on("r-rsvd", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-beachmat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biocstyle/package.py b/var/spack/repos/builtin/packages/r-biocstyle/package.py
index 42d8a4d67c..3f7806c856 100644
--- a/var/spack/repos/builtin/packages/r-biocstyle/package.py
+++ b/var/spack/repos/builtin/packages/r-biocstyle/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RBiocstyle(RPackage):
"""Standard styles for vignettes and other Bioconductor documents.
- Provides standard formatting styles for Bioconductor PDF and HTML
- documents. Package vignettes illustrate use and functionality."""
+ Provides standard formatting styles for Bioconductor PDF and HTML
+ documents. Package vignettes illustrate use and functionality."""
bioc = "BiocStyle"
- version('2.24.0', commit='53095b534b7e6c80a33a67b5f2db0db8f00db902')
- version('2.22.0', commit='86250b637afa3a3463fac939b99c0402b47876ea')
- version('2.18.1', commit='956f0654e8e18882ba09305742401128c9c7d47d')
- version('2.12.0', commit='0fba3fe6e6a38504f9aadcd3dc95bb83d7e92498')
- version('2.10.0', commit='8fc946044c6b6a8a3104ddbc546baed49ee3aa70')
- version('2.8.2', commit='3210c19ec1e5e0ed8d5a2d31da990aa47b42dbd8')
- version('2.6.1', commit='5ff52cbb439a45575d0f58c4f7a83195a8b7337b')
- version('2.4.1', commit='ef10764b68ac23a3a7a8ec3b6a6436187309c138')
+ version("2.24.0", commit="53095b534b7e6c80a33a67b5f2db0db8f00db902")
+ version("2.22.0", commit="86250b637afa3a3463fac939b99c0402b47876ea")
+ version("2.18.1", commit="956f0654e8e18882ba09305742401128c9c7d47d")
+ version("2.12.0", commit="0fba3fe6e6a38504f9aadcd3dc95bb83d7e92498")
+ version("2.10.0", commit="8fc946044c6b6a8a3104ddbc546baed49ee3aa70")
+ version("2.8.2", commit="3210c19ec1e5e0ed8d5a2d31da990aa47b42dbd8")
+ version("2.6.1", commit="5ff52cbb439a45575d0f58c4f7a83195a8b7337b")
+ version("2.4.1", commit="ef10764b68ac23a3a7a8ec3b6a6436187309c138")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-bookdown', type=('build', 'run'))
- depends_on('r-knitr@1.12:', type=('build', 'run'))
- depends_on('r-knitr@1.30:', type=('build', 'run'), when='@2.18.1:')
- depends_on('r-rmarkdown@1.2:', type=('build', 'run'))
- depends_on('r-yaml', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@2.10.0:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-bookdown", type=("build", "run"))
+ depends_on("r-knitr@1.12:", type=("build", "run"))
+ depends_on("r-knitr@1.30:", type=("build", "run"), when="@2.18.1:")
+ depends_on("r-rmarkdown@1.2:", type=("build", "run"))
+ depends_on("r-yaml", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@2.10.0:")
diff --git a/var/spack/repos/builtin/packages/r-biocversion/package.py b/var/spack/repos/builtin/packages/r-biocversion/package.py
index 89b214f947..0cb2d029c3 100644
--- a/var/spack/repos/builtin/packages/r-biocversion/package.py
+++ b/var/spack/repos/builtin/packages/r-biocversion/package.py
@@ -14,10 +14,10 @@ class RBiocversion(RPackage):
bioc = "BiocVersion"
- version('3.15.2', commit='818ab03b6a3551993b712e3702126040f9fb7600')
- version('3.14.0', commit='aa56d93d0ea5dcdbf301f120502981740fd91e1e')
- version('3.12.0', commit='23b971963c6b73550a7e330dab5a046d58ce0223')
+ version("3.15.2", commit="818ab03b6a3551993b712e3702126040f9fb7600")
+ version("3.14.0", commit="aa56d93d0ea5dcdbf301f120502981740fd91e1e")
+ version("3.12.0", commit="23b971963c6b73550a7e330dab5a046d58ce0223")
- depends_on('r@4.0.0:', type=('build', 'run'))
- depends_on('r@4.1.0:', type=('build', 'run'), when='@3.14.0:')
- depends_on('r@4.2.0:', type=('build', 'run'), when='@3.15.2:')
+ depends_on("r@4.0.0:", type=("build", "run"))
+ depends_on("r@4.1.0:", type=("build", "run"), when="@3.14.0:")
+ depends_on("r@4.2.0:", type=("build", "run"), when="@3.15.2:")
diff --git a/var/spack/repos/builtin/packages/r-biom-utils/package.py b/var/spack/repos/builtin/packages/r-biom-utils/package.py
index 5fe4a146cb..94b6016768 100644
--- a/var/spack/repos/builtin/packages/r-biom-utils/package.py
+++ b/var/spack/repos/builtin/packages/r-biom-utils/package.py
@@ -14,6 +14,6 @@ class RBiomUtils(RPackage):
cran = "BIOM.utils"
- version('0.9', sha256='e7024469fb38e275aa78fbfcce15b9a7661317f632a7e9b8124695e076839375')
+ version("0.9", sha256="e7024469fb38e275aa78fbfcce15b9a7661317f632a7e9b8124695e076839375")
- depends_on('r@3:', type=('build', 'run'))
+ depends_on("r@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biomart/package.py b/var/spack/repos/builtin/packages/r-biomart/package.py
index c06c1ef1a2..ea6974e11e 100644
--- a/var/spack/repos/builtin/packages/r-biomart/package.py
+++ b/var/spack/repos/builtin/packages/r-biomart/package.py
@@ -9,40 +9,40 @@ from spack.package import *
class RBiomart(RPackage):
"""Interface to BioMart databases (i.e. Ensembl).
- In recent years a wealth of biological data has become available in
- public data repositories. Easy access to these valuable data resources
- and firm integration with data analysis is needed for comprehensive
- bioinformatics data analysis. biomaRt provides an interface to a growing
- collection of databases implementing the BioMart software suite
- (<http://www.biomart.org>). The package enables retrieval of large
- amounts of data in a uniform way without the need to know the underlying
- database schemas or write complex SQL queries. The most prominent
- examples of BioMart databases are maintain by Ensembl, which provides
- biomaRt users direct access to a diverse set of data and enables a wide
- range of powerful online queries from gene annotation to database
- mining."""
+ In recent years a wealth of biological data has become available in
+ public data repositories. Easy access to these valuable data resources
+ and firm integration with data analysis is needed for comprehensive
+ bioinformatics data analysis. biomaRt provides an interface to a growing
+ collection of databases implementing the BioMart software suite
+ (<http://www.biomart.org>). The package enables retrieval of large
+ amounts of data in a uniform way without the need to know the underlying
+ database schemas or write complex SQL queries. The most prominent
+ examples of BioMart databases are maintain by Ensembl, which provides
+ biomaRt users direct access to a diverse set of data and enables a wide
+ range of powerful online queries from gene annotation to database
+ mining."""
bioc = "biomaRt"
- version('2.52.0', commit='cf4932ac02686da45ea36ff5137fa63cead8860b')
- version('2.50.3', commit='83a519ac13d73dc545cb6aafde5f4b5001e9e08f')
- version('2.46.2', commit='90d6abfdfa04259006f7b47efb10271ada76aec1')
- version('2.40.5', commit='ed9ddafb0d620168ea8e3ab4884f3457b8525c68')
- version('2.38.0', commit='16b997aba19a90a1c5fa64c442b1e7fcff99a658')
- version('2.36.1', commit='5634e57e20199f9dc1f8b927eb3893143fc02f4f')
- version('2.34.2', commit='a7030915fbc6120cc6812aefdedba423a207459b')
- version('2.32.1', commit='f84d74424fa599f6d08f8db4612ca09914a9087f')
-
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-xml@3.99-0.7:', type=('build', 'run'), when='@2.52.0:')
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-progress', type=('build', 'run'), when='@2.34.2:')
- depends_on('r-stringr', type=('build', 'run'), when='@2.34.2:')
- depends_on('r-httr', type=('build', 'run'), when='@2.34.2:')
- depends_on('r-digest', type=('build', 'run'), when='@2.50.3:')
- depends_on('r-biocfilecache', type=('build', 'run'), when='@2.46.2:')
- depends_on('r-rappdirs', type=('build', 'run'), when='@2.46.2:')
- depends_on('r-xml2', type=('build', 'run'), when='@2.46.2:')
-
- depends_on('r-rcurl', type=('build', 'run'), when='@:2.40.5')
- depends_on('r-openssl', type=('build', 'run'), when='@2.46.2')
+ version("2.52.0", commit="cf4932ac02686da45ea36ff5137fa63cead8860b")
+ version("2.50.3", commit="83a519ac13d73dc545cb6aafde5f4b5001e9e08f")
+ version("2.46.2", commit="90d6abfdfa04259006f7b47efb10271ada76aec1")
+ version("2.40.5", commit="ed9ddafb0d620168ea8e3ab4884f3457b8525c68")
+ version("2.38.0", commit="16b997aba19a90a1c5fa64c442b1e7fcff99a658")
+ version("2.36.1", commit="5634e57e20199f9dc1f8b927eb3893143fc02f4f")
+ version("2.34.2", commit="a7030915fbc6120cc6812aefdedba423a207459b")
+ version("2.32.1", commit="f84d74424fa599f6d08f8db4612ca09914a9087f")
+
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-xml@3.99-0.7:", type=("build", "run"), when="@2.52.0:")
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-progress", type=("build", "run"), when="@2.34.2:")
+ depends_on("r-stringr", type=("build", "run"), when="@2.34.2:")
+ depends_on("r-httr", type=("build", "run"), when="@2.34.2:")
+ depends_on("r-digest", type=("build", "run"), when="@2.50.3:")
+ depends_on("r-biocfilecache", type=("build", "run"), when="@2.46.2:")
+ depends_on("r-rappdirs", type=("build", "run"), when="@2.46.2:")
+ depends_on("r-xml2", type=("build", "run"), when="@2.46.2:")
+
+ depends_on("r-rcurl", type=("build", "run"), when="@:2.40.5")
+ depends_on("r-openssl", type=("build", "run"), when="@2.46.2")
diff --git a/var/spack/repos/builtin/packages/r-biomartr/package.py b/var/spack/repos/builtin/packages/r-biomartr/package.py
index d2a086f084..1fe422fe1e 100644
--- a/var/spack/repos/builtin/packages/r-biomartr/package.py
+++ b/var/spack/repos/builtin/packages/r-biomartr/package.py
@@ -23,27 +23,27 @@ class RBiomartr(RPackage):
cran = "biomartr"
- version('1.0.2', sha256='7fd6cccd915aa39e593fb7591107ab9792d98a119dd42f3f666e5184f4e42743')
- version('0.9.2', sha256='d88085696e9c5614828602254c33f2cdd3bbfeebc2f21a705eee3cb961097c89')
+ version("1.0.2", sha256="7fd6cccd915aa39e593fb7591107ab9792d98a119dd42f3f666e5184f4e42743")
+ version("0.9.2", sha256="d88085696e9c5614828602254c33f2cdd3bbfeebc2f21a705eee3cb961097c89")
- depends_on('r@3.1.1:', type=('build', 'run'), when='@1.0.2:')
- depends_on('r-biomart', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-data-table@1.9.4:', type=('build', 'run'))
- depends_on('r-dplyr@0.3.0:', type=('build', 'run'))
- depends_on('r-readr@0.2.2:', type=('build', 'run'), when='@0.9.2:')
- depends_on('r-readr@1.4.0:', type=('build', 'run'), when='@1.0.2:')
- depends_on('r-downloader@0.3:', type=('build', 'run'))
- depends_on('r-rcurl@1.95-4.5:', type=('build', 'run'))
- depends_on('r-xml@3.98-1.1:', type=('build', 'run'))
- depends_on('r-httr@0.6.1:', type=('build', 'run'))
- depends_on('r-stringr@0.6.2:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-r-utils', type=('build', 'run'))
- depends_on('r-philentropy', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'), when='@1.0.2:')
- depends_on('r-fs', type=('build', 'run'))
- depends_on('r-fs@1.3.1:', type=('build', 'run'), when='@0.9.2')
+ depends_on("r@3.1.1:", type=("build", "run"), when="@1.0.2:")
+ depends_on("r-biomart", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-data-table@1.9.4:", type=("build", "run"))
+ depends_on("r-dplyr@0.3.0:", type=("build", "run"))
+ depends_on("r-readr@0.2.2:", type=("build", "run"), when="@0.9.2:")
+ depends_on("r-readr@1.4.0:", type=("build", "run"), when="@1.0.2:")
+ depends_on("r-downloader@0.3:", type=("build", "run"))
+ depends_on("r-rcurl@1.95-4.5:", type=("build", "run"))
+ depends_on("r-xml@3.98-1.1:", type=("build", "run"))
+ depends_on("r-httr@0.6.1:", type=("build", "run"))
+ depends_on("r-stringr@0.6.2:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-r-utils", type=("build", "run"))
+ depends_on("r-philentropy", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"), when="@1.0.2:")
+ depends_on("r-fs", type=("build", "run"))
+ depends_on("r-fs@1.3.1:", type=("build", "run"), when="@0.9.2")
diff --git a/var/spack/repos/builtin/packages/r-biomformat/package.py b/var/spack/repos/builtin/packages/r-biomformat/package.py
index e156ad6c19..e4c8f0748e 100644
--- a/var/spack/repos/builtin/packages/r-biomformat/package.py
+++ b/var/spack/repos/builtin/packages/r-biomformat/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class RBiomformat(RPackage):
"""An interface package for the BIOM file format.
- This is an R package for interfacing with the BIOM format. This package
- includes basic tools for reading biom-format files, accessing and
- subsetting data tables from a biom object (which is more complex than a
- single table), as well as limited support for writing a biom-object back
- to a biom-format file. The design of this API is intended to match the
- python API and other tools included with the biom-format project, but
- with a decidedly "R flavor" that should be familiar to R users. This
- includes S4 classes and methods, as well as extensions of common core
- functions/methods."""
+ This is an R package for interfacing with the BIOM format. This package
+ includes basic tools for reading biom-format files, accessing and
+ subsetting data tables from a biom object (which is more complex than a
+ single table), as well as limited support for writing a biom-object back
+ to a biom-format file. The design of this API is intended to match the
+ python API and other tools included with the biom-format project, but
+ with a decidedly "R flavor" that should be familiar to R users. This
+ includes S4 classes and methods, as well as extensions of common core
+ functions/methods."""
bioc = "biomformat"
- version('1.24.0', commit='4e14692dbcc34c3bd51defd74c728df5de9d0829')
- version('1.22.0', commit='ab7c6411a038fec010baa72e663f362fd972cb34')
- version('1.18.0', commit='dc18859c139f4d76805adb6f01e199573cdd5a8b')
- version('1.12.0', commit='6e946123bb59da262cbb0c17dc5ab49328a89d4a')
- version('1.10.1', commit='e67c6f4b70201f748fa49a4938e1af0cd0613f09')
- version('1.8.0', commit='acd207377b24e4d8310eaff06c16dcfe6c04509a')
- version('1.6.0', commit='61fb8c7b34ad561c3c46cacc0dd1957be56da85e')
- version('1.4.0', commit='83b4b1883bc56ea93a0a6ca90fc1b18712ef0f1a')
+ version("1.24.0", commit="4e14692dbcc34c3bd51defd74c728df5de9d0829")
+ version("1.22.0", commit="ab7c6411a038fec010baa72e663f362fd972cb34")
+ version("1.18.0", commit="dc18859c139f4d76805adb6f01e199573cdd5a8b")
+ version("1.12.0", commit="6e946123bb59da262cbb0c17dc5ab49328a89d4a")
+ version("1.10.1", commit="e67c6f4b70201f748fa49a4938e1af0cd0613f09")
+ version("1.8.0", commit="acd207377b24e4d8310eaff06c16dcfe6c04509a")
+ version("1.6.0", commit="61fb8c7b34ad561c3c46cacc0dd1957be56da85e")
+ version("1.4.0", commit="83b4b1883bc56ea93a0a6ca90fc1b18712ef0f1a")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-plyr@1.8:', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.16:', type=('build', 'run'))
- depends_on('r-matrix@1.2:', type=('build', 'run'))
- depends_on('r-rhdf5', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-plyr@1.8:", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.16:", type=("build", "run"))
+ depends_on("r-matrix@1.2:", type=("build", "run"))
+ depends_on("r-rhdf5", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-biostrings/package.py b/var/spack/repos/builtin/packages/r-biostrings/package.py
index a51fce5437..b2279c62bc 100644
--- a/var/spack/repos/builtin/packages/r-biostrings/package.py
+++ b/var/spack/repos/builtin/packages/r-biostrings/package.py
@@ -9,40 +9,40 @@ from spack.package import *
class RBiostrings(RPackage):
"""Efficient manipulation of biological strings.
- Memory efficient string containers, string matching algorithms, and
- other utilities, for fast manipulation of large biological sequences or
- sets of sequences."""
+ Memory efficient string containers, string matching algorithms, and
+ other utilities, for fast manipulation of large biological sequences or
+ sets of sequences."""
bioc = "Biostrings"
- version('2.64.0', commit='c7ad3c7af607bc8fe4a5e1c37f09e6c9bf70b4f6')
- version('2.62.0', commit='53ed287e03d16fa523789af3131c60375ccf587f')
- version('2.58.0', commit='0ec1a5455d5e9eebd14b26228906bb04e2abb197')
- version('2.52.0', commit='b78fe7c1f3cdbbb7affb1ca7164fe5a1f8b868f5')
- version('2.50.2', commit='025e734641a93f6c5d44243297cb4264ea0e34a2')
- version('2.48.0', commit='aa3599a7d259d658014d087b86d71ab1deb5f12b')
- version('2.46.0', commit='3bf6978c155498b50607d1bb471d1687d185a0fa')
- version('2.44.2', commit='e4a2b320fb21c5cab3ece7b3c6fecaedfb1e5200')
+ version("2.64.0", commit="c7ad3c7af607bc8fe4a5e1c37f09e6c9bf70b4f6")
+ version("2.62.0", commit="53ed287e03d16fa523789af3131c60375ccf587f")
+ version("2.58.0", commit="0ec1a5455d5e9eebd14b26228906bb04e2abb197")
+ version("2.52.0", commit="b78fe7c1f3cdbbb7affb1ca7164fe5a1f8b868f5")
+ version("2.50.2", commit="025e734641a93f6c5d44243297cb4264ea0e34a2")
+ version("2.48.0", commit="aa3599a7d259d658014d087b86d71ab1deb5f12b")
+ version("2.46.0", commit="3bf6978c155498b50607d1bb471d1687d185a0fa")
+ version("2.44.2", commit="e4a2b320fb21c5cab3ece7b3c6fecaedfb1e5200")
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.50.2:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.62.0:')
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.50.2:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.62.0:")
# Older versions do not build with r@4.2:
- depends_on('r@:4.1', type=('build', 'run'), when='@:2.62.0')
- depends_on('r-biocgenerics@0.15.6:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.31.5:', type=('build', 'run'), when='@2.58.0:')
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@2.62.0:')
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@2.48.0:')
- depends_on('r-s4vectors@0.21.13:', type=('build', 'run'), when='@2.52.0:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@2.58.0:')
- depends_on('r-iranges@2.9.18:', type=('build', 'run'), when='@2.44.2:')
- depends_on('r-iranges@2.13.24:', type=('build', 'run'), when='@2.48.0:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@2.58.0:')
- depends_on('r-xvector@0.11.6:', type=('build', 'run'))
- depends_on('r-xvector@0.19.8:', type=('build', 'run'), when='@2.48.0:')
- depends_on('r-xvector@0.21.4:', type=('build', 'run'), when='@2.50.2:')
- depends_on('r-xvector@0.23.2:', type=('build', 'run'), when='@2.52.0:')
- depends_on('r-xvector@0.29.2:', type=('build', 'run'), when='@2.58.0:')
- depends_on('r-genomeinfodb', type=('build', 'run'), when='@2.62.0:')
- depends_on('r-crayon', type=('build', 'run'), when='@2.58.0:')
+ depends_on("r@:4.1", type=("build", "run"), when="@:2.62.0")
+ depends_on("r-biocgenerics@0.15.6:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.31.5:", type=("build", "run"), when="@2.58.0:")
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@2.62.0:")
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@2.48.0:")
+ depends_on("r-s4vectors@0.21.13:", type=("build", "run"), when="@2.52.0:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@2.58.0:")
+ depends_on("r-iranges@2.9.18:", type=("build", "run"), when="@2.44.2:")
+ depends_on("r-iranges@2.13.24:", type=("build", "run"), when="@2.48.0:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@2.58.0:")
+ depends_on("r-xvector@0.11.6:", type=("build", "run"))
+ depends_on("r-xvector@0.19.8:", type=("build", "run"), when="@2.48.0:")
+ depends_on("r-xvector@0.21.4:", type=("build", "run"), when="@2.50.2:")
+ depends_on("r-xvector@0.23.2:", type=("build", "run"), when="@2.52.0:")
+ depends_on("r-xvector@0.29.2:", type=("build", "run"), when="@2.58.0:")
+ depends_on("r-genomeinfodb", type=("build", "run"), when="@2.62.0:")
+ depends_on("r-crayon", type=("build", "run"), when="@2.58.0:")
diff --git a/var/spack/repos/builtin/packages/r-biovizbase/package.py b/var/spack/repos/builtin/packages/r-biovizbase/package.py
index b30e734a65..4bd20f3965 100644
--- a/var/spack/repos/builtin/packages/r-biovizbase/package.py
+++ b/var/spack/repos/builtin/packages/r-biovizbase/package.py
@@ -9,41 +9,41 @@ from spack.package import *
class RBiovizbase(RPackage):
"""Basic graphic utilities for visualization of genomic data.
- The biovizBase package is designed to provide a set of utilities, color
- schemes and conventions for genomic data. It serves as the base for
- various high-level packages for biological data visualization. This
- saves development effort and encourages consistency."""
+ The biovizBase package is designed to provide a set of utilities, color
+ schemes and conventions for genomic data. It serves as the base for
+ various high-level packages for biological data visualization. This
+ saves development effort and encourages consistency."""
bioc = "biovizBase"
- version('1.44.0', commit='a8f05c56c27b278524033cb896a6c97f3ee0081c')
- version('1.42.0', commit='f1627b2b567471837daca6e763acfc3e13937461')
- version('1.38.0', commit='d0f3362e0ad0e90b4b1d3e47b13ed57907d03403')
- version('1.32.0', commit='de044bf236cdcd71214ae7b77689a8f0ab4f5cc8')
- version('1.30.1', commit='b6776d0470e2920f71127652f185f68ca1fd2c82')
- version('1.28.2', commit='43d09060028665a237b04bfeb9e2575782b08063')
- version('1.26.0', commit='640742f48384f01d117b70dc5c64737e97ae9b4b')
- version('1.24.0', commit='ae9cd2ff665b74a8f45ed9c1d17fc0a778b4af6c')
+ version("1.44.0", commit="a8f05c56c27b278524033cb896a6c97f3ee0081c")
+ version("1.42.0", commit="f1627b2b567471837daca6e763acfc3e13937461")
+ version("1.38.0", commit="d0f3362e0ad0e90b4b1d3e47b13ed57907d03403")
+ version("1.32.0", commit="de044bf236cdcd71214ae7b77689a8f0ab4f5cc8")
+ version("1.30.1", commit="b6776d0470e2920f71127652f185f68ca1fd2c82")
+ version("1.28.2", commit="43d09060028665a237b04bfeb9e2575782b08063")
+ version("1.26.0", commit="640742f48384f01d117b70dc5c64737e97ae9b4b")
+ version("1.24.0", commit="ae9cd2ff665b74a8f45ed9c1d17fc0a778b4af6c")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-dichromat', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-s4vectors@0.23.19:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-iranges@1.99.28:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.5.14:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.21:', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-biostrings@2.33.11:', type=('build', 'run'))
- depends_on('r-rsamtools@1.17.28:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.1.16:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.21.19:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-variantannotation@1.11.4:', type=('build', 'run'))
- depends_on('r-ensembldb@1.99.13:', type=('build', 'run'))
- depends_on('r-annotationfilter@0.99.8:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.28.2:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-dichromat", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-s4vectors@0.23.19:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-iranges@1.99.28:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.5.14:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.21:", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-biostrings@2.33.11:", type=("build", "run"))
+ depends_on("r-rsamtools@1.17.28:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.1.16:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.21.19:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-variantannotation@1.11.4:", type=("build", "run"))
+ depends_on("r-ensembldb@1.99.13:", type=("build", "run"))
+ depends_on("r-annotationfilter@0.99.8:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.28.2:")
diff --git a/var/spack/repos/builtin/packages/r-bit/package.py b/var/spack/repos/builtin/packages/r-bit/package.py
index 0ae8bd95e2..ed346fc5b2 100644
--- a/var/spack/repos/builtin/packages/r-bit/package.py
+++ b/var/spack/repos/builtin/packages/r-bit/package.py
@@ -16,8 +16,8 @@ class RBit(RPackage):
cran = "bit"
- version('4.0.4', sha256='e404841fbe4ebefe4ecd4392effe673a8c9fa05f97952c4ce6e2f6159bd2f168')
- version('1.1-14', sha256='5cbaace1fb643a665a6ca69b90f7a6d624270de82420ca7a44f306753fcef254')
- version('1.1-12', sha256='ce281c87fb7602bf1a599e72f3e25f9ff7a13e390c124a4506087f69ad79d128')
+ version("4.0.4", sha256="e404841fbe4ebefe4ecd4392effe673a8c9fa05f97952c4ce6e2f6159bd2f168")
+ version("1.1-14", sha256="5cbaace1fb643a665a6ca69b90f7a6d624270de82420ca7a44f306753fcef254")
+ version("1.1-12", sha256="ce281c87fb7602bf1a599e72f3e25f9ff7a13e390c124a4506087f69ad79d128")
- depends_on('r@2.9.2:', type=('build', 'run'))
+ depends_on("r@2.9.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bit64/package.py b/var/spack/repos/builtin/packages/r-bit64/package.py
index c115107ca2..c3137792bf 100644
--- a/var/spack/repos/builtin/packages/r-bit64/package.py
+++ b/var/spack/repos/builtin/packages/r-bit64/package.py
@@ -23,9 +23,9 @@ class RBit64(RPackage):
cran = "bit64"
- version('4.0.5', sha256='25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578')
- version('0.9-7', sha256='7b9aaa7f971198728c3629f9ba1a1b24d53db5c7e459498b0fdf86bbd3dff61f')
+ version("4.0.5", sha256="25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578")
+ version("0.9-7", sha256="7b9aaa7f971198728c3629f9ba1a1b24d53db5c7e459498b0fdf86bbd3dff61f")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-bit@1.1-12:', type=('build', 'run'))
- depends_on('r-bit@4.0.0:', type=('build', 'run'), when='@4.0.5:')
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-bit@1.1-12:", type=("build", "run"))
+ depends_on("r-bit@4.0.0:", type=("build", "run"), when="@4.0.5:")
diff --git a/var/spack/repos/builtin/packages/r-bitops/package.py b/var/spack/repos/builtin/packages/r-bitops/package.py
index e78af74388..e2e03b4e6a 100644
--- a/var/spack/repos/builtin/packages/r-bitops/package.py
+++ b/var/spack/repos/builtin/packages/r-bitops/package.py
@@ -14,5 +14,5 @@ class RBitops(RPackage):
cran = "bitops"
- version('1.0-7', sha256='e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4')
- version('1.0-6', sha256='9b731397b7166dd54941fb0d2eac6df60c7a483b2e790f7eb15b4d7b79c9d69c')
+ version("1.0-7", sha256="e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4")
+ version("1.0-6", sha256="9b731397b7166dd54941fb0d2eac6df60c7a483b2e790f7eb15b4d7b79c9d69c")
diff --git a/var/spack/repos/builtin/packages/r-blavaan/package.py b/var/spack/repos/builtin/packages/r-blavaan/package.py
index 1c84718296..685a4bbb8d 100644
--- a/var/spack/repos/builtin/packages/r-blavaan/package.py
+++ b/var/spack/repos/builtin/packages/r-blavaan/package.py
@@ -9,38 +9,38 @@ from spack.package import *
class RBlavaan(RPackage):
"""Bayesian Latent Variable Analysis.
-Fit a variety of Bayesian latent variable models, including confirmatory factor
-analysis, structural equation models, and latent growth curve models.
-References: Merkle & Rosseel (2018) <doi:10.18637/jss.v085.i04>; Merkle et al.
-(2021) <doi:10.18637/jss.v100.i06>."""
+ Fit a variety of Bayesian latent variable models, including confirmatory factor
+ analysis, structural equation models, and latent growth curve models.
+ References: Merkle & Rosseel (2018) <doi:10.18637/jss.v085.i04>; Merkle et al.
+ (2021) <doi:10.18637/jss.v100.i06>."""
cran = "blavaan"
- version('0.4-3', sha256='a9f9f7b32aab7e7f179340c9f0f9d154b5fac51352c4fd590d317c201fe81b74')
- version('0.4-1', sha256='afb077d72f84ef0b6f45ef2ccb8335358042943c32a3472a9ca239ebca1c4aa4')
- version('0.3-18', sha256='373960a22fc741c765e2ad2e0d99c1d4b2162f5f2a230ef314778ef8f433e865')
- version('0.3-15', sha256='f73ead024bc3b65bdb0c5e5cd5458845158914eb579c07be2fd697a3573ebe6f')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-lavaan@0.6-5:', type=('build', 'run'))
- depends_on('r-lavaan@0.6-7:', type=('build', 'run'), when='@0.3-18:')
- depends_on('r-lavaan@0.6-10:', type=('build', 'run'), when='@0.4-1:')
- depends_on('r-rcpp@0.12.15:', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-mnormt', type=('build', 'run'))
- depends_on('r-nonnest2@0.5-5:', type=('build', 'run'))
- depends_on('r-loo@2.0:', type=('build', 'run'))
- depends_on('r-rstan@2.19.2:', type=('build', 'run'))
- depends_on('r-rstan@2.21.2:', type=('build', 'run'), when='@0.3-18:')
- depends_on('r-rstantools@1.5.0:', type=('build', 'run'))
- depends_on('r-rcppparallel@5.0.1:', type=('build', 'run'))
- depends_on('r-bayesplot', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-future-apply', type=('build', 'run'))
- depends_on('r-tmvnsim', type=('build', 'run'), when='@0.3-18:')
- depends_on('r-stanheaders@2.18.1:', type=('build', 'run'))
- depends_on('r-bh@1.69.0:', type=('build', 'run'))
- depends_on('r-rcppeigen@0.3.3.4.0:', type=('build', 'run'))
- depends_on('gmake', type='build')
-
- depends_on('r-mcmcpack', type=('build', 'run'), when='@:0.4-1')
+ version("0.4-3", sha256="a9f9f7b32aab7e7f179340c9f0f9d154b5fac51352c4fd590d317c201fe81b74")
+ version("0.4-1", sha256="afb077d72f84ef0b6f45ef2ccb8335358042943c32a3472a9ca239ebca1c4aa4")
+ version("0.3-18", sha256="373960a22fc741c765e2ad2e0d99c1d4b2162f5f2a230ef314778ef8f433e865")
+ version("0.3-15", sha256="f73ead024bc3b65bdb0c5e5cd5458845158914eb579c07be2fd697a3573ebe6f")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-lavaan@0.6-5:", type=("build", "run"))
+ depends_on("r-lavaan@0.6-7:", type=("build", "run"), when="@0.3-18:")
+ depends_on("r-lavaan@0.6-10:", type=("build", "run"), when="@0.4-1:")
+ depends_on("r-rcpp@0.12.15:", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-mnormt", type=("build", "run"))
+ depends_on("r-nonnest2@0.5-5:", type=("build", "run"))
+ depends_on("r-loo@2.0:", type=("build", "run"))
+ depends_on("r-rstan@2.19.2:", type=("build", "run"))
+ depends_on("r-rstan@2.21.2:", type=("build", "run"), when="@0.3-18:")
+ depends_on("r-rstantools@1.5.0:", type=("build", "run"))
+ depends_on("r-rcppparallel@5.0.1:", type=("build", "run"))
+ depends_on("r-bayesplot", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-future-apply", type=("build", "run"))
+ depends_on("r-tmvnsim", type=("build", "run"), when="@0.3-18:")
+ depends_on("r-stanheaders@2.18.1:", type=("build", "run"))
+ depends_on("r-bh@1.69.0:", type=("build", "run"))
+ depends_on("r-rcppeigen@0.3.3.4.0:", type=("build", "run"))
+ depends_on("gmake", type="build")
+
+ depends_on("r-mcmcpack", type=("build", "run"), when="@:0.4-1")
diff --git a/var/spack/repos/builtin/packages/r-blob/package.py b/var/spack/repos/builtin/packages/r-blob/package.py
index bc1a16d500..5fd8b0a8a4 100644
--- a/var/spack/repos/builtin/packages/r-blob/package.py
+++ b/var/spack/repos/builtin/packages/r-blob/package.py
@@ -16,15 +16,15 @@ class RBlob(RPackage):
cran = "blob"
- version('1.2.3', sha256='2d88d683ee3d1b56b332b5c7769979b5d3994b5d9285ea634ec919576da3631b')
- version('1.2.2', sha256='4976053c65994c769a4c22b4553bea0bd9c623b3b991dbaf023d2a164770c7fa')
- version('1.2.1', sha256='ef54bc7a9646c1b73f4d2f60c869b4f1940bc3505874175114297ad7772d8bea')
- version('1.2.0', sha256='1af1cfa28607bc0e2f1f01598a00a7d5d1385ef160a9e79e568f30f56538e023')
- version('1.1.0', sha256='16d6603df3ddba177f0ac4d9469c938f89131c4bf8834345db838defd9ffea16')
-
- depends_on('r-rlang', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-vctrs@0.2.0:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-vctrs@0.2.1:', type=('build', 'run'), when='@1.2.1:')
-
- depends_on('r-prettyunits', type=('build', 'run'), when='@1.2.0')
- depends_on('r-tibble', type=('build', 'run'), when='@:1.1.0')
+ version("1.2.3", sha256="2d88d683ee3d1b56b332b5c7769979b5d3994b5d9285ea634ec919576da3631b")
+ version("1.2.2", sha256="4976053c65994c769a4c22b4553bea0bd9c623b3b991dbaf023d2a164770c7fa")
+ version("1.2.1", sha256="ef54bc7a9646c1b73f4d2f60c869b4f1940bc3505874175114297ad7772d8bea")
+ version("1.2.0", sha256="1af1cfa28607bc0e2f1f01598a00a7d5d1385ef160a9e79e568f30f56538e023")
+ version("1.1.0", sha256="16d6603df3ddba177f0ac4d9469c938f89131c4bf8834345db838defd9ffea16")
+
+ depends_on("r-rlang", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-vctrs@0.2.0:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-vctrs@0.2.1:", type=("build", "run"), when="@1.2.1:")
+
+ depends_on("r-prettyunits", type=("build", "run"), when="@1.2.0")
+ depends_on("r-tibble", type=("build", "run"), when="@:1.1.0")
diff --git a/var/spack/repos/builtin/packages/r-blockmodeling/package.py b/var/spack/repos/builtin/packages/r-blockmodeling/package.py
index 9c05853efa..fa98d6ee2d 100644
--- a/var/spack/repos/builtin/packages/r-blockmodeling/package.py
+++ b/var/spack/repos/builtin/packages/r-blockmodeling/package.py
@@ -14,14 +14,14 @@ class RBlockmodeling(RPackage):
cran = "blockmodeling"
- version('1.0.5', sha256='18c227bb52f28aff4dae8929563474e3e006e238438c823b67dc6baa897f88ed')
- version('1.0.0', sha256='f10c41fff56dc7dc46dffbceacb8ff905eca06578d610a5a590fb408f0149cfc')
- version('0.3.4', sha256='a269c83669dd5294cff0adddab36bc023db6a276a06b74b1fa94b7e407486987')
- version('0.3.1', sha256='39e8360400cec6baa920d5589d4e779568bdf2954f7331be0e3cadf22a217d31')
+ version("1.0.5", sha256="18c227bb52f28aff4dae8929563474e3e006e238438c823b67dc6baa897f88ed")
+ version("1.0.0", sha256="f10c41fff56dc7dc46dffbceacb8ff905eca06578d610a5a590fb408f0149cfc")
+ version("0.3.4", sha256="a269c83669dd5294cff0adddab36bc023db6a276a06b74b1fa94b7e407486987")
+ version("0.3.1", sha256="39e8360400cec6baa920d5589d4e779568bdf2954f7331be0e3cadf22a217d31")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
- depends_on('r-doparallel', type=('build', 'run'), when='@:0.3.4')
- depends_on('r-dorng', type=('build', 'run'), when='@:0.3.4')
- depends_on('r-foreach', type=('build', 'run'), when='@:0.3.4')
+ depends_on("r-doparallel", type=("build", "run"), when="@:0.3.4")
+ depends_on("r-dorng", type=("build", "run"), when="@:0.3.4")
+ depends_on("r-foreach", type=("build", "run"), when="@:0.3.4")
diff --git a/var/spack/repos/builtin/packages/r-bmp/package.py b/var/spack/repos/builtin/packages/r-bmp/package.py
index 6da1bc26df..d6426b921c 100644
--- a/var/spack/repos/builtin/packages/r-bmp/package.py
+++ b/var/spack/repos/builtin/packages/r-bmp/package.py
@@ -15,4 +15,4 @@ class RBmp(RPackage):
cran = "bmp"
- version('0.3', sha256='bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649')
+ version("0.3", sha256="bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649")
diff --git a/var/spack/repos/builtin/packages/r-bookdown/package.py b/var/spack/repos/builtin/packages/r-bookdown/package.py
index beb1c32fd2..dde21c6e48 100644
--- a/var/spack/repos/builtin/packages/r-bookdown/package.py
+++ b/var/spack/repos/builtin/packages/r-bookdown/package.py
@@ -14,26 +14,26 @@ class RBookdown(RPackage):
cran = "bookdown"
- version('0.26', sha256='c6207288cb72ea7c555cbad449c61278e94b742cac1f610879fb3f2d60b2b185')
- version('0.24', sha256='8bead2a20542d05f643fe77a949689a17b0ae9ff23efbb918ddab47597db1be3')
- version('0.21', sha256='47c0fa7a65da83753c2f445e0e972913f9203460f1daae3ab255d0d4b30eba76')
- version('0.12', sha256='38eb4c5b877ccd85b16cfe74a48c3bc53de2f276da98e5515f37e7a06e065bb0')
- version('0.5', sha256='b7331fd56f64bd2bddc34e2a188fc491f9ff5308f44f7e3151721247f21ca67e')
+ version("0.26", sha256="c6207288cb72ea7c555cbad449c61278e94b742cac1f610879fb3f2d60b2b185")
+ version("0.24", sha256="8bead2a20542d05f643fe77a949689a17b0ae9ff23efbb918ddab47597db1be3")
+ version("0.21", sha256="47c0fa7a65da83753c2f445e0e972913f9203460f1daae3ab255d0d4b30eba76")
+ version("0.12", sha256="38eb4c5b877ccd85b16cfe74a48c3bc53de2f276da98e5515f37e7a06e065bb0")
+ version("0.5", sha256="b7331fd56f64bd2bddc34e2a188fc491f9ff5308f44f7e3151721247f21ca67e")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'))
- depends_on('r-knitr@1.22:', type=('build', 'run'))
- depends_on('r-knitr@1.31:', type=('build', 'run'), when='@0.24:')
- depends_on('r-rmarkdown@1.12:', type=('build', 'run'))
- depends_on('r-rmarkdown@2.4:', type=('build', 'run'), when='@0.21:')
- depends_on('r-rmarkdown@2.9:', type=('build', 'run'), when='@0.24:')
- depends_on('r-rmarkdown@2.13:', type=('build', 'run'), when='@0.26:')
- depends_on('r-jquerylib', type=('build', 'run'), when='@0.24:')
- depends_on('r-xfun@0.6:', type=('build', 'run'))
- depends_on('r-xfun@0.13:', type=('build', 'run'), when='@0.21:')
- depends_on('r-xfun@0.22:', type=('build', 'run'), when='@0.24:')
- depends_on('r-xfun@0.29:', type=('build', 'run'), when='@0.26:')
- depends_on('r-tinytex@0.12:', type=('build', 'run'), when='@0.12:')
- depends_on('r-yaml@2.1.14:', type=('build', 'run'))
- depends_on('r-yaml@2.1.19:', type=('build', 'run'), when='@0.21:')
- depends_on('pandoc@1.17.2:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"))
+ depends_on("r-knitr@1.22:", type=("build", "run"))
+ depends_on("r-knitr@1.31:", type=("build", "run"), when="@0.24:")
+ depends_on("r-rmarkdown@1.12:", type=("build", "run"))
+ depends_on("r-rmarkdown@2.4:", type=("build", "run"), when="@0.21:")
+ depends_on("r-rmarkdown@2.9:", type=("build", "run"), when="@0.24:")
+ depends_on("r-rmarkdown@2.13:", type=("build", "run"), when="@0.26:")
+ depends_on("r-jquerylib", type=("build", "run"), when="@0.24:")
+ depends_on("r-xfun@0.6:", type=("build", "run"))
+ depends_on("r-xfun@0.13:", type=("build", "run"), when="@0.21:")
+ depends_on("r-xfun@0.22:", type=("build", "run"), when="@0.24:")
+ depends_on("r-xfun@0.29:", type=("build", "run"), when="@0.26:")
+ depends_on("r-tinytex@0.12:", type=("build", "run"), when="@0.12:")
+ depends_on("r-yaml@2.1.14:", type=("build", "run"))
+ depends_on("r-yaml@2.1.19:", type=("build", "run"), when="@0.21:")
+ depends_on("pandoc@1.17.2:")
diff --git a/var/spack/repos/builtin/packages/r-boot/package.py b/var/spack/repos/builtin/packages/r-boot/package.py
index 1dd5027a86..2a9a9ab8a6 100644
--- a/var/spack/repos/builtin/packages/r-boot/package.py
+++ b/var/spack/repos/builtin/packages/r-boot/package.py
@@ -15,11 +15,11 @@ class RBoot(RPackage):
cran = "boot"
- version('1.3-28', sha256='9f7158fd2714659f590c3955651893dc24bd8f39196bc5a4cc35b0b031744a32')
- version('1.3-25', sha256='464835fcb453072346ce49e4ae318e04c9dba682349be49db616623b6088fbbe')
- version('1.3-23', sha256='79236a5a770dc8bf5ce25d9aa303c5dc0574d94aa043fd00b8b4c8ccc877357f')
- version('1.3-22', sha256='cf1f0cb1e0a7a36dcb6ae038f5d0211a0e7a009c149bc9d21acb9c58c38b4dfc')
- version('1.3-20', sha256='adcb90b72409705e3f9c69ea6c15673dcb649b464fed06723fe0930beac5212a')
- version('1.3-18', sha256='12fd237f810a69cc8d0a51a67c57eaf9506bf0341c764f8ab7c1feb73722235e')
+ version("1.3-28", sha256="9f7158fd2714659f590c3955651893dc24bd8f39196bc5a4cc35b0b031744a32")
+ version("1.3-25", sha256="464835fcb453072346ce49e4ae318e04c9dba682349be49db616623b6088fbbe")
+ version("1.3-23", sha256="79236a5a770dc8bf5ce25d9aa303c5dc0574d94aa043fd00b8b4c8ccc877357f")
+ version("1.3-22", sha256="cf1f0cb1e0a7a36dcb6ae038f5d0211a0e7a009c149bc9d21acb9c58c38b4dfc")
+ version("1.3-20", sha256="adcb90b72409705e3f9c69ea6c15673dcb649b464fed06723fe0930beac5212a")
+ version("1.3-18", sha256="12fd237f810a69cc8d0a51a67c57eaf9506bf0341c764f8ab7c1feb73722235e")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-boruta/package.py b/var/spack/repos/builtin/packages/r-boruta/package.py
index 88426392f2..9169fbe18a 100644
--- a/var/spack/repos/builtin/packages/r-boruta/package.py
+++ b/var/spack/repos/builtin/packages/r-boruta/package.py
@@ -15,7 +15,7 @@ class RBoruta(RPackage):
cran = "Boruta"
- version('7.0.0', sha256='6ff520d27d68637058c33a34c547a656bb44d5e351b7cc7afed6cd4216275c78')
- version('6.0.0', sha256='1c9a7aabe09f040e147f6c614f5fe1d0b951d3b0f0024161fbb4c31da8fae8de')
+ version("7.0.0", sha256="6ff520d27d68637058c33a34c547a656bb44d5e351b7cc7afed6cd4216275c78")
+ version("6.0.0", sha256="1c9a7aabe09f040e147f6c614f5fe1d0b951d3b0f0024161fbb4c31da8fae8de")
- depends_on('r-ranger', type=('build', 'run'))
+ depends_on("r-ranger", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-brew/package.py b/var/spack/repos/builtin/packages/r-brew/package.py
index a56d1c2e0c..ecb7ba504d 100644
--- a/var/spack/repos/builtin/packages/r-brew/package.py
+++ b/var/spack/repos/builtin/packages/r-brew/package.py
@@ -15,5 +15,5 @@ class RBrew(RPackage):
cran = "brew"
- version('1.0-7', sha256='38b859c1dca63479f6937c593da8f806f2b3279585bb6e20ecff1b898469e76e')
- version('1.0-6', sha256='d70d1a9a01cf4a923b4f11e4374ffd887ad3ff964f35c6f9dc0f29c8d657f0ed')
+ version("1.0-7", sha256="38b859c1dca63479f6937c593da8f806f2b3279585bb6e20ecff1b898469e76e")
+ version("1.0-6", sha256="d70d1a9a01cf4a923b4f11e4374ffd887ad3ff964f35c6f9dc0f29c8d657f0ed")
diff --git a/var/spack/repos/builtin/packages/r-bridgesampling/package.py b/var/spack/repos/builtin/packages/r-bridgesampling/package.py
index 9a39c40821..39a72c018f 100644
--- a/var/spack/repos/builtin/packages/r-bridgesampling/package.py
+++ b/var/spack/repos/builtin/packages/r-bridgesampling/package.py
@@ -17,12 +17,12 @@ class RBridgesampling(RPackage):
cran = "bridgesampling"
- version('1.1-2', sha256='54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b')
+ version("1.1-2", sha256="54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-brobdingnag', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-brobdingnag", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-brio/package.py b/var/spack/repos/builtin/packages/r-brio/package.py
index 40385fab6c..46b2444a21 100644
--- a/var/spack/repos/builtin/packages/r-brio/package.py
+++ b/var/spack/repos/builtin/packages/r-brio/package.py
@@ -15,5 +15,5 @@ class RBrio(RPackage):
cran = "brio"
- version('1.1.3', sha256='eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6')
- version('1.1.0', sha256='6bb3a3b47bea13f1a1e3dcdc8b9f688502643e4b40a481a34aa04a261aabea38')
+ version("1.1.3", sha256="eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6")
+ version("1.1.0", sha256="6bb3a3b47bea13f1a1e3dcdc8b9f688502643e4b40a481a34aa04a261aabea38")
diff --git a/var/spack/repos/builtin/packages/r-brms/package.py b/var/spack/repos/builtin/packages/r-brms/package.py
index 0cbf72aa14..71417cbce8 100644
--- a/var/spack/repos/builtin/packages/r-brms/package.py
+++ b/var/spack/repos/builtin/packages/r-brms/package.py
@@ -27,30 +27,30 @@ class RBrms(RPackage):
cran = "brms"
- version('2.17.0', sha256='24e5a3a40b81bea558e8f660d0de7fd1a4c2080c7553baac98f34dd2682ece71')
- version('2.16.3', sha256='68302b10b5264f72d163d01c17792c002306cf37f0ee778dcec4c7e118f923e1')
- version('2.16.1', sha256='749efbd9fb061fe207cf2e729c1387d9a8538b922f12ceec4e82a9f8dd9c1bc4')
- version('2.15.0', sha256='c11701d1d8758590b74bb845b568b736e4455a81b114c7dfde0b27b7bd1bcc2f')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
- depends_on('r-rstan@2.19.2:', type=('build', 'run'))
- depends_on('r-ggplot2@2.0.0:', type=('build', 'run'))
- depends_on('r-loo@2.3.1:', type=('build', 'run'))
- depends_on('r-posterior@1.0.0:', type=('build', 'run'), when='@2.16:')
- depends_on('r-matrix@1.1.1:', type=('build', 'run'))
- depends_on('r-mgcv@1.8-13:', type=('build', 'run'))
- depends_on('r-rstantools@2.1.1:', type=('build', 'run'))
- depends_on('r-bayesplot@1.5.0:', type=('build', 'run'))
- depends_on('r-shinystan@2.4.0:', type=('build', 'run'))
- depends_on('r-bridgesampling@0.3-0:', type=('build', 'run'))
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-future@1.19.0:', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-nleqslv', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-backports', type=('build', 'run'))
-
- depends_on('r-projpred@2.0.0:', type=('build', 'run'), when='@:2.16.1')
+ version("2.17.0", sha256="24e5a3a40b81bea558e8f660d0de7fd1a4c2080c7553baac98f34dd2682ece71")
+ version("2.16.3", sha256="68302b10b5264f72d163d01c17792c002306cf37f0ee778dcec4c7e118f923e1")
+ version("2.16.1", sha256="749efbd9fb061fe207cf2e729c1387d9a8538b922f12ceec4e82a9f8dd9c1bc4")
+ version("2.15.0", sha256="c11701d1d8758590b74bb845b568b736e4455a81b114c7dfde0b27b7bd1bcc2f")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
+ depends_on("r-rstan@2.19.2:", type=("build", "run"))
+ depends_on("r-ggplot2@2.0.0:", type=("build", "run"))
+ depends_on("r-loo@2.3.1:", type=("build", "run"))
+ depends_on("r-posterior@1.0.0:", type=("build", "run"), when="@2.16:")
+ depends_on("r-matrix@1.1.1:", type=("build", "run"))
+ depends_on("r-mgcv@1.8-13:", type=("build", "run"))
+ depends_on("r-rstantools@2.1.1:", type=("build", "run"))
+ depends_on("r-bayesplot@1.5.0:", type=("build", "run"))
+ depends_on("r-shinystan@2.4.0:", type=("build", "run"))
+ depends_on("r-bridgesampling@0.3-0:", type=("build", "run"))
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-future@1.19.0:", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-nleqslv", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-backports", type=("build", "run"))
+
+ depends_on("r-projpred@2.0.0:", type=("build", "run"), when="@:2.16.1")
diff --git a/var/spack/repos/builtin/packages/r-brobdingnag/package.py b/var/spack/repos/builtin/packages/r-brobdingnag/package.py
index 4809a19ba0..f64b1d0763 100644
--- a/var/spack/repos/builtin/packages/r-brobdingnag/package.py
+++ b/var/spack/repos/builtin/packages/r-brobdingnag/package.py
@@ -15,7 +15,7 @@ class RBrobdingnag(RPackage):
cran = "Brobdingnag"
- version('1.2-7', sha256='73a734342736da5b29c2827d91f662101873503af7ad9cdf9e9e697bb32dd742')
- version('1.2-6', sha256='19eccaed830ce9d93b70642f6f126ac66722a98bbd48586899cc613dd9966ad4')
+ version("1.2-7", sha256="73a734342736da5b29c2827d91f662101873503af7ad9cdf9e9e697bb32dd742")
+ version("1.2-6", sha256="19eccaed830ce9d93b70642f6f126ac66722a98bbd48586899cc613dd9966ad4")
- depends_on('r@2.13.0:', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-broom/package.py b/var/spack/repos/builtin/packages/r-broom/package.py
index 27048d7771..4a72b7b3b1 100644
--- a/var/spack/repos/builtin/packages/r-broom/package.py
+++ b/var/spack/repos/builtin/packages/r-broom/package.py
@@ -20,33 +20,33 @@ class RBroom(RPackage):
cran = "broom"
- version('0.8.0', sha256='66a1095d4430450dc810a5cea61cd7e7bee0e23739dcf5ddc5b57c9894fcf999')
- version('0.7.12', sha256='04fac12b2546689603a474fb92a0572f4241ae87b51b21b0808814a489227bd9')
- version('0.7.11', sha256='9e3999d2635ac72e8f4c3a81decd50ee5d464c001c155375b5a970a629ba2e19')
- version('0.7.10', sha256='129fd5a53abef7f42b7efac6c64ebd71269b136aa648846d640562357927464f')
- version('0.7.9', sha256='1d5695f97b378b2b77fb8f64a4a54b72b278913d4adf9d61a7ca4f38a1c7c5fc')
- version('0.7.3', sha256='de5650e46ca6884876b63bc401d22bef9eace671147774466406d43324aebc2f')
- version('0.5.2', sha256='16af7b446b24bc14461efbda9bea1521cf738c778c5e48fcc7bad45660a4ac62')
- version('0.5.1', sha256='da9e6bf7cb8f960b83309cf107743976cc32b54524675f6471982abe3d1aae2e')
- version('0.4.2', sha256='9f409413623cf25e7110452e6215353af5114f7044d73af182bd6c10971c5a44')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-backports', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-generics@0.0.2:', type=('build', 'run'), when='@0.5.1:')
- depends_on('r-glue', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-purrr', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-tibble@3.0.0:', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'), when='@0.7.3:')
- depends_on('r-ggplot2', type=('build', 'run'), when='@0.7.10:')
-
- depends_on('r-plyr', type=('build', 'run'), when='@:0.4.2')
- depends_on('r-psych', type=('build', 'run'), when='@:0.4.2')
- depends_on('r-reshape2', type=('build', 'run'), when='@:0.5.2')
- depends_on('r-nlme', type=('build', 'run'), when='@:0.5.2')
+ version("0.8.0", sha256="66a1095d4430450dc810a5cea61cd7e7bee0e23739dcf5ddc5b57c9894fcf999")
+ version("0.7.12", sha256="04fac12b2546689603a474fb92a0572f4241ae87b51b21b0808814a489227bd9")
+ version("0.7.11", sha256="9e3999d2635ac72e8f4c3a81decd50ee5d464c001c155375b5a970a629ba2e19")
+ version("0.7.10", sha256="129fd5a53abef7f42b7efac6c64ebd71269b136aa648846d640562357927464f")
+ version("0.7.9", sha256="1d5695f97b378b2b77fb8f64a4a54b72b278913d4adf9d61a7ca4f38a1c7c5fc")
+ version("0.7.3", sha256="de5650e46ca6884876b63bc401d22bef9eace671147774466406d43324aebc2f")
+ version("0.5.2", sha256="16af7b446b24bc14461efbda9bea1521cf738c778c5e48fcc7bad45660a4ac62")
+ version("0.5.1", sha256="da9e6bf7cb8f960b83309cf107743976cc32b54524675f6471982abe3d1aae2e")
+ version("0.4.2", sha256="9f409413623cf25e7110452e6215353af5114f7044d73af182bd6c10971c5a44")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-backports", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-generics@0.0.2:", type=("build", "run"), when="@0.5.1:")
+ depends_on("r-glue", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-purrr", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-tibble@3.0.0:", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"), when="@0.7.3:")
+ depends_on("r-ggplot2", type=("build", "run"), when="@0.7.10:")
+
+ depends_on("r-plyr", type=("build", "run"), when="@:0.4.2")
+ depends_on("r-psych", type=("build", "run"), when="@:0.4.2")
+ depends_on("r-reshape2", type=("build", "run"), when="@:0.5.2")
+ depends_on("r-nlme", type=("build", "run"), when="@:0.5.2")
diff --git a/var/spack/repos/builtin/packages/r-bsgenome-hsapiens-ucsc-hg19/package.py b/var/spack/repos/builtin/packages/r-bsgenome-hsapiens-ucsc-hg19/package.py
index b5ac8ffe02..e5ef5bf9f8 100644
--- a/var/spack/repos/builtin/packages/r-bsgenome-hsapiens-ucsc-hg19/package.py
+++ b/var/spack/repos/builtin/packages/r-bsgenome-hsapiens-ucsc-hg19/package.py
@@ -17,12 +17,16 @@ class RBsgenomeHsapiensUcscHg19(RPackage):
bioc = "BSgenome.Hsapiens.UCSC.hg19"
url = "http://www.bioconductor.org/packages/release/data/annotation/src/contrib/BSgenome.Hsapiens.UCSC.hg19_1.4.0.tar.gz"
- version('1.4.3',
- sha256='5bfa65d7836449d9b30c356968497cdfaa98be48c4e329e71e8f8a120f3e9d1a',
- url='https://bioconductor.org/packages/3.12/data/annotation/src/contrib/BSgenome.Hsapiens.UCSC.hg19_1.4.3.tar.gz')
- version('1.4.0',
- sha256='88f515e5c27dd11d10654250e3a0a9389e4dfeb0b1c2d43419aa7086e6c516f8',
- url='https://bioconductor.org/packages/3.10/data/annotation/src/contrib/BSgenome.Hsapiens.UCSC.hg19_1.4.0.tar.gz')
+ version(
+ "1.4.3",
+ sha256="5bfa65d7836449d9b30c356968497cdfaa98be48c4e329e71e8f8a120f3e9d1a",
+ url="https://bioconductor.org/packages/3.12/data/annotation/src/contrib/BSgenome.Hsapiens.UCSC.hg19_1.4.3.tar.gz",
+ )
+ version(
+ "1.4.0",
+ sha256="88f515e5c27dd11d10654250e3a0a9389e4dfeb0b1c2d43419aa7086e6c516f8",
+ url="https://bioconductor.org/packages/3.10/data/annotation/src/contrib/BSgenome.Hsapiens.UCSC.hg19_1.4.0.tar.gz",
+ )
- depends_on('r-bsgenome@1.33.5:', type=('build', 'run'))
- depends_on('r-bsgenome@1.54.0:', type=('build', 'run'), when='@1.4.3:')
+ depends_on("r-bsgenome@1.33.5:", type=("build", "run"))
+ depends_on("r-bsgenome@1.54.0:", type=("build", "run"), when="@1.4.3:")
diff --git a/var/spack/repos/builtin/packages/r-bsgenome/package.py b/var/spack/repos/builtin/packages/r-bsgenome/package.py
index e1fafb94c4..8780cdcdb3 100644
--- a/var/spack/repos/builtin/packages/r-bsgenome/package.py
+++ b/var/spack/repos/builtin/packages/r-bsgenome/package.py
@@ -14,34 +14,34 @@ class RBsgenome(RPackage):
bioc = "BSgenome"
- version('1.64.0', commit='59cdebde613e9702985c003f699f4aea2b0f0e7b')
- version('1.62.0', commit='9b1859e11ffa082833f035a45274af6e4e83e863')
- version('1.58.0', commit='3a4926e03a7a1d7140a10c1b2bf6090808470145')
- version('1.52.0', commit='5398eba1cb56a873b29c04a7ce6858d5d60ff75b')
- version('1.50.0', commit='43910755f7477e4fe9bb968f186fddbb2f7355f9')
- version('1.48.0', commit='092a1b90482ace329cbd8ca2a338e91449acb93e')
- version('1.46.0', commit='bdfbd6d09820993585b8231ddea5e11c99008dc5')
- version('1.44.2', commit='105b00588a758d5ec7c347a7dff2756aea4516a0')
+ version("1.64.0", commit="59cdebde613e9702985c003f699f4aea2b0f0e7b")
+ version("1.62.0", commit="9b1859e11ffa082833f035a45274af6e4e83e863")
+ version("1.58.0", commit="3a4926e03a7a1d7140a10c1b2bf6090808470145")
+ version("1.52.0", commit="5398eba1cb56a873b29c04a7ce6858d5d60ff75b")
+ version("1.50.0", commit="43910755f7477e4fe9bb968f186fddbb2f7355f9")
+ version("1.48.0", commit="092a1b90482ace329cbd8ca2a338e91449acb93e")
+ version("1.46.0", commit="bdfbd6d09820993585b8231ddea5e11c99008dc5")
+ version("1.44.2", commit="105b00588a758d5ec7c347a7dff2756aea4516a0")
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.8:', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.36:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.28:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-iranges@2.1.33:', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@1.46.0:')
- depends_on('r-iranges@2.13.16:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-genomeinfodb@1.11.4:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.13.1:', type=('build', 'run'), when='@1.46.0:')
- depends_on('r-genomeinfodb@1.15.2:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-genomeinfodb@1.25.6:', type=('build', 'run'), when='@1.58.0:')
- depends_on('r-genomicranges@1.27.6:', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'), when='@1.46.0:')
- depends_on('r-genomicranges@1.31.10:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-biostrings@2.35.3:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-rtracklayer@1.25.8:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.39.7:', type=('build', 'run'), when='@1.48.0:')
- depends_on('r-matrixstats', type=('build', 'run'), when='@1.58.0:')
- depends_on('r-xvector', type=('build', 'run'))
- depends_on('r-xvector@0.29.3:', type=('build', 'run'), when='@1.58.0:')
- depends_on('r-rsamtools', type=('build', 'run'))
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.8:", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.36:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.28:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-iranges@2.1.33:", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@1.46.0:")
+ depends_on("r-iranges@2.13.16:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-genomeinfodb@1.11.4:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.13.1:", type=("build", "run"), when="@1.46.0:")
+ depends_on("r-genomeinfodb@1.15.2:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-genomeinfodb@1.25.6:", type=("build", "run"), when="@1.58.0:")
+ depends_on("r-genomicranges@1.27.6:", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"), when="@1.46.0:")
+ depends_on("r-genomicranges@1.31.10:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-biostrings@2.35.3:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-rtracklayer@1.25.8:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.39.7:", type=("build", "run"), when="@1.48.0:")
+ depends_on("r-matrixstats", type=("build", "run"), when="@1.58.0:")
+ depends_on("r-xvector", type=("build", "run"))
+ depends_on("r-xvector@0.29.3:", type=("build", "run"), when="@1.58.0:")
+ depends_on("r-rsamtools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bslib/package.py b/var/spack/repos/builtin/packages/r-bslib/package.py
index f51b4e9408..51de6bb10b 100644
--- a/var/spack/repos/builtin/packages/r-bslib/package.py
+++ b/var/spack/repos/builtin/packages/r-bslib/package.py
@@ -16,11 +16,11 @@ class RBslib(RPackage):
cran = "bslib"
- version('0.3.1', sha256='5f5cb56e5cab9039a24cd9d70d73b69c2cab5b2f5f37afc15f71dae0339d9849')
+ version("0.3.1", sha256="5f5cb56e5cab9039a24cd9d70d73b69c2cab5b2f5f37afc15f71dae0339d9849")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-htmltools@0.5.2:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-sass@0.4.0:', type=('build', 'run'))
- depends_on('r-jquerylib@0.1.3:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-htmltools@0.5.2:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-sass@0.4.0:", type=("build", "run"))
+ depends_on("r-jquerylib@0.1.3:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bsseq/package.py b/var/spack/repos/builtin/packages/r-bsseq/package.py
index c814ecf79c..b67d75090c 100644
--- a/var/spack/repos/builtin/packages/r-bsseq/package.py
+++ b/var/spack/repos/builtin/packages/r-bsseq/package.py
@@ -14,47 +14,47 @@ class RBsseq(RPackage):
bioc = "bsseq"
- version('1.32.0', commit='a0c1eacbc479c57bd836e885e162c28bbe08e115')
- version('1.30.0', commit='7eb5223e9ee02fd08a52be56eaa9316a67c0d66b')
- version('1.26.0', commit='fae32292687625012a2938a48c93df55ad4257b5')
- version('1.24.4', commit='8fe7a03')
- version('1.22.0', commit='d4f7301')
- version('1.20.0', commit='07e398b')
+ version("1.32.0", commit="a0c1eacbc479c57bd836e885e162c28bbe08e115")
+ version("1.30.0", commit="7eb5223e9ee02fd08a52be56eaa9316a67c0d66b")
+ version("1.26.0", commit="fae32292687625012a2938a48c93df55ad4257b5")
+ version("1.24.4", commit="8fe7a03")
+ version("1.22.0", commit="d4f7301")
+ version("1.20.0", commit="07e398b")
- depends_on('r@3.5:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'))
- depends_on('r-genomicranges@1.33.6:', type=('build', 'run'), when='@1.24.4:')
- depends_on('r-genomicranges@1.41.5:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-summarizedexperiment@1.9.18:', type=('build', 'run'))
- depends_on('r-summarizedexperiment@1.17.4:', type=('build', 'run'), when='@1.24.4:')
- depends_on('r-summarizedexperiment@1.19.5:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-iranges@2.11.16:', type=('build', 'run'))
- depends_on('r-iranges@2.22.2:', type=('build', 'run'), when='@1.24.4:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-data-table@1.11.8:', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-s4vectors@0.23.11:', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-s4vectors@0.25.14:', type=('build', 'run'), when='@1.24.4:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-r-utils@2.0.0:', type=('build', 'run'))
- depends_on('r-delayedmatrixstats@1.5.2:', type=('build', 'run'))
- depends_on('r-permute', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-delayedarray@0.9.8:', type=('build', 'run'))
- depends_on('r-delayedarray@0.15.16:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-bsgenome', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-hdf5array@1.11.9:', type=('build', 'run'))
- depends_on('r-hdf5array@1.15.19:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-hdf5array@1.19.11:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-rhdf5', type=('build', 'run'))
- depends_on('r-beachmat', type=('build', 'run'))
+ depends_on("r@3.5:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"))
+ depends_on("r-genomicranges@1.33.6:", type=("build", "run"), when="@1.24.4:")
+ depends_on("r-genomicranges@1.41.5:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-summarizedexperiment@1.9.18:", type=("build", "run"))
+ depends_on("r-summarizedexperiment@1.17.4:", type=("build", "run"), when="@1.24.4:")
+ depends_on("r-summarizedexperiment@1.19.5:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-iranges@2.11.16:", type=("build", "run"))
+ depends_on("r-iranges@2.22.2:", type=("build", "run"), when="@1.24.4:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-data-table@1.11.8:", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-s4vectors@0.23.11:", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-s4vectors@0.25.14:", type=("build", "run"), when="@1.24.4:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-r-utils@2.0.0:", type=("build", "run"))
+ depends_on("r-delayedmatrixstats@1.5.2:", type=("build", "run"))
+ depends_on("r-permute", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-delayedarray@0.9.8:", type=("build", "run"))
+ depends_on("r-delayedarray@0.15.16:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-bsgenome", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-hdf5array@1.11.9:", type=("build", "run"))
+ depends_on("r-hdf5array@1.15.19:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-hdf5array@1.19.11:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-rhdf5", type=("build", "run"))
+ depends_on("r-beachmat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bumphunter/package.py b/var/spack/repos/builtin/packages/r-bumphunter/package.py
index fd014d50bd..a6b8e6b07c 100644
--- a/var/spack/repos/builtin/packages/r-bumphunter/package.py
+++ b/var/spack/repos/builtin/packages/r-bumphunter/package.py
@@ -9,32 +9,32 @@ from spack.package import *
class RBumphunter(RPackage):
"""Bump Hunter.
- Tools for finding bumps in genomic data"""
+ Tools for finding bumps in genomic data"""
bioc = "bumphunter"
- version('1.38.0', commit='06e2fa87b342d48793d0d2f1f7d94a95a6613995')
- version('1.36.0', commit='db50fcf7798c2eddfe48fd510d081dda82f2ee4e')
- version('1.32.0', commit='b7d39c2a6385ca217dceefc918b3ccd5c31bbaa0')
- version('1.26.0', commit='606bee8708a0911ced3efb197970b4c9fa52f2fa')
- version('1.24.5', commit='29b874033a38e86103b58ef2d4a55f285758147b')
- version('1.22.0', commit='fb71b193f4ef7fa12d100441e6eb498765f7afde')
- version('1.20.0', commit='c9d8e7ab0c19299988e5d7fa74970312e9a1eac0')
- version('1.16.0', commit='1c3ab4d1fd2d75b1586ccef12665960b3602080a')
+ version("1.38.0", commit="06e2fa87b342d48793d0d2f1f7d94a95a6613995")
+ version("1.36.0", commit="db50fcf7798c2eddfe48fd510d081dda82f2ee4e")
+ version("1.32.0", commit="b7d39c2a6385ca217dceefc918b3ccd5c31bbaa0")
+ version("1.26.0", commit="606bee8708a0911ced3efb197970b4c9fa52f2fa")
+ version("1.24.5", commit="29b874033a38e86103b58ef2d4a55f285758147b")
+ version("1.22.0", commit="fb71b193f4ef7fa12d100441e6eb498765f7afde")
+ version("1.20.0", commit="c9d8e7ab0c19299988e5d7fa74970312e9a1eac0")
+ version("1.16.0", commit="1c3ab4d1fd2d75b1586ccef12665960b3602080a")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@1.20.0:')
- depends_on('r@3.5:', type=('build', 'run'), when='@1.24.5:')
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-iranges@2.3.23:', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-iterators', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-dorng', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-genomicfeatures', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@1.20.0:")
+ depends_on("r@3.5:", type=("build", "run"), when="@1.24.5:")
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-iranges@2.3.23:", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-iterators", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-dorng", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-genomicfeatures", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-bwstest/package.py b/var/spack/repos/builtin/packages/r-bwstest/package.py
index 0735ad26c9..f013955cbd 100644
--- a/var/spack/repos/builtin/packages/r-bwstest/package.py
+++ b/var/spack/repos/builtin/packages/r-bwstest/package.py
@@ -17,7 +17,7 @@ class RBwstest(RPackage):
cran = "BWStest"
- version('0.2.2', sha256='faff1dd698f1673a6befacb94d14281077d4c19be035a0a3bf85d77c1dfd5509')
+ version("0.2.2", sha256="faff1dd698f1673a6befacb94d14281077d4c19be035a0a3bf85d77c1dfd5509")
- depends_on('r-memoise', type=('build', 'run'))
- depends_on('r-rcpp@0.12.3:', type=('build', 'run'))
+ depends_on("r-memoise", type=("build", "run"))
+ depends_on("r-rcpp@0.12.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-c50/package.py b/var/spack/repos/builtin/packages/r-c50/package.py
index 0fd1a67f5f..35f7b30779 100644
--- a/var/spack/repos/builtin/packages/r-c50/package.py
+++ b/var/spack/repos/builtin/packages/r-c50/package.py
@@ -15,15 +15,15 @@ class RC50(RPackage):
cran = "C50"
- version('0.1.6', sha256='cc20c0e2656287e6ca76ea341a703c816798b212ea4658f249ec047dbbf18cb4')
- version('0.1.5', sha256='f0c17b4830371832ca64f5fcc702351a394ee90b384e0865307de9447f3f16d7')
- version('0.1.3.1', sha256='0b151ba8deef50ab2e2ad8469d87f54f0c6ab862f5c790ed8bb16cb3b8027546')
- version('0.1.2', sha256='8f459856e0309274bee24462b7145db4eba1d71031c236db39000a5375bdfaba')
- version('0.1.1', sha256='03bc1fc2f64bcd5c680568a24902deafab1965074a66f8802bc4cd0335bd01df')
- version('0.1.0-24', sha256='617ee8ae617a075213414c07739ce92d9e6927783d01588fd0e2315157065e9d')
-
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-partykit', type=('build', 'run'))
- depends_on('r-cubist@0.2.1:', type=('build', 'run'))
- depends_on('r-cubist@0.2.3:', type=('build', 'run'), when='@0.1.3.1:')
- depends_on('r-cubist@0.3.0:', type=('build', 'run'), when='@0.1.5:')
+ version("0.1.6", sha256="cc20c0e2656287e6ca76ea341a703c816798b212ea4658f249ec047dbbf18cb4")
+ version("0.1.5", sha256="f0c17b4830371832ca64f5fcc702351a394ee90b384e0865307de9447f3f16d7")
+ version("0.1.3.1", sha256="0b151ba8deef50ab2e2ad8469d87f54f0c6ab862f5c790ed8bb16cb3b8027546")
+ version("0.1.2", sha256="8f459856e0309274bee24462b7145db4eba1d71031c236db39000a5375bdfaba")
+ version("0.1.1", sha256="03bc1fc2f64bcd5c680568a24902deafab1965074a66f8802bc4cd0335bd01df")
+ version("0.1.0-24", sha256="617ee8ae617a075213414c07739ce92d9e6927783d01588fd0e2315157065e9d")
+
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-partykit", type=("build", "run"))
+ depends_on("r-cubist@0.2.1:", type=("build", "run"))
+ depends_on("r-cubist@0.2.3:", type=("build", "run"), when="@0.1.3.1:")
+ depends_on("r-cubist@0.3.0:", type=("build", "run"), when="@0.1.5:")
diff --git a/var/spack/repos/builtin/packages/r-ca/package.py b/var/spack/repos/builtin/packages/r-ca/package.py
index 35113b9325..248b0c9651 100644
--- a/var/spack/repos/builtin/packages/r-ca/package.py
+++ b/var/spack/repos/builtin/packages/r-ca/package.py
@@ -15,6 +15,6 @@ class RCa(RPackage):
cran = "ca"
- version('0.71.1', sha256='040c2fc94c356075f116cc7cd880530b3c9e02206c0035182c03a525ee99b424')
+ version("0.71.1", sha256="040c2fc94c356075f116cc7cd880530b3c9e02206c0035182c03a525ee99b424")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cachem/package.py b/var/spack/repos/builtin/packages/r-cachem/package.py
index db4694b09f..a33b64a4fa 100644
--- a/var/spack/repos/builtin/packages/r-cachem/package.py
+++ b/var/spack/repos/builtin/packages/r-cachem/package.py
@@ -15,7 +15,7 @@ class RCachem(RPackage):
cran = "cachem"
- version('1.0.6', sha256='9a9452f7bcf3f79436c418b3c3290449fb8fd338714d9b992153754d112f1864')
+ version("1.0.6", sha256="9a9452f7bcf3f79436c418b3c3290449fb8fd338714d9b992153754d112f1864")
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-fastmap', type=('build', 'run'))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-fastmap", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cairo/package.py b/var/spack/repos/builtin/packages/r-cairo/package.py
index 3246fca17d..5a29052b43 100644
--- a/var/spack/repos/builtin/packages/r-cairo/package.py
+++ b/var/spack/repos/builtin/packages/r-cairo/package.py
@@ -25,12 +25,12 @@ class RCairo(RPackage):
cran = "Cairo"
- version('1.5-15', sha256='bb3ab1ff6431c15eb01a66ddf90695cd9a2af3d5a384753f5180cd0401d2e89d')
- version('1.5-14', sha256='067751face3b5771e72f9fb49bfeefb3a7bbecc060b672ab4393cb5935204c7b')
- version('1.5-12.2', sha256='dd524105c83b82b5c3b3ee2583ef90d4cafa54b0c29817dac48b425b79f90f92')
- version('1.5-10', sha256='7837f0c384cd49bb3342cb39a916d7a80b02fffbf123913a58014e597f69b5d5')
- version('1.5-9', sha256='2a867b6cae96671d6bc3acf9334d6615dc01f6ecf1953a27cde8a43c724a38f4')
+ version("1.5-15", sha256="bb3ab1ff6431c15eb01a66ddf90695cd9a2af3d5a384753f5180cd0401d2e89d")
+ version("1.5-14", sha256="067751face3b5771e72f9fb49bfeefb3a7bbecc060b672ab4393cb5935204c7b")
+ version("1.5-12.2", sha256="dd524105c83b82b5c3b3ee2583ef90d4cafa54b0c29817dac48b425b79f90f92")
+ 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("r+X", type=("build", "run"))
+ depends_on("r@2.4.0:", type=("build", "run"))
+ depends_on("cairo@1.2:")
diff --git a/var/spack/repos/builtin/packages/r-callr/package.py b/var/spack/repos/builtin/packages/r-callr/package.py
index 058ff0ece9..f96b062866 100644
--- a/var/spack/repos/builtin/packages/r-callr/package.py
+++ b/var/spack/repos/builtin/packages/r-callr/package.py
@@ -15,14 +15,14 @@ class RCallr(RPackage):
cran = "callr"
- version('3.7.0', sha256='d67255148595c6d0ba4c4d241bc9f6b5e00cafe25fdc13e38c10acc38653360a')
- version('3.5.1', sha256='ce338c648cc9ab501168a55f93e68fc81e31dc5ec881e908b5b4a9d6f5bd8696')
- version('3.4.3', sha256='01b7277f20c1d662c6bebbfa2798d179922b36d4148b4298853579aeda0382b5')
- version('3.3.1', sha256='bf60da47357d3336aa395b0c9643235a621763c80d28bc9bb2257767d0a37967')
- version('3.2.0', sha256='4bb47b1018e8eb5c683a86c05d0d9b8b25848db1f1b30e92cfebedc0ce14b0e8')
- version('3.0.0', sha256='e36361086c65660a6ecbbc09b5ecfcddee6b59caf75e983e48b21d3b8defabe7')
- version('1.0.0', sha256='2c56808c723aba2ea8a8b6bbdc9b8332c96f59b119079861dd52f5988c27f715')
+ version("3.7.0", sha256="d67255148595c6d0ba4c4d241bc9f6b5e00cafe25fdc13e38c10acc38653360a")
+ version("3.5.1", sha256="ce338c648cc9ab501168a55f93e68fc81e31dc5ec881e908b5b4a9d6f5bd8696")
+ version("3.4.3", sha256="01b7277f20c1d662c6bebbfa2798d179922b36d4148b4298853579aeda0382b5")
+ version("3.3.1", sha256="bf60da47357d3336aa395b0c9643235a621763c80d28bc9bb2257767d0a37967")
+ version("3.2.0", sha256="4bb47b1018e8eb5c683a86c05d0d9b8b25848db1f1b30e92cfebedc0ce14b0e8")
+ version("3.0.0", sha256="e36361086c65660a6ecbbc09b5ecfcddee6b59caf75e983e48b21d3b8defabe7")
+ version("1.0.0", sha256="2c56808c723aba2ea8a8b6bbdc9b8332c96f59b119079861dd52f5988c27f715")
- depends_on('r-processx@3.4.0:', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-processx@3.5.0:', type=('build', 'run'), when='@3.6.0:')
- depends_on('r-r6', type=('build', 'run'), when='@3.0.0:')
+ depends_on("r-processx@3.4.0:", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-processx@3.5.0:", type=("build", "run"), when="@3.6.0:")
+ depends_on("r-r6", type=("build", "run"), when="@3.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-car/package.py b/var/spack/repos/builtin/packages/r-car/package.py
index 1b667314f3..12ba5875cd 100644
--- a/var/spack/repos/builtin/packages/r-car/package.py
+++ b/var/spack/repos/builtin/packages/r-car/package.py
@@ -14,26 +14,26 @@ class RCar(RPackage):
cran = "car"
- version('3.0-13', sha256='d35ae8da80284c9e4471ff13e7100c3cdc1809fd06f813cd223a3958e29e47eb')
- version('3.0-12', sha256='b899a6efae3842a90a2349d381dbcf4b4ed36bd03108ebe7380e81120e457302')
- version('3.0-11', sha256='b32c927206f515631ff276dbb337b0f22e9b2d851f4abb1d2c272e534c19542c')
- version('3.0-10', sha256='1ce316d2fee9b47c951d25d096be732489a3c9f6fc9e612a1eca2e50fb5925f1')
- version('3.0-3', sha256='fa807cb12f6e7fb38ec534cac4eef54747945c2119a7d51155a2492ad778c36f')
- version('3.0-2', sha256='df59a9ba8fed67eef5ddb8f92f2b41745df715d5695c71d562d7031513f37c50')
- version('2.1-4', sha256='fd39cf1750cb560a66623fea3fa9e6a94fc24e3dc36367aff24df7d0743edb28')
- version('2.1-2', sha256='8cc3e57f172c8782a08960b508906d3201596a21f4b6c1dab8d4e59353093652')
+ version("3.0-13", sha256="d35ae8da80284c9e4471ff13e7100c3cdc1809fd06f813cd223a3958e29e47eb")
+ version("3.0-12", sha256="b899a6efae3842a90a2349d381dbcf4b4ed36bd03108ebe7380e81120e457302")
+ version("3.0-11", sha256="b32c927206f515631ff276dbb337b0f22e9b2d851f4abb1d2c272e534c19542c")
+ version("3.0-10", sha256="1ce316d2fee9b47c951d25d096be732489a3c9f6fc9e612a1eca2e50fb5925f1")
+ version("3.0-3", sha256="fa807cb12f6e7fb38ec534cac4eef54747945c2119a7d51155a2492ad778c36f")
+ version("3.0-2", sha256="df59a9ba8fed67eef5ddb8f92f2b41745df715d5695c71d562d7031513f37c50")
+ version("2.1-4", sha256="fd39cf1750cb560a66623fea3fa9e6a94fc24e3dc36367aff24df7d0743edb28")
+ version("2.1-2", sha256="8cc3e57f172c8782a08960b508906d3201596a21f4b6c1dab8d4e59353093652")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.0-3:')
- depends_on('r-cardata@3.0-0:', type=('build', 'run'), when='@3.0:')
- depends_on('r-abind', type=('build', 'run'), when='@3.0:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-pbkrtest@0.4-4:', type=('build', 'run'))
- depends_on('r-quantreg', type=('build', 'run'))
- depends_on('r-maptools', type=('build', 'run'), when='@3.0:')
- depends_on('r-rio', type=('build', 'run'), when='@3.0:3.0-11')
- depends_on('r-lme4', type=('build', 'run'), when='@3.0:')
- depends_on('r-lme4@1.1-27.1:', type=('build', 'run'), when='@3.0-11:')
- depends_on('r-nlme', type=('build', 'run'), when='@3.0:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.0-3:")
+ depends_on("r-cardata@3.0-0:", type=("build", "run"), when="@3.0:")
+ depends_on("r-abind", type=("build", "run"), when="@3.0:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-pbkrtest@0.4-4:", type=("build", "run"))
+ depends_on("r-quantreg", type=("build", "run"))
+ depends_on("r-maptools", type=("build", "run"), when="@3.0:")
+ depends_on("r-rio", type=("build", "run"), when="@3.0:3.0-11")
+ depends_on("r-lme4", type=("build", "run"), when="@3.0:")
+ depends_on("r-lme4@1.1-27.1:", type=("build", "run"), when="@3.0-11:")
+ depends_on("r-nlme", type=("build", "run"), when="@3.0:")
diff --git a/var/spack/repos/builtin/packages/r-caracas/package.py b/var/spack/repos/builtin/packages/r-caracas/package.py
index 63d6e5762a..159e5e1e85 100644
--- a/var/spack/repos/builtin/packages/r-caracas/package.py
+++ b/var/spack/repos/builtin/packages/r-caracas/package.py
@@ -15,12 +15,12 @@ class RCaracas(RPackage):
cran = "caracas"
- version('1.1.2', sha256='9c726c77508617e74d1a11ac6e276973df42e1ad81145db455cc6e420526c757')
- version('1.1.1', sha256='e14487c9492417cf5c7d7373c37dbb4fea4d91180a1a03154e51eaa7878b2769')
- version('1.0.1', sha256='2482dd7b77791243b8174cb41b80b735c3ebd7db837bbf991127514f492af594')
- version('1.0.0', sha256='0da6f1d94d1dacb1c11a3635bdff8f7cd8f84373deffa7126636d0876d48e42b')
+ version("1.1.2", sha256="9c726c77508617e74d1a11ac6e276973df42e1ad81145db455cc6e420526c757")
+ version("1.1.1", sha256="e14487c9492417cf5c7d7373c37dbb4fea4d91180a1a03154e51eaa7878b2769")
+ version("1.0.1", sha256="2482dd7b77791243b8174cb41b80b735c3ebd7db837bbf991127514f492af594")
+ version("1.0.0", sha256="0da6f1d94d1dacb1c11a3635bdff8f7cd8f84373deffa7126636d0876d48e42b")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-reticulate@1.14:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'), when='@1.1.1:')
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-reticulate@1.14:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"), when="@1.1.1:")
+ depends_on("python@3.6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cardata/package.py b/var/spack/repos/builtin/packages/r-cardata/package.py
index e0aab0685e..67c55d2a10 100644
--- a/var/spack/repos/builtin/packages/r-cardata/package.py
+++ b/var/spack/repos/builtin/packages/r-cardata/package.py
@@ -14,9 +14,9 @@ class RCardata(RPackage):
cran = "carData"
- version('3.0-5', sha256='02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a')
- version('3.0-4', sha256='cda6f5e3efc1d955a4a0625e9c33f90d49f5455840e88b3bd757129b86044724')
- version('3.0-2', sha256='3b5c4eff1cc1e456a5331084774503eaa06cf61fb7acf6b9e8a6bfabd5735494')
+ version("3.0-5", sha256="02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a")
+ version("3.0-4", sha256="cda6f5e3efc1d955a4a0625e9c33f90d49f5455840e88b3bd757129b86044724")
+ version("3.0-2", sha256="3b5c4eff1cc1e456a5331084774503eaa06cf61fb7acf6b9e8a6bfabd5735494")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@3.0-4:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@3.0-4:")
diff --git a/var/spack/repos/builtin/packages/r-caret/package.py b/var/spack/repos/builtin/packages/r-caret/package.py
index 045eb64136..fe89a3cb93 100644
--- a/var/spack/repos/builtin/packages/r-caret/package.py
+++ b/var/spack/repos/builtin/packages/r-caret/package.py
@@ -14,28 +14,28 @@ class RCaret(RPackage):
cran = "caret"
- version('6.0-92', sha256='1d814a2a921a23ad8b9a7da6f788e6abc06f5668b3918bd440d4355bc4b81511')
- version('6.0-90', sha256='e851a4ed7d939c665e57e3551a5464b09fe4285e7c951236efdd890b0da866bc')
- version('6.0-86', sha256='da4a1c7c3fbf645c5b02871e563a77404622b83623f0d1c5dc1425de7aa4ce37')
- version('6.0-84', sha256='a1831c086a9c71b469f7405649ba04517683cdf229e119c005189cf57244090d')
- version('6.0-83', sha256='9bde5e4da1f0b690bfe06c2439c0136504e851a8d360bf56b644f171fe20dcef')
- version('6.0-73', sha256='90a0a4a10f1a3b37502cb0ed7d8830063d059a548faabb9cc5d8d34736c7eacb')
- version('6.0-70', sha256='21c5bdf7cf07bece38729465366564d8ca104c2466ee9fd800ca1fd88eb82f38')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@6.0-82:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-lattice@0.20:', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'), when='@6.0-90:')
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-modelmetrics@1.1.0:', type=('build', 'run'))
- depends_on('r-modelmetrics@1.2.2.2:', type=('build', 'run'), when='@6.0-86:')
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-proc', type=('build', 'run'), when='@6.0-86:')
- depends_on('r-recipes@0.1.4:', type=('build', 'run'), when='@6.0-83:6.0-84')
- depends_on('r-recipes@0.1.10:', type=('build', 'run'), when='@6.0-86:')
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-withr@2.0.0:', type=('build', 'run'), when='@6.0-83:')
-
- depends_on('r-car', type=('build', 'run'), when='@:6.0-73')
+ version("6.0-92", sha256="1d814a2a921a23ad8b9a7da6f788e6abc06f5668b3918bd440d4355bc4b81511")
+ version("6.0-90", sha256="e851a4ed7d939c665e57e3551a5464b09fe4285e7c951236efdd890b0da866bc")
+ version("6.0-86", sha256="da4a1c7c3fbf645c5b02871e563a77404622b83623f0d1c5dc1425de7aa4ce37")
+ version("6.0-84", sha256="a1831c086a9c71b469f7405649ba04517683cdf229e119c005189cf57244090d")
+ version("6.0-83", sha256="9bde5e4da1f0b690bfe06c2439c0136504e851a8d360bf56b644f171fe20dcef")
+ version("6.0-73", sha256="90a0a4a10f1a3b37502cb0ed7d8830063d059a548faabb9cc5d8d34736c7eacb")
+ version("6.0-70", sha256="21c5bdf7cf07bece38729465366564d8ca104c2466ee9fd800ca1fd88eb82f38")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@6.0-82:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-lattice@0.20:", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"), when="@6.0-90:")
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-modelmetrics@1.1.0:", type=("build", "run"))
+ depends_on("r-modelmetrics@1.2.2.2:", type=("build", "run"), when="@6.0-86:")
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-proc", type=("build", "run"), when="@6.0-86:")
+ depends_on("r-recipes@0.1.4:", type=("build", "run"), when="@6.0-83:6.0-84")
+ depends_on("r-recipes@0.1.10:", type=("build", "run"), when="@6.0-86:")
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-withr@2.0.0:", type=("build", "run"), when="@6.0-83:")
+
+ depends_on("r-car", type=("build", "run"), when="@:6.0-73")
diff --git a/var/spack/repos/builtin/packages/r-caretensemble/package.py b/var/spack/repos/builtin/packages/r-caretensemble/package.py
index 3fdc5917c4..7b4032eff0 100644
--- a/var/spack/repos/builtin/packages/r-caretensemble/package.py
+++ b/var/spack/repos/builtin/packages/r-caretensemble/package.py
@@ -18,14 +18,14 @@ class RCaretensemble(RPackage):
cran = "caretEnsemble"
- version('2.0.1', sha256='7e595e604ce2d9d32afbc5404e6fcbcd7f80e687316e9ca3303aca3e44c3ef88')
+ version("2.0.1", sha256="7e595e604ce2d9d32afbc5404e6fcbcd7f80e687316e9ca3303aca3e44c3ef88")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-pbapply', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-caret', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-pbapply", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-caret", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-caroline/package.py b/var/spack/repos/builtin/packages/r-caroline/package.py
index 4fca021ec7..17d944149e 100644
--- a/var/spack/repos/builtin/packages/r-caroline/package.py
+++ b/var/spack/repos/builtin/packages/r-caroline/package.py
@@ -22,7 +22,7 @@ class RCaroline(RPackage):
cran = "caroline"
- version('0.8.0', sha256='58f464711f7279ca2aa173e6ce29d3308e01db37dccefbbf14cd7720c0231976')
- version('0.7.6', sha256='e7ba948f7d87f091b498dd0eec2ca4fdad7af4e2bbb67e0945c2f0d3f2eadda9')
+ version("0.8.0", sha256="58f464711f7279ca2aa173e6ce29d3308e01db37dccefbbf14cd7720c0231976")
+ version("0.7.6", sha256="e7ba948f7d87f091b498dd0eec2ca4fdad7af4e2bbb67e0945c2f0d3f2eadda9")
- depends_on('r@1.8.0:', type=('build', 'run'))
+ depends_on("r@1.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-category/package.py b/var/spack/repos/builtin/packages/r-category/package.py
index 0aae98c8be..cdcc8555f8 100644
--- a/var/spack/repos/builtin/packages/r-category/package.py
+++ b/var/spack/repos/builtin/packages/r-category/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RCategory(RPackage):
"""Category Analysis.
- A collection of tools for performing category (gene set enrichment)
- analysis."""
+ A collection of tools for performing category (gene set enrichment)
+ analysis."""
bioc = "Category"
- version('2.62.0', commit='0fe801c0c443aebd5d4cefa8c30e4e7d0931b673')
- version('2.60.0', commit='55210d8c539474954d18cf913a219dce883eac2e')
- version('2.56.0', commit='ad478caa9d693dbc2770608e79dd852375b9a223')
- version('2.50.0', commit='d96f0b29cb778f6697b44d7ba7b0abd7086074a9')
- version('2.48.1', commit='941819a3d9dd129f47b4ea00fa74032e405be3a5')
- version('2.46.0', commit='c8aeee4dee3fb120f25e0647dd06e895a3ffbc2a')
- version('2.44.0', commit='eaba50c1a801ba7983e6ffdf41ab0fc9cfe5a626')
- version('2.42.1', commit='382c817a2371671a72f8f949dfb4050361ebabcd')
+ version("2.62.0", commit="0fe801c0c443aebd5d4cefa8c30e4e7d0931b673")
+ version("2.60.0", commit="55210d8c539474954d18cf913a219dce883eac2e")
+ version("2.56.0", commit="ad478caa9d693dbc2770608e79dd852375b9a223")
+ version("2.50.0", commit="d96f0b29cb778f6697b44d7ba7b0abd7086074a9")
+ version("2.48.1", commit="941819a3d9dd129f47b4ea00fa74032e405be3a5")
+ version("2.46.0", commit="c8aeee4dee3fb120f25e0647dd06e895a3ffbc2a")
+ version("2.44.0", commit="eaba50c1a801ba7983e6ffdf41ab0fc9cfe5a626")
+ version("2.42.1", commit="382c817a2371671a72f8f949dfb4050361ebabcd")
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-rbgl', type=('build', 'run'))
- depends_on('r-gseabase', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-rbgl", type=("build", "run"))
+ depends_on("r-gseabase", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-catools/package.py b/var/spack/repos/builtin/packages/r-catools/package.py
index 5606fea5db..edb0ec93f4 100644
--- a/var/spack/repos/builtin/packages/r-catools/package.py
+++ b/var/spack/repos/builtin/packages/r-catools/package.py
@@ -17,12 +17,12 @@ class RCatools(RPackage):
cran = "caTools"
- version('1.18.2', sha256='75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293')
- version('1.18.1', sha256='ffeba4ffbeed5d491bf79b1fde3477f413341e412f77316af20439f54447c9f9')
- version('1.17.1.2', sha256='69cc542fab5677462b1a768709d0c4a0a0790f5db53e1fe9ae7123787c18726b')
- version('1.17.1.1', sha256='d53e2c5c77f1bd4744703d7196dbc9b4671a120bbb5b9b3edc45fc57c0650c06')
- version('1.17.1', sha256='d32a73febf00930355cc00f3e4e71357412e0f163faae6a4bf7f552cacfe9af4')
-
- depends_on('r@2.2.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.18.1:')
- depends_on('r-bitops', type=('build', 'run'))
+ version("1.18.2", sha256="75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293")
+ version("1.18.1", sha256="ffeba4ffbeed5d491bf79b1fde3477f413341e412f77316af20439f54447c9f9")
+ version("1.17.1.2", sha256="69cc542fab5677462b1a768709d0c4a0a0790f5db53e1fe9ae7123787c18726b")
+ version("1.17.1.1", sha256="d53e2c5c77f1bd4744703d7196dbc9b4671a120bbb5b9b3edc45fc57c0650c06")
+ version("1.17.1", sha256="d32a73febf00930355cc00f3e4e71357412e0f163faae6a4bf7f552cacfe9af4")
+
+ depends_on("r@2.2.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.18.1:")
+ depends_on("r-bitops", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cca/package.py b/var/spack/repos/builtin/packages/r-cca/package.py
index 3f6f838d5e..0573304245 100644
--- a/var/spack/repos/builtin/packages/r-cca/package.py
+++ b/var/spack/repos/builtin/packages/r-cca/package.py
@@ -15,10 +15,10 @@ class RCca(RPackage):
the canonical correlation analysis to deal with datasets with more
variables than observations."""
- cran = 'CCA'
+ cran = "CCA"
- version('1.2.1', sha256='28febfce7c46039240346410e70f9d8795b536fc4e7e0d48d5370bd23cba9bd0')
+ version("1.2.1", sha256="28febfce7c46039240346410e70f9d8795b536fc4e7e0d48d5370bd23cba9bd0")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-fields', type=('build', 'run'))
- depends_on('r-fda', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-fields", type=("build", "run"))
+ depends_on("r-fda", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ccp/package.py b/var/spack/repos/builtin/packages/r-ccp/package.py
index fec52cc3af..ca3cc1ae3e 100644
--- a/var/spack/repos/builtin/packages/r-ccp/package.py
+++ b/var/spack/repos/builtin/packages/r-ccp/package.py
@@ -13,7 +13,7 @@ class RCcp(RPackage):
Significance tests for canonical correlation analysis, including asymptotic
tests and a Monte Carlo method"""
- cran = 'CCP'
+ cran = "CCP"
- version('1.2', sha256='7e3906abf51f4c7046730760800711b915f52855fbb2bfd33eca8fa75e70f618')
- version('1.1', sha256='9d21cda05221f1a458fe2938cd5ff0e89711ef058865d25f9894a275c7805d1e')
+ version("1.2", sha256="7e3906abf51f4c7046730760800711b915f52855fbb2bfd33eca8fa75e70f618")
+ version("1.1", sha256="9d21cda05221f1a458fe2938cd5ff0e89711ef058865d25f9894a275c7805d1e")
diff --git a/var/spack/repos/builtin/packages/r-cdcfluview/package.py b/var/spack/repos/builtin/packages/r-cdcfluview/package.py
index a9403f3024..3e69e7d46a 100644
--- a/var/spack/repos/builtin/packages/r-cdcfluview/package.py
+++ b/var/spack/repos/builtin/packages/r-cdcfluview/package.py
@@ -19,21 +19,21 @@ class RCdcfluview(RPackage):
cran = "cdcfluview"
- version('0.9.4', sha256='776a155c4f0cc678fde94a6d47cc2783ff5c199f26cce642461092e1b6311dad')
- version('0.9.2', sha256='f2080fc80c5e0241f8b657f5ac3a251ea89dfc26c1ab13bdfaed4d4e97495015')
- version('0.9.0', sha256='1b2064886858cbb1790ef808d88fbab75d3a9cf55e720638221a3377ff8dd244')
- version('0.7.0', sha256='8c8978d081f8472a6ed5ec54c4e6dd906f97ee28d0f88eef1514088f041ecc03')
+ version("0.9.4", sha256="776a155c4f0cc678fde94a6d47cc2783ff5c199f26cce642461092e1b6311dad")
+ version("0.9.2", sha256="f2080fc80c5e0241f8b657f5ac3a251ea89dfc26c1ab13bdfaed4d4e97495015")
+ version("0.9.0", sha256="1b2064886858cbb1790ef808d88fbab75d3a9cf55e720638221a3377ff8dd244")
+ version("0.7.0", sha256="8c8978d081f8472a6ed5ec54c4e6dd906f97ee28d0f88eef1514088f041ecc03")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.9.2:')
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-progress', type=('build', 'run'), when='@0.9.2:')
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@0.9.2:')
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'))
- depends_on('r-mmwrweek', type=('build', 'run'))
- depends_on('r-units@0.4-6:', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.9.2:")
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-progress", type=("build", "run"), when="@0.9.2:")
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@0.9.2:")
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"))
+ depends_on("r-mmwrweek", type=("build", "run"))
+ depends_on("r-units@0.4-6:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cellranger/package.py b/var/spack/repos/builtin/packages/r-cellranger/package.py
index 1464ce8595..303b6f12cf 100644
--- a/var/spack/repos/builtin/packages/r-cellranger/package.py
+++ b/var/spack/repos/builtin/packages/r-cellranger/package.py
@@ -14,8 +14,8 @@ class RCellranger(RPackage):
cran = "cellranger"
- version('1.1.0', sha256='5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99')
+ version("1.1.0", sha256="5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-rematch', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-rematch", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-champ/package.py b/var/spack/repos/builtin/packages/r-champ/package.py
index 88f1679c19..0950bc4718 100644
--- a/var/spack/repos/builtin/packages/r-champ/package.py
+++ b/var/spack/repos/builtin/packages/r-champ/package.py
@@ -16,47 +16,47 @@ class RChamp(RPackage):
bioc = "ChAMP"
- version('2.26.0', commit='1548910bf53e1e5f7a8d80c83b742a94297d8a34')
- version('2.24.0', commit='7ba19da74b61e1c40ced162ba753f0f9b9c7647a')
- version('2.20.1', commit='99ea0463bce59f5b06bcc91f479dcd4065074896')
+ version("2.26.0", commit="1548910bf53e1e5f7a8d80c83b742a94297d8a34")
+ version("2.24.0", commit="7ba19da74b61e1c40ced162ba753f0f9b9c7647a")
+ version("2.20.1", commit="99ea0463bce59f5b06bcc91f479dcd4065074896")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
- depends_on('r-champdata@2.6.0:', type=('build', 'run'))
- depends_on('r-dmrcate', type=('build', 'run'))
- depends_on('r-illumina450probevariants-db', type=('build', 'run'))
- depends_on('r-illuminahumanmethylationepicmanifest', type=('build', 'run'))
- depends_on('r-dt', type=('build', 'run'))
- depends_on('r-rpmm', type=('build', 'run'))
- depends_on('r-prettydoc', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'))
- depends_on('r-globaltest', type=('build', 'run'))
- depends_on('r-sva', type=('build', 'run'))
- depends_on('r-illuminaio', type=('build', 'run'))
- depends_on('r-rmarkdown', type=('build', 'run'))
- depends_on('r-illuminahumanmethylation450kmanifest', type=('build', 'run'))
- depends_on('r-illuminahumanmethylationepicanno-ilm10b4-hg19', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-dnacopy', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-impute', type=('build', 'run'))
- depends_on('r-marray', type=('build', 'run'))
- depends_on('r-watermelon', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-goseq', type=('build', 'run'))
- depends_on('r-missmethyl', type=('build', 'run'))
- depends_on('r-kpmt', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-qvalue', type=('build', 'run'))
- depends_on('r-isva', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-bumphunter', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'))
- depends_on('r-shinythemes', type=('build', 'run'))
- depends_on('r-plotly@4.5.6:', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-dendextend', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-combinat', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
+ depends_on("r-champdata@2.6.0:", type=("build", "run"))
+ depends_on("r-dmrcate", type=("build", "run"))
+ depends_on("r-illumina450probevariants-db", type=("build", "run"))
+ depends_on("r-illuminahumanmethylationepicmanifest", type=("build", "run"))
+ depends_on("r-dt", type=("build", "run"))
+ depends_on("r-rpmm", type=("build", "run"))
+ depends_on("r-prettydoc", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"))
+ depends_on("r-globaltest", type=("build", "run"))
+ depends_on("r-sva", type=("build", "run"))
+ depends_on("r-illuminaio", type=("build", "run"))
+ depends_on("r-rmarkdown", type=("build", "run"))
+ depends_on("r-illuminahumanmethylation450kmanifest", type=("build", "run"))
+ depends_on("r-illuminahumanmethylationepicanno-ilm10b4-hg19", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-dnacopy", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-impute", type=("build", "run"))
+ depends_on("r-marray", type=("build", "run"))
+ depends_on("r-watermelon", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-goseq", type=("build", "run"))
+ depends_on("r-missmethyl", type=("build", "run"))
+ depends_on("r-kpmt", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-qvalue", type=("build", "run"))
+ depends_on("r-isva", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-bumphunter", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"))
+ depends_on("r-shinythemes", type=("build", "run"))
+ depends_on("r-plotly@4.5.6:", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-dendextend", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-combinat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-champdata/package.py b/var/spack/repos/builtin/packages/r-champdata/package.py
index 686ed6c048..d99fe71baa 100644
--- a/var/spack/repos/builtin/packages/r-champdata/package.py
+++ b/var/spack/repos/builtin/packages/r-champdata/package.py
@@ -14,10 +14,10 @@ class RChampdata(RPackage):
bioc = "ChAMPdata"
- version('2.28.0', commit='601555bf599828b6cfa125beffa51aebccdc8503')
- version('2.26.0', commit='ea7882707921af33eefab5133a1ccd4a409f045d')
- version('2.22.0', commit='eeedd4c477fac79f00743da8ff7da064221c5f3d')
+ version("2.28.0", commit="601555bf599828b6cfa125beffa51aebccdc8503")
+ version("2.26.0", commit="ea7882707921af33eefab5133a1ccd4a409f045d")
+ version("2.22.0", commit="eeedd4c477fac79f00743da8ff7da064221c5f3d")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.22.4:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.16.1:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.22.4:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.16.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-checkmate/package.py b/var/spack/repos/builtin/packages/r-checkmate/package.py
index 55f2ecdd53..e9d52d0f8b 100644
--- a/var/spack/repos/builtin/packages/r-checkmate/package.py
+++ b/var/spack/repos/builtin/packages/r-checkmate/package.py
@@ -15,10 +15,10 @@ class RCheckmate(RPackage):
cran = "checkmate"
- version('2.1.0', sha256='b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6')
- version('2.0.0', sha256='0dc25b0e20c04836359df1885d099c6e4ad8ae0e585a9e4107f7ea945d9c6fa4')
- version('1.9.4', sha256='faa25754b757fe483b876f5d07b73f76f69a1baa971420892fadec4af4bbad21')
- version('1.8.4', sha256='6f948883e5a885a1c409d997f0c782e754a549227ec3c8eb18318deceb38f8f6')
+ version("2.1.0", sha256="b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6")
+ version("2.0.0", sha256="0dc25b0e20c04836359df1885d099c6e4ad8ae0e585a9e4107f7ea945d9c6fa4")
+ version("1.9.4", sha256="faa25754b757fe483b876f5d07b73f76f69a1baa971420892fadec4af4bbad21")
+ version("1.8.4", sha256="6f948883e5a885a1c409d997f0c782e754a549227ec3c8eb18318deceb38f8f6")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-backports@1.1.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-backports@1.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-checkpoint/package.py b/var/spack/repos/builtin/packages/r-checkpoint/package.py
index 706926b798..4badbd85b0 100644
--- a/var/spack/repos/builtin/packages/r-checkpoint/package.py
+++ b/var/spack/repos/builtin/packages/r-checkpoint/package.py
@@ -28,17 +28,17 @@ class RCheckpoint(RPackage):
cran = "checkpoint"
- version('1.0.2', sha256='a80390d834534e908058a597a2a5ee60a111023e76f13f370949963582dd07a5')
- version('1.0.1', sha256='8542029395b7d557c1b39423326611f408788fcd02f5cbeb5ed252f368f8dcd2')
- version('1.0.0', sha256='d36146093763ca29e0296729399b96e0f2e7764745283d6cea1066a96fa085a7')
- version('0.4.10', sha256='7362ae9703763fe4652d0b592cd913ce506f072a18e5cf5970d08d7cdf4d126a')
- version('0.4.6', sha256='fd1a5edb5cb1a40d7ed26bb196de566110fe2ef62e70b4e947c003576a03ebb2')
- version('0.4.3', sha256='c3e862f89f8838183d6028f7ed13683aec562e6dab77ad4b6a5e24ec653cfb64')
- version('0.3.15', sha256='09f1feeb2b5b8b409a2e16a9185827b8da5e555f1aa84442a287f15e452beed7')
+ version("1.0.2", sha256="a80390d834534e908058a597a2a5ee60a111023e76f13f370949963582dd07a5")
+ version("1.0.1", sha256="8542029395b7d557c1b39423326611f408788fcd02f5cbeb5ed252f368f8dcd2")
+ version("1.0.0", sha256="d36146093763ca29e0296729399b96e0f2e7764745283d6cea1066a96fa085a7")
+ version("0.4.10", sha256="7362ae9703763fe4652d0b592cd913ce506f072a18e5cf5970d08d7cdf4d126a")
+ version("0.4.6", sha256="fd1a5edb5cb1a40d7ed26bb196de566110fe2ef62e70b4e947c003576a03ebb2")
+ version("0.4.3", sha256="c3e862f89f8838183d6028f7ed13683aec562e6dab77ad4b6a5e24ec653cfb64")
+ version("0.3.15", sha256="09f1feeb2b5b8b409a2e16a9185827b8da5e555f1aa84442a287f15e452beed7")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-jsonlite', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-yaml', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-withr', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-pkgdepends', type=('build', 'run'), when='@1.0.0:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-jsonlite", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-yaml", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-withr", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-pkgdepends", type=("build", "run"), when="@1.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-chemometrics/package.py b/var/spack/repos/builtin/packages/r-chemometrics/package.py
index 424d10cabf..963e53e94e 100644
--- a/var/spack/repos/builtin/packages/r-chemometrics/package.py
+++ b/var/spack/repos/builtin/packages/r-chemometrics/package.py
@@ -14,21 +14,21 @@ class RChemometrics(RPackage):
cran = "chemometrics"
- version('1.4.2', sha256='b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a')
- version('1.4.1', sha256='7646da0077657d672356204aa2094be68e10ec13617f92ae97ff53a389053905')
- version('1.3.9', sha256='553eda53789b6a4d0f77842c175f98be5b9a04bccc9d2ba0ecde1bb5c8a53f21')
- version('1.3.8', sha256='5a977bf1a9475d4dd4764ec9e99cbce237c5b624ef9aa96fcaf08406b1b8a56d')
- version('1.3.7', sha256='653a4f728c996983a4b5e5144229d0cf8b6754fb7e85e9014eeaf34fa19da42f')
+ version("1.4.2", sha256="b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a")
+ version("1.4.1", sha256="7646da0077657d672356204aa2094be68e10ec13617f92ae97ff53a389053905")
+ version("1.3.9", sha256="553eda53789b6a4d0f77842c175f98be5b9a04bccc9d2ba0ecde1bb5c8a53f21")
+ version("1.3.8", sha256="5a977bf1a9475d4dd4764ec9e99cbce237c5b624ef9aa96fcaf08406b1b8a56d")
+ version("1.3.7", sha256="653a4f728c996983a4b5e5144229d0cf8b6754fb7e85e9014eeaf34fa19da42f")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-mclust', type=('build', 'run'))
- depends_on('r-lars', type=('build', 'run'))
- depends_on('r-robustbase', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'))
- depends_on('r-pls', type=('build', 'run'))
- depends_on('r-som', type=('build', 'run'))
- depends_on('r-pcapp', type=('build', 'run'))
- depends_on('r-class', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-mclust", type=("build", "run"))
+ depends_on("r-lars", type=("build", "run"))
+ depends_on("r-robustbase", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"))
+ depends_on("r-pls", type=("build", "run"))
+ depends_on("r-som", type=("build", "run"))
+ depends_on("r-pcapp", type=("build", "run"))
+ depends_on("r-class", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-chipseq/package.py b/var/spack/repos/builtin/packages/r-chipseq/package.py
index 0604632139..d1d302dd58 100644
--- a/var/spack/repos/builtin/packages/r-chipseq/package.py
+++ b/var/spack/repos/builtin/packages/r-chipseq/package.py
@@ -13,16 +13,16 @@ class RChipseq(RPackage):
bioc = "chipseq"
- maintainers = ['dorton21']
-
- version('1.46.0', commit='76b00397cd117d5432158f50fc1032d50485bd24')
- version('1.44.0', commit='b64d0d28e9fcf0fdab9a7f9c521baf729426a594')
- version('1.40.0', commit='84bcbc0b7ad732730b5989a308f1624a6a358df1')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.1.0:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'))
- depends_on('r-iranges@2.13.12:', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.8:', type=('build', 'run'))
- depends_on('r-shortread', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("1.46.0", commit="76b00397cd117d5432158f50fc1032d50485bd24")
+ version("1.44.0", commit="b64d0d28e9fcf0fdab9a7f9c521baf729426a594")
+ version("1.40.0", commit="84bcbc0b7ad732730b5989a308f1624a6a358df1")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.1.0:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"))
+ depends_on("r-iranges@2.13.12:", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.8:", type=("build", "run"))
+ depends_on("r-shortread", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-chron/package.py b/var/spack/repos/builtin/packages/r-chron/package.py
index d3ff798ac0..9f3160bd8c 100644
--- a/var/spack/repos/builtin/packages/r-chron/package.py
+++ b/var/spack/repos/builtin/packages/r-chron/package.py
@@ -13,10 +13,10 @@ class RChron(RPackage):
cran = "chron"
- version('2.3-57', sha256='9645d86a84d1afc12a0accf4f826fdd40e6d050a313424ad70f8085e8f19c232')
- version('2.3-56', sha256='863ecbb951a3da994761ea9062fa96d34e94e19fbc4122521ac179274dfa3f5d')
- version('2.3-53', sha256='521814b46ba958eae28e29d8766aebd285da5e6fa16c5806603df3ae39f77309')
- version('2.3-52', sha256='c47fcf4abb635babe6337604c876d4853d8a24639a98b71523746c56ce75b4a0')
- version('2.3-47', sha256='9a8c771021165de517e54c3369c622aaac1bf3e220a2fbf595aba285e60445f6')
+ version("2.3-57", sha256="9645d86a84d1afc12a0accf4f826fdd40e6d050a313424ad70f8085e8f19c232")
+ version("2.3-56", sha256="863ecbb951a3da994761ea9062fa96d34e94e19fbc4122521ac179274dfa3f5d")
+ version("2.3-53", sha256="521814b46ba958eae28e29d8766aebd285da5e6fa16c5806603df3ae39f77309")
+ version("2.3-52", sha256="c47fcf4abb635babe6337604c876d4853d8a24639a98b71523746c56ce75b4a0")
+ version("2.3-47", sha256="9a8c771021165de517e54c3369c622aaac1bf3e220a2fbf595aba285e60445f6")
- depends_on('r@2.12.0:', type=('build', 'run'))
+ depends_on("r@2.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-circlize/package.py b/var/spack/repos/builtin/packages/r-circlize/package.py
index 7205794461..7a7ebac7f0 100644
--- a/var/spack/repos/builtin/packages/r-circlize/package.py
+++ b/var/spack/repos/builtin/packages/r-circlize/package.py
@@ -23,15 +23,15 @@ class RCirclize(RPackage):
cran = "circlize"
- version('0.4.15', sha256='d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7')
- version('0.4.13', sha256='6cbadbf8e8b1abbd71a79080677d2b95f2bdd18f2e4d707c32d5c2ff26c5369b')
- version('0.4.12', sha256='b3b60caa5292cf980cf474c85f59582f6862925631a4da86a78eac05903252f4')
- version('0.4.6', sha256='cec88cfc5e512a111cc37177552c25698ccc0e9bbecb0d6e60657e7b115a56fa')
- version('0.4.1', sha256='204a170ae3b982f09b652c4583189907cfa42a29bc7efaba02a1e0d79f1cf1f0')
- version('0.4.0', sha256='abdc1bbe264be42c1d7b65869979da7cd131032fd6fd3f11f9744dae54e83f5c')
+ version("0.4.15", sha256="d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7")
+ version("0.4.13", sha256="6cbadbf8e8b1abbd71a79080677d2b95f2bdd18f2e4d707c32d5c2ff26c5369b")
+ version("0.4.12", sha256="b3b60caa5292cf980cf474c85f59582f6862925631a4da86a78eac05903252f4")
+ version("0.4.6", sha256="cec88cfc5e512a111cc37177552c25698ccc0e9bbecb0d6e60657e7b115a56fa")
+ version("0.4.1", sha256="204a170ae3b982f09b652c4583189907cfa42a29bc7efaba02a1e0d79f1cf1f0")
+ version("0.4.0", sha256="abdc1bbe264be42c1d7b65869979da7cd131032fd6fd3f11f9744dae54e83f5c")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-globaloptions@0.1.0:', type=('build', 'run'))
- depends_on('r-globaloptions@0.1.2:', type=('build', 'run'), when='@0.4.12:')
- depends_on('r-shape', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-globaloptions@0.1.0:", type=("build", "run"))
+ depends_on("r-globaloptions@0.1.2:", type=("build", "run"), when="@0.4.12:")
+ depends_on("r-shape", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-circstats/package.py b/var/spack/repos/builtin/packages/r-circstats/package.py
index 9a77662492..7833657d74 100644
--- a/var/spack/repos/builtin/packages/r-circstats/package.py
+++ b/var/spack/repos/builtin/packages/r-circstats/package.py
@@ -14,9 +14,9 @@ class RCircstats(RPackage):
cran = "CircStats"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.2-6', sha256='8efed93b75b314577341effea214e3dd6e0a515cfe1212eb051047a1f3276f1d')
+ version("0.2-6", sha256="8efed93b75b314577341effea214e3dd6e0a515cfe1212eb051047a1f3276f1d")
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-boot', type=('build', 'run'))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-boot", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-class/package.py b/var/spack/repos/builtin/packages/r-class/package.py
index 5dfd354bed..1780be7efc 100644
--- a/var/spack/repos/builtin/packages/r-class/package.py
+++ b/var/spack/repos/builtin/packages/r-class/package.py
@@ -14,11 +14,11 @@ class RClass(RPackage):
cran = "class"
- version('7.3-20', sha256='e65b046bc72b312ff0c5dc7feba4fa3e9bc63387274d44911493782b85f65483')
- version('7.3-19', sha256='7820ae94b22009561a69ed1f8b2ca2a3814be6a656e9884738206997caecbe37')
- version('7.3-17', sha256='be1f85b6df7556db93f50cb08106aac6620d4b5bb3fee846422863a022461313')
- version('7.3-15', sha256='f6bf33d610c726d58622b6cea78a808c7d6a317d02409d27c17741dfd1c730f4')
- version('7.3-14', sha256='18b876dbc18bebe6a00890eab7d04ef72b903ba0049d5ce50731406a82426b9c')
+ version("7.3-20", sha256="e65b046bc72b312ff0c5dc7feba4fa3e9bc63387274d44911493782b85f65483")
+ version("7.3-19", sha256="7820ae94b22009561a69ed1f8b2ca2a3814be6a656e9884738206997caecbe37")
+ version("7.3-17", sha256="be1f85b6df7556db93f50cb08106aac6620d4b5bb3fee846422863a022461313")
+ version("7.3-15", sha256="f6bf33d610c726d58622b6cea78a808c7d6a317d02409d27c17741dfd1c730f4")
+ version("7.3-14", sha256="18b876dbc18bebe6a00890eab7d04ef72b903ba0049d5ce50731406a82426b9c")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-classint/package.py b/var/spack/repos/builtin/packages/r-classint/package.py
index 1385661b15..6649472da5 100644
--- a/var/spack/repos/builtin/packages/r-classint/package.py
+++ b/var/spack/repos/builtin/packages/r-classint/package.py
@@ -14,13 +14,13 @@ class RClassint(RPackage):
cran = "classInt"
- version('0.4-3', sha256='9ede7a2a7a6b6c114919a3315a884fb592e33b037a50a4fe45cbd4fe2fc434ac')
- version('0.4-1', sha256='39c63f8e37b379033d73d57929b5b8ea41b0023626cc1cec648d66bade5d0103')
- version('0.3-3', sha256='a93e685ef9c40d5977bb91d7116505a25303b229897a20544722a94ea1365f30')
- version('0.3-1', sha256='e2e6f857b544dfecb482b99346aa3ecfdc27b4d401c3537ee8fbaf91caca92b9')
- version('0.1-24', sha256='f3dc9084450ea3da07e1ea5eeb097fd2fedc7e29e5d7794b418bcb438c4fcfa2')
+ version("0.4-3", sha256="9ede7a2a7a6b6c114919a3315a884fb592e33b037a50a4fe45cbd4fe2fc434ac")
+ version("0.4-1", sha256="39c63f8e37b379033d73d57929b5b8ea41b0023626cc1cec648d66bade5d0103")
+ version("0.3-3", sha256="a93e685ef9c40d5977bb91d7116505a25303b229897a20544722a94ea1365f30")
+ version("0.3-1", sha256="e2e6f857b544dfecb482b99346aa3ecfdc27b4d401c3537ee8fbaf91caca92b9")
+ version("0.1-24", sha256="f3dc9084450ea3da07e1ea5eeb097fd2fedc7e29e5d7794b418bcb438c4fcfa2")
- depends_on('r@2.2:', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'))
- depends_on('r-class', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
+ depends_on("r@2.2:", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"))
+ depends_on("r-class", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cli/package.py b/var/spack/repos/builtin/packages/r-cli/package.py
index 5e5a1717d2..073393d9c4 100644
--- a/var/spack/repos/builtin/packages/r-cli/package.py
+++ b/var/spack/repos/builtin/packages/r-cli/package.py
@@ -18,22 +18,22 @@ class RCli(RPackage):
cran = "cli"
- version('3.3.0', sha256='c3a9ebbcb9017fb9aeda4f7df5ca981e42b169cbd7ce13e592cda2cd74250d63')
- version('3.2.0', sha256='cd5a1b754d09de33f088f25ecdb0494100f9a42bc0a66622bfd7d8ec5498e862')
- version('3.1.1', sha256='c8b3e6014ad60593ba21897255acfe90c0e3f98bd4f7e22c1f3acb2644cf54cf')
- version('3.1.0', sha256='c70a61830bf706a84c59eb74a809978846cee93742198ab4192742a5df1ace11')
- version('3.0.1', sha256='d89a25b6cd760e157605676e104ce65473a7d8d64c289efdd9640e949968b4fd')
- version('2.2.0', sha256='39a77af61724f8cc1f5117011e17bb2a488cbac61a7c112db078a675d3ac40b8')
- version('2.0.2', sha256='490834e5b80eb036befa0e150996bcab1c4d5d168c3d45209926e52d0d5413b6')
- version('1.1.0', sha256='4fc00fcdf4fdbdf9b5792faee8c7cf1ed5c4f45b1221d961332cda82dbe60d0a')
- version('1.0.1', sha256='ef80fbcde15760fd55abbf9413b306e3971b2a7034ab8c415fb52dc0088c5ee4')
- version('1.0.0', sha256='8fa3dbfc954ca61b8510f767ede9e8a365dac2ef95fe87c715a0f37d721b5a1d')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3,4:', type=('build', 'run'), when='@3.3.0:')
- depends_on('r-glue', type=('build', 'run'), when='@2:')
- depends_on('r-glue@1.6.0:', type=('build', 'run'), when='@3.3.0:')
-
- depends_on('r-assertthat', type=('build', 'run'), when='@:2.3')
- depends_on('r-crayon@1.3.4:', type=('build', 'run'), when='@:2.2')
- depends_on('r-fansi', type=('build', 'run'), when='@2:2.2')
+ version("3.3.0", sha256="c3a9ebbcb9017fb9aeda4f7df5ca981e42b169cbd7ce13e592cda2cd74250d63")
+ version("3.2.0", sha256="cd5a1b754d09de33f088f25ecdb0494100f9a42bc0a66622bfd7d8ec5498e862")
+ version("3.1.1", sha256="c8b3e6014ad60593ba21897255acfe90c0e3f98bd4f7e22c1f3acb2644cf54cf")
+ version("3.1.0", sha256="c70a61830bf706a84c59eb74a809978846cee93742198ab4192742a5df1ace11")
+ version("3.0.1", sha256="d89a25b6cd760e157605676e104ce65473a7d8d64c289efdd9640e949968b4fd")
+ version("2.2.0", sha256="39a77af61724f8cc1f5117011e17bb2a488cbac61a7c112db078a675d3ac40b8")
+ version("2.0.2", sha256="490834e5b80eb036befa0e150996bcab1c4d5d168c3d45209926e52d0d5413b6")
+ version("1.1.0", sha256="4fc00fcdf4fdbdf9b5792faee8c7cf1ed5c4f45b1221d961332cda82dbe60d0a")
+ version("1.0.1", sha256="ef80fbcde15760fd55abbf9413b306e3971b2a7034ab8c415fb52dc0088c5ee4")
+ version("1.0.0", sha256="8fa3dbfc954ca61b8510f767ede9e8a365dac2ef95fe87c715a0f37d721b5a1d")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3,4:", type=("build", "run"), when="@3.3.0:")
+ depends_on("r-glue", type=("build", "run"), when="@2:")
+ depends_on("r-glue@1.6.0:", type=("build", "run"), when="@3.3.0:")
+
+ depends_on("r-assertthat", type=("build", "run"), when="@:2.3")
+ depends_on("r-crayon@1.3.4:", type=("build", "run"), when="@:2.2")
+ depends_on("r-fansi", type=("build", "run"), when="@2:2.2")
diff --git a/var/spack/repos/builtin/packages/r-clipr/package.py b/var/spack/repos/builtin/packages/r-clipr/package.py
index 26123d582c..36c9b14fed 100644
--- a/var/spack/repos/builtin/packages/r-clipr/package.py
+++ b/var/spack/repos/builtin/packages/r-clipr/package.py
@@ -14,11 +14,11 @@ class RClipr(RPackage):
cran = "clipr"
- version('0.8.0', sha256='32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9')
- version('0.7.1', sha256='ffad477b07847e3b68f7e4406bbd323025a8dae7e3c768943d4d307ee3248afb')
- version('0.7.0', sha256='03a4e4b72ec63bd08b53fe62673ffc19a004cc846957a335be2b30d046b8c2e2')
- version('0.5.0', sha256='fd303f8b7f29badcdf490bb2d579acdfc4f4e1aa9c90ac77ab9d05ce3d053dbf')
- version('0.4.0', sha256='44a2f1ab4fde53e4fe81cf5800aa6ad45b72b5da93d6fe4d3661d7397220e8af')
+ version("0.8.0", sha256="32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9")
+ version("0.7.1", sha256="ffad477b07847e3b68f7e4406bbd323025a8dae7e3c768943d4d307ee3248afb")
+ version("0.7.0", sha256="03a4e4b72ec63bd08b53fe62673ffc19a004cc846957a335be2b30d046b8c2e2")
+ version("0.5.0", sha256="fd303f8b7f29badcdf490bb2d579acdfc4f4e1aa9c90ac77ab9d05ce3d053dbf")
+ version("0.4.0", sha256="44a2f1ab4fde53e4fe81cf5800aa6ad45b72b5da93d6fe4d3661d7397220e8af")
- depends_on('r+X')
- depends_on('xclip')
+ depends_on("r+X")
+ depends_on("xclip")
diff --git a/var/spack/repos/builtin/packages/r-clisymbols/package.py b/var/spack/repos/builtin/packages/r-clisymbols/package.py
index acd28952ad..9d3b61f499 100644
--- a/var/spack/repos/builtin/packages/r-clisymbols/package.py
+++ b/var/spack/repos/builtin/packages/r-clisymbols/package.py
@@ -16,4 +16,4 @@ class RClisymbols(RPackage):
cran = "clisymbols"
- version('1.2.0', sha256='0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0')
+ version("1.2.0", sha256="0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0")
diff --git a/var/spack/repos/builtin/packages/r-clue/package.py b/var/spack/repos/builtin/packages/r-clue/package.py
index 3829eb9ad6..6b5e15d791 100644
--- a/var/spack/repos/builtin/packages/r-clue/package.py
+++ b/var/spack/repos/builtin/packages/r-clue/package.py
@@ -11,10 +11,10 @@ class RClue(RPackage):
cran = "clue"
- version('0.3-61', sha256='71311b16ce380fd9a8834be95b55b3d1b47e4ee2b8acb35b8d481138c314dc31')
- version('0.3-60', sha256='6d21ddfd0d621ed3bac861890c600884b6ed5ff7d2a36c9778b892636dbbef2a')
- version('0.3-58', sha256='2ab6662eaa1103a7b633477e8ebd266b262ed54fac6f9326b160067a2ded9ce7')
- version('0.3-57', sha256='6e369d07b464a9624209a06b5078bf988f01f7963076e946649d76aea0622d17')
+ version("0.3-61", sha256="71311b16ce380fd9a8834be95b55b3d1b47e4ee2b8acb35b8d481138c314dc31")
+ version("0.3-60", sha256="6d21ddfd0d621ed3bac861890c600884b6ed5ff7d2a36c9778b892636dbbef2a")
+ version("0.3-58", sha256="2ab6662eaa1103a7b633477e8ebd266b262ed54fac6f9326b160067a2ded9ce7")
+ version("0.3-57", sha256="6e369d07b464a9624209a06b5078bf988f01f7963076e946649d76aea0622d17")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cluster/package.py b/var/spack/repos/builtin/packages/r-cluster/package.py
index 205ae7e288..9300cef386 100644
--- a/var/spack/repos/builtin/packages/r-cluster/package.py
+++ b/var/spack/repos/builtin/packages/r-cluster/package.py
@@ -7,7 +7,7 @@ from spack.package import *
class RCluster(RPackage):
- """"Finding Groups in Data": Cluster Analysis Extended Rousseeuw et al.
+ """ "Finding Groups in Data": Cluster Analysis Extended Rousseeuw et al.
Methods for Cluster analysis. Much extended the original from Peter
Rousseeuw, Anja Struyf and Mia Hubert, based on Kaufman and Rousseeuw
@@ -15,15 +15,15 @@ class RCluster(RPackage):
cran = "cluster"
- version('2.1.3', sha256='a3ad7a9455d634c4e0c6ccf8ea7a3a392a0ecf9c2bdb368d127ffa68a93164a9')
- version('2.1.2', sha256='5c8aa760fb6dda4fcfe6196e561ffcd2dc12b1a6c7659cb90be2cde747311499')
- version('2.1.0', sha256='eaf955bef8f616ea563351ec7f597c445aec43e65991ca975e382ef1fd70aa14')
- version('2.0.7-1', sha256='b10141090cf3c2b62260611a0ea822eb2f7bab9f4fd656c48bdc12b65c5c3dbf')
- version('2.0.5', sha256='4b309133bc2ad7b8fe4fa538dd69635bc8a4cd724a3c95f01084098876c57bae')
- version('2.0.4', sha256='d4d925c4fc1fc4f2e2e3c9208e518507aad6c28bb143b4358a05a8a8944ac6e4')
+ version("2.1.3", sha256="a3ad7a9455d634c4e0c6ccf8ea7a3a392a0ecf9c2bdb368d127ffa68a93164a9")
+ version("2.1.2", sha256="5c8aa760fb6dda4fcfe6196e561ffcd2dc12b1a6c7659cb90be2cde747311499")
+ version("2.1.0", sha256="eaf955bef8f616ea563351ec7f597c445aec43e65991ca975e382ef1fd70aa14")
+ version("2.0.7-1", sha256="b10141090cf3c2b62260611a0ea822eb2f7bab9f4fd656c48bdc12b65c5c3dbf")
+ version("2.0.5", sha256="4b309133bc2ad7b8fe4fa538dd69635bc8a4cd724a3c95f01084098876c57bae")
+ version("2.0.4", sha256="d4d925c4fc1fc4f2e2e3c9208e518507aad6c28bb143b4358a05a8a8944ac6e4")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@2.0.7:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@2.0.8:')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.1.2:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.1.3:')
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@2.0.7:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@2.0.8:")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.1.2:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.1.3:")
diff --git a/var/spack/repos/builtin/packages/r-clustergeneration/package.py b/var/spack/repos/builtin/packages/r-clustergeneration/package.py
index 2887f7b12e..3160997b7b 100644
--- a/var/spack/repos/builtin/packages/r-clustergeneration/package.py
+++ b/var/spack/repos/builtin/packages/r-clustergeneration/package.py
@@ -20,9 +20,9 @@ class RClustergeneration(RPackage):
cran = "clusterGeneration"
- version('1.3.7', sha256='534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c')
- version('1.3.4', sha256='7c591ad95a8a9d7fb0e4d5d80dfd78f7d6a63cf7d11eb53dd3c98fdfb5b868aa')
+ version("1.3.7", sha256="534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c")
+ version("1.3.4", sha256="7c591ad95a8a9d7fb0e4d5d80dfd78f7d6a63cf7d11eb53dd3c98fdfb5b868aa")
- depends_on('r@2.9.1:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.3.7:')
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.9.1:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.3.7:")
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-clusterprofiler/package.py b/var/spack/repos/builtin/packages/r-clusterprofiler/package.py
index fb732f1423..a39b6e8142 100644
--- a/var/spack/repos/builtin/packages/r-clusterprofiler/package.py
+++ b/var/spack/repos/builtin/packages/r-clusterprofiler/package.py
@@ -8,43 +8,43 @@ from spack.package import *
class RClusterprofiler(RPackage):
"""statistical analysis and visualization of functional profiles for genes
- and gene clusters.
+ and gene clusters.
- This package implements methods to analyze and visualize functional
- profiles (GO and KEGG) of gene and gene clusters."""
+ This package implements methods to analyze and visualize functional
+ profiles (GO and KEGG) of gene and gene clusters."""
bioc = "clusterProfiler"
- version('4.4.1', commit='daad11fb80be2dd9b825e0b484815a0a2b1592a4')
- version('4.2.2', commit='4ebb9de8e03eedc971f54a57cf5bf1b250ed43d5')
- version('3.18.0', commit='064a6e612ce27e260e33af78b907bee4065ff821')
- version('3.12.0', commit='6ec88d10832bdfd938e9c065b377015eedb7eee2')
- version('3.10.1', commit='39927ef7ff6f97e27557bcf4147e2133b364fd3c')
- version('3.8.1', commit='81e1a7ac49e4713703c55f87f945b20de5e7ab36')
- version('3.6.0', commit='ff15e3dba69b93bc872d5f5d07821cd9ae20d829')
- version('3.4.4', commit='b86b00e8405fe130e439362651a5567736e2d9d7')
-
- depends_on('r@3.3.1:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.8.1:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@4.2.2:')
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-downloader', type=('build', 'run'), when='@3.18.0:')
- depends_on('r-dose@3.1.3:', type=('build', 'run'))
- depends_on('r-dose@3.3.2:', type=('build', 'run'), when='@3.6.0:')
- depends_on('r-dose@3.5.1:', type=('build', 'run'), when='@3.8.1:')
- depends_on('r-dose@3.13.1:', type=('build', 'run'), when='@3.18.0:')
- depends_on('r-dplyr', type=('build', 'run'), when='@3.18.0:')
- depends_on('r-enrichplot@0.99.7:', type=('build', 'run'), when='@3.8.1:')
- depends_on('r-enrichplot@1.9.3:', type=('build', 'run'), when='@3.18.0:')
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-gosemsim', type=('build', 'run'))
- depends_on('r-gosemsim@2.0.0:', type=('build', 'run'), when='@3.4.4:3.6.0')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-qvalue', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@3.18.0:')
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-yulab-utils', type=('build', 'run'), when='@4.2.2:')
-
- depends_on('r-ggplot2', type=('build', 'run'), when='@:3.12.0')
- depends_on('r-rvcheck', type=('build', 'run'), when='@:3.18.0')
+ version("4.4.1", commit="daad11fb80be2dd9b825e0b484815a0a2b1592a4")
+ version("4.2.2", commit="4ebb9de8e03eedc971f54a57cf5bf1b250ed43d5")
+ version("3.18.0", commit="064a6e612ce27e260e33af78b907bee4065ff821")
+ version("3.12.0", commit="6ec88d10832bdfd938e9c065b377015eedb7eee2")
+ version("3.10.1", commit="39927ef7ff6f97e27557bcf4147e2133b364fd3c")
+ version("3.8.1", commit="81e1a7ac49e4713703c55f87f945b20de5e7ab36")
+ version("3.6.0", commit="ff15e3dba69b93bc872d5f5d07821cd9ae20d829")
+ version("3.4.4", commit="b86b00e8405fe130e439362651a5567736e2d9d7")
+
+ depends_on("r@3.3.1:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.8.1:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@4.2.2:")
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-downloader", type=("build", "run"), when="@3.18.0:")
+ depends_on("r-dose@3.1.3:", type=("build", "run"))
+ depends_on("r-dose@3.3.2:", type=("build", "run"), when="@3.6.0:")
+ depends_on("r-dose@3.5.1:", type=("build", "run"), when="@3.8.1:")
+ depends_on("r-dose@3.13.1:", type=("build", "run"), when="@3.18.0:")
+ depends_on("r-dplyr", type=("build", "run"), when="@3.18.0:")
+ depends_on("r-enrichplot@0.99.7:", type=("build", "run"), when="@3.8.1:")
+ depends_on("r-enrichplot@1.9.3:", type=("build", "run"), when="@3.18.0:")
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-gosemsim", type=("build", "run"))
+ depends_on("r-gosemsim@2.0.0:", type=("build", "run"), when="@3.4.4:3.6.0")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-qvalue", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@3.18.0:")
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-yulab-utils", type=("build", "run"), when="@4.2.2:")
+
+ depends_on("r-ggplot2", type=("build", "run"), when="@:3.12.0")
+ depends_on("r-rvcheck", type=("build", "run"), when="@:3.18.0")
diff --git a/var/spack/repos/builtin/packages/r-cner/package.py b/var/spack/repos/builtin/packages/r-cner/package.py
index e42b806c9b..194127a0af 100644
--- a/var/spack/repos/builtin/packages/r-cner/package.py
+++ b/var/spack/repos/builtin/packages/r-cner/package.py
@@ -9,39 +9,39 @@ from spack.package import *
class RCner(RPackage):
"""CNE Detection and Visualization.
- Large-scale identification and advanced visualization of sets of
- conserved noncoding elements."""
+ Large-scale identification and advanced visualization of sets of
+ conserved noncoding elements."""
bioc = "CNEr"
- version('1.32.0', commit='1c92f3d7f3dccf76ab7d54f286117b09bc470b8f')
- version('1.30.0', commit='e682f2a7c8ebb561c872cf51a58ba36eed341187')
- version('1.26.0', commit='e5e582da6feeae0618c4460f16ece724215e3b20')
- version('1.20.0', commit='9c25d8e8f6f5fd8a5311f554c86e7ca1140a4ca5')
- version('1.18.1', commit='66aa88af04364c81832f3b09bad898f3c117f606')
- version('1.16.1', commit='a2bec4b98d5938709f959a69c151f553ef357941')
- version('1.14.0', commit='b8634d65c51728c815127e22b45eba7c9b9db897')
- version('1.12.1', commit='90d611f9cd19a73d0fe92ab03ef428519d64c017')
+ version("1.32.0", commit="1c92f3d7f3dccf76ab7d54f286117b09bc470b8f")
+ version("1.30.0", commit="e682f2a7c8ebb561c872cf51a58ba36eed341187")
+ version("1.26.0", commit="e5e582da6feeae0618c4460f16ece724215e3b20")
+ version("1.20.0", commit="9c25d8e8f6f5fd8a5311f554c86e7ca1140a4ca5")
+ version("1.18.1", commit="66aa88af04364c81832f3b09bad898f3c117f606")
+ version("1.16.1", commit="a2bec4b98d5938709f959a69c151f553ef357941")
+ version("1.14.0", commit="b8634d65c51728c815127e22b45eba7c9b9db897")
+ version("1.12.1", commit="90d611f9cd19a73d0fe92ab03ef428519d64c017")
- depends_on('r@3.2.2:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@1.14.0:')
- depends_on('r-biostrings@2.33.4:', type=('build', 'run'))
- depends_on('r-dbi@0.6:', type=('build', 'run'))
- depends_on('r-dbi@0.7:', type=('build', 'run'), when='@1.14.0:')
- depends_on('r-rsqlite@0.11.4:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.1.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.16:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.25.5:', type=('build', 'run'))
- depends_on('r-xvector@0.5.4:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.1.9:', type=('build', 'run'))
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-iranges@2.5.27:', type=('build', 'run'))
- depends_on('r-readr@0.2.2:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-reshape2@1.4.1:', type=('build', 'run'))
- depends_on('r-ggplot2@2.1.0:', type=('build', 'run'))
- depends_on('r-powerlaw@0.60.3:', type=('build', 'run'))
- depends_on('r-annotate@1.50.0:', type=('build', 'run'))
- depends_on('r-go-db@3.3.0:', type=('build', 'run'))
- depends_on('r-r-utils@2.3.0:', type=('build', 'run'))
- depends_on('r-keggrest@1.14.0:', type=('build', 'run'))
+ depends_on("r@3.2.2:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@1.14.0:")
+ depends_on("r-biostrings@2.33.4:", type=("build", "run"))
+ depends_on("r-dbi@0.6:", type=("build", "run"))
+ depends_on("r-dbi@0.7:", type=("build", "run"), when="@1.14.0:")
+ depends_on("r-rsqlite@0.11.4:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.1.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.16:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.25.5:", type=("build", "run"))
+ depends_on("r-xvector@0.5.4:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.1.9:", type=("build", "run"))
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-iranges@2.5.27:", type=("build", "run"))
+ depends_on("r-readr@0.2.2:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-reshape2@1.4.1:", type=("build", "run"))
+ depends_on("r-ggplot2@2.1.0:", type=("build", "run"))
+ depends_on("r-powerlaw@0.60.3:", type=("build", "run"))
+ depends_on("r-annotate@1.50.0:", type=("build", "run"))
+ depends_on("r-go-db@3.3.0:", type=("build", "run"))
+ depends_on("r-r-utils@2.3.0:", type=("build", "run"))
+ depends_on("r-keggrest@1.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-coda/package.py b/var/spack/repos/builtin/packages/r-coda/package.py
index 9b291fcb36..44901c1898 100644
--- a/var/spack/repos/builtin/packages/r-coda/package.py
+++ b/var/spack/repos/builtin/packages/r-coda/package.py
@@ -15,10 +15,10 @@ class RCoda(RPackage):
cran = "coda"
- version('0.19-4', sha256='422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f')
- version('0.19-3', sha256='d3df1fc848bcf1af8fae13d61eeab60e99a3d4b4db384bec4326f909f502c5d6')
- version('0.19-2', sha256='678a7e6a87a2723089daeb780ea37ac3d4319b37eabe26928ea3fa9c9b1eda0d')
- version('0.19-1', sha256='d41ff5731da6805170769dba75dd011ab33f916d15b2336001f279e21a524491')
+ version("0.19-4", sha256="422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f")
+ version("0.19-3", sha256="d3df1fc848bcf1af8fae13d61eeab60e99a3d4b4db384bec4326f909f502c5d6")
+ version("0.19-2", sha256="678a7e6a87a2723089daeb780ea37ac3d4319b37eabe26928ea3fa9c9b1eda0d")
+ version("0.19-1", sha256="d41ff5731da6805170769dba75dd011ab33f916d15b2336001f279e21a524491")
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-codetools/package.py b/var/spack/repos/builtin/packages/r-codetools/package.py
index b049407a2e..20727f5e6c 100644
--- a/var/spack/repos/builtin/packages/r-codetools/package.py
+++ b/var/spack/repos/builtin/packages/r-codetools/package.py
@@ -11,9 +11,9 @@ class RCodetools(RPackage):
cran = "codetools"
- version('0.2-18', sha256='1a9ea6b9792dbd1688078455929385acc3a5e4bef945c77bec1261fa4a084c28')
- version('0.2-16', sha256='c276757c3adabaf700f2ea25835892b09bc1bd438ebd17c805ea9073ed8a74b6')
- version('0.2-15', sha256='4e0798ed79281a614f8cdd199e25f2c1bd8f35ecec902b03016544bd7795fa40')
- version('0.2-14', sha256='270d603b89076081af8d2db0256927e55ffeed4c27309d50deea75b444253979')
+ version("0.2-18", sha256="1a9ea6b9792dbd1688078455929385acc3a5e4bef945c77bec1261fa4a084c28")
+ version("0.2-16", sha256="c276757c3adabaf700f2ea25835892b09bc1bd438ebd17c805ea9073ed8a74b6")
+ version("0.2-15", sha256="4e0798ed79281a614f8cdd199e25f2c1bd8f35ecec902b03016544bd7795fa40")
+ version("0.2-14", sha256="270d603b89076081af8d2db0256927e55ffeed4c27309d50deea75b444253979")
- depends_on('r@2.1:', type=('build', 'run'))
+ depends_on("r@2.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-codex/package.py b/var/spack/repos/builtin/packages/r-codex/package.py
index 1f0c363080..9a1232625e 100644
--- a/var/spack/repos/builtin/packages/r-codex/package.py
+++ b/var/spack/repos/builtin/packages/r-codex/package.py
@@ -22,15 +22,15 @@ class RCodex(RPackage):
bioc = "CODEX"
- version('1.28.0', commit='c707497bd93aa4a0516fcf3671a64997c28c9f67')
- version('1.26.0', commit='729fd10bd42d12edcedd65b5a8fb1579e5949718')
- version('1.22.0', commit='aa0ee4278111a46e0c790312b0526ba07aab22eb')
- version('1.18.0', commit='9a95cccc7ff3fe587636317e21e39a07dddf80bc')
+ version("1.28.0", commit="c707497bd93aa4a0516fcf3671a64997c28c9f67")
+ version("1.26.0", commit="729fd10bd42d12edcedd65b5a8fb1579e5949718")
+ version("1.22.0", commit="aa0ee4278111a46e0c790312b0526ba07aab22eb")
+ version("1.18.0", commit="9a95cccc7ff3fe587636317e21e39a07dddf80bc")
- depends_on('r@3.2.3:', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-bsgenome-hsapiens-ucsc-hg19', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
+ depends_on("r@3.2.3:", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-bsgenome-hsapiens-ucsc-hg19", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-coin/package.py b/var/spack/repos/builtin/packages/r-coin/package.py
index e814b57247..7b8d1fa660 100644
--- a/var/spack/repos/builtin/packages/r-coin/package.py
+++ b/var/spack/repos/builtin/packages/r-coin/package.py
@@ -15,19 +15,19 @@ class RCoin(RPackage):
cran = "coin"
- version('1.4-2', sha256='7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2')
- version('1.3-1', sha256='5de2519a6e2b059bba9d74c58085cccaff1aaaa0454586ed164a108ebd1b2062')
- version('1.3-0', sha256='adcebb37e0a7dfddbf8ec1e09c12a809bd76d90b5b8ff2b1048a75252ba11ef8')
- version('1.2-2', sha256='d518065d3e1eb00121cb4e0200e1e4ae6b68eca6e249afc38bbffa35d24105bb')
- version('1.1-3', sha256='8b88ecc25903c83539dfc73cdc31a160e2aa4a7bea1773b22c79133d2f006035')
+ version("1.4-2", sha256="7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2")
+ version("1.3-1", sha256="5de2519a6e2b059bba9d74c58085cccaff1aaaa0454586ed164a108ebd1b2062")
+ version("1.3-0", sha256="adcebb37e0a7dfddbf8ec1e09c12a809bd76d90b5b8ff2b1048a75252ba11ef8")
+ version("1.2-2", sha256="d518065d3e1eb00121cb4e0200e1e4ae6b68eca6e249afc38bbffa35d24105bb")
+ version("1.1-3", sha256="8b88ecc25903c83539dfc73cdc31a160e2aa4a7bea1773b22c79133d2f006035")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.3-0:')
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.4-2:')
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-libcoin@1.0-0:', type=('build', 'run'), when='@1.3-0:')
- depends_on('r-libcoin@1.0-9:', type=('build', 'run'), when='@1.4-2:')
- depends_on('r-matrixstats@0.54.0:', type=('build', 'run'), when='@1.3-0:')
- depends_on('r-modeltools@0.2-9:', type=('build', 'run'))
- depends_on('r-mvtnorm@1.0-5:', type=('build', 'run'))
- depends_on('r-multcomp', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.3-0:")
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.4-2:")
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-libcoin@1.0-0:", type=("build", "run"), when="@1.3-0:")
+ depends_on("r-libcoin@1.0-9:", type=("build", "run"), when="@1.4-2:")
+ depends_on("r-matrixstats@0.54.0:", type=("build", "run"), when="@1.3-0:")
+ depends_on("r-modeltools@0.2-9:", type=("build", "run"))
+ depends_on("r-mvtnorm@1.0-5:", type=("build", "run"))
+ depends_on("r-multcomp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-colorspace/package.py b/var/spack/repos/builtin/packages/r-colorspace/package.py
index 5ce7598131..943654369c 100644
--- a/var/spack/repos/builtin/packages/r-colorspace/package.py
+++ b/var/spack/repos/builtin/packages/r-colorspace/package.py
@@ -27,12 +27,12 @@ class RColorspace(RPackage):
cran = "colorspace"
- version('2.0-3', sha256='e75681cc4dd6e4b70303fd96a6d4597065dc6bffcaa4ae4244b73ff19016857f')
- version('2.0-2', sha256='b891cd2ec129ed5f116429345947bcaadc33969758a108521eb0cf36bd12183a')
- version('2.0-0', sha256='4e6a53af9918db282cefdc71eaa30f507d4d1d682bcfb74cb0dd68a0b282018e')
- version('1.4-1', sha256='693d713a050f8bfecdb7322739f04b40d99b55aed168803686e43401d5f0d673')
- version('1.4-0', sha256='ce003c5958dd704697959e9dc8a108c8cb568f8d78ece113235732afc5dff556')
- version('1.3-2', sha256='dd9fd2342b650456901d014e7ff6d2e201f8bec0b555be63b1a878d2e1513e34')
- version('1.2-6', sha256='ba3165c5b906edadcd1c37cad0ef58f780b0af651f3fdeb49fbb2dc825251679')
+ version("2.0-3", sha256="e75681cc4dd6e4b70303fd96a6d4597065dc6bffcaa4ae4244b73ff19016857f")
+ version("2.0-2", sha256="b891cd2ec129ed5f116429345947bcaadc33969758a108521eb0cf36bd12183a")
+ version("2.0-0", sha256="4e6a53af9918db282cefdc71eaa30f507d4d1d682bcfb74cb0dd68a0b282018e")
+ version("1.4-1", sha256="693d713a050f8bfecdb7322739f04b40d99b55aed168803686e43401d5f0d673")
+ version("1.4-0", sha256="ce003c5958dd704697959e9dc8a108c8cb568f8d78ece113235732afc5dff556")
+ version("1.3-2", sha256="dd9fd2342b650456901d014e7ff6d2e201f8bec0b555be63b1a878d2e1513e34")
+ version("1.2-6", sha256="ba3165c5b906edadcd1c37cad0ef58f780b0af651f3fdeb49fbb2dc825251679")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-colourpicker/package.py b/var/spack/repos/builtin/packages/r-colourpicker/package.py
index 0a9b872906..b9eff14474 100644
--- a/var/spack/repos/builtin/packages/r-colourpicker/package.py
+++ b/var/spack/repos/builtin/packages/r-colourpicker/package.py
@@ -18,14 +18,14 @@ class RColourpicker(RPackage):
cran = "colourpicker"
- version('1.1.1', sha256='a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0')
- version('1.1.0', sha256='2dfbb6262d187d3b17357ff9c22670ced3621feda5b2a2a500558478e4d551e2')
+ version("1.1.1", sha256="a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0")
+ version("1.1.0", sha256="2dfbb6262d187d3b17357ff9c22670ced3621feda5b2a2a500558478e4d551e2")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-htmlwidgets@0.7:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-miniui@0.1.1:', type=('build', 'run'))
- depends_on('r-shiny@0.11.1:', type=('build', 'run'))
- depends_on('r-shinyjs@2.0.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-htmlwidgets@0.7:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-miniui@0.1.1:", type=("build", "run"))
+ depends_on("r-shiny@0.11.1:", type=("build", "run"))
+ depends_on("r-shinyjs@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-combinat/package.py b/var/spack/repos/builtin/packages/r-combinat/package.py
index f29947c9a4..d3f515d083 100644
--- a/var/spack/repos/builtin/packages/r-combinat/package.py
+++ b/var/spack/repos/builtin/packages/r-combinat/package.py
@@ -13,4 +13,4 @@ class RCombinat(RPackage):
cran = "combinat"
- version('0.0-8', sha256='1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1')
+ version("0.0-8", sha256="1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1")
diff --git a/var/spack/repos/builtin/packages/r-commonmark/package.py b/var/spack/repos/builtin/packages/r-commonmark/package.py
index dabd0f57c1..4b8694270d 100644
--- a/var/spack/repos/builtin/packages/r-commonmark/package.py
+++ b/var/spack/repos/builtin/packages/r-commonmark/package.py
@@ -18,5 +18,5 @@ class RCommonmark(RPackage):
cran = "commonmark"
- version('1.8.0', sha256='7d07e72937b1cf158e69f183722bf79dbb91b8967a9dd29f4fa145500c2be668')
- version('1.7', sha256='d14a767a3ea9778d6165f44f980dd257423ca6043926e3cd8f664f7171f89108')
+ version("1.8.0", sha256="7d07e72937b1cf158e69f183722bf79dbb91b8967a9dd29f4fa145500c2be668")
+ version("1.7", sha256="d14a767a3ea9778d6165f44f980dd257423ca6043926e3cd8f664f7171f89108")
diff --git a/var/spack/repos/builtin/packages/r-complexheatmap/package.py b/var/spack/repos/builtin/packages/r-complexheatmap/package.py
index f054149546..2efd9ab007 100644
--- a/var/spack/repos/builtin/packages/r-complexheatmap/package.py
+++ b/var/spack/repos/builtin/packages/r-complexheatmap/package.py
@@ -9,42 +9,42 @@ from spack.package import *
class RComplexheatmap(RPackage):
"""Make Complex Heatmaps.
- Complex heatmaps are efficient to visualize associations between
- different sources of data sets and reveal potential patterns. Here the
- ComplexHeatmap package provides a highly flexible way to arrange
- multiple heatmaps and supports various annotation graphics."""
+ Complex heatmaps are efficient to visualize associations between
+ different sources of data sets and reveal potential patterns. Here the
+ ComplexHeatmap package provides a highly flexible way to arrange
+ multiple heatmaps and supports various annotation graphics."""
bioc = "ComplexHeatmap"
- version('2.12.0', commit='8a5f060b06646f9d6a5032832ea72e3f183ca5d7')
- version('2.10.0', commit='170df82a1568e879e4019e0ff6feb0047851684f')
- version('2.6.2', commit='0383bada2c76dc3dde71cf6a625016b619aec4d3')
- version('2.0.0', commit='97863d8ddfe36a52df0149b0b040dc386a03d2e4')
- version('1.20.0', commit='1501ecc92fda07efa3652e41626b21741951ce0f')
- version('1.18.1', commit='be0dd9d666a219c61335efe0dac50b2eed2a8825')
- version('1.17.1', commit='f647c97e556d9e918a17be15883a0b72a91d688f')
- version('1.14.0', commit='0acd8974fb5cedde8cd96efea6dfa39324d25b34')
-
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.10.0:')
- depends_on('r-circlize@0.3.4:', type=('build', 'run'))
- depends_on('r-circlize@0.4.1:', type=('build', 'run'), when='@1.17.1:')
- depends_on('r-circlize@0.4.5:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-circlize@0.4.14:', type=('build', 'run'), when='@2.12.0:')
- depends_on('r-getoptlong', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-clue', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-globaloptions@0.0.10:', type=('build', 'run'))
- depends_on('r-globaloptions@0.1.0:', type=('build', 'run'), when='@1.20.0:')
- depends_on('r-png', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-digest', type=('build', 'run'), when='@2.6.2:')
- depends_on('r-iranges', type=('build', 'run'), when='@2.6.2:')
- depends_on('r-matrixstats', type=('build', 'run'), when='@2.6.2:')
- depends_on('r-foreach', type=('build', 'run'), when='@2.10.0:')
- depends_on('r-doparallel', type=('build', 'run'), when='@2.10.0:')
- depends_on('r-codetools', type=('build', 'run'), when='@2.12.0:')
-
- depends_on('r-dendextend@1.0.1:', type=('build', 'run'), when='@1.14.0:1.17.1')
- depends_on('r-s4vectors@0.26.1:', type=('build', 'run'), when='@2.6.2')
- depends_on('r-cairo', type=('build', 'run'), when='@2.6.2')
+ version("2.12.0", commit="8a5f060b06646f9d6a5032832ea72e3f183ca5d7")
+ version("2.10.0", commit="170df82a1568e879e4019e0ff6feb0047851684f")
+ version("2.6.2", commit="0383bada2c76dc3dde71cf6a625016b619aec4d3")
+ version("2.0.0", commit="97863d8ddfe36a52df0149b0b040dc386a03d2e4")
+ version("1.20.0", commit="1501ecc92fda07efa3652e41626b21741951ce0f")
+ version("1.18.1", commit="be0dd9d666a219c61335efe0dac50b2eed2a8825")
+ version("1.17.1", commit="f647c97e556d9e918a17be15883a0b72a91d688f")
+ version("1.14.0", commit="0acd8974fb5cedde8cd96efea6dfa39324d25b34")
+
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.10.0:")
+ depends_on("r-circlize@0.3.4:", type=("build", "run"))
+ depends_on("r-circlize@0.4.1:", type=("build", "run"), when="@1.17.1:")
+ depends_on("r-circlize@0.4.5:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-circlize@0.4.14:", type=("build", "run"), when="@2.12.0:")
+ depends_on("r-getoptlong", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-clue", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-globaloptions@0.0.10:", type=("build", "run"))
+ depends_on("r-globaloptions@0.1.0:", type=("build", "run"), when="@1.20.0:")
+ depends_on("r-png", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-digest", type=("build", "run"), when="@2.6.2:")
+ depends_on("r-iranges", type=("build", "run"), when="@2.6.2:")
+ depends_on("r-matrixstats", type=("build", "run"), when="@2.6.2:")
+ depends_on("r-foreach", type=("build", "run"), when="@2.10.0:")
+ depends_on("r-doparallel", type=("build", "run"), when="@2.10.0:")
+ depends_on("r-codetools", type=("build", "run"), when="@2.12.0:")
+
+ depends_on("r-dendextend@1.0.1:", type=("build", "run"), when="@1.14.0:1.17.1")
+ depends_on("r-s4vectors@0.26.1:", type=("build", "run"), when="@2.6.2")
+ depends_on("r-cairo", type=("build", "run"), when="@2.6.2")
diff --git a/var/spack/repos/builtin/packages/r-compositions/package.py b/var/spack/repos/builtin/packages/r-compositions/package.py
index 4bbe3c44c2..11ee9107d8 100644
--- a/var/spack/repos/builtin/packages/r-compositions/package.py
+++ b/var/spack/repos/builtin/packages/r-compositions/package.py
@@ -15,15 +15,15 @@ class RCompositions(RPackage):
cran = "compositions"
- version('2.0-4', sha256='7b9c7a3bf654fb02d9eb1b4a7566469b2f5232f3b2c1b324c02239fd31060faf')
- version('2.0-1', sha256='84a291308faf858e5a9d9570135c2da5e57b0887f407903485fa85d09da61a0f')
- version('1.40-2', sha256='110d71ae000561987cb73fc76cd953bd69d37562cb401ed3c36dca137d01b78a')
-
- depends_on('r@2.2.0:', type=('build', 'run'))
- depends_on('r@3.6:', type=('build', 'run'), when='@2.0-4:')
- depends_on('r-tensora', type=('build', 'run'))
- depends_on('r-robustbase', type=('build', 'run'))
- depends_on('r-bayesm', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'), when='@2.0-1:')
-
- depends_on('r-energy', type=('build', 'run'), when='@:1.40-2')
+ version("2.0-4", sha256="7b9c7a3bf654fb02d9eb1b4a7566469b2f5232f3b2c1b324c02239fd31060faf")
+ version("2.0-1", sha256="84a291308faf858e5a9d9570135c2da5e57b0887f407903485fa85d09da61a0f")
+ version("1.40-2", sha256="110d71ae000561987cb73fc76cd953bd69d37562cb401ed3c36dca137d01b78a")
+
+ depends_on("r@2.2.0:", type=("build", "run"))
+ depends_on("r@3.6:", type=("build", "run"), when="@2.0-4:")
+ depends_on("r-tensora", type=("build", "run"))
+ depends_on("r-robustbase", type=("build", "run"))
+ depends_on("r-bayesm", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"), when="@2.0-1:")
+
+ depends_on("r-energy", type=("build", "run"), when="@:1.40-2")
diff --git a/var/spack/repos/builtin/packages/r-compquadform/package.py b/var/spack/repos/builtin/packages/r-compquadform/package.py
index fee53c6ffb..4d34a63815 100644
--- a/var/spack/repos/builtin/packages/r-compquadform/package.py
+++ b/var/spack/repos/builtin/packages/r-compquadform/package.py
@@ -15,4 +15,4 @@ class RCompquadform(RPackage):
cran = "CompQuadForm"
- version('1.4.3', sha256='042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4')
+ version("1.4.3", sha256="042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4")
diff --git a/var/spack/repos/builtin/packages/r-condop/package.py b/var/spack/repos/builtin/packages/r-condop/package.py
index 15b93bca91..0505e8b88f 100644
--- a/var/spack/repos/builtin/packages/r-condop/package.py
+++ b/var/spack/repos/builtin/packages/r-condop/package.py
@@ -16,15 +16,15 @@ class RCondop(RPackage):
cran = "CONDOP"
- version('1.0', sha256='3a855880f5c6b33f949c7e6de53c8e014b4d72b7024a93878b344d3e52b5296a')
+ version("1.0", sha256="3a855880f5c6b33f949c7e6de53c8e014b4d72b7024a93878b344d3e52b5296a")
- depends_on('r-mclust', type=('build', 'run'))
- depends_on('r-earth', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-seqinr', type=('build', 'run'))
- depends_on('r-randomforest', type=('build', 'run'))
- depends_on('r-rminer', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
+ depends_on("r-mclust", type=("build", "run"))
+ depends_on("r-earth", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-seqinr", type=("build", "run"))
+ depends_on("r-randomforest", type=("build", "run"))
+ depends_on("r-rminer", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-conquer/package.py b/var/spack/repos/builtin/packages/r-conquer/package.py
index 8093b50db9..af5124cb3a 100644
--- a/var/spack/repos/builtin/packages/r-conquer/package.py
+++ b/var/spack/repos/builtin/packages/r-conquer/package.py
@@ -16,14 +16,14 @@ class RConquer(RPackage):
cran = "conquer"
- version('1.3.0', sha256='ac354e18c9ad6f41ed5200fad1c99fa5b124fc6fa5bba8f3434be2478f53d5fa')
- version('1.2.1', sha256='1354f90f962a2124e155227cdc0ed2c6e54682f1e08934c49a827e51dc112f45')
- version('1.0.2', sha256='542f6154ce1ffec0c1b4dd4e1f5b86545015f4b378c4c66a0840c65c57d674ff')
+ version("1.3.0", sha256="ac354e18c9ad6f41ed5200fad1c99fa5b124fc6fa5bba8f3434be2478f53d5fa")
+ version("1.2.1", sha256="1354f90f962a2124e155227cdc0ed2c6e54682f1e08934c49a827e51dc112f45")
+ version("1.0.2", sha256="542f6154ce1ffec0c1b4dd4e1f5b86545015f4b378c4c66a0840c65c57d674ff")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-rcpp@1.0.3:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-rcpparmadillo@0.9.850.1.0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-rcpp@1.0.3:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-rcpparmadillo@0.9.850.1.0:", type=("build", "run"))
- depends_on('r-caret', type=('build', 'run'), when='@1.2.1')
+ depends_on("r-caret", type=("build", "run"), when="@1.2.1")
diff --git a/var/spack/repos/builtin/packages/r-construct/package.py b/var/spack/repos/builtin/packages/r-construct/package.py
index 414e2482df..9ad8df84b7 100644
--- a/var/spack/repos/builtin/packages/r-construct/package.py
+++ b/var/spack/repos/builtin/packages/r-construct/package.py
@@ -18,19 +18,19 @@ class RConstruct(RPackage):
cran = "conStruct"
- version('1.0.4', sha256='4e585b718a361061bc1432cea46fc65f802fb0ef58e4516d33e1af99bbfe90ce')
- version('1.0.3', sha256='b449c133a944ad05a28f84f312ed4ccbc1574c4659aa09c678618d2ae9008310')
+ version("1.0.4", sha256="4e585b718a361061bc1432cea46fc65f802fb0ef58e4516d33e1af99bbfe90ce")
+ version("1.0.3", sha256="b449c133a944ad05a28f84f312ed4ccbc1574c4659aa09c678618d2ae9008310")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
- depends_on('r-rstan@2.18.1:', type=('build', 'run'))
- depends_on('r-rstantools@1.5.0:', type=('build', 'run'))
- depends_on('r-caroline', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-stanheaders@2.18.0:', type=('build', 'run'))
- depends_on('r-bh@1.66.0:', type=('build', 'run'))
- depends_on('r-rcppeigen@0.3.3.3.0:', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
+ depends_on("r-rstan@2.18.1:", type=("build", "run"))
+ depends_on("r-rstantools@1.5.0:", type=("build", "run"))
+ depends_on("r-caroline", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-stanheaders@2.18.0:", type=("build", "run"))
+ depends_on("r-bh@1.66.0:", type=("build", "run"))
+ depends_on("r-rcppeigen@0.3.3.3.0:", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-convevol/package.py b/var/spack/repos/builtin/packages/r-convevol/package.py
index 3224459745..0560e56af0 100644
--- a/var/spack/repos/builtin/packages/r-convevol/package.py
+++ b/var/spack/repos/builtin/packages/r-convevol/package.py
@@ -16,11 +16,11 @@ class RConvevol(RPackage):
cran = "convevol"
- version('1.3', sha256='d6b24b9796a559f5280e277746189d141151ade4b14cc6b4c2d9d496d7f314ac')
+ version("1.3", sha256="d6b24b9796a559f5280e277746189d141151ade4b14cc6b4c2d9d496d7f314ac")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-geiger', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-phytools', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-geiger", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-phytools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-copula/package.py b/var/spack/repos/builtin/packages/r-copula/package.py
index fa0cd6abba..49184f2468 100644
--- a/var/spack/repos/builtin/packages/r-copula/package.py
+++ b/var/spack/repos/builtin/packages/r-copula/package.py
@@ -24,18 +24,18 @@ class RCopula(RPackage):
cran = "copula"
- version('1.0-1', sha256='d09b2ccffc7379e48b00952aa6b282baf502feebaf55cc44e93f881d7b909742')
- version('0.999-20', sha256='7d3d47bce2dacb05b94a772f84dbf3d83c99ac2ac11e5f1b4b03d50d9d5c0fb0')
+ version("1.0-1", sha256="d09b2ccffc7379e48b00952aa6b282baf502feebaf55cc44e93f881d7b909742")
+ version("0.999-20", sha256="7d3d47bce2dacb05b94a772f84dbf3d83c99ac2ac11e5f1b4b03d50d9d5c0fb0")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.0-1:')
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-gsl', type=('build', 'run'))
- depends_on('r-adgoftest', type=('build', 'run'))
- depends_on('r-stabledist@0.6-4:', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-pcapp', type=('build', 'run'))
- depends_on('r-pspline', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.0-1:")
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-gsl", type=("build", "run"))
+ depends_on("r-adgoftest", type=("build", "run"))
+ depends_on("r-stabledist@0.6-4:", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-pcapp", type=("build", "run"))
+ depends_on("r-pspline", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-corhmm/package.py b/var/spack/repos/builtin/packages/r-corhmm/package.py
index ec747348da..205a2c382f 100644
--- a/var/spack/repos/builtin/packages/r-corhmm/package.py
+++ b/var/spack/repos/builtin/packages/r-corhmm/package.py
@@ -15,20 +15,20 @@ class RCorhmm(RPackage):
cran = "corHMM"
- version('2.7', sha256='0d54ba0f6b3f884343bcc26919d8febc05efb0b739cb962d3072ca0bc0ce270a')
- version('2.6', sha256='726de9707ede8ef447915171a3abe1003a0e42fe8e17eb440442cac9adf8cdcf')
- version('1.22', sha256='d262fa1183eab32087afb70f1789fabae6fb49bec01d627974c54a088a48b10d')
+ version("2.7", sha256="0d54ba0f6b3f884343bcc26919d8febc05efb0b739cb962d3072ca0bc0ce270a")
+ version("2.6", sha256="726de9707ede8ef447915171a3abe1003a0e42fe8e17eb440442cac9adf8cdcf")
+ version("1.22", sha256="d262fa1183eab32087afb70f1789fabae6fb49bec01d627974c54a088a48b10d")
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-nloptr', type=('build', 'run'))
- depends_on('r-gensa', type=('build', 'run'))
- depends_on('r-expm', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-corpcor', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'), when='@2.6:')
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-phangorn', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'), when='@2.6:')
- depends_on('r-rmpfr', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'), when='@2.6:')
- depends_on('r-phytools', type=('build', 'run'), when='@2.6:')
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-nloptr", type=("build", "run"))
+ depends_on("r-gensa", type=("build", "run"))
+ depends_on("r-expm", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-corpcor", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"), when="@2.6:")
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-phangorn", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"), when="@2.6:")
+ depends_on("r-rmpfr", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"), when="@2.6:")
+ depends_on("r-phytools", type=("build", "run"), when="@2.6:")
diff --git a/var/spack/repos/builtin/packages/r-corpcor/package.py b/var/spack/repos/builtin/packages/r-corpcor/package.py
index a80dc49926..642fb2bc4b 100644
--- a/var/spack/repos/builtin/packages/r-corpcor/package.py
+++ b/var/spack/repos/builtin/packages/r-corpcor/package.py
@@ -26,7 +26,7 @@ class RCorpcor(RPackage):
cran = "corpcor"
- version('1.6.10', sha256='71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09')
- version('1.6.9', sha256='2e4fabd1d3936fecea67fa365233590147ca50bb45cf80efb53a10345a8a23c2')
+ version("1.6.10", sha256="71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09")
+ version("1.6.9", sha256="2e4fabd1d3936fecea67fa365233590147ca50bb45cf80efb53a10345a8a23c2")
- depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-corrplot/package.py b/var/spack/repos/builtin/packages/r-corrplot/package.py
index 6c3a0fcfe3..fb43ca583b 100644
--- a/var/spack/repos/builtin/packages/r-corrplot/package.py
+++ b/var/spack/repos/builtin/packages/r-corrplot/package.py
@@ -15,6 +15,6 @@ class RCorrplot(RPackage):
cran = "corrplot"
- version('0.92', sha256='e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd')
- version('0.84', sha256='0dce5e628ead9045580a191f60c58fd7c75b4bbfaaa3307678fc9ed550c303cc')
- version('0.77', sha256='54b66ff995eaf2eee3f3002509c6f27bb5bd970b0abde41893ed9387e93828d3')
+ version("0.92", sha256="e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd")
+ version("0.84", sha256="0dce5e628ead9045580a191f60c58fd7c75b4bbfaaa3307678fc9ed550c303cc")
+ version("0.77", sha256="54b66ff995eaf2eee3f3002509c6f27bb5bd970b0abde41893ed9387e93828d3")
diff --git a/var/spack/repos/builtin/packages/r-countrycode/package.py b/var/spack/repos/builtin/packages/r-countrycode/package.py
index 9744c05a36..8d8480d4ab 100644
--- a/var/spack/repos/builtin/packages/r-countrycode/package.py
+++ b/var/spack/repos/builtin/packages/r-countrycode/package.py
@@ -14,8 +14,8 @@ class RCountrycode(RPackage):
cran = "countrycode"
- version('1.4.0', sha256='99dfe7652c1e631b9e0f8fac0b0163e7a3fdde8476498555d553e0d1c5fdccc4')
- version('1.3.0', sha256='34361416e771ece1d56dc56f79416c8b7f9591885773becae270684d095bc70f')
- version('1.2.0', sha256='32c65702dcc33d512ff99f14c12f4e0c48fe7ed7c8aa2f0a64194576d129dd40')
+ version("1.4.0", sha256="99dfe7652c1e631b9e0f8fac0b0163e7a3fdde8476498555d553e0d1c5fdccc4")
+ version("1.3.0", sha256="34361416e771ece1d56dc56f79416c8b7f9591885773becae270684d095bc70f")
+ version("1.2.0", sha256="32c65702dcc33d512ff99f14c12f4e0c48fe7ed7c8aa2f0a64194576d129dd40")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-covr/package.py b/var/spack/repos/builtin/packages/r-covr/package.py
index 821a25c0bc..7f35c08d23 100644
--- a/var/spack/repos/builtin/packages/r-covr/package.py
+++ b/var/spack/repos/builtin/packages/r-covr/package.py
@@ -19,18 +19,18 @@ class RCovr(RPackage):
cran = "covr"
- version('3.5.1', sha256='a54cfc3623ea56084158ac5d7fe33f216f45191f6dcddab9c9ed4ec1d9d8ac6c')
- version('3.5.0', sha256='cb919912018130164a40803ac573a37dde2186678c058c03c6303d79604979df')
- version('3.3.0', sha256='c0aa0bd7b2dc05effdc2367c59d45294f46858930d1b14efb393b205021fc65a')
- version('3.2.1', sha256='ea90daa48011e4ac4431ae47ee02fad98f54b529fc3900281cbeef7a2edef0a0')
- version('3.2.0', sha256='b26135306b1d6b14dd4deb481359dd919a7ca1e802ca5479fed394dcf35f0ef9')
- version('3.0.1', sha256='66b799fd03cb83a9ab382d9cf4ff40603d1e3f3a89905a3174546b0c63e8d184')
+ version("3.5.1", sha256="a54cfc3623ea56084158ac5d7fe33f216f45191f6dcddab9c9ed4ec1d9d8ac6c")
+ version("3.5.0", sha256="cb919912018130164a40803ac573a37dde2186678c058c03c6303d79604979df")
+ version("3.3.0", sha256="c0aa0bd7b2dc05effdc2367c59d45294f46858930d1b14efb393b205021fc65a")
+ version("3.2.1", sha256="ea90daa48011e4ac4431ae47ee02fad98f54b529fc3900281cbeef7a2edef0a0")
+ version("3.2.0", sha256="b26135306b1d6b14dd4deb481359dd919a7ca1e802ca5479fed394dcf35f0ef9")
+ version("3.0.1", sha256="66b799fd03cb83a9ab382d9cf4ff40603d1e3f3a89905a3174546b0c63e8d184")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'), when='@3.2.0:')
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-rex', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-withr@1.0.2:', type=('build', 'run'))
- depends_on('r-yaml', type=('build', 'run'), when='@3.3.0:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"), when="@3.2.0:")
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-rex", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-withr@1.0.2:", type=("build", "run"))
+ depends_on("r-yaml", type=("build", "run"), when="@3.3.0:")
diff --git a/var/spack/repos/builtin/packages/r-cowplot/package.py b/var/spack/repos/builtin/packages/r-cowplot/package.py
index 2e906915b3..28cd130859 100644
--- a/var/spack/repos/builtin/packages/r-cowplot/package.py
+++ b/var/spack/repos/builtin/packages/r-cowplot/package.py
@@ -19,20 +19,20 @@ class RCowplot(RPackage):
cran = "cowplot"
- version('1.1.1', sha256='c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48')
- version('1.0.0', sha256='70f9a7c46d10f409d1599f1afc9fd3c947051cf2b430f01d903c64ef1e6c98a5')
- version('0.9.3', sha256='3e10475fd7506ea9297ed72eb1a3acf858c6fa99d26e46fc39654eba000c3dcb')
- version('0.9.2', sha256='8b92ce7f92937fde06b0cfb86c7634a39b3b2101e362cc55c4bec6b3fde1d28f')
- version('0.9.1', sha256='953fd9d6ff370472b9f5a9ee867a423bea3e26e406d08a2192ec1872a2e60047')
- version('0.9.0', sha256='d5632f78294c3678c08d3eb090abe1eec5cc9cd15cb5d96f9c43794ead098cb5')
- version('0.8.0', sha256='a617fde25030fe764f20967fb753a953d73b47745a2146c97c2565eb4d06700d')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-ggplot2@2.1.1:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.1:', type=('build', 'run'), when='@1.1.1:')
- depends_on('r-gtable', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-scales', type=('build', 'run'))
-
- depends_on('r-plyr@1.8.2:', type=('build', 'run'), when='@:0.9.9')
+ version("1.1.1", sha256="c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48")
+ version("1.0.0", sha256="70f9a7c46d10f409d1599f1afc9fd3c947051cf2b430f01d903c64ef1e6c98a5")
+ version("0.9.3", sha256="3e10475fd7506ea9297ed72eb1a3acf858c6fa99d26e46fc39654eba000c3dcb")
+ version("0.9.2", sha256="8b92ce7f92937fde06b0cfb86c7634a39b3b2101e362cc55c4bec6b3fde1d28f")
+ version("0.9.1", sha256="953fd9d6ff370472b9f5a9ee867a423bea3e26e406d08a2192ec1872a2e60047")
+ version("0.9.0", sha256="d5632f78294c3678c08d3eb090abe1eec5cc9cd15cb5d96f9c43794ead098cb5")
+ version("0.8.0", sha256="a617fde25030fe764f20967fb753a953d73b47745a2146c97c2565eb4d06700d")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-ggplot2@2.1.1:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.1:", type=("build", "run"), when="@1.1.1:")
+ depends_on("r-gtable", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-scales", type=("build", "run"))
+
+ depends_on("r-plyr@1.8.2:", type=("build", "run"), when="@:0.9.9")
diff --git a/var/spack/repos/builtin/packages/r-cpp11/package.py b/var/spack/repos/builtin/packages/r-cpp11/package.py
index e4dd68b46a..2986229c19 100644
--- a/var/spack/repos/builtin/packages/r-cpp11/package.py
+++ b/var/spack/repos/builtin/packages/r-cpp11/package.py
@@ -16,6 +16,6 @@ class RCpp11(RPackage):
cran = "cpp11"
- version('0.4.2', sha256='403ce0bf82358d237176053b0fb1e958cb6bfa4d0fb3555bf5801db6a6939b99')
- version('0.4.0', sha256='1768fd07dc30dfbbf8f3fb1a1183947cb7e1dfd909165c4d612a63c163a41e87')
- version('0.2.5', sha256='6fef9306c0c3043252c987e77c99ef679b2ea46dffafae318dbeb38ad21a2e20')
+ version("0.4.2", sha256="403ce0bf82358d237176053b0fb1e958cb6bfa4d0fb3555bf5801db6a6939b99")
+ version("0.4.0", sha256="1768fd07dc30dfbbf8f3fb1a1183947cb7e1dfd909165c4d612a63c163a41e87")
+ version("0.2.5", sha256="6fef9306c0c3043252c987e77c99ef679b2ea46dffafae318dbeb38ad21a2e20")
diff --git a/var/spack/repos/builtin/packages/r-crayon/package.py b/var/spack/repos/builtin/packages/r-crayon/package.py
index 8d418ce238..5829250de2 100644
--- a/var/spack/repos/builtin/packages/r-crayon/package.py
+++ b/var/spack/repos/builtin/packages/r-crayon/package.py
@@ -17,8 +17,8 @@ class RCrayon(RPackage):
cran = "crayon"
- version('1.5.1', sha256='c025c73b78a8e88e8e4363c8e1a941da5089a7baea39e59ea5342ab9ebe45df9')
- version('1.4.2', sha256='ee34397f643e76e30588068d4c93bd3c9afd2193deacccacb3bffcadf141b857')
- version('1.4.1', sha256='08b6e42e748d096960b2f32b7ffe690c25742e29fe14c19d1834cd6ff43029c7')
- version('1.3.4', sha256='fc6e9bf990e9532c4fcf1a3d2ce22d8cf12d25a95e4779adfa17713ed836fa68')
- version('1.3.2', sha256='9a6b75d63c05fe64baf222f1921330ceb727924bcc5fc2753ff0528d42555e68')
+ version("1.5.1", sha256="c025c73b78a8e88e8e4363c8e1a941da5089a7baea39e59ea5342ab9ebe45df9")
+ version("1.4.2", sha256="ee34397f643e76e30588068d4c93bd3c9afd2193deacccacb3bffcadf141b857")
+ version("1.4.1", sha256="08b6e42e748d096960b2f32b7ffe690c25742e29fe14c19d1834cd6ff43029c7")
+ version("1.3.4", sha256="fc6e9bf990e9532c4fcf1a3d2ce22d8cf12d25a95e4779adfa17713ed836fa68")
+ version("1.3.2", sha256="9a6b75d63c05fe64baf222f1921330ceb727924bcc5fc2753ff0528d42555e68")
diff --git a/var/spack/repos/builtin/packages/r-credentials/package.py b/var/spack/repos/builtin/packages/r-credentials/package.py
index b29391d17b..db21ddf12b 100644
--- a/var/spack/repos/builtin/packages/r-credentials/package.py
+++ b/var/spack/repos/builtin/packages/r-credentials/package.py
@@ -19,12 +19,12 @@ class RCredentials(RPackage):
cran = "credentials"
- version('1.3.2', sha256='2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8')
- version('1.3.0', sha256='c119ec26fd97b977c3b0cd1eb8fad3c59b84df6262c3adbf5ee9f3d6c9903ff1')
+ version("1.3.2", sha256="2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8")
+ version("1.3.0", sha256="c119ec26fd97b977c3b0cd1eb8fad3c59b84df6262c3adbf5ee9f3d6c9903ff1")
- depends_on('r-openssl@1.3:', type=('build', 'run'))
- depends_on('r-sys@2.1:', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-askpass', type=('build', 'run'))
- depends_on('git', type='run')
+ depends_on("r-openssl@1.3:", type=("build", "run"))
+ depends_on("r-sys@2.1:", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-askpass", type=("build", "run"))
+ depends_on("git", type="run")
diff --git a/var/spack/repos/builtin/packages/r-crosstalk/package.py b/var/spack/repos/builtin/packages/r-crosstalk/package.py
index 4746c10858..8ffbe1eb0f 100644
--- a/var/spack/repos/builtin/packages/r-crosstalk/package.py
+++ b/var/spack/repos/builtin/packages/r-crosstalk/package.py
@@ -15,15 +15,15 @@ class RCrosstalk(RPackage):
cran = "crosstalk"
- version('1.2.0', sha256='4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0')
- version('1.1.0.1', sha256='36a70b10bc11826e314c05f9579fd791b9ac3b3a2cfed4d4ca74ce1ad991300e')
- version('1.0.0', sha256='b31eada24cac26f24c9763d9a8cbe0adfd87b264cf57f8725027fe0c7742ca51')
-
- depends_on('r-htmltools@0.3.5:', type=('build', 'run'))
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'), when='@1.1.0.1:')
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-lazyeval', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
-
- depends_on('r-ggplot2', type=('build', 'run'), when='@:1.0.0')
- depends_on('r-shiny@0.11:', type=('build', 'run'), when='@:1.0.0')
+ version("1.2.0", sha256="4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0")
+ version("1.1.0.1", sha256="36a70b10bc11826e314c05f9579fd791b9ac3b3a2cfed4d4ca74ce1ad991300e")
+ version("1.0.0", sha256="b31eada24cac26f24c9763d9a8cbe0adfd87b264cf57f8725027fe0c7742ca51")
+
+ depends_on("r-htmltools@0.3.5:", type=("build", "run"))
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"), when="@1.1.0.1:")
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-lazyeval", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+
+ depends_on("r-ggplot2", type=("build", "run"), when="@:1.0.0")
+ depends_on("r-shiny@0.11:", type=("build", "run"), when="@:1.0.0")
diff --git a/var/spack/repos/builtin/packages/r-crul/package.py b/var/spack/repos/builtin/packages/r-crul/package.py
index e9b1b3dae6..7c2380870f 100644
--- a/var/spack/repos/builtin/packages/r-crul/package.py
+++ b/var/spack/repos/builtin/packages/r-crul/package.py
@@ -18,14 +18,14 @@ class RCrul(RPackage):
cran = "crul"
- version('1.2.0', sha256='be1a149b21cf219ef55adfb56a6a5eb9892a9acf0d5f5421a22e52f2a7066f8c')
- version('1.0.0', sha256='2ade500f6cf89b2d0ca8496b8d4df9937d6f802a35c9ad10d9fab8632cdb1027')
- version('0.8.4', sha256='dbd950ad3b68402e5a5955615b1abcb5c9bdc846c93aa25f96a7a58913d04c8b')
- version('0.7.4', sha256='c963dd666ae3fc89b661ce19fce2fa19a16fc3825e1502105cae98ceb92c6014')
+ version("1.2.0", sha256="be1a149b21cf219ef55adfb56a6a5eb9892a9acf0d5f5421a22e52f2a7066f8c")
+ version("1.0.0", sha256="2ade500f6cf89b2d0ca8496b8d4df9937d6f802a35c9ad10d9fab8632cdb1027")
+ version("0.8.4", sha256="dbd950ad3b68402e5a5955615b1abcb5c9bdc846c93aa25f96a7a58913d04c8b")
+ version("0.7.4", sha256="c963dd666ae3fc89b661ce19fce2fa19a16fc3825e1502105cae98ceb92c6014")
- depends_on('r-curl@3.3:', type=('build', 'run'))
- depends_on('r-r6@2.2.0:', type=('build', 'run'))
- depends_on('r-urltools@1.6.0:', type=('build', 'run'))
- depends_on('r-httpcode@0.2.0:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'), when='@0.8.4:')
- depends_on('r-mime', type=('build', 'run'))
+ depends_on("r-curl@3.3:", type=("build", "run"))
+ depends_on("r-r6@2.2.0:", type=("build", "run"))
+ depends_on("r-urltools@1.6.0:", type=("build", "run"))
+ depends_on("r-httpcode@0.2.0:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"), when="@0.8.4:")
+ depends_on("r-mime", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ctc/package.py b/var/spack/repos/builtin/packages/r-ctc/package.py
index 4ade350e0f..9cf4fe2cd3 100644
--- a/var/spack/repos/builtin/packages/r-ctc/package.py
+++ b/var/spack/repos/builtin/packages/r-ctc/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RCtc(RPackage):
"""Cluster and Tree Conversion.
- Tools for export and import classification trees and clusters to other
- programs"""
+ Tools for export and import classification trees and clusters to other
+ programs"""
bioc = "ctc"
- version('1.70.0', commit='05dc046ecfddbc1eeadf77e8f3ec0ce054794437')
- version('1.68.0', commit='c2733534ef9d948e07ea654d1998a67ed8f7a98a')
- version('1.64.0', commit='35dbe620a21056b8f69890e6f9a7c320528d8621')
- version('1.58.0', commit='c41df03ac149db20c5e337142142d61cfb9b43fb')
- version('1.56.0', commit='cbd5befdda4630799f8fe0d868d83b094e3d352f')
- version('1.54.0', commit='0c3df81dfc8fabe12e11884bed44b64e11fd6d4e')
- version('1.52.0', commit='ffff8693cab5ebad610d139367f089418f1830a1')
- version('1.50.0', commit='4ee7519c3e5172e140c2658b4cf5271d229acc7e')
+ version("1.70.0", commit="05dc046ecfddbc1eeadf77e8f3ec0ce054794437")
+ version("1.68.0", commit="c2733534ef9d948e07ea654d1998a67ed8f7a98a")
+ version("1.64.0", commit="35dbe620a21056b8f69890e6f9a7c320528d8621")
+ version("1.58.0", commit="c41df03ac149db20c5e337142142d61cfb9b43fb")
+ version("1.56.0", commit="cbd5befdda4630799f8fe0d868d83b094e3d352f")
+ version("1.54.0", commit="0c3df81dfc8fabe12e11884bed44b64e11fd6d4e")
+ version("1.52.0", commit="ffff8693cab5ebad610d139367f089418f1830a1")
+ version("1.50.0", commit="4ee7519c3e5172e140c2658b4cf5271d229acc7e")
- depends_on('r-amap', type=('build', 'run'))
+ depends_on("r-amap", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-cubature/package.py b/var/spack/repos/builtin/packages/r-cubature/package.py
index fa6b0c523f..8df56ae4c4 100644
--- a/var/spack/repos/builtin/packages/r-cubature/package.py
+++ b/var/spack/repos/builtin/packages/r-cubature/package.py
@@ -18,14 +18,14 @@ class RCubature(RPackage):
cran = "cubature"
- version('2.0.4.4', sha256='087b3b2c4f25d873fa95e9d38766a17a7201d03a6f4960f1e080a8db8b67d569')
- version('2.0.4.2', sha256='605bdd9d90fb6645359cccd1b289c5afae235b46360ef5bdd2001aa307a7694e')
- version('2.0.4.1', sha256='383fbdf49d1cdf760ad5d88d353e69118c7c663cde126c5bdd33b6fecc50d400')
- version('2.0.3', sha256='79bf03ebdb64b0de1ef19d24051b9d922df9310254bee459bb47764522407a73')
- version('2.0.2', sha256='641165c665ff490c523bccc05c42bb6851e42676b6b366b55fc442a51a8fbe8c')
- version('1.1-2', sha256='0a05469bdc85d6bd8165a42a3fc5c35a06700d279e4e8b3cf4669df19edffeed')
-
- depends_on('r-rcpp', type=('build', 'run'), when='@2.0.3:')
- depends_on('gmake', type='build')
+ version("2.0.4.4", sha256="087b3b2c4f25d873fa95e9d38766a17a7201d03a6f4960f1e080a8db8b67d569")
+ version("2.0.4.2", sha256="605bdd9d90fb6645359cccd1b289c5afae235b46360ef5bdd2001aa307a7694e")
+ version("2.0.4.1", sha256="383fbdf49d1cdf760ad5d88d353e69118c7c663cde126c5bdd33b6fecc50d400")
+ version("2.0.3", sha256="79bf03ebdb64b0de1ef19d24051b9d922df9310254bee459bb47764522407a73")
+ version("2.0.2", sha256="641165c665ff490c523bccc05c42bb6851e42676b6b366b55fc442a51a8fbe8c")
+ version("1.1-2", sha256="0a05469bdc85d6bd8165a42a3fc5c35a06700d279e4e8b3cf4669df19edffeed")
+
+ depends_on("r-rcpp", type=("build", "run"), when="@2.0.3:")
+ depends_on("gmake", type="build")
parallel = False
diff --git a/var/spack/repos/builtin/packages/r-cubist/package.py b/var/spack/repos/builtin/packages/r-cubist/package.py
index 0d9e9e5ae9..0573cd36f1 100644
--- a/var/spack/repos/builtin/packages/r-cubist/package.py
+++ b/var/spack/repos/builtin/packages/r-cubist/package.py
@@ -13,12 +13,12 @@ class RCubist(RPackage):
cran = "Cubist"
- version('0.4.0', sha256='3a1f74d44300e3a38a10e3693fc019cfcca221d62d7c416abebb20811e965578')
- version('0.3.0', sha256='88a76e7f858a8e978a73a97ce6a3504201d889517b39ce862cef734dcf9eb263')
- version('0.2.3', sha256='19845f585e073f316bb4bdf74b28a624e839561faeedd40ef5548960c5b1e1f4')
- version('0.2.2', sha256='cd3e152cc72ab33f720a8fb6b8b6787171e1c037cfda48f1735ab692ed6d85d4')
- version('0.2.1', sha256='b310c3f166f15fa3e16f8d110d39931b0bb1b0aa8d0c9ac2af5a9a45081588a3')
- version('0.0.19', sha256='101379979acb12a58bcf32a912fef32d497b00263ebea918f2b85a2c32934aae')
+ version("0.4.0", sha256="3a1f74d44300e3a38a10e3693fc019cfcca221d62d7c416abebb20811e965578")
+ version("0.3.0", sha256="88a76e7f858a8e978a73a97ce6a3504201d889517b39ce862cef734dcf9eb263")
+ version("0.2.3", sha256="19845f585e073f316bb4bdf74b28a624e839561faeedd40ef5548960c5b1e1f4")
+ version("0.2.2", sha256="cd3e152cc72ab33f720a8fb6b8b6787171e1c037cfda48f1735ab692ed6d85d4")
+ version("0.2.1", sha256="b310c3f166f15fa3e16f8d110d39931b0bb1b0aa8d0c9ac2af5a9a45081588a3")
+ version("0.0.19", sha256="101379979acb12a58bcf32a912fef32d497b00263ebea918f2b85a2c32934aae")
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-curl/package.py b/var/spack/repos/builtin/packages/r-curl/package.py
index ffd4dac220..0ed1a37d14 100644
--- a/var/spack/repos/builtin/packages/r-curl/package.py
+++ b/var/spack/repos/builtin/packages/r-curl/package.py
@@ -21,15 +21,15 @@ class RCurl(RPackage):
cran = "curl"
- version('4.3.2', sha256='90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568')
- version('4.3', sha256='7406d485bb50a6190e3ed201e3489063fd249b8b3b1b4f049167ac405a352edb')
- version('4.0', sha256='09a99c9c86666449188fbb211cb1e9fbdb5108ab56f0d09322cd0ae50e926171')
- version('3.3', sha256='0cb0b9a9280edc42ebed94708541ec86b4f48779e722171e45227eab8a88a5bd')
- version('3.0', sha256='7bf8e3ae7cc77802ae300277e85d925d4c0611a9b7dad5c5601e0d2cbe14a506')
- version('2.3', sha256='f901dad6bb70a6875a85da75bcbb42afffdcdf4ef221909733826bcb012d7c3d')
- version('1.0', sha256='f8927228754fdfb21dbf08b9e67c5f97e06764c4adf327a4126eed84b1508f3d')
- version('0.9.7', sha256='46e150998723fd1937da598f47f49fe47e40c1f57ec594436c6ef1e0145b44dc')
+ version("4.3.2", sha256="90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568")
+ version("4.3", sha256="7406d485bb50a6190e3ed201e3489063fd249b8b3b1b4f049167ac405a352edb")
+ version("4.0", sha256="09a99c9c86666449188fbb211cb1e9fbdb5108ab56f0d09322cd0ae50e926171")
+ version("3.3", sha256="0cb0b9a9280edc42ebed94708541ec86b4f48779e722171e45227eab8a88a5bd")
+ version("3.0", sha256="7bf8e3ae7cc77802ae300277e85d925d4c0611a9b7dad5c5601e0d2cbe14a506")
+ version("2.3", sha256="f901dad6bb70a6875a85da75bcbb42afffdcdf4ef221909733826bcb012d7c3d")
+ version("1.0", sha256="f8927228754fdfb21dbf08b9e67c5f97e06764c4adf327a4126eed84b1508f3d")
+ version("0.9.7", sha256="46e150998723fd1937da598f47f49fe47e40c1f57ec594436c6ef1e0145b44dc")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('curl', when='@4.3:')
- depends_on('curl@:7.63', when='@:4.0')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("curl", when="@4.3:")
+ depends_on("curl@:7.63", when="@:4.0")
diff --git a/var/spack/repos/builtin/packages/r-dada2/package.py b/var/spack/repos/builtin/packages/r-dada2/package.py
index 06c94d4904..0960caab82 100644
--- a/var/spack/repos/builtin/packages/r-dada2/package.py
+++ b/var/spack/repos/builtin/packages/r-dada2/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class RDada2(RPackage):
"""Accurate sample inference from amplicon data with single nucleotide
- resolution"""
+ resolution"""
homepage = "https://benjjneb.github.io/dada2/"
- url = "https://github.com/benjjneb/dada2/archive/v1.14.tar.gz"
+ url = "https://github.com/benjjneb/dada2/archive/v1.14.tar.gz"
- version('1.20', sha256='351b80dc5cdd587f5d4fe2541574e3d0cf7966342ee913b47cb20c7eb150e3f5')
- version('1.14', sha256='19980b9d7b0a0e80e86010357cae11d1fc07c2d02067c4445169143cf1f99906')
+ version("1.20", sha256="351b80dc5cdd587f5d4fe2541574e3d0cf7966342ee913b47cb20c7eb150e3f5")
+ version("1.14", sha256="19980b9d7b0a0e80e86010357cae11d1fc07c2d02067c4445169143cf1f99906")
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
- depends_on('r-biostrings@2.42.1:', type=('build', 'run'))
- depends_on('r-ggplot2@2.1.0:', type=('build', 'run'))
- depends_on('r-reshape2@1.4.1:', type=('build', 'run'))
- depends_on('r-shortread@1.32.0:', type=('build', 'run'))
- depends_on('r-rcppparallel@4.3.0:', type=('build', 'run'))
- depends_on('r-iranges@2.6.0:', type=('build', 'run'))
- depends_on('r-xvector@0.16.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.22.0:', type=('build', 'run'))
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
+ depends_on("r-biostrings@2.42.1:", type=("build", "run"))
+ depends_on("r-ggplot2@2.1.0:", type=("build", "run"))
+ depends_on("r-reshape2@1.4.1:", type=("build", "run"))
+ depends_on("r-shortread@1.32.0:", type=("build", "run"))
+ depends_on("r-rcppparallel@4.3.0:", type=("build", "run"))
+ depends_on("r-iranges@2.6.0:", type=("build", "run"))
+ depends_on("r-xvector@0.16.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.22.0:", type=("build", "run"))
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-data-table/package.py b/var/spack/repos/builtin/packages/r-data-table/package.py
index 8c45caa4cf..1f134db0a7 100644
--- a/var/spack/repos/builtin/packages/r-data-table/package.py
+++ b/var/spack/repos/builtin/packages/r-data-table/package.py
@@ -16,24 +16,24 @@ class RDataTable(RPackage):
cran = "data.table"
- version('1.14.2', sha256='f741b951e5937440139514aedbae78dbd6862d825066848bdb006aa02c2f3d2b')
- version('1.13.6', sha256='d50cdd4c4f89cabf83baa9114e49a3b8179f403c499d6e0be7791a44ffcd3e9b')
- version('1.12.8', sha256='d3a75f3a355ff144cc20a476041617e21fcf2a9f79265fd9bbd4693f3671f9dc')
- version('1.12.2', sha256='db55c18f0d703a8bc1c806dd1f7551bb405cb867717f52ef9dd64405394d22f5')
- version('1.12.0', sha256='611b112123dbd4ebd5200770fcdfaaeaab622adeb2b290d36018d3092742e3f7')
- version('1.11.8', sha256='dc427465599cadd848b28a78e2fce3362867847b44148252054385999fe566d9')
- version('1.11.6', sha256='ac6783c18e94d1bc05702ddec9fd87c542c744f640132f5ffc373348be84d9e9')
- version('1.11.4', sha256='fdccf1dec3f38bb344163163decf3ffa0c0f8e2c70daa1bec8aac422716e81d5')
- version('1.11.2', sha256='44f548517426c0444f7ce993bf93350be9f31e214d3dad39f9a680a53f9e6e64')
- version('1.11.0', sha256='ae81e07a39ef0cb65751c8987df21246d57ebc5e4ef7e9c511225a9d58193758')
- version('1.10.4-3', sha256='ba8b4f1b96b16e7f9765fc49c5028f21ef2210fc46cf962f4f7ea7901f9d8a89')
- version('1.10.4-2', sha256='27d703e0746b25cab0229285013e955f676ab9d8460d7f7c3c01df4c257b2d95')
- version('1.10.4-1', sha256='1ea6f9d45c94974f69b6918a248853ba24cbd80cdd1309b1be43eca65d6e7a75')
- version('1.10.4', sha256='865fdf6aad389071ad063ec1c75a78ffc86eeb88bba011f3ea5281d243966b7a')
- version('1.10.2', sha256='95a3ae6b273910571e25400a5cab1f7542cf589272c012c268f4b4724216f658')
- version('1.10.0', sha256='cf61732ef9b38ecb6579055d1cd145198ad23a5a9ae4378f94a1494e6c56c884')
- version('1.9.8', sha256='dadb21a14a7f4d60955cdd8fb9779136833498be97b1625914e9a6b580646f4d')
- version('1.9.6', sha256='6f74c349c1731823aef6899edcf18418454167d04eba983e3a6fe17ee9fd236e')
+ version("1.14.2", sha256="f741b951e5937440139514aedbae78dbd6862d825066848bdb006aa02c2f3d2b")
+ version("1.13.6", sha256="d50cdd4c4f89cabf83baa9114e49a3b8179f403c499d6e0be7791a44ffcd3e9b")
+ version("1.12.8", sha256="d3a75f3a355ff144cc20a476041617e21fcf2a9f79265fd9bbd4693f3671f9dc")
+ version("1.12.2", sha256="db55c18f0d703a8bc1c806dd1f7551bb405cb867717f52ef9dd64405394d22f5")
+ version("1.12.0", sha256="611b112123dbd4ebd5200770fcdfaaeaab622adeb2b290d36018d3092742e3f7")
+ version("1.11.8", sha256="dc427465599cadd848b28a78e2fce3362867847b44148252054385999fe566d9")
+ version("1.11.6", sha256="ac6783c18e94d1bc05702ddec9fd87c542c744f640132f5ffc373348be84d9e9")
+ version("1.11.4", sha256="fdccf1dec3f38bb344163163decf3ffa0c0f8e2c70daa1bec8aac422716e81d5")
+ version("1.11.2", sha256="44f548517426c0444f7ce993bf93350be9f31e214d3dad39f9a680a53f9e6e64")
+ version("1.11.0", sha256="ae81e07a39ef0cb65751c8987df21246d57ebc5e4ef7e9c511225a9d58193758")
+ version("1.10.4-3", sha256="ba8b4f1b96b16e7f9765fc49c5028f21ef2210fc46cf962f4f7ea7901f9d8a89")
+ version("1.10.4-2", sha256="27d703e0746b25cab0229285013e955f676ab9d8460d7f7c3c01df4c257b2d95")
+ version("1.10.4-1", sha256="1ea6f9d45c94974f69b6918a248853ba24cbd80cdd1309b1be43eca65d6e7a75")
+ version("1.10.4", sha256="865fdf6aad389071ad063ec1c75a78ffc86eeb88bba011f3ea5281d243966b7a")
+ version("1.10.2", sha256="95a3ae6b273910571e25400a5cab1f7542cf589272c012c268f4b4724216f658")
+ version("1.10.0", sha256="cf61732ef9b38ecb6579055d1cd145198ad23a5a9ae4378f94a1494e6c56c884")
+ version("1.9.8", sha256="dadb21a14a7f4d60955cdd8fb9779136833498be97b1625914e9a6b580646f4d")
+ version("1.9.6", sha256="6f74c349c1731823aef6899edcf18418454167d04eba983e3a6fe17ee9fd236e")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/r-dbi/package.py b/var/spack/repos/builtin/packages/r-dbi/package.py
index 4511ee86f2..ced919741e 100644
--- a/var/spack/repos/builtin/packages/r-dbi/package.py
+++ b/var/spack/repos/builtin/packages/r-dbi/package.py
@@ -15,11 +15,11 @@ class RDbi(RPackage):
cran = "DBI"
- version('1.1.2', sha256='56ec377d471c76ac234ddfd313bd01a050c99fb6fa5f704f5333b34a5d714f58')
- version('1.1.1', sha256='572ab3b8a6421d0ac3e7665c4c842826f1723af98fca25d4f43edb419e771344')
- version('1.1.0', sha256='a96db7fa39a58f1ed34c6e78d8f5f7e4cf0882afb301323b5c6975d6729203e4')
- version('1.0.0', sha256='ff16f118eb3f759183441835e932b87358dd80ab9800ce576a8f3df1b6f01cf5')
- version('0.4-1', sha256='eff14a9af4975f23f8e1f4347d82c33c32c0b4f4f3e11370c582a89aeb8ac68e')
- version('0.7', sha256='2557d5d59a45620ec9de340c2c25eec4cc478d3fc3f8b87979cf337c5bcfde11')
+ version("1.1.2", sha256="56ec377d471c76ac234ddfd313bd01a050c99fb6fa5f704f5333b34a5d714f58")
+ version("1.1.1", sha256="572ab3b8a6421d0ac3e7665c4c842826f1723af98fca25d4f43edb419e771344")
+ version("1.1.0", sha256="a96db7fa39a58f1ed34c6e78d8f5f7e4cf0882afb301323b5c6975d6729203e4")
+ version("1.0.0", sha256="ff16f118eb3f759183441835e932b87358dd80ab9800ce576a8f3df1b6f01cf5")
+ version("0.4-1", sha256="eff14a9af4975f23f8e1f4347d82c33c32c0b4f4f3e11370c582a89aeb8ac68e")
+ version("0.7", sha256="2557d5d59a45620ec9de340c2c25eec4cc478d3fc3f8b87979cf337c5bcfde11")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dbplyr/package.py b/var/spack/repos/builtin/packages/r-dbplyr/package.py
index 5e1f0824eb..b2f267e80e 100644
--- a/var/spack/repos/builtin/packages/r-dbplyr/package.py
+++ b/var/spack/repos/builtin/packages/r-dbplyr/package.py
@@ -16,31 +16,31 @@ class RDbplyr(RPackage):
cran = "dbplyr"
- version('2.1.1', sha256='aba4cf47b85ab240fd3ec4cd8d512f6e1958201e151577c1a2ebc3d6ebc5bc08')
- version('2.0.0', sha256='ecd71936ecfefbdda0fad24e52653ac9c0913e01126e467c92c8ba9de37b4069')
- version('1.4.2', sha256='b783f0da2c09a1e63f41168b02c0715b08820f02a351f7ab0aaa688432754de0')
- version('1.4.1', sha256='cfe829f56acdc785c5af21bf3927cf08327504d78c4ae1477c405c81b131da95')
- version('1.2.2', sha256='9d410bb0055fffe10f1f8da55a5b24d98322c7b571d74df61427d5888332bc48')
- version('1.2.1', sha256='b348e7a02623f037632c85fb11be16c40c01755ae6ca02c8c189cdc192a699db')
- version('1.2.0', sha256='02a5fa8dcf8a81c061fdaefa74f17896bee913720418b44dbd226a0d6b30799d')
- version('1.1.0', sha256='7b1e456a2d1056fa6284582cd82d2df66d06b3eea92e9995f5a91a45f246f69d')
+ version("2.1.1", sha256="aba4cf47b85ab240fd3ec4cd8d512f6e1958201e151577c1a2ebc3d6ebc5bc08")
+ version("2.0.0", sha256="ecd71936ecfefbdda0fad24e52653ac9c0913e01126e467c92c8ba9de37b4069")
+ version("1.4.2", sha256="b783f0da2c09a1e63f41168b02c0715b08820f02a351f7ab0aaa688432754de0")
+ version("1.4.1", sha256="cfe829f56acdc785c5af21bf3927cf08327504d78c4ae1477c405c81b131da95")
+ version("1.2.2", sha256="9d410bb0055fffe10f1f8da55a5b24d98322c7b571d74df61427d5888332bc48")
+ version("1.2.1", sha256="b348e7a02623f037632c85fb11be16c40c01755ae6ca02c8c189cdc192a699db")
+ version("1.2.0", sha256="02a5fa8dcf8a81c061fdaefa74f17896bee913720418b44dbd226a0d6b30799d")
+ version("1.1.0", sha256="7b1e456a2d1056fa6284582cd82d2df66d06b3eea92e9995f5a91a45f246f69d")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-assertthat@0.2.0:', type=('build', 'run'))
- depends_on('r-blob@1.2.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-dbi@1.0.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.0:', type=('build', 'run'))
- depends_on('r-dplyr@1.0.3:', type=('build', 'run'), when='@2.1.0')
- depends_on('r-dplyr@1.0.4:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@2.1:')
- depends_on('r-glue@1.2.0:', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-magrittr', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-purrr@0.2.5:', type=('build', 'run'))
- depends_on('r-r6@2.2.2:', type=('build', 'run'))
- depends_on('r-rlang@0.2.0:', type=('build', 'run'))
- depends_on('r-tibble@1.4.2:', type=('build', 'run'))
- depends_on('r-tidyselect@0.2.4:', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'), when='@2.1:')
- depends_on('r-withr', type=('build', 'run'), when='@2.0.0:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-assertthat@0.2.0:", type=("build", "run"))
+ depends_on("r-blob@1.2.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-dbi@1.0.0:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.0:", type=("build", "run"))
+ depends_on("r-dplyr@1.0.3:", type=("build", "run"), when="@2.1.0")
+ depends_on("r-dplyr@1.0.4:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@2.1:")
+ depends_on("r-glue@1.2.0:", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-magrittr", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-purrr@0.2.5:", type=("build", "run"))
+ depends_on("r-r6@2.2.2:", type=("build", "run"))
+ depends_on("r-rlang@0.2.0:", type=("build", "run"))
+ depends_on("r-tibble@1.4.2:", type=("build", "run"))
+ depends_on("r-tidyselect@0.2.4:", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"), when="@2.1:")
+ depends_on("r-withr", type=("build", "run"), when="@2.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-debugme/package.py b/var/spack/repos/builtin/packages/r-debugme/package.py
index 89650a0a8f..74f0b150c6 100644
--- a/var/spack/repos/builtin/packages/r-debugme/package.py
+++ b/var/spack/repos/builtin/packages/r-debugme/package.py
@@ -14,6 +14,6 @@ class RDebugme(RPackage):
cran = "debugme"
- version('1.1.0', sha256='4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1')
+ version("1.1.0", sha256="4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1")
- depends_on('r-crayon', type=('build', 'run'))
+ depends_on("r-crayon", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-decipher/package.py b/var/spack/repos/builtin/packages/r-decipher/package.py
index 35438953bc..b4cac08fe1 100644
--- a/var/spack/repos/builtin/packages/r-decipher/package.py
+++ b/var/spack/repos/builtin/packages/r-decipher/package.py
@@ -13,21 +13,21 @@ class RDecipher(RPackage):
bioc = "DECIPHER"
- version('2.24.0', commit='437e60005ab281bd836f47756a367795bc16755d')
- version('2.22.0', commit='45da5cab5869d83af797aa82b08ebcd24f5bdab3')
- version('2.18.1', commit='6a708421550e6705d05e2fb50a0f5ab4f9041cb0')
- version('2.12.0', commit='658ae23870383b25b96a03a18d4ecac228a2650f')
- version('2.10.2', commit='db7b017c9050a7ec1d4daa15352994890095e9c3')
- version('2.8.1', commit='35aa66f48e06b93a98d1060c90c44d34ce05ccd9')
- version('2.6.0', commit='ed9acaa35c8774cb0ea01cd7cc2e46d063d8c70e')
- version('2.4.0', commit='1a57b8e4c7d7dec1c233f79c9a88d3705e0ad432')
+ version("2.24.0", commit="437e60005ab281bd836f47756a367795bc16755d")
+ version("2.22.0", commit="45da5cab5869d83af797aa82b08ebcd24f5bdab3")
+ version("2.18.1", commit="6a708421550e6705d05e2fb50a0f5ab4f9041cb0")
+ version("2.12.0", commit="658ae23870383b25b96a03a18d4ecac228a2650f")
+ version("2.10.2", commit="db7b017c9050a7ec1d4daa15352994890095e9c3")
+ version("2.8.1", commit="35aa66f48e06b93a98d1060c90c44d34ce05ccd9")
+ version("2.6.0", commit="ed9acaa35c8774cb0ea01cd7cc2e46d063d8c70e")
+ version("2.4.0", commit="1a57b8e4c7d7dec1c233f79c9a88d3705e0ad432")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.18.1:')
- depends_on('r-biostrings@2.35.12:', type=('build', 'run'))
- depends_on('r-biostrings@2.59.1:', type=('build', 'run'), when='@2.22.0:')
- depends_on('r-rsqlite@1.1:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-xvector', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.18.1:")
+ depends_on("r-biostrings@2.35.12:", type=("build", "run"))
+ depends_on("r-biostrings@2.59.1:", type=("build", "run"), when="@2.22.0:")
+ depends_on("r-rsqlite@1.1:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-xvector", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-delayedarray/package.py b/var/spack/repos/builtin/packages/r-delayedarray/package.py
index 6817044ef5..0d756bb18d 100644
--- a/var/spack/repos/builtin/packages/r-delayedarray/package.py
+++ b/var/spack/repos/builtin/packages/r-delayedarray/package.py
@@ -8,45 +8,45 @@ from spack.package import *
class RDelayedarray(RPackage):
"""A unified framework for working transparently with on-disk and in-memory
- array-like datasets.
+ array-like datasets.
- Wrapping an array-like object (typically an on-disk object) in a
- DelayedArray object allows one to perform common array operations on it
- without loading the object in memory. In order to reduce memory usage
- and optimize performance, operations on the object are either delayed or
- executed using a block processing mechanism. Note that this also works
- on in-memory array-like objects like DataFrame objects (typically with
- Rle columns), Matrix objects, and ordinary arrays and data frames."""
+ Wrapping an array-like object (typically an on-disk object) in a
+ DelayedArray object allows one to perform common array operations on it
+ without loading the object in memory. In order to reduce memory usage
+ and optimize performance, operations on the object are either delayed or
+ executed using a block processing mechanism. Note that this also works
+ on in-memory array-like objects like DataFrame objects (typically with
+ Rle columns), Matrix objects, and ordinary arrays and data frames."""
bioc = "DelayedArray"
- version('0.22.0', commit='4a5afd117b189b40bd409c7aff60e09d41797472')
- version('0.20.0', commit='829b52916ec54bb4f1a3c6f06c9955f3e28b3592')
- version('0.16.1', commit='c95eba771ad3fee1b49ec38c51cd8fd1486feadc')
- version('0.10.0', commit='4781d073110a3fd1e20c4083b6b2b0f260d0cb0a')
- version('0.8.0', commit='7c23cf46558de9dbe7a42fba516a9bb660a0f19f')
- version('0.6.6', commit='bdb0ac0eee71edd40ccca4808f618fa77f595a64')
- version('0.4.1', commit='ffe932ef8c255614340e4856fc6e0b44128a27a1')
- version('0.2.7', commit='909c2ce1665ebae2543172ead50abbe10bd42bc4')
-
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.20.0:')
- depends_on('r-matrix', type=('build', 'run'), when='@0.10.0:')
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-biocgenerics@0.25.1:', type=('build', 'run'), when='@0.6.6:')
- depends_on('r-biocgenerics@0.27.1:', type=('build', 'run'), when='@0.8.0:')
- depends_on('r-biocgenerics@0.31.5:', type=('build', 'run'), when='@0.16.1:')
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@0.20.1:')
- depends_on('r-matrixgenerics@1.1.3:', type=('build', 'run'), when='@0.16.1:')
- depends_on('r-s4vectors@0.14.3:', type=('build', 'run'))
- depends_on('r-s4vectors@0.15.3:', type=('build', 'run'), when='@0.4.1:')
- depends_on('r-s4vectors@0.17.43:', type=('build', 'run'), when='@0.6.6:')
- depends_on('r-s4vectors@0.19.15:', type=('build', 'run'), when='@0.8.0:')
- depends_on('r-s4vectors@0.21.7:', type=('build', 'run'), when='@0.10.0:')
- depends_on('r-s4vectors@0.27.2:', type=('build', 'run'), when='@0.16.1:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.11.17:', type=('build', 'run'), when='@0.4.1:')
- depends_on('r-iranges@2.17.3:', type=('build', 'run'), when='@0.10.0:')
-
- depends_on('r-matrixstats', type=('build', 'run'), when='@:0.10.0')
- depends_on('r-biocparallel', type=('build', 'run'), when='@0.6.6:0.10.0')
+ version("0.22.0", commit="4a5afd117b189b40bd409c7aff60e09d41797472")
+ version("0.20.0", commit="829b52916ec54bb4f1a3c6f06c9955f3e28b3592")
+ version("0.16.1", commit="c95eba771ad3fee1b49ec38c51cd8fd1486feadc")
+ version("0.10.0", commit="4781d073110a3fd1e20c4083b6b2b0f260d0cb0a")
+ version("0.8.0", commit="7c23cf46558de9dbe7a42fba516a9bb660a0f19f")
+ version("0.6.6", commit="bdb0ac0eee71edd40ccca4808f618fa77f595a64")
+ version("0.4.1", commit="ffe932ef8c255614340e4856fc6e0b44128a27a1")
+ version("0.2.7", commit="909c2ce1665ebae2543172ead50abbe10bd42bc4")
+
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.20.0:")
+ depends_on("r-matrix", type=("build", "run"), when="@0.10.0:")
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@0.6.6:")
+ depends_on("r-biocgenerics@0.27.1:", type=("build", "run"), when="@0.8.0:")
+ depends_on("r-biocgenerics@0.31.5:", type=("build", "run"), when="@0.16.1:")
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@0.20.1:")
+ depends_on("r-matrixgenerics@1.1.3:", type=("build", "run"), when="@0.16.1:")
+ depends_on("r-s4vectors@0.14.3:", type=("build", "run"))
+ depends_on("r-s4vectors@0.15.3:", type=("build", "run"), when="@0.4.1:")
+ depends_on("r-s4vectors@0.17.43:", type=("build", "run"), when="@0.6.6:")
+ depends_on("r-s4vectors@0.19.15:", type=("build", "run"), when="@0.8.0:")
+ depends_on("r-s4vectors@0.21.7:", type=("build", "run"), when="@0.10.0:")
+ depends_on("r-s4vectors@0.27.2:", type=("build", "run"), when="@0.16.1:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.11.17:", type=("build", "run"), when="@0.4.1:")
+ depends_on("r-iranges@2.17.3:", type=("build", "run"), when="@0.10.0:")
+
+ depends_on("r-matrixstats", type=("build", "run"), when="@:0.10.0")
+ depends_on("r-biocparallel", type=("build", "run"), when="@0.6.6:0.10.0")
diff --git a/var/spack/repos/builtin/packages/r-delayedmatrixstats/package.py b/var/spack/repos/builtin/packages/r-delayedmatrixstats/package.py
index e9d7fea6c4..15f852038d 100644
--- a/var/spack/repos/builtin/packages/r-delayedmatrixstats/package.py
+++ b/var/spack/repos/builtin/packages/r-delayedmatrixstats/package.py
@@ -9,42 +9,42 @@ from spack.package import *
class RDelayedmatrixstats(RPackage):
"""Functions that Apply to Rows and Columns of 'DelayedMatrix' Objects.
- A port of the 'matrixStats' API for use with DelayedMatrix objects from
- the 'DelayedArray' package. High-performing functions operating on rows
- and columns of DelayedMatrix objects, e.g. col / rowMedians(), col /
- rowRanks(), and col / rowSds(). Functions optimized per data type and
- for subsetted calculations such that both memory usage and processing
- time is minimized."""
+ A port of the 'matrixStats' API for use with DelayedMatrix objects from
+ the 'DelayedArray' package. High-performing functions operating on rows
+ and columns of DelayedMatrix objects, e.g. col / rowMedians(), col /
+ rowRanks(), and col / rowSds(). Functions optimized per data type and
+ for subsetted calculations such that both memory usage and processing
+ time is minimized."""
bioc = "DelayedMatrixStats"
- version('1.18.0', commit='50c9aab259b6e8f68abf44b78122662a41c8bf47')
- version('1.16.0', commit='d44a3d765769cb022193428a77af25bf19916be7')
- version('1.12.3', commit='2b3091dfa9b3bab914e3a4157182063714ba86ae')
- version('1.6.1', commit='4378d1898a403305a94b122c4f36d1215fa7708d')
- version('1.4.0', commit='eb5b390ef99651fe87a346848f807de95afe8971')
- version('1.2.0', commit='de868e730be6280dfad41a280ab09f4d3083c9ac')
- version('1.0.3', commit='e29a3444980ff727c5b12286884b06dfaebf5b5b')
-
- depends_on('r-matrixgenerics', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-matrixgenerics@1.5.3:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-delayedarray', type=('build', 'run'))
- depends_on('r-delayedarray@0.5.27:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-delayedarray@0.7.37:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-delayedarray@0.9.8:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-delayedarray@0.15.3:', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-delayedarray@0.17.6:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-matrixstats@0.53.1:', type=('build', 'run'))
- depends_on('r-matrixstats@0.55.0:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-matrixstats@0.56.0:', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-matrixstats@0.60.0:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-sparsematrixstats', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.5:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.25.10:', type=('build', 'run'), when='@1.16.0:')
-
- depends_on('r-hdf5array@1.7.10:', type=('build', 'run'), when='@1.4.0:1.12.3')
- depends_on('r-hdf5array@1.17.2:', type=('build', 'run'), when='@1.12.2:1.12.3')
- depends_on('r-biocparallel', type=('build', 'run'), when='@1.4.0:1.12.3')
+ version("1.18.0", commit="50c9aab259b6e8f68abf44b78122662a41c8bf47")
+ version("1.16.0", commit="d44a3d765769cb022193428a77af25bf19916be7")
+ version("1.12.3", commit="2b3091dfa9b3bab914e3a4157182063714ba86ae")
+ version("1.6.1", commit="4378d1898a403305a94b122c4f36d1215fa7708d")
+ version("1.4.0", commit="eb5b390ef99651fe87a346848f807de95afe8971")
+ version("1.2.0", commit="de868e730be6280dfad41a280ab09f4d3083c9ac")
+ version("1.0.3", commit="e29a3444980ff727c5b12286884b06dfaebf5b5b")
+
+ depends_on("r-matrixgenerics", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-matrixgenerics@1.5.3:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-delayedarray", type=("build", "run"))
+ depends_on("r-delayedarray@0.5.27:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-delayedarray@0.7.37:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-delayedarray@0.9.8:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-delayedarray@0.15.3:", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-delayedarray@0.17.6:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-matrixstats@0.53.1:", type=("build", "run"))
+ depends_on("r-matrixstats@0.55.0:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-matrixstats@0.56.0:", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-matrixstats@0.60.0:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-sparsematrixstats", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.5:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.25.10:", type=("build", "run"), when="@1.16.0:")
+
+ depends_on("r-hdf5array@1.7.10:", type=("build", "run"), when="@1.4.0:1.12.3")
+ depends_on("r-hdf5array@1.17.2:", type=("build", "run"), when="@1.12.2:1.12.3")
+ depends_on("r-biocparallel", type=("build", "run"), when="@1.4.0:1.12.3")
diff --git a/var/spack/repos/builtin/packages/r-deldir/package.py b/var/spack/repos/builtin/packages/r-deldir/package.py
index 253612a7e0..bfc9f921c9 100644
--- a/var/spack/repos/builtin/packages/r-deldir/package.py
+++ b/var/spack/repos/builtin/packages/r-deldir/package.py
@@ -17,11 +17,11 @@ class RDeldir(RPackage):
cran = "deldir"
- version('1.0-6', sha256='6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5')
- version('0.2-3', sha256='2d24800f5ec6ad9dc57b9b265365b29c07717f4562d8f3e6344336d3340c364e')
- version('0.1-23', sha256='e0112bce9fc94daf73596a0fff9b3958b80872e3bbb487be73e157b13a6f201d')
- version('0.1-21', sha256='b9dabcc1813c7a0f8edaf720a94bdd611a83baf3d3e52e861d352369e815690c')
- version('0.1-14', sha256='89d365a980ef8589971e5d311c6bd59fe32c48dbac8000a880b9655032c99289')
+ version("1.0-6", sha256="6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5")
+ version("0.2-3", sha256="2d24800f5ec6ad9dc57b9b265365b29c07717f4562d8f3e6344336d3340c364e")
+ version("0.1-23", sha256="e0112bce9fc94daf73596a0fff9b3958b80872e3bbb487be73e157b13a6f201d")
+ version("0.1-21", sha256="b9dabcc1813c7a0f8edaf720a94bdd611a83baf3d3e52e861d352369e815690c")
+ version("0.1-14", sha256="89d365a980ef8589971e5d311c6bd59fe32c48dbac8000a880b9655032c99289")
- depends_on('r@0.99:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.2-3:')
+ depends_on("r@0.99:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.2-3:")
diff --git a/var/spack/repos/builtin/packages/r-dendextend/package.py b/var/spack/repos/builtin/packages/r-dendextend/package.py
index e4b98b4d92..ebc110d958 100644
--- a/var/spack/repos/builtin/packages/r-dendextend/package.py
+++ b/var/spack/repos/builtin/packages/r-dendextend/package.py
@@ -17,16 +17,16 @@ class RDendextend(RPackage):
cran = "dendextend"
- version('1.15.2', sha256='4ba3885b66694589d455ffef31c218fe653fa25aff3efb7e8db6c25008d2921b')
- version('1.14.0', sha256='3789461bc474e146b077ad26566b1fa05be32fc7e57ab1fb5e78bdabcc797858')
- version('1.12.0', sha256='b487fed8c1878a23b9e28394ee11f16a1831b76c90793eb486e6963c7162fa55')
- version('1.10.0', sha256='88f0fb3362d69144daf4f35d0ea09f32c2df1adf614e040327a42552a8fd3224')
- version('1.5.2', sha256='8228cf9cfd31ec30038aaa61a35959179bad748582d796999cd9ad78152a5f12')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-magrittr@1.0.1:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'))
-
- depends_on('r-fpc', type=('build', 'run'), when='@:1.10.0')
- depends_on('r-whisker', type=('build', 'run'), when='@:1.5.2')
+ version("1.15.2", sha256="4ba3885b66694589d455ffef31c218fe653fa25aff3efb7e8db6c25008d2921b")
+ version("1.14.0", sha256="3789461bc474e146b077ad26566b1fa05be32fc7e57ab1fb5e78bdabcc797858")
+ version("1.12.0", sha256="b487fed8c1878a23b9e28394ee11f16a1831b76c90793eb486e6963c7162fa55")
+ version("1.10.0", sha256="88f0fb3362d69144daf4f35d0ea09f32c2df1adf614e040327a42552a8fd3224")
+ version("1.5.2", sha256="8228cf9cfd31ec30038aaa61a35959179bad748582d796999cd9ad78152a5f12")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-magrittr@1.0.1:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"))
+
+ depends_on("r-fpc", type=("build", "run"), when="@:1.10.0")
+ depends_on("r-whisker", type=("build", "run"), when="@:1.5.2")
diff --git a/var/spack/repos/builtin/packages/r-deoptim/package.py b/var/spack/repos/builtin/packages/r-deoptim/package.py
index 2190ed1801..a32bbd63f7 100644
--- a/var/spack/repos/builtin/packages/r-deoptim/package.py
+++ b/var/spack/repos/builtin/packages/r-deoptim/package.py
@@ -15,7 +15,7 @@ class RDeoptim(RPackage):
cran = "DEoptim"
- version('2.2-6', sha256='8c63397d83a067212d003ef3e639fd81f5f00bf61e3c271b4e4999031a69e2e1')
- version('2.2-5', sha256='ae12dedcd4a43994e811e7285f8c12bfdb688e7c99d65515cf7e8cb6db13955a')
- version('2.2-4', sha256='0a547784090d1e9b93efc53768110621f35bed3692864f6ce5c0dda2ebd6d482')
- version('2.2-3', sha256='af2120feea3a736ee7a5a93c6767d464abc0d45ce75568074b233405e73c9a5d')
+ version("2.2-6", sha256="8c63397d83a067212d003ef3e639fd81f5f00bf61e3c271b4e4999031a69e2e1")
+ version("2.2-5", sha256="ae12dedcd4a43994e811e7285f8c12bfdb688e7c99d65515cf7e8cb6db13955a")
+ version("2.2-4", sha256="0a547784090d1e9b93efc53768110621f35bed3692864f6ce5c0dda2ebd6d482")
+ version("2.2-3", sha256="af2120feea3a736ee7a5a93c6767d464abc0d45ce75568074b233405e73c9a5d")
diff --git a/var/spack/repos/builtin/packages/r-deoptimr/package.py b/var/spack/repos/builtin/packages/r-deoptimr/package.py
index 77d1dbb727..631d0162d8 100644
--- a/var/spack/repos/builtin/packages/r-deoptimr/package.py
+++ b/var/spack/repos/builtin/packages/r-deoptimr/package.py
@@ -19,6 +19,6 @@ class RDeoptimr(RPackage):
cran = "DEoptimR"
- version('1.0-11', sha256='1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b')
- version('1.0-10', sha256='774f7ba0ac9c73aaab4567024b98afdb58098905726e72bceeeb9e380e782ad5')
- version('1.0-8', sha256='846911c1b2561a9fae73a8c60a21a5680963ebb0050af3c1f1147ae9a121e5ef')
+ version("1.0-11", sha256="1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b")
+ version("1.0-10", sha256="774f7ba0ac9c73aaab4567024b98afdb58098905726e72bceeeb9e380e782ad5")
+ version("1.0-8", sha256="846911c1b2561a9fae73a8c60a21a5680963ebb0050af3c1f1147ae9a121e5ef")
diff --git a/var/spack/repos/builtin/packages/r-deriv/package.py b/var/spack/repos/builtin/packages/r-deriv/package.py
index bd7aa64169..7b31a03982 100644
--- a/var/spack/repos/builtin/packages/r-deriv/package.py
+++ b/var/spack/repos/builtin/packages/r-deriv/package.py
@@ -15,5 +15,5 @@ class RDeriv(RPackage):
cran = "Deriv"
- version('4.1.3', sha256='dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c')
- version('4.1.2', sha256='c4b0c3f351f6df53778d48033460cf8674e7a7878fbc542085d66a9a78803ac9')
+ version("4.1.3", sha256="dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c")
+ version("4.1.2", sha256="c4b0c3f351f6df53778d48033460cf8674e7a7878fbc542085d66a9a78803ac9")
diff --git a/var/spack/repos/builtin/packages/r-desc/package.py b/var/spack/repos/builtin/packages/r-desc/package.py
index f848ebeaa3..7069bb244e 100644
--- a/var/spack/repos/builtin/packages/r-desc/package.py
+++ b/var/spack/repos/builtin/packages/r-desc/package.py
@@ -14,15 +14,15 @@ class RDesc(RPackage):
cran = "desc"
- version('1.4.1', sha256='8f9ebb51eccf925b2e76bc65ecf495e8f3882b8c0053023f396622f0402d6f54')
- version('1.4.0', sha256='8220e4c706449b8121b822e70b1414f391ef419aed574836a234c63b83e5d649')
- version('1.2.0', sha256='e66fb5d4fc7974bc558abcdc107a1f258c9177a29dcfcf9164bc6b33dd08dae8')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@1.4.1:')
- depends_on('r-cli', type=('build', 'run'), when='@1.4.1:')
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rprojroot', type=('build', 'run'))
-
- depends_on('r-assertthat', type=('build', 'run'), when='@:1.2')
- depends_on('r-crayon', type=('build', 'run'), when='@:1.4.0')
+ version("1.4.1", sha256="8f9ebb51eccf925b2e76bc65ecf495e8f3882b8c0053023f396622f0402d6f54")
+ version("1.4.0", sha256="8220e4c706449b8121b822e70b1414f391ef419aed574836a234c63b83e5d649")
+ version("1.2.0", sha256="e66fb5d4fc7974bc558abcdc107a1f258c9177a29dcfcf9164bc6b33dd08dae8")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@1.4.1:")
+ depends_on("r-cli", type=("build", "run"), when="@1.4.1:")
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rprojroot", type=("build", "run"))
+
+ depends_on("r-assertthat", type=("build", "run"), when="@:1.2")
+ depends_on("r-crayon", type=("build", "run"), when="@:1.4.0")
diff --git a/var/spack/repos/builtin/packages/r-deseq/package.py b/var/spack/repos/builtin/packages/r-deseq/package.py
index 801c2eb85f..53f76f1dd3 100644
--- a/var/spack/repos/builtin/packages/r-deseq/package.py
+++ b/var/spack/repos/builtin/packages/r-deseq/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class RDeseq(RPackage):
"""Differential gene expression analysis based on the negative binomial
- distribution.
+ distribution.
- Estimate variance-mean dependence in count data from high-throughput
- sequencing assays and test for differential expression based on a model
- using the negative binomial distribution"""
+ Estimate variance-mean dependence in count data from high-throughput
+ sequencing assays and test for differential expression based on a model
+ using the negative binomial distribution"""
bioc = "DESeq"
- version('1.42.0', commit='da76bc64e8c4073b58eaf1c93aa4e89bec5c4e50')
- version('1.36.0', commit='db4af67b49d3bd8c321d19efbe9415cd2e4ddb7e')
- version('1.34.1', commit='e86f1b03a30bc02de4bfd4a0759af2f65cb48c62')
- version('1.32.0', commit='e3d623b815b53d79eae7cdd09d097cc6098d28c9')
- version('1.30.0', commit='90c93d991dd980d538c13b0361d3345f9546794e')
- version('1.28.0', commit='738371466e6ccf00179fd35b617c8ba0e1e91630')
+ version("1.42.0", commit="da76bc64e8c4073b58eaf1c93aa4e89bec5c4e50")
+ version("1.36.0", commit="db4af67b49d3bd8c321d19efbe9415cd2e4ddb7e")
+ version("1.34.1", commit="e86f1b03a30bc02de4bfd4a0759af2f65cb48c62")
+ version("1.32.0", commit="e3d623b815b53d79eae7cdd09d097cc6098d28c9")
+ version("1.30.0", commit="90c93d991dd980d538c13b0361d3345f9546794e")
+ version("1.28.0", commit="738371466e6ccf00179fd35b617c8ba0e1e91630")
- depends_on('r-biocgenerics@0.7.5:', type=('build', 'run'))
- depends_on('r-biobase@2.21.7:', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-geneplotter', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r-biocgenerics@0.7.5:", type=("build", "run"))
+ depends_on("r-biobase@2.21.7:", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-geneplotter", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-deseq2/package.py b/var/spack/repos/builtin/packages/r-deseq2/package.py
index b5aebafcc6..073f0f09e9 100644
--- a/var/spack/repos/builtin/packages/r-deseq2/package.py
+++ b/var/spack/repos/builtin/packages/r-deseq2/package.py
@@ -8,37 +8,37 @@ from spack.package import *
class RDeseq2(RPackage):
"""Differential gene expression analysis based on the negative binomial
- distribution.
+ distribution.
- Estimate variance-mean dependence in count data from high-throughput
- sequencing assays and test for differential expression based on a model
- using the negative binomial distribution."""
+ Estimate variance-mean dependence in count data from high-throughput
+ sequencing assays and test for differential expression based on a model
+ using the negative binomial distribution."""
homepage = "https://bioconductor.org/packages/DESeq2"
- git = "https://git.bioconductor.org/packages/DESeq2.git"
-
- version('1.36.0', commit='2800b78ae52c0600f7e603c54af59beed3a2ed17')
- version('1.34.0', commit='25d4f74be59548122ccfbe8687d30c0bae5cf49a')
- version('1.30.0', commit='f4b47b208ee26ab23fe65c345f907fcfe70b3f77')
- version('1.24.0', commit='3ce7fbbebac526b726a6f85178063d02eb0314bf')
- version('1.22.2', commit='3c6a89b61add635d6d468c7fa00192314f8ca4ce')
- version('1.20.0', commit='7e88ea5c5e68473824ce0af6e10f19e22374cb7c')
- version('1.18.1', commit='ef65091d46436af68915124b752f5e1cc55e93a7')
- version('1.16.1', commit='f41d9df2de25fb57054480e50bc208447a6d82fb')
-
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-s4vectors@0.23.18:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-summarizedexperiment@1.1.6:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.7.5:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-geneplotter', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
-
- depends_on('r-hmisc', type=('build', 'run'), when='@:1.30.0')
+ git = "https://git.bioconductor.org/packages/DESeq2.git"
+
+ version("1.36.0", commit="2800b78ae52c0600f7e603c54af59beed3a2ed17")
+ version("1.34.0", commit="25d4f74be59548122ccfbe8687d30c0bae5cf49a")
+ version("1.30.0", commit="f4b47b208ee26ab23fe65c345f907fcfe70b3f77")
+ version("1.24.0", commit="3ce7fbbebac526b726a6f85178063d02eb0314bf")
+ version("1.22.2", commit="3c6a89b61add635d6d468c7fa00192314f8ca4ce")
+ version("1.20.0", commit="7e88ea5c5e68473824ce0af6e10f19e22374cb7c")
+ version("1.18.1", commit="ef65091d46436af68915124b752f5e1cc55e93a7")
+ version("1.16.1", commit="f41d9df2de25fb57054480e50bc208447a6d82fb")
+
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-s4vectors@0.23.18:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-summarizedexperiment@1.1.6:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.7.5:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-geneplotter", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
+
+ depends_on("r-hmisc", type=("build", "run"), when="@:1.30.0")
diff --git a/var/spack/repos/builtin/packages/r-desolve/package.py b/var/spack/repos/builtin/packages/r-desolve/package.py
index adf57c035c..3d1928df8c 100644
--- a/var/spack/repos/builtin/packages/r-desolve/package.py
+++ b/var/spack/repos/builtin/packages/r-desolve/package.py
@@ -23,13 +23,13 @@ class RDesolve(RPackage):
cran = "deSolve"
- version('1.32', sha256='74670f16eaafddd044a3ac1813acd5d164aed3f862b87aa1ac275b600e27d9ad')
- version('1.30', sha256='39f65d7af6b4d85eb023cce2a200c2de470644b22d45e210c5b7d558c3abf548')
- version('1.28', sha256='4c55ef4cae841df91034382d277b483985af120240f87af587ff82177fdb5a49')
- version('1.24', sha256='3aa52c822abb0348a904d5bbe738fcea2b2ba858caab9f2831125d07f0d57b42')
- version('1.21', sha256='45c372d458fe4c7c11943d4c409517849b1be6782dc05bd9a74b066e67250c63')
- version('1.20', sha256='56e945835b0c66d36ebc4ec8b55197b616e387d990788a2e52e924ce551ddda2')
+ version("1.32", sha256="74670f16eaafddd044a3ac1813acd5d164aed3f862b87aa1ac275b600e27d9ad")
+ version("1.30", sha256="39f65d7af6b4d85eb023cce2a200c2de470644b22d45e210c5b7d558c3abf548")
+ version("1.28", sha256="4c55ef4cae841df91034382d277b483985af120240f87af587ff82177fdb5a49")
+ version("1.24", sha256="3aa52c822abb0348a904d5bbe738fcea2b2ba858caab9f2831125d07f0d57b42")
+ version("1.21", sha256="45c372d458fe4c7c11943d4c409517849b1be6782dc05bd9a74b066e67250c63")
+ version("1.20", sha256="56e945835b0c66d36ebc4ec8b55197b616e387d990788a2e52e924ce551ddda2")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.28:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.32:')
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.28:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.32:")
diff --git a/var/spack/repos/builtin/packages/r-devtools/package.py b/var/spack/repos/builtin/packages/r-devtools/package.py
index 48b5ac90a5..b041ca3aa4 100644
--- a/var/spack/repos/builtin/packages/r-devtools/package.py
+++ b/var/spack/repos/builtin/packages/r-devtools/package.py
@@ -13,82 +13,82 @@ class RDevtools(RPackage):
cran = "devtools"
- version('2.4.3', sha256='e42159a9bca0b219170e76c282862e27ca283649d6cbf6a868175d8982e06b4f')
- version('2.3.2', sha256='e5086106baef6bb925445dfdddb3cd5ff4f8fff96353365b135aba5618d1986d')
- version('2.3.0', sha256='4fc375c171335c67bd71df4e0b1b3dff2ae3aa17b3e0566b790ba0808b39dcd0')
- version('2.1.0', sha256='c1f75346a90adf0669b5508fe68cc78bd3b114c1303fa7d22bf90991edd9230d')
- version('2.0.2', sha256='99a2fa957068254b8ecdb3fc2d50e2950230910ea31c314fc0e7d934e4bd1709')
- version('1.12.0', sha256='8a3e2ca3988dffe29341e45a160bb588995eae43485d6a811a9ae4836d37afd4')
- version('1.11.1', sha256='51c876f9ddbfdf611f6ea0b06c0b46da8cefcb8cc98d60e06d576b61f0a06346')
+ version("2.4.3", sha256="e42159a9bca0b219170e76c282862e27ca283649d6cbf6a868175d8982e06b4f")
+ version("2.3.2", sha256="e5086106baef6bb925445dfdddb3cd5ff4f8fff96353365b135aba5618d1986d")
+ version("2.3.0", sha256="4fc375c171335c67bd71df4e0b1b3dff2ae3aa17b3e0566b790ba0808b39dcd0")
+ version("2.1.0", sha256="c1f75346a90adf0669b5508fe68cc78bd3b114c1303fa7d22bf90991edd9230d")
+ version("2.0.2", sha256="99a2fa957068254b8ecdb3fc2d50e2950230910ea31c314fc0e7d934e4bd1709")
+ version("1.12.0", sha256="8a3e2ca3988dffe29341e45a160bb588995eae43485d6a811a9ae4836d37afd4")
+ version("1.11.1", sha256="51c876f9ddbfdf611f6ea0b06c0b46da8cefcb8cc98d60e06d576b61f0a06346")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-usethis@1.5.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-usethis@1.6.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-usethis@1.6.3:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-usethis@2.0.1:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-callr', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-callr@3.4.3:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-callr@3.4.4:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-callr@3.4.4:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-callr@3.6.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-cli', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-cli@2.0.2:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-cli@3.0.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-covr@3.5.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-covr@3.5.1:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-desc@1.2.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-desc@1.3.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-ellipsis@0.3.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-ellipsis@0.3.1:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-fs@1.5.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-httr@0.4:', type=('build', 'run'))
- depends_on('r-httr@1.4.1:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-httr@1.4.2:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-memoise@1.0.0:', type=('build', 'run'))
- depends_on('r-memoise@1.1.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-memoise@2.0.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-pkgbuild@1.0.3:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-pkgbuild@1.0.6:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-pkgbuild@1.1.0:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-pkgbuild@1.2.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-pkgload@1.0.2:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-pkgload@1.1.0:', type=('build', 'run'), when='@2.0.2:')
- depends_on('r-pkgload@1.2.1:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-rcmdcheck@1.3.3:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-remotes@2.1.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-remotes@2.1.1:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-remotes@2.2.0:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-remotes@2.3.0:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-rlang@0.4.5:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-rlang@0.4.7:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-roxygen2@6.1.1:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-roxygen2@7.1.0:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-roxygen2@7.1.1:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-rstudioapi@0.7.0:', type=('build', 'run'))
- depends_on('r-rstudioapi@0.11:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-rstudioapi@0.13:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-rversions@2.0.1:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-rversions@2.0.2:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-sessioninfo@1.1.1:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-testthat@2.1.1:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-testthat@2.3.2:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-testthat@3.0.2:', type=('build', 'run'), when='@2.4.3:')
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-withr@2.1.2:', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-withr@2.2.0:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-withr@2.4.1:', type=('build', 'run'), when='@2.4.3:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-usethis@1.5.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-usethis@1.6.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-usethis@1.6.3:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-usethis@2.0.1:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-callr", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-callr@3.4.3:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-callr@3.4.4:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-callr@3.4.4:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-callr@3.6.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-cli", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-cli@2.0.2:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-cli@3.0.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-covr@3.5.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-covr@3.5.1:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-desc@1.2.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-desc@1.3.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-ellipsis@0.3.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-ellipsis@0.3.1:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-fs@1.5.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-httr@0.4:", type=("build", "run"))
+ depends_on("r-httr@1.4.1:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-httr@1.4.2:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-memoise@1.0.0:", type=("build", "run"))
+ depends_on("r-memoise@1.1.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-memoise@2.0.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-pkgbuild@1.0.3:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-pkgbuild@1.0.6:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-pkgbuild@1.1.0:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-pkgbuild@1.2.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-pkgload@1.0.2:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-pkgload@1.1.0:", type=("build", "run"), when="@2.0.2:")
+ depends_on("r-pkgload@1.2.1:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-rcmdcheck@1.3.3:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-remotes@2.1.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-remotes@2.1.1:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-remotes@2.2.0:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-remotes@2.3.0:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-rlang@0.4.5:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-rlang@0.4.7:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-roxygen2@6.1.1:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-roxygen2@7.1.0:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-roxygen2@7.1.1:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-rstudioapi@0.7.0:", type=("build", "run"))
+ depends_on("r-rstudioapi@0.11:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-rstudioapi@0.13:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-rversions@2.0.1:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-rversions@2.0.2:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-sessioninfo@1.1.1:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-testthat@2.1.1:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-testthat@2.3.2:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-testthat@3.0.2:", type=("build", "run"), when="@2.4.3:")
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-withr@2.1.2:", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-withr@2.2.0:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-withr@2.4.1:", type=("build", "run"), when="@2.4.3:")
- depends_on('r-crayon@1.3.4:', type=('build', 'run'), when='@2.3.0')
- depends_on('r-digest', type=('build', 'run'), when='@:2.3.0')
- depends_on('r-digest@0.6.25:', type=('build', 'run'), when='@2.3.0')
- depends_on('r-glue@1.4.0:', type=('build', 'run'), when='@2.3.0')
- depends_on('r-git2r@0.23.0:', type=('build', 'run'), when='@:2.3.0')
- depends_on('r-git2r@0.26.1:', type=('build', 'run'), when='@2.3.0')
- depends_on('r-whisker', type=('build', 'run'), when='@:1.12.0')
- depends_on('r-dt@0.13:', type=('build', 'run'), when='@:2.3.0')
- depends_on('r-dt@0.15:', type=('build', 'run'), when='@2.3.2')
- depends_on('r-jsonlite', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-jsonlite@1.6.1:', type=('build', 'run'), when='@2.3.0')
- depends_on('r-jsonlite@1.7.1:', type=('build', 'run'), when='@2.3.2')
+ depends_on("r-crayon@1.3.4:", type=("build", "run"), when="@2.3.0")
+ depends_on("r-digest", type=("build", "run"), when="@:2.3.0")
+ depends_on("r-digest@0.6.25:", type=("build", "run"), when="@2.3.0")
+ depends_on("r-glue@1.4.0:", type=("build", "run"), when="@2.3.0")
+ depends_on("r-git2r@0.23.0:", type=("build", "run"), when="@:2.3.0")
+ depends_on("r-git2r@0.26.1:", type=("build", "run"), when="@2.3.0")
+ depends_on("r-whisker", type=("build", "run"), when="@:1.12.0")
+ depends_on("r-dt@0.13:", type=("build", "run"), when="@:2.3.0")
+ depends_on("r-dt@0.15:", type=("build", "run"), when="@2.3.2")
+ depends_on("r-jsonlite", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-jsonlite@1.6.1:", type=("build", "run"), when="@2.3.0")
+ depends_on("r-jsonlite@1.7.1:", type=("build", "run"), when="@2.3.2")
diff --git a/var/spack/repos/builtin/packages/r-dexseq/package.py b/var/spack/repos/builtin/packages/r-dexseq/package.py
index b9579b459f..2bbfeeb0da 100644
--- a/var/spack/repos/builtin/packages/r-dexseq/package.py
+++ b/var/spack/repos/builtin/packages/r-dexseq/package.py
@@ -19,26 +19,26 @@ class RDexseq(RPackage):
bioc = "DEXSeq"
- maintainers = ['dorton21']
-
- version('1.42.0', commit='d91de62a27d0cab2ef12ef1a5f23dc2f7a0cfadd')
- version('1.40.0', commit='7d2d639b3a157e443058fc557132cd2629bb36f3')
- version('1.36.0', commit='f0a361af6954fcc2abb2db801c26e303570669b2')
-
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-iranges@2.5.17:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.7:', type=('build', 'run'))
- depends_on('r-deseq2@1.9.11:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-s4vectors@0.23.18:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-biomart', type=('build', 'run'))
- depends_on('r-hwriter', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-statmod', type=('build', 'run'))
- depends_on('r-geneplotter', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("1.42.0", commit="d91de62a27d0cab2ef12ef1a5f23dc2f7a0cfadd")
+ version("1.40.0", commit="7d2d639b3a157e443058fc557132cd2629bb36f3")
+ version("1.36.0", commit="f0a361af6954fcc2abb2db801c26e303570669b2")
+
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-iranges@2.5.17:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.7:", type=("build", "run"))
+ depends_on("r-deseq2@1.9.11:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-s4vectors@0.23.18:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-biomart", type=("build", "run"))
+ depends_on("r-hwriter", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-statmod", type=("build", "run"))
+ depends_on("r-geneplotter", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-diagrammer/package.py b/var/spack/repos/builtin/packages/r-diagrammer/package.py
index 72226e9409..74b947e9e4 100644
--- a/var/spack/repos/builtin/packages/r-diagrammer/package.py
+++ b/var/spack/repos/builtin/packages/r-diagrammer/package.py
@@ -18,60 +18,60 @@ class RDiagrammer(RPackage):
cran = "DiagrammeR"
- version('1.0.9', sha256='64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf')
- version('1.0.8', sha256='b9157b26215edda4fe0a1b9330a597d5b01a5d7e660a9832f593b87c584dd233')
- version('1.0.7', sha256='6af291a7136657b9f7c67b96cd7f3afe99662cf5a477ebbb213a6c53df623050')
- version('1.0.6.1', sha256='be4e4c520a3692902ce405e8225aef9f3d5f0cd11fcde614f6541e981b63673d')
- version('1.0.1', sha256='ccee8acf608fc909e73c6de4374cef5a570cb62e5f454ac55dda736f22f3f013')
- version('1.0.0', sha256='2b186dae1b19018681b979e9444bf16559c42740d8382676fbaf3b0f8a44337e')
- version('0.8.4', sha256='0503935fa120c7c7cdcfd4dce85558b23fd0bcb7e6b32fa6989087d3c88ec404')
+ version("1.0.9", sha256="64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf")
+ version("1.0.8", sha256="b9157b26215edda4fe0a1b9330a597d5b01a5d7e660a9832f593b87c584dd233")
+ version("1.0.7", sha256="6af291a7136657b9f7c67b96cd7f3afe99662cf5a477ebbb213a6c53df623050")
+ version("1.0.6.1", sha256="be4e4c520a3692902ce405e8225aef9f3d5f0cd11fcde614f6541e981b63673d")
+ version("1.0.1", sha256="ccee8acf608fc909e73c6de4374cef5a570cb62e5f454ac55dda736f22f3f013")
+ version("1.0.0", sha256="2b186dae1b19018681b979e9444bf16559c42740d8382676fbaf3b0f8a44337e")
+ version("0.8.4", sha256="0503935fa120c7c7cdcfd4dce85558b23fd0bcb7e6b32fa6989087d3c88ec404")
- depends_on('r@3.2.0:', type=('build', 'run'), when='@0.9.2:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.0.7')
- depends_on('r-dplyr@0.7.4:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-dplyr@0.7.6:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-dplyr@1.0.7:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-downloader@0.4:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-glue@1.2.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-glue@1.3.0:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-glue@1.5.0:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-htmltools@0.5.2:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-htmlwidgets@1.0:', type=('build', 'run'))
- depends_on('r-htmlwidgets@1.2:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-htmlwidgets@1.5:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-igraph@1.1.2:', type=('build', 'run'))
- depends_on('r-igraph@1.2.2:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-igraph@1.2.11:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-influencer@0.1.0:', type=('build', 'run'))
- depends_on('r-influencer@0.1.0.1:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-magrittr@1.5:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-purrr@0.2.4:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-purrr@0.2.5:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-purrr@0.3.4:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-rcolorbrewer@1.1-2:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-readr@1.1.1:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-readr@2.1.1:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-rlang@0.2.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-rlang@0.2.2:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-rlang@0.4:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-rstudioapi@0.7:', type=('build', 'run'))
- depends_on('r-scales@0.5.0:', type=('build', 'run'))
- depends_on('r-scales@1.0.0:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-scales@1.1:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-stringr@1.3.0:', type=('build', 'run'))
- depends_on('r-stringr@1.3.1:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-stringr@1.4:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-tibble@1.4.2:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-tibble@3.1:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-tidyr@0.8.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-tidyr@0.8.1:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-tidyr@1.1:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-viridis@0.5.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-viridis@0.5.1:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-viridis@0.6.2:', type=('build', 'run'), when='@1.0.7:')
- depends_on('r-visnetwork@2.0.3:', type=('build', 'run'))
- depends_on('r-visnetwork@2.0.4:', type=('build', 'run'), when='@1.0.6.1:')
- depends_on('r-visnetwork@2.1.0:', type=('build', 'run'), when='@1.0.7:')
+ depends_on("r@3.2.0:", type=("build", "run"), when="@0.9.2:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.0.7")
+ depends_on("r-dplyr@0.7.4:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-dplyr@0.7.6:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-dplyr@1.0.7:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-downloader@0.4:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-glue@1.2.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-glue@1.3.0:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-glue@1.5.0:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-htmltools@0.5.2:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-htmlwidgets@1.0:", type=("build", "run"))
+ depends_on("r-htmlwidgets@1.2:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-htmlwidgets@1.5:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-igraph@1.1.2:", type=("build", "run"))
+ depends_on("r-igraph@1.2.2:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-igraph@1.2.11:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-influencer@0.1.0:", type=("build", "run"))
+ depends_on("r-influencer@0.1.0.1:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-magrittr@1.5:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-purrr@0.2.4:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-purrr@0.2.5:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-purrr@0.3.4:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-rcolorbrewer@1.1-2:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-readr@1.1.1:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-readr@2.1.1:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-rlang@0.2.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-rlang@0.2.2:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-rlang@0.4:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-rstudioapi@0.7:", type=("build", "run"))
+ depends_on("r-scales@0.5.0:", type=("build", "run"))
+ depends_on("r-scales@1.0.0:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-scales@1.1:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-stringr@1.3.0:", type=("build", "run"))
+ depends_on("r-stringr@1.3.1:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-stringr@1.4:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-tibble@1.4.2:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-tibble@3.1:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-tidyr@0.8.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-tidyr@0.8.1:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-tidyr@1.1:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-viridis@0.5.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-viridis@0.5.1:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-viridis@0.6.2:", type=("build", "run"), when="@1.0.7:")
+ depends_on("r-visnetwork@2.0.3:", type=("build", "run"))
+ depends_on("r-visnetwork@2.0.4:", type=("build", "run"), when="@1.0.6.1:")
+ depends_on("r-visnetwork@2.1.0:", type=("build", "run"), when="@1.0.7:")
- depends_on('r-rgexf@0.15.3:', type=('build', 'run'), when='@1.0.0:1.0.1')
+ depends_on("r-rgexf@0.15.3:", type=("build", "run"), when="@1.0.0:1.0.1")
diff --git a/var/spack/repos/builtin/packages/r-dicekriging/package.py b/var/spack/repos/builtin/packages/r-dicekriging/package.py
index 3cc4c9b83a..97e789ec0e 100644
--- a/var/spack/repos/builtin/packages/r-dicekriging/package.py
+++ b/var/spack/repos/builtin/packages/r-dicekriging/package.py
@@ -14,7 +14,7 @@ class RDicekriging(RPackage):
cran = "DiceKriging"
- version('1.6.0', sha256='ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49')
- version('1.5.8', sha256='11d02b894cb509dbb8887ae27b6d08ba25aa52ac3ece134c3759c2b3b1bf4d77')
- version('1.5.6', sha256='25466d2db9f17083d1c7b9545e5ec88f630be934f9373c2f7b36c38de4e64e92')
- version('1.5.5', sha256='55fe161f867a0c3772023c3047041b877aa54d29cb474ec87293ec31cc5cb30c')
+ version("1.6.0", sha256="ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49")
+ version("1.5.8", sha256="11d02b894cb509dbb8887ae27b6d08ba25aa52ac3ece134c3759c2b3b1bf4d77")
+ version("1.5.6", sha256="25466d2db9f17083d1c7b9545e5ec88f630be934f9373c2f7b36c38de4e64e92")
+ version("1.5.5", sha256="55fe161f867a0c3772023c3047041b877aa54d29cb474ec87293ec31cc5cb30c")
diff --git a/var/spack/repos/builtin/packages/r-dichromat/package.py b/var/spack/repos/builtin/packages/r-dichromat/package.py
index 311caab1b1..0a5f66bdb3 100644
--- a/var/spack/repos/builtin/packages/r-dichromat/package.py
+++ b/var/spack/repos/builtin/packages/r-dichromat/package.py
@@ -14,7 +14,7 @@ class RDichromat(RPackage):
cran = "dichromat"
- version('2.0-0.1', sha256='a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081')
- version('2.0-0', sha256='31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1')
+ version("2.0-0.1", sha256="a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081")
+ version("2.0-0", sha256="31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-diffobj/package.py b/var/spack/repos/builtin/packages/r-diffobj/package.py
index 23ce2eccce..6526d5f7ac 100644
--- a/var/spack/repos/builtin/packages/r-diffobj/package.py
+++ b/var/spack/repos/builtin/packages/r-diffobj/package.py
@@ -14,8 +14,8 @@ class RDiffobj(RPackage):
cran = "diffobj"
- version('0.3.5', sha256='d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60')
- version('0.3.3', sha256='414e5573470b9565b9149a0a61c7e8344fb37f889d23dc4e131acc8aa62e6df4')
+ version("0.3.5", sha256="d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60")
+ version("0.3.3", sha256="414e5573470b9565b9149a0a61c7e8344fb37f889d23dc4e131acc8aa62e6df4")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-crayon@1.3.2:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-crayon@1.3.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-diffusionmap/package.py b/var/spack/repos/builtin/packages/r-diffusionmap/package.py
index 5eacec35ff..f5338c5504 100644
--- a/var/spack/repos/builtin/packages/r-diffusionmap/package.py
+++ b/var/spack/repos/builtin/packages/r-diffusionmap/package.py
@@ -16,15 +16,15 @@ class RDiffusionmap(RPackage):
cran = "diffusionMap"
- version('1.2.0', sha256='523847592fbc3a29252bc92b5821e17564ce6b188c483c930e95e6950c3873e7')
- version('1.1-0.1', sha256='b24cf841af2566ac36f4ede2885f2ff355a7905398444d6d89747315d99a8486')
- version('1.1-0', sha256='637b810140145fa0cbafb1c13da347c2f456c425334ae554d11a3107052e28d1')
- version('1.0-0', sha256='1e3c54f72cbb2bce1b06b85fda33242b9041d30d4ac8c12df4dc9a3a95a44044')
- version('0.0-2', sha256='b08b9d8a7b2b49d8f809ed14ab40cec92a635a284e43af068eb34e74172c0bcf')
- version('0.0-1', sha256='38c4af2d2a4fa4116c2e01a5e67ba313e7a8e76f724a3312a3c12b26e299f844')
+ version("1.2.0", sha256="523847592fbc3a29252bc92b5821e17564ce6b188c483c930e95e6950c3873e7")
+ version("1.1-0.1", sha256="b24cf841af2566ac36f4ede2885f2ff355a7905398444d6d89747315d99a8486")
+ version("1.1-0", sha256="637b810140145fa0cbafb1c13da347c2f456c425334ae554d11a3107052e28d1")
+ version("1.0-0", sha256="1e3c54f72cbb2bce1b06b85fda33242b9041d30d4ac8c12df4dc9a3a95a44044")
+ version("0.0-2", sha256="b08b9d8a7b2b49d8f809ed14ab40cec92a635a284e43af068eb34e74172c0bcf")
+ version("0.0-1", sha256="38c4af2d2a4fa4116c2e01a5e67ba313e7a8e76f724a3312a3c12b26e299f844")
- depends_on('r@2.4.0:', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-scatterplot3d', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@2.4.0:", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-scatterplot3d", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-digest/package.py b/var/spack/repos/builtin/packages/r-digest/package.py
index 0f5772b0ef..5942754e95 100644
--- a/var/spack/repos/builtin/packages/r-digest/package.py
+++ b/var/spack/repos/builtin/packages/r-digest/package.py
@@ -28,16 +28,16 @@ class RDigest(RPackage):
cran = "digest"
- version('0.6.29', sha256='792c1f14a4c8047745152f5e45ce7351978af8d770c29d2ea39c7acd5d619cd9')
- version('0.6.28', sha256='4a328c75e95f8522fc07390d1dd00c19fb643f558e761a8aed04f99c1dc7db00')
- version('0.6.27', sha256='f485f75122907da24c41d4a62c91a232f0c371befd2f77e973342a1bef00253f')
- version('0.6.25', sha256='15ccadb7b8bccaa221b6700bb549011719d0f4b38dbd3a1f29face3e019e2de5')
- version('0.6.20', sha256='05674b0b5d888461ff770176c67b10a11be062b0fee5dbd9298f25a9a49830c7')
- version('0.6.19', sha256='28d159bd589ecbd01b8da0826eaed417f5c1bf5a11b79e76bf67ce8d935cccf4')
- version('0.6.12', sha256='a479463f120037ad8e88bb1387170842e635a1f07ce7e3575316efd6e14d9eab')
- version('0.6.11', sha256='edab2ca2a38bd7ee19482c9d2531cd169d5123cde4aa2a3dd65c0bcf3d1d5209')
- version('0.6.9', sha256='95fdc36011869fcfe21b40c3b822b931bc01f8a531e2c9260582ba79560dbe47')
+ version("0.6.29", sha256="792c1f14a4c8047745152f5e45ce7351978af8d770c29d2ea39c7acd5d619cd9")
+ version("0.6.28", sha256="4a328c75e95f8522fc07390d1dd00c19fb643f558e761a8aed04f99c1dc7db00")
+ version("0.6.27", sha256="f485f75122907da24c41d4a62c91a232f0c371befd2f77e973342a1bef00253f")
+ version("0.6.25", sha256="15ccadb7b8bccaa221b6700bb549011719d0f4b38dbd3a1f29face3e019e2de5")
+ version("0.6.20", sha256="05674b0b5d888461ff770176c67b10a11be062b0fee5dbd9298f25a9a49830c7")
+ version("0.6.19", sha256="28d159bd589ecbd01b8da0826eaed417f5c1bf5a11b79e76bf67ce8d935cccf4")
+ version("0.6.12", sha256="a479463f120037ad8e88bb1387170842e635a1f07ce7e3575316efd6e14d9eab")
+ version("0.6.11", sha256="edab2ca2a38bd7ee19482c9d2531cd169d5123cde4aa2a3dd65c0bcf3d1d5209")
+ version("0.6.9", sha256="95fdc36011869fcfe21b40c3b822b931bc01f8a531e2c9260582ba79560dbe47")
- depends_on('r@2.4.1:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@0.6.16:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.6.27:')
+ depends_on("r@2.4.1:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@0.6.16:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.6.27:")
diff --git a/var/spack/repos/builtin/packages/r-diptest/package.py b/var/spack/repos/builtin/packages/r-diptest/package.py
index 7da943d8b7..54420814d8 100644
--- a/var/spack/repos/builtin/packages/r-diptest/package.py
+++ b/var/spack/repos/builtin/packages/r-diptest/package.py
@@ -15,5 +15,5 @@ class RDiptest(RPackage):
cran = "diptest"
- version('0.76-0', sha256='508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280')
- version('0.75-7', sha256='462900100ca598ef21dbe566bf1ab2ce7c49cdeab6b7a600a50489b05f61b61b')
+ version("0.76-0", sha256="508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280")
+ version("0.75-7", sha256="462900100ca598ef21dbe566bf1ab2ce7c49cdeab6b7a600a50489b05f61b61b")
diff --git a/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py b/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py
index 3a12379edd..5d31fa160b 100644
--- a/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py
+++ b/var/spack/repos/builtin/packages/r-dirichletmultinomial/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class RDirichletmultinomial(RPackage):
"""Dirichlet-Multinomial Mixture Model Machine Learning for Microbiome
- Data.
+ Data.
- Dirichlet-multinomial mixture models can be used to describe variability
- in microbial metagenomic data. This package is an interface to code
- originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE
- 7(2): 1-15, as discussed further in the man page for this package,
- ?DirichletMultinomial."""
+ Dirichlet-multinomial mixture models can be used to describe variability
+ in microbial metagenomic data. This package is an interface to code
+ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE
+ 7(2): 1-15, as discussed further in the man page for this package,
+ ?DirichletMultinomial."""
bioc = "DirichletMultinomial"
- version('1.38.0', commit='b4de83d354e974fdb7cb3526d029487f24aab670')
- version('1.36.0', commit='926baff6c75cb498945c5895f25cc143c907a357')
- version('1.32.0', commit='6949abab2462b2c09f7a0ca5b5cbf0c95a40ad16')
- version('1.26.0', commit='7daa84948020811bb8a27d2e633fccfdcdd1018f')
- version('1.24.1', commit='50195d9b1986852da29100e77f6f09df5d6e2a35')
- version('1.22.0', commit='5864f4298105d12f345f27df77ad13bae4061ca5')
- version('1.20.0', commit='251529f301da1482551142240aeb6baf8dab2272')
- version('1.18.0', commit='81ccc8d83b8ef84f5d3e877bc0a04233a0f63c51')
+ version("1.38.0", commit="b4de83d354e974fdb7cb3526d029487f24aab670")
+ version("1.36.0", commit="926baff6c75cb498945c5895f25cc143c907a357")
+ version("1.32.0", commit="6949abab2462b2c09f7a0ca5b5cbf0c95a40ad16")
+ version("1.26.0", commit="7daa84948020811bb8a27d2e633fccfdcdd1018f")
+ version("1.24.1", commit="50195d9b1986852da29100e77f6f09df5d6e2a35")
+ version("1.22.0", commit="5864f4298105d12f345f27df77ad13bae4061ca5")
+ version("1.20.0", commit="251529f301da1482551142240aeb6baf8dab2272")
+ version("1.18.0", commit="81ccc8d83b8ef84f5d3e877bc0a04233a0f63c51")
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('gsl')
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/r-dismo/package.py b/var/spack/repos/builtin/packages/r-dismo/package.py
index aebd306a06..718849bdd7 100644
--- a/var/spack/repos/builtin/packages/r-dismo/package.py
+++ b/var/spack/repos/builtin/packages/r-dismo/package.py
@@ -15,14 +15,14 @@ class RDismo(RPackage):
cran = "dismo"
- version('1.3-5', sha256='812e1932d42c0f40acf2ab5c5b2d068f93128caf648626e1d11baf1a09340ee7')
- version('1.3-3', sha256='fd65331ac18a4287ba0856b90508ddd0e2738c653eecc5f3eb2b14e1d06949ca')
- version('1.1-4', sha256='f2110f716cd9e4cca5fd2b22130c6954658aaf61361d2fe688ba22bbfdfa97c8')
+ version("1.3-5", sha256="812e1932d42c0f40acf2ab5c5b2d068f93128caf648626e1d11baf1a09340ee7")
+ version("1.3-3", sha256="fd65331ac18a4287ba0856b90508ddd0e2738c653eecc5f3eb2b14e1d06949ca")
+ version("1.1-4", sha256="f2110f716cd9e4cca5fd2b22130c6954658aaf61361d2fe688ba22bbfdfa97c8")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.3-5:')
- depends_on('r-raster@2.5-2:', type=('build', 'run'))
- depends_on('r-raster@3.5-2:', type=('build', 'run'), when='@1.3-5:')
- depends_on('r-sp@1.2-0:', type=('build', 'run'))
- depends_on('r-sp@1.4-5:', type=('build', 'run'), when='@1.3-5:')
- depends_on('java@8:', when='@1.3-3:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.3-5:")
+ depends_on("r-raster@2.5-2:", type=("build", "run"))
+ depends_on("r-raster@3.5-2:", type=("build", "run"), when="@1.3-5:")
+ depends_on("r-sp@1.2-0:", type=("build", "run"))
+ depends_on("r-sp@1.4-5:", type=("build", "run"), when="@1.3-5:")
+ depends_on("java@8:", when="@1.3-3:")
diff --git a/var/spack/repos/builtin/packages/r-distributional/package.py b/var/spack/repos/builtin/packages/r-distributional/package.py
index b4058af4f1..28874218db 100644
--- a/var/spack/repos/builtin/packages/r-distributional/package.py
+++ b/var/spack/repos/builtin/packages/r-distributional/package.py
@@ -19,16 +19,16 @@ class RDistributional(RPackage):
cran = "distributional"
- version('0.3.0', sha256='fab36c7346617d8f2ca4b3cd0e3c9da93cb2f95fb7f102a3ae88670e694751d6')
- version('0.2.2', sha256='028e5a91aabe3a676eb7b7f3dc907f7f34735a123fe0d9adcabc03476504435f')
+ version("0.3.0", sha256="fab36c7346617d8f2ca4b3cd0e3c9da93cb2f95fb7f102a3ae88670e694751d6")
+ version("0.2.2", sha256="028e5a91aabe3a676eb7b7f3dc907f7f34735a123fe0d9adcabc03476504435f")
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'))
- depends_on('r-rlang@0.4.5:', type=('build', 'run'))
- depends_on('r-generics', type=('build', 'run'))
- depends_on('r-ellipsis', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-farver', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'))
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"))
+ depends_on("r-rlang@0.4.5:", type=("build", "run"))
+ depends_on("r-generics", type=("build", "run"))
+ depends_on("r-ellipsis", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-farver", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-diversitree/package.py b/var/spack/repos/builtin/packages/r-diversitree/package.py
index b8508efda8..26b73e773e 100644
--- a/var/spack/repos/builtin/packages/r-diversitree/package.py
+++ b/var/spack/repos/builtin/packages/r-diversitree/package.py
@@ -19,15 +19,15 @@ class RDiversitree(RPackage):
cran = "diversitree"
- version('0.9-16', sha256='4c236970b58e56b922352f3f5d97010c74d8ec5783b375c311fe11abfb99f967')
- version('0.9-15', sha256='c739ef3d4fcc24fd6855b1d297d31e0f89fbaff1efe8a2d149044458ecd363ea')
- version('0.9-11', sha256='4caa6a468f93de9f1c8c30e4457f34bb8346e1acdaf74f684005bfa86a950ecb')
- version('0.9-10', sha256='e7df5910c8508a5c2c2d6d3deea53dd3f947bb762196901094c32a7033cb043e')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-desolve@1.7:', type=('build', 'run'))
- depends_on('r-subplex', type=('build', 'run'))
- depends_on('r-rcpp@0.10.0:', type=('build', 'run'))
- depends_on('fftw@3.1.2:')
- depends_on('gsl@1.15:')
+ version("0.9-16", sha256="4c236970b58e56b922352f3f5d97010c74d8ec5783b375c311fe11abfb99f967")
+ version("0.9-15", sha256="c739ef3d4fcc24fd6855b1d297d31e0f89fbaff1efe8a2d149044458ecd363ea")
+ version("0.9-11", sha256="4caa6a468f93de9f1c8c30e4457f34bb8346e1acdaf74f684005bfa86a950ecb")
+ version("0.9-10", sha256="e7df5910c8508a5c2c2d6d3deea53dd3f947bb762196901094c32a7033cb043e")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-desolve@1.7:", type=("build", "run"))
+ depends_on("r-subplex", type=("build", "run"))
+ depends_on("r-rcpp@0.10.0:", type=("build", "run"))
+ depends_on("fftw@3.1.2:")
+ depends_on("gsl@1.15:")
diff --git a/var/spack/repos/builtin/packages/r-dmrcate/package.py b/var/spack/repos/builtin/packages/r-dmrcate/package.py
index 8b8050d8db..ff453de01a 100644
--- a/var/spack/repos/builtin/packages/r-dmrcate/package.py
+++ b/var/spack/repos/builtin/packages/r-dmrcate/package.py
@@ -17,23 +17,23 @@ class RDmrcate(RPackage):
bioc = "DMRcate"
- version('2.10.0', commit='81e83701da5c55ac83d0e0b5e640a9d431f09551')
- version('2.8.5', commit='c65dc79a33a047c10932a98b3383709a6bcb8903')
- version('2.4.1', commit='bc6242a0291a9b997872f575a4417d38550c9550')
+ version("2.10.0", commit="81e83701da5c55ac83d0e0b5e640a9d431f09551")
+ version("2.8.5", commit="c65dc79a33a047c10932a98b3383709a6bcb8903")
+ version("2.4.1", commit="bc6242a0291a9b997872f575a4417d38550c9550")
- depends_on('r@3.6.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.8.5:')
- depends_on('r-experimenthub', type=('build', 'run'))
- depends_on('r-bsseq', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-dss', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
- depends_on('r-missmethyl', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-gviz', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
+ depends_on("r@3.6.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.8.5:")
+ depends_on("r-experimenthub", type=("build", "run"))
+ depends_on("r-bsseq", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-dss", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
+ depends_on("r-missmethyl", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-gviz", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dnacopy/package.py b/var/spack/repos/builtin/packages/r-dnacopy/package.py
index c44ef069d3..79f7f39efc 100644
--- a/var/spack/repos/builtin/packages/r-dnacopy/package.py
+++ b/var/spack/repos/builtin/packages/r-dnacopy/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RDnacopy(RPackage):
"""DNA copy number data analysis.
- Implements the circular binary segmentation (CBS) algorithm to segment
- DNA copy number data and identify genomic regions with abnormal copy
- number."""
+ Implements the circular binary segmentation (CBS) algorithm to segment
+ DNA copy number data and identify genomic regions with abnormal copy
+ number."""
bioc = "DNAcopy"
- version('1.70.0', commit='9595d0ad7c78af4ed568cbd210b894d3350eae0a')
- version('1.68.0', commit='08f039f58bc2f5ed2cc3117ae817dbac333002a6')
- version('1.64.0', commit='01650266ea7a4e5c600de545fe70a1103e79b2d8')
- version('1.58.0', commit='1954745eafca990d6ddeefe84059c54a8c37df23')
- version('1.56.0', commit='e521826f2515b309921272f65db421cbe2ff961a')
- version('1.54.0', commit='fe2657936afbce8ee03221461dff4265e3ded4c4')
- version('1.52.0', commit='2632fbecec4cef3705b85676942a59188ae9bba4')
- version('1.50.1', commit='a20153029e28c009df813dbaf13d9f519fafa4e8')
+ version("1.70.0", commit="9595d0ad7c78af4ed568cbd210b894d3350eae0a")
+ version("1.68.0", commit="08f039f58bc2f5ed2cc3117ae817dbac333002a6")
+ version("1.64.0", commit="01650266ea7a4e5c600de545fe70a1103e79b2d8")
+ version("1.58.0", commit="1954745eafca990d6ddeefe84059c54a8c37df23")
+ version("1.56.0", commit="e521826f2515b309921272f65db421cbe2ff961a")
+ version("1.54.0", commit="fe2657936afbce8ee03221461dff4265e3ded4c4")
+ version("1.52.0", commit="2632fbecec4cef3705b85676942a59188ae9bba4")
+ version("1.50.1", commit="a20153029e28c009df813dbaf13d9f519fafa4e8")
diff --git a/var/spack/repos/builtin/packages/r-do-db/package.py b/var/spack/repos/builtin/packages/r-do-db/package.py
index 292205e6fe..f4e4f12f0e 100644
--- a/var/spack/repos/builtin/packages/r-do-db/package.py
+++ b/var/spack/repos/builtin/packages/r-do-db/package.py
@@ -14,9 +14,9 @@ class RDoDb(RPackage):
# There is no git repository for this package.
homepage = "https://bioconductor.org/packages/DO.db/"
- url = "https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/DO.db_2.9.tar.gz"
+ url = "https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/DO.db_2.9.tar.gz"
- version('2.9', sha256='762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881')
+ version("2.9", sha256="762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.9.7:', type=('build', 'run'))
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.9.7:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-domc/package.py b/var/spack/repos/builtin/packages/r-domc/package.py
index dc30deca61..66a89a689a 100644
--- a/var/spack/repos/builtin/packages/r-domc/package.py
+++ b/var/spack/repos/builtin/packages/r-domc/package.py
@@ -14,11 +14,11 @@ class RDomc(RPackage):
cran = "doMC"
- version('1.3.8', sha256='b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3')
- version('1.3.7', sha256='defab27adc298a6746896d83251f8355d62c01012d51ef96d491875a2e74b54d')
- version('1.3.6', sha256='2977fc9e2dc54d85d45b4a36cd286dff72834fbc73f38b6ee45a6eb8557fc9b2')
- version('1.3.4', sha256='76a1092fca59b441e6f89eb7e2fb3a12de807f736a217949c80339f20c958778')
+ version("1.3.8", sha256="b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3")
+ version("1.3.7", sha256="defab27adc298a6746896d83251f8355d62c01012d51ef96d491875a2e74b54d")
+ version("1.3.6", sha256="2977fc9e2dc54d85d45b4a36cd286dff72834fbc73f38b6ee45a6eb8557fc9b2")
+ version("1.3.4", sha256="76a1092fca59b441e6f89eb7e2fb3a12de807f736a217949c80339f20c958778")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-foreach@1.2.0:', type=('build', 'run'))
- depends_on('r-iterators@1.0.0:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-foreach@1.2.0:", type=("build", "run"))
+ depends_on("r-iterators@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-doparallel/package.py b/var/spack/repos/builtin/packages/r-doparallel/package.py
index b6ab1bb011..59f3578509 100644
--- a/var/spack/repos/builtin/packages/r-doparallel/package.py
+++ b/var/spack/repos/builtin/packages/r-doparallel/package.py
@@ -14,12 +14,12 @@ class RDoparallel(RPackage):
cran = "doParallel"
- version('1.0.17', sha256='b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7')
- version('1.0.16', sha256='f1bb26f964f30d47ae4d6cf2b0a2ca0c2122d376424875e82d9abe9e7b054eb2')
- version('1.0.15', sha256='71ad7ea69616468996aefdd8d02a4a234759a21ddde9ed1657e3c537145cd86e')
- version('1.0.11', sha256='4ccbd2eb46d3e4f5251b0c3de4d93d9168b02bb0be493656d6aea236667ff76a')
- version('1.0.10', sha256='70024b6950025cc027022ee409f382e5ad3680c0a25bcd404bfc16418be8add5')
+ version("1.0.17", sha256="b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7")
+ version("1.0.16", sha256="f1bb26f964f30d47ae4d6cf2b0a2ca0c2122d376424875e82d9abe9e7b054eb2")
+ version("1.0.15", sha256="71ad7ea69616468996aefdd8d02a4a234759a21ddde9ed1657e3c537145cd86e")
+ version("1.0.11", sha256="4ccbd2eb46d3e4f5251b0c3de4d93d9168b02bb0be493656d6aea236667ff76a")
+ version("1.0.10", sha256="70024b6950025cc027022ee409f382e5ad3680c0a25bcd404bfc16418be8add5")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-foreach@1.2.0:', type=('build', 'run'))
- depends_on('r-iterators@1.0.0:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-foreach@1.2.0:", type=("build", "run"))
+ depends_on("r-iterators@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dorng/package.py b/var/spack/repos/builtin/packages/r-dorng/package.py
index c445a226cd..216c2b1688 100644
--- a/var/spack/repos/builtin/packages/r-dorng/package.py
+++ b/var/spack/repos/builtin/packages/r-dorng/package.py
@@ -19,14 +19,14 @@ class RDorng(RPackage):
cran = "doRNG"
- version('1.8.2', sha256='33e9d45b91b0fde2e35e911b9758d0c376049121a98a1e4c73a1edfcff11cec9')
- version('1.7.1', sha256='27533d54464889d1c21301594137fc0f536574e3a413d61d7df9463ab12a67e9')
- version('1.6.6', sha256='939c2282c72c0b89fc7510f4bff901a4e99007dc006f46762c8f594c0ecbd876')
+ version("1.8.2", sha256="33e9d45b91b0fde2e35e911b9758d0c376049121a98a1e4c73a1edfcff11cec9")
+ version("1.7.1", sha256="27533d54464889d1c21301594137fc0f536574e3a413d61d7df9463ab12a67e9")
+ version("1.6.6", sha256="939c2282c72c0b89fc7510f4bff901a4e99007dc006f46762c8f594c0ecbd876")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-rngtools@1.3:', type=('build', 'run'))
- depends_on('r-rngtools@1.5:', type=('build', 'run'), when='@1.8.2:')
- depends_on('r-iterators', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-rngtools@1.3:", type=("build", "run"))
+ depends_on("r-rngtools@1.5:", type=("build", "run"), when="@1.8.2:")
+ depends_on("r-iterators", type=("build", "run"))
- depends_on('r-pkgmaker@0.20:', type=('build', 'run'), when='@:1.7.1')
+ depends_on("r-pkgmaker@0.20:", type=("build", "run"), when="@:1.7.1")
diff --git a/var/spack/repos/builtin/packages/r-dose/package.py b/var/spack/repos/builtin/packages/r-dose/package.py
index 38d67408d6..3b1716da58 100644
--- a/var/spack/repos/builtin/packages/r-dose/package.py
+++ b/var/spack/repos/builtin/packages/r-dose/package.py
@@ -9,37 +9,37 @@ from spack.package import *
class RDose(RPackage):
"""Disease Ontology Semantic and Enrichment analysis.
- This package implements five methods proposed by Resnik, Schlicker,
- Jiang, Lin and Wang respectively for measuring semantic similarities
- among DO terms and gene products. Enrichment analyses including
- hypergeometric model and gene set enrichment analysis are also
- implemented for discovering disease associations of high-throughput
- biological data."""
+ This package implements five methods proposed by Resnik, Schlicker,
+ Jiang, Lin and Wang respectively for measuring semantic similarities
+ among DO terms and gene products. Enrichment analyses including
+ hypergeometric model and gene set enrichment analysis are also
+ implemented for discovering disease associations of high-throughput
+ biological data."""
bioc = "DOSE"
- version('3.22.0', commit='242ac1b746c44fbbf281fbe6e5e4424a8dc74375')
- version('3.20.1', commit='bf434f24d035217822cb1b0ab08a486b9a53edb4')
- version('3.16.0', commit='a534a4f2ef1e54e8b92079cf1bbedb5042fd90cd')
- version('3.10.2', commit='5ea51a2e2a04b4f3cc974cecb4537e14efd6a7e3')
- version('3.8.2', commit='4d3d1ca710aa7e4288a412c8d52b054b86a57639')
- version('3.6.1', commit='f2967f0482cea39222bfd15767d0f4a5994f241b')
- version('3.4.0', commit='dabb70de1a0f91d1767601e871f2f1c16d29a612')
- version('3.2.0', commit='71f563fc39d02dfdf65184c94e0890a63b96b86b')
-
- depends_on('r@3.3.1:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.6.1:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.16.0:')
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-do-db', type=('build', 'run'))
- depends_on('r-fgsea', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gosemsim@2.0.0:', type=('build', 'run'))
- depends_on('r-qvalue', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
-
- depends_on('r-s4vectors', type=('build', 'run'), when='@:3.10.2')
- depends_on('r-scales', type=('build', 'run'), when='@3.2.0:3.4.0')
- depends_on('r-rvcheck', type=('build', 'run'), when='@3.4.0')
- depends_on('r-igraph', type=('build', 'run'), when='@3.2.0:3.4.0')
+ version("3.22.0", commit="242ac1b746c44fbbf281fbe6e5e4424a8dc74375")
+ version("3.20.1", commit="bf434f24d035217822cb1b0ab08a486b9a53edb4")
+ version("3.16.0", commit="a534a4f2ef1e54e8b92079cf1bbedb5042fd90cd")
+ version("3.10.2", commit="5ea51a2e2a04b4f3cc974cecb4537e14efd6a7e3")
+ version("3.8.2", commit="4d3d1ca710aa7e4288a412c8d52b054b86a57639")
+ version("3.6.1", commit="f2967f0482cea39222bfd15767d0f4a5994f241b")
+ version("3.4.0", commit="dabb70de1a0f91d1767601e871f2f1c16d29a612")
+ version("3.2.0", commit="71f563fc39d02dfdf65184c94e0890a63b96b86b")
+
+ depends_on("r@3.3.1:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.6.1:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.16.0:")
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-do-db", type=("build", "run"))
+ depends_on("r-fgsea", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gosemsim@2.0.0:", type=("build", "run"))
+ depends_on("r-qvalue", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+
+ depends_on("r-s4vectors", type=("build", "run"), when="@:3.10.2")
+ depends_on("r-scales", type=("build", "run"), when="@3.2.0:3.4.0")
+ depends_on("r-rvcheck", type=("build", "run"), when="@3.4.0")
+ depends_on("r-igraph", type=("build", "run"), when="@3.2.0:3.4.0")
diff --git a/var/spack/repos/builtin/packages/r-dosnow/package.py b/var/spack/repos/builtin/packages/r-dosnow/package.py
index 6e7b1738ec..d2febc1b8f 100644
--- a/var/spack/repos/builtin/packages/r-dosnow/package.py
+++ b/var/spack/repos/builtin/packages/r-dosnow/package.py
@@ -14,11 +14,11 @@ class RDosnow(RPackage):
cran = "doSNOW"
- version('1.0.20', sha256='917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8')
- version('1.0.19', sha256='4cd2d080628482f4c6ecab593313d7e42516f5ff13fbf9f90e461fcad0580738')
- version('1.0.18', sha256='70e7bd82186e477e3d1610676d4c6a75258ac08f104ecf0dcc971550ca174766')
+ version("1.0.20", sha256="917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8")
+ version("1.0.19", sha256="4cd2d080628482f4c6ecab593313d7e42516f5ff13fbf9f90e461fcad0580738")
+ version("1.0.18", sha256="70e7bd82186e477e3d1610676d4c6a75258ac08f104ecf0dcc971550ca174766")
- depends_on('r@2.5.0:', type=('build', 'run'))
- depends_on('r-foreach@1.2.0:', type=('build', 'run'))
- depends_on('r-iterators@1.0.0:', type=('build', 'run'))
- depends_on('r-snow@0.3.0:', type=('build', 'run'))
+ depends_on("r@2.5.0:", type=("build", "run"))
+ depends_on("r-foreach@1.2.0:", type=("build", "run"))
+ depends_on("r-iterators@1.0.0:", type=("build", "run"))
+ depends_on("r-snow@0.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dotcall64/package.py b/var/spack/repos/builtin/packages/r-dotcall64/package.py
index dd5eb33551..05771a0f78 100644
--- a/var/spack/repos/builtin/packages/r-dotcall64/package.py
+++ b/var/spack/repos/builtin/packages/r-dotcall64/package.py
@@ -18,7 +18,7 @@ class RDotcall64(RPackage):
cran = "dotCall64"
- version('1.0-1', sha256='f10b28fcffb9453b1d8888a72c8fd2112038b5ac33e02a481492c7bd249aa5c6')
- version('1.0-0', sha256='69318dc6b8aecc54d4f789c8105e672198363b395f1a764ebaeb54c0473d17ad')
+ version("1.0-1", sha256="f10b28fcffb9453b1d8888a72c8fd2112038b5ac33e02a481492c7bd249aa5c6")
+ version("1.0-0", sha256="69318dc6b8aecc54d4f789c8105e672198363b395f1a764ebaeb54c0473d17ad")
- depends_on('r@3.1:', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-downloader/package.py b/var/spack/repos/builtin/packages/r-downloader/package.py
index e58531a350..af825477cb 100644
--- a/var/spack/repos/builtin/packages/r-downloader/package.py
+++ b/var/spack/repos/builtin/packages/r-downloader/package.py
@@ -18,6 +18,6 @@ class RDownloader(RPackage):
cran = "downloader"
- version('0.4', sha256='1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab')
+ version("0.4", sha256="1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab")
- depends_on('r-digest', type=('build', 'run'))
+ depends_on("r-digest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dplyr/package.py b/var/spack/repos/builtin/packages/r-dplyr/package.py
index 6cd671c2a7..4acc44cf4f 100644
--- a/var/spack/repos/builtin/packages/r-dplyr/package.py
+++ b/var/spack/repos/builtin/packages/r-dplyr/package.py
@@ -14,50 +14,50 @@ class RDplyr(RPackage):
cran = "dplyr"
- version('1.0.9', sha256='e2e1f7312618b4e32ada9a1da79cef32eaec12acd408c973a6b069c6be4fb46b')
- version('1.0.7', sha256='d2fe3aedbce02fdddce09a8a80f85f5918a9d1f15f792ad4a98f254959d7123d')
- version('1.0.3', sha256='28a1a9d87e99154d4d1542ef9da9fd70f869a173dc9709f4583a5770bae58441')
- version('0.8.3', sha256='68b4aac65a69ea6390e90991d9c7ce7a011a07e5db439d60cce911a078424c0c')
- version('0.8.2', sha256='e2b6d5b30d04d86f270374623da426541cee8e33ce446fcab6cd7862abf8e18b')
- version('0.7.7', sha256='0553db5a55f0e6f5d2d111e88422c6d26e9d54cb36b860ad2ca28e3826e3d4a4')
- version('0.7.6', sha256='d489cc8b53854ec30737bb7d39b331b67ca35f4275ad19e97420d7a247808330')
- version('0.7.5', sha256='2fbd8f316a59670076d43a0fe854654621941ee5f621ea5f0185a3f5daafda50')
- version('0.7.4', sha256='7b1fc90750fbb46483423da6721832c545d37b157f4f3355784a65e50fada8c2')
- version('0.7.3', sha256='ae67ed4f629a74485626b8291b5219b81ee6fc4c5fe5a077bfbdfeae59dee573')
- version('0.7.2', sha256='2262d1ad9fefd5c7d1030dea0edd6ffe5747b827cabe088cc915b0a09818eb4a')
- version('0.7.1', sha256='8c7573464b2a808f711f8977d0039e043318f93e47f2e80ba85b1f4ca09d12f4')
- version('0.7.0', sha256='27b3593c09da5e99c0c4fb19ea826edd2cab619f8aaefd0cfd2a4140a0bd9410')
- version('0.5.0', sha256='93d3b829f1c2d38e14a4f2fa7d6398fc6c1a9e4189b3e78bc38a0eb0e864454f')
-
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@0.8.1:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-generics', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-glue@1.3.2:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-lifecycle@0.2.0:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@1.0.5:')
- depends_on('r-lifecycle@1.0.1:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rlang@0.4.0:', type=('build', 'run'))
- depends_on('r-rlang@0.4.9:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@1.0.5:')
- depends_on('r-rlang@1.0.2:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-tibble@2.0.0:', type=('build', 'run'))
- depends_on('r-tibble@2.1.3:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-tidyselect@0.2.5:', type=('build', 'run'))
- depends_on('r-tidyselect@1.1.0:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-tidyselect@1.1.1:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-vctrs@0.3.5:', type=('build', 'run'), when='@1.0.3:')
- depends_on('r-vctrs@0.4.1:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-pillar@1.5.1:', type=('build', 'run'), when='@1.0.6:')
-
- depends_on('r-assertthat@0.2.0:', type=('build', 'run'), when='@:0.8.3')
- depends_on('r-bindrcpp@0.2.0:', type=('build', 'run'), when='@:0.7.9')
- depends_on('r-pkgconfig', type=('build', 'run'), when='@:0.8.3')
- depends_on('r-rcpp@1.0.1:', type=('build', 'run'), when='@:0.8.3')
- depends_on('r-bh', type=('build', 'run'), when='@:0.8.3')
- depends_on('r-plogr@0.2.0:', type=('build', 'run'), when='@0.7.0:0.8.3')
+ version("1.0.9", sha256="e2e1f7312618b4e32ada9a1da79cef32eaec12acd408c973a6b069c6be4fb46b")
+ version("1.0.7", sha256="d2fe3aedbce02fdddce09a8a80f85f5918a9d1f15f792ad4a98f254959d7123d")
+ version("1.0.3", sha256="28a1a9d87e99154d4d1542ef9da9fd70f869a173dc9709f4583a5770bae58441")
+ version("0.8.3", sha256="68b4aac65a69ea6390e90991d9c7ce7a011a07e5db439d60cce911a078424c0c")
+ version("0.8.2", sha256="e2b6d5b30d04d86f270374623da426541cee8e33ce446fcab6cd7862abf8e18b")
+ version("0.7.7", sha256="0553db5a55f0e6f5d2d111e88422c6d26e9d54cb36b860ad2ca28e3826e3d4a4")
+ version("0.7.6", sha256="d489cc8b53854ec30737bb7d39b331b67ca35f4275ad19e97420d7a247808330")
+ version("0.7.5", sha256="2fbd8f316a59670076d43a0fe854654621941ee5f621ea5f0185a3f5daafda50")
+ version("0.7.4", sha256="7b1fc90750fbb46483423da6721832c545d37b157f4f3355784a65e50fada8c2")
+ version("0.7.3", sha256="ae67ed4f629a74485626b8291b5219b81ee6fc4c5fe5a077bfbdfeae59dee573")
+ version("0.7.2", sha256="2262d1ad9fefd5c7d1030dea0edd6ffe5747b827cabe088cc915b0a09818eb4a")
+ version("0.7.1", sha256="8c7573464b2a808f711f8977d0039e043318f93e47f2e80ba85b1f4ca09d12f4")
+ version("0.7.0", sha256="27b3593c09da5e99c0c4fb19ea826edd2cab619f8aaefd0cfd2a4140a0bd9410")
+ version("0.5.0", sha256="93d3b829f1c2d38e14a4f2fa7d6398fc6c1a9e4189b3e78bc38a0eb0e864454f")
+
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@0.8.1:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-generics", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-glue@1.3.2:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-lifecycle@0.2.0:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@1.0.5:")
+ depends_on("r-lifecycle@1.0.1:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rlang@0.4.0:", type=("build", "run"))
+ depends_on("r-rlang@0.4.9:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@1.0.5:")
+ depends_on("r-rlang@1.0.2:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-tibble@2.0.0:", type=("build", "run"))
+ depends_on("r-tibble@2.1.3:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-tidyselect@0.2.5:", type=("build", "run"))
+ depends_on("r-tidyselect@1.1.0:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-tidyselect@1.1.1:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-vctrs@0.3.5:", type=("build", "run"), when="@1.0.3:")
+ depends_on("r-vctrs@0.4.1:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-pillar@1.5.1:", type=("build", "run"), when="@1.0.6:")
+
+ depends_on("r-assertthat@0.2.0:", type=("build", "run"), when="@:0.8.3")
+ depends_on("r-bindrcpp@0.2.0:", type=("build", "run"), when="@:0.7.9")
+ depends_on("r-pkgconfig", type=("build", "run"), when="@:0.8.3")
+ depends_on("r-rcpp@1.0.1:", type=("build", "run"), when="@:0.8.3")
+ depends_on("r-bh", type=("build", "run"), when="@:0.8.3")
+ depends_on("r-plogr@0.2.0:", type=("build", "run"), when="@0.7.0:0.8.3")
diff --git a/var/spack/repos/builtin/packages/r-dqrng/package.py b/var/spack/repos/builtin/packages/r-dqrng/package.py
index 18047e0e68..8e8f37aaf0 100644
--- a/var/spack/repos/builtin/packages/r-dqrng/package.py
+++ b/var/spack/repos/builtin/packages/r-dqrng/package.py
@@ -24,10 +24,10 @@ class RDqrng(RPackage):
cran = "dqrng"
- version('0.3.0', sha256='4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb')
- version('0.2.1', sha256='e149c105b1db31e7f46b1aebf31d911a109e380923f3696fc56a53197fc1e866')
+ version("0.3.0", sha256="4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb")
+ version("0.2.1", sha256="e149c105b1db31e7f46b1aebf31d911a109e380923f3696fc56a53197fc1e866")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.16:', type=('build', 'run'))
- depends_on('r-bh@1.64.0-1:', type=('build', 'run'))
- depends_on('r-sitmo@2.0.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.16:", type=("build", "run"))
+ depends_on("r-bh@1.64.0-1:", type=("build", "run"))
+ depends_on("r-sitmo@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dss/package.py b/var/spack/repos/builtin/packages/r-dss/package.py
index d0d8eb92ae..227cac4fd5 100644
--- a/var/spack/repos/builtin/packages/r-dss/package.py
+++ b/var/spack/repos/builtin/packages/r-dss/package.py
@@ -18,18 +18,18 @@ class RDss(RPackage):
bioc = "DSS"
- version('2.44.0', commit='b9f44106f139c93564dfb4afab50555d24a657ba')
- version('2.42.0', commit='33e87450fbb64bb3e321688ff613e83cd40efe48')
- version('2.38.0', commit='82e65b92e6e227f1f99620362db8b03059e07e98')
- version('2.36.0', commit='841c7ed')
- version('2.34.0', commit='f9819c7')
- version('2.32.0', commit='ffb502d')
-
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.44.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'), when='@2.36.0:')
- depends_on('r-bsseq', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'), when='@2.44.0:')
-
- depends_on('r-delayedarray', type=('build', 'run'), when='@2.36.0:2.42.0')
+ version("2.44.0", commit="b9f44106f139c93564dfb4afab50555d24a657ba")
+ version("2.42.0", commit="33e87450fbb64bb3e321688ff613e83cd40efe48")
+ version("2.38.0", commit="82e65b92e6e227f1f99620362db8b03059e07e98")
+ version("2.36.0", commit="841c7ed")
+ version("2.34.0", commit="f9819c7")
+ version("2.32.0", commit="ffb502d")
+
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.44.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"), when="@2.36.0:")
+ depends_on("r-bsseq", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"), when="@2.44.0:")
+
+ depends_on("r-delayedarray", type=("build", "run"), when="@2.36.0:2.42.0")
diff --git a/var/spack/repos/builtin/packages/r-dt/package.py b/var/spack/repos/builtin/packages/r-dt/package.py
index 07f76f9175..bbd3232d70 100644
--- a/var/spack/repos/builtin/packages/r-dt/package.py
+++ b/var/spack/repos/builtin/packages/r-dt/package.py
@@ -16,22 +16,22 @@ class RDt(RPackage):
cran = "DT"
- version('0.23', sha256='360ae2fcb1141125a1b16448570fc37d14c4dd3f78a872c26df4fda1787cdc70')
- version('0.20', sha256='c66d7f49ec101fdbb91c6d26c06fb1373f9ebdefe29fe99f2ae1a641220aba9f')
- version('0.17', sha256='e3430292421dcc2b6ad5f2deda729f0603da4eb31f86d071833e6e11abf3fb56')
- version('0.13', sha256='79a073fe96980ce150d790ab76133c9e80bd463270c34d149c03934a622d63b5')
- version('0.8', sha256='90195054148806cf31c7db5c41f72d5389c75adc0b1183606a9babd2c6ae8e21')
- version('0.7', sha256='1de3f170deccd9e3aaefc057dd87c498e3b3f7f88eff645cf165ac34ffe3de2c')
- version('0.6', sha256='2ed68e9d161559171fa74b6105eee87b98acf755eae072b38ada60a83d427916')
- version('0.4', sha256='3daa96b819ca54e5fbc2c7d78cb3637982a2d44be58cea0683663b71cfc7fa19')
- version('0.3', sha256='ef42b24c9ea6cfa1ce089687bf858d773ac495dc80756d4475234e979bd437eb')
- version('0.2', sha256='a1b7f9e5c31a241fdf78ac582499f346e915ff948554980bbc2262c924b806bd')
- version('0.1', sha256='129bdafededbdcc3279d63b16f00c885b215f23cab2edfe33c9cbe177c8c4756')
+ version("0.23", sha256="360ae2fcb1141125a1b16448570fc37d14c4dd3f78a872c26df4fda1787cdc70")
+ version("0.20", sha256="c66d7f49ec101fdbb91c6d26c06fb1373f9ebdefe29fe99f2ae1a641220aba9f")
+ version("0.17", sha256="e3430292421dcc2b6ad5f2deda729f0603da4eb31f86d071833e6e11abf3fb56")
+ version("0.13", sha256="79a073fe96980ce150d790ab76133c9e80bd463270c34d149c03934a622d63b5")
+ version("0.8", sha256="90195054148806cf31c7db5c41f72d5389c75adc0b1183606a9babd2c6ae8e21")
+ version("0.7", sha256="1de3f170deccd9e3aaefc057dd87c498e3b3f7f88eff645cf165ac34ffe3de2c")
+ version("0.6", sha256="2ed68e9d161559171fa74b6105eee87b98acf755eae072b38ada60a83d427916")
+ version("0.4", sha256="3daa96b819ca54e5fbc2c7d78cb3637982a2d44be58cea0683663b71cfc7fa19")
+ version("0.3", sha256="ef42b24c9ea6cfa1ce089687bf858d773ac495dc80756d4475234e979bd437eb")
+ version("0.2", sha256="a1b7f9e5c31a241fdf78ac582499f346e915ff948554980bbc2262c924b806bd")
+ version("0.1", sha256="129bdafededbdcc3279d63b16f00c885b215f23cab2edfe33c9cbe177c8c4756")
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'))
- depends_on('r-htmlwidgets@1.3:', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.16:', type=('build', 'run'), when='@0.8:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-crosstalk', type=('build', 'run'))
- depends_on('r-jquerylib', type=('build', 'run'), when='@0.19:')
- depends_on('r-promises', type=('build', 'run'), when='@0.5:')
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"))
+ depends_on("r-htmlwidgets@1.3:", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.16:", type=("build", "run"), when="@0.8:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-crosstalk", type=("build", "run"))
+ depends_on("r-jquerylib", type=("build", "run"), when="@0.19:")
+ depends_on("r-promises", type=("build", "run"), when="@0.5:")
diff --git a/var/spack/repos/builtin/packages/r-dtplyr/package.py b/var/spack/repos/builtin/packages/r-dtplyr/package.py
index cc1fe59d86..a220ea2c5c 100644
--- a/var/spack/repos/builtin/packages/r-dtplyr/package.py
+++ b/var/spack/repos/builtin/packages/r-dtplyr/package.py
@@ -15,19 +15,19 @@ class RDtplyr(RPackage):
cran = "dtplyr"
- version('1.2.1', sha256='2640e9cde4eaa06f02cff29e3f2b99fdd08488df07ea2e6629b2ed6a8285d0f3')
- version('1.2.0', sha256='a6dedfb6dd80dfc1d29d005ab634c060b7bfda8cb49835ece84d3b7d12077414')
- version('1.1.0', sha256='99681b7285d7d5086e5595ca6bbeebf7f4e2ee358a32b694cd9d35916cdfc732')
+ version("1.2.1", sha256="2640e9cde4eaa06f02cff29e3f2b99fdd08488df07ea2e6629b2ed6a8285d0f3")
+ version("1.2.0", sha256="a6dedfb6dd80dfc1d29d005ab634c060b7bfda8cb49835ece84d3b7d12077414")
+ version("1.1.0", sha256="99681b7285d7d5086e5595ca6bbeebf7f4e2ee358a32b694cd9d35916cdfc732")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-data-table@1.12.4:', type=('build', 'run'))
- depends_on('r-data-table@1.13.0:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-dplyr@1.0.3:', type=('build', 'run'))
- depends_on('r-ellipsis', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-data-table@1.12.4:", type=("build", "run"))
+ depends_on("r-data-table@1.13.0:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-dplyr@1.0.3:", type=("build", "run"))
+ depends_on("r-ellipsis", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dtw/package.py b/var/spack/repos/builtin/packages/r-dtw/package.py
index 44cffba3a0..afaac719ff 100644
--- a/var/spack/repos/builtin/packages/r-dtw/package.py
+++ b/var/spack/repos/builtin/packages/r-dtw/package.py
@@ -19,13 +19,13 @@ class RDtw(RPackage):
cran = "dtw"
- version('1.22-3', sha256='df7cf9adf613422ddb22a160597eb5f5475ab6c67c0d790092edb7f72ba98f00')
- version('1.20-1', sha256='43ca1a47a7c81a2b5d5054da1be8b8af79a85d6f9ce7b4512e9ed91f790f60f0')
- version('1.18-1', sha256='d9dab25bdf61705f9f28dc5ca1c96a7465b269233e878516c52c01b5a0da21ad')
- version('1.17-1', sha256='0fc3afcebc58135c78abd7545a3549466ac051a058f913db16214c12141a6e4d')
- version('1.16', sha256='7d7e34c41ff6021991bcf8a913b2b6b82680018f65fdd90af2150a07457e9cdb')
- version('1.15', sha256='28ba2110d4c305f332fad93337cdae24b9de4163b8ddf33d476f9dddc63160f1')
- version('1.14-3', sha256='6989358d8d97428418c2b34ae38647efcee2e0ce095800a657d5d83d7083c9e3')
+ version("1.22-3", sha256="df7cf9adf613422ddb22a160597eb5f5475ab6c67c0d790092edb7f72ba98f00")
+ version("1.20-1", sha256="43ca1a47a7c81a2b5d5054da1be8b8af79a85d6f9ce7b4512e9ed91f790f60f0")
+ version("1.18-1", sha256="d9dab25bdf61705f9f28dc5ca1c96a7465b269233e878516c52c01b5a0da21ad")
+ version("1.17-1", sha256="0fc3afcebc58135c78abd7545a3549466ac051a058f913db16214c12141a6e4d")
+ version("1.16", sha256="7d7e34c41ff6021991bcf8a913b2b6b82680018f65fdd90af2150a07457e9cdb")
+ version("1.15", sha256="28ba2110d4c305f332fad93337cdae24b9de4163b8ddf33d476f9dddc63160f1")
+ version("1.14-3", sha256="6989358d8d97428418c2b34ae38647efcee2e0ce095800a657d5d83d7083c9e3")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-proxy', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-proxy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-dygraphs/package.py b/var/spack/repos/builtin/packages/r-dygraphs/package.py
index 79ec3bf306..d958da93b8 100644
--- a/var/spack/repos/builtin/packages/r-dygraphs/package.py
+++ b/var/spack/repos/builtin/packages/r-dygraphs/package.py
@@ -17,13 +17,13 @@ class RDygraphs(RPackage):
cran = "dygraphs"
- version('1.1.1.6', sha256='c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208')
- version('1.1.1.5', sha256='274035988fdd6833121fd5831692355d383acc828d540788dbcecaf88eb2d72d')
- version('0.9', sha256='2aa4754a7d824d8994c2a97ee02bab163319f065b4d10d289337dc8398c0646c')
+ version("1.1.1.6", sha256="c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208")
+ version("1.1.1.5", sha256="274035988fdd6833121fd5831692355d383acc828d540788dbcecaf88eb2d72d")
+ version("0.9", sha256="2aa4754a7d824d8994c2a97ee02bab163319f065b4d10d289337dc8398c0646c")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-htmlwidgets@0.6:', type=('build', 'run'))
- depends_on('r-zoo@1.7-10:', type=('build', 'run'))
- depends_on('r-xts@0.9-7:', type=('build', 'run'))
- depends_on('r-htmltools@0.3.5:', type=('build', 'run'), when='@1.1.1.0:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-htmlwidgets@0.6:", type=("build", "run"))
+ depends_on("r-zoo@1.7-10:", type=("build", "run"))
+ depends_on("r-xts@0.9-7:", type=("build", "run"))
+ depends_on("r-htmltools@0.3.5:", type=("build", "run"), when="@1.1.1.0:")
diff --git a/var/spack/repos/builtin/packages/r-dynamictreecut/package.py b/var/spack/repos/builtin/packages/r-dynamictreecut/package.py
index a8e77c3c95..ae80c5dde2 100644
--- a/var/spack/repos/builtin/packages/r-dynamictreecut/package.py
+++ b/var/spack/repos/builtin/packages/r-dynamictreecut/package.py
@@ -14,6 +14,6 @@ class RDynamictreecut(RPackage):
cran = "dynamicTreeCut"
- version('1.63-1', sha256='831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9')
+ version("1.63-1", sha256="831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9")
- depends_on('r@2.3.0:', type=('build', 'run'))
+ depends_on("r@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-e1071/package.py b/var/spack/repos/builtin/packages/r-e1071/package.py
index 9ff36ac470..c4f8c97ea6 100644
--- a/var/spack/repos/builtin/packages/r-e1071/package.py
+++ b/var/spack/repos/builtin/packages/r-e1071/package.py
@@ -16,11 +16,11 @@ class RE1071(RPackage):
cran = "e1071"
- version('1.7-9', sha256='9bf9a15e7ce0b9b1a57ce3048d29cbea7f2a5bb2e91271b1b6aaafe07c852226')
- version('1.7-4', sha256='e6ab871b06f500dc65f8f781cc7253f43179698784c06dab040b4aa6592f2309')
- version('1.7-2', sha256='721c299ce83047312acfa3e0c4b3d4c223d84a4c53400c73465cca2c92913752')
- version('1.7-1', sha256='5c5f04a51c1cd2c7dbdf69987adef9bc07116804c63992cd36d804a1daf89dfe')
- version('1.6-7', sha256='7048fbc0ac17d7e3420fe68081d0e0a2176b1154ee3191d53558ea9724c7c980')
+ version("1.7-9", sha256="9bf9a15e7ce0b9b1a57ce3048d29cbea7f2a5bb2e91271b1b6aaafe07c852226")
+ version("1.7-4", sha256="e6ab871b06f500dc65f8f781cc7253f43179698784c06dab040b4aa6592f2309")
+ version("1.7-2", sha256="721c299ce83047312acfa3e0c4b3d4c223d84a4c53400c73465cca2c92913752")
+ version("1.7-1", sha256="5c5f04a51c1cd2c7dbdf69987adef9bc07116804c63992cd36d804a1daf89dfe")
+ version("1.6-7", sha256="7048fbc0ac17d7e3420fe68081d0e0a2176b1154ee3191d53558ea9724c7c980")
- depends_on('r-class', type=('build', 'run'))
- depends_on('r-proxy', type=('build', 'run'), when='@1.7-9:')
+ depends_on("r-class", type=("build", "run"))
+ depends_on("r-proxy", type=("build", "run"), when="@1.7-9:")
diff --git a/var/spack/repos/builtin/packages/r-earth/package.py b/var/spack/repos/builtin/packages/r-earth/package.py
index 8d81bc3b94..8b4273a029 100644
--- a/var/spack/repos/builtin/packages/r-earth/package.py
+++ b/var/spack/repos/builtin/packages/r-earth/package.py
@@ -15,12 +15,12 @@ class REarth(RPackage):
cran = "earth"
- version('5.3.1', sha256='0bbe06ba974ceb8ec5de1d59cb53f9487d1828d7130fe2503c48b6cb449c4b03')
- version('5.3.0', sha256='05ace806271a74b3ddf8718a93237fe2a8550a8659ebd87f8079c0bda5e02437')
- version('5.1.2', sha256='326f98e8c29365ca3cd5584cf2bd6529358f5ef81664cbd494162f92b6c3488d')
+ version("5.3.1", sha256="0bbe06ba974ceb8ec5de1d59cb53f9487d1828d7130fe2503c48b6cb449c4b03")
+ version("5.3.0", sha256="05ace806271a74b3ddf8718a93237fe2a8550a8659ebd87f8079c0bda5e02437")
+ version("5.1.2", sha256="326f98e8c29365ca3cd5584cf2bd6529358f5ef81664cbd494162f92b6c3488d")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-formula@1.2-3:', type=('build', 'run'))
- depends_on('r-plotmo@3.5.4:', type=('build', 'run'))
- depends_on('r-plotmo@3.6.0:', type=('build', 'run'), when='@5.3.0')
- depends_on('r-teachingdemos@2.10:', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-formula@1.2-3:", type=("build", "run"))
+ depends_on("r-plotmo@3.5.4:", type=("build", "run"))
+ depends_on("r-plotmo@3.6.0:", type=("build", "run"), when="@5.3.0")
+ depends_on("r-teachingdemos@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ecp/package.py b/var/spack/repos/builtin/packages/r-ecp/package.py
index d483438d2e..7e25403ace 100644
--- a/var/spack/repos/builtin/packages/r-ecp/package.py
+++ b/var/spack/repos/builtin/packages/r-ecp/package.py
@@ -19,8 +19,8 @@ class REcp(RPackage):
cran = "ecp"
- version('3.1.3', sha256='a80ab10bafe30cc96287b9220e44c4b4eda40f5dd0546e4d2a2e1baab514c058')
- version('3.1.1', sha256='d2ab194e22e6ab0168222fbccfcf2e25c6cd51a73edc959086b0c6e0a7410268')
+ version("3.1.3", sha256="a80ab10bafe30cc96287b9220e44c4b4eda40f5dd0546e4d2a2e1baab514c058")
+ version("3.1.1", sha256="d2ab194e22e6ab0168222fbccfcf2e25c6cd51a73edc959086b0c6e0a7410268")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-edger/package.py b/var/spack/repos/builtin/packages/r-edger/package.py
index 8556b1c129..ab3610f473 100644
--- a/var/spack/repos/builtin/packages/r-edger/package.py
+++ b/var/spack/repos/builtin/packages/r-edger/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class REdger(RPackage):
"""Empirical Analysis of Digital Gene Expression Data in R.
- Differential expression analysis of RNA-seq expression profiles with
- biological replication. Implements a range of statistical methodology
- based on the negative binomial distributions, including empirical Bayes
- estimation, exact tests, generalized linear models and quasi-likelihood
- tests. As well as RNA-seq, it be applied to differential signal analysis
- of other types of genomic data that produce counts, including ChIP-seq,
- Bisulfite-seq, SAGE and CAGE."""
+ Differential expression analysis of RNA-seq expression profiles with
+ biological replication. Implements a range of statistical methodology
+ based on the negative binomial distributions, including empirical Bayes
+ estimation, exact tests, generalized linear models and quasi-likelihood
+ tests. As well as RNA-seq, it be applied to differential signal analysis
+ of other types of genomic data that produce counts, including ChIP-seq,
+ Bisulfite-seq, SAGE and CAGE."""
bioc = "edgeR"
- version('3.38.1', commit='e58bf52f34ec451096f593126922ad7e5d517f7e')
- version('3.36.0', commit='c7db03addfc42138a1901834409c02da9d873026')
- version('3.32.1', commit='b881d801d60e5b38413d27f149384c218621c55a')
- version('3.26.8', commit='836809e043535f2264e5db8b5c0eabcffe85613f')
- version('3.24.3', commit='d1260a2aeba67b9ab7a9b8b197b746814ad0716d')
- version('3.22.5', commit='44461aa0412ef4a0d955730f365e44fc64fe1902')
- version('3.20.9', commit='acbcbbee939f399673678653678cd9cb4917c4dc')
- version('3.18.1', commit='101106f3fdd9e2c45d4a670c88f64c12e97a0495')
+ version("3.38.1", commit="e58bf52f34ec451096f593126922ad7e5d517f7e")
+ version("3.36.0", commit="c7db03addfc42138a1901834409c02da9d873026")
+ version("3.32.1", commit="b881d801d60e5b38413d27f149384c218621c55a")
+ version("3.26.8", commit="836809e043535f2264e5db8b5c0eabcffe85613f")
+ version("3.24.3", commit="d1260a2aeba67b9ab7a9b8b197b746814ad0716d")
+ version("3.22.5", commit="44461aa0412ef4a0d955730f365e44fc64fe1902")
+ version("3.20.9", commit="acbcbbee939f399673678653678cd9cb4917c4dc")
+ version("3.18.1", commit="101106f3fdd9e2c45d4a670c88f64c12e97a0495")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@3.26.8:')
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-limma@3.34.5:', type=('build', 'run'), when='@3.20.9:')
- depends_on('r-limma@3.41.5:', type=('build', 'run'), when='@3.32.1:')
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'), when='@3.20.9:')
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@3.26.8:")
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-limma@3.34.5:", type=("build", "run"), when="@3.20.9:")
+ depends_on("r-limma@3.41.5:", type=("build", "run"), when="@3.32.1:")
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"), when="@3.20.9:")
diff --git a/var/spack/repos/builtin/packages/r-effects/package.py b/var/spack/repos/builtin/packages/r-effects/package.py
index 2783aec2a3..2ffe706618 100644
--- a/var/spack/repos/builtin/packages/r-effects/package.py
+++ b/var/spack/repos/builtin/packages/r-effects/package.py
@@ -14,15 +14,15 @@ class REffects(RPackage):
cran = "effects"
- version('4.2-1', sha256='5397254214d55eb0e0441786f9329f9e3e3ef864366c0a93f0adb941da147640')
- version('4.2-0', sha256='6833dfbc65f3f33191a24e9b0d2aa0c964caeebb6c4fd2036ad94ed2723a7a46')
+ version("4.2-1", sha256="5397254214d55eb0e0441786f9329f9e3e3ef864366c0a93f0adb941da147640")
+ version("4.2-0", sha256="6833dfbc65f3f33191a24e9b0d2aa0c964caeebb6c4fd2036ad94ed2723a7a46")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-cardata', type=('build', 'run'))
- depends_on('r-lme4', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-survey', type=('build', 'run'))
- depends_on('r-estimability', type=('build', 'run'))
- depends_on('r-insight', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-cardata", type=("build", "run"))
+ depends_on("r-lme4", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-survey", type=("build", "run"))
+ depends_on("r-estimability", type=("build", "run"))
+ depends_on("r-insight", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-elemstatlearn/package.py b/var/spack/repos/builtin/packages/r-elemstatlearn/package.py
index e5cbae0611..a5af2858c8 100644
--- a/var/spack/repos/builtin/packages/r-elemstatlearn/package.py
+++ b/var/spack/repos/builtin/packages/r-elemstatlearn/package.py
@@ -13,6 +13,8 @@ class RElemstatlearn(RPackage):
cran = "ElemStatLearn"
- version('2015.6.26.2', sha256='a0f94a72f6188a0a5c855e3362b6b849bf7fd14efc2d824a8d2581f8bb1bd7fa')
+ version(
+ "2015.6.26.2", sha256="a0f94a72f6188a0a5c855e3362b6b849bf7fd14efc2d824a8d2581f8bb1bd7fa"
+ )
- depends_on('r@2.10.0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ellipse/package.py b/var/spack/repos/builtin/packages/r-ellipse/package.py
index c0369d3bb5..8046cbfe16 100644
--- a/var/spack/repos/builtin/packages/r-ellipse/package.py
+++ b/var/spack/repos/builtin/packages/r-ellipse/package.py
@@ -18,9 +18,9 @@ class REllipse(RPackage):
cran = "ellipse"
- version('0.4.3', sha256='02ef2b11c3462a8b800332e522183f4c7c40c7d2d66c5174d5f3f6d8cc68a946')
- version('0.4.2', sha256='1719ce9a00b9ac4d56dbf961803085b892d3359726fda3567bb989ddfed9a5f2')
- version('0.4.1', sha256='1a9a9c52195b26c2b4d51ad159ab98aff7aa8ca25fdc6b2198818d1a0adb023d')
- version('0.3-8', sha256='508d474c142f0770c25763d6c8f8f8c9dcf8205afd42ffa22e6be1e0360e7f45')
+ version("0.4.3", sha256="02ef2b11c3462a8b800332e522183f4c7c40c7d2d66c5174d5f3f6d8cc68a946")
+ version("0.4.2", sha256="1719ce9a00b9ac4d56dbf961803085b892d3359726fda3567bb989ddfed9a5f2")
+ version("0.4.1", sha256="1a9a9c52195b26c2b4d51ad159ab98aff7aa8ca25fdc6b2198818d1a0adb023d")
+ version("0.3-8", sha256="508d474c142f0770c25763d6c8f8f8c9dcf8205afd42ffa22e6be1e0360e7f45")
- depends_on('r@2.0.0:', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ellipsis/package.py b/var/spack/repos/builtin/packages/r-ellipsis/package.py
index bb9d46f3e8..e44ad1e53b 100644
--- a/var/spack/repos/builtin/packages/r-ellipsis/package.py
+++ b/var/spack/repos/builtin/packages/r-ellipsis/package.py
@@ -16,11 +16,11 @@ class REllipsis(RPackage):
cran = "ellipsis"
- version('0.3.2', sha256='a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558')
- version('0.3.1', sha256='4f8a15158dfc27cdc0f7554c7a61e92b02e4d70bfc3d968f01a99da2189b75db')
- version('0.3.0', sha256='0bf814cb7a1f0ee1f2949bdc98752a0d535f2a9489280dd4d8fcdb10067ee907')
- version('0.2.0.1', sha256='0e6528c5e8016c3617cc1cfcdb5a4bfeb073e0bd5ea76b43e56b0c3208a0a943')
+ version("0.3.2", sha256="a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558")
+ version("0.3.1", sha256="4f8a15158dfc27cdc0f7554c7a61e92b02e4d70bfc3d968f01a99da2189b75db")
+ version("0.3.0", sha256="0bf814cb7a1f0ee1f2949bdc98752a0d535f2a9489280dd4d8fcdb10067ee907")
+ version("0.2.0.1", sha256="0e6528c5e8016c3617cc1cfcdb5a4bfeb073e0bd5ea76b43e56b0c3208a0a943")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@0.3:')
- depends_on('r-rlang@0.3.0:', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@0.3:")
+ depends_on("r-rlang@0.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-emmeans/package.py b/var/spack/repos/builtin/packages/r-emmeans/package.py
index 5bce450efb..e19390cdc1 100644
--- a/var/spack/repos/builtin/packages/r-emmeans/package.py
+++ b/var/spack/repos/builtin/packages/r-emmeans/package.py
@@ -19,16 +19,16 @@ class REmmeans(RPackage):
cran = "emmeans"
- version('1.7.4-1', sha256='f7a33a2b54ad13d6e39ee6c58004f83a9edb06e8dc8282180440610eb18be721')
- version('1.7.2', sha256='d3e51c2a4b6c74dd9840efebe241a53072172f269f4324421f28f68db71721bc')
- version('1.7.1-1', sha256='6b01eaad1ea0f96245db8563cc77929a3c3b96cd61c24ce1d452308d6e0250de')
- version('1.7.0', sha256='d4b654896197dfda8354b33257380a66ee06117d6177b1ed7f1e42176525e9c5')
- version('1.6.0', sha256='201bb7b008dde94231ed60bcc6a32749442faaab4baeea99ad28b97c951b3c1e')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-estimability@1.3:', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-xtable@1.8-2:', type=('build', 'run'))
-
- depends_on('r-plyr', type=('build', 'run'), when='@:1.6')
+ version("1.7.4-1", sha256="f7a33a2b54ad13d6e39ee6c58004f83a9edb06e8dc8282180440610eb18be721")
+ version("1.7.2", sha256="d3e51c2a4b6c74dd9840efebe241a53072172f269f4324421f28f68db71721bc")
+ version("1.7.1-1", sha256="6b01eaad1ea0f96245db8563cc77929a3c3b96cd61c24ce1d452308d6e0250de")
+ version("1.7.0", sha256="d4b654896197dfda8354b33257380a66ee06117d6177b1ed7f1e42176525e9c5")
+ version("1.6.0", sha256="201bb7b008dde94231ed60bcc6a32749442faaab4baeea99ad28b97c951b3c1e")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-estimability@1.3:", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-xtable@1.8-2:", type=("build", "run"))
+
+ depends_on("r-plyr", type=("build", "run"), when="@:1.6")
diff --git a/var/spack/repos/builtin/packages/r-emmli/package.py b/var/spack/repos/builtin/packages/r-emmli/package.py
index a30df95232..c0df2efd89 100644
--- a/var/spack/repos/builtin/packages/r-emmli/package.py
+++ b/var/spack/repos/builtin/packages/r-emmli/package.py
@@ -15,4 +15,4 @@ class REmmli(RPackage):
cran = "EMMLi"
- version('0.0.3', sha256='57c04953200d2253bc90b0035dc590179d1b959768bfa7fdac92b6bcbf9f66ac')
+ version("0.0.3", sha256="57c04953200d2253bc90b0035dc590179d1b959768bfa7fdac92b6bcbf9f66ac")
diff --git a/var/spack/repos/builtin/packages/r-energy/package.py b/var/spack/repos/builtin/packages/r-energy/package.py
index 4b7b7ab4b2..738e0132b8 100644
--- a/var/spack/repos/builtin/packages/r-energy/package.py
+++ b/var/spack/repos/builtin/packages/r-energy/package.py
@@ -21,14 +21,14 @@ class REnergy(RPackage):
cran = "energy"
- version('1.7-10', sha256='543de4875c46cc90e711e71c45b082d962fbb5158a094f9f10d37d3f57e1bea7')
- version('1.7-9', sha256='68d0e0ed99f5a8a03858603ed36010a2f67b87a947dbcc65a9da2e08a2d3bad9')
- version('1.7-8', sha256='de08e8de037bb30068bbf0c1880b153a586d342304681f4ba103ab808c7f4789')
- version('1.7-7', sha256='67b88fb33ee6e7bec2e4fe356a4efd36f70c3cf9b0ebe2f6d9da9ec96de9968f')
- version('1.7-6', sha256='900edbb28e1f1bccd78580828470628cf75eb6333b63e1a58e4da7fc5c5fa89a')
- version('1.7-5', sha256='24c2cf080939f8f56cd9cda06d2dfc30d0389cd3ec7250af4f9a09a4c06b6996')
+ version("1.7-10", sha256="543de4875c46cc90e711e71c45b082d962fbb5158a094f9f10d37d3f57e1bea7")
+ version("1.7-9", sha256="68d0e0ed99f5a8a03858603ed36010a2f67b87a947dbcc65a9da2e08a2d3bad9")
+ version("1.7-8", sha256="de08e8de037bb30068bbf0c1880b153a586d342304681f4ba103ab808c7f4789")
+ version("1.7-7", sha256="67b88fb33ee6e7bec2e4fe356a4efd36f70c3cf9b0ebe2f6d9da9ec96de9968f")
+ version("1.7-6", sha256="900edbb28e1f1bccd78580828470628cf75eb6333b63e1a58e4da7fc5c5fa89a")
+ version("1.7-5", sha256="24c2cf080939f8f56cd9cda06d2dfc30d0389cd3ec7250af4f9a09a4c06b6996")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.6:', type=('build', 'run'))
- depends_on('r-boot', type=('build', 'run'))
- depends_on('r-gsl', type=('build', 'run'), when='@1.7-8:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.6:", type=("build", "run"))
+ depends_on("r-boot", type=("build", "run"))
+ depends_on("r-gsl", type=("build", "run"), when="@1.7-8:")
diff --git a/var/spack/repos/builtin/packages/r-enrichplot/package.py b/var/spack/repos/builtin/packages/r-enrichplot/package.py
index cd3ef6df4b..dc7597b6ea 100644
--- a/var/spack/repos/builtin/packages/r-enrichplot/package.py
+++ b/var/spack/repos/builtin/packages/r-enrichplot/package.py
@@ -9,45 +9,45 @@ from spack.package import *
class REnrichplot(RPackage):
"""Visualization of Functional Enrichment Result.
- The 'enrichplot' package implements several visualization methods for
- interpreting functional enrichment results obtained from ORA or GSEA
- analysis. All the visualization methods are developed based on 'ggplot2'
- graphics."""
+ The 'enrichplot' package implements several visualization methods for
+ interpreting functional enrichment results obtained from ORA or GSEA
+ analysis. All the visualization methods are developed based on 'ggplot2'
+ graphics."""
bioc = "enrichplot"
- version('1.16.1', commit='cff77b622b2312be546714ec437aa4bc585bac87')
- version('1.14.1', commit='ccf3a6d9b7cd9cffd8de6d6263efdffe59d2ec36')
- version('1.10.2', commit='77ee04f60a07cc31151f8f47f8ee64f3a43c9760')
- version('1.4.0', commit='6ffe5d9c5dbe5cbea29f2e0941595475bbbcea0e')
- version('1.2.0', commit='2eeaafb571d35a106eba8ae7df014f3201066e8b')
- version('1.0.2', commit='ba7726fa0d4b581b7514dcbb04889cdbdd75ff29')
-
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-aplot', type=('build', 'run'), when='@1.14.1:')
- depends_on('r-dose@3.5.1:', type=('build', 'run'))
- depends_on('r-dose@3.13.1:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-dose@3.16.0:', type=('build', 'run'), when='@1.12.3:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggraph', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-purrr', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-rcolorbrewer', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-scatterpie', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-shadowtext', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-gosemsim', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'), when='@1.10.2:')
- depends_on('r-ggtree', type=('build', 'run'), when='@1.14.1:')
- depends_on('r-yulab-utils@0.0.4:', type=('build', 'run'), when='@1.14.1:')
-
- depends_on('r-ggridges', type=('build', 'run'), when='@:1.4.0')
- depends_on('r-upsetr', type=('build', 'run'), when='@:1.4.0')
- depends_on('r-annotationdbi', type=('build', 'run'), when='@:1.4.0')
- depends_on('r-europepmc', type=('build', 'run'), when='@1.2.0:1.4.0')
- depends_on('r-ggplotify', type=('build', 'run'), when='@1.2.0:1.4.0')
- depends_on('r-gridextra', type=('build', 'run'), when='@1.2.0:1.4.0')
-
- depends_on('r-cowplot', type=('build', 'run'))
+ version("1.16.1", commit="cff77b622b2312be546714ec437aa4bc585bac87")
+ version("1.14.1", commit="ccf3a6d9b7cd9cffd8de6d6263efdffe59d2ec36")
+ version("1.10.2", commit="77ee04f60a07cc31151f8f47f8ee64f3a43c9760")
+ version("1.4.0", commit="6ffe5d9c5dbe5cbea29f2e0941595475bbbcea0e")
+ version("1.2.0", commit="2eeaafb571d35a106eba8ae7df014f3201066e8b")
+ version("1.0.2", commit="ba7726fa0d4b581b7514dcbb04889cdbdd75ff29")
+
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-aplot", type=("build", "run"), when="@1.14.1:")
+ depends_on("r-dose@3.5.1:", type=("build", "run"))
+ depends_on("r-dose@3.13.1:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-dose@3.16.0:", type=("build", "run"), when="@1.12.3:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggraph", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-purrr", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-rcolorbrewer", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-scatterpie", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-shadowtext", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-gosemsim", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"), when="@1.10.2:")
+ depends_on("r-ggtree", type=("build", "run"), when="@1.14.1:")
+ depends_on("r-yulab-utils@0.0.4:", type=("build", "run"), when="@1.14.1:")
+
+ depends_on("r-ggridges", type=("build", "run"), when="@:1.4.0")
+ depends_on("r-upsetr", type=("build", "run"), when="@:1.4.0")
+ depends_on("r-annotationdbi", type=("build", "run"), when="@:1.4.0")
+ depends_on("r-europepmc", type=("build", "run"), when="@1.2.0:1.4.0")
+ depends_on("r-ggplotify", type=("build", "run"), when="@1.2.0:1.4.0")
+ depends_on("r-gridextra", type=("build", "run"), when="@1.2.0:1.4.0")
+
+ depends_on("r-cowplot", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ensembldb/package.py b/var/spack/repos/builtin/packages/r-ensembldb/package.py
index 92876b5a4c..8e2403c6bf 100644
--- a/var/spack/repos/builtin/packages/r-ensembldb/package.py
+++ b/var/spack/repos/builtin/packages/r-ensembldb/package.py
@@ -9,54 +9,54 @@ from spack.package import *
class REnsembldb(RPackage):
"""Utilities to create and use Ensembl-based annotation databases.
- The package provides functions to create and use transcript centric
- annotation databases/packages. The annotation for the databases are
- directly fetched from Ensembl using their Perl API. The functionality
- and data is similar to that of the TxDb packages from the
- GenomicFeatures package, but, in addition to retrieve all
- gene/transcript models and annotations from the database, ensembldb
- provides a filter framework allowing to retrieve annotations for
- specific entries like genes encoded on a chromosome region or transcript
- models of lincRNA genes. EnsDb databases built with ensembldb contain
- also protein annotations and mappings between proteins and their
- encoding transcripts. Finally, ensembldb provides functions to map
- between genomic, transcript and protein coordinates."""
+ The package provides functions to create and use transcript centric
+ annotation databases/packages. The annotation for the databases are
+ directly fetched from Ensembl using their Perl API. The functionality
+ and data is similar to that of the TxDb packages from the
+ GenomicFeatures package, but, in addition to retrieve all
+ gene/transcript models and annotations from the database, ensembldb
+ provides a filter framework allowing to retrieve annotations for
+ specific entries like genes encoded on a chromosome region or transcript
+ models of lincRNA genes. EnsDb databases built with ensembldb contain
+ also protein annotations and mappings between proteins and their
+ encoding transcripts. Finally, ensembldb provides functions to map
+ between genomic, transcript and protein coordinates."""
bioc = "ensembldb"
- version('2.20.1', commit='e547d184730cfe5e65f59e4f3512395fb1cdba1a')
- version('2.18.3', commit='e2fcfc0c7700110df070a171d2d542b37ec098f3')
- version('2.14.0', commit='c7150519ed4ef38e5eac1043209863dbc7be43a1')
- version('2.8.1', commit='a4d8d89c143dca86b364d59dff8e46cc81c41ac0')
- version('2.6.8', commit='c2c4f41b4ecc81d5328ce1d380065dfcb5e0c54c')
- version('2.4.1', commit='b5b6b94826a2f46a4faecb9dde750ecd3bfaf327')
- version('2.2.2', commit='d71610e58aed88dbbe6a74e7a8ddfb7451398060')
- version('2.0.4', commit='514623d71e3cca7a4e547adb579b5a958702ef86')
-
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.20.1:')
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.21:', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.18:', type=('build', 'run'), when='@2.4.1:')
- depends_on('r-genomicfeatures@1.23.18:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.29.10:', type=('build', 'run'), when='@2.2.2:')
- depends_on('r-annotationfilter@0.99.7:', type=('build', 'run'))
- depends_on('r-annotationfilter@1.1.9:', type=('build', 'run'), when='@2.2.2:')
- depends_on('r-annotationfilter@1.5.2:', type=('build', 'run'), when='@2.6.8:')
- depends_on('r-rsqlite@1.1:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-annotationdbi@1.31.19:', type=('build', 'run'))
- depends_on('r-rtracklayer', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-s4vectors@0.23.10:', type=('build', 'run'), when='@2.14.0:')
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@2.2.2:')
- depends_on('r-iranges@2.13.24:', type=('build', 'run'), when='@2.4.1:')
- depends_on('r-protgenerics', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-biostrings@2.47.9:', type=('build', 'run'), when='@2.4.1:')
- depends_on('r-curl', type=('build', 'run'))
-
- depends_on('r-annotationhub', type=('build', 'run'), when='@2.0.4:2.2.2')
+ version("2.20.1", commit="e547d184730cfe5e65f59e4f3512395fb1cdba1a")
+ version("2.18.3", commit="e2fcfc0c7700110df070a171d2d542b37ec098f3")
+ version("2.14.0", commit="c7150519ed4ef38e5eac1043209863dbc7be43a1")
+ version("2.8.1", commit="a4d8d89c143dca86b364d59dff8e46cc81c41ac0")
+ version("2.6.8", commit="c2c4f41b4ecc81d5328ce1d380065dfcb5e0c54c")
+ version("2.4.1", commit="b5b6b94826a2f46a4faecb9dde750ecd3bfaf327")
+ version("2.2.2", commit="d71610e58aed88dbbe6a74e7a8ddfb7451398060")
+ version("2.0.4", commit="514623d71e3cca7a4e547adb579b5a958702ef86")
+
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.20.1:")
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.21:", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.18:", type=("build", "run"), when="@2.4.1:")
+ depends_on("r-genomicfeatures@1.23.18:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.29.10:", type=("build", "run"), when="@2.2.2:")
+ depends_on("r-annotationfilter@0.99.7:", type=("build", "run"))
+ depends_on("r-annotationfilter@1.1.9:", type=("build", "run"), when="@2.2.2:")
+ depends_on("r-annotationfilter@1.5.2:", type=("build", "run"), when="@2.6.8:")
+ depends_on("r-rsqlite@1.1:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-annotationdbi@1.31.19:", type=("build", "run"))
+ depends_on("r-rtracklayer", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-s4vectors@0.23.10:", type=("build", "run"), when="@2.14.0:")
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@2.2.2:")
+ depends_on("r-iranges@2.13.24:", type=("build", "run"), when="@2.4.1:")
+ depends_on("r-protgenerics", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-biostrings@2.47.9:", type=("build", "run"), when="@2.4.1:")
+ depends_on("r-curl", type=("build", "run"))
+
+ depends_on("r-annotationhub", type=("build", "run"), when="@2.0.4:2.2.2")
diff --git a/var/spack/repos/builtin/packages/r-envstats/package.py b/var/spack/repos/builtin/packages/r-envstats/package.py
index 812fb58a0a..e9b51d3f22 100644
--- a/var/spack/repos/builtin/packages/r-envstats/package.py
+++ b/var/spack/repos/builtin/packages/r-envstats/package.py
@@ -23,14 +23,14 @@ class REnvstats(RPackage):
cran = "EnvStats"
- version('2.7.0', sha256='09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81')
- version('2.5.0', sha256='4f77aa66c9dbbe411370a6dd5b9e514823d5506bbcdad9dc09a9e4268d65a7f7')
- version('2.4.0', sha256='49459e76412037b3d8021bd83ee93d140bc3e715a2a2282a347ef60061900514')
- version('2.3.1', sha256='d753d42b42ff28c1cd25c63916fb2aa9e325941672fb16f7dfd97e218416cf2a')
- version('2.3.0', sha256='51b7c982b4ffc6506579ec6933c817b780b8dade9f5e7754122e4132cb677a75')
- version('2.2.1', sha256='bbad7736272a404302190ccf1095abd8674d4366f3827a1c0a9540bcafe0523e')
+ version("2.7.0", sha256="09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81")
+ version("2.5.0", sha256="4f77aa66c9dbbe411370a6dd5b9e514823d5506bbcdad9dc09a9e4268d65a7f7")
+ version("2.4.0", sha256="49459e76412037b3d8021bd83ee93d140bc3e715a2a2282a347ef60061900514")
+ version("2.3.1", sha256="d753d42b42ff28c1cd25c63916fb2aa9e325941672fb16f7dfd97e218416cf2a")
+ version("2.3.0", sha256="51b7c982b4ffc6506579ec6933c817b780b8dade9f5e7754122e4132cb677a75")
+ version("2.2.1", sha256="bbad7736272a404302190ccf1095abd8674d4366f3827a1c0a9540bcafe0523e")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-nortest', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-nortest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ergm/package.py b/var/spack/repos/builtin/packages/r-ergm/package.py
index d3a3078c06..4578a95854 100644
--- a/var/spack/repos/builtin/packages/r-ergm/package.py
+++ b/var/spack/repos/builtin/packages/r-ergm/package.py
@@ -17,49 +17,49 @@ class RErgm(RPackage):
cran = "ergm"
- version('4.2.2', sha256='ced92b0a32c78c85546d665c32fb3993fe77a3809aa88f43c3eee39e2577f2f0')
- version('4.2.1', sha256='484769eb69d127a9e9adf5c1c8c88106d5fbaf4aaf2f915621d7f043c7cab0f5')
- version('4.1.2', sha256='1abc6ef53376a4132530c376ce477ae7a2590e95fe8feb011c0da9cfb4d49ba0')
- version('3.11.0', sha256='4e5506b44badc2343be3657acbf2bca51b47d7c187ff499d5a5e70a9811fe9f2')
- version('3.10.4', sha256='885f0b1a23c5a2c1947962350cfab66683dfdfd1db173c115e90396d00831f22')
- version('3.10.1', sha256='a2ac249ff07ba55b3359242f20389a892543b4fff5956d74143d2d41fa6d4beb')
- version('3.7.1', sha256='91dd011953b93ecb2b84bb3ababe7bddae25d9d86e69337156effd1da84b54c3')
+ version("4.2.2", sha256="ced92b0a32c78c85546d665c32fb3993fe77a3809aa88f43c3eee39e2577f2f0")
+ version("4.2.1", sha256="484769eb69d127a9e9adf5c1c8c88106d5fbaf4aaf2f915621d7f043c7cab0f5")
+ version("4.1.2", sha256="1abc6ef53376a4132530c376ce477ae7a2590e95fe8feb011c0da9cfb4d49ba0")
+ version("3.11.0", sha256="4e5506b44badc2343be3657acbf2bca51b47d7c187ff499d5a5e70a9811fe9f2")
+ version("3.10.4", sha256="885f0b1a23c5a2c1947962350cfab66683dfdfd1db173c115e90396d00831f22")
+ version("3.10.1", sha256="a2ac249ff07ba55b3359242f20389a892543b4fff5956d74143d2d41fa6d4beb")
+ version("3.7.1", sha256="91dd011953b93ecb2b84bb3ababe7bddae25d9d86e69337156effd1da84b54c3")
- depends_on('r@3.5:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r@4.0:', type=('build', 'run'), when='@4.2.1:')
- depends_on('r-network@1.15:', type=('build', 'run'))
- depends_on('r-network@1.17:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-robustbase@0.93-5:', type=('build', 'run'))
- depends_on('r-robustbase@0.93-7:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-coda@0.19-2:', type=('build', 'run'))
- depends_on('r-coda@0.19-4:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-trust@0.1.7:', type=('build', 'run'))
- depends_on('r-trust@0.1.8:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-matrix@1.2-17:', type=('build', 'run'))
- depends_on('r-matrix@1.3.2:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-lpsolveapi@5.5.2.0.17.7:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-mass@7.3-51.4:', type=('build', 'run'))
- depends_on('r-mass@7.3.53.1:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-statnet-common@4.3.0:', type=('build', 'run'))
- depends_on('r-statnet-common@4.4.0:', type=('build', 'run'), when='@3.11.0:')
- depends_on('r-statnet-common@4.5.0:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-statnet-common@4.6.0:', type=('build', 'run'), when='@4.2.1:')
- depends_on('r-rle', type=('build', 'run'), when='@3.11.0:')
- depends_on('r-rle@0.9.2:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-purrr@0.3.2:', type=('build', 'run'), when='@3.10.0:')
- depends_on('r-purrr@0.3.4:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-rlang@0.3.4:', type=('build', 'run'), when='@3.10.0:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-memoise@2.0.0:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-tibble@2.1.1:', type=('build', 'run'), when='@3.10.0:')
- depends_on('r-tibble@3.1.0:', type=('build', 'run'), when='@4.1.2:')
- depends_on('r-magrittr@2.0.1:', type=('build', 'run'), when='@4.2.1:')
- depends_on('r-knitr', type=('build', 'run'), when='@4.2.1:')
- depends_on('r-digest', type=('build', 'run'), when='@4.2.1:')
- depends_on('r-stringr', type=('build', 'run'), when='@4.2.1:')
+ depends_on("r@3.5:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r@4.0:", type=("build", "run"), when="@4.2.1:")
+ depends_on("r-network@1.15:", type=("build", "run"))
+ depends_on("r-network@1.17:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-robustbase@0.93-5:", type=("build", "run"))
+ depends_on("r-robustbase@0.93-7:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-coda@0.19-2:", type=("build", "run"))
+ depends_on("r-coda@0.19-4:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-trust@0.1.7:", type=("build", "run"))
+ depends_on("r-trust@0.1.8:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-matrix@1.2-17:", type=("build", "run"))
+ depends_on("r-matrix@1.3.2:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-lpsolveapi@5.5.2.0.17.7:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-mass@7.3-51.4:", type=("build", "run"))
+ depends_on("r-mass@7.3.53.1:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-statnet-common@4.3.0:", type=("build", "run"))
+ depends_on("r-statnet-common@4.4.0:", type=("build", "run"), when="@3.11.0:")
+ depends_on("r-statnet-common@4.5.0:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-statnet-common@4.6.0:", type=("build", "run"), when="@4.2.1:")
+ depends_on("r-rle", type=("build", "run"), when="@3.11.0:")
+ depends_on("r-rle@0.9.2:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-purrr@0.3.2:", type=("build", "run"), when="@3.10.0:")
+ depends_on("r-purrr@0.3.4:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-rlang@0.3.4:", type=("build", "run"), when="@3.10.0:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-memoise@2.0.0:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-tibble@2.1.1:", type=("build", "run"), when="@3.10.0:")
+ depends_on("r-tibble@3.1.0:", type=("build", "run"), when="@4.1.2:")
+ depends_on("r-magrittr@2.0.1:", type=("build", "run"), when="@4.2.1:")
+ depends_on("r-knitr", type=("build", "run"), when="@4.2.1:")
+ depends_on("r-digest", type=("build", "run"), when="@4.2.1:")
+ depends_on("r-stringr", type=("build", "run"), when="@4.2.1:")
- depends_on('r-dplyr@0.8.0.1:', type=('build', 'run'), when='@3.10.0:3.10.4')
- depends_on('r-lpsolve@5.6.13:', type=('build', 'run'), when='@:3.11.0')
+ depends_on("r-dplyr@0.8.0.1:", type=("build", "run"), when="@3.10.0:3.10.4")
+ depends_on("r-lpsolve@5.6.13:", type=("build", "run"), when="@:3.11.0")
# The CRAN page list OpenMPI as a dependency but this is not a dependency
# for using the package. If one wishes to use MPI, simply load an MPI
diff --git a/var/spack/repos/builtin/packages/r-estimability/package.py b/var/spack/repos/builtin/packages/r-estimability/package.py
index a8f5eec781..e01dc31fa3 100644
--- a/var/spack/repos/builtin/packages/r-estimability/package.py
+++ b/var/spack/repos/builtin/packages/r-estimability/package.py
@@ -17,4 +17,4 @@ class REstimability(RPackage):
cran = "estimability"
- version('1.3', sha256='a33179c5fbd6a1a623d90cb6f1743148f92c09429fac466867f3ea70946a2e32')
+ version("1.3", sha256="a33179c5fbd6a1a623d90cb6f1743148f92c09429fac466867f3ea70946a2e32")
diff --git a/var/spack/repos/builtin/packages/r-europepmc/package.py b/var/spack/repos/builtin/packages/r-europepmc/package.py
index 5e2752e28a..ea38eb37ac 100644
--- a/var/spack/repos/builtin/packages/r-europepmc/package.py
+++ b/var/spack/repos/builtin/packages/r-europepmc/package.py
@@ -23,19 +23,19 @@ class REuropepmc(RPackage):
cran = "europepmc"
- version('0.4.1', sha256='c1ba91a2a99432cabe18e86fea33ac9d20dbb3ac0b58f430d464b4d8ecba4a9a')
- version('0.4', sha256='d55f62963d0ee84830654bbc78f4ad8285e376b04be137cbeaf8ad2a98b7969c')
- version('0.3', sha256='5044a253d223e2bb8502063cd03c0fe4db856467e497d650da7ccd8f75d0f8d9')
+ version("0.4.1", sha256="c1ba91a2a99432cabe18e86fea33ac9d20dbb3ac0b58f430d464b4d8ecba4a9a")
+ version("0.4", sha256="d55f62963d0ee84830654bbc78f4ad8285e376b04be137cbeaf8ad2a98b7969c")
+ version("0.3", sha256="5044a253d223e2bb8502063cd03c0fe4db856467e497d650da7ccd8f75d0f8d9")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-progress', type=('build', 'run'))
- depends_on('r-urltools', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@0.4:')
- depends_on('r-tidyr', type=('build', 'run'), when='@0.4:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.4:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-progress", type=("build", "run"))
+ depends_on("r-urltools", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@0.4:")
+ depends_on("r-tidyr", type=("build", "run"), when="@0.4:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.4:")
diff --git a/var/spack/repos/builtin/packages/r-evaluate/package.py b/var/spack/repos/builtin/packages/r-evaluate/package.py
index 0dbf18e88f..f5b7ec5e52 100644
--- a/var/spack/repos/builtin/packages/r-evaluate/package.py
+++ b/var/spack/repos/builtin/packages/r-evaluate/package.py
@@ -14,12 +14,12 @@ class REvaluate(RPackage):
cran = "evaluate"
- version('0.15', sha256='885aee530a8b6aa7fd3acaa1ecd94ab58b71038c879ca37405f948e105907c5d')
- version('0.14', sha256='a8c88bdbe4e60046d95ddf7e181ee15a6f41cdf92127c9678f6f3d328a3c5e28')
- version('0.10.1', sha256='c9a763895d3f460dbf87c43a6469e4b41a251a74477df8c5d7e7d2b66cdd1b1c')
- version('0.10', sha256='6163baeb382c2c1e87d4e36a2e986ef74673d8a92ea8508c39ac662ff3519657')
- version('0.9', sha256='e8118c9d6ec479c0e712913848404431b6b6c0282f3c131acaf9a677ab5fc6ae')
+ version("0.15", sha256="885aee530a8b6aa7fd3acaa1ecd94ab58b71038c879ca37405f948e105907c5d")
+ version("0.14", sha256="a8c88bdbe4e60046d95ddf7e181ee15a6f41cdf92127c9678f6f3d328a3c5e28")
+ version("0.10.1", sha256="c9a763895d3f460dbf87c43a6469e4b41a251a74477df8c5d7e7d2b66cdd1b1c")
+ version("0.10", sha256="6163baeb382c2c1e87d4e36a2e986ef74673d8a92ea8508c39ac662ff3519657")
+ version("0.9", sha256="e8118c9d6ec479c0e712913848404431b6b6c0282f3c131acaf9a677ab5fc6ae")
- depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
- depends_on('r-stringr@0.6.2:', type=('build', 'run'), when='@:0.11')
+ depends_on("r-stringr@0.6.2:", type=("build", "run"), when="@:0.11")
diff --git a/var/spack/repos/builtin/packages/r-evd/package.py b/var/spack/repos/builtin/packages/r-evd/package.py
index 43c73e5c67..6ef79a8108 100644
--- a/var/spack/repos/builtin/packages/r-evd/package.py
+++ b/var/spack/repos/builtin/packages/r-evd/package.py
@@ -17,5 +17,5 @@ class REvd(RPackage):
cran = "evd"
- version('2.3-6', sha256='8edb8bc4f06d246c4343fd923bb5d5df99724d6db8821bfd996220343a834cb6')
- version('2.3-3', sha256='2fc5ef2e0c3a2a9392425ddd45914445497433d90fb80b8c363877baee4559b4')
+ version("2.3-6", sha256="8edb8bc4f06d246c4343fd923bb5d5df99724d6db8821bfd996220343a834cb6")
+ version("2.3-3", sha256="2fc5ef2e0c3a2a9392425ddd45914445497433d90fb80b8c363877baee4559b4")
diff --git a/var/spack/repos/builtin/packages/r-exactextractr/package.py b/var/spack/repos/builtin/packages/r-exactextractr/package.py
index fe0b043ade..5a03b0267f 100644
--- a/var/spack/repos/builtin/packages/r-exactextractr/package.py
+++ b/var/spack/repos/builtin/packages/r-exactextractr/package.py
@@ -14,15 +14,15 @@ class RExactextractr(RPackage):
cran = "exactextractr"
- version('0.8.2', sha256='cc32ab3af8d881a7e7836c296ea42f3fdabf3373ec1de0b154dbfe9870ee8a74')
- version('0.7.2', sha256='2eb2b5eb2156cca875e7004b80687589217abd6fce5ebb7d8acb7fa71f6e6958')
- version('0.5.1', sha256='47ddfb4b9e42e86957e03b1c745d657978d7c4bed12ed3aa053e1bc89f20616d')
- version('0.3.0', sha256='c7fb38b38b9dc8b3ca5b8f1f84f4ba3256efd331f2b4636b496d42689ffc3fb0')
- version('0.2.1', sha256='d0b998c77c3fd9265a600a0e08e9bf32a2490a06c19df0d0c0dea4b5c9ab5773')
+ version("0.8.2", sha256="cc32ab3af8d881a7e7836c296ea42f3fdabf3373ec1de0b154dbfe9870ee8a74")
+ version("0.7.2", sha256="2eb2b5eb2156cca875e7004b80687589217abd6fce5ebb7d8acb7fa71f6e6958")
+ version("0.5.1", sha256="47ddfb4b9e42e86957e03b1c745d657978d7c4bed12ed3aa053e1bc89f20616d")
+ version("0.3.0", sha256="c7fb38b38b9dc8b3ca5b8f1f84f4ba3256efd331f2b4636b496d42689ffc3fb0")
+ version("0.2.1", sha256="d0b998c77c3fd9265a600a0e08e9bf32a2490a06c19df0d0c0dea4b5c9ab5773")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.12:', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-sf@0.9.0:', type=('build', 'run'), when='@0.7.2:')
- depends_on('geos@3.5.0:')
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.12:", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-sf@0.9.0:", type=("build", "run"), when="@0.7.2:")
+ depends_on("geos@3.5.0:")
diff --git a/var/spack/repos/builtin/packages/r-exomecopy/package.py b/var/spack/repos/builtin/packages/r-exomecopy/package.py
index 4f287ae29f..faf211f5c7 100644
--- a/var/spack/repos/builtin/packages/r-exomecopy/package.py
+++ b/var/spack/repos/builtin/packages/r-exomecopy/package.py
@@ -17,12 +17,12 @@ class RExomecopy(RPackage):
bioc = "exomeCopy"
- version('1.42.0', commit='ba0979cf5fbdefed841022f2dc0604941315c1b8')
- version('1.40.0', commit='ebde39be67baace2c326359421fd17f4a02fd4fe')
- version('1.36.0', commit='cbe3134acbbc9b7d5426ae2f142dc64cadb3fc26')
- version('1.32.0', commit='c9a884427d91b6d62ddc16a939bd808e389d3ea6')
+ version("1.42.0", commit="ba0979cf5fbdefed841022f2dc0604941315c1b8")
+ version("1.40.0", commit="ebde39be67baace2c326359421fd17f4a02fd4fe")
+ version("1.36.0", commit="cbe3134acbbc9b7d5426ae2f142dc64cadb3fc26")
+ version("1.32.0", commit="c9a884427d91b6d62ddc16a939bd808e389d3ea6")
- depends_on('r-iranges@2.5.27:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.16:', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
+ depends_on("r-iranges@2.5.27:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.16:", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-exomedepth/package.py b/var/spack/repos/builtin/packages/r-exomedepth/package.py
index 4a57e56269..10a0ec3634 100644
--- a/var/spack/repos/builtin/packages/r-exomedepth/package.py
+++ b/var/spack/repos/builtin/packages/r-exomedepth/package.py
@@ -15,15 +15,15 @@ class RExomedepth(RPackage):
cran = "ExomeDepth"
- version('1.1.15', sha256='112bcb536f5766d9d0b55e064feedd6727ccab14cb1edfdba1f0d7b890e55ad2')
+ version("1.1.15", sha256="112bcb536f5766d9d0b55e064feedd6727ccab14cb1edfdba1f0d7b890e55ad2")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.0:', type=('build', 'run'))
- depends_on('r-aod', type=('build', 'run'))
- depends_on('r-vgam@0.8.4:', type=('build', 'run'))
- depends_on('r-genomicalignments', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.0:", type=("build", "run"))
+ depends_on("r-aod", type=("build", "run"))
+ depends_on("r-vgam@0.8.4:", type=("build", "run"))
+ depends_on("r-genomicalignments", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-experimenthub/package.py b/var/spack/repos/builtin/packages/r-experimenthub/package.py
index 7bc44a9722..389c047d2a 100644
--- a/var/spack/repos/builtin/packages/r-experimenthub/package.py
+++ b/var/spack/repos/builtin/packages/r-experimenthub/package.py
@@ -18,15 +18,15 @@ class RExperimenthub(RPackage):
bioc = "ExperimentHub"
- version('2.4.0', commit='bdce35d3a89e8633cc395f28991e6b5d1eccbe8e')
- version('2.2.1', commit='4e10686fa72baefef5d2990f41a7c44c527a7a7d')
- version('1.16.1', commit='61d51b7ca968d6cc1befe299e0784d9a19ca51f6')
+ version("2.4.0", commit="bdce35d3a89e8633cc395f28991e6b5d1eccbe8e")
+ version("2.2.1", commit="4e10686fa72baefef5d2990f41a7c44c527a7a7d")
+ version("1.16.1", commit="61d51b7ca968d6cc1befe299e0784d9a19ca51f6")
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-annotationhub@2.19.3:', type=('build', 'run'))
- depends_on('r-annotationhub@3.3.6:', type=('build', 'run'), when='@2.4.0:')
- depends_on('r-biocfilecache@1.5.1:', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-annotationhub@2.19.3:", type=("build", "run"))
+ depends_on("r-annotationhub@3.3.6:", type=("build", "run"), when="@2.4.0:")
+ depends_on("r-biocfilecache@1.5.1:", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-expint/package.py b/var/spack/repos/builtin/packages/r-expint/package.py
index b8160d4190..e6502cf5e9 100644
--- a/var/spack/repos/builtin/packages/r-expint/package.py
+++ b/var/spack/repos/builtin/packages/r-expint/package.py
@@ -20,8 +20,8 @@ class RExpint(RPackage):
cran = "expint"
- version('0.1-7', sha256='7cfbd77e5c8ee2f4be5d12d3dd364819a146cbb6d533a00801a763c2ee51a005')
- version('0.1-6', sha256='c7d13a8e299a91e94622047fe22b0006137e7bf82e34d10871b631fa58115145')
- version('0.1-5', sha256='b03d60938cd6cf615aa3a02b1bf73436785eca89eaff56059ee0807b8244718a')
+ version("0.1-7", sha256="7cfbd77e5c8ee2f4be5d12d3dd364819a146cbb6d533a00801a763c2ee51a005")
+ version("0.1-6", sha256="c7d13a8e299a91e94622047fe22b0006137e7bf82e34d10871b631fa58115145")
+ version("0.1-5", sha256="b03d60938cd6cf615aa3a02b1bf73436785eca89eaff56059ee0807b8244718a")
- depends_on('r@3.3.0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-expm/package.py b/var/spack/repos/builtin/packages/r-expm/package.py
index 2173387fdf..fae6454d09 100644
--- a/var/spack/repos/builtin/packages/r-expm/package.py
+++ b/var/spack/repos/builtin/packages/r-expm/package.py
@@ -14,9 +14,9 @@ class RExpm(RPackage):
cran = "expm"
- version('0.999-6', sha256='2c79912fd2e03fcf89c29f09555880934402fcb2359af8b4579d79b4f955addc')
- version('0.999-4', sha256='58d06427a08c9442462b00a5531e2575800be13ed450c5a1546261251e536096')
- version('0.999-3', sha256='511bac5860cc5b3888bca626cdf23241b6118eabcc82d100935386039e516412')
- version('0.999-2', sha256='38f1e5bfa90f794486789695d0d9e49158c7eb9445dc171dd83dec3d8fa130d6')
+ version("0.999-6", sha256="2c79912fd2e03fcf89c29f09555880934402fcb2359af8b4579d79b4f955addc")
+ version("0.999-4", sha256="58d06427a08c9442462b00a5531e2575800be13ed450c5a1546261251e536096")
+ version("0.999-3", sha256="511bac5860cc5b3888bca626cdf23241b6118eabcc82d100935386039e516412")
+ version("0.999-2", sha256="38f1e5bfa90f794486789695d0d9e49158c7eb9445dc171dd83dec3d8fa130d6")
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-factoextra/package.py b/var/spack/repos/builtin/packages/r-factoextra/package.py
index 151cab505c..08a6711b93 100644
--- a/var/spack/repos/builtin/packages/r-factoextra/package.py
+++ b/var/spack/repos/builtin/packages/r-factoextra/package.py
@@ -20,17 +20,17 @@ class RFactoextra(RPackage):
cran = "factoextra"
- version('1.0.7', sha256='624ff01c74933352aca55966f8a052b1ccc878f52c2c307e47f88e0665db94aa')
- version('1.0.5', sha256='8177a3f5107883ae248b2cd0afa388a1794741f5155a9455b3883788cf44d5d0')
- version('1.0.4', sha256='e4a000a04ef5b9aa0790dc6e5277451c482a19ba10dda9474f6c6982424aeed3')
+ version("1.0.7", sha256="624ff01c74933352aca55966f8a052b1ccc878f52c2c307e47f88e0665db94aa")
+ version("1.0.5", sha256="8177a3f5107883ae248b2cd0afa388a1794741f5155a9455b3883788cf44d5d0")
+ version("1.0.4", sha256="e4a000a04ef5b9aa0790dc6e5277451c482a19ba10dda9474f6c6982424aeed3")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-dendextend', type=('build', 'run'))
- depends_on('r-factominer', type=('build', 'run'))
- depends_on('r-ggpubr@0.1.5:', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-ggrepel', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-dendextend", type=("build", "run"))
+ depends_on("r-factominer", type=("build", "run"))
+ depends_on("r-ggpubr@0.1.5:", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-ggrepel", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-factominer/package.py b/var/spack/repos/builtin/packages/r-factominer/package.py
index a099a8de9b..ce9ac761e5 100644
--- a/var/spack/repos/builtin/packages/r-factominer/package.py
+++ b/var/spack/repos/builtin/packages/r-factominer/package.py
@@ -20,25 +20,25 @@ class RFactominer(RPackage):
cran = "FactoMineR"
- version('2.4', sha256='b9e3adce9a66b4daccc85fa67cb0769d6be230beeb126921b386ccde5db2e851')
- version('1.42', sha256='4cd9efb3681767c3bd48ddc3504ebead1493fcbbc0a9f759a00955b16c3481fa')
- version('1.41', sha256='a9889d69e298b8a01e8d0a5a54260730e742c95681e367d759829aad9a8740c0')
- version('1.40', sha256='68cb778fe7581b55666a5ae4aa7a5e7fa3ecbd133ae8cff1b2371a737b6d95e8')
- version('1.39', sha256='b0bb1d6d7d1f3cb11a4b63c377321e10078a36f29bc78dfa3b80c7c149f4a08a')
- version('1.38', sha256='f13059c84c53f8761bd5a61e980f8609e2119e36c5d35233fc2baac93268086f')
- version('1.36', sha256='2198c3facaa41a23df6f9373d4ccb636b98a8810896e379e5deb686ab31b36de')
- version('1.35', sha256='afe176fe561d1d16c5965ecb2b80ec90a56d0fbcd75c43ec8025a401a5b715a9')
+ version("2.4", sha256="b9e3adce9a66b4daccc85fa67cb0769d6be230beeb126921b386ccde5db2e851")
+ version("1.42", sha256="4cd9efb3681767c3bd48ddc3504ebead1493fcbbc0a9f759a00955b16c3481fa")
+ version("1.41", sha256="a9889d69e298b8a01e8d0a5a54260730e742c95681e367d759829aad9a8740c0")
+ version("1.40", sha256="68cb778fe7581b55666a5ae4aa7a5e7fa3ecbd133ae8cff1b2371a737b6d95e8")
+ version("1.39", sha256="b0bb1d6d7d1f3cb11a4b63c377321e10078a36f29bc78dfa3b80c7c149f4a08a")
+ version("1.38", sha256="f13059c84c53f8761bd5a61e980f8609e2119e36c5d35233fc2baac93268086f")
+ version("1.36", sha256="2198c3facaa41a23df6f9373d4ccb636b98a8810896e379e5deb686ab31b36de")
+ version("1.35", sha256="afe176fe561d1d16c5965ecb2b80ec90a56d0fbcd75c43ec8025a401a5b715a9")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.4:')
- depends_on('r-car', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-dt', type=('build', 'run'), when='@2.4:')
- depends_on('r-ellipse', type=('build', 'run'))
- depends_on('r-flashclust', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-leaps', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-scatterplot3d', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'), when='@2.4:')
- depends_on('r-ggrepel', type=('build', 'run'), when='@2.4:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.4:")
+ depends_on("r-car", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-dt", type=("build", "run"), when="@2.4:")
+ depends_on("r-ellipse", type=("build", "run"))
+ depends_on("r-flashclust", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-leaps", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-scatterplot3d", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"), when="@2.4:")
+ depends_on("r-ggrepel", type=("build", "run"), when="@2.4:")
diff --git a/var/spack/repos/builtin/packages/r-fansi/package.py b/var/spack/repos/builtin/packages/r-fansi/package.py
index d51726271a..4ef3a5ac68 100644
--- a/var/spack/repos/builtin/packages/r-fansi/package.py
+++ b/var/spack/repos/builtin/packages/r-fansi/package.py
@@ -14,14 +14,14 @@ class RFansi(RPackage):
cran = "fansi"
- version('1.0.3', sha256='86a7b83d8c9d28baebbde310cd0b459d0950a9c7ff1a6276ce5858f6a89bc06a')
- version('1.0.2', sha256='d1e2cf2e10613abe19071e3dab7c564ebcf85ad13cbee25fa1999267af01b557')
- version('0.5.0', sha256='9d1bf8c316969c163abd3dd41cc1425b2671df9471fe806bf8783794a19ca54f')
- version('0.4.1', sha256='3c69eec803a3827e5227f9cf084976eeb738b22c7eb7665bb5faa251bce41e09')
- version('0.4.0', sha256='e104e9d01c7ff8a847f6b332ef544c0ef912859f9c6a514fe2e6f3b34fcfc209')
- version('0.3.0', sha256='dd6401d5c91ff4c45d752cceddd5379d1ae39a8a1196f236b0bc0ec6d691b88c')
- version('0.2.3', sha256='db6dfef8bfe6682d58b654b6a6a1d59cb07225ca41755176b465ab8611fd96c9')
- version('0.2.2', sha256='71dfdda467985a4d630ecf93d4bc60446a8a78d69dbd7ac24cc45822329d4bce')
- version('0.2.1', sha256='abe709d69ddd6610aaa24e049c7a97c16a2c2dbe0873d4e3b8af57e486ef05c5')
+ version("1.0.3", sha256="86a7b83d8c9d28baebbde310cd0b459d0950a9c7ff1a6276ce5858f6a89bc06a")
+ version("1.0.2", sha256="d1e2cf2e10613abe19071e3dab7c564ebcf85ad13cbee25fa1999267af01b557")
+ version("0.5.0", sha256="9d1bf8c316969c163abd3dd41cc1425b2671df9471fe806bf8783794a19ca54f")
+ version("0.4.1", sha256="3c69eec803a3827e5227f9cf084976eeb738b22c7eb7665bb5faa251bce41e09")
+ version("0.4.0", sha256="e104e9d01c7ff8a847f6b332ef544c0ef912859f9c6a514fe2e6f3b34fcfc209")
+ version("0.3.0", sha256="dd6401d5c91ff4c45d752cceddd5379d1ae39a8a1196f236b0bc0ec6d691b88c")
+ version("0.2.3", sha256="db6dfef8bfe6682d58b654b6a6a1d59cb07225ca41755176b465ab8611fd96c9")
+ version("0.2.2", sha256="71dfdda467985a4d630ecf93d4bc60446a8a78d69dbd7ac24cc45822329d4bce")
+ version("0.2.1", sha256="abe709d69ddd6610aaa24e049c7a97c16a2c2dbe0873d4e3b8af57e486ef05c5")
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-farver/package.py b/var/spack/repos/builtin/packages/r-farver/package.py
index 08d2adbe68..1996988aa8 100644
--- a/var/spack/repos/builtin/packages/r-farver/package.py
+++ b/var/spack/repos/builtin/packages/r-farver/package.py
@@ -19,6 +19,6 @@ class RFarver(RPackage):
cran = "farver"
- version('2.1.0', sha256='e5c8630607049f682fb3002b99ca4f5e7c6b94f8b2a4342df594e7853b77cef4')
- version('2.0.3', sha256='0e1590df79ec6078f10426411b96216b70568a4eaf3ffd84ca723add0ed8e5cc')
- version('2.0.1', sha256='71473e21727357084c6aec4bb9bb258a6797a0f676b4b27504a03f16aa2f4e54')
+ version("2.1.0", sha256="e5c8630607049f682fb3002b99ca4f5e7c6b94f8b2a4342df594e7853b77cef4")
+ version("2.0.3", sha256="0e1590df79ec6078f10426411b96216b70568a4eaf3ffd84ca723add0ed8e5cc")
+ version("2.0.1", sha256="71473e21727357084c6aec4bb9bb258a6797a0f676b4b27504a03f16aa2f4e54")
diff --git a/var/spack/repos/builtin/packages/r-fastcluster/package.py b/var/spack/repos/builtin/packages/r-fastcluster/package.py
index ba803824f5..8ae0ce0bd7 100644
--- a/var/spack/repos/builtin/packages/r-fastcluster/package.py
+++ b/var/spack/repos/builtin/packages/r-fastcluster/package.py
@@ -22,7 +22,7 @@ class RFastcluster(RPackage):
cran = "fastcluster"
- version('1.2.3', sha256='1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01')
- version('1.1.25', sha256='f3661def975802f3dd3cec5b2a1379f3707eacff945cf448e33aec0da1ed4205')
+ version("1.2.3", sha256="1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01")
+ version("1.1.25", sha256="f3661def975802f3dd3cec5b2a1379f3707eacff945cf448e33aec0da1ed4205")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fastdigest/package.py b/var/spack/repos/builtin/packages/r-fastdigest/package.py
index b0a0bc7bbd..a20d5b2672 100644
--- a/var/spack/repos/builtin/packages/r-fastdigest/package.py
+++ b/var/spack/repos/builtin/packages/r-fastdigest/package.py
@@ -19,6 +19,6 @@ class RFastdigest(RPackage):
cran = "fastdigest"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.6-3', sha256='62a04aa39f751cf9bb7ff43cadb3c1a8d2270d7f3e8550a2d6ca9e1d8ca09a09')
+ version("0.6-3", sha256="62a04aa39f751cf9bb7ff43cadb3c1a8d2270d7f3e8550a2d6ca9e1d8ca09a09")
diff --git a/var/spack/repos/builtin/packages/r-fastica/package.py b/var/spack/repos/builtin/packages/r-fastica/package.py
index a84f88e68d..cb6830d131 100644
--- a/var/spack/repos/builtin/packages/r-fastica/package.py
+++ b/var/spack/repos/builtin/packages/r-fastica/package.py
@@ -14,8 +14,8 @@ class RFastica(RPackage):
cran = "fastICA"
- version('1.2-3', sha256='e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950')
- version('1.2-2', sha256='32223593374102bf54c8fdca7b57231e4f4d0dd0be02d9f3500ad41b1996f1fe')
+ version("1.2-3", sha256="e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950")
+ version("1.2-2", sha256="32223593374102bf54c8fdca7b57231e4f4d0dd0be02d9f3500ad41b1996f1fe")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.2-3:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.2-3:")
diff --git a/var/spack/repos/builtin/packages/r-fastmap/package.py b/var/spack/repos/builtin/packages/r-fastmap/package.py
index 5a38990f71..a899999e7a 100644
--- a/var/spack/repos/builtin/packages/r-fastmap/package.py
+++ b/var/spack/repos/builtin/packages/r-fastmap/package.py
@@ -18,5 +18,5 @@ class RFastmap(RPackage):
cran = "fastmap"
- version('1.1.0', sha256='9113e526b4c096302cfeae660a06de2c4c82ae4e2d3d6ef53af6de812d4c822b')
- version('1.0.1', sha256='4778b05dfebd356f8df980dfeff3b973a72bca14898f870e5c40c1d84db9faec')
+ version("1.1.0", sha256="9113e526b4c096302cfeae660a06de2c4c82ae4e2d3d6ef53af6de812d4c822b")
+ version("1.0.1", sha256="4778b05dfebd356f8df980dfeff3b973a72bca14898f870e5c40c1d84db9faec")
diff --git a/var/spack/repos/builtin/packages/r-fastmatch/package.py b/var/spack/repos/builtin/packages/r-fastmatch/package.py
index f07bb965af..58bcbb9c0b 100644
--- a/var/spack/repos/builtin/packages/r-fastmatch/package.py
+++ b/var/spack/repos/builtin/packages/r-fastmatch/package.py
@@ -16,7 +16,7 @@ class RFastmatch(RPackage):
cran = "fastmatch"
- version('1.1-3', sha256='1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861')
- version('1.1-0', sha256='20b51aa4838dbe829e11e951444a9c77257dcaf85130807508f6d7e76797007d')
+ version("1.1-3", sha256="1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861")
+ version("1.1-0", sha256="20b51aa4838dbe829e11e951444a9c77257dcaf85130807508f6d7e76797007d")
- depends_on('r@2.3.0:', type=('build', 'run'), when='@1.1-3:')
+ depends_on("r@2.3.0:", type=("build", "run"), when="@1.1-3:")
diff --git a/var/spack/repos/builtin/packages/r-fastmatrix/package.py b/var/spack/repos/builtin/packages/r-fastmatrix/package.py
index 2a4ffc40aa..8f74816c6e 100644
--- a/var/spack/repos/builtin/packages/r-fastmatrix/package.py
+++ b/var/spack/repos/builtin/packages/r-fastmatrix/package.py
@@ -28,8 +28,8 @@ class RFastmatrix(RPackage):
cran = "fastmatrix"
- version('0.4-1', sha256='494a1aad38dcec28956eba8d095c964b20c5388dfb6dc2a23848ae37ea61cde5')
- version('0.3-8196', sha256='72fae07c627b995a091ccc3e14b2b2167474e3b1f14d723e87252538cf978fb6')
- version('0.3', sha256='d92e789454a129db5f6f5b23e0d2245f3d55ff34b167427af265b9a6331e7c21')
+ version("0.4-1", sha256="494a1aad38dcec28956eba8d095c964b20c5388dfb6dc2a23848ae37ea61cde5")
+ version("0.3-8196", sha256="72fae07c627b995a091ccc3e14b2b2167474e3b1f14d723e87252538cf978fb6")
+ version("0.3", sha256="d92e789454a129db5f6f5b23e0d2245f3d55ff34b167427af265b9a6331e7c21")
- depends_on('r@3.5.0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fda/package.py b/var/spack/repos/builtin/packages/r-fda/package.py
index e84c3580d9..683779109a 100644
--- a/var/spack/repos/builtin/packages/r-fda/package.py
+++ b/var/spack/repos/builtin/packages/r-fda/package.py
@@ -13,15 +13,15 @@ class RFda(RPackage):
These functions were developed to support functional data
analysis as described in Ramsay, J. O. and Silverman, B. W. (2005)
Functional Data Analysis. New York: Springer and in Ramsay, J. O.,
- Hooker, Giles, and Graves, Spencer (2009). """
+ Hooker, Giles, and Graves, Spencer (2009)."""
- cran = 'fda'
+ cran = "fda"
- version('6.0.3', sha256='205814b9812664e8201221f99e0e8391aa49dba2ae287dc404c57c0c492477d3')
- version('5.5.1', sha256='dcaa2f6ae226d35855bc79c6967f60d45404b984c0afaec215b139c4b8dea23a')
+ version("6.0.3", sha256="205814b9812664e8201221f99e0e8391aa49dba2ae287dc404c57c0c492477d3")
+ version("5.5.1", sha256="dcaa2f6ae226d35855bc79c6967f60d45404b984c0afaec215b139c4b8dea23a")
- depends_on('r@3.5:', type=('build', 'run'))
- depends_on('r-fds', type=('build', 'run'))
- depends_on('r-desolve', type=('build', 'run'))
+ depends_on("r@3.5:", type=("build", "run"))
+ depends_on("r-fds", type=("build", "run"))
+ depends_on("r-desolve", type=("build", "run"))
- depends_on('r-matrix', type=('build', 'run'), when='@5.5.1')
+ depends_on("r-matrix", type=("build", "run"), when="@5.5.1")
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 3480126107..eec5f7092d 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
@@ -15,11 +15,11 @@ class RFdbInfiniummethylationHg18(RPackage):
bioc = "FDb.InfiniumMethylation.hg18"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/FDb.InfiniumMethylation.hg18_2.2.0.tar.gz"
- version('2.2.0', sha256='4a9028ac03c11fffbab731ea750bc7f9b0884fc43c6a8dac6eb2c644e4c79f6f')
+ version("2.2.0", sha256="4a9028ac03c11fffbab731ea750bc7f9b0884fc43c6a8dac6eb2c644e4c79f6f")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.7.22:', type=('build', 'run'))
- depends_on('r-txdb-hsapiens-ucsc-hg18-knowngene', type=('build', 'run'))
- depends_on('r-org-hs-eg-db', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.7.22:", type=("build", "run"))
+ depends_on("r-txdb-hsapiens-ucsc-hg18-knowngene", type=("build", "run"))
+ depends_on("r-org-hs-eg-db", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg19/package.py b/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg19/package.py
index da8ff58bf8..15b1c2b7a2 100644
--- a/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg19/package.py
+++ b/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg19/package.py
@@ -15,11 +15,11 @@ class RFdbInfiniummethylationHg19(RPackage):
bioc = "FDb.InfiniumMethylation.hg19"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/FDb.InfiniumMethylation.hg19_2.2.0.tar.gz"
- version('2.2.0', sha256='605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f')
+ version("2.2.0", sha256="605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.7.22:', type=('build', 'run'))
- depends_on('r-txdb-hsapiens-ucsc-hg19-knowngene', type=('build', 'run'))
- depends_on('r-org-hs-eg-db', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.7.22:", type=("build", "run"))
+ depends_on("r-txdb-hsapiens-ucsc-hg19-knowngene", type=("build", "run"))
+ depends_on("r-org-hs-eg-db", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fds/package.py b/var/spack/repos/builtin/packages/r-fds/package.py
index e4924c061c..ed1ea52d11 100644
--- a/var/spack/repos/builtin/packages/r-fds/package.py
+++ b/var/spack/repos/builtin/packages/r-fds/package.py
@@ -10,10 +10,10 @@ from spack.package import *
class RFds(RPackage):
"""Functional data sets."""
- cran = 'fds'
+ cran = "fds"
- version('1.8', sha256='203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489')
+ version("1.8", sha256="203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-rcurl', type=('build', 'run'))
- depends_on('r-rainbow', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-rcurl", type=("build", "run"))
+ depends_on("r-rainbow", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ff/package.py b/var/spack/repos/builtin/packages/r-ff/package.py
index e20f3edee0..541846b23e 100644
--- a/var/spack/repos/builtin/packages/r-ff/package.py
+++ b/var/spack/repos/builtin/packages/r-ff/package.py
@@ -50,18 +50,18 @@ class RFf(RPackage):
subscript information ('bit', 'bitwhich', ff 'boolean', ri range index, hi
hybrid index). This allows to work interactively with selections of large
datasets and quickly modify selection criteria. Further high-performance
- enhancements can be made available upon request.x """
+ enhancements can be made available upon request.x"""
cran = "ff"
- version('4.0.7', sha256='0a47333d31c7afc3f95387166e21a3e4c763cbef47d9b5927753aef4ff8d83fa')
- version('4.0.5', sha256='9aba9e271144ec224063ddba0d791e2fcdb9c912d48fdc49e204fce628355037')
- version('4.0.4', sha256='22ecf1811263f27c9fd9f7e13e77f97dcbc0b8ae6f59b76dbaed77569c13d2e5')
- version('2.2-14', sha256='1c6307847275b1b8ad9e2ffdce3f4df3c9d955dc2e8a45e3fd7bfd2b0926e2f0')
- version('2.2-13', sha256='8bfb08afe0651ef3c23aaad49208146d5f929af5af12a25262fe7743fa346ddb')
+ version("4.0.7", sha256="0a47333d31c7afc3f95387166e21a3e4c763cbef47d9b5927753aef4ff8d83fa")
+ version("4.0.5", sha256="9aba9e271144ec224063ddba0d791e2fcdb9c912d48fdc49e204fce628355037")
+ version("4.0.4", sha256="22ecf1811263f27c9fd9f7e13e77f97dcbc0b8ae6f59b76dbaed77569c13d2e5")
+ version("2.2-14", sha256="1c6307847275b1b8ad9e2ffdce3f4df3c9d955dc2e8a45e3fd7bfd2b0926e2f0")
+ version("2.2-13", sha256="8bfb08afe0651ef3c23aaad49208146d5f929af5af12a25262fe7743fa346ddb")
- depends_on('r@2.10.1:', type=('build', 'run'))
- depends_on('r-bit@1.1-13:', type=('build', 'run'))
- depends_on('r-bit@4.0.0:', type=('build', 'run'), when='@4.0.4:')
+ depends_on("r@2.10.1:", type=("build", "run"))
+ depends_on("r-bit@1.1-13:", type=("build", "run"))
+ depends_on("r-bit@4.0.0:", type=("build", "run"), when="@4.0.4:")
- patch('utk_platform_macros.hpp.patch', when='target=aarch64:')
+ patch("utk_platform_macros.hpp.patch", when="target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/r-fftwtools/package.py b/var/spack/repos/builtin/packages/r-fftwtools/package.py
index 8c09a9d2f0..4c1230e8ff 100644
--- a/var/spack/repos/builtin/packages/r-fftwtools/package.py
+++ b/var/spack/repos/builtin/packages/r-fftwtools/package.py
@@ -20,10 +20,10 @@ class RFftwtools(RPackage):
cran = "fftwtools"
- version('0.9-11', sha256='f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f')
- version('0.9-9', sha256='a9273b7e495d228d740ab4525467e4bbefe8614bd2d97e7234017f1305f51441')
- version('0.9-8', sha256='4641c8cd70938c2a8bde0b6da6cf7f83e96175ef52f1ca42ec3920a1dabf1bdb')
+ version("0.9-11", sha256="f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f")
+ version("0.9-9", sha256="a9273b7e495d228d740ab4525467e4bbefe8614bd2d97e7234017f1305f51441")
+ version("0.9-8", sha256="4641c8cd70938c2a8bde0b6da6cf7f83e96175ef52f1ca42ec3920a1dabf1bdb")
- depends_on('r@2.15.2:', type=('build', 'run'))
- depends_on('r@3.0:', type=('build', 'run'), when='@0.9-11:')
- depends_on('fftw@3.1.2:')
+ depends_on("r@2.15.2:", type=("build", "run"))
+ depends_on("r@3.0:", type=("build", "run"), when="@0.9-11:")
+ depends_on("fftw@3.1.2:")
diff --git a/var/spack/repos/builtin/packages/r-fgsea/package.py b/var/spack/repos/builtin/packages/r-fgsea/package.py
index 3e14210373..8eadef9819 100644
--- a/var/spack/repos/builtin/packages/r-fgsea/package.py
+++ b/var/spack/repos/builtin/packages/r-fgsea/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RFgsea(RPackage):
"""Fast Gene Set Enrichment Analysis.
- The package implements an algorithm for fast gene set enrichment
- analysis. Using the fast algorithm allows to make more permutations and
- get more fine grained p-values, which allows to use accurate stantard
- approaches to multiple hypothesis correction."""
+ The package implements an algorithm for fast gene set enrichment
+ analysis. Using the fast algorithm allows to make more permutations and
+ get more fine grained p-values, which allows to use accurate stantard
+ approaches to multiple hypothesis correction."""
bioc = "fgsea"
- version('1.22.0', commit='e4e203aa64faa984e0406fed5d87a422d9df92f2')
- version('1.20.0', commit='b704f81687dc16afdaafc6d30108c62a067856b2')
- version('1.16.0', commit='9d9df596c7e160afa18e067b7637cfc465494318')
- version('1.10.1', commit='fb06a6ebfb4a195e77e37226d100a2148b90c5f3')
- version('1.8.0', commit='bb2898aca9fb23e90770671a83fe23f79bb1841b')
- version('1.6.0', commit='52b801b7c2dfd8238fa8f2b402fddb4fda60271d')
- version('1.4.1', commit='73de5ff364e520ac99507a9ee5a61a0d23d3c44e')
- version('1.2.1', commit='99b04eef664204d0dca4b9f8027cd7eefb006b72')
+ version("1.22.0", commit="e4e203aa64faa984e0406fed5d87a422d9df92f2")
+ version("1.20.0", commit="b704f81687dc16afdaafc6d30108c62a067856b2")
+ version("1.16.0", commit="9d9df596c7e160afa18e067b7637cfc465494318")
+ version("1.10.1", commit="fb06a6ebfb4a195e77e37226d100a2148b90c5f3")
+ version("1.8.0", commit="bb2898aca9fb23e90770671a83fe23f79bb1841b")
+ version("1.6.0", commit="52b801b7c2dfd8238fa8f2b402fddb4fda60271d")
+ version("1.4.1", commit="73de5ff364e520ac99507a9ee5a61a0d23d3c44e")
+ version("1.2.1", commit="99b04eef664204d0dca4b9f8027cd7eefb006b72")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-fastmatch', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'), when='@1.6.0:')
- depends_on('r-bh', type=('build', 'run'), when='@1.10.1:')
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-fastmatch", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"), when="@1.6.0:")
+ depends_on("r-bh", type=("build", "run"), when="@1.10.1:")
diff --git a/var/spack/repos/builtin/packages/r-fields/package.py b/var/spack/repos/builtin/packages/r-fields/package.py
index 5bbebabfed..08f6f52360 100644
--- a/var/spack/repos/builtin/packages/r-fields/package.py
+++ b/var/spack/repos/builtin/packages/r-fields/package.py
@@ -36,11 +36,11 @@ class RFields(RPackage):
cran = "fields"
- version('13.3', sha256='c652838b1ae7eb368831522824bfbc1d1db7b9d1db5e9bb52b194098549944c3')
- version('11.6', sha256='8600d1d992c40668cc2ab01b3c17d0e1bd44a001ec7ba9f468bc0e9ef87c59db')
- version('9.9', sha256='262f03c630773b580c7162ab2a031c894ca489fd83989fd8a2f67573306e78e1')
+ version("13.3", sha256="c652838b1ae7eb368831522824bfbc1d1db7b9d1db5e9bb52b194098549944c3")
+ version("11.6", sha256="8600d1d992c40668cc2ab01b3c17d0e1bd44a001ec7ba9f468bc0e9ef87c59db")
+ version("9.9", sha256="262f03c630773b580c7162ab2a031c894ca489fd83989fd8a2f67573306e78e1")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-spam', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'), when='@13.3:')
- depends_on('r-maps', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-spam", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"), when="@13.3:")
+ depends_on("r-maps", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-filehash/package.py b/var/spack/repos/builtin/packages/r-filehash/package.py
index bd137ac30c..e73d95c072 100644
--- a/var/spack/repos/builtin/packages/r-filehash/package.py
+++ b/var/spack/repos/builtin/packages/r-filehash/package.py
@@ -21,9 +21,9 @@ class RFilehash(RPackage):
cran = "filehash"
- version('2.4-3', sha256='f394e2c93233e8ad1c104562ea9349855dc8e303131f559cd59834f9aa3e41bd')
- version('2.4-2', sha256='b6d056f75d45e315943a4618f5f62802612cd8931ba3f9f474b595140a3cfb93')
- version('2.4-1', sha256='d0e087d338d89372c251c18fc93b53fb24b1750ea154833216ff16aff3b1eaf4')
- version('2.3', sha256='63b098df9a2cf4aac862cd7bf86ae516e00852a8ad0f3090f9721b6b173e6edb')
+ version("2.4-3", sha256="f394e2c93233e8ad1c104562ea9349855dc8e303131f559cd59834f9aa3e41bd")
+ version("2.4-2", sha256="b6d056f75d45e315943a4618f5f62802612cd8931ba3f9f474b595140a3cfb93")
+ version("2.4-1", sha256="d0e087d338d89372c251c18fc93b53fb24b1750ea154833216ff16aff3b1eaf4")
+ version("2.3", sha256="63b098df9a2cf4aac862cd7bf86ae516e00852a8ad0f3090f9721b6b173e6edb")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-filelock/package.py b/var/spack/repos/builtin/packages/r-filelock/package.py
index 107ebf51d6..d1ec74ab96 100644
--- a/var/spack/repos/builtin/packages/r-filelock/package.py
+++ b/var/spack/repos/builtin/packages/r-filelock/package.py
@@ -14,8 +14,8 @@ class RFilelock(RPackage):
cran = "filelock"
- version('1.0.2', sha256='ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403')
+ version("1.0.2", sha256="ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403")
- depends_on('r-callr@2.0.0:', type=('build', 'run'))
- depends_on('r-covr', type=('build', 'run'))
- depends_on('r-testthat', type=('build', 'run'))
+ depends_on("r-callr@2.0.0:", type=("build", "run"))
+ depends_on("r-covr", type=("build", "run"))
+ depends_on("r-testthat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-findpython/package.py b/var/spack/repos/builtin/packages/r-findpython/package.py
index c189e9c081..600d759f10 100644
--- a/var/spack/repos/builtin/packages/r-findpython/package.py
+++ b/var/spack/repos/builtin/packages/r-findpython/package.py
@@ -11,9 +11,9 @@ class RFindpython(RPackage):
cran = "findpython"
- version('1.0.7', sha256='59f904b9c2ec84b589380de59d13afbf14d1ec3b670e3a07e820298aaf04c149')
- version('1.0.5', sha256='3e9a21988cb78833769b02680d128a0cc01bcb41aa9c9725ab1742f349759145')
- version('1.0.4', sha256='a58fb46d53d3bdea1e00b2f4f9bdb5e98be9329ea9d8e2fe150d91462e6bccfd')
- version('1.0.3', sha256='5486535ae2f0a123b630d8eabf93a61b730765f55dfcc8ef4f6e56e7c49408f8')
+ version("1.0.7", sha256="59f904b9c2ec84b589380de59d13afbf14d1ec3b670e3a07e820298aaf04c149")
+ version("1.0.5", sha256="3e9a21988cb78833769b02680d128a0cc01bcb41aa9c9725ab1742f349759145")
+ version("1.0.4", sha256="a58fb46d53d3bdea1e00b2f4f9bdb5e98be9329ea9d8e2fe150d91462e6bccfd")
+ version("1.0.3", sha256="5486535ae2f0a123b630d8eabf93a61b730765f55dfcc8ef4f6e56e7c49408f8")
- depends_on('python', type='run')
+ depends_on("python", type="run")
diff --git a/var/spack/repos/builtin/packages/r-fit-models/package.py b/var/spack/repos/builtin/packages/r-fit-models/package.py
index f6ff8057d5..33ef168aec 100644
--- a/var/spack/repos/builtin/packages/r-fit-models/package.py
+++ b/var/spack/repos/builtin/packages/r-fit-models/package.py
@@ -21,8 +21,8 @@ class RFitModels(RPackage):
cran = "fit.models"
- version('0.64', sha256='f70806bfa85a05337fa5a665264d640e307584714a07a329fbe96c86b0e864da')
- version('0.5-14', sha256='93b9d119e97b36c648a19c891fc5e69f5306eb5b9bac16bf377555057afd4b6e')
- version('0.5-13', sha256='7df545fce135159e9abf0a19076628d3ec2999e89f018e142a7a970428823d48')
+ version("0.64", sha256="f70806bfa85a05337fa5a665264d640e307584714a07a329fbe96c86b0e864da")
+ version("0.5-14", sha256="93b9d119e97b36c648a19c891fc5e69f5306eb5b9bac16bf377555057afd4b6e")
+ version("0.5-13", sha256="7df545fce135159e9abf0a19076628d3ec2999e89f018e142a7a970428823d48")
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fitdistrplus/package.py b/var/spack/repos/builtin/packages/r-fitdistrplus/package.py
index 609b40dee3..d214daa69c 100644
--- a/var/spack/repos/builtin/packages/r-fitdistrplus/package.py
+++ b/var/spack/repos/builtin/packages/r-fitdistrplus/package.py
@@ -22,14 +22,14 @@ class RFitdistrplus(RPackage):
cran = "fitdistrplus"
- version('1.1-8', sha256='f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a')
- version('1.1-6', sha256='17c2990041a3bb7479f3c3a6d13d96c989db8eaddab17eff7e1fbe172a5b96be')
- version('1.1-3', sha256='776d5456e14398e44b78b3d7db526559bb7a3537e546a29c88aa192141c756de')
- version('1.0-14', sha256='85082590f62aa08d99048ea3414c5cc1e5b780d97b3779d2397c6cb435470083')
+ version("1.1-8", sha256="f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a")
+ version("1.1-6", sha256="17c2990041a3bb7479f3c3a6d13d96c989db8eaddab17eff7e1fbe172a5b96be")
+ version("1.1-3", sha256="776d5456e14398e44b78b3d7db526559bb7a3537e546a29c88aa192141c756de")
+ version("1.0-14", sha256="85082590f62aa08d99048ea3414c5cc1e5b780d97b3779d2397c6cb435470083")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.1-6:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.1-6:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
- depends_on('r-npsurv', type=('build', 'run'), when='@:1.0-14')
+ depends_on("r-npsurv", type=("build", "run"), when="@:1.0-14")
diff --git a/var/spack/repos/builtin/packages/r-flashclust/package.py b/var/spack/repos/builtin/packages/r-flashclust/package.py
index 2d13e5f806..2d50d62aa4 100644
--- a/var/spack/repos/builtin/packages/r-flashclust/package.py
+++ b/var/spack/repos/builtin/packages/r-flashclust/package.py
@@ -11,6 +11,6 @@ class RFlashclust(RPackage):
cran = "flashClust"
- version('1.01-2', sha256='48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450')
+ version("1.01-2", sha256="48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450")
- depends_on('r@2.3.0:', type=('build', 'run'))
+ depends_on("r@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-flexclust/package.py b/var/spack/repos/builtin/packages/r-flexclust/package.py
index b751f161e0..bc1e04436b 100644
--- a/var/spack/repos/builtin/packages/r-flexclust/package.py
+++ b/var/spack/repos/builtin/packages/r-flexclust/package.py
@@ -19,11 +19,11 @@ class RFlexclust(RPackage):
cran = "flexclust"
- version('1.4-1', sha256='d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d')
- version('1.4-0', sha256='82fe445075a795c724644864c7ee803c5dd332a89ea9e6ccf7cd1ae2d1ecfc74')
- version('1.3-5', sha256='dbf49969c93a7b314d9dc3299a0764ed9a804ba7dcbdc08a1235f244f4b85059')
+ version("1.4-1", sha256="d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d")
+ version("1.4-0", sha256="82fe445075a795c724644864c7ee803c5dd332a89ea9e6ccf7cd1ae2d1ecfc74")
+ version("1.3-5", sha256="dbf49969c93a7b314d9dc3299a0764ed9a804ba7dcbdc08a1235f244f4b85059")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-modeltools', type=('build', 'run'))
- depends_on('r-class', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-modeltools", type=("build", "run"))
+ depends_on("r-class", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-flexmix/package.py b/var/spack/repos/builtin/packages/r-flexmix/package.py
index 2af6ff2032..f1091094a9 100644
--- a/var/spack/repos/builtin/packages/r-flexmix/package.py
+++ b/var/spack/repos/builtin/packages/r-flexmix/package.py
@@ -17,11 +17,11 @@ class RFlexmix(RPackage):
cran = "flexmix"
- version('2.3-17', sha256='36019b7833032409ac61720dd625fa5a581a1d8bcba9045b04979c90907b5649')
- version('2.3-15', sha256='ba444c0bfe33ab87d440ab590c06b03605710acd75811c1622253171bb123f43')
- version('2.3-14', sha256='837c7f175a211b3c484b2c7b81ec9729889a614c5c6e7d70c95a2c1d60ff846a')
+ version("2.3-17", sha256="36019b7833032409ac61720dd625fa5a581a1d8bcba9045b04979c90907b5649")
+ version("2.3-15", sha256="ba444c0bfe33ab87d440ab590c06b03605710acd75811c1622253171bb123f43")
+ version("2.3-14", sha256="837c7f175a211b3c484b2c7b81ec9729889a614c5c6e7d70c95a2c1d60ff846a")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-modeltools@0.2-16:', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-modeltools@0.2-16:", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fnn/package.py b/var/spack/repos/builtin/packages/r-fnn/package.py
index 9bba92ea17..07902b1a05 100644
--- a/var/spack/repos/builtin/packages/r-fnn/package.py
+++ b/var/spack/repos/builtin/packages/r-fnn/package.py
@@ -15,13 +15,13 @@ class RFnn(RPackage):
cran = "FNN"
- version('1.1.3.1', sha256='52b0e20611481a95bced40be4126f44b002fd3a9c4c9674bb34db4e1e3b5be5a')
- version('1.1.3', sha256='de763a25c9cfbd19d144586b9ed158135ec49cf7b812938954be54eb2dc59432')
- version('1.1.2.2', sha256='b51a60fbbeff58c48cc90c2023c48972d5082d68efd02284c17ccd9820986326')
- version('1.1', sha256='b2a2e97af14aa50ef4dce15a170e1d7329aebb7643bab4a6cf35609555acccce')
- version('1.0', sha256='5606cc656c5488b56ee9227088bec662539589fd626ea5aae0e4d57d70a6fe03')
- version('0.6-4', sha256='2d0eb7b2aab9ff2e4deaf0b5e39b817f3f3701c0dcefa8a380bdc7111e68d853')
- version('0.6-3', sha256='9ac1817852427a056b5c6ad6ac5212bc43abd29ce15f98441a6261b25cf5f810')
- version('0.6-2', sha256='f1fc410c341175bdb11a75b063c8c987e15b632378b56148d3566b91fca53a31')
+ version("1.1.3.1", sha256="52b0e20611481a95bced40be4126f44b002fd3a9c4c9674bb34db4e1e3b5be5a")
+ version("1.1.3", sha256="de763a25c9cfbd19d144586b9ed158135ec49cf7b812938954be54eb2dc59432")
+ version("1.1.2.2", sha256="b51a60fbbeff58c48cc90c2023c48972d5082d68efd02284c17ccd9820986326")
+ version("1.1", sha256="b2a2e97af14aa50ef4dce15a170e1d7329aebb7643bab4a6cf35609555acccce")
+ version("1.0", sha256="5606cc656c5488b56ee9227088bec662539589fd626ea5aae0e4d57d70a6fe03")
+ version("0.6-4", sha256="2d0eb7b2aab9ff2e4deaf0b5e39b817f3f3701c0dcefa8a380bdc7111e68d853")
+ version("0.6-3", sha256="9ac1817852427a056b5c6ad6ac5212bc43abd29ce15f98441a6261b25cf5f810")
+ version("0.6-2", sha256="f1fc410c341175bdb11a75b063c8c987e15b632378b56148d3566b91fca53a31")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fontawesome/package.py b/var/spack/repos/builtin/packages/r-fontawesome/package.py
index c2ed812beb..c9b7e37d92 100644
--- a/var/spack/repos/builtin/packages/r-fontawesome/package.py
+++ b/var/spack/repos/builtin/packages/r-fontawesome/package.py
@@ -17,8 +17,8 @@ class RFontawesome(RPackage):
cran = "fontawesome"
- version('0.2.2', sha256='572db64d1b3c9be301935e0ca7baec69f3a6e0aa802e23f1f224b3724259df64')
+ version("0.2.2", sha256="572db64d1b3c9be301935e0ca7baec69f3a6e0aa802e23f1f224b3724259df64")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-rlang@0.4.10:', type=('build', 'run'))
- depends_on('r-htmltools@0.5.1.1:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rlang@0.4.10:", type=("build", "run"))
+ depends_on("r-htmltools@0.5.1.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-forcats/package.py b/var/spack/repos/builtin/packages/r-forcats/package.py
index 2478eca0b5..48a137bd2d 100644
--- a/var/spack/repos/builtin/packages/r-forcats/package.py
+++ b/var/spack/repos/builtin/packages/r-forcats/package.py
@@ -16,15 +16,15 @@ class RForcats(RPackage):
cran = "forcats"
- version('0.5.1', sha256='c4fb96e874e2bedaa8a1aa32ea22abdee7906d93b5c5c7b42c0894c0c5b6a289')
- version('0.5.0', sha256='8f960e789333ec597ddf2d653a64e330f03b86f465e9b71f6779f227355d90c4')
- version('0.4.0', sha256='7c83cb576aa6fe1379d7506dcc332f7560068b2025f9e3ab5cd0a5f28780d2b2')
- version('0.3.0', sha256='95814610ec18b8a8830eba63751954387f9d21400d6ab40394ed0ff22c0cb657')
- version('0.2.0', sha256='b5bce370422d4c0ec9509249ae645373949bfbe9217cdf50dce2bfbdad9f7cd7')
+ version("0.5.1", sha256="c4fb96e874e2bedaa8a1aa32ea22abdee7906d93b5c5c7b42c0894c0c5b6a289")
+ version("0.5.0", sha256="8f960e789333ec597ddf2d653a64e330f03b86f465e9b71f6779f227355d90c4")
+ version("0.4.0", sha256="7c83cb576aa6fe1379d7506dcc332f7560068b2025f9e3ab5cd0a5f28780d2b2")
+ version("0.3.0", sha256="95814610ec18b8a8830eba63751954387f9d21400d6ab40394ed0ff22c0cb657")
+ version("0.2.0", sha256="b5bce370422d4c0ec9509249ae645373949bfbe9217cdf50dce2bfbdad9f7cd7")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@0.4.0:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@0.4.0:')
- depends_on('r-tibble', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@0.4.0:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@0.4.0:")
+ depends_on("r-tibble", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-foreach/package.py b/var/spack/repos/builtin/packages/r-foreach/package.py
index 60b7b064be..eb427efbbc 100644
--- a/var/spack/repos/builtin/packages/r-foreach/package.py
+++ b/var/spack/repos/builtin/packages/r-foreach/package.py
@@ -19,11 +19,11 @@ class RForeach(RPackage):
cran = "foreach"
- version('1.5.2', sha256='56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4')
- version('1.5.1', sha256='fb5ad69e295618c52b2ac7dff84a0771462870a97345374d43b3de2dc31a68e1')
- version('1.4.7', sha256='95632c0b1182fc01490718d82fa3b2bce864f2a011ae53282431c7c2a3f5f160')
- version('1.4.3', sha256='1ef03f770f726a62e3753f2402eb26b226245958fa99d570d003fc9e47d35881')
+ version("1.5.2", sha256="56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4")
+ version("1.5.1", sha256="fb5ad69e295618c52b2ac7dff84a0771462870a97345374d43b3de2dc31a68e1")
+ version("1.4.7", sha256="95632c0b1182fc01490718d82fa3b2bce864f2a011ae53282431c7c2a3f5f160")
+ version("1.4.3", sha256="1ef03f770f726a62e3753f2402eb26b226245958fa99d570d003fc9e47d35881")
- depends_on('r@2.5.0:', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
- depends_on('r-iterators', type=('build', 'run'))
+ depends_on("r@2.5.0:", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
+ depends_on("r-iterators", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-forecast/package.py b/var/spack/repos/builtin/packages/r-forecast/package.py
index 28a1cfb0ce..e334b825f7 100644
--- a/var/spack/repos/builtin/packages/r-forecast/package.py
+++ b/var/spack/repos/builtin/packages/r-forecast/package.py
@@ -15,23 +15,23 @@ class RForecast(RPackage):
cran = "forecast"
- version('8.16', sha256='9f01eb895a883a7e1e23725b167b46edc1b0b152fd4120278aaa5f7b2621767f')
- version('8.15', sha256='c73aabed083095b457ed875c240716686fbd41d1cbafa116b7b890a54b919174')
- version('8.13', sha256='490e3a2beb71c238dd26e7afa0b33394b9906dd0dc54712d4808894d5aa1386f')
- version('8.8', sha256='d077074d77d3ea00e9215c828b3689a8c841a16af1e6859bb2dfdede081c2c1d')
- version('8.6', sha256='4279e4f700e26310bae39419ab4a9b5918a850148667a5e577a4807d53eb4d02')
- version('8.2', sha256='eb3fab64ed139d068e7d026cd3880f1b623f4153a832fb71845488fa75e8b812')
+ version("8.16", sha256="9f01eb895a883a7e1e23725b167b46edc1b0b152fd4120278aaa5f7b2621767f")
+ version("8.15", sha256="c73aabed083095b457ed875c240716686fbd41d1cbafa116b7b890a54b919174")
+ version("8.13", sha256="490e3a2beb71c238dd26e7afa0b33394b9906dd0dc54712d4808894d5aa1386f")
+ version("8.8", sha256="d077074d77d3ea00e9215c828b3689a8c841a16af1e6859bb2dfdede081c2c1d")
+ version("8.6", sha256="4279e4f700e26310bae39419ab4a9b5918a850148667a5e577a4807d53eb4d02")
+ version("8.2", sha256="eb3fab64ed139d068e7d026cd3880f1b623f4153a832fb71845488fa75e8b812")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-fracdiff', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.1:', type=('build', 'run'))
- depends_on('r-lmtest', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-timedate', type=('build', 'run'))
- depends_on('r-tseries', type=('build', 'run'))
- depends_on('r-urca', type=('build', 'run'), when='@8.6:')
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-rcpparmadillo@0.2.35:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-fracdiff", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.1:", type=("build", "run"))
+ depends_on("r-lmtest", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-timedate", type=("build", "run"))
+ depends_on("r-tseries", type=("build", "run"))
+ depends_on("r-urca", type=("build", "run"), when="@8.6:")
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-rcpparmadillo@0.2.35:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-foreign/package.py b/var/spack/repos/builtin/packages/r-foreign/package.py
index 769ee0d3e9..c4aa702224 100644
--- a/var/spack/repos/builtin/packages/r-foreign/package.py
+++ b/var/spack/repos/builtin/packages/r-foreign/package.py
@@ -16,11 +16,11 @@ class RForeign(RPackage):
cran = "foreign"
- version('0.8-82', sha256='f8ed0684d59bec7f3a39cde1aa5ec7b3e6e36aaecacb28120c9c54f7b13f80fb')
- version('0.8-81', sha256='1ae8f9f18f2a037697fa1a9060417ff255c71764f0145080b2bd23ba8262992c')
- version('0.8-72', sha256='439c17c9cd387e180b1bb640efff3ed1696b1016d0f7b3b3b884e89884488c88')
- version('0.8-70.2', sha256='ae82fad68159860b8ca75b49538406ef3d2522818e649d7ccc209c18085ef179')
- version('0.8-66', sha256='d7401e5fcab9ce6e697d3520dbb8475e229c30341c0004c4fa489c82aa4447a4')
+ version("0.8-82", sha256="f8ed0684d59bec7f3a39cde1aa5ec7b3e6e36aaecacb28120c9c54f7b13f80fb")
+ version("0.8-81", sha256="1ae8f9f18f2a037697fa1a9060417ff255c71764f0145080b2bd23ba8262992c")
+ version("0.8-72", sha256="439c17c9cd387e180b1bb640efff3ed1696b1016d0f7b3b3b884e89884488c88")
+ version("0.8-70.2", sha256="ae82fad68159860b8ca75b49538406ef3d2522818e649d7ccc209c18085ef179")
+ version("0.8-66", sha256="d7401e5fcab9ce6e697d3520dbb8475e229c30341c0004c4fa489c82aa4447a4")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.8-81:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.8-81:")
diff --git a/var/spack/repos/builtin/packages/r-formatr/package.py b/var/spack/repos/builtin/packages/r-formatr/package.py
index 69c85fc123..a4443ad6f1 100644
--- a/var/spack/repos/builtin/packages/r-formatr/package.py
+++ b/var/spack/repos/builtin/packages/r-formatr/package.py
@@ -18,12 +18,12 @@ class RFormatr(RPackage):
cran = "formatR"
- version('1.12', sha256='8b52efbf43cbef25d837bb99a793a590c0958b753052c032b52304724e808c8b')
- version('1.11', sha256='bd81662d09cf363652761e63ba5969c71be4dd5ae6fc9098f440d6729254a30c')
- version('1.7', sha256='a366621b3ff5f8e86a499b6f87858ad47eefdace138341b1377ecc307a5e5ddb')
- version('1.6', sha256='f5c98f0c3506ca51599671a2cdbc17738d0f326e8e3bb18b7a38e9f172122229')
- version('1.5', sha256='874c197ae3720ec11b44984a055655b99a698e1912104eb9034c11fdf6104da7')
- version('1.4', sha256='6ec47a7b1f18efb5fd7559b81427363b66415d81cded9d5e7e2907e900b67ebb')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.2.3:', type=('build', 'run'), when='@1.11:')
+ version("1.12", sha256="8b52efbf43cbef25d837bb99a793a590c0958b753052c032b52304724e808c8b")
+ version("1.11", sha256="bd81662d09cf363652761e63ba5969c71be4dd5ae6fc9098f440d6729254a30c")
+ version("1.7", sha256="a366621b3ff5f8e86a499b6f87858ad47eefdace138341b1377ecc307a5e5ddb")
+ version("1.6", sha256="f5c98f0c3506ca51599671a2cdbc17738d0f326e8e3bb18b7a38e9f172122229")
+ version("1.5", sha256="874c197ae3720ec11b44984a055655b99a698e1912104eb9034c11fdf6104da7")
+ version("1.4", sha256="6ec47a7b1f18efb5fd7559b81427363b66415d81cded9d5e7e2907e900b67ebb")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.2.3:", type=("build", "run"), when="@1.11:")
diff --git a/var/spack/repos/builtin/packages/r-formula/package.py b/var/spack/repos/builtin/packages/r-formula/package.py
index 686b900aa8..83f959fb40 100644
--- a/var/spack/repos/builtin/packages/r-formula/package.py
+++ b/var/spack/repos/builtin/packages/r-formula/package.py
@@ -16,9 +16,9 @@ class RFormula(RPackage):
cran = "Formula"
- version('1.2-4', sha256='cb70e373b5ed2fc8450937fb3321d37dfd22dcc6f07cb872a419d51205125caf')
- version('1.2-3', sha256='1411349b20bd09611a9fd0ee6d15f780c758ad2b0e490e908facb49433823872')
- version('1.2-2', sha256='8def4600fb7457d38db8083733477501b54528974aa216e4adf8871bff4aa429')
- version('1.2-1', sha256='5db1ef55119b299c9d291e1c5c08e2d51b696303daf4e7295c38ff5fc428360a')
+ version("1.2-4", sha256="cb70e373b5ed2fc8450937fb3321d37dfd22dcc6f07cb872a419d51205125caf")
+ version("1.2-3", sha256="1411349b20bd09611a9fd0ee6d15f780c758ad2b0e490e908facb49433823872")
+ version("1.2-2", sha256="8def4600fb7457d38db8083733477501b54528974aa216e4adf8871bff4aa429")
+ version("1.2-1", sha256="5db1ef55119b299c9d291e1c5c08e2d51b696303daf4e7295c38ff5fc428360a")
- depends_on('r@2.0.0:', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fpc/package.py b/var/spack/repos/builtin/packages/r-fpc/package.py
index b23db8a720..7d511b230f 100644
--- a/var/spack/repos/builtin/packages/r-fpc/package.py
+++ b/var/spack/repos/builtin/packages/r-fpc/package.py
@@ -28,21 +28,21 @@ class RFpc(RPackage):
cran = "fpc"
- version('2.2-9', sha256='29b0006e96c8645645d215d3378551bd6525aaf45abde2d9f12933cf6e75fa38')
- version('2.2-3', sha256='8100a74e6ff96b1cd65fd22494f2d200e54ea5ea533cfca321fa494914bdc3b7')
- version('2.2-2', sha256='b6907019eb161d5c8c814cf02a4663cc8aae6322699932881ce5b02f45ecf8d3')
- version('2.1-10', sha256='5d17c5f475c3f24a4809678cbc6186a357276240cf7fcb00d5670b9e68baa096')
-
- depends_on('r@2.0.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-mclust', type=('build', 'run'))
- depends_on('r-flexmix', type=('build', 'run'))
- depends_on('r-prabclus', type=('build', 'run'))
- depends_on('r-class', type=('build', 'run'))
- depends_on('r-diptest', type=('build', 'run'))
- depends_on('r-robustbase', type=('build', 'run'))
- depends_on('r-kernlab', type=('build', 'run'))
-
- depends_on('r-trimcluster', type=('build', 'run'), when='@:2.1-10')
- depends_on('r-mvtnorm', type=('build', 'run'), when='@:2.2-2')
+ version("2.2-9", sha256="29b0006e96c8645645d215d3378551bd6525aaf45abde2d9f12933cf6e75fa38")
+ version("2.2-3", sha256="8100a74e6ff96b1cd65fd22494f2d200e54ea5ea533cfca321fa494914bdc3b7")
+ version("2.2-2", sha256="b6907019eb161d5c8c814cf02a4663cc8aae6322699932881ce5b02f45ecf8d3")
+ version("2.1-10", sha256="5d17c5f475c3f24a4809678cbc6186a357276240cf7fcb00d5670b9e68baa096")
+
+ depends_on("r@2.0.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-mclust", type=("build", "run"))
+ depends_on("r-flexmix", type=("build", "run"))
+ depends_on("r-prabclus", type=("build", "run"))
+ depends_on("r-class", type=("build", "run"))
+ depends_on("r-diptest", type=("build", "run"))
+ depends_on("r-robustbase", type=("build", "run"))
+ depends_on("r-kernlab", type=("build", "run"))
+
+ depends_on("r-trimcluster", type=("build", "run"), when="@:2.1-10")
+ depends_on("r-mvtnorm", type=("build", "run"), when="@:2.2-2")
diff --git a/var/spack/repos/builtin/packages/r-fpcompare/package.py b/var/spack/repos/builtin/packages/r-fpcompare/package.py
index 1140f1d0a3..561ba14632 100644
--- a/var/spack/repos/builtin/packages/r-fpcompare/package.py
+++ b/var/spack/repos/builtin/packages/r-fpcompare/package.py
@@ -20,8 +20,8 @@ class RFpcompare(RPackage):
cran = "fpCompare"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.2.3', sha256='f89be3568544a3a44e4f01b5050ed03705805308ec1aa4add9a5e1b5b328dbdf')
+ version("0.2.3", sha256="f89be3568544a3a44e4f01b5050ed03705805308ec1aa4add9a5e1b5b328dbdf")
- depends_on('r@3.3:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-fracdiff/package.py b/var/spack/repos/builtin/packages/r-fracdiff/package.py
index 4cc973dc3c..409dcdaed6 100644
--- a/var/spack/repos/builtin/packages/r-fracdiff/package.py
+++ b/var/spack/repos/builtin/packages/r-fracdiff/package.py
@@ -16,5 +16,5 @@ class RFracdiff(RPackage):
cran = "fracdiff"
- version('1.5-1', sha256='b8103b32a4ca3a59dda1624c07da08ecd144c7a91a747d1f4663e99421950eb6')
- version('1.4-2', sha256='983781cedc2b4e3ba9fa020213957d5133ae9cd6710bc61d6225728e2f6e850e')
+ version("1.5-1", sha256="b8103b32a4ca3a59dda1624c07da08ecd144c7a91a747d1f4663e99421950eb6")
+ version("1.4-2", sha256="983781cedc2b4e3ba9fa020213957d5133ae9cd6710bc61d6225728e2f6e850e")
diff --git a/var/spack/repos/builtin/packages/r-fs/package.py b/var/spack/repos/builtin/packages/r-fs/package.py
index 73e4f925ef..3c727fac4a 100644
--- a/var/spack/repos/builtin/packages/r-fs/package.py
+++ b/var/spack/repos/builtin/packages/r-fs/package.py
@@ -14,11 +14,11 @@ class RFs(RPackage):
cran = "fs"
- version('1.5.2', sha256='35cad1781d6d17c1feb56adc4607079c6844b63794d0ce1e74bb18dbc11e1987')
- version('1.5.0', sha256='36df1653571de3c628a4f769c4627f6ac53d0f9e4106d9d476afb22ae9603897')
- version('1.3.1', sha256='d6934dca8f835d8173e3fb9fd4d5e2740c8c04348dd2bcc57df1b711facb46bc')
+ version("1.5.2", sha256="35cad1781d6d17c1feb56adc4607079c6844b63794d0ce1e74bb18dbc11e1987")
+ version("1.5.0", sha256="36df1653571de3c628a4f769c4627f6ac53d0f9e4106d9d476afb22ae9603897")
+ version("1.3.1", sha256="d6934dca8f835d8173e3fb9fd4d5e2740c8c04348dd2bcc57df1b711facb46bc")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("gmake", type="build")
- depends_on('r-rcpp', type=('build', 'run'), when='@:1.3.1')
+ depends_on("r-rcpp", type=("build", "run"), when="@:1.3.1")
diff --git a/var/spack/repos/builtin/packages/r-futile-logger/package.py b/var/spack/repos/builtin/packages/r-futile-logger/package.py
index 28dca4714a..b1f30aa083 100644
--- a/var/spack/repos/builtin/packages/r-futile-logger/package.py
+++ b/var/spack/repos/builtin/packages/r-futile-logger/package.py
@@ -15,8 +15,8 @@ class RFutileLogger(RPackage):
cran = "futile.logger"
- version('1.4.3', sha256='5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4')
+ version("1.4.3", sha256="5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-lambda-r@1.1.0:', type=('build', 'run'))
- depends_on('r-futile-options', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-lambda-r@1.1.0:", type=("build", "run"))
+ depends_on("r-futile-options", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-futile-options/package.py b/var/spack/repos/builtin/packages/r-futile-options/package.py
index 32d2587dbf..a8faebed2d 100644
--- a/var/spack/repos/builtin/packages/r-futile-options/package.py
+++ b/var/spack/repos/builtin/packages/r-futile-options/package.py
@@ -13,7 +13,7 @@ class RFutileOptions(RPackage):
cran = "futile.options"
- version('1.0.1', sha256='7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570')
- version('1.0.0', sha256='ee84ece359397fbb63f145d11af678f5c8618570971e78cc64ac60dc0d14e8c2')
+ version("1.0.1", sha256="7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570")
+ version("1.0.0", sha256="ee84ece359397fbb63f145d11af678f5c8618570971e78cc64ac60dc0d14e8c2")
- depends_on('r@2.8.0:', type=('build', 'run'))
+ depends_on("r@2.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-future-apply/package.py b/var/spack/repos/builtin/packages/r-future-apply/package.py
index b757d6138a..fc15a96ce6 100644
--- a/var/spack/repos/builtin/packages/r-future-apply/package.py
+++ b/var/spack/repos/builtin/packages/r-future-apply/package.py
@@ -19,16 +19,16 @@ class RFutureApply(RPackage):
cran = "future.apply"
- version('1.9.0', sha256='6166c1c5ce30b9745059c3d30c8110f7c1d51871e58aa414f195cb1f91c467f5')
- version('1.8.1', sha256='0d5bc3cb0289665bb27ae4ccad51fcc5ebf6dca46872b0a4e57790b9dc0aa6c7')
- version('1.7.0', sha256='2ffa6adb55f239918ce9679b7eac8dcc4bf2e6bed35c9cbedf4bf90d906345db')
- version('1.3.0', sha256='6374eca49bb81e05c013509c8e324cf9c5d023f9f8217b29ce7b7e12025ca371')
+ version("1.9.0", sha256="6166c1c5ce30b9745059c3d30c8110f7c1d51871e58aa414f195cb1f91c467f5")
+ version("1.8.1", sha256="0d5bc3cb0289665bb27ae4ccad51fcc5ebf6dca46872b0a4e57790b9dc0aa6c7")
+ version("1.7.0", sha256="2ffa6adb55f239918ce9679b7eac8dcc4bf2e6bed35c9cbedf4bf90d906345db")
+ version("1.3.0", sha256="6374eca49bb81e05c013509c8e324cf9c5d023f9f8217b29ce7b7e12025ca371")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-future@1.13.0:', type=('build', 'run'))
- depends_on('r-future@1.17.0:', type=('build', 'run'), when='@1.7.0:')
- depends_on('r-future@1.21.0:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-future@1.22.1:', type=('build', 'run'), when='@1.9.0:')
- depends_on('r-globals@0.12.4:', type=('build', 'run'))
- depends_on('r-globals@0.12.5:', type=('build', 'run'), when='@1.7.0:')
- depends_on('r-globals@0.14.0:', type=('build', 'run'), when='@1.8.1:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-future@1.13.0:", type=("build", "run"))
+ depends_on("r-future@1.17.0:", type=("build", "run"), when="@1.7.0:")
+ depends_on("r-future@1.21.0:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-future@1.22.1:", type=("build", "run"), when="@1.9.0:")
+ depends_on("r-globals@0.12.4:", type=("build", "run"))
+ depends_on("r-globals@0.12.5:", type=("build", "run"), when="@1.7.0:")
+ depends_on("r-globals@0.14.0:", type=("build", "run"), when="@1.8.1:")
diff --git a/var/spack/repos/builtin/packages/r-future/package.py b/var/spack/repos/builtin/packages/r-future/package.py
index 6e0161680c..7d78ba889c 100644
--- a/var/spack/repos/builtin/packages/r-future/package.py
+++ b/var/spack/repos/builtin/packages/r-future/package.py
@@ -26,20 +26,20 @@ class RFuture(RPackage):
cran = "future"
- version('1.26.1', sha256='a35c0bdae86265ebe86119231802b6fbf7b1d533b57cb423d8483fbe779390d5')
- version('1.24.0', sha256='7b8b212ba0e9d6303bfc15c512e6cf9b5db3a7aa0b2462d2e15cdd84dd09b276')
- version('1.23.0', sha256='d869c80e837c0937a414b8050deff081aefeac586b796f3d634d64f0f4fdb8f8')
- version('1.22.1', sha256='87b24a85caf08e1d809eab28f9258444105cd7788eee2e3e2f21727ba3bbedcd')
- version('1.21.0', sha256='909e6602068eba543a6d2e464b911123cc29efdb600a7000eff0e5624ff0d12d')
- version('1.14.0', sha256='0a535010d97a01b21aaf9d863603e44359335e273019c1e1980bbb5b2917dbcb')
+ version("1.26.1", sha256="a35c0bdae86265ebe86119231802b6fbf7b1d533b57cb423d8483fbe779390d5")
+ version("1.24.0", sha256="7b8b212ba0e9d6303bfc15c512e6cf9b5db3a7aa0b2462d2e15cdd84dd09b276")
+ version("1.23.0", sha256="d869c80e837c0937a414b8050deff081aefeac586b796f3d634d64f0f4fdb8f8")
+ version("1.22.1", sha256="87b24a85caf08e1d809eab28f9258444105cd7788eee2e3e2f21727ba3bbedcd")
+ version("1.21.0", sha256="909e6602068eba543a6d2e464b911123cc29efdb600a7000eff0e5624ff0d12d")
+ version("1.14.0", sha256="0a535010d97a01b21aaf9d863603e44359335e273019c1e1980bbb5b2917dbcb")
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-globals@0.12.4:', type=('build', 'run'))
- depends_on('r-globals@0.13.1:', type=('build', 'run'), when='@1.21.0:')
- depends_on('r-globals@0.14.0:', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-globals@0.15.0:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-listenv@0.7.0:', type=('build', 'run'))
- depends_on('r-listenv@0.8.0:', type=('build', 'run'), when='@1.21.0:')
- depends_on('r-parallelly@1.21.0:', type=('build', 'run'), when='@1.21.0:')
- depends_on('r-parallelly@1.26.1:', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-parallelly@1.30.0:', type=('build', 'run'), when='@1.24.0:')
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-globals@0.12.4:", type=("build", "run"))
+ depends_on("r-globals@0.13.1:", type=("build", "run"), when="@1.21.0:")
+ depends_on("r-globals@0.14.0:", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-globals@0.15.0:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-listenv@0.7.0:", type=("build", "run"))
+ depends_on("r-listenv@0.8.0:", type=("build", "run"), when="@1.21.0:")
+ depends_on("r-parallelly@1.21.0:", type=("build", "run"), when="@1.21.0:")
+ depends_on("r-parallelly@1.26.1:", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-parallelly@1.30.0:", type=("build", "run"), when="@1.24.0:")
diff --git a/var/spack/repos/builtin/packages/r-gamlss-data/package.py b/var/spack/repos/builtin/packages/r-gamlss-data/package.py
index 1c1d730db2..9075cdfeea 100644
--- a/var/spack/repos/builtin/packages/r-gamlss-data/package.py
+++ b/var/spack/repos/builtin/packages/r-gamlss-data/package.py
@@ -15,10 +15,10 @@ class RGamlssData(RPackage):
cran = "gamlss.data"
- version('6.0-2', sha256='dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e')
- version('5.1-4', sha256='0d3777d8c3cd76cef273aa6bde40a91688719be401195ed9bfd1e85bd7d5eeb5')
- version('5.1-3', sha256='4941180e7eebe97678ba02ca24c2a797bcb69d92cd34600215a94110e2a70470')
- version('5.1-0', sha256='0aad438ea1aa6395677e52cd2cb496f9f4c9ba2d39edc92c8cb42e7fc91fe6c1')
+ version("6.0-2", sha256="dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e")
+ version("5.1-4", sha256="0d3777d8c3cd76cef273aa6bde40a91688719be401195ed9bfd1e85bd7d5eeb5")
+ version("5.1-3", sha256="4941180e7eebe97678ba02ca24c2a797bcb69d92cd34600215a94110e2a70470")
+ version("5.1-0", sha256="0aad438ea1aa6395677e52cd2cb496f9f4c9ba2d39edc92c8cb42e7fc91fe6c1")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@6.0-2:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@6.0-2:")
diff --git a/var/spack/repos/builtin/packages/r-gamlss-dist/package.py b/var/spack/repos/builtin/packages/r-gamlss-dist/package.py
index b650b221af..508dfaea7b 100644
--- a/var/spack/repos/builtin/packages/r-gamlss-dist/package.py
+++ b/var/spack/repos/builtin/packages/r-gamlss-dist/package.py
@@ -21,13 +21,13 @@ class RGamlssDist(RPackage):
cran = "gamlss.dist"
- version('6.0-3', sha256='ec90ea83cd81b894c73f987f69814077697be33abf0708e0f3e2a39d02c912bf')
- version('6.0-1', sha256='b563b4de6bcedcfa4f8d29198a47004e38fd2de6e0509c788015d4e3feb18154')
- version('5.1-7', sha256='9871c38c893a8df7874c533351858dfe4e7587c71021dbbf88c0c76ff3c0ef5b')
- version('5.1-4', sha256='343c6ca0fd8a1c1dfdf9ffc65c95d4dae0c6c80b3e60fccba003e5171f3d287e')
- version('5.1-3', sha256='87fd643c82579519b67c66c1d87383fa1e203e8b09f607649ee7bce142bda404')
- version('5.1-1', sha256='44f999ff74ee516757eb39c8308c48aa850523aad2f38e622268313a13dda0b1')
+ version("6.0-3", sha256="ec90ea83cd81b894c73f987f69814077697be33abf0708e0f3e2a39d02c912bf")
+ version("6.0-1", sha256="b563b4de6bcedcfa4f8d29198a47004e38fd2de6e0509c788015d4e3feb18154")
+ version("5.1-7", sha256="9871c38c893a8df7874c533351858dfe4e7587c71021dbbf88c0c76ff3c0ef5b")
+ version("5.1-4", sha256="343c6ca0fd8a1c1dfdf9ffc65c95d4dae0c6c80b3e60fccba003e5171f3d287e")
+ version("5.1-3", sha256="87fd643c82579519b67c66c1d87383fa1e203e8b09f607649ee7bce142bda404")
+ version("5.1-1", sha256="44f999ff74ee516757eb39c8308c48aa850523aad2f38e622268313a13dda0b1")
- depends_on('r@2.15:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@6.0-3:')
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@6.0-3:")
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gamlss/package.py b/var/spack/repos/builtin/packages/r-gamlss/package.py
index d5671bf22b..60326d70e3 100644
--- a/var/spack/repos/builtin/packages/r-gamlss/package.py
+++ b/var/spack/repos/builtin/packages/r-gamlss/package.py
@@ -18,16 +18,16 @@ class RGamlss(RPackage):
cran = "gamlss"
- version('5.4-3', sha256='6619d4fdc183ab492615d44961a126c827d18db20a0d59362e54de877f0a3076')
- version('5.3-4', sha256='72707187471fd35c5379ae8c9b7b0ca87e302557f09cb3979d1cdb2e2500b01a')
- version('5.2-0', sha256='d3927547109064cbe7b0f955144f53204b5dc86c6b2dbc8f0551a74140ab02e1')
- version('5.1-4', sha256='e2fc36fe6ca3a69d69cdafd9533a4ff35090fdfb01df126f6a49156f4aa3376c')
- version('5.1-3', sha256='d37d121bc2acdbacc20cea04a1ed4489a575079e2a7b17b4a9823ee283857317')
- version('5.1-2', sha256='0d404e74768a8f98c6a5e9a48bd2cf4280125831a5dcd8c7f7b57922f57e016b')
+ version("5.4-3", sha256="6619d4fdc183ab492615d44961a126c827d18db20a0d59362e54de877f0a3076")
+ version("5.3-4", sha256="72707187471fd35c5379ae8c9b7b0ca87e302557f09cb3979d1cdb2e2500b01a")
+ version("5.2-0", sha256="d3927547109064cbe7b0f955144f53204b5dc86c6b2dbc8f0551a74140ab02e1")
+ version("5.1-4", sha256="e2fc36fe6ca3a69d69cdafd9533a4ff35090fdfb01df126f6a49156f4aa3376c")
+ version("5.1-3", sha256="d37d121bc2acdbacc20cea04a1ed4489a575079e2a7b17b4a9823ee283857317")
+ version("5.1-2", sha256="0d404e74768a8f98c6a5e9a48bd2cf4280125831a5dcd8c7f7b57922f57e016b")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-gamlss-data@5.0-0:', type=('build', 'run'))
- depends_on('r-gamlss-dist@4.3.1:', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-gamlss-data@5.0-0:", type=("build", "run"))
+ depends_on("r-gamlss-dist@4.3.1:", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gamm4/package.py b/var/spack/repos/builtin/packages/r-gamm4/package.py
index c9a6d205b0..2a3be44f80 100644
--- a/var/spack/repos/builtin/packages/r-gamm4/package.py
+++ b/var/spack/repos/builtin/packages/r-gamm4/package.py
@@ -14,9 +14,9 @@ class RGamm4(RPackage):
cran = "gamm4"
- version('0.2-6', sha256='57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89')
+ version("0.2-6", sha256="57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-lme4@1.0:', type=('build', 'run'))
- depends_on('r-mgcv@1.7-23:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-lme4@1.0:", type=("build", "run"))
+ depends_on("r-mgcv@1.7-23:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gargle/package.py b/var/spack/repos/builtin/packages/r-gargle/package.py
index 274b787ef2..54583225ff 100644
--- a/var/spack/repos/builtin/packages/r-gargle/package.py
+++ b/var/spack/repos/builtin/packages/r-gargle/package.py
@@ -16,15 +16,15 @@ class RGargle(RPackage):
cran = "gargle"
- version('1.2.0', sha256='4d46ca2933f19429ca5a2cfe47b4130a75c7cd9931c7758ade55bac0c091d73b')
+ version("1.2.0", sha256="4d46ca2933f19429ca5a2cfe47b4130a75c7cd9931c7758ade55bac0c091d73b")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-cli@3.0.0:', type=('build', 'run'))
- depends_on('r-fs@1.3.1:', type=('build', 'run'))
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-httr@1.4.0:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
- depends_on('r-rlang@0.4.9:', type=('build', 'run'))
- depends_on('r-rstudioapi', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-cli@3.0.0:", type=("build", "run"))
+ depends_on("r-fs@1.3.1:", type=("build", "run"))
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-httr@1.4.0:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
+ depends_on("r-rlang@0.4.9:", type=("build", "run"))
+ depends_on("r-rstudioapi", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gbm/package.py b/var/spack/repos/builtin/packages/r-gbm/package.py
index b8bab0b528..b2a930fe8b 100644
--- a/var/spack/repos/builtin/packages/r-gbm/package.py
+++ b/var/spack/repos/builtin/packages/r-gbm/package.py
@@ -18,12 +18,12 @@ class RGbm(RPackage):
cran = "gbm"
- version('2.1.8', sha256='7d5de3b980b8f23275e86ac9bed48a497c9aa53c58e407dfd676309f38272ec1')
- version('2.1.5', sha256='06fbde10639dfa886554379b40a7402d1f1236a9152eca517e97738895a4466f')
- version('2.1.3', sha256='eaf24be931d762f1ccca4f90e15997719d01005f152160a3d20d858a0bbed92b')
+ version("2.1.8", sha256="7d5de3b980b8f23275e86ac9bed48a497c9aa53c58e407dfd676309f38272ec1")
+ version("2.1.5", sha256="06fbde10639dfa886554379b40a7402d1f1236a9152eca517e97738895a4466f")
+ version("2.1.3", sha256="eaf24be931d762f1ccca4f90e15997719d01005f152160a3d20d858a0bbed92b")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
- depends_on('r-gridextra', type=('build', 'run'), when='@2.1.5')
+ depends_on("r-gridextra", type=("build", "run"), when="@2.1.5")
diff --git a/var/spack/repos/builtin/packages/r-gbrd/package.py b/var/spack/repos/builtin/packages/r-gbrd/package.py
index 8f1ce0d672..e535108b7e 100644
--- a/var/spack/repos/builtin/packages/r-gbrd/package.py
+++ b/var/spack/repos/builtin/packages/r-gbrd/package.py
@@ -14,4 +14,4 @@ class RGbrd(RPackage):
cran = "gbRd"
- version('0.4-11', sha256='0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b')
+ version("0.4-11", sha256="0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b")
diff --git a/var/spack/repos/builtin/packages/r-gcrma/package.py b/var/spack/repos/builtin/packages/r-gcrma/package.py
index 653450eb51..a169685f1e 100644
--- a/var/spack/repos/builtin/packages/r-gcrma/package.py
+++ b/var/spack/repos/builtin/packages/r-gcrma/package.py
@@ -13,21 +13,21 @@ class RGcrma(RPackage):
bioc = "gcrma"
- version('2.68.0', commit='c14063ff5490fac8d60530826613d728e68b3d66')
- version('2.66.0', commit='ba134b392def89d36b5639a187e0c25a4353457b')
- version('2.62.0', commit='b91bdf5bf4e875defedb4d4e3e1e75867773287a')
- version('2.56.0', commit='1f37bbfb4d3ed542b1e90704ab0fa8914d5e0224')
- version('2.54.0', commit='9515fdbbc766a2a3b2ec61cf530c57bbded77ccc')
- version('2.52.0', commit='d6e90b05432d2a8b0583d3fed001811ecdf49d7d')
- version('2.50.0', commit='cbba460d131e1073059500b8d7b168a78f963992')
- version('2.48.0', commit='3ea0eb0b5c15ffb24df76620667ae7996ed715b4')
-
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-affy@1.23.2:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affyio@1.13.3:', type=('build', 'run'))
- depends_on('r-xvector', type=('build', 'run'))
- depends_on('r-biostrings@2.11.32:', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@2.54.0:')
-
- depends_on('r-biocinstaller', type=('build', 'run'), when='@:2.52.0')
+ version("2.68.0", commit="c14063ff5490fac8d60530826613d728e68b3d66")
+ version("2.66.0", commit="ba134b392def89d36b5639a187e0c25a4353457b")
+ version("2.62.0", commit="b91bdf5bf4e875defedb4d4e3e1e75867773287a")
+ version("2.56.0", commit="1f37bbfb4d3ed542b1e90704ab0fa8914d5e0224")
+ version("2.54.0", commit="9515fdbbc766a2a3b2ec61cf530c57bbded77ccc")
+ version("2.52.0", commit="d6e90b05432d2a8b0583d3fed001811ecdf49d7d")
+ version("2.50.0", commit="cbba460d131e1073059500b8d7b168a78f963992")
+ version("2.48.0", commit="3ea0eb0b5c15ffb24df76620667ae7996ed715b4")
+
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-affy@1.23.2:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affyio@1.13.3:", type=("build", "run"))
+ depends_on("r-xvector", type=("build", "run"))
+ depends_on("r-biostrings@2.11.32:", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@2.54.0:")
+
+ depends_on("r-biocinstaller", type=("build", "run"), when="@:2.52.0")
diff --git a/var/spack/repos/builtin/packages/r-gdalutilities/package.py b/var/spack/repos/builtin/packages/r-gdalutilities/package.py
index c9192558ea..fb98e232bf 100644
--- a/var/spack/repos/builtin/packages/r-gdalutilities/package.py
+++ b/var/spack/repos/builtin/packages/r-gdalutilities/package.py
@@ -23,7 +23,7 @@ class RGdalutilities(RPackage):
cran = "gdalUtilities"
- version('1.2.1', sha256='8f5dcc0c077bf972da9d574c62c992935311afb76a97f03ace719bc6da214a9c')
- version('1.2.0', sha256='ead446f7f77f952b72b9ed80c5e415cb9d8d30cfb2439c8d1a8156fa55e2b65b')
+ version("1.2.1", sha256="8f5dcc0c077bf972da9d574c62c992935311afb76a97f03ace719bc6da214a9c")
+ version("1.2.0", sha256="ead446f7f77f952b72b9ed80c5e415cb9d8d30cfb2439c8d1a8156fa55e2b65b")
- depends_on('r-sf', type=('build', 'run'))
+ depends_on("r-sf", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gdalutils/package.py b/var/spack/repos/builtin/packages/r-gdalutils/package.py
index e0c4ee775f..970098c5dd 100644
--- a/var/spack/repos/builtin/packages/r-gdalutils/package.py
+++ b/var/spack/repos/builtin/packages/r-gdalutils/package.py
@@ -12,13 +12,13 @@ class RGdalutils(RPackage):
cran = "gdalUtils"
- version('2.0.3.2', sha256='4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f')
- version('2.0.1.14', sha256='890a502b2eb5f1b23655fab94caad5d32adca05b93f5db1d96d9dcde3f0e7737')
+ version("2.0.3.2", sha256="4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f")
+ version("2.0.1.14", sha256="890a502b2eb5f1b23655fab94caad5d32adca05b93f5db1d96d9dcde3f0e7737")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-r-utils', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-rgdal', type=('build', 'run'))
- depends_on('gdal')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-r-utils", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-rgdal", type=("build", "run"))
+ depends_on("gdal")
diff --git a/var/spack/repos/builtin/packages/r-gdata/package.py b/var/spack/repos/builtin/packages/r-gdata/package.py
index 3017846beb..ef91f64bb3 100644
--- a/var/spack/repos/builtin/packages/r-gdata/package.py
+++ b/var/spack/repos/builtin/packages/r-gdata/package.py
@@ -33,10 +33,10 @@ class RGdata(RPackage):
cran = "gdata"
- version('2.18.0.1', sha256='5e2f3d5b9398d52a4c07a4d35f5f936450a44567c7db8d8f68b4cc6946e032d9')
- version('2.18.0', sha256='4b287f59f5bbf5fcbf18db16477852faac4a605b10c5284c46b93fa6e9918d7f')
- version('2.17.0', sha256='8097ec0e4868f6bf746f821cff7842f696e874bb3a84f1b2aa977ecd961c3e4e')
+ version("2.18.0.1", sha256="5e2f3d5b9398d52a4c07a4d35f5f936450a44567c7db8d8f68b4cc6946e032d9")
+ version("2.18.0", sha256="4b287f59f5bbf5fcbf18db16477852faac4a605b10c5284c46b93fa6e9918d7f")
+ version("2.17.0", sha256="8097ec0e4868f6bf746f821cff7842f696e874bb3a84f1b2aa977ecd961c3e4e")
- depends_on('r@2.3.0:', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('perl@5.10.0:')
+ depends_on("r@2.3.0:", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("perl@5.10.0:")
diff --git a/var/spack/repos/builtin/packages/r-gdsfmt/package.py b/var/spack/repos/builtin/packages/r-gdsfmt/package.py
index f6f964d58c..d4dbdf4917 100644
--- a/var/spack/repos/builtin/packages/r-gdsfmt/package.py
+++ b/var/spack/repos/builtin/packages/r-gdsfmt/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RGdsfmt(RPackage):
"""R Interface to CoreArray Genomic Data Structure (GDS) Files.
- This package provides a high-level R interface to CoreArray Genomic Data
- Structure (GDS) data files, which are portable across platforms with
- hierarchical structure to store multiple scalable array-oriented data
- sets with metadata information. It is suited for large-scale datasets,
- especially for data which are much larger than the available random-
- access memory. The gdsfmt package offers the efficient operations
- specifically designed for integers of less than 8 bits, since a diploid
- genotype, like single-nucleotide polymorphism (SNP), usually occupies
- fewer bits than a byte. Data compression and decompression are available
- with relatively efficient random access. It is also allowed to read a
- GDS file in parallel with multiple R processes supported by the package
- parallel."""
+ This package provides a high-level R interface to CoreArray Genomic Data
+ Structure (GDS) data files, which are portable across platforms with
+ hierarchical structure to store multiple scalable array-oriented data
+ sets with metadata information. It is suited for large-scale datasets,
+ especially for data which are much larger than the available random-
+ access memory. The gdsfmt package offers the efficient operations
+ specifically designed for integers of less than 8 bits, since a diploid
+ genotype, like single-nucleotide polymorphism (SNP), usually occupies
+ fewer bits than a byte. Data compression and decompression are available
+ with relatively efficient random access. It is also allowed to read a
+ GDS file in parallel with multiple R processes supported by the package
+ parallel."""
bioc = "gdsfmt"
- version('1.32.0', commit='06f2097cc10b1888739f86e635383a0f2ee7e208')
- version('1.30.0', commit='d27dde6a70bb2295f5bbc8961152b45ccee7a652')
- version('1.26.1', commit='bd180b21b1ace120035f0da255cbf6f13088f069')
- version('1.20.0', commit='b1fbaba0a5ace3dc45daecc85168651cd85dce00')
- version('1.18.1', commit='b911b953e9db7988e93ec2010b0ab1e384d073c9')
- version('1.16.0', commit='49b011452585e432b983b68466a230c9b71d8a95')
- version('1.14.1', commit='15743647b7eea5b82d3284858b4591fb6e59959d')
- version('1.12.0', commit='d705a95b0bea7be2a2b37e939f45017337ba0fb6')
+ version("1.32.0", commit="06f2097cc10b1888739f86e635383a0f2ee7e208")
+ version("1.30.0", commit="d27dde6a70bb2295f5bbc8961152b45ccee7a652")
+ version("1.26.1", commit="bd180b21b1ace120035f0da255cbf6f13088f069")
+ version("1.20.0", commit="b1fbaba0a5ace3dc45daecc85168651cd85dce00")
+ version("1.18.1", commit="b911b953e9db7988e93ec2010b0ab1e384d073c9")
+ version("1.16.0", commit="49b011452585e432b983b68466a230c9b71d8a95")
+ version("1.14.1", commit="15743647b7eea5b82d3284858b4591fb6e59959d")
+ version("1.12.0", commit="d705a95b0bea7be2a2b37e939f45017337ba0fb6")
- depends_on('r@2.15.0:', type=('build', 'run'))
+ depends_on("r@2.15.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geiger/package.py b/var/spack/repos/builtin/packages/r-geiger/package.py
index ab59267ebe..60b18959cd 100644
--- a/var/spack/repos/builtin/packages/r-geiger/package.py
+++ b/var/spack/repos/builtin/packages/r-geiger/package.py
@@ -14,22 +14,22 @@ class RGeiger(RPackage):
cran = "geiger"
- version('2.0.10', sha256='2895cfb73fb91764be2ec3f931e4f3b2e75ae00a1431af4b40dc90e7c0693be0')
- version('2.0.9', sha256='c8c8c871b4eb03ba1dc2fd49db304741b16ede99fe49bb5f9b2c220b9e2a8066')
- version('2.0.7', sha256='d200736c4ad7ed4bc55a13e7d0126ddc7fed88e245cd5706d4692aaa437e9596')
- version('2.0.6.2', sha256='9153047b608d652821251206d1450bb3f517c8884379f498a695315574ae001d')
- version('2.0.6.1', sha256='2a95e20a3a90c096343b014344dd97e699e954da99c151c17fc6c245c77dba0b')
- version('2.0.6', sha256='e13b2c526378eaf9356b00bbe21b3c2c956327f8062fed638ccc1f49591c3eff')
+ version("2.0.10", sha256="2895cfb73fb91764be2ec3f931e4f3b2e75ae00a1431af4b40dc90e7c0693be0")
+ version("2.0.9", sha256="c8c8c871b4eb03ba1dc2fd49db304741b16ede99fe49bb5f9b2c220b9e2a8066")
+ version("2.0.7", sha256="d200736c4ad7ed4bc55a13e7d0126ddc7fed88e245cd5706d4692aaa437e9596")
+ version("2.0.6.2", sha256="9153047b608d652821251206d1450bb3f517c8884379f498a695315574ae001d")
+ version("2.0.6.1", sha256="2a95e20a3a90c096343b014344dd97e699e954da99c151c17fc6c245c77dba0b")
+ version("2.0.6", sha256="e13b2c526378eaf9356b00bbe21b3c2c956327f8062fed638ccc1f49591c3eff")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r-ape@3.0-6:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-subplex', type=('build', 'run'))
- depends_on('r-desolve@1.7:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-ncbit', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-phytools@0.7.31:', type=('build', 'run'), when='@2.0.7:')
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r-ape@3.0-6:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-subplex", type=("build", "run"))
+ depends_on("r-desolve@1.7:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-ncbit", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-phytools@0.7.31:", type=("build", "run"), when="@2.0.7:")
diff --git a/var/spack/repos/builtin/packages/r-genefilter/package.py b/var/spack/repos/builtin/packages/r-genefilter/package.py
index bd2f0f2adf..65f63068ad 100644
--- a/var/spack/repos/builtin/packages/r-genefilter/package.py
+++ b/var/spack/repos/builtin/packages/r-genefilter/package.py
@@ -13,21 +13,21 @@ class RGenefilter(RPackage):
bioc = "genefilter"
- version('1.78.0', commit='2f574388971641d3a71858f5c34606c04fcd2ba2')
- version('1.76.0', commit='8d630fd25f0d2a4101e05e123c3959591203a7ea')
- version('1.72.1', commit='b01b00a766982ef7d80b90a252085c8c4f085e1b')
- version('1.72.0', commit='8cb0b2e73531a417d53e5625bcf436265cdbe101')
- version('1.66.0', commit='1c4c471ccca873bf92dcf0b50f611eaa64c4f0cf')
- version('1.64.0', commit='82e91b7751bae997b9c898c219ea201fd02a8512')
- version('1.62.0', commit='eb119894f015c759f93f458af7733bdb770a22ad')
- version('1.60.0', commit='c98f695253c330a9380b2b4ffa27f3b7d66773e4')
- version('1.58.1', commit='ace2556049677f60882adfe91f8cc96791556fc2')
-
- depends_on('r-biocgenerics', type=('build', 'run'), when='@1.78.0:')
- depends_on('r-biocgenerics@0.31.2:', type=('build', 'run'), when='@1.68.0:')
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
-
- depends_on('r-s4vectors@0.9.42:', type=('build', 'run'), when='@:1.66.0')
+ version("1.78.0", commit="2f574388971641d3a71858f5c34606c04fcd2ba2")
+ version("1.76.0", commit="8d630fd25f0d2a4101e05e123c3959591203a7ea")
+ version("1.72.1", commit="b01b00a766982ef7d80b90a252085c8c4f085e1b")
+ version("1.72.0", commit="8cb0b2e73531a417d53e5625bcf436265cdbe101")
+ version("1.66.0", commit="1c4c471ccca873bf92dcf0b50f611eaa64c4f0cf")
+ version("1.64.0", commit="82e91b7751bae997b9c898c219ea201fd02a8512")
+ version("1.62.0", commit="eb119894f015c759f93f458af7733bdb770a22ad")
+ version("1.60.0", commit="c98f695253c330a9380b2b4ffa27f3b7d66773e4")
+ version("1.58.1", commit="ace2556049677f60882adfe91f8cc96791556fc2")
+
+ depends_on("r-biocgenerics", type=("build", "run"), when="@1.78.0:")
+ depends_on("r-biocgenerics@0.31.2:", type=("build", "run"), when="@1.68.0:")
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+
+ depends_on("r-s4vectors@0.9.42:", type=("build", "run"), when="@:1.66.0")
diff --git a/var/spack/repos/builtin/packages/r-genelendatabase/package.py b/var/spack/repos/builtin/packages/r-genelendatabase/package.py
index f91a8b0472..85287fea85 100644
--- a/var/spack/repos/builtin/packages/r-genelendatabase/package.py
+++ b/var/spack/repos/builtin/packages/r-genelendatabase/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RGenelendatabase(RPackage):
"""Lengths of mRNA transcripts for a number of genomes.
- Length of mRNA transcripts for a number of genomes and gene ID formats,
- largely based on UCSC table browser"""
+ Length of mRNA transcripts for a number of genomes and gene ID formats,
+ largely based on UCSC table browser"""
bioc = "geneLenDataBase"
- version('1.32.0', commit='eaa193a2c6d502c6d59113fd42f66761b8730594')
- version('1.30.0', commit='b3cc755f1ffcbb2eacd9ea45e11f39f1639782b1')
- version('1.26.0', commit='2724715ae23a6647d1c0c6e934720aad9377d65e')
- version('1.20.0', commit='70a1abed00ee68f7bfa07c42c011f9edae9915e4')
- version('1.18.0', commit='77db87e5a4819bf94761fabef0d2ff741a1c5d07')
- version('1.16.0', commit='c2a8b2359c6c59388853d6f6d15d71dffb17a198')
- version('1.14.0', commit='b456b3ffb04eaf335893fdec2bb10f6795dd7e08')
- version('1.12.0', commit='85d6536763c12850e6c01da9e2f9e0b9c07601fe')
+ version("1.32.0", commit="eaa193a2c6d502c6d59113fd42f66761b8730594")
+ version("1.30.0", commit="b3cc755f1ffcbb2eacd9ea45e11f39f1639782b1")
+ version("1.26.0", commit="2724715ae23a6647d1c0c6e934720aad9377d65e")
+ version("1.20.0", commit="70a1abed00ee68f7bfa07c42c011f9edae9915e4")
+ version("1.18.0", commit="77db87e5a4819bf94761fabef0d2ff741a1c5d07")
+ version("1.16.0", commit="c2a8b2359c6c59388853d6f6d15d71dffb17a198")
+ version("1.14.0", commit="b456b3ffb04eaf335893fdec2bb10f6795dd7e08")
+ version("1.12.0", commit="85d6536763c12850e6c01da9e2f9e0b9c07601fe")
- depends_on('r@2.11.0:', type=('build', 'run'))
- depends_on('r-rtracklayer', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.3.15:', type=('build', 'run'))
+ depends_on("r@2.11.0:", type=("build", "run"))
+ depends_on("r-rtracklayer", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.3.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-genemeta/package.py b/var/spack/repos/builtin/packages/r-genemeta/package.py
index cdb597022c..0e036ae6df 100644
--- a/var/spack/repos/builtin/packages/r-genemeta/package.py
+++ b/var/spack/repos/builtin/packages/r-genemeta/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RGenemeta(RPackage):
"""MetaAnalysis for High Throughput Experiments.
- A collection of meta-analysis tools for analysing high throughput
- experimental data"""
+ A collection of meta-analysis tools for analysing high throughput
+ experimental data"""
bioc = "GeneMeta"
- version('1.68.0', commit='4213c0205d477660195300a0aa9751972f86bf91')
- version('1.66.0', commit='c16eb09492f08f6cc0f253fafa3fa5dce35dcdba')
- version('1.62.0', commit='eb4273ff5867e39592f50b97b454fa5e32b4a9bf')
- version('1.56.0', commit='cb2c9e353d34ea9f3db06cb236c7a89674f2682d')
- version('1.54.0', commit='932553cd8df82b7df804fccda9bfd4b0f36d79d7')
- version('1.52.0', commit='1f21759984a5852c42a19e89ee53ffd72053d49c')
- version('1.50.0', commit='0f8603653285698ed451fcbf536a4b3f90015f92')
- version('1.48.0', commit='68c65304d37f5a4722cf4c25afb23214c3a2f4c8')
+ version("1.68.0", commit="4213c0205d477660195300a0aa9751972f86bf91")
+ version("1.66.0", commit="c16eb09492f08f6cc0f253fafa3fa5dce35dcdba")
+ version("1.62.0", commit="eb4273ff5867e39592f50b97b454fa5e32b4a9bf")
+ version("1.56.0", commit="cb2c9e353d34ea9f3db06cb236c7a89674f2682d")
+ version("1.54.0", commit="932553cd8df82b7df804fccda9bfd4b0f36d79d7")
+ version("1.52.0", commit="1f21759984a5852c42a19e89ee53ffd72053d49c")
+ version("1.50.0", commit="0f8603653285698ed451fcbf536a4b3f90015f92")
+ version("1.48.0", commit="68c65304d37f5a4722cf4c25afb23214c3a2f4c8")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase@2.5.5:', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase@2.5.5:", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geneplotter/package.py b/var/spack/repos/builtin/packages/r-geneplotter/package.py
index f3d146dab0..580092dd4c 100644
--- a/var/spack/repos/builtin/packages/r-geneplotter/package.py
+++ b/var/spack/repos/builtin/packages/r-geneplotter/package.py
@@ -13,19 +13,19 @@ class RGeneplotter(RPackage):
bioc = "geneplotter"
- version('1.74.0', commit='ca819565829eac7a9a98e3cafafd6c06a466fddf')
- version('1.72.0', commit='57a1d830ba7844fda5236af0153d5b5587634f96')
- version('1.68.0', commit='f1fea7e468fb24fdfa93ef4493600a4d8d183f69')
- version('1.62.0', commit='1fbaddde11014b453b131860409f89cd784e8e48')
- version('1.60.0', commit='6723a9fc0730e146187e79c2ddab6a68186dc5ad')
- version('1.58.0', commit='2b3f44804d61a40cfe7eaedf74ac9f5a054f7fde')
- version('1.56.0', commit='881d25aece3dc00cc4280457ffecdc25e93bb1f1')
- version('1.54.0', commit='efdd946e092e44e35fde1eb4bcc5ec1d52090940')
+ version("1.74.0", commit="ca819565829eac7a9a98e3cafafd6c06a466fddf")
+ version("1.72.0", commit="57a1d830ba7844fda5236af0153d5b5587634f96")
+ version("1.68.0", commit="f1fea7e468fb24fdfa93ef4493600a4d8d183f69")
+ version("1.62.0", commit="1fbaddde11014b453b131860409f89cd784e8e48")
+ version("1.60.0", commit="6723a9fc0730e146187e79c2ddab6a68186dc5ad")
+ version("1.58.0", commit="2b3f44804d61a40cfe7eaedf74ac9f5a054f7fde")
+ version("1.56.0", commit="881d25aece3dc00cc4280457ffecdc25e93bb1f1")
+ version("1.54.0", commit="efdd946e092e44e35fde1eb4bcc5ec1d52090940")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-generics/package.py b/var/spack/repos/builtin/packages/r-generics/package.py
index 8a7133fbd1..da4b6585eb 100644
--- a/var/spack/repos/builtin/packages/r-generics/package.py
+++ b/var/spack/repos/builtin/packages/r-generics/package.py
@@ -15,10 +15,10 @@ class RGenerics(RPackage):
cran = "generics"
- version('0.1.2', sha256='63eab37a9148f820ce2d67bda3dab6dedb9db6890baa5284949c39ab1b4c5898')
- version('0.1.1', sha256='a2478ebf1a0faa8855a152f4e747ad969a800597434196ed1f71975a9eb11912')
- version('0.1.0', sha256='ab71d1bdbb66c782364c61cede3c1186d6a94c03635f9af70d926e2c1ac88763')
- version('0.0.2', sha256='71b3d1b719ce89e71dd396ac8bc6aa5f1cd99bbbf03faff61dfbbee32fec6176')
+ version("0.1.2", sha256="63eab37a9148f820ce2d67bda3dab6dedb9db6890baa5284949c39ab1b4c5898")
+ version("0.1.1", sha256="a2478ebf1a0faa8855a152f4e747ad969a800597434196ed1f71975a9eb11912")
+ version("0.1.0", sha256="ab71d1bdbb66c782364c61cede3c1186d6a94c03635f9af70d926e2c1ac88763")
+ version("0.0.2", sha256="71b3d1b719ce89e71dd396ac8bc6aa5f1cd99bbbf03faff61dfbbee32fec6176")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@0.1.1:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@0.1.1:")
diff --git a/var/spack/repos/builtin/packages/r-genetics/package.py b/var/spack/repos/builtin/packages/r-genetics/package.py
index fde4f986a5..bf4588f03e 100644
--- a/var/spack/repos/builtin/packages/r-genetics/package.py
+++ b/var/spack/repos/builtin/packages/r-genetics/package.py
@@ -18,11 +18,11 @@ class RGenetics(RPackage):
cran = "genetics"
- version('1.3.8.1.3', sha256='fef2c95f6a57f32b3cf4acf003480439462bb28297c501c617de307bfeee9252')
- version('1.3.8.1.2', sha256='30cb67de2e901578fd802deb7fbfea6c93024c9fb6ea66cad88430a3a2a51eec')
+ version("1.3.8.1.3", sha256="fef2c95f6a57f32b3cf4acf003480439462bb28297c501c617de307bfeee9252")
+ version("1.3.8.1.2", sha256="30cb67de2e901578fd802deb7fbfea6c93024c9fb6ea66cad88430a3a2a51eec")
- depends_on('r-combinat', type=('build', 'run'))
- depends_on('r-gdata', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
+ depends_on("r-combinat", type=("build", "run"))
+ depends_on("r-gdata", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-genie3/package.py b/var/spack/repos/builtin/packages/r-genie3/package.py
index 5959844b36..7c89db642d 100644
--- a/var/spack/repos/builtin/packages/r-genie3/package.py
+++ b/var/spack/repos/builtin/packages/r-genie3/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RGenie3(RPackage):
"""GEne Network Inference with Ensemble of trees.
- This package implements the GENIE3 algorithm for inferring gene
- regulatory networks from expression data."""
+ This package implements the GENIE3 algorithm for inferring gene
+ regulatory networks from expression data."""
bioc = "GENIE3"
- version('1.18.0', commit='f16b25ef50978a4a497eb2f911e21f2e839fa33c')
- version('1.16.0', commit='5543b1b883d3a1c92e955de6668444278edc2bdf')
- version('1.12.0', commit='14289cee9bed113ab35ba03bcaac4a30e5784497')
- version('1.6.0', commit='d6a49182e098342afe77f01c322dfc7b72450502')
- version('1.4.3', commit='ae719c759f23f09d28fcf1acc45b860cd7761f08')
- version('1.2.1', commit='1b56fe8184d521d1bb247f000efe9e2b540604c9')
- version('1.0.0', commit='eb7c95ed12ea50d61e8fa20bc2b25ae9d74c302f')
+ version("1.18.0", commit="f16b25ef50978a4a497eb2f911e21f2e839fa33c")
+ version("1.16.0", commit="5543b1b883d3a1c92e955de6668444278edc2bdf")
+ version("1.12.0", commit="14289cee9bed113ab35ba03bcaac4a30e5784497")
+ version("1.6.0", commit="d6a49182e098342afe77f01c322dfc7b72450502")
+ version("1.4.3", commit="ae719c759f23f09d28fcf1acc45b860cd7761f08")
+ version("1.2.1", commit="1b56fe8184d521d1bb247f000efe9e2b540604c9")
+ version("1.0.0", commit="eb7c95ed12ea50d61e8fa20bc2b25ae9d74c302f")
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'), when='@1.16.0:')
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"), when="@1.16.0:")
diff --git a/var/spack/repos/builtin/packages/r-genomeinfodb/package.py b/var/spack/repos/builtin/packages/r-genomeinfodb/package.py
index 667ad29936..de08108955 100644
--- a/var/spack/repos/builtin/packages/r-genomeinfodb/package.py
+++ b/var/spack/repos/builtin/packages/r-genomeinfodb/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class RGenomeinfodb(RPackage):
"""Utilities for manipulating chromosome names, including modifying them to
- follow a particular naming style.
+ follow a particular naming style.
- Contains data and functions that define and allow translation between
- different chromosome sequence naming conventions (e.g., "chr1" versus
- "1"), including a function that attempts to place sequence names in
- their natural, rather than lexicographic, order."""
+ Contains data and functions that define and allow translation between
+ different chromosome sequence naming conventions (e.g., "chr1" versus
+ "1"), including a function that attempts to place sequence names in
+ their natural, rather than lexicographic, order."""
bioc = "GenomeInfoDb"
- version('1.32.2', commit='2e40af38f00ee86d2c83d140e234c1349baa27de')
- version('1.30.1', commit='bf8b385a2ffcecf9b41e581794056f267895863d')
- version('1.26.2', commit='96dd27a7e3ef476790b1475aab50dbbed7df67a2')
- version('1.20.0', commit='ea771e3b429ef17fb912fb37333556c6f77f2265')
- version('1.18.2', commit='557b75ea7734749a2650d30f5c5d52c57a6bcc6f')
- version('1.16.0', commit='6543dad89bbc2c275010b329eb114b237fd712fa')
- version('1.14.0', commit='4978308a57d887b764cc4ce83724ca1758f580f6')
- version('1.12.3', commit='2deef3f0571b7f622483257bc22d2509ab5a0369')
+ version("1.32.2", commit="2e40af38f00ee86d2c83d140e234c1349baa27de")
+ version("1.30.1", commit="bf8b385a2ffcecf9b41e581794056f267895863d")
+ version("1.26.2", commit="96dd27a7e3ef476790b1475aab50dbbed7df67a2")
+ version("1.20.0", commit="ea771e3b429ef17fb912fb37333556c6f77f2265")
+ version("1.18.2", commit="557b75ea7734749a2650d30f5c5d52c57a6bcc6f")
+ version("1.16.0", commit="6543dad89bbc2c275010b329eb114b237fd712fa")
+ version("1.14.0", commit="4978308a57d887b764cc4ce83724ca1758f580f6")
+ version("1.12.3", commit="2deef3f0571b7f622483257bc22d2509ab5a0369")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.30.1:')
- depends_on('r-biocgenerics@0.13.8:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@1.30.1:')
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-s4vectors@0.25.12:', type=('build', 'run'), when='@1.26.2:')
- depends_on('r-iranges@1.99.26:', type=('build', 'run'))
- depends_on('r-iranges@2.13.12:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-rcurl', type=('build', 'run'))
- depends_on('r-genomeinfodbdata', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.30.1:")
+ depends_on("r-biocgenerics@0.13.8:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@1.30.1:")
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-s4vectors@0.25.12:", type=("build", "run"), when="@1.26.2:")
+ depends_on("r-iranges@1.99.26:", type=("build", "run"))
+ depends_on("r-iranges@2.13.12:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-rcurl", type=("build", "run"))
+ depends_on("r-genomeinfodbdata", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-genomeinfodbdata/package.py b/var/spack/repos/builtin/packages/r-genomeinfodbdata/package.py
index f7a00311b8..7226c97b66 100644
--- a/var/spack/repos/builtin/packages/r-genomeinfodbdata/package.py
+++ b/var/spack/repos/builtin/packages/r-genomeinfodbdata/package.py
@@ -8,24 +8,32 @@ from spack.package import *
class RGenomeinfodbdata(RPackage):
"""for mapping between NCBI taxonomy ID and species. Used by functions
- in the GenomeInfoDb package."""
+ in the GenomeInfoDb package."""
bioc = "GenomeInfoDbData"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/GenomeInfoDbData_0.99.0.tar.gz"
- version('1.2.8',
- url='https://bioconductor.org/packages/3.15/data/annotation/src/contrib/GenomeInfoDbData_1.2.8.tar.gz',
- sha256='576750330a011c1eccb47c7154ca1b40ae4cd473fd7973f6c2955237a0729eb4')
- version('1.2.7',
- url='https://bioconductor.org/packages/3.14/data/annotation/src/contrib/GenomeInfoDbData_1.2.7.tar.gz',
- sha256='217cbad0dd3ed8f0da6b21c7d35df5737bcbd21e317ca71d2fb6ec4c316b1987')
- version('1.2.1',
- url='https://bioconductor.org/packages/3.9/data/annotation/src/contrib/GenomeInfoDbData_1.2.1.tar.gz',
- sha256='75e6d683a29b8baeec66ba5194aa59a6aa69b04fae5a9c718a105c155fb41711')
- version('1.1.0',
- url='https://bioconductor.org/packages/3.7/data/annotation/src/contrib/GenomeInfoDbData_1.1.0.tar.gz',
- sha256='6efdca22839c90d455843bdab7c0ecb5d48e3b6c2f7b4882d3210a6bbad4304c')
- version('0.99.0', sha256='457049804bbd70f218c1c84067a23e83bdecb7304a3e4d8b697fee0b16dc1888')
+ version(
+ "1.2.8",
+ url="https://bioconductor.org/packages/3.15/data/annotation/src/contrib/GenomeInfoDbData_1.2.8.tar.gz",
+ sha256="576750330a011c1eccb47c7154ca1b40ae4cd473fd7973f6c2955237a0729eb4",
+ )
+ version(
+ "1.2.7",
+ url="https://bioconductor.org/packages/3.14/data/annotation/src/contrib/GenomeInfoDbData_1.2.7.tar.gz",
+ sha256="217cbad0dd3ed8f0da6b21c7d35df5737bcbd21e317ca71d2fb6ec4c316b1987",
+ )
+ version(
+ "1.2.1",
+ url="https://bioconductor.org/packages/3.9/data/annotation/src/contrib/GenomeInfoDbData_1.2.1.tar.gz",
+ sha256="75e6d683a29b8baeec66ba5194aa59a6aa69b04fae5a9c718a105c155fb41711",
+ )
+ version(
+ "1.1.0",
+ url="https://bioconductor.org/packages/3.7/data/annotation/src/contrib/GenomeInfoDbData_1.1.0.tar.gz",
+ sha256="6efdca22839c90d455843bdab7c0ecb5d48e3b6c2f7b4882d3210a6bbad4304c",
+ )
+ version("0.99.0", sha256="457049804bbd70f218c1c84067a23e83bdecb7304a3e4d8b697fee0b16dc1888")
- depends_on('r@3.5:', type=('build', 'run'), when='@1.2.1:')
- depends_on('r@3.3:', type=('build', 'run'), when='@0.99.0:1.1.0')
+ depends_on("r@3.5:", type=("build", "run"), when="@1.2.1:")
+ depends_on("r@3.3:", type=("build", "run"), when="@0.99.0:1.1.0")
diff --git a/var/spack/repos/builtin/packages/r-genomicalignments/package.py b/var/spack/repos/builtin/packages/r-genomicalignments/package.py
index 785c0ac4f1..3a2cb8c2de 100644
--- a/var/spack/repos/builtin/packages/r-genomicalignments/package.py
+++ b/var/spack/repos/builtin/packages/r-genomicalignments/package.py
@@ -9,47 +9,47 @@ from spack.package import *
class RGenomicalignments(RPackage):
"""Representation and manipulation of short genomic alignments.
- Provides efficient containers for storing and manipulating short genomic
- alignments (typically obtained by aligning short reads to a reference
- genome). This includes read counting, computing the coverage, junction
- detection, and working with the nucleotide content of the alignments."""
+ Provides efficient containers for storing and manipulating short genomic
+ alignments (typically obtained by aligning short reads to a reference
+ genome). This includes read counting, computing the coverage, junction
+ detection, and working with the nucleotide content of the alignments."""
bioc = "GenomicAlignments"
- version('1.32.0', commit='7a660a914a04e2eb0758082b6f64c4124a887ef3')
- version('1.30.0', commit='2d2c5fce3529c2962fdcefd736d8b7f7c0ec2d54')
- version('1.26.0', commit='6c74c74ee53efcd880171126366fee4bd72357bc')
- version('1.20.1', commit='9dce402071e4cd945de7ff82ea574c79993625fd')
- version('1.18.1', commit='8ac41e5981cf343076044f451a984afb651688ab')
- version('1.16.0', commit='db032a459e5cf05a2a5c2059662a541827112974')
- version('1.14.2', commit='57b0b35d8b36069d4d94af86af051f0129b28eef')
- version('1.12.2', commit='b5d6f19e4a89b6c1c3e9e58e5ea4eb13870874ef')
+ version("1.32.0", commit="7a660a914a04e2eb0758082b6f64c4124a887ef3")
+ version("1.30.0", commit="2d2c5fce3529c2962fdcefd736d8b7f7c0ec2d54")
+ version("1.26.0", commit="6c74c74ee53efcd880171126366fee4bd72357bc")
+ version("1.20.1", commit="9dce402071e4cd945de7ff82ea574c79993625fd")
+ version("1.18.1", commit="8ac41e5981cf343076044f451a984afb651688ab")
+ version("1.16.0", commit="db032a459e5cf05a2a5c2059662a541827112974")
+ version("1.14.2", commit="57b0b35d8b36069d4d94af86af051f0129b28eef")
+ version("1.12.2", commit="b5d6f19e4a89b6c1c3e9e58e5ea4eb13870874ef")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-biocgenerics@0.15.3:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.28:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-s4vectors@0.19.11:', type=('build', 'run'), when='@1.18.1:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-iranges@2.5.36:', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@1.14.2:')
- depends_on('r-iranges@2.13.25:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-iranges@2.15.12:', type=('build', 'run'), when='@1.18.1:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-genomeinfodb@1.11.5:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.13.1:', type=('build', 'run'), when='@1.14.2:')
- depends_on('r-genomicranges@1.27.19:', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'), when='@1.14.2:')
- depends_on('r-genomicranges@1.31.19:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-genomicranges@1.33.4:', type=('build', 'run'), when='@1.18.1:')
- depends_on('r-genomicranges@1.41.5:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-summarizedexperiment@1.5.3:', type=('build', 'run'))
- depends_on('r-summarizedexperiment@1.9.13:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-biostrings@2.37.1:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-biostrings@2.55.7:', type=('build', 'run'), when='@1.26.0:')
- depends_on('r-rsamtools@1.21.4:', type=('build', 'run'))
- depends_on('r-rsamtools@1.31.2:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-biocparallel', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-biocgenerics@0.15.3:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.28:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-s4vectors@0.19.11:", type=("build", "run"), when="@1.18.1:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-iranges@2.5.36:", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@1.14.2:")
+ depends_on("r-iranges@2.13.25:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-iranges@2.15.12:", type=("build", "run"), when="@1.18.1:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-genomeinfodb@1.11.5:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.13.1:", type=("build", "run"), when="@1.14.2:")
+ depends_on("r-genomicranges@1.27.19:", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"), when="@1.14.2:")
+ depends_on("r-genomicranges@1.31.19:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-genomicranges@1.33.4:", type=("build", "run"), when="@1.18.1:")
+ depends_on("r-genomicranges@1.41.5:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-summarizedexperiment@1.5.3:", type=("build", "run"))
+ depends_on("r-summarizedexperiment@1.9.13:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-biostrings@2.37.1:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-biostrings@2.55.7:", type=("build", "run"), when="@1.26.0:")
+ depends_on("r-rsamtools@1.21.4:", type=("build", "run"))
+ depends_on("r-rsamtools@1.31.2:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-biocparallel", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-genomicfeatures/package.py b/var/spack/repos/builtin/packages/r-genomicfeatures/package.py
index 089df084dc..491b8632bc 100644
--- a/var/spack/repos/builtin/packages/r-genomicfeatures/package.py
+++ b/var/spack/repos/builtin/packages/r-genomicfeatures/package.py
@@ -9,54 +9,54 @@ from spack.package import *
class RGenomicfeatures(RPackage):
"""Conveniently import and query gene models.
- A set of tools and methods for making and manipulating transcript
- centric annotations. With these tools the user can easily download the
- genomic locations of the transcripts, exons and cds of a given organism,
- from either the UCSC Genome Browser or a BioMart database (more sources
- will be supported in the future). This information is then stored in a
- local database that keeps track of the relationship between transcripts,
- exons, cds and genes. Flexible methods are provided for extracting the
- desired features in a convenient format."""
+ A set of tools and methods for making and manipulating transcript
+ centric annotations. With these tools the user can easily download the
+ genomic locations of the transcripts, exons and cds of a given organism,
+ from either the UCSC Genome Browser or a BioMart database (more sources
+ will be supported in the future). This information is then stored in a
+ local database that keeps track of the relationship between transcripts,
+ exons, cds and genes. Flexible methods are provided for extracting the
+ desired features in a convenient format."""
bioc = "GenomicFeatures"
- version('1.48.3', commit='b0ddea0e101e3861928f3ad353348df047d90382')
- version('1.46.4', commit='d3ab6fd069624904ce7fcdf75dad884473f97975')
- version('1.42.1', commit='2e82891974138b0e976799d64a8938f0be61284d')
- version('1.36.4', commit='28082ec465c91ccaec6881ff348b380edac1b555')
- version('1.34.8', commit='c798b3bb111f4de30632303540074ec1875c1387')
- version('1.32.3', commit='80807d88048858846de3750cecb9431a0e5e69e1')
- version('1.30.3', commit='496bbf81beebd7c934b8d3dcea001e3e4a7d7dee')
- version('1.28.5', commit='ba92381ae93cb1392dad5e6acfab8f6c1d744834')
-
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.48.3:')
- depends_on('r-biocgenerics@0.1.0:', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.47:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.29:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-iranges@2.9.19:', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@1.30.3:')
- depends_on('r-iranges@2.13.23:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-genomeinfodb@1.11.4:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.13.1:', type=('build', 'run'), when='@1.30.3:')
- depends_on('r-genomeinfodb@1.15.4:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-genomeinfodb@1.25.7:', type=('build', 'run'), when='@1.42.1:')
- depends_on('r-genomicranges@1.27.6:', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'), when='@1.30.3:')
- depends_on('r-genomicranges@1.31.17:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-annotationdbi@1.33.15:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.41.4:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-rsqlite@2.0:', type=('build', 'run'))
- depends_on('r-rcurl', type=('build', 'run'))
- depends_on('r-xvector', type=('build', 'run'))
- depends_on('r-xvector@0.19.7:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-biostrings@2.23.3:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-biocio', type=('build', 'run'), when='@1.46.4:')
- depends_on('r-rtracklayer@1.29.24:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.39.7:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-rtracklayer@1.51.5:', type=('build', 'run'), when='@1.46.4:')
- depends_on('r-biomart@2.17.1:', type=('build', 'run'))
- depends_on('r-biobase@2.15.1:', type=('build', 'run'))
-
- depends_on('r-rmysql', type=('build', 'run'), when='@1.30.3')
+ version("1.48.3", commit="b0ddea0e101e3861928f3ad353348df047d90382")
+ version("1.46.4", commit="d3ab6fd069624904ce7fcdf75dad884473f97975")
+ version("1.42.1", commit="2e82891974138b0e976799d64a8938f0be61284d")
+ version("1.36.4", commit="28082ec465c91ccaec6881ff348b380edac1b555")
+ version("1.34.8", commit="c798b3bb111f4de30632303540074ec1875c1387")
+ version("1.32.3", commit="80807d88048858846de3750cecb9431a0e5e69e1")
+ version("1.30.3", commit="496bbf81beebd7c934b8d3dcea001e3e4a7d7dee")
+ version("1.28.5", commit="ba92381ae93cb1392dad5e6acfab8f6c1d744834")
+
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.48.3:")
+ depends_on("r-biocgenerics@0.1.0:", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.47:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.29:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-iranges@2.9.19:", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@1.30.3:")
+ depends_on("r-iranges@2.13.23:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-genomeinfodb@1.11.4:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.13.1:", type=("build", "run"), when="@1.30.3:")
+ depends_on("r-genomeinfodb@1.15.4:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-genomeinfodb@1.25.7:", type=("build", "run"), when="@1.42.1:")
+ depends_on("r-genomicranges@1.27.6:", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"), when="@1.30.3:")
+ depends_on("r-genomicranges@1.31.17:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-annotationdbi@1.33.15:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.41.4:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-rsqlite@2.0:", type=("build", "run"))
+ depends_on("r-rcurl", type=("build", "run"))
+ depends_on("r-xvector", type=("build", "run"))
+ depends_on("r-xvector@0.19.7:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-biostrings@2.23.3:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-biocio", type=("build", "run"), when="@1.46.4:")
+ depends_on("r-rtracklayer@1.29.24:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.39.7:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-rtracklayer@1.51.5:", type=("build", "run"), when="@1.46.4:")
+ depends_on("r-biomart@2.17.1:", type=("build", "run"))
+ depends_on("r-biobase@2.15.1:", type=("build", "run"))
+
+ depends_on("r-rmysql", type=("build", "run"), when="@1.30.3")
diff --git a/var/spack/repos/builtin/packages/r-genomicranges/package.py b/var/spack/repos/builtin/packages/r-genomicranges/package.py
index 7b49c83ec8..e553fab641 100644
--- a/var/spack/repos/builtin/packages/r-genomicranges/package.py
+++ b/var/spack/repos/builtin/packages/r-genomicranges/package.py
@@ -9,46 +9,46 @@ from spack.package import *
class RGenomicranges(RPackage):
"""Representation and manipulation of genomic intervals.
- The ability to efficiently represent and manipulate genomic annotations
- and alignments is playing a central role when it comes to analyzing
- high-throughput sequencing data (a.k.a. NGS data). The GenomicRanges
- package defines general purpose containers for storing and manipulating
- genomic intervals and variables defined along a genome. More specialized
- containers for representing and manipulating short alignments against a
- reference genome, or a matrix-like summarization of an experiment, are
- defined in the GenomicAlignments and SummarizedExperiment packages,
- respectively. Both packages build on top of the GenomicRanges
- infrastructure."""
+ The ability to efficiently represent and manipulate genomic annotations
+ and alignments is playing a central role when it comes to analyzing
+ high-throughput sequencing data (a.k.a. NGS data). The GenomicRanges
+ package defines general purpose containers for storing and manipulating
+ genomic intervals and variables defined along a genome. More specialized
+ containers for representing and manipulating short alignments against a
+ reference genome, or a matrix-like summarization of an experiment, are
+ defined in the GenomicAlignments and SummarizedExperiment packages,
+ respectively. Both packages build on top of the GenomicRanges
+ infrastructure."""
bioc = "GenomicRanges"
- version('1.48.0', commit='2bce60814db7c20949892587740fb484aa435978')
- version('1.46.1', commit='e422642f64815cdfee8fc340681ad87a7eafc3bb')
- version('1.42.0', commit='32baca734b599d60fa13bdbe31c5712e648f538d')
- version('1.36.1', commit='418e7e5647dd54d81b804455ddfcbc027fd0164a')
- version('1.34.0', commit='ebaad5ca61abb67c2c30c132e07531ba4257bccd')
- version('1.32.7', commit='4c56dc836dbfd0d228dc810e8d401811cdbc267c')
- version('1.30.3', commit='e99979054bc50ed8c0109bc54563036c1b368997')
- version('1.28.6', commit='197472d618f3ed04c795dc6ed435500c29619563')
+ version("1.48.0", commit="2bce60814db7c20949892587740fb484aa435978")
+ version("1.46.1", commit="e422642f64815cdfee8fc340681ad87a7eafc3bb")
+ version("1.42.0", commit="32baca734b599d60fa13bdbe31c5712e648f538d")
+ version("1.36.1", commit="418e7e5647dd54d81b804455ddfcbc027fd0164a")
+ version("1.34.0", commit="ebaad5ca61abb67c2c30c132e07531ba4257bccd")
+ version("1.32.7", commit="4c56dc836dbfd0d228dc810e8d401811cdbc267c")
+ version("1.30.3", commit="e99979054bc50ed8c0109bc54563036c1b368997")
+ version("1.28.6", commit="197472d618f3ed04c795dc6ed435500c29619563")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.46.1:')
- depends_on('r-biocgenerics@0.21.2:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.25.3:', type=('build', 'run'), when='@1.32.7:')
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@1.46.1:')
- depends_on('r-s4vectors@0.9.47:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.32:', type=('build', 'run'), when='@1.32.7:')
- depends_on('r-s4vectors@0.19.11:', type=('build', 'run'), when='@1.34.0:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@1.42.0:')
- depends_on('r-iranges@2.9.11:', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@1.30.3:')
- depends_on('r-iranges@2.14.4:', type=('build', 'run'), when='@1.32.7:')
- depends_on('r-iranges@2.15.12:', type=('build', 'run'), when='@1.34.0:')
- depends_on('r-iranges@2.17.1:', type=('build', 'run'), when='@1.36.1:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@1.42.0:')
- depends_on('r-genomeinfodb@1.11.5:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.13.1:', type=('build', 'run'), when='@1.30.3:')
- depends_on('r-genomeinfodb@1.15.2:', type=('build', 'run'), when='@1.32.7:')
- depends_on('r-xvector', type=('build', 'run'))
- depends_on('r-xvector@0.19.8:', type=('build', 'run'), when='@1.32.7:')
- depends_on('r-xvector@0.29.2:', type=('build', 'run'), when='@1.42.0:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.46.1:")
+ depends_on("r-biocgenerics@0.21.2:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.25.3:", type=("build", "run"), when="@1.32.7:")
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@1.46.1:")
+ depends_on("r-s4vectors@0.9.47:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.32:", type=("build", "run"), when="@1.32.7:")
+ depends_on("r-s4vectors@0.19.11:", type=("build", "run"), when="@1.34.0:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@1.42.0:")
+ depends_on("r-iranges@2.9.11:", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@1.30.3:")
+ depends_on("r-iranges@2.14.4:", type=("build", "run"), when="@1.32.7:")
+ depends_on("r-iranges@2.15.12:", type=("build", "run"), when="@1.34.0:")
+ depends_on("r-iranges@2.17.1:", type=("build", "run"), when="@1.36.1:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@1.42.0:")
+ depends_on("r-genomeinfodb@1.11.5:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.13.1:", type=("build", "run"), when="@1.30.3:")
+ depends_on("r-genomeinfodb@1.15.2:", type=("build", "run"), when="@1.32.7:")
+ depends_on("r-xvector", type=("build", "run"))
+ depends_on("r-xvector@0.19.8:", type=("build", "run"), when="@1.32.7:")
+ depends_on("r-xvector@0.29.2:", type=("build", "run"), when="@1.42.0:")
diff --git a/var/spack/repos/builtin/packages/r-gensa/package.py b/var/spack/repos/builtin/packages/r-gensa/package.py
index e865bf4166..fc47b87c8a 100644
--- a/var/spack/repos/builtin/packages/r-gensa/package.py
+++ b/var/spack/repos/builtin/packages/r-gensa/package.py
@@ -14,6 +14,6 @@ class RGensa(RPackage):
cran = "GenSA"
- version('1.1.7', sha256='9d99d3d0a4b7770c3c3a6de44206811272d78ab94481713a8c369f7d6ae7b80f')
+ version("1.1.7", sha256="9d99d3d0a4b7770c3c3a6de44206811272d78ab94481713a8c369f7d6ae7b80f")
- depends_on('r@2.12.0:', type=('build', 'run'))
+ depends_on("r@2.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geojsonsf/package.py b/var/spack/repos/builtin/packages/r-geojsonsf/package.py
index f5172388ed..91b797025c 100644
--- a/var/spack/repos/builtin/packages/r-geojsonsf/package.py
+++ b/var/spack/repos/builtin/packages/r-geojsonsf/package.py
@@ -13,12 +13,12 @@ class RGeojsonsf(RPackage):
cran = "geojsonsf"
- version('2.0.3', sha256='275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1')
- version('2.0.1', sha256='42df40433bfbece5a39cd97b5bd4690b4424855241fcc3e7322ee68a3988bfbf')
+ version("2.0.3", sha256="275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1")
+ version("2.0.1", sha256="42df40433bfbece5a39cd97b5bd4690b4424855241fcc3e7322ee68a3988bfbf")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-geometries', type=('build', 'run'))
- depends_on('r-jsonify@1.1.1:', type=('build', 'run'))
- depends_on('r-rapidjsonr@1.2.0:', type=('build', 'run'))
- depends_on('r-sfheaders@0.2.2:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-geometries", type=("build", "run"))
+ depends_on("r-jsonify@1.1.1:", type=("build", "run"))
+ depends_on("r-rapidjsonr@1.2.0:", type=("build", "run"))
+ depends_on("r-sfheaders@0.2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geometries/package.py b/var/spack/repos/builtin/packages/r-geometries/package.py
index b838e0bb7c..bdd9b7329f 100644
--- a/var/spack/repos/builtin/packages/r-geometries/package.py
+++ b/var/spack/repos/builtin/packages/r-geometries/package.py
@@ -16,6 +16,6 @@ class RGeometries(RPackage):
cran = "geometries"
- version('0.2.0', sha256='8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314')
+ version("0.2.0", sha256="8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314")
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geometry/package.py b/var/spack/repos/builtin/packages/r-geometry/package.py
index 4a0a6f96d6..17a5a8347f 100644
--- a/var/spack/repos/builtin/packages/r-geometry/package.py
+++ b/var/spack/repos/builtin/packages/r-geometry/package.py
@@ -21,11 +21,11 @@ class RGeometry(RPackage):
cran = "geometry"
- version('0.4.6', sha256='910465a8c8043faca73bcc7c81c9249b9938677ee6649468003b438a6503f5d8')
+ version("0.4.6", sha256="910465a8c8043faca73bcc7c81c9249b9938677ee6649468003b438a6503f5d8")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-magic', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-lpsolve', type=('build', 'run'))
- depends_on('r-linprog', type=('build', 'run'))
- depends_on('r-rcppprogress', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-magic", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-lpsolve", type=("build", "run"))
+ depends_on("r-linprog", type=("build", "run"))
+ depends_on("r-rcppprogress", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geomorph/package.py b/var/spack/repos/builtin/packages/r-geomorph/package.py
index b2960696f9..fa4acbd412 100644
--- a/var/spack/repos/builtin/packages/r-geomorph/package.py
+++ b/var/spack/repos/builtin/packages/r-geomorph/package.py
@@ -16,23 +16,23 @@ class RGeomorph(RPackage):
cran = "geomorph"
- version('4.0.3', sha256='8fd77bedf2ee85f1e4aaac4b22253810d12dba0b79d78d67695d237b7184e263')
- version('4.0.1', sha256='9d54fba96dd8b8f2dcc8d0e4c427f6232bed1934da41f25084c16ec0b2c71117')
- version('3.3.2', sha256='5f1d17cb98c54e40c4bbc650f7ccb5cb26e8d63934f810644facc69e91c1b7b7')
- version('3.1.2', sha256='29cf1c484f756cb44808cfdbc20137a6fbc4bd0c5c6f98c6c3f397c5aebda8f1')
- version('3.1.1', sha256='8eb222011433100860b308beef6f02ade7c421785f575ab4461ee25e38dfa1bd')
- version('3.0.7', sha256='68f8942e1a5bc3f0298c9f5b8f69c4702c8e12ecb2275d740fda4d04d66d38e1')
- version('3.0.5', sha256='7a3a587b253770a5e7e70536234dee13e6a073f1fdf1d644ae4f11d2eb95b104')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.3.2:')
- depends_on('r-rrpp', type=('build', 'run'), when='@3.0.7:')
- depends_on('r-rrpp@1.0.0:', type=('build', 'run'), when='@4.0.1:')
- depends_on('r-rgl', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'), when='@:3.1.1,4.0.1:')
- depends_on('r-jpeg', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'), when='@4.0.1:')
-
- depends_on('r-geiger', type=('build', 'run'), when='@:3.1.1')
+ version("4.0.3", sha256="8fd77bedf2ee85f1e4aaac4b22253810d12dba0b79d78d67695d237b7184e263")
+ version("4.0.1", sha256="9d54fba96dd8b8f2dcc8d0e4c427f6232bed1934da41f25084c16ec0b2c71117")
+ version("3.3.2", sha256="5f1d17cb98c54e40c4bbc650f7ccb5cb26e8d63934f810644facc69e91c1b7b7")
+ version("3.1.2", sha256="29cf1c484f756cb44808cfdbc20137a6fbc4bd0c5c6f98c6c3f397c5aebda8f1")
+ version("3.1.1", sha256="8eb222011433100860b308beef6f02ade7c421785f575ab4461ee25e38dfa1bd")
+ version("3.0.7", sha256="68f8942e1a5bc3f0298c9f5b8f69c4702c8e12ecb2275d740fda4d04d66d38e1")
+ version("3.0.5", sha256="7a3a587b253770a5e7e70536234dee13e6a073f1fdf1d644ae4f11d2eb95b104")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.3.2:")
+ depends_on("r-rrpp", type=("build", "run"), when="@3.0.7:")
+ depends_on("r-rrpp@1.0.0:", type=("build", "run"), when="@4.0.1:")
+ depends_on("r-rgl", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"), when="@:3.1.1,4.0.1:")
+ depends_on("r-jpeg", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"), when="@4.0.1:")
+
+ depends_on("r-geiger", type=("build", "run"), when="@:3.1.1")
diff --git a/var/spack/repos/builtin/packages/r-geonames/package.py b/var/spack/repos/builtin/packages/r-geonames/package.py
index dfb580daed..fa9f69b1e9 100644
--- a/var/spack/repos/builtin/packages/r-geonames/package.py
+++ b/var/spack/repos/builtin/packages/r-geonames/package.py
@@ -16,7 +16,7 @@ class RGeonames(RPackage):
cran = "geonames"
- version('0.999', sha256='1dd7bbd82d9425d14eb36f8e5bf431feaccfe3b0c4e70bf38f44f13dfc59e17b')
+ version("0.999", sha256="1dd7bbd82d9425d14eb36f8e5bf431feaccfe3b0c4e70bf38f44f13dfc59e17b")
- depends_on('r@2.2.0:', type=('build', 'run'))
- depends_on('r-rjson', type=('build', 'run'))
+ depends_on("r@2.2.0:", type=("build", "run"))
+ depends_on("r-rjson", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geoquery/package.py b/var/spack/repos/builtin/packages/r-geoquery/package.py
index 5504ff463d..aacfc2c0f5 100644
--- a/var/spack/repos/builtin/packages/r-geoquery/package.py
+++ b/var/spack/repos/builtin/packages/r-geoquery/package.py
@@ -9,34 +9,34 @@ from spack.package import *
class RGeoquery(RPackage):
"""Get data from NCBI Gene Expression Omnibus (GEO).
- The NCBI Gene Expression Omnibus (GEO) is a public repository of
- microarray data. Given the rich and varied nature of this resource, it
- is only natural to want to apply BioConductor tools to these data.
- GEOquery is the bridge between GEO and BioConductor."""
+ The NCBI Gene Expression Omnibus (GEO) is a public repository of
+ microarray data. Given the rich and varied nature of this resource, it
+ is only natural to want to apply BioConductor tools to these data.
+ GEOquery is the bridge between GEO and BioConductor."""
bioc = "GEOquery"
- version('2.64.2', commit='e9b7f075a4a6a952660443ca93ed392d7a4fd6d7')
- version('2.62.2', commit='1966c108fe8a58ac39ef53c3c452fd160efa526e')
- version('2.58.0', commit='6332ca3791ddcfb233b9ad75b5904b3d60f49b93')
- version('2.52.0', commit='3059331eb82ad4947c2d1bef86ff9526e70af643')
- version('2.50.5', commit='135c17f8fe535acda14f95a37d1be1ff2bd80f97')
- version('2.48.0', commit='6a8d1ca195b5c26fb717ae93beb1a8d9b7031c5e')
- version('2.46.15', commit='a52b195ac640caae9679610d5b486b7cb828c0fd')
- version('2.42.0', commit='c26adef8d3ddbd6932a3170f2f84f6e4327641fb')
-
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-readr@1.3.1:', type=('build', 'run'), when='@2.50.5:')
- depends_on('r-xml2', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-dplyr', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-data-table', type=('build', 'run'), when='@2.62.2:')
- depends_on('r-tidyr', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-magrittr', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-limma', type=('build', 'run'), when='@2.46.15:')
- depends_on('r-curl', type=('build', 'run'), when='@2.64.2:')
- depends_on('r-r-utils', type=('build', 'run'), when='@2.62.2:')
-
- depends_on('r-xml', type=('build', 'run'), when='@2.42.0')
- depends_on('r-rcurl', type=('build', 'run'), when='@2.42.0')
- depends_on('r-httr', type=('build', 'run'), when='@:2.62.2')
+ version("2.64.2", commit="e9b7f075a4a6a952660443ca93ed392d7a4fd6d7")
+ version("2.62.2", commit="1966c108fe8a58ac39ef53c3c452fd160efa526e")
+ version("2.58.0", commit="6332ca3791ddcfb233b9ad75b5904b3d60f49b93")
+ version("2.52.0", commit="3059331eb82ad4947c2d1bef86ff9526e70af643")
+ version("2.50.5", commit="135c17f8fe535acda14f95a37d1be1ff2bd80f97")
+ version("2.48.0", commit="6a8d1ca195b5c26fb717ae93beb1a8d9b7031c5e")
+ version("2.46.15", commit="a52b195ac640caae9679610d5b486b7cb828c0fd")
+ version("2.42.0", commit="c26adef8d3ddbd6932a3170f2f84f6e4327641fb")
+
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-readr@1.3.1:", type=("build", "run"), when="@2.50.5:")
+ depends_on("r-xml2", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-dplyr", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-data-table", type=("build", "run"), when="@2.62.2:")
+ depends_on("r-tidyr", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-magrittr", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-limma", type=("build", "run"), when="@2.46.15:")
+ depends_on("r-curl", type=("build", "run"), when="@2.64.2:")
+ depends_on("r-r-utils", type=("build", "run"), when="@2.62.2:")
+
+ depends_on("r-xml", type=("build", "run"), when="@2.42.0")
+ depends_on("r-rcurl", type=("build", "run"), when="@2.42.0")
+ depends_on("r-httr", type=("build", "run"), when="@:2.62.2")
diff --git a/var/spack/repos/builtin/packages/r-geor/package.py b/var/spack/repos/builtin/packages/r-geor/package.py
index c4a8c85e26..c1c6d5f772 100644
--- a/var/spack/repos/builtin/packages/r-geor/package.py
+++ b/var/spack/repos/builtin/packages/r-geor/package.py
@@ -15,12 +15,12 @@ class RGeor(RPackage):
cran = "geoR"
- version('1.8-1', sha256='990647804590b925a50f72897b24bbabd331cebef0be1696a60528b2f79d6fd3')
- version('1.7-5.2.1', sha256='3895e49c005a5745738d190ccaad43bb0aa49c74465d4d0b4dd88c5850ed63b9')
+ version("1.8-1", sha256="990647804590b925a50f72897b24bbabd331cebef0be1696a60528b2f79d6fd3")
+ version("1.7-5.2.1", sha256="3895e49c005a5745738d190ccaad43bb0aa49c74465d4d0b4dd88c5850ed63b9")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-splancs', type=('build', 'run'))
- depends_on('r-randomfields', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-splancs", type=("build", "run"))
+ depends_on("r-randomfields", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-geosphere/package.py b/var/spack/repos/builtin/packages/r-geosphere/package.py
index 56eed556b8..2b32066718 100644
--- a/var/spack/repos/builtin/packages/r-geosphere/package.py
+++ b/var/spack/repos/builtin/packages/r-geosphere/package.py
@@ -15,10 +15,10 @@ class RGeosphere(RPackage):
cran = "geosphere"
- version('1.5-14', sha256='f2c3a4ae1c87c86c123d48f134721c809fb33675cb5cd0959080049eabdbe42d')
- version('1.5-10', sha256='56cd4f787101e2e18f19ddb83794154b58697e63cad81168f0936f60ab7eb497')
- version('1.5-7', sha256='9d9b555e2d59a5ae174ae654652121f169fbc3e9cf66c2491bfbe0684b6dd8a0')
- version('1.5-5', sha256='8b6fe012744fc45b88e0ef6f20e60e103ef013e761e99dcff3f9dceeedbdce6d')
+ version("1.5-14", sha256="f2c3a4ae1c87c86c123d48f134721c809fb33675cb5cd0959080049eabdbe42d")
+ version("1.5-10", sha256="56cd4f787101e2e18f19ddb83794154b58697e63cad81168f0936f60ab7eb497")
+ version("1.5-7", sha256="9d9b555e2d59a5ae174ae654652121f169fbc3e9cf66c2491bfbe0684b6dd8a0")
+ version("1.5-5", sha256="8b6fe012744fc45b88e0ef6f20e60e103ef013e761e99dcff3f9dceeedbdce6d")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gert/package.py b/var/spack/repos/builtin/packages/r-gert/package.py
index af6edb6c6c..21a3b259ab 100644
--- a/var/spack/repos/builtin/packages/r-gert/package.py
+++ b/var/spack/repos/builtin/packages/r-gert/package.py
@@ -17,15 +17,15 @@ class RGert(RPackage):
cran = "gert"
- version('1.6.0', sha256='8c440aeebabf1cb3b57124ec9280e0f46b2ab56f2bca07d72b5c7a7f4edc2964')
- version('1.5.0', sha256='9fc330893b0cb43360905fd204e674813e1906449a95dc4037fe8802bd74a2ae')
- version('1.0.2', sha256='36687ab98291d50a35752fcb2e734a926a6b845345c18d36e3f48823f68304d3')
+ version("1.6.0", sha256="8c440aeebabf1cb3b57124ec9280e0f46b2ab56f2bca07d72b5c7a7f4edc2964")
+ version("1.5.0", sha256="9fc330893b0cb43360905fd204e674813e1906449a95dc4037fe8802bd74a2ae")
+ version("1.0.2", sha256="36687ab98291d50a35752fcb2e734a926a6b845345c18d36e3f48823f68304d3")
- depends_on('r-askpass', type=('build', 'run'))
- depends_on('r-credentials@1.2.1:', type=('build', 'run'))
- depends_on('r-openssl@1.4.1:', type=('build', 'run'))
- depends_on('r-rstudioapi@0.11:', type=('build', 'run'))
- depends_on('r-sys', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-zip@2.1.0:', type=('build', 'run'))
- depends_on('libgit2@0.26:')
- depends_on('libgit2@1.0:', when='@1.6.0:')
+ depends_on("r-askpass", type=("build", "run"))
+ depends_on("r-credentials@1.2.1:", type=("build", "run"))
+ depends_on("r-openssl@1.4.1:", type=("build", "run"))
+ depends_on("r-rstudioapi@0.11:", type=("build", "run"))
+ depends_on("r-sys", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-zip@2.1.0:", type=("build", "run"))
+ depends_on("libgit2@0.26:")
+ depends_on("libgit2@1.0:", when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/r-getopt/package.py b/var/spack/repos/builtin/packages/r-getopt/package.py
index f48eee3871..52fd9e5110 100644
--- a/var/spack/repos/builtin/packages/r-getopt/package.py
+++ b/var/spack/repos/builtin/packages/r-getopt/package.py
@@ -17,6 +17,6 @@ class RGetopt(RPackage):
cran = "getopt"
- version('1.20.3', sha256='531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f')
- version('1.20.2', sha256='3d6c12d32d6cd4b2909be626e570e158b3ed960e4739510e3a251e7f172de38e')
- version('1.20.1', sha256='1522c35b13e8546979725a68b75e3bc9d156fb06569067472405f6b8591d8654')
+ version("1.20.3", sha256="531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f")
+ version("1.20.2", sha256="3d6c12d32d6cd4b2909be626e570e158b3ed960e4739510e3a251e7f172de38e")
+ version("1.20.1", sha256="1522c35b13e8546979725a68b75e3bc9d156fb06569067472405f6b8591d8654")
diff --git a/var/spack/repos/builtin/packages/r-getoptlong/package.py b/var/spack/repos/builtin/packages/r-getoptlong/package.py
index fa8d809dc1..a05b02ccf4 100644
--- a/var/spack/repos/builtin/packages/r-getoptlong/package.py
+++ b/var/spack/repos/builtin/packages/r-getoptlong/package.py
@@ -15,16 +15,16 @@ class RGetoptlong(RPackage):
cran = "GetoptLong"
- version('1.0.5', sha256='8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701')
- version('0.1.7', sha256='b9a98881db407eae9b711c4fa9170168fd5f3be1f8485cd8f28d0a60ace083ba')
- version('0.1.6', sha256='f526f006e3ed8507f1f236430ac9e97341c1ee9c207fbb68f936dd4d377b28b5')
+ version("1.0.5", sha256="8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701")
+ version("0.1.7", sha256="b9a98881db407eae9b711c4fa9170168fd5f3be1f8485cd8f28d0a60ace083ba")
+ version("0.1.6", sha256="f526f006e3ed8507f1f236430ac9e97341c1ee9c207fbb68f936dd4d377b28b5")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.0.5:')
- depends_on('r-rjson', type=('build', 'run'))
- depends_on('r-globaloptions@0.1.0:', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'), when='@1.0.5:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.0.5:")
+ depends_on("r-rjson", type=("build", "run"))
+ depends_on("r-globaloptions@0.1.0:", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"), when="@1.0.5:")
# The CRAN site lists SystemRequirments as: Perl, Getopt::Long. The
# Getop::Long package will be installed with Perl so just depend on perl.
- depends_on('perl')
+ depends_on("perl")
diff --git a/var/spack/repos/builtin/packages/r-ggally/package.py b/var/spack/repos/builtin/packages/r-ggally/package.py
index 3e1ecb558c..3b0ef0f22e 100644
--- a/var/spack/repos/builtin/packages/r-ggally/package.py
+++ b/var/spack/repos/builtin/packages/r-ggally/package.py
@@ -18,24 +18,24 @@ class RGgally(RPackage):
cran = "GGally"
- version('2.1.2', sha256='30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5')
- version('2.1.0', sha256='7ffb86b8a4e79543cf7e6bb1e3684d738ecd8e0ba89e8ef38991898b18dd6c53')
- version('1.4.0', sha256='9a47cdf004c41f5e4024327b94227707f4dad3a0ac5556d8f1fba9bf0a6355fe')
- version('1.3.2', sha256='f4143f45254fed794be991180aeffe459f6756bfa08acad963707d8e843cfd0a')
+ version("2.1.2", sha256="30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5")
+ version("2.1.0", sha256="7ffb86b8a4e79543cf7e6bb1e3684d738ecd8e0ba89e8ef38991898b18dd6c53")
+ version("1.4.0", sha256="9a47cdf004c41f5e4024327b94227707f4dad3a0ac5556d8f1fba9bf0a6355fe")
+ version("1.3.2", sha256="f4143f45254fed794be991180aeffe459f6756bfa08acad963707d8e843cfd0a")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.3.0:', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-ggplot2@3.3.4:', type=('build', 'run'), when='@2.1.2:')
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-forcats', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-gtable@0.2.0:', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-plyr@1.8.3:', type=('build', 'run'))
- depends_on('r-progress', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-reshape@0.8.5:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-scales@1.1.0:', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-tidyr', type=('build', 'run'), when='@2.1.0:')
- depends_on('openssl', when='@1.4.0:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.3.0:", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-ggplot2@3.3.4:", type=("build", "run"), when="@2.1.2:")
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-forcats", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-gtable@0.2.0:", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-plyr@1.8.3:", type=("build", "run"))
+ depends_on("r-progress", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-reshape@0.8.5:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-scales@1.1.0:", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-tidyr", type=("build", "run"), when="@2.1.0:")
+ depends_on("openssl", when="@1.4.0:")
diff --git a/var/spack/repos/builtin/packages/r-ggbeeswarm/package.py b/var/spack/repos/builtin/packages/r-ggbeeswarm/package.py
index 0324bba975..b2d3f5b6ea 100644
--- a/var/spack/repos/builtin/packages/r-ggbeeswarm/package.py
+++ b/var/spack/repos/builtin/packages/r-ggbeeswarm/package.py
@@ -15,9 +15,9 @@ class RGgbeeswarm(RPackage):
cran = "ggbeeswarm"
- version('0.6.0', sha256='bbac8552f67ff1945180fbcda83f7f1c47908f27ba4e84921a39c45d6e123333')
+ version("0.6.0", sha256="bbac8552f67ff1945180fbcda83f7f1c47908f27ba4e84921a39c45d6e123333")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-beeswarm', type=('build', 'run'))
- depends_on('r-ggplot2@2.0:', type=('build', 'run'))
- depends_on('r-vipor', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-beeswarm", type=("build", "run"))
+ depends_on("r-ggplot2@2.0:", type=("build", "run"))
+ depends_on("r-vipor", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggbio/package.py b/var/spack/repos/builtin/packages/r-ggbio/package.py
index 30287b9f77..b310a41ee4 100644
--- a/var/spack/repos/builtin/packages/r-ggbio/package.py
+++ b/var/spack/repos/builtin/packages/r-ggbio/package.py
@@ -9,56 +9,56 @@ from spack.package import *
class RGgbio(RPackage):
"""Visualization tools for genomic data.
- The ggbio package extends and specializes the grammar of graphics for
- biological data. The graphics are designed to answer common scientific
- questions, in particular those often asked of high throughput genomics
- data. All core Bioconductor data structures are supported, where
- appropriate. The package supports detailed views of particular genomic
- regions, as well as genome-wide overviews. Supported overviews include
- ideograms and grand linear views. High-level plots include sequence
- fragment length, edge-linked interval to data view, mismatch pileup, and
- several splicing summaries."""
+ The ggbio package extends and specializes the grammar of graphics for
+ biological data. The graphics are designed to answer common scientific
+ questions, in particular those often asked of high throughput genomics
+ data. All core Bioconductor data structures are supported, where
+ appropriate. The package supports detailed views of particular genomic
+ regions, as well as genome-wide overviews. Supported overviews include
+ ideograms and grand linear views. High-level plots include sequence
+ fragment length, edge-linked interval to data view, mismatch pileup, and
+ several splicing summaries."""
bioc = "ggbio"
- version('1.44.0', commit='cb21284a9803917fa76e116adfc456525c95f660')
- version('1.42.0', commit='3540047ef018957d59fba8af7d3c58e4659f8e26')
- version('1.38.0', commit='c39c51993f419cfc2f094e664477f25f5212a242')
- version('1.32.0', commit='04bd12fbe0b1c5c6b721a5f927e1352765f9bf88')
- version('1.30.0', commit='8b05258b089b06a743352e92058edda06c24cfb7')
- version('1.28.5', commit='594521ca556ef7d97cf4882ecfa54d22c2a2faba')
- version('1.26.1', commit='b4f4c898c92aa1082aa7574f1e5c2a0dae943fbc')
- version('1.24.1', commit='ef04c1bca1330f37152bcc21080cbde94849a094')
+ version("1.44.0", commit="cb21284a9803917fa76e116adfc456525c95f660")
+ version("1.42.0", commit="3540047ef018957d59fba8af7d3c58e4659f8e26")
+ version("1.38.0", commit="c39c51993f419cfc2f094e664477f25f5212a242")
+ version("1.32.0", commit="04bd12fbe0b1c5c6b721a5f927e1352765f9bf88")
+ version("1.30.0", commit="8b05258b089b06a743352e92058edda06c24cfb7")
+ version("1.28.5", commit="594521ca556ef7d97cf4882ecfa54d22c2a2faba")
+ version("1.26.1", commit="b4f4c898c92aa1082aa7574f1e5c2a0dae943fbc")
+ version("1.24.1", commit="ef04c1bca1330f37152bcc21080cbde94849a094")
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-ggplot2@1.0.0:', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'))
- depends_on('r-biovizbase@1.23.3:', type=('build', 'run'))
- depends_on('r-biovizbase@1.28.2:', type=('build', 'run'), when='@1.28.5:')
- depends_on('r-biovizbase@1.29.2:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.11.16:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-genomeinfodb@1.1.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.21.10:', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-rsamtools@1.17.28:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.1.16:', type=('build', 'run'))
- depends_on('r-bsgenome', type=('build', 'run'))
- depends_on('r-variantannotation@1.11.4:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.25.16:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.17.13:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.29.11:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-organismdbi', type=('build', 'run'))
- depends_on('r-ggally', type=('build', 'run'))
- depends_on('r-ensembldb@1.99.13:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-annotationfilter', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.28.5:')
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-ggplot2@1.0.0:", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"))
+ depends_on("r-biovizbase@1.23.3:", type=("build", "run"))
+ depends_on("r-biovizbase@1.28.2:", type=("build", "run"), when="@1.28.5:")
+ depends_on("r-biovizbase@1.29.2:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.11.16:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-genomeinfodb@1.1.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.21.10:", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-rsamtools@1.17.28:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.1.16:", type=("build", "run"))
+ depends_on("r-bsgenome", type=("build", "run"))
+ depends_on("r-variantannotation@1.11.4:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.25.16:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.17.13:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.29.11:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-organismdbi", type=("build", "run"))
+ depends_on("r-ggally", type=("build", "run"))
+ depends_on("r-ensembldb@1.99.13:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-annotationfilter", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.28.5:")
diff --git a/var/spack/repos/builtin/packages/r-ggdendro/package.py b/var/spack/repos/builtin/packages/r-ggdendro/package.py
index a85822898c..2460562e94 100644
--- a/var/spack/repos/builtin/packages/r-ggdendro/package.py
+++ b/var/spack/repos/builtin/packages/r-ggdendro/package.py
@@ -19,9 +19,9 @@ class RGgdendro(RPackage):
cran = "ggdendro"
- version('0.1.23', sha256='3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8')
- version('0.1.22', sha256='f0a65f3498c1abc3076df0fb56364b63bdf5d212d8931f85bcc6997510916b6a')
- version('0.1-20', sha256='125cae904fa5d426cccaf32ebe9c6297e9ef0c6fd3f19f61513834d03a0cf8ff')
+ version("0.1.23", sha256="3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8")
+ version("0.1.22", sha256="f0a65f3498c1abc3076df0fb56364b63bdf5d212d8931f85bcc6997510916b6a")
+ version("0.1-20", sha256="125cae904fa5d426cccaf32ebe9c6297e9ef0c6fd3f19f61513834d03a0cf8ff")
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-ggplot2@0.9.2:', type=('build', 'run'))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-ggplot2@0.9.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggforce/package.py b/var/spack/repos/builtin/packages/r-ggforce/package.py
index 980de6e4a1..0793fc8bae 100644
--- a/var/spack/repos/builtin/packages/r-ggforce/package.py
+++ b/var/spack/repos/builtin/packages/r-ggforce/package.py
@@ -17,19 +17,19 @@ class RGgforce(RPackage):
cran = "ggforce"
- version('0.3.3', sha256='2a283bb409da6b96929863a926b153bcc59b2c6f00551805db1d1d43e5929f2f')
- version('0.3.2', sha256='4cce8acb60ce06af44c1c76bbacd7de129eed9b51ed6a85e03a9bf55b0eff4d2')
- version('0.3.1', sha256='a05271da9b226c12ae5fe6bc6eddb9ad7bfe19e1737e2bfcd6d7a89631332211')
+ version("0.3.3", sha256="2a283bb409da6b96929863a926b153bcc59b2c6f00551805db1d1d43e5929f2f")
+ version("0.3.2", sha256="4cce8acb60ce06af44c1c76bbacd7de129eed9b51ed6a85e03a9bf55b0eff4d2")
+ version("0.3.1", sha256="a05271da9b226c12ae5fe6bc6eddb9ad7bfe19e1737e2bfcd6d7a89631332211")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.2:', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-tweenr@0.1.5:', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-polyclip', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.2:", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-tweenr@0.1.5:", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-polyclip", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggfun/package.py b/var/spack/repos/builtin/packages/r-ggfun/package.py
index ee7a52caf0..49e062565d 100644
--- a/var/spack/repos/builtin/packages/r-ggfun/package.py
+++ b/var/spack/repos/builtin/packages/r-ggfun/package.py
@@ -14,9 +14,9 @@ class RGgfun(RPackage):
cran = "ggfun"
- version('0.0.6', sha256='59989ed260fcc71cd95487cf3493113a2d8a47d273d9a2f3e5e842609620511b')
- version('0.0.5', sha256='b1e340a8932d2cffbbbf6070ce96c9356599e9955a2b6534fcb17e599c575783')
- version('0.0.4', sha256='5926365f9a90baf47320baf48c40f515ef570f9c767484adea5f04219964d21e')
+ version("0.0.6", sha256="59989ed260fcc71cd95487cf3493113a2d8a47d273d9a2f3e5e842609620511b")
+ version("0.0.5", sha256="b1e340a8932d2cffbbbf6070ce96c9356599e9955a2b6534fcb17e599c575783")
+ version("0.0.4", sha256="5926365f9a90baf47320baf48c40f515ef570f9c767484adea5f04219964d21e")
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggjoy/package.py b/var/spack/repos/builtin/packages/r-ggjoy/package.py
index 299557d3a5..e368107f47 100644
--- a/var/spack/repos/builtin/packages/r-ggjoy/package.py
+++ b/var/spack/repos/builtin/packages/r-ggjoy/package.py
@@ -14,11 +14,11 @@ class RGgjoy(RPackage):
cran = "ggjoy"
- version('0.4.1', sha256='d2f778bc40203d7fbb7c81b40beed8614c36ea10448e911663cc6109aa685504')
- version('0.4.0', sha256='cb9ef790921ffcd3cfb6a55b409d17ccae9e8f5fdd2a28e55ea2ccfa8efd44e8')
- version('0.3.0', sha256='bb6d5172deda6cc54d2647644c1056944bc886d48fe1f11a23afd518eaf5cc97')
- version('0.2.0', sha256='27c28e9b3aa333ee6f518ee5c1cf6533fdaefa4e205396cd4636bcf0d193e6a2')
+ version("0.4.1", sha256="d2f778bc40203d7fbb7c81b40beed8614c36ea10448e911663cc6109aa685504")
+ version("0.4.0", sha256="cb9ef790921ffcd3cfb6a55b409d17ccae9e8f5fdd2a28e55ea2ccfa8efd44e8")
+ version("0.3.0", sha256="bb6d5172deda6cc54d2647644c1056944bc886d48fe1f11a23afd518eaf5cc97")
+ version("0.2.0", sha256="27c28e9b3aa333ee6f518ee5c1cf6533fdaefa4e205396cd4636bcf0d193e6a2")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggridges@0.4.0:', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggridges@0.4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggmap/package.py b/var/spack/repos/builtin/packages/r-ggmap/package.py
index a6763abf19..b16c64059c 100644
--- a/var/spack/repos/builtin/packages/r-ggmap/package.py
+++ b/var/spack/repos/builtin/packages/r-ggmap/package.py
@@ -16,30 +16,30 @@ class RGgmap(RPackage):
cran = "ggmap"
- version('3.0.0', sha256='96c24ffdc0710d0633ac4721d599d2c06f43a29c59d1e85c94ff0af30dfdb58d')
- version('2.6.2', sha256='4e9cf53ab108fc70805d971dadb69b26fe67ea289c23c38adf6e30b198379d90')
- version('2.6.1', sha256='fc450ef422005fc7d2018a34f6b410fbdf80824f9ed60351d91205c413585a57')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-rgooglemaps', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-rjson', type=('build', 'run'))
- depends_on('r-jpeg', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-bitops', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-glue', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-httr', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-stringr', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-purrr', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-magrittr', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-tibble', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-tidyr', type=('build', 'run'), when='@3.0.0:')
-
- depends_on('r-proto', type=('build', 'run'), when='@:2.6.2')
- depends_on('r-reshape2', type=('build', 'run'), when='@:2.6.2')
- depends_on('r-mapproj', type=('build', 'run'), when='@:2.6.2')
- depends_on('r-geosphere', type=('build', 'run'), when='@:2.6.2')
+ version("3.0.0", sha256="96c24ffdc0710d0633ac4721d599d2c06f43a29c59d1e85c94ff0af30dfdb58d")
+ version("2.6.2", sha256="4e9cf53ab108fc70805d971dadb69b26fe67ea289c23c38adf6e30b198379d90")
+ version("2.6.1", sha256="fc450ef422005fc7d2018a34f6b410fbdf80824f9ed60351d91205c413585a57")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-rgooglemaps", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-rjson", type=("build", "run"))
+ depends_on("r-jpeg", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-bitops", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-glue", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-httr", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-stringr", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-purrr", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-magrittr", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-tibble", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-tidyr", type=("build", "run"), when="@3.0.0:")
+
+ depends_on("r-proto", type=("build", "run"), when="@:2.6.2")
+ depends_on("r-reshape2", type=("build", "run"), when="@:2.6.2")
+ depends_on("r-mapproj", type=("build", "run"), when="@:2.6.2")
+ depends_on("r-geosphere", type=("build", "run"), when="@:2.6.2")
diff --git a/var/spack/repos/builtin/packages/r-ggplot2/package.py b/var/spack/repos/builtin/packages/r-ggplot2/package.py
index d774fcfd32..775abbf0cd 100644
--- a/var/spack/repos/builtin/packages/r-ggplot2/package.py
+++ b/var/spack/repos/builtin/packages/r-ggplot2/package.py
@@ -16,30 +16,30 @@ class RGgplot2(RPackage):
cran = "ggplot2"
- version('3.3.6', sha256='bfcb4eb92a0fcd3fab713aca4bb25e916e05914f2540271a45522ad7e43943a9')
- version('3.3.5', sha256='b075294faf3af31b18e415f260c62d6000b218770e430484fe38819bdc3224ea')
- version('3.3.3', sha256='45c29e2348dbd195bbde1197a52db7764113e57f463fd3770fb899acc33423cc')
- version('3.2.0', sha256='31b6897fb65acb37913ff6e2bdc1b57f652360098ae3aa660abdcf54f84d73b3')
- version('3.1.1', sha256='bfde297f3b4732e7f560078f4ce131812a70877e6b5b1d41a772c394939e0c79')
- version('2.2.1', sha256='5fbc89fec3160ad14ba90bd545b151c7a2e7baad021c0ab4b950ecd6043a8314')
- version('2.1.0', sha256='f2c323ae855d6c089e3a52138aa7bc25b9fe1429b8df9eae89d28ce3c0dd3969')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@3.2.0:')
- depends_on('r@3.3:', type=('build', 'run'), when='@3.3.4:')
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'), when='@3.3.3:')
- depends_on('r-gtable@0.1.1:', type=('build', 'run'))
- depends_on('r-isoband', type=('build', 'run'), when='@3.3.3:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'), when='@3.2.0:')
- depends_on('r-rlang@0.3.0:', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@3.3.4:')
- depends_on('r-scales@0.5.0:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-withr@2.0.0:', type=('build', 'run'), when='@3.0.0:')
-
- depends_on('r-plyr@1.7.1:', type=('build', 'run'), when='@:3.1.1')
- depends_on('r-reshape2', type=('build', 'run'), when='@:3.2.0')
- depends_on('r-lazyeval', type=('build', 'run'), when='@:3.2.0')
- depends_on('r-viridislite', type=('build', 'run'), when='@3.0.0:3.2.0')
+ version("3.3.6", sha256="bfcb4eb92a0fcd3fab713aca4bb25e916e05914f2540271a45522ad7e43943a9")
+ version("3.3.5", sha256="b075294faf3af31b18e415f260c62d6000b218770e430484fe38819bdc3224ea")
+ version("3.3.3", sha256="45c29e2348dbd195bbde1197a52db7764113e57f463fd3770fb899acc33423cc")
+ version("3.2.0", sha256="31b6897fb65acb37913ff6e2bdc1b57f652360098ae3aa660abdcf54f84d73b3")
+ version("3.1.1", sha256="bfde297f3b4732e7f560078f4ce131812a70877e6b5b1d41a772c394939e0c79")
+ version("2.2.1", sha256="5fbc89fec3160ad14ba90bd545b151c7a2e7baad021c0ab4b950ecd6043a8314")
+ version("2.1.0", sha256="f2c323ae855d6c089e3a52138aa7bc25b9fe1429b8df9eae89d28ce3c0dd3969")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@3.2.0:")
+ depends_on("r@3.3:", type=("build", "run"), when="@3.3.4:")
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"), when="@3.3.3:")
+ depends_on("r-gtable@0.1.1:", type=("build", "run"))
+ depends_on("r-isoband", type=("build", "run"), when="@3.3.3:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"), when="@3.2.0:")
+ depends_on("r-rlang@0.3.0:", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@3.3.4:")
+ depends_on("r-scales@0.5.0:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-withr@2.0.0:", type=("build", "run"), when="@3.0.0:")
+
+ depends_on("r-plyr@1.7.1:", type=("build", "run"), when="@:3.1.1")
+ depends_on("r-reshape2", type=("build", "run"), when="@:3.2.0")
+ depends_on("r-lazyeval", type=("build", "run"), when="@:3.2.0")
+ depends_on("r-viridislite", type=("build", "run"), when="@3.0.0:3.2.0")
diff --git a/var/spack/repos/builtin/packages/r-ggplotify/package.py b/var/spack/repos/builtin/packages/r-ggplotify/package.py
index 302b000724..d31077a84a 100644
--- a/var/spack/repos/builtin/packages/r-ggplotify/package.py
+++ b/var/spack/repos/builtin/packages/r-ggplotify/package.py
@@ -17,13 +17,13 @@ class RGgplotify(RPackage):
cran = "ggplotify"
- version('0.1.0', sha256='178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a')
- version('0.0.5', sha256='035ea6a70023c4819c8a486d0fd94c2765aa4d6df318747e104eeb9829b9d65d')
- version('0.0.3', sha256='7e7953a2933aa7127a0bac54375e3e0219a0744cfc3249c3d7b76065f7a51892')
+ version("0.1.0", sha256="178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a")
+ version("0.0.5", sha256="035ea6a70023c4819c8a486d0fd94c2765aa4d6df318747e104eeb9829b9d65d")
+ version("0.0.3", sha256="7e7953a2933aa7127a0bac54375e3e0219a0744cfc3249c3d7b76065f7a51892")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gridgraphics', type=('build', 'run'))
- depends_on('r-yulab-utils', type=('build', 'run'), when='@0.1.0:')
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gridgraphics", type=("build", "run"))
+ depends_on("r-yulab-utils", type=("build", "run"), when="@0.1.0:")
- depends_on('r-rvcheck', type=('build', 'run'), when='@:0.0.5')
+ depends_on("r-rvcheck", type=("build", "run"), when="@:0.0.5")
diff --git a/var/spack/repos/builtin/packages/r-ggpubr/package.py b/var/spack/repos/builtin/packages/r-ggpubr/package.py
index 143d4fcc0a..e5bb186680 100644
--- a/var/spack/repos/builtin/packages/r-ggpubr/package.py
+++ b/var/spack/repos/builtin/packages/r-ggpubr/package.py
@@ -19,27 +19,27 @@ class RGgpubr(RPackage):
cran = "ggpubr"
- version('0.4.0', sha256='abb21ec0b1ae3fa1c58eedca2d59b9b009621b30e3660f1247b3880c5fa50675')
- version('0.2.2', sha256='1c93dc6d1f08680dd00a10b6842445700d1fccb11f18599fbdf51e70c6b6b364')
- version('0.2.1', sha256='611e650da9bd15d7157fdcdc4e926fee3b88df3aba87410fdb1c8a7294d98d28')
- version('0.2', sha256='06c3075d8c452840662f5d041c3d966494b87254a52a858c849b9e1e96647766')
- version('0.1.2', sha256='9b4749fe1a6e0e4c5201a587c57c1b4bed34253f95ab4fb365f7e892b86003fe')
+ version("0.4.0", sha256="abb21ec0b1ae3fa1c58eedca2d59b9b009621b30e3660f1247b3880c5fa50675")
+ version("0.2.2", sha256="1c93dc6d1f08680dd00a10b6842445700d1fccb11f18599fbdf51e70c6b6b364")
+ version("0.2.1", sha256="611e650da9bd15d7157fdcdc4e926fee3b88df3aba87410fdb1c8a7294d98d28")
+ version("0.2", sha256="06c3075d8c452840662f5d041c3d966494b87254a52a858c849b9e1e96647766")
+ version("0.1.2", sha256="9b4749fe1a6e0e4c5201a587c57c1b4bed34253f95ab4fb365f7e892b86003fe")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggrepel', type=('build', 'run'))
- depends_on('r-ggsci', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'), when='@0.2:')
- depends_on('r-plyr', type=('build', 'run'), when='@:0.1.2')
- depends_on('r-purrr', type=('build', 'run'), when='@0.2:')
- depends_on('r-dplyr@0.7.1:', type=('build', 'run'), when='@0.2:')
- depends_on('r-cowplot', type=('build', 'run'), when='@0.2:')
- depends_on('r-ggsignif', type=('build', 'run'), when='@0.2:')
- depends_on('r-scales', type=('build', 'run'), when='@0.2:')
- depends_on('r-gridextra', type=('build', 'run'), when='@0.2:')
- depends_on('r-glue', type=('build', 'run'), when='@0.2:')
- depends_on('r-polynom', type=('build', 'run'), when='@0.2:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.2.2:')
- depends_on('r-rstatix@0.6.0:', type=('build', 'run'), when='@0.4.0:')
- depends_on('r-tibble', type=('build', 'run'), when='@0.4.0:')
- depends_on('r-magrittr', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggrepel", type=("build", "run"))
+ depends_on("r-ggsci", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"), when="@0.2:")
+ depends_on("r-plyr", type=("build", "run"), when="@:0.1.2")
+ depends_on("r-purrr", type=("build", "run"), when="@0.2:")
+ depends_on("r-dplyr@0.7.1:", type=("build", "run"), when="@0.2:")
+ depends_on("r-cowplot", type=("build", "run"), when="@0.2:")
+ depends_on("r-ggsignif", type=("build", "run"), when="@0.2:")
+ depends_on("r-scales", type=("build", "run"), when="@0.2:")
+ depends_on("r-gridextra", type=("build", "run"), when="@0.2:")
+ depends_on("r-glue", type=("build", "run"), when="@0.2:")
+ depends_on("r-polynom", type=("build", "run"), when="@0.2:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.2.2:")
+ depends_on("r-rstatix@0.6.0:", type=("build", "run"), when="@0.4.0:")
+ depends_on("r-tibble", type=("build", "run"), when="@0.4.0:")
+ depends_on("r-magrittr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggraph/package.py b/var/spack/repos/builtin/packages/r-ggraph/package.py
index ac5832ba71..551be7b250 100644
--- a/var/spack/repos/builtin/packages/r-ggraph/package.py
+++ b/var/spack/repos/builtin/packages/r-ggraph/package.py
@@ -17,23 +17,23 @@ class RGgraph(RPackage):
cran = "ggraph"
- version('2.0.5', sha256='e36ad49dba92ee8652e18b1fb197be0ceb9f0a2f8faee2194453a62578449654')
- version('2.0.4', sha256='9c6092d9a98b7b116f9c765ba44de7a34ceff2f584e776ef7a2082ad1d717dc8')
- version('2.0.0', sha256='4307efe85bfc6a0496797f6b86d6b174ba196538c51b1a6b6af55de0d4e04762')
+ version("2.0.5", sha256="e36ad49dba92ee8652e18b1fb197be0ceb9f0a2f8faee2194453a62578449654")
+ version("2.0.4", sha256="9c6092d9a98b7b116f9c765ba44de7a34ceff2f584e776ef7a2082ad1d717dc8")
+ version("2.0.0", sha256="4307efe85bfc6a0496797f6b86d6b174ba196538c51b1a6b6af55de0d4e04762")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.2:', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-ggforce@0.3.1:', type=('build', 'run'))
- depends_on('r-igraph@1.0.0:', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
- depends_on('r-ggrepel', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tidygraph', type=('build', 'run'))
- depends_on('r-graphlayouts@0.5.0:', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'), when='@2.0.4:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.2:", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-ggforce@0.3.1:", type=("build", "run"))
+ depends_on("r-igraph@1.0.0:", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
+ depends_on("r-ggrepel", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tidygraph", type=("build", "run"))
+ depends_on("r-graphlayouts@0.5.0:", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"), when="@2.0.4:")
diff --git a/var/spack/repos/builtin/packages/r-ggrepel/package.py b/var/spack/repos/builtin/packages/r-ggrepel/package.py
index b82c10ae19..3eabf58b27 100644
--- a/var/spack/repos/builtin/packages/r-ggrepel/package.py
+++ b/var/spack/repos/builtin/packages/r-ggrepel/package.py
@@ -15,15 +15,15 @@ class RGgrepel(RPackage):
cran = "ggrepel"
- version('0.9.1', sha256='29fb916d4799ba6503a5dd019717ffdf154d2aaae9ff1736f03e2be24af6bdfc')
- version('0.9.0', sha256='4f7ca3da7dc08902487c961c539ef43516263c30abcc4ce303ff3c5580f42fda')
- version('0.8.1', sha256='d5d03a77ab6d8c831934bc46e840cc4e3df487272ab591fa72767ad42bcb7283')
- version('0.8.0', sha256='6386606e716d326354a29fcb6cd09f9b3d3b5e7c5ba0d5f7ff35416b1a4177d4')
- version('0.6.5', sha256='360ae9d199755f9e260fefbd3baba3448fad3f024f20bcd9942a862b8c41a752')
+ version("0.9.1", sha256="29fb916d4799ba6503a5dd019717ffdf154d2aaae9ff1736f03e2be24af6bdfc")
+ version("0.9.0", sha256="4f7ca3da7dc08902487c961c539ef43516263c30abcc4ce303ff3c5580f42fda")
+ version("0.8.1", sha256="d5d03a77ab6d8c831934bc46e840cc4e3df487272ab591fa72767ad42bcb7283")
+ version("0.8.0", sha256="6386606e716d326354a29fcb6cd09f9b3d3b5e7c5ba0d5f7ff35416b1a4177d4")
+ version("0.6.5", sha256="360ae9d199755f9e260fefbd3baba3448fad3f024f20bcd9942a862b8c41a752")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rlang@0.3.0:', type=('build', 'run'), when='@0.9.0:')
- depends_on('r-scales@0.3.0:', type=('build', 'run'))
- depends_on('r-scales@0.5.0:', type=('build', 'run'), when='@0.9.0:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rlang@0.3.0:", type=("build", "run"), when="@0.9.0:")
+ depends_on("r-scales@0.3.0:", type=("build", "run"))
+ depends_on("r-scales@0.5.0:", type=("build", "run"), when="@0.9.0:")
diff --git a/var/spack/repos/builtin/packages/r-ggridges/package.py b/var/spack/repos/builtin/packages/r-ggridges/package.py
index 8bbcf6d1be..58c4a80387 100644
--- a/var/spack/repos/builtin/packages/r-ggridges/package.py
+++ b/var/spack/repos/builtin/packages/r-ggridges/package.py
@@ -15,15 +15,15 @@ class RGgridges(RPackage):
cran = "ggridges"
- version('0.5.3', sha256='f5eafab17f2d4a8a2a83821ad3e96ae7c26b62bbce9de414484c657383c7b42e')
- version('0.5.1', sha256='01f87cdcdf2052ed9c078d9352465cdeda920a41e2ca55bc154c1574fc651c36')
- version('0.5.0', sha256='124bc84044e56728fa965682f8232fc868f2af7d3eb7276f6b0df53be8d2dbfe')
- version('0.4.1', sha256='03d2013df6adf07c9741d4476df96865b878a88359763ac36b98aa86591cca4d')
- version('0.4.0', sha256='c62153fb47f55468c873e6cf882b46754b6eedec423dacf3992ab23c474d521c')
+ version("0.5.3", sha256="f5eafab17f2d4a8a2a83821ad3e96ae7c26b62bbce9de414484c657383c7b42e")
+ version("0.5.1", sha256="01f87cdcdf2052ed9c078d9352465cdeda920a41e2ca55bc154c1574fc651c36")
+ version("0.5.0", sha256="124bc84044e56728fa965682f8232fc868f2af7d3eb7276f6b0df53be8d2dbfe")
+ version("0.4.1", sha256="03d2013df6adf07c9741d4476df96865b878a88359763ac36b98aa86591cca4d")
+ version("0.4.0", sha256="c62153fb47f55468c873e6cf882b46754b6eedec423dacf3992ab23c474d521c")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'), when='@0.5.3:')
- depends_on('r-plyr@1.8.0:', type=('build', 'run'))
- depends_on('r-scales@0.4.1:', type=('build', 'run'))
- depends_on('r-withr@2.1.1:', type=('build', 'run'), when='@0.5.0:')
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"), when="@0.5.3:")
+ depends_on("r-plyr@1.8.0:", type=("build", "run"))
+ depends_on("r-scales@0.4.1:", type=("build", "run"))
+ depends_on("r-withr@2.1.1:", type=("build", "run"), when="@0.5.0:")
diff --git a/var/spack/repos/builtin/packages/r-ggsci/package.py b/var/spack/repos/builtin/packages/r-ggsci/package.py
index ffcafc5dfb..5268bc541e 100644
--- a/var/spack/repos/builtin/packages/r-ggsci/package.py
+++ b/var/spack/repos/builtin/packages/r-ggsci/package.py
@@ -15,10 +15,10 @@ class RGgsci(RPackage):
cran = "ggsci"
- version('2.9', sha256='4af14e6f3657134c115d5ac5e65a2ed74596f9a8437c03255447cd959fe9e33c')
- version('2.8', sha256='b4ce7adce7ef23edf777866086f98e29b2b45b58fed085bbd1ffe6ab52d74ae8')
- version('2.4', sha256='9682c18176fee8e808c68062ec918aaef630d4d833e7a0bd6ae6c63553b56f00')
+ version("2.9", sha256="4af14e6f3657134c115d5ac5e65a2ed74596f9a8437c03255447cd959fe9e33c")
+ version("2.8", sha256="b4ce7adce7ef23edf777866086f98e29b2b45b58fed085bbd1ffe6ab52d74ae8")
+ version("2.4", sha256="9682c18176fee8e808c68062ec918aaef630d4d833e7a0bd6ae6c63553b56f00")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-ggplot2@2.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-ggplot2@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggsignif/package.py b/var/spack/repos/builtin/packages/r-ggsignif/package.py
index 79ac9180c6..008bbcfde3 100644
--- a/var/spack/repos/builtin/packages/r-ggsignif/package.py
+++ b/var/spack/repos/builtin/packages/r-ggsignif/package.py
@@ -19,8 +19,8 @@ class RGgsignif(RPackage):
cran = "ggsignif"
- version('0.6.3', sha256='ca8545b25590e531512a90a18449a2cbab945f7434a1d60188c41f7d1839a7a9')
- version('0.6.0', sha256='6fe13efda31386483e64d466ba2f5a53a2a235ae04f5c17bba3ccc63d283499e')
+ version("0.6.3", sha256="ca8545b25590e531512a90a18449a2cbab945f7434a1d60188c41f7d1839a7a9")
+ version("0.6.0", sha256="6fe13efda31386483e64d466ba2f5a53a2a235ae04f5c17bba3ccc63d283499e")
- depends_on('r-ggplot2@2.0.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.3.5:', type=('build', 'run'), when='@0.6.3:')
+ depends_on("r-ggplot2@2.0.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.3.5:", type=("build", "run"), when="@0.6.3:")
diff --git a/var/spack/repos/builtin/packages/r-ggthemes/package.py b/var/spack/repos/builtin/packages/r-ggthemes/package.py
index 0078878287..066dce3cf3 100644
--- a/var/spack/repos/builtin/packages/r-ggthemes/package.py
+++ b/var/spack/repos/builtin/packages/r-ggthemes/package.py
@@ -17,12 +17,12 @@ class RGgthemes(RPackage):
cran = "ggthemes"
- version('4.2.4', sha256='7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567')
- version('4.2.0', sha256='5bb3fe94819fe2cce7865f07a6e6ea5c59d3996f78d1c0836ad406f69efb3367')
+ version("4.2.4", sha256="7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567")
+ version("4.2.0", sha256="5bb3fe94819fe2cce7865f07a6e6ea5c59d3996f78d1c0836ad406f69efb3367")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggtree/package.py b/var/spack/repos/builtin/packages/r-ggtree/package.py
index 9a6db88855..bc3e5eddfd 100644
--- a/var/spack/repos/builtin/packages/r-ggtree/package.py
+++ b/var/spack/repos/builtin/packages/r-ggtree/package.py
@@ -16,23 +16,23 @@ class RGgtree(RPackage):
bioc = "ggtree"
- version('3.4.0', commit='23f08a3da1829d1bbb6827ed1c4cf878daa4b539')
- version('3.2.1', commit='d3747e636fe1a6a9e09b56a3a3899208ebd05547')
+ version("3.4.0", commit="23f08a3da1829d1bbb6827ed1c4cf878daa4b539")
+ version("3.2.1", commit="d3747e636fe1a6a9e09b56a3a3899208ebd05547")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-aplot@0.0.4:', type=('build', 'run'))
- depends_on('r-aplot', type=('build', 'run'), when='@3.4.0:')
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-ggfun', type=('build', 'run'))
- depends_on('r-ggfun@0.0.6:', type=('build', 'run'), when='@3.4.0:')
- depends_on('r-yulab-utils', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidytree@0.2.6:', type=('build', 'run'))
- depends_on('r-tidytree@0.3.9:', type=('build', 'run'), when='@3.4.0:')
- depends_on('r-treeio@1.8.0:', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-aplot@0.0.4:", type=("build", "run"))
+ depends_on("r-aplot", type=("build", "run"), when="@3.4.0:")
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-ggfun", type=("build", "run"))
+ depends_on("r-ggfun@0.0.6:", type=("build", "run"), when="@3.4.0:")
+ depends_on("r-yulab-utils", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidytree@0.2.6:", type=("build", "run"))
+ depends_on("r-tidytree@0.3.9:", type=("build", "run"), when="@3.4.0:")
+ depends_on("r-treeio@1.8.0:", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ggvis/package.py b/var/spack/repos/builtin/packages/r-ggvis/package.py
index c220a207bb..5b51b2b1ca 100644
--- a/var/spack/repos/builtin/packages/r-ggvis/package.py
+++ b/var/spack/repos/builtin/packages/r-ggvis/package.py
@@ -15,19 +15,19 @@ class RGgvis(RPackage):
cran = "ggvis"
- version('0.4.7', sha256='9e6b067e11d497c796d42156570e2481afb554c5db265f42afbb74d2ae0865e3')
- version('0.4.4', sha256='1332ea122b768688c8a407a483be80febc4576de0ec8929077738421b27cafaf')
- version('0.4.3', sha256='34d517783016aaa1c4bef8972f4c06df5cd9ca0568035b647e60a8369043ecdc')
- version('0.4.2', sha256='2fcc2b6ca4fbdc69fe75a2c58c12cb43096ab418160c98367e5ac0fd19fc591d')
-
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-assertthat', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.11:', type=('build', 'run'))
- depends_on('r-shiny@0.11.1:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-dplyr@0.4.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.5.0:', type=('build', 'run'), when='@0.4.7:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.4.7:')
- depends_on('r-htmltools@0.2.4:', type=('build', 'run'))
-
- depends_on('r-lazyeval', type=('build', 'run'), when='@:0.4.4')
+ version("0.4.7", sha256="9e6b067e11d497c796d42156570e2481afb554c5db265f42afbb74d2ae0865e3")
+ version("0.4.4", sha256="1332ea122b768688c8a407a483be80febc4576de0ec8929077738421b27cafaf")
+ version("0.4.3", sha256="34d517783016aaa1c4bef8972f4c06df5cd9ca0568035b647e60a8369043ecdc")
+ version("0.4.2", sha256="2fcc2b6ca4fbdc69fe75a2c58c12cb43096ab418160c98367e5ac0fd19fc591d")
+
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-assertthat", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.11:", type=("build", "run"))
+ depends_on("r-shiny@0.11.1:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-dplyr@0.4.0:", type=("build", "run"))
+ depends_on("r-dplyr@0.5.0:", type=("build", "run"), when="@0.4.7:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.4.7:")
+ depends_on("r-htmltools@0.2.4:", type=("build", "run"))
+
+ depends_on("r-lazyeval", type=("build", "run"), when="@:0.4.4")
diff --git a/var/spack/repos/builtin/packages/r-gh/package.py b/var/spack/repos/builtin/packages/r-gh/package.py
index 097f2e46f5..bad16dc223 100644
--- a/var/spack/repos/builtin/packages/r-gh/package.py
+++ b/var/spack/repos/builtin/packages/r-gh/package.py
@@ -13,15 +13,15 @@ class RGh(RPackage):
cran = "gh"
- version('1.3.0', sha256='a44039054e8ca56496f2d9c7a10cdadf4a7383bc91086e768ba7e7f1fbcaed1c')
- version('1.2.0', sha256='2988440ed2ba4b241c8ffbafbfdad29493574980a9aeba210521dadda91f7eff')
- version('1.1.0', sha256='de9faf383c3fe5e87a75391d82cf71b1331b3c80cd00c4203146a303825d89ad')
- version('1.0.1', sha256='f3c02b16637ae390c3599265852d94b3de3ef585818b260d00e7812595b391d2')
+ version("1.3.0", sha256="a44039054e8ca56496f2d9c7a10cdadf4a7383bc91086e768ba7e7f1fbcaed1c")
+ version("1.2.0", sha256="2988440ed2ba4b241c8ffbafbfdad29493574980a9aeba210521dadda91f7eff")
+ version("1.1.0", sha256="de9faf383c3fe5e87a75391d82cf71b1331b3c80cd00c4203146a303825d89ad")
+ version("1.0.1", sha256="f3c02b16637ae390c3599265852d94b3de3ef585818b260d00e7812595b391d2")
- depends_on('r-cli', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-cli@2.0.1:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-gitcreds', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-httr@1.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-ini', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
+ depends_on("r-cli", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-cli@2.0.1:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-gitcreds", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-httr@1.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-ini", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gistr/package.py b/var/spack/repos/builtin/packages/r-gistr/package.py
index 3b38fa3ce4..2223fcb2ae 100644
--- a/var/spack/repos/builtin/packages/r-gistr/package.py
+++ b/var/spack/repos/builtin/packages/r-gistr/package.py
@@ -23,17 +23,17 @@ class RGistr(RPackage):
cran = "gistr"
- version('0.9.0', sha256='170ae025151ee688e7d31b9e49112086a8ddf4fef10155e9ee289ad7f28c8929')
- version('0.4.2', sha256='43c00c7f565732125f45f6c067724771ba1b337d6dd3a6e301639fe16e11032e')
- version('0.4.0', sha256='51771a257379a17552d0c88ada72ca6263954bbe896997f8a66cde3bf0b83ce0')
- version('0.3.6', sha256='ab22523b79510ec03be336e1d4600ec8a3a65afe57c5843621a4cf8f966b52e5')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-jsonlite@1.4:', type=('build', 'run'))
- depends_on('r-crul', type=('build', 'run'), when='@0.9.0:')
- depends_on('r-httr@1.2.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-assertthat', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-rmarkdown', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
+ version("0.9.0", sha256="170ae025151ee688e7d31b9e49112086a8ddf4fef10155e9ee289ad7f28c8929")
+ version("0.4.2", sha256="43c00c7f565732125f45f6c067724771ba1b337d6dd3a6e301639fe16e11032e")
+ version("0.4.0", sha256="51771a257379a17552d0c88ada72ca6263954bbe896997f8a66cde3bf0b83ce0")
+ version("0.3.6", sha256="ab22523b79510ec03be336e1d4600ec8a3a65afe57c5843621a4cf8f966b52e5")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-jsonlite@1.4:", type=("build", "run"))
+ depends_on("r-crul", type=("build", "run"), when="@0.9.0:")
+ depends_on("r-httr@1.2.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-assertthat", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-rmarkdown", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-git2r/package.py b/var/spack/repos/builtin/packages/r-git2r/package.py
index a505ac1ac4..43174cb245 100644
--- a/var/spack/repos/builtin/packages/r-git2r/package.py
+++ b/var/spack/repos/builtin/packages/r-git2r/package.py
@@ -15,17 +15,17 @@ class RGit2r(RPackage):
cran = "git2r"
- version('0.30.1', sha256='85d913ddc7659e32c1b98ebc247fa1cc1b7717a5bd413fa78ea84696986ca840')
- version('0.29.0', sha256='f8f7a181dc0ac761f2a0c4099bfd744ded01c0e0832cab32dc5b4da32accd48e')
- version('0.28.0', sha256='ce6d148d21d2c87757e98ef4474b2d09faded9b9b866f046bd26d4ca925e55f2')
- version('0.27.1', sha256='099207f180aa45ddcc443cbb22487eafd14e1cd8e5979b3476214253fd773bc0')
- version('0.26.1', sha256='13d609286a0af4ef75ba76f2c2f856593603b8014e311b88896243a50b417435')
- version('0.26.0', sha256='56671389c3a50591e1dae3be8c3b0112d06d291f897d7fe14db17aea175616cf')
- version('0.18.0', sha256='91b32e49afb859c0c4f6f77988343645e9499e5046ef08d945d4d8149b6eff2d')
- version('0.15.0', sha256='682ab9e7f71b2ed13a9ef95840df3c6b429eeea070edeb4d21d725cf0b72ede6')
+ version("0.30.1", sha256="85d913ddc7659e32c1b98ebc247fa1cc1b7717a5bd413fa78ea84696986ca840")
+ version("0.29.0", sha256="f8f7a181dc0ac761f2a0c4099bfd744ded01c0e0832cab32dc5b4da32accd48e")
+ version("0.28.0", sha256="ce6d148d21d2c87757e98ef4474b2d09faded9b9b866f046bd26d4ca925e55f2")
+ version("0.27.1", sha256="099207f180aa45ddcc443cbb22487eafd14e1cd8e5979b3476214253fd773bc0")
+ version("0.26.1", sha256="13d609286a0af4ef75ba76f2c2f856593603b8014e311b88896243a50b417435")
+ version("0.26.0", sha256="56671389c3a50591e1dae3be8c3b0112d06d291f897d7fe14db17aea175616cf")
+ version("0.18.0", sha256="91b32e49afb859c0c4f6f77988343645e9499e5046ef08d945d4d8149b6eff2d")
+ version("0.15.0", sha256="682ab9e7f71b2ed13a9ef95840df3c6b429eeea070edeb4d21d725cf0b72ede6")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('libgit2')
- depends_on('zlib')
- depends_on('openssl')
- depends_on('libssh2')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("libgit2")
+ depends_on("zlib")
+ depends_on("openssl")
+ depends_on("libssh2")
diff --git a/var/spack/repos/builtin/packages/r-gitcreds/package.py b/var/spack/repos/builtin/packages/r-gitcreds/package.py
index b3248bc2c0..e00aa44ca8 100644
--- a/var/spack/repos/builtin/packages/r-gitcreds/package.py
+++ b/var/spack/repos/builtin/packages/r-gitcreds/package.py
@@ -16,6 +16,6 @@ class RGitcreds(RPackage):
cran = "gitcreds"
- version('0.1.1', sha256='b14aaf4e910a9d2d6c65c93e645f0b0159c00898e669f917f83c03dfedb1dfea')
+ version("0.1.1", sha256="b14aaf4e910a9d2d6c65c93e645f0b0159c00898e669f917f83c03dfedb1dfea")
- depends_on('git', type='run')
+ depends_on("git", type="run")
diff --git a/var/spack/repos/builtin/packages/r-glimma/package.py b/var/spack/repos/builtin/packages/r-glimma/package.py
index 22e3c8b4e3..0ec9a49c57 100644
--- a/var/spack/repos/builtin/packages/r-glimma/package.py
+++ b/var/spack/repos/builtin/packages/r-glimma/package.py
@@ -9,33 +9,33 @@ from spack.package import *
class RGlimma(RPackage):
"""Interactive HTML graphics.
- This package generates interactive visualisations for analysis of RNA-
- sequencing data using output from limma, edgeR or DESeq2 packages in an
- HTML page. The interactions are built on top of the popular static
- representations of analysis results in order to provide additional
- information."""
+ This package generates interactive visualisations for analysis of RNA-
+ sequencing data using output from limma, edgeR or DESeq2 packages in an
+ HTML page. The interactions are built on top of the popular static
+ representations of analysis results in order to provide additional
+ information."""
bioc = "Glimma"
- version('2.6.0', commit='23220d9b90476059aab035b5de11b7ce04b331c8')
- version('2.4.0', commit='caa270e44ec6994035d2e915c0f68a14ccbb58db')
- version('2.0.0', commit='40bebaa79e8c87c5686cff7285def4461c11bca9')
- version('1.12.0', commit='d02174239fe0b47983d6947ed42a1a53b24caecb')
- version('1.10.1', commit='ffc7abc36190396598fadec5e9c653441e47be72')
- version('1.8.2', commit='7696aca2c023f74d244b6c908a6e7ba52bfcb34b')
- version('1.6.0', commit='57572996982806aa7ac155eedb97b03249979610')
- version('1.4.0', commit='c613c5334ed7868f36d5716b97fdb6234fb291f8')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.6.0:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-htmlwidgets', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-deseq2', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-limma', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-summarizedexperiment', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
-
- depends_on('r-biobase', type=('build', 'run'), when='@1.4.0:1.6.0')
- depends_on('r-scater', type=('build', 'run'), when='@1.4.0')
+ version("2.6.0", commit="23220d9b90476059aab035b5de11b7ce04b331c8")
+ version("2.4.0", commit="caa270e44ec6994035d2e915c0f68a14ccbb58db")
+ version("2.0.0", commit="40bebaa79e8c87c5686cff7285def4461c11bca9")
+ version("1.12.0", commit="d02174239fe0b47983d6947ed42a1a53b24caecb")
+ version("1.10.1", commit="ffc7abc36190396598fadec5e9c653441e47be72")
+ version("1.8.2", commit="7696aca2c023f74d244b6c908a6e7ba52bfcb34b")
+ version("1.6.0", commit="57572996982806aa7ac155eedb97b03249979610")
+ version("1.4.0", commit="c613c5334ed7868f36d5716b97fdb6234fb291f8")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.6.0:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-htmlwidgets", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-deseq2", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-limma", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-summarizedexperiment", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+
+ depends_on("r-biobase", type=("build", "run"), when="@1.4.0:1.6.0")
+ depends_on("r-scater", type=("build", "run"), when="@1.4.0")
diff --git a/var/spack/repos/builtin/packages/r-glmnet/package.py b/var/spack/repos/builtin/packages/r-glmnet/package.py
index f0bde64fdc..b9b009c95b 100644
--- a/var/spack/repos/builtin/packages/r-glmnet/package.py
+++ b/var/spack/repos/builtin/packages/r-glmnet/package.py
@@ -18,17 +18,17 @@ class RGlmnet(RPackage):
cran = "glmnet"
- version('4.1-4', sha256='f6b0f70a0b3d81ff91c2b94f795a2a32e90dd458270f1a29e49e085dd65000f9')
- version('4.1-3', sha256='64bc35aa40b6e580cfb8a21e649eb103e996e8747a10c476b8bb9545c846325a')
- version('4.1', sha256='8f0af50919f488789ecf261f6e0907f367d89fca812baa2f814054fb2d0e40cb')
- version('2.0-18', sha256='e8dce9d7b8105f9cc18ba981d420de64a53b09abee219660d3612915d554256b')
- version('2.0-13', sha256='f3288dcaddb2f7014d42b755bede6563f73c17bc87f8292c2ef7776cb9b9b8fd')
- version('2.0-5', sha256='2ca95352c8fbd93aa7800f3d972ee6c1a5fcfeabc6be8c10deee0cb457fd77b1')
+ version("4.1-4", sha256="f6b0f70a0b3d81ff91c2b94f795a2a32e90dd458270f1a29e49e085dd65000f9")
+ version("4.1-3", sha256="64bc35aa40b6e580cfb8a21e649eb103e996e8747a10c476b8bb9545c846325a")
+ version("4.1", sha256="8f0af50919f488789ecf261f6e0907f367d89fca812baa2f814054fb2d0e40cb")
+ version("2.0-18", sha256="e8dce9d7b8105f9cc18ba981d420de64a53b09abee219660d3612915d554256b")
+ version("2.0-13", sha256="f3288dcaddb2f7014d42b755bede6563f73c17bc87f8292c2ef7776cb9b9b8fd")
+ version("2.0-5", sha256="2ca95352c8fbd93aa7800f3d972ee6c1a5fcfeabc6be8c10deee0cb457fd77b1")
- depends_on('r@3.6.0:', type=('build', 'run'), when='@4.1:')
- depends_on('r-matrix@1.0-6:', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-shape', type=('build', 'run'), when='@4.1:')
- depends_on('r-survival', type=('build', 'run'), when='@4.1:')
- depends_on('r-rcpp', type=('build', 'run'), when='@4.1-3:')
- depends_on('r-rcppeigen', type=('build', 'run'), when='@4.1-3:')
+ depends_on("r@3.6.0:", type=("build", "run"), when="@4.1:")
+ depends_on("r-matrix@1.0-6:", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-shape", type=("build", "run"), when="@4.1:")
+ depends_on("r-survival", type=("build", "run"), when="@4.1:")
+ depends_on("r-rcpp", type=("build", "run"), when="@4.1-3:")
+ depends_on("r-rcppeigen", type=("build", "run"), when="@4.1-3:")
diff --git a/var/spack/repos/builtin/packages/r-globaloptions/package.py b/var/spack/repos/builtin/packages/r-globaloptions/package.py
index ae97942be2..f5ab4b2ddf 100644
--- a/var/spack/repos/builtin/packages/r-globaloptions/package.py
+++ b/var/spack/repos/builtin/packages/r-globaloptions/package.py
@@ -14,9 +14,9 @@ class RGlobaloptions(RPackage):
cran = "GlobalOptions"
- version('0.1.2', sha256='47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e')
- version('0.1.0', sha256='567a0a51f6b7b14127302f00e6e4944befd4964c069f96a9e61256e8c3c79ef2')
- version('0.0.12', sha256='c09da3f9b1646d0f815056cdbeb5fff7dda29f7dd8742d245f5f6dc7066077a9')
+ version("0.1.2", sha256="47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e")
+ version("0.1.0", sha256="567a0a51f6b7b14127302f00e6e4944befd4964c069f96a9e61256e8c3c79ef2")
+ version("0.0.12", sha256="c09da3f9b1646d0f815056cdbeb5fff7dda29f7dd8742d245f5f6dc7066077a9")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.0.13:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.0.13:")
diff --git a/var/spack/repos/builtin/packages/r-globals/package.py b/var/spack/repos/builtin/packages/r-globals/package.py
index c7f1543286..f99034bd3f 100644
--- a/var/spack/repos/builtin/packages/r-globals/package.py
+++ b/var/spack/repos/builtin/packages/r-globals/package.py
@@ -17,9 +17,9 @@ class RGlobals(RPackage):
cran = "globals"
- version('0.15.0', sha256='f83689a420590b0d62b049c40a944c1c8c7202b3f1cc12102712c63104e99496')
- version('0.14.0', sha256='203dbccb829ca9cc6aedb6f5e79cb126ea31f8dd379dff9111ec66e3628c32f3')
- version('0.12.4', sha256='7985356ad75afa1f795f8267a20dee847020c0207252dc075c614cef55d8fe6b')
+ version("0.15.0", sha256="f83689a420590b0d62b049c40a944c1c8c7202b3f1cc12102712c63104e99496")
+ version("0.14.0", sha256="203dbccb829ca9cc6aedb6f5e79cb126ea31f8dd379dff9111ec66e3628c32f3")
+ version("0.12.4", sha256="7985356ad75afa1f795f8267a20dee847020c0207252dc075c614cef55d8fe6b")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-globaltest/package.py b/var/spack/repos/builtin/packages/r-globaltest/package.py
index e3d9ee61e0..6adce26b49 100644
--- a/var/spack/repos/builtin/packages/r-globaltest/package.py
+++ b/var/spack/repos/builtin/packages/r-globaltest/package.py
@@ -18,11 +18,11 @@ class RGlobaltest(RPackage):
bioc = "globaltest"
- version('5.50.0', commit='08612a06eb1cc7381f9bf70f6fe198bb401a21df')
- version('5.48.0', commit='86c2c8f35734dcbc8c8ca791d8a190dc525beac9')
- version('5.44.0', commit='571933d5c779a241740be913ff49ecdd59bcbc45')
+ version("5.50.0", commit="08612a06eb1cc7381f9bf70f6fe198bb401a21df")
+ version("5.48.0", commit="86c2c8f35734dcbc8c8ca791d8a190dc525beac9")
+ version("5.44.0", commit="571933d5c779a241740be913ff49ecdd59bcbc45")
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-glue/package.py b/var/spack/repos/builtin/packages/r-glue/package.py
index 0e75332df4..2a0065c3cc 100644
--- a/var/spack/repos/builtin/packages/r-glue/package.py
+++ b/var/spack/repos/builtin/packages/r-glue/package.py
@@ -17,16 +17,16 @@ class RGlue(RPackage):
cran = "glue"
- version('1.6.2', sha256='9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf')
- version('1.6.1', sha256='318c2f9544f1204216009f512793c44d6bbe178ff2012f56fa5ffb5e1da978db')
- version('1.6.0', sha256='77bef37ef2c47aad6188ea772880591c5763cce4b1c256e10e68e7c3ec6b4338')
- version('1.4.2', sha256='9f7354132a26e9a876428fa87629b9aaddcd558f9932328e6ac065b95b8ef7ad')
- version('1.4.1', sha256='f8b687d35cacb5ee7fcada6e9c26ea20c04d0bdc9d37e919a03abd1137513bc8')
- version('1.4.0', sha256='ea6c409f7141754baa090deba96cff270a11b185452cf9e6fb69cb148a9069c1')
- version('1.3.1', sha256='4fc1f2899d71a634e1f0adb7942772feb5ac73223891abe30ea9bd91d3633ea8')
- version('1.3.0', sha256='789e5a44c3635c3d3db26666e635e88adcf61cd02b75465125d95d7a12291cee')
- version('1.2.0', sha256='19275b34ee6a1bcad05360b7eb996cebaa1402f189a5dfb084e695d423f2296e')
+ version("1.6.2", sha256="9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf")
+ version("1.6.1", sha256="318c2f9544f1204216009f512793c44d6bbe178ff2012f56fa5ffb5e1da978db")
+ version("1.6.0", sha256="77bef37ef2c47aad6188ea772880591c5763cce4b1c256e10e68e7c3ec6b4338")
+ version("1.4.2", sha256="9f7354132a26e9a876428fa87629b9aaddcd558f9932328e6ac065b95b8ef7ad")
+ version("1.4.1", sha256="f8b687d35cacb5ee7fcada6e9c26ea20c04d0bdc9d37e919a03abd1137513bc8")
+ version("1.4.0", sha256="ea6c409f7141754baa090deba96cff270a11b185452cf9e6fb69cb148a9069c1")
+ version("1.3.1", sha256="4fc1f2899d71a634e1f0adb7942772feb5ac73223891abe30ea9bd91d3633ea8")
+ version("1.3.0", sha256="789e5a44c3635c3d3db26666e635e88adcf61cd02b75465125d95d7a12291cee")
+ version("1.2.0", sha256="19275b34ee6a1bcad05360b7eb996cebaa1402f189a5dfb084e695d423f2296e")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@1.4.2:')
- depends_on('r@3.4:', type=('build', 'run'), when='@1.6.0:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@1.4.2:")
+ depends_on("r@3.4:", type=("build", "run"), when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/r-gmodels/package.py b/var/spack/repos/builtin/packages/r-gmodels/package.py
index 36ca04e4ca..1b5ba350db 100644
--- a/var/spack/repos/builtin/packages/r-gmodels/package.py
+++ b/var/spack/repos/builtin/packages/r-gmodels/package.py
@@ -11,10 +11,10 @@ class RGmodels(RPackage):
cran = "gmodels"
- version('2.18.1.1', sha256='da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95')
- version('2.18.1', sha256='626140a34eb8c53dd0a06511a76c71bc61c48777fa76fcc5e6934c9c276a1369')
- version('2.16.2', sha256='ab018894bdb376c5bd6bc4fbc4fe6e86590f4106795a586ef196fbb6699ec47d')
+ version("2.18.1.1", sha256="da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95")
+ version("2.18.1", sha256="626140a34eb8c53dd0a06511a76c71bc61c48777fa76fcc5e6934c9c276a1369")
+ version("2.16.2", sha256="ab018894bdb376c5bd6bc4fbc4fe6e86590f4106795a586ef196fbb6699ec47d")
- depends_on('r@1.9.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-gdata', type=('build', 'run'))
+ depends_on("r@1.9.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-gdata", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gmp/package.py b/var/spack/repos/builtin/packages/r-gmp/package.py
index ee94fd5d7c..1583e99181 100644
--- a/var/spack/repos/builtin/packages/r-gmp/package.py
+++ b/var/spack/repos/builtin/packages/r-gmp/package.py
@@ -15,13 +15,13 @@ class RGmp(RPackage):
cran = "gmp"
- version('0.6-5', sha256='8ae76f3d17542eab3e7468341dabeebe28b11da8c1b4b3f7bbdb00d379689e52')
- version('0.6-2.1', sha256='c458026346c12093a22e627e2d5707a929fe95f4de3281894db4ab988d8747d6')
- version('0.6-2', sha256='6bfcb45b3f1e7da27d8773f911027355cab371d150c3dabf7dbaf8fba85b7f0e')
- version('0.5-13.5', sha256='f681ab2ff3d1e379ba8ac44a8abddd08d08170723e885abc0b469b6fa8fe5510')
- version('0.5-13.4', sha256='f05605b40fc39fc589e3a4d2f526a591a649faa45eef7f95c096e1bff8775196')
- version('0.5-13.1', sha256='2f805374a26742cd43f6b2054130d8670eda1940070aabb9971e9e48226d0976')
+ version("0.6-5", sha256="8ae76f3d17542eab3e7468341dabeebe28b11da8c1b4b3f7bbdb00d379689e52")
+ version("0.6-2.1", sha256="c458026346c12093a22e627e2d5707a929fe95f4de3281894db4ab988d8747d6")
+ version("0.6-2", sha256="6bfcb45b3f1e7da27d8773f911027355cab371d150c3dabf7dbaf8fba85b7f0e")
+ version("0.5-13.5", sha256="f681ab2ff3d1e379ba8ac44a8abddd08d08170723e885abc0b469b6fa8fe5510")
+ version("0.5-13.4", sha256="f05605b40fc39fc589e3a4d2f526a591a649faa45eef7f95c096e1bff8775196")
+ version("0.5-13.1", sha256="2f805374a26742cd43f6b2054130d8670eda1940070aabb9971e9e48226d0976")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.6-2:')
- depends_on('gmp@4.2.3:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.6-2:")
+ depends_on("gmp@4.2.3:")
diff --git a/var/spack/repos/builtin/packages/r-go-db/package.py b/var/spack/repos/builtin/packages/r-go-db/package.py
index accc8a7f67..04f934edd5 100644
--- a/var/spack/repos/builtin/packages/r-go-db/package.py
+++ b/var/spack/repos/builtin/packages/r-go-db/package.py
@@ -15,21 +15,29 @@ class RGoDb(RPackage):
bioc = "GO.db"
url = "https://www.bioconductor.org/packages/release/data/annotation/src/contrib/GO.db_3.4.1.tar.gz"
- version('3.15.0',
- sha256='bac91d73c57f206fa5bc4a501a2aaf61b365cf411181ce44353370cdbc132d99',
- url='https://bioconductor.org/packages/3.15/data/annotation/src/contrib/GO.db_3.15.0.tar.gz')
- version('3.14.0',
- sha256='45d0a681a662667d45b2472d160b72f7058ad0a28dd0ca24742e11ddfd87d8e7',
- url='https://bioconductor.org/packages/3.14/data/annotation/src/contrib/GO.db_3.14.0.tar.gz')
- version('3.12.1',
- sha256='e0316959d3d32096f9432c897413dff74fce53e15ead7917a7724467d971dab9',
- url='https://bioconductor.org/packages/3.12/data/annotation/src/contrib/GO.db_3.12.1.tar.gz')
- version('3.4.1',
- sha256='2fc2048e9d26edb98e35e4adc4d18c6df54f44836b5cc4a482d36ed99e058cc1',
- url='https://bioconductor.org/packages/3.5/data/annotation/src/contrib/GO.db_3.4.1.tar.gz')
+ version(
+ "3.15.0",
+ sha256="bac91d73c57f206fa5bc4a501a2aaf61b365cf411181ce44353370cdbc132d99",
+ url="https://bioconductor.org/packages/3.15/data/annotation/src/contrib/GO.db_3.15.0.tar.gz",
+ )
+ version(
+ "3.14.0",
+ sha256="45d0a681a662667d45b2472d160b72f7058ad0a28dd0ca24742e11ddfd87d8e7",
+ url="https://bioconductor.org/packages/3.14/data/annotation/src/contrib/GO.db_3.14.0.tar.gz",
+ )
+ version(
+ "3.12.1",
+ sha256="e0316959d3d32096f9432c897413dff74fce53e15ead7917a7724467d971dab9",
+ url="https://bioconductor.org/packages/3.12/data/annotation/src/contrib/GO.db_3.12.1.tar.gz",
+ )
+ version(
+ "3.4.1",
+ sha256="2fc2048e9d26edb98e35e4adc4d18c6df54f44836b5cc4a482d36ed99e058cc1",
+ url="https://bioconductor.org/packages/3.5/data/annotation/src/contrib/GO.db_3.4.1.tar.gz",
+ )
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.37.4:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.51.3:', type=('build', 'run'), when='@3.12.1:')
- depends_on('r-annotationdbi@1.55.1:', type=('build', 'run'), when='@3.14.0:')
- depends_on('r-annotationdbi@1.57.1:', type=('build', 'run'), when='@3.15.0:')
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.37.4:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.51.3:", type=("build", "run"), when="@3.12.1:")
+ depends_on("r-annotationdbi@1.55.1:", type=("build", "run"), when="@3.14.0:")
+ depends_on("r-annotationdbi@1.57.1:", type=("build", "run"), when="@3.15.0:")
diff --git a/var/spack/repos/builtin/packages/r-goftest/package.py b/var/spack/repos/builtin/packages/r-goftest/package.py
index 55064e923c..645d22669e 100644
--- a/var/spack/repos/builtin/packages/r-goftest/package.py
+++ b/var/spack/repos/builtin/packages/r-goftest/package.py
@@ -14,7 +14,7 @@ class RGoftest(RPackage):
cran = "goftest"
- version('1.2-3', sha256='3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19')
- version('1.2-2', sha256='e497992666b002b6c6bed73bf05047ad7aa69eb58898da0ad8f1f5b2219e7647')
+ version("1.2-3", sha256="3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19")
+ version("1.2-2", sha256="e497992666b002b6c6bed73bf05047ad7aa69eb58898da0ad8f1f5b2219e7647")
- depends_on('r@3.3:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gofuncr/package.py b/var/spack/repos/builtin/packages/r-gofuncr/package.py
index 62c0d992b2..e87b20fd2a 100644
--- a/var/spack/repos/builtin/packages/r-gofuncr/package.py
+++ b/var/spack/repos/builtin/packages/r-gofuncr/package.py
@@ -9,38 +9,38 @@ from spack.package import *
class RGofuncr(RPackage):
"""Gene ontology enrichment using FUNC.
- GOfuncR performs a gene ontology enrichment analysis based on the
- ontology enrichment software FUNC. GO-annotations are obtained from
- OrganismDb or OrgDb packages ('Homo.sapiens' by default); the GO-graph
- is included in the package and updated regularly (27-Mar-2019). GOfuncR
- provides the standard candidate vs. background enrichment analysis using
- the hypergeometric test, as well as three additional tests: (i) the
- Wilcoxon rank-sum test that is used when genes are ranked, (ii) a
- binomial test that is used when genes are associated with two counts and
- (iii) a Chi-square or Fisher's exact test that is used in cases when
- genes are associated with four counts. To correct for multiple testing
- and interdependency of the tests, family-wise error rates are computed
- based on random permutations of the gene-associated variables. GOfuncR
- also provides tools for exploring the ontology graph and the
- annotations, and options to take gene-length or spatial clustering of
- genes into account. It is also possible to provide custom gene
- coordinates, annotations and ontologies."""
+ GOfuncR performs a gene ontology enrichment analysis based on the
+ ontology enrichment software FUNC. GO-annotations are obtained from
+ OrganismDb or OrgDb packages ('Homo.sapiens' by default); the GO-graph
+ is included in the package and updated regularly (27-Mar-2019). GOfuncR
+ provides the standard candidate vs. background enrichment analysis using
+ the hypergeometric test, as well as three additional tests: (i) the
+ Wilcoxon rank-sum test that is used when genes are ranked, (ii) a
+ binomial test that is used when genes are associated with two counts and
+ (iii) a Chi-square or Fisher's exact test that is used in cases when
+ genes are associated with four counts. To correct for multiple testing
+ and interdependency of the tests, family-wise error rates are computed
+ based on random permutations of the gene-associated variables. GOfuncR
+ also provides tools for exploring the ontology graph and the
+ annotations, and options to take gene-length or spatial clustering of
+ genes into account. It is also possible to provide custom gene
+ coordinates, annotations and ontologies."""
bioc = "GOfuncR"
- version('1.16.0', commit='603fc79e13b58ec4612b6092f37d2450078dbfe1')
- version('1.14.0', commit='b3d445acf95851241d1fdb673d108ee115bdc17b')
- version('1.10.0', commit='51b01a2b9afa03fde2e1628036096cbeafaa2ef4')
- version('1.4.0', commit='2f633dc28e3faeddc5346fcdcadf1c29e3fcf709')
- version('1.2.0', commit='140a3cea4fe34d32fef9be756f85e337ce3deded')
- version('1.0.0', commit='becd4ddde085c5477042adb856e7a4f40dbd648e')
+ version("1.16.0", commit="603fc79e13b58ec4612b6092f37d2450078dbfe1")
+ version("1.14.0", commit="b3d445acf95851241d1fdb673d108ee115bdc17b")
+ version("1.10.0", commit="51b01a2b9afa03fde2e1628036096cbeafaa2ef4")
+ version("1.4.0", commit="2f633dc28e3faeddc5346fcdcadf1c29e3fcf709")
+ version("1.2.0", commit="140a3cea4fe34d32fef9be756f85e337ce3deded")
+ version("1.0.0", commit="becd4ddde085c5477042adb856e7a4f40dbd648e")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r-vioplot@0.2:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
- depends_on('r-mapplots@1.5:', type=('build', 'run'))
- depends_on('r-gtools@3.5.0:', type=('build', 'run'))
- depends_on('r-genomicranges@1.28.4:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-annotationdbi', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r-vioplot@0.2:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
+ depends_on("r-mapplots@1.5:", type=("build", "run"))
+ depends_on("r-gtools@3.5.0:", type=("build", "run"))
+ depends_on("r-genomicranges@1.28.4:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-annotationdbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-googledrive/package.py b/var/spack/repos/builtin/packages/r-googledrive/package.py
index cd4459881c..af77ef0d42 100644
--- a/var/spack/repos/builtin/packages/r-googledrive/package.py
+++ b/var/spack/repos/builtin/packages/r-googledrive/package.py
@@ -13,20 +13,20 @@ class RGoogledrive(RPackage):
cran = "googledrive"
- version('2.0.0', sha256='605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26')
+ version("2.0.0", sha256="605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-cli@3.0.0:', type=('build', 'run'))
- depends_on('r-gargle@1.2.0:', type=('build', 'run'))
- depends_on('r-glue@1.4.2:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-pillar', type=('build', 'run'))
- depends_on('r-purrr@0.2.3:', type=('build', 'run'))
- depends_on('r-rlang@0.4.9:', type=('build', 'run'))
- depends_on('r-tibble@2.0.0:', type=('build', 'run'))
- depends_on('r-uuid', type=('build', 'run'))
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-cli@3.0.0:", type=("build", "run"))
+ depends_on("r-gargle@1.2.0:", type=("build", "run"))
+ depends_on("r-glue@1.4.2:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-pillar", type=("build", "run"))
+ depends_on("r-purrr@0.2.3:", type=("build", "run"))
+ depends_on("r-rlang@0.4.9:", type=("build", "run"))
+ depends_on("r-tibble@2.0.0:", type=("build", "run"))
+ depends_on("r-uuid", type=("build", "run"))
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-googlesheets4/package.py b/var/spack/repos/builtin/packages/r-googlesheets4/package.py
index fe6c49a23d..7c6592344d 100644
--- a/var/spack/repos/builtin/packages/r-googlesheets4/package.py
+++ b/var/spack/repos/builtin/packages/r-googlesheets4/package.py
@@ -19,20 +19,20 @@ class RGooglesheets4(RPackage):
cran = "googlesheets4"
- version('1.0.0', sha256='0a107d76aac99d6db48d97ce55810c1412b2197f457b8476f676169a36c7cc7a')
+ version("1.0.0", sha256="0a107d76aac99d6db48d97ce55810c1412b2197f457b8476f676169a36c7cc7a")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-cellranger', type=('build', 'run'))
- depends_on('r-cli@3.0.0:', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-gargle@1.2.0', type=('build', 'run'))
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-googledrive@2.0.0:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-ids', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-rematch2', type=('build', 'run'))
- depends_on('r-rlang@0.4.11:', type=('build', 'run'))
- depends_on('r-tibble@2.1.1:', type=('build', 'run'))
- depends_on('r-vctrs@0.2.3:', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-cellranger", type=("build", "run"))
+ depends_on("r-cli@3.0.0:", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-gargle@1.2.0", type=("build", "run"))
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-googledrive@2.0.0:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-ids", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-rematch2", type=("build", "run"))
+ depends_on("r-rlang@0.4.11:", type=("build", "run"))
+ depends_on("r-tibble@2.1.1:", type=("build", "run"))
+ depends_on("r-vctrs@0.2.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-googlevis/package.py b/var/spack/repos/builtin/packages/r-googlevis/package.py
index 75550bd88a..346cc8e93b 100644
--- a/var/spack/repos/builtin/packages/r-googlevis/package.py
+++ b/var/spack/repos/builtin/packages/r-googlevis/package.py
@@ -17,12 +17,12 @@ class RGooglevis(RPackage):
cran = "googleVis"
- version('0.7.0', sha256='5f1636024e678f9973e3ce605b46f46ea9cdffd58b98e315b495e66f34eb02e9')
- version('0.6.11', sha256='f8c90b6c51da7bf184bff6762d98fc24faba1b634724ecdb987161ee10987b97')
- version('0.6.9', sha256='0739d0a3382a73a824b5ff9a6fe329198dd05c9da5855ac051ed022d7b41b7ea')
- version('0.6.4', sha256='7dcaf0e9d5e5598c17e8bd474141708de37eeb2578b09788431b9d871edb7eb8')
- version('0.6.3', sha256='17d104c5d4e6ab7b984df229cd51be19681e4726077afec7c61a33f6e4c0b6ef')
- version('0.6.0', sha256='862708097fbb5d4e83193777f40979d7848f9841d94d48ee8a74106266acc440')
+ version("0.7.0", sha256="5f1636024e678f9973e3ce605b46f46ea9cdffd58b98e315b495e66f34eb02e9")
+ version("0.6.11", sha256="f8c90b6c51da7bf184bff6762d98fc24faba1b634724ecdb987161ee10987b97")
+ version("0.6.9", sha256="0739d0a3382a73a824b5ff9a6fe329198dd05c9da5855ac051ed022d7b41b7ea")
+ version("0.6.4", sha256="7dcaf0e9d5e5598c17e8bd474141708de37eeb2578b09788431b9d871edb7eb8")
+ version("0.6.3", sha256="17d104c5d4e6ab7b984df229cd51be19681e4726077afec7c61a33f6e4c0b6ef")
+ version("0.6.0", sha256="862708097fbb5d4e83193777f40979d7848f9841d94d48ee8a74106266acc440")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-goplot/package.py b/var/spack/repos/builtin/packages/r-goplot/package.py
index 2f52d31067..2374e82e79 100644
--- a/var/spack/repos/builtin/packages/r-goplot/package.py
+++ b/var/spack/repos/builtin/packages/r-goplot/package.py
@@ -20,10 +20,10 @@ class RGoplot(RPackage):
cran = "GOplot"
- version('1.0.2', sha256='3ddaa2b6d1297ad6daad30d18af708adf43d86e8804b1b92fa29dfbf26d80df9')
+ version("1.0.2", sha256="3ddaa2b6d1297ad6daad30d18af708adf43d86e8804b1b92fa29dfbf26d80df9")
- depends_on('r@3.2.3:', type=('build', 'run'))
- depends_on('r-ggplot2@2.0.0:', type=('build', 'run'))
- depends_on('r-ggdendro@0.1-17:', type=('build', 'run'))
- depends_on('r-gridextra@2.0.0:', type=('build', 'run'))
- depends_on('r-rcolorbrewer@1.1-2:', type=('build', 'run'))
+ depends_on("r@3.2.3:", type=("build", "run"))
+ depends_on("r-ggplot2@2.0.0:", type=("build", "run"))
+ depends_on("r-ggdendro@0.1-17:", type=("build", "run"))
+ depends_on("r-gridextra@2.0.0:", type=("build", "run"))
+ depends_on("r-rcolorbrewer@1.1-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gosemsim/package.py b/var/spack/repos/builtin/packages/r-gosemsim/package.py
index b21842c3b9..410c63f9f4 100644
--- a/var/spack/repos/builtin/packages/r-gosemsim/package.py
+++ b/var/spack/repos/builtin/packages/r-gosemsim/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RGosemsim(RPackage):
"""GO-terms Semantic Similarity Measures.
- The semantic comparisons of Gene Ontology (GO) annotations provide
- quantitative ways to compute similarities between genes and gene groups,
- and have became important basis for many bioinformatics analysis
- approaches. GOSemSim is an R package for semantic similarity computation
- among GO terms, sets of GO terms, gene products and gene clusters.
- GOSemSim implemented five methods proposed by Resnik, Schlicker, Jiang,
- Lin and Wang respectively."""
+ The semantic comparisons of Gene Ontology (GO) annotations provide
+ quantitative ways to compute similarities between genes and gene groups,
+ and have became important basis for many bioinformatics analysis
+ approaches. GOSemSim is an R package for semantic similarity computation
+ among GO terms, sets of GO terms, gene products and gene clusters.
+ GOSemSim implemented five methods proposed by Resnik, Schlicker, Jiang,
+ Lin and Wang respectively."""
bioc = "GOSemSim"
- version('2.22.0', commit='fd74aeba2371ebf9db0595cf18674441bdac9618')
- version('2.20.0', commit='fa82442aaa4ad1a8dacc05ee2c54f5e5e770a794')
- version('2.16.1', commit='92f1d567f3584fe488f434abce87c2e1950081c0')
- version('2.10.0', commit='5db1ecbf2f8d870430d6e587609327d05ba3ad7b')
- version('2.8.0', commit='c8c985b2a814cc2365c7f05b2509205e1b6b7f58')
- version('2.6.2', commit='2ffe78e89276e804306554965fc0799318ec56ed')
- version('2.4.1', commit='0656e845860d14e054670ffc246a1c53f699299c')
- version('2.2.0', commit='247434790e6c8cf99e5643f569390362b8c87c52')
+ version("2.22.0", commit="fd74aeba2371ebf9db0595cf18674441bdac9618")
+ version("2.20.0", commit="fa82442aaa4ad1a8dacc05ee2c54f5e5e770a794")
+ version("2.16.1", commit="92f1d567f3584fe488f434abce87c2e1950081c0")
+ version("2.10.0", commit="5db1ecbf2f8d870430d6e587609327d05ba3ad7b")
+ version("2.8.0", commit="c8c985b2a814cc2365c7f05b2509205e1b6b7f58")
+ version("2.6.2", commit="2ffe78e89276e804306554965fc0799318ec56ed")
+ version("2.4.1", commit="0656e845860d14e054670ffc246a1c53f699299c")
+ version("2.2.0", commit="247434790e6c8cf99e5643f569390362b8c87c52")
- depends_on('r@3.3.2:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.8.0:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.3.2:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.8.0:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-goseq/package.py b/var/spack/repos/builtin/packages/r-goseq/package.py
index af50ec9778..74afd94f10 100644
--- a/var/spack/repos/builtin/packages/r-goseq/package.py
+++ b/var/spack/repos/builtin/packages/r-goseq/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RGoseq(RPackage):
"""Gene Ontology analyser for RNA-seq and other length biased data.
- Detects Gene Ontology and/or other user defined categories which are
- over/under represented in RNA-seq data"""
+ Detects Gene Ontology and/or other user defined categories which are
+ over/under represented in RNA-seq data"""
bioc = "goseq"
- version('1.48.0', commit='d077fda56986cc7218a88f7db37a42412b227025')
- version('1.46.0', commit='1fb5626cc80f595499af511a830322ed12bbe144')
- version('1.42.0', commit='8164b90e7505bbc1035105fdc15219c764ef8b8d')
- version('1.36.0', commit='26c9f7de18889afeee1b571ca1c4ab4d2877ab80')
- version('1.34.1', commit='bad217b42cc34423698fbcf701d4e3591aac4474')
- version('1.32.0', commit='32fcbe647eea17d7d0d7a262610811502c421d36')
- version('1.30.0', commit='fa8cafe0766ed0b6a97a4ed3374a709ed9d1daf1')
- version('1.28.0', commit='ed0ce332a8972618d740d8a93711dff994657738')
+ version("1.48.0", commit="d077fda56986cc7218a88f7db37a42412b227025")
+ version("1.46.0", commit="1fb5626cc80f595499af511a830322ed12bbe144")
+ version("1.42.0", commit="8164b90e7505bbc1035105fdc15219c764ef8b8d")
+ version("1.36.0", commit="26c9f7de18889afeee1b571ca1c4ab4d2877ab80")
+ version("1.34.1", commit="bad217b42cc34423698fbcf701d4e3591aac4474")
+ version("1.32.0", commit="32fcbe647eea17d7d0d7a262610811502c421d36")
+ version("1.30.0", commit="fa8cafe0766ed0b6a97a4ed3374a709ed9d1daf1")
+ version("1.28.0", commit="ed0ce332a8972618d740d8a93711dff994657738")
- depends_on('r@2.11.0:', type=('build', 'run'))
- depends_on('r-biasedurn', type=('build', 'run'))
- depends_on('r-genelendatabase@1.9.2:', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
+ depends_on("r@2.11.0:", type=("build", "run"))
+ depends_on("r-biasedurn", type=("build", "run"))
+ depends_on("r-genelendatabase@1.9.2:", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gostats/package.py b/var/spack/repos/builtin/packages/r-gostats/package.py
index 0f50b56c24..988b236cb1 100644
--- a/var/spack/repos/builtin/packages/r-gostats/package.py
+++ b/var/spack/repos/builtin/packages/r-gostats/package.py
@@ -9,31 +9,31 @@ from spack.package import *
class RGostats(RPackage):
"""Tools for manipulating GO and microarrays.
- A set of tools for interacting with GO and microarray data. A variety of
- basic manipulation tools for graphs, hypothesis testing and other simple
- calculations."""
+ A set of tools for interacting with GO and microarray data. A variety of
+ basic manipulation tools for graphs, hypothesis testing and other simple
+ calculations."""
bioc = "GOstats"
- version('2.62.0', commit='217db032272010ebb8fe3af4647153428f42cd47')
- version('2.60.0', commit='a20055cc1c04a91b0291a918dadd9ea912c187ce')
- version('2.56.0', commit='8f988c3b4b1ce7e05626aae8956004c7bbdd6f3a')
- version('2.50.0', commit='ee13f84341988d537a5485dcdcfb71f69e6e4930')
- version('2.48.0', commit='5db7020f4bab725cd729b32bd1d5e819b31f2485')
- version('2.46.0', commit='489d7a437488f77c3010f6212f3b81f4e240cd17')
- version('2.44.0', commit='fc64ca2aa37c52656d396d6e46611f39d6efd48a')
- version('2.42.0', commit='8b29709064a3b66cf1d963b2be0c996fb48c873e')
+ version("2.62.0", commit="217db032272010ebb8fe3af4647153428f42cd47")
+ version("2.60.0", commit="a20055cc1c04a91b0291a918dadd9ea912c187ce")
+ version("2.56.0", commit="8f988c3b4b1ce7e05626aae8956004c7bbdd6f3a")
+ version("2.50.0", commit="ee13f84341988d537a5485dcdcfb71f69e6e4930")
+ version("2.48.0", commit="5db7020f4bab725cd729b32bd1d5e819b31f2485")
+ version("2.46.0", commit="489d7a437488f77c3010f6212f3b81f4e240cd17")
+ version("2.44.0", commit="fc64ca2aa37c52656d396d6e46611f39d6efd48a")
+ version("2.42.0", commit="8b29709064a3b66cf1d963b2be0c996fb48c873e")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase@1.15.29:', type=('build', 'run'))
- depends_on('r-category@2.3.26:', type=('build', 'run'))
- depends_on('r-category@2.43.2:', type=('build', 'run'), when='@2.44.0:')
- depends_on('r-graph', type=('build', 'run'), when='@2.44.0:')
- depends_on('r-graph@1.15.15:', type=('build', 'run'), when='@2.42.0')
- depends_on('r-annotationdbi@0.0.89:', type=('build', 'run'))
- depends_on('r-go-db@1.13.0:', type=('build', 'run'))
- depends_on('r-rbgl', type=('build', 'run'))
- depends_on('r-annotate@1.13.2:', type=('build', 'run'))
- depends_on('r-annotationforge', type=('build', 'run'))
- depends_on('r-rgraphviz', type=('build', 'run'), when='@2.44.0:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase@1.15.29:", type=("build", "run"))
+ depends_on("r-category@2.3.26:", type=("build", "run"))
+ depends_on("r-category@2.43.2:", type=("build", "run"), when="@2.44.0:")
+ depends_on("r-graph", type=("build", "run"), when="@2.44.0:")
+ depends_on("r-graph@1.15.15:", type=("build", "run"), when="@2.42.0")
+ depends_on("r-annotationdbi@0.0.89:", type=("build", "run"))
+ depends_on("r-go-db@1.13.0:", type=("build", "run"))
+ depends_on("r-rbgl", type=("build", "run"))
+ depends_on("r-annotate@1.13.2:", type=("build", "run"))
+ depends_on("r-annotationforge", type=("build", "run"))
+ depends_on("r-rgraphviz", type=("build", "run"), when="@2.44.0:")
diff --git a/var/spack/repos/builtin/packages/r-gower/package.py b/var/spack/repos/builtin/packages/r-gower/package.py
index e38398d016..628443e7ba 100644
--- a/var/spack/repos/builtin/packages/r-gower/package.py
+++ b/var/spack/repos/builtin/packages/r-gower/package.py
@@ -15,6 +15,6 @@ class RGower(RPackage):
cran = "gower"
- version('1.0.0', sha256='671cb7baafe05140d822e8f26f9cd3576fc3bf4c6572b7223fb54da754ea385d')
- version('0.2.2', sha256='3f022010199fafe34f6e7431730642a76893e6b4249b84e5a61012cb83483631')
- version('0.2.1', sha256='af3fbe91cf818c0841b2c0ec4ddf282c182a588031228c8d88f7291b2cdff100')
+ version("1.0.0", sha256="671cb7baafe05140d822e8f26f9cd3576fc3bf4c6572b7223fb54da754ea385d")
+ version("0.2.2", sha256="3f022010199fafe34f6e7431730642a76893e6b4249b84e5a61012cb83483631")
+ version("0.2.1", sha256="af3fbe91cf818c0841b2c0ec4ddf282c182a588031228c8d88f7291b2cdff100")
diff --git a/var/spack/repos/builtin/packages/r-gparotation/package.py b/var/spack/repos/builtin/packages/r-gparotation/package.py
index de086a38fc..16d633c115 100644
--- a/var/spack/repos/builtin/packages/r-gparotation/package.py
+++ b/var/spack/repos/builtin/packages/r-gparotation/package.py
@@ -14,7 +14,7 @@ class RGparotation(RPackage):
cran = "GPArotation"
- version('2022.4-1', sha256='231e7edcdcc091fbecfb4f2e88d1a4344967cf7ea58074b385a4b8b48d9da224')
- version('2014.11-1', sha256='351bc15fc8dc6c8ea5045fbba22180d1e68314fc34d267545687748e312e5096')
+ version("2022.4-1", sha256="231e7edcdcc091fbecfb4f2e88d1a4344967cf7ea58074b385a4b8b48d9da224")
+ version("2014.11-1", sha256="351bc15fc8dc6c8ea5045fbba22180d1e68314fc34d267545687748e312e5096")
- depends_on('r@2.0.0:', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gplots/package.py b/var/spack/repos/builtin/packages/r-gplots/package.py
index a652519747..c63418e5c6 100644
--- a/var/spack/repos/builtin/packages/r-gplots/package.py
+++ b/var/spack/repos/builtin/packages/r-gplots/package.py
@@ -32,14 +32,14 @@ class RGplots(RPackage):
cran = "gplots"
- version('3.1.3', sha256='9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716')
- version('3.1.1', sha256='f9ae19c2574b6d41adbeccaf7bc66cf56d7b2769004daba7e0038d5fbd821339')
- version('3.0.1.1', sha256='7db103f903a25d174cddcdfc7b946039b61e236c95084b90ad17f1a41da3770c')
- version('3.0.1', sha256='343df84327ac3d03494992e79ee3afc78ba3bdc08af9a305ee3fb0a38745cb0a')
+ version("3.1.3", sha256="9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716")
+ version("3.1.1", sha256="f9ae19c2574b6d41adbeccaf7bc66cf56d7b2769004daba7e0038d5fbd821339")
+ version("3.0.1.1", sha256="7db103f903a25d174cddcdfc7b946039b61e236c95084b90ad17f1a41da3770c")
+ version("3.0.1", sha256="343df84327ac3d03494992e79ee3afc78ba3bdc08af9a305ee3fb0a38745cb0a")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-catools', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-catools", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
- depends_on('r-gdata', type=('build', 'run'), when='@:3.0.1.1')
+ depends_on("r-gdata", type=("build", "run"), when="@:3.0.1.1")
diff --git a/var/spack/repos/builtin/packages/r-graph/package.py b/var/spack/repos/builtin/packages/r-graph/package.py
index 6ed3d59c4f..af38c84d8e 100644
--- a/var/spack/repos/builtin/packages/r-graph/package.py
+++ b/var/spack/repos/builtin/packages/r-graph/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RGraph(RPackage):
"""A package to handle graph data structures.
- A package that implements some simple graph handling capabilities."""
+ A package that implements some simple graph handling capabilities."""
bioc = "graph"
- version('1.74.0', commit='4af608a5d9e1de33fda6ae28fb73bff9272ee296')
- version('1.72.0', commit='7afbd26ecd76e55e6bbd74915a561d7a9b15f907')
- version('1.68.0', commit='03ad9ed088095605e317510b8234501318994e94')
- version('1.62.0', commit='95223bd63ceb66cfe8d881f992a441de8b8c89a3')
- version('1.60.0', commit='e2aecb0a862f32091b16e0036f53367d3edf4c1d')
- version('1.58.2', commit='6455d8e7a5a45dc733915942cb71005c1016b6a0')
- version('1.56.0', commit='c4abe227dac525757679743e6fb4f49baa34acad')
- version('1.54.0', commit='2a8b08520096241620421078fc1098f4569c7301')
+ version("1.74.0", commit="4af608a5d9e1de33fda6ae28fb73bff9272ee296")
+ version("1.72.0", commit="7afbd26ecd76e55e6bbd74915a561d7a9b15f907")
+ version("1.68.0", commit="03ad9ed088095605e317510b8234501318994e94")
+ version("1.62.0", commit="95223bd63ceb66cfe8d881f992a441de8b8c89a3")
+ version("1.60.0", commit="e2aecb0a862f32091b16e0036f53367d3edf4c1d")
+ version("1.58.2", commit="6455d8e7a5a45dc733915942cb71005c1016b6a0")
+ version("1.56.0", commit="c4abe227dac525757679743e6fb4f49baa34acad")
+ version("1.54.0", commit="2a8b08520096241620421078fc1098f4569c7301")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.11:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.11:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-graphlayouts/package.py b/var/spack/repos/builtin/packages/r-graphlayouts/package.py
index c09cf47729..9531e5e48b 100644
--- a/var/spack/repos/builtin/packages/r-graphlayouts/package.py
+++ b/var/spack/repos/builtin/packages/r-graphlayouts/package.py
@@ -17,11 +17,11 @@ class RGraphlayouts(RPackage):
cran = "graphlayouts"
- version('0.8.0', sha256='d724266778e4d97ca7a762253c293ffa3d09e2627cb1c3c7a654c690819defd0')
- version('0.7.1', sha256='380f8ccb0b08735694e83f661fd56a0d592a78448ae91b89c290ba8582d66717')
- version('0.5.0', sha256='83f61ce07580c5a64c7044c12b20d98ccf138c7e78ff12855cdfc206e1fab10d')
+ version("0.8.0", sha256="d724266778e4d97ca7a762253c293ffa3d09e2627cb1c3c7a654c690819defd0")
+ version("0.7.1", sha256="380f8ccb0b08735694e83f661fd56a0d592a78448ae91b89c290ba8582d66717")
+ version("0.5.0", sha256="83f61ce07580c5a64c7044c12b20d98ccf138c7e78ff12855cdfc206e1fab10d")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-grbase/package.py b/var/spack/repos/builtin/packages/r-grbase/package.py
index 29b4b97dd0..86b90cc50e 100644
--- a/var/spack/repos/builtin/packages/r-grbase/package.py
+++ b/var/spack/repos/builtin/packages/r-grbase/package.py
@@ -26,20 +26,20 @@ class RGrbase(RPackage):
cran = "gRbase"
- version('1.8.7', sha256='01d77e1b029ac22b4e13f07384285f363733a42aba842eddfc5e1aceea99f808')
- version('1.8-6.7', sha256='aaafc7e1b521de60e1a57c0175ac64d4283850c3273bd14774cf24dabc743388')
- version('1.8-3.4', sha256='d35f94c2fb7cbd4ce3991570424dfe6723a849658da32e13df29f53b6ea2cc2c')
+ version("1.8.7", sha256="01d77e1b029ac22b4e13f07384285f363733a42aba842eddfc5e1aceea99f808")
+ version("1.8-6.7", sha256="aaafc7e1b521de60e1a57c0175ac64d4283850c3273bd14774cf24dabc743388")
+ version("1.8-3.4", sha256="d35f94c2fb7cbd4ce3991570424dfe6723a849658da32e13df29f53b6ea2cc2c")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.8-6.7:')
- depends_on('r-biocmanager', type=('build', 'run'), when='@1.8.7:')
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-rbgl', type=('build', 'run'))
- depends_on('r-rgraphviz', type=('build', 'run'), when='@1.8-6.7:')
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcpp@0.11.1:', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.8-6.7:")
+ depends_on("r-biocmanager", type=("build", "run"), when="@1.8.7:")
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-rbgl", type=("build", "run"))
+ depends_on("r-rgraphviz", type=("build", "run"), when="@1.8-6.7:")
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcpp@0.11.1:", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gridbase/package.py b/var/spack/repos/builtin/packages/r-gridbase/package.py
index 4011a00ff9..8157b85909 100644
--- a/var/spack/repos/builtin/packages/r-gridbase/package.py
+++ b/var/spack/repos/builtin/packages/r-gridbase/package.py
@@ -11,6 +11,6 @@ class RGridbase(RPackage):
cran = "gridBase"
- version('0.4-7', sha256='be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26')
+ version("0.4-7", sha256="be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26")
- depends_on('r@2.3.0:', type=('build', 'run'))
+ depends_on("r@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gridextra/package.py b/var/spack/repos/builtin/packages/r-gridextra/package.py
index 312407bd66..2e5a669923 100644
--- a/var/spack/repos/builtin/packages/r-gridextra/package.py
+++ b/var/spack/repos/builtin/packages/r-gridextra/package.py
@@ -14,7 +14,7 @@ class RGridextra(RPackage):
cran = "gridExtras"
- version('2.3', sha256='81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b')
- version('2.2.1', sha256='44fe455a5bcdf48a4ece7a542f83e7749cf251dc1df6ae7634470240398c6818')
+ version("2.3", sha256="81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b")
+ version("2.2.1", sha256="44fe455a5bcdf48a4ece7a542f83e7749cf251dc1df6ae7634470240398c6818")
- depends_on('r-gtable', type=('build', 'run'))
+ depends_on("r-gtable", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gridgraphics/package.py b/var/spack/repos/builtin/packages/r-gridgraphics/package.py
index acaff9a9d7..834071871d 100644
--- a/var/spack/repos/builtin/packages/r-gridgraphics/package.py
+++ b/var/spack/repos/builtin/packages/r-gridgraphics/package.py
@@ -17,5 +17,5 @@ class RGridgraphics(RPackage):
cran = "gridGraphics"
- version('0.5-1', sha256='29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b')
- version('0.4-1', sha256='b770127b71664bbf67f8853a2666c071f2b9920743eddc9f3a58ecb948b923cf')
+ version("0.5-1", sha256="29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b")
+ version("0.4-1", sha256="b770127b71664bbf67f8853a2666c071f2b9920743eddc9f3a58ecb948b923cf")
diff --git a/var/spack/repos/builtin/packages/r-gsa/package.py b/var/spack/repos/builtin/packages/r-gsa/package.py
index 6f84c1f0fd..b651ea9e72 100644
--- a/var/spack/repos/builtin/packages/r-gsa/package.py
+++ b/var/spack/repos/builtin/packages/r-gsa/package.py
@@ -11,5 +11,5 @@ class RGsa(RPackage):
cran = "GSA"
- version('1.03.2', sha256='177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8')
- version('1.03.1', sha256='e192d4383f53680dbd556223ea5f8cad6bae62a80a337ba5fd8d05a8aee6a917')
+ version("1.03.2", sha256="177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8")
+ version("1.03.1", sha256="e192d4383f53680dbd556223ea5f8cad6bae62a80a337ba5fd8d05a8aee6a917")
diff --git a/var/spack/repos/builtin/packages/r-gsalib/package.py b/var/spack/repos/builtin/packages/r-gsalib/package.py
index bd15f2d159..14d08a3c08 100644
--- a/var/spack/repos/builtin/packages/r-gsalib/package.py
+++ b/var/spack/repos/builtin/packages/r-gsalib/package.py
@@ -15,4 +15,4 @@ class RGsalib(RPackage):
cran = "gsalib"
- version('2.1', sha256='e1b23b986c18b89a94c58d9db45e552d1bce484300461803740dacdf7c937fcc')
+ version("2.1", sha256="e1b23b986c18b89a94c58d9db45e552d1bce484300461803740dacdf7c937fcc")
diff --git a/var/spack/repos/builtin/packages/r-gseabase/package.py b/var/spack/repos/builtin/packages/r-gseabase/package.py
index e85980e0bf..fbe4621655 100644
--- a/var/spack/repos/builtin/packages/r-gseabase/package.py
+++ b/var/spack/repos/builtin/packages/r-gseabase/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RGseabase(RPackage):
"""Gene set enrichment data structures and methods.
- This package provides classes and methods to support Gene Set Enrichment
- Analysis (GSEA)."""
+ This package provides classes and methods to support Gene Set Enrichment
+ Analysis (GSEA)."""
bioc = "GSEABase"
- version('1.58.0', commit='7de04442fb1ab63ffde29f4e3daf13ad32e90bdb')
- version('1.56.0', commit='ee7c3ca4ad0f1f3e9b9162db1515413802860ecc')
- version('1.52.1', commit='257dfccbc5b507d82099fac6b06bb03825e995e8')
- version('1.46.0', commit='edce83a9256a0c03206c2bce7c90ada0d90f6622')
- version('1.44.0', commit='7042ff64a98b05b9572231ee1b4f3ae4fc9c768e')
- version('1.42.0', commit='5e40ce0fdd4dc0cff7601b169bbf6aa1430ae33e')
- version('1.40.1', commit='3e5441708b80aab2c9642988bee709d5732831a6')
- version('1.38.2', commit='84c9f10c316163118ca990900a7a67555b96e75b')
+ version("1.58.0", commit="7de04442fb1ab63ffde29f4e3daf13ad32e90bdb")
+ version("1.56.0", commit="ee7c3ca4ad0f1f3e9b9162db1515413802860ecc")
+ version("1.52.1", commit="257dfccbc5b507d82099fac6b06bb03825e995e8")
+ version("1.46.0", commit="edce83a9256a0c03206c2bce7c90ada0d90f6622")
+ version("1.44.0", commit="7042ff64a98b05b9572231ee1b4f3ae4fc9c768e")
+ version("1.42.0", commit="5e40ce0fdd4dc0cff7601b169bbf6aa1430ae33e")
+ version("1.40.1", commit="3e5441708b80aab2c9642988bee709d5732831a6")
+ version("1.38.2", commit="84c9f10c316163118ca990900a7a67555b96e75b")
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.8:', type=('build', 'run'))
- depends_on('r-biobase@2.17.8:', type=('build', 'run'))
- depends_on('r-annotate@1.45.3:', type=('build', 'run'))
- depends_on('r-graph@1.37.2:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.8:", type=("build", "run"))
+ depends_on("r-biobase@2.17.8:", type=("build", "run"))
+ depends_on("r-annotate@1.45.3:", type=("build", "run"))
+ depends_on("r-graph@1.37.2:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gsl/package.py b/var/spack/repos/builtin/packages/r-gsl/package.py
index 58700f51cd..5e8f017874 100644
--- a/var/spack/repos/builtin/packages/r-gsl/package.py
+++ b/var/spack/repos/builtin/packages/r-gsl/package.py
@@ -14,8 +14,8 @@ class RGsl(RPackage):
cran = "gsl"
- version('2.1-7.1', sha256='ee98d1382d37ffa77538a90ccdbf44affbf1710a9e66b8ada73fa72e67921985')
- version('2.1-6', sha256='f5d463239693f146617018987687db31b163653708cbae0b730b9b7bed81995c')
+ version("2.1-7.1", sha256="ee98d1382d37ffa77538a90ccdbf44affbf1710a9e66b8ada73fa72e67921985")
+ version("2.1-6", sha256="f5d463239693f146617018987687db31b163653708cbae0b730b9b7bed81995c")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('gsl@2.1:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("gsl@2.1:")
diff --git a/var/spack/repos/builtin/packages/r-gsodr/package.py b/var/spack/repos/builtin/packages/r-gsodr/package.py
index 363a708e4c..176b5e204e 100644
--- a/var/spack/repos/builtin/packages/r-gsodr/package.py
+++ b/var/spack/repos/builtin/packages/r-gsodr/package.py
@@ -29,17 +29,17 @@ class RGsodr(RPackage):
cran = "GSODR"
- version('3.1.5', sha256='37682141707d7e29fab653ccdeb154fea2c085080f686b33f1a54140608e824d')
- version('3.1.4', sha256='615ac4271b44a63064cb23632b887c60c86f4742957fc46f300423f8f75858c8')
- version('2.1.2', sha256='4fc1d084b6c21055d8cc17a6a6dc412261aa0d4ef4079bcd73b580a8c16bf74e')
- version('2.1.1', sha256='dba732e5bd1e367b9d710e6b8924f0c02fa4546202f049124dba02bc2e3329f5')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-countrycode', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-data-table@1.11.6:', type=('build', 'run'), when='@:2.1.2')
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-r-utils', type=('build', 'run'))
-
- depends_on('r-future-apply', type=('build', 'run'), when='@:2.1.2')
+ version("3.1.5", sha256="37682141707d7e29fab653ccdeb154fea2c085080f686b33f1a54140608e824d")
+ version("3.1.4", sha256="615ac4271b44a63064cb23632b887c60c86f4742957fc46f300423f8f75858c8")
+ version("2.1.2", sha256="4fc1d084b6c21055d8cc17a6a6dc412261aa0d4ef4079bcd73b580a8c16bf74e")
+ version("2.1.1", sha256="dba732e5bd1e367b9d710e6b8924f0c02fa4546202f049124dba02bc2e3329f5")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-countrycode", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-data-table@1.11.6:", type=("build", "run"), when="@:2.1.2")
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-r-utils", type=("build", "run"))
+
+ depends_on("r-future-apply", type=("build", "run"), when="@:2.1.2")
diff --git a/var/spack/repos/builtin/packages/r-gss/package.py b/var/spack/repos/builtin/packages/r-gss/package.py
index 6f0b860f8c..b4e9b68f75 100644
--- a/var/spack/repos/builtin/packages/r-gss/package.py
+++ b/var/spack/repos/builtin/packages/r-gss/package.py
@@ -14,10 +14,10 @@ class RGss(RPackage):
cran = "gss"
- version('2.2-3', sha256='24306401cf4e5869f8a690eca7e17c044ece83edd66969bd2daf5976272d244b')
- version('2.2-2', sha256='1da4da894378ee730cff9628e8b4d2a0d7dfa344b94e5bce6953e66723c21fe4')
- version('2.1-10', sha256='26c47ecae6a9b7854a1b531c09f869cf8b813462bd8093e3618e1091ace61ee2')
- version('2.1-7', sha256='0405bb5e4c4d60b466335e5da07be4f9570045a24aed09e7bc0640e1a00f3adb')
+ version("2.2-3", sha256="24306401cf4e5869f8a690eca7e17c044ece83edd66969bd2daf5976272d244b")
+ version("2.2-2", sha256="1da4da894378ee730cff9628e8b4d2a0d7dfa344b94e5bce6953e66723c21fe4")
+ version("2.1-10", sha256="26c47ecae6a9b7854a1b531c09f869cf8b813462bd8093e3618e1091ace61ee2")
+ version("2.1-7", sha256="0405bb5e4c4d60b466335e5da07be4f9570045a24aed09e7bc0640e1a00f3adb")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@2.2-2:')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@2.2-2:")
diff --git a/var/spack/repos/builtin/packages/r-gstat/package.py b/var/spack/repos/builtin/packages/r-gstat/package.py
index 02ea25f74d..604ba06730 100644
--- a/var/spack/repos/builtin/packages/r-gstat/package.py
+++ b/var/spack/repos/builtin/packages/r-gstat/package.py
@@ -17,14 +17,14 @@ class RGstat(RPackage):
cran = "gstat"
- version('2.0-9', sha256='122c032c2e15388496853597ebcb5664e76cda96b164e9917ee66d1c24fba4a6')
- version('2.0-8', sha256='57cb9e8235a39379a96af0a5651c82e02fdd608375917939948c3dbf170668e8')
- version('2.0-6', sha256='6711e68aa2444cf2927879a03a976d8caeca5eac98d806b19a6a7178b90bfcab')
- version('2.0-3', sha256='20a93fe6bf89221a5888de273bddf9a98187806d507cd3cd6297c2b13e7acce1')
+ version("2.0-9", sha256="122c032c2e15388496853597ebcb5664e76cda96b164e9917ee66d1c24fba4a6")
+ version("2.0-8", sha256="57cb9e8235a39379a96af0a5651c82e02fdd608375917939948c3dbf170668e8")
+ version("2.0-6", sha256="6711e68aa2444cf2927879a03a976d8caeca5eac98d806b19a6a7178b90bfcab")
+ version("2.0-3", sha256="20a93fe6bf89221a5888de273bddf9a98187806d507cd3cd6297c2b13e7acce1")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-sp@0.9-72:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-spacetime@1.0-0:', type=('build', 'run'))
- depends_on('r-fnn', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-sp@0.9-72:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-spacetime@1.0-0:", type=("build", "run"))
+ depends_on("r-fnn", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gsubfn/package.py b/var/spack/repos/builtin/packages/r-gsubfn/package.py
index 260108f947..13e8640aa6 100644
--- a/var/spack/repos/builtin/packages/r-gsubfn/package.py
+++ b/var/spack/repos/builtin/packages/r-gsubfn/package.py
@@ -23,7 +23,7 @@ class RGsubfn(RPackage):
cran = "gsubfn"
- version('0.7', sha256='89351df9e65722d2862f26a0a3985666de3c86e8400808ced8a6eb6e165a4602')
- version('0.6-6', sha256='bbc5d29bb48e836407f81880aeb368544a54a5513dacb3411c9838180723dda4')
+ version("0.7", sha256="89351df9e65722d2862f26a0a3985666de3c86e8400808ced8a6eb6e165a4602")
+ version("0.6-6", sha256="bbc5d29bb48e836407f81880aeb368544a54a5513dacb3411c9838180723dda4")
- depends_on('r-proto', type=('build', 'run'))
+ depends_on("r-proto", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gtable/package.py b/var/spack/repos/builtin/packages/r-gtable/package.py
index 0c37b74746..bb8f2155ed 100644
--- a/var/spack/repos/builtin/packages/r-gtable/package.py
+++ b/var/spack/repos/builtin/packages/r-gtable/package.py
@@ -17,7 +17,7 @@ class RGtable(RPackage):
cran = "gtable"
- version('0.3.0', sha256='fd386cc4610b1cc7627dac34dba8367f7efe114b968503027fb2e1265c67d6d3')
- version('0.2.0', sha256='801e4869830ff3da1d38e41f5a2296a54fc10a7419c6ffb108582850c701e76f')
+ version("0.3.0", sha256="fd386cc4610b1cc7627dac34dba8367f7efe114b968503027fb2e1265c67d6d3")
+ version("0.2.0", sha256="801e4869830ff3da1d38e41f5a2296a54fc10a7419c6ffb108582850c701e76f")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gtools/package.py b/var/spack/repos/builtin/packages/r-gtools/package.py
index 4c11fd7376..0a4513405c 100644
--- a/var/spack/repos/builtin/packages/r-gtools/package.py
+++ b/var/spack/repos/builtin/packages/r-gtools/package.py
@@ -43,10 +43,10 @@ class RGtools(RPackage):
cran = "gtools"
- version('3.9.2.1', sha256='ec5febad7bb33812684b39679b0bce8a668361b87714f7388546e0f4ac02af5f')
- version('3.9.2', sha256='03b1898bf581f6d12fa90e23ff700cfa7c834ac10c6654bdac42d7ec943fa953')
- version('3.8.2', sha256='503ba60a41f3c61b8129c25de62c74dab29761d2e661d4addd106e2e02f1dcde')
- version('3.8.1', sha256='051484459bd8ad1b03425b8843d24f6828fea18f7357cfa1c192198cc3f4ba38')
- version('3.5.0', sha256='86b6a51a92ddb3c78095e0c5dc20414c67f6e28f915bf0ee11406adad3e476f6')
+ version("3.9.2.1", sha256="ec5febad7bb33812684b39679b0bce8a668361b87714f7388546e0f4ac02af5f")
+ version("3.9.2", sha256="03b1898bf581f6d12fa90e23ff700cfa7c834ac10c6654bdac42d7ec943fa953")
+ version("3.8.2", sha256="503ba60a41f3c61b8129c25de62c74dab29761d2e661d4addd106e2e02f1dcde")
+ version("3.8.1", sha256="051484459bd8ad1b03425b8843d24f6828fea18f7357cfa1c192198cc3f4ba38")
+ version("3.5.0", sha256="86b6a51a92ddb3c78095e0c5dc20414c67f6e28f915bf0ee11406adad3e476f6")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gtrellis/package.py b/var/spack/repos/builtin/packages/r-gtrellis/package.py
index e1c4b5afc9..829463f4e9 100644
--- a/var/spack/repos/builtin/packages/r-gtrellis/package.py
+++ b/var/spack/repos/builtin/packages/r-gtrellis/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RGtrellis(RPackage):
"""Genome Level Trellis Layout.
- Genome level Trellis graph visualizes genomic data conditioned by
- genomic categories (e.g. chromosomes). For each genomic category,
- multiple dimensional data which are represented as tracks describe
- different features from different aspects. This package provides high
- flexibility to arrange genomic categories and to add self-defined
- graphics in the plot."""
+ Genome level Trellis graph visualizes genomic data conditioned by
+ genomic categories (e.g. chromosomes). For each genomic category,
+ multiple dimensional data which are represented as tracks describe
+ different features from different aspects. This package provides high
+ flexibility to arrange genomic categories and to add self-defined
+ graphics in the plot."""
bioc = "gtrellis"
- version('1.28.0', commit='d770a7b3441e4003869c88cfd8e21fd6508b86c4')
- version('1.26.0', commit='f2c3121b31ad1b422e2cf503435d0590e903ff3f')
- version('1.22.0', commit='c071c5631f3dedda212aed87d9c02954b5ed6611')
- version('1.16.1', commit='a9003ededc8f2a48c78d4545e2f214023c13a7da')
- version('1.14.0', commit='93935fb34211d12b250e22291712e18a31b0208d')
- version('1.12.1', commit='7f3941adddbbfa17f4cf474b703568678a38272d')
- version('1.11.1', commit='ff47d99743fd697d5c724f7bb18131dfe76dee71')
- version('1.8.0', commit='f813b420a008c459f63a2a13e5e64c5507c4c472')
+ version("1.28.0", commit="d770a7b3441e4003869c88cfd8e21fd6508b86c4")
+ version("1.26.0", commit="f2c3121b31ad1b422e2cf503435d0590e903ff3f")
+ version("1.22.0", commit="c071c5631f3dedda212aed87d9c02954b5ed6611")
+ version("1.16.1", commit="a9003ededc8f2a48c78d4545e2f214023c13a7da")
+ version("1.14.0", commit="93935fb34211d12b250e22291712e18a31b0208d")
+ version("1.12.1", commit="7f3941adddbbfa17f4cf474b703568678a38272d")
+ version("1.11.1", commit="ff47d99743fd697d5c724f7bb18131dfe76dee71")
+ version("1.8.0", commit="f813b420a008c459f63a2a13e5e64c5507c4c472")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-circlize@0.3.3:', type=('build', 'run'))
- depends_on('r-circlize@0.4.8:', type=('build', 'run'), when='@1.16.1')
- depends_on('r-getoptlong', type=('build', 'run'))
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-circlize@0.3.3:", type=("build", "run"))
+ depends_on("r-circlize@0.4.8:", type=("build", "run"), when="@1.16.1")
+ depends_on("r-getoptlong", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gviz/package.py b/var/spack/repos/builtin/packages/r-gviz/package.py
index 71007a95c4..a4b61d0f30 100644
--- a/var/spack/repos/builtin/packages/r-gviz/package.py
+++ b/var/spack/repos/builtin/packages/r-gviz/package.py
@@ -9,47 +9,47 @@ from spack.package import *
class RGviz(RPackage):
"""Plotting data and annotation information along genomic coordinates.
- Genomic data analyses requires integrated visualization of known genomic
- information and new experimental data. Gviz uses the biomaRt and the
- rtracklayer packages to perform live annotation queries to Ensembl and
- UCSC and translates this to e.g. gene/transcript structures in viewports
- of the grid graphics package. This results in genomic information
- plotted together with your data."""
+ Genomic data analyses requires integrated visualization of known genomic
+ information and new experimental data. Gviz uses the biomaRt and the
+ rtracklayer packages to perform live annotation queries to Ensembl and
+ UCSC and translates this to e.g. gene/transcript structures in viewports
+ of the grid graphics package. This results in genomic information
+ plotted together with your data."""
bioc = "Gviz"
- version('1.40.1', commit='d21843710cd05135353de5cd4ce4d35cdd333b7c')
- version('1.38.3', commit='c4b352a16455a5744533c511e59354977814cb9e')
- version('1.34.0', commit='445fadff2aedd8734580fa908aa47ff1216a8182')
- version('1.28.3', commit='20b9825af144cfc888629c34aa980b5bbd65bf86')
- version('1.26.5', commit='430310b9d2e098f9757a71d26a2f69871071f30c')
- version('1.24.0', commit='3ee1eec97a56653c07c434a97f82cfe3c4281841')
- version('1.22.3', commit='2238079d0a7017c474f010acb35d98ee7cc1c5d1')
- version('1.20.0', commit='299b8255e1b03932cebe287c3690d58c88f5ba5c')
+ version("1.40.1", commit="d21843710cd05135353de5cd4ce4d35cdd333b7c")
+ version("1.38.3", commit="c4b352a16455a5744533c511e59354977814cb9e")
+ version("1.34.0", commit="445fadff2aedd8734580fa908aa47ff1216a8182")
+ version("1.28.3", commit="20b9825af144cfc888629c34aa980b5bbd65bf86")
+ version("1.26.5", commit="430310b9d2e098f9757a71d26a2f69871071f30c")
+ version("1.24.0", commit="3ee1eec97a56653c07c434a97f82cfe3c4281841")
+ version("1.22.3", commit="2238079d0a7017c474f010acb35d98ee7cc1c5d1")
+ version("1.20.0", commit="299b8255e1b03932cebe287c3690d58c88f5ba5c")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.34.0:')
- depends_on('r@4.1:', type=('build', 'run'), when='@1.38.3:')
- depends_on('r@4.2:', type=('build', 'run'), when='@1.40.1:')
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-iranges@1.99.18:', type=('build', 'run'))
- depends_on('r-genomicranges@1.17.20:', type=('build', 'run'))
- depends_on('r-xvector@0.5.7:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.25.13:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-biomart@2.11.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.27.5:', type=('build', 'run'))
- depends_on('r-biobase@2.15.3:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.17.22:', type=('build', 'run'))
- depends_on('r-ensembldb@2.11.3:', type=('build', 'run'), when='@1.34.0:')
- depends_on('r-bsgenome@1.33.1:', type=('build', 'run'))
- depends_on('r-biostrings@2.33.11:', type=('build', 'run'))
- depends_on('r-biovizbase@1.13.8:', type=('build', 'run'))
- depends_on('r-rsamtools@1.17.28:', type=('build', 'run'))
- depends_on('r-latticeextra@0.6-26:', type=('build', 'run'))
- depends_on('r-matrixstats@0.8.14:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.1.16:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.1.3:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.11.3:', type=('build', 'run'))
- depends_on('r-digest@0.6.8:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.34.0:")
+ depends_on("r@4.1:", type=("build", "run"), when="@1.38.3:")
+ depends_on("r@4.2:", type=("build", "run"), when="@1.40.1:")
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-iranges@1.99.18:", type=("build", "run"))
+ depends_on("r-genomicranges@1.17.20:", type=("build", "run"))
+ depends_on("r-xvector@0.5.7:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.25.13:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-biomart@2.11.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.27.5:", type=("build", "run"))
+ depends_on("r-biobase@2.15.3:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.17.22:", type=("build", "run"))
+ depends_on("r-ensembldb@2.11.3:", type=("build", "run"), when="@1.34.0:")
+ depends_on("r-bsgenome@1.33.1:", type=("build", "run"))
+ depends_on("r-biostrings@2.33.11:", type=("build", "run"))
+ depends_on("r-biovizbase@1.13.8:", type=("build", "run"))
+ depends_on("r-rsamtools@1.17.28:", type=("build", "run"))
+ depends_on("r-latticeextra@0.6-26:", type=("build", "run"))
+ depends_on("r-matrixstats@0.8.14:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.1.16:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.1.3:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.11.3:", type=("build", "run"))
+ depends_on("r-digest@0.6.8:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-gwmodel/package.py b/var/spack/repos/builtin/packages/r-gwmodel/package.py
index 6651397014..38b1e58165 100644
--- a/var/spack/repos/builtin/packages/r-gwmodel/package.py
+++ b/var/spack/repos/builtin/packages/r-gwmodel/package.py
@@ -24,21 +24,21 @@ class RGwmodel(RPackage):
cran = "GWmodel"
- version('2.2-8', sha256='5b1890dbf75502e89b651efd9158be77b3cfa764a5717f9889f438ed2b0a4da2')
- version('2.2-2', sha256='4e2b221b85fbc828ffc4f057c137ded849afcaac2a75c27d2d6d0a6db17f8a06')
- version('2.1-3', sha256='3e1a36fddf8e64f61d548067bb043216f8d12069d814a4cbf07a9cae0b310af6')
- version('2.1-1', sha256='91241b4e26d423a54c7c6784ef5159759058a5dafdff18a1ea8451faf979d1f3')
- version('2.0-9', sha256='b479af2c19d4aec30f1883d00193d52e342c609c1badcb51cc0344e4404cffa7')
+ version("2.2-8", sha256="5b1890dbf75502e89b651efd9158be77b3cfa764a5717f9889f438ed2b0a4da2")
+ version("2.2-2", sha256="4e2b221b85fbc828ffc4f057c137ded849afcaac2a75c27d2d6d0a6db17f8a06")
+ version("2.1-3", sha256="3e1a36fddf8e64f61d548067bb043216f8d12069d814a4cbf07a9cae0b310af6")
+ version("2.1-1", sha256="91241b4e26d423a54c7c6784ef5159759058a5dafdff18a1ea8451faf979d1f3")
+ version("2.0-9", sha256="b479af2c19d4aec30f1883d00193d52e342c609c1badcb51cc0344e4404cffa7")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-maptools@0.5-2:', type=('build', 'run'))
- depends_on('r-robustbase', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-sp@1.4-0:', type=('build', 'run'), when='@2.2-2:')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-spatialreg', type=('build', 'run'))
- depends_on('r-spacetime', type=('build', 'run'))
- depends_on('r-spdep', type=('build', 'run'))
- depends_on('r-fnn', type=('build', 'run'), when='@2.1-1:')
- depends_on('r-rcpparmadillo', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-maptools@0.5-2:", type=("build", "run"))
+ depends_on("r-robustbase", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-sp@1.4-0:", type=("build", "run"), when="@2.2-2:")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-spatialreg", type=("build", "run"))
+ depends_on("r-spacetime", type=("build", "run"))
+ depends_on("r-spdep", type=("build", "run"))
+ depends_on("r-fnn", type=("build", "run"), when="@2.1-1:")
+ depends_on("r-rcpparmadillo", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-hardhat/package.py b/var/spack/repos/builtin/packages/r-hardhat/package.py
index b17ef44f17..519bf51e83 100644
--- a/var/spack/repos/builtin/packages/r-hardhat/package.py
+++ b/var/spack/repos/builtin/packages/r-hardhat/package.py
@@ -19,16 +19,16 @@ class RHardhat(RPackage):
cran = "hardhat"
- version('1.0.0', sha256='2740dc243a440e7d32370a78f9258255faea6d900075901cf6009c651769e7bd')
- version('0.2.0', sha256='9497ca0fe6206c54d1da79f248d44c5faffc7d375b630091ef45dfca46c29628')
+ version("1.0.0", sha256="2740dc243a440e7d32370a78f9258255faea6d900075901cf6009c651769e7bd")
+ version("0.2.0", sha256="9497ca0fe6206c54d1da79f248d44c5faffc7d375b630091ef45dfca46c29628")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-glue@1.6.2:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-rlang@0.4.2:', type=('build', 'run'))
- depends_on('r-rlang@1.0.2:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tibble@3.1.7:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'))
- depends_on('r-vctrs@0.4.1:', type=('build', 'run'), when='@1.0.0:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-glue@1.6.2:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-rlang@0.4.2:", type=("build", "run"))
+ depends_on("r-rlang@1.0.2:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tibble@3.1.7:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"))
+ depends_on("r-vctrs@0.4.1:", type=("build", "run"), when="@1.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-haven/package.py b/var/spack/repos/builtin/packages/r-haven/package.py
index 59c1a8c1e2..0c72c99f12 100644
--- a/var/spack/repos/builtin/packages/r-haven/package.py
+++ b/var/spack/repos/builtin/packages/r-haven/package.py
@@ -14,27 +14,27 @@ class RHaven(RPackage):
cran = "haven"
- version('2.5.0', sha256='b580311bc1b28efc6b123e29a331282b9f7eb552c485f4e5cacab39fe534aff4')
- version('2.4.3', sha256='95b70f47e77792bed4312441787299d2e3e27d79a176f0638a37e5301b93295f')
- version('2.3.1', sha256='6eee9f3297aab4cae2e4a4181ea65af933eacee2a2fb40af5b2ecf06f1bb9e0d')
- version('2.1.1', sha256='90bcb4e7f24960e7aa3e15c06b95cd897f08de149cec43fd8ba110b14526068a')
- version('2.1.0', sha256='c0a1cf1b039549fb3ad833f9644ed3f142790236ad755d2ee7bd3d8109e3ae74')
- version('1.1.0', sha256='089fb4d0955f320abc48d0a3031799f96f3a20b82492474743903fdf12001d19')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r@3.4:', type=('build', 'run'), when='@2.5.0:')
- depends_on('r-cli@3.0.0:', type=('build', 'run'), when='@2.5.0:')
- depends_on('r-forcats@0.2.0:', type=('build', 'run'))
- depends_on('r-hms', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@2.5.0:')
- depends_on('r-readr@0.1.0:', type=('build', 'run'))
- depends_on('r-rlang@0.4.0:', type=('build', 'run'), when='@2.3.1:')
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'), when='@2.3.1:')
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'), when='@2.3.1:')
- depends_on('r-cpp11', type=('build', 'run'), when='@2.4:')
- depends_on('gmake', type='build')
- depends_on('zlib', when='@2.4:')
-
- depends_on('r-rcpp@0.11.4:', type=('build', 'run'), when='@:2.3')
+ version("2.5.0", sha256="b580311bc1b28efc6b123e29a331282b9f7eb552c485f4e5cacab39fe534aff4")
+ version("2.4.3", sha256="95b70f47e77792bed4312441787299d2e3e27d79a176f0638a37e5301b93295f")
+ version("2.3.1", sha256="6eee9f3297aab4cae2e4a4181ea65af933eacee2a2fb40af5b2ecf06f1bb9e0d")
+ version("2.1.1", sha256="90bcb4e7f24960e7aa3e15c06b95cd897f08de149cec43fd8ba110b14526068a")
+ version("2.1.0", sha256="c0a1cf1b039549fb3ad833f9644ed3f142790236ad755d2ee7bd3d8109e3ae74")
+ version("1.1.0", sha256="089fb4d0955f320abc48d0a3031799f96f3a20b82492474743903fdf12001d19")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r@3.4:", type=("build", "run"), when="@2.5.0:")
+ depends_on("r-cli@3.0.0:", type=("build", "run"), when="@2.5.0:")
+ depends_on("r-forcats@0.2.0:", type=("build", "run"))
+ depends_on("r-hms", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@2.5.0:")
+ depends_on("r-readr@0.1.0:", type=("build", "run"))
+ depends_on("r-rlang@0.4.0:", type=("build", "run"), when="@2.3.1:")
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"), when="@2.3.1:")
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"), when="@2.3.1:")
+ depends_on("r-cpp11", type=("build", "run"), when="@2.4:")
+ depends_on("gmake", type="build")
+ depends_on("zlib", when="@2.4:")
+
+ depends_on("r-rcpp@0.11.4:", type=("build", "run"), when="@:2.3")
diff --git a/var/spack/repos/builtin/packages/r-hdf5array/package.py b/var/spack/repos/builtin/packages/r-hdf5array/package.py
index f32891fa09..024eee78fe 100644
--- a/var/spack/repos/builtin/packages/r-hdf5array/package.py
+++ b/var/spack/repos/builtin/packages/r-hdf5array/package.py
@@ -9,44 +9,44 @@ from spack.package import *
class RHdf5array(RPackage):
"""HDF5 backend for DelayedArray objects.
- Implements the HDF5Array and TENxMatrix classes, 2 convenient and
- memory-efficient array-like containers for on-disk representation of
- HDF5 datasets. HDF5Array is for datasets that use the conventional (i.e.
- dense) HDF5 representation. TENxMatrix is for datasets that use the
- HDF5-based sparse matrix representation from 10x Genomics (e.g. the 1.3
- Million Brain Cell Dataset). Both containers being DelayedArray
- extensions, they support all operations supported by DelayedArray
- objects. These operations can be either delayed or block-processed."""
+ Implements the HDF5Array and TENxMatrix classes, 2 convenient and
+ memory-efficient array-like containers for on-disk representation of
+ HDF5 datasets. HDF5Array is for datasets that use the conventional (i.e.
+ dense) HDF5 representation. TENxMatrix is for datasets that use the
+ HDF5-based sparse matrix representation from 10x Genomics (e.g. the 1.3
+ Million Brain Cell Dataset). Both containers being DelayedArray
+ extensions, they support all operations supported by DelayedArray
+ objects. These operations can be either delayed or block-processed."""
bioc = "HDF5Array"
- version('1.24.1', commit='d002fe70c84baaadb62058ce467d6c1ea032d8f5')
- version('1.22.1', commit='b3f091fbc159609e8e0792d2bf9fbef52c6ceede')
- version('1.18.0', commit='d5bd55d170cb384fdebdf60751e1e28483782caa')
- version('1.12.3', commit='21c6077f3f789748a18f2e579110576c5522e975')
- version('1.10.1', commit='0b8ae1dfb56e4203dd8e14781850370df46a5e2c')
- version('1.8.1', commit='3c9aa23d117bf489b6341708dc80c943bd1af11a')
- version('1.6.0', commit='95f2f8d3648143abe9dc77c76340c5edf4114c82')
- version('1.4.8', commit='79ab96d123c8da8f8ead81f678fe714c0958ff45')
+ version("1.24.1", commit="d002fe70c84baaadb62058ce467d6c1ea032d8f5")
+ version("1.22.1", commit="b3f091fbc159609e8e0792d2bf9fbef52c6ceede")
+ version("1.18.0", commit="d5bd55d170cb384fdebdf60751e1e28483782caa")
+ version("1.12.3", commit="21c6077f3f789748a18f2e579110576c5522e975")
+ version("1.10.1", commit="0b8ae1dfb56e4203dd8e14781850370df46a5e2c")
+ version("1.8.1", commit="3c9aa23d117bf489b6341708dc80c943bd1af11a")
+ version("1.6.0", commit="95f2f8d3648143abe9dc77c76340c5edf4114c82")
+ version("1.4.8", commit="79ab96d123c8da8f8ead81f678fe714c0958ff45")
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r-delayedarray@0.2.4:', type=('build', 'run'))
- depends_on('r-delayedarray@0.3.18:', type=('build', 'run'), when='@1.6.0:')
- depends_on('r-delayedarray@0.5.32:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-delayedarray@0.7.41:', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-delayedarray@0.9.3:', type=('build', 'run'), when='@1.12.3:')
- depends_on('r-delayedarray@0.15.16:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-rhdf5', type=('build', 'run'))
- depends_on('r-rhdf5@2.25.6:', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-rhdf5@2.31.6:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-matrix', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-rhdf5filters', type=('build', 'run'), when='@1.22.1:')
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-biocgenerics@0.25.1:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-biocgenerics@0.31.5:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-s4vectors@0.21.6:', type=('build', 'run'), when='@1.12.3:')
- depends_on('r-s4vectors@0.27.13:', type=('build', 'run'), when='@1.18.0:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-rhdf5lib', type=('build', 'run'), when='@1.12.3:')
- depends_on('gmake', type='build')
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r-delayedarray@0.2.4:", type=("build", "run"))
+ depends_on("r-delayedarray@0.3.18:", type=("build", "run"), when="@1.6.0:")
+ depends_on("r-delayedarray@0.5.32:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-delayedarray@0.7.41:", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-delayedarray@0.9.3:", type=("build", "run"), when="@1.12.3:")
+ depends_on("r-delayedarray@0.15.16:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-rhdf5", type=("build", "run"))
+ depends_on("r-rhdf5@2.25.6:", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-rhdf5@2.31.6:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-matrix", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-rhdf5filters", type=("build", "run"), when="@1.22.1:")
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-biocgenerics@0.31.5:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-s4vectors@0.21.6:", type=("build", "run"), when="@1.12.3:")
+ depends_on("r-s4vectors@0.27.13:", type=("build", "run"), when="@1.18.0:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-rhdf5lib", type=("build", "run"), when="@1.12.3:")
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-hdf5r/package.py b/var/spack/repos/builtin/packages/r-hdf5r/package.py
index a9ce59416b..dbd2bb2d96 100644
--- a/var/spack/repos/builtin/packages/r-hdf5r/package.py
+++ b/var/spack/repos/builtin/packages/r-hdf5r/package.py
@@ -18,15 +18,15 @@ class RHdf5r(RPackage):
cran = "hdf5r"
- version('1.3.5', sha256='87b75173ab226a9fbaa5b28289349f3c56b638629560a172994b8f9323c1622f')
- version('1.3.3', sha256='a0f83cbf21563e81dbd1a1bd8379623ed0c9c4df4e094c75013abfd7a5271545')
- version('1.2.0', sha256='58813e334fd3f9040038345a7186e5cb02090898883ac192477a76a5b8b4fe81')
+ version("1.3.5", sha256="87b75173ab226a9fbaa5b28289349f3c56b638629560a172994b8f9323c1622f")
+ version("1.3.3", sha256="a0f83cbf21563e81dbd1a1bd8379623ed0c9c4df4e094c75013abfd7a5271545")
+ version("1.2.0", sha256="58813e334fd3f9040038345a7186e5cb02090898883ac192477a76a5b8b4fe81")
- depends_on('r@3.2.2:', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('hdf5@1.8.13:+hl')
- depends_on('pkgconfig', type='build')
+ depends_on("r@3.2.2:", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("hdf5@1.8.13:+hl")
+ depends_on("pkgconfig", type="build")
# The configure script in the package uses the hdf5 h5cc compiler wrapper
# in the PATH to configure hdf5. That works fine if hdf5 was built with
@@ -34,4 +34,4 @@ class RHdf5r(RPackage):
# wrapper built with cmake does not support the '-show' or '-showconfig'
# flags. The following patch replaces those commands in the configure
# script with pkg-config commands.
- patch('configure.patch')
+ patch("configure.patch")
diff --git a/var/spack/repos/builtin/packages/r-hdrcde/package.py b/var/spack/repos/builtin/packages/r-hdrcde/package.py
index d8e3e3d7df..93a2fdbb6f 100644
--- a/var/spack/repos/builtin/packages/r-hdrcde/package.py
+++ b/var/spack/repos/builtin/packages/r-hdrcde/package.py
@@ -14,14 +14,14 @@ class RHdrcde(RPackage):
dimensions, kernel estimation of univariate density functions
conditional on one covariate,and multimodal regression."""
- cran = 'hdrcde'
+ cran = "hdrcde"
- version('3.4', sha256='4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b')
+ version("3.4", sha256="4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b")
- depends_on('r@2.15:', type=('build', 'run'))
- depends_on('r-locfit', type=('build', 'run'))
- depends_on('r-ash', type=('build', 'run'))
- depends_on('r-ks', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
+ depends_on("r-locfit", type=("build", "run"))
+ depends_on("r-ash", type=("build", "run"))
+ depends_on("r-ks", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-here/package.py b/var/spack/repos/builtin/packages/r-here/package.py
index 5789d4d6b3..6dfe57b35f 100644
--- a/var/spack/repos/builtin/packages/r-here/package.py
+++ b/var/spack/repos/builtin/packages/r-here/package.py
@@ -16,6 +16,6 @@ class RHere(RPackage):
cran = "here"
- version('1.0.1', sha256='08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b')
+ version("1.0.1", sha256="08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b")
- depends_on('r-rprojroot@2.0.2:', type=('build', 'run'))
+ depends_on("r-rprojroot@2.0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-hexbin/package.py b/var/spack/repos/builtin/packages/r-hexbin/package.py
index 0a8f292fea..73184cdc1f 100644
--- a/var/spack/repos/builtin/packages/r-hexbin/package.py
+++ b/var/spack/repos/builtin/packages/r-hexbin/package.py
@@ -15,10 +15,10 @@ class RHexbin(RPackage):
cran = "hexbin"
- version('1.28.2', sha256='6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d')
- version('1.27.3', sha256='7ea422a76542c2fc2840df601af1b7803aa96df4fee6d51dec456ac36940c191')
- version('1.27.2', sha256='46d47b1efef75d6f126af686a4dd614228b60418b9a5bde9e9e5d11200a0ee52')
- version('1.27.1', sha256='075935a3ae2d90e44aca6ebbd368dc6f7e59d322e36e0e0932dedbf01330ad08')
+ version("1.28.2", sha256="6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d")
+ version("1.27.3", sha256="7ea422a76542c2fc2840df601af1b7803aa96df4fee6d51dec456ac36940c191")
+ version("1.27.2", sha256="46d47b1efef75d6f126af686a4dd614228b60418b9a5bde9e9e5d11200a0ee52")
+ version("1.27.1", sha256="075935a3ae2d90e44aca6ebbd368dc6f7e59d322e36e0e0932dedbf01330ad08")
- depends_on('r@2.0.1:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@2.0.1:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-hh/package.py b/var/spack/repos/builtin/packages/r-hh/package.py
index 9cf03898b0..3157e0fd16 100644
--- a/var/spack/repos/builtin/packages/r-hh/package.py
+++ b/var/spack/repos/builtin/packages/r-hh/package.py
@@ -25,21 +25,21 @@ class RHh(RPackage):
cran = "HH"
- version('3.1-47', sha256='50910ac7de49122df56c6e42413535601c74bbef9240ad8977e3267273d087c0')
- version('3.1-43', sha256='2ed35c8fc97092e9d2ce3439a2ec342d5d7bd93ad8f5266995cc80d88cd2235b')
- version('3.1-40', sha256='795924d900a98ae367e6697b2c951c3b4910a54931aebcad5024eda083d4a8a2')
+ version("3.1-47", sha256="50910ac7de49122df56c6e42413535601c74bbef9240ad8977e3267273d087c0")
+ version("3.1-43", sha256="2ed35c8fc97092e9d2ce3439a2ec342d5d7bd93ad8f5266995cc80d88cd2235b")
+ version("3.1-40", sha256="795924d900a98ae367e6697b2c951c3b4910a54931aebcad5024eda083d4a8a2")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-latticeextra', type=('build', 'run'))
- depends_on('r-multcomp', type=('build', 'run'))
- depends_on('r-gridextra@2.0.0:', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-leaps', type=('build', 'run'))
- depends_on('r-vcd', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-shiny@0.13.1:', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-rmpfr@0.6.0:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-latticeextra", type=("build", "run"))
+ depends_on("r-multcomp", type=("build", "run"))
+ depends_on("r-gridextra@2.0.0:", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-leaps", type=("build", "run"))
+ depends_on("r-vcd", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-shiny@0.13.1:", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-rmpfr@0.6.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-highr/package.py b/var/spack/repos/builtin/packages/r-highr/package.py
index 1113cb7d58..fbefc00a43 100644
--- a/var/spack/repos/builtin/packages/r-highr/package.py
+++ b/var/spack/repos/builtin/packages/r-highr/package.py
@@ -15,11 +15,11 @@ class RHighr(RPackage):
cran = "highr"
- version('0.9', sha256='beff11390d936c90fdcc00e7ed0eb72220f3de403a51b56659e3d3e0b6d8ed4d')
- version('0.8', sha256='4bd01fba995f68c947a99bdf9aca15327a5320151e10bd0326fad50a6d8bc657')
- version('0.7', sha256='cabba5b6f2ea82024a49c5ced5f1aa476f864bc52bc129038e319e4e26b6f3b7')
- version('0.6', sha256='43e152b2dea596df6e14c44398c74fcd438ece15eaae5bdb84aef8d61b213b59')
+ version("0.9", sha256="beff11390d936c90fdcc00e7ed0eb72220f3de403a51b56659e3d3e0b6d8ed4d")
+ version("0.8", sha256="4bd01fba995f68c947a99bdf9aca15327a5320151e10bd0326fad50a6d8bc657")
+ version("0.7", sha256="cabba5b6f2ea82024a49c5ced5f1aa476f864bc52bc129038e319e4e26b6f3b7")
+ version("0.6", sha256="43e152b2dea596df6e14c44398c74fcd438ece15eaae5bdb84aef8d61b213b59")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.2.3:', type=('build', 'run'), when='@0.8:')
- depends_on('r-xfun@0.18:', type=('build', 'run'), when='@0.9:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.2.3:", type=("build", "run"), when="@0.8:")
+ depends_on("r-xfun@0.18:", type=("build", "run"), when="@0.9:")
diff --git a/var/spack/repos/builtin/packages/r-hmisc/package.py b/var/spack/repos/builtin/packages/r-hmisc/package.py
index 25ec800bcc..64d7677d42 100644
--- a/var/spack/repos/builtin/packages/r-hmisc/package.py
+++ b/var/spack/repos/builtin/packages/r-hmisc/package.py
@@ -17,29 +17,29 @@ class RHmisc(RPackage):
cran = "Hmisc"
- version('4.7-0', sha256='29ec2d9ca11c790c350e93323126bef4f498c69c41c31bb335fd04671e0f87bd')
- version('4.6-0', sha256='2c1ce906b2333c6dc946dc7f10b74cfa552bce2b12dbebf295d143163562a1ad')
- version('4.4-2', sha256='490ac64dd8558868e7c6fdd9523af102e17ea536c450d62c48b04155279bfbc8')
- version('4.4-0', sha256='f16ecf4c5ee2202d51f426282a54f8000ffa8b9747c3e910205f34f878556ec7')
- version('4.2-0', sha256='9e9614673288dd00295f250fa0bf96fc9e9fed692c69bf97691081c1a01411d9')
- version('4.1-1', sha256='991db21cdf73ffbf5b0239a4876b2e76fd243ea33528afd88dc968792f281498')
-
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-survival@2.40-1:', type=('build', 'run'))
- depends_on('r-survival@3.1-6:', type=('build', 'run'), when='@4.4:')
- depends_on('r-formula', type=('build', 'run'))
- depends_on('r-ggplot2@2.2:', type=('build', 'run'))
- depends_on('r-latticeextra', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-foreign', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-htmltable@1.11.0:', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
-
- depends_on('r-acepack', type=('build', 'run'), when='@:4.4-0')
+ version("4.7-0", sha256="29ec2d9ca11c790c350e93323126bef4f498c69c41c31bb335fd04671e0f87bd")
+ version("4.6-0", sha256="2c1ce906b2333c6dc946dc7f10b74cfa552bce2b12dbebf295d143163562a1ad")
+ version("4.4-2", sha256="490ac64dd8558868e7c6fdd9523af102e17ea536c450d62c48b04155279bfbc8")
+ version("4.4-0", sha256="f16ecf4c5ee2202d51f426282a54f8000ffa8b9747c3e910205f34f878556ec7")
+ version("4.2-0", sha256="9e9614673288dd00295f250fa0bf96fc9e9fed692c69bf97691081c1a01411d9")
+ version("4.1-1", sha256="991db21cdf73ffbf5b0239a4876b2e76fd243ea33528afd88dc968792f281498")
+
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-survival@2.40-1:", type=("build", "run"))
+ depends_on("r-survival@3.1-6:", type=("build", "run"), when="@4.4:")
+ depends_on("r-formula", type=("build", "run"))
+ depends_on("r-ggplot2@2.2:", type=("build", "run"))
+ depends_on("r-latticeextra", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-foreign", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-htmltable@1.11.0:", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+
+ depends_on("r-acepack", type=("build", "run"), when="@:4.4-0")
diff --git a/var/spack/repos/builtin/packages/r-hms/package.py b/var/spack/repos/builtin/packages/r-hms/package.py
index 9fd5762c6a..9f4d598d67 100644
--- a/var/spack/repos/builtin/packages/r-hms/package.py
+++ b/var/spack/repos/builtin/packages/r-hms/package.py
@@ -14,16 +14,16 @@ class RHms(RPackage):
cran = "hms"
- version('1.1.1', sha256='6b5f30db1845c70d27b5de33f31caa487cdd0787cd80a4073375e5f482269062')
- version('1.0.0', sha256='9704e903d724f0911d46e5ad18b469a7ed419c5b1f388bd064fd663cefa6c962')
- version('0.5.0', sha256='a87872665c3bf3901f597d78c152e7805f7129e4dbe27397051de4cf1a76561b')
- version('0.3', sha256='9368259cbc1094ce0e4cf61544875ec30088ef690d6667e6b0b564218ab3ff88')
+ version("1.1.1", sha256="6b5f30db1845c70d27b5de33f31caa487cdd0787cd80a4073375e5f482269062")
+ version("1.0.0", sha256="9704e903d724f0911d46e5ad18b469a7ed419c5b1f388bd064fd663cefa6c962")
+ version("0.5.0", sha256="a87872665c3bf3901f597d78c152e7805f7129e4dbe27397051de4cf1a76561b")
+ version("0.3", sha256="9368259cbc1094ce0e4cf61544875ec30088ef690d6667e6b0b564218ab3ff88")
- depends_on('r-ellipsis', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-ellipsis@0.3.2', type=('build', 'run'), when='@1.1:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-pkgconfig', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-vctrs@0.2.0:', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-vctrs@0.2.1:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-vctrs@0.3.8:', type=('build', 'run'), when='@1.1:')
+ depends_on("r-ellipsis", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-ellipsis@0.3.2", type=("build", "run"), when="@1.1:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-pkgconfig", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-vctrs@0.2.0:", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-vctrs@0.2.1:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-vctrs@0.3.8:", type=("build", "run"), when="@1.1:")
diff --git a/var/spack/repos/builtin/packages/r-hoardr/package.py b/var/spack/repos/builtin/packages/r-hoardr/package.py
index ad16ad99b8..d66ad5c003 100644
--- a/var/spack/repos/builtin/packages/r-hoardr/package.py
+++ b/var/spack/repos/builtin/packages/r-hoardr/package.py
@@ -17,8 +17,8 @@ class RHoardr(RPackage):
cran = "hoardr"
- version('0.5.2', sha256='819113f0e25da105f120a676b5173872a4144f2f6f354cad14b35f898e76dc54')
+ version("0.5.2", sha256="819113f0e25da105f120a676b5173872a4144f2f6f354cad14b35f898e76dc54")
- depends_on('r-r6@2.2.0:', type=('build', 'run'))
- depends_on('r-rappdirs@0.3.1:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
+ depends_on("r-r6@2.2.0:", type=("build", "run"))
+ depends_on("r-rappdirs@0.3.1:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-htmltable/package.py b/var/spack/repos/builtin/packages/r-htmltable/package.py
index a342937256..d9f1251434 100644
--- a/var/spack/repos/builtin/packages/r-htmltable/package.py
+++ b/var/spack/repos/builtin/packages/r-htmltable/package.py
@@ -18,16 +18,16 @@ class RHtmltable(RPackage):
cran = "htmlTable"
- version('2.4.0', sha256='4ca2b5616d77cfeee8ae5ca74307b86407d478b12d1ce17ba9c447e233b89a9d')
- version('2.1.0', sha256='4049339b317cbec1c8c7930e2e36cf0fc8b002516092dd270bb794d8db02f0bf')
- version('1.13.1', sha256='689f32b65da6a57ad500e8d9ef3309d346401dca277c6b264a46c8d7c75884d0')
- version('1.11.2', sha256='64a273b1cdf07a7c57b9031315ca665f95d78e70b4320d020f64a139278877d1')
- version('1.9', sha256='5b487a7f33af77db7d987bf61f3ef2ba18bb629fe7b9802409f8b3485c603132')
+ version("2.4.0", sha256="4ca2b5616d77cfeee8ae5ca74307b86407d478b12d1ce17ba9c447e233b89a9d")
+ version("2.1.0", sha256="4049339b317cbec1c8c7930e2e36cf0fc8b002516092dd270bb794d8db02f0bf")
+ version("1.13.1", sha256="689f32b65da6a57ad500e8d9ef3309d346401dca277c6b264a46c8d7c75884d0")
+ version("1.11.2", sha256="64a273b1cdf07a7c57b9031315ca665f95d78e70b4320d020f64a139278877d1")
+ version("1.9", sha256="5b487a7f33af77db7d987bf61f3ef2ba18bb629fe7b9802409f8b3485c603132")
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-knitr@1.6:', type=('build', 'run'))
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-checkmate', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'), when="@1.11.0:")
- depends_on('r-rstudioapi@0.6:', type=('build', 'run'), when="@1.11.0:")
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-knitr@1.6:", type=("build", "run"))
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-checkmate", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"), when="@1.11.0:")
+ depends_on("r-rstudioapi@0.6:", type=("build", "run"), when="@1.11.0:")
diff --git a/var/spack/repos/builtin/packages/r-htmltools/package.py b/var/spack/repos/builtin/packages/r-htmltools/package.py
index 30b42cb798..a710a4b6df 100644
--- a/var/spack/repos/builtin/packages/r-htmltools/package.py
+++ b/var/spack/repos/builtin/packages/r-htmltools/package.py
@@ -13,17 +13,17 @@ class RHtmltools(RPackage):
cran = "htmltools"
- version('0.5.2', sha256='7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb')
- version('0.5.1.1', sha256='f0bfe72ffe330f3d6c9ead5857f3a4aef80e002e32558074a3e643f2ab67a4ba')
- version('0.5.1', sha256='6ac82e4451f9558ceb541ea659a736b2ab3245827832b44d3661e7a4d91f6307')
- version('0.3.6', sha256='44affb82f9c2fd76c9e2b58f9229adb003217932b68c3fdbf1327c8d74c868a2')
- version('0.3.5', sha256='29fb7e075744bbffdff8ba4fce3860076de66f39a59a100ee4cfb4fc00722b49')
-
- depends_on('r@2.14.1:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'), when='@0.5.1:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@0.5.2:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.5.1:')
- depends_on('r-fastmap@1.1.0:', type=('build', 'run'), when='@0.5.2:')
-
- depends_on('r-rcpp', type=('build', 'run'), when='@:0.3.6')
+ version("0.5.2", sha256="7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb")
+ version("0.5.1.1", sha256="f0bfe72ffe330f3d6c9ead5857f3a4aef80e002e32558074a3e643f2ab67a4ba")
+ version("0.5.1", sha256="6ac82e4451f9558ceb541ea659a736b2ab3245827832b44d3661e7a4d91f6307")
+ version("0.3.6", sha256="44affb82f9c2fd76c9e2b58f9229adb003217932b68c3fdbf1327c8d74c868a2")
+ version("0.3.5", sha256="29fb7e075744bbffdff8ba4fce3860076de66f39a59a100ee4cfb4fc00722b49")
+
+ depends_on("r@2.14.1:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"), when="@0.5.1:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@0.5.2:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.5.1:")
+ depends_on("r-fastmap@1.1.0:", type=("build", "run"), when="@0.5.2:")
+
+ depends_on("r-rcpp", type=("build", "run"), when="@:0.3.6")
diff --git a/var/spack/repos/builtin/packages/r-htmlwidgets/package.py b/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
index 44461ed5e1..3f07b5fda4 100644
--- a/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
+++ b/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
@@ -15,13 +15,13 @@ class RHtmlwidgets(RPackage):
cran = "htmlwidgets"
- version('1.5.4', sha256='1a3fc60f40717de7f1716b754fd1c31a132e489a2560a278636ee78eba46ffc1')
- version('1.5.3', sha256='01a5833182cc224bd100be2815e57e67b524de9f2bb1542787b6e3d1303f0f29')
- version('1.3', sha256='f1e4ffabc29e6cfe857f627da095be3cfcbe0e1f02ae75e572f10b4a026c5a12')
- version('0.9', sha256='1154b541ccd868e41d3cf0d7f188f7275ec99f61fe2c7de21c8a05edb19b985e')
- version('0.8', sha256='9232b78727c1ecd006cd8e607ef76417d795f011b0e4a7535e6d673228bfc3b5')
- version('0.6', sha256='9c227f93ada71526d6e195e39a8efef41255af5567e39db3a6417ea9fed192ea')
+ version("1.5.4", sha256="1a3fc60f40717de7f1716b754fd1c31a132e489a2560a278636ee78eba46ffc1")
+ version("1.5.3", sha256="01a5833182cc224bd100be2815e57e67b524de9f2bb1542787b6e3d1303f0f29")
+ version("1.3", sha256="f1e4ffabc29e6cfe857f627da095be3cfcbe0e1f02ae75e572f10b4a026c5a12")
+ version("0.9", sha256="1154b541ccd868e41d3cf0d7f188f7275ec99f61fe2c7de21c8a05edb19b985e")
+ version("0.8", sha256="9232b78727c1ecd006cd8e607ef76417d795f011b0e4a7535e6d673228bfc3b5")
+ version("0.6", sha256="9c227f93ada71526d6e195e39a8efef41255af5567e39db3a6417ea9fed192ea")
- depends_on('r-htmltools@0.3:', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.16:', type=('build', 'run'))
- depends_on('r-yaml', type=('build', 'run'))
+ depends_on("r-htmltools@0.3:", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.16:", type=("build", "run"))
+ depends_on("r-yaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-httpcode/package.py b/var/spack/repos/builtin/packages/r-httpcode/package.py
index ed5764c2be..033c6c828a 100644
--- a/var/spack/repos/builtin/packages/r-httpcode/package.py
+++ b/var/spack/repos/builtin/packages/r-httpcode/package.py
@@ -15,5 +15,5 @@ class RHttpcode(RPackage):
cran = "httpcode"
- version('0.3.0', sha256='593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76')
- version('0.2.0', sha256='fbc1853db742a2cc1df11285cf27ce2ea43bc0ba5f7d393ee96c7e0ee328681a')
+ version("0.3.0", sha256="593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76")
+ version("0.2.0", sha256="fbc1853db742a2cc1df11285cf27ce2ea43bc0ba5f7d393ee96c7e0ee328681a")
diff --git a/var/spack/repos/builtin/packages/r-httpuv/package.py b/var/spack/repos/builtin/packages/r-httpuv/package.py
index 0076bf6de1..64b9be72c8 100644
--- a/var/spack/repos/builtin/packages/r-httpuv/package.py
+++ b/var/spack/repos/builtin/packages/r-httpuv/package.py
@@ -19,20 +19,20 @@ class RHttpuv(RPackage):
cran = "httpuv"
- version('1.6.5', sha256='f5f63629ca5e9d0e396a89982d95b5286726c0cb425166f35a3ad32a60a79156')
- version('1.5.5', sha256='0be6c98927c7859d4bbfbbec8822c9f5e95352077d87640a76bc2ade07c83117')
- version('1.5.1', sha256='b5bb6b3b2f1a6d792568a70f3f357d6b3a35a5e26dd0c668c61a31f2ae8f5710')
- version('1.3.5', sha256='4336b993afccca2a194aca577b1975b89a35ac863423b18a11cdbb3f8470e4e9')
- version('1.3.3', sha256='bb37452ddc4d9381bee84cdf524582859af6a988e291debb71c8a2e120d02b2a')
-
- depends_on('r@2.15.1:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-rcpp@1.0.7:', type=('build', 'run'), when='@1.6.5:')
- depends_on('r-r6', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-promises', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-later@0.8.0:', type=('build', 'run'), when='@1.5.0:')
- depends_on('gmake', type='build')
- depends_on('zip')
- depends_on('zlib', when='@1.6.4:')
-
- depends_on('r-bh', type=('build', 'run'), when='@1.5.5')
+ version("1.6.5", sha256="f5f63629ca5e9d0e396a89982d95b5286726c0cb425166f35a3ad32a60a79156")
+ version("1.5.5", sha256="0be6c98927c7859d4bbfbbec8822c9f5e95352077d87640a76bc2ade07c83117")
+ version("1.5.1", sha256="b5bb6b3b2f1a6d792568a70f3f357d6b3a35a5e26dd0c668c61a31f2ae8f5710")
+ version("1.3.5", sha256="4336b993afccca2a194aca577b1975b89a35ac863423b18a11cdbb3f8470e4e9")
+ version("1.3.3", sha256="bb37452ddc4d9381bee84cdf524582859af6a988e291debb71c8a2e120d02b2a")
+
+ depends_on("r@2.15.1:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-rcpp@1.0.7:", type=("build", "run"), when="@1.6.5:")
+ depends_on("r-r6", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-promises", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-later@0.8.0:", type=("build", "run"), when="@1.5.0:")
+ depends_on("gmake", type="build")
+ depends_on("zip")
+ depends_on("zlib", when="@1.6.4:")
+
+ depends_on("r-bh", type=("build", "run"), when="@1.5.5")
diff --git a/var/spack/repos/builtin/packages/r-httr/package.py b/var/spack/repos/builtin/packages/r-httr/package.py
index 4acd5de1ef..29e97e87fb 100644
--- a/var/spack/repos/builtin/packages/r-httr/package.py
+++ b/var/spack/repos/builtin/packages/r-httr/package.py
@@ -15,19 +15,19 @@ class RHttr(RPackage):
cran = "httr"
- version('1.4.3', sha256='9a8613fa96173ac910c021391af1ced4d0609169049c802cf7cdfe1c40897c6a')
- version('1.4.2', sha256='462bed6ed0d92f811d5df4d294336025f1dbff357286999d9269bfd9c20b1ef9')
- version('1.4.1', sha256='675c7e07bbe82c48284ee1ab929bb14a6e653abae2860d854dc41a3c028de156')
- version('1.4.0', sha256='d633f1425da514f65f3b8c034ae0a8b6911995009840c6bb9657ceedb99ddb48')
- version('1.3.1', sha256='22134d7426b2eba37f0cc34b99285499b8bac9fe75a7bc3222fbad179bf8f258')
- version('1.2.1', sha256='e7b90b90ee52c826e152efcfadf98e078fa75b65a6baaeb8fd25eeed2195730e')
- version('1.1.0', sha256='d7c0cdc11b2ded3132544580f52ebe5dad2a426cde1a5029f2cc693b2f195823')
+ version("1.4.3", sha256="9a8613fa96173ac910c021391af1ced4d0609169049c802cf7cdfe1c40897c6a")
+ version("1.4.2", sha256="462bed6ed0d92f811d5df4d294336025f1dbff357286999d9269bfd9c20b1ef9")
+ version("1.4.1", sha256="675c7e07bbe82c48284ee1ab929bb14a6e653abae2860d854dc41a3c028de156")
+ version("1.4.0", sha256="d633f1425da514f65f3b8c034ae0a8b6911995009840c6bb9657ceedb99ddb48")
+ version("1.3.1", sha256="22134d7426b2eba37f0cc34b99285499b8bac9fe75a7bc3222fbad179bf8f258")
+ version("1.2.1", sha256="e7b90b90ee52c826e152efcfadf98e078fa75b65a6baaeb8fd25eeed2195730e")
+ version("1.1.0", sha256="d7c0cdc11b2ded3132544580f52ebe5dad2a426cde1a5029f2cc693b2f195823")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r@3.2:', type=('build', 'run'), when='@1.4.1:')
- depends_on('r-curl@3.0.0:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-mime', type=('build', 'run'))
- depends_on('r-openssl@0.8:', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r@3.2:", type=("build", "run"), when="@1.4.1:")
+ depends_on("r-curl@3.0.0:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-mime", type=("build", "run"))
+ depends_on("r-openssl@0.8:", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-hwriter/package.py b/var/spack/repos/builtin/packages/r-hwriter/package.py
index 464c6c9813..6e2fd7e62c 100644
--- a/var/spack/repos/builtin/packages/r-hwriter/package.py
+++ b/var/spack/repos/builtin/packages/r-hwriter/package.py
@@ -14,7 +14,7 @@ class RHwriter(RPackage):
cran = "hwriter"
- version('1.3.2.1', sha256='ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3')
- version('1.3.2', sha256='6b3531d2e7a239be9d6e3a1aa3256b2745eb68aa0bdffd2076d36552d0d7322b')
+ version("1.3.2.1", sha256="ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3")
+ version("1.3.2", sha256="6b3531d2e7a239be9d6e3a1aa3256b2745eb68aa0bdffd2076d36552d0d7322b")
- depends_on('r@2.6.0:', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-hypergraph/package.py b/var/spack/repos/builtin/packages/r-hypergraph/package.py
index c6ce4f4124..79a69b1322 100644
--- a/var/spack/repos/builtin/packages/r-hypergraph/package.py
+++ b/var/spack/repos/builtin/packages/r-hypergraph/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RHypergraph(RPackage):
"""A package providing hypergraph data structures.
- A package that implements some simple capabilities for representing and
- manipulating hypergraphs."""
+ A package that implements some simple capabilities for representing and
+ manipulating hypergraphs."""
bioc = "hypergraph"
- version('1.68.0', commit='7d53b5050f4ebe0a7007c02b76e93498195da3a4')
- version('1.66.0', commit='e9c47336df6409006622818f541f258103163a39')
- version('1.62.0', commit='a286bbb70289e9f3cdf41407d52e5976bd6ed11e')
- version('1.56.0', commit='f8b977fe068f15ecea49d30e77a871a35afcb97b')
- version('1.54.0', commit='cf134b9221e9b5f6329a6786a366f57426c49e7c')
- version('1.52.0', commit='3e28d8e8ab4c3facb79857b4e4cfffd65e064aca')
- version('1.50.0', commit='fb3d523caf1d5791ef6962dd3c1a142742025ad5')
- version('1.48.0', commit='a4c19ea0b5f15204f706a7bfdea5363706382820')
+ version("1.68.0", commit="7d53b5050f4ebe0a7007c02b76e93498195da3a4")
+ version("1.66.0", commit="e9c47336df6409006622818f541f258103163a39")
+ version("1.62.0", commit="a286bbb70289e9f3cdf41407d52e5976bd6ed11e")
+ version("1.56.0", commit="f8b977fe068f15ecea49d30e77a871a35afcb97b")
+ version("1.54.0", commit="cf134b9221e9b5f6329a6786a366f57426c49e7c")
+ version("1.52.0", commit="3e28d8e8ab4c3facb79857b4e4cfffd65e064aca")
+ version("1.50.0", commit="fb3d523caf1d5791ef6962dd3c1a142742025ad5")
+ version("1.48.0", commit="a4c19ea0b5f15204f706a7bfdea5363706382820")
- depends_on('r@2.1.0:', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
+ depends_on("r@2.1.0:", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ica/package.py b/var/spack/repos/builtin/packages/r-ica/package.py
index ab293a949c..06a33c1b6a 100644
--- a/var/spack/repos/builtin/packages/r-ica/package.py
+++ b/var/spack/repos/builtin/packages/r-ica/package.py
@@ -15,6 +15,6 @@ class RIca(RPackage):
cran = "ica"
- version('1.0-2', sha256='e721596fc6175d3270a60d5e0b5b98be103a8fd0dd93ef16680af21fe0b54179')
- version('1.0-1', sha256='98559a8bb12dd134a40ce8fd133803e2a38456b45d0e2a507d66022a8e2274ae')
- version('1.0-0', sha256='9ff4ec7f4525bdce9d7859b22a1a170a1f6f9f7fb9f3d0b537dcaec77cd83d01')
+ version("1.0-2", sha256="e721596fc6175d3270a60d5e0b5b98be103a8fd0dd93ef16680af21fe0b54179")
+ version("1.0-1", sha256="98559a8bb12dd134a40ce8fd133803e2a38456b45d0e2a507d66022a8e2274ae")
+ version("1.0-0", sha256="9ff4ec7f4525bdce9d7859b22a1a170a1f6f9f7fb9f3d0b537dcaec77cd83d01")
diff --git a/var/spack/repos/builtin/packages/r-ids/package.py b/var/spack/repos/builtin/packages/r-ids/package.py
index 6387aed845..bd179bd304 100644
--- a/var/spack/repos/builtin/packages/r-ids/package.py
+++ b/var/spack/repos/builtin/packages/r-ids/package.py
@@ -13,7 +13,7 @@ class RIds(RPackage):
cran = "ids"
- version('1.0.1', sha256='b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8')
+ version("1.0.1", sha256="b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8")
- depends_on('r-openssl', type=('build', 'run'))
- depends_on('r-uuid', type=('build', 'run'))
+ depends_on("r-openssl", type=("build", "run"))
+ depends_on("r-uuid", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-igraph/package.py b/var/spack/repos/builtin/packages/r-igraph/package.py
index 034729835b..af45abd1ad 100644
--- a/var/spack/repos/builtin/packages/r-igraph/package.py
+++ b/var/spack/repos/builtin/packages/r-igraph/package.py
@@ -15,21 +15,21 @@ class RIgraph(RPackage):
cran = "igraph"
- version('1.3.1', sha256='505a2ba7c417ceaf869240cc1c9a5f3fbd75f8d9dfcfe048df1326c6ec41144e')
- version('1.2.11', sha256='1c8b715eb61e6e7d9082858673929f8e84dc832c0a2a7aba7811511bbd2000de')
- version('1.2.6', sha256='640da72166fda84bea2c0e5eee374f1ed80cd9439c1171d056b1b1737ae6c76d')
- version('1.2.4.1', sha256='891acc763b5a4a4a245358a95dee69280f4013c342f14dd6a438e7bb2bf2e480')
- version('1.2.4', sha256='1048eb26ab6b592815bc269c1d91e974c86c9ab827ccb80ae0a40042019592cb')
- version('1.1.2', sha256='89b16b41bc77949ea208419e52a18b78b5d418c7fedc52cd47d06a51a6e746ec')
- version('1.0.1', sha256='dc64ed09b8b5f8d66ed4936cde3491974d6bc5178dd259b6eab7ef3936aa5602')
-
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-pkgconfig@2.0.0:', type=('build', 'run'))
- depends_on('gmp')
- depends_on('gmp@4.38:', when='@1.2.11:')
- depends_on('libxml2')
- depends_on('glpk', when='@1.2.0:')
- depends_on('glpk@4.57:', when='@1.3.1:')
-
- depends_on('r-irlba', type=('build', 'run'), when='@:1.1.9')
+ version("1.3.1", sha256="505a2ba7c417ceaf869240cc1c9a5f3fbd75f8d9dfcfe048df1326c6ec41144e")
+ version("1.2.11", sha256="1c8b715eb61e6e7d9082858673929f8e84dc832c0a2a7aba7811511bbd2000de")
+ version("1.2.6", sha256="640da72166fda84bea2c0e5eee374f1ed80cd9439c1171d056b1b1737ae6c76d")
+ version("1.2.4.1", sha256="891acc763b5a4a4a245358a95dee69280f4013c342f14dd6a438e7bb2bf2e480")
+ version("1.2.4", sha256="1048eb26ab6b592815bc269c1d91e974c86c9ab827ccb80ae0a40042019592cb")
+ version("1.1.2", sha256="89b16b41bc77949ea208419e52a18b78b5d418c7fedc52cd47d06a51a6e746ec")
+ version("1.0.1", sha256="dc64ed09b8b5f8d66ed4936cde3491974d6bc5178dd259b6eab7ef3936aa5602")
+
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-pkgconfig@2.0.0:", type=("build", "run"))
+ depends_on("gmp")
+ depends_on("gmp@4.38:", when="@1.2.11:")
+ depends_on("libxml2")
+ depends_on("glpk", when="@1.2.0:")
+ depends_on("glpk@4.57:", when="@1.3.1:")
+
+ depends_on("r-irlba", type=("build", "run"), when="@:1.1.9")
diff --git a/var/spack/repos/builtin/packages/r-illumina450probevariants-db/package.py b/var/spack/repos/builtin/packages/r-illumina450probevariants-db/package.py
index 2da13d126c..d084516808 100644
--- a/var/spack/repos/builtin/packages/r-illumina450probevariants-db/package.py
+++ b/var/spack/repos/builtin/packages/r-illumina450probevariants-db/package.py
@@ -15,8 +15,8 @@ class RIllumina450probevariantsDb(RPackage):
bioc = "Illumina450ProbeVariants.db"
- version('1.32.0', commit='a15602253e675a104303627957653a08876d8d7c')
- version('1.30.0', commit='ba1296b4aafc287dea61f5f37c6c99fd553e52a2')
- version('1.26.0', commit='fffe6033cc8d87354078c14de1e29976eaedd611')
+ version("1.32.0", commit="a15602253e675a104303627957653a08876d8d7c")
+ version("1.30.0", commit="ba1296b4aafc287dea61f5f37c6c99fd553e52a2")
+ version("1.26.0", commit="fffe6033cc8d87354078c14de1e29976eaedd611")
- depends_on('r@3.0.1:', type=('build', 'run'))
+ depends_on("r@3.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kanno-ilmn12-hg19/package.py b/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kanno-ilmn12-hg19/package.py
index 48b0703a57..698e89142d 100644
--- a/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kanno-ilmn12-hg19/package.py
+++ b/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kanno-ilmn12-hg19/package.py
@@ -16,13 +16,17 @@ class RIlluminahumanmethylation450kannoIlmn12Hg19(RPackage):
bioc = "IlluminaHumanMethylation450kanno.ilmn12.hg19"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.0.tar.gz"
- version('0.6.1',
- url="https://bioconductor.org/packages/3.15/data/annotation/src/contrib/IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1.tar.gz",
- sha256='3627d75a6303f4d307fa6daf0c5afd57649c60a268b3d4be7e8ac8edc4b1e288')
- version('0.6.0',
- url="https://bioconductor.org/packages/3.4/data/annotation/src/contrib/IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.0.tar.gz",
- sha256='249b8fd62add3c95b5047b597cff0868d26a98862a47cebd656edcd175a73b15')
+ version(
+ "0.6.1",
+ url="https://bioconductor.org/packages/3.15/data/annotation/src/contrib/IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.1.tar.gz",
+ sha256="3627d75a6303f4d307fa6daf0c5afd57649c60a268b3d4be7e8ac8edc4b1e288",
+ )
+ version(
+ "0.6.0",
+ url="https://bioconductor.org/packages/3.4/data/annotation/src/contrib/IlluminaHumanMethylation450kanno.ilmn12.hg19_0.6.0.tar.gz",
+ sha256="249b8fd62add3c95b5047b597cff0868d26a98862a47cebd656edcd175a73b15",
+ )
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.6.1:')
- depends_on('r-minfi@1.19.15:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.6.1:")
+ depends_on("r-minfi@1.19.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kmanifest/package.py b/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kmanifest/package.py
index e22df9eb74..7c5f24f826 100644
--- a/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kmanifest/package.py
+++ b/var/spack/repos/builtin/packages/r-illuminahumanmethylation450kmanifest/package.py
@@ -12,7 +12,7 @@ class RIlluminahumanmethylation450kmanifest(RPackage):
bioc = "IlluminaHumanMethylation450kmanifest"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/IlluminaHumanMethylation450kmanifest_0.4.0.tar.gz"
- version('0.4.0', sha256='41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763')
+ version("0.4.0", sha256="41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicanno-ilm10b4-hg19/package.py b/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicanno-ilm10b4-hg19/package.py
index 20c439cd94..e95a6b5f8f 100644
--- a/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicanno-ilm10b4-hg19/package.py
+++ b/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicanno-ilm10b4-hg19/package.py
@@ -12,7 +12,7 @@ class RIlluminahumanmethylationepicannoIlm10b4Hg19(RPackage):
bioc = "IlluminaHumanMethylationEPICanno.ilm10b4.hg19"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0.tar.gz"
- version('0.6.0', sha256='2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719')
+ version("0.6.0", sha256="2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-minfi@1.19.15:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-minfi@1.19.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicmanifest/package.py b/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicmanifest/package.py
index d7888ed60c..6e0ac77096 100644
--- a/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicmanifest/package.py
+++ b/var/spack/repos/builtin/packages/r-illuminahumanmethylationepicmanifest/package.py
@@ -12,7 +12,7 @@ class RIlluminahumanmethylationepicmanifest(RPackage):
bioc = "IlluminaHumanMethylationEPICmanifest"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/IlluminaHumanMethylationEPICmanifest_0.3.0.tar.gz"
- version('0.3.0', sha256='e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a')
+ version("0.3.0", sha256="e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-illuminaio/package.py b/var/spack/repos/builtin/packages/r-illuminaio/package.py
index 0f377b6573..2548c31d31 100644
--- a/var/spack/repos/builtin/packages/r-illuminaio/package.py
+++ b/var/spack/repos/builtin/packages/r-illuminaio/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RIlluminaio(RPackage):
"""Parsing Illumina Microarray Output Files.
- Tools for parsing Illumina's microarray output files, including IDAT."""
+ Tools for parsing Illumina's microarray output files, including IDAT."""
bioc = "illuminaio"
- version('0.38.0', commit='b16231b7417b4d6e9cff1e2724ed3529871dff92')
- version('0.36.0', commit='c5b6e9164b73c650c0a9f055f4fd0580ac64fae7')
- version('0.32.0', commit='e1322c781dd475a5e8ff6c0422bebb3deb47fa80')
- version('0.26.0', commit='40c2f94df2ea64d745d25aadd2bfb33ac3e02f81')
- version('0.24.0', commit='47953c77713c2da00a610f39308f86c5b44f6c59')
- version('0.22.0', commit='dbd842340999569975ea593f47d70a729b3f68f2')
- version('0.20.0', commit='d226628133b2396be9e7a6bf043f0309bd70c4ec')
- version('0.18.0', commit='e6b8ab1f8eacb760aebdb4828e9cfbf07da06eda')
+ version("0.38.0", commit="b16231b7417b4d6e9cff1e2724ed3529871dff92")
+ version("0.36.0", commit="c5b6e9164b73c650c0a9f055f4fd0580ac64fae7")
+ version("0.32.0", commit="e1322c781dd475a5e8ff6c0422bebb3deb47fa80")
+ version("0.26.0", commit="40c2f94df2ea64d745d25aadd2bfb33ac3e02f81")
+ version("0.24.0", commit="47953c77713c2da00a610f39308f86c5b44f6c59")
+ version("0.22.0", commit="dbd842340999569975ea593f47d70a729b3f68f2")
+ version("0.20.0", commit="d226628133b2396be9e7a6bf043f0309bd70c4ec")
+ version("0.18.0", commit="e6b8ab1f8eacb760aebdb4828e9cfbf07da06eda")
- depends_on('r-base64', type=('build', 'run'))
+ depends_on("r-base64", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-imager/package.py b/var/spack/repos/builtin/packages/r-imager/package.py
index ec137efe74..decba5d9c3 100644
--- a/var/spack/repos/builtin/packages/r-imager/package.py
+++ b/var/spack/repos/builtin/packages/r-imager/package.py
@@ -18,25 +18,25 @@ class RImager(RPackage):
cran = "imager"
- version('0.42.13', sha256='d90a9893d11190ba249c7fae5bd6517a77907efbce2941452cb2aec57bb5cf7f')
- version('0.42.11', sha256='47f8b7ff8d05a5191e30ad1869f12a62bdbe3142b22b12a6032dec9b5f8532a8')
- version('0.42.10', sha256='01939eb03ad2e1369a4240a128c3b246a4c56f572f1ea4967f1acdc555adaeee')
- version('0.42.3', sha256='6fc308153df8251cef48f1e13978abd5d29ec85046fbe0b27c428801d05ebbf3')
- version('0.41.2', sha256='9be8bc8b3190d469fcb2883045a404d3b496a0380f887ee3caea11f0a07cd8a5')
-
- depends_on('r+X')
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-jpeg', type=('build', 'run'))
- depends_on('r-readbitmap', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-downloader', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('fftw')
- depends_on('libtiff')
-
- depends_on('r-cairo', type=('build', 'run'), when='@:0.41.2')
- depends_on('r-plyr', type=('build', 'run'), when='@:0.41.2')
+ version("0.42.13", sha256="d90a9893d11190ba249c7fae5bd6517a77907efbce2941452cb2aec57bb5cf7f")
+ version("0.42.11", sha256="47f8b7ff8d05a5191e30ad1869f12a62bdbe3142b22b12a6032dec9b5f8532a8")
+ version("0.42.10", sha256="01939eb03ad2e1369a4240a128c3b246a4c56f572f1ea4967f1acdc555adaeee")
+ version("0.42.3", sha256="6fc308153df8251cef48f1e13978abd5d29ec85046fbe0b27c428801d05ebbf3")
+ version("0.41.2", sha256="9be8bc8b3190d469fcb2883045a404d3b496a0380f887ee3caea11f0a07cd8a5")
+
+ depends_on("r+X")
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-jpeg", type=("build", "run"))
+ depends_on("r-readbitmap", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-downloader", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("fftw")
+ depends_on("libtiff")
+
+ depends_on("r-cairo", type=("build", "run"), when="@:0.41.2")
+ depends_on("r-plyr", type=("build", "run"), when="@:0.41.2")
diff --git a/var/spack/repos/builtin/packages/r-impute/package.py b/var/spack/repos/builtin/packages/r-impute/package.py
index 796d30eb3d..fb37ef92e6 100644
--- a/var/spack/repos/builtin/packages/r-impute/package.py
+++ b/var/spack/repos/builtin/packages/r-impute/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RImpute(RPackage):
"""impute: Imputation for microarray data.
- Imputation for microarray data (currently KNN only)"""
+ Imputation for microarray data (currently KNN only)"""
bioc = "impute"
- version('1.70.0', commit='970b2c28d908e26369b01dddf36dab2f8916d4af')
- version('1.68.0', commit='fa4e4d883e609633c49d865a44acd6a79954eaac')
- version('1.64.0', commit='31a5636f4dfbb1fd61386738786a0de048a620c2')
- version('1.58.0', commit='dc17173df08d965a0d0aac9fa4ad519bd99d127e')
- version('1.56.0', commit='6c037ed4dffabafceae684265f86f2a18751b559')
- version('1.54.0', commit='efc61f5197e8c4baf4ae881fb556f0312beaabd8')
- version('1.52.0', commit='7fa1b917a5dd60f2aaf52d9aae1fcd2c93511d63')
- version('1.50.1', commit='31d1cc141797afdc83743e1d95aab8a90ee19b71')
+ version("1.70.0", commit="970b2c28d908e26369b01dddf36dab2f8916d4af")
+ version("1.68.0", commit="fa4e4d883e609633c49d865a44acd6a79954eaac")
+ version("1.64.0", commit="31a5636f4dfbb1fd61386738786a0de048a620c2")
+ version("1.58.0", commit="dc17173df08d965a0d0aac9fa4ad519bd99d127e")
+ version("1.56.0", commit="6c037ed4dffabafceae684265f86f2a18751b559")
+ version("1.54.0", commit="efc61f5197e8c4baf4ae881fb556f0312beaabd8")
+ version("1.52.0", commit="7fa1b917a5dd60f2aaf52d9aae1fcd2c93511d63")
+ version("1.50.1", commit="31d1cc141797afdc83743e1d95aab8a90ee19b71")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-influencer/package.py b/var/spack/repos/builtin/packages/r-influencer/package.py
index c362a04d35..11931572e9 100644
--- a/var/spack/repos/builtin/packages/r-influencer/package.py
+++ b/var/spack/repos/builtin/packages/r-influencer/package.py
@@ -20,9 +20,9 @@ class RInfluencer(RPackage):
cran = "influenceR"
- version('0.1.0.1', sha256='63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766')
- version('0.1.0', sha256='4fc9324179bd8896875fc0e879a8a96b9ef2a6cf42a296c3b7b4d9098519e98a')
+ version("0.1.0.1", sha256="63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766")
+ version("0.1.0", sha256="4fc9324179bd8896875fc0e879a8a96b9ef2a6cf42a296c3b7b4d9098519e98a")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-igraph@1.0.1:', type=('build', 'run'))
- depends_on('r-matrix@1.1-4:', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-igraph@1.0.1:", type=("build", "run"))
+ depends_on("r-matrix@1.1-4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ini/package.py b/var/spack/repos/builtin/packages/r-ini/package.py
index eb570c5d63..bdc7f1a685 100644
--- a/var/spack/repos/builtin/packages/r-ini/package.py
+++ b/var/spack/repos/builtin/packages/r-ini/package.py
@@ -15,4 +15,4 @@ class RIni(RPackage):
cran = "ini"
- version('0.3.1', sha256='7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813')
+ version("0.3.1", sha256="7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813")
diff --git a/var/spack/repos/builtin/packages/r-inline/package.py b/var/spack/repos/builtin/packages/r-inline/package.py
index d3286b5968..999337a128 100644
--- a/var/spack/repos/builtin/packages/r-inline/package.py
+++ b/var/spack/repos/builtin/packages/r-inline/package.py
@@ -14,7 +14,7 @@ class RInline(RPackage):
cran = "inline"
- version('0.3.19', sha256='0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5')
- version('0.3.17', sha256='792857b2ebd408d6523424d2f6bb7297e241d4b28ab32372f6a9240c8cd554f3')
- version('0.3.15', sha256='ff043fe13c1991a3b285bed256ff4a9c0ba10bee764225a34b285875b7d69c68')
- version('0.3.14', sha256='fd34d6bf965148d26d983a022a0ff7bc1a5831f6ca066deee3f6139894dfc931')
+ version("0.3.19", sha256="0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5")
+ version("0.3.17", sha256="792857b2ebd408d6523424d2f6bb7297e241d4b28ab32372f6a9240c8cd554f3")
+ version("0.3.15", sha256="ff043fe13c1991a3b285bed256ff4a9c0ba10bee764225a34b285875b7d69c68")
+ version("0.3.14", sha256="fd34d6bf965148d26d983a022a0ff7bc1a5831f6ca066deee3f6139894dfc931")
diff --git a/var/spack/repos/builtin/packages/r-insight/package.py b/var/spack/repos/builtin/packages/r-insight/package.py
index fd36f420e9..592d10f0f5 100644
--- a/var/spack/repos/builtin/packages/r-insight/package.py
+++ b/var/spack/repos/builtin/packages/r-insight/package.py
@@ -21,9 +21,9 @@ class RInsight(RPackage):
cran = "insight"
- version('0.17.1', sha256='653c5542a0c953ad4b75800e2ab52eed244e1e698aa5bc9fc64dc657a3cece35')
- version('0.16.0', sha256='7944d7a386c99ea06d9d9e2b5f4aeb98fded7ec90b1cb908d03e278480be9e3d')
- version('0.15.0', sha256='d6a148c3e1cfcb3829e2f8950bcbf98f500ee88bebd7e2482f9b085542e93fee')
- version('0.14.1', sha256='0e7761997a46ee33039cdeff1779dbc210de3644e4444c6e893e4ef2f12cc129')
+ version("0.17.1", sha256="653c5542a0c953ad4b75800e2ab52eed244e1e698aa5bc9fc64dc657a3cece35")
+ version("0.16.0", sha256="7944d7a386c99ea06d9d9e2b5f4aeb98fded7ec90b1cb908d03e278480be9e3d")
+ version("0.15.0", sha256="d6a148c3e1cfcb3829e2f8950bcbf98f500ee88bebd7e2482f9b085542e93fee")
+ version("0.14.1", sha256="0e7761997a46ee33039cdeff1779dbc210de3644e4444c6e893e4ef2f12cc129")
- depends_on('r@3.4:', type=('build', 'run'))
+ depends_on("r@3.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-interactivedisplaybase/package.py b/var/spack/repos/builtin/packages/r-interactivedisplaybase/package.py
index b7c855e138..671ff6d93a 100644
--- a/var/spack/repos/builtin/packages/r-interactivedisplaybase/package.py
+++ b/var/spack/repos/builtin/packages/r-interactivedisplaybase/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class RInteractivedisplaybase(RPackage):
"""Base package for enabling powerful shiny web displays of Bioconductor
- objects.
+ objects.
- The interactiveDisplayBase package contains the the basic methods needed
- to generate interactive Shiny based display methods for Bioconductor
- objects."""
+ The interactiveDisplayBase package contains the the basic methods needed
+ to generate interactive Shiny based display methods for Bioconductor
+ objects."""
bioc = "interactiveDisplayBase"
- version('1.34.0', commit='fafbb13a42bb7549f17aa08cdb0e51728c5e825e')
- version('1.32.0', commit='0f88b2ac3689d51abb6ac0045b3207ca77963a5a')
- version('1.28.0', commit='a74c02c971c4f9c7086e14abd23f1a4190da4599')
- version('1.22.0', commit='4ce3cde1dabc01375c153ad614d77a5e28b96916')
- version('1.20.0', commit='f40912c8af7afbaaf68c003a6e148d81cbe84df6')
- version('1.18.0', commit='d07ea72a595877f27bf054f664f23e8f0304def8')
- version('1.16.0', commit='a86aa586b589497f5449d36c2ce67a6b6055026d')
- version('1.14.0', commit='e2ccc7eefdd904e3b1032dc6b3f4a28d08c1cd40')
+ version("1.34.0", commit="fafbb13a42bb7549f17aa08cdb0e51728c5e825e")
+ version("1.32.0", commit="0f88b2ac3689d51abb6ac0045b3207ca77963a5a")
+ version("1.28.0", commit="a74c02c971c4f9c7086e14abd23f1a4190da4599")
+ version("1.22.0", commit="4ce3cde1dabc01375c153ad614d77a5e28b96916")
+ version("1.20.0", commit="f40912c8af7afbaaf68c003a6e148d81cbe84df6")
+ version("1.18.0", commit="d07ea72a595877f27bf054f664f23e8f0304def8")
+ version("1.16.0", commit="a86aa586b589497f5449d36c2ce67a6b6055026d")
+ version("1.14.0", commit="e2ccc7eefdd904e3b1032dc6b3f4a28d08c1cd40")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'))
- depends_on('r-dt', type=('build', 'run'), when='@1.28.0:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"))
+ depends_on("r-dt", type=("build", "run"), when="@1.28.0:")
diff --git a/var/spack/repos/builtin/packages/r-intervals/package.py b/var/spack/repos/builtin/packages/r-intervals/package.py
index 1cbe03b5c0..d77b88bfd1 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):
cran = "intervals"
- version('0.15.2', sha256='0bd23b0ce817ddd851238233d8a5420bf3a6d29e75fd361418cbc50118777c57')
- version('0.15.1', sha256='9a8b3854300f2055e1492c71932cc808b02feac8c4d3dbf6cba1c7dbd09f4ae4')
+ version("0.15.2", sha256="0bd23b0ce817ddd851238233d8a5420bf3a6d29e75fd361418cbc50118777c57")
+ version("0.15.1", sha256="9a8b3854300f2055e1492c71932cc808b02feac8c4d3dbf6cba1c7dbd09f4ae4")
- depends_on('r@2.9.0:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-inum/package.py b/var/spack/repos/builtin/packages/r-inum/package.py
index bd26faacb5..511a86e771 100644
--- a/var/spack/repos/builtin/packages/r-inum/package.py
+++ b/var/spack/repos/builtin/packages/r-inum/package.py
@@ -14,8 +14,8 @@ class RInum(RPackage):
cran = "inum"
- version('1.0-4', sha256='5febef69c43a4b95b376c1418550a949d988a5f26b1383ca01c9728a94fc13ce')
- version('1.0-1', sha256='3c2f94c13c03607e05817e4859595592068b55e810fed94e29bc181ad248a099')
+ version("1.0-4", sha256="5febef69c43a4b95b376c1418550a949d988a5f26b1383ca01c9728a94fc13ce")
+ version("1.0-1", sha256="3c2f94c13c03607e05817e4859595592068b55e810fed94e29bc181ad248a099")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-libcoin@1.0-0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-libcoin@1.0-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ipred/package.py b/var/spack/repos/builtin/packages/r-ipred/package.py
index d4a1f477e5..8e77d8b379 100644
--- a/var/spack/repos/builtin/packages/r-ipred/package.py
+++ b/var/spack/repos/builtin/packages/r-ipred/package.py
@@ -15,16 +15,16 @@ class RIpred(RPackage):
cran = "ipred"
- version('0.9-13', sha256='6168a062d93c2d3063c064a8f242cd3716dee99822e20363a1801261319c4c98')
- version('0.9-12', sha256='d6e1535704d39415a799d7643141ffa4f6f55597f03e763f4ccd5d8106005843')
- version('0.9-9', sha256='0da87a70730d5a60b97e46b2421088765e7d6a7cc2695757eba0f9d31d86416f')
- version('0.9-8', sha256='9c1d11c3cb0d72be7870e70a216e589e403bbfee38c796fe75cd0611d878ac07')
- version('0.9-5', sha256='3a466417808e17c4c6cd0f2b577407355d9da79a341558b42a8b76e24b6f6ba4')
+ version("0.9-13", sha256="6168a062d93c2d3063c064a8f242cd3716dee99822e20363a1801261319c4c98")
+ version("0.9-12", sha256="d6e1535704d39415a799d7643141ffa4f6f55597f03e763f4ccd5d8106005843")
+ version("0.9-9", sha256="0da87a70730d5a60b97e46b2421088765e7d6a7cc2695757eba0f9d31d86416f")
+ version("0.9-8", sha256="9c1d11c3cb0d72be7870e70a216e589e403bbfee38c796fe75cd0611d878ac07")
+ version("0.9-5", sha256="3a466417808e17c4c6cd0f2b577407355d9da79a341558b42a8b76e24b6f6ba4")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-rpart@3.1-8:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-class', type=('build', 'run'))
- depends_on('r-prodlim', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-rpart@3.1-8:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-class", type=("build", "run"))
+ depends_on("r-prodlim", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-iranges/package.py b/var/spack/repos/builtin/packages/r-iranges/package.py
index e3bfccb6ff..80e44d5d7e 100644
--- a/var/spack/repos/builtin/packages/r-iranges/package.py
+++ b/var/spack/repos/builtin/packages/r-iranges/package.py
@@ -9,38 +9,38 @@ from spack.package import *
class RIranges(RPackage):
"""Foundation of integer range manipulation in Bioconductor.
- Provides efficient low-level and highly reusable S4 classes for storing,
- manipulating and aggregating over annotated ranges of integers.
- Implements an algebra of range operations, including efficient
- algorithms for finding overlaps and nearest neighbors. Defines efficient
- list-like classes for storing, transforming and aggregating large
- grouped data, i.e., collections of atomic vectors and DataFrames."""
+ Provides efficient low-level and highly reusable S4 classes for storing,
+ manipulating and aggregating over annotated ranges of integers.
+ Implements an algebra of range operations, including efficient
+ algorithms for finding overlaps and nearest neighbors. Defines efficient
+ list-like classes for storing, transforming and aggregating large
+ grouped data, i.e., collections of atomic vectors and DataFrames."""
bioc = "IRanges"
- version('2.30.0', commit='9b5f3ca12812fb76c23b1550aa3a794384384d9b')
- version('2.28.0', commit='d85ee908a379e12d1e32599e999c71ab37c25e57')
- version('2.24.1', commit='6c61fddf4c5830f69a0f7f108888c67cd0a12b19')
- version('2.22.2', commit='8c5e991')
- version('2.18.3', commit='c98a7ba074e72f2e5ec98252dffe9d3392711972')
- version('2.16.0', commit='26834c6868d7c279dd8ac1bb9daa16e6fef273c2')
- version('2.14.12', commit='00af02756c14771a23df9efcf379409ab6eb3041')
- version('2.12.0', commit='1b1748655a8529ba87ad0f223f035ef0c08e7fcd')
- version('2.10.5', commit='b00d1d5025e3c480d17c13100f0da5a0132b1614')
+ version("2.30.0", commit="9b5f3ca12812fb76c23b1550aa3a794384384d9b")
+ version("2.28.0", commit="d85ee908a379e12d1e32599e999c71ab37c25e57")
+ version("2.24.1", commit="6c61fddf4c5830f69a0f7f108888c67cd0a12b19")
+ version("2.22.2", commit="8c5e991")
+ version("2.18.3", commit="c98a7ba074e72f2e5ec98252dffe9d3392711972")
+ version("2.16.0", commit="26834c6868d7c279dd8ac1bb9daa16e6fef273c2")
+ version("2.14.12", commit="00af02756c14771a23df9efcf379409ab6eb3041")
+ version("2.12.0", commit="1b1748655a8529ba87ad0f223f035ef0c08e7fcd")
+ version("2.10.5", commit="b00d1d5025e3c480d17c13100f0da5a0132b1614")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.24.1:')
- depends_on('r-biocgenerics@0.21.1:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.23.3:', type=('build', 'run'), when='@2.12.0:')
- depends_on('r-biocgenerics@0.25.3:', type=('build', 'run'), when='@2.14.12:')
- depends_on('r-biocgenerics@0.36.0:', type=('build', 'run'), when='@2.24.1:')
- depends_on('r-biocgenerics@0.39.2:', type=('build', 'run'), when='@2.28.0:')
- depends_on('r-s4vectors@0.13.17:', type=('build', 'run'))
- depends_on('r-s4vectors@0.15.5:', type=('build', 'run'), when='@2.12.0:')
- depends_on('r-s4vectors@0.18.2:', type=('build', 'run'), when='@2.14.12:')
- depends_on('r-s4vectors@0.19.11:', type=('build', 'run'), when='@2.16.0:')
- depends_on('r-s4vectors@0.21.9:', type=('build', 'run'), when='@2.18.3:')
- depends_on('r-s4vectors@0.25.14:', type=('build', 'run'), when='@2.22.2:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@2.24.1:')
- depends_on('r-s4vectors@0.29.19:', type=('build', 'run'), when='@2.28.0:')
- depends_on('r-s4vectors@0.33.3:', type=('build', 'run'), when='@2.30.0:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.24.1:")
+ depends_on("r-biocgenerics@0.21.1:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.23.3:", type=("build", "run"), when="@2.12.0:")
+ depends_on("r-biocgenerics@0.25.3:", type=("build", "run"), when="@2.14.12:")
+ depends_on("r-biocgenerics@0.36.0:", type=("build", "run"), when="@2.24.1:")
+ depends_on("r-biocgenerics@0.39.2:", type=("build", "run"), when="@2.28.0:")
+ depends_on("r-s4vectors@0.13.17:", type=("build", "run"))
+ depends_on("r-s4vectors@0.15.5:", type=("build", "run"), when="@2.12.0:")
+ depends_on("r-s4vectors@0.18.2:", type=("build", "run"), when="@2.14.12:")
+ depends_on("r-s4vectors@0.19.11:", type=("build", "run"), when="@2.16.0:")
+ depends_on("r-s4vectors@0.21.9:", type=("build", "run"), when="@2.18.3:")
+ depends_on("r-s4vectors@0.25.14:", type=("build", "run"), when="@2.22.2:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@2.24.1:")
+ depends_on("r-s4vectors@0.29.19:", type=("build", "run"), when="@2.28.0:")
+ depends_on("r-s4vectors@0.33.3:", type=("build", "run"), when="@2.30.0:")
diff --git a/var/spack/repos/builtin/packages/r-irdisplay/package.py b/var/spack/repos/builtin/packages/r-irdisplay/package.py
index af3fc112fc..724e139d7a 100644
--- a/var/spack/repos/builtin/packages/r-irdisplay/package.py
+++ b/var/spack/repos/builtin/packages/r-irdisplay/package.py
@@ -16,9 +16,9 @@ class RIrdisplay(RPackage):
cran = "IRdisplay"
- version('1.1', sha256='83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b')
- version('0.7.0', sha256='91eac9acdb92ed0fdc58e5da284aa4bb957ada5eef504fd89bec136747999089')
- version('0.4.4', sha256='e83a0bc52800618bf9a3ac5ef3d432512e00f392b7216fd515fca319377584a6')
+ version("1.1", sha256="83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b")
+ version("0.7.0", sha256="91eac9acdb92ed0fdc58e5da284aa4bb957ada5eef504fd89bec136747999089")
+ version("0.4.4", sha256="e83a0bc52800618bf9a3ac5ef3d432512e00f392b7216fd515fca319377584a6")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-repr', type=('build', 'run'))
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-repr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-irkernel/package.py b/var/spack/repos/builtin/packages/r-irkernel/package.py
index 560a85e004..456089e7b4 100644
--- a/var/spack/repos/builtin/packages/r-irkernel/package.py
+++ b/var/spack/repos/builtin/packages/r-irkernel/package.py
@@ -16,23 +16,25 @@ class RIrkernel(RPackage):
cran = "IRkernel"
- version('1.3', sha256='5a7fcbfd978dfb3cca6702a68a21c147551995fc400084ae8382ffcbbdae1903')
- version('1.2', sha256='5fb4dbdb741d05043120a8be0eb73f054b607d9854f314bd79cfec08d219ff91')
- version('0.7',
- git="https://github.com/IRkernel/IRkernel.git",
- commit='9cdd284e03eb42d03fab18544b81f486852d5fe0',
- deprecated=True)
-
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-repr@0.4.99:', type=('build', 'run'))
- depends_on('r-evaluate@0.10:', type=('build', 'run'))
- depends_on('r-irdisplay@0.3.0.9999:', type=('build', 'run'))
- depends_on('r-pbdzmq@0.2-1:', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.6:', type=('build', 'run'))
- depends_on('r-uuid', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('py-jupyter', type='run')
-
- depends_on('r-evaluate@0.5.4:', type=('build', 'run'), when='@0.7')
- depends_on('r-devtools', type=('build', 'run'), when='@0.7')
+ version("1.3", sha256="5a7fcbfd978dfb3cca6702a68a21c147551995fc400084ae8382ffcbbdae1903")
+ version("1.2", sha256="5fb4dbdb741d05043120a8be0eb73f054b607d9854f314bd79cfec08d219ff91")
+ version(
+ "0.7",
+ git="https://github.com/IRkernel/IRkernel.git",
+ commit="9cdd284e03eb42d03fab18544b81f486852d5fe0",
+ deprecated=True,
+ )
+
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-repr@0.4.99:", type=("build", "run"))
+ depends_on("r-evaluate@0.10:", type=("build", "run"))
+ depends_on("r-irdisplay@0.3.0.9999:", type=("build", "run"))
+ depends_on("r-pbdzmq@0.2-1:", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.6:", type=("build", "run"))
+ depends_on("r-uuid", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("py-jupyter", type="run")
+
+ depends_on("r-evaluate@0.5.4:", type=("build", "run"), when="@0.7")
+ depends_on("r-devtools", type=("build", "run"), when="@0.7")
diff --git a/var/spack/repos/builtin/packages/r-irlba/package.py b/var/spack/repos/builtin/packages/r-irlba/package.py
index 82602087ca..782d8e399d 100644
--- a/var/spack/repos/builtin/packages/r-irlba/package.py
+++ b/var/spack/repos/builtin/packages/r-irlba/package.py
@@ -16,11 +16,11 @@ class RIrlba(RPackage):
cran = "irlba"
- version('2.3.5', sha256='26fc8c0d36460e422ab77f43a597b8ec292eacd452628c54d34b8bf7d5269bb9')
- version('2.3.3', sha256='6ee233697bcd579813bd0af5e1f4e6dd1eea971e8919c748408130d970fef5c0')
- version('2.3.2', sha256='3fdf2d8fefa6ab14cd0992740de7958f9f501c71aca93229f5eb03c54558fc38')
- version('2.1.2', sha256='5183e8dd7943df11c0f44460566adf06c03d5320f142699298f516d423b06ce1')
- version('2.0.0', sha256='15f8d6c1107d6bb872411efd61e6077d9d7ac826f4da2d378999889a7b1ebabe')
+ version("2.3.5", sha256="26fc8c0d36460e422ab77f43a597b8ec292eacd452628c54d34b8bf7d5269bb9")
+ version("2.3.3", sha256="6ee233697bcd579813bd0af5e1f4e6dd1eea971e8919c748408130d970fef5c0")
+ version("2.3.2", sha256="3fdf2d8fefa6ab14cd0992740de7958f9f501c71aca93229f5eb03c54558fc38")
+ version("2.1.2", sha256="5183e8dd7943df11c0f44460566adf06c03d5320f142699298f516d423b06ce1")
+ version("2.0.0", sha256="15f8d6c1107d6bb872411efd61e6077d9d7ac826f4da2d378999889a7b1ebabe")
- depends_on('r@3.6.2:', type=('build', 'run'), when='@2.3.5:')
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@3.6.2:", type=("build", "run"), when="@2.3.5:")
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-isdparser/package.py b/var/spack/repos/builtin/packages/r-isdparser/package.py
index 2fdd3ae31e..ffc49889a3 100644
--- a/var/spack/repos/builtin/packages/r-isdparser/package.py
+++ b/var/spack/repos/builtin/packages/r-isdparser/package.py
@@ -19,9 +19,9 @@ class RIsdparser(RPackage):
cran = "isdparser"
- version('0.4.0', sha256='6f609e8f5ae4ce2e7904401f289d60d219b8f3a2bec9f661d10afa18ab73b317')
- version('0.3.0', sha256='6c9e1d7f3661802838010d659d7c77b964423dcc9a6623402df1fe3be627b7b9')
+ version("0.4.0", sha256="6f609e8f5ae4ce2e7904401f289d60d219b8f3a2bec9f661d10afa18ab73b317")
+ version("0.3.0", sha256="6c9e1d7f3661802838010d659d7c77b964423dcc9a6623402df1fe3be627b7b9")
- depends_on('r-tibble@1.2:', type=('build', 'run'))
- depends_on('r-data-table@1.10.0:', type=('build', 'run'))
- depends_on('r-lubridate', type=('build', 'run'), when='@0.4.0:')
+ depends_on("r-tibble@1.2:", type=("build", "run"))
+ depends_on("r-data-table@1.10.0:", type=("build", "run"))
+ depends_on("r-lubridate", type=("build", "run"), when="@0.4.0:")
diff --git a/var/spack/repos/builtin/packages/r-islr/package.py b/var/spack/repos/builtin/packages/r-islr/package.py
index 88a34675ce..53d8aced9d 100644
--- a/var/spack/repos/builtin/packages/r-islr/package.py
+++ b/var/spack/repos/builtin/packages/r-islr/package.py
@@ -14,8 +14,8 @@ class RIslr(RPackage):
cran = "ISLR"
- version('1.4', sha256='7151c636808198ee759cbcf22f82a7aa76580fb8d11e4cd67f69f85401c820c3')
- version('1.2', sha256='b00f7a06d2fb646917e629cc2dbdab71c7de3eb17a8a4d06849901a299f1caad')
+ version("1.4", sha256="7151c636808198ee759cbcf22f82a7aa76580fb8d11e4cd67f69f85401c820c3")
+ version("1.2", sha256="b00f7a06d2fb646917e629cc2dbdab71c7de3eb17a8a4d06849901a299f1caad")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.4:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.4:")
diff --git a/var/spack/repos/builtin/packages/r-iso/package.py b/var/spack/repos/builtin/packages/r-iso/package.py
index 283cff30a5..92a2bdfafb 100644
--- a/var/spack/repos/builtin/packages/r-iso/package.py
+++ b/var/spack/repos/builtin/packages/r-iso/package.py
@@ -14,8 +14,8 @@ class RIso(RPackage):
cran = "Iso"
- version('0.0-18.1', sha256='2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f')
- version('0.0-18', sha256='2d7e8c4452653364ee086d95cea620c50378e30acfcff129b7261e1756a99504')
- version('0.0-17', sha256='c007d6eaf6335a15c1912b0804276ff39abce27b7a61539a91b8fda653629252')
+ version("0.0-18.1", sha256="2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f")
+ version("0.0-18", sha256="2d7e8c4452653364ee086d95cea620c50378e30acfcff129b7261e1756a99504")
+ version("0.0-17", sha256="c007d6eaf6335a15c1912b0804276ff39abce27b7a61539a91b8fda653629252")
- depends_on('r@1.7.0:', type=('build', 'run'))
+ depends_on("r@1.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-isoband/package.py b/var/spack/repos/builtin/packages/r-isoband/package.py
index 9304b909e3..9e16794e38 100644
--- a/var/spack/repos/builtin/packages/r-isoband/package.py
+++ b/var/spack/repos/builtin/packages/r-isoband/package.py
@@ -15,7 +15,7 @@ class RIsoband(RPackage):
cran = "isoband"
- version('0.2.5', sha256='46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5')
- version('0.2.3', sha256='f9d3318fdf6d147dc2e2c7015ea7de42a55fa33d6232b952f982df96066b7ffe')
+ version("0.2.5", sha256="46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5")
+ version("0.2.3", sha256="f9d3318fdf6d147dc2e2c7015ea7de42a55fa33d6232b952f982df96066b7ffe")
- depends_on('r-testthat', type=('build', 'run'))
+ depends_on("r-testthat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-isva/package.py b/var/spack/repos/builtin/packages/r-isva/package.py
index 5114891e93..091c495ba1 100644
--- a/var/spack/repos/builtin/packages/r-isva/package.py
+++ b/var/spack/repos/builtin/packages/r-isva/package.py
@@ -15,8 +15,8 @@ class RIsva(RPackage):
cran = "isva"
- version('1.9', sha256='9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17')
+ version("1.9", sha256="9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17")
- depends_on('r-qvalue', type=('build', 'run'))
- depends_on('r-fastica', type=('build', 'run'))
- depends_on('r-jade', type=('build', 'run'))
+ depends_on("r-qvalue", type=("build", "run"))
+ depends_on("r-fastica", type=("build", "run"))
+ depends_on("r-jade", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-iterators/package.py b/var/spack/repos/builtin/packages/r-iterators/package.py
index cb96279c22..e26b51bb38 100644
--- a/var/spack/repos/builtin/packages/r-iterators/package.py
+++ b/var/spack/repos/builtin/packages/r-iterators/package.py
@@ -14,10 +14,10 @@ class RIterators(RPackage):
cran = "iterators"
- version('1.0.14', sha256='cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b')
- version('1.0.13', sha256='778e30e4c292da9f94d62acc637cf55273dae258199d847e62658f44840f11a4')
- version('1.0.12', sha256='96bf31d60ebd23aefae105d9b7790715e63327eec0deb2ddfb3d543994ea9f4b')
- version('1.0.9', sha256='de001e063805fdd124953b571ccb0ed2838c55e40cca2e9d283d8a90b0645e9b')
- version('1.0.8', sha256='ae4ea23385776eb0c06c992a3da6b0256a6c84558c1061034c5a1fbdd43d05b8')
+ version("1.0.14", sha256="cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b")
+ version("1.0.13", sha256="778e30e4c292da9f94d62acc637cf55273dae258199d847e62658f44840f11a4")
+ version("1.0.12", sha256="96bf31d60ebd23aefae105d9b7790715e63327eec0deb2ddfb3d543994ea9f4b")
+ version("1.0.9", sha256="de001e063805fdd124953b571ccb0ed2838c55e40cca2e9d283d8a90b0645e9b")
+ version("1.0.8", sha256="ae4ea23385776eb0c06c992a3da6b0256a6c84558c1061034c5a1fbdd43d05b8")
- depends_on('r@2.5.0:', type=('build', 'run'))
+ depends_on("r@2.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-jade/package.py b/var/spack/repos/builtin/packages/r-jade/package.py
index 5c5c5db9d8..1e915b9ab0 100644
--- a/var/spack/repos/builtin/packages/r-jade/package.py
+++ b/var/spack/repos/builtin/packages/r-jade/package.py
@@ -18,6 +18,6 @@ class RJade(RPackage):
cran = "JADE"
- version('2.0-3', sha256='56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba')
+ version("2.0-3", sha256="56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba")
- depends_on('r-clue', type=('build', 'run'))
+ depends_on("r-clue", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-janitor/package.py b/var/spack/repos/builtin/packages/r-janitor/package.py
index 6ca19dc0fd..cdef678121 100644
--- a/var/spack/repos/builtin/packages/r-janitor/package.py
+++ b/var/spack/repos/builtin/packages/r-janitor/package.py
@@ -22,21 +22,21 @@ class RJanitor(RPackage):
cran = "janitor"
- version('2.1.0', sha256='d60615940fbe174f67799c8abc797f27928eca4ac180418527c5897a4aaad826')
- version('1.2.0', sha256='5e15a2292c65c5ddd6160289dec2604b05a813651a2be0d7854ace4548a32b8c')
- version('1.1.1', sha256='404b41f56e571fab4c95ef62e79cb4f3bb34d5bb6e4ea737e748ff269536176b')
- version('0.3.0', sha256='5e4d8ef895ed9c7b8fa91aeb93e25c009366b4c5faaf3d02265f64b33d4a45f4')
+ version("2.1.0", sha256="d60615940fbe174f67799c8abc797f27928eca4ac180418527c5897a4aaad826")
+ version("1.2.0", sha256="5e15a2292c65c5ddd6160289dec2604b05a813651a2be0d7854ace4548a32b8c")
+ version("1.1.1", sha256="404b41f56e571fab4c95ef62e79cb4f3bb34d5bb6e4ea737e748ff269536176b")
+ version("0.3.0", sha256="5e4d8ef895ed9c7b8fa91aeb93e25c009366b4c5faaf3d02265f64b33d4a45f4")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-dplyr@0.7.0:', type=('build', 'run'))
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-lubridate', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rlang', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-stringi', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-stringr', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-snakecase@0.9.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-tidyselect@1.0.0:', type=('build', 'run'), when='@2.1.0:')
- depends_on('r-tidyr@0.7.0:', type=('build', 'run'))
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-dplyr@0.7.0:", type=("build", "run"))
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-lubridate", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rlang", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-stringi", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-stringr", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-snakecase@0.9.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-tidyselect@1.0.0:", type=("build", "run"), when="@2.1.0:")
+ depends_on("r-tidyr@0.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-jaspar2018/package.py b/var/spack/repos/builtin/packages/r-jaspar2018/package.py
index ea4da1c381..966cbe20b6 100644
--- a/var/spack/repos/builtin/packages/r-jaspar2018/package.py
+++ b/var/spack/repos/builtin/packages/r-jaspar2018/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class RJaspar2018(RPackage):
"""Data package for JASPAR 2018.
- Data package for JASPAR 2018. To search this databases, please use the
- package TFBSTools (>= 1.15.6)."""
+ Data package for JASPAR 2018. To search this databases, please use the
+ package TFBSTools (>= 1.15.6)."""
bioc = "JASPAR2018"
- version('1.1.0', commit='cf8598d3c9054d85c43655cf82be17f74d800fa5')
- version('1.0.0', commit='4c84092b3737bb1c57ab56f4321f2f5e4b0efeaa')
+ version("1.1.0", commit="cf8598d3c9054d85c43655cf82be17f74d800fa5")
+ version("1.0.0", commit="4c84092b3737bb1c57ab56f4321f2f5e4b0efeaa")
- depends_on('r@3.4.0:', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-jomo/package.py b/var/spack/repos/builtin/packages/r-jomo/package.py
index cdae69d4b4..851474f716 100644
--- a/var/spack/repos/builtin/packages/r-jomo/package.py
+++ b/var/spack/repos/builtin/packages/r-jomo/package.py
@@ -18,14 +18,14 @@ class RJomo(RPackage):
cran = "jomo"
- version('2.7-3', sha256='9d3987f3a73d305f3ab6fc66efc04a196a7eb8b65e20c411131dc17af51f0063')
- version('2.7-2', sha256='3962d5cbecc60e72670329dbef0dd74303080f5ea2a79c91e27f75db99ba6ce9')
- version('2.6-9', sha256='b90f47071e62b8863b00b1ae710a56ae6efbfe2baeb9963f8a91a10d6183cc9b')
- version('2.6-7', sha256='6e83dab51103511038a3e9a3c762e00cc45ae7080c0a0f64e37bcea8c488db53')
- version('2.6-2', sha256='67496d6d69ddbe9a796789fd8b3ac32cada09a81cf5a8e7b925a21e085e2d87f')
+ version("2.7-3", sha256="9d3987f3a73d305f3ab6fc66efc04a196a7eb8b65e20c411131dc17af51f0063")
+ version("2.7-2", sha256="3962d5cbecc60e72670329dbef0dd74303080f5ea2a79c91e27f75db99ba6ce9")
+ version("2.6-9", sha256="b90f47071e62b8863b00b1ae710a56ae6efbfe2baeb9963f8a91a10d6183cc9b")
+ version("2.6-7", sha256="6e83dab51103511038a3e9a3c762e00cc45ae7080c0a0f64e37bcea8c488db53")
+ version("2.6-2", sha256="67496d6d69ddbe9a796789fd8b3ac32cada09a81cf5a8e7b925a21e085e2d87f")
- depends_on('r-lme4', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'), when='@2.6-7:')
- depends_on('r-ordinal', type=('build', 'run'), when='@2.6-7:')
- depends_on('r-tibble', type=('build', 'run'), when='@2.7-3:')
+ depends_on("r-lme4", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"), when="@2.6-7:")
+ depends_on("r-ordinal", type=("build", "run"), when="@2.6-7:")
+ depends_on("r-tibble", type=("build", "run"), when="@2.7-3:")
diff --git a/var/spack/repos/builtin/packages/r-jpeg/package.py b/var/spack/repos/builtin/packages/r-jpeg/package.py
index 92906cfac0..38af10107b 100644
--- a/var/spack/repos/builtin/packages/r-jpeg/package.py
+++ b/var/spack/repos/builtin/packages/r-jpeg/package.py
@@ -15,9 +15,9 @@ class RJpeg(RPackage):
cran = "jpeg"
- version('0.1-9', sha256='01a175442ec209b838a56a66a3908193aca6f040d537da7838d9368e46913072')
- version('0.1-8.1', sha256='1db0a4976fd9b2ae27a37d3e856cca35bc2909323c7a40724846a5d3c18915a9')
- version('0.1-8', sha256='d032befeb3a414cefdbf70ba29a6c01541c54387cc0a1a98a4022d86cbe60a16')
+ version("0.1-9", sha256="01a175442ec209b838a56a66a3908193aca6f040d537da7838d9368e46913072")
+ version("0.1-8.1", sha256="1db0a4976fd9b2ae27a37d3e856cca35bc2909323c7a40724846a5d3c18915a9")
+ version("0.1-8", sha256="d032befeb3a414cefdbf70ba29a6c01541c54387cc0a1a98a4022d86cbe60a16")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('jpeg')
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("jpeg")
diff --git a/var/spack/repos/builtin/packages/r-jquerylib/package.py b/var/spack/repos/builtin/packages/r-jquerylib/package.py
index 0edd6709b6..d9a2f6ede5 100644
--- a/var/spack/repos/builtin/packages/r-jquerylib/package.py
+++ b/var/spack/repos/builtin/packages/r-jquerylib/package.py
@@ -17,6 +17,6 @@ class RJquerylib(RPackage):
cran = "jquerylib"
- version('0.1.4', sha256='f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411')
+ version("0.1.4", sha256="f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411")
- depends_on('r-htmltools', type=('build', 'run'))
+ depends_on("r-htmltools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-jsonify/package.py b/var/spack/repos/builtin/packages/r-jsonify/package.py
index 31a380be19..f4bc8a877f 100644
--- a/var/spack/repos/builtin/packages/r-jsonify/package.py
+++ b/var/spack/repos/builtin/packages/r-jsonify/package.py
@@ -16,8 +16,8 @@ class RJsonify(RPackage):
cran = "jsonify"
- version('1.2.1', sha256='929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce')
+ version("1.2.1", sha256="929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.18:', type=('build', 'run'))
- depends_on('r-rapidjsonr@1.2.0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.18:", type=("build", "run"))
+ depends_on("r-rapidjsonr@1.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-jsonlite/package.py b/var/spack/repos/builtin/packages/r-jsonlite/package.py
index e7b25b1385..ab141679b0 100644
--- a/var/spack/repos/builtin/packages/r-jsonlite/package.py
+++ b/var/spack/repos/builtin/packages/r-jsonlite/package.py
@@ -22,12 +22,12 @@ class RJsonlite(RPackage):
cran = "jsonlite"
- version('1.8.0', sha256='7b1892efebcb4cf4628f716000accd4b43bbf82b3e6ba90b9529d4fa0e55cd4c')
- version('1.7.3', sha256='720a0b5e36a5eb71677231442bba2267d077137cfa9e0700585acbee62eac558')
- version('1.7.2', sha256='06354b50435942f67ba264f79831e577809ef89e5f9a5a2201985396fe651fd2')
- version('1.6.1', sha256='74921dd249857a23afabc1ad1485a63a48828e57f240f0619deb04c60f883377')
- version('1.6', sha256='88c5b425229966b7409145a6cabc72db9ed04f8c37ee95901af0146bb285db53')
- version('1.5', sha256='6490371082a387cb1834048ad8cdecacb8b6b6643751b50298c741490c798e02')
- version('1.2', sha256='cb6b4660468d2db84ed09c7b8fefd169fcfc13e1e6b4e7ce64dce2713f34264d')
- version('1.0', sha256='d756dd6367e3fc515c855bb0b34a3a81955f8aeb494db029a893f3cdfcff962d')
- version('0.9.21', sha256='079349342ea6eb92bd5fa8f6a7c08d9e3652c3d41010b64afbc3297671eb3791')
+ version("1.8.0", sha256="7b1892efebcb4cf4628f716000accd4b43bbf82b3e6ba90b9529d4fa0e55cd4c")
+ version("1.7.3", sha256="720a0b5e36a5eb71677231442bba2267d077137cfa9e0700585acbee62eac558")
+ version("1.7.2", sha256="06354b50435942f67ba264f79831e577809ef89e5f9a5a2201985396fe651fd2")
+ version("1.6.1", sha256="74921dd249857a23afabc1ad1485a63a48828e57f240f0619deb04c60f883377")
+ version("1.6", sha256="88c5b425229966b7409145a6cabc72db9ed04f8c37ee95901af0146bb285db53")
+ version("1.5", sha256="6490371082a387cb1834048ad8cdecacb8b6b6643751b50298c741490c798e02")
+ version("1.2", sha256="cb6b4660468d2db84ed09c7b8fefd169fcfc13e1e6b4e7ce64dce2713f34264d")
+ version("1.0", sha256="d756dd6367e3fc515c855bb0b34a3a81955f8aeb494db029a893f3cdfcff962d")
+ version("0.9.21", sha256="079349342ea6eb92bd5fa8f6a7c08d9e3652c3d41010b64afbc3297671eb3791")
diff --git a/var/spack/repos/builtin/packages/r-kegg-db/package.py b/var/spack/repos/builtin/packages/r-kegg-db/package.py
index 40310b6cdf..8b0f69a5a6 100644
--- a/var/spack/repos/builtin/packages/r-kegg-db/package.py
+++ b/var/spack/repos/builtin/packages/r-kegg-db/package.py
@@ -16,14 +16,18 @@ class RKeggDb(RPackage):
bioc = "KEGG.db"
url = "https://www.bioconductor.org/packages/release/data/annotation/src/contrib/KEGG.db_3.2.3.tar.gz"
- version('3.2.4',
- sha256='2e60d1b664cbd1491cc00ed13a22904706c5a4651150f70daca04bf3ba9ead88',
- url='https://bioconductor.org/packages/3.12/data/annotation/src/contrib/KEGG.db_3.2.4.tar.gz',
- deprecated=True)
- version('3.2.3',
- sha256='02ea4630a3ec06a8d9a6151627c96d3f71dfc7e8857800bb5c0cdb6a838d6963',
- url='https://bioconductor.org/packages/3.10/data/annotation/src/contrib/KEGG.db_3.2.3.tar.gz',
- deprecated=True)
-
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.34.3:', type=('build', 'run'))
+ version(
+ "3.2.4",
+ sha256="2e60d1b664cbd1491cc00ed13a22904706c5a4651150f70daca04bf3ba9ead88",
+ url="https://bioconductor.org/packages/3.12/data/annotation/src/contrib/KEGG.db_3.2.4.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "3.2.3",
+ sha256="02ea4630a3ec06a8d9a6151627c96d3f71dfc7e8857800bb5c0cdb6a838d6963",
+ url="https://bioconductor.org/packages/3.10/data/annotation/src/contrib/KEGG.db_3.2.3.tar.gz",
+ deprecated=True,
+ )
+
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.34.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-kegggraph/package.py b/var/spack/repos/builtin/packages/r-kegggraph/package.py
index b11208a35a..a6842397d8 100644
--- a/var/spack/repos/builtin/packages/r-kegggraph/package.py
+++ b/var/spack/repos/builtin/packages/r-kegggraph/package.py
@@ -9,27 +9,27 @@ from spack.package import *
class RKegggraph(RPackage):
"""KEGGgraph: A graph approach to KEGG PATHWAY in R and Bioconductor.
- KEGGGraph is an interface between KEGG pathway and graph object as well
- as a collection of tools to analyze, dissect and visualize these graphs.
- It parses the regularly updated KGML (KEGG XML) files into graph models
- maintaining all essential pathway attributes. The package offers
- functionalities including parsing, graph operation, visualization and
- etc."""
+ KEGGGraph is an interface between KEGG pathway and graph object as well
+ as a collection of tools to analyze, dissect and visualize these graphs.
+ It parses the regularly updated KGML (KEGG XML) files into graph models
+ maintaining all essential pathway attributes. The package offers
+ functionalities including parsing, graph operation, visualization and
+ etc."""
bioc = "KEGGgraph"
- version('1.56.0', commit='e95cbf9f8a095d59b78a053463191b89c00d5ded')
- version('1.54.0', commit='135ee3dad30ca208e21acd0a2d81120b74b64079')
- version('1.50.0', commit='3335e85cdba264c04e6e36378578cf6c83a30eb8')
- version('1.44.0', commit='2c24e8ec53fe34c72ea65f34e3c09905ab2e5c62')
- version('1.42.0', commit='7d907e22a3ad7b4829a7cbaba5a8f8dc8013a609')
- version('1.40.0', commit='6351a1637276f71697b01a994ebda0d3d1cf6d7a')
- version('1.38.0', commit='72f102e2611e3966362cfaa43646a6e66dd2ba27')
- version('1.38.1', commit='dd31665beb36d5aad8ed09ed56c603633b6b2292')
+ version("1.56.0", commit="e95cbf9f8a095d59b78a053463191b89c00d5ded")
+ version("1.54.0", commit="135ee3dad30ca208e21acd0a2d81120b74b64079")
+ version("1.50.0", commit="3335e85cdba264c04e6e36378578cf6c83a30eb8")
+ version("1.44.0", commit="2c24e8ec53fe34c72ea65f34e3c09905ab2e5c62")
+ version("1.42.0", commit="7d907e22a3ad7b4829a7cbaba5a8f8dc8013a609")
+ version("1.40.0", commit="6351a1637276f71697b01a994ebda0d3d1cf6d7a")
+ version("1.38.0", commit="72f102e2611e3966362cfaa43646a6e66dd2ba27")
+ version("1.38.1", commit="dd31665beb36d5aad8ed09ed56c603633b6b2292")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.54.0:')
- depends_on('r-xml@2.3-0:', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-rcurl', type=('build', 'run'), when='@1.44.0:')
- depends_on('r-rgraphviz', type=('build', 'run'), when='@1.54.0:')
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.54.0:")
+ depends_on("r-xml@2.3-0:", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-rcurl", type=("build", "run"), when="@1.44.0:")
+ depends_on("r-rgraphviz", type=("build", "run"), when="@1.54.0:")
diff --git a/var/spack/repos/builtin/packages/r-keggrest/package.py b/var/spack/repos/builtin/packages/r-keggrest/package.py
index 27e292de8f..4a081d7132 100644
--- a/var/spack/repos/builtin/packages/r-keggrest/package.py
+++ b/var/spack/repos/builtin/packages/r-keggrest/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class RKeggrest(RPackage):
"""Client-side REST access to KEGG.
- A package that provides a client interface to the KEGG REST server.
- Based on KEGGSOAP by J. Zhang, R. Gentleman, and Marc Carlson, and KEGG
- (python package) by Aurelien Mazurie."""
+ A package that provides a client interface to the KEGG REST server.
+ Based on KEGGSOAP by J. Zhang, R. Gentleman, and Marc Carlson, and KEGG
+ (python package) by Aurelien Mazurie."""
bioc = "KEGGREST"
- version('1.36.0', commit='591818bbc9195bfd0657cf4f5c7c771ea7f86830')
- version('1.34.0', commit='2056750dc202fa04a34b84c6c712e884c7cad2bd')
- version('1.30.1', commit='fd9970ea9df117d625257b8c6351cf85098cfbc1')
- version('1.24.1', commit='bbc3ef476e02147aad8e1f33178136cc797c1b3f')
- version('1.22.0', commit='4374507376be811d29416d0cbbfd9115a50494d9')
- version('1.20.2', commit='62b4519367841f3548536c117e7e2bfe3fa4bf72')
- version('1.18.1', commit='580c126eabc3c52145967708f67a428ca46b23b2')
- version('1.16.1', commit='ed48de0def57a909894e237fa4731c4a052d8849')
+ version("1.36.0", commit="591818bbc9195bfd0657cf4f5c7c771ea7f86830")
+ version("1.34.0", commit="2056750dc202fa04a34b84c6c712e884c7cad2bd")
+ version("1.30.1", commit="fd9970ea9df117d625257b8c6351cf85098cfbc1")
+ version("1.24.1", commit="bbc3ef476e02147aad8e1f33178136cc797c1b3f")
+ version("1.22.0", commit="4374507376be811d29416d0cbbfd9115a50494d9")
+ version("1.20.2", commit="62b4519367841f3548536c117e7e2bfe3fa4bf72")
+ version("1.18.1", commit="580c126eabc3c52145967708f67a428ca46b23b2")
+ version("1.16.1", commit="ed48de0def57a909894e237fa4731c4a052d8849")
- depends_on('r@3.5.0:', when='@1.30.1:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
+ depends_on("r@3.5.0:", when="@1.30.1:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-kernlab/package.py b/var/spack/repos/builtin/packages/r-kernlab/package.py
index 57cca4b272..b2179d4697 100644
--- a/var/spack/repos/builtin/packages/r-kernlab/package.py
+++ b/var/spack/repos/builtin/packages/r-kernlab/package.py
@@ -16,10 +16,10 @@ class RKernlab(RPackage):
cran = "kernlab"
- version('0.9-30', sha256='48fc3a839ae57e8ab6ec26a34093ca3306391e7b271bef6e69812e2b4859ee81')
- version('0.9-29', sha256='c3da693a0041dd34f869e7b63a8d8cf7d4bc588ac601bcdddcf7d44f68b3106f')
- version('0.9-27', sha256='f6add50ed4097f04d09411491625f8d46eafc4f003b1c1cff78a6fff8cc31dd4')
- version('0.9-26', sha256='954940478c6fcf60433e50e43cf10d70bcb0a809848ca8b9d683bf371cd56077')
- version('0.9-25', sha256='b9de072754bb03c02c4d6a5ca20f2290fd090de328b55ab334ac0b397ac2ca62')
+ version("0.9-30", sha256="48fc3a839ae57e8ab6ec26a34093ca3306391e7b271bef6e69812e2b4859ee81")
+ version("0.9-29", sha256="c3da693a0041dd34f869e7b63a8d8cf7d4bc588ac601bcdddcf7d44f68b3106f")
+ version("0.9-27", sha256="f6add50ed4097f04d09411491625f8d46eafc4f003b1c1cff78a6fff8cc31dd4")
+ version("0.9-26", sha256="954940478c6fcf60433e50e43cf10d70bcb0a809848ca8b9d683bf371cd56077")
+ version("0.9-25", sha256="b9de072754bb03c02c4d6a5ca20f2290fd090de328b55ab334ac0b397ac2ca62")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-kernsmooth/package.py b/var/spack/repos/builtin/packages/r-kernsmooth/package.py
index 2509d69888..2ddb1e0275 100644
--- a/var/spack/repos/builtin/packages/r-kernsmooth/package.py
+++ b/var/spack/repos/builtin/packages/r-kernsmooth/package.py
@@ -14,8 +14,8 @@ class RKernsmooth(RPackage):
cran = "KernSmooth"
- version('2.23-20', sha256='20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39')
- version('2.23-18', sha256='8334800c5ad2305539d2731b929ea34f50fa4269ba87277b699fd5be5b03c490')
- version('2.23-15', sha256='8b72d23ed121a54af188b2cda4441e3ce2646359309885f6455b82c0275210f6')
+ version("2.23-20", sha256="20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39")
+ version("2.23-18", sha256="8334800c5ad2305539d2731b929ea34f50fa4269ba87277b699fd5be5b03c490")
+ version("2.23-15", sha256="8b72d23ed121a54af188b2cda4441e3ce2646359309885f6455b82c0275210f6")
- depends_on('r@2.5.0:', type=('build', 'run'))
+ depends_on("r@2.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-kknn/package.py b/var/spack/repos/builtin/packages/r-kknn/package.py
index c659d51161..7e15d243b9 100644
--- a/var/spack/repos/builtin/packages/r-kknn/package.py
+++ b/var/spack/repos/builtin/packages/r-kknn/package.py
@@ -14,8 +14,8 @@ class RKknn(RPackage):
cran = "kknn"
- version('1.3.1', sha256='22840e70ec2afa40371e274b583634c8f6d27149a87253ee411747d5db78f3db')
+ version("1.3.1", sha256="22840e70ec2afa40371e274b583634c8f6d27149a87253ee411747d5db78f3db")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-igraph@1.0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-igraph@1.0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-klar/package.py b/var/spack/repos/builtin/packages/r-klar/package.py
index c3ac2b53e1..1de17d0196 100644
--- a/var/spack/repos/builtin/packages/r-klar/package.py
+++ b/var/spack/repos/builtin/packages/r-klar/package.py
@@ -20,13 +20,13 @@ class RKlar(RPackage):
cran = "klaR"
- version('1.7-0', sha256='b4795250ef19fd1b5e1b9a59343fd01159a33dbdbb504a06258220e37a718198')
- version('0.6-15', sha256='5bfe5bc643f8a64b222317732c26e9f93be297cdc318a869f15cc9ab0d9e0fae')
+ version("1.7-0", sha256="b4795250ef19fd1b5e1b9a59343fd01159a33dbdbb504a06258220e37a718198")
+ version("0.6-15", sha256="5bfe5bc643f8a64b222317732c26e9f93be297cdc318a869f15cc9ab0d9e0fae")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-combinat', type=('build', 'run'))
- depends_on('r-questionr', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-combinat", type=("build", "run"))
+ depends_on("r-questionr", type=("build", "run"))
# NOTE: The svmlight interface is not built. The external svmlight package
# dates back to 2008, and does not build with modern compilers. In
diff --git a/var/spack/repos/builtin/packages/r-knitr/package.py b/var/spack/repos/builtin/packages/r-knitr/package.py
index 514a8513bb..0ad3cb7abb 100644
--- a/var/spack/repos/builtin/packages/r-knitr/package.py
+++ b/var/spack/repos/builtin/packages/r-knitr/package.py
@@ -15,35 +15,35 @@ class RKnitr(RPackage):
cran = "knitr"
- version('1.39', sha256='c91a65edebdca779af7f7480fa6636667497c9291ad55d6efd982db0bb91ac72')
- version('1.37', sha256='39cd2a4848baebbe7fa0c0ab8200179690fb5b9190f0c1688d987c38363ad763')
- version('1.33', sha256='2f83332b0a880de6eae522271bda7f862c97693fba45c23ab1f772028f6c0909')
- version('1.30', sha256='3aabb13566a234131ba18b78d690104f9468a982dc711f81344a985318c7c93e')
- version('1.28', sha256='05ee01da31d715bf24793efb3e4ef3bb3101ef1e1ab2d760c645fc5b9d40232a')
- version('1.24', sha256='e80c2043b445a7e576b62ae8510cce89322660fe388881d799a706d35cd27b89')
- version('1.23', sha256='063bfb3300fc9f3e7d223c346e19b93beced0e6784470b9bef2524868a206a99')
- version('1.17', sha256='9484a2b2c7b0c2aae24ab7f4eec6db48affbceb0e42bd3d69e34d953fe92f401')
- version('1.14', sha256='ba6d301482d020a911390d5eff181e1771f0e02ac3f3d9853a9724b1ec041aec')
-
- depends_on('r@2.14.1:', type=('build', 'run'), when='@:1.9')
- depends_on('r@3.0.2:', type=('build', 'run'), when='@1.10:1.14')
- depends_on('r@3.1.0:', type=('build', 'run'), when='@1.15:1.22')
- depends_on('r@3.2.3:', type=('build', 'run'), when='@1.23:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.39:')
- depends_on('r-evaluate@0.10:', type=('build', 'run'))
- depends_on('r-evaluate@0.15:', type=('build', 'run'), when='@1.39:')
- depends_on('r-highr', type=('build', 'run'))
- depends_on('r-stringr@0.6:', type=('build', 'run'))
- depends_on('r-yaml@2.1.19:', type=('build', 'run'))
- depends_on('r-xfun', type=('build', 'run'), when='@1.23:')
- depends_on('r-xfun@0.15:', type=('build', 'run'), when='@1.30')
- depends_on('r-xfun@0.19:', type=('build', 'run'), when='@1.31')
- depends_on('r-xfun@0.21:', type=('build', 'run'), when='@1.32:')
- depends_on('r-xfun@0.27:', type=('build', 'run'), when='@1.37:')
- depends_on('r-xfun@0.29:', type=('build', 'run'), when='@1.39:')
- depends_on('pandoc', type='build')
- depends_on('py-rst2pdf', type=('build', 'run'))
-
- depends_on('r-digest', type=('build', 'run'), when='@:1.17')
- depends_on('r-formatr', type=('build', 'run'), when='@:1.14')
- depends_on('r-markdown', type=('build', 'run'), when='@:1.33')
+ version("1.39", sha256="c91a65edebdca779af7f7480fa6636667497c9291ad55d6efd982db0bb91ac72")
+ version("1.37", sha256="39cd2a4848baebbe7fa0c0ab8200179690fb5b9190f0c1688d987c38363ad763")
+ version("1.33", sha256="2f83332b0a880de6eae522271bda7f862c97693fba45c23ab1f772028f6c0909")
+ version("1.30", sha256="3aabb13566a234131ba18b78d690104f9468a982dc711f81344a985318c7c93e")
+ version("1.28", sha256="05ee01da31d715bf24793efb3e4ef3bb3101ef1e1ab2d760c645fc5b9d40232a")
+ version("1.24", sha256="e80c2043b445a7e576b62ae8510cce89322660fe388881d799a706d35cd27b89")
+ version("1.23", sha256="063bfb3300fc9f3e7d223c346e19b93beced0e6784470b9bef2524868a206a99")
+ version("1.17", sha256="9484a2b2c7b0c2aae24ab7f4eec6db48affbceb0e42bd3d69e34d953fe92f401")
+ version("1.14", sha256="ba6d301482d020a911390d5eff181e1771f0e02ac3f3d9853a9724b1ec041aec")
+
+ depends_on("r@2.14.1:", type=("build", "run"), when="@:1.9")
+ depends_on("r@3.0.2:", type=("build", "run"), when="@1.10:1.14")
+ depends_on("r@3.1.0:", type=("build", "run"), when="@1.15:1.22")
+ depends_on("r@3.2.3:", type=("build", "run"), when="@1.23:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.39:")
+ depends_on("r-evaluate@0.10:", type=("build", "run"))
+ depends_on("r-evaluate@0.15:", type=("build", "run"), when="@1.39:")
+ depends_on("r-highr", type=("build", "run"))
+ depends_on("r-stringr@0.6:", type=("build", "run"))
+ depends_on("r-yaml@2.1.19:", type=("build", "run"))
+ depends_on("r-xfun", type=("build", "run"), when="@1.23:")
+ depends_on("r-xfun@0.15:", type=("build", "run"), when="@1.30")
+ depends_on("r-xfun@0.19:", type=("build", "run"), when="@1.31")
+ depends_on("r-xfun@0.21:", type=("build", "run"), when="@1.32:")
+ depends_on("r-xfun@0.27:", type=("build", "run"), when="@1.37:")
+ depends_on("r-xfun@0.29:", type=("build", "run"), when="@1.39:")
+ depends_on("pandoc", type="build")
+ depends_on("py-rst2pdf", type=("build", "run"))
+
+ depends_on("r-digest", type=("build", "run"), when="@:1.17")
+ depends_on("r-formatr", type=("build", "run"), when="@:1.14")
+ depends_on("r-markdown", type=("build", "run"), when="@:1.33")
diff --git a/var/spack/repos/builtin/packages/r-kpmt/package.py b/var/spack/repos/builtin/packages/r-kpmt/package.py
index 5c2185e3ee..ca2e243d0e 100644
--- a/var/spack/repos/builtin/packages/r-kpmt/package.py
+++ b/var/spack/repos/builtin/packages/r-kpmt/package.py
@@ -13,7 +13,7 @@ class RKpmt(RPackage):
cran = "kpmt"
- version('0.1.0', sha256='6342ad02c93bfa7a764d028821bb6115bb8bc8c55b057a5860736cc0e034a295')
+ version("0.1.0", sha256="6342ad02c93bfa7a764d028821bb6115bb8bc8c55b057a5860736cc0e034a295")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ks/package.py b/var/spack/repos/builtin/packages/r-ks/package.py
index 8f5c8baa4f..e4fee81383 100644
--- a/var/spack/repos/builtin/packages/r-ks/package.py
+++ b/var/spack/repos/builtin/packages/r-ks/package.py
@@ -16,21 +16,21 @@ class RKs(RPackage):
cran = "ks"
- version('1.13.5', sha256='d1c4d06d704f301628455787ba929add1e774debc343d0952a768abea6cc7815')
- version('1.13.3', sha256='defb80df665d987f1751899f7a9809cb5a770f3c74266d7fbc7b9493616dce73')
- version('1.11.7', sha256='6a6d9c2366e85a4c6af39b798f3798d20a42615ddfcebcedf6cf56087cdfd2b8')
- version('1.11.5', sha256='4f65565376391b8a6dcce76168ef628fd4859dba8496910cbdd54e4f88e8d51b')
- version('1.11.4', sha256='0beffaf8694819fba8c93af07a8782674a15fe00a04ad1d94d31238d0a41b134')
- version('1.11.2', sha256='9dfd485096e1e67abc7dfcb7b76a83de110dd15bcfeffe5c899605b3a5592961')
+ version("1.13.5", sha256="d1c4d06d704f301628455787ba929add1e774debc343d0952a768abea6cc7815")
+ version("1.13.3", sha256="defb80df665d987f1751899f7a9809cb5a770f3c74266d7fbc7b9493616dce73")
+ version("1.11.7", sha256="6a6d9c2366e85a4c6af39b798f3798d20a42615ddfcebcedf6cf56087cdfd2b8")
+ version("1.11.5", sha256="4f65565376391b8a6dcce76168ef628fd4859dba8496910cbdd54e4f88e8d51b")
+ version("1.11.4", sha256="0beffaf8694819fba8c93af07a8782674a15fe00a04ad1d94d31238d0a41b134")
+ version("1.11.2", sha256="9dfd485096e1e67abc7dfcb7b76a83de110dd15bcfeffe5c899605b3a5592961")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-fnn@1.1:', type=('build', 'run'))
- depends_on('r-kernlab', type=('build', 'run'))
- depends_on('r-kernsmooth@2.22:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-mclust', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-multicool', type=('build', 'run'))
- depends_on('r-mvtnorm@1.0-0:', type=('build', 'run'))
- depends_on('r-plot3d', type=('build', 'run'), when='@1.13.3:')
- depends_on('r-pracma', type=('build', 'run'), when='@1.13.3:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-fnn@1.1:", type=("build", "run"))
+ depends_on("r-kernlab", type=("build", "run"))
+ depends_on("r-kernsmooth@2.22:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-mclust", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-multicool", type=("build", "run"))
+ depends_on("r-mvtnorm@1.0-0:", type=("build", "run"))
+ depends_on("r-plot3d", type=("build", "run"), when="@1.13.3:")
+ depends_on("r-pracma", type=("build", "run"), when="@1.13.3:")
diff --git a/var/spack/repos/builtin/packages/r-ksamples/package.py b/var/spack/repos/builtin/packages/r-ksamples/package.py
index c956f15853..bb7dc1d6f8 100644
--- a/var/spack/repos/builtin/packages/r-ksamples/package.py
+++ b/var/spack/repos/builtin/packages/r-ksamples/package.py
@@ -24,6 +24,6 @@ class RKsamples(RPackage):
cran = "kSamples"
- version('1.2-9', sha256='ba3ec4af3dfcf7cf12f0b784ef67bfea565e16985647ead904629886cc1542ff')
+ version("1.2-9", sha256="ba3ec4af3dfcf7cf12f0b784ef67bfea565e16985647ead904629886cc1542ff")
- depends_on('r-suppdists', type=('build', 'run'))
+ depends_on("r-suppdists", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-labeling/package.py b/var/spack/repos/builtin/packages/r-labeling/package.py
index c66c161a53..4c3cecb213 100644
--- a/var/spack/repos/builtin/packages/r-labeling/package.py
+++ b/var/spack/repos/builtin/packages/r-labeling/package.py
@@ -13,5 +13,5 @@ class RLabeling(RPackage):
cran = "labeling"
- version('0.4.2', sha256='e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165')
- version('0.3', sha256='0d8069eb48e91f6f6d6a9148f4e2dc5026cabead15dd15fc343eff9cf33f538f')
+ version("0.4.2", sha256="e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165")
+ version("0.3", sha256="0d8069eb48e91f6f6d6a9148f4e2dc5026cabead15dd15fc343eff9cf33f538f")
diff --git a/var/spack/repos/builtin/packages/r-labelled/package.py b/var/spack/repos/builtin/packages/r-labelled/package.py
index 2f78c97e16..60e54aec85 100644
--- a/var/spack/repos/builtin/packages/r-labelled/package.py
+++ b/var/spack/repos/builtin/packages/r-labelled/package.py
@@ -16,19 +16,19 @@ class RLabelled(RPackage):
cran = "labelled"
- version('2.9.1', sha256='9eb10b245f64f3fb7346121aa4cd98638946e1cc4208dd5e28791ef8fd62fa40')
- version('2.9.0', sha256='36ac0e169ee065a8bced9417efeb85d62e1504a590d4321667d8a6213285d639')
- version('2.7.0', sha256='b1b66b34d3ad682e492fc5bb6431780760576d29dbac40d87bef3c0960054bdb')
-
- depends_on('r@3.0:', type=('build', 'run'), when='@2.9.0:')
- depends_on('r-haven@2.3.1:', type=('build', 'run'))
- depends_on('r-haven@2.4.1:', type=('build', 'run'), when='@2.9.0:')
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@2.9.0:')
- depends_on('r-lifecycle', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'), when='@2.9.0:')
- depends_on('r-tidyr', type=('build', 'run'))
-
- depends_on('r-pillar', type=('build', 'run'), when='@:2.7.0')
+ version("2.9.1", sha256="9eb10b245f64f3fb7346121aa4cd98638946e1cc4208dd5e28791ef8fd62fa40")
+ version("2.9.0", sha256="36ac0e169ee065a8bced9417efeb85d62e1504a590d4321667d8a6213285d639")
+ version("2.7.0", sha256="b1b66b34d3ad682e492fc5bb6431780760576d29dbac40d87bef3c0960054bdb")
+
+ depends_on("r@3.0:", type=("build", "run"), when="@2.9.0:")
+ depends_on("r-haven@2.3.1:", type=("build", "run"))
+ depends_on("r-haven@2.4.1:", type=("build", "run"), when="@2.9.0:")
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@2.9.0:")
+ depends_on("r-lifecycle", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"), when="@2.9.0:")
+ depends_on("r-tidyr", type=("build", "run"))
+
+ depends_on("r-pillar", type=("build", "run"), when="@:2.7.0")
diff --git a/var/spack/repos/builtin/packages/r-lambda-r/package.py b/var/spack/repos/builtin/packages/r-lambda-r/package.py
index 2c969c02f5..2fcb070681 100644
--- a/var/spack/repos/builtin/packages/r-lambda-r/package.py
+++ b/var/spack/repos/builtin/packages/r-lambda-r/package.py
@@ -15,9 +15,9 @@ class RLambdaR(RPackage):
cran = "lambda.r"
- version('1.2.4', sha256='d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6')
- version('1.2.3', sha256='0cd8e37ba1a0960888016a85d492da51a57df54bd65ff920b08c79a3bfbe8631')
- version('1.2', sha256='7dc4188ce1d4a6b026a1b128719ff60234ae1e3ffa583941bbcd8473ad18146f')
+ version("1.2.4", sha256="d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6")
+ version("1.2.3", sha256="0cd8e37ba1a0960888016a85d492da51a57df54bd65ff920b08c79a3bfbe8631")
+ version("1.2", sha256="7dc4188ce1d4a6b026a1b128719ff60234ae1e3ffa583941bbcd8473ad18146f")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-formatr', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-formatr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-laplacesdemon/package.py b/var/spack/repos/builtin/packages/r-laplacesdemon/package.py
index f5980ca98f..ba618b6b13 100644
--- a/var/spack/repos/builtin/packages/r-laplacesdemon/package.py
+++ b/var/spack/repos/builtin/packages/r-laplacesdemon/package.py
@@ -15,10 +15,10 @@ class RLaplacesdemon(RPackage):
cran = "LaplacesDemon"
- version('16.1.6', sha256='57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7')
- version('16.1.4', sha256='4152a1c3c652979e97870e5c50c45a243d0ad8d4ff968091160e3d66509f61db')
- version('16.1.1', sha256='779ed1dbfed523a15701b4d5d891d4f1f11ab27518826a8a7725807d4c42bd77')
- version('16.1.0', sha256='41d99261e8fc33c977b43ecf66ebed8ef1c84d9bd46b271609e9aadddc2ca8bb')
- version('16.0.1', sha256='be21eff3c821b4fe0b4724f03c9221c2456257f93d91f864de11e95dc35e8679')
+ version("16.1.6", sha256="57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7")
+ version("16.1.4", sha256="4152a1c3c652979e97870e5c50c45a243d0ad8d4ff968091160e3d66509f61db")
+ version("16.1.1", sha256="779ed1dbfed523a15701b4d5d891d4f1f11ab27518826a8a7725807d4c42bd77")
+ version("16.1.0", sha256="41d99261e8fc33c977b43ecf66ebed8ef1c84d9bd46b271609e9aadddc2ca8bb")
+ version("16.0.1", sha256="be21eff3c821b4fe0b4724f03c9221c2456257f93d91f864de11e95dc35e8679")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lars/package.py b/var/spack/repos/builtin/packages/r-lars/package.py
index 5b38cc0d86..8c97e7d212 100644
--- a/var/spack/repos/builtin/packages/r-lars/package.py
+++ b/var/spack/repos/builtin/packages/r-lars/package.py
@@ -14,9 +14,9 @@ class RLars(RPackage):
cran = "lars"
- version('1.3', sha256='c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d')
- version('1.2', sha256='64745b568f20b2cfdae3dad02fba92ebf78ffee466a71aaaafd4f48c3921922e')
- version('1.1', sha256='a8e4a0efb9ca6760dec1cadf395d9a805508455a2c3ced18cc53d9b8fa70cdc0')
- version('0.9-8', sha256='8c64cb31073ea0785346bb716485da8db2fae14153a52e5a8d151bc9cb4906e5')
+ version("1.3", sha256="c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d")
+ version("1.2", sha256="64745b568f20b2cfdae3dad02fba92ebf78ffee466a71aaaafd4f48c3921922e")
+ version("1.1", sha256="a8e4a0efb9ca6760dec1cadf395d9a805508455a2c3ced18cc53d9b8fa70cdc0")
+ version("0.9-8", sha256="8c64cb31073ea0785346bb716485da8db2fae14153a52e5a8d151bc9cb4906e5")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-later/package.py b/var/spack/repos/builtin/packages/r-later/package.py
index 95b68d97a0..9f1164cebe 100644
--- a/var/spack/repos/builtin/packages/r-later/package.py
+++ b/var/spack/repos/builtin/packages/r-later/package.py
@@ -14,11 +14,11 @@ class RLater(RPackage):
cran = "later"
- version('1.3.0', sha256='08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829')
- version('1.1.0.1', sha256='71baa7beae774a35a117e01d7b95698511c3cdc5eea36e29732ff1fe8f1436cd')
- version('0.8.0', sha256='6b2a28b43c619b2c7890840c62145cd3a34a7ed65b31207fdedde52efb00e521')
+ version("1.3.0", sha256="08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829")
+ version("1.1.0.1", sha256="71baa7beae774a35a117e01d7b95698511c3cdc5eea36e29732ff1fe8f1436cd")
+ version("0.8.0", sha256="6b2a28b43c619b2c7890840c62145cd3a34a7ed65b31207fdedde52efb00e521")
- depends_on('r-rcpp@0.12.9:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
+ depends_on("r-rcpp@0.12.9:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
- depends_on('r-bh', type=('build', 'run'), when='@:1.1.0.1')
+ depends_on("r-bh", type=("build", "run"), when="@:1.1.0.1")
diff --git a/var/spack/repos/builtin/packages/r-lattice/package.py b/var/spack/repos/builtin/packages/r-lattice/package.py
index cfb68eec3d..34d6797a2c 100644
--- a/var/spack/repos/builtin/packages/r-lattice/package.py
+++ b/var/spack/repos/builtin/packages/r-lattice/package.py
@@ -16,11 +16,11 @@ class RLattice(RPackage):
cran = "lattice"
- version('0.20-45', sha256='22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad')
- version('0.20-44', sha256='57b908e3c7ada08a38ad857ee44f44fdf9cfa59d5d9500bda2ccc9c7e96cdb9b')
- version('0.20-41', sha256='54ca557f0cb33df60eb10b883c2ed2847e061ddd57ed9b5dd7695149609d57b5')
- version('0.20-38', sha256='fdeb5e3e50dbbd9d3c5e2fa3eef865132b3eef30fbe53a10c24c7b7dfe5c0a2d')
- version('0.20-35', sha256='0829ab0f4dec55aac6a73bc3411af68441ddb1b5b078d680a7c2643abeaa965d')
- version('0.20-34', sha256='4a1a1cafa9c6660fb9a433b3a51898b8ec8e83abf143c80f99e3e4cf92812518')
+ version("0.20-45", sha256="22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad")
+ version("0.20-44", sha256="57b908e3c7ada08a38ad857ee44f44fdf9cfa59d5d9500bda2ccc9c7e96cdb9b")
+ version("0.20-41", sha256="54ca557f0cb33df60eb10b883c2ed2847e061ddd57ed9b5dd7695149609d57b5")
+ version("0.20-38", sha256="fdeb5e3e50dbbd9d3c5e2fa3eef865132b3eef30fbe53a10c24c7b7dfe5c0a2d")
+ version("0.20-35", sha256="0829ab0f4dec55aac6a73bc3411af68441ddb1b5b078d680a7c2643abeaa965d")
+ version("0.20-34", sha256="4a1a1cafa9c6660fb9a433b3a51898b8ec8e83abf143c80f99e3e4cf92812518")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-latticeextra/package.py b/var/spack/repos/builtin/packages/r-latticeextra/package.py
index 5e416c1266..1d22dbb162 100644
--- a/var/spack/repos/builtin/packages/r-latticeextra/package.py
+++ b/var/spack/repos/builtin/packages/r-latticeextra/package.py
@@ -15,12 +15,12 @@ class RLatticeextra(RPackage):
cran = "latticeExtra"
- version('0.6-29', sha256='6cadc31d56f73d926e2e8d72e43ae17ac03607a4d1a374719999a4a231e3df11')
- version('0.6-28', sha256='780695323dfadac108fb27000011c734e2927b1e0f069f247d65d27994c67ec2')
+ version("0.6-29", sha256="6cadc31d56f73d926e2e8d72e43ae17ac03607a4d1a374719999a4a231e3df11")
+ version("0.6-28", sha256="780695323dfadac108fb27000011c734e2927b1e0f069f247d65d27994c67ec2")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@0.6-29:')
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'), when='@0.6-29:')
- depends_on('r-jpeg', type=('build', 'run'), when='@0.6-29:')
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@0.6-29:")
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"), when="@0.6-29:")
+ depends_on("r-jpeg", type=("build", "run"), when="@0.6-29:")
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lava/package.py b/var/spack/repos/builtin/packages/r-lava/package.py
index e67339ba41..b2f163801a 100644
--- a/var/spack/repos/builtin/packages/r-lava/package.py
+++ b/var/spack/repos/builtin/packages/r-lava/package.py
@@ -21,15 +21,15 @@ class RLava(RPackage):
cran = "lava"
- version('1.6.10', sha256='7a88f8a885872e2abb3011c446e9e1c4884cd4dbe6ab4cfe9207538e5560232e')
- version('1.6.8.1', sha256='6d243fc86c67c78ff4763502d84ff2f0889c2e55d1a59afefb7a762887473ffa')
- version('1.6.6', sha256='7abc84dd99cce450a45ac4f232812cde3a322e432da3472f43b057fb5c59ca59')
- version('1.6.4', sha256='41c6eeb96eaef9e1bfb04b31f7203e250a5ea7e7860be4d95f7f96f2a8644718')
- version('1.4.7', sha256='d5cbd4835a94855478efb93051eece965db116ead203f4dd4e09d9a12d52f4bf')
+ version("1.6.10", sha256="7a88f8a885872e2abb3011c446e9e1c4884cd4dbe6ab4cfe9207538e5560232e")
+ version("1.6.8.1", sha256="6d243fc86c67c78ff4763502d84ff2f0889c2e55d1a59afefb7a762887473ffa")
+ version("1.6.6", sha256="7abc84dd99cce450a45ac4f232812cde3a322e432da3472f43b057fb5c59ca59")
+ version("1.6.4", sha256="41c6eeb96eaef9e1bfb04b31f7203e250a5ea7e7860be4d95f7f96f2a8644718")
+ version("1.4.7", sha256="d5cbd4835a94855478efb93051eece965db116ead203f4dd4e09d9a12d52f4bf")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-future-apply', type=('build', 'run'), when='@1.6.10:')
- depends_on('r-progressr', type=('build', 'run'), when='@1.6.10:')
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-squarem', type=('build', 'run'), when='@1.6.0:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-future-apply", type=("build", "run"), when="@1.6.10:")
+ depends_on("r-progressr", type=("build", "run"), when="@1.6.10:")
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-squarem", type=("build", "run"), when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/r-lavaan/package.py b/var/spack/repos/builtin/packages/r-lavaan/package.py
index 1e19fbf4fe..c2b81d97d9 100644
--- a/var/spack/repos/builtin/packages/r-lavaan/package.py
+++ b/var/spack/repos/builtin/packages/r-lavaan/package.py
@@ -14,13 +14,13 @@ class RLavaan(RPackage):
cran = "lavaan"
- version('0.6-11', sha256='2cc193b82463a865cd8dadb7332409fdebf47e4035d5fe8dbf3414a7ae18d308')
- version('0.6-10', sha256='4d6944eb6d5743e7a2a2c7b56aec5d5de78585a52789be235839fb9f5f468c37')
- version('0.6-9', sha256='d404c4eb40686534f9c05f24f908cd954041f66d1072caea4a3adfa83a5f108a')
- version('0.6-8', sha256='40e204909100b7338619ae23cd87e0a4058e581c286da2327f36dbb3834b84a2')
+ version("0.6-11", sha256="2cc193b82463a865cd8dadb7332409fdebf47e4035d5fe8dbf3414a7ae18d308")
+ version("0.6-10", sha256="4d6944eb6d5743e7a2a2c7b56aec5d5de78585a52789be235839fb9f5f468c37")
+ version("0.6-9", sha256="d404c4eb40686534f9c05f24f908cd954041f66d1072caea4a3adfa83a5f108a")
+ version("0.6-8", sha256="40e204909100b7338619ae23cd87e0a4058e581c286da2327f36dbb3834b84a2")
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mnormt', type=('build', 'run'))
- depends_on('r-pbivnorm', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mnormt", type=("build", "run"))
+ depends_on("r-pbivnorm", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lazyeval/package.py b/var/spack/repos/builtin/packages/r-lazyeval/package.py
index 29e9e599ca..f10c5c0885 100644
--- a/var/spack/repos/builtin/packages/r-lazyeval/package.py
+++ b/var/spack/repos/builtin/packages/r-lazyeval/package.py
@@ -15,8 +15,8 @@ class RLazyeval(RPackage):
cran = "lazyeval"
- version('0.2.2', sha256='d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4')
- version('0.2.1', sha256='83b3a43e94c40fe7977e43eb607be0a3cd64c02800eae4f2774e7866d1e93f61')
- version('0.2.0', sha256='13738f55b2044184fe91f53d17516a445dfb508227527921218cda6f01f98dcb')
+ version("0.2.2", sha256="d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4")
+ version("0.2.1", sha256="83b3a43e94c40fe7977e43eb607be0a3cd64c02800eae4f2774e7866d1e93f61")
+ version("0.2.0", sha256="13738f55b2044184fe91f53d17516a445dfb508227527921218cda6f01f98dcb")
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ldheatmap/package.py b/var/spack/repos/builtin/packages/r-ldheatmap/package.py
index d52211cd0a..63e28828d1 100644
--- a/var/spack/repos/builtin/packages/r-ldheatmap/package.py
+++ b/var/spack/repos/builtin/packages/r-ldheatmap/package.py
@@ -20,12 +20,12 @@ class RLdheatmap(RPackage):
cran = "LDheatmap"
- version('1.0-6', sha256='4cca2eea380b2a00b9958b5191ec442df24d60cd462e6634a21eaaa0fd4c293f')
- version('1.0-4', sha256='07eb385f19e6a195e8e4d75be0b47c57744eabbf14045e527f0c27e1183ae5ca')
- version('0.99-7', sha256='aca54c839a424506d8be7153bf03b32026aeefe7ed38f534e8e19708e34212e4')
+ version("1.0-6", sha256="4cca2eea380b2a00b9958b5191ec442df24d60cd462e6634a21eaaa0fd4c293f")
+ version("1.0-4", sha256="07eb385f19e6a195e8e4d75be0b47c57744eabbf14045e527f0c27e1183ae5ca")
+ version("0.99-7", sha256="aca54c839a424506d8be7153bf03b32026aeefe7ed38f534e8e19708e34212e4")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.0-4:')
- depends_on('r-genetics', type=('build', 'run'))
- depends_on('r-snpstats', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.0-4:")
+ depends_on("r-genetics", type=("build", "run"))
+ depends_on("r-snpstats", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-leafem/package.py b/var/spack/repos/builtin/packages/r-leafem/package.py
index 8378d6d822..32efaae196 100644
--- a/var/spack/repos/builtin/packages/r-leafem/package.py
+++ b/var/spack/repos/builtin/packages/r-leafem/package.py
@@ -18,16 +18,16 @@ class RLeafem(RPackage):
cran = "leafem"
- version('0.2.0', sha256='97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d')
- version('0.1.6', sha256='ca50e0a699f564449248511857a2df0d48cd07de3157e099478a19b533088156')
- version('0.1.3', sha256='6f123fc15efadb85d317c01003e3b7af5dc925cffe0bbe774b1b39b6bd67f304')
+ version("0.2.0", sha256="97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d")
+ version("0.1.6", sha256="ca50e0a699f564449248511857a2df0d48cd07de3157e099478a19b533088156")
+ version("0.1.3", sha256="6f123fc15efadb85d317c01003e3b7af5dc925cffe0bbe774b1b39b6bd67f304")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-geojsonsf', type=('build', 'run'), when='@0.1.6:')
- depends_on('r-htmltools@0.3:', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-leaflet@2.0.1:', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-geojsonsf", type=("build", "run"), when="@0.1.6:")
+ depends_on("r-htmltools@0.3:", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-leaflet@2.0.1:", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-leaflet-providers/package.py b/var/spack/repos/builtin/packages/r-leaflet-providers/package.py
index 1ffeaf21f6..be898a1806 100644
--- a/var/spack/repos/builtin/packages/r-leaflet-providers/package.py
+++ b/var/spack/repos/builtin/packages/r-leaflet-providers/package.py
@@ -16,6 +16,6 @@ class RLeafletProviders(RPackage):
cran = "leaflet.providers"
- version('1.9.0', sha256='9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b')
+ version("1.9.0", sha256="9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-leaflet/package.py b/var/spack/repos/builtin/packages/r-leaflet/package.py
index a0f825d180..e42838f77e 100644
--- a/var/spack/repos/builtin/packages/r-leaflet/package.py
+++ b/var/spack/repos/builtin/packages/r-leaflet/package.py
@@ -15,24 +15,24 @@ class RLeaflet(RPackage):
cran = "leaflet"
- version('2.1.1', sha256='32f6a043759a0d2d98ea05739b7b4c55a266aa01272e48243e3c44046c7a5677')
- version('2.0.4.1', sha256='b0f038295f1de5d32d9ffa1d0dbc1562320190f2f1365f3a5e95863fff88901f')
- version('2.0.2', sha256='fa448d20940e01e953e0706fc5064b0fa347e69fa967792599eb03c52b2e3114')
- version('2.0.1', sha256='9876d5adf3235ea5683db79ec2435d3997c626774e8c4ec4ef14022e24dfcf06')
- version('1.0.1', sha256='f25a8e10c9616ccb5504bb874c533bc44fb7e438e073d4fe4484dee0951a9bc3')
+ version("2.1.1", sha256="32f6a043759a0d2d98ea05739b7b4c55a266aa01272e48243e3c44046c7a5677")
+ version("2.0.4.1", sha256="b0f038295f1de5d32d9ffa1d0dbc1562320190f2f1365f3a5e95863fff88901f")
+ version("2.0.2", sha256="fa448d20940e01e953e0706fc5064b0fa347e69fa967792599eb03c52b2e3114")
+ version("2.0.1", sha256="9876d5adf3235ea5683db79ec2435d3997c626774e8c4ec4ef14022e24dfcf06")
+ version("1.0.1", sha256="f25a8e10c9616ccb5504bb874c533bc44fb7e438e073d4fe4484dee0951a9bc3")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-crosstalk', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-htmlwidgets@1.5.4:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-markdown', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-scales@1.0.0:', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-viridis@0.5.1:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-leaflet-providers@1.8.0:', type=('build', 'run'), when='@2.0.4.1:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-crosstalk", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-htmlwidgets@1.5.4:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-markdown", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-scales@1.0.0:", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-viridis@0.5.1:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-leaflet-providers@1.8.0:", type=("build", "run"), when="@2.0.4.1:")
diff --git a/var/spack/repos/builtin/packages/r-leafpop/package.py b/var/spack/repos/builtin/packages/r-leafpop/package.py
index c145590aaf..814c991f7b 100644
--- a/var/spack/repos/builtin/packages/r-leafpop/package.py
+++ b/var/spack/repos/builtin/packages/r-leafpop/package.py
@@ -19,13 +19,13 @@ class RLeafpop(RPackage):
cran = "leafpop"
- version('0.1.0', sha256='6e546886e1db4ad93a038de6d1e8331c0d686e96a0d3f0694e7575471f7d9db1')
- version('0.0.6', sha256='3d9ca31d081ce8540a87790786840bde5f833543af608c53a26623c7874e722f')
-
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-brew', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-svglite', type=('build', 'run'))
- depends_on('r-uuid', type=('build', 'run'))
+ version("0.1.0", sha256="6e546886e1db4ad93a038de6d1e8331c0d686e96a0d3f0694e7575471f7d9db1")
+ version("0.0.6", sha256="3d9ca31d081ce8540a87790786840bde5f833543af608c53a26623c7874e722f")
+
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-brew", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-svglite", type=("build", "run"))
+ depends_on("r-uuid", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-leaps/package.py b/var/spack/repos/builtin/packages/r-leaps/package.py
index d90b4e15ac..23508e64b5 100644
--- a/var/spack/repos/builtin/packages/r-leaps/package.py
+++ b/var/spack/repos/builtin/packages/r-leaps/package.py
@@ -13,5 +13,5 @@ class RLeaps(RPackage):
cran = "leaps"
- version('3.1', sha256='3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6')
- version('3.0', sha256='55a879cdad5a4c9bc3b5697dd4d364b3a094a49d8facb6692f5ce6af82adf285')
+ version("3.1", sha256="3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6")
+ version("3.0", sha256="55a879cdad5a4c9bc3b5697dd4d364b3a094a49d8facb6692f5ce6af82adf285")
diff --git a/var/spack/repos/builtin/packages/r-learnbayes/package.py b/var/spack/repos/builtin/packages/r-learnbayes/package.py
index 2d4a1bd953..8b9f75a545 100644
--- a/var/spack/repos/builtin/packages/r-learnbayes/package.py
+++ b/var/spack/repos/builtin/packages/r-learnbayes/package.py
@@ -19,5 +19,5 @@ class RLearnbayes(RPackage):
cran = "LearnBayes"
- version('2.15.1', sha256='9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532')
- version('2.15', sha256='45c91114b4aaa0314feeb4311dbe78f5b75a3b76bb2d1ca0f8adb2e0f1cbe233')
+ version("2.15.1", sha256="9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532")
+ version("2.15", sha256="45c91114b4aaa0314feeb4311dbe78f5b75a3b76bb2d1ca0f8adb2e0f1cbe233")
diff --git a/var/spack/repos/builtin/packages/r-leiden/package.py b/var/spack/repos/builtin/packages/r-leiden/package.py
index 40ea6d8e64..8569ba33f7 100644
--- a/var/spack/repos/builtin/packages/r-leiden/package.py
+++ b/var/spack/repos/builtin/packages/r-leiden/package.py
@@ -17,12 +17,12 @@ class RLeiden(RPackage):
cran = "leiden"
- version('0.4.2', sha256='cace86748c4aa1720508210658ee2f63f7875be5bac215084001fdc59d22e2bd')
- version('0.3.9', sha256='81754276e026a9a8436476365bbadf0f15a403a525a349cb56418da5d8edea0d')
- version('0.3.6', sha256='a7096e38c4010b1f0baf6a7e1139362520b44c0e548b0b79584cb827172822cc')
- version('0.3.1', sha256='17fa1e49667fdd30ef5166506181c8514ae406f68f0878a026ee111bff11f8a5')
+ version("0.4.2", sha256="cace86748c4aa1720508210658ee2f63f7875be5bac215084001fdc59d22e2bd")
+ version("0.3.9", sha256="81754276e026a9a8436476365bbadf0f15a403a525a349cb56418da5d8edea0d")
+ version("0.3.6", sha256="a7096e38c4010b1f0baf6a7e1139362520b44c0e548b0b79584cb827172822cc")
+ version("0.3.1", sha256="17fa1e49667fdd30ef5166506181c8514ae406f68f0878a026ee111bff11f8a5")
- depends_on('r-reticulate', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-igraph@1.2.7:', type=('build', 'run'), when='@0.4.2:')
+ depends_on("r-reticulate", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-igraph@1.2.7:", type=("build", "run"), when="@0.4.2:")
diff --git a/var/spack/repos/builtin/packages/r-lfe/package.py b/var/spack/repos/builtin/packages/r-lfe/package.py
index 7ca5111863..2b28a61312 100644
--- a/var/spack/repos/builtin/packages/r-lfe/package.py
+++ b/var/spack/repos/builtin/packages/r-lfe/package.py
@@ -22,14 +22,14 @@ class RLfe(RPackage):
cran = "lfe"
- version('2.8-8', sha256='0fc22928fa16f22ee66c8e426a0e994346ad2f67b3c5aea597f3eeffbd85ab71')
- version('2.8-7.1', sha256='d6a1efd8c43f84fa291e4959938f16e85bf5feef113515aaca1fe90075a78c50')
- version('2.8-6', sha256='bf5fd362e9722e871a5236f30da562c489ae6506b667609b9465eefa8f101612')
- version('2.8-5', sha256='fd80c573d334594db933ff38f67bd4c9f899aaf648c3bd68f19477a0059723c2')
- version('2.8-4', sha256='ee5f6e312214aa73e285ae84a6bdf49ba10e830f1a68ffded2fea2e532f2cd6a')
+ version("2.8-8", sha256="0fc22928fa16f22ee66c8e426a0e994346ad2f67b3c5aea597f3eeffbd85ab71")
+ version("2.8-7.1", sha256="d6a1efd8c43f84fa291e4959938f16e85bf5feef113515aaca1fe90075a78c50")
+ version("2.8-6", sha256="bf5fd362e9722e871a5236f30da562c489ae6506b667609b9465eefa8f101612")
+ version("2.8-5", sha256="fd80c573d334594db933ff38f67bd4c9f899aaf648c3bd68f19477a0059723c2")
+ version("2.8-4", sha256="ee5f6e312214aa73e285ae84a6bdf49ba10e830f1a68ffded2fea2e532f2cd6a")
- depends_on('r@2.15.2:', type=('build', 'run'))
- depends_on('r-matrix@1.1-2:', type=('build', 'run'))
- depends_on('r-formula', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-sandwich', type=('build', 'run'))
+ depends_on("r@2.15.2:", type=("build", "run"))
+ depends_on("r-matrix@1.1-2:", type=("build", "run"))
+ depends_on("r-formula", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-sandwich", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lhs/package.py b/var/spack/repos/builtin/packages/r-lhs/package.py
index 154b8de32a..c80bd179dc 100644
--- a/var/spack/repos/builtin/packages/r-lhs/package.py
+++ b/var/spack/repos/builtin/packages/r-lhs/package.py
@@ -14,13 +14,13 @@ class RLhs(RPackage):
cran = "lhs"
- version('1.1.5', sha256='7a3c6fdcc953490e51026e17a0b1a9dc0ca8d03e6fc989457a7cdda2075b6339')
- version('1.1.3', sha256='e43b8d48db1cf26013697e2a798ed1d31d1ee1790f2ebfecb280176c0e0c06d1')
- version('1.1.1', sha256='903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc')
- version('1.0.1', sha256='a4d5ac0c6f585f2880364c867fa94e6554698beb65d3678ba5938dd84fc6ea53')
- version('1.0', sha256='38c53482b360bdea89ddcfadf6d45476c80b99aee8902f97c5e97975903e2745')
- version('0.16', sha256='9cd199c3b5b2be1736d585ef0fd39a00e31fc015a053333a7a319668d0809425')
+ version("1.1.5", sha256="7a3c6fdcc953490e51026e17a0b1a9dc0ca8d03e6fc989457a7cdda2075b6339")
+ version("1.1.3", sha256="e43b8d48db1cf26013697e2a798ed1d31d1ee1790f2ebfecb280176c0e0c06d1")
+ version("1.1.1", sha256="903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc")
+ version("1.0.1", sha256="a4d5ac0c6f585f2880364c867fa94e6554698beb65d3678ba5938dd84fc6ea53")
+ version("1.0", sha256="38c53482b360bdea89ddcfadf6d45476c80b99aee8902f97c5e97975903e2745")
+ version("0.16", sha256="9cd199c3b5b2be1736d585ef0fd39a00e31fc015a053333a7a319668d0809425")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0:')
- depends_on('r-rcpp', type=('build', 'run'), when='@1.0:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0:")
+ depends_on("r-rcpp", type=("build", "run"), when="@1.0:")
diff --git a/var/spack/repos/builtin/packages/r-libcoin/package.py b/var/spack/repos/builtin/packages/r-libcoin/package.py
index c9c889f7e8..bccd90912d 100644
--- a/var/spack/repos/builtin/packages/r-libcoin/package.py
+++ b/var/spack/repos/builtin/packages/r-libcoin/package.py
@@ -16,9 +16,9 @@ class RLibcoin(RPackage):
cran = "libcoin"
- version('1.0-9', sha256='2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb')
- version('1.0-6', sha256='48afc1415fc89b29e4f2c8b6f6db3cffef1531580e5c806ad7cacf4afe6a4e5a')
- version('1.0-4', sha256='91dcbaa0ab8c2109aa54c3eda29ad0acd67c870efcda208e27acce9d641c09c5')
+ version("1.0-9", sha256="2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb")
+ version("1.0-6", sha256="48afc1415fc89b29e4f2c8b6f6db3cffef1531580e5c806ad7cacf4afe6a4e5a")
+ version("1.0-4", sha256="91dcbaa0ab8c2109aa54c3eda29ad0acd67c870efcda208e27acce9d641c09c5")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lifecycle/package.py b/var/spack/repos/builtin/packages/r-lifecycle/package.py
index a69414fad7..29b83b70b3 100644
--- a/var/spack/repos/builtin/packages/r-lifecycle/package.py
+++ b/var/spack/repos/builtin/packages/r-lifecycle/package.py
@@ -20,10 +20,10 @@ class RLifecycle(RPackage):
cran = "lifecycle"
- version('1.0.1', sha256='1da76e1c00f1be96ca34e122ae611259430bf99d6a1b999fdef70c00c30f7ba0')
- version('0.2.0', sha256='29746e8dee05d4e36f9c612e8c7a903a4f648a36b3b94c9776e518c38a412224')
+ version("1.0.1", sha256="1da76e1c00f1be96ca34e122ae611259430bf99d6a1b999fdef70c00c30f7ba0")
+ version("0.2.0", sha256="29746e8dee05d4e36f9c612e8c7a903a4f648a36b3b94c9776e518c38a412224")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@3.3:', type=('build', 'run'), when='@1:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-rlang@0.4.0:', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@3.3:", type=("build", "run"), when="@1:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-rlang@0.4.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-limma/package.py b/var/spack/repos/builtin/packages/r-limma/package.py
index b391aadee3..6bc580bb2f 100644
--- a/var/spack/repos/builtin/packages/r-limma/package.py
+++ b/var/spack/repos/builtin/packages/r-limma/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RLimma(RPackage):
"""Linear Models for Microarray Data.
- Data analysis, linear models and differential expression for microarray
- data."""
+ Data analysis, linear models and differential expression for microarray
+ data."""
bioc = "limma"
- version('3.52.1', commit='c81c539a217ac1cf46e850f8a20266cecfafed50')
- version('3.50.0', commit='657b19bbc33c5c941af79aeb68967bf42ea40e23')
- version('3.46.0', commit='ff03542231827f39ebde6464cdbba0110e24364e')
- version('3.40.6', commit='3ae0767ecf7a764030e7b7d0b1d0f292c0b24055')
- version('3.38.3', commit='77b292eb150cdedaa1db704bcfb01f0bb29e9849')
- version('3.36.5', commit='3148d1cb7eea9c6bdd60351d51abcfd665332d44')
- version('3.34.9', commit='6755278a929f942a49e2441fb002a3ed393e1139')
- version('3.32.10', commit='593edf28e21fe054d64137ae271b8a52ab05bc60')
+ version("3.52.1", commit="c81c539a217ac1cf46e850f8a20266cecfafed50")
+ version("3.50.0", commit="657b19bbc33c5c941af79aeb68967bf42ea40e23")
+ version("3.46.0", commit="ff03542231827f39ebde6464cdbba0110e24364e")
+ version("3.40.6", commit="3ae0767ecf7a764030e7b7d0b1d0f292c0b24055")
+ version("3.38.3", commit="77b292eb150cdedaa1db704bcfb01f0bb29e9849")
+ version("3.36.5", commit="3148d1cb7eea9c6bdd60351d51abcfd665332d44")
+ version("3.34.9", commit="6755278a929f942a49e2441fb002a3ed393e1139")
+ version("3.32.10", commit="593edf28e21fe054d64137ae271b8a52ab05bc60")
- depends_on('r@2.3.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@3.40.6:')
+ depends_on("r@2.3.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@3.40.6:")
diff --git a/var/spack/repos/builtin/packages/r-limsolve/package.py b/var/spack/repos/builtin/packages/r-limsolve/package.py
index 7025bbef55..76902179ef 100644
--- a/var/spack/repos/builtin/packages/r-limsolve/package.py
+++ b/var/spack/repos/builtin/packages/r-limsolve/package.py
@@ -18,9 +18,9 @@ class RLimsolve(RPackage):
cran = "limSolve"
- version('1.5.6', sha256='b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0')
+ version("1.5.6", sha256="b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'))
- depends_on('r-lpsolve', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"))
+ depends_on("r-lpsolve", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-linprog/package.py b/var/spack/repos/builtin/packages/r-linprog/package.py
index 8ac9adbefd..b31cdeae08 100644
--- a/var/spack/repos/builtin/packages/r-linprog/package.py
+++ b/var/spack/repos/builtin/packages/r-linprog/package.py
@@ -14,7 +14,7 @@ class RLinprog(RPackage):
cran = "linprog"
- version('0.9-4', sha256='81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4')
+ version("0.9-4", sha256="81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4")
- depends_on('r@2.4.0:', type=('build', 'run'))
- depends_on('r-lpsolve', type=('build', 'run'))
+ depends_on("r@2.4.0:", type=("build", "run"))
+ depends_on("r-lpsolve", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-listenv/package.py b/var/spack/repos/builtin/packages/r-listenv/package.py
index 5d91dea7da..a16d847411 100644
--- a/var/spack/repos/builtin/packages/r-listenv/package.py
+++ b/var/spack/repos/builtin/packages/r-listenv/package.py
@@ -15,7 +15,7 @@ class RListenv(RPackage):
cran = "listenv"
- version('0.8.0', sha256='fd2aaf3ff2d8d546ce33d1cb38e68401613975117c1f9eb98a7b41facf5c485f')
- version('0.7.0', sha256='6126020b111870baea08b36afa82777cd578e88c17db5435cd137f11b3964555')
+ version("0.8.0", sha256="fd2aaf3ff2d8d546ce33d1cb38e68401613975117c1f9eb98a7b41facf5c485f")
+ version("0.7.0", sha256="6126020b111870baea08b36afa82777cd578e88c17db5435cd137f11b3964555")
- depends_on('r@3.1.2:', type=('build', 'run'))
+ depends_on("r@3.1.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lme4/package.py b/var/spack/repos/builtin/packages/r-lme4/package.py
index 15de1dbf5a..940977e085 100644
--- a/var/spack/repos/builtin/packages/r-lme4/package.py
+++ b/var/spack/repos/builtin/packages/r-lme4/package.py
@@ -16,24 +16,24 @@ class RLme4(RPackage):
cran = "lme4"
- version('1.1-29', sha256='83d97de48cc4706a5a9615b126ba1a86f1a3009d3f38b8da3e57dd619519e826')
- version('1.1-27.1', sha256='25fa873e39b8192e48c15eec93db8c8bf6f03baf3bd8d5ca9188482ce8442ec5')
- version('1.1-27', sha256='fe0391c76c78188ac1eefb18014d0607212c909b55474d985a919b55efe5a15f')
- version('1.1-26', sha256='364b6d6fb0a574dfed2d75cfdc79411aa53e2c1dd625b70bb1d25d026f9e4253')
- version('1.1-21', sha256='7f5554b69ff8ce9bac21e8842131ea940fb7a7dfa2de03684f236d3e3114b20c')
- version('1.1-20', sha256='44f45f5cd20ec6a50bf96a939b1db44b1a180dbc871a5e3042baf7a107016b2c')
- version('1.1-12', sha256='2976b567a4a2144814ff9db987b0aa55c16122c78ecb51b9e09b87fe66a1c048')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@1.1-16:')
- depends_on('r-matrix@1.2-1:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-boot', type=('build', 'run'), when='@1.1-21:')
- depends_on('r-nlme@3.1-123:', type=('build', 'run'))
- depends_on('r-minqa@1.1.15:', type=('build', 'run'))
- depends_on('r-nloptr@1.0.4:', type=('build', 'run'))
- depends_on('r-rcpp@0.10.5:', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
-
- depends_on('r-statmod', type=('build', 'run'), when='@1.1-26')
+ version("1.1-29", sha256="83d97de48cc4706a5a9615b126ba1a86f1a3009d3f38b8da3e57dd619519e826")
+ version("1.1-27.1", sha256="25fa873e39b8192e48c15eec93db8c8bf6f03baf3bd8d5ca9188482ce8442ec5")
+ version("1.1-27", sha256="fe0391c76c78188ac1eefb18014d0607212c909b55474d985a919b55efe5a15f")
+ version("1.1-26", sha256="364b6d6fb0a574dfed2d75cfdc79411aa53e2c1dd625b70bb1d25d026f9e4253")
+ version("1.1-21", sha256="7f5554b69ff8ce9bac21e8842131ea940fb7a7dfa2de03684f236d3e3114b20c")
+ version("1.1-20", sha256="44f45f5cd20ec6a50bf96a939b1db44b1a180dbc871a5e3042baf7a107016b2c")
+ version("1.1-12", sha256="2976b567a4a2144814ff9db987b0aa55c16122c78ecb51b9e09b87fe66a1c048")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@1.1-16:")
+ depends_on("r-matrix@1.2-1:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-boot", type=("build", "run"), when="@1.1-21:")
+ depends_on("r-nlme@3.1-123:", type=("build", "run"))
+ depends_on("r-minqa@1.1.15:", type=("build", "run"))
+ depends_on("r-nloptr@1.0.4:", type=("build", "run"))
+ depends_on("r-rcpp@0.10.5:", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
+
+ depends_on("r-statmod", type=("build", "run"), when="@1.1-26")
diff --git a/var/spack/repos/builtin/packages/r-lmertest/package.py b/var/spack/repos/builtin/packages/r-lmertest/package.py
index 8639cd63e5..5b3621b3b3 100644
--- a/var/spack/repos/builtin/packages/r-lmertest/package.py
+++ b/var/spack/repos/builtin/packages/r-lmertest/package.py
@@ -18,10 +18,10 @@ class RLmertest(RPackage):
cran = "lmerTest"
- version('3.1-3', sha256='35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd')
+ version("3.1-3", sha256="35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd")
- depends_on('r@3.2.5:', type=('build', 'run'))
- depends_on('r-lme4@1.1-10:', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
+ depends_on("r@3.2.5:", type=("build", "run"))
+ depends_on("r-lme4@1.1-10:", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lmtest/package.py b/var/spack/repos/builtin/packages/r-lmtest/package.py
index 8c75a95e53..92a82ac249 100644
--- a/var/spack/repos/builtin/packages/r-lmtest/package.py
+++ b/var/spack/repos/builtin/packages/r-lmtest/package.py
@@ -15,12 +15,12 @@ class RLmtest(RPackage):
cran = "lmtest"
- version('0.9-40', sha256='64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997')
- version('0.9-39', sha256='71f8d67cbe559b33fe02910a3e98cddc60c9dcc421c64f7878c647218f07d488')
- version('0.9-38', sha256='32a22cea45398ffc5732d9f5c0391431d0cdd3a9e29cc7b77bea32c1eb4a216b')
- version('0.9-37', sha256='ddc929f94bf055974832fa4a20fdd0c1eb3a84ee11f716c287936f2141d5ca0a')
- version('0.9-36', sha256='be9f168d6554e9cd2be0f9d8fc3244f055dce90d1fca00f05bcbd01daa4ed56b')
- version('0.9-34', sha256='86eead67ed6d6c6be3fbee97d5ce45e6ca06a981f974ce01a7754a9e33770d2e')
+ version("0.9-40", sha256="64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997")
+ version("0.9-39", sha256="71f8d67cbe559b33fe02910a3e98cddc60c9dcc421c64f7878c647218f07d488")
+ version("0.9-38", sha256="32a22cea45398ffc5732d9f5c0391431d0cdd3a9e29cc7b77bea32c1eb4a216b")
+ version("0.9-37", sha256="ddc929f94bf055974832fa4a20fdd0c1eb3a84ee11f716c287936f2141d5ca0a")
+ version("0.9-36", sha256="be9f168d6554e9cd2be0f9d8fc3244f055dce90d1fca00f05bcbd01daa4ed56b")
+ version("0.9-34", sha256="86eead67ed6d6c6be3fbee97d5ce45e6ca06a981f974ce01a7754a9e33770d2e")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lobstr/package.py b/var/spack/repos/builtin/packages/r-lobstr/package.py
index 1c7afbf8d7..5fe8feaf20 100644
--- a/var/spack/repos/builtin/packages/r-lobstr/package.py
+++ b/var/spack/repos/builtin/packages/r-lobstr/package.py
@@ -16,12 +16,12 @@ class RLobstr(RPackage):
cran = "lobstr"
- version('1.1.1', sha256='b8c9ce00095bd4f304b4883ef71da24572022f0632a18c3e1ba317814e70716e')
- version('1.0.1', sha256='25fb288f73dbaf680ebbf27a50da338868c55d788501118fd33748854c5104fb')
- version('1.0.0', sha256='9d24de1519c51b3bac79066a1abf623b939e884ba5b3005110bb9c2016954b3d')
+ version("1.1.1", sha256="b8c9ce00095bd4f304b4883ef71da24572022f0632a18c3e1ba317814e70716e")
+ version("1.0.1", sha256="25fb288f73dbaf680ebbf27a50da338868c55d788501118fd33748854c5104fb")
+ version("1.0.0", sha256="9d24de1519c51b3bac79066a1abf623b939e884ba5b3005110bb9c2016954b3d")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@1.1.1:')
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rlang@0.3.0:', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@1.1.1:")
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rlang@0.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-locfit/package.py b/var/spack/repos/builtin/packages/r-locfit/package.py
index f45b7e94f7..4ee3f25583 100644
--- a/var/spack/repos/builtin/packages/r-locfit/package.py
+++ b/var/spack/repos/builtin/packages/r-locfit/package.py
@@ -14,11 +14,11 @@ class RLocfit(RPackage):
cran = "locfit"
- version('1.5-9.5', sha256='fd9f2bad9d8beec8be4843dc80e38ebe0f388835a7003490f67e57eeb9e6de23')
- version('1.5-9.4', sha256='d9d3665c5f3d49f698fb4675daf40a0550601e86db3dc00f296413ceb1099ced')
- version('1.5-9.1', sha256='f524148fdb29aac3a178618f88718d3d4ac91283014091aa11a01f1c70cd4e51')
+ version("1.5-9.5", sha256="fd9f2bad9d8beec8be4843dc80e38ebe0f388835a7003490f67e57eeb9e6de23")
+ version("1.5-9.4", sha256="d9d3665c5f3d49f698fb4675daf40a0550601e86db3dc00f296413ceb1099ced")
+ version("1.5-9.1", sha256="f524148fdb29aac3a178618f88718d3d4ac91283014091aa11a01f1c70cd4e51")
- depends_on('r@2.0.1:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.5-9.4:')
- depends_on('r@4.1.0:', type=('build', 'run'), when='@1.5-9.5:')
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@2.0.1:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.5-9.4:")
+ depends_on("r@4.1.0:", type=("build", "run"), when="@1.5-9.5:")
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-log4r/package.py b/var/spack/repos/builtin/packages/r-log4r/package.py
index 6f37485b6a..b2ef207f4e 100644
--- a/var/spack/repos/builtin/packages/r-log4r/package.py
+++ b/var/spack/repos/builtin/packages/r-log4r/package.py
@@ -14,7 +14,7 @@ class RLog4r(RPackage):
cran = "log4r"
- version('0.4.2', sha256='924a020565dcd05a2bc8283285fcae60f6b58b35e1be7c55acc0c703c7edfe34')
- version('0.3.2', sha256='14ba6b096283279f0accbde26a600771ab2df271db6c8eeb04d6f113107825a3')
- version('0.3.0', sha256='8e5d0221298410e48bee9d9a983a23e1834ce88592f9d931471bfdb05f37a691')
- version('0.2', sha256='321bee6babb92376b538624027a36e7d2a6c8edb360aa38ab0a6762dfea9081f')
+ version("0.4.2", sha256="924a020565dcd05a2bc8283285fcae60f6b58b35e1be7c55acc0c703c7edfe34")
+ version("0.3.2", sha256="14ba6b096283279f0accbde26a600771ab2df271db6c8eeb04d6f113107825a3")
+ version("0.3.0", sha256="8e5d0221298410e48bee9d9a983a23e1834ce88592f9d931471bfdb05f37a691")
+ version("0.2", sha256="321bee6babb92376b538624027a36e7d2a6c8edb360aa38ab0a6762dfea9081f")
diff --git a/var/spack/repos/builtin/packages/r-loo/package.py b/var/spack/repos/builtin/packages/r-loo/package.py
index d2c22729d9..86b2a2268b 100644
--- a/var/spack/repos/builtin/packages/r-loo/package.py
+++ b/var/spack/repos/builtin/packages/r-loo/package.py
@@ -22,13 +22,13 @@ class RLoo(RPackage):
cran = "loo"
- version('2.5.1', sha256='866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1')
- version('2.4.1', sha256='bc21fb6b4a93a7e95ee1be57e4e787d731895fb8b4743c26b30b43adee475b50')
- version('2.3.1', sha256='d98de21b71d9d9386131ae5ba4da051362c3ad39e0305af4f33d830f299ae08b')
- version('2.1.0', sha256='1bf4a1ef85d151577ff96d4cf2a29c9ef24370b0b1eb08c70dcf45884350e87d')
+ version("2.5.1", sha256="866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1")
+ version("2.4.1", sha256="bc21fb6b4a93a7e95ee1be57e4e787d731895fb8b4743c26b30b43adee475b50")
+ version("2.3.1", sha256="d98de21b71d9d9386131ae5ba4da051362c3ad39e0305af4f33d830f299ae08b")
+ version("2.1.0", sha256="1bf4a1ef85d151577ff96d4cf2a29c9ef24370b0b1eb08c70dcf45884350e87d")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-checkmate', type=('build', 'run'))
- depends_on('r-matrixstats@0.52:', type=('build', 'run'))
- depends_on('pandoc@1.12.3:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-checkmate", type=("build", "run"))
+ depends_on("r-matrixstats@0.52:", type=("build", "run"))
+ depends_on("pandoc@1.12.3:")
diff --git a/var/spack/repos/builtin/packages/r-lpsolve/package.py b/var/spack/repos/builtin/packages/r-lpsolve/package.py
index f51bfe81a8..d6eb489329 100644
--- a/var/spack/repos/builtin/packages/r-lpsolve/package.py
+++ b/var/spack/repos/builtin/packages/r-lpsolve/package.py
@@ -17,7 +17,7 @@ class RLpsolve(RPackage):
cran = "lpSolve"
- version('5.6.15', sha256='4627be4178abad34fc85a7d264c2eb5e27506f007e46687b0b8a4f8fbdf4f3ba')
- version('5.6.13.2', sha256='75f0c0af5cbdc219ac29c792342ecd625903632ad86e581c408879958aa88539')
- version('5.6.13.1', sha256='6ad8dc430f72a4698fc4a615bb5ecb73690b3c4520e84d9094af51a528f720b8')
- version('5.6.13', sha256='d5d41c53212dead4fd8e6425a9d3c5767cdc5feb19d768a4704116d791cf498d')
+ version("5.6.15", sha256="4627be4178abad34fc85a7d264c2eb5e27506f007e46687b0b8a4f8fbdf4f3ba")
+ version("5.6.13.2", sha256="75f0c0af5cbdc219ac29c792342ecd625903632ad86e581c408879958aa88539")
+ version("5.6.13.1", sha256="6ad8dc430f72a4698fc4a615bb5ecb73690b3c4520e84d9094af51a528f720b8")
+ version("5.6.13", sha256="d5d41c53212dead4fd8e6425a9d3c5767cdc5feb19d768a4704116d791cf498d")
diff --git a/var/spack/repos/builtin/packages/r-lpsolveapi/package.py b/var/spack/repos/builtin/packages/r-lpsolveapi/package.py
index 6f654b4162..492e1e62bc 100644
--- a/var/spack/repos/builtin/packages/r-lpsolveapi/package.py
+++ b/var/spack/repos/builtin/packages/r-lpsolveapi/package.py
@@ -16,4 +16,6 @@ class RLpsolveapi(RPackage):
cran = "lpSolveAPI"
- version('5.5.2.0-17.7', sha256='9ebc8e45ad73eb51e0b25049598a5bc758370cf89508e2328cf4bd93d68d55bb')
+ version(
+ "5.5.2.0-17.7", sha256="9ebc8e45ad73eb51e0b25049598a5bc758370cf89508e2328cf4bd93d68d55bb"
+ )
diff --git a/var/spack/repos/builtin/packages/r-lsei/package.py b/var/spack/repos/builtin/packages/r-lsei/package.py
index 7c4b94b4fa..f75784f384 100644
--- a/var/spack/repos/builtin/packages/r-lsei/package.py
+++ b/var/spack/repos/builtin/packages/r-lsei/package.py
@@ -19,5 +19,5 @@ class RLsei(RPackage):
cran = "lsei"
- version('1.3-0', sha256='6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6')
- version('1.2-0', sha256='4781ebd9ef93880260d5d5f23066580ac06061e95c1048fb25e4e838963380f6')
+ version("1.3-0", sha256="6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6")
+ version("1.2-0", sha256="4781ebd9ef93880260d5d5f23066580ac06061e95c1048fb25e4e838963380f6")
diff --git a/var/spack/repos/builtin/packages/r-lubridate/package.py b/var/spack/repos/builtin/packages/r-lubridate/package.py
index 1873b8dfa9..aa8b57bd54 100644
--- a/var/spack/repos/builtin/packages/r-lubridate/package.py
+++ b/var/spack/repos/builtin/packages/r-lubridate/package.py
@@ -18,17 +18,17 @@ class RLubridate(RPackage):
cran = "lubridate"
- version('1.8.0', sha256='87d66efdb1f3d680db381d7e40a202d35645865a0542e2f270ef008a19002ba5')
- version('1.7.9.2', sha256='ee6a2d68faca51646477acd1898ba774bf2b6fd474a0abf351b16aa5e7a3db79')
- version('1.7.4', sha256='510ca87bd91631c395655ee5029b291e948b33df09e56f6be5839f43e3104891')
- version('1.7.3', sha256='2cffbf54afce1d068e65241fb876a77b10ee907d5a19d2ffa84d5ba8a2c3f3df')
- version('1.7.1', sha256='898c3f482ab8f5e5b415eecd13d1238769c88faed19b63fcb074ffe5ff57fb5f')
- version('1.5.6', sha256='9b1627ba3212e132ce2b9a29d7513e250cc682ab9b4069f6788a22e84bf8d2c4')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@1.7.9.2:')
- depends_on('r-generics', type=('build', 'run'), when='@1.7.9.2:')
- depends_on('r-cpp11@0.2.7:', type=('build', 'run'), when='@1.8:')
-
- depends_on('r-rcpp@0.12.13:', type=('build', 'run'), when='@:1.7')
- depends_on('r-stringr', type=('build', 'run'), when='@:1.7.4')
+ version("1.8.0", sha256="87d66efdb1f3d680db381d7e40a202d35645865a0542e2f270ef008a19002ba5")
+ version("1.7.9.2", sha256="ee6a2d68faca51646477acd1898ba774bf2b6fd474a0abf351b16aa5e7a3db79")
+ version("1.7.4", sha256="510ca87bd91631c395655ee5029b291e948b33df09e56f6be5839f43e3104891")
+ version("1.7.3", sha256="2cffbf54afce1d068e65241fb876a77b10ee907d5a19d2ffa84d5ba8a2c3f3df")
+ version("1.7.1", sha256="898c3f482ab8f5e5b415eecd13d1238769c88faed19b63fcb074ffe5ff57fb5f")
+ version("1.5.6", sha256="9b1627ba3212e132ce2b9a29d7513e250cc682ab9b4069f6788a22e84bf8d2c4")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@1.7.9.2:")
+ depends_on("r-generics", type=("build", "run"), when="@1.7.9.2:")
+ depends_on("r-cpp11@0.2.7:", type=("build", "run"), when="@1.8:")
+
+ depends_on("r-rcpp@0.12.13:", type=("build", "run"), when="@:1.7")
+ depends_on("r-stringr", type=("build", "run"), when="@:1.7.4")
diff --git a/var/spack/repos/builtin/packages/r-lumi/package.py b/var/spack/repos/builtin/packages/r-lumi/package.py
index dfb86edf30..4c3f362ddf 100644
--- a/var/spack/repos/builtin/packages/r-lumi/package.py
+++ b/var/spack/repos/builtin/packages/r-lumi/package.py
@@ -19,24 +19,24 @@ class RLumi(RPackage):
bioc = "lumi"
- version('2.48.0', commit='1f988ffe04d2c0707b2202d2074d02b679a3204b')
- version('2.46.0', commit='a68932c17a61c99e58ebbd8008d078bec6adb4e7')
- version('2.42.0', commit='a643b3ba46fee951b8566ddd8216af7e6c92f6f6')
- version('2.38.0', commit='321d480d44ce9a0c02ce5af1bddc1f549abdea59')
+ version("2.48.0", commit="1f988ffe04d2c0707b2202d2074d02b679a3204b")
+ version("2.46.0", commit="a68932c17a61c99e58ebbd8008d078bec6adb4e7")
+ version("2.42.0", commit="a643b3ba46fee951b8566ddd8216af7e6c92f6f6")
+ version("2.38.0", commit="321d480d44ce9a0c02ce5af1bddc1f549abdea59")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biobase@2.5.5:', type=('build', 'run'))
- depends_on('r-affy@1.23.4:', type=('build', 'run'))
- depends_on('r-methylumi@2.3.2:', type=('build', 'run'))
- depends_on('r-genomicfeatures', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-mgcv@1.4-0:', type=('build', 'run'))
- depends_on('r-nleqslv', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biobase@2.5.5:", type=("build", "run"))
+ depends_on("r-affy@1.23.4:", type=("build", "run"))
+ depends_on("r-methylumi@2.3.2:", type=("build", "run"))
+ depends_on("r-genomicfeatures", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-mgcv@1.4-0:", type=("build", "run"))
+ depends_on("r-nleqslv", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-lwgeom/package.py b/var/spack/repos/builtin/packages/r-lwgeom/package.py
index 874815681a..5456429583 100644
--- a/var/spack/repos/builtin/packages/r-lwgeom/package.py
+++ b/var/spack/repos/builtin/packages/r-lwgeom/package.py
@@ -15,13 +15,13 @@ class RLwgeom(RPackage):
cran = "lwgeom"
- version('0.2-8', sha256='f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34')
- version('0.2-5', sha256='4a1d93f96c10c2aac173d8186cf7d7bef7febcb3cf066a7f45da32251496d02f')
+ version("0.2-8", sha256="f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34")
+ version("0.2-5", sha256="4a1d93f96c10c2aac173d8186cf7d7bef7febcb3cf066a7f45da32251496d02f")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-units', type=('build', 'run'))
- depends_on('r-sf@0.9-3:', type=('build', 'run'))
- depends_on('geos@3.5.0:')
- depends_on('proj@4.8.0:6.999')
- depends_on('sqlite', when='@0.2-8:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-units", type=("build", "run"))
+ depends_on("r-sf@0.9-3:", type=("build", "run"))
+ depends_on("geos@3.5.0:")
+ depends_on("proj@4.8.0:6.999")
+ depends_on("sqlite", when="@0.2-8:")
diff --git a/var/spack/repos/builtin/packages/r-magic/package.py b/var/spack/repos/builtin/packages/r-magic/package.py
index 1e2369abc2..96172caa08 100644
--- a/var/spack/repos/builtin/packages/r-magic/package.py
+++ b/var/spack/repos/builtin/packages/r-magic/package.py
@@ -22,10 +22,10 @@ class RMagic(RPackage):
cran = "magic"
- version('1.6-0', sha256='4516d48c9618e3f395db873e886f5deb3b66b32ebe10d4c26c1420ac848acbbf')
- version('1.5-9', sha256='fa1d5ef2d39e880f262d31b77006a2a7e76ea38e306aae4356e682b90d6cd56a')
- version('1.5-8', sha256='7f8bc26e05003168e9d2dadf64eb9a34b51bc41beba482208874803dee7d6c20')
- version('1.5-6', sha256='1b6c3f5bef0ddc28c4b68894051df5d9c0d4985d9e6ad81892369d0f7fe0298d')
+ version("1.6-0", sha256="4516d48c9618e3f395db873e886f5deb3b66b32ebe10d4c26c1420ac848acbbf")
+ version("1.5-9", sha256="fa1d5ef2d39e880f262d31b77006a2a7e76ea38e306aae4356e682b90d6cd56a")
+ version("1.5-8", sha256="7f8bc26e05003168e9d2dadf64eb9a34b51bc41beba482208874803dee7d6c20")
+ version("1.5-6", sha256="1b6c3f5bef0ddc28c4b68894051df5d9c0d4985d9e6ad81892369d0f7fe0298d")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-magick/package.py b/var/spack/repos/builtin/packages/r-magick/package.py
index 6945801377..bff0b7ce8c 100644
--- a/var/spack/repos/builtin/packages/r-magick/package.py
+++ b/var/spack/repos/builtin/packages/r-magick/package.py
@@ -22,12 +22,12 @@ class RMagick(RPackage):
cran = "magick"
- version('2.7.3', sha256='83877b2e23ea43fbc1164de9c2422eafbe7858393ac384df5adf3a7eec122441')
- version('2.6.0', sha256='66585336e3ff18793ae9e2726af67a6672622f270468670ab5fe5e013bc48ecc')
- version('2.1', sha256='ef4fb8fc1c5a9cfcc36b22485a0e17d622f61e55803b1e7423fd15f0550de7df')
+ version("2.7.3", sha256="83877b2e23ea43fbc1164de9c2422eafbe7858393ac384df5adf3a7eec122441")
+ version("2.6.0", sha256="66585336e3ff18793ae9e2726af67a6672622f270468670ab5fe5e013bc48ecc")
+ version("2.1", sha256="ef4fb8fc1c5a9cfcc36b22485a0e17d622f61e55803b1e7423fd15f0550de7df")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-rcpp@0.12.12:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('imagemagick')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-rcpp@0.12.12:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("imagemagick")
diff --git a/var/spack/repos/builtin/packages/r-magrittr/package.py b/var/spack/repos/builtin/packages/r-magrittr/package.py
index 5449f959f0..4ba53c711f 100644
--- a/var/spack/repos/builtin/packages/r-magrittr/package.py
+++ b/var/spack/repos/builtin/packages/r-magrittr/package.py
@@ -17,9 +17,9 @@ class RMagrittr(RPackage):
cran = "magrittr"
- version('2.0.3', sha256='a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2')
- version('2.0.2', sha256='7be6fd0d0da75b92d8bad0136076da96260ee84bf639ef632a24668acdc163a6')
- version('2.0.1', sha256='75c265d51cc2b34beb27040edb09823c7b954d3990a7a931e40690b75d4aad5f')
- version('1.5', sha256='05c45943ada9443134caa0ab24db4a962b629f00b755ccf039a2a2a7b2c92ae8')
+ version("2.0.3", sha256="a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2")
+ version("2.0.2", sha256="7be6fd0d0da75b92d8bad0136076da96260ee84bf639ef632a24668acdc163a6")
+ version("2.0.1", sha256="75c265d51cc2b34beb27040edb09823c7b954d3990a7a931e40690b75d4aad5f")
+ version("1.5", sha256="05c45943ada9443134caa0ab24db4a962b629f00b755ccf039a2a2a7b2c92ae8")
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.0.3:')
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.0.3:")
diff --git a/var/spack/repos/builtin/packages/r-makecdfenv/package.py b/var/spack/repos/builtin/packages/r-makecdfenv/package.py
index 9fa7443e4c..92646ec040 100644
--- a/var/spack/repos/builtin/packages/r-makecdfenv/package.py
+++ b/var/spack/repos/builtin/packages/r-makecdfenv/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RMakecdfenv(RPackage):
"""CDF Environment Maker.
- This package has two functions. One reads a Affymetrix chip description
- file (CDF) and creates a hash table environment containing the
- location/probe set membership mapping. The other creates a package that
- automatically loads that environment."""
+ This package has two functions. One reads a Affymetrix chip description
+ file (CDF) and creates a hash table environment containing the
+ location/probe set membership mapping. The other creates a package that
+ automatically loads that environment."""
bioc = "makecdfenv"
- version('1.72.0', commit='85c89688e6b6e8bff46b92cbeba49e38c510492e')
- version('1.70.0', commit='82ecd0fa8ac401e4ac8f1e9139556d2be4a3c4f3')
- version('1.66.0', commit='02aa975d543089f5495cb3b4e8edbcf0ff05148a')
- version('1.60.0', commit='900ece3ecd7a0ade9f8a0374e5a03def4e079cb3')
- version('1.58.0', commit='6f513e39c4920a6da10d22718fc3bf278fe5ffe2')
- version('1.56.0', commit='f6b48e9a9f18598653d05bc0bdffeae7fefbb327')
- version('1.54.0', commit='3ff646ddc4b028e46b1e091ff9c2d17ce77cec26')
- version('1.52.0', commit='b88a3e93e3b7feeeca69eda7c1fc5a0826c81120')
+ version("1.72.0", commit="85c89688e6b6e8bff46b92cbeba49e38c510492e")
+ version("1.70.0", commit="82ecd0fa8ac401e4ac8f1e9139556d2be4a3c4f3")
+ version("1.66.0", commit="02aa975d543089f5495cb3b4e8edbcf0ff05148a")
+ version("1.60.0", commit="900ece3ecd7a0ade9f8a0374e5a03def4e079cb3")
+ version("1.58.0", commit="6f513e39c4920a6da10d22718fc3bf278fe5ffe2")
+ version("1.56.0", commit="f6b48e9a9f18598653d05bc0bdffeae7fefbb327")
+ version("1.54.0", commit="3ff646ddc4b028e46b1e091ff9c2d17ce77cec26")
+ version("1.52.0", commit="b88a3e93e3b7feeeca69eda7c1fc5a0826c81120")
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-affyio', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-affyio", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-maldiquant/package.py b/var/spack/repos/builtin/packages/r-maldiquant/package.py
index ea4481799f..54d7d6e07b 100644
--- a/var/spack/repos/builtin/packages/r-maldiquant/package.py
+++ b/var/spack/repos/builtin/packages/r-maldiquant/package.py
@@ -20,10 +20,10 @@ class RMaldiquant(RPackage):
cran = "MALDIquant"
- version('1.21', sha256='0771f82034aa6a77af67f3572c900987b7e6b578d04d707c6e06689d021a2ff8')
- version('1.19.3', sha256='a730327c1f8d053d29e558636736b7b66d0671a009e0004720b869d2c76ff32c')
- version('1.19.2', sha256='8c6efc4ae4f1af4770b079db29743049f2fd597bcdefeaeb16f623be43ddeb87')
- version('1.16.4', sha256='9b910dbd5dd1a739a17a7ee3f83d7e1ebad2fee89fd01a5b274415d2b6d3b0de')
+ version("1.21", sha256="0771f82034aa6a77af67f3572c900987b7e6b578d04d707c6e06689d021a2ff8")
+ version("1.19.3", sha256="a730327c1f8d053d29e558636736b7b66d0671a009e0004720b869d2c76ff32c")
+ version("1.19.2", sha256="8c6efc4ae4f1af4770b079db29743049f2fd597bcdefeaeb16f623be43ddeb87")
+ version("1.16.4", sha256="9b910dbd5dd1a739a17a7ee3f83d7e1ebad2fee89fd01a5b274415d2b6d3b0de")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.21:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.21:")
diff --git a/var/spack/repos/builtin/packages/r-manipulatewidget/package.py b/var/spack/repos/builtin/packages/r-manipulatewidget/package.py
index 41def139fb..3efeacde2f 100644
--- a/var/spack/repos/builtin/packages/r-manipulatewidget/package.py
+++ b/var/spack/repos/builtin/packages/r-manipulatewidget/package.py
@@ -16,25 +16,25 @@ class RManipulatewidget(RPackage):
cran = "manipulateWidget"
- version('0.11.1', sha256='5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6')
- version('0.10.1', sha256='9d621192121f6b516bc7f1a18305995bfb7838c6683ac701422afc03a50e27ee')
- version('0.10.0', sha256='3d61a3d0cedf5c8a850a3e62ed6af38c600dc3f25b44c4ff07a5093bf9ca4ffd')
- version('0.9.0', sha256='5bf4bdb702263b0e156f40f3354922a06db7db544e497addcd6c98d9860bf3a3')
- version('0.8.0', sha256='e7e6351b1fb8f39b9895e2536fa7c149cbc5d63d7022f67c1b25232cf0706ca7')
- version('0.7.0', sha256='160ce5c68658301e00051c60ac5693701c5bc97b7344bacde0f56be4955231f6')
- version('0.6.0', sha256='90aa1b30647d7034166b8d6c6185503b6855c70253e36a41742a84faa77ce0db')
- version('0.5.1', sha256='5a672c2bd8ba16ec8212cd9fb620072b243e6d18c02dd3ec70bd8c2a1ff1c9c4')
- version('0.5.0', sha256='2599e25f78bb0d748705160e1dfe62a673f5bb388ac5f415f3d649d2511737c8')
- version('0.4.0', sha256='65cc7d28c2b2efc81fda35da019ac6e6058580cf0fdf5e31458cc96386c0c599')
+ version("0.11.1", sha256="5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6")
+ version("0.10.1", sha256="9d621192121f6b516bc7f1a18305995bfb7838c6683ac701422afc03a50e27ee")
+ version("0.10.0", sha256="3d61a3d0cedf5c8a850a3e62ed6af38c600dc3f25b44c4ff07a5093bf9ca4ffd")
+ version("0.9.0", sha256="5bf4bdb702263b0e156f40f3354922a06db7db544e497addcd6c98d9860bf3a3")
+ version("0.8.0", sha256="e7e6351b1fb8f39b9895e2536fa7c149cbc5d63d7022f67c1b25232cf0706ca7")
+ version("0.7.0", sha256="160ce5c68658301e00051c60ac5693701c5bc97b7344bacde0f56be4955231f6")
+ version("0.6.0", sha256="90aa1b30647d7034166b8d6c6185503b6855c70253e36a41742a84faa77ce0db")
+ version("0.5.1", sha256="5a672c2bd8ba16ec8212cd9fb620072b243e6d18c02dd3ec70bd8c2a1ff1c9c4")
+ version("0.5.0", sha256="2599e25f78bb0d748705160e1dfe62a673f5bb388ac5f415f3d649d2511737c8")
+ version("0.4.0", sha256="65cc7d28c2b2efc81fda35da019ac6e6058580cf0fdf5e31458cc96386c0c599")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-shiny@1.0.3:', type=('build', 'run'))
- depends_on('r-miniui', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
- depends_on('r-webshot', type=('build', 'run'))
- depends_on('r-shinyjs', type=('build', 'run'), when='@0.11.1:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-shiny@1.0.3:", type=("build", "run"))
+ depends_on("r-miniui", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
+ depends_on("r-webshot", type=("build", "run"))
+ depends_on("r-shinyjs", type=("build", "run"), when="@0.11.1:")
diff --git a/var/spack/repos/builtin/packages/r-mapplots/package.py b/var/spack/repos/builtin/packages/r-mapplots/package.py
index 6dedf551f9..39333680c9 100644
--- a/var/spack/repos/builtin/packages/r-mapplots/package.py
+++ b/var/spack/repos/builtin/packages/r-mapplots/package.py
@@ -16,6 +16,6 @@ class RMapplots(RPackage):
cran = "mapplots"
- version('1.5.1', sha256='37e96d34f37922180e07bb63b4514e07d42eee5bbf0885b278286ee48cf142a3')
+ version("1.5.1", sha256="37e96d34f37922180e07bb63b4514e07d42eee5bbf0885b278286ee48cf142a3")
- depends_on('r@2.10.0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mapproj/package.py b/var/spack/repos/builtin/packages/r-mapproj/package.py
index b69df8aee4..75fb41e1ca 100644
--- a/var/spack/repos/builtin/packages/r-mapproj/package.py
+++ b/var/spack/repos/builtin/packages/r-mapproj/package.py
@@ -13,11 +13,11 @@ class RMapproj(RPackage):
cran = "mapproj"
- version('1.2.8', sha256='865f108f1ee54cda38571b86cd46063a903824d9b4eabfdf75218023d08a7781')
- version('1.2.7', sha256='f0081281b08bf3cc7052c4f1360d6d3c20d9063be57754448ad9b48ab0d34c5b')
- version('1.2.6', sha256='62a5aa97837ae95ef9f973d95fe45fe43dbbf482dfa922e9df60f3c510e7efe5')
- version('1.2-5', sha256='f3026a3a69a550c923b44c18b1ccc60d98e52670a438250d13f3c74cf2195f66')
- version('1.2-4', sha256='cf8a1535f57e7cca0a71b3a551e77ad3e7a78f61a94bb19effd3de19dbe7dceb')
+ version("1.2.8", sha256="865f108f1ee54cda38571b86cd46063a903824d9b4eabfdf75218023d08a7781")
+ version("1.2.7", sha256="f0081281b08bf3cc7052c4f1360d6d3c20d9063be57754448ad9b48ab0d34c5b")
+ version("1.2.6", sha256="62a5aa97837ae95ef9f973d95fe45fe43dbbf482dfa922e9df60f3c510e7efe5")
+ version("1.2-5", sha256="f3026a3a69a550c923b44c18b1ccc60d98e52670a438250d13f3c74cf2195f66")
+ version("1.2-4", sha256="cf8a1535f57e7cca0a71b3a551e77ad3e7a78f61a94bb19effd3de19dbe7dceb")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-maps@2.3-0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-maps@2.3-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-maps/package.py b/var/spack/repos/builtin/packages/r-maps/package.py
index da8b9a2cf1..ed7c076ec8 100644
--- a/var/spack/repos/builtin/packages/r-maps/package.py
+++ b/var/spack/repos/builtin/packages/r-maps/package.py
@@ -14,10 +14,10 @@ class RMaps(RPackage):
cran = "maps"
- version('3.4.0', sha256='7918ccb2393ca19589d4c4e77d9ebe863dc6317ebfc1ff41869dbfaf439f5747')
- version('3.3.0', sha256='199afe19a4edcef966ae79ef802f5dcc15a022f9c357fcb8cae8925fe8bd2216')
- version('3.2.0', sha256='437abeb4fa4ad4a36af6165d319634b89bfc6bf2b1827ca86c478d56d670e714')
- version('3.1.1', sha256='972260e5ce9519ecc09b18e5d7a28e01bed313fadbccd7b06c571af349cb4d2a')
+ version("3.4.0", sha256="7918ccb2393ca19589d4c4e77d9ebe863dc6317ebfc1ff41869dbfaf439f5747")
+ version("3.3.0", sha256="199afe19a4edcef966ae79ef802f5dcc15a022f9c357fcb8cae8925fe8bd2216")
+ version("3.2.0", sha256="437abeb4fa4ad4a36af6165d319634b89bfc6bf2b1827ca86c478d56d670e714")
+ version("3.1.1", sha256="972260e5ce9519ecc09b18e5d7a28e01bed313fadbccd7b06c571af349cb4d2a")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.4.0:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.4.0:")
diff --git a/var/spack/repos/builtin/packages/r-maptools/package.py b/var/spack/repos/builtin/packages/r-maptools/package.py
index b3be387623..4cf9b97193 100644
--- a/var/spack/repos/builtin/packages/r-maptools/package.py
+++ b/var/spack/repos/builtin/packages/r-maptools/package.py
@@ -17,14 +17,14 @@ class RMaptools(RPackage):
cran = "maptools"
- version('1.1-4', sha256='f3ee25f9787d97c8373dac3651c6a198c932948eb3a6006b8618c91c6344fdc9')
- version('1.1-2', sha256='3995c96e8472cd6717fe3cbd3506358ff460b6c2cf92dbe4b00f75f507514439')
- version('1.0-2', sha256='daac6da5817cf0cff17b9e7d4a7cdc7c329574249bd9b1bafdb6c9431e1fee49')
- version('0.9-5', sha256='5d9511f09fb49d57a51f28495b02239800596a4fcfad7b03ee1074d793657bdd')
- version('0.9-4', sha256='930875f598a516f0f9049fa2fae7391bc9bdf7e3e5db696059ab4ec2fc9ba39c')
- version('0.8-39', sha256='4b81e313e45dbb75e0fbb180b02985d1c34aaa5669e483283b632788e6a67dd2')
+ version("1.1-4", sha256="f3ee25f9787d97c8373dac3651c6a198c932948eb3a6006b8618c91c6344fdc9")
+ version("1.1-2", sha256="3995c96e8472cd6717fe3cbd3506358ff460b6c2cf92dbe4b00f75f507514439")
+ version("1.0-2", sha256="daac6da5817cf0cff17b9e7d4a7cdc7c329574249bd9b1bafdb6c9431e1fee49")
+ version("0.9-5", sha256="5d9511f09fb49d57a51f28495b02239800596a4fcfad7b03ee1074d793657bdd")
+ version("0.9-4", sha256="930875f598a516f0f9049fa2fae7391bc9bdf7e3e5db696059ab4ec2fc9ba39c")
+ version("0.8-39", sha256="4b81e313e45dbb75e0fbb180b02985d1c34aaa5669e483283b632788e6a67dd2")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-sp@1.0-11:', type=('build', 'run'))
- depends_on('r-foreign@0.8:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-sp@1.0-11:", type=("build", "run"))
+ depends_on("r-foreign@0.8:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mapview/package.py b/var/spack/repos/builtin/packages/r-mapview/package.py
index d546fb167b..bb3bbb3b01 100644
--- a/var/spack/repos/builtin/packages/r-mapview/package.py
+++ b/var/spack/repos/builtin/packages/r-mapview/package.py
@@ -16,25 +16,25 @@ class RMapview(RPackage):
cran = "mapview"
- version('2.11.0', sha256='87f8cf562a0918201082a743438b9af47429bdb8871511235d72505107f4d30a')
- version('2.10.0', sha256='b597902c654b9abf1163bb9d4f1044fef85d0a52c8dc6538ca46b0024f63baaa')
- version('2.9.0', sha256='170cb2b5e67cbeb177f87bd2eab1ecabc44a1042addbcd95a85b2ec4a00eb690')
+ version("2.11.0", sha256="87f8cf562a0918201082a743438b9af47429bdb8871511235d72505107f4d30a")
+ version("2.10.0", sha256="b597902c654b9abf1163bb9d4f1044fef85d0a52c8dc6538ca46b0024f63baaa")
+ version("2.9.0", sha256="170cb2b5e67cbeb177f87bd2eab1ecabc44a1042addbcd95a85b2ec4a00eb690")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-leafem', type=('build', 'run'))
- depends_on('r-leaflet@2.0.0:', type=('build', 'run'))
- depends_on('r-leafpop', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-satellite', type=('build', 'run'))
- depends_on('r-scales@0.2.5:', type=('build', 'run'))
- depends_on('r-servr', type=('build', 'run'), when='@2.10.0:')
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-webshot', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-leafem", type=("build", "run"))
+ depends_on("r-leaflet@2.0.0:", type=("build", "run"))
+ depends_on("r-leafpop", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-satellite", type=("build", "run"))
+ depends_on("r-scales@0.2.5:", type=("build", "run"))
+ depends_on("r-servr", type=("build", "run"), when="@2.10.0:")
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-webshot", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-markdown/package.py b/var/spack/repos/builtin/packages/r-markdown/package.py
index f513ac3348..44b12ee2df 100644
--- a/var/spack/repos/builtin/packages/r-markdown/package.py
+++ b/var/spack/repos/builtin/packages/r-markdown/package.py
@@ -17,12 +17,12 @@ class RMarkdown(RPackage):
cran = "markdown"
- version('1.1', sha256='8d8cd47472a37362e615dbb8865c3780d7b7db694d59050e19312f126e5efc1b')
- version('1.0', sha256='172d8072d1829644ee6cdf54282a55718e2cfe9c9915d3589ca5f9a016f8d9a6')
- version('0.9', sha256='3068c6a41ca7a76cbedeb93b7371798f4d8437eea69a23c0ed5204c716d1bf23')
- version('0.8', sha256='538fd912b2220f2df344c6cca58304ce11e0960de7bd7bd573b3385105d48fed')
- version('0.7.7', sha256='0b86c3a4e42bbc425be229f70a4a0efdca0522f48c6ea1bf0285c6b122854102')
+ version("1.1", sha256="8d8cd47472a37362e615dbb8865c3780d7b7db694d59050e19312f126e5efc1b")
+ version("1.0", sha256="172d8072d1829644ee6cdf54282a55718e2cfe9c9915d3589ca5f9a016f8d9a6")
+ version("0.9", sha256="3068c6a41ca7a76cbedeb93b7371798f4d8437eea69a23c0ed5204c716d1bf23")
+ version("0.8", sha256="538fd912b2220f2df344c6cca58304ce11e0960de7bd7bd573b3385105d48fed")
+ version("0.7.7", sha256="0b86c3a4e42bbc425be229f70a4a0efdca0522f48c6ea1bf0285c6b122854102")
- depends_on('r@2.11.1:', type=('build', 'run'))
- depends_on('r-mime@0.3:', type=('build', 'run'))
- depends_on('r-xfun', type=('build', 'run'), when='@1.1:')
+ depends_on("r@2.11.1:", type=("build", "run"))
+ depends_on("r-mime@0.3:", type=("build", "run"))
+ depends_on("r-xfun", type=("build", "run"), when="@1.1:")
diff --git a/var/spack/repos/builtin/packages/r-marray/package.py b/var/spack/repos/builtin/packages/r-marray/package.py
index 05a78e529c..2e4859e3ca 100644
--- a/var/spack/repos/builtin/packages/r-marray/package.py
+++ b/var/spack/repos/builtin/packages/r-marray/package.py
@@ -14,9 +14,9 @@ class RMarray(RPackage):
bioc = "marray"
- version('1.74.0', commit='9130a936fffb7d2d445ff21d04520e78b62625ac')
- version('1.72.0', commit='da35e8b8d2c9ef17e779013a5d252f38a1c66633')
- version('1.68.0', commit='67b3080486abdba7dd19fccd7fb731b0e8b5b3f9')
+ version("1.74.0", commit="9130a936fffb7d2d445ff21d04520e78b62625ac")
+ version("1.72.0", commit="da35e8b8d2c9ef17e779013a5d252f38a1c66633")
+ version("1.68.0", commit="67b3080486abdba7dd19fccd7fb731b0e8b5b3f9")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mass/package.py b/var/spack/repos/builtin/packages/r-mass/package.py
index be1cfd1ce0..0bc8167d55 100644
--- a/var/spack/repos/builtin/packages/r-mass/package.py
+++ b/var/spack/repos/builtin/packages/r-mass/package.py
@@ -14,14 +14,14 @@ class RMass(RPackage):
cran = "MASS"
- version('7.3-57', sha256='bd8b880105bc1aadb2db699086f74bd92a8611287979a24243187f9d80795a8d')
- version('7.3-55', sha256='65299cbc8f3fd5e09cb3535eabcb3faad2308e01d5ba9422145cc04d7d0c31a4')
- version('7.3-54', sha256='b800ccd5b5c2709b1559cf5eab126e4935c4f8826cf7891253432bb6a056e821')
- version('7.3-53', sha256='41824e70ada302a620226c0f17b1b2c880c6d1a3a100b53bd6df8e8c97e64b38')
- version('7.3-51.5', sha256='464c0615cef01820cde2bb8457e81575d6755ae9b3ac99f3bfaaac47d43d15cc')
- version('7.3-51.4', sha256='844270a2541eaed420871dfb61d681aa67ee57126645fb6b144b436c25698eeb')
- version('7.3-51.3', sha256='5b0e0e7704d43a94b08dcc4b3fe600b9723d1b3e446dd393e82d39ddf66608b6')
- version('7.3-47', sha256='ed44cdabe84fff3553122267ade61d5cc68071c435f7645d36c8f2e4e9f9c6bf')
+ version("7.3-57", sha256="bd8b880105bc1aadb2db699086f74bd92a8611287979a24243187f9d80795a8d")
+ version("7.3-55", sha256="65299cbc8f3fd5e09cb3535eabcb3faad2308e01d5ba9422145cc04d7d0c31a4")
+ version("7.3-54", sha256="b800ccd5b5c2709b1559cf5eab126e4935c4f8826cf7891253432bb6a056e821")
+ version("7.3-53", sha256="41824e70ada302a620226c0f17b1b2c880c6d1a3a100b53bd6df8e8c97e64b38")
+ version("7.3-51.5", sha256="464c0615cef01820cde2bb8457e81575d6755ae9b3ac99f3bfaaac47d43d15cc")
+ version("7.3-51.4", sha256="844270a2541eaed420871dfb61d681aa67ee57126645fb6b144b436c25698eeb")
+ version("7.3-51.3", sha256="5b0e0e7704d43a94b08dcc4b3fe600b9723d1b3e446dd393e82d39ddf66608b6")
+ version("7.3-47", sha256="ed44cdabe84fff3553122267ade61d5cc68071c435f7645d36c8f2e4e9f9c6bf")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@7.3-55:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@7.3-55:")
diff --git a/var/spack/repos/builtin/packages/r-mathjaxr/package.py b/var/spack/repos/builtin/packages/r-mathjaxr/package.py
index c7a2e55ce9..a711f215b0 100644
--- a/var/spack/repos/builtin/packages/r-mathjaxr/package.py
+++ b/var/spack/repos/builtin/packages/r-mathjaxr/package.py
@@ -14,6 +14,6 @@ class RMathjaxr(RPackage):
cran = "mathjaxr"
- version('1.6-0', sha256='ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179')
- version('1.4-0', sha256='ba57378236d593a39c5839054adc5473526de0c8f05b7eeb87c99438496ddc67')
- version('1.0-1', sha256='0d3d370c4d0c7c7c6d5541d4e0ae50170b4084ca8a66e8a43bd92c7d1c112148')
+ version("1.6-0", sha256="ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179")
+ version("1.4-0", sha256="ba57378236d593a39c5839054adc5473526de0c8f05b7eeb87c99438496ddc67")
+ version("1.0-1", sha256="0d3d370c4d0c7c7c6d5541d4e0ae50170b4084ca8a66e8a43bd92c7d1c112148")
diff --git a/var/spack/repos/builtin/packages/r-matlab/package.py b/var/spack/repos/builtin/packages/r-matlab/package.py
index aa56956b58..36affa2fb7 100644
--- a/var/spack/repos/builtin/packages/r-matlab/package.py
+++ b/var/spack/repos/builtin/packages/r-matlab/package.py
@@ -13,7 +13,7 @@ class RMatlab(RPackage):
cran = "matlab"
- version('1.0.4', sha256='1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea')
- version('1.0.2', sha256='a23dec736c51ae1864c1a53caac556a2f98e8020138a3b121badb0f5b7984154')
+ version("1.0.4", sha256="1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea")
+ version("1.0.2", sha256="a23dec736c51ae1864c1a53caac556a2f98e8020138a3b121badb0f5b7984154")
- depends_on('r@2.15:', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-matr/package.py b/var/spack/repos/builtin/packages/r-matr/package.py
index a5bc78df37..1756a70ee0 100644
--- a/var/spack/repos/builtin/packages/r-matr/package.py
+++ b/var/spack/repos/builtin/packages/r-matr/package.py
@@ -18,9 +18,9 @@ class RMatr(RPackage):
cran = "matR"
- version('0.9.1', sha256='554aeff37b27d0f17ddeb62b2e1004aa1f29190300e4946b1bec1d7c2bde82e3')
- version('0.9', sha256='5750e6a876cf85fe66038292adefbfcb18e2584fa2e841f39dbe67f3c51b3052')
+ version("0.9.1", sha256="554aeff37b27d0f17ddeb62b2e1004aa1f29190300e4946b1bec1d7c2bde82e3")
+ version("0.9", sha256="5750e6a876cf85fe66038292adefbfcb18e2584fa2e841f39dbe67f3c51b3052")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-mgraster', type=('build', 'run'))
- depends_on('r-biom-utils', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-mgraster", type=("build", "run"))
+ depends_on("r-biom-utils", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-matrix/package.py b/var/spack/repos/builtin/packages/r-matrix/package.py
index f4779a98b7..29ec89da76 100644
--- a/var/spack/repos/builtin/packages/r-matrix/package.py
+++ b/var/spack/repos/builtin/packages/r-matrix/package.py
@@ -16,19 +16,19 @@ class RMatrix(RPackage):
cran = "Matrix"
- version('1.4-1', sha256='42b24f1d1e94482b0ff0ef1292e2df29f69694bdbee47b3d6bfeec46fafb2f7e')
- version('1.4-0', sha256='c2b463702e4051b621f5e2b091a33f883f1caa97703d65f7a52b78caf81206f6')
- version('1.3-4', sha256='ab42179d44545e99bbdf44bb6d04cab051dd2aba552b1f6edd51ed71b55f6c39')
- version('1.3-3', sha256='f77ec8de43ae7bfa19dfdc7e76bfefbb21b3223dbc174423fcde70b44cf36a3b')
- version('1.3-2', sha256='950ba5d91018e711fd2743b3486a50dc47ae9c271389fce587792f0a9aab9531')
- version('1.2-17', sha256='db43e6f0196fd5dfd05a7e88cac193877352c60d771d4ec8772763e645723fcc')
- version('1.2-14', sha256='49a6403547b66675cb44c1afb04bb87130c054510cb2b94971435a826ab41396')
- version('1.2-11', sha256='ba8cd6565612552fe397e909721817b6cc0604a91299d56d118208006888dc0b')
- version('1.2-8', sha256='3cd2a187c45fc18a0766dc148b7f83dbf6f2163c256e887c41cbaa7c9a20dbb7')
- version('1.2-6', sha256='4b49b639b7bf612fa3d1c1b1c68125ec7859c8cdadae0c13f499f24099fd5f20')
+ version("1.4-1", sha256="42b24f1d1e94482b0ff0ef1292e2df29f69694bdbee47b3d6bfeec46fafb2f7e")
+ version("1.4-0", sha256="c2b463702e4051b621f5e2b091a33f883f1caa97703d65f7a52b78caf81206f6")
+ version("1.3-4", sha256="ab42179d44545e99bbdf44bb6d04cab051dd2aba552b1f6edd51ed71b55f6c39")
+ version("1.3-3", sha256="f77ec8de43ae7bfa19dfdc7e76bfefbb21b3223dbc174423fcde70b44cf36a3b")
+ version("1.3-2", sha256="950ba5d91018e711fd2743b3486a50dc47ae9c271389fce587792f0a9aab9531")
+ version("1.2-17", sha256="db43e6f0196fd5dfd05a7e88cac193877352c60d771d4ec8772763e645723fcc")
+ version("1.2-14", sha256="49a6403547b66675cb44c1afb04bb87130c054510cb2b94971435a826ab41396")
+ version("1.2-11", sha256="ba8cd6565612552fe397e909721817b6cc0604a91299d56d118208006888dc0b")
+ version("1.2-8", sha256="3cd2a187c45fc18a0766dc148b7f83dbf6f2163c256e887c41cbaa7c9a20dbb7")
+ version("1.2-6", sha256="4b49b639b7bf612fa3d1c1b1c68125ec7859c8cdadae0c13f499f24099fd5f20")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@1.2.13:')
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.3-2:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.3-3:')
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@1.2.13:")
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.3-2:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.3-3:")
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-matrixgenerics/package.py b/var/spack/repos/builtin/packages/r-matrixgenerics/package.py
index 35a87b57b6..bfada6c30d 100644
--- a/var/spack/repos/builtin/packages/r-matrixgenerics/package.py
+++ b/var/spack/repos/builtin/packages/r-matrixgenerics/package.py
@@ -19,9 +19,9 @@ class RMatrixgenerics(RPackage):
bioc = "MatrixGenerics"
- version('1.8.0', commit='e4cc34d53bcfb9a5914afd79fda31ecd5037a47a')
- version('1.6.0', commit='4588a60e5cc691424c17faa281bdd7d99d83ec34')
- version('1.2.1', commit='abcc9ca0504e0b915cd7933a3169a8e9e5bd2fe9')
+ version("1.8.0", commit="e4cc34d53bcfb9a5914afd79fda31ecd5037a47a")
+ version("1.6.0", commit="4588a60e5cc691424c17faa281bdd7d99d83ec34")
+ version("1.2.1", commit="abcc9ca0504e0b915cd7933a3169a8e9e5bd2fe9")
- depends_on('r-matrixstats@0.57.1:', type=('build', 'run'))
- depends_on('r-matrixstats@0.60.1:', type=('build', 'run'), when='@1.6.0:')
+ depends_on("r-matrixstats@0.57.1:", type=("build", "run"))
+ depends_on("r-matrixstats@0.60.1:", type=("build", "run"), when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/r-matrixmodels/package.py b/var/spack/repos/builtin/packages/r-matrixmodels/package.py
index f569c4da8d..782b7b870d 100644
--- a/var/spack/repos/builtin/packages/r-matrixmodels/package.py
+++ b/var/spack/repos/builtin/packages/r-matrixmodels/package.py
@@ -14,8 +14,8 @@ class RMatrixmodels(RPackage):
cran = "MatrixModels"
- version('0.5-0', sha256='a87faf1a185219f79ea2307e6787d293e1d30bf3af9398e8cfe1e079978946ed')
- version('0.4-1', sha256='fe878e401e697992a480cd146421c3a10fa331f6b37a51bac83b5c1119dcce33')
+ version("0.5-0", sha256="a87faf1a185219f79ea2307e6787d293e1d30bf3af9398e8cfe1e079978946ed")
+ version("0.4-1", sha256="fe878e401e697992a480cd146421c3a10fa331f6b37a51bac83b5c1119dcce33")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-matrix@1.1-5:', type=('build', 'run'))
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-matrix@1.1-5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-matrixstats/package.py b/var/spack/repos/builtin/packages/r-matrixstats/package.py
index 9bfcec8636..ec84217a12 100644
--- a/var/spack/repos/builtin/packages/r-matrixstats/package.py
+++ b/var/spack/repos/builtin/packages/r-matrixstats/package.py
@@ -17,12 +17,12 @@ class RMatrixstats(RPackage):
cran = "matrixStats"
- version('0.62.0', sha256='85e2016b6dd20cbfe32d38a2ef2578ae80e688d9a3590aefd1d2f4bf4bd44eca')
- version('0.61.0', sha256='dbd3c0ec59b1ae62ff9b4c2c90c4687cbd680d1796f6fdd672319458d4d2fd9a')
- version('0.58.0', sha256='8367b4b98cd24b6e40022cb2b11e907aa0bcf5ee5b2f89fefb186f53661f4b49')
- version('0.57.0', sha256='f9681887cd3b121762c83f55f189cae26cb8443efce91fcd212ac714fde9f343')
- version('0.55.0', sha256='16d6bd90eee4cee8df4c15687de0f9b72730c03e56603c2998007d4533e8db19')
- version('0.54.0', sha256='8f0db4e181300a208b9aedbebfdf522a2626e6675d2662656efb8ba71b05a06f')
- version('0.52.2', sha256='39da6aa6b109f89a141dab8913d981abc4fbd3f8be9e206f92e382cc5270d2a5')
+ version("0.62.0", sha256="85e2016b6dd20cbfe32d38a2ef2578ae80e688d9a3590aefd1d2f4bf4bd44eca")
+ version("0.61.0", sha256="dbd3c0ec59b1ae62ff9b4c2c90c4687cbd680d1796f6fdd672319458d4d2fd9a")
+ version("0.58.0", sha256="8367b4b98cd24b6e40022cb2b11e907aa0bcf5ee5b2f89fefb186f53661f4b49")
+ version("0.57.0", sha256="f9681887cd3b121762c83f55f189cae26cb8443efce91fcd212ac714fde9f343")
+ version("0.55.0", sha256="16d6bd90eee4cee8df4c15687de0f9b72730c03e56603c2998007d4533e8db19")
+ version("0.54.0", sha256="8f0db4e181300a208b9aedbebfdf522a2626e6675d2662656efb8ba71b05a06f")
+ version("0.52.2", sha256="39da6aa6b109f89a141dab8913d981abc4fbd3f8be9e206f92e382cc5270d2a5")
- depends_on('r@2.12.0:', type=('build', 'run'))
+ depends_on("r@2.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mclust/package.py b/var/spack/repos/builtin/packages/r-mclust/package.py
index 87faa9d6cc..3a0b41e424 100644
--- a/var/spack/repos/builtin/packages/r-mclust/package.py
+++ b/var/spack/repos/builtin/packages/r-mclust/package.py
@@ -17,11 +17,11 @@ class RMclust(RPackage):
cran = "mclust"
- version('5.4.10', sha256='2a1bbbf3c4a17df08d1ba8bc4d3c6d9c7241ed5fd68b8aabe660115597b60672')
- version('5.4.9', sha256='65f123c6af86cf5eb511c81ae0eafa60da7b2085bfea1a08bdc3116081da9568')
- version('5.4.7', sha256='45f5a666caee5bebd3160922b8655295a25e37f624741f6574365e4ac5a14c23')
- version('5.4.5', sha256='75f2963082669485953e4306ffa93db98335ee6afdc1318b95d605d56cb30a72')
- version('5.4.4', sha256='ccc31b0ad445e121a447b04988e73232a085c506fcc7ebdf11a3e0754aae3e0d')
- version('5.3', sha256='2b1b6d8266ae16b0e96f118df81559f208a568744a7c105af9f9abf1eef6ba40')
+ version("5.4.10", sha256="2a1bbbf3c4a17df08d1ba8bc4d3c6d9c7241ed5fd68b8aabe660115597b60672")
+ version("5.4.9", sha256="65f123c6af86cf5eb511c81ae0eafa60da7b2085bfea1a08bdc3116081da9568")
+ version("5.4.7", sha256="45f5a666caee5bebd3160922b8655295a25e37f624741f6574365e4ac5a14c23")
+ version("5.4.5", sha256="75f2963082669485953e4306ffa93db98335ee6afdc1318b95d605d56cb30a72")
+ version("5.4.4", sha256="ccc31b0ad445e121a447b04988e73232a085c506fcc7ebdf11a3e0754aae3e0d")
+ version("5.3", sha256="2b1b6d8266ae16b0e96f118df81559f208a568744a7c105af9f9abf1eef6ba40")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mcmc/package.py b/var/spack/repos/builtin/packages/r-mcmc/package.py
index 0f70af9fb4..f25ec3a4e4 100644
--- a/var/spack/repos/builtin/packages/r-mcmc/package.py
+++ b/var/spack/repos/builtin/packages/r-mcmc/package.py
@@ -19,6 +19,6 @@ class RMcmc(RPackage):
cran = "mcmc"
- version('0.9-7', sha256='b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260')
+ version("0.9-7", sha256="b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260")
- depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mcmcglmm/package.py b/var/spack/repos/builtin/packages/r-mcmcglmm/package.py
index 80d9d9c350..0670a85caf 100644
--- a/var/spack/repos/builtin/packages/r-mcmcglmm/package.py
+++ b/var/spack/repos/builtin/packages/r-mcmcglmm/package.py
@@ -15,16 +15,16 @@ class RMcmcglmm(RPackage):
cran = "MCMCglmm"
- version('2.33', sha256='b56d72e799f8ed5fa2a05ecc743e5b8051f9cc2de57ad3e6de2dcb1c1715d4fc')
- version('2.32', sha256='a9156e1e0d0f912f2f239476dc8765dc61c480f903381be7ec5db05bd6d3f0b3')
- version('2.30', sha256='714250fe6ebdd1bd3dc284f7fcb92326de1273b0c34d31e71dc825312527e042')
- version('2.29', sha256='13ba7837ea2049e892c04e7ec5c83d5b599a7e4820b9d875f55ec40fc2cc67b4')
- version('2.28', sha256='7d92e6d35638e5e060a590b92c3b1bfc02a11386276a8ab99bceec5d797bfc2a')
- version('2.25', sha256='3072316bf5c66f6db5447cb488395ff019f6c47122813467384474f340643133')
+ version("2.33", sha256="b56d72e799f8ed5fa2a05ecc743e5b8051f9cc2de57ad3e6de2dcb1c1715d4fc")
+ version("2.32", sha256="a9156e1e0d0f912f2f239476dc8765dc61c480f903381be7ec5db05bd6d3f0b3")
+ version("2.30", sha256="714250fe6ebdd1bd3dc284f7fcb92326de1273b0c34d31e71dc825312527e042")
+ version("2.29", sha256="13ba7837ea2049e892c04e7ec5c83d5b599a7e4820b9d875f55ec40fc2cc67b4")
+ version("2.28", sha256="7d92e6d35638e5e060a590b92c3b1bfc02a11386276a8ab99bceec5d797bfc2a")
+ version("2.25", sha256="3072316bf5c66f6db5447cb488395ff019f6c47122813467384474f340643133")
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-corpcor', type=('build', 'run'))
- depends_on('r-tensora', type=('build', 'run'))
- depends_on('r-cubature', type=('build', 'run'))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-corpcor", type=("build", "run"))
+ depends_on("r-tensora", type=("build", "run"))
+ depends_on("r-cubature", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mcmcpack/package.py b/var/spack/repos/builtin/packages/r-mcmcpack/package.py
index e19932ed76..016bf8ea8c 100644
--- a/var/spack/repos/builtin/packages/r-mcmcpack/package.py
+++ b/var/spack/repos/builtin/packages/r-mcmcpack/package.py
@@ -19,16 +19,16 @@ class RMcmcpack(RPackage):
cran = "MCMCpack"
- version('1.6-3', sha256='cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3')
- version('1.6-0', sha256='b5b9493457d11d4dca12f7732bd1b3eb1443852977c8ee78393126f13deaf29b')
- version('1.5-0', sha256='795ffd3d62bf14d3ecb3f5307bd329cd75798cf4b270ff0e768bc71a35de0ace')
+ version("1.6-3", sha256="cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3")
+ version("1.6-0", sha256="b5b9493457d11d4dca12f7732bd1b3eb1443852977c8ee78393126f13deaf29b")
+ version("1.5-0", sha256="795ffd3d62bf14d3ecb3f5307bd329cd75798cf4b270ff0e768bc71a35de0ace")
- depends_on('r@3.6:', type=('build', 'run'))
- depends_on('r-coda@0.11-3:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-mcmc', type=('build', 'run'))
- depends_on('r-quantreg', type=('build', 'run'))
+ depends_on("r@3.6:", type=("build", "run"))
+ depends_on("r-coda@0.11-3:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-mcmc", type=("build", "run"))
+ depends_on("r-quantreg", type=("build", "run"))
- depends_on('r-mass', type=('build', 'run'), when='@:1.6-0')
+ depends_on("r-mass", type=("build", "run"), when="@:1.6-0")
- conflicts('%gcc@:3')
+ conflicts("%gcc@:3")
diff --git a/var/spack/repos/builtin/packages/r-mco/package.py b/var/spack/repos/builtin/packages/r-mco/package.py
index 84da3975e6..32f11fb46d 100644
--- a/var/spack/repos/builtin/packages/r-mco/package.py
+++ b/var/spack/repos/builtin/packages/r-mco/package.py
@@ -15,8 +15,8 @@ class RMco(RPackage):
cran = "mco"
- version('1.15.6', sha256='17ebe279cb9c89b7cd8054ac50d3b657d2b10dadbc584b88da7e79c3a9680582')
- version('1.0-15.1', sha256='3c13ebc8c1f1bfa18f3f95b3998c57fde5259876e92456b6c6d4c59bef07c193')
- version('1.0-15', sha256='a25e3effbb6dcae735fdbd6c0bfc775e9fbbcc00dc00076b69c53fe250627055')
+ version("1.15.6", sha256="17ebe279cb9c89b7cd8054ac50d3b657d2b10dadbc584b88da7e79c3a9680582")
+ version("1.0-15.1", sha256="3c13ebc8c1f1bfa18f3f95b3998c57fde5259876e92456b6c6d4c59bef07c193")
+ version("1.0-15", sha256="a25e3effbb6dcae735fdbd6c0bfc775e9fbbcc00dc00076b69c53fe250627055")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mda/package.py b/var/spack/repos/builtin/packages/r-mda/package.py
index 2821c89dd8..38a6ea83c0 100644
--- a/var/spack/repos/builtin/packages/r-mda/package.py
+++ b/var/spack/repos/builtin/packages/r-mda/package.py
@@ -14,11 +14,11 @@ class RMda(RPackage):
cran = "mda"
- version('0.5-3', sha256='bda6409c17f385fae97da458cc742334e7b47aab8217a975b7551e2e18d38463')
- version('0.5-2', sha256='344f2053215ddf535d1554b4539e9b09067dac878887cc3eb995cef421fc00c3')
- version('0.4-10', sha256='7036bc622a8fea5b2de94fc19e6b64f5f0c27e5d743ae7646e116af08c9de6a5')
- version('0.4-9', sha256='b72456d2fa5b49895644489735d21cf4836d3d597f5e693e6103cce1887ffd85')
+ version("0.5-3", sha256="bda6409c17f385fae97da458cc742334e7b47aab8217a975b7551e2e18d38463")
+ version("0.5-2", sha256="344f2053215ddf535d1554b4539e9b09067dac878887cc3eb995cef421fc00c3")
+ version("0.4-10", sha256="7036bc622a8fea5b2de94fc19e6b64f5f0c27e5d743ae7646e116af08c9de6a5")
+ version("0.4-9", sha256="b72456d2fa5b49895644489735d21cf4836d3d597f5e693e6103cce1887ffd85")
- depends_on('r@1.9.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.5-2:')
- depends_on('r-class', type=('build', 'run'))
+ depends_on("r@1.9.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.5-2:")
+ depends_on("r-class", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-memoise/package.py b/var/spack/repos/builtin/packages/r-memoise/package.py
index dae5fc8ec8..c58fe8cf71 100644
--- a/var/spack/repos/builtin/packages/r-memoise/package.py
+++ b/var/spack/repos/builtin/packages/r-memoise/package.py
@@ -14,11 +14,11 @@ class RMemoise(RPackage):
cran = "memoise"
- version('2.0.1', sha256='f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb')
- version('1.1.0', sha256='b276f9452a26aeb79e12dd7227fcc8712832781a42f92d70e86040da0573980c')
- version('1.0.0', sha256='fd1b6cf12929890db7819f74a44a1dbe3d6f25c8a608a956d827f8be2f6c026b')
+ version("2.0.1", sha256="f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb")
+ version("1.1.0", sha256="b276f9452a26aeb79e12dd7227fcc8712832781a42f92d70e86040da0573980c")
+ version("1.0.0", sha256="fd1b6cf12929890db7819f74a44a1dbe3d6f25c8a608a956d827f8be2f6c026b")
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@2.0.1:')
- depends_on('r-cachem', type=('build', 'run'), when='@2.0.1:')
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@2.0.1:")
+ depends_on("r-cachem", type=("build", "run"), when="@2.0.1:")
- depends_on('r-digest@0.6.3:', type=('build', 'run'), when='@:1.1.0')
+ depends_on("r-digest@0.6.3:", type=("build", "run"), when="@:1.1.0")
diff --git a/var/spack/repos/builtin/packages/r-memuse/package.py b/var/spack/repos/builtin/packages/r-memuse/package.py
index 9dd3e6dd9f..b668ef3bda 100644
--- a/var/spack/repos/builtin/packages/r-memuse/package.py
+++ b/var/spack/repos/builtin/packages/r-memuse/package.py
@@ -16,9 +16,9 @@ class RMemuse(RPackage):
cran = "memuse"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('4.2-1', sha256='f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3')
- version('4.1-0', sha256='58d6d1ca5d6bd481f4ed299eff6a9d5660eb0f8db1abe54c49e144093cba72ad')
+ version("4.2-1", sha256="f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3")
+ version("4.1-0", sha256="58d6d1ca5d6bd481f4ed299eff6a9d5660eb0f8db1abe54c49e144093cba72ad")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mergemaid/package.py b/var/spack/repos/builtin/packages/r-mergemaid/package.py
index 632101d504..24a00ec24a 100644
--- a/var/spack/repos/builtin/packages/r-mergemaid/package.py
+++ b/var/spack/repos/builtin/packages/r-mergemaid/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class RMergemaid(RPackage):
"""Merge Maid.
- The functions in this R extension are intended for cross-study
- comparison of gene expression array data. Required from the user is gene
- expression matrices, their corresponding gene-id vectors and other
- useful information, and they could be 'list','matrix', or
- 'ExpressionSet'. The main function is 'mergeExprs' which transforms the
- input objects into data in the merged format, such that common genes in
- different datasets can be easily found. And the function 'intcor'
- calculate the correlation coefficients. Other functions use the output
- from 'modelOutcome' to graphically display the results and cross-
- validate associations of gene expression data with survival."""
+ The functions in this R extension are intended for cross-study
+ comparison of gene expression array data. Required from the user is gene
+ expression matrices, their corresponding gene-id vectors and other
+ useful information, and they could be 'list','matrix', or
+ 'ExpressionSet'. The main function is 'mergeExprs' which transforms the
+ input objects into data in the merged format, such that common genes in
+ different datasets can be easily found. And the function 'intcor'
+ calculate the correlation coefficients. Other functions use the output
+ from 'modelOutcome' to graphically display the results and cross-
+ validate associations of gene expression data with survival."""
bioc = "MergeMaid"
- version('2.56.0', commit='c510d1d85bb39476e8397b24c4bc127780a17686')
- version('2.54.0', commit='8e79bd2bd06b25138b3c5107681c89d714a3b194')
- version('2.52.0', commit='88a1ddfd9cdbe902ba40fae0f39ee5665ac33a74')
- version('2.50.0', commit='b77d7fcb8ac8cf9ee71303bb193ef1a36a7f6049')
- version('2.48.0', commit='aee89c523fcafff4c166ff3db4fff90df16a1ed4')
+ version("2.56.0", commit="c510d1d85bb39476e8397b24c4bc127780a17686")
+ version("2.54.0", commit="8e79bd2bd06b25138b3c5107681c89d714a3b194")
+ version("2.52.0", commit="88a1ddfd9cdbe902ba40fae0f39ee5665ac33a74")
+ version("2.50.0", commit="b77d7fcb8ac8cf9ee71303bb193ef1a36a7f6049")
+ version("2.48.0", commit="aee89c523fcafff4c166ff3db4fff90df16a1ed4")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-metap/package.py b/var/spack/repos/builtin/packages/r-metap/package.py
index 16f8033bf5..597def2609 100644
--- a/var/spack/repos/builtin/packages/r-metap/package.py
+++ b/var/spack/repos/builtin/packages/r-metap/package.py
@@ -17,16 +17,16 @@ class RMetap(RPackage):
cran = "metap"
- version('1.8', sha256='ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b')
- version('1.7', sha256='d9b511607d0e37de4428549061c5577a4e812b0f55bb7ed887d1b24711f58c42')
- version('1.4', sha256='5fac23d823d0ad4eebc3f97620364e25f7b41f8d0c3579f6c09ec059940b85a5')
- version('1.1', sha256='20120428672d39dc15829c7e66850fc4350a34df290d48cef0b1cc78d13f7b82')
+ version("1.8", sha256="ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b")
+ version("1.7", sha256="d9b511607d0e37de4428549061c5577a4e812b0f55bb7ed887d1b24711f58c42")
+ version("1.4", sha256="5fac23d823d0ad4eebc3f97620364e25f7b41f8d0c3579f6c09ec059940b85a5")
+ version("1.1", sha256="20120428672d39dc15829c7e66850fc4350a34df290d48cef0b1cc78d13f7b82")
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.7:')
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-rdpack', type=('build', 'run'))
- depends_on('r-rdpack@0.7:', type=('build', 'run'), when='@1.4:')
- depends_on('r-tfisher', type=('build', 'run'), when='@1.4:')
- depends_on('r-mutoss', type=('build', 'run'), when='@1.4:')
- depends_on('r-mathjaxr@0.8-3:', type=('build', 'run'), when='@1.4:')
- depends_on('r-qqconf', type=('build', 'run'), when='@1.8:')
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.7:")
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-rdpack", type=("build", "run"))
+ depends_on("r-rdpack@0.7:", type=("build", "run"), when="@1.4:")
+ depends_on("r-tfisher", type=("build", "run"), when="@1.4:")
+ depends_on("r-mutoss", type=("build", "run"), when="@1.4:")
+ depends_on("r-mathjaxr@0.8-3:", type=("build", "run"), when="@1.4:")
+ depends_on("r-qqconf", type=("build", "run"), when="@1.8:")
diff --git a/var/spack/repos/builtin/packages/r-methylumi/package.py b/var/spack/repos/builtin/packages/r-methylumi/package.py
index c0cf02bc69..699023f6c5 100644
--- a/var/spack/repos/builtin/packages/r-methylumi/package.py
+++ b/var/spack/repos/builtin/packages/r-methylumi/package.py
@@ -20,28 +20,28 @@ class RMethylumi(RPackage):
bioc = "methylumi"
- version('2.42.0', commit='73e9c7fe1252c4ca20dc7b4e58decf04bf22d5e0')
- version('2.40.1', commit='211039225ca6fca9af75b8266f656161912ce10f')
- version('2.36.0', commit='5fb0b609f9c9181ac99f902745958774e5489606')
- version('2.32.0', commit='e2a29c1b214c0d43c7325d176f9ce41dcf8e2f9d')
+ version("2.42.0", commit="73e9c7fe1252c4ca20dc7b4e58decf04bf22d5e0")
+ version("2.40.1", commit="211039225ca6fca9af75b8266f656161912ce10f")
+ version("2.36.0", commit="5fb0b609f9c9181ac99f902745958774e5489606")
+ version("2.32.0", commit="e2a29c1b214c0d43c7325d176f9ce41dcf8e2f9d")
- depends_on('r@2.13:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-fdb-infiniummethylation-hg19@2.2.0:', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'), when='@2.36.0:')
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-illuminaio', type=('build', 'run'))
- depends_on('r-genomicfeatures', type=('build', 'run'), when='@2.40.1:')
+ depends_on("r@2.13:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-fdb-infiniummethylation-hg19@2.2.0:", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"), when="@2.36.0:")
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-illuminaio", type=("build", "run"))
+ depends_on("r-genomicfeatures", type=("build", "run"), when="@2.40.1:")
diff --git a/var/spack/repos/builtin/packages/r-mgcv/package.py b/var/spack/repos/builtin/packages/r-mgcv/package.py
index bf39fb2b1f..fe375769ef 100644
--- a/var/spack/repos/builtin/packages/r-mgcv/package.py
+++ b/var/spack/repos/builtin/packages/r-mgcv/package.py
@@ -19,21 +19,21 @@ class RMgcv(RPackage):
cran = "mgcv"
- version('1.8-40', sha256='dbe627266c3b339232e2d4228d5370ba88c86540319e6891d161242efba7e4a5')
- version('1.8-38', sha256='cd12ed5787d6fdcead34e782e48b62b3f9efd523616c906e2da77bd9c142ddbb')
- version('1.8-33', sha256='98cb7bac928e2c9564091a9af31e5d309305c6c5fcf96e8429c08925fe6f2bf4')
- version('1.8-28', sha256='b55ea8227cd5c263c266c3885fa3299aa6bd23b54186517f9299bf38a7bdd3ea')
- version('1.8-27', sha256='c88b99fb518decd7e9cd17a4c267e74f98a78172f056784194b5b127ca0f7d1b')
- version('1.8-22', sha256='d4af7767e097ebde91c61d5ab4c62975dcb6b4ed6f545c09f5276a44ebc585cf')
- version('1.8-21', sha256='b1826e40af816226d230f5b7dad6e7646cfefe840036e50c6433e90a23f9f2ed')
- version('1.8-20', sha256='6540358c6f11341c997f8712a6edb590c8af0b1546e14e92724021a8d49f1375')
- version('1.8-19', sha256='b9a43281fc25fb96de94cf2a7ca48aafa1ca895b279d980398bc3a4f3074996c')
- version('1.8-18', sha256='29ae8ebc76f40cc5cfa775ffece99aea437d9f2f48482c48bd4b31727175df6a')
- version('1.8-17', sha256='8ff3eb28c83ba7c9003005e7fe08028627fb673b9b07c0462b410e45e81042fe')
- version('1.8-16', sha256='9266a0cbd783717fc6130db4e0034e69465d177397687f35daf6a8ccdb0b435e')
- version('1.8-13', sha256='74bc819708ef59da94b777a446ef00d7f14b428eec843533e824017c29cc524b')
+ version("1.8-40", sha256="dbe627266c3b339232e2d4228d5370ba88c86540319e6891d161242efba7e4a5")
+ version("1.8-38", sha256="cd12ed5787d6fdcead34e782e48b62b3f9efd523616c906e2da77bd9c142ddbb")
+ version("1.8-33", sha256="98cb7bac928e2c9564091a9af31e5d309305c6c5fcf96e8429c08925fe6f2bf4")
+ version("1.8-28", sha256="b55ea8227cd5c263c266c3885fa3299aa6bd23b54186517f9299bf38a7bdd3ea")
+ version("1.8-27", sha256="c88b99fb518decd7e9cd17a4c267e74f98a78172f056784194b5b127ca0f7d1b")
+ version("1.8-22", sha256="d4af7767e097ebde91c61d5ab4c62975dcb6b4ed6f545c09f5276a44ebc585cf")
+ version("1.8-21", sha256="b1826e40af816226d230f5b7dad6e7646cfefe840036e50c6433e90a23f9f2ed")
+ version("1.8-20", sha256="6540358c6f11341c997f8712a6edb590c8af0b1546e14e92724021a8d49f1375")
+ version("1.8-19", sha256="b9a43281fc25fb96de94cf2a7ca48aafa1ca895b279d980398bc3a4f3074996c")
+ version("1.8-18", sha256="29ae8ebc76f40cc5cfa775ffece99aea437d9f2f48482c48bd4b31727175df6a")
+ version("1.8-17", sha256="8ff3eb28c83ba7c9003005e7fe08028627fb673b9b07c0462b410e45e81042fe")
+ version("1.8-16", sha256="9266a0cbd783717fc6130db4e0034e69465d177397687f35daf6a8ccdb0b435e")
+ version("1.8-13", sha256="74bc819708ef59da94b777a446ef00d7f14b428eec843533e824017c29cc524b")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.8.34:')
- depends_on('r-nlme@3.1-64:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.8.34:")
+ depends_on("r-nlme@3.1-64:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mgraster/package.py b/var/spack/repos/builtin/packages/r-mgraster/package.py
index 82e936840a..f3d034a612 100644
--- a/var/spack/repos/builtin/packages/r-mgraster/package.py
+++ b/var/spack/repos/builtin/packages/r-mgraster/package.py
@@ -15,6 +15,6 @@ class RMgraster(RPackage):
cran = "MGRASTer"
- version('0.9', sha256='f727b5270ed4bd6dcacaecb49e1ace7eb40827754be9801230db940c4012ae4a')
+ version("0.9", sha256="f727b5270ed4bd6dcacaecb49e1ace7eb40827754be9801230db940c4012ae4a")
- depends_on('r@3:', type=('build', 'run'))
+ depends_on("r@3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mice/package.py b/var/spack/repos/builtin/packages/r-mice/package.py
index 9865ca990c..ac9686fae6 100644
--- a/var/spack/repos/builtin/packages/r-mice/package.py
+++ b/var/spack/repos/builtin/packages/r-mice/package.py
@@ -23,25 +23,25 @@ class RMice(RPackage):
cran = "mice"
- version('3.14.0', sha256='f87bb73d8bfee36c6bf4f15779c59ff6b70c70ca25b1388b4ee236757276d605')
- version('3.12.0', sha256='575d9e650d5fc8cd66c0b5a2f1e659605052b26d61f772fff5eed81b414ef144')
- version('3.6.0', sha256='7bc72bdb631bc9f67d8f76ffb48a7bb275228d861075e20c24c09c736bebec5d')
- version('3.5.0', sha256='4fccecdf9e8d8f9f63558597bfbbf054a873b2d0b0820ceefa7b6911066b9e45')
- version('3.0.0', sha256='98b6bb1c5f8fb099bd0024779da8c865146edb25219cc0c9542a8254152c0add')
-
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-broom', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-generics', type=('build', 'run'), when='@3.12.0:')
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'), when='@3.12.0:')
- depends_on('r-withr', type=('build', 'run'), when='@3.14.0:')
- depends_on('r-cpp11', type=('build', 'run'), when='@3.12.0:')
-
- depends_on('r-mitml', type=('build', 'run'), when='@:3.6.0')
- depends_on('r-nnet', type=('build', 'run'), when='@:3.6.0')
- depends_on('r-rpart', type=('build', 'run'), when='@:3.6.0')
- depends_on('r-survival', type=('build', 'run'), when='@:3.6.0')
- depends_on('r-mass', type=('build', 'run'), when='@:3.6.0')
+ version("3.14.0", sha256="f87bb73d8bfee36c6bf4f15779c59ff6b70c70ca25b1388b4ee236757276d605")
+ version("3.12.0", sha256="575d9e650d5fc8cd66c0b5a2f1e659605052b26d61f772fff5eed81b414ef144")
+ version("3.6.0", sha256="7bc72bdb631bc9f67d8f76ffb48a7bb275228d861075e20c24c09c736bebec5d")
+ version("3.5.0", sha256="4fccecdf9e8d8f9f63558597bfbbf054a873b2d0b0820ceefa7b6911066b9e45")
+ version("3.0.0", sha256="98b6bb1c5f8fb099bd0024779da8c865146edb25219cc0c9542a8254152c0add")
+
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-broom", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-generics", type=("build", "run"), when="@3.12.0:")
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"), when="@3.12.0:")
+ depends_on("r-withr", type=("build", "run"), when="@3.14.0:")
+ depends_on("r-cpp11", type=("build", "run"), when="@3.12.0:")
+
+ depends_on("r-mitml", type=("build", "run"), when="@:3.6.0")
+ depends_on("r-nnet", type=("build", "run"), when="@:3.6.0")
+ depends_on("r-rpart", type=("build", "run"), when="@:3.6.0")
+ depends_on("r-survival", type=("build", "run"), when="@:3.6.0")
+ depends_on("r-mass", type=("build", "run"), when="@:3.6.0")
diff --git a/var/spack/repos/builtin/packages/r-microbenchmark/package.py b/var/spack/repos/builtin/packages/r-microbenchmark/package.py
index ea8e3db077..f8f46b5e96 100644
--- a/var/spack/repos/builtin/packages/r-microbenchmark/package.py
+++ b/var/spack/repos/builtin/packages/r-microbenchmark/package.py
@@ -14,5 +14,5 @@ class RMicrobenchmark(RPackage):
cran = "microbenchmark"
- version('1.4.9', sha256='443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2')
- version('1.4-7', sha256='268f13c6323dd28cc2dff7e991bb78b814a8873b4a73f4a3645f40423da984f6')
+ version("1.4.9", sha256="443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2")
+ version("1.4-7", sha256="268f13c6323dd28cc2dff7e991bb78b814a8873b4a73f4a3645f40423da984f6")
diff --git a/var/spack/repos/builtin/packages/r-mime/package.py b/var/spack/repos/builtin/packages/r-mime/package.py
index ac5949db17..07a0db164b 100644
--- a/var/spack/repos/builtin/packages/r-mime/package.py
+++ b/var/spack/repos/builtin/packages/r-mime/package.py
@@ -14,10 +14,10 @@ class RMime(RPackage):
cran = "mime"
- version('0.12', sha256='a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849')
- version('0.11', sha256='215427a49f0d0b0e3ab38d419c515a35d57e3bc32535805306275d8b33f8eec0')
- version('0.9', sha256='2ccf97d2940a09539dc051c7a9a1aee90ef04b34e9bc6c0b64b4435fb3c2fa80')
- version('0.7', sha256='11083ee44c92569aadbb9baf60a2e079ab7a721c849b74d102694975cc8d778b')
- version('0.6', sha256='4775b605ab0117406bee7953c8af59eea8b35e67d1bd63f4007686a7097fc401')
- version('0.5', sha256='fcc72115afb0eb43237da872754464f37ae9ae097f332ec7984149b5e3a82145')
- version('0.4', sha256='d790c7e38371d03774a7d53f75aed3151835b1aebbb663b0fe828b221e6bac90')
+ version("0.12", sha256="a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849")
+ version("0.11", sha256="215427a49f0d0b0e3ab38d419c515a35d57e3bc32535805306275d8b33f8eec0")
+ version("0.9", sha256="2ccf97d2940a09539dc051c7a9a1aee90ef04b34e9bc6c0b64b4435fb3c2fa80")
+ version("0.7", sha256="11083ee44c92569aadbb9baf60a2e079ab7a721c849b74d102694975cc8d778b")
+ version("0.6", sha256="4775b605ab0117406bee7953c8af59eea8b35e67d1bd63f4007686a7097fc401")
+ version("0.5", sha256="fcc72115afb0eb43237da872754464f37ae9ae097f332ec7984149b5e3a82145")
+ version("0.4", sha256="d790c7e38371d03774a7d53f75aed3151835b1aebbb663b0fe828b221e6bac90")
diff --git a/var/spack/repos/builtin/packages/r-minfi/package.py b/var/spack/repos/builtin/packages/r-minfi/package.py
index 268073e1aa..5caaad94ba 100644
--- a/var/spack/repos/builtin/packages/r-minfi/package.py
+++ b/var/spack/repos/builtin/packages/r-minfi/package.py
@@ -9,52 +9,52 @@ from spack.package import *
class RMinfi(RPackage):
"""Analyze Illumina Infinium DNA methylation arrays.
- Tools to analyze & visualize Illumina Infinium methylation arrays."""
+ Tools to analyze & visualize Illumina Infinium methylation arrays."""
bioc = "minfi"
- version('1.42.0', commit='30fc7059460a9ec0be734fc26e608426ca9f5614')
- version('1.40.0', commit='17fa2b5d6cdbef6cbfb690242bd3f660731431f1')
- version('1.36.0', commit='94301da343226be7cd878c2a6c1bb529564785d6')
- version('1.30.0', commit='a4c28e9388fe3b35e7d21a9669e39250ed6dcbcd')
- version('1.28.4', commit='b5125b2f3e05d37d519eeb6fd44a60efdad388e7')
- version('1.26.2', commit='ebb07b728b2453998d46e4e53d4fbf873e8e81fc')
- version('1.24.0', commit='a4df428588ea86a1c79ddba76132014f0a39644e')
- version('1.22.1', commit='b2faf84bcbb291e32d470a0e029450093527545b')
-
- depends_on('r-biocgenerics@0.15.3:', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-summarizedexperiment@1.1.6:', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-bumphunter@1.1.9:', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-biobase@2.33.2:', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-beanplot', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-nor1mix', type=('build', 'run'))
- depends_on('r-siggenes', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-illuminaio', type=('build', 'run'))
- depends_on('r-illuminaio@0.23.2:', type=('build', 'run'), when='@1.28.4:')
- depends_on('r-delayedmatrixstats', type=('build', 'run'), when='@1.26.2:')
- depends_on('r-delayedmatrixstats@1.3.4:', type=('build', 'run'), when='@1.28.4:')
- depends_on('r-mclust', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-reshape', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-geoquery', type=('build', 'run'))
- depends_on('r-delayedarray@0.5.23:', type=('build', 'run'), when='@1.26.2:')
- depends_on('r-delayedarray@0.7.38:', type=('build', 'run'), when='@1.28.4:')
- depends_on('r-delayedarray@0.9.8:', type=('build', 'run'), when='@1.30.0:')
- depends_on('r-delayedarray@0.15.16:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-hdf5array', type=('build', 'run'), when='@1.26.2:')
- depends_on('r-biocparallel', type=('build', 'run'), when='@1.26.2:')
-
- depends_on('r-matrixstats@0.50.0:', type=('build', 'run'), when='@:1.30.0')
+ version("1.42.0", commit="30fc7059460a9ec0be734fc26e608426ca9f5614")
+ version("1.40.0", commit="17fa2b5d6cdbef6cbfb690242bd3f660731431f1")
+ version("1.36.0", commit="94301da343226be7cd878c2a6c1bb529564785d6")
+ version("1.30.0", commit="a4c28e9388fe3b35e7d21a9669e39250ed6dcbcd")
+ version("1.28.4", commit="b5125b2f3e05d37d519eeb6fd44a60efdad388e7")
+ version("1.26.2", commit="ebb07b728b2453998d46e4e53d4fbf873e8e81fc")
+ version("1.24.0", commit="a4df428588ea86a1c79ddba76132014f0a39644e")
+ version("1.22.1", commit="b2faf84bcbb291e32d470a0e029450093527545b")
+
+ depends_on("r-biocgenerics@0.15.3:", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-summarizedexperiment@1.1.6:", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-bumphunter@1.1.9:", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-biobase@2.33.2:", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-beanplot", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-nor1mix", type=("build", "run"))
+ depends_on("r-siggenes", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-illuminaio", type=("build", "run"))
+ depends_on("r-illuminaio@0.23.2:", type=("build", "run"), when="@1.28.4:")
+ depends_on("r-delayedmatrixstats", type=("build", "run"), when="@1.26.2:")
+ depends_on("r-delayedmatrixstats@1.3.4:", type=("build", "run"), when="@1.28.4:")
+ depends_on("r-mclust", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-reshape", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-geoquery", type=("build", "run"))
+ depends_on("r-delayedarray@0.5.23:", type=("build", "run"), when="@1.26.2:")
+ depends_on("r-delayedarray@0.7.38:", type=("build", "run"), when="@1.28.4:")
+ depends_on("r-delayedarray@0.9.8:", type=("build", "run"), when="@1.30.0:")
+ depends_on("r-delayedarray@0.15.16:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-hdf5array", type=("build", "run"), when="@1.26.2:")
+ depends_on("r-biocparallel", type=("build", "run"), when="@1.26.2:")
+
+ depends_on("r-matrixstats@0.50.0:", type=("build", "run"), when="@:1.30.0")
diff --git a/var/spack/repos/builtin/packages/r-miniui/package.py b/var/spack/repos/builtin/packages/r-miniui/package.py
index fcca7bb369..015bda6096 100644
--- a/var/spack/repos/builtin/packages/r-miniui/package.py
+++ b/var/spack/repos/builtin/packages/r-miniui/package.py
@@ -14,7 +14,7 @@ class RMiniui(RPackage):
cran = "miniUI"
- version('0.1.1.1', sha256='452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0')
+ version("0.1.1.1", sha256="452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0")
- depends_on('r-shiny@0.13:', type=('build', 'run'))
- depends_on('r-htmltools@0.3:', type=('build', 'run'))
+ depends_on("r-shiny@0.13:", type=("build", "run"))
+ depends_on("r-htmltools@0.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-minqa/package.py b/var/spack/repos/builtin/packages/r-minqa/package.py
index 5683943b65..b28b896a45 100644
--- a/var/spack/repos/builtin/packages/r-minqa/package.py
+++ b/var/spack/repos/builtin/packages/r-minqa/package.py
@@ -14,7 +14,7 @@ class RMinqa(RPackage):
cran = "minqa"
- version('1.2.4', sha256='cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c')
+ version("1.2.4", sha256="cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c")
- depends_on('r-rcpp@0.9.10:', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r-rcpp@0.9.10:", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-misc3d/package.py b/var/spack/repos/builtin/packages/r-misc3d/package.py
index e64c5be933..10f88e7685 100644
--- a/var/spack/repos/builtin/packages/r-misc3d/package.py
+++ b/var/spack/repos/builtin/packages/r-misc3d/package.py
@@ -13,8 +13,8 @@ class RMisc3d(RPackage):
cran = "misc3d"
- version('0.9-1', sha256='a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65')
- version('0.9-0', sha256='a1e9291d625bd1312bae5b0e26d48b9362f66a8a0fabbf48891ba1d2432e4e82')
- version('0.8-4', sha256='75de3d2237f67f9e58a36e80a6bbf7e796d43eb46789f2dd1311270007bf5f62')
+ version("0.9-1", sha256="a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65")
+ version("0.9-0", sha256="a1e9291d625bd1312bae5b0e26d48b9362f66a8a0fabbf48891ba1d2432e4e82")
+ version("0.8-4", sha256="75de3d2237f67f9e58a36e80a6bbf7e796d43eb46789f2dd1311270007bf5f62")
- depends_on('r+X', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-missmethyl/package.py b/var/spack/repos/builtin/packages/r-missmethyl/package.py
index 025524f04a..59f285e0fa 100644
--- a/var/spack/repos/builtin/packages/r-missmethyl/package.py
+++ b/var/spack/repos/builtin/packages/r-missmethyl/package.py
@@ -23,28 +23,28 @@ class RMissmethyl(RPackage):
bioc = "missMethyl"
- version('1.30.0', commit='734846653f332f10e557b87aca4cb5d100b62469')
- version('1.28.0', commit='6a36aee28837736291ac630c1da3909f0e9c8d6a')
- version('1.24.0', commit='f6c86048911dc0e302fb593b7d0623f6e77ac332')
+ version("1.30.0", commit="734846653f332f10e557b87aca4cb5d100b62469")
+ version("1.28.0", commit="6a36aee28837736291ac630c1da3909f0e9c8d6a")
+ version("1.24.0", commit="f6c86048911dc0e302fb593b7d0623f6e77ac332")
- depends_on('r@3.6.0:', type=('build', 'run'))
- depends_on('r-illuminahumanmethylation450kanno-ilmn12-hg19', type=('build', 'run'))
- depends_on('r-illuminahumanmethylationepicanno-ilm10b4-hg19', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-biasedurn', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-illuminahumanmethylation450kmanifest', type=('build', 'run'))
- depends_on('r-illuminahumanmethylationepicmanifest', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-methylumi', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
- depends_on('r-org-hs-eg-db', type=('build', 'run'))
- depends_on('r-ruv', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-statmod', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
+ depends_on("r@3.6.0:", type=("build", "run"))
+ depends_on("r-illuminahumanmethylation450kanno-ilmn12-hg19", type=("build", "run"))
+ depends_on("r-illuminahumanmethylationepicanno-ilm10b4-hg19", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-biasedurn", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-illuminahumanmethylation450kmanifest", type=("build", "run"))
+ depends_on("r-illuminahumanmethylationepicmanifest", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-methylumi", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
+ depends_on("r-org-hs-eg-db", type=("build", "run"))
+ depends_on("r-ruv", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-statmod", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mitml/package.py b/var/spack/repos/builtin/packages/r-mitml/package.py
index 61585aa9d7..25216210f0 100644
--- a/var/spack/repos/builtin/packages/r-mitml/package.py
+++ b/var/spack/repos/builtin/packages/r-mitml/package.py
@@ -16,11 +16,11 @@ class RMitml(RPackage):
cran = "mitml"
- version('0.4-3', sha256='49bd3eb68a60fb2a269e7ddca8b862e1e81e0651e2b29759482fb7bcad452102')
- version('0.3-7', sha256='c6f796d0059f1b093b599a89d955982fa257de9c45763ecc2cbbce10fdec1e7b')
- version('0.3-6', sha256='bc59bdc802eb882340393752535446560c716f12c6fca2b95f03c6af30d978de')
- version('0.3-5', sha256='8bcfeb18f3fb8a58a516348c37369eb8356af4bd3e0688c84a2366e1534608e9')
+ version("0.4-3", sha256="49bd3eb68a60fb2a269e7ddca8b862e1e81e0651e2b29759482fb7bcad452102")
+ version("0.3-7", sha256="c6f796d0059f1b093b599a89d955982fa257de9c45763ecc2cbbce10fdec1e7b")
+ version("0.3-6", sha256="bc59bdc802eb882340393752535446560c716f12c6fca2b95f03c6af30d978de")
+ version("0.3-5", sha256="8bcfeb18f3fb8a58a516348c37369eb8356af4bd3e0688c84a2366e1534608e9")
- depends_on('r-pan', type=('build', 'run'))
- depends_on('r-jomo', type=('build', 'run'))
- depends_on('r-haven', type=('build', 'run'))
+ depends_on("r-pan", type=("build", "run"))
+ depends_on("r-jomo", type=("build", "run"))
+ depends_on("r-haven", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mitools/package.py b/var/spack/repos/builtin/packages/r-mitools/package.py
index 51c5e7e1a6..d90eb906a7 100644
--- a/var/spack/repos/builtin/packages/r-mitools/package.py
+++ b/var/spack/repos/builtin/packages/r-mitools/package.py
@@ -14,6 +14,6 @@ class RMitools(RPackage):
cran = "mitools"
- version('2.4', sha256='f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30')
+ version("2.4", sha256="f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30")
- depends_on('r-dbi', type=('build', 'run'))
+ depends_on("r-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mixtools/package.py b/var/spack/repos/builtin/packages/r-mixtools/package.py
index 90ca087b00..35be2973d2 100644
--- a/var/spack/repos/builtin/packages/r-mixtools/package.py
+++ b/var/spack/repos/builtin/packages/r-mixtools/package.py
@@ -25,13 +25,13 @@ class RMixtools(RPackage):
cran = "mixtools"
- version('1.2.0', sha256='ef033ef13625209065d26767bf70d129972e6808927f755629f1d70a118b9023')
- version('1.1.0', sha256='543fd8d8dc8d4b6079ebf491cf97f27d6225e1a6e65d8fd48553ada23ba88d8f')
- version('1.0.4', sha256='62f4b0a17ce520c4f8ed50ab44f120e459143b461a9e420cd39056ee4fc8798c')
+ version("1.2.0", sha256="ef033ef13625209065d26767bf70d129972e6808927f755629f1d70a118b9023")
+ version("1.1.0", sha256="543fd8d8dc8d4b6079ebf491cf97f27d6225e1a6e65d8fd48553ada23ba88d8f")
+ version("1.0.4", sha256="62f4b0a17ce520c4f8ed50ab44f120e459143b461a9e420cd39056ee4fc8798c")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-kernlab', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-segmented', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-kernlab", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-segmented", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mlbench/package.py b/var/spack/repos/builtin/packages/r-mlbench/package.py
index 84480a917c..3bc2ef6a6d 100644
--- a/var/spack/repos/builtin/packages/r-mlbench/package.py
+++ b/var/spack/repos/builtin/packages/r-mlbench/package.py
@@ -14,7 +14,7 @@ class RMlbench(RPackage):
cran = "mlbench"
- version('2.1-3', sha256='b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194')
- version('2.1-1', sha256='748141d56531a39dc4d37cf0a5165a40b653a04c507e916854053ed77119e0e6')
+ version("2.1-3", sha256="b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194")
+ version("2.1-1", sha256="748141d56531a39dc4d37cf0a5165a40b653a04c507e916854053ed77119e0e6")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mlinterfaces/package.py b/var/spack/repos/builtin/packages/r-mlinterfaces/package.py
index cb903d0cb6..c253097489 100644
--- a/var/spack/repos/builtin/packages/r-mlinterfaces/package.py
+++ b/var/spack/repos/builtin/packages/r-mlinterfaces/package.py
@@ -8,43 +8,43 @@ from spack.package import *
class RMlinterfaces(RPackage):
"""Uniform interfaces to R machine learning procedures for data in
- Bioconductor containers.
+ Bioconductor containers.
- This package provides uniform interfaces to machine learning code for
- data in R and Bioconductor containers."""
+ This package provides uniform interfaces to machine learning code for
+ data in R and Bioconductor containers."""
bioc = "MLInterfaces"
- version('1.76.0', commit='935323d8ce1e4bbf41844a1f9b6c946c5a30c673')
- version('1.74.0', commit='5ee73b6491b1d68d7b49ddce6483df98ad880946')
- version('1.70.0', commit='7b076c3e85314dd5fd5bd8a98e8123d08d9acd3b')
- version('1.64.1', commit='0b081112d87771248bc33b3b82d5ca4685f986a1')
- version('1.62.1', commit='6cf59a90b14779cf57a0b36f1087304082ae50fe')
- version('1.60.1', commit='019e9ed44923e5d845a4800246aa044ddd59d548')
- version('1.58.1', commit='4e2b5efa019fcb677dc82a58a1668c8a00cdfe07')
- version('1.56.0', commit='31fe6fb20d859fcb01d5552f42bca6bab16cc67f')
-
- depends_on('r@2.9:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@1.60.1:')
- depends_on('r-rcpp', type=('build', 'run'), when='@1.70.0:')
- depends_on('r-biocgenerics@0.13.11:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-gdata', type=('build', 'run'))
- depends_on('r-pls', type=('build', 'run'))
- depends_on('r-sfsmisc', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-fpc', type=('build', 'run'))
- depends_on('r-ggvis', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'))
- depends_on('r-gbm', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-hwriter', type=('build', 'run'))
- depends_on('r-threejs@0.2.2:', type=('build', 'run'))
- depends_on('r-mlbench', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'), when='@1.74.0:')
-
- depends_on('r-rda', type=('build', 'run'), when='@:1.64.1')
+ version("1.76.0", commit="935323d8ce1e4bbf41844a1f9b6c946c5a30c673")
+ version("1.74.0", commit="5ee73b6491b1d68d7b49ddce6483df98ad880946")
+ version("1.70.0", commit="7b076c3e85314dd5fd5bd8a98e8123d08d9acd3b")
+ version("1.64.1", commit="0b081112d87771248bc33b3b82d5ca4685f986a1")
+ version("1.62.1", commit="6cf59a90b14779cf57a0b36f1087304082ae50fe")
+ version("1.60.1", commit="019e9ed44923e5d845a4800246aa044ddd59d548")
+ version("1.58.1", commit="4e2b5efa019fcb677dc82a58a1668c8a00cdfe07")
+ version("1.56.0", commit="31fe6fb20d859fcb01d5552f42bca6bab16cc67f")
+
+ depends_on("r@2.9:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@1.60.1:")
+ depends_on("r-rcpp", type=("build", "run"), when="@1.70.0:")
+ depends_on("r-biocgenerics@0.13.11:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-gdata", type=("build", "run"))
+ depends_on("r-pls", type=("build", "run"))
+ depends_on("r-sfsmisc", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-fpc", type=("build", "run"))
+ depends_on("r-ggvis", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"))
+ depends_on("r-gbm", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-hwriter", type=("build", "run"))
+ depends_on("r-threejs@0.2.2:", type=("build", "run"))
+ depends_on("r-mlbench", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"), when="@1.74.0:")
+
+ depends_on("r-rda", type=("build", "run"), when="@:1.64.1")
diff --git a/var/spack/repos/builtin/packages/r-mlr/package.py b/var/spack/repos/builtin/packages/r-mlr/package.py
index 8a30518026..af17c792e2 100644
--- a/var/spack/repos/builtin/packages/r-mlr/package.py
+++ b/var/spack/repos/builtin/packages/r-mlr/package.py
@@ -22,28 +22,28 @@ class RMlr(RPackage):
cran = "mlr"
- version('2.19.0', sha256='1149c9b453896481c85906045aa82d511d96979ddecbe5a3faf04f9f4a5e6113')
- version('2.18.0', sha256='c2fe74e90ed32e5f4cbb0c09a1742051688d87db2f12dd408ddad0f5afc7f8d3')
- version('2.15.0', sha256='a3c2c2bd65a87d90b5e5e877b1ef8e7712e76b4eb1660d3f69672a1860ca5324')
- version('2.14.0', sha256='1f72184400678386c7c44297c4c92a448b50148de700df5ba0438d4e486e944a')
- version('2.13', sha256='e8729be7acddc1ea124c44f9493a8b903c5f54b97e09c714366553aed733011d')
- version('2.12.1', sha256='9cbb98b82eb493b783fe8808a18d76f32881d941364466ef8829b852fabbc82c')
- version('2.12', sha256='cfe00089ae4cd88c6d03826eda43d4fe29e467e3a7c95d103fafca8308f5c161')
+ version("2.19.0", sha256="1149c9b453896481c85906045aa82d511d96979ddecbe5a3faf04f9f4a5e6113")
+ version("2.18.0", sha256="c2fe74e90ed32e5f4cbb0c09a1742051688d87db2f12dd408ddad0f5afc7f8d3")
+ version("2.15.0", sha256="a3c2c2bd65a87d90b5e5e877b1ef8e7712e76b4eb1660d3f69672a1860ca5324")
+ version("2.14.0", sha256="1f72184400678386c7c44297c4c92a448b50148de700df5ba0438d4e486e944a")
+ version("2.13", sha256="e8729be7acddc1ea124c44f9493a8b903c5f54b97e09c714366553aed733011d")
+ version("2.12.1", sha256="9cbb98b82eb493b783fe8808a18d76f32881d941364466ef8829b852fabbc82c")
+ version("2.12", sha256="cfe00089ae4cd88c6d03826eda43d4fe29e467e3a7c95d103fafca8308f5c161")
# There are some potential variants for this.
# SystemRequirements: gdal (optional), geos (optional), proj (optional),
# udunits (optional), gsl (optional), gmp (optional), glu (optional), jags
# (optional)
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-paramhelpers@1.10:', type=('build', 'run'))
- depends_on('r-backports@1.1.0:', type=('build', 'run'))
- depends_on('r-bbmisc@1.11:', type=('build', 'run'))
- depends_on('r-checkmate@1.8.2:', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-data-table@1.12.4:', type=('build', 'run'), when='@2.18.0:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-parallelmap@1.3:', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-paramhelpers@1.10:", type=("build", "run"))
+ depends_on("r-backports@1.1.0:", type=("build", "run"))
+ depends_on("r-bbmisc@1.11:", type=("build", "run"))
+ depends_on("r-checkmate@1.8.2:", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-data-table@1.12.4:", type=("build", "run"), when="@2.18.0:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-parallelmap@1.3:", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mlrmbo/package.py b/var/spack/repos/builtin/packages/r-mlrmbo/package.py
index 24d3a39fdc..591f66c523 100644
--- a/var/spack/repos/builtin/packages/r-mlrmbo/package.py
+++ b/var/spack/repos/builtin/packages/r-mlrmbo/package.py
@@ -25,18 +25,18 @@ class RMlrmbo(RPackage):
cran = "mlrMBO"
- version('1.1.5', sha256='7ab9d108ad06f6c5c480fa4beca69e09ac89bb162ae6c85fe7d6d25c41f359b8')
- version('1.1.2', sha256='8e84caaa5d5d443d7019128f88ebb212fb095870b3a128697c9b64fe988f3efe')
- version('1.1.1', sha256='e87d9912a9b4a968364584205b8ef6f7fea0b5aa043c8d31331a7b7be02dd7e4')
- version('1.1.0', sha256='6ae82731a566333f06085ea2ce23ff2a1007029db46eea57d06194850350a8a0')
+ version("1.1.5", sha256="7ab9d108ad06f6c5c480fa4beca69e09ac89bb162ae6c85fe7d6d25c41f359b8")
+ version("1.1.2", sha256="8e84caaa5d5d443d7019128f88ebb212fb095870b3a128697c9b64fe988f3efe")
+ version("1.1.1", sha256="e87d9912a9b4a968364584205b8ef6f7fea0b5aa043c8d31331a7b7be02dd7e4")
+ version("1.1.0", sha256="6ae82731a566333f06085ea2ce23ff2a1007029db46eea57d06194850350a8a0")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-mlr@2.10:', type=('build', 'run'))
- depends_on('r-paramhelpers@1.10:', type=('build', 'run'))
- depends_on('r-smoof@1.5.1:', type=('build', 'run'))
- depends_on('r-backports@1.1.0:', type=('build', 'run'))
- depends_on('r-bbmisc@1.11:', type=('build', 'run'))
- depends_on('r-checkmate@1.8.2:', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-lhs', type=('build', 'run'))
- depends_on('r-parallelmap@1.3:', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-mlr@2.10:", type=("build", "run"))
+ depends_on("r-paramhelpers@1.10:", type=("build", "run"))
+ depends_on("r-smoof@1.5.1:", type=("build", "run"))
+ depends_on("r-backports@1.1.0:", type=("build", "run"))
+ depends_on("r-bbmisc@1.11:", type=("build", "run"))
+ depends_on("r-checkmate@1.8.2:", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-lhs", type=("build", "run"))
+ depends_on("r-parallelmap@1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mmwrweek/package.py b/var/spack/repos/builtin/packages/r-mmwrweek/package.py
index 3db657df15..170b1adbb3 100644
--- a/var/spack/repos/builtin/packages/r-mmwrweek/package.py
+++ b/var/spack/repos/builtin/packages/r-mmwrweek/package.py
@@ -17,5 +17,5 @@ class RMmwrweek(RPackage):
cran = "MMWRweek"
- version('0.1.3', sha256='1aa8b687dc3340c3f277689eb0ca529e0064a4a3a66868137f2f8ab209d133d0')
- version('0.1.1', sha256='969fd18535f3b78dd360d62d29d5f15409fc059f4af5d345abfde711e4adbc99')
+ version("0.1.3", sha256="1aa8b687dc3340c3f277689eb0ca529e0064a4a3a66868137f2f8ab209d133d0")
+ version("0.1.1", sha256="969fd18535f3b78dd360d62d29d5f15409fc059f4af5d345abfde711e4adbc99")
diff --git a/var/spack/repos/builtin/packages/r-mnormt/package.py b/var/spack/repos/builtin/packages/r-mnormt/package.py
index ec4a41b43d..17390fb465 100644
--- a/var/spack/repos/builtin/packages/r-mnormt/package.py
+++ b/var/spack/repos/builtin/packages/r-mnormt/package.py
@@ -18,8 +18,8 @@ class RMnormt(RPackage):
cran = "mnormt"
- version('2.0.2', sha256='5c6aa036d3f1035ffe8f9a8e95bb908b191b126b016591cf893c50472851f334')
- version('1.5-5', sha256='ff78d5f935278935f1814a69e5a913d93d6dd2ac1b5681ba86b30c6773ef64ac')
+ version("2.0.2", sha256="5c6aa036d3f1035ffe8f9a8e95bb908b191b126b016591cf893c50472851f334")
+ version("1.5-5", sha256="ff78d5f935278935f1814a69e5a913d93d6dd2ac1b5681ba86b30c6773ef64ac")
- depends_on('r@2.2.0:', type=('build', 'run'))
- depends_on('r-tmvnsim@1.0-2:', type=('build', 'run'), when='@2.0.2:')
+ depends_on("r@2.2.0:", type=("build", "run"))
+ depends_on("r-tmvnsim@1.0-2:", type=("build", "run"), when="@2.0.2:")
diff --git a/var/spack/repos/builtin/packages/r-mockery/package.py b/var/spack/repos/builtin/packages/r-mockery/package.py
index c016e62466..8e647be336 100644
--- a/var/spack/repos/builtin/packages/r-mockery/package.py
+++ b/var/spack/repos/builtin/packages/r-mockery/package.py
@@ -17,10 +17,10 @@ class RMockery(RPackage):
cran = "mockery"
- version('0.4.3', sha256='9fc9f1565c51e51b33634e9fc5328211559a561f095bc4d0fa8bd8b7533d476a')
- version('0.4.2', sha256='988e249c366ee7faf277de004084cf5ca24b5c8a8c6e3842f1b1362ce2f7ea9b')
- version('0.4.1', sha256='959d83f8b21e9a89c06c73f310356790c2d63d5ba39b2b60c6777a4eb33909c1')
- version('0.4.0', sha256='cecbd865b67d8d29b47d6c931e386189625d5885328a2931a65ade3ff9bc8e7b')
- version('0.3.0', sha256='6d23461ce6ffdc707ac2fcef58c5942587fab4b2a794a3085ac858fe1beeaff9')
+ version("0.4.3", sha256="9fc9f1565c51e51b33634e9fc5328211559a561f095bc4d0fa8bd8b7533d476a")
+ version("0.4.2", sha256="988e249c366ee7faf277de004084cf5ca24b5c8a8c6e3842f1b1362ce2f7ea9b")
+ version("0.4.1", sha256="959d83f8b21e9a89c06c73f310356790c2d63d5ba39b2b60c6777a4eb33909c1")
+ version("0.4.0", sha256="cecbd865b67d8d29b47d6c931e386189625d5885328a2931a65ade3ff9bc8e7b")
+ version("0.3.0", sha256="6d23461ce6ffdc707ac2fcef58c5942587fab4b2a794a3085ac858fe1beeaff9")
- depends_on('r-testthat', type=('build', 'run'))
+ depends_on("r-testthat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-modelmetrics/package.py b/var/spack/repos/builtin/packages/r-modelmetrics/package.py
index e58d273d14..2e780b6c54 100644
--- a/var/spack/repos/builtin/packages/r-modelmetrics/package.py
+++ b/var/spack/repos/builtin/packages/r-modelmetrics/package.py
@@ -15,11 +15,11 @@ class RModelmetrics(RPackage):
cran = "ModelMetrics"
- version('1.2.2.2', sha256='5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457')
- version('1.2.2', sha256='66d6fc75658287fdbae4d437b51d26781e138b8baa558345fb9e5a2df86a0d95')
- version('1.2.0', sha256='3021ae88733695a35d66e279e8e61861431f14c9916a341f0a562f675cf6ede9')
- version('1.1.0', sha256='487d53fda57da4b29f83a927dda8b1ae6655ab044ee3eec33c38aeb27eed3d85')
+ version("1.2.2.2", sha256="5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457")
+ version("1.2.2", sha256="66d6fc75658287fdbae4d437b51d26781e138b8baa558345fb9e5a2df86a0d95")
+ version("1.2.0", sha256="3021ae88733695a35d66e279e8e61861431f14c9916a341f0a562f675cf6ede9")
+ version("1.1.0", sha256="487d53fda57da4b29f83a927dda8b1ae6655ab044ee3eec33c38aeb27eed3d85")
- depends_on('r@3.2.2:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'), when='@1.2.0:')
+ depends_on("r@3.2.2:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"), when="@1.2.0:")
diff --git a/var/spack/repos/builtin/packages/r-modelr/package.py b/var/spack/repos/builtin/packages/r-modelr/package.py
index fe96e2cd7d..6a89164e2b 100644
--- a/var/spack/repos/builtin/packages/r-modelr/package.py
+++ b/var/spack/repos/builtin/packages/r-modelr/package.py
@@ -14,22 +14,22 @@ class RModelr(RPackage):
cran = "modelr"
- version('0.1.8', sha256='825ba77d95d60cfb94920bec910872ca2ffe7790a44148b2992be2759cb361c4')
- version('0.1.5', sha256='45bbee387c6ba154f9f8642e9f03ea333cce0863c324ff15d23096f33f85ce5a')
- version('0.1.4', sha256='b4da77c1244bbda512ce323751c8338741eeaa195283f172a0feec2917bcfdd9')
- version('0.1.3', sha256='e536b247c17d6cacf10565dd8a1b744efc90a8815c70edd54371e413e6d1b423')
- version('0.1.1', sha256='25b95198d6aa23e28a0bd97dcdc78264ef168ae403928bff01e1ee81ca021ce7')
-
- depends_on('r@3.1:', type=('build', 'run'), when='@:0.1.4')
- depends_on('r@3.2:', type=('build', 'run'), when='@0.1.5:')
- depends_on('r-broom', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr@0.2.2:', type=('build', 'run'))
- depends_on('r-rlang@0.2.0:', type=('build', 'run'), when='@0.1.3:')
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidyr@0.8.0:', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'), when='@0.1.8:')
- depends_on('r-vctrs', type=('build', 'run'), when='@0.1.8:')
-
- depends_on('r-lazyeval@0.2.0:', type=('build', 'run'), when='@:0.1.1')
- depends_on('r-dplyr', type=('build', 'run'), when='@:0.1.5')
+ version("0.1.8", sha256="825ba77d95d60cfb94920bec910872ca2ffe7790a44148b2992be2759cb361c4")
+ version("0.1.5", sha256="45bbee387c6ba154f9f8642e9f03ea333cce0863c324ff15d23096f33f85ce5a")
+ version("0.1.4", sha256="b4da77c1244bbda512ce323751c8338741eeaa195283f172a0feec2917bcfdd9")
+ version("0.1.3", sha256="e536b247c17d6cacf10565dd8a1b744efc90a8815c70edd54371e413e6d1b423")
+ version("0.1.1", sha256="25b95198d6aa23e28a0bd97dcdc78264ef168ae403928bff01e1ee81ca021ce7")
+
+ depends_on("r@3.1:", type=("build", "run"), when="@:0.1.4")
+ depends_on("r@3.2:", type=("build", "run"), when="@0.1.5:")
+ depends_on("r-broom", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr@0.2.2:", type=("build", "run"))
+ depends_on("r-rlang@0.2.0:", type=("build", "run"), when="@0.1.3:")
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidyr@0.8.0:", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"), when="@0.1.8:")
+ depends_on("r-vctrs", type=("build", "run"), when="@0.1.8:")
+
+ depends_on("r-lazyeval@0.2.0:", type=("build", "run"), when="@:0.1.1")
+ depends_on("r-dplyr", type=("build", "run"), when="@:0.1.5")
diff --git a/var/spack/repos/builtin/packages/r-modeltools/package.py b/var/spack/repos/builtin/packages/r-modeltools/package.py
index 569a6a9e55..87de4af1fe 100644
--- a/var/spack/repos/builtin/packages/r-modeltools/package.py
+++ b/var/spack/repos/builtin/packages/r-modeltools/package.py
@@ -18,6 +18,6 @@ class RModeltools(RPackage):
cran = "modeltools"
- version('0.2-23', sha256='6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef')
- version('0.2-22', sha256='256a088fc80b0d9182f984f9bd3d6207fb7c1e743f72e2ecb480e6c1d4ac34e9')
- version('0.2-21', sha256='07b331475625674ab00e6ddfc479cbdbf0b22d5d237e8c25d83ddf3e0ad1cd7a')
+ version("0.2-23", sha256="6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef")
+ version("0.2-22", sha256="256a088fc80b0d9182f984f9bd3d6207fb7c1e743f72e2ecb480e6c1d4ac34e9")
+ version("0.2-21", sha256="07b331475625674ab00e6ddfc479cbdbf0b22d5d237e8c25d83ddf3e0ad1cd7a")
diff --git a/var/spack/repos/builtin/packages/r-mpm/package.py b/var/spack/repos/builtin/packages/r-mpm/package.py
index 343d056929..d267933025 100644
--- a/var/spack/repos/builtin/packages/r-mpm/package.py
+++ b/var/spack/repos/builtin/packages/r-mpm/package.py
@@ -15,9 +15,9 @@ class RMpm(RPackage):
cran = "mpm"
- version('1.0-23', sha256='d2abda28246842b187b796a730c6e0590182960fda3bbf16ce4a1d5e5b13fbca')
- version('1.0-22', sha256='d3ba4053cd57a189cb65c5fa20e6a4152374aead8c985254cb6e550e36e23272')
+ version("1.0-23", sha256="d2abda28246842b187b796a730c6e0590182960fda3bbf16ce4a1d5e5b13fbca")
+ version("1.0-22", sha256="d3ba4053cd57a189cb65c5fa20e6a4152374aead8c985254cb6e550e36e23272")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mscoreutils/package.py b/var/spack/repos/builtin/packages/r-mscoreutils/package.py
index b91d59dd61..552f57c8cf 100644
--- a/var/spack/repos/builtin/packages/r-mscoreutils/package.py
+++ b/var/spack/repos/builtin/packages/r-mscoreutils/package.py
@@ -19,11 +19,11 @@ class RMscoreutils(RPackage):
bioc = "MsCoreUtils"
- version('1.8.0', commit='8b7e2c31009276aad0b418ba5cdfc94d03e1973e')
- version('1.6.0', commit='9ed95b2d20dacaa83567fadd04349c81db9127ef')
+ version("1.8.0", commit="8b7e2c31009276aad0b418ba5cdfc94d03e1973e")
+ version("1.6.0", commit="9ed95b2d20dacaa83567fadd04349c81db9127ef")
- depends_on('r@3.6.0:', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-clue', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.6.0:", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-clue", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-msnbase/package.py b/var/spack/repos/builtin/packages/r-msnbase/package.py
index 01869ef1c4..44e0debcf6 100644
--- a/var/spack/repos/builtin/packages/r-msnbase/package.py
+++ b/var/spack/repos/builtin/packages/r-msnbase/package.py
@@ -9,54 +9,54 @@ from spack.package import *
class RMsnbase(RPackage):
"""Base Functions and Classes for Mass Spectrometry and Proteomics.
- MSnbase provides infrastructure for manipulation, processing and
- visualisation of mass spectrometry and proteomics data, ranging from raw
- to quantitative and annotated data."""
+ MSnbase provides infrastructure for manipulation, processing and
+ visualisation of mass spectrometry and proteomics data, ranging from raw
+ to quantitative and annotated data."""
bioc = "MSnbase"
- version('2.22.0', commit='4f6e5767eee91b2105781b494fcabcfed16eba2d')
- version('2.20.4', commit='c86ac8b341832f2b577f2153258c1abf064e6448')
- version('2.16.1', commit='4d88b4edd1af59474462b1b06ad0ec5831f3a878')
- version('2.10.1', commit='4d5899bc9c714f0b1a70cddd537cd4621b2b53b0')
- version('2.8.3', commit='ef883752c5e92d445647bc5b5d23d5df320db415')
- version('2.6.4', commit='46836860ce0281eef135303f2e2948303d67f68c')
- version('2.4.2', commit='c045d65daa730c7837852e6343a05cae9644ab5e')
- version('2.2.0', commit='d6e8fb7f106d05096fa9074da0f829ac8f02c197')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-biocgenerics@0.7.1:', type=('build', 'run'))
- depends_on('r-biobase@2.15.2:', type=('build', 'run'))
- depends_on('r-mzr@2.7.6:', type=('build', 'run'))
- depends_on('r-mzr@2.11.11:', type=('build', 'run'), when='@2.4.2:')
- depends_on('r-mzr@2.13.6:', type=('build', 'run'), when='@2.6.4:')
- depends_on('r-mzr@2.15.1:', type=('build', 'run'), when='@2.8.3:')
- depends_on('r-mzr@2.17.3:', type=('build', 'run'), when='@2.10.1:')
- depends_on('r-mzr@2.19.6:', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-mzr@2.29.3:', type=('build', 'run'), when='@2.22.0:')
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-protgenerics@1.5.1:', type=('build', 'run'))
- depends_on('r-protgenerics@1.19.3:', type=('build', 'run'), when='@2.16.1:')
- depends_on('r-protgenerics@1.25.1:', type=('build', 'run'), when='@2.20.4:')
- depends_on('r-protgenerics@1.27.2:', type=('build', 'run'), when='@2.22.0:')
- depends_on('r-mscoreutils', type=('build', 'run'), when='@2.20.4:')
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-iranges@2.13.28:', type=('build', 'run'), when='@2.6.4:')
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-vsn', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-impute', type=('build', 'run'))
- depends_on('r-pcamethods', type=('build', 'run'))
- depends_on('r-maldiquant@1.16:', type=('build', 'run'))
- depends_on('r-mzid@1.5.2:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'), when='@2.6.4:')
- depends_on('r-mass', type=('build', 'run'), when='@2.6.4:')
- depends_on('r-rcpp', type=('build', 'run'))
-
- depends_on('r-preprocesscore', type=('build', 'run'), when='@:2.16.1')
+ version("2.22.0", commit="4f6e5767eee91b2105781b494fcabcfed16eba2d")
+ version("2.20.4", commit="c86ac8b341832f2b577f2153258c1abf064e6448")
+ version("2.16.1", commit="4d88b4edd1af59474462b1b06ad0ec5831f3a878")
+ version("2.10.1", commit="4d5899bc9c714f0b1a70cddd537cd4621b2b53b0")
+ version("2.8.3", commit="ef883752c5e92d445647bc5b5d23d5df320db415")
+ version("2.6.4", commit="46836860ce0281eef135303f2e2948303d67f68c")
+ version("2.4.2", commit="c045d65daa730c7837852e6343a05cae9644ab5e")
+ version("2.2.0", commit="d6e8fb7f106d05096fa9074da0f829ac8f02c197")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-biocgenerics@0.7.1:", type=("build", "run"))
+ depends_on("r-biobase@2.15.2:", type=("build", "run"))
+ depends_on("r-mzr@2.7.6:", type=("build", "run"))
+ depends_on("r-mzr@2.11.11:", type=("build", "run"), when="@2.4.2:")
+ depends_on("r-mzr@2.13.6:", type=("build", "run"), when="@2.6.4:")
+ depends_on("r-mzr@2.15.1:", type=("build", "run"), when="@2.8.3:")
+ depends_on("r-mzr@2.17.3:", type=("build", "run"), when="@2.10.1:")
+ depends_on("r-mzr@2.19.6:", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-mzr@2.29.3:", type=("build", "run"), when="@2.22.0:")
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-protgenerics@1.5.1:", type=("build", "run"))
+ depends_on("r-protgenerics@1.19.3:", type=("build", "run"), when="@2.16.1:")
+ depends_on("r-protgenerics@1.25.1:", type=("build", "run"), when="@2.20.4:")
+ depends_on("r-protgenerics@1.27.2:", type=("build", "run"), when="@2.22.0:")
+ depends_on("r-mscoreutils", type=("build", "run"), when="@2.20.4:")
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-iranges@2.13.28:", type=("build", "run"), when="@2.6.4:")
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-vsn", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-impute", type=("build", "run"))
+ depends_on("r-pcamethods", type=("build", "run"))
+ depends_on("r-maldiquant@1.16:", type=("build", "run"))
+ depends_on("r-mzid@1.5.2:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"), when="@2.6.4:")
+ depends_on("r-mass", type=("build", "run"), when="@2.6.4:")
+ depends_on("r-rcpp", type=("build", "run"))
+
+ depends_on("r-preprocesscore", type=("build", "run"), when="@:2.16.1")
diff --git a/var/spack/repos/builtin/packages/r-multcomp/package.py b/var/spack/repos/builtin/packages/r-multcomp/package.py
index 779ec2fac1..3fb50abfa6 100644
--- a/var/spack/repos/builtin/packages/r-multcomp/package.py
+++ b/var/spack/repos/builtin/packages/r-multcomp/package.py
@@ -17,15 +17,15 @@ class RMultcomp(RPackage):
cran = "multcomp"
- version('1.4-19', sha256='f03473b1cfbc714cd85a0ee948e2ecdb23bcdccbe95e27237ee25e9c71e3e557')
- version('1.4-18', sha256='107a5e65cfff158b271d7386240dc8672d8cf45313f016e0ed83767faf7c2806')
- version('1.4-15', sha256='9927607efb3eb84ac3d25d82daf2faef6a69e05a334b163ce43fd31c14b19bce')
- version('1.4-10', sha256='29bcc635c0262e304551b139cd9ee655ab25a908d9693e1cacabfc2a936df5cf')
- version('1.4-8', sha256='a20876619312310e9523d67e9090af501383ce49dc6113c6b4ca30f9c943a73a')
- version('1.4-6', sha256='fe9efbe671416a49819cbdb9137cc218faebcd76e0f170fd1c8d3c84c42eeda2')
+ version("1.4-19", sha256="f03473b1cfbc714cd85a0ee948e2ecdb23bcdccbe95e27237ee25e9c71e3e557")
+ version("1.4-18", sha256="107a5e65cfff158b271d7386240dc8672d8cf45313f016e0ed83767faf7c2806")
+ version("1.4-15", sha256="9927607efb3eb84ac3d25d82daf2faef6a69e05a334b163ce43fd31c14b19bce")
+ version("1.4-10", sha256="29bcc635c0262e304551b139cd9ee655ab25a908d9693e1cacabfc2a936df5cf")
+ version("1.4-8", sha256="a20876619312310e9523d67e9090af501383ce49dc6113c6b4ca30f9c943a73a")
+ version("1.4-6", sha256="fe9efbe671416a49819cbdb9137cc218faebcd76e0f170fd1c8d3c84c42eeda2")
- depends_on('r-mvtnorm@1.0-10:', type=('build', 'run'))
- depends_on('r-survival@2.39-4:', type=('build', 'run'))
- depends_on('r-th-data@1.0-2:', type=('build', 'run'))
- depends_on('r-sandwich@2.3-0:', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
+ depends_on("r-mvtnorm@1.0-10:", type=("build", "run"))
+ depends_on("r-survival@2.39-4:", type=("build", "run"))
+ depends_on("r-th-data@1.0-2:", type=("build", "run"))
+ depends_on("r-sandwich@2.3-0:", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-multcompview/package.py b/var/spack/repos/builtin/packages/r-multcompview/package.py
index 41a738f0a2..5bfe55a40d 100644
--- a/var/spack/repos/builtin/packages/r-multcompview/package.py
+++ b/var/spack/repos/builtin/packages/r-multcompview/package.py
@@ -18,4 +18,4 @@ class RMultcompview(RPackage):
cran = "multcompView"
- version('0.1-8', sha256='123d539172ad6fc63d83d1fc7f356a5ed7b691e7803827480118bebc374fd8e5')
+ version("0.1-8", sha256="123d539172ad6fc63d83d1fc7f356a5ed7b691e7803827480118bebc374fd8e5")
diff --git a/var/spack/repos/builtin/packages/r-multicool/package.py b/var/spack/repos/builtin/packages/r-multicool/package.py
index b232592c83..7f232f1e6f 100644
--- a/var/spack/repos/builtin/packages/r-multicool/package.py
+++ b/var/spack/repos/builtin/packages/r-multicool/package.py
@@ -27,9 +27,9 @@ class RMulticool(RPackage):
cran = "multicool"
- version('0.1-12', sha256='487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36')
- version('0.1-11', sha256='1c907e64af2ac39facdf431a5691e69649f64af1f50e198ae39da5bf30026476')
- version('0.1-10', sha256='5bb0cb0d9eb64420c862877247a79bb0afadacfe23262ec8c3fa26e5e34d6ff9')
- version('0.1-9', sha256='bdf92571cef1b649952d155395a92b8683099ee13114f73a9d41fc5d7d49d329')
+ version("0.1-12", sha256="487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36")
+ version("0.1-11", sha256="1c907e64af2ac39facdf431a5691e69649f64af1f50e198ae39da5bf30026476")
+ version("0.1-10", sha256="5bb0cb0d9eb64420c862877247a79bb0afadacfe23262ec8c3fa26e5e34d6ff9")
+ version("0.1-9", sha256="bdf92571cef1b649952d155395a92b8683099ee13114f73a9d41fc5d7d49d329")
- depends_on('r-rcpp@0.11.2:', type=('build', 'run'))
+ depends_on("r-rcpp@0.11.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-multitaper/package.py b/var/spack/repos/builtin/packages/r-multitaper/package.py
index 048e7fd190..1e654b60de 100644
--- a/var/spack/repos/builtin/packages/r-multitaper/package.py
+++ b/var/spack/repos/builtin/packages/r-multitaper/package.py
@@ -20,7 +20,7 @@ class RMultitaper(RPackage):
cran = "multitaper"
- version('1.0-15', sha256='837d71f3b46fbce2bea210449cf75e609f5363ff23b7808f5f115fdc51e6a3be')
- version('1.0-14', sha256='c84c122541dc2874131446e23b212259b3b00590d701efee49e6740fd74a8d13')
+ version("1.0-15", sha256="837d71f3b46fbce2bea210449cf75e609f5363ff23b7808f5f115fdc51e6a3be")
+ version("1.0-14", sha256="c84c122541dc2874131446e23b212259b3b00590d701efee49e6740fd74a8d13")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-multtest/package.py b/var/spack/repos/builtin/packages/r-multtest/package.py
index db507f1dc6..977db5ea2e 100644
--- a/var/spack/repos/builtin/packages/r-multtest/package.py
+++ b/var/spack/repos/builtin/packages/r-multtest/package.py
@@ -9,37 +9,37 @@ from spack.package import *
class RMulttest(RPackage):
"""Resampling-based multiple hypothesis testing.
- Non-parametric bootstrap and permutation resampling-based multiple
- testing procedures (including empirical Bayes methods) for controlling
- the family-wise error rate (FWER), generalized family-wise error rate
- (gFWER), tail probability of the proportion of false positives (TPPFP),
- and false discovery rate (FDR). Several choices of bootstrap-based null
- distribution are implemented (centered, centered and scaled, quantile-
- transformed). Single-step and step-wise methods are available. Tests
- based on a variety of t- and F-statistics (including t-statistics based
- on regression parameters from linear and survival models as well as
- those based on correlation parameters) are included. When probing
- hypotheses with t-statistics, users may also select a potentially faster
- null distribution which is multivariate normal with mean zero and
- variance covariance matrix derived from the vector influence function.
- Results are reported in terms of adjusted p-values, confidence regions
- and test statistic cutoffs. The procedures are directly applicable to
- identifying differentially expressed genes in DNA microarray
- experiments."""
+ Non-parametric bootstrap and permutation resampling-based multiple
+ testing procedures (including empirical Bayes methods) for controlling
+ the family-wise error rate (FWER), generalized family-wise error rate
+ (gFWER), tail probability of the proportion of false positives (TPPFP),
+ and false discovery rate (FDR). Several choices of bootstrap-based null
+ distribution are implemented (centered, centered and scaled, quantile-
+ transformed). Single-step and step-wise methods are available. Tests
+ based on a variety of t- and F-statistics (including t-statistics based
+ on regression parameters from linear and survival models as well as
+ those based on correlation parameters) are included. When probing
+ hypotheses with t-statistics, users may also select a potentially faster
+ null distribution which is multivariate normal with mean zero and
+ variance covariance matrix derived from the vector influence function.
+ Results are reported in terms of adjusted p-values, confidence regions
+ and test statistic cutoffs. The procedures are directly applicable to
+ identifying differentially expressed genes in DNA microarray
+ experiments."""
bioc = "multtest"
- version('2.52.0', commit='00cfc9beb6d063c2b04fc83495a76824f8a33a64')
- version('2.50.0', commit='1de96649a942b115d3d554394514745e86eb3fd3')
- version('2.46.0', commit='c4dd27b333c80313a88668b59d0299988c6478a2')
- version('2.40.0', commit='5f00017c2d3a31e05e1cfe06d9f7afdee19f8473')
- version('2.38.0', commit='4dfe71cecfb298a94521088fb7bd83c5498d2915')
- version('2.36.0', commit='babb15e8d110eb72300ad59cf7e53386237a4198')
- version('2.34.0', commit='6ef873e05e6c93ede54f3421424f56eda057cd54')
- version('2.32.0', commit='c5e890dfbffcc3a3f107303a24b6085614312f4a')
+ version("2.52.0", commit="00cfc9beb6d063c2b04fc83495a76824f8a33a64")
+ version("2.50.0", commit="1de96649a942b115d3d554394514745e86eb3fd3")
+ version("2.46.0", commit="c4dd27b333c80313a88668b59d0299988c6478a2")
+ version("2.40.0", commit="5f00017c2d3a31e05e1cfe06d9f7afdee19f8473")
+ version("2.38.0", commit="4dfe71cecfb298a94521088fb7bd83c5498d2915")
+ version("2.36.0", commit="babb15e8d110eb72300ad59cf7e53386237a4198")
+ version("2.34.0", commit="6ef873e05e6c93ede54f3421424f56eda057cd54")
+ version("2.32.0", commit="c5e890dfbffcc3a3f107303a24b6085614312f4a")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-munsell/package.py b/var/spack/repos/builtin/packages/r-munsell/package.py
index c4d9b1a636..575bf55c3f 100644
--- a/var/spack/repos/builtin/packages/r-munsell/package.py
+++ b/var/spack/repos/builtin/packages/r-munsell/package.py
@@ -17,7 +17,7 @@ class RMunsell(RPackage):
cran = "munsell"
- version('0.5.0', sha256='d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199')
- version('0.4.3', sha256='397c3c90af966f48eebe8f5d9e40c41b17541f0baaa102eec3ea4faae5a2bd49')
+ version("0.5.0", sha256="d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199")
+ version("0.4.3", sha256="397c3c90af966f48eebe8f5d9e40c41b17541f0baaa102eec3ea4faae5a2bd49")
- depends_on('r-colorspace', type=('build', 'run'))
+ depends_on("r-colorspace", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mutoss/package.py b/var/spack/repos/builtin/packages/r-mutoss/package.py
index ccb31c4035..0f139bcd48 100644
--- a/var/spack/repos/builtin/packages/r-mutoss/package.py
+++ b/var/spack/repos/builtin/packages/r-mutoss/package.py
@@ -15,10 +15,10 @@ class RMutoss(RPackage):
cran = "mutoss"
- version('0.1-12', sha256='2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa')
+ version("0.1-12", sha256="2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-plotrix', type=('build', 'run'))
- depends_on('r-multtest@2.2.0:', type=('build', 'run'))
- depends_on('r-multcomp@1.1-0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-plotrix", type=("build", "run"))
+ depends_on("r-multtest@2.2.0:", type=("build", "run"))
+ depends_on("r-multcomp@1.1-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mvtnorm/package.py b/var/spack/repos/builtin/packages/r-mvtnorm/package.py
index 1611089c96..f849278849 100644
--- a/var/spack/repos/builtin/packages/r-mvtnorm/package.py
+++ b/var/spack/repos/builtin/packages/r-mvtnorm/package.py
@@ -14,12 +14,12 @@ class RMvtnorm(RPackage):
cran = "mvtnorm"
- version('1.1-3', sha256='ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448')
- version('1.1-1', sha256='e965dad5e93babb7ded25b5ebdbd52332191b61f897d68853a379a07620d45de')
- version('1.0-11', sha256='0321612de99aa9bc75a45c7e029d3372736014223cbdefb80d8cae600cbc7252')
- version('1.0-10', sha256='31df19cd8b4cab9d9a70dba00442b7684e625d4ca143a2c023c2c5872b07ad12')
- version('1.0-6', sha256='4a015b57b645b520151b213eb04b7331598c06442a3f652c7dc149425bd2e444')
- version('1.0-5', sha256='d00f9f758f0d0d4b999f259223485dc55d23cbec09004014816f180045ac81dd')
+ version("1.1-3", sha256="ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448")
+ version("1.1-1", sha256="e965dad5e93babb7ded25b5ebdbd52332191b61f897d68853a379a07620d45de")
+ version("1.0-11", sha256="0321612de99aa9bc75a45c7e029d3372736014223cbdefb80d8cae600cbc7252")
+ version("1.0-10", sha256="31df19cd8b4cab9d9a70dba00442b7684e625d4ca143a2c023c2c5872b07ad12")
+ version("1.0-6", sha256="4a015b57b645b520151b213eb04b7331598c06442a3f652c7dc149425bd2e444")
+ version("1.0-5", sha256="d00f9f758f0d0d4b999f259223485dc55d23cbec09004014816f180045ac81dd")
- depends_on('r@1.9.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.0-9:')
+ depends_on("r@1.9.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.0-9:")
diff --git a/var/spack/repos/builtin/packages/r-mzid/package.py b/var/spack/repos/builtin/packages/r-mzid/package.py
index e68992ac45..63d58b8a8e 100644
--- a/var/spack/repos/builtin/packages/r-mzid/package.py
+++ b/var/spack/repos/builtin/packages/r-mzid/package.py
@@ -9,26 +9,26 @@ from spack.package import *
class RMzid(RPackage):
"""An mzIdentML parser for R.
- A parser for mzIdentML files implemented using the XML package. The
- parser tries to be general and able to handle all types of mzIdentML
- files with the drawback of having less 'pretty' output than a vendor
- specific parser. Please contact the maintainer with any problems and
- supply an mzIdentML file so the problems can be fixed quickly."""
+ A parser for mzIdentML files implemented using the XML package. The
+ parser tries to be general and able to handle all types of mzIdentML
+ files with the drawback of having less 'pretty' output than a vendor
+ specific parser. Please contact the maintainer with any problems and
+ supply an mzIdentML file so the problems can be fixed quickly."""
bioc = "mzID"
- version('1.34.0', commit='bef64db159a0a4d241ba2ba271f70266c1522b2b')
- version('1.32.0', commit='d4146385b54f4d8361e23fc2c2aef79e952f4730')
- version('1.28.0', commit='cd006631c8222ce5b4af0577a7401b39cc58fd9c')
- version('1.22.0', commit='382d9cf11f0cba996911a9d79e193d28f3ac6042')
- version('1.20.1', commit='819582646944440ddd9ed3724ae964841573e54c')
- version('1.18.0', commit='7d8924ae95585eb8cf472d21619a7603d291d652')
- version('1.16.0', commit='fc203832a4cbbbe20f6dd826c6bf2128f2c271c4')
- version('1.14.0', commit='1c53aa6523ae61d3ebb13381381fc119d6cc6115')
+ version("1.34.0", commit="bef64db159a0a4d241ba2ba271f70266c1522b2b")
+ version("1.32.0", commit="d4146385b54f4d8361e23fc2c2aef79e952f4730")
+ version("1.28.0", commit="cd006631c8222ce5b4af0577a7401b39cc58fd9c")
+ version("1.22.0", commit="382d9cf11f0cba996911a9d79e193d28f3ac6042")
+ version("1.20.1", commit="819582646944440ddd9ed3724ae964841573e54c")
+ version("1.18.0", commit="7d8924ae95585eb8cf472d21619a7603d291d652")
+ version("1.16.0", commit="fc203832a4cbbbe20f6dd826c6bf2128f2c271c4")
+ version("1.14.0", commit="1c53aa6523ae61d3ebb13381381fc119d6cc6115")
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-iterators', type=('build', 'run'))
- depends_on('r-protgenerics', type=('build', 'run'))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-iterators", type=("build", "run"))
+ depends_on("r-protgenerics", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-mzr/package.py b/var/spack/repos/builtin/packages/r-mzr/package.py
index 91c48b2a8f..3db1724496 100644
--- a/var/spack/repos/builtin/packages/r-mzr/package.py
+++ b/var/spack/repos/builtin/packages/r-mzr/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class RMzr(RPackage):
"""parser for netCDF, mzXML, mzData and mzML and mzIdentML files (mass
- spectrometry data).
+ spectrometry data).
- mzR provides a unified API to the common file formats and parsers
- available for mass spectrometry data. It comes with a wrapper for the
- ISB random access parser for mass spectrometry mzXML, mzData and mzML
- files. The package contains the original code written by the ISB, and a
- subset of the proteowizard library for mzML and mzIdentML. The netCDF
- reading code has previously been used in XCMS."""
+ mzR provides a unified API to the common file formats and parsers
+ available for mass spectrometry data. It comes with a wrapper for the
+ ISB random access parser for mass spectrometry mzXML, mzData and mzML
+ files. The package contains the original code written by the ISB, and a
+ subset of the proteowizard library for mzML and mzIdentML. The netCDF
+ reading code has previously been used in XCMS."""
bioc = "mzR"
- version('2.30.0', commit='563ae755cfc7de1ac8862247779182b7b3aebdcc')
- version('2.28.0', commit='bee7d6fb5f99e1fab5444ae1ad27b0bc6e83be9e')
- version('2.24.1', commit='e1d4de8761e6729fd45320d842691c8fe9116b7b')
- version('2.18.1', commit='13f9f9b1149859c3e29cfce941d958cc4f680546')
- version('2.16.2', commit='22d7dad98f46b5bed7f6f7b3a703dcdf5997f709')
- version('2.14.0', commit='bf1154bc45101d95b5a67c66980856a779b84bd4')
- version('2.12.0', commit='f05eb27ae31c3d019cca10fc3b9ee513cbcdfc5a')
- version('2.10.0', commit='a6168b68e48c281e88de9647254a8db1e21df388')
-
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.30.0:')
- depends_on('r-rcpp@0.10.1:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.6:', type=('build', 'run'))
- depends_on('r-protgenerics', type=('build', 'run'))
- depends_on('r-protgenerics@1.9.1:', type=('build', 'run'), when='@2.12.0:')
- depends_on('r-protgenerics@1.17.3:', type=('build', 'run'), when='@2.24.1:')
- depends_on('r-ncdf4', type=('build', 'run'), when='@2.16.2:')
- depends_on('r-rhdf5lib@1.1.4:', type=('build', 'run'), when='@2.14.0:')
- depends_on('gmake', type='build')
-
- depends_on('r-zlibbioc', type=('build', 'run'), when='@:2.28.0')
+ version("2.30.0", commit="563ae755cfc7de1ac8862247779182b7b3aebdcc")
+ version("2.28.0", commit="bee7d6fb5f99e1fab5444ae1ad27b0bc6e83be9e")
+ version("2.24.1", commit="e1d4de8761e6729fd45320d842691c8fe9116b7b")
+ version("2.18.1", commit="13f9f9b1149859c3e29cfce941d958cc4f680546")
+ version("2.16.2", commit="22d7dad98f46b5bed7f6f7b3a703dcdf5997f709")
+ version("2.14.0", commit="bf1154bc45101d95b5a67c66980856a779b84bd4")
+ version("2.12.0", commit="f05eb27ae31c3d019cca10fc3b9ee513cbcdfc5a")
+ version("2.10.0", commit="a6168b68e48c281e88de9647254a8db1e21df388")
+
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.30.0:")
+ depends_on("r-rcpp@0.10.1:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.6:", type=("build", "run"))
+ depends_on("r-protgenerics", type=("build", "run"))
+ depends_on("r-protgenerics@1.9.1:", type=("build", "run"), when="@2.12.0:")
+ depends_on("r-protgenerics@1.17.3:", type=("build", "run"), when="@2.24.1:")
+ depends_on("r-ncdf4", type=("build", "run"), when="@2.16.2:")
+ depends_on("r-rhdf5lib@1.1.4:", type=("build", "run"), when="@2.14.0:")
+ depends_on("gmake", type="build")
+
+ depends_on("r-zlibbioc", type=("build", "run"), when="@:2.28.0")
diff --git a/var/spack/repos/builtin/packages/r-nada/package.py b/var/spack/repos/builtin/packages/r-nada/package.py
index d8f9f229ce..66ea3c801a 100644
--- a/var/spack/repos/builtin/packages/r-nada/package.py
+++ b/var/spack/repos/builtin/packages/r-nada/package.py
@@ -14,7 +14,7 @@ class RNada(RPackage):
cran = "NADA"
- version('1.6-1.1', sha256='670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a')
+ version("1.6-1.1", sha256="670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-nanotime/package.py b/var/spack/repos/builtin/packages/r-nanotime/package.py
index 791c839016..1732e0e0ea 100644
--- a/var/spack/repos/builtin/packages/r-nanotime/package.py
+++ b/var/spack/repos/builtin/packages/r-nanotime/package.py
@@ -16,16 +16,16 @@ class RNanotime(RPackage):
cran = "nanotime"
- version('0.3.6', sha256='df751a5cb11ca9ac8762cd1e33bc73e7d20fde9339d2c46bc6f85873388568df')
- version('0.3.5', sha256='44deaae58452bacea4855d018212593811401c2afc460ffb11905479013923a0')
- version('0.3.2', sha256='9ef53c3bca01b605a9519190117988e170e63865327007c90b05d31fe7f22b1d')
- version('0.2.4', sha256='2dfb7e7435fec59634b87563a215467e7793e2711e302749c0533901c74eb184')
- version('0.2.3', sha256='7d6df69a4223ae154f610b650e24ece38ce4aa706edfa38bec27d15473229f5d')
- version('0.2.0', sha256='9ce420707dc4f0cb4241763579b849d842904a3aa0d88de8ffef334d08fa188d')
+ version("0.3.6", sha256="df751a5cb11ca9ac8762cd1e33bc73e7d20fde9339d2c46bc6f85873388568df")
+ version("0.3.5", sha256="44deaae58452bacea4855d018212593811401c2afc460ffb11905479013923a0")
+ version("0.3.2", sha256="9ef53c3bca01b605a9519190117988e170e63865327007c90b05d31fe7f22b1d")
+ version("0.2.4", sha256="2dfb7e7435fec59634b87563a215467e7793e2711e302749c0533901c74eb184")
+ version("0.2.3", sha256="7d6df69a4223ae154f610b650e24ece38ce4aa706edfa38bec27d15473229f5d")
+ version("0.2.0", sha256="9ce420707dc4f0cb4241763579b849d842904a3aa0d88de8ffef334d08fa188d")
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('r-rcppcctz@0.2.3:', type=('build', 'run'))
- depends_on('r-rcppcctz@0.2.9:', type=('build', 'run'), when='@0.3.2:')
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'), when='@0.3.2:')
- depends_on('r-rcppdate', type=('build', 'run'), when='@0.3.2:')
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("r-rcppcctz@0.2.3:", type=("build", "run"))
+ depends_on("r-rcppcctz@0.2.9:", type=("build", "run"), when="@0.3.2:")
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"), when="@0.3.2:")
+ depends_on("r-rcppdate", type=("build", "run"), when="@0.3.2:")
diff --git a/var/spack/repos/builtin/packages/r-ncbit/package.py b/var/spack/repos/builtin/packages/r-ncbit/package.py
index 70a2b43e3d..0e40620126 100644
--- a/var/spack/repos/builtin/packages/r-ncbit/package.py
+++ b/var/spack/repos/builtin/packages/r-ncbit/package.py
@@ -14,6 +14,8 @@ class RNcbit(RPackage):
cran = "ncbit"
- version('2013.03.29', sha256='4480271f14953615c8ddc2e0666866bb1d0964398ba0fab6cc29046436820738')
+ version(
+ "2013.03.29", sha256="4480271f14953615c8ddc2e0666866bb1d0964398ba0fab6cc29046436820738"
+ )
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ncdf4/package.py b/var/spack/repos/builtin/packages/r-ncdf4/package.py
index 8e169b24ee..0bb27d4d81 100644
--- a/var/spack/repos/builtin/packages/r-ncdf4/package.py
+++ b/var/spack/repos/builtin/packages/r-ncdf4/package.py
@@ -26,10 +26,10 @@ class RNcdf4(RPackage):
cran = "ncdf4"
- version('1.19', sha256='cb8d139211fc7475c435ce9f6a43e47710603409dc523b053c8b7de9848dfb63')
- version('1.17', sha256='db95c4729d3187d1a56dfd019958216f442be6221bd15e23cd597e6129219af6')
- version('1.16.1', sha256='0dde2d6d1e8474f4abd15a61af8a2f7de564f13da00f1a01d7a479ab88587a20')
- version('1.16', sha256='edd5731a805bbece3a8f6132c87c356deafc272351e1dd07256ca00574949253')
- version('1.15', sha256='d58298f4317c6c80a041a70216126492fd09ba8ecde9da09d5145ae26f324d4d')
+ version("1.19", sha256="cb8d139211fc7475c435ce9f6a43e47710603409dc523b053c8b7de9848dfb63")
+ version("1.17", sha256="db95c4729d3187d1a56dfd019958216f442be6221bd15e23cd597e6129219af6")
+ version("1.16.1", sha256="0dde2d6d1e8474f4abd15a61af8a2f7de564f13da00f1a01d7a479ab88587a20")
+ version("1.16", sha256="edd5731a805bbece3a8f6132c87c356deafc272351e1dd07256ca00574949253")
+ version("1.15", sha256="d58298f4317c6c80a041a70216126492fd09ba8ecde9da09d5145ae26f324d4d")
- depends_on('netcdf-c@4.1:')
+ depends_on("netcdf-c@4.1:")
diff --git a/var/spack/repos/builtin/packages/r-network/package.py b/var/spack/repos/builtin/packages/r-network/package.py
index d2581a74c1..43f5b12034 100644
--- a/var/spack/repos/builtin/packages/r-network/package.py
+++ b/var/spack/repos/builtin/packages/r-network/package.py
@@ -15,14 +15,14 @@ class RNetwork(RPackage):
cran = "network"
- version('1.17.2', sha256='9588a198807c8c68da147f479ca9af5bcb4468cf91b6a90b8044d313d9fa30f7')
- version('1.17.1', sha256='fc3c3a0014f8895a11c33994c9b44c6ef6cc49c7d026cd41ae6bba5ef63005a7')
- version('1.16.1', sha256='eb6435794cacc81abe1664391e8dcf1c10112bbb76fff9016dd6dbb8e83efeb1')
- version('1.15', sha256='5cbe5c0369e5f8363e33a86f14fd33ce8727166106381627ecd13b7452e14cb3')
- version('1.14-377', sha256='013c02f8d97f1f87f2c421760534df9353d2a8c2277f20b46b59fb79822d3e46')
- version('1.13.0', sha256='7a04ea89261cdf32ccb52222810699d5fca59a849053e306b5ec9dd5c1184f87')
+ version("1.17.2", sha256="9588a198807c8c68da147f479ca9af5bcb4468cf91b6a90b8044d313d9fa30f7")
+ version("1.17.1", sha256="fc3c3a0014f8895a11c33994c9b44c6ef6cc49c7d026cd41ae6bba5ef63005a7")
+ version("1.16.1", sha256="eb6435794cacc81abe1664391e8dcf1c10112bbb76fff9016dd6dbb8e83efeb1")
+ version("1.15", sha256="5cbe5c0369e5f8363e33a86f14fd33ce8727166106381627ecd13b7452e14cb3")
+ version("1.14-377", sha256="013c02f8d97f1f87f2c421760534df9353d2a8c2277f20b46b59fb79822d3e46")
+ version("1.13.0", sha256="7a04ea89261cdf32ccb52222810699d5fca59a849053e306b5ec9dd5c1184f87")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@1.14-377:')
- depends_on('r-magrittr', type=('build', 'run'), when='@1.14-377:')
- depends_on('r-statnet-common@4.5:', type=('build', 'run'), when='@1.17.1:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@1.14-377:")
+ depends_on("r-magrittr", type=("build", "run"), when="@1.14-377:")
+ depends_on("r-statnet-common@4.5:", type=("build", "run"), when="@1.17.1:")
diff --git a/var/spack/repos/builtin/packages/r-networkd3/package.py b/var/spack/repos/builtin/packages/r-networkd3/package.py
index 1f7d13e6d1..ef7c210541 100644
--- a/var/spack/repos/builtin/packages/r-networkd3/package.py
+++ b/var/spack/repos/builtin/packages/r-networkd3/package.py
@@ -14,11 +14,11 @@ class RNetworkd3(RPackage):
cran = "networkD3"
- version('0.4', sha256='33b82585f1eec6233303ec14033a703d0b17def441c7a0a67bf7e6764c9c9d0b')
- version('0.3', sha256='6f9d6b35bb1562883df734bef8fbec166dd365e34c6e656da7be5f8a8d42343c')
- version('0.2.12', sha256='b81b59c3c992609e25e1621e51d1240e3d086c2b9c3e9da49a6cb0c9ef7f4ea5')
+ version("0.4", sha256="33b82585f1eec6233303ec14033a703d0b17def441c7a0a67bf7e6764c9c9d0b")
+ version("0.3", sha256="6f9d6b35bb1562883df734bef8fbec166dd365e34c6e656da7be5f8a8d42343c")
+ version("0.2.12", sha256="b81b59c3c992609e25e1621e51d1240e3d086c2b9c3e9da49a6cb0c9ef7f4ea5")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-htmlwidgets@0.3.2:', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-htmlwidgets@0.3.2:", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-neuralnet/package.py b/var/spack/repos/builtin/packages/r-neuralnet/package.py
index 4d16ad6524..d1f38b017e 100644
--- a/var/spack/repos/builtin/packages/r-neuralnet/package.py
+++ b/var/spack/repos/builtin/packages/r-neuralnet/package.py
@@ -19,8 +19,8 @@ class RNeuralnet(RPackage):
cran = "neuralnet"
- version('1.44.2', sha256='5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826')
+ 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'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-deriv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-nfactors/package.py b/var/spack/repos/builtin/packages/r-nfactors/package.py
index e0ed98aac7..e05b7dfdc5 100644
--- a/var/spack/repos/builtin/packages/r-nfactors/package.py
+++ b/var/spack/repos/builtin/packages/r-nfactors/package.py
@@ -22,9 +22,9 @@ class RNfactors(RPackage):
cran = "nFactors"
- version('2.4.1', sha256='028eb4ebd42a29f6a01297d728c7e353cabb37b46701639b4a52f17ba25a3eb6')
+ 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'))
+ 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"))
diff --git a/var/spack/repos/builtin/packages/r-nimble/package.py b/var/spack/repos/builtin/packages/r-nimble/package.py
index 7b6f79d40b..812021c334 100644
--- a/var/spack/repos/builtin/packages/r-nimble/package.py
+++ b/var/spack/repos/builtin/packages/r-nimble/package.py
@@ -26,14 +26,14 @@ class RNimble(RPackage):
cran = "nimble"
- version('0.12.2', sha256='2af7a3ab159a7f0b3b4b139da1db45be4b602f2c0e115cb0403b060ab0101a1b')
- version('0.12.1', sha256='3520f3212a48c8cbe08a6a8e57b3a72180594f7c09f647d1daf417c9857867d8')
- version('0.10.1', sha256='11e248fda442f233c3590640efd9381c9b4b2e6fb66dce45a3391db03b70e702')
- version('0.9.1', sha256='ad5e8a171193cb0172e68bf61c4f94432c45c131a150101ad1c5c7318c335757')
- version('0.9.0', sha256='ebc28fadf933143eea73900cacaf96ff81cb3c2d607405016062b7e93afa5611')
+ version("0.12.2", sha256="2af7a3ab159a7f0b3b4b139da1db45be4b602f2c0e115cb0403b060ab0101a1b")
+ version("0.12.1", sha256="3520f3212a48c8cbe08a6a8e57b3a72180594f7c09f647d1daf417c9857867d8")
+ version("0.10.1", sha256="11e248fda442f233c3590640efd9381c9b4b2e6fb66dce45a3391db03b70e702")
+ version("0.9.1", sha256="ad5e8a171193cb0172e68bf61c4f94432c45c131a150101ad1c5c7318c335757")
+ version("0.9.0", sha256="ebc28fadf933143eea73900cacaf96ff81cb3c2d607405016062b7e93afa5611")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-nleqslv/package.py b/var/spack/repos/builtin/packages/r-nleqslv/package.py
index 38d67b5e1e..76f66adc90 100644
--- a/var/spack/repos/builtin/packages/r-nleqslv/package.py
+++ b/var/spack/repos/builtin/packages/r-nleqslv/package.py
@@ -17,4 +17,4 @@ class RNleqslv(RPackage):
cran = "nleqslv"
- version('3.3.2', sha256='f54956cf67f9970bb3c6803684c84a27ac78165055745e444efc45cfecb63fed')
+ version("3.3.2", sha256="f54956cf67f9970bb3c6803684c84a27ac78165055745e444efc45cfecb63fed")
diff --git a/var/spack/repos/builtin/packages/r-nlme/package.py b/var/spack/repos/builtin/packages/r-nlme/package.py
index 604f460cb7..dce4287a9c 100644
--- a/var/spack/repos/builtin/packages/r-nlme/package.py
+++ b/var/spack/repos/builtin/packages/r-nlme/package.py
@@ -13,18 +13,18 @@ class RNlme(RPackage):
cran = "nlme"
- version('3.1-157', sha256='ddf2a2729dcb6cbaaf579d8093cf62fc41736648b5e8b74afc3acc7a9ae1d96c')
- version('3.1-155', sha256='9f390f842852422921b5845130ea73c1f006d7bb5e988e82f728093a0cbdff4f')
- version('3.1-153', sha256='3d27a98edf1b16ee868949e823ac0babbf10c937a7220d648b7ef9480cd680e3')
- version('3.1-152', sha256='5b65d1b1f121caf29e60341acf6d85e267fd94ed517748cf42d36359f74e515e')
- version('3.1-151', sha256='a2c626bad68bf582663005170d1b9d844a10dca8efb13597f15ffb4b1fe886ca')
- version('3.1-141', sha256='910046260a03d8f776ac7b0766b5adee91556829d0d8a70165b2c695ce038056')
- version('3.1-139', sha256='0460fc69d85122177e7ef01bad665d56bcaf63d31bdbfdbdfdcba2c082085739')
- version('3.1-131', sha256='79daa167eb9bc7d8dba506da4b24b5250665b051d4e0a51dfccbb0087fdb564c')
- version('3.1-130', sha256='ec576bd906ef2e1c79b6a4382743d425846f63be2a43de1cce6aa397b40e290e')
+ version("3.1-157", sha256="ddf2a2729dcb6cbaaf579d8093cf62fc41736648b5e8b74afc3acc7a9ae1d96c")
+ version("3.1-155", sha256="9f390f842852422921b5845130ea73c1f006d7bb5e988e82f728093a0cbdff4f")
+ version("3.1-153", sha256="3d27a98edf1b16ee868949e823ac0babbf10c937a7220d648b7ef9480cd680e3")
+ version("3.1-152", sha256="5b65d1b1f121caf29e60341acf6d85e267fd94ed517748cf42d36359f74e515e")
+ version("3.1-151", sha256="a2c626bad68bf582663005170d1b9d844a10dca8efb13597f15ffb4b1fe886ca")
+ version("3.1-141", sha256="910046260a03d8f776ac7b0766b5adee91556829d0d8a70165b2c695ce038056")
+ version("3.1-139", sha256="0460fc69d85122177e7ef01bad665d56bcaf63d31bdbfdbdfdcba2c082085739")
+ version("3.1-131", sha256="79daa167eb9bc7d8dba506da4b24b5250665b051d4e0a51dfccbb0087fdb564c")
+ version("3.1-130", sha256="ec576bd906ef2e1c79b6a4382743d425846f63be2a43de1cce6aa397b40e290e")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@3.1-131.1')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.1-134:3.1-135')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.1-135.5:')
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@3.1-131.1")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.1-134:3.1-135")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.1-135.5:")
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-nloptr/package.py b/var/spack/repos/builtin/packages/r-nloptr/package.py
index d584b366a1..cb9f15b8dc 100644
--- a/var/spack/repos/builtin/packages/r-nloptr/package.py
+++ b/var/spack/repos/builtin/packages/r-nloptr/package.py
@@ -23,22 +23,22 @@ class RNloptr(RPackage):
cran = "nloptr"
- version('2.0.3', sha256='7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7')
- version('2.0.0', sha256='65ca3149cfc9ba15ac10a91f34b5d86b20f5fd693f44e3edf3e392402911619a')
- version('1.2.2.3', sha256='af08b74fd5e7b4cb455fe67ed759346cbb8f3b9a4178f5f117e0092e5c9af6ff')
- version('1.2.2.2', sha256='e80ea9619ac18f4bfe44812198b40b9ae5c0ddf3f9cc91778f9ccc82168d1372')
- version('1.2.1', sha256='1f86e33ecde6c3b0d2098c47591a9cd0fa41fb973ebf5145859677492730df97')
- version('1.0.4', sha256='84225b993cb1ef7854edda9629858662cc8592b0d1344baadea4177486ece1eb')
+ version("2.0.3", sha256="7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7")
+ version("2.0.0", sha256="65ca3149cfc9ba15ac10a91f34b5d86b20f5fd693f44e3edf3e392402911619a")
+ version("1.2.2.3", sha256="af08b74fd5e7b4cb455fe67ed759346cbb8f3b9a4178f5f117e0092e5c9af6ff")
+ version("1.2.2.2", sha256="e80ea9619ac18f4bfe44812198b40b9ae5c0ddf3f9cc91778f9ccc82168d1372")
+ version("1.2.1", sha256="1f86e33ecde6c3b0d2098c47591a9cd0fa41fb973ebf5145859677492730df97")
+ version("1.0.4", sha256="84225b993cb1ef7854edda9629858662cc8592b0d1344baadea4177486ece1eb")
- depends_on('r-testthat', when='@2.0.0:')
- depends_on('nlopt@2.4.0:')
- depends_on('nlopt@2.7.0:', when='@2.0.0:')
+ depends_on("r-testthat", when="@2.0.0:")
+ depends_on("nlopt@2.4.0:")
+ depends_on("nlopt@2.7.0:", when="@2.0.0:")
def configure_args(self):
- include_flags = self.spec['nlopt'].headers.include_flags
- libs = self.spec['nlopt'].libs.libraries[0]
+ include_flags = self.spec["nlopt"].headers.include_flags
+ libs = self.spec["nlopt"].libs.libraries[0]
args = [
- '--with-nlopt-cflags={0}'.format(include_flags),
- '--with-nlopt-libs={0}'.format(libs)
+ "--with-nlopt-cflags={0}".format(include_flags),
+ "--with-nlopt-libs={0}".format(libs),
]
return args
diff --git a/var/spack/repos/builtin/packages/r-nmf/package.py b/var/spack/repos/builtin/packages/r-nmf/package.py
index 8290a8ac7a..18f32503ff 100644
--- a/var/spack/repos/builtin/packages/r-nmf/package.py
+++ b/var/spack/repos/builtin/packages/r-nmf/package.py
@@ -18,23 +18,23 @@ class RNmf(RPackage):
cran = "NMF"
- version('0.24.0', sha256='481811d35b3bbc07e9a60e2f853b05ef26581b43be9c6c4bab81151b8dcadd93')
- version('0.23.0', sha256='0f0cca01b37bf46fce90d2e951df609d3d377908aa607825083fd0c47cc24753')
- version('0.21.0', sha256='3b30c81c66066fab4a63c5611a0313418b840d8b63414db31ef0e932872d02e3')
+ version("0.24.0", sha256="481811d35b3bbc07e9a60e2f853b05ef26581b43be9c6c4bab81151b8dcadd93")
+ version("0.23.0", sha256="0f0cca01b37bf46fce90d2e951df609d3d377908aa607825083fd0c47cc24753")
+ version("0.21.0", sha256="3b30c81c66066fab4a63c5611a0313418b840d8b63414db31ef0e932872d02e3")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-pkgmaker@0.20:', type=('build', 'run'))
- depends_on('r-registry', type=('build', 'run'))
- depends_on('r-rngtools@1.2.3:', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-stringr@1.0.0:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-gridbase', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@0.23.0:')
- depends_on('r-biobase', type=('build', 'run'), when='@0.23.0:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-pkgmaker@0.20:", type=("build", "run"))
+ depends_on("r-registry", type=("build", "run"))
+ depends_on("r-rngtools@1.2.3:", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-stringr@1.0.0:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-gridbase", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@0.23.0:")
+ depends_on("r-biobase", type=("build", "run"), when="@0.23.0:")
diff --git a/var/spack/repos/builtin/packages/r-nmof/package.py b/var/spack/repos/builtin/packages/r-nmof/package.py
index c81489d659..10a477ef38 100644
--- a/var/spack/repos/builtin/packages/r-nmof/package.py
+++ b/var/spack/repos/builtin/packages/r-nmof/package.py
@@ -19,9 +19,9 @@ class RNmof(RPackage):
cran = "NMOF"
- version('2.5-1', sha256='0468ba72364cbdf90781824dfb1a60324203e2248d93cb6f1ffd6eb0d271f390')
- version('2.5-0', sha256='f44914c86d86c62f74cbc026179a694f0b3c2e3341b076acaf5de01de194a3c7')
- version('2.2-2', sha256='e64472f89023f0d779a35df753747d750174ce89644a9142312a1d2dc6f24642')
- version('1.6-0', sha256='5484cd43c28aaf23d560c2dde8bcd8dd440a205d2214eb50e02fe0bb42ec2755')
+ version("2.5-1", sha256="0468ba72364cbdf90781824dfb1a60324203e2248d93cb6f1ffd6eb0d271f390")
+ version("2.5-0", sha256="f44914c86d86c62f74cbc026179a694f0b3c2e3341b076acaf5de01de194a3c7")
+ version("2.2-2", sha256="e64472f89023f0d779a35df753747d750174ce89644a9142312a1d2dc6f24642")
+ version("1.6-0", sha256="5484cd43c28aaf23d560c2dde8bcd8dd440a205d2214eb50e02fe0bb42ec2755")
- depends_on('r@2.14:', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-nnet/package.py b/var/spack/repos/builtin/packages/r-nnet/package.py
index ab2be150e3..6ae384fe07 100644
--- a/var/spack/repos/builtin/packages/r-nnet/package.py
+++ b/var/spack/repos/builtin/packages/r-nnet/package.py
@@ -14,9 +14,9 @@ class RNnet(RPackage):
cran = "nnet"
- version('7.3-17', sha256='ee750bb8164aa058edf93823af987ab2c7ec64128dce2abeaae1b7d3661e9a67')
- version('7.3-14', sha256='5d1b9e9764d74d16c651f18f949aa4e9e2995ba64633cbfa2c6a7355ae30f4af')
- version('7.3-12', sha256='2723523e8581cc0e2215435ac773033577a16087a3f41d111757dd96b8c5559d')
+ version("7.3-17", sha256="ee750bb8164aa058edf93823af987ab2c7ec64128dce2abeaae1b7d3661e9a67")
+ version("7.3-14", sha256="5d1b9e9764d74d16c651f18f949aa4e9e2995ba64633cbfa2c6a7355ae30f4af")
+ version("7.3-12", sha256="2723523e8581cc0e2215435ac773033577a16087a3f41d111757dd96b8c5559d")
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@7.3-14:')
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@7.3-14:")
diff --git a/var/spack/repos/builtin/packages/r-nnls/package.py b/var/spack/repos/builtin/packages/r-nnls/package.py
index 1be27eca53..fdb2e88a4d 100644
--- a/var/spack/repos/builtin/packages/r-nnls/package.py
+++ b/var/spack/repos/builtin/packages/r-nnls/package.py
@@ -15,4 +15,4 @@ class RNnls(RPackage):
cran = "nnls"
- version('1.4', sha256='0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f')
+ version("1.4", sha256="0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f")
diff --git a/var/spack/repos/builtin/packages/r-nonnest2/package.py b/var/spack/repos/builtin/packages/r-nonnest2/package.py
index 968f94525b..36f9307f7f 100644
--- a/var/spack/repos/builtin/packages/r-nonnest2/package.py
+++ b/var/spack/repos/builtin/packages/r-nonnest2/package.py
@@ -18,10 +18,10 @@ class RNonnest2(RPackage):
cran = "nonnest2"
- version('0.5-5', sha256='027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5')
+ version("0.5-5", sha256="027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-compquadform', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-lavaan@0.6-6:', type=('build', 'run'))
- depends_on('r-sandwich', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-compquadform", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-lavaan@0.6-6:", type=("build", "run"))
+ depends_on("r-sandwich", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-nor1mix/package.py b/var/spack/repos/builtin/packages/r-nor1mix/package.py
index 2588defb86..c443c48029 100644
--- a/var/spack/repos/builtin/packages/r-nor1mix/package.py
+++ b/var/spack/repos/builtin/packages/r-nor1mix/package.py
@@ -17,5 +17,5 @@ class RNor1mix(RPackage):
cran = "nor1mix"
- version('1.3-0', sha256='9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0')
- version('1.2-3', sha256='435e6519e832ef5229c51ccb2619640e6b50dfc7470f70f0c938d18a114273af')
+ version("1.3-0", sha256="9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0")
+ version("1.2-3", sha256="435e6519e832ef5229c51ccb2619640e6b50dfc7470f70f0c938d18a114273af")
diff --git a/var/spack/repos/builtin/packages/r-nortest/package.py b/var/spack/repos/builtin/packages/r-nortest/package.py
index e521383179..6ea2a43d1a 100644
--- a/var/spack/repos/builtin/packages/r-nortest/package.py
+++ b/var/spack/repos/builtin/packages/r-nortest/package.py
@@ -13,4 +13,4 @@ class RNortest(RPackage):
cran = "nortest"
- version('1.0-4', sha256='a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f')
+ version("1.0-4", sha256="a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f")
diff --git a/var/spack/repos/builtin/packages/r-np/package.py b/var/spack/repos/builtin/packages/r-np/package.py
index 0efc94d67c..2ef397f4d4 100644
--- a/var/spack/repos/builtin/packages/r-np/package.py
+++ b/var/spack/repos/builtin/packages/r-np/package.py
@@ -19,13 +19,13 @@ class RNp(RPackage):
cran = "np"
- version('0.60-11', sha256='a3b31b8ad70c42826076786b2b1b63b79cdbadfa55fe126773bc357686fd33a9')
- version('0.60-10', sha256='a27b4bbca8b83a289c98920c1c8f5e9979ba9772086893252a4297dd2698081a')
- version('0.60-9', sha256='fe31a8985f0b1a576a7775022b7131093b1c9a8337734136d5fcad85fa6592fc')
- version('0.60-8', sha256='924c342feb2a862fa3871a45db5f8434dbbfb900cfc40c001a0872108a3a069e')
- version('0.60-2', sha256='25d667fc1056899516584b9d5d933377e6f4694d8e5e868dd047db572b69417f')
+ version("0.60-11", sha256="a3b31b8ad70c42826076786b2b1b63b79cdbadfa55fe126773bc357686fd33a9")
+ version("0.60-10", sha256="a27b4bbca8b83a289c98920c1c8f5e9979ba9772086893252a4297dd2698081a")
+ version("0.60-9", sha256="fe31a8985f0b1a576a7775022b7131093b1c9a8337734136d5fcad85fa6592fc")
+ version("0.60-8", sha256="924c342feb2a862fa3871a45db5f8434dbbfb900cfc40c001a0872108a3a069e")
+ version("0.60-2", sha256="25d667fc1056899516584b9d5d933377e6f4694d8e5e868dd047db572b69417f")
- depends_on('r-boot', type=('build', 'run'))
- depends_on('r-cubature', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'), when='@0.60-8:')
- depends_on('r-quantreg', type=('build', 'run'), when='@0.60-8:')
+ depends_on("r-boot", type=("build", "run"))
+ depends_on("r-cubature", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"), when="@0.60-8:")
+ depends_on("r-quantreg", type=("build", "run"), when="@0.60-8:")
diff --git a/var/spack/repos/builtin/packages/r-npsurv/package.py b/var/spack/repos/builtin/packages/r-npsurv/package.py
index 579029fa15..9c006a6030 100644
--- a/var/spack/repos/builtin/packages/r-npsurv/package.py
+++ b/var/spack/repos/builtin/packages/r-npsurv/package.py
@@ -18,7 +18,7 @@ class RNpsurv(RPackage):
cran = "npsurv"
- version('0.5-0', sha256='bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6')
- version('0.4-0', sha256='404cf7135dc40a04e9b81224a543307057a8278e11109ba1fcaa28e87c6204f3')
+ version("0.5-0", sha256="bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6")
+ version("0.4-0", sha256="404cf7135dc40a04e9b81224a543307057a8278e11109ba1fcaa28e87c6204f3")
- depends_on('r-lsei', type=('build', 'run'))
+ depends_on("r-lsei", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-numderiv/package.py b/var/spack/repos/builtin/packages/r-numderiv/package.py
index 6d67605095..68ef87fca3 100644
--- a/var/spack/repos/builtin/packages/r-numderiv/package.py
+++ b/var/spack/repos/builtin/packages/r-numderiv/package.py
@@ -19,7 +19,9 @@ class RNumderiv(RPackage):
cran = "numDeriv"
- version('2016.8-1.1', sha256='d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345')
- version('2016.8-1', sha256='1b681d273697dc780a3ac5bedabb4a257785732d9ca4ef68e4e4aac8b328d11e')
+ version(
+ "2016.8-1.1", sha256="d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345"
+ )
+ version("2016.8-1", sha256="1b681d273697dc780a3ac5bedabb4a257785732d9ca4ef68e4e4aac8b328d11e")
- depends_on('r@2.11.1:', type=('build', 'run'))
+ depends_on("r@2.11.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-oligoclasses/package.py b/var/spack/repos/builtin/packages/r-oligoclasses/package.py
index cd3d1365e3..610fe3f533 100644
--- a/var/spack/repos/builtin/packages/r-oligoclasses/package.py
+++ b/var/spack/repos/builtin/packages/r-oligoclasses/package.py
@@ -9,35 +9,35 @@ from spack.package import *
class ROligoclasses(RPackage):
"""Classes for high-throughput arrays supported by oligo and crlmm.
- This package contains class definitions, validity checks, and
- initialization methods for classes used by the oligo and crlmm
- packages."""
+ This package contains class definitions, validity checks, and
+ initialization methods for classes used by the oligo and crlmm
+ packages."""
bioc = "oligoClasses"
- version('1.58.0', commit='5544e937913bb0df54c66d738d279c38efeb30cd')
- version('1.56.0', commit='6e6c7b4ba54095d1d3c44c081839f57af9261cbf')
- version('1.52.0', commit='7995efbd2d26b8fa950830d62db92bdaf5cbeeea')
- version('1.46.0', commit='325684f66fc92f778098f24bcfbef0ce3da9717c')
- version('1.44.0', commit='d3e1134cdbea5f95b83215dc66e5f7b6a1cd0638')
- version('1.42.0', commit='ef125700d487b470281a9c1e985390633c4dd2bd')
- version('1.40.0', commit='32f40617e62d05c457baaebc7e27585b852848ed')
- version('1.38.0', commit='fe2bb7f02c7ed3cbd338254c27ceba6ff829a962')
-
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.3.2:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.27.1:', type=('build', 'run'), when='@1.44.0:')
- depends_on('r-biobase@2.17.8:', type=('build', 'run'))
- depends_on('r-iranges@2.5.17:', type=('build', 'run'))
- depends_on('r-genomicranges@1.23.7:', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-biostrings@2.23.6:', type=('build', 'run'))
- depends_on('r-affyio@1.23.2:', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@1.44.0:')
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'), when='@1.40.0:')
- depends_on('r-ff', type=('build', 'run'))
-
- depends_on('r-biocinstaller', type=('build', 'run'), when='@:1.42.0')
+ version("1.58.0", commit="5544e937913bb0df54c66d738d279c38efeb30cd")
+ version("1.56.0", commit="6e6c7b4ba54095d1d3c44c081839f57af9261cbf")
+ version("1.52.0", commit="7995efbd2d26b8fa950830d62db92bdaf5cbeeea")
+ version("1.46.0", commit="325684f66fc92f778098f24bcfbef0ce3da9717c")
+ version("1.44.0", commit="d3e1134cdbea5f95b83215dc66e5f7b6a1cd0638")
+ version("1.42.0", commit="ef125700d487b470281a9c1e985390633c4dd2bd")
+ version("1.40.0", commit="32f40617e62d05c457baaebc7e27585b852848ed")
+ version("1.38.0", commit="fe2bb7f02c7ed3cbd338254c27ceba6ff829a962")
+
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.3.2:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.27.1:", type=("build", "run"), when="@1.44.0:")
+ depends_on("r-biobase@2.17.8:", type=("build", "run"))
+ depends_on("r-iranges@2.5.17:", type=("build", "run"))
+ depends_on("r-genomicranges@1.23.7:", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-biostrings@2.23.6:", type=("build", "run"))
+ depends_on("r-affyio@1.23.2:", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@1.44.0:")
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"), when="@1.40.0:")
+ depends_on("r-ff", type=("build", "run"))
+
+ depends_on("r-biocinstaller", type=("build", "run"), when="@:1.42.0")
diff --git a/var/spack/repos/builtin/packages/r-openssl/package.py b/var/spack/repos/builtin/packages/r-openssl/package.py
index 6288f42a72..e4ddb66f20 100644
--- a/var/spack/repos/builtin/packages/r-openssl/package.py
+++ b/var/spack/repos/builtin/packages/r-openssl/package.py
@@ -22,21 +22,21 @@ class ROpenssl(RPackage):
cran = "openssl"
- version('2.0.2', sha256='862d3dc9bb69d92e36e83a7506be83443d4a4957f5f08f6617d7873c67a1f1c4')
- version('1.4.6', sha256='43b832af70e71770168b997107c52c8f406f8c33e9ef9b289610bccea2f34359')
- version('1.4.5', sha256='4fc141aba8e94e9f5ecce6eda07e45a5e7048d8609ba909ede4f7f4933e0c1f7')
- version('1.4.3', sha256='342001df8ecff5df2cdf757f123d35ea4b449751045f708b91f27c1be0d48269')
- version('1.4.1', sha256='f7fbecc75254fc43297a95a4338c674ab9ba2ec056b59e027d16d23122161fc6')
- version('1.3', sha256='1c83f4d529adc1f5ec40e477c690a8d5b0a42422f3e542f1fc39062dcfaca4bf')
- version('0.9.7', sha256='697d9e86f99270163744538dc3dc4d19d00af89a8570a1d304b110e1d2650e9d')
- version('0.9.6', sha256='6dd6d1cade4004962d516ad761fff0812beec0232318b385d286761423a5dc39')
- version('0.9.4', sha256='cb7349defa5428acc0907629a4f53f82d2519af219e5d6a41f852cf55b1feb66')
-
- depends_on('r-askpass', type=('build', 'run'), when='@1.2:')
- depends_on('openssl@1.0.1:')
- depends_on('openssl@1.0.2:', when='@2.0.2:')
+ version("2.0.2", sha256="862d3dc9bb69d92e36e83a7506be83443d4a4957f5f08f6617d7873c67a1f1c4")
+ version("1.4.6", sha256="43b832af70e71770168b997107c52c8f406f8c33e9ef9b289610bccea2f34359")
+ version("1.4.5", sha256="4fc141aba8e94e9f5ecce6eda07e45a5e7048d8609ba909ede4f7f4933e0c1f7")
+ version("1.4.3", sha256="342001df8ecff5df2cdf757f123d35ea4b449751045f708b91f27c1be0d48269")
+ version("1.4.1", sha256="f7fbecc75254fc43297a95a4338c674ab9ba2ec056b59e027d16d23122161fc6")
+ version("1.3", sha256="1c83f4d529adc1f5ec40e477c690a8d5b0a42422f3e542f1fc39062dcfaca4bf")
+ version("0.9.7", sha256="697d9e86f99270163744538dc3dc4d19d00af89a8570a1d304b110e1d2650e9d")
+ version("0.9.6", sha256="6dd6d1cade4004962d516ad761fff0812beec0232318b385d286761423a5dc39")
+ version("0.9.4", sha256="cb7349defa5428acc0907629a4f53f82d2519af219e5d6a41f852cf55b1feb66")
+
+ depends_on("r-askpass", type=("build", "run"), when="@1.2:")
+ depends_on("openssl@1.0.1:")
+ depends_on("openssl@1.0.2:", when="@2.0.2:")
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
flags.append(self.compiler.c99_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/r-openxlsx/package.py b/var/spack/repos/builtin/packages/r-openxlsx/package.py
index c394938bc3..e302c495f1 100644
--- a/var/spack/repos/builtin/packages/r-openxlsx/package.py
+++ b/var/spack/repos/builtin/packages/r-openxlsx/package.py
@@ -16,11 +16,11 @@ class ROpenxlsx(RPackage):
cran = "openxlsx"
- version('4.2.5', sha256='65d06d2819b656ac30fc78437ee712a83fb5a7ab750f56268e5c9e578c582519')
- version('4.2.3', sha256='cdef89d826e50bef772af3e5eae935ca0316626a6e22f55f7631eac733b5e46f')
- version('4.1.0.1', sha256='8b7011debe14714de035ef42797c8caa923162d5dc3cc3c2a299fc10eff3d4d1')
+ version("4.2.5", sha256="65d06d2819b656ac30fc78437ee712a83fb5a7ab750f56268e5c9e578c582519")
+ version("4.2.3", sha256="cdef89d826e50bef772af3e5eae935ca0316626a6e22f55f7631eac733b5e46f")
+ version("4.1.0.1", sha256="8b7011debe14714de035ef42797c8caa923162d5dc3cc3c2a299fc10eff3d4d1")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'), when='@4.2.3:')
- depends_on('r-zip', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"), when="@4.2.3:")
+ depends_on("r-zip", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-optimx/package.py b/var/spack/repos/builtin/packages/r-optimx/package.py
index 6333144c47..bf1cc3264a 100644
--- a/var/spack/repos/builtin/packages/r-optimx/package.py
+++ b/var/spack/repos/builtin/packages/r-optimx/package.py
@@ -20,8 +20,10 @@ class ROptimx(RPackage):
cran = "optimx"
- version('2022-4.30', sha256='ebe9887a22296cf4b2db07981aaa1f898bf7c17fb61a4b398c228d4077d0b410')
- version('2021-10.12', sha256='39384c856b5efa3992cd230548b60eff936d428111ad6ad5b8fb98a3bcbb7943')
- version('2020-4.2', sha256='6381c25c322287fc98ab1b2965d3f68c9a92c587c76aca1d33fd6428b2167101')
+ version("2022-4.30", sha256="ebe9887a22296cf4b2db07981aaa1f898bf7c17fb61a4b398c228d4077d0b410")
+ version(
+ "2021-10.12", sha256="39384c856b5efa3992cd230548b60eff936d428111ad6ad5b8fb98a3bcbb7943"
+ )
+ version("2020-4.2", sha256="6381c25c322287fc98ab1b2965d3f68c9a92c587c76aca1d33fd6428b2167101")
- depends_on('r-numderiv', type=('build', 'run'))
+ depends_on("r-numderiv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-optparse/package.py b/var/spack/repos/builtin/packages/r-optparse/package.py
index 1465d7c29c..8b69ddc867 100644
--- a/var/spack/repos/builtin/packages/r-optparse/package.py
+++ b/var/spack/repos/builtin/packages/r-optparse/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class ROptparse(RPackage):
"""Command Line Option Parser.
- A command line parser inspired by Python's 'optparse' library to be used
- with Rscript to write "#!" shebang scripts that accept short and long
- flag/options"""
+ A command line parser inspired by Python's 'optparse' library to be used
+ with Rscript to write "#!" shebang scripts that accept short and long
+ flag/options"""
cran = "optparse"
- version('1.7.1', sha256='324e304c13efd565d766766193d4ccd75e2cd949dfcfb416afc3939489071fe7')
- version('1.6.6', sha256='51779d497146e9354b1153713d939e81551e08948c2b00e4b117b1377c0b60d0')
- version('1.6.2', sha256='b5a5a49ae05005f20359868329b73daac83d50f5e088981dcf5c41399534377f')
- version('1.6.1', sha256='819be3eff54cb7f3f18703eed9714fc655290ab8e169f87605433d069b597e13')
- version('1.6.0', sha256='10e816bb8f5b08d52cfd3a0028903a8c62ef9cf7bfd85f9dae8af442e82bfbb4')
+ version("1.7.1", sha256="324e304c13efd565d766766193d4ccd75e2cd949dfcfb416afc3939489071fe7")
+ version("1.6.6", sha256="51779d497146e9354b1153713d939e81551e08948c2b00e4b117b1377c0b60d0")
+ version("1.6.2", sha256="b5a5a49ae05005f20359868329b73daac83d50f5e088981dcf5c41399534377f")
+ version("1.6.1", sha256="819be3eff54cb7f3f18703eed9714fc655290ab8e169f87605433d069b597e13")
+ version("1.6.0", sha256="10e816bb8f5b08d52cfd3a0028903a8c62ef9cf7bfd85f9dae8af442e82bfbb4")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-getopt@1.20.2:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-getopt@1.20.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-ordinal/package.py b/var/spack/repos/builtin/packages/r-ordinal/package.py
index b679f50232..a46d83c825 100644
--- a/var/spack/repos/builtin/packages/r-ordinal/package.py
+++ b/var/spack/repos/builtin/packages/r-ordinal/package.py
@@ -23,11 +23,13 @@ class ROrdinal(RPackage):
cran = "ordinal"
- version('2019.12-10', sha256='7a41e7b7e852a8fa3e911f8859d36e5709ccec5ca42ee3de14a813b7aaac7725')
- version('2019.4-25', sha256='2812ad7a123cae5dbe053d1fe5f2d9935afc799314077eac185c844e3c9d79df')
+ version(
+ "2019.12-10", sha256="7a41e7b7e852a8fa3e911f8859d36e5709ccec5ca42ee3de14a813b7aaac7725"
+ )
+ version("2019.4-25", sha256="2812ad7a123cae5dbe053d1fe5f2d9935afc799314077eac185c844e3c9d79df")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-ucminf', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-ucminf", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-org-hs-eg-db/package.py b/var/spack/repos/builtin/packages/r-org-hs-eg-db/package.py
index 0fd0e5a130..d8edda67ff 100644
--- a/var/spack/repos/builtin/packages/r-org-hs-eg-db/package.py
+++ b/var/spack/repos/builtin/packages/r-org-hs-eg-db/package.py
@@ -13,23 +13,31 @@ class ROrgHsEgDb(RPackage):
Gene identifiers."""
bioc = "org.Hs.eg.db"
- url = "https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/org.Hs.eg.db_3.4.1.tar.gz"
+ url = "https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/org.Hs.eg.db_3.4.1.tar.gz"
- version('3.14.0',
- sha256='0f87b3f1925a1d7007e5ad9200bdf511788bd1d7cb76f1121feeb109889c2b00',
- url='https://www.bioconductor.org/packages/3.14/data/annotation/src/contrib/org.Hs.eg.db_3.14.0.tar.gz')
- version('3.12.0',
- sha256='48a1ab5347ec7a8602c555d9aba233102b61ffa2765826e5c8890ff0003249bb',
- url='https://www.bioconductor.org/packages/3.12/data/annotation/src/contrib/org.Hs.eg.db_3.12.0.tar.gz')
- version('3.8.2',
- sha256='a0a16b7428f9e3d6ba54ebf4e05cd97a7bd298510ec4cf46ed2bed3e8f80db02',
- url='https://www.bioconductor.org/packages/3.9/data/annotation/src/contrib/org.Hs.eg.db_3.8.2.tar.gz')
- version('3.4.1',
- sha256='0f87b3f1925a1d7007e5ad9200bdf511788bd1d7cb76f1121feeb109889c2b00',
- url='https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/org.Hs.eg.db_3.4.1.tar.gz')
+ version(
+ "3.14.0",
+ sha256="0f87b3f1925a1d7007e5ad9200bdf511788bd1d7cb76f1121feeb109889c2b00",
+ url="https://www.bioconductor.org/packages/3.14/data/annotation/src/contrib/org.Hs.eg.db_3.14.0.tar.gz",
+ )
+ version(
+ "3.12.0",
+ sha256="48a1ab5347ec7a8602c555d9aba233102b61ffa2765826e5c8890ff0003249bb",
+ url="https://www.bioconductor.org/packages/3.12/data/annotation/src/contrib/org.Hs.eg.db_3.12.0.tar.gz",
+ )
+ version(
+ "3.8.2",
+ sha256="a0a16b7428f9e3d6ba54ebf4e05cd97a7bd298510ec4cf46ed2bed3e8f80db02",
+ url="https://www.bioconductor.org/packages/3.9/data/annotation/src/contrib/org.Hs.eg.db_3.8.2.tar.gz",
+ )
+ version(
+ "3.4.1",
+ sha256="0f87b3f1925a1d7007e5ad9200bdf511788bd1d7cb76f1121feeb109889c2b00",
+ url="https://www.bioconductor.org/packages/3.5/data/annotation/src/contrib/org.Hs.eg.db_3.4.1.tar.gz",
+ )
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.37.4:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.43.1:', type=('build', 'run'), when='@3.8.2:')
- depends_on('r-annotationdbi@1.51.3:', type=('build', 'run'), when='@3.12.0:')
- depends_on('r-annotationdbi@1.55.1:', type=('build', 'run'), when='@3.14.0:')
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.37.4:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.43.1:", type=("build", "run"), when="@3.8.2:")
+ depends_on("r-annotationdbi@1.51.3:", type=("build", "run"), when="@3.12.0:")
+ depends_on("r-annotationdbi@1.55.1:", type=("build", "run"), when="@3.14.0:")
diff --git a/var/spack/repos/builtin/packages/r-organismdbi/package.py b/var/spack/repos/builtin/packages/r-organismdbi/package.py
index 0e1f6b0b6f..bd28958586 100644
--- a/var/spack/repos/builtin/packages/r-organismdbi/package.py
+++ b/var/spack/repos/builtin/packages/r-organismdbi/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class ROrganismdbi(RPackage):
"""Software to enable the smooth interfacing of different database
- packages.
+ packages.
- The package enables a simple unified interface to several annotation
- packages each of which has its own schema by taking advantage of the
- fact that each of these packages implements a select methods."""
+ The package enables a simple unified interface to several annotation
+ packages each of which has its own schema by taking advantage of the
+ fact that each of these packages implements a select methods."""
bioc = "OrganismDbi"
- version('1.38.0', commit='2ca01830a6ffcd0c0018d2bdbd3de8b4df716771')
- version('1.36.0', commit='3e7a90d248ff09f05ccd381ff921e12373a4b330')
- version('1.32.0', commit='c8100c4fea17bf1b10d4efacc73a7e2866d649e3')
- version('1.26.0', commit='495b4a8f8264d06d827537d43b3c6cc705244bb5')
- version('1.24.0', commit='3428952dc0f267a01e256a1c0873656cfbfde7f8')
- version('1.22.0', commit='24e953eb3847222d8018103b79b9fc72483cc513')
- version('1.20.0', commit='d42e06a24777e5ffb966ad5addb4f46dfffa2269')
- version('1.18.1', commit='ba2d1237256805e935d9534a0c6f1ded07b42e95')
-
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.15.10:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.33.15:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.23.31:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.39.4:', type=('build', 'run'), when='@1.32.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocmanager', type=('build', 'run'), when='@1.24.0:')
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.13:', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-rbgl', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
-
- depends_on('r-biocinstaller', type=('build', 'run'), when='@:1.22.0')
+ version("1.38.0", commit="2ca01830a6ffcd0c0018d2bdbd3de8b4df716771")
+ version("1.36.0", commit="3e7a90d248ff09f05ccd381ff921e12373a4b330")
+ version("1.32.0", commit="c8100c4fea17bf1b10d4efacc73a7e2866d649e3")
+ version("1.26.0", commit="495b4a8f8264d06d827537d43b3c6cc705244bb5")
+ version("1.24.0", commit="3428952dc0f267a01e256a1c0873656cfbfde7f8")
+ version("1.22.0", commit="24e953eb3847222d8018103b79b9fc72483cc513")
+ version("1.20.0", commit="d42e06a24777e5ffb966ad5addb4f46dfffa2269")
+ version("1.18.1", commit="ba2d1237256805e935d9534a0c6f1ded07b42e95")
+
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.15.10:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.33.15:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.23.31:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.39.4:", type=("build", "run"), when="@1.32.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocmanager", type=("build", "run"), when="@1.24.0:")
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.13:", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-rbgl", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+
+ depends_on("r-biocinstaller", type=("build", "run"), when="@:1.22.0")
diff --git a/var/spack/repos/builtin/packages/r-packrat/package.py b/var/spack/repos/builtin/packages/r-packrat/package.py
index 16e6261025..09d177380b 100644
--- a/var/spack/repos/builtin/packages/r-packrat/package.py
+++ b/var/spack/repos/builtin/packages/r-packrat/package.py
@@ -15,11 +15,11 @@ class RPackrat(RPackage):
cran = "packrat"
- version('0.8.0', sha256='3025b9052974bec00fb09299226b80004d48e611e15a65e5a0bc49d3538844ef')
- version('0.7.0', sha256='e8bce1fd78f28f3a7bf56e65a2ae2c6802e69bf55466c24e1d1a4b8a5f83dcc2')
- version('0.5.0', sha256='d6a09290fbe037a6c740921c5dcd70b500e5b36e4713eae4010adf0c456bc5f7')
- version('0.4.9-3', sha256='87299938a751defc54eb00a029aecd3522d6349d900aaa8b3e1aa6bf31e98234')
- version('0.4.8-1', sha256='a283caf4fda419e6571ae9ca6210a59002a030721feb8a50c0d0787fd6f672f3')
- version('0.4.7-1', sha256='6e5067edd41a4086bb828617d3378210a3dbc995e223b02af811549519f3223a')
+ version("0.8.0", sha256="3025b9052974bec00fb09299226b80004d48e611e15a65e5a0bc49d3538844ef")
+ version("0.7.0", sha256="e8bce1fd78f28f3a7bf56e65a2ae2c6802e69bf55466c24e1d1a4b8a5f83dcc2")
+ version("0.5.0", sha256="d6a09290fbe037a6c740921c5dcd70b500e5b36e4713eae4010adf0c456bc5f7")
+ version("0.4.9-3", sha256="87299938a751defc54eb00a029aecd3522d6349d900aaa8b3e1aa6bf31e98234")
+ version("0.4.8-1", sha256="a283caf4fda419e6571ae9ca6210a59002a030721feb8a50c0d0787fd6f672f3")
+ version("0.4.7-1", sha256="6e5067edd41a4086bb828617d3378210a3dbc995e223b02af811549519f3223a")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pacman/package.py b/var/spack/repos/builtin/packages/r-pacman/package.py
index 45b66f0697..509d0e2890 100644
--- a/var/spack/repos/builtin/packages/r-pacman/package.py
+++ b/var/spack/repos/builtin/packages/r-pacman/package.py
@@ -16,12 +16,12 @@ class RPacman(RPackage):
cran = "pacman"
- version('0.5.1', sha256='9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c')
- version('0.5.0', sha256='61294757212ab0aa0153219d7d031f58be6f30ead88d84859001d58caa76603d')
- version('0.4.1', sha256='fffa72307912cbd5aa5bee0a9b65931500483036ccffb1791dd808eb5eb70362')
+ version("0.5.1", sha256="9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c")
+ version("0.5.0", sha256="61294757212ab0aa0153219d7d031f58be6f30ead88d84859001d58caa76603d")
+ version("0.4.1", sha256="fffa72307912cbd5aa5bee0a9b65931500483036ccffb1791dd808eb5eb70362")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.5.0:')
- depends_on('r-remotes', type=('build', 'run'), when='@0.5.0:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.5.0:")
+ depends_on("r-remotes", type=("build", "run"), when="@0.5.0:")
- depends_on('r-devtools', type=('build', 'run'), when='@:0.4.6')
+ depends_on("r-devtools", type=("build", "run"), when="@:0.4.6")
diff --git a/var/spack/repos/builtin/packages/r-paleotree/package.py b/var/spack/repos/builtin/packages/r-paleotree/package.py
index ffc7334975..b3c600e54c 100644
--- a/var/spack/repos/builtin/packages/r-paleotree/package.py
+++ b/var/spack/repos/builtin/packages/r-paleotree/package.py
@@ -15,17 +15,17 @@ class RPaleotree(RPackage):
cran = "paleotree"
- version('3.4.4', sha256='8809c3395e6904669db8c7cc3b54dd5c3c76948c8568d310cf02e4a5dbc678e4')
- version('3.3.25', sha256='aa64b9120075581229439227a12db776d052b03eb5f9721692a16a9402ac8712')
- version('3.3.0', sha256='f8f6b0228dd5290b251cad3a8626689442b5aa793d8f072c8c2c7813a063df90')
- version('3.1.3', sha256='4c1cc8a5e171cbbbd88f78914f86d5e6d144ae573816fbeeff2ab54a814ec614')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@4.1.0:', type=('build', 'run'), when='@3.4.4:')
- depends_on('r-ape@4.1:', type=('build', 'run'))
- depends_on('r-phangorn@2.0.0:', type=('build', 'run'))
- depends_on('r-phangorn@2.6.3:', type=('build', 'run'), when='@3.4.4:')
- depends_on('r-phytools@0.6-00:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'), when='@3.3.0:')
- depends_on('r-png', type=('build', 'run'), when='@3.3.0:')
- depends_on('r-rcurl', type=('build', 'run'), when='@3.3.0:')
+ version("3.4.4", sha256="8809c3395e6904669db8c7cc3b54dd5c3c76948c8568d310cf02e4a5dbc678e4")
+ version("3.3.25", sha256="aa64b9120075581229439227a12db776d052b03eb5f9721692a16a9402ac8712")
+ version("3.3.0", sha256="f8f6b0228dd5290b251cad3a8626689442b5aa793d8f072c8c2c7813a063df90")
+ version("3.1.3", sha256="4c1cc8a5e171cbbbd88f78914f86d5e6d144ae573816fbeeff2ab54a814ec614")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@4.1.0:", type=("build", "run"), when="@3.4.4:")
+ depends_on("r-ape@4.1:", type=("build", "run"))
+ depends_on("r-phangorn@2.0.0:", type=("build", "run"))
+ depends_on("r-phangorn@2.6.3:", type=("build", "run"), when="@3.4.4:")
+ depends_on("r-phytools@0.6-00:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"), when="@3.3.0:")
+ depends_on("r-png", type=("build", "run"), when="@3.3.0:")
+ depends_on("r-rcurl", type=("build", "run"), when="@3.3.0:")
diff --git a/var/spack/repos/builtin/packages/r-pamr/package.py b/var/spack/repos/builtin/packages/r-pamr/package.py
index 061f8cf02e..7f2d6abfa7 100644
--- a/var/spack/repos/builtin/packages/r-pamr/package.py
+++ b/var/spack/repos/builtin/packages/r-pamr/package.py
@@ -13,9 +13,9 @@ class RPamr(RPackage):
cran = "pamr"
- version('1.56.1', sha256='d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779')
- version('1.55', sha256='ed910194937a6097ec79234d84777856fd520b111a7c79f7c86dc607169cc3c3')
+ version("1.56.1", sha256="d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779")
+ version("1.55", sha256="ed910194937a6097ec79234d84777856fd520b111a7c79f7c86dc607169cc3c3")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pan/package.py b/var/spack/repos/builtin/packages/r-pan/package.py
index edab1f4c4c..524648eed1 100644
--- a/var/spack/repos/builtin/packages/r-pan/package.py
+++ b/var/spack/repos/builtin/packages/r-pan/package.py
@@ -18,5 +18,5 @@ class RPan(RPackage):
cran = "pan"
- version('1.6', sha256='adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6')
- version('1.4', sha256='e6a83f0799cc9714f5052f159be6e82ececd013d1626f40c828cda0ceb8b76dc')
+ version("1.6", sha256="adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6")
+ version("1.4", sha256="e6a83f0799cc9714f5052f159be6e82ececd013d1626f40c828cda0ceb8b76dc")
diff --git a/var/spack/repos/builtin/packages/r-parallelly/package.py b/var/spack/repos/builtin/packages/r-parallelly/package.py
index 10acfa4c44..97331fc50b 100644
--- a/var/spack/repos/builtin/packages/r-parallelly/package.py
+++ b/var/spack/repos/builtin/packages/r-parallelly/package.py
@@ -22,7 +22,7 @@ class RParallelly(RPackage):
cran = "parallelly"
- version('1.31.1', sha256='40c7fc3d842fa928448e574091a521bead2367bf97545c744ca78ea9af3117da')
- version('1.30.0', sha256='aab080cb709bab232b2d808053efb2391eeb30a2de9497cbe474c99df89f9f3b')
- version('1.28.1', sha256='f4ae883b18409adb83c561ed69427e740e1b50bf85ef57f48c3f2edf837cc663')
- version('1.23.0', sha256='376ce2381587380a4da60f9563710d63084a605f93aa364e9349f2523e83bc08')
+ version("1.31.1", sha256="40c7fc3d842fa928448e574091a521bead2367bf97545c744ca78ea9af3117da")
+ version("1.30.0", sha256="aab080cb709bab232b2d808053efb2391eeb30a2de9497cbe474c99df89f9f3b")
+ version("1.28.1", sha256="f4ae883b18409adb83c561ed69427e740e1b50bf85ef57f48c3f2edf837cc663")
+ version("1.23.0", sha256="376ce2381587380a4da60f9563710d63084a605f93aa364e9349f2523e83bc08")
diff --git a/var/spack/repos/builtin/packages/r-parallelmap/package.py b/var/spack/repos/builtin/packages/r-parallelmap/package.py
index ab03375e7e..af4eb9d4f0 100644
--- a/var/spack/repos/builtin/packages/r-parallelmap/package.py
+++ b/var/spack/repos/builtin/packages/r-parallelmap/package.py
@@ -18,11 +18,11 @@ class RParallelmap(RPackage):
cran = "parallelMap"
- version('1.5.1', sha256='c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1')
- version('1.5.0', sha256='4afa727f4786279718cc799e45e91859a46f5cbc1ee652b0f47ae3b9f9d45e4e')
- version('1.4', sha256='fb6f15e325f729f1c5218768b17c20909ee857069c6cc5d8df50e1dafe26ed5b')
- version('1.3', sha256='a52d93572c1b85281e41d8e3c2db97dda5fce96c222e04171b4489ec5000cd08')
+ version("1.5.1", sha256="c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1")
+ version("1.5.0", sha256="4afa727f4786279718cc799e45e91859a46f5cbc1ee652b0f47ae3b9f9d45e4e")
+ version("1.4", sha256="fb6f15e325f729f1c5218768b17c20909ee857069c6cc5d8df50e1dafe26ed5b")
+ version("1.3", sha256="a52d93572c1b85281e41d8e3c2db97dda5fce96c222e04171b4489ec5000cd08")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-bbmisc@1.8:', type=('build', 'run'))
- depends_on('r-checkmate@1.8.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-bbmisc@1.8:", type=("build", "run"))
+ depends_on("r-checkmate@1.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-paramhelpers/package.py b/var/spack/repos/builtin/packages/r-paramhelpers/package.py
index 88c1e3425a..4956013f4e 100644
--- a/var/spack/repos/builtin/packages/r-paramhelpers/package.py
+++ b/var/spack/repos/builtin/packages/r-paramhelpers/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class RParamhelpers(RPackage):
"""Helpers for Parameters in Black-Box Optimization, Tuning and Machine
- Learning.
+ Learning.
- Functions for parameter descriptions and operations in black-box
- optimization, tuning and machine learning. Parameters can be described
- (type, constraints, defaults, etc.), combined to parameter sets and can in
- general be programmed on. A useful OptPath object (archive) to log function
- evaluations is also provided."""
+ Functions for parameter descriptions and operations in black-box
+ optimization, tuning and machine learning. Parameters can be described
+ (type, constraints, defaults, etc.), combined to parameter sets and can in
+ general be programmed on. A useful OptPath object (archive) to log function
+ evaluations is also provided."""
cran = "ParamHelpers"
- version('1.14', sha256='b17652d0a69de3241a69f20be4ad1bfe02c413328a17f3c1ac7b73886a6ba2eb')
- version('1.12', sha256='b54db9e6608ba530345c380c757a60cb2b78ab08992a890b1a41914ce7abcc14')
- version('1.11', sha256='1614f4c0842cf822befc01228ab7263417f3423dd6a1dc24347b14f8491637a0')
- version('1.10', sha256='80629ba62e93b0b706bf2e451578b94fbb9c5b95ff109ecfb5b011bfe0a0fa5b')
+ version("1.14", sha256="b17652d0a69de3241a69f20be4ad1bfe02c413328a17f3c1ac7b73886a6ba2eb")
+ version("1.12", sha256="b54db9e6608ba530345c380c757a60cb2b78ab08992a890b1a41914ce7abcc14")
+ version("1.11", sha256="1614f4c0842cf822befc01228ab7263417f3423dd6a1dc24347b14f8491637a0")
+ version("1.10", sha256="80629ba62e93b0b706bf2e451578b94fbb9c5b95ff109ecfb5b011bfe0a0fa5b")
- depends_on('r-backports', type=('build', 'run'), when='@1.11:')
- depends_on('r-bbmisc@1.10:', type=('build', 'run'))
- depends_on('r-checkmate@1.8.2:', type=('build', 'run'))
- depends_on('r-fastmatch', type=('build', 'run'), when='@1.11:')
+ depends_on("r-backports", type=("build", "run"), when="@1.11:")
+ depends_on("r-bbmisc@1.10:", type=("build", "run"))
+ depends_on("r-checkmate@1.8.2:", type=("build", "run"))
+ depends_on("r-fastmatch", type=("build", "run"), when="@1.11:")
diff --git a/var/spack/repos/builtin/packages/r-party/package.py b/var/spack/repos/builtin/packages/r-party/package.py
index baa9767474..b92df7cc73 100644
--- a/var/spack/repos/builtin/packages/r-party/package.py
+++ b/var/spack/repos/builtin/packages/r-party/package.py
@@ -28,19 +28,19 @@ class RParty(RPackage):
cran = "party"
- version('1.3-10', sha256='e5892955f6ce662ade568e646d1d672c3ecbf5d4e74b4a887a353e6160f7b56a')
- version('1.3-9', sha256='29a1fefdb86369285ebf5d48ab51268a83e2011fb9d9f609a2250b5f0b169089')
- version('1.3-5', sha256='1c3a35d3fe56498361542b3782de2326561c14a8fa1b76f3c9f13beb1fd51364')
- version('1.3-3', sha256='9f72eea02d43a4cee105790ae7185b0478deb6011ab049cc9d31a0df3abf7ce9')
- version('1.3-2', sha256='9f350fa21114151c49bccc3d5f8536dbc5a608cfd88f60461c9805a4c630510b')
- version('1.1-2', sha256='c3632b4b02dc12ec949e2ee5b24004e4a4768b0bc9737432e9a85acbc2ed0e74')
+ version("1.3-10", sha256="e5892955f6ce662ade568e646d1d672c3ecbf5d4e74b4a887a353e6160f7b56a")
+ version("1.3-9", sha256="29a1fefdb86369285ebf5d48ab51268a83e2011fb9d9f609a2250b5f0b169089")
+ version("1.3-5", sha256="1c3a35d3fe56498361542b3782de2326561c14a8fa1b76f3c9f13beb1fd51364")
+ version("1.3-3", sha256="9f72eea02d43a4cee105790ae7185b0478deb6011ab049cc9d31a0df3abf7ce9")
+ version("1.3-2", sha256="9f350fa21114151c49bccc3d5f8536dbc5a608cfd88f60461c9805a4c630510b")
+ version("1.1-2", sha256="c3632b4b02dc12ec949e2ee5b24004e4a4768b0bc9737432e9a85acbc2ed0e74")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@1.2-3:')
- depends_on('r-mvtnorm@1.0-2:', type=('build', 'run'))
- depends_on('r-modeltools@0.2-21:', type=('build', 'run'))
- depends_on('r-strucchange', type=('build', 'run'))
- depends_on('r-survival@2.37-7:', type=('build', 'run'))
- depends_on('r-coin@1.1-0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-sandwich@1.1-1:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@1.2-3:")
+ depends_on("r-mvtnorm@1.0-2:", type=("build", "run"))
+ depends_on("r-modeltools@0.2-21:", type=("build", "run"))
+ depends_on("r-strucchange", type=("build", "run"))
+ depends_on("r-survival@2.37-7:", type=("build", "run"))
+ depends_on("r-coin@1.1-0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-sandwich@1.1-1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-partykit/package.py b/var/spack/repos/builtin/packages/r-partykit/package.py
index c8419a3094..538b166cf5 100644
--- a/var/spack/repos/builtin/packages/r-partykit/package.py
+++ b/var/spack/repos/builtin/packages/r-partykit/package.py
@@ -23,17 +23,17 @@ class RPartykit(RPackage):
cran = "partykit"
- version('1.2-15', sha256='b2e9454b2f4b9a39c9581c5871462f00acef4eeee5696ce3e32cfa1468d1e3ac')
- version('1.2-11', sha256='3a83332d782a235cfb5ba60cc8f1c51d46ca5477b22979a614f514d1c951c602')
- version('1.2-5', sha256='f48e30790f93fa5d03e68e8ce71ce33d009d107d46d45d85da2016b38b27629c')
- version('1.2-3', sha256='56749b246e283f94ac2ad2cdcfc0a477e05cd44b5e8f6e462c26f4dff818da35')
- version('1.1-1', sha256='d9f4762690cd85ee4e3dc44f5a14069d10a1900afdfbcdc284d2a94b4a8e8332')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.2-11:')
- depends_on('r-libcoin@1.0-0:', type=('build', 'run'), when='@1.2-0:')
- depends_on('r-mvtnorm', type=('build', 'run'), when='@1.2-0:')
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-formula@1.2-1:', type=('build', 'run'))
- depends_on('r-inum@1.0-0:', type=('build', 'run'), when='@1.2-0:')
- depends_on('r-rpart@4.1-11:', type=('build', 'run'), when='@1.2-0:')
+ version("1.2-15", sha256="b2e9454b2f4b9a39c9581c5871462f00acef4eeee5696ce3e32cfa1468d1e3ac")
+ version("1.2-11", sha256="3a83332d782a235cfb5ba60cc8f1c51d46ca5477b22979a614f514d1c951c602")
+ version("1.2-5", sha256="f48e30790f93fa5d03e68e8ce71ce33d009d107d46d45d85da2016b38b27629c")
+ version("1.2-3", sha256="56749b246e283f94ac2ad2cdcfc0a477e05cd44b5e8f6e462c26f4dff818da35")
+ version("1.1-1", sha256="d9f4762690cd85ee4e3dc44f5a14069d10a1900afdfbcdc284d2a94b4a8e8332")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.2-11:")
+ depends_on("r-libcoin@1.0-0:", type=("build", "run"), when="@1.2-0:")
+ depends_on("r-mvtnorm", type=("build", "run"), when="@1.2-0:")
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-formula@1.2-1:", type=("build", "run"))
+ depends_on("r-inum@1.0-0:", type=("build", "run"), when="@1.2-0:")
+ depends_on("r-rpart@4.1-11:", type=("build", "run"), when="@1.2-0:")
diff --git a/var/spack/repos/builtin/packages/r-patchwork/package.py b/var/spack/repos/builtin/packages/r-patchwork/package.py
index 87c6ac10f6..0450c6500d 100644
--- a/var/spack/repos/builtin/packages/r-patchwork/package.py
+++ b/var/spack/repos/builtin/packages/r-patchwork/package.py
@@ -18,7 +18,7 @@ class RPatchwork(RPackage):
cran = "patchwork"
- version('1.1.1', sha256='cf0d7d9f92945729b499d6e343441c55007d5b371206d5389b9e5154dc7cf481')
+ version("1.1.1", sha256="cf0d7d9f92945729b499d6e343441c55007d5b371206d5389b9e5154dc7cf481")
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pathview/package.py b/var/spack/repos/builtin/packages/r-pathview/package.py
index ab507d1320..01a8f0f870 100644
--- a/var/spack/repos/builtin/packages/r-pathview/package.py
+++ b/var/spack/repos/builtin/packages/r-pathview/package.py
@@ -9,33 +9,33 @@ from spack.package import *
class RPathview(RPackage):
"""a tool set for pathway based data integration and visualization.
- Pathview is a tool set for pathway based data integration and
- visualization. It maps and renders a wide variety of biological data on
- relevant pathway graphs. All users need is to supply their data and
- specify the target pathway. Pathview automatically downloads the pathway
- graph data, parses the data file, maps user data to the pathway, and
- render pathway graph with the mapped data. In addition, Pathview also
- seamlessly integrates with pathway and gene set (enrichment) analysis
- tools for large-scale and fully automated analysis."""
+ Pathview is a tool set for pathway based data integration and
+ visualization. It maps and renders a wide variety of biological data on
+ relevant pathway graphs. All users need is to supply their data and
+ specify the target pathway. Pathview automatically downloads the pathway
+ graph data, parses the data file, maps user data to the pathway, and
+ render pathway graph with the mapped data. In addition, Pathview also
+ seamlessly integrates with pathway and gene set (enrichment) analysis
+ tools for large-scale and fully automated analysis."""
bioc = "pathview"
- version('1.36.0', commit='4f6be090a4089b5259d8e796d62f9830e2d63943')
- version('1.34.0', commit='a8788902a3bb047f8ee785966e57f84596076bbd')
- version('1.30.1', commit='a6a32395db408798cb076894678e90148bae6bf4')
- version('1.24.0', commit='e4401c1425c980ce2e6e478a4602a9f6d36ccd8d')
- version('1.22.3', commit='ff86f9e166a5b03bbed1a0ad276778958c3045ce')
- version('1.20.0', commit='a195afa6ba6c7917af2c7f77170f0644c46880c7')
- version('1.18.2', commit='d2048981696564ec75f661ed665977d3a6e09188')
- version('1.16.7', commit='fc560ed15ef7393a73d35e714716cc24dc835339')
+ version("1.36.0", commit="4f6be090a4089b5259d8e796d62f9830e2d63943")
+ version("1.34.0", commit="a8788902a3bb047f8ee785966e57f84596076bbd")
+ version("1.30.1", commit="a6a32395db408798cb076894678e90148bae6bf4")
+ version("1.24.0", commit="e4401c1425c980ce2e6e478a4602a9f6d36ccd8d")
+ version("1.22.3", commit="ff86f9e166a5b03bbed1a0ad276778958c3045ce")
+ version("1.20.0", commit="a195afa6ba6c7917af2c7f77170f0644c46880c7")
+ version("1.18.2", commit="d2048981696564ec75f661ed665977d3a6e09188")
+ version("1.16.7", commit="fc560ed15ef7393a73d35e714716cc24dc835339")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-kegggraph', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-rgraphviz', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-org-hs-eg-db', type=('build', 'run'))
- depends_on('r-keggrest', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-kegggraph", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-rgraphviz", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-org-hs-eg-db", type=("build", "run"))
+ depends_on("r-keggrest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pbapply/package.py b/var/spack/repos/builtin/packages/r-pbapply/package.py
index ec17f078b3..afb7273f80 100644
--- a/var/spack/repos/builtin/packages/r-pbapply/package.py
+++ b/var/spack/repos/builtin/packages/r-pbapply/package.py
@@ -17,14 +17,14 @@ class RPbapply(RPackage):
cran = "pbapply"
- version('1.5-0', sha256='effdfee286e5ba9534dc2ac3cee96590a37f5cd2af28c836d00c25ca9f070a55')
- version('1.4-3', sha256='8fe6287535be766b5a688810e2cc1ca4e668ac6b42b6e832473fe5701133eb21')
- version('1.4-1', sha256='b3633349181db944e1dfc4422b4728a6562e454117a232cbb51633906cd27cad')
- version('1.3-4', sha256='cdfdaf9b8aecbe48daac858aecaf65a766b74a363d1eb7cd6ebf27c0549f6552')
- version('1.3-3', sha256='7379b21d1176db5769f5cac858dd12c975736e80a600870180cec9625cf51047')
- version('1.3-2', sha256='196367da93fcd31431d8e78c177d4afccf9c634513edf24a7229adce2d95b5e9')
- version('1.3-1', sha256='fc4f1ea9d3290bab20a0ec74a3195c8887592b022ab6abb8d7754006a4487114')
- version('1.3-0', sha256='a6d4bf88ade12a3b25662e271329fe54d170596335cba2a2dd210bbb7e8a5936')
- version('1.2-2', sha256='81e5a8a5e0c7ce24b25679d0f69e8773908c9ce569f1e5984e52d4cef33ac34e')
+ version("1.5-0", sha256="effdfee286e5ba9534dc2ac3cee96590a37f5cd2af28c836d00c25ca9f070a55")
+ version("1.4-3", sha256="8fe6287535be766b5a688810e2cc1ca4e668ac6b42b6e832473fe5701133eb21")
+ version("1.4-1", sha256="b3633349181db944e1dfc4422b4728a6562e454117a232cbb51633906cd27cad")
+ version("1.3-4", sha256="cdfdaf9b8aecbe48daac858aecaf65a766b74a363d1eb7cd6ebf27c0549f6552")
+ version("1.3-3", sha256="7379b21d1176db5769f5cac858dd12c975736e80a600870180cec9625cf51047")
+ version("1.3-2", sha256="196367da93fcd31431d8e78c177d4afccf9c634513edf24a7229adce2d95b5e9")
+ version("1.3-1", sha256="fc4f1ea9d3290bab20a0ec74a3195c8887592b022ab6abb8d7754006a4487114")
+ version("1.3-0", sha256="a6d4bf88ade12a3b25662e271329fe54d170596335cba2a2dd210bbb7e8a5936")
+ version("1.2-2", sha256="81e5a8a5e0c7ce24b25679d0f69e8773908c9ce569f1e5984e52d4cef33ac34e")
- depends_on('r@3.2.0:', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pbdzmq/package.py b/var/spack/repos/builtin/packages/r-pbdzmq/package.py
index 3c73d7a2a0..a674fc3f57 100644
--- a/var/spack/repos/builtin/packages/r-pbdzmq/package.py
+++ b/var/spack/repos/builtin/packages/r-pbdzmq/package.py
@@ -20,16 +20,16 @@ class RPbdzmq(RPackage):
cran = "pbdZMQ"
- version('0.3-7', sha256='df2d2be14b2f57a64d76cdda4c01fd1c3d9aa12221c63524c01c71849df11808')
- version('0.3-6', sha256='9944c8c44221aed1dbd7763ad9ec52c0ad2611d37bee25971ca16f02e8e8c37b')
- version('0.3-4', sha256='07794bd6858e093f8b6b879ddd5ab0195449b47a41b70cab2f60603f0a53b129')
- version('0.3-3', sha256='ae26c13400e2acfb6463ff9b67156847a22ec79f3b53baf65119efaba1636eca')
- version('0.3-2', sha256='ece2a2881c662f77126e4801ba4e01c991331842b0d636ce5a2b591b9de3fc37')
- version('0.2-4', sha256='bfacac88b0d4156c70cf63fc4cb9969a950693996901a4fa3dcd59949ec065f6')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@0.2-6:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.3-4:')
- depends_on('libzmq@4.0.4:')
-
- depends_on('r-r6', type=('build', 'run'), when='@:0.2-6')
+ version("0.3-7", sha256="df2d2be14b2f57a64d76cdda4c01fd1c3d9aa12221c63524c01c71849df11808")
+ version("0.3-6", sha256="9944c8c44221aed1dbd7763ad9ec52c0ad2611d37bee25971ca16f02e8e8c37b")
+ version("0.3-4", sha256="07794bd6858e093f8b6b879ddd5ab0195449b47a41b70cab2f60603f0a53b129")
+ version("0.3-3", sha256="ae26c13400e2acfb6463ff9b67156847a22ec79f3b53baf65119efaba1636eca")
+ version("0.3-2", sha256="ece2a2881c662f77126e4801ba4e01c991331842b0d636ce5a2b591b9de3fc37")
+ version("0.2-4", sha256="bfacac88b0d4156c70cf63fc4cb9969a950693996901a4fa3dcd59949ec065f6")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@0.2-6:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.3-4:")
+ depends_on("libzmq@4.0.4:")
+
+ depends_on("r-r6", type=("build", "run"), when="@:0.2-6")
diff --git a/var/spack/repos/builtin/packages/r-pbivnorm/package.py b/var/spack/repos/builtin/packages/r-pbivnorm/package.py
index 503c3815f2..3a60360973 100644
--- a/var/spack/repos/builtin/packages/r-pbivnorm/package.py
+++ b/var/spack/repos/builtin/packages/r-pbivnorm/package.py
@@ -14,4 +14,4 @@ class RPbivnorm(RPackage):
cran = "pbivnorm"
- version('0.6.0', sha256='07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16')
+ version("0.6.0", sha256="07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16")
diff --git a/var/spack/repos/builtin/packages/r-pbkrtest/package.py b/var/spack/repos/builtin/packages/r-pbkrtest/package.py
index b61371004c..8505e7cb83 100644
--- a/var/spack/repos/builtin/packages/r-pbkrtest/package.py
+++ b/var/spack/repos/builtin/packages/r-pbkrtest/package.py
@@ -22,20 +22,20 @@ class RPbkrtest(RPackage):
cran = "pbkrtest"
- version('0.5.1', sha256='b2a3452003d93890f122423b3f2487dcb6925440f5b8a05578509e98b6aec7c5')
- version('0.5-0.1', sha256='f56525488c6efe4a5cbf849bf9a82747041478605b166c29bad54e464e46f469')
- version('0.4-7', sha256='5cbb03ad2b2468720a5a610a0ebda48ac08119a34fca77810a85f554225c23ea')
- version('0.4-6', sha256='9d28b8916fea3ffec8d5958bb8c531279b1e273f21fdbeb2fcad6d7e300a9c01')
- version('0.4-4', sha256='a685392ef3fca0ddc2254f6cc9bba6bc22b298fa823359fc4515e64e753abd31')
+ version("0.5.1", sha256="b2a3452003d93890f122423b3f2487dcb6925440f5b8a05578509e98b6aec7c5")
+ version("0.5-0.1", sha256="f56525488c6efe4a5cbf849bf9a82747041478605b166c29bad54e464e46f469")
+ version("0.4-7", sha256="5cbb03ad2b2468720a5a610a0ebda48ac08119a34fca77810a85f554225c23ea")
+ version("0.4-6", sha256="9d28b8916fea3ffec8d5958bb8c531279b1e273f21fdbeb2fcad6d7e300a9c01")
+ version("0.4-4", sha256="a685392ef3fca0ddc2254f6cc9bba6bc22b298fa823359fc4515e64e753abd31")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.2.3:', type=('build', 'run'), when='@0.4-6:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.5-0.1:')
- depends_on('r-lme4@1.1-10:', type=('build', 'run'))
- depends_on('r-broom', type=('build', 'run'), when='@0.5-0.1:')
- depends_on('r-dplyr', type=('build', 'run'), when='@0.5-0.1:')
- depends_on('r-magrittr', type=('build', 'run'), when='@0.5-0.1:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-matrix@1.2.3:', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'), when='@0.5-0.1:')
- depends_on('r-knitr', type=('build', 'run'), when='@0.5-0.1:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.2.3:", type=("build", "run"), when="@0.4-6:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.5-0.1:")
+ depends_on("r-lme4@1.1-10:", type=("build", "run"))
+ depends_on("r-broom", type=("build", "run"), when="@0.5-0.1:")
+ depends_on("r-dplyr", type=("build", "run"), when="@0.5-0.1:")
+ depends_on("r-magrittr", type=("build", "run"), when="@0.5-0.1:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-matrix@1.2.3:", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"), when="@0.5-0.1:")
+ depends_on("r-knitr", type=("build", "run"), when="@0.5-0.1:")
diff --git a/var/spack/repos/builtin/packages/r-pcamethods/package.py b/var/spack/repos/builtin/packages/r-pcamethods/package.py
index 1a7334565a..0c68eedd77 100644
--- a/var/spack/repos/builtin/packages/r-pcamethods/package.py
+++ b/var/spack/repos/builtin/packages/r-pcamethods/package.py
@@ -9,28 +9,28 @@ from spack.package import *
class RPcamethods(RPackage):
"""A collection of PCA methods.
- Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse Non-Linear
- PCA and the conventional SVD PCA. A cluster based method for missing
- value estimation is included for comparison. BPCA, PPCA and NipalsPCA
- may be used to perform PCA on incomplete data as well as for accurate
- missing value estimation. A set of methods for printing and plotting the
- results is also provided. All PCA methods make use of the same data
- structure (pcaRes) to provide a common interface to the PCA results.
- Initiated at the Max-Planck Institute for Molecular Plant Physiology,
- Golm, Germany."""
+ Provides Bayesian PCA, Probabilistic PCA, Nipals PCA, Inverse Non-Linear
+ PCA and the conventional SVD PCA. A cluster based method for missing
+ value estimation is included for comparison. BPCA, PPCA and NipalsPCA
+ may be used to perform PCA on incomplete data as well as for accurate
+ missing value estimation. A set of methods for printing and plotting the
+ results is also provided. All PCA methods make use of the same data
+ structure (pcaRes) to provide a common interface to the PCA results.
+ Initiated at the Max-Planck Institute for Molecular Plant Physiology,
+ Golm, Germany."""
bioc = "pcaMethods"
- version('1.88.0', commit='02fb58d6fe35579b86fb2ebd2eaf92e6b53444d2')
- version('1.86.0', commit='9419cfa18c18dfbd1e1194127fd120ab456c3657')
- version('1.82.0', commit='d500b3363308f1f8ca70625c5cd10cce59b27641')
- version('1.76.0', commit='5db995330ced37dfd5ddad6ad1d90b4815d3127a')
- version('1.74.0', commit='1b8f0a5cdfe3664119d0d7e926a2e0fe7320133c')
- version('1.72.0', commit='1bb8c7d056645e62ee5179f6bb30b6594ebf3bfd')
- version('1.70.0', commit='3368fad48ea930775505fd26e4179d7714d633d8')
- version('1.68.0', commit='c8d7c93dcaf7ef728f3d089ae5d55771b320bdab')
+ version("1.88.0", commit="02fb58d6fe35579b86fb2ebd2eaf92e6b53444d2")
+ version("1.86.0", commit="9419cfa18c18dfbd1e1194127fd120ab456c3657")
+ version("1.82.0", commit="d500b3363308f1f8ca70625c5cd10cce59b27641")
+ version("1.76.0", commit="5db995330ced37dfd5ddad6ad1d90b4815d3127a")
+ version("1.74.0", commit="1b8f0a5cdfe3664119d0d7e926a2e0fe7320133c")
+ version("1.72.0", commit="1bb8c7d056645e62ee5179f6bb30b6594ebf3bfd")
+ version("1.70.0", commit="3368fad48ea930775505fd26e4179d7714d633d8")
+ version("1.68.0", commit="c8d7c93dcaf7ef728f3d089ae5d55771b320bdab")
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-rcpp@0.11.3:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-rcpp@0.11.3:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pcapp/package.py b/var/spack/repos/builtin/packages/r-pcapp/package.py
index 7882a291a8..e9b8ba0089 100644
--- a/var/spack/repos/builtin/packages/r-pcapp/package.py
+++ b/var/spack/repos/builtin/packages/r-pcapp/package.py
@@ -16,14 +16,14 @@ class RPcapp(RPackage):
cran = "pcaPP"
- version('2.0-1', sha256='9690e2f263162452d5a14bd8c52264cb70b317d30907411af4e5b6df4086121a')
- version('1.9-74', sha256='50837b434d67e4b5fcec34c689a9e30c7a9fb94c561b39f24e68a1456ff999b6')
- version('1.9-73', sha256='ca4566b0babfbe83ef9418283b08a12b3420dc362f93c6562f265df7926b53fc')
- version('1.9-72.1', sha256='a9e39ee15a650930c07672092f9f0c431807869b68b5471037eb7290a4d65bd5')
- version('1.9-72', sha256='58bd0bfb5931aecd734801654bac95f28dab6d30fd043c66c5b719b497104844')
- version('1.9-70', sha256='359e2b376b8b7e2de68b0f33f772d99ecbe9a94f8f460574ac2e3c07513c96d5')
- version('1.9-61', sha256='7dc395e159ff1a56135baaf0b1bea40f871c30f6dadd38992f4ccdfc4e88dc29')
- version('1.9-60', sha256='9a4b471957ac39ed7c860e3165bf8e099b5b55cf814654adb58f9d19df2718e7')
- version('1.9-50', sha256='137637314fba6e11883c63b0475d8e50aa7f363e064baa1e70245f7692565b56')
+ version("2.0-1", sha256="9690e2f263162452d5a14bd8c52264cb70b317d30907411af4e5b6df4086121a")
+ version("1.9-74", sha256="50837b434d67e4b5fcec34c689a9e30c7a9fb94c561b39f24e68a1456ff999b6")
+ version("1.9-73", sha256="ca4566b0babfbe83ef9418283b08a12b3420dc362f93c6562f265df7926b53fc")
+ version("1.9-72.1", sha256="a9e39ee15a650930c07672092f9f0c431807869b68b5471037eb7290a4d65bd5")
+ version("1.9-72", sha256="58bd0bfb5931aecd734801654bac95f28dab6d30fd043c66c5b719b497104844")
+ version("1.9-70", sha256="359e2b376b8b7e2de68b0f33f772d99ecbe9a94f8f460574ac2e3c07513c96d5")
+ version("1.9-61", sha256="7dc395e159ff1a56135baaf0b1bea40f871c30f6dadd38992f4ccdfc4e88dc29")
+ version("1.9-60", sha256="9a4b471957ac39ed7c860e3165bf8e099b5b55cf814654adb58f9d19df2718e7")
+ version("1.9-50", sha256="137637314fba6e11883c63b0475d8e50aa7f363e064baa1e70245f7692565b56")
- depends_on('r-mvtnorm', type=('build', 'run'))
+ depends_on("r-mvtnorm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pegas/package.py b/var/spack/repos/builtin/packages/r-pegas/package.py
index 45d4215e5d..0a9abdb157 100644
--- a/var/spack/repos/builtin/packages/r-pegas/package.py
+++ b/var/spack/repos/builtin/packages/r-pegas/package.py
@@ -18,12 +18,12 @@ class RPegas(RPackage):
cran = "pegas"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.1', sha256='87ba91a819496dfc3abdcc792ff853a6d49caae6335598a24c23e8851505ed59')
- version('0.14', sha256='7df90e6c4a69e8dbed2b3f68b18f1975182475bf6f86d4159256b52fd5332053')
+ version("1.1", sha256="87ba91a819496dfc3abdcc792ff853a6d49caae6335598a24c23e8851505ed59")
+ version("0.14", sha256="7df90e6c4a69e8dbed2b3f68b18f1975182475bf6f86d4159256b52fd5332053")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-ape@5.3-11:', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-ape@5.3-11:", type=("build", "run"))
- depends_on('r-adegenet', type=('build', 'run'), when='@:0.14')
+ depends_on("r-adegenet", type=("build", "run"), when="@:0.14")
diff --git a/var/spack/repos/builtin/packages/r-permute/package.py b/var/spack/repos/builtin/packages/r-permute/package.py
index f1ccf3c68a..f9614855a2 100644
--- a/var/spack/repos/builtin/packages/r-permute/package.py
+++ b/var/spack/repos/builtin/packages/r-permute/package.py
@@ -19,8 +19,8 @@ class RPermute(RPackage):
cran = "permute"
- version('0.9-7', sha256='eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0')
- version('0.9-5', sha256='d2885384a07497e8df273689d6713fc7c57a7c161f6935f3572015e16ab94865')
- version('0.9-4', sha256='a541a5f5636ddd67fd856d3e11224f15bc068e96e23aabe3e607a7e7c2fc1cf1')
+ version("0.9-7", sha256="eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0")
+ version("0.9-5", sha256="d2885384a07497e8df273689d6713fc7c57a7c161f6935f3572015e16ab94865")
+ version("0.9-4", sha256="a541a5f5636ddd67fd856d3e11224f15bc068e96e23aabe3e607a7e7c2fc1cf1")
- depends_on('r@2.14:', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pfam-db/package.py b/var/spack/repos/builtin/packages/r-pfam-db/package.py
index f540cd371e..b5eff1358c 100644
--- a/var/spack/repos/builtin/packages/r-pfam-db/package.py
+++ b/var/spack/repos/builtin/packages/r-pfam-db/package.py
@@ -15,25 +15,35 @@ class RPfamDb(RPackage):
bioc = "PFAM.db"
url = "https://www.bioconductor.org/packages/release/data/annotation/src/contrib/PFAM.db_3.4.1.tar.gz"
- version('3.15.0',
- sha256='e7036a5f76779ab6e8a32eb659c54f52426c4824dee02903cffd85bed372720f',
- url='https://bioconductor.org/packages/3.15/data/annotation/src/contrib/PFAM.db_3.15.0.tar.gz')
- version('3.14.0',
- sha256='25c1915079e8f93d04e2cc1ab791f7f47813aaab5ac394feaf57520bb292d616',
- url='https://bioconductor.org/packages/3.14/data/annotation/src/contrib/PFAM.db_3.14.0.tar.gz')
- version('3.12.0',
- sha256='ec42d067522baf2d7d3ca78d4f8cc0dac08a4b98f1d890f52424e5d5b16f2fe9',
- url='https://bioconductor.org/packages/3.12/data/annotation/src/contrib/PFAM.db_3.12.0.tar.gz')
- version('3.10.0',
- sha256='038888f95ce69230ac0e0b08aa3bcb09965682415520d437a7fb0a031eefe158',
- url='https://bioconductor.org/packages/3.10/data/annotation/src/contrib/PFAM.db_3.10.0.tar.gz')
- version('3.4.1',
- sha256='fc45a0d53139daf85873f67bd3f1b68f2d883617f4447caddbd2d7dcc58a393f',
- url='https://bioconductor.org/packages/3.5/data/annotation/src/contrib/PFAM.db_3.4.1.tar.gz')
+ version(
+ "3.15.0",
+ sha256="e7036a5f76779ab6e8a32eb659c54f52426c4824dee02903cffd85bed372720f",
+ url="https://bioconductor.org/packages/3.15/data/annotation/src/contrib/PFAM.db_3.15.0.tar.gz",
+ )
+ version(
+ "3.14.0",
+ sha256="25c1915079e8f93d04e2cc1ab791f7f47813aaab5ac394feaf57520bb292d616",
+ url="https://bioconductor.org/packages/3.14/data/annotation/src/contrib/PFAM.db_3.14.0.tar.gz",
+ )
+ version(
+ "3.12.0",
+ sha256="ec42d067522baf2d7d3ca78d4f8cc0dac08a4b98f1d890f52424e5d5b16f2fe9",
+ url="https://bioconductor.org/packages/3.12/data/annotation/src/contrib/PFAM.db_3.12.0.tar.gz",
+ )
+ version(
+ "3.10.0",
+ sha256="038888f95ce69230ac0e0b08aa3bcb09965682415520d437a7fb0a031eefe158",
+ url="https://bioconductor.org/packages/3.10/data/annotation/src/contrib/PFAM.db_3.10.0.tar.gz",
+ )
+ version(
+ "3.4.1",
+ sha256="fc45a0d53139daf85873f67bd3f1b68f2d883617f4447caddbd2d7dcc58a393f",
+ url="https://bioconductor.org/packages/3.5/data/annotation/src/contrib/PFAM.db_3.4.1.tar.gz",
+ )
- depends_on('r@2.7.0:', when='@3.4.1:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.37.4:', type=('build', 'run'), when='@3.4.1:')
- depends_on('r-annotationdbi@1.47.1:', type=('build', 'run'), when='@3.10.0:')
- depends_on('r-annotationdbi@1.51.3:', type=('build', 'run'), when='@3.12.0:')
- depends_on('r-annotationdbi@1.55.1:', type=('build', 'run'), when='@3.14.0:')
- depends_on('r-annotationdbi@1.57.1:', type=('build', 'run'), when='@3.15.0:')
+ depends_on("r@2.7.0:", when="@3.4.1:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.37.4:", type=("build", "run"), when="@3.4.1:")
+ depends_on("r-annotationdbi@1.47.1:", type=("build", "run"), when="@3.10.0:")
+ depends_on("r-annotationdbi@1.51.3:", type=("build", "run"), when="@3.12.0:")
+ depends_on("r-annotationdbi@1.55.1:", type=("build", "run"), when="@3.14.0:")
+ depends_on("r-annotationdbi@1.57.1:", type=("build", "run"), when="@3.15.0:")
diff --git a/var/spack/repos/builtin/packages/r-phangorn/package.py b/var/spack/repos/builtin/packages/r-phangorn/package.py
index 1caffaf9fe..9a9285bfe5 100644
--- a/var/spack/repos/builtin/packages/r-phangorn/package.py
+++ b/var/spack/repos/builtin/packages/r-phangorn/package.py
@@ -17,20 +17,20 @@ class RPhangorn(RPackage):
cran = "phangorn"
- version('2.8.1', sha256='6d471410ae29775104a94746936e8c1c54c7273dd289333973ec06dad489dc75')
- version('2.5.5', sha256='c58dc1ace26cb4358619a15da3ea4765dbdde1557acccc5103c85589a7571346')
- version('2.5.3', sha256='a306585a0aabe7360a2adaf9116ae2993fb5ceff641b198f2e01e4329d3768af')
- version('2.3.1', sha256='518c31f5b2c5f0a655d02a3c71b00c30caea2794dfc31f9d63f3d505bd7863eb')
-
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@4.1.0:', type=('build', 'run'), when='@2.8.1:')
- depends_on('r-ape@5.0:', type=('build', 'run'))
- depends_on('r-ape@5.5:', type=('build', 'run'), when='@2.8.1:')
- depends_on('r-fastmatch', type=('build', 'run'))
- depends_on('r-igraph@1.0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
-
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'), when='@:2.5.5')
- depends_on('r-magrittr', type=('build', 'run'), when='@:2.5.5')
+ version("2.8.1", sha256="6d471410ae29775104a94746936e8c1c54c7273dd289333973ec06dad489dc75")
+ version("2.5.5", sha256="c58dc1ace26cb4358619a15da3ea4765dbdde1557acccc5103c85589a7571346")
+ version("2.5.3", sha256="a306585a0aabe7360a2adaf9116ae2993fb5ceff641b198f2e01e4329d3768af")
+ version("2.3.1", sha256="518c31f5b2c5f0a655d02a3c71b00c30caea2794dfc31f9d63f3d505bd7863eb")
+
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@4.1.0:", type=("build", "run"), when="@2.8.1:")
+ depends_on("r-ape@5.0:", type=("build", "run"))
+ depends_on("r-ape@5.5:", type=("build", "run"), when="@2.8.1:")
+ depends_on("r-fastmatch", type=("build", "run"))
+ depends_on("r-igraph@1.0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"), when="@:2.5.5")
+ depends_on("r-magrittr", type=("build", "run"), when="@:2.5.5")
diff --git a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py
index 6d3003ef20..c62f1629a6 100644
--- a/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py
+++ b/var/spack/repos/builtin/packages/r-phantompeakqualtools/package.py
@@ -9,28 +9,28 @@ from spack.pkg.builtin.boost import Boost
class RPhantompeakqualtools(RPackage):
"""Computes informative enrichment and quality measures for
- ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. This is a modified version
- of r-spp to be used in conjunction with the phantompeakqualtools
- package."""
+ ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data. This is a modified version
+ of r-spp to be used in conjunction with the phantompeakqualtools
+ package."""
homepage = "https://github.com/kundajelab/phantompeakqualtools"
- url = "https://github.com/kundajelab/phantompeakqualtools/raw/master/spp_1.14.tar.gz"
+ url = "https://github.com/kundajelab/phantompeakqualtools/raw/master/spp_1.14.tar.gz"
- version('1.14', sha256='d03be6163e82aed72298e54a92c181570f9975a395f57a69b21ac02b1001520b')
+ version("1.14", sha256="d03be6163e82aed72298e54a92c181570f9975a395f57a69b21ac02b1001520b")
- depends_on('boost@1.41.0:')
+ depends_on("boost@1.41.0:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('r-catools', type=('build', 'run'))
- depends_on('r-snow', type=('build', 'run'))
- depends_on('r-snowfall', type=('build', 'run'))
- depends_on('r-bitops', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
+ depends_on("r-catools", type=("build", "run"))
+ depends_on("r-snow", type=("build", "run"))
+ depends_on("r-snowfall", type=("build", "run"))
+ depends_on("r-bitops", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
- conflicts('%gcc@6:')
+ conflicts("%gcc@6:")
def setup_build_environment(self, env):
- env.set('BOOST_ROOT', self.spec['boost'].prefix)
+ env.set("BOOST_ROOT", self.spec["boost"].prefix)
diff --git a/var/spack/repos/builtin/packages/r-pheatmap/package.py b/var/spack/repos/builtin/packages/r-pheatmap/package.py
index c9f4854c53..9004bbfa44 100644
--- a/var/spack/repos/builtin/packages/r-pheatmap/package.py
+++ b/var/spack/repos/builtin/packages/r-pheatmap/package.py
@@ -14,9 +14,9 @@ class RPheatmap(RPackage):
cran = "pheatmap"
- version('1.0.12', sha256='579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1')
+ version("1.0.12", sha256="579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1")
- depends_on('r@2.0:', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-gtable', type=('build', 'run'))
+ depends_on("r@2.0:", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-gtable", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-philentropy/package.py b/var/spack/repos/builtin/packages/r-philentropy/package.py
index e186d29501..fcac0259a6 100644
--- a/var/spack/repos/builtin/packages/r-philentropy/package.py
+++ b/var/spack/repos/builtin/packages/r-philentropy/package.py
@@ -20,13 +20,13 @@ class RPhilentropy(RPackage):
cran = "philentropy"
- version('0.6.0', sha256='138acf2aedab17c9d367def378e35c8aba80d9e786284b2866955cea1c24eeb6')
- version('0.5.0', sha256='b39e9a825458f3377e23b2a133180566780e89019e9d22a6a5b7ca87c49c412f')
- version('0.4.0', sha256='bfd30bf5635aab6a82716299a87d44cf96c7ab7f4ee069843869bcc85c357127')
+ version("0.6.0", sha256="138acf2aedab17c9d367def378e35c8aba80d9e786284b2866955cea1c24eeb6")
+ version("0.5.0", sha256="b39e9a825458f3377e23b2a133180566780e89019e9d22a6a5b7ca87c49c412f")
+ version("0.4.0", sha256="bfd30bf5635aab6a82716299a87d44cf96c7ab7f4ee069843869bcc85c357127")
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
- depends_on('r-poorman', type=('build', 'run'), when='@0.6.0:')
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
+ depends_on("r-poorman", type=("build", "run"), when="@0.6.0:")
- depends_on('r-dplyr', type=('build', 'run'), when='@:0.5.0')
+ depends_on("r-dplyr", type=("build", "run"), when="@:0.5.0")
diff --git a/var/spack/repos/builtin/packages/r-phylobase/package.py b/var/spack/repos/builtin/packages/r-phylobase/package.py
index 74f1fa6d35..93dd9b518e 100644
--- a/var/spack/repos/builtin/packages/r-phylobase/package.py
+++ b/var/spack/repos/builtin/packages/r-phylobase/package.py
@@ -14,10 +14,10 @@ class RPhylobase(RPackage):
cran = "phylobase"
- version('0.8.10', sha256='5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b')
+ version("0.8.10", sha256="5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b")
- depends_on('r-ade4', type=('build', 'run'))
- depends_on('r-ape@3.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-rncl@0.6.0:', type=('build', 'run'))
- depends_on('r-rnexml', type=('build', 'run'))
+ depends_on("r-ade4", type=("build", "run"))
+ depends_on("r-ape@3.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-rncl@0.6.0:", type=("build", "run"))
+ depends_on("r-rnexml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-phyloseq/package.py b/var/spack/repos/builtin/packages/r-phyloseq/package.py
index 8cec6beea8..4d84a4c9d4 100644
--- a/var/spack/repos/builtin/packages/r-phyloseq/package.py
+++ b/var/spack/repos/builtin/packages/r-phyloseq/package.py
@@ -9,41 +9,41 @@ from spack.package import *
class RPhyloseq(RPackage):
"""Handling and analysis of high-throughput microbiome census data.
- phyloseq provides a set of classes and tools to facilitate the import,
- storage, analysis, and graphical display of microbiome census data."""
+ phyloseq provides a set of classes and tools to facilitate the import,
+ storage, analysis, and graphical display of microbiome census data."""
bioc = "phyloseq"
- version('1.40.0', commit='20bb27d5e6e0d4368978a15671b829990b1f4568')
- version('1.38.0', commit='1e2409a6ed3c23e308275098c2dc9fdba9d5e5f6')
- version('1.34.0', commit='cbed93ead5528fe9024d646c597dab9fc95952d3')
- version('1.28.0', commit='a86ed1e0a650fdf80bee5a0a5a82aaa5a276178d')
- version('1.26.1', commit='a084072bc9e057b90adfbd59e27db2a1ecee151c')
- version('1.24.2', commit='829992f88c79de48bb8749678624e2bbd3b66645')
- version('1.22.3', commit='c695323f2963636d16acda9f05a583bd58e31344')
- version('1.20.0', commit='107d1d5e3437a6e33982c06a548d3cc91df2a7e0')
+ version("1.40.0", commit="20bb27d5e6e0d4368978a15671b829990b1f4568")
+ version("1.38.0", commit="1e2409a6ed3c23e308275098c2dc9fdba9d5e5f6")
+ version("1.34.0", commit="cbed93ead5528fe9024d646c597dab9fc95952d3")
+ version("1.28.0", commit="a86ed1e0a650fdf80bee5a0a5a82aaa5a276178d")
+ version("1.26.1", commit="a084072bc9e057b90adfbd59e27db2a1ecee151c")
+ version("1.24.2", commit="829992f88c79de48bb8749678624e2bbd3b66645")
+ version("1.22.3", commit="c695323f2963636d16acda9f05a583bd58e31344")
+ version("1.20.0", commit="107d1d5e3437a6e33982c06a548d3cc91df2a7e0")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.22.3')
- depends_on('r-ade4@1.7.4:', type=('build', 'run'))
- depends_on('r-ape@3.4:', type=('build', 'run'))
- depends_on('r-ape@5.0:', type=('build', 'run'), when='@1.22.3:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biobase@2.36.2:', type=('build', 'run'), when='@1.22.3:')
- depends_on('r-biocgenerics@0.18.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.22.0:', type=('build', 'run'), when='@1.22.3:')
- depends_on('r-biomformat@1.0.0:', type=('build', 'run'))
- depends_on('r-biostrings@2.40.0:', type=('build', 'run'))
- depends_on('r-cluster@2.0.4:', type=('build', 'run'))
- depends_on('r-data-table@1.9.6:', type=('build', 'run'))
- depends_on('r-data-table@1.10.4:', type=('build', 'run'), when='@1.22.3:')
- depends_on('r-foreach@1.4.3:', type=('build', 'run'))
- depends_on('r-ggplot2@2.1.0:', type=('build', 'run'))
- depends_on('r-igraph@1.0.1:', type=('build', 'run'))
- depends_on('r-multtest@2.28.0:', type=('build', 'run'))
- depends_on('r-plyr@1.8.3:', type=('build', 'run'))
- depends_on('r-reshape2@1.4.1:', type=('build', 'run'))
- depends_on('r-scales@0.4.0:', type=('build', 'run'))
- depends_on('r-vegan@2.3.5:', type=('build', 'run'))
- depends_on('r-vegan@2.4:', type=('build', 'run'), when='@1.22.3:')
- depends_on('r-vegan@2.5:', type=('build', 'run'), when='@1.24.2:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.22.3")
+ depends_on("r-ade4@1.7.4:", type=("build", "run"))
+ depends_on("r-ape@3.4:", type=("build", "run"))
+ depends_on("r-ape@5.0:", type=("build", "run"), when="@1.22.3:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biobase@2.36.2:", type=("build", "run"), when="@1.22.3:")
+ depends_on("r-biocgenerics@0.18.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.22.0:", type=("build", "run"), when="@1.22.3:")
+ depends_on("r-biomformat@1.0.0:", type=("build", "run"))
+ depends_on("r-biostrings@2.40.0:", type=("build", "run"))
+ depends_on("r-cluster@2.0.4:", type=("build", "run"))
+ depends_on("r-data-table@1.9.6:", type=("build", "run"))
+ depends_on("r-data-table@1.10.4:", type=("build", "run"), when="@1.22.3:")
+ depends_on("r-foreach@1.4.3:", type=("build", "run"))
+ depends_on("r-ggplot2@2.1.0:", type=("build", "run"))
+ depends_on("r-igraph@1.0.1:", type=("build", "run"))
+ depends_on("r-multtest@2.28.0:", type=("build", "run"))
+ depends_on("r-plyr@1.8.3:", type=("build", "run"))
+ depends_on("r-reshape2@1.4.1:", type=("build", "run"))
+ depends_on("r-scales@0.4.0:", type=("build", "run"))
+ depends_on("r-vegan@2.3.5:", type=("build", "run"))
+ depends_on("r-vegan@2.4:", type=("build", "run"), when="@1.22.3:")
+ depends_on("r-vegan@2.5:", type=("build", "run"), when="@1.24.2:")
diff --git a/var/spack/repos/builtin/packages/r-phylostratr/package.py b/var/spack/repos/builtin/packages/r-phylostratr/package.py
index bd56923347..c521a5a2e2 100644
--- a/var/spack/repos/builtin/packages/r-phylostratr/package.py
+++ b/var/spack/repos/builtin/packages/r-phylostratr/package.py
@@ -10,25 +10,25 @@ class RPhylostratr(RPackage):
"""Predict and explore the age of genes using phylostratigraphic methods"""
homepage = "https://github.com/arenasee/phylostratr"
- git = "https://github.com/arendsee/phylostratr.git"
+ git = "https://github.com/arendsee/phylostratr.git"
- version('20190323', commit='9f6d1ee2e93d973dabcfc72a44af9a032cb7ebbd')
+ version("20190323", commit="9f6d1ee2e93d973dabcfc72a44af9a032cb7ebbd")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-rhmmer', type=('build', 'run'))
- depends_on('r-rlang@0.1.2:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-taxizedb', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-rhmmer", type=("build", "run"))
+ depends_on("r-rlang@0.1.2:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-taxizedb", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-phytools/package.py b/var/spack/repos/builtin/packages/r-phytools/package.py
index ebd2891769..31fe404b88 100644
--- a/var/spack/repos/builtin/packages/r-phytools/package.py
+++ b/var/spack/repos/builtin/packages/r-phytools/package.py
@@ -30,27 +30,27 @@ class RPhytools(RPackage):
cran = "phytools"
- version('1.0-3', sha256='bfe2aec6aae8235264c1494eee42be494fed81a676c6de9e39c57a6e3682b37d')
- version('1.0-1', sha256='b7bf5d35ec4205115112481f6761de3e276e6b086a3e5249621ad63aa23a1ac8')
- version('0.7-70', sha256='e3432c3b006e5cc6f1292bebd81ebc20044edf1f56c3d27a3497f738eb99f0d3')
- version('0.6-99', sha256='2ef532cba77c5f73803bd34582bef05709705311a0b50e42316e69944567390f')
- version('0.6-60', sha256='55cad759510d247ebbf03a53a46caddadd3bf87584ccf7fcd6dd06d44516b377')
-
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.7-70:')
- depends_on('r-ape@4.0:', type=('build', 'run'))
- depends_on('r-maps', type=('build', 'run'))
- depends_on('r-clustergeneration', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-combinat', type=('build', 'run'))
- depends_on('r-expm', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mnormt', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-phangorn@2.3.1:', type=('build', 'run'))
- depends_on('r-plotrix', type=('build', 'run'))
- depends_on('r-scatterplot3d', type=('build', 'run'))
-
- depends_on('r-animation', type=('build', 'run'), when='@:0.6-99')
- depends_on('r-gtools', type=('build', 'run'), when='@0.6-99:0.7-70')
+ version("1.0-3", sha256="bfe2aec6aae8235264c1494eee42be494fed81a676c6de9e39c57a6e3682b37d")
+ version("1.0-1", sha256="b7bf5d35ec4205115112481f6761de3e276e6b086a3e5249621ad63aa23a1ac8")
+ version("0.7-70", sha256="e3432c3b006e5cc6f1292bebd81ebc20044edf1f56c3d27a3497f738eb99f0d3")
+ version("0.6-99", sha256="2ef532cba77c5f73803bd34582bef05709705311a0b50e42316e69944567390f")
+ version("0.6-60", sha256="55cad759510d247ebbf03a53a46caddadd3bf87584ccf7fcd6dd06d44516b377")
+
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.7-70:")
+ depends_on("r-ape@4.0:", type=("build", "run"))
+ depends_on("r-maps", type=("build", "run"))
+ depends_on("r-clustergeneration", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-combinat", type=("build", "run"))
+ depends_on("r-expm", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mnormt", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-phangorn@2.3.1:", type=("build", "run"))
+ depends_on("r-plotrix", type=("build", "run"))
+ depends_on("r-scatterplot3d", type=("build", "run"))
+
+ depends_on("r-animation", type=("build", "run"), when="@:0.6-99")
+ depends_on("r-gtools", type=("build", "run"), when="@0.6-99:0.7-70")
diff --git a/var/spack/repos/builtin/packages/r-picante/package.py b/var/spack/repos/builtin/packages/r-picante/package.py
index b58a1becbd..6af868ad1d 100644
--- a/var/spack/repos/builtin/packages/r-picante/package.py
+++ b/var/spack/repos/builtin/packages/r-picante/package.py
@@ -20,12 +20,12 @@ class RPicante(RPackage):
cran = "picante"
- version('1.8.2', sha256='56565ca7f7c37f49c961372a816724967c21a4f5025cd69b8b671122bfdc4aa7')
- version('1.8', sha256='81a6308dbb53c9cdab30c1f9ac727abee76314351823b3a2142c21ed8e1498ad')
- version('1.7', sha256='75e4d73080db67e776562a1d58685438461cbde39af46900c7838da56aef0a62')
- version('1.6-2', sha256='4db3a5a0fe5e4e9197c96245195843294fbb8d0a324edcde70c6ab01276ab7ff')
- version('1.6-1', sha256='2708315b26737857a6729fd67bde06bc939930035c5b09a8bba472a593f24000')
+ version("1.8.2", sha256="56565ca7f7c37f49c961372a816724967c21a4f5025cd69b8b671122bfdc4aa7")
+ version("1.8", sha256="81a6308dbb53c9cdab30c1f9ac727abee76314351823b3a2142c21ed8e1498ad")
+ version("1.7", sha256="75e4d73080db67e776562a1d58685438461cbde39af46900c7838da56aef0a62")
+ version("1.6-2", sha256="4db3a5a0fe5e4e9197c96245195843294fbb8d0a324edcde70c6ab01276ab7ff")
+ version("1.6-1", sha256="2708315b26737857a6729fd67bde06bc939930035c5b09a8bba472a593f24000")
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-vegan', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-vegan", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pillar/package.py b/var/spack/repos/builtin/packages/r-pillar/package.py
index add5d39094..49f0991260 100644
--- a/var/spack/repos/builtin/packages/r-pillar/package.py
+++ b/var/spack/repos/builtin/packages/r-pillar/package.py
@@ -14,32 +14,32 @@ class RPillar(RPackage):
cran = "pillar"
- version('1.7.0', sha256='7841f89658cc8935568c0ff24dc480b4481bac896de2f6447050abc4360a13bb')
- version('1.6.5', sha256='22fbf1ba0677fbd15cb35729fe4e97fab751a4c1de3eb8a4694f86b2be411bdb')
- version('1.6.4', sha256='033a92a271ddeec2a17323d070de8257b9ca4d57f5be6181e2ad35fe7e1ea19e')
- version('1.4.7', sha256='cdedb2b2a4854e917f43b0c6379efefda9d7ff4e58dec2a3159a80ee8288f298')
- version('1.4.2', sha256='bababb76b6db06dc32ccd947dbad6c164a1749ff5b558c6783ad03570f010825')
- version('1.4.1', sha256='f571ca7a3ef0927747510b972da31a26da24b9da68990fe1bbc9d4ae58028c55')
- version('1.3.1', sha256='b338b55f956dd7134f379d39bb94dfb25e13cf27999d6a6e6dc9f292755acbf6')
- version('1.3.0', sha256='aed845ae4888be9a7340eed57536e3fe6cb46e89d905897fb9b0635797cfcae0')
- version('1.2.3', sha256='c81d1b5c6b55d789a6717dc3c7be1200eb0efbcfc5013db00d553d9cafd6f0e7')
- version('1.2.2', sha256='676d6e64754ce42c2789ca3521eeb576c873afc3b09adfdf2c97f03cbcddb8ce')
- version('1.2.1', sha256='6de997a43416f436039f2b8b47c46ea08d2508f8ad341e0e1fd878704a3dcde7')
- version('1.2.0', sha256='fd042b525b27e5f700e5299f50d25710501a4f35556b6a04b430776568962416')
- version('1.1.0', sha256='58a29e8d0d3a47150caf8cb1aba5dc5eca233ac8d4626f4b23beb8b5ae9003be')
- version('1.0.1', sha256='7b37189ab9ab0bbf2e6f49e9d5e678acb31500739d3c3ea2b5326b457716277d')
- version('1.0.0', sha256='7478d0765212c5f0333b8866231a6fe350393b7fa49840e6fed3516ac64540dc')
+ version("1.7.0", sha256="7841f89658cc8935568c0ff24dc480b4481bac896de2f6447050abc4360a13bb")
+ version("1.6.5", sha256="22fbf1ba0677fbd15cb35729fe4e97fab751a4c1de3eb8a4694f86b2be411bdb")
+ version("1.6.4", sha256="033a92a271ddeec2a17323d070de8257b9ca4d57f5be6181e2ad35fe7e1ea19e")
+ version("1.4.7", sha256="cdedb2b2a4854e917f43b0c6379efefda9d7ff4e58dec2a3159a80ee8288f298")
+ version("1.4.2", sha256="bababb76b6db06dc32ccd947dbad6c164a1749ff5b558c6783ad03570f010825")
+ version("1.4.1", sha256="f571ca7a3ef0927747510b972da31a26da24b9da68990fe1bbc9d4ae58028c55")
+ version("1.3.1", sha256="b338b55f956dd7134f379d39bb94dfb25e13cf27999d6a6e6dc9f292755acbf6")
+ version("1.3.0", sha256="aed845ae4888be9a7340eed57536e3fe6cb46e89d905897fb9b0635797cfcae0")
+ version("1.2.3", sha256="c81d1b5c6b55d789a6717dc3c7be1200eb0efbcfc5013db00d553d9cafd6f0e7")
+ version("1.2.2", sha256="676d6e64754ce42c2789ca3521eeb576c873afc3b09adfdf2c97f03cbcddb8ce")
+ version("1.2.1", sha256="6de997a43416f436039f2b8b47c46ea08d2508f8ad341e0e1fd878704a3dcde7")
+ version("1.2.0", sha256="fd042b525b27e5f700e5299f50d25710501a4f35556b6a04b430776568962416")
+ version("1.1.0", sha256="58a29e8d0d3a47150caf8cb1aba5dc5eca233ac8d4626f4b23beb8b5ae9003be")
+ version("1.0.1", sha256="7b37189ab9ab0bbf2e6f49e9d5e678acb31500739d3c3ea2b5326b457716277d")
+ version("1.0.0", sha256="7478d0765212c5f0333b8866231a6fe350393b7fa49840e6fed3516ac64540dc")
- depends_on('r-cli', type=('build', 'run'))
- depends_on('r-cli@2.3.0:', type=('build', 'run'), when='@1.7.0:')
- depends_on('r-crayon@1.3.4:', type=('build', 'run'))
- depends_on('r-ellipsis', type=('build', 'run'), when='@1.4.7:')
- depends_on('r-ellipsis@0.3.2', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-fansi', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'), when='@1.6.5:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@1.4.7:')
- depends_on('r-rlang@0.3.0:', type=('build', 'run'))
- depends_on('r-utf8@1.1.0:', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-vctrs@0.2.0:', type=('build', 'run'), when='@1.4.7:')
- depends_on('r-vctrs@0.3.8:', type=('build', 'run'), when='@1.6.1:')
+ depends_on("r-cli", type=("build", "run"))
+ depends_on("r-cli@2.3.0:", type=("build", "run"), when="@1.7.0:")
+ depends_on("r-crayon@1.3.4:", type=("build", "run"))
+ depends_on("r-ellipsis", type=("build", "run"), when="@1.4.7:")
+ depends_on("r-ellipsis@0.3.2", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-fansi", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"), when="@1.6.5:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@1.4.7:")
+ depends_on("r-rlang@0.3.0:", type=("build", "run"))
+ depends_on("r-utf8@1.1.0:", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-vctrs@0.2.0:", type=("build", "run"), when="@1.4.7:")
+ depends_on("r-vctrs@0.3.8:", type=("build", "run"), when="@1.6.1:")
diff --git a/var/spack/repos/builtin/packages/r-pinfsc50/package.py b/var/spack/repos/builtin/packages/r-pinfsc50/package.py
index 3b99da8067..16750d9087 100644
--- a/var/spack/repos/builtin/packages/r-pinfsc50/package.py
+++ b/var/spack/repos/builtin/packages/r-pinfsc50/package.py
@@ -17,8 +17,8 @@ class RPinfsc50(RPackage):
cran = "pinfsc50"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('1.2.0', sha256='ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794')
+ version("1.2.0", sha256="ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794")
- depends_on('r@3.2.1:', type=('build', 'run'))
+ depends_on("r@3.2.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pixmap/package.py b/var/spack/repos/builtin/packages/r-pixmap/package.py
index c63589e265..72ffbf643d 100644
--- a/var/spack/repos/builtin/packages/r-pixmap/package.py
+++ b/var/spack/repos/builtin/packages/r-pixmap/package.py
@@ -14,5 +14,5 @@ class RPixmap(RPackage):
cran = "pixmap"
- version('0.4-12', sha256='893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec')
- version('0.4-11', sha256='6fa010749a59cdf56aad9f81271473b7d55697036203f2cd5d81372bcded7412')
+ version("0.4-12", sha256="893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec")
+ version("0.4-11", sha256="6fa010749a59cdf56aad9f81271473b7d55697036203f2cd5d81372bcded7412")
diff --git a/var/spack/repos/builtin/packages/r-pkgbuild/package.py b/var/spack/repos/builtin/packages/r-pkgbuild/package.py
index 26ca48ece6..d8a84a68a9 100644
--- a/var/spack/repos/builtin/packages/r-pkgbuild/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgbuild/package.py
@@ -15,20 +15,20 @@ class RPkgbuild(RPackage):
cran = "pkgbuild"
- version('1.3.1', sha256='7c6a82d1e6b19e136a7d16095743c50cd7b6340eeda594e4a8e14d74972ddb48')
- version('1.2.0', sha256='2e19308d3271fefd5e118c6d132d6a2511253b903620b5417892c72d2010a963')
- version('1.0.8', sha256='b149fcf3e98ef148945ff9f4272512cd03e21408c235ec6c0548167fd41219a1')
- version('1.0.4', sha256='2934efa5ff9ccfe1636d360aedec36713f3bb3128a493241dbb728d842ea3b5f')
- version('1.0.3', sha256='c93aceb499886e42bcd61eb7fb59e47a76c9ba5ab5349a426736d46c8ce21f4d')
+ version("1.3.1", sha256="7c6a82d1e6b19e136a7d16095743c50cd7b6340eeda594e4a8e14d74972ddb48")
+ version("1.2.0", sha256="2e19308d3271fefd5e118c6d132d6a2511253b903620b5417892c72d2010a963")
+ version("1.0.8", sha256="b149fcf3e98ef148945ff9f4272512cd03e21408c235ec6c0548167fd41219a1")
+ version("1.0.4", sha256="2934efa5ff9ccfe1636d360aedec36713f3bb3128a493241dbb728d842ea3b5f")
+ version("1.0.3", sha256="c93aceb499886e42bcd61eb7fb59e47a76c9ba5ab5349a426736d46c8ce21f4d")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-callr@2.0.0:', type=('build', 'run'))
- depends_on('r-callr@3.2.0:', type=('build', 'run'), when='@1.0.4:')
- depends_on('r-cli', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-desc', type=('build', 'run'))
- depends_on('r-prettyunits', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rprojroot', type=('build', 'run'))
- depends_on('r-withr@2.1.2:', type=('build', 'run'))
- depends_on('r-withr@2.3.0:', type=('build', 'run'), when='@1.3.1:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-callr@2.0.0:", type=("build", "run"))
+ depends_on("r-callr@3.2.0:", type=("build", "run"), when="@1.0.4:")
+ depends_on("r-cli", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-desc", type=("build", "run"))
+ depends_on("r-prettyunits", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rprojroot", type=("build", "run"))
+ depends_on("r-withr@2.1.2:", type=("build", "run"))
+ depends_on("r-withr@2.3.0:", type=("build", "run"), when="@1.3.1:")
diff --git a/var/spack/repos/builtin/packages/r-pkgcache/package.py b/var/spack/repos/builtin/packages/r-pkgcache/package.py
index 843d87794e..4c7143f707 100644
--- a/var/spack/repos/builtin/packages/r-pkgcache/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgcache/package.py
@@ -15,24 +15,24 @@ class RPkgcache(RPackage):
cran = "pkgcache"
- version('2.0.1', sha256='1add648c6f30543cbd5e43369c4d1462248d4caaedfcb588ee7b946a75d42f4f')
- version('1.3.0', sha256='bd5f460a3bee9fc1298cf9f747bc59a6b9fbed90e92454bc6ea6bf82c15b9471')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-callr@2.0.4.9000:', type=('build', 'run'))
- depends_on('r-cli@2.0.0:', type=('build', 'run'))
- depends_on('r-cli@3.2.0:', type=('build', 'run'), when='@2.0.1:')
- depends_on('r-curl@3.2:', type=('build', 'run'))
- depends_on('r-filelock', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-prettyunits', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-processx@3.3.0.9001:', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
-
- depends_on('r-assertthat', type=('build', 'run'), when='@:1.3.0')
- depends_on('r-digest', type=('build', 'run'), when='@:1.3.0')
- depends_on('r-rlang', type=('build', 'run'), when='@:1.3.0')
- depends_on('r-tibble', type=('build', 'run'), when='@:1.3.0')
- depends_on('r-uuid', type=('build', 'run'), when='@:1.3.0')
+ version("2.0.1", sha256="1add648c6f30543cbd5e43369c4d1462248d4caaedfcb588ee7b946a75d42f4f")
+ version("1.3.0", sha256="bd5f460a3bee9fc1298cf9f747bc59a6b9fbed90e92454bc6ea6bf82c15b9471")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-callr@2.0.4.9000:", type=("build", "run"))
+ depends_on("r-cli@2.0.0:", type=("build", "run"))
+ depends_on("r-cli@3.2.0:", type=("build", "run"), when="@2.0.1:")
+ depends_on("r-curl@3.2:", type=("build", "run"))
+ depends_on("r-filelock", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-prettyunits", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-processx@3.3.0.9001:", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
+
+ depends_on("r-assertthat", type=("build", "run"), when="@:1.3.0")
+ depends_on("r-digest", type=("build", "run"), when="@:1.3.0")
+ depends_on("r-rlang", type=("build", "run"), when="@:1.3.0")
+ depends_on("r-tibble", type=("build", "run"), when="@:1.3.0")
+ depends_on("r-uuid", type=("build", "run"), when="@:1.3.0")
diff --git a/var/spack/repos/builtin/packages/r-pkgconfig/package.py b/var/spack/repos/builtin/packages/r-pkgconfig/package.py
index ecfcaa599c..9d2a700f8e 100644
--- a/var/spack/repos/builtin/packages/r-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgconfig/package.py
@@ -14,6 +14,6 @@ class RPkgconfig(RPackage):
cran = "pkgconfig"
- version('2.0.3', sha256='330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850')
- version('2.0.2', sha256='25997754d1adbe7a251e3bf9879bb52dced27dd8b84767d558f0f644ca8d69ca')
- version('2.0.1', sha256='ab02b2a4b639ba94dcba882a059fe9cddae5498a4309841f764b62ec46ba5a40')
+ version("2.0.3", sha256="330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850")
+ version("2.0.2", sha256="25997754d1adbe7a251e3bf9879bb52dced27dd8b84767d558f0f644ca8d69ca")
+ version("2.0.1", sha256="ab02b2a4b639ba94dcba882a059fe9cddae5498a4309841f764b62ec46ba5a40")
diff --git a/var/spack/repos/builtin/packages/r-pkgdepends/package.py b/var/spack/repos/builtin/packages/r-pkgdepends/package.py
index 581f20f67b..cf529ba106 100644
--- a/var/spack/repos/builtin/packages/r-pkgdepends/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgdepends/package.py
@@ -20,29 +20,29 @@ class RPkgdepends(RPackage):
cran = "pkgdepends"
- version('0.3.1', sha256='8e4263a1792871ee9629b0d6a8caeb53b77012db3b5be91b432f3553cd2a80be')
- version('0.2.0', sha256='59afdbe0e59663088ba4facac5cd011a0a05b0b9c540103fb8b9f0a673bf4d94')
-
- depends_on('r@3.4:', type=('build', 'run'), when='@0.3.1:')
- depends_on('r-callr@3.3.1:', type=('build', 'run'))
- depends_on('r-cli@2.1.0:', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-desc@1.2.0:', type=('build', 'run'))
- depends_on('r-filelock@1.0.2:', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-lpsolve', type=('build', 'run'))
- depends_on('r-pkgbuild@1.0.2:', type=('build', 'run'))
- depends_on('r-pkgcache@1.3.0:', type=('build', 'run'))
- depends_on('r-pkgcache@2.0.0:', type=('build', 'run'), when='@0.3.1:')
- depends_on('r-prettyunits@1.1.1:', type=('build', 'run'))
- depends_on('r-processx@3.4.2:', type=('build', 'run'))
- depends_on('r-ps', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rprojroot', type=('build', 'run'))
- depends_on('r-withr@2.1.1:', type=('build', 'run'))
- depends_on('r-zip@2.1.0:', type=('build', 'run'))
-
- depends_on('r-rematch2', type=('build', 'run'), when='@:0.2.0')
- depends_on('r-tibble', type=('build', 'run'), when='@:0.2.0')
+ version("0.3.1", sha256="8e4263a1792871ee9629b0d6a8caeb53b77012db3b5be91b432f3553cd2a80be")
+ version("0.2.0", sha256="59afdbe0e59663088ba4facac5cd011a0a05b0b9c540103fb8b9f0a673bf4d94")
+
+ depends_on("r@3.4:", type=("build", "run"), when="@0.3.1:")
+ depends_on("r-callr@3.3.1:", type=("build", "run"))
+ depends_on("r-cli@2.1.0:", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-desc@1.2.0:", type=("build", "run"))
+ depends_on("r-filelock@1.0.2:", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-lpsolve", type=("build", "run"))
+ depends_on("r-pkgbuild@1.0.2:", type=("build", "run"))
+ depends_on("r-pkgcache@1.3.0:", type=("build", "run"))
+ depends_on("r-pkgcache@2.0.0:", type=("build", "run"), when="@0.3.1:")
+ depends_on("r-prettyunits@1.1.1:", type=("build", "run"))
+ depends_on("r-processx@3.4.2:", type=("build", "run"))
+ depends_on("r-ps", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rprojroot", type=("build", "run"))
+ depends_on("r-withr@2.1.1:", type=("build", "run"))
+ depends_on("r-zip@2.1.0:", type=("build", "run"))
+
+ depends_on("r-rematch2", type=("build", "run"), when="@:0.2.0")
+ depends_on("r-tibble", type=("build", "run"), when="@:0.2.0")
diff --git a/var/spack/repos/builtin/packages/r-pkgload/package.py b/var/spack/repos/builtin/packages/r-pkgload/package.py
index a18bdd0ed2..0a01f9b9ad 100644
--- a/var/spack/repos/builtin/packages/r-pkgload/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgload/package.py
@@ -15,16 +15,16 @@ class RPkgload(RPackage):
cran = "pkgload"
- version('1.2.4', sha256='d6912bc824a59ccc9b2895c3cf3b08a3ff310a333888bb8e90d1a6ce754dd90f')
- version('1.1.0', sha256='189d460dbba2b35fa15dd59ce832df252dfa654a5acee0c9a8471b4d70477b0d')
- version('1.0.2', sha256='3186564e690fb05eabe76e1ac0bfd4312562c3ac8794b29f8850399515dcf27c')
-
- depends_on('r-cli', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-crayon', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-desc', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-rprojroot', type=('build', 'run'))
- depends_on('r-rstudioapi', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
-
- depends_on('r-pkgbuild', type=('build', 'run'), when='@:1.1.0')
+ version("1.2.4", sha256="d6912bc824a59ccc9b2895c3cf3b08a3ff310a333888bb8e90d1a6ce754dd90f")
+ version("1.1.0", sha256="189d460dbba2b35fa15dd59ce832df252dfa654a5acee0c9a8471b4d70477b0d")
+ version("1.0.2", sha256="3186564e690fb05eabe76e1ac0bfd4312562c3ac8794b29f8850399515dcf27c")
+
+ depends_on("r-cli", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-crayon", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-desc", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-rprojroot", type=("build", "run"))
+ depends_on("r-rstudioapi", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+
+ depends_on("r-pkgbuild", type=("build", "run"), when="@:1.1.0")
diff --git a/var/spack/repos/builtin/packages/r-pkgmaker/package.py b/var/spack/repos/builtin/packages/r-pkgmaker/package.py
index aa2b71a30b..ac227eb5a9 100644
--- a/var/spack/repos/builtin/packages/r-pkgmaker/package.py
+++ b/var/spack/repos/builtin/packages/r-pkgmaker/package.py
@@ -19,18 +19,18 @@ class RPkgmaker(RPackage):
cran = "pkgmaker"
- version('0.32.2', sha256='ce45b22def771a9c90a414093823e6befe7e23489c500eeccee5154b44d3ef91')
- version('0.27', sha256='17a289d8f596ba5637b07077b3bff22411a2c2263c0b7de59fe848666555ec6a')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-registry', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-assertthat', type=('build', 'run'), when='@0.32.2:')
-
- depends_on('r-stringi', type=('build', 'run'), when='@:0.27')
- depends_on('r-magrittr', type=('build', 'run'), when='@:0.27')
- depends_on('r-bibtex@0.4:', type=('build', 'run'), when='@:0.27')
+ version("0.32.2", sha256="ce45b22def771a9c90a414093823e6befe7e23489c500eeccee5154b44d3ef91")
+ version("0.27", sha256="17a289d8f596ba5637b07077b3bff22411a2c2263c0b7de59fe848666555ec6a")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-registry", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-assertthat", type=("build", "run"), when="@0.32.2:")
+
+ depends_on("r-stringi", type=("build", "run"), when="@:0.27")
+ depends_on("r-magrittr", type=("build", "run"), when="@:0.27")
+ depends_on("r-bibtex@0.4:", type=("build", "run"), when="@:0.27")
diff --git a/var/spack/repos/builtin/packages/r-plogr/package.py b/var/spack/repos/builtin/packages/r-plogr/package.py
index 2170b33778..c651cb6968 100644
--- a/var/spack/repos/builtin/packages/r-plogr/package.py
+++ b/var/spack/repos/builtin/packages/r-plogr/package.py
@@ -14,5 +14,5 @@ class RPlogr(RPackage):
cran = "plogr"
- version('0.2.0', sha256='0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29')
- version('0.1-1', sha256='22755c93c76c26252841f43195df31681ea865e91aa89726010bd1b9288ef48f')
+ version("0.2.0", sha256="0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29")
+ version("0.1-1", sha256="22755c93c76c26252841f43195df31681ea865e91aa89726010bd1b9288ef48f")
diff --git a/var/spack/repos/builtin/packages/r-plot3d/package.py b/var/spack/repos/builtin/packages/r-plot3d/package.py
index 140403b1b0..36ec9048f0 100644
--- a/var/spack/repos/builtin/packages/r-plot3d/package.py
+++ b/var/spack/repos/builtin/packages/r-plot3d/package.py
@@ -15,10 +15,10 @@ class RPlot3d(RPackage):
cran = "plot3D"
- version('1.4', sha256='d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0')
- version('1.3', sha256='b9e4ec2789e34ad249318900e186868650e1a33466b385cb492a45466db3dfc9')
- version('1.1.1', sha256='f6fe4a001387132626fc553ed1d5720d448b8064eb5a6917458a798e1d381632')
+ version("1.4", sha256="d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0")
+ version("1.3", sha256="b9e4ec2789e34ad249318900e186868650e1a33466b385cb492a45466db3dfc9")
+ version("1.1.1", sha256="f6fe4a001387132626fc553ed1d5720d448b8064eb5a6917458a798e1d381632")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.15:', type=('build', 'run'))
- depends_on('r-misc3d', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.15:", type=("build", "run"))
+ depends_on("r-misc3d", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-plotly/package.py b/var/spack/repos/builtin/packages/r-plotly/package.py
index e619a32710..5b7570a5da 100644
--- a/var/spack/repos/builtin/packages/r-plotly/package.py
+++ b/var/spack/repos/builtin/packages/r-plotly/package.py
@@ -15,41 +15,41 @@ class RPlotly(RPackage):
cran = "plotly"
- version('4.10.0', sha256='bd995c654dbc8c09a84adaba8def99766919e3894caf18b551bb26b2f591389a')
- version('4.9.3', sha256='d44d1a16d96de28bc2d36f1c897384215eeec44d109546c6e9c2707db0880120')
- version('4.9.0', sha256='f761148338231f210fd7fe2f8325ffe9cfdaaaeddd7b933b65c44ebb4f85e2cf')
- version('4.8.0', sha256='78f90282c831bbbb675ed4811fb506a98dd05e37251fabd42ebc263c80bae8a6')
- version('4.7.1', sha256='7cd4b040f9bfd9356a8a2aba59ccf318cae6b5d94ded7463e2e823c10fa74972')
- version('4.7.0', sha256='daf2af53b4dc9413805bb62d668d1a3defbb7f755e3440e657195cdf18d318fc')
- version('4.6.0', sha256='c0de45b2aff4122dc8aa9dbfe1cd88fa0a50e9415f397b5fe85cbacc0156d613')
- version('4.5.6', sha256='1d3a4a4ff613d394a9670664fbaf51ddf7fc534278443b4fd99dd1eecf49dc27')
- version('4.5.2', sha256='81ff375d4da69aeabe96e8edf2479c21f0ca97fb99b421af035a260f31d05023')
-
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-httr@1.3.0:', type=('build', 'run'), when='@4.9.3:')
- depends_on('r-jsonlite@1.6:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-viridislite', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'))
- depends_on('r-htmlwidgets@1.3:', type=('build', 'run'))
- depends_on('r-htmlwidgets@1.5.2.9001:', type=('build', 'run'), when='@4.9.3:')
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'), when='@4.10.0:')
- depends_on('r-rcolorbrewer', type=('build', 'run'), when='@4.6.0:')
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'), when='@4.9.3:')
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-lazyeval@0.2.0:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@4.8.0:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@4.10.0:')
- depends_on('r-crosstalk', type=('build', 'run'), when='@4.6.0:')
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'), when='@4.7.0:')
- depends_on('r-promises', type=('build', 'run'), when='@4.8.0:')
-
- depends_on('r-hexbin', type=('build', 'run'), when='@:4.9.0')
+ version("4.10.0", sha256="bd995c654dbc8c09a84adaba8def99766919e3894caf18b551bb26b2f591389a")
+ version("4.9.3", sha256="d44d1a16d96de28bc2d36f1c897384215eeec44d109546c6e9c2707db0880120")
+ version("4.9.0", sha256="f761148338231f210fd7fe2f8325ffe9cfdaaaeddd7b933b65c44ebb4f85e2cf")
+ version("4.8.0", sha256="78f90282c831bbbb675ed4811fb506a98dd05e37251fabd42ebc263c80bae8a6")
+ version("4.7.1", sha256="7cd4b040f9bfd9356a8a2aba59ccf318cae6b5d94ded7463e2e823c10fa74972")
+ version("4.7.0", sha256="daf2af53b4dc9413805bb62d668d1a3defbb7f755e3440e657195cdf18d318fc")
+ version("4.6.0", sha256="c0de45b2aff4122dc8aa9dbfe1cd88fa0a50e9415f397b5fe85cbacc0156d613")
+ version("4.5.6", sha256="1d3a4a4ff613d394a9670664fbaf51ddf7fc534278443b4fd99dd1eecf49dc27")
+ version("4.5.2", sha256="81ff375d4da69aeabe96e8edf2479c21f0ca97fb99b421af035a260f31d05023")
+
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-httr@1.3.0:", type=("build", "run"), when="@4.9.3:")
+ depends_on("r-jsonlite@1.6:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-viridislite", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"))
+ depends_on("r-htmlwidgets@1.3:", type=("build", "run"))
+ depends_on("r-htmlwidgets@1.5.2.9001:", type=("build", "run"), when="@4.9.3:")
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"), when="@4.10.0:")
+ depends_on("r-rcolorbrewer", type=("build", "run"), when="@4.6.0:")
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"), when="@4.9.3:")
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-lazyeval@0.2.0:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@4.8.0:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@4.10.0:")
+ depends_on("r-crosstalk", type=("build", "run"), when="@4.6.0:")
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"), when="@4.7.0:")
+ depends_on("r-promises", type=("build", "run"), when="@4.8.0:")
+
+ depends_on("r-hexbin", type=("build", "run"), when="@:4.9.0")
diff --git a/var/spack/repos/builtin/packages/r-plotmo/package.py b/var/spack/repos/builtin/packages/r-plotmo/package.py
index d08581f4cd..b8bd192da3 100644
--- a/var/spack/repos/builtin/packages/r-plotmo/package.py
+++ b/var/spack/repos/builtin/packages/r-plotmo/package.py
@@ -15,12 +15,12 @@ class RPlotmo(RPackage):
cran = "plotmo"
- version('3.6.2', sha256='cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c')
- version('3.6.1', sha256='245a0c87f0cca08746c6fdc60da2e3856cd69b1a2b7b5641293c620d4ae04343')
- version('3.6.0', sha256='c05afcc442f9542868beea5c3c40fb93b049f9b61c42725b2a1e2bc750c241e3')
- version('3.5.6', sha256='78f08dc897136d21fa8ade2acb6290351b569d29eb0592c7074c0be3cf2aa594')
+ version("3.6.2", sha256="cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c")
+ version("3.6.1", sha256="245a0c87f0cca08746c6fdc60da2e3856cd69b1a2b7b5641293c620d4ae04343")
+ version("3.6.0", sha256="c05afcc442f9542868beea5c3c40fb93b049f9b61c42725b2a1e2bc750c241e3")
+ version("3.5.6", sha256="78f08dc897136d21fa8ade2acb6290351b569d29eb0592c7074c0be3cf2aa594")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-formula@1.2-3:', type=('build', 'run'))
- depends_on('r-plotrix', type=('build', 'run'))
- depends_on('r-teachingdemos', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-formula@1.2-3:", type=("build", "run"))
+ depends_on("r-plotrix", type=("build", "run"))
+ depends_on("r-teachingdemos", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-plotrix/package.py b/var/spack/repos/builtin/packages/r-plotrix/package.py
index 461da098fc..0321c7a79f 100644
--- a/var/spack/repos/builtin/packages/r-plotrix/package.py
+++ b/var/spack/repos/builtin/packages/r-plotrix/package.py
@@ -13,11 +13,11 @@ class RPlotrix(RPackage):
cran = "plotrix"
- version('3.8-2', sha256='bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f')
- version('3.7-8', sha256='8ccd1f7e656413b9956cea614c986ce9cc61366deba356afb38cee6672a59480')
- version('3.7-6', sha256='83d5f7574592953288b4fe39c4c0dd7670d097598ad7f6bddbb0687a32954e46')
- version('3.7-5', sha256='b22f3f9d93961d23ad46e41597d1e45d2665ced04dcad8c40f6806a67cded14c')
- version('3.6-4', sha256='883b7d0a00c1b2b418f9167c72ed9e86eca3c9865d34158a7a6ad0b9bf95bff3')
- version('3.6-3', sha256='217164bdd04405c3280a0c8b2691f289287f9851fa8248648a5ae38f54962741')
+ version("3.8-2", sha256="bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f")
+ version("3.7-8", sha256="8ccd1f7e656413b9956cea614c986ce9cc61366deba356afb38cee6672a59480")
+ version("3.7-6", sha256="83d5f7574592953288b4fe39c4c0dd7670d097598ad7f6bddbb0687a32954e46")
+ version("3.7-5", sha256="b22f3f9d93961d23ad46e41597d1e45d2665ced04dcad8c40f6806a67cded14c")
+ version("3.6-4", sha256="883b7d0a00c1b2b418f9167c72ed9e86eca3c9865d34158a7a6ad0b9bf95bff3")
+ version("3.6-3", sha256="217164bdd04405c3280a0c8b2691f289287f9851fa8248648a5ae38f54962741")
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.7-6:')
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.7-6:")
diff --git a/var/spack/repos/builtin/packages/r-pls/package.py b/var/spack/repos/builtin/packages/r-pls/package.py
index 2b8ffca72a..5d7657bd6e 100644
--- a/var/spack/repos/builtin/packages/r-pls/package.py
+++ b/var/spack/repos/builtin/packages/r-pls/package.py
@@ -15,10 +15,10 @@ class RPls(RPackage):
cran = "pls"
- version('2.8-0', sha256='eff3a92756ca34cdc1661fa36d2bf7fc8e9f4132d2f1ef9ed0105c83594618bf')
- version('2.7-3', sha256='8f1d960ab74f05fdd11c4c7a3d30ff9e263fc658f5690b67278ca7c045d0742c')
- version('2.7-1', sha256='f8fd817fc2aa046970c49a9a481489a3a2aef8b6f09293fb1f0218f00bfd834b')
- version('2.7-0', sha256='5ddc1249a14d69a7a39cc4ae81595ac8c0fbb1e46c911af67907baddeac35875')
- version('2.6-0', sha256='3d8708fb7f45863d3861fd231e06955e6750bcbe717e1ccfcc6d66d0cb4d4596')
+ version("2.8-0", sha256="eff3a92756ca34cdc1661fa36d2bf7fc8e9f4132d2f1ef9ed0105c83594618bf")
+ version("2.7-3", sha256="8f1d960ab74f05fdd11c4c7a3d30ff9e263fc658f5690b67278ca7c045d0742c")
+ version("2.7-1", sha256="f8fd817fc2aa046970c49a9a481489a3a2aef8b6f09293fb1f0218f00bfd834b")
+ version("2.7-0", sha256="5ddc1249a14d69a7a39cc4ae81595ac8c0fbb1e46c911af67907baddeac35875")
+ version("2.6-0", sha256="3d8708fb7f45863d3861fd231e06955e6750bcbe717e1ccfcc6d66d0cb4d4596")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-plyr/package.py b/var/spack/repos/builtin/packages/r-plyr/package.py
index 7f36f4a80b..95d9f25737 100644
--- a/var/spack/repos/builtin/packages/r-plyr/package.py
+++ b/var/spack/repos/builtin/packages/r-plyr/package.py
@@ -19,9 +19,9 @@ class RPlyr(RPackage):
cran = "plyr"
- version('1.8.7', sha256='7d9fdaf1157035a49c3661da3bbaa7bfcf782aafe1b98f7b5a68b0520046e87f')
- version('1.8.6', sha256='ea55d26f155443e9774769531daa5d4c20a0697bb53abd832e891b126c935287')
- version('1.8.4', sha256='60b522d75961007658c9806f8394db27989f1154727cb0bb970062c96ec9eac5')
+ version("1.8.7", sha256="7d9fdaf1157035a49c3661da3bbaa7bfcf782aafe1b98f7b5a68b0520046e87f")
+ version("1.8.6", sha256="ea55d26f155443e9774769531daa5d4c20a0697bb53abd832e891b126c935287")
+ version("1.8.4", sha256="60b522d75961007658c9806f8394db27989f1154727cb0bb970062c96ec9eac5")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pmcmr/package.py b/var/spack/repos/builtin/packages/r-pmcmr/package.py
index fbbab8ecbd..83bcdecd7f 100644
--- a/var/spack/repos/builtin/packages/r-pmcmr/package.py
+++ b/var/spack/repos/builtin/packages/r-pmcmr/package.py
@@ -18,8 +18,8 @@ class RPmcmr(RPackage):
cran = "PMCMR"
- version('4.4', sha256='e7b4d9d595a879a62c9b3bb44c1f95432ad75a6607f84ce6bfc6395fee1dc116')
- version('4.3', sha256='328a2880dd614dc412e8dca21d29ed9d5eea29ccbe0eff98c8068100856c7b25')
- version('4.1', sha256='6c164e2976c59ddd27297433a34fa61b1e70b9e26265abdf9c8af1b639d2d555')
+ version("4.4", sha256="e7b4d9d595a879a62c9b3bb44c1f95432ad75a6607f84ce6bfc6395fee1dc116")
+ version("4.3", sha256="328a2880dd614dc412e8dca21d29ed9d5eea29ccbe0eff98c8068100856c7b25")
+ version("4.1", sha256="6c164e2976c59ddd27297433a34fa61b1e70b9e26265abdf9c8af1b639d2d555")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pmcmrplus/package.py b/var/spack/repos/builtin/packages/r-pmcmrplus/package.py
index 421b263594..210abe8bde 100644
--- a/var/spack/repos/builtin/packages/r-pmcmrplus/package.py
+++ b/var/spack/repos/builtin/packages/r-pmcmrplus/package.py
@@ -36,17 +36,17 @@ class RPmcmrplus(RPackage):
cran = "PMCMRplus"
- version('1.9.4', sha256='1ec36674bb6d2fac3a1b0889c4672e40849c7e3565ffb34bb73b61f973bba19a')
- version('1.9.3', sha256='76baba60f57343fa5bb6f6d2ea27aab77178e02b0d2f9d5d74abde7d18994f03')
+ version("1.9.4", sha256="1ec36674bb6d2fac3a1b0889c4672e40849c7e3565ffb34bb73b61f973bba19a")
+ version("1.9.3", sha256="76baba60f57343fa5bb6f6d2ea27aab77178e02b0d2f9d5d74abde7d18994f03")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-mvtnorm@1.0:', type=('build', 'run'))
- depends_on('r-multcompview', type=('build', 'run'))
- depends_on('r-gmp', type=('build', 'run'))
- depends_on('r-rmpfr', type=('build', 'run'))
- depends_on('r-suppdists', type=('build', 'run'))
- depends_on('r-ksamples@1.2.7:', type=('build', 'run'))
- depends_on('r-bwstest@0.2.1:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('gmp@4.2.3:')
- depends_on('mpfr@3.0.0:')
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-mvtnorm@1.0:", type=("build", "run"))
+ depends_on("r-multcompview", type=("build", "run"))
+ depends_on("r-gmp", type=("build", "run"))
+ depends_on("r-rmpfr", type=("build", "run"))
+ depends_on("r-suppdists", type=("build", "run"))
+ depends_on("r-ksamples@1.2.7:", type=("build", "run"))
+ depends_on("r-bwstest@0.2.1:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("gmp@4.2.3:")
+ depends_on("mpfr@3.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-png/package.py b/var/spack/repos/builtin/packages/r-png/package.py
index 4f9a140def..94e477d0e5 100644
--- a/var/spack/repos/builtin/packages/r-png/package.py
+++ b/var/spack/repos/builtin/packages/r-png/package.py
@@ -15,7 +15,7 @@ class RPng(RPackage):
cran = "png"
- version('0.1-7', sha256='e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c')
+ version("0.1-7", sha256="e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('libpng')
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("libpng")
diff --git a/var/spack/repos/builtin/packages/r-polspline/package.py b/var/spack/repos/builtin/packages/r-polspline/package.py
index de8f255bc9..bc0daa5caf 100644
--- a/var/spack/repos/builtin/packages/r-polspline/package.py
+++ b/var/spack/repos/builtin/packages/r-polspline/package.py
@@ -15,9 +15,9 @@ class RPolspline(RPackage):
cran = "polspline"
- version('1.1.20', sha256='6992484e9e41036debef1e705e26959f8f5c7a68d3e1fda58273d2a72297a1b5')
- version('1.1.19', sha256='953e3c4d007c3ef86ac2af3c71b272a99e8e35b194bdd58575785558c6711f66')
- version('1.1.18', sha256='df250ee144bfff154249ba50308f46863107ef3efb2333ad908e599ed0eb0102')
- version('1.1.17', sha256='d67b269d01105d4a6ea774737e921e66e065a859d1931ae38a70f88b6fb7ee30')
- version('1.1.16', sha256='aa3b5a1560008a1a401a65a25f19a27ba6f0a6ea185b6d093acd40e4e2818934')
- version('1.1.15', sha256='8cdbaa5ee672055a4d02f965025199ce764958f84bfa159e853feba7ee24faa7')
+ version("1.1.20", sha256="6992484e9e41036debef1e705e26959f8f5c7a68d3e1fda58273d2a72297a1b5")
+ version("1.1.19", sha256="953e3c4d007c3ef86ac2af3c71b272a99e8e35b194bdd58575785558c6711f66")
+ version("1.1.18", sha256="df250ee144bfff154249ba50308f46863107ef3efb2333ad908e599ed0eb0102")
+ version("1.1.17", sha256="d67b269d01105d4a6ea774737e921e66e065a859d1931ae38a70f88b6fb7ee30")
+ version("1.1.16", sha256="aa3b5a1560008a1a401a65a25f19a27ba6f0a6ea185b6d093acd40e4e2818934")
+ version("1.1.15", sha256="8cdbaa5ee672055a4d02f965025199ce764958f84bfa159e853feba7ee24faa7")
diff --git a/var/spack/repos/builtin/packages/r-polyclip/package.py b/var/spack/repos/builtin/packages/r-polyclip/package.py
index 022467d569..7320e709a6 100644
--- a/var/spack/repos/builtin/packages/r-polyclip/package.py
+++ b/var/spack/repos/builtin/packages/r-polyclip/package.py
@@ -19,6 +19,6 @@ class RPolyclip(RPackage):
cran = "polyclip"
- version('1.10-0', sha256='74dabc0dfe5a527114f0bb8f3d22f5d1ae694e6ea9345912909bae885525d34b')
+ version("1.10-0", sha256="74dabc0dfe5a527114f0bb8f3d22f5d1ae694e6ea9345912909bae885525d34b")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-polynom/package.py b/var/spack/repos/builtin/packages/r-polynom/package.py
index d7edcd31b4..7d8278ba32 100644
--- a/var/spack/repos/builtin/packages/r-polynom/package.py
+++ b/var/spack/repos/builtin/packages/r-polynom/package.py
@@ -12,5 +12,5 @@ class RPolynom(RPackage):
cran = "polynom"
- version('1.4-1', sha256='bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278')
- version('1.4-0', sha256='c5b788b26f7118a18d5d8e7ba93a0abf3efa6603fa48603c70ed63c038d3d4dd')
+ version("1.4-1", sha256="bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278")
+ version("1.4-0", sha256="c5b788b26f7118a18d5d8e7ba93a0abf3efa6603fa48603c70ed63c038d3d4dd")
diff --git a/var/spack/repos/builtin/packages/r-pool/package.py b/var/spack/repos/builtin/packages/r-pool/package.py
index b4668175a3..5580320cb5 100644
--- a/var/spack/repos/builtin/packages/r-pool/package.py
+++ b/var/spack/repos/builtin/packages/r-pool/package.py
@@ -15,9 +15,9 @@ class RPool(RPackage):
cran = "pool"
- version('0.1.6', sha256='cdbe5f6c7f757c01893dc9870df0fb8d300829da0e427f6c2559b01caa52d9e1')
+ version("0.1.6", sha256="cdbe5f6c7f757c01893dc9870df0fb8d300829da0e427f6c2559b01caa52d9e1")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-later@1.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-later@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-poorman/package.py b/var/spack/repos/builtin/packages/r-poorman/package.py
index b7be3ca92b..bb99052f1e 100644
--- a/var/spack/repos/builtin/packages/r-poorman/package.py
+++ b/var/spack/repos/builtin/packages/r-poorman/package.py
@@ -14,6 +14,6 @@ class RPoorman(RPackage):
cran = "poorman"
- version('0.2.5', sha256='b92b30ce0f4f02c4fa4a4e90673ef2e0ed8de9b9080dd064506581989fcc0716')
+ version("0.2.5", sha256="b92b30ce0f4f02c4fa4a4e90673ef2e0ed8de9b9080dd064506581989fcc0716")
- depends_on('r@3.5:', type=('build', 'run'))
+ depends_on("r@3.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-popgenome/package.py b/var/spack/repos/builtin/packages/r-popgenome/package.py
index 27a69c9f46..e064cf3a5f 100644
--- a/var/spack/repos/builtin/packages/r-popgenome/package.py
+++ b/var/spack/repos/builtin/packages/r-popgenome/package.py
@@ -18,10 +18,10 @@ class RPopgenome(RPackage):
cran = "PopGenome"
- version('2.7.5', sha256='d627b8ac87b4db6038d7349b2df20648d2fcfd48e2dafcd7f4731d1b607cbc75')
- version('2.7.1', sha256='a84903b151528fa026ccaba42ada22cd89babbc1824afd40269b7204e488a5fa')
- version('2.6.1', sha256='7a2922ed505fa801117a153e479d246bcf4854b91c6ab0241acc620a9d779b1c')
+ version("2.7.5", sha256="d627b8ac87b4db6038d7349b2df20648d2fcfd48e2dafcd7f4731d1b607cbc75")
+ version("2.7.1", sha256="a84903b151528fa026ccaba42ada22cd89babbc1824afd40269b7204e488a5fa")
+ version("2.6.1", sha256="7a2922ed505fa801117a153e479d246bcf4854b91c6ab0241acc620a9d779b1c")
- depends_on('r@2.14.2:', type=('build', 'run'))
- depends_on('r-ff', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("r@2.14.2:", type=("build", "run"))
+ depends_on("r-ff", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/r-popvar/package.py b/var/spack/repos/builtin/packages/r-popvar/package.py
index 9f13868188..338b2954e1 100644
--- a/var/spack/repos/builtin/packages/r-popvar/package.py
+++ b/var/spack/repos/builtin/packages/r-popvar/package.py
@@ -22,11 +22,11 @@ class RPopvar(RPackage):
cran = "PopVar"
- version('1.3.0', sha256='3145c41c9aa1588d47aaf76c082e6b1c2fd95cf5014b98bd2867cbf2cec782f9')
- version('1.2.1', sha256='5e3df79634ab63708a431e4b8e6794675972ac6c58d2bc615726aa0f142f5f25')
+ version("1.3.0", sha256="3145c41c9aa1588d47aaf76c082e6b1c2fd95cf5014b98bd2867cbf2cec782f9")
+ version("1.2.1", sha256="5e3df79634ab63708a431e4b8e6794675972ac6c58d2bc615726aa0f142f5f25")
- depends_on('r@3.1.1:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-bglr', type=('build', 'run'))
- depends_on('r-qtl', type=('build', 'run'))
- depends_on('r-rrblup', type=('build', 'run'))
+ depends_on("r@3.1.1:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-bglr", type=("build", "run"))
+ depends_on("r-qtl", type=("build", "run"))
+ depends_on("r-rrblup", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-posterior/package.py b/var/spack/repos/builtin/packages/r-posterior/package.py
index 54110bfae8..5de0fd7a81 100644
--- a/var/spack/repos/builtin/packages/r-posterior/package.py
+++ b/var/spack/repos/builtin/packages/r-posterior/package.py
@@ -21,17 +21,17 @@ class RPosterior(RPackage):
cran = "posterior"
- version('1.2.1', sha256='b757e06885a1f21e7ad8f5a3feaecbe0a71ae8d766e4aec4c3aa2183a810afe1')
- version('1.2.0', sha256='2ba01711a98448acc939cf506d22e8ee4cf680cdcea873226671fa8ae6934386')
- version('1.1.0', sha256='eff6262dbcc1bf18337f535b0c75ba2fe360322e8b170c466e24ed3ee76cf4d2')
+ version("1.2.1", sha256="b757e06885a1f21e7ad8f5a3feaecbe0a71ae8d766e4aec4c3aa2183a810afe1")
+ version("1.2.0", sha256="2ba01711a98448acc939cf506d22e8ee4cf680cdcea873226671fa8ae6934386")
+ version("1.1.0", sha256="eff6262dbcc1bf18337f535b0c75ba2fe360322e8b170c466e24ed3ee76cf4d2")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-checkmate', type=('build', 'run'))
- depends_on('r-rlang@0.4.7:', type=('build', 'run'))
- depends_on('r-tibble@3.0.0:', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'))
- depends_on('r-tensora', type=('build', 'run'))
- depends_on('r-pillar', type=('build', 'run'))
- depends_on('r-distributional', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-checkmate", type=("build", "run"))
+ depends_on("r-rlang@0.4.7:", type=("build", "run"))
+ depends_on("r-tibble@3.0.0:", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"))
+ depends_on("r-tensora", type=("build", "run"))
+ depends_on("r-pillar", type=("build", "run"))
+ depends_on("r-distributional", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-powerlaw/package.py b/var/spack/repos/builtin/packages/r-powerlaw/package.py
index 68dcedf202..97803668f8 100644
--- a/var/spack/repos/builtin/packages/r-powerlaw/package.py
+++ b/var/spack/repos/builtin/packages/r-powerlaw/package.py
@@ -16,12 +16,12 @@ class RPowerlaw(RPackage):
cran = "poweRlaw"
- version('0.70.6', sha256='efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191')
- version('0.70.2', sha256='240f1454389b1a00ad483fb63e5b53243cc9367f21a3e7253ab2c293673459ab')
- version('0.70.1', sha256='15b1b8dadeb550c01b9f1308cfa64720be6fbf56afb80f6a096987d6a0055913')
+ version("0.70.6", sha256="efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191")
+ version("0.70.2", sha256="240f1454389b1a00ad483fb63e5b53243cc9367f21a3e7253ab2c293673459ab")
+ version("0.70.1", sha256="15b1b8dadeb550c01b9f1308cfa64720be6fbf56afb80f6a096987d6a0055913")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@0.70.2:')
- depends_on('r-pracma', type=('build', 'run'), when='@0.70.6:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@0.70.2:")
+ depends_on("r-pracma", type=("build", "run"), when="@0.70.6:")
- depends_on('r-vgam', type=('build', 'run'), when='@:0.70.2')
+ depends_on("r-vgam", type=("build", "run"), when="@:0.70.2")
diff --git a/var/spack/repos/builtin/packages/r-prabclus/package.py b/var/spack/repos/builtin/packages/r-prabclus/package.py
index 8f765d89d2..0654c2faa9 100644
--- a/var/spack/repos/builtin/packages/r-prabclus/package.py
+++ b/var/spack/repos/builtin/packages/r-prabclus/package.py
@@ -19,11 +19,11 @@ class RPrabclus(RPackage):
cran = "prabclus"
- version('2.3-2', sha256='f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441')
- version('2.3-1', sha256='ef3294767d43bc3f72478fdaf0d1f13c8de18881bf9040c9f1add68af808b3c0')
- version('2.2-7.1', sha256='2c5bf3bbb0d225e04c53bb0e11e9c2a6809f0e46d95b8f6dc14b9dd6a2452975')
- version('2.2-6', sha256='41792980e40ba18204fab92d85120dcd468860e2204e52fb42636c6f7aee5a62')
+ version("2.3-2", sha256="f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441")
+ version("2.3-1", sha256="ef3294767d43bc3f72478fdaf0d1f13c8de18881bf9040c9f1add68af808b3c0")
+ version("2.2-7.1", sha256="2c5bf3bbb0d225e04c53bb0e11e9c2a6809f0e46d95b8f6dc14b9dd6a2452975")
+ version("2.2-6", sha256="41792980e40ba18204fab92d85120dcd468860e2204e52fb42636c6f7aee5a62")
- depends_on('r@2.1.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mclust', type=('build', 'run'))
+ depends_on("r@2.1.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mclust", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-pracma/package.py b/var/spack/repos/builtin/packages/r-pracma/package.py
index db2b720765..7cb3127b3e 100644
--- a/var/spack/repos/builtin/packages/r-pracma/package.py
+++ b/var/spack/repos/builtin/packages/r-pracma/package.py
@@ -16,8 +16,8 @@ class RPracma(RPackage):
cran = "pracma"
- version('2.3.8', sha256='2302d454406e72711714732658d0c59c9d5a1ead698f22ee23f38cba63d42764')
- version('2.3.6', sha256='17ac83fd48c9155e00dc3f0433f95723505dc73d046860afd9001866d699b8de')
- version('2.2.9', sha256='0cea0ff5e88643df121e07b9aebfe57084c61e11801680039752f371fe87bf1e')
+ version("2.3.8", sha256="2302d454406e72711714732658d0c59c9d5a1ead698f22ee23f38cba63d42764")
+ version("2.3.6", sha256="17ac83fd48c9155e00dc3f0433f95723505dc73d046860afd9001866d699b8de")
+ version("2.2.9", sha256="0cea0ff5e88643df121e07b9aebfe57084c61e11801680039752f371fe87bf1e")
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-praise/package.py b/var/spack/repos/builtin/packages/r-praise/package.py
index c94e8cc164..95a7fd9209 100644
--- a/var/spack/repos/builtin/packages/r-praise/package.py
+++ b/var/spack/repos/builtin/packages/r-praise/package.py
@@ -14,4 +14,4 @@ class RPraise(RPackage):
cran = "praise"
- version('1.0.0', sha256='5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd')
+ version("1.0.0", sha256="5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd")
diff --git a/var/spack/repos/builtin/packages/r-preprocesscore/package.py b/var/spack/repos/builtin/packages/r-preprocesscore/package.py
index f18061212c..7f779764f7 100644
--- a/var/spack/repos/builtin/packages/r-preprocesscore/package.py
+++ b/var/spack/repos/builtin/packages/r-preprocesscore/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class RPreprocesscore(RPackage):
"""A collection of pre-processing functions.
- A library of core preprocessing routines."""
+ A library of core preprocessing routines."""
bioc = "preprocessCore"
- version('1.58.0', commit='2995e3e1a8f428a80aee200db42ee44743d893f6')
- version('1.56.0', commit='8f3272219507aa85e0c876fb434dc3b926c22c5d')
- version('1.52.1', commit='91de4ab67315dc2af68554ae3c48823f4b1ea8ac')
- version('1.46.0', commit='8cfc3938c1b08424587f437ed6cd2ec43512500e')
- version('1.44.0', commit='dc1dc61fc562aaff3fd9b11ab0d48c2d6b3a5b81')
- version('1.42.0', commit='2e3a8baeacfaa1526d51252642772ea951015bba')
- version('1.40.0', commit='969bb0e5cbd63d569502ae4e6eaadc1e216646dd')
- version('1.38.1', commit='c58cb4c720eda0f1c733b989b14912093a7c5fbc')
+ version("1.58.0", commit="2995e3e1a8f428a80aee200db42ee44743d893f6")
+ version("1.56.0", commit="8f3272219507aa85e0c876fb434dc3b926c22c5d")
+ version("1.52.1", commit="91de4ab67315dc2af68554ae3c48823f4b1ea8ac")
+ version("1.46.0", commit="8cfc3938c1b08424587f437ed6cd2ec43512500e")
+ version("1.44.0", commit="dc1dc61fc562aaff3fd9b11ab0d48c2d6b3a5b81")
+ version("1.42.0", commit="2e3a8baeacfaa1526d51252642772ea951015bba")
+ version("1.40.0", commit="969bb0e5cbd63d569502ae4e6eaadc1e216646dd")
+ version("1.38.1", commit="c58cb4c720eda0f1c733b989b14912093a7c5fbc")
diff --git a/var/spack/repos/builtin/packages/r-prettydoc/package.py b/var/spack/repos/builtin/packages/r-prettydoc/package.py
index 1c14d0f9e8..a01efa78d3 100644
--- a/var/spack/repos/builtin/packages/r-prettydoc/package.py
+++ b/var/spack/repos/builtin/packages/r-prettydoc/package.py
@@ -16,7 +16,7 @@ class RPrettydoc(RPackage):
cran = "prettydoc"
- version('0.4.1', sha256='1094a69b026238d149435472b4f41c75151c7370a1be6c6332147c88ad4c4829')
+ version("0.4.1", sha256="1094a69b026238d149435472b4f41c75151c7370a1be6c6332147c88ad4c4829")
- depends_on('r-rmarkdown@1.17:', type=('build', 'run'))
- depends_on('pandoc@1.12.3:', type='build')
+ depends_on("r-rmarkdown@1.17:", type=("build", "run"))
+ depends_on("pandoc@1.12.3:", type="build")
diff --git a/var/spack/repos/builtin/packages/r-prettyunits/package.py b/var/spack/repos/builtin/packages/r-prettyunits/package.py
index e866eb07bf..1502b750f6 100644
--- a/var/spack/repos/builtin/packages/r-prettyunits/package.py
+++ b/var/spack/repos/builtin/packages/r-prettyunits/package.py
@@ -15,8 +15,8 @@ class RPrettyunits(RPackage):
cran = "prettyunits"
- version('1.1.1', sha256='9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5')
- version('1.0.2', sha256='35a4980586c20650538ae1e4fed4d80fdde3f212b98546fc3c7d9469a1207f5c')
+ version("1.1.1", sha256="9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5")
+ version("1.0.2", sha256="35a4980586c20650538ae1e4fed4d80fdde3f212b98546fc3c7d9469a1207f5c")
- depends_on('r-magrittr', type=('build', 'run'), when='@:1.0.2')
- depends_on('r-assertthat', type=('build', 'run'), when='@:1.0.2')
+ depends_on("r-magrittr", type=("build", "run"), when="@:1.0.2")
+ depends_on("r-assertthat", type=("build", "run"), when="@:1.0.2")
diff --git a/var/spack/repos/builtin/packages/r-proc/package.py b/var/spack/repos/builtin/packages/r-proc/package.py
index da637cf1ae..e9c2145c27 100644
--- a/var/spack/repos/builtin/packages/r-proc/package.py
+++ b/var/spack/repos/builtin/packages/r-proc/package.py
@@ -16,9 +16,9 @@ class RProc(RPackage):
cran = "pROC"
- version('1.18.0', sha256='d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9')
- version('1.17.0.1', sha256='221c726ffb81b04b999905effccfd3a223cd73cae70d7d86688e2dd30e51a6bd')
+ version("1.18.0", sha256="d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9")
+ version("1.17.0.1", sha256="221c726ffb81b04b999905effccfd3a223cd73cae70d7d86688e2dd30e51a6bd")
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-rcpp@0.11.1:', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-rcpp@0.11.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-processx/package.py b/var/spack/repos/builtin/packages/r-processx/package.py
index 4e9d9da049..f049a24337 100644
--- a/var/spack/repos/builtin/packages/r-processx/package.py
+++ b/var/spack/repos/builtin/packages/r-processx/package.py
@@ -18,21 +18,21 @@ class RProcessx(RPackage):
cran = "processx"
- version('3.5.3', sha256='679629fa56ec185d4fd52ade5b699c78a2a0e875acdf57555b31bc62111f342a')
- version('3.5.2', sha256='ed6f2d1047461c6061e6ed58fb6de65a289b56009867892abad76c6bba46fc2b')
- version('3.4.5', sha256='e368103aa6a6894bfa8e78b12a25598464bcd2c19a8b6334f24ee397db13bb14')
- version('3.4.1', sha256='f1abddb48fa78f2b176552e2ec5d808d4d87d79ce72e9b3d25c9a7d715bbd1bc')
- version('3.3.1', sha256='6123dbdf9f3bb6e5e8678980fb4587dcefb56d2190adf2ef494d7cd199720bae')
- version('3.2.0', sha256='c4ba602fcbdc032ae9d94701b3e6b83a2dab1b53d0b4f9937b07a84eae22fddf')
- version('3.1.0', sha256='11ac120ab4e4aa0e99c9b2eda87d07bc683bab735f1761e95e5ddacd311b5972')
- version('3.0.3', sha256='53781dba3c538605a02e28b3b577e7de79e2064bfc502025f7ec0e5945e302bf')
- version('2.0.0.1', sha256='8f61b2952d0f2d13c74465bfba174ce11eee559475c2f7b9be6bcb9e2e1d827b')
- version('2.0.0', sha256='8325b56a60a276909228756281523cda9256bc754c5f3ca03b41c5c17cc398ad')
-
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.5.3:')
- depends_on('r-ps@1.2.0:', type=('build', 'run'), when='@3.2.0:')
- depends_on('r-r6', type=('build', 'run'))
-
- depends_on('r-assertthat', type=('build', 'run'), when='@:3.2.9')
- depends_on('r-crayon', type=('build', 'run'), when='@:3.2.9')
- depends_on('r-debugme', type=('build', 'run'), when='@:3.0.9')
+ version("3.5.3", sha256="679629fa56ec185d4fd52ade5b699c78a2a0e875acdf57555b31bc62111f342a")
+ version("3.5.2", sha256="ed6f2d1047461c6061e6ed58fb6de65a289b56009867892abad76c6bba46fc2b")
+ version("3.4.5", sha256="e368103aa6a6894bfa8e78b12a25598464bcd2c19a8b6334f24ee397db13bb14")
+ version("3.4.1", sha256="f1abddb48fa78f2b176552e2ec5d808d4d87d79ce72e9b3d25c9a7d715bbd1bc")
+ version("3.3.1", sha256="6123dbdf9f3bb6e5e8678980fb4587dcefb56d2190adf2ef494d7cd199720bae")
+ version("3.2.0", sha256="c4ba602fcbdc032ae9d94701b3e6b83a2dab1b53d0b4f9937b07a84eae22fddf")
+ version("3.1.0", sha256="11ac120ab4e4aa0e99c9b2eda87d07bc683bab735f1761e95e5ddacd311b5972")
+ version("3.0.3", sha256="53781dba3c538605a02e28b3b577e7de79e2064bfc502025f7ec0e5945e302bf")
+ version("2.0.0.1", sha256="8f61b2952d0f2d13c74465bfba174ce11eee559475c2f7b9be6bcb9e2e1d827b")
+ version("2.0.0", sha256="8325b56a60a276909228756281523cda9256bc754c5f3ca03b41c5c17cc398ad")
+
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.5.3:")
+ depends_on("r-ps@1.2.0:", type=("build", "run"), when="@3.2.0:")
+ depends_on("r-r6", type=("build", "run"))
+
+ depends_on("r-assertthat", type=("build", "run"), when="@:3.2.9")
+ depends_on("r-crayon", type=("build", "run"), when="@:3.2.9")
+ depends_on("r-debugme", type=("build", "run"), when="@:3.0.9")
diff --git a/var/spack/repos/builtin/packages/r-prodlim/package.py b/var/spack/repos/builtin/packages/r-prodlim/package.py
index 9555be191b..568bc6fb5c 100644
--- a/var/spack/repos/builtin/packages/r-prodlim/package.py
+++ b/var/spack/repos/builtin/packages/r-prodlim/package.py
@@ -15,13 +15,17 @@ class RProdlim(RPackage):
cran = "prodlim"
- version('2019.11.13', sha256='6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f')
- version('2018.04.18', sha256='4b22b54fdf712439309be0ff74f63cde9080464667b00e19823372ac0fc254ab')
- version('1.6.1', sha256='3f2665257118a3db8682731a500b1ae4d669af344672dc2037f987bee3cca154')
- version('1.5.9', sha256='853644886c57102e7f6dd26b6e03e54bf3f9e126f54c76f8d63a3324811f7b42')
+ version(
+ "2019.11.13", sha256="6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f"
+ )
+ version(
+ "2018.04.18", sha256="4b22b54fdf712439309be0ff74f63cde9080464667b00e19823372ac0fc254ab"
+ )
+ version("1.6.1", sha256="3f2665257118a3db8682731a500b1ae4d669af344672dc2037f987bee3cca154")
+ version("1.5.9", sha256="853644886c57102e7f6dd26b6e03e54bf3f9e126f54c76f8d63a3324811f7b42")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-kernsmooth', type=('build', 'run'))
- depends_on('r-lava', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-kernsmooth", type=("build", "run"))
+ depends_on("r-lava", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-progress/package.py b/var/spack/repos/builtin/packages/r-progress/package.py
index 6a8cba0371..bb950dca49 100644
--- a/var/spack/repos/builtin/packages/r-progress/package.py
+++ b/var/spack/repos/builtin/packages/r-progress/package.py
@@ -16,11 +16,11 @@ class RProgress(RPackage):
cran = "progress"
- version('1.2.2', sha256='b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35')
- version('1.2.1', sha256='7401e86ff76bef4d26508b74ee8bd169a0377b2738d9ec79ebff0b7fd5c55326')
- version('1.1.2', sha256='a9f4abfd9579b80967cd681041643fe9dfcc4eb3beeba45391bb64e9209baabb')
+ version("1.2.2", sha256="b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35")
+ version("1.2.1", sha256="7401e86ff76bef4d26508b74ee8bd169a0377b2738d9ec79ebff0b7fd5c55326")
+ version("1.1.2", sha256="a9f4abfd9579b80967cd681041643fe9dfcc4eb3beeba45391bb64e9209baabb")
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-prettyunits', type=('build', 'run'))
- depends_on('r-hms', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-crayon', type=('build', 'run'), when='@1.2.0:')
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-prettyunits", type=("build", "run"))
+ depends_on("r-hms", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-crayon", type=("build", "run"), when="@1.2.0:")
diff --git a/var/spack/repos/builtin/packages/r-progressr/package.py b/var/spack/repos/builtin/packages/r-progressr/package.py
index 4ef2fb28af..964c3ded76 100644
--- a/var/spack/repos/builtin/packages/r-progressr/package.py
+++ b/var/spack/repos/builtin/packages/r-progressr/package.py
@@ -29,8 +29,8 @@ class RProgressr(RPackage):
cran = "progressr"
- version('0.10.1', sha256='8f83024b2a6f52996750d45bf6698c2b438fb1062985f1df936ba3af313caed1')
- version('0.10.0', sha256='4c95dc11c50c792440fa17f4538d59f1f3012bf6ef462a5a141609f87319badc')
+ version("0.10.1", sha256="8f83024b2a6f52996750d45bf6698c2b438fb1062985f1df936ba3af313caed1")
+ version("0.10.0", sha256="4c95dc11c50c792440fa17f4538d59f1f3012bf6ef462a5a141609f87319badc")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-proj/package.py b/var/spack/repos/builtin/packages/r-proj/package.py
index ceb9e6d822..7592466e11 100644
--- a/var/spack/repos/builtin/packages/r-proj/package.py
+++ b/var/spack/repos/builtin/packages/r-proj/package.py
@@ -14,8 +14,8 @@ class RProj(RPackage):
cran = "PROJ"
- version('0.4.0', sha256='dde90cfeca83864e61a7422e1573d2d55bb0377c32b9a8f550f47b8631121ce7')
- version('0.1.0', sha256='5186f221335e8092bbcd4d82bd323ee7e752c7c9cf83d3f94e4567e0b407aa6f')
+ version("0.4.0", sha256="dde90cfeca83864e61a7422e1573d2d55bb0377c32b9a8f550f47b8631121ce7")
+ version("0.1.0", sha256="5186f221335e8092bbcd4d82bd323ee7e752c7c9cf83d3f94e4567e0b407aa6f")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'), when='@0.4.0:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"), when="@0.4.0:")
diff --git a/var/spack/repos/builtin/packages/r-proj4/package.py b/var/spack/repos/builtin/packages/r-proj4/package.py
index 93e54c9eb8..efb1ea3786 100644
--- a/var/spack/repos/builtin/packages/r-proj4/package.py
+++ b/var/spack/repos/builtin/packages/r-proj4/package.py
@@ -15,14 +15,14 @@ class RProj4(RPackage):
cran = "proj4"
- version('1.0-11', sha256='c5f186530267005d53cc2e86849613b254ca4515a8b10310146f712d45a1d11d')
- version('1.0-10.1', sha256='66857cbe5cba4930b18621070f9a7263ea0d8ddc3e5a035a051a1496e4e1da19')
- version('1.0-10', sha256='5f396f172a17cfa9821a390f11ff7d3bff3c92ccf585572116dec459c621d1d0')
- version('1.0-8.1', sha256='a3a2a8f0014fd79fa34b5957440fd38299d8e97f1a802a61a068a6c6cda10a7e')
+ version("1.0-11", sha256="c5f186530267005d53cc2e86849613b254ca4515a8b10310146f712d45a1d11d")
+ version("1.0-10.1", sha256="66857cbe5cba4930b18621070f9a7263ea0d8ddc3e5a035a051a1496e4e1da19")
+ version("1.0-10", sha256="5f396f172a17cfa9821a390f11ff7d3bff3c92ccf585572116dec459c621d1d0")
+ version("1.0-8.1", sha256="a3a2a8f0014fd79fa34b5957440fd38299d8e97f1a802a61a068a6c6cda10a7e")
- depends_on('r@2.0.0:', type=('build', 'run'))
- depends_on('proj@4.4.6:7', when='@:1.0-8')
- depends_on('proj@4.4.6:')
+ depends_on("r@2.0.0:", type=("build", "run"))
+ depends_on("proj@4.4.6:7", when="@:1.0-8")
+ depends_on("proj@4.4.6:")
# This is needed because the configure script links to sqlite3
- depends_on('sqlite', when='@1.0-10.1:')
+ depends_on("sqlite", when="@1.0-10.1:")
diff --git a/var/spack/repos/builtin/packages/r-projpred/package.py b/var/spack/repos/builtin/packages/r-projpred/package.py
index dca6ff8b4d..0eaa5b4d08 100644
--- a/var/spack/repos/builtin/packages/r-projpred/package.py
+++ b/var/spack/repos/builtin/packages/r-projpred/package.py
@@ -19,24 +19,24 @@ class RProjpred(RPackage):
cran = "projpred"
- version('2.1.2', sha256='a88a651e533c118aad0e8c2c905cfcf688d9c419ed195896036b8f6667b5cfb0')
- version('2.0.2', sha256='af0a9fb53f706090fe81b6381b27b0b6bd3f7ae1e1e44b0ada6f40972b09a55b')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-loo@2.0.0:', type=('build', 'run'))
- depends_on('r-rstantools@2.0.0:', type=('build', 'run'))
- depends_on('r-lme4', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'), when='@2.1.2:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-gamm4', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@2.1.2:')
- depends_on('r-rcpparmadillo', type=('build', 'run'))
-
- depends_on('r-optimx', type=('build', 'run'), when='@:2.0.2')
- depends_on('r-rngtools@1.2.4:', type=('build', 'run'), when='@:2.0.2')
- depends_on('r-tidyverse', type=('build', 'run'), when='@:2.0.2')
- depends_on('r-mass', type=('build', 'run'), when='@:2.0.2')
+ version("2.1.2", sha256="a88a651e533c118aad0e8c2c905cfcf688d9c419ed195896036b8f6667b5cfb0")
+ version("2.0.2", sha256="af0a9fb53f706090fe81b6381b27b0b6bd3f7ae1e1e44b0ada6f40972b09a55b")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-loo@2.0.0:", type=("build", "run"))
+ depends_on("r-rstantools@2.0.0:", type=("build", "run"))
+ depends_on("r-lme4", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"), when="@2.1.2:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-gamm4", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@2.1.2:")
+ depends_on("r-rcpparmadillo", type=("build", "run"))
+
+ depends_on("r-optimx", type=("build", "run"), when="@:2.0.2")
+ depends_on("r-rngtools@1.2.4:", type=("build", "run"), when="@:2.0.2")
+ depends_on("r-tidyverse", type=("build", "run"), when="@:2.0.2")
+ depends_on("r-mass", type=("build", "run"), when="@:2.0.2")
diff --git a/var/spack/repos/builtin/packages/r-promises/package.py b/var/spack/repos/builtin/packages/r-promises/package.py
index 9de02004f3..57fb275dd3 100644
--- a/var/spack/repos/builtin/packages/r-promises/package.py
+++ b/var/spack/repos/builtin/packages/r-promises/package.py
@@ -17,12 +17,12 @@ class RPromises(RPackage):
cran = "promises"
- version('1.2.0.1', sha256='8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7')
- version('1.1.1', sha256='3718c6eb2c3362cbe89389e613118f783f9977dbf24757f85026e661199c5800')
- version('1.0.1', sha256='c2dbc7734adf009377a41e570dfe0d82afb91335c9d0ca1ef464b9bdcca65558')
+ version("1.2.0.1", sha256="8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7")
+ version("1.1.1", sha256="3718c6eb2c3362cbe89389e613118f783f9977dbf24757f85026e661199c5800")
+ version("1.0.1", sha256="c2dbc7734adf009377a41e570dfe0d82afb91335c9d0ca1ef464b9bdcca65558")
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-later', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-later", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-protgenerics/package.py b/var/spack/repos/builtin/packages/r-protgenerics/package.py
index c30542230c..edc8461666 100644
--- a/var/spack/repos/builtin/packages/r-protgenerics/package.py
+++ b/var/spack/repos/builtin/packages/r-protgenerics/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class RProtgenerics(RPackage):
"""S4 generic functions for Bioconductor proteomics infrastructure.
- S4 generic functions needed by Bioconductor proteomics packages."""
+ S4 generic functions needed by Bioconductor proteomics packages."""
bioc = "ProtGenerics"
- version('1.28.0', commit='cfcd0a9ebd642515764ba70c5c4e9c2a0f2f07ac')
- version('1.26.0', commit='2033289ab928034b86c321e56c37e502e557c7a1')
- version('1.22.0', commit='2bb3011fb0d79536e1c50251084a7057004449c6')
- version('1.16.0', commit='960a5fdc586898513b5ae9c48fffba5c5d703723')
- version('1.14.0', commit='c85940b70a16ad69275c4facb3ef673d20a1c998')
- version('1.12.0', commit='e84382a4b1730409f572fb681b5070017d00d30d')
- version('1.10.0', commit='9ae2c3710b77381571900f0f25c6c8fda65795ac')
- version('1.8.0', commit='b2b3bb0938e20f58fca905f6870de7dbc9dfd7a3')
+ version("1.28.0", commit="cfcd0a9ebd642515764ba70c5c4e9c2a0f2f07ac")
+ version("1.26.0", commit="2033289ab928034b86c321e56c37e502e557c7a1")
+ version("1.22.0", commit="2bb3011fb0d79536e1c50251084a7057004449c6")
+ version("1.16.0", commit="960a5fdc586898513b5ae9c48fffba5c5d703723")
+ version("1.14.0", commit="c85940b70a16ad69275c4facb3ef673d20a1c998")
+ version("1.12.0", commit="e84382a4b1730409f572fb681b5070017d00d30d")
+ version("1.10.0", commit="9ae2c3710b77381571900f0f25c6c8fda65795ac")
+ version("1.8.0", commit="b2b3bb0938e20f58fca905f6870de7dbc9dfd7a3")
diff --git a/var/spack/repos/builtin/packages/r-proto/package.py b/var/spack/repos/builtin/packages/r-proto/package.py
index 6b303e8fa8..f9d69d38cb 100644
--- a/var/spack/repos/builtin/packages/r-proto/package.py
+++ b/var/spack/repos/builtin/packages/r-proto/package.py
@@ -14,5 +14,5 @@ class RProto(RPackage):
cran = "proto"
- version('1.0.0', sha256='9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1')
- version('0.3-10', sha256='d0d941bfbf247879b3510c8ef3e35853b1fbe83ff3ce952e93d3f8244afcbb0e')
+ version("1.0.0", sha256="9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1")
+ version("0.3-10", sha256="d0d941bfbf247879b3510c8ef3e35853b1fbe83ff3ce952e93d3f8244afcbb0e")
diff --git a/var/spack/repos/builtin/packages/r-proxy/package.py b/var/spack/repos/builtin/packages/r-proxy/package.py
index 29fad66432..1a4e7f0b8a 100644
--- a/var/spack/repos/builtin/packages/r-proxy/package.py
+++ b/var/spack/repos/builtin/packages/r-proxy/package.py
@@ -14,10 +14,10 @@ class RProxy(RPackage):
cran = "proxy"
- version('0.4-26', sha256='676bad821343974e0297a0566c4bf0cf0ea890104906a745b87d3b5989c81a4d')
- version('0.4-24', sha256='8cff9bf036475941a7c44ba9bb5e2f6d4777d49ab3daaeb52d23f4b2af6d9c7c')
- version('0.4-23', sha256='9dd4eb0978f40e4fcb55c8a8a26266d32eff9c63ac9dfe70cf1f664ca9c3669d')
- version('0.4-19', sha256='6b27e275018366e6024382704da9a9757c8878535dbcd7d450824b70e2e34d51')
+ version("0.4-26", sha256="676bad821343974e0297a0566c4bf0cf0ea890104906a745b87d3b5989c81a4d")
+ version("0.4-24", sha256="8cff9bf036475941a7c44ba9bb5e2f6d4777d49ab3daaeb52d23f4b2af6d9c7c")
+ version("0.4-23", sha256="9dd4eb0978f40e4fcb55c8a8a26266d32eff9c63ac9dfe70cf1f664ca9c3669d")
+ version("0.4-19", sha256="6b27e275018366e6024382704da9a9757c8878535dbcd7d450824b70e2e34d51")
- depends_on('r@3.3.2:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@0.4-21:')
+ depends_on("r@3.3.2:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@0.4-21:")
diff --git a/var/spack/repos/builtin/packages/r-pryr/package.py b/var/spack/repos/builtin/packages/r-pryr/package.py
index e8de01a2f9..4195c48874 100644
--- a/var/spack/repos/builtin/packages/r-pryr/package.py
+++ b/var/spack/repos/builtin/packages/r-pryr/package.py
@@ -15,13 +15,13 @@ class RPryr(RPackage):
cran = "pryr"
- version('0.1.5', sha256='7b1653ec51850f4633cee8e2eb7d0b2724fb587b801539488b426cf88f0f770b')
- version('0.1.4', sha256='d39834316504c49ecd4936cbbcaf3ee3dae6ded287af42475bf38c9e682f721b')
- version('0.1.3', sha256='6acd88341dde4fe247a5cafd3949b281dc6742b7d60f68b57c1feb84b96739ac')
- version('0.1.2', sha256='65c2b7c9f96e2aa683ac9cdab3c215fd3039ecd66a2ba7002a8e77881428c3c6')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-codetools', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-lobstr', type=('build', 'run'), when='@0.1.5:')
+ version("0.1.5", sha256="7b1653ec51850f4633cee8e2eb7d0b2724fb587b801539488b426cf88f0f770b")
+ version("0.1.4", sha256="d39834316504c49ecd4936cbbcaf3ee3dae6ded287af42475bf38c9e682f721b")
+ version("0.1.3", sha256="6acd88341dde4fe247a5cafd3949b281dc6742b7d60f68b57c1feb84b96739ac")
+ version("0.1.2", sha256="65c2b7c9f96e2aa683ac9cdab3c215fd3039ecd66a2ba7002a8e77881428c3c6")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-codetools", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-lobstr", type=("build", "run"), when="@0.1.5:")
diff --git a/var/spack/repos/builtin/packages/r-ps/package.py b/var/spack/repos/builtin/packages/r-ps/package.py
index e90ea44874..7fe7e9f561 100644
--- a/var/spack/repos/builtin/packages/r-ps/package.py
+++ b/var/spack/repos/builtin/packages/r-ps/package.py
@@ -14,13 +14,13 @@ class RPs(RPackage):
cran = "ps"
- version('1.7.0', sha256='8220cf32c6a12c908b6b7669f96b57445d3147a1aa484b9b5209e0f3fd4b52e1')
- version('1.6.0', sha256='89ad7ddc5e0818bccacfd0673ddf2da0892ac2a3b4d3a821e40884ab1e96bf31')
- version('1.5.0', sha256='7461a196f55557feda569a9791ad851c884f9a2dd71671655ed17cb048fafe96')
- version('1.3.0', sha256='289193d0ccd2db0b6fe8702e8c5711e935219b17f90f01a6e9684982413e98d1')
- version('1.2.1', sha256='bd7207164e6557a9e4213c4b00dc5dc23d7705ab290569765998640b16a3beff')
- version('1.1.0', sha256='5d5240d5bf1d48c721b3fdf47cfc9dbf878e388ea1f057b764db05bffdc4a9fe')
- version('1.0.0', sha256='9bdaf64aaa44ae11866868402eb75bf56c2e3022100476d9b9dcd16ca784ffd8')
+ version("1.7.0", sha256="8220cf32c6a12c908b6b7669f96b57445d3147a1aa484b9b5209e0f3fd4b52e1")
+ version("1.6.0", sha256="89ad7ddc5e0818bccacfd0673ddf2da0892ac2a3b4d3a821e40884ab1e96bf31")
+ version("1.5.0", sha256="7461a196f55557feda569a9791ad851c884f9a2dd71671655ed17cb048fafe96")
+ version("1.3.0", sha256="289193d0ccd2db0b6fe8702e8c5711e935219b17f90f01a6e9684982413e98d1")
+ version("1.2.1", sha256="bd7207164e6557a9e4213c4b00dc5dc23d7705ab290569765998640b16a3beff")
+ version("1.1.0", sha256="5d5240d5bf1d48c721b3fdf47cfc9dbf878e388ea1f057b764db05bffdc4a9fe")
+ version("1.0.0", sha256="9bdaf64aaa44ae11866868402eb75bf56c2e3022100476d9b9dcd16ca784ffd8")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@1.7.0:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@1.7.0:")
diff --git a/var/spack/repos/builtin/packages/r-pscbs/package.py b/var/spack/repos/builtin/packages/r-pscbs/package.py
index 2fc7160cd3..d09f81ffa1 100644
--- a/var/spack/repos/builtin/packages/r-pscbs/package.py
+++ b/var/spack/repos/builtin/packages/r-pscbs/package.py
@@ -15,23 +15,23 @@ class RPscbs(RPackage):
cran = "PSCBS"
- version('0.66.0', sha256='58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93')
- version('0.65.0', sha256='3365065d5375c599eb024bfff12c5f6b10a6b1a4fe4ba6f200f7e83618dd399a')
+ version("0.66.0", sha256="58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93")
+ version("0.65.0", sha256="3365065d5375c599eb024bfff12c5f6b10a6b1a4fe4ba6f200f7e83618dd399a")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.7.1:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.8.1:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-r-oo@1.22.1:', type=('build', 'run'))
- depends_on('r-r-oo@1.24.0:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-r-utils@2.8.0:', type=('build', 'run'))
- depends_on('r-r-utils@2.11.0:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-r-cache@0.13.0:', type=('build', 'run'))
- depends_on('r-r-cache@0.15.0:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-matrixstats@0.54.0:', type=('build', 'run'))
- depends_on('r-matrixstats@0.61.0:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-aroma-light@2.4.0:', type=('build', 'run'))
- depends_on('r-dnacopy@1.42.0:', type=('build', 'run'))
- depends_on('r-listenv@0.7.0:', type=('build', 'run'))
- depends_on('r-listenv@0.8.0:', type=('build', 'run'), when='@0.66.0:')
- depends_on('r-future@1.12.0:', type=('build', 'run'))
- depends_on('r-future@1.22.1:', type=('build', 'run'), when='@0.66.0:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.7.1:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.8.1:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-r-oo@1.22.1:", type=("build", "run"))
+ depends_on("r-r-oo@1.24.0:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-r-utils@2.8.0:", type=("build", "run"))
+ depends_on("r-r-utils@2.11.0:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-r-cache@0.13.0:", type=("build", "run"))
+ depends_on("r-r-cache@0.15.0:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-matrixstats@0.54.0:", type=("build", "run"))
+ depends_on("r-matrixstats@0.61.0:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-aroma-light@2.4.0:", type=("build", "run"))
+ depends_on("r-dnacopy@1.42.0:", type=("build", "run"))
+ depends_on("r-listenv@0.7.0:", type=("build", "run"))
+ depends_on("r-listenv@0.8.0:", type=("build", "run"), when="@0.66.0:")
+ depends_on("r-future@1.12.0:", type=("build", "run"))
+ depends_on("r-future@1.22.1:", type=("build", "run"), when="@0.66.0:")
diff --git a/var/spack/repos/builtin/packages/r-pspline/package.py b/var/spack/repos/builtin/packages/r-pspline/package.py
index 3d7fae8385..478e0794cc 100644
--- a/var/spack/repos/builtin/packages/r-pspline/package.py
+++ b/var/spack/repos/builtin/packages/r-pspline/package.py
@@ -13,7 +13,7 @@ class RPspline(RPackage):
cran = "pspline"
- version('1.0-19', sha256='ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40')
- version('1.0-18', sha256='f71cf293bd5462e510ac5ad16c4a96eda18891a0bfa6447dd881c65845e19ac7')
+ version("1.0-19", sha256="ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40")
+ version("1.0-18", sha256="f71cf293bd5462e510ac5ad16c4a96eda18891a0bfa6447dd881c65845e19ac7")
- depends_on('r@2.0.0:', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-psych/package.py b/var/spack/repos/builtin/packages/r-psych/package.py
index 2d78016968..83322575ef 100644
--- a/var/spack/repos/builtin/packages/r-psych/package.py
+++ b/var/spack/repos/builtin/packages/r-psych/package.py
@@ -27,15 +27,15 @@ class RPsych(RPackage):
cran = "psych"
- version('2.2.5', sha256='dcc3f9b30ed44dfd1de0366295a308e0b52959eb7ac9cb3bc3f32dc5b15fc321')
- version('2.1.9', sha256='1475e03a17f1ae6837834f01c2472aed68887c89d90a84a3e09a532ce218500c')
- version('2.0.12', sha256='8a71d4a1d8bc8c96703f9b4515cfb497e1947c6e017cb08270a7cfb36ce1ad4c')
- version('1.8.12', sha256='6e175e049bc1ee5b79a9e51ccafb22b962b4e6c839ce5c9cfa1ad83967037743')
- version('1.8.10', sha256='e8901ddab14729bfccbd82a8824fbb6523c10c2cd8fb7199b1ca56a7ffcb6e58')
- version('1.7.8', sha256='f328ea602e22b0e7e5f310a8d19f305d8e0a3a86040cdfb64863b68b56d55135')
-
- depends_on('r-mnormt', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
-
- depends_on('r-foreign', type=('build', 'run'), when='@:1.8.12')
+ version("2.2.5", sha256="dcc3f9b30ed44dfd1de0366295a308e0b52959eb7ac9cb3bc3f32dc5b15fc321")
+ version("2.1.9", sha256="1475e03a17f1ae6837834f01c2472aed68887c89d90a84a3e09a532ce218500c")
+ version("2.0.12", sha256="8a71d4a1d8bc8c96703f9b4515cfb497e1947c6e017cb08270a7cfb36ce1ad4c")
+ version("1.8.12", sha256="6e175e049bc1ee5b79a9e51ccafb22b962b4e6c839ce5c9cfa1ad83967037743")
+ version("1.8.10", sha256="e8901ddab14729bfccbd82a8824fbb6523c10c2cd8fb7199b1ca56a7ffcb6e58")
+ version("1.7.8", sha256="f328ea602e22b0e7e5f310a8d19f305d8e0a3a86040cdfb64863b68b56d55135")
+
+ depends_on("r-mnormt", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+
+ depends_on("r-foreign", type=("build", "run"), when="@:1.8.12")
diff --git a/var/spack/repos/builtin/packages/r-ptw/package.py b/var/spack/repos/builtin/packages/r-ptw/package.py
index d983e715ad..9b82b7bc51 100644
--- a/var/spack/repos/builtin/packages/r-ptw/package.py
+++ b/var/spack/repos/builtin/packages/r-ptw/package.py
@@ -23,10 +23,10 @@ class RPtw(RPackage):
cran = "ptw"
- version('1.9-16', sha256='7e87c34b9eeaeabe3bfb937162e6cda4dd48d6bd6a97b9db8bb8303d131caa66')
- version('1.9-15', sha256='22fa003f280bc000f46bca88d69bf332b29bc68435115ba8044533b70bfb7b46')
- version('1.9-13', sha256='7855e74a167db3d3eba9df9d9c3daa25d7cf487cbcfe8b095f16d96eba862f46')
- version('1.9-12', sha256='cdb1752e04e661e379f11867b0a17e2177e9ee647c54bbcc37d39d6b8c062b84')
+ version("1.9-16", sha256="7e87c34b9eeaeabe3bfb937162e6cda4dd48d6bd6a97b9db8bb8303d131caa66")
+ version("1.9-15", sha256="22fa003f280bc000f46bca88d69bf332b29bc68435115ba8044533b70bfb7b46")
+ version("1.9-13", sha256="7855e74a167db3d3eba9df9d9c3daa25d7cf487cbcfe8b095f16d96eba862f46")
+ version("1.9-12", sha256="cdb1752e04e661e379f11867b0a17e2177e9ee647c54bbcc37d39d6b8c062b84")
- depends_on('r-nloptr', type=('build', 'run'))
- depends_on('r-rcppde', type=('build', 'run'), when='@1.9-16:')
+ depends_on("r-nloptr", type=("build", "run"))
+ depends_on("r-rcppde", type=("build", "run"), when="@1.9-16:")
diff --git a/var/spack/repos/builtin/packages/r-purrr/package.py b/var/spack/repos/builtin/packages/r-purrr/package.py
index d29689d406..bb970ecf43 100644
--- a/var/spack/repos/builtin/packages/r-purrr/package.py
+++ b/var/spack/repos/builtin/packages/r-purrr/package.py
@@ -13,14 +13,14 @@ class RPurrr(RPackage):
cran = "purrr"
- version('0.3.4', sha256='23ebc93bc9aed9e7575e8eb9683ff4acc0270ef7d6436cc2ef4236a9734840b2')
- version('0.3.2', sha256='27c74dd9e4f6f14bf442473df22bcafc068822f7f138f0870326532f143a9a31')
- version('0.3.1', sha256='c2a3c9901192efd8a04976676f84885a005db88deb1432e4750900c7b3b7883b')
- version('0.2.4', sha256='ed8d0f69d29b95c2289ae52be08a0e65f8171abb6d2587de7b57328bf3b2eb71')
+ version("0.3.4", sha256="23ebc93bc9aed9e7575e8eb9683ff4acc0270ef7d6436cc2ef4236a9734840b2")
+ version("0.3.2", sha256="27c74dd9e4f6f14bf442473df22bcafc068822f7f138f0870326532f143a9a31")
+ version("0.3.1", sha256="c2a3c9901192efd8a04976676f84885a005db88deb1432e4750900c7b3b7883b")
+ version("0.2.4", sha256="ed8d0f69d29b95c2289ae52be08a0e65f8171abb6d2587de7b57328bf3b2eb71")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@0.3.3:')
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-rlang@0.3.1:', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@0.3.3:")
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-rlang@0.3.1:", type=("build", "run"))
- depends_on('r-tibble', type=('build', 'run'), when='@:0.2.9')
+ depends_on("r-tibble", type=("build", "run"), when="@:0.2.9")
diff --git a/var/spack/repos/builtin/packages/r-pvclust/package.py b/var/spack/repos/builtin/packages/r-pvclust/package.py
index cca3e9601c..ffc44c1a8d 100644
--- a/var/spack/repos/builtin/packages/r-pvclust/package.py
+++ b/var/spack/repos/builtin/packages/r-pvclust/package.py
@@ -17,6 +17,6 @@ class RPvclust(RPackage):
cran = "pvclust"
- version('2.2-0', sha256='7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201')
+ version("2.2-0", sha256="7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201")
- depends_on('r@2.10.0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-qqconf/package.py b/var/spack/repos/builtin/packages/r-qqconf/package.py
index 8ff6702c1a..84ebdc59bd 100644
--- a/var/spack/repos/builtin/packages/r-qqconf/package.py
+++ b/var/spack/repos/builtin/packages/r-qqconf/package.py
@@ -13,15 +13,15 @@ class RQqconf(RPackage):
Probability-Probability (PP) plots with simultaneous testing bands to asses
significance of sample deviation from a reference distribution."""
- cran = "qqconf"
+ cran = "qqconf"
- version('1.2.3', sha256='9b5b6042ea8e52e6e049807c0b5e3bfd534b624bd257be769de69cf505fece62')
+ version("1.2.3", sha256="9b5b6042ea8e52e6e049807c0b5e3bfd534b624bd257be769de69cf505fece62")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'))
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-rlang@0.4.9:', type=('build', 'run'))
- depends_on('r-mass@7.3-50:', type=('build', 'run'))
- depends_on('r-robustbase@0.93-4:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('fftw@3.1.2:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"))
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-rlang@0.4.9:", type=("build", "run"))
+ depends_on("r-mass@7.3-50:", type=("build", "run"))
+ depends_on("r-robustbase@0.93-4:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("fftw@3.1.2:")
diff --git a/var/spack/repos/builtin/packages/r-qs/package.py b/var/spack/repos/builtin/packages/r-qs/package.py
index 1b84c8d870..daa63dfd18 100644
--- a/var/spack/repos/builtin/packages/r-qs/package.py
+++ b/var/spack/repos/builtin/packages/r-qs/package.py
@@ -14,15 +14,15 @@ class RQs(RPackage):
cran = "qs"
- maintainers = ['dorton21']
-
- version('0.25.3', sha256='51adf6a112c19f78ceeefa55acf800c7e6bf2664e7d9cea9d932abb24f22be6b')
- version('0.25.2', sha256='fe428ae5dc46f88fdf454ca74c4a073f5ac288d6d039080a3c0d66c4ebbd5cbf')
- version('0.23.6', sha256='c6e958e9741ee981bf2388c91b8f181718ffb0f32283cd7ebcd2d054817280e4')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'), when='@0.25.2:')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rapiserialize', type=('build', 'run'))
- depends_on('r-stringfish@0.14.1:', type=('build', 'run'))
- depends_on('r-stringfish@0.15.1:', type=('build', 'run'), when='@0.25.2:')
+ maintainers = ["dorton21"]
+
+ version("0.25.3", sha256="51adf6a112c19f78ceeefa55acf800c7e6bf2664e7d9cea9d932abb24f22be6b")
+ version("0.25.2", sha256="fe428ae5dc46f88fdf454ca74c4a073f5ac288d6d039080a3c0d66c4ebbd5cbf")
+ version("0.23.6", sha256="c6e958e9741ee981bf2388c91b8f181718ffb0f32283cd7ebcd2d054817280e4")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"), when="@0.25.2:")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rapiserialize", type=("build", "run"))
+ depends_on("r-stringfish@0.14.1:", type=("build", "run"))
+ depends_on("r-stringfish@0.15.1:", type=("build", "run"), when="@0.25.2:")
diff --git a/var/spack/repos/builtin/packages/r-qtl/package.py b/var/spack/repos/builtin/packages/r-qtl/package.py
index 8be4e949e9..219b09a4a9 100644
--- a/var/spack/repos/builtin/packages/r-qtl/package.py
+++ b/var/spack/repos/builtin/packages/r-qtl/package.py
@@ -15,8 +15,8 @@ class RQtl(RPackage):
cran = "qtl"
- version('1.50', sha256='2d38656f04dc4187aefe56c29a8f915b8c7e222d76b84afe7045d272294f9ed5')
- version('1.47-9', sha256='6ba4e7b40d946b3ab68d54624599284b1d352c86fb50d31b134826be758ece41')
- version('1.44-9', sha256='315063f0c3fbb95cd2169eb4109ade0339e8f3c28670b38c3167214b9bdf950e')
+ version("1.50", sha256="2d38656f04dc4187aefe56c29a8f915b8c7e222d76b84afe7045d272294f9ed5")
+ version("1.47-9", sha256="6ba4e7b40d946b3ab68d54624599284b1d352c86fb50d31b134826be758ece41")
+ version("1.44-9", sha256="315063f0c3fbb95cd2169eb4109ade0339e8f3c28670b38c3167214b9bdf950e")
- depends_on('r@2.14.0:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-quadprog/package.py b/var/spack/repos/builtin/packages/r-quadprog/package.py
index fd67058851..63aa1ab0b7 100644
--- a/var/spack/repos/builtin/packages/r-quadprog/package.py
+++ b/var/spack/repos/builtin/packages/r-quadprog/package.py
@@ -14,9 +14,9 @@ class RQuadprog(RPackage):
cran = "quadprog"
- version('1.5-8', sha256='22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd')
- version('1.5-7', sha256='1af41e57df6f2d08ee8b72a1a5ada137beadb36c7ec9ab9bdb7c05226e8ae76d')
- version('1.5-6', sha256='1443e5ffdf884b13dd454e4f6aa260fce6ec47e6845d85b62238c206ce57dcba')
- version('1.5-5', sha256='d999620688354c283de5bb305203f5db70271b4dfdc23577cae8c2ba94c9e349')
+ version("1.5-8", sha256="22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd")
+ version("1.5-7", sha256="1af41e57df6f2d08ee8b72a1a5ada137beadb36c7ec9ab9bdb7c05226e8ae76d")
+ version("1.5-6", sha256="1443e5ffdf884b13dd454e4f6aa260fce6ec47e6845d85b62238c206ce57dcba")
+ version("1.5-5", sha256="d999620688354c283de5bb305203f5db70271b4dfdc23577cae8c2ba94c9e349")
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-quantmod/package.py b/var/spack/repos/builtin/packages/r-quantmod/package.py
index 1c146a6e50..54e6e6cb3a 100644
--- a/var/spack/repos/builtin/packages/r-quantmod/package.py
+++ b/var/spack/repos/builtin/packages/r-quantmod/package.py
@@ -14,15 +14,15 @@ class RQuantmod(RPackage):
cran = "quantmod"
- version('0.4.20', sha256='f757df41595d885f7927e18f4835bc233d78d2d3ae48fd11c8874d4338c48e94')
- version('0.4.18', sha256='aa40448e93a1facf399213ac691784007731e869ad243fe762381ab099cd6c35')
- version('0.4-15', sha256='7ef2e798d4d8e4d2af0a5b2b9fecebec30568087afbd24bfd923cdeb8b53df53')
- version('0.4-14', sha256='d95b1acf73328d675bbad18a93fa3c40faf58959e0401458ad21cf6b9f9254b3')
- version('0.4-10', sha256='030040aa567adaba1ea4a1f05eb45712dbdaabbabca72733e7fb2984051f688b')
- version('0.4-5', sha256='c7889eb55a21296e7bda1242c46e734a0a8bd6dcbf5726aafae5313354eec893')
+ version("0.4.20", sha256="f757df41595d885f7927e18f4835bc233d78d2d3ae48fd11c8874d4338c48e94")
+ version("0.4.18", sha256="aa40448e93a1facf399213ac691784007731e869ad243fe762381ab099cd6c35")
+ version("0.4-15", sha256="7ef2e798d4d8e4d2af0a5b2b9fecebec30568087afbd24bfd923cdeb8b53df53")
+ version("0.4-14", sha256="d95b1acf73328d675bbad18a93fa3c40faf58959e0401458ad21cf6b9f9254b3")
+ version("0.4-10", sha256="030040aa567adaba1ea4a1f05eb45712dbdaabbabca72733e7fb2984051f688b")
+ version("0.4-5", sha256="c7889eb55a21296e7bda1242c46e734a0a8bd6dcbf5726aafae5313354eec893")
- depends_on('r@3.2.0:', type=('build', 'run'), when='@0.4-11:')
- depends_on('r-xts@0.9-0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-ttr@0.2:', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@0.4-11:")
+ depends_on("r-xts@0.9-0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-ttr@0.2:", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-quantreg/package.py b/var/spack/repos/builtin/packages/r-quantreg/package.py
index fa01dcd536..99658eff61 100644
--- a/var/spack/repos/builtin/packages/r-quantreg/package.py
+++ b/var/spack/repos/builtin/packages/r-quantreg/package.py
@@ -19,23 +19,23 @@ class RQuantreg(RPackage):
cran = "quantreg"
- version('5.93', sha256='d4a94984a500bf4c92dec21013441f001a4aa0541c4c651384e257a4b4e9e539')
- version('5.88', sha256='1940e553711ed50655b2692ba29432d1083ed83c2db06e31a031ce8f82823a3f')
- version('5.87', sha256='9ad7ef09e5f53b89ef09dea3a1aa25cfda9f3f2528994f874ec1cd9ca7fda38e')
- version('5.86', sha256='71d1c829af7574ca00575cc0375376ac3ecd54b3d6d36e8eecd71ed8acb9d605')
- version('5.82', sha256='eac34e1e34d00a24ed7cb6981af258a3afc561843c00501de3206b4540548c07')
- version('5.51', sha256='df1330d245f66ee6d924b209bd4c15d44ff8cce52667959ec0d299975428bdb1')
- version('5.42.1', sha256='4cc2b0883c52694e58fcfde83e30e4a54be9f4d9cbcf6138f6498cc8e0b3ccab')
- version('5.40', sha256='86e310a235009ab85635dfb8803c175f80a35892e237db2525c4ef37a98936eb')
- version('5.29', sha256='bb4638e8f295579afa5c40c4de7266a6ea9221436ba4ca802f94cdb43bf20f25')
- version('5.26', sha256='9d7403f7c5ee219ec155838648401a1c4915a46a74f5774a0f6876c537ef2c87')
-
- depends_on('r@2.6:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@5.93:')
- depends_on('r-sparsem', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-matrixmodels', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'), when='@5.93:')
- depends_on('r-mass', type=('build', 'run'), when='@5.93:')
-
- depends_on('r-conquer', type=('build', 'run'), when='@5.82:5.86')
+ version("5.93", sha256="d4a94984a500bf4c92dec21013441f001a4aa0541c4c651384e257a4b4e9e539")
+ version("5.88", sha256="1940e553711ed50655b2692ba29432d1083ed83c2db06e31a031ce8f82823a3f")
+ version("5.87", sha256="9ad7ef09e5f53b89ef09dea3a1aa25cfda9f3f2528994f874ec1cd9ca7fda38e")
+ version("5.86", sha256="71d1c829af7574ca00575cc0375376ac3ecd54b3d6d36e8eecd71ed8acb9d605")
+ version("5.82", sha256="eac34e1e34d00a24ed7cb6981af258a3afc561843c00501de3206b4540548c07")
+ version("5.51", sha256="df1330d245f66ee6d924b209bd4c15d44ff8cce52667959ec0d299975428bdb1")
+ version("5.42.1", sha256="4cc2b0883c52694e58fcfde83e30e4a54be9f4d9cbcf6138f6498cc8e0b3ccab")
+ version("5.40", sha256="86e310a235009ab85635dfb8803c175f80a35892e237db2525c4ef37a98936eb")
+ version("5.29", sha256="bb4638e8f295579afa5c40c4de7266a6ea9221436ba4ca802f94cdb43bf20f25")
+ version("5.26", sha256="9d7403f7c5ee219ec155838648401a1c4915a46a74f5774a0f6876c537ef2c87")
+
+ depends_on("r@2.6:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@5.93:")
+ depends_on("r-sparsem", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-matrixmodels", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"), when="@5.93:")
+ depends_on("r-mass", type=("build", "run"), when="@5.93:")
+
+ depends_on("r-conquer", type=("build", "run"), when="@5.82:5.86")
diff --git a/var/spack/repos/builtin/packages/r-quantro/package.py b/var/spack/repos/builtin/packages/r-quantro/package.py
index 72e171c501..0752d2675c 100644
--- a/var/spack/repos/builtin/packages/r-quantro/package.py
+++ b/var/spack/repos/builtin/packages/r-quantro/package.py
@@ -9,30 +9,30 @@ from spack.package import *
class RQuantro(RPackage):
"""A test for when to use quantile normalization.
- A data-driven test for the assumptions of quantile normalization using
- raw data such as objects that inherit eSets (e.g. ExpressionSet,
- MethylSet). Group level information about each sample (such as Tumor /
- Normal status) must also be provided because the test assesses if there
- are global differences in the distributions between the user-defined
- groups."""
+ A data-driven test for the assumptions of quantile normalization using
+ raw data such as objects that inherit eSets (e.g. ExpressionSet,
+ MethylSet). Group level information about each sample (such as Tumor /
+ Normal status) must also be provided because the test assesses if there
+ are global differences in the distributions between the user-defined
+ groups."""
bioc = "quantro"
- version('1.30.0', commit='e756c439cdc5a6fb4d7879aff56a8368475513b5')
- version('1.28.0', commit='109e7452a349f273e10d2ffb79d5624260b67dd5')
- version('1.24.0', commit='c7c0180292156a01722d91b353da44324e72d68f')
- version('1.18.0', commit='f6553c2296289eed31e4b2f32a082e990bdb8359')
- version('1.16.0', commit='cfc2e853bdc3cc90fd35e153fe243892d50d61c6')
- version('1.14.0', commit='2d43264b2a95ae8ca51a69d7768fe43b9f1b77bb')
- version('1.12.0', commit='1cfcc73875cf4ecc2618e5e45fda89bd075a5d12')
- version('1.10.0', commit='111337c0aba052aa49c3d2e2d3042794b28858c9')
+ version("1.30.0", commit="e756c439cdc5a6fb4d7879aff56a8368475513b5")
+ version("1.28.0", commit="109e7452a349f273e10d2ffb79d5624260b67dd5")
+ version("1.24.0", commit="c7c0180292156a01722d91b353da44324e72d68f")
+ version("1.18.0", commit="f6553c2296289eed31e4b2f32a082e990bdb8359")
+ version("1.16.0", commit="cfc2e853bdc3cc90fd35e153fe243892d50d61c6")
+ version("1.14.0", commit="2d43264b2a95ae8ca51a69d7768fe43b9f1b77bb")
+ version("1.12.0", commit="1cfcc73875cf4ecc2618e5e45fda89bd075a5d12")
+ version("1.10.0", commit="111337c0aba052aa49c3d2e2d3042794b28858c9")
- depends_on('r@3.1.3:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.24.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-minfi', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-iterators', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r@3.1.3:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.24.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-minfi", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-iterators", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-questionr/package.py b/var/spack/repos/builtin/packages/r-questionr/package.py
index 5f4b87096b..1772616361 100644
--- a/var/spack/repos/builtin/packages/r-questionr/package.py
+++ b/var/spack/repos/builtin/packages/r-questionr/package.py
@@ -15,17 +15,17 @@ class RQuestionr(RPackage):
cran = "questionr"
- version('0.7.7', sha256='ce24c40bd98dbeca615b9eb2a9cd2da26852821dc3840f8394eeecb0739dfd56')
- version('0.7.6', sha256='4b71d049d9e032157e12a7809dbfa2a39262b49d0c7a03ed434791a66f0cee5e')
- version('0.7.4', sha256='818ad87723aa7ebe466b3a639c9e86b7f77e6a341c8d9a933073925a21d4555c')
+ version("0.7.7", sha256="ce24c40bd98dbeca615b9eb2a9cd2da26852821dc3840f8394eeecb0739dfd56")
+ version("0.7.6", sha256="4b71d049d9e032157e12a7809dbfa2a39262b49d0c7a03ed434791a66f0cee5e")
+ version("0.7.4", sha256="818ad87723aa7ebe466b3a639c9e86b7f77e6a341c8d9a933073925a21d4555c")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-shiny@1.0.5:', type=('build', 'run'))
- depends_on('r-miniui', type=('build', 'run'))
- depends_on('r-rstudioapi', type=('build', 'run'))
- depends_on('r-highr', type=('build', 'run'))
- depends_on('r-styler', type=('build', 'run'))
- depends_on('r-classint', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-labelled@2.6.0:', type=('build', 'run'))
- depends_on('xclip', when='platform=linux')
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-shiny@1.0.5:", type=("build", "run"))
+ depends_on("r-miniui", type=("build", "run"))
+ depends_on("r-rstudioapi", type=("build", "run"))
+ depends_on("r-highr", type=("build", "run"))
+ depends_on("r-styler", type=("build", "run"))
+ depends_on("r-classint", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-labelled@2.6.0:", type=("build", "run"))
+ depends_on("xclip", when="platform=linux")
diff --git a/var/spack/repos/builtin/packages/r-quickplot/package.py b/var/spack/repos/builtin/packages/r-quickplot/package.py
index 39ff181858..0387f94be6 100644
--- a/var/spack/repos/builtin/packages/r-quickplot/package.py
+++ b/var/spack/repos/builtin/packages/r-quickplot/package.py
@@ -16,19 +16,19 @@ class RQuickplot(RPackage):
cran = "quickPlot"
- maintainers = ['dorton21']
-
- version('0.1.6', sha256='48690a77ae961ed1032130621ef06b2eaf86ee592bf1057471a8c6d6a98ace55')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-backports', type=('build', 'run'))
- depends_on('r-data-table@1.10.4:', type=('build', 'run'))
- depends_on('r-fpcompare', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gridbase', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-rgdal', type=('build', 'run'))
- depends_on('r-rgeos', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("0.1.6", sha256="48690a77ae961ed1032130621ef06b2eaf86ee592bf1057471a8c6d6a98ace55")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-backports", type=("build", "run"))
+ depends_on("r-data-table@1.10.4:", type=("build", "run"))
+ depends_on("r-fpcompare", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gridbase", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-rgdal", type=("build", "run"))
+ depends_on("r-rgeos", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-qvalue/package.py b/var/spack/repos/builtin/packages/r-qvalue/package.py
index e9837c0abd..08e2ad826e 100644
--- a/var/spack/repos/builtin/packages/r-qvalue/package.py
+++ b/var/spack/repos/builtin/packages/r-qvalue/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class RQvalue(RPackage):
"""Q-value estimation for false discovery rate control.
- This package takes a list of p-values resulting from the simultaneous
- testing of many hypotheses and estimates their q-values and local FDR
- values. The q-value of a test measures the proportion of false positives
- incurred (called the false discovery rate) when that particular test is
- called significant. The local FDR measures the posterior probability the
- null hypothesis is true given the test's p-value. Various plots are
- automatically generated, allowing one to make sensible significance cut-
- offs. Several mathematical results have recently been shown on the
- conservative accuracy of the estimated q-values from this software. The
- software can be applied to problems in genomics, brain imaging,
- astrophysics, and data mining."""
+ This package takes a list of p-values resulting from the simultaneous
+ testing of many hypotheses and estimates their q-values and local FDR
+ values. The q-value of a test measures the proportion of false positives
+ incurred (called the false discovery rate) when that particular test is
+ called significant. The local FDR measures the posterior probability the
+ null hypothesis is true given the test's p-value. Various plots are
+ automatically generated, allowing one to make sensible significance cut-
+ offs. Several mathematical results have recently been shown on the
+ conservative accuracy of the estimated q-values from this software. The
+ software can be applied to problems in genomics, brain imaging,
+ astrophysics, and data mining."""
bioc = "qvalue"
- version('2.28.0', commit='aaa62d5ab5a960e0a626928abaf5b3a5c5f73374')
- version('2.26.0', commit='6d7410d4b8673bcf9065e054670c1fbcb917a27e')
- version('2.22.0', commit='b4bde8198252737b287fd7f9a4ed697f57fad92c')
- version('2.16.0', commit='5efbe20ef522a45a7a04b681f72bb9a12e2747ae')
- version('2.14.1', commit='b694e4b264f25250eb1d1115e70c07f65767c20e')
- version('2.12.0', commit='7df64ebfcbe69dcbf8b88cb6ef0068bf16979673')
- version('2.10.0', commit='581e5664b4356440a96310897398f01a98ceb81b')
- version('2.8.0', commit='c7bf3315619d42d800f57a36670c25a7495ded72')
+ version("2.28.0", commit="aaa62d5ab5a960e0a626928abaf5b3a5c5f73374")
+ version("2.26.0", commit="6d7410d4b8673bcf9065e054670c1fbcb917a27e")
+ version("2.22.0", commit="b4bde8198252737b287fd7f9a4ed697f57fad92c")
+ version("2.16.0", commit="5efbe20ef522a45a7a04b681f72bb9a12e2747ae")
+ version("2.14.1", commit="b694e4b264f25250eb1d1115e70c07f65767c20e")
+ version("2.12.0", commit="7df64ebfcbe69dcbf8b88cb6ef0068bf16979673")
+ version("2.10.0", commit="581e5664b4356440a96310897398f01a98ceb81b")
+ version("2.8.0", commit="c7bf3315619d42d800f57a36670c25a7495ded72")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-r-cache/package.py b/var/spack/repos/builtin/packages/r-r-cache/package.py
index 5cb110d608..69458a7b61 100644
--- a/var/spack/repos/builtin/packages/r-r-cache/package.py
+++ b/var/spack/repos/builtin/packages/r-r-cache/package.py
@@ -21,14 +21,14 @@ class RRCache(RPackage):
cran = "R.cache"
- version('0.15.0', sha256='adb4d3b08f7917e10fe6188c7b90a3318701a974c58eaa09943b929382bdf126')
- version('0.14.0', sha256='18af4e372440b9f28b4b71346c8ed9de220232f9903730ccee2bfb3c612c16d9')
+ version("0.15.0", sha256="adb4d3b08f7917e10fe6188c7b90a3318701a974c58eaa09943b929382bdf126")
+ version("0.14.0", sha256="18af4e372440b9f28b4b71346c8ed9de220232f9903730ccee2bfb3c612c16d9")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.7.1:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.8.1:', type=('build', 'run'), when='@0.15.0:')
- depends_on('r-r-oo@1.23.0:', type=('build', 'run'))
- depends_on('r-r-oo@1.24.0:', type=('build', 'run'), when='@0.15.0:')
- depends_on('r-r-utils@2.8.0:', type=('build', 'run'))
- depends_on('r-r-utils@2.10.1:', type=('build', 'run'), when='@0.15.0:')
- depends_on('r-digest@0.6.13:', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.7.1:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.8.1:", type=("build", "run"), when="@0.15.0:")
+ depends_on("r-r-oo@1.23.0:", type=("build", "run"))
+ depends_on("r-r-oo@1.24.0:", type=("build", "run"), when="@0.15.0:")
+ depends_on("r-r-utils@2.8.0:", type=("build", "run"))
+ depends_on("r-r-utils@2.10.1:", type=("build", "run"), when="@0.15.0:")
+ depends_on("r-digest@0.6.13:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-r-methodss3/package.py b/var/spack/repos/builtin/packages/r-r-methodss3/package.py
index 6c11c2bd97..c476321164 100644
--- a/var/spack/repos/builtin/packages/r-r-methodss3/package.py
+++ b/var/spack/repos/builtin/packages/r-r-methodss3/package.py
@@ -20,7 +20,7 @@ class RRMethodss3(RPackage):
cran = "R.methodsS3"
- version('1.8.1', sha256='8a98fb81bcfa78193450f855f614f6f64e6c65daf115f301d97d1f474f5e619b')
- version('1.7.1', sha256='44b840399266cd27f8f9157777b4d9d85ab7bd31bfdc143b3fc45079a2d8e687')
+ version("1.8.1", sha256="8a98fb81bcfa78193450f855f614f6f64e6c65daf115f301d97d1f474f5e619b")
+ version("1.7.1", sha256="44b840399266cd27f8f9157777b4d9d85ab7bd31bfdc143b3fc45079a2d8e687")
- depends_on('r@2.13.0:', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-r-oo/package.py b/var/spack/repos/builtin/packages/r-r-oo/package.py
index f8e7a9555c..31d8cbd327 100644
--- a/var/spack/repos/builtin/packages/r-r-oo/package.py
+++ b/var/spack/repos/builtin/packages/r-r-oo/package.py
@@ -18,11 +18,11 @@ class RROo(RPackage):
cran = "R.oo"
- version('1.24.0', sha256='37a1dab8dd668ceba69a1ba36c0c60e9809e29b74bd56d1e8ed519e19c8e3bb6')
- version('1.23.0', sha256='f5124ce3dbb0a62e8ef1bfce2de2d1dc2f776e8c48fd8cac358f7f5feb592ea1')
- version('1.22.0', sha256='c0862e4608fb2b8f91ec4494d46c2f3ba7bc44999f9aa3d7b9625d3792e7dd4c')
- version('1.21.0', sha256='645ceec2f815ed39650ca72db87fb4ece7357857875a4ec73e18bfaf647f431c')
+ version("1.24.0", sha256="37a1dab8dd668ceba69a1ba36c0c60e9809e29b74bd56d1e8ed519e19c8e3bb6")
+ version("1.23.0", sha256="f5124ce3dbb0a62e8ef1bfce2de2d1dc2f776e8c48fd8cac358f7f5feb592ea1")
+ version("1.22.0", sha256="c0862e4608fb2b8f91ec4494d46c2f3ba7bc44999f9aa3d7b9625d3792e7dd4c")
+ version("1.21.0", sha256="645ceec2f815ed39650ca72db87fb4ece7357857875a4ec73e18bfaf647f431c")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.7.1:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.8.0:', type=('build', 'run'), when='@1.24.0:')
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.7.1:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.8.0:", type=("build", "run"), when="@1.24.0:")
diff --git a/var/spack/repos/builtin/packages/r-r-utils/package.py b/var/spack/repos/builtin/packages/r-r-utils/package.py
index 7508ef2d5a..afc7c633ff 100644
--- a/var/spack/repos/builtin/packages/r-r-utils/package.py
+++ b/var/spack/repos/builtin/packages/r-r-utils/package.py
@@ -13,15 +13,15 @@ class RRUtils(RPackage):
cran = "R.utils"
- version('2.11.0', sha256='622860f995f78be3a6e439f29d945874c5cb0866f6a73a9b43ac1d4d7f23fed8')
- version('2.10.1', sha256='957a4f51998c79403a50f6a46266e6553bbf08757b26bf80603a423bceb45abf')
- version('2.9.0', sha256='b2aacc5a55d3ea86c41ac576d2583e446af145f4cb1103ad7b6f95b09ab09ff0')
- version('2.5.0', sha256='1ae1a0f0c6a4972bb2369a2dbccd29ade87d747255ff9cb5a0bd784a5be1039f')
+ version("2.11.0", sha256="622860f995f78be3a6e439f29d945874c5cb0866f6a73a9b43ac1d4d7f23fed8")
+ version("2.10.1", sha256="957a4f51998c79403a50f6a46266e6553bbf08757b26bf80603a423bceb45abf")
+ version("2.9.0", sha256="b2aacc5a55d3ea86c41ac576d2583e446af145f4cb1103ad7b6f95b09ab09ff0")
+ version("2.5.0", sha256="1ae1a0f0c6a4972bb2369a2dbccd29ade87d747255ff9cb5a0bd784a5be1039f")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-r-oo@1.22.0:', type=('build', 'run'))
- depends_on('r-r-oo@1.23.0:', type=('build', 'run'), when='@2.10.1:')
- depends_on('r-r-oo@1.24.0:', type=('build', 'run'), when='@2.11.0:')
- depends_on('r-r-methodss3@1.7.1:', type=('build', 'run'))
- depends_on('r-r-methodss3@1.8.0:', type=('build', 'run'), when='@2.10.1:')
- depends_on('r-r-methodss3@1.8.1:', type=('build', 'run'), when='@2.11.0:')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-r-oo@1.22.0:", type=("build", "run"))
+ depends_on("r-r-oo@1.23.0:", type=("build", "run"), when="@2.10.1:")
+ depends_on("r-r-oo@1.24.0:", type=("build", "run"), when="@2.11.0:")
+ depends_on("r-r-methodss3@1.7.1:", type=("build", "run"))
+ depends_on("r-r-methodss3@1.8.0:", type=("build", "run"), when="@2.10.1:")
+ depends_on("r-r-methodss3@1.8.1:", type=("build", "run"), when="@2.11.0:")
diff --git a/var/spack/repos/builtin/packages/r-r6/package.py b/var/spack/repos/builtin/packages/r-r6/package.py
index 6d5e7a329d..4ce23121e1 100644
--- a/var/spack/repos/builtin/packages/r-r6/package.py
+++ b/var/spack/repos/builtin/packages/r-r6/package.py
@@ -18,11 +18,11 @@ class RR6(RPackage):
cran = "R6"
- version('2.5.1', sha256='8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48')
- version('2.5.0', sha256='aec1af9626ec532cb883b544bf9eff4cb2d89c343c7ce0fa31761ec5a7882e02')
- version('2.4.0', sha256='70be110174fbf5f5304049b186a6f9c05b77bfaec6d8caf980fcef5da6e0abce')
- version('2.2.2', sha256='087756f471884c3b3ead80215a7cc5636a78b8a956e91675acfe2896426eae8f')
- version('2.2.0', sha256='7d7bddc4303fafa99954182ccad938166d681499d4e9ae7001d21b0fd60d25c7')
- version('2.1.2', sha256='1bfbb14d9da85b5f8eb865aa6355b2c71c9f86b71f616bfe5a28939b62484d79')
+ version("2.5.1", sha256="8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48")
+ version("2.5.0", sha256="aec1af9626ec532cb883b544bf9eff4cb2d89c343c7ce0fa31761ec5a7882e02")
+ version("2.4.0", sha256="70be110174fbf5f5304049b186a6f9c05b77bfaec6d8caf980fcef5da6e0abce")
+ version("2.2.2", sha256="087756f471884c3b3ead80215a7cc5636a78b8a956e91675acfe2896426eae8f")
+ version("2.2.0", sha256="7d7bddc4303fafa99954182ccad938166d681499d4e9ae7001d21b0fd60d25c7")
+ version("2.1.2", sha256="1bfbb14d9da85b5f8eb865aa6355b2c71c9f86b71f616bfe5a28939b62484d79")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rainbow/package.py b/var/spack/repos/builtin/packages/r-rainbow/package.py
index 7514bcd785..17b3c4728b 100644
--- a/var/spack/repos/builtin/packages/r-rainbow/package.py
+++ b/var/spack/repos/builtin/packages/r-rainbow/package.py
@@ -12,14 +12,14 @@ class RRainbow(RPackage):
Visualizing functional data and identifying functional outliers."""
- cran = 'rainbow'
+ cran = "rainbow"
- version('3.6', sha256='63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87')
+ version("3.6", sha256="63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-pcapp', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-hdrcde', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-ks', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-pcapp", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-hdrcde", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-ks", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-randomfields/package.py b/var/spack/repos/builtin/packages/r-randomfields/package.py
index 80be62ad1b..dbf4b36943 100644
--- a/var/spack/repos/builtin/packages/r-randomfields/package.py
+++ b/var/spack/repos/builtin/packages/r-randomfields/package.py
@@ -16,16 +16,16 @@ class RRandomfields(RPackage):
cran = "RandomFields"
- version('3.3.14', sha256='242600b9bf93af9d49a06c00ff2398054a882d644a4653ea348533410c3db930')
- version('3.3.13', sha256='dbf82a8a39a79ca1b53665c2375cdd58f7accb38062063bbd9854d13493d3f49')
- version('3.3.8', sha256='8a08e2fdae428e354a29fb6818ae781cc56235a6849a0d29574dc756f73199d0')
- version('3.3.6', sha256='51b7bfb4e5bd7fd0ce1207c77f428508a6cd3dfc9de01545a8724dfd9c050213')
- version('3.3.4', sha256='a340d4f3ba7950d62acdfa19b9724c82e439d7b1a9f73340124038b7c90c73d4')
- version('3.1.50', sha256='2d6a07c3a716ce20f9c685deb59e8fcc64fd52c8a50b0f04baf451b6b928e848')
+ version("3.3.14", sha256="242600b9bf93af9d49a06c00ff2398054a882d644a4653ea348533410c3db930")
+ version("3.3.13", sha256="dbf82a8a39a79ca1b53665c2375cdd58f7accb38062063bbd9854d13493d3f49")
+ version("3.3.8", sha256="8a08e2fdae428e354a29fb6818ae781cc56235a6849a0d29574dc756f73199d0")
+ version("3.3.6", sha256="51b7bfb4e5bd7fd0ce1207c77f428508a6cd3dfc9de01545a8724dfd9c050213")
+ version("3.3.4", sha256="a340d4f3ba7950d62acdfa19b9724c82e439d7b1a9f73340124038b7c90c73d4")
+ version("3.1.50", sha256="2d6a07c3a716ce20f9c685deb59e8fcc64fd52c8a50b0f04baf451b6b928e848")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.3.8:')
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-randomfieldsutils@0.5.1:', type=('build', 'run'))
- depends_on('r-randomfieldsutils@0.5.5:', type=('build', 'run'), when='@3.3.13:')
- depends_on('r-randomfieldsutils@1.1:', type=('build', 'run'), when='@3.3.14:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.3.8:")
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-randomfieldsutils@0.5.1:", type=("build", "run"))
+ depends_on("r-randomfieldsutils@0.5.5:", type=("build", "run"), when="@3.3.13:")
+ depends_on("r-randomfieldsutils@1.1:", type=("build", "run"), when="@3.3.14:")
diff --git a/var/spack/repos/builtin/packages/r-randomfieldsutils/package.py b/var/spack/repos/builtin/packages/r-randomfieldsutils/package.py
index 2163006306..cd5808fc18 100644
--- a/var/spack/repos/builtin/packages/r-randomfieldsutils/package.py
+++ b/var/spack/repos/builtin/packages/r-randomfieldsutils/package.py
@@ -16,10 +16,10 @@ class RRandomfieldsutils(RPackage):
cran = "RandomFieldsUtils"
- version('1.2.5', sha256='8cc288ba0f234eedb20ac791c89e18bde15e1f690ce34a303ff91a45d7f84e2e')
- version('1.1.0', sha256='f472602fed449a505a2e5787ab8a6c8c1b764335980adaeeb7b1f24069124a9d')
- version('0.5.6', sha256='07f484443dffab53fb530e56f1e36e7a59e77768638555975587b6a1e619480b')
- version('0.5.3', sha256='ea823cba2e254a9f534efb4b772c0aeef2039ee9ef99744e077b969a87f8031d')
- version('0.5.1', sha256='a95aab4e2025c4247503ff513570a65aa3c8e63cb7ce2979c9317a2798dfaca2')
+ version("1.2.5", sha256="8cc288ba0f234eedb20ac791c89e18bde15e1f690ce34a303ff91a45d7f84e2e")
+ version("1.1.0", sha256="f472602fed449a505a2e5787ab8a6c8c1b764335980adaeeb7b1f24069124a9d")
+ version("0.5.6", sha256="07f484443dffab53fb530e56f1e36e7a59e77768638555975587b6a1e619480b")
+ version("0.5.3", sha256="ea823cba2e254a9f534efb4b772c0aeef2039ee9ef99744e077b969a87f8031d")
+ version("0.5.1", sha256="a95aab4e2025c4247503ff513570a65aa3c8e63cb7ce2979c9317a2798dfaca2")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-randomforest/package.py b/var/spack/repos/builtin/packages/r-randomforest/package.py
index 09f4eb8da2..8fa15c660b 100644
--- a/var/spack/repos/builtin/packages/r-randomforest/package.py
+++ b/var/spack/repos/builtin/packages/r-randomforest/package.py
@@ -14,10 +14,10 @@ class RRandomforest(RPackage):
cran = "randomForest"
- version('4.7-1.1', sha256='f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6')
- version('4.6-14', sha256='f4b88920419eb0a89d0bc5744af0416d92d112988702dc726882394128a8754d')
- version('4.6-12', sha256='6e512f8f88a51c01a918360acba61f1f39432f6e690bc231b7864218558b83c4')
+ version("4.7-1.1", sha256="f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6")
+ version("4.6-14", sha256="f4b88920419eb0a89d0bc5744af0416d92d112988702dc726882394128a8754d")
+ version("4.6-12", sha256="6e512f8f88a51c01a918360acba61f1f39432f6e690bc231b7864218558b83c4")
- depends_on('r@2.5.0:', type=('build', 'run'))
- depends_on('r@3.2.2:', type=('build', 'run'), when='@4.6-14:')
- depends_on('r@4.1.0:', type=('build', 'run'), when='@4.7-1.1:')
+ depends_on("r@2.5.0:", type=("build", "run"))
+ depends_on("r@3.2.2:", type=("build", "run"), when="@4.6-14:")
+ depends_on("r@4.1.0:", type=("build", "run"), when="@4.7-1.1:")
diff --git a/var/spack/repos/builtin/packages/r-randomglm/package.py b/var/spack/repos/builtin/packages/r-randomglm/package.py
index 4316720296..d7f46ae723 100644
--- a/var/spack/repos/builtin/packages/r-randomglm/package.py
+++ b/var/spack/repos/builtin/packages/r-randomglm/package.py
@@ -14,15 +14,15 @@ class RRandomglm(RPackage):
cran = "randomGLM"
- version('1.10-1', sha256='df324edf0c69926da1a3991dff10714ca4ec7a271d091a0a09d2a6a1d86da714')
- version('1.02-1', sha256='3bf7c1dbdacc68125f8ae3014b9bc546dd3328d04ad015d154781bdf3f1a230c')
+ version("1.10-1", sha256="df324edf0c69926da1a3991dff10714ca4ec7a271d091a0a09d2a6a1d86da714")
+ version("1.02-1", sha256="3bf7c1dbdacc68125f8ae3014b9bc546dd3328d04ad015d154781bdf3f1a230c")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.10-1:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'), when='@1.10-1:')
- depends_on('r-geometry', type=('build', 'run'), when='@1.10-1:')
- depends_on('r-survival', type=('build', 'run'), when='@1.10-1:')
- depends_on('r-matrixstats', type=('build', 'run'), when='@1.10-1:')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.10-1:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"), when="@1.10-1:")
+ depends_on("r-geometry", type=("build", "run"), when="@1.10-1:")
+ depends_on("r-survival", type=("build", "run"), when="@1.10-1:")
+ depends_on("r-matrixstats", type=("build", "run"), when="@1.10-1:")
diff --git a/var/spack/repos/builtin/packages/r-ranger/package.py b/var/spack/repos/builtin/packages/r-ranger/package.py
index e6e1f4d659..736751dd34 100644
--- a/var/spack/repos/builtin/packages/r-ranger/package.py
+++ b/var/spack/repos/builtin/packages/r-ranger/package.py
@@ -18,17 +18,17 @@ class RRanger(RPackage):
cran = "ranger"
- version('0.13.1', sha256='60934f0accc21edeefddbb4ddebfdd7cd10a3d3e90b31aa2e6e4b7f50d632d0a')
- version('0.12.1', sha256='fc308e0ac06718272799928e1a19612de16b05bde481d8f38e11a101df5425ef')
- version('0.11.2', sha256='13ac8a9433fdd92f62f66de44abc52477dcbb436b2045c1947951a266bffbeeb')
- version('0.11.1', sha256='999fb114602e27601ff0fe8ab461c39d667c6f5e8434e7feb3d21c7caf0dcffb')
- version('0.8.0', sha256='7f0fdee2f2d553a0aec56c2a4a4ff9dd972e1c7284118d9ea570749e0eaaabb9')
- version('0.7.0', sha256='83f4b06c6e63da979a20b757aaf0042928db453c12d89281afd40046e6b5393c')
- version('0.6.0', sha256='2759c2a3271098a4cfb63cd3ea68acaf645c92cb24c86fba098ada06e2e298bb')
- version('0.5.0', sha256='bc55811e723c9076c35aac4d82f29770ef84b40846198235d8b0ea9a4e91f144')
- version('0.4.0', sha256='d9f5761c3b07357aa586270cf7cbc97fc3db56ba731b6d0f3baf296f635f2be5')
+ version("0.13.1", sha256="60934f0accc21edeefddbb4ddebfdd7cd10a3d3e90b31aa2e6e4b7f50d632d0a")
+ version("0.12.1", sha256="fc308e0ac06718272799928e1a19612de16b05bde481d8f38e11a101df5425ef")
+ version("0.11.2", sha256="13ac8a9433fdd92f62f66de44abc52477dcbb436b2045c1947951a266bffbeeb")
+ version("0.11.1", sha256="999fb114602e27601ff0fe8ab461c39d667c6f5e8434e7feb3d21c7caf0dcffb")
+ version("0.8.0", sha256="7f0fdee2f2d553a0aec56c2a4a4ff9dd972e1c7284118d9ea570749e0eaaabb9")
+ version("0.7.0", sha256="83f4b06c6e63da979a20b757aaf0042928db453c12d89281afd40046e6b5393c")
+ version("0.6.0", sha256="2759c2a3271098a4cfb63cd3ea68acaf645c92cb24c86fba098ada06e2e298bb")
+ version("0.5.0", sha256="bc55811e723c9076c35aac4d82f29770ef84b40846198235d8b0ea9a4e91f144")
+ version("0.4.0", sha256="d9f5761c3b07357aa586270cf7cbc97fc3db56ba731b6d0f3baf296f635f2be5")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.2:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.2:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rann/package.py b/var/spack/repos/builtin/packages/r-rann/package.py
index 705f7ab771..3d44e39523 100644
--- a/var/spack/repos/builtin/packages/r-rann/package.py
+++ b/var/spack/repos/builtin/packages/r-rann/package.py
@@ -18,4 +18,4 @@ class RRann(RPackage):
cran = "RANN"
- version('2.6.1', sha256='b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182')
+ version("2.6.1", sha256="b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182")
diff --git a/var/spack/repos/builtin/packages/r-rapidjsonr/package.py b/var/spack/repos/builtin/packages/r-rapidjsonr/package.py
index 2bd0ba6f48..ab4cfb62fe 100644
--- a/var/spack/repos/builtin/packages/r-rapidjsonr/package.py
+++ b/var/spack/repos/builtin/packages/r-rapidjsonr/package.py
@@ -14,6 +14,6 @@ class RRapidjsonr(RPackage):
cran = "rapidjsonr"
- version('1.2.0', sha256='62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f')
+ version("1.2.0", sha256="62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f")
- depends_on('gmake', type='build')
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-rapiserialize/package.py b/var/spack/repos/builtin/packages/r-rapiserialize/package.py
index 00125392cb..b25d2538dc 100644
--- a/var/spack/repos/builtin/packages/r-rapiserialize/package.py
+++ b/var/spack/repos/builtin/packages/r-rapiserialize/package.py
@@ -20,6 +20,6 @@ class RRapiserialize(RPackage):
cran = "RApiSerialize"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.1.0', sha256='324d42c655c27b4647d194bfcd7c675da95c67ea3a74ce99853502022792a23e')
+ version("0.1.0", sha256="324d42c655c27b4647d194bfcd7c675da95c67ea3a74ce99853502022792a23e")
diff --git a/var/spack/repos/builtin/packages/r-rappdirs/package.py b/var/spack/repos/builtin/packages/r-rappdirs/package.py
index c68e0aac9b..b32f67cfbc 100644
--- a/var/spack/repos/builtin/packages/r-rappdirs/package.py
+++ b/var/spack/repos/builtin/packages/r-rappdirs/package.py
@@ -15,8 +15,8 @@ class RRappdirs(RPackage):
cran = "rappdirs"
- version('0.3.3', sha256='49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184')
- version('0.3.1', sha256='2fd891ec16d28862f65bb57e4a78f77a597930abb59380e757afd8b6c6d3264a')
+ version("0.3.3", sha256="49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184")
+ version("0.3.1", sha256="2fd891ec16d28862f65bb57e4a78f77a597930abb59380e757afd8b6c6d3264a")
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@0.3.2:')
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@0.3.2:")
diff --git a/var/spack/repos/builtin/packages/r-raster/package.py b/var/spack/repos/builtin/packages/r-raster/package.py
index 2f50b9ff55..c1f6ff7338 100644
--- a/var/spack/repos/builtin/packages/r-raster/package.py
+++ b/var/spack/repos/builtin/packages/r-raster/package.py
@@ -16,18 +16,18 @@ class RRaster(RPackage):
cran = "raster"
- version('3.5-15', sha256='29c7d3c5d34284f8b5a2ddc9989fbcf092ce209d5eb5310ebc772b5ebdfdd685')
- version('3.5-11', sha256='e6c4823925260c65fe98585d7a0d47778616ae2e4eb1a1782b219580a9db61a3')
- version('3.4-5', sha256='c6620d790b3aba1b64aec31325f726e63f26a14a1b48c1a0f9167a0b1a64e4a5')
- version('2.9-23', sha256='90aaec9e3b1e3e6015d9993ea7491e008f2f71990f8abb8610f979c4e28b38af')
- version('2.9-22', sha256='8107d95f1aa85cea801c8101c6aa391becfef4b5b915d9bc7a323531fee26128')
- version('2.5-8', sha256='47992abd783450513fbce3770298cc257030bf0eb77e42aa3a4b3924b16264cc')
+ version("3.5-15", sha256="29c7d3c5d34284f8b5a2ddc9989fbcf092ce209d5eb5310ebc772b5ebdfdd685")
+ version("3.5-11", sha256="e6c4823925260c65fe98585d7a0d47778616ae2e4eb1a1782b219580a9db61a3")
+ version("3.4-5", sha256="c6620d790b3aba1b64aec31325f726e63f26a14a1b48c1a0f9167a0b1a64e4a5")
+ version("2.9-23", sha256="90aaec9e3b1e3e6015d9993ea7491e008f2f71990f8abb8610f979c4e28b38af")
+ version("2.9-22", sha256="8107d95f1aa85cea801c8101c6aa391becfef4b5b915d9bc7a323531fee26128")
+ version("2.5-8", sha256="47992abd783450513fbce3770298cc257030bf0eb77e42aa3a4b3924b16264cc")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.4-5:')
- depends_on('r-sp@1.2-0:', type=('build', 'run'))
- depends_on('r-sp@1.4.1:', type=('build', 'run'), when='@3.4-5:')
- depends_on('r-sp@1.4.5:', type=('build', 'run'), when='@3.5-11:')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-terra@1.4-11:', type=('build', 'run'), when='@3.5-11:')
- depends_on('r-terra@1.5-12:', type=('build', 'run'), when='@3.5-15:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.4-5:")
+ depends_on("r-sp@1.2-0:", type=("build", "run"))
+ depends_on("r-sp@1.4.1:", type=("build", "run"), when="@3.4-5:")
+ depends_on("r-sp@1.4.5:", type=("build", "run"), when="@3.5-11:")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-terra@1.4-11:", type=("build", "run"), when="@3.5-11:")
+ depends_on("r-terra@1.5-12:", type=("build", "run"), when="@3.5-15:")
diff --git a/var/spack/repos/builtin/packages/r-rbgl/package.py b/var/spack/repos/builtin/packages/r-rbgl/package.py
index d699f24ac8..0dc6b70b20 100644
--- a/var/spack/repos/builtin/packages/r-rbgl/package.py
+++ b/var/spack/repos/builtin/packages/r-rbgl/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RRbgl(RPackage):
"""An interface to the BOOST graph library.
- A fairly extensive and comprehensive interface to the graph algorithms
- contained in the BOOST library."""
+ A fairly extensive and comprehensive interface to the graph algorithms
+ contained in the BOOST library."""
bioc = "RBGL"
- version('1.72.0', commit='a86f3102f2795e1ffb530bb061247e3a42ca22f7')
- version('1.70.0', commit='9cfd5fdad4f1f438ff748317f32e822aede8921b')
- version('1.66.0', commit='bf0c111dbc231de6d3423c28e115b54fb010e1ea')
- version('1.60.0', commit='ef24c17c411659b8f030602bd9781c534d6ec93b')
- version('1.58.2', commit='086ad0c6bab7be29311b6ae14fd39df7a21331a6')
- version('1.56.0', commit='a1fa9d89c6a3401892c5dd1493df6a14031f0912')
- version('1.54.0', commit='e9c743d380e83c155495cb8732102f01f213c905')
- version('1.52.0', commit='93e8fcfafec8f1cd5638fe30dc0f9506d15b49c0')
+ version("1.72.0", commit="a86f3102f2795e1ffb530bb061247e3a42ca22f7")
+ version("1.70.0", commit="9cfd5fdad4f1f438ff748317f32e822aede8921b")
+ version("1.66.0", commit="bf0c111dbc231de6d3423c28e115b54fb010e1ea")
+ version("1.60.0", commit="ef24c17c411659b8f030602bd9781c534d6ec93b")
+ version("1.58.2", commit="086ad0c6bab7be29311b6ae14fd39df7a21331a6")
+ version("1.56.0", commit="a1fa9d89c6a3401892c5dd1493df6a14031f0912")
+ version("1.54.0", commit="e9c743d380e83c155495cb8732102f01f213c905")
+ version("1.52.0", commit="93e8fcfafec8f1cd5638fe30dc0f9506d15b49c0")
- depends_on('r-graph', type=('build', 'run'))
- depends_on('r-bh', type=('build', 'run'), when='@1.60.0:')
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("r-bh", type=("build", "run"), when="@1.60.0:")
diff --git a/var/spack/repos/builtin/packages/r-rbibutils/package.py b/var/spack/repos/builtin/packages/r-rbibutils/package.py
index cb1db36b5d..bbb0e410ae 100644
--- a/var/spack/repos/builtin/packages/r-rbibutils/package.py
+++ b/var/spack/repos/builtin/packages/r-rbibutils/package.py
@@ -16,8 +16,8 @@ class RRbibutils(RPackage):
cran = "rbibutils"
- version('2.2.8', sha256='f1aecdeeba99042d34de19234238c5bbdc18a26f271f6adf9c9b7e349d50d152')
- version('2.2.7', sha256='7c9e6719556b8caa9fb58743b717e89f45e8e7018371bf16f07dc3c1f96a55c5')
- version('2.0', sha256='03d13abee321decb88bc4e7c9f27276d62a4a880fa72bb6b86be91885010cfed')
+ version("2.2.8", sha256="f1aecdeeba99042d34de19234238c5bbdc18a26f271f6adf9c9b7e349d50d152")
+ version("2.2.7", sha256="7c9e6719556b8caa9fb58743b717e89f45e8e7018371bf16f07dc3c1f96a55c5")
+ version("2.0", sha256="03d13abee321decb88bc4e7c9f27276d62a4a880fa72bb6b86be91885010cfed")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rbokeh/package.py b/var/spack/repos/builtin/packages/r-rbokeh/package.py
index c34efae6e3..c82712bc29 100644
--- a/var/spack/repos/builtin/packages/r-rbokeh/package.py
+++ b/var/spack/repos/builtin/packages/r-rbokeh/package.py
@@ -16,20 +16,20 @@ class RRbokeh(RPackage):
cran = "rbokeh"
- version('0.5.2', sha256='d8c47dbd978efce04e5676a3a91d511517a9bb8fe1859c404bfc9ee0f0bf4ec0')
- version('0.5.1', sha256='48eba3b238cea2b9aa408d8a48c663564292e76f2ab3f603bc671315a4a75a88')
- version('0.5.0', sha256='499c3224a7dcaeb4bb60fd645b3ef528a20e59437747a073713941b80cbcebd2')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-htmlwidgets@0.5:', type=('build', 'run'))
- depends_on('r-maps', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-hexbin', type=('build', 'run'))
- depends_on('r-lazyeval', type=('build', 'run'))
- depends_on('r-pryr', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-gistr', type=('build', 'run'))
-
- depends_on('r-ggplot2', type=('build', 'run'), when='@:0.5.1')
+ version("0.5.2", sha256="d8c47dbd978efce04e5676a3a91d511517a9bb8fe1859c404bfc9ee0f0bf4ec0")
+ version("0.5.1", sha256="48eba3b238cea2b9aa408d8a48c663564292e76f2ab3f603bc671315a4a75a88")
+ version("0.5.0", sha256="499c3224a7dcaeb4bb60fd645b3ef528a20e59437747a073713941b80cbcebd2")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-htmlwidgets@0.5:", type=("build", "run"))
+ depends_on("r-maps", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-hexbin", type=("build", "run"))
+ depends_on("r-lazyeval", type=("build", "run"))
+ depends_on("r-pryr", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-gistr", type=("build", "run"))
+
+ depends_on("r-ggplot2", type=("build", "run"), when="@:0.5.1")
diff --git a/var/spack/repos/builtin/packages/r-rcmdcheck/package.py b/var/spack/repos/builtin/packages/r-rcmdcheck/package.py
index 9182329ae0..669f15072d 100644
--- a/var/spack/repos/builtin/packages/r-rcmdcheck/package.py
+++ b/var/spack/repos/builtin/packages/r-rcmdcheck/package.py
@@ -15,21 +15,21 @@ class RRcmdcheck(RPackage):
cran = "rcmdcheck"
- version('1.4.0', sha256='bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0')
- version('1.3.3', sha256='1ab679eb1976d74cd3be5bcad0af7fcc673dbdfd4406bbce32591c8fddfb93b4')
-
- depends_on('r-callr@3.1.1.9000:', type=('build', 'run'))
- depends_on('r-cli@1.1.0:', type=('build', 'run'))
- depends_on('r-cli@3.0.0:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-curl', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-desc@1.2.0:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-pkgbuild', type=('build', 'run'))
- depends_on('r-prettyunits', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rprojroot', type=('build', 'run'))
- depends_on('r-sessioninfo@1.1.1:', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-xopen', type=('build', 'run'))
-
- depends_on('r-crayon', type=('build', 'run'), when='@:1.3.3')
+ version("1.4.0", sha256="bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0")
+ version("1.3.3", sha256="1ab679eb1976d74cd3be5bcad0af7fcc673dbdfd4406bbce32591c8fddfb93b4")
+
+ depends_on("r-callr@3.1.1.9000:", type=("build", "run"))
+ depends_on("r-cli@1.1.0:", type=("build", "run"))
+ depends_on("r-cli@3.0.0:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-curl", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-desc@1.2.0:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-pkgbuild", type=("build", "run"))
+ depends_on("r-prettyunits", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rprojroot", type=("build", "run"))
+ depends_on("r-sessioninfo@1.1.1:", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-xopen", type=("build", "run"))
+
+ depends_on("r-crayon", type=("build", "run"), when="@:1.3.3")
diff --git a/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py b/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py
index fac3c6d1df..b2acccbe94 100644
--- a/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py
+++ b/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py
@@ -14,7 +14,7 @@ class RRcolorbrewer(RPackage):
cran = "RColorBrewer"
- version('1.1-3', sha256='4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0')
- version('1.1-2', sha256='f3e9781e84e114b7a88eb099825936cc5ae7276bbba5af94d35adb1b3ea2ccdd')
+ version("1.1-3", sha256="4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0")
+ version("1.1-2", sha256="f3e9781e84e114b7a88eb099825936cc5ae7276bbba5af94d35adb1b3ea2ccdd")
- depends_on('r@2.0.0:', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py
index 9efc77cc51..3bcd348df1 100644
--- a/var/spack/repos/builtin/packages/r-rcpp/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpp/package.py
@@ -23,26 +23,26 @@ class RRcpp(RPackage):
cran = "Rcpp"
- version('1.0.8.3', sha256='9da5b84cdaf56e972b41e669d496b1ece2e91bcd435505c68b9f2bd98375f8bf')
- version('1.0.8', sha256='879f9296bc045ac4ed464578723bd37fcabbbdaa30aaaf070cf953e329f678ee')
- version('1.0.7', sha256='15e5a4732216daed16263c79fb37017c2ada84a2d4e785e3b76445d0eba3dc1d')
- version('1.0.6', sha256='c9f24756bc000f7a989bd4f9aa93d57f7739dcde77946703f8bb32332a35f012')
- version('1.0.4.6', sha256='45af675ddbbe155e671453b2e84fe32250bb98d4ccb4342b61c1e25cff10b302')
- version('1.0.2', sha256='ad9338d6fc89dd116a3e2c5ecef1956e4be63b6c6aa1b21b2e5f249d65a5129c')
- version('1.0.0', sha256='b7378bf0dda17ef72aa3f2a318a9cb5667bef50b601dc1096431e17426e18bc2')
- version('0.12.19', sha256='63aeb6d4b58cd2899ded26f38a77d461397d5b0dc5936f187d3ca6cd958ab582')
- version('0.12.18', sha256='fcecd01e53cfcbcf58dec19842b7235a917b8d98988e4003cc090478c5bbd300')
- version('0.12.17', sha256='4227c45c92416b5378ed5761495f9b3932d481bae9a190fb584d17c10744af23')
- version('0.12.16', sha256='d4e1636e53e2b656e173b49085b7abbb627981787cd63d63df325c713c83a8e6')
- version('0.12.15', sha256='bb6fddf67c888ec4e28cdf72539663cdbda8df5861e5579f4fc6b64da836dbde')
- version('0.12.14', sha256='da28fcfc3fe7c48d02f9f3e309b56f4be52b14a01216a23e3de8f9d6deeb7e63')
- version('0.12.13', sha256='a570ad88282fb961ba32c867c49dbd3dce6f4dfc7b59ab1fbde510449827a8ae')
- version('0.12.12', sha256='9f3eb1e6154f4d56b52ab550a22e522e9999c7998388fdc235e48af5e8c6deaf')
- version('0.12.11', sha256='bd8cae275bb45cf98f3e3c6e1b5189bdd9c02e74b25241419ed3e4851d859c7f')
- version('0.12.9', sha256='f0bd0df28ded09cb3cb5c2a348e2f81d1a2bf0b2248e9aecd67aeeeaeabbcd5e')
- version('0.12.6', sha256='1bb54e03b817a3d6ab5917f1bbf5250c6b33f61e466628a378022ed65a010141')
- version('0.12.5', sha256='13449481c91b5271b34d81f462864864c1905bb05021781eee11c36fdafa80ef')
+ version("1.0.8.3", sha256="9da5b84cdaf56e972b41e669d496b1ece2e91bcd435505c68b9f2bd98375f8bf")
+ version("1.0.8", sha256="879f9296bc045ac4ed464578723bd37fcabbbdaa30aaaf070cf953e329f678ee")
+ version("1.0.7", sha256="15e5a4732216daed16263c79fb37017c2ada84a2d4e785e3b76445d0eba3dc1d")
+ version("1.0.6", sha256="c9f24756bc000f7a989bd4f9aa93d57f7739dcde77946703f8bb32332a35f012")
+ version("1.0.4.6", sha256="45af675ddbbe155e671453b2e84fe32250bb98d4ccb4342b61c1e25cff10b302")
+ version("1.0.2", sha256="ad9338d6fc89dd116a3e2c5ecef1956e4be63b6c6aa1b21b2e5f249d65a5129c")
+ version("1.0.0", sha256="b7378bf0dda17ef72aa3f2a318a9cb5667bef50b601dc1096431e17426e18bc2")
+ version("0.12.19", sha256="63aeb6d4b58cd2899ded26f38a77d461397d5b0dc5936f187d3ca6cd958ab582")
+ version("0.12.18", sha256="fcecd01e53cfcbcf58dec19842b7235a917b8d98988e4003cc090478c5bbd300")
+ version("0.12.17", sha256="4227c45c92416b5378ed5761495f9b3932d481bae9a190fb584d17c10744af23")
+ version("0.12.16", sha256="d4e1636e53e2b656e173b49085b7abbb627981787cd63d63df325c713c83a8e6")
+ version("0.12.15", sha256="bb6fddf67c888ec4e28cdf72539663cdbda8df5861e5579f4fc6b64da836dbde")
+ version("0.12.14", sha256="da28fcfc3fe7c48d02f9f3e309b56f4be52b14a01216a23e3de8f9d6deeb7e63")
+ version("0.12.13", sha256="a570ad88282fb961ba32c867c49dbd3dce6f4dfc7b59ab1fbde510449827a8ae")
+ version("0.12.12", sha256="9f3eb1e6154f4d56b52ab550a22e522e9999c7998388fdc235e48af5e8c6deaf")
+ version("0.12.11", sha256="bd8cae275bb45cf98f3e3c6e1b5189bdd9c02e74b25241419ed3e4851d859c7f")
+ version("0.12.9", sha256="f0bd0df28ded09cb3cb5c2a348e2f81d1a2bf0b2248e9aecd67aeeeaeabbcd5e")
+ version("0.12.6", sha256="1bb54e03b817a3d6ab5917f1bbf5250c6b33f61e466628a378022ed65a010141")
+ version("0.12.5", sha256="13449481c91b5271b34d81f462864864c1905bb05021781eee11c36fdafa80ef")
# leave the r dependency also for newer versions
# (not listed in Description for @1.0.5:)
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppannoy/package.py b/var/spack/repos/builtin/packages/r-rcppannoy/package.py
index 54d77b78ad..14483c3990 100644
--- a/var/spack/repos/builtin/packages/r-rcppannoy/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppannoy/package.py
@@ -20,10 +20,10 @@ class RRcppannoy(RPackage):
cran = "RcppAnnoy"
- version('0.0.19', sha256='89b209900516f3096b53c90937081fb8965c605c867aa465f1b3b68092b7688a')
- version('0.0.18', sha256='e4e7ddf071109b47b4fdf285db6d2155618ed73da829c30d8e64fc778e63c858')
- version('0.0.12', sha256='8f736cbbb4a32c80cb08ba4e81df633846d725f27867e983af2012966eac0eac')
+ version("0.0.19", sha256="89b209900516f3096b53c90937081fb8965c605c867aa465f1b3b68092b7688a")
+ version("0.0.18", sha256="e4e7ddf071109b47b4fdf285db6d2155618ed73da829c30d8e64fc778e63c858")
+ version("0.0.12", sha256="8f736cbbb4a32c80cb08ba4e81df633846d725f27867e983af2012966eac0eac")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rcpp@0.11.3:', type=('build', 'run'), when='@:0.0.12')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rcpp@0.11.3:", type=("build", "run"), when="@:0.0.12")
diff --git a/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py b/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
index 627d5438c6..beb7b076f2 100644
--- a/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
@@ -23,14 +23,30 @@ class RRcpparmadillo(RPackage):
cran = "RcppArmadillo"
- version('0.11.1.1.0', sha256='eb0bfc484c41543e766441b4c8c4a3061d8633540914ed2bbf363da047a74897')
- version('0.10.8.1.0', sha256='efa415afb38514648456d1feab247c556735573673986a4fb0f512960b9af5f4')
- version('0.10.7.5.0', sha256='7c061e6371c3c068d17744fd7f764dfd02f25393c3f5d534aa7d9e62ac912614')
- version('0.10.7.3.0', sha256='3710b767708e3b9408723eedb98391daa8651fda53a2c6b033273265512f6262')
- version('0.10.1.2.2', sha256='38323703fcf2b61f46f2984aafdd3ddf17c3c993d1d27a8f0f4ba5012b99d069')
- version('0.9.600.4.0', sha256='2057b7aa965a4c821dd734276d8e6a01cd59a1b52536b65cb815fa7e8c114f1e')
- version('0.9.400.3.0', sha256='56936d501fe8e6f8796ae1a6badb9294d7dad98a0b557c3b3ce6bd4ecaad13b0')
- version('0.8.100.1.0', sha256='97ca929b34d84d99d7cadc3612b544632cdd0c43ed962933a3d47caa27854fa7')
+ version(
+ "0.11.1.1.0", sha256="eb0bfc484c41543e766441b4c8c4a3061d8633540914ed2bbf363da047a74897"
+ )
+ version(
+ "0.10.8.1.0", sha256="efa415afb38514648456d1feab247c556735573673986a4fb0f512960b9af5f4"
+ )
+ version(
+ "0.10.7.5.0", sha256="7c061e6371c3c068d17744fd7f764dfd02f25393c3f5d534aa7d9e62ac912614"
+ )
+ version(
+ "0.10.7.3.0", sha256="3710b767708e3b9408723eedb98391daa8651fda53a2c6b033273265512f6262"
+ )
+ version(
+ "0.10.1.2.2", sha256="38323703fcf2b61f46f2984aafdd3ddf17c3c993d1d27a8f0f4ba5012b99d069"
+ )
+ version(
+ "0.9.600.4.0", sha256="2057b7aa965a4c821dd734276d8e6a01cd59a1b52536b65cb815fa7e8c114f1e"
+ )
+ version(
+ "0.9.400.3.0", sha256="56936d501fe8e6f8796ae1a6badb9294d7dad98a0b557c3b3ce6bd4ecaad13b0"
+ )
+ version(
+ "0.8.100.1.0", sha256="97ca929b34d84d99d7cadc3612b544632cdd0c43ed962933a3d47caa27854fa7"
+ )
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.8.500.0:')
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.8.500.0:")
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppblaze/package.py b/var/spack/repos/builtin/packages/r-rcppblaze/package.py
index 1e6df31948..cc10c13954 100644
--- a/var/spack/repos/builtin/packages/r-rcppblaze/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppblaze/package.py
@@ -35,9 +35,9 @@ class RRcppblaze(RPackage):
cran = "RcppBlaze"
- version('0.2.2', sha256='67550ed8aea12a219047af61b41e5b9f991608a21ce9a8fbf7ac55da0f7c2742')
+ version("0.2.2", sha256="67550ed8aea12a219047af61b41e5b9f991608a21ce9a8fbf7ac55da0f7c2742")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-matrix@1.1-0:', type=('build', 'run'))
- depends_on('r-bh@1.54.0-2:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-matrix@1.1-0:", type=("build", "run"))
+ depends_on("r-bh@1.54.0-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppcctz/package.py b/var/spack/repos/builtin/packages/r-rcppcctz/package.py
index f6e43536f4..c917121b7f 100644
--- a/var/spack/repos/builtin/packages/r-rcppcctz/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppcctz/package.py
@@ -17,10 +17,10 @@ class RRcppcctz(RPackage):
cran = "RcppCCTZ"
- version('0.2.10', sha256='3a78188ec771270c87d5ccb8237506adac1827220c694df2f683f64002e2444a')
- version('0.2.9', sha256='723f45eca1be08903234e339523daca35748fe65c1a9d59afcb583d3a17bcaae')
- version('0.2.6', sha256='0e9a76055d29da24cd4c4069c78c1f44998f3461be60c7a6c3e7a35059fb79ae')
- version('0.2.4', sha256='98b6867d38abe03957fe803e88b6cc2d122b85a68ef07fa86f7e1009d6c00819')
- version('0.2.3', sha256='0fefcc98387b2c1a5907e5230babb46e2cc11b603424f458f515e445a3236031')
+ version("0.2.10", sha256="3a78188ec771270c87d5ccb8237506adac1827220c694df2f683f64002e2444a")
+ version("0.2.9", sha256="723f45eca1be08903234e339523daca35748fe65c1a9d59afcb583d3a17bcaae")
+ version("0.2.6", sha256="0e9a76055d29da24cd4c4069c78c1f44998f3461be60c7a6c3e7a35059fb79ae")
+ version("0.2.4", sha256="98b6867d38abe03957fe803e88b6cc2d122b85a68ef07fa86f7e1009d6c00819")
+ version("0.2.3", sha256="0fefcc98387b2c1a5907e5230babb46e2cc11b603424f458f515e445a3236031")
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppcnpy/package.py b/var/spack/repos/builtin/packages/r-rcppcnpy/package.py
index 80dff10e65..9ac048b31e 100644
--- a/var/spack/repos/builtin/packages/r-rcppcnpy/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppcnpy/package.py
@@ -18,9 +18,9 @@ class RRcppcnpy(RPackage):
cran = "RcppCNPy"
- version('0.2.11', sha256='5dbb36f2526c276fd79b8e08a30503dc401cdf54d8c40f61af758c9ee1192f55')
- version('0.2.10', sha256='77d6fbc86520a08da40d44c0b82767099f8f719ca95870d91efff1a9cab1ab9c')
- version('0.2.9', sha256='733f004ad1a8b0e5aafbf547c4349d2df3118afd57f1ff99f20e39135c6edb30')
+ version("0.2.11", sha256="5dbb36f2526c276fd79b8e08a30503dc401cdf54d8c40f61af758c9ee1192f55")
+ version("0.2.10", sha256="77d6fbc86520a08da40d44c0b82767099f8f719ca95870d91efff1a9cab1ab9c")
+ version("0.2.9", sha256="733f004ad1a8b0e5aafbf547c4349d2df3118afd57f1ff99f20e39135c6edb30")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppdate/package.py b/var/spack/repos/builtin/packages/r-rcppdate/package.py
index 021fb6e6e2..0b9a127f89 100644
--- a/var/spack/repos/builtin/packages/r-rcppdate/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppdate/package.py
@@ -19,5 +19,5 @@ class RRcppdate(RPackage):
cran = "RcppDate"
- version('0.0.3', sha256='9c5ee7cf76d63cd51e8faff831f5f865762868d7d705395960c0f22e9b238bdb')
- version('0.0.1', sha256='117721fc677dfb4209200a7ff894fbbb8ee1b652d01b3878b11c3253733b4a5f')
+ version("0.0.3", sha256="9c5ee7cf76d63cd51e8faff831f5f865762868d7d705395960c0f22e9b238bdb")
+ version("0.0.1", sha256="117721fc677dfb4209200a7ff894fbbb8ee1b652d01b3878b11c3253733b4a5f")
diff --git a/var/spack/repos/builtin/packages/r-rcppde/package.py b/var/spack/repos/builtin/packages/r-rcppde/package.py
index e73c38ec53..cd098d84a3 100644
--- a/var/spack/repos/builtin/packages/r-rcppde/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppde/package.py
@@ -20,7 +20,7 @@ class RRcppde(RPackage):
cran = "RcppDE"
- version('0.1.6', sha256='c9386709f72cdc33505b3ac675c173013fe098434b7c21bc09eb625b529132c5')
+ version("0.1.6", sha256="c9386709f72cdc33505b3ac675c173013fe098434b7c21bc09eb625b529132c5")
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppeigen/package.py b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
index 7b7457fa31..038a4acc33 100644
--- a/var/spack/repos/builtin/packages/r-rcppeigen/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
@@ -25,13 +25,13 @@ class RRcppeigen(RPackage):
cran = "RcppEigen"
- version('0.3.3.9.2', sha256='2547e794d5a6fb8d9fbadf19e64afa0bcf413cc69ecf3f428995fa5a0fced493')
- version('0.3.3.9.1', sha256='8a0486249b778a4275a1168fc89fc7fc49c2bb031cb14b50a50089acae7fe962')
- version('0.3.3.5.0', sha256='e5c6af17770c5f57b7cf2fba04ad1a519901b446e8138bfff221952458207f05')
- version('0.3.3.4.0', sha256='11020c567b299b1eac95e8a4d57abf0315931286907823dc7b66c44d0dd6dad4')
- version('0.3.3.3.1', sha256='14fdd2cb764d0a822e11b8f09dcf1c3c8580d416f053404732064d8f2b176f24')
- version('0.3.2.9.0', sha256='25affba9065e3c12d67b1934d1ce97a928a4011a7738f7b90f0e9830409ec93b')
- version('0.3.2.8.1', sha256='ceccb8785531c5c23f9232b594e5372c214a114a08ec759115e946badd08d681')
+ version("0.3.3.9.2", sha256="2547e794d5a6fb8d9fbadf19e64afa0bcf413cc69ecf3f428995fa5a0fced493")
+ version("0.3.3.9.1", sha256="8a0486249b778a4275a1168fc89fc7fc49c2bb031cb14b50a50089acae7fe962")
+ version("0.3.3.5.0", sha256="e5c6af17770c5f57b7cf2fba04ad1a519901b446e8138bfff221952458207f05")
+ version("0.3.3.4.0", sha256="11020c567b299b1eac95e8a4d57abf0315931286907823dc7b66c44d0dd6dad4")
+ version("0.3.3.3.1", sha256="14fdd2cb764d0a822e11b8f09dcf1c3c8580d416f053404732064d8f2b176f24")
+ version("0.3.2.9.0", sha256="25affba9065e3c12d67b1934d1ce97a928a4011a7738f7b90f0e9830409ec93b")
+ version("0.3.2.8.1", sha256="ceccb8785531c5c23f9232b594e5372c214a114a08ec759115e946badd08d681")
- depends_on('r-matrix@1.1-0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r-matrix@1.1-0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppgsl/package.py b/var/spack/repos/builtin/packages/r-rcppgsl/package.py
index 01ca0aa18d..f69ef5a129 100644
--- a/var/spack/repos/builtin/packages/r-rcppgsl/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppgsl/package.py
@@ -24,8 +24,8 @@ class RRcppgsl(RPackage):
cran = "RcppGSL"
- version('0.3.11', sha256='f094ea26c99b04d9e203986a1f2003f02472ceca0e2ef1c3beefd3ae80aeada8')
- version('0.3.10', sha256='8612087da02fb791f427fed310c23d0482a8eb60fb089119f018878143f95451')
+ version("0.3.11", sha256="f094ea26c99b04d9e203986a1f2003f02472ceca0e2ef1c3beefd3ae80aeada8")
+ version("0.3.10", sha256="8612087da02fb791f427fed310c23d0482a8eb60fb089119f018878143f95451")
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('gsl')
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/r-rcpphnsw/package.py b/var/spack/repos/builtin/packages/r-rcpphnsw/package.py
index b504a4fdfb..47c8eb2ed4 100644
--- a/var/spack/repos/builtin/packages/r-rcpphnsw/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpphnsw/package.py
@@ -17,7 +17,7 @@ class RRcpphnsw(RPackage):
cran = "RcppHNSW"
- version('0.3.0', sha256='a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007')
- version('0.1.0', sha256='75a54c30953845dec685764c7b3b4cd7315197c91aef4ab3b4eb0a6293010a95')
+ version("0.3.0", sha256="a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007")
+ version("0.1.0", sha256="75a54c30953845dec685764c7b3b4cd7315197c91aef4ab3b4eb0a6293010a95")
- depends_on('r-rcpp@0.11.3:', type=('build', 'run'))
+ depends_on("r-rcpp@0.11.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppml/package.py b/var/spack/repos/builtin/packages/r-rcppml/package.py
index 3a0577a725..846831b9ab 100644
--- a/var/spack/repos/builtin/packages/r-rcppml/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppml/package.py
@@ -12,10 +12,10 @@ class RRcppml(RPackage):
Fast machine learning algorithms including matrix factorization and
divisive clustering for large sparse and dense matrices."""
- cran = "RcppML"
+ cran = "RcppML"
- version('0.3.7', sha256='325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6')
+ version("0.3.7", sha256="325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6")
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppparallel/package.py b/var/spack/repos/builtin/packages/r-rcppparallel/package.py
index 001be16eeb..aaeab4611a 100644
--- a/var/spack/repos/builtin/packages/r-rcppparallel/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppparallel/package.py
@@ -16,12 +16,12 @@ class RRcppparallel(RPackage):
cran = "RcppParallel"
- version('5.1.5', sha256='6396322b3b6d6f7019aac808ceb74707bc5c4ed01677fab408372c2a5508c2ea')
- version('5.0.2', sha256='8ca200908c6365aafb2063be1789f0894969adc03c0f523c6cc45434b8236f81')
- version('4.4.3', sha256='7a04929ecab97e46c0b09fe5cdbac9d7bfa17ad7d111f1a9787a9997f45fa0fa')
+ version("5.1.5", sha256="6396322b3b6d6f7019aac808ceb74707bc5c4ed01677fab408372c2a5508c2ea")
+ version("5.0.2", sha256="8ca200908c6365aafb2063be1789f0894969adc03c0f523c6cc45434b8236f81")
+ version("4.4.3", sha256="7a04929ecab97e46c0b09fe5cdbac9d7bfa17ad7d111f1a9787a9997f45fa0fa")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('gmake', type='build')
- depends_on('tbb', when='@5.1.5:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("gmake", type="build")
+ depends_on("tbb", when="@5.1.5:")
- patch('asclang.patch', when='%fj')
+ patch("asclang.patch", when="%fj")
diff --git a/var/spack/repos/builtin/packages/r-rcppprogress/package.py b/var/spack/repos/builtin/packages/r-rcppprogress/package.py
index 9e5f8e27a4..b1420e91c1 100644
--- a/var/spack/repos/builtin/packages/r-rcppprogress/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppprogress/package.py
@@ -15,12 +15,12 @@ class RRcppprogress(RPackage):
cran = "RcppProgress"
- version('0.4.2', sha256='b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48')
- version('0.4.1', sha256='11764105922f763d4c75c502599ec7dcc2fd629a029964caf53f98b41d0c607a')
- version('0.4', sha256='706e14360dbc5976db05c2ac6692c3279c0f8c95e72bf9d4becd9e1348025e3e')
- version('0.3', sha256='3de5dc47cc2f9e839f92355c463289531e8c13806e54c7438f63c7c34378261d')
- version('0.2.1', sha256='cf121d34766344d05dea77895cd2e48a977ebb28ccf7af14bb46c3744c4a50b5')
- version('0.2', sha256='ca32624739058f1b5aab18b09dc4c613ecfd18a3ace39f3b97790232db829481')
- version('0.1', sha256='04f71d3391b7dfab997afadf7ffdd87b88037f7fbc751bea544ad2a65e2872bf')
+ version("0.4.2", sha256="b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48")
+ version("0.4.1", sha256="11764105922f763d4c75c502599ec7dcc2fd629a029964caf53f98b41d0c607a")
+ version("0.4", sha256="706e14360dbc5976db05c2ac6692c3279c0f8c95e72bf9d4becd9e1348025e3e")
+ version("0.3", sha256="3de5dc47cc2f9e839f92355c463289531e8c13806e54c7438f63c7c34378261d")
+ version("0.2.1", sha256="cf121d34766344d05dea77895cd2e48a977ebb28ccf7af14bb46c3744c4a50b5")
+ version("0.2", sha256="ca32624739058f1b5aab18b09dc4c613ecfd18a3ace39f3b97790232db829481")
+ version("0.1", sha256="04f71d3391b7dfab997afadf7ffdd87b88037f7fbc751bea544ad2a65e2872bf")
- depends_on('r-rcpp@0.9.4:', type=('build', 'run'), when='@:0.4')
+ depends_on("r-rcpp@0.9.4:", type=("build", "run"), when="@:0.4")
diff --git a/var/spack/repos/builtin/packages/r-rcpproll/package.py b/var/spack/repos/builtin/packages/r-rcpproll/package.py
index f234262250..4563ddfd20 100644
--- a/var/spack/repos/builtin/packages/r-rcpproll/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpproll/package.py
@@ -16,7 +16,7 @@ class RRcpproll(RPackage):
cran = "RcppRoll"
- version('0.3.0', sha256='cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b')
+ version("0.3.0", sha256="cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b")
- depends_on('r@2.15.1:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r@2.15.1:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcpptoml/package.py b/var/spack/repos/builtin/packages/r-rcpptoml/package.py
index 87e8a8ed8f..b220dbda71 100644
--- a/var/spack/repos/builtin/packages/r-rcpptoml/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpptoml/package.py
@@ -17,7 +17,7 @@ class RRcpptoml(RPackage):
cran = "RcppTOML"
- version('0.1.7', sha256='2f09f00cbee6c6eeff5d5f0195c10de0155496de15fbe8189c18627ee3090541')
+ version("0.1.7", sha256="2f09f00cbee6c6eeff5d5f0195c10de0155496de15fbe8189c18627ee3090541")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rcppziggurat/package.py b/var/spack/repos/builtin/packages/r-rcppziggurat/package.py
index 72ef408450..425282d95f 100644
--- a/var/spack/repos/builtin/packages/r-rcppziggurat/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppziggurat/package.py
@@ -18,10 +18,10 @@ class RRcppziggurat(RPackage):
cran = "RcppZiggurat"
- version('0.1.6', sha256='9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71')
+ version("0.1.6", sha256="9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71")
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rcppgsl', type=('build', 'run'))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rcppgsl", type=("build", "run"))
# not listed as a dependency but needed
- depends_on('gsl')
+ depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/r-rcurl/package.py b/var/spack/repos/builtin/packages/r-rcurl/package.py
index 13af9cd37e..0d1a1b6c61 100644
--- a/var/spack/repos/builtin/packages/r-rcurl/package.py
+++ b/var/spack/repos/builtin/packages/r-rcurl/package.py
@@ -21,14 +21,14 @@ class RRcurl(RPackage):
cran = "RCurl"
- version('1.98-1.6', sha256='6cb56864ac043195b658bbdb345518d561507d84ccd60362866e970c2f71d1a2')
- version('1.98-1.5', sha256='73187c9a039188ffdc255fb7fa53811a6abfb31e6375a51eae8c763b37dd698d')
- version('1.98-1.2', sha256='5d74a0cdc3c5684b0348b959f67039e3c2a5da2bbb6176f6800a94124895a7a8')
- version('1.95-4.12', sha256='393779efafdf40823dac942a1e028905d65c34f3d41cfd21bcd225e411385ff4')
- version('1.95-4.8', sha256='e72243251bbbec341bc5864305bb8cc23d311d19c5d0d9310afec7eb35aa2bfb')
+ version("1.98-1.6", sha256="6cb56864ac043195b658bbdb345518d561507d84ccd60362866e970c2f71d1a2")
+ version("1.98-1.5", sha256="73187c9a039188ffdc255fb7fa53811a6abfb31e6375a51eae8c763b37dd698d")
+ version("1.98-1.2", sha256="5d74a0cdc3c5684b0348b959f67039e3c2a5da2bbb6176f6800a94124895a7a8")
+ version("1.95-4.12", sha256="393779efafdf40823dac942a1e028905d65c34f3d41cfd21bcd225e411385ff4")
+ version("1.95-4.8", sha256="e72243251bbbec341bc5864305bb8cc23d311d19c5d0d9310afec7eb35aa2bfb")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.98:')
- depends_on('r-bitops', type=('build', 'run'))
- depends_on('curl')
- depends_on('gmake', type='build')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.98:")
+ depends_on("r-bitops", type=("build", "run"))
+ depends_on("curl")
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-rda/package.py b/var/spack/repos/builtin/packages/r-rda/package.py
index e5ca242940..fbcad5835b 100644
--- a/var/spack/repos/builtin/packages/r-rda/package.py
+++ b/var/spack/repos/builtin/packages/r-rda/package.py
@@ -16,8 +16,8 @@ class RRda(RPackage):
# Note: Package 'rda' was removed from the CRAN repository.
# The latest archived version is below
- version('1.0.2-2.1', sha256='eea3a51a2e132a023146bfbc0c384f5373eb3ea2b61743d7658be86a5b04949e')
- version('1.0.2-2', sha256='52ee41249b860af81dc692eee38cd4f8f26d3fbe34cb274f4e118de0013b58bc')
- version('1.0.2-1', sha256='e5b96610ec9e82f12efe5dbb9a3ec9ecba9aaddfad1d6ab3f8c37d15fc2b42b7')
+ version("1.0.2-2.1", sha256="eea3a51a2e132a023146bfbc0c384f5373eb3ea2b61743d7658be86a5b04949e")
+ version("1.0.2-2", sha256="52ee41249b860af81dc692eee38cd4f8f26d3fbe34cb274f4e118de0013b58bc")
+ version("1.0.2-1", sha256="e5b96610ec9e82f12efe5dbb9a3ec9ecba9aaddfad1d6ab3f8c37d15fc2b42b7")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rdpack/package.py b/var/spack/repos/builtin/packages/r-rdpack/package.py
index 20291b058b..b591dfbd4b 100644
--- a/var/spack/repos/builtin/packages/r-rdpack/package.py
+++ b/var/spack/repos/builtin/packages/r-rdpack/package.py
@@ -19,13 +19,13 @@ class RRdpack(RPackage):
cran = "Rdpack"
- version('2.3', sha256='c45e1ab8352b92ce03f26ece1f4db3716959fca2af9e826d5bd3c76b2151f7c5')
- version('2.1.3', sha256='8381a8866b9acf5acb2c80069684339c3921f1b45fa202719e8f6852fb4d55b8')
- version('2.1', sha256='26e094fe3c077fb2a99e95c5bd94015a5f993a4a5f5d217829b4872ff004bfce')
- version('0.11-0', sha256='8fb449c80fbe931cdce51f728fb03a1978009ccce66fd6b9edacdc6ff4118d85')
+ version("2.3", sha256="c45e1ab8352b92ce03f26ece1f4db3716959fca2af9e826d5bd3c76b2151f7c5")
+ version("2.1.3", sha256="8381a8866b9acf5acb2c80069684339c3921f1b45fa202719e8f6852fb4d55b8")
+ version("2.1", sha256="26e094fe3c077fb2a99e95c5bd94015a5f993a4a5f5d217829b4872ff004bfce")
+ version("0.11-0", sha256="8fb449c80fbe931cdce51f728fb03a1978009ccce66fd6b9edacdc6ff4118d85")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r-rbibutils@1.3:', type=('build', 'run'), when='@2.1:')
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r-rbibutils@1.3:", type=("build", "run"), when="@2.1:")
- depends_on('r-bibtex@0.4.0:', type=('build', 'run'), when='@:0.11-0')
- depends_on('r-gbrd', type=('build', 'run'), when='@:2.1')
+ depends_on("r-bibtex@0.4.0:", type=("build", "run"), when="@:0.11-0")
+ depends_on("r-gbrd", type=("build", "run"), when="@:2.1")
diff --git a/var/spack/repos/builtin/packages/r-readbitmap/package.py b/var/spack/repos/builtin/packages/r-readbitmap/package.py
index 1453a070ae..fae121cb09 100644
--- a/var/spack/repos/builtin/packages/r-readbitmap/package.py
+++ b/var/spack/repos/builtin/packages/r-readbitmap/package.py
@@ -16,11 +16,11 @@ class RReadbitmap(RPackage):
cran = "readbitmap"
- version('0.1.5', sha256='737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291')
+ version("0.1.5", sha256="737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291")
- depends_on('r-bmp', type=('build', 'run'))
- depends_on('r-jpeg', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-tiff', type=('build', 'run'))
- depends_on('jpeg')
- depends_on('libpng')
+ depends_on("r-bmp", type=("build", "run"))
+ depends_on("r-jpeg", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-tiff", type=("build", "run"))
+ depends_on("jpeg")
+ depends_on("libpng")
diff --git a/var/spack/repos/builtin/packages/r-readr/package.py b/var/spack/repos/builtin/packages/r-readr/package.py
index 98fbe24265..b867110c9a 100644
--- a/var/spack/repos/builtin/packages/r-readr/package.py
+++ b/var/spack/repos/builtin/packages/r-readr/package.py
@@ -16,30 +16,30 @@ class RReadr(RPackage):
cran = "readr"
- version('2.1.2', sha256='94afd03a1fa4abcf2985ec903bbf5995d7c590e1a50512ed80d081ef4fe10c1b')
- version('2.1.1', sha256='03937918a547e3a1587295f5e5f8c7f6865a4d04047d2b20c8d0f0701f1cbc84')
- version('2.0.2', sha256='98b05ed751dda2bcf7a29d070ce3d3e8475e0138a3e3ec68941dc45218db7615')
- version('1.4.0', sha256='02b1188aab8b2bc3f3d2bba5b946bd299610e87f3f7660c88b60b444093c46b9')
- version('1.3.1', sha256='33f94de39bb7f2a342fbb2bd4e5afcfec08798eac39672ee18042ac0b349e4f3')
- version('1.1.1', sha256='1a29b99009a06f2cee18d08bc6201fd4985b6d45c76cefca65084dcc1a2f7cb3')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-cli', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-cli@3.0.0:', type=('build', 'run'), when='@2.1.2:')
- depends_on('r-clipr', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-crayon', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-hms@0.4.1:', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-lifecycle@0.2.0:', type=('build', 'run'), when='@2:')
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-vroom@1.5.2:', type=('build', 'run'), when='@2.0.0')
- depends_on('r-vroom@1.5.4:', type=('build', 'run'), when='@2.0.1:')
- depends_on('r-vroom@1.5.6:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-cpp11', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-tzdb@0.1.1:', type=('build', 'run'), when='@2:')
-
- depends_on('r-bh', type=('build', 'run'), when='@:1')
- depends_on('r-rcpp@0.12.0.5:', type=('build', 'run'), when='@:1.3.1')
+ version("2.1.2", sha256="94afd03a1fa4abcf2985ec903bbf5995d7c590e1a50512ed80d081ef4fe10c1b")
+ version("2.1.1", sha256="03937918a547e3a1587295f5e5f8c7f6865a4d04047d2b20c8d0f0701f1cbc84")
+ version("2.0.2", sha256="98b05ed751dda2bcf7a29d070ce3d3e8475e0138a3e3ec68941dc45218db7615")
+ version("1.4.0", sha256="02b1188aab8b2bc3f3d2bba5b946bd299610e87f3f7660c88b60b444093c46b9")
+ version("1.3.1", sha256="33f94de39bb7f2a342fbb2bd4e5afcfec08798eac39672ee18042ac0b349e4f3")
+ version("1.1.1", sha256="1a29b99009a06f2cee18d08bc6201fd4985b6d45c76cefca65084dcc1a2f7cb3")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-cli", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-cli@3.0.0:", type=("build", "run"), when="@2.1.2:")
+ depends_on("r-clipr", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-crayon", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-hms@0.4.1:", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-lifecycle@0.2.0:", type=("build", "run"), when="@2:")
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-vroom@1.5.2:", type=("build", "run"), when="@2.0.0")
+ depends_on("r-vroom@1.5.4:", type=("build", "run"), when="@2.0.1:")
+ depends_on("r-vroom@1.5.6:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-cpp11", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-tzdb@0.1.1:", type=("build", "run"), when="@2:")
+
+ depends_on("r-bh", type=("build", "run"), when="@:1")
+ depends_on("r-rcpp@0.12.0.5:", type=("build", "run"), when="@:1.3.1")
diff --git a/var/spack/repos/builtin/packages/r-readxl/package.py b/var/spack/repos/builtin/packages/r-readxl/package.py
index a7994a658a..c1bd6c41a3 100644
--- a/var/spack/repos/builtin/packages/r-readxl/package.py
+++ b/var/spack/repos/builtin/packages/r-readxl/package.py
@@ -16,17 +16,17 @@ class RReadxl(RPackage):
cran = "readxl"
- version('1.4.0', sha256='ab9239c249f79b649f7665a612b3dbf4b774ab633115e6dee41091a8cb2491f7')
- version('1.3.1', sha256='24b441713e2f46a3e7c6813230ad6ea4d4ddf7e0816ad76614f33094fbaaaa96')
- version('1.3.0', sha256='8379d1026dcfc662d073eb1c69ed1d90aa6439d6cb3c6fc1b5d1db4f51b3fadc')
- version('1.1.0', sha256='b63d21fc6510acb373e96deaec45e966a523ec75cbec75a089529297ed443116')
- version('1.0.0', sha256='fbd62f07fed7946363698a57be88f4ef3fa254ecf456ef292535849c787fc7ad')
-
- depends_on('r@3.4:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-cellranger', type=('build', 'run'))
- depends_on('r-tibble@1.3.1:', type=('build', 'run'))
- depends_on('r-tibble@2.0.1:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-cpp11@0.4.0:', type=('build', 'run'), when='@1.4.0:')
- depends_on('r-progress', type=('build', 'run'), when='@1.2.0:')
-
- depends_on('r-rcpp@0.12.18:', type=('build', 'run'), when='@:1.3.1')
+ version("1.4.0", sha256="ab9239c249f79b649f7665a612b3dbf4b774ab633115e6dee41091a8cb2491f7")
+ version("1.3.1", sha256="24b441713e2f46a3e7c6813230ad6ea4d4ddf7e0816ad76614f33094fbaaaa96")
+ version("1.3.0", sha256="8379d1026dcfc662d073eb1c69ed1d90aa6439d6cb3c6fc1b5d1db4f51b3fadc")
+ version("1.1.0", sha256="b63d21fc6510acb373e96deaec45e966a523ec75cbec75a089529297ed443116")
+ version("1.0.0", sha256="fbd62f07fed7946363698a57be88f4ef3fa254ecf456ef292535849c787fc7ad")
+
+ depends_on("r@3.4:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-cellranger", type=("build", "run"))
+ depends_on("r-tibble@1.3.1:", type=("build", "run"))
+ depends_on("r-tibble@2.0.1:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-cpp11@0.4.0:", type=("build", "run"), when="@1.4.0:")
+ depends_on("r-progress", type=("build", "run"), when="@1.2.0:")
+
+ depends_on("r-rcpp@0.12.18:", type=("build", "run"), when="@:1.3.1")
diff --git a/var/spack/repos/builtin/packages/r-reams/package.py b/var/spack/repos/builtin/packages/r-reams/package.py
index 85250657b9..30f23b4d0b 100644
--- a/var/spack/repos/builtin/packages/r-reams/package.py
+++ b/var/spack/repos/builtin/packages/r-reams/package.py
@@ -15,8 +15,8 @@ class RReams(RPackage):
cran = "reams"
- version('0.1', sha256='ac24ea875b24bd18152afd87538b1f807f442cf2bd1c6ac1a365cf543c88181e')
+ 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'))
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-leaps", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-recipes/package.py b/var/spack/repos/builtin/packages/r-recipes/package.py
index 606a87c282..abf3144316 100644
--- a/var/spack/repos/builtin/packages/r-recipes/package.py
+++ b/var/spack/repos/builtin/packages/r-recipes/package.py
@@ -17,33 +17,33 @@ class RRecipes(RPackage):
cran = "recipes"
- version('0.2.0', sha256='3d0073e3eb98ac089a94bf8430f3c50915ff1f495d8e967c37baa6a0f6cea0a4')
- version('0.1.17', sha256='ed20ba0ea0165310e31864ed7d2e005a2a37b76c7913977fd124d8b567616d3d')
- version('0.1.15', sha256='808ad2f4d68ae03aa27332437f037597e9c1bebd65ed4ebfab1d243ea6022e76')
- version('0.1.6', sha256='51e0db72de171d58d13ad8ffcf1dea402ab8f82100d161722041b6fd014cbfd9')
+ version("0.2.0", sha256="3d0073e3eb98ac089a94bf8430f3c50915ff1f495d8e967c37baa6a0f6cea0a4")
+ version("0.1.17", sha256="ed20ba0ea0165310e31864ed7d2e005a2a37b76c7913977fd124d8b567616d3d")
+ version("0.1.15", sha256="808ad2f4d68ae03aa27332437f037597e9c1bebd65ed4ebfab1d243ea6022e76")
+ version("0.1.6", sha256="51e0db72de171d58d13ad8ffcf1dea402ab8f82100d161722041b6fd014cbfd9")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-ellipsis', type=('build', 'run'), when='@0.1.17:')
- depends_on('r-generics', type=('build', 'run'))
- depends_on('r-generics@0.1.0:', type=('build', 'run'), when='@0.1.15:')
- depends_on('r-generics@0.1.0.9000:', type=('build', 'run'), when='@0.2.0:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-gower', type=('build', 'run'))
- depends_on('r-hardhat@0.1.6.9001:', type=('build', 'run'), when='@0.2.0:')
- depends_on('r-ipred', type=('build', 'run'))
- depends_on('r-ipred@0.9-12:', type=('build', 'run'), when='@0.1.17:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@0.1.15:')
- depends_on('r-lubridate', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-purrr@0.2.3:', type=('build', 'run'))
- depends_on('r-rlang@0.4.0:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'), when='@0.1.15:')
- depends_on('r-tidyselect@0.2.5:', type=('build', 'run'))
- depends_on('r-tidyselect@1.1.0:', type=('build', 'run'), when='@0.1.15:')
- depends_on('r-timedate', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'), when='@0.1.17:')
- depends_on('r-withr', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-ellipsis", type=("build", "run"), when="@0.1.17:")
+ depends_on("r-generics", type=("build", "run"))
+ depends_on("r-generics@0.1.0:", type=("build", "run"), when="@0.1.15:")
+ depends_on("r-generics@0.1.0.9000:", type=("build", "run"), when="@0.2.0:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-gower", type=("build", "run"))
+ depends_on("r-hardhat@0.1.6.9001:", type=("build", "run"), when="@0.2.0:")
+ depends_on("r-ipred", type=("build", "run"))
+ depends_on("r-ipred@0.9-12:", type=("build", "run"), when="@0.1.17:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@0.1.15:")
+ depends_on("r-lubridate", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-purrr@0.2.3:", type=("build", "run"))
+ depends_on("r-rlang@0.4.0:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"), when="@0.1.15:")
+ depends_on("r-tidyselect@0.2.5:", type=("build", "run"))
+ depends_on("r-tidyselect@1.1.0:", type=("build", "run"), when="@0.1.15:")
+ depends_on("r-timedate", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"), when="@0.1.17:")
+ depends_on("r-withr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-registry/package.py b/var/spack/repos/builtin/packages/r-registry/package.py
index 97fbe69788..a8ae28da4a 100644
--- a/var/spack/repos/builtin/packages/r-registry/package.py
+++ b/var/spack/repos/builtin/packages/r-registry/package.py
@@ -13,8 +13,8 @@ class RRegistry(RPackage):
cran = "registry"
- version('0.5-1', sha256='dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc')
- version('0.5', sha256='5d8be59ba791987b2400e9e8eaaac614cd544c1aece785ec4782ea6d5ea00efb')
- version('0.3', sha256='58a5c43b8012ca5e509fa29a8daf6f24f097b8eb021a723f6a9c33db1dd3f430')
+ version("0.5-1", sha256="dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc")
+ version("0.5", sha256="5d8be59ba791987b2400e9e8eaaac614cd544c1aece785ec4782ea6d5ea00efb")
+ version("0.3", sha256="58a5c43b8012ca5e509fa29a8daf6f24f097b8eb021a723f6a9c33db1dd3f430")
- depends_on('r@2.6.0:', type=('build', 'run'))
+ depends_on("r@2.6.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rematch/package.py b/var/spack/repos/builtin/packages/r-rematch/package.py
index 430ea5e8c5..c1d98a6da0 100644
--- a/var/spack/repos/builtin/packages/r-rematch/package.py
+++ b/var/spack/repos/builtin/packages/r-rematch/package.py
@@ -14,4 +14,4 @@ class RRematch(RPackage):
cran = "rematch"
- version('1.0.1', sha256='a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578')
+ version("1.0.1", sha256="a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578")
diff --git a/var/spack/repos/builtin/packages/r-rematch2/package.py b/var/spack/repos/builtin/packages/r-rematch2/package.py
index 26411a48e1..24e238725d 100644
--- a/var/spack/repos/builtin/packages/r-rematch2/package.py
+++ b/var/spack/repos/builtin/packages/r-rematch2/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class RRematch2(RPackage):
"""Tidy Output from Regular Expression Matching.
- Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy
- data frames."""
+ Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy
+ data frames."""
cran = "rematch2"
- version('2.1.2', sha256='fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb')
- version('2.1.1', sha256='d0423a418e8b46ac3a4819af7a7d19c39ca7c8c862c1e9a1c1294aa19152518f')
- version('2.1.0', sha256='78677071bd44b40e562df1da6f0c6bdeae44caf973f97ff8286b8c994db59f01')
- version('2.0.1', sha256='0612bb904334bd022ba6d1e69925b1e85f8e86b15ec65476777828776e89609a')
+ version("2.1.2", sha256="fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb")
+ version("2.1.1", sha256="d0423a418e8b46ac3a4819af7a7d19c39ca7c8c862c1e9a1c1294aa19152518f")
+ version("2.1.0", sha256="78677071bd44b40e562df1da6f0c6bdeae44caf973f97ff8286b8c994db59f01")
+ version("2.0.1", sha256="0612bb904334bd022ba6d1e69925b1e85f8e86b15ec65476777828776e89609a")
- depends_on('r-tibble')
+ depends_on("r-tibble")
diff --git a/var/spack/repos/builtin/packages/r-remotes/package.py b/var/spack/repos/builtin/packages/r-remotes/package.py
index ebe1cf6a3e..07379ab269 100644
--- a/var/spack/repos/builtin/packages/r-remotes/package.py
+++ b/var/spack/repos/builtin/packages/r-remotes/package.py
@@ -12,15 +12,15 @@ class RRemotes(RPackage):
Download and install R packages stored in 'GitHub', 'BitBucket', or plain
'subversion' or 'git' repositories. This package provides the 'install_*'
functions in 'devtools'. Indeed most of the code was copied over from
- 'devtools'. """
+ 'devtools'."""
cran = "remotes"
- version('2.4.2', sha256='f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516')
- version('2.2.0', sha256='12f234fd8c46f4ac54e06a3c60e4015ed2193a32762ca4dd6854f120136f33b8')
- version('2.1.1', sha256='4e590746fce618094089372b185e1ea234b3337b23c44c44118e942d0fb5118b')
- version('2.1.0', sha256='8944c8f6fc9f0cd0ca04d6cf1221b716eee08facef9f4b4c4d91d0346d6d68a7')
+ version("2.4.2", sha256="f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516")
+ version("2.2.0", sha256="12f234fd8c46f4ac54e06a3c60e4015ed2193a32762ca4dd6854f120136f33b8")
+ version("2.1.1", sha256="4e590746fce618094089372b185e1ea234b3337b23c44c44118e942d0fb5118b")
+ version("2.1.0", sha256="8944c8f6fc9f0cd0ca04d6cf1221b716eee08facef9f4b4c4d91d0346d6d68a7")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('subversion', type='run')
- depends_on('git', type='run')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("subversion", type="run")
+ depends_on("git", type="run")
diff --git a/var/spack/repos/builtin/packages/r-renv/package.py b/var/spack/repos/builtin/packages/r-renv/package.py
index fec1fb8f07..0fae730238 100644
--- a/var/spack/repos/builtin/packages/r-renv/package.py
+++ b/var/spack/repos/builtin/packages/r-renv/package.py
@@ -17,7 +17,7 @@ class RRenv(RPackage):
cran = "renv"
- version('0.15.5', sha256='b4f1a9a7daa82f0c3123ebd4eeba06e98d5485215518e5292b25bc56741d582e')
- version('0.15.2', sha256='d07effd329f6d653fec9cb517bc8adf3cd6b711758e439055b6d2f06c88765db')
- version('0.15.1', sha256='36e8c8df4af50f2341053aa567798dfca6852ade10fa70f9dc146fe9f96f9b5b')
- version('0.13.2', sha256='41f208ed957e27c50cbd8b0fff77a434bad963707df85e462419e2edb6719a4a')
+ version("0.15.5", sha256="b4f1a9a7daa82f0c3123ebd4eeba06e98d5485215518e5292b25bc56741d582e")
+ version("0.15.2", sha256="d07effd329f6d653fec9cb517bc8adf3cd6b711758e439055b6d2f06c88765db")
+ version("0.15.1", sha256="36e8c8df4af50f2341053aa567798dfca6852ade10fa70f9dc146fe9f96f9b5b")
+ version("0.13.2", sha256="41f208ed957e27c50cbd8b0fff77a434bad963707df85e462419e2edb6719a4a")
diff --git a/var/spack/repos/builtin/packages/r-reordercluster/package.py b/var/spack/repos/builtin/packages/r-reordercluster/package.py
index 4091543bfc..b04c6dab2a 100644
--- a/var/spack/repos/builtin/packages/r-reordercluster/package.py
+++ b/var/spack/repos/builtin/packages/r-reordercluster/package.py
@@ -15,8 +15,8 @@ class RReordercluster(RPackage):
cran = "ReorderCluster"
- version('1.0', sha256='a87898faa20380aac3e06a52eedcb2f0eb2b35ab74fdc3435d40ee9f1d28476b')
+ version("1.0", sha256="a87898faa20380aac3e06a52eedcb2f0eb2b35ab74fdc3435d40ee9f1d28476b")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-gplots', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-gplots", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-reportingtools/package.py b/var/spack/repos/builtin/packages/r-reportingtools/package.py
index 718e67cc93..3a8462d49d 100644
--- a/var/spack/repos/builtin/packages/r-reportingtools/package.py
+++ b/var/spack/repos/builtin/packages/r-reportingtools/package.py
@@ -9,46 +9,46 @@ from spack.package import *
class RReportingtools(RPackage):
"""Tools for making reports in various formats.
- The ReportingTools software package enables users to easily display
- reports of analysis results generated from sources such as microarray
- and sequencing data. The package allows users to create HTML pages that
- may be viewed on a web browser such as Safari, or in other formats
- readable by programs such as Excel. Users can generate tables with
- sortable and filterable columns, make and display plots, and link table
- entries to other data sources such as NCBI or larger plots within the
- HTML page. Using the package, users can also produce a table of contents
- page to link various reports together for a particular project that can
- be viewed in a web browser. For more examples, please visit our site:
- http:// research-pub.gene.com/ReportingTools."""
+ The ReportingTools software package enables users to easily display
+ reports of analysis results generated from sources such as microarray
+ and sequencing data. The package allows users to create HTML pages that
+ may be viewed on a web browser such as Safari, or in other formats
+ readable by programs such as Excel. Users can generate tables with
+ sortable and filterable columns, make and display plots, and link table
+ entries to other data sources such as NCBI or larger plots within the
+ HTML page. Using the package, users can also produce a table of contents
+ page to link various reports together for a particular project that can
+ be viewed in a web browser. For more examples, please visit our site:
+ http:// research-pub.gene.com/ReportingTools."""
bioc = "ReportingTools"
- version('2.36.0', commit='34122d4bde5ce43415f63f2e39e3a088c55282cc')
- version('2.34.0', commit='fb5aef0b6e1c6166d0f025d9e6ca60e54c68dbaf')
- version('2.30.0', commit='fb9aee416f38cfd308d6d7264ccbcda0467642a7')
- version('2.24.0', commit='d114c658affba9b682a37b4e2caf4341cf8da6cf')
- version('2.22.1', commit='dce6af6c6a1cddff077fe61368f2c13e5a0e7bab')
- version('2.20.0', commit='77e14ae13fdc16654300852dfd94e6cef58009da')
- version('2.17.3', commit='b2e379cd5b813d8ccca37ec25f0660deec943622')
- version('2.16.0', commit='b1aa0ea302da7f2993ce8087b1d09c11ddf03663')
+ version("2.36.0", commit="34122d4bde5ce43415f63f2e39e3a088c55282cc")
+ version("2.34.0", commit="fb5aef0b6e1c6166d0f025d9e6ca60e54c68dbaf")
+ version("2.30.0", commit="fb9aee416f38cfd308d6d7264ccbcda0467642a7")
+ version("2.24.0", commit="d114c658affba9b682a37b4e2caf4341cf8da6cf")
+ version("2.22.1", commit="dce6af6c6a1cddff077fe61368f2c13e5a0e7bab")
+ version("2.20.0", commit="77e14ae13fdc16654300852dfd94e6cef58009da")
+ version("2.17.3", commit="b2e379cd5b813d8ccca37ec25f0660deec943622")
+ version("2.16.0", commit="b1aa0ea302da7f2993ce8087b1d09c11ddf03663")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-hwriter', type=('build', 'run'))
- depends_on('r-category', type=('build', 'run'))
- depends_on('r-gostats', type=('build', 'run'))
- depends_on('r-limma@3.17.5:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-annotate', type=('build', 'run'))
- depends_on('r-pfam-db', type=('build', 'run'))
- depends_on('r-gseabase', type=('build', 'run'))
- depends_on('r-biocgenerics@0.1.6:', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-r-utils', type=('build', 'run'))
- depends_on('r-deseq2@1.3.41:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggbio', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-hwriter", type=("build", "run"))
+ depends_on("r-category", type=("build", "run"))
+ depends_on("r-gostats", type=("build", "run"))
+ depends_on("r-limma@3.17.5:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-annotate", type=("build", "run"))
+ depends_on("r-pfam-db", type=("build", "run"))
+ depends_on("r-gseabase", type=("build", "run"))
+ depends_on("r-biocgenerics@0.1.6:", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-r-utils", type=("build", "run"))
+ depends_on("r-deseq2@1.3.41:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggbio", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-repr/package.py b/var/spack/repos/builtin/packages/r-repr/package.py
index 6450774df9..c0fb2b0925 100644
--- a/var/spack/repos/builtin/packages/r-repr/package.py
+++ b/var/spack/repos/builtin/packages/r-repr/package.py
@@ -15,14 +15,14 @@ class RRepr(RPackage):
cran = "repr"
- version('1.1.4', sha256='6f799ca83e0940618dd8c22e62ffdce5ec11ba3366c5306ae58b55b53c097040')
- version('1.1.0', sha256='743fe018f9e3e54067a970bc38b6b8c0c0498b43f88d179ac4a959c2013a5f96')
- version('1.0.1', sha256='ecde22c17fd800e1ff5c2b2962689119aa486fba40fbc6f2c50e8d4cc61bc44b')
- version('1.0.0', sha256='98b2eb1058c1cb2caa8f98708b63726f5564b45de03d38b95ff6b963a8261f49')
- version('0.9', sha256='24cac6e98f2a7e5483cf87aaffcb37611702099b63d3783e319441b4ecd0264b')
-
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'), when='@0.13:')
- depends_on('r-jsonlite', type=('build', 'run'), when='@0.19.1:')
- depends_on('r-pillar@1.4.0:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r-base64enc', type=('build', 'run'), when='@0.13:')
+ version("1.1.4", sha256="6f799ca83e0940618dd8c22e62ffdce5ec11ba3366c5306ae58b55b53c097040")
+ version("1.1.0", sha256="743fe018f9e3e54067a970bc38b6b8c0c0498b43f88d179ac4a959c2013a5f96")
+ version("1.0.1", sha256="ecde22c17fd800e1ff5c2b2962689119aa486fba40fbc6f2c50e8d4cc61bc44b")
+ version("1.0.0", sha256="98b2eb1058c1cb2caa8f98708b63726f5564b45de03d38b95ff6b963a8261f49")
+ version("0.9", sha256="24cac6e98f2a7e5483cf87aaffcb37611702099b63d3783e319441b4ecd0264b")
+
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"), when="@0.13:")
+ depends_on("r-jsonlite", type=("build", "run"), when="@0.19.1:")
+ depends_on("r-pillar@1.4.0:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r-base64enc", type=("build", "run"), when="@0.13:")
diff --git a/var/spack/repos/builtin/packages/r-reprex/package.py b/var/spack/repos/builtin/packages/r-reprex/package.py
index 38eac0a967..74281f8463 100644
--- a/var/spack/repos/builtin/packages/r-reprex/package.py
+++ b/var/spack/repos/builtin/packages/r-reprex/package.py
@@ -19,32 +19,32 @@ class RReprex(RPackage):
cran = "reprex"
- version('2.0.1', sha256='0e6d8667cacb63135476a766fba3a4f91e5ad86274ea66d2b1e6d773b5ca6426')
- version('0.3.0', sha256='203c2ae6343f6ff887e7a5a3f5d20bae465f6e8d9745c982479f5385f4effb6c')
- version('0.2.1', sha256='5d234ddfbcadc5a5194a58eb88973c51581e7e2e231f146974af8f42747b45f3')
- version('0.1.1', sha256='919ae93039b2d8fb8eace98da9376c031d734d9e75c237efb24d047f35b5ba4b')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@0.2.0:')
- depends_on('r@3.3:', type=('build', 'run'), when='@1:')
- depends_on('r-callr@2.0.0:', type=('build', 'run'))
- depends_on('r-callr@3.3.1:', type=('build', 'run'), when='@1:')
- depends_on('r-callr@3.6.0:', type=('build', 'run'), when='@2:')
- depends_on('r-cli', type=('build', 'run'), when='@1:')
- depends_on('r-cli@2.3.1:', type=('build', 'run'), when='@2:')
- depends_on('r-clipr@0.4.0:', type=('build', 'run'))
- depends_on('r-fs', type=('build', 'run'), when='@0.2.1:')
- depends_on('r-glue', type=('build', 'run'), when='@1:')
- depends_on('r-knitr', type=('build', 'run'), when='@:0.1.9')
- depends_on('r-knitr@1.23:', type=('build', 'run'), when='@1:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.2.0:')
- depends_on('r-rlang@0.4.0:', type=('build', 'run'), when='@1:')
- depends_on('r-rmarkdown', type=('build', 'run'))
- depends_on('r-rstudioapi', type=('build', 'run'), when='@2:')
- depends_on('r-withr', type=('build', 'run'), when='@0.2.0:')
- depends_on('r-withr@2.3.0:', type=('build', 'run'), when='@1:')
- depends_on('pandoc@1.12.3:')
- depends_on('pandoc@2:', when='@2:')
-
- depends_on('r-whisker', type=('build', 'run'), when='@:0')
+ version("2.0.1", sha256="0e6d8667cacb63135476a766fba3a4f91e5ad86274ea66d2b1e6d773b5ca6426")
+ version("0.3.0", sha256="203c2ae6343f6ff887e7a5a3f5d20bae465f6e8d9745c982479f5385f4effb6c")
+ version("0.2.1", sha256="5d234ddfbcadc5a5194a58eb88973c51581e7e2e231f146974af8f42747b45f3")
+ version("0.1.1", sha256="919ae93039b2d8fb8eace98da9376c031d734d9e75c237efb24d047f35b5ba4b")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@0.2.0:")
+ depends_on("r@3.3:", type=("build", "run"), when="@1:")
+ depends_on("r-callr@2.0.0:", type=("build", "run"))
+ depends_on("r-callr@3.3.1:", type=("build", "run"), when="@1:")
+ depends_on("r-callr@3.6.0:", type=("build", "run"), when="@2:")
+ depends_on("r-cli", type=("build", "run"), when="@1:")
+ depends_on("r-cli@2.3.1:", type=("build", "run"), when="@2:")
+ depends_on("r-clipr@0.4.0:", type=("build", "run"))
+ depends_on("r-fs", type=("build", "run"), when="@0.2.1:")
+ depends_on("r-glue", type=("build", "run"), when="@1:")
+ depends_on("r-knitr", type=("build", "run"), when="@:0.1.9")
+ depends_on("r-knitr@1.23:", type=("build", "run"), when="@1:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.2.0:")
+ depends_on("r-rlang@0.4.0:", type=("build", "run"), when="@1:")
+ depends_on("r-rmarkdown", type=("build", "run"))
+ depends_on("r-rstudioapi", type=("build", "run"), when="@2:")
+ depends_on("r-withr", type=("build", "run"), when="@0.2.0:")
+ depends_on("r-withr@2.3.0:", type=("build", "run"), when="@1:")
+ depends_on("pandoc@1.12.3:")
+ depends_on("pandoc@2:", when="@2:")
+
+ depends_on("r-whisker", type=("build", "run"), when="@:0")
diff --git a/var/spack/repos/builtin/packages/r-reproducible/package.py b/var/spack/repos/builtin/packages/r-reproducible/package.py
index f23a927947..a349ba4153 100644
--- a/var/spack/repos/builtin/packages/r-reproducible/package.py
+++ b/var/spack/repos/builtin/packages/r-reproducible/package.py
@@ -22,23 +22,23 @@ class RReproducible(RPackage):
cran = "reproducible"
- maintainers = ['dorton21']
-
- version('1.2.8', sha256='6f453016404f6a2a235cb4d951a29aa7394dc3bd0b9cfc338dc85fb3d5045dd5')
- version('1.2.4', sha256='0525deefa6a0713c3fe2da8bfc529f62d6352bebf2ef08866503b4853412f149')
-
- depends_on('r@3.5:', type=('build', 'run'))
- depends_on('r@3.6:', type=('build', 'run'), when='@1.2.8:')
- depends_on('r-data-table@1.10.4:', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-fpcompare', type=('build', 'run'))
- depends_on('r-gdalutilities', type=('build', 'run'), when='@1.2.8:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-require', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-sp@1.4-2:', type=('build', 'run'))
- depends_on('unrar', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("1.2.8", sha256="6f453016404f6a2a235cb4d951a29aa7394dc3bd0b9cfc338dc85fb3d5045dd5")
+ version("1.2.4", sha256="0525deefa6a0713c3fe2da8bfc529f62d6352bebf2ef08866503b4853412f149")
+
+ depends_on("r@3.5:", type=("build", "run"))
+ depends_on("r@3.6:", type=("build", "run"), when="@1.2.8:")
+ depends_on("r-data-table@1.10.4:", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-fpcompare", type=("build", "run"))
+ depends_on("r-gdalutilities", type=("build", "run"), when="@1.2.8:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-require", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-sp@1.4-2:", type=("build", "run"))
+ depends_on("unrar", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-require/package.py b/var/spack/repos/builtin/packages/r-require/package.py
index 69e7b1993b..4af752b372 100644
--- a/var/spack/repos/builtin/packages/r-require/package.py
+++ b/var/spack/repos/builtin/packages/r-require/package.py
@@ -18,12 +18,12 @@ class RRequire(RPackage):
cran = "Require"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('0.0.13', sha256='ad9cb167694abe70beadc972c2c25086f0ac8e7e5802bf9606c1868e01be2526')
- version('0.0.10', sha256='2087c3bb4d660d205962e241c1fc4a366dada5a1ed090d545c52188490567f8d')
+ version("0.0.13", sha256="ad9cb167694abe70beadc972c2c25086f0ac8e7e5802bf9606c1868e01be2526")
+ version("0.0.10", sha256="2087c3bb4d660d205962e241c1fc4a366dada5a1ed090d545c52188490567f8d")
- depends_on('r@3.5:', type=('build', 'run'))
- depends_on('r@3.6:', type=('build', 'run'), when='@0.0.13:')
- depends_on('r-data-table@1.10.4:', type=('build', 'run'))
- depends_on('r-remotes', type=('build', 'run'))
+ depends_on("r@3.5:", type=("build", "run"))
+ depends_on("r@3.6:", type=("build", "run"), when="@0.0.13:")
+ depends_on("r-data-table@1.10.4:", type=("build", "run"))
+ depends_on("r-remotes", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-reshape/package.py b/var/spack/repos/builtin/packages/r-reshape/package.py
index 051a2f41bb..96fbf173ff 100644
--- a/var/spack/repos/builtin/packages/r-reshape/package.py
+++ b/var/spack/repos/builtin/packages/r-reshape/package.py
@@ -14,9 +14,9 @@ class RReshape(RPackage):
cran = "reshape"
- version('0.8.9', sha256='791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048')
- version('0.8.8', sha256='4d5597fde8511e8fe4e4d1fd7adfc7ab37ff41ac68c76a746f7487d7b106d168')
- version('0.8.7', sha256='2fa6c87d1e89f182e51bc5a4fcda3d42d83b8fb4474ca525fa7a8db5081f3992')
+ version("0.8.9", sha256="791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048")
+ version("0.8.8", sha256="4d5597fde8511e8fe4e4d1fd7adfc7ab37ff41ac68c76a746f7487d7b106d168")
+ version("0.8.7", sha256="2fa6c87d1e89f182e51bc5a4fcda3d42d83b8fb4474ca525fa7a8db5081f3992")
- depends_on('r@2.6.1:', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
+ depends_on("r@2.6.1:", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-reshape2/package.py b/var/spack/repos/builtin/packages/r-reshape2/package.py
index 5283b3a62b..7cb0df09a3 100644
--- a/var/spack/repos/builtin/packages/r-reshape2/package.py
+++ b/var/spack/repos/builtin/packages/r-reshape2/package.py
@@ -14,12 +14,12 @@ class RReshape2(RPackage):
cran = "reshape2"
- version('1.4.4', sha256='d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8')
- version('1.4.3', sha256='8aff94c935e75032344b52407593392ddd4e16a88bb206984340c816d42c710e')
- version('1.4.2', sha256='6d3783610379be4c5676d9236cf66276a166b5b96c18f2759e9b219758959b6b')
- version('1.4.1', sha256='fbd49f75a5b0b7266378515af98db310cf6c772bf6e68bed01f38ee99b408042')
+ version("1.4.4", sha256="d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8")
+ version("1.4.3", sha256="8aff94c935e75032344b52407593392ddd4e16a88bb206984340c816d42c710e")
+ version("1.4.2", sha256="6d3783610379be4c5676d9236cf66276a166b5b96c18f2759e9b219758959b6b")
+ version("1.4.1", sha256="fbd49f75a5b0b7266378515af98db310cf6c772bf6e68bed01f38ee99b408042")
- depends_on('r@3.1:', type=('build', 'run'), when='@1.4.3:')
- depends_on('r-plyr@1.8.1:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"), when="@1.4.3:")
+ depends_on("r-plyr@1.8.1:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-restfulr/package.py b/var/spack/repos/builtin/packages/r-restfulr/package.py
index f8f099488a..82dda6836b 100644
--- a/var/spack/repos/builtin/packages/r-restfulr/package.py
+++ b/var/spack/repos/builtin/packages/r-restfulr/package.py
@@ -13,11 +13,11 @@ class RRestfulr(RPackage):
cran = "restfulr"
- version('0.0.13', sha256='7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6')
+ version("0.0.13", sha256="7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-rcurl', type=('build', 'run'))
- depends_on('r-rjson', type=('build', 'run'))
- depends_on('r-s4vectors@0.13.15:', type=('build', 'run'))
- depends_on('r-yaml', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-rcurl", type=("build", "run"))
+ depends_on("r-rjson", type=("build", "run"))
+ depends_on("r-s4vectors@0.13.15:", type=("build", "run"))
+ depends_on("r-yaml", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-reticulate/package.py b/var/spack/repos/builtin/packages/r-reticulate/package.py
index d93bff7b71..eb3c1a3479 100644
--- a/var/spack/repos/builtin/packages/r-reticulate/package.py
+++ b/var/spack/repos/builtin/packages/r-reticulate/package.py
@@ -17,20 +17,20 @@ class RReticulate(RPackage):
cran = "reticulate"
- version('1.25', sha256='2125af9e75939c3b7c0dc74f28f42606e816d63aa1143baf631c318ff5ff3a2c')
- version('1.24', sha256='b918c5204916601f757ad0fc629b2ae1eabab7cdf7f6aa2e219d26e506d916cc')
- version('1.23', sha256='fea04a3ff33c71f1910d65000a93c6882180ca03f8657ee118ea9e79786c36d6')
- version('1.18', sha256='b33f855a58f446eefbe38df8a1a4865390f5d4ebd64b2c72266baaee64628513')
- version('1.15', sha256='47db3e9c9424263ade15287da8e74f6ba261a936b644b197dba6772853b7b50d')
- version('1.13', sha256='adbe41d556b667c4419d563680f8608a56b0f792b8bc427b3bf4c584ff819de3')
+ version("1.25", sha256="2125af9e75939c3b7c0dc74f28f42606e816d63aa1143baf631c318ff5ff3a2c")
+ version("1.24", sha256="b918c5204916601f757ad0fc629b2ae1eabab7cdf7f6aa2e219d26e506d916cc")
+ version("1.23", sha256="fea04a3ff33c71f1910d65000a93c6882180ca03f8657ee118ea9e79786c36d6")
+ version("1.18", sha256="b33f855a58f446eefbe38df8a1a4865390f5d4ebd64b2c72266baaee64628513")
+ version("1.15", sha256="47db3e9c9424263ade15287da8e74f6ba261a936b644b197dba6772853b7b50d")
+ version("1.13", sha256="adbe41d556b667c4419d563680f8608a56b0f792b8bc427b3bf4c584ff819de3")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcpp@0.12.7:', type=('build', 'run', 'link'))
- depends_on('r-rcpptoml', type=('build', 'run', 'link'), when='@1.23:')
- depends_on('r-here', type=('build', 'run', 'link'), when='@1.23:')
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run', 'link'), when='@1.23:')
- depends_on('r-rappdirs', type=('build', 'run'), when='@1.15:')
- depends_on('r-withr', type=('build', 'run', 'link'), when='@1.23:')
- depends_on('python@2.7.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcpp@0.12.7:", type=("build", "run", "link"))
+ depends_on("r-rcpptoml", type=("build", "run", "link"), when="@1.23:")
+ depends_on("r-here", type=("build", "run", "link"), when="@1.23:")
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-png", type=("build", "run", "link"), when="@1.23:")
+ depends_on("r-rappdirs", type=("build", "run"), when="@1.15:")
+ depends_on("r-withr", type=("build", "run", "link"), when="@1.23:")
+ depends_on("python@2.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rex/package.py b/var/spack/repos/builtin/packages/r-rex/package.py
index 936128b280..f71dcf1891 100644
--- a/var/spack/repos/builtin/packages/r-rex/package.py
+++ b/var/spack/repos/builtin/packages/r-rex/package.py
@@ -13,10 +13,10 @@ class RRex(RPackage):
cran = "rex"
- version('1.2.1', sha256='af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6')
- version('1.2.0', sha256='06b491f1469078862e40543fd74e1d38b2e0fb61fdf01c8083add4b11ac2eb54')
- version('1.1.2', sha256='bd3c74ceaf335336f5dd04314d0a791f6311e421a2158f321f5aab275f539a2a')
+ version("1.2.1", sha256="af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6")
+ version("1.2.0", sha256="06b491f1469078862e40543fd74e1d38b2e0fb61fdf01c8083add4b11ac2eb54")
+ version("1.1.2", sha256="bd3c74ceaf335336f5dd04314d0a791f6311e421a2158f321f5aab275f539a2a")
- depends_on('r-lazyeval', type=('build', 'run'))
+ depends_on("r-lazyeval", type=("build", "run"))
- depends_on('r-magrittr', type=('build', 'run'), when='@:1.1.2')
+ depends_on("r-magrittr", type=("build", "run"), when="@:1.1.2")
diff --git a/var/spack/repos/builtin/packages/r-rfast/package.py b/var/spack/repos/builtin/packages/r-rfast/package.py
index 08f0822fd1..89ef9e2cfd 100644
--- a/var/spack/repos/builtin/packages/r-rfast/package.py
+++ b/var/spack/repos/builtin/packages/r-rfast/package.py
@@ -21,10 +21,10 @@ class RRfast(RPackage):
cran = "Rfast"
- version('2.0.6', sha256='34694b5c67ce8fcbdc90aac2ac80a74d4b66515f383e6301aea7c020009ebe7f')
- version('2.0.4', sha256='959907e36e24620c07ec282b203b40214f4914f4928c07ee6491043c27af31d9')
+ version("2.0.6", sha256="34694b5c67ce8fcbdc90aac2ac80a74d4b66515f383e6301aea7c020009ebe7f")
+ version("2.0.4", sha256="959907e36e24620c07ec282b203b40214f4914f4928c07ee6491043c27af31d9")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.3:', type=('build', 'run'))
- depends_on('r-rcppziggurat', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.3:", type=("build", "run"))
+ depends_on("r-rcppziggurat", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rferns/package.py b/var/spack/repos/builtin/packages/r-rferns/package.py
index 387f828364..68625458d1 100644
--- a/var/spack/repos/builtin/packages/r-rferns/package.py
+++ b/var/spack/repos/builtin/packages/r-rferns/package.py
@@ -16,6 +16,6 @@ class RRferns(RPackage):
cran = "rFerns"
- version('5.0.0', sha256='78da671e18dc1fb499eddcc6db7eedd69cef673ba0b46c873bd95615cbb583fb')
- version('4.0.0', sha256='cc8cea0893390bf5db0fb0f59748d5bf6f29537d68bedca900268fd551489128')
- version('3.0.0', sha256='35e7e31a6497e415a0fe578678cf9b2f537b21319e4c015a1e2dade00310227c')
+ version("5.0.0", sha256="78da671e18dc1fb499eddcc6db7eedd69cef673ba0b46c873bd95615cbb583fb")
+ version("4.0.0", sha256="cc8cea0893390bf5db0fb0f59748d5bf6f29537d68bedca900268fd551489128")
+ version("3.0.0", sha256="35e7e31a6497e415a0fe578678cf9b2f537b21319e4c015a1e2dade00310227c")
diff --git a/var/spack/repos/builtin/packages/r-rgdal/package.py b/var/spack/repos/builtin/packages/r-rgdal/package.py
index f0cd01b31d..ec09688738 100644
--- a/var/spack/repos/builtin/packages/r-rgdal/package.py
+++ b/var/spack/repos/builtin/packages/r-rgdal/package.py
@@ -23,20 +23,20 @@ class RRgdal(RPackage):
cran = "rgdal"
- version('1.5-32', sha256='4583a4e187492eb936b59bc6bfeefea687b115bc3ae25172e0ed348b38f473ed')
- version('1.5-28', sha256='7f54432cfa8c0db463f68e8856c3ca0a90671dc841ac5203af049eb318e261a2')
- version('1.5-19', sha256='6fbfd71b19e7b8d9dbddc91cb1eef8890c74a1e2bf8f619da165ff51bf1231b2')
- version('1.5-18', sha256='53467c19bc93d8ea311458eaa281c8c456168ab75e84d76ef5cc6c00f53122df')
- version('1.4-4', sha256='2532e76e0af27d145f799d70006a5dbecb2d3be698e3d0bbf580f4c41a34c5d7')
- version('1.3-9', sha256='3e44f88d09894be4c0abd8874d00b40a4a5f4542b75250d098ffbb3ba41e2654')
- version('1.2-16', sha256='017fefea4f9a6d4540d128c707197b7025b55e4aff98fc763065366b025b03c9')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.5:')
- depends_on('r-sp@1.1-0:', type=('build', 'run'))
- depends_on('gdal@1.11.4:')
- depends_on('proj@4.8.0:5', when='@:1.3-9')
- depends_on('proj@4.8.0:', when='@1.4-2:')
-
- conflicts('^proj@:5', when='^gdal@3:')
- conflicts('^proj@6:', when='^gdal@:2')
+ version("1.5-32", sha256="4583a4e187492eb936b59bc6bfeefea687b115bc3ae25172e0ed348b38f473ed")
+ version("1.5-28", sha256="7f54432cfa8c0db463f68e8856c3ca0a90671dc841ac5203af049eb318e261a2")
+ version("1.5-19", sha256="6fbfd71b19e7b8d9dbddc91cb1eef8890c74a1e2bf8f619da165ff51bf1231b2")
+ version("1.5-18", sha256="53467c19bc93d8ea311458eaa281c8c456168ab75e84d76ef5cc6c00f53122df")
+ version("1.4-4", sha256="2532e76e0af27d145f799d70006a5dbecb2d3be698e3d0bbf580f4c41a34c5d7")
+ version("1.3-9", sha256="3e44f88d09894be4c0abd8874d00b40a4a5f4542b75250d098ffbb3ba41e2654")
+ version("1.2-16", sha256="017fefea4f9a6d4540d128c707197b7025b55e4aff98fc763065366b025b03c9")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.5:")
+ depends_on("r-sp@1.1-0:", type=("build", "run"))
+ depends_on("gdal@1.11.4:")
+ depends_on("proj@4.8.0:5", when="@:1.3-9")
+ depends_on("proj@4.8.0:", when="@1.4-2:")
+
+ conflicts("^proj@:5", when="^gdal@3:")
+ conflicts("^proj@6:", when="^gdal@:2")
diff --git a/var/spack/repos/builtin/packages/r-rgenoud/package.py b/var/spack/repos/builtin/packages/r-rgenoud/package.py
index e4246403da..05b9e1fb0d 100644
--- a/var/spack/repos/builtin/packages/r-rgenoud/package.py
+++ b/var/spack/repos/builtin/packages/r-rgenoud/package.py
@@ -13,9 +13,9 @@ class RRgenoud(RPackage):
cran = "rgenoud"
- version('5.9-0.3', sha256='31560a8dad791f9c47a673e90d397b3fc60da1a58be1ae1486ace90d988eb55f')
- version('5.8-3.0', sha256='9beb11b5edab3ab3aa6001daa39668b240a8e0328be9d55db4e23ff88ce3235d')
- version('5.8-2.0', sha256='106c4f6a6df5159578e929a0141b3cfbaa88141a70703ff59a1fc48a27e2d239')
- version('5.8-1.0', sha256='9deca354be6887f56bf9f4ca9a7291296050e51149ae9a3b757501704126c38a')
+ version("5.9-0.3", sha256="31560a8dad791f9c47a673e90d397b3fc60da1a58be1ae1486ace90d988eb55f")
+ version("5.8-3.0", sha256="9beb11b5edab3ab3aa6001daa39668b240a8e0328be9d55db4e23ff88ce3235d")
+ version("5.8-2.0", sha256="106c4f6a6df5159578e929a0141b3cfbaa88141a70703ff59a1fc48a27e2d239")
+ version("5.8-1.0", sha256="9deca354be6887f56bf9f4ca9a7291296050e51149ae9a3b757501704126c38a")
- depends_on('r@2.15:', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rgeos/package.py b/var/spack/repos/builtin/packages/r-rgeos/package.py
index f393b52006..003892914d 100644
--- a/var/spack/repos/builtin/packages/r-rgeos/package.py
+++ b/var/spack/repos/builtin/packages/r-rgeos/package.py
@@ -30,12 +30,12 @@ class RRgeos(RPackage):
cran = "rgeos"
- version('0.5-9', sha256='ab90cbfe6a3680a9d2eed5e655064a075adc66788e304468969ab7cc2df0e3d4')
- version('0.5-5', sha256='4baa0dfe6ff76e87ddb67a030fc14fe963d28b518485a4d71058923b2606d420')
- version('0.5-1', sha256='8408973e7fe5648e39aa53f3d4bfe800638021a146a4e06f86496c0132e05488')
- version('0.3-26', sha256='98524a0b8113abe6c3d0ecc1f2f66e7ab6d40c783a76158cfc017e1ab1e3f433')
+ version("0.5-9", sha256="ab90cbfe6a3680a9d2eed5e655064a075adc66788e304468969ab7cc2df0e3d4")
+ version("0.5-5", sha256="4baa0dfe6ff76e87ddb67a030fc14fe963d28b518485a4d71058923b2606d420")
+ version("0.5-1", sha256="8408973e7fe5648e39aa53f3d4bfe800638021a146a4e06f86496c0132e05488")
+ version("0.3-26", sha256="98524a0b8113abe6c3d0ecc1f2f66e7ab6d40c783a76158cfc017e1ab1e3f433")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-sp@1.1-0:', type=('build', 'run'))
- depends_on('geos@3.2.0:3.8.0', when='@:0.5-1')
- depends_on('geos@3.2.0:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-sp@1.1-0:", type=("build", "run"))
+ depends_on("geos@3.2.0:3.8.0", when="@:0.5-1")
+ depends_on("geos@3.2.0:")
diff --git a/var/spack/repos/builtin/packages/r-rgexf/package.py b/var/spack/repos/builtin/packages/r-rgexf/package.py
index 0bcb98db28..85f8a6f6f0 100644
--- a/var/spack/repos/builtin/packages/r-rgexf/package.py
+++ b/var/spack/repos/builtin/packages/r-rgexf/package.py
@@ -19,12 +19,12 @@ class RRgexf(RPackage):
cran = "rgexf"
- version('0.16.2', sha256='6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201')
- version('0.16.0', sha256='2a671df9ac70cfefd4092754317cb28e32a33df345b80e1975bf838e838245ee')
- version('0.15.3', sha256='2e8a7978d1fb977318e6310ba65b70a9c8890185c819a7951ac23425c6dc8147')
+ version("0.16.2", sha256="6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201")
+ version("0.16.0", sha256="2a671df9ac70cfefd4092754317cb28e32a33df345b80e1975bf838e838245ee")
+ version("0.15.3", sha256="2e8a7978d1fb977318e6310ba65b70a9c8890185c819a7951ac23425c6dc8147")
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-servr', type=('build', 'run'), when='@0.16.0:')
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-servr", type=("build", "run"), when="@0.16.0:")
- depends_on('r-rook', type=('build', 'run'), when='@:0.15.3')
+ depends_on("r-rook", type=("build", "run"), when="@:0.15.3")
diff --git a/var/spack/repos/builtin/packages/r-rgl/package.py b/var/spack/repos/builtin/packages/r-rgl/package.py
index 61eb55f5e2..a0a0d3cf40 100644
--- a/var/spack/repos/builtin/packages/r-rgl/package.py
+++ b/var/spack/repos/builtin/packages/r-rgl/package.py
@@ -18,41 +18,43 @@ class RRgl(RPackage):
cran = "rgl"
- version('0.108.3.2', sha256='033af3aceade6c21d0a602958fff1c25c21febc7d0e867cf88860cfa25fc3c65')
- version('0.108.3', sha256='89f96eb462cacfcc796ad351d7dac0480a7eb9f80e9bd75e58c5a79f0ee8133b')
- version('0.104.16', sha256='b82d2e2b965e76d6cc55bbd15ee0f79c36913ab09ce5436d2104551563462a99')
- version('0.100.26', sha256='e1889c2723ad458b39fdf9366fdaf590d7657d3762748f8534a8491ef754e740')
- version('0.100.24', sha256='1233a7bdc5a2b908fc64d5f56e92a0e123e8f7c0b9bac93dfd005608b78fa35a')
- version('0.100.19', sha256='50630702554e422e0603f27d499aad3b6f822de5a73da7fdf70404ac50df7025')
- version('0.99.16', sha256='692a545ed2ff0f5e15289338736f0e3c092667574c43ac358d8004901d7a1a61')
- version('0.98.1', sha256='5f49bed9e092e672f73c8a1a5365cdffcda06db0315ac087e95ab9c9c71a6986')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.108.3:')
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
- depends_on('r-knitr@1.33:', type=('build', 'run'), when='@0.108.3:')
- depends_on('r-jsonlite@0.9.20:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'), when='@0.108.3:')
- depends_on('libx11')
- depends_on('gl')
- depends_on('glu')
- depends_on('zlib', type='link')
- depends_on('libpng@1.2.9:', type='link')
- depends_on('freetype', type='link')
- depends_on('pandoc@1.14:', type='build')
-
- depends_on('r-shiny', type=('build', 'run'), when='@:0.104.16')
- depends_on('r-crosstalk', type=('build', 'run'), when='@0.99.16:0.104.16')
- depends_on('r-manipulatewidget@0.9.0:', type=('build', 'run'), when='@0.99.16:0.104.16')
+ version("0.108.3.2", sha256="033af3aceade6c21d0a602958fff1c25c21febc7d0e867cf88860cfa25fc3c65")
+ version("0.108.3", sha256="89f96eb462cacfcc796ad351d7dac0480a7eb9f80e9bd75e58c5a79f0ee8133b")
+ version("0.104.16", sha256="b82d2e2b965e76d6cc55bbd15ee0f79c36913ab09ce5436d2104551563462a99")
+ version("0.100.26", sha256="e1889c2723ad458b39fdf9366fdaf590d7657d3762748f8534a8491ef754e740")
+ version("0.100.24", sha256="1233a7bdc5a2b908fc64d5f56e92a0e123e8f7c0b9bac93dfd005608b78fa35a")
+ version("0.100.19", sha256="50630702554e422e0603f27d499aad3b6f822de5a73da7fdf70404ac50df7025")
+ version("0.99.16", sha256="692a545ed2ff0f5e15289338736f0e3c092667574c43ac358d8004901d7a1a61")
+ version("0.98.1", sha256="5f49bed9e092e672f73c8a1a5365cdffcda06db0315ac087e95ab9c9c71a6986")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.108.3:")
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
+ depends_on("r-knitr@1.33:", type=("build", "run"), when="@0.108.3:")
+ depends_on("r-jsonlite@0.9.20:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"), when="@0.108.3:")
+ depends_on("libx11")
+ depends_on("gl")
+ depends_on("glu")
+ depends_on("zlib", type="link")
+ depends_on("libpng@1.2.9:", type="link")
+ depends_on("freetype", type="link")
+ depends_on("pandoc@1.14:", type="build")
+
+ depends_on("r-shiny", type=("build", "run"), when="@:0.104.16")
+ depends_on("r-crosstalk", type=("build", "run"), when="@0.99.16:0.104.16")
+ depends_on("r-manipulatewidget@0.9.0:", type=("build", "run"), when="@0.99.16:0.104.16")
def configure_args(self):
- args = ['--x-includes=%s' % self.spec['libx11'].prefix.include,
- '--x-libraries=%s' % self.spec['libx11'].prefix.lib,
- '--with-gl-includes=%s' % self.spec['gl'].headers.directories[0],
- '--with-gl-libraries=%s' % self.spec['gl'].libs.directories[0],
- '--with-gl-prefix=%s' % self.spec['gl'].home]
+ args = [
+ "--x-includes=%s" % self.spec["libx11"].prefix.include,
+ "--x-libraries=%s" % self.spec["libx11"].prefix.lib,
+ "--with-gl-includes=%s" % self.spec["gl"].headers.directories[0],
+ "--with-gl-libraries=%s" % self.spec["gl"].libs.directories[0],
+ "--with-gl-prefix=%s" % self.spec["gl"].home,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/r-rgooglemaps/package.py b/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
index 159fc82d28..4b65d16aa7 100644
--- a/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
+++ b/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
@@ -16,13 +16,13 @@ class RRgooglemaps(RPackage):
cran = "RgoogleMaps"
- version('1.4.5.3', sha256='d1d5ad8db841754af175d4104a05c5c31e5cc445be314a3ac70483c31798680b')
- version('1.4.3', sha256='44cb62bcd23e5b4807e91c5825352eb8d38aaaeb3b38a8271ca9f21c1e1d4b19')
- version('1.4.2', sha256='b479996fcb72f067644a7ea7f00325e44e76efd202e84aaab022753c4a6d5584')
- version('1.2.0.7', sha256='9c268a5a554ad6da69fb560d88dea9c86ec9e9a56b691f1b63faedfe20826712')
+ version("1.4.5.3", sha256="d1d5ad8db841754af175d4104a05c5c31e5cc445be314a3ac70483c31798680b")
+ version("1.4.3", sha256="44cb62bcd23e5b4807e91c5825352eb8d38aaaeb3b38a8271ca9f21c1e1d4b19")
+ version("1.4.2", sha256="b479996fcb72f067644a7ea7f00325e44e76efd202e84aaab022753c4a6d5584")
+ version("1.2.0.7", sha256="9c268a5a554ad6da69fb560d88dea9c86ec9e9a56b691f1b63faedfe20826712")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-png', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'), when='@1.4.5.3:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-png", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"), when="@1.4.5.3:")
- depends_on('r-rjsonio', type=('build', 'run'), when='@1.2.0.5:1.2.0.7')
+ depends_on("r-rjsonio", type=("build", "run"), when="@1.2.0.5:1.2.0.7")
diff --git a/var/spack/repos/builtin/packages/r-rgraphviz/package.py b/var/spack/repos/builtin/packages/r-rgraphviz/package.py
index c4a62b6b3b..d842308c57 100644
--- a/var/spack/repos/builtin/packages/r-rgraphviz/package.py
+++ b/var/spack/repos/builtin/packages/r-rgraphviz/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class RRgraphviz(RPackage):
"""Provides plotting capabilities for R graph objects.
- Interfaces R with the AT and T graphviz library for plotting R graph
- objects from the graph package."""
+ Interfaces R with the AT and T graphviz library for plotting R graph
+ objects from the graph package."""
bioc = "Rgraphviz"
- version('2.40.0', commit='d864c9741c9177bc627cca1198673be2b1bfbc3e')
- version('2.38.0', commit='004de09a5b171211aff6cbaa1969ab8e3a5d6c61')
- version('2.34.0', commit='9746623211be794226258631992dfcccccfd7487')
- version('2.28.0', commit='c1f57c11f037c977f1d17f227f12a09a999e8c0b')
- version('2.26.0', commit='e9b08c77121a45c65129d94a12b5c0b31c65617f')
- version('2.24.0', commit='7d1fb00afed0d44e32b4a46f10137ab34f100577')
- version('2.22.0', commit='5b8ebbf9b38574c08959dd4632e802b3fbccc121')
- version('2.20.0', commit='eface6298150667bb22eac672f1a45e52fbf8c90')
+ version("2.40.0", commit="d864c9741c9177bc627cca1198673be2b1bfbc3e")
+ version("2.38.0", commit="004de09a5b171211aff6cbaa1969ab8e3a5d6c61")
+ version("2.34.0", commit="9746623211be794226258631992dfcccccfd7487")
+ version("2.28.0", commit="c1f57c11f037c977f1d17f227f12a09a999e8c0b")
+ version("2.26.0", commit="e9b08c77121a45c65129d94a12b5c0b31c65617f")
+ version("2.24.0", commit="7d1fb00afed0d44e32b4a46f10137ab34f100577")
+ version("2.22.0", commit="5b8ebbf9b38574c08959dd4632e802b3fbccc121")
+ version("2.20.0", commit="eface6298150667bb22eac672f1a45e52fbf8c90")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@2.6.0:', type=('build', 'run'))
- depends_on('r-graph', type=('build', 'run'))
- depends_on('graphviz@2.16:', type='run')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@2.6.0:", type=("build", "run"))
+ depends_on("r-graph", type=("build", "run"))
+ depends_on("graphviz@2.16:", type="run")
diff --git a/var/spack/repos/builtin/packages/r-rhdf5/package.py b/var/spack/repos/builtin/packages/r-rhdf5/package.py
index a38a917537..734258a57a 100644
--- a/var/spack/repos/builtin/packages/r-rhdf5/package.py
+++ b/var/spack/repos/builtin/packages/r-rhdf5/package.py
@@ -9,32 +9,32 @@ from spack.package import *
class RRhdf5(RPackage):
"""R Interface to HDF5.
- This package provides an interface between HDF5 and R. HDF5's main
- features are the ability to store and access very large and/or complex
- datasets and a wide variety of metadata on mass storage (disk) through a
- completely portable file format. The rhdf5 package is thus suited for
- the exchange of large and/or complex datasets between R and other
- software package, and for letting R applications work on datasets that
- are larger than the available RAM."""
+ This package provides an interface between HDF5 and R. HDF5's main
+ features are the ability to store and access very large and/or complex
+ datasets and a wide variety of metadata on mass storage (disk) through a
+ completely portable file format. The rhdf5 package is thus suited for
+ the exchange of large and/or complex datasets between R and other
+ software package, and for letting R applications work on datasets that
+ are larger than the available RAM."""
bioc = "rhdf5"
- version('2.40.0', commit='fb6c15a3199f3ffd746fb9a381d574d17fef45a2')
- version('2.38.0', commit='f6fdfa807f5cd5a4d11d4aa6ebfaa81c118b4c3f')
- version('2.34.0', commit='ec861b81fc6962e844bf56b7549ba565a7e4c69c')
- version('2.28.1', commit='e230fa34d6f3e97dd4e6065115675baf5e8213bb')
- version('2.26.2', commit='81e11258db493661a19cf83e142b690ecac4e6cf')
- version('2.24.0', commit='e926e8ce4e77082781afb943324a1e6745385b48')
- version('2.22.0', commit='4431bdc0a2bcbb8086ee08a0f2300129b808d1be')
- version('2.20.0', commit='37b5165325062728bbec9167f89f5f4b794f30bc')
-
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.26.2:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@2.38.0:')
- depends_on('r-rhdf5lib', type=('build', 'run'), when='@2.24.0:')
- depends_on('r-rhdf5lib@1.3.2:', type=('build', 'run'), when='@2.26.2:')
- depends_on('r-rhdf5lib@1.11.0:', type=('build', 'run'), when='@2.34.0:')
- depends_on('r-rhdf5lib@1.13.4:', type=('build', 'run'), when='@2.38.0:')
- depends_on('r-rhdf5filters', type=('build', 'run'), when='@2.34.0:')
- depends_on('gmake', type='build')
-
- depends_on('r-zlibbioc', type=('build', 'run'), when='@:2.28.1')
+ version("2.40.0", commit="fb6c15a3199f3ffd746fb9a381d574d17fef45a2")
+ version("2.38.0", commit="f6fdfa807f5cd5a4d11d4aa6ebfaa81c118b4c3f")
+ version("2.34.0", commit="ec861b81fc6962e844bf56b7549ba565a7e4c69c")
+ version("2.28.1", commit="e230fa34d6f3e97dd4e6065115675baf5e8213bb")
+ version("2.26.2", commit="81e11258db493661a19cf83e142b690ecac4e6cf")
+ version("2.24.0", commit="e926e8ce4e77082781afb943324a1e6745385b48")
+ version("2.22.0", commit="4431bdc0a2bcbb8086ee08a0f2300129b808d1be")
+ version("2.20.0", commit="37b5165325062728bbec9167f89f5f4b794f30bc")
+
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.26.2:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@2.38.0:")
+ depends_on("r-rhdf5lib", type=("build", "run"), when="@2.24.0:")
+ depends_on("r-rhdf5lib@1.3.2:", type=("build", "run"), when="@2.26.2:")
+ depends_on("r-rhdf5lib@1.11.0:", type=("build", "run"), when="@2.34.0:")
+ depends_on("r-rhdf5lib@1.13.4:", type=("build", "run"), when="@2.38.0:")
+ depends_on("r-rhdf5filters", type=("build", "run"), when="@2.34.0:")
+ depends_on("gmake", type="build")
+
+ depends_on("r-zlibbioc", type=("build", "run"), when="@:2.28.1")
diff --git a/var/spack/repos/builtin/packages/r-rhdf5filters/package.py b/var/spack/repos/builtin/packages/r-rhdf5filters/package.py
index 8d27d93a00..9f9a785bdc 100644
--- a/var/spack/repos/builtin/packages/r-rhdf5filters/package.py
+++ b/var/spack/repos/builtin/packages/r-rhdf5filters/package.py
@@ -13,16 +13,16 @@ class RRhdf5filters(RPackage):
bioc = "rhdf5filters"
- version('1.8.0', commit='b0b588b71a5595b30f4e698a50b84310dc19745d')
- version('1.6.0', commit='5f7f3a5b7dabd6e7d0c50cda70290e2472ff4f53')
- version('1.2.0', commit='25af0180f926b4b3ea11b30ec9277d26ad3d56b3')
+ version("1.8.0", commit="b0b588b71a5595b30f4e698a50b84310dc19745d")
+ version("1.6.0", commit="5f7f3a5b7dabd6e7d0c50cda70290e2472ff4f53")
+ version("1.2.0", commit="25af0180f926b4b3ea11b30ec9277d26ad3d56b3")
- depends_on('r-rhdf5lib', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r-rhdf5lib", type=("build", "run"))
+ depends_on("gmake", type="build")
def configure_args(self):
args = []
- if self.spec.target.family == 'aarch64':
+ if self.spec.target.family == "aarch64":
args.append("ax_cv_gcc_check_x86_cpu_init=yes")
args.append("ax_cv_gcc_x86_cpu_supports_sse2=no")
return args
diff --git a/var/spack/repos/builtin/packages/r-rhdf5lib/package.py b/var/spack/repos/builtin/packages/r-rhdf5lib/package.py
index 0333226745..9ac3e4c706 100644
--- a/var/spack/repos/builtin/packages/r-rhdf5lib/package.py
+++ b/var/spack/repos/builtin/packages/r-rhdf5lib/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RRhdf5lib(RPackage):
"""hdf5 library as an R package.
- Provides C and C++ hdf5 libraries."""
+ Provides C and C++ hdf5 libraries."""
bioc = "Rhdf5lib"
- version('1.18.2', commit='d104bbfdb91ac5ec7db3c453f23e4d1d6feb671f')
- version('1.16.0', commit='534c49705dbdb27ae0c564acff2c72df2b27b3f1')
- version('1.12.1', commit='cf464f40fd95274d0d351cf28b586c49307c4f0b')
- version('1.6.3', commit='11ac3069f28b0068002db9c645817401f6c5b3c4')
- version('1.4.3', commit='f6be8c2659b2daa17541506058917b7981490d65')
- version('1.2.1', commit='dbf85dbedb736d5a696794d52875729c8514494e')
- version('1.0.0', commit='79608038c2016a518ba747fe6a2bf02ce53a75f9')
+ version("1.18.2", commit="d104bbfdb91ac5ec7db3c453f23e4d1d6feb671f")
+ version("1.16.0", commit="534c49705dbdb27ae0c564acff2c72df2b27b3f1")
+ version("1.12.1", commit="cf464f40fd95274d0d351cf28b586c49307c4f0b")
+ version("1.6.3", commit="11ac3069f28b0068002db9c645817401f6c5b3c4")
+ version("1.4.3", commit="f6be8c2659b2daa17541506058917b7981490d65")
+ version("1.2.1", commit="dbf85dbedb736d5a696794d52875729c8514494e")
+ version("1.0.0", commit="79608038c2016a518ba747fe6a2bf02ce53a75f9")
- depends_on('r@3.3.0:', type='build', when='@1.12.1:')
- depends_on('r@4.0.0:', type='build', when='@1.16.0:')
- depends_on('gmake', type='build')
+ depends_on("r@3.3.0:", type="build", when="@1.12.1:")
+ depends_on("r@4.0.0:", type="build", when="@1.16.0:")
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-rhmmer/package.py b/var/spack/repos/builtin/packages/r-rhmmer/package.py
index bc10326151..eca03d578a 100644
--- a/var/spack/repos/builtin/packages/r-rhmmer/package.py
+++ b/var/spack/repos/builtin/packages/r-rhmmer/package.py
@@ -15,11 +15,11 @@ class RRhmmer(RPackage):
cran = "rhmmer"
- version('0.1.0', sha256='5022cefc9ba335160c1ad8d1b614610ae0ad48287c9fdbaf8f8966149358e520')
+ version("0.1.0", sha256="5022cefc9ba335160c1ad8d1b614610ae0ad48287c9fdbaf8f8966149358e520")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rhtslib/package.py b/var/spack/repos/builtin/packages/r-rhtslib/package.py
index dbda5783df..c5d882abfc 100644
--- a/var/spack/repos/builtin/packages/r-rhtslib/package.py
+++ b/var/spack/repos/builtin/packages/r-rhtslib/package.py
@@ -9,42 +9,42 @@ from spack.package import *
class RRhtslib(RPackage):
"""HTSlib high-throughput sequencing library as an R package.
- This package provides version 1.7 of the 'HTSlib' C library for high-
- throughput sequence analysis. The package is primarily useful to
- developers of other R packages who wish to make use of HTSlib.
- Motivation and instructions for use of this package are in the vignette,
- vignette(package="Rhtslib", "Rhtslib")."""
+ This package provides version 1.7 of the 'HTSlib' C library for high-
+ throughput sequence analysis. The package is primarily useful to
+ developers of other R packages who wish to make use of HTSlib.
+ Motivation and instructions for use of this package are in the vignette,
+ vignette(package="Rhtslib", "Rhtslib")."""
bioc = "Rhtslib"
- version('1.99.5', commit='a5335e1fea92ea06c33d42c7e290b6d8b4245ad3')
- version('1.26.0', commit='f5b20e97b283942877529f750b28398782552655')
- version('1.22.0', commit='899b79faa54d42c7c9b9a2bc49972109637d367f')
- version('1.18.1', commit='751a2ebaed43b7991204b27bd6c7870645001d82')
- version('1.16.3', commit='3ed0b5db2ee3cf0df1c6096fde8855c8485eebd4')
- version('1.14.1', commit='4be260720f845a34d0ac838278fce1363f645230')
- version('1.12.1', commit='e3487b1355995d09b28fde5d0a7504a3e79a7203')
- version('1.10.0', commit='53dcf7dfe35d735283956c77c011a97ca3f4eb26')
- version('1.8.0', commit='3b5493473bed42958614091c58c739932ffcfa79')
-
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('bzip2', type=('build', 'link', 'run'))
- depends_on('xz', type=('build', 'link', 'run'))
- depends_on('curl', type=('build', 'link', 'run'))
- depends_on('gmake', type='build')
+ version("1.99.5", commit="a5335e1fea92ea06c33d42c7e290b6d8b4245ad3")
+ version("1.26.0", commit="f5b20e97b283942877529f750b28398782552655")
+ version("1.22.0", commit="899b79faa54d42c7c9b9a2bc49972109637d367f")
+ version("1.18.1", commit="751a2ebaed43b7991204b27bd6c7870645001d82")
+ version("1.16.3", commit="3ed0b5db2ee3cf0df1c6096fde8855c8485eebd4")
+ version("1.14.1", commit="4be260720f845a34d0ac838278fce1363f645230")
+ version("1.12.1", commit="e3487b1355995d09b28fde5d0a7504a3e79a7203")
+ version("1.10.0", commit="53dcf7dfe35d735283956c77c011a97ca3f4eb26")
+ version("1.8.0", commit="3b5493473bed42958614091c58c739932ffcfa79")
+
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("bzip2", type=("build", "link", "run"))
+ depends_on("xz", type=("build", "link", "run"))
+ depends_on("curl", type=("build", "link", "run"))
+ depends_on("gmake", type="build")
# Some versions of this package will leave the temporary installation
# directory in the htslib shared object. R will fix this if patchelf is
# available
- depends_on('patchelf', type='build', when='@1.12:1.14')
+ depends_on("patchelf", type="build", when="@1.12:1.14")
- patch('use_spack_Makeconf.patch', when='@1.12:')
- patch('find_deps-1.12.patch', when='@1.12:1.14')
- patch('find_deps-1.16.patch', when='@1.16:')
+ patch("use_spack_Makeconf.patch", when="@1.12:")
+ patch("find_deps-1.12.patch", when="@1.12:1.14")
+ patch("find_deps-1.16.patch", when="@1.16:")
- @when('@1.12:')
+ @when("@1.12:")
def setup_build_environment(self, env):
- env.set('BZIP2_INCLUDE', self.spec['bzip2'].headers.include_flags)
- env.set('XZ_INCLUDE', self.spec['xz'].headers.include_flags)
- env.set('BZIP2_LIB', self.spec['bzip2'].libs.search_flags)
- env.set('XZ_LIB', self.spec['xz'].libs.search_flags)
+ env.set("BZIP2_INCLUDE", self.spec["bzip2"].headers.include_flags)
+ env.set("XZ_INCLUDE", self.spec["xz"].headers.include_flags)
+ env.set("BZIP2_LIB", self.spec["bzip2"].libs.search_flags)
+ env.set("XZ_LIB", self.spec["xz"].libs.search_flags)
diff --git a/var/spack/repos/builtin/packages/r-rinside/package.py b/var/spack/repos/builtin/packages/r-rinside/package.py
index 0dcea7f676..d8a6b2878c 100644
--- a/var/spack/repos/builtin/packages/r-rinside/package.py
+++ b/var/spack/repos/builtin/packages/r-rinside/package.py
@@ -26,11 +26,11 @@ class RRinside(RPackage):
cran = "RInside"
- version('0.2.17', sha256='0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348')
- version('0.2.16', sha256='7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e')
- version('0.2.15', sha256='1e1d87a3584961f3aa4ca6acd4d2f3cda26abdab027ff5be2fd5cd76a98af02b')
- version('0.2.14', sha256='8de5340993fe879ca00fa559c5b1b27b408ba78bfc5f67d36d6f0b8d8e8649cf')
- version('0.2.13', sha256='be1da861f4f8c1292f0691bce05978e409a081f24ad6006ae173a6a89aa4d031')
+ version("0.2.17", sha256="0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348")
+ version("0.2.16", sha256="7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e")
+ version("0.2.15", sha256="1e1d87a3584961f3aa4ca6acd4d2f3cda26abdab027ff5be2fd5cd76a98af02b")
+ version("0.2.14", sha256="8de5340993fe879ca00fa559c5b1b27b408ba78bfc5f67d36d6f0b8d8e8649cf")
+ version("0.2.13", sha256="be1da861f4f8c1292f0691bce05978e409a081f24ad6006ae173a6a89aa4d031")
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'), when='@:0.2.16')
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"), when="@:0.2.16")
diff --git a/var/spack/repos/builtin/packages/r-rio/package.py b/var/spack/repos/builtin/packages/r-rio/package.py
index 87e50f2209..50202fc861 100644
--- a/var/spack/repos/builtin/packages/r-rio/package.py
+++ b/var/spack/repos/builtin/packages/r-rio/package.py
@@ -20,15 +20,15 @@ class RRio(RPackage):
cran = "rio"
- version('0.5.29', sha256='9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412')
- version('0.5.16', sha256='d3eb8d5a11e0a3d26169bb9d08f834a51a6516a349854250629072d59c29d465')
+ version("0.5.29", sha256="9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412")
+ version("0.5.16", sha256="d3eb8d5a11e0a3d26169bb9d08f834a51a6516a349854250629072d59c29d465")
- depends_on('r@2.15.0:', type=('build', 'run'))
- depends_on('r-foreign', type=('build', 'run'))
- depends_on('r-haven@1.1.2:', type=('build', 'run'), when='@0.5.26:')
- depends_on('r-haven@1.1.0:', type=('build', 'run'))
- depends_on('r-curl@0.6:', type=('build', 'run'))
- depends_on('r-data-table@1.9.8:', type=('build', 'run'))
- depends_on('r-readxl@0.1.1:', type=('build', 'run'))
- depends_on('r-openxlsx', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
+ depends_on("r@2.15.0:", type=("build", "run"))
+ depends_on("r-foreign", type=("build", "run"))
+ depends_on("r-haven@1.1.2:", type=("build", "run"), when="@0.5.26:")
+ depends_on("r-haven@1.1.0:", type=("build", "run"))
+ depends_on("r-curl@0.6:", type=("build", "run"))
+ depends_on("r-data-table@1.9.8:", type=("build", "run"))
+ depends_on("r-readxl@0.1.1:", type=("build", "run"))
+ depends_on("r-openxlsx", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rjags/package.py b/var/spack/repos/builtin/packages/r-rjags/package.py
index a91239f700..f0c3817cee 100644
--- a/var/spack/repos/builtin/packages/r-rjags/package.py
+++ b/var/spack/repos/builtin/packages/r-rjags/package.py
@@ -14,19 +14,20 @@ class RRjags(RPackage):
cran = "rjags"
- version('4-13', sha256='f85cc34c5127b828d8a3fa3613ef29f147c868bdaf55eb0f7406c10abbf92b32')
- version('4-12', sha256='b91f34c3f9ebf78fa44bd661346fbb6f28a01693a7203ac133c98392dd273e10')
- version('4-10', sha256='bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada')
- version('4-8', sha256='1529827ab11493fb5f05552e239d700ae2f818995d86d3c9e4c92523f594b59f')
- version('4-6', sha256='cf24bb1e7c8445bafb49097089ad33e5bd5d8efbccf16fc7e32ad230f05f89ad')
+ version("4-13", sha256="f85cc34c5127b828d8a3fa3613ef29f147c868bdaf55eb0f7406c10abbf92b32")
+ version("4-12", sha256="b91f34c3f9ebf78fa44bd661346fbb6f28a01693a7203ac133c98392dd273e10")
+ version("4-10", sha256="bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada")
+ version("4-8", sha256="1529827ab11493fb5f05552e239d700ae2f818995d86d3c9e4c92523f594b59f")
+ version("4-6", sha256="cf24bb1e7c8445bafb49097089ad33e5bd5d8efbccf16fc7e32ad230f05f89ad")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-coda@0.13:', type=('build', 'run'))
- depends_on('jags@4.0.0:4.999.999', type=('link'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-coda@0.13:", type=("build", "run"))
+ depends_on("jags@4.0.0:4.999.999", type=("link"))
def configure_args(self):
- args = ['--with-jags-lib=%s' % self.spec['jags'].prefix.lib,
- '--with-jags-include=%s' % self.spec['jags'].prefix.include,
- '--with-jags-modules=%s/JAGS/modules-4'
- % self.spec['jags'].prefix.lib]
+ args = [
+ "--with-jags-lib=%s" % self.spec["jags"].prefix.lib,
+ "--with-jags-include=%s" % self.spec["jags"].prefix.include,
+ "--with-jags-modules=%s/JAGS/modules-4" % self.spec["jags"].prefix.lib,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/r-rjava/package.py b/var/spack/repos/builtin/packages/r-rjava/package.py
index 33bf697038..354de8769e 100644
--- a/var/spack/repos/builtin/packages/r-rjava/package.py
+++ b/var/spack/repos/builtin/packages/r-rjava/package.py
@@ -14,24 +14,23 @@ class RRjava(RPackage):
cran = "rJava"
- version('1.0-6', sha256='e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6')
- version('0.9-13', sha256='5b1688f5044476b34f71d868b222ac5fce3a088f0c2b9e4591c1e48f3d8c75f4')
- version('0.9-11', sha256='c28ae131456a98f4d3498aa8f6eac9d4df48727008dacff1aa561fc883972c69')
- version('0.9-8', sha256='dada5e031414da54eb80b9024d51866c20b92d41d68da65789fe0130bc54bd8a')
+ version("1.0-6", sha256="e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6")
+ version("0.9-13", sha256="5b1688f5044476b34f71d868b222ac5fce3a088f0c2b9e4591c1e48f3d8c75f4")
+ version("0.9-11", sha256="c28ae131456a98f4d3498aa8f6eac9d4df48727008dacff1aa561fc883972c69")
+ version("0.9-8", sha256="dada5e031414da54eb80b9024d51866c20b92d41d68da65789fe0130bc54bd8a")
- depends_on('r@2.5:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.0-6:')
- depends_on('java@2:')
- depends_on('gmake', type='build')
+ depends_on("r@2.5:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.0-6:")
+ depends_on("java@2:")
+ depends_on("gmake", type="build")
# these are not listed as dependencies but are needed
- depends_on('bzip2')
- depends_on('icu4c')
- depends_on('libiconv')
- depends_on('pcre2')
- depends_on('xz')
+ depends_on("bzip2")
+ depends_on("icu4c")
+ depends_on("libiconv")
+ depends_on("pcre2")
+ depends_on("xz")
def setup_build_environment(self, env):
spec = self.spec
- env.append_flags('JAVAH', '{0}/javah'.format(
- join_path(spec['java'].prefix.bin)))
+ env.append_flags("JAVAH", "{0}/javah".format(join_path(spec["java"].prefix.bin)))
diff --git a/var/spack/repos/builtin/packages/r-rjson/package.py b/var/spack/repos/builtin/packages/r-rjson/package.py
index 0c73608700..c4e82bdbc4 100644
--- a/var/spack/repos/builtin/packages/r-rjson/package.py
+++ b/var/spack/repos/builtin/packages/r-rjson/package.py
@@ -13,10 +13,10 @@ class RRjson(RPackage):
cran = "rjson"
- version('0.2.21', sha256='982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2')
- version('0.2.20', sha256='3a287c1e5ee7c333ed8385913c0a307daf99335fbdf803e9dcca6e3d5adb3f6c')
- version('0.2.19', sha256='5c2672461986f2b715416cab92ed262abe9875f31299bc8a1a072ef7c6dd49bc')
- version('0.2.15', sha256='77d00d8f6a1c936329b46f3b8b0be79a165f8c5f1989497f942ecc53dcf6f2ef')
+ version("0.2.21", sha256="982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2")
+ version("0.2.20", sha256="3a287c1e5ee7c333ed8385913c0a307daf99335fbdf803e9dcca6e3d5adb3f6c")
+ version("0.2.19", sha256="5c2672461986f2b715416cab92ed262abe9875f31299bc8a1a072ef7c6dd49bc")
+ version("0.2.15", sha256="77d00d8f6a1c936329b46f3b8b0be79a165f8c5f1989497f942ecc53dcf6f2ef")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.2.21:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.2.21:")
diff --git a/var/spack/repos/builtin/packages/r-rjsonio/package.py b/var/spack/repos/builtin/packages/r-rjsonio/package.py
index 593391591d..bbb4b576cb 100644
--- a/var/spack/repos/builtin/packages/r-rjsonio/package.py
+++ b/var/spack/repos/builtin/packages/r-rjsonio/package.py
@@ -27,8 +27,8 @@ class RRjsonio(RPackage):
cran = "RJSONIO"
- version('1.3-1.6', sha256='82d1c9ea7758b2a64ad683f9c46223dcba9aa8146b43c1115bf9aa76a657a09f')
- version('1.3-1.4', sha256='54142c931e15eca278a02dad5734026bb49d960471eb085008af825352953190')
- version('1.3-1.2', sha256='550e18f7c04186376d67747b8258f529d205bfc929da9194fe45ec384e092d7e')
- version('1.3-1.1', sha256='c72493b441758cd1e3e9d91296b9ea31068e71104649f46ad84c854a02c09693')
- version('1.3-0', sha256='119334b7761c6c1c3cec52fa17dbc1b72eaebb520c53e68d873dea147cf48fb7')
+ version("1.3-1.6", sha256="82d1c9ea7758b2a64ad683f9c46223dcba9aa8146b43c1115bf9aa76a657a09f")
+ version("1.3-1.4", sha256="54142c931e15eca278a02dad5734026bb49d960471eb085008af825352953190")
+ version("1.3-1.2", sha256="550e18f7c04186376d67747b8258f529d205bfc929da9194fe45ec384e092d7e")
+ version("1.3-1.1", sha256="c72493b441758cd1e3e9d91296b9ea31068e71104649f46ad84c854a02c09693")
+ version("1.3-0", sha256="119334b7761c6c1c3cec52fa17dbc1b72eaebb520c53e68d873dea147cf48fb7")
diff --git a/var/spack/repos/builtin/packages/r-rlang/package.py b/var/spack/repos/builtin/packages/r-rlang/package.py
index 9cc4778a4e..116147a1bc 100644
--- a/var/spack/repos/builtin/packages/r-rlang/package.py
+++ b/var/spack/repos/builtin/packages/r-rlang/package.py
@@ -14,23 +14,23 @@ class RRlang(RPackage):
cran = "rlang"
- version('1.0.2', sha256='8de87c3e6fb0b3cce2dabc6908186f8e1528cc0c16b54de965fe02d405fdd7cc')
- version('1.0.1', sha256='e59fd5c0f7530dbe329aa01621f6ef5a6474ff3ec96de0c0d24018fc2f21ad7f')
- version('1.0.0', sha256='ab6134c97b3100613ba2a15792fde5341f485ba85432a81370c6270c73396e6a')
- version('0.4.12', sha256='2a26915738be120a56ec93e781bcb50ffa1031e11904544198b4a15c35029915')
- version('0.4.10', sha256='07530270c4c199f2b7efc5d57a476d99babd9d0c3388a02bb7d57fe312da3576')
- version('0.4.6', sha256='3a81b107765fd6ac0ad716c428d01878775ded9208ba125d43c890c73d2533ca')
- version('0.4.0', sha256='9748a4a217548bbe5631c18fd88c94811950446f798ff21fb327703aebaa150d')
- version('0.3.4', sha256='4e467f7b0dcbde91b60c292137d2c69cecaa713a6e4c9b7157ef6fd5453b7ade')
- version('0.3.1', sha256='30427b2be2288e88acd30c4ea348ee06043a649fd73623a63148b1ad96317151')
- version('0.3.0.1', sha256='29451db0a3cabd75761d32df47a5d43ccadbde07ecb693ffdd73f122a0b9f348')
- version('0.3.0', sha256='9ab10ea3e19b2d60a289602ebbefa83509f430db1c8161e523896c374241b893')
- version('0.2.2', sha256='c9119420ff0caeb6b0fcee8800e2fb1ec072e291e0e53b8acea3c4cf49420d33')
- version('0.1.4', sha256='8d9b6c962ae81b96c96ada9614c6a1ffb9eda12dd407e2aff634f7d335e7b9f4')
- version('0.1.2', sha256='90cfcd88cae6fff044fca64b24a8e6bdc09fc276163b518ff2d90268b0c785f9')
- version('0.1.1', sha256='5901f95d68728a7d9bb1c2373a20ce6e4ad222f66e397e7735e9eff987c73c3f')
+ version("1.0.2", sha256="8de87c3e6fb0b3cce2dabc6908186f8e1528cc0c16b54de965fe02d405fdd7cc")
+ version("1.0.1", sha256="e59fd5c0f7530dbe329aa01621f6ef5a6474ff3ec96de0c0d24018fc2f21ad7f")
+ version("1.0.0", sha256="ab6134c97b3100613ba2a15792fde5341f485ba85432a81370c6270c73396e6a")
+ version("0.4.12", sha256="2a26915738be120a56ec93e781bcb50ffa1031e11904544198b4a15c35029915")
+ version("0.4.10", sha256="07530270c4c199f2b7efc5d57a476d99babd9d0c3388a02bb7d57fe312da3576")
+ version("0.4.6", sha256="3a81b107765fd6ac0ad716c428d01878775ded9208ba125d43c890c73d2533ca")
+ version("0.4.0", sha256="9748a4a217548bbe5631c18fd88c94811950446f798ff21fb327703aebaa150d")
+ version("0.3.4", sha256="4e467f7b0dcbde91b60c292137d2c69cecaa713a6e4c9b7157ef6fd5453b7ade")
+ version("0.3.1", sha256="30427b2be2288e88acd30c4ea348ee06043a649fd73623a63148b1ad96317151")
+ version("0.3.0.1", sha256="29451db0a3cabd75761d32df47a5d43ccadbde07ecb693ffdd73f122a0b9f348")
+ version("0.3.0", sha256="9ab10ea3e19b2d60a289602ebbefa83509f430db1c8161e523896c374241b893")
+ version("0.2.2", sha256="c9119420ff0caeb6b0fcee8800e2fb1ec072e291e0e53b8acea3c4cf49420d33")
+ version("0.1.4", sha256="8d9b6c962ae81b96c96ada9614c6a1ffb9eda12dd407e2aff634f7d335e7b9f4")
+ version("0.1.2", sha256="90cfcd88cae6fff044fca64b24a8e6bdc09fc276163b518ff2d90268b0c785f9")
+ version("0.1.1", sha256="5901f95d68728a7d9bb1c2373a20ce6e4ad222f66e397e7735e9eff987c73c3f")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@0.4.0:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.4.10:')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0.2:')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@0.4.0:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.4.10:")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0.2:")
diff --git a/var/spack/repos/builtin/packages/r-rle/package.py b/var/spack/repos/builtin/packages/r-rle/package.py
index 6609843cf9..28a3544d07 100644
--- a/var/spack/repos/builtin/packages/r-rle/package.py
+++ b/var/spack/repos/builtin/packages/r-rle/package.py
@@ -14,6 +14,6 @@ class RRle(RPackage):
cran = "rle"
- version('0.9.2', sha256='803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69')
+ version("0.9.2", sha256="803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69")
- depends_on('r@3.5:', type=('build', 'run'))
+ depends_on("r@3.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rmariadb/package.py b/var/spack/repos/builtin/packages/r-rmariadb/package.py
index 56d46fe913..81143a8de8 100644
--- a/var/spack/repos/builtin/packages/r-rmariadb/package.py
+++ b/var/spack/repos/builtin/packages/r-rmariadb/package.py
@@ -15,28 +15,27 @@ class RRmariadb(RPackage):
cran = "RMariaDB"
- version('1.2.1', sha256='c9176a096854ce33a98ce0faef0065c50b5d356174f90cea742c70e130cf5f0c')
- version('1.1.0', sha256='9ffa63a15052876a51a7996ca4e6a5b7b937f594b5cc7ca5a86f43789e22a956')
- version('1.0.8', sha256='3c8aedc519dc063ceb068535a3700bc5caf26f867078cc5a228aa8961e2d99f5')
-
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('r-blob', type=('build', 'run'), when='@1.2.1:')
- depends_on('r-dbi@1.1.0:', type=('build', 'run'))
- depends_on('r-hms@0.5.0:', type=('build', 'run'))
- depends_on('r-lubridate', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rcpp@0.12.4:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@1.2.1:')
- depends_on('r-plogr', type=('build', 'run'))
- depends_on('mariadb-client')
-
- depends_on('r-bh', type=('build', 'run'), when='@:1.1.0')
+ version("1.2.1", sha256="c9176a096854ce33a98ce0faef0065c50b5d356174f90cea742c70e130cf5f0c")
+ version("1.1.0", sha256="9ffa63a15052876a51a7996ca4e6a5b7b937f594b5cc7ca5a86f43789e22a956")
+ version("1.0.8", sha256="3c8aedc519dc063ceb068535a3700bc5caf26f867078cc5a228aa8961e2d99f5")
+
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("r-blob", type=("build", "run"), when="@1.2.1:")
+ depends_on("r-dbi@1.1.0:", type=("build", "run"))
+ depends_on("r-hms@0.5.0:", type=("build", "run"))
+ depends_on("r-lubridate", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rcpp@0.12.4:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@1.2.1:")
+ depends_on("r-plogr", type=("build", "run"))
+ depends_on("mariadb-client")
+
+ depends_on("r-bh", type=("build", "run"), when="@:1.1.0")
# Set the library explicitly to prevent configure from finding a system
# mysql-client
def configure_vars(self):
- lib_dir = self.spec['mariadb-client'].prefix.lib.mariadb
- inc_dir = self.spec['mariadb-client'].prefix.include.mariadb
- args = ['LIB_DIR={0}'.format(lib_dir),
- 'INCLUDE_DIR={0}'.format(inc_dir)]
+ lib_dir = self.spec["mariadb-client"].prefix.lib.mariadb
+ inc_dir = self.spec["mariadb-client"].prefix.include.mariadb
+ args = ["LIB_DIR={0}".format(lib_dir), "INCLUDE_DIR={0}".format(inc_dir)]
return args
diff --git a/var/spack/repos/builtin/packages/r-rmarkdown/package.py b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
index 2923bf6be2..db5504b6a6 100644
--- a/var/spack/repos/builtin/packages/r-rmarkdown/package.py
+++ b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
@@ -14,35 +14,35 @@ class RRmarkdown(RPackage):
cran = "rmarkdown"
- version('2.14', sha256='e9ec17afa4d9d6e8cf555b56e0c00acc189d8ec0b4406680b14d71d62f0c3220')
- version('2.11', sha256='9371255300e7ea4cd936978ad2ca3d205d8605e09f4913cb0d4725005a7a9775')
- version('2.9', sha256='6ce5af8b9a7c282619f74d3999d27ec4de12d3f93cde8fd12cc4c19f02ea8668')
- version('2.6', sha256='e6e799c472de11e079bc752cca4b4dbd6803650649457bb6ae836cb1edcdf6b0')
- version('1.14', sha256='f636b1048c5be56e06aa0b2b4342ad5c8192734f1e9b27468fef62be672edc61')
- version('1.13', sha256='96fb6b08d27bbb8054145e0a55721f905341941d4f6691480a2a234e2d5a63ef')
- version('1.7', sha256='c3191db65b9ad41b6dbb77aff53487701032d306e92b208ef7515b747931fe63')
- version('1.0', sha256='ff1ecb74ebc444b9b0b7b547adc512daefe1ee08d06bc0e3ee4eb68e58d2ef30')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-bslib@0.2.5.1:', type=('build', 'run'), when='@2.14:')
- depends_on('r-evaluate@0.13:', type=('build', 'run'))
- depends_on('r-htmltools@0.3.5:', type=('build', 'run'))
- depends_on('r-jquerylib', type=('build', 'run'), when='@2.11:')
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-knitr@1.22:', type=('build', 'run'))
- depends_on('r-stringr@1.2.0:', type=('build', 'run'), when='@1.6:')
- depends_on('r-tinytex@0.11:', type=('build', 'run'), when='@1.10:')
- depends_on('r-tinytex@0.31:', type=('build', 'run'), when='@2.8:')
- depends_on('r-xfun', type=('build', 'run'), when='@1.13:')
- depends_on('r-xfun@0.15:', type=('build', 'run'), when='@2.6:')
- depends_on('r-xfun@0.21:', type=('build', 'run'), when='@2.8:')
- depends_on('r-xfun@0.30:', type=('build', 'run'), when='@2.14:')
- depends_on('r-yaml@2.1.19:', type=('build', 'run'))
- depends_on('pandoc@1.12.3:')
- depends_on('pandoc@1.14:', when='@2.6:')
-
- depends_on('r-rprojroot', type=('build', 'run'), when='@1.3:1.7')
- depends_on('r-mime', type=('build', 'run'), when='@1.8:1.14')
- depends_on('r-catools', type=('build', 'run'), when='@:1.7')
- depends_on('r-base64enc', type=('build', 'run'), when='@:1.14')
+ version("2.14", sha256="e9ec17afa4d9d6e8cf555b56e0c00acc189d8ec0b4406680b14d71d62f0c3220")
+ version("2.11", sha256="9371255300e7ea4cd936978ad2ca3d205d8605e09f4913cb0d4725005a7a9775")
+ version("2.9", sha256="6ce5af8b9a7c282619f74d3999d27ec4de12d3f93cde8fd12cc4c19f02ea8668")
+ version("2.6", sha256="e6e799c472de11e079bc752cca4b4dbd6803650649457bb6ae836cb1edcdf6b0")
+ version("1.14", sha256="f636b1048c5be56e06aa0b2b4342ad5c8192734f1e9b27468fef62be672edc61")
+ version("1.13", sha256="96fb6b08d27bbb8054145e0a55721f905341941d4f6691480a2a234e2d5a63ef")
+ version("1.7", sha256="c3191db65b9ad41b6dbb77aff53487701032d306e92b208ef7515b747931fe63")
+ version("1.0", sha256="ff1ecb74ebc444b9b0b7b547adc512daefe1ee08d06bc0e3ee4eb68e58d2ef30")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-bslib@0.2.5.1:", type=("build", "run"), when="@2.14:")
+ depends_on("r-evaluate@0.13:", type=("build", "run"))
+ depends_on("r-htmltools@0.3.5:", type=("build", "run"))
+ depends_on("r-jquerylib", type=("build", "run"), when="@2.11:")
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-knitr@1.22:", type=("build", "run"))
+ depends_on("r-stringr@1.2.0:", type=("build", "run"), when="@1.6:")
+ depends_on("r-tinytex@0.11:", type=("build", "run"), when="@1.10:")
+ depends_on("r-tinytex@0.31:", type=("build", "run"), when="@2.8:")
+ depends_on("r-xfun", type=("build", "run"), when="@1.13:")
+ depends_on("r-xfun@0.15:", type=("build", "run"), when="@2.6:")
+ depends_on("r-xfun@0.21:", type=("build", "run"), when="@2.8:")
+ depends_on("r-xfun@0.30:", type=("build", "run"), when="@2.14:")
+ depends_on("r-yaml@2.1.19:", type=("build", "run"))
+ depends_on("pandoc@1.12.3:")
+ depends_on("pandoc@1.14:", when="@2.6:")
+
+ depends_on("r-rprojroot", type=("build", "run"), when="@1.3:1.7")
+ depends_on("r-mime", type=("build", "run"), when="@1.8:1.14")
+ depends_on("r-catools", type=("build", "run"), when="@:1.7")
+ depends_on("r-base64enc", type=("build", "run"), when="@:1.14")
diff --git a/var/spack/repos/builtin/packages/r-rminer/package.py b/var/spack/repos/builtin/packages/r-rminer/package.py
index 8873ef299d..0530c5aa22 100644
--- a/var/spack/repos/builtin/packages/r-rminer/package.py
+++ b/var/spack/repos/builtin/packages/r-rminer/package.py
@@ -27,22 +27,22 @@ class RRminer(RPackage):
cran = "rminer"
- version('1.4.6', sha256='1f8bf7b3fbc887fd766568c1ec1f861021c962259354bd8967a61c1d0761cdf7')
- version('1.4.2', sha256='64444dcedcd17f2f26129819d6bd2f84d4bb59c8f65328b6054ef32cb9624fc2')
+ version("1.4.6", sha256="1f8bf7b3fbc887fd766568c1ec1f861021c962259354bd8967a61c1d0761cdf7")
+ version("1.4.2", sha256="64444dcedcd17f2f26129819d6bd2f84d4bb59c8f65328b6054ef32cb9624fc2")
- depends_on('r-plotrix', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-nnet', type=('build', 'run'))
- depends_on('r-kknn', type=('build', 'run'))
- depends_on('r-pls', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-mda', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-randomforest', type=('build', 'run'))
- depends_on('r-adabag', type=('build', 'run'))
- depends_on('r-party', type=('build', 'run'))
- depends_on('r-cubist', type=('build', 'run'))
- depends_on('r-kernlab', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'))
- depends_on('r-glmnet', type=('build', 'run'))
- depends_on('r-xgboost', type=('build', 'run'))
+ depends_on("r-plotrix", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-nnet", type=("build", "run"))
+ depends_on("r-kknn", type=("build", "run"))
+ depends_on("r-pls", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-mda", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-randomforest", type=("build", "run"))
+ depends_on("r-adabag", type=("build", "run"))
+ depends_on("r-party", type=("build", "run"))
+ depends_on("r-cubist", type=("build", "run"))
+ depends_on("r-kernlab", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"))
+ depends_on("r-glmnet", type=("build", "run"))
+ depends_on("r-xgboost", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rmpfr/package.py b/var/spack/repos/builtin/packages/r-rmpfr/package.py
index e6ad42aec0..717b5ab283 100644
--- a/var/spack/repos/builtin/packages/r-rmpfr/package.py
+++ b/var/spack/repos/builtin/packages/r-rmpfr/package.py
@@ -17,19 +17,19 @@ class RRmpfr(RPackage):
cran = "Rmpfr"
- version('0.8-9', sha256='cfee5ab47d49c6433c372a267f7d849c8f7c61a84e00d08afb047eaafcdbbc8a')
- version('0.8-7', sha256='93c2db785ff705dcfc6fa7f0373c2426cdc2ef72ceb5b294edeb2952775f57d2')
- version('0.8-2', sha256='74f6af1738b2cd21e7f2564b4cc2c84d5473a3745ba88ec76355d07fdd61f700')
- version('0.7-2', sha256='ec1da6ec5292ea6ac95495c6a299591d367e520ae324719817fb884c865603ff')
- version('0.7-1', sha256='9b3021617a22b0710b0f1acc279290762317ff123fd9e8fd03f1449f4bbfe204')
- version('0.6-1', sha256='bf50991055e9336cd6a110d711ae8a91a0551b96f9eaab5fef8c05f578006e1c')
+ version("0.8-9", sha256="cfee5ab47d49c6433c372a267f7d849c8f7c61a84e00d08afb047eaafcdbbc8a")
+ version("0.8-7", sha256="93c2db785ff705dcfc6fa7f0373c2426cdc2ef72ceb5b294edeb2952775f57d2")
+ version("0.8-2", sha256="74f6af1738b2cd21e7f2564b4cc2c84d5473a3745ba88ec76355d07fdd61f700")
+ version("0.7-2", sha256="ec1da6ec5292ea6ac95495c6a299591d367e520ae324719817fb884c865603ff")
+ version("0.7-1", sha256="9b3021617a22b0710b0f1acc279290762317ff123fd9e8fd03f1449f4bbfe204")
+ version("0.6-1", sha256="bf50991055e9336cd6a110d711ae8a91a0551b96f9eaab5fef8c05f578006e1c")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@0.7-0')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.7-1:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.8-2:')
- depends_on('r-gmp@0.5-8:', type=('build', 'run'))
- depends_on('r-gmp@0.6-1:', type=('build', 'run'), when='@0.8-2:')
- depends_on('gmp@4.2.3:')
- depends_on('mpfr@3.0.0:')
- depends_on('texlive@2019:', type='build')
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@0.7-0")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.7-1:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.8-2:")
+ depends_on("r-gmp@0.5-8:", type=("build", "run"))
+ depends_on("r-gmp@0.6-1:", type=("build", "run"), when="@0.8-2:")
+ depends_on("gmp@4.2.3:")
+ depends_on("mpfr@3.0.0:")
+ depends_on("texlive@2019:", type="build")
diff --git a/var/spack/repos/builtin/packages/r-rmpi/package.py b/var/spack/repos/builtin/packages/r-rmpi/package.py
index 23b3d87769..863126cb9c 100644
--- a/var/spack/repos/builtin/packages/r-rmpi/package.py
+++ b/var/spack/repos/builtin/packages/r-rmpi/package.py
@@ -14,35 +14,35 @@ class RRmpi(RPackage):
cran = "Rmpi"
- version('0.6-9.2', sha256='358ac1af97402e676f209261a231f36a35e60f0301edf8ca53dac11af3c3bd1a')
- version('0.6-9', sha256='b2e1eac3e56f6b26c7ce744b29d8994ab6507ac88df64ebbb5af439414651ee6')
- version('0.6-8', sha256='9b453ce3bd7284eda33493a0e47bf16db6719e3c48ac5f69deac6746f5438d96')
- version('0.6-6', sha256='d8fc09ad38264697caa86079885a7a1098921a3116d5a77a62022b9508f8a63a')
+ version("0.6-9.2", sha256="358ac1af97402e676f209261a231f36a35e60f0301edf8ca53dac11af3c3bd1a")
+ version("0.6-9", sha256="b2e1eac3e56f6b26c7ce744b29d8994ab6507ac88df64ebbb5af439414651ee6")
+ version("0.6-8", sha256="9b453ce3bd7284eda33493a0e47bf16db6719e3c48ac5f69deac6746f5438d96")
+ version("0.6-6", sha256="d8fc09ad38264697caa86079885a7a1098921a3116d5a77a62022b9508f8a63a")
- depends_on('r@2.15.1:', type=('build', 'run'))
- depends_on('mpi')
+ depends_on("r@2.15.1:", type=("build", "run"))
+ depends_on("mpi")
# The following MPI types are not supported
- conflicts('^intel-mpi')
- conflicts('^intel-parallel-studio')
- conflicts('^mvapich2')
- conflicts('^spectrum-mpi')
+ conflicts("^intel-mpi")
+ conflicts("^intel-parallel-studio")
+ conflicts("^mvapich2")
+ conflicts("^spectrum-mpi")
def configure_args(self):
spec = self.spec
- mpi_name = spec['mpi'].name
+ mpi_name = spec["mpi"].name
# The type of MPI. Supported values are:
# OPENMPI, LAM, MPICH, MPICH2, or CRAY
- if mpi_name == 'openmpi':
- rmpi_type = 'OPENMPI'
- elif mpi_name == 'mpich':
- rmpi_type = 'MPICH2'
+ if mpi_name == "openmpi":
+ rmpi_type = "OPENMPI"
+ elif mpi_name == "mpich":
+ rmpi_type = "MPICH2"
else:
- raise InstallError('Unsupported MPI type')
+ raise InstallError("Unsupported MPI type")
return [
- '--with-Rmpi-type={0}'.format(rmpi_type),
- '--with-mpi={0}'.format(spec['mpi'].prefix),
+ "--with-Rmpi-type={0}".format(rmpi_type),
+ "--with-mpi={0}".format(spec["mpi"].prefix),
]
diff --git a/var/spack/repos/builtin/packages/r-rms/package.py b/var/spack/repos/builtin/packages/r-rms/package.py
index 88ec073f19..6244ae22fb 100644
--- a/var/spack/repos/builtin/packages/r-rms/package.py
+++ b/var/spack/repos/builtin/packages/r-rms/package.py
@@ -25,30 +25,30 @@ class RRms(RPackage):
cran = "rms"
- version('6.3-0', sha256='6c41eb670daf5e4391cc2f2a19e20a591f90769c124300a7ccf555820140d3f9')
- version('6.2-0', sha256='10d58cbfe39fb434223834e29e5248c9384cded23e6267cfc99367d0f5ee24b6')
- version('6.1-0', sha256='b89ec3b9211a093bfe83a2a8107989b5ce3b7b7c323b88a5d887d99753289f52')
- version('5.1-4', sha256='38f5844c4944a95b2adebea6bb1d163111270b8662399ea0349c45c0758076a6')
- version('5.1-3.1', sha256='0946d9547a4e3ff020a61ab3fce38f88aa9545729683e2bfefeb960edec82b37')
- version('5.1-3', sha256='5fc7120d8a93b4aa9727d82eac368c5c47ff70f467ae2b012afac688235089eb')
- version('5.1-2', sha256='f1cfeef466ac436105756679353a3468027d97a600e3be755b819aef30ed9207')
- version('5.1-1', sha256='c489948df5c434b40bcf5288844f5b4e08d157f36939d09230c1600f88d1bfe3')
+ version("6.3-0", sha256="6c41eb670daf5e4391cc2f2a19e20a591f90769c124300a7ccf555820140d3f9")
+ version("6.2-0", sha256="10d58cbfe39fb434223834e29e5248c9384cded23e6267cfc99367d0f5ee24b6")
+ version("6.1-0", sha256="b89ec3b9211a093bfe83a2a8107989b5ce3b7b7c323b88a5d887d99753289f52")
+ version("5.1-4", sha256="38f5844c4944a95b2adebea6bb1d163111270b8662399ea0349c45c0758076a6")
+ version("5.1-3.1", sha256="0946d9547a4e3ff020a61ab3fce38f88aa9545729683e2bfefeb960edec82b37")
+ version("5.1-3", sha256="5fc7120d8a93b4aa9727d82eac368c5c47ff70f467ae2b012afac688235089eb")
+ version("5.1-2", sha256="f1cfeef466ac436105756679353a3468027d97a600e3be755b819aef30ed9207")
+ version("5.1-1", sha256="c489948df5c434b40bcf5288844f5b4e08d157f36939d09230c1600f88d1bfe3")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-hmisc@4.3-0:', type=('build', 'run'))
- depends_on('r-hmisc@4.7-0:', type=('build', 'run'), when='@6.3-0:')
- depends_on('r-survival@3.1-6:', type=('build', 'run'))
- depends_on('r-survival@3.1-12:', type=('build', 'run'), when='@6.1-0:')
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-ggplot2@2.2:', type=('build', 'run'))
- depends_on('r-sparsem', type=('build', 'run'))
- depends_on('r-quantreg', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-nlme@3.1-123:', type=('build', 'run'))
- depends_on('r-polspline', type=('build', 'run'))
- depends_on('r-multcomp', type=('build', 'run'))
- depends_on('r-htmltable@1.11.0:', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'), when='@6.1-0:')
- depends_on('r-cluster', type=('build', 'run'), when='@6.1-0:')
- depends_on('r-digest', type=('build', 'run'), when='@6.1-0:')
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-hmisc@4.3-0:", type=("build", "run"))
+ depends_on("r-hmisc@4.7-0:", type=("build", "run"), when="@6.3-0:")
+ depends_on("r-survival@3.1-6:", type=("build", "run"))
+ depends_on("r-survival@3.1-12:", type=("build", "run"), when="@6.1-0:")
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-ggplot2@2.2:", type=("build", "run"))
+ depends_on("r-sparsem", type=("build", "run"))
+ depends_on("r-quantreg", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-nlme@3.1-123:", type=("build", "run"))
+ depends_on("r-polspline", type=("build", "run"))
+ depends_on("r-multcomp", type=("build", "run"))
+ depends_on("r-htmltable@1.11.0:", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"), when="@6.1-0:")
+ depends_on("r-cluster", type=("build", "run"), when="@6.1-0:")
+ depends_on("r-digest", type=("build", "run"), when="@6.1-0:")
diff --git a/var/spack/repos/builtin/packages/r-rmutil/package.py b/var/spack/repos/builtin/packages/r-rmutil/package.py
index 388dd28974..a6b9d051e7 100644
--- a/var/spack/repos/builtin/packages/r-rmutil/package.py
+++ b/var/spack/repos/builtin/packages/r-rmutil/package.py
@@ -16,8 +16,8 @@ class RRmutil(RPackage):
cran = "rmutil"
- version('1.1.9', sha256='3a68cc4058394fcb6bab960a680bad939ad7270888f4c271ca6438e49670333c')
- version('1.1.5', sha256='6077e643d6daeba6edcf49d928320b54cc6aa6ff59934f9e9e6071a2f9afb2f6')
- version('1.1.3', sha256='7abaf41e99d1c4a0e4082c4594964ac1421c53b4268116c82fa55aa8bc0582da')
+ version("1.1.9", sha256="3a68cc4058394fcb6bab960a680bad939ad7270888f4c271ca6438e49670333c")
+ version("1.1.5", sha256="6077e643d6daeba6edcf49d928320b54cc6aa6ff59934f9e9e6071a2f9afb2f6")
+ version("1.1.3", sha256="7abaf41e99d1c4a0e4082c4594964ac1421c53b4268116c82fa55aa8bc0582da")
- depends_on('r@1.4:', type=('build', 'run'))
+ depends_on("r@1.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rmysql/package.py b/var/spack/repos/builtin/packages/r-rmysql/package.py
index 0639c87e71..26aaf6a7da 100644
--- a/var/spack/repos/builtin/packages/r-rmysql/package.py
+++ b/var/spack/repos/builtin/packages/r-rmysql/package.py
@@ -15,11 +15,11 @@ class RRmysql(RPackage):
cran = "RMySQL"
- version('0.10.23', sha256='f4ac7ed4fba83749819c07ce32d53ee024cf1cedebbda3b832644bff9edf4a15')
- version('0.10.21', sha256='3a6bf06d32d66c7c958d4f89ed517614171a7fd254ef6f4d40f4c5982c2d6b31')
- version('0.10.17', sha256='754df4fce159078c1682ef34fc96aa5ae30981dc91f4f2bada8d1018537255f5')
- version('0.10.9', sha256='41289c743dc8ee2e0dea8b8f291d65f0a7cd11e799b713d94840406ff296fd42')
+ version("0.10.23", sha256="f4ac7ed4fba83749819c07ce32d53ee024cf1cedebbda3b832644bff9edf4a15")
+ version("0.10.21", sha256="3a6bf06d32d66c7c958d4f89ed517614171a7fd254ef6f4d40f4c5982c2d6b31")
+ version("0.10.17", sha256="754df4fce159078c1682ef34fc96aa5ae30981dc91f4f2bada8d1018537255f5")
+ version("0.10.9", sha256="41289c743dc8ee2e0dea8b8f291d65f0a7cd11e799b713d94840406ff296fd42")
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r-dbi@0.4:', type=('build', 'run'))
- depends_on('mysql')
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r-dbi@0.4:", type=("build", "run"))
+ depends_on("mysql")
diff --git a/var/spack/repos/builtin/packages/r-rnaseqmap/package.py b/var/spack/repos/builtin/packages/r-rnaseqmap/package.py
index 631f064d78..2335364ab0 100644
--- a/var/spack/repos/builtin/packages/r-rnaseqmap/package.py
+++ b/var/spack/repos/builtin/packages/r-rnaseqmap/package.py
@@ -9,25 +9,25 @@ from spack.package import *
class RRnaseqmap(RPackage):
"""rnaSeq secondary analyses.
- The rnaSeqMap library provides classes and functions to analyze the RNA-
- sequencing data using the coverage profiles in multiple samples at a
- time"""
+ The rnaSeqMap library provides classes and functions to analyze the RNA-
+ sequencing data using the coverage profiles in multiple samples at a
+ time"""
bioc = "rnaSeqMap"
- version('2.48.0', commit='a8c515e518cebf571d1524c3a8a986ba7d1557db')
- version('2.42.0', commit='3a3a1030cc38d79d04536e0ab16114e4fa6721cf')
- version('2.40.1', commit='c122d645b3503fb1a061f5515e4f8cf2863b3ba3')
- version('2.38.0', commit='5eb9583bfacd375161739a8ae6057204487f8b9e')
- version('2.36.0', commit='69c46fa467be0ac30776ede85a521f7622539b7e')
- version('2.34.0', commit='7881bc00600ed824ac437edf3cfba35573261e46')
+ version("2.48.0", commit="a8c515e518cebf571d1524c3a8a986ba7d1557db")
+ version("2.42.0", commit="3a3a1030cc38d79d04536e0ab16114e4fa6721cf")
+ version("2.40.1", commit="c122d645b3503fb1a061f5515e4f8cf2863b3ba3")
+ version("2.38.0", commit="5eb9583bfacd375161739a8ae6057204487f8b9e")
+ version("2.36.0", commit="69c46fa467be0ac30776ede85a521f7622539b7e")
+ version("2.34.0", commit="7881bc00600ed824ac437edf3cfba35573261e46")
- depends_on('r@2.11.0:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-genomicalignments', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-deseq', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
+ depends_on("r@2.11.0:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-genomicalignments", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-deseq", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rncl/package.py b/var/spack/repos/builtin/packages/r-rncl/package.py
index bc870bc1b5..1c6db3ffab 100644
--- a/var/spack/repos/builtin/packages/r-rncl/package.py
+++ b/var/spack/repos/builtin/packages/r-rncl/package.py
@@ -17,9 +17,9 @@ class RRncl(RPackage):
cran = "rncl"
- version('0.8.6', sha256='fcc972c04fb43ace0876eb640a6433caddf6ec8304f7ceee37107d812ce68ffb')
- version('0.8.4', sha256='6b19d0dd9bb08ecf99766be5ad684bcd1894d1cd9291230bdd709dbd3396496b')
+ version("0.8.6", sha256="fcc972c04fb43ace0876eb640a6433caddf6ec8304f7ceee37107d812ce68ffb")
+ version("0.8.4", sha256="6b19d0dd9bb08ecf99766be5ad684bcd1894d1cd9291230bdd709dbd3396496b")
- depends_on('r@3.1.1:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-progress@1.1.2:', type=('build', 'run'))
+ depends_on("r@3.1.1:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-progress@1.1.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rnexml/package.py b/var/spack/repos/builtin/packages/r-rnexml/package.py
index 46dc2d2522..2db55c694f 100644
--- a/var/spack/repos/builtin/packages/r-rnexml/package.py
+++ b/var/spack/repos/builtin/packages/r-rnexml/package.py
@@ -16,20 +16,20 @@ class RRnexml(RPackage):
cran = "RNeXML"
- version('2.4.7', sha256='cb311d6dda33a95521a6df360a2d2f4e6d6bc6b330ac5e19ea721ca665bce6fe')
- version('2.4.5', sha256='2b667ecb6400e4c0c125ca73a98cde81330cde3a85b764261f77159e702754f3')
+ version("2.4.7", sha256="cb311d6dda33a95521a6df360a2d2f4e6d6bc6b330ac5e19ea721ca665bce6fe")
+ version("2.4.5", sha256="2b667ecb6400e4c0c125ca73a98cde81330cde3a85b764261f77159e702754f3")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-ape@3.1:', type=('build', 'run'))
- depends_on('r-xml@3.95:', type=('build', 'run'))
- depends_on('r-plyr@1.8:', type=('build', 'run'))
- depends_on('r-reshape2@1.2.2:', type=('build', 'run'))
- depends_on('r-httr@0.3:', type=('build', 'run'))
- depends_on('r-uuid@0.1-1:', type=('build', 'run'))
- depends_on('r-dplyr@0.5.0:', type=('build', 'run'))
- depends_on('r-lazyeval@0.1.0:', type=('build', 'run'))
- depends_on('r-tidyr@0.3.1:', type=('build', 'run'))
- depends_on('r-stringr@1.0:', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'))
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@2.4.7:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-ape@3.1:", type=("build", "run"))
+ depends_on("r-xml@3.95:", type=("build", "run"))
+ depends_on("r-plyr@1.8:", type=("build", "run"))
+ depends_on("r-reshape2@1.2.2:", type=("build", "run"))
+ depends_on("r-httr@0.3:", type=("build", "run"))
+ depends_on("r-uuid@0.1-1:", type=("build", "run"))
+ depends_on("r-dplyr@0.5.0:", type=("build", "run"))
+ depends_on("r-lazyeval@0.1.0:", type=("build", "run"))
+ depends_on("r-tidyr@0.3.1:", type=("build", "run"))
+ depends_on("r-stringr@1.0:", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"))
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@2.4.7:")
diff --git a/var/spack/repos/builtin/packages/r-rngtools/package.py b/var/spack/repos/builtin/packages/r-rngtools/package.py
index 800e971b51..7c81c69309 100644
--- a/var/spack/repos/builtin/packages/r-rngtools/package.py
+++ b/var/spack/repos/builtin/packages/r-rngtools/package.py
@@ -17,15 +17,15 @@ class RRngtools(RPackage):
cran = "rngtools"
- version('1.5.2', sha256='7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d')
- version('1.5', sha256='8274873b73f7acbe0ce007e62893bf4d369d2aab8768754a60da46b3f078f575')
- version('1.4', sha256='3aa92366e5d0500537964302f5754a750aff6b169a27611725e7d84552913bce')
- version('1.3.1.1', sha256='99e1a8fde6b81128d0946746c1ef84ec5b6c2973ad843a080098baf73aa3364c')
- version('1.3.1', sha256='763fc493cb821a4d3e514c0dc876d602a692c528e1d67f295dde70c77009e224')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@1.4:')
- depends_on('r-digest', type=('build', 'run'))
-
- depends_on('r-pkgmaker@0.20:', type=('build', 'run'), when='@:1.4')
- depends_on('r-stringr', type=('build', 'run'), when='@:1.4')
+ version("1.5.2", sha256="7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d")
+ version("1.5", sha256="8274873b73f7acbe0ce007e62893bf4d369d2aab8768754a60da46b3f078f575")
+ version("1.4", sha256="3aa92366e5d0500537964302f5754a750aff6b169a27611725e7d84552913bce")
+ version("1.3.1.1", sha256="99e1a8fde6b81128d0946746c1ef84ec5b6c2973ad843a080098baf73aa3364c")
+ version("1.3.1", sha256="763fc493cb821a4d3e514c0dc876d602a692c528e1d67f295dde70c77009e224")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@1.4:")
+ depends_on("r-digest", type=("build", "run"))
+
+ depends_on("r-pkgmaker@0.20:", type=("build", "run"), when="@:1.4")
+ depends_on("r-stringr", type=("build", "run"), when="@:1.4")
diff --git a/var/spack/repos/builtin/packages/r-rnoaa/package.py b/var/spack/repos/builtin/packages/r-rnoaa/package.py
index 0f8c517f49..ef07899a19 100644
--- a/var/spack/repos/builtin/packages/r-rnoaa/package.py
+++ b/var/spack/repos/builtin/packages/r-rnoaa/package.py
@@ -20,25 +20,25 @@ class RRnoaa(RPackage):
cran = "rnoaa"
- version('1.3.8', sha256='57974b48162637e98888f041d6f0e580d3c60bd5008af2d2bc659491f0deb98a')
- version('1.3.0', sha256='4c421ad6e4c2b25e4dea5351c338aed70bea6e382562412d1dad825a50b0d161')
- version('0.8.4', sha256='fb9ae771111dd5f638c1eff3290abad2ff9cc7e68a6678bf2414433ebed2dbbf')
-
- depends_on('r-crul@0.7.0:', type=('build', 'run'))
- depends_on('r-lubridate', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-xml', type=('build', 'run'))
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-isdparser@0.2.0:', type=('build', 'run'))
- depends_on('r-geonames', type=('build', 'run'))
- depends_on('r-hoardr@0.5.2:', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'), when='@1.3.0:')
-
- depends_on('r-rappdirs', type=('build', 'run'), when='@:1.3.0')
+ version("1.3.8", sha256="57974b48162637e98888f041d6f0e580d3c60bd5008af2d2bc659491f0deb98a")
+ version("1.3.0", sha256="4c421ad6e4c2b25e4dea5351c338aed70bea6e382562412d1dad825a50b0d161")
+ version("0.8.4", sha256="fb9ae771111dd5f638c1eff3290abad2ff9cc7e68a6678bf2414433ebed2dbbf")
+
+ depends_on("r-crul@0.7.0:", type=("build", "run"))
+ depends_on("r-lubridate", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-xml", type=("build", "run"))
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-isdparser@0.2.0:", type=("build", "run"))
+ depends_on("r-geonames", type=("build", "run"))
+ depends_on("r-hoardr@0.5.2:", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"), when="@1.3.0:")
+
+ depends_on("r-rappdirs", type=("build", "run"), when="@:1.3.0")
diff --git a/var/spack/repos/builtin/packages/r-robust/package.py b/var/spack/repos/builtin/packages/r-robust/package.py
index 14228c2c7e..639008edad 100644
--- a/var/spack/repos/builtin/packages/r-robust/package.py
+++ b/var/spack/repos/builtin/packages/r-robust/package.py
@@ -15,14 +15,14 @@ class RRobust(RPackage):
cran = "robust"
- version('0.7-0', sha256='5e1aac30e185e416c22445663704f39433af9fdb48452185f2c9beb3528084b9')
- version('0.6-1', sha256='496fd225f6bc6f734e338308f18475125aaf691b39e25308bddb284d3106117d')
- version('0.5-0.0', sha256='82f0b50028938966f807a4c4da5c345a3a64ccafd9a31c64a22cda852ed345cf')
- version('0.4-18.1', sha256='de31901882873ef89748bb6863caf55734431df5b3eb3c6663ed17ee2e4a4077')
- version('0.4-18', sha256='e4196f01bb3b0d768759d4411d524238b627eb8dc213d84cb30014e75480f8ac')
+ version("0.7-0", sha256="5e1aac30e185e416c22445663704f39433af9fdb48452185f2c9beb3528084b9")
+ version("0.6-1", sha256="496fd225f6bc6f734e338308f18475125aaf691b39e25308bddb284d3106117d")
+ version("0.5-0.0", sha256="82f0b50028938966f807a4c4da5c345a3a64ccafd9a31c64a22cda852ed345cf")
+ version("0.4-18.1", sha256="de31901882873ef89748bb6863caf55734431df5b3eb3c6663ed17ee2e4a4077")
+ version("0.4-18", sha256="e4196f01bb3b0d768759d4411d524238b627eb8dc213d84cb30014e75480f8ac")
- depends_on('r-fit-models', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-robustbase', type=('build', 'run'))
- depends_on('r-rrcov', type=('build', 'run'))
+ depends_on("r-fit-models", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-robustbase", type=("build", "run"))
+ depends_on("r-rrcov", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-robustbase/package.py b/var/spack/repos/builtin/packages/r-robustbase/package.py
index 7bab338143..5cd1f9e342 100644
--- a/var/spack/repos/builtin/packages/r-robustbase/package.py
+++ b/var/spack/repos/builtin/packages/r-robustbase/package.py
@@ -17,14 +17,14 @@ class RRobustbase(RPackage):
cran = "robustbase"
- version('0.95-0', sha256='5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724')
- version('0.93-9', sha256='d75fb5075463fec61d063bced7003936e9198492328b6fae15f67e8415713c45')
- version('0.93-7', sha256='8911d2d0fdca5e2627033e046279f9d106e25ce98d588f9ccc4d8e4b42680956')
- version('0.93-5', sha256='bde564dbd52f04ab32f9f2f9dd09b9578f3ccd2541cf5f8ff430da42a55e7f56')
- version('0.93-4', sha256='ea9e03d484ef52ea805803477ffc48881e4c8c86ffda4eea56109f8b23f0a6e0')
- version('0.92-7', sha256='fcbd6ccbb0291b599fe6a674a91344511e0a691b9cadba0a9d40037faa22bf8f')
+ version("0.95-0", sha256="5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724")
+ version("0.93-9", sha256="d75fb5075463fec61d063bced7003936e9198492328b6fae15f67e8415713c45")
+ version("0.93-7", sha256="8911d2d0fdca5e2627033e046279f9d106e25ce98d588f9ccc4d8e4b42680956")
+ version("0.93-5", sha256="bde564dbd52f04ab32f9f2f9dd09b9578f3ccd2541cf5f8ff430da42a55e7f56")
+ version("0.93-4", sha256="ea9e03d484ef52ea805803477ffc48881e4c8c86ffda4eea56109f8b23f0a6e0")
+ version("0.92-7", sha256="fcbd6ccbb0291b599fe6a674a91344511e0a691b9cadba0a9d40037faa22bf8f")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@0.93-2:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.93-9:')
- depends_on('r-deoptimr', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@0.93-2:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.93-9:")
+ depends_on("r-deoptimr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-roc/package.py b/var/spack/repos/builtin/packages/r-roc/package.py
index b420d344d8..5016b505cd 100644
--- a/var/spack/repos/builtin/packages/r-roc/package.py
+++ b/var/spack/repos/builtin/packages/r-roc/package.py
@@ -13,10 +13,10 @@ class RRoc(RPackage):
bioc = "ROC"
- version('1.72.0', commit='c5d083b01314280dd43eb4cddd8a7fde8b5dce18')
- version('1.70.0', commit='44fd639958b9b1be4f8f731dc2be9dd91b2fa632')
- version('1.66.0', commit='62701ee41f48f99d15344127384fa032db69486f')
- version('1.62.0', commit='60250fdb091f6a938709b8a2cffe6442ee22a9a2')
+ version("1.72.0", commit="c5d083b01314280dd43eb4cddd8a7fde8b5dce18")
+ version("1.70.0", commit="44fd639958b9b1be4f8f731dc2be9dd91b2fa632")
+ version("1.66.0", commit="62701ee41f48f99d15344127384fa032db69486f")
+ version("1.62.0", commit="60250fdb091f6a938709b8a2cffe6442ee22a9a2")
- depends_on('r@1.9.0:', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'))
+ depends_on("r@1.9.0:", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rocr/package.py b/var/spack/repos/builtin/packages/r-rocr/package.py
index 391fd6bcd4..6ddc91f9a2 100644
--- a/var/spack/repos/builtin/packages/r-rocr/package.py
+++ b/var/spack/repos/builtin/packages/r-rocr/package.py
@@ -26,8 +26,8 @@ class RRocr(RPackage):
cran = "ROCR"
- version('1.0-11', sha256='57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a')
- version('1.0-7', sha256='e7ef710f847e441a48b20fdc781dbc1377f5a060a5ee635234053f7a2a435ec9')
+ version("1.0-11", sha256="57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a")
+ version("1.0-7", sha256="e7ef710f847e441a48b20fdc781dbc1377f5a060a5ee635234053f7a2a435ec9")
- depends_on('r@3.6:', type=('build', 'run'), when='@1.0-11:')
- depends_on('r-gplots', type=('build', 'run'))
+ depends_on("r@3.6:", type=("build", "run"), when="@1.0-11:")
+ depends_on("r-gplots", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rodbc/package.py b/var/spack/repos/builtin/packages/r-rodbc/package.py
index 131b697a47..e07edaa157 100644
--- a/var/spack/repos/builtin/packages/r-rodbc/package.py
+++ b/var/spack/repos/builtin/packages/r-rodbc/package.py
@@ -13,11 +13,11 @@ class RRodbc(RPackage):
cran = "RODBC"
- version('1.3-19', sha256='3afcbd6877cd8b7c8df4a94bacd041a51e5ac607810acb88efd380b45d2d4efe')
- version('1.3-17', sha256='469fc835f65c344d5c3eaa097ff278ee8e9f12f845722a9aad340115faa704f7')
- version('1.3-15', sha256='c43e5a2f0aa2f46607e664bfc0bb3caa230bbb779f4ff084e01727642da136e1')
- version('1.3-13', sha256='e8ea7eb77a07be36fc2d824c28bb426334da7484957ffbc719140373adf1667c')
+ version("1.3-19", sha256="3afcbd6877cd8b7c8df4a94bacd041a51e5ac607810acb88efd380b45d2d4efe")
+ version("1.3-17", sha256="469fc835f65c344d5c3eaa097ff278ee8e9f12f845722a9aad340115faa704f7")
+ version("1.3-15", sha256="c43e5a2f0aa2f46607e664bfc0bb3caa230bbb779f4ff084e01727642da136e1")
+ version("1.3-13", sha256="e8ea7eb77a07be36fc2d824c28bb426334da7484957ffbc719140373adf1667c")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.3-17:')
- depends_on('unixodbc')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.3-17:")
+ depends_on("unixodbc")
diff --git a/var/spack/repos/builtin/packages/r-rook/package.py b/var/spack/repos/builtin/packages/r-rook/package.py
index 0aa935e787..f21505a09f 100644
--- a/var/spack/repos/builtin/packages/r-rook/package.py
+++ b/var/spack/repos/builtin/packages/r-rook/package.py
@@ -15,7 +15,7 @@ class RRook(RPackage):
cran = "Rook"
- version('1.1-1', sha256='00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903')
+ version("1.1-1", sha256="00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r-brew', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r-brew", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rots/package.py b/var/spack/repos/builtin/packages/r-rots/package.py
index de89f41df1..49f3fb1311 100644
--- a/var/spack/repos/builtin/packages/r-rots/package.py
+++ b/var/spack/repos/builtin/packages/r-rots/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RRots(RPackage):
"""Reproducibility-Optimized Test Statistic.
- Calculates the Reproducibility-Optimized Test Statistic (ROTS) for
- differential testing in omics data."""
+ Calculates the Reproducibility-Optimized Test Statistic (ROTS) for
+ differential testing in omics data."""
bioc = "ROTS"
- version('1.24.0', commit='372e4623b39f585d4196d21164436c1ba013173f')
- version('1.22.0', commit='a53ec77c40ed3b3c84e91d794c1602dd509cad83')
- version('1.18.0', commit='1d4e206a8ce68d5a1417ff51c26174ed9d0ba7d2')
- version('1.12.0', commit='7e2c96fd8fd36710321498745f24cc6b59ac02f0')
- version('1.10.1', commit='1733d3f868cef4d81af6edfc102221d80793937b')
- version('1.8.0', commit='02e3c6455bb1afe7c4cc59ad6d4d8bae7b01428b')
- version('1.6.0', commit='3567ac1142ba97770b701ee8e5f9e3e6c781bd56')
- version('1.4.0', commit='2e656514a4bf5a837ee6e14ce9b28a61dab955e7')
+ version("1.24.0", commit="372e4623b39f585d4196d21164436c1ba013173f")
+ version("1.22.0", commit="a53ec77c40ed3b3c84e91d794c1602dd509cad83")
+ version("1.18.0", commit="1d4e206a8ce68d5a1417ff51c26174ed9d0ba7d2")
+ version("1.12.0", commit="7e2c96fd8fd36710321498745f24cc6b59ac02f0")
+ version("1.10.1", commit="1733d3f868cef4d81af6edfc102221d80793937b")
+ version("1.8.0", commit="02e3c6455bb1afe7c4cc59ad6d4d8bae7b01428b")
+ version("1.6.0", commit="3567ac1142ba97770b701ee8e5f9e3e6c781bd56")
+ version("1.4.0", commit="2e656514a4bf5a837ee6e14ce9b28a61dab955e7")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-roxygen2/package.py b/var/spack/repos/builtin/packages/r-roxygen2/package.py
index 68f1dc9ec1..10bfa22a7e 100644
--- a/var/spack/repos/builtin/packages/r-roxygen2/package.py
+++ b/var/spack/repos/builtin/packages/r-roxygen2/package.py
@@ -16,33 +16,33 @@ class RRoxygen2(RPackage):
cran = "roxygen2"
- version('7.2.0', sha256='2ebfcfd567b9db6c606c6d42be1645b4e987f987995a2ad8954fa963a519448b')
- version('7.1.2', sha256='b3693d1eb57bb1c27134447ea7f64c353c085dd2237af7cfacc75fca3d2fc5fd')
- version('7.1.1', sha256='bdc55ded037d4366f4d25a0d69e880dacc0fa22bee20f595d45855eef8548861')
- version('7.1.0', sha256='7e9b36f6e7c01a5c8c4747340b3d0c064ce2e48c93fcfbfe45139854fae74103')
- version('6.1.1', sha256='ed46b7e062e0dfd8de671c7a5f6d120fb2b720982e918dbeb01e6985694c0273')
- version('5.0.1', sha256='9f755ddd08358be436f08b02df398e50e7508b856131aeeed235099bb3a7eba5')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@6.1.0:')
- depends_on('r@3.2:', type=('build', 'run'), when='@7.1.0:')
- depends_on('r@3.3:', type=('build', 'run'), when='@7.1.2:')
- depends_on('r-brew', type=('build', 'run'))
- depends_on('r-cli@3.3.0:', type=('build', 'run'), when='@7.2.0:')
- depends_on('r-commonmark', type=('build', 'run'))
- depends_on('r-desc@1.2.0:', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-knitr', type=('build', 'run'), when='@7.1.0:')
- depends_on('r-pkgload@1.0.2:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-purrr@0.3.3:', type=('build', 'run'), when='@7.1.0:')
- depends_on('r-r6@2.1.2:', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@7.1.0:')
- depends_on('r-rlang@1.0.0:', type=('build', 'run'), when='@7.2.0:')
- depends_on('r-stringi', type=('build', 'run'))
- depends_on('r-stringr@1.0.0:', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'), when='@7.2.0:')
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-cpp11', type=('build', 'run'), when='@7.1.2:')
-
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'), when='@:7.1.1')
+ version("7.2.0", sha256="2ebfcfd567b9db6c606c6d42be1645b4e987f987995a2ad8954fa963a519448b")
+ version("7.1.2", sha256="b3693d1eb57bb1c27134447ea7f64c353c085dd2237af7cfacc75fca3d2fc5fd")
+ version("7.1.1", sha256="bdc55ded037d4366f4d25a0d69e880dacc0fa22bee20f595d45855eef8548861")
+ version("7.1.0", sha256="7e9b36f6e7c01a5c8c4747340b3d0c064ce2e48c93fcfbfe45139854fae74103")
+ version("6.1.1", sha256="ed46b7e062e0dfd8de671c7a5f6d120fb2b720982e918dbeb01e6985694c0273")
+ version("5.0.1", sha256="9f755ddd08358be436f08b02df398e50e7508b856131aeeed235099bb3a7eba5")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@6.1.0:")
+ depends_on("r@3.2:", type=("build", "run"), when="@7.1.0:")
+ depends_on("r@3.3:", type=("build", "run"), when="@7.1.2:")
+ depends_on("r-brew", type=("build", "run"))
+ depends_on("r-cli@3.3.0:", type=("build", "run"), when="@7.2.0:")
+ depends_on("r-commonmark", type=("build", "run"))
+ depends_on("r-desc@1.2.0:", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-knitr", type=("build", "run"), when="@7.1.0:")
+ depends_on("r-pkgload@1.0.2:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-purrr@0.3.3:", type=("build", "run"), when="@7.1.0:")
+ depends_on("r-r6@2.1.2:", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@7.1.0:")
+ depends_on("r-rlang@1.0.0:", type=("build", "run"), when="@7.2.0:")
+ depends_on("r-stringi", type=("build", "run"))
+ depends_on("r-stringr@1.0.0:", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"), when="@7.2.0:")
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-cpp11", type=("build", "run"), when="@7.1.2:")
+
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"), when="@:7.1.1")
diff --git a/var/spack/repos/builtin/packages/r-rpart-plot/package.py b/var/spack/repos/builtin/packages/r-rpart-plot/package.py
index 66cf4861ba..faaaa6f6d6 100644
--- a/var/spack/repos/builtin/packages/r-rpart-plot/package.py
+++ b/var/spack/repos/builtin/packages/r-rpart-plot/package.py
@@ -14,14 +14,14 @@ class RRpartPlot(RPackage):
cran = "rpart.plot"
- version('3.1.1', sha256='30736240058df21a96d10912a091d938f821d521a3bc4efb9aa4ef6fb233024d')
- version('3.1.0', sha256='2aaba0c0cabbc17aca9085248b0ad74ee7ff2b8f729e020e84b3917de174c15e')
- version('3.0.9', sha256='1150f5e9899b3b31b17160617cd99c3ad340c8361aeb229264a7a3a3a28015a4')
- version('3.0.7', sha256='04e7fcadfa907507b74529c3ecfae4a0c782badf55e87d9c62dbd9a536ea9144')
- version('3.0.6', sha256='1c584290c8f58ded5c3f0638790a0da63408eca3ecd5d5c4d8c46954de9f4b02')
- version('2.1.0', sha256='17686da1883f97cb8f44be0d9cb915b366a3cb7313cd131b96497ab09f727436')
+ version("3.1.1", sha256="30736240058df21a96d10912a091d938f821d521a3bc4efb9aa4ef6fb233024d")
+ version("3.1.0", sha256="2aaba0c0cabbc17aca9085248b0ad74ee7ff2b8f729e020e84b3917de174c15e")
+ version("3.0.9", sha256="1150f5e9899b3b31b17160617cd99c3ad340c8361aeb229264a7a3a3a28015a4")
+ version("3.0.7", sha256="04e7fcadfa907507b74529c3ecfae4a0c782badf55e87d9c62dbd9a536ea9144")
+ version("3.0.6", sha256="1c584290c8f58ded5c3f0638790a0da63408eca3ecd5d5c4d8c46954de9f4b02")
+ version("2.1.0", sha256="17686da1883f97cb8f44be0d9cb915b366a3cb7313cd131b96497ab09f727436")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.0.7:')
- depends_on('r-rpart@4.1-10:', type=('build', 'run'))
- depends_on('r-rpart@4.1-15:', type=('build', 'run'), when='@3.0.9:')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.0.7:")
+ depends_on("r-rpart@4.1-10:", type=("build", "run"))
+ depends_on("r-rpart@4.1-15:", type=("build", "run"), when="@3.0.9:")
diff --git a/var/spack/repos/builtin/packages/r-rpart/package.py b/var/spack/repos/builtin/packages/r-rpart/package.py
index c9622200c1..2e5f2a9cf6 100644
--- a/var/spack/repos/builtin/packages/r-rpart/package.py
+++ b/var/spack/repos/builtin/packages/r-rpart/package.py
@@ -15,10 +15,10 @@ class RRpart(RPackage):
cran = "rpart"
- version('4.1.16', sha256='27ec75258a5a3459ad999f5f36760ead974930744249605bf8465f234f31425c')
- version('4.1-15', sha256='2b8ebe0e9e11592debff893f93f5a44a6765abd0bd956b0eb1f70e9394cfae5c')
- version('4.1-13', sha256='8e11a6552224e0fbe23a85aba95acd21a0889a3fe48277f3d345de3147c7494c')
- version('4.1-11', sha256='38ab80959f59bcdd2c4c72860e8dd0deab0307668cbbf24f96014d7a2496ad98')
- version('4.1-10', sha256='c5ddaed288d38118876a94c7aa5000dce0070b8d736dba12de64a9cb04dc2d85')
+ version("4.1.16", sha256="27ec75258a5a3459ad999f5f36760ead974930744249605bf8465f234f31425c")
+ version("4.1-15", sha256="2b8ebe0e9e11592debff893f93f5a44a6765abd0bd956b0eb1f70e9394cfae5c")
+ version("4.1-13", sha256="8e11a6552224e0fbe23a85aba95acd21a0889a3fe48277f3d345de3147c7494c")
+ version("4.1-11", sha256="38ab80959f59bcdd2c4c72860e8dd0deab0307668cbbf24f96014d7a2496ad98")
+ version("4.1-10", sha256="c5ddaed288d38118876a94c7aa5000dce0070b8d736dba12de64a9cb04dc2d85")
- depends_on('r@2.15.0:', type=('build', 'run'))
+ depends_on("r@2.15.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rpmm/package.py b/var/spack/repos/builtin/packages/r-rpmm/package.py
index 717d3a0039..8e66de0cb9 100644
--- a/var/spack/repos/builtin/packages/r-rpmm/package.py
+++ b/var/spack/repos/builtin/packages/r-rpmm/package.py
@@ -16,7 +16,7 @@ class RRpmm(RPackage):
cran = "RPMM"
- version('1.25', sha256='f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8')
+ version("1.25", sha256="f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8")
- depends_on('r@2.3.12:', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
+ depends_on("r@2.3.12:", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rpostgres/package.py b/var/spack/repos/builtin/packages/r-rpostgres/package.py
index 95a3b3af1a..1b77956813 100644
--- a/var/spack/repos/builtin/packages/r-rpostgres/package.py
+++ b/var/spack/repos/builtin/packages/r-rpostgres/package.py
@@ -14,21 +14,21 @@ class RRpostgres(RPackage):
cran = "RPostgres"
- version('1.4.4', sha256='c9cc0648c432f837fd0eb4922db4903357244d5a2cedd04ea236f249b08acdfc')
- version('1.4.3', sha256='a5be494a54b6e989fadafdc6ee2dc5c4c15bb17bacea9ad540b175c693331be2')
- version('1.3.1', sha256='f68ab095567317ec32d3faa10e5bcac400aee5aeca8d7132260d4e90f82158ea')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('r-blob@1.2.0:', type=('build', 'run'))
- depends_on('r-dbi@1.1.0:', type=('build', 'run'))
- depends_on('r-hms@0.5.0:', type=('build', 'run'))
- depends_on('r-hms@1.0.0:', type=('build', 'run'), when='@1.4.3:')
- depends_on('r-lubridate', type=('build', 'run'))
- depends_on('r-rcpp@0.11.4.2:', type=('build', 'run'))
- depends_on('r-rcpp@1.0.7:', type=('build', 'run'), when='@1.4.3:')
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-plogr@0.2.0:', type=('build', 'run'))
- depends_on('postgresql@9.0:')
-
- depends_on('r-bh', type=('build', 'run'), when='@:1.3.1')
+ version("1.4.4", sha256="c9cc0648c432f837fd0eb4922db4903357244d5a2cedd04ea236f249b08acdfc")
+ version("1.4.3", sha256="a5be494a54b6e989fadafdc6ee2dc5c4c15bb17bacea9ad540b175c693331be2")
+ version("1.3.1", sha256="f68ab095567317ec32d3faa10e5bcac400aee5aeca8d7132260d4e90f82158ea")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("r-blob@1.2.0:", type=("build", "run"))
+ depends_on("r-dbi@1.1.0:", type=("build", "run"))
+ depends_on("r-hms@0.5.0:", type=("build", "run"))
+ depends_on("r-hms@1.0.0:", type=("build", "run"), when="@1.4.3:")
+ depends_on("r-lubridate", type=("build", "run"))
+ depends_on("r-rcpp@0.11.4.2:", type=("build", "run"))
+ depends_on("r-rcpp@1.0.7:", type=("build", "run"), when="@1.4.3:")
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-plogr@0.2.0:", type=("build", "run"))
+ depends_on("postgresql@9.0:")
+
+ depends_on("r-bh", type=("build", "run"), when="@:1.3.1")
diff --git a/var/spack/repos/builtin/packages/r-rpostgresql/package.py b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
index a4a013226c..0dabf054c7 100644
--- a/var/spack/repos/builtin/packages/r-rpostgresql/package.py
+++ b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
@@ -21,10 +21,10 @@ class RRpostgresql(RPackage):
cran = "RPostgreSQL"
- version('0.7-3', sha256='bdbca10329aeb357f05364772964716dfb5ce2470f7eb4a33770862b6ded71b9')
- version('0.6-2', sha256='080118647208bfa2621bcaac0d324891cc513e07618fa22e3c50ec2050e1b0d5')
- version('0.4-1', sha256='6292e37fa841670a3fb1a0950ceb83d15beb4631c3c532c8ce279d1c0d10bf79')
+ version("0.7-3", sha256="bdbca10329aeb357f05364772964716dfb5ce2470f7eb4a33770862b6ded71b9")
+ version("0.6-2", sha256="080118647208bfa2621bcaac0d324891cc513e07618fa22e3c50ec2050e1b0d5")
+ version("0.4-1", sha256="6292e37fa841670a3fb1a0950ceb83d15beb4631c3c532c8ce279d1c0d10bf79")
- depends_on('r@2.9.0:', type=('build', 'run'))
- depends_on('r-dbi@0.3:', type=('build', 'run'))
- depends_on('postgresql')
+ depends_on("r@2.9.0:", type=("build", "run"))
+ depends_on("r-dbi@0.3:", type=("build", "run"))
+ depends_on("postgresql")
diff --git a/var/spack/repos/builtin/packages/r-rprojroot/package.py b/var/spack/repos/builtin/packages/r-rprojroot/package.py
index db515f90a6..e2d265a885 100644
--- a/var/spack/repos/builtin/packages/r-rprojroot/package.py
+++ b/var/spack/repos/builtin/packages/r-rprojroot/package.py
@@ -15,11 +15,11 @@ class RRprojroot(RPackage):
cran = "rprojroot"
- version('2.0.3', sha256='50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897')
- version('2.0.2', sha256='5fa161f0d4ac3b7a99dc6aa2d832251001dc92e93c828593a51fe90afd019e1f')
- version('1.3-2', sha256='df5665834941d8b0e377a8810a04f98552201678300f168de5f58a587b73238b')
- version('1.2', sha256='28b4d235ce67314528a0c1cc7e98faed42437b42e07fca18a59a80fdc3eefeb9')
+ version("2.0.3", sha256="50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897")
+ version("2.0.2", sha256="5fa161f0d4ac3b7a99dc6aa2d832251001dc92e93c828593a51fe90afd019e1f")
+ version("1.3-2", sha256="df5665834941d8b0e377a8810a04f98552201678300f168de5f58a587b73238b")
+ version("1.2", sha256="28b4d235ce67314528a0c1cc7e98faed42437b42e07fca18a59a80fdc3eefeb9")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
- depends_on('r-backports', type=('build', 'run'), when='@:1.3-2')
+ depends_on("r-backports", type=("build", "run"), when="@:1.3-2")
diff --git a/var/spack/repos/builtin/packages/r-rpsychi/package.py b/var/spack/repos/builtin/packages/r-rpsychi/package.py
index 19a087d837..aaa1ec0e5f 100644
--- a/var/spack/repos/builtin/packages/r-rpsychi/package.py
+++ b/var/spack/repos/builtin/packages/r-rpsychi/package.py
@@ -23,8 +23,8 @@ class RRpsychi(RPackage):
meta-analysis, even if a researcher do not report effect size in a
published work."""
- cran = 'rpsychi'
+ cran = "rpsychi"
- version('0.8', sha256='9c5465f59c92431e345418aee5bc1f5bc12f843492b20ccb9f92f3bdf19a80c0')
+ version("0.8", sha256="9c5465f59c92431e345418aee5bc1f5bc12f843492b20ccb9f92f3bdf19a80c0")
- depends_on('r-gtools', type=('build', 'run'))
+ depends_on("r-gtools", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rrblup/package.py b/var/spack/repos/builtin/packages/r-rrblup/package.py
index 41a08c0f5e..e4abe688fa 100644
--- a/var/spack/repos/builtin/packages/r-rrblup/package.py
+++ b/var/spack/repos/builtin/packages/r-rrblup/package.py
@@ -17,7 +17,7 @@ class RRrblup(RPackage):
cran = "rrBLUP"
- version('4.6.1', sha256='e9230e74cc430a83ac5567071cb1c7f00b35c368f7d79bcc1cfde7225446c4db')
- version('4.6', sha256='28b475a1466fcdc1780caace75cf34155338fda496cebd5799315598a4bc84af')
+ version("4.6.1", sha256="e9230e74cc430a83ac5567071cb1c7f00b35c368f7d79bcc1cfde7225446c4db")
+ version("4.6", sha256="28b475a1466fcdc1780caace75cf34155338fda496cebd5799315598a4bc84af")
- depends_on('r@2.14:', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rrcov/package.py b/var/spack/repos/builtin/packages/r-rrcov/package.py
index 1147c69e60..a6e71464e2 100644
--- a/var/spack/repos/builtin/packages/r-rrcov/package.py
+++ b/var/spack/repos/builtin/packages/r-rrcov/package.py
@@ -21,16 +21,16 @@ class RRrcov(RPackage):
cran = "rrcov"
- version('1.7-0', sha256='cbcca84a82d63fa50556aa8db29312b9bb588a638eb306ce4a81c271529228fd')
- version('1.6-1', sha256='9f3b500f2bdac375d0374cd1b120806c785b1981101d7d018fc1fcc73e305d90')
- version('1.6-0', sha256='795f3a49b3e17c9c6e0fdd865e81a0402cefda970032c8299bcf2056ca7ec944')
- version('1.5-5', sha256='1f7f07558e347e7d1f1adff68631764670bc672777a7d990901c4fa94cc0e629')
- version('1.4-7', sha256='cbd08ccce8b583a2f88946a3267c8fc494ee2b44ba749b9296a6e3d818f6f293')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-robustbase@0.92.1:', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-pcapp', type=('build', 'run'))
-
- depends_on('r-cluster', type=('build', 'run'), when='@:1.4-7')
+ version("1.7-0", sha256="cbcca84a82d63fa50556aa8db29312b9bb588a638eb306ce4a81c271529228fd")
+ version("1.6-1", sha256="9f3b500f2bdac375d0374cd1b120806c785b1981101d7d018fc1fcc73e305d90")
+ version("1.6-0", sha256="795f3a49b3e17c9c6e0fdd865e81a0402cefda970032c8299bcf2056ca7ec944")
+ version("1.5-5", sha256="1f7f07558e347e7d1f1adff68631764670bc672777a7d990901c4fa94cc0e629")
+ version("1.4-7", sha256="cbd08ccce8b583a2f88946a3267c8fc494ee2b44ba749b9296a6e3d818f6f293")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-robustbase@0.92.1:", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-pcapp", type=("build", "run"))
+
+ depends_on("r-cluster", type=("build", "run"), when="@:1.4-7")
diff --git a/var/spack/repos/builtin/packages/r-rrpp/package.py b/var/spack/repos/builtin/packages/r-rrpp/package.py
index ac672ab773..d915619af1 100644
--- a/var/spack/repos/builtin/packages/r-rrpp/package.py
+++ b/var/spack/repos/builtin/packages/r-rrpp/package.py
@@ -25,14 +25,14 @@ class RRrpp(RPackage):
cran = "RRPP"
- version('1.2.3', sha256='6eee638af94d69d4dd471a5e01243622dedef3c0c95b3363e21e8e11f0ea564c')
- version('1.1.2', sha256='2b563f3db9e349abe481444f48a1a3e6bc1154de8259b7a7060ab588287e80c0')
- version('0.6.2', sha256='f8ffa318d806184c0e65929ea1b8b6a88bb9e45f77db2da5a83c6fe550b084dc')
- version('0.4.2', sha256='21a4ebb549d21f66ee9107adf762eee630e478bc740f232f384ba1a6b1cd3bf4')
- version('0.4.1', sha256='d7cd3b089240d7f7e13f65f0259487669a378ffae062aee33d4dc6ab0f86f899')
- version('0.3.0', sha256='34fea6ce7a78e4f38398d3b99585bab11a8171bc8b9a4e461b6d984ed1373739')
-
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.6.2:')
- depends_on('r-ape', type=('build', 'run'), when='@0.6.2:')
- depends_on('r-ggplot2', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-matrix', type=('build', 'run'), when='@1.1.2:')
+ version("1.2.3", sha256="6eee638af94d69d4dd471a5e01243622dedef3c0c95b3363e21e8e11f0ea564c")
+ version("1.1.2", sha256="2b563f3db9e349abe481444f48a1a3e6bc1154de8259b7a7060ab588287e80c0")
+ version("0.6.2", sha256="f8ffa318d806184c0e65929ea1b8b6a88bb9e45f77db2da5a83c6fe550b084dc")
+ version("0.4.2", sha256="21a4ebb549d21f66ee9107adf762eee630e478bc740f232f384ba1a6b1cd3bf4")
+ version("0.4.1", sha256="d7cd3b089240d7f7e13f65f0259487669a378ffae062aee33d4dc6ab0f86f899")
+ version("0.3.0", sha256="34fea6ce7a78e4f38398d3b99585bab11a8171bc8b9a4e461b6d984ed1373739")
+
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.6.2:")
+ depends_on("r-ape", type=("build", "run"), when="@0.6.2:")
+ depends_on("r-ggplot2", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-matrix", type=("build", "run"), when="@1.1.2:")
diff --git a/var/spack/repos/builtin/packages/r-rsamtools/package.py b/var/spack/repos/builtin/packages/r-rsamtools/package.py
index af672b60f3..e9e6f4de8f 100644
--- a/var/spack/repos/builtin/packages/r-rsamtools/package.py
+++ b/var/spack/repos/builtin/packages/r-rsamtools/package.py
@@ -8,45 +8,45 @@ from spack.package import *
class RRsamtools(RPackage):
"""Binary alignment (BAM), FASTA, variant call (BCF), and tabix file
- import.
+ import.
- This package provides an interface to the 'samtools', 'bcftools', and
- 'tabix' utilities for manipulating SAM (Sequence Alignment / Map),
- FASTA, binary variant call (BCF) and compressed indexed tab-delimited
- (tabix) files."""
+ This package provides an interface to the 'samtools', 'bcftools', and
+ 'tabix' utilities for manipulating SAM (Sequence Alignment / Map),
+ FASTA, binary variant call (BCF) and compressed indexed tab-delimited
+ (tabix) files."""
bioc = "Rsamtools"
- version('2.12.0', commit='d6a65dd57c5a17e4c441a27492e92072f69b175e')
- version('2.10.0', commit='b19738e85a467f9032fc7903be3ba10e655e7061')
- version('2.6.0', commit='f2aea061517c5a55e314c039251ece9831c7fad2')
- version('2.2.1', commit='f10084658b4c9744961fcacd79c0ae9a7a40cd30')
- version('2.0.3', commit='17d254cc026574d20db67474260944bf60befd70')
- version('1.34.1', commit='0ec1d45c7a14b51d019c3e20c4aa87c6bd2b0d0c')
- version('1.32.3', commit='0aa3f134143b045aa423894de81912becf64e4c2')
- version('1.30.0', commit='61b365fe3762e796b3808cec7238944b7f68d7a6')
- version('1.28.0', commit='dfa5b6abef68175586f21add7927174786412472')
-
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.10.0:')
- depends_on('r-genomeinfodb@1.1.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.21.6:', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.8:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-biostrings@2.37.1:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-biocgenerics@0.1.3:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.25.1:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-s4vectors@0.13.8:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-iranges@2.3.7:', type=('build', 'run'))
- depends_on('r-iranges@2.13.12:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-xvector@0.15.1:', type=('build', 'run'))
- depends_on('r-xvector@0.19.7:', type=('build', 'run'), when='@1.32.3:')
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('r-bitops', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-rhtslib@1.16.3', type=('build', 'run'), when='@2.0.3')
- depends_on('r-rhtslib@1.17.7:', type=('build', 'run'), when='@2.2.1:')
- depends_on('gmake', type='build')
+ version("2.12.0", commit="d6a65dd57c5a17e4c441a27492e92072f69b175e")
+ version("2.10.0", commit="b19738e85a467f9032fc7903be3ba10e655e7061")
+ version("2.6.0", commit="f2aea061517c5a55e314c039251ece9831c7fad2")
+ version("2.2.1", commit="f10084658b4c9744961fcacd79c0ae9a7a40cd30")
+ version("2.0.3", commit="17d254cc026574d20db67474260944bf60befd70")
+ version("1.34.1", commit="0ec1d45c7a14b51d019c3e20c4aa87c6bd2b0d0c")
+ version("1.32.3", commit="0aa3f134143b045aa423894de81912becf64e4c2")
+ version("1.30.0", commit="61b365fe3762e796b3808cec7238944b7f68d7a6")
+ version("1.28.0", commit="dfa5b6abef68175586f21add7927174786412472")
+
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.10.0:")
+ depends_on("r-genomeinfodb@1.1.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.21.6:", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.8:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-biostrings@2.37.1:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-biocgenerics@0.1.3:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-s4vectors@0.13.8:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-iranges@2.3.7:", type=("build", "run"))
+ depends_on("r-iranges@2.13.12:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-xvector@0.15.1:", type=("build", "run"))
+ depends_on("r-xvector@0.19.7:", type=("build", "run"), when="@1.32.3:")
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("r-bitops", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-rhtslib@1.16.3", type=("build", "run"), when="@2.0.3")
+ depends_on("r-rhtslib@1.17.7:", type=("build", "run"), when="@2.2.1:")
+ depends_on("gmake", type="build")
# this is not a listed dependency but is needed
- depends_on('curl')
+ depends_on("curl")
diff --git a/var/spack/repos/builtin/packages/r-rsconnect/package.py b/var/spack/repos/builtin/packages/r-rsconnect/package.py
index 78b9d85dc7..6f6c60bb9e 100644
--- a/var/spack/repos/builtin/packages/r-rsconnect/package.py
+++ b/var/spack/repos/builtin/packages/r-rsconnect/package.py
@@ -15,18 +15,18 @@ class RRsconnect(RPackage):
cran = "rsconnect"
- version('0.8.26', sha256='faafabbed803743799b345051f221aef2b4497b421fc98092ca41c05ef6b5fed')
- version('0.8.25', sha256='3c055277f745f2ca37a73e2f425249307cea4dc95ecc59fbe05ee8b6cf26d9cf')
- version('0.8.17', sha256='64767a4d626395b7871375956a9f0455c3d64ff6e779633b0e554921d85da231')
+ version("0.8.26", sha256="faafabbed803743799b345051f221aef2b4497b421fc98092ca41c05ef6b5fed")
+ version("0.8.25", sha256="3c055277f745f2ca37a73e2f425249307cea4dc95ecc59fbe05ee8b6cf26d9cf")
+ version("0.8.17", sha256="64767a4d626395b7871375956a9f0455c3d64ff6e779633b0e554921d85da231")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-openssl', type=('build', 'run'))
- depends_on('r-openssl@2.0.0:', type=('build', 'run'), when='@0.8.26:')
- depends_on('r-packrat@0.6:', type=('build', 'run'), when='@0.8.18:')
- depends_on('r-packrat@0.5:', type=('build', 'run'))
- depends_on('r-packrat@0.6:', type=('build', 'run'), when='@0.8.26:')
- depends_on('r-rstudioapi@0.5:', type=('build', 'run'))
- depends_on('r-yaml@2.1.5:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-openssl", type=("build", "run"))
+ depends_on("r-openssl@2.0.0:", type=("build", "run"), when="@0.8.26:")
+ depends_on("r-packrat@0.6:", type=("build", "run"), when="@0.8.18:")
+ depends_on("r-packrat@0.5:", type=("build", "run"))
+ depends_on("r-packrat@0.6:", type=("build", "run"), when="@0.8.26:")
+ depends_on("r-rstudioapi@0.5:", type=("build", "run"))
+ depends_on("r-yaml@2.1.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rsnns/package.py b/var/spack/repos/builtin/packages/r-rsnns/package.py
index b074323cd2..bae6418616 100644
--- a/var/spack/repos/builtin/packages/r-rsnns/package.py
+++ b/var/spack/repos/builtin/packages/r-rsnns/package.py
@@ -20,11 +20,11 @@ class RRsnns(RPackage):
cran = "RSNNS"
- version('0.4-14', sha256='7f6262cb2b49b5d5979ccce9ded9cbb2c0b348fd7c9eabc1ea1d31c51a102c20')
- version('0.4-12', sha256='b18dfeda71573bc92c6888af72da407651bff7571967965fd3008f0d331743b9')
- version('0.4-11', sha256='87943126e98ae47f366e3025d0f3dc2f5eb0aa2924508fd9ee9a0685d7cb477c')
- version('0.4-10.1', sha256='38bb3d172390bd01219332ec834744274b87b01f94d23b29a9d818c2bca04071')
- version('0.4-7', sha256='ec941dddda55e4e29ed281bd8768a93d65e0d86d56ecab0f2013c64c8d1a4994')
-
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.8.5:', type=('build', 'run'))
+ version("0.4-14", sha256="7f6262cb2b49b5d5979ccce9ded9cbb2c0b348fd7c9eabc1ea1d31c51a102c20")
+ version("0.4-12", sha256="b18dfeda71573bc92c6888af72da407651bff7571967965fd3008f0d331743b9")
+ version("0.4-11", sha256="87943126e98ae47f366e3025d0f3dc2f5eb0aa2924508fd9ee9a0685d7cb477c")
+ version("0.4-10.1", sha256="38bb3d172390bd01219332ec834744274b87b01f94d23b29a9d818c2bca04071")
+ version("0.4-7", sha256="ec941dddda55e4e29ed281bd8768a93d65e0d86d56ecab0f2013c64c8d1a4994")
+
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.8.5:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rsolnp/package.py b/var/spack/repos/builtin/packages/r-rsolnp/package.py
index 866d2cfbad..af7a96e7f2 100644
--- a/var/spack/repos/builtin/packages/r-rsolnp/package.py
+++ b/var/spack/repos/builtin/packages/r-rsolnp/package.py
@@ -14,7 +14,7 @@ class RRsolnp(RPackage):
cran = "Rsolnp"
- version('1.16', sha256='3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670')
+ version("1.16", sha256="3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-truncnorm', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-truncnorm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rspectra/package.py b/var/spack/repos/builtin/packages/r-rspectra/package.py
index d2683e0647..00567e9ca0 100644
--- a/var/spack/repos/builtin/packages/r-rspectra/package.py
+++ b/var/spack/repos/builtin/packages/r-rspectra/package.py
@@ -22,11 +22,11 @@ class RRspectra(RPackage):
cran = "RSpectra"
- version('0.16-1', sha256='cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a')
- version('0.16-0', sha256='aaf1cfc9ffe3a4c6684247899924e1c18306971dfef4bae1dc596a2fb42a64a9')
- version('0.15-0', sha256='1ad5698201007044a0420cb10b7c48e94312a8a1d22b9d946d5de1c6743969a9')
+ version("0.16-1", sha256="cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a")
+ version("0.16-0", sha256="aaf1cfc9ffe3a4c6684247899924e1c18306971dfef4bae1dc596a2fb42a64a9")
+ version("0.15-0", sha256="1ad5698201007044a0420cb10b7c48e94312a8a1d22b9d946d5de1c6743969a9")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-matrix@1.1-0:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.5:', type=('build', 'run'))
- depends_on('r-rcppeigen@0.3.3.3.0:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-matrix@1.1-0:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.5:", type=("build", "run"))
+ depends_on("r-rcppeigen@0.3.3.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rsqlite/package.py b/var/spack/repos/builtin/packages/r-rsqlite/package.py
index f411ecc0b1..f10e2701a7 100644
--- a/var/spack/repos/builtin/packages/r-rsqlite/package.py
+++ b/var/spack/repos/builtin/packages/r-rsqlite/package.py
@@ -15,23 +15,23 @@ class RRsqlite(RPackage):
cran = "RSQLite"
- version('2.2.14', sha256='2ae36a875ebc02497985b2ad9ddc6a5434f576e2ab25769580749d9e4f3b607c')
- version('2.2.10', sha256='06aeff33902082ef1ebd5378cd0927df7922aaf377c78acfdd8f34f2888800a8')
- version('2.2.9', sha256='4423f1fea179ecd1c09b0b52bfb684983a27de82d5807590b5fc723697d5bb1c')
- version('2.2.2', sha256='299ceafd4986f60dbca2d705112aa3c29ff68fcbc188d9caaa0493e63a57a873')
- version('2.1.2', sha256='66dad425d22b09651c510bf84b7fc36375ce537782f02585cf1c6856ae82d9c6')
- version('2.1.0', sha256='ad6081be2885be5921b1a44b1896e6a8568c8cff40789f43bfaac9f818767642')
- version('2.0', sha256='7f0fe629f34641c6af1e8a34412f3089ee2d184853843209d97ffe29430ceff6')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('r-blob@1.2.0:', type=('build', 'run'))
- depends_on('r-dbi@1.0.0:', type=('build', 'run'))
- depends_on('r-dbi@1.1.0:', type=('build', 'run'), when='@2.2.10:')
- depends_on('r-memoise', type=('build', 'run'))
- depends_on('r-pkgconfig', type=('build', 'run'))
- depends_on('r-rcpp@0.12.7:', type=('build', 'run'))
- depends_on('r-rcpp@1.0.7:', type=('build', 'run'), when='@2.2.9:')
- depends_on('r-plogr@0.2.0:', type=('build', 'run'))
-
- depends_on('r-bh', type=('build', 'run'), when='@:2.2.2')
+ version("2.2.14", sha256="2ae36a875ebc02497985b2ad9ddc6a5434f576e2ab25769580749d9e4f3b607c")
+ version("2.2.10", sha256="06aeff33902082ef1ebd5378cd0927df7922aaf377c78acfdd8f34f2888800a8")
+ version("2.2.9", sha256="4423f1fea179ecd1c09b0b52bfb684983a27de82d5807590b5fc723697d5bb1c")
+ version("2.2.2", sha256="299ceafd4986f60dbca2d705112aa3c29ff68fcbc188d9caaa0493e63a57a873")
+ version("2.1.2", sha256="66dad425d22b09651c510bf84b7fc36375ce537782f02585cf1c6856ae82d9c6")
+ version("2.1.0", sha256="ad6081be2885be5921b1a44b1896e6a8568c8cff40789f43bfaac9f818767642")
+ version("2.0", sha256="7f0fe629f34641c6af1e8a34412f3089ee2d184853843209d97ffe29430ceff6")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("r-blob@1.2.0:", type=("build", "run"))
+ depends_on("r-dbi@1.0.0:", type=("build", "run"))
+ depends_on("r-dbi@1.1.0:", type=("build", "run"), when="@2.2.10:")
+ depends_on("r-memoise", type=("build", "run"))
+ depends_on("r-pkgconfig", type=("build", "run"))
+ depends_on("r-rcpp@0.12.7:", type=("build", "run"))
+ depends_on("r-rcpp@1.0.7:", type=("build", "run"), when="@2.2.9:")
+ depends_on("r-plogr@0.2.0:", type=("build", "run"))
+
+ depends_on("r-bh", type=("build", "run"), when="@:2.2.2")
diff --git a/var/spack/repos/builtin/packages/r-rstan/package.py b/var/spack/repos/builtin/packages/r-rstan/package.py
index d4da197100..6dbdf688a6 100644
--- a/var/spack/repos/builtin/packages/r-rstan/package.py
+++ b/var/spack/repos/builtin/packages/r-rstan/package.py
@@ -21,35 +21,35 @@ class RRstan(RPackage):
cran = "rstan"
- version('2.21.5', sha256='86e4fe562d8ddcd0b02336f35a420fa8786dd21de7ca2bebb4ed6e9c252bb9ea')
- version('2.21.3', sha256='76bcbf1cb246a202e5680ea6e91bb4142ce19156e8960a9850f6ea0e206f92b1')
- version('2.21.2', sha256='e30e04d38a612e2cb3ac69b53eaa19f7ede8b3548bf82f7892a2e9991d46054a')
- version('2.19.2', sha256='31e4ceb9c327cd62873225097ffa538c2ac4cb0547c52271e52e4c7652d508da')
- version('2.18.2', sha256='4d75dad95610d5a1d1c89a4ddbaf4326462e4ffe0ad28aed2129f2d9292e70ff')
- version('2.17.2', sha256='a7b197e6e42f8f0c302da9205afc19a0261eaf6af1425854303d2ce6cbd36729')
- version('2.10.1', sha256='4d2040742607f8675633c6b8c0a2e810f2fe3077f9242b1edfd42642613a8294')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.18.1:')
- depends_on('r-stanheaders@2.18.1:', type=('build', 'run'))
- depends_on('r-stanheaders@2.21.0:', type=('build', 'run'), when='@2.21.2:')
- depends_on('r-ggplot2@2.0.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'), when='@2.21.2:')
- depends_on('r-inline', type=('build', 'run'))
- depends_on('r-gridextra@2.0.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'))
- depends_on('r-rcppparallel@5.0.1:', type=('build', 'run'), when='@2.21.2:')
- depends_on('r-loo@2.0.0:', type=('build', 'run'), when='@2.18:')
- depends_on('r-loo@2.3.0:', type=('build', 'run'), when='@2.21.2:')
- depends_on('r-pkgbuild', type=('build', 'run'), when='@2.18:')
- depends_on('r-rcppeigen@0.3.3.3.0:', type=('build', 'run'))
- depends_on('r-bh@1.69.0:', type=('build', 'run'))
- depends_on('r-bh@1.72.0-2:', type=('build', 'run'), when='@2.21.2:')
- depends_on('gmake', type='build')
- depends_on('pandoc', type='build')
-
- depends_on('r-withr', type=('build', 'run'), when='@2.21.2')
- depends_on('r-v8', type=('build', 'run'), when='@2.21.2')
-
- conflicts('%gcc@:4.9', when='@2.18:')
+ version("2.21.5", sha256="86e4fe562d8ddcd0b02336f35a420fa8786dd21de7ca2bebb4ed6e9c252bb9ea")
+ version("2.21.3", sha256="76bcbf1cb246a202e5680ea6e91bb4142ce19156e8960a9850f6ea0e206f92b1")
+ version("2.21.2", sha256="e30e04d38a612e2cb3ac69b53eaa19f7ede8b3548bf82f7892a2e9991d46054a")
+ version("2.19.2", sha256="31e4ceb9c327cd62873225097ffa538c2ac4cb0547c52271e52e4c7652d508da")
+ version("2.18.2", sha256="4d75dad95610d5a1d1c89a4ddbaf4326462e4ffe0ad28aed2129f2d9292e70ff")
+ version("2.17.2", sha256="a7b197e6e42f8f0c302da9205afc19a0261eaf6af1425854303d2ce6cbd36729")
+ version("2.10.1", sha256="4d2040742607f8675633c6b8c0a2e810f2fe3077f9242b1edfd42642613a8294")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.18.1:")
+ depends_on("r-stanheaders@2.18.1:", type=("build", "run"))
+ depends_on("r-stanheaders@2.21.0:", type=("build", "run"), when="@2.21.2:")
+ depends_on("r-ggplot2@2.0.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"), when="@2.21.2:")
+ depends_on("r-inline", type=("build", "run"))
+ depends_on("r-gridextra@2.0.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"))
+ depends_on("r-rcppparallel@5.0.1:", type=("build", "run"), when="@2.21.2:")
+ depends_on("r-loo@2.0.0:", type=("build", "run"), when="@2.18:")
+ depends_on("r-loo@2.3.0:", type=("build", "run"), when="@2.21.2:")
+ depends_on("r-pkgbuild", type=("build", "run"), when="@2.18:")
+ depends_on("r-rcppeigen@0.3.3.3.0:", type=("build", "run"))
+ depends_on("r-bh@1.69.0:", type=("build", "run"))
+ depends_on("r-bh@1.72.0-2:", type=("build", "run"), when="@2.21.2:")
+ depends_on("gmake", type="build")
+ depends_on("pandoc", type="build")
+
+ depends_on("r-withr", type=("build", "run"), when="@2.21.2")
+ depends_on("r-v8", type=("build", "run"), when="@2.21.2")
+
+ conflicts("%gcc@:4.9", when="@2.18:")
diff --git a/var/spack/repos/builtin/packages/r-rstantools/package.py b/var/spack/repos/builtin/packages/r-rstantools/package.py
index 4251c213d8..3fe6af99f4 100644
--- a/var/spack/repos/builtin/packages/r-rstantools/package.py
+++ b/var/spack/repos/builtin/packages/r-rstantools/package.py
@@ -17,12 +17,12 @@ class RRstantools(RPackage):
cran = "rstantools"
- version('2.2.0', sha256='cb810baeb90c67668361b666c6862df9917aff6aaec63d2c3a485f28407c4eb7')
- version('2.1.1', sha256='c95b15de8ec577eeb24bb5206e7b685d882f88b5e6902efda924b7217f463d2d')
- version('1.5.1', sha256='5cab16c132c12e84bd08e18cd6ef25ba39d67a04ce61015fc4490659c7cfb485')
+ version("2.2.0", sha256="cb810baeb90c67668361b666c6862df9917aff6aaec63d2c3a485f28407c4eb7")
+ version("2.1.1", sha256="c95b15de8ec577eeb24bb5206e7b685d882f88b5e6902efda924b7217f463d2d")
+ version("1.5.1", sha256="5cab16c132c12e84bd08e18cd6ef25ba39d67a04ce61015fc4490659c7cfb485")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-desc', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-rcpp@0.12.16:', type=('build', 'run'), when='@2.1.1:')
- depends_on('r-rcppparallel@5.0.1:', type=('build', 'run'), when='@2.1.1:')
- depends_on('pandoc', type='build')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-desc", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-rcpp@0.12.16:", type=("build", "run"), when="@2.1.1:")
+ depends_on("r-rcppparallel@5.0.1:", type=("build", "run"), when="@2.1.1:")
+ depends_on("pandoc", type="build")
diff --git a/var/spack/repos/builtin/packages/r-rstatix/package.py b/var/spack/repos/builtin/packages/r-rstatix/package.py
index 3eb2fd60da..48d213db90 100644
--- a/var/spack/repos/builtin/packages/r-rstatix/package.py
+++ b/var/spack/repos/builtin/packages/r-rstatix/package.py
@@ -26,19 +26,19 @@ class RRstatix(RPackage):
cran = "rstatix"
- version('0.7.0', sha256='a5ae17dc32cc26fc5dcab9ff0a9747ce3786c9fe091699247ad8b9f823f2600c')
- version('0.6.0', sha256='ebb28e20c7e28809194a2a027bc83303b17be1e3db32f49325727c9279df9c5b')
+ version("0.7.0", sha256="a5ae17dc32cc26fc5dcab9ff0a9747ce3786c9fe091699247ad8b9f823f2600c")
+ version("0.6.0", sha256="ebb28e20c7e28809194a2a027bc83303b17be1e3db32f49325727c9279df9c5b")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-broom@0.5.6:', type=('build', 'run'))
- depends_on('r-broom@0.7.4:', type=('build', 'run'), when='@0.7.0:')
- depends_on('r-rlang@0.3.1:', type=('build', 'run'))
- depends_on('r-tibble@2.1.3:', type=('build', 'run'))
- depends_on('r-dplyr@0.7.1:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-corrplot', type=('build', 'run'))
- depends_on('r-tidyselect@1.0.0:', type=('build', 'run'))
- depends_on('r-car', type=('build', 'run'))
- depends_on('r-generics@0.0.2:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-broom@0.5.6:", type=("build", "run"))
+ depends_on("r-broom@0.7.4:", type=("build", "run"), when="@0.7.0:")
+ depends_on("r-rlang@0.3.1:", type=("build", "run"))
+ depends_on("r-tibble@2.1.3:", type=("build", "run"))
+ depends_on("r-dplyr@0.7.1:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-corrplot", type=("build", "run"))
+ depends_on("r-tidyselect@1.0.0:", type=("build", "run"))
+ depends_on("r-car", type=("build", "run"))
+ depends_on("r-generics@0.0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rstudioapi/package.py b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
index 821aa014a3..01143cf39e 100644
--- a/var/spack/repos/builtin/packages/r-rstudioapi/package.py
+++ b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
@@ -14,10 +14,10 @@ class RRstudioapi(RPackage):
cran = "rstudioapi"
- version('0.13', sha256='aac35bbdcb4a8e8caba943bc8a2b98120e8940b80cd1020224bb1a26ff776d8b')
- version('0.11', sha256='13e07fb7e2eba8cf1d885db2721901d676d219a1042d7ef5d166125e4905306b')
- version('0.10', sha256='80c5aa3063bcab649904cb92f0b164edffa2f6b0e6a8f7ea28ae317b80e1ab96')
- version('0.9.0', sha256='5149a2830ae7134c396ce64764b263cf9f348d4399f53da3804f40d7d5bec13e')
- version('0.7', sha256='a541bc76ef082d2c27e42fd683f8262cb195b1497af3509178d2642870397a8c')
- version('0.6', sha256='da24c6cdb13af1bdf4261671a065dcca4c1b7af1412cb810eb805bf3c5f97bfe')
- version('0.5', sha256='d5f35bf9614ca2a4bc5333bac7a494d81fbe72b34783304f811f8e0abac3f669')
+ version("0.13", sha256="aac35bbdcb4a8e8caba943bc8a2b98120e8940b80cd1020224bb1a26ff776d8b")
+ version("0.11", sha256="13e07fb7e2eba8cf1d885db2721901d676d219a1042d7ef5d166125e4905306b")
+ version("0.10", sha256="80c5aa3063bcab649904cb92f0b164edffa2f6b0e6a8f7ea28ae317b80e1ab96")
+ version("0.9.0", sha256="5149a2830ae7134c396ce64764b263cf9f348d4399f53da3804f40d7d5bec13e")
+ version("0.7", sha256="a541bc76ef082d2c27e42fd683f8262cb195b1497af3509178d2642870397a8c")
+ version("0.6", sha256="da24c6cdb13af1bdf4261671a065dcca4c1b7af1412cb810eb805bf3c5f97bfe")
+ version("0.5", sha256="d5f35bf9614ca2a4bc5333bac7a494d81fbe72b34783304f811f8e0abac3f669")
diff --git a/var/spack/repos/builtin/packages/r-rsvd/package.py b/var/spack/repos/builtin/packages/r-rsvd/package.py
index 852351fb1f..ee6c11f74b 100644
--- a/var/spack/repos/builtin/packages/r-rsvd/package.py
+++ b/var/spack/repos/builtin/packages/r-rsvd/package.py
@@ -26,10 +26,10 @@ class RRsvd(RPackage):
cran = "rsvd"
- version('1.0.5', sha256='e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e')
- version('1.0.3', sha256='13560e0fc3ae6927c4cc4d5ad816b1f640a2a445b712a5a612ab17ea0ce179bb')
- version('1.0.2', sha256='c8fe5c18bf7bcfe32604a897e3a7caae39b49e47e93edad9e4d07657fc392a3a')
+ version("1.0.5", sha256="e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e")
+ version("1.0.3", sha256="13560e0fc3ae6927c4cc4d5ad816b1f640a2a445b712a5a612ab17ea0ce179bb")
+ version("1.0.2", sha256="c8fe5c18bf7bcfe32604a897e3a7caae39b49e47e93edad9e4d07657fc392a3a")
- depends_on('r@3.2.2:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.0.5:')
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@3.2.2:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.0.5:")
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rtracklayer/package.py b/var/spack/repos/builtin/packages/r-rtracklayer/package.py
index 24fc1955b1..e095dd3251 100644
--- a/var/spack/repos/builtin/packages/r-rtracklayer/package.py
+++ b/var/spack/repos/builtin/packages/r-rtracklayer/package.py
@@ -9,49 +9,49 @@ from spack.package import *
class RRtracklayer(RPackage):
"""R interface to genome annotation files and the UCSC genome browser.
- Extensible framework for interacting with multiple genome browsers
- (currently UCSC built-in) and manipulating annotation tracks in various
- formats (currently GFF, BED, bedGraph, BED15, WIG, BigWig and 2bit
- built-in). The user may export/import tracks to/from the supported
- browsers, as well as query and modify the browser state, such as the
- current viewport."""
+ Extensible framework for interacting with multiple genome browsers
+ (currently UCSC built-in) and manipulating annotation tracks in various
+ formats (currently GFF, BED, bedGraph, BED15, WIG, BigWig and 2bit
+ built-in). The user may export/import tracks to/from the supported
+ browsers, as well as query and modify the browser state, such as the
+ current viewport."""
bioc = "rtracklayer"
- version('1.56.0', commit='1d70f7dc464ad87a1fde61588cd9ae0cb86b6e86')
- version('1.54.0', commit='04cdd75521a8364e67a49d7352500dd4a3e83c55')
- version('1.50.0', commit='d2e61f72ff5d5a94c2c487ba108a37f23bfcc1e6')
- version('1.44.4', commit='aec96e85daf53b5c5eb2e89250d2755352be4de3')
- version('1.42.2', commit='76702f671faea736807d54aeecfbadcd152d94c5')
- version('1.40.6', commit='ba9a6e711504a702147383bc7abfcc36eb304df7')
- version('1.38.3', commit='f20db703c09dc7e808c09e9b78c15aec9e546248')
- version('1.36.6', commit='8c0ac7230f94e0c5a981acbb178c8de70e968131')
+ version("1.56.0", commit="1d70f7dc464ad87a1fde61588cd9ae0cb86b6e86")
+ version("1.54.0", commit="04cdd75521a8364e67a49d7352500dd4a3e83c55")
+ version("1.50.0", commit="d2e61f72ff5d5a94c2c487ba108a37f23bfcc1e6")
+ version("1.44.4", commit="aec96e85daf53b5c5eb2e89250d2755352be4de3")
+ version("1.42.2", commit="76702f671faea736807d54aeecfbadcd152d94c5")
+ version("1.40.6", commit="ba9a6e711504a702147383bc7abfcc36eb304df7")
+ version("1.38.3", commit="f20db703c09dc7e808c09e9b78c15aec9e546248")
+ version("1.36.6", commit="8c0ac7230f94e0c5a981acbb178c8de70e968131")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.21.20:', type=('build', 'run'))
- depends_on('r-genomicranges@1.37.2:', type=('build', 'run'), when='@1.50.0:')
- depends_on('r-xml@1.98-0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.8:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.25.1:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-biocgenerics@0.35.3:', type=('build', 'run'), when='@1.50.0:')
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-s4vectors@0.19.22:', type=('build', 'run'), when='@1.42.2:')
- depends_on('r-s4vectors@0.23.18:', type=('build', 'run'), when='@1.50.0:')
- depends_on('r-iranges@2.3.7:', type=('build', 'run'))
- depends_on('r-iranges@2.11.12:', type=('build', 'run'), when='@1.38.3:')
- depends_on('r-iranges@2.13.13:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-xvector@0.9.4:', type=('build', 'run'))
- depends_on('r-xvector@0.19.7:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-genomeinfodb@1.3.14:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.15.2:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-biostrings@2.43.7:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('r-rcurl@1.4-2:', type=('build', 'run'))
- depends_on('r-rsamtools@1.17.8:', type=('build', 'run'))
- depends_on('r-rsamtools@1.31.2:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-genomicalignments@1.5.4:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.15.6:', type=('build', 'run'), when='@1.40.6:')
- depends_on('r-biocio', type=('build', 'run'), when='@1.54.0:')
- depends_on('r-restfulr@0.0.13:', type=('build', 'run'), when='@1.54.0:')
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.21.20:", type=("build", "run"))
+ depends_on("r-genomicranges@1.37.2:", type=("build", "run"), when="@1.50.0:")
+ depends_on("r-xml@1.98-0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.8:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.25.1:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-biocgenerics@0.35.3:", type=("build", "run"), when="@1.50.0:")
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-s4vectors@0.19.22:", type=("build", "run"), when="@1.42.2:")
+ depends_on("r-s4vectors@0.23.18:", type=("build", "run"), when="@1.50.0:")
+ depends_on("r-iranges@2.3.7:", type=("build", "run"))
+ depends_on("r-iranges@2.11.12:", type=("build", "run"), when="@1.38.3:")
+ depends_on("r-iranges@2.13.13:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-xvector@0.9.4:", type=("build", "run"))
+ depends_on("r-xvector@0.19.7:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-genomeinfodb@1.3.14:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.15.2:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-biostrings@2.43.7:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("r-rcurl@1.4-2:", type=("build", "run"))
+ depends_on("r-rsamtools@1.17.8:", type=("build", "run"))
+ depends_on("r-rsamtools@1.31.2:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-genomicalignments@1.5.4:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.15.6:", type=("build", "run"), when="@1.40.6:")
+ depends_on("r-biocio", type=("build", "run"), when="@1.54.0:")
+ depends_on("r-restfulr@0.0.13:", type=("build", "run"), when="@1.54.0:")
diff --git a/var/spack/repos/builtin/packages/r-rtsne/package.py b/var/spack/repos/builtin/packages/r-rtsne/package.py
index 26fd3d64bc..df60ca1435 100644
--- a/var/spack/repos/builtin/packages/r-rtsne/package.py
+++ b/var/spack/repos/builtin/packages/r-rtsne/package.py
@@ -15,10 +15,10 @@ class RRtsne(RPackage):
cran = "Rtsne"
- version('0.16', sha256='52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5')
- version('0.15', sha256='56376e4f0a382fad3d3d40e2cb0562224be5265b827622bcd235e8fc63df276c')
- version('0.13', sha256='1c3bffe3bd11733ee4fe01749c293669daafda1af2ec74f9158f6080625b999d')
- version('0.11', sha256='1e2e7368f3de870b9270f70b207ba9e8feea67f9b061cb6abb2fec785fb7247e')
- version('0.10', sha256='c54371f4a935520e7e7ab938ef8f5f7f9ad2a829123b9513ae715c07de034790')
+ version("0.16", sha256="52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5")
+ version("0.15", sha256="56376e4f0a382fad3d3d40e2cb0562224be5265b827622bcd235e8fc63df276c")
+ version("0.13", sha256="1c3bffe3bd11733ee4fe01749c293669daafda1af2ec74f9158f6080625b999d")
+ version("0.11", sha256="1e2e7368f3de870b9270f70b207ba9e8feea67f9b061cb6abb2fec785fb7247e")
+ version("0.10", sha256="c54371f4a935520e7e7ab938ef8f5f7f9ad2a829123b9513ae715c07de034790")
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-runit/package.py b/var/spack/repos/builtin/packages/r-runit/package.py
index f6210fde2b..1128646df9 100644
--- a/var/spack/repos/builtin/packages/r-runit/package.py
+++ b/var/spack/repos/builtin/packages/r-runit/package.py
@@ -10,10 +10,10 @@ class RRunit(RPackage):
"""R Unit Test Framework.
R functions implementing a standard Unit Testing framework, with additional
- code inspection and report generation tools. """
+ code inspection and report generation tools."""
cran = "RUnit"
- version('0.4.32', sha256='23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1')
+ version("0.4.32", sha256="23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1")
- depends_on('r@2.5.0:', type=('build', 'run'))
+ depends_on("r@2.5.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-runjags/package.py b/var/spack/repos/builtin/packages/r-runjags/package.py
index 2ed5e29542..b6c55caab0 100644
--- a/var/spack/repos/builtin/packages/r-runjags/package.py
+++ b/var/spack/repos/builtin/packages/r-runjags/package.py
@@ -22,11 +22,11 @@ class RRunjags(RPackage):
cran = "runjags"
- version('2.2.1-7', sha256='e81fdb15e59cdceda125d6ae7cf0cde93361ba80b123d51afd1ecdc993f25016')
- version('2.2.0-3', sha256='1b1fc0b0cfecf9ecdecc3abcba804cdc114b3c5352d5cc801602deeca90db528')
- version('2.2.0-2', sha256='e5dfeb83d36faf19ebe64429f6db64aedecf3c9a040fd5bf9c0200914bf5039a')
+ version("2.2.1-7", sha256="e81fdb15e59cdceda125d6ae7cf0cde93361ba80b123d51afd1ecdc993f25016")
+ version("2.2.0-3", sha256="1b1fc0b0cfecf9ecdecc3abcba804cdc114b3c5352d5cc801602deeca90db528")
+ version("2.2.0-2", sha256="e5dfeb83d36faf19ebe64429f6db64aedecf3c9a040fd5bf9c0200914bf5039a")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-lattice@0.20-10:', type=('build', 'run'))
- depends_on('r-coda@0.17-1:', type=('build', 'run'))
- depends_on('jags@4.3.0:')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-lattice@0.20-10:", type=("build", "run"))
+ depends_on("r-coda@0.17-1:", type=("build", "run"))
+ depends_on("jags@4.3.0:")
diff --git a/var/spack/repos/builtin/packages/r-ruv/package.py b/var/spack/repos/builtin/packages/r-ruv/package.py
index dcf881495b..52efd6c42d 100644
--- a/var/spack/repos/builtin/packages/r-ruv/package.py
+++ b/var/spack/repos/builtin/packages/r-ruv/package.py
@@ -24,8 +24,8 @@ class RRuv(RPackage):
cran = "ruv"
- version('0.9.7.1', sha256='a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8')
+ version("0.9.7.1", sha256="a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8")
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rvcheck/package.py b/var/spack/repos/builtin/packages/r-rvcheck/package.py
index 83c518bc98..76eda4d359 100644
--- a/var/spack/repos/builtin/packages/r-rvcheck/package.py
+++ b/var/spack/repos/builtin/packages/r-rvcheck/package.py
@@ -14,14 +14,14 @@ class RRvcheck(RPackage):
cran = "rvcheck"
- version('0.2.1', sha256='2ad9efd2af8d103e88bff0a01692f0e32515805f269152f2694eadbfe9947026')
- version('0.1.8', sha256='4ca5aa48fbf543e6171696ca7e1bff81e3112d06c919e88769b5c38a115b4718')
- version('0.1.3', sha256='0b59986c1ccc5b89f8aca8fa7cf62d0b875719addb40e08dbda1791cfd334fc4')
- version('0.0.9', sha256='6e7be7b029d28181a1b57ebd4d25978f3459722ffdb45a3698157a7f943bea92')
+ version("0.2.1", sha256="2ad9efd2af8d103e88bff0a01692f0e32515805f269152f2694eadbfe9947026")
+ version("0.1.8", sha256="4ca5aa48fbf543e6171696ca7e1bff81e3112d06c919e88769b5c38a115b4718")
+ version("0.1.3", sha256="0b59986c1ccc5b89f8aca8fa7cf62d0b875719addb40e08dbda1791cfd334fc4")
+ version("0.0.9", sha256="6e7be7b029d28181a1b57ebd4d25978f3459722ffdb45a3698157a7f943bea92")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@0.1.3:')
- depends_on('r-biocmanager', type=('build', 'run'), when='@0.1.8:')
- depends_on('r-yulab-utils', type=('build', 'run'), when='@0.2.1:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@0.1.3:")
+ depends_on("r-biocmanager", type=("build", "run"), when="@0.1.8:")
+ depends_on("r-yulab-utils", type=("build", "run"), when="@0.2.1:")
- depends_on('r-rlang', type=('build', 'run'), when='@0.1.1:0.1.8')
+ depends_on("r-rlang", type=("build", "run"), when="@0.1.1:0.1.8")
diff --git a/var/spack/repos/builtin/packages/r-rversions/package.py b/var/spack/repos/builtin/packages/r-rversions/package.py
index 257e8cd02f..65178f4ec7 100644
--- a/var/spack/repos/builtin/packages/r-rversions/package.py
+++ b/var/spack/repos/builtin/packages/r-rversions/package.py
@@ -15,15 +15,15 @@ class RRversions(RPackage):
cran = "rversions"
- version('2.1.1', sha256='79aaacf5a1258d91ac0ddedf3c8c16a2d10d39010993dcc7b0a2638afee27cb1')
- version('2.0.2', sha256='3523f4b7393365341d429500b01ba3a224056e89d134635b81dfb4918ba2173e')
- version('2.0.1', sha256='51ec1f64e7d628e88d716a020d5d521eba71d472e3c9ae7b694428ef6dd786c5')
- version('2.0.0', sha256='b50c321d9e973284ae6b1d0c89bd46a40f5174de51fb28e3c77cd12ef34f6f56')
- version('1.1.0', sha256='14a5a2f06b74e332fd9cbd4d715baa6165f5269c9ba2c0b9f1d0c6540dde9c3c')
- version('1.0.3', sha256='21d0809f46505de89a2be7be9449e39c39cff5bc77e584dec976ee6c0b884f44')
- version('1.0.2', sha256='c8ec8e24524cc42893e445e01e1a65d15889d28959877cd6b3c5e5f08221b176')
- version('1.0.1', sha256='9099d37d2f6cc1cab0cd0fdddfb9657c7bd3651226810b496e2808f458c80ae3')
- version('1.0.0', sha256='ce1e5368ff1d15665ca2db700521a96cf44f0e78daaab68aabbdaf7ed7393b4d')
+ version("2.1.1", sha256="79aaacf5a1258d91ac0ddedf3c8c16a2d10d39010993dcc7b0a2638afee27cb1")
+ version("2.0.2", sha256="3523f4b7393365341d429500b01ba3a224056e89d134635b81dfb4918ba2173e")
+ version("2.0.1", sha256="51ec1f64e7d628e88d716a020d5d521eba71d472e3c9ae7b694428ef6dd786c5")
+ version("2.0.0", sha256="b50c321d9e973284ae6b1d0c89bd46a40f5174de51fb28e3c77cd12ef34f6f56")
+ version("1.1.0", sha256="14a5a2f06b74e332fd9cbd4d715baa6165f5269c9ba2c0b9f1d0c6540dde9c3c")
+ version("1.0.3", sha256="21d0809f46505de89a2be7be9449e39c39cff5bc77e584dec976ee6c0b884f44")
+ version("1.0.2", sha256="c8ec8e24524cc42893e445e01e1a65d15889d28959877cd6b3c5e5f08221b176")
+ version("1.0.1", sha256="9099d37d2f6cc1cab0cd0fdddfb9657c7bd3651226810b496e2808f458c80ae3")
+ version("1.0.0", sha256="ce1e5368ff1d15665ca2db700521a96cf44f0e78daaab68aabbdaf7ed7393b4d")
- depends_on('r-curl', type=('build', 'run'))
- depends_on('r-xml2@1.0.0:', type=('build', 'run'))
+ depends_on("r-curl", type=("build", "run"))
+ depends_on("r-xml2@1.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-rvest/package.py b/var/spack/repos/builtin/packages/r-rvest/package.py
index 2f25063091..0587dc8759 100644
--- a/var/spack/repos/builtin/packages/r-rvest/package.py
+++ b/var/spack/repos/builtin/packages/r-rvest/package.py
@@ -14,20 +14,20 @@ class RRvest(RPackage):
cran = "rvest"
- version('1.0.2', sha256='89bb477e0944c80298a52ccf650db8f6377fd7ed3c1bc7034d000f695fdf05a4')
- version('0.3.6', sha256='6a2ee3a25d2d738031edbc1b5e2410f2a4538dfbb9705af145f9039504b902fa')
- version('0.3.4', sha256='413e171b9e89b7dc4e8b41165027cf19eb97cd73e149c252237bbdf0d0a4254a')
- version('0.3.3', sha256='b10a87fa2d733f7c0fc567242ef0ab10a1a77d58d51796996cc0fd81381a556f')
- version('0.3.2', sha256='0d6e8837fb1df79b1c83e7b48d8f1e6245f34a10c4bb6952e7bec7867e4abb12')
+ version("1.0.2", sha256="89bb477e0944c80298a52ccf650db8f6377fd7ed3c1bc7034d000f695fdf05a4")
+ version("0.3.6", sha256="6a2ee3a25d2d738031edbc1b5e2410f2a4538dfbb9705af145f9039504b902fa")
+ version("0.3.4", sha256="413e171b9e89b7dc4e8b41165027cf19eb97cd73e149c252237bbdf0d0a4254a")
+ version("0.3.3", sha256="b10a87fa2d733f7c0fc567242ef0ab10a1a77d58d51796996cc0fd81381a556f")
+ version("0.3.2", sha256="0d6e8837fb1df79b1c83e7b48d8f1e6245f34a10c4bb6952e7bec7867e4abb12")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@0.3.3')
- depends_on('r@3.2:', type=('build', 'run'), when='@0.3.4:')
- depends_on('r-httr@0.5:', type=('build', 'run'))
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@1:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@1:')
- depends_on('r-selectr', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@1:')
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-xml2@1.3:', type=('build', 'run'), when='@1:')
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@0.3.3")
+ depends_on("r@3.2:", type=("build", "run"), when="@0.3.4:")
+ depends_on("r-httr@0.5:", type=("build", "run"))
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@1:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@1:")
+ depends_on("r-selectr", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@1:")
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-xml2@1.3:", type=("build", "run"), when="@1:")
diff --git a/var/spack/repos/builtin/packages/r-rviennacl/package.py b/var/spack/repos/builtin/packages/r-rviennacl/package.py
index bb30f5964a..92e56d3740 100644
--- a/var/spack/repos/builtin/packages/r-rviennacl/package.py
+++ b/var/spack/repos/builtin/packages/r-rviennacl/package.py
@@ -19,4 +19,4 @@ class RRviennacl(RPackage):
cran = "RViennaCL"
- version('1.7.1.8', sha256='adcc74537337582153d5b11d281e391e91a7f3afae116aa1b9a034ffd11b0252')
+ version("1.7.1.8", sha256="adcc74537337582153d5b11d281e391e91a7f3afae116aa1b9a034ffd11b0252")
diff --git a/var/spack/repos/builtin/packages/r-rzmq/package.py b/var/spack/repos/builtin/packages/r-rzmq/package.py
index a17f701236..7f118ed096 100644
--- a/var/spack/repos/builtin/packages/r-rzmq/package.py
+++ b/var/spack/repos/builtin/packages/r-rzmq/package.py
@@ -15,11 +15,11 @@ class RRzmq(RPackage):
cran = "rzmq"
- version('0.9.8', sha256='815a7eb502b1da3a84246b2dfb6594ca3f241a8675783e6bcdbbf9c952ec1c53')
- version('0.9.7', sha256='5f47b67b75fd4a230780406f7a55a3708ce8c014cff755a809a6bfa1a6925a45')
- version('0.9.6', sha256='80a3fc6eb6f7851224c4cd5e219ca4db0286551ad429359d4df853ccb9234316')
- version('0.9.4', sha256='03fbda756d823c11fba359b94a6213c3440e61973331668eaac35779717f73ad')
- version('0.7.7', sha256='bdbaf77a0e04c5b6d6ce79ab2747848a5044355eed2e2c4d39c4ba16f97dc83d')
-
- depends_on('r@3.1.0:', type=('build', 'run'), when='@0.9.0:')
- depends_on('libzmq@3.0.0:')
+ version("0.9.8", sha256="815a7eb502b1da3a84246b2dfb6594ca3f241a8675783e6bcdbbf9c952ec1c53")
+ version("0.9.7", sha256="5f47b67b75fd4a230780406f7a55a3708ce8c014cff755a809a6bfa1a6925a45")
+ version("0.9.6", sha256="80a3fc6eb6f7851224c4cd5e219ca4db0286551ad429359d4df853ccb9234316")
+ version("0.9.4", sha256="03fbda756d823c11fba359b94a6213c3440e61973331668eaac35779717f73ad")
+ version("0.7.7", sha256="bdbaf77a0e04c5b6d6ce79ab2747848a5044355eed2e2c4d39c4ba16f97dc83d")
+
+ depends_on("r@3.1.0:", type=("build", "run"), when="@0.9.0:")
+ depends_on("libzmq@3.0.0:")
diff --git a/var/spack/repos/builtin/packages/r-s2/package.py b/var/spack/repos/builtin/packages/r-s2/package.py
index 0452ed8b84..27aebc88d3 100644
--- a/var/spack/repos/builtin/packages/r-s2/package.py
+++ b/var/spack/repos/builtin/packages/r-s2/package.py
@@ -18,11 +18,11 @@ class RS2(RPackage):
cran = "s2"
- version('1.0.7', sha256='2010c1c6ae29938ec9cd153a8b2c06a333ea4d647932369b2fc7d0c68d6d9e3f')
- version('1.0.4', sha256='3c274ebae33aa5473f94afb3066c6f388aced17ff3b5f6add9edcc9af22b985e')
+ version("1.0.7", sha256="2010c1c6ae29938ec9cd153a8b2c06a333ea4d647932369b2fc7d0c68d6d9e3f")
+ version("1.0.4", sha256="3c274ebae33aa5473f94afb3066c6f388aced17ff3b5f6add9edcc9af22b985e")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-wk', type=('build', 'run'))
- depends_on('r-wk@0.5.0:', type=('build', 'run'), when='@1.0.7:')
- depends_on('openssl@1.0.1:', when='@1.0.7:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-wk", type=("build", "run"))
+ depends_on("r-wk@0.5.0:", type=("build", "run"), when="@1.0.7:")
+ depends_on("openssl@1.0.1:", when="@1.0.7:")
diff --git a/var/spack/repos/builtin/packages/r-s4vectors/package.py b/var/spack/repos/builtin/packages/r-s4vectors/package.py
index 3f892b58e0..cdd2485c5c 100644
--- a/var/spack/repos/builtin/packages/r-s4vectors/package.py
+++ b/var/spack/repos/builtin/packages/r-s4vectors/package.py
@@ -9,31 +9,31 @@ from spack.package import *
class RS4vectors(RPackage):
"""Foundation of vector-like and list-like containers in Bioconductor.
- The S4Vectors package defines the Vector and List virtual classes and a
- set of generic functions that extend the semantic of ordinary vectors
- and lists in R. Package developers can easily implement vector-like or
- list-like objects as concrete subclasses of Vector or List. In addition,
- a few low-level concrete subclasses of general interest (e.g. DataFrame,
- Rle, and Hits) are implemented in the S4Vectors package itself (many
- more are implemented in the IRanges package and in other Bioconductor
- infrastructure packages)."""
+ The S4Vectors package defines the Vector and List virtual classes and a
+ set of generic functions that extend the semantic of ordinary vectors
+ and lists in R. Package developers can easily implement vector-like or
+ list-like objects as concrete subclasses of Vector or List. In addition,
+ a few low-level concrete subclasses of general interest (e.g. DataFrame,
+ Rle, and Hits) are implemented in the S4Vectors package itself (many
+ more are implemented in the IRanges package and in other Bioconductor
+ infrastructure packages)."""
bioc = "S4Vectors"
- version('0.34.0', commit='f590de3ec4d896a63351d0c1925d3856c0bd5292')
- version('0.32.3', commit='ad90e78fd3a4059cfcf2846498fb0748b4394e1a')
- version('0.28.1', commit='994cb7ef830e76f8b43169cc72b553869fafb2ed')
- version('0.26.1', commit='935769c')
- version('0.22.1', commit='d25e517b48ca4184a4c2ee1f8223c148a55a8b8a')
- version('0.20.1', commit='1878b2909086941e556c5ea953c6fd86aebe9b02')
- version('0.18.3', commit='d6804f94ad3663828440914920ac933b934aeff1')
- version('0.16.0', commit='00fec03fcbcb7cff37917fab0da28d91fdf9dc3d')
- version('0.14.7', commit='40af17fe0b8e93b6a72fc787540d2961773b8e23')
+ version("0.34.0", commit="f590de3ec4d896a63351d0c1925d3856c0bd5292")
+ version("0.32.3", commit="ad90e78fd3a4059cfcf2846498fb0748b4394e1a")
+ version("0.28.1", commit="994cb7ef830e76f8b43169cc72b553869fafb2ed")
+ version("0.26.1", commit="935769c")
+ version("0.22.1", commit="d25e517b48ca4184a4c2ee1f8223c148a55a8b8a")
+ version("0.20.1", commit="1878b2909086941e556c5ea953c6fd86aebe9b02")
+ version("0.18.3", commit="d6804f94ad3663828440914920ac933b934aeff1")
+ version("0.16.0", commit="00fec03fcbcb7cff37917fab0da28d91fdf9dc3d")
+ version("0.14.7", commit="40af17fe0b8e93b6a72fc787540d2961773b8e23")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.28.1:')
- depends_on('r-biocgenerics@0.21.1:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.23.3:', type=('build', 'run'), when='@0.16.0:0.22.1')
- depends_on('r-biocgenerics@0.31.1:', type=('build', 'run'), when='@0.26.1:')
- depends_on('r-biocgenerics@0.36.0:', type=('build', 'run'), when='@0.28.1:')
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@0.32.3:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.28.1:")
+ depends_on("r-biocgenerics@0.21.1:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.23.3:", type=("build", "run"), when="@0.16.0:0.22.1")
+ depends_on("r-biocgenerics@0.31.1:", type=("build", "run"), when="@0.26.1:")
+ depends_on("r-biocgenerics@0.36.0:", type=("build", "run"), when="@0.28.1:")
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@0.32.3:")
diff --git a/var/spack/repos/builtin/packages/r-samr/package.py b/var/spack/repos/builtin/packages/r-samr/package.py
index 287bc0dc59..40fab8064c 100644
--- a/var/spack/repos/builtin/packages/r-samr/package.py
+++ b/var/spack/repos/builtin/packages/r-samr/package.py
@@ -14,12 +14,12 @@ class RSamr(RPackage):
cran = "samr"
- version('3.0', sha256='25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506')
- version('2.0', sha256='090b5becd91d60f4bb8269df5c9bc19a03c09917d327b28e75b0ee7b80624e67')
+ version("3.0", sha256="25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506")
+ version("2.0", sha256="090b5becd91d60f4bb8269df5c9bc19a03c09917d327b28e75b0ee7b80624e67")
- depends_on('r-impute', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-shiny', type=('build', 'run'), when='@3.0:')
- depends_on('r-shinyfiles', type=('build', 'run'), when='@3.0:')
- depends_on('r-openxlsx', type=('build', 'run'), when='@3.0:')
- depends_on('r-gsa', type=('build', 'run'), when='@3.0:')
+ depends_on("r-impute", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-shiny", type=("build", "run"), when="@3.0:")
+ depends_on("r-shinyfiles", type=("build", "run"), when="@3.0:")
+ depends_on("r-openxlsx", type=("build", "run"), when="@3.0:")
+ depends_on("r-gsa", type=("build", "run"), when="@3.0:")
diff --git a/var/spack/repos/builtin/packages/r-sandwich/package.py b/var/spack/repos/builtin/packages/r-sandwich/package.py
index ab55939ca9..73b945f078 100644
--- a/var/spack/repos/builtin/packages/r-sandwich/package.py
+++ b/var/spack/repos/builtin/packages/r-sandwich/package.py
@@ -25,12 +25,12 @@ class RSandwich(RPackage):
cran = "sandwich"
- version('3.0-1', sha256='f6584b7084f3223bbc0c4722f53280496be73849747819b0cb4e8f3910284a89')
- version('3.0-0', sha256='828fe53b5e09db5015efd529b2db4dcd40251bce110fea7b0b219fa9ac36d529')
- version('2.5-1', sha256='dbef6f4d12b83e166f9a2508b7c732b04493641685d6758d29f3609e564166d6')
- version('2.5-0', sha256='6cc144af20739eb23e5539010d3833d7c7fc53cbca2addb583ab933167c11399')
- version('2.3-4', sha256='2052f7e3d19a05c372f422c5480f1058a4107e420cd038a9bd7240c4f0746d4d')
+ version("3.0-1", sha256="f6584b7084f3223bbc0c4722f53280496be73849747819b0cb4e8f3910284a89")
+ version("3.0-0", sha256="828fe53b5e09db5015efd529b2db4dcd40251bce110fea7b0b219fa9ac36d529")
+ version("2.5-1", sha256="dbef6f4d12b83e166f9a2508b7c732b04493641685d6758d29f3609e564166d6")
+ version("2.5-0", sha256="6cc144af20739eb23e5539010d3833d7c7fc53cbca2addb583ab933167c11399")
+ version("2.3-4", sha256="2052f7e3d19a05c372f422c5480f1058a4107e420cd038a9bd7240c4f0746d4d")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@3.0-0:')
- depends_on('r-zoo', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@3.0-0:")
+ depends_on("r-zoo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sass/package.py b/var/spack/repos/builtin/packages/r-sass/package.py
index f27b60bb53..874fafa54a 100644
--- a/var/spack/repos/builtin/packages/r-sass/package.py
+++ b/var/spack/repos/builtin/packages/r-sass/package.py
@@ -16,12 +16,12 @@ class RSass(RPackage):
cran = "sass"
- version('0.4.1', sha256='850fcb6bd49085d5afd25ac18da0744234385baf1f13d8c0a320f4da2de608bb')
- version('0.4.0', sha256='7d06ca15239142a49e88bb3be494515abdd8c75f00f3f1b0ee7bccb55019bc2b')
+ version("0.4.1", sha256="850fcb6bd49085d5afd25ac18da0744234385baf1f13d8c0a320f4da2de608bb")
+ version("0.4.0", sha256="7d06ca15239142a49e88bb3be494515abdd8c75f00f3f1b0ee7bccb55019bc2b")
- depends_on('r-fs', type=('build', 'run'))
- depends_on('r-rlang@0.4.10:', type=('build', 'run'))
- depends_on('r-htmltools@0.5.1:', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
- depends_on('gmake', type='build')
+ depends_on("r-fs", type=("build", "run"))
+ depends_on("r-rlang@0.4.10:", type=("build", "run"))
+ depends_on("r-htmltools@0.5.1:", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-satellite/package.py b/var/spack/repos/builtin/packages/r-satellite/package.py
index d7966fd130..62d49d6d24 100644
--- a/var/spack/repos/builtin/packages/r-satellite/package.py
+++ b/var/spack/repos/builtin/packages/r-satellite/package.py
@@ -23,11 +23,11 @@ class RSatellite(RPackage):
cran = "satellite"
- version('1.0.4', sha256='99e79577a70489930c32da46ac26453af53e21c2d3a99f51fbf1f55f2d80dc7c')
- version('1.0.2', sha256='6447476bd31216e5abe504221e465677954d07419b4174ab4f4e4f7a197969c5')
+ version("1.0.4", sha256="99e79577a70489930c32da46ac26453af53e21c2d3a99f51fbf1f55f2d80dc7c")
+ version("1.0.2", sha256="6447476bd31216e5abe504221e465677954d07419b4174ab4f4e4f7a197969c5")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-rcpp@0.10.3:', type=('build', 'run'))
- depends_on('r-terra', type=('build', 'run'), when='@1.0.4:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-rcpp@0.10.3:", type=("build", "run"))
+ depends_on("r-terra", type=("build", "run"), when="@1.0.4:")
diff --git a/var/spack/repos/builtin/packages/r-scaledmatrix/package.py b/var/spack/repos/builtin/packages/r-scaledmatrix/package.py
index 7f2cf3618f..e99dc8dac2 100644
--- a/var/spack/repos/builtin/packages/r-scaledmatrix/package.py
+++ b/var/spack/repos/builtin/packages/r-scaledmatrix/package.py
@@ -16,9 +16,9 @@ class RScaledmatrix(RPackage):
bioc = "ScaledMatrix"
- version('1.4.0', commit='32e6e918bc7bb64bbf75613d353ca268c7d04292')
- version('1.2.0', commit='d0573e14ca537b40ade7dd1c9cf0cadae60d4349')
+ version("1.4.0", commit="32e6e918bc7bb64bbf75613d353ca268c7d04292")
+ version("1.2.0", commit="d0573e14ca537b40ade7dd1c9cf0cadae60d4349")
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-delayedarray', type=('build', 'run'))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-delayedarray", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-scales/package.py b/var/spack/repos/builtin/packages/r-scales/package.py
index 54ee2f3f85..846e2491fa 100644
--- a/var/spack/repos/builtin/packages/r-scales/package.py
+++ b/var/spack/repos/builtin/packages/r-scales/package.py
@@ -14,25 +14,25 @@ class RScales(RPackage):
cran = "scales"
- version('1.2.0', sha256='185d50240e6b3e84d36ec7fbca6aef7a85db7c8c1b0dde51d4af28d363ce02df')
- version('1.1.1', sha256='40b2b66522f1f314a20fd09426011b0cdc9d16b23ee2e765fe1930292dd03705')
- version('1.0.0', sha256='0c1f4a14edd336a404da34a3cc71a6a9d0ca2040ba19360c41a79f36e06ca30c')
- version('0.5.0', sha256='dbfcc0817c4ab8b8777ec7d68ebfe220177c193cfb5bd0e8ba5d365dbfe3e97d')
- version('0.4.1', sha256='642b88fb1fce7bac72a0038ce532b65b8a79dffe826fec25033cf386ab630cd3')
- version('0.4.0', sha256='851ef6136339b361b3f843fb73ea89f9112279b9cc126bdb38acde8d24c1c6a7')
-
- depends_on('r@2.13:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@1.0.0:')
- depends_on('r@3.2:', type=('build', 'run'), when='@1.1.1:')
- depends_on('r-farver@2.0.3:', type=('build', 'run'), when='@1.1.1:')
- depends_on('r-labeling', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@1.1.1:')
- depends_on('r-munsell@0.5:', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-rlang@1.0.0:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-viridislite', type=('build', 'run'))
-
- depends_on('r-dichromat', type=('build', 'run'), when='@:0.5.0')
- depends_on('r-plyr', type=('build', 'run'), when='@:0.5.0')
- depends_on('r-rcpp', type=('build', 'run'), when='@:1.0.0')
+ version("1.2.0", sha256="185d50240e6b3e84d36ec7fbca6aef7a85db7c8c1b0dde51d4af28d363ce02df")
+ version("1.1.1", sha256="40b2b66522f1f314a20fd09426011b0cdc9d16b23ee2e765fe1930292dd03705")
+ version("1.0.0", sha256="0c1f4a14edd336a404da34a3cc71a6a9d0ca2040ba19360c41a79f36e06ca30c")
+ version("0.5.0", sha256="dbfcc0817c4ab8b8777ec7d68ebfe220177c193cfb5bd0e8ba5d365dbfe3e97d")
+ version("0.4.1", sha256="642b88fb1fce7bac72a0038ce532b65b8a79dffe826fec25033cf386ab630cd3")
+ version("0.4.0", sha256="851ef6136339b361b3f843fb73ea89f9112279b9cc126bdb38acde8d24c1c6a7")
+
+ depends_on("r@2.13:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@1.0.0:")
+ depends_on("r@3.2:", type=("build", "run"), when="@1.1.1:")
+ depends_on("r-farver@2.0.3:", type=("build", "run"), when="@1.1.1:")
+ depends_on("r-labeling", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@1.1.1:")
+ depends_on("r-munsell@0.5:", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-rlang@1.0.0:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-viridislite", type=("build", "run"))
+
+ depends_on("r-dichromat", type=("build", "run"), when="@:0.5.0")
+ depends_on("r-plyr", type=("build", "run"), when="@:0.5.0")
+ depends_on("r-rcpp", type=("build", "run"), when="@:1.0.0")
diff --git a/var/spack/repos/builtin/packages/r-scater/package.py b/var/spack/repos/builtin/packages/r-scater/package.py
index 7e5909c8a1..4bd42177ef 100644
--- a/var/spack/repos/builtin/packages/r-scater/package.py
+++ b/var/spack/repos/builtin/packages/r-scater/package.py
@@ -9,61 +9,61 @@ from spack.package import *
class RScater(RPackage):
"""Single-Cell Analysis Toolkit for Gene Expression Data in R.
- A collection of tools for doing various analyses of single-cell RNA-seq
- gene expression data, with a focus on quality control and
- visualization."""
+ A collection of tools for doing various analyses of single-cell RNA-seq
+ gene expression data, with a focus on quality control and
+ visualization."""
bioc = "scater"
- version('1.24.0', commit='013f0935a1a225139986ca5a3f0e9d08a1558153')
- version('1.22.0', commit='ea2c95c53adb8c6fab558c1cb869e2eab36aa9f8')
- version('1.18.3', commit='a94e7f413bf0f5f527b41b0b34e7a8e5c947ae37')
- version('1.12.2', commit='1518dc27a87c79181c34107d639e95fe55e55092')
- version('1.10.1', commit='2e6694af2929092f263c2b0830d48b3f9632e70c')
- version('1.8.4', commit='d560a9a378541d53d17990d2aa2cd28874df3dcd')
- version('1.6.3', commit='964effb4e883102d7c8cae627dbac4ba5d216a75')
- version('1.4.0', commit='90a2eab66ff82ba6dd7fbb33e41cd0ded20fa218')
+ version("1.24.0", commit="013f0935a1a225139986ca5a3f0e9d08a1558153")
+ version("1.22.0", commit="ea2c95c53adb8c6fab558c1cb869e2eab36aa9f8")
+ version("1.18.3", commit="a94e7f413bf0f5f527b41b0b34e7a8e5c947ae37")
+ version("1.12.2", commit="1518dc27a87c79181c34107d639e95fe55e55092")
+ version("1.10.1", commit="2e6694af2929092f263c2b0830d48b3f9632e70c")
+ version("1.8.4", commit="d560a9a378541d53d17990d2aa2cd28874df3dcd")
+ version("1.6.3", commit="964effb4e883102d7c8cae627dbac4ba5d216a75")
+ version("1.4.0", commit="90a2eab66ff82ba6dd7fbb33e41cd0ded20fa218")
- depends_on('r@3.3:', type=('build', 'run'), when='@1.4.0')
- depends_on('r@3.4:', type=('build', 'run'), when='@1.6.3')
- depends_on('r@3.5:', type=('build', 'run'), when='@1.8.4')
- depends_on('r@3.6:', type=('build', 'run'), when='@1.12.2')
- depends_on('r-singlecellexperiment', type=('build', 'run'), when='@1.6.3:')
- depends_on('r-scuttle', type=('build', 'run'), when='@1.18.3:')
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'), when='@1.18.3:')
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'), when='@1.6.3:')
- depends_on('r-summarizedexperiment', type=('build', 'run'), when='@1.6.3:')
- depends_on('r-delayedarray', type=('build', 'run'), when='@1.8.4:')
- depends_on('r-delayedmatrixstats', type=('build', 'run'), when='@1.8.4:')
- depends_on('r-beachmat', type=('build', 'run'), when='@1.6.3:1.12.2,1.22.0:')
- depends_on('r-biocneighbors', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-biocsingular', type=('build', 'run'), when='@1.12.2:')
- depends_on('r-biocparallel', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-rlang', type=('build', 'run'), when='@1.18.3:')
- depends_on('r-ggbeeswarm', type=('build', 'run'))
- depends_on('r-viridis', type=('build', 'run'))
- depends_on('r-rtsne', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-rcolorbrewer', type=('build', 'run'), when='@1.22.0:')
- depends_on('r-rcppml', type=('build', 'run'), when='@1.24.0:')
- depends_on('r-ggrepel', type=('build', 'run'), when='@1.22.0:')
+ depends_on("r@3.3:", type=("build", "run"), when="@1.4.0")
+ depends_on("r@3.4:", type=("build", "run"), when="@1.6.3")
+ depends_on("r@3.5:", type=("build", "run"), when="@1.8.4")
+ depends_on("r@3.6:", type=("build", "run"), when="@1.12.2")
+ depends_on("r-singlecellexperiment", type=("build", "run"), when="@1.6.3:")
+ depends_on("r-scuttle", type=("build", "run"), when="@1.18.3:")
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"), when="@1.18.3:")
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"), when="@1.6.3:")
+ depends_on("r-summarizedexperiment", type=("build", "run"), when="@1.6.3:")
+ depends_on("r-delayedarray", type=("build", "run"), when="@1.8.4:")
+ depends_on("r-delayedmatrixstats", type=("build", "run"), when="@1.8.4:")
+ depends_on("r-beachmat", type=("build", "run"), when="@1.6.3:1.12.2,1.22.0:")
+ depends_on("r-biocneighbors", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-biocsingular", type=("build", "run"), when="@1.12.2:")
+ depends_on("r-biocparallel", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-rlang", type=("build", "run"), when="@1.18.3:")
+ depends_on("r-ggbeeswarm", type=("build", "run"))
+ depends_on("r-viridis", type=("build", "run"))
+ depends_on("r-rtsne", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-rcolorbrewer", type=("build", "run"), when="@1.22.0:")
+ depends_on("r-rcppml", type=("build", "run"), when="@1.24.0:")
+ depends_on("r-ggrepel", type=("build", "run"), when="@1.22.0:")
- depends_on('r-biobase', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-biomart', type=('build', 'run'), when='@1.4.0:1.6.3')
- depends_on('r-data-table', type=('build', 'run'), when='@1.4.0:1.6.3')
- depends_on('r-dplyr', type=('build', 'run'), when='@1.4.0:1.12.2')
- depends_on('r-edger', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-limma', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-matrixstats', type=('build', 'run'), when='@1.4.0:1.6.3')
- depends_on('r-plyr', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-reshape2', type=('build', 'run'), when='@1.4.0:1.10.1')
- depends_on('r-rhdf5', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-rjson', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-shiny', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-shinydashboard', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-tximport', type=('build', 'run'), when='@1.4.0:1.8.4')
- depends_on('r-rcpp', type=('build', 'run'), when='@1.6.3:1.12.2')
- depends_on('r-rcpp@0.12.14:', type=('build', 'run'), when='@1.8.4:1.12.2')
- depends_on('r-rhdf5lib', type=('build', 'run'), when='@1.6.3:1.10.1')
+ depends_on("r-biobase", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-biomart", type=("build", "run"), when="@1.4.0:1.6.3")
+ depends_on("r-data-table", type=("build", "run"), when="@1.4.0:1.6.3")
+ depends_on("r-dplyr", type=("build", "run"), when="@1.4.0:1.12.2")
+ depends_on("r-edger", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-limma", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-matrixstats", type=("build", "run"), when="@1.4.0:1.6.3")
+ depends_on("r-plyr", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-reshape2", type=("build", "run"), when="@1.4.0:1.10.1")
+ depends_on("r-rhdf5", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-rjson", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-shiny", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-shinydashboard", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-tximport", type=("build", "run"), when="@1.4.0:1.8.4")
+ depends_on("r-rcpp", type=("build", "run"), when="@1.6.3:1.12.2")
+ depends_on("r-rcpp@0.12.14:", type=("build", "run"), when="@1.8.4:1.12.2")
+ depends_on("r-rhdf5lib", type=("build", "run"), when="@1.6.3:1.10.1")
diff --git a/var/spack/repos/builtin/packages/r-scattermore/package.py b/var/spack/repos/builtin/packages/r-scattermore/package.py
index cd40ad13c4..607b41caed 100644
--- a/var/spack/repos/builtin/packages/r-scattermore/package.py
+++ b/var/spack/repos/builtin/packages/r-scattermore/package.py
@@ -14,8 +14,8 @@ class RScattermore(RPackage):
cran = "scattermore"
- version('0.8', sha256='dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5')
- version('0.7', sha256='f36280197b8476314d6ce81a51c4ae737180b180204043d2937bc25bf3a5dfa2')
+ version("0.8", sha256="dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5")
+ version("0.7", sha256="f36280197b8476314d6ce81a51c4ae737180b180204043d2937bc25bf3a5dfa2")
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-scatterpie/package.py b/var/spack/repos/builtin/packages/r-scatterpie/package.py
index f7953014ff..39c5dc494a 100644
--- a/var/spack/repos/builtin/packages/r-scatterpie/package.py
+++ b/var/spack/repos/builtin/packages/r-scatterpie/package.py
@@ -13,14 +13,14 @@ class RScatterpie(RPackage):
cran = "scatterpie"
- version('0.1.7', sha256='3f7807519cfe135066ca79c8d8a09b59da9aa6d8aaee5e9aff40cca3d0bebade')
- version('0.1.5', sha256='e13237b7effc302acafc1c9b520b4904e55875f4a3b804f653eed2940ca08840')
+ version("0.1.7", sha256="3f7807519cfe135066ca79c8d8a09b59da9aa6d8aaee5e9aff40cca3d0bebade")
+ version("0.1.5", sha256="e13237b7effc302acafc1c9b520b4904e55875f4a3b804f653eed2940ca08840")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggforce', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-ggfun', type=('build', 'run'), when='@0.1.7:')
- depends_on('r-tidyr', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggforce", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-ggfun", type=("build", "run"), when="@0.1.7:")
+ depends_on("r-tidyr", type=("build", "run"))
- depends_on('r-rvcheck', type=('build', 'run'), when='@:0.1.5')
+ depends_on("r-rvcheck", type=("build", "run"), when="@:0.1.5")
diff --git a/var/spack/repos/builtin/packages/r-scatterplot3d/package.py b/var/spack/repos/builtin/packages/r-scatterplot3d/package.py
index cfa7c0b641..d82786fa14 100644
--- a/var/spack/repos/builtin/packages/r-scatterplot3d/package.py
+++ b/var/spack/repos/builtin/packages/r-scatterplot3d/package.py
@@ -13,7 +13,7 @@ class RScatterplot3d(RPackage):
cran = "scatterplot3d"
- version('0.3-41', sha256='4c8326b70a3b2d37126ca806771d71e5e9fe1201cfbe5b0d5a0a83c3d2c75d94')
- version('0.3-40', sha256='8249118aa29199017a6686d8245fed5343dabcf049b1588141a7cf83245b6a29')
+ version("0.3-41", sha256="4c8326b70a3b2d37126ca806771d71e5e9fe1201cfbe5b0d5a0a83c3d2c75d94")
+ version("0.3-40", sha256="8249118aa29199017a6686d8245fed5343dabcf049b1588141a7cf83245b6a29")
- depends_on('r@2.7.0:', type=('build', 'run'))
+ depends_on("r@2.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-scrime/package.py b/var/spack/repos/builtin/packages/r-scrime/package.py
index ea019b4e3a..c7a0feaaef 100644
--- a/var/spack/repos/builtin/packages/r-scrime/package.py
+++ b/var/spack/repos/builtin/packages/r-scrime/package.py
@@ -16,4 +16,4 @@ class RScrime(RPackage):
cran = "scrime"
- version('1.3.5', sha256='5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578')
+ version("1.3.5", sha256="5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578")
diff --git a/var/spack/repos/builtin/packages/r-sctransform/package.py b/var/spack/repos/builtin/packages/r-sctransform/package.py
index 33b505c691..6d188e3b71 100644
--- a/var/spack/repos/builtin/packages/r-sctransform/package.py
+++ b/var/spack/repos/builtin/packages/r-sctransform/package.py
@@ -18,25 +18,25 @@ class RSctransform(RPackage):
cran = "sctransform"
- version('0.3.3', sha256='83af125c40f211e1ddae5098f88766aea1453c02ae98486081f3efadb3620b2b')
- version('0.3.2', sha256='5dbb0a045e514c19f51bbe11c2dba0b72dca1942d6eb044c36b0538b443475dc')
- version('0.2.0', sha256='d7f4c7958693823454f1426b23b0e1e9c207ad61a7a228602a1885a1318eb3e4')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@0.3.2:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.3.3:')
- depends_on('r-dplyr', type=('build', 'run'), when='@0.3.3:')
- depends_on('r-magrittr', type=('build', 'run'), when='@0.3.3:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-future-apply', type=('build', 'run'))
- depends_on('r-future', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@0.3.3:')
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'), when='@0.3.2:')
- depends_on('r-rcpparmadillo', type=('build', 'run'), when='@0.3.2:')
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
-
- depends_on('r-rcppeigen', type=('build', 'run'), when='@:0.2.0')
+ version("0.3.3", sha256="83af125c40f211e1ddae5098f88766aea1453c02ae98486081f3efadb3620b2b")
+ version("0.3.2", sha256="5dbb0a045e514c19f51bbe11c2dba0b72dca1942d6eb044c36b0538b443475dc")
+ version("0.2.0", sha256="d7f4c7958693823454f1426b23b0e1e9c207ad61a7a228602a1885a1318eb3e4")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@0.3.2:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.3.3:")
+ depends_on("r-dplyr", type=("build", "run"), when="@0.3.3:")
+ depends_on("r-magrittr", type=("build", "run"), when="@0.3.3:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-future-apply", type=("build", "run"))
+ depends_on("r-future", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@0.3.3:")
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"), when="@0.3.2:")
+ depends_on("r-rcpparmadillo", type=("build", "run"), when="@0.3.2:")
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+
+ depends_on("r-rcppeigen", type=("build", "run"), when="@:0.2.0")
diff --git a/var/spack/repos/builtin/packages/r-scuttle/package.py b/var/spack/repos/builtin/packages/r-scuttle/package.py
index 339f756cd7..6862bf3806 100644
--- a/var/spack/repos/builtin/packages/r-scuttle/package.py
+++ b/var/spack/repos/builtin/packages/r-scuttle/package.py
@@ -16,18 +16,18 @@ class RScuttle(RPackage):
bioc = "scuttle"
- version('1.6.2', commit='afdfc555151d84cc332757b4ec0b97cb7f39d2d5')
- version('1.4.0', commit='b335263dd56bb859b5dd3ea27ee00dffa0215313')
- version('1.0.4', commit='a827e2759d80e6c3510e2f8fd4bd680274206d9f')
+ version("1.6.2", commit="afdfc555151d84cc332757b4ec0b97cb7f39d2d5")
+ version("1.4.0", commit="b335263dd56bb859b5dd3ea27ee00dffa0215313")
+ version("1.0.4", commit="a827e2759d80e6c3510e2f8fd4bd680274206d9f")
- depends_on('r-singlecellexperiment', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-delayedarray', type=('build', 'run'))
- depends_on('r-delayedmatrixstats', type=('build', 'run'))
- depends_on('r-beachmat', type=('build', 'run'))
+ depends_on("r-singlecellexperiment", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-delayedarray", type=("build", "run"))
+ depends_on("r-delayedmatrixstats", type=("build", "run"))
+ depends_on("r-beachmat", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sdmtools/package.py b/var/spack/repos/builtin/packages/r-sdmtools/package.py
index 76c60c66df..b68b4c7ce2 100644
--- a/var/spack/repos/builtin/packages/r-sdmtools/package.py
+++ b/var/spack/repos/builtin/packages/r-sdmtools/package.py
@@ -23,12 +23,12 @@ class RSdmtools(RPackage):
# This package was removed from CRAN on 2020-01-12
# The spack recipe contains the latest version available from the archives
- version('1.1-221.2', sha256='f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7')
- version('1.1-221.1', sha256='3825856263bdb648ca018b27dc6ab8ceaef24691215c197f8d5cd17718b54fbb')
- version('1.1-221', sha256='a6da297a670f756ee964ffd99c3b212c55c297d385583fd0e767435dd5cd4ccd')
- version('1.1-20', sha256='d6a261ce8f487d5d03b1931039f528f2eb50fb9386e7aae40045c966ff6d4182')
- version('1.1-13', sha256='02d94977bfa2f41f1db60e619335ac0ea8109dd98108ff9d21a412f7c4a14a2e')
- version('1.1-12', sha256='6dc4a8a046e7fced190402f39a9bae6f863e08c320f0881367c022b2f220f14b')
- version('1.1-11', sha256='1caf8fa1914ad6921d76e7b22a8c25cfe55892b0d21aef3b2a7b8f5b79b9388b')
+ version("1.1-221.2", sha256="f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7")
+ version("1.1-221.1", sha256="3825856263bdb648ca018b27dc6ab8ceaef24691215c197f8d5cd17718b54fbb")
+ version("1.1-221", sha256="a6da297a670f756ee964ffd99c3b212c55c297d385583fd0e767435dd5cd4ccd")
+ version("1.1-20", sha256="d6a261ce8f487d5d03b1931039f528f2eb50fb9386e7aae40045c966ff6d4182")
+ version("1.1-13", sha256="02d94977bfa2f41f1db60e619335ac0ea8109dd98108ff9d21a412f7c4a14a2e")
+ version("1.1-12", sha256="6dc4a8a046e7fced190402f39a9bae6f863e08c320f0881367c022b2f220f14b")
+ version("1.1-11", sha256="1caf8fa1914ad6921d76e7b22a8c25cfe55892b0d21aef3b2a7b8f5b79b9388b")
- depends_on('r-r-utils', type=('build', 'run'))
+ depends_on("r-r-utils", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-segmented/package.py b/var/spack/repos/builtin/packages/r-segmented/package.py
index fa43303ac7..7c1c0f7ea4 100644
--- a/var/spack/repos/builtin/packages/r-segmented/package.py
+++ b/var/spack/repos/builtin/packages/r-segmented/package.py
@@ -20,14 +20,14 @@ class RSegmented(RPackage):
cran = "segmented"
- version('1.6-0', sha256='6baf7f0a4f5d37b945312d28fcbca47cc3c171d097c43a28cf7ffc998a4ce569')
- version('1.4-0', sha256='306940d3fe38588d5f52a52a217b560620b9ec9f338b32f604dfd78ffd43c276')
- version('1.3-4', sha256='8276bfbb3e5c1d7a9a61098f72ac9b2b0f52c89ae9f9b715f76b22303cc3902d')
- version('1.3-1', sha256='b9b6e82bf72f108c69cb8fa01bd02fb99946c73ca3c8c2f8ae0abb1f460c143d')
- version('1.0-0', sha256='eeadc89b4bb4744bbd1e4e6c3b6536ff96fc7ee09016228dfdc0a8ebdc74fac5')
- version('0.5-4.0', sha256='7ff63a19915cbd1e190d3a4875892b4c7bd97890b0dc2909126348a19aec4071')
- version('0.5-2.2', sha256='3aa7136370dd77911ba8e061b5215560d120bc71f355eeadc0856389dfecb2f1')
- version('0.5-1.4', sha256='b1dc5f79ccc076c2943b15fe4f339368afa241797b7e80c91b62132cfa66809c')
+ version("1.6-0", sha256="6baf7f0a4f5d37b945312d28fcbca47cc3c171d097c43a28cf7ffc998a4ce569")
+ version("1.4-0", sha256="306940d3fe38588d5f52a52a217b560620b9ec9f338b32f604dfd78ffd43c276")
+ version("1.3-4", sha256="8276bfbb3e5c1d7a9a61098f72ac9b2b0f52c89ae9f9b715f76b22303cc3902d")
+ version("1.3-1", sha256="b9b6e82bf72f108c69cb8fa01bd02fb99946c73ca3c8c2f8ae0abb1f460c143d")
+ version("1.0-0", sha256="eeadc89b4bb4744bbd1e4e6c3b6536ff96fc7ee09016228dfdc0a8ebdc74fac5")
+ version("0.5-4.0", sha256="7ff63a19915cbd1e190d3a4875892b4c7bd97890b0dc2909126348a19aec4071")
+ version("0.5-2.2", sha256="3aa7136370dd77911ba8e061b5215560d120bc71f355eeadc0856389dfecb2f1")
+ version("0.5-1.4", sha256="b1dc5f79ccc076c2943b15fe4f339368afa241797b7e80c91b62132cfa66809c")
- depends_on('r-mass', type=('build', 'run'), when='@1.4-0:')
- depends_on('r-nlme', type=('build', 'run'), when='@1.6-0:')
+ depends_on("r-mass", type=("build", "run"), when="@1.4-0:")
+ depends_on("r-nlme", type=("build", "run"), when="@1.6-0:")
diff --git a/var/spack/repos/builtin/packages/r-selectr/package.py b/var/spack/repos/builtin/packages/r-selectr/package.py
index 4b731e0ee2..18cc104dbe 100644
--- a/var/spack/repos/builtin/packages/r-selectr/package.py
+++ b/var/spack/repos/builtin/packages/r-selectr/package.py
@@ -17,11 +17,11 @@ class RSelectr(RPackage):
cran = "selectr"
- version('0.4-2', sha256='5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127')
- version('0.4-1', sha256='8bd42f167629344e485e586f9b05fed342746132489079084d82133d7b3ee2ca')
- version('0.4-0', sha256='40cd51bfe499954b300742c49f92167a68964b974268a7f47ca8864f32020ece')
- version('0.3-1', sha256='db4f7ceea4b522a54c3ae7709787b0b7fcf389c5d945c5a278e3625388218949')
+ version("0.4-2", sha256="5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127")
+ version("0.4-1", sha256="8bd42f167629344e485e586f9b05fed342746132489079084d82133d7b3ee2ca")
+ version("0.4-0", sha256="40cd51bfe499954b300742c49f92167a68964b974268a7f47ca8864f32020ece")
+ version("0.3-1", sha256="db4f7ceea4b522a54c3ae7709787b0b7fcf389c5d945c5a278e3625388218949")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'), when='@0.4-0:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"), when="@0.4-0:")
diff --git a/var/spack/repos/builtin/packages/r-seqinr/package.py b/var/spack/repos/builtin/packages/r-seqinr/package.py
index 4b2edf7de4..26d8d775a2 100644
--- a/var/spack/repos/builtin/packages/r-seqinr/package.py
+++ b/var/spack/repos/builtin/packages/r-seqinr/package.py
@@ -16,13 +16,13 @@ class RSeqinr(RPackage):
cran = "seqinr"
- version('4.2-16', sha256='c4f3253832fc255197bdce7b4dd381db606c6b787d2e888751b4963acf3a4032')
- version('4.2-8', sha256='584b34e9dec0320cef02096eb356a0f6115bbd24356cf62e67356963e9d5e9f7')
- version('4.2-5', sha256='de9860759c23af2ec2f2ef03b5dd1cea72c804438eadd369b7d9269bdf8d32fc')
- version('3.4-5', sha256='162a347495fd52cbb62e8187a4692e7c50b9fa62123c5ef98f2744c98a05fb9f')
- version('3.3-6', sha256='42a3ae01331db744d67cc9c5432ce9ae389bed465af826687b9c10216ac7a08d')
+ version("4.2-16", sha256="c4f3253832fc255197bdce7b4dd381db606c6b787d2e888751b4963acf3a4032")
+ version("4.2-8", sha256="584b34e9dec0320cef02096eb356a0f6115bbd24356cf62e67356963e9d5e9f7")
+ version("4.2-5", sha256="de9860759c23af2ec2f2ef03b5dd1cea72c804438eadd369b7d9269bdf8d32fc")
+ version("3.4-5", sha256="162a347495fd52cbb62e8187a4692e7c50b9fa62123c5ef98f2744c98a05fb9f")
+ version("3.3-6", sha256="42a3ae01331db744d67cc9c5432ce9ae389bed465af826687b9c10216ac7a08d")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-ade4', type=('build', 'run'))
- depends_on('r-segmented', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-ade4", type=("build", "run"))
+ depends_on("r-segmented", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/r-seqlogo/package.py b/var/spack/repos/builtin/packages/r-seqlogo/package.py
index 58aa6609cd..64df020002 100644
--- a/var/spack/repos/builtin/packages/r-seqlogo/package.py
+++ b/var/spack/repos/builtin/packages/r-seqlogo/package.py
@@ -9,19 +9,19 @@ from spack.package import *
class RSeqlogo(RPackage):
"""Sequence logos for DNA sequence alignments.
- seqLogo takes the position weight matrix of a DNA sequence motif and
- plots the corresponding sequence logo as introduced by Schneider and
- Stephens (1990)."""
+ seqLogo takes the position weight matrix of a DNA sequence motif and
+ plots the corresponding sequence logo as introduced by Schneider and
+ Stephens (1990)."""
bioc = "seqLogo"
- version('1.62.0', commit='f2d0b53b1411ea98299201a8125a85f4cbf7c9cd')
- version('1.60.0', commit='4115c8e1d01accb8c8cc1cf96f23359466827e16')
- version('1.56.0', commit='169260c43fc58dc75becb3b7842cac3d0038a8d5')
- version('1.50.0', commit='57986221c90c3920f9829756c4b3ee566dc1e14d')
- version('1.48.0', commit='dde85582e7fd0c08c5b8bc73f9aed8f23b727d9d')
- version('1.46.0', commit='e78be03db5f6a516138aeea6aa9512685633a4a2')
- version('1.44.0', commit='4cac14ff29f413d6de1a9944eb5d21bfe5045fac')
- version('1.42.0', commit='d7e04726c813282aa3f47a9ee98c5e1cec9bdddd')
+ version("1.62.0", commit="f2d0b53b1411ea98299201a8125a85f4cbf7c9cd")
+ version("1.60.0", commit="4115c8e1d01accb8c8cc1cf96f23359466827e16")
+ version("1.56.0", commit="169260c43fc58dc75becb3b7842cac3d0038a8d5")
+ version("1.50.0", commit="57986221c90c3920f9829756c4b3ee566dc1e14d")
+ version("1.48.0", commit="dde85582e7fd0c08c5b8bc73f9aed8f23b727d9d")
+ version("1.46.0", commit="e78be03db5f6a516138aeea6aa9512685633a4a2")
+ version("1.44.0", commit="4cac14ff29f413d6de1a9944eb5d21bfe5045fac")
+ version("1.42.0", commit="d7e04726c813282aa3f47a9ee98c5e1cec9bdddd")
- depends_on('r@4.2:', type=('build', 'run'), when='@1.62.0:')
+ depends_on("r@4.2:", type=("build", "run"), when="@1.62.0:")
diff --git a/var/spack/repos/builtin/packages/r-servr/package.py b/var/spack/repos/builtin/packages/r-servr/package.py
index ff51f09276..a75d8d500a 100644
--- a/var/spack/repos/builtin/packages/r-servr/package.py
+++ b/var/spack/repos/builtin/packages/r-servr/package.py
@@ -15,11 +15,11 @@ class RServr(RPackage):
cran = "servr"
- version('0.24', sha256='d94e1d31802ce6bbab7a5838ff94cbca8cd998237d834ff25fedf7514f41a087')
- version('0.21', sha256='3fc0da063dd04b796a49ce62bf8e69d5854679520da90cc92ee3fc0a0b2ad389')
+ version("0.24", sha256="d94e1d31802ce6bbab7a5838ff94cbca8cd998237d834ff25fedf7514f41a087")
+ version("0.21", sha256="3fc0da063dd04b796a49ce62bf8e69d5854679520da90cc92ee3fc0a0b2ad389")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-mime@0.2:', type=('build', 'run'))
- depends_on('r-httpuv@1.5.2:', type=('build', 'run'))
- depends_on('r-xfun', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-mime@0.2:", type=("build", "run"))
+ depends_on("r-httpuv@1.5.2:", type=("build", "run"))
+ depends_on("r-xfun", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sessioninfo/package.py b/var/spack/repos/builtin/packages/r-sessioninfo/package.py
index 4fbf98d147..009b272193 100644
--- a/var/spack/repos/builtin/packages/r-sessioninfo/package.py
+++ b/var/spack/repos/builtin/packages/r-sessioninfo/package.py
@@ -15,11 +15,11 @@ class RSessioninfo(RPackage):
cran = "sessioninfo"
- version('1.2.2', sha256='f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb')
- version('1.1.1', sha256='166b04678448a7decd50f24afabe5e2ad613e3c55b180ef6e8dd7a870a1dae48')
+ version("1.2.2", sha256="f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb")
+ version("1.1.1", sha256="166b04678448a7decd50f24afabe5e2ad613e3c55b180ef6e8dd7a870a1dae48")
- depends_on('r@2.10:', type=('build', 'run'), when='@1.2.2:')
- depends_on('r-cli', type=('build', 'run'))
- depends_on('r-cli@3.1.0:', type=('build', 'run'), when='@1.2.2:')
+ depends_on("r@2.10:", type=("build", "run"), when="@1.2.2:")
+ depends_on("r-cli", type=("build", "run"))
+ depends_on("r-cli@3.1.0:", type=("build", "run"), when="@1.2.2:")
- depends_on('r-withr', type=('build', 'run'), when='@:1.1.1')
+ depends_on("r-withr", type=("build", "run"), when="@:1.1.1")
diff --git a/var/spack/repos/builtin/packages/r-seurat/package.py b/var/spack/repos/builtin/packages/r-seurat/package.py
index a7cbf3c6e7..35e4cf6662 100644
--- a/var/spack/repos/builtin/packages/r-seurat/package.py
+++ b/var/spack/repos/builtin/packages/r-seurat/package.py
@@ -19,101 +19,101 @@ class RSeurat(RPackage):
cran = "Seurat"
- version('4.1.1', sha256='201aa96919b32378fc4cb67557188214c1242dcbae50cadd7d12c86666af8ace')
- version('4.1.0', sha256='2505829a2763e449684dd1b107ee6982e019ee9fecb093adca7b283cad1b315d')
- version('3.2.3', sha256='83aa48f75c3756bee23e108a8b01028366e24f237fe990cb441f3525e0613f87')
- version('3.1.0', sha256='d8d3fad2950a8f791376e3d20c72ea07c68bf8d82d800661cab5ce696db39d45')
- version('3.0.2', sha256='16df5dec6b41d49320c5bf5ce30eb3b7dedeea69b054b55b77528f2f2b7bce04')
- version('3.0.1', sha256='8c467bdbfdb9aff51bde6a897ff98a7389941f688639d8f1d36c71dde076a257')
- version('2.1.0', sha256='7d20d231b979a4aa63cd7dae7e725405212e8975889f12b8d779c6c896c10ac3')
- version('2.0.1', sha256='6aa33aa3afb29a8be364ab083c7071cfbc56ad042a019bcf6f939e0c8c7744f0')
+ version("4.1.1", sha256="201aa96919b32378fc4cb67557188214c1242dcbae50cadd7d12c86666af8ace")
+ version("4.1.0", sha256="2505829a2763e449684dd1b107ee6982e019ee9fecb093adca7b283cad1b315d")
+ version("3.2.3", sha256="83aa48f75c3756bee23e108a8b01028366e24f237fe990cb441f3525e0613f87")
+ version("3.1.0", sha256="d8d3fad2950a8f791376e3d20c72ea07c68bf8d82d800661cab5ce696db39d45")
+ version("3.0.2", sha256="16df5dec6b41d49320c5bf5ce30eb3b7dedeea69b054b55b77528f2f2b7bce04")
+ version("3.0.1", sha256="8c467bdbfdb9aff51bde6a897ff98a7389941f688639d8f1d36c71dde076a257")
+ version("2.1.0", sha256="7d20d231b979a4aa63cd7dae7e725405212e8975889f12b8d779c6c896c10ac3")
+ version("2.0.1", sha256="6aa33aa3afb29a8be364ab083c7071cfbc56ad042a019bcf6f939e0c8c7744f0")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.3.1:')
- depends_on('r@3.6.0:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-cluster', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-cowplot', type=('build', 'run'))
- depends_on('r-fitdistrplus', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-future', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-future-apply', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-ggplot2@3.0.0:', type=('build', 'run'))
- depends_on('r-ggplot2@3.3.0:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-ggrepel', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-ggridges', type=('build', 'run'), when='@2.2.0:')
- depends_on('r-httr', type=('build', 'run'), when='@2.3.4:')
- depends_on('r-ica', type=('build', 'run'))
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-irlba', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-kernsmooth', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-leiden@0.3.1:', type=('build', 'run'), when='@3.1.0:')
- depends_on('r-lmtest', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-matrix@1.2-14:', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-miniui', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-patchwork', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-pbapply', type=('build', 'run'))
- depends_on('r-plotly', type=('build', 'run'))
- depends_on('r-plotly@4.9.0:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-png', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-rann', type=('build', 'run'), when='@2.3.0:')
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-rcpp@1.0.7:', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-rcppannoy', type=('build', 'run'), when='@3.1.0:')
- depends_on('r-rcppannoy@0.0.18:', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-reticulate', type=('build', 'run'), when='@2.3.1:')
- depends_on('r-rlang', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-rocr', type=('build', 'run'))
- depends_on('r-rtsne', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-scattermore@0.7:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-sctransform@0.2.0:', type=('build', 'run'), when='@3.0.0:')
- depends_on('r-sctransform@0.3.1:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-sctransform@0.3.3:', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-seuratobject@4.0.4:', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-seuratobject@4.1.0:', type=('build', 'run'), when='@4.1.1:')
- depends_on('r-shiny', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-spatstat-core', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-spatstat-geom', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-tibble', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-uwot', type=('build', 'run'), when='@3.1.0:')
- depends_on('r-uwot@0.1.9:', type=('build', 'run'), when='@3.2.3:')
- depends_on('r-rcppeigen', type=('build', 'run'))
- depends_on('r-rcppprogress', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.3.1:")
+ depends_on("r@3.6.0:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-cluster", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-cowplot", type=("build", "run"))
+ depends_on("r-fitdistrplus", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-future", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-future-apply", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-ggplot2@3.0.0:", type=("build", "run"))
+ depends_on("r-ggplot2@3.3.0:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-ggrepel", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-ggridges", type=("build", "run"), when="@2.2.0:")
+ depends_on("r-httr", type=("build", "run"), when="@2.3.4:")
+ depends_on("r-ica", type=("build", "run"))
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-irlba", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-kernsmooth", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-leiden@0.3.1:", type=("build", "run"), when="@3.1.0:")
+ depends_on("r-lmtest", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-matrix@1.2-14:", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-miniui", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-patchwork", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-pbapply", type=("build", "run"))
+ depends_on("r-plotly", type=("build", "run"))
+ depends_on("r-plotly@4.9.0:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-png", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-rann", type=("build", "run"), when="@2.3.0:")
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-rcpp@1.0.7:", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-rcppannoy", type=("build", "run"), when="@3.1.0:")
+ depends_on("r-rcppannoy@0.0.18:", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-reticulate", type=("build", "run"), when="@2.3.1:")
+ depends_on("r-rlang", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-rocr", type=("build", "run"))
+ depends_on("r-rtsne", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-scattermore@0.7:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-sctransform@0.2.0:", type=("build", "run"), when="@3.0.0:")
+ depends_on("r-sctransform@0.3.1:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-sctransform@0.3.3:", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-seuratobject@4.0.4:", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-seuratobject@4.1.0:", type=("build", "run"), when="@4.1.1:")
+ depends_on("r-shiny", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-spatstat-core", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-spatstat-geom", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-tibble", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-uwot", type=("build", "run"), when="@3.1.0:")
+ depends_on("r-uwot@0.1.9:", type=("build", "run"), when="@3.2.3:")
+ depends_on("r-rcppeigen", type=("build", "run"))
+ depends_on("r-rcppprogress", type=("build", "run"))
- depends_on('r-gplots', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-reshape2', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-ape', type=('build', 'run'), when='@:3.1.0')
- depends_on('r-tidyr', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-caret', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-gdata', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-gridextra', type=('build', 'run'), when='@:2.3.0')
- depends_on('r-hmisc', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-nmf', type=('build', 'run'), when='@:2.2.0')
- depends_on('r-fpc', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-lars', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-dtw', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-mixtools', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-diffusionmap', type=('build', 'run'), when='@:2.3.3')
- depends_on('r-tsne', type=('build', 'run'), when='@:3.1.0')
- depends_on('r-ranger', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-ggjoy', type=('build', 'run'), when='@:2.1.0')
- depends_on('r-sdmtools', type=('build', 'run'), when='@:3.1.0')
- depends_on('r-tclust', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-fnn', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-vgam', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-e1071', type=('build', 'run'), when='@:2.0.1')
- depends_on('r-compositions', type=('build', 'run'), when='@:2.0.1')
- depends_on('r-nmof', type=('build', 'run'), when='@:2.0.1')
- depends_on('r-metap', type=('build', 'run'), when='@2.2.1:3.1.0')
- depends_on('r-stringr', type=('build', 'run'), when='@:2.3.2')
- depends_on('r-dplyr', type=('build', 'run'), when='@:2.3.4')
- depends_on('r-dosnow', type=('build', 'run'), when='@2.3.0:2.3.4')
- depends_on('r-foreach', type=('build', 'run'), when='@2.3.0:2.3.4')
- depends_on('r-hdf5r', type=('build', 'run'), when='@2.3.2:2.3.4')
- depends_on('r-rsvd', type=('build', 'run'), when='@3.0.0:3.2.3')
- depends_on('r-spatstat@:1.64-1', type=('build', 'run'), when='@3.2.3')
- depends_on('java', when='@:2.3.0')
+ depends_on("r-gplots", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-reshape2", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-ape", type=("build", "run"), when="@:3.1.0")
+ depends_on("r-tidyr", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-caret", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-gdata", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-gridextra", type=("build", "run"), when="@:2.3.0")
+ depends_on("r-hmisc", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-nmf", type=("build", "run"), when="@:2.2.0")
+ depends_on("r-fpc", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-lars", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-dtw", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-mixtools", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-diffusionmap", type=("build", "run"), when="@:2.3.3")
+ depends_on("r-tsne", type=("build", "run"), when="@:3.1.0")
+ depends_on("r-ranger", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-ggjoy", type=("build", "run"), when="@:2.1.0")
+ depends_on("r-sdmtools", type=("build", "run"), when="@:3.1.0")
+ depends_on("r-tclust", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-fnn", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-vgam", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-e1071", type=("build", "run"), when="@:2.0.1")
+ depends_on("r-compositions", type=("build", "run"), when="@:2.0.1")
+ depends_on("r-nmof", type=("build", "run"), when="@:2.0.1")
+ depends_on("r-metap", type=("build", "run"), when="@2.2.1:3.1.0")
+ depends_on("r-stringr", type=("build", "run"), when="@:2.3.2")
+ depends_on("r-dplyr", type=("build", "run"), when="@:2.3.4")
+ depends_on("r-dosnow", type=("build", "run"), when="@2.3.0:2.3.4")
+ depends_on("r-foreach", type=("build", "run"), when="@2.3.0:2.3.4")
+ depends_on("r-hdf5r", type=("build", "run"), when="@2.3.2:2.3.4")
+ depends_on("r-rsvd", type=("build", "run"), when="@3.0.0:3.2.3")
+ depends_on("r-spatstat@:1.64-1", type=("build", "run"), when="@3.2.3")
+ depends_on("java", when="@:2.3.0")
diff --git a/var/spack/repos/builtin/packages/r-seuratobject/package.py b/var/spack/repos/builtin/packages/r-seuratobject/package.py
index a87be8e1c4..26da764b45 100644
--- a/var/spack/repos/builtin/packages/r-seuratobject/package.py
+++ b/var/spack/repos/builtin/packages/r-seuratobject/package.py
@@ -20,16 +20,16 @@ class RSeuratobject(RPackage):
cran = "SeuratObject"
- version('4.1.0', sha256='9ca406cb3bd95c588e1a81c5383e3173a446cc0667142b139ca32685b4b20a05')
- version('4.0.4', sha256='585261b7d2045193accf817a29e2e3356e731f57c554bed37d232fa49784088c')
+ version("4.1.0", sha256="9ca406cb3bd95c588e1a81c5383e3173a446cc0667142b139ca32685b4b20a05")
+ version("4.0.4", sha256="585261b7d2045193accf817a29e2e3356e731f57c554bed37d232fa49784088c")
- depends_on('r@4.0.0:', type=('build', 'run'))
- depends_on('r-future', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-future-apply', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-matrix@1.3-3:', type=('build', 'run'))
- depends_on('r-progressr', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-rcpp@1.0.5:', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-rgeos', type=('build', 'run'), when='@4.1.0:')
- depends_on('r-rlang@0.4.7:', type=('build', 'run'))
- depends_on('r-rcppeigen', type=('build', 'run'))
+ depends_on("r@4.0.0:", type=("build", "run"))
+ depends_on("r-future", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-future-apply", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-matrix@1.3-3:", type=("build", "run"))
+ depends_on("r-progressr", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-rcpp@1.0.5:", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-rgeos", type=("build", "run"), when="@4.1.0:")
+ depends_on("r-rlang@0.4.7:", type=("build", "run"))
+ depends_on("r-rcppeigen", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sf/package.py b/var/spack/repos/builtin/packages/r-sf/package.py
index ef5ef7d486..e679d957c5 100644
--- a/var/spack/repos/builtin/packages/r-sf/package.py
+++ b/var/spack/repos/builtin/packages/r-sf/package.py
@@ -17,26 +17,26 @@ class RSf(RPackage):
cran = "sf"
- version('1.0-7', sha256='d0731fab9438d73a55af7232f0474b36f4b2a4e6d66adaa141632f4a60265453')
- version('1.0-5', sha256='290c28fa5ea777d555e70962c59079c134f02f7bdf60259a72eea79a064a1ac4')
- version('0.9-7', sha256='4acac2f78badf9d252da5bf377975f984927c14a56a72d9f83d285c0adadae9c')
- version('0.7-7', sha256='d1780cb46a285b30c7cc41cae30af523fbc883733344e53f7291e2d045e150a4')
- version('0.7-5', sha256='53ed0567f502216a116c4848f5a9262ca232810f82642df7b98e0541a2524868')
- version('0.5-5', sha256='82ad31f98243b6982302fe245ee6e0d8d0546e5ff213ccc00ec3025dfec62229')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-classint@0.2-1:', type=('build', 'run'))
- depends_on('r-classint@0.4-1:', type=('build', 'run'), when='@0.9-7:')
- depends_on('r-dbi@0.8:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rcpp@0.12.18:', type=('build', 'run'))
- depends_on('r-s2@1.0.7:', type=('build', 'run'), when='@1.0-5:')
- depends_on('r-units@0.6-0:', type=('build', 'run'), when='@1.0-5:')
- depends_on('gdal@2.0.1:')
- depends_on('geos@3.4.0:')
- depends_on('proj@4.8.0:5', when='@:0.7-3')
- depends_on('proj@4.8.0:6', when='@0.7-4:0.7-7')
- depends_on('proj@4.8.0:')
- depends_on('sqlite', when='@0.9-7')
-
- depends_on('r-units@0.6-0:', type=('build', 'run'), when='@:9.9-7')
+ version("1.0-7", sha256="d0731fab9438d73a55af7232f0474b36f4b2a4e6d66adaa141632f4a60265453")
+ version("1.0-5", sha256="290c28fa5ea777d555e70962c59079c134f02f7bdf60259a72eea79a064a1ac4")
+ version("0.9-7", sha256="4acac2f78badf9d252da5bf377975f984927c14a56a72d9f83d285c0adadae9c")
+ version("0.7-7", sha256="d1780cb46a285b30c7cc41cae30af523fbc883733344e53f7291e2d045e150a4")
+ version("0.7-5", sha256="53ed0567f502216a116c4848f5a9262ca232810f82642df7b98e0541a2524868")
+ version("0.5-5", sha256="82ad31f98243b6982302fe245ee6e0d8d0546e5ff213ccc00ec3025dfec62229")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-classint@0.2-1:", type=("build", "run"))
+ depends_on("r-classint@0.4-1:", type=("build", "run"), when="@0.9-7:")
+ depends_on("r-dbi@0.8:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rcpp@0.12.18:", type=("build", "run"))
+ depends_on("r-s2@1.0.7:", type=("build", "run"), when="@1.0-5:")
+ depends_on("r-units@0.6-0:", type=("build", "run"), when="@1.0-5:")
+ depends_on("gdal@2.0.1:")
+ depends_on("geos@3.4.0:")
+ depends_on("proj@4.8.0:5", when="@:0.7-3")
+ depends_on("proj@4.8.0:6", when="@0.7-4:0.7-7")
+ depends_on("proj@4.8.0:")
+ depends_on("sqlite", when="@0.9-7")
+
+ depends_on("r-units@0.6-0:", type=("build", "run"), when="@:9.9-7")
diff --git a/var/spack/repos/builtin/packages/r-sfheaders/package.py b/var/spack/repos/builtin/packages/r-sfheaders/package.py
index 464d4c7147..1ed808a704 100644
--- a/var/spack/repos/builtin/packages/r-sfheaders/package.py
+++ b/var/spack/repos/builtin/packages/r-sfheaders/package.py
@@ -15,7 +15,7 @@ class RSfheaders(RPackage):
cran = "sfheaders"
- version('0.4.0', sha256='86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045')
+ version("0.4.0", sha256="86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045")
- depends_on('r-geometries@0.2.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r-geometries@0.2.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sfsmisc/package.py b/var/spack/repos/builtin/packages/r-sfsmisc/package.py
index 491febf352..cba19d8dab 100644
--- a/var/spack/repos/builtin/packages/r-sfsmisc/package.py
+++ b/var/spack/repos/builtin/packages/r-sfsmisc/package.py
@@ -21,13 +21,13 @@ class RSfsmisc(RPackage):
cran = "sfsmisc"
- version('1.1-13', sha256='a81710357de2dcdaf00d9fa30a29cde0dd83616edc358452fd6105ea88f34218')
- version('1.1-12', sha256='9b12184a28fff87cacd0c3602d0cf63acb4d0f3049ad3a6ff16177f6df350782')
- version('1.1-8', sha256='b6556af5f807f0769489657a676422cb0734f3d6c918543d2989ef17febc1fa5')
- version('1.1-4', sha256='44b6a9c859922e86b7182e54eb781d3264f3819f310343518ebc66f54f305c7d')
- version('1.1-3', sha256='58eff7d4a9c79212321858efe98d2a6153630e263ff0218a31d5e104b8b545f8')
- version('1.1-0', sha256='7f430cf3ebb95bac806fbf093fb1e2112deba47416a93be8d5d1064b76bc0015')
+ version("1.1-13", sha256="a81710357de2dcdaf00d9fa30a29cde0dd83616edc358452fd6105ea88f34218")
+ version("1.1-12", sha256="9b12184a28fff87cacd0c3602d0cf63acb4d0f3049ad3a6ff16177f6df350782")
+ version("1.1-8", sha256="b6556af5f807f0769489657a676422cb0734f3d6c918543d2989ef17febc1fa5")
+ version("1.1-4", sha256="44b6a9c859922e86b7182e54eb781d3264f3819f310343518ebc66f54f305c7d")
+ version("1.1-3", sha256="58eff7d4a9c79212321858efe98d2a6153630e263ff0218a31d5e104b8b545f8")
+ version("1.1-0", sha256="7f430cf3ebb95bac806fbf093fb1e2112deba47416a93be8d5d1064b76bc0015")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@1.1-2:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@1.1-12:')
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@1.1-2:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@1.1-12:")
diff --git a/var/spack/repos/builtin/packages/r-shadowtext/package.py b/var/spack/repos/builtin/packages/r-shadowtext/package.py
index da7d2e3123..6445e5c512 100644
--- a/var/spack/repos/builtin/packages/r-shadowtext/package.py
+++ b/var/spack/repos/builtin/packages/r-shadowtext/package.py
@@ -14,10 +14,10 @@ class RShadowtext(RPackage):
cran = "shadowtext"
- version('0.1.2', sha256='253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d')
- version('0.1.1', sha256='eb06581d7ed06c963eee47548932688fd48eba70b3ebd2a7b41a6501d6e00006')
- version('0.0.7', sha256='6e32b1dfd3d4816803848b876666185258b888286ec3d3e8500499ec3eba31e8')
+ version("0.1.2", sha256="253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d")
+ version("0.1.1", sha256="eb06581d7ed06c963eee47548932688fd48eba70b3ebd2a7b41a6501d6e00006")
+ version("0.0.7", sha256="6e32b1dfd3d4816803848b876666185258b888286ec3d3e8500499ec3eba31e8")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-shape/package.py b/var/spack/repos/builtin/packages/r-shape/package.py
index 85acd2ea0f..e7fc343492 100644
--- a/var/spack/repos/builtin/packages/r-shape/package.py
+++ b/var/spack/repos/builtin/packages/r-shape/package.py
@@ -14,10 +14,10 @@ class RShape(RPackage):
cran = "shape"
- version('1.4.6', sha256='b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b')
- version('1.4.5', sha256='094a79b8f42226189227fd7af71868e42106caa25a4d7f80a26977e8bc84189f')
- version('1.4.4', sha256='f4cb1b7d7c84cf08d2fa97f712ea7eb53ed5fa16e5c7293b820bceabea984d41')
- version('1.4.3', sha256='720f6ca9c70a39a3900af9d074bff864b18ac58013b21d48b779047481b93ded')
- version('1.4.2', sha256='c6c08ba9cc2e90e5c9d3d5223529b57061a041f637886ad7665b9fa27465637a')
+ version("1.4.6", sha256="b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b")
+ version("1.4.5", sha256="094a79b8f42226189227fd7af71868e42106caa25a4d7f80a26977e8bc84189f")
+ version("1.4.4", sha256="f4cb1b7d7c84cf08d2fa97f712ea7eb53ed5fa16e5c7293b820bceabea984d41")
+ version("1.4.3", sha256="720f6ca9c70a39a3900af9d074bff864b18ac58013b21d48b779047481b93ded")
+ version("1.4.2", sha256="c6c08ba9cc2e90e5c9d3d5223529b57061a041f637886ad7665b9fa27465637a")
- depends_on('r@2.0.1:', type=('build', 'run'))
+ depends_on("r@2.0.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-shiny/package.py b/var/spack/repos/builtin/packages/r-shiny/package.py
index 2922091b7e..ace8f12624 100644
--- a/var/spack/repos/builtin/packages/r-shiny/package.py
+++ b/var/spack/repos/builtin/packages/r-shiny/package.py
@@ -16,40 +16,40 @@ class RShiny(RPackage):
cran = "shiny"
- version('1.7.1', sha256='c03b2056fb41430352c7c0e812bcc8632e6ec4caef077d2f7633512d91721d00')
- version('1.5.0', sha256='23cb8bfa448389c256efdab75e7e8d3ff90e5de66264c4ab02df322fb4298e9e')
- version('1.3.2', sha256='28b851ae6c196ca845f6e815c1379247595ac123a4faa10a16533d1a9ce0c24f')
- version('1.0.5', sha256='20e25f3f72f3608a2151663f7836f2e0c6da32683a555d7541063ae7a935fa42')
- version('0.13.2', sha256='0fe7e952f468242d7c43ae49afcc764788f7f2fd5436d18c3d20a80db7296231')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-httpuv@1.5.0:', type=('build', 'run'))
- depends_on('r-httpuv@1.5.2:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-mime@0.3:', type=('build', 'run'))
- depends_on('r-jsonlite@0.9.16:', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-fontawesome@0.2.1:', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-htmltools@0.3.6:', type=('build', 'run'))
- depends_on('r-htmltools@0.4.0.9003:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-htmltools@0.5.2:', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-r6@2.0:', type=('build', 'run'))
- depends_on('r-sourcetools', type=('build', 'run'))
- depends_on('r-later@0.7.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-later@1.0.0:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-promises@1.0.1:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-promises@1.1.0:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-crayon', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rlang', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rlang@0.4.0:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-fastmap@1.0.0:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-fastmap@1.1.0:', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-withr', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-commonmark@1.7:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-glue@1.3.2:', type=('build', 'run'), when='@1.5.0:')
- depends_on('r-bslib@0.3.0:', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-cachem', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@1.7.1:')
- depends_on('r-lifecycle@0.2.0:', type=('build', 'run'), when='@1.7.1:')
-
- depends_on('r-digest', type=('build', 'run'), when='@:1.5.0')
+ version("1.7.1", sha256="c03b2056fb41430352c7c0e812bcc8632e6ec4caef077d2f7633512d91721d00")
+ version("1.5.0", sha256="23cb8bfa448389c256efdab75e7e8d3ff90e5de66264c4ab02df322fb4298e9e")
+ version("1.3.2", sha256="28b851ae6c196ca845f6e815c1379247595ac123a4faa10a16533d1a9ce0c24f")
+ version("1.0.5", sha256="20e25f3f72f3608a2151663f7836f2e0c6da32683a555d7541063ae7a935fa42")
+ version("0.13.2", sha256="0fe7e952f468242d7c43ae49afcc764788f7f2fd5436d18c3d20a80db7296231")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-httpuv@1.5.0:", type=("build", "run"))
+ depends_on("r-httpuv@1.5.2:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-mime@0.3:", type=("build", "run"))
+ depends_on("r-jsonlite@0.9.16:", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-fontawesome@0.2.1:", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-htmltools@0.3.6:", type=("build", "run"))
+ depends_on("r-htmltools@0.4.0.9003:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-htmltools@0.5.2:", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-r6@2.0:", type=("build", "run"))
+ depends_on("r-sourcetools", type=("build", "run"))
+ depends_on("r-later@0.7.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-later@1.0.0:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-promises@1.0.1:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-promises@1.1.0:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-crayon", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rlang", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rlang@0.4.0:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-fastmap@1.0.0:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-fastmap@1.1.0:", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-withr", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-commonmark@1.7:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-glue@1.3.2:", type=("build", "run"), when="@1.5.0:")
+ depends_on("r-bslib@0.3.0:", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-cachem", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@1.7.1:")
+ depends_on("r-lifecycle@0.2.0:", type=("build", "run"), when="@1.7.1:")
+
+ depends_on("r-digest", type=("build", "run"), when="@:1.5.0")
diff --git a/var/spack/repos/builtin/packages/r-shinydashboard/package.py b/var/spack/repos/builtin/packages/r-shinydashboard/package.py
index db8f218c87..9abc708589 100644
--- a/var/spack/repos/builtin/packages/r-shinydashboard/package.py
+++ b/var/spack/repos/builtin/packages/r-shinydashboard/package.py
@@ -14,12 +14,12 @@ class RShinydashboard(RPackage):
cran = "shinydashboard"
- version('0.7.2', sha256='a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843')
- version('0.7.1', sha256='51a49945c6b8a684111a2ba4b2a5964e3a50610286ce0378e37ae02316620a4e')
- version('0.7.0', sha256='0b7b102e9e5bea78ddc4da628d072a358270f2db9b63a6ebe4d8bdce3066d883')
- version('0.6.1', sha256='1ee38f257433d24455426bc9d85c36f588735a54fbf6143935fed9cccb3bf193')
+ version("0.7.2", sha256="a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843")
+ version("0.7.1", sha256="51a49945c6b8a684111a2ba4b2a5964e3a50610286ce0378e37ae02316620a4e")
+ version("0.7.0", sha256="0b7b102e9e5bea78ddc4da628d072a358270f2db9b63a6ebe4d8bdce3066d883")
+ version("0.6.1", sha256="1ee38f257433d24455426bc9d85c36f588735a54fbf6143935fed9cccb3bf193")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-shiny@1.0.0:', type=('build', 'run'))
- depends_on('r-htmltools@0.2.6:', type=('build', 'run'))
- depends_on('r-promises', type=('build', 'run'), when='@0.7.1:')
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-shiny@1.0.0:", type=("build", "run"))
+ depends_on("r-htmltools@0.2.6:", type=("build", "run"))
+ depends_on("r-promises", type=("build", "run"), when="@0.7.1:")
diff --git a/var/spack/repos/builtin/packages/r-shinyfiles/package.py b/var/spack/repos/builtin/packages/r-shinyfiles/package.py
index c6521a985c..1210ab4cfa 100644
--- a/var/spack/repos/builtin/packages/r-shinyfiles/package.py
+++ b/var/spack/repos/builtin/packages/r-shinyfiles/package.py
@@ -17,13 +17,13 @@ class RShinyfiles(RPackage):
cran = "shinyFiles"
- version('0.9.2', sha256='8fbe4b8e1478c5e5efdb8fddcbe210fd2275e61d9ff06efa1672f61dd3268ad0')
- version('0.9.1', sha256='05694630ed5ae6ac15307ffcb211c83097fee0f38ca59340a7e68cac62730d39')
- version('0.9.0', sha256='51ad2aad61bcae22fb2c48a79d02bf6f86e36ffc49a3b64e26a76d133a955167')
- version('0.7.3', sha256='710c8a6191aaf336379bc748daff1160d0d2858e2aee0d98e2ad48e7121d5a05')
+ version("0.9.2", sha256="8fbe4b8e1478c5e5efdb8fddcbe210fd2275e61d9ff06efa1672f61dd3268ad0")
+ version("0.9.1", sha256="05694630ed5ae6ac15307ffcb211c83097fee0f38ca59340a7e68cac62730d39")
+ version("0.9.0", sha256="51ad2aad61bcae22fb2c48a79d02bf6f86e36ffc49a3b64e26a76d133a955167")
+ version("0.7.3", sha256="710c8a6191aaf336379bc748daff1160d0d2858e2aee0d98e2ad48e7121d5a05")
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-shiny@1.1.0:', type=('build', 'run'))
- depends_on('r-fs@1.2.6:', type=('build', 'run'))
- depends_on('r-tibble@1.4.2:', type=('build', 'run'))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-shiny@1.1.0:", type=("build", "run"))
+ depends_on("r-fs@1.2.6:", type=("build", "run"))
+ depends_on("r-tibble@1.4.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-shinyjs/package.py b/var/spack/repos/builtin/packages/r-shinyjs/package.py
index ed3428a017..7fd9c27a72 100644
--- a/var/spack/repos/builtin/packages/r-shinyjs/package.py
+++ b/var/spack/repos/builtin/packages/r-shinyjs/package.py
@@ -18,13 +18,13 @@ class RShinyjs(RPackage):
cran = "shinyjs"
- version('2.1.0', sha256='7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5')
- version('2.0.0', sha256='c2cdd9fab41f6b46bb41b288cd9b3fb3a7fe9627b664e3a58a0cb5dd4c19f8ff')
+ version("2.1.0", sha256="7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5")
+ version("2.0.0", sha256="c2cdd9fab41f6b46bb41b288cd9b3fb3a7fe9627b664e3a58a0cb5dd4c19f8ff")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-digest@0.6.8:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-shiny@1.0.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-digest@0.6.8:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-shiny@1.0.0:", type=("build", "run"))
- depends_on('r-htmltools@0.2.9:', type=('build', 'run'), when='@:2.0.0')
- depends_on('pandoc', type='build', when='@:2.0.0')
+ depends_on("r-htmltools@0.2.9:", type=("build", "run"), when="@:2.0.0")
+ depends_on("pandoc", type="build", when="@:2.0.0")
diff --git a/var/spack/repos/builtin/packages/r-shinystan/package.py b/var/spack/repos/builtin/packages/r-shinystan/package.py
index 831f515099..ff82bce6c1 100644
--- a/var/spack/repos/builtin/packages/r-shinystan/package.py
+++ b/var/spack/repos/builtin/packages/r-shinystan/package.py
@@ -19,25 +19,25 @@ class RShinystan(RPackage):
cran = "shinystan"
- version('2.6.0', sha256='a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529')
- version('2.5.0', sha256='45f9c552a31035c5de8658bb9e5d72da7ec1f88fbddb520d15fe701c677154a1')
-
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-shiny@1.0.3:', type=('build', 'run'))
- depends_on('r-bayesplot@1.5.0:', type=('build', 'run'))
- depends_on('r-colourpicker', type=('build', 'run'))
- depends_on('r-dt@0.2:', type=('build', 'run'))
- depends_on('r-dygraphs@1.1.1.2:', type=('build', 'run'))
- depends_on('r-ggplot2@2.1.1:', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-markdown@0.7.4:', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-rstan@2.17.1:', type=('build', 'run'))
- depends_on('r-shinyjs@0.6.0:', type=('build', 'run'))
- depends_on('r-shinythemes@1.0.1:', type=('build', 'run'))
- depends_on('r-threejs@0.2.1:', type=('build', 'run'))
- depends_on('r-xtable', type=('build', 'run'))
- depends_on('r-xts@0.9-7:', type=('build', 'run'))
-
- depends_on('r-rsconnect@0.4.2:', type=('build', 'run'), when='@:2.5.0')
+ version("2.6.0", sha256="a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529")
+ version("2.5.0", sha256="45f9c552a31035c5de8658bb9e5d72da7ec1f88fbddb520d15fe701c677154a1")
+
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-shiny@1.0.3:", type=("build", "run"))
+ depends_on("r-bayesplot@1.5.0:", type=("build", "run"))
+ depends_on("r-colourpicker", type=("build", "run"))
+ depends_on("r-dt@0.2:", type=("build", "run"))
+ depends_on("r-dygraphs@1.1.1.2:", type=("build", "run"))
+ depends_on("r-ggplot2@2.1.1:", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-markdown@0.7.4:", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-rstan@2.17.1:", type=("build", "run"))
+ depends_on("r-shinyjs@0.6.0:", type=("build", "run"))
+ depends_on("r-shinythemes@1.0.1:", type=("build", "run"))
+ depends_on("r-threejs@0.2.1:", type=("build", "run"))
+ depends_on("r-xtable", type=("build", "run"))
+ depends_on("r-xts@0.9-7:", type=("build", "run"))
+
+ depends_on("r-rsconnect@0.4.2:", type=("build", "run"), when="@:2.5.0")
diff --git a/var/spack/repos/builtin/packages/r-shinythemes/package.py b/var/spack/repos/builtin/packages/r-shinythemes/package.py
index d24db3bd20..9b176b3e3e 100644
--- a/var/spack/repos/builtin/packages/r-shinythemes/package.py
+++ b/var/spack/repos/builtin/packages/r-shinythemes/package.py
@@ -15,7 +15,7 @@ class RShinythemes(RPackage):
cran = "shinythemes"
- version('1.2.0', sha256='37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963')
+ version("1.2.0", sha256="37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-shiny@0.11:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-shiny@0.11:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-shortread/package.py b/var/spack/repos/builtin/packages/r-shortread/package.py
index 3cd154c345..2ac41c3f15 100644
--- a/var/spack/repos/builtin/packages/r-shortread/package.py
+++ b/var/spack/repos/builtin/packages/r-shortread/package.py
@@ -9,45 +9,45 @@ from spack.package import *
class RShortread(RPackage):
"""FASTQ input and manipulation.
- This package implements sampling, iteration, and input of FASTQ files.
- The package includes functions for filtering and trimming reads, and for
- generating a quality assessment report. Data are represented as
- DNAStringSet-derived objects, and easily manipulated for a diversity of
- purposes. The package also contains legacy support for early single-end,
- ungapped alignment formats."""
+ This package implements sampling, iteration, and input of FASTQ files.
+ The package includes functions for filtering and trimming reads, and for
+ generating a quality assessment report. Data are represented as
+ DNAStringSet-derived objects, and easily manipulated for a diversity of
+ purposes. The package also contains legacy support for early single-end,
+ ungapped alignment formats."""
bioc = "ShortRead"
- version('1.54.0', commit='a1082a335120860d019aa0065a975d41890351f7')
- version('1.52.0', commit='4d7304d7b5a0ca5c904c0b919d6c95599db72a39')
- version('1.48.0', commit='ba44cd2517bc0e6f46d2cfcfce393f86eec814d0')
- version('1.42.0', commit='daa2576a48278460caf87f42c022c796652f4908')
- version('1.40.0', commit='0cbe4b62b0be4c5f2e2670da17493423446e008f')
- version('1.38.0', commit='e9498f04b7b4bf0212bbb10ec7e3de2d7699f4bf')
- version('1.36.1', commit='176c34eddf4a416d30c69cb4ac197141ba42e66f')
- version('1.34.2', commit='25daac63b301df66a8ef6e98cc2977522c6786cd')
+ version("1.54.0", commit="a1082a335120860d019aa0065a975d41890351f7")
+ version("1.52.0", commit="4d7304d7b5a0ca5c904c0b919d6c95599db72a39")
+ version("1.48.0", commit="ba44cd2517bc0e6f46d2cfcfce393f86eec814d0")
+ version("1.42.0", commit="daa2576a48278460caf87f42c022c796652f4908")
+ version("1.40.0", commit="0cbe4b62b0be4c5f2e2670da17493423446e008f")
+ version("1.38.0", commit="e9498f04b7b4bf0212bbb10ec7e3de2d7699f4bf")
+ version("1.36.1", commit="176c34eddf4a416d30c69cb4ac197141ba42e66f")
+ version("1.34.2", commit="25daac63b301df66a8ef6e98cc2977522c6786cd")
- depends_on('r-biocgenerics@0.22.1:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.23.3:', type=('build', 'run'), when='@1.36.1:')
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-biostrings@2.37.1:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-rsamtools@1.21.4:', type=('build', 'run'))
- depends_on('r-rsamtools@1.31.2:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-genomicalignments@1.5.4:', type=('build', 'run'))
- depends_on('r-genomicalignments@1.15.6:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-s4vectors@0.13.8:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-iranges@2.3.7:', type=('build', 'run'))
- depends_on('r-iranges@2.13.12:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-genomeinfodb@1.1.19:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.15.2:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-genomicranges@1.21.6:', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.8:', type=('build', 'run'), when='@1.38.0:')
- depends_on('r-hwriter', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-latticeextra', type=('build', 'run'))
- depends_on('r-xvector', type=('build', 'run'))
- depends_on('r-rhtslib', type=('build', 'run'), when='@1.48.0:')
+ depends_on("r-biocgenerics@0.22.1:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.23.3:", type=("build", "run"), when="@1.36.1:")
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-biostrings@2.37.1:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-rsamtools@1.21.4:", type=("build", "run"))
+ depends_on("r-rsamtools@1.31.2:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-genomicalignments@1.5.4:", type=("build", "run"))
+ depends_on("r-genomicalignments@1.15.6:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-s4vectors@0.13.8:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-iranges@2.3.7:", type=("build", "run"))
+ depends_on("r-iranges@2.13.12:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-genomeinfodb@1.1.19:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.15.2:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-genomicranges@1.21.6:", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.8:", type=("build", "run"), when="@1.38.0:")
+ depends_on("r-hwriter", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-latticeextra", type=("build", "run"))
+ depends_on("r-xvector", type=("build", "run"))
+ depends_on("r-rhtslib", type=("build", "run"), when="@1.48.0:")
diff --git a/var/spack/repos/builtin/packages/r-siggenes/package.py b/var/spack/repos/builtin/packages/r-siggenes/package.py
index 4cc2d957bf..4aa7b29ddf 100644
--- a/var/spack/repos/builtin/packages/r-siggenes/package.py
+++ b/var/spack/repos/builtin/packages/r-siggenes/package.py
@@ -9,22 +9,22 @@ from spack.package import *
class RSiggenes(RPackage):
"""Multiple Testing using SAM and Efron's Empirical Bayes Approaches.
- Identification of differentially expressed genes and estimation of the
- False Discovery Rate (FDR) using both the Significance Analysis of
- Microarrays (SAM) and the Empirical Bayes Analyses of Microarrays
- (EBAM)."""
+ Identification of differentially expressed genes and estimation of the
+ False Discovery Rate (FDR) using both the Significance Analysis of
+ Microarrays (SAM) and the Empirical Bayes Analyses of Microarrays
+ (EBAM)."""
bioc = "siggenes"
- version('1.70.0', commit='c263daa14cf87c61b41e3a9e88573ba339c66179')
- version('1.68.0', commit='a29bf02b19cc9003c8401608831232b7c2af26e7')
- version('1.64.0', commit='3b528d37c16fc41bbc5c98165f606394313aa050')
- version('1.58.0', commit='69500158d69942cf7c62f583830933cf8baf89a1')
- version('1.56.0', commit='3e929feaa76311be07ff51ad807e657b0b521f6f')
- version('1.54.0', commit='1630e42652192e3e4e48e9e78e53665a120cfc7f')
- version('1.52.0', commit='dc46cf4b6053ea99c6c841d661f97390653c2e71')
- version('1.50.0', commit='b1818f26e1449005ffd971df6bda8da0303080bc')
+ version("1.70.0", commit="c263daa14cf87c61b41e3a9e88573ba339c66179")
+ version("1.68.0", commit="a29bf02b19cc9003c8401608831232b7c2af26e7")
+ version("1.64.0", commit="3b528d37c16fc41bbc5c98165f606394313aa050")
+ version("1.58.0", commit="69500158d69942cf7c62f583830933cf8baf89a1")
+ version("1.56.0", commit="3e929feaa76311be07ff51ad807e657b0b521f6f")
+ version("1.54.0", commit="1630e42652192e3e4e48e9e78e53665a120cfc7f")
+ version("1.52.0", commit="dc46cf4b6053ea99c6c841d661f97390653c2e71")
+ version("1.50.0", commit="b1818f26e1449005ffd971df6bda8da0303080bc")
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-multtest', type=('build', 'run'))
- depends_on('r-scrime@1.2.5:', type=('build', 'run'), when='@1.58.0:')
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-multtest", type=("build", "run"))
+ depends_on("r-scrime@1.2.5:", type=("build", "run"), when="@1.58.0:")
diff --git a/var/spack/repos/builtin/packages/r-signac/package.py b/var/spack/repos/builtin/packages/r-signac/package.py
index c77fa05632..fea4467c4a 100644
--- a/var/spack/repos/builtin/packages/r-signac/package.py
+++ b/var/spack/repos/builtin/packages/r-signac/package.py
@@ -18,30 +18,30 @@ class RSignac(RPackage):
cran = "Signac"
- version('1.7.0', sha256='5e4456eeab29fa2df7f6236b050dec8cb9c073d7652a89ee5030a27f94e5e4bf')
+ version("1.7.0", sha256="5e4456eeab29fa2df7f6236b050dec8cb9c073d7652a89ee5030a27f94e5e4bf")
- depends_on('r@4.0.0:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.29.3:', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rsamtools', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-seuratobject@4.0.0:', type=('build', 'run'))
- depends_on('r-data-table', type=('build', 'run'))
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'))
- depends_on('r-future', type=('build', 'run'))
- depends_on('r-future-apply', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-irlba', type=('build', 'run'))
- depends_on('r-pbapply', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-patchwork', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'))
- depends_on('r-fastmatch', type=('build', 'run'))
- depends_on('r-rcpproll', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('r-vctrs', type=('build', 'run'))
+ depends_on("r@4.0.0:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.29.3:", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rsamtools", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-seuratobject@4.0.0:", type=("build", "run"))
+ depends_on("r-data-table", type=("build", "run"))
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"))
+ depends_on("r-future", type=("build", "run"))
+ depends_on("r-future-apply", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-irlba", type=("build", "run"))
+ depends_on("r-pbapply", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-patchwork", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"))
+ depends_on("r-fastmatch", type=("build", "run"))
+ depends_on("r-rcpproll", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("r-vctrs", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-simpleaffy/package.py b/var/spack/repos/builtin/packages/r-simpleaffy/package.py
index 3ce4608858..7896512e90 100644
--- a/var/spack/repos/builtin/packages/r-simpleaffy/package.py
+++ b/var/spack/repos/builtin/packages/r-simpleaffy/package.py
@@ -9,24 +9,24 @@ from spack.package import *
class RSimpleaffy(RPackage):
"""Very simple high level analysis of Affymetrix data.
- Provides high level functions for reading Affy .CEL files, phenotypic
- data, and then computing simple things with it, such as t-tests, fold
- changes and the like. Makes heavy use of the affy library. Also has some
- basic scatter plot functions and mechanisms for generating high
- resolution journal figures..."""
+ Provides high level functions for reading Affy .CEL files, phenotypic
+ data, and then computing simple things with it, such as t-tests, fold
+ changes and the like. Makes heavy use of the affy library. Also has some
+ basic scatter plot functions and mechanisms for generating high
+ resolution journal figures..."""
bioc = "simpleaffy"
- version('2.66.0', commit='902db69e4ea4b6d306f0c744d3be600f1418ebc9')
- version('2.60.0', commit='b32b5e7d5c65e43c10f98ab8684a1086a06d04f9')
- version('2.58.0', commit='70cf1199bad620f60eaa288279632110bb571200')
- version('2.56.0', commit='a05d768180b8713ad9e1dc46d491b7ef389b299d')
- version('2.54.0', commit='6876e028d412b14504ad3915cbec1a189e9c6478')
- version('2.52.0', commit='f2b43fb9b8e6fa4c03fe28b4efb3144a0a42a385')
+ version("2.66.0", commit="902db69e4ea4b6d306f0c744d3be600f1418ebc9")
+ version("2.60.0", commit="b32b5e7d5c65e43c10f98ab8684a1086a06d04f9")
+ version("2.58.0", commit="70cf1199bad620f60eaa288279632110bb571200")
+ version("2.56.0", commit="a05d768180b8713ad9e1dc46d491b7ef389b299d")
+ version("2.54.0", commit="6876e028d412b14504ad3915cbec1a189e9c6478")
+ version("2.52.0", commit="f2b43fb9b8e6fa4c03fe28b4efb3144a0a42a385")
- depends_on('r@2.0.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.1.12:', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affy@1.33.6:', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-gcrma', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.1.12:", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affy@1.33.6:", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-gcrma", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-singlecellexperiment/package.py b/var/spack/repos/builtin/packages/r-singlecellexperiment/package.py
index 226db0e4b3..d024ae131a 100644
--- a/var/spack/repos/builtin/packages/r-singlecellexperiment/package.py
+++ b/var/spack/repos/builtin/packages/r-singlecellexperiment/package.py
@@ -9,25 +9,25 @@ from spack.package import *
class RSinglecellexperiment(RPackage):
"""S4 Classes for Single Cell Data.
- Defines a S4 class for storing data from single-cell experiments. This
- includes specialized methods to store and retrieve spike-in information,
- dimensionality reduction coordinates and size factors for each cell,
- along with the usual metadata for genes and libraries."""
+ Defines a S4 class for storing data from single-cell experiments. This
+ includes specialized methods to store and retrieve spike-in information,
+ dimensionality reduction coordinates and size factors for each cell,
+ along with the usual metadata for genes and libraries."""
bioc = "SingleCellExperiment"
- version('1.18.0', commit='3a72dcd97e628055b2d02294eaecca9a41aba604')
- version('1.16.0', commit='bb27609ba08052607fc08529ffbbbcf1eab265cb')
- version('1.12.0', commit='66063b74c8b0bd0fd1277c7ad425ad11823ab356')
- version('1.6.0', commit='baa51d77a8dacd2a22e7293095a8cffaaa3293b4')
- version('1.4.1', commit='b1efcb338e9176ae6829bb897957aa37e74d4870')
- version('1.2.0', commit='fe512259da79e0c660b322b5387e9bb16f2e6321')
- version('1.0.0', commit='545e974aa7ca7855e039bf9e3030290cd71d9031')
+ version("1.18.0", commit="3a72dcd97e628055b2d02294eaecca9a41aba604")
+ version("1.16.0", commit="bb27609ba08052607fc08529ffbbbcf1eab265cb")
+ version("1.12.0", commit="66063b74c8b0bd0fd1277c7ad425ad11823ab356")
+ version("1.6.0", commit="baa51d77a8dacd2a22e7293095a8cffaaa3293b4")
+ version("1.4.1", commit="b1efcb338e9176ae6829bb897957aa37e74d4870")
+ version("1.2.0", commit="fe512259da79e0c660b322b5387e9bb16f2e6321")
+ version("1.0.0", commit="545e974aa7ca7855e039bf9e3030290cd71d9031")
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r@3.5:', type=('build', 'run'), when='@1.2.0:1.6.0')
- depends_on('r-summarizedexperiment', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-delayedarray', type=('build', 'run'), when='@1.16.0:')
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r@3.5:", type=("build", "run"), when="@1.2.0:1.6.0")
+ depends_on("r-summarizedexperiment", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-delayedarray", type=("build", "run"), when="@1.16.0:")
diff --git a/var/spack/repos/builtin/packages/r-sitmo/package.py b/var/spack/repos/builtin/packages/r-sitmo/package.py
index d670ad46ce..7357ea0717 100644
--- a/var/spack/repos/builtin/packages/r-sitmo/package.py
+++ b/var/spack/repos/builtin/packages/r-sitmo/package.py
@@ -21,8 +21,8 @@ class RSitmo(RPackage):
cran = "sitmo"
- version('2.0.2', sha256='448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2')
- version('2.0.1', sha256='0c90d357af334d5c99c8956739dc12623ddd87dda5efa59f4a43f7393c87ed2a')
+ version("2.0.2", sha256="448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2")
+ version("2.0.1", sha256="0c90d357af334d5c99c8956739dc12623ddd87dda5efa59f4a43f7393c87ed2a")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.13:', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.13:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sm/package.py b/var/spack/repos/builtin/packages/r-sm/package.py
index 37f7902c0c..6c449eb803 100644
--- a/var/spack/repos/builtin/packages/r-sm/package.py
+++ b/var/spack/repos/builtin/packages/r-sm/package.py
@@ -15,9 +15,9 @@ class RSm(RPackage):
cran = "sm"
- version('2.2-5.7', sha256='2607a2cafc68d7e99005daf99e36f4a66eaf569ebb6b7500e962642cf58be80f')
- version('2.2-5.6', sha256='b890cd7ebe8ed711ab4a3792c204c4ecbe9e6ca1fd5bbc3925eba5833a839c30')
- version('2.2-5.5', sha256='43e212a14c364b98b10018b56fe0a619ccffe4bde1294e6c45b3eafe7caf82e7')
+ version("2.2-5.7", sha256="2607a2cafc68d7e99005daf99e36f4a66eaf569ebb6b7500e962642cf58be80f")
+ version("2.2-5.6", sha256="b890cd7ebe8ed711ab4a3792c204c4ecbe9e6ca1fd5bbc3925eba5833a839c30")
+ version("2.2-5.5", sha256="43e212a14c364b98b10018b56fe0a619ccffe4bde1294e6c45b3eafe7caf82e7")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-smoof/package.py b/var/spack/repos/builtin/packages/r-smoof/package.py
index 022b9116b8..0f7b405df9 100644
--- a/var/spack/repos/builtin/packages/r-smoof/package.py
+++ b/var/spack/repos/builtin/packages/r-smoof/package.py
@@ -17,19 +17,19 @@ class RSmoof(RPackage):
cran = "smoof"
- version('1.6.0.2', sha256='d82dba9702eade00afb84c2c12167de6cec790be7d23ac227f8fe705bdcefc93')
- version('1.5.1', sha256='cfb6f6460e9593351428656b225b5ba3867a216d35a05f2babdb20db6ba35306')
- version('1.5', sha256='9b73ad5bfc8e1120c9651539ea52b1468f316cc7fc5fef8afd6d357adf01504c')
+ version("1.6.0.2", sha256="d82dba9702eade00afb84c2c12167de6cec790be7d23ac227f8fe705bdcefc93")
+ version("1.5.1", sha256="cfb6f6460e9593351428656b225b5ba3867a216d35a05f2babdb20db6ba35306")
+ version("1.5", sha256="9b73ad5bfc8e1120c9651539ea52b1468f316cc7fc5fef8afd6d357adf01504c")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-paramhelpers@1.8:', type=('build', 'run'))
- depends_on('r-checkmate@1.1:', type=('build', 'run'))
- depends_on('r-bbmisc@1.6:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.1:', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-plot3d', type=('build', 'run'))
- depends_on('r-plotly', type=('build', 'run'))
- depends_on('r-mco', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
- depends_on('r-rjsonio', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-paramhelpers@1.8:", type=("build", "run"))
+ depends_on("r-checkmate@1.1:", type=("build", "run"))
+ depends_on("r-bbmisc@1.6:", type=("build", "run"))
+ depends_on("r-ggplot2@2.2.1:", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-plot3d", type=("build", "run"))
+ depends_on("r-plotly", type=("build", "run"))
+ depends_on("r-mco", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+ depends_on("r-rjsonio", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sn/package.py b/var/spack/repos/builtin/packages/r-sn/package.py
index 79872dc19f..c2850f2d83 100644
--- a/var/spack/repos/builtin/packages/r-sn/package.py
+++ b/var/spack/repos/builtin/packages/r-sn/package.py
@@ -16,20 +16,20 @@ class RSn(RPackage):
cran = "sn"
- version('2.0.2', sha256='957b49027c2111f51893433e902486141a942a5ed384ca605714605de80d1790')
- version('2.0.1', sha256='86b3890087657a80fca7a0a756b07410612c34a44d7a1fd7a8f24584379fa8fc')
- version('1.6-2', sha256='2fd4730c315efc48958b47990ddb0cbc6ce075f7a27255944a292fb4fc593d9d')
- version('1.5-4', sha256='46677ebc109263a68f62b5cf53ec59916cda490e5bc5bbb08276757a677f8674')
- version('1.5-3', sha256='cc21b97ddd674c9b1296260f2a72ffb085cdcb877c8332f0bfa96ff028517183')
- version('1.5-0', sha256='0164f7cffbf9e2a0f03f9bed3b96388b08d8a8ca476bbb686aa88be6b4ec073a')
- version('1.4-0', sha256='d363ae1662bc765e491b98c925901fa9d2d3d6cc760987444db35dbe325aefc0')
- version('1.3-0', sha256='926fc4cde1079860572c2829efc83503f3e1f157b8448b6a40450ca7f5470503')
- version('1.2-4', sha256='a812f754abd1ecdbc9de4e5c8b8f5526c08c06a710d390b1fff2a09328637fb6')
- version('1.2-3', sha256='1af8ced9ed33680d731ab5132be4674d170d76c64a3059ff56c33159d8396154')
+ version("2.0.2", sha256="957b49027c2111f51893433e902486141a942a5ed384ca605714605de80d1790")
+ version("2.0.1", sha256="86b3890087657a80fca7a0a756b07410612c34a44d7a1fd7a8f24584379fa8fc")
+ version("1.6-2", sha256="2fd4730c315efc48958b47990ddb0cbc6ce075f7a27255944a292fb4fc593d9d")
+ version("1.5-4", sha256="46677ebc109263a68f62b5cf53ec59916cda490e5bc5bbb08276757a677f8674")
+ version("1.5-3", sha256="cc21b97ddd674c9b1296260f2a72ffb085cdcb877c8332f0bfa96ff028517183")
+ version("1.5-0", sha256="0164f7cffbf9e2a0f03f9bed3b96388b08d8a8ca476bbb686aa88be6b4ec073a")
+ version("1.4-0", sha256="d363ae1662bc765e491b98c925901fa9d2d3d6cc760987444db35dbe325aefc0")
+ version("1.3-0", sha256="926fc4cde1079860572c2829efc83503f3e1f157b8448b6a40450ca7f5470503")
+ version("1.2-4", sha256="a812f754abd1ecdbc9de4e5c8b8f5526c08c06a710d390b1fff2a09328637fb6")
+ version("1.2-3", sha256="1af8ced9ed33680d731ab5132be4674d170d76c64a3059ff56c33159d8396154")
- depends_on('r@2.15.3:', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'), when='@2.0.1:')
- depends_on('r-mnormt@1.5-4:', type=('build', 'run'))
- depends_on('r-mnormt@2.0.0:', type=('build', 'run'), when='@2.0.1:')
- depends_on('r-numderiv', type=('build', 'run'))
- depends_on('r-quantreg', type=('build', 'run'), when='@1.6-2:')
+ depends_on("r@2.15.3:", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"), when="@2.0.1:")
+ depends_on("r-mnormt@1.5-4:", type=("build", "run"))
+ depends_on("r-mnormt@2.0.0:", type=("build", "run"), when="@2.0.1:")
+ depends_on("r-numderiv", type=("build", "run"))
+ depends_on("r-quantreg", type=("build", "run"), when="@1.6-2:")
diff --git a/var/spack/repos/builtin/packages/r-snakecase/package.py b/var/spack/repos/builtin/packages/r-snakecase/package.py
index 950860802f..2d4d4ca8c6 100644
--- a/var/spack/repos/builtin/packages/r-snakecase/package.py
+++ b/var/spack/repos/builtin/packages/r-snakecase/package.py
@@ -14,8 +14,8 @@ class RSnakecase(RPackage):
cran = "snakecase"
- version('0.11.0', sha256='998420a58391ac85785e60bcdf6fd6927c82758ad2859a9a73a0e57299e8c1cf')
+ version("0.11.0", sha256="998420a58391ac85785e60bcdf6fd6927c82758ad2859a9a73a0e57299e8c1cf")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-stringi', type=('build', 'run'))
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-stringi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-snow/package.py b/var/spack/repos/builtin/packages/r-snow/package.py
index b8679524d9..c1e60b9751 100644
--- a/var/spack/repos/builtin/packages/r-snow/package.py
+++ b/var/spack/repos/builtin/packages/r-snow/package.py
@@ -13,13 +13,13 @@ class RSnow(RPackage):
cran = "snow"
- version('0.4-4', sha256='84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9')
- version('0.4-3', sha256='8512537daf334ea2b8074dbb80cf5e959a403a78d68bc1e97664e8a4f64576d8')
- version('0.4-2', sha256='ee070187aea3607c9ca6235399b3db3e181348692405d038e962e06aefccabd7')
+ version("0.4-4", sha256="84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9")
+ version("0.4-3", sha256="8512537daf334ea2b8074dbb80cf5e959a403a78d68bc1e97664e8a4f64576d8")
+ version("0.4-2", sha256="ee070187aea3607c9ca6235399b3db3e181348692405d038e962e06aefccabd7")
- depends_on('r@2.13.1:', type=('build', 'run'))
+ depends_on("r@2.13.1:", type=("build", "run"))
- @run_after('install')
+ @run_after("install")
def install_wrapper(self):
mkdir(self.prefix.bin)
- install('inst/RMPISNOW', self.prefix.bin)
+ install("inst/RMPISNOW", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/r-snowfall/package.py b/var/spack/repos/builtin/packages/r-snowfall/package.py
index c8139e30ec..2c14eb1eb5 100644
--- a/var/spack/repos/builtin/packages/r-snowfall/package.py
+++ b/var/spack/repos/builtin/packages/r-snowfall/package.py
@@ -17,7 +17,7 @@ class RSnowfall(RPackage):
cran = "snowfall"
- version('1.84-6.1', sha256='5c446df3a931e522a8b138cf1fb7ca5815cc82fcf486dbac964dcbc0690e248d')
+ version("1.84-6.1", sha256="5c446df3a931e522a8b138cf1fb7ca5815cc82fcf486dbac964dcbc0690e248d")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-snow', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-snow", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-snprelate/package.py b/var/spack/repos/builtin/packages/r-snprelate/package.py
index 48aac0b886..13fbb24aa3 100644
--- a/var/spack/repos/builtin/packages/r-snprelate/package.py
+++ b/var/spack/repos/builtin/packages/r-snprelate/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class RSnprelate(RPackage):
"""Parallel Computing Toolset for Relatedness and Principal Component
- Analysis of SNP Data.
+ Analysis of SNP Data.
- Genome-wide association studies (GWAS) are widely used to investigate
- the genetic basis of diseases and traits, but they pose many
- computational challenges. We developed an R package SNPRelate to provide
- a binary format for single-nucleotide polymorphism (SNP) data in GWAS
- utilizing CoreArray Genomic Data Structure (GDS) data files. The GDS
- format offers the efficient operations specifically designed for
- integers with two bits, since a SNP could occupy only two bits.
- SNPRelate is also designed to accelerate two key computations on SNP
- data using parallel computing for multi-core symmetric multiprocessing
- computer architectures: Principal Component Analysis (PCA) and
- relatedness analysis using Identity-By-Descent measures. The SNP GDS
- format is also used by the GWASTools package with the support of S4
- classes and generic functions. The extended GDS format is implemented in
- the SeqArray package to support the storage of single nucleotide
- variations (SNVs), insertion/deletion polymorphism (indel) and
- structural variation calls."""
+ Genome-wide association studies (GWAS) are widely used to investigate
+ the genetic basis of diseases and traits, but they pose many
+ computational challenges. We developed an R package SNPRelate to provide
+ a binary format for single-nucleotide polymorphism (SNP) data in GWAS
+ utilizing CoreArray Genomic Data Structure (GDS) data files. The GDS
+ format offers the efficient operations specifically designed for
+ integers with two bits, since a SNP could occupy only two bits.
+ SNPRelate is also designed to accelerate two key computations on SNP
+ data using parallel computing for multi-core symmetric multiprocessing
+ computer architectures: Principal Component Analysis (PCA) and
+ relatedness analysis using Identity-By-Descent measures. The SNP GDS
+ format is also used by the GWASTools package with the support of S4
+ classes and generic functions. The extended GDS format is implemented in
+ the SeqArray package to support the storage of single nucleotide
+ variations (SNVs), insertion/deletion polymorphism (indel) and
+ structural variation calls."""
bioc = "SNPRelate"
- version('1.30.1', commit='baef8a71d3908287a2307768348c02db0720d125')
- version('1.28.0', commit='8fcd837f4627a3bb77cb8d992b2baedd0589d123')
- version('1.24.0', commit='419b13b761ea39a8b1b9bc73097fb0359c59f1c2')
- version('1.18.1', commit='81c581bf76392efdc8ba237ca2e42ca1dba788ca')
- version('1.16.0', commit='0e38e8df4af87dff6c27a23af2867661998c0d85')
- version('1.14.0', commit='9501cbfc411aa320e58654a865fda2e9077977af')
- version('1.12.2', commit='dce2e2b6f36483a9f905bb5df6ae834a9f1136fe')
- version('1.10.2', commit='3f5c4010871df742e7a460586b38ad0c2fd37aeb')
+ version("1.30.1", commit="baef8a71d3908287a2307768348c02db0720d125")
+ version("1.28.0", commit="8fcd837f4627a3bb77cb8d992b2baedd0589d123")
+ version("1.24.0", commit="419b13b761ea39a8b1b9bc73097fb0359c59f1c2")
+ version("1.18.1", commit="81c581bf76392efdc8ba237ca2e42ca1dba788ca")
+ version("1.16.0", commit="0e38e8df4af87dff6c27a23af2867661998c0d85")
+ version("1.14.0", commit="9501cbfc411aa320e58654a865fda2e9077977af")
+ version("1.12.2", commit="dce2e2b6f36483a9f905bb5df6ae834a9f1136fe")
+ version("1.10.2", commit="3f5c4010871df742e7a460586b38ad0c2fd37aeb")
- depends_on('r@2.15:', type=('build', 'run'))
- depends_on('r-gdsfmt@1.8.3:', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
+ depends_on("r-gdsfmt@1.8.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-snpstats/package.py b/var/spack/repos/builtin/packages/r-snpstats/package.py
index db43464c53..56ad1b8933 100644
--- a/var/spack/repos/builtin/packages/r-snpstats/package.py
+++ b/var/spack/repos/builtin/packages/r-snpstats/package.py
@@ -9,23 +9,23 @@ from spack.package import *
class RSnpstats(RPackage):
"""SnpMatrix and XSnpMatrix classes and methods.
- Classes and statistical methods for large SNP association studies. This
- extends the earlier snpMatrix package, allowing for uncertainty in
- genotypes."""
+ Classes and statistical methods for large SNP association studies. This
+ extends the earlier snpMatrix package, allowing for uncertainty in
+ genotypes."""
bioc = "snpStats"
- version('1.46.0', commit='1e70784b113eaca231bc5f91fc8ae5aadb151ddb')
- version('1.44.0', commit='72392dab4e75de2da459b1e95f1d48947811597b')
- version('1.40.0', commit='5fcac6f3b4bb6f45c19dff8f3089b693b74a56ce')
- version('1.34.0', commit='e31cdfb18a9e12d70d6a3e8e6fbf7cf8faa3ea5b')
- version('1.32.0', commit='7c31158183b4e39da6dc30c7da275acc36b2e32f')
- version('1.30.0', commit='0dc1e4246f015feaf2579d60268b10ab5149ce09')
- version('1.28.0', commit='8df9f4188f720dfbb4f4f4ec255cd2e22f3f4426')
- version('1.26.0', commit='7c9b3304073e0556d694a8531882b349822fdda8')
+ version("1.46.0", commit="1e70784b113eaca231bc5f91fc8ae5aadb151ddb")
+ version("1.44.0", commit="72392dab4e75de2da459b1e95f1d48947811597b")
+ version("1.40.0", commit="5fcac6f3b4bb6f45c19dff8f3089b693b74a56ce")
+ version("1.34.0", commit="e31cdfb18a9e12d70d6a3e8e6fbf7cf8faa3ea5b")
+ version("1.32.0", commit="7c31158183b4e39da6dc30c7da275acc36b2e32f")
+ version("1.30.0", commit="0dc1e4246f015feaf2579d60268b10ab5149ce09")
+ version("1.28.0", commit="8df9f4188f720dfbb4f4f4ec255cd2e22f3f4426")
+ version("1.26.0", commit="7c9b3304073e0556d694a8531882b349822fdda8")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-som/package.py b/var/spack/repos/builtin/packages/r-som/package.py
index fedf618f22..11a2748792 100644
--- a/var/spack/repos/builtin/packages/r-som/package.py
+++ b/var/spack/repos/builtin/packages/r-som/package.py
@@ -13,10 +13,10 @@ class RSom(RPackage):
cran = "som"
- version('0.3-5.1', sha256='a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9')
- version('0.3-5', sha256='f7672afaaffcf41a8b2dd50e4c76b3a640ea2ad099f18b5dfcf00389abf6ba07')
- version('0.3-4', sha256='679e3d3f0af6e56da3b0a4d8577334e03ad45fe76916bbc2592548f85b6b1c84')
- version('0.3-3', sha256='434e2210df3e6a459a8588606676c02494f58c5b52e25291d142121b7b9be5c7')
- version('0.3-2', sha256='b46ecb79c08f3d4cf9527d5c7f85a235808dda45dae7f50909b2df90e7b9e543')
+ version("0.3-5.1", sha256="a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9")
+ version("0.3-5", sha256="f7672afaaffcf41a8b2dd50e4c76b3a640ea2ad099f18b5dfcf00389abf6ba07")
+ version("0.3-4", sha256="679e3d3f0af6e56da3b0a4d8577334e03ad45fe76916bbc2592548f85b6b1c84")
+ version("0.3-3", sha256="434e2210df3e6a459a8588606676c02494f58c5b52e25291d142121b7b9be5c7")
+ version("0.3-2", sha256="b46ecb79c08f3d4cf9527d5c7f85a235808dda45dae7f50909b2df90e7b9e543")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-somaticsignatures/package.py b/var/spack/repos/builtin/packages/r-somaticsignatures/package.py
index df3709e29a..2bb6b00eb9 100644
--- a/var/spack/repos/builtin/packages/r-somaticsignatures/package.py
+++ b/var/spack/repos/builtin/packages/r-somaticsignatures/package.py
@@ -9,34 +9,34 @@ from spack.package import *
class RSomaticsignatures(RPackage):
"""Somatic Signatures.
- The SomaticSignatures package identifies mutational signatures of single
- nucleotide variants (SNVs). It provides a infrastructure related to the
- methodology described in Nik-Zainal (2012, Cell), with flexibility in
- the matrix decomposition algorithms."""
+ The SomaticSignatures package identifies mutational signatures of single
+ nucleotide variants (SNVs). It provides a infrastructure related to the
+ methodology described in Nik-Zainal (2012, Cell), with flexibility in
+ the matrix decomposition algorithms."""
bioc = "SomaticSignatures"
- version('2.32.0', commit='444d37661d147618f6830fd5de01a83ddf2a694d')
- version('2.30.0', commit='03f7ad707f6530fa7f62093f808884b6e83b0526')
- version('2.26.0', commit='9d4bed6e118ac76755ffb7abd058b09bac58a9d7')
- version('2.20.0', commit='dbedc30d92b600b3a17de596ebe38d15982c70c6')
- version('2.18.0', commit='facccd67eee5202fcbe6ad32e667546546e7ccff')
- version('2.16.0', commit='4ae348d9fa096c0ec307df95149991edf6044977')
- version('2.14.0', commit='b12d24f86e96a7c6a17cbbad21ca14fa3aa7c60f')
- version('2.12.1', commit='932298c6877d076004de5541cec85a14e819517a')
+ version("2.32.0", commit="444d37661d147618f6830fd5de01a83ddf2a694d")
+ version("2.30.0", commit="03f7ad707f6530fa7f62093f808884b6e83b0526")
+ version("2.26.0", commit="9d4bed6e118ac76755ffb7abd058b09bac58a9d7")
+ version("2.20.0", commit="dbedc30d92b600b3a17de596ebe38d15982c70c6")
+ version("2.18.0", commit="facccd67eee5202fcbe6ad32e667546546e7ccff")
+ version("2.16.0", commit="4ae348d9fa096c0ec307df95149991edf6044977")
+ version("2.14.0", commit="b12d24f86e96a7c6a17cbbad21ca14fa3aa7c60f")
+ version("2.12.1", commit="932298c6877d076004de5541cec85a14e819517a")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-variantannotation', type=('build', 'run'))
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-nmf', type=('build', 'run'))
- depends_on('r-s4vectors', type=('build', 'run'))
- depends_on('r-iranges', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-ggbio', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-nmf', type=('build', 'run'), when='@2.26.0:')
- depends_on('r-pcamethods', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-proxy', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-variantannotation", type=("build", "run"))
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-nmf", type=("build", "run"))
+ depends_on("r-s4vectors", type=("build", "run"))
+ depends_on("r-iranges", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-ggbio", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-nmf", type=("build", "run"), when="@2.26.0:")
+ depends_on("r-pcamethods", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-proxy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sourcetools/package.py b/var/spack/repos/builtin/packages/r-sourcetools/package.py
index 720b80d566..62b93a119d 100644
--- a/var/spack/repos/builtin/packages/r-sourcetools/package.py
+++ b/var/spack/repos/builtin/packages/r-sourcetools/package.py
@@ -15,8 +15,8 @@ class RSourcetools(RPackage):
cran = "sourcetools"
- version('0.1.7', sha256='47984406efb3b3face133979ccbae9fefb7360b9a6ca1a1c11473681418ed2ca')
- version('0.1.6', sha256='c9f48d2f0b7f7ed0e7fecdf8e730b0b80c4d567f0e1e880d118b0944b1330c51')
- version('0.1.5', sha256='c2373357ad76eaa7d03f9f01c19b5001a3e4db788acbca068b0abbe7a99ea64b')
+ version("0.1.7", sha256="47984406efb3b3face133979ccbae9fefb7360b9a6ca1a1c11473681418ed2ca")
+ version("0.1.6", sha256="c9f48d2f0b7f7ed0e7fecdf8e730b0b80c4d567f0e1e880d118b0944b1330c51")
+ version("0.1.5", sha256="c2373357ad76eaa7d03f9f01c19b5001a3e4db788acbca068b0abbe7a99ea64b")
- depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on("r@3.0.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sp/package.py b/var/spack/repos/builtin/packages/r-sp/package.py
index d107751055..5d0ddb5105 100644
--- a/var/spack/repos/builtin/packages/r-sp/package.py
+++ b/var/spack/repos/builtin/packages/r-sp/package.py
@@ -16,12 +16,12 @@ class RSp(RPackage):
cran = "sp"
- version('1.4-7', sha256='01946953707363b78d3eb8dcf472ea8c6ea0097094aa0ca0b756ce5fac01b1ad')
- version('1.4-6', sha256='9aebb3ef2140e8984a67eb93d72f686b8707d48d82445db0c54ae895576ba226')
- version('1.4-5', sha256='6beeb216d540475cdead5f2c72d6c7ee400fe2423c1882d72cf57f6df58f09da')
- version('1.3-1', sha256='57988b53ba8acc35f3912d62feba4b929a0f757c6b54080c623c5d805e0cb59f')
- version('1.2-7', sha256='6d60e03e1abd30a7d4afe547d157ce3dd7a8c166fc5e407fd6d62ae99ff30460')
- version('1.2-3', sha256='58b3a9e395ca664ee61b20b480be4eb61576daca44c3d3f6f9a943bb0155879a')
+ version("1.4-7", sha256="01946953707363b78d3eb8dcf472ea8c6ea0097094aa0ca0b756ce5fac01b1ad")
+ version("1.4-6", sha256="9aebb3ef2140e8984a67eb93d72f686b8707d48d82445db0c54ae895576ba226")
+ version("1.4-5", sha256="6beeb216d540475cdead5f2c72d6c7ee400fe2423c1882d72cf57f6df58f09da")
+ version("1.3-1", sha256="57988b53ba8acc35f3912d62feba4b929a0f757c6b54080c623c5d805e0cb59f")
+ version("1.2-7", sha256="6d60e03e1abd30a7d4afe547d157ce3dd7a8c166fc5e407fd6d62ae99ff30460")
+ version("1.2-3", sha256="58b3a9e395ca664ee61b20b480be4eb61576daca44c3d3f6f9a943bb0155879a")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spacetime/package.py b/var/spack/repos/builtin/packages/r-spacetime/package.py
index a1d6cebc11..7ab18522b9 100644
--- a/var/spack/repos/builtin/packages/r-spacetime/package.py
+++ b/var/spack/repos/builtin/packages/r-spacetime/package.py
@@ -18,14 +18,14 @@ class RSpacetime(RPackage):
cran = "spacetime"
- version('1.2-6', sha256='8fd46606ed9589ffce19368d40004890f96e8fe77f13b546e6a2f8b9ced0dd81')
- version('1.2-5', sha256='8f2acc3886780a902fb0476d6ab271e6640be1a1af4c7f9a21d8a2882fb72746')
- version('1.2-3', sha256='ca7c0b962d5da0741f6dd85b271d693598756e0eeeb364ada828dbb6d1b9b25b')
- version('1.2-2', sha256='1e9d3f92e5c4614a69c82a58bf0b5c829b4ed262bf1250bef943ae286056ea2d')
+ version("1.2-6", sha256="8fd46606ed9589ffce19368d40004890f96e8fe77f13b546e6a2f8b9ced0dd81")
+ version("1.2-5", sha256="8f2acc3886780a902fb0476d6ab271e6640be1a1af4c7f9a21d8a2882fb72746")
+ version("1.2-3", sha256="ca7c0b962d5da0741f6dd85b271d693598756e0eeeb364ada828dbb6d1b9b25b")
+ version("1.2-2", sha256="1e9d3f92e5c4614a69c82a58bf0b5c829b4ed262bf1250bef943ae286056ea2d")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-sp@1.1-0:', type=('build', 'run'))
- depends_on('r-zoo@1.7-9:', type=('build', 'run'))
- depends_on('r-xts@0.8-8:', type=('build', 'run'))
- depends_on('r-intervals', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-sp@1.1-0:", type=("build", "run"))
+ depends_on("r-zoo@1.7-9:", type=("build", "run"))
+ depends_on("r-xts@0.8-8:", type=("build", "run"))
+ depends_on("r-intervals", type=("build", "run"))
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 923ff7f7ef..f75d9bd2b2 100644
--- a/var/spack/repos/builtin/packages/r-spades-addins/package.py
+++ b/var/spack/repos/builtin/packages/r-spades-addins/package.py
@@ -14,18 +14,18 @@ class RSpadesAddins(RPackage):
cran = "SpaDES.addins"
- maintainers = ['dorton21']
-
- version('0.1.3', sha256='b77aef21d1c725f855fe6f03456187d3c8b8070d56d80b7e6733979b644e162e')
- version('0.1.2', sha256='0a16bd9423797a4b4ed66a5e669cdd7f6984a3f30aa1aadc078678ee2622367c')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.6:', type=('build', 'run'), when='@0.1.3:')
- depends_on('r-devtools', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-miniui@0.1.1:', type=('build', 'run'))
- depends_on('r-reproducible', type=('build', 'run'))
- depends_on('r-rstudioapi@0.5:', type=('build', 'run'))
- depends_on('r-shiny@0.13:', type=('build', 'run'))
- depends_on('r-spades-core', type=('build', 'run'))
- depends_on('r-stringi@1.1.3:', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("0.1.3", sha256="b77aef21d1c725f855fe6f03456187d3c8b8070d56d80b7e6733979b644e162e")
+ version("0.1.2", sha256="0a16bd9423797a4b4ed66a5e669cdd7f6984a3f30aa1aadc078678ee2622367c")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.6:", type=("build", "run"), when="@0.1.3:")
+ depends_on("r-devtools", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-miniui@0.1.1:", type=("build", "run"))
+ depends_on("r-reproducible", type=("build", "run"))
+ depends_on("r-rstudioapi@0.5:", type=("build", "run"))
+ depends_on("r-shiny@0.13:", type=("build", "run"))
+ depends_on("r-spades-core", type=("build", "run"))
+ depends_on("r-stringi@1.1.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spades-core/package.py b/var/spack/repos/builtin/packages/r-spades-core/package.py
index 15537f6427..c45128d95c 100644
--- a/var/spack/repos/builtin/packages/r-spades-core/package.py
+++ b/var/spack/repos/builtin/packages/r-spades-core/package.py
@@ -21,23 +21,23 @@ class RSpadesCore(RPackage):
cran = "SpaDES.core"
- maintainers = ['dorton21']
-
- version('1.0.10', sha256='05e20f7d9aeef9ba68e50e993ef3027b8c85afc5e3f83f5ecaee9d1a7873e379')
- version('1.0.9', sha256='1176a41a1af334388c1b16ff4ed9a6f30007bb5ed1fa14d798c59461042537dd')
- version('1.0.5', sha256='c8b18cb5f932ea57f3cb3c7f2a302cbe7e06c875da7cd3928300d6003602f0a6')
-
- depends_on('r@3.6:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.0.10:')
- depends_on('r-quickplot@0.1.4:', type=('build', 'run'))
- depends_on('r-reproducible@1.2.1.9007:', type=('build', 'run'))
- depends_on('r-reproducible@1.2.7:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-data-table@1.10.4:', type=('build', 'run'))
- depends_on('r-data-table@1.11.0:', type=('build', 'run'), when='@1.0.9:')
- depends_on('r-fastdigest', type=('build', 'run'))
- depends_on('r-igraph@1.0.1:', type=('build', 'run'))
- depends_on('r-qs@0.21.1:', type=('build', 'run'))
- depends_on('r-raster@2.5-8:', type=('build', 'run'))
- depends_on('r-require@0.0.7:', type=('build', 'run'))
- depends_on('r-whisker', type=('build', 'run'))
+ maintainers = ["dorton21"]
+
+ version("1.0.10", sha256="05e20f7d9aeef9ba68e50e993ef3027b8c85afc5e3f83f5ecaee9d1a7873e379")
+ version("1.0.9", sha256="1176a41a1af334388c1b16ff4ed9a6f30007bb5ed1fa14d798c59461042537dd")
+ version("1.0.5", sha256="c8b18cb5f932ea57f3cb3c7f2a302cbe7e06c875da7cd3928300d6003602f0a6")
+
+ depends_on("r@3.6:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.0.10:")
+ depends_on("r-quickplot@0.1.4:", type=("build", "run"))
+ depends_on("r-reproducible@1.2.1.9007:", type=("build", "run"))
+ depends_on("r-reproducible@1.2.7:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-data-table@1.10.4:", type=("build", "run"))
+ depends_on("r-data-table@1.11.0:", type=("build", "run"), when="@1.0.9:")
+ depends_on("r-fastdigest", type=("build", "run"))
+ depends_on("r-igraph@1.0.1:", type=("build", "run"))
+ depends_on("r-qs@0.21.1:", type=("build", "run"))
+ depends_on("r-raster@2.5-8:", type=("build", "run"))
+ depends_on("r-require@0.0.7:", type=("build", "run"))
+ depends_on("r-whisker", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spades-tools/package.py b/var/spack/repos/builtin/packages/r-spades-tools/package.py
index a2ab050eb4..9789b693a8 100644
--- a/var/spack/repos/builtin/packages/r-spades-tools/package.py
+++ b/var/spack/repos/builtin/packages/r-spades-tools/package.py
@@ -17,28 +17,28 @@ class RSpadesTools(RPackage):
cran = "SpaDES.tools"
- maintainers = ['dorton21']
-
- version('0.3.10', sha256='ba4c075b534caaca413e2e97711b5475c2679d9546c8fee4a07fb2bb94d52c94')
- version('0.3.9', sha256='84dc47f55ded58746dcb943fde97fa4a4b852e1d2f45949ab1914cf8454e00f3')
- version('0.3.6', sha256='661f8ee792874e7447be78103775b63f18ec69e773a7b275dd977adb406dd3e5')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r@3.6:', type=('build', 'run'), when='@0.3.9:')
- depends_on('r@4.0:', type=('build', 'run'), when='@0.3.10:')
- depends_on('r-backports', type=('build', 'run'))
- depends_on('r-checkmate@1.8.2:', type=('build', 'run'))
- depends_on('r-circstats@0.2-4:', type=('build', 'run'))
- depends_on('r-data-table@1.10.4:', type=('build', 'run'))
- depends_on('r-fastmatch@1.1-0:', type=('build', 'run'))
- depends_on('r-fpcompare@0.2.1:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-quickplot', type=('build', 'run'))
- depends_on('r-raster@2.5-8:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.12:', type=('build', 'run'))
- depends_on('r-require', type=('build', 'run'), when='@0.3.10:')
- depends_on('r-rgeos', type=('build', 'run'))
- depends_on('r-sp@1.2-4:', type=('build', 'run'))
-
- depends_on('r-reproducible@0.2.0:', type=('build', 'run'), when='@:0.3.6')
- depends_on('r-reproducible@1.2.7:', type=('build', 'run'), when='@0.3.9')
+ maintainers = ["dorton21"]
+
+ version("0.3.10", sha256="ba4c075b534caaca413e2e97711b5475c2679d9546c8fee4a07fb2bb94d52c94")
+ version("0.3.9", sha256="84dc47f55ded58746dcb943fde97fa4a4b852e1d2f45949ab1914cf8454e00f3")
+ version("0.3.6", sha256="661f8ee792874e7447be78103775b63f18ec69e773a7b275dd977adb406dd3e5")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r@3.6:", type=("build", "run"), when="@0.3.9:")
+ depends_on("r@4.0:", type=("build", "run"), when="@0.3.10:")
+ depends_on("r-backports", type=("build", "run"))
+ depends_on("r-checkmate@1.8.2:", type=("build", "run"))
+ depends_on("r-circstats@0.2-4:", type=("build", "run"))
+ depends_on("r-data-table@1.10.4:", type=("build", "run"))
+ depends_on("r-fastmatch@1.1-0:", type=("build", "run"))
+ depends_on("r-fpcompare@0.2.1:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-quickplot", type=("build", "run"))
+ depends_on("r-raster@2.5-8:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.12:", type=("build", "run"))
+ depends_on("r-require", type=("build", "run"), when="@0.3.10:")
+ depends_on("r-rgeos", type=("build", "run"))
+ depends_on("r-sp@1.2-4:", type=("build", "run"))
+
+ depends_on("r-reproducible@0.2.0:", type=("build", "run"), when="@:0.3.6")
+ depends_on("r-reproducible@1.2.7:", type=("build", "run"), when="@0.3.9")
diff --git a/var/spack/repos/builtin/packages/r-spades/package.py b/var/spack/repos/builtin/packages/r-spades/package.py
index 2c57ff27ce..9439fdbd6b 100644
--- a/var/spack/repos/builtin/packages/r-spades/package.py
+++ b/var/spack/repos/builtin/packages/r-spades/package.py
@@ -24,17 +24,17 @@ class RSpades(RPackage):
cran = "SpaDES"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.0.8', sha256='2230704f700d07bda25a23ab5c6630a093c9ed2fe3c47ab6294eebaf1d86f03f')
- version('2.0.7', sha256='5b62e9d701aa178be57f22369a5d043c9793a1bd3dcd4acac18c5a6b906ed8a0')
- version('2.0.6', sha256='0fa59d1737c67abeb04eae894939bc4700f92d6c2cc2ec3489b4650720ede5a3')
+ version("2.0.8", sha256="2230704f700d07bda25a23ab5c6630a093c9ed2fe3c47ab6294eebaf1d86f03f")
+ version("2.0.7", sha256="5b62e9d701aa178be57f22369a5d043c9793a1bd3dcd4acac18c5a6b906ed8a0")
+ version("2.0.6", sha256="0fa59d1737c67abeb04eae894939bc4700f92d6c2cc2ec3489b4650720ede5a3")
- depends_on('r@3.6:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@2.0.8:')
- depends_on('r-quickplot', type=('build', 'run'))
- depends_on('r-reproducible@1.2.1.9007:', type=('build', 'run'))
- depends_on('r-spades-core@1.0.4:', type=('build', 'run'))
- depends_on('r-spades-tools', type=('build', 'run'))
+ depends_on("r@3.6:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@2.0.8:")
+ depends_on("r-quickplot", type=("build", "run"))
+ depends_on("r-reproducible@1.2.1.9007:", type=("build", "run"))
+ depends_on("r-spades-core@1.0.4:", type=("build", "run"))
+ depends_on("r-spades-tools", type=("build", "run"))
- depends_on('r-spades-addins', type=('build', 'run'), when='@:2.0.6')
+ depends_on("r-spades-addins", type=("build", "run"), when="@:2.0.6")
diff --git a/var/spack/repos/builtin/packages/r-spam/package.py b/var/spack/repos/builtin/packages/r-spam/package.py
index c0237ec84e..329f6b92fa 100644
--- a/var/spack/repos/builtin/packages/r-spam/package.py
+++ b/var/spack/repos/builtin/packages/r-spam/package.py
@@ -19,9 +19,9 @@ class RSpam(RPackage):
cran = "spam"
- version('2.8-0', sha256='d98177435b028d1c706d0197ea8132bfaffae6052c3ce6064a7f64178512d6aa')
- version('2.6-0', sha256='638fdd658e94f7544b46f6b6568b20a9f390bcd703aff572a3a5249fef66be5c')
- version('2.3-0.2', sha256='848fa95c0a71ac82af6344539af7b1c33563c687f06ead42851a68b621fff533')
+ version("2.8-0", sha256="d98177435b028d1c706d0197ea8132bfaffae6052c3ce6064a7f64178512d6aa")
+ version("2.6-0", sha256="638fdd658e94f7544b46f6b6568b20a9f390bcd703aff572a3a5249fef66be5c")
+ version("2.3-0.2", sha256="848fa95c0a71ac82af6344539af7b1c33563c687f06ead42851a68b621fff533")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-dotcall64', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-dotcall64", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sparsem/package.py b/var/spack/repos/builtin/packages/r-sparsem/package.py
index c8fb259423..dbb32db9a3 100644
--- a/var/spack/repos/builtin/packages/r-sparsem/package.py
+++ b/var/spack/repos/builtin/packages/r-sparsem/package.py
@@ -15,11 +15,11 @@ class RSparsem(RPackage):
cran = "SparseM"
- version('1.81', sha256='bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33')
- version('1.78', sha256='d6b79ec881a10c91cb03dc23e6e783080ded9db4f2cb723755aa0d7d29a8b432')
- version('1.77', sha256='a9329fef14ae4fc646df1f4f6e57efb0211811599d015f7bc04c04285495d45c')
- version('1.76', sha256='c2c8e44376936a5fe6f09a37f3668016e66cbc687519cc952aa346a658a2b69b')
- version('1.74', sha256='4712f0c80e9f3cb204497f146ba60b15e75976cdb7798996a7c51f841a85eeba')
- version('1.7', sha256='df61550b267f8ee9b9d3b17acbadd57a428b43e5e13a6b1c56ed4c38cb523369')
+ version("1.81", sha256="bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33")
+ version("1.78", sha256="d6b79ec881a10c91cb03dc23e6e783080ded9db4f2cb723755aa0d7d29a8b432")
+ version("1.77", sha256="a9329fef14ae4fc646df1f4f6e57efb0211811599d015f7bc04c04285495d45c")
+ version("1.76", sha256="c2c8e44376936a5fe6f09a37f3668016e66cbc687519cc952aa346a658a2b69b")
+ version("1.74", sha256="4712f0c80e9f3cb204497f146ba60b15e75976cdb7798996a7c51f841a85eeba")
+ version("1.7", sha256="df61550b267f8ee9b9d3b17acbadd57a428b43e5e13a6b1c56ed4c38cb523369")
- depends_on('r@2.15:', type=('build', 'run'))
+ depends_on("r@2.15:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py b/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py
index 49aa313ee6..f1e5cd4dbc 100644
--- a/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py
+++ b/var/spack/repos/builtin/packages/r-sparsematrixstats/package.py
@@ -17,13 +17,13 @@ class RSparsematrixstats(RPackage):
bioc = "sparseMatrixStats"
- version('1.8.0', commit='4f1e2213e5b0d6b3d817c2c9129b7566288916f6')
- version('1.6.0', commit='78627a842790af42b6634893087b2bb1f4ac0392')
- version('1.2.1', commit='9726f3d5e0f03b50c332d85d5e4c339c18b0494c')
+ version("1.8.0", commit="4f1e2213e5b0d6b3d817c2c9129b7566288916f6")
+ version("1.6.0", commit="78627a842790af42b6634893087b2bb1f4ac0392")
+ version("1.2.1", commit="9726f3d5e0f03b50c332d85d5e4c339c18b0494c")
- depends_on('r-matrixgenerics', type=('build', 'run'))
- depends_on('r-matrixgenerics@1.5.3:', type=('build', 'run'), when='@1.6.0:')
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-matrixstats@0.60.0:', type=('build', 'run'), when='@1.6.0:')
+ depends_on("r-matrixgenerics", type=("build", "run"))
+ depends_on("r-matrixgenerics@1.5.3:", type=("build", "run"), when="@1.6.0:")
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-matrixstats@0.60.0:", type=("build", "run"), when="@1.6.0:")
diff --git a/var/spack/repos/builtin/packages/r-spatial/package.py b/var/spack/repos/builtin/packages/r-spatial/package.py
index 49dcb30865..5335dda6aa 100644
--- a/var/spack/repos/builtin/packages/r-spatial/package.py
+++ b/var/spack/repos/builtin/packages/r-spatial/package.py
@@ -13,10 +13,10 @@ class RSpatial(RPackage):
cran = "spatial"
- version('7.3-15', sha256='e5613be94d6f5c1f54813dadc96e4a86b3417dea28106cc90cb24dfd6c3c8cef')
- version('7.3-12', sha256='7639039ee7407bd088e1b253376b2cb4fcdf4cc9124d6b48e4119d5cda872d63')
- version('7.3-11', sha256='624448d2ac22e1798097d09fc5dc4605908a33f490b8ec971fc6ea318a445c11')
+ version("7.3-15", sha256="e5613be94d6f5c1f54813dadc96e4a86b3417dea28106cc90cb24dfd6c3c8cef")
+ version("7.3-12", sha256="7639039ee7407bd088e1b253376b2cb4fcdf4cc9124d6b48e4119d5cda872d63")
+ version("7.3-11", sha256="624448d2ac22e1798097d09fc5dc4605908a33f490b8ec971fc6ea318a445c11")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
- depends_on('r-mass', type=('build', 'run'), when='@:7.3-11')
+ depends_on("r-mass", type=("build", "run"), when="@:7.3-11")
diff --git a/var/spack/repos/builtin/packages/r-spatialeco/package.py b/var/spack/repos/builtin/packages/r-spatialeco/package.py
index 3c5d730922..3e6617f3a4 100644
--- a/var/spack/repos/builtin/packages/r-spatialeco/package.py
+++ b/var/spack/repos/builtin/packages/r-spatialeco/package.py
@@ -19,33 +19,33 @@ class RSpatialeco(RPackage):
cran = "spatialEco"
- version('1.3-7', sha256='38688466d9a2a56675e2fe45cf69833a163133ad3afb6f95e9ac2e8eab221b7a')
- version('1.3-5', sha256='d4fb211124edf828333841c44a5af01165c53d89af460144214d81e3c13983c7')
- version('1.3-2', sha256='9dfa427ee8b112446b582f6739a1c40a6e3ad3d050f522082a28ce47c675e57a')
- version('1.3-1', sha256='ff12e26cc1bbf7934fbf712c99765d96ce6817e8055faa15a26d9ebade4bbf1c')
- version('1.3-0', sha256='cfa09673cb3bbed30b243082fc2d63ac09f48b9f072a18d32b95c2c29979d1d0')
-
- depends_on('r@3.6:', type=('build', 'run'))
- depends_on('r@4.0:', type=('build', 'run'), when='@1.3-7:')
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-raster', type=('build', 'run'))
- depends_on('r-spatstat-geom', type=('build', 'run'), when='@1.3-7:')
- depends_on('r-spatstat-core', type=('build', 'run'), when='@1.3-7:')
- depends_on('r-spdep', type=('build', 'run'))
- depends_on('r-rgeos', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
-
- depends_on('r-dplyr', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-exactextractr', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-rcurl', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-rms', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-yaimpute', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-spatialpack@0.3:', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-mgcv', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-envstats', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-cluster', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-readr', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-rann', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-maptools', type=('build', 'run'), when='@:1.3-2')
- depends_on('r-spatstat', type=('build', 'run'), when='@:1.3-5')
+ version("1.3-7", sha256="38688466d9a2a56675e2fe45cf69833a163133ad3afb6f95e9ac2e8eab221b7a")
+ version("1.3-5", sha256="d4fb211124edf828333841c44a5af01165c53d89af460144214d81e3c13983c7")
+ version("1.3-2", sha256="9dfa427ee8b112446b582f6739a1c40a6e3ad3d050f522082a28ce47c675e57a")
+ version("1.3-1", sha256="ff12e26cc1bbf7934fbf712c99765d96ce6817e8055faa15a26d9ebade4bbf1c")
+ version("1.3-0", sha256="cfa09673cb3bbed30b243082fc2d63ac09f48b9f072a18d32b95c2c29979d1d0")
+
+ depends_on("r@3.6:", type=("build", "run"))
+ depends_on("r@4.0:", type=("build", "run"), when="@1.3-7:")
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-raster", type=("build", "run"))
+ depends_on("r-spatstat-geom", type=("build", "run"), when="@1.3-7:")
+ depends_on("r-spatstat-core", type=("build", "run"), when="@1.3-7:")
+ depends_on("r-spdep", type=("build", "run"))
+ depends_on("r-rgeos", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+
+ depends_on("r-dplyr", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-exactextractr", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-rcurl", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-rms", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-yaimpute", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-spatialpack@0.3:", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-mgcv", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-envstats", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-cluster", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-readr", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-rann", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-maptools", type=("build", "run"), when="@:1.3-2")
+ depends_on("r-spatstat", type=("build", "run"), when="@:1.3-5")
diff --git a/var/spack/repos/builtin/packages/r-spatialpack/package.py b/var/spack/repos/builtin/packages/r-spatialpack/package.py
index 7bfc6c67b4..1459431243 100644
--- a/var/spack/repos/builtin/packages/r-spatialpack/package.py
+++ b/var/spack/repos/builtin/packages/r-spatialpack/package.py
@@ -19,10 +19,10 @@ class RSpatialpack(RPackage):
cran = "SpatialPack"
- version('0.3-8196', sha256='9027e1656db97b721a12f5eda46532c6a99b4a079299b8d12fb57d445b237b4d')
- version('0.3-8', sha256='a0e54b5dee3cd30a634e2d30380fe163942b672073fd909be888803332ed5151')
- version('0.3', sha256='4c80fc1c77bc97fc678e6e201ecf7f0f89dcf3417b3b497a28a3639e9b30bd8a')
+ version("0.3-8196", sha256="9027e1656db97b721a12f5eda46532c6a99b4a079299b8d12fb57d445b237b4d")
+ version("0.3-8", sha256="a0e54b5dee3cd30a634e2d30380fe163942b672073fd909be888803332ed5151")
+ version("0.3", sha256="4c80fc1c77bc97fc678e6e201ecf7f0f89dcf3417b3b497a28a3639e9b30bd8a")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@0.3-8196:')
- depends_on('r-fastmatrix', type=('build', 'run'), when='@0.3-8196:')
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@0.3-8196:")
+ depends_on("r-fastmatrix", type=("build", "run"), when="@0.3-8196:")
diff --git a/var/spack/repos/builtin/packages/r-spatialreg/package.py b/var/spack/repos/builtin/packages/r-spatialreg/package.py
index 91aa1ae6ba..4087f3a54c 100644
--- a/var/spack/repos/builtin/packages/r-spatialreg/package.py
+++ b/var/spack/repos/builtin/packages/r-spatialreg/package.py
@@ -33,20 +33,20 @@ class RSpatialreg(RPackage):
cran = "spatialreg"
- version('1.2-3', sha256='09e0e65f043975d5c1d4be99ef9f29cf0790e962dcde9b7e45a7027d268fce22')
- version('1.2-1', sha256='4c40b6b331aa8818254633cfb80d4b9a03b2b6fac2c0104b3b99201d447ba081')
- version('1.1-5', sha256='ddbf0773bad2e99b306116ae99a57bf29eecf723d1735820935a6fb7f331b27d')
- version('1.1-3', sha256='7609cdfcdfe427d2643a0db6b5360be3f6d60ede8229436ab52092d1c9cf0480')
+ version("1.2-3", sha256="09e0e65f043975d5c1d4be99ef9f29cf0790e962dcde9b7e45a7027d268fce22")
+ version("1.2-1", sha256="4c40b6b331aa8818254633cfb80d4b9a03b2b6fac2c0104b3b99201d447ba081")
+ version("1.1-5", sha256="ddbf0773bad2e99b306116ae99a57bf29eecf723d1735820935a6fb7f331b27d")
+ version("1.1-3", sha256="7609cdfcdfe427d2643a0db6b5360be3f6d60ede8229436ab52092d1c9cf0480")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-spdata', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'), when='@1.2-1:')
- depends_on('r-spdep', type=('build', 'run'))
- depends_on('r-expm', type=('build', 'run'))
- depends_on('r-coda', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-boot', type=('build', 'run'))
- depends_on('r-learnbayes', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-gmodels', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-spdata", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"), when="@1.2-1:")
+ depends_on("r-spdep", type=("build", "run"))
+ depends_on("r-expm", type=("build", "run"))
+ depends_on("r-coda", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-boot", type=("build", "run"))
+ depends_on("r-learnbayes", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-gmodels", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-core/package.py b/var/spack/repos/builtin/packages/r-spatstat-core/package.py
index 10a0f4dfb2..8e411cae9d 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-core/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-core/package.py
@@ -41,21 +41,21 @@ class RSpatstatCore(RPackage):
cran = "spatstat.core"
- version('2.4-4', sha256='e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b')
- version('2.3-2', sha256='7f4d6d997f9187eda71097a53917e7cbe03f8dcfb4e758d86a90fbe42c92f63c')
+ version("2.4-4", sha256="e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b")
+ version("2.3-2", sha256="7f4d6d997f9187eda71097a53917e7cbe03f8dcfb4e758d86a90fbe42c92f63c")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-spatstat-data@2.1-0:', type=('build', 'run'))
- depends_on('r-spatstat-geom@2.3-0:', type=('build', 'run'))
- depends_on('r-spatstat-geom@2.4-0:', type=('build', 'run'), when='@2.4-4:')
- depends_on('r-spatstat-random@2.2-0:', type=('build', 'run'), when='@2.4-4:')
- depends_on('r-nlme', type=('build', 'run'))
- depends_on('r-rpart', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.2-0:', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.3.1:', type=('build', 'run'), when='@2.4-4:')
- depends_on('r-spatstat-sparse@2.0-0:', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-tensor', type=('build', 'run'))
- depends_on('r-goftest@1.2-2:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-spatstat-data@2.1-0:", type=("build", "run"))
+ depends_on("r-spatstat-geom@2.3-0:", type=("build", "run"))
+ depends_on("r-spatstat-geom@2.4-0:", type=("build", "run"), when="@2.4-4:")
+ depends_on("r-spatstat-random@2.2-0:", type=("build", "run"), when="@2.4-4:")
+ depends_on("r-nlme", type=("build", "run"))
+ depends_on("r-rpart", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.2-0:", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.3.1:", type=("build", "run"), when="@2.4-4:")
+ depends_on("r-spatstat-sparse@2.0-0:", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-tensor", type=("build", "run"))
+ depends_on("r-goftest@1.2-2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-data/package.py b/var/spack/repos/builtin/packages/r-spatstat-data/package.py
index a017db7cce..06b27104f6 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-data/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-data/package.py
@@ -13,14 +13,14 @@ class RSpatstatData(RPackage):
cran = "spatstat.data"
- version('2.2-0', sha256='d3943bb4f6509d60bf68e79ce4533c5ec5261f411da6b0ef5238c124fc37c3e5')
- version('2.1-2', sha256='bbd118a8e6cd2c41abc764b9f2e798514070862f11e3f2080c27f72268271ae5')
- version('1.7-0', sha256='bbc192d43f2b37b308566694cb48ecdbbc4f20ef44b6fc7636564a717a03c12f')
- version('1.4-3', sha256='8955b6ac40cc7d0d89e02334bb46f4c223ff0755e5818f132fee753e77918ea2')
- version('1.4-0', sha256='121e5bb92beb7ccac920f921e760f429fd71bcfe11cb9b07a7e7326c7a72ec8c')
+ version("2.2-0", sha256="d3943bb4f6509d60bf68e79ce4533c5ec5261f411da6b0ef5238c124fc37c3e5")
+ version("2.1-2", sha256="bbd118a8e6cd2c41abc764b9f2e798514070862f11e3f2080c27f72268271ae5")
+ version("1.7-0", sha256="bbc192d43f2b37b308566694cb48ecdbbc4f20ef44b6fc7636564a717a03c12f")
+ version("1.4-3", sha256="8955b6ac40cc7d0d89e02334bb46f4c223ff0755e5818f132fee753e77918ea2")
+ version("1.4-0", sha256="121e5bb92beb7ccac920f921e760f429fd71bcfe11cb9b07a7e7326c7a72ec8c")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.7-0:')
- depends_on('r-spatstat-utils', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.1-0:', type=('build', 'run'), when='@2.1-2:')
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.7-0:")
+ depends_on("r-spatstat-utils", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.1-0:", type=("build", "run"), when="@2.1-2:")
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-geom/package.py b/var/spack/repos/builtin/packages/r-spatstat-geom/package.py
index 43a09355bb..0549e48d9b 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-geom/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-geom/package.py
@@ -26,11 +26,11 @@ class RSpatstatGeom(RPackage):
cran = "spatstat.geom"
- version('2.4-0', sha256='32b89a409ce87ffe901e4c8720a26cac9629f9816e163c4ad68b7aa012d69e67')
- version('2.3-1', sha256='f23e58d05a6d6bfab1345951fa528a9865f2a744e162fe4456161e1b0b5172c0')
+ version("2.4-0", sha256="32b89a409ce87ffe901e4c8720a26cac9629f9816e163c4ad68b7aa012d69e67")
+ version("2.3-1", sha256="f23e58d05a6d6bfab1345951fa528a9865f2a744e162fe4456161e1b0b5172c0")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-spatstat-data@2.0-0:', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.2-0:', type=('build', 'run'))
- depends_on('r-deldir@1.0-2:', type=('build', 'run'))
- depends_on('r-polyclip@1.10-0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-spatstat-data@2.0-0:", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.2-0:", type=("build", "run"))
+ depends_on("r-deldir@1.0-2:", type=("build", "run"))
+ depends_on("r-polyclip@1.10-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-linnet/package.py b/var/spack/repos/builtin/packages/r-spatstat-linnet/package.py
index 26aa5f34a8..90373d2a06 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-linnet/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-linnet/package.py
@@ -39,15 +39,15 @@ class RSpatstatLinnet(RPackage):
cran = "spatstat.linnet"
- version('2.3-2', sha256='9c78a4b680debfff0f3ae934575c30d03ded49bc9a7179475384af0ebaf13778')
- version('2.3-1', sha256='119ba6e3da651aa9594f70a7a35349209534215aa640c2653aeddc6aa25038c3')
+ version("2.3-2", sha256="9c78a4b680debfff0f3ae934575c30d03ded49bc9a7179475384af0ebaf13778")
+ version("2.3-1", sha256="119ba6e3da651aa9594f70a7a35349209534215aa640c2653aeddc6aa25038c3")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-spatstat-data@2.1-0:', type=('build', 'run'))
- depends_on('r-spatstat-geom@2.3-0:', type=('build', 'run'))
- depends_on('r-spatstat-random@2.2-0:', type=('build', 'run'), when='@2.3-2:')
- depends_on('r-spatstat-core@2.3-0:', type=('build', 'run'))
- depends_on('r-spatstat-core@2.3-2:', type=('build', 'run'), when='@2.3-2:')
- depends_on('r-spatstat-utils@2.2-0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-spatstat-sparse@2.0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-spatstat-data@2.1-0:", type=("build", "run"))
+ depends_on("r-spatstat-geom@2.3-0:", type=("build", "run"))
+ depends_on("r-spatstat-random@2.2-0:", type=("build", "run"), when="@2.3-2:")
+ depends_on("r-spatstat-core@2.3-0:", type=("build", "run"))
+ depends_on("r-spatstat-core@2.3-2:", type=("build", "run"), when="@2.3-2:")
+ depends_on("r-spatstat-utils@2.2-0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-spatstat-sparse@2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-random/package.py b/var/spack/repos/builtin/packages/r-spatstat-random/package.py
index 94780eaba2..4993b30add 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-random/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-random/package.py
@@ -23,11 +23,11 @@ class RSpatstatRandom(RPackage):
mosaics). Excludes random generation on a linear network, which is covered
by the separate package 'spatstat.linnet'."""
- cran = "spatstat.random"
+ cran = "spatstat.random"
- version('2.2-0', sha256='45f0bbdb9dbd53b6c4151c3cdd098451cf787729717ccbb063cd1f33910e604d')
+ version("2.2-0", sha256="45f0bbdb9dbd53b6c4151c3cdd098451cf787729717ccbb063cd1f33910e604d")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-spatstat-data@2.1-0:', type=('build', 'run'))
- depends_on('r-spatstat-geom@2.4-0:', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.2-0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-spatstat-data@2.1-0:", type=("build", "run"))
+ depends_on("r-spatstat-geom@2.4-0:", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.2-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-sparse/package.py b/var/spack/repos/builtin/packages/r-spatstat-sparse/package.py
index 91756cf863..c3a34ad9c5 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-sparse/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-sparse/package.py
@@ -15,11 +15,11 @@ class RSpatstatSparse(RPackage):
cran = "spatstat.sparse"
- version('2.1-1', sha256='9a35ad69715b767b3ae60b02dce05ccf108fcccdf95bbc8f7d02557bcbde7303')
- version('2.1-0', sha256='0019214418668cba9f01ee5901ed7f4dba9cfee5ff62d5c7e1c914adfbea0e91')
+ version("2.1-1", sha256="9a35ad69715b767b3ae60b02dce05ccf108fcccdf95bbc8f7d02557bcbde7303")
+ version("2.1-0", sha256="0019214418668cba9f01ee5901ed7f4dba9cfee5ff62d5c7e1c914adfbea0e91")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-abind', type=('build', 'run'))
- depends_on('r-tensor', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.1-0:', type=('build', 'run'))
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-abind", type=("build", "run"))
+ depends_on("r-tensor", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.1-0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat-utils/package.py b/var/spack/repos/builtin/packages/r-spatstat-utils/package.py
index 2a93d61c66..320425552e 100644
--- a/var/spack/repos/builtin/packages/r-spatstat-utils/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat-utils/package.py
@@ -14,10 +14,10 @@ class RSpatstatUtils(RPackage):
cran = "spatstat.utils"
- version('2.3-1', sha256='5b914308df0585993084b5e95967864eea0314c98ed6af58267b64b2235dfe22')
- version('2.3-0', sha256='5f096ce5a201482d61e6d6859be7d40a55705ba5c6ebadd4875367ef9cb0db1a')
- version('1.20-2', sha256='62c2413f989965a9fa6395742a605004b736a27c24304e6ffaebf2134019ce18')
- version('1.17-0', sha256='39cd683ed7f41d8adc9e28af073d91b244aa1cf5ad966dfbb396ee3ee79f0922')
- version('1.15-0', sha256='90e07d730b6939f47f93c939afae10874b2c82bd402960ede4133de67dca2a0c')
+ version("2.3-1", sha256="5b914308df0585993084b5e95967864eea0314c98ed6af58267b64b2235dfe22")
+ version("2.3-0", sha256="5f096ce5a201482d61e6d6859be7d40a55705ba5c6ebadd4875367ef9cb0db1a")
+ version("1.20-2", sha256="62c2413f989965a9fa6395742a605004b736a27c24304e6ffaebf2134019ce18")
+ version("1.17-0", sha256="39cd683ed7f41d8adc9e28af073d91b244aa1cf5ad966dfbb396ee3ee79f0922")
+ version("1.15-0", sha256="90e07d730b6939f47f93c939afae10874b2c82bd402960ede4133de67dca2a0c")
- depends_on('r@3.3.0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spatstat/package.py b/var/spack/repos/builtin/packages/r-spatstat/package.py
index 863b7d990e..2138e0b1ec 100644
--- a/var/spack/repos/builtin/packages/r-spatstat/package.py
+++ b/var/spack/repos/builtin/packages/r-spatstat/package.py
@@ -48,33 +48,33 @@ class RSpatstat(RPackage):
cran = "spatstat"
- version('2.3-4', sha256='4ea0f8d70b926b92bf4a06521f985a0bb6d573619f5d526957c87860ccb999da')
- version('2.3-0', sha256='da02443722f2c7ef9d59a2799b7b8002c94cecf73f2b0d2b29280d39f49c4c06')
- version('1.64-1', sha256='ca3fc7d0d6b7a83fd045a7502bf03c6871fa1ab2cf411647c438fd99b4eb551a')
- version('1.63-3', sha256='07b4a1a1b37c91944f31779dd789598f4a5ad047a3de3e9ec2ca99b9e9565528')
+ version("2.3-4", sha256="4ea0f8d70b926b92bf4a06521f985a0bb6d573619f5d526957c87860ccb999da")
+ version("2.3-0", sha256="da02443722f2c7ef9d59a2799b7b8002c94cecf73f2b0d2b29280d39f49c4c06")
+ version("1.64-1", sha256="ca3fc7d0d6b7a83fd045a7502bf03c6871fa1ab2cf411647c438fd99b4eb551a")
+ version("1.63-3", sha256="07b4a1a1b37c91944f31779dd789598f4a5ad047a3de3e9ec2ca99b9e9565528")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-data@1.4-2:', type=('build', 'run'))
- depends_on('r-spatstat-data@2.1-0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-data@2.1-2:', type=('build', 'run'), when='@2.3-4:')
- depends_on('r-spatstat-geom@2.3-0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-geom@2.4-0:', type=('build', 'run'), when='@2.3-4:')
- depends_on('r-spatstat-random@2.2-0:', type=('build', 'run'), when='@2.3-4:')
- depends_on('r-spatstat-core@2.3-0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-core@2.4-1:', type=('build', 'run'), when='@2.3-4:')
- depends_on('r-spatstat-linnet@2.3-0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-linnet@2.3-2:', type=('build', 'run'), when='@2.3-4:')
- depends_on('r-spatstat-utils@1.17:', type=('build', 'run'))
- depends_on('r-spatstat-utils@2.2-0:', type=('build', 'run'), when='@2.3-0:')
- depends_on('r-spatstat-utils@2.3-0:', type=('build', 'run'), when='@2.3-4:')
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-data@1.4-2:", type=("build", "run"))
+ depends_on("r-spatstat-data@2.1-0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-data@2.1-2:", type=("build", "run"), when="@2.3-4:")
+ depends_on("r-spatstat-geom@2.3-0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-geom@2.4-0:", type=("build", "run"), when="@2.3-4:")
+ depends_on("r-spatstat-random@2.2-0:", type=("build", "run"), when="@2.3-4:")
+ depends_on("r-spatstat-core@2.3-0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-core@2.4-1:", type=("build", "run"), when="@2.3-4:")
+ depends_on("r-spatstat-linnet@2.3-0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-linnet@2.3-2:", type=("build", "run"), when="@2.3-4:")
+ depends_on("r-spatstat-utils@1.17:", type=("build", "run"))
+ depends_on("r-spatstat-utils@2.2-0:", type=("build", "run"), when="@2.3-0:")
+ depends_on("r-spatstat-utils@2.3-0:", type=("build", "run"), when="@2.3-4:")
- depends_on('r-rpart', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-nlme', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-mgcv', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-matrix', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-deldir@0.0-21:', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-abind', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-tensor', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-polyclip@1.10:', type=('build', 'run'), when='@:1.64-1')
- depends_on('r-goftest@1.2-2:', type=('build', 'run'), when='@:1.64-1')
+ depends_on("r-rpart", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-nlme", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-mgcv", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-matrix", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-deldir@0.0-21:", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-abind", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-tensor", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-polyclip@1.10:", type=("build", "run"), when="@:1.64-1")
+ depends_on("r-goftest@1.2-2:", type=("build", "run"), when="@:1.64-1")
diff --git a/var/spack/repos/builtin/packages/r-spdata/package.py b/var/spack/repos/builtin/packages/r-spdata/package.py
index c3c6325367..7ec7bb608f 100644
--- a/var/spack/repos/builtin/packages/r-spdata/package.py
+++ b/var/spack/repos/builtin/packages/r-spdata/package.py
@@ -20,10 +20,10 @@ class RSpdata(RPackage):
cran = "spData"
- version('2.0.1', sha256='c635a3e2e5123b4cdb2e6877b9b09e3d50169e1512a53b2ba2db7fbe63b990fc')
- version('0.3.8', sha256='7a61268db4fdbfb004b77d36e953cbb3fdfdac7e8bb6c500628ec6c592c79ad6')
- version('0.3.0', sha256='de24ea659541a6c795cd26a1f6a213e15061af9c97a24cba1c24ce30c6c24c98')
+ version("2.0.1", sha256="c635a3e2e5123b4cdb2e6877b9b09e3d50169e1512a53b2ba2db7fbe63b990fc")
+ version("0.3.8", sha256="7a61268db4fdbfb004b77d36e953cbb3fdfdac7e8bb6c500628ec6c592c79ad6")
+ version("0.3.0", sha256="de24ea659541a6c795cd26a1f6a213e15061af9c97a24cba1c24ce30c6c24c98")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'), when='@0.3.8:')
- depends_on('r-raster', type=('build', 'run'), when='@0.3.8:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"), when="@0.3.8:")
+ depends_on("r-raster", type=("build", "run"), when="@0.3.8:")
diff --git a/var/spack/repos/builtin/packages/r-spdep/package.py b/var/spack/repos/builtin/packages/r-spdep/package.py
index 48ec0c3979..ddc0231719 100644
--- a/var/spack/repos/builtin/packages/r-spdep/package.py
+++ b/var/spack/repos/builtin/packages/r-spdep/package.py
@@ -21,29 +21,29 @@ class RSpdep(RPackage):
cran = "spdep"
- version('1.2-4', sha256='a9f4d5af56efb1a2bcd3e85fe4d0e8a42896a2c30a790b2487e1ebadf398a677')
- version('1.2-2', sha256='94f46f98be3bedde1655f8768b7ef2a977c399b5ca8977c68007e9e3b7515e23')
- version('1.2-1', sha256='e8cc788d4e6fbb962f4e1fb45dff166cd9dd0935a9fd502699f9a95fdf4a43f9')
- version('1.1-5', sha256='47cb46cf5cf1f4386eb1b5e4d8541d577d7f2939e74addbdb884ecf2323f6d5d')
- version('1.1-2', sha256='ba0ca3a0ad6b9cc1dc46cadd9e79259949ad38c88f738e98e482d6c06640b31a')
- version('1.0-2', sha256='6f9efa4347d5c13b49922b75481ac403431c3c76a65a109af29954aa7bb138b2')
- version('0.6-13', sha256='ed345f4c7ea7ba064b187eb6b25f0ac46f17616f3b56ab89978935cdc67df1c4')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.7-8:')
- depends_on('r-sp@1.0:', type=('build', 'run'))
- depends_on('r-spdata@0.2.6.0:', type=('build', 'run'), when='@1.0-2:')
- depends_on('r-sf', type=('build', 'run'), when='@1.0-2:')
- depends_on('r-deldir', type=('build', 'run'))
- depends_on('r-boot@1.3-1:', type=('build', 'run'))
- depends_on('r-units', type=('build', 'run'), when='@1.2-1:')
- depends_on('r-s2', type=('build', 'run'), when='@1.2-1:')
- depends_on('r-e1071', type=('build', 'run'), when='@1.2-1:')
-
- depends_on('r-matrix', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-learnbayes', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-mass', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-coda', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-expm', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-gmodels', type=('build', 'run'), when='@:1.1-5')
- depends_on('r-nlme', type=('build', 'run'), when='@:1.1-5')
+ version("1.2-4", sha256="a9f4d5af56efb1a2bcd3e85fe4d0e8a42896a2c30a790b2487e1ebadf398a677")
+ version("1.2-2", sha256="94f46f98be3bedde1655f8768b7ef2a977c399b5ca8977c68007e9e3b7515e23")
+ version("1.2-1", sha256="e8cc788d4e6fbb962f4e1fb45dff166cd9dd0935a9fd502699f9a95fdf4a43f9")
+ version("1.1-5", sha256="47cb46cf5cf1f4386eb1b5e4d8541d577d7f2939e74addbdb884ecf2323f6d5d")
+ version("1.1-2", sha256="ba0ca3a0ad6b9cc1dc46cadd9e79259949ad38c88f738e98e482d6c06640b31a")
+ version("1.0-2", sha256="6f9efa4347d5c13b49922b75481ac403431c3c76a65a109af29954aa7bb138b2")
+ version("0.6-13", sha256="ed345f4c7ea7ba064b187eb6b25f0ac46f17616f3b56ab89978935cdc67df1c4")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.7-8:")
+ depends_on("r-sp@1.0:", type=("build", "run"))
+ depends_on("r-spdata@0.2.6.0:", type=("build", "run"), when="@1.0-2:")
+ depends_on("r-sf", type=("build", "run"), when="@1.0-2:")
+ depends_on("r-deldir", type=("build", "run"))
+ depends_on("r-boot@1.3-1:", type=("build", "run"))
+ depends_on("r-units", type=("build", "run"), when="@1.2-1:")
+ depends_on("r-s2", type=("build", "run"), when="@1.2-1:")
+ depends_on("r-e1071", type=("build", "run"), when="@1.2-1:")
+
+ depends_on("r-matrix", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-learnbayes", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-mass", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-coda", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-expm", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-gmodels", type=("build", "run"), when="@:1.1-5")
+ depends_on("r-nlme", type=("build", "run"), when="@:1.1-5")
diff --git a/var/spack/repos/builtin/packages/r-speedglm/package.py b/var/spack/repos/builtin/packages/r-speedglm/package.py
index 4feb5e5a20..b55fdcb74b 100644
--- a/var/spack/repos/builtin/packages/r-speedglm/package.py
+++ b/var/spack/repos/builtin/packages/r-speedglm/package.py
@@ -14,9 +14,9 @@ class RSpeedglm(RPackage):
cran = "speedglm"
- version('0.3-4', sha256='1a12db7dbceaaf5cf4f9a0c03e2a2b9f32e91b697daf2ccfe81bbae9ac3046ce')
- version('0.3-3', sha256='d065d0ee42fb772760fca8d97ad2aa56cd76b1d9ecb4e97478ec362429e16738')
- version('0.3-2', sha256='5fcaf18324dc754152f528a44894944063303f780d33e58569ea7c306bfc45ac')
+ version("0.3-4", sha256="1a12db7dbceaaf5cf4f9a0c03e2a2b9f32e91b697daf2ccfe81bbae9ac3046ce")
+ version("0.3-3", sha256="d065d0ee42fb772760fca8d97ad2aa56cd76b1d9ecb4e97478ec362429e16738")
+ version("0.3-2", sha256="5fcaf18324dc754152f528a44894944063303f780d33e58569ea7c306bfc45ac")
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-spem/package.py b/var/spack/repos/builtin/packages/r-spem/package.py
index 32b4d0e48c..72835d96a9 100644
--- a/var/spack/repos/builtin/packages/r-spem/package.py
+++ b/var/spack/repos/builtin/packages/r-spem/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class RSpem(RPackage):
"""S-system parameter estimation method.
- This package can optimize the parameter in S-system models given time
- series data"""
+ This package can optimize the parameter in S-system models given time
+ series data"""
bioc = "SPEM"
- version('1.36.0', commit='75832966ba3e2bae6b56aa138764f7a98c7ba9b1')
- version('1.34.0', commit='53fd404638a04ec8e2e826e55c3f2d91d8b28e3d')
- version('1.30.0', commit='6b2eb64bfe6287846b1408297dd46dc772431031')
- version('1.24.0', commit='537ed19e466008f2972a246479b327c95177a99e')
- version('1.22.0', commit='fddb7cd1f81e47eae603724ea149c2adca5b3eb4')
- version('1.20.0', commit='b0e1049c61a35da00882d21026f4c1eb03b17517')
- version('1.18.0', commit='3ab425dd9889885eac328d26b73366a875cd250b')
- version('1.16.0', commit='9c0a96374086765db9c81e36a662999067fa4cc7')
+ version("1.36.0", commit="75832966ba3e2bae6b56aa138764f7a98c7ba9b1")
+ version("1.34.0", commit="53fd404638a04ec8e2e826e55c3f2d91d8b28e3d")
+ version("1.30.0", commit="6b2eb64bfe6287846b1408297dd46dc772431031")
+ version("1.24.0", commit="537ed19e466008f2972a246479b327c95177a99e")
+ version("1.22.0", commit="fddb7cd1f81e47eae603724ea149c2adca5b3eb4")
+ version("1.20.0", commit="b0e1049c61a35da00882d21026f4c1eb03b17517")
+ version("1.18.0", commit="3ab425dd9889885eac328d26b73366a875cd250b")
+ version("1.16.0", commit="9c0a96374086765db9c81e36a662999067fa4cc7")
- depends_on('r@2.15.1:', type=('build', 'run'))
- depends_on('r-rsolnp', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
+ depends_on("r@2.15.1:", type=("build", "run"))
+ depends_on("r-rsolnp", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-splancs/package.py b/var/spack/repos/builtin/packages/r-splancs/package.py
index 3cdf24c773..fbe33c6688 100644
--- a/var/spack/repos/builtin/packages/r-splancs/package.py
+++ b/var/spack/repos/builtin/packages/r-splancs/package.py
@@ -15,9 +15,9 @@ class RSplancs(RPackage):
cran = "splancs"
- version('2.01-43', sha256='b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448')
- version('2.01-42', sha256='8c0af4764521e20b629dba6afd5c284e7be48786f378c37668eacfa26d2ef0aa')
- version('2.01-40', sha256='79744381ebc4a361740a36dca3c9fca9ae015cfe0bd585b7856a664a3da74363')
+ version("2.01-43", sha256="b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448")
+ version("2.01-42", sha256="8c0af4764521e20b629dba6afd5c284e7be48786f378c37668eacfa26d2ef0aa")
+ version("2.01-40", sha256="79744381ebc4a361740a36dca3c9fca9ae015cfe0bd585b7856a664a3da74363")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-sp@0.9:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-sp@0.9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-splitstackshape/package.py b/var/spack/repos/builtin/packages/r-splitstackshape/package.py
index eec1be7da4..0f1e3274e4 100644
--- a/var/spack/repos/builtin/packages/r-splitstackshape/package.py
+++ b/var/spack/repos/builtin/packages/r-splitstackshape/package.py
@@ -19,9 +19,9 @@ class RSplitstackshape(RPackage):
cran = "splitstackshape"
- version('1.4.8', sha256='656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56')
- version('1.4.6', sha256='b9888f9508babdb8e09f57674facaa8b158a06255ef1e61c8df813f58881860f')
- version('1.4.4', sha256='78c27fb55459b0cc858cef5c2201a10ae2472a1a0be179e05df05ced2f590f6e')
+ version("1.4.8", sha256="656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56")
+ version("1.4.6", sha256="b9888f9508babdb8e09f57674facaa8b158a06255ef1e61c8df813f58881860f")
+ version("1.4.4", sha256="78c27fb55459b0cc858cef5c2201a10ae2472a1a0be179e05df05ced2f590f6e")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-data-table@1.9.4:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-data-table@1.9.4:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sqldf/package.py b/var/spack/repos/builtin/packages/r-sqldf/package.py
index e0788032df..e4b6f2df87 100644
--- a/var/spack/repos/builtin/packages/r-sqldf/package.py
+++ b/var/spack/repos/builtin/packages/r-sqldf/package.py
@@ -21,11 +21,11 @@ class RSqldf(RPackage):
cran = "sqldf"
- version('0.4-11', sha256='cee979d4e8c67b4924655365d925a8d67104e62adf71741f645cdc5196de2260')
+ version("0.4-11", sha256="cee979d4e8c67b4924655365d925a8d67104e62adf71741f645cdc5196de2260")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-gsubfn@0.6:', type=('build', 'run'))
- depends_on('r-proto', type=('build', 'run'))
- depends_on('r-rsqlite', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-chron', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("r-gsubfn@0.6:", type=("build", "run"))
+ depends_on("r-proto", type=("build", "run"))
+ depends_on("r-rsqlite", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-chron", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-squarem/package.py b/var/spack/repos/builtin/packages/r-squarem/package.py
index fb033fa8e1..4618fc2a50 100644
--- a/var/spack/repos/builtin/packages/r-squarem/package.py
+++ b/var/spack/repos/builtin/packages/r-squarem/package.py
@@ -20,7 +20,7 @@ class RSquarem(RPackage):
cran = "SQUAREM"
- version('2021.1', sha256='66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58')
- version('2017.10-1', sha256='9b89905b436f1cf3faa9e3dabc585a76299e729e85ca659bfddb4b7cba11b283')
+ version("2021.1", sha256="66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58")
+ version("2017.10-1", sha256="9b89905b436f1cf3faa9e3dabc585a76299e729e85ca659bfddb4b7cba11b283")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-squash/package.py b/var/spack/repos/builtin/packages/r-squash/package.py
index 33bf694b9f..5842a38a73 100644
--- a/var/spack/repos/builtin/packages/r-squash/package.py
+++ b/var/spack/repos/builtin/packages/r-squash/package.py
@@ -17,6 +17,6 @@ class RSquash(RPackage):
cran = "squash"
- version('1.0.9', sha256='ff381c85071e3407574e3db28d789657f64e7d3f9d74ac123539de22ab8ac6f4')
- version('1.0.8', sha256='e6932c0a461d5c85f7180a31d18a3eb4f28afd6769efe251075a4de12de039f4')
- version('1.0.7', sha256='d2d7182a72dfd93b8b65e775bea11e891c38598fa49a3ed4f92ec1159ffab6f1')
+ version("1.0.9", sha256="ff381c85071e3407574e3db28d789657f64e7d3f9d74ac123539de22ab8ac6f4")
+ version("1.0.8", sha256="e6932c0a461d5c85f7180a31d18a3eb4f28afd6769efe251075a4de12de039f4")
+ version("1.0.7", sha256="d2d7182a72dfd93b8b65e775bea11e891c38598fa49a3ed4f92ec1159ffab6f1")
diff --git a/var/spack/repos/builtin/packages/r-sseq/package.py b/var/spack/repos/builtin/packages/r-sseq/package.py
index 438a1665f6..2fa6962015 100644
--- a/var/spack/repos/builtin/packages/r-sseq/package.py
+++ b/var/spack/repos/builtin/packages/r-sseq/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class RSseq(RPackage):
"""Shrinkage estimation of dispersion in Negative Binomial models for RNA-
- seq experiments with small sample size.
+ seq experiments with small sample size.
- The purpose of this package is to discover the genes that are
- differentially expressed between two conditions in RNA-seq experiments.
- Gene expression is measured in counts of transcripts and modeled with
- the Negative Binomial (NB) distribution using a shrinkage approach for
- dispersion estimation. The method of moment (MM) estimates for
- dispersion are shrunk towards an estimated target, which minimizes the
- average squared difference between the shrinkage estimates and the
- initial estimates. The exact per-gene probability under the NB model is
- calculated, and used to test the hypothesis that the expected expression
- of a gene in two conditions identically follow a NB distribution."""
+ The purpose of this package is to discover the genes that are
+ differentially expressed between two conditions in RNA-seq experiments.
+ Gene expression is measured in counts of transcripts and modeled with
+ the Negative Binomial (NB) distribution using a shrinkage approach for
+ dispersion estimation. The method of moment (MM) estimates for
+ dispersion are shrunk towards an estimated target, which minimizes the
+ average squared difference between the shrinkage estimates and the
+ initial estimates. The exact per-gene probability under the NB model is
+ calculated, and used to test the hypothesis that the expected expression
+ of a gene in two conditions identically follow a NB distribution."""
bioc = "sSeq"
- version('1.34.0', commit='882bea1664f55d85550a7185cbd4a0108c35df36')
- version('1.32.0', commit='c0d3c305755d888f64d334a4ab5fa54c623054cf')
- version('1.28.0', commit='401f6805628bdf6579cc0e643b7ed54319f024be')
- version('1.22.0', commit='fa3895c9578edddca17b5d13a2678ee5830b85cc')
- version('1.20.1', commit='91f31440323612cb04beb44404ab0a1bcb3ad87d')
- version('1.18.0', commit='1f65e5a55ce0d51672b785450031872e6db5ca0f')
- version('1.16.0', commit='b7f2b99dbd4a12ee9d18b0ec9898f13f1038479e')
- version('1.14.0', commit='20ccffeb60196914975aa1feef902ddba659c571')
+ version("1.34.0", commit="882bea1664f55d85550a7185cbd4a0108c35df36")
+ version("1.32.0", commit="c0d3c305755d888f64d334a4ab5fa54c623054cf")
+ version("1.28.0", commit="401f6805628bdf6579cc0e643b7ed54319f024be")
+ version("1.22.0", commit="fa3895c9578edddca17b5d13a2678ee5830b85cc")
+ version("1.20.1", commit="91f31440323612cb04beb44404ab0a1bcb3ad87d")
+ version("1.18.0", commit="1f65e5a55ce0d51672b785450031872e6db5ca0f")
+ version("1.16.0", commit="b7f2b99dbd4a12ee9d18b0ec9898f13f1038479e")
+ version("1.14.0", commit="20ccffeb60196914975aa1feef902ddba659c571")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-catools', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-catools", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-stabledist/package.py b/var/spack/repos/builtin/packages/r-stabledist/package.py
index 42c04b793c..7823cda935 100644
--- a/var/spack/repos/builtin/packages/r-stabledist/package.py
+++ b/var/spack/repos/builtin/packages/r-stabledist/package.py
@@ -14,6 +14,6 @@ class RStabledist(RPackage):
cran = "stabledist"
- version('0.7-1', sha256='06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69')
+ version("0.7-1", sha256="06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69")
- depends_on('r@3.1.0:', type=('build', 'run'))
+ depends_on("r@3.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-stanheaders/package.py b/var/spack/repos/builtin/packages/r-stanheaders/package.py
index 296225d3c8..278c897bd5 100644
--- a/var/spack/repos/builtin/packages/r-stanheaders/package.py
+++ b/var/spack/repos/builtin/packages/r-stanheaders/package.py
@@ -27,15 +27,15 @@ class RStanheaders(RPackage):
cran = "StanHeaders"
- version('2.21.0-7', sha256='27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b')
- version('2.21.0-6', sha256='a0282a054d0e6ab310ec7edcffa953b77c7e4a858d9ac7028aab1b4fb4ce8cf3')
- version('2.18.1-10', sha256='8a9f7e22105428e97d14f44f75395c37cf8c809de148d279c620024452b3565a')
- version('2.18.1', sha256='ce0d609a7cd11725b1203bdeae92acc54da3a48b8266eb9dbdb9d95b14df9209')
- version('2.17.1', sha256='4300a1910a2eb40d7a6ecabea3c1e26f0aa9421eeb3000689272a0f62cb80d97')
- version('2.10.0-2', sha256='ce4e335172bc65da874699302f6ba5466cdbcf69458c11954c0f131fc78b59b7')
+ version("2.21.0-7", sha256="27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b")
+ version("2.21.0-6", sha256="a0282a054d0e6ab310ec7edcffa953b77c7e4a858d9ac7028aab1b4fb4ce8cf3")
+ version("2.18.1-10", sha256="8a9f7e22105428e97d14f44f75395c37cf8c809de148d279c620024452b3565a")
+ version("2.18.1", sha256="ce0d609a7cd11725b1203bdeae92acc54da3a48b8266eb9dbdb9d95b14df9209")
+ version("2.17.1", sha256="4300a1910a2eb40d7a6ecabea3c1e26f0aa9421eeb3000689272a0f62cb80d97")
+ version("2.10.0-2", sha256="ce4e335172bc65da874699302f6ba5466cdbcf69458c11954c0f131fc78b59b7")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.18.0:')
- depends_on('r-rcppparallel@5.0.1:', type=('build', 'run'), when='@2.21.0:')
- depends_on('r-rcppeigen', type=('build', 'run'), when='@2.21.0:')
- depends_on('pandoc', type='build')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.18.0:")
+ depends_on("r-rcppparallel@5.0.1:", type=("build", "run"), when="@2.21.0:")
+ depends_on("r-rcppeigen", type=("build", "run"), when="@2.21.0:")
+ depends_on("pandoc", type="build")
diff --git a/var/spack/repos/builtin/packages/r-stargazer/package.py b/var/spack/repos/builtin/packages/r-stargazer/package.py
index bdca9bd9af..1bb5ad4337 100644
--- a/var/spack/repos/builtin/packages/r-stargazer/package.py
+++ b/var/spack/repos/builtin/packages/r-stargazer/package.py
@@ -15,5 +15,5 @@ class RStargazer(RPackage):
cran = "stargazer"
- version('5.2.3', sha256='208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265')
- version('5.2.2', sha256='70eb4a13a6ac1bfb35af07cb8a63d501ad38dfd9817fc3fba6724260b23932de')
+ version("5.2.3", sha256="208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265")
+ version("5.2.2", sha256="70eb4a13a6ac1bfb35af07cb8a63d501ad38dfd9817fc3fba6724260b23932de")
diff --git a/var/spack/repos/builtin/packages/r-statmod/package.py b/var/spack/repos/builtin/packages/r-statmod/package.py
index f96e3a2312..cbd97b76d6 100644
--- a/var/spack/repos/builtin/packages/r-statmod/package.py
+++ b/var/spack/repos/builtin/packages/r-statmod/package.py
@@ -19,9 +19,9 @@ class RStatmod(RPackage):
cran = "statmod"
- version('1.4.36', sha256='14e897c83d426caca4d920d3d5bead7ae9a679276b3cb2e227f299ad189d7bc2')
- version('1.4.35', sha256='de5e428f81c306849af47b9ae583362855e166b1da62893734f1154cb5b3f8fe')
- version('1.4.32', sha256='2f67a1cfa66126e6345f8a40564a3077d08f1748f17cb8c8fb05c94ed0f57e20')
- version('1.4.30', sha256='9d2c1722a85f53623a9ee9f73d835119ae22ae2b8ec7b50d675401e314ea641f')
+ version("1.4.36", sha256="14e897c83d426caca4d920d3d5bead7ae9a679276b3cb2e227f299ad189d7bc2")
+ version("1.4.35", sha256="de5e428f81c306849af47b9ae583362855e166b1da62893734f1154cb5b3f8fe")
+ version("1.4.32", sha256="2f67a1cfa66126e6345f8a40564a3077d08f1748f17cb8c8fb05c94ed0f57e20")
+ version("1.4.30", sha256="9d2c1722a85f53623a9ee9f73d835119ae22ae2b8ec7b50d675401e314ea641f")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
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 41a1affc0b..00534ebdea 100644
--- a/var/spack/repos/builtin/packages/r-statnet-common/package.py
+++ b/var/spack/repos/builtin/packages/r-statnet-common/package.py
@@ -14,14 +14,14 @@ class RStatnetCommon(RPackage):
cran = "statnet.common"
- version('4.6.0', sha256='ddad51128b50d465e1d1aca3a53b452810b9ba578e96b08b8f50f5850d7bb21d')
- version('4.5.0', sha256='3cdb23db86f3080462f15e29bcf3e941590bc17ea719993b301199b22d6f882f')
- version('4.4.1', sha256='4ecf2b84718d7fb60f196215b4cf6f52cd6b26cc9148a6da6981b26e885509fd')
- version('4.3.0', sha256='834a3359eac967df0420eee416ae4983e3b502a3de56bb24f494a7ca4104e959')
- version('4.2.0', sha256='1176c3303436ebe858d02979cf0a0c33e4e2d1f3637516b4761d573ccd132461')
- version('3.3.0', sha256='d714c4e7b0cbf71b7a628af443f5be530e74ad1e21f6b04f1b1087f6d7e40fa4')
+ version("4.6.0", sha256="ddad51128b50d465e1d1aca3a53b452810b9ba578e96b08b8f50f5850d7bb21d")
+ version("4.5.0", sha256="3cdb23db86f3080462f15e29bcf3e941590bc17ea719993b301199b22d6f882f")
+ version("4.4.1", sha256="4ecf2b84718d7fb60f196215b4cf6f52cd6b26cc9148a6da6981b26e885509fd")
+ version("4.3.0", sha256="834a3359eac967df0420eee416ae4983e3b502a3de56bb24f494a7ca4104e959")
+ version("4.2.0", sha256="1176c3303436ebe858d02979cf0a0c33e4e2d1f3637516b4761d573ccd132461")
+ version("3.3.0", sha256="d714c4e7b0cbf71b7a628af443f5be530e74ad1e21f6b04f1b1087f6d7e40fa4")
- depends_on('r@3.5:', type=('build', 'run'), when='@4.2.0:')
- depends_on('r-coda', type=('build', 'run'), when='@4.1.2:')
+ depends_on("r@3.5:", type=("build", "run"), when="@4.2.0:")
+ depends_on("r-coda", type=("build", "run"), when="@4.1.2:")
- depends_on('r-rle', type=('build', 'run'), when='@4.4.1')
+ depends_on("r-rle", type=("build", "run"), when="@4.4.1")
diff --git a/var/spack/repos/builtin/packages/r-stringfish/package.py b/var/spack/repos/builtin/packages/r-stringfish/package.py
index 34b26d5cae..a2a5ee3b6c 100644
--- a/var/spack/repos/builtin/packages/r-stringfish/package.py
+++ b/var/spack/repos/builtin/packages/r-stringfish/package.py
@@ -14,15 +14,15 @@ class RStringfish(RPackage):
cran = "stringfish"
- maintainers = ['dorton21']
-
- version('0.15.7', sha256='34b1703a8876a40860d35f88a94e069832a7d2bc86189ff07af84ff04fd4b735')
- version('0.15.5', sha256='9df21146a7710e5a9ab4bb53ebc231a580c798b7e541b8d78df53207283f8129')
- version('0.14.2', sha256='9373cfc715cda1527fd20179435977b8e59e19d8c5ef82a31e519f93fb624ced')
-
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r@3.0.2:', type=('build', 'run'), when='@0.15.5:')
- depends_on('r-rcpp@0.12.18.3:', type=('build', 'run'))
- depends_on('r-rcppparallel', type=('build', 'run'))
- depends_on('r-rcppparallel@5.1.4:', type=('build', 'run'), when='@0.15.7:')
- depends_on('gmake', type='build')
+ maintainers = ["dorton21"]
+
+ version("0.15.7", sha256="34b1703a8876a40860d35f88a94e069832a7d2bc86189ff07af84ff04fd4b735")
+ version("0.15.5", sha256="9df21146a7710e5a9ab4bb53ebc231a580c798b7e541b8d78df53207283f8129")
+ version("0.14.2", sha256="9373cfc715cda1527fd20179435977b8e59e19d8c5ef82a31e519f93fb624ced")
+
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r@3.0.2:", type=("build", "run"), when="@0.15.5:")
+ depends_on("r-rcpp@0.12.18.3:", type=("build", "run"))
+ depends_on("r-rcppparallel", type=("build", "run"))
+ depends_on("r-rcppparallel@5.1.4:", type=("build", "run"), when="@0.15.7:")
+ depends_on("gmake", type="build")
diff --git a/var/spack/repos/builtin/packages/r-stringi/package.py b/var/spack/repos/builtin/packages/r-stringi/package.py
index c1546dd081..3a435fcd05 100644
--- a/var/spack/repos/builtin/packages/r-stringi/package.py
+++ b/var/spack/repos/builtin/packages/r-stringi/package.py
@@ -20,18 +20,18 @@ class RStringi(RPackage):
cran = "stringi"
- version('1.7.6', sha256='0ea3d5afec5701977ff53de9afbaceb53b00aa34f5fb641cadc1eeb7759119ec')
- version('1.6.2', sha256='3a151dd9b982696370ac8df3920afe462f8abbd4e41b479ff8b66cfd7b602dae')
- version('1.5.3', sha256='224f1e8dedc962a676bc2e1f53016f6a129a0a38aa0f35daf6dece62ff714010')
- version('1.4.3', sha256='13cecb396b700f81af38746e97b550a1d9fda377ca70c78f6cdfc770d33379ed')
- version('1.3.1', sha256='32df663bb6e9527e1ac265eec2116d26f7b7e62ea5ae7cc5de217cbb8defc362')
- version('1.1.5', sha256='651e85fc4ec6cf71ad8a4347f2bd4b00a490cf9eec20921a83bf5222740402f2')
- version('1.1.3', sha256='9ef22062e4be797c1cb6c2c8822ad5c237edb08b0318a96be8bd1930191af389')
- version('1.1.2', sha256='e50b7162ceb7ebae403475f6f8a76a39532a2abc82112db88661f48aa4b9218e')
- version('1.1.1', sha256='243178a138fe68c86384feb85ead8eb605e8230113d638da5650bca01e24e165')
+ version("1.7.6", sha256="0ea3d5afec5701977ff53de9afbaceb53b00aa34f5fb641cadc1eeb7759119ec")
+ version("1.6.2", sha256="3a151dd9b982696370ac8df3920afe462f8abbd4e41b479ff8b66cfd7b602dae")
+ version("1.5.3", sha256="224f1e8dedc962a676bc2e1f53016f6a129a0a38aa0f35daf6dece62ff714010")
+ version("1.4.3", sha256="13cecb396b700f81af38746e97b550a1d9fda377ca70c78f6cdfc770d33379ed")
+ version("1.3.1", sha256="32df663bb6e9527e1ac265eec2116d26f7b7e62ea5ae7cc5de217cbb8defc362")
+ version("1.1.5", sha256="651e85fc4ec6cf71ad8a4347f2bd4b00a490cf9eec20921a83bf5222740402f2")
+ version("1.1.3", sha256="9ef22062e4be797c1cb6c2c8822ad5c237edb08b0318a96be8bd1930191af389")
+ version("1.1.2", sha256="e50b7162ceb7ebae403475f6f8a76a39532a2abc82112db88661f48aa4b9218e")
+ version("1.1.1", sha256="243178a138fe68c86384feb85ead8eb605e8230113d638da5650bca01e24e165")
- depends_on('r@2.14:', type=('build', 'run'))
- depends_on('r@3.1:', type=('build', 'run'), when='@1.6.1:')
- depends_on('icu4c@52:')
- depends_on('icu4c@55:', when='@1.5.3:')
+ depends_on("r@2.14:", type=("build", "run"))
+ depends_on("r@3.1:", type=("build", "run"), when="@1.6.1:")
+ depends_on("icu4c@52:")
+ depends_on("icu4c@55:", when="@1.5.3:")
# since version 1.6.1 there is also a SystemRequirement on C++11
diff --git a/var/spack/repos/builtin/packages/r-stringr/package.py b/var/spack/repos/builtin/packages/r-stringr/package.py
index bd81423d64..504ef3cb1e 100644
--- a/var/spack/repos/builtin/packages/r-stringr/package.py
+++ b/var/spack/repos/builtin/packages/r-stringr/package.py
@@ -17,13 +17,13 @@ class RStringr(RPackage):
cran = "stringr"
- version('1.4.0', sha256='87604d2d3a9ad8fd68444ce0865b59e2ffbdb548a38d6634796bbd83eeb931dd')
- version('1.3.1', sha256='7a8b8ea038e45978bd797419b16793f44f10c5355ad4c64b74d15276fef20343')
- version('1.2.0', sha256='61d0b30768bbfd7c0bb89310e2de5b7b457ac504538acbcca50374b46b16129a')
- version('1.1.0', sha256='ccb1f0e0f3e9524786f6cbae705c42eedf3874d0e641564e5e00517d892c5a33')
- version('1.0.0', sha256='f8267db85b83c0fc8904009719c93296934775b0d6890c996ec779ec5336df4a')
+ version("1.4.0", sha256="87604d2d3a9ad8fd68444ce0865b59e2ffbdb548a38d6634796bbd83eeb931dd")
+ version("1.3.1", sha256="7a8b8ea038e45978bd797419b16793f44f10c5355ad4c64b74d15276fef20343")
+ version("1.2.0", sha256="61d0b30768bbfd7c0bb89310e2de5b7b457ac504538acbcca50374b46b16129a")
+ version("1.1.0", sha256="ccb1f0e0f3e9524786f6cbae705c42eedf3874d0e641564e5e00517d892c5a33")
+ version("1.0.0", sha256="f8267db85b83c0fc8904009719c93296934775b0d6890c996ec779ec5336df4a")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-stringi@1.1.7:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-glue@1.2.0:', type=('build', 'run'), when='@1.3.0:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-stringi@1.1.7:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-glue@1.2.0:", type=("build", "run"), when="@1.3.0:")
diff --git a/var/spack/repos/builtin/packages/r-strucchange/package.py b/var/spack/repos/builtin/packages/r-strucchange/package.py
index 69e6c8b0b8..5991a6eee3 100644
--- a/var/spack/repos/builtin/packages/r-strucchange/package.py
+++ b/var/spack/repos/builtin/packages/r-strucchange/package.py
@@ -21,9 +21,9 @@ class RStrucchange(RPackage):
cran = "strucchange"
- version('1.5-2', sha256='7d247c5ae6f5a63c80e478799d009c57fb8803943aa4286d05f71235cc1002f8')
- version('1.5-1', sha256='740e2e20477b9fceeef767ae1002adc5ec397cb0f7daba5289a2c23b0dddaf31')
+ version("1.5-2", sha256="7d247c5ae6f5a63c80e478799d009c57fb8803943aa4286d05f71235cc1002f8")
+ version("1.5-1", sha256="740e2e20477b9fceeef767ae1002adc5ec397cb0f7daba5289a2c23b0dddaf31")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-sandwich', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-sandwich", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-strucchangercpp/package.py b/var/spack/repos/builtin/packages/r-strucchangercpp/package.py
index c4c72e73c0..df79f39861 100644
--- a/var/spack/repos/builtin/packages/r-strucchangercpp/package.py
+++ b/var/spack/repos/builtin/packages/r-strucchangercpp/package.py
@@ -22,10 +22,12 @@ class RStrucchangercpp(RPackage):
cran = "strucchangeRcpp"
- version('1.5-3-1.0.4', sha256='f506fcb593ce4bacf1892de25154257d0fe02260ef956a75438c6330195cd86d')
+ version(
+ "1.5-3-1.0.4", sha256="f506fcb593ce4bacf1892de25154257d0fe02260ef956a75438c6330195cd86d"
+ )
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-sandwich', type=('build', 'run'))
- depends_on('r-rcpp@0.12.7:', type=('build', 'run'))
- depends_on('r-rcpparmadillo', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-sandwich", type=("build", "run"))
+ depends_on("r-rcpp@0.12.7:", type=("build", "run"))
+ depends_on("r-rcpparmadillo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-styler/package.py b/var/spack/repos/builtin/packages/r-styler/package.py
index 47e6d7788a..827051f4cb 100644
--- a/var/spack/repos/builtin/packages/r-styler/package.py
+++ b/var/spack/repos/builtin/packages/r-styler/package.py
@@ -13,24 +13,24 @@ class RStyler(RPackage):
cran = "styler"
- version('1.7.0', sha256='3e49f3ac2e65f9bdab15837a4e629db35c8fd0a15a74daa057354ba01e3022ce')
- version('1.6.2', sha256='a62fcc76aac851069f33874f9eaabdd580973b619cfc625d6ec910476015f75c')
- version('1.3.2', sha256='3fcf574382c607c2147479bad4f9fa8b823f54fb1462d19ec4a330e135a44ff1')
-
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.7.0:')
- depends_on('r-cli@1.1.0:', type=('build', 'run'))
- depends_on('r-cli@3.1.1:', type=('build', 'run'), when='@1.7.0:')
- depends_on('r-magrittr@1.0.1:', type=('build', 'run'))
- depends_on('r-magrittr@2.0.0:', type=('build', 'run'), when='@1.6.2:')
- depends_on('r-glue', type=('build', 'run'), when='@1.6.2:')
- depends_on('r-purrr@0.2.3:', type=('build', 'run'))
- depends_on('r-r-cache@0.14.0:', type=('build', 'run'))
- depends_on('r-r-cache@0.15.0:', type=('build', 'run'), when='@1.6.2:')
- depends_on('r-rematch2@2.0.1:', type=('build', 'run'))
- depends_on('r-rlang@0.1.1:', type=('build', 'run'))
- depends_on('r-rprojroot@1.1:', type=('build', 'run'))
- depends_on('r-tibble@1.4.2:', type=('build', 'run'))
- depends_on('r-withr@1.0.0:', type=('build', 'run'))
-
- depends_on('r-backports@1.1.0:', type=('build', 'run'), when='@:1.6.2')
- depends_on('r-xfun@0.1:', type=('build', 'run'), when='@:1.6.2')
+ version("1.7.0", sha256="3e49f3ac2e65f9bdab15837a4e629db35c8fd0a15a74daa057354ba01e3022ce")
+ version("1.6.2", sha256="a62fcc76aac851069f33874f9eaabdd580973b619cfc625d6ec910476015f75c")
+ version("1.3.2", sha256="3fcf574382c607c2147479bad4f9fa8b823f54fb1462d19ec4a330e135a44ff1")
+
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.7.0:")
+ depends_on("r-cli@1.1.0:", type=("build", "run"))
+ depends_on("r-cli@3.1.1:", type=("build", "run"), when="@1.7.0:")
+ depends_on("r-magrittr@1.0.1:", type=("build", "run"))
+ depends_on("r-magrittr@2.0.0:", type=("build", "run"), when="@1.6.2:")
+ depends_on("r-glue", type=("build", "run"), when="@1.6.2:")
+ depends_on("r-purrr@0.2.3:", type=("build", "run"))
+ depends_on("r-r-cache@0.14.0:", type=("build", "run"))
+ depends_on("r-r-cache@0.15.0:", type=("build", "run"), when="@1.6.2:")
+ depends_on("r-rematch2@2.0.1:", type=("build", "run"))
+ depends_on("r-rlang@0.1.1:", type=("build", "run"))
+ depends_on("r-rprojroot@1.1:", type=("build", "run"))
+ depends_on("r-tibble@1.4.2:", type=("build", "run"))
+ depends_on("r-withr@1.0.0:", type=("build", "run"))
+
+ depends_on("r-backports@1.1.0:", type=("build", "run"), when="@:1.6.2")
+ depends_on("r-xfun@0.1:", type=("build", "run"), when="@:1.6.2")
diff --git a/var/spack/repos/builtin/packages/r-subplex/package.py b/var/spack/repos/builtin/packages/r-subplex/package.py
index 18694fa9ac..3a3390380a 100644
--- a/var/spack/repos/builtin/packages/r-subplex/package.py
+++ b/var/spack/repos/builtin/packages/r-subplex/package.py
@@ -14,11 +14,11 @@ class RSubplex(RPackage):
cran = "subplex"
- version('1.8', sha256='3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5')
- version('1.7', sha256='d5ecf4a484936d71cb294f08c3968ef5a8dcbdc861bfc0e97e3b1ab99afff887')
- version('1.6', sha256='0d05da1622fffcd20a01cc929fc6c2b7df40a8246e7018f7f1f3c175b774cbf9')
- version('1.5-4', sha256='ff94cf6b1560f78c31712c05bc2bc1b703339e09c7fc777ee94abf15fa7a8b81')
- version('1.5-2', sha256='6f8c3ccadf1ccd7f11f3eae28cec16eed3695f14e351b864d807dbaba6cd3ded')
- version('1.4-1', sha256='94b7b961aaa229a6f025151191ed50272af1394be69f1c41146b9e8c786caec6')
+ version("1.8", sha256="3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5")
+ version("1.7", sha256="d5ecf4a484936d71cb294f08c3968ef5a8dcbdc861bfc0e97e3b1ab99afff887")
+ version("1.6", sha256="0d05da1622fffcd20a01cc929fc6c2b7df40a8246e7018f7f1f3c175b774cbf9")
+ version("1.5-4", sha256="ff94cf6b1560f78c31712c05bc2bc1b703339e09c7fc777ee94abf15fa7a8b81")
+ version("1.5-2", sha256="6f8c3ccadf1ccd7f11f3eae28cec16eed3695f14e351b864d807dbaba6cd3ded")
+ version("1.4-1", sha256="94b7b961aaa229a6f025151191ed50272af1394be69f1c41146b9e8c786caec6")
- depends_on('r@2.5.1:', type=('build', 'run'))
+ depends_on("r@2.5.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py b/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
index f54ee29f13..dc635ff538 100644
--- a/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
+++ b/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
@@ -9,45 +9,45 @@ from spack.package import *
class RSummarizedexperiment(RPackage):
"""SummarizedExperiment container.
- The SummarizedExperiment container contains one or more assays, each
- represented by a matrix-like object of numeric or other mode. The rows
- typically represent genomic ranges of interest and the columns represent
- samples."""
+ The SummarizedExperiment container contains one or more assays, each
+ represented by a matrix-like object of numeric or other mode. The rows
+ typically represent genomic ranges of interest and the columns represent
+ samples."""
bioc = "SummarizedExperiment"
- version('1.26.1', commit='c8cbd3b4f0fa1d686c4d7ce5b8614a24c74b2074')
- version('1.24.0', commit='d37f19383d03c107a8a41c0df2326e28efe46b28')
- version('1.20.0', commit='874aa87a481e4076a0ec3369f55c9c0a1ab8025e')
- version('1.18.2', commit='e22fafe')
- version('1.14.1', commit='2c68d99e11c7345e5ed388370822ea48395c64a4')
- version('1.12.0', commit='5f8416864636add121ec1d6737ebb89a42227fd7')
- version('1.10.1', commit='7ad2e991c8285bfc4b2e15b29d94cc86d07f8f2b')
- version('1.8.1', commit='9d8a29aa9c78bbc7dcc6472537e13fc0d11dc1f7')
- version('1.6.5', commit='ec69cd5cfbccaef148a9f6abdfb3e22e888695d0')
+ version("1.26.1", commit="c8cbd3b4f0fa1d686c4d7ce5b8614a24c74b2074")
+ version("1.24.0", commit="d37f19383d03c107a8a41c0df2326e28efe46b28")
+ version("1.20.0", commit="874aa87a481e4076a0ec3369f55c9c0a1ab8025e")
+ version("1.18.2", commit="e22fafe")
+ version("1.14.1", commit="2c68d99e11c7345e5ed388370822ea48395c64a4")
+ version("1.12.0", commit="5f8416864636add121ec1d6737ebb89a42227fd7")
+ version("1.10.1", commit="7ad2e991c8285bfc4b2e15b29d94cc86d07f8f2b")
+ version("1.8.1", commit="9d8a29aa9c78bbc7dcc6472537e13fc0d11dc1f7")
+ version("1.6.5", commit="ec69cd5cfbccaef148a9f6abdfb3e22e888695d0")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.24.0:')
- depends_on('r-matrixgenerics@1.1.3:', type=('build', 'run'))
- depends_on('r-genomicranges@1.27.22:', type=('build', 'run'))
- depends_on('r-genomicranges@1.29.14:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-genomicranges@1.31.17:', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-genomicranges@1.33.6:', type=('build', 'run'), when='@1.12.0:')
- depends_on('r-genomicranges@1.41.5:', type=('build', 'run'), when='@1.20.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-biocgenerics@0.15.3:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@1.24.0:')
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.25:', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@1.20.0:')
- depends_on('r-s4vectors@0.33.7:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-iranges@2.7.2:', type=('build', 'run'))
- depends_on('r-iranges@2.11.17:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-iranges@2.13.16:', type=('build', 'run'), when='@1.10.1:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@1.20.0:')
- depends_on('r-genomeinfodb@1.11.4:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.13.1:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-delayedarray@0.1.9:', type=('build', 'run'))
- depends_on('r-delayedarray@0.3.20:', type=('build', 'run'), when='@1.8.1:')
- depends_on('r-delayedarray@0.15.10:', type=('build', 'run'), when='@1.20.0:')
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.24.0:")
+ depends_on("r-matrixgenerics@1.1.3:", type=("build", "run"))
+ depends_on("r-genomicranges@1.27.22:", type=("build", "run"))
+ depends_on("r-genomicranges@1.29.14:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-genomicranges@1.31.17:", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-genomicranges@1.33.6:", type=("build", "run"), when="@1.12.0:")
+ depends_on("r-genomicranges@1.41.5:", type=("build", "run"), when="@1.20.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-biocgenerics@0.15.3:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@1.24.0:")
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.25:", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@1.20.0:")
+ depends_on("r-s4vectors@0.33.7:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-iranges@2.7.2:", type=("build", "run"))
+ depends_on("r-iranges@2.11.17:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-iranges@2.13.16:", type=("build", "run"), when="@1.10.1:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@1.20.0:")
+ depends_on("r-genomeinfodb@1.11.4:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.13.1:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-delayedarray@0.1.9:", type=("build", "run"))
+ depends_on("r-delayedarray@0.3.20:", type=("build", "run"), when="@1.8.1:")
+ depends_on("r-delayedarray@0.15.10:", type=("build", "run"), when="@1.20.0:")
diff --git a/var/spack/repos/builtin/packages/r-suppdists/package.py b/var/spack/repos/builtin/packages/r-suppdists/package.py
index 612178c76b..74932abe85 100644
--- a/var/spack/repos/builtin/packages/r-suppdists/package.py
+++ b/var/spack/repos/builtin/packages/r-suppdists/package.py
@@ -17,7 +17,7 @@ class RSuppdists(RPackage):
cran = "SuppDists"
- version('1.1-9.7', sha256='6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08')
- version('1.1-9.5', sha256='680b67145c07d44e200275e08e48602fe19cd99fb106c05422b3f4a244c071c4')
+ version("1.1-9.7", sha256="6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08")
+ version("1.1-9.5", sha256="680b67145c07d44e200275e08e48602fe19cd99fb106c05422b3f4a244c071c4")
- depends_on('r@3.3.0:', type=('build', 'run'))
+ depends_on("r@3.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-survey/package.py b/var/spack/repos/builtin/packages/r-survey/package.py
index 1d004b1ac3..76c2bf6f2a 100644
--- a/var/spack/repos/builtin/packages/r-survey/package.py
+++ b/var/spack/repos/builtin/packages/r-survey/package.py
@@ -19,19 +19,19 @@ class RSurvey(RPackage):
cran = "survey"
- version('4.1-1', sha256='05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52')
- version('4.0', sha256='b053f40f4cfa90507ca524f72d3b3a4b4869def52f11f907a14f1c6d90063de1')
- version('3.36', sha256='90f32e9d2b52eacf881e6717a4b5edfc5a3beb5da516f8372293549589d79475')
- version('3.35-1', sha256='11e5ddde9c8c21dfaed0b1247036e068ad32782c76ff71f7937eb7585dd364db')
- version('3.30-3', sha256='be45d00b22d857e66905789031f2db1037505f80ce15d4b0ea84dabb03bc9e6d')
+ version("4.1-1", sha256="05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52")
+ version("4.0", sha256="b053f40f4cfa90507ca524f72d3b3a4b4869def52f11f907a14f1c6d90063de1")
+ version("3.36", sha256="90f32e9d2b52eacf881e6717a4b5edfc5a3beb5da516f8372293549589d79475")
+ version("3.35-1", sha256="11e5ddde9c8c21dfaed0b1247036e068ad32782c76ff71f7937eb7585dd364db")
+ version("3.30-3", sha256="be45d00b22d857e66905789031f2db1037505f80ce15d4b0ea84dabb03bc9e6d")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r@2.16.0:', type=('build', 'run'), when='@3.32:')
- depends_on('r@3.1.0:', type=('build', 'run'), when='@3.35:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@4.1-1:')
- depends_on('r-matrix', type=('build', 'run'), when='@3.31:')
- depends_on('r-survival', type=('build', 'run'), when='@3.31:')
- depends_on('r-lattice', type=('build', 'run'), when='@3.31:')
- depends_on('r-minqa', type=('build', 'run'), when='@3.34:')
- depends_on('r-numderiv', type=('build', 'run'), when='@3.34:')
- depends_on('r-mitools@2.4:', type=('build', 'run'), when='@3.36:')
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r@2.16.0:", type=("build", "run"), when="@3.32:")
+ depends_on("r@3.1.0:", type=("build", "run"), when="@3.35:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@4.1-1:")
+ depends_on("r-matrix", type=("build", "run"), when="@3.31:")
+ depends_on("r-survival", type=("build", "run"), when="@3.31:")
+ depends_on("r-lattice", type=("build", "run"), when="@3.31:")
+ depends_on("r-minqa", type=("build", "run"), when="@3.34:")
+ depends_on("r-numderiv", type=("build", "run"), when="@3.34:")
+ depends_on("r-mitools@2.4:", type=("build", "run"), when="@3.36:")
diff --git a/var/spack/repos/builtin/packages/r-survival/package.py b/var/spack/repos/builtin/packages/r-survival/package.py
index 0e4b3c85d0..b2accc0530 100644
--- a/var/spack/repos/builtin/packages/r-survival/package.py
+++ b/var/spack/repos/builtin/packages/r-survival/package.py
@@ -15,17 +15,17 @@ class RSurvival(RPackage):
cran = "survival"
- version('3.3-1', sha256='14878705cd0c7edcfead79011444aa84f680759293bde8634721c49f37cb4dc7')
- version('3.2-13', sha256='3fab9c0ba2c4e2b6a475207e2629a7f06a104c70093dfb768f50a7caac9a317f')
- version('3.2-7', sha256='5356cd73da7ecfda4042e8a8ae00d3531b106f7b39ca31a1843eadf288418a46')
- version('3.1-12', sha256='b62ed66eb646f3df13f7e9bf6571e3bfecae128c66491e174c8833cbef1bf21f')
- version('2.44-1.1', sha256='55b151e15fcd24ccb3acf60331c9a7ad82bc10f3841ab3be9bc2a37e9ee751b9')
- version('2.44-1', sha256='82c44afa41fe4504295855f1da4a5940c3289dfd61bc664bf211bb67c051a909')
- version('2.41-3', sha256='f3797c344de93abd2ba8c89568770a13524a8b2694144ae55adec46921c8961d')
- version('2.40-1', sha256='91d5217847e39bebcbce4f0a2e295304e5816b1270e71f5f2ed39807f004ee82')
- version('2.39-5', sha256='607170ebe36080d102e884cf13c3b29df01d6bb3b593258afffa67fee2a0ada7')
+ version("3.3-1", sha256="14878705cd0c7edcfead79011444aa84f680759293bde8634721c49f37cb4dc7")
+ version("3.2-13", sha256="3fab9c0ba2c4e2b6a475207e2629a7f06a104c70093dfb768f50a7caac9a317f")
+ version("3.2-7", sha256="5356cd73da7ecfda4042e8a8ae00d3531b106f7b39ca31a1843eadf288418a46")
+ version("3.1-12", sha256="b62ed66eb646f3df13f7e9bf6571e3bfecae128c66491e174c8833cbef1bf21f")
+ version("2.44-1.1", sha256="55b151e15fcd24ccb3acf60331c9a7ad82bc10f3841ab3be9bc2a37e9ee751b9")
+ version("2.44-1", sha256="82c44afa41fe4504295855f1da4a5940c3289dfd61bc664bf211bb67c051a909")
+ version("2.41-3", sha256="f3797c344de93abd2ba8c89568770a13524a8b2694144ae55adec46921c8961d")
+ version("2.40-1", sha256="91d5217847e39bebcbce4f0a2e295304e5816b1270e71f5f2ed39807f004ee82")
+ version("2.39-5", sha256="607170ebe36080d102e884cf13c3b29df01d6bb3b593258afffa67fee2a0ada7")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@3.1-12:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@3.2-13:')
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@3.1-12:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@3.2-13:")
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-sva/package.py b/var/spack/repos/builtin/packages/r-sva/package.py
index 473ff95d53..8d162f2b2a 100644
--- a/var/spack/repos/builtin/packages/r-sva/package.py
+++ b/var/spack/repos/builtin/packages/r-sva/package.py
@@ -9,40 +9,40 @@ from spack.package import *
class RSva(RPackage):
"""Surrogate Variable Analysis.
- The sva package contains functions for removing batch effects and other
- unwanted variation in high-throughput experiment. Specifically, the sva
- package contains functions for the identifying and building surrogate
- variables for high-dimensional data sets. Surrogate variables are
- covariates constructed directly from high-dimensional data (like gene
- expression/RNA sequencing/methylation/brain imaging data) that can be
- used in subsequent analyses to adjust for unknown, unmodeled, or latent
- sources of noise. The sva package can be used to remove artifacts in
- three ways: (1) identifying and estimating surrogate variables for
- unknown sources of variation in high-throughput experiments (Leek and
- Storey 2007 PLoS Genetics,2008 PNAS), (2) directly removing known batch
- effects using ComBat (Johnson et al. 2007 Biostatistics) and (3)
- removing batch effects with known control probes (Leek 2014 biorXiv).
- Removing batch effects and using surrogate variables in differential
- expression analysis have been shown to reduce dependence, stabilize
- error rate estimates, and improve reproducibility, see (Leek and Storey
- 2007 PLoS Genetics, 2008 PNAS or Leek et al. 2011 Nat. Reviews
- Genetics)."""
+ The sva package contains functions for removing batch effects and other
+ unwanted variation in high-throughput experiment. Specifically, the sva
+ package contains functions for the identifying and building surrogate
+ variables for high-dimensional data sets. Surrogate variables are
+ covariates constructed directly from high-dimensional data (like gene
+ expression/RNA sequencing/methylation/brain imaging data) that can be
+ used in subsequent analyses to adjust for unknown, unmodeled, or latent
+ sources of noise. The sva package can be used to remove artifacts in
+ three ways: (1) identifying and estimating surrogate variables for
+ unknown sources of variation in high-throughput experiments (Leek and
+ Storey 2007 PLoS Genetics,2008 PNAS), (2) directly removing known batch
+ effects using ComBat (Johnson et al. 2007 Biostatistics) and (3)
+ removing batch effects with known control probes (Leek 2014 biorXiv).
+ Removing batch effects and using surrogate variables in differential
+ expression analysis have been shown to reduce dependence, stabilize
+ error rate estimates, and improve reproducibility, see (Leek and Storey
+ 2007 PLoS Genetics, 2008 PNAS or Leek et al. 2011 Nat. Reviews
+ Genetics)."""
bioc = "sva"
- version('3.44.0', commit='45ab2c1d6643bcda4de2d95a81b9b28d33a1a8a1')
- version('3.42.0', commit='54c843cc46437be233ecb43b6aa868e968d71138')
- version('3.38.0', commit='5ded8ba649200ec4829051f86a59e1a2548a7ab8')
- version('3.32.1', commit='1b8286734d00533b49d9f1456b6523cc778bb744')
- version('3.30.1', commit='fdb98bc2299dc5213c62d83cb7c0b1c1b4912f0c')
- version('3.28.0', commit='dd4937229dbccd2f383a04d5237fe147a884728d')
- version('3.26.0', commit='3cc5e75413c35ed5511892f5c36a8b5cb454937e')
- version('3.24.4', commit='ed2ebb6e33374dc9ec50e6ea97cc1d9aef836c73')
+ version("3.44.0", commit="45ab2c1d6643bcda4de2d95a81b9b28d33a1a8a1")
+ version("3.42.0", commit="54c843cc46437be233ecb43b6aa868e968d71138")
+ version("3.38.0", commit="5ded8ba649200ec4829051f86a59e1a2548a7ab8")
+ version("3.32.1", commit="1b8286734d00533b49d9f1456b6523cc778bb744")
+ version("3.30.1", commit="fdb98bc2299dc5213c62d83cb7c0b1c1b4912f0c")
+ version("3.28.0", commit="dd4937229dbccd2f383a04d5237fe147a884728d")
+ version("3.26.0", commit="3cc5e75413c35ed5511892f5c36a8b5cb454937e")
+ version("3.24.4", commit="ed2ebb6e33374dc9ec50e6ea97cc1d9aef836c73")
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'), when='@3.38.0:')
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"), when="@3.38.0:")
diff --git a/var/spack/repos/builtin/packages/r-svglite/package.py b/var/spack/repos/builtin/packages/r-svglite/package.py
index bd96257243..5c9c72a1c6 100644
--- a/var/spack/repos/builtin/packages/r-svglite/package.py
+++ b/var/spack/repos/builtin/packages/r-svglite/package.py
@@ -14,11 +14,11 @@ class RSvglite(RPackage):
cran = "svglite"
- version('2.1.0', sha256='ad40f590c7e80ae83001a3826b6e8394ba733446ed51fd55faeda974ab839c9b')
- version('2.0.0', sha256='76e625fe172a5b7ce99a67b6d631b037b3f7f0021cfe15f2e15e8851b89defa5')
+ version("2.1.0", sha256="ad40f590c7e80ae83001a3826b6e8394ba733446ed51fd55faeda974ab839c9b")
+ version("2.0.0", sha256="76e625fe172a5b7ce99a67b6d631b037b3f7f0021cfe15f2e15e8851b89defa5")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-systemfonts@1.0.0:', type=('build', 'run'))
- depends_on('r-cpp11', type=('build', 'run'))
- depends_on('libpng')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-systemfonts@1.0.0:", type=("build", "run"))
+ depends_on("r-cpp11", type=("build", "run"))
+ depends_on("libpng")
diff --git a/var/spack/repos/builtin/packages/r-sys/package.py b/var/spack/repos/builtin/packages/r-sys/package.py
index cd1779ccf8..326b2430d4 100644
--- a/var/spack/repos/builtin/packages/r-sys/package.py
+++ b/var/spack/repos/builtin/packages/r-sys/package.py
@@ -17,10 +17,10 @@ class RSys(RPackage):
cran = "sys"
- version('3.4', sha256='17f88fbaf222f1f8fd07919461093dac0e7175ae3c3b3264b88470617afd0487')
- version('3.2', sha256='2819498461fe2ce83d319d1a47844e86bcea6d01d10861818dba289e7099bbcc')
+ version("3.4", sha256="17f88fbaf222f1f8fd07919461093dac0e7175ae3c3b3264b88470617afd0487")
+ version("3.2", sha256="2819498461fe2ce83d319d1a47844e86bcea6d01d10861818dba289e7099bbcc")
def flag_handler(self, name, flags):
- if name == 'cflags':
+ if name == "cflags":
flags.append(self.compiler.c99_flag)
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/r-systemfonts/package.py b/var/spack/repos/builtin/packages/r-systemfonts/package.py
index a49e6a374d..5620bde139 100644
--- a/var/spack/repos/builtin/packages/r-systemfonts/package.py
+++ b/var/spack/repos/builtin/packages/r-systemfonts/package.py
@@ -19,11 +19,11 @@ class RSystemfonts(RPackage):
cran = "systemfonts"
- version('1.0.4', sha256='ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0')
- version('1.0.3', sha256='647c99d5ea6f90a49768ea7b10b39816af6be85168475273369fd973a20dbbba')
- version('1.0.1', sha256='401db4d9e78e3a5e00b7a0b4fbad7fbb1c584734469b65fe5b7ebe1851c7a797')
+ version("1.0.4", sha256="ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0")
+ version("1.0.3", sha256="647c99d5ea6f90a49768ea7b10b39816af6be85168475273369fd973a20dbbba")
+ version("1.0.1", sha256="401db4d9e78e3a5e00b7a0b4fbad7fbb1c584734469b65fe5b7ebe1851c7a797")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-cpp11@0.2.1:', type=('build', 'run'))
- depends_on('fontconfig')
- depends_on('freetype')
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-cpp11@0.2.1:", type=("build", "run"))
+ depends_on("fontconfig")
+ depends_on("freetype")
diff --git a/var/spack/repos/builtin/packages/r-tarifx/package.py b/var/spack/repos/builtin/packages/r-tarifx/package.py
index 2b1dab2bd5..15a23e8145 100644
--- a/var/spack/repos/builtin/packages/r-tarifx/package.py
+++ b/var/spack/repos/builtin/packages/r-tarifx/package.py
@@ -13,9 +13,9 @@ class RTarifx(RPackage):
cran = "taRifx"
- version('1.0.6.2', sha256='89d031db00a94ae57c7ace0d9aa39ba2f960f96fd48d2d1e4c7ebb62a2969b15')
- version('1.0.6.1', sha256='d4c832b26d476a395ddf8349c42613270023c8bbf52a274d280be6284c11d7e2')
- version('1.0.6', sha256='3dc70ac9c828d904cbac9fc9465918cd58cb5e9e35e92fe0cf38f436a1017782')
+ version("1.0.6.2", sha256="89d031db00a94ae57c7ace0d9aa39ba2f960f96fd48d2d1e4c7ebb62a2969b15")
+ version("1.0.6.1", sha256="d4c832b26d476a395ddf8349c42613270023c8bbf52a274d280be6284c11d7e2")
+ version("1.0.6", sha256="3dc70ac9c828d904cbac9fc9465918cd58cb5e9e35e92fe0cf38f436a1017782")
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-taxizedb/package.py b/var/spack/repos/builtin/packages/r-taxizedb/package.py
index d1758c6db5..e0628c1441 100644
--- a/var/spack/repos/builtin/packages/r-taxizedb/package.py
+++ b/var/spack/repos/builtin/packages/r-taxizedb/package.py
@@ -16,19 +16,19 @@ class RTaxizedb(RPackage):
cran = "taxizedb"
- version('0.3.0', sha256='5f28338a233f0021097147e74c5f83107e5847de3413eceb308208e39af9fcb4')
- version('0.1.4', sha256='5a40569a2b5abe56201f112a10220150353412df39b7e8d21ea8698f424cf295')
-
- depends_on('r-curl@2.4:', type=('build', 'run'))
- depends_on('r-dbi@0.6-1:', type=('build', 'run'))
- depends_on('r-rsqlite@1.1.2:', type=('build', 'run'))
- depends_on('r-dplyr@0.7.0:', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'), when='@0.3.0:')
- depends_on('r-rlang', type=('build', 'run'), when='@0.3.0:')
- depends_on('r-readr@1.1.1:', type=('build', 'run'), when='@0.3.0:')
- depends_on('r-dbplyr@1.0.0:', type=('build', 'run'))
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-hoardr@0.1.0:', type=('build', 'run'))
-
- depends_on('r-rpostgresql@0.4.1:', type=('build', 'run'), when='@:0.1.4')
- depends_on('r-rmysql@0.10.11:', type=('build', 'run'), when='@:0.1.4')
+ version("0.3.0", sha256="5f28338a233f0021097147e74c5f83107e5847de3413eceb308208e39af9fcb4")
+ version("0.1.4", sha256="5a40569a2b5abe56201f112a10220150353412df39b7e8d21ea8698f424cf295")
+
+ depends_on("r-curl@2.4:", type=("build", "run"))
+ depends_on("r-dbi@0.6-1:", type=("build", "run"))
+ depends_on("r-rsqlite@1.1.2:", type=("build", "run"))
+ depends_on("r-dplyr@0.7.0:", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"), when="@0.3.0:")
+ depends_on("r-rlang", type=("build", "run"), when="@0.3.0:")
+ depends_on("r-readr@1.1.1:", type=("build", "run"), when="@0.3.0:")
+ depends_on("r-dbplyr@1.0.0:", type=("build", "run"))
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-hoardr@0.1.0:", type=("build", "run"))
+
+ depends_on("r-rpostgresql@0.4.1:", type=("build", "run"), when="@:0.1.4")
+ depends_on("r-rmysql@0.10.11:", type=("build", "run"), when="@:0.1.4")
diff --git a/var/spack/repos/builtin/packages/r-tclust/package.py b/var/spack/repos/builtin/packages/r-tclust/package.py
index a8190067e6..8ab715a12f 100644
--- a/var/spack/repos/builtin/packages/r-tclust/package.py
+++ b/var/spack/repos/builtin/packages/r-tclust/package.py
@@ -16,13 +16,13 @@ class RTclust(RPackage):
cran = "tclust"
- version('1.5-1', sha256='73328b30774bb0767d613d7f2b60b75706b19fab864c712645ea18181f1af327')
- version('1.4-2', sha256='95dcd07dbd16383f07f5cea8561e7f3bf314e4a7483879841103b149fc8c65d9')
- version('1.4-1', sha256='4b0be612c8ecd7b4eb19a44ab6ac8f5d40515600ae1144c55989b6b41335ad9e')
- version('1.3-1', sha256='fe4479a73b947d8f6c1cc63587283a8b6223d430d39eee4e5833a06d3d1726d2')
- version('1.2-7', sha256='7d2cfa35bbd44086af45be842e6c4743380c7cc8a0f985d2bb7c1a0690c878d7')
- version('1.2-3', sha256='d749d4e4107b876a22ca2c0299e30e2c77cb04f53f7e5658348e274aae3f2b28')
- version('1.1-03', sha256='b8a62a1d27e69ac7e985ba5ea2ae5d182d2e51665bfbfb178e22b63041709270')
- version('1.1-02', sha256='f73c0d7a495552f901b710cf34e114c0ba401d5a17c48156313245904bcccad4')
+ version("1.5-1", sha256="73328b30774bb0767d613d7f2b60b75706b19fab864c712645ea18181f1af327")
+ version("1.4-2", sha256="95dcd07dbd16383f07f5cea8561e7f3bf314e4a7483879841103b149fc8c65d9")
+ version("1.4-1", sha256="4b0be612c8ecd7b4eb19a44ab6ac8f5d40515600ae1144c55989b6b41335ad9e")
+ version("1.3-1", sha256="fe4479a73b947d8f6c1cc63587283a8b6223d430d39eee4e5833a06d3d1726d2")
+ version("1.2-7", sha256="7d2cfa35bbd44086af45be842e6c4743380c7cc8a0f985d2bb7c1a0690c878d7")
+ version("1.2-3", sha256="d749d4e4107b876a22ca2c0299e30e2c77cb04f53f7e5658348e274aae3f2b28")
+ version("1.1-03", sha256="b8a62a1d27e69ac7e985ba5ea2ae5d182d2e51665bfbfb178e22b63041709270")
+ version("1.1-02", sha256="f73c0d7a495552f901b710cf34e114c0ba401d5a17c48156313245904bcccad4")
- depends_on('r@2.12.0:', type=('build', 'run'))
+ depends_on("r@2.12.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-teachingdemos/package.py b/var/spack/repos/builtin/packages/r-teachingdemos/package.py
index eeecc70eff..6be53990a8 100644
--- a/var/spack/repos/builtin/packages/r-teachingdemos/package.py
+++ b/var/spack/repos/builtin/packages/r-teachingdemos/package.py
@@ -15,7 +15,7 @@ class RTeachingdemos(RPackage):
cran = "TeachingDemos"
- version('2.12', sha256='3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644')
- version('2.10', sha256='2ef4c2e36ba13e32f66000e84281a3616584c86b255bca8643ff3fe4f78ed704')
+ version("2.12", sha256="3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644")
+ version("2.10", sha256="2ef4c2e36ba13e32f66000e84281a3616584c86b255bca8643ff3fe4f78ed704")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tensor/package.py b/var/spack/repos/builtin/packages/r-tensor/package.py
index c0cce979e3..5a30c4a663 100644
--- a/var/spack/repos/builtin/packages/r-tensor/package.py
+++ b/var/spack/repos/builtin/packages/r-tensor/package.py
@@ -15,5 +15,5 @@ class RTensor(RPackage):
cran = "tensor"
- version('1.5', sha256='e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6')
- version('1.4', sha256='6f1643da018d58a0aaa27260df6fdf687fc36f4cd1964931b3180b7df8c0e642')
+ version("1.5", sha256="e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6")
+ version("1.4", sha256="6f1643da018d58a0aaa27260df6fdf687fc36f4cd1964931b3180b7df8c0e642")
diff --git a/var/spack/repos/builtin/packages/r-tensora/package.py b/var/spack/repos/builtin/packages/r-tensora/package.py
index 318e9e5d86..92e8486b4a 100644
--- a/var/spack/repos/builtin/packages/r-tensora/package.py
+++ b/var/spack/repos/builtin/packages/r-tensora/package.py
@@ -16,8 +16,8 @@ class RTensora(RPackage):
cran = "tensorA"
- version('0.36.2', sha256='8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7')
- version('0.36.1', sha256='c7ffe12b99867675b5e9c9f31798f9521f14305c9d9f9485b171bcbd8697d09c')
- version('0.36', sha256='97b3e72f26ca3a756d045008764d787a32c68f0a276fb7a29b6e1b4592fdecf6')
+ version("0.36.2", sha256="8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7")
+ version("0.36.1", sha256="c7ffe12b99867675b5e9c9f31798f9521f14305c9d9f9485b171bcbd8697d09c")
+ version("0.36", sha256="97b3e72f26ca3a756d045008764d787a32c68f0a276fb7a29b6e1b4592fdecf6")
- depends_on('r@2.2.0:', type=('build', 'run'))
+ depends_on("r@2.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-terra/package.py b/var/spack/repos/builtin/packages/r-terra/package.py
index cb023ac1af..3f417a46ad 100644
--- a/var/spack/repos/builtin/packages/r-terra/package.py
+++ b/var/spack/repos/builtin/packages/r-terra/package.py
@@ -21,14 +21,14 @@ class RTerra(RPackage):
cran = "terra"
- version('1.5-21', sha256='091ee928ccaa6561aa9f8ee6c1c99f139dc89f1653c2a76a035cca14d404f43f')
- version('1.5-17', sha256='e7ac57d1712d280616a4b5a85cd915b2b3e24fe08ee044b740588d884e6be6e7')
- version('1.5-12', sha256='865cc14ee8c3239037c08170df4011eed27cf638ac1d05f0b7cd704abf97cc19')
- version('1.4-22', sha256='b8eccfa36764577248d7b390e24af6db65fb8824c07f9b782bd6b83c4d2b3976')
+ version("1.5-21", sha256="091ee928ccaa6561aa9f8ee6c1c99f139dc89f1653c2a76a035cca14d404f43f")
+ version("1.5-17", sha256="e7ac57d1712d280616a4b5a85cd915b2b3e24fe08ee044b740588d884e6be6e7")
+ version("1.5-12", sha256="865cc14ee8c3239037c08170df4011eed27cf638ac1d05f0b7cd704abf97cc19")
+ version("1.4-22", sha256="b8eccfa36764577248d7b390e24af6db65fb8824c07f9b782bd6b83c4d2b3976")
- depends_on('r@3.5.0:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('gdal@2.2.3:')
- depends_on('geos@3.4.0:')
- depends_on('proj@4.9.3:')
- depends_on('sqlite')
+ depends_on("r@3.5.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("gdal@2.2.3:")
+ depends_on("geos@3.4.0:")
+ depends_on("proj@4.9.3:")
+ depends_on("sqlite")
diff --git a/var/spack/repos/builtin/packages/r-tester/package.py b/var/spack/repos/builtin/packages/r-tester/package.py
index 314d82983f..7e3db74d4a 100644
--- a/var/spack/repos/builtin/packages/r-tester/package.py
+++ b/var/spack/repos/builtin/packages/r-tester/package.py
@@ -13,6 +13,6 @@ class RTester(RPackage):
cran = "tester"
- version('0.1.7', sha256='b9c645119c21c69450f3d366c911ed92ac7c14ef61652fd676a38fb9d420b5f4')
+ version("0.1.7", sha256="b9c645119c21c69450f3d366c911ed92ac7c14ef61652fd676a38fb9d420b5f4")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-testit/package.py b/var/spack/repos/builtin/packages/r-testit/package.py
index 6b0ca05b53..a1d46a5755 100644
--- a/var/spack/repos/builtin/packages/r-testit/package.py
+++ b/var/spack/repos/builtin/packages/r-testit/package.py
@@ -15,9 +15,9 @@ class RTestit(RPackage):
cran = "testit"
- version('0.13', sha256='90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80')
- version('0.12', sha256='9acdf912f0e7a68a5b6a7946d5ebb0c2007b3d6cd2e39075eddae2b586354e89')
- version('0.9', sha256='9cf6b3df9b2c700e4e7dcbd5b8cb64fabefe674e1f40346ccaf39fe7feda5e55')
- version('0.8', sha256='08a9c19c962eae60f4ab58885a23e0bc239efc39da682290be436c066f8d97f7')
- version('0.7', sha256='03332889bffe8b69d36e696e3a6a1a29713cdcbccf1efced6cddbf061fb41a1f')
- version('0.5', sha256='1416fd69b324e5049be5adfaebde159252a119e8e987562e48b4b28cc9af69ec')
+ version("0.13", sha256="90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80")
+ version("0.12", sha256="9acdf912f0e7a68a5b6a7946d5ebb0c2007b3d6cd2e39075eddae2b586354e89")
+ version("0.9", sha256="9cf6b3df9b2c700e4e7dcbd5b8cb64fabefe674e1f40346ccaf39fe7feda5e55")
+ version("0.8", sha256="08a9c19c962eae60f4ab58885a23e0bc239efc39da682290be436c066f8d97f7")
+ version("0.7", sha256="03332889bffe8b69d36e696e3a6a1a29713cdcbccf1efced6cddbf061fb41a1f")
+ version("0.5", sha256="1416fd69b324e5049be5adfaebde159252a119e8e987562e48b4b28cc9af69ec")
diff --git a/var/spack/repos/builtin/packages/r-testthat/package.py b/var/spack/repos/builtin/packages/r-testthat/package.py
index 08cd5b61db..65105e9320 100644
--- a/var/spack/repos/builtin/packages/r-testthat/package.py
+++ b/var/spack/repos/builtin/packages/r-testthat/package.py
@@ -15,42 +15,42 @@ class RTestthat(RPackage):
cran = "testthat"
- version('3.1.4', sha256='a47eec031b4e186a8bd331031371b2347063a283050eca2adbfaa37d7a6c9c09')
- version('3.1.2', sha256='ed41a6168ca22869b6aebe1e5865bb2f5338a7c35ca0a13cf69ac2f5c6aeb659')
- version('3.1.1', sha256='e6755fb4f5388751af952edfd555533bb55d6252606f6fcef07bdb6268c8cf80')
- version('3.0.1', sha256='297fc45c719684f11ddf9dc9088f5528fdf9b44625165543384eaf579f243ad0')
- version('2.3.2', sha256='1a268d8df07f7cd8d282d03bb96ac2d96a24a95c9aa52f4cca5138a09dd8e06c')
- version('2.2.1', sha256='67ee0512bb312695c81fd74338bb8ce9e2e58763681ddbcdfdf35f52dfdb0b78')
- version('2.1.0', sha256='cf5fa7108111b32b86e70819352f86b57ab4e835221bb1e83642d52a1fdbcdd4')
- version('1.0.2', sha256='0ef7df0ace1fddf821d329f9d9a5d42296085350ae0d94af62c45bd203c8415e')
+ version("3.1.4", sha256="a47eec031b4e186a8bd331031371b2347063a283050eca2adbfaa37d7a6c9c09")
+ version("3.1.2", sha256="ed41a6168ca22869b6aebe1e5865bb2f5338a7c35ca0a13cf69ac2f5c6aeb659")
+ version("3.1.1", sha256="e6755fb4f5388751af952edfd555533bb55d6252606f6fcef07bdb6268c8cf80")
+ version("3.0.1", sha256="297fc45c719684f11ddf9dc9088f5528fdf9b44625165543384eaf579f243ad0")
+ version("2.3.2", sha256="1a268d8df07f7cd8d282d03bb96ac2d96a24a95c9aa52f4cca5138a09dd8e06c")
+ version("2.2.1", sha256="67ee0512bb312695c81fd74338bb8ce9e2e58763681ddbcdfdf35f52dfdb0b78")
+ version("2.1.0", sha256="cf5fa7108111b32b86e70819352f86b57ab4e835221bb1e83642d52a1fdbcdd4")
+ version("1.0.2", sha256="0ef7df0ace1fddf821d329f9d9a5d42296085350ae0d94af62c45bd203c8415e")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-brio', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-callr@3.5.1:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-cli', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-cli@2.2.0:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-cli@3.3.0:', type=('build', 'run'), when='@3.1.4:')
- depends_on('r-crayon@1.3.4:', type=('build', 'run'))
- depends_on('r-desc', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-ellipsis', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-ellipsis@0.2.0:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-evaluate', type=('build', 'run'), when='@2.2.0:')
- depends_on('r-jsonlite', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-pkgload', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-praise', type=('build', 'run'))
- depends_on('r-processx', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-ps@1.3.4:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-r6@2.2.0:', type=('build', 'run'))
- depends_on('r-rlang@0.3.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-rlang@0.4.1:', type=('build', 'run'), when='@2.3.2:')
- depends_on('r-rlang@0.4.9:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-rlang@1.0.1:', type=('build', 'run'), when='@3.1.4:')
- depends_on('r-waldo@0.2.1:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-waldo@0.2.4:', type=('build', 'run'), when='@3.1.1:')
- depends_on('r-waldo@0.4.0:', type=('build', 'run'), when='@3.1.4:')
- depends_on('r-withr@2.0.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-withr@2.3.0:', type=('build', 'run'), when='@3.0.1:')
- depends_on('r-withr@2.4.3:', type=('build', 'run'), when='@3.1.2:')
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-brio", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-callr@3.5.1:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-cli", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-cli@2.2.0:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-cli@3.3.0:", type=("build", "run"), when="@3.1.4:")
+ depends_on("r-crayon@1.3.4:", type=("build", "run"))
+ depends_on("r-desc", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-digest", type=("build", "run"))
+ depends_on("r-ellipsis", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-ellipsis@0.2.0:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-evaluate", type=("build", "run"), when="@2.2.0:")
+ depends_on("r-jsonlite", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-pkgload", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-praise", type=("build", "run"))
+ depends_on("r-processx", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-ps@1.3.4:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-r6@2.2.0:", type=("build", "run"))
+ depends_on("r-rlang@0.3.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-rlang@0.4.1:", type=("build", "run"), when="@2.3.2:")
+ depends_on("r-rlang@0.4.9:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-rlang@1.0.1:", type=("build", "run"), when="@3.1.4:")
+ depends_on("r-waldo@0.2.1:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-waldo@0.2.4:", type=("build", "run"), when="@3.1.1:")
+ depends_on("r-waldo@0.4.0:", type=("build", "run"), when="@3.1.4:")
+ depends_on("r-withr@2.0.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-withr@2.3.0:", type=("build", "run"), when="@3.0.1:")
+ depends_on("r-withr@2.4.3:", type=("build", "run"), when="@3.1.2:")
diff --git a/var/spack/repos/builtin/packages/r-tfbstools/package.py b/var/spack/repos/builtin/packages/r-tfbstools/package.py
index 583d1db7e4..e4a9f9c3f8 100644
--- a/var/spack/repos/builtin/packages/r-tfbstools/package.py
+++ b/var/spack/repos/builtin/packages/r-tfbstools/package.py
@@ -9,42 +9,42 @@ from spack.package import *
class RTfbstools(RPackage):
"""Software Package for Transcription Factor Binding Site (TFBS) Analysis.
- TFBSTools is a package for the analysis and manipulation of
- transcription factor binding sites. It includes matrices conversion
- between Position Frequency Matirx (PFM), Position Weight Matirx (PWM)
- and Information Content Matrix (ICM). It can also scan putative TFBS
- from sequence/alignment, query JASPAR database and provides a wrapper of
- de novo motif discovery software."""
+ TFBSTools is a package for the analysis and manipulation of
+ transcription factor binding sites. It includes matrices conversion
+ between Position Frequency Matirx (PFM), Position Weight Matirx (PWM)
+ and Information Content Matrix (ICM). It can also scan putative TFBS
+ from sequence/alignment, query JASPAR database and provides a wrapper of
+ de novo motif discovery software."""
bioc = "TFBSTools"
- version('1.34.0', commit='7f8d0cb58a527a5d7ba94a773279f13aedca6ec7')
- version('1.32.0', commit='235505626b910de29156a07e1f990daa3b5d57d9')
- version('1.28.0', commit='15e7cf76f39ee3280a27284d58f7adef1c33f193')
- version('1.22.0', commit='613d3567fd662b65269bd200c5aa5f87ac6a4612')
- version('1.20.0', commit='74035fc6beb1af82f171c11ef2b0a8817714c5bc')
- version('1.18.0', commit='17e12b9f3dcb9059d414307ec0bc23ed1ee33294')
- version('1.16.0', commit='565436a5a674d4dea7279e796a20c5bd2034f65a')
- version('1.14.2', commit='e429fdefb6f7ee4585dd2a8ca3d0ced7a5bed4ff')
+ version("1.34.0", commit="7f8d0cb58a527a5d7ba94a773279f13aedca6ec7")
+ version("1.32.0", commit="235505626b910de29156a07e1f990daa3b5d57d9")
+ version("1.28.0", commit="15e7cf76f39ee3280a27284d58f7adef1c33f193")
+ version("1.22.0", commit="613d3567fd662b65269bd200c5aa5f87ac6a4612")
+ version("1.20.0", commit="74035fc6beb1af82f171c11ef2b0a8817714c5bc")
+ version("1.18.0", commit="17e12b9f3dcb9059d414307ec0bc23ed1ee33294")
+ version("1.16.0", commit="565436a5a674d4dea7279e796a20c5bd2034f65a")
+ version("1.14.2", commit="e429fdefb6f7ee4585dd2a8ca3d0ced7a5bed4ff")
- depends_on('r@3.2.2:', type=('build', 'run'))
- depends_on('r-biobase@2.28:', type=('build', 'run'))
- depends_on('r-biostrings@2.36.4:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.14.0:', type=('build', 'run'))
- depends_on('r-biocparallel@1.2.21:', type=('build', 'run'))
- depends_on('r-bsgenome@1.36.3:', type=('build', 'run'))
- depends_on('r-catools@1.17.1:', type=('build', 'run'))
- depends_on('r-cner@1.4.0:', type=('build', 'run'))
- depends_on('r-dirichletmultinomial@1.10.0:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.6.1:', type=('build', 'run'))
- depends_on('r-genomicranges@1.20.6:', type=('build', 'run'))
- depends_on('r-gtools@3.5.0:', type=('build', 'run'))
- depends_on('r-iranges@2.2.7:', type=('build', 'run'))
- depends_on('r-dbi@0.6:', type=('build', 'run'))
- depends_on('r-rsqlite@1.0.0:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.28.10:', type=('build', 'run'))
- depends_on('r-seqlogo@1.34.0:', type=('build', 'run'))
- depends_on('r-s4vectors@0.9.25:', type=('build', 'run'))
- depends_on('r-tfmpvalue@0.0.5:', type=('build', 'run'))
- depends_on('r-xml@3.98-1.3:', type=('build', 'run'))
- depends_on('r-xvector@0.8.0:', type=('build', 'run'))
+ depends_on("r@3.2.2:", type=("build", "run"))
+ depends_on("r-biobase@2.28:", type=("build", "run"))
+ depends_on("r-biostrings@2.36.4:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.14.0:", type=("build", "run"))
+ depends_on("r-biocparallel@1.2.21:", type=("build", "run"))
+ depends_on("r-bsgenome@1.36.3:", type=("build", "run"))
+ depends_on("r-catools@1.17.1:", type=("build", "run"))
+ depends_on("r-cner@1.4.0:", type=("build", "run"))
+ depends_on("r-dirichletmultinomial@1.10.0:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.6.1:", type=("build", "run"))
+ depends_on("r-genomicranges@1.20.6:", type=("build", "run"))
+ depends_on("r-gtools@3.5.0:", type=("build", "run"))
+ depends_on("r-iranges@2.2.7:", type=("build", "run"))
+ depends_on("r-dbi@0.6:", type=("build", "run"))
+ depends_on("r-rsqlite@1.0.0:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.28.10:", type=("build", "run"))
+ depends_on("r-seqlogo@1.34.0:", type=("build", "run"))
+ depends_on("r-s4vectors@0.9.25:", type=("build", "run"))
+ depends_on("r-tfmpvalue@0.0.5:", type=("build", "run"))
+ depends_on("r-xml@3.98-1.3:", type=("build", "run"))
+ depends_on("r-xvector@0.8.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tfisher/package.py b/var/spack/repos/builtin/packages/r-tfisher/package.py
index e2142cfbf5..ad0f8391f3 100644
--- a/var/spack/repos/builtin/packages/r-tfisher/package.py
+++ b/var/spack/repos/builtin/packages/r-tfisher/package.py
@@ -21,8 +21,8 @@ class RTfisher(RPackage):
cran = "TFisher"
- version('0.2.0', sha256='bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f')
+ version("0.2.0", sha256="bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f")
- depends_on('r-sn', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-matrix', type=('build', 'run'))
+ depends_on("r-sn", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-matrix", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tfmpvalue/package.py b/var/spack/repos/builtin/packages/r-tfmpvalue/package.py
index f4e1333b60..ca9dbb9606 100644
--- a/var/spack/repos/builtin/packages/r-tfmpvalue/package.py
+++ b/var/spack/repos/builtin/packages/r-tfmpvalue/package.py
@@ -18,8 +18,8 @@ class RTfmpvalue(RPackage):
cran = "TFMPvalue"
- version('0.0.8', sha256='6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841')
- version('0.0.6', sha256='cee3aa2d4e22856865d820f695e29a5f23486e5e08cd42cb95a0728f5f9522a1')
+ version("0.0.8", sha256="6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841")
+ version("0.0.6", sha256="cee3aa2d4e22856865d820f695e29a5f23486e5e08cd42cb95a0728f5f9522a1")
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-rcpp@0.11.1:', type=('build', 'run'))
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-rcpp@0.11.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-th-data/package.py b/var/spack/repos/builtin/packages/r-th-data/package.py
index 704f9037cb..3abc7628d1 100644
--- a/var/spack/repos/builtin/packages/r-th-data/package.py
+++ b/var/spack/repos/builtin/packages/r-th-data/package.py
@@ -13,14 +13,14 @@ class RThData(RPackage):
cran = "TH.data"
- version('1.1-1', sha256='edf3ab16b142f4c52d21fc64e41409ed138e5b3e142f2fae964b00f02d53dd7a')
- version('1.1-0', sha256='21b37e251da5635ae91668f64b4c6f6a7ccedbe1f01af769d30fb532af83113e')
- version('1.0-10', sha256='618a1c67a30536d54b1e48ba3af46a6edcd6c2abef17935b5d4ba526a43aff55')
- version('1.0-9', sha256='d8318a172ce2b9f7f284dc297c8a8d5093de8eccbb566c8e7580e70938dfae0f')
- version('1.0-8', sha256='478f109fcc1226500ead8e3bd6e047cecde2294fde4df8ec216d38313db79a9d')
- version('1.0-7', sha256='29e126344daccbebc7df68924730ae4159a0faad77f86302070920684ba6070e')
+ version("1.1-1", sha256="edf3ab16b142f4c52d21fc64e41409ed138e5b3e142f2fae964b00f02d53dd7a")
+ version("1.1-0", sha256="21b37e251da5635ae91668f64b4c6f6a7ccedbe1f01af769d30fb532af83113e")
+ version("1.0-10", sha256="618a1c67a30536d54b1e48ba3af46a6edcd6c2abef17935b5d4ba526a43aff55")
+ version("1.0-9", sha256="d8318a172ce2b9f7f284dc297c8a8d5093de8eccbb566c8e7580e70938dfae0f")
+ version("1.0-8", sha256="478f109fcc1226500ead8e3bd6e047cecde2294fde4df8ec216d38313db79a9d")
+ version("1.0-7", sha256="29e126344daccbebc7df68924730ae4159a0faad77f86302070920684ba6070e")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.1-0:')
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.1-0:")
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-threejs/package.py b/var/spack/repos/builtin/packages/r-threejs/package.py
index 0501f6b473..996fb1073b 100644
--- a/var/spack/repos/builtin/packages/r-threejs/package.py
+++ b/var/spack/repos/builtin/packages/r-threejs/package.py
@@ -14,15 +14,15 @@ class RThreejs(RPackage):
cran = "threejs"
- version('0.3.3', sha256='76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c')
- version('0.3.1', sha256='71750b741672a435ecf749b69c72f0681aa8bb795e317f4e3056d5e33f6d79e8')
- version('0.2.2', sha256='41fe949490fbe0f71e39b0a144791da427bd7361d027579cb4a002ed53520cc5')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r-igraph@1.0.0:', type=('build', 'run'), when='@0.3.1:')
- depends_on('r-htmlwidgets@0.3.2:', type=('build', 'run'))
- depends_on('r-base64enc', type=('build', 'run'))
- depends_on('r-crosstalk', type=('build', 'run'), when='@0.3.1:')
-
- depends_on('r-matrix', type=('build', 'run'), when='@0.2.2')
- depends_on('r-jsonlite', type=('build', 'run'), when='@0.2.2')
+ version("0.3.3", sha256="76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c")
+ version("0.3.1", sha256="71750b741672a435ecf749b69c72f0681aa8bb795e317f4e3056d5e33f6d79e8")
+ version("0.2.2", sha256="41fe949490fbe0f71e39b0a144791da427bd7361d027579cb4a002ed53520cc5")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r-igraph@1.0.0:", type=("build", "run"), when="@0.3.1:")
+ depends_on("r-htmlwidgets@0.3.2:", type=("build", "run"))
+ depends_on("r-base64enc", type=("build", "run"))
+ depends_on("r-crosstalk", type=("build", "run"), when="@0.3.1:")
+
+ depends_on("r-matrix", type=("build", "run"), when="@0.2.2")
+ depends_on("r-jsonlite", type=("build", "run"), when="@0.2.2")
diff --git a/var/spack/repos/builtin/packages/r-tibble/package.py b/var/spack/repos/builtin/packages/r-tibble/package.py
index 2030c4162a..b8fce28d58 100644
--- a/var/spack/repos/builtin/packages/r-tibble/package.py
+++ b/var/spack/repos/builtin/packages/r-tibble/package.py
@@ -14,41 +14,41 @@ class RTibble(RPackage):
cran = "tibble"
- version('3.1.7', sha256='e1a50891f476803526960b4c4d736a72e7d9c3d366946744a02d6347f591c872')
- version('3.1.6', sha256='5b33d909f146ebad38e262f6a57cb91ab70bfe240c2af01004beec11b3898292')
- version('3.1.5', sha256='da6387ba683a67cd7fc2a111f6b62468e480a8078bc1867d433a40c5460edbe7')
- version('3.0.5', sha256='1cc92d7bf5ecf8291718682fb7fcb96f6f87751f1ed101a7441cad5120195190')
- version('2.1.3', sha256='9a8cea9e6b5d24a7e9bf5f67ab38c40b2b6489eddb0d0edb8a48a21ba3574e1a')
- version('2.0.1', sha256='7ab2cc295eecf00a5310993c99853cd6622ad468e7a60d004b8a73957a713d13')
- version('2.0.0', sha256='05ad2d62e949909548c4bb8ac596810321f11b330afa9717d0889dc35edd99ba')
- version('1.4.2', sha256='11670353ff7059a55066dd075d1534d6a27bc5c3583fb9bc291bf750a75c5b17')
- version('1.4.1', sha256='32267fae1ca86abdd37c4683f9d2b1a47b8b65e1977ea3900aa197066c57aa29')
- version('1.3.4', sha256='a7eef7018a68fc07c17c583fb7821a08d6bc381f5961258bffaa6ef6b137760b')
- version('1.2', sha256='ed8a8bd0591223f742be80fd1cd8c4a9618d0f04011ec95c272b61ea45193104')
- version('1.1', sha256='10ea18890e5514faa4c2c05fa231a6e2bbb7689f3800850cead214306414c88e')
-
- depends_on('r@3.1.2:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-ellipsis@0.2.0:', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-ellipsis@0.3.2:', type=('build', 'run'), when='@3.1.2:')
- depends_on('r-fansi@0.4.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-lifecycle@0.2.0:', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@3.1.5:')
- depends_on('r-magrittr', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-pillar@1.3.1:', type=('build', 'run'), when='@1.4.1:')
- depends_on('r-pillar@1.4.3:', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-pillar@1.6.0:', type=('build', 'run'), when='@3.1.0:')
- depends_on('r-pillar@1.6.2:', type=('build', 'run'), when='@3.1.4:')
- depends_on('r-pillar@1.7.0:', type=('build', 'run'), when='@3.1.7:')
- depends_on('r-pkgconfig', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-rlang@0.3.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-rlang@0.4.3:', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-rlang@1.0.1:', type=('build', 'run'), when='@3.1.7:')
- depends_on('r-vctrs@0.3.2:', type=('build', 'run'), when='@3.0.5:')
- depends_on('r-vctrs@0.3.8:', type=('build', 'run'), when='@3.1.2:')
-
- depends_on('r-cli', type=('build', 'run'), when='@1.4.2:3.0')
- depends_on('r-crayon@1.3.4:', type=('build', 'run'), when='@1.4.1:3.0')
- depends_on('r-assertthat', type=('build', 'run'), when='@:1.3.1')
- depends_on('r-lazyeval@0.1.10:', type=('build', 'run'), when='@:1.3.0')
- depends_on('r-rcpp@0.12.3:', type=('build', 'run'), when='@:1.3.4')
+ version("3.1.7", sha256="e1a50891f476803526960b4c4d736a72e7d9c3d366946744a02d6347f591c872")
+ version("3.1.6", sha256="5b33d909f146ebad38e262f6a57cb91ab70bfe240c2af01004beec11b3898292")
+ version("3.1.5", sha256="da6387ba683a67cd7fc2a111f6b62468e480a8078bc1867d433a40c5460edbe7")
+ version("3.0.5", sha256="1cc92d7bf5ecf8291718682fb7fcb96f6f87751f1ed101a7441cad5120195190")
+ version("2.1.3", sha256="9a8cea9e6b5d24a7e9bf5f67ab38c40b2b6489eddb0d0edb8a48a21ba3574e1a")
+ version("2.0.1", sha256="7ab2cc295eecf00a5310993c99853cd6622ad468e7a60d004b8a73957a713d13")
+ version("2.0.0", sha256="05ad2d62e949909548c4bb8ac596810321f11b330afa9717d0889dc35edd99ba")
+ version("1.4.2", sha256="11670353ff7059a55066dd075d1534d6a27bc5c3583fb9bc291bf750a75c5b17")
+ version("1.4.1", sha256="32267fae1ca86abdd37c4683f9d2b1a47b8b65e1977ea3900aa197066c57aa29")
+ version("1.3.4", sha256="a7eef7018a68fc07c17c583fb7821a08d6bc381f5961258bffaa6ef6b137760b")
+ version("1.2", sha256="ed8a8bd0591223f742be80fd1cd8c4a9618d0f04011ec95c272b61ea45193104")
+ version("1.1", sha256="10ea18890e5514faa4c2c05fa231a6e2bbb7689f3800850cead214306414c88e")
+
+ depends_on("r@3.1.2:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-ellipsis@0.2.0:", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-ellipsis@0.3.2:", type=("build", "run"), when="@3.1.2:")
+ depends_on("r-fansi@0.4.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-lifecycle@0.2.0:", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@3.1.5:")
+ depends_on("r-magrittr", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-pillar@1.3.1:", type=("build", "run"), when="@1.4.1:")
+ depends_on("r-pillar@1.4.3:", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-pillar@1.6.0:", type=("build", "run"), when="@3.1.0:")
+ depends_on("r-pillar@1.6.2:", type=("build", "run"), when="@3.1.4:")
+ depends_on("r-pillar@1.7.0:", type=("build", "run"), when="@3.1.7:")
+ depends_on("r-pkgconfig", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-rlang@0.3.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-rlang@0.4.3:", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-rlang@1.0.1:", type=("build", "run"), when="@3.1.7:")
+ depends_on("r-vctrs@0.3.2:", type=("build", "run"), when="@3.0.5:")
+ depends_on("r-vctrs@0.3.8:", type=("build", "run"), when="@3.1.2:")
+
+ depends_on("r-cli", type=("build", "run"), when="@1.4.2:3.0")
+ depends_on("r-crayon@1.3.4:", type=("build", "run"), when="@1.4.1:3.0")
+ depends_on("r-assertthat", type=("build", "run"), when="@:1.3.1")
+ depends_on("r-lazyeval@0.1.10:", type=("build", "run"), when="@:1.3.0")
+ depends_on("r-rcpp@0.12.3:", type=("build", "run"), when="@:1.3.4")
diff --git a/var/spack/repos/builtin/packages/r-tictoc/package.py b/var/spack/repos/builtin/packages/r-tictoc/package.py
index 4230c60546..825f0a5acf 100644
--- a/var/spack/repos/builtin/packages/r-tictoc/package.py
+++ b/var/spack/repos/builtin/packages/r-tictoc/package.py
@@ -20,8 +20,8 @@ class RTictoc(RPackage):
cran = "tictoc"
- version('1.0.1', sha256='a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705')
- version('1.0', sha256='47da097c1822caa2d8e262381987cfa556ad901131eb96109752742526b2e2fe')
+ version("1.0.1", sha256="a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705")
+ version("1.0", sha256="47da097c1822caa2d8e262381987cfa556ad901131eb96109752742526b2e2fe")
- depends_on('r@3.0.3:', type=('build', 'run'), when='@1.0.1:')
- depends_on('r@3.0.3:4.0', type=('build', 'run'), when='@1.0')
+ depends_on("r@3.0.3:", type=("build", "run"), when="@1.0.1:")
+ depends_on("r@3.0.3:4.0", type=("build", "run"), when="@1.0")
diff --git a/var/spack/repos/builtin/packages/r-tidycensus/package.py b/var/spack/repos/builtin/packages/r-tidycensus/package.py
index 64399faefc..ab5f7e7a3f 100644
--- a/var/spack/repos/builtin/packages/r-tidycensus/package.py
+++ b/var/spack/repos/builtin/packages/r-tidycensus/package.py
@@ -18,30 +18,30 @@ class RTidycensus(RPackage):
cran = "tidycensus"
- version('1.2.2', sha256='5cdbb92314061c9d8d3d62f623699fa115d7faae1f4a961d55ab905538f8e7cc')
- version('1.2.1', sha256='b42f113c7925f8ad350f24077f6ed4d2c31d5fff45efd94639109478174a396c')
- version('1.1', sha256='8914fdec64a86896f1faa3a92272d1cd008a194af4cd86eba2d69df5707062c0')
- version('0.11', sha256='da2fba4cd987615dedd22f64d9f38804f4e2161af31bacf1f3b5a013d71fdd43')
- version('0.9.2', sha256='2454525301caff9eaaf6ebe14f58706ece1fbace6187ce8bf3fff04c842b9536')
- version('0.3.1', sha256='d03cbee7abbf87bb4ce2e649726bdd143d47b549f30b5a11aaaa6c4aff78e778')
+ version("1.2.2", sha256="5cdbb92314061c9d8d3d62f623699fa115d7faae1f4a961d55ab905538f8e7cc")
+ version("1.2.1", sha256="b42f113c7925f8ad350f24077f6ed4d2c31d5fff45efd94639109478174a396c")
+ version("1.1", sha256="8914fdec64a86896f1faa3a92272d1cd008a194af4cd86eba2d69df5707062c0")
+ version("0.11", sha256="da2fba4cd987615dedd22f64d9f38804f4e2161af31bacf1f3b5a013d71fdd43")
+ version("0.9.2", sha256="2454525301caff9eaaf6ebe14f58706ece1fbace6187ce8bf3fff04c842b9536")
+ version("0.3.1", sha256="d03cbee7abbf87bb4ce2e649726bdd143d47b549f30b5a11aaaa6c4aff78e778")
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-dplyr@0.7.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.0:', type=('build', 'run'), when='@0.11:')
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@1.1:')
- depends_on('r-tigris', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-jsonlite@1.5.0:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-rvest', type=('build', 'run'))
- depends_on('r-tidyr@0.7.0:', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'), when='@0.11:')
- depends_on('r-rappdirs', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'))
- depends_on('r-xml2', type=('build', 'run'))
- depends_on('r-units', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'), when='@0.11:')
- depends_on('r-crayon', type=('build', 'run'), when='@1.1:')
- depends_on('r-tidyselect', type=('build', 'run'), when='@1.2.1:')
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-dplyr@0.7.0:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.0:", type=("build", "run"), when="@0.11:")
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@1.1:")
+ depends_on("r-tigris", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-jsonlite@1.5.0:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-rvest", type=("build", "run"))
+ depends_on("r-tidyr@0.7.0:", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"), when="@0.11:")
+ depends_on("r-rappdirs", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"))
+ depends_on("r-xml2", type=("build", "run"))
+ depends_on("r-units", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"), when="@0.11:")
+ depends_on("r-crayon", type=("build", "run"), when="@1.1:")
+ depends_on("r-tidyselect", type=("build", "run"), when="@1.2.1:")
diff --git a/var/spack/repos/builtin/packages/r-tidygraph/package.py b/var/spack/repos/builtin/packages/r-tidygraph/package.py
index d75e31c406..85f9682316 100644
--- a/var/spack/repos/builtin/packages/r-tidygraph/package.py
+++ b/var/spack/repos/builtin/packages/r-tidygraph/package.py
@@ -17,20 +17,20 @@ class RTidygraph(RPackage):
cran = "tidygraph"
- version('1.2.1', sha256='2fbdc2db18c5ad48c72f14d2d04111f4b0d4c434ad87c280eda3bcb98673ad36')
- version('1.2.0', sha256='057d6c42fc0144109f3ace7f5058cca7b2fe493c761daa991448b23f86b6129f')
- version('1.1.2', sha256='5642001d4cccb122d66481b7c61a06c724c02007cbd356ee61cb29726a56fafe')
-
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-dplyr@0.8:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.5:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-igraph', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-r6', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-pillar', type=('build', 'run'))
- depends_on('r-cli', type=('build', 'run'), when='@1.2.1:')
- depends_on('r-cpp11', type=('build', 'run'), when='@1.2.1:')
-
- depends_on('r-rcpp', type=('build', 'run'), when='@:1.2.0')
+ version("1.2.1", sha256="2fbdc2db18c5ad48c72f14d2d04111f4b0d4c434ad87c280eda3bcb98673ad36")
+ version("1.2.0", sha256="057d6c42fc0144109f3ace7f5058cca7b2fe493c761daa991448b23f86b6129f")
+ version("1.1.2", sha256="5642001d4cccb122d66481b7c61a06c724c02007cbd356ee61cb29726a56fafe")
+
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-dplyr@0.8:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.5:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-igraph", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-r6", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-pillar", type=("build", "run"))
+ depends_on("r-cli", type=("build", "run"), when="@1.2.1:")
+ depends_on("r-cpp11", type=("build", "run"), when="@1.2.1:")
+
+ depends_on("r-rcpp", type=("build", "run"), when="@:1.2.0")
diff --git a/var/spack/repos/builtin/packages/r-tidyr/package.py b/var/spack/repos/builtin/packages/r-tidyr/package.py
index 9a2c62cbee..125d765aab 100644
--- a/var/spack/repos/builtin/packages/r-tidyr/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyr/package.py
@@ -19,34 +19,34 @@ class RTidyr(RPackage):
cran = "tidyr"
- version('1.2.0', sha256='8cd01da9e97827521d01ea50b9225f2705c46b7538bbf74bec6249a04c1213a8')
- version('1.1.4', sha256='0b0c98be98a433e15a2550f60330b31a58529a9c58bc2abd7bff6462ab761241')
- version('1.1.2', sha256='08fccb67824515b33187886f3ca2cf2fe747a778514892dbbf5e565edf0dfd6c')
- version('0.8.3', sha256='a18f54ec35124110058ab23f7e0a3c037a8d50f0405520cf5cc5443ec022cc37')
- version('0.8.2', sha256='99a508d0539390364789c5f4835b36c4a383927f0ec1648e2a4636c1cc6e490f')
- version('0.7.2', sha256='062cea2e2b57fffd500e4ce31cba6d593e65684fc0897ea49ea38d257c76009c')
- version('0.5.1', sha256='dbab642ac7231cbfe3e2a0d4553fb4ffb3699c6d6b432be2bb5812dfbbdbdace')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-dplyr@0.7.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.2:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-dplyr@1.0.0:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-ellipsis@0.1.0:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tibble@2.1.1:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-tidyselect@0.2.5:', type=('build', 'run'))
- depends_on('r-tidyselect@1.1.0:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-vctrs@0.3.6:', type=('build', 'run'), when='@1.1.3:')
- depends_on('r-vctrs@0.3.7:', type=('build', 'run'), when='@1.2.0:')
- depends_on('r-cpp11@0.2.1:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-cpp11@0.2.6:', type=('build', 'run'), when='@1.1.3:')
- depends_on('r-cpp11@0.4.0:', type=('build', 'run'), when='@1.2.0:')
-
- depends_on('r-stringi', type=('build', 'run'), when='@:0.8.3')
- depends_on('r-rcpp', type=('build', 'run'), when='@:0.8.3')
+ version("1.2.0", sha256="8cd01da9e97827521d01ea50b9225f2705c46b7538bbf74bec6249a04c1213a8")
+ version("1.1.4", sha256="0b0c98be98a433e15a2550f60330b31a58529a9c58bc2abd7bff6462ab761241")
+ version("1.1.2", sha256="08fccb67824515b33187886f3ca2cf2fe747a778514892dbbf5e565edf0dfd6c")
+ version("0.8.3", sha256="a18f54ec35124110058ab23f7e0a3c037a8d50f0405520cf5cc5443ec022cc37")
+ version("0.8.2", sha256="99a508d0539390364789c5f4835b36c4a383927f0ec1648e2a4636c1cc6e490f")
+ version("0.7.2", sha256="062cea2e2b57fffd500e4ce31cba6d593e65684fc0897ea49ea38d257c76009c")
+ version("0.5.1", sha256="dbab642ac7231cbfe3e2a0d4553fb4ffb3699c6d6b432be2bb5812dfbbdbdace")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-dplyr@0.7.0:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.2:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-dplyr@1.0.0:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-ellipsis@0.1.0:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tibble@2.1.1:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-tidyselect@0.2.5:", type=("build", "run"))
+ depends_on("r-tidyselect@1.1.0:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-vctrs@0.3.6:", type=("build", "run"), when="@1.1.3:")
+ depends_on("r-vctrs@0.3.7:", type=("build", "run"), when="@1.2.0:")
+ depends_on("r-cpp11@0.2.1:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-cpp11@0.2.6:", type=("build", "run"), when="@1.1.3:")
+ depends_on("r-cpp11@0.4.0:", type=("build", "run"), when="@1.2.0:")
+
+ depends_on("r-stringi", type=("build", "run"), when="@:0.8.3")
+ depends_on("r-rcpp", type=("build", "run"), when="@:0.8.3")
diff --git a/var/spack/repos/builtin/packages/r-tidyselect/package.py b/var/spack/repos/builtin/packages/r-tidyselect/package.py
index c9914ab2d6..d1d75e99e3 100644
--- a/var/spack/repos/builtin/packages/r-tidyselect/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyselect/package.py
@@ -15,23 +15,23 @@ class RTidyselect(RPackage):
cran = "tidyselect"
- version('1.1.2', sha256='0389a3b15417954a30d6d692f6ebdd3d0f318cb94a5c9b05365df2f4ea1d8270')
- version('1.1.1', sha256='18eb6a6746196a81ce19ee6cbf1db0c33f494177b97e2419312ef25a00ae486b')
- version('1.1.0', sha256='e635ed381fb53f7a53c3fa36bb33e134a3273d272367de2a8d909c821be93893')
- version('0.2.5', sha256='5ce2e86230fa35cfc09aa71dcdd6e05e1554a5739c863ca354d241bfccb86c74')
- version('0.2.4', sha256='5cb30e56ad5c1ac59786969edc8d542a7a1735a129a474f585a141aefe6a2295')
- version('0.2.3', sha256='0c193abc8251a60e1d2a32a99c77651c336bc185e3c2a72e5f8781813d181c2c')
-
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-ellipsis', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-purrr@0.3.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rlang@0.2.2:', type=('build', 'run'))
- depends_on('r-rlang@0.4.6:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-rlang@1.0.1:', type=('build', 'run'), when='@1.1.2:')
- depends_on('r-vctrs@0.2.2:', type=('build', 'run'), when='@1.1.0:')
- depends_on('r-vctrs@0.3.0:', type=('build', 'run'), when='@1.1.1:')
-
- depends_on('r-rcpp@0.12.0:', type=('build', 'run'), when='@:0.2.5')
+ version("1.1.2", sha256="0389a3b15417954a30d6d692f6ebdd3d0f318cb94a5c9b05365df2f4ea1d8270")
+ version("1.1.1", sha256="18eb6a6746196a81ce19ee6cbf1db0c33f494177b97e2419312ef25a00ae486b")
+ version("1.1.0", sha256="e635ed381fb53f7a53c3fa36bb33e134a3273d272367de2a8d909c821be93893")
+ version("0.2.5", sha256="5ce2e86230fa35cfc09aa71dcdd6e05e1554a5739c863ca354d241bfccb86c74")
+ version("0.2.4", sha256="5cb30e56ad5c1ac59786969edc8d542a7a1735a129a474f585a141aefe6a2295")
+ version("0.2.3", sha256="0c193abc8251a60e1d2a32a99c77651c336bc185e3c2a72e5f8781813d181c2c")
+
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-ellipsis", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-purrr@0.3.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rlang@0.2.2:", type=("build", "run"))
+ depends_on("r-rlang@0.4.6:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-rlang@1.0.1:", type=("build", "run"), when="@1.1.2:")
+ depends_on("r-vctrs@0.2.2:", type=("build", "run"), when="@1.1.0:")
+ depends_on("r-vctrs@0.3.0:", type=("build", "run"), when="@1.1.1:")
+
+ depends_on("r-rcpp@0.12.0:", type=("build", "run"), when="@:0.2.5")
diff --git a/var/spack/repos/builtin/packages/r-tidytree/package.py b/var/spack/repos/builtin/packages/r-tidytree/package.py
index d4554172ae..288a081e39 100644
--- a/var/spack/repos/builtin/packages/r-tidytree/package.py
+++ b/var/spack/repos/builtin/packages/r-tidytree/package.py
@@ -16,17 +16,17 @@ class RTidytree(RPackage):
cran = "tidytree"
- version('0.3.9', sha256='12435d4f4c4d734b2a758cb13eb3b44bdfa8fdfa79a6e81fb99f7ce3a5d82edf')
- version('0.3.7', sha256='7816f2d48ec94ca0c1bef15ec3d536adf44a969ea3c3cfc203ceebe16808e4f2')
+ version("0.3.9", sha256="12435d4f4c4d734b2a758cb13eb3b44bdfa8fdfa79a6e81fb99f7ce3a5d82edf")
+ version("0.3.7", sha256="7816f2d48ec94ca0c1bef15ec3d536adf44a969ea3c3cfc203ceebe16808e4f2")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-lazyeval', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidyr', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('r-yulab-utils@0.0.4:', type=('build', 'run'))
- depends_on('r-pillar', type=('build', 'run'), when='@0.3.9:')
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-lazyeval", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidyr", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("r-yulab-utils@0.0.4:", type=("build", "run"))
+ depends_on("r-pillar", type=("build", "run"), when="@0.3.9:")
diff --git a/var/spack/repos/builtin/packages/r-tidyverse/package.py b/var/spack/repos/builtin/packages/r-tidyverse/package.py
index 7351bf2e75..83a00274d4 100644
--- a/var/spack/repos/builtin/packages/r-tidyverse/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyverse/package.py
@@ -17,86 +17,86 @@ class RTidyverse(RPackage):
cran = "tidyverse"
- version('1.3.1', sha256='83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632')
- version('1.3.0', sha256='6d8acb81e994f9bef5e4dcf908bcea3786d108adcf982628235b6c8c80f6fe09')
- version('1.2.1', sha256='ad67a27bb4e89417a15338fe1a40251a7b5dedba60e9b72637963d3de574c37b')
+ version("1.3.1", sha256="83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632")
+ version("1.3.0", sha256="6d8acb81e994f9bef5e4dcf908bcea3786d108adcf982628235b6c8c80f6fe09")
+ version("1.2.1", sha256="ad67a27bb4e89417a15338fe1a40251a7b5dedba60e9b72637963d3de574c37b")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r@3.3:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-broom@0.4.2:', type=('build', 'run'))
- depends_on('r-broom@0.5.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-broom@0.7.6:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-cli@1.0.0:', type=('build', 'run'))
- depends_on('r-cli@1.1.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-cli@2.4.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-crayon@1.3.4:', type=('build', 'run'))
- depends_on('r-crayon@1.4.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-dbplyr@1.1.0:', type=('build', 'run'))
- depends_on('r-dbplyr@1.4.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-dbplyr@2.1.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-dplyr@0.7.4:', type=('build', 'run'))
- depends_on('r-dplyr@0.8.3:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-dplyr@1.0.5:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-dtplyr@1.1.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-forcats@0.2.0:', type=('build', 'run'))
- depends_on('r-forcats@0.4.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-forcats@0.5.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-googledrive@1.0.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-googlesheets4@0.3.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-ggplot2@2.2.1:', type=('build', 'run'))
- depends_on('r-ggplot2@3.2.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-ggplot2@3.3.3:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-haven@1.1.0:', type=('build', 'run'))
- depends_on('r-haven@2.2.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-haven@2.3.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-hms@0.3:', type=('build', 'run'))
- depends_on('r-hms@0.5.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-hms@1.0.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-httr@1.3.1:', type=('build', 'run'))
- depends_on('r-httr@1.4.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-httr@1.4.2:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-jsonlite@1.5:', type=('build', 'run'))
- depends_on('r-jsonlite@1.6:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-jsonlite@1.7.2:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-lubridate@1.7.1:', type=('build', 'run'))
- depends_on('r-lubridate@1.7.4:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-lubridate@1.7.10:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-magrittr@2.0.1:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-modelr@0.1.1:', type=('build', 'run'))
- depends_on('r-modelr@0.1.5:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-modelr@0.1.8:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-pillar@1.4.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-pillar@1.6.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-purrr@0.2.4:', type=('build', 'run'))
- depends_on('r-purrr@0.3.3:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-purrr@0.3.4:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-readr@1.1.1:', type=('build', 'run'))
- depends_on('r-readr@1.3.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-readr@1.4.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-readxl@1.0.0:', type=('build', 'run'))
- depends_on('r-readxl@1.3.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-reprex@0.1.1:', type=('build', 'run'))
- depends_on('r-reprex@0.3.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-reprex@2.0.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-rlang@0.1.4:', type=('build', 'run'))
- depends_on('r-rlang@0.4.1:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-rstudioapi@0.7:', type=('build', 'run'))
- depends_on('r-rstudioapi@0.10:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-rstudioapi@0.13:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-rvest@0.3.2:', type=('build', 'run'))
- depends_on('r-rvest@0.3.5:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-rvest@1.0.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-stringr@1.2.0:', type=('build', 'run'))
- depends_on('r-stringr@1.4.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-tibble@1.3.4:', type=('build', 'run'))
- depends_on('r-tibble@2.1.3:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-tibble@3.1.0:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-tidyr@0.7.2:', type=('build', 'run'))
- depends_on('r-tidyr@1.0.0:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-tidyr@1.1.3:', type=('build', 'run'), when='@1.3.1:')
- depends_on('r-xml2@1.1.1:', type=('build', 'run'))
- depends_on('r-xml2@1.2.2:', type=('build', 'run'), when='@1.3.0:')
- depends_on('r-xml2@1.3.2:', type=('build', 'run'), when='@1.3.1:')
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r@3.3:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-broom@0.4.2:", type=("build", "run"))
+ depends_on("r-broom@0.5.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-broom@0.7.6:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-cli@1.0.0:", type=("build", "run"))
+ depends_on("r-cli@1.1.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-cli@2.4.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-crayon@1.3.4:", type=("build", "run"))
+ depends_on("r-crayon@1.4.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-dbplyr@1.1.0:", type=("build", "run"))
+ depends_on("r-dbplyr@1.4.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-dbplyr@2.1.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-dplyr@0.7.4:", type=("build", "run"))
+ depends_on("r-dplyr@0.8.3:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-dplyr@1.0.5:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-dtplyr@1.1.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-forcats@0.2.0:", type=("build", "run"))
+ depends_on("r-forcats@0.4.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-forcats@0.5.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-googledrive@1.0.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-googlesheets4@0.3.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-ggplot2@2.2.1:", type=("build", "run"))
+ depends_on("r-ggplot2@3.2.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-ggplot2@3.3.3:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-haven@1.1.0:", type=("build", "run"))
+ depends_on("r-haven@2.2.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-haven@2.3.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-hms@0.3:", type=("build", "run"))
+ depends_on("r-hms@0.5.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-hms@1.0.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-httr@1.3.1:", type=("build", "run"))
+ depends_on("r-httr@1.4.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-httr@1.4.2:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-jsonlite@1.5:", type=("build", "run"))
+ depends_on("r-jsonlite@1.6:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-jsonlite@1.7.2:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-lubridate@1.7.1:", type=("build", "run"))
+ depends_on("r-lubridate@1.7.4:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-lubridate@1.7.10:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-magrittr@1.5:", type=("build", "run"))
+ depends_on("r-magrittr@2.0.1:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-modelr@0.1.1:", type=("build", "run"))
+ depends_on("r-modelr@0.1.5:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-modelr@0.1.8:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-pillar@1.4.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-pillar@1.6.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-purrr@0.2.4:", type=("build", "run"))
+ depends_on("r-purrr@0.3.3:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-purrr@0.3.4:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-readr@1.1.1:", type=("build", "run"))
+ depends_on("r-readr@1.3.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-readr@1.4.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-readxl@1.0.0:", type=("build", "run"))
+ depends_on("r-readxl@1.3.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-reprex@0.1.1:", type=("build", "run"))
+ depends_on("r-reprex@0.3.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-reprex@2.0.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-rlang@0.1.4:", type=("build", "run"))
+ depends_on("r-rlang@0.4.1:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-rstudioapi@0.7:", type=("build", "run"))
+ depends_on("r-rstudioapi@0.10:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-rstudioapi@0.13:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-rvest@0.3.2:", type=("build", "run"))
+ depends_on("r-rvest@0.3.5:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-rvest@1.0.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-stringr@1.2.0:", type=("build", "run"))
+ depends_on("r-stringr@1.4.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-tibble@1.3.4:", type=("build", "run"))
+ depends_on("r-tibble@2.1.3:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-tibble@3.1.0:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-tidyr@0.7.2:", type=("build", "run"))
+ depends_on("r-tidyr@1.0.0:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-tidyr@1.1.3:", type=("build", "run"), when="@1.3.1:")
+ depends_on("r-xml2@1.1.1:", type=("build", "run"))
+ depends_on("r-xml2@1.2.2:", type=("build", "run"), when="@1.3.0:")
+ depends_on("r-xml2@1.3.2:", type=("build", "run"), when="@1.3.1:")
diff --git a/var/spack/repos/builtin/packages/r-tiff/package.py b/var/spack/repos/builtin/packages/r-tiff/package.py
index a369d4751a..3335e46fb5 100644
--- a/var/spack/repos/builtin/packages/r-tiff/package.py
+++ b/var/spack/repos/builtin/packages/r-tiff/package.py
@@ -15,11 +15,11 @@ class RTiff(RPackage):
cran = "tiff"
- version('0.1-11', sha256='b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75')
- version('0.1-10', sha256='535154e89e85e14fe697469d2c59826a44c7937e7eca2eaca1aee6b0fe320afe')
- version('0.1-6', sha256='623bd9c16a426df7e6056738c5d91da86ea9b49df375eea6b5127e4e458dc4fb')
- version('0.1-5', sha256='9514e6a9926fcddc29ce1dd12b1072ad8265900373f738de687ef4a1f9124e2b')
+ version("0.1-11", sha256="b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75")
+ version("0.1-10", sha256="535154e89e85e14fe697469d2c59826a44c7937e7eca2eaca1aee6b0fe320afe")
+ version("0.1-6", sha256="623bd9c16a426df7e6056738c5d91da86ea9b49df375eea6b5127e4e458dc4fb")
+ version("0.1-5", sha256="9514e6a9926fcddc29ce1dd12b1072ad8265900373f738de687ef4a1f9124e2b")
- depends_on('r@2.9.0:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
depends_on("libtiff")
depends_on("jpeg")
diff --git a/var/spack/repos/builtin/packages/r-tigris/package.py b/var/spack/repos/builtin/packages/r-tigris/package.py
index fa6b1d5ad7..fb85a61bee 100644
--- a/var/spack/repos/builtin/packages/r-tigris/package.py
+++ b/var/spack/repos/builtin/packages/r-tigris/package.py
@@ -14,24 +14,24 @@ class RTigris(RPackage):
cran = "tigris"
- version('1.6.1', sha256='927e8da3f7120bcc10f0b4ded95687512693e069f082eea7aea6302a2f1b2db2')
- version('1.6', sha256='fa14fbbaf44f5ade1cc92e6e4e4ed2e775bc7c106310711d16b0135a948a1661')
- version('1.5', sha256='5ef71ca83817ad6b97ee86d1e560e8e86ee21bdcb1807ce40c945b3213c04472')
- version('1.0', sha256='97c76568c7cf0615abcbf923a0b4387f6b8c1915b9eb42d0c34cb0f707654403')
- version('0.8.2', sha256='ed8d6ab25332c2cc800858d58324bd8264772d8a916a3f0a8d489250a7e7140e')
- version('0.5.3', sha256='6ecf76f82216798465cd9704acb432caea47469ffc4953f1aaefa4d642a28445')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.6.1:')
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rgdal', type=('build', 'run'))
- depends_on('r-sp', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'))
- depends_on('r-maptools', type=('build', 'run'))
- depends_on('r-httr', type=('build', 'run'))
- depends_on('r-uuid', type=('build', 'run'))
- depends_on('r-sf', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
-
- depends_on('r-rgeos', type=('build', 'run'), when='@:0.5.3')
+ version("1.6.1", sha256="927e8da3f7120bcc10f0b4ded95687512693e069f082eea7aea6302a2f1b2db2")
+ version("1.6", sha256="fa14fbbaf44f5ade1cc92e6e4e4ed2e775bc7c106310711d16b0135a948a1661")
+ version("1.5", sha256="5ef71ca83817ad6b97ee86d1e560e8e86ee21bdcb1807ce40c945b3213c04472")
+ version("1.0", sha256="97c76568c7cf0615abcbf923a0b4387f6b8c1915b9eb42d0c34cb0f707654403")
+ version("0.8.2", sha256="ed8d6ab25332c2cc800858d58324bd8264772d8a916a3f0a8d489250a7e7140e")
+ version("0.5.3", sha256="6ecf76f82216798465cd9704acb432caea47469ffc4953f1aaefa4d642a28445")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.6.1:")
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rgdal", type=("build", "run"))
+ depends_on("r-sp", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"))
+ depends_on("r-maptools", type=("build", "run"))
+ depends_on("r-httr", type=("build", "run"))
+ depends_on("r-uuid", type=("build", "run"))
+ depends_on("r-sf", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+
+ depends_on("r-rgeos", type=("build", "run"), when="@:0.5.3")
diff --git a/var/spack/repos/builtin/packages/r-timedate/package.py b/var/spack/repos/builtin/packages/r-timedate/package.py
index 8ce6e308a1..b55247523c 100644
--- a/var/spack/repos/builtin/packages/r-timedate/package.py
+++ b/var/spack/repos/builtin/packages/r-timedate/package.py
@@ -21,8 +21,8 @@ class RTimedate(RPackage):
cran = "timeDate"
- version('3043.102', sha256='377cba03cddab8c6992e31d0683c1db3a73afa9834eee3e95b3b0723f02d7473')
- version('3042.101', sha256='6c8d4c7689b31c6a43555d9c7258516556ba03b132e5643691e3e317b89a8c6d')
- version('3012.100', sha256='6262ef7ca9f5eeb9db8229d6bb7a51d46d467a4fa73e2ccc5b4b78e18780c432')
+ version("3043.102", sha256="377cba03cddab8c6992e31d0683c1db3a73afa9834eee3e95b3b0723f02d7473")
+ version("3042.101", sha256="6c8d4c7689b31c6a43555d9c7258516556ba03b132e5643691e3e317b89a8c6d")
+ version("3012.100", sha256="6262ef7ca9f5eeb9db8229d6bb7a51d46d467a4fa73e2ccc5b4b78e18780c432")
- depends_on('r@2.15.1:', type=('build', 'run'))
+ depends_on("r@2.15.1:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tinytex/package.py b/var/spack/repos/builtin/packages/r-tinytex/package.py
index ea8474879a..534d0327d1 100644
--- a/var/spack/repos/builtin/packages/r-tinytex/package.py
+++ b/var/spack/repos/builtin/packages/r-tinytex/package.py
@@ -18,14 +18,14 @@ class RTinytex(RPackage):
cran = "tinytex"
- version('0.39', sha256='f22e9b77c200fe44cc073b759c2b2bc3310a2382d897282548aa02dcbabc25ed')
- version('0.37', sha256='2f4f330711fd6cd96927c18f2f649487b8a83a06ed04b5928a0067163e7948d9')
- version('0.36', sha256='65e6c1b981686573dd406e97b9639224cc2640d55a59d6381360449f10763b78')
- version('0.32', sha256='70fa28195ae6c8b8d43790205b49745c5a062aab78e64cec39bfbe5ed604c29f')
- version('0.28', sha256='76a0650aeab04eb252dc9cfa9ba855d88b09dfc2207c4a8ea2ea04fa0e0eea86')
- version('0.15', sha256='5d0988d3b7f763dfa65c722f177452a21344e428415a4b31aeb51478f0abad90')
+ version("0.39", sha256="f22e9b77c200fe44cc073b759c2b2bc3310a2382d897282548aa02dcbabc25ed")
+ version("0.37", sha256="2f4f330711fd6cd96927c18f2f649487b8a83a06ed04b5928a0067163e7948d9")
+ version("0.36", sha256="65e6c1b981686573dd406e97b9639224cc2640d55a59d6381360449f10763b78")
+ version("0.32", sha256="70fa28195ae6c8b8d43790205b49745c5a062aab78e64cec39bfbe5ed604c29f")
+ version("0.28", sha256="76a0650aeab04eb252dc9cfa9ba855d88b09dfc2207c4a8ea2ea04fa0e0eea86")
+ version("0.15", sha256="5d0988d3b7f763dfa65c722f177452a21344e428415a4b31aeb51478f0abad90")
- depends_on('r-xfun@0.5:', type=('build', 'run'))
- depends_on('r-xfun@0.19:', type=('build', 'run'), when='@0.28:')
- depends_on('r-xfun@0.23:', type=('build', 'run'), when='@0.32:')
- depends_on('r-xfun@0.29:', type=('build', 'run'), when='@0.36:')
+ depends_on("r-xfun@0.5:", type=("build", "run"))
+ depends_on("r-xfun@0.19:", type=("build", "run"), when="@0.28:")
+ depends_on("r-xfun@0.23:", type=("build", "run"), when="@0.32:")
+ depends_on("r-xfun@0.29:", type=("build", "run"), when="@0.36:")
diff --git a/var/spack/repos/builtin/packages/r-tmixclust/package.py b/var/spack/repos/builtin/packages/r-tmixclust/package.py
index 80ea59a497..c66dc11902 100644
--- a/var/spack/repos/builtin/packages/r-tmixclust/package.py
+++ b/var/spack/repos/builtin/packages/r-tmixclust/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class RTmixclust(RPackage):
"""Time Series Clustering of Gene Expression with Gaussian Mixed-Effects
- Models and Smoothing Splines.
+ Models and Smoothing Splines.
- Implementation of a clustering method for time series gene expression
- data based on mixed-effects models with Gaussian variables and non-
- parametric cubic splines estimation. The method can robustly account for
- the high levels of noise present in typical gene expression time series
- datasets."""
+ Implementation of a clustering method for time series gene expression
+ data based on mixed-effects models with Gaussian variables and non-
+ parametric cubic splines estimation. The method can robustly account for
+ the high levels of noise present in typical gene expression time series
+ datasets."""
bioc = "TMixClust"
- version('1.18.0', commit='71f80a7ace481f46471f36c91223effb85e17186')
- version('1.16.0', commit='e525cfd9c729a73a1964c243e5c34c37343f7bfa')
- version('1.12.0', commit='982b31bd7e22a3dc638bbda0336546220444f0c2')
- version('1.6.0', commit='9f5f78e52538d15f402c8f6e4c60f7212c7bc548')
- version('1.4.0', commit='a52fcae6e7a5dd41e7afbe128f35397e8bc8cb12')
- version('1.2.0', commit='0250c0b238f08077b5b9ff17c2f3b7633c67dc3c')
- version('1.0.1', commit='0ac800210e3eb9da911767a80fb5582ab33c0cad')
+ version("1.18.0", commit="71f80a7ace481f46471f36c91223effb85e17186")
+ version("1.16.0", commit="e525cfd9c729a73a1964c243e5c34c37343f7bfa")
+ version("1.12.0", commit="982b31bd7e22a3dc638bbda0336546220444f0c2")
+ version("1.6.0", commit="9f5f78e52538d15f402c8f6e4c60f7212c7bc548")
+ version("1.4.0", commit="a52fcae6e7a5dd41e7afbe128f35397e8bc8cb12")
+ version("1.2.0", commit="0250c0b238f08077b5b9ff17c2f3b7633c67dc3c")
+ version("1.0.1", commit="0ac800210e3eb9da911767a80fb5582ab33c0cad")
- depends_on('r@3.4:', type=('build', 'run'))
- depends_on('r-gss', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-biocparallel', type=('build', 'run'))
- depends_on('r-flexclust', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-spem', type=('build', 'run'))
+ depends_on("r@3.4:", type=("build", "run"))
+ depends_on("r-gss", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-biocparallel", type=("build", "run"))
+ depends_on("r-flexclust", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-spem", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tmvnsim/package.py b/var/spack/repos/builtin/packages/r-tmvnsim/package.py
index be47382b25..5c8f8d8965 100644
--- a/var/spack/repos/builtin/packages/r-tmvnsim/package.py
+++ b/var/spack/repos/builtin/packages/r-tmvnsim/package.py
@@ -21,4 +21,4 @@ class RTmvnsim(RPackage):
cran = "tmvnsim"
- version('1.0-2', sha256='97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f')
+ version("1.0-2", sha256="97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f")
diff --git a/var/spack/repos/builtin/packages/r-topgo/package.py b/var/spack/repos/builtin/packages/r-topgo/package.py
index bb948deb71..b7832224a2 100644
--- a/var/spack/repos/builtin/packages/r-topgo/package.py
+++ b/var/spack/repos/builtin/packages/r-topgo/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class RTopgo(RPackage):
"""Enrichment Analysis for Gene Ontology.
- topGO package provides tools for testing GO terms while accounting for
- the topology of the GO graph. Different test statistics and different
- methods for eliminating local similarities and dependencies between GO
- terms can be implemented and applied."""
+ topGO package provides tools for testing GO terms while accounting for
+ the topology of the GO graph. Different test statistics and different
+ methods for eliminating local similarities and dependencies between GO
+ terms can be implemented and applied."""
bioc = "topGO"
- version('2.48.0', commit='a47f0079319c7d74db4aeda6399e06f12a34b585')
- version('2.46.0', commit='2bfa9dff41fff261aa6188f8368aebd6e8250b18')
- version('2.42.0', commit='3a33cf53883de45bda506953303e1809ab982adc')
- version('2.36.0', commit='c2f6c187b41c4aa44cc92ac781fdd878491a4019')
- version('2.34.0', commit='44cb5eaba515b365b7b2a8c22df0a45883db6b4d')
- version('2.32.0', commit='78ce3068fc06ae38d55219759fa177e2fcb3f596')
- version('2.30.1', commit='b1469ce1d198ccb73ef79ca22cab81659e16dbaa')
- version('2.28.0', commit='066a975d460046cce33fb27e74e6a0ebc33fd716')
+ version("2.48.0", commit="a47f0079319c7d74db4aeda6399e06f12a34b585")
+ version("2.46.0", commit="2bfa9dff41fff261aa6188f8368aebd6e8250b18")
+ version("2.42.0", commit="3a33cf53883de45bda506953303e1809ab982adc")
+ version("2.36.0", commit="c2f6c187b41c4aa44cc92ac781fdd878491a4019")
+ version("2.34.0", commit="44cb5eaba515b365b7b2a8c22df0a45883db6b4d")
+ version("2.32.0", commit="78ce3068fc06ae38d55219759fa177e2fcb3f596")
+ version("2.30.1", commit="b1469ce1d198ccb73ef79ca22cab81659e16dbaa")
+ version("2.28.0", commit="066a975d460046cce33fb27e74e6a0ebc33fd716")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.13.6:', type=('build', 'run'))
- depends_on('r-graph@1.14.0:', type=('build', 'run'))
- depends_on('r-biobase@2.0.0:', type=('build', 'run'))
- depends_on('r-go-db@2.3.0:', type=('build', 'run'))
- depends_on('r-annotationdbi@1.7.19:', type=('build', 'run'))
- depends_on('r-sparsem@0.73:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-dbi', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.13.6:", type=("build", "run"))
+ depends_on("r-graph@1.14.0:", type=("build", "run"))
+ depends_on("r-biobase@2.0.0:", type=("build", "run"))
+ depends_on("r-go-db@2.3.0:", type=("build", "run"))
+ depends_on("r-annotationdbi@1.7.19:", type=("build", "run"))
+ depends_on("r-sparsem@0.73:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-dbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-treeio/package.py b/var/spack/repos/builtin/packages/r-treeio/package.py
index a1e3a0e1af..64b8dce420 100644
--- a/var/spack/repos/builtin/packages/r-treeio/package.py
+++ b/var/spack/repos/builtin/packages/r-treeio/package.py
@@ -18,15 +18,15 @@ class RTreeio(RPackage):
bioc = "treeio"
- version('1.20.0', commit='5f7c3704fc8202c52451d092148fdcfe683f026a')
- version('1.18.1', commit='a06b6b3d2a64f1b22c6c8c5f97c08f5863349c83')
+ version("1.20.0", commit="5f7c3704fc8202c52451d092148fdcfe683f026a")
+ version("1.18.1", commit="a06b6b3d2a64f1b22c6c8c5f97c08f5863349c83")
- depends_on('r@3.6.0:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-tidytree@0.3.0:', type=('build', 'run'))
- depends_on('r-tidytree@0.3.9:', type=('build', 'run'), when='@1.20.0:')
+ depends_on("r@3.6.0:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-tidytree@0.3.0:", type=("build", "run"))
+ depends_on("r-tidytree@0.3.9:", type=("build", "run"), when="@1.20.0:")
diff --git a/var/spack/repos/builtin/packages/r-triebeard/package.py b/var/spack/repos/builtin/packages/r-triebeard/package.py
index 4424b1aac4..fa3a58b44b 100644
--- a/var/spack/repos/builtin/packages/r-triebeard/package.py
+++ b/var/spack/repos/builtin/packages/r-triebeard/package.py
@@ -16,6 +16,6 @@ class RTriebeard(RPackage):
cran = "triebeard"
- version('0.3.0', sha256='bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3')
+ version("0.3.0", sha256="bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3")
- depends_on('r-rcpp', type=('build', 'run'))
+ depends_on("r-rcpp", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-trimcluster/package.py b/var/spack/repos/builtin/packages/r-trimcluster/package.py
index 43a6e1f27c..c524d40e3c 100644
--- a/var/spack/repos/builtin/packages/r-trimcluster/package.py
+++ b/var/spack/repos/builtin/packages/r-trimcluster/package.py
@@ -14,8 +14,8 @@ class RTrimcluster(RPackage):
cran = "trimcluster"
- version('0.1-5', sha256='9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b')
- version('0.1-2.1', sha256='b64a872a6c2ad677dfeecc776c9fe5aff3e8bab6bc6a8c86957b5683fd5d2300')
- version('0.1-2', sha256='622fb61580cc19b9061c6ee28ffd751250a127f07904b45a0e1c5438d25b4f53')
+ version("0.1-5", sha256="9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b")
+ version("0.1-2.1", sha256="b64a872a6c2ad677dfeecc776c9fe5aff3e8bab6bc6a8c86957b5683fd5d2300")
+ version("0.1-2", sha256="622fb61580cc19b9061c6ee28ffd751250a127f07904b45a0e1c5438d25b4f53")
- depends_on('r@1.9.0:', type=('build', 'run'))
+ depends_on("r@1.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-truncdist/package.py b/var/spack/repos/builtin/packages/r-truncdist/package.py
index e775a4cea8..de4cf8f110 100644
--- a/var/spack/repos/builtin/packages/r-truncdist/package.py
+++ b/var/spack/repos/builtin/packages/r-truncdist/package.py
@@ -19,7 +19,7 @@ class RTruncdist(RPackage):
cran = "truncdist"
- version('1.0-2', sha256='b848b68bdd983bd496fa7327632ffa8add8d2231229b8af5c8bc29d823e1300a')
+ version("1.0-2", sha256="b848b68bdd983bd496fa7327632ffa8add8d2231229b8af5c8bc29d823e1300a")
- depends_on('r@2.0.1:', type=('build', 'run'))
- depends_on('r-evd', type=('build', 'run'))
+ depends_on("r@2.0.1:", type=("build", "run"))
+ depends_on("r-evd", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-truncnorm/package.py b/var/spack/repos/builtin/packages/r-truncnorm/package.py
index cdf8877a22..be26217b52 100644
--- a/var/spack/repos/builtin/packages/r-truncnorm/package.py
+++ b/var/spack/repos/builtin/packages/r-truncnorm/package.py
@@ -14,8 +14,8 @@ class RTruncnorm(RPackage):
cran = "truncnorm"
- version('1.0-8', sha256='49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e')
- version('1.0.0', sha256='dc1b018cb6d9ad5beb2d9e2f3ebe56c3f69d7a98fc5a1d963dd7933d209ac272')
+ version("1.0-8", sha256="49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e")
+ version("1.0.0", sha256="dc1b018cb6d9ad5beb2d9e2f3ebe56c3f69d7a98fc5a1d963dd7933d209ac272")
- depends_on('r@2.7.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0-8:')
+ depends_on("r@2.7.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0-8:")
diff --git a/var/spack/repos/builtin/packages/r-trust/package.py b/var/spack/repos/builtin/packages/r-trust/package.py
index acab05da66..f5b8373d22 100644
--- a/var/spack/repos/builtin/packages/r-trust/package.py
+++ b/var/spack/repos/builtin/packages/r-trust/package.py
@@ -14,7 +14,7 @@ class RTrust(RPackage):
cran = "trust"
- version('0.1-8', sha256='952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac')
- version('0.1-7', sha256='e3d15aa84a71becd2824253d4a8156bdf1ab9ac3b72ced0cd53f3bb370ac6f04')
+ version("0.1-8", sha256="952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac")
+ version("0.1-7", sha256="e3d15aa84a71becd2824253d4a8156bdf1ab9ac3b72ced0cd53f3bb370ac6f04")
- depends_on('r@2.10.0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tseries/package.py b/var/spack/repos/builtin/packages/r-tseries/package.py
index ef1b160fc0..f6e1467a7c 100644
--- a/var/spack/repos/builtin/packages/r-tseries/package.py
+++ b/var/spack/repos/builtin/packages/r-tseries/package.py
@@ -11,14 +11,14 @@ class RTseries(RPackage):
cran = "tseries"
- version('0.10-51', sha256='a55f20704883710ab58ea479e20cf0f263c50d54282f693793cda4af664c207f')
- version('0.10-49', sha256='45bf26d8f41f12a72954bbe5fb6f4da6cc4ef29ee075c49fe7cc8456926c14ba')
- version('0.10-48', sha256='53bd22708c936205c5f839a10f2e302524d2cc54dc309e7d885ebd081ccb4471')
- version('0.10-47', sha256='202377df56806fe611c2e12c4d9732c71b71220726e2defa7e568d2b5b62fb7b')
- version('0.10-46', sha256='12940afd1d466401160e46f993ed4baf28a42cef98d3757b66ee15e916e07222')
- version('0.10-42', sha256='827f79858715c700e8cabd2c27853ba88ad0e05eb043bc94e126b155a75546c4')
+ version("0.10-51", sha256="a55f20704883710ab58ea479e20cf0f263c50d54282f693793cda4af664c207f")
+ version("0.10-49", sha256="45bf26d8f41f12a72954bbe5fb6f4da6cc4ef29ee075c49fe7cc8456926c14ba")
+ version("0.10-48", sha256="53bd22708c936205c5f839a10f2e302524d2cc54dc309e7d885ebd081ccb4471")
+ version("0.10-47", sha256="202377df56806fe611c2e12c4d9732c71b71220726e2defa7e568d2b5b62fb7b")
+ version("0.10-46", sha256="12940afd1d466401160e46f993ed4baf28a42cef98d3757b66ee15e916e07222")
+ version("0.10-42", sha256="827f79858715c700e8cabd2c27853ba88ad0e05eb043bc94e126b155a75546c4")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-quadprog', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-quantmod@0.4-9:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-quadprog", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-quantmod@0.4-9:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tsne/package.py b/var/spack/repos/builtin/packages/r-tsne/package.py
index 0e56746905..a6a77af4e9 100644
--- a/var/spack/repos/builtin/packages/r-tsne/package.py
+++ b/var/spack/repos/builtin/packages/r-tsne/package.py
@@ -13,7 +13,7 @@ class RTsne(RPackage):
cran = "tsne"
- version('0.1-3.1', sha256='14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888')
- version('0.1-3', sha256='66fdf5d73e69594af529a9c4f261d972872b9b7bffd19f85c1adcd66afd80c69')
- version('0.1-2', sha256='c6c3455e0f0f5dcac14299b3dfeb1a5f1bfe5623cdaf602afc892491d3d1058b')
- version('0.1-1', sha256='c953991215a660cf144e55848d2507bcf7932618e164b0e56901fb33831fd1d3')
+ version("0.1-3.1", sha256="14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888")
+ version("0.1-3", sha256="66fdf5d73e69594af529a9c4f261d972872b9b7bffd19f85c1adcd66afd80c69")
+ version("0.1-2", sha256="c6c3455e0f0f5dcac14299b3dfeb1a5f1bfe5623cdaf602afc892491d3d1058b")
+ version("0.1-1", sha256="c953991215a660cf144e55848d2507bcf7932618e164b0e56901fb33831fd1d3")
diff --git a/var/spack/repos/builtin/packages/r-ttr/package.py b/var/spack/repos/builtin/packages/r-ttr/package.py
index 1347a8a64b..8bfa714aa6 100644
--- a/var/spack/repos/builtin/packages/r-ttr/package.py
+++ b/var/spack/repos/builtin/packages/r-ttr/package.py
@@ -15,12 +15,12 @@ class RTtr(RPackage):
cran = "TTR"
- version('0.24.3', sha256='4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87')
- version('0.24.2', sha256='2587b988d9199474a19470b9b999b99133d0d8aa45410813e05c5f0ed763711b')
- version('0.23-4', sha256='eb17604da986213b3b924f0af65c3d089502a658a253ee34f6b8f6caccf6bfa2')
- version('0.23-3', sha256='2136032c7a2cd2a82518a4412fc655ecb16597b123dbdebe5684caef9f15261f')
- version('0.23-1', sha256='699798f06ceae9663da47b67d1bc8679fc1c0776d12afd054d6ac4d19e05b2ae')
+ version("0.24.3", sha256="4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87")
+ version("0.24.2", sha256="2587b988d9199474a19470b9b999b99133d0d8aa45410813e05c5f0ed763711b")
+ version("0.23-4", sha256="eb17604da986213b3b924f0af65c3d089502a658a253ee34f6b8f6caccf6bfa2")
+ version("0.23-3", sha256="2136032c7a2cd2a82518a4412fc655ecb16597b123dbdebe5684caef9f15261f")
+ version("0.23-1", sha256="699798f06ceae9663da47b67d1bc8679fc1c0776d12afd054d6ac4d19e05b2ae")
- depends_on('r-xts@0.10-0:', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
- depends_on('r-curl', type=('build', 'run'), when='@0.23-4:')
+ depends_on("r-xts@0.10-0:", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
+ depends_on("r-curl", type=("build", "run"), when="@0.23-4:")
diff --git a/var/spack/repos/builtin/packages/r-tweenr/package.py b/var/spack/repos/builtin/packages/r-tweenr/package.py
index a268d88835..c06f1374ad 100644
--- a/var/spack/repos/builtin/packages/r-tweenr/package.py
+++ b/var/spack/repos/builtin/packages/r-tweenr/package.py
@@ -17,11 +17,11 @@ class RTweenr(RPackage):
cran = "tweenr"
- version('1.0.2', sha256='1805f575da6705ca4e5ec1c4605222fc826ba806d9ff9af41770294fe08ff69f')
- version('1.0.1', sha256='efd68162cd6d5a4f6d833dbf785a2bbce1cb7b9f90ba3fb060931a4bd705096b')
+ version("1.0.2", sha256="1805f575da6705ca4e5ec1c4605222fc826ba806d9ff9af41770294fe08ff69f")
+ version("1.0.1", sha256="efd68162cd6d5a4f6d833dbf785a2bbce1cb7b9f90ba3fb060931a4bd705096b")
- depends_on('r@3.2.0:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.3:', type=('build', 'run'))
- depends_on('r-farver', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
+ depends_on("r@3.2.0:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.3:", type=("build", "run"))
+ depends_on("r-farver", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
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 e0c83d19d7..0b0b455599 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
@@ -16,7 +16,7 @@ class RTxdbHsapiensUcscHg18Knowngene(RPackage):
bioc = "TxDb.Hsapiens.UCSC.hg18.knownGene"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/TxDb.Hsapiens.UCSC.hg18.knownGene_3.2.2.tar.gz"
- version('3.2.2', sha256='bc9ca40b4eab87f5ca64a4b876d42502b9b8e9f5983d745bfe0ee349d97b69fa')
+ version("3.2.2", sha256="bc9ca40b4eab87f5ca64a4b876d42502b9b8e9f5983d745bfe0ee349d97b69fa")
- depends_on('r-genomicfeatures@1.21.30:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
+ depends_on("r-genomicfeatures@1.21.30:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg19-knowngene/package.py b/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg19-knowngene/package.py
index c2911850fa..bb059d09c1 100644
--- a/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg19-knowngene/package.py
+++ b/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg19-knowngene/package.py
@@ -16,7 +16,7 @@ class RTxdbHsapiensUcscHg19Knowngene(RPackage):
bioc = "TxDb.Hsapiens.UCSC.hg19.knownGene"
url = "https://bioconductor.org/packages/release/data/annotation/src/contrib/TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2.tar.gz"
- version('3.2.2', sha256='063de2b1174782a0b2b8ab7f04a0bdf3c43252cb67c685a9f8ef2b8e318352e9')
+ version("3.2.2", sha256="063de2b1174782a0b2b8ab7f04a0bdf3c43252cb67c685a9f8ef2b8e318352e9")
- depends_on('r-genomicfeatures@1.21.30:', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
+ depends_on("r-genomicfeatures@1.21.30:", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-tximport/package.py b/var/spack/repos/builtin/packages/r-tximport/package.py
index 091dcbd1e1..0b86335fdd 100644
--- a/var/spack/repos/builtin/packages/r-tximport/package.py
+++ b/var/spack/repos/builtin/packages/r-tximport/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class RTximport(RPackage):
"""Import and summarize transcript-level estimates for transcript- and
- gene-level analysis.
+ gene-level analysis.
- Imports transcript-level abundance, estimated counts and transcript
- lengths, and summarizes into matrices for use with downstream gene-level
- analysis packages. Average transcript length, weighted by sample-
- specific transcript abundance estimates, is provided as a matrix which
- can be used as an offset for different expression of gene-level
- counts."""
+ Imports transcript-level abundance, estimated counts and transcript
+ lengths, and summarizes into matrices for use with downstream gene-level
+ analysis packages. Average transcript length, weighted by sample-
+ specific transcript abundance estimates, is provided as a matrix which
+ can be used as an offset for different expression of gene-level
+ counts."""
bioc = "tximport"
- version('1.24.0', commit='58524f39bdd55299cfe80a726f99b714b724be20')
- version('1.22.0', commit='335213baee3492fbf6baaa8b4e067ac0ef384684')
- version('1.18.0', commit='58b20cbc566648586b6990b30ebc70bef308cb05')
- version('1.12.3', commit='acbdead961471c3b910d720f73bd0af1b7a07c57')
- version('1.10.1', commit='cd8f81cf7140f61d4a4f25f89451fb49e2cd4bd3')
- version('1.8.0', commit='cc91b8389ca4c16b0f588bdeb63d051a11e8a705')
- version('1.6.0', commit='0b1ba6c6622e02b954812c88454c28e8efb75e0b')
- version('1.4.0', commit='bfbd2436eca21acf212b76a658b49cfb5e116d6b')
+ version("1.24.0", commit="58524f39bdd55299cfe80a726f99b714b724be20")
+ version("1.22.0", commit="335213baee3492fbf6baaa8b4e067ac0ef384684")
+ version("1.18.0", commit="58b20cbc566648586b6990b30ebc70bef308cb05")
+ version("1.12.3", commit="acbdead961471c3b910d720f73bd0af1b7a07c57")
+ version("1.10.1", commit="cd8f81cf7140f61d4a4f25f89451fb49e2cd4bd3")
+ version("1.8.0", commit="cc91b8389ca4c16b0f588bdeb63d051a11e8a705")
+ version("1.6.0", commit="0b1ba6c6622e02b954812c88454c28e8efb75e0b")
+ version("1.4.0", commit="bfbd2436eca21acf212b76a658b49cfb5e116d6b")
diff --git a/var/spack/repos/builtin/packages/r-tximportdata/package.py b/var/spack/repos/builtin/packages/r-tximportdata/package.py
index e55e8da421..3538a4b8ac 100644
--- a/var/spack/repos/builtin/packages/r-tximportdata/package.py
+++ b/var/spack/repos/builtin/packages/r-tximportdata/package.py
@@ -18,6 +18,6 @@ class RTximportdata(RPackage):
bioc = "tximportData"
- version('1.24.0', commit='646f366fb25be359c95dc97c9369961c8d5ed942')
- version('1.22.0', commit='c576b18e43985baf8beab327cbc54afe8324659c')
- version('1.18.0', commit='24945f8dd1e4e441ad5145fb7a37a1630912f929')
+ version("1.24.0", commit="646f366fb25be359c95dc97c9369961c8d5ed942")
+ version("1.22.0", commit="c576b18e43985baf8beab327cbc54afe8324659c")
+ version("1.18.0", commit="24945f8dd1e4e441ad5145fb7a37a1630912f929")
diff --git a/var/spack/repos/builtin/packages/r-tzdb/package.py b/var/spack/repos/builtin/packages/r-tzdb/package.py
index 235481d7f5..10b4141017 100644
--- a/var/spack/repos/builtin/packages/r-tzdb/package.py
+++ b/var/spack/repos/builtin/packages/r-tzdb/package.py
@@ -21,10 +21,10 @@ class RTzdb(RPackage):
cran = "tzdb"
- version('0.3.0', sha256='6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038')
- version('0.2.0', sha256='c335905d452b400af7ed54b916b5246cb3f47ede0602911a2bcb25a1cf56d5a9')
+ version("0.3.0", sha256="6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038")
+ version("0.2.0", sha256="c335905d452b400af7ed54b916b5246cb3f47ede0602911a2bcb25a1cf56d5a9")
- depends_on('r@3.3:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@0.3.0:')
- depends_on('r-cpp11@0.4.0:', type=('build', 'run'))
- depends_on('r-cpp11@0.4.2:', type=('build', 'run'), when='@0.3.0:')
+ depends_on("r@3.3:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@0.3.0:")
+ depends_on("r-cpp11@0.4.0:", type=("build", "run"))
+ depends_on("r-cpp11@0.4.2:", type=("build", "run"), when="@0.3.0:")
diff --git a/var/spack/repos/builtin/packages/r-ucminf/package.py b/var/spack/repos/builtin/packages/r-ucminf/package.py
index bc7958e367..fb747bd0a2 100644
--- a/var/spack/repos/builtin/packages/r-ucminf/package.py
+++ b/var/spack/repos/builtin/packages/r-ucminf/package.py
@@ -17,4 +17,4 @@ class RUcminf(RPackage):
cran = "ucminf"
- version('1.1-4', sha256='a2eb382f9b24e949d982e311578518710f8242070b3aa3314a331c1e1e7f6f07')
+ version("1.1-4", sha256="a2eb382f9b24e949d982e311578518710f8242070b3aa3314a331c1e1e7f6f07")
diff --git a/var/spack/repos/builtin/packages/r-udunits2/package.py b/var/spack/repos/builtin/packages/r-udunits2/package.py
index 09d5139627..d1ddff326d 100644
--- a/var/spack/repos/builtin/packages/r-udunits2/package.py
+++ b/var/spack/repos/builtin/packages/r-udunits2/package.py
@@ -13,9 +13,9 @@ class RUdunits2(RPackage):
cran = "udunits2"
- version('0.13.2.1', sha256='9f5429c04a24930f7d037d506e5b154b6154df69247dcdaa6261075291d7f902')
- version('0.13.2', sha256='ee00898801b3282717cba40a9ef930515506386aa82a050356d1a9c80a9f5969')
- version('0.13', sha256='d155d3c07f6202b65dec4075ffd1e1c3f4f35f5fdece8cfb319d39256a3e5b79')
+ version("0.13.2.1", sha256="9f5429c04a24930f7d037d506e5b154b6154df69247dcdaa6261075291d7f902")
+ version("0.13.2", sha256="ee00898801b3282717cba40a9ef930515506386aa82a050356d1a9c80a9f5969")
+ version("0.13", sha256="d155d3c07f6202b65dec4075ffd1e1c3f4f35f5fdece8cfb319d39256a3e5b79")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('udunits')
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("udunits")
diff --git a/var/spack/repos/builtin/packages/r-units/package.py b/var/spack/repos/builtin/packages/r-units/package.py
index 22b3944594..97c1496d71 100644
--- a/var/spack/repos/builtin/packages/r-units/package.py
+++ b/var/spack/repos/builtin/packages/r-units/package.py
@@ -20,15 +20,15 @@ class RUnits(RPackage):
cran = "units"
- version('0.8-0', sha256='9c46fe138e8c1c3d3a51268776412f02d09673656516148cccb71b1071beb21a')
- version('0.7-2', sha256='b90be023431100632b3081747af9e743e615452b4ad38810991f7b024b7040eb')
- version('0.6-7', sha256='3f73a62bafdbe0f93bbf00ac4b1adb8f919dd04649ff8f1d007f2986e35cb7e5')
- version('0.6-3', sha256='03de88d9dcfe80d22dd3813413f33657c576aed24a8091dbfc7f68602020a64f')
- version('0.6-2', sha256='5e286775d0712c8e15b6ae3a533d4c4349b0f6410c2d9d897ca519c3d0e5f170')
- version('0.4-6', sha256='db383c9b7ec221a5da29a2ddf4f74f9064c44ea2102ea7e07cc1cc5bb30fa1ef')
-
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-rcpp@0.12.10:', type=('build', 'run'))
- depends_on('udunits', when='@0.6-0:')
-
- depends_on('r-udunits2@0.13:', type=('build', 'run'), when='@:0.5-1')
+ version("0.8-0", sha256="9c46fe138e8c1c3d3a51268776412f02d09673656516148cccb71b1071beb21a")
+ version("0.7-2", sha256="b90be023431100632b3081747af9e743e615452b4ad38810991f7b024b7040eb")
+ version("0.6-7", sha256="3f73a62bafdbe0f93bbf00ac4b1adb8f919dd04649ff8f1d007f2986e35cb7e5")
+ version("0.6-3", sha256="03de88d9dcfe80d22dd3813413f33657c576aed24a8091dbfc7f68602020a64f")
+ version("0.6-2", sha256="5e286775d0712c8e15b6ae3a533d4c4349b0f6410c2d9d897ca519c3d0e5f170")
+ version("0.4-6", sha256="db383c9b7ec221a5da29a2ddf4f74f9064c44ea2102ea7e07cc1cc5bb30fa1ef")
+
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r-rcpp@0.12.10:", type=("build", "run"))
+ depends_on("udunits", when="@0.6-0:")
+
+ depends_on("r-udunits2@0.13:", type=("build", "run"), when="@:0.5-1")
diff --git a/var/spack/repos/builtin/packages/r-upsetr/package.py b/var/spack/repos/builtin/packages/r-upsetr/package.py
index bd0cf49e4a..8f15764a26 100644
--- a/var/spack/repos/builtin/packages/r-upsetr/package.py
+++ b/var/spack/repos/builtin/packages/r-upsetr/package.py
@@ -16,10 +16,10 @@ class RUpsetr(RPackage):
cran = "UpSetR"
- version('1.4.0', sha256='351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100')
+ version("1.4.0", sha256="351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-plyr', type=('build', 'run'))
- depends_on('r-scales', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-plyr", type=("build", "run"))
+ depends_on("r-scales", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-urca/package.py b/var/spack/repos/builtin/packages/r-urca/package.py
index da125f82e6..ac638e6c5c 100644
--- a/var/spack/repos/builtin/packages/r-urca/package.py
+++ b/var/spack/repos/builtin/packages/r-urca/package.py
@@ -14,7 +14,7 @@ class RUrca(RPackage):
cran = "urca"
- version('1.3-0', sha256='621cc82398e25b58b4a16edf000ed0a1484d9a0bc458f734e97b6f371cc76aaa')
+ version("1.3-0", sha256="621cc82398e25b58b4a16edf000ed0a1484d9a0bc458f734e97b6f371cc76aaa")
- depends_on('r@2.0.0:', type=('build', 'run'))
- depends_on('r-nlme', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
+ depends_on("r-nlme", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-urltools/package.py b/var/spack/repos/builtin/packages/r-urltools/package.py
index b65e5c879c..667fcef6c2 100644
--- a/var/spack/repos/builtin/packages/r-urltools/package.py
+++ b/var/spack/repos/builtin/packages/r-urltools/package.py
@@ -18,8 +18,8 @@ class RUrltools(RPackage):
cran = "urltools"
- version('1.7.3', sha256='6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313')
+ version("1.7.3", sha256="6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-triebeard', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-triebeard", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-usethis/package.py b/var/spack/repos/builtin/packages/r-usethis/package.py
index c3fcce37bd..7f5acd2018 100644
--- a/var/spack/repos/builtin/packages/r-usethis/package.py
+++ b/var/spack/repos/builtin/packages/r-usethis/package.py
@@ -16,45 +16,45 @@ class RUsethis(RPackage):
cran = "usethis"
- version('2.1.6', sha256='31dc6707577065ac1d4acb7d4cbf135942727c5cc2699092198c544be86f6818')
- version('2.1.5', sha256='7d539e16ecdc1cd45ba1a215d42d8b9c16bc38280ddd27048003dbb37b16f052')
- version('2.0.0', sha256='22aa2b59f36a8701a4648554c7b0e010253bf917a0f431f06efac7d8a6b59854')
- version('1.6.1', sha256='60339059a97ed07dea7f8908b828b5bb42e0fd0b471165c061bc9660b0d59d6f')
- version('1.5.1', sha256='9e3920a04b0df82adf59eef2c1b2b4d835c4a757a51b3c163b8fc619172f561d')
-
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@3.4:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-cli', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-cli@3.0.1:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-clipr@0.3.0:', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-curl@2.7:', type=('build', 'run'))
- depends_on('r-desc', type=('build', 'run'))
- depends_on('r-desc@1.4.0:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-fs@1.3.0:', type=('build', 'run'))
- depends_on('r-gert@1.0.2:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-gert@1.4.1:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-gh', type=('build', 'run'))
- depends_on('r-gh@1.1.0:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-gh@1.2.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-gh@1.2.1:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-glue@1.3.0:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-lifecycle', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-lifecycle@1.0.0:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-purrr', type=('build', 'run'))
- depends_on('r-rappdirs', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-rlang@0.4.3:', type=('build', 'run'), when='@1.6.1:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@2.1.5:')
- depends_on('r-rlang@1.0.0:', type=('build', 'run'), when='@2.1.6:')
- depends_on('r-rprojroot@1.2:', type=('build', 'run'))
- depends_on('r-rstudioapi', type=('build', 'run'))
- depends_on('r-whisker', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-withr@2.3.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-yaml', type=('build', 'run'))
-
- depends_on('r-clisymbols', type=('build', 'run'), when='@:1.5')
- depends_on('r-git2r@0.23:', type=('build', 'run'), when='@:1.6.1')
- depends_on('r-rematch2', type=('build', 'run'), when='@1.6.1')
+ version("2.1.6", sha256="31dc6707577065ac1d4acb7d4cbf135942727c5cc2699092198c544be86f6818")
+ version("2.1.5", sha256="7d539e16ecdc1cd45ba1a215d42d8b9c16bc38280ddd27048003dbb37b16f052")
+ version("2.0.0", sha256="22aa2b59f36a8701a4648554c7b0e010253bf917a0f431f06efac7d8a6b59854")
+ version("1.6.1", sha256="60339059a97ed07dea7f8908b828b5bb42e0fd0b471165c061bc9660b0d59d6f")
+ version("1.5.1", sha256="9e3920a04b0df82adf59eef2c1b2b4d835c4a757a51b3c163b8fc619172f561d")
+
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@3.4:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-cli", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-cli@3.0.1:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-clipr@0.3.0:", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-curl@2.7:", type=("build", "run"))
+ depends_on("r-desc", type=("build", "run"))
+ depends_on("r-desc@1.4.0:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-fs@1.3.0:", type=("build", "run"))
+ depends_on("r-gert@1.0.2:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-gert@1.4.1:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-gh", type=("build", "run"))
+ depends_on("r-gh@1.1.0:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-gh@1.2.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-gh@1.2.1:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-glue@1.3.0:", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-lifecycle", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-lifecycle@1.0.0:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-purrr", type=("build", "run"))
+ depends_on("r-rappdirs", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-rlang@0.4.3:", type=("build", "run"), when="@1.6.1:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@2.1.5:")
+ depends_on("r-rlang@1.0.0:", type=("build", "run"), when="@2.1.6:")
+ depends_on("r-rprojroot@1.2:", type=("build", "run"))
+ depends_on("r-rstudioapi", type=("build", "run"))
+ depends_on("r-whisker", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-withr@2.3.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-yaml", type=("build", "run"))
+
+ depends_on("r-clisymbols", type=("build", "run"), when="@:1.5")
+ depends_on("r-git2r@0.23:", type=("build", "run"), when="@:1.6.1")
+ depends_on("r-rematch2", type=("build", "run"), when="@1.6.1")
diff --git a/var/spack/repos/builtin/packages/r-utf8/package.py b/var/spack/repos/builtin/packages/r-utf8/package.py
index 9667ea6e8f..d3f407a3a5 100644
--- a/var/spack/repos/builtin/packages/r-utf8/package.py
+++ b/var/spack/repos/builtin/packages/r-utf8/package.py
@@ -14,12 +14,12 @@ class RUtf8(RPackage):
cran = "utf8"
- version('1.2.2', sha256='a71aee87d43a9bcf29249c7a5a2e9ca1d2a836e8d5ee3a264d3062f25378d8f4')
- version('1.1.4', sha256='f6da9cadfc683057d45f54b43312a359cf96ec2731c0dda18a8eae31d1e31e54')
- version('1.1.3', sha256='43b394c3274ba0f66719d28dc4a7babeb87187e766de8d8ca716e0548091440f')
- version('1.1.2', sha256='148517aadb75d82aba61f63afe2a30d254abebbdc7e32dd0830e12ff443915b9')
- version('1.1.1', sha256='0e30c824e43cdc0a3339f4688e3271737d02ea10768a46137e0e41936051cb3d')
- version('1.1.0', sha256='6a8ae2c452859800c3ef12993a55892588fc35df8fa1360f3d182ed97244dc4f')
- version('1.0.0', sha256='7562a80262cbc2017eee76c0d3c9575f240fab291f868a11724fa04a116efb80')
+ version("1.2.2", sha256="a71aee87d43a9bcf29249c7a5a2e9ca1d2a836e8d5ee3a264d3062f25378d8f4")
+ version("1.1.4", sha256="f6da9cadfc683057d45f54b43312a359cf96ec2731c0dda18a8eae31d1e31e54")
+ version("1.1.3", sha256="43b394c3274ba0f66719d28dc4a7babeb87187e766de8d8ca716e0548091440f")
+ version("1.1.2", sha256="148517aadb75d82aba61f63afe2a30d254abebbdc7e32dd0830e12ff443915b9")
+ version("1.1.1", sha256="0e30c824e43cdc0a3339f4688e3271737d02ea10768a46137e0e41936051cb3d")
+ version("1.1.0", sha256="6a8ae2c452859800c3ef12993a55892588fc35df8fa1360f3d182ed97244dc4f")
+ version("1.0.0", sha256="7562a80262cbc2017eee76c0d3c9575f240fab291f868a11724fa04a116efb80")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-uuid/package.py b/var/spack/repos/builtin/packages/r-uuid/package.py
index f18fbd5ca9..6c5d3fa734 100644
--- a/var/spack/repos/builtin/packages/r-uuid/package.py
+++ b/var/spack/repos/builtin/packages/r-uuid/package.py
@@ -15,9 +15,9 @@ class RUuid(RPackage):
cran = "uuid"
- version('1.1-0', sha256='e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f')
- version('1.0-3', sha256='456e4633659f20242fd7cd585ad005a3e07265f1d1db383fca6794c8ac2c8346')
- version('0.1-4', sha256='98e0249dda17434bfa209c2058e9911e576963d4599be9f7ea946e664f8ca93e')
- version('0.1-2', sha256='dd71704dc336b0857981b92a75ed9877d4ca47780b1682def28839304cd3b1be')
+ version("1.1-0", sha256="e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f")
+ version("1.0-3", sha256="456e4633659f20242fd7cd585ad005a3e07265f1d1db383fca6794c8ac2c8346")
+ version("0.1-4", sha256="98e0249dda17434bfa209c2058e9911e576963d4599be9f7ea946e664f8ca93e")
+ version("0.1-2", sha256="dd71704dc336b0857981b92a75ed9877d4ca47780b1682def28839304cd3b1be")
- depends_on('r@2.9.0:', type=('build', 'run'))
+ depends_on("r@2.9.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-uwot/package.py b/var/spack/repos/builtin/packages/r-uwot/package.py
index cf83566119..ebb1b30b44 100644
--- a/var/spack/repos/builtin/packages/r-uwot/package.py
+++ b/var/spack/repos/builtin/packages/r-uwot/package.py
@@ -22,19 +22,19 @@ class RUwot(RPackage):
cran = "uwot"
- version('0.1.11', sha256='4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b')
- version('0.1.10', sha256='6ee1b6027bce679cd5a35f647f516a5b327632234bcf323c7f3d5b5e10807d23')
- version('0.1.3', sha256='4936e6922444cae8a71735e945b6bb0828a1012232eb94568054f78451c406d7')
-
- depends_on('r-matrix', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-fnn', type=('build', 'run'))
- depends_on('r-rspectra', type=('build', 'run'))
- depends_on('r-rcppannoy@0.0.11:', type=('build', 'run'))
- depends_on('r-rcppannoy@0.0.17:', type=('build', 'run'), when='@0.1.10:')
- depends_on('r-irlba', type=('build', 'run'))
- depends_on('r-rcppprogress', type=('build', 'run'))
- depends_on('r-dqrng', type=('build', 'run'))
-
- depends_on('r-rcppparallel', type=('build', 'run'), when='@:0.1.3')
- depends_on('gmake', type='build', when='@:0.1.3')
+ version("0.1.11", sha256="4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b")
+ version("0.1.10", sha256="6ee1b6027bce679cd5a35f647f516a5b327632234bcf323c7f3d5b5e10807d23")
+ version("0.1.3", sha256="4936e6922444cae8a71735e945b6bb0828a1012232eb94568054f78451c406d7")
+
+ depends_on("r-matrix", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-fnn", type=("build", "run"))
+ depends_on("r-rspectra", type=("build", "run"))
+ depends_on("r-rcppannoy@0.0.11:", type=("build", "run"))
+ depends_on("r-rcppannoy@0.0.17:", type=("build", "run"), when="@0.1.10:")
+ depends_on("r-irlba", type=("build", "run"))
+ depends_on("r-rcppprogress", type=("build", "run"))
+ depends_on("r-dqrng", type=("build", "run"))
+
+ depends_on("r-rcppparallel", type=("build", "run"), when="@:0.1.3")
+ depends_on("gmake", type="build", when="@:0.1.3")
diff --git a/var/spack/repos/builtin/packages/r-v8/package.py b/var/spack/repos/builtin/packages/r-v8/package.py
index 6e65c8e45b..e2ca692182 100644
--- a/var/spack/repos/builtin/packages/r-v8/package.py
+++ b/var/spack/repos/builtin/packages/r-v8/package.py
@@ -15,21 +15,25 @@ class RV8(RPackage):
cran = "V8"
- version('4.2.0', sha256='6c62fdc974cc30fa975cad4ccb1e3796112fc2490a807f6e3d7878c3a5544743')
- version('4.0.0', sha256='146a4cb671264f865ac2f2e35bfdfb37e2df70e4f6784354fb6e8a80a19dbbc8')
- version('3.6.0', sha256='a3969898bf4a7c13d3130fae0d385cd048d46372ff4a412917b914b159261377')
- version('3.4.0', sha256='f5c8a2a03cc1be9f504f47711a0fcd1b962745139c9fb2a10fbd79c4ae103fbd',
- deprecated=True)
-
- depends_on('r-rcpp@0.12.12:', type=('build', 'run'))
- depends_on('r-jsonlite@1.0:', type=('build', 'run'))
- depends_on('r-curl@1.0:', type=('build', 'run'))
-
- conflicts('@3.4.0', when='target=aarch64:')
- conflicts('@3.4.0', when='%gcc@5:')
+ version("4.2.0", sha256="6c62fdc974cc30fa975cad4ccb1e3796112fc2490a807f6e3d7878c3a5544743")
+ version("4.0.0", sha256="146a4cb671264f865ac2f2e35bfdfb37e2df70e4f6784354fb6e8a80a19dbbc8")
+ version("3.6.0", sha256="a3969898bf4a7c13d3130fae0d385cd048d46372ff4a412917b914b159261377")
+ version(
+ "3.4.0",
+ sha256="f5c8a2a03cc1be9f504f47711a0fcd1b962745139c9fb2a10fbd79c4ae103fbd",
+ deprecated=True,
+ )
+
+ depends_on("r-rcpp@0.12.12:", type=("build", "run"))
+ depends_on("r-jsonlite@1.0:", type=("build", "run"))
+ depends_on("r-curl@1.0:", type=("build", "run"))
+
+ conflicts("@3.4.0", when="target=aarch64:")
+ conflicts("@3.4.0", when="%gcc@5:")
def setup_build_environment(self, env):
spec = self.spec
- if ((spec.platform == 'darwin') or
- (spec.platform == 'linux' and spec.target.family == 'x86_64')):
- env.append_flags('DOWNLOAD_STATIC_LIBV8', '1')
+ if (spec.platform == "darwin") or (
+ spec.platform == "linux" and spec.target.family == "x86_64"
+ ):
+ env.append_flags("DOWNLOAD_STATIC_LIBV8", "1")
diff --git a/var/spack/repos/builtin/packages/r-variantannotation/package.py b/var/spack/repos/builtin/packages/r-variantannotation/package.py
index 5e0136c610..7e5e5ae6cf 100644
--- a/var/spack/repos/builtin/packages/r-variantannotation/package.py
+++ b/var/spack/repos/builtin/packages/r-variantannotation/package.py
@@ -9,60 +9,60 @@ from spack.package import *
class RVariantannotation(RPackage):
"""Annotation of Genetic Variants.
- Annotate variants, compute amino acid coding changes, predict coding
- outcomes."""
+ Annotate variants, compute amino acid coding changes, predict coding
+ outcomes."""
bioc = "VariantAnnotation"
- version('1.42.1', commit='d1121696c76c189d6b4df9914806bf585a495845')
- version('1.40.0', commit='50ead7cb60cedf3c053853fab92d9f104f9f85bd')
- version('1.36.0', commit='9918bd19a2e6f89e5edc5fe03c8812f500bb3e19')
- version('1.30.1', commit='fb1ab00872570afb280522c4663e347dafc07a9e')
- version('1.28.13', commit='0393347b8ce2d5edf1a61589be93e6a93eda3419')
- version('1.26.1', commit='60ae67598cc3d7ed20ee6417920f8c209085faaf')
- version('1.24.5', commit='468d7f53fd743e04c9af853d58e871b4cc13a090')
- version('1.22.3', commit='3a91b6d4297aa416d5f056dec6f8925eb1a8eaee')
+ version("1.42.1", commit="d1121696c76c189d6b4df9914806bf585a495845")
+ version("1.40.0", commit="50ead7cb60cedf3c053853fab92d9f104f9f85bd")
+ version("1.36.0", commit="9918bd19a2e6f89e5edc5fe03c8812f500bb3e19")
+ version("1.30.1", commit="fb1ab00872570afb280522c4663e347dafc07a9e")
+ version("1.28.13", commit="0393347b8ce2d5edf1a61589be93e6a93eda3419")
+ version("1.26.1", commit="60ae67598cc3d7ed20ee6417920f8c209085faaf")
+ version("1.24.5", commit="468d7f53fd743e04c9af853d58e871b4cc13a090")
+ version("1.22.3", commit="3a91b6d4297aa416d5f056dec6f8925eb1a8eaee")
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@1.40.0:')
- depends_on('r-biocgenerics@0.15.3:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@1.40.0:')
- depends_on('r-matrixgenerics', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-genomeinfodb@1.11.4:', type=('build', 'run'))
- depends_on('r-genomeinfodb@1.15.2:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-genomicranges@1.27.6:', type=('build', 'run'))
- depends_on('r-genomicranges@1.31.8:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-genomicranges@1.41.5:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-summarizedexperiment@1.5.3:', type=('build', 'run'))
- depends_on('r-summarizedexperiment@1.19.5:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-rsamtools@1.23.10:', type=('build', 'run'))
- depends_on('r-rsamtools@1.31.2:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-rsamtools@1.33.6:', type=('build', 'run'), when='@1.28.13:')
- depends_on('r-rsamtools@1.99.0:', type=('build', 'run'), when='@1.30.1:')
- depends_on('r-dbi', type=('build', 'run'))
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.17.24:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-iranges@2.3.25:', type=('build', 'run'))
- depends_on('r-iranges@2.13.13:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-xvector@0.5.6:', type=('build', 'run'))
- depends_on('r-xvector@0.19.7:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-xvector@0.29.2:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-biostrings@2.33.5:', type=('build', 'run'))
- depends_on('r-biostrings@2.47.6:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-biostrings@2.57.2:', type=('build', 'run'), when='@1.36.0:')
- depends_on('r-annotationdbi@1.27.9:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.25.16:', type=('build', 'run'))
- depends_on('r-rtracklayer@1.39.7:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-bsgenome@1.37.6:', type=('build', 'run'))
- depends_on('r-bsgenome@1.47.3:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-genomicfeatures@1.27.4:', type=('build', 'run'))
- depends_on('r-genomicfeatures@1.31.3:', type=('build', 'run'), when='@1.26.1:')
- depends_on('r-rhtslib', type=('build', 'run'), when='@1.30.1:')
- depends_on('gmake', type='build')
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@1.40.0:")
+ depends_on("r-biocgenerics@0.15.3:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@1.40.0:")
+ depends_on("r-matrixgenerics", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-genomeinfodb@1.11.4:", type=("build", "run"))
+ depends_on("r-genomeinfodb@1.15.2:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-genomicranges@1.27.6:", type=("build", "run"))
+ depends_on("r-genomicranges@1.31.8:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-genomicranges@1.41.5:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-summarizedexperiment@1.5.3:", type=("build", "run"))
+ depends_on("r-summarizedexperiment@1.19.5:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-rsamtools@1.23.10:", type=("build", "run"))
+ depends_on("r-rsamtools@1.31.2:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-rsamtools@1.33.6:", type=("build", "run"), when="@1.28.13:")
+ depends_on("r-rsamtools@1.99.0:", type=("build", "run"), when="@1.30.1:")
+ depends_on("r-dbi", type=("build", "run"))
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.17.24:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-iranges@2.3.25:", type=("build", "run"))
+ depends_on("r-iranges@2.13.13:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-xvector@0.5.6:", type=("build", "run"))
+ depends_on("r-xvector@0.19.7:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-xvector@0.29.2:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-biostrings@2.33.5:", type=("build", "run"))
+ depends_on("r-biostrings@2.47.6:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-biostrings@2.57.2:", type=("build", "run"), when="@1.36.0:")
+ depends_on("r-annotationdbi@1.27.9:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.25.16:", type=("build", "run"))
+ depends_on("r-rtracklayer@1.39.7:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-bsgenome@1.37.6:", type=("build", "run"))
+ depends_on("r-bsgenome@1.47.3:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-genomicfeatures@1.27.4:", type=("build", "run"))
+ depends_on("r-genomicfeatures@1.31.3:", type=("build", "run"), when="@1.26.1:")
+ depends_on("r-rhtslib", type=("build", "run"), when="@1.30.1:")
+ depends_on("gmake", type="build")
# Not listed but needed
- depends_on('curl')
+ depends_on("curl")
diff --git a/var/spack/repos/builtin/packages/r-varselrf/package.py b/var/spack/repos/builtin/packages/r-varselrf/package.py
index e9fd35be4b..a11d2ecbfc 100644
--- a/var/spack/repos/builtin/packages/r-varselrf/package.py
+++ b/var/spack/repos/builtin/packages/r-varselrf/package.py
@@ -18,7 +18,7 @@ class RVarselrf(RPackage):
cran = "varSelRF"
- version('0.7-8', sha256='719487fb560cb4733816bafe4cbc958a132674825e3b9d4f82ce8f2003cd8940')
+ version("0.7-8", sha256="719487fb560cb4733816bafe4cbc958a132674825e3b9d4f82ce8f2003cd8940")
- depends_on('r@2.0.0:', type=('build', 'run'))
- depends_on('r-randomforest', type=('build', 'run'))
+ depends_on("r@2.0.0:", type=("build", "run"))
+ depends_on("r-randomforest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vcd/package.py b/var/spack/repos/builtin/packages/r-vcd/package.py
index 305f71345b..f0cc78d688 100644
--- a/var/spack/repos/builtin/packages/r-vcd/package.py
+++ b/var/spack/repos/builtin/packages/r-vcd/package.py
@@ -18,13 +18,13 @@ class RVcd(RPackage):
cran = "vcd"
- version('1.4-9', sha256='a5b420ad5ff1a27fa92f98099a8b43f2dded7e5f60297b3e4d947ad6f039568f')
- version('1.4-8', sha256='236fcb183152f6e9d131eeb3931d5a064a5ff79be91e4533df9148fd2ff41e0c')
- version('1.4-4', sha256='a561adf120b5ce41b66e0c0c321542fcddc772eb12b3d7020d86e9cd014ce9d2')
- version('1.4-3', sha256='17ce89927421d9cd01285b6093eeaaecb1e7252388007f66d3b9222e58cc5f15')
- version('1.4-1', sha256='af4c77522efef28271afab7d90679824826132c6bc61abe17df763ed1fc24994')
+ version("1.4-9", sha256="a5b420ad5ff1a27fa92f98099a8b43f2dded7e5f60297b3e4d947ad6f039568f")
+ version("1.4-8", sha256="236fcb183152f6e9d131eeb3931d5a064a5ff79be91e4533df9148fd2ff41e0c")
+ version("1.4-4", sha256="a561adf120b5ce41b66e0c0c321542fcddc772eb12b3d7020d86e9cd014ce9d2")
+ version("1.4-3", sha256="17ce89927421d9cd01285b6093eeaaecb1e7252388007f66d3b9222e58cc5f15")
+ version("1.4-1", sha256="af4c77522efef28271afab7d90679824826132c6bc61abe17df763ed1fc24994")
- depends_on('r@2.4.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-colorspace', type=('build', 'run'))
- depends_on('r-lmtest', type=('build', 'run'))
+ depends_on("r@2.4.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-colorspace", type=("build", "run"))
+ depends_on("r-lmtest", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vcfr/package.py b/var/spack/repos/builtin/packages/r-vcfr/package.py
index 81482b8e90..7aa6db3ff6 100644
--- a/var/spack/repos/builtin/packages/r-vcfr/package.py
+++ b/var/spack/repos/builtin/packages/r-vcfr/package.py
@@ -20,19 +20,19 @@ class RVcfr(RPackage):
cran = "vcfR"
- maintainers = ['dorton21']
-
- version('1.12.0', sha256='dd87ff010365de363864a44ca49887c0fdad0dd18d0d9c66e44e39c2d4581d52')
-
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('r-ape', type=('build', 'run'))
- depends_on('r-dplyr', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-memuse', type=('build', 'run'))
- depends_on('r-pinfsc50', type=('build', 'run'))
- depends_on('r-rcpp', type=('build', 'run'))
- depends_on('r-stringr', type=('build', 'run'))
- depends_on('r-tibble', type=('build', 'run'))
- depends_on('r-vegan', type=('build', 'run'))
- depends_on('r-viridislite', type=('build', 'run'))
- depends_on('zlib')
+ maintainers = ["dorton21"]
+
+ version("1.12.0", sha256="dd87ff010365de363864a44ca49887c0fdad0dd18d0d9c66e44e39c2d4581d52")
+
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("r-ape", type=("build", "run"))
+ depends_on("r-dplyr", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-memuse", type=("build", "run"))
+ depends_on("r-pinfsc50", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "run"))
+ depends_on("r-stringr", type=("build", "run"))
+ depends_on("r-tibble", type=("build", "run"))
+ depends_on("r-vegan", type=("build", "run"))
+ depends_on("r-viridislite", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/r-vctrs/package.py b/var/spack/repos/builtin/packages/r-vctrs/package.py
index e068084a5f..d452afcfd8 100644
--- a/var/spack/repos/builtin/packages/r-vctrs/package.py
+++ b/var/spack/repos/builtin/packages/r-vctrs/package.py
@@ -16,21 +16,21 @@ class RVctrs(RPackage):
cran = "vctrs"
- version('0.4.1', sha256='9676881e009aa1217818f326338e8b35dd9a9438918f8b1ac249f4c8afe460dd')
- version('0.3.8', sha256='7f4e8b75eda115e69dddf714f0643eb889ad61017cdc13af24389aab2a2d1bb1')
- version('0.3.6', sha256='df7d368c9f2d2ad14872ba2a09821ec4f5a8ad77c81a0b05e1f440e5ffebad25')
- version('0.3.5', sha256='11605d98106e294dae1a9b205462dd3906a6159a647150752b85dd290f6635cc')
- version('0.2.0', sha256='5bce8f228182ecaa51230d00ad8a018de9cf2579703e82244e0931fe31f20016')
-
- depends_on('r@3.2:', type=('build', 'run'))
- depends_on('r@3.3:', type=('build', 'run'), when='@0.3.5:')
- depends_on('r-cli@3.2.0:', type=('build', 'run'), when='@0.4.1:')
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-rlang@0.4.0:', type=('build', 'run'))
- depends_on('r-rlang@0.4.7:', type=('build', 'run'), when='@0.3.5:')
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@0.3.7:')
- depends_on('r-rlang@1.0.0:', type=('build', 'run'), when='@0.4.1:')
-
- depends_on('r-digest', type=('build', 'run'), when='@:0.3.6')
- depends_on('r-zeallot', type=('build', 'run'), when='@:0.2.0')
- depends_on('r-ellipsis@0.2.0:', type=('build', 'run'), when='@:0.3.8')
+ version("0.4.1", sha256="9676881e009aa1217818f326338e8b35dd9a9438918f8b1ac249f4c8afe460dd")
+ version("0.3.8", sha256="7f4e8b75eda115e69dddf714f0643eb889ad61017cdc13af24389aab2a2d1bb1")
+ version("0.3.6", sha256="df7d368c9f2d2ad14872ba2a09821ec4f5a8ad77c81a0b05e1f440e5ffebad25")
+ version("0.3.5", sha256="11605d98106e294dae1a9b205462dd3906a6159a647150752b85dd290f6635cc")
+ version("0.2.0", sha256="5bce8f228182ecaa51230d00ad8a018de9cf2579703e82244e0931fe31f20016")
+
+ depends_on("r@3.2:", type=("build", "run"))
+ depends_on("r@3.3:", type=("build", "run"), when="@0.3.5:")
+ depends_on("r-cli@3.2.0:", type=("build", "run"), when="@0.4.1:")
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-rlang@0.4.0:", type=("build", "run"))
+ depends_on("r-rlang@0.4.7:", type=("build", "run"), when="@0.3.5:")
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@0.3.7:")
+ depends_on("r-rlang@1.0.0:", type=("build", "run"), when="@0.4.1:")
+
+ depends_on("r-digest", type=("build", "run"), when="@:0.3.6")
+ depends_on("r-zeallot", type=("build", "run"), when="@:0.2.0")
+ depends_on("r-ellipsis@0.2.0:", type=("build", "run"), when="@:0.3.8")
diff --git a/var/spack/repos/builtin/packages/r-vegan/package.py b/var/spack/repos/builtin/packages/r-vegan/package.py
index f43cb612bd..d10a78ac43 100644
--- a/var/spack/repos/builtin/packages/r-vegan/package.py
+++ b/var/spack/repos/builtin/packages/r-vegan/package.py
@@ -14,18 +14,18 @@ class RVegan(RPackage):
cran = "vegan"
- version('2.6-2', sha256='ab77d110c959d19b0c6268ae0c8f78c897e2419eff3f1f7b19c1bb2f8db7c059')
- version('2.5-7', sha256='e63b586951ea7d8b0118811f329c700212892ec1db3b93951603ce1d68aa462a')
- version('2.5-5', sha256='876b5266f29f3034fed881020d16f476e62d145a00cb450a1a213e019e056971')
- version('2.5-4', sha256='5116a440111fca49b5f95cfe888b180ff29a112e6301d5e2ac5cae0e628493e0')
- version('2.4-3', sha256='2556b1281a62e53f32bb57539bc600c00a599d0699867912220535d1a3ebec97')
+ version("2.6-2", sha256="ab77d110c959d19b0c6268ae0c8f78c897e2419eff3f1f7b19c1bb2f8db7c059")
+ version("2.5-7", sha256="e63b586951ea7d8b0118811f329c700212892ec1db3b93951603ce1d68aa462a")
+ version("2.5-5", sha256="876b5266f29f3034fed881020d16f476e62d145a00cb450a1a213e019e056971")
+ version("2.5-4", sha256="5116a440111fca49b5f95cfe888b180ff29a112e6301d5e2ac5cae0e628493e0")
+ version("2.4-3", sha256="2556b1281a62e53f32bb57539bc600c00a599d0699867912220535d1a3ebec97")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@2.5-1')
- depends_on('r@3.2.0:', type=('build', 'run'), when='@2.5-2:')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@2.5-5:')
- depends_on('r-permute@0.9-0:', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-cluster', type=('build', 'run'))
- depends_on('r-mgcv', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@2.5-1")
+ depends_on("r@3.2.0:", type=("build", "run"), when="@2.5-2:")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@2.5-5:")
+ depends_on("r-permute@0.9-0:", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-cluster", type=("build", "run"))
+ depends_on("r-mgcv", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vfs/package.py b/var/spack/repos/builtin/packages/r-vfs/package.py
index d2dd310be3..283d7756a7 100644
--- a/var/spack/repos/builtin/packages/r-vfs/package.py
+++ b/var/spack/repos/builtin/packages/r-vfs/package.py
@@ -18,8 +18,8 @@ class RVfs(RPackage):
cran = "VFS"
- version('1.0.2', sha256='8ff7e7e13919ff21f10c7c693ef596a2c7b57c7ca37d79278e443ed122a21aad')
+ version("1.0.2", sha256="8ff7e7e13919ff21f10c7c693ef596a2c7b57c7ca37d79278e443ed122a21aad")
- depends_on('r@3.4.0:', type=('build', 'run'))
- depends_on('r-e1071', type=('build', 'run'))
- depends_on('r-nleqslv@3.3.0:', type=('build', 'run'))
+ depends_on("r@3.4.0:", type=("build", "run"))
+ depends_on("r-e1071", type=("build", "run"))
+ depends_on("r-nleqslv@3.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vgam/package.py b/var/spack/repos/builtin/packages/r-vgam/package.py
index 7903d77c2e..1237cbd2d1 100644
--- a/var/spack/repos/builtin/packages/r-vgam/package.py
+++ b/var/spack/repos/builtin/packages/r-vgam/package.py
@@ -28,17 +28,17 @@ class RVgam(RPackage):
cran = "VGAM"
- version('1.1-6', sha256='446a61bac5dd4794e05d20c2f3901eec54afac52c6e23ce2787c5575170dd417')
- version('1.1-5', sha256='30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb')
- version('1.1-1', sha256='de192bd65a7e8818728008de8e60e6dd3b61a13616c887a43e0ccc8147c7da52')
- version('1.0-6', sha256='121820a167411e847b41bdcb0028b55842d0ccc0c3471755c67449837e0fe3b9')
- version('1.0-4', sha256='e581985f78ef8b866d0e810b2727061bb9c9bc177b2c9090aebb3a35ae87a964')
- version('1.0-3', sha256='23bb6690ae15e9ede3198ef55d5d3236c279aa8fa6bd4f7350242379d9d72673')
- version('1.0-2', sha256='03561bf484f97b616b1979132c759c5faa69c5d5a4cfd7aea2ea6d3612ac0961')
- version('1.0-1', sha256='c066864e406fcee23f383a28299dba3cf83356e5b68df16324885afac87a05ea')
- version('1.0-0', sha256='6acdd7db49c0987c565870afe593160ceba72a6ca4a84e6da3cf6f74d1fa02e1')
+ version("1.1-6", sha256="446a61bac5dd4794e05d20c2f3901eec54afac52c6e23ce2787c5575170dd417")
+ version("1.1-5", sha256="30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb")
+ version("1.1-1", sha256="de192bd65a7e8818728008de8e60e6dd3b61a13616c887a43e0ccc8147c7da52")
+ version("1.0-6", sha256="121820a167411e847b41bdcb0028b55842d0ccc0c3471755c67449837e0fe3b9")
+ version("1.0-4", sha256="e581985f78ef8b866d0e810b2727061bb9c9bc177b2c9090aebb3a35ae87a964")
+ version("1.0-3", sha256="23bb6690ae15e9ede3198ef55d5d3236c279aa8fa6bd4f7350242379d9d72673")
+ version("1.0-2", sha256="03561bf484f97b616b1979132c759c5faa69c5d5a4cfd7aea2ea6d3612ac0961")
+ version("1.0-1", sha256="c066864e406fcee23f383a28299dba3cf83356e5b68df16324885afac87a05ea")
+ version("1.0-0", sha256="6acdd7db49c0987c565870afe593160ceba72a6ca4a84e6da3cf6f74d1fa02e1")
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@1.0-2:')
- depends_on('r@3.4.0:', type=('build', 'run'), when='@1.0-4:')
- depends_on('r@3.5.0:', type=('build', 'run'), when='@1.1-5:')
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@1.0-2:")
+ depends_on("r@3.4.0:", type=("build", "run"), when="@1.0-4:")
+ depends_on("r@3.5.0:", type=("build", "run"), when="@1.1-5:")
diff --git a/var/spack/repos/builtin/packages/r-vioplot/package.py b/var/spack/repos/builtin/packages/r-vioplot/package.py
index 1c4c27166b..8fa9610ff9 100644
--- a/var/spack/repos/builtin/packages/r-vioplot/package.py
+++ b/var/spack/repos/builtin/packages/r-vioplot/package.py
@@ -10,14 +10,14 @@ class RVioplot(RPackage):
"""Violin Plot.
A violin plot is a combination of a box plot and a kernel density plot.
- This package allows extensive customisation of violin plots. """
+ This package allows extensive customisation of violin plots."""
cran = "vioplot"
- version('0.3.7', sha256='06475d9a47644245ec91598e9aaef7db1c393802d9fc314420ac5139ae56adb6')
- version('0.3.5', sha256='1b64833c1bd6851036cf1c400c7d0036a047e71def94a399c897263b4b303e2a')
- version('0.3.2', sha256='7b51d0876903a3c315744cb051ac61920eeaa1f0694814959edfae43ce956e8e')
+ version("0.3.7", sha256="06475d9a47644245ec91598e9aaef7db1c393802d9fc314420ac5139ae56adb6")
+ version("0.3.5", sha256="1b64833c1bd6851036cf1c400c7d0036a047e71def94a399c897263b4b303e2a")
+ version("0.3.2", sha256="7b51d0876903a3c315744cb051ac61920eeaa1f0694814959edfae43ce956e8e")
- depends_on('r+X', type=('build', 'run'))
- depends_on('r-sm', type=('build', 'run'))
- depends_on('r-zoo', type=('build', 'run'))
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r-sm", type=("build", "run"))
+ depends_on("r-zoo", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vipor/package.py b/var/spack/repos/builtin/packages/r-vipor/package.py
index 324097cd2f..37a85b0e85 100644
--- a/var/spack/repos/builtin/packages/r-vipor/package.py
+++ b/var/spack/repos/builtin/packages/r-vipor/package.py
@@ -15,7 +15,7 @@ class RVipor(RPackage):
cran = "vipor"
- version('0.4.5', sha256='7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84')
- version('0.4.4', sha256='5abfd7869dae42ae2e4f52206c23433a43b485b1220685e445877ee5864a3f5c')
+ version("0.4.5", sha256="7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84")
+ version("0.4.4", sha256="5abfd7869dae42ae2e4f52206c23433a43b485b1220685e445877ee5864a3f5c")
- depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on("r@3.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-viridis/package.py b/var/spack/repos/builtin/packages/r-viridis/package.py
index f62cd473f0..f4acc488f6 100644
--- a/var/spack/repos/builtin/packages/r-viridis/package.py
+++ b/var/spack/repos/builtin/packages/r-viridis/package.py
@@ -19,13 +19,13 @@ class RViridis(RPackage):
cran = "viridis"
- version('0.6.2', sha256='69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311')
- version('0.5.1', sha256='ddf267515838c6eb092938133035cee62ab6a78760413bfc28b8256165701918')
- version('0.5.0', sha256='fea477172c1e11be40554545260b36d6ddff3fe6bc3bbed87813ffb77c5546cd')
- version('0.4.0', sha256='93d2ded68ed7cec5633c260dbc47051416147aae074f29ebe135cc329250b00e')
+ version("0.6.2", sha256="69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311")
+ version("0.5.1", sha256="ddf267515838c6eb092938133035cee62ab6a78760413bfc28b8256165701918")
+ version("0.5.0", sha256="fea477172c1e11be40554545260b36d6ddff3fe6bc3bbed87813ffb77c5546cd")
+ version("0.4.0", sha256="93d2ded68ed7cec5633c260dbc47051416147aae074f29ebe135cc329250b00e")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r-viridislite@0.3.0:', type=('build', 'run'))
- depends_on('r-viridislite@0.4.0:', type=('build', 'run'), when='@0.6.2:')
- depends_on('r-ggplot2@1.0.1:', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r-viridislite@0.3.0:", type=("build", "run"))
+ depends_on("r-viridislite@0.4.0:", type=("build", "run"), when="@0.6.2:")
+ depends_on("r-ggplot2@1.0.1:", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-viridislite/package.py b/var/spack/repos/builtin/packages/r-viridislite/package.py
index 91b6f7d55d..be17ccd6b0 100644
--- a/var/spack/repos/builtin/packages/r-viridislite/package.py
+++ b/var/spack/repos/builtin/packages/r-viridislite/package.py
@@ -19,8 +19,8 @@ class RViridislite(RPackage):
cran = "viridisLite"
- version('0.4.0', sha256='849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a')
- version('0.3.0', sha256='780ea12e7c4024d5ba9029f3a107321c74b8d6d9165262f6e64b79e00aa0c2af')
- version('0.2.0', sha256='2d4d909f21c51e720bd685f05041ba158294e0a4064e0946d0bd916709818694')
+ version("0.4.0", sha256="849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a")
+ version("0.3.0", sha256="780ea12e7c4024d5ba9029f3a107321c74b8d6d9165262f6e64b79e00aa0c2af")
+ version("0.2.0", sha256="2d4d909f21c51e720bd685f05041ba158294e0a4064e0946d0bd916709818694")
- depends_on('r@2.10:', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-visnetwork/package.py b/var/spack/repos/builtin/packages/r-visnetwork/package.py
index 13bc45e9d4..e7bf0c2780 100644
--- a/var/spack/repos/builtin/packages/r-visnetwork/package.py
+++ b/var/spack/repos/builtin/packages/r-visnetwork/package.py
@@ -14,14 +14,14 @@ class RVisnetwork(RPackage):
cran = "visNetwork"
- version('2.1.0', sha256='a2b91e7fbbd9d08a9929a5b2c891d9c0bca5977ad772fa37510d96656af1152f')
- version('2.0.9', sha256='5e0b3dc3a91e66e0a359433f03cc856d04b981b0f9ad228d8fa9c96b7fcaa420')
- version('2.0.7', sha256='15ad01636a3a19e1901be6743052805a5b6a9ac1240fb3dab765252b1e865128')
- version('2.0.6', sha256='ec2478e6a2af446569ef2d5210a2bc6b2600bcb7fd9908cef8f8c80b01e9c8aa')
- version('1.0.1', sha256='13aacf58d3bf9e78c7fb3af180062762bf22aec1777c829715c5b00396639a70')
+ version("2.1.0", sha256="a2b91e7fbbd9d08a9929a5b2c891d9c0bca5977ad772fa37510d96656af1152f")
+ version("2.0.9", sha256="5e0b3dc3a91e66e0a359433f03cc856d04b981b0f9ad228d8fa9c96b7fcaa420")
+ version("2.0.7", sha256="15ad01636a3a19e1901be6743052805a5b6a9ac1240fb3dab765252b1e865128")
+ version("2.0.6", sha256="ec2478e6a2af446569ef2d5210a2bc6b2600bcb7fd9908cef8f8c80b01e9c8aa")
+ version("1.0.1", sha256="13aacf58d3bf9e78c7fb3af180062762bf22aec1777c829715c5b00396639a70")
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-htmlwidgets', type=('build', 'run'))
- depends_on('r-htmltools', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-htmlwidgets", type=("build", "run"))
+ depends_on("r-htmltools", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vroom/package.py b/var/spack/repos/builtin/packages/r-vroom/package.py
index a06426e478..bed54bc433 100644
--- a/var/spack/repos/builtin/packages/r-vroom/package.py
+++ b/var/spack/repos/builtin/packages/r-vroom/package.py
@@ -17,21 +17,21 @@ class RVroom(RPackage):
cran = "vroom"
- version('1.5.7', sha256='d087cb148f71c222fc89199d03df2502689149873414a6d89c2f006d3a109fde')
- version('1.5.5', sha256='1d45688c08f162a3300eda532d9e87d144f4bc686769a521bf9a12e3d3b465fe')
+ version("1.5.7", sha256="d087cb148f71c222fc89199d03df2502689149873414a6d89c2f006d3a109fde")
+ version("1.5.5", sha256="1d45688c08f162a3300eda532d9e87d144f4bc686769a521bf9a12e3d3b465fe")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-bit64', type=('build', 'run'))
- depends_on('r-crayon', type=('build', 'run'))
- depends_on('r-cli', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-hms', type=('build', 'run'))
- depends_on('r-lifecycle', type=('build', 'run'))
- depends_on('r-rlang@0.4.2:', type=('build', 'run'))
- depends_on('r-tibble@2.0.0:', type=('build', 'run'))
- depends_on('r-tzdb@0.1.1:', type=('build', 'run'))
- depends_on('r-vctrs@0.2.0:', type=('build', 'run'))
- depends_on('r-tidyselect', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
- depends_on('r-progress@1.2.1:', type=('build', 'run'))
- depends_on('r-cpp11@0.2.0:', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-bit64", type=("build", "run"))
+ depends_on("r-crayon", type=("build", "run"))
+ depends_on("r-cli", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-hms", type=("build", "run"))
+ depends_on("r-lifecycle", type=("build", "run"))
+ depends_on("r-rlang@0.4.2:", type=("build", "run"))
+ depends_on("r-tibble@2.0.0:", type=("build", "run"))
+ depends_on("r-tzdb@0.1.1:", type=("build", "run"))
+ depends_on("r-vctrs@0.2.0:", type=("build", "run"))
+ depends_on("r-tidyselect", type=("build", "run"))
+ depends_on("r-withr", type=("build", "run"))
+ depends_on("r-progress@1.2.1:", type=("build", "run"))
+ depends_on("r-cpp11@0.2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-vsn/package.py b/var/spack/repos/builtin/packages/r-vsn/package.py
index f45c220ac0..b3ad289aee 100644
--- a/var/spack/repos/builtin/packages/r-vsn/package.py
+++ b/var/spack/repos/builtin/packages/r-vsn/package.py
@@ -9,37 +9,37 @@ from spack.package import *
class RVsn(RPackage):
"""Variance stabilization and calibration for microarray data.
- The package implements a method for normalising microarray intensities,
- and works for single- and multiple-color arrays. It can also be used for
- data from other technologies, as long as they have similar format. The
- method uses a robust variant of the maximum-likelihood estimator for an
- additive-multiplicative error model and affine calibration. The model
- incorporates data calibration step (a.k.a. normalization), a model for
- the dependence of the variance on the mean intensity and a variance
- stabilizing data transformation. Differences between transformed
- intensities are analogous to "normalized log-ratios". However, in
- contrast to the latter, their variance is independent of the mean, and
- they are usually more sensitive and specific in detecting differential
- transcription."""
+ The package implements a method for normalising microarray intensities,
+ and works for single- and multiple-color arrays. It can also be used for
+ data from other technologies, as long as they have similar format. The
+ method uses a robust variant of the maximum-likelihood estimator for an
+ additive-multiplicative error model and affine calibration. The model
+ incorporates data calibration step (a.k.a. normalization), a model for
+ the dependence of the variance on the mean intensity and a variance
+ stabilizing data transformation. Differences between transformed
+ intensities are analogous to "normalized log-ratios". However, in
+ contrast to the latter, their variance is independent of the mean, and
+ they are usually more sensitive and specific in detecting differential
+ transcription."""
bioc = "vsn"
- version('3.64.0', commit='1f09f20ee7f81100fb0bf66288c4caf0049b5508')
- version('3.62.0', commit='6ae7f4e07ec1a5a9482cab892d98175983bfcd50')
- version('3.58.0', commit='a451e6ae989623750feacf26d99683a7955adf85')
- version('3.52.0', commit='e80642d850ae93bc141654200a8970b561a94fbe')
- version('3.50.0', commit='ad49fcc288c6065d0f04040acd688e7f0d7d927e')
- version('3.48.1', commit='d57f64112004b1d73b3be625949830209de027eb')
- version('3.46.0', commit='7ecfd20452348da27d6fcc052cbff2b9be777792')
- version('3.44.0', commit='e54513fcdd07ccfb8094359e93cef145450f0ee0')
-
- depends_on('r@3.0.0:', type=('build', 'run'))
- depends_on('r@3.4.0:', type=('build', 'run'), when='@3.46.0:')
- depends_on('r@4.0.0:', type=('build', 'run'), when='@3.62.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-affy', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-lattice', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
-
- depends_on('r-hexbin', type=('build', 'run'), when='@3.44.0:3.52.0')
+ version("3.64.0", commit="1f09f20ee7f81100fb0bf66288c4caf0049b5508")
+ version("3.62.0", commit="6ae7f4e07ec1a5a9482cab892d98175983bfcd50")
+ version("3.58.0", commit="a451e6ae989623750feacf26d99683a7955adf85")
+ version("3.52.0", commit="e80642d850ae93bc141654200a8970b561a94fbe")
+ version("3.50.0", commit="ad49fcc288c6065d0f04040acd688e7f0d7d927e")
+ version("3.48.1", commit="d57f64112004b1d73b3be625949830209de027eb")
+ version("3.46.0", commit="7ecfd20452348da27d6fcc052cbff2b9be777792")
+ version("3.44.0", commit="e54513fcdd07ccfb8094359e93cef145450f0ee0")
+
+ depends_on("r@3.0.0:", type=("build", "run"))
+ depends_on("r@3.4.0:", type=("build", "run"), when="@3.46.0:")
+ depends_on("r@4.0.0:", type=("build", "run"), when="@3.62.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-affy", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-lattice", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+
+ depends_on("r-hexbin", type=("build", "run"), when="@3.44.0:3.52.0")
diff --git a/var/spack/repos/builtin/packages/r-waldo/package.py b/var/spack/repos/builtin/packages/r-waldo/package.py
index 71613026a4..f07072b01b 100644
--- a/var/spack/repos/builtin/packages/r-waldo/package.py
+++ b/var/spack/repos/builtin/packages/r-waldo/package.py
@@ -15,17 +15,17 @@ class RWaldo(RPackage):
cran = "waldo"
- version('0.4.0', sha256='57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa')
- version('0.3.1', sha256='ec2c8c1afbc413f8db8b6b0c6970194a875f616ad18e1e72a004bc4497ec019b')
- version('0.2.3', sha256='1fbab22fe9be6ca8caa3df7306c763d7025d81ab6f17b85daaf8bdc8c9455c53')
+ version("0.4.0", sha256="57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa")
+ version("0.3.1", sha256="ec2c8c1afbc413f8db8b6b0c6970194a875f616ad18e1e72a004bc4497ec019b")
+ version("0.2.3", sha256="1fbab22fe9be6ca8caa3df7306c763d7025d81ab6f17b85daaf8bdc8c9455c53")
- depends_on('r-cli', type=('build', 'run'))
- depends_on('r-diffobj', type=('build', 'run'))
- depends_on('r-diffobj@0.3.4:', type=('build', 'run'), when='@0.3.1:')
- depends_on('r-fansi', type=('build', 'run'))
- depends_on('r-glue', type=('build', 'run'))
- depends_on('r-rematch2', type=('build', 'run'))
- depends_on('r-rlang', type=('build', 'run'))
- depends_on('r-rlang@0.4.10:', type=('build', 'run'), when='@0.3.1:')
- depends_on('r-rlang@1.0.0:', type=('build', 'run'), when='@0.4.0:')
- depends_on('r-tibble', type=('build', 'run'))
+ depends_on("r-cli", type=("build", "run"))
+ depends_on("r-diffobj", type=("build", "run"))
+ depends_on("r-diffobj@0.3.4:", type=("build", "run"), when="@0.3.1:")
+ depends_on("r-fansi", type=("build", "run"))
+ depends_on("r-glue", type=("build", "run"))
+ depends_on("r-rematch2", type=("build", "run"))
+ depends_on("r-rlang", type=("build", "run"))
+ depends_on("r-rlang@0.4.10:", type=("build", "run"), when="@0.3.1:")
+ depends_on("r-rlang@1.0.0:", type=("build", "run"), when="@0.4.0:")
+ depends_on("r-tibble", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-watermelon/package.py b/var/spack/repos/builtin/packages/r-watermelon/package.py
index d42937374f..2b6c8f4606 100644
--- a/var/spack/repos/builtin/packages/r-watermelon/package.py
+++ b/var/spack/repos/builtin/packages/r-watermelon/package.py
@@ -14,18 +14,18 @@ class RWatermelon(RPackage):
bioc = "wateRmelon"
- version('2.2.0', commit='6ec49efe98aef31d0789b31ab048eb46edec762c')
- version('2.0.0', commit='f6a331bdf50e0e5c94009fb67be873d996348ade')
- version('1.34.0', commit='3fa2745535c22068a438747b41b9d793196098d4')
- version('1.30.0', commit='66d7579fe49206d965832288df7937c3d43ed578')
+ version("2.2.0", commit="6ec49efe98aef31d0789b31ab048eb46edec762c")
+ version("2.0.0", commit="f6a331bdf50e0e5c94009fb67be873d996348ade")
+ version("1.34.0", commit="3fa2745535c22068a438747b41b9d793196098d4")
+ version("1.30.0", commit="66d7579fe49206d965832288df7937c3d43ed578")
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@3.5.0:', type=('build', 'run'), when='@2.0.0:')
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-methylumi', type=('build', 'run'))
- depends_on('r-lumi', type=('build', 'run'))
- depends_on('r-roc', type=('build', 'run'))
- depends_on('r-illuminahumanmethylation450kanno-ilmn12-hg19', type=('build', 'run'))
- depends_on('r-illuminaio', type=('build', 'run'))
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@3.5.0:", type=("build", "run"), when="@2.0.0:")
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-methylumi", type=("build", "run"))
+ depends_on("r-lumi", type=("build", "run"))
+ depends_on("r-roc", type=("build", "run"))
+ depends_on("r-illuminahumanmethylation450kanno-ilmn12-hg19", type=("build", "run"))
+ depends_on("r-illuminaio", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-webshot/package.py b/var/spack/repos/builtin/packages/r-webshot/package.py
index 806ffa5a90..9a4bce24ef 100644
--- a/var/spack/repos/builtin/packages/r-webshot/package.py
+++ b/var/spack/repos/builtin/packages/r-webshot/package.py
@@ -14,15 +14,15 @@ class RWebshot(RPackage):
cran = "webshot"
- version('0.5.3', sha256='b7c4f2be61c8c4730202a9c3604072478e30cb85b423b7497cd703cc3f49dbc0')
- version('0.5.2', sha256='f183dc970157075b51ac543550a7a48fa3428b9c6838abb72fe987c21982043f')
- version('0.5.1', sha256='b9750d206c6fa0f1f16cc212b0a34f4f4bfa916962d2c877f0ee9a33620f4b23')
-
- depends_on('r+X', type=('build', 'run'))
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-magrittr', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-callr', type=('build', 'run'))
- depends_on('imagemagick', type='run')
+ version("0.5.3", sha256="b7c4f2be61c8c4730202a9c3604072478e30cb85b423b7497cd703cc3f49dbc0")
+ version("0.5.2", sha256="f183dc970157075b51ac543550a7a48fa3428b9c6838abb72fe987c21982043f")
+ version("0.5.1", sha256="b9750d206c6fa0f1f16cc212b0a34f4f4bfa916962d2c877f0ee9a33620f4b23")
+
+ depends_on("r+X", type=("build", "run"))
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-magrittr", type=("build", "run"))
+ depends_on("r-jsonlite", type=("build", "run"))
+ depends_on("r-callr", type=("build", "run"))
+ depends_on("imagemagick", type="run")
# need a phantomjs package to make this actually work.
diff --git a/var/spack/repos/builtin/packages/r-wgcna/package.py b/var/spack/repos/builtin/packages/r-wgcna/package.py
index f81cce8b51..2b8c3a3103 100644
--- a/var/spack/repos/builtin/packages/r-wgcna/package.py
+++ b/var/spack/repos/builtin/packages/r-wgcna/package.py
@@ -20,25 +20,25 @@ class RWgcna(RPackage):
cran = "WGCNA"
- version('1.71', sha256='21f5349e888ea76241912600ee5c35a0d2fd50180568b9b08b2b597f099bf708')
- version('1.70-3', sha256='b9843b839728183af6b746f239e9519d438b294613362b556002acdb8522cbd4')
- version('1.69', sha256='2ea152d45b2d4f0e40b4b9f7b5ea8a96e230f7744ece8be27bdba96cf39d5008')
- version('1.68', sha256='0a04f15a20817f9260ae1896eda3be83a7f4855a27a348df85c7f4d376f1efe8')
- version('1.67', sha256='c9cc9989763b2c80835489eabd38d9ee35b204305044d115ca7c775a103f6824')
- version('1.64-1', sha256='961a890cda40676ba533cd6de2b1d4f692addd16363f874c82ba8b65dd2d0db6')
-
- depends_on('r@3.0:', type=('build', 'run'))
- depends_on('r-dynamictreecut@1.62:', type=('build', 'run'))
- depends_on('r-fastcluster', type=('build', 'run'))
- depends_on('r-matrixstats@0.8.1:', type=('build', 'run'))
- depends_on('r-hmisc', type=('build', 'run'))
- depends_on('r-impute', type=('build', 'run'))
- depends_on('r-foreach', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-survival', type=('build', 'run'))
- depends_on('r-go-db', type=('build', 'run'))
- depends_on('r-annotationdbi', type=('build', 'run'))
- depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
-
- depends_on('r-robust', type=('build', 'run'), when='@:1.68')
+ version("1.71", sha256="21f5349e888ea76241912600ee5c35a0d2fd50180568b9b08b2b597f099bf708")
+ version("1.70-3", sha256="b9843b839728183af6b746f239e9519d438b294613362b556002acdb8522cbd4")
+ version("1.69", sha256="2ea152d45b2d4f0e40b4b9f7b5ea8a96e230f7744ece8be27bdba96cf39d5008")
+ version("1.68", sha256="0a04f15a20817f9260ae1896eda3be83a7f4855a27a348df85c7f4d376f1efe8")
+ version("1.67", sha256="c9cc9989763b2c80835489eabd38d9ee35b204305044d115ca7c775a103f6824")
+ version("1.64-1", sha256="961a890cda40676ba533cd6de2b1d4f692addd16363f874c82ba8b65dd2d0db6")
+
+ depends_on("r@3.0:", type=("build", "run"))
+ depends_on("r-dynamictreecut@1.62:", type=("build", "run"))
+ depends_on("r-fastcluster", type=("build", "run"))
+ depends_on("r-matrixstats@0.8.1:", type=("build", "run"))
+ depends_on("r-hmisc", type=("build", "run"))
+ depends_on("r-impute", type=("build", "run"))
+ depends_on("r-foreach", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-survival", type=("build", "run"))
+ depends_on("r-go-db", type=("build", "run"))
+ depends_on("r-annotationdbi", type=("build", "run"))
+ depends_on("r-rcpp@0.11.0:", type=("build", "run"))
+
+ depends_on("r-robust", type=("build", "run"), when="@:1.68")
diff --git a/var/spack/repos/builtin/packages/r-whisker/package.py b/var/spack/repos/builtin/packages/r-whisker/package.py
index fa8d62fa0b..7b66889f0c 100644
--- a/var/spack/repos/builtin/packages/r-whisker/package.py
+++ b/var/spack/repos/builtin/packages/r-whisker/package.py
@@ -13,5 +13,5 @@ class RWhisker(RPackage):
cran = "whisker"
- version('0.4', sha256='7a86595be4f1029ec5d7152472d11b16175737e2777134e296ae97341bf8fba8')
- version('0.3-2', sha256='484836510fcf123a66ddd13cdc8f32eb98e814cad82ed30c0294f55742b08c7c')
+ version("0.4", sha256="7a86595be4f1029ec5d7152472d11b16175737e2777134e296ae97341bf8fba8")
+ version("0.3-2", sha256="484836510fcf123a66ddd13cdc8f32eb98e814cad82ed30c0294f55742b08c7c")
diff --git a/var/spack/repos/builtin/packages/r-withr/package.py b/var/spack/repos/builtin/packages/r-withr/package.py
index 165cb03423..ea09d87441 100644
--- a/var/spack/repos/builtin/packages/r-withr/package.py
+++ b/var/spack/repos/builtin/packages/r-withr/package.py
@@ -16,14 +16,14 @@ class RWithr(RPackage):
cran = "withr"
- version('2.5.0', sha256='37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0')
- version('2.4.3', sha256='9bdac7459ccc6c2d599ecfd132a7f0aa68d958942d9fe7dbb0442c9eda129d4c')
- version('2.4.2', sha256='48f96a4cb780cf6fd5fbbea1f1eb04ea3102d7a4a644cae1ed1e91139dcbbac8')
- version('2.4.0', sha256='ede4cdc7e4d17e0ad24afc9fb940cba46fac4421d3a39281e9918377d73714f8')
- version('2.2.0', sha256='4c21e51cf48f8c281ddd5f5ec358ac446df3c982104fd00bfe62d9259d73b582')
- version('2.1.2', sha256='41366f777d8adb83d0bdbac1392a1ab118b36217ca648d3bb9db763aa7ff4686')
- version('1.0.2', sha256='2391545020adc4256ee7c2e31c30ff6f688f0b6032e355e1ce8f468cab455f10')
- version('1.0.1', sha256='7e245fdd17d290ff9e7c237159804dd06e1c6a3efe7855ed641eb0765a1e727d')
+ version("2.5.0", sha256="37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0")
+ version("2.4.3", sha256="9bdac7459ccc6c2d599ecfd132a7f0aa68d958942d9fe7dbb0442c9eda129d4c")
+ version("2.4.2", sha256="48f96a4cb780cf6fd5fbbea1f1eb04ea3102d7a4a644cae1ed1e91139dcbbac8")
+ version("2.4.0", sha256="ede4cdc7e4d17e0ad24afc9fb940cba46fac4421d3a39281e9918377d73714f8")
+ version("2.2.0", sha256="4c21e51cf48f8c281ddd5f5ec358ac446df3c982104fd00bfe62d9259d73b582")
+ version("2.1.2", sha256="41366f777d8adb83d0bdbac1392a1ab118b36217ca648d3bb9db763aa7ff4686")
+ version("1.0.2", sha256="2391545020adc4256ee7c2e31c30ff6f688f0b6032e355e1ce8f468cab455f10")
+ version("1.0.1", sha256="7e245fdd17d290ff9e7c237159804dd06e1c6a3efe7855ed641eb0765a1e727d")
- depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r@3.2.0:', type=('build', 'run'), when='@2.2:')
+ depends_on("r@3.0.2:", type=("build", "run"))
+ depends_on("r@3.2.0:", type=("build", "run"), when="@2.2:")
diff --git a/var/spack/repos/builtin/packages/r-wk/package.py b/var/spack/repos/builtin/packages/r-wk/package.py
index 66ec144229..f4a7abc2ab 100644
--- a/var/spack/repos/builtin/packages/r-wk/package.py
+++ b/var/spack/repos/builtin/packages/r-wk/package.py
@@ -18,7 +18,7 @@ class RWk(RPackage):
cran = "wk"
- version('0.6.0', sha256='af2c2837056a6dcc9f64d5ace29601d6d668c95769f855ca0329648d7326eaf5')
- version('0.4.1', sha256='daa7351af0bd657740972016906c686f335b8fa922ba10250e5000ddc2bb8950')
+ version("0.6.0", sha256="af2c2837056a6dcc9f64d5ace29601d6d668c95769f855ca0329648d7326eaf5")
+ version("0.4.1", sha256="daa7351af0bd657740972016906c686f335b8fa922ba10250e5000ddc2bb8950")
- depends_on('r-cpp11', type=('build', 'run'))
+ depends_on("r-cpp11", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xde/package.py b/var/spack/repos/builtin/packages/r-xde/package.py
index 04b5a91f70..b871a0ec1f 100644
--- a/var/spack/repos/builtin/packages/r-xde/package.py
+++ b/var/spack/repos/builtin/packages/r-xde/package.py
@@ -15,23 +15,23 @@ class RXde(RPackage):
bioc = "XDE"
- version('2.42.0', commit='298e83eff7fc5f72a2bb76b559c5115c6cd3ee84')
- version('2.40.0', commit='bfc3c54787aec97b70bef7b99a6adc75d2cf5ed2')
- version('2.36.0', commit='0277f9dffbd7d1880be77cb8581fc614501b3293')
- version('2.30.0', commit='058af6f1e431522778f970bf61f834620d3d7dd7')
- version('2.28.0', commit='b8cc7d0840ce1324644e8b4a750fbb964884498b')
- version('2.26.0', commit='7bf6368037937c53542447175061c2e2059ee3be')
- version('2.24.0', commit='fd5f245f82893657dc36e5a67a1d3b8255772462')
- version('2.22.0', commit='25bcec965ae42a410dd285a9db9be46d112d8e81')
-
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-biobase@2.5.5:', type=('build', 'run'))
- depends_on('r-biocgenerics', type=('build', 'run'))
- depends_on('r-genefilter', type=('build', 'run'))
- depends_on('r-gtools', type=('build', 'run'))
- depends_on('r-mvtnorm', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'), when='@2.24.0:')
- depends_on('r-genemeta', type=('build', 'run'), when='@2.24.0:')
- depends_on('r-siggenes', type=('build', 'run'), when='@2.24.0:')
-
- depends_on('r-mergemaid', type=('build', 'run'), when='@:2.30.0')
+ version("2.42.0", commit="298e83eff7fc5f72a2bb76b559c5115c6cd3ee84")
+ version("2.40.0", commit="bfc3c54787aec97b70bef7b99a6adc75d2cf5ed2")
+ version("2.36.0", commit="0277f9dffbd7d1880be77cb8581fc614501b3293")
+ version("2.30.0", commit="058af6f1e431522778f970bf61f834620d3d7dd7")
+ version("2.28.0", commit="b8cc7d0840ce1324644e8b4a750fbb964884498b")
+ version("2.26.0", commit="7bf6368037937c53542447175061c2e2059ee3be")
+ version("2.24.0", commit="fd5f245f82893657dc36e5a67a1d3b8255772462")
+ version("2.22.0", commit="25bcec965ae42a410dd285a9db9be46d112d8e81")
+
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-biobase@2.5.5:", type=("build", "run"))
+ depends_on("r-biocgenerics", type=("build", "run"))
+ depends_on("r-genefilter", type=("build", "run"))
+ depends_on("r-gtools", type=("build", "run"))
+ depends_on("r-mvtnorm", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"), when="@2.24.0:")
+ depends_on("r-genemeta", type=("build", "run"), when="@2.24.0:")
+ depends_on("r-siggenes", type=("build", "run"), when="@2.24.0:")
+
+ depends_on("r-mergemaid", type=("build", "run"), when="@:2.30.0")
diff --git a/var/spack/repos/builtin/packages/r-xfun/package.py b/var/spack/repos/builtin/packages/r-xfun/package.py
index d9b7173123..8bb1d955ab 100644
--- a/var/spack/repos/builtin/packages/r-xfun/package.py
+++ b/var/spack/repos/builtin/packages/r-xfun/package.py
@@ -14,8 +14,8 @@ class RXfun(RPackage):
cran = "xfun"
- version('0.31', sha256='d169f3e682dab0c3f2ca381f2dba9b7014a5e2ca3d6863dbae3d1bca699ef235')
- version('0.29', sha256='bf85bb7b4653d03e0730682ffe1d6d3544ac0b36989f9196b2054d356c224ef4')
- version('0.24', sha256='e3e39a95202f6db4f6de3a8b9a344074a4944a3a8a522d44971390c905e2b583')
- version('0.20', sha256='284239d12a3d5ea7d1ef8b1382fb0a7a4661af54c85510501279681871da7c10')
- version('0.8', sha256='c2f8ecf8b57ddec02f9be7f417d9e22fc1ae2c7db8d70aa703fc62bf4a5c5416')
+ version("0.31", sha256="d169f3e682dab0c3f2ca381f2dba9b7014a5e2ca3d6863dbae3d1bca699ef235")
+ version("0.29", sha256="bf85bb7b4653d03e0730682ffe1d6d3544ac0b36989f9196b2054d356c224ef4")
+ version("0.24", sha256="e3e39a95202f6db4f6de3a8b9a344074a4944a3a8a522d44971390c905e2b583")
+ version("0.20", sha256="284239d12a3d5ea7d1ef8b1382fb0a7a4661af54c85510501279681871da7c10")
+ version("0.8", sha256="c2f8ecf8b57ddec02f9be7f417d9e22fc1ae2c7db8d70aa703fc62bf4a5c5416")
diff --git a/var/spack/repos/builtin/packages/r-xgboost/package.py b/var/spack/repos/builtin/packages/r-xgboost/package.py
index edaec560a0..5355f9995e 100644
--- a/var/spack/repos/builtin/packages/r-xgboost/package.py
+++ b/var/spack/repos/builtin/packages/r-xgboost/package.py
@@ -21,25 +21,25 @@ class RXgboost(RPackage):
cran = "xgboost"
- version('1.6.0.1', sha256='9ae99a20997e1b02ffd21cabada2a55e53f5754746238ee900de5eb6cd964ebd')
- version('1.5.0.2', sha256='4750b9a289d8cb685291939eed7c493bb42c5cc154ef98e13100abb1727eab13')
- version('1.3.2.1', sha256='2ff462b81ad51a4810bd7860cb014b9b88831a8b1d45774249a808547147f884')
- version('0.90.0.2', sha256='240584c1b4d54a95b4fef9074480752fae9a5b096e8f84747457d641decfc9bf')
- version('0.81.0.1', sha256='3e7ada32e66881ea5c90aeafdab948927014c76cfff60a8e3d7f9e1f8a9ed7ce')
- version('0.6-4', sha256='9fc51dd1b910c70930357f617d1ac7a74c5056e8847d4188175db27c09f9d1ed')
- version('0.4-4', sha256='b955fc3352fcdc4894178c82fd62fbaf5e099c9d794f1e9daa2dd7b3494b61ff')
-
- depends_on('r@2.10:', type=('build', 'run'))
- depends_on('r@2.15.1:', type=('build', 'run'), when='@0.6-0:')
- depends_on('r@3.3.0:', type=('build', 'run'), when='@0.6-3:')
- depends_on('r-matrix@1.1-0:', type=('build', 'run'))
- depends_on('r-data-table@1.9.6:', type=('build', 'run'))
- depends_on('r-jsonlite@1.0:', type=('build', 'run'), when='@1.5.0.2:')
- depends_on('gmake', type='build')
+ version("1.6.0.1", sha256="9ae99a20997e1b02ffd21cabada2a55e53f5754746238ee900de5eb6cd964ebd")
+ version("1.5.0.2", sha256="4750b9a289d8cb685291939eed7c493bb42c5cc154ef98e13100abb1727eab13")
+ version("1.3.2.1", sha256="2ff462b81ad51a4810bd7860cb014b9b88831a8b1d45774249a808547147f884")
+ version("0.90.0.2", sha256="240584c1b4d54a95b4fef9074480752fae9a5b096e8f84747457d641decfc9bf")
+ version("0.81.0.1", sha256="3e7ada32e66881ea5c90aeafdab948927014c76cfff60a8e3d7f9e1f8a9ed7ce")
+ version("0.6-4", sha256="9fc51dd1b910c70930357f617d1ac7a74c5056e8847d4188175db27c09f9d1ed")
+ version("0.4-4", sha256="b955fc3352fcdc4894178c82fd62fbaf5e099c9d794f1e9daa2dd7b3494b61ff")
+
+ depends_on("r@2.10:", type=("build", "run"))
+ depends_on("r@2.15.1:", type=("build", "run"), when="@0.6-0:")
+ depends_on("r@3.3.0:", type=("build", "run"), when="@0.6-3:")
+ depends_on("r-matrix@1.1-0:", type=("build", "run"))
+ depends_on("r-data-table@1.9.6:", type=("build", "run"))
+ depends_on("r-jsonlite@1.0:", type=("build", "run"), when="@1.5.0.2:")
+ depends_on("gmake", type="build")
# This is not listed as required, but installation fails without it
# ERROR: dependency 'stringr' is not available for package 'xgboost'
- depends_on('r-stringr', type=('build', 'run'))
+ depends_on("r-stringr", type=("build", "run"))
- depends_on('r-stringi@0.5.2:', type=('build', 'run'), when='@:0.90.0.2')
- depends_on('r-magrittr@1.5:', type=('build', 'run'), when='@:1.3.2.1')
+ depends_on("r-stringi@0.5.2:", type=("build", "run"), when="@:0.90.0.2")
+ depends_on("r-magrittr@1.5:", type=("build", "run"), when="@:1.3.2.1")
diff --git a/var/spack/repos/builtin/packages/r-xlconnect/package.py b/var/spack/repos/builtin/packages/r-xlconnect/package.py
index 0af477b54a..0fd4f5b601 100644
--- a/var/spack/repos/builtin/packages/r-xlconnect/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnect/package.py
@@ -14,20 +14,20 @@ class RXlconnect(RPackage):
cran = "XLConnect"
- version('1.0.5', sha256='975c2ef57f28ccfac79ae5d285b7e82e60791fb121052616c10bc52e2bca16ad')
- version('1.0.1', sha256='927aa34a3c81c12bf156e55edca9e2f5186c31435cce23feda4b906d049d6e39')
- version('0.2-15', sha256='26e1d8db65974719adbc25f1327c584003eb562dc1bb2121bffc2550cf3178b3')
- version('0.2-14', sha256='d1013ed26947572bad97d62a3d66346f74993cf96c6408d21d5b6ee567468819')
- version('0.2-12', sha256='500624f078fb27338aa91d8710daaf38633659a9b17f7cb713232a3d66f9f62c')
- version('0.2-11', sha256='17c5eddd00b933fd7a2ab9d942c813046d45f0af487f8d5b11011a004db69d0b')
-
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r-rjava', type=('build', 'run'))
- depends_on('java@6:')
- depends_on('java@8:11', when='@1.0.1:')
- depends_on('java@8:17', when='@1.0.5:')
-
- depends_on('r-xlconnectjars@0.2-9', type=('build', 'run'), when='@0.2-11')
- depends_on('r-xlconnectjars@0.2-12', type=('build', 'run'), when='@0.2-12')
- depends_on('r-xlconnectjars@0.2-14', type=('build', 'run'), when='@0.2-14')
- depends_on('r-xlconnectjars@0.2-15', type=('build', 'run'), when='@0.2-15')
+ version("1.0.5", sha256="975c2ef57f28ccfac79ae5d285b7e82e60791fb121052616c10bc52e2bca16ad")
+ version("1.0.1", sha256="927aa34a3c81c12bf156e55edca9e2f5186c31435cce23feda4b906d049d6e39")
+ version("0.2-15", sha256="26e1d8db65974719adbc25f1327c584003eb562dc1bb2121bffc2550cf3178b3")
+ version("0.2-14", sha256="d1013ed26947572bad97d62a3d66346f74993cf96c6408d21d5b6ee567468819")
+ version("0.2-12", sha256="500624f078fb27338aa91d8710daaf38633659a9b17f7cb713232a3d66f9f62c")
+ version("0.2-11", sha256="17c5eddd00b933fd7a2ab9d942c813046d45f0af487f8d5b11011a004db69d0b")
+
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r-rjava", type=("build", "run"))
+ depends_on("java@6:")
+ depends_on("java@8:11", when="@1.0.1:")
+ depends_on("java@8:17", when="@1.0.5:")
+
+ depends_on("r-xlconnectjars@0.2-9", type=("build", "run"), when="@0.2-11")
+ depends_on("r-xlconnectjars@0.2-12", type=("build", "run"), when="@0.2-12")
+ depends_on("r-xlconnectjars@0.2-14", type=("build", "run"), when="@0.2-14")
+ depends_on("r-xlconnectjars@0.2-15", type=("build", "run"), when="@0.2-15")
diff --git a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
index 17dc4fa3d0..545ec35b90 100644
--- a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
@@ -13,10 +13,10 @@ class RXlconnectjars(RPackage):
cran = "XLConnectJars"
- version('0.2-15', sha256='bd6f48a72c3a02b7a5e9373bcfc671614bc793f41d7bb8f4f34115a89ff4f8c6')
- version('0.2-14', sha256='c675f0ccff0c3e56b2b1cc00d4d28bf8fdfa508266ac0ffab5c0641151dd7332')
- version('0.2-12', sha256='676bf430ec118355142b3ebe8ecdadcd0019f6e9ac17c7b79b770668eace6df2')
- version('0.2-9', sha256='e31dd189f24afad84abb8bd865c2353b0eccee60ac74ce9030b846789248474b')
+ version("0.2-15", sha256="bd6f48a72c3a02b7a5e9373bcfc671614bc793f41d7bb8f4f34115a89ff4f8c6")
+ version("0.2-14", sha256="c675f0ccff0c3e56b2b1cc00d4d28bf8fdfa508266ac0ffab5c0641151dd7332")
+ version("0.2-12", sha256="676bf430ec118355142b3ebe8ecdadcd0019f6e9ac17c7b79b770668eace6df2")
+ version("0.2-9", sha256="e31dd189f24afad84abb8bd865c2353b0eccee60ac74ce9030b846789248474b")
- depends_on('r-rjava', type=('build', 'run'))
- depends_on('java@6:')
+ depends_on("r-rjava", type=("build", "run"))
+ depends_on("java@6:")
diff --git a/var/spack/repos/builtin/packages/r-xlsx/package.py b/var/spack/repos/builtin/packages/r-xlsx/package.py
index e1e0a0e95a..6b390867d4 100644
--- a/var/spack/repos/builtin/packages/r-xlsx/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsx/package.py
@@ -14,9 +14,9 @@ class RXlsx(RPackage):
cran = "xlsx"
- version('0.6.5', sha256='378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107')
- version('0.6.1', sha256='a580bd16b5477c1c185bf681c12c1ffff4088089f97b6a37997913d93ec5a8b4')
+ version("0.6.5", sha256="378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107")
+ version("0.6.1", sha256="a580bd16b5477c1c185bf681c12c1ffff4088089f97b6a37997913d93ec5a8b4")
- depends_on('r-rjava', type=('build', 'run'))
- depends_on('r-xlsxjars', type=('build', 'run'))
- depends_on('java@6:')
+ depends_on("r-rjava", type=("build", "run"))
+ depends_on("r-xlsxjars", type=("build", "run"))
+ depends_on("java@6:")
diff --git a/var/spack/repos/builtin/packages/r-xlsxjars/package.py b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
index 11a9b3658e..f520dfc887 100644
--- a/var/spack/repos/builtin/packages/r-xlsxjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
@@ -14,6 +14,6 @@ class RXlsxjars(RPackage):
cran = "xlsxjars"
- version('0.6.1', sha256='37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6')
+ version("0.6.1", sha256="37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6")
- depends_on('r-rjava', type=('build', 'run'))
+ depends_on("r-rjava", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xmapbridge/package.py b/var/spack/repos/builtin/packages/r-xmapbridge/package.py
index e28b2c5d02..edec8cbf69 100644
--- a/var/spack/repos/builtin/packages/r-xmapbridge/package.py
+++ b/var/spack/repos/builtin/packages/r-xmapbridge/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RXmapbridge(RPackage):
"""Export plotting files to the xmapBridge for visualisation in X:Map.
- xmapBridge can plot graphs in the X:Map genome browser. This package
- exports plotting files in a suitable format."""
+ xmapBridge can plot graphs in the X:Map genome browser. This package
+ exports plotting files in a suitable format."""
bioc = "xmapbridge"
- version('1.54.0', commit='a316e2399894191646c229378fa138b7461c75ab')
- version('1.52.0', commit='fe32fcd2a83432c721eb948cb3af73dd187065f6')
- version('1.48.0', commit='1cefe6b56c6dcb1f18028b3b7d6a67d490bc9730')
- version('1.42.0', commit='d79c80dfc1a0ed3fd6d3e7a7c3a4aff778537ca9')
- version('1.40.0', commit='00a2993863f28711e237bc937fa0ba2d05f81684')
- version('1.38.0', commit='08138f00385fa0c669ff4cc33d7eac3d29cd615d')
- version('1.36.0', commit='e44f648c9da9eaa130849a738d90dc11685050e2')
- version('1.34.0', commit='f162e1f72ead5f5a1aede69032d5771a6572d965')
+ version("1.54.0", commit="a316e2399894191646c229378fa138b7461c75ab")
+ version("1.52.0", commit="fe32fcd2a83432c721eb948cb3af73dd187065f6")
+ version("1.48.0", commit="1cefe6b56c6dcb1f18028b3b7d6a67d490bc9730")
+ version("1.42.0", commit="d79c80dfc1a0ed3fd6d3e7a7c3a4aff778537ca9")
+ version("1.40.0", commit="00a2993863f28711e237bc937fa0ba2d05f81684")
+ version("1.38.0", commit="08138f00385fa0c669ff4cc33d7eac3d29cd615d")
+ version("1.36.0", commit="e44f648c9da9eaa130849a738d90dc11685050e2")
+ version("1.34.0", commit="f162e1f72ead5f5a1aede69032d5771a6572d965")
- depends_on('r@2.0:', type=('build', 'run'))
+ depends_on("r@2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xml/package.py b/var/spack/repos/builtin/packages/r-xml/package.py
index 0cd12c5a62..9f0bbe2173 100644
--- a/var/spack/repos/builtin/packages/r-xml/package.py
+++ b/var/spack/repos/builtin/packages/r-xml/package.py
@@ -15,15 +15,15 @@ class RXml(RPackage):
cran = "XML"
- version('3.99-0.9', sha256='9c15dedf3157efc59e0db31506631dfe770a4d397ce52f972434bed60e206a09')
- version('3.99-0.8', sha256='081f691c2ee8ad39c7c95281e7d9153ec04cee79ca2d41f5d82c2ec2f1d36b50')
- version('3.99-0.5', sha256='60529b7360f162eba07da455eeb9b94a732b2dd623c49e0f04328a2e97bd53a6')
- version('3.98-1.20', sha256='46af86376ea9a0fb1b440cf0acdf9b89178686a05c4b77728fcff1f023aa4858')
- version('3.98-1.19', sha256='81b1c4a2df24c5747fa8b8ec2d76b4e9c3649b56ca94f6c93fbd106c8a72beab')
- version('3.98-1.9', sha256='a3b70169cb2fbd8d61a41ff222d27922829864807e9ecad373f55ba0df6cf3c3')
- version('3.98-1.5', sha256='deaff082e4d37931d2dabea3a60c3d6916d565821043b22b3f9522ebf3918d35')
- version('3.98-1.4', sha256='9c0abc75312f66aac564266b6b79222259c678aedee9fc347462978354f11126')
+ version("3.99-0.9", sha256="9c15dedf3157efc59e0db31506631dfe770a4d397ce52f972434bed60e206a09")
+ version("3.99-0.8", sha256="081f691c2ee8ad39c7c95281e7d9153ec04cee79ca2d41f5d82c2ec2f1d36b50")
+ version("3.99-0.5", sha256="60529b7360f162eba07da455eeb9b94a732b2dd623c49e0f04328a2e97bd53a6")
+ version("3.98-1.20", sha256="46af86376ea9a0fb1b440cf0acdf9b89178686a05c4b77728fcff1f023aa4858")
+ version("3.98-1.19", sha256="81b1c4a2df24c5747fa8b8ec2d76b4e9c3649b56ca94f6c93fbd106c8a72beab")
+ version("3.98-1.9", sha256="a3b70169cb2fbd8d61a41ff222d27922829864807e9ecad373f55ba0df6cf3c3")
+ version("3.98-1.5", sha256="deaff082e4d37931d2dabea3a60c3d6916d565821043b22b3f9522ebf3918d35")
+ version("3.98-1.4", sha256="9c0abc75312f66aac564266b6b79222259c678aedee9fc347462978354f11126")
- depends_on('r@2.13.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@3.99-0.5:')
- depends_on('libxml2@2.6.3:')
+ depends_on("r@2.13.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@3.99-0.5:")
+ depends_on("libxml2@2.6.3:")
diff --git a/var/spack/repos/builtin/packages/r-xml2/package.py b/var/spack/repos/builtin/packages/r-xml2/package.py
index abaf146a52..2b36854946 100644
--- a/var/spack/repos/builtin/packages/r-xml2/package.py
+++ b/var/spack/repos/builtin/packages/r-xml2/package.py
@@ -14,14 +14,14 @@ class RXml2(RPackage):
cran = "xml2"
- version('1.3.3', sha256='cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d')
- version('1.3.2', sha256='df22f9e7e3189d8c9b8804eaf0105324fdac983cffe743552f6d76613600a4cf')
- version('1.2.2', sha256='3050f147c4335be2925a576557bbda36bd52a5bba3110d47b740a2dd811a78f4')
- version('1.2.1', sha256='5615bbc94607efc3bc192551992b349091df802ae34b855cfa817733f2690605')
- version('1.1.1', sha256='00f3e3b66b76760c19da5f6dddc98e6f30de36a96b211e59e1a3f4ff58763116')
+ version("1.3.3", sha256="cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d")
+ version("1.3.2", sha256="df22f9e7e3189d8c9b8804eaf0105324fdac983cffe743552f6d76613600a4cf")
+ version("1.2.2", sha256="3050f147c4335be2925a576557bbda36bd52a5bba3110d47b740a2dd811a78f4")
+ version("1.2.1", sha256="5615bbc94607efc3bc192551992b349091df802ae34b855cfa817733f2690605")
+ version("1.1.1", sha256="00f3e3b66b76760c19da5f6dddc98e6f30de36a96b211e59e1a3f4ff58763116")
- depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('libxml2')
+ depends_on("r@3.1.0:", type=("build", "run"))
+ depends_on("libxml2")
- depends_on('r-rcpp@0.12.12:', type=('build', 'run'), when='@:1.2')
- depends_on('r-bh', type=('build', 'run'), when='@:1.1.1')
+ depends_on("r-rcpp@0.12.12:", type=("build", "run"), when="@:1.2")
+ depends_on("r-bh", type=("build", "run"), when="@:1.1.1")
diff --git a/var/spack/repos/builtin/packages/r-xnomial/package.py b/var/spack/repos/builtin/packages/r-xnomial/package.py
index d1a0ca61ed..217f664a31 100644
--- a/var/spack/repos/builtin/packages/r-xnomial/package.py
+++ b/var/spack/repos/builtin/packages/r-xnomial/package.py
@@ -24,6 +24,6 @@ class RXnomial(RPackage):
cran = "XNomial"
- version('1.0.4', sha256='e6237f79d96f02bb30af1cf055ae9f70541abba34ce045a9d4359b5304189dd7')
+ version("1.0.4", sha256="e6237f79d96f02bb30af1cf055ae9f70541abba34ce045a9d4359b5304189dd7")
- depends_on('r@2.14:', type=('build', 'run'))
+ depends_on("r@2.14:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xopen/package.py b/var/spack/repos/builtin/packages/r-xopen/package.py
index a8df017ec8..07688a27dc 100644
--- a/var/spack/repos/builtin/packages/r-xopen/package.py
+++ b/var/spack/repos/builtin/packages/r-xopen/package.py
@@ -14,7 +14,7 @@ class RXopen(RPackage):
cran = "xopen"
- version('1.0.0', sha256='e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef')
+ version("1.0.0", sha256="e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef")
- depends_on('r@3.1:', type=('build', 'run'))
- depends_on('r-processx', type=('build', 'run'))
+ depends_on("r@3.1:", type=("build", "run"))
+ depends_on("r-processx", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xtable/package.py b/var/spack/repos/builtin/packages/r-xtable/package.py
index 847922b1bc..16f3c1b9ec 100644
--- a/var/spack/repos/builtin/packages/r-xtable/package.py
+++ b/var/spack/repos/builtin/packages/r-xtable/package.py
@@ -13,8 +13,8 @@ class RXtable(RPackage):
cran = "xtable"
- version('1.8-4', sha256='5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c')
- version('1.8-3', sha256='53b2b0fff8d7a8bba434063c2a01b867f510a4389ded2691fbedbc845f08c325')
- version('1.8-2', sha256='1623a1cde2e130fedb46f98840c3a882f1cbb167b292ef2bd86d70baefc4280d')
+ version("1.8-4", sha256="5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c")
+ version("1.8-3", sha256="53b2b0fff8d7a8bba434063c2a01b867f510a4389ded2691fbedbc845f08c325")
+ version("1.8-2", sha256="1623a1cde2e130fedb46f98840c3a882f1cbb167b292ef2bd86d70baefc4280d")
- depends_on('r@2.10.0:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xts/package.py b/var/spack/repos/builtin/packages/r-xts/package.py
index 027bc61a91..39b593f2ab 100644
--- a/var/spack/repos/builtin/packages/r-xts/package.py
+++ b/var/spack/repos/builtin/packages/r-xts/package.py
@@ -16,8 +16,8 @@ class RXts(RPackage):
cran = "xts"
- version('0.12.1', sha256='d680584af946fc30be0b2046e838cff7b3a65e00df1eadba325ca5e96f3dca2c')
- version('0.11-2', sha256='12772f6a66aab5b84b0665c470f11a3d8d8a992955c027261cfe8e6077ee13b8')
- version('0.9-7', sha256='f11f7cb98f4b92b7f6632a2151257914130880c267736ef5a264b5dc2dfb7098')
+ version("0.12.1", sha256="d680584af946fc30be0b2046e838cff7b3a65e00df1eadba325ca5e96f3dca2c")
+ version("0.11-2", sha256="12772f6a66aab5b84b0665c470f11a3d8d8a992955c027261cfe8e6077ee13b8")
+ version("0.9-7", sha256="f11f7cb98f4b92b7f6632a2151257914130880c267736ef5a264b5dc2dfb7098")
- depends_on('r-zoo@1.7-12:', type=('build', 'run'))
+ depends_on("r-zoo@1.7-12:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-xvector/package.py b/var/spack/repos/builtin/packages/r-xvector/package.py
index a1bfab96bb..45e5a84bbb 100644
--- a/var/spack/repos/builtin/packages/r-xvector/package.py
+++ b/var/spack/repos/builtin/packages/r-xvector/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class RXvector(RPackage):
"""Foundation of external vector representation and manipulation in
- Bioconductor.
+ Bioconductor.
- Provides memory efficient S4 classes for storing sequences "externally"
- (e.g. behind an R external pointer, or on disk)."""
+ Provides memory efficient S4 classes for storing sequences "externally"
+ (e.g. behind an R external pointer, or on disk)."""
bioc = "XVector"
- version('0.36.0', commit='ff6f818ff4357eb9bf00654de9e0f508a5285408')
- version('0.34.0', commit='06adb25ac51c707b90fb8e0637fa06df237a863c')
- version('0.30.0', commit='985e963e0b1c3ff004dd0b07ad7c9ff7ed853ec0')
- version('0.24.0', commit='e5109cb2687724b9fddddf296c07a82bae4c551d')
- version('0.22.0', commit='b5e107a5fd719e18374eb836eb498b529afa4473')
- version('0.20.0', commit='a83a7ea01f6a710f0ba7d9fb021cfa795b291cb4')
- version('0.18.0', commit='27acf47282c9880b54d04dff46c1e50f0c87fa6b')
- version('0.16.0', commit='54615888e1a559da4a81de33e934fc0f1c3ad99f')
+ version("0.36.0", commit="ff6f818ff4357eb9bf00654de9e0f508a5285408")
+ version("0.34.0", commit="06adb25ac51c707b90fb8e0637fa06df237a863c")
+ version("0.30.0", commit="985e963e0b1c3ff004dd0b07ad7c9ff7ed853ec0")
+ version("0.24.0", commit="e5109cb2687724b9fddddf296c07a82bae4c551d")
+ version("0.22.0", commit="b5e107a5fd719e18374eb836eb498b529afa4473")
+ version("0.20.0", commit="a83a7ea01f6a710f0ba7d9fb021cfa795b291cb4")
+ version("0.18.0", commit="27acf47282c9880b54d04dff46c1e50f0c87fa6b")
+ version("0.16.0", commit="54615888e1a559da4a81de33e934fc0f1c3ad99f")
- depends_on('r@2.8.0:', type=('build', 'run'))
- depends_on('r@4.0.0:', type=('build', 'run'), when='@0.34.0:')
- depends_on('r-biocgenerics@0.19.2:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.37.0:', type=('build', 'run'), when='@0.34.0:')
- depends_on('r-s4vectors@0.13.13:', type=('build', 'run'))
- depends_on('r-s4vectors@0.15.14:', type=('build', 'run'), when='@0.18.0:')
- depends_on('r-s4vectors@0.17.24:', type=('build', 'run'), when='@0.20.0:')
- depends_on('r-s4vectors@0.19.15:', type=('build', 'run'), when='@0.22.0:')
- depends_on('r-s4vectors@0.21.13:', type=('build', 'run'), when='@0.24.0:')
- depends_on('r-s4vectors@0.27.12:', type=('build', 'run'), when='@0.30.0:')
- depends_on('r-iranges@2.9.18:', type=('build', 'run'))
- depends_on('r-iranges@2.13.16:', type=('build', 'run'), when='@0.20.0:')
- depends_on('r-iranges@2.15.12:', type=('build', 'run'), when='@0.22.0:')
- depends_on('r-iranges@2.23.9:', type=('build', 'run'), when='@0.30.0:')
- depends_on('r-zlibbioc', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("r@2.8.0:", type=("build", "run"))
+ depends_on("r@4.0.0:", type=("build", "run"), when="@0.34.0:")
+ depends_on("r-biocgenerics@0.19.2:", type=("build", "run"))
+ depends_on("r-biocgenerics@0.37.0:", type=("build", "run"), when="@0.34.0:")
+ depends_on("r-s4vectors@0.13.13:", type=("build", "run"))
+ depends_on("r-s4vectors@0.15.14:", type=("build", "run"), when="@0.18.0:")
+ depends_on("r-s4vectors@0.17.24:", type=("build", "run"), when="@0.20.0:")
+ depends_on("r-s4vectors@0.19.15:", type=("build", "run"), when="@0.22.0:")
+ depends_on("r-s4vectors@0.21.13:", type=("build", "run"), when="@0.24.0:")
+ depends_on("r-s4vectors@0.27.12:", type=("build", "run"), when="@0.30.0:")
+ depends_on("r-iranges@2.9.18:", type=("build", "run"))
+ depends_on("r-iranges@2.13.16:", type=("build", "run"), when="@0.20.0:")
+ depends_on("r-iranges@2.15.12:", type=("build", "run"), when="@0.22.0:")
+ depends_on("r-iranges@2.23.9:", type=("build", "run"), when="@0.30.0:")
+ depends_on("r-zlibbioc", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/r-yaimpute/package.py b/var/spack/repos/builtin/packages/r-yaimpute/package.py
index 114fdc1f91..6ea9423afd 100644
--- a/var/spack/repos/builtin/packages/r-yaimpute/package.py
+++ b/var/spack/repos/builtin/packages/r-yaimpute/package.py
@@ -22,6 +22,6 @@ class RYaimpute(RPackage):
cran = "yaImpute"
- version('1.0-32', sha256='08eee5d851b80aad9c7c80f9531aadd50d60e4b16b3a80657a50212269cd73ff')
+ version("1.0-32", sha256="08eee5d851b80aad9c7c80f9531aadd50d60e4b16b3a80657a50212269cd73ff")
- depends_on('r@3.0:', type=('build', 'run'))
+ depends_on("r@3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-yaml/package.py b/var/spack/repos/builtin/packages/r-yaml/package.py
index 832c2581eb..dad5bac4ac 100644
--- a/var/spack/repos/builtin/packages/r-yaml/package.py
+++ b/var/spack/repos/builtin/packages/r-yaml/package.py
@@ -14,10 +14,10 @@ class RYaml(RPackage):
cran = "yaml"
- version('2.3.5', sha256='3edf6c0554a0e184a25e8bec5721a2e66b4ab0dceb3737428e22705e52eb5140')
- version('2.2.2', sha256='a5dc6aba2719eb4422bdd7d3a7b2223bbb00e4470fa234d8c5b3a6835d99f730')
- version('2.2.1', sha256='1115b7bc2a397fa724956eec916df5160c600c99a3be186d21558dd38d782783')
- version('2.2.0', sha256='55bcac87eca360ab5904914fcff473a6981a1f5e6d2215d2634344d0ac30c546')
- version('2.1.19', sha256='e5db035693ac765e4b5fe1fc2e9711f8ca73e398e3f2bf27cc60def59ccd7f11')
- version('2.1.14', sha256='41a559846f6d44cc2dbcb3fc0becbc50d2766d3dc2aad7cfb97c1f9759ec0875')
- version('2.1.13', sha256='26f69aa2008bcacf3b2f95ef82a4667eaec2f2da8487646f71f1e2635d2d7fa2')
+ version("2.3.5", sha256="3edf6c0554a0e184a25e8bec5721a2e66b4ab0dceb3737428e22705e52eb5140")
+ version("2.2.2", sha256="a5dc6aba2719eb4422bdd7d3a7b2223bbb00e4470fa234d8c5b3a6835d99f730")
+ version("2.2.1", sha256="1115b7bc2a397fa724956eec916df5160c600c99a3be186d21558dd38d782783")
+ version("2.2.0", sha256="55bcac87eca360ab5904914fcff473a6981a1f5e6d2215d2634344d0ac30c546")
+ version("2.1.19", sha256="e5db035693ac765e4b5fe1fc2e9711f8ca73e398e3f2bf27cc60def59ccd7f11")
+ version("2.1.14", sha256="41a559846f6d44cc2dbcb3fc0becbc50d2766d3dc2aad7cfb97c1f9759ec0875")
+ version("2.1.13", sha256="26f69aa2008bcacf3b2f95ef82a4667eaec2f2da8487646f71f1e2635d2d7fa2")
diff --git a/var/spack/repos/builtin/packages/r-yapsa/package.py b/var/spack/repos/builtin/packages/r-yapsa/package.py
index a5f0539cbd..49d0df645c 100644
--- a/var/spack/repos/builtin/packages/r-yapsa/package.py
+++ b/var/spack/repos/builtin/packages/r-yapsa/package.py
@@ -9,49 +9,49 @@ from spack.package import *
class RYapsa(RPackage):
"""Yet Another Package for Signature Analysis.
- This package provides functions and routines useful in the analysis of
- somatic signatures (cf. L. Alexandrov et al., Nature 2013). In
- particular, functions to perform a signature analysis with known
- signatures (LCD = linear combination decomposition) and a signature
- analysis on stratified mutational catalogue (SMC = stratify mutational
- catalogue) are provided."""
+ This package provides functions and routines useful in the analysis of
+ somatic signatures (cf. L. Alexandrov et al., Nature 2013). In
+ particular, functions to perform a signature analysis with known
+ signatures (LCD = linear combination decomposition) and a signature
+ analysis on stratified mutational catalogue (SMC = stratify mutational
+ catalogue) are provided."""
bioc = "YAPSA"
- version('1.22.0', commit='55c2886874f154c737264ce6843089bf3565fa57')
- version('1.20.1', commit='6c3f437911859df6f6e4a9af5571c3a5aafbffb2')
- version('1.16.0', commit='f344cdb81bb886c633f9325f811912fb59d58eb1')
- version('1.10.0', commit='06af18e424868eb0f0be6c80e90cbab1eabf3d73')
- version('1.8.0', commit='402f3f7774fdf8afc7883579ad651c26df0f8fdb')
- version('1.6.0', commit='2455d272b076835ddb36ad21c01ef15af66abc36')
- version('1.4.0', commit='6f24150a0689d5215983975ece96c8c205923c72')
- version('1.2.0', commit='320809b69e470e30a777a383f8341f93064ec24d')
-
- depends_on('r@3.3.0:', type=('build', 'run'))
- depends_on('r@3.6.0:', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-genomicranges', type=('build', 'run'))
- depends_on('r-ggplot2', type=('build', 'run'))
- depends_on('r-limsolve', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-somaticsignatures', type=('build', 'run'))
- depends_on('r-variantannotation', type=('build', 'run'))
- depends_on('r-genomeinfodb', type=('build', 'run'))
- depends_on('r-reshape2', type=('build', 'run'))
- depends_on('r-gridextra', type=('build', 'run'))
- depends_on('r-corrplot', type=('build', 'run'))
- depends_on('r-dendextend', type=('build', 'run'))
- depends_on('r-getoptlong', type=('build', 'run'))
- depends_on('r-circlize', type=('build', 'run'))
- depends_on('r-gtrellis', type=('build', 'run'))
- depends_on('r-doparallel', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-pmcmrplus', type=('build', 'run'), when='@1.20.1:')
- depends_on('r-ggbeeswarm', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-complexheatmap', type=('build', 'run'))
- depends_on('r-keggrest', type=('build', 'run'))
- depends_on('r-biostrings', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-bsgenome-hsapiens-ucsc-hg19', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-magrittr', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-pracma', type=('build', 'run'), when='@1.16.0:')
- depends_on('r-dplyr', type=('build', 'run'), when='@1.16.0:')
-
- depends_on('r-lsei', type=('build', 'run'), when='@:1.10.0')
- depends_on('r-pmcmr', type=('build', 'run'), when='@:1.16.0')
+ version("1.22.0", commit="55c2886874f154c737264ce6843089bf3565fa57")
+ version("1.20.1", commit="6c3f437911859df6f6e4a9af5571c3a5aafbffb2")
+ version("1.16.0", commit="f344cdb81bb886c633f9325f811912fb59d58eb1")
+ version("1.10.0", commit="06af18e424868eb0f0be6c80e90cbab1eabf3d73")
+ version("1.8.0", commit="402f3f7774fdf8afc7883579ad651c26df0f8fdb")
+ version("1.6.0", commit="2455d272b076835ddb36ad21c01ef15af66abc36")
+ version("1.4.0", commit="6f24150a0689d5215983975ece96c8c205923c72")
+ version("1.2.0", commit="320809b69e470e30a777a383f8341f93064ec24d")
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r@3.6.0:", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-genomicranges", type=("build", "run"))
+ depends_on("r-ggplot2", type=("build", "run"))
+ depends_on("r-limsolve", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-somaticsignatures", type=("build", "run"))
+ depends_on("r-variantannotation", type=("build", "run"))
+ depends_on("r-genomeinfodb", type=("build", "run"))
+ depends_on("r-reshape2", type=("build", "run"))
+ depends_on("r-gridextra", type=("build", "run"))
+ depends_on("r-corrplot", type=("build", "run"))
+ depends_on("r-dendextend", type=("build", "run"))
+ depends_on("r-getoptlong", type=("build", "run"))
+ depends_on("r-circlize", type=("build", "run"))
+ depends_on("r-gtrellis", type=("build", "run"))
+ depends_on("r-doparallel", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-pmcmrplus", type=("build", "run"), when="@1.20.1:")
+ depends_on("r-ggbeeswarm", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-complexheatmap", type=("build", "run"))
+ depends_on("r-keggrest", type=("build", "run"))
+ depends_on("r-biostrings", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-bsgenome-hsapiens-ucsc-hg19", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-magrittr", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-pracma", type=("build", "run"), when="@1.16.0:")
+ depends_on("r-dplyr", type=("build", "run"), when="@1.16.0:")
+
+ depends_on("r-lsei", type=("build", "run"), when="@:1.10.0")
+ depends_on("r-pmcmr", type=("build", "run"), when="@:1.16.0")
diff --git a/var/spack/repos/builtin/packages/r-yaqcaffy/package.py b/var/spack/repos/builtin/packages/r-yaqcaffy/package.py
index 99bef85d5c..860d49c252 100644
--- a/var/spack/repos/builtin/packages/r-yaqcaffy/package.py
+++ b/var/spack/repos/builtin/packages/r-yaqcaffy/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RYaqcaffy(RPackage):
"""Affymetrix expression data quality control and reproducibility analysis.
- Quality control of Affymetrix GeneChip expression data and
- reproducibility analysis of human whole genome chips with the MAQC
- reference datasets."""
+ Quality control of Affymetrix GeneChip expression data and
+ reproducibility analysis of human whole genome chips with the MAQC
+ reference datasets."""
bioc = "yaqcaffy"
- version('1.50.0', commit='b32e6b947ca9c4ab7163cfddc084a1bc0a34780e')
- version('1.44.0', commit='00898f3ec9ac0beadbcf57bda3d3c1c99fb0c3c0')
- version('1.42.0', commit='a4af673774165e087499ecc35f96aab6bbfbeea1')
- version('1.40.0', commit='0c78f8ff8f675305f6fa4b052d2482e9aee551bb')
- version('1.38.0', commit='d57100862c2dc0f5e7684f318b9ceda7349352be')
- version('1.36.0', commit='4d46fe77b2c8de2230a77b0c07dd5dd726e3abd6')
+ version("1.50.0", commit="b32e6b947ca9c4ab7163cfddc084a1bc0a34780e")
+ version("1.44.0", commit="00898f3ec9ac0beadbcf57bda3d3c1c99fb0c3c0")
+ version("1.42.0", commit="a4af673774165e087499ecc35f96aab6bbfbeea1")
+ version("1.40.0", commit="0c78f8ff8f675305f6fa4b052d2482e9aee551bb")
+ version("1.38.0", commit="d57100862c2dc0f5e7684f318b9ceda7349352be")
+ version("1.36.0", commit="4d46fe77b2c8de2230a77b0c07dd5dd726e3abd6")
- depends_on('r-simpleaffy@2.19.3:', type=('build', 'run'))
+ depends_on("r-simpleaffy@2.19.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-yarn/package.py b/var/spack/repos/builtin/packages/r-yarn/package.py
index c243d6bd56..c1ba22aa5c 100644
--- a/var/spack/repos/builtin/packages/r-yarn/package.py
+++ b/var/spack/repos/builtin/packages/r-yarn/package.py
@@ -9,32 +9,32 @@ from spack.package import *
class RYarn(RPackage):
"""Robust Multi-Condition RNA-Seq Preprocessing and Normalization.
- Expedite large RNA-Seq analyses using a combination of previously
- developed tools. YARN is meant to make it easier for the user in
- performing basic mis-annotation quality control, filtering, and
- condition-aware normalization. YARN leverages many Bioconductor tools
- and statistical techniques to account for the large heterogeneity and
- sparsity found in very large RNA-seq experiments."""
+ Expedite large RNA-Seq analyses using a combination of previously
+ developed tools. YARN is meant to make it easier for the user in
+ performing basic mis-annotation quality control, filtering, and
+ condition-aware normalization. YARN leverages many Bioconductor tools
+ and statistical techniques to account for the large heterogeneity and
+ sparsity found in very large RNA-seq experiments."""
bioc = "yarn"
- version('1.22.0', commit='0d94152eee4224bf1ca467fad7f2b35c2e1df6b2')
- version('1.20.0', commit='b41e4ef14f980518af2fc59f202ad8ec148e8b47')
- version('1.16.0', commit='ff5a18cb946ffec3cb773fe32af401c8a72d674a')
- version('1.10.0', commit='36ffe84148eb871e93bc8f9e697475319b5ea472')
- version('1.8.1', commit='ee0723d4dbf082b4469ca9c22cce4f1a2ac81c04')
- version('1.6.0', commit='19d1b2ef275f294bd318b86e0d237c271880117d')
- version('1.4.0', commit='36100f40b9e520c072d0d5ebf963723b813f7db0')
- version('1.2.0', commit='28af616ef8c27dcadf6568e276dea8465486a697')
+ version("1.22.0", commit="0d94152eee4224bf1ca467fad7f2b35c2e1df6b2")
+ version("1.20.0", commit="b41e4ef14f980518af2fc59f202ad8ec148e8b47")
+ version("1.16.0", commit="ff5a18cb946ffec3cb773fe32af401c8a72d674a")
+ version("1.10.0", commit="36ffe84148eb871e93bc8f9e697475319b5ea472")
+ version("1.8.1", commit="ee0723d4dbf082b4469ca9c22cce4f1a2ac81c04")
+ version("1.6.0", commit="19d1b2ef275f294bd318b86e0d237c271880117d")
+ version("1.4.0", commit="36100f40b9e520c072d0d5ebf963723b813f7db0")
+ version("1.2.0", commit="28af616ef8c27dcadf6568e276dea8465486a697")
- depends_on('r-biobase', type=('build', 'run'))
- depends_on('r-biomart', type=('build', 'run'))
- depends_on('r-downloader', type=('build', 'run'))
- depends_on('r-edger', type=('build', 'run'))
- depends_on('r-gplots', type=('build', 'run'))
- depends_on('r-limma', type=('build', 'run'))
- depends_on('r-matrixstats', type=('build', 'run'))
- depends_on('r-preprocesscore', type=('build', 'run'))
- depends_on('r-readr', type=('build', 'run'))
- depends_on('r-rcolorbrewer', type=('build', 'run'))
- depends_on('r-quantro', type=('build', 'run'))
+ depends_on("r-biobase", type=("build", "run"))
+ depends_on("r-biomart", type=("build", "run"))
+ depends_on("r-downloader", type=("build", "run"))
+ depends_on("r-edger", type=("build", "run"))
+ depends_on("r-gplots", type=("build", "run"))
+ depends_on("r-limma", type=("build", "run"))
+ depends_on("r-matrixstats", type=("build", "run"))
+ depends_on("r-preprocesscore", type=("build", "run"))
+ depends_on("r-readr", type=("build", "run"))
+ depends_on("r-rcolorbrewer", type=("build", "run"))
+ depends_on("r-quantro", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-yulab-utils/package.py b/var/spack/repos/builtin/packages/r-yulab-utils/package.py
index 4053b549f3..19bc4d14eb 100644
--- a/var/spack/repos/builtin/packages/r-yulab-utils/package.py
+++ b/var/spack/repos/builtin/packages/r-yulab-utils/package.py
@@ -13,4 +13,4 @@ class RYulabUtils(RPackage):
cran = "yulab.utils"
- version('0.0.4', sha256='38850663de53a9166b8e85deb85be1ccf1a5b310bbe4355f3b8bc823ed1b49ae')
+ version("0.0.4", sha256="38850663de53a9166b8e85deb85be1ccf1a5b310bbe4355f3b8bc823ed1b49ae")
diff --git a/var/spack/repos/builtin/packages/r-zcompositions/package.py b/var/spack/repos/builtin/packages/r-zcompositions/package.py
index bd12f2381c..37b27efbf7 100644
--- a/var/spack/repos/builtin/packages/r-zcompositions/package.py
+++ b/var/spack/repos/builtin/packages/r-zcompositions/package.py
@@ -16,11 +16,11 @@ class RZcompositions(RPackage):
cran = "zCompositions"
- version('1.4.0-1', sha256='33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7')
- version('1.4.0', sha256='a00d7d0ba861988b1836e947fd521d58137a4def04a5d7aa73a099314b7e530c')
- version('1.3.4', sha256='ae22c86fe92368a26265933f42eecc518b9b69e7d9b698bc31bfaabfc3c48e95')
+ version("1.4.0-1", sha256="33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7")
+ version("1.4.0", sha256="a00d7d0ba861988b1836e947fd521d58137a4def04a5d7aa73a099314b7e530c")
+ version("1.3.4", sha256="ae22c86fe92368a26265933f42eecc518b9b69e7d9b698bc31bfaabfc3c48e95")
- depends_on('r@2.14.0:', type=('build', 'run'))
- depends_on('r-mass', type=('build', 'run'))
- depends_on('r-nada', type=('build', 'run'))
- depends_on('r-truncnorm', type=('build', 'run'))
+ depends_on("r@2.14.0:", type=("build", "run"))
+ depends_on("r-mass", type=("build", "run"))
+ depends_on("r-nada", type=("build", "run"))
+ depends_on("r-truncnorm", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r-zeallot/package.py b/var/spack/repos/builtin/packages/r-zeallot/package.py
index b712a74892..859645e850 100644
--- a/var/spack/repos/builtin/packages/r-zeallot/package.py
+++ b/var/spack/repos/builtin/packages/r-zeallot/package.py
@@ -16,4 +16,4 @@ class RZeallot(RPackage):
cran = "zeallot"
- version('0.1.0', sha256='439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9')
+ version("0.1.0", sha256="439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9")
diff --git a/var/spack/repos/builtin/packages/r-zip/package.py b/var/spack/repos/builtin/packages/r-zip/package.py
index 10a469a040..0f5e95815e 100644
--- a/var/spack/repos/builtin/packages/r-zip/package.py
+++ b/var/spack/repos/builtin/packages/r-zip/package.py
@@ -15,6 +15,6 @@ class RZip(RPackage):
cran = "zip"
- version('2.2.0', sha256='9f95987c964039834f770ecda2d5f7e3d3a9de553c89db2a5926c4219bf4b9d8')
- version('2.1.1', sha256='11dd417932296d3a25c53aa8d3b908973c4945a496cc473dd321825dfaaa7c2c')
- version('2.0.3', sha256='4a8cb8e41eb630bbf448a0fd56bcaeb752b8484fef98c6419334edf46401317e')
+ version("2.2.0", sha256="9f95987c964039834f770ecda2d5f7e3d3a9de553c89db2a5926c4219bf4b9d8")
+ version("2.1.1", sha256="11dd417932296d3a25c53aa8d3b908973c4945a496cc473dd321825dfaaa7c2c")
+ version("2.0.3", sha256="4a8cb8e41eb630bbf448a0fd56bcaeb752b8484fef98c6419334edf46401317e")
diff --git a/var/spack/repos/builtin/packages/r-zlibbioc/package.py b/var/spack/repos/builtin/packages/r-zlibbioc/package.py
index 57b7837bb0..5e8aaf8ca7 100644
--- a/var/spack/repos/builtin/packages/r-zlibbioc/package.py
+++ b/var/spack/repos/builtin/packages/r-zlibbioc/package.py
@@ -9,18 +9,18 @@ from spack.package import *
class RZlibbioc(RPackage):
"""An R packaged zlib-1.2.5.
- This package uses the source code of zlib-1.2.5 to create libraries for
- systems that do not have these available via other means (most Linux and
- Mac users should have system-level access to zlib, and no direct need
- for this package). See the vignette for instructions on use."""
+ This package uses the source code of zlib-1.2.5 to create libraries for
+ systems that do not have these available via other means (most Linux and
+ Mac users should have system-level access to zlib, and no direct need
+ for this package). See the vignette for instructions on use."""
bioc = "zlibbioc"
- version('1.42.0', commit='aa074d72515df745ad65133ca21d3cad778ccc0e')
- version('1.40.0', commit='3f116b39d104c1ea8288f6b8f0ef94bb95f41f69')
- version('1.36.0', commit='62e888cd7fb482d512c6c31961b657e0b924e357')
- version('1.30.0', commit='99eae5b05968bf6abc9b54b9031afd93517381e0')
- version('1.28.0', commit='b825b042742ba45455fc284b988ff4cd2a33222c')
- version('1.26.0', commit='2e3ab097caa09a5e3ddaa3469b13e19a7224da0d')
- version('1.24.0', commit='2990059338d1b987d098c009b0bfa806bd24afec')
- version('1.22.0', commit='30377f830af2bc1ff17bbf3fdd2cb6442015fea5')
+ version("1.42.0", commit="aa074d72515df745ad65133ca21d3cad778ccc0e")
+ version("1.40.0", commit="3f116b39d104c1ea8288f6b8f0ef94bb95f41f69")
+ version("1.36.0", commit="62e888cd7fb482d512c6c31961b657e0b924e357")
+ version("1.30.0", commit="99eae5b05968bf6abc9b54b9031afd93517381e0")
+ version("1.28.0", commit="b825b042742ba45455fc284b988ff4cd2a33222c")
+ version("1.26.0", commit="2e3ab097caa09a5e3ddaa3469b13e19a7224da0d")
+ version("1.24.0", commit="2990059338d1b987d098c009b0bfa806bd24afec")
+ version("1.22.0", commit="30377f830af2bc1ff17bbf3fdd2cb6442015fea5")
diff --git a/var/spack/repos/builtin/packages/r-zoo/package.py b/var/spack/repos/builtin/packages/r-zoo/package.py
index eec59c30b3..8be846834c 100644
--- a/var/spack/repos/builtin/packages/r-zoo/package.py
+++ b/var/spack/repos/builtin/packages/r-zoo/package.py
@@ -18,14 +18,14 @@ class RZoo(RPackage):
cran = "zoo"
- version('1.8-10', sha256='c9a282d8004c22651c4fa1d657d3cad946c5ec55c4dc068569d860ee9b31ed47')
- version('1.8-9', sha256='b7be259067a8b9d4a8f5d387e0946a5ba1eb43474baa67ccf4f8bf4b15f772a3')
- version('1.8-8', sha256='4e8cc4065047ba12e103b9664f3b607c770673096e9c2b694fad2b2ec3203ce7')
- version('1.8-6', sha256='2217a4f362f2201443b5fdbfd9a77d9a6caeecb05f02d703ee8b3b9bf2af37cc')
- version('1.8-5', sha256='8773969973d28d7d1a48f74b73be1dbd97acb3b22a4668a102e8bb585a7de826')
- version('1.7-14', sha256='4858675fed056a4329c4998517cc944db386447483390bd342de719e0509f598')
- version('1.7-13', sha256='0ca5264d6077c785963705e462aec3e57e0d0651379f9bf4ee32e4f3b25dc754')
+ version("1.8-10", sha256="c9a282d8004c22651c4fa1d657d3cad946c5ec55c4dc068569d860ee9b31ed47")
+ version("1.8-9", sha256="b7be259067a8b9d4a8f5d387e0946a5ba1eb43474baa67ccf4f8bf4b15f772a3")
+ version("1.8-8", sha256="4e8cc4065047ba12e103b9664f3b607c770673096e9c2b694fad2b2ec3203ce7")
+ version("1.8-6", sha256="2217a4f362f2201443b5fdbfd9a77d9a6caeecb05f02d703ee8b3b9bf2af37cc")
+ version("1.8-5", sha256="8773969973d28d7d1a48f74b73be1dbd97acb3b22a4668a102e8bb585a7de826")
+ version("1.7-14", sha256="4858675fed056a4329c4998517cc944db386447483390bd342de719e0509f598")
+ version("1.7-13", sha256="0ca5264d6077c785963705e462aec3e57e0d0651379f9bf4ee32e4f3b25dc754")
- depends_on('r@2.10.0:', type=('build', 'run'))
- depends_on('r@3.1.0:', type=('build', 'run'), when='@1.8-2:')
- depends_on('r-lattice@0.20-27:', type=('build', 'run'))
+ depends_on("r@2.10.0:", type=("build", "run"))
+ depends_on("r@3.1.0:", type=("build", "run"), when="@1.8-2:")
+ depends_on("r-lattice@0.20-27:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py
index 6418d11ebf..78bec3848a 100644
--- a/var/spack/repos/builtin/packages/r/package.py
+++ b/var/spack/repos/builtin/packages/r/package.py
@@ -21,174 +21,167 @@ class R(AutotoolsPackage):
extendable = True
- maintainers = ['glennpj']
-
- version('4.2.0', sha256='38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488')
- version('4.1.3', sha256='15ff5b333c61094060b2a52e9c1d8ec55cc42dd029e39ca22abdaa909526fed6')
- version('4.1.2', sha256='2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af')
- version('4.1.1', sha256='515e03265752257d0b7036f380f82e42b46ed8473f54f25c7b67ed25bbbdd364')
- version('4.1.0', sha256='e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781')
- version('4.0.5', sha256='0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef')
- version('4.0.4', sha256='523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e')
- version('4.0.3', sha256='09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d')
- version('4.0.2', sha256='d3bceab364da0876625e4097808b42512395fdf41292f4915ab1fd257c1bbe75')
- version('4.0.1', sha256='95fe24a4d8d8f8f888460c8f5fe4311cec656e7a1722d233218bc03861bc6f32')
- version('4.0.0', sha256='06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940')
- version('3.6.3', sha256='89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f')
- version('3.6.2', sha256='bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954')
- version('3.6.1', sha256='5baa9ebd3e71acecdcc3da31d9042fb174d55a42829f8315f2457080978b1389')
- version('3.6.0', sha256='36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509')
- version('3.5.3', sha256='2bfa37b7bd709f003d6b8a172ddfb6d03ddd2d672d6096439523039f7a8e678c')
- version('3.5.2', sha256='e53d8c3cf20f2b8d7a9c1631b6f6a22874506fb392034758b3bb341c586c5b62')
- version('3.5.1', sha256='0463bff5eea0f3d93fa071f79c18d0993878fd4f2e18ae6cf22c1639d11457ed')
- version('3.5.0', sha256='fd1725535e21797d3d9fea8963d99be0ba4c3aecadcf081b43e261458b416870')
- version('3.4.4', sha256='b3e97d2fab7256d1c655c4075934725ba1cd7cb9237240a11bb22ccdad960337')
- version('3.4.3', sha256='7a3cb831de5b4151e1f890113ed207527b7d4b16df9ec6b35e0964170007f426')
- version('3.4.2', sha256='971e30c2436cf645f58552905105d75788bd9733bddbcb7c4fbff4c1a6d80c64')
- version('3.4.1', sha256='02b1135d15ea969a3582caeb95594a05e830a6debcdb5b85ed2d5836a6a3fc78')
- version('3.4.0', sha256='288e9ed42457c47720780433b3d5c3c20983048b789291cc6a7baa11f9428b91')
- version('3.3.3', sha256='5ab768053a275084618fb669b4fbaadcc39158998a87e8465323829590bcfc6c')
- version('3.3.2', sha256='d294ad21e9f574fb4828ebb3a94b8cb34f4f304a41687a994be00dd41a4e514c')
- version('3.3.1', sha256='3dc59ae5831f5380f83c169bac2103ad052efe0ecec4ffa74bde4d85a0fda9e2')
- version('3.3.0', sha256='9256b154b1a5993d844bee7b1955cd49c99ad72cef03cce3cd1bdca1310311e4')
- version('3.2.5', sha256='60745672dce5ddc201806fa59f6d4e0ba6554d8ed78d0f9f0d79a629978f80b5')
- version('3.2.3', sha256='b93b7d878138279234160f007cb9b7f81b8a72c012a15566e9ec5395cfd9b6c1')
- version('3.2.2', sha256='9c9152e74134b68b0f3a1c7083764adc1cb56fd8336bec003fd0ca550cd2461d')
- version('3.2.1', sha256='d59dbc3f04f4604a5cf0fb210b8ea703ef2438b3ee65fd5ab536ec5234f4c982')
- version('3.2.0', sha256='f5ae953f18ba6f3d55b46556bbbf73441350f9fd22625402b723a2b81ff64f35')
- version('3.1.3', sha256='07e98323935baa38079204bfb9414a029704bb9c0ca5ab317020ae521a377312')
- version('3.1.2', sha256='bcd150afcae0e02f6efb5f35a6ab72432be82e849ec52ce0bb89d8c342a8fa7a')
-
- variant('external-lapack', default=False,
- description='Links to externally installed BLAS/LAPACK')
- variant('X', default=False,
- description='Enable X11 support (TCLTK, PNG, JPEG, TIFF, CAIRO)')
- variant('memory_profiling', default=False,
- description='Enable memory profiling')
- variant('rmath', default=False,
- description='Build standalone Rmath library')
-
- depends_on('blas', when='+external-lapack')
- depends_on('lapack', when='+external-lapack')
- depends_on('bzip2')
- depends_on('curl+libidn2')
- depends_on('icu4c')
- depends_on('java')
- depends_on('ncurses')
- depends_on('pcre', when='@:3.6.3')
- depends_on('pcre2', when='@4:')
- depends_on('readline')
- depends_on('xz')
- depends_on('which', type=('build', 'run'))
- depends_on('zlib@1.2.5:')
- depends_on('cairo+X+gobject+pdf', when='+X')
- depends_on('pango+X', when='+X')
- depends_on('harfbuzz+graphite2', when='+X')
- depends_on('jpeg', when='+X')
- depends_on('libpng', when='+X')
- depends_on('libtiff', when='+X')
- depends_on('libx11', when='+X')
- depends_on('libxmu', when='+X')
- depends_on('libxt', when='+X')
- depends_on('tk', when='+X')
-
- patch('zlib.patch', when='@:3.3.2')
+ maintainers = ["glennpj"]
+
+ version("4.2.0", sha256="38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488")
+ version("4.1.3", sha256="15ff5b333c61094060b2a52e9c1d8ec55cc42dd029e39ca22abdaa909526fed6")
+ version("4.1.2", sha256="2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af")
+ version("4.1.1", sha256="515e03265752257d0b7036f380f82e42b46ed8473f54f25c7b67ed25bbbdd364")
+ version("4.1.0", sha256="e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781")
+ version("4.0.5", sha256="0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef")
+ version("4.0.4", sha256="523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e")
+ version("4.0.3", sha256="09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d")
+ version("4.0.2", sha256="d3bceab364da0876625e4097808b42512395fdf41292f4915ab1fd257c1bbe75")
+ version("4.0.1", sha256="95fe24a4d8d8f8f888460c8f5fe4311cec656e7a1722d233218bc03861bc6f32")
+ version("4.0.0", sha256="06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940")
+ version("3.6.3", sha256="89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f")
+ version("3.6.2", sha256="bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954")
+ version("3.6.1", sha256="5baa9ebd3e71acecdcc3da31d9042fb174d55a42829f8315f2457080978b1389")
+ version("3.6.0", sha256="36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509")
+ version("3.5.3", sha256="2bfa37b7bd709f003d6b8a172ddfb6d03ddd2d672d6096439523039f7a8e678c")
+ version("3.5.2", sha256="e53d8c3cf20f2b8d7a9c1631b6f6a22874506fb392034758b3bb341c586c5b62")
+ version("3.5.1", sha256="0463bff5eea0f3d93fa071f79c18d0993878fd4f2e18ae6cf22c1639d11457ed")
+ version("3.5.0", sha256="fd1725535e21797d3d9fea8963d99be0ba4c3aecadcf081b43e261458b416870")
+ version("3.4.4", sha256="b3e97d2fab7256d1c655c4075934725ba1cd7cb9237240a11bb22ccdad960337")
+ version("3.4.3", sha256="7a3cb831de5b4151e1f890113ed207527b7d4b16df9ec6b35e0964170007f426")
+ version("3.4.2", sha256="971e30c2436cf645f58552905105d75788bd9733bddbcb7c4fbff4c1a6d80c64")
+ version("3.4.1", sha256="02b1135d15ea969a3582caeb95594a05e830a6debcdb5b85ed2d5836a6a3fc78")
+ version("3.4.0", sha256="288e9ed42457c47720780433b3d5c3c20983048b789291cc6a7baa11f9428b91")
+ version("3.3.3", sha256="5ab768053a275084618fb669b4fbaadcc39158998a87e8465323829590bcfc6c")
+ version("3.3.2", sha256="d294ad21e9f574fb4828ebb3a94b8cb34f4f304a41687a994be00dd41a4e514c")
+ version("3.3.1", sha256="3dc59ae5831f5380f83c169bac2103ad052efe0ecec4ffa74bde4d85a0fda9e2")
+ version("3.3.0", sha256="9256b154b1a5993d844bee7b1955cd49c99ad72cef03cce3cd1bdca1310311e4")
+ version("3.2.5", sha256="60745672dce5ddc201806fa59f6d4e0ba6554d8ed78d0f9f0d79a629978f80b5")
+ version("3.2.3", sha256="b93b7d878138279234160f007cb9b7f81b8a72c012a15566e9ec5395cfd9b6c1")
+ version("3.2.2", sha256="9c9152e74134b68b0f3a1c7083764adc1cb56fd8336bec003fd0ca550cd2461d")
+ version("3.2.1", sha256="d59dbc3f04f4604a5cf0fb210b8ea703ef2438b3ee65fd5ab536ec5234f4c982")
+ version("3.2.0", sha256="f5ae953f18ba6f3d55b46556bbbf73441350f9fd22625402b723a2b81ff64f35")
+ version("3.1.3", sha256="07e98323935baa38079204bfb9414a029704bb9c0ca5ab317020ae521a377312")
+ version("3.1.2", sha256="bcd150afcae0e02f6efb5f35a6ab72432be82e849ec52ce0bb89d8c342a8fa7a")
+
+ variant(
+ "external-lapack", default=False, description="Links to externally installed BLAS/LAPACK"
+ )
+ variant("X", default=False, description="Enable X11 support (TCLTK, PNG, JPEG, TIFF, CAIRO)")
+ variant("memory_profiling", default=False, description="Enable memory profiling")
+ variant("rmath", default=False, description="Build standalone Rmath library")
+
+ depends_on("blas", when="+external-lapack")
+ depends_on("lapack", when="+external-lapack")
+ depends_on("bzip2")
+ depends_on("curl+libidn2")
+ depends_on("icu4c")
+ depends_on("java")
+ depends_on("ncurses")
+ depends_on("pcre", when="@:3.6.3")
+ depends_on("pcre2", when="@4:")
+ depends_on("readline")
+ depends_on("xz")
+ depends_on("which", type=("build", "run"))
+ depends_on("zlib@1.2.5:")
+ depends_on("cairo+X+gobject+pdf", when="+X")
+ depends_on("pango+X", when="+X")
+ depends_on("harfbuzz+graphite2", when="+X")
+ depends_on("jpeg", when="+X")
+ depends_on("libpng", when="+X")
+ depends_on("libtiff", when="+X")
+ depends_on("libx11", when="+X")
+ depends_on("libxmu", when="+X")
+ depends_on("libxt", when="+X")
+ depends_on("tk", when="+X")
+
+ patch("zlib.patch", when="@:3.3.2")
# R cannot be built with '-O2' optimization
# with Fujitsu Compiler @4.1.0 now.
# Until the Fujitsu compiler resolves this problem,
# temporary fix to lower the optimization level.
- patch('change_optflags_tmp.patch', when='%fj@4.1.0')
+ patch("change_optflags_tmp.patch", when="%fj@4.1.0")
# R custom URL version
def url_for_version(self, version):
"""Handle R's customed URL versions"""
- url = 'https://cloud.r-project.org/src/base'
- return url + '/R-%s/R-%s.tar.gz' % (version.up_to(1), version)
+ url = "https://cloud.r-project.org/src/base"
+ return url + "/R-%s/R-%s.tar.gz" % (version.up_to(1), version)
- filter_compiler_wrappers(
- 'Makeconf', relative_root=os.path.join('rlib', 'R', 'etc')
- )
+ filter_compiler_wrappers("Makeconf", relative_root=os.path.join("rlib", "R", "etc"))
@property
def etcdir(self):
- return join_path(prefix, 'rlib', 'R', 'etc')
+ return join_path(prefix, "rlib", "R", "etc")
- @run_after('install')
+ @run_after("install")
def install_rmath(self):
- if '+rmath' in self.spec:
- with working_dir('src/nmath/standalone'):
+ if "+rmath" in self.spec:
+ with working_dir("src/nmath/standalone"):
make()
- make('install', parallel=False)
+ make("install", parallel=False)
def configure_args(self):
- spec = self.spec
+ spec = self.spec
prefix = self.prefix
config_args = [
- '--libdir={0}'.format(join_path(prefix, 'rlib')),
- '--enable-R-shlib',
- '--enable-BLAS-shlib',
- '--enable-R-framework=no',
- '--without-recommended-packages',
- 'LDFLAGS=-L{0} -Wl,-rpath,{0}'.format(join_path(prefix, 'rlib',
- 'R', 'lib')),
+ "--libdir={0}".format(join_path(prefix, "rlib")),
+ "--enable-R-shlib",
+ "--enable-BLAS-shlib",
+ "--enable-R-framework=no",
+ "--without-recommended-packages",
+ "LDFLAGS=-L{0} -Wl,-rpath,{0}".format(join_path(prefix, "rlib", "R", "lib")),
]
- if '+external-lapack' in spec:
- if '^mkl' in spec and 'gfortran' in self.compiler.fc:
- mkl_re = re.compile(r'(mkl_)intel(_i?lp64\b)')
- config_args.extend([
- mkl_re.sub(r'\g<1>gf\g<2>',
- '--with-blas={0}'.format(
- spec['blas'].libs.ld_flags)),
- '--with-lapack'
- ])
+ if "+external-lapack" in spec:
+ if "^mkl" in spec and "gfortran" in self.compiler.fc:
+ mkl_re = re.compile(r"(mkl_)intel(_i?lp64\b)")
+ config_args.extend(
+ [
+ mkl_re.sub(
+ r"\g<1>gf\g<2>", "--with-blas={0}".format(spec["blas"].libs.ld_flags)
+ ),
+ "--with-lapack",
+ ]
+ )
else:
- config_args.extend([
- '--with-blas={0}'.format(spec['blas'].libs.ld_flags),
- '--with-lapack'
- ])
-
- if '+X' in spec:
- config_args.append('--with-cairo')
- config_args.append('--with-jpeglib')
- config_args.append('--with-libpng')
- config_args.append('--with-libtiff')
- config_args.append('--with-tcltk')
- config_args.append('--with-x')
-
- tcl_config_path = join_path(
- spec['tcl'].libs.directories[0], 'tclConfig.sh')
- config_args.append('--with-tcl-config={0}'.format(tcl_config_path))
-
- tk_config_path = join_path(
- spec['tk'].libs.directories[0], 'tkConfig.sh')
- config_args.append('--with-tk-config={0}'.format(tk_config_path))
+ config_args.extend(
+ ["--with-blas={0}".format(spec["blas"].libs.ld_flags), "--with-lapack"]
+ )
+
+ if "+X" in spec:
+ config_args.append("--with-cairo")
+ config_args.append("--with-jpeglib")
+ config_args.append("--with-libpng")
+ config_args.append("--with-libtiff")
+ config_args.append("--with-tcltk")
+ config_args.append("--with-x")
+
+ tcl_config_path = join_path(spec["tcl"].libs.directories[0], "tclConfig.sh")
+ config_args.append("--with-tcl-config={0}".format(tcl_config_path))
+
+ tk_config_path = join_path(spec["tk"].libs.directories[0], "tkConfig.sh")
+ config_args.append("--with-tk-config={0}".format(tk_config_path))
else:
- config_args.append('--without-cairo')
- config_args.append('--without-jpeglib')
- config_args.append('--without-libpng')
- config_args.append('--without-libtiff')
- config_args.append('--without-tcltk')
- config_args.append('--without-x')
+ config_args.append("--without-cairo")
+ config_args.append("--without-jpeglib")
+ config_args.append("--without-libpng")
+ config_args.append("--without-libtiff")
+ config_args.append("--without-tcltk")
+ config_args.append("--without-x")
- if '+memory_profiling' in spec:
- config_args.append('--enable-memory-profiling')
+ if "+memory_profiling" in spec:
+ config_args.append("--enable-memory-profiling")
# Set FPICFLAGS for compilers except 'gcc'.
- if self.compiler.name != 'gcc':
- config_args.append('FPICFLAGS={0}'.format(
- self.compiler.cc_pic_flag))
+ if self.compiler.name != "gcc":
+ config_args.append("FPICFLAGS={0}".format(self.compiler.cc_pic_flag))
return config_args
- @run_after('install')
+ @run_after("install")
def copy_makeconf(self):
# Make a copy of Makeconf because it will be needed to properly build R
# dependencies in Spack.
- src_makeconf = join_path(self.etcdir, 'Makeconf')
- dst_makeconf = join_path(self.etcdir, 'Makeconf.spack')
+ src_makeconf = join_path(self.etcdir, "Makeconf")
+ dst_makeconf = join_path(self.etcdir, "Makeconf.spack")
install(src_makeconf, dst_makeconf)
# ========================================================================
@@ -197,47 +190,41 @@ class R(AutotoolsPackage):
@property
def r_lib_dir(self):
- return join_path('rlib', 'R', 'library')
+ return join_path("rlib", "R", "library")
def setup_dependent_build_environment(self, env, dependent_spec):
# Set R_LIBS to include the library dir for the
# extension and any other R extensions it depends on.
r_libs_path = []
- for d in dependent_spec.traverse(
- deptype=('build', 'run'), deptype_query='run'):
+ for d in dependent_spec.traverse(deptype=("build", "run"), deptype_query="run"):
if d.package.extends(self.spec):
r_libs_path.append(join_path(d.prefix, self.r_lib_dir))
- r_libs_path = ':'.join(r_libs_path)
- env.set('R_LIBS', r_libs_path)
+ r_libs_path = ":".join(r_libs_path)
+ env.set("R_LIBS", r_libs_path)
# R_LIBS_USER gets set to a directory in HOME/R if it is not set, such as
# during package installation with the --vanilla flag. Set it to null
# to ensure that it does not point to a directory that may contain R
# packages.
- env.set('R_LIBS_USER', '')
- env.set('R_MAKEVARS_SITE',
- join_path(self.etcdir, 'Makeconf.spack'))
+ env.set("R_LIBS_USER", "")
+ env.set("R_MAKEVARS_SITE", join_path(self.etcdir, "Makeconf.spack"))
# Use the number of make_jobs set in spack. The make program will
# determine how many jobs can actually be started.
- env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
+ env.set("MAKEFLAGS", "-j{0}".format(make_jobs))
def setup_dependent_run_environment(self, env, dependent_spec):
# For run time environment set only the path for dependent_spec and
# prepend it to R_LIBS
if dependent_spec.package.extends(self.spec):
- env.prepend_path('R_LIBS', join_path(
- dependent_spec.prefix, self.r_lib_dir))
+ env.prepend_path("R_LIBS", join_path(dependent_spec.prefix, self.r_lib_dir))
def setup_run_environment(self, env):
- env.prepend_path('LD_LIBRARY_PATH',
- join_path(self.prefix, 'rlib', 'R', 'lib'))
- env.prepend_path('PKG_CONFIG_PATH',
- join_path(self.prefix, 'rlib', 'pkgconfig'))
+ env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "rlib", "R", "lib"))
+ env.prepend_path("PKG_CONFIG_PATH", join_path(self.prefix, "rlib", "pkgconfig"))
- if '+rmath' in self.spec:
- env.prepend_path('LD_LIBRARY_PATH',
- join_path(self.prefix, 'rlib'))
+ if "+rmath" in self.spec:
+ env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "rlib"))
def setup_dependent_package(self, module, dependent_spec):
"""Called before R modules' install() methods. In most cases,
@@ -246,7 +233,7 @@ class R(AutotoolsPackage):
self.stage.source_path)"""
# R extension builds can have a global R executable function
- module.R = Executable(join_path(self.spec.prefix.bin, 'R'))
+ module.R = Executable(join_path(self.spec.prefix.bin, "R"))
# Add variable for library directry
module.r_lib_dir = join_path(dependent_spec.prefix, self.r_lib_dir)
diff --git a/var/spack/repos/builtin/packages/r3d/package.py b/var/spack/repos/builtin/packages/r3d/package.py
index e5fb9eb704..3faf932768 100644
--- a/var/spack/repos/builtin/packages/r3d/package.py
+++ b/var/spack/repos/builtin/packages/r3d/package.py
@@ -11,75 +11,78 @@ class R3d(CMakePackage):
conservative voxelization."""
homepage = "https://github.com/devonmpowell/r3d"
- git = "https://github.com/devonmpowell/r3d.git"
+ git = "https://github.com/devonmpowell/r3d.git"
- maintainers = ['raovgarimella', 'gaber']
+ maintainers = ["raovgarimella", "gaber"]
- version('master', branch='master')
- version('2021-03-16', commit='5978a3f9cc145a52eecbf89c44d7fd2166b4c778')
- version('2019-04-24', commit='86cea79c124c6a8edd8c8cdea61e3e923acb0b22', deprecated=True)
- version('2018-12-19', commit='47308f68c782ed3227d3dab1eff24d41f6421f21', deprecated=True)
- version('2018-01-07', commit='d6799a582256a120ef3bd7e18959e96cba0e5495', deprecated=True)
+ version("master", branch="master")
+ version("2021-03-16", commit="5978a3f9cc145a52eecbf89c44d7fd2166b4c778")
+ version("2019-04-24", commit="86cea79c124c6a8edd8c8cdea61e3e923acb0b22", deprecated=True)
+ version("2018-12-19", commit="47308f68c782ed3227d3dab1eff24d41f6421f21", deprecated=True)
+ version("2018-01-07", commit="d6799a582256a120ef3bd7e18959e96cba0e5495", deprecated=True)
variant(
"r3d_max_verts",
- default='0',
+ default="0",
description=(
- "Maximum number of vertices allowed in a polyhedron "
- "(versions 2021-03-10 or later)"
- )
+ "Maximum number of vertices allowed in a polyhedron " "(versions 2021-03-10 or later)"
+ ),
)
# Bypass CMake for older builds
- variant("test", default=False, description="Build R3D regression tests (versions 2019-04-24 or earlier)")
+ variant(
+ "test",
+ default=False,
+ description="Build R3D regression tests (versions 2019-04-24 or earlier)",
+ )
- @when('@:2019-04-24')
+ @when("@:2019-04-24")
def cmake(self, spec, prefix):
pass
- @when('@:2019-04-24')
+ @when("@:2019-04-24")
def build(self, spec, prefix):
make_args = [
- 'CC={0}'.format(spack_cc),
+ "CC={0}".format(spack_cc),
]
- make('libr3d.a', *make_args)
+ make("libr3d.a", *make_args)
- if '+test' in spec:
- with working_dir('tests'):
- make('all', *make_args)
+ if "+test" in spec:
+ with working_dir("tests"):
+ make("all", *make_args)
- @when('@:2019-04-24')
+ @when("@:2019-04-24")
def install(self, spec, prefix):
# R3D does not have an install target so create our own here.
mkdirp(prefix.include)
- my_headers = find('.', '*.h', recursive=False)
+ my_headers = find(".", "*.h", recursive=False)
for my_header in my_headers:
install(my_header, prefix.include)
mkdirp(prefix.lib)
- install('libr3d.a', prefix.lib)
+ install("libr3d.a", prefix.lib)
- if '+test' in spec:
- with working_dir('tests'):
+ if "+test" in spec:
+ with working_dir("tests"):
# R3D does not have an install target so create our own here.
mkdirp(prefix.test)
- install('r2d_unit_tests', prefix.test)
- install('r3d_unit_tests', prefix.test)
- install('rNd_unit_tests', prefix.test)
+ install("r2d_unit_tests", prefix.test)
+ install("r3d_unit_tests", prefix.test)
+ install("rNd_unit_tests", prefix.test)
# CMake support was added in 2021-03-10
- @when('@2021-03-10:')
+ @when("@2021-03-10:")
def cmake_args(self):
options = []
- r3d_max_verts = self.spec.variants['r3d_max_verts'].value
- if (r3d_max_verts != '0'):
- options.append('-DR3D_MAX_VERTS=' + r3d_max_verts)
+ r3d_max_verts = self.spec.variants["r3d_max_verts"].value
+ if r3d_max_verts != "0":
+ options.append("-DR3D_MAX_VERTS=" + r3d_max_verts)
if self.run_tests:
- options.append('-DENABLE_UNIT_TESTS=ON')
+ options.append("-DENABLE_UNIT_TESTS=ON")
else:
- options.append('-DENABLE_UNIT_TESTS=OFF')
+ options.append("-DENABLE_UNIT_TESTS=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/rabbitmq/package.py b/var/spack/repos/builtin/packages/rabbitmq/package.py
index 015f966a91..56070d5b43 100644
--- a/var/spack/repos/builtin/packages/rabbitmq/package.py
+++ b/var/spack/repos/builtin/packages/rabbitmq/package.py
@@ -15,9 +15,9 @@ class Rabbitmq(Package):
"""
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"
+ 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')
+ version("3.6.15", sha256="04e6a291642f80e87fc892d5e8ea309fb3fab85ebb64a79a70dfe6c6cfde36fb")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/racket/package.py b/var/spack/repos/builtin/packages/racket/package.py
index 335bd341e3..c447202220 100644
--- a/var/spack/repos/builtin/packages/racket/package.py
+++ b/var/spack/repos/builtin/packages/racket/package.py
@@ -11,39 +11,43 @@ class Racket(Package):
homepage = "https://www.racket-lang.org"
- maintainers = ['arjunguha', 'elfprince13']
+ maintainers = ["arjunguha", "elfprince13"]
- version('8.3', '3b963cd29ae119e1acc2c6dc4781bd9f25027979589caaae3fdfc021aac2324b')
+ version("8.3", "3b963cd29ae119e1acc2c6dc4781bd9f25027979589caaae3fdfc021aac2324b")
- depends_on('libffi', type=('build', 'link', 'run'))
- depends_on('patchutils')
- depends_on('libtool', type=('build'))
+ depends_on("libffi", type=("build", "link", "run"))
+ depends_on("patchutils")
+ depends_on("libtool", type=("build"))
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
def url_for_version(self, version):
- return "https://mirror.racket-lang.org/installers/{0}/racket-minimal-{0}-src-builtpkgs.tgz".format(version)
+ return "https://mirror.racket-lang.org/installers/{0}/racket-minimal-{0}-src-builtpkgs.tgz".format(
+ version
+ )
- variant('cs', default=True, description='Build Racket CS (new ChezScheme VM)')
- variant('bc', default=False, description='Build Racket BC (old MZScheme VM)')
- variant('shared', default=True, description="Enable shared")
- variant('jit', default=True, description="Just-in-Time Compilation")
+ variant("cs", default=True, description="Build Racket CS (new ChezScheme VM)")
+ variant("bc", default=False, description="Build Racket BC (old MZScheme VM)")
+ variant("shared", default=True, description="Enable shared")
+ variant("jit", default=True, description="Just-in-Time Compilation")
parallel = False
extendable = True
def toggle(self, spec, variant):
- toggle_text = ("enable" if spec.variants[variant].value else "disable")
+ toggle_text = "enable" if spec.variants[variant].value else "disable"
return "--{0}-{1}".format(toggle_text, variant)
def configure(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
configure = Executable("./configure")
- configure_args = [self.toggle(spec, 'cs'),
- self.toggle(spec, 'bc'),
- self.toggle(spec, 'jit')]
- toggle_shared = self.toggle(spec, 'shared')
- if sys.platform == 'darwin':
+ configure_args = [
+ self.toggle(spec, "cs"),
+ self.toggle(spec, "bc"),
+ self.toggle(spec, "jit"),
+ ]
+ toggle_shared = self.toggle(spec, "shared")
+ if sys.platform == "darwin":
configure_args += ["--enable-macprefix"]
if "+xonx" in spec:
configure_args += ["--enable-xonx", toggle_shared]
@@ -53,15 +57,15 @@ class Racket(Package):
configure(*configure_args)
def build(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
if spec.variants["bc"].value:
make("bc")
if spec.variants["cs"].value:
make("cs")
def install(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
if spec.variants["bc"].value:
- make('install-bc')
+ make("install-bc")
if spec.variants["cs"].value:
- make('install-cs')
+ make("install-cs")
diff --git a/var/spack/repos/builtin/packages/racon/package.py b/var/spack/repos/builtin/packages/racon/package.py
index 1c0ff6d046..c8cdd146a1 100644
--- a/var/spack/repos/builtin/packages/racon/package.py
+++ b/var/spack/repos/builtin/packages/racon/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class Racon(CMakePackage):
"""Ultrafast consensus module for raw de novo genome assembly of long
- uncorrected reads."""
+ uncorrected reads."""
homepage = "https://github.com/isovic/racon"
- url = "https://github.com/isovic/racon/releases/download/1.2.1/racon-v1.2.1.tar.gz"
+ url = "https://github.com/isovic/racon/releases/download/1.2.1/racon-v1.2.1.tar.gz"
- version('1.4.3', sha256='dfce0bae8234c414ef72b690247701b4299e39a2593bcda548a7a864f51de7f2')
- version('1.4.2', sha256='b36d8b767e0fc9acdd3e9d34c99a8bbc02a3aae7a953c57923d935ebdf332700')
- version('1.4.0', sha256='3e1e97388f428326342dead3f8500e72b1986f292bdfd4d1be4a0d2a21f4cc61')
- version('1.3.3', sha256='174afde420ed2e187e57c1a6e9fc6a414aa26723b4ae83c3904640fc84941e66')
- version('1.3.2', sha256='7c99380a0f1091f5ee138b559e318d7e9463d3145eac026bf236751c2c4b92c7')
- version('1.3.1', sha256='7ce3b1ce6abdb6c6a63d50755b1fc55d5a4d2ab8f86a1df81890d4a7842d9b75')
- version('1.3.0', sha256='f2331fb88eae5c54227dc16651607af6f045ae1ccccc1d117011762927d4606a')
- version('1.2.1', sha256='6e4b752b7cb6ab13b5e8cb9db58188cf1a3a61c4dcc565c8849bf4868b891bf8')
+ version("1.4.3", sha256="dfce0bae8234c414ef72b690247701b4299e39a2593bcda548a7a864f51de7f2")
+ version("1.4.2", sha256="b36d8b767e0fc9acdd3e9d34c99a8bbc02a3aae7a953c57923d935ebdf332700")
+ version("1.4.0", sha256="3e1e97388f428326342dead3f8500e72b1986f292bdfd4d1be4a0d2a21f4cc61")
+ version("1.3.3", sha256="174afde420ed2e187e57c1a6e9fc6a414aa26723b4ae83c3904640fc84941e66")
+ version("1.3.2", sha256="7c99380a0f1091f5ee138b559e318d7e9463d3145eac026bf236751c2c4b92c7")
+ version("1.3.1", sha256="7ce3b1ce6abdb6c6a63d50755b1fc55d5a4d2ab8f86a1df81890d4a7842d9b75")
+ version("1.3.0", sha256="f2331fb88eae5c54227dc16651607af6f045ae1ccccc1d117011762927d4606a")
+ version("1.2.1", sha256="6e4b752b7cb6ab13b5e8cb9db58188cf1a3a61c4dcc565c8849bf4868b891bf8")
- depends_on('cmake@3.2:', type='build')
- depends_on('python', type='build')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("cmake@3.2:", type="build")
+ depends_on("python", type="build")
+ depends_on("sse2neon", when="target=aarch64:")
- conflicts('%gcc@:4.7,10.1.0:')
- conflicts('%clang@:3.1')
+ conflicts("%gcc@:4.7,10.1.0:")
+ conflicts("%clang@:3.1")
- patch('aarch64.patch', when='target=aarch64:')
+ patch("aarch64.patch", when="target=aarch64:")
def cmake_args(self):
- args = ['-Dracon_build_wrapper=ON']
+ args = ["-Dracon_build_wrapper=ON"]
return args
diff --git a/var/spack/repos/builtin/packages/raft/package.py b/var/spack/repos/builtin/packages/raft/package.py
index fe8aa4923f..d874da1210 100644
--- a/var/spack/repos/builtin/packages/raft/package.py
+++ b/var/spack/repos/builtin/packages/raft/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class Raft(CMakePackage):
"""RAFT: Reconstruct Algorithms for Tomography.
- Toolbox under development at Brazilian Synchrotron Light Source."""
+ Toolbox under development at Brazilian Synchrotron Light Source."""
homepage = "https://bitbucket.org/gill_martinez/raft_aps"
- url = "https://bitbucket.org/gill_martinez/raft_aps/get/1.2.3.tar.gz"
- git = "https://bitbucket.org/gill_martinez/raft_aps.git"
+ url = "https://bitbucket.org/gill_martinez/raft_aps/get/1.2.3.tar.gz"
+ git = "https://bitbucket.org/gill_martinez/raft_aps.git"
- version('develop', branch='master')
- version('1.2.3', sha256='c41630e74491c8db272dcf4707e9b11cdcb226c0b7e978ca6eba8006f47bdae6')
+ version("develop", branch="master")
+ version("1.2.3", sha256="c41630e74491c8db272dcf4707e9b11cdcb226c0b7e978ca6eba8006f47bdae6")
- depends_on('mpi')
- depends_on('cmake', type='build')
- depends_on('hdf5')
- depends_on('fftw')
- depends_on('cuda')
+ depends_on("mpi")
+ depends_on("cmake", type="build")
+ depends_on("hdf5")
+ depends_on("fftw")
+ depends_on("cuda")
def install(self, spec, prefix):
"""RAFT lacks an install in its CMakeList"""
@@ -31,4 +31,4 @@ class Raft(CMakePackage):
mkdirp(prefix)
# We only care about the binary
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ragel/package.py b/var/spack/repos/builtin/packages/ragel/package.py
index 37c9631206..464dd72c62 100644
--- a/var/spack/repos/builtin/packages/ragel/package.py
+++ b/var/spack/repos/builtin/packages/ragel/package.py
@@ -15,10 +15,11 @@ class Ragel(AutotoolsPackage):
recognition of a regular language. Code embedding is done using
inline operators that do not disrupt the regular language syntax.
"""
+
homepage = "https://www.colm.net/open-source/ragel"
- git = "git://colm.net/ragel.git"
- url = "https://www.colm.net/files/ragel/ragel-6.10.tar.gz"
+ git = "git://colm.net/ragel.git"
+ url = "https://www.colm.net/files/ragel/ragel-6.10.tar.gz"
- version('6.10', sha256='5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f')
+ version("6.10", sha256="5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f")
- depends_on('colm', type='build')
+ depends_on("colm", type="build")
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
index f33cc84822..c61b9f2ada 100644
--- a/var/spack/repos/builtin/packages/raja/package.py
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -12,70 +12,72 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
"""RAJA Parallel Framework."""
homepage = "https://software.llnl.gov/RAJA/"
- git = "https://github.com/LLNL/RAJA.git"
- tags = ['radiuss', 'e4s']
-
- maintainers = ['davidbeckingsale']
-
- version('develop', branch='develop', submodules=False)
- version('main', branch='main', submodules=False)
- version('2022.03.0', tag='v2022.03.0', submodules=False)
- 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")
- version('0.11.0', tag='v0.11.0', submodules="True")
- version('0.10.1', tag='v0.10.1', submodules="True")
- version('0.10.0', tag='v0.10.0', submodules="True")
- version('0.9.0', tag='v0.9.0', submodules="True")
- version('0.8.0', tag='v0.8.0', submodules="True")
- version('0.7.0', tag='v0.7.0', submodules="True")
- version('0.6.0', tag='v0.6.0', submodules="True")
- version('0.5.3', tag='v0.5.3', submodules="True")
- version('0.5.2', tag='v0.5.2', submodules="True")
- version('0.5.1', tag='v0.5.1', submodules="True")
- version('0.5.0', tag='v0.5.0', submodules="True")
- version('0.4.1', tag='v0.4.1', submodules="True")
- version('0.4.0', tag='v0.4.0', submodules="True")
+ git = "https://github.com/LLNL/RAJA.git"
+ tags = ["radiuss", "e4s"]
+
+ maintainers = ["davidbeckingsale"]
+
+ version("develop", branch="develop", submodules=False)
+ version("main", branch="main", submodules=False)
+ version("2022.03.0", tag="v2022.03.0", submodules=False)
+ 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")
+ version("0.11.0", tag="v0.11.0", submodules="True")
+ version("0.10.1", tag="v0.10.1", submodules="True")
+ version("0.10.0", tag="v0.10.0", submodules="True")
+ version("0.9.0", tag="v0.9.0", submodules="True")
+ version("0.8.0", tag="v0.8.0", submodules="True")
+ version("0.7.0", tag="v0.7.0", submodules="True")
+ version("0.6.0", tag="v0.6.0", submodules="True")
+ version("0.5.3", tag="v0.5.3", submodules="True")
+ version("0.5.2", tag="v0.5.2", submodules="True")
+ version("0.5.1", tag="v0.5.1", submodules="True")
+ version("0.5.0", tag="v0.5.0", submodules="True")
+ version("0.4.1", tag="v0.4.1", submodules="True")
+ version("0.4.0", tag="v0.4.0", submodules="True")
# export targets when building pre-2.4.0 release with BLT 0.4.0+
- patch('https://github.com/LLNL/RAJA/commit/eca1124ee4af380d6613adc6012c307d1fd4176b.patch?full_index=1',
- sha256='12bb78c00b6683ad3e7fd4e3f87f9776bae074b722431b79696bc862816735ef',
- when='@:0.13.0 ^blt@0.4:')
-
- variant('openmp', default=True, description='Build OpenMP backend')
- variant('shared', default=True, description='Build Shared Libs')
- variant('examples', default=True, description='Build examples.')
- variant('exercises', default=True, description='Build exercises.')
+ patch(
+ "https://github.com/LLNL/RAJA/commit/eca1124ee4af380d6613adc6012c307d1fd4176b.patch?full_index=1",
+ sha256="12bb78c00b6683ad3e7fd4e3f87f9776bae074b722431b79696bc862816735ef",
+ when="@:0.13.0 ^blt@0.4:",
+ )
+
+ variant("openmp", default=True, description="Build OpenMP backend")
+ variant("shared", default=True, description="Build Shared Libs")
+ variant("examples", default=True, description="Build examples.")
+ variant("exercises", default=True, description="Build exercises.")
# TODO: figure out gtest dependency and then set this default True
# and remove the +tests conflict below.
- variant('tests', default=False, description='Build tests')
+ variant("tests", default=False, description="Build tests")
- depends_on('blt')
- depends_on('blt@0.5.0:', type='build', when='@0.14.1:')
- 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')
+ depends_on("blt")
+ depends_on("blt@0.5.0:", type="build", when="@0.14.1:")
+ 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")
- depends_on('camp@0.2.2', when='@0.14.0')
- depends_on('camp@0.1.0', when='@0.10.0:0.13.0')
- depends_on('camp@2022.03.0:', when='@2022.03.0:')
+ depends_on("camp@0.2.2", when="@0.14.0")
+ depends_on("camp@0.1.0", when="@0.10.0:0.13.0")
+ depends_on("camp@2022.03.0:", when="@2022.03.0:")
- depends_on('cmake@:3.20', when='+rocm', type='build')
- depends_on('cmake@3.14:', when='@2022.03.0:')
+ depends_on("cmake@:3.20", when="+rocm", type="build")
+ depends_on("cmake@3.14:", when="@2022.03.0:")
- with when('+rocm @0.12.0:'):
- depends_on('camp+rocm')
+ 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')
+ depends_on(
+ "camp+rocm amdgpu_target={0}".format(arch), when="amdgpu_target={0}".format(arch)
+ )
+ conflicts("+openmp")
- with when('+cuda @0.12.0:'):
- depends_on('camp+cuda')
+ 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_))
+ depends_on("camp +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_))
def _get_sys_type(self, spec):
sys_type = spec.architecture
@@ -87,41 +89,41 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
def cache_name(self):
hostname = socket.gethostname()
if "SYS_TYPE" in env:
- hostname = hostname.rstrip('1234567890')
+ hostname = hostname.rstrip("1234567890")
return "{0}-{1}-{2}@{3}.cmake".format(
hostname,
self._get_sys_type(self.spec),
self.spec.compiler.name,
- self.spec.compiler.version
+ self.spec.compiler.version,
)
def initconfig_hardware_entries(self):
spec = self.spec
entries = super(Raja, self).initconfig_hardware_entries()
- entries.append(cmake_cache_option("ENABLE_OPENMP", '+openmp' in spec))
+ entries.append(cmake_cache_option("ENABLE_OPENMP", "+openmp" in spec))
- if '+cuda' in spec:
+ if "+cuda" in spec:
entries.append(cmake_cache_option("ENABLE_CUDA", True))
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- entries.append(cmake_cache_string(
- "CUDA_ARCH", 'sm_{0}'.format(cuda_arch[0])))
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_ARCHITECTURES", '{0}'.format(cuda_arch[0])))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ entries.append(cmake_cache_string("CUDA_ARCH", "sm_{0}".format(cuda_arch[0])))
+ entries.append(
+ cmake_cache_string("CMAKE_CUDA_ARCHITECTURES", "{0}".format(cuda_arch[0]))
+ )
else:
entries.append(cmake_cache_option("ENABLE_CUDA", False))
- if '+rocm' in spec:
+ if "+rocm" in spec:
entries.append(cmake_cache_option("ENABLE_HIP", True))
- entries.append(cmake_cache_path(
- "HIP_ROOT_DIR", '{0}'.format(spec['hip'].prefix)))
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ entries.append(cmake_cache_path("HIP_ROOT_DIR", "{0}".format(spec["hip"].prefix)))
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- entries.append(cmake_cache_string(
- "HIP_HIPCC_FLAGS", '--amdgpu-target={0}'.format(arch_str)))
+ entries.append(
+ cmake_cache_string("HIP_HIPCC_FLAGS", "--amdgpu-target={0}".format(arch_str))
+ )
else:
entries.append(cmake_cache_option("ENABLE_HIP", False))
@@ -133,23 +135,26 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
option_prefix = "RAJA_" if spec.satisfies("@2022.03.0:") else ""
- entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec['blt'].prefix))
- if 'camp' in self.spec:
- entries.append(cmake_cache_path("camp_DIR", spec['camp'].prefix))
- entries.append(cmake_cache_option("BUILD_SHARED_LIBS", '+shared' in spec))
- entries.append(cmake_cache_option(
- "{}ENABLE_EXAMPLES".format(option_prefix), '+examples' in spec))
- if spec.satisfies('@0.14.0:'):
- entries.append(cmake_cache_option(
- "{}ENABLE_EXERCISES".format(option_prefix), '+exercises' in spec))
+ entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix))
+ if "camp" in self.spec:
+ entries.append(cmake_cache_path("camp_DIR", spec["camp"].prefix))
+ entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec))
+ entries.append(
+ cmake_cache_option("{}ENABLE_EXAMPLES".format(option_prefix), "+examples" in spec)
+ )
+ if spec.satisfies("@0.14.0:"):
+ entries.append(
+ cmake_cache_option(
+ "{}ENABLE_EXERCISES".format(option_prefix), "+exercises" in spec
+ )
+ )
else:
- entries.append(cmake_cache_option("ENABLE_EXERCISES",
- '+exercises' in spec))
+ entries.append(cmake_cache_option("ENABLE_EXERCISES", "+exercises" in spec))
# Work around spack adding -march=ppc64le to SPACK_TARGET_ARGS which
# is used by the spack compiler wrapper. This can go away when BLT
# removes -Werror from GTest flags
- if self.spec.satisfies('%clang target=ppc64le:') or not self.run_tests:
+ if self.spec.satisfies("%clang target=ppc64le:") or not self.run_tests:
entries.append(cmake_cache_option("ENABLE_TESTS", False))
else:
entries.append(cmake_cache_option("ENABLE_TESTS", True))
@@ -163,9 +168,9 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
@property
def build_relpath(self):
"""Relative path to the cmake build subdirectory."""
- return join_path('..', self.build_dirname)
+ return join_path("..", self.build_dirname)
- @run_after('install')
+ @run_after("install")
def setup_build_tests(self):
"""Copy the build test files after the package is installed to a
relative install test subdirectory for use during `spack test run`."""
@@ -180,30 +185,39 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
def _extra_tests_path(self):
# TODO: The tests should be converted to re-build and run examples
# TODO: using the installed libraries.
- return join_path(self.install_test_root, self.build_relpath, 'bin')
+ return join_path(self.install_test_root, self.build_relpath, "bin")
def _test_examples(self):
"""Perform very basic checks on a subset of copied examples."""
checks = [
- ('ex5_line-of-sight_solution',
- [r'RAJA sequential', r'RAJA OpenMP', r'result -- PASS']),
- ('ex6_stencil-offset-layout_solution',
- [r'RAJA Views \(permuted\)', r'result -- PASS']),
- ('ex8_tiled-matrix-transpose_solution',
- [r'parallel top inner loop',
- r'collapsed inner loops', r'result -- PASS']),
- ('kernel-dynamic-tile', [r'Running index', r'(24,24)']),
- ('plugin-example',
- [r'Launching host kernel for the 10 time']),
- ('tut_batched-matrix-multiply', [r'result -- PASS']),
- ('wave-eqn', [r'Max Error = 2', r'Evolved solution to time'])
+ (
+ "ex5_line-of-sight_solution",
+ [r"RAJA sequential", r"RAJA OpenMP", r"result -- PASS"],
+ ),
+ (
+ "ex6_stencil-offset-layout_solution",
+ [r"RAJA Views \(permuted\)", r"result -- PASS"],
+ ),
+ (
+ "ex8_tiled-matrix-transpose_solution",
+ [r"parallel top inner loop", r"collapsed inner loops", r"result -- PASS"],
+ ),
+ ("kernel-dynamic-tile", [r"Running index", r"(24,24)"]),
+ ("plugin-example", [r"Launching host kernel for the 10 time"]),
+ ("tut_batched-matrix-multiply", [r"result -- PASS"]),
+ ("wave-eqn", [r"Max Error = 2", r"Evolved solution to time"]),
]
for exe, expected in checks:
- reason = 'test: checking output of {0} for {1}' \
- .format(exe, expected)
- self.run_test(exe, [], expected, installed=False,
- purpose=reason, skip_missing=True,
- work_dir=self._extra_tests_path)
+ reason = "test: checking output of {0} for {1}".format(exe, expected)
+ self.run_test(
+ exe,
+ [],
+ expected,
+ installed=False,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=self._extra_tests_path,
+ )
def test(self):
"""Perform smoke tests."""
diff --git a/var/spack/repos/builtin/packages/ramulator/package.py b/var/spack/repos/builtin/packages/ramulator/package.py
index aabcba0592..82b2385068 100644
--- a/var/spack/repos/builtin/packages/ramulator/package.py
+++ b/var/spack/repos/builtin/packages/ramulator/package.py
@@ -15,15 +15,15 @@ class Ramulator(MakefilePackage):
homepage = "https://github.com/CMU-SAFARI/ramulator"
git = "https://github.com/CMU-SAFARI/ramulator"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('sst', commit="7d2e72306c6079768e11a1867eb67b60cee34a1c")
+ version("sst", commit="7d2e72306c6079768e11a1867eb67b60cee34a1c")
- patch('ramulator_sha_7d2e723_gcc48Patch.patch', when="@sst")
- patch('ramulator_sha_7d2e723_libPatch.patch', when="@sst")
+ patch("ramulator_sha_7d2e723_gcc48Patch.patch", when="@sst")
+ patch("ramulator_sha_7d2e723_libPatch.patch", when="@sst")
def patch(self):
- filter_file('-fpic', self.compiler.cxx_pic_flag, "Makefile")
+ filter_file("-fpic", self.compiler.cxx_pic_flag, "Makefile")
def build(self, spec, prefix):
if spec.satisfies("platform=darwin"):
diff --git a/var/spack/repos/builtin/packages/randfold/package.py b/var/spack/repos/builtin/packages/randfold/package.py
index 02bb74d19e..0c3cf94deb 100644
--- a/var/spack/repos/builtin/packages/randfold/package.py
+++ b/var/spack/repos/builtin/packages/randfold/package.py
@@ -10,12 +10,12 @@ class Randfold(MakefilePackage):
"""Minimum free energy of folding randomization test software"""
homepage = "http://bioinformatics.psb.ugent.be/supplementary_data/erbon/nov2003/"
- url = "http://bioinformatics.psb.ugent.be/supplementary_data/erbon/nov2003/downloads/randfold-2.0.1.tar.gz"
+ url = "http://bioinformatics.psb.ugent.be/supplementary_data/erbon/nov2003/downloads/randfold-2.0.1.tar.gz"
- version('2.0.1', sha256='b286145deb9ac6197062d98e209da095f00c45a5a615616bcf2b2a6609ed113f')
+ version("2.0.1", sha256="b286145deb9ac6197062d98e209da095f00c45a5a615616bcf2b2a6609ed113f")
- depends_on('squid')
+ depends_on("squid")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('randfold', prefix.bin)
+ install("randfold", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/random123/package.py b/var/spack/repos/builtin/packages/random123/package.py
index 72b0d83545..1aa0ecfdac 100644
--- a/var/spack/repos/builtin/packages/random123/package.py
+++ b/var/spack/repos/builtin/packages/random123/package.py
@@ -12,27 +12,36 @@ 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 = "https://www.deshawresearch.com/resources_random123.html"
- url = "https://github.com/DEShawResearch/random123/archive/refs/tags/v1.14.0.tar.gz"
+ url = "https://github.com/DEShawResearch/random123/archive/refs/tags/v1.14.0.tar.gz"
- version('1.14.0', sha256='effafd8656b18030b2a5b995cd3650c51a7c45052e6e1c21e48b9fa7a59d926e')
- version('1.13.2', sha256='74a1c6bb66b2684f03d3b1008642a2e9141909103cd09f428d2c60bcaa51cb40',
- url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.13.2.tar.gz')
- version('1.10', sha256='4afdfba4b941e33e23b5de9b7907b7e3ac326cb4d34b5fa8225edd00b5fe053b',
- url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.10.tar.gz')
- version('1.09', sha256='cf6abf623061bcf3d17e5e49bf3f3f0ae400ee89ae2e97c8cb8dcb918b1ebabe',
- url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz')
+ version("1.14.0", sha256="effafd8656b18030b2a5b995cd3650c51a7c45052e6e1c21e48b9fa7a59d926e")
+ version(
+ "1.13.2",
+ sha256="74a1c6bb66b2684f03d3b1008642a2e9141909103cd09f428d2c60bcaa51cb40",
+ url="https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.13.2.tar.gz",
+ )
+ version(
+ "1.10",
+ sha256="4afdfba4b941e33e23b5de9b7907b7e3ac326cb4d34b5fa8225edd00b5fe053b",
+ url="https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.10.tar.gz",
+ )
+ version(
+ "1.09",
+ sha256="cf6abf623061bcf3d17e5e49bf3f3f0ae400ee89ae2e97c8cb8dcb918b1ebabe",
+ url="https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz",
+ )
- patch('ibmxl.patch', when='@1.09')
- patch('arm-gcc.patch', when='@1.09')
- patch('v1132-xl161.patch', when='@1.13.2')
+ patch("ibmxl.patch", when="@1.09")
+ patch("arm-gcc.patch", when="@1.09")
+ patch("v1132-xl161.patch", when="@1.13.2")
def install(self, spec, prefix):
# Random123 doesn't have a build system.
# We have to do our own install here.
- install_tree('include', prefix.include)
- install('./LICENSE', "%s" % prefix)
- if spec.satisfies('@1.09'):
+ install_tree("include", prefix.include)
+ install("./LICENSE", "%s" % prefix)
+ if spec.satisfies("@1.09"):
# used by some packages, e.g. quinoa
- install('examples/uniform.hpp',
- join_path(prefix.include, 'Random123'))
+ install("examples/uniform.hpp", join_path(prefix.include, "Random123"))
diff --git a/var/spack/repos/builtin/packages/randrproto/package.py b/var/spack/repos/builtin/packages/randrproto/package.py
index 3b615816c3..d04ed8752b 100644
--- a/var/spack/repos/builtin/packages/randrproto/package.py
+++ b/var/spack/repos/builtin/packages/randrproto/package.py
@@ -16,7 +16,7 @@ class Randrproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/randrproto"
xorg_mirror_path = "proto/randrproto-1.5.0.tar.gz"
- version('1.5.0', sha256='8f8a716d6daa6ba05df97d513960d35a39e040600bf04b313633f11679006fab')
+ version("1.5.0", sha256="8f8a716d6daa6ba05df97d513960d35a39e040600bf04b313633f11679006fab")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/range-v3/package.py b/var/spack/repos/builtin/packages/range-v3/package.py
index 73ac2f623b..657f977e2b 100644
--- a/var/spack/repos/builtin/packages/range-v3/package.py
+++ b/var/spack/repos/builtin/packages/range-v3/package.py
@@ -18,133 +18,121 @@ class RangeV3(CMakePackage):
international standard."""
homepage = "https://github.com/ericniebler/range-v3"
- url = "https://github.com/ericniebler/range-v3/archive/0.3.6.tar.gz"
- git = "https://github.com/ericniebler/range-v3.git"
- maintainers = ['chissg']
-
- version('master', branch='master')
- version('0.11.0', sha256='376376615dbba43d3bef75aa590931431ecb49eb36d07bb726a19f680c75e20c')
- version('0.10.0', sha256='5a1cd44e7315d0e8dcb1eee4df6802221456a9d1dbeac53da02ac7bd4ea150cd')
- version('0.5.0', sha256='32e30b3be042246030f31d40394115b751431d9d2b4e0f6d58834b2fd5594280')
- version('0.4.0', sha256='5dbc878b7dfc500fb04b6b9f99d63993a2731ea34b0a4b8d5f670a5a71a18e39')
- version('0.3.7', sha256='e6b0fb33bfd07ec32d54bcddd3e8d62e995a3cf0b64b34788ec264da62581207')
- version('0.3.6', sha256='ce6e80c6b018ca0e03df8c54a34e1fd04282ac1b068cd39e902e2e5201ac117f')
- version('0.3.5', sha256='0a0094b450fe17e1454468bef5b6bf60e73ef100aebe1663daf6fbdf2c353836')
- version('0.3.0', sha256='cc29fbed5b06b11e7f9a732f7e1211483ebbd3cfe29d86e40c93209014790d74')
- version('0.2.6', sha256='b1b448ead59bd726248bcb607b4a47335a00bed1c74630e09d550da3ff72d02c')
- version('0.2.5', sha256='4125089da83dec3f0ed676066f0cf583fe55dd9270bc62f1736907f57656ca7e')
- version('0.2.4', sha256='6fc4f9e80ee8eb22302db45c5648c665817aeeeee7f99b7effdf6a38a1be9a75')
- version('0.2.3', sha256='214a3f0ea70d479ca58f0af8938de49a9ed476564213431ab3b8e02a849b8098')
- version('0.2.2', sha256='01a7bee222570a55a79c84a54b2997ed718dac06f43a82122ff0150a11477f9d')
- version('0.2.1', sha256='25d5e3dad8052d668873e960bd78f068bebfba3bd28a278f805ea386f9438790')
- version('0.2.0', sha256='49b1a62a7a36dab582521c8034d8e736a8922af664d007c1529d3162b1294331')
+ url = "https://github.com/ericniebler/range-v3/archive/0.3.6.tar.gz"
+ git = "https://github.com/ericniebler/range-v3.git"
+ maintainers = ["chissg"]
+
+ version("master", branch="master")
+ version("0.11.0", sha256="376376615dbba43d3bef75aa590931431ecb49eb36d07bb726a19f680c75e20c")
+ version("0.10.0", sha256="5a1cd44e7315d0e8dcb1eee4df6802221456a9d1dbeac53da02ac7bd4ea150cd")
+ version("0.5.0", sha256="32e30b3be042246030f31d40394115b751431d9d2b4e0f6d58834b2fd5594280")
+ version("0.4.0", sha256="5dbc878b7dfc500fb04b6b9f99d63993a2731ea34b0a4b8d5f670a5a71a18e39")
+ version("0.3.7", sha256="e6b0fb33bfd07ec32d54bcddd3e8d62e995a3cf0b64b34788ec264da62581207")
+ version("0.3.6", sha256="ce6e80c6b018ca0e03df8c54a34e1fd04282ac1b068cd39e902e2e5201ac117f")
+ version("0.3.5", sha256="0a0094b450fe17e1454468bef5b6bf60e73ef100aebe1663daf6fbdf2c353836")
+ version("0.3.0", sha256="cc29fbed5b06b11e7f9a732f7e1211483ebbd3cfe29d86e40c93209014790d74")
+ version("0.2.6", sha256="b1b448ead59bd726248bcb607b4a47335a00bed1c74630e09d550da3ff72d02c")
+ version("0.2.5", sha256="4125089da83dec3f0ed676066f0cf583fe55dd9270bc62f1736907f57656ca7e")
+ version("0.2.4", sha256="6fc4f9e80ee8eb22302db45c5648c665817aeeeee7f99b7effdf6a38a1be9a75")
+ version("0.2.3", sha256="214a3f0ea70d479ca58f0af8938de49a9ed476564213431ab3b8e02a849b8098")
+ version("0.2.2", sha256="01a7bee222570a55a79c84a54b2997ed718dac06f43a82122ff0150a11477f9d")
+ version("0.2.1", sha256="25d5e3dad8052d668873e960bd78f068bebfba3bd28a278f805ea386f9438790")
+ version("0.2.0", sha256="49b1a62a7a36dab582521c8034d8e736a8922af664d007c1529d3162b1294331")
# Note that as of 0.3.6 range is a header-only library so it is not
# necessary to match standards with packages using this
# one. Eventually range-v3 will be obsoleted by the C++ standard.
- variant('cxxstd',
- default='11',
- values=('11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- variant('doc',
- default=False,
- description='Build and install documentation.')
+ variant("doc", default=False, description="Build and install documentation.")
- variant('examples',
- default=False,
- description='Build and install examples.')
+ variant("examples", default=False, description="Build and install examples.")
- variant('perf',
- default=False,
- description='Build performance benchmarks')
+ variant("perf", default=False, description="Build performance benchmarks")
# Known compiler conflicts. Your favorite compiler may also conflict
# depending on its C++ standard support.
- conflicts('%clang@:3.6.1')
- conflicts('%clang@:3.9', when='@0.11.0:')
- conflicts('%gcc@:4.9.0')
- conflicts('%gcc@:5.2.0', when='cxxstd=14')
- conflicts('%gcc@:5', when='cxxstd=17')
-
- depends_on('cmake@3.6:', type='build')
- depends_on('doxygen+graphviz', type='build', when='+doc')
- depends_on('boost@1.59.0: cxxstd=14', type='build',
- when='+examples cxxstd=14')
- depends_on('boost@1.59.0: cxxstd=17', type='build',
- when='+examples cxxstd=17')
+ conflicts("%clang@:3.6.1")
+ conflicts("%clang@:3.9", when="@0.11.0:")
+ conflicts("%gcc@:4.9.0")
+ conflicts("%gcc@:5.2.0", when="cxxstd=14")
+ conflicts("%gcc@:5", when="cxxstd=17")
+
+ depends_on("cmake@3.6:", type="build")
+ depends_on("doxygen+graphviz", type="build", when="+doc")
+ depends_on("boost@1.59.0: cxxstd=14", type="build", when="+examples cxxstd=14")
+ depends_on("boost@1.59.0: cxxstd=17", type="build", when="+examples cxxstd=17")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type='build')
+ depends_on(Boost.with_default_variants, type="build")
# Fix reported upstream issue
# https://github.com/ericniebler/range-v3/issues/1196 per PR
# https://github.com/ericniebler/range-v3/pull/1202.
- patch('fix-is_trivial.patch', level=1, when='@0.5.0')
+ patch("fix-is_trivial.patch", level=1, when="@0.5.0")
# Some -Wno-... options unknown to GCC were being checked as OK to
# use but causing problems during the build. Patch from
# https://github.com/ericniebler/range-v3/commit/0c20dbf05973368339aeae0c4e106560e2dcf76b#diff-acb9169b4ccbac494ced5140d285a015
- patch('gcc-compile-opt-check.patch', level=1, when='@0.5.0%gcc')
+ patch("gcc-compile-opt-check.patch", level=1, when="@0.5.0%gcc")
def _remove_cmake_subdir(self, subdir):
- filter_file(r'^(\s*add_subdirectory\s*\(\s*{0}\s*\))'.format(subdir),
- r'#\1',
- 'CMakeLists.txt')
+ filter_file(
+ r"^(\s*add_subdirectory\s*\(\s*{0}\s*\))".format(subdir), r"#\1", "CMakeLists.txt"
+ )
# Deal with variant choices for versions that don't have applicable
# CMake switches.
def patch(self):
spec = self.spec
- if spec.satisfies('@:0.3.0'):
+ if spec.satisfies("@:0.3.0"):
if not self.run_tests:
- self._remove_cmake_subdir('test')
- if '+examples' not in spec:
- self._remove_cmake_subdir('example')
- if '+perf' not in spec:
- self._remove_cmake_subdir('perf')
- if spec.satisfies('@:0.3.6~doc'):
- self._remove_cmake_subdir('doc')
+ self._remove_cmake_subdir("test")
+ if "+examples" not in spec:
+ self._remove_cmake_subdir("example")
+ if "+perf" not in spec:
+ self._remove_cmake_subdir("perf")
+ if spec.satisfies("@:0.3.6~doc"):
+ self._remove_cmake_subdir("doc")
def cmake_args(self):
spec = self.spec
- cxxstd = self.spec.variants['cxxstd'].value
-
- on_or_off = lambda opt: 'ON' if '+' + opt in spec else 'OFF'
-
- args = [
- '-DRANGES_CXX_STD={0}'.format(cxxstd)
- ]
-
- if spec.satisfies('@0.3.7:'):
- args.append('-DRANGE_V3_DOCS=' + on_or_off('doc'))
-
- if spec.satisfies('@0.3.6:'):
- args.append('-DRANGE_V3_TESTS=' +
- ('ON' if self.run_tests else 'OFF'))
- args.append('-DRANGE_V3_EXAMPLES=' + on_or_off('examples'))
- args.append('-DRANGE_V3_PERF=' + on_or_off('perf'))
- elif spec.satisfies('@0.3.1:'):
- args.append('-DRANGE_V3_NO_TESTING=' +
- ('OFF' if self.run_tests else 'ON'))
- args.append('-DRANGE_V3_NO_EXAMPLE=' +
- ('OFF' if '+examples' in spec else 'ON'))
- args.append('-DRANGE_V3_NO_PERF=' +
- ('OFF' if '+perf' in spec else 'ON'))
+ cxxstd = self.spec.variants["cxxstd"].value
+
+ on_or_off = lambda opt: "ON" if "+" + opt in spec else "OFF"
+
+ args = ["-DRANGES_CXX_STD={0}".format(cxxstd)]
+
+ if spec.satisfies("@0.3.7:"):
+ args.append("-DRANGE_V3_DOCS=" + on_or_off("doc"))
+
+ if spec.satisfies("@0.3.6:"):
+ args.append("-DRANGE_V3_TESTS=" + ("ON" if self.run_tests else "OFF"))
+ args.append("-DRANGE_V3_EXAMPLES=" + on_or_off("examples"))
+ args.append("-DRANGE_V3_PERF=" + on_or_off("perf"))
+ elif spec.satisfies("@0.3.1:"):
+ args.append("-DRANGE_V3_NO_TESTING=" + ("OFF" if self.run_tests else "ON"))
+ args.append("-DRANGE_V3_NO_EXAMPLE=" + ("OFF" if "+examples" in spec else "ON"))
+ args.append("-DRANGE_V3_NO_PERF=" + ("OFF" if "+perf" in spec else "ON"))
else:
# Older versions don't have the right switches. See patch() above.
pass
if not self.run_tests:
- args.append('-DRANGE_V3_NO_HEADER_CHECK=ON')
+ args.append("-DRANGE_V3_NO_HEADER_CHECK=ON")
- if '+examples' in spec:
- args.append('-DRANGES_BUILD_CALENDAR_EXAMPLE=' +
- ('ON' if cxxstd in ['14', '17']
- else 'OFF'))
+ if "+examples" in spec:
+ args.append(
+ "-DRANGES_BUILD_CALENDAR_EXAMPLE=" + ("ON" if cxxstd in ["14", "17"] else "OFF")
+ )
return args
@@ -152,8 +140,8 @@ class RangeV3(CMakePackage):
def build_targets(self):
spec = self.spec
targets = []
- if '+doc' in spec:
- targets.extend(['all', 'doc'])
+ if "+doc" in spec:
+ targets.extend(["all", "doc"])
return targets
def _copy_and_clean_dirs(self, subdir):
@@ -161,26 +149,24 @@ class RangeV3(CMakePackage):
with working_dir(self.build_directory):
install_tree(subdir, os.path.join(self.prefix, subdir))
with working_dir(os.path.join(self.prefix, subdir)):
- shutil.rmtree('CMakeFiles')
- for f in ('cmake_install.cmake', 'CTestTestfile.cmake',
- 'Makefile', 'CMakeLists.txt'):
+ shutil.rmtree("CMakeFiles")
+ for f in ("cmake_install.cmake", "CTestTestfile.cmake", "Makefile", "CMakeLists.txt"):
if os.path.exists(f):
os.remove(f)
- @run_after('install')
+ @run_after("install")
def install_extra(self):
spec = self.spec
# Install docs.
- if '+doc' in spec:
+ if "+doc" in spec:
with working_dir(self.build_directory):
- install_tree(os.path.join('doc', 'html'),
- os.path.join(self.prefix, 'doc', 'html'))
+ install_tree(os.path.join("doc", "html"), os.path.join(self.prefix, "doc", "html"))
# Install examples.
- if '+examples' in spec:
- self._copy_and_clean_dirs('example')
+ if "+examples" in spec:
+ self._copy_and_clean_dirs("example")
# Install performance benchmarks.
- if '+perf' in spec:
- self._copy_and_clean_dirs('perf')
+ if "+perf" in spec:
+ self._copy_and_clean_dirs("perf")
diff --git a/var/spack/repos/builtin/packages/rankstr/package.py b/var/spack/repos/builtin/packages/rankstr/package.py
index 4ae29e75c5..a55ac85321 100644
--- a/var/spack/repos/builtin/packages/rankstr/package.py
+++ b/var/spack/repos/builtin/packages/rankstr/package.py
@@ -10,31 +10,31 @@ class Rankstr(CMakePackage):
"""Assign one-to-one mapping of MPI ranks to strings"""
homepage = "https://github.com/ecp-veloc/rankstr"
- url = "https://github.com/ecp-veloc/rankstr/archive/v0.0.3.tar.gz"
- git = "https://github.com/ecp-veloc/rankstr.git"
- tags = ['ecp']
+ url = "https://github.com/ecp-veloc/rankstr/archive/v0.0.3.tar.gz"
+ git = "https://github.com/ecp-veloc/rankstr.git"
+ tags = ["ecp"]
- maintainers = ['CamStan', 'gonsie']
+ maintainers = ["CamStan", "gonsie"]
- version('main', branch='main')
- version('0.2.0', sha256='a3f7fd8015156c1b600946af759a03e099e05c83e7b2da6bac394fe7c0d4efae')
- version('0.1.0', sha256='b68239d67b2359ecc067cc354f86ccfbc8f02071e60d28ae0a2449f2e7f88001')
- version('0.0.3', sha256='d32052fbecd44299e13e69bf2dd7e5737c346404ccd784b8c2100ceed99d8cd3')
- version('0.0.2', sha256='b88357bf88cdda9565472543225d6b0fa50f0726f6e2d464c92d31a98b493abb')
+ version("main", branch="main")
+ version("0.2.0", sha256="a3f7fd8015156c1b600946af759a03e099e05c83e7b2da6bac394fe7c0d4efae")
+ version("0.1.0", sha256="b68239d67b2359ecc067cc354f86ccfbc8f02071e60d28ae0a2449f2e7f88001")
+ version("0.0.3", sha256="d32052fbecd44299e13e69bf2dd7e5737c346404ccd784b8c2100ceed99d8cd3")
+ version("0.0.2", sha256="b88357bf88cdda9565472543225d6b0fa50f0726f6e2d464c92d31a98b493abb")
- depends_on('mpi')
+ depends_on("mpi")
- variant('shared', default=True, description='Build with shared libraries')
+ variant("shared", default=True, description="Build with shared libraries")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
- if spec.satisfies('@0.1.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.1.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('RANKSTR_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("RANKSTR_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/rapidjson/package.py b/var/spack/repos/builtin/packages/rapidjson/package.py
index ee8b54725d..275f13e6a5 100644
--- a/var/spack/repos/builtin/packages/rapidjson/package.py
+++ b/var/spack/repos/builtin/packages/rapidjson/package.py
@@ -20,18 +20,18 @@ class Rapidjson(CMakePackage):
version("1.0.1", sha256="a9003ad5c6384896ed4fd1f4a42af108e88e1b582261766df32d717ba744ee73")
version("1.0.0", sha256="4189b32b9c285f34b37ffe4c0fd5627c1e59c2444daacffe5a96fdfbf08d139b")
- variant('doc', default=False, description='Build and install documentation')
+ variant("doc", default=False, description="Build and install documentation")
- depends_on('doxygen+graphviz', when='+doc')
+ depends_on("doxygen+graphviz", when="+doc")
# -march=native causes issues on ARM, with older GCC, and with Fujitsu
# Spack injects the appropriate optimization flags anyway
# https://github.com/Tencent/rapidjson/issues/1816
- patch('no_march-1.2.patch', when='@1.2')
- patch('no_march-1.1.patch', when='@1.1')
- patch('no_march-1.0.patch', when='@1.0')
+ patch("no_march-1.2.patch", when="@1.2")
+ patch("no_march-1.1.patch", when="@1.1")
+ patch("no_march-1.0.patch", when="@1.0")
def cmake_args(self):
args = []
- args.append(self.define_from_variant('RAPIDJSON_BUILD_DOC', 'doc'))
+ args.append(self.define_from_variant("RAPIDJSON_BUILD_DOC", "doc"))
return args
diff --git a/var/spack/repos/builtin/packages/raptor2/package.py b/var/spack/repos/builtin/packages/raptor2/package.py
index edfd5f99ef..4acfe74e04 100644
--- a/var/spack/repos/builtin/packages/raptor2/package.py
+++ b/var/spack/repos/builtin/packages/raptor2/package.py
@@ -10,8 +10,8 @@ class Raptor2(AutotoolsPackage):
"""libraptor2 for parsing and serializing RDF syntaxes"""
homepage = "https://librdf.org/"
- url = "https://download.librdf.org/source/raptor2-2.0.15.tar.gz"
+ url = "https://download.librdf.org/source/raptor2-2.0.15.tar.gz"
- version('2.0.15', sha256='ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed')
+ version("2.0.15", sha256="ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed")
- depends_on('libxml2')
+ depends_on("libxml2")
diff --git a/var/spack/repos/builtin/packages/rasdaemon/package.py b/var/spack/repos/builtin/packages/rasdaemon/package.py
index acf7e8cc5c..be219a15d2 100644
--- a/var/spack/repos/builtin/packages/rasdaemon/package.py
+++ b/var/spack/repos/builtin/packages/rasdaemon/package.py
@@ -15,16 +15,16 @@ class Rasdaemon(AutotoolsPackage):
exists."""
homepage = "https://github.com/mchehab/rasdaemon"
- url = "https://github.com/mchehab/rasdaemon/archive/v0.6.6.tar.gz"
+ url = "https://github.com/mchehab/rasdaemon/archive/v0.6.6.tar.gz"
- version('0.6.6', sha256='eea5fefc68583cca2e6daec58508a554553056aeec5eeee0989417c89607eaba')
- version('0.6.5', sha256='1d85580778a0b7c0587b42e24dfe6c02f4c07c6ca9bbb80737d50b58ac830c92')
- version('0.6.4', sha256='c70e2dae1e15af496873b9e5a4d89847759fffd6cbf5ed1d74d28cd250c0771b')
+ version("0.6.6", sha256="eea5fefc68583cca2e6daec58508a554553056aeec5eeee0989417c89607eaba")
+ version("0.6.5", sha256="1d85580778a0b7c0587b42e24dfe6c02f4c07c6ca9bbb80737d50b58ac830c92")
+ version("0.6.4", sha256="c70e2dae1e15af496873b9e5a4d89847759fffd6cbf5ed1d74d28cd250c0771b")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/rasqal/package.py b/var/spack/repos/builtin/packages/rasqal/package.py
index 48ece03494..b20aee44fe 100644
--- a/var/spack/repos/builtin/packages/rasqal/package.py
+++ b/var/spack/repos/builtin/packages/rasqal/package.py
@@ -13,10 +13,10 @@ class Rasqal(AutotoolsPackage):
results as bindings, boolean, RDF graphs/triples or syntaxes."""
homepage = "https://librdf.org/"
- url = "https://download.librdf.org/source/rasqal-0.9.33.tar.gz"
+ url = "https://download.librdf.org/source/rasqal-0.9.33.tar.gz"
- version('0.9.33', sha256='6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c')
- version('0.9.32', sha256='eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f')
- version('0.9.31', sha256='28d743c9f1b0e5b0486ae4a945fa1e021c8495707e7adbfa0e232244b28b7fee')
+ version("0.9.33", sha256="6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c")
+ version("0.9.32", sha256="eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f")
+ version("0.9.31", sha256="28d743c9f1b0e5b0486ae4a945fa1e021c8495707e7adbfa0e232244b28b7fee")
- depends_on('raptor2')
+ depends_on("raptor2")
diff --git a/var/spack/repos/builtin/packages/ratel/package.py b/var/spack/repos/builtin/packages/ratel/package.py
index e27afad346..348534bd71 100644
--- a/var/spack/repos/builtin/packages/ratel/package.py
+++ b/var/spack/repos/builtin/packages/ratel/package.py
@@ -12,51 +12,54 @@ class Ratel(MakefilePackage, CudaPackage, ROCmPackage):
homepage = "https://ratel.micromorph.org"
git = "https://gitlab.com/micromorph/ratel.git"
- maintainers = ['jedbrown', 'jeremylt']
+ maintainers = ["jedbrown", "jeremylt"]
- version('develop', branch='main')
- version('0.1.2', tag='v0.1.2')
+ version("develop", branch="main")
+ version("0.1.2", tag="v0.1.2")
# development version
- depends_on('libceed@develop', when='@develop')
- depends_on('petsc@main', when='@develop')
+ depends_on("libceed@develop", when="@develop")
+ depends_on("petsc@main", when="@develop")
# version 0.1.2
- depends_on('libceed@0.10.1:0.10', when='@0.1.2')
- depends_on('petsc@3.17:3.17', when='@0.1.2')
+ depends_on("libceed@0.10.1:0.10", when="@0.1.2")
+ depends_on("petsc@3.17:3.17", when="@0.1.2")
# Note: '+cuda' and 'cuda_arch' variants are added by the CudaPackage
# '+rocm' and 'amdgpu_target' variants are added by the ROCmPackage
# But we need to sync cuda/rocm with libCEED and PETSc
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('libceed+cuda cuda_arch={0}'.format(sm_),
- when='+cuda cuda_arch={0}'.format(sm_))
- depends_on('petsc+cuda cuda_arch={0}'.format(sm_),
- when='+cuda cuda_arch={0}'.format(sm_))
+ depends_on(
+ "libceed+cuda cuda_arch={0}".format(sm_), when="+cuda cuda_arch={0}".format(sm_)
+ )
+ depends_on("petsc+cuda cuda_arch={0}".format(sm_), when="+cuda cuda_arch={0}".format(sm_))
for gfx in ROCmPackage.amdgpu_targets:
- depends_on('libceed+rocm amdgpu_target={0}'.format(gfx),
- when='+rocm amdgpu_target={0}'.format(gfx))
- depends_on('petsc+rocm amdgpu_target={0}'.format(gfx),
- when='+rocm amdgpu_target={0}'.format(gfx))
+ depends_on(
+ "libceed+rocm amdgpu_target={0}".format(gfx),
+ when="+rocm amdgpu_target={0}".format(gfx),
+ )
+ depends_on(
+ "petsc+rocm amdgpu_target={0}".format(gfx), when="+rocm amdgpu_target={0}".format(gfx)
+ )
# Kokkos required for AMD GPUs
- depends_on('petsc+kokkos', when='+rocm')
+ depends_on("petsc+kokkos", when="+rocm")
@property
def common_make_opts(self):
spec = self.spec
# verbose build and test
- make_options = ['V=1', 'PROVE_OPTS=-v']
+ make_options = ["V=1", "PROVE_OPTS=-v"]
# libCEED and PETSc dirs
make_options += [
- 'CEED_DIR=%s' % spec['libceed'].prefix,
- 'PETSC_DIR=%s' % spec['petsc'].prefix,
+ "CEED_DIR=%s" % spec["libceed"].prefix,
+ "PETSC_DIR=%s" % spec["petsc"].prefix,
]
return make_options
def edit(self, spec, prefix):
- make('info', *self.common_make_opts)
+ make("info", *self.common_make_opts)
@property
def build_targets(self):
@@ -64,8 +67,7 @@ class Ratel(MakefilePackage, CudaPackage, ROCmPackage):
@property
def install_targets(self):
- return ['install', 'prefix={0}'.format(self.prefix)] + \
- self.common_make_opts
+ return ["install", "prefix={0}".format(self.prefix)] + self.common_make_opts
def check(self):
- make('prove', *self.common_make_opts, parallel=False)
+ make("prove", *self.common_make_opts, parallel=False)
diff --git a/var/spack/repos/builtin/packages/ravel/package.py b/var/spack/repos/builtin/packages/ravel/package.py
index 3e42220303..ff1de468ca 100644
--- a/var/spack/repos/builtin/packages/ravel/package.py
+++ b/var/spack/repos/builtin/packages/ravel/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Ravel(CMakePackage):
"""Ravel is a parallel communication trace visualization tool that
- orders events according to logical time."""
+ orders events according to logical time."""
homepage = "https://github.com/llnl/ravel"
- url = 'https://github.com/llnl/ravel/archive/v1.0.0.tar.gz'
+ url = "https://github.com/llnl/ravel/archive/v1.0.0.tar.gz"
- version('1.0.0', sha256='e1e1ac6d70c9aae915623d81a8f1258488fd26f880612fe21f2e032827aa93eb')
+ version("1.0.0", sha256="e1e1ac6d70c9aae915623d81a8f1258488fd26f880612fe21f2e032827aa93eb")
# See https://github.com/LLNL/ravel/pull/18
- patch('qpainterpath.patch')
+ patch("qpainterpath.patch")
- depends_on('cmake@2.8.9:', type='build')
+ depends_on("cmake@2.8.9:", type="build")
- depends_on('muster@1.0.1:')
- depends_on('otf')
- depends_on('otf2')
- depends_on('qt@5:+opengl')
+ depends_on("muster@1.0.1:")
+ depends_on("otf")
+ depends_on("otf2")
+ depends_on("qt@5:+opengl")
def cmake_args(self):
- return ['-Wno-dev']
+ return ["-Wno-dev"]
diff --git a/var/spack/repos/builtin/packages/raxml-ng/package.py b/var/spack/repos/builtin/packages/raxml-ng/package.py
index a2f625595f..319db3db94 100644
--- a/var/spack/repos/builtin/packages/raxml-ng/package.py
+++ b/var/spack/repos/builtin/packages/raxml-ng/package.py
@@ -18,18 +18,18 @@ class RaxmlNg(CMakePackage):
(Flouri et al. 2014)."""
homepage = "https://github.com/amkozlov/raxml-ng/wiki"
- url = "https://github.com/amkozlov/raxml-ng/archive/1.0.1.tar.gz"
- git = "https://github.com/amkozlov/raxml-ng.git"
+ url = "https://github.com/amkozlov/raxml-ng/archive/1.0.1.tar.gz"
+ git = "https://github.com/amkozlov/raxml-ng.git"
- version('1.0.2', submodules=True)
- version('1.0.1', submodules=True)
+ version("1.0.2", submodules=True)
+ version("1.0.1", submodules=True)
variant("mpi", default=True, description="Use MPI")
- depends_on('bison')
- depends_on('flex')
- depends_on('gmp')
- depends_on('mpi', when='+mpi')
+ depends_on("bison")
+ depends_on("flex")
+ depends_on("gmp")
+ depends_on("mpi", when="+mpi")
def cmake_args(self):
- return [self.define_from_variant('USE_MPI', 'mpi')]
+ return [self.define_from_variant("USE_MPI", "mpi")]
diff --git a/var/spack/repos/builtin/packages/raxml/package.py b/var/spack/repos/builtin/packages/raxml/package.py
index 1df2c28366..d5244b7db8 100644
--- a/var/spack/repos/builtin/packages/raxml/package.py
+++ b/var/spack/repos/builtin/packages/raxml/package.py
@@ -14,26 +14,26 @@ class Raxml(Package):
"""
homepage = "https://sco.h-its.org/exelixis/web/software/raxml"
- url = "https://github.com/stamatak/standard-RAxML/archive/v8.2.12.tar.gz"
+ url = "https://github.com/stamatak/standard-RAxML/archive/v8.2.12.tar.gz"
- version('8.2.12', sha256='338f81b52b54e16090e193daf36c1d4baa9b902705cfdc7f4497e3e09718533b')
- version('8.2.11', sha256='08cda74bf61b90eb09c229e39b1121c6d95caf182708e8745bd69d02848574d7')
+ version("8.2.12", sha256="338f81b52b54e16090e193daf36c1d4baa9b902705cfdc7f4497e3e09718533b")
+ version("8.2.11", sha256="08cda74bf61b90eb09c229e39b1121c6d95caf182708e8745bd69d02848574d7")
- variant('mpi', default=True, description='Enable MPI parallel support')
- variant('pthreads', default=False, description='Enable pthreads version')
+ variant("mpi", default=True, description="Enable MPI parallel support")
+ variant("pthreads", default=False, description="Enable pthreads version")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- patch('nox86.patch')
+ patch("nox86.patch")
# Compiles with either GCC or ICC.
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
# can't build multiple binaries in parallel without things breaking
parallel = False
@@ -43,69 +43,69 @@ class Raxml(Package):
files = glob.iglob("Makefile.*")
for file in files:
makefile = FileFilter(file)
- makefile.filter('gcc', spack_cc)
- if spec.satisfies('+mpi'):
- makefile.filter('mpicc', self.spec['mpi'].mpicc)
+ makefile.filter("gcc", spack_cc)
+ if spec.satisfies("+mpi"):
+ makefile.filter("mpicc", self.spec["mpi"].mpicc)
- if spec.target.family == 'x86_64':
- if spec.satisfies('+mpi +pthreads') and 'avx' in spec.target:
- make('-f', 'Makefile.AVX.HYBRID.gcc')
- install('raxmlHPC-HYBRID-AVX', prefix.bin)
+ if spec.target.family == "x86_64":
+ if spec.satisfies("+mpi +pthreads") and "avx" in spec.target:
+ make("-f", "Makefile.AVX.HYBRID.gcc")
+ install("raxmlHPC-HYBRID-AVX", prefix.bin)
- if spec.satisfies('+mpi +pthreads') and 'sse3' in spec.target:
- make('-f', 'Makefile.SSE3.HYBRID.gcc')
- install('raxmlHPC-HYBRID-SSE3', prefix.bin)
+ if spec.satisfies("+mpi +pthreads") and "sse3" in spec.target:
+ make("-f", "Makefile.SSE3.HYBRID.gcc")
+ install("raxmlHPC-HYBRID-SSE3", prefix.bin)
- if spec.satisfies('+mpi +pthreads'):
- make('-f', 'Makefile.HYBRID.gcc')
- install('raxmlHPC-HYBRID', prefix.bin)
+ if spec.satisfies("+mpi +pthreads"):
+ make("-f", "Makefile.HYBRID.gcc")
+ install("raxmlHPC-HYBRID", prefix.bin)
- if spec.satisfies('+mpi') and 'avx' in spec.target:
- make('-f', 'Makefile.AVX.MPI.gcc')
- install('raxmlHPC-MPI-AVX', prefix.bin)
+ if spec.satisfies("+mpi") and "avx" in spec.target:
+ make("-f", "Makefile.AVX.MPI.gcc")
+ install("raxmlHPC-MPI-AVX", prefix.bin)
- if spec.satisfies('+mpi') and 'sse3' in spec.target:
- make('-f', 'Makefile.SSE3.MPI.gcc')
- install('raxmlHPC-MPI-SSE3', prefix.bin)
+ if spec.satisfies("+mpi") and "sse3" in spec.target:
+ make("-f", "Makefile.SSE3.MPI.gcc")
+ install("raxmlHPC-MPI-SSE3", prefix.bin)
- if spec.satisfies('+mpi'):
- make('-f', 'Makefile.MPI.gcc')
- install('raxmlHPC-MPI', prefix.bin)
+ if spec.satisfies("+mpi"):
+ make("-f", "Makefile.MPI.gcc")
+ install("raxmlHPC-MPI", prefix.bin)
- if spec.satisfies('+pthreads') and 'avx' in spec.target:
- make('-f', 'Makefile.AVX.PTHREADS.gcc')
- install('raxmlHPC-PTHREADS-AVX', prefix.bin)
+ if spec.satisfies("+pthreads") and "avx" in spec.target:
+ make("-f", "Makefile.AVX.PTHREADS.gcc")
+ install("raxmlHPC-PTHREADS-AVX", prefix.bin)
- if spec.satisfies('+pthreads') and 'sse3' in spec.target:
- make('-f', 'Makefile.SSE3.PTHREADS.gcc')
- install('raxmlHPC-PTHREADS-SSE3', prefix.bin)
+ if spec.satisfies("+pthreads") and "sse3" in spec.target:
+ make("-f", "Makefile.SSE3.PTHREADS.gcc")
+ install("raxmlHPC-PTHREADS-SSE3", prefix.bin)
- if spec.satisfies('+pthreads'):
- make('-f', 'Makefile.PTHREADS.gcc')
- install('raxmlHPC-PTHREADS', prefix.bin)
+ if spec.satisfies("+pthreads"):
+ make("-f", "Makefile.PTHREADS.gcc")
+ install("raxmlHPC-PTHREADS", prefix.bin)
- if 'sse3' in spec.target:
- make('-f', 'Makefile.SSE3.gcc')
- install('raxmlHPC-SSE3', prefix.bin)
+ if "sse3" in spec.target:
+ make("-f", "Makefile.SSE3.gcc")
+ install("raxmlHPC-SSE3", prefix.bin)
- if 'avx' in spec.target:
- make('-f', 'Makefile.AVX.gcc')
- install('raxmlHPC-AVX', prefix.bin)
+ if "avx" in spec.target:
+ make("-f", "Makefile.AVX.gcc")
+ install("raxmlHPC-AVX", prefix.bin)
- make('-f', 'Makefile.gcc')
- install('raxmlHPC', prefix.bin)
+ make("-f", "Makefile.gcc")
+ install("raxmlHPC", prefix.bin)
else:
- if spec.satisfies('+mpi +pthreads'):
- make('-f', 'Makefile.HYBRID.nox86.gcc')
- install('raxmlHPC-HYBRID', prefix.bin)
+ if spec.satisfies("+mpi +pthreads"):
+ make("-f", "Makefile.HYBRID.nox86.gcc")
+ install("raxmlHPC-HYBRID", prefix.bin)
- if spec.satisfies('+mpi'):
- make('-f', 'Makefile.MPI.nox86.gcc')
- install('raxmlHPC-MPI', prefix.bin)
+ if spec.satisfies("+mpi"):
+ make("-f", "Makefile.MPI.nox86.gcc")
+ install("raxmlHPC-MPI", prefix.bin)
- if spec.satisfies('+pthreads'):
- make('-f', 'Makefile.PTHREADS.nox86.gcc')
- install('raxmlHPC-PTHREADS', prefix.bin)
+ if spec.satisfies("+pthreads"):
+ make("-f", "Makefile.PTHREADS.nox86.gcc")
+ install("raxmlHPC-PTHREADS", prefix.bin)
- make('-f', 'Makefile.nox86.gcc')
- install('raxmlHPC', prefix.bin)
+ make("-f", "Makefile.nox86.gcc")
+ install("raxmlHPC", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/ray/package.py b/var/spack/repos/builtin/packages/ray/package.py
index 55a1fcef59..7f850228fc 100644
--- a/var/spack/repos/builtin/packages/ray/package.py
+++ b/var/spack/repos/builtin/packages/ray/package.py
@@ -12,14 +12,14 @@ class Ray(CMakePackage, SourceforgePackage):
homepage = "http://denovoassembler.sourceforge.net/"
sourceforge_mirror_path = "denovoassembler/Ray-2.3.1.tar.bz2"
- version('2.3.1', sha256='3122edcdf97272af3014f959eab9a0f0e5a02c8ffc897d842b06b06ccd748036')
+ version("2.3.1", sha256="3122edcdf97272af3014f959eab9a0f0e5a02c8ffc897d842b06b06ccd748036")
- depends_on('mpi')
+ depends_on("mpi")
- @run_after('build')
+ @run_after("build")
def make(self):
mkdirp(prefix.bin)
- make('PREFIX=%s' % prefix.bin)
+ make("PREFIX=%s" % prefix.bin)
def install(self, spec, prefix):
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py
index 1acc66fefd..cc2d727d0f 100644
--- a/var/spack/repos/builtin/packages/rccl/package.py
+++ b/var/spack/repos/builtin/packages/rccl/package.py
@@ -15,82 +15,153 @@ class Rccl(CMakePackage):
and reduce-scatter."""
homepage = "https://github.com/ROCmSoftwarePlatform/rccl"
- git = "https://github.com/ROCmSoftwarePlatform/rccl.git"
- url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librccl']
-
- version('5.1.3', sha256='56491257f27b48bf85f4b91434a2a6e49a448337c889db181b02c8a4a260a4bc')
- version('5.1.0', sha256='02b0180857e615326f9cab775573436b9162899ad8e526830f54392b8a51b1f5')
- version('5.0.2', sha256='a2377ad2332b93d3443a8ee74f4dd9f965ae8cbbfad473f8f57ca17905389a39')
- version('5.0.0', sha256='80eb70243f11b80e215458a67c278cd5a655f6e486289962b92ba3504e50af5c')
- version('4.5.2', sha256='36de0d3f3ffad491758d89c208ef72c5be5e0db766053a9c766e9c5c6a33a487')
- version('4.5.0', sha256='f806f9f65c490abddc562cb4812e12701582bbb449e41cc4797d00e0dedf084e')
- version('4.3.1', sha256='c5db71423dc654e8d2c3111e142e65c89436bc636827d95d41a09a87f44fe246', deprecated=True)
- version('4.3.0', sha256='b5231d8c5ab034a583feceebcef68d0cc0b05ec5a683f802fc7747c89f27d5f6', deprecated=True)
- version('4.2.0', sha256='2829fae40ebc1d8be201856d2193a941c87e9cf38dca0a2f4414e675c1742f20', deprecated=True)
- version('4.1.0', sha256='88ec9b43c31cb054fe6aa28bcc0f4b510213635268f951939d6980eee5bb3680', deprecated=True)
- version('4.0.0', sha256='0632a15b3d6b5981c05377cf4aeb51546f4c4901fd7c37fb0c98071851ad531a', deprecated=True)
- version('3.10.0', sha256='d9dd0b0d8b9d056fc5e6c7b814520800190952acd30dac3a7c462c4cb6f42bb3', deprecated=True)
- version('3.9.0', sha256='ff9d03154d668093309ff814a33788f2cc093b3c627e78e42ae246e6017408b0', deprecated=True)
- version('3.8.0', sha256='0b6676d06bdb1f65d511a95db9f842a3443def83d75759dfdf812b5e62d8c910', deprecated=True)
- version('3.7.0', sha256='8273878ff71aac2e7adf5cc8562d2933034c6c6b3652f88fbe3cd4f2691036e3', deprecated=True)
- version('3.5.0', sha256='290b57a66758dce47d0bfff3f5f8317df24764e858af67f60ddcdcadb9337253', deprecated=True)
+ git = "https://github.com/ROCmSoftwarePlatform/rccl.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librccl"]
+
+ version("5.1.3", sha256="56491257f27b48bf85f4b91434a2a6e49a448337c889db181b02c8a4a260a4bc")
+ version("5.1.0", sha256="02b0180857e615326f9cab775573436b9162899ad8e526830f54392b8a51b1f5")
+ version("5.0.2", sha256="a2377ad2332b93d3443a8ee74f4dd9f965ae8cbbfad473f8f57ca17905389a39")
+ version("5.0.0", sha256="80eb70243f11b80e215458a67c278cd5a655f6e486289962b92ba3504e50af5c")
+ version("4.5.2", sha256="36de0d3f3ffad491758d89c208ef72c5be5e0db766053a9c766e9c5c6a33a487")
+ version("4.5.0", sha256="f806f9f65c490abddc562cb4812e12701582bbb449e41cc4797d00e0dedf084e")
+ version(
+ "4.3.1",
+ sha256="c5db71423dc654e8d2c3111e142e65c89436bc636827d95d41a09a87f44fe246",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="b5231d8c5ab034a583feceebcef68d0cc0b05ec5a683f802fc7747c89f27d5f6",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="2829fae40ebc1d8be201856d2193a941c87e9cf38dca0a2f4414e675c1742f20",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="88ec9b43c31cb054fe6aa28bcc0f4b510213635268f951939d6980eee5bb3680",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="0632a15b3d6b5981c05377cf4aeb51546f4c4901fd7c37fb0c98071851ad531a",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="d9dd0b0d8b9d056fc5e6c7b814520800190952acd30dac3a7c462c4cb6f42bb3",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="ff9d03154d668093309ff814a33788f2cc093b3c627e78e42ae246e6017408b0",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="0b6676d06bdb1f65d511a95db9f842a3443def83d75759dfdf812b5e62d8c910",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="8273878ff71aac2e7adf5cc8562d2933034c6c6b3652f88fbe3cd4f2691036e3",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="290b57a66758dce47d0bfff3f5f8317df24764e858af67f60ddcdcadb9337253",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- patch('0001-Fix-numactl-path-issue.patch', when='@3.7.0:4.3.2')
- patch('0002-Fix-numactl-rocm-smi-path-issue.patch', when='@4.5.0:')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@%s:' % 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',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('numactl@2:', when='@' + ver)
- for ver in ['4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-smi-lib@' + ver, when='@' + ver)
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ patch("0001-Fix-numactl-path-issue.patch", when="@3.7.0:4.3.2")
+ patch("0002-Fix-numactl-rocm-smi-path-issue.patch", when="@4.5.0:")
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@%s:" % 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",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("numactl@2:", when="@" + ver)
+ for ver in ["4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0", "5.1.3"]:
+ depends_on("rocm-smi-lib@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
args = []
- if '@3.7.0:' in self.spec:
- args.append(self.define(
- 'NUMACTL_DIR',
- self.spec['numactl'].prefix
- ))
+ if "@3.7.0:" in self.spec:
+ args.append(self.define("NUMACTL_DIR", self.spec["numactl"].prefix))
- if 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if self.spec.satisfies('@4.5.0:'):
- args.append(self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix))
+ if self.spec.satisfies("@4.5.0:"):
+ args.append(self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/rclone/package.py b/var/spack/repos/builtin/packages/rclone/package.py
index d0cbae7a73..ef92b4d70c 100644
--- a/var/spack/repos/builtin/packages/rclone/package.py
+++ b/var/spack/repos/builtin/packages/rclone/package.py
@@ -8,36 +8,36 @@ from spack.package import *
class Rclone(Package):
"""Rclone is a command line program to sync files and directories
- to and from various cloud storage providers"""
+ to and from various cloud storage providers"""
homepage = "https://rclone.org"
- url = "https://github.com/rclone/rclone/releases/download/v1.57.0/rclone-v1.57.0.tar.gz"
-
- maintainers = ['alecbcs']
-
- version('1.58.1', sha256='4d1d50a5b4888aa8eca10624073759ab8376c8b1acb38a238831d40074792524')
- version('1.58.0', sha256='8e0c49fad69525d1219415d2f0651fd243ddf02291fd95e91d2b074d4858c31f')
- version('1.57.0', sha256='3a762c02c202a9142c2d5c1a3927563a556d1683abadd25d2f695e237e4ea693')
- version('1.56.2', sha256='a8813d25c4640e52495fee83e525e76283c63f01d1cce8fbb58d8486b0c20c8a')
- version('1.56.1', sha256='090b4b082caa554812f341ae26ea6758b40338836122595d6283c60c39eb5a97')
- version('1.56.0', sha256='81d2eda23ebaad0a355aab6ff030712470a42505b94c01c9bb5a9ead9168cedb')
- version('1.55.1', sha256='25da7fc5c9269b3897f27b0d946919df595c6dda1b127085fda0fe32aa59d29d')
- version('1.55.0', sha256='75accdaedad3b82edc185dc8824a19a59c30dc6392de7074b6cd98d1dc2c9040')
- version('1.51.0', sha256='3eb5b7ffce17e56fadb29bf854666723a14c93fedc02046c7f34c792dbd227ee')
- version('1.50.2', sha256='6dd8998a72514d3820d241ae46dc609c0305b742aee3db6aaf6017b46c996091')
- version('1.50.1', sha256='48d6c80883427469682b4d97099d7631cf3b67aa85e652c254423bd1422ce216')
- version('1.50.0', sha256='f901fd1752aae6116d94fd08d010a70d94535257c2d23caa505e631cce1e802a')
- version('1.49.5', sha256='abd2c83d71c63a4b0a30b1980b942868e707d05e14ae76ad39abf5cc5a5fde63')
- version('1.49.4', sha256='070afc85e4e9921151d7cb67247db8f0ff2f06fcf2652c43a42fa6e1e35847af')
- version('1.43', sha256='d30527b00cecb4e5e7188dddb78e5cec62d67cf2422dab82190db58512b5a4e3')
-
- depends_on('go@1.15:', type='build')
+ url = "https://github.com/rclone/rclone/releases/download/v1.57.0/rclone-v1.57.0.tar.gz"
+
+ maintainers = ["alecbcs"]
+
+ version("1.58.1", sha256="4d1d50a5b4888aa8eca10624073759ab8376c8b1acb38a238831d40074792524")
+ version("1.58.0", sha256="8e0c49fad69525d1219415d2f0651fd243ddf02291fd95e91d2b074d4858c31f")
+ version("1.57.0", sha256="3a762c02c202a9142c2d5c1a3927563a556d1683abadd25d2f695e237e4ea693")
+ version("1.56.2", sha256="a8813d25c4640e52495fee83e525e76283c63f01d1cce8fbb58d8486b0c20c8a")
+ version("1.56.1", sha256="090b4b082caa554812f341ae26ea6758b40338836122595d6283c60c39eb5a97")
+ version("1.56.0", sha256="81d2eda23ebaad0a355aab6ff030712470a42505b94c01c9bb5a9ead9168cedb")
+ version("1.55.1", sha256="25da7fc5c9269b3897f27b0d946919df595c6dda1b127085fda0fe32aa59d29d")
+ version("1.55.0", sha256="75accdaedad3b82edc185dc8824a19a59c30dc6392de7074b6cd98d1dc2c9040")
+ version("1.51.0", sha256="3eb5b7ffce17e56fadb29bf854666723a14c93fedc02046c7f34c792dbd227ee")
+ version("1.50.2", sha256="6dd8998a72514d3820d241ae46dc609c0305b742aee3db6aaf6017b46c996091")
+ version("1.50.1", sha256="48d6c80883427469682b4d97099d7631cf3b67aa85e652c254423bd1422ce216")
+ version("1.50.0", sha256="f901fd1752aae6116d94fd08d010a70d94535257c2d23caa505e631cce1e802a")
+ version("1.49.5", sha256="abd2c83d71c63a4b0a30b1980b942868e707d05e14ae76ad39abf5cc5a5fde63")
+ version("1.49.4", sha256="070afc85e4e9921151d7cb67247db8f0ff2f06fcf2652c43a42fa6e1e35847af")
+ version("1.43", sha256="d30527b00cecb4e5e7188dddb78e5cec62d67cf2422dab82190db58512b5a4e3")
+
+ depends_on("go@1.15:", type="build")
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
- env.prepend_path('GOPATH', self.stage.path)
+ env.prepend_path("GOPATH", self.stage.path)
def install(self, spec, prefix):
- go('build')
+ go("build")
mkdirp(prefix.bin)
- install('rclone', prefix.bin)
+ install("rclone", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py
index e2c2610a12..c43ad16019 100644
--- a/var/spack/repos/builtin/packages/rdc/package.py
+++ b/var/spack/repos/builtin/packages/rdc/package.py
@@ -11,66 +11,116 @@ class Rdc(CMakePackage):
"""ROCm Data Center Tool"""
homepage = "https://github.com/RadeonOpenCompute/rdc"
- url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-4.3.0.tar.gz"
- tags = ['rocm']
+ url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-4.3.0.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librdc']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librdc"]
def url_for_version(self, version):
- if version == Version('3.9.0'):
+ if version == Version("3.9.0"):
return "https://github.com/RadeonOpenCompute/rdc/archive/rdc_so_ver-0.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz"
return url.format(version)
- version('5.1.3', sha256='ac3e594d7b245c787d6d9b63f551ca898d4d9403fbec0e4502f9970575e031b8')
- version('5.1.0', sha256='3cf58cb07ef241b3b73b23af83b6477194884feba642584a491e67deeceff038')
- version('5.0.2', sha256='9e21fe7e9dd02b69425dab6be22a85469fee072bcebd2d2957633dfad8b45574')
- version('5.0.0', sha256='68d45a319dc4222d94e1fb1ce10df5f3464de0b745d0d2e9aebbf273493adcc5')
- version('4.5.2', sha256='1b467e2a473374488292ca1680562ec4e798f43847ea6464453f8f8297f12d8d')
- version('4.5.0', sha256='e9bc53d068e9a4fdccff587e34c7fe0880f003a18652cd48c29faf031dd2c98f')
- version('4.3.1', sha256='aae028aae61eb0f4dd30708c4bbb8c5c57a426f10dae9b967b81500fb106d981', deprecated=True)
- version('4.3.0', sha256='d3dda2022ec1f8c7de4de64696009125a903fcb2f82c38b3ac07e4ab35bf9190', deprecated=True)
- version('4.2.0', sha256='ea2c7c07d55f607968f58d7e30326cae5db5b48c1ba354caa5727394d5bad258', deprecated=True)
- version('4.1.0', sha256='dc81ee9727c8913c05dcf20a00669ce611339ef6d6db8af34e57f42bcfa804ac', deprecated=True)
- version('4.0.0', sha256='e9ebfc46dfa983400909ed8a9da4fa37869ab118a8426c2e4f793e21174ca07f', deprecated=True)
- version('3.10.0', sha256='fdc51f9f1f756406d1e2ffaeee0e247d1b04fc4078f08e581bbaa7da79697ac1', deprecated=True)
- version('3.9.0', sha256='bc6339e7f41850a4a049d085a880cfafd3fd8e1610fb94c572d79753d01aa298', deprecated=True)
- version('3.8.0', sha256='d0d0a0e68a848b7a8fa2d88c1d0352ce68e1e142debf32c31d941904f03c4b2f', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.15:3.19.7', type='build', when='@:4.3.1')
- depends_on('cmake@3.15:', type='build', when='@4.5.0:')
- depends_on('grpc@1.28.1+shared', type='build')
- 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',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('rocm-smi-lib@' + ver, type=('build', 'link'), when='@' + ver)
-
- for ver in ['5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
+ version("5.1.3", sha256="ac3e594d7b245c787d6d9b63f551ca898d4d9403fbec0e4502f9970575e031b8")
+ version("5.1.0", sha256="3cf58cb07ef241b3b73b23af83b6477194884feba642584a491e67deeceff038")
+ version("5.0.2", sha256="9e21fe7e9dd02b69425dab6be22a85469fee072bcebd2d2957633dfad8b45574")
+ version("5.0.0", sha256="68d45a319dc4222d94e1fb1ce10df5f3464de0b745d0d2e9aebbf273493adcc5")
+ version("4.5.2", sha256="1b467e2a473374488292ca1680562ec4e798f43847ea6464453f8f8297f12d8d")
+ version("4.5.0", sha256="e9bc53d068e9a4fdccff587e34c7fe0880f003a18652cd48c29faf031dd2c98f")
+ version(
+ "4.3.1",
+ sha256="aae028aae61eb0f4dd30708c4bbb8c5c57a426f10dae9b967b81500fb106d981",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="d3dda2022ec1f8c7de4de64696009125a903fcb2f82c38b3ac07e4ab35bf9190",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="ea2c7c07d55f607968f58d7e30326cae5db5b48c1ba354caa5727394d5bad258",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="dc81ee9727c8913c05dcf20a00669ce611339ef6d6db8af34e57f42bcfa804ac",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="e9ebfc46dfa983400909ed8a9da4fa37869ab118a8426c2e4f793e21174ca07f",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="fdc51f9f1f756406d1e2ffaeee0e247d1b04fc4078f08e581bbaa7da79697ac1",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="bc6339e7f41850a4a049d085a880cfafd3fd8e1610fb94c572d79753d01aa298",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="d0d0a0e68a848b7a8fa2d88c1d0352ce68e1e142debf32c31d941904f03c4b2f",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.15:3.19.7", type="build", when="@:4.3.1")
+ depends_on("cmake@3.15:", type="build", when="@4.5.0:")
+ depends_on("grpc@1.28.1+shared", type="build")
+ 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",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-smi-lib@" + ver, type=("build", "link"), when="@" + ver)
+
+ for ver in ["5.0.0", "5.0.2", "5.1.0", "5.1.3"]:
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
def patch(self):
+ filter_file(r"\${ROCM_DIR}/rocm_smi", "${ROCM_SMI_DIR}", "CMakeLists.txt")
filter_file(
- r'\${ROCM_DIR}/rocm_smi', '${ROCM_SMI_DIR}', 'CMakeLists.txt')
- filter_file(
- r'${GRPC_ROOT}/bin/protoc',
- '{0}/bin/protoc'.format(self.spec['protobuf'].prefix),
- 'CMakeLists.txt', string=True)
+ r"${GRPC_ROOT}/bin/protoc",
+ "{0}/bin/protoc".format(self.spec["protobuf"].prefix),
+ "CMakeLists.txt",
+ string=True,
+ )
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -78,11 +128,12 @@ class Rdc(CMakePackage):
def cmake_args(self):
rpath = self.rpath
rpath.append(self.prefix.opt.rocm.rdc.lib)
- rpath = ';'.join(rpath)
- args = ['-DCMAKE_INSTALL_RPATH=' + rpath,
- '-DGRPC_ROOT=' + self.spec['grpc'].prefix,
- '-DCMAKE_MODULE_PATH={0}/cmake_modules'.format
- (self.stage.source_path),
- '-DROCM_SMI_DIR=' + self.spec['rocm-smi-lib'].prefix,
- '-DCMAKE_BUILD_WITH_INSTALL_RPATH=1']
+ rpath = ";".join(rpath)
+ args = [
+ "-DCMAKE_INSTALL_RPATH=" + rpath,
+ "-DGRPC_ROOT=" + self.spec["grpc"].prefix,
+ "-DCMAKE_MODULE_PATH={0}/cmake_modules".format(self.stage.source_path),
+ "-DROCM_SMI_DIR=" + self.spec["rocm-smi-lib"].prefix,
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=1",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/rdkit/package.py b/var/spack/repos/builtin/packages/rdkit/package.py
index 3ad1ac7aff..de143e23b9 100644
--- a/var/spack/repos/builtin/packages/rdkit/package.py
+++ b/var/spack/repos/builtin/packages/rdkit/package.py
@@ -9,42 +9,47 @@ from spack.package import *
class Rdkit(CMakePackage):
"""RDKit is a collection of cheminformatics and machine-learning
- software written in C++ and Python."""
+ software written in C++ and Python."""
homepage = "https://www.rdkit.org"
- url = "https://github.com/rdkit/rdkit/archive/refs/tags/Release_2021_03_2.tar.gz"
-
- maintainers = ['bvanessen']
-
- version('2021_09_5', sha256='f720b3f6292c4cd0a412a073d848ffac01a43960082e33ee54b68798de0cbfa1')
- version('2021_09_4', sha256='ce192e85bbdc1dcf24d327197229099c8625ee20ef022fcbd980791fdbfc7203')
- version('2021_09_3', sha256='3d9d47e9ea3f7563ca83bf24fc6d3419c3892ea77d831e1cf68d81f602ad1afc')
- version('2021_09_2', sha256='1a6b41e4c5e2f1a98acfc9c0aa46aa32a97323f0531457d69fcdc70c4a964140')
- version('2021_09_1b1', sha256='114935d980c4c52a1113aae26cd752dac6f24559b3098482663855f1b8c3e2a3')
- version('2021_09_1', sha256='4d8d38adebdb0da51171ba67c6664555cb33d3fb5c62e35c8562d799dd812761')
- version('2021_03_5', sha256='ee7ed4189ab03cf805ab9db59121ab3ebcba4c799389d053046d7cab4dd8401e')
- version('2021_03_4', sha256='bed309df7f1e2ea25736a986cf951325681142ee49468b1c62d020a109d2ef52')
- version('2021_03_3', sha256='e95f07adaee9280df077cb147210ee75e16957d81687ab0836d62ebf1f6f715f')
- version('2021_03_2', sha256='9907a745405cc915c65504046e446199f8ad03d870714de57c27d3738f330fe4')
- version('2021_03_1b1', sha256='2cd0673b289ba756c76a1bf57cf19e147ac4a9f6ecf9e79cc3dd86c8d39be414')
- version('2021_03_1', sha256='9495f797a54ac70b3b6e12776de7d82acd7f7b5d5f0cc1f168c763215545610b')
- version('2020_09_5', sha256='85cec9618e7ef6365b9b908ed674c073d898b6627521cc7fd8c2e05fea8a5def')
- version('2020_09_4', sha256='9e734ca8f99d8be1ef2ac51efb67c393c62e88b98cfa550d6173ce3eaa87b559')
- version('2020_09_3', sha256='aa95bf3cbeef287eeb6d9759ff0992d2f92f2171b1758af71b7c9a0ec97a0660')
- version('2020_09_2', sha256='44663970859c0ec993f94a56b692231557df02c267853a2ee3c1f609cef93ae9')
- version('2020_09_1b1', sha256='d9d836dc38cc45db44698e33325901452c94df9add10dd2675674594af1b73c2')
- version('2020_09_1', sha256='ac105498be52ff77f7e9328c41d0e61a2318cac0789d6efc30f5f50dc78a992c')
- version('2020_03_6', sha256='a3663295a149aa0307ace6d1995094d0334180bc8f892fa325558a110154272b')
-
- depends_on('python@3:')
- depends_on('boost@1.53.0: +python +serialization')
-
- depends_on('py-numpy')
- depends_on('sqlite')
+ url = "https://github.com/rdkit/rdkit/archive/refs/tags/Release_2021_03_2.tar.gz"
+
+ maintainers = ["bvanessen"]
+
+ version("2021_09_5", sha256="f720b3f6292c4cd0a412a073d848ffac01a43960082e33ee54b68798de0cbfa1")
+ version("2021_09_4", sha256="ce192e85bbdc1dcf24d327197229099c8625ee20ef022fcbd980791fdbfc7203")
+ version("2021_09_3", sha256="3d9d47e9ea3f7563ca83bf24fc6d3419c3892ea77d831e1cf68d81f602ad1afc")
+ version("2021_09_2", sha256="1a6b41e4c5e2f1a98acfc9c0aa46aa32a97323f0531457d69fcdc70c4a964140")
+ version(
+ "2021_09_1b1", sha256="114935d980c4c52a1113aae26cd752dac6f24559b3098482663855f1b8c3e2a3"
+ )
+ version("2021_09_1", sha256="4d8d38adebdb0da51171ba67c6664555cb33d3fb5c62e35c8562d799dd812761")
+ version("2021_03_5", sha256="ee7ed4189ab03cf805ab9db59121ab3ebcba4c799389d053046d7cab4dd8401e")
+ version("2021_03_4", sha256="bed309df7f1e2ea25736a986cf951325681142ee49468b1c62d020a109d2ef52")
+ version("2021_03_3", sha256="e95f07adaee9280df077cb147210ee75e16957d81687ab0836d62ebf1f6f715f")
+ version("2021_03_2", sha256="9907a745405cc915c65504046e446199f8ad03d870714de57c27d3738f330fe4")
+ version(
+ "2021_03_1b1", sha256="2cd0673b289ba756c76a1bf57cf19e147ac4a9f6ecf9e79cc3dd86c8d39be414"
+ )
+ version("2021_03_1", sha256="9495f797a54ac70b3b6e12776de7d82acd7f7b5d5f0cc1f168c763215545610b")
+ version("2020_09_5", sha256="85cec9618e7ef6365b9b908ed674c073d898b6627521cc7fd8c2e05fea8a5def")
+ version("2020_09_4", sha256="9e734ca8f99d8be1ef2ac51efb67c393c62e88b98cfa550d6173ce3eaa87b559")
+ version("2020_09_3", sha256="aa95bf3cbeef287eeb6d9759ff0992d2f92f2171b1758af71b7c9a0ec97a0660")
+ version("2020_09_2", sha256="44663970859c0ec993f94a56b692231557df02c267853a2ee3c1f609cef93ae9")
+ version(
+ "2020_09_1b1", sha256="d9d836dc38cc45db44698e33325901452c94df9add10dd2675674594af1b73c2"
+ )
+ version("2020_09_1", sha256="ac105498be52ff77f7e9328c41d0e61a2318cac0789d6efc30f5f50dc78a992c")
+ version("2020_03_6", sha256="a3663295a149aa0307ace6d1995094d0334180bc8f892fa325558a110154272b")
+
+ depends_on("python@3:")
+ depends_on("boost@1.53.0: +python +serialization")
+
+ depends_on("py-numpy")
+ depends_on("sqlite")
extends("python")
def cmake_args(self):
- args = ['-DCMAKE_CXX_STANDARD=14',
- '-DRDK_INSTALL_INTREE=OFF']
+ args = ["-DCMAKE_CXX_STANDARD=14", "-DRDK_INSTALL_INTREE=OFF"]
return args
diff --git a/var/spack/repos/builtin/packages/rdma-core/package.py b/var/spack/repos/builtin/packages/rdma-core/package.py
index fa23d828dd..ba5d1ee893 100644
--- a/var/spack/repos/builtin/packages/rdma-core/package.py
+++ b/var/spack/repos/builtin/packages/rdma-core/package.py
@@ -12,52 +12,52 @@ class RdmaCore(CMakePackage):
"""RDMA core userspace libraries and daemons"""
homepage = "https://github.com/linux-rdma/rdma-core"
- url = "https://github.com/linux-rdma/rdma-core/releases/download/v17.1/rdma-core-17.1.tar.gz"
- libraries = ['librdmacm.so']
-
- version('39.1', sha256='32ccd5c990d34605b6e996de991528ef01d278ad06bcf62ccf8a32edb118c335')
- version('39.0', sha256='f6eaf0de9fe386e234e00a18a553f591143f50e03342c9fdd703fa8747bf2378')
- version('34.0', sha256='3d9ccf66468cf78f4c39bebb8bd0c5eb39150ded75f4a88a3455c4f625408be8')
- version('33.1', sha256='d179b102bec551ce62265ed463d1095fb2ae9baff604261ad63327fcd20650e5')
- version('32.0', sha256='8197e20a59990b9b06a2e4c83f4a96802fc080ec1669392b643b59b6023931fc')
- version('31.0', sha256='51ae9a3ab81cd6834436813fafc310c8b7007feae9d09a53fdd5c169e648d50b')
- version('30.0', sha256='23e1bd2d7b38149a1621ee577a3428ac652e305adb8e0eee923cbe71356a9bf9')
- version('28.1', sha256='d9961fd9b0867f17cb6a30a728562f00528b63dd72d1168d838220ab44e5c713')
- version('27.1', sha256='39eeb3ab5f868ef3a5f7623d1ee69adca04efabe2a37de8080f354b8f4ef0ad7')
- version('26.2', sha256='115087ab438bea3530a0d520640f1eeb5872b902ee2263acf83dcc7835d296c6')
- version('25.4', sha256='f622491b0aac819f05c73174e0c7a9e630cc02fc0914d5ba1bb1d87fc4d313fd')
- version('24.3', sha256='3a02d2d864258acc763849c635c815e3fa6a798a1464511cd3a2a370ddd6ee89')
- version('23.4', sha256='6bfe009e9a382085def3b004d9396f7255a2e0c90c36647d1df0b86773d21a79')
- version('20', sha256='bc846989f807cd2b03643927d2b99fbf6f849cb1e766ab49bc9e81ce769d5421')
- version('17.1', sha256='b47444b7c05d3906deb8771eec3e634984dd83f5e620d5e37d3a83f74f0cc1ba')
- version('13', sha256='e5230fd7cda610753ad1252b40a28b1e9cf836423a10d8c2525b081527760d97')
-
- depends_on('pkgconfig', type='build')
- depends_on('py-docutils', type='build')
- depends_on('libnl')
- conflicts('platform=darwin', msg='rdma-core requires FreeBSD or Linux')
- conflicts('%intel', msg='rdma-core cannot be built with intel (use gcc instead)')
+ url = "https://github.com/linux-rdma/rdma-core/releases/download/v17.1/rdma-core-17.1.tar.gz"
+ libraries = ["librdmacm.so"]
+
+ version("39.1", sha256="32ccd5c990d34605b6e996de991528ef01d278ad06bcf62ccf8a32edb118c335")
+ version("39.0", sha256="f6eaf0de9fe386e234e00a18a553f591143f50e03342c9fdd703fa8747bf2378")
+ version("34.0", sha256="3d9ccf66468cf78f4c39bebb8bd0c5eb39150ded75f4a88a3455c4f625408be8")
+ version("33.1", sha256="d179b102bec551ce62265ed463d1095fb2ae9baff604261ad63327fcd20650e5")
+ version("32.0", sha256="8197e20a59990b9b06a2e4c83f4a96802fc080ec1669392b643b59b6023931fc")
+ version("31.0", sha256="51ae9a3ab81cd6834436813fafc310c8b7007feae9d09a53fdd5c169e648d50b")
+ version("30.0", sha256="23e1bd2d7b38149a1621ee577a3428ac652e305adb8e0eee923cbe71356a9bf9")
+ version("28.1", sha256="d9961fd9b0867f17cb6a30a728562f00528b63dd72d1168d838220ab44e5c713")
+ version("27.1", sha256="39eeb3ab5f868ef3a5f7623d1ee69adca04efabe2a37de8080f354b8f4ef0ad7")
+ version("26.2", sha256="115087ab438bea3530a0d520640f1eeb5872b902ee2263acf83dcc7835d296c6")
+ version("25.4", sha256="f622491b0aac819f05c73174e0c7a9e630cc02fc0914d5ba1bb1d87fc4d313fd")
+ version("24.3", sha256="3a02d2d864258acc763849c635c815e3fa6a798a1464511cd3a2a370ddd6ee89")
+ version("23.4", sha256="6bfe009e9a382085def3b004d9396f7255a2e0c90c36647d1df0b86773d21a79")
+ version("20", sha256="bc846989f807cd2b03643927d2b99fbf6f849cb1e766ab49bc9e81ce769d5421")
+ version("17.1", sha256="b47444b7c05d3906deb8771eec3e634984dd83f5e620d5e37d3a83f74f0cc1ba")
+ version("13", sha256="e5230fd7cda610753ad1252b40a28b1e9cf836423a10d8c2525b081527760d97")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("py-docutils", type="build")
+ depends_on("libnl")
+ conflicts("platform=darwin", msg="rdma-core requires FreeBSD or Linux")
+ conflicts("%intel", msg="rdma-core cannot be built with intel (use gcc instead)")
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d+\.\d+)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d+\.\d+)", lib)
return match.group(1) if match else None
-# NOTE: specify CMAKE_INSTALL_RUNDIR explicitly to prevent rdma-core from
-# using the spack staging build dir (which may be a very long file
-# system path) as a component in compile-time static strings such as
-# IBACM_SERVER_PATH.
+ # NOTE: specify CMAKE_INSTALL_RUNDIR explicitly to prevent rdma-core from
+ # using the spack staging build dir (which may be a very long file
+ # system path) as a component in compile-time static strings such as
+ # IBACM_SERVER_PATH.
def cmake_args(self):
cmake_args = [
- '-DCMAKE_INSTALL_SYSCONFDIR={0}'.format(self.spec.prefix.etc),
- '-DCMAKE_INSTALL_RUNDIR=/var/run'
+ "-DCMAKE_INSTALL_SYSCONFDIR={0}".format(self.spec.prefix.etc),
+ "-DCMAKE_INSTALL_RUNDIR=/var/run",
]
- if self.spec.satisfies('@:39.0'):
- cmake_args.extend([
- self.define('PYTHON_LIBRARY', self.spec['python'].libs[0]),
- self.define('PYTHON_INCLUDE_DIR',
- self.spec['python'].headers.directories[0])
- ])
+ if self.spec.satisfies("@:39.0"):
+ cmake_args.extend(
+ [
+ self.define("PYTHON_LIBRARY", self.spec["python"].libs[0]),
+ self.define("PYTHON_INCLUDE_DIR", self.spec["python"].headers.directories[0]),
+ ]
+ )
return cmake_args
diff --git a/var/spack/repos/builtin/packages/rdp-classifier/package.py b/var/spack/repos/builtin/packages/rdp-classifier/package.py
index fb5ef25b29..3bf9ebbd9e 100644
--- a/var/spack/repos/builtin/packages/rdp-classifier/package.py
+++ b/var/spack/repos/builtin/packages/rdp-classifier/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class RdpClassifier(Package, SourceforgePackage):
"""The RDP Classifier is a naive Bayesian classifier that can rapidly and
- accurately provides taxonomic assignments from domain to genus, with
- confidence estimates for each assignment. """
+ accurately provides taxonomic assignments from domain to genus, with
+ confidence estimates for each assignment."""
homepage = "http://rdp.cme.msu.edu/"
sourceforge_mirror_path = "rdp-classifier/rdp_classifier_2.12.zip"
- version('2.12', sha256='977896248189a1ce2146dd3a61d203c3c6bc9aa3982c60332d463832922f7d0a')
+ version("2.12", sha256="977896248189a1ce2146dd3a61d203c3c6bc9aa3982c60332d463832922f7d0a")
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(join_path('dist', 'classifier.jar'), prefix.bin)
- install_tree(join_path('dist', 'lib'), prefix.bin.lib)
- install(join_path('lib', 'junit-4.8.2.jar'), prefix.bin.lib)
- install_tree('src', prefix.src)
+ install(join_path("dist", "classifier.jar"), prefix.bin)
+ install_tree(join_path("dist", "lib"), prefix.bin.lib)
+ install(join_path("lib", "junit-4.8.2.jar"), prefix.bin.lib)
+ install_tree("src", prefix.src)
diff --git a/var/spack/repos/builtin/packages/rdptools/package.py b/var/spack/repos/builtin/packages/rdptools/package.py
index e5f5c458ca..a95f0b648d 100644
--- a/var/spack/repos/builtin/packages/rdptools/package.py
+++ b/var/spack/repos/builtin/packages/rdptools/package.py
@@ -10,14 +10,14 @@ class Rdptools(MakefilePackage):
"""Collection of commonly used RDP Tools for easy building."""
homepage = "https://github.com/rdpstaff/RDPTools"
- url = "https://github.com/rdpstaff/RDPTools/archive/2.0.2.tar.gz"
+ url = "https://github.com/rdpstaff/RDPTools/archive/2.0.2.tar.gz"
- version('2.0.2', sha256='fc3d7f8129b45e602fc2c23e5e037a7f48c14d5a6b05c64f8c1d48e9767ac01d')
+ version("2.0.2", sha256="fc3d7f8129b45e602fc2c23e5e037a7f48c14d5a6b05c64f8c1d48e9767ac01d")
# https://github.com/bioconda/bioconda-recipes/blob/master/recipes/rdptools/meta.yaml
- depends_on('java')
- depends_on('ant')
- depends_on('python')
+ depends_on("java")
+ depends_on("ant")
+ depends_on("python")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/re2/package.py b/var/spack/repos/builtin/packages/re2/package.py
index 2a3d81d4d1..409ee1cac0 100644
--- a/var/spack/repos/builtin/packages/re2/package.py
+++ b/var/spack/repos/builtin/packages/re2/package.py
@@ -11,23 +11,27 @@ class Re2(CMakePackage):
regular expression engines like those used in PCRE, Perl, and Python."""
homepage = "https://github.com/google/re2"
- url = "https://github.com/google/re2/archive/2020-08-01.tar.gz"
+ url = "https://github.com/google/re2/archive/2020-08-01.tar.gz"
- version('2021-06-01', sha256='26155e050b10b5969e986dab35654247a3b1b295e0532880b5a9c13c0a700ceb')
- version('2020-08-01', sha256='6f4c8514249cd65b9e85d3e6f4c35595809a63ad71c5d93083e4d1dcdf9e0cd6')
- version('2020-04-01', sha256='98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea')
+ version(
+ "2021-06-01", sha256="26155e050b10b5969e986dab35654247a3b1b295e0532880b5a9c13c0a700ceb"
+ )
+ version(
+ "2020-08-01", sha256="6f4c8514249cd65b9e85d3e6f4c35595809a63ad71c5d93083e4d1dcdf9e0cd6"
+ )
+ version(
+ "2020-04-01", sha256="98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea"
+ )
- variant('shared', default=False,
- description='Build shared instead of static libraries')
- variant('pic', default=True,
- description='Enable position independent code')
+ variant("shared", default=False, description="Build shared instead of static libraries")
+ variant("pic", default=True, description="Enable position independent code")
# shared libs must have position-independent code
- conflicts('+shared ~pic')
+ conflicts("+shared ~pic")
def cmake_args(self):
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic')
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
]
return args
diff --git a/var/spack/repos/builtin/packages/re2c/package.py b/var/spack/repos/builtin/packages/re2c/package.py
index f72e62b8e6..4d638a3b74 100644
--- a/var/spack/repos/builtin/packages/re2c/package.py
+++ b/var/spack/repos/builtin/packages/re2c/package.py
@@ -10,25 +10,25 @@ class Re2c(AutotoolsPackage):
"""re2c: a free and open-source lexer generator for C and C++"""
homepage = "https://re2c.org/index.html"
- url = "https://github.com/skvadrik/re2c/releases/download/1.2.1/re2c-1.2.1.tar.xz"
+ 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')
+ 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):
return [
- '--disable-benchmarks',
- '--disable-debug',
- '--disable-dependency-tracking',
- '--disable-docs',
- '--disable-lexers', # requires existing system re2c
- '--disable-libs', # experimental
- '--enable-golang',
+ "--disable-benchmarks",
+ "--disable-debug",
+ "--disable-dependency-tracking",
+ "--disable-docs",
+ "--disable-lexers", # requires existing system re2c
+ "--disable-libs", # experimental
+ "--enable-golang",
]
diff --git a/var/spack/repos/builtin/packages/readfq/package.py b/var/spack/repos/builtin/packages/readfq/package.py
index f3573e2cf7..a53c483e6f 100644
--- a/var/spack/repos/builtin/packages/readfq/package.py
+++ b/var/spack/repos/builtin/packages/readfq/package.py
@@ -12,9 +12,9 @@ class Readfq(Package):
interface."""
homepage = "https://github.com/lh3/readfq"
- git = "https://github.com/lh3/readfq.git"
+ git = "https://github.com/lh3/readfq.git"
- version('2013.04.10', commit='4fb766095d8f459e0f8025be70f9173673905d12')
+ version("2013.04.10", commit="4fb766095d8f459e0f8025be70f9173673905d12")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/readline/package.py b/var/spack/repos/builtin/packages/readline/package.py
index 1570e3952a..fea4f724bc 100644
--- a/var/spack/repos/builtin/packages/readline/package.py
+++ b/var/spack/repos/builtin/packages/readline/package.py
@@ -18,24 +18,22 @@ class Readline(AutotoolsPackage, GNUMirrorPackage):
# URL must remain http:// so Spack can bootstrap curl
gnu_mirror_path = "readline/readline-8.0.tar.gz"
- version('8.1.2', sha256='7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6')
- version('8.1', sha256='f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02')
- version('8.0', sha256='e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461')
- version('7.0', sha256='750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334')
- version('6.3', sha256='56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43')
+ version("8.1.2", sha256="7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6")
+ version("8.1", sha256="f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02")
+ version("8.0", sha256="e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461")
+ version("7.0", sha256="750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334")
+ version("6.3", sha256="56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43")
- depends_on('ncurses')
+ depends_on("ncurses")
# from url=https://www.linuxfromscratch.org/patches/downloads/readline/readline-6.3-upstream_fixes-1.patch
# this fixes a bug that could lead to seg faults in ipython
- patch('readline-6.3-upstream_fixes-1.patch', when='@6.3')
+ patch("readline-6.3-upstream_fixes-1.patch", when="@6.3")
def build(self, spec, prefix):
- make('SHLIB_LIBS=' + spec['ncurses:wide'].libs.ld_flags)
+ make("SHLIB_LIBS=" + spec["ncurses:wide"].libs.ld_flags)
def patch(self):
# Remove flags not recognized by the NVIDIA compiler
- if self.spec.satisfies('%nvhpc'):
- filter_file('${GCC+-Wno-parentheses}', '', 'configure',
- string=True)
- filter_file('${GCC+-Wno-format-security}', '', 'configure',
- string=True)
+ if self.spec.satisfies("%nvhpc"):
+ filter_file("${GCC+-Wno-parentheses}", "", "configure", string=True)
+ filter_file("${GCC+-Wno-format-security}", "", "configure", string=True)
diff --git a/var/spack/repos/builtin/packages/recola-sm/package.py b/var/spack/repos/builtin/packages/recola-sm/package.py
index d912302850..8161fb4437 100644
--- a/var/spack/repos/builtin/packages/recola-sm/package.py
+++ b/var/spack/repos/builtin/packages/recola-sm/package.py
@@ -10,18 +10,20 @@ from spack.package import *
class RecolaSm(CMakePackage):
"""Standard Model files for the Recola generator."""
- tags = ['hep']
+ tags = ["hep"]
homepage = "https://recola.gitlab.io/recola2/modelfiles/modelfiles.html"
- url = "https://recola.hepforge.org/downloads/?f=SM_2.2.3.tar.gz"
+ url = "https://recola.hepforge.org/downloads/?f=SM_2.2.3.tar.gz"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('2.2.3', sha256='9ebdc4fd8ca48789de0b6bbb2ab7e4845c92d19dfe0c3f67866cbf114d6242a5')
+ version("2.2.3", sha256="9ebdc4fd8ca48789de0b6bbb2ab7e4845c92d19dfe0c3f67866cbf114d6242a5")
- depends_on('collier')
+ depends_on("collier")
def cmake_args(self):
- args = [self.define('static', True),
- self.define('collier_path', self.spec['collier'].prefix.lib.cmake)]
+ args = [
+ self.define("static", True),
+ self.define("collier_path", self.spec["collier"].prefix.lib.cmake),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/recola/package.py b/var/spack/repos/builtin/packages/recola/package.py
index 38c69b7387..c7c3f693c7 100644
--- a/var/spack/repos/builtin/packages/recola/package.py
+++ b/var/spack/repos/builtin/packages/recola/package.py
@@ -13,30 +13,32 @@ class Recola(CMakePackage):
next-to-leading-order transition amplitudes in the
Standard Model of particle physics."""
- tags = ['hep']
+ tags = ["hep"]
homepage = "https://recola.hepforge.org"
- url = "https://recola.hepforge.org/downloads/?f=recola2-2.2.3.tar.gz"
+ url = "https://recola.hepforge.org/downloads/?f=recola2-2.2.3.tar.gz"
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- variant('python', default=True,
- description="Build py-recola python bindings.")
+ variant("python", default=True, description="Build py-recola python bindings.")
- version('2.2.4', sha256='16bdefb633d51842b4d32c39a43118d7052302cd63be456a473557e9b7e0316e')
- version('2.2.3', sha256='db0f5e448ed603ac4073d4bbf36fd74f401a22876ad390c0d02c815a78106c5f')
- version('1.4.3', url='https://recola.hepforge.org/downloads/?f=recola-1.4.3.tar.gz',
- sha256='f6a7dce6e1f09821ba919524f786557984f216c001ab63e7793e8aa9a8560ceb')
+ version("2.2.4", sha256="16bdefb633d51842b4d32c39a43118d7052302cd63be456a473557e9b7e0316e")
+ version("2.2.3", sha256="db0f5e448ed603ac4073d4bbf36fd74f401a22876ad390c0d02c815a78106c5f")
+ version(
+ "1.4.3",
+ url="https://recola.hepforge.org/downloads/?f=recola-1.4.3.tar.gz",
+ sha256="f6a7dce6e1f09821ba919524f786557984f216c001ab63e7793e8aa9a8560ceb",
+ )
- depends_on('collier')
- depends_on('recola-sm')
- depends_on('python@3:', when='+python')
+ depends_on("collier")
+ depends_on("recola-sm")
+ depends_on("python@3:", when="+python")
def cmake_args(self):
args = [
- self.define('static', True),
- self.define('collier_path', self.spec['collier'].prefix.lib.cmake),
- self.define('modelfile_path', self.spec['recola-sm'].prefix.lib.cmake),
- self.define_from_variant("with_python3", 'python'),
+ self.define("static", True),
+ self.define("collier_path", self.spec["collier"].prefix.lib.cmake),
+ self.define("modelfile_path", self.spec["recola-sm"].prefix.lib.cmake),
+ self.define_from_variant("with_python3", "python"),
]
return args
diff --git a/var/spack/repos/builtin/packages/recon/package.py b/var/spack/repos/builtin/packages/recon/package.py
index 88ae35a007..8c7c9420e9 100644
--- a/var/spack/repos/builtin/packages/recon/package.py
+++ b/var/spack/repos/builtin/packages/recon/package.py
@@ -10,44 +10,38 @@ from spack.package import *
class Recon(MakefilePackage):
"""RECON: a package for automated de novo identification of repeat families
- from genomic sequences."""
+ from genomic sequences."""
homepage = "http://eddylab.org/software/recon/"
- url = "http://eddylab.org/software/recon/RECON1.05.tar.gz"
+ url = "http://eddylab.org/software/recon/RECON1.05.tar.gz"
- version('1.05', sha256='4d4f76f439bcffd50380cffc41a80dc15fa4a80f38a04234e24da893ed7c025a')
+ version("1.05", sha256="4d4f76f439bcffd50380cffc41a80dc15fa4a80f38a04234e24da893ed7c025a")
- variant('repeatmasker', default=False,
- description='Use RepeatMasker developer patches (1.08)')
+ variant("repeatmasker", default=False, description="Use RepeatMasker developer patches (1.08)")
- patch('repeatmasker_recon.patch', when='+repeatmasker')
+ patch("repeatmasker_recon.patch", when="+repeatmasker")
- build_directory = 'src'
+ build_directory = "src"
- depends_on('perl', type='run')
+ depends_on("perl", type="run")
@property
def install_targets(self):
- return [
- 'install',
- 'BINDIR=%s' % self.prefix.bin
- ]
+ return ["install", "BINDIR=%s" % self.prefix.bin]
# edit the recon.pl script with the prefix as mentioned in the README
def edit(self, spec, prefix):
- filter_file('$path = ""', '$path = "%s"' % prefix.bin,
- 'scripts/recon.pl', string=True)
+ filter_file('$path = ""', '$path = "%s"' % prefix.bin, "scripts/recon.pl", string=True)
# recon's makefile is very basic -- the target directory must
# already exist to properly install
- @run_before('install')
+ @run_before("install")
def prepare_bin(self):
mkdirp(prefix.bin)
# finally, install the scripts dir as well
# and link the recon command into bin.
- @run_after('install')
+ @run_after("install")
def finalize(self):
- install_tree('scripts', prefix.scripts)
- symlink(join_path(prefix.scripts, 'recon.pl'),
- join_path(prefix.bin, 'recon'))
+ install_tree("scripts", prefix.scripts)
+ symlink(join_path(prefix.scripts, "recon.pl"), join_path(prefix.bin, "recon"))
diff --git a/var/spack/repos/builtin/packages/recorder/package.py b/var/spack/repos/builtin/packages/recorder/package.py
index 32f777eb70..495b6f6fd5 100644
--- a/var/spack/repos/builtin/packages/recorder/package.py
+++ b/var/spack/repos/builtin/packages/recorder/package.py
@@ -11,29 +11,37 @@ class Recorder(AutotoolsPackage):
activity in HPC applications."""
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')
-
- variant('posix', default=True, description="Enable POSIX level tracing.")
- variant('mpi', default=True, description="Enable MPI level tracing. MPI is required even with this option disabled.")
- variant('hdf5', default=True, description="Enable HDF5 level tracing. HDF5 is required even with this option disabled.")
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mpi')
- depends_on('hdf5')
+ 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")
+
+ variant("posix", default=True, description="Enable POSIX level tracing.")
+ variant(
+ "mpi",
+ default=True,
+ description="Enable MPI level tracing. MPI is required even with this option disabled.",
+ )
+ variant(
+ "hdf5",
+ default=True,
+ description="Enable HDF5 level tracing. HDF5 is required even with this option disabled.",
+ )
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mpi")
+ depends_on("hdf5")
def configure_args(self):
args = []
diff --git a/var/spack/repos/builtin/packages/recordproto/package.py b/var/spack/repos/builtin/packages/recordproto/package.py
index b186c92110..c2328c595b 100644
--- a/var/spack/repos/builtin/packages/recordproto/package.py
+++ b/var/spack/repos/builtin/packages/recordproto/package.py
@@ -15,7 +15,7 @@ class Recordproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/recordproto"
xorg_mirror_path = "proto/recordproto-1.14.2.tar.gz"
- version('1.14.2', sha256='485f792570dd7afe49144227f325bf2827bc7d87aae6a8ab6c1de2b06b1c68c5')
+ version("1.14.2", sha256="485f792570dd7afe49144227f325bf2827bc7d87aae6a8ab6c1de2b06b1c68c5")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/redis/package.py b/var/spack/repos/builtin/packages/redis/package.py
index 70d0961e45..07240f6824 100644
--- a/var/spack/repos/builtin/packages/redis/package.py
+++ b/var/spack/repos/builtin/packages/redis/package.py
@@ -16,33 +16,31 @@ class Redis(MakefilePackage):
and provides high availability via Redis Sentinel and automatic
partitioning with Redis Cluster
"""
+
homepage = "https://redis.io"
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')
- version('5.0.0', sha256='70c98b2d0640b2b73c9d8adb4df63bcb62bad34b788fe46d1634b6cf87dc99a4')
- version('4.0.13', sha256='17d955227966dcd68590be6139e5fe7f2d19fc4fb7334248a904ea9cdd30c1d4')
- version('4.0.12', sha256='6447259d2eed426a949c9c13f8fdb2d91fb66d9dc915dd50db13b87f46d93162')
- version('4.0.11', sha256='fc53e73ae7586bcdacb4b63875d1ff04f68c5474c1ddeda78f00e5ae2eed1bbb')
+ 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")
+ version("5.0.0", sha256="70c98b2d0640b2b73c9d8adb4df63bcb62bad34b788fe46d1634b6cf87dc99a4")
+ version("4.0.13", sha256="17d955227966dcd68590be6139e5fe7f2d19fc4fb7334248a904ea9cdd30c1d4")
+ version("4.0.12", sha256="6447259d2eed426a949c9c13f8fdb2d91fb66d9dc915dd50db13b87f46d93162")
+ version("4.0.11", sha256="fc53e73ae7586bcdacb4b63875d1ff04f68c5474c1ddeda78f00e5ae2eed1bbb")
@property
def install_targets(self):
- return [
- 'PREFIX={0}'.format(self.spec.prefix),
- 'install'
- ]
+ return ["PREFIX={0}".format(self.spec.prefix), "install"]
- @run_after('install')
+ @run_after("install")
def install_conf(self):
mkdirp(self.prefix.conf)
- install('redis.conf', self.prefix.conf)
+ install("redis.conf", self.prefix.conf)
diff --git a/var/spack/repos/builtin/packages/reditools/package.py b/var/spack/repos/builtin/packages/reditools/package.py
index 45c2fb82ae..1033e2bdea 100644
--- a/var/spack/repos/builtin/packages/reditools/package.py
+++ b/var/spack/repos/builtin/packages/reditools/package.py
@@ -17,69 +17,72 @@ class Reditools(PythonPackage):
in the standard BAM format and implement a variety of filters."""
homepage = "https://github.com/BioinfoUNIBA/REDItools"
- git = "https://github.com/BioinfoUNIBA/REDItools.git"
+ git = "https://github.com/BioinfoUNIBA/REDItools.git"
- maintainers = ['glennpj']
+ maintainers = ["glennpj"]
- version('1.3_2020-08-03', commit='2dc71277a25e667797c363d1fca22726249774a3')
- version('1.3_2020-03-20', commit='cf47f3d54f324aeb9650bcf8bfacf5a967762a55')
+ version("1.3_2020-08-03", commit="2dc71277a25e667797c363d1fca22726249774a3")
+ version("1.3_2020-03-20", commit="cf47f3d54f324aeb9650bcf8bfacf5a967762a55")
- variant('nature_protocol', default=False,
- description='Install the Nature Protocol scripts and files')
+ variant(
+ "nature_protocol",
+ default=False,
+ description="Install the Nature Protocol scripts and files",
+ )
# pip silently replaces distutils with setuptools
- depends_on('py-setuptools', type='build')
- depends_on('py-reindent', type='build', when='^python@3:')
- depends_on('blat', type='run')
- depends_on('py-fisher', type='run')
- depends_on('py-numpy', type='run')
- depends_on('py-pandas', type='run')
- depends_on('py-pysam', type='run')
- depends_on('py-scipy', type='run')
- depends_on('tabix', type='run')
+ depends_on("py-setuptools", type="build")
+ depends_on("py-reindent", type="build", when="^python@3:")
+ depends_on("blat", type="run")
+ depends_on("py-fisher", type="run")
+ depends_on("py-numpy", type="run")
+ depends_on("py-pandas", type="run")
+ depends_on("py-pysam", type="run")
+ depends_on("py-scipy", type="run")
+ depends_on("tabix", type="run")
# Nature Protocol
- depends_on('bcftools', type='run', when='+nature_protocol')
- depends_on('bedtools2', type='run', when='+nature_protocol')
- depends_on('bwa', type='run', when='+nature_protocol')
- depends_on('bzip2', type='run', when='+nature_protocol')
- depends_on('fastp', type='run', when='+nature_protocol')
- depends_on('fastqc', type='run', when='+nature_protocol')
- depends_on('git', type='run', when='+nature_protocol')
- depends_on('gmap-gsnap', type='run', when='+nature_protocol')
- depends_on('htslib', type='run', when='+nature_protocol')
- depends_on('libdeflate', type='run', when='+nature_protocol')
- depends_on('py-bx-python', type='run', when='+nature_protocol')
- depends_on('py-rseqc', type='run', when='+nature_protocol')
- depends_on('samtools', type='run', when='+nature_protocol')
- depends_on('star', type='run', when='+nature_protocol')
- depends_on('wget', type='run', when='+nature_protocol')
+ depends_on("bcftools", type="run", when="+nature_protocol")
+ depends_on("bedtools2", type="run", when="+nature_protocol")
+ depends_on("bwa", type="run", when="+nature_protocol")
+ depends_on("bzip2", type="run", when="+nature_protocol")
+ depends_on("fastp", type="run", when="+nature_protocol")
+ depends_on("fastqc", type="run", when="+nature_protocol")
+ depends_on("git", type="run", when="+nature_protocol")
+ depends_on("gmap-gsnap", type="run", when="+nature_protocol")
+ depends_on("htslib", type="run", when="+nature_protocol")
+ depends_on("libdeflate", type="run", when="+nature_protocol")
+ depends_on("py-bx-python", type="run", when="+nature_protocol")
+ depends_on("py-rseqc", type="run", when="+nature_protocol")
+ depends_on("samtools", type="run", when="+nature_protocol")
+ depends_on("star", type="run", when="+nature_protocol")
+ depends_on("wget", type="run", when="+nature_protocol")
- patch('interpreter.patch')
- patch('setup.py.patch')
- patch('batch_sort.patch', when='^python@3:')
+ patch("interpreter.patch")
+ patch("setup.py.patch")
+ patch("batch_sort.patch", when="^python@3:")
- @run_before('install')
+ @run_before("install")
def p2_to_p3(self):
- if '^python@3:' in self.spec:
+ if "^python@3:" in self.spec:
# clean up space/tab mixing
- reindent = which('reindent')
- reindent('--nobackup', '--recurse', '.')
+ reindent = which("reindent")
+ reindent("--nobackup", "--recurse", ".")
# convert to be python3 compatible
- p2_to_p3 = which('2to3')
- p2_to_p3('--nobackups', '--write', '.')
+ p2_to_p3 = which("2to3")
+ p2_to_p3("--nobackups", "--write", ".")
- @run_after('install')
+ @run_after("install")
def nature_protocol(self):
- if '+nature_protocol' in self.spec:
+ if "+nature_protocol" in self.spec:
mkdirp(prefix.NPfiles)
- install_tree('NPfiles', prefix.NPfiles)
+ install_tree("NPfiles", prefix.NPfiles)
ignore_files = [
- 'conda_pckg_installer_docker.py',
- 'conda_pckgs_installer.py',
- 'download-prepare-data-NP_docker.py',
+ "conda_pckg_installer_docker.py",
+ "conda_pckgs_installer.py",
+ "download-prepare-data-NP_docker.py",
]
docker_conda = lambda p: p in ignore_files
- install_tree('NPscripts', prefix.bin, ignore=docker_conda)
+ install_tree("NPscripts", prefix.bin, ignore=docker_conda)
diff --git a/var/spack/repos/builtin/packages/redland-bindings/package.py b/var/spack/repos/builtin/packages/redland-bindings/package.py
index 2282d1e288..5bf3ceeb12 100644
--- a/var/spack/repos/builtin/packages/redland-bindings/package.py
+++ b/var/spack/repos/builtin/packages/redland-bindings/package.py
@@ -12,24 +12,24 @@ class RedlandBindings(AutotoolsPackage):
"""Redland Language Bindings for language APIs to Redland"""
homepage = "https://librdf.org/"
- url = "https://download.librdf.org/source/redland-bindings-1.0.17.1.tar.gz"
+ url = "https://download.librdf.org/source/redland-bindings-1.0.17.1.tar.gz"
- version('1.0.17.1', sha256='ff72b587ab55f09daf81799cb3f9d263708fad5df7a5458f0c28566a2563b7f5')
- version('1.0.16.1', sha256='065037ef61e9b78f642e75b9c2a42700eb1a87d903f2f9963d86591c7d916826')
- version('1.0.14.1', sha256='a8cc365fccf292c56d53341ecae57fe8727e5002e048ca25f6251b5e595aec40')
+ version("1.0.17.1", sha256="ff72b587ab55f09daf81799cb3f9d263708fad5df7a5458f0c28566a2563b7f5")
+ version("1.0.16.1", sha256="065037ef61e9b78f642e75b9c2a42700eb1a87d903f2f9963d86591c7d916826")
+ version("1.0.14.1", sha256="a8cc365fccf292c56d53341ecae57fe8727e5002e048ca25f6251b5e595aec40")
- depends_on('swig', type='build')
- depends_on('redland')
- depends_on('krb5')
- depends_on('libssh')
- extends('python')
+ depends_on("swig", type="build")
+ depends_on("redland")
+ depends_on("krb5")
+ depends_on("libssh")
+ extends("python")
def configure_args(self):
- plib = self.spec['python'].prefix.lib
- plib64 = self.spec['python'].prefix.lib64
+ plib = self.spec["python"].prefix.lib
+ plib64 = self.spec["python"].prefix.lib64
mybase = self.prefix.lib
if os.path.isdir(plib64) and not os.path.isdir(plib):
mybase = self.prefix.lib64
- pver = 'python{0}'.format(self.spec['python'].version.up_to(2))
- myplib = join_path(mybase, pver, 'site-packages')
- return ['--with-python', 'PYTHON_LIB={0}'.format(myplib)]
+ pver = "python{0}".format(self.spec["python"].version.up_to(2))
+ myplib = join_path(mybase, pver, "site-packages")
+ return ["--with-python", "PYTHON_LIB={0}".format(myplib)]
diff --git a/var/spack/repos/builtin/packages/redland/package.py b/var/spack/repos/builtin/packages/redland/package.py
index e6cbdcdcc1..bb06defe0c 100644
--- a/var/spack/repos/builtin/packages/redland/package.py
+++ b/var/spack/repos/builtin/packages/redland/package.py
@@ -11,11 +11,11 @@ class Redland(AutotoolsPackage):
"""Redland RDF Library - librdf providing the RDF API and triple stores"""
homepage = "https://librdf.org/"
- url = "https://download.librdf.org/source/redland-1.0.17.tar.gz"
+ url = "https://download.librdf.org/source/redland-1.0.17.tar.gz"
- version('1.0.17', sha256='de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681')
- version('1.0.16', sha256='d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd')
- version('1.0.15', sha256='0e1f5825b6357c9b490da866c95ae1d895dbb5f445013d2511c37df822ee9ec6')
+ version("1.0.17", sha256="de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681")
+ version("1.0.16", sha256="d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd")
+ version("1.0.15", sha256="0e1f5825b6357c9b490da866c95ae1d895dbb5f445013d2511c37df822ee9ec6")
- depends_on('raptor2')
- depends_on('rasqal')
+ depends_on("raptor2")
+ depends_on("rasqal")
diff --git a/var/spack/repos/builtin/packages/redset/package.py b/var/spack/repos/builtin/packages/redset/package.py
index 625f7b0407..f88be7e925 100644
--- a/var/spack/repos/builtin/packages/redset/package.py
+++ b/var/spack/repos/builtin/packages/redset/package.py
@@ -10,41 +10,41 @@ class Redset(CMakePackage):
"""Create MPI communicators for disparate redundancy sets"""
homepage = "https://github.com/ecp-veloc/redset"
- url = "https://github.com/ecp-veloc/redset/archive/v0.0.5.tar.gz"
- git = "https://github.com/ecp-veloc/redset.git"
- tags = ['ecp']
-
- maintainers = ['CamStan', 'gonsie']
-
- version('main', branch='main')
- version('0.2.0', sha256='0438b0ba56dafcd5694a8fceeb5a932901307353e056ab29817d30b8387f787f')
- version('0.1.0', sha256='baa75de0d0d6de64ade50cff3d38ee89fd136ce69869182bdaefccf5be5d286d')
- version('0.0.5', sha256='4db4ae59ab9d333a6d1d80678dedf917d23ad461c88b6d39466fc4bf6467d1ee')
- version('0.0.4', sha256='c33fce458d5582f01ad632c6fae8eb0a03eaef00e3c240c713b03bb95e2787ad')
- version('0.0.3', sha256='30ac1a960f842ae23a960a88b312af3fddc4795f2053eeeec3433a61e4666a76')
-
- depends_on('mpi')
- depends_on('kvtree+mpi')
- depends_on('rankstr')
- depends_on('zlib', type='link')
-
- variant('shared', default=True, description='Build with shared libraries')
- depends_on('kvtree+shared', when='@0.1: +shared')
- depends_on('kvtree~shared', when='@0.1: ~shared')
- depends_on('rankstr+shared', when='@0.1: +shared')
- depends_on('rankstr~shared', when='@0.1: ~shared')
+ url = "https://github.com/ecp-veloc/redset/archive/v0.0.5.tar.gz"
+ git = "https://github.com/ecp-veloc/redset.git"
+ tags = ["ecp"]
+
+ maintainers = ["CamStan", "gonsie"]
+
+ version("main", branch="main")
+ version("0.2.0", sha256="0438b0ba56dafcd5694a8fceeb5a932901307353e056ab29817d30b8387f787f")
+ version("0.1.0", sha256="baa75de0d0d6de64ade50cff3d38ee89fd136ce69869182bdaefccf5be5d286d")
+ version("0.0.5", sha256="4db4ae59ab9d333a6d1d80678dedf917d23ad461c88b6d39466fc4bf6467d1ee")
+ version("0.0.4", sha256="c33fce458d5582f01ad632c6fae8eb0a03eaef00e3c240c713b03bb95e2787ad")
+ version("0.0.3", sha256="30ac1a960f842ae23a960a88b312af3fddc4795f2053eeeec3433a61e4666a76")
+
+ depends_on("mpi")
+ depends_on("kvtree+mpi")
+ depends_on("rankstr")
+ depends_on("zlib", type="link")
+
+ variant("shared", default=True, description="Build with shared libraries")
+ depends_on("kvtree+shared", when="@0.1: +shared")
+ depends_on("kvtree~shared", when="@0.1: ~shared")
+ depends_on("rankstr+shared", when="@0.1: +shared")
+ depends_on("rankstr~shared", when="@0.1: ~shared")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
- args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix))
- args.append(self.define('WITH_RANKSTR_PREFIX', spec['rankstr'].prefix))
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
+ args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix))
+ args.append(self.define("WITH_RANKSTR_PREFIX", spec["rankstr"].prefix))
- if spec.satisfies('@0.1.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.1.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('REDSET_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("REDSET_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/redundans/package.py b/var/spack/repos/builtin/packages/redundans/package.py
index 5a1c5ec4b5..f80980c9ff 100644
--- a/var/spack/repos/builtin/packages/redundans/package.py
+++ b/var/spack/repos/builtin/packages/redundans/package.py
@@ -11,40 +11,41 @@ class Redundans(Package):
"""Redundans pipeline assists an assembly of heterozygous genomes."""
homepage = "https://github.com/Gabaldonlab/redundans"
- url = "https://github.com/Gabaldonlab/redundans/archive/v0.13c.tar.gz"
- git = "https://github.com/Gabaldonlab/redundans.git"
-
- version('0.14a', commit='a20215a862aed161cbfc79df9133206156a1e9f0')
- version('0.13c', sha256='26d48f27a32678d94c1d00cb3b8991d74891d6cad64a94569901ff9607a7a736')
-
- depends_on('python', type=('build', 'run'))
- depends_on('py-pyscaf', type=('build', 'run'))
- depends_on('py-fastaindex', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
- depends_on('sspace-standard')
- depends_on('bwa')
- depends_on('last')
- depends_on('gapcloser')
- depends_on('parallel')
- depends_on('snap-berkeley@1.0beta.18:', type=('build', 'run'))
+ url = "https://github.com/Gabaldonlab/redundans/archive/v0.13c.tar.gz"
+ git = "https://github.com/Gabaldonlab/redundans.git"
+
+ version("0.14a", commit="a20215a862aed161cbfc79df9133206156a1e9f0")
+ version("0.13c", sha256="26d48f27a32678d94c1d00cb3b8991d74891d6cad64a94569901ff9607a7a736")
+
+ depends_on("python", type=("build", "run"))
+ depends_on("py-pyscaf", type=("build", "run"))
+ depends_on("py-fastaindex", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
+ depends_on("sspace-standard")
+ depends_on("bwa")
+ depends_on("last")
+ depends_on("gapcloser")
+ depends_on("parallel")
+ depends_on("snap-berkeley@1.0beta.18:", type=("build", "run"))
def install(self, spec, prefix):
- sspace_location = join_path(spec['sspace-standard'].prefix,
- 'SSPACE_Standard_v3.0.pl')
+ sspace_location = join_path(spec["sspace-standard"].prefix, "SSPACE_Standard_v3.0.pl")
- filter_file(r'sspacebin = os.path.join(.*)$',
- 'sspacebin = \'' + sspace_location + '\'',
- 'redundans.py')
+ filter_file(
+ r"sspacebin = os.path.join(.*)$",
+ "sspacebin = '" + sspace_location + "'",
+ "redundans.py",
+ )
- binfiles = ['redundans.py', 'bin/filterReads.py']
+ binfiles = ["redundans.py", "bin/filterReads.py"]
# new internal dep with 0.14a
- if spec.satisfies('@0.14a:'):
- binfiles.append('bin/denovo.py')
+ if spec.satisfies("@0.14a:"):
+ binfiles.append("bin/denovo.py")
mkdirp(prefix.bin)
for f in binfiles:
install(f, prefix.bin)
- install('bin/fast?2*.py', prefix.bin)
+ install("bin/fast?2*.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py
index 111046655e..90bbb503f9 100644
--- a/var/spack/repos/builtin/packages/reframe/package.py
+++ b/var/spack/repos/builtin/packages/reframe/package.py
@@ -16,111 +16,116 @@ class Reframe(Package):
setup. This allows users to write easily portable regression tests,
focusing only on the functionality."""
- homepage = 'https://reframe-hpc.readthedocs.io'
- url = 'https://github.com/eth-cscs/reframe/archive/v2.21.tar.gz'
- git = 'https://github.com/eth-cscs/reframe.git'
+ homepage = "https://reframe-hpc.readthedocs.io"
+ url = "https://github.com/eth-cscs/reframe/archive/v2.21.tar.gz"
+ git = "https://github.com/eth-cscs/reframe.git"
# notify when the package is updated.
- maintainers = ['victorusu', 'vkarak']
-
- version('master', branch='master')
- version('3.11.0', sha256='3ddfef5482f0c304286a6c8f1ad0b3d75c4c61d0b9f9f8429b6157c189f2bb64')
- version('3.10.1', sha256='5fd649872bf93ba72a835896ea1a581b9b8c3e04150247be2359b95a7cdb89b5')
- version('3.10.0', sha256='b137f034be09abcf1bb8c3ceaf1a00d9c22c51c10738312eccf12c1c3e04b9ef')
- version('3.9.3', sha256='3dc28f89d85f837ad6c33f3322b5eaa0ea6df2ba5a7890cc76d79f4b96e305d5')
- version('3.9.2', sha256='2b60422615d5b52e5dca54ace0f53a712419bcce00a5515775e57e5f5f9d6e92')
- version('3.9.1', sha256='8f7f4991d1c32cc23f8b10a7509166030548bfe84e4785d017d8d797e31b0498')
- version('3.9.0', sha256='ccc36cb1db12148fe7658583e83c2717f5aae0d8c58f6b6ddd398e187c3edc3a')
- version('3.8.3', sha256='50b05b0952954215ac00a8b2e8944c946f387043660184f2fbf75995d0579d83')
- version('3.8.2', sha256='89116b320021193156f3d7f27057aeb900936502219e2aefa880bc0311052dbf')
- version('3.8.1', sha256='aa8ba4fb862de8ff333add73fd0fbb706a4d4f1381432b094bcdd7acbdcb80d4')
- version('3.8.0', sha256='b8a0486fd78786606586364968d1e2a4e7fc424d523b12b2c0ea8a227b485e30')
- 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')
- version('3.6.0', sha256='de1e0ea2677f2a49af4b64544379579515db36c2164f6dc647c3fbaab5f78462')
- version('3.5.3', sha256='5e7f8b93cd672dcb702c657ec2f595d34d3335b1d16484a596a083b5ef81d7ec')
- version('3.5.2', sha256='50d461811f6bba7c9b897866a290063e1bd229e7055f5acc2de1f749b99bfce7')
- version('3.5.1', sha256='656ac4c5cddd2af3fc358a7782b0a57c86d61adaeec99181ab7e1ddc630427b7')
- version('3.5.0', sha256='81b501be4252c99f12043cb21b0b7b8059207a340fc94173b180444599773f1a')
- version('3.4.2', sha256='0c5c6dbd234b8007be929be2ccbe6a00d9a5ec75cc86e129557590b83f71acca')
- version('3.4.1', sha256='aed5752a2f687002839923c5432784d3a25d3a29d43b69122dcbf72befa0fdbf')
- version('3.4', sha256='7e74b1c7468b94e89cff4cd4a91934645ab227ad61d57a9ddf6a7d3d0726010e')
- version('3.3', sha256='9da150a051e9fa4ffea1361f30e8593261e7f6ebc71ec91ed32143539f871ad7')
- version('3.2', sha256='dc7f72e31386e549a874699067666607a72835914fef18c38ae6032ab5e5ed51')
- version('3.1', sha256='a9f6ac1ae8fdc51be8032d5cc79c117ff602f57b57aace2e195b2cfe1bd3a16f')
- version('3.0', sha256='fb76b4513c03b84f5b3bbbc988f7747e5b58f04c983b3935bab1f2e81adccb82')
- version('2.21', sha256='f35d4fda2f9672c87d3ef664d9a2d6eb0c01c88218a31772a6645c32c8934c4d')
- version('2.20', sha256='310c18d705858bbe6bd9a2dc4d382b254c1f093b0671d72363f2111e8c162ba4')
- version('2.17.3', sha256='dc8dfb2ccb9a966303879b7cdcd188c47063e9b7999cbd5d6255223b066bf357')
- version('2.17.2', sha256='092241cdc15918040aacb922c806aecb59c5bdc3ff7db034a4f355d39aecc101')
- version('2.17.1', sha256='0b0d32a892607840a7d668f5dcea6f03f7022a26b23e5042a0faf5b8c41cb146')
-
- variant('docs', default=False,
- description='Build ReFrame\'s man page documentation')
- variant('gelf', default=False,
- description='Add graylog handler support')
+ maintainers = ["victorusu", "vkarak"]
+
+ version("master", branch="master")
+ version("3.11.0", sha256="3ddfef5482f0c304286a6c8f1ad0b3d75c4c61d0b9f9f8429b6157c189f2bb64")
+ version("3.10.1", sha256="5fd649872bf93ba72a835896ea1a581b9b8c3e04150247be2359b95a7cdb89b5")
+ version("3.10.0", sha256="b137f034be09abcf1bb8c3ceaf1a00d9c22c51c10738312eccf12c1c3e04b9ef")
+ version("3.9.3", sha256="3dc28f89d85f837ad6c33f3322b5eaa0ea6df2ba5a7890cc76d79f4b96e305d5")
+ version("3.9.2", sha256="2b60422615d5b52e5dca54ace0f53a712419bcce00a5515775e57e5f5f9d6e92")
+ version("3.9.1", sha256="8f7f4991d1c32cc23f8b10a7509166030548bfe84e4785d017d8d797e31b0498")
+ version("3.9.0", sha256="ccc36cb1db12148fe7658583e83c2717f5aae0d8c58f6b6ddd398e187c3edc3a")
+ version("3.8.3", sha256="50b05b0952954215ac00a8b2e8944c946f387043660184f2fbf75995d0579d83")
+ version("3.8.2", sha256="89116b320021193156f3d7f27057aeb900936502219e2aefa880bc0311052dbf")
+ version("3.8.1", sha256="aa8ba4fb862de8ff333add73fd0fbb706a4d4f1381432b094bcdd7acbdcb80d4")
+ version("3.8.0", sha256="b8a0486fd78786606586364968d1e2a4e7fc424d523b12b2c0ea8a227b485e30")
+ 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")
+ version("3.6.0", sha256="de1e0ea2677f2a49af4b64544379579515db36c2164f6dc647c3fbaab5f78462")
+ version("3.5.3", sha256="5e7f8b93cd672dcb702c657ec2f595d34d3335b1d16484a596a083b5ef81d7ec")
+ version("3.5.2", sha256="50d461811f6bba7c9b897866a290063e1bd229e7055f5acc2de1f749b99bfce7")
+ version("3.5.1", sha256="656ac4c5cddd2af3fc358a7782b0a57c86d61adaeec99181ab7e1ddc630427b7")
+ version("3.5.0", sha256="81b501be4252c99f12043cb21b0b7b8059207a340fc94173b180444599773f1a")
+ version("3.4.2", sha256="0c5c6dbd234b8007be929be2ccbe6a00d9a5ec75cc86e129557590b83f71acca")
+ version("3.4.1", sha256="aed5752a2f687002839923c5432784d3a25d3a29d43b69122dcbf72befa0fdbf")
+ version("3.4", sha256="7e74b1c7468b94e89cff4cd4a91934645ab227ad61d57a9ddf6a7d3d0726010e")
+ version("3.3", sha256="9da150a051e9fa4ffea1361f30e8593261e7f6ebc71ec91ed32143539f871ad7")
+ version("3.2", sha256="dc7f72e31386e549a874699067666607a72835914fef18c38ae6032ab5e5ed51")
+ version("3.1", sha256="a9f6ac1ae8fdc51be8032d5cc79c117ff602f57b57aace2e195b2cfe1bd3a16f")
+ version("3.0", sha256="fb76b4513c03b84f5b3bbbc988f7747e5b58f04c983b3935bab1f2e81adccb82")
+ version("2.21", sha256="f35d4fda2f9672c87d3ef664d9a2d6eb0c01c88218a31772a6645c32c8934c4d")
+ version("2.20", sha256="310c18d705858bbe6bd9a2dc4d382b254c1f093b0671d72363f2111e8c162ba4")
+ version("2.17.3", sha256="dc8dfb2ccb9a966303879b7cdcd188c47063e9b7999cbd5d6255223b066bf357")
+ version("2.17.2", sha256="092241cdc15918040aacb922c806aecb59c5bdc3ff7db034a4f355d39aecc101")
+ version("2.17.1", sha256="0b0d32a892607840a7d668f5dcea6f03f7022a26b23e5042a0faf5b8c41cb146")
+
+ variant("docs", default=False, description="Build ReFrame's man page documentation")
+ variant("gelf", default=False, description="Add graylog handler support")
# ReFrame requires git up to version 3.1, see:
# https://github.com/eth-cscs/reframe/issues/1464
- depends_on('git', when='@2.0:3.1', type='run')
+ depends_on("git", when="@2.0:3.1", type="run")
# supported python versions
- depends_on('python@3.5:', when='@2.0:2', type='run')
- depends_on('python@3.6:', when='@3.0:', type='run')
+ depends_on("python@3.5:", when="@2.0:2", type="run")
+ depends_on("python@3.6:", when="@3.0:", type="run")
# build dependencies
- depends_on('py-setuptools', type='build')
+ 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')
- depends_on('py-lxml', when='@3.6.0:', type='run')
- depends_on('py-pyyaml', when='@3.4.1:', type='run')
- depends_on('py-requests', when='@3.4.1:', type='run')
- depends_on('py-semver', when='@3.4.2:', type='run')
+ 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")
+ depends_on("py-lxml", when="@3.6.0:", type="run")
+ depends_on("py-pyyaml", when="@3.4.1:", type="run")
+ depends_on("py-requests", when="@3.4.1:", type="run")
+ depends_on("py-semver", when="@3.4.2:", type="run")
# extension dependencies
- depends_on('py-pygelf', when='+gelf', type='run')
+ depends_on("py-pygelf", when="+gelf", type="run")
# documentation dependencies
- depends_on('py-sphinx', when='+docs', type='build')
- depends_on('py-sphinx-rtd-theme', when='+docs', type='build')
+ depends_on("py-sphinx", when="+docs", type="build")
+ depends_on("py-sphinx-rtd-theme", when="+docs", type="build")
# sanity check
- sanity_check_is_file = ['bin/reframe']
- sanity_check_is_dir = ['bin', 'config', 'docs', 'reframe', 'tutorials',
- 'unittests', 'cscs-checks']
+ sanity_check_is_file = ["bin/reframe"]
+ sanity_check_is_dir = [
+ "bin",
+ "config",
+ "docs",
+ "reframe",
+ "tutorials",
+ "unittests",
+ "cscs-checks",
+ ]
# check if we can run reframe
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_list(self):
with working_dir(self.stage.source_path):
- reframe = Executable(self.prefix + '/bin/reframe')
- reframe('-l')
+ reframe = Executable(self.prefix + "/bin/reframe")
+ reframe("-l")
def install(self, spec, prefix):
- if spec.version >= Version('3.0'):
- if '+docs' in spec:
- with working_dir('docs'):
- make('man')
- make('html')
- with working_dir('man'):
- mkdir('man1')
- shutil.move('reframe.1', 'man1')
- mkdir('man8')
- shutil.move('reframe.settings.8', 'man8')
+ if spec.version >= Version("3.0"):
+ if "+docs" in spec:
+ with working_dir("docs"):
+ make("man")
+ make("html")
+ with working_dir("man"):
+ mkdir("man1")
+ shutil.move("reframe.1", "man1")
+ mkdir("man8")
+ shutil.move("reframe.settings.8", "man8")
install_tree(self.stage.source_path, self.prefix)
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix)
- if self.spec.version >= Version('3.0'):
- if '+docs' in self.spec:
- env.prepend_path('MANPATH', self.prefix.docs.man)
+ env.prepend_path("PYTHONPATH", self.prefix)
+ if self.spec.version >= Version("3.0"):
+ if "+docs" in self.spec:
+ env.prepend_path("MANPATH", self.prefix.docs.man)
diff --git a/var/spack/repos/builtin/packages/regcm/package.py b/var/spack/repos/builtin/packages/regcm/package.py
index 8bd91b1300..d948e282dc 100644
--- a/var/spack/repos/builtin/packages/regcm/package.py
+++ b/var/spack/repos/builtin/packages/regcm/package.py
@@ -9,17 +9,21 @@ from spack.package import *
class Regcm(AutotoolsPackage):
"""RegCM, ICTP Regional Climate Model (https://ictp.it)."""
- homepage = 'https://gforge.ictp.it/gf/project/regcm/'
-
- version('4.7.0', sha256='456631c10dcb83d70e51c3babda2f7a1aa41ed9e60cb4209deb3764655267519',
- url='https://gforge.ictp.it/gf/download/frsrelease/259/1845/RegCM-4.7.0.tar.gz')
-
- variant('debug', default=False,
- description='Build RegCM using debug options.')
- variant('profile', default=False,
- description='Build RegCM using profiling options.')
- variant('singleprecision', default=False,
- description='Build RegCM using single precision float type.')
+ homepage = "https://gforge.ictp.it/gf/project/regcm/"
+
+ version(
+ "4.7.0",
+ sha256="456631c10dcb83d70e51c3babda2f7a1aa41ed9e60cb4209deb3764655267519",
+ url="https://gforge.ictp.it/gf/download/frsrelease/259/1845/RegCM-4.7.0.tar.gz",
+ )
+
+ variant("debug", default=False, description="Build RegCM using debug options.")
+ variant("profile", default=False, description="Build RegCM using profiling options.")
+ variant(
+ "singleprecision",
+ default=False,
+ description="Build RegCM using single precision float type.",
+ )
# On Intel and PGI compilers, multiple archs can be built at the same time,
# producing a so-called fat binary. Unfortunately, gcc builds only the last
@@ -35,92 +39,110 @@ class Regcm(AutotoolsPackage):
# - other compilers: no extensions/optimizations are supported.
#
# See also discussions: #974, #9934, #10797.
- extensions = ('knl', 'skl', 'bdw', 'nhl')
- variant('extension', values=any_combination_of(*extensions),
- description='Build extensions for a specific architecture. Only '
- 'available for GCC and Intel compilers; moreover, '
- 'GCC builds only one architecture optimization.')
-
- variant('pnetcdf', default=False,
- description='Build NetCDF using the high performance parallel '
- 'NetCDF implementation.')
-
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
- depends_on('hdf5')
- depends_on('mpi')
- depends_on('netcdf-c +parallel-netcdf', when='+pnetcdf')
-
- intel_msg = ('Intel compiler not working with this specific version of '
- 'RegCM (generates a bug at runtime): please install a newer '
- 'version of RegCM or use a different compiler.')
- conflicts('%intel', when='@4.7.0', msg=intel_msg)
+ extensions = ("knl", "skl", "bdw", "nhl")
+ variant(
+ "extension",
+ values=any_combination_of(*extensions),
+ description="Build extensions for a specific architecture. Only "
+ "available for GCC and Intel compilers; moreover, "
+ "GCC builds only one architecture optimization.",
+ )
+
+ variant(
+ "pnetcdf",
+ default=False,
+ description="Build NetCDF using the high performance parallel " "NetCDF implementation.",
+ )
+
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
+ depends_on("hdf5")
+ depends_on("mpi")
+ depends_on("netcdf-c +parallel-netcdf", when="+pnetcdf")
+
+ intel_msg = (
+ "Intel compiler not working with this specific version of "
+ "RegCM (generates a bug at runtime): please install a newer "
+ "version of RegCM or use a different compiler."
+ )
+ conflicts("%intel", when="@4.7.0", msg=intel_msg)
# 'make' sometimes crashes when compiling with more than 10-12 cores.
# Moreover, parallel compile time is ~ 1m 30s, while serial is ~ 50s.
parallel = False
def flag_handler(self, name, flags):
- if name == 'fflags' and self.compiler.fc.endswith('gfortran'):
- flags.extend(['-Wall', '-Wextra', '-Warray-temporaries',
- '-Wconversion', '-fimplicit-none', '-fbacktrace',
- '-ffree-line-length-0', '-finit-real=nan',
- '-ffpe-trap=zero,overflow,underflow', '-fcheck=all'])
-
- elif name == 'ldlibs':
- flags.extend(['-lnetcdff', '-lnetcdf'])
- if self.compiler.fc.endswith('gfortran'):
- flags.extend(['-lm', '-ldl'])
+ if name == "fflags" and self.compiler.fc.endswith("gfortran"):
+ flags.extend(
+ [
+ "-Wall",
+ "-Wextra",
+ "-Warray-temporaries",
+ "-Wconversion",
+ "-fimplicit-none",
+ "-fbacktrace",
+ "-ffree-line-length-0",
+ "-finit-real=nan",
+ "-ffpe-trap=zero,overflow,underflow",
+ "-fcheck=all",
+ ]
+ )
+
+ elif name == "ldlibs":
+ flags.extend(["-lnetcdff", "-lnetcdf"])
+ if self.compiler.fc.endswith("gfortran"):
+ flags.extend(["-lm", "-ldl"])
else:
- flags.extend(['-lhdf5_hl', '-lhdf5', '-lz'])
+ flags.extend(["-lhdf5_hl", "-lhdf5", "-lz"])
return (None, None, flags)
def configure_args(self):
- args = ['--enable-shared']
+ args = ["--enable-shared"]
- optimizations = self.spec.variants['extension'].value
+ optimizations = self.spec.variants["extension"].value
first_optim = optimizations[0]
- if first_optim != 'none':
- if not (self.spec.satisfies(r'%gcc')
- or self.spec.satisfies(r'%intel')):
+ if first_optim != "none":
+ if not (self.spec.satisfies(r"%gcc") or self.spec.satisfies(r"%intel")):
# This means the user chose some optimizations on a different
# compiler from GCC and Intel, which are the only compiler
# supported by RegCM 4.7.x.
- raise InstallError('Architecture optimizations are available '
- 'only for GCC and Intel compilers.')
+ raise InstallError(
+ "Architecture optimizations are available " "only for GCC and Intel compilers."
+ )
- if len(optimizations) > 1 and self.spec.satisfies(r'%gcc'):
+ if len(optimizations) > 1 and self.spec.satisfies(r"%gcc"):
# https://github.com/spack/spack/issues/974
- raise InstallError('The GCC compiler does not support '
- 'multiple architecture optimizations.')
+ raise InstallError(
+ "The GCC compiler does not support " "multiple architecture optimizations."
+ )
# RegCM configure script treats --disable-X as --enable-X, so we
# cannot use enable_or_disable; enable only the flags requested.
- args += ('--enable-' + ext for ext in optimizations)
+ args += ("--enable-" + ext for ext in optimizations)
- for opt in ('debug', 'profile', 'singleprecision'):
- if ('+' + opt) in self.spec:
- args.append('--enable-' + opt)
+ for opt in ("debug", "profile", "singleprecision"):
+ if ("+" + opt) in self.spec:
+ args.append("--enable-" + opt)
# RegCM SVN6916 introduced a specific flag to use some pnetcdf calls.
- if '+pnetcdf' in self.spec and '@4.7.0-SVN6916:' in self.spec:
- args.append('--enable-parallel-nc')
+ if "+pnetcdf" in self.spec and "@4.7.0-SVN6916:" in self.spec:
+ args.append("--enable-parallel-nc")
# RegCM doesn't listen to the FFLAGS variable, so we have to route
# flags to FCFLAGS.
- fcflags = list(self.spec.compiler_flags['fflags'])
+ fcflags = list(self.spec.compiler_flags["fflags"])
# RegCM complains when compiled with gfortran.
- if self.compiler.fc.endswith('gfortran'):
- fcflags.append('-fno-range-check')
+ if self.compiler.fc.endswith("gfortran"):
+ fcflags.append("-fno-range-check")
- args.append('FCFLAGS=' + ' '.join(fcflags))
+ args.append("FCFLAGS=" + " ".join(fcflags))
# The configure needs a hint on the MPI Fortran compiler, otherwise it
# doesn't find it and tries to compile MPI Fortran code with the system
# Fortran non-MPI compiler.
- args.append('MPIFC=' + self.spec['mpi'].mpifc)
+ args.append("MPIFC=" + self.spec["mpi"].mpifc)
return args
diff --git a/var/spack/repos/builtin/packages/relax/package.py b/var/spack/repos/builtin/packages/relax/package.py
index 2462a4843a..1e6a6e6c56 100644
--- a/var/spack/repos/builtin/packages/relax/package.py
+++ b/var/spack/repos/builtin/packages/relax/package.py
@@ -8,30 +8,30 @@ from spack.package import *
class Relax(CMakePackage):
"""A set of Reflex libraries for the most common used general data types in
- the LHC Computing Grid"""
+ the LHC Computing Grid"""
homepage = "https://twiki.cern.ch/twiki/bin/view/LCG/RELAX"
- url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/RELAX-1.tar.gz"
+ url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/RELAX-1.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('root6', sha256='1d24b1a0884bbe99d60f7d02fea45d59695c158ab5e53516ac3fb780eb460bb4')
+ version("root6", sha256="1d24b1a0884bbe99d60f7d02fea45d59695c158ab5e53516ac3fb780eb460bb4")
- depends_on('clhep')
- depends_on('gsl')
- depends_on('hepmc@:2')
- depends_on('root@6.0.0:')
+ depends_on("clhep")
+ depends_on("gsl")
+ depends_on("hepmc@:2")
+ depends_on("root@6.0.0:")
def cmake_args(self):
spec = self.spec
- cxxstd = self.spec['root'].variants['cxxstd'].value
- hepmc_lib = spec['hepmc'].prefix.lib.join('libHepMC.so')
+ cxxstd = self.spec["root"].variants["cxxstd"].value
+ hepmc_lib = spec["hepmc"].prefix.lib.join("libHepMC.so")
args = [
- '-DCMAKE_CXX_STANDARD={0}'.format(cxxstd),
- '-DROOT_BINARY_PATH={0}'.format(spec['root'].prefix.bin),
- '-DHEPMC_INCLUDE_DIR={0}'.format(spec['hepmc'].prefix.include),
- '-DHEPMC_LIBRARIES={0}'.format(hepmc_lib)
+ "-DCMAKE_CXX_STANDARD={0}".format(cxxstd),
+ "-DROOT_BINARY_PATH={0}".format(spec["root"].prefix.bin),
+ "-DHEPMC_INCLUDE_DIR={0}".format(spec["hepmc"].prefix.include),
+ "-DHEPMC_LIBRARIES={0}".format(hepmc_lib),
]
return args
diff --git a/var/spack/repos/builtin/packages/relion/package.py b/var/spack/repos/builtin/packages/relion/package.py
index a8bd0626e8..b8455f93cf 100644
--- a/var/spack/repos/builtin/packages/relion/package.py
+++ b/var/spack/repos/builtin/packages/relion/package.py
@@ -13,127 +13,138 @@ class Relion(CMakePackage, CudaPackage):
electron cryo-microscopy (cryo-EM)."""
homepage = "http://www2.mrc-lmb.cam.ac.uk/relion"
- git = "https://github.com/3dem/relion.git"
- url = "https://github.com/3dem/relion/archive/3.1.3.zip"
+ git = "https://github.com/3dem/relion.git"
+ url = "https://github.com/3dem/relion/archive/3.1.3.zip"
# New 4.0-beta
- version('4.0-beta', commit='e3537c82cf7a816df805f4e54c0bc12475803524')
+ version("4.0-beta", commit="e3537c82cf7a816df805f4e54c0bc12475803524")
- version('3.1.3', sha256='e67277200b54d1814045cfe02c678a58d88eb8f988091573453c8568bfde90fc', preferred=True)
- version('3.1.2', sha256='dcdf6f214f79a03d29f0fed2de58054efa35a9d8401543bdc52bfb177987931f')
- version('3.1.1', sha256='63e9b77e1ba9ec239375020ad6ff631424d1a5803cba5c608c09fd44d20b1618')
- version('3.1.0', sha256='8a7e751fa6ebcdf9f36046499b3d88e170c4da86d5ff9ad1914b5f3d178867a8')
+ version(
+ "3.1.3",
+ sha256="e67277200b54d1814045cfe02c678a58d88eb8f988091573453c8568bfde90fc",
+ preferred=True,
+ )
+ version("3.1.2", sha256="dcdf6f214f79a03d29f0fed2de58054efa35a9d8401543bdc52bfb177987931f")
+ version("3.1.1", sha256="63e9b77e1ba9ec239375020ad6ff631424d1a5803cba5c608c09fd44d20b1618")
+ version("3.1.0", sha256="8a7e751fa6ebcdf9f36046499b3d88e170c4da86d5ff9ad1914b5f3d178867a8")
# 3.0.8 latest release in 3.0 branch
- version('3.0.8', sha256='18cdd58e3a612d32413eb37e473fe8fbf06262d2ed72e42da20356f459260973')
- version('3.0.7', sha256='a6d37248fc4d0bfc18f4badb7986dc1b6d6849baa2128b0b4dade13cb6991a99')
+ version("3.0.8", sha256="18cdd58e3a612d32413eb37e473fe8fbf06262d2ed72e42da20356f459260973")
+ version("3.0.7", sha256="a6d37248fc4d0bfc18f4badb7986dc1b6d6849baa2128b0b4dade13cb6991a99")
# relion master contains development code
# contains 3.0 branch code
- version('master')
+ version("master")
- variant('gui', default=True, description="build the gui")
- variant('cuda', default=True, description="enable compute on gpu")
- variant('double', default=True, description="double precision (cpu) code")
- variant('double-gpu', default=False, description="double precision gpu")
+ variant("gui", default=True, description="build the gui")
+ variant("cuda", default=True, description="enable compute on gpu")
+ variant("double", default=True, description="double precision (cpu) code")
+ variant("double-gpu", default=False, description="double precision gpu")
# if built with purpose=cluster then relion will link to gpfs libraries
# if that's not desirable then use purpose=desktop
- variant('purpose', default='cluster', values=('cluster', 'desktop'),
- description="build relion for use in cluster or desktop")
+ variant(
+ "purpose",
+ default="cluster",
+ values=("cluster", "desktop"),
+ description="build relion for use in cluster or desktop",
+ )
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo',
- 'Profiling', 'Benchmarking'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo", "Profiling", "Benchmarking"),
+ )
# these new values were added in relion 3
# do not seem to cause problems with < 3
- variant('mklfft', default=True, description='Use MKL rather than FFTW for FFT')
+ variant("mklfft", default=True, description="Use MKL rather than FFTW for FFT")
variant(
- 'allow_ctf_in_sagd',
+ "allow_ctf_in_sagd",
default=True,
description=(
- 'Allow CTF-modulation in SAGD, '
- 'as specified in Claim 1 of patent US10,282,513B2'
- )
+ "Allow CTF-modulation in SAGD, " "as specified in Claim 1 of patent US10,282,513B2"
+ ),
)
- variant('altcpu', default=False, description='Use CPU acceleration', when='~cuda')
+ variant("altcpu", default=False, description="Use CPU acceleration", when="~cuda")
- variant('external_motioncor2',
- default=False,
- description='Have external motioncor2 available in addition to '
- 'Relion builtin')
+ variant(
+ "external_motioncor2",
+ default=False,
+ description="Have external motioncor2 available in addition to " "Relion builtin",
+ )
- depends_on('mpi')
- depends_on('cmake@3:', type='build')
- depends_on('fftw precision=float,double', when='~mklfft')
+ depends_on("mpi")
+ depends_on("cmake@3:", type="build")
+ depends_on("fftw precision=float,double", when="~mklfft")
# use the +xft variant so the interface is not so horrible looking
- depends_on('fltk+xft', when='+gui')
+ depends_on("fltk+xft", when="+gui")
- depends_on('libtiff')
- depends_on('libpng', when='@4:')
+ depends_on("libtiff")
+ depends_on("libpng", when="@4:")
- depends_on('cuda', when='+cuda')
- depends_on('cuda@9:', when='@3: +cuda')
- depends_on('tbb', when='+altcpu')
- depends_on('mkl', when='+mklfft')
- depends_on('ctffind', type='run')
- depends_on('motioncor2', type='run', when='+external_motioncor2')
+ depends_on("cuda", when="+cuda")
+ depends_on("cuda@9:", when="@3: +cuda")
+ depends_on("tbb", when="+altcpu")
+ depends_on("mkl", when="+mklfft")
+ depends_on("ctffind", type="run")
+ depends_on("motioncor2", type="run", when="+external_motioncor2")
# TODO: more externals to add
# Spack packages needed
# - Gctf
# - ResMap
- patch('0002-Simple-patch-to-fix-intel-mkl-linking.patch', when='@:3.1.1 os=ubuntu18.04')
+ patch("0002-Simple-patch-to-fix-intel-mkl-linking.patch", when="@:3.1.1 os=ubuntu18.04")
def cmake_args(self):
args = [
- '-DCMAKE_C_FLAGS=-g',
- '-DCMAKE_CXX_FLAGS=-g',
- '-DGUI=%s' % ('+gui' in self.spec),
- '-DDoublePrec_CPU=%s' % ('+double' in self.spec),
- '-DDoublePrec_GPU=%s' % ('+double-gpu' in self.spec),
- '-DALLOW_CTF_IN_SAGD=%s' % ('+allow_ctf_in_sagd' in self.spec),
- '-DMKLFFT=%s' % ('+mklfft' in self.spec),
- '-DALTCPU=%s' % ('+altcpu' in self.spec),
+ "-DCMAKE_C_FLAGS=-g",
+ "-DCMAKE_CXX_FLAGS=-g",
+ "-DGUI=%s" % ("+gui" in self.spec),
+ "-DDoublePrec_CPU=%s" % ("+double" in self.spec),
+ "-DDoublePrec_GPU=%s" % ("+double-gpu" in self.spec),
+ "-DALLOW_CTF_IN_SAGD=%s" % ("+allow_ctf_in_sagd" in self.spec),
+ "-DMKLFFT=%s" % ("+mklfft" in self.spec),
+ "-DALTCPU=%s" % ("+altcpu" in self.spec),
]
- if '+cuda' in self.spec:
- carch = self.spec.variants['cuda_arch'].value[0]
+ if "+cuda" in self.spec:
+ carch = self.spec.variants["cuda_arch"].value[0]
# relion+cuda requires selecting cuda_arch
- if carch == 'none':
- raise ValueError(
- 'Must select a value for cuda_arch'
- )
+ if carch == "none":
+ raise ValueError("Must select a value for cuda_arch")
else:
args += [
- '-DCUDA=ON',
- '-DCudaTexture=ON',
- '-DCUDA_ARCH=%s' % (carch),
+ "-DCUDA=ON",
+ "-DCudaTexture=ON",
+ "-DCUDA_ARCH=%s" % (carch),
]
return args
def patch(self):
# Remove flags not recognized by the NVIDIA compilers
- if self.spec.satisfies('%nvhpc'):
- filter_file('-std=c99', '-c99', 'src/apps/CMakeLists.txt')
+ if self.spec.satisfies("%nvhpc"):
+ filter_file("-std=c99", "-c99", "src/apps/CMakeLists.txt")
# set up some defaults
- filter_file(r'(#define DEFAULTQSUBLOCATION).*',
- r'\1 "{0}"'.format(join_path(self.spec.prefix.bin,
- 'relion_qsub.csh')),
- join_path('src', 'pipeline_jobs.h'))
- filter_file(r'(#define DEFAULTCTFFINDLOCATION).*',
- r'\1 "{0}"'.format(join_path(
- self.spec['ctffind'].prefix.bin, 'ctffind')),
- join_path('src', 'pipeline_jobs.h'))
-
- if '+external_motioncor2' in self.spec:
- filter_file(r'(#define DEFAULTMOTIONCOR2LOCATION).*',
- r'\1 "{0}"'.format(join_path(
- self.spec['motioncor2'].prefix.bin, 'MotionCor2')),
- join_path('src', 'pipeline_jobs.h'))
+ filter_file(
+ r"(#define DEFAULTQSUBLOCATION).*",
+ r'\1 "{0}"'.format(join_path(self.spec.prefix.bin, "relion_qsub.csh")),
+ join_path("src", "pipeline_jobs.h"),
+ )
+ filter_file(
+ r"(#define DEFAULTCTFFINDLOCATION).*",
+ r'\1 "{0}"'.format(join_path(self.spec["ctffind"].prefix.bin, "ctffind")),
+ join_path("src", "pipeline_jobs.h"),
+ )
+
+ if "+external_motioncor2" in self.spec:
+ filter_file(
+ r"(#define DEFAULTMOTIONCOR2LOCATION).*",
+ r'\1 "{0}"'.format(join_path(self.spec["motioncor2"].prefix.bin, "MotionCor2")),
+ join_path("src", "pipeline_jobs.h"),
+ )
diff --git a/var/spack/repos/builtin/packages/remhos/package.py b/var/spack/repos/builtin/packages/remhos/package.py
index bfc659afed..b5f0c1d6ca 100644
--- a/var/spack/repos/builtin/packages/remhos/package.py
+++ b/var/spack/repos/builtin/packages/remhos/package.py
@@ -9,47 +9,48 @@ from spack.package import *
class Remhos(MakefilePackage):
"""Remhos (REMap High-Order Solver) is a CEED miniapp that performs monotonic
- and conservative high-order discontinuous field interpolation (remap)
- using DG advection-based spatial discretization and explicit high-order
- time-stepping.
+ and conservative high-order discontinuous field interpolation (remap)
+ using DG advection-based spatial discretization and explicit high-order
+ time-stepping.
"""
- tags = ['proxy-app']
+
+ tags = ["proxy-app"]
homepage = "https://github.com/CEED/Remhos"
- url = "https://github.com/CEED/Remhos/archive/v1.0.tar.gz"
- git = "https://github.com/CEED/Remhos.git"
+ url = "https://github.com/CEED/Remhos/archive/v1.0.tar.gz"
+ git = "https://github.com/CEED/Remhos.git"
- maintainers = ['v-dobrev', 'tzanio', 'vladotomov']
+ maintainers = ["v-dobrev", "tzanio", "vladotomov"]
- version('develop', branch='master')
- version('1.0', sha256='e60464a867fe5b1fd694fbb37bb51773723427f071c0ae26852a2804c08bbb32')
+ version("develop", branch="master")
+ version("1.0", sha256="e60464a867fe5b1fd694fbb37bb51773723427f071c0ae26852a2804c08bbb32")
- variant('metis', default=True, description='Enable/disable METIS support')
+ variant("metis", default=True, description="Enable/disable METIS support")
- depends_on('mfem+mpi+metis', when='+metis')
- depends_on('mfem+mpi~metis', when='~metis')
+ depends_on("mfem+mpi+metis", when="+metis")
+ depends_on("mfem+mpi~metis", when="~metis")
- depends_on('mfem@develop', when='@develop')
- depends_on('mfem@4.1.0:', when='@1.0')
+ depends_on("mfem@develop", when="@develop")
+ depends_on("mfem@4.1.0:", when="@1.0")
@property
def build_targets(self):
targets = []
spec = self.spec
- targets.append('MFEM_DIR=%s' % spec['mfem'].prefix)
- targets.append('CONFIG_MK=%s' % spec['mfem'].package.config_mk)
- targets.append('TEST_MK=%s' % spec['mfem'].package.test_mk)
+ targets.append("MFEM_DIR=%s" % spec["mfem"].prefix)
+ targets.append("CONFIG_MK=%s" % spec["mfem"].package.config_mk)
+ targets.append("TEST_MK=%s" % spec["mfem"].package.test_mk)
return targets
# See lib/spack/spack/build_systems/makefile.py
def check(self):
with working_dir(self.build_directory):
- make('tests', *self.build_targets)
+ make("tests", *self.build_targets)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('remhos', prefix.bin)
+ install("remhos", prefix.bin)
install_time_test_callbacks = [] # type: List[str]
diff --git a/var/spack/repos/builtin/packages/rempi/package.py b/var/spack/repos/builtin/packages/rempi/package.py
index 07a39f18e9..46adf68c27 100644
--- a/var/spack/repos/builtin/packages/rempi/package.py
+++ b/var/spack/repos/builtin/packages/rempi/package.py
@@ -8,22 +8,23 @@ from spack.package import *
class Rempi(AutotoolsPackage):
"""ReMPI is a record-and-replay tool for MPI applications."""
+
homepage = "https://github.com/PRUNERS/ReMPI"
- url = "https://github.com/PRUNERS/ReMPI/releases/download/v1.0.0/ReMPI-1.0.0.tar.gz"
- tags = ['e4s']
+ url = "https://github.com/PRUNERS/ReMPI/releases/download/v1.0.0/ReMPI-1.0.0.tar.gz"
+ tags = ["e4s"]
version("1.1.0", sha256="4fd94fca52311fd19dc04a32547841e6c1c1656b7999b2f76f537d6ec24efccc")
version("1.0.0", sha256="1cb21f457cf8a04632150156a2ba699dd0c3f81d47e8881a9b943b9bf575fa01")
depends_on("mpi")
depends_on("zlib")
- depends_on("autoconf", type='build')
- depends_on("automake", type='build')
- depends_on("libtool", type='build')
- depends_on("libpciaccess", type='link')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("libpciaccess", type="link")
def setup_build_environment(self, env):
- if self.spec.satisfies('%cce'):
- env.set('MPICC', 'mpicc')
- env.set('MPICXX', 'mpicxx')
- env.set('MPICH_CC', 'cc')
+ if self.spec.satisfies("%cce"):
+ env.set("MPICC", "mpicc")
+ env.set("MPICXX", "mpicxx")
+ env.set("MPICH_CC", "cc")
diff --git a/var/spack/repos/builtin/packages/rename/package.py b/var/spack/repos/builtin/packages/rename/package.py
index 8a610409ab..f7e41976ec 100644
--- a/var/spack/repos/builtin/packages/rename/package.py
+++ b/var/spack/repos/builtin/packages/rename/package.py
@@ -10,17 +10,17 @@ class Rename(Package):
"""Perl-powered file rename script with many helpful built-ins."""
homepage = "http://plasmasturm.org/code/rename"
- url = "https://github.com/ap/rename/archive/v1.600.tar.gz"
+ url = "https://github.com/ap/rename/archive/v1.600.tar.gz"
- version('1.600', sha256='538fa908c9c2c4e7a08899edb6ddb47f7cbeb9b1a1d04e003d3c19b56fcc7f88')
+ version("1.600", sha256="538fa908c9c2c4e7a08899edb6ddb47f7cbeb9b1a1d04e003d3c19b56fcc7f88")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
def install(self, spec, prefix):
- Executable('pod2man')('rename', 'rename.1')
- bdir = join_path(prefix, 'bin')
+ Executable("pod2man")("rename", "rename.1")
+ bdir = join_path(prefix, "bin")
mkdirp(bdir)
- install('rename', bdir)
- mdir = join_path(prefix, 'share', 'man', 'man1')
+ install("rename", bdir)
+ mdir = join_path(prefix, "share", "man", "man1")
mkdirp(mdir)
- install('rename.1', mdir)
+ install("rename.1", mdir)
diff --git a/var/spack/repos/builtin/packages/rendercheck/package.py b/var/spack/repos/builtin/packages/rendercheck/package.py
index ed3c6f7972..dce53e7c94 100644
--- a/var/spack/repos/builtin/packages/rendercheck/package.py
+++ b/var/spack/repos/builtin/packages/rendercheck/package.py
@@ -13,11 +13,11 @@ class Rendercheck(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/rendercheck"
xorg_mirror_path = "app/rendercheck-1.5.tar.gz"
- version('1.5', sha256='1553fef61c30f2524b597c3758cc8d3f8dc1f52eb8137417fa0667b0adc8a604')
+ version("1.5", sha256="1553fef61c30f2524b597c3758cc8d3f8dc1f52eb8137417fa0667b0adc8a604")
- depends_on('libxrender')
- depends_on('libx11')
+ depends_on("libxrender")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/renderproto/package.py b/var/spack/repos/builtin/packages/renderproto/package.py
index 0481d4218c..bd6b91ff52 100644
--- a/var/spack/repos/builtin/packages/renderproto/package.py
+++ b/var/spack/repos/builtin/packages/renderproto/package.py
@@ -15,7 +15,7 @@ class Renderproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/renderproto"
xorg_mirror_path = "proto/renderproto-0.11.1.tar.gz"
- version('0.11.1', sha256='a0a4be3cad9381ae28279ba5582e679491fc2bec9aab8a65993108bf8dbce5fe')
+ version("0.11.1", sha256="a0a4be3cad9381ae28279ba5582e679491fc2bec9aab8a65993108bf8dbce5fe")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/repeatmasker/package.py b/var/spack/repos/builtin/packages/repeatmasker/package.py
index 47d267967f..d55fd69bbc 100644
--- a/var/spack/repos/builtin/packages/repeatmasker/package.py
+++ b/var/spack/repos/builtin/packages/repeatmasker/package.py
@@ -10,36 +10,34 @@ from spack.package import *
class Repeatmasker(Package):
"""RepeatMasker is a program that screens DNA sequences for interspersed
- repeats and low complexity DNA sequences."""
+ repeats and low complexity DNA sequences."""
homepage = "https://www.repeatmasker.org"
- version('4.1.2-p1', sha256='4be54bf6c050422b211e24a797feb06fd7954c8b4ee6f3ece94cb6faaf6b0e96')
- version('4.0.9', sha256='8d67415d89ed301670b7632ea411f794c6e30d8ed0f007a726c4b0a39c8638e5')
- version('4.0.7', sha256='16faf40e5e2f521146f6692f09561ebef5f6a022feb17031f2ddb3e3aabcf166')
+ version("4.1.2-p1", sha256="4be54bf6c050422b211e24a797feb06fd7954c8b4ee6f3ece94cb6faaf6b0e96")
+ version("4.0.9", sha256="8d67415d89ed301670b7632ea411f794c6e30d8ed0f007a726c4b0a39c8638e5")
+ version("4.0.7", sha256="16faf40e5e2f521146f6692f09561ebef5f6a022feb17031f2ddb3e3aabcf166")
- variant('crossmatch', description='Enable CrossMatch search engine',
- default=False)
+ variant("crossmatch", description="Enable CrossMatch search engine", default=False)
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-text-soundex', type=('build', 'run'))
- depends_on('hmmer')
- depends_on('ncbi-rmblastn')
- depends_on('trf')
- depends_on('python', when='@4.1:', type=('build', 'run'))
- depends_on('py-h5py', when='@4.1:', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-text-soundex", type=("build", "run"))
+ depends_on("hmmer")
+ depends_on("ncbi-rmblastn")
+ depends_on("trf")
+ depends_on("python", when="@4.1:", type=("build", "run"))
+ depends_on("py-h5py", when="@4.1:", type=("build", "run"))
- depends_on('phrap-crossmatch-swat', type=('build', 'run'),
- when='+crossmatch')
+ depends_on("phrap-crossmatch-swat", type=("build", "run"), when="+crossmatch")
- patch('utf8.patch', when='@:4.0')
+ patch("utf8.patch", when="@:4.0")
def url_for_version(self, version):
- if version >= Version('4.1.0'):
- url = 'http://www.repeatmasker.org/RepeatMasker/RepeatMasker-{0}.tar.gz'
+ if version >= Version("4.1.0"):
+ url = "http://www.repeatmasker.org/RepeatMasker/RepeatMasker-{0}.tar.gz"
return url.format(version)
else:
- url = 'http://www.repeatmasker.org/RepeatMasker/RepeatMasker-open-{0}.tar.gz'
+ url = "http://www.repeatmasker.org/RepeatMasker/RepeatMasker-open-{0}.tar.gz"
return url.format(version.dashed)
def install(self, spec, prefix):
@@ -62,50 +60,42 @@ class Repeatmasker(Package):
config_answers = []
- if spec.satisfies('@:4.0.7'):
+ if spec.satisfies("@:4.0.7"):
# 4.0.9 removes a bunch of the interactive options
- config_answers.extend(['',
- self.spec['perl'].command.path,
- self.stage.source_path])
+ config_answers.extend(["", self.spec["perl"].command.path, self.stage.source_path])
# set path to trf
- config_answers.append(self.spec['trf'].prefix.bin.trf)
+ config_answers.append(self.spec["trf"].prefix.bin.trf)
# add crossmatch search
- if '+crossmatch' in spec:
- crossmatch = self.spec['phrap-crossmatch-swat'].prefix.bin
- config_answers.extend(['1', crossmatch, 'N'])
+ if "+crossmatch" in spec:
+ crossmatch = self.spec["phrap-crossmatch-swat"].prefix.bin
+ config_answers.extend(["1", crossmatch, "N"])
# set default BLAST search
- config_answers.extend(['2',
- self.spec['ncbi-rmblastn'].prefix.bin,
- 'Y'])
+ config_answers.extend(["2", self.spec["ncbi-rmblastn"].prefix.bin, "Y"])
# set non-default HMMER search
- if spec.satisfies('@4.0.9:'):
- config_answers.extend(['3',
- self.spec['hmmer'].prefix.bin,
- 'N'])
+ if spec.satisfies("@4.0.9:"):
+ config_answers.extend(["3", self.spec["hmmer"].prefix.bin, "N"])
else:
- config_answers.extend(['4',
- self.spec['hmmer'].prefix.bin,
- 'N'])
+ config_answers.extend(["4", self.spec["hmmer"].prefix.bin, "N"])
# end configuration
- config_answers.append('5')
+ config_answers.append("5")
- config_answers_filename = 'spack-config.in'
+ config_answers_filename = "spack-config.in"
- with open(config_answers_filename, 'w') as f:
- f.write('\n'.join(config_answers))
+ with open(config_answers_filename, "w") as f:
+ f.write("\n".join(config_answers))
- with open(config_answers_filename, 'r') as f:
- perl = which('perl')
- perl('configure', input=f)
+ with open(config_answers_filename, "r") as f:
+ perl = which("perl")
+ perl("configure", input=f)
# fix perl paths
# every sbang points to perl, so a regex will suffice
- for f in glob.glob('*.pm'):
- filter_file('#!.*', '#!%s' % spec['perl'].command, f)
+ for f in glob.glob("*.pm"):
+ filter_file("#!.*", "#!%s" % spec["perl"].command, f)
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/repeatmodeler/package.py b/var/spack/repos/builtin/packages/repeatmodeler/package.py
index 744007d0ae..37ccd6f52b 100644
--- a/var/spack/repos/builtin/packages/repeatmodeler/package.py
+++ b/var/spack/repos/builtin/packages/repeatmodeler/package.py
@@ -8,24 +8,24 @@ from spack.package import *
class Repeatmodeler(Package):
"""RepeatModeler is a de-novo repeat family identification and modeling
- package."""
+ package."""
homepage = "https://www.repeatmasker.org/RepeatModeler/"
- url = "https://www.repeatmasker.org/RepeatModeler/RepeatModeler-open-1.0.11.tar.gz"
+ url = "https://www.repeatmasker.org/RepeatModeler/RepeatModeler-open-1.0.11.tar.gz"
- version('1.0.11', sha256='7ff0d588b40f9ad5ce78876f3ab8d2332a20f5128f6357413f741bb7fa172193')
+ version("1.0.11", sha256="7ff0d588b40f9ad5ce78876f3ab8d2332a20f5128f6357413f741bb7fa172193")
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-json', type=('build', 'run'))
- depends_on('perl-uri', type=('build', 'run'))
- depends_on('perl-libwww-perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-json", type=("build", "run"))
+ depends_on("perl-uri", type=("build", "run"))
+ depends_on("perl-libwww-perl", type=("build", "run"))
- depends_on('repeatmasker', type='run')
- depends_on('recon+repeatmasker', type='run')
- depends_on('repeatscout', type='run')
- depends_on('trf', type='run')
- depends_on('nseg', type='run')
- depends_on('ncbi-rmblastn', type='run')
+ depends_on("repeatmasker", type="run")
+ depends_on("recon+repeatmasker", type="run")
+ depends_on("repeatscout", type="run")
+ depends_on("trf", type="run")
+ depends_on("nseg", type="run")
+ depends_on("ncbi-rmblastn", type="run")
def install(self, spec, prefix):
# like repeatmasker, another interactive installer
@@ -44,23 +44,27 @@ class Repeatmodeler(Package):
# 3. Done
config_answers = [
- '', '', '',
- spec['repeatmasker'].prefix.bin,
- spec['recon'].prefix.bin,
- spec['repeatscout'].prefix.bin,
- spec['nseg'].prefix.bin,
- spec['trf'].prefix.bin,
- '1', spec['ncbi-rmblastn'].prefix.bin, 'Y',
- '3',
+ "",
+ "",
+ "",
+ spec["repeatmasker"].prefix.bin,
+ spec["recon"].prefix.bin,
+ spec["repeatscout"].prefix.bin,
+ spec["nseg"].prefix.bin,
+ spec["trf"].prefix.bin,
+ "1",
+ spec["ncbi-rmblastn"].prefix.bin,
+ "Y",
+ "3",
]
- config_filename = 'spack-config.in'
+ config_filename = "spack-config.in"
- with open(config_filename, 'w') as f:
- f.write('\n'.join(config_answers))
+ with open(config_filename, "w") as f:
+ f.write("\n".join(config_answers))
- with open(config_filename, 'r') as f:
- perl = which('perl')
- perl('configure', input=f)
+ with open(config_filename, "r") as f:
+ perl = which("perl")
+ perl("configure", input=f)
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/repeatscout/package.py b/var/spack/repos/builtin/packages/repeatscout/package.py
index 62899a6044..16ed6cddb6 100644
--- a/var/spack/repos/builtin/packages/repeatscout/package.py
+++ b/var/spack/repos/builtin/packages/repeatscout/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class Repeatscout(MakefilePackage):
"""RepeatScout - De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner
- P.A."""
+ P.A."""
homepage = "https://www.repeatmasker.org/RepeatModeler/"
- url = "https://www.repeatmasker.org/RepeatScout-1.0.5.tar.gz"
+ url = "https://www.repeatmasker.org/RepeatScout-1.0.5.tar.gz"
- version('1.0.5', sha256='bda6f782382f2b7dcb6a004b7da586d5046b3c12429b158e24787be62de6199c')
+ version("1.0.5", sha256="bda6f782382f2b7dcb6a004b7da586d5046b3c12429b158e24787be62de6199c")
- depends_on('perl', type='run')
- depends_on('trf', type='run')
- depends_on('nseg', type='run')
+ depends_on("perl", type="run")
+ depends_on("trf", type="run")
+ depends_on("nseg", type="run")
def edit(self, spec, prefix):
- filter_file('^INSTDIR.*$', 'INSTDIR=%s' % prefix.bin, 'Makefile')
+ filter_file("^INSTDIR.*$", "INSTDIR=%s" % prefix.bin, "Makefile")
diff --git a/var/spack/repos/builtin/packages/reprimand/package.py b/var/spack/repos/builtin/packages/reprimand/package.py
index 605fe4114d..77088c9fea 100644
--- a/var/spack/repos/builtin/packages/reprimand/package.py
+++ b/var/spack/repos/builtin/packages/reprimand/package.py
@@ -14,45 +14,42 @@ class Reprimand(MesonPackage):
framework for handling matter equations of state."""
homepage = "https://wokast.github.io/RePrimAnd/index.html"
- url = "https://github.com/wokast/RePrimAnd/archive/refs/tags/v1.3.tar.gz"
+ url = "https://github.com/wokast/RePrimAnd/archive/refs/tags/v1.3.tar.gz"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('develop', git='https://github.com/wokast/RePrimAnd', branch='public')
- version('1.4', sha256='260730696175fa21d35d1a92df2c68b69243bb617083c82616efcb4720d557e8')
- version('1.3', sha256='8e9f05b1f065a876d1405562285a9f64d1b31c4a436d5a6bb1f023212b40314e')
+ version("develop", git="https://github.com/wokast/RePrimAnd", branch="public")
+ version("1.4", sha256="260730696175fa21d35d1a92df2c68b69243bb617083c82616efcb4720d557e8")
+ version("1.3", sha256="8e9f05b1f065a876d1405562285a9f64d1b31c4a436d5a6bb1f023212b40314e")
# Add missing #include statments; see
# <https://github.com/wokast/RePrimAnd/issues/3>
- patch('include.patch', when='@1.3')
+ patch("include.patch", when="@1.3")
- variant('python', default=False, description='Enable Python bindings')
- variant('shared', default=True, description='Build shared library')
+ variant("python", default=False, description="Enable Python bindings")
+ variant("shared", default=True, description="Build shared library")
- depends_on('boost +json +math +test')
- 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')
+ depends_on("boost +json +math +test")
+ 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')
+ 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)
+ 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()),
+ "-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
- )
+ return find_libraries("libRePrimAnd*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/resourceproto/package.py b/var/spack/repos/builtin/packages/resourceproto/package.py
index 9fffd8a80c..33df5d391d 100644
--- a/var/spack/repos/builtin/packages/resourceproto/package.py
+++ b/var/spack/repos/builtin/packages/resourceproto/package.py
@@ -15,7 +15,7 @@ class Resourceproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/resourceproto"
xorg_mirror_path = "proto/resourceproto-1.2.0.tar.gz"
- version('1.2.0', sha256='469029d14fdeeaa7eed1be585998ff4cb92cf664f872d1d69c04140815b78734')
+ version("1.2.0", sha256="469029d14fdeeaa7eed1be585998ff4cb92cf664f872d1d69c04140815b78734")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/restic/package.py b/var/spack/repos/builtin/packages/restic/package.py
index abcf63e5e8..bed85e9f32 100644
--- a/var/spack/repos/builtin/packages/restic/package.py
+++ b/var/spack/repos/builtin/packages/restic/package.py
@@ -10,19 +10,19 @@ class Restic(Package):
"""Fast, secure, efficient backup program."""
homepage = "https://restic.net"
- url = "https://github.com/restic/restic/releases/download/v0.12.1/restic-0.12.1.tar.gz"
+ url = "https://github.com/restic/restic/releases/download/v0.12.1/restic-0.12.1.tar.gz"
- maintainers = ['alecbcs']
+ maintainers = ["alecbcs"]
- version('0.12.1', sha256='a9c88d5288ce04a6cc78afcda7590d3124966dab3daa9908de9b3e492e2925fb')
+ version("0.12.1", sha256="a9c88d5288ce04a6cc78afcda7590d3124966dab3daa9908de9b3e492e2925fb")
- depends_on("go", type='build')
+ depends_on("go", type="build")
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
- env.prepend_path('GOPATH', self.stage.path)
+ env.prepend_path("GOPATH", self.stage.path)
def install(self, spec, prefix):
- go('run', 'build.go')
+ go("run", "build.go")
mkdirp(prefix.bin)
- install('restic', prefix.bin)
+ install("restic", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/revbayes/package.py b/var/spack/repos/builtin/packages/revbayes/package.py
index 74534f0ab2..76693a929c 100644
--- a/var/spack/repos/builtin/packages/revbayes/package.py
+++ b/var/spack/repos/builtin/packages/revbayes/package.py
@@ -9,81 +9,85 @@ from spack.pkg.builtin.boost import Boost
class Revbayes(CMakePackage):
"""Bayesian phylogenetic inference using probabilistic graphical models
- and an interpreted language."""
+ and an interpreted language."""
homepage = "https://revbayes.github.io"
- url = "https://github.com/revbayes/revbayes/archive/1.1.0.tar.gz"
- git = "https://github.com/revbayes/revbayes.git"
+ url = "https://github.com/revbayes/revbayes/archive/1.1.0.tar.gz"
+ git = "https://github.com/revbayes/revbayes.git"
- version('develop', branch='development')
- version('1.1.1', sha256='d61293fceac817d8203ed1e828661d76c73fa16bf04458a50a37057e99fd40c0')
- version('1.1.0', sha256='a9f35178d8289d0dd32c9d936f6384f260e8e81e7b80a5155169064a24666012')
- version('1.0.13', sha256='e85e2e1fe182fe9f504900150d936a06d252a362c591b9d3d8272dd085aa85d9')
- version('1.0.12', sha256='80c926bb6b37288d02e36e07b44e4663841cd1fe541e2cc0b0e44c89ca929759')
- version('1.0.11', sha256='03052194baa220dde7e622a739f09f34393f67ea00a0b163b409d313d7fc7c02')
- version('1.0.10', sha256='6a3cf303e7224b0b32637bd8e2c3c2cf2621f5dbe599cd74ce4b0c215d0fcd2d')
+ version("develop", branch="development")
+ version("1.1.1", sha256="d61293fceac817d8203ed1e828661d76c73fa16bf04458a50a37057e99fd40c0")
+ version("1.1.0", sha256="a9f35178d8289d0dd32c9d936f6384f260e8e81e7b80a5155169064a24666012")
+ version("1.0.13", sha256="e85e2e1fe182fe9f504900150d936a06d252a362c591b9d3d8272dd085aa85d9")
+ version("1.0.12", sha256="80c926bb6b37288d02e36e07b44e4663841cd1fe541e2cc0b0e44c89ca929759")
+ version("1.0.11", sha256="03052194baa220dde7e622a739f09f34393f67ea00a0b163b409d313d7fc7c02")
+ version("1.0.10", sha256="6a3cf303e7224b0b32637bd8e2c3c2cf2621f5dbe599cd74ce4b0c215d0fcd2d")
- variant('mpi', default=True, description='Enable MPI parallel support')
+ variant("mpi", default=True, description="Enable MPI parallel support")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- conflicts('%gcc@7.1.0:', when='@:1.0.12')
+ conflicts("%gcc@7.1.0:", when="@:1.0.12")
def url_for_version(self, version):
- if version > Version('1.0.13'):
- return 'https://github.com/revbayes/revbayes/archive/{0}.tar.gz'.format(version)
+ if version > Version("1.0.13"):
+ return "https://github.com/revbayes/revbayes/archive/{0}.tar.gz".format(version)
else:
- return 'https://github.com/revbayes/revbayes.archive/archive/v{0}.tar.gz'.format(version)
+ return "https://github.com/revbayes/revbayes.archive/archive/v{0}.tar.gz".format(
+ version
+ )
@property
def root_cmakelists_dir(self):
- if self.spec.version > Version('1.0.13'):
- return 'src'
+ if self.spec.version > Version("1.0.13"):
+ return "src"
else:
- return 'projects/cmake/build'
+ return "projects/cmake/build"
- @when('@1.1.0:')
+ @when("@1.1.0:")
def cmake_args(self):
args = []
- if '+mpi' in self.spec:
- args.extend([
- self.define('MPI', 'ON'),
- self.define('RB_EXEC_NAME', 'rb-mpi'),
- ])
+ if "+mpi" in self.spec:
+ args.extend(
+ [
+ self.define("MPI", "ON"),
+ self.define("RB_EXEC_NAME", "rb-mpi"),
+ ]
+ )
return args
- @run_before('cmake')
+ @run_before("cmake")
def regenerate(self):
- with working_dir(join_path('projects', 'cmake')):
- mkdirp('build')
- if self.spec.version > Version('1.0.13'):
- generate_version = Executable('./generate_version_number.sh')
+ with working_dir(join_path("projects", "cmake")):
+ mkdirp("build")
+ if self.spec.version > Version("1.0.13"):
+ generate_version = Executable("./generate_version_number.sh")
generate_version()
- dest = join_path('..', '..', 'src', 'revlanguage', 'utils')
- install('GitVersion.cpp', dest)
+ dest = join_path("..", "..", "src", "revlanguage", "utils")
+ install("GitVersion.cpp", dest)
else:
- edit = FileFilter('regenerate.sh')
+ edit = FileFilter("regenerate.sh")
edit.filter('boost="true"', 'boost="false"')
- if '+mpi' in self.spec:
+ if "+mpi" in self.spec:
edit.filter('mpi="false"', 'mpi="true"')
- regenerate = Executable('./regenerate.sh')
+ regenerate = Executable("./regenerate.sh")
regenerate()
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if '+mpi' in spec:
- install_path = join_path(self.build_directory, '..', 'rb-mpi')
+ if "+mpi" in spec:
+ install_path = join_path(self.build_directory, "..", "rb-mpi")
install(install_path, prefix.bin)
else:
- install_path = join_path(self.build_directory, '..', 'rb')
+ install_path = join_path(self.build_directory, "..", "rb")
install(install_path, prefix.bin)
- @when('@1.0.12:1.0.13')
+ @when("@1.0.12:1.0.13")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_path = join_path(self.build_directory, '..', 'rb')
+ install_path = join_path(self.build_directory, "..", "rb")
install(install_path, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/revocap-coupler/package.py b/var/spack/repos/builtin/packages/revocap-coupler/package.py
index 49f3fac3cc..f2995aab57 100644
--- a/var/spack/repos/builtin/packages/revocap-coupler/package.py
+++ b/var/spack/repos/builtin/packages/revocap-coupler/package.py
@@ -10,20 +10,22 @@ from spack.package import *
class RevocapCoupler(AutotoolsPackage):
"""Large Scale Assembly, Structural Correspondence,
- Multi Dynamics Simulator.In this program,
- a part of functions of ADVENTURE_Solid ver.1.1 module"""
+ Multi Dynamics Simulator.In this program,
+ a part of functions of ADVENTURE_Solid ver.1.1 module"""
homepage = "http://www.ciss.iis.u-tokyo.ac.jp/dl/index.php"
- url = "file://{0}/REVOCAP_Coupler-2.1.tar.gz".format(os.getcwd())
+ url = "file://{0}/REVOCAP_Coupler-2.1.tar.gz".format(os.getcwd())
manual_download = True
- version('2.1', sha256='9e7612d5c508ccdce23bff9ccbf62aeb635877bc2276cdc05c109de40f609f49')
+ version("2.1", sha256="9e7612d5c508ccdce23bff9ccbf62aeb635877bc2276cdc05c109de40f609f49")
- depends_on('mpi')
+ depends_on("mpi")
def configure_args(self):
spec = self.spec
- args = ['--with-mpicc=%s' % spec['mpi'].mpicc,
- '--with-fortran=%s' % spec['mpi'].mpif77,
- '--with-mpif90=%s' % spec['mpi'].mpifc]
+ args = [
+ "--with-mpicc=%s" % spec["mpi"].mpicc,
+ "--with-fortran=%s" % spec["mpi"].mpif77,
+ "--with-mpif90=%s" % spec["mpi"].mpifc,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/revocap-refiner/package.py b/var/spack/repos/builtin/packages/revocap-refiner/package.py
index 50fa7a6158..ccd7f6501a 100644
--- a/var/spack/repos/builtin/packages/revocap-refiner/package.py
+++ b/var/spack/repos/builtin/packages/revocap-refiner/package.py
@@ -8,50 +8,47 @@ from spack.package import *
class RevocapRefiner(MakefilePackage):
"""The University of Tokyo, CISS Project:
- Library for refining of model meshes"""
+ Library for refining of model meshes"""
homepage = "https://www.frontistr.com"
- url = "https://www.frontistr.com/download/link.php?REVOCAP_Refiner-1.1.04.tar.gz"
+ url = "https://www.frontistr.com/download/link.php?REVOCAP_Refiner-1.1.04.tar.gz"
# git = "https://gitlab.com/FrontISTR-Commons/REVOCAP_Refiner.git"
- maintainers = ['k-tokunaga', 'kgoto', 'tuna' 'inagaki.kazuhisa']
+ maintainers = ["k-tokunaga", "kgoto", "tuna" "inagaki.kazuhisa"]
- version('1.1.04', sha256='bf3d959f4c1ab08a7e99cd7e02e710c758af28d71500f4814eed8b4eb3fb2d13')
+ version("1.1.04", sha256="bf3d959f4c1ab08a7e99cd7e02e710c758af28d71500f4814eed8b4eb3fb2d13")
parallel = False
# add space between literal and identifier.
- patch('add_space.patch')
+ patch("add_space.patch")
# remove unused function getIndices.
- patch('delete_getIndices.patch')
+ patch("delete_getIndices.patch")
def edit(self, spec, prefix):
- cflags = ['-O3']
- cxxflags = ['-O3', self.compiler.cxx_pic_flag]
- ldflags = ['']
- ldshare = ['']
- libs = ['']
- m = FileFilter('MakefileConfig.in')
- m.filter(r'ARCH\s*=.*$', 'ARCH=')
- m.filter(r'CC\s*=.*$', 'CC={0}'.format(spack_cc))
- m.filter(r'CFLAGS\s*=.*$', 'CFLAGS={0}'.format(' '.join(cflags)))
- m.filter(r'CXX\s*=.*$', 'CXX={0}'.format(spack_cxx))
- m.filter(r'CXXFLAGS\s*=.*$',
- 'CXXFLAGS={0}'.format(' '.join(cxxflags)))
- m.filter(r'AR\s*=.*$', 'AR=ar')
- m.filter(r'ARFLAGS\s*=.*$', 'ARFLAGS=rsv')
- m.filter(r'LD\s*=.*$', 'LD={0}'.format(spack_fc))
- m.filter(r'LDFLAGS\s*=.*$',
- 'LDFLAGS={0}'.format(' '.join(ldflags)))
- m.filter(r'LDSHARE\s*=.*$',
- 'LDSHARE={0}'.format(' '.join(ldshare)))
- m.filter(r'LIBS\s*=.*$', 'LIBS={0}'.format(' '.join(libs)))
- m.filter(r'LIBPATH\s*=.*$', 'LIBPATH= ')
- m.filter(r'RM\s*=.*$', 'RM=rm -f')
- m.filter(r'TAR\s*=.*$', 'TAR=tar')
+ cflags = ["-O3"]
+ cxxflags = ["-O3", self.compiler.cxx_pic_flag]
+ ldflags = [""]
+ ldshare = [""]
+ libs = [""]
+ m = FileFilter("MakefileConfig.in")
+ m.filter(r"ARCH\s*=.*$", "ARCH=")
+ m.filter(r"CC\s*=.*$", "CC={0}".format(spack_cc))
+ m.filter(r"CFLAGS\s*=.*$", "CFLAGS={0}".format(" ".join(cflags)))
+ m.filter(r"CXX\s*=.*$", "CXX={0}".format(spack_cxx))
+ m.filter(r"CXXFLAGS\s*=.*$", "CXXFLAGS={0}".format(" ".join(cxxflags)))
+ m.filter(r"AR\s*=.*$", "AR=ar")
+ m.filter(r"ARFLAGS\s*=.*$", "ARFLAGS=rsv")
+ m.filter(r"LD\s*=.*$", "LD={0}".format(spack_fc))
+ m.filter(r"LDFLAGS\s*=.*$", "LDFLAGS={0}".format(" ".join(ldflags)))
+ m.filter(r"LDSHARE\s*=.*$", "LDSHARE={0}".format(" ".join(ldshare)))
+ m.filter(r"LIBS\s*=.*$", "LIBS={0}".format(" ".join(libs)))
+ m.filter(r"LIBPATH\s*=.*$", "LIBPATH= ")
+ m.filter(r"RM\s*=.*$", "RM=rm -f")
+ m.filter(r"TAR\s*=.*$", "TAR=tar")
def install(self, spec, prefix):
make()
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('Refiner', prefix.include)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("Refiner", prefix.include)
diff --git a/var/spack/repos/builtin/packages/rgb/package.py b/var/spack/repos/builtin/packages/rgb/package.py
index c7c48a39a6..bccac2bfdd 100644
--- a/var/spack/repos/builtin/packages/rgb/package.py
+++ b/var/spack/repos/builtin/packages/rgb/package.py
@@ -18,8 +18,8 @@ class Rgb(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/rgb"
xorg_mirror_path = "app/rgb-1.0.6.tar.gz"
- version('1.0.6', sha256='cb998035e08b9f58ad3150cab60461c3225bdd075238cffc665e24da40718933')
+ version("1.0.6", sha256="cb998035e08b9f58ad3150cab60461c3225bdd075238cffc665e24da40718933")
- depends_on('xorg-server')
+ depends_on("xorg-server")
- depends_on('xproto')
+ depends_on("xproto")
diff --git a/var/spack/repos/builtin/packages/rhash/package.py b/var/spack/repos/builtin/packages/rhash/package.py
index a8c5d62041..df90b5c024 100644
--- a/var/spack/repos/builtin/packages/rhash/package.py
+++ b/var/spack/repos/builtin/packages/rhash/package.py
@@ -15,36 +15,39 @@ class Rhash(MakefilePackage):
EDON-R 256/512, WHIRLPOOL and SNEFRU hash sums."""
homepage = "https://sourceforge.net/projects/rhash/"
- url = "https://github.com/rhash/RHash/archive/v1.3.5.tar.gz"
+ url = "https://github.com/rhash/RHash/archive/v1.3.5.tar.gz"
- version('1.4.2', sha256='600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62')
- version('1.3.5', sha256='98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e')
+ version("1.4.2", sha256="600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62")
+ version("1.3.5", sha256="98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e")
# configure: fix clang detection on macOS
# Patch accepted and merged upstream, remove on next release
- patch('https://github.com/rhash/RHash/commit/4dc506066cf1727b021e6352535a8bb315c3f8dc.patch?full_index=1',
- when='@1.4.2', sha256='3fbfe4603d2ec5228fd198fc87ff3ee281e1f68d252c1afceaa15cba76e9b6b4')
+ patch(
+ "https://github.com/rhash/RHash/commit/4dc506066cf1727b021e6352535a8bb315c3f8dc.patch?full_index=1",
+ when="@1.4.2",
+ sha256="3fbfe4603d2ec5228fd198fc87ff3ee281e1f68d252c1afceaa15cba76e9b6b4",
+ )
# Intel 20xx.yy.z works just fine. Un-block it from the configure script
# https://github.com/rhash/RHash/pull/197
- patch('rhash-intel20.patch')
+ patch("rhash-intel20.patch")
# For macOS build instructions, see:
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/rhash.rb
- @when('@:1.3.5')
+ @when("@:1.3.5")
def build(self, spec, prefix):
# Doesn't build shared libraries by default
- make('PREFIX={0}'.format(prefix))
+ make("PREFIX={0}".format(prefix))
- if spec.satisfies('platform=darwin'):
- make('PREFIX={0}'.format(prefix), '-C', 'librhash', 'dylib')
+ if spec.satisfies("platform=darwin"):
+ make("PREFIX={0}".format(prefix), "-C", "librhash", "dylib")
else:
- make('PREFIX={0}'.format(prefix), 'lib-shared')
+ make("PREFIX={0}".format(prefix), "lib-shared")
- @when('@1.3.6:')
+ @when("@1.3.6:")
def build(self, spec, prefix):
- configure('--prefix=')
+ configure("--prefix=")
make()
def check(self):
@@ -55,49 +58,50 @@ class Rhash(MakefilePackage):
#
# Default implmentation is to run both `make test` and `make check`.
# `test` passes, but `check` fails, so only run `test`.
- make('test')
- if self.spec.satisfies('@:1.3.5'):
- make('test-static-lib')
+ make("test")
+ if self.spec.satisfies("@:1.3.5"):
+ make("test-static-lib")
else:
- make('test-lib-static')
+ make("test-lib-static")
- if not self.spec.satisfies('@:1.3.5 platform=darwin'):
- make('test-shared')
- if self.spec.satisfies('@:1.3.5'):
- make('test-shared-lib')
+ if not self.spec.satisfies("@:1.3.5 platform=darwin"):
+ make("test-shared")
+ if self.spec.satisfies("@:1.3.5"):
+ make("test-shared-lib")
else:
- make('test-lib-shared')
+ make("test-lib-shared")
- @when('@:1.3.5')
+ @when("@:1.3.5")
def install(self, spec, prefix):
# Some things are installed to $(DESTDIR)$(PREFIX) while other things
# are installed to $DESTDIR/etc.
- make('install', 'DESTDIR={0}'.format(prefix), 'PREFIX=')
- make('install-lib-static', 'DESTDIR={0}'.format(prefix), 'PREFIX=')
+ make("install", "DESTDIR={0}".format(prefix), "PREFIX=")
+ make("install-lib-static", "DESTDIR={0}".format(prefix), "PREFIX=")
- if spec.satisfies('platform=darwin'):
- install('librhash/*.dylib', prefix.lib)
+ if spec.satisfies("platform=darwin"):
+ install("librhash/*.dylib", prefix.lib)
else:
- make('install-lib-shared', 'DESTDIR={0}'.format(prefix), 'PREFIX=')
- os.symlink(join_path(prefix.lib, 'librhash.so.0'),
- join_path(prefix.lib, 'librhash.so'))
+ make("install-lib-shared", "DESTDIR={0}".format(prefix), "PREFIX=")
+ os.symlink(
+ join_path(prefix.lib, "librhash.so.0"), join_path(prefix.lib, "librhash.so")
+ )
- @when('@1.3.6:')
+ @when("@1.3.6:")
def install(self, spec, prefix):
# Intermittent issues during installation, prefix.bin directory already exists
- make('install', 'DESTDIR={0}'.format(prefix), parallel=False)
- make('install-pkg-config', 'DESTDIR={0}'.format(prefix))
- make('install-lib-so-link', 'DESTDIR={0}'.format(prefix))
- make('install-lib-headers', 'DESTDIR={0}'.format(prefix))
+ make("install", "DESTDIR={0}".format(prefix), parallel=False)
+ make("install-pkg-config", "DESTDIR={0}".format(prefix))
+ make("install-lib-so-link", "DESTDIR={0}".format(prefix))
+ make("install-lib-headers", "DESTDIR={0}".format(prefix))
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('@1.3.6: platform=darwin'):
+ if self.spec.satisfies("@1.3.6: platform=darwin"):
# Fix RPATH for <prefix>/bin/rhash
- old = '/lib/librhash.0.dylib'
- new = self.prefix.lib.join('librhash.dylib')
- install_name_tool = Executable('install_name_tool')
- install_name_tool('-change', old, new, self.prefix.bin.rhash)
+ old = "/lib/librhash.0.dylib"
+ new = self.prefix.lib.join("librhash.dylib")
+ install_name_tool = Executable("install_name_tool")
+ install_name_tool("-change", old, new, self.prefix.bin.rhash)
# Fix RPATH for <prefix>/lib/librhash.dylib
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/rinetd/package.py b/var/spack/repos/builtin/packages/rinetd/package.py
index e44d26a6c0..b6ead57451 100644
--- a/var/spack/repos/builtin/packages/rinetd/package.py
+++ b/var/spack/repos/builtin/packages/rinetd/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Rinetd(AutotoolsPackage):
"""This program is used to efficiently redirect connections
- from one IP address/port combination to another."""
+ from one IP address/port combination to another."""
homepage = "https://github.com/samhocevar/rinetd"
- url = "https://github.com/samhocevar/rinetd/archive/v0.70.tar.gz"
+ url = "https://github.com/samhocevar/rinetd/archive/v0.70.tar.gz"
- version('0.70', sha256='e69538e9d1fdc1ba5cc24733a52c571568e9cad0876c09144aa1eaa71e13fba5')
- version('0.63', sha256='1f0e8cda524b8f4811a876e69e16d11f12c33a63d00b55c66e2129f87444000c')
+ version("0.70", sha256="e69538e9d1fdc1ba5cc24733a52c571568e9cad0876c09144aa1eaa71e13fba5")
+ version("0.63", sha256="1f0e8cda524b8f4811a876e69e16d11f12c33a63d00b55c66e2129f87444000c")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
diff --git a/var/spack/repos/builtin/packages/ripgrep/package.py b/var/spack/repos/builtin/packages/ripgrep/package.py
index 16b2f2eabc..c72fc1b056 100644
--- a/var/spack/repos/builtin/packages/ripgrep/package.py
+++ b/var/spack/repos/builtin/packages/ripgrep/package.py
@@ -13,13 +13,13 @@ class Ripgrep(Package):
"""
homepage = "https://github.com/BurntSushi/ripgrep"
- url = "https://github.com/BurntSushi/ripgrep/archive/11.0.2.tar.gz"
+ url = "https://github.com/BurntSushi/ripgrep/archive/11.0.2.tar.gz"
- version('13.0.0', sha256='0fb17aaf285b3eee8ddab17b833af1e190d73de317ff9648751ab0660d763ed2')
- version('11.0.2', sha256='0983861279936ada8bc7a6d5d663d590ad34eb44a44c75c2d6ccd0ab33490055')
+ version("13.0.0", sha256="0fb17aaf285b3eee8ddab17b833af1e190d73de317ff9648751ab0660d763ed2")
+ version("11.0.2", sha256="0983861279936ada8bc7a6d5d663d590ad34eb44a44c75c2d6ccd0ab33490055")
- depends_on('rust')
+ depends_on("rust")
def install(self, spec, prefix):
- cargo = which('cargo')
- cargo('install', '--root', prefix, '--path', '.')
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py
index 795ca835fd..db636f4a1f 100644
--- a/var/spack/repos/builtin/packages/rivet/package.py
+++ b/var/spack/repos/builtin/packages/rivet/package.py
@@ -13,63 +13,218 @@ class Rivet(AutotoolsPackage):
"""Rivet - the particle-physics MC analysis toolkit"""
homepage = "https://rivet.hepforge.org/"
- url = "https://rivet.hepforge.org/downloads/?f=Rivet-3.1.4.tar.bz2"
-
- tags = ['hep']
-
- version('3.1.6', sha256='1cf6ebb6a79d181c441d1d0c7c6d623c423817c61093f36f21adaae23e679090')
- version('3.1.4', sha256='37edc80a2968ce1031589e43ba6b492877ca7901bea38f8bb7536a5c8cf8100d')
- version('3.1.3', sha256='53ddce41705b9c22b2eaa90603f6659aa9bf46c466d8772ca9dbe4430972e021')
- version('3.1.2', sha256='c041d09644f4eae7c212d82237033267fbc1583dfbb4e3e67377f86cece9577a')
- version('3.1.1', sha256='7c98b26af5f859bc65200499d15765e4b056b4cf233b34176f27a7e6bc4cf9b1')
- version('3.1.0', sha256='4e156daee5eb10bd1573ef32d4a6a6df74788cd9180fc977db93ef4cb281000c')
- version('3.0.2', sha256='9624d6cdcad77eafde40312cf6a1c97f4263f22faf9244b198c140b2c256d2f3')
- version('3.0.1', sha256='e7551168b86a05c9c029c319c313a0aa142a476195e7ff986c896c1b868f89dd')
- version('3.0.0', sha256='3944434d3791dccb54f7b2257589df6252cc7c065ce9deb57fbef466ff9e62b1')
- version('2.7.2b', sha256='e9f0a709f8226cde54f9406d36efab1e1b8ed0c6574fbcb1d72a186b09188106', deprecated=True)
- version('2.7.2', sha256='a6634537c005660e56514b70ab9efb9d466c50685d6fb45ed03e9e1988479f02', deprecated=True)
- version('2.7.1', sha256='b4145d8369b8a9fa0ada7ba2e5a2e9992d8e4a12ca4874d835246d2e708cbdef', deprecated=True)
- version('2.7.0', sha256='34ad6a0b47dc4736feac8580a275e8b3a46df8fbeefd91e813add0a1525aacaf', deprecated=True)
- version('2.6.2', sha256='9dde49d5c02038a295f03d2972f85be8746205bdb5ca1eab868b2c9129ade37a', deprecated=True)
- version('2.6.1', sha256='e490d1f35aafa3e175690ae92f862c07a5fe2c51f693c88c87789f0441c89022', deprecated=True)
- version('2.6.0', sha256='fb3229dccd31ea40b0af09974253073f6ad0a3a97e9a0cf44b53748ea8e2f900', deprecated=True)
- version('2.5.4', sha256='772252193698d994fd111f790e72a4024df7572d492e3d5a9e840a074c5527e2', deprecated=True)
- version('2.5.3', sha256='99e10330564ac479c6637d317c08882889a272db8ee204ad45a6ee1dcb291de4', deprecated=True)
- version('2.5.2', sha256='70aa27764a14159c94c0b753a0c3d3600ac669def398cb2d8a6c63ae17704f05', deprecated=True)
- version('2.5.1', sha256='14ee5828de217e96a30e666192515a2083afee030d81d36fc6bea948e9f7810a', deprecated=True)
- version('2.5.0', sha256='c59ff35715be0caf65d6ba808b3badad0f6f7e7758f2049fb6ba43ed579bd4af', deprecated=True)
- version('2.4.3', sha256='18aafecab6c3baeac871a9743946433c2dc01825d8fe291b157719a15c342682', deprecated=True)
- version('2.4.2', sha256='accb146f3082719781a51eec879427c31401577c44f60b27ec8450102fe68aff', deprecated=True)
- version('2.4.1', sha256='c14f0f58d1792d84d62c62b44ebb94db004776feba83fd8186bba898d55123cf', deprecated=True)
- version('2.4.0', sha256='5ee2f34a277ed058b8aef750d946b40d4cf781023b9adab03ca95e803a39fb06', deprecated=True)
- version('2.3.0', sha256='dd07702981d586e4b97b0fa56ae08cd08a631a952322a9b52e7622a46a7741ab', deprecated=True)
- version('2.2.1', sha256='9e64ba19d567bdf4d0cc42b435491c4363b5fec90170d034445a99a1e752b691', deprecated=True)
- version('2.2.0', sha256='3bdafe2007ff54c4734e0c8bc6ba9dc97028d4c41d538201b9582a869af8ae1a', deprecated=True)
- version('2.1.2', sha256='40a20c1ee186326e5bfd906e0bc88f16dc740551be9cc274e9a826873d9c1eed', deprecated=True)
- version('2.1.1', sha256='eefa936de6f6c34a6bab39899841f3189d7621c8ba227032f0f32e6e20dfcf85', deprecated=True)
- version('2.1.0', sha256='58a1ca7b5a47719933782c050e67d0eb3823a7384cfc3c434fece41724c307e6', deprecated=True)
- version('2.0.0', sha256='038f81f92fbba001ed23b56c1229a4f3b41e0c32e00bc92ea58d042909e3855a', deprecated=True)
- version('1.9.0', sha256='55ef552b351328c287194aa99fa2b797e6632dc3fa88dfccd58264602012e044', deprecated=True)
- version('1.8.3', sha256='aa82742fd4d7c68bfbef1367c4c605e06f9fed479a753db96aa6659407fcc4fd', deprecated=True)
- version('1.8.2', sha256='56be98d31693253543f3e657c8f8edc7979c89fdb0ede1bdddfb3a9f5d4cfc3a', deprecated=True)
- version('1.8.1', sha256='7e06d22350bec30220186e796caa93e9bfebd8d771a7efd35673897248437c61', deprecated=True)
- version('1.8.0', sha256='7b28f9163f74583b1542b87c48f28a3ad1338da6136d8e3ca0aeba21095f5fe0', deprecated=True)
- version('1.7.0', sha256='180741f590f210474b686d60241ad59e008221751ead21f0950c59aff93e54fd', deprecated=True)
- version('1.6.0', sha256='1affd9e779f48477402e4150f315b3179204cbbc920db2d0129cd9c38bd18b26', deprecated=True)
- version('1.5.1', sha256='9f24e9824286d5b0302c7e440f4803a8e3b8da50e1260e78c3b3c2eb587b317a', deprecated=True)
- version('1.5.0', sha256='b7fe63e8caacc5c038ab567fe505d275288eedaa1aed6c379057629eef126006', deprecated=True)
- version('1.4.0', sha256='067c94659bb7859904e20e72a676f94f103e6e012b7dba8071f51e8a6e624dbb', deprecated=True)
- version('1.3.0', sha256='5ce41c8492c2fcf809a7135bf8335a01a98ea85fb556b3d00bd4260151efd12f', deprecated=True)
- version('1.2.1', sha256='2d0380b819f778d8d9c2a462af90bd6a6188121e4edcc6202d936130b59bab17', deprecated=True)
- version('1.2.0', sha256='ff5869f6dc9465f429e54686e12c39becac57a83273542179a59bac7561b6404', deprecated=True)
- version('1.1.3', sha256='4be3cd9e6f808cdc5511991be2756f5fa838b6ecd01806fdbe7aec0aa382f946', deprecated=True)
- version('1.1.2', sha256='a15b5d3339481446dec1b719d7d531a87a2e9d11c9fe8044e270ea69611b07c8', deprecated=True)
- version('1.1.1', sha256='bd87fefee6bb8368216755342dc80ab3f8f3c813732dd03c6f94135d45f7036b', deprecated=True)
-
- variant('hepmc', default='2', values=('2', '3'),
- description="HepMC version to link against")
-
- conflicts('hepmc=3', when='@:2', msg='HepMC support was added in 3.0')
+ url = "https://rivet.hepforge.org/downloads/?f=Rivet-3.1.4.tar.bz2"
+
+ tags = ["hep"]
+
+ version("3.1.6", sha256="1cf6ebb6a79d181c441d1d0c7c6d623c423817c61093f36f21adaae23e679090")
+ version("3.1.4", sha256="37edc80a2968ce1031589e43ba6b492877ca7901bea38f8bb7536a5c8cf8100d")
+ version("3.1.3", sha256="53ddce41705b9c22b2eaa90603f6659aa9bf46c466d8772ca9dbe4430972e021")
+ version("3.1.2", sha256="c041d09644f4eae7c212d82237033267fbc1583dfbb4e3e67377f86cece9577a")
+ version("3.1.1", sha256="7c98b26af5f859bc65200499d15765e4b056b4cf233b34176f27a7e6bc4cf9b1")
+ version("3.1.0", sha256="4e156daee5eb10bd1573ef32d4a6a6df74788cd9180fc977db93ef4cb281000c")
+ version("3.0.2", sha256="9624d6cdcad77eafde40312cf6a1c97f4263f22faf9244b198c140b2c256d2f3")
+ version("3.0.1", sha256="e7551168b86a05c9c029c319c313a0aa142a476195e7ff986c896c1b868f89dd")
+ version("3.0.0", sha256="3944434d3791dccb54f7b2257589df6252cc7c065ce9deb57fbef466ff9e62b1")
+ version(
+ "2.7.2b",
+ sha256="e9f0a709f8226cde54f9406d36efab1e1b8ed0c6574fbcb1d72a186b09188106",
+ deprecated=True,
+ )
+ version(
+ "2.7.2",
+ sha256="a6634537c005660e56514b70ab9efb9d466c50685d6fb45ed03e9e1988479f02",
+ deprecated=True,
+ )
+ version(
+ "2.7.1",
+ sha256="b4145d8369b8a9fa0ada7ba2e5a2e9992d8e4a12ca4874d835246d2e708cbdef",
+ deprecated=True,
+ )
+ version(
+ "2.7.0",
+ sha256="34ad6a0b47dc4736feac8580a275e8b3a46df8fbeefd91e813add0a1525aacaf",
+ deprecated=True,
+ )
+ version(
+ "2.6.2",
+ sha256="9dde49d5c02038a295f03d2972f85be8746205bdb5ca1eab868b2c9129ade37a",
+ deprecated=True,
+ )
+ version(
+ "2.6.1",
+ sha256="e490d1f35aafa3e175690ae92f862c07a5fe2c51f693c88c87789f0441c89022",
+ deprecated=True,
+ )
+ version(
+ "2.6.0",
+ sha256="fb3229dccd31ea40b0af09974253073f6ad0a3a97e9a0cf44b53748ea8e2f900",
+ deprecated=True,
+ )
+ version(
+ "2.5.4",
+ sha256="772252193698d994fd111f790e72a4024df7572d492e3d5a9e840a074c5527e2",
+ deprecated=True,
+ )
+ version(
+ "2.5.3",
+ sha256="99e10330564ac479c6637d317c08882889a272db8ee204ad45a6ee1dcb291de4",
+ deprecated=True,
+ )
+ version(
+ "2.5.2",
+ sha256="70aa27764a14159c94c0b753a0c3d3600ac669def398cb2d8a6c63ae17704f05",
+ deprecated=True,
+ )
+ version(
+ "2.5.1",
+ sha256="14ee5828de217e96a30e666192515a2083afee030d81d36fc6bea948e9f7810a",
+ deprecated=True,
+ )
+ version(
+ "2.5.0",
+ sha256="c59ff35715be0caf65d6ba808b3badad0f6f7e7758f2049fb6ba43ed579bd4af",
+ deprecated=True,
+ )
+ version(
+ "2.4.3",
+ sha256="18aafecab6c3baeac871a9743946433c2dc01825d8fe291b157719a15c342682",
+ deprecated=True,
+ )
+ version(
+ "2.4.2",
+ sha256="accb146f3082719781a51eec879427c31401577c44f60b27ec8450102fe68aff",
+ deprecated=True,
+ )
+ version(
+ "2.4.1",
+ sha256="c14f0f58d1792d84d62c62b44ebb94db004776feba83fd8186bba898d55123cf",
+ deprecated=True,
+ )
+ version(
+ "2.4.0",
+ sha256="5ee2f34a277ed058b8aef750d946b40d4cf781023b9adab03ca95e803a39fb06",
+ deprecated=True,
+ )
+ version(
+ "2.3.0",
+ sha256="dd07702981d586e4b97b0fa56ae08cd08a631a952322a9b52e7622a46a7741ab",
+ deprecated=True,
+ )
+ version(
+ "2.2.1",
+ sha256="9e64ba19d567bdf4d0cc42b435491c4363b5fec90170d034445a99a1e752b691",
+ deprecated=True,
+ )
+ version(
+ "2.2.0",
+ sha256="3bdafe2007ff54c4734e0c8bc6ba9dc97028d4c41d538201b9582a869af8ae1a",
+ deprecated=True,
+ )
+ version(
+ "2.1.2",
+ sha256="40a20c1ee186326e5bfd906e0bc88f16dc740551be9cc274e9a826873d9c1eed",
+ deprecated=True,
+ )
+ version(
+ "2.1.1",
+ sha256="eefa936de6f6c34a6bab39899841f3189d7621c8ba227032f0f32e6e20dfcf85",
+ deprecated=True,
+ )
+ version(
+ "2.1.0",
+ sha256="58a1ca7b5a47719933782c050e67d0eb3823a7384cfc3c434fece41724c307e6",
+ deprecated=True,
+ )
+ version(
+ "2.0.0",
+ sha256="038f81f92fbba001ed23b56c1229a4f3b41e0c32e00bc92ea58d042909e3855a",
+ deprecated=True,
+ )
+ version(
+ "1.9.0",
+ sha256="55ef552b351328c287194aa99fa2b797e6632dc3fa88dfccd58264602012e044",
+ deprecated=True,
+ )
+ version(
+ "1.8.3",
+ sha256="aa82742fd4d7c68bfbef1367c4c605e06f9fed479a753db96aa6659407fcc4fd",
+ deprecated=True,
+ )
+ version(
+ "1.8.2",
+ sha256="56be98d31693253543f3e657c8f8edc7979c89fdb0ede1bdddfb3a9f5d4cfc3a",
+ deprecated=True,
+ )
+ version(
+ "1.8.1",
+ sha256="7e06d22350bec30220186e796caa93e9bfebd8d771a7efd35673897248437c61",
+ deprecated=True,
+ )
+ version(
+ "1.8.0",
+ sha256="7b28f9163f74583b1542b87c48f28a3ad1338da6136d8e3ca0aeba21095f5fe0",
+ deprecated=True,
+ )
+ version(
+ "1.7.0",
+ sha256="180741f590f210474b686d60241ad59e008221751ead21f0950c59aff93e54fd",
+ deprecated=True,
+ )
+ version(
+ "1.6.0",
+ sha256="1affd9e779f48477402e4150f315b3179204cbbc920db2d0129cd9c38bd18b26",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="9f24e9824286d5b0302c7e440f4803a8e3b8da50e1260e78c3b3c2eb587b317a",
+ deprecated=True,
+ )
+ version(
+ "1.5.0",
+ sha256="b7fe63e8caacc5c038ab567fe505d275288eedaa1aed6c379057629eef126006",
+ deprecated=True,
+ )
+ version(
+ "1.4.0",
+ sha256="067c94659bb7859904e20e72a676f94f103e6e012b7dba8071f51e8a6e624dbb",
+ deprecated=True,
+ )
+ version(
+ "1.3.0",
+ sha256="5ce41c8492c2fcf809a7135bf8335a01a98ea85fb556b3d00bd4260151efd12f",
+ deprecated=True,
+ )
+ version(
+ "1.2.1",
+ sha256="2d0380b819f778d8d9c2a462af90bd6a6188121e4edcc6202d936130b59bab17",
+ deprecated=True,
+ )
+ version(
+ "1.2.0",
+ sha256="ff5869f6dc9465f429e54686e12c39becac57a83273542179a59bac7561b6404",
+ deprecated=True,
+ )
+ version(
+ "1.1.3",
+ sha256="4be3cd9e6f808cdc5511991be2756f5fa838b6ecd01806fdbe7aec0aa382f946",
+ deprecated=True,
+ )
+ version(
+ "1.1.2",
+ sha256="a15b5d3339481446dec1b719d7d531a87a2e9d11c9fe8044e270ea69611b07c8",
+ deprecated=True,
+ )
+ version(
+ "1.1.1",
+ sha256="bd87fefee6bb8368216755342dc80ab3f8f3c813732dd03c6f94135d45f7036b",
+ deprecated=True,
+ )
+
+ variant("hepmc", default="2", values=("2", "3"), description="HepMC version to link against")
+
+ conflicts("hepmc=3", when="@:2", msg="HepMC support was added in 3.0")
# According to A. Buckley (main Rivet developer):
# "typically a given Rivet version will work with
@@ -78,129 +233,129 @@ class Rivet(AutotoolsPackage):
# to be using the latest versions of both.". The versions below
# are taken from LCG stack which, in most cases, is the definition
# of "latest" at the moment of release.
- depends_on('yoda@1.0.4', when='@2.0.0')
- depends_on('yoda@1.0.5', when='@2.1.0')
- depends_on('yoda@1.0.6', when='@2.1.1')
- depends_on('yoda@1.1.0', when='@2.1.2')
- depends_on('yoda@1.3.0', when='@2.2.0')
- depends_on('yoda@1.3.1', when='@2.2.1')
- depends_on('yoda@1.4.0', when='@2.3.0')
- depends_on('yoda@1.5.5', when='@2.4.0')
- depends_on('yoda@1.5.9', when='@2.4.2')
- depends_on('yoda@1.6.1', when='@2.4.3')
- depends_on('yoda@1.6.2', when='@2.5.0')
- depends_on('yoda@1.6.3', when='@2.5.1')
- depends_on('yoda@1.6.5', when='@2.5.2')
- depends_on('yoda@1.6.6', when='@2.5.3')
- depends_on('yoda@1.6.7', when='@2.5.4')
- depends_on('yoda@1.7.1', when='@2.6.1')
- depends_on('yoda@1.7.4', when='@2.6.2')
- depends_on('yoda@1.7.5', when='@2.7.2')
- depends_on('yoda@1.7.5', when='@2.7.2b')
- depends_on('yoda@1.7.7', when='@3.0.1')
- depends_on('yoda@1.8.0', when='@3.1.0')
- depends_on('yoda@1.8.2', when='@3.1.1')
- depends_on('yoda@1.8.3', when='@3.1.2')
- depends_on('yoda@1.8.5:', when='@3.1.3:')
- depends_on('yoda@1.9.5:', when='@3.1.6:')
+ depends_on("yoda@1.0.4", when="@2.0.0")
+ depends_on("yoda@1.0.5", when="@2.1.0")
+ depends_on("yoda@1.0.6", when="@2.1.1")
+ depends_on("yoda@1.1.0", when="@2.1.2")
+ depends_on("yoda@1.3.0", when="@2.2.0")
+ depends_on("yoda@1.3.1", when="@2.2.1")
+ depends_on("yoda@1.4.0", when="@2.3.0")
+ depends_on("yoda@1.5.5", when="@2.4.0")
+ depends_on("yoda@1.5.9", when="@2.4.2")
+ depends_on("yoda@1.6.1", when="@2.4.3")
+ depends_on("yoda@1.6.2", when="@2.5.0")
+ depends_on("yoda@1.6.3", when="@2.5.1")
+ depends_on("yoda@1.6.5", when="@2.5.2")
+ depends_on("yoda@1.6.6", when="@2.5.3")
+ depends_on("yoda@1.6.7", when="@2.5.4")
+ depends_on("yoda@1.7.1", when="@2.6.1")
+ depends_on("yoda@1.7.4", when="@2.6.2")
+ depends_on("yoda@1.7.5", when="@2.7.2")
+ depends_on("yoda@1.7.5", when="@2.7.2b")
+ depends_on("yoda@1.7.7", when="@3.0.1")
+ depends_on("yoda@1.8.0", when="@3.1.0")
+ depends_on("yoda@1.8.2", when="@3.1.1")
+ depends_on("yoda@1.8.3", when="@3.1.2")
+ depends_on("yoda@1.8.5:", when="@3.1.3:")
+ depends_on("yoda@1.9.5:", when="@3.1.6:")
# The following versions were not a part of LCG stack
# and thus the exact version of YODA is unknown
- depends_on('yoda@1.7.0:1.7', when='@2.6.0,2.7.0,2.7.1,3.0.0,3.0.2')
- depends_on('yoda@1.5.0:1.5', when='@2.4.1')
+ depends_on("yoda@1.7.0:1.7", when="@2.6.0,2.7.0,2.7.1,3.0.0,3.0.2")
+ depends_on("yoda@1.5.0:1.5", when="@2.4.1")
- depends_on('hepmc', when='hepmc=2')
- depends_on('hepmc3', when='hepmc=3')
- depends_on('boost', when='@:2.5.0')
+ depends_on("hepmc", when="hepmc=2")
+ depends_on("hepmc3", when="hepmc=3")
+ depends_on("boost", when="@:2.5.0")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:2.5.0')
- depends_on('fastjet')
- depends_on('fjcontrib', when='@3.0.0:')
- depends_on('gsl', when='@:2.6.0,2.6.2:2')
- depends_on('python', type=('build', 'run'))
- depends_on('py-cython@0.24.0:', type='build')
- depends_on('swig', type='build')
- depends_on('yaml-cpp', when='@2.0.0:2.1.2')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
-
- extends('python')
-
- filter_compiler_wrappers('rivet-build', relative_root='bin')
-
- patch('rivet-1.8.2.patch', when='@1.8.2', level=0)
- patch('rivet-1.9.0.patch', when='@1.9.0', level=0)
- patch('rivet-2.2.0.patch', when='@2.2.0', level=0)
- patch('rivet-2.2.1.patch', when='@2.2.1', level=0)
- patch('rivet-2.4.0.patch', when='@2.4.0', level=0)
- patch('rivet-2.4.2.patch', when='@2.4.2', level=0)
- patch('rivet-2.4.3.patch', when='@2.4.3', level=0)
- patch('rivet-2.5.1.patch', when='@2.5.1', level=0)
- patch('rivet-2.5.2.patch', when='@2.5.2', level=0)
- patch('rivet-2.5.3.patch', when='@2.5.3', level=0)
- patch('rivet-2.5.4.patch', when='@2.5.4', level=0)
- patch('rivet-2.6.0.patch', when='@2.6.0', level=0)
- patch('rivet-2.6.1.patch', when='@2.6.1', level=0)
- patch('rivet-2.6.2.patch', when='@2.6.2', level=0)
- patch('rivet-2.7.0.patch', when='@2.7.0', level=0)
- patch('rivet-3.0.0.patch', when='@3.0.0', level=0)
- patch('rivet-3.0.1.patch', when='@3.0.1', level=0)
- patch('rivet-3.1.0.patch', when='@3.1.0', level=0)
- patch('rivet-3.1.1.patch', when='@3.1.1', level=0)
-
- @run_before('configure')
+ depends_on(Boost.with_default_variants, when="@:2.5.0")
+ depends_on("fastjet")
+ depends_on("fjcontrib", when="@3.0.0:")
+ depends_on("gsl", when="@:2.6.0,2.6.2:2")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-cython@0.24.0:", type="build")
+ depends_on("swig", type="build")
+ depends_on("yaml-cpp", when="@2.0.0:2.1.2")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ extends("python")
+
+ filter_compiler_wrappers("rivet-build", relative_root="bin")
+
+ patch("rivet-1.8.2.patch", when="@1.8.2", level=0)
+ patch("rivet-1.9.0.patch", when="@1.9.0", level=0)
+ patch("rivet-2.2.0.patch", when="@2.2.0", level=0)
+ patch("rivet-2.2.1.patch", when="@2.2.1", level=0)
+ patch("rivet-2.4.0.patch", when="@2.4.0", level=0)
+ patch("rivet-2.4.2.patch", when="@2.4.2", level=0)
+ patch("rivet-2.4.3.patch", when="@2.4.3", level=0)
+ patch("rivet-2.5.1.patch", when="@2.5.1", level=0)
+ patch("rivet-2.5.2.patch", when="@2.5.2", level=0)
+ patch("rivet-2.5.3.patch", when="@2.5.3", level=0)
+ patch("rivet-2.5.4.patch", when="@2.5.4", level=0)
+ patch("rivet-2.6.0.patch", when="@2.6.0", level=0)
+ patch("rivet-2.6.1.patch", when="@2.6.1", level=0)
+ patch("rivet-2.6.2.patch", when="@2.6.2", level=0)
+ patch("rivet-2.7.0.patch", when="@2.7.0", level=0)
+ patch("rivet-3.0.0.patch", when="@3.0.0", level=0)
+ patch("rivet-3.0.1.patch", when="@3.0.1", level=0)
+ patch("rivet-3.1.0.patch", when="@3.1.0", level=0)
+ patch("rivet-3.1.1.patch", when="@3.1.1", level=0)
+
+ @run_before("configure")
def copy_gsl_m4(self):
- if self.spec.satisfies('@2.6.2:'):
- copy(join_path(os.path.dirname(__file__), 'gsl.m4'), 'm4/gsl.m4')
+ if self.spec.satisfies("@2.6.2:"):
+ copy(join_path(os.path.dirname(__file__), "gsl.m4"), "m4/gsl.m4")
@property
def force_autoreconf(self):
- return self.version >= Version('2.6.2')
+ return self.version >= Version("2.6.2")
def setup_build_environment(self, env):
# this avoids an "import site" error in the build
- env.unset('PYTHONHOME')
+ env.unset("PYTHONHOME")
def flag_handler(self, name, flags):
- if self.spec.satisfies('@3.1.2:') and name == 'cxxflags':
- flags.append('-faligned-new')
+ if self.spec.satisfies("@3.1.2:") and name == "cxxflags":
+ flags.append("-faligned-new")
return (None, None, flags)
return (flags, None, None)
def configure_args(self):
args = []
- if self.spec.variants['hepmc'].value == '2':
- args += ['--with-hepmc=' + self.spec['hepmc'].prefix]
+ if self.spec.variants["hepmc"].value == "2":
+ args += ["--with-hepmc=" + self.spec["hepmc"].prefix]
else:
- args += ['--with-hepmc3=' + self.spec['hepmc3'].prefix]
+ args += ["--with-hepmc3=" + self.spec["hepmc3"].prefix]
- if self.spec.satisfies('@:1'):
- args += ['--with-boost-incpath=' + self.spec['boost'].includes]
+ if self.spec.satisfies("@:1"):
+ args += ["--with-boost-incpath=" + self.spec["boost"].includes]
else:
- if self.spec.satisfies('@:2.5.0'):
- args += ['--with-boost=' + self.spec['boost'].prefix]
+ if self.spec.satisfies("@:2.5.0"):
+ args += ["--with-boost=" + self.spec["boost"].prefix]
- args += ['--with-fastjet=' + self.spec['fastjet'].prefix]
- if self.spec.satisfies('@2:'):
- args += ['--with-yoda=' + self.spec['yoda'].prefix]
+ args += ["--with-fastjet=" + self.spec["fastjet"].prefix]
+ if self.spec.satisfies("@2:"):
+ args += ["--with-yoda=" + self.spec["yoda"].prefix]
- if self.spec.satisfies('@:2.6.0,2.6.2:2'):
- args += ['--with-gsl=' + self.spec['gsl'].prefix]
+ if self.spec.satisfies("@:2.6.0,2.6.2:2"):
+ args += ["--with-gsl=" + self.spec["gsl"].prefix]
- if self.spec.satisfies('@3.0.0:'):
- args += ['--with-fjcontrib=' + self.spec['fjcontrib'].prefix]
+ if self.spec.satisfies("@3.0.0:"):
+ args += ["--with-fjcontrib=" + self.spec["fjcontrib"].prefix]
- if self.spec.satisfies('@:2.5.1'):
- args += ['--enable-unvalidated']
+ if self.spec.satisfies("@:2.5.1"):
+ args += ["--enable-unvalidated"]
- if self.spec.satisfies('@2:2.4'):
- args += ['--enable-stdcxx11']
+ if self.spec.satisfies("@2:2.4"):
+ args += ["--enable-stdcxx11"]
- args += ['--disable-pdfmanual']
+ args += ["--disable-pdfmanual"]
return args
diff --git a/var/spack/repos/builtin/packages/rkt-base/package.py b/var/spack/repos/builtin/packages/rkt-base/package.py
index 623cf8f1aa..4ae2eda51c 100644
--- a/var/spack/repos/builtin/packages/rkt-base/package.py
+++ b/var/spack/repos/builtin/packages/rkt-base/package.py
@@ -10,13 +10,13 @@ class RktBase(RacketPackage):
"""Stub package for packages which are currently part of core
racket installation (but which may change in the future)."""
- git = "ssh://git@github.com/racket/racket.git"
+ git = "ssh://git@github.com/racket/racket.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v8.3'
- depends_on('racket@8.3', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v8.3'
+ depends_on("racket@8.3", type=("build", "run"), when="@8.3")
- name = 'base'
+ name = "base"
pkgs = True
subdirectory = "pkgs/{0}".format(name)
diff --git a/var/spack/repos/builtin/packages/rkt-cext-lib/package.py b/var/spack/repos/builtin/packages/rkt-cext-lib/package.py
index b38a495061..66de2376e8 100644
--- a/var/spack/repos/builtin/packages/rkt-cext-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-cext-lib/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class RktCextLib(RacketPackage):
"""Racket library for running a C compiler/linker."""
- git = "ssh://git@github.com/racket/cext-lib.git"
+ git = "ssh://git@github.com/racket/cext-lib.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='cc22e2456df881a9008240d70dd9012ef37395f5') # tag = 'v8.3'
+ version("8.3", commit="cc22e2456df881a9008240d70dd9012ef37395f5") # tag = 'v8.3'
- depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-compiler-lib@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-dynext-lib@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-scheme-lib@8.3', type=('build', 'run'), when='@8.3')
+ depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-compiler-lib@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-dynext-lib@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-scheme-lib@8.3", type=("build", "run"), when="@8.3")
- name = 'cext-lib'
+ name = "cext-lib"
pkgs = True
subdirectory = name
diff --git a/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py
index 1a553dfdd3..17ca12ab09 100644
--- a/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py
@@ -10,16 +10,16 @@ class RktCompilerLib(RacketPackage):
"""Stub package for packages which are currently part of core
Racket installation (but which may change in the future)."""
- git = "ssh://git@github.com/racket/racket.git"
+ git = "ssh://git@github.com/racket/racket.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v8.3'
- depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-scheme-lib@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-rackunit-lib@8.3', type=('build', 'run'), when='@8.3')
- depends_on('rkt-zo-lib@1.3', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v8.3'
+ depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-scheme-lib@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-rackunit-lib@8.3", type=("build", "run"), when="@8.3")
+ depends_on("rkt-zo-lib@1.3", type=("build", "run"), when="@8.3")
- name = 'compiler-lib'
+ name = "compiler-lib"
pkgs = True
subdirectory = "pkgs/{0}".format(name)
diff --git a/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py b/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py
index ce00cdc7e9..a235aca112 100644
--- a/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class RktDynextLib(RacketPackage):
"""Racket library for running a C compiler/linker."""
- git = "ssh://git@github.com/racket/cext-lib.git"
+ git = "ssh://git@github.com/racket/cext-lib.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='cc22e2456df881a9008240d70dd9012ef37395f5') # tag = 'v8.3'
- depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="cc22e2456df881a9008240d70dd9012ef37395f5") # tag = 'v8.3'
+ depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3")
- name = 'dynext-lib'
+ name = "dynext-lib"
pkgs = True
subdirectory = name
diff --git a/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py b/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py
index fe3c6e10ec..e7661eec09 100644
--- a/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class RktRackunitLib(RacketPackage):
"""RackUnit testing framework."""
- git = "ssh://git@github.com/racket/rackunit.git"
+ git = "ssh://git@github.com/racket/rackunit.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='683237bee2a979c7b1541092922fb51a75ea8ca9') # tag='v8.3'
- depends_on('rkt-base@8.3:', type=('build', 'run'), when='@8.3')
- depends_on('rkt-testing-util-lib@8.3', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="683237bee2a979c7b1541092922fb51a75ea8ca9") # tag='v8.3'
+ depends_on("rkt-base@8.3:", type=("build", "run"), when="@8.3")
+ depends_on("rkt-testing-util-lib@8.3", type=("build", "run"), when="@8.3")
- name = 'rackunit-lib'
+ name = "rackunit-lib"
pkgs = True
subdirectory = name
diff --git a/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py b/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py
index 8884c65690..1765318158 100644
--- a/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py
@@ -9,12 +9,12 @@ from spack.package import *
class RktSchemeLib(RacketPackage):
"""Legacy Scheme Library."""
- git = "ssh://git@github.com/racket/scheme-lib.git"
+ git = "ssh://git@github.com/racket/scheme-lib.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='a36e729680818712820ee5269f5208c3c0715a6a') # tag='v8.3'
- depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="a36e729680818712820ee5269f5208c3c0715a6a") # tag='v8.3'
+ depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3")
- name = 'scheme-lib'
+ name = "scheme-lib"
pkgs = True
diff --git a/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py b/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py
index be035a68fa..aef3488150 100644
--- a/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class RktTestingUtilLib(RacketPackage):
"""Utilities for interoperating between different testing libraries."""
- git = "ssh://git@github.com/racket/rackunit.git"
+ git = "ssh://git@github.com/racket/rackunit.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('8.3', commit='683237bee2a979c7b1541092922fb51a75ea8ca9') # tag='v8.3'
- depends_on('rkt-base@8.3:', type=('build', 'run'), when='@8.3')
+ version("8.3", commit="683237bee2a979c7b1541092922fb51a75ea8ca9") # tag='v8.3'
+ depends_on("rkt-base@8.3:", type=("build", "run"), when="@8.3")
- name = 'testing-util-lib'
+ name = "testing-util-lib"
pkgs = True
subdirectory = name
diff --git a/var/spack/repos/builtin/packages/rkt-zo-lib/package.py b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py
index b4384a357b..ae2373785a 100644
--- a/var/spack/repos/builtin/packages/rkt-zo-lib/package.py
+++ b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py
@@ -9,13 +9,13 @@ from spack.package import *
class RktZoLib(RacketPackage):
"""Libraries for handling zo files."""
- git = "ssh://git@github.com/racket/racket.git"
+ git = "ssh://git@github.com/racket/racket.git"
- maintainers = ['elfprince13']
+ maintainers = ["elfprince13"]
- version('1.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v1.3'
- depends_on('rkt-base@8.3:', type=('build', 'run'), when='@1.3')
+ version("1.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag='v1.3'
+ depends_on("rkt-base@8.3:", type=("build", "run"), when="@1.3")
- name = 'zo-lib'
+ name = "zo-lib"
pkgs = True
subdirectory = "pkgs/{0}".format(name)
diff --git a/var/spack/repos/builtin/packages/rlwrap/package.py b/var/spack/repos/builtin/packages/rlwrap/package.py
index f9bc4c4cae..1eb9a6c189 100644
--- a/var/spack/repos/builtin/packages/rlwrap/package.py
+++ b/var/spack/repos/builtin/packages/rlwrap/package.py
@@ -11,8 +11,8 @@ class Rlwrap(AutotoolsPackage):
readline library to allow the editing of keyboard input for any command."""
homepage = "https://github.com/hanslub42/rlwrap"
- url = "https://github.com/hanslub42/rlwrap/releases/download/v0.43/rlwrap-0.43.tar.gz"
+ url = "https://github.com/hanslub42/rlwrap/releases/download/v0.43/rlwrap-0.43.tar.gz"
- version('0.43', sha256='8e86d0b7882d9b8a73d229897a90edc207b1ae7fa0899dca8ee01c31a93feb2f')
+ version("0.43", sha256="8e86d0b7882d9b8a73d229897a90edc207b1ae7fa0899dca8ee01c31a93feb2f")
- depends_on('readline@4.2:')
+ depends_on("readline@4.2:")
diff --git a/var/spack/repos/builtin/packages/rmats/package.py b/var/spack/repos/builtin/packages/rmats/package.py
index 81e879023a..435509cab6 100644
--- a/var/spack/repos/builtin/packages/rmats/package.py
+++ b/var/spack/repos/builtin/packages/rmats/package.py
@@ -11,23 +11,22 @@ from spack.package import *
class Rmats(Package):
"""MATS is a computational tool to detect differential alternative
- splicing events from RNA-Seq data."""
+ splicing events from RNA-Seq data."""
homepage = "https://rnaseq-mats.sourceforge.net/index.html"
- url = "https://downloads.sourceforge.net/project/rnaseq-mats/MATS/rMATS.4.0.2.tgz"
+ url = "https://downloads.sourceforge.net/project/rnaseq-mats/MATS/rMATS.4.0.2.tgz"
- version('4.0.2', sha256='afab002a9ae836d396909aede96318f6dab6e5818078246419dd563624bf26d1')
+ version("4.0.2", sha256="afab002a9ae836d396909aede96318f6dab6e5818078246419dd563624bf26d1")
- depends_on('python@2.7:', type='run')
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('openblas')
+ depends_on("python@2.7:", type="run")
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("openblas")
def install(self, spec, prefix):
# since the tool is a python script we install it to /usr/lib
- install_tree('rMATS-turbo-Linux-UCS4', join_path(prefix.lib, 'rmats'))
+ install_tree("rMATS-turbo-Linux-UCS4", join_path(prefix.lib, "rmats"))
# the script has an appropriate shebang so a quick symlink will do
- set_executable(join_path(prefix.lib, 'rmats/rmats.py'))
+ set_executable(join_path(prefix.lib, "rmats/rmats.py"))
mkdirp(prefix.bin)
- symlink(join_path(prefix.lib, 'rmats/rmats.py'),
- join_path(prefix.bin, 'rmats'))
+ symlink(join_path(prefix.lib, "rmats/rmats.py"), join_path(prefix.bin, "rmats"))
diff --git a/var/spack/repos/builtin/packages/rmgdft/package.py b/var/spack/repos/builtin/packages/rmgdft/package.py
index 810e6f20ca..aaaa5dd8d3 100644
--- a/var/spack/repos/builtin/packages/rmgdft/package.py
+++ b/var/spack/repos/builtin/packages/rmgdft/package.py
@@ -9,78 +9,80 @@ from spack.package import *
class Rmgdft(CMakePackage):
"""RMGDFT is a high performance real-space density functional code
- designed for large scale electronic structure calculations."""
+ designed for large scale electronic structure calculations."""
homepage = "http://www.rmgdft.org/"
- git = "https://github.com/RMGDFT/rmgdft.git"
- maintainers = ['elbriggs']
- tags = ['ecp', 'ecp-apps']
- version('master', branch='master')
- version('4.3.1', tag='v4.3.1')
- version('4.3.0', tag='v4.3.0')
- version('4.2.2', tag='v4.2.2')
- version('4.2.1', tag='v4.2.1')
-
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
-
- variant('qmcpack', default=True,
- description='Build with qmcpack interface.')
-
- variant('local_orbitals', default=True,
- description='Build O(N) variant.')
+ git = "https://github.com/RMGDFT/rmgdft.git"
+ maintainers = ["elbriggs"]
+ tags = ["ecp", "ecp-apps"]
+ version("master", branch="master")
+ version("4.3.1", tag="v4.3.1")
+ version("4.3.0", tag="v4.3.0")
+ version("4.2.2", tag="v4.2.2")
+ version("4.2.1", tag="v4.2.1")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+
+ variant("qmcpack", default=True, description="Build with qmcpack interface.")
+
+ variant("local_orbitals", default=True, description="Build O(N) variant.")
# Normally we want this but some compilers (e.g. IBM) are
# very slow when this is on so provide the option to disable
- variant('internal_pp', default=True,
- description='Include built-in pseudopotentials. Normally '
- 'enabled but some compilers are slow when '
- 'this is on so provide a disable option.')
+ variant(
+ "internal_pp",
+ default=True,
+ description="Include built-in pseudopotentials. Normally "
+ "enabled but some compilers are slow when "
+ "this is on so provide a disable option.",
+ )
# RMGDFT 4.0.0 or later requires compiler support for C++14
- compiler_warning = 'RMGDFT 4.0.0 or later requires a ' \
- 'compiler with support for C++14'
- conflicts('%gcc@:4', when='@3.6.0:', msg=compiler_warning)
- conflicts('%intel@:17', when='@3.6.0:', msg=compiler_warning)
- conflicts('%pgi@:17', when='@3.6.0:', msg=compiler_warning)
- conflicts('%llvm@:3.4', when='@3.6.0:', msg=compiler_warning)
-
- depends_on('cmake', type='build')
- depends_on('boost+filesystem+iostreams+thread+program_options+system', type='build')
- depends_on('boost@1.61.0:1.71.0')
- depends_on('fftw-api@3')
- depends_on('mpi')
- depends_on('hdf5')
+ compiler_warning = "RMGDFT 4.0.0 or later requires a " "compiler with support for C++14"
+ conflicts("%gcc@:4", when="@3.6.0:", msg=compiler_warning)
+ conflicts("%intel@:17", when="@3.6.0:", msg=compiler_warning)
+ conflicts("%pgi@:17", when="@3.6.0:", msg=compiler_warning)
+ conflicts("%llvm@:3.4", when="@3.6.0:", msg=compiler_warning)
+
+ depends_on("cmake", type="build")
+ depends_on("boost+filesystem+iostreams+thread+program_options+system", type="build")
+ depends_on("boost@1.61.0:1.71.0")
+ depends_on("fftw-api@3")
+ depends_on("mpi")
+ depends_on("hdf5")
# RMG is a hybrid MPI/threads code and performance is
# highly dependent on the threading model of the blas
# libraries. Openblas-openmp is known to work well
# so if spack yields a non-performant build you can
# try to adjust your system config to use it.
- depends_on('blas')
- conflicts('^atlas',
- msg='The atlas threading model is incompatible with RMG')
+ depends_on("blas")
+ conflicts("^atlas", msg="The atlas threading model is incompatible with RMG")
@property
def build_targets(self):
spec = self.spec
- targets = ['rmg-cpu']
- if '+local_orbitals' in spec:
- targets.append('rmg-on-cpu')
+ targets = ["rmg-cpu"]
+ if "+local_orbitals" in spec:
+ targets.append("rmg-on-cpu")
return targets
def cmake_args(self):
spec = self.spec
args = []
- if '+qmcpack' in spec:
- args.append('-DQMCPACK=1')
+ if "+qmcpack" in spec:
+ args.append("-DQMCPACK=1")
else:
- args.append('-DQMCPACK=0')
- if '+internal_pp' in spec:
- args.append('-DUSE_INTERNAL_PSEUDOPOTENTIALS=1')
+ args.append("-DQMCPACK=0")
+ if "+internal_pp" in spec:
+ args.append("-DUSE_INTERNAL_PSEUDOPOTENTIALS=1")
else:
- args.append('-DUSE_INTERNAL_PSEUDOPOTENTIALS=0')
+ args.append("-DUSE_INTERNAL_PSEUDOPOTENTIALS=0")
return args
def install(self, spec, prefix):
@@ -90,10 +92,10 @@ class Rmgdft(CMakePackage):
mkdirp(prefix.share.tests.RMG)
with working_dir(self.build_directory):
- install('rmg-cpu', prefix.bin)
- if '+local_orbitals' in spec:
- install('rmg-on-cpu', prefix.bin)
+ install("rmg-cpu", prefix.bin)
+ if "+local_orbitals" in spec:
+ install("rmg-on-cpu", prefix.bin)
# install tests
with working_dir(self.build_directory):
- install_tree('tests/RMG', prefix.share.tests.RMG)
+ install_tree("tests/RMG", prefix.share.tests.RMG)
diff --git a/var/spack/repos/builtin/packages/rmlab/package.py b/var/spack/repos/builtin/packages/rmlab/package.py
index 23cbd98645..9841b6e03f 100644
--- a/var/spack/repos/builtin/packages/rmlab/package.py
+++ b/var/spack/repos/builtin/packages/rmlab/package.py
@@ -10,26 +10,23 @@ class Rmlab(CMakePackage):
"""C++ File API for the reMarkable tablet"""
homepage = "https://github.com/ax3l/lines-are-beautiful"
- git = "https://github.com/ax3l/lines-are-beautiful.git"
+ git = "https://github.com/ax3l/lines-are-beautiful.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='develop')
+ version("develop", branch="develop")
- variant('png', default=True,
- description='Enable PNG conversion support')
+ variant("png", default=True, description="Enable PNG conversion support")
# modern CMake
- depends_on('cmake@3.7.0:', type='build')
+ depends_on("cmake@3.7.0:", type="build")
# C++11
- conflicts('%gcc@:4.7')
- conflicts('%intel@:15')
- conflicts('%pgi@:14')
+ conflicts("%gcc@:4.7")
+ conflicts("%intel@:15")
+ conflicts("%pgi@:14")
- depends_on('pngwriter@0.6.0:', when='+png')
+ depends_on("pngwriter@0.6.0:", when="+png")
def cmake_args(self):
- args = [
- self.define_from_variant('Rmlab_USE_PNG', 'png')
- ]
+ args = [self.define_from_variant("Rmlab_USE_PNG", "png")]
return args
diff --git a/var/spack/repos/builtin/packages/rna-seqc/package.py b/var/spack/repos/builtin/packages/rna-seqc/package.py
index feb50d4b93..56fc66d98f 100644
--- a/var/spack/repos/builtin/packages/rna-seqc/package.py
+++ b/var/spack/repos/builtin/packages/rna-seqc/package.py
@@ -13,19 +13,39 @@ class RnaSeqc(Package):
metrics for RNA-seq data."""
homepage = "http://archive.broadinstitute.org/cancer/cga/rna-seqc"
- url = "http://www.broadinstitute.org/cancer/cga/tools/rnaseqc/RNA-SeQC_v1.1.8.jar"
-
- version('1.1.8', sha256='0a6a8cc885e77c7e7b75dafcfd2152e0d1031fa7aba2565250a46fbd98979793', expand=False)
- version('1.1.7', sha256='78e043a2973fed8d567e16bd1f68b1bd78dafe536a41cee07c32e3148e1f1ff3', expand=False)
- version('1.1.6', sha256='76f1497b275c801d18a1b403336569552853dd248d94aa625862ea08c6ba25f6', expand=False)
- version('1.1.5', sha256='1da100182037f46c61f93a063083e3be579da2678b0441fbc3fc8b58120e52c9', expand=False)
- version('1.1.4', sha256='eac437061157036dddf496be8e05fe62b011fb95d34e9079c93ee4001710f1c6', expand=False)
-
- depends_on('java@8:', type='run')
+ url = "http://www.broadinstitute.org/cancer/cga/tools/rnaseqc/RNA-SeQC_v1.1.8.jar"
+
+ version(
+ "1.1.8",
+ sha256="0a6a8cc885e77c7e7b75dafcfd2152e0d1031fa7aba2565250a46fbd98979793",
+ expand=False,
+ )
+ version(
+ "1.1.7",
+ sha256="78e043a2973fed8d567e16bd1f68b1bd78dafe536a41cee07c32e3148e1f1ff3",
+ expand=False,
+ )
+ version(
+ "1.1.6",
+ sha256="76f1497b275c801d18a1b403336569552853dd248d94aa625862ea08c6ba25f6",
+ expand=False,
+ )
+ version(
+ "1.1.5",
+ sha256="1da100182037f46c61f93a063083e3be579da2678b0441fbc3fc8b58120e52c9",
+ expand=False,
+ )
+ version(
+ "1.1.4",
+ sha256="eac437061157036dddf496be8e05fe62b011fb95d34e9079c93ee4001710f1c6",
+ expand=False,
+ )
+
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'RNA-SeQC_v{0}.jar'.format(self.version.dotted)
+ jar_file = "RNA-SeQC_v{0}.jar".format(self.version.dotted)
install(jar_file, prefix.bin)
# Set up a helper script to call java on the jar file,
@@ -37,8 +57,7 @@ class RnaSeqc(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('RNA-SeQC_v{0}.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("RNA-SeQC_v{0}.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/rnaquast/package.py b/var/spack/repos/builtin/packages/rnaquast/package.py
index 3c1029bed6..67b6623e39 100644
--- a/var/spack/repos/builtin/packages/rnaquast/package.py
+++ b/var/spack/repos/builtin/packages/rnaquast/package.py
@@ -17,22 +17,22 @@ class Rnaquast(Package):
using third-party software."""
homepage = "https://github.com/ablab/rnaquast"
- url = "https://github.com/ablab/rnaquast/archive/refs/tags/v2.2.0.tar.gz"
+ url = "https://github.com/ablab/rnaquast/archive/refs/tags/v2.2.0.tar.gz"
- maintainers = ['dorton21']
+ maintainers = ["dorton21"]
- version('2.2.0', sha256='117dff9d9c382ba74b7b0ff24bc7b95b9ca6aa701ebf8afd22943aa54e382334')
+ version("2.2.0", sha256="117dff9d9c382ba74b7b0ff24bc7b95b9ca6aa701ebf8afd22943aa54e382334")
- depends_on('python@2.5:', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-joblib', type=('build', 'run'))
- depends_on('py-gffutils', type=('build', 'run'))
- depends_on('gmap-gsnap', type=('build', 'run'))
- depends_on('blast-plus', type=('build', 'run'))
+ depends_on("python@2.5:", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-joblib", type=("build", "run"))
+ depends_on("py-gffutils", type=("build", "run"))
+ depends_on("gmap-gsnap", type=("build", "run"))
+ depends_on("blast-plus", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
- os.rename('%s/rnaQUAST.py' % prefix.bin, '%s/rnaQUAST' % prefix.bin)
+ install_tree(".", prefix.bin)
+ os.rename("%s/rnaQUAST.py" % prefix.bin, "%s/rnaQUAST" % prefix.bin)
def setup_run_environment(self, env):
- env.prepend_path('PATH', prefix.bin)
+ env.prepend_path("PATH", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/rnaz/package.py b/var/spack/repos/builtin/packages/rnaz/package.py
index d9fd8a30e8..c043411696 100644
--- a/var/spack/repos/builtin/packages/rnaz/package.py
+++ b/var/spack/repos/builtin/packages/rnaz/package.py
@@ -10,13 +10,13 @@ class Rnaz(AutotoolsPackage):
"""RNAz - predicting structural noncoding RNAs."""
homepage = "https://www.tbi.univie.ac.at/software/RNAz"
- url = "https://www.tbi.univie.ac.at/software/RNAz/RNAz-2.1.tar.gz"
- git = "https://github.com/ViennaRNA/RNAz.git"
+ url = "https://www.tbi.univie.ac.at/software/RNAz/RNAz-2.1.tar.gz"
+ git = "https://github.com/ViennaRNA/RNAz.git"
- version('2.1.1', commit='f2c19f7237f2eb3df04f4747c8c11616447ec095')
- version('2.1', sha256='b32ec0361889319f2058f224d6c456c853dbc30dff4dba90c53a8f9fd7b83be5')
+ version("2.1.1", commit="f2c19f7237f2eb3df04f4747c8c11616447ec095")
+ version("2.1", sha256="b32ec0361889319f2058f224d6c456c853dbc30dff4dba90c53a8f9fd7b83be5")
- with when('@2.1.1:'):
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ with when("@2.1.1:"):
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/rng-tools/package.py b/var/spack/repos/builtin/packages/rng-tools/package.py
index 290a6f5428..434d28718b 100644
--- a/var/spack/repos/builtin/packages/rng-tools/package.py
+++ b/var/spack/repos/builtin/packages/rng-tools/package.py
@@ -13,19 +13,19 @@ class RngTools(AutotoolsPackage):
machinery."""
homepage = "https://github.com/nhorman/rng-tools/"
- url = "https://github.com/nhorman/rng-tools/archive/v6.10.tar.gz"
+ url = "https://github.com/nhorman/rng-tools/archive/v6.10.tar.gz"
- version('6.10', sha256='2e462821aaa7d6dc24646aa0d2239d97cb8b07b3e60715159a9edcaa9189f8ef')
- version('6.9', sha256='a57a7f51a2e3c0faa8afb979709a4c0cbea36d0b52fd835b104f8fb4fd1fa610')
- version('6.8', sha256='93e548d4aaf2a1897d4b677f41d8473db1c7f57648adeca18cafa1907e410bb3')
+ version("6.10", sha256="2e462821aaa7d6dc24646aa0d2239d97cb8b07b3e60715159a9edcaa9189f8ef")
+ version("6.9", sha256="a57a7f51a2e3c0faa8afb979709a4c0cbea36d0b52fd835b104f8fb4fd1fa610")
+ version("6.8", sha256="93e548d4aaf2a1897d4b677f41d8473db1c7f57648adeca18cafa1907e410bb3")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('gettext')
- depends_on('curl')
- depends_on('jansson')
- depends_on('libp11')
- depends_on('librtlsdr')
- depends_on('sysfsutils')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("gettext")
+ depends_on("curl")
+ depends_on("jansson")
+ depends_on("libp11")
+ depends_on("librtlsdr")
+ depends_on("sysfsutils")
diff --git a/var/spack/repos/builtin/packages/rngstreams/package.py b/var/spack/repos/builtin/packages/rngstreams/package.py
index e56d6d188a..4cb2ffaac5 100644
--- a/var/spack/repos/builtin/packages/rngstreams/package.py
+++ b/var/spack/repos/builtin/packages/rngstreams/package.py
@@ -10,6 +10,6 @@ class Rngstreams(AutotoolsPackage):
"""Multiple independent streams of pseudo-random numbers."""
homepage = "https://statmath.wu.ac.at/software/RngStreams"
- url = "https://statmath.wu.ac.at/software/RngStreams/rngstreams-1.0.1.tar.gz"
+ url = "https://statmath.wu.ac.at/software/RngStreams/rngstreams-1.0.1.tar.gz"
- version('1.0.1', sha256='966195febb9fb9417e4e361948843425aee12efc8b4e85332acbcd011ff2d9b0')
+ version("1.0.1", sha256="966195febb9fb9417e4e361948843425aee12efc8b4e85332acbcd011ff2d9b0")
diff --git a/var/spack/repos/builtin/packages/rnpletal/package.py b/var/spack/repos/builtin/packages/rnpletal/package.py
index 958775b83e..85b90329c7 100644
--- a/var/spack/repos/builtin/packages/rnpletal/package.py
+++ b/var/spack/repos/builtin/packages/rnpletal/package.py
@@ -18,36 +18,40 @@ class Rnpletal(AutotoolsPackage):
details."""
homepage = "http://laplace.physics.ubc.ca/People/matt/Rnpl/index.html"
- url = "ftp://laplace.physics.ubc.ca/pub/rnpletal/rnpletal.tar.gz"
+ 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")
+ 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')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
parallel = False
@@ -56,28 +60,26 @@ class Rnpletal(AutotoolsPackage):
# 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')
+ 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:
+ 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:
+ 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:
+ 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
+ ["libbbhutil", "librnpl"], root=self.prefix, shared=False, recursive=True
)
diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py
index c1d0d612f7..b15feb0a52 100644
--- a/var/spack/repos/builtin/packages/rocalution/package.py
+++ b/var/spack/repos/builtin/packages/rocalution/package.py
@@ -10,107 +10,184 @@ from spack.package import *
class Rocalution(CMakePackage):
"""rocALUTION is a sparse linear algebra library with focus on
- exploring fine-grained parallelism on top of AMD's Radeon Open
- eCosystem Platform ROCm runtime and toolchains, targeting modern
- CPU and GPU platforms. Based on C++ and HIP, it provides a portable,
- generic and flexible design that allows seamless integration with
- other scientific software packages."""
+ exploring fine-grained parallelism on top of AMD's Radeon Open
+ eCosystem Platform ROCm runtime and toolchains, targeting modern
+ CPU and GPU platforms. Based on C++ and HIP, it provides a portable,
+ generic and flexible design that allows seamless integration with
+ other scientific software packages."""
homepage = "https://github.com/ROCmSoftwarePlatform/rocALUTION"
- git = "https://github.com/ROCmSoftwarePlatform/rocALUTION.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocalution_hip']
-
- version('5.1.3', sha256='7febe8179f120cbe58ea255bc233ad5d1b4c106f3934eb8e670135a8b7bd09c7')
- version('5.1.0', sha256='d9122189103ebafe7ec5aeb50e60f3e02af5c2747021f9071aab91e7f875c29e')
- version('5.0.2', sha256='b01adaf858b9c3683523b087a55fafb655864f5db8e2a1acdbf588f53d6972e2')
- version('5.0.0', sha256='df9e7eacb8cc1bd5c7c4071b20356a885ee8ae13e6ab5afdabf88a272ab32c7e')
- version('4.5.2', sha256='8be38922320cd9d4fc465a30f0322843849f62c0c7dad2bdbe52290a1b69d2a0')
- version('4.5.0', sha256='191629fef002fd1a0793a6b4fe5a6b8c43ac49d3cd173ba64a91359f54659e5b')
- version('4.3.1', sha256='d3a7b9290f99bdc7382d1d5259c3f5e0e66a43aef4d05b7c2cd78b0e4a5c59bc', deprecated=True)
- version('4.3.0', sha256='f064b96f9f04cf22b89f95f72147fcfef28e2c56ecd764008c060f869c74c144', deprecated=True)
- version('4.2.0', sha256='0424adf522ded41de5b77666e04464a25c73c92e34025762f30837f90a797445', deprecated=True)
- version('4.1.0', sha256='3f61be18a02dff0c152a0ad7eb4779c43dd744b0ba172aa6a4267fc596d582e4', deprecated=True)
- version('4.0.0', sha256='80a224a5c19dea290e6edc0e170c3dff2e726c2b3105d599ec6858cc66f076a9', deprecated=True)
- version('3.10.0', sha256='c24cb9d1a8a1a3118040b8b16dec7c06268bcf157424d3378256cc9eb93f1b58', deprecated=True)
- version('3.9.0', sha256='1ce36801fe1d44f743b46b43345c0cd90d76b73911b2ec97be763f93a35396fb', deprecated=True)
- version('3.8.0', sha256='39e64a29e75c4276163a93596436064c6338770ca72ce7f43711ed8285ed2de5', deprecated=True)
- version('3.7.0', sha256='4d6b20aaaac3bafb7ec084d684417bf578349203b0f9f54168f669e3ec5699f8', deprecated=True)
- version('3.5.0', sha256='be2f78c10c100d7fd9df5dd2403a44700219c2cbabaacf2ea50a6e2241df7bfe', deprecated=True)
+ git = "https://github.com/ROCmSoftwarePlatform/rocALUTION.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocalution_hip"]
+
+ version("5.1.3", sha256="7febe8179f120cbe58ea255bc233ad5d1b4c106f3934eb8e670135a8b7bd09c7")
+ version("5.1.0", sha256="d9122189103ebafe7ec5aeb50e60f3e02af5c2747021f9071aab91e7f875c29e")
+ version("5.0.2", sha256="b01adaf858b9c3683523b087a55fafb655864f5db8e2a1acdbf588f53d6972e2")
+ version("5.0.0", sha256="df9e7eacb8cc1bd5c7c4071b20356a885ee8ae13e6ab5afdabf88a272ab32c7e")
+ version("4.5.2", sha256="8be38922320cd9d4fc465a30f0322843849f62c0c7dad2bdbe52290a1b69d2a0")
+ version("4.5.0", sha256="191629fef002fd1a0793a6b4fe5a6b8c43ac49d3cd173ba64a91359f54659e5b")
+ version(
+ "4.3.1",
+ sha256="d3a7b9290f99bdc7382d1d5259c3f5e0e66a43aef4d05b7c2cd78b0e4a5c59bc",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="f064b96f9f04cf22b89f95f72147fcfef28e2c56ecd764008c060f869c74c144",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="0424adf522ded41de5b77666e04464a25c73c92e34025762f30837f90a797445",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="3f61be18a02dff0c152a0ad7eb4779c43dd744b0ba172aa6a4267fc596d582e4",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="80a224a5c19dea290e6edc0e170c3dff2e726c2b3105d599ec6858cc66f076a9",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="c24cb9d1a8a1a3118040b8b16dec7c06268bcf157424d3378256cc9eb93f1b58",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="1ce36801fe1d44f743b46b43345c0cd90d76b73911b2ec97be763f93a35396fb",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="39e64a29e75c4276163a93596436064c6338770ca72ce7f43711ed8285ed2de5",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="4d6b20aaaac3bafb7ec084d684417bf578349203b0f9f54168f669e3ec5699f8",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="be2f78c10c100d7fd9df5dd2403a44700219c2cbabaacf2ea50a6e2241df7bfe",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocprim@' + ver, when='@' + ver)
- for tgt in itertools.chain(['auto'], amdgpu_targets):
- rocblas_tgt = tgt if tgt != 'gfx900:xnack-' else 'gfx900'
- depends_on('rocblas@{0} amdgpu_target={1}'.format(ver, rocblas_tgt),
- when='@{0} amdgpu_target={1}'.format(ver, tgt))
- depends_on('rocsparse@{0} amdgpu_target={1}'.format(ver, tgt),
- when='@{0} amdgpu_target={1}'.format(ver, tgt))
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
-
- for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- for tgt in itertools.chain(['auto'], amdgpu_targets):
- depends_on('rocrand@{0} amdgpu_target={1}'.format(ver, tgt),
- when='@{0} amdgpu_target={1}'.format(ver, tgt))
-
- depends_on('googletest@1.10.0:', type='test')
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocprim@" + ver, when="@" + ver)
+ for tgt in itertools.chain(["auto"], amdgpu_targets):
+ rocblas_tgt = tgt if tgt != "gfx900:xnack-" else "gfx900"
+ depends_on(
+ "rocblas@{0} amdgpu_target={1}".format(ver, rocblas_tgt),
+ when="@{0} amdgpu_target={1}".format(ver, tgt),
+ )
+ depends_on(
+ "rocsparse@{0} amdgpu_target={1}".format(ver, tgt),
+ when="@{0} amdgpu_target={1}".format(ver, tgt),
+ )
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+
+ for ver in [
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ for tgt in itertools.chain(["auto"], amdgpu_targets):
+ depends_on(
+ "rocrand@{0} amdgpu_target={1}".format(ver, tgt),
+ when="@{0} amdgpu_target={1}".format(ver, tgt),
+ )
+
+ depends_on("googletest@1.10.0:", type="test")
def check(self):
- exe = join_path(self.build_directory, 'clients', 'staging', 'rocalution-test')
+ exe = join_path(self.build_directory, "clients", "staging", "rocalution-test")
self.run_test(exe)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def patch(self):
- if '@3.9.0:' in self.spec:
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+ if "@3.9.0:" in self.spec:
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
- with working_dir('src/base/hip'):
- match = '^#include <rocrand/rocrand.hpp>'
+ with working_dir("src/base/hip"):
+ match = "^#include <rocrand/rocrand.hpp>"
substitute = "#include <rocrand.hpp>"
- files = ['hip_rand_normal.hpp', 'hip_rand_uniform.hpp']
+ files = ["hip_rand_normal.hpp", "hip_rand_uniform.hpp"]
filter_file(match, substitute, *files, **kwargs)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
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'),
- self.define('BUILD_CLIENTS_TESTS', self.run_tests),
+ 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"),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests),
]
- if 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py
index ae61f2961e..04c5f683ef 100644
--- a/var/spack/repos/builtin/packages/rocblas/package.py
+++ b/var/spack/repos/builtin/packages/rocblas/package.py
@@ -12,179 +12,241 @@ class Rocblas(CMakePackage):
"""Radeon Open Compute BLAS library"""
homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS/"
- git = "https://github.com/ROCmSoftwarePlatform/rocBLAS.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['cgmb', 'srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['librocblas']
-
- version('develop', branch='develop')
- version('master', branch='master')
- version('5.1.3', sha256='915374431db8f0cecdc2bf318a0ad33c3a8eceedc461d7a06b92ccb02b07313c')
- version('5.1.0', sha256='efa0c424b5ada697314aa8a78c19c93ade15f1612c4bfc8c53d71d1c9719aaa3')
- version('5.0.2', sha256='358a0902fc279bfc80205659a90e96269cb7d83a80386b121e4e3dfe221fec23')
- version('5.0.0', sha256='4b01fba937ada774f09c7ccb5e9fdc66e1a5d46c130be833e3706e6b5841b1da')
- version('4.5.2', sha256='15d725e38f91d1ff7772c4204b97c1515af58fa7b8ec2a2014b99b6d337909c4')
- version('4.5.0', sha256='22d15a1389a10f1324f5e0ceac1a6ec0758a2801a18419a55e37e2bc63793eaf')
- version('4.3.1', sha256='ad3c09573cb2bcfdb12bfb5a05e85f9c95073993fd610981df24dda792727b4b', deprecated=True)
- version('4.3.0', sha256='b15a66c861b3394cb83c56b64530b2c7e57b2b4c50f55d0e66bb3d1483b50ec4', deprecated=True)
- version('4.2.0', sha256='547f6d5d38a41786839f01c5bfa46ffe9937b389193a8891f251e276a1a47fb0', deprecated=True)
- version('4.1.0', sha256='8be20c722bab169bc4badd79a9eab9a1aa338e0e5ff58ad85ba6bf09e8ac60f4', deprecated=True)
- version('4.0.0', sha256='78e37a7597b581d90a29e4b956fa65d0f8d1c8fb51667906b5fe2a223338d401', deprecated=True)
- version('3.10.0', sha256='9bfd0cf99662192b1ac105ab387531cfa9338ae615db80ed690c6a14d987e0e8', deprecated=True)
- version('3.9.0', sha256='3ecd2d9fd2be0e1697a191d143a2d447b53a91ae01afb50231d591136ad5e2fe', deprecated=True)
- version('3.8.0', sha256='568a9da0360349b1b134d74cc67cbb69b43c06eeca7c33b50072cd26cd3d8900', deprecated=True)
- version('3.7.0', sha256='9425db5f8e8b6f7fb172d09e2a360025b63a4e54414607709efc5acb28819642', deprecated=True)
- version('3.5.0', sha256='8560fabef7f13e8d67da997de2295399f6ec595edfd77e452978c140d5f936f0', deprecated=True)
+ git = "https://github.com/ROCmSoftwarePlatform/rocBLAS.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["cgmb", "srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["librocblas"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("5.1.3", sha256="915374431db8f0cecdc2bf318a0ad33c3a8eceedc461d7a06b92ccb02b07313c")
+ version("5.1.0", sha256="efa0c424b5ada697314aa8a78c19c93ade15f1612c4bfc8c53d71d1c9719aaa3")
+ version("5.0.2", sha256="358a0902fc279bfc80205659a90e96269cb7d83a80386b121e4e3dfe221fec23")
+ version("5.0.0", sha256="4b01fba937ada774f09c7ccb5e9fdc66e1a5d46c130be833e3706e6b5841b1da")
+ version("4.5.2", sha256="15d725e38f91d1ff7772c4204b97c1515af58fa7b8ec2a2014b99b6d337909c4")
+ version("4.5.0", sha256="22d15a1389a10f1324f5e0ceac1a6ec0758a2801a18419a55e37e2bc63793eaf")
+ version(
+ "4.3.1",
+ sha256="ad3c09573cb2bcfdb12bfb5a05e85f9c95073993fd610981df24dda792727b4b",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="b15a66c861b3394cb83c56b64530b2c7e57b2b4c50f55d0e66bb3d1483b50ec4",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="547f6d5d38a41786839f01c5bfa46ffe9937b389193a8891f251e276a1a47fb0",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="8be20c722bab169bc4badd79a9eab9a1aa338e0e5ff58ad85ba6bf09e8ac60f4",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="78e37a7597b581d90a29e4b956fa65d0f8d1c8fb51667906b5fe2a223338d401",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="9bfd0cf99662192b1ac105ab387531cfa9338ae615db80ed690c6a14d987e0e8",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="3ecd2d9fd2be0e1697a191d143a2d447b53a91ae01afb50231d591136ad5e2fe",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="568a9da0360349b1b134d74cc67cbb69b43c06eeca7c33b50072cd26cd3d8900",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="9425db5f8e8b6f7fb172d09e2a360025b63a4e54414607709efc5acb28819642",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="8560fabef7f13e8d67da997de2295399f6ec595edfd77e452978c140d5f936f0",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('tensile', default=True, description='Use Tensile as a backend')
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant("tensile", default=True, description="Use Tensile as a backend")
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
# gfx906, gfx908,gfx803,gfx900 are valid for @:4.0.0
# gfx803,gfx900,gfx:xnack-,gfx908:xnack- are valid gpus for @4.1.0:4.2.0
# gfx803 till gfx1030 are valid gpus for @4.3.0:
- conflicts('amdgpu_target=gfx906', when='@4.0.1:')
- conflicts('amdgpu_target=gfx908', when='@4.0.1:')
- conflicts('amdgpu_target=gfx906:xnack-', when='@:4.0.0')
- conflicts('amdgpu_target=gfx908:xnack-', when='@:4.0.0')
- conflicts('amdgpu_target=gfx90a:xnack+', when='@:4.2.1')
- conflicts('amdgpu_target=gfx90a:xnack-', when='@:4.2.1')
- conflicts('amdgpu_target=gfx1010', when='@:4.2.1')
- conflicts('amdgpu_target=gfx1011', when='@:4.2.1')
- conflicts('amdgpu_target=gfx1012', when='@:4.2.1')
- conflicts('amdgpu_target=gfx1030', when='@:4.2.1')
-
- depends_on('cmake@3.16.8:', type='build', when='@4.2.0:')
- depends_on('cmake@3.8:', type='build', when='@3.9.0:')
- depends_on('cmake@3.5:', type='build')
-
- depends_on('googletest@1.10.0:', type='test')
- depends_on('netlib-lapack@3.7.1:', type='test')
- depends_on('llvm-amdgpu +openmp', type='test')
+ conflicts("amdgpu_target=gfx906", when="@4.0.1:")
+ conflicts("amdgpu_target=gfx908", when="@4.0.1:")
+ conflicts("amdgpu_target=gfx906:xnack-", when="@:4.0.0")
+ conflicts("amdgpu_target=gfx908:xnack-", when="@:4.0.0")
+ conflicts("amdgpu_target=gfx90a:xnack+", when="@:4.2.1")
+ conflicts("amdgpu_target=gfx90a:xnack-", when="@:4.2.1")
+ conflicts("amdgpu_target=gfx1010", when="@:4.2.1")
+ conflicts("amdgpu_target=gfx1011", when="@:4.2.1")
+ conflicts("amdgpu_target=gfx1012", when="@:4.2.1")
+ conflicts("amdgpu_target=gfx1030", when="@:4.2.1")
+
+ depends_on("cmake@3.16.8:", type="build", when="@4.2.0:")
+ depends_on("cmake@3.8:", type="build", when="@3.9.0:")
+ depends_on("cmake@3.5:", type="build")
+
+ depends_on("googletest@1.10.0:", type="test")
+ depends_on("netlib-lapack@3.7.1:", type="test")
+ depends_on("llvm-amdgpu +openmp", type="test")
def check(self):
- if '@4.2.0:' in self.spec:
- exe = join_path(self.build_directory, 'clients', 'staging', 'rocblas-test')
- self.run_test(exe, options=['--gtest_filter=*quick*-*known_bug*'])
-
- depends_on('hip@4.1.0:', when='@4.1.0:')
- depends_on('llvm-amdgpu@4.1.0:', type='build', when='@4.1.0:')
- depends_on('rocm-cmake@master', type='build', when='@master:')
- depends_on('rocm-cmake@4.5.0:', type='build', when='@4.5.0:')
- depends_on('rocm-cmake@4.3.0:', type='build', when='@4.3.0:')
- depends_on('rocm-cmake@3.5.0:', 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
- depends_on('rocminfo@' + ver, type='build', when='@' + ver)
-
- depends_on('python@3.6:', type='build')
-
- with when('+tensile'):
+ if "@4.2.0:" in self.spec:
+ exe = join_path(self.build_directory, "clients", "staging", "rocblas-test")
+ self.run_test(exe, options=["--gtest_filter=*quick*-*known_bug*"])
+
+ depends_on("hip@4.1.0:", when="@4.1.0:")
+ depends_on("llvm-amdgpu@4.1.0:", type="build", when="@4.1.0:")
+ depends_on("rocm-cmake@master", type="build", when="@master:")
+ depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:")
+ depends_on("rocm-cmake@4.3.0:", type="build", when="@4.3.0:")
+ depends_on("rocm-cmake@3.5.0:", 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver)
+ depends_on("rocminfo@" + ver, type="build", when="@" + ver)
+
+ depends_on("python@3.6:", type="build")
+
+ with when("+tensile"):
# default library format since 3.7.0
- depends_on('msgpack-c@3:', when='@3.7:')
+ depends_on("msgpack-c@3:", when="@3.7:")
- depends_on('py-virtualenv', type='build')
- depends_on('perl-file-which', type='build')
- depends_on('py-pyyaml', type='build')
- depends_on('py-wheel', type='build')
- depends_on('py-msgpack', type='build')
- depends_on('py-pip', type='build')
+ depends_on("py-virtualenv", type="build")
+ depends_on("perl-file-which", type="build")
+ depends_on("py-pyyaml", type="build")
+ depends_on("py-wheel", type="build")
+ depends_on("py-msgpack", type="build")
+ depends_on("py-pip", type="build")
for t_version, t_commit in [
- ('@3.5.0', 'f842a1a4427624eff6cbddb2405c36dec9a210cd'),
- ('@3.7.0', 'af71ea890a893e647bf2cf4571a90297d65689ca'),
- ('@3.8.0', '9123205f9b5f95c96ff955695e942d2c3b321cbf'),
- ('@3.9.0', 'b68edc65aaeed08c71b2b8622f69f83498b57d7a'),
- ('@3.10.0', 'ab44bf46b609b5a40053f310bef2ab7511f726ae'),
- ('@4.0.0', 'ab44bf46b609b5a40053f310bef2ab7511f726ae'),
- ('@4.1.0', 'd175277084d3253401583aa030aba121e8875bfd'),
- ('@4.2.0', '3438af228dc812768b20a068b0285122f327fa5b'),
- ('@4.3.0', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf'),
- ('@4.3.1', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf'),
- ('@4.5.0', '0f6a6d1557868d6d563cb1edf167c32c2e34fda0'),
- ('@4.5.2', '0f6a6d1557868d6d563cb1edf167c32c2e34fda0'),
- ('@5.0.0', '75b9aefe5981d85d1df32ddcebf32dab52bfdabd'),
- ('@5.0.2', '75b9aefe5981d85d1df32ddcebf32dab52bfdabd'),
- ('@5.1.0', 'ea38f8661281a37cd81c96cc07868e3f07d2c4da'),
- ('@5.1.3', 'ea38f8661281a37cd81c96cc07868e3f07d2c4da')
+ ("@3.5.0", "f842a1a4427624eff6cbddb2405c36dec9a210cd"),
+ ("@3.7.0", "af71ea890a893e647bf2cf4571a90297d65689ca"),
+ ("@3.8.0", "9123205f9b5f95c96ff955695e942d2c3b321cbf"),
+ ("@3.9.0", "b68edc65aaeed08c71b2b8622f69f83498b57d7a"),
+ ("@3.10.0", "ab44bf46b609b5a40053f310bef2ab7511f726ae"),
+ ("@4.0.0", "ab44bf46b609b5a40053f310bef2ab7511f726ae"),
+ ("@4.1.0", "d175277084d3253401583aa030aba121e8875bfd"),
+ ("@4.2.0", "3438af228dc812768b20a068b0285122f327fa5b"),
+ ("@4.3.0", "9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf"),
+ ("@4.3.1", "9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf"),
+ ("@4.5.0", "0f6a6d1557868d6d563cb1edf167c32c2e34fda0"),
+ ("@4.5.2", "0f6a6d1557868d6d563cb1edf167c32c2e34fda0"),
+ ("@5.0.0", "75b9aefe5981d85d1df32ddcebf32dab52bfdabd"),
+ ("@5.0.2", "75b9aefe5981d85d1df32ddcebf32dab52bfdabd"),
+ ("@5.1.0", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"),
+ ("@5.1.3", "ea38f8661281a37cd81c96cc07868e3f07d2c4da"),
]:
- resource(name='Tensile',
- git='https://github.com/ROCmSoftwarePlatform/Tensile.git',
- commit=t_commit,
- when='{} +tensile'.format(t_version))
-
- for ver in ['master', 'develop']:
- resource(name='Tensile',
- git='https://github.com/ROCmSoftwarePlatform/Tensile.git',
- branch=ver,
- when='@{} +tensile'.format(ver))
+ resource(
+ name="Tensile",
+ git="https://github.com/ROCmSoftwarePlatform/Tensile.git",
+ commit=t_commit,
+ when="{} +tensile".format(t_version),
+ )
+
+ for ver in ["master", "develop"]:
+ resource(
+ name="Tensile",
+ git="https://github.com/ROCmSoftwarePlatform/Tensile.git",
+ branch=ver,
+ when="@{} +tensile".format(ver),
+ )
# Status: https://github.com/ROCmSoftwarePlatform/Tensile/commit/a488f7dadba34f84b9658ba92ce9ec5a0615a087
# Not yet landed in 3.7.0, nor 3.8.0.
- patch('0001-Fix-compilation-error-with-StringRef-to-basic-string.patch', when='@:3.8')
- patch('0002-Fix-rocblas-clients-blas.patch', when='@4.2.0:4.3.1')
- patch('0003-Fix-rocblas-gentest.patch', when='@4.2.0:5.1')
- patch('0004-Find-python.patch', when='@master:')
+ patch("0001-Fix-compilation-error-with-StringRef-to-basic-string.patch", when="@:3.8")
+ patch("0002-Fix-rocblas-clients-blas.patch", when="@4.2.0:4.3.1")
+ patch("0003-Fix-rocblas-gentest.patch", when="@4.2.0:5.1")
+ patch("0004-Find-python.patch", when="@master:")
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('BUILD_CLIENTS_TESTS',
- self.run_tests and '@4.2.0:' in self.spec),
- self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF'),
- self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('RUN_HEADER_TESTING', 'OFF'),
- self.define_from_variant('BUILD_WITH_TENSILE', 'tensile'),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests and "@4.2.0:" in self.spec),
+ self.define("BUILD_CLIENTS_BENCHMARKS", "OFF"),
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
+ self.define("RUN_HEADER_TESTING", "OFF"),
+ self.define_from_variant("BUILD_WITH_TENSILE", "tensile"),
]
if self.run_tests:
- args.append(self.define('LINK_BLIS', 'OFF'))
+ args.append(self.define("LINK_BLIS", "OFF"))
- arch_define_name = 'AMDGPU_TARGETS'
- if '+tensile' in self.spec:
- tensile_path = join_path(self.stage.source_path, 'Tensile')
+ arch_define_name = "AMDGPU_TARGETS"
+ if "+tensile" in self.spec:
+ tensile_path = join_path(self.stage.source_path, "Tensile")
args += [
- self.define('Tensile_TEST_LOCAL_PATH', tensile_path),
- self.define('Tensile_COMPILER', 'hipcc'),
- self.define('Tensile_LOGIC', 'asm_full'),
- self.define('Tensile_CODE_OBJECT_VERSION', 'V3'),
- self.define('BUILD_WITH_TENSILE_HOST', '@3.7.0:' in self.spec)
+ self.define("Tensile_TEST_LOCAL_PATH", tensile_path),
+ self.define("Tensile_COMPILER", "hipcc"),
+ self.define("Tensile_LOGIC", "asm_full"),
+ self.define("Tensile_CODE_OBJECT_VERSION", "V3"),
+ self.define("BUILD_WITH_TENSILE_HOST", "@3.7.0:" in self.spec),
]
- if self.spec.satisfies('@3.7.0:'):
- args.append(self.define('Tensile_LIBRARY_FORMAT', 'msgpack'))
- if self.spec.satisfies('@:4.2.0'):
- arch_define_name = 'Tensile_ARCHITECTURE'
+ if self.spec.satisfies("@3.7.0:"):
+ args.append(self.define("Tensile_LIBRARY_FORMAT", "msgpack"))
+ if self.spec.satisfies("@:4.2.0"):
+ arch_define_name = "Tensile_ARCHITECTURE"
# See https://github.com/ROCmSoftwarePlatform/rocBLAS/commit/c1895ba4bb3f4f5947f3818ebd155cf71a27b634
- if 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant(arch_define_name, 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant(arch_define_name, "amdgpu_target"))
# See https://github.com/ROCmSoftwarePlatform/rocBLAS/issues/1196
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if self.spec.satisfies('@5.2.0:'):
- args.append(self.define('BUILD_FILE_REORG_BACKWARD_COMPATIBILITY', 'ON'))
+ if self.spec.satisfies("@5.2.0:"):
+ args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py
index c4d4568681..047248dc06 100644
--- a/var/spack/repos/builtin/packages/rocfft/package.py
+++ b/var/spack/repos/builtin/packages/rocfft/package.py
@@ -12,101 +12,163 @@ class Rocfft(CMakePackage):
"""Radeon Open Compute FFT library"""
homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT/"
- git = "https://github.com/ROCmSoftwarePlatform/rocFFT.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['librocfft']
-
- version('5.1.3', sha256='b4fcd03c1b07d465bb307ec33cc7fb50036dff688e497c5e52b2dec37f4cb618')
- version('5.1.0', sha256='dc11c9061753ae43a9d5db9c4674aa113a8adaf50818b2701cbb940894147f68')
- version('5.0.2', sha256='30d4bd5fa85185ddafc69fa6d284edd8033c9d77d1e351fa328267242995eb0a')
- version('5.0.0', sha256='c16374dac2f85fbaf145511653e93f6db3151425ce39b282187745c716b67405')
- version('4.5.2', sha256='2724118ca00b9e97ac9578fe0b7e64a82d86c4fb0246d0da88d8ddd9c608b1e1')
- version('4.5.0', sha256='045c1cf1737db6e7ee332c274dacdb565f99c976ed4cc5626a116878dc80a48c')
- version('4.3.1', sha256='fcdc4d12b93d967b6f992b4045da98433eabf2ee0ba84fc6b6f81e380584fbc9', deprecated=True)
- version('4.3.0', sha256='cb5b8f62330bc61b17a3a2fd1500068ee05d48cb51797901dd259dbc84610478', deprecated=True)
- version('4.2.0', sha256='db29c9067f0cfa98bddd3574f6aa7200cfc790cc6da352d19e4696c3f3982163', deprecated=True)
- version('4.1.0', sha256='df23fcb05aae72557461ae3687be7e3b8b78be4132daf1aa9dc07339f4eba0cc', deprecated=True)
- version('4.0.0', sha256='d1d10d270f822e0bab64307313ef163ba449b058bf3352962bbb26d4f4db89d0', deprecated=True)
- version('3.10.0', sha256='9f57226aac7d9a0515e14a5a5b08a85e727de72b3f9c2177daf56749ac2c76ae', deprecated=True)
- version('3.9.0', sha256='9c9c0b7f09bab17250f5101d1605e7a61218eae828a3eb8fe048d607181294ce', deprecated=True)
- version('3.8.0', sha256='ed23009796e2ee7c43dcc24527f2d6b1d7a73dceac06c30384460098d2fe1556', deprecated=True)
- version('3.7.0', sha256='94462e4bd19c2c749fcf6903adbee66d4d3bd345c0246861ff8f40b9d08a6ead', deprecated=True)
- version('3.5.0', sha256='629f02cfecb7de5ad2517b6a8aac6ed4de60d3a9c620413c4d9db46081ac2c88', deprecated=True)
+ git = "https://github.com/ROCmSoftwarePlatform/rocFFT.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["librocfft"]
+
+ version("5.1.3", sha256="b4fcd03c1b07d465bb307ec33cc7fb50036dff688e497c5e52b2dec37f4cb618")
+ version("5.1.0", sha256="dc11c9061753ae43a9d5db9c4674aa113a8adaf50818b2701cbb940894147f68")
+ version("5.0.2", sha256="30d4bd5fa85185ddafc69fa6d284edd8033c9d77d1e351fa328267242995eb0a")
+ version("5.0.0", sha256="c16374dac2f85fbaf145511653e93f6db3151425ce39b282187745c716b67405")
+ version("4.5.2", sha256="2724118ca00b9e97ac9578fe0b7e64a82d86c4fb0246d0da88d8ddd9c608b1e1")
+ version("4.5.0", sha256="045c1cf1737db6e7ee332c274dacdb565f99c976ed4cc5626a116878dc80a48c")
+ version(
+ "4.3.1",
+ sha256="fcdc4d12b93d967b6f992b4045da98433eabf2ee0ba84fc6b6f81e380584fbc9",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="cb5b8f62330bc61b17a3a2fd1500068ee05d48cb51797901dd259dbc84610478",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="db29c9067f0cfa98bddd3574f6aa7200cfc790cc6da352d19e4696c3f3982163",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="df23fcb05aae72557461ae3687be7e3b8b78be4132daf1aa9dc07339f4eba0cc",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="d1d10d270f822e0bab64307313ef163ba449b058bf3352962bbb26d4f4db89d0",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="9f57226aac7d9a0515e14a5a5b08a85e727de72b3f9c2177daf56749ac2c76ae",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="9c9c0b7f09bab17250f5101d1605e7a61218eae828a3eb8fe048d607181294ce",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="ed23009796e2ee7c43dcc24527f2d6b1d7a73dceac06c30384460098d2fe1556",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="94462e4bd19c2c749fcf6903adbee66d4d3bd345c0246861ff8f40b9d08a6ead",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="629f02cfecb7de5ad2517b6a8aac6ed4de60d3a9c620413c4d9db46081ac2c88",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('amdgpu_target_sram_ecc', values=auto_or_any_combination_of(*amdgpu_targets))
-
- depends_on('cmake@3.16:', type='build', when='@4.5.0:')
- depends_on('cmake@3.5:', type='build')
- depends_on('python@3.6:', type='build', when='@5.0.0:')
- depends_on('sqlite@3.36:', when='@5.0.0:')
-
- depends_on('googletest@1.10.0:', type='test')
- depends_on('fftw@3.3.8:', type='test')
- depends_on('boost@1.64.0: +program_options', type='test')
- depends_on('llvm-amdgpu +openmp', type='test')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant("amdgpu_target_sram_ecc", values=auto_or_any_combination_of(*amdgpu_targets))
+
+ depends_on("cmake@3.16:", type="build", when="@4.5.0:")
+ depends_on("cmake@3.5:", type="build")
+ depends_on("python@3.6:", type="build", when="@5.0.0:")
+ depends_on("sqlite@3.36:", when="@5.0.0:")
+
+ depends_on("googletest@1.10.0:", type="test")
+ depends_on("fftw@3.3.8:", type="test")
+ depends_on("boost@1.64.0: +program_options", type="test")
+ depends_on("llvm-amdgpu +openmp", type="test")
def check(self):
- exe = join_path(self.build_directory, 'clients', 'staging', 'rocfft-test')
- self.run_test(exe, options='--gtest_filter=mix*:adhoc*')
-
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
-
- patch('0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch', when='@5.0.0:5.0.2')
- patch('0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch', when='@4.2.0:4.3.1')
- patch('0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch', when='@4.5.0:')
+ exe = join_path(self.build_directory, "clients", "staging", "rocfft-test")
+ self.run_test(exe, options="--gtest_filter=mix*:adhoc*")
+
+ for ver in [
+ "3.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+
+ patch("0001-Improve-compilation-by-using-sqlite-recipe-for-rocfft.patch", when="@5.0.0:5.0.2")
+ patch("0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch", when="@4.2.0:4.3.1")
+ patch("0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch", when="@4.5.0:")
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('BUILD_CLIENTS_TESTS', self.run_tests),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests),
]
- tgt = self.spec.variants['amdgpu_target']
-
- if 'auto' not in tgt:
- if '@:3.8.0' in self.spec:
- args.append(self.define(
- 'CMAKE_CXX_FLAGS',
- '--amdgpu-target={0}'.format(",".join(tgt.value))))
+ tgt = self.spec.variants["amdgpu_target"]
+
+ if "auto" not in tgt:
+ if "@:3.8.0" in self.spec:
+ args.append(
+ self.define(
+ "CMAKE_CXX_FLAGS", "--amdgpu-target={0}".format(",".join(tgt.value))
+ )
+ )
else:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
# From version 3.9 and above we have AMDGPU_TARGETS_SRAM_ECC
- tgt_sram = self.spec.variants['amdgpu_target_sram_ecc']
+ tgt_sram = self.spec.variants["amdgpu_target_sram_ecc"]
- if 'auto' not in tgt_sram and self.spec.satisfies('@3.9.0:4.0.0'):
- args.append(self.define_from_variant(
- 'AMDGPU_TARGETS_SRAM_ECC', 'amdgpu_target_sram_ecc'))
+ if "auto" not in tgt_sram and self.spec.satisfies("@3.9.0:4.0.0"):
+ args.append(
+ self.define_from_variant("AMDGPU_TARGETS_SRAM_ECC", "amdgpu_target_sram_ecc")
+ )
# See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if self.spec.satisfies('@5.0.0:'):
- args.append(self.define('SQLITE_USE_SYSTEM_PACKAGE', 'ON'))
+ if self.spec.satisfies("@5.0.0:"):
+ args.append(self.define("SQLITE_USE_SYSTEM_PACKAGE", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/rocketmq/package.py b/var/spack/repos/builtin/packages/rocketmq/package.py
index ef2b426048..b8bdb37801 100644
--- a/var/spack/repos/builtin/packages/rocketmq/package.py
+++ b/var/spack/repos/builtin/packages/rocketmq/package.py
@@ -14,16 +14,16 @@ class Rocketmq(Package):
"""
homepage = "https://rocketmq.apache.org/"
- url = "https://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip"
+ url = "https://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip"
- version('4.6.0', sha256='584910d50639297808dd0b86fcdfaf431efd9607009a44c6258d9a0e227748fe')
- version('4.5.2', sha256='f7711ef9c203d7133e70e0e1e887025d7dd80d29f6d5283ca6022b12576b8aba')
- version('4.5.1', sha256='0c46e4b652b007d07e9c456eb2e275126b9210c27cd56bee518809f33c8ed437')
- version('4.5.0', sha256='d75dc26291b47413f7c565bc65499501e3499f01beb713246586f72844e31042')
- version('4.4.0', sha256='8a948e240e8d2ebbf4c40c180105d088a937f82a594cd1f2ae527b20349f1d34')
- version('4.3.2', sha256='e31210a86266ee218eb6ff4f8ca6e211439895459c3bdad162067b573d9e3415')
+ version("4.6.0", sha256="584910d50639297808dd0b86fcdfaf431efd9607009a44c6258d9a0e227748fe")
+ version("4.5.2", sha256="f7711ef9c203d7133e70e0e1e887025d7dd80d29f6d5283ca6022b12576b8aba")
+ version("4.5.1", sha256="0c46e4b652b007d07e9c456eb2e275126b9210c27cd56bee518809f33c8ed437")
+ version("4.5.0", sha256="d75dc26291b47413f7c565bc65499501e3499f01beb713246586f72844e31042")
+ version("4.4.0", sha256="8a948e240e8d2ebbf4c40c180105d088a937f82a594cd1f2ae527b20349f1d34")
+ version("4.3.2", sha256="e31210a86266ee218eb6ff4f8ca6e211439895459c3bdad162067b573d9e3415")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/rocksdb/package.py b/var/spack/repos/builtin/packages/rocksdb/package.py
index 419a3f8263..aeae01478a 100644
--- a/var/spack/repos/builtin/packages/rocksdb/package.py
+++ b/var/spack/repos/builtin/packages/rocksdb/package.py
@@ -10,126 +10,124 @@ class Rocksdb(MakefilePackage):
"""RocksDB: A Persistent Key-Value Store for Flash and RAM Storage"""
homepage = "https://github.com/facebook/rocksdb"
- url = 'https://github.com/facebook/rocksdb/archive/v6.5.3.tar.gz'
- git = 'https://github.com/facebook/rocksdb.git'
-
- version('master', git=git, branch='master', submodules=True)
- version('7.2.2', sha256='c4ea6bd2e3ffe3f0f8921c699234d59108c9122d61b0ba2aa78358642a7b614e')
- version('6.20.3', sha256='c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca')
- version('6.19.3', sha256='5c19ffefea2bbe4c275d0c60194220865f508f371c64f42e802b4a85f065af5b')
- version('6.11.4', sha256='6793ef000a933af4a834b59b0cd45d3a03a3aac452a68ae669fb916ddd270532')
- version('6.7.3', sha256='c4d1397b58e4801b5fd7c3dd9175e6ae84541119cbebb739fe17d998f1829e81')
- version('6.5.3', sha256='6dc023a11d61d00c8391bd44f26ba7db06c44be228c10b552edc84e02d7fbde2')
- version('5.18.3', sha256='7fb6738263d3f2b360d7468cf2ebe333f3109f3ba1ff80115abd145d75287254')
- version('5.17.2', sha256='101f05858650a810c90e4872338222a1a3bf3b24de7b7d74466814e6a95c2d28')
- version('5.16.6', sha256='f0739edce1707568bdfb36a77638fd5bae287ca21763ce3e56cf0bfae8fff033')
- version('5.15.10', sha256='26d5d4259fa352ae1604b5b4d275f947cacc006f4f7d2ef0b815056601b807c0')
-
- variant('bz2', default=False, description='Enable bz2 compression support')
- variant('lz4', default=True, description='Enable lz4 compression support')
- variant('shared', default=True, description='Build shared library')
- variant('snappy', default=False, description='Enable snappy compression support')
- variant('static', default=True, description='Build static library')
- variant('zlib', default=True, description='Enable zlib compression support')
- variant('zstd', default=False, description='Enable zstandard compression support')
- variant('tbb', default=False, description='Enable Intel TBB support')
-
- depends_on('bzip2', when='+bz2')
- depends_on('gflags')
- depends_on('lz4', when='+lz4')
- depends_on('snappy', when='+snappy')
- depends_on('zlib', when='+zlib')
- depends_on('zstd', when='+zstd')
- depends_on('tbb', when='+tbb')
+ url = "https://github.com/facebook/rocksdb/archive/v6.5.3.tar.gz"
+ git = "https://github.com/facebook/rocksdb.git"
+
+ version("master", git=git, branch="master", submodules=True)
+ version("7.2.2", sha256="c4ea6bd2e3ffe3f0f8921c699234d59108c9122d61b0ba2aa78358642a7b614e")
+ version("6.20.3", sha256="c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca")
+ version("6.19.3", sha256="5c19ffefea2bbe4c275d0c60194220865f508f371c64f42e802b4a85f065af5b")
+ version("6.11.4", sha256="6793ef000a933af4a834b59b0cd45d3a03a3aac452a68ae669fb916ddd270532")
+ version("6.7.3", sha256="c4d1397b58e4801b5fd7c3dd9175e6ae84541119cbebb739fe17d998f1829e81")
+ version("6.5.3", sha256="6dc023a11d61d00c8391bd44f26ba7db06c44be228c10b552edc84e02d7fbde2")
+ version("5.18.3", sha256="7fb6738263d3f2b360d7468cf2ebe333f3109f3ba1ff80115abd145d75287254")
+ version("5.17.2", sha256="101f05858650a810c90e4872338222a1a3bf3b24de7b7d74466814e6a95c2d28")
+ version("5.16.6", sha256="f0739edce1707568bdfb36a77638fd5bae287ca21763ce3e56cf0bfae8fff033")
+ version("5.15.10", sha256="26d5d4259fa352ae1604b5b4d275f947cacc006f4f7d2ef0b815056601b807c0")
+
+ variant("bz2", default=False, description="Enable bz2 compression support")
+ variant("lz4", default=True, description="Enable lz4 compression support")
+ variant("shared", default=True, description="Build shared library")
+ variant("snappy", default=False, description="Enable snappy compression support")
+ variant("static", default=True, description="Build static library")
+ variant("zlib", default=True, description="Enable zlib compression support")
+ variant("zstd", default=False, description="Enable zstandard compression support")
+ variant("tbb", default=False, description="Enable Intel TBB support")
+
+ depends_on("bzip2", when="+bz2")
+ depends_on("gflags")
+ depends_on("lz4", when="+lz4")
+ depends_on("snappy", when="+snappy")
+ depends_on("zlib", when="+zlib")
+ depends_on("zstd", when="+zstd")
+ depends_on("tbb", when="+tbb")
# https://github.com/facebook/rocksdb/issues/8286
- patch('pkg-config.patch', when='@6.13.2:6.27.3')
- patch('pkg-config-6.28.patch', when='@6.28.2:')
+ patch("pkg-config.patch", when="@6.13.2:6.27.3")
+ patch("pkg-config-6.28.patch", when="@6.28.2:")
- conflicts('~shared~static', msg='have to build one type of library')
+ conflicts("~shared~static", msg="have to build one type of library")
- phases = ['install']
+ phases = ["install"]
def patch(self):
- filter_file(
- '-march=native', '',
- join_path('build_tools', 'build_detect_platform')
- )
+ filter_file("-march=native", "", join_path("build_tools", "build_detect_platform"))
def install(self, spec, prefix):
cflags = []
ldflags = []
- if spec.satisfies('%gcc@9:'):
- cflags.append('-Wno-error=deprecated-copy')
- cflags.append('-Wno-error=pessimizing-move')
- cflags.append('-Wno-error=redundant-move')
+ if spec.satisfies("%gcc@9:"):
+ cflags.append("-Wno-error=deprecated-copy")
+ cflags.append("-Wno-error=pessimizing-move")
+ cflags.append("-Wno-error=redundant-move")
- if '+zlib' in self.spec:
- cflags.append('-I' + self.spec['zlib'].prefix.include)
- ldflags.append(self.spec['zlib'].libs.ld_flags)
+ if "+zlib" in self.spec:
+ cflags.append("-I" + self.spec["zlib"].prefix.include)
+ ldflags.append(self.spec["zlib"].libs.ld_flags)
else:
- env['ROCKSDB_DISABLE_ZLIB'] = 'YES'
+ env["ROCKSDB_DISABLE_ZLIB"] = "YES"
- if '+bz2' in self.spec:
- cflags.append('-I' + self.spec['bz2'].prefix.include)
- ldflags.append(self.spec['bz2'].libs.ld_flags)
+ if "+bz2" in self.spec:
+ cflags.append("-I" + self.spec["bz2"].prefix.include)
+ ldflags.append(self.spec["bz2"].libs.ld_flags)
else:
- env['ROCKSDB_DISABLE_BZIP'] = 'YES'
+ env["ROCKSDB_DISABLE_BZIP"] = "YES"
- if '+tbb' in self.spec:
- cflags.append(spec['tbb'].headers.cpp_flags)
- ldflags.append('-L' + spec['tbb'].prefix.lib)
+ if "+tbb" in self.spec:
+ cflags.append(spec["tbb"].headers.cpp_flags)
+ ldflags.append("-L" + spec["tbb"].prefix.lib)
else:
- env['ROCKSDB_DISABLE_TBB'] = 'YES'
+ env["ROCKSDB_DISABLE_TBB"] = "YES"
- for pkg in ['lz4', 'snappy', 'zstd']:
- if '+' + pkg in self.spec:
+ for pkg in ["lz4", "snappy", "zstd"]:
+ if "+" + pkg in self.spec:
cflags.append(self.spec[pkg].headers.cpp_flags)
ldflags.append(self.spec[pkg].libs.ld_flags)
else:
- env['ROCKSDB_DISABLE_' + pkg.upper()] = 'YES'
+ env["ROCKSDB_DISABLE_" + pkg.upper()] = "YES"
- cflags.append(self.spec['gflags'].headers.cpp_flags)
- ldflags.append(self.spec['gflags'].libs.ld_flags)
+ cflags.append(self.spec["gflags"].headers.cpp_flags)
+ ldflags.append(self.spec["gflags"].libs.ld_flags)
- env['CFLAGS'] = ' '.join(cflags)
- env['PLATFORM_FLAGS'] = ' '.join(ldflags)
+ env["CFLAGS"] = " ".join(cflags)
+ env["PLATFORM_FLAGS"] = " ".join(ldflags)
- if self.spec.satisfies('@6.13.2:'):
- env['PREFIX'] = self.spec.prefix
+ if self.spec.satisfies("@6.13.2:"):
+ env["PREFIX"] = self.spec.prefix
else:
- env['INSTALL_PATH'] = self.spec.prefix
+ env["INSTALL_PATH"] = self.spec.prefix
- if '+static' in spec:
- make('install-static')
+ if "+static" in spec:
+ make("install-static")
# We need to clean before building the shared library, otherwise
# we might end up with errors regarding missing -fPIC.
- if '+static+shared' in spec:
- make('clean')
+ if "+static+shared" in spec:
+ make("clean")
- if '+shared' in spec:
- make('install-shared')
+ if "+shared" in spec:
+ make("install-shared")
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
- if self.spec.satisfies('@6.13.2:'):
+ if self.spec.satisfies("@6.13.2:"):
return
- libdir = self.spec['rocksdb'].libs.directories[0]
- pkg_path = join_path(libdir, 'pkgconfig')
+ libdir = self.spec["rocksdb"].libs.directories[0]
+ pkg_path = join_path(libdir, "pkgconfig")
mkdirp(pkg_path)
- with open(join_path(pkg_path, 'rocksdb.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(libdir))
- f.write('includedir={0}\n'.format(self.prefix.include))
- f.write('\n')
- f.write('Name: rocksdb\n')
- f.write('Description: RocksDB: A Persistent Key-Value Store for'
- ' Flash and RAM Storage\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -lrocksdb -ldl\n')
+ with open(join_path(pkg_path, "rocksdb.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(libdir))
+ f.write("includedir={0}\n".format(self.prefix.include))
+ f.write("\n")
+ f.write("Name: rocksdb\n")
+ f.write(
+ "Description: RocksDB: A Persistent Key-Value Store for" " Flash and RAM Storage\n"
+ )
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -lrocksdb -ldl\n")
diff --git a/var/spack/repos/builtin/packages/rockstar/package.py b/var/spack/repos/builtin/packages/rockstar/package.py
index 525c281e6e..7be4993abc 100644
--- a/var/spack/repos/builtin/packages/rockstar/package.py
+++ b/var/spack/repos/builtin/packages/rockstar/package.py
@@ -13,36 +13,36 @@ class Rockstar(MakefilePackage):
homepage = "https://bitbucket.org/gfcstanford/rockstar"
- version('develop', git='https://bitbucket.org/gfcstanford/rockstar.git')
- version('yt', hg='https://bitbucket.org/MatthewTurk/rockstar')
+ version("develop", git="https://bitbucket.org/gfcstanford/rockstar.git")
+ version("yt", hg="https://bitbucket.org/MatthewTurk/rockstar")
- variant('hdf5', description='Build rockstar with HDF5 support', default=False)
+ variant("hdf5", description="Build rockstar with HDF5 support", default=False)
- patch('adjust_buildscript.patch')
+ patch("adjust_buildscript.patch")
- depends_on('hdf5', when='+hdf5')
+ depends_on("hdf5", when="+hdf5")
def build(self, spec, prefix):
# Set environment appropriately for HDF5
- if '+hdf5' in spec:
- os.environ['HDF5_INC_DIR'] = spec['hdf5'].prefix.include
- os.environ['HDF5_LIB_DIR'] = spec['hdf5'].prefix.lib
+ if "+hdf5" in spec:
+ os.environ["HDF5_INC_DIR"] = spec["hdf5"].prefix.include
+ os.environ["HDF5_LIB_DIR"] = spec["hdf5"].prefix.lib
# Build depending on whether hdf5 is to be used
- if '+hdf5' in spec:
- make('with_hdf5')
+ if "+hdf5" in spec:
+ make("with_hdf5")
else:
make()
# Build rockstar library
- make('lib')
+ make("lib")
def install(self, spec, prefix):
# Install all files and directories
- install_tree('.', prefix)
+ install_tree(".", prefix)
mkdir(prefix.bin)
mkdir(prefix.lib)
- install('rockstar', join_path(prefix.bin, 'rockstar'))
- install('librockstar.so', join_path(prefix.lib, 'librockstar.so'))
+ install("rockstar", join_path(prefix.bin, "rockstar"))
+ install("librockstar.so", join_path(prefix.lib, "librockstar.so"))
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 6a939198f8..1f1e74542f 100644
--- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py
+++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py
@@ -11,39 +11,100 @@ class RocmBandwidthTest(CMakePackage):
"""Test to measure PciE bandwidth on ROCm platforms"""
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-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('master', branch='master')
-
- version('5.1.3', sha256='6a6e7fb998c886951db75dcf34dca523d9caaff8d0ccf2b7431504a1808b1ff3')
- version('5.1.0', sha256='18fe51f0ba61760fc89ffc81f737fd4fa20fb4b00df3f35145be77c3e0a6162b')
- version('5.0.2', sha256='c93f7dbb37233aa32d81057fa8b3fa88d7c7be9b7916430b5ffc701600a5ff45')
- version('5.0.0', sha256='b33c6a12ad8de1d7ea9b8b380b8fa5db6b601ed426c3d3940134863f7d10740f')
- version('4.5.2', sha256='559ca7ef582d81047c5dd5a908f3989cb2694e89577f7f556214e324ba65e75e')
- version('4.5.0', sha256='4d20a6017ca6975df98f3ca61ba95fa0c7c62fbf63cd6abae3396c30a423933f')
- version('4.3.1', sha256='a4804c28586457c231594b4e7689872eaf91972119d892325468f3fe8fdbe5ef', deprecated=True)
- version('4.3.0', sha256='c6eb406cd2836af61dd5987f6b761340a1be20f66a9325f480423d10b9d3ec1b', deprecated=True)
- version('4.2.0', sha256='d268365e3bb8031c1201c05e705074d1fd794d236843f80064855cf31e4412f5', deprecated=True)
- version('4.1.0', sha256='4e34b60a7e4090d6475f0cdd86594b1b9a7b85d4e343999b9e148e196f0c2f4c', deprecated=True)
- version('4.0.0', sha256='bde2aa743979eac195dd13ec8d0fcb7da183fff489da32c28b872eed7f6681b3', deprecated=True)
- version('3.10.0', sha256='ad1dedad9023ccb050082c866fa5131665d9c3b50de0b78e4618730c29a07773', deprecated=True)
- version('3.9.0', sha256='f366299b48a29b419febb2ba398d1abe4cd01425d33254777e426966b722d3b1', deprecated=True)
- version('3.8.0', sha256='7de71a2ba17bbeea9107f2e9e65729f507234d6cbbb44f251240d64683027497', deprecated=True)
- version('3.7.0', sha256='9aa1d4b7b01ee4d443effc76ed5f6f43a051fd815692b59dfccf0ecbfeaeed03', deprecated=True)
- version('3.5.0', sha256='fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
-
- build_targets = ['package']
+ git = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git"
+ url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("master", branch="master")
+
+ version("5.1.3", sha256="6a6e7fb998c886951db75dcf34dca523d9caaff8d0ccf2b7431504a1808b1ff3")
+ version("5.1.0", sha256="18fe51f0ba61760fc89ffc81f737fd4fa20fb4b00df3f35145be77c3e0a6162b")
+ version("5.0.2", sha256="c93f7dbb37233aa32d81057fa8b3fa88d7c7be9b7916430b5ffc701600a5ff45")
+ version("5.0.0", sha256="b33c6a12ad8de1d7ea9b8b380b8fa5db6b601ed426c3d3940134863f7d10740f")
+ version("4.5.2", sha256="559ca7ef582d81047c5dd5a908f3989cb2694e89577f7f556214e324ba65e75e")
+ version("4.5.0", sha256="4d20a6017ca6975df98f3ca61ba95fa0c7c62fbf63cd6abae3396c30a423933f")
+ version(
+ "4.3.1",
+ sha256="a4804c28586457c231594b4e7689872eaf91972119d892325468f3fe8fdbe5ef",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="c6eb406cd2836af61dd5987f6b761340a1be20f66a9325f480423d10b9d3ec1b",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="d268365e3bb8031c1201c05e705074d1fd794d236843f80064855cf31e4412f5",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="4e34b60a7e4090d6475f0cdd86594b1b9a7b85d4e343999b9e148e196f0c2f4c",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="bde2aa743979eac195dd13ec8d0fcb7da183fff489da32c28b872eed7f6681b3",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="ad1dedad9023ccb050082c866fa5131665d9c3b50de0b78e4618730c29a07773",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="f366299b48a29b419febb2ba398d1abe4cd01425d33254777e426966b722d3b1",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="7de71a2ba17bbeea9107f2e9e65729f507234d6cbbb44f251240d64683027497",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="9aa1d4b7b01ee4d443effc76ed5f6f43a051fd815692b59dfccf0ecbfeaeed03",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+
+ build_targets = ["package"]
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 811690df71..96c1523f65 100644
--- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py
+++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py
@@ -7,42 +7,105 @@ from spack.package import *
class RocmClangOcl(CMakePackage):
- """ OpenCL compilation with clang compiler """
+ """OpenCL compilation with clang compiler"""
homepage = "https://github.com/RadeonOpenCompute/clang-ocl"
- git = "https://github.com/RadeonOpenCompute/clang-ocl.git"
- url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- version('master', branch='master')
-
- version('5.1.3', sha256='e19ee15f26fc03309398ac73cc738508c0e1617deccfd667d369a3948b5d3552')
- version('5.1.0', sha256='38d9e2e98cff1a262fdd45c3239fd76a9f6ad5eff38a31aa19c3bb0faea53375')
- version('5.0.2', sha256='5e8f39200227388817024ee7ce46a996e43e433ed308f8d5e8e4c03629d8a5e7')
- version('5.0.0', sha256='0dff230754b790a417eb3d6be6f50c3727f944e0157686100354eba1e47d30f3')
- version('4.5.2', sha256='8cc7b8658e81ef378c16bbb00fc6b29140c850da70adc4e520ecec9b4517beb8')
- version('4.5.0', sha256='b9ab42629c8697f8ffdae99ffd25f939161fa8a7a1c49a9ce19d8b207bedbbae')
- version('4.3.1', sha256='12461d4fd4f3f40710d2c041cfee37da83ccda9d2761d7708335349e7ec5ad87', deprecated=True)
- version('4.3.0', sha256='bc5650f2f105b10a1e22d8e5cc9464b0f960252a08e5e1fdee222af1fc5c022c', deprecated=True)
- version('4.2.0', sha256='702796f4e31f6119173d915db9bee13c060a75d9eb5b1f8e3d20779d6702dfdc', deprecated=True)
- version('4.1.0', sha256='c6e65da5541df9ee940caeeffe1b87c92547edc1770538fd2010c9c998a593b5', deprecated=True)
- version('4.0.0', sha256='c8f9091396ee0096f6d7c1cd13d80532c424e838bec1e4cebf903ebaf649e82e', deprecated=True)
- version('3.10.0', sha256='17fc8fb8c38b18f9f0cac339dda6cea3e9e66805f7a92ec2456072fc1e72fa85', deprecated=True)
- version('3.9.0', sha256='3d63c7ac259ba8b0bfd5e4a94df1490c2b6cbac4d43dc7bbc210a536251268fe', deprecated=True)
- version('3.8.0', sha256='a829aa2efb6e3bc00d8a08a96404f937f3c8adf3b4922b5ac35050d6e08b912d', deprecated=True)
- version('3.7.0', sha256='9c00c7e7dd3ac8326ae6772a43866b44ae049d5960ea6993d14a2370db74d326', deprecated=True)
- version('3.5.0', sha256='38c95fbd0ac3d11d9bd224ad333b68b9620dde502b8a8a9f3d96ba642901e8bb', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
+ git = "https://github.com/RadeonOpenCompute/clang-ocl.git"
+ url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ version("master", branch="master")
+
+ version("5.1.3", sha256="e19ee15f26fc03309398ac73cc738508c0e1617deccfd667d369a3948b5d3552")
+ version("5.1.0", sha256="38d9e2e98cff1a262fdd45c3239fd76a9f6ad5eff38a31aa19c3bb0faea53375")
+ version("5.0.2", sha256="5e8f39200227388817024ee7ce46a996e43e433ed308f8d5e8e4c03629d8a5e7")
+ version("5.0.0", sha256="0dff230754b790a417eb3d6be6f50c3727f944e0157686100354eba1e47d30f3")
+ version("4.5.2", sha256="8cc7b8658e81ef378c16bbb00fc6b29140c850da70adc4e520ecec9b4517beb8")
+ version("4.5.0", sha256="b9ab42629c8697f8ffdae99ffd25f939161fa8a7a1c49a9ce19d8b207bedbbae")
+ version(
+ "4.3.1",
+ sha256="12461d4fd4f3f40710d2c041cfee37da83ccda9d2761d7708335349e7ec5ad87",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="bc5650f2f105b10a1e22d8e5cc9464b0f960252a08e5e1fdee222af1fc5c022c",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="702796f4e31f6119173d915db9bee13c060a75d9eb5b1f8e3d20779d6702dfdc",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="c6e65da5541df9ee940caeeffe1b87c92547edc1770538fd2010c9c998a593b5",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="c8f9091396ee0096f6d7c1cd13d80532c424e838bec1e4cebf903ebaf649e82e",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="17fc8fb8c38b18f9f0cac339dda6cea3e9e66805f7a92ec2456072fc1e72fa85",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="3d63c7ac259ba8b0bfd5e4a94df1490c2b6cbac4d43dc7bbc210a536251268fe",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="a829aa2efb6e3bc00d8a08a96404f937f3c8adf3b4922b5ac35050d6e08b912d",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="9c00c7e7dd3ac8326ae6772a43866b44ae049d5960ea6993d14a2370db74d326",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="38c95fbd0ac3d11d9bd224ad333b68b9620dde502b8a8a9f3d96ba642901e8bb",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
# support both builtin and standalone device libs
- depends_on('rocm-device-libs@' + ver, when='@{0} ^llvm-amdgpu ~rocm-device-libs'.format(ver))
+ depends_on(
+ "rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
+ )
diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py
index aa7c4ceabd..e994fc2454 100644
--- a/var/spack/repos/builtin/packages/rocm-cmake/package.py
+++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py
@@ -9,35 +9,80 @@ from spack.package import *
class RocmCmake(CMakePackage):
"""rocm-cmake provides CMake modules for common build tasks
- in the ROCm software stack"""
+ in the ROCm software stack"""
homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"
- git = "https://github.com/RadeonOpenCompute/rocm-cmake.git"
- url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('master', branch='master')
-
- version('5.1.3', sha256='19b2da0d56300aab454655b57435ab3ed9e101ecb96561336ea8865bbd993c23')
- version('5.1.0', sha256='2eff47b7cf5bd56d465ff3c110eb936d31860df60182a82ba511ba11bbcf23fc')
- version('5.0.2', sha256='86a4ae0f84dcf5be95a252295eb732d6a7a271297eed37800a9d492c16474d0c')
- version('5.0.0', sha256='45eb958fac33aafea86fb498127ebf8f567646ce9d7288d46afbd087500553a1')
- version('4.5.2', sha256='85f2ef51327e4b09d81a221b4ad31c97923dabc1bc8ff127dd6c570742185751')
- version('4.5.0', sha256='c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395')
- version('4.3.1', sha256='acf2a58e2cd486f473194bf01247c52dbf20bd5f6465810fb221470298f2557f', deprecated=True)
- version('4.3.0', sha256='bb752d8d2727b7ef2754838e389075dd4212cf5439d099392141f93d05391415', deprecated=True)
- version('4.2.0', sha256='299e190ec3d38c2279d9aec762469628f0b2b1867adc082edc5708d1ac785c3b', deprecated=True)
- version('4.1.0', sha256='a4521d119fa07954e529d5e717ad1b338992c0694690dbce00fee26c01129c8c', deprecated=True)
- version('4.0.0', sha256='4577487acaa6e041a1316145867584f31caaf0d4aa2dd8fd7f82f81c269cada6', deprecated=True)
- version('3.10.0', sha256='751be4484efdcf0d5fa675480db6e2cddab897de4708c7c7b9fa7adb430b52d7', deprecated=True)
- version('3.9.0', sha256='e0a8db85bb55acb549f360eb9b04f55104aa93e4c3db33f9ba11d9adae2a07eb', deprecated=True)
- version('3.8.0', sha256='9e4be93c76631224eb49b2fa30b0d14c1b3311a6519c8b393da96ac0649d9f30', deprecated=True)
- version('3.7.0', sha256='51abfb06124c2e0677c4d6f7fe83c22fe855cb21386f0053ace09f8ab297058b', deprecated=True)
- version('3.5.0', sha256='5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3:', type='build')
- depends_on('cmake@3.6:', type='build', when='@4.1.0:')
+ git = "https://github.com/RadeonOpenCompute/rocm-cmake.git"
+ url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("master", branch="master")
+
+ version("5.1.3", sha256="19b2da0d56300aab454655b57435ab3ed9e101ecb96561336ea8865bbd993c23")
+ version("5.1.0", sha256="2eff47b7cf5bd56d465ff3c110eb936d31860df60182a82ba511ba11bbcf23fc")
+ version("5.0.2", sha256="86a4ae0f84dcf5be95a252295eb732d6a7a271297eed37800a9d492c16474d0c")
+ version("5.0.0", sha256="45eb958fac33aafea86fb498127ebf8f567646ce9d7288d46afbd087500553a1")
+ version("4.5.2", sha256="85f2ef51327e4b09d81a221b4ad31c97923dabc1bc8ff127dd6c570742185751")
+ version("4.5.0", sha256="c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395")
+ version(
+ "4.3.1",
+ sha256="acf2a58e2cd486f473194bf01247c52dbf20bd5f6465810fb221470298f2557f",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="bb752d8d2727b7ef2754838e389075dd4212cf5439d099392141f93d05391415",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="299e190ec3d38c2279d9aec762469628f0b2b1867adc082edc5708d1ac785c3b",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="a4521d119fa07954e529d5e717ad1b338992c0694690dbce00fee26c01129c8c",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="4577487acaa6e041a1316145867584f31caaf0d4aa2dd8fd7f82f81c269cada6",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="751be4484efdcf0d5fa675480db6e2cddab897de4708c7c7b9fa7adb430b52d7",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="e0a8db85bb55acb549f360eb9b04f55104aa93e4c3db33f9ba11d9adae2a07eb",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="9e4be93c76631224eb49b2fa30b0d14c1b3311a6519c8b393da96ac0649d9f30",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="51abfb06124c2e0677c4d6f7fe83c22fe855cb21386f0053ace09f8ab297058b",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3:", type="build")
+ depends_on("cmake@3.6:", type="build", when="@4.1.0:")
diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py
index d23e076804..4a39c30d91 100644
--- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py
+++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py
@@ -10,58 +10,121 @@ from spack.package import *
class RocmDbgapi(CMakePackage):
"""The AMD Debugger API is a library that provides all the support
- necessary for a debugger and other tools to perform low level
- control of the execution and inspection of execution state of
- AMD's commercially available GPU architectures."""
+ necessary for a debugger and other tools to perform low level
+ control of the execution and inspection of execution state of
+ AMD's commercially available GPU architectures."""
homepage = "https://github.com/ROCm-Developer-Tools/ROCdbgapi"
- git = "https://github.com/ROCm-Developer-Tools/ROCdbgapi.git"
- url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-5.0.0.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCm-Developer-Tools/ROCdbgapi.git"
+ url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-5.0.0.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocm-dbgapi']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocm-dbgapi"]
- version('master', branch='amd-master')
- version('5.1.3', sha256='880f80ebf741e3451676837f720551e02cffd0b9346ca4dfa6cf7f7043282f2b')
- version('5.1.0', sha256='406db4b20bda12f6f32cbef88b03110aa001bf7bef6676f36e909b53c8354e43')
- version('5.0.2', sha256='b7554dfe96bda6c2ee762ad6e3e5f91f0f52b5a525e3fb29d5e1fe6f003652b5')
- version('5.0.0', sha256='cff72d7fe43ff791c4117fe87d57314cbebdbcb70002a0411b8a44761012a495')
- version('4.5.2', sha256='9fa574e8389ef69d116caf714af2f938777e0aeeaadd7fad451cf5d2e6699c6e')
- version('4.5.0', sha256='583bbf18df593f376c4cc70f25b68c191bd38fde20a336c0f5c8e5d85fda2fcf')
- version('4.3.1', sha256='dddf2549ad6bb806f7e5d5a5336f5a00fe87a124f2a778be18ec4dc41f891912', deprecated=True)
- version('4.3.0', sha256='4255d83d218bb0db8be9fef18e03a955ea1c6de1c635c31685ee5fc1540ddde6', deprecated=True)
- version('4.2.0', sha256='fcdee5aaf5ed40c0377ce007a2947da9e718eeee86ca3e13192ff9e96a1b7373', deprecated=True)
- version('4.1.0', sha256='d04fd9b2005691313547c4134b027b56b0ec6089f67d3bccbdb8fb1c92cde9bd', deprecated=True)
- version('4.0.0', sha256='e87f31b3a22861397eb62d8363dd1e153596097ccfe68c6eefc1a83a2432ae18', deprecated=True)
- version('3.10.0', sha256='89a8d352d59e4c0dc13160b1bf1f4bc3bfec5af544050030aa619b1ff88f1850', deprecated=True)
- version('3.9.0', sha256='d1553f89d2b0419304ea82ed2b97abdc323c2fed183f0e119da1a72416a48136', deprecated=True)
- version('3.8.0', sha256='760ff77c6578f3548f367a8bd3dda8680b7519f6b20216755105b87785d1e3f8', deprecated=True)
- version('3.7.0', sha256='bdeaf81ea8a0ac861a697e435c72cbe767c291638be43f0d09116ad605dfee4f', deprecated=True)
- version('3.5.0', sha256='eeba0592bc79b90e5b874bba18fd003eab347e8a3cc80343708f8d19e047e87b', deprecated=True)
+ version("master", branch="amd-master")
+ version("5.1.3", sha256="880f80ebf741e3451676837f720551e02cffd0b9346ca4dfa6cf7f7043282f2b")
+ version("5.1.0", sha256="406db4b20bda12f6f32cbef88b03110aa001bf7bef6676f36e909b53c8354e43")
+ version("5.0.2", sha256="b7554dfe96bda6c2ee762ad6e3e5f91f0f52b5a525e3fb29d5e1fe6f003652b5")
+ version("5.0.0", sha256="cff72d7fe43ff791c4117fe87d57314cbebdbcb70002a0411b8a44761012a495")
+ version("4.5.2", sha256="9fa574e8389ef69d116caf714af2f938777e0aeeaadd7fad451cf5d2e6699c6e")
+ version("4.5.0", sha256="583bbf18df593f376c4cc70f25b68c191bd38fde20a336c0f5c8e5d85fda2fcf")
+ version(
+ "4.3.1",
+ sha256="dddf2549ad6bb806f7e5d5a5336f5a00fe87a124f2a778be18ec4dc41f891912",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="4255d83d218bb0db8be9fef18e03a955ea1c6de1c635c31685ee5fc1540ddde6",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="fcdee5aaf5ed40c0377ce007a2947da9e718eeee86ca3e13192ff9e96a1b7373",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="d04fd9b2005691313547c4134b027b56b0ec6089f67d3bccbdb8fb1c92cde9bd",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="e87f31b3a22861397eb62d8363dd1e153596097ccfe68c6eefc1a83a2432ae18",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="89a8d352d59e4c0dc13160b1bf1f4bc3bfec5af544050030aa619b1ff88f1850",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="d1553f89d2b0419304ea82ed2b97abdc323c2fed183f0e119da1a72416a48136",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="760ff77c6578f3548f367a8bd3dda8680b7519f6b20216755105b87785d1e3f8",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="bdeaf81ea8a0ac861a697e435c72cbe767c291638be43f0d09116ad605dfee4f",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="eeba0592bc79b90e5b874bba18fd003eab347e8a3cc80343708f8d19e047e87b",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3:', type='build')
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3', 'master']:
- depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)
- depends_on('comgr@' + ver, type=('build', 'link'), 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("hsa-rocr-dev@" + ver, type="build", when="@" + ver)
+ depends_on("comgr@" + ver, type=("build", "link"), when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def patch(self):
- filter_file(r'(<INSTALL_INTERFACE:include>)', r'\1 {0}/include'.
- format(self.spec['hsa-rocr-dev'].prefix), 'CMakeLists.txt')
+ filter_file(
+ r"(<INSTALL_INTERFACE:include>)",
+ r"\1 {0}/include".format(self.spec["hsa-rocr-dev"].prefix),
+ "CMakeLists.txt",
+ )
diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py
index 81e074adb9..5625c910b0 100644
--- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py
+++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py
@@ -12,75 +12,149 @@ class RocmDebugAgent(CMakePackage):
"""Radeon Open Compute (ROCm) debug agent"""
homepage = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent"
- git = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent.git"
- url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocm-debug-agent']
-
- version('5.1.3', sha256='ef26130829f3348d503669467ab1ea39fb67d943d88d64e7ac04b9617ec6067d')
- version('5.1.0', sha256='e0ceeef575d8645385bc6e4c9c3accaa192a93c42d83545cf5626c848f59806b')
- version('5.0.2', sha256='4ec3cdedc4ba774d05c3dc972186b3181b3aa823af08f3843238961d5ef90e57')
- version('5.0.0', sha256='fb8ebe136bfa815116453bdcb4afb9617ab488f54501434c72eed9706857be3f')
- version('4.5.2', sha256='85c7f19485defd9a58716fffdd1a0e065ed7f779c3f124467fca18755bc634a6')
- version('4.5.0', sha256='6486b1a8515da4711d3c85f8e41886f8fe6ba37ca2c63664f00c811f6296ac20')
- version('4.3.1', sha256='7bee6be6c29883f03f47a8944c0d50b7cf43a6b5eeed734602f521c3c40a18d0', deprecated=True)
- version('4.3.0', sha256='0cdee5792b808e03b839070da0d1b08dc4078a7d1fc295f0c99c6a5ae7d636a6', deprecated=True)
- version('4.2.0', sha256='ce02a5b752291882daa0a2befa23944e59087ce9fe65a91061476c3c399e4a0c', deprecated=True)
- version('4.1.0', sha256='b1ae874887e5ee037070f1dd46b145ad02ec9fd8a724c6b6ae194b534f01acdb', deprecated=True)
- version('4.0.0', sha256='a9e64834d56a9221c242e71aa110c2cef0087aa8f86f50428dd618e5e623cc3c', deprecated=True)
- version('3.10.0', sha256='675b8d3cc4aecc4428a93553abf664bbe6a2cb153f1f480e6cadeeb4d24ef4b1', deprecated=True)
- version('3.9.0', sha256='3e56bf8b2b53d9102e8709b6259deea52257dc6210df16996b71a7d677952b1b', deprecated=True)
- version('3.8.0', sha256='55243331ac4b0d90e88882eb29fd06fad354e278f8a34ac7f0680b2c895ca2ac', deprecated=True)
- version('3.7.0', sha256='d0f442a2b224a734b0080c906f0fc3066a698e5cde9ff97ffeb485b36d2caba1', deprecated=True)
- version('3.5.0', sha256='203ccb18d2ac508aae40bf364923f67375a08798b20057e574a0c5be8039f133', deprecated=True)
+ git = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent.git"
+ url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocm-debug-agent"]
+
+ version("5.1.3", sha256="ef26130829f3348d503669467ab1ea39fb67d943d88d64e7ac04b9617ec6067d")
+ version("5.1.0", sha256="e0ceeef575d8645385bc6e4c9c3accaa192a93c42d83545cf5626c848f59806b")
+ version("5.0.2", sha256="4ec3cdedc4ba774d05c3dc972186b3181b3aa823af08f3843238961d5ef90e57")
+ version("5.0.0", sha256="fb8ebe136bfa815116453bdcb4afb9617ab488f54501434c72eed9706857be3f")
+ version("4.5.2", sha256="85c7f19485defd9a58716fffdd1a0e065ed7f779c3f124467fca18755bc634a6")
+ version("4.5.0", sha256="6486b1a8515da4711d3c85f8e41886f8fe6ba37ca2c63664f00c811f6296ac20")
+ version(
+ "4.3.1",
+ sha256="7bee6be6c29883f03f47a8944c0d50b7cf43a6b5eeed734602f521c3c40a18d0",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="0cdee5792b808e03b839070da0d1b08dc4078a7d1fc295f0c99c6a5ae7d636a6",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="ce02a5b752291882daa0a2befa23944e59087ce9fe65a91061476c3c399e4a0c",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="b1ae874887e5ee037070f1dd46b145ad02ec9fd8a724c6b6ae194b534f01acdb",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="a9e64834d56a9221c242e71aa110c2cef0087aa8f86f50428dd618e5e623cc3c",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="675b8d3cc4aecc4428a93553abf664bbe6a2cb153f1f480e6cadeeb4d24ef4b1",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="3e56bf8b2b53d9102e8709b6259deea52257dc6210df16996b71a7d677952b1b",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="55243331ac4b0d90e88882eb29fd06fad354e278f8a34ac7f0680b2c895ca2ac",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="d0f442a2b224a734b0080c906f0fc3066a698e5cde9ff97ffeb485b36d2caba1",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="203ccb18d2ac508aae40bf364923f67375a08798b20057e574a0c5be8039f133",
+ deprecated=True,
+ )
def url_for_version(self, version):
url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/"
- if version <= Version('3.7.0'):
+ if version <= Version("3.7.0"):
url += "roc-{0}.tar.gz".format(version)
else:
url += "rocm-{0}.tar.gz".format(version)
return url
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3:', type='build')
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- 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',
- '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-dbgapi@' + ver, when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3:", type="build")
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ 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",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ 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:')
+ patch("0001-Drop-overly-strict-Werror-flag.patch", when="@3.7.0:")
+ patch("0002-add-hip-architecture.patch", when="@3.9.0:")
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@property
def root_cmakelists_dir(self):
- if '@3.5.0' in self.spec:
- return 'src'
+ if "@3.5.0" in self.spec:
+ return "src"
else:
return self.stage.source_path
@@ -88,15 +162,13 @@ class RocmDebugAgent(CMakePackage):
spec = self.spec
args = []
- if '@3.5.0' in spec:
+ if "@3.5.0" in spec:
args.append(
- '-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,'.
- format(spec['hsa-rocr-dev'].prefix, spec['hsakmt-roct'].prefix)
+ "-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,".format(
+ spec["hsa-rocr-dev"].prefix, spec["hsakmt-roct"].prefix
+ )
)
- if '@3.7.0:' in spec:
- args.append(
- '-DCMAKE_MODULE_PATH={0}'.
- format(spec['hip'].prefix.cmake)
- )
+ if "@3.7.0:" in spec:
+ args.append("-DCMAKE_MODULE_PATH={0}".format(spec["hip"].prefix.cmake))
return args
diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py
index bb2d2a40d8..f3f99c8d0c 100644
--- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py
+++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py
@@ -11,52 +11,113 @@ class RocmDeviceLibs(CMakePackage):
"""set of AMD specific device-side language runtime libraries"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
- git = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git"
- url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
-
- version('master', branch='amd-stg-open')
- version('5.1.3', sha256='c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e')
- version('5.1.0', sha256='47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f')
- version('5.0.2', sha256='49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e')
- version('5.0.0', sha256='83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0')
- version('4.5.2', sha256='50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61')
- version('4.5.0', sha256='78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77')
- version('4.3.1', sha256='a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592', deprecated=True)
- version('4.3.0', sha256='055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2', deprecated=True)
- version('4.2.0', sha256='34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f', deprecated=True)
- version('4.1.0', sha256='f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b', deprecated=True)
- version('4.0.0', sha256='d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a', deprecated=True)
- version('3.10.0', sha256='bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc', deprecated=True)
- version('3.9.0', sha256='c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7', deprecated=True)
- version('3.8.0', sha256='e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574', deprecated=True)
- version('3.7.0', sha256='b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d', deprecated=True)
- version('3.5.0', sha256='dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.13.4:', type='build', when='@3.9.0:')
- depends_on('cmake@3.4.3:', type='build')
-
- depends_on('zlib', type='link', when='@3.9.0:')
- depends_on('texinfo', type='link', when='@3.9.0:')
-
- depends_on('rocm-cmake@3.5.0:', type='build')
+ git = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git"
+ url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+
+ version("master", branch="amd-stg-open")
+ version("5.1.3", sha256="c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e")
+ version("5.1.0", sha256="47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f")
+ version("5.0.2", sha256="49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e")
+ version("5.0.0", sha256="83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0")
+ version("4.5.2", sha256="50e9e87ecd6b561cad0d471295d29f7220e195528e567fcabe2ec73838979f61")
+ version("4.5.0", sha256="78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77")
+ version(
+ "4.3.1",
+ sha256="a7291813168e500bfa8aaa5d1dccf5250764ddfe27535def01b51eb5021d4592",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="c99f45dacf5967aef9a31e3731011b9c142446d4a12bac69774998976f2576d7",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="e82cc9a8eb7d92de02cabb856583e28f17a05c8cf9c97aec5275608ef1a38574",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="b3a114180bf184b3b829c356067bc6a98021d52c1c6f9db6bc57272ebafc5f1d",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
+ depends_on("cmake@3.4.3:", type="build")
+
+ depends_on("zlib", type="link", when="@3.9.0:")
+ depends_on("texinfo", type="link", when="@3.9.0:")
+
+ depends_on("rocm-cmake@3.5.0:", type="build")
# Make sure llvm is not built with rocm-device-libs (that is, it's already
# built with rocm-device-libs as an external project).
- depends_on('llvm-amdgpu ~rocm-device-libs')
+ 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', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('llvm-amdgpu@' + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
def cmake_args(self):
spec = self.spec
return [
- self.define('LLVM_DIR', spec['llvm-amdgpu'].prefix),
- self.define('CMAKE_C_COMPILER', spec['llvm-amdgpu'].prefix.bin.clang)
+ self.define("LLVM_DIR", spec["llvm-amdgpu"].prefix),
+ self.define("CMAKE_C_COMPILER", spec["llvm-amdgpu"].prefix.bin.clang),
]
diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py
index 593920e0a5..e620d57e97 100644
--- a/var/spack/repos/builtin/packages/rocm-gdb/package.py
+++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py
@@ -9,72 +9,126 @@ from spack.package import *
class RocmGdb(AutotoolsPackage):
"""This is ROCmgdb, the ROCm source-level debugger for Linux,
- based on GDB, the GNU source-level debugger."""
+ 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-5.1.3.tar.gz"
- tags = ['rocm']
+ url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('5.1.3', sha256='81f5e368facdcc424a37cb5809f0b436bedb9a6d9af4d17785b3c446ab0a7821')
- version('5.1.0', sha256='cf638149b269f838aaec59c5801098b9c0fc42f6c86a39309a8995b56978b424')
- version('5.0.2', sha256='0eced8cd5a2996cb4bcf254f2bd9defe24112d21c2f750e98f784ecdf94ba5c9')
- version('5.0.0', sha256='aa311fb557bd95e35c6e4dfd245188f35c294a93bacb77fe4d3b178b1d0097e8')
- version('4.5.2', sha256='e278abf50f1758ce396b26a6719d0af09a6053c195516a44ec9b2be925d79203')
- version('4.5.0', sha256='dd37c8b1ea6bb41b1263183637575d7bf4746cabc573dbff888e23b0379877b0')
- version('4.3.1', sha256='995756a24b1e1510647dac1476a3a9a8e3af8e9fd9f4af1d00dd2db28e7a4ef2', deprecated=True)
- version('4.3.0', sha256='8ee0667ab2cd91b2cc41d3a7af046d36a6b4e2007f050265aa65e0aedec83fd7', deprecated=True)
- version('4.2.0', sha256='4bc579584a1f8614111e7e44d8aa1c6d5d06be3f5db055aba2cf1abc140122ac', deprecated=True)
- version('4.1.0', sha256='28dc806e48695d654d52fb1a634df6d4c1243f00846ae90161e7a5e9f4d88b24', deprecated=True)
- version('4.0.0', sha256='b90291b0a8409fe66d8a65d2731dcb87b9f5a22bac9ce3ffbab726eb129ba13d', deprecated=True)
- version('3.10.0', sha256='05455cb47dd42404ee8bba047def6a6846a7e877e7a7db8dcffc7100d5ba16f0', deprecated=True)
- version('3.9.0', sha256='0765c96439c0efa145418d210d865b9faed463466d7522274959cc4476a37097', deprecated=True)
- version('3.8.0', sha256='a7c11dc30c952587c616bf7769bad603c3bf80522afc8b73ccda5b78d27bed41', deprecated=True)
- version('3.7.0', sha256='7a29ef584fd7b6c66bb03aaf8ec2f5a8c758370672a28a4d0d95066e5f6fbdc1', deprecated=True)
- version('3.5.0', sha256='cf36d956e84c7a5711b71f281a44b0a9708e13e941d8fca0247d01567e7ee7d1', deprecated=True)
+ version("5.1.3", sha256="81f5e368facdcc424a37cb5809f0b436bedb9a6d9af4d17785b3c446ab0a7821")
+ version("5.1.0", sha256="cf638149b269f838aaec59c5801098b9c0fc42f6c86a39309a8995b56978b424")
+ version("5.0.2", sha256="0eced8cd5a2996cb4bcf254f2bd9defe24112d21c2f750e98f784ecdf94ba5c9")
+ version("5.0.0", sha256="aa311fb557bd95e35c6e4dfd245188f35c294a93bacb77fe4d3b178b1d0097e8")
+ version("4.5.2", sha256="e278abf50f1758ce396b26a6719d0af09a6053c195516a44ec9b2be925d79203")
+ version("4.5.0", sha256="dd37c8b1ea6bb41b1263183637575d7bf4746cabc573dbff888e23b0379877b0")
+ version(
+ "4.3.1",
+ sha256="995756a24b1e1510647dac1476a3a9a8e3af8e9fd9f4af1d00dd2db28e7a4ef2",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="8ee0667ab2cd91b2cc41d3a7af046d36a6b4e2007f050265aa65e0aedec83fd7",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="4bc579584a1f8614111e7e44d8aa1c6d5d06be3f5db055aba2cf1abc140122ac",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="28dc806e48695d654d52fb1a634df6d4c1243f00846ae90161e7a5e9f4d88b24",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="b90291b0a8409fe66d8a65d2731dcb87b9f5a22bac9ce3ffbab726eb129ba13d",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="05455cb47dd42404ee8bba047def6a6846a7e877e7a7db8dcffc7100d5ba16f0",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="0765c96439c0efa145418d210d865b9faed463466d7522274959cc4476a37097",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="a7c11dc30c952587c616bf7769bad603c3bf80522afc8b73ccda5b78d27bed41",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="7a29ef584fd7b6c66bb03aaf8ec2f5a8c758370672a28a4d0d95066e5f6fbdc1",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="cf36d956e84c7a5711b71f281a44b0a9708e13e941d8fca0247d01567e7ee7d1",
+ deprecated=True,
+ )
- depends_on('cmake@3:', type='build')
- depends_on('texinfo', type='build')
- depends_on('bison', type='build')
- depends_on('flex@2.6.4:', type='build')
- depends_on('libunwind', type='build')
- depends_on('expat', type=('build', 'link'))
- depends_on('python', type=('build', 'link'))
- depends_on('zlib', type='link')
- depends_on('babeltrace@1.2.4', type='link')
- depends_on('gmp', type=('build', 'link'), when='@4.5.0:')
+ depends_on("cmake@3:", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("bison", type="build")
+ depends_on("flex@2.6.4:", type="build")
+ depends_on("libunwind", type="build")
+ depends_on("expat", type=("build", "link"))
+ depends_on("python", type=("build", "link"))
+ depends_on("zlib", type="link")
+ depends_on("babeltrace@1.2.4", type="link")
+ depends_on("gmp", type=("build", "link"), when="@4.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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('rocm-dbgapi@' + ver, type='link', when='@' + ver)
- depends_on('comgr@' + ver, type='link', 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-dbgapi@" + ver, type="link", when="@" + ver)
+ depends_on("comgr@" + ver, type="link", when="@" + ver)
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def configure_args(self):
# Generic options to compile GCC
options = [
# Distributor options
- '--program-prefix=roc',
- '--enable-64-bit-bfd',
- '--with-bugurl=https://github.com/ROCm-Developer-Tools/ROCgdb/issues',
- '--with-pkgversion=-ROCm',
- '--enable-targets=x86_64-linux-gnu,amdgcn-amd-amdhsa',
- '--disable-ld',
- '--disable-gas',
- '--disable-gdbserver',
- '--disable-sim',
- '--enable-tui',
- '--disable-gdbtk',
- '--disable-shared',
- '--with-expat',
- '--with-system-zlib'
- '--without-guile',
- '--with-babeltrace',
- '--with-lzma',
- '--with-python',
- '--with-rocm-dbgapi={0}'.format(self.spec['rocm-dbgapi'].prefix)
+ "--program-prefix=roc",
+ "--enable-64-bit-bfd",
+ "--with-bugurl=https://github.com/ROCm-Developer-Tools/ROCgdb/issues",
+ "--with-pkgversion=-ROCm",
+ "--enable-targets=x86_64-linux-gnu,amdgcn-amd-amdhsa",
+ "--disable-ld",
+ "--disable-gas",
+ "--disable-gdbserver",
+ "--disable-sim",
+ "--enable-tui",
+ "--disable-gdbtk",
+ "--disable-shared",
+ "--with-expat",
+ "--with-system-zlib" "--without-guile",
+ "--with-babeltrace",
+ "--with-lzma",
+ "--with-python",
+ "--with-rocm-dbgapi={0}".format(self.spec["rocm-dbgapi"].prefix),
]
return options
diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py
index 237d204ec7..c28a4fce55 100644
--- a/var/spack/repos/builtin/packages/rocm-opencl/package.py
+++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py
@@ -12,80 +12,155 @@ class RocmOpencl(CMakePackage):
"""OpenCL: Open Computing Language on ROCclr"""
homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
- git = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git"
- tags = ['rocm']
+ git = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libOpenCL']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libOpenCL"]
def url_for_version(self, version):
- if version == Version('3.5.0'):
- return "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz"
+ if version == Version("3.5.0"):
+ return (
+ "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz"
+ )
url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz"
return url.format(version)
- version('master', branch='main')
-
- version('5.1.3', sha256='44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31')
- version('5.1.0', sha256='362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927')
- version('5.0.2', sha256='3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95')
- version('5.0.0', sha256='2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be')
- version('4.5.2', sha256='96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d')
- version('4.5.0', sha256='3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8')
- version('4.3.1', sha256='7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca', deprecated=True)
- version('4.3.0', sha256='d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9', deprecated=True)
- version('4.2.0', sha256='18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730', deprecated=True)
- version('4.1.0', sha256='0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c', deprecated=True)
- version('4.0.0', sha256='d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1', deprecated=True)
- version('3.10.0', sha256='3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d', deprecated=True)
- version('3.9.0', sha256='286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf', deprecated=True)
- version('3.8.0', sha256='7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a', deprecated=True)
- version('3.7.0', sha256='283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b', deprecated=True)
- version('3.5.0', sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3:', type='build')
- depends_on('gl@4.5:', type='link')
- depends_on('numactl', type='link', when='@3.7.0:')
+ version("master", branch="main")
+
+ version("5.1.3", sha256="44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31")
+ version("5.1.0", sha256="362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927")
+ version("5.0.2", sha256="3edb1992ba28b4a7f82dd66fbd121f62bd859c1afb7ceb47fa856bd68feedc95")
+ version("5.0.0", sha256="2aa3a628b336461f83866c4e76225ef5338359e31f802987699d6308515ae1be")
+ version("4.5.2", sha256="96b43f314899707810db92149caf518bdb7cf39f7c0ad86e98ad687ffb0d396d")
+ version("4.5.0", sha256="3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8")
+ version(
+ "4.3.1",
+ sha256="7f98f7d4707b4392f8aa7017aaca9e27cb20263428a1a81fb7ec7c552e60c4ca",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3:", type="build")
+ depends_on("gl@4.5:", type="link")
+ depends_on("numactl", type="link", when="@3.7.0:")
for d_version, d_shasum in [
- ('5.1.3', 'ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48'),
- ('5.1.0', 'f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa'),
- ('5.0.2', '34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e'),
- ('5.0.0', '6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724'),
- ('4.5.2', '6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1'),
- ('4.5.0', 'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e')
+ ("5.1.3", "ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48"),
+ ("5.1.0", "f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa"),
+ ("5.0.2", "34decd84652268dde865f38e66f8fb4750a08c2457fea52ad962bced82a03e5e"),
+ ("5.0.0", "6b72faf8819628a5c109b2ade515ab9009606d10f11316f0d7e4c4c998d7f724"),
+ ("4.5.2", "6581916a3303a31f76454f12f86e020fb5e5c019f3dbb0780436a8f73792c4d1"),
+ ("4.5.0", "ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e"),
]:
resource(
- name='rocclr',
- url='https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz'.format(d_version),
+ name="rocclr",
+ url="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-{0}.tar.gz".format(
+ d_version
+ ),
sha256=d_shasum,
expand=True,
- destination='',
- placement='rocclr',
- when='@{0}'.format(d_version)
+ destination="",
+ placement="rocclr",
+ when="@{0}".format(d_version),
)
- patch('0001-fix-build-error-rocm-opencl-5.1.0.patch', when='@5.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.3.0', '4.3.1', 'master']:
- depends_on('hip-rocclr@' + 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('comgr@' + ver, type='build', when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
+ patch("0001-fix-build-error-rocm-opencl-5.1.0.patch", when="@5.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.3.0",
+ "4.3.1",
+ "master",
+ ]:
+ depends_on("hip-rocclr@" + 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("comgr@" + ver, type="build", when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -97,46 +172,44 @@ class RocmOpencl(CMakePackage):
# commented out. So instead we provide
# all the includes...
- if (self.spec.satisfies('@:4.3.2') and name in ('cflags', 'cxxflags')):
- rocclr = self.spec['hip-rocclr'].prefix
+ if self.spec.satisfies("@:4.3.2") and name in ("cflags", "cxxflags"):
+ rocclr = self.spec["hip-rocclr"].prefix
extra_includes = [
- 'include',
- 'include/compiler/lib/include',
- 'include/elf',
- 'compiler/lib',
- 'compiler/lib/include',
- 'elf/utils/libelf',
- 'elf/utils/common'
+ "include",
+ "include/compiler/lib/include",
+ "include/elf",
+ "compiler/lib",
+ "compiler/lib/include",
+ "elf/utils/libelf",
+ "elf/utils/common",
]
for p in extra_includes:
- flag = '-I {0}'.format(join_path(rocclr, p))
+ flag = "-I {0}".format(join_path(rocclr, p))
flags.append(flag)
return (flags, None, None)
def cmake_args(self):
- args = [
- '-DUSE_COMGR_LIBRARY=yes'
- ]
- if self.spec.satisfies('@:4.3.0'):
- '-DROCclr_DIR={0}'.format(self.spec['hip-rocclr'].prefix),
- '-DLIBROCclr_STATIC_DIR={0}/lib'.format
- (self.spec['hip-rocclr'].prefix)
- if '@4.5.0:' in self.spec:
- args.append(self.define('ROCCLR_PATH', self.stage.source_path + '/rocclr'))
- args.append(self.define('AMD_OPENCL_PATH', self.stage.source_path))
+ args = ["-DUSE_COMGR_LIBRARY=yes"]
+ if self.spec.satisfies("@:4.3.0"):
+ "-DROCclr_DIR={0}".format(self.spec["hip-rocclr"].prefix),
+ "-DLIBROCclr_STATIC_DIR={0}/lib".format
+ (self.spec["hip-rocclr"].prefix)
+ if "@4.5.0:" in self.spec:
+ args.append(self.define("ROCCLR_PATH", self.stage.source_path + "/rocclr"))
+ args.append(self.define("AMD_OPENCL_PATH", self.stage.source_path))
return args
def setup_run_environment(self, env):
- env.set('OCL_ICD_VENDORS', self.prefix.vendors + '/')
+ env.set("OCL_ICD_VENDORS", self.prefix.vendors + "/")
- @run_after('install')
+ @run_after("install")
def post_install(self):
- vendor_config_path = join_path(self.prefix + '/vendors')
+ vendor_config_path = join_path(self.prefix + "/vendors")
mkdirp(vendor_config_path)
- config_file_name = 'amdocl64_30800.icd'
- with open(join_path(vendor_config_path, config_file_name), 'w') as f:
- f.write('libamdocl64.so')
+ config_file_name = "amdocl64_30800.icd"
+ with open(join_path(vendor_config_path, config_file_name), "w") as f:
+ f.write("libamdocl64.so")
diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
index 38e118c91d..66228e1818 100644
--- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
+++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
@@ -9,8 +9,8 @@ from typing import Dict
from spack.package import *
-tools_url = 'https://github.com/ROCm-Developer-Tools'
-compute_url = 'https://github.com/RadeonOpenCompute'
+tools_url = "https://github.com/ROCm-Developer-Tools"
+compute_url = "https://github.com/RadeonOpenCompute"
# Arrays of hashes are in order of the versions array below
# For example array[0] = 3.9.0, array[1] = 3.10.0, etc.
@@ -28,7 +28,7 @@ aomp = [
"2439473fb18bfd404eadd222e5955d0fcdf410a9efc5509696bf7b2780f3c894",
"64669ac448c439e89ec4b6e0506158e6d9b5a3edfae05882aee4c9bcd5f187b7",
"e69fe0c933cb30daafe49d9f1df71fe16f387e0287bba921995feeefdf9ac262",
- "8bab3d621343f419b29043ac0cb56e062f114991dc3ec1e33e786f771deecc8f"
+ "8bab3d621343f419b29043ac0cb56e062f114991dc3ec1e33e786f771deecc8f",
]
devlib = [
@@ -44,7 +44,7 @@ devlib = [
"83ed7aa1c9322b4fc1f57c48a63fc7718eb4195ee6fde433009b4bc78cb363f0",
"49cfa8f8fc276ba27feef40546788a2aabe259a924a97af8bef24e295d19aa5e",
"47dbcb41fb4739219cadc9f2b5f21358ed2f9895ce786d2f7a1b2c4fd044d30f",
- "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e"
+ "c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e",
]
llvm = [
@@ -60,7 +60,7 @@ llvm = [
"bca2db4aaab71541cac588d6a708fde60f0ebe744809bde8a3847044a1a77413",
"99a14394b406263576ed3d8d10334de7c78d42b349109f375d178b11492eecaf",
"db5d45c4a7842a908527c1b7b8d4a40c688225a41d23cfa382eab23edfffdd10",
- "d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128"
+ "d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128",
]
flang = [
@@ -76,7 +76,7 @@ flang = [
"e8d7f828e10516666606bcf2459a25f69401f12f0ae4d3b4a0ca57616bbd9bb0",
"9b9a53150009ff58bd0ab665b970dbebc51be891343fd5dc8e77a2133ac44333",
"d95e36f3b93097ab6fb319c744ddc71cd94af0c358accc1e5224c2bbd431266d",
- "d7847b5c6e1344dc0b4723dbe76a859257b4c242644dedb34e425f07738530d4"
+ "d7847b5c6e1344dc0b4723dbe76a859257b4c242644dedb34e425f07738530d4",
]
extras = [
@@ -92,20 +92,34 @@ extras = [
"9dfaee1eeee2141d4873f7d71fcaeacabe91f1418cb3bed19653e847921944e4",
"a4affb77bebaafb6f8d22c51d66aa6fa05381ec54cc1e14a4b10e0f3dc00157f",
"c3a2a83d8f586ee765df96a692ebe010631446f700273fa31738ea260dfc35f7",
- "2e3151a47d77166d071213af2a1691487691aae0abd5c1718d818a6d7d09cb2d"
+ "2e3151a47d77166d071213af2a1691487691aae0abd5c1718d818a6d7d09cb2d",
]
-versions = ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1', '4.5.0',
- '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']
+versions = [
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+]
versions_dict = dict() # type: Dict[str,Dict[str,str]]
-components = ['aomp', 'devlib', 'llvm', 'flang', 'extras']
+components = ["aomp", "devlib", "llvm", "flang", "extras"]
component_hashes = [aomp, devlib, llvm, flang, extras]
# Loop through versions and create necessary dictionaries of components
for outer_index, item in enumerate(versions):
for inner_index, component in enumerate(component_hashes):
- versions_dict.setdefault(item, {})[components[inner_index]] = \
- component_hashes[inner_index][outer_index]
+ versions_dict.setdefault(item, {})[components[inner_index]] = component_hashes[
+ inner_index
+ ][outer_index]
class RocmOpenmpExtras(Package):
@@ -113,277 +127,304 @@ class RocmOpenmpExtras(Package):
homepage = tools_url + "/aomp"
url = tools_url + "/aomp/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'estewart08']
- version('5.1.3', sha256=versions_dict['5.1.3']['aomp'])
- version('5.1.0', sha256=versions_dict['5.1.0']['aomp'])
- version('5.0.2', sha256=versions_dict['5.0.2']['aomp'])
- version('5.0.0', sha256=versions_dict['5.0.0']['aomp'])
- version('4.5.2', sha256=versions_dict['4.5.2']['aomp'])
- version('4.5.0', sha256=versions_dict['4.5.0']['aomp'])
- version('4.3.1', sha256=versions_dict['4.3.1']['aomp'])
- version('4.3.0', sha256=versions_dict['4.3.0']['aomp'])
- version('4.2.0', sha256=versions_dict['4.2.0']['aomp'])
- version('4.1.0', sha256=versions_dict['4.1.0']['aomp'])
- version('4.0.0', sha256=versions_dict['4.0.0']['aomp'])
- version('3.10.0', sha256=versions_dict['3.10.0']['aomp'])
- version('3.9.0', sha256=versions_dict['3.9.0']['aomp'])
-
- depends_on('cmake@3:', type='build')
- depends_on('py-setuptools', type='build')
- depends_on('python@3:', type='build')
- depends_on('perl-data-dumper', type='build')
- depends_on('awk', type='build')
- depends_on('elfutils', type=('build', 'link'))
- depends_on('libffi', type=('build', 'link'))
-
- for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0', '4.3.1',
- '4.5.0', '4.5.2', '5.0.0', '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@{0} ~openmp'.format(ver),
- when='@' + ver)
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "estewart08"]
+ version("5.1.3", sha256=versions_dict["5.1.3"]["aomp"])
+ version("5.1.0", sha256=versions_dict["5.1.0"]["aomp"])
+ version("5.0.2", sha256=versions_dict["5.0.2"]["aomp"])
+ version("5.0.0", sha256=versions_dict["5.0.0"]["aomp"])
+ version("4.5.2", sha256=versions_dict["4.5.2"]["aomp"])
+ version("4.5.0", sha256=versions_dict["4.5.0"]["aomp"])
+ version("4.3.1", sha256=versions_dict["4.3.1"]["aomp"])
+ version("4.3.0", sha256=versions_dict["4.3.0"]["aomp"])
+ version("4.2.0", sha256=versions_dict["4.2.0"]["aomp"])
+ version("4.1.0", sha256=versions_dict["4.1.0"]["aomp"])
+ version("4.0.0", sha256=versions_dict["4.0.0"]["aomp"])
+ version("3.10.0", sha256=versions_dict["3.10.0"]["aomp"])
+ version("3.9.0", sha256=versions_dict["3.9.0"]["aomp"])
+
+ depends_on("cmake@3:", type="build")
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3:", type="build")
+ depends_on("perl-data-dumper", type="build")
+ depends_on("awk", type="build")
+ depends_on("elfutils", type=("build", "link"))
+ depends_on("libffi", type=("build", "link"))
+
+ for ver in [
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@{0} ~openmp".format(ver), when="@" + ver)
# tag changed to 'rocm-' in 4.0.0
- if ver == '3.9.0' or ver == '3.10.0':
- tag = 'rocm-uc-'
+ if ver == "3.9.0" or ver == "3.10.0":
+ tag = "rocm-uc-"
else:
- tag = 'rocm-'
+ tag = "rocm-"
resource(
- name='rocm-device-libs',
- url=compute_url +
- '/ROCm-Device-Libs/archive/' + tag + ver + '.tar.gz',
- sha256=versions_dict[ver]['devlib'],
+ name="rocm-device-libs",
+ url=compute_url + "/ROCm-Device-Libs/archive/" + tag + ver + ".tar.gz",
+ sha256=versions_dict[ver]["devlib"],
expand=True,
- destination='rocm-openmp-extras',
- placement='rocm-device-libs',
- when='@' + ver)
+ destination="rocm-openmp-extras",
+ placement="rocm-device-libs",
+ when="@" + ver,
+ )
resource(
- name='flang',
- url=tools_url + '/flang/archive/' + tag + ver + '.tar.gz',
- sha256=versions_dict[ver]['flang'],
+ name="flang",
+ url=tools_url + "/flang/archive/" + tag + ver + ".tar.gz",
+ sha256=versions_dict[ver]["flang"],
expand=True,
- destination='rocm-openmp-extras',
- placement='flang',
- when='@' + ver)
+ destination="rocm-openmp-extras",
+ placement="flang",
+ when="@" + ver,
+ )
resource(
- name='aomp-extras',
- url=tools_url + '/aomp-extras/archive/' + tag + ver + '.tar.gz',
- sha256=versions_dict[ver]['extras'],
+ name="aomp-extras",
+ url=tools_url + "/aomp-extras/archive/" + tag + ver + ".tar.gz",
+ sha256=versions_dict[ver]["extras"],
expand=True,
- destination='rocm-openmp-extras',
- placement='aomp-extras',
- when='@' + ver)
+ destination="rocm-openmp-extras",
+ placement="aomp-extras",
+ when="@" + ver,
+ )
resource(
- name='llvm-project',
- url=compute_url + '/llvm-project/archive/rocm-' + ver + '.tar.gz',
- sha256=versions_dict[ver]['llvm'],
+ name="llvm-project",
+ url=compute_url + "/llvm-project/archive/rocm-" + ver + ".tar.gz",
+ sha256=versions_dict[ver]["llvm"],
expand=True,
- destination='rocm-openmp-extras',
- placement='llvm-project',
- when='@' + ver)
+ destination="rocm-openmp-extras",
+ placement="llvm-project",
+ when="@" + ver,
+ )
def setup_run_environment(self, env):
- devlibs_prefix = self.spec['llvm-amdgpu'].prefix
- openmp_extras_prefix = self.spec['rocm-openmp-extras'].prefix
- llvm_prefix = self.spec['llvm-amdgpu'].prefix
- env.set('AOMP', '{0}'.format(llvm_prefix))
- env.set('HIP_DEVICE_LIB_PATH',
- '{0}/amdgcn/bitcode'.format(devlibs_prefix))
- env.prepend_path('CPATH',
- '{0}/include'.format(openmp_extras_prefix))
- env.prepend_path('LIBRARY_PATH',
- '{0}/lib'.format(openmp_extras_prefix))
- if self.spec.version < Version('4.1.0'):
- env.set('AOMP_GPU',
- '`{0}/rocm-bin/mygpu`'.format(openmp_extras_prefix))
+ devlibs_prefix = self.spec["llvm-amdgpu"].prefix
+ openmp_extras_prefix = self.spec["rocm-openmp-extras"].prefix
+ llvm_prefix = self.spec["llvm-amdgpu"].prefix
+ env.set("AOMP", "{0}".format(llvm_prefix))
+ env.set("HIP_DEVICE_LIB_PATH", "{0}/amdgcn/bitcode".format(devlibs_prefix))
+ env.prepend_path("CPATH", "{0}/include".format(openmp_extras_prefix))
+ env.prepend_path("LIBRARY_PATH", "{0}/lib".format(openmp_extras_prefix))
+ if self.spec.version < Version("4.1.0"):
+ env.set("AOMP_GPU", "`{0}/rocm-bin/mygpu`".format(openmp_extras_prefix))
else:
- env.set('AOMP_GPU',
- '`{0}/bin/mygpu`'.format(openmp_extras_prefix))
+ env.set("AOMP_GPU", "`{0}/bin/mygpu`".format(openmp_extras_prefix))
def setup_build_environment(self, env):
- openmp_extras_prefix = self.spec['rocm-openmp-extras'].prefix
- llvm_prefix = self.spec['llvm-amdgpu'].prefix
- env.set('AOMP', '{0}'.format(llvm_prefix))
- env.set('FC', '{0}/bin/flang'.format(openmp_extras_prefix))
+ openmp_extras_prefix = self.spec["rocm-openmp-extras"].prefix
+ llvm_prefix = self.spec["llvm-amdgpu"].prefix
+ env.set("AOMP", "{0}".format(llvm_prefix))
+ env.set("FC", "{0}/bin/flang".format(openmp_extras_prefix))
gfx_list = "gfx700 gfx701 gfx801 gfx803 gfx900 gfx902 gfx906 gfx908"
- if self.spec.version >= Version('4.3.1'):
+ if self.spec.version >= Version("4.3.1"):
gfx_list = gfx_list + " gfx90a gfx1030 gfx1031"
- env.set('GFXLIST', gfx_list)
+ env.set("GFXLIST", gfx_list)
def patch(self):
src = self.stage.source_path
- aomp_extras = '{0}/rocm-openmp-extras/aomp-extras/aomp-device-libs'
- libomptarget = \
- '{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget'
- flang = '{0}/rocm-openmp-extras/flang/'
-
- if self.spec.version >= Version('4.3.0') \
- and self.spec.version < Version('5.0.0'):
- filter_file('STRIP ${FLANG_SHA}', 'STRIP 0',
- flang.format(src) + 'CMakeLists.txt', string=True)
-
- if self.spec.version < Version('4.1.0'):
- plugin = '/plugins/hsa/CMakeLists.txt'
+ aomp_extras = "{0}/rocm-openmp-extras/aomp-extras/aomp-device-libs"
+ libomptarget = "{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget"
+ flang = "{0}/rocm-openmp-extras/flang/"
+
+ if self.spec.version >= Version("4.3.0") and self.spec.version < Version("5.0.0"):
+ filter_file(
+ "STRIP ${FLANG_SHA}", "STRIP 0", flang.format(src) + "CMakeLists.txt", string=True
+ )
+
+ if self.spec.version < Version("4.1.0"):
+ plugin = "/plugins/hsa/CMakeLists.txt"
else:
- plugin = '/plugins/amdgpu/CMakeLists.txt'
+ plugin = "/plugins/amdgpu/CMakeLists.txt"
filter_file(
- '{ROCM_DIR}/amdgcn/bitcode', '{DEVICE_LIBS_DIR}',
- aomp_extras.format(src) + '/aompextras/CMakeLists.txt',
- libomptarget.format(src) + '/deviceRTLs/amdgcn/CMakeLists.txt')
+ "{ROCM_DIR}/amdgcn/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ aomp_extras.format(src) + "/aompextras/CMakeLists.txt",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ )
# Libm moved into llvm-project in 4.5.0
- if self.spec.version < Version('4.5.0'):
+ if self.spec.version < Version("4.5.0"):
filter_file(
- '{ROCM_DIR}/amdgcn/bitcode', '{DEVICE_LIBS_DIR}',
- aomp_extras.format(src) + '/libm/CMakeLists.txt')
+ "{ROCM_DIR}/amdgcn/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ aomp_extras.format(src) + "/libm/CMakeLists.txt",
+ )
# Openmp adjustments
# Fix relocation error with libffi by not using static lib.
- if self.spec.version >= Version('5.1.0'):
- filter_file('libffi.a', '',
- libomptarget.format(src) +
- '/cmake/Modules/LibomptargetGetDependencies.cmake')
+ if self.spec.version >= Version("5.1.0"):
+ filter_file(
+ "libffi.a",
+ "",
+ libomptarget.format(src) + "/cmake/Modules/LibomptargetGetDependencies.cmake",
+ )
- if self.spec.version >= Version('5.0.0'):
- filter_file('{OPENMP_INSTALL_LIBDIR}', '{OPENMP_INSTALL_LIBDIR}/libdevice',
- libomptarget.format(src) +
- '/deviceRTLs/amdgcn/CMakeLists.txt')
+ if self.spec.version >= Version("5.0.0"):
+ filter_file(
+ "{OPENMP_INSTALL_LIBDIR}",
+ "{OPENMP_INSTALL_LIBDIR}/libdevice",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ )
- if self.spec.version >= Version('4.5.0'):
+ if self.spec.version >= Version("4.5.0"):
filter_file(
- '{ROCM_DIR}/amdgcn/bitcode', '{DEVICE_LIBS_DIR}',
- libomptarget.format(src) + '/deviceRTLs/libm/CMakeLists.txt')
+ "{ROCM_DIR}/amdgcn/bitcode",
+ "{DEVICE_LIBS_DIR}",
+ libomptarget.format(src) + "/deviceRTLs/libm/CMakeLists.txt",
+ )
- if self.spec.version <= Version('4.5.0'):
+ if self.spec.version <= Version("4.5.0"):
filter_file(
- 'dl elf', 'dl ${LIBOMPTARGET_DEP_LIBELF_LIBRARIES}',
- libomptarget.format(src) + '/plugins/amdgpu/CMakeLists.txt')
+ "dl elf",
+ "dl ${LIBOMPTARGET_DEP_LIBELF_LIBRARIES}",
+ libomptarget.format(src) + "/plugins/amdgpu/CMakeLists.txt",
+ )
filter_file(
- '-nogpulib', '-nogpulib -nogpuinc',
- libomptarget.format(src) + '/deviceRTLs/amdgcn/CMakeLists.txt')
+ "-nogpulib",
+ "-nogpulib -nogpuinc",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ )
filter_file(
- '-x hip', '-x hip -nogpulib -nogpuinc',
- libomptarget.format(src) + '/deviceRTLs/amdgcn/CMakeLists.txt')
+ "-x hip",
+ "-x hip -nogpulib -nogpuinc",
+ libomptarget.format(src) + "/deviceRTLs/amdgcn/CMakeLists.txt",
+ )
filter_file(
- '-c ', '-c -nogpulib -nogpuinc -I{LIMIT}',
- libomptarget.format(src) + '/hostrpc/CMakeLists.txt')
+ "-c ",
+ "-c -nogpulib -nogpuinc -I{LIMIT}",
+ libomptarget.format(src) + "/hostrpc/CMakeLists.txt",
+ )
filter_file(
- r'${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa',
- '${HSA_INCLUDE}/hsa/include ${HSA_INCLUDE}/hsa/include/hsa',
+ r"${ROCM_DIR}/hsa/include ${ROCM_DIR}/hsa/include/hsa",
+ "${HSA_INCLUDE}/hsa/include ${HSA_INCLUDE}/hsa/include/hsa",
libomptarget.format(src) + plugin,
- string=True)
+ string=True,
+ )
- filter_file(
- '{ROCM_DIR}/hsa/lib', '{HSA_LIB}',
- libomptarget.format(src) + plugin)
+ filter_file("{ROCM_DIR}/hsa/lib", "{HSA_LIB}", libomptarget.format(src) + plugin)
filter_file(
- r'{ROCM_DIR}/lib\)',
- '{HSAKMT_LIB})\nset(HSAKMT_LIB64 ${HSAKMT_LIB64})',
- libomptarget.format(src) + plugin)
+ r"{ROCM_DIR}/lib\)",
+ "{HSAKMT_LIB})\nset(HSAKMT_LIB64 ${HSAKMT_LIB64})",
+ libomptarget.format(src) + plugin,
+ )
filter_file(
- r'-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}',
- '-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS} -L${HSAKMT_LIB64}',
+ r"-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}",
+ "-L${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS} -L${HSAKMT_LIB64}",
libomptarget.format(src) + plugin,
- string=True)
+ string=True,
+ )
filter_file(
- r'-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}',
- '-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}' +
- ',-rpath,${HSAKMT_LIB64}',
+ r"-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}",
+ "-rpath,${LIBOMPTARGET_DEP_LIBHSAKMT_LIBRARIES_DIRS}" + ",-rpath,${HSAKMT_LIB64}",
libomptarget.format(src) + plugin,
- string=True)
+ string=True,
+ )
- filter_file(
- '{ROCM_DIR}/include', '{COMGR_INCLUDE}',
- libomptarget.format(src) + plugin)
+ filter_file("{ROCM_DIR}/include", "{COMGR_INCLUDE}", libomptarget.format(src) + plugin)
filter_file(
- r'-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}',
- '-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX} -L${COMGR_LIB}',
+ r"-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}",
+ "-L${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX} -L${COMGR_LIB}",
libomptarget.format(src) + plugin,
- string=True)
+ string=True,
+ )
filter_file(
- r'rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}',
- 'rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}' +
- '-Wl,-rpath,${COMGR_LIB}',
+ r"rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}",
+ "rpath,${LLVM_LIBDIR}${OPENMP_LIBDIR_SUFFIX}" + "-Wl,-rpath,${COMGR_LIB}",
libomptarget.format(src) + plugin,
- string=True)
+ string=True,
+ )
filter_file(
- 'ADDITIONAL_VERSIONS 2.7', 'ADDITIONAL_VERSIONS 3',
- flang.format(src) + 'CMakeLists.txt')
+ "ADDITIONAL_VERSIONS 2.7",
+ "ADDITIONAL_VERSIONS 3",
+ flang.format(src) + "CMakeLists.txt",
+ )
def install(self, spec, prefix):
src = self.stage.source_path
- gfx_list = os.environ['GFXLIST']
+ gfx_list = os.environ["GFXLIST"]
gfx_list = gfx_list.replace(" ", ";")
- openmp_extras_prefix = self.spec['rocm-openmp-extras'].prefix
- devlibs_prefix = self.spec['llvm-amdgpu'].prefix
- devlibs_src = '{0}/rocm-openmp-extras/rocm-device-libs'.format(src)
- hsa_prefix = self.spec['hsa-rocr-dev'].prefix
- hsakmt_prefix = self.spec['hsakmt-roct'].prefix
- comgr_prefix = self.spec['comgr'].prefix
- llvm_inc = '/rocm-openmp-extras/llvm-project/llvm/include'
- llvm_prefix = self.spec['llvm-amdgpu'].prefix
- omp_bin_dir = '{0}/bin'.format(openmp_extras_prefix)
- omp_lib_dir = '{0}/lib'.format(openmp_extras_prefix)
- bin_dir = '{0}/bin'.format(llvm_prefix)
- lib_dir = '{0}/lib'.format(llvm_prefix)
- flang_warning = '-Wno-incompatible-pointer-types-discards-qualifiers'
- libpgmath = '/rocm-openmp-extras/flang/runtime/libpgmath/lib/common'
- elfutils_inc = spec['elfutils'].prefix.include
- ffi_inc = spec['libffi'].prefix.include
+ openmp_extras_prefix = self.spec["rocm-openmp-extras"].prefix
+ devlibs_prefix = self.spec["llvm-amdgpu"].prefix
+ devlibs_src = "{0}/rocm-openmp-extras/rocm-device-libs".format(src)
+ hsa_prefix = self.spec["hsa-rocr-dev"].prefix
+ hsakmt_prefix = self.spec["hsakmt-roct"].prefix
+ comgr_prefix = self.spec["comgr"].prefix
+ llvm_inc = "/rocm-openmp-extras/llvm-project/llvm/include"
+ llvm_prefix = self.spec["llvm-amdgpu"].prefix
+ omp_bin_dir = "{0}/bin".format(openmp_extras_prefix)
+ omp_lib_dir = "{0}/lib".format(openmp_extras_prefix)
+ bin_dir = "{0}/bin".format(llvm_prefix)
+ lib_dir = "{0}/lib".format(llvm_prefix)
+ flang_warning = "-Wno-incompatible-pointer-types-discards-qualifiers"
+ libpgmath = "/rocm-openmp-extras/flang/runtime/libpgmath/lib/common"
+ elfutils_inc = spec["elfutils"].prefix.include
+ ffi_inc = spec["libffi"].prefix.include
# flang1 and flang2 symlink needed for build of flang-runtime
# libdevice symlink to rocm-openmp-extras for runtime
# libdebug symlink to rocm-openmp-extras for runtime
- if (os.path.islink((os.path.join(bin_dir, 'flang1')))):
- os.unlink(os.path.join(bin_dir, 'flang1'))
- if (os.path.islink((os.path.join(bin_dir, 'flang2')))):
- os.unlink(os.path.join(bin_dir, 'flang2'))
- if (os.path.islink((os.path.join(lib_dir, 'libdevice')))):
- os.unlink(os.path.join(lib_dir, 'libdevice'))
- if (os.path.islink((os.path.join(llvm_prefix, 'lib-debug')))):
- os.unlink(os.path.join(llvm_prefix, 'lib-debug'))
-
- os.symlink(os.path.join(omp_bin_dir, 'flang1'),
- os.path.join(bin_dir, 'flang1'))
- os.symlink(os.path.join(omp_bin_dir, 'flang2'),
- os.path.join(bin_dir, 'flang2'))
- os.symlink(os.path.join(omp_lib_dir, 'libdevice'),
- os.path.join(lib_dir, 'libdevice'))
- os.symlink(os.path.join(openmp_extras_prefix, 'lib-debug'),
- os.path.join(llvm_prefix, 'lib-debug'))
+ if os.path.islink((os.path.join(bin_dir, "flang1"))):
+ os.unlink(os.path.join(bin_dir, "flang1"))
+ if os.path.islink((os.path.join(bin_dir, "flang2"))):
+ os.unlink(os.path.join(bin_dir, "flang2"))
+ if os.path.islink((os.path.join(lib_dir, "libdevice"))):
+ os.unlink(os.path.join(lib_dir, "libdevice"))
+ if os.path.islink((os.path.join(llvm_prefix, "lib-debug"))):
+ os.unlink(os.path.join(llvm_prefix, "lib-debug"))
+
+ os.symlink(os.path.join(omp_bin_dir, "flang1"), os.path.join(bin_dir, "flang1"))
+ os.symlink(os.path.join(omp_bin_dir, "flang2"), os.path.join(bin_dir, "flang2"))
+ os.symlink(os.path.join(omp_lib_dir, "libdevice"), os.path.join(lib_dir, "libdevice"))
+ os.symlink(
+ os.path.join(openmp_extras_prefix, "lib-debug"), os.path.join(llvm_prefix, "lib-debug")
+ )
# Set cmake args
components = dict()
- components['aomp-extras'] = [
- '../rocm-openmp-extras/aomp-extras',
- '-DLLVM_DIR={0}'.format(llvm_prefix),
- '-DDEVICE_LIBS_DIR={0}/amdgcn/bitcode'.format(devlibs_prefix),
- '-DCMAKE_C_COMPILER={0}/clang'.format(bin_dir),
- '-DCMAKE_CXX_COMPILER={0}/clang++'.format(bin_dir),
- '-DAOMP_STANDALONE_BUILD=0',
- '-DDEVICELIBS_ROOT={0}'.format(devlibs_src),
- '-DNEW_BC_PATH=1',
- '-DAOMP={0}'.format(llvm_prefix)
+ components["aomp-extras"] = [
+ "../rocm-openmp-extras/aomp-extras",
+ "-DLLVM_DIR={0}".format(llvm_prefix),
+ "-DDEVICE_LIBS_DIR={0}/amdgcn/bitcode".format(devlibs_prefix),
+ "-DCMAKE_C_COMPILER={0}/clang".format(bin_dir),
+ "-DCMAKE_CXX_COMPILER={0}/clang++".format(bin_dir),
+ "-DAOMP_STANDALONE_BUILD=0",
+ "-DDEVICELIBS_ROOT={0}".format(devlibs_src),
+ "-DNEW_BC_PATH=1",
+ "-DAOMP={0}".format(llvm_prefix),
]
# Shared cmake configuration for openmp, openmp-debug
@@ -393,96 +434,85 @@ class RocmOpenmpExtras(Package):
# Passing the elfutils include path via cmake options is a
# workaround until hsa-rocr-dev switches to elfutils.
openmp_common_args = [
- '-DROCM_DIR={0}'.format(hsa_prefix),
- '-DDEVICE_LIBS_DIR={0}/amdgcn/bitcode'.format(devlibs_prefix),
- '-DAOMP_STANDALONE_BUILD=0',
- '-DDEVICELIBS_ROOT={0}'.format(devlibs_src),
- '-DOPENMP_TEST_C_COMPILER={0}/clang'.format(bin_dir),
- '-DOPENMP_TEST_CXX_COMPILER={0}/clang++'.format(bin_dir),
- '-DCMAKE_C_COMPILER={0}/clang'.format(bin_dir),
- '-DCMAKE_CXX_COMPILER={0}/clang++'.format(bin_dir),
- '-DLIBOMPTARGET_AMDGCN_GFXLIST={0}'.format(gfx_list),
- '-DLIBOMP_COPY_EXPORTS=OFF',
- '-DHSA_LIB={0}/lib'.format(hsa_prefix),
- '-DHSAKMT_LIB={0}/lib'.format(hsakmt_prefix),
- '-DHSAKMT_LIB64={0}/lib64'.format(hsakmt_prefix),
- '-DCOMGR_INCLUDE={0}/include'.format(comgr_prefix),
- '-DCOMGR_LIB={0}/lib'.format(comgr_prefix),
- '-DOPENMP_ENABLE_LIBOMPTARGET=1',
- '-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1',
- '-DLLVM_MAIN_INCLUDE_DIR={0}{1}'.format(src, llvm_inc),
- '-DLLVM_INSTALL_PREFIX={0}'.format(llvm_prefix),
- '-DCMAKE_C_FLAGS=-isystem{0} -I{1}'.format(elfutils_inc, ffi_inc),
- '-DCMAKE_CXX_FLAGS=-isystem{0} -I{1}'.format(elfutils_inc, ffi_inc),
- '-DNEW_BC_PATH=1'
+ "-DROCM_DIR={0}".format(hsa_prefix),
+ "-DDEVICE_LIBS_DIR={0}/amdgcn/bitcode".format(devlibs_prefix),
+ "-DAOMP_STANDALONE_BUILD=0",
+ "-DDEVICELIBS_ROOT={0}".format(devlibs_src),
+ "-DOPENMP_TEST_C_COMPILER={0}/clang".format(bin_dir),
+ "-DOPENMP_TEST_CXX_COMPILER={0}/clang++".format(bin_dir),
+ "-DCMAKE_C_COMPILER={0}/clang".format(bin_dir),
+ "-DCMAKE_CXX_COMPILER={0}/clang++".format(bin_dir),
+ "-DLIBOMPTARGET_AMDGCN_GFXLIST={0}".format(gfx_list),
+ "-DLIBOMP_COPY_EXPORTS=OFF",
+ "-DHSA_LIB={0}/lib".format(hsa_prefix),
+ "-DHSAKMT_LIB={0}/lib".format(hsakmt_prefix),
+ "-DHSAKMT_LIB64={0}/lib64".format(hsakmt_prefix),
+ "-DCOMGR_INCLUDE={0}/include".format(comgr_prefix),
+ "-DCOMGR_LIB={0}/lib".format(comgr_prefix),
+ "-DOPENMP_ENABLE_LIBOMPTARGET=1",
+ "-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1",
+ "-DLLVM_MAIN_INCLUDE_DIR={0}{1}".format(src, llvm_inc),
+ "-DLLVM_INSTALL_PREFIX={0}".format(llvm_prefix),
+ "-DCMAKE_C_FLAGS=-isystem{0} -I{1}".format(elfutils_inc, ffi_inc),
+ "-DCMAKE_CXX_FLAGS=-isystem{0} -I{1}".format(elfutils_inc, ffi_inc),
+ "-DNEW_BC_PATH=1",
]
- if self.spec.version < Version('4.1.0'):
- openmp_common_args += [
- '-DHSA_INCLUDE={0}'.format(hsa_prefix)
- ]
+ if self.spec.version < Version("4.1.0"):
+ openmp_common_args += ["-DHSA_INCLUDE={0}".format(hsa_prefix)]
else:
- openmp_common_args += [
- '-DHSA_INCLUDE={0}/include/hsa'.format(hsa_prefix)
- ]
+ openmp_common_args += ["-DHSA_INCLUDE={0}/include/hsa".format(hsa_prefix)]
- components['openmp'] = ['../rocm-openmp-extras/llvm-project/openmp']
- components['openmp'] += openmp_common_args
+ components["openmp"] = ["../rocm-openmp-extras/llvm-project/openmp"]
+ components["openmp"] += openmp_common_args
- components['openmp-debug'] = [
- '../rocm-openmp-extras/llvm-project/openmp',
- '-DLIBOMPTARGET_NVPTX_DEBUG=ON',
- '-DCMAKE_CXX_FLAGS=-g',
- '-DCMAKE_C_FLAGS=-g'
+ components["openmp-debug"] = [
+ "../rocm-openmp-extras/llvm-project/openmp",
+ "-DLIBOMPTARGET_NVPTX_DEBUG=ON",
+ "-DCMAKE_CXX_FLAGS=-g",
+ "-DCMAKE_C_FLAGS=-g",
]
- components['openmp-debug'] += openmp_common_args
+ components["openmp-debug"] += openmp_common_args
# Shared cmake configuration for pgmath, flang, flang-runtime
flang_common_args = [
- '-DLLVM_ENABLE_ASSERTIONS=ON',
- '-DLLVM_CONFIG={0}/llvm-config'.format(bin_dir),
- '-DCMAKE_CXX_COMPILER={0}/clang++'.format(bin_dir),
- '-DCMAKE_C_COMPILER={0}/clang'.format(bin_dir),
- '-DCMAKE_Fortran_COMPILER={0}/flang'.format(bin_dir),
- '-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86'
+ "-DLLVM_ENABLE_ASSERTIONS=ON",
+ "-DLLVM_CONFIG={0}/llvm-config".format(bin_dir),
+ "-DCMAKE_CXX_COMPILER={0}/clang++".format(bin_dir),
+ "-DCMAKE_C_COMPILER={0}/clang".format(bin_dir),
+ "-DCMAKE_Fortran_COMPILER={0}/flang".format(bin_dir),
+ "-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86",
]
- if self.spec.version >= Version('4.2.0'):
+ if self.spec.version >= Version("4.2.0"):
# Spack thinks some warnings from the flang build are errors.
# Disable those warnings in C and CXX flags.
flang_common_args += [
- '-DCMAKE_CXX_FLAGS={0}'.format(flang_warning) +
- ' -I{0}{1}'.format(src, libpgmath),
- '-DCMAKE_C_FLAGS={0}'.format(flang_warning) +
- ' -I{0}{1}'.format(src, libpgmath)
+ "-DCMAKE_CXX_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath),
+ "-DCMAKE_C_FLAGS={0}".format(flang_warning) + " -I{0}{1}".format(src, libpgmath),
]
- components['pgmath'] = [
- '../rocm-openmp-extras/flang/runtime/libpgmath'
- ]
+ components["pgmath"] = ["../rocm-openmp-extras/flang/runtime/libpgmath"]
- components['pgmath'] += flang_common_args
+ components["pgmath"] += flang_common_args
- components['flang'] = [
- '../rocm-openmp-extras/flang',
- '-DFLANG_OPENMP_GPU_AMD=ON',
- '-DFLANG_OPENMP_GPU_NVIDIA=ON'
+ components["flang"] = [
+ "../rocm-openmp-extras/flang",
+ "-DFLANG_OPENMP_GPU_AMD=ON",
+ "-DFLANG_OPENMP_GPU_NVIDIA=ON",
]
- components['flang'] += flang_common_args
+ components["flang"] += flang_common_args
- components['flang-runtime'] = [
- '../rocm-openmp-extras/flang',
- '-DLLVM_INSTALL_RUNTIME=ON',
- '-DFLANG_BUILD_RUNTIME=ON',
- '-DOPENMP_BUILD_DIR={0}/spack-build-openmp/runtime/src'.format(src)
+ components["flang-runtime"] = [
+ "../rocm-openmp-extras/flang",
+ "-DLLVM_INSTALL_RUNTIME=ON",
+ "-DFLANG_BUILD_RUNTIME=ON",
+ "-DOPENMP_BUILD_DIR={0}/spack-build-openmp/runtime/src".format(src),
]
- components['flang-runtime'] += flang_common_args
+ components["flang-runtime"] += flang_common_args
- build_order = [
- "aomp-extras", "openmp", "openmp-debug", "pgmath",
- "flang", "flang-runtime"
- ]
+ build_order = ["aomp-extras", "openmp", "openmp-debug", "pgmath", "flang", "flang-runtime"]
# Override standard CMAKE_BUILD_TYPE
for arg in std_cmake_args:
@@ -490,7 +520,7 @@ class RocmOpenmpExtras(Package):
if found:
std_cmake_args.remove(arg)
for component in build_order:
- with working_dir('spack-build-{0}'.format(component), create=True):
+ with working_dir("spack-build-{0}".format(component), create=True):
cmake_args = components[component]
cmake_args.extend(std_cmake_args)
# OpenMP build needs to be run twice(Release, Debug)
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 3bad637b70..41a5d2f207 100644
--- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py
+++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py
@@ -13,64 +13,105 @@ from spack.package import *
class RocmSmiLib(CMakePackage):
"""It is a C library for Linux that provides a user space interface
- for applications to monitor and control GPU applications."""
+ for applications to monitor and control GPU applications."""
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-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/RadeonOpenCompute/rocm_smi_lib.git"
+ url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocm_smi64']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocm_smi64"]
- version('master', branch='master')
- version('5.1.3', sha256='8a19ce60dc9221545aa50e83e88d8c4be9bf7cde2425cefb13710131dc1d7b1b')
- version('5.1.0', sha256='21b31b43015b77a9119cf4c1d4ff3864f9ef1f34e2a52a38f985a3f710dc5f87')
- version('5.0.2', sha256='a169129e4ecd1cca134039dc1bf91e1b3721768781abfae4ae61fad60a633472')
- version('5.0.0', sha256='9d0e560072f815b441528a5d6124e901570a5a04e9cff1f21329861609b37203')
- version('4.5.2', sha256='d4a34db26852defb62817aa44f08ef96d678c63a6f33425bc9d48c18e5e37b7a')
- version('4.5.0', sha256='43a2cc2ec548cc28698ca4fa01a947a4414febd433936a8d9770bf6f6ed55e4f')
- version('4.3.1', sha256='ea2f9d8a9999e4aac1cb969e6bf2a9f0b6d02f29d0c319b36cce26412ab8a8b0', deprecated=True)
- version('4.3.0', sha256='c3ff56a14d334cb688a2e9a748dac46d9c2f7f576fe1f53416b1a0edbe842f8b', deprecated=True)
- version('4.2.0', sha256='c31bf91c492f00d0c5ab21e45afbd7baa990e4a8d7ce9b01e3b988e5fdd53f50', deprecated=True)
- version('4.1.0', sha256='0c1d2152e40e14bb385071ae16e7573290fb9f74afa5ab887c54f4dd75849a6b', deprecated=True)
- version('4.0.0', sha256='93d19229b5a511021bf836ddc2a9922e744bf8ee52ee0e2829645064301320f4', deprecated=True)
- version('3.10.0', sha256='8bb2142640d1c6bf141f19accf809e61377a6e0c0222e47ac4daa5da2c85ddac', deprecated=True)
- version('3.9.0', sha256='b2934b112542af56de2dc1d5bffff59957e21050db6e3e5abd4c99e46d4a0ffe', deprecated=True)
- version('3.8.0', sha256='86250c9ae9dfb18d4f7259a5f2f09b21574d4996fe5034a739ce63a27acd0082', deprecated=True)
- version('3.7.0', sha256='72d2a3deda0b55a2d92833cd648f50c7cb64f8341b254a0badac0152b26f1391', deprecated=True)
- version('3.5.0', sha256='a5d2ec3570d018b60524f0e589c4917f03d26578443f94bde27a170c7bb21e6e', deprecated=True)
+ version("master", branch="master")
+ version("5.1.3", sha256="8a19ce60dc9221545aa50e83e88d8c4be9bf7cde2425cefb13710131dc1d7b1b")
+ version("5.1.0", sha256="21b31b43015b77a9119cf4c1d4ff3864f9ef1f34e2a52a38f985a3f710dc5f87")
+ version("5.0.2", sha256="a169129e4ecd1cca134039dc1bf91e1b3721768781abfae4ae61fad60a633472")
+ version("5.0.0", sha256="9d0e560072f815b441528a5d6124e901570a5a04e9cff1f21329861609b37203")
+ version("4.5.2", sha256="d4a34db26852defb62817aa44f08ef96d678c63a6f33425bc9d48c18e5e37b7a")
+ version("4.5.0", sha256="43a2cc2ec548cc28698ca4fa01a947a4414febd433936a8d9770bf6f6ed55e4f")
+ version(
+ "4.3.1",
+ sha256="ea2f9d8a9999e4aac1cb969e6bf2a9f0b6d02f29d0c319b36cce26412ab8a8b0",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="c3ff56a14d334cb688a2e9a748dac46d9c2f7f576fe1f53416b1a0edbe842f8b",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="c31bf91c492f00d0c5ab21e45afbd7baa990e4a8d7ce9b01e3b988e5fdd53f50",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="0c1d2152e40e14bb385071ae16e7573290fb9f74afa5ab887c54f4dd75849a6b",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="93d19229b5a511021bf836ddc2a9922e744bf8ee52ee0e2829645064301320f4",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="8bb2142640d1c6bf141f19accf809e61377a6e0c0222e47ac4daa5da2c85ddac",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="b2934b112542af56de2dc1d5bffff59957e21050db6e3e5abd4c99e46d4a0ffe",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="86250c9ae9dfb18d4f7259a5f2f09b21574d4996fe5034a739ce63a27acd0082",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="72d2a3deda0b55a2d92833cd648f50c7cb64f8341b254a0badac0152b26f1391",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="a5d2ec3570d018b60524f0e589c4917f03d26578443f94bde27a170c7bb21e6e",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('shared', default=True, description='Build shared or static library')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("shared", default=True, description="Build shared or static library")
- depends_on('cmake@3:', type='build')
- depends_on('python@3:', type=('build', 'run'), when='@3.9.0:')
+ depends_on("cmake@3:", type="build")
+ depends_on("python@3:", type=("build", "run"), when="@3.9.0:")
- patch('disable_pdf_generation_with_doxygen_and_latex.patch', when='@4.5.2:')
+ patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@4.5.2:")
def cmake_args(self):
- return [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
- ]
+ return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
- @run_after('install')
+ @run_after("install")
def post_install(self):
shutil.rmtree(self.prefix.lib)
- install_tree(self.prefix.rocm_smi, self.prefix)
+ install_tree(self.prefix.rocm_smi, self.prefix)
shutil.rmtree(self.prefix.rocm_smi)
- os.remove(join_path(self.prefix.bin, 'rsmiBindings.py'))
- symlink('../bindings/rsmiBindings.py',
- join_path(self.prefix.bin, 'rsmiBindings.py'))
+ os.remove(join_path(self.prefix.bin, "rsmiBindings.py"))
+ symlink("../bindings/rsmiBindings.py", join_path(self.prefix.bin, "rsmiBindings.py"))
diff --git a/var/spack/repos/builtin/packages/rocm-smi/package.py b/var/spack/repos/builtin/packages/rocm-smi/package.py
index 4915cf041e..79f5a2aa32 100644
--- a/var/spack/repos/builtin/packages/rocm-smi/package.py
+++ b/var/spack/repos/builtin/packages/rocm-smi/package.py
@@ -11,34 +11,61 @@ from spack.package import *
class RocmSmi(MakefilePackage):
"""This tool exposes functionality for clock and temperature
- management of your ROCm enabled system
+ management of your ROCm enabled system
- Note: After ROCm 3.9, this project moved to
- https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/master/python_smi_tools
- The spack package is called: rocm-smi-lib"""
+ Note: After ROCm 3.9, this project moved to
+ https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/master/python_smi_tools
+ The spack package is called: rocm-smi-lib"""
homepage = "https://github.com/RadeonOpenCompute/ROC-smi"
- url = "https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-4.1.0.tar.gz"
+ url = "https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-4.1.0.tar.gz"
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('4.1.0', sha256='5f9f551f93f673f4b508f47a7f24bce903288ffb08fa9e4c8e0956a4a57865c2', deprecated=True)
- version('4.0.0', sha256='bf8738ae81c0a02d83eb9437b93dc153fb63f659f3b04d454024e30678b43575', deprecated=True)
- version('3.10.0', sha256='b1c7e529e8fcc53fb6b40a4126651da0ab07bcb91faac99519ba9660412ea4ed', deprecated=True)
- version('3.9.0', sha256='af3cc6d5e2296f47b1873339faad2d27cf2f24725771bf34c7f644d20cc6ef3b', deprecated=True)
- version('3.8.0', sha256='248d9bddc3353c74defd57f203df0648278a4613f2af7fb838d92a4bc8de575d', deprecated=True)
- version('3.7.0', sha256='4e34b3b4e409bb89677882f47d9988d56bc2d9bb9893f0712c22a4b73789e06a', deprecated=True)
- version('3.5.0', sha256='4f46e947c415a4ac12b9f6989f15a42afe32551706b4f48476fba3abf92e8e7c', deprecated=True)
+ version(
+ "4.1.0",
+ sha256="5f9f551f93f673f4b508f47a7f24bce903288ffb08fa9e4c8e0956a4a57865c2",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="bf8738ae81c0a02d83eb9437b93dc153fb63f659f3b04d454024e30678b43575",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="b1c7e529e8fcc53fb6b40a4126651da0ab07bcb91faac99519ba9660412ea4ed",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="af3cc6d5e2296f47b1873339faad2d27cf2f24725771bf34c7f644d20cc6ef3b",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="248d9bddc3353c74defd57f203df0648278a4613f2af7fb838d92a4bc8de575d",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="4e34b3b4e409bb89677882f47d9988d56bc2d9bb9893f0712c22a4b73789e06a",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="4f46e947c415a4ac12b9f6989f15a42afe32551706b4f48476fba3abf92e8e7c",
+ deprecated=True,
+ )
- depends_on('python@3:', type='run')
+ depends_on("python@3:", type="run")
def install(self, spec, prefix):
filter_file(
- '^#!/usr/bin/python3',
- '#!/usr/bin/env {0}'.format(
- os.path.basename(self.spec['python'].command.path)),
- 'rocm_smi.py'
+ "^#!/usr/bin/python3",
+ "#!/usr/bin/env {0}".format(os.path.basename(self.spec["python"].command.path)),
+ "rocm_smi.py",
)
mkdir(prefix.bin)
- copy('rocm_smi.py', prefix.bin)
- symlink('rocm_smi.py', prefix.bin.rocm_smi)
+ copy("rocm_smi.py", prefix.bin)
+ symlink("rocm_smi.py", prefix.bin.rocm_smi)
diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py
index b82aa6d76b..2a4254de8e 100644
--- a/var/spack/repos/builtin/packages/rocm-tensile/package.py
+++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py
@@ -12,78 +12,160 @@ class RocmTensile(CMakePackage):
"""Radeon Open Compute Tensile library"""
homepage = "https://github.com/ROCmSoftwarePlatform/Tensile/"
- git = "https://github.com/ROCmSoftwarePlatform/Tensile.git"
- url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
-
- version('5.1.3', sha256='87020ca268e3a1ed8853f629839d6497764d862bd70b8775e98de439f6c89f1d')
- version('5.1.0', sha256='0ac86a623597152c5b1d8bb5634aad3e55afa51959476aaa5e9869d259ddf375')
- version('5.0.2', sha256='c6130de3b02f4f10635d18f913b3b88ea754fce2842c680e9caf5a6781da8f37')
- version('5.0.0', sha256='2a814ee8576ff1f06cc5ac4556300c8e7cbf77ef8c87b56992f3e66d8862f213')
- version('4.5.2', sha256='da20256224749c0a8b44aaede25fbcd66cfeac483081af5d22f1d1fcf49dffc1')
- version('4.5.0', sha256='26a27659c864b5372ca4407671c6e8d4be3bbc05c64fc18762ad570cd3b3af1f')
- version('4.3.1', sha256='6fce0ac22051a454fe984283766eb473dc50752cd30bad05acb3dbde6ef4f8b1', deprecated=True)
- version('4.3.0', sha256='911c0cdb0146d43a2a59170e6a803f414a2b68df7d9ff369ab784d11a08d7264', deprecated=True)
- version('4.2.0', sha256='198e357a14a79366b27b1097856d4821996bc36163be0cd2668910b253721060', deprecated=True)
- version('4.1.0', sha256='92b8ee13dfc11a67d5136227ee985622685790fd3f0f0e1ec6db411d4e9a3419', deprecated=True)
- version('4.0.0', sha256='cf105ce8c3e352d19713b3bf8bda77f25c1a692c4f2ca82d631ba15523ecc1cd', deprecated=True)
- version('3.10.0', sha256='8d5b50aadfa56a9195e4c387b8eb351c9b9b7671b136b624e07fe28db24bd330', deprecated=True)
- version('3.9.0', sha256='17a011f8c3433d4f8c2dddabd5854cf96c406d24592b3942deb51672c570882e', deprecated=True)
- version('3.8.0', sha256='c78a11db85fdf54bfd26533ee6fa98f6a6e789fa423537993061497ac5f22ed6', deprecated=True)
- version('3.7.0', sha256='488a7f76ea42a7601d0557f53068ec4832a2c7c06bb1b511470a4e35599a5a4d', deprecated=True)
- version('3.5.0', sha256='71eb3eed6625b08a4cedb539dd9b596e3d4cc82a1a8063d37d94c0765b6f8257', deprecated=True)
-
- tensile_architecture = ('all', 'gfx906', 'gfx908', 'gfx000', 'gfx900',
- 'gfx906:xnack-', 'gfx908:xnack-', 'gfx90a:xnack-',
- 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030')
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('tensile_architecture', default='all', values=tensile_architecture, multi=True)
- variant('openmp', default=True, description='Enable OpenMP')
- conflicts('tensile_architecture=gfx906', when='@4.0.1:')
- conflicts('tensile_architecture=gfx908', when='@4.0.1:')
- depends_on('cmake@3:', type='build')
+ git = "https://github.com/ROCmSoftwarePlatform/Tensile.git"
+ url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+
+ version("5.1.3", sha256="87020ca268e3a1ed8853f629839d6497764d862bd70b8775e98de439f6c89f1d")
+ version("5.1.0", sha256="0ac86a623597152c5b1d8bb5634aad3e55afa51959476aaa5e9869d259ddf375")
+ version("5.0.2", sha256="c6130de3b02f4f10635d18f913b3b88ea754fce2842c680e9caf5a6781da8f37")
+ version("5.0.0", sha256="2a814ee8576ff1f06cc5ac4556300c8e7cbf77ef8c87b56992f3e66d8862f213")
+ version("4.5.2", sha256="da20256224749c0a8b44aaede25fbcd66cfeac483081af5d22f1d1fcf49dffc1")
+ version("4.5.0", sha256="26a27659c864b5372ca4407671c6e8d4be3bbc05c64fc18762ad570cd3b3af1f")
+ version(
+ "4.3.1",
+ sha256="6fce0ac22051a454fe984283766eb473dc50752cd30bad05acb3dbde6ef4f8b1",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="911c0cdb0146d43a2a59170e6a803f414a2b68df7d9ff369ab784d11a08d7264",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="198e357a14a79366b27b1097856d4821996bc36163be0cd2668910b253721060",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="92b8ee13dfc11a67d5136227ee985622685790fd3f0f0e1ec6db411d4e9a3419",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="cf105ce8c3e352d19713b3bf8bda77f25c1a692c4f2ca82d631ba15523ecc1cd",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="8d5b50aadfa56a9195e4c387b8eb351c9b9b7671b136b624e07fe28db24bd330",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="17a011f8c3433d4f8c2dddabd5854cf96c406d24592b3942deb51672c570882e",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="c78a11db85fdf54bfd26533ee6fa98f6a6e789fa423537993061497ac5f22ed6",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="488a7f76ea42a7601d0557f53068ec4832a2c7c06bb1b511470a4e35599a5a4d",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="71eb3eed6625b08a4cedb539dd9b596e3d4cc82a1a8063d37d94c0765b6f8257",
+ deprecated=True,
+ )
+
+ tensile_architecture = (
+ "all",
+ "gfx906",
+ "gfx908",
+ "gfx000",
+ "gfx900",
+ "gfx906:xnack-",
+ "gfx908:xnack-",
+ "gfx90a:xnack-",
+ "gfx1010",
+ "gfx1011",
+ "gfx1012",
+ "gfx1030",
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ variant("tensile_architecture", default="all", values=tensile_architecture, multi=True)
+ variant("openmp", default=True, description="Enable OpenMP")
+ conflicts("tensile_architecture=gfx906", when="@4.0.1:")
+ conflicts("tensile_architecture=gfx908", when="@4.0.1:")
+ depends_on("cmake@3:", type="build")
# This is the default library format since 3.7.0
- depends_on('msgpack-c@3:', when='@3.7:')
- depends_on('boost', type=('build', 'link'))
+ depends_on("msgpack-c@3:", when="@3.7:")
+ depends_on("boost", type=("build", "link"))
depends_on(Boost.with_default_variants)
- for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
- '4.2.0', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver + '+openmp')
- depends_on('llvm-amdgpu@' + ver + '~openmp', when='@' + ver + '~openmp')
- depends_on('rocminfo@' + ver, type='build', when='@' + ver)
-
- 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', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver)
-
- root_cmakelists_dir = 'Tensile/Source'
+ for ver in [
+ "3.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver + "+openmp")
+ depends_on("llvm-amdgpu@" + ver + "~openmp", when="@" + ver + "~openmp")
+ depends_on("rocminfo@" + ver, type="build", when="@" + ver)
+
+ 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",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("rocm-smi-lib@" + ver, type="build", 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.
- patch('0001-fix-compile-error.patch', when='@3.7.0:3.8.0')
- patch('0002-require-openmp-when-tensile-use-openmp-is-on.patch', when='@3.9.0:4.0.0')
+ patch("0001-fix-compile-error.patch", when="@3.7.0:3.8.0")
+ patch("0002-require-openmp-when-tensile-use-openmp-is-on.patch", when="@3.9.0:4.0.0")
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def get_gpulist_for_tensile_support(self):
- arch = self.spec.variants['tensile_architecture'].value
- if arch[0] == 'all':
- if self.spec.satisfies('@:4.0.0'):
+ arch = self.spec.variants["tensile_architecture"].value
+ if arch[0] == "all":
+ if self.spec.satisfies("@:4.0.0"):
arch_value = self.tensile_architecture[1:4]
- elif self.spec.satisfies('@4.1.0:4.2.0'):
+ elif self.spec.satisfies("@4.1.0:4.2.0"):
arch_value = self.tensile_architecture[3:6]
- elif self.spec.satisfies('@4.3.0:'):
+ elif self.spec.satisfies("@4.3.0:"):
arch_value = self.tensile_architecture[3:]
return arch_value
else:
@@ -91,30 +173,26 @@ class RocmTensile(CMakePackage):
def cmake_args(self):
args = [
- self.define('amd_comgr_DIR', self.spec['comgr'].prefix),
- self.define('Tensile_COMPILER', 'hipcc'),
- self.define('Tensile_LOGIC', 'asm_full'),
- self.define('Tensile_CODE_OBJECT_VERSION', 'V3'),
- self.define('Boost_USE_STATIC_LIBS', 'OFF'),
- self.define('TENSILE_USE_OPENMP', 'ON'),
- self.define(
- 'BUILD_WITH_TENSILE_HOST',
- 'ON' if '@3.7.0:' in self.spec else 'OFF'
- )
+ self.define("amd_comgr_DIR", self.spec["comgr"].prefix),
+ self.define("Tensile_COMPILER", "hipcc"),
+ self.define("Tensile_LOGIC", "asm_full"),
+ self.define("Tensile_CODE_OBJECT_VERSION", "V3"),
+ self.define("Boost_USE_STATIC_LIBS", "OFF"),
+ self.define("TENSILE_USE_OPENMP", "ON"),
+ self.define("BUILD_WITH_TENSILE_HOST", "ON" if "@3.7.0:" in self.spec else "OFF"),
]
- if '@3.7.0:' in self.spec:
- args.append(self.define('Tensile_LIBRARY_FORMAT', 'msgpack'))
+ if "@3.7.0:" in self.spec:
+ args.append(self.define("Tensile_LIBRARY_FORMAT", "msgpack"))
- args.append(self.define('Tensile_ARCHITECTURE',
- self.get_gpulist_for_tensile_support()))
+ args.append(self.define("Tensile_ARCHITECTURE", self.get_gpulist_for_tensile_support()))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('./client', prefix.client)
- install_tree('./lib', prefix.lib)
+ install_tree("./client", prefix.client)
+ install_tree("./lib", prefix.lib)
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 7f96bc67a1..0c98ccef85 100644
--- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py
+++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py
@@ -10,86 +10,145 @@ from spack.package import *
class RocmValidationSuite(CMakePackage):
"""The ROCm Validation Suite (RVS) is a system administrators
- and cluster manager's tool for detecting and troubleshooting
- common problems affecting AMD GPU(s) running in a high-performance
- computing environment, enabled using the ROCm software stack on a
- compatible platform."""
+ and cluster manager's tool for detecting and troubleshooting
+ common problems affecting AMD GPU(s) running in a high-performance
+ computing environment, enabled using the ROCm software stack on a
+ compatible platform."""
homepage = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite"
- url = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ url = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('5.1.3', sha256='0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6')
- version('5.1.0', sha256='d9b9771b885bd94e5d0352290d3fe0fa12f94ce3f384c3844002cd7614880010')
- version('5.0.2', sha256='f249fe700a5a96c6dabf12130a3e366ae6025fe1442a5d11d08801d6c0265af4')
- version('5.0.0', sha256='d4ad31db0377096117714c9f4648cb37d6808ce618cd0bb5e4cc89cc9b4e37fd')
- version('4.5.2', sha256='e2a128395367a60a17d4d0f62daee7d34358c75332ed582243b18da409589ab8')
- version('4.5.0', sha256='54181dd5a132a7f4a34a9316d8c00d78343ec45c069c586134ce4e61e68747f5')
- version('4.3.1', sha256='779a3b0afb53277e41cf863185e87f95d9b2bbb748fcb062cbb428d0b510fb69', deprecated=True)
- version('4.3.0', sha256='f7a918b513c51dd5eadce3f2e091679b2dfe6544a913960ac483567792a06a4c', deprecated=True)
- version('4.2.0', sha256='b25e58a842a8eb90bfd6c4ae426ca5cfdd5de2f8a091761f83597f7cfc2cd0f3', deprecated=True)
- version('4.1.0', sha256='f9618f89384daa0ae897b36638a3737bcfa47e98778e360338267cd1fe2bbc66', deprecated=True)
- version('4.0.0', sha256='04743ca8901b94a801759a3c13c8caf3e6ea950ffcda6408173e6f9ef7b86e74', deprecated=True)
- version('3.10.0', sha256='9f9a530f7850770663e0b0ec0c786367f2e22500a472ac6652c4fd9fb4df4f64', deprecated=True)
- version('3.9.0', sha256='17662028a4485b97e3ccaad5e94d20aaa2c3e9e3f741c7ebbf0f8b4cdebcc555', deprecated=True)
- version('3.8.0', sha256='68f1c5102e5cbed205a0ecf5a01efbdccf480f7e484ab1e58cbc6bc03e428122', deprecated=True)
- version('3.7.0', sha256='bb42d7fb7ee877b80ce53b0cd1f04b0c8301197b6777d2edddcb44732bf8c9e2', deprecated=True)
- version('3.5.0', sha256='273e67ecce7e32939341679362b649f3361a36a22fab5f64cefe94b49e6f1e46', deprecated=True)
+ version("5.1.3", sha256="0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6")
+ version("5.1.0", sha256="d9b9771b885bd94e5d0352290d3fe0fa12f94ce3f384c3844002cd7614880010")
+ version("5.0.2", sha256="f249fe700a5a96c6dabf12130a3e366ae6025fe1442a5d11d08801d6c0265af4")
+ version("5.0.0", sha256="d4ad31db0377096117714c9f4648cb37d6808ce618cd0bb5e4cc89cc9b4e37fd")
+ version("4.5.2", sha256="e2a128395367a60a17d4d0f62daee7d34358c75332ed582243b18da409589ab8")
+ version("4.5.0", sha256="54181dd5a132a7f4a34a9316d8c00d78343ec45c069c586134ce4e61e68747f5")
+ version(
+ "4.3.1",
+ sha256="779a3b0afb53277e41cf863185e87f95d9b2bbb748fcb062cbb428d0b510fb69",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="f7a918b513c51dd5eadce3f2e091679b2dfe6544a913960ac483567792a06a4c",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="b25e58a842a8eb90bfd6c4ae426ca5cfdd5de2f8a091761f83597f7cfc2cd0f3",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="f9618f89384daa0ae897b36638a3737bcfa47e98778e360338267cd1fe2bbc66",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="04743ca8901b94a801759a3c13c8caf3e6ea950ffcda6408173e6f9ef7b86e74",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="9f9a530f7850770663e0b0ec0c786367f2e22500a472ac6652c4fd9fb4df4f64",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="17662028a4485b97e3ccaad5e94d20aaa2c3e9e3f741c7ebbf0f8b4cdebcc555",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="68f1c5102e5cbed205a0ecf5a01efbdccf480f7e484ab1e58cbc6bc03e428122",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="bb42d7fb7ee877b80ce53b0cd1f04b0c8301197b6777d2edddcb44732bf8c9e2",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="273e67ecce7e32939341679362b649f3361a36a22fab5f64cefe94b49e6f1e46",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- patch('001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch', when='@4.1.0:4.3.2')
- patch('002-remove-force-setting-hip-inc-path.patch', when='@4.1.0:4.3.2')
- patch('003-cmake-change-to-remove-installs-and-sudo.patch', when='@4.1.0:4.3.2')
- patch('004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch', when='@4.3.0:4.3.2')
- patch('005-cleanup-path-reference-donot-download-googletest-yaml.patch', when='@4.5.0:')
- patch('006-library-path.patch', when='@4.5.0:')
+ patch("001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch", when="@4.1.0:4.3.2")
+ patch("002-remove-force-setting-hip-inc-path.patch", when="@4.1.0:4.3.2")
+ patch("003-cmake-change-to-remove-installs-and-sudo.patch", when="@4.1.0:4.3.2")
+ patch("004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch", when="@4.3.0:4.3.2")
+ patch("005-cleanup-path-reference-donot-download-googletest-yaml.patch", when="@4.5.0:")
+ patch("006-library-path.patch", when="@4.5.0:")
- depends_on('cmake@3.5:', type='build')
- depends_on('zlib', type='link')
- depends_on('yaml-cpp~shared')
- depends_on('googletest~shared', when='@4.5.0:')
- depends_on('doxygen', type='build', when='@4.5.0:')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("zlib", type="link")
+ depends_on("yaml-cpp~shared")
+ depends_on("googletest~shared", when="@4.5.0:")
+ depends_on("doxygen", type="build", when="@4.5.0:")
def setup_build_environment(self, build_env):
spec = self.spec
- build_env.set("HIPCC_PATH", spec['hip'].prefix)
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('hip-rocclr@' + ver, when='@' + ver)
- depends_on('rocminfo@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
- depends_on('rocm-smi-lib@' + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("hip-rocclr@" + ver, when="@" + ver)
+ depends_on("rocminfo@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
+ depends_on("rocm-smi-lib@" + ver, when="@" + ver)
def patch(self):
- if '@4.5.0:' in self.spec:
- filter_file('@ROCM_PATH@/rvs',
- self.spec.prefix.rvs,
- 'rvs/conf/deviceid.sh.in',
- string=True)
+ if "@4.5.0:" in self.spec:
+ filter_file(
+ "@ROCM_PATH@/rvs", self.spec.prefix.rvs, "rvs/conf/deviceid.sh.in", string=True
+ )
def cmake_args(self):
args = [
- self.define('HIP_PATH', self.spec['hip'].prefix),
- self.define('HSA_PATH', self.spec['hsa-rocr-dev'].prefix),
- self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix),
- self.define('ROCBLAS_DIR', self.spec['rocblas'].prefix),
- self.define('YAML_INC_DIR', self.spec['yaml-cpp'].prefix.include),
- self.define('YAML_LIB_DIR', self.spec['yaml-cpp'].libs.directories[0]),
+ self.define("HIP_PATH", self.spec["hip"].prefix),
+ self.define("HSA_PATH", self.spec["hsa-rocr-dev"].prefix),
+ self.define("ROCM_SMI_DIR", self.spec["rocm-smi-lib"].prefix),
+ self.define("ROCBLAS_DIR", self.spec["rocblas"].prefix),
+ self.define("YAML_INC_DIR", self.spec["yaml-cpp"].prefix.include),
+ self.define("YAML_LIB_DIR", self.spec["yaml-cpp"].libs.directories[0]),
]
- if self.spec.satisfies('@4.5.0:'):
- args.append(self.define('UT_INC', self.spec['googletest'].prefix.include))
- libloc = self.spec['googletest'].prefix.lib64
+ if self.spec.satisfies("@4.5.0:"):
+ args.append(self.define("UT_INC", self.spec["googletest"].prefix.include))
+ libloc = self.spec["googletest"].prefix.lib64
if not os.path.isdir(libloc):
- libloc = self.spec['googletest'].prefix.lib
- args.append(self.define('UT_LIB', libloc))
- libloc = self.spec['hsakmt-roct'].prefix.lib64
+ libloc = self.spec["googletest"].prefix.lib
+ args.append(self.define("UT_LIB", libloc))
+ libloc = self.spec["hsakmt-roct"].prefix.lib64
if not os.path.isdir(libloc):
- libloc = self.spec['hsakmt-roct'].prefix.lib
- args.append(self.define('HSAKMT_LIB_DIR', libloc))
+ libloc = self.spec["hsakmt-roct"].prefix.lib
+ args.append(self.define("HSAKMT_LIB_DIR", libloc))
return args
diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py
index 38c377dfb8..b49e334857 100644
--- a/var/spack/repos/builtin/packages/rocminfo/package.py
+++ b/var/spack/repos/builtin/packages/rocminfo/package.py
@@ -11,40 +11,101 @@ class Rocminfo(CMakePackage):
"""Radeon Open Compute (ROCm) Runtime rocminfo tool"""
homepage = "https://github.com/RadeonOpenCompute/rocminfo"
- git = "https://github.com/RadeonOpenCompute/rocminfo.git"
- url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie']
-
- version('master', branch='master')
-
- version('5.1.3', sha256='7aecd7b189e129b77c8f2af70be2926a0f3a5ee89814879bc8477924a7e6f2ae')
- version('5.1.0', sha256='76f6cc9e69d9fc7e692e5c7db35e89079d3b1d2d47632e4742d612e743c396d3')
- version('5.0.2', sha256='5fd970f08c5d6591efe7379ece564ce5580cba87fb6237531dabbd5adcb6a899')
- version('5.0.0', sha256='43e025de31bffa335d9cb682649add886afdd02c92090ee63e9bf77b3aaaa75b')
- version('4.5.2', sha256='5ea839cd1f317cbc72ea1e3634a75f33a458ba0cb5bf48377f08bb329c29222d')
- version('4.5.0', sha256='421ed55192780eb478f0341fd1ce47a0dd3ffafbec9d7a02109a411878a58ee5')
- version('4.3.1', sha256='d042947d3f29e943a2e3294a2a2d759ca436cebe31151ce048e49bc4f02d6993', deprecated=True)
- version('4.3.0', sha256='2cc1f251c0ed9c3ea413cc15cb5ce11559e4497540eebbf5e8dcfd52b03e53d1', deprecated=True)
- version('4.2.0', sha256='6952b6e28128ab9f93641f5ccb66201339bb4177bb575b135b27b69e2e241996', deprecated=True)
- version('4.1.0', sha256='5b994ad02b6d250160770f6f7730835f3a52127193ac9a8dee40c53aec911f4f', deprecated=True)
- version('4.0.0', sha256='0b3d692959dd4bc2d1665ab3a838592fcd08d2b5e373593b9192ca369e2c4aa7', deprecated=True)
- version('3.10.0', sha256='ed02375be3be518b83aea7309ef5ca62dc9b6dbad0aae33e92995102d6d660be', deprecated=True)
- version('3.9.0', sha256='9592781e0c62b910c4adc5c7f4c27c7a0cddbed13111a19dd91a2ff43720e43d', deprecated=True)
- version('3.8.0', sha256='c135dc98ecb5f420e22a6efd2f461ba9ed90be3f42e2ac29356e05c6a0706f8f', deprecated=True)
- version('3.7.0', sha256='86a8e3ce7d91fb2d79688a22a2805757c83922d9f17ea7ea1cb41bf9516197ea', deprecated=True)
- version('3.5.0', sha256='1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3', 'master']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
+ git = "https://github.com/RadeonOpenCompute/rocminfo.git"
+ url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala", "haampie"]
+
+ version("master", branch="master")
+
+ version("5.1.3", sha256="7aecd7b189e129b77c8f2af70be2926a0f3a5ee89814879bc8477924a7e6f2ae")
+ version("5.1.0", sha256="76f6cc9e69d9fc7e692e5c7db35e89079d3b1d2d47632e4742d612e743c396d3")
+ version("5.0.2", sha256="5fd970f08c5d6591efe7379ece564ce5580cba87fb6237531dabbd5adcb6a899")
+ version("5.0.0", sha256="43e025de31bffa335d9cb682649add886afdd02c92090ee63e9bf77b3aaaa75b")
+ version("4.5.2", sha256="5ea839cd1f317cbc72ea1e3634a75f33a458ba0cb5bf48377f08bb329c29222d")
+ version("4.5.0", sha256="421ed55192780eb478f0341fd1ce47a0dd3ffafbec9d7a02109a411878a58ee5")
+ version(
+ "4.3.1",
+ sha256="d042947d3f29e943a2e3294a2a2d759ca436cebe31151ce048e49bc4f02d6993",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="2cc1f251c0ed9c3ea413cc15cb5ce11559e4497540eebbf5e8dcfd52b03e53d1",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="6952b6e28128ab9f93641f5ccb66201339bb4177bb575b135b27b69e2e241996",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="5b994ad02b6d250160770f6f7730835f3a52127193ac9a8dee40c53aec911f4f",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="0b3d692959dd4bc2d1665ab3a838592fcd08d2b5e373593b9192ca369e2c4aa7",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="ed02375be3be518b83aea7309ef5ca62dc9b6dbad0aae33e92995102d6d660be",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="9592781e0c62b910c4adc5c7f4c27c7a0cddbed13111a19dd91a2ff43720e43d",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="c135dc98ecb5f420e22a6efd2f461ba9ed90be3f42e2ac29356e05c6a0706f8f",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="86a8e3ce7d91fb2d79688a22a2805757c83922d9f17ea7ea1cb41bf9516197ea",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ "master",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
def cmake_args(self):
- return [self.define('ROCM_DIR', self.spec['hsa-rocr-dev'].prefix)]
+ return [self.define("ROCM_DIR", self.spec["hsa-rocr-dev"].prefix)]
diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py
index 2efb98a7d8..1f6b264eb9 100644
--- a/var/spack/repos/builtin/packages/rocprim/package.py
+++ b/var/spack/repos/builtin/packages/rocprim/package.py
@@ -7,66 +7,126 @@ from spack.package import *
class Rocprim(CMakePackage):
- """ Radeon Open Compute Parallel Primitives Library"""
+ """Radeon Open Compute Parallel Primitives Library"""
homepage = "https://github.com/ROCmSoftwarePlatform/rocPRIM"
- git = "https://github.com/ROCmSoftwarePlatform/rocPRIM.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/rocPRIM.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('5.1.3', sha256='b5a08d2e76388bd1ffa6c946009928fe95de846ab6b65a6475998070c0cf6dc1')
- version('5.1.0', sha256='dfe106c01155e00ed816f0231d1576ff8c08750cc8278fa453926f388dc6fe48')
- version('5.0.2', sha256='a4280f15d470699a1c6a5f86bdd951c1387e0af227c6bee6f81cee658406f4b0')
- version('5.0.0', sha256='0e7e7bda6a09b70a07ddd926986882df0c8d8ff3e0a34e12cb6d44f7d0a5840e')
- version('4.5.2', sha256='0dc673847e67db672f2e239f299206fe16c324005ddd2e92c7cb7725bb6f4fa6')
- version('4.5.0', sha256='6f0ca1da9a93064af662d6c61fbdb56bb313f8edca85615ead0dd284eb481089')
- version('4.3.1', sha256='d29ffcb5dd1c6155c586b9952fa4c11b717d90073feb083db6b03ea74746194b', deprecated=True)
- version('4.3.0', sha256='f6cf53b5fa07a0d6f508e39c7da5b11f562c0cac4b041ec5c41a8fc733f707c7', deprecated=True)
- version('4.2.0', sha256='3932cd3a532eea0d227186febc56747dd95841732734d9c751c656de9dd770c8', deprecated=True)
- version('4.1.0', sha256='c46d789f85d15f8ec97f90d67b9d49fb87239912fe8d5f60a7b4c59f9d0e3da8', deprecated=True)
- version('4.0.0', sha256='61abf4d51853ae71e54258f43936bbbb096bf06f5891d224d359bfe3104015d0', deprecated=True)
- version('3.10.0', sha256='b406956b27d1c06b749e991a250d4ad3eb26e20c6bebf121e2ca6051597b4fa4', deprecated=True)
- version('3.9.0', sha256='ace6b4ee4b641280807028375cb0e6fa7b296edba9e9fc09177a5d8d075a716e', deprecated=True)
- version('3.8.0', sha256='4d37320d174eaada99dd796d81fa97d5dcc65a6dff8e8ff1c21e8e68acb4ea74', deprecated=True)
- version('3.7.0', sha256='225209a0cbd003c241821c8a9192cec5c07c7f1a6ab7da296305fc69f5f6d365', deprecated=True)
- version('3.5.0', sha256='29302dbeb27ae88632aa1be43a721f03e7e597c329602f9ca9c9c530c1def40d', deprecated=True)
+ version("5.1.3", sha256="b5a08d2e76388bd1ffa6c946009928fe95de846ab6b65a6475998070c0cf6dc1")
+ version("5.1.0", sha256="dfe106c01155e00ed816f0231d1576ff8c08750cc8278fa453926f388dc6fe48")
+ version("5.0.2", sha256="a4280f15d470699a1c6a5f86bdd951c1387e0af227c6bee6f81cee658406f4b0")
+ version("5.0.0", sha256="0e7e7bda6a09b70a07ddd926986882df0c8d8ff3e0a34e12cb6d44f7d0a5840e")
+ version("4.5.2", sha256="0dc673847e67db672f2e239f299206fe16c324005ddd2e92c7cb7725bb6f4fa6")
+ version("4.5.0", sha256="6f0ca1da9a93064af662d6c61fbdb56bb313f8edca85615ead0dd284eb481089")
+ version(
+ "4.3.1",
+ sha256="d29ffcb5dd1c6155c586b9952fa4c11b717d90073feb083db6b03ea74746194b",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="f6cf53b5fa07a0d6f508e39c7da5b11f562c0cac4b041ec5c41a8fc733f707c7",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="3932cd3a532eea0d227186febc56747dd95841732734d9c751c656de9dd770c8",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="c46d789f85d15f8ec97f90d67b9d49fb87239912fe8d5f60a7b4c59f9d0e3da8",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="61abf4d51853ae71e54258f43936bbbb096bf06f5891d224d359bfe3104015d0",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="b406956b27d1c06b749e991a250d4ad3eb26e20c6bebf121e2ca6051597b4fa4",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="ace6b4ee4b641280807028375cb0e6fa7b296edba9e9fc09177a5d8d075a716e",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="4d37320d174eaada99dd796d81fa97d5dcc65a6dff8e8ff1c21e8e68acb4ea74",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="225209a0cbd003c241821c8a9192cec5c07c7f1a6ab7da296305fc69f5f6d365",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="29302dbeb27ae88632aa1be43a721f03e7e597c329602f9ca9c9c530c1def40d",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3.10.2:', type='build', when='@4.2.0:')
- depends_on('cmake@3.5.1:', type='build')
- depends_on('numactl', type='link', when='@3.7.0:')
+ depends_on("cmake@3.10.2:", type="build", when="@4.2.0:")
+ depends_on("cmake@3.5.1:", type="build")
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('comgr@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@' + ver, when='@' + ver)
- depends_on('rocm-cmake@%s:' % 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("comgr@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("llvm-amdgpu@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
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')
+ 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 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
index bf089a7778..e1d165cfde 100644
--- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
+++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
@@ -12,59 +12,122 @@ class RocprofilerDev(CMakePackage):
"""ROCPROFILER library for AMD HSA runtime API extension support"""
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/refs/tags/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCm-Developer-Tools/rocprofiler.git"
+ url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/refs/tags/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocprofiler64']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocprofiler64"]
- version('5.1.3', sha256='eca7be451c7bf000fd9c75683e7f5dfbed32dbb385b5ac685d2251ee8c3abc96')
- version('5.1.0', sha256='4a1c6ed887b0159392406af8796508df2794353a4c3aacc801116044fb4a10a5')
- version('5.0.2', sha256='48f58c3c16dd45fead2086f89a175f74636e81bc2437e30bb6e9361b1083e71d')
- version('5.0.0', sha256='2ed521f400e4aafd17405c2f9ad2fb3b906a982d3767b233122d9c2964c3245f')
- version('4.5.2', sha256='baa59826f8fb984993c03d05e2e3cdf0b830b08f8056b18ba206dfbaa367aca9')
- version('4.5.0', sha256='9b47b086d28fc831dbe0f83ec7e4640057b97edc961f2f050a0968633f32a06b')
- version('4.3.1', sha256='c6f5fa192c9cdb32553d24ed5c847107d312042e39fa3dd17c83e237c9542a2d', deprecated=True)
- version('4.3.0', sha256='3b876a0e601d2c6ae56ddf2a6027afe45b3533f4445b0c2da748d020b6b00cf2', deprecated=True)
- version('4.2.0', sha256='c5888eda1404010f88219055778cfeb00d9c21901e172709708720008b1af80f', deprecated=True)
- version('4.1.0', sha256='2eead5707016da606d636b97f3af1c98cb471da78659067d5a77d4a2aa43ef4c', deprecated=True)
- version('4.0.0', sha256='e9960940d1ec925814a0e55ee31f5fc2fb23fa839d1c6a909f72dd83f657fb25', deprecated=True)
- version('3.10.0', sha256='fbf5ce9fbc13ba2b3f9489838e00b54885aba92336f055e8b03fef3e3347071e', deprecated=True)
- version('3.9.0', sha256='f07ddd9bf2f86550c8d243f887e9bde9d4f2ceec81ecc6393012aaf2a45999e8', deprecated=True)
- version('3.8.0', sha256='38ad3ac20f60f3290ce750c34f0aad442354b1d0a56b81167a018e44ecdf7fff', deprecated=True)
- version('3.7.0', sha256='d3f03bf850cbd86ca9dfe6e6cc6f559d8083b0f3ea4711d8260b232cb6fdd1cc', deprecated=True)
- version('3.5.0', sha256='c42548dd467b7138be94ad68c715254eb56a9d3b670ccf993c43cd4d43659937', deprecated=True)
+ version("5.1.3", sha256="eca7be451c7bf000fd9c75683e7f5dfbed32dbb385b5ac685d2251ee8c3abc96")
+ version("5.1.0", sha256="4a1c6ed887b0159392406af8796508df2794353a4c3aacc801116044fb4a10a5")
+ version("5.0.2", sha256="48f58c3c16dd45fead2086f89a175f74636e81bc2437e30bb6e9361b1083e71d")
+ version("5.0.0", sha256="2ed521f400e4aafd17405c2f9ad2fb3b906a982d3767b233122d9c2964c3245f")
+ version("4.5.2", sha256="baa59826f8fb984993c03d05e2e3cdf0b830b08f8056b18ba206dfbaa367aca9")
+ version("4.5.0", sha256="9b47b086d28fc831dbe0f83ec7e4640057b97edc961f2f050a0968633f32a06b")
+ version(
+ "4.3.1",
+ sha256="c6f5fa192c9cdb32553d24ed5c847107d312042e39fa3dd17c83e237c9542a2d",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="3b876a0e601d2c6ae56ddf2a6027afe45b3533f4445b0c2da748d020b6b00cf2",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="c5888eda1404010f88219055778cfeb00d9c21901e172709708720008b1af80f",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="2eead5707016da606d636b97f3af1c98cb471da78659067d5a77d4a2aa43ef4c",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="e9960940d1ec925814a0e55ee31f5fc2fb23fa839d1c6a909f72dd83f657fb25",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="fbf5ce9fbc13ba2b3f9489838e00b54885aba92336f055e8b03fef3e3347071e",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="f07ddd9bf2f86550c8d243f887e9bde9d4f2ceec81ecc6393012aaf2a45999e8",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="38ad3ac20f60f3290ce750c34f0aad442354b1d0a56b81167a018e44ecdf7fff",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="d3f03bf850cbd86ca9dfe6e6cc6f559d8083b0f3ea4711d8260b232cb6fdd1cc",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="c42548dd467b7138be94ad68c715254eb56a9d3b670ccf993c43cd4d43659937",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('hsakmt-roct@' + ver, when='@' + ver)
- depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- depends_on('rocminfo@' + ver, when='@' + ver)
- depends_on('roctracer-dev-api@' + ver, when='@' + ver)
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hsakmt-roct@" + ver, when="@" + ver)
+ depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
+ depends_on("rocminfo@" + ver, when="@" + ver)
+ depends_on("roctracer-dev-api@" + ver, when="@" + ver)
- depends_on('numactl', type='link', when='@4.3.1')
+ depends_on("numactl", type="link", when="@4.3.1")
# See https://github.com/ROCm-Developer-Tools/rocprofiler/pull/50
- patch('fix-includes.patch')
+ patch("fix-includes.patch")
def patch(self):
- filter_file('${HSA_RUNTIME_LIB_PATH}/../include',
- '${HSA_RUNTIME_LIB_PATH}/../include ${HSA_KMT_LIB_PATH}/..\
- /include', 'test/CMakeLists.txt', string=True)
+ filter_file(
+ "${HSA_RUNTIME_LIB_PATH}/../include",
+ "${HSA_RUNTIME_LIB_PATH}/../include ${HSA_KMT_LIB_PATH}/..\
+ /include",
+ "test/CMakeLists.txt",
+ string=True,
+ )
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
@@ -72,8 +135,7 @@ class RocprofilerDev(CMakePackage):
def cmake_args(self):
return [
self.define(
- 'PROF_API_HEADER_PATH',
- self.spec['roctracer-dev-api'].prefix.roctracer.inc.ext
+ "PROF_API_HEADER_PATH", self.spec["roctracer-dev-api"].prefix.roctracer.inc.ext
),
- self.define('ROCM_ROOT_DIR', self.spec['hsakmt-roct'].prefix.include)
+ self.define("ROCM_ROOT_DIR", self.spec["hsakmt-roct"].prefix.include),
]
diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py
index 1e2b5892df..ff4ccbd930 100644
--- a/var/spack/repos/builtin/packages/rocrand/package.py
+++ b/var/spack/repos/builtin/packages/rocrand/package.py
@@ -12,140 +12,195 @@ from spack.package import *
class Rocrand(CMakePackage):
"""The rocRAND project provides functions that generate
- pseudo-random and quasi-random numbers."""
+ pseudo-random and quasi-random numbers."""
homepage = "https://github.com/ROCmSoftwarePlatform/rocRAND"
- git = "https://github.com/ROCmSoftwarePlatform/rocRAND.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocRAND/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocrand']
-
- version('5.1.3', sha256='4a19e1bcb60955a02a73ad64594c23886d6749afe06b0104e2b877dbe02c8d1c')
- version('5.1.0', sha256='0c6f114a775d0b38be71f3f621a10bde2104a1f655d5d68c5fecb79b8b51a815')
- version('5.0.2', sha256='2dbce2a7fb273c2f9456c002adf3a510b9ec79f2ff32dfccdd59948f3ddb1505')
- version('5.0.0', sha256='356a03a74d6d5df3ae2d38da07929f23d90bb4dee71f88792c25c25069e673bc')
- version('4.5.2', sha256='1523997a21437c3b74d47a319d81f8cc44b8e96ec5174004944f2fb4629900db')
- version('4.5.0', sha256='fd391f81b9ea0b57808d93e8b72d86eec1b4c3529180dfb99ed6d3e2aa1285c2')
- version('4.3.1', sha256='b3d6ae0cdbbdfb56a73035690f8cb9e173fec1ccaaf9a4c5fdbe5e562e50c901', deprecated=True)
- version('4.3.0', sha256='a85ced6c155befb7df8d58365518f4d9afc4407ee4e01d4640b5fd94604ca3e0', deprecated=True)
- version('4.2.0', sha256='15725c89e9cc9cc76bd30415fd2c0c5b354078831394ab8b23fe6633497b92c8', deprecated=True)
- version('4.1.0', sha256='94327e38739030ab6719a257f5a928a35842694750c7f46d9e11ff2164c2baed', deprecated=True)
- version('4.0.0', sha256='1cafdbfa15cde635bd424d2a858dc5cc94d668f9a211ff39606ee01ed1715f41', deprecated=True)
- version('3.10.0', sha256='f55e2b49b4dfd887e46eea049f3359ae03c60bae366ffc979667d364205bc99c', deprecated=True)
- version('3.9.0', sha256='a500a3a83be36b6c91aa062dc6eef1f9fc1d9ee62422d541cc279513d98efa91', deprecated=True)
- version('3.8.0', sha256='79eb84d41363a46ed9bb18d9757cf6a419d2f48bb6a71b8e4db616a5007a6560', deprecated=True)
- version('3.7.0', sha256='5e43fe07afe2c7327a692b3b580875bae6e6ee790e044c053fffafbfcbc14860', deprecated=True)
- version('3.5.0', sha256='592865a45e7ef55ad9d7eddc8082df69eacfd2c1f3e9c57810eb336b15cd5732', deprecated=True)
+ git = "https://github.com/ROCmSoftwarePlatform/rocRAND.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocRAND/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocrand"]
+
+ version("5.1.3", sha256="4a19e1bcb60955a02a73ad64594c23886d6749afe06b0104e2b877dbe02c8d1c")
+ version("5.1.0", sha256="0c6f114a775d0b38be71f3f621a10bde2104a1f655d5d68c5fecb79b8b51a815")
+ version("5.0.2", sha256="2dbce2a7fb273c2f9456c002adf3a510b9ec79f2ff32dfccdd59948f3ddb1505")
+ version("5.0.0", sha256="356a03a74d6d5df3ae2d38da07929f23d90bb4dee71f88792c25c25069e673bc")
+ version("4.5.2", sha256="1523997a21437c3b74d47a319d81f8cc44b8e96ec5174004944f2fb4629900db")
+ version("4.5.0", sha256="fd391f81b9ea0b57808d93e8b72d86eec1b4c3529180dfb99ed6d3e2aa1285c2")
+ version(
+ "4.3.1",
+ sha256="b3d6ae0cdbbdfb56a73035690f8cb9e173fec1ccaaf9a4c5fdbe5e562e50c901",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="a85ced6c155befb7df8d58365518f4d9afc4407ee4e01d4640b5fd94604ca3e0",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="15725c89e9cc9cc76bd30415fd2c0c5b354078831394ab8b23fe6633497b92c8",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="94327e38739030ab6719a257f5a928a35842694750c7f46d9e11ff2164c2baed",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="1cafdbfa15cde635bd424d2a858dc5cc94d668f9a211ff39606ee01ed1715f41",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="f55e2b49b4dfd887e46eea049f3359ae03c60bae366ffc979667d364205bc99c",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="a500a3a83be36b6c91aa062dc6eef1f9fc1d9ee62422d541cc279513d98efa91",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="79eb84d41363a46ed9bb18d9757cf6a419d2f48bb6a71b8e4db616a5007a6560",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="5e43fe07afe2c7327a692b3b580875bae6e6ee790e044c053fffafbfcbc14860",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="592865a45e7ef55ad9d7eddc8082df69eacfd2c1f3e9c57810eb336b15cd5732",
+ deprecated=True,
+ )
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.10.2:', type='build', when='@4.5.0:')
- depends_on('cmake@3.5.1:', type='build')
-
- depends_on('googletest@1.10.0:', type='test')
-
- resource(name='hipRAND',
- git='https://github.com/ROCmSoftwarePlatform/hipRAND.git',
- branch='develop',
- destination='',
- placement='hiprand',
- when='@5.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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.10.2:", type="build", when="@4.5.0:")
+ depends_on("cmake@3.5.1:", type="build")
+
+ depends_on("googletest@1.10.0:", type="test")
+
+ resource(
+ name="hipRAND",
+ git="https://github.com/ROCmSoftwarePlatform/hipRAND.git",
+ branch="develop",
+ destination="",
+ placement="hiprand",
+ when="@5.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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
def patch(self):
- if self.spec.satisfies('@5.1.0:'):
- os.rmdir('hipRAND')
- os.rename('hiprand', 'hipRAND')
+ if self.spec.satisfies("@5.1.0:"):
+ os.rmdir("hipRAND")
+ os.rename("hiprand", "hipRAND")
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
- @run_after('install')
+ @run_after("install")
def fix_library_locations(self):
"""Fix the rocRAND and hipRAND libraries location"""
# rocRAND installs librocrand.so* and libhiprand.so* to rocrand/lib and
# hiprand/lib, respectively. This confuses spack's RPATH management. We
# fix it by adding a symlink to the libraries.
- if self.spec.satisfies('@:5.0.2'):
- hiprand_lib_path = join_path(self.prefix, 'hiprand', 'lib')
- rocrand_lib_path = join_path(self.prefix, 'rocrand', 'lib')
+ if self.spec.satisfies("@:5.0.2"):
+ hiprand_lib_path = join_path(self.prefix, "hiprand", "lib")
+ rocrand_lib_path = join_path(self.prefix, "rocrand", "lib")
mkdirp(self.prefix.lib)
with working_dir(hiprand_lib_path):
- hiprand_libs = glob.glob('*.so*')
+ hiprand_libs = glob.glob("*.so*")
for lib in hiprand_libs:
- os.symlink(join_path(hiprand_lib_path, lib),
- join_path(self.prefix.lib, lib))
+ os.symlink(join_path(hiprand_lib_path, lib), join_path(self.prefix.lib, lib))
with working_dir(rocrand_lib_path):
- rocrand_libs = glob.glob('*.so*')
+ rocrand_libs = glob.glob("*.so*")
for lib in rocrand_libs:
- os.symlink(join_path(rocrand_lib_path, lib),
- join_path(self.prefix.lib, lib))
+ os.symlink(join_path(rocrand_lib_path, lib), join_path(self.prefix.lib, lib))
"""Fix the rocRAND and hipRAND include path"""
# rocRAND installs irocrand*.h* and hiprand*.h* rocrand/include and
# hiprand/include, respectively. This confuses spack's RPATH management. We
# fix it by adding a symlink to the header files.
- hiprand_include_path = join_path(self.prefix, 'hiprand', 'include')
- rocrand_include_path = join_path(self.prefix, 'rocrand', 'include')
+ hiprand_include_path = join_path(self.prefix, "hiprand", "include")
+ rocrand_include_path = join_path(self.prefix, "rocrand", "include")
with working_dir(hiprand_include_path):
- hiprand_includes = glob.glob('*.h*')
- hiprand_path = join_path(self.prefix, 'hiprand')
+ hiprand_includes = glob.glob("*.h*")
+ hiprand_path = join_path(self.prefix, "hiprand")
with working_dir(hiprand_path):
for header_file in hiprand_includes:
- os.symlink(join_path('include', header_file), header_file)
+ os.symlink(join_path("include", header_file), header_file)
with working_dir(rocrand_include_path):
- rocrand_includes = glob.glob('*.h*')
- rocrand_path = join_path(self.prefix, 'rocrand')
+ rocrand_includes = glob.glob("*.h*")
+ rocrand_path = join_path(self.prefix, "rocrand")
with working_dir(rocrand_path):
for header_file in rocrand_includes:
- os.symlink(join_path('include', header_file), header_file)
+ os.symlink(join_path("include", header_file), header_file)
else:
- os.mkdir(os.path.join(self.prefix, 'hiprand'))
- os.mkdir(os.path.join(self.prefix, 'hiprand', 'include'))
- hiprand_include_path = join_path(self.prefix, 'include', 'hiprand')
+ os.mkdir(os.path.join(self.prefix, "hiprand"))
+ os.mkdir(os.path.join(self.prefix, "hiprand", "include"))
+ hiprand_include_path = join_path(self.prefix, "include", "hiprand")
with working_dir(hiprand_include_path):
- hiprand_includes = glob.glob('*.h*')
- hiprand_path = join_path(self.prefix, 'hiprand', 'include')
+ hiprand_includes = glob.glob("*.h*")
+ hiprand_path = join_path(self.prefix, "hiprand", "include")
with working_dir(hiprand_path):
for header_file in hiprand_includes:
- os.symlink(join_path('../../include/hiprand',
- header_file), header_file)
+ os.symlink(join_path("../../include/hiprand", header_file), header_file)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
- args = [
- self.define('BUILD_BENCHMARK', 'OFF'),
- self.define('BUILD_TEST', self.run_tests)
- ]
+ args = [self.define("BUILD_BENCHMARK", "OFF"), self.define("BUILD_TEST", self.run_tests)]
- if 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if '@5.1.0:' in self.spec:
- args.append(self.define('BUILD_HIPRAND', 'ON'))
+ if "@5.1.0:" in self.spec:
+ args.append(self.define("BUILD_HIPRAND", "ON"))
return args
diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py
index c577384546..421d7788d7 100644
--- a/var/spack/repos/builtin/packages/rocsolver/package.py
+++ b/var/spack/repos/builtin/packages/rocsolver/package.py
@@ -11,124 +11,184 @@ from spack.package import *
class Rocsolver(CMakePackage):
"""rocSOLVER is a work-in-progress implementation of a
- subset of LAPACK functionality on the ROCm platform."""
+ subset of LAPACK functionality on the ROCm platform."""
homepage = "https://github.com/ROCmSoftwarePlatform/rocSOLVER"
- git = "https://github.com/ROCmSoftwarePlatform/rocSOLVER.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-5.0.2.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/rocSOLVER.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-5.0.2.tar.gz"
+ tags = ["rocm"]
- maintainers = ['cgmb', 'srekolam', 'arjun-raj-kuppala', 'haampie']
- libraries = ['librocsolver']
+ maintainers = ["cgmb", "srekolam", "arjun-raj-kuppala", "haampie"]
+ libraries = ["librocsolver"]
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('optimal', default=True,
- description='This option improves performance at the cost of increased binary \
+ variant("amdgpu_target", values=auto_or_any_combination_of(*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 \
- for small matrix sizes')
-
- version('develop', branch='develop')
- version('master', branch='master')
- version('5.1.3', sha256='5a8f3b95ac9a131c31538196e954ea53b863009c092cce0c0ef869a0cd5dd554')
- version('5.1.0', sha256='88de515a6e75eaa3c50c9c8ae1e7ae8e3b46e712e388f44f79b63fefa9fc0831')
- version('5.0.2', sha256='298e0903f1ba8074055ab072690f967062d6e06a9371574de23e4e38d2997688')
- version('5.0.0', sha256='d444ad5348eb8a2c04646ceae6923467a0e775441f2c73150892e228e585b2e1')
- version('4.5.2', sha256='4639322bd1e77fedfdeb9032633bde6211a0b1cc16a612db7754f873f18a492f')
- version('4.5.0', sha256='0295862da941f31f4d43b19195b79331bd17f5968032f75c89d2791a6f8c1e8c')
- version('4.3.1', sha256='c6e7468d7041718ce6e1c7f50ec80a552439ac9cfed2dc3f753ae417dda5724f', deprecated=True)
- version('4.3.0', sha256='63cc88dd285c0fe01ec2394321ec3b4e1e59bb98ce05b06e4b4d8fadcf1ff028', deprecated=True)
- version('4.2.0', sha256='e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea', deprecated=True)
- version('4.1.0', sha256='da5cc800dabf7367b02b73c93780b2967f112bb45232e4b06e5fd07b4d5b8d88', deprecated=True)
- version('4.0.0', sha256='be9a52644c276813f76d78f2c11eddaf8c2d7f9dd04f4570f23d328ad30d5880', deprecated=True)
- version('3.10.0', sha256='bc72483656b6b23a1e321913a580ca460da3bc5976404647536a01857f178dd2', deprecated=True)
- version('3.9.0', sha256='85fd77fe5acf5af518d11e90e2c03ee0c5abd61071cea86ef5df09f944879648', deprecated=True)
- version('3.8.0', sha256='72aa74284944d8b454088e8c8d74cf05464a4e2e46d33a57017ddd009113025e', deprecated=True)
- version('3.7.0', sha256='8c1c630595952806e658c539fd0f3056bd45bafc22b57f0dd10141abefbe4595', deprecated=True)
- version('3.5.0', sha256='d655e8c762fb9e123b9fd7200b4258512ceef69973de4d0588c815bc666cb358', deprecated=True)
-
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- depends_on('cmake@3.8:', type='build', when='@4.1.0:')
- depends_on('cmake@3.5:', type='build')
- depends_on('fmt@7:8.0.1', type='build', when='@4.5.0:')
-
- depends_on('googletest@1.10.0:', type='test')
- depends_on('netlib-lapack@3.7.1:', type='test')
-
- patch('link-clients-blas.patch', when='@4.3.0:4.3.2')
+ for small matrix sizes",
+ )
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("5.1.3", sha256="5a8f3b95ac9a131c31538196e954ea53b863009c092cce0c0ef869a0cd5dd554")
+ version("5.1.0", sha256="88de515a6e75eaa3c50c9c8ae1e7ae8e3b46e712e388f44f79b63fefa9fc0831")
+ version("5.0.2", sha256="298e0903f1ba8074055ab072690f967062d6e06a9371574de23e4e38d2997688")
+ version("5.0.0", sha256="d444ad5348eb8a2c04646ceae6923467a0e775441f2c73150892e228e585b2e1")
+ version("4.5.2", sha256="4639322bd1e77fedfdeb9032633bde6211a0b1cc16a612db7754f873f18a492f")
+ version("4.5.0", sha256="0295862da941f31f4d43b19195b79331bd17f5968032f75c89d2791a6f8c1e8c")
+ version(
+ "4.3.1",
+ sha256="c6e7468d7041718ce6e1c7f50ec80a552439ac9cfed2dc3f753ae417dda5724f",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="63cc88dd285c0fe01ec2394321ec3b4e1e59bb98ce05b06e4b4d8fadcf1ff028",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="da5cc800dabf7367b02b73c93780b2967f112bb45232e4b06e5fd07b4d5b8d88",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="be9a52644c276813f76d78f2c11eddaf8c2d7f9dd04f4570f23d328ad30d5880",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="bc72483656b6b23a1e321913a580ca460da3bc5976404647536a01857f178dd2",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="85fd77fe5acf5af518d11e90e2c03ee0c5abd61071cea86ef5df09f944879648",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="72aa74284944d8b454088e8c8d74cf05464a4e2e46d33a57017ddd009113025e",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="8c1c630595952806e658c539fd0f3056bd45bafc22b57f0dd10141abefbe4595",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="d655e8c762fb9e123b9fd7200b4258512ceef69973de4d0588c815bc666cb358",
+ deprecated=True,
+ )
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ depends_on("cmake@3.8:", type="build", when="@4.1.0:")
+ depends_on("cmake@3.5:", type="build")
+ depends_on("fmt@7:8.0.1", type="build", when="@4.5.0:")
+
+ depends_on("googletest@1.10.0:", type="test")
+ depends_on("netlib-lapack@3.7.1:", type="test")
+
+ patch("link-clients-blas.patch", when="@4.3.0:4.3.2")
def check(self):
- exe = join_path(self.build_directory, 'clients', 'staging', 'rocsolver-test')
- self.run_test(exe, options=['--gtest_filter=checkin*-*known_bug*'])
-
- depends_on('hip@4.1.0:', when='@4.1.0:')
- depends_on('rocm-cmake@master', type='build', when='@master:')
- depends_on('rocm-cmake@4.5.0:', type='build', when='@4.5.0:')
- depends_on('rocm-cmake@4.3.0:', type='build', when='@4.3.0:')
- depends_on('rocm-cmake@3.5.0:', type='build')
-
- for ver in ['master', 'develop']:
- depends_on('rocblas@' + ver, 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocblas@' + ver, when='@' + ver)
-
- for tgt in itertools.chain(['auto'], amdgpu_targets):
- depends_on('rocblas amdgpu_target={0}'.format(tgt),
- when='amdgpu_target={0}'.format(tgt))
+ exe = join_path(self.build_directory, "clients", "staging", "rocsolver-test")
+ self.run_test(exe, options=["--gtest_filter=checkin*-*known_bug*"])
+
+ depends_on("hip@4.1.0:", when="@4.1.0:")
+ depends_on("rocm-cmake@master", type="build", when="@master:")
+ depends_on("rocm-cmake@4.5.0:", type="build", when="@4.5.0:")
+ depends_on("rocm-cmake@4.3.0:", type="build", when="@4.3.0:")
+ depends_on("rocm-cmake@3.5.0:", type="build")
+
+ for ver in ["master", "develop"]:
+ depends_on("rocblas@" + ver, 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocblas@" + ver, when="@" + ver)
+
+ for tgt in itertools.chain(["auto"], amdgpu_targets):
+ depends_on("rocblas amdgpu_target={0}".format(tgt), when="amdgpu_target={0}".format(tgt))
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', self.run_tests),
- self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF')
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
+ self.define("BUILD_CLIENTS_TESTS", self.run_tests),
+ self.define("BUILD_CLIENTS_BENCHMARKS", "OFF"),
]
- if self.spec.satisfies('@4.1.0'):
- incl = self.spec['rocblas'].prefix
- args.append(self.define(
- 'CMAKE_CXX_FLAGS',
- '-I{0}/rocblas/include'.format(incl)
- ))
-
- if self.spec.satisfies('@3.7.0:'):
- args.append(self.define_from_variant('OPTIMAL', 'optimal'))
-
- tgt = self.spec.variants['amdgpu_target']
- if 'auto' not in tgt:
- if '@:3.8.0' in self.spec:
- args.append(self.define(
- 'CMAKE_CXX_FLAGS',
- '--amdgpu-target={0}'.format(",".join(tgt.value))))
+ if self.spec.satisfies("@4.1.0"):
+ incl = self.spec["rocblas"].prefix
+ args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}/rocblas/include".format(incl)))
+
+ if self.spec.satisfies("@3.7.0:"):
+ args.append(self.define_from_variant("OPTIMAL", "optimal"))
+
+ tgt = self.spec.variants["amdgpu_target"]
+ if "auto" not in tgt:
+ if "@:3.8.0" in self.spec:
+ args.append(
+ self.define(
+ "CMAKE_CXX_FLAGS", "--amdgpu-target={0}".format(",".join(tgt.value))
+ )
+ )
else:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
- if self.spec.satisfies('@4.5.0:'):
- args.append(self.define('ROCSOLVER_EMBED_FMT', 'ON'))
+ if self.spec.satisfies("@4.5.0:"):
+ args.append(self.define("ROCSOLVER_EMBED_FMT", "ON"))
- if self.spec.satisfies('@5.2.0:'):
- args.append(self.define('BUILD_FILE_REORG_BACKWARD_COMPATIBILITY', 'ON'))
+ if self.spec.satisfies("@5.2.0:"):
+ args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", "ON"))
return args
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ 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 99674148e9..2707e9eb20 100644
--- a/var/spack/repos/builtin/packages/rocsparse/package.py
+++ b/var/spack/repos/builtin/packages/rocsparse/package.py
@@ -17,72 +17,133 @@ class Rocsparse(CMakePackage):
language and optimized for AMD's latest discrete GPUs."""
homepage = "https://github.com/ROCmSoftwarePlatform/rocSPARSE"
- git = "https://github.com/ROCmSoftwarePlatform/rocSPARSE.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-5.0.0.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/rocSPARSE.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-5.0.0.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['librocsparse']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["librocsparse"]
amdgpu_targets = ROCmPackage.amdgpu_targets
- variant('amdgpu_target', values=auto_or_any_combination_of(*amdgpu_targets))
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
-
- version('5.1.3', sha256='ef9641045b36c9aacc87e4fe7717b41b1e29d97e21432678dce7aca633a8edc2')
- version('5.1.0', sha256='a2f0f8cb02b95993480bd7264fc65e8b11464a90b86f2dcd0dd82a2e6d4bd704')
- version('5.0.2', sha256='c9d9e1b7859e1c5aa5050f5dfdf86245cbd7c1296c0ce60d9ca5f3e22a9b748b')
- version('5.0.0', sha256='6d352bf27dbed08e5115a58815aa76c59eb2008ec9dcc921aadf2efe20115d2a')
- version('4.5.2', sha256='e37af2cd097e239a55a278df534183b5591ef4d985fe1a268a229bd11ada6599')
- version('4.5.0', sha256='b120e9e17e7e141caee4c8c4288c9d1902bad0cec2ea76458d3ba11343376938')
- version('4.3.1', sha256='fa5ea64f71e1cfbebe41618cc183f501b387824a6dc58486ab1214d7af5cbef2', deprecated=True)
- version('4.3.0', sha256='1a8109bdc8863b3acfe991449360c9361cae7cabdbe753c553bc57872cd0ad5e', deprecated=True)
- version('4.2.0', sha256='8a86ed49d278e234c82e406a1430dc28f50d416f8f1065cf5bdf25cc5721129c', deprecated=True)
- version('4.1.0', sha256='7514968ed2342dc274acce8b269c128a6aa96cce769a37fd3880b5269c2ed17f', deprecated=True)
- version('4.0.0', sha256='2b41bc6623d204ad7f351a902810f34cd32b762d1bf59081dbb00f83e689a794', deprecated=True)
- version('3.10.0', sha256='8325828c5d7818dfb45e03b5f1572a573cc21964d596aaaa33b7469817b03abd', deprecated=True)
- version('3.9.0', sha256='7b8f952d0c7f8ac2f3bb60879ab420fabbfafb0885a3d8464d5b4c191e97dec6', deprecated=True)
- version('3.8.0', sha256='a5d085fffe05a7ac7f5658075d9782b9b02d0c5c3e2c1807dad266c3a61141fd', deprecated=True)
- version('3.7.0', sha256='db561ae5e8ee117f7c539a9ef6ee49c13b82ba9f702b22c76e741cca245386a9', deprecated=True)
- version('3.5.0', sha256='9ca6bae7da78abbb47143c3d77ff4a8cd7d63979875fc7ebc46b400769fd9cb5', deprecated=True)
-
- 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- for tgt in itertools.chain(['auto'], amdgpu_targets):
- depends_on('rocprim@{0} amdgpu_target={1}'.format(ver, tgt),
- when='@{0} amdgpu_target={1}'.format(ver, tgt))
- depends_on('rocm-cmake@%s:' % ver, type='build', when='@' + ver)
+ variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets))
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+
+ version("5.1.3", sha256="ef9641045b36c9aacc87e4fe7717b41b1e29d97e21432678dce7aca633a8edc2")
+ version("5.1.0", sha256="a2f0f8cb02b95993480bd7264fc65e8b11464a90b86f2dcd0dd82a2e6d4bd704")
+ version("5.0.2", sha256="c9d9e1b7859e1c5aa5050f5dfdf86245cbd7c1296c0ce60d9ca5f3e22a9b748b")
+ version("5.0.0", sha256="6d352bf27dbed08e5115a58815aa76c59eb2008ec9dcc921aadf2efe20115d2a")
+ version("4.5.2", sha256="e37af2cd097e239a55a278df534183b5591ef4d985fe1a268a229bd11ada6599")
+ version("4.5.0", sha256="b120e9e17e7e141caee4c8c4288c9d1902bad0cec2ea76458d3ba11343376938")
+ version(
+ "4.3.1",
+ sha256="fa5ea64f71e1cfbebe41618cc183f501b387824a6dc58486ab1214d7af5cbef2",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="1a8109bdc8863b3acfe991449360c9361cae7cabdbe753c553bc57872cd0ad5e",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="8a86ed49d278e234c82e406a1430dc28f50d416f8f1065cf5bdf25cc5721129c",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="7514968ed2342dc274acce8b269c128a6aa96cce769a37fd3880b5269c2ed17f",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="2b41bc6623d204ad7f351a902810f34cd32b762d1bf59081dbb00f83e689a794",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="8325828c5d7818dfb45e03b5f1572a573cc21964d596aaaa33b7469817b03abd",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="7b8f952d0c7f8ac2f3bb60879ab420fabbfafb0885a3d8464d5b4c191e97dec6",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="a5d085fffe05a7ac7f5658075d9782b9b02d0c5c3e2c1807dad266c3a61141fd",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="db561ae5e8ee117f7c539a9ef6ee49c13b82ba9f702b22c76e741cca245386a9",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="9ca6bae7da78abbb47143c3d77ff4a8cd7d63979875fc7ebc46b400769fd9cb5",
+ deprecated=True,
+ )
+
+ 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ for tgt in itertools.chain(["auto"], amdgpu_targets):
+ depends_on(
+ "rocprim@{0} amdgpu_target={1}".format(ver, tgt),
+ when="@{0} amdgpu_target={1}".format(ver, tgt),
+ )
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def cmake_args(self):
args = [
- self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', 'OFF'),
- self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF')
+ self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
+ self.define("BUILD_CLIENTS_TESTS", "OFF"),
+ self.define("BUILD_CLIENTS_BENCHMARKS", "OFF"),
]
- if 'auto' not in self.spec.variants['amdgpu_target']:
- args.append(self.define_from_variant('AMDGPU_TARGETS', 'amdgpu_target'))
+ if "auto" not in self.spec.variants["amdgpu_target"]:
+ args.append(self.define_from_variant("AMDGPU_TARGETS", "amdgpu_target"))
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ 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 1a0b9740fe..e0eee30ced 100644
--- a/var/spack/repos/builtin/packages/rocthrust/package.py
+++ b/var/spack/repos/builtin/packages/rocthrust/package.py
@@ -9,58 +9,112 @@ from spack.package import *
class Rocthrust(CMakePackage):
"""Thrust is a parallel algorithm library. This library has been ported to
- HIP/ROCm platform, which uses the rocPRIM library. The HIP ported
- library works on HIP/ROCm platforms"""
+ HIP/ROCm platform, which uses the rocPRIM library. The HIP ported
+ library works on HIP/ROCm platforms"""
homepage = "https://github.com/ROCmSoftwarePlatform/rocThrust"
- git = "https://github.com/ROCmSoftwarePlatform/rocThrust.git"
- url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCmSoftwarePlatform/rocThrust.git"
+ url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
- version('5.1.3', sha256='8d92de1e69815d92a423b7657f2f37c90f1d427f5bc92915c202d4c266254dad')
- version('5.1.0', sha256='fee779ae3d55b97327d87beca784fc090fa02bc95238d9c3bf3021e266e73979')
- version('5.0.2', sha256='60f0cf1848cc7cd8663f15307bd695eee3c5b20d3ad3baa4bc696189ffdcfd53')
- version('5.0.0', sha256='10b7b1be919881904d64f8084c2afe22aa00c560f8493a75dbf5df8386443ab4')
- version('4.5.2', sha256='9171a05dd7438aebd4f6a939b1b33b7e87be1a0bd52d90a171b74539885cf591')
- version('4.5.0', sha256='86cf897b01a6f5df668d978ce42d44a6ae9df9f8adc92d0a1a49a7c3bbead259')
- version('4.3.1', sha256='86fcd3bc275efe9a485aed48afdc6d3351804c076caee43e3fb8bd69752865e9', deprecated=True)
- version('4.3.0', sha256='a50eb6500687b4ea9e0b3affb1daff8bbc56199d39fbed3ee61d2d5bfc1a0271', deprecated=True)
- version('4.2.0', sha256='da2b6c831c26c26058218b0c5b7b2e43fd7f0dac3b2e3a8e39a839145592c727', deprecated=True)
- version('4.1.0', sha256='e3d06c0387a2a6880776c7423b1acf0808fb8833bc822be75793da8c2f521efd', deprecated=True)
- version('4.0.0', sha256='120c87316f44ce8e8975e57c9b9bf1246b1ffc00879d31d744289ba9438a976c', deprecated=True)
- version('3.10.0', sha256='31bea6cd19a0ffa15e4ab50ecde2402ea5aaa182149cfab98242357e41f1805b', deprecated=True)
- version('3.9.0', sha256='65f5e74d72c5aaee90459468d693b212af7d56e31098ee8237b18d1b4d620eb0', deprecated=True)
- version('3.8.0', sha256='39350aeb8bfbcd09e387717b2a05c7e3a19e0fa85ff4284b967bb8fae12f9013', deprecated=True)
- version('3.7.0', sha256='4cb923dde5eec150a566cb10d23ee5c7ce3aa892c4dea94886a89d95b90f3bdd', deprecated=True)
- version('3.5.0', sha256='0d1bac1129d17bb1259fd06f5c9cb4c1620d1790b5c295b866fb3442d18923cb', deprecated=True)
+ version("5.1.3", sha256="8d92de1e69815d92a423b7657f2f37c90f1d427f5bc92915c202d4c266254dad")
+ version("5.1.0", sha256="fee779ae3d55b97327d87beca784fc090fa02bc95238d9c3bf3021e266e73979")
+ version("5.0.2", sha256="60f0cf1848cc7cd8663f15307bd695eee3c5b20d3ad3baa4bc696189ffdcfd53")
+ version("5.0.0", sha256="10b7b1be919881904d64f8084c2afe22aa00c560f8493a75dbf5df8386443ab4")
+ version("4.5.2", sha256="9171a05dd7438aebd4f6a939b1b33b7e87be1a0bd52d90a171b74539885cf591")
+ version("4.5.0", sha256="86cf897b01a6f5df668d978ce42d44a6ae9df9f8adc92d0a1a49a7c3bbead259")
+ version(
+ "4.3.1",
+ sha256="86fcd3bc275efe9a485aed48afdc6d3351804c076caee43e3fb8bd69752865e9",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="a50eb6500687b4ea9e0b3affb1daff8bbc56199d39fbed3ee61d2d5bfc1a0271",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="da2b6c831c26c26058218b0c5b7b2e43fd7f0dac3b2e3a8e39a839145592c727",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="e3d06c0387a2a6880776c7423b1acf0808fb8833bc822be75793da8c2f521efd",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="120c87316f44ce8e8975e57c9b9bf1246b1ffc00879d31d744289ba9438a976c",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="31bea6cd19a0ffa15e4ab50ecde2402ea5aaa182149cfab98242357e41f1805b",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="65f5e74d72c5aaee90459468d693b212af7d56e31098ee8237b18d1b4d620eb0",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="39350aeb8bfbcd09e387717b2a05c7e3a19e0fa85ff4284b967bb8fae12f9013",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="4cb923dde5eec150a566cb10d23ee5c7ce3aa892c4dea94886a89d95b90f3bdd",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="0d1bac1129d17bb1259fd06f5c9cb4c1620d1790b5c295b866fb3442d18923cb",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"),
- description='CMake build type')
- depends_on('cmake@3.10.2:', type='build', when='@4.2.0:')
- depends_on('cmake@3.5.1:', type='build')
- depends_on('numactl', when='@3.7.0:')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
+ depends_on("cmake@3.10.2:", type="build", when="@4.2.0:")
+ depends_on("cmake@3.5.1:", type="build")
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0',
- '5.0.2', '5.1.0', '5.1.3']:
- depends_on('hip@' + ver, when='@' + ver)
- depends_on('rocprim@' + ver, when='@' + ver)
- depends_on('rocm-cmake@%s:' % 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.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ depends_on("hip@" + ver, when="@" + ver)
+ depends_on("rocprim@" + ver, when="@" + ver)
+ depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
def setup_build_environment(self, env):
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
- args = [
- self.define(
- 'CMAKE_MODULE_PATH',
- '{0}/cmake'.format(self.spec['hip'].prefix)
- )
- ]
+ args = [self.define("CMAKE_MODULE_PATH", "{0}/cmake".format(self.spec["hip"].prefix))]
- if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
+ args.append(self.define("__skip_rocmclang", "ON"))
return args
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 a0514cdd3e..1587578519 100644
--- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py
+++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py
@@ -8,41 +8,79 @@ from spack.package import *
class RoctracerDevApi(Package):
"""ROC-tracer API. Installs the API header files of the roctracer-dev
- package, mainly to avoid circular dependencies in the ROCm ecosystem.
- For the ROC-tracer library, please check out roctracer-dev."""
+ package, mainly to avoid circular dependencies in the ROCm ecosystem.
+ For the ROC-tracer library, please check out roctracer-dev."""
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/refs/tags/rocm-5.0.2.tar.gz"
- tags = ['rocm']
-
- maintainers = ['srekolam', 'arjun-raj-kuppala']
-
- version('5.1.3', sha256='45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c')
- version('5.1.0', sha256='58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac')
- version('5.0.2', sha256='5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc')
- version('5.0.0', sha256='a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2')
- version('4.5.2', sha256='7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074')
- version('4.5.0', sha256='83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296')
- version('4.3.1', sha256='88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2', deprecated=True)
- version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3', deprecated=True)
- version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37', deprecated=True)
- version('4.1.0', sha256='5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695', deprecated=True)
- version('4.0.0', sha256='f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee', deprecated=True)
- version('3.10.0', sha256='ac4a1d059fc34377e906071fd0e56f5434a7e0e4ded9db8faf9217a115239dec', deprecated=True)
- version('3.9.0', sha256='0678f9faf45058b16923948c66d77ba2c072283c975d167899caef969169b292', deprecated=True)
- version('3.8.0', sha256='5154a84ce7568cd5dba756e9508c34ae9fc62f4b0b5731f93c2ad68b21537ed1', deprecated=True)
- version('3.7.0', sha256='6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518', deprecated=True)
- version('3.5.0', sha256='7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e', deprecated=True)
+ git = "https://github.com/ROCm-Developer-Tools/roctracer.git"
+ url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/refs/tags/rocm-5.0.2.tar.gz"
+ tags = ["rocm"]
+
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+
+ version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c")
+ version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac")
+ version("5.0.2", sha256="5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc")
+ version("5.0.0", sha256="a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2")
+ version("4.5.2", sha256="7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074")
+ version("4.5.0", sha256="83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296")
+ version(
+ "4.3.1",
+ sha256="88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="ac4a1d059fc34377e906071fd0e56f5434a7e0e4ded9db8faf9217a115239dec",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="0678f9faf45058b16923948c66d77ba2c072283c975d167899caef969169b292",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="5154a84ce7568cd5dba756e9508c34ae9fc62f4b0b5731f93c2ad68b21537ed1",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e",
+ deprecated=True,
+ )
def install(self, spec, prefix):
source_directory = self.stage.source_path
- include = join_path(source_directory, 'inc')
+ include = join_path(source_directory, "inc")
def only_headers(p):
- return (p.endswith('CMakeLists.txt') or
- p.endswith('RPM') or
- p.endswith('DEBIAN'))
+ return p.endswith("CMakeLists.txt") or p.endswith("RPM") or p.endswith("DEBIAN")
mkdirp(prefix.roctracer.inc)
install_tree(include, prefix.roctracer.inc, ignore=only_headers)
diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py
index 8e508ba164..797d111868 100644
--- a/var/spack/repos/builtin/packages/roctracer-dev/package.py
+++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py
@@ -10,93 +10,149 @@ from spack.package import *
class RoctracerDev(CMakePackage):
"""ROC-tracer library: Runtimes Generic Callback/Activity APIs.
- The goal of the implementation is to provide a generic independent from
- specific runtime profiler to trace API and asyncronous activity."""
+ The goal of the implementation is to provide a generic independent from
+ specific runtime profiler to trace API and asyncronous activity."""
homepage = "https://github.com/ROCm-Developer-Tools/roctracer"
- git = "https://github.com/ROCm-Developer-Tools/roctracer.git"
- url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-5.1.3.tar.gz"
- tags = ['rocm']
+ git = "https://github.com/ROCm-Developer-Tools/roctracer.git"
+ url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-5.1.3.tar.gz"
+ tags = ["rocm"]
- maintainers = ['srekolam', 'arjun-raj-kuppala']
- libraries = ['libroctracer64']
+ maintainers = ["srekolam", "arjun-raj-kuppala"]
+ libraries = ["libroctracer64"]
- version('5.1.3', sha256='45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c')
- version('5.1.0', sha256='58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac')
- version('5.0.2', sha256='5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc')
- version('5.0.0', sha256='a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2')
- version('4.5.2', sha256='7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074')
- version('4.5.0', sha256='83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296')
- version('4.3.1', sha256='88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2', deprecated=True)
- version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3', deprecated=True)
- version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37', deprecated=True)
- version('4.1.0', sha256='5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695', deprecated=True)
- version('4.0.0', sha256='f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee', deprecated=True)
- version('3.10.0', sha256='ac4a1d059fc34377e906071fd0e56f5434a7e0e4ded9db8faf9217a115239dec', deprecated=True)
- version('3.9.0', sha256='0678f9faf45058b16923948c66d77ba2c072283c975d167899caef969169b292', deprecated=True)
- version('3.8.0', sha256='5154a84ce7568cd5dba756e9508c34ae9fc62f4b0b5731f93c2ad68b21537ed1', deprecated=True)
- version('3.7.0', sha256='6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518', deprecated=True)
- version('3.5.0', sha256='7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e', deprecated=True)
+ version("5.1.3", sha256="45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c")
+ version("5.1.0", sha256="58b535f5d6772258190e4adcc23f37c916f775057a91b960e1f2ee1f40ed5aac")
+ version("5.0.2", sha256="5ee46f079e57dfe491678ffa4cdaf5f3b3d179cb3137948e4bcafca99ded47cc")
+ version("5.0.0", sha256="a21f4fb093cee4a806d53cbc0645d615d89db12fbde305e9eceee7e4150acdf2")
+ version("4.5.2", sha256="7012d18b79736dbe119161aab86f4976b78553ce0b2f4753a9386752d75d5074")
+ version("4.5.0", sha256="83dcd8987e129b14da0fe74e24ce8d027333f8fedc9247a402d3683765983296")
+ version(
+ "4.3.1",
+ sha256="88ada5f256a570792d1326a305663e94cf2c3b0cbd99f7e745326923882dafd2",
+ deprecated=True,
+ )
+ version(
+ "4.3.0",
+ sha256="c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3",
+ deprecated=True,
+ )
+ version(
+ "4.2.0",
+ sha256="62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37",
+ deprecated=True,
+ )
+ version(
+ "4.1.0",
+ sha256="5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695",
+ deprecated=True,
+ )
+ version(
+ "4.0.0",
+ sha256="f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee",
+ deprecated=True,
+ )
+ version(
+ "3.10.0",
+ sha256="ac4a1d059fc34377e906071fd0e56f5434a7e0e4ded9db8faf9217a115239dec",
+ deprecated=True,
+ )
+ version(
+ "3.9.0",
+ sha256="0678f9faf45058b16923948c66d77ba2c072283c975d167899caef969169b292",
+ deprecated=True,
+ )
+ version(
+ "3.8.0",
+ sha256="5154a84ce7568cd5dba756e9508c34ae9fc62f4b0b5731f93c2ad68b21537ed1",
+ deprecated=True,
+ )
+ version(
+ "3.7.0",
+ sha256="6fa5b771e990f09c242237ab334b9f01039ec7d54ccde993e719c5d6577d1518",
+ deprecated=True,
+ )
+ version(
+ "3.5.0",
+ sha256="7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e",
+ deprecated=True,
+ )
- variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Release", "Debug", "RelWithDebInfo"),
+ description="CMake build type",
+ )
- depends_on('cmake@3:', type='build')
- depends_on('python@:2', type='build', when='@:4.1.0')
- depends_on('python@3:', type='build', when='@4.2.0:')
- depends_on('py-cppheaderparser', type='build')
+ depends_on("cmake@3:", type="build")
+ depends_on("python@:2", type="build", when="@:4.1.0")
+ depends_on("python@3:", type="build", when="@4.2.0:")
+ 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.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- 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 [
+ "3.5.0",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.5.0",
+ "4.5.2",
+ "5.0.0",
+ "5.0.2",
+ "5.1.0",
+ "5.1.3",
+ ]:
+ 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', '4.3.0', '4.3.1', '4.5.0', '4.5.2', '5.0.0', '5.0.2',
- '5.1.0', '5.1.3']:
- depends_on('rocprofiler-dev@' + ver, when='@' + ver)
+ for ver in ["4.2.0", "4.3.0", "4.3.1", "4.5.0", "4.5.2", "5.0.0", "5.0.2", "5.1.0", "5.1.3"]:
+ depends_on("rocprofiler-dev@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
- match = re.search(r'lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)',
- lib)
+ match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)
if match:
- ver = '{0}.{1}.{2}'.format(int(match.group(1)),
- int(match.group(2)),
- int(match.group(3)))
+ ver = "{0}.{1}.{2}".format(
+ int(match.group(1)), int(match.group(2)), int(match.group(3))
+ )
else:
ver = None
return ver
def setup_build_environment(self, build_env):
spec = self.spec
- build_env.set("HIP_PATH", spec['hip'].prefix)
+ build_env.set("HIP_PATH", spec["hip"].prefix)
def patch(self):
- filter_file('${CMAKE_PREFIX_PATH}/hsa',
- '${HSA_RUNTIME_INC_PATH}', 'src/CMakeLists.txt',
- string=True)
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- with working_dir('script'):
- match = '^#!/usr/bin/python[23]'
- python = self.spec['python'].command.path
+ filter_file(
+ "${CMAKE_PREFIX_PATH}/hsa",
+ "${HSA_RUNTIME_INC_PATH}",
+ "src/CMakeLists.txt",
+ string=True,
+ )
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ with working_dir("script"):
+ match = "^#!/usr/bin/python[23]"
+ python = self.spec["python"].command.path
substitute = "#!{python}".format(python=python)
- if self.spec.satisfies('@:4.3.2'):
- files = [
- 'check_trace.py', 'gen_ostream_ops.py', 'hsaap.py', 'kfdap.py'
- ]
+ if self.spec.satisfies("@:4.3.2"):
+ files = ["check_trace.py", "gen_ostream_ops.py", "hsaap.py", "kfdap.py"]
else:
- files = [
- 'check_trace.py', 'gen_ostream_ops.py', 'hsaap.py'
- ]
+ files = ["check_trace.py", "gen_ostream_ops.py", "hsaap.py"]
filter_file(match, substitute, *files, **kwargs)
def cmake_args(self):
- args = ['-DHIP_VDI=1',
- '-DCMAKE_MODULE_PATH={0}/cmake_modules'.format(
- self.stage.source_path),
- '-DHSA_RUNTIME_HSA_INC_PATH={0}/include'.format(
- self.spec['hsa-rocr-dev'].prefix)
- ]
+ args = [
+ "-DHIP_VDI=1",
+ "-DCMAKE_MODULE_PATH={0}/cmake_modules".format(self.stage.source_path),
+ "-DHSA_RUNTIME_HSA_INC_PATH={0}/include".format(self.spec["hsa-rocr-dev"].prefix),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/rodinia/package.py b/var/spack/repos/builtin/packages/rodinia/package.py
index 44d73bd1c0..654780ff37 100644
--- a/var/spack/repos/builtin/packages/rodinia/package.py
+++ b/var/spack/repos/builtin/packages/rodinia/package.py
@@ -8,61 +8,72 @@ from spack.package import *
class Rodinia(MakefilePackage, CudaPackage):
"""Rodinia: Accelerating Compute-Intensive Applications with
- Accelerators"""
+ Accelerators"""
homepage = "https://rodinia.cs.virginia.edu/doku.php"
- url = "https://www.cs.virginia.edu/~kw5na/lava/Rodinia/Packages/Current/rodinia_3.1.tar.bz2"
+ url = "https://www.cs.virginia.edu/~kw5na/lava/Rodinia/Packages/Current/rodinia_3.1.tar.bz2"
- version('3.1', sha256='faebac7c11ed8f8fcf6bf2d7e85c3086fc2d11f72204d6dfc28dc5b2e8f2acfd')
+ version("3.1", sha256="faebac7c11ed8f8fcf6bf2d7e85c3086fc2d11f72204d6dfc28dc5b2e8f2acfd")
- depends_on('cuda')
- depends_on('freeglut')
- depends_on('glew')
- depends_on('gl')
- depends_on('glu')
+ depends_on("cuda")
+ depends_on("freeglut")
+ depends_on("glew")
+ depends_on("gl")
+ depends_on("glu")
- conflicts('~cuda')
+ conflicts("~cuda")
- build_targets = ['CUDA']
+ build_targets = ["CUDA"]
def edit(self, spec, prefix):
# set cuda paths
- filter_file('CUDA_DIR = /usr/local/cuda',
- 'CUDA_DIR = {0}'.format(self.spec['cuda'].prefix),
- 'common/make.config', string=True)
-
- filter_file('SDK_DIR = /usr/local/cuda-5.5/samples/',
- 'SDK_DIR = {0}/samples'.format(self.spec['cuda'].prefix),
- 'common/make.config', string=True)
+ filter_file(
+ "CUDA_DIR = /usr/local/cuda",
+ "CUDA_DIR = {0}".format(self.spec["cuda"].prefix),
+ "common/make.config",
+ string=True,
+ )
+
+ filter_file(
+ "SDK_DIR = /usr/local/cuda-5.5/samples/",
+ "SDK_DIR = {0}/samples".format(self.spec["cuda"].prefix),
+ "common/make.config",
+ string=True,
+ )
# set cuda arch flags in various makefiles
- filter_file('compute_20',
- 'compute_{0}'.format(spec.variants['cuda_arch'].value[0]),
- 'cuda/cfd/Makefile', string=True)
+ filter_file(
+ "compute_20",
+ "compute_{0}".format(spec.variants["cuda_arch"].value[0]),
+ "cuda/cfd/Makefile",
+ string=True,
+ )
makefiles = [
- 'cuda/lavaMD/makefile',
- 'cuda/particlefilter/Makefile',
- 'cuda/hybridsort/Makefile',
- 'cuda/dwt2d/Makefile',
- 'cuda/hotspot3D/Makefile',
- 'cuda/b+tree/Makefile',
+ "cuda/lavaMD/makefile",
+ "cuda/particlefilter/Makefile",
+ "cuda/hybridsort/Makefile",
+ "cuda/dwt2d/Makefile",
+ "cuda/hotspot3D/Makefile",
+ "cuda/b+tree/Makefile",
]
for makefile in makefiles:
- filter_file('sm_[0-9]+',
- 'sm_{0}'.format(spec.variants['cuda_arch'].value[0]),
- makefile)
+ filter_file(
+ "sm_[0-9]+", "sm_{0}".format(spec.variants["cuda_arch"].value[0]), makefile
+ )
# fix broken makefile rule
- filter_file('%.o: %.[ch]', '%.o: %.c',
- 'cuda/kmeans/Makefile', string=True)
+ filter_file("%.o: %.[ch]", "%.o: %.c", "cuda/kmeans/Makefile", string=True)
# fix missing include for lseek(), read()
- filter_file('#include <stdint.h>',
- '#include <stdint.h>\n#include <unistd.h>',
- 'cuda/mummergpu/src/suffix-tree.cpp', string=True)
+ filter_file(
+ "#include <stdint.h>",
+ "#include <stdint.h>\n#include <unistd.h>",
+ "cuda/mummergpu/src/suffix-tree.cpp",
+ string=True,
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install_tree('bin/linux/cuda', prefix.bin)
+ install_tree("bin/linux/cuda", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/roms/package.py b/var/spack/repos/builtin/packages/roms/package.py
index 12d601ca5a..673d87cdbb 100644
--- a/var/spack/repos/builtin/packages/roms/package.py
+++ b/var/spack/repos/builtin/packages/roms/package.py
@@ -15,7 +15,7 @@ class Roms(MakefilePackage):
the scientific community for a diverse range of applications"""
homepage = "https://www.myroms.org/"
- url = "file://{0}/roms_3.8_source.tar.gz".format(os.getcwd())
+ url = "file://{0}/roms_3.8_source.tar.gz".format(os.getcwd())
manual_download = True
# TODO: ROMS v3.8 (svn version 986) require credentials to download and use
@@ -23,16 +23,22 @@ class Roms(MakefilePackage):
# checksum may differ from what is provided here.
# user can skip checksum verification by placing "--no-checksum"
# next to "spack install"
- version('3.8', sha256='5da7a61b69bd3e1f84f33f894a9f418971f3ba61cf9f5ef0a806a722161e2c9a')
+ version("3.8", sha256="5da7a61b69bd3e1f84f33f894a9f418971f3ba61cf9f5ef0a806a722161e2c9a")
variant("openmp", default=False, description="Turn on shared-memory parallelization in ROMS")
variant("mpi", default=True, description="Turn on distributed-memory parallelization in ROMS")
variant(
- 'roms_application', default='benchmark',
- description='Makefile to include its associated header file',
- values=('upwelling', 'benchmark'), multi=False
+ "roms_application",
+ default="benchmark",
+ description="Makefile to include its associated header file",
+ values=("upwelling", "benchmark"),
+ multi=False,
+ )
+ variant(
+ "debug",
+ default=False,
+ description="Turn on symbolic debug information with no optimization",
)
- variant("debug", default=False, description="Turn on symbolic debug information with no optimization")
depends_on("mpi", when="+mpi")
depends_on("netcdf-fortran")
@@ -48,8 +54,8 @@ class Roms(MakefilePackage):
def _copy_arch_file(self, lib):
"""AOCC compiler takes gfortran's makefile as reference"""
copy(
- join_path('Compilers', 'Linux-gfortran.mk'),
- join_path('Compilers', '{0}-{1}.mk'.format(self.arch, lib))
+ join_path("Compilers", "Linux-gfortran.mk"),
+ join_path("Compilers", "{0}-{1}.mk".format(self.arch, lib)),
)
@property
@@ -57,7 +63,7 @@ class Roms(MakefilePackage):
"""
Application type that have been selected in this build
"""
- return self.spec.variants['roms_application'].value
+ return self.spec.variants["roms_application"].value
@property
def arch(self):
@@ -71,72 +77,73 @@ class Roms(MakefilePackage):
"""
Edit Linux-flang.mk makefile to support AOCC compiler
"""
- fflags = ['-fveclib=AMDLIBM', '-O3', '-ffast-math',
- '-funroll-loops', '-Mstack_arrays', '-std=f2008']
- make_aocc = join_path('Compilers',
- '{0}-{1}.mk'.format(self.arch, lib))
-
- filter_file(r'\sFC := gfortran*$', 'FC := {0}'.format(lib), make_aocc)
- filter_file(r'\sFFLAGS\s:=.*$',
- 'FFLAGS := {0}'.format(' '.join(fflags)),
- make_aocc)
- filter_file(r'\sLIBS\s:= [$]',
- 'LIBS := {0} $'.format(spec['amdlibm'].libs.ld_flags),
- make_aocc)
- filter_file(r'\sFREEFLAGS\s:=.*',
- 'FREEFLAGS := -ffree-form',
- make_aocc)
+ fflags = [
+ "-fveclib=AMDLIBM",
+ "-O3",
+ "-ffast-math",
+ "-funroll-loops",
+ "-Mstack_arrays",
+ "-std=f2008",
+ ]
+ make_aocc = join_path("Compilers", "{0}-{1}.mk".format(self.arch, lib))
+
+ filter_file(r"\sFC := gfortran*$", "FC := {0}".format(lib), make_aocc)
+ filter_file(r"\sFFLAGS\s:=.*$", "FFLAGS := {0}".format(" ".join(fflags)), make_aocc)
+ filter_file(
+ r"\sLIBS\s:= [$]", "LIBS := {0} $".format(spec["amdlibm"].libs.ld_flags), make_aocc
+ )
+ filter_file(r"\sFREEFLAGS\s:=.*", "FREEFLAGS := -ffree-form", make_aocc)
def edit(self, spec, prefix):
# ROMS doesn't have support for AOCC out of the box
# Support extended to AOCC from below steps
- if '%aocc' in self.spec:
+ if "%aocc" in self.spec:
lib_info = os.path.basename(spack_fc)
self._copy_arch_file(lib_info)
self._edit_arch(spec, prefix, lib_info)
- makefile = FileFilter('makefile')
+ makefile = FileFilter("makefile")
app_type = self.selected_roms_application
- makefile.filter(r'ROMS_APPLICATION.*?=.*',
- 'ROMS_APPLICATION = {0}'.format(app_type.upper()))
- makefile.filter(r'\sFORT\s[?]=.*',
- 'FORT = {0}'.format(os.path.basename(spack_fc)))
- makefile.filter(r'\sUSE_NETCDF4\s[?]=.*', 'USE_NETCDF4 = on')
+ makefile.filter(
+ r"ROMS_APPLICATION.*?=.*", "ROMS_APPLICATION = {0}".format(app_type.upper())
+ )
+ makefile.filter(r"\sFORT\s[?]=.*", "FORT = {0}".format(os.path.basename(spack_fc)))
+ makefile.filter(r"\sUSE_NETCDF4\s[?]=.*", "USE_NETCDF4 = on")
# Build MPI variant of ROMS
if "+mpi" in self.spec:
- makefile.filter(r'\sUSE_MPI\s[?]=.*', 'USE_MPI = on')
- makefile.filter(r'\sUSE_MPIF90\s[?]=.*', 'USE_MPIF90 = on')
- makefile.filter(r'\sUSE_OpenMP\s[?]=.*', 'USE_OpenMP =')
+ makefile.filter(r"\sUSE_MPI\s[?]=.*", "USE_MPI = on")
+ makefile.filter(r"\sUSE_MPIF90\s[?]=.*", "USE_MPIF90 = on")
+ makefile.filter(r"\sUSE_OpenMP\s[?]=.*", "USE_OpenMP =")
# Build OpenMP variant of ROMS
if "+openmp" in self.spec:
- makefile.filter(r'\sUSE_OpenMP\s[?]=.*', 'USE_OpenMP = on')
- makefile.filter(r'\sUSE_MPI\s[?]=.*', 'USE_MPI =')
- makefile.filter(r'\sUSE_MPIF90\s[?]=.*', 'USE_MPIF90 =')
+ makefile.filter(r"\sUSE_OpenMP\s[?]=.*", "USE_OpenMP = on")
+ makefile.filter(r"\sUSE_MPI\s[?]=.*", "USE_MPI =")
+ makefile.filter(r"\sUSE_MPIF90\s[?]=.*", "USE_MPIF90 =")
# Build Debug variant of ROMS
if "+debug" in self.spec:
- makefile.filter(r'\sUSE_DEBUG\s[?]=.*', 'USE_DEBUG = on')
+ makefile.filter(r"\sUSE_DEBUG\s[?]=.*", "USE_DEBUG = on")
def setup_build_environment(self, spack_env):
spec = self.spec
- netcdf_include = spec['netcdf-fortran'].prefix.include
- nf_config = join_path(spec['netcdf-fortran'].prefix.bin, 'nf-config')
+ netcdf_include = spec["netcdf-fortran"].prefix.include
+ nf_config = join_path(spec["netcdf-fortran"].prefix.bin, "nf-config")
- spack_env.set('NF_CONFIG', nf_config)
- spack_env.set('NETCDF_INCDIR', netcdf_include)
- spack_env.set('HDF5_INCDIR', spec['hdf5'].prefix.include)
- spack_env.set('HDF5_LIBDIR', spec['hdf5'].prefix.libs)
+ spack_env.set("NF_CONFIG", nf_config)
+ spack_env.set("NETCDF_INCDIR", netcdf_include)
+ spack_env.set("HDF5_INCDIR", spec["hdf5"].prefix.include)
+ spack_env.set("HDF5_LIBDIR", spec["hdf5"].prefix.libs)
def build(self, spec, prefix):
make(parallel=False)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('roms*', prefix.bin)
+ install("roms*", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py
index f9c2df4b10..4959b884e4 100644
--- a/var/spack/repos/builtin/packages/root/package.py
+++ b/var/spack/repos/builtin/packages/root/package.py
@@ -14,309 +14,278 @@ class Root(CMakePackage):
"""ROOT is a data analysis framework."""
homepage = "https://root.cern.ch"
- url = "https://root.cern/download/root_v6.16.00.source.tar.gz"
- git = "https://github.com/root-project/root.git"
+ url = "https://root.cern/download/root_v6.16.00.source.tar.gz"
+ git = "https://github.com/root-project/root.git"
- executables = ['^root$', '^root-config$']
+ executables = ["^root$", "^root-config$"]
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['chissg', 'HadrienG2', 'drbenmorgan', 'vvolkl']
+ maintainers = ["chissg", "HadrienG2", "drbenmorgan", "vvolkl"]
# ###################### Versions ##########################
# Master branch
- version('master', branch='master')
+ version("master", branch="master")
# Development version (when more recent than production).
# Production version
- version('6.26.04', sha256='a271cf82782d6ed2c87ea5eef6681803f2e69e17b3036df9d863636e9358421e')
- version('6.26.02', sha256='7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb')
- version('6.26.00', sha256='5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31')
- version('6.24.06', sha256='907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522')
- version('6.24.02', sha256='0507e1095e279ccc7240f651d25966024325179fa85a1259b694b56723ad7c1c')
- version('6.24.00', sha256='9da30548a289211c3122d47dacb07e85d35e61067fac2be6c5a5ff7bda979989')
- version('6.22.08', sha256='6f061ff6ef8f5ec218a12c4c9ea92665eea116b16e1cd4df4f96f00c078a2f6f')
- version('6.22.06', sha256='c4688784a7e946cd10b311040b6cf0b2f75125a7520e04d1af0b746505911b57')
- version('6.22.02', sha256='89784afa9c9047e9da25afa72a724f32fa8aa646df267b7731e4527cc8a0c340')
- version('6.22.00', sha256='efd961211c0f9cd76cf4a486e4f89badbcf1d08e7535bba556862b3c1a80beed')
- version('6.20.08', sha256='d02f224b4908c814a99648782b927c353d44db79dea2cadea86138c1afc23ae9')
- version('6.20.06', sha256='9a734758a91598d8a58a3d64d7d606aeb17bdf6fd8214e33f5c4d9947d391951')
- version('6.20.04', sha256='1f8c76ccdb550e64e6ddb092b4a7e9d0a10655ef80044828cba12d5e7c874472')
- version('6.20.02', sha256='0997586bf097c0afbc6f08edbffcebf5eb6a4237262216114ba3f5c8087dcba6')
- version('6.20.00', sha256='68421eb0434b38b66346fa8ea6053a0fdc9a6d254e4a72019f4e3633ae118bf0')
- version('6.18.04', sha256='315a85fc8363f8eb1bffa0decbf126121258f79bd273513ed64795675485cfa4')
+ version("6.26.04", sha256="a271cf82782d6ed2c87ea5eef6681803f2e69e17b3036df9d863636e9358421e")
+ version("6.26.02", sha256="7ba96772271a726079506c5bf629c3ceb21bf0682567ed6145be30606d7cd9bb")
+ version("6.26.00", sha256="5fb9be71fdf0c0b5e5951f89c2f03fcb5e74291d043f6240fb86f5ca977d4b31")
+ version("6.24.06", sha256="907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522")
+ version("6.24.02", sha256="0507e1095e279ccc7240f651d25966024325179fa85a1259b694b56723ad7c1c")
+ version("6.24.00", sha256="9da30548a289211c3122d47dacb07e85d35e61067fac2be6c5a5ff7bda979989")
+ version("6.22.08", sha256="6f061ff6ef8f5ec218a12c4c9ea92665eea116b16e1cd4df4f96f00c078a2f6f")
+ version("6.22.06", sha256="c4688784a7e946cd10b311040b6cf0b2f75125a7520e04d1af0b746505911b57")
+ version("6.22.02", sha256="89784afa9c9047e9da25afa72a724f32fa8aa646df267b7731e4527cc8a0c340")
+ version("6.22.00", sha256="efd961211c0f9cd76cf4a486e4f89badbcf1d08e7535bba556862b3c1a80beed")
+ version("6.20.08", sha256="d02f224b4908c814a99648782b927c353d44db79dea2cadea86138c1afc23ae9")
+ version("6.20.06", sha256="9a734758a91598d8a58a3d64d7d606aeb17bdf6fd8214e33f5c4d9947d391951")
+ version("6.20.04", sha256="1f8c76ccdb550e64e6ddb092b4a7e9d0a10655ef80044828cba12d5e7c874472")
+ version("6.20.02", sha256="0997586bf097c0afbc6f08edbffcebf5eb6a4237262216114ba3f5c8087dcba6")
+ version("6.20.00", sha256="68421eb0434b38b66346fa8ea6053a0fdc9a6d254e4a72019f4e3633ae118bf0")
+ version("6.18.04", sha256="315a85fc8363f8eb1bffa0decbf126121258f79bd273513ed64795675485cfa4")
# Old versions
- version('6.18.02', sha256='50ffffdbf2585a536c77a03f54aa631926138275ffeee02e5a16dde87e978c1d')
- version('6.18.00', sha256='e6698d6cfe585f186490b667163db65e7d1b92a2447658d77fa831096383ea71')
- version('6.16.00', sha256='2a45055c6091adaa72b977c512f84da8ef92723c30837c7e2643eecc9c5ce4d8')
- version('6.14.08', sha256='1b63b51cfb4dc20f1f5749faac6bbd1098eccab777f8b49911257d77186c73c4')
- version('6.14.06', sha256='0fb943b61396f282b289e35c455a9ab60126229be1bd3f04a8f00b37c13ab432')
- version('6.14.04', sha256='463ec20692332a422cfb5f38c78bedab1c40ab4d81be18e99b50cf9f53f596cf')
- version('6.14.02', sha256='93816519523e87ac75924178d87112d1573eaa108fc65691aea9a9dd5bc05b3e')
- version('6.14.00', sha256='7946430373489310c2791ff7a3520e393dc059db1371272bcd9d9cf0df347a0b')
- version('6.12.06', sha256='aedcfd2257806e425b9f61b483e25ba600eb0ea606e21262eafaa9dc745aa794')
- version('6.10.08', sha256='2cd276d2ac365403c66f08edd1be62fe932a0334f76349b24d8c737c0d6dad8a')
- version('6.08.06', sha256='ea31b047ba6fc04b0b312667349eaf1498a254ccacd212144f15ffcb3f5c0592')
- version('6.06.08', sha256='7cb836282014cce822ef589cad27811eb7a86d7fad45a871fa6b0e6319ec201a')
- version('6.06.06', sha256='0a7d702a130a260c72cb6ea754359eaee49a8c4531b31f23de0bfcafe3ce466b')
- version('6.06.04', sha256='ab86dcc80cbd8e704099af0789e23f49469932ac4936d2291602301a7aa8795b')
- version('6.06.02', sha256='18a4ce42ee19e1a810d5351f74ec9550e6e422b13b5c58e0c3db740cdbc569d1')
+ version("6.18.02", sha256="50ffffdbf2585a536c77a03f54aa631926138275ffeee02e5a16dde87e978c1d")
+ version("6.18.00", sha256="e6698d6cfe585f186490b667163db65e7d1b92a2447658d77fa831096383ea71")
+ version("6.16.00", sha256="2a45055c6091adaa72b977c512f84da8ef92723c30837c7e2643eecc9c5ce4d8")
+ version("6.14.08", sha256="1b63b51cfb4dc20f1f5749faac6bbd1098eccab777f8b49911257d77186c73c4")
+ version("6.14.06", sha256="0fb943b61396f282b289e35c455a9ab60126229be1bd3f04a8f00b37c13ab432")
+ version("6.14.04", sha256="463ec20692332a422cfb5f38c78bedab1c40ab4d81be18e99b50cf9f53f596cf")
+ version("6.14.02", sha256="93816519523e87ac75924178d87112d1573eaa108fc65691aea9a9dd5bc05b3e")
+ version("6.14.00", sha256="7946430373489310c2791ff7a3520e393dc059db1371272bcd9d9cf0df347a0b")
+ version("6.12.06", sha256="aedcfd2257806e425b9f61b483e25ba600eb0ea606e21262eafaa9dc745aa794")
+ version("6.10.08", sha256="2cd276d2ac365403c66f08edd1be62fe932a0334f76349b24d8c737c0d6dad8a")
+ version("6.08.06", sha256="ea31b047ba6fc04b0b312667349eaf1498a254ccacd212144f15ffcb3f5c0592")
+ version("6.06.08", sha256="7cb836282014cce822ef589cad27811eb7a86d7fad45a871fa6b0e6319ec201a")
+ version("6.06.06", sha256="0a7d702a130a260c72cb6ea754359eaee49a8c4531b31f23de0bfcafe3ce466b")
+ version("6.06.04", sha256="ab86dcc80cbd8e704099af0789e23f49469932ac4936d2291602301a7aa8795b")
+ version("6.06.02", sha256="18a4ce42ee19e1a810d5351f74ec9550e6e422b13b5c58e0c3db740cdbc569d1")
# ###################### Patches ##########################
# Widely used patch (CMS, FNAL) to increase the size of static
# buffers used to improve the operation of TString.
- patch('format-stringbuf-size.patch', level=0)
+ patch("format-stringbuf-size.patch", level=0)
# Support use of `mariadb-c-client` and `mariadb` to provide the
# MySQL API _cf_
# https://github.com/root-project/root/commit/9c0fa8c554a569c971185249f9acfff4418c0c13.
- patch('find-mysql.patch', level=1, when='@:6.16.00')
+ patch("find-mysql.patch", level=1, when="@:6.16.00")
# Some ROOT versions did not honor the option to avoid building an
# internal version of unuran, _cf_
# https://github.com/root-project/ROOT/commit/3e60764f133218b6938e5aa4986de760e8f058d9.
- patch('honor-unuran-switch.patch', level=1, when='@6.08.06:6.13')
+ patch("honor-unuran-switch.patch", level=1, when="@6.08.06:6.13")
# 6.16.00 fails to handle particular build option combinations, _cf_
# https://github.com/root-project/ROOT/commit/e0ae0483985d90a71a6cabd10d3622dfd1c15611.
- patch('root7-webgui.patch', level=1, when='@6.16.00')
+ patch("root7-webgui.patch", level=1, when="@6.16.00")
- if sys.platform == 'darwin':
+ if sys.platform == "darwin":
# Resolve non-standard use of uint, _cf_
# https://sft.its.cern.ch/jira/browse/ROOT-7886.
- patch('math_uint.patch', when='@6.06.02')
+ patch("math_uint.patch", when="@6.06.02")
# Resolve circular dependency, _cf_
# https://sft.its.cern.ch/jira/browse/ROOT-8226.
- patch('root6-60606-mathmore.patch', when='@6.06.06')
+ patch("root6-60606-mathmore.patch", when="@6.06.06")
# ###################### Variants ##########################
# See README.md for specific notes about what ROOT configuration
# options are or are not supported, and why.
- variant('aqua', default=False,
- description='Enable Aqua interface')
- variant('davix', default=True,
- description='Compile with external Davix')
- variant('dcache', default=False,
- description='Enable support for dCache')
- variant('emacs', default=False,
- description='Enable Emacs support')
- variant('examples', default=True,
- description='Install examples')
- variant('fftw', default=False,
- description='Enable Fast Fourier Transform support')
- variant('fits', default=False,
- description='Enable support for images and data from FITS files')
- variant('fortran', default=False,
- description='Enable the Fortran components of ROOT')
- variant('graphviz', default=False,
- description='Enable graphviz support')
- variant('gdml', default=True,
- description='Enable GDML writer and reader')
- variant('gminimal', default=True,
- description='Ignore most of Root\'s feature defaults except for '
- 'basic graphic options')
- variant('gsl', default=True,
- description='Enable linking against shared libraries for GSL')
- variant('http', default=False,
- description='Enable HTTP server support')
- variant('jemalloc', default=False,
- description='Enable using the jemalloc allocator')
- variant('math', default=True,
- description='Build the new libMathMore extended math library')
- variant('memstat', default=False,
- description='Enable a memory stats utility to detect memory leaks')
+ variant("aqua", default=False, description="Enable Aqua interface")
+ variant("davix", default=True, description="Compile with external Davix")
+ variant("dcache", default=False, description="Enable support for dCache")
+ variant("emacs", default=False, description="Enable Emacs support")
+ variant("examples", default=True, description="Install examples")
+ variant("fftw", default=False, description="Enable Fast Fourier Transform support")
+ variant(
+ "fits", default=False, description="Enable support for images and data from FITS files"
+ )
+ variant("fortran", default=False, description="Enable the Fortran components of ROOT")
+ variant("graphviz", default=False, description="Enable graphviz support")
+ variant("gdml", default=True, description="Enable GDML writer and reader")
+ variant(
+ "gminimal",
+ default=True,
+ description="Ignore most of Root's feature defaults except for " "basic graphic options",
+ )
+ variant("gsl", default=True, description="Enable linking against shared libraries for GSL")
+ variant("http", default=False, description="Enable HTTP server support")
+ variant("jemalloc", default=False, description="Enable using the jemalloc allocator")
+ variant("math", default=True, description="Build the new libMathMore extended math library")
+ variant(
+ "memstat",
+ default=False,
+ description="Enable a memory stats utility to detect memory leaks",
+ )
# Minuit must not be installed as a dependency of root
# otherwise it crashes with the internal minuit library
- variant('minuit', default=True,
- description='Automatically search for support libraries')
- variant('mlp', default=False,
- description="Enable support for TMultilayerPerceptron "
- "classes' federation")
- variant('mysql', default=False)
- variant('opengl', default=True,
- description='Enable OpenGL support')
- variant('oracle', default=False,
- description='Enable support for Oracle databases')
- variant('postgres', default=False,
- description='Enable postgres support')
- variant('pythia6', default=False,
- description='Enable pythia6 support')
- variant('pythia8', default=False,
- description='Enable pythia8 support')
- variant('python', default=True,
- description='Enable Python ROOT bindings')
- variant('qt4', default=False,
- description='Enable Qt graphics backend')
- variant('r', default=False,
- description='Enable R ROOT bindings')
- variant('rpath', default=True,
- description='Enable RPATH')
- variant('roofit', default=True,
- description='Build the libRooFit advanced fitting package')
- variant('root7', default=False,
- description='Enable ROOT 7 support')
- variant('shadow', default=False,
- description='Enable shadow password support')
- variant('spectrum', default=False,
- description='Enable support for TSpectrum')
- variant('sqlite', default=False,
- description='Enable SQLite support')
- variant('ssl', default=False,
- description='Enable SSL encryption support')
- variant('table', default=False,
- description='Build libTable contrib library')
- variant('tbb', default=True,
- description='TBB multi-threading support')
- variant('threads', default=True,
- description='Enable using thread library')
- variant('tmva', default=False,
- description='Build TMVA multi variate analysis library')
- variant('unuran', default=True,
- description='Use UNURAN for random number generation')
- variant('vc', default=False,
- description='Enable Vc for adding new types for SIMD programming')
- variant('vdt', default=True,
- description='Enable set of fast and vectorisable math functions')
- variant('veccore', default=False,
- description='Enable support for VecCore SIMD abstraction library')
- variant('vmc', default=False,
- description='Enable the Virtual Monte Carlo interface')
- variant('x', default=True,
- description='Enable set of graphical options')
- variant('xml', default=True,
- description='Enable XML parser interface')
- variant('xrootd', default=False,
- description='Build xrootd file server and its client')
+ variant("minuit", default=True, description="Automatically search for support libraries")
+ variant(
+ "mlp",
+ default=False,
+ description="Enable support for TMultilayerPerceptron " "classes' federation",
+ )
+ variant("mysql", default=False)
+ variant("opengl", default=True, description="Enable OpenGL support")
+ variant("oracle", default=False, description="Enable support for Oracle databases")
+ variant("postgres", default=False, description="Enable postgres support")
+ variant("pythia6", default=False, description="Enable pythia6 support")
+ variant("pythia8", default=False, description="Enable pythia8 support")
+ variant("python", default=True, description="Enable Python ROOT bindings")
+ variant("qt4", default=False, description="Enable Qt graphics backend")
+ variant("r", default=False, description="Enable R ROOT bindings")
+ variant("rpath", default=True, description="Enable RPATH")
+ variant("roofit", default=True, description="Build the libRooFit advanced fitting package")
+ variant("root7", default=False, description="Enable ROOT 7 support")
+ variant("shadow", default=False, description="Enable shadow password support")
+ variant("spectrum", default=False, description="Enable support for TSpectrum")
+ variant("sqlite", default=False, description="Enable SQLite support")
+ variant("ssl", default=False, description="Enable SSL encryption support")
+ variant("table", default=False, description="Build libTable contrib library")
+ variant("tbb", default=True, description="TBB multi-threading support")
+ variant("threads", default=True, description="Enable using thread library")
+ variant("tmva", default=False, description="Build TMVA multi variate analysis library")
+ variant("unuran", default=True, description="Use UNURAN for random number generation")
+ variant("vc", default=False, description="Enable Vc for adding new types for SIMD programming")
+ variant("vdt", default=True, description="Enable set of fast and vectorisable math functions")
+ variant(
+ "veccore", default=False, description="Enable support for VecCore SIMD abstraction library"
+ )
+ variant("vmc", default=False, description="Enable the Virtual Monte Carlo interface")
+ variant("x", default=True, description="Enable set of graphical options")
+ variant("xml", default=True, description="Enable XML parser interface")
+ variant("xrootd", default=False, description="Build xrootd file server and its client")
# ###################### Compiler variants ########################
- variant('cxxstd',
- default='11',
- values=('11', '14', '17', '20'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17", "20"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
# ###################### Dependencies ######################
- depends_on('cmake@3.4.3:', type='build', when='@:6.16')
- depends_on('cmake@3.9:', type='build', when='@6.18.00:')
- depends_on('pkgconfig', type='build')
-
- depends_on('blas')
- depends_on('freetype')
- depends_on('jpeg')
- depends_on('libice')
- depends_on('libpng')
- depends_on('lz4', when='@6.13.02:') # See cmake_args, below.
- depends_on('ncurses')
- depends_on('nlohmann-json', when='@6.24:')
- depends_on('pcre')
- depends_on('xxhash', when='@6.13.02:') # See cmake_args, below.
- depends_on('xz')
- depends_on('zlib')
- depends_on('zstd', when='@6.20:')
+ depends_on("cmake@3.4.3:", type="build", when="@:6.16")
+ depends_on("cmake@3.9:", type="build", when="@6.18.00:")
+ depends_on("pkgconfig", type="build")
+
+ depends_on("blas")
+ depends_on("freetype")
+ depends_on("jpeg")
+ depends_on("libice")
+ depends_on("libpng")
+ depends_on("lz4", when="@6.13.02:") # See cmake_args, below.
+ depends_on("ncurses")
+ depends_on("nlohmann-json", when="@6.24:")
+ depends_on("pcre")
+ depends_on("xxhash", when="@6.13.02:") # See cmake_args, below.
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("zstd", when="@6.20:")
# X-Graphics
- depends_on('libx11', when="+x")
- depends_on('libxext', when="+x")
- depends_on('libxft', when="+x")
- depends_on('libxpm', when="+x")
- depends_on('libsm', when="+x")
+ depends_on("libx11", when="+x")
+ depends_on("libxext", when="+x")
+ depends_on("libxft", when="+x")
+ depends_on("libxpm", when="+x")
+ depends_on("libsm", when="+x")
# OpenGL
- depends_on('ftgl@2.4.0:', when="+x+opengl")
- depends_on('glew', when="+x+opengl")
- depends_on('gl', when="+x+opengl")
- depends_on('glu', when="+x+opengl")
- depends_on('gl2ps', when="+x+opengl")
+ depends_on("ftgl@2.4.0:", when="+x+opengl")
+ depends_on("glew", when="+x+opengl")
+ depends_on("gl", when="+x+opengl")
+ depends_on("glu", when="+x+opengl")
+ depends_on("gl2ps", when="+x+opengl")
# Qt4
- depends_on('qt@:4', when='+qt4')
+ depends_on("qt@:4", when="+qt4")
# Python
- depends_on('python@2.7:', when='+python', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'), when='+tmva')
+ depends_on("python@2.7:", when="+python", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"), when="+tmva")
# This numpy dependency was not intended and will hopefully
# be fixed in 6.20.06.
# See: https://sft.its.cern.ch/jira/browse/ROOT-10626
- depends_on('py-numpy', type=('build', 'run'),
- when='@6.20.00:6.20.05 +python')
+ depends_on("py-numpy", type=("build", "run"), when="@6.20.00:6.20.05 +python")
# Optional dependencies
- depends_on('davix @0.7.1:', when='+davix')
- depends_on('dcap', when='+dcache')
- depends_on('cfitsio', when='+fits')
- depends_on('fcgi', when='+http')
- depends_on('fftw', when='+fftw')
- depends_on('graphviz', when='+graphviz')
- depends_on('gsl', when='+gsl')
- depends_on('jemalloc', when='+jemalloc')
- depends_on('mysql-client', when='+mysql')
- depends_on('openssl', when='+ssl')
- depends_on('openssl', when='+davix') # Also with davix
- depends_on('oracle-instant-client@19.10.0.0.0', when='+oracle @:6.24.01')
- depends_on('postgresql', when='+postgres')
- depends_on('pythia6+root', when='+pythia6')
- depends_on('pythia8', when='+pythia8')
- depends_on('r', when='+r', type=('build', 'run'))
- depends_on('r-rcpp', when='+r', type=('build', 'run'))
- depends_on('r-rinside', when='+r', type=('build', 'run'))
- depends_on('readline', when='+r')
- depends_on('shadow', when='+shadow')
- depends_on('sqlite', when='+sqlite')
- depends_on('tbb', when='+tbb')
+ depends_on("davix @0.7.1:", when="+davix")
+ depends_on("dcap", when="+dcache")
+ depends_on("cfitsio", when="+fits")
+ depends_on("fcgi", when="+http")
+ depends_on("fftw", when="+fftw")
+ depends_on("graphviz", when="+graphviz")
+ depends_on("gsl", when="+gsl")
+ depends_on("jemalloc", when="+jemalloc")
+ depends_on("mysql-client", when="+mysql")
+ depends_on("openssl", when="+ssl")
+ depends_on("openssl", when="+davix") # Also with davix
+ depends_on("oracle-instant-client@19.10.0.0.0", when="+oracle @:6.24.01")
+ depends_on("postgresql", when="+postgres")
+ depends_on("pythia6+root", when="+pythia6")
+ depends_on("pythia8", when="+pythia8")
+ depends_on("r", when="+r", type=("build", "run"))
+ depends_on("r-rcpp", when="+r", type=("build", "run"))
+ depends_on("r-rinside", when="+r", type=("build", "run"))
+ depends_on("readline", when="+r")
+ depends_on("shadow", when="+shadow")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("tbb", when="+tbb")
# See: https://github.com/root-project/root/issues/6933
- conflicts('^intel-tbb@2021.1:', when='@:6.22',
- msg='Please use an older intel-tbb version')
- conflicts('^intel-oneapi-tbb@2021.1:', when='@:6.22',
- msg='Please use an older intel-tbb/intel-oneapi-tbb version')
+ conflicts("^intel-tbb@2021.1:", when="@:6.22", msg="Please use an older intel-tbb version")
+ conflicts(
+ "^intel-oneapi-tbb@2021.1:",
+ when="@:6.22",
+ msg="Please use an older intel-tbb/intel-oneapi-tbb version",
+ )
# depends_on('intel-tbb@:2021.0', when='@:6.22 ^intel-tbb')
- depends_on('unuran', when='+unuran')
- depends_on('vc', when='+vc')
- depends_on('vdt', when='+vdt')
- depends_on('veccore', when='+veccore')
- depends_on('libxml2', when='+xml')
- depends_on('xrootd', when='+xrootd')
- depends_on('xrootd@:4', when='@:6.22.03 +xrootd')
+ depends_on("unuran", when="+unuran")
+ depends_on("vc", when="+vc")
+ depends_on("vdt", when="+vdt")
+ depends_on("veccore", when="+veccore")
+ depends_on("libxml2", when="+xml")
+ depends_on("xrootd", when="+xrootd")
+ depends_on("xrootd@:4", when="@:6.22.03 +xrootd")
# ###################### Conflicts ######################
# I was unable to build root with any Intel compiler
# See https://sft.its.cern.ch/jira/browse/ROOT-7517
- conflicts('%intel')
+ conflicts("%intel")
# ROOT <6.08 was incompatible with the GCC 5+ ABI
- conflicts('%gcc@5.0.0:', when='@:6.07')
+ conflicts("%gcc@5.0.0:", when="@:6.07")
# The version of Clang featured in ROOT <6.12 fails to build with
# GCC 9.2.1, which we can safely extrapolate to the GCC 9 series.
- conflicts('%gcc@9.0.0:', when='@:6.11')
+ conflicts("%gcc@9.0.0:", when="@:6.11")
# ROOT <6.14 was incompatible with Python 3.7+
- conflicts('^python@3.7:', when='@:6.13 +python')
+ conflicts("^python@3.7:", when="@:6.13 +python")
# See https://github.com/root-project/root/issues/9297
- conflicts('target=ppc64le:', when='@:6.24')
+ conflicts("target=ppc64le:", when="@:6.24")
# Incompatible variants
- conflicts('+opengl', when='~x', msg='OpenGL requires X')
- conflicts('+tmva', when='~gsl', msg='TVMA requires GSL')
- conflicts('+tmva', when='~mlp', msg='TVMA requires MLP')
- conflicts('cxxstd=11', when='+root7', msg='root7 requires at least C++14')
- conflicts('cxxstd=11', when='@6.25.02:', msg='This version of root '
- 'requires at least C++14')
- conflicts('cxxstd=20', when='@:6.25.01', msg='C++20 support was added '
- 'in 6.25.02')
+ conflicts("+opengl", when="~x", msg="OpenGL requires X")
+ conflicts("+tmva", when="~gsl", msg="TVMA requires GSL")
+ conflicts("+tmva", when="~mlp", msg="TVMA requires MLP")
+ conflicts("cxxstd=11", when="+root7", msg="root7 requires at least C++14")
+ conflicts("cxxstd=11", when="@6.25.02:", msg="This version of root " "requires at least C++14")
+ conflicts("cxxstd=20", when="@:6.25.01", msg="C++20 support was added " "in 6.25.02")
# Feature removed in 6.18:
- for pkg in ('memstat', 'qt4', 'table'):
- conflicts('+' + pkg, when='@6.18.00:',
- msg='Obsolete option +{0} selected.'.format(pkg))
+ for pkg in ("memstat", "qt4", "table"):
+ conflicts("+" + pkg, when="@6.18.00:", msg="Obsolete option +{0} selected.".format(pkg))
# Feature removed in 6.26.00:
- conflicts('+vmc', when='@6.26:', msg="VMC was removed in ROOT v6.26.00.")
+ conflicts("+vmc", when="@6.26:", msg="VMC was removed in ROOT v6.26.00.")
@classmethod
def filter_detected_exes(cls, prefix, exes_in_prefix):
@@ -324,25 +293,25 @@ class Root(CMakePackage):
for exe in exes_in_prefix:
# no need to check the root executable itself
# we can get all information from root-config
- if exe.endswith('root'):
+ if exe.endswith("root"):
continue
result.append(exe)
return result
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
+ output = Executable(exe)("--version", output=str, error=str)
# turn the output of root-config --version
# (something like 6.22/06)
# into the format used in this recipe (6.22.06)
- return output.strip().replace('/', '.')
+ 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)
+ 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:
@@ -358,57 +327,57 @@ class Root(CMakePackage):
def _add_variant(variants, features, featurename, variantname):
if isinstance(featurename, str):
if featurename in features:
- variants.append('%s' % variantname)
+ variants.append("%s" % variantname)
else:
- variants.append('~%s' % variantname[1:])
+ variants.append("~%s" % variantname[1:])
else:
if set(featurename).issubset(features):
- variants.append('%s' % variantname)
+ 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', 'webgui'), '+root7') # for root version >= 6.18.00
- _add_variant(v, f, ('root7', 'webui'), '+root7') # for root version <= 6.17.02
- _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')
+ 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", "webgui"), "+root7") # for root version >= 6.18.00
+ _add_variant(v, f, ("root7", "webui"), "+root7") # for root version <= 6.17.02
+ _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):
@@ -422,181 +391,181 @@ class Root(CMakePackage):
# Options controlling gross build / config behavior.
options += [
- define('cxxmodules', False),
- define('exceptions', True),
- define('explicitlink', True),
- define('fail-on-missing', True),
- define_from_variant('fortran'),
- define_from_variant('gminimal'),
- define('gnuinstall', True),
- define('libcxx', False),
- define('pch', True),
- define('roottest', False),
- define_from_variant('rpath'),
- define('runtime_cxxmodules', False),
- define('shared', True),
- define('soversion', True),
- define('testing', self.run_tests),
- define_from_variant('thread', 'threads'),
+ define("cxxmodules", False),
+ define("exceptions", True),
+ define("explicitlink", True),
+ define("fail-on-missing", True),
+ define_from_variant("fortran"),
+ define_from_variant("gminimal"),
+ define("gnuinstall", True),
+ define("libcxx", False),
+ define("pch", True),
+ define("roottest", False),
+ define_from_variant("rpath"),
+ define("runtime_cxxmodules", False),
+ define("shared", True),
+ define("soversion", True),
+ define("testing", self.run_tests),
+ define_from_variant("thread", "threads"),
# The following option makes sure that Cling will call the compiler
# it was compiled with at run time; see #17488, #18078 and #23886
- define('CLING_CXX_PATH', self.compiler.cxx),
+ define("CLING_CXX_PATH", self.compiler.cxx),
]
# Options related to ROOT's ability to download and build its own
# dependencies. Per Spack convention, this should generally be avoided.
options += [
- define_from_variant('builtin_afterimage', 'x'),
- define('builtin_cfitsio', False),
- define('builtin_davix', False),
- define('builtin_fftw3', False),
- define('builtin_freetype', False),
- define('builtin_ftgl', False),
- define('builtin_gl2ps', False),
- define('builtin_glew', False),
- define('builtin_gsl', False),
- define('builtin_llvm', True),
- define('builtin_lz4', self.spec.satisfies('@6.12.02:6.12')),
- define('builtin_lzma', False),
- define('builtin_nlohmannjson', False),
- define('builtin_openssl', False),
- define('builtin_pcre', False),
- define('builtin_tbb', False),
- define('builtin_unuran', False),
- define('builtin_vc', False),
- define('builtin_vdt', False),
- define('builtin_veccore', False),
- define('builtin_xrootd', False),
- define('builtin_xxhash', self.spec.satisfies('@6.12.02:6.12')),
- define('builtin_zlib', False)
+ define_from_variant("builtin_afterimage", "x"),
+ define("builtin_cfitsio", False),
+ define("builtin_davix", False),
+ define("builtin_fftw3", False),
+ define("builtin_freetype", False),
+ define("builtin_ftgl", False),
+ define("builtin_gl2ps", False),
+ define("builtin_glew", False),
+ define("builtin_gsl", False),
+ define("builtin_llvm", True),
+ define("builtin_lz4", self.spec.satisfies("@6.12.02:6.12")),
+ define("builtin_lzma", False),
+ define("builtin_nlohmannjson", False),
+ define("builtin_openssl", False),
+ define("builtin_pcre", False),
+ define("builtin_tbb", False),
+ define("builtin_unuran", False),
+ define("builtin_vc", False),
+ define("builtin_vdt", False),
+ define("builtin_veccore", False),
+ define("builtin_xrootd", False),
+ define("builtin_xxhash", self.spec.satisfies("@6.12.02:6.12")),
+ define("builtin_zlib", False),
]
# Features
options += [
- define('afdsmrgd', False),
- define('afs', False),
- define('alien', False),
- define('arrow', False),
- define('asimage', True),
- define('astiff', True),
- define('bonjour', False),
- define('castor', False),
- define('ccache', False),
- define('chirp', False),
- define('cling', True),
- define_from_variant('cocoa', 'aqua'),
- define('dataframe', True),
- define_from_variant('davix'),
- define_from_variant('dcache'),
- define_from_variant('fftw3', 'fftw'),
- define_from_variant('fitsio', 'fits'),
- define_from_variant('ftgl', 'opengl'),
- define_from_variant('gdml'),
- define_from_variant('genvector', 'math'),
- define('geocad', False),
- define('gfal', False),
- define_from_variant('gl2ps', 'opengl'),
- define('glite', False),
- define('globus', False),
- define_from_variant('gsl_shared', 'gsl'),
- define_from_variant('gviz', 'graphviz'),
- define('hdfs', False),
- define_from_variant('http'), # See conflicts
- define_from_variant('imt', 'tbb'),
- define_from_variant('jemalloc'),
- define('krb5', False),
- define('ldap', False),
- define_from_variant('mathmore', 'math'),
- define_from_variant('memstat'), # See conflicts
- define('minimal', False),
- define_from_variant('minuit'),
- define_from_variant('minuit2', 'minuit'),
- define_from_variant('mlp'),
- define('monalisa', False),
- define_from_variant('mysql'),
- define('odbc', False),
- define_from_variant('opengl'),
- define_from_variant('oracle'),
- define_from_variant('pgsql', 'postgres'),
- define_from_variant('pythia6'),
- define_from_variant('pythia8'),
- define_from_variant('qt', 'qt4'), # See conflicts
- define_from_variant('qtgsi', 'qt4'), # See conflicts
- define_from_variant('r'),
- define('rfio', False),
- define_from_variant('roofit'),
- define_from_variant('root7'), # See conflicts
- define('ruby', False),
- define('sapdb', False),
- define_from_variant('shadowpw', 'shadow'),
- define_from_variant('spectrum'),
- define_from_variant('sqlite'),
- define('srp', False),
- define_from_variant('ssl'),
- define_from_variant('table'),
- define_from_variant('tbb'),
- define('tcmalloc', False),
- define_from_variant('tmva'),
- define_from_variant('unuran'),
- define_from_variant('vc'),
- define_from_variant('vdt'),
- define_from_variant('veccore'),
- define_from_variant('vmc'),
- define_from_variant('x11', 'x'),
- define_from_variant('xft', 'x'),
- define_from_variant('xml'),
- define_from_variant('xrootd')
+ define("afdsmrgd", False),
+ define("afs", False),
+ define("alien", False),
+ define("arrow", False),
+ define("asimage", True),
+ define("astiff", True),
+ define("bonjour", False),
+ define("castor", False),
+ define("ccache", False),
+ define("chirp", False),
+ define("cling", True),
+ define_from_variant("cocoa", "aqua"),
+ define("dataframe", True),
+ define_from_variant("davix"),
+ define_from_variant("dcache"),
+ define_from_variant("fftw3", "fftw"),
+ define_from_variant("fitsio", "fits"),
+ define_from_variant("ftgl", "opengl"),
+ define_from_variant("gdml"),
+ define_from_variant("genvector", "math"),
+ define("geocad", False),
+ define("gfal", False),
+ define_from_variant("gl2ps", "opengl"),
+ define("glite", False),
+ define("globus", False),
+ define_from_variant("gsl_shared", "gsl"),
+ define_from_variant("gviz", "graphviz"),
+ define("hdfs", False),
+ define_from_variant("http"), # See conflicts
+ define_from_variant("imt", "tbb"),
+ define_from_variant("jemalloc"),
+ define("krb5", False),
+ define("ldap", False),
+ define_from_variant("mathmore", "math"),
+ define_from_variant("memstat"), # See conflicts
+ define("minimal", False),
+ define_from_variant("minuit"),
+ define_from_variant("minuit2", "minuit"),
+ define_from_variant("mlp"),
+ define("monalisa", False),
+ define_from_variant("mysql"),
+ define("odbc", False),
+ define_from_variant("opengl"),
+ define_from_variant("oracle"),
+ define_from_variant("pgsql", "postgres"),
+ define_from_variant("pythia6"),
+ define_from_variant("pythia8"),
+ define_from_variant("qt", "qt4"), # See conflicts
+ define_from_variant("qtgsi", "qt4"), # See conflicts
+ define_from_variant("r"),
+ define("rfio", False),
+ define_from_variant("roofit"),
+ define_from_variant("root7"), # See conflicts
+ define("ruby", False),
+ define("sapdb", False),
+ define_from_variant("shadowpw", "shadow"),
+ define_from_variant("spectrum"),
+ define_from_variant("sqlite"),
+ define("srp", False),
+ define_from_variant("ssl"),
+ define_from_variant("table"),
+ define_from_variant("tbb"),
+ define("tcmalloc", False),
+ define_from_variant("tmva"),
+ define_from_variant("unuran"),
+ define_from_variant("vc"),
+ define_from_variant("vdt"),
+ define_from_variant("veccore"),
+ define_from_variant("vmc"),
+ define_from_variant("x11", "x"),
+ define_from_variant("xft", "x"),
+ define_from_variant("xml"),
+ define_from_variant("xrootd"),
]
# Necessary due to name change of variant (webui->webgui)
# https://github.com/root-project/root/commit/d631c542909f2f793ca7b06abc622e292dfc4934
- if self.spec.satisfies('@:6.17.02'):
- options.append(define_from_variant('webui', 'root7'))
- if self.spec.satisfies('@6.18.00:'):
- options.append(define_from_variant('webgui', 'root7'))
+ if self.spec.satisfies("@:6.17.02"):
+ options.append(define_from_variant("webui", "root7"))
+ if self.spec.satisfies("@6.18.00:"):
+ options.append(define_from_variant("webgui", "root7"))
# Some special features
- if self.spec.satisfies('@6.20.02:'):
- options.append(define_from_variant('pyroot', 'python'))
+ if self.spec.satisfies("@6.20.02:"):
+ options.append(define_from_variant("pyroot", "python"))
else:
- options.append(define_from_variant('python'))
+ options.append(define_from_variant("python"))
# #################### Compiler options ####################
- if sys.platform == 'darwin' and self.compiler.cc == 'gcc':
- cflags = '-D__builtin_unreachable=__builtin_trap'
- options.extend([
- define('CMAKE_C_FLAGS', cflags),
- define('CMAKE_CXX_FLAGS', cflags),
- ])
+ if sys.platform == "darwin" and self.compiler.cc == "gcc":
+ cflags = "-D__builtin_unreachable=__builtin_trap"
+ options.extend(
+ [
+ define("CMAKE_C_FLAGS", cflags),
+ define("CMAKE_CXX_FLAGS", cflags),
+ ]
+ )
# Method for selecting C++ standard depends on ROOT version
- if self.spec.satisfies('@6.18.00:'):
- options.append(define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
+ if self.spec.satisfies("@6.18.00:"):
+ options.append(define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"))
else:
- options.append(define('cxx' + self.spec.variants['cxxstd'].value,
- True))
-
- if '+x+opengl' in self.spec:
- ftgl_prefix = self.spec['ftgl'].prefix
- options.append(define('FTGL_ROOT_DIR', ftgl_prefix))
- options.append(define('FTGL_INCLUDE_DIR', ftgl_prefix.include))
- if '+python' in self.spec:
+ options.append(define("cxx" + self.spec.variants["cxxstd"].value, True))
+
+ if "+x+opengl" in self.spec:
+ ftgl_prefix = self.spec["ftgl"].prefix
+ options.append(define("FTGL_ROOT_DIR", ftgl_prefix))
+ options.append(define("FTGL_INCLUDE_DIR", ftgl_prefix.include))
+ if "+python" in self.spec:
# See https://github.com/spack/spack/pull/11579
- options.append(define('PYTHON_EXECUTABLE',
- spec['python'].command.path))
+ options.append(define("PYTHON_EXECUTABLE", spec["python"].command.path))
return options
def setup_build_environment(self, env):
spec = self.spec
- if 'lz4' in spec:
- env.append_path('CMAKE_PREFIX_PATH', spec['lz4'].prefix)
+ if "lz4" in spec:
+ env.append_path("CMAKE_PREFIX_PATH", spec["lz4"].prefix)
# This hack is made necessary by a header name collision between
# asimage's "import.h" and Python's "import.h" headers...
- env.set('SPACK_INCLUDE_DIRS', '', force=True)
+ env.set("SPACK_INCLUDE_DIRS", "", force=True)
# ...but it breaks header search for any ROOT dependency which does not
# use CMake. To resolve this, we must bring back those dependencies's
@@ -608,46 +577,46 @@ class Root(CMakePackage):
def add_include_path(dep_name):
include_path = spec[dep_name].prefix.include
if not is_system_path(include_path):
- env.append_path('SPACK_INCLUDE_DIRS', include_path)
+ env.append_path("SPACK_INCLUDE_DIRS", include_path)
# With that done, let's go fixing those deps
- if spec.satisfies('@:6.12'):
- add_include_path('zlib')
- if '+x' in spec:
- if spec.satisfies('@:6.08') or spec.satisfies('@6.22:'):
- add_include_path('xextproto')
- add_include_path('fontconfig')
- add_include_path('libx11')
- add_include_path('xproto')
- if '+opengl' in spec:
- add_include_path('glew')
- add_include_path('mesa-glu')
- if 'platform=darwin' in spec:
+ if spec.satisfies("@:6.12"):
+ add_include_path("zlib")
+ if "+x" in spec:
+ if spec.satisfies("@:6.08") or spec.satisfies("@6.22:"):
+ add_include_path("xextproto")
+ add_include_path("fontconfig")
+ add_include_path("libx11")
+ add_include_path("xproto")
+ if "+opengl" in spec:
+ add_include_path("glew")
+ add_include_path("mesa-glu")
+ if "platform=darwin" in spec:
# Newer deployment targets cause fatal errors in rootcling, so
# override with an empty value even though it may lead to link
# warnings when building against ROOT
- env.unset('MACOSX_DEPLOYMENT_TARGET')
+ env.unset("MACOSX_DEPLOYMENT_TARGET")
def setup_run_environment(self, env):
- env.set('ROOTSYS', self.prefix)
- env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
- env.prepend_path('PYTHONPATH', self.prefix.lib.root)
+ env.set("ROOTSYS", self.prefix)
+ env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1)))
+ env.prepend_path("PYTHONPATH", self.prefix.lib.root)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('ROOTSYS', self.prefix)
- env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
- env.prepend_path('PYTHONPATH', self.prefix.lib.root)
- env.prepend_path('PATH', self.prefix.bin)
- env.append_path('CMAKE_MODULE_PATH', self.prefix.cmake)
- env.prepend_path('ROOT_INCLUDE_PATH', dependent_spec.prefix.include)
+ env.set("ROOTSYS", self.prefix)
+ env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1)))
+ env.prepend_path("PYTHONPATH", self.prefix.lib.root)
+ env.prepend_path("PATH", self.prefix.bin)
+ env.append_path("CMAKE_MODULE_PATH", self.prefix.cmake)
+ env.prepend_path("ROOT_INCLUDE_PATH", dependent_spec.prefix.include)
if "+rpath" not in self.spec:
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib.root)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib.root)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.set('ROOTSYS', self.prefix)
- env.set('ROOT_VERSION', 'v{0}'.format(self.version.up_to(1)))
- env.prepend_path('PYTHONPATH', self.prefix.lib.root)
- env.prepend_path('PATH', self.prefix.bin)
- env.prepend_path('ROOT_INCLUDE_PATH', dependent_spec.prefix.include)
+ env.set("ROOTSYS", self.prefix)
+ env.set("ROOT_VERSION", "v{0}".format(self.version.up_to(1)))
+ env.prepend_path("PYTHONPATH", self.prefix.lib.root)
+ env.prepend_path("PATH", self.prefix.bin)
+ env.prepend_path("ROOT_INCLUDE_PATH", dependent_spec.prefix.include)
if "+rpath" not in self.spec:
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib.root)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib.root)
diff --git a/var/spack/repos/builtin/packages/rose/package.py b/var/spack/repos/builtin/packages/rose/package.py
index cac4f3eb81..eb5bb8bd74 100644
--- a/var/spack/repos/builtin/packages/rose/package.py
+++ b/var/spack/repos/builtin/packages/rose/package.py
@@ -9,14 +9,14 @@ from spack.pkg.builtin.boost import Boost
class Rose(AutotoolsPackage):
"""A compiler infrastructure to build source-to-source program
- transformation and analysis tools.
- (Developed at Lawrence Livermore National Lab)"""
+ transformation and analysis tools.
+ (Developed at Lawrence Livermore National Lab)"""
homepage = "http://rosecompiler.org/"
url = "https://github.com/rose-compiler/rose/archive/v0.9.13.0.zip"
git = "https://github.com/rose-compiler/rose.git"
- maintainers = ['pinnown']
+ maintainers = ["pinnown"]
# --------------------------------------------------------------------------
# ROSE Versions
@@ -26,33 +26,41 @@ class Rose(AutotoolsPackage):
# Version for edg binary is found in src/frontend/CxxFrontend/EDG_VERSION
# EDG_VERSION may be different from ROSE_VERSION
- resource(name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-4.9-5.0.9.12.52.tar.gz",
- expand=False,
- placement="rose-build/src/frontend/CxxFrontend/",
- when="@0.9.13.0 %gcc@4.9.0:4.9",
- url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-4.9-5.0.9.12.52.tar.gz",
- sha256="fb4b50606bdc681b864bbece46d344d7775780ffe7883aa96305d732c9c04a1c")
-
- resource(name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-5-5.0.9.12.52.tar.gz",
- expand=False,
- placement="rose-build/src/frontend/CxxFrontend/",
- when="@0.9.13.0 %gcc@5.0:5",
- url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-5-5.0.9.12.52.tar.gz",
- sha256="584f8f721274f0f2d5c9a0c7701c045af99580ea7cd1d50999e20c2a897298fb")
-
- resource(name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-6-5.0.9.12.52.tar.gz",
- expand=False,
- placement="rose-build/src/frontend/CxxFrontend/",
- when="@0.9.13.0 %gcc@6.0:6",
- url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-6-5.0.9.12.52.tar.gz",
- sha256="561cd5a944d0dd01689aa0bea8eccf30fc994cd20c4c05da7943c6f36cec25b5")
-
- resource(name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-7-5.0.9.12.52.tar.gz",
- expand=False,
- placement="rose-build/src/frontend/CxxFrontend/",
- when="@0.9.13.0 %gcc@7.0:7",
- url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-7-5.0.9.12.52.tar.gz",
- sha256="800a178804e8b5e936942b4eb036cc61e5d5ad43551cb4fd901ec42ba7e7a176")
+ resource(
+ name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-4.9-5.0.9.12.52.tar.gz",
+ expand=False,
+ placement="rose-build/src/frontend/CxxFrontend/",
+ when="@0.9.13.0 %gcc@4.9.0:4.9",
+ url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-4.9-5.0.9.12.52.tar.gz",
+ sha256="fb4b50606bdc681b864bbece46d344d7775780ffe7883aa96305d732c9c04a1c",
+ )
+
+ resource(
+ name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-5-5.0.9.12.52.tar.gz",
+ expand=False,
+ placement="rose-build/src/frontend/CxxFrontend/",
+ when="@0.9.13.0 %gcc@5.0:5",
+ url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-5-5.0.9.12.52.tar.gz",
+ sha256="584f8f721274f0f2d5c9a0c7701c045af99580ea7cd1d50999e20c2a897298fb",
+ )
+
+ resource(
+ name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-6-5.0.9.12.52.tar.gz",
+ expand=False,
+ placement="rose-build/src/frontend/CxxFrontend/",
+ when="@0.9.13.0 %gcc@6.0:6",
+ url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-6-5.0.9.12.52.tar.gz",
+ sha256="561cd5a944d0dd01689aa0bea8eccf30fc994cd20c4c05da7943c6f36cec25b5",
+ )
+
+ resource(
+ name="roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-7-5.0.9.12.52.tar.gz",
+ expand=False,
+ placement="rose-build/src/frontend/CxxFrontend/",
+ when="@0.9.13.0 %gcc@7.0:7",
+ url="http://edg-binaries.rosecompiler.org/roseBinaryEDG-5-0-x86_64-pc-linux-gnu-gnu-7-5.0.9.12.52.tar.gz",
+ sha256="800a178804e8b5e936942b4eb036cc61e5d5ad43551cb4fd901ec42ba7e7a176",
+ )
# git versions depends on internet connection at build time
version("develop", branch="develop")
@@ -68,7 +76,7 @@ class Rose(AutotoolsPackage):
# C++11 compatible boost and gcc versions required for +cxx11 variant:
depends_on("boost@1.60.0:1.64.0,1.65.1,1.66.0:1.67.0 cxxstd=11", when="+cxx11")
- depends_on("boost@1.60.0:1.64.0,1.65.1,1.66.0:1.67.0", when="~cxx11")
+ depends_on("boost@1.60.0:1.64.0,1.65.1,1.66.0:1.67.0", when="~cxx11")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -120,11 +128,7 @@ class Rose(AutotoolsPackage):
# ROSE-based Projects
# ------------------------------------------------------------------------
variant("codethorn", default=False, description="Enable the CodeThorn project")
- variant(
- "autopar",
- default=False,
- description="Enable the autoParallelization project"
- )
+ variant("autopar", default=False, description="Enable the autoParallelization project")
variant("polyopt", default=False, description="Enable the PolyOpt project")
build_directory = "rose-build"
@@ -246,12 +250,7 @@ class Rose(AutotoolsPackage):
env["ROSE_ROOT"] = self.prefix
bash = which("bash")
- bash(
- join_path(
- self.stage.source_path,
- "projects/PolyOpt2/install.sh"
- )
- )
+ bash(join_path(self.stage.source_path, "projects/PolyOpt2/install.sh"))
def install(self, spec, prefix):
with working_dir(self.build_directory):
diff --git a/var/spack/repos/builtin/packages/ross/package.py b/var/spack/repos/builtin/packages/ross/package.py
index 6848fd4805..1514037040 100644
--- a/var/spack/repos/builtin/packages/ross/package.py
+++ b/var/spack/repos/builtin/packages/ross/package.py
@@ -10,20 +10,20 @@ class Ross(CMakePackage):
"""Rensselaer Optimistic Simulation System"""
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"
+ git = "https://github.com/ROSS-org/ROSS.git"
+ url = "https://github.com/ROSS-org/ROSS/archive/v7.0.0.tar.gz"
- version('develop', branch='develop')
- version('master', branch='master')
- version('7.2.0', sha256='c937f4c7baa1918b6cd08f4eafae8cab44eddcd4aaa1175c23ff8562583ad726')
- version('7.1.1', sha256='550e3288cefedcbc7e6ca16cfbee0477b70399d63e94f554b60b32d714029722')
- version('7.1.0', sha256='478063f36d96466faef3db3cc15e1c0e1a8b60b9152fcce0eedf367be8252733')
- version('7.0.1', sha256='40780dada4ab501d2b8ea229f70b9fea920404431d7a60081ba84dd4a50b2517')
- version('7.0.0', sha256='fd16be2c86d9d71ae64eef67c02933471ab758c8a5b01b04fe358d9228fc581e')
- version('6.0.0', sha256='07ff70518a58503e116bb7386f490e901212798afdd471da1bcd34f78a7e6030')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("7.2.0", sha256="c937f4c7baa1918b6cd08f4eafae8cab44eddcd4aaa1175c23ff8562583ad726")
+ version("7.1.1", sha256="550e3288cefedcbc7e6ca16cfbee0477b70399d63e94f554b60b32d714029722")
+ version("7.1.0", sha256="478063f36d96466faef3db3cc15e1c0e1a8b60b9152fcce0eedf367be8252733")
+ version("7.0.1", sha256="40780dada4ab501d2b8ea229f70b9fea920404431d7a60081ba84dd4a50b2517")
+ version("7.0.0", sha256="fd16be2c86d9d71ae64eef67c02933471ab758c8a5b01b04fe358d9228fc581e")
+ version("6.0.0", sha256="07ff70518a58503e116bb7386f490e901212798afdd471da1bcd34f78a7e6030")
- depends_on('mpi')
- depends_on('cmake@3.5:', when="@7.0.1:", type='build')
+ depends_on("mpi")
+ depends_on("cmake@3.5:", when="@7.0.1:", type="build")
@when("@:7.0.0")
def cmake_args(self):
@@ -31,7 +31,7 @@ class Ross(CMakePackage):
args.append("-DBUILD_SHARED_LIBS=ON")
args.append("-DARCH=%s" % self.spec.target)
- args.append("-DCMAKE_C_COMPILER=%s" % self.spec['mpi'].mpicc)
- args.append("-DCMAKE_CXX_COMPILER=%s" % self.spec['mpi'].mpicxx)
+ args.append("-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc)
+ args.append("-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx)
return args
diff --git a/var/spack/repos/builtin/packages/routino/package.py b/var/spack/repos/builtin/packages/routino/package.py
index d523a874b9..9eee048193 100644
--- a/var/spack/repos/builtin/packages/routino/package.py
+++ b/var/spack/repos/builtin/packages/routino/package.py
@@ -12,13 +12,13 @@ class Routino(MakefilePackage):
https://www.OpenStreetMap.org/."""
homepage = "https://www.routino.org"
- url = "https://www.routino.org/download/routino-3.2.tgz"
+ url = "https://www.routino.org/download/routino-3.2.tgz"
- version('3.2', sha256='e2a431eaffbafab630835966d342e4ae25d5edb94c8ed419200e1ffb50bc7552')
+ version("3.2", sha256="e2a431eaffbafab630835966d342e4ae25d5edb94c8ed419200e1ffb50bc7552")
- depends_on('zlib')
- depends_on('bzip2')
+ depends_on("zlib")
+ depends_on("bzip2")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile.conf')
- makefile.filter('prefix=.*', 'prefix={0}'.format(prefix))
+ makefile = FileFilter("Makefile.conf")
+ makefile.filter("prefix=.*", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/rpcsvc-proto/package.py b/var/spack/repos/builtin/packages/rpcsvc-proto/package.py
index 146153b93e..2f9f3dbc2b 100644
--- a/var/spack/repos/builtin/packages/rpcsvc-proto/package.py
+++ b/var/spack/repos/builtin/packages/rpcsvc-proto/package.py
@@ -10,21 +10,23 @@ class RpcsvcProto(AutotoolsPackage):
"""rpcsvc protocol definitions from glibc."""
homepage = "https://github.com/thkukuk/rpcsvc-proto"
- url = "https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.3/rpcsvc-proto-1.4.3.tar.xz"
+ url = "https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.3/rpcsvc-proto-1.4.3.tar.xz"
- version('1.4.3', sha256='69315e94430f4e79c74d43422f4a36e6259e97e67e2677b2c7d7060436bd99b1')
- version('1.4.2', sha256='678851b9f7ddf4410d2859c12016b65a6dd1a0728d478f18aeb54d165352f17c')
- version('1.4.1', sha256='9429e143bb8dd33d34bf0663f571d4d4a1103e1afd7c49791b367b7ae1ef7f35')
- version('1.4', sha256='4149d5f05d8f7224a4d207362fdfe72420989dc1b028b28b7b62b6c2efe22345')
+ version("1.4.3", sha256="69315e94430f4e79c74d43422f4a36e6259e97e67e2677b2c7d7060436bd99b1")
+ version("1.4.2", sha256="678851b9f7ddf4410d2859c12016b65a6dd1a0728d478f18aeb54d165352f17c")
+ version("1.4.1", sha256="9429e143bb8dd33d34bf0663f571d4d4a1103e1afd7c49791b367b7ae1ef7f35")
+ version("1.4", sha256="4149d5f05d8f7224a4d207362fdfe72420989dc1b028b28b7b62b6c2efe22345")
- depends_on('gettext')
+ depends_on("gettext")
def configure_args(self):
- return ['LIBS=-lintl']
+ return ["LIBS=-lintl"]
- @run_before('build')
+ @run_before("build")
def change_makefile(self):
# Add 'cpp' path for rpcgen
- filter_file('rpcgen/rpcgen',
- 'rpcgen/rpcgen -Y {0}/lib/spack/env'.format(spack.paths.spack_root),
- 'rpcsvc/Makefile')
+ filter_file(
+ "rpcgen/rpcgen",
+ "rpcgen/rpcgen -Y {0}/lib/spack/env".format(spack.paths.spack_root),
+ "rpcsvc/Makefile",
+ )
diff --git a/var/spack/repos/builtin/packages/rpm/package.py b/var/spack/repos/builtin/packages/rpm/package.py
index d407e9534a..5bb941dcbc 100644
--- a/var/spack/repos/builtin/packages/rpm/package.py
+++ b/var/spack/repos/builtin/packages/rpm/package.py
@@ -18,121 +18,133 @@ class Rpm(AutotoolsPackage):
"""
homepage = "https://github.com/rpm-software-management/rpm"
- url = "https://github.com/rpm-software-management/rpm/archive/rpm-4.16.0-release.tar.gz"
- git = "https://github.com/rpm-software-management/rpm.git"
-
- maintainers = ['haampie']
-
- version('master', branch='master')
- version('4.16.1.2', sha256='3d2807807a8ccaa92a8ced74e09b5bf5b2417a5bbf9bee4abc7c6aa497547bf3')
- version('4.16.0', sha256='a62b744e3404b107e8467e1a36ff0f2bf9e5c1b748dbfeb36db54bbb859446ea')
-
- variant('crypto', values=('openssl', 'libgcrypt'), default='libgcrypt',
- multi=False, description='What cryptographic library to use')
- variant('sqlite', default=False, description='Use sqlite instead of ndb')
- variant('berkeley-db', values=('full', 'readonly', 'none'), default='none',
- multi=False, description='Type of support for Berkeley DB')
- variant('selinux', default=False, description="Enable support for SELinux")
- variant('python', default=False, description="Build Python bindings to RPM library")
- variant('lua', default=True, description='Build with lua support')
- variant('zstd', default=False, description='Build with zstd suport')
- variant('posix', default=False, description="Enable POSIX.1e draft 15 file capabilities support")
- variant('gpg', default=False, description="Install gpg for using cryptographic signatures")
- variant('openmp', default=True, description="OpenMP multithreading support")
- variant('nls', default=False, description='Enable native language support')
+ url = "https://github.com/rpm-software-management/rpm/archive/rpm-4.16.0-release.tar.gz"
+ git = "https://github.com/rpm-software-management/rpm.git"
+
+ maintainers = ["haampie"]
+
+ version("master", branch="master")
+ version("4.16.1.2", sha256="3d2807807a8ccaa92a8ced74e09b5bf5b2417a5bbf9bee4abc7c6aa497547bf3")
+ version("4.16.0", sha256="a62b744e3404b107e8467e1a36ff0f2bf9e5c1b748dbfeb36db54bbb859446ea")
+
+ variant(
+ "crypto",
+ values=("openssl", "libgcrypt"),
+ default="libgcrypt",
+ multi=False,
+ description="What cryptographic library to use",
+ )
+ variant("sqlite", default=False, description="Use sqlite instead of ndb")
+ variant(
+ "berkeley-db",
+ values=("full", "readonly", "none"),
+ default="none",
+ multi=False,
+ description="Type of support for Berkeley DB",
+ )
+ variant("selinux", default=False, description="Enable support for SELinux")
+ variant("python", default=False, description="Build Python bindings to RPM library")
+ variant("lua", default=True, description="Build with lua support")
+ variant("zstd", default=False, description="Build with zstd suport")
+ variant(
+ "posix", default=False, description="Enable POSIX.1e draft 15 file capabilities support"
+ )
+ variant("gpg", default=False, description="Install gpg for using cryptographic signatures")
+ variant("openmp", default=True, description="OpenMP multithreading support")
+ variant("nls", default=False, description="Enable native language support")
# Always required
- depends_on('popt')
+ depends_on("popt")
# Without this file patch, we don't detect lua
- depends_on('lua+pcfile@5.3.5:', when='+lua')
+ depends_on("lua+pcfile@5.3.5:", when="+lua")
# Enable POSIX.1e draft 15 file capabilities support
- depends_on('libcap', when="+posix")
- depends_on('berkeley-db@4.5:', when='berkeley-db=full')
- depends_on('berkeley-db@4.5:', when='berkeley-db=readonly')
+ depends_on("libcap", when="+posix")
+ depends_on("berkeley-db@4.5:", when="berkeley-db=full")
+ depends_on("berkeley-db@4.5:", when="berkeley-db=readonly")
- depends_on('gettext', when='+nls')
- depends_on('gettext', type='build')
- depends_on('iconv')
- depends_on('file') # provides magic.h
- depends_on('libarchive')
+ depends_on("gettext", when="+nls")
+ depends_on("gettext", type="build")
+ depends_on("iconv")
+ depends_on("file") # provides magic.h
+ depends_on("libarchive")
# support for cryptographic signatures
- depends_on('gnupg', when='+gpg')
+ depends_on("gnupg", when="+gpg")
# cryptographic library to support digests and signatures
- depends_on('libgcrypt', when='crypto=libgcrypt')
- depends_on('openssl@1.0.2:', when='crypto=openssl')
+ depends_on("libgcrypt", when="crypto=libgcrypt")
+ depends_on("openssl@1.0.2:", when="crypto=openssl")
# RPM needs some database, ndb requires no extra dependencies but sqlite does
- depends_on('sqlite@3.22.0:', when='+sqlite')
+ depends_on("sqlite@3.22.0:", when="+sqlite")
# Python 2.x support is being deprecated
- depends_on('python@3.1:', when='+sqlite')
+ depends_on("python@3.1:", when="+sqlite")
# compression support -- there is no configure option for many of these
# and they autodetect the libraries, so it's better to just make them
# hard requirements to avoid linking against system libraries.
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('gzip')
- depends_on('xz')
- depends_on('lzma')
- depends_on('zstd', when='+zstd')
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("gzip")
+ depends_on("xz")
+ depends_on("lzma")
+ depends_on("zstd", when="+zstd")
# java jar dependency analysis (already requirement for lua)
- depends_on('unzip', type='run')
+ depends_on("unzip", type="run")
# Build dependencies
- depends_on('doxygen', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("doxygen", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# Lua is about to become a hard requirement
- conflicts('~lua', when='@4.17:')
+ conflicts("~lua", when="@4.17:")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh', '--noconfigure')
+ bash = which("bash")
+ bash("./autogen.sh", "--noconfigure")
def configure_args(self):
spec = self.spec
args = [
- '--enable-ndb',
- '--disable-inhibit-plugin',
- '--with-crypto={0}'.format(spec.variants['crypto'].value)
+ "--enable-ndb",
+ "--disable-inhibit-plugin",
+ "--with-crypto={0}".format(spec.variants["crypto"].value),
]
- args += self.enable_or_disable('nls')
- args += self.enable_or_disable('sqlite')
- args += self.with_or_without('selinux')
- args += self.with_or_without('python')
+ args += self.enable_or_disable("nls")
+ args += self.enable_or_disable("sqlite")
+ args += self.with_or_without("selinux")
+ args += self.with_or_without("python")
# OpenMP multithreading support automatically enabled if C compiler has
# support for OpenMP version 4.5 or higher
- args += self.enable_or_disable('openmp')
+ args += self.enable_or_disable("openmp")
# Option got removed in 4.17
- if self.spec.satisfies('@:4.16'):
- args += self.with_or_without('lua')
+ if self.spec.satisfies("@:4.16"):
+ args += self.with_or_without("lua")
# Legacy berkely db support
- if 'berkeley-db=full' in spec:
- args.extend(['--enable-bdb', '--disable-bdb-ro'])
- elif 'berkeley-db=readonly' in spec:
- args.extend(['--disable-bdb', '--enable-bdb-ro'])
+ if "berkeley-db=full" in spec:
+ args.extend(["--enable-bdb", "--disable-bdb-ro"])
+ elif "berkeley-db=readonly" in spec:
+ args.extend(["--disable-bdb", "--enable-bdb-ro"])
else:
- args.extend(['--disable-bdb', '--disable-bdb-ro'])
+ args.extend(["--disable-bdb", "--disable-bdb-ro"])
# enable POSIX.1e draft 15 file capabilities support
- if '+posix' in spec:
- args.append('--with-cap')
+ if "+posix" in spec:
+ args.append("--with-cap")
- if 'crypto=openssl' in spec:
+ if "crypto=openssl" in spec:
tty.warn(openssl_warning)
return args
diff --git a/var/spack/repos/builtin/packages/rr/package.py b/var/spack/repos/builtin/packages/rr/package.py
index 92c52352c3..5473536d85 100644
--- a/var/spack/repos/builtin/packages/rr/package.py
+++ b/var/spack/repos/builtin/packages/rr/package.py
@@ -8,40 +8,40 @@ from spack.package import *
class Rr(CMakePackage):
"""Application execution recorder, player and debugger"""
+
homepage = "https://rr-project.org/"
- url = "https://github.com/mozilla/rr/archive/4.5.0.tar.gz"
+ url = "https://github.com/mozilla/rr/archive/4.5.0.tar.gz"
- version('4.5.0', sha256='19f28259c0aa562c9518ae51207377fa93071a7dc270a0738d8d39e45ae2b1c0')
- version('4.4.0', sha256='b2b24a3f67df47576126421746cd2942a458d2825faa76e8bb3ca43edffa03d3')
- version('4.3.0', sha256='46933cdd706d71c3de05b55937c85ee055c08e67e5c1e6a1278c7feb187ca37a')
+ version("4.5.0", sha256="19f28259c0aa562c9518ae51207377fa93071a7dc270a0738d8d39e45ae2b1c0")
+ version("4.4.0", sha256="b2b24a3f67df47576126421746cd2942a458d2825faa76e8bb3ca43edffa03d3")
+ version("4.3.0", sha256="46933cdd706d71c3de05b55937c85ee055c08e67e5c1e6a1278c7feb187ca37a")
- depends_on('gdb')
- depends_on('git')
- depends_on('zlib')
+ depends_on("gdb")
+ depends_on("git")
+ depends_on("zlib")
# depends_on('capnproto', when='@4.6:') # not yet in spack
# depends_on('libcapnp') # needed for future releases
- depends_on('pkgconfig', type='build')
- depends_on('py-pexpect', type='test')
+ depends_on("pkgconfig", type="build")
+ depends_on("py-pexpect", type="test")
# rr needs architecture Nehalem and beyond, how can spack
# test this?
# Only 'Release' is supported at the moment
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Release',))
+ variant(
+ "build_type", default="Release", description="The build type to build", values=("Release",)
+ )
def patch(self):
# because otherwise CMake would try and fail to set RPATH of
# rr_exec_stub
- filter_file(
- r'^(install\(TARGETS .*)\s*rr_exec_stub', r'\1', 'CMakeLists.txt')
+ filter_file(r"^(install\(TARGETS .*)\s*rr_exec_stub", r"\1", "CMakeLists.txt")
def cmake_args(self):
- return ['-Ddisable32bit=ON']
+ return ["-Ddisable32bit=ON"]
- @run_after('install')
+ @run_after("install")
def install_stub(self):
with working_dir(self.build_directory):
mkdirp(self.prefix.bin)
- install('bin/rr_exec_stub', self.prefix.bin)
+ install("bin/rr_exec_stub", self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/rrdtool/package.py b/var/spack/repos/builtin/packages/rrdtool/package.py
index 5849c02b90..9ddbd90e56 100644
--- a/var/spack/repos/builtin/packages/rrdtool/package.py
+++ b/var/spack/repos/builtin/packages/rrdtool/package.py
@@ -10,19 +10,20 @@ class Rrdtool(AutotoolsPackage):
"""RA tool for data logging and analysis."""
homepage = "https://oss.oetiker.ch/rrdtool"
- url = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz"
+ url = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz"
- version('1.7.2', sha256='a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db')
- version('1.7.1', sha256='989b778eda6967aa5192c73abafe43e7b10e6100776971a7e79d249942781aae')
- version('1.7.0', sha256='f97d348935b91780f2cd80399719e20c0b91f0a23537c0a85f9ff306d4c5526b')
+ version("1.7.2", sha256="a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db")
+ version("1.7.1", sha256="989b778eda6967aa5192c73abafe43e7b10e6100776971a7e79d249942781aae")
+ version("1.7.0", sha256="f97d348935b91780f2cd80399719e20c0b91f0a23537c0a85f9ff306d4c5526b")
- depends_on('libxml2')
- depends_on('pango')
- depends_on('lua@5.3.0:5.3.5')
- depends_on('perl-extutils-makemaker')
+ depends_on("libxml2")
+ depends_on("pango")
+ depends_on("lua@5.3.0:5.3.5")
+ depends_on("perl-extutils-makemaker")
def configure_args(self):
- args = ['LDFLAGS=-lintl',
- "--with-systemdsystemunitdir=" +
- self.spec['rrdtool'].prefix.lib.systemd.system]
+ args = [
+ "LDFLAGS=-lintl",
+ "--with-systemdsystemunitdir=" + self.spec["rrdtool"].prefix.lib.systemd.system,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/rsbench/package.py b/var/spack/repos/builtin/packages/rsbench/package.py
index 219d782954..3f075d003c 100644
--- a/var/spack/repos/builtin/packages/rsbench/package.py
+++ b/var/spack/repos/builtin/packages/rsbench/package.py
@@ -9,49 +9,49 @@ from spack.package import *
class Rsbench(MakefilePackage):
"""A mini-app to represent the multipole resonance representation lookup
- cross section algorithm."""
+ cross section algorithm."""
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')
+ version("12", sha256="2e437dbdaf7bf12bb9ade429d46a9e74fd519fc4686777a452770790d0546499")
+ version("2", sha256="1e97a38a863836e98cedc5cc669f8fdcaed905fafdc921d2bce32319b3e157ff")
+ version("0", sha256="95c06cf4cb6f396f9964d5e4b58a477bf9d7131cd39804480f1cb74e9310b271")
- tags = ['proxy-app']
+ tags = ["proxy-app"]
# 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'
+ if self.spec.satisfies("@:2"):
+ return "src"
+ return "openmp-threading"
@property
def build_targets(self):
targets = []
- cflags = '-std=gnu99 -O3'
- ldflags = '-lm'
+ 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' or self.compiler.name == 'nvhpc':
- cflags += ' -fastsse '
- elif self.compiler.name == 'arm':
- cflags += ' -ffast-math '
+ 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" or self.compiler.name == "nvhpc":
+ cflags += " -fastsse "
+ elif self.compiler.name == "arm":
+ cflags += " -ffast-math "
cflags += self.compiler.openmp_flag
- targets.append('CFLAGS={0}'.format(cflags))
- targets.append('LDFLAGS={0}'.format(ldflags))
+ targets.append("CFLAGS={0}".format(cflags))
+ targets.append("LDFLAGS={0}".format(ldflags))
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
- install(join_path(self.build_directory, 'rsbench'), prefix.bin)
+ install(join_path(self.build_directory, "rsbench"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/rsem/package.py b/var/spack/repos/builtin/packages/rsem/package.py
index 610843c5cf..190c3c167e 100644
--- a/var/spack/repos/builtin/packages/rsem/package.py
+++ b/var/spack/repos/builtin/packages/rsem/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Rsem(MakefilePackage):
"""RSEM is a software package for estimating gene and isoform expression
- levels from RNA-Seq data."""
+ levels from RNA-Seq data."""
homepage = "https://deweylab.github.io/RSEM/"
- url = "https://github.com/deweylab/RSEM/archive/v1.3.0.tar.gz"
+ url = "https://github.com/deweylab/RSEM/archive/v1.3.0.tar.gz"
- version('1.3.1', sha256='93c749a03ac16e94b1aab94d032d4fd5687d3261316ce943ecb89d3ae3ec2e11')
- version('1.3.0', sha256='ecfbb79c23973e1c4134f05201f4bd89b0caf0ce4ae1ffd7c4ddc329ed4e05d2')
+ version("1.3.1", sha256="93c749a03ac16e94b1aab94d032d4fd5687d3261316ce943ecb89d3ae3ec2e11")
+ version("1.3.0", sha256="ecfbb79c23973e1c4134f05201f4bd89b0caf0ce4ae1ffd7c4ddc329ed4e05d2")
- depends_on('r', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
- depends_on('python', type=('build', 'run'))
- depends_on('bowtie')
- depends_on('bowtie2')
- depends_on('star')
+ depends_on("r", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", type=("build", "run"))
+ depends_on("bowtie")
+ depends_on("bowtie2")
+ depends_on("star")
def install(self, spec, prefix):
- make('install', 'DESTDIR=%s' % prefix, 'prefix=')
+ make("install", "DESTDIR=%s" % prefix, "prefix=")
diff --git a/var/spack/repos/builtin/packages/rstart/package.py b/var/spack/repos/builtin/packages/rstart/package.py
index 91ecec0422..6e0fc722c0 100644
--- a/var/spack/repos/builtin/packages/rstart/package.py
+++ b/var/spack/repos/builtin/packages/rstart/package.py
@@ -17,8 +17,8 @@ class Rstart(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/rstart"
xorg_mirror_path = "app/rstart-1.0.5.tar.gz"
- version('1.0.5', sha256='5271c0c2675b4ad09aace7edddfdd137af10fc754afa6260d8eb5d0bba7098c7')
+ version("1.0.5", sha256="5271c0c2675b4ad09aace7edddfdd137af10fc754afa6260d8eb5d0bba7098c7")
- depends_on('xproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/rstudio/package.py b/var/spack/repos/builtin/packages/rstudio/package.py
index 2f61f21483..68a1360551 100644
--- a/var/spack/repos/builtin/packages/rstudio/package.py
+++ b/var/spack/repos/builtin/packages/rstudio/package.py
@@ -12,94 +12,101 @@ class Rstudio(CMakePackage):
"""RStudio is an integrated development environment (IDE) for R."""
homepage = "www.rstudio.com/products/rstudio/"
- url = "https://github.com/rstudio/rstudio/archive/refs/tags/v1.4.1717.tar.gz"
-
- version('1.4.1717', sha256='3af234180fd7cef451aef40faac2c7b52860f14a322244c1c7aede029814d261')
-
- variant('notebook', default=False, description='Enable notebook support.')
-
- depends_on('r@3.0.1:', type=('build', 'run'))
- depends_on('cmake@3.4.3:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('ant', type='build')
- depends_on('boost+pic@1.69:')
- depends_on('qt+webkit@5.12:')
- depends_on('patchelf@0.9:')
- depends_on('yaml-cpp@:0.6.3') # find_package fails with newest version
- depends_on('node-js')
- depends_on('yarn')
- depends_on('pandoc@2.11.4:')
- depends_on('icu4c')
- depends_on('soci~static+boost+postgresql+sqlite')
- depends_on('java@8:')
-
- with when('+notebook'):
- depends_on('r-base64enc')
- depends_on('r-digest')
- depends_on('r-evaluate')
- depends_on('r-glue')
- depends_on('r-highr')
- depends_on('r-htmltools')
- depends_on('r-jsonlite')
- depends_on('r-knitr')
- depends_on('r-magrittr')
- depends_on('r-markdown')
- depends_on('r-mime')
- depends_on('r-rmarkdown')
- depends_on('r-stringi')
- depends_on('r-stringr')
- depends_on('r-tinytex')
- depends_on('r-xfun')
- depends_on('r-yaml')
+ url = "https://github.com/rstudio/rstudio/archive/refs/tags/v1.4.1717.tar.gz"
+
+ version("1.4.1717", sha256="3af234180fd7cef451aef40faac2c7b52860f14a322244c1c7aede029814d261")
+
+ variant("notebook", default=False, description="Enable notebook support.")
+
+ depends_on("r@3.0.1:", type=("build", "run"))
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("ant", type="build")
+ depends_on("boost+pic@1.69:")
+ depends_on("qt+webkit@5.12:")
+ depends_on("patchelf@0.9:")
+ depends_on("yaml-cpp@:0.6.3") # find_package fails with newest version
+ depends_on("node-js")
+ depends_on("yarn")
+ depends_on("pandoc@2.11.4:")
+ depends_on("icu4c")
+ depends_on("soci~static+boost+postgresql+sqlite")
+ depends_on("java@8:")
+
+ with when("+notebook"):
+ depends_on("r-base64enc")
+ depends_on("r-digest")
+ depends_on("r-evaluate")
+ depends_on("r-glue")
+ depends_on("r-highr")
+ depends_on("r-htmltools")
+ depends_on("r-jsonlite")
+ depends_on("r-knitr")
+ depends_on("r-magrittr")
+ depends_on("r-markdown")
+ depends_on("r-mime")
+ depends_on("r-rmarkdown")
+ depends_on("r-stringi")
+ depends_on("r-stringr")
+ depends_on("r-tinytex")
+ depends_on("r-xfun")
+ depends_on("r-yaml")
# to use node-js provided by spack
- patch('https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch',
- sha256='4a6aff2b586ddfceb7c59215e5f4a03f25b08fcc55687acaa6ae23c11d75d0e8')
+ patch(
+ "https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch",
+ sha256="4a6aff2b586ddfceb7c59215e5f4a03f25b08fcc55687acaa6ae23c11d75d0e8",
+ )
def cmake_args(self):
args = [
- '-DRSTUDIO_TARGET=Desktop',
- '-DRSTUDIO_PACKAGE_BUILD=Yes',
- '-DRSTUDIO_USE_SYSTEM_YAML_CPP=Yes',
- '-DRSTUDIO_USE_SYSTEM_BOOST=Yes',
- '-DRSTUDIO_USE_SYSTEM_SOCI=Yes',
- '-DQT_QMAKE_EXECUTABLE="{0}"'.format(self.spec['qt'].prefix.bin.qmake),
+ "-DRSTUDIO_TARGET=Desktop",
+ "-DRSTUDIO_PACKAGE_BUILD=Yes",
+ "-DRSTUDIO_USE_SYSTEM_YAML_CPP=Yes",
+ "-DRSTUDIO_USE_SYSTEM_BOOST=Yes",
+ "-DRSTUDIO_USE_SYSTEM_SOCI=Yes",
+ '-DQT_QMAKE_EXECUTABLE="{0}"'.format(self.spec["qt"].prefix.bin.qmake),
]
return args
def setup_build_environment(self, env):
- env.set('RSTUDIO_TOOLS_ROOT', self.prefix.tools)
+ env.set("RSTUDIO_TOOLS_ROOT", self.prefix.tools)
def patch(self):
# fix hardcoded path for node-js in use_system_node patch
- filter_file('<property name="node.bin" value="/usr/bin/node"/>',
- '<property name="node.bin" value="{0}"/>'.format(
- self.spec['node-js'].prefix.bin.node),
- 'src/gwt/build.xml',
- string=True)
+ filter_file(
+ '<property name="node.bin" value="/usr/bin/node"/>',
+ '<property name="node.bin" value="{0}"/>'.format(self.spec["node-js"].prefix.bin.node),
+ "src/gwt/build.xml",
+ string=True,
+ )
# remove hardcoded soci path to use spack soci
- if self.spec['soci'].version <= Version('4.0.0'):
- soci_lib = self.spec['soci'].prefix.lib64
+ if self.spec["soci"].version <= Version("4.0.0"):
+ soci_lib = self.spec["soci"].prefix.lib64
else:
- soci_lib = self.spec['soci'].prefix.lib
- filter_file('set(SOCI_LIBRARY_DIR "/usr/lib")',
- 'set(SOCI_LIBRARY_DIR "{0}")'.format(soci_lib),
- 'src/cpp/CMakeLists.txt',
- string=True)
+ soci_lib = self.spec["soci"].prefix.lib
+ filter_file(
+ 'set(SOCI_LIBRARY_DIR "/usr/lib")',
+ 'set(SOCI_LIBRARY_DIR "{0}")'.format(soci_lib),
+ "src/cpp/CMakeLists.txt",
+ string=True,
+ )
# unbundle icu libraries
- filter_file('${QT_LIBRARY_DIR}/${ICU_LIBRARY}.so',
- join_path(self.spec['icu4c'].prefix.lib, '${ICU_LIBRARY}.so'),
- 'src/cpp/desktop/CMakeLists.txt',
- string=True)
-
- @run_before('cmake')
+ filter_file(
+ "${QT_LIBRARY_DIR}/${ICU_LIBRARY}.so",
+ join_path(self.spec["icu4c"].prefix.lib, "${ICU_LIBRARY}.so"),
+ "src/cpp/desktop/CMakeLists.txt",
+ string=True,
+ )
+
+ @run_before("cmake")
def install_deps(self):
- deps = Executable('./dependencies/common/install-dictionaries')
+ deps = Executable("./dependencies/common/install-dictionaries")
deps()
- deps = Executable('./dependencies/common/install-mathjax')
+ deps = Executable("./dependencies/common/install-mathjax")
deps()
# two methods for pandoc
@@ -110,15 +117,19 @@ class Rstudio(CMakePackage):
# 2) remove install-pandoc and cmake install step + link directly into bin
# method 1)
- filter_file('set(PANDOC_VERSION "2.11.4" CACHE INTERNAL "Pandoc version")',
- 'set(PANDOC_VERSION "{0}" CACHE INTERNAL "Pandoc version")'.format(
- self.spec['pandoc'].version),
- 'src/cpp/session/CMakeLists.txt',
- string=True)
-
- pandoc_dir = join_path(self.prefix.tools, 'pandoc', self.spec['pandoc'].version)
+ filter_file(
+ 'set(PANDOC_VERSION "2.11.4" CACHE INTERNAL "Pandoc version")',
+ 'set(PANDOC_VERSION "{0}" CACHE INTERNAL "Pandoc version")'.format(
+ self.spec["pandoc"].version
+ ),
+ "src/cpp/session/CMakeLists.txt",
+ string=True,
+ )
+
+ pandoc_dir = join_path(self.prefix.tools, "pandoc", self.spec["pandoc"].version)
os.makedirs(pandoc_dir)
with working_dir(pandoc_dir):
- os.symlink(self.spec['pandoc'].prefix.bin.pandoc, 'pandoc')
- os.symlink(os.path.join(self.spec['pandoc'].prefix.bin, 'pandoc-citeproc'),
- 'pandoc-citeproc')
+ os.symlink(self.spec["pandoc"].prefix.bin.pandoc, "pandoc")
+ os.symlink(
+ os.path.join(self.spec["pandoc"].prefix.bin, "pandoc-citeproc"), "pandoc-citeproc"
+ )
diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py
index e8b31f11c9..357d7e7184 100644
--- a/var/spack/repos/builtin/packages/rsync/package.py
+++ b/var/spack/repos/builtin/packages/rsync/package.py
@@ -10,32 +10,33 @@ from spack.package import *
class Rsync(AutotoolsPackage):
"""An open source utility that provides fast incremental file transfer."""
+
homepage = "https://rsync.samba.org"
- url = "https://download.samba.org/pub/rsync/src/rsync-3.2.4.tar.gz"
+ url = "https://download.samba.org/pub/rsync/src/rsync-3.2.4.tar.gz"
- version('3.2.4', sha256='6f761838d08052b0b6579cf7f6737d93e47f01f4da04c5d24d3447b7f2a5fad1')
- version('3.2.3', sha256='becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e')
- version('3.2.2', sha256='644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8')
- version('3.1.3', sha256='55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0')
- version('3.1.2', sha256='ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2')
- version('3.1.1', sha256='7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621')
+ version("3.2.4", sha256="6f761838d08052b0b6579cf7f6737d93e47f01f4da04c5d24d3447b7f2a5fad1")
+ version("3.2.3", sha256="becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e")
+ version("3.2.2", sha256="644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8")
+ version("3.1.3", sha256="55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0")
+ version("3.1.2", sha256="ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2")
+ version("3.1.1", sha256="7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621")
- depends_on('zlib')
- depends_on('popt')
- depends_on('openssl', when='@3.2:')
- depends_on('xxhash', when='@3.2:')
- depends_on('zstd', when='@3.2:')
- depends_on('lz4', when='@3.2:')
+ depends_on("zlib")
+ depends_on("popt")
+ depends_on("openssl", when="@3.2:")
+ depends_on("xxhash", when="@3.2:")
+ depends_on("zstd", when="@3.2:")
+ depends_on("lz4", when="@3.2:")
- conflicts('%nvhpc')
+ conflicts("%nvhpc")
- executables = ['^rsync$']
+ executables = ["^rsync$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'rsync\s+version\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"rsync\s+version\s+(\S+)", output)
return match.group(1) if match else None
def configure_args(self):
- return ['--with-included-zlib=no']
+ return ["--with-included-zlib=no"]
diff --git a/var/spack/repos/builtin/packages/rsyslog/package.py b/var/spack/repos/builtin/packages/rsyslog/package.py
index 7f39bdcb48..375af3d85b 100644
--- a/var/spack/repos/builtin/packages/rsyslog/package.py
+++ b/var/spack/repos/builtin/packages/rsyslog/package.py
@@ -10,29 +10,28 @@ class Rsyslog(AutotoolsPackage):
"""The rocket-fast Syslog Server."""
homepage = "https://www.rsyslog.com/"
- url = "https://github.com/rsyslog/rsyslog/archive/v8.2006.0.tar.gz"
-
- version('8.2006.0', sha256='dc30a2ec02d5fac91d3a4f15a00641e0987941313483ced46592ab0b0d68f324')
- version('8.2004.0', sha256='b56b985fec076a22160471d389b7ff271909dfd86513dad31e401a775a6dfdc2')
- version('8.2002.0', sha256='b31d56311532335212ef2ea7be4501508224cb21f1bef9d262c6d78e21959ea1')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libestr')
- depends_on('libfastjson')
- depends_on('zlib')
- depends_on('uuid')
- depends_on('libgcrypt')
- depends_on('curl')
- depends_on('byacc', type='build')
- depends_on('flex', type='build')
+ url = "https://github.com/rsyslog/rsyslog/archive/v8.2006.0.tar.gz"
+
+ version("8.2006.0", sha256="dc30a2ec02d5fac91d3a4f15a00641e0987941313483ced46592ab0b0d68f324")
+ version("8.2004.0", sha256="b56b985fec076a22160471d389b7ff271909dfd86513dad31e401a775a6dfdc2")
+ version("8.2002.0", sha256="b31d56311532335212ef2ea7be4501508224cb21f1bef9d262c6d78e21959ea1")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libestr")
+ depends_on("libfastjson")
+ depends_on("zlib")
+ depends_on("uuid")
+ depends_on("libgcrypt")
+ depends_on("curl")
+ depends_on("byacc", type="build")
+ depends_on("flex", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
def configure_args(self):
- args = ["--with-systemdsystemunitdir=" +
- self.spec['rsyslog'].prefix.lib.systemd.system]
+ args = ["--with-systemdsystemunitdir=" + self.spec["rsyslog"].prefix.lib.systemd.system]
return args
diff --git a/var/spack/repos/builtin/packages/rt-tests/package.py b/var/spack/repos/builtin/packages/rt-tests/package.py
index 5ef17fe801..6f497c8b1f 100644
--- a/var/spack/repos/builtin/packages/rt-tests/package.py
+++ b/var/spack/repos/builtin/packages/rt-tests/package.py
@@ -14,11 +14,11 @@ class RtTests(MakefilePackage):
"""
homepage = "https://git.kernel.org"
- url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/rt-tests-1.2.tar.gz"
+ url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/rt-tests-1.2.tar.gz"
- version('1.2', sha256='7ccde036059c87681a4b00e7138678d9551b1232113441f6edda31ea45452426')
+ version("1.2", sha256="7ccde036059c87681a4b00e7138678d9551b1232113441f6edda31ea45452426")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.share.man)
- make('install', 'prefix={0}'.format(prefix))
+ make("install", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/rtags/package.py b/var/spack/repos/builtin/packages/rtags/package.py
index f0e874cb7b..9c5e6ebd03 100644
--- a/var/spack/repos/builtin/packages/rtags/package.py
+++ b/var/spack/repos/builtin/packages/rtags/package.py
@@ -10,24 +10,25 @@ class Rtags(CMakePackage):
"""RTags is a client/server application that indexes C/C++ code"""
homepage = "https://github.com/Andersbakken/rtags/"
- url = "https://github.com/Andersbakken/rtags/releases/download/v2.38/rtags-2.38.tar.gz"
- maintainers = ['vmiheer']
+ url = "https://github.com/Andersbakken/rtags/releases/download/v2.38/rtags-2.38.tar.gz"
+ maintainers = ["vmiheer"]
- version('2.38', sha256='e19d9cf5823cccc43266ca57c19ae0bb879cbe138511cb3f0343958860481a5d')
- version('2.20', sha256='9d73399421327147dc47b0ae5b95e12e8355f30291ad1954a78c0ef68b4b501f')
- version('2.17', sha256='288fa49fedf647fb15e2ef10f0ebcd9de1a4ef1bbae3a3940870e136d32a3a60')
+ version("2.38", sha256="e19d9cf5823cccc43266ca57c19ae0bb879cbe138511cb3f0343958860481a5d")
+ version("2.20", sha256="9d73399421327147dc47b0ae5b95e12e8355f30291ad1954a78c0ef68b4b501f")
+ version("2.17", sha256="288fa49fedf647fb15e2ef10f0ebcd9de1a4ef1bbae3a3940870e136d32a3a60")
depends_on("llvm@3.3: +clang")
depends_on("zlib")
depends_on("openssl")
depends_on("lua@5.3:")
depends_on("bash-completion")
- depends_on("pkgconfig", type='build')
+ depends_on("pkgconfig", type="build")
- patch("add_string_iterator_erase_compile_check.patch", when='@2.12')
+ patch("add_string_iterator_erase_compile_check.patch", when="@2.12")
def cmake_args(self):
- args = ['-DCMAKE_EXPORT_COMPILE_COMMANDS=1',
- '-DRTAGS_NO_ELISP_FILES=1',
- ]
+ args = [
+ "-DCMAKE_EXPORT_COMPILE_COMMANDS=1",
+ "-DRTAGS_NO_ELISP_FILES=1",
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/rtax/package.py b/var/spack/repos/builtin/packages/rtax/package.py
index 09643a2173..186d810a76 100644
--- a/var/spack/repos/builtin/packages/rtax/package.py
+++ b/var/spack/repos/builtin/packages/rtax/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Rtax(Package):
"""Rapid and accurate taxonomic classification of short paired-end
- sequence reads from the 16S ribosomal RNA gene"""
+ sequence reads from the 16S ribosomal RNA gene"""
homepage = "https://github.com/davidsoergel/rtax"
- url = "http://static.davidsoergel.com/rtax-0.984.tgz"
+ url = "http://static.davidsoergel.com/rtax-0.984.tgz"
- version('0.984', sha256='92ad9a881ca1d17221794b4313654291b30df6a9edcd0453034a090ae13a3442')
+ version("0.984", sha256="92ad9a881ca1d17221794b4313654291b30df6a9edcd0453034a090ae13a3442")
- depends_on('usearch')
+ depends_on("usearch")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('rtax', prefix.bin)
- install_tree('scripts', prefix.bin.scripts)
- install_tree('greengenes', prefix.bin.greengenes)
+ install("rtax", prefix.bin)
+ install_tree("scripts", prefix.bin.scripts)
+ install_tree("greengenes", prefix.bin.greengenes)
diff --git a/var/spack/repos/builtin/packages/ruby-asciidoctor/package.py b/var/spack/repos/builtin/packages/ruby-asciidoctor/package.py
index abef7f8db3..e8c0ff0cb6 100644
--- a/var/spack/repos/builtin/packages/ruby-asciidoctor/package.py
+++ b/var/spack/repos/builtin/packages/ruby-asciidoctor/package.py
@@ -12,8 +12,8 @@ class RubyAsciidoctor(RubyPackage):
converting AsciiDoc content to HTML 5, DocBook 5, and other formats."""
homepage = "https://asciidoctor.org/"
- url = "https://github.com/asciidoctor/asciidoctor/archive/v2.0.10.tar.gz"
+ url = "https://github.com/asciidoctor/asciidoctor/archive/v2.0.10.tar.gz"
- version('2.0.10', sha256='afca74837e6d4b339535e8ba0b79f2ad00bd1eef78bf391cc36995ca2e31630a')
+ version("2.0.10", sha256="afca74837e6d4b339535e8ba0b79f2ad00bd1eef78bf391cc36995ca2e31630a")
- depends_on('ruby@2.3.0:', type=('build', 'run'))
+ depends_on("ruby@2.3.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-erubis/package.py b/var/spack/repos/builtin/packages/ruby-erubis/package.py
index 66289ba6f6..c60b0710e2 100644
--- a/var/spack/repos/builtin/packages/ruby-erubis/package.py
+++ b/var/spack/repos/builtin/packages/ruby-erubis/package.py
@@ -8,15 +8,13 @@ from spack.package import *
class RubyErubis(RubyPackage):
- """Erubis is a fast, secure, and very extensible implementation of eRuby.
- """
+ """Erubis is a fast, secure, and very extensible implementation of eRuby."""
homepage = "http://www.kuwata-lab.com/erubis/"
- git = "https://github.com/kwatch/erubis.git"
+ git = "https://github.com/kwatch/erubis.git"
- version('master', branch='master')
- version('2.7.0', commit='14d3eab57fbc361312c8f3af350cbf9a5bafce17')
+ version("master", branch="master")
+ version("2.7.0", commit="14d3eab57fbc361312c8f3af350cbf9a5bafce17")
def patch(self):
- filter_file('$Release$', str(self.version),
- 'erubis.gemspec', string=True)
+ filter_file("$Release$", str(self.version), "erubis.gemspec", string=True)
diff --git a/var/spack/repos/builtin/packages/ruby-gnuplot/package.py b/var/spack/repos/builtin/packages/ruby-gnuplot/package.py
index f023fb06e2..1412e3b875 100644
--- a/var/spack/repos/builtin/packages/ruby-gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/ruby-gnuplot/package.py
@@ -11,11 +11,15 @@ class RubyGnuplot(RubyPackage):
"""Utility library to aid in interacting with gnuplot from ruby"""
homepage = "https://github.com/rdp/ruby_gnuplot"
- url = "https://rubygems.org/downloads/gnuplot-2.6.2.gem"
+ url = "https://rubygems.org/downloads/gnuplot-2.6.2.gem"
# Source code is available at https://github.com/rdp/ruby_gnuplot
# but release tarballs are not available, download gem instead
- version('2.6.2', sha256='d2c28d4a55867ef6f0a5725ce157581917b4d27417bc3767c7c643a828416bb3', expand=False)
+ version(
+ "2.6.2",
+ sha256="d2c28d4a55867ef6f0a5725ce157581917b4d27417bc3767c7c643a828416bb3",
+ expand=False,
+ )
- depends_on('gnuplot+X')
+ depends_on("gnuplot+X")
diff --git a/var/spack/repos/builtin/packages/ruby-hpricot/package.py b/var/spack/repos/builtin/packages/ruby-hpricot/package.py
index b4fdc8be49..6fb0c5854a 100644
--- a/var/spack/repos/builtin/packages/ruby-hpricot/package.py
+++ b/var/spack/repos/builtin/packages/ruby-hpricot/package.py
@@ -14,6 +14,6 @@ class RubyHpricot(RubyPackage):
"""
homepage = "https://github.com/hpricot/hpricot"
- url = "https://github.com/hpricot/hpricot/archive/0.8.6.tar.gz"
+ url = "https://github.com/hpricot/hpricot/archive/0.8.6.tar.gz"
- version('0.8.6', sha256='792f63cebe2f2b02058974755b4c8a3aef52e5daf37f779a34885d5ff2876017')
+ version("0.8.6", sha256="792f63cebe2f2b02058974755b4c8a3aef52e5daf37f779a34885d5ff2876017")
diff --git a/var/spack/repos/builtin/packages/ruby-mustache/package.py b/var/spack/repos/builtin/packages/ruby-mustache/package.py
index 8efca93910..67c7ce7676 100644
--- a/var/spack/repos/builtin/packages/ruby-mustache/package.py
+++ b/var/spack/repos/builtin/packages/ruby-mustache/package.py
@@ -12,8 +12,8 @@ class RubyMustache(RubyPackage):
render logic-free views."""
homepage = "https://github.com/mustache/mustache"
- url = "https://github.com/mustache/mustache/archive/v1.1.1.tar.gz"
+ url = "https://github.com/mustache/mustache/archive/v1.1.1.tar.gz"
- version('1.1.1', sha256='9ab4a9842a37d5278789ba26152b0b78f649e3020266809ec33610a89f7e65ea')
+ version("1.1.1", sha256="9ab4a9842a37d5278789ba26152b0b78f649e3020266809ec33610a89f7e65ea")
- depends_on('ruby@2.0:', type=('build', 'run'))
+ depends_on("ruby@2.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-narray/package.py b/var/spack/repos/builtin/packages/ruby-narray/package.py
index 57d9131197..228605b086 100644
--- a/var/spack/repos/builtin/packages/ruby-narray/package.py
+++ b/var/spack/repos/builtin/packages/ruby-narray/package.py
@@ -9,14 +9,14 @@ from spack.package import *
class RubyNarray(RubyPackage):
"""Numo::NArray is an Numerical N-dimensional Array class for fast
- processing and easy manipulation of multi-dimensional numerical data,
- similar to numpy.ndaray."""
+ processing and easy manipulation of multi-dimensional numerical data,
+ similar to numpy.ndaray."""
homepage = "https://masa16.github.io/narray/"
- url = "https://github.com/ruby-numo/numo-narray/archive/v0.9.1.8.tar.gz"
- git = "https://github.com/ruby-numo/numo-narray.git"
+ url = "https://github.com/ruby-numo/numo-narray/archive/v0.9.1.8.tar.gz"
+ git = "https://github.com/ruby-numo/numo-narray.git"
- version('master', branch='master')
- version('0.9.1.8', sha256='48814c6ebf2c4846fcf6cfd2705a15a97a608960c1676cb6c7b5c9254b0dd51b')
+ version("master", branch="master")
+ version("0.9.1.8", sha256="48814c6ebf2c4846fcf6cfd2705a15a97a608960c1676cb6c7b5c9254b0dd51b")
- depends_on('ruby@2.2:2', type=('build', 'run'))
+ depends_on("ruby@2.2:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-rake/package.py b/var/spack/repos/builtin/packages/ruby-rake/package.py
index c742170e4e..8cc5db9eae 100644
--- a/var/spack/repos/builtin/packages/ruby-rake/package.py
+++ b/var/spack/repos/builtin/packages/ruby-rake/package.py
@@ -11,8 +11,8 @@ class RubyRake(RubyPackage):
"""Rake is a Make-like program implemented in Ruby."""
homepage = "https://github.com/ruby/rake"
- url = "https://github.com/ruby/rake/archive/v13.0.1.tar.gz"
+ url = "https://github.com/ruby/rake/archive/v13.0.1.tar.gz"
- version('13.0.1', sha256='d865329b5e0c38bd9d11ce70bd1ad6e0d5676c4eee74fd818671c55ec49d92fd')
+ version("13.0.1", sha256="d865329b5e0c38bd9d11ce70bd1ad6e0d5676c4eee74fd818671c55ec49d92fd")
- depends_on('ruby@2.2:', type=('build', 'run'))
+ depends_on("ruby@2.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-rdiscount/package.py b/var/spack/repos/builtin/packages/ruby-rdiscount/package.py
index 3759115490..9bb4eae3cc 100644
--- a/var/spack/repos/builtin/packages/ruby-rdiscount/package.py
+++ b/var/spack/repos/builtin/packages/ruby-rdiscount/package.py
@@ -11,8 +11,8 @@ class RubyRdiscount(RubyPackage):
"""Fast Implementation of Gruber's Markdown in C."""
homepage = "https://dafoster.net/projects/rdiscount/"
- url = "https://github.com/davidfstr/rdiscount/archive/2.2.0.2.tar.gz"
+ url = "https://github.com/davidfstr/rdiscount/archive/2.2.0.2.tar.gz"
- version('2.2.0.2', sha256='a6956059fc61365c242373b03c5012582d7342842eae38fe59ebc1bc169744db')
+ version("2.2.0.2", sha256="a6956059fc61365c242373b03c5012582d7342842eae38fe59ebc1bc169744db")
- depends_on('ruby@1.9.3:', type=('build', 'run'))
+ depends_on("ruby@1.9.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-ronn/package.py b/var/spack/repos/builtin/packages/ruby-ronn/package.py
index 0af65fe30f..12191f3cc1 100644
--- a/var/spack/repos/builtin/packages/ruby-ronn/package.py
+++ b/var/spack/repos/builtin/packages/ruby-ronn/package.py
@@ -12,11 +12,11 @@ class RubyRonn(RubyPackage):
roff for terminal display, and also to HTML for the web."""
homepage = "https://rtomayko.github.io/ronn/"
- url = "https://github.com/rtomayko/ronn/archive/0.7.3.tar.gz"
+ url = "https://github.com/rtomayko/ronn/archive/0.7.3.tar.gz"
- version('0.7.3', sha256='808aa6668f636ce03abba99c53c2005cef559a5099f6b40bf2c7aad8e273acb4')
- version('0.7.0', sha256='ea14337093de8707aa8a67b97357332fa8a03b0df722bdbf4f027fbe4379b185')
+ version("0.7.3", sha256="808aa6668f636ce03abba99c53c2005cef559a5099f6b40bf2c7aad8e273acb4")
+ version("0.7.0", sha256="ea14337093de8707aa8a67b97357332fa8a03b0df722bdbf4f027fbe4379b185")
- depends_on('ruby-hpricot@0.8.2:', type=('build', 'run'))
- depends_on('ruby-rdiscount@1.5.8:', type=('build', 'run'))
- depends_on('ruby-mustache@0.7.0:', type=('build', 'run'))
+ depends_on("ruby-hpricot@0.8.2:", type=("build", "run"))
+ depends_on("ruby-rdiscount@1.5.8:", type=("build", "run"))
+ depends_on("ruby-mustache@0.7.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-rubyinline/package.py b/var/spack/repos/builtin/packages/ruby-rubyinline/package.py
index 1362e8584e..394a2a3b24 100644
--- a/var/spack/repos/builtin/packages/ruby-rubyinline/package.py
+++ b/var/spack/repos/builtin/packages/ruby-rubyinline/package.py
@@ -11,11 +11,15 @@ class RubyRubyinline(RubyPackage):
"""Inline allows you to write foreign code within your ruby code."""
homepage = "https://www.zenspider.com/projects/rubyinline.html"
- url = "https://rubygems.org/downloads/RubyInline-3.12.5.gem"
+ url = "https://rubygems.org/downloads/RubyInline-3.12.5.gem"
# Source code available at https://github.com/seattlerb/rubyinline
# but I had trouble getting the Rakefile to build
- version('3.12.5', sha256='d4559cb86b7fedd2e9b4b0a3bd99a1955186dbc09f1269920a0dd5c67639c156', expand=False)
+ version(
+ "3.12.5",
+ sha256="d4559cb86b7fedd2e9b4b0a3bd99a1955186dbc09f1269920a0dd5c67639c156",
+ expand=False,
+ )
- depends_on('ruby-zentest@4.3:4', type=('build', 'run'))
+ depends_on("ruby-zentest@4.3:4", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-svn2git/package.py b/var/spack/repos/builtin/packages/ruby-svn2git/package.py
index adf5bb28ec..a836081c85 100644
--- a/var/spack/repos/builtin/packages/ruby-svn2git/package.py
+++ b/var/spack/repos/builtin/packages/ruby-svn2git/package.py
@@ -16,9 +16,9 @@ class RubySvn2git(RubyPackage):
than whichever svn branch your last commit was in."""
homepage = "https://github.com/nirvdrum/svn2git/"
- url = "https://github.com/nirvdrum/svn2git/archive/v2.4.0.tar.gz"
+ url = "https://github.com/nirvdrum/svn2git/archive/v2.4.0.tar.gz"
- version('2.4.0', sha256='81d0a3eff5b12b729d0fe8ad117db386954c635067f1c86007360c6c76dec253')
+ version("2.4.0", sha256="81d0a3eff5b12b729d0fe8ad117db386954c635067f1c86007360c6c76dec253")
- depends_on('git')
- depends_on('subversion+perl')
+ depends_on("git")
+ depends_on("subversion+perl")
diff --git a/var/spack/repos/builtin/packages/ruby-terminal-table/package.py b/var/spack/repos/builtin/packages/ruby-terminal-table/package.py
index 7254472a8c..109000889d 100644
--- a/var/spack/repos/builtin/packages/ruby-terminal-table/package.py
+++ b/var/spack/repos/builtin/packages/ruby-terminal-table/package.py
@@ -11,8 +11,8 @@ class RubyTerminalTable(RubyPackage):
"""Simple, feature rich ascii table generation library"""
homepage = "https://github.com/tj/terminal-table"
- url = "https://github.com/tj/terminal-table/archive/v1.8.0.tar.gz"
+ url = "https://github.com/tj/terminal-table/archive/v1.8.0.tar.gz"
- version('1.8.0', sha256='69b8e157f5dc3f056b5242923ab3e729a16c6f893b3a5d540e71135a973e5fbe')
+ version("1.8.0", sha256="69b8e157f5dc3f056b5242923ab3e729a16c6f893b3a5d540e71135a973e5fbe")
- depends_on('ruby-unicode-display-width@1.1.1:1', type=('build', 'run'))
+ depends_on("ruby-unicode-display-width@1.1.1:1", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-thor/package.py b/var/spack/repos/builtin/packages/ruby-thor/package.py
index 45aeab176d..63ae5eb2e9 100644
--- a/var/spack/repos/builtin/packages/ruby-thor/package.py
+++ b/var/spack/repos/builtin/packages/ruby-thor/package.py
@@ -11,8 +11,8 @@ class RubyThor(RubyPackage):
"""Thor is a toolkit for building powerful command-line interfaces."""
homepage = "http://whatisthor.com/"
- url = "https://github.com/erikhuda/thor/archive/v1.0.1.tar.gz"
+ url = "https://github.com/erikhuda/thor/archive/v1.0.1.tar.gz"
- version('1.0.1', sha256='e6b902764e237ce296cf9e339c93f8ca83bec5b59be0bf8bacd7ffddc6684d07')
+ version("1.0.1", sha256="e6b902764e237ce296cf9e339c93f8ca83bec5b59be0bf8bacd7ffddc6684d07")
- depends_on('ruby@2.0.0:', type=('build', 'run'))
+ depends_on("ruby@2.0.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-tmuxinator/package.py b/var/spack/repos/builtin/packages/ruby-tmuxinator/package.py
index d96ffd42e1..4221f786c6 100644
--- a/var/spack/repos/builtin/packages/ruby-tmuxinator/package.py
+++ b/var/spack/repos/builtin/packages/ruby-tmuxinator/package.py
@@ -11,11 +11,11 @@ class RubyTmuxinator(RubyPackage):
"""Create and manage complex tmux sessions easily."""
homepage = "https://github.com/tmuxinator/tmuxinator"
- url = "https://github.com/tmuxinator/tmuxinator/archive/v2.0.1.tar.gz"
+ url = "https://github.com/tmuxinator/tmuxinator/archive/v2.0.1.tar.gz"
- version('2.0.1', sha256='a2c8428d239a6e869da516cecee3ac64db47ba1f1932317eb397b1afd698ee09')
+ version("2.0.1", sha256="a2c8428d239a6e869da516cecee3ac64db47ba1f1932317eb397b1afd698ee09")
- depends_on('ruby@2.5.8:', type=('build', 'run'))
- depends_on('ruby-erubis@2.6:2', type=('build', 'run'))
- depends_on('ruby-thor@1.0:1', type=('build', 'run'))
- depends_on('ruby-xdg@2.2.5:2', type=('build', 'run'))
+ depends_on("ruby@2.5.8:", type=("build", "run"))
+ depends_on("ruby-erubis@2.6:2", type=("build", "run"))
+ depends_on("ruby-thor@1.0:1", type=("build", "run"))
+ depends_on("ruby-xdg@2.2.5:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-unicode-display-width/package.py b/var/spack/repos/builtin/packages/ruby-unicode-display-width/package.py
index e9d6a2243d..d293dad439 100644
--- a/var/spack/repos/builtin/packages/ruby-unicode-display-width/package.py
+++ b/var/spack/repos/builtin/packages/ruby-unicode-display-width/package.py
@@ -11,8 +11,8 @@ class RubyUnicodeDisplayWidth(RubyPackage):
"""Determines the monospace display width of a string in Ruby."""
homepage = "https://github.com/janlelis/unicode-display_width"
- url = "https://github.com/janlelis/unicode-display_width/archive/v1.7.0.tar.gz"
+ url = "https://github.com/janlelis/unicode-display_width/archive/v1.7.0.tar.gz"
- version('1.7.0', sha256='2dd6faa95e022a9f52841d29be6c622c58fff9fb0b84fb2cb30d4f0e13fa8a73')
+ version("1.7.0", sha256="2dd6faa95e022a9f52841d29be6c622c58fff9fb0b84fb2cb30d4f0e13fa8a73")
- depends_on('ruby@1.9.3:', type=('build', 'run'))
+ depends_on("ruby@1.9.3:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby-xdg/package.py b/var/spack/repos/builtin/packages/ruby-xdg/package.py
index 9d0517593d..e3393f21cc 100644
--- a/var/spack/repos/builtin/packages/ruby-xdg/package.py
+++ b/var/spack/repos/builtin/packages/ruby-xdg/package.py
@@ -8,14 +8,17 @@ from spack.package import *
class RubyXdg(RubyPackage):
- """Provides a Ruby implementation of the XDG Base Directory Specification.
- """
+ """Provides a Ruby implementation of the XDG Base Directory Specification."""
homepage = "https://www.alchemists.io/projects/xdg/"
- url = "https://rubygems.org/downloads/xdg-2.2.5.gem"
+ url = "https://rubygems.org/downloads/xdg-2.2.5.gem"
# Source code can be found at https://github.com/bkuhlmann/xdg and
# https://github.com/rubyworks/xdg but I was unable to get it to build
# from source
- version('2.2.5', sha256='f3a5f799363852695e457bb7379ac6c4e3e8cb3a51ce6b449ab47fbb1523b913', expand=False)
+ version(
+ "2.2.5",
+ sha256="f3a5f799363852695e457bb7379ac6c4e3e8cb3a51ce6b449ab47fbb1523b913",
+ expand=False,
+ )
diff --git a/var/spack/repos/builtin/packages/ruby-zentest/package.py b/var/spack/repos/builtin/packages/ruby-zentest/package.py
index 9de7f0d68d..0d36987f76 100644
--- a/var/spack/repos/builtin/packages/ruby-zentest/package.py
+++ b/var/spack/repos/builtin/packages/ruby-zentest/package.py
@@ -12,11 +12,15 @@ class RubyZentest(RubyPackage):
multiruby."""
homepage = "https://github.com/seattlerb/zentest"
- url = "https://rubygems.org/downloads/ZenTest-4.12.0.gem"
+ url = "https://rubygems.org/downloads/ZenTest-4.12.0.gem"
# Source code available at https://github.com/seattlerb/zentest
# but I had trouble getting the Rakefile to build
- version('4.12.0', sha256='5301757c3ab29dd2222795c1b076dd348f4d92fe0426e97a13ae56fea47a786e', expand=False)
+ version(
+ "4.12.0",
+ sha256="5301757c3ab29dd2222795c1b076dd348f4d92fe0426e97a13ae56fea47a786e",
+ expand=False,
+ )
- depends_on('ruby@1.8:2', type=('build', 'run'))
+ depends_on("ruby@1.8:2", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py
index 526e14c962..9cc7f92151 100644
--- a/var/spack/repos/builtin/packages/ruby/package.py
+++ b/var/spack/repos/builtin/packages/ruby/package.py
@@ -9,73 +9,73 @@ from typing import List
from spack.package import *
-is_windows = sys.platform == 'win32'
+is_windows = sys.platform == "win32"
class Ruby(Package):
"""A dynamic, open source programming language with a focus on
simplicity and productivity."""
- maintainers = ['Kerilk']
+ maintainers = ["Kerilk"]
homepage = "https://www.ruby-lang.org/"
- url = "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz"
+ url = "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz"
list_url = "https://cache.ruby-lang.org/pub/ruby/"
list_depth = 1
- version('3.1.0', sha256='50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854')
- version('3.0.2', sha256='5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1')
- version('3.0.1', sha256='369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727')
- version('3.0.0', sha256='a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28')
- version('2.7.2', sha256='6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4')
- version('2.7.1', sha256='d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418')
- version('2.6.2', sha256='a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab')
- version('2.5.3', sha256='9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c')
- version('2.2.0', sha256='7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc')
+ version("3.1.0", sha256="50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854")
+ version("3.0.2", sha256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1")
+ version("3.0.1", sha256="369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727")
+ version("3.0.0", sha256="a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28")
+ version("2.7.2", sha256="6e5706d0d4ee4e1e2f883db9d768586b4d06567debea353c796ec45e8321c3d4")
+ version("2.7.1", sha256="d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418")
+ version("2.6.2", sha256="a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab")
+ version("2.5.3", sha256="9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c")
+ version("2.2.0", sha256="7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc")
if not is_windows:
- variant('openssl', default=True, description="Enable OpenSSL support")
- variant('readline', default=False, description="Enable Readline support")
- depends_on('pkgconfig', type=('build'))
- depends_on('libffi')
- depends_on('libx11', when='@:2.3')
- depends_on('tcl', when='@:2.3')
- depends_on('tk', when='@:2.3')
- depends_on('readline', when='+readline')
- depends_on('zlib')
- with when('+openssl'):
- depends_on('openssl@:1')
- depends_on('openssl@:1.0', when='@:2.3')
+ variant("openssl", default=True, description="Enable OpenSSL support")
+ variant("readline", default=False, description="Enable Readline support")
+ depends_on("pkgconfig", type=("build"))
+ depends_on("libffi")
+ depends_on("libx11", when="@:2.3")
+ depends_on("tcl", when="@:2.3")
+ depends_on("tk", when="@:2.3")
+ depends_on("readline", when="+readline")
+ depends_on("zlib")
+ with when("+openssl"):
+ depends_on("openssl@:1")
+ depends_on("openssl@:1.0", when="@:2.3")
extendable = True
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
build_targets = [] # type: List[str]
- install_targets = ['install']
+ install_targets = ["install"]
# Known build issues when Avira antivirus software is running:
# https://github.com/rvm/rvm/issues/4313#issuecomment-374020379
# TODO: add check for this and warn user
# gcc-7-based build requires patches (cf. https://bugs.ruby-lang.org/issues/13150)
- patch('ruby_23_gcc7.patch', level=0, when='@2.2.0:2.2 %gcc@7:')
- patch('ruby_23_gcc7.patch', level=0, when='@2.3.0:2.3.4 %gcc@7:')
- patch('ruby_24_gcc7.patch', level=1, when='@2.4.0 %gcc@7:')
+ patch("ruby_23_gcc7.patch", level=0, when="@2.2.0:2.2 %gcc@7:")
+ patch("ruby_23_gcc7.patch", level=0, when="@2.3.0:2.3.4 %gcc@7:")
+ patch("ruby_24_gcc7.patch", level=1, when="@2.4.0 %gcc@7:")
resource(
- name='rubygems-updated-ssl-cert',
- url='https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem',
- sha256='df68841998b7fd098a9517fe971e97890be0fc93bbe1b2a1ef63ebdea3111c80',
- when='+openssl',
- destination='',
- placement='rubygems-updated-ssl-cert',
- expand=False
+ name="rubygems-updated-ssl-cert",
+ url="https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem",
+ sha256="df68841998b7fd098a9517fe971e97890be0fc93bbe1b2a1ef63ebdea3111c80",
+ when="+openssl",
+ destination="",
+ placement="rubygems-updated-ssl-cert",
+ expand=False,
)
- executables = ['^ruby$']
+ executables = ["^ruby$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'ruby ([\d.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"ruby ([\d.]+)", output)
return match.group(1) if match else None
def url_for_version(self, version):
@@ -84,31 +84,30 @@ class Ruby(Package):
def configure_args(self):
args = []
- if '+openssl' in self.spec:
- args.append("--with-openssl-dir=%s" % self.spec['openssl'].prefix)
- if '+readline' in self.spec:
- args.append("--with-readline-dir=%s"
- % self.spec['readline'].prefix)
- if '^tk' in self.spec:
- args.append('--with-tk=%s' % self.spec['tk'].prefix)
+ if "+openssl" in self.spec:
+ args.append("--with-openssl-dir=%s" % self.spec["openssl"].prefix)
+ if "+readline" in self.spec:
+ args.append("--with-readline-dir=%s" % self.spec["readline"].prefix)
+ if "^tk" in self.spec:
+ args.append("--with-tk=%s" % self.spec["tk"].prefix)
if self.spec.satisfies("%fj"):
- args.append('--disable-dtrace')
+ args.append("--disable-dtrace")
return args
def setup_dependent_build_environment(self, env, dependent_spec):
# TODO: do this only for actual extensions.
# Set GEM_PATH to include dependent gem directories
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test'), root=True):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test"), root=True):
if d.package.extends(self.spec):
- env.prepend_path('GEM_PATH', d.prefix)
+ env.prepend_path("GEM_PATH", d.prefix)
# The actual installation path for this gem
- env.set('GEM_HOME', dependent_spec.prefix)
+ env.set("GEM_HOME", dependent_spec.prefix)
def setup_dependent_run_environment(self, env, dependent_spec):
- for d in dependent_spec.traverse(deptype=('run'), root=True):
+ for d in dependent_spec.traverse(deptype=("run"), root=True):
if d.package.extends(self.spec):
- env.prepend_path('GEM_PATH', d.prefix)
+ env.prepend_path("GEM_PATH", d.prefix)
def setup_dependent_package(self, module, dependent_spec):
"""Called before ruby modules' install() methods. Sets GEM_HOME
@@ -120,7 +119,7 @@ class Ruby(Package):
"""
# Ruby extension builds have global ruby and gem functions
module.ruby = Executable(self.prefix.bin.ruby)
- module.gem = Executable(self.prefix.bin.gem)
+ module.gem = Executable(self.prefix.bin.gem)
module.rake = Executable(self.prefix.bin.rake)
def configure(self, spec, prefix):
@@ -128,8 +127,8 @@ class Ruby(Package):
if is_windows:
Executable("win32\\configure.bat")("--prefix=%s" % self.prefix)
else:
- options = getattr(self, 'configure_flag_args', [])
- options += ['--prefix={0}'.format(prefix)]
+ options = getattr(self, "configure_flag_args", [])
+ options += ["--prefix={0}".format(prefix)]
options += self.configure_args()
configure(*options)
@@ -138,44 +137,45 @@ class Ruby(Package):
if is_windows:
nmake()
else:
- params = ['V=1']
+ params = ["V=1"]
params += self.build_targets
make(*params)
def install(self, spec, prefix):
with working_dir(self.stage.source_path):
if is_windows:
- nmake('install')
+ nmake("install")
else:
make(*self.install_targets)
- @run_after('install')
+ @run_after("install")
def post_install(self):
- """ RubyGems updated their SSL certificates at some point, so
+ """RubyGems updated their SSL certificates at some point, so
new certificates must be installed after Ruby is installed
in order to download gems; see
https://guides.rubygems.org/ssl-certificate-update/
for details.
"""
if self.spec.satisfies("+openssl"):
- rubygems_updated_cert_path = join_path(self.stage.source_path,
- 'rubygems-updated-ssl-cert',
- 'GlobalSignRootCA.pem')
- rubygems_certs_path = join_path(self.spec.prefix.lib,
- 'ruby',
- '{0}.0'.format(self.spec.version.
- up_to(2)),
- 'rubygems',
- 'ssl_certs')
+ rubygems_updated_cert_path = join_path(
+ self.stage.source_path, "rubygems-updated-ssl-cert", "GlobalSignRootCA.pem"
+ )
+ rubygems_certs_path = join_path(
+ self.spec.prefix.lib,
+ "ruby",
+ "{0}.0".format(self.spec.version.up_to(2)),
+ "rubygems",
+ "ssl_certs",
+ )
install(rubygems_updated_cert_path, rubygems_certs_path)
- rbconfig = find(self.prefix, 'rbconfig.rb')[0]
- filter_file(r'^(\s*CONFIG\["CXX"\]\s*=\s*).*',
- r'\1"{0}"'.format(self.compiler.cxx),
- rbconfig)
- filter_file(r'^(\s*CONFIG\["CC"\]\s*=\s*).*',
- r'\1"{0}"'.format(self.compiler.cc),
- rbconfig)
- filter_file(r'^(\s*CONFIG\["MJIT_CC"\]\s*=\s*).*',
- r'\1"{0}"'.format(self.compiler.cc),
- rbconfig)
+ rbconfig = find(self.prefix, "rbconfig.rb")[0]
+ filter_file(
+ r'^(\s*CONFIG\["CXX"\]\s*=\s*).*', r'\1"{0}"'.format(self.compiler.cxx), rbconfig
+ )
+ filter_file(
+ r'^(\s*CONFIG\["CC"\]\s*=\s*).*', r'\1"{0}"'.format(self.compiler.cc), rbconfig
+ )
+ filter_file(
+ r'^(\s*CONFIG\["MJIT_CC"\]\s*=\s*).*', r'\1"{0}"'.format(self.compiler.cc), rbconfig
+ )
diff --git a/var/spack/repos/builtin/packages/runc/package.py b/var/spack/repos/builtin/packages/runc/package.py
index 31646a1636..37b9a4bfdd 100644
--- a/var/spack/repos/builtin/packages/runc/package.py
+++ b/var/spack/repos/builtin/packages/runc/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class Runc(MakefilePackage):
"""CLI tool for spawning containers on Linux according to the OCI specification"""
- homepage = 'https://github.com/opencontainers/runc'
- url = 'https://github.com/opencontainers/runc/releases/download/v1.0.2/runc.tar.xz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/opencontainers/runc"
+ url = "https://github.com/opencontainers/runc/releases/download/v1.0.2/runc.tar.xz"
+ maintainers = ["bernhardkaindl"]
- version('1.0.2', sha256='740acb49e33eaf4958b5109c85363c1d3900f242d4cab47fbdbefa6f8f3c6909')
+ version("1.0.2", sha256="740acb49e33eaf4958b5109c85363c1d3900f242d4cab47fbdbefa6f8f3c6909")
- depends_on('go', type='build')
- depends_on('go-md2man', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('libseccomp')
+ depends_on("go", type="build")
+ depends_on("go-md2man", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("libseccomp")
def install(self, spec, prefix):
- make('install', 'PREFIX=' + prefix)
+ make("install", "PREFIX=" + prefix)
symlink(prefix.sbin, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/rust-bindgen/package.py b/var/spack/repos/builtin/packages/rust-bindgen/package.py
index f11885f8c2..d095fd4499 100644
--- a/var/spack/repos/builtin/packages/rust-bindgen/package.py
+++ b/var/spack/repos/builtin/packages/rust-bindgen/package.py
@@ -10,15 +10,16 @@ from spack.package import *
class RustBindgen(Package):
"""The rust programming language toolchain"""
+
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')
+ version("0.20.5", sha256="4f5236e7979d262c43267afba365612b1008b91b8f81d1efc6a8a2199d52bb37")
extends("rust")
depends_on("llvm")
def install(self, spec, prefix):
env = dict(os.environ)
- env['LIBCLANG_PATH'] = os.path.join(spec['llvm'].prefix, 'lib')
- cargo('install', '--root', prefix, env=env)
+ env["LIBCLANG_PATH"] = os.path.join(spec["llvm"].prefix, "lib")
+ cargo("install", "--root", prefix, env=env)
diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py
index 13ca1fac61..a17d34e266 100644
--- a/var/spack/repos/builtin/packages/rust/package.py
+++ b/var/spack/repos/builtin/packages/rust/package.py
@@ -25,63 +25,53 @@ class Rust(Package):
maintainers = ["AndrewGaspar"]
- phases = ['configure', 'build', 'install']
+ phases = ["configure", "build", "install"]
extendable = True
- variant(
- 'rustfmt',
- default=True,
- description='Formatting tool for Rust code'
- )
+ variant("rustfmt", default=True, description="Formatting tool for Rust code")
variant(
- 'analysis',
+ "analysis",
default=True,
- description='Outputs code analysis that can be consumed by other tools'
+ description="Outputs code analysis that can be consumed by other tools",
)
- variant(
- 'clippy',
- default=True,
- description='Linting tool for Rust'
- )
+ variant("clippy", default=True, description="Linting tool for Rust")
variant(
- 'rls',
+ "rls",
default=False,
- description='The Rust Language Server can be used for IDE integration'
+ description="The Rust Language Server can be used for IDE integration",
)
+ variant("src", default=True, description="Install Rust source files")
variant(
- 'src',
- default=True,
- description='Install Rust source files'
- )
- variant(
- 'extra_targets', default='none', multi=True,
- description='Triples for extra targets to enable. For supported targets, see: https://doc.rust-lang.org/nightly/rustc/platform-support.html'
+ "extra_targets",
+ default="none",
+ multi=True,
+ description="Triples for extra targets to enable. For supported targets, see: https://doc.rust-lang.org/nightly/rustc/platform-support.html",
)
- depends_on('python@2.7:', type='build')
- depends_on('python@2.7:2.8', when='@:1.43', type='build')
- depends_on('gmake@3.81:', type='build')
- depends_on('cmake@3.4.3:', type='build')
- depends_on('ninja', when='@1.48.0:', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("python@2.7:", type="build")
+ depends_on("python@2.7:2.8", when="@:1.43", type="build")
+ depends_on("gmake@3.81:", type="build")
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("ninja", when="@1.48.0:", type="build")
+ depends_on("pkgconfig", type="build")
# TODO: openssl@3.x should be supported in later versions
- depends_on('openssl@:1')
- depends_on('libssh2')
+ depends_on("openssl@:1")
+ depends_on("libssh2")
# https://github.com/rust-lang/cargo/issues/10446
- depends_on('libgit2@:1.3', when='@:1.60')
- depends_on('libgit2')
+ depends_on("libgit2@:1.3", when="@:1.60")
+ depends_on("libgit2")
# Pre-release Versions
- version('master', branch='master', submodules=True)
+ version("master", branch="master", submodules=True)
# These version strings are officially supported, but aren't explicitly
# listed because there's no stable checksum for them.
- version('nightly')
+ version("nightly")
# version('beta')
# Version Notes:
@@ -96,48 +86,180 @@ class Rust(Package):
# The `x.py` bootstrapping script did not exist prior to Rust 1.17. It
# would be possible to support both, but for simplicitly, we only support
# Rust 1.17 and newer
- version('1.60.0', sha256='20ca826d1cf674daf8e22c4f8c4b9743af07973211c839b85839742314c838b7')
- version('1.58.1', sha256='a839afdd3625d6f3f3c4c10b79813675d1775c460d14be1feaf33a6c829c07c7')
- version('1.51.0', sha256='7a6b9bafc8b3d81bbc566e7c0d1f17c9f499fd22b95142f7ea3a8e4d1f9eb847')
- version('1.48.0', sha256='0e763e6db47d5d6f91583284d2f989eacc49b84794d1443355b85c58d67ae43b')
- version('1.47.0', sha256='3185df064c4747f2c8b9bb8c4468edd58ff4ad6d07880c879ac1b173b768d81d')
- version('1.46.0', sha256='2d6a3b7196db474ba3f37b8f5d50a1ecedff00738d7846840605b42bfc922728')
- version('1.45.1', sha256='ea53e6424e3d1fe56c6d77a00e72c5d594b509ec920c5a779a7b8e1dbd74219b')
- version('1.44.1', sha256='7e2e64cb298dd5d5aea52eafe943ba0458fa82f2987fdcda1ff6f537b6f88473')
- version('1.44.0', sha256='bf2df62317e533e84167c5bc7d4351a99fdab1f9cd6e6ba09f51996ad8561100')
- version('1.43.1', sha256='cde177b4a8c687da96f20de27630a1eb55c9d146a15e4c900d5c31cd3c3ac41d', deprecated=True)
- version('1.43.0', sha256='75f6ac6c9da9f897f4634d5a07be4084692f7ccc2d2bb89337be86cfc18453a1', deprecated=True)
- version('1.42.0', sha256='d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475', deprecated=True)
- version('1.41.1', sha256='38c93d016e6d3e083aa15e8f65511d3b4983072c0218a529f5ee94dd1de84573', deprecated=True)
- version('1.41.0', sha256='5546822c09944c4d847968e9b7b3d0e299f143f307c00fa40e84a99fabf8d74b', deprecated=True)
- version('1.40.0', sha256='dd97005578defc10a482bff3e4e728350d2099c60ffcf1f5e189540c39a549ad', deprecated=True)
- version('1.39.0', sha256='b4a1f6b6a93931f270691aba4fc85eee032fecda973e6b9c774cd06857609357', deprecated=True)
- version('1.38.0', sha256='644263ca7c7106f8ee8fcde6bb16910d246b30668a74be20b8c7e0e9f4a52d80', deprecated=True)
- version('1.37.0', sha256='120e7020d065499cc6b28759ff04153bfdc2ac9b5adeb252331a4eb87cbe38c3', deprecated=True)
- version('1.36.0', sha256='04c4e4d7213d036d6aaed392841496d272146312c0290f728b7400fccd15bb1b', deprecated=True)
- version('1.35.0', sha256='5a4d637a716bac18d085f44dd87ef48b32195f71b967d872d80280b38cff712d', deprecated=True)
- version('1.34.2', sha256='c69a4a85a1c464368597df8878cb9e1121aae93e215616d45ad7d23af3052f56', deprecated=True)
- version('1.34.1', sha256='b0c785264d17e1dac4598627c248a2d5e07dd39b6666d1881fcfc8e2cf4c40a7', deprecated=True)
- version('1.34.0', sha256='7ac85acffd79dd3a7c44305d9eaabd1f1e7116e2e6e11e770e4bf5f92c0f1f59', deprecated=True)
- version('1.33.0', sha256='5a01a8d7e65126f6079042831385e77485fa5c014bf217e9f3e4aff36a485d94', deprecated=True)
- version('1.32.0', sha256='4c594c7712a0e7e8eae6526c464bf6ea1d82f77b4f61717c3fc28fb27ba2224a', deprecated=True)
- version('1.31.1', sha256='91d2fc22f08d986adab7a54eb3a6a9b99e490f677d2d092e5b9e4e069c23686a', deprecated=True)
- version('1.30.1', sha256='36a38902dbd9a3e1240d46ab0f2ca40d2fd07c2ab6508ed7970c6c4c036b5b29', deprecated=True)
- version('1.30.0', sha256='cd0ba83fcca55b64c0c9f23130fe731dfc1882b73ae21bef96be8f2362c108ee', deprecated=True)
- version('1.29.2', sha256='5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9', deprecated=True)
- version('1.29.1', sha256='f1b0728b66ce6bce6d72bbe5ea9e3a24ea22a045665da2ed8fcdfad14f61a349', deprecated=True)
- version('1.29.0', sha256='a4eb34ffd47f76afe2abd813f398512d5a19ef00989d37306217c9c9ec2f61e9', deprecated=True)
- version('1.28.0', sha256='1d5a81729c6f23a0a23b584dd249e35abe9c6f7569cee967cc42b1758ecd6486', deprecated=True)
- version('1.27.2', sha256='9a818c50cdb7880abeaa68b3d97792711e6c64c1cdfb6efdc23f75b8ced0e15d', deprecated=True)
- version('1.27.1', sha256='2133beb01ddc3aa09eebc769dd884533c6cfb08ce684f042497e097068d733d1', deprecated=True)
- version('1.27.0', sha256='2cb9803f690349c9fd429564d909ddd4676c68dc48b670b8ddf797c2613e2d21', deprecated=True)
- version('1.26.2', sha256='fb9ecf304488c9b56600ab20cfd1937482057f7e5db7899fddb86e0774548700', deprecated=True)
- version('1.26.1', sha256='70a7961bd8ec43b2c01e9896e90b0a06804a7fbe0a5c05acc7fd6fed19500df0', deprecated=True)
- version('1.26.0', sha256='4fb09bc4e233b71dcbe08a37a3f38cabc32219745ec6a628b18a55a1232281dd', deprecated=True)
- version('1.25.0', sha256='eef63a0aeea5147930a366aee78cbde248bb6e5c6868801bdf34849152965d2d', deprecated=True)
- version('1.24.1', sha256='3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef', deprecated=True)
- version('1.24.0', sha256='bb8276f6044e877e447f29f566e4bbf820fa51fea2f912d59b73233ffd95639f', deprecated=True)
- version('1.23.0', sha256='7464953871dcfdfa8afcc536916a686dd156a83339d8ec4d5cb4eb2fe146cb91', deprecated=True)
+ version("1.60.0", sha256="20ca826d1cf674daf8e22c4f8c4b9743af07973211c839b85839742314c838b7")
+ version("1.58.1", sha256="a839afdd3625d6f3f3c4c10b79813675d1775c460d14be1feaf33a6c829c07c7")
+ version("1.51.0", sha256="7a6b9bafc8b3d81bbc566e7c0d1f17c9f499fd22b95142f7ea3a8e4d1f9eb847")
+ version("1.48.0", sha256="0e763e6db47d5d6f91583284d2f989eacc49b84794d1443355b85c58d67ae43b")
+ version("1.47.0", sha256="3185df064c4747f2c8b9bb8c4468edd58ff4ad6d07880c879ac1b173b768d81d")
+ version("1.46.0", sha256="2d6a3b7196db474ba3f37b8f5d50a1ecedff00738d7846840605b42bfc922728")
+ version("1.45.1", sha256="ea53e6424e3d1fe56c6d77a00e72c5d594b509ec920c5a779a7b8e1dbd74219b")
+ version("1.44.1", sha256="7e2e64cb298dd5d5aea52eafe943ba0458fa82f2987fdcda1ff6f537b6f88473")
+ version("1.44.0", sha256="bf2df62317e533e84167c5bc7d4351a99fdab1f9cd6e6ba09f51996ad8561100")
+ version(
+ "1.43.1",
+ sha256="cde177b4a8c687da96f20de27630a1eb55c9d146a15e4c900d5c31cd3c3ac41d",
+ deprecated=True,
+ )
+ version(
+ "1.43.0",
+ sha256="75f6ac6c9da9f897f4634d5a07be4084692f7ccc2d2bb89337be86cfc18453a1",
+ deprecated=True,
+ )
+ version(
+ "1.42.0",
+ sha256="d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475",
+ deprecated=True,
+ )
+ version(
+ "1.41.1",
+ sha256="38c93d016e6d3e083aa15e8f65511d3b4983072c0218a529f5ee94dd1de84573",
+ deprecated=True,
+ )
+ version(
+ "1.41.0",
+ sha256="5546822c09944c4d847968e9b7b3d0e299f143f307c00fa40e84a99fabf8d74b",
+ deprecated=True,
+ )
+ version(
+ "1.40.0",
+ sha256="dd97005578defc10a482bff3e4e728350d2099c60ffcf1f5e189540c39a549ad",
+ deprecated=True,
+ )
+ version(
+ "1.39.0",
+ sha256="b4a1f6b6a93931f270691aba4fc85eee032fecda973e6b9c774cd06857609357",
+ deprecated=True,
+ )
+ version(
+ "1.38.0",
+ sha256="644263ca7c7106f8ee8fcde6bb16910d246b30668a74be20b8c7e0e9f4a52d80",
+ deprecated=True,
+ )
+ version(
+ "1.37.0",
+ sha256="120e7020d065499cc6b28759ff04153bfdc2ac9b5adeb252331a4eb87cbe38c3",
+ deprecated=True,
+ )
+ version(
+ "1.36.0",
+ sha256="04c4e4d7213d036d6aaed392841496d272146312c0290f728b7400fccd15bb1b",
+ deprecated=True,
+ )
+ version(
+ "1.35.0",
+ sha256="5a4d637a716bac18d085f44dd87ef48b32195f71b967d872d80280b38cff712d",
+ deprecated=True,
+ )
+ version(
+ "1.34.2",
+ sha256="c69a4a85a1c464368597df8878cb9e1121aae93e215616d45ad7d23af3052f56",
+ deprecated=True,
+ )
+ version(
+ "1.34.1",
+ sha256="b0c785264d17e1dac4598627c248a2d5e07dd39b6666d1881fcfc8e2cf4c40a7",
+ deprecated=True,
+ )
+ version(
+ "1.34.0",
+ sha256="7ac85acffd79dd3a7c44305d9eaabd1f1e7116e2e6e11e770e4bf5f92c0f1f59",
+ deprecated=True,
+ )
+ version(
+ "1.33.0",
+ sha256="5a01a8d7e65126f6079042831385e77485fa5c014bf217e9f3e4aff36a485d94",
+ deprecated=True,
+ )
+ version(
+ "1.32.0",
+ sha256="4c594c7712a0e7e8eae6526c464bf6ea1d82f77b4f61717c3fc28fb27ba2224a",
+ deprecated=True,
+ )
+ version(
+ "1.31.1",
+ sha256="91d2fc22f08d986adab7a54eb3a6a9b99e490f677d2d092e5b9e4e069c23686a",
+ deprecated=True,
+ )
+ version(
+ "1.30.1",
+ sha256="36a38902dbd9a3e1240d46ab0f2ca40d2fd07c2ab6508ed7970c6c4c036b5b29",
+ deprecated=True,
+ )
+ version(
+ "1.30.0",
+ sha256="cd0ba83fcca55b64c0c9f23130fe731dfc1882b73ae21bef96be8f2362c108ee",
+ deprecated=True,
+ )
+ version(
+ "1.29.2",
+ sha256="5088e796aa2e47478cdf41e7243fc5443fafab0a7c70a11423e57c80c04167c9",
+ deprecated=True,
+ )
+ version(
+ "1.29.1",
+ sha256="f1b0728b66ce6bce6d72bbe5ea9e3a24ea22a045665da2ed8fcdfad14f61a349",
+ deprecated=True,
+ )
+ version(
+ "1.29.0",
+ sha256="a4eb34ffd47f76afe2abd813f398512d5a19ef00989d37306217c9c9ec2f61e9",
+ deprecated=True,
+ )
+ version(
+ "1.28.0",
+ sha256="1d5a81729c6f23a0a23b584dd249e35abe9c6f7569cee967cc42b1758ecd6486",
+ deprecated=True,
+ )
+ version(
+ "1.27.2",
+ sha256="9a818c50cdb7880abeaa68b3d97792711e6c64c1cdfb6efdc23f75b8ced0e15d",
+ deprecated=True,
+ )
+ version(
+ "1.27.1",
+ sha256="2133beb01ddc3aa09eebc769dd884533c6cfb08ce684f042497e097068d733d1",
+ deprecated=True,
+ )
+ version(
+ "1.27.0",
+ sha256="2cb9803f690349c9fd429564d909ddd4676c68dc48b670b8ddf797c2613e2d21",
+ deprecated=True,
+ )
+ version(
+ "1.26.2",
+ sha256="fb9ecf304488c9b56600ab20cfd1937482057f7e5db7899fddb86e0774548700",
+ deprecated=True,
+ )
+ version(
+ "1.26.1",
+ sha256="70a7961bd8ec43b2c01e9896e90b0a06804a7fbe0a5c05acc7fd6fed19500df0",
+ deprecated=True,
+ )
+ version(
+ "1.26.0",
+ sha256="4fb09bc4e233b71dcbe08a37a3f38cabc32219745ec6a628b18a55a1232281dd",
+ deprecated=True,
+ )
+ version(
+ "1.25.0",
+ sha256="eef63a0aeea5147930a366aee78cbde248bb6e5c6868801bdf34849152965d2d",
+ deprecated=True,
+ )
+ version(
+ "1.24.1",
+ sha256="3ea53d45e8d2e9a41afb3340cf54b9745f845b552d802d607707cf04450761ef",
+ deprecated=True,
+ )
+ version(
+ "1.24.0",
+ sha256="bb8276f6044e877e447f29f566e4bbf820fa51fea2f912d59b73233ffd95639f",
+ deprecated=True,
+ )
+ version(
+ "1.23.0",
+ sha256="7464953871dcfdfa8afcc536916a686dd156a83339d8ec4d5cb4eb2fe146cb91",
+ deprecated=True,
+ )
# The Rust bootstrapping process requires a bootstrapping compiler. The
# easiest way to do this is to download the binary distribution of the
@@ -146,281 +268,279 @@ class Rust(Package):
# This dictionary contains a version: hash dictionary for each supported
# Rust target.
rust_releases = {
- '1.60.0': {
- 'x86_64-unknown-linux-gnu': 'b8a4c3959367d053825e31f90a5eb86418eb0d80cacda52bfa80b078e18150d5',
- 'powerpc64le-unknown-linux-gnu': '80125e90285b214c2b1f56ab86a09c8509aa17aec9d7127960a86a7008e8f7de',
- 'aarch64-unknown-linux-gnu': '99c419c2f35d4324446481c39402c7baecd7a8baed7edca9f8d6bbd33c05550c',
- 'x86_64-apple-darwin': '0b10dc45cddc4d2355e38cac86d71a504327cb41d41d702d4050b9847ad4258c',
- 'aarch64-apple-darwin': 'b532672c278c25683ca63d78e82bae829eea1a32308e844954fb66cfe34ad222',
- },
- '1.58.1': {
- 'x86_64-unknown-linux-gnu': '4fac6df9ea49447682c333e57945bebf4f9f45ec7b08849e507a64b2ccd5f8fb',
- 'powerpc64le-unknown-linux-gnu': 'b15baef702cbd6f0ea2bef7bf98ca7ce5644f2beb219028e8a12e7053da4c849',
- 'aarch64-unknown-linux-gnu': 'ce557516593e4526709b0f33c2e1d7c932b3ddf76af94c2417d8d667921ce90c',
- 'x86_64-apple-darwin': 'd0044680fc132a721481b130a0a4282a444867f423efdb890fe13e447966412f'
- },
- '1.51.0': {
- 'x86_64-unknown-linux-gnu': '9e125977aa13f012a68fdc6663629c685745091ae244f0587dd55ea4e3a3e42f',
- 'powerpc64le-unknown-linux-gnu': '7362f561104d7be4836507d3a53cd39444efcdf065813d559beb1f54ce9f7680',
- 'aarch64-unknown-linux-gnu': 'fd31c78fffad52c03cac5a7c1ee5db3f34b2a77d7bc862707c0f71e209180a84',
- 'x86_64-apple-darwin': '765212098a415996b767d1e372ce266caf94027402b269fec33291fffc085ca4'
- },
- '1.48.0': {
- 'x86_64-unknown-linux-gnu': '950420a35b2dd9091f1b93a9ccd5abc026ca7112e667f246b1deb79204e2038b',
- 'powerpc64le-unknown-linux-gnu': 'e6457a0214f3b1b04bd5b2618bba7e3826e254216420dede2971b571a1c13bb1',
- 'aarch64-unknown-linux-gnu': 'c4769418d8d89f432e4a3a21ad60f99629e4b13bbfc29aef7d9d51c4e8ee8a8a',
- 'x86_64-apple-darwin': 'f30ce0162b39dc7cf877020cec64d4826cad50467af493d180b5b28cf5eb50b3'
- },
- '1.47.0': {
- 'x86_64-unknown-linux-gnu': 'd0e11e1756a072e8e246b05d54593402813d047d12e44df281fbabda91035d96',
- 'powerpc64le-unknown-linux-gnu': '5760c3b1897ea70791320c2565f3eef700a3d54059027b84bbe6b8d6157f81c8',
- 'aarch64-unknown-linux-gnu': '753c905e89a714ab9bce6fe1397b721f29c0760c32f09d2f328af3d39919c8e6',
- 'x86_64-apple-darwin': '84e5be6c5c78734deba911dcf80316be1e4c7da2c59413124d039ad96620612f'
- },
- '1.46.0': {
- 'x86_64-unknown-linux-gnu': 'e3b98bc3440fe92817881933f9564389eccb396f5f431f33d48b979fa2fbdcf5',
- 'powerpc64le-unknown-linux-gnu': '89e2f4761d257f017a4b6aa427f36ac0603195546fa2cfded8c899789832941c',
- 'aarch64-unknown-linux-gnu': 'f0c6d630f3dedb3db69d69ed9f833aa6b472363096f5164f1068c7001ca42aeb',
- 'x86_64-apple-darwin': '82d61582a3772932432a99789c3b3bd4abe6baca339e355048ca9efb9ea5b4db'
- },
- '1.45.1': {
- 'x86_64-unknown-linux-gnu': '76dc9f05b3bfd0465d6e6d22bc9fd5db0b473e3548e8b3d266ecfe4d9e5dca16',
- 'powerpc64le-unknown-linux-gnu': '271846e4f5adc9a33754794c2ffab851f9e0313c8c1315264e7db5c8f63ab7ab',
- 'aarch64-unknown-linux-gnu': 'd17fd560e8d5d12304835b71a7e22ac2c3babf4b9768db6a0e89868b4444f728',
- 'x86_64-apple-darwin': '7334c927e4d2d12d209bf941b97ba309e548413e241d2d263c39c6e12b3ce154'
- },
- '1.44.1': {
- 'x86_64-unknown-linux-gnu': 'a41df89a461a580536aeb42755e43037556fba2e527dd13a1e1bb0749de28202',
- 'powerpc64le-unknown-linux-gnu': '22deeca259459db31065af7c862fcab7fbfb623200520c65002ed2ba93d87ad2',
- 'aarch64-unknown-linux-gnu': 'a2d74ebeec0b6778026b6c37814cdc91d14db3b0d8b6d69d036216f4d9cf7e49',
- 'x86_64-apple-darwin': 'a5464e7bcbce9647607904a4afa8362382f1fc55d39e7bbaf4483ac00eb5d56a'
- },
- '1.44.0': {
- 'x86_64-unknown-linux-gnu': 'eaa34271b4ac4d2c281831117d4d335eed0b37fe7a34477d9855a6f1d930a624',
- 'powerpc64le-unknown-linux-gnu': '97038ea935c7a5b21f5aaaaad409c514e2b2ae8ea55994ba39645f453e98bc9f',
- 'aarch64-unknown-linux-gnu': 'bcc916003cb9c7ff44f5f9af348020b422dbc5bd4fe49bdbda2de6ce0a1bb745',
- 'x86_64-apple-darwin': 'f20388b80b2b0a8b122d89058f785a2cf3b14e93bcac53471d60fdb4106ffa35'
- },
- '1.43.1': {
- 'x86_64-unknown-linux-gnu': '25cd71b95bba0daef56bad8c943a87368c4185b90983f4412f46e3e2418c0505',
- 'powerpc64le-unknown-linux-gnu': '1670f00b00cc1bed38d523a25dba7420de3c06986c15a0248e06299f80ce6124',
- 'aarch64-unknown-linux-gnu': 'fbb612387a64c9da2869725afffc1f66a72d6e7ba6667ba717cd52c33080b7fb',
- 'x86_64-apple-darwin': 'e1c3e1426a9e615079159d6b619319235e3ca7b395e7603330375bfffcbb7003'
- },
- '1.43.0': {
- 'x86_64-unknown-linux-gnu': '069f34fa5cef92551724c83c36360df1ac66fe3942bc1d0e4d341ce79611a029',
- 'powerpc64le-unknown-linux-gnu': 'c75c7ae4c94715fd6cc43d1d6fdd0952bc151f7cbe3054f66d99a529d5bb996f',
- 'aarch64-unknown-linux-gnu': 'e5fa55f333c10cdae43d147438a80ffb435d6c7b9681cd2e2f0857c024556856',
- 'x86_64-apple-darwin': '504e8efb2cbb36f5a3db7bb36f339a1e5216082c910ad19039c370505cfbde99'
- },
- '1.42.0': {
- 'x86_64-unknown-linux-gnu': '7d1e07ad9c8a33d8d039def7c0a131c5917aa3ea0af3d0cc399c6faf7b789052',
- 'powerpc64le-unknown-linux-gnu': '805b08fa1e0aad4d706301ca1f13e2d80810d385cece2c15070360b3c4bd6e4a',
- 'aarch64-unknown-linux-gnu': 'fdd39f856a062af265012861949ff6654e2b7103be034d046bec84ebe46e8d2d',
- 'x86_64-apple-darwin': 'db1055c46e0d54b99da05e88c71fea21b3897e74a4f5ff9390e934f3f050c0a8'
- },
- '1.41.1': {
- 'x86_64-unknown-linux-gnu': 'a6d5a3b3f574aafc8f787fea37aad9fb8a7946b383ae5348146927192ff0bef0',
- 'powerpc64le-unknown-linux-gnu': 'f9b53ca636625b3a2dd87600b6274223c11f866c9b5a34b638ea0013186659d3',
- 'aarch64-unknown-linux-gnu': 'd54c0f9165b86216b6f1b499f451141407939c5dc6b36c89a3772895a1370242',
- 'x86_64-apple-darwin': '16615288cf74239783de1b435d329f3d56ed13803c7c10cd4b207d7c8ffa8f67'
- },
- '1.41.0': {
- 'x86_64-unknown-linux-gnu': '343ba8ef7397eab7b3bb2382e5e4cb08835a87bff5c8074382c0b6930a41948b',
- 'powerpc64le-unknown-linux-gnu': 'ba231b0d8273d6928f61e2be3456e816a1de8050135e20c0623dc7a6ea03ba68',
- 'aarch64-unknown-linux-gnu': '79ddfb5e2563d0ee09a567fbbe121a2aed3c3bc61255b2787f2dd42183a10f27',
- 'x86_64-apple-darwin': 'b6504003ab70b11f278e0243a43ba9d6bf75e8ad6819b4058a2b6e3991cc8d7a'
- },
- '1.40.0': {
- 'x86_64-unknown-linux-gnu': 'fc91f8b4bd18314e83a617f2389189fc7959146b7177b773370d62592d4b07d0',
- 'powerpc64le-unknown-linux-gnu': 'b1a23e35c383f99e647df6a9239b1dc9313e293deb70a76ba58e8ebe55ef623b',
- 'aarch64-unknown-linux-gnu': '639271f59766d291ebdade6050e7d05d61cb5c822a3ef9a1e2ab185fed68d729',
- 'x86_64-apple-darwin': '749ca5e0b94550369cc998416b8854c13157f5d11d35e9b3276064b6766bcb83'
- },
- '1.39.0': {
- 'x86_64-unknown-linux-gnu': 'b10a73e5ba90034fe51f0f02cb78f297ed3880deb7d3738aa09dc5a4d9704a25',
- 'powerpc64le-unknown-linux-gnu': '53b3fd942c52709f7e6fe11ea572d086e315a57a40b84b9b3290ac0ec8c7c84a',
- 'aarch64-unknown-linux-gnu': 'e27dc8112fe577012bd88f30e7c92dffd8c796478ce386c49465c03b6db8209f',
- 'x86_64-apple-darwin': '3736d49c5e9592844e1a5d5452883aeaf8f1e25d671c1bc8f01e81c1766603b5'
- },
- '1.38.0': {
- 'x86_64-unknown-linux-gnu': 'adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221',
- 'powerpc64le-unknown-linux-gnu': 'f9ed1bb6525abdd4dd6ef10782ad45d2f71496e0c3c88e806b510c81a91c4ff7',
- 'aarch64-unknown-linux-gnu': '06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda',
- 'x86_64-apple-darwin': 'bd301b78ddcd5d4553962b115e1dca5436dd3755ed323f86f4485769286a8a5a'
- },
- '1.37.0': {
- 'x86_64-unknown-linux-gnu': 'cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb',
- 'powerpc64le-unknown-linux-gnu': '27c59ec40e9e9f71490dc00bf165156ae3ea77c20ffa4b5e5fd712e67527b477',
- 'aarch64-unknown-linux-gnu': '263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba',
- 'x86_64-apple-darwin': 'b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d'
- },
- '1.36.0': {
- 'x86_64-unknown-linux-gnu': '15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55',
- 'powerpc64le-unknown-linux-gnu': '654a7a18d881811c09f630b0c917825b586e94a6142eceaede6b8046718e4054',
- 'aarch64-unknown-linux-gnu': 'db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d',
- 'x86_64-apple-darwin': '91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325'
- },
- '1.35.0': {
- 'x86_64-unknown-linux-gnu': 'cf600e2273644d8629ed57559c70ca8db4023fd0156346facca9ab3ad3e8f86c',
- 'powerpc64le-unknown-linux-gnu': 'a933955adec386d75d126e78df5b9941936e156acb3353fc44b85995a81c7bb2',
- 'aarch64-unknown-linux-gnu': '31e6da56e67838fd2874211ae896a433badf67c13a7b68481f1d5f7dedcc5952',
- 'x86_64-apple-darwin': 'ac14b1c7dc330dcb53d8641d74ebf9b32aa8b03b9d650bcb9258030d8b10dbd6'
- },
- '1.34.2': {
- 'x86_64-unknown-linux-gnu': '2bf6622d980a52832bae141304e96f317c8a1ccd2dfd69a134a14033e6e43c0f',
- 'powerpc64le-unknown-linux-gnu': '4ddd55014bbd954b3499859bfa3146bff471de21c1d73fc6e7cccde290fc1918',
- 'aarch64-unknown-linux-gnu': '15fc6b7ec121df9d4e42483dd12c677203680bec8c69b6f4f62e5a35a07341a8',
- 'x86_64-apple-darwin': '6fdd4bf7fe26dded0cd57b41ab5f0500a5a99b7bc770523a425e9e34f63d0fd8'
- },
- '1.34.1': {
- 'x86_64-unknown-linux-gnu': '8e2eead11bd5bf61409e29018d007c6fc874bcda2ff54db3d04d1691e779c14e',
- 'powerpc64le-unknown-linux-gnu': '94ac92d08afcfa2d77ae207e91b57c00cb48ff7ba08a27ed3deb2493f33e8fb1',
- 'aarch64-unknown-linux-gnu': '0565e50dae58759a3a5287abd61b1a49dfc086c4d6acf2ce604fe1053f704e53',
- 'x86_64-apple-darwin': 'f4e46b9994ccfab4a84059298d1dc8fd446b1bbb7449462e0459948f7debea0e'
- },
- '1.34.0': {
- 'x86_64-unknown-linux-gnu': '170647ed41b497dc937a6b2556700210bc4be187b1735029ef9ccf52e2cb5ab8',
- 'powerpc64le-unknown-linux-gnu': '3027e87802e161cce6f3a23d961f6d73b9ed6e829b2cd7af5dfccf6e1207e552',
- 'aarch64-unknown-linux-gnu': '370c3a8fb9a69df36d645a95e622fb59ac5b513baecddde706cedaf20defa269',
- 'x86_64-apple-darwin': 'e6bea8d865cc7341c17fa3b8f25f7989e6b04f53e9da24878addc524f3a32664'
- },
- '1.33.0': {
- 'x86_64-unknown-linux-gnu': '6623168b9ee9de79deb0d9274c577d741ea92003768660aca184e04fe774393f',
- 'powerpc64le-unknown-linux-gnu': 'db885aa4c2c6896c85257be2ade5c9edea660ca6878970683e8d5796618329b5',
- 'aarch64-unknown-linux-gnu': 'a308044e4076b62f637313ea803fa0a8f340b0f1b53136856f2c43afcabe5387',
- 'x86_64-apple-darwin': '864e7c074a0b88e38883c87c169513d072300bb52e1d320a067bd34cf14f66bd'
- },
- '1.32.0': {
- 'x86_64-unknown-linux-gnu': 'e024698320d76b74daf0e6e71be3681a1e7923122e3ebd03673fcac3ecc23810',
- 'powerpc64le-unknown-linux-gnu': 'd6d5c9154f4459465d68ebd4fa1e17bad4b6cfe219667dddd9123c3bfb5dd839',
- 'aarch64-unknown-linux-gnu': '60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee',
- 'x86_64-apple-darwin': 'f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304'
- },
- '1.31.1': {
- 'x86_64-unknown-linux-gnu': 'a64685535d0c457f49a8712a096a5c21564cd66fd2f7da739487f028192ebe3c',
- 'powerpc64le-unknown-linux-gnu': 'a6f61b7a8a06a2b0a785391cc3e6bb8004aa72095eea80db1561039f5bb3e975',
- 'aarch64-unknown-linux-gnu': '29a7c6eb536fefd0ca459e48dfaea006aa8bff8a87aa82a9b7d483487033632a',
- 'x86_64-apple-darwin': '8398b1b303bdf0e7605d08b87070a514a4f588797c6fb3593718cb9cec233ad6'
- },
- '1.30.1': {
- 'x86_64-unknown-linux-gnu': 'a01a493ed8946fc1c15f63e74fc53299b26ebf705938b4d04a388a746dfdbf9e',
- 'powerpc64le-unknown-linux-gnu': 'a7d4806e6702bdbad5017eeddc62f7ff7eb2438b1b9c39cbc90c2b1207f8e65f',
- 'aarch64-unknown-linux-gnu': '6d87d81561285abd6c1987e07b60b2d723936f037c4b46eedcc12e8566fd3874',
- 'x86_64-apple-darwin': '3ba1704a7defe3d9a6f0c1f68792c084da83bcba85e936d597bac0c019914b94'
- },
- '1.30.0': {
- 'x86_64-unknown-linux-gnu': 'f620e3125cc505c842150bd873c0603432b6cee984cdae8b226cf92c8aa1a80f',
- 'powerpc64le-unknown-linux-gnu': '0b53e257dc3d9f3d75cd97be569d3bf456d2c0af57ed0bd5e7a437227d8f465a',
- 'aarch64-unknown-linux-gnu': '9690c7c50eba5a8461184ee4138b4c284bad31ccc4aa1f2ddeec58b253e6363e',
- 'x86_64-apple-darwin': '07008d90932712282bc599f1e9a226e97879c758dc1f935e6e2675e45694cc1b'
- },
- '1.29.2': {
- 'x86_64-unknown-linux-gnu': 'e9809825c546969a9609ff94b2793c9107d7d9bed67d557ed9969e673137e8d8',
- 'powerpc64le-unknown-linux-gnu': '344003b808c20424c4699c9452bd37cdee23857dd4aa125e67d1d6e4bc992091',
- 'aarch64-unknown-linux-gnu': 'e11461015ca7106ef8ebf00859842bf4be518ee170226cb8eedaaa666946509f',
- 'x86_64-apple-darwin': '63f54e3013406b39fcb5b84bcf5e8ce85860d0b97a1e156700e467bf5fb5d5f2'
- },
- '1.29.1': {
- 'x86_64-unknown-linux-gnu': 'b36998aea6d58525f25d89f1813b6bfd4cad6ff467e27bd11e761a20dde43745',
- 'powerpc64le-unknown-linux-gnu': '26a6d652ade6b6a96e6af18e846701ee28f912233372dfe15432139252f88958',
- 'aarch64-unknown-linux-gnu': '2685224f67b2ef951e0e8b48829f786cbfed95e19448ba292ac33af719843dbe',
- 'x86_64-apple-darwin': '07b07fbd6fab2390e19550beb8008745a8626cc5e97b72dc659061c1c3b3d008'
- },
- '1.29.0': {
- 'x86_64-unknown-linux-gnu': '09f99986c17b1b6b1bfbc9dd8785e0e4693007c5feb67915395d115c1a3aea9d',
- 'powerpc64le-unknown-linux-gnu': 'd6954f1da53f7b3618fba3284330d99b6142bb25d9febba6dbfedad59ca53329',
- 'aarch64-unknown-linux-gnu': '0ed3be0fd9f847afeb4e587fff61f6769ea61b53719d3ea999326284e8975b36',
- 'x86_64-apple-darwin': '28a0473637585742f6d80ccd8afd88b6b400e65d623c33cb892412759444da93'
- },
- '1.28.0': {
- 'x86_64-unknown-linux-gnu': '2a1390340db1d24a9498036884e6b2748e9b4b057fc5219694e298bdaa37b810',
- 'powerpc64le-unknown-linux-gnu': '255818156ec1f795ed808a44b4fdb8019187d5ebb7f837ae8f55a1ca40862bb6',
- 'aarch64-unknown-linux-gnu': '9b6fbcee73070332c811c0ddff399fa31965bec62ef258656c0c90354f6231c1',
- 'x86_64-apple-darwin': '5d7a70ed4701fe9410041c1eea025c95cad97e5b3d8acc46426f9ac4f9f02393'
- },
- '1.27.2': {
- 'x86_64-unknown-linux-gnu': '5028a18e913ef3eb53e8d8119d2cc0594442725e055a9361012f8e26f754f2bf',
- 'powerpc64le-unknown-linux-gnu': '11034d150e811d4903b09fd42f0cb76d467a6365a158101493405fff1054572f',
- 'aarch64-unknown-linux-gnu': 'cf84da70269c0e50bb3cc3d248bae1ffcd70ee69dc5a4e3513b54fefc6685fb4',
- 'x86_64-apple-darwin': '30c5cc58759caa4efdf2ea7d8438633139c98bee3408beb29ceb26985f3f5f70'
- },
- '1.27.1': {
- 'x86_64-unknown-linux-gnu': '435778a837af764da2a7a7fb4d386b7b78516c7dfc732d892858e9a8a539989b',
- 'powerpc64le-unknown-linux-gnu': 'a08e6b6fed3329fcd1220b2ee4cd7a311d99121cf780fb6e1c6353bfeddfb176',
- 'aarch64-unknown-linux-gnu': 'd1146b240e6f628224c3a67e3aae2a57e6c25d544115e5ece9ce91861ec92b3a',
- 'x86_64-apple-darwin': '475be237962d6aef1038a2faada26fda1e0eaea5d71d6950229a027a9c2bfe08'
- },
- '1.27.0': {
- 'x86_64-unknown-linux-gnu': '235ad78e220b10a2d0267aea1e2c0f19ef5eaaff53ad6ff8b12c1d4370dec9a3',
- 'powerpc64le-unknown-linux-gnu': '847774a751e848568215739d384e3baf4d6ec37d27fb3add7a8789208c213aff',
- 'aarch64-unknown-linux-gnu': 'e74ebc33dc3fc19e501a677a87b619746efdba2901949a0319176352f556673a',
- 'x86_64-apple-darwin': 'a1d48190992e01aac1a181bce490c80cb2c1421724b4ff0e2fb7e224a958ce0f'
- },
- '1.26.2': {
- 'x86_64-unknown-linux-gnu': 'd2b4fb0c544874a73c463993bde122f031c34897bb1eeb653d2ba2b336db83e6',
- 'powerpc64le-unknown-linux-gnu': 'ea045869074ae3617eeb51207ce183e6915784b9ed615ecb92ce082ddb86ec1f',
- 'aarch64-unknown-linux-gnu': '3dfad0dc9c795f7ee54c2099c9b7edf06b942adbbf02e9ed9e5d4b5e3f1f3759',
- 'x86_64-apple-darwin': 'f193705d4c0572a358670dbacbf0ffadcd04b3989728b442f4680fa1e065fa72'
- },
- '1.26.1': {
- 'x86_64-unknown-linux-gnu': 'b7e964bace1286696d511c287b945f3ece476ba77a231f0c31f1867dfa5080e0',
- 'powerpc64le-unknown-linux-gnu': 'ad8b2f6dd8c5cca1251d65b75ed2120aae3c5375d2c8ed690259cf4a652d7d3c',
- 'aarch64-unknown-linux-gnu': 'd4a369053c2dfd5f457de6853557dab563944579fa4bb55bc919bacf259bff6d',
- 'x86_64-apple-darwin': 'ebf898b9fa7e2aafc53682a41f18af5ca6660ebe82dd78f28cd9799fe4dc189a'
- },
- '1.26.0': {
- 'x86_64-unknown-linux-gnu': '13691d7782577fc9f110924b26603ade1990de0b691a3ce2dc324b4a72a64a68',
- 'powerpc64le-unknown-linux-gnu': '3ba3a4905730ec01007ca1096d9fc3780f4e81f71139a619e1f526244301b7f4',
- 'aarch64-unknown-linux-gnu': 'e12dc84bdb569cdb382268a5fe6ae6a8e2e53810cb890ec3a7133c20ba8451ac',
- 'x86_64-apple-darwin': '38708803c3096b8f101d1919ee2d7e723b0adf1bc1bb986b060973b57d8c7c28'
- },
- '1.25.0': {
- 'x86_64-unknown-linux-gnu': '06fb45fb871330a2d1b32a27badfe9085847fe824c189ddc5204acbe27664f5e',
- 'powerpc64le-unknown-linux-gnu': '79eeb2a7fafa2e0f65f29a1dc360df69daa725347e4b6a533684f1c07308cc6e',
- 'aarch64-unknown-linux-gnu': '19a43451439e515a216d0a885d14203f9a92502ee958abf86bf7000a7d73d73d',
- 'x86_64-apple-darwin': 'fcd0302b15e857ba4a80873360cf5453275973c64fa82e33bfbed02d88d0ad17'
- },
- '1.24.1': {
- 'x86_64-unknown-linux-gnu': '4567e7f6e5e0be96e9a5a7f5149b5452828ab6a386099caca7931544f45d5327',
- 'powerpc64le-unknown-linux-gnu': '6f6c4bebbd7d6dc9989bf372c512dea55af8f56a1a0cfe97784667f0ac5430ee',
- 'aarch64-unknown-linux-gnu': '64bb25a9689b18ddadf025b90d9bdb150b809ebfb74432dc69cc2e46120adbb2',
- 'x86_64-apple-darwin': '9d4aacdb5849977ea619d399903c9378163bd9c76ea11dac5ef6eca27849f501'
- },
- '1.24.0': {
- 'x86_64-unknown-linux-gnu': '336cf7af6c857cdaa110e1425719fa3a1652351098dc73f156e5bf02ed86443c',
- 'powerpc64le-unknown-linux-gnu': '25d9b965a63ad2f345897028094d4c7eafa432237b478754ccbcc299f80629c8',
- 'aarch64-unknown-linux-gnu': 'a981de306164b47f3d433c1d53936185260642849c79963af7e07d36b063a557',
- 'x86_64-apple-darwin': '1aecba7cab4bc1a9e0e931c04aa00849e930b567d243da7b676ede8f527a2992'
- },
- '1.23.0': {
- 'x86_64-unknown-linux-gnu': '9a34b23a82d7f3c91637e10ceefb424539dcfa327c2dcd292ff10c047b1fdc7e',
- 'powerpc64le-unknown-linux-gnu': '60f1a1cc182c516de08c1f42ada01604a3d94383e9dded6b237ae2233999437b',
- 'aarch64-unknown-linux-gnu': '38379fbd976d2286cb73f21466db40a636a583b9f8a80af5eea73617c7912bc7',
- 'x86_64-apple-darwin': '9274e977322bb4b153f092255ac9bd85041142c73eaabf900cb2ef3d3abb2eba'
- }
+ "1.60.0": {
+ "x86_64-unknown-linux-gnu": "b8a4c3959367d053825e31f90a5eb86418eb0d80cacda52bfa80b078e18150d5",
+ "powerpc64le-unknown-linux-gnu": "80125e90285b214c2b1f56ab86a09c8509aa17aec9d7127960a86a7008e8f7de",
+ "aarch64-unknown-linux-gnu": "99c419c2f35d4324446481c39402c7baecd7a8baed7edca9f8d6bbd33c05550c",
+ "x86_64-apple-darwin": "0b10dc45cddc4d2355e38cac86d71a504327cb41d41d702d4050b9847ad4258c",
+ "aarch64-apple-darwin": "b532672c278c25683ca63d78e82bae829eea1a32308e844954fb66cfe34ad222",
+ },
+ "1.58.1": {
+ "x86_64-unknown-linux-gnu": "4fac6df9ea49447682c333e57945bebf4f9f45ec7b08849e507a64b2ccd5f8fb",
+ "powerpc64le-unknown-linux-gnu": "b15baef702cbd6f0ea2bef7bf98ca7ce5644f2beb219028e8a12e7053da4c849",
+ "aarch64-unknown-linux-gnu": "ce557516593e4526709b0f33c2e1d7c932b3ddf76af94c2417d8d667921ce90c",
+ "x86_64-apple-darwin": "d0044680fc132a721481b130a0a4282a444867f423efdb890fe13e447966412f",
+ },
+ "1.51.0": {
+ "x86_64-unknown-linux-gnu": "9e125977aa13f012a68fdc6663629c685745091ae244f0587dd55ea4e3a3e42f",
+ "powerpc64le-unknown-linux-gnu": "7362f561104d7be4836507d3a53cd39444efcdf065813d559beb1f54ce9f7680",
+ "aarch64-unknown-linux-gnu": "fd31c78fffad52c03cac5a7c1ee5db3f34b2a77d7bc862707c0f71e209180a84",
+ "x86_64-apple-darwin": "765212098a415996b767d1e372ce266caf94027402b269fec33291fffc085ca4",
+ },
+ "1.48.0": {
+ "x86_64-unknown-linux-gnu": "950420a35b2dd9091f1b93a9ccd5abc026ca7112e667f246b1deb79204e2038b",
+ "powerpc64le-unknown-linux-gnu": "e6457a0214f3b1b04bd5b2618bba7e3826e254216420dede2971b571a1c13bb1",
+ "aarch64-unknown-linux-gnu": "c4769418d8d89f432e4a3a21ad60f99629e4b13bbfc29aef7d9d51c4e8ee8a8a",
+ "x86_64-apple-darwin": "f30ce0162b39dc7cf877020cec64d4826cad50467af493d180b5b28cf5eb50b3",
+ },
+ "1.47.0": {
+ "x86_64-unknown-linux-gnu": "d0e11e1756a072e8e246b05d54593402813d047d12e44df281fbabda91035d96",
+ "powerpc64le-unknown-linux-gnu": "5760c3b1897ea70791320c2565f3eef700a3d54059027b84bbe6b8d6157f81c8",
+ "aarch64-unknown-linux-gnu": "753c905e89a714ab9bce6fe1397b721f29c0760c32f09d2f328af3d39919c8e6",
+ "x86_64-apple-darwin": "84e5be6c5c78734deba911dcf80316be1e4c7da2c59413124d039ad96620612f",
+ },
+ "1.46.0": {
+ "x86_64-unknown-linux-gnu": "e3b98bc3440fe92817881933f9564389eccb396f5f431f33d48b979fa2fbdcf5",
+ "powerpc64le-unknown-linux-gnu": "89e2f4761d257f017a4b6aa427f36ac0603195546fa2cfded8c899789832941c",
+ "aarch64-unknown-linux-gnu": "f0c6d630f3dedb3db69d69ed9f833aa6b472363096f5164f1068c7001ca42aeb",
+ "x86_64-apple-darwin": "82d61582a3772932432a99789c3b3bd4abe6baca339e355048ca9efb9ea5b4db",
+ },
+ "1.45.1": {
+ "x86_64-unknown-linux-gnu": "76dc9f05b3bfd0465d6e6d22bc9fd5db0b473e3548e8b3d266ecfe4d9e5dca16",
+ "powerpc64le-unknown-linux-gnu": "271846e4f5adc9a33754794c2ffab851f9e0313c8c1315264e7db5c8f63ab7ab",
+ "aarch64-unknown-linux-gnu": "d17fd560e8d5d12304835b71a7e22ac2c3babf4b9768db6a0e89868b4444f728",
+ "x86_64-apple-darwin": "7334c927e4d2d12d209bf941b97ba309e548413e241d2d263c39c6e12b3ce154",
+ },
+ "1.44.1": {
+ "x86_64-unknown-linux-gnu": "a41df89a461a580536aeb42755e43037556fba2e527dd13a1e1bb0749de28202",
+ "powerpc64le-unknown-linux-gnu": "22deeca259459db31065af7c862fcab7fbfb623200520c65002ed2ba93d87ad2",
+ "aarch64-unknown-linux-gnu": "a2d74ebeec0b6778026b6c37814cdc91d14db3b0d8b6d69d036216f4d9cf7e49",
+ "x86_64-apple-darwin": "a5464e7bcbce9647607904a4afa8362382f1fc55d39e7bbaf4483ac00eb5d56a",
+ },
+ "1.44.0": {
+ "x86_64-unknown-linux-gnu": "eaa34271b4ac4d2c281831117d4d335eed0b37fe7a34477d9855a6f1d930a624",
+ "powerpc64le-unknown-linux-gnu": "97038ea935c7a5b21f5aaaaad409c514e2b2ae8ea55994ba39645f453e98bc9f",
+ "aarch64-unknown-linux-gnu": "bcc916003cb9c7ff44f5f9af348020b422dbc5bd4fe49bdbda2de6ce0a1bb745",
+ "x86_64-apple-darwin": "f20388b80b2b0a8b122d89058f785a2cf3b14e93bcac53471d60fdb4106ffa35",
+ },
+ "1.43.1": {
+ "x86_64-unknown-linux-gnu": "25cd71b95bba0daef56bad8c943a87368c4185b90983f4412f46e3e2418c0505",
+ "powerpc64le-unknown-linux-gnu": "1670f00b00cc1bed38d523a25dba7420de3c06986c15a0248e06299f80ce6124",
+ "aarch64-unknown-linux-gnu": "fbb612387a64c9da2869725afffc1f66a72d6e7ba6667ba717cd52c33080b7fb",
+ "x86_64-apple-darwin": "e1c3e1426a9e615079159d6b619319235e3ca7b395e7603330375bfffcbb7003",
+ },
+ "1.43.0": {
+ "x86_64-unknown-linux-gnu": "069f34fa5cef92551724c83c36360df1ac66fe3942bc1d0e4d341ce79611a029",
+ "powerpc64le-unknown-linux-gnu": "c75c7ae4c94715fd6cc43d1d6fdd0952bc151f7cbe3054f66d99a529d5bb996f",
+ "aarch64-unknown-linux-gnu": "e5fa55f333c10cdae43d147438a80ffb435d6c7b9681cd2e2f0857c024556856",
+ "x86_64-apple-darwin": "504e8efb2cbb36f5a3db7bb36f339a1e5216082c910ad19039c370505cfbde99",
+ },
+ "1.42.0": {
+ "x86_64-unknown-linux-gnu": "7d1e07ad9c8a33d8d039def7c0a131c5917aa3ea0af3d0cc399c6faf7b789052",
+ "powerpc64le-unknown-linux-gnu": "805b08fa1e0aad4d706301ca1f13e2d80810d385cece2c15070360b3c4bd6e4a",
+ "aarch64-unknown-linux-gnu": "fdd39f856a062af265012861949ff6654e2b7103be034d046bec84ebe46e8d2d",
+ "x86_64-apple-darwin": "db1055c46e0d54b99da05e88c71fea21b3897e74a4f5ff9390e934f3f050c0a8",
+ },
+ "1.41.1": {
+ "x86_64-unknown-linux-gnu": "a6d5a3b3f574aafc8f787fea37aad9fb8a7946b383ae5348146927192ff0bef0",
+ "powerpc64le-unknown-linux-gnu": "f9b53ca636625b3a2dd87600b6274223c11f866c9b5a34b638ea0013186659d3",
+ "aarch64-unknown-linux-gnu": "d54c0f9165b86216b6f1b499f451141407939c5dc6b36c89a3772895a1370242",
+ "x86_64-apple-darwin": "16615288cf74239783de1b435d329f3d56ed13803c7c10cd4b207d7c8ffa8f67",
+ },
+ "1.41.0": {
+ "x86_64-unknown-linux-gnu": "343ba8ef7397eab7b3bb2382e5e4cb08835a87bff5c8074382c0b6930a41948b",
+ "powerpc64le-unknown-linux-gnu": "ba231b0d8273d6928f61e2be3456e816a1de8050135e20c0623dc7a6ea03ba68",
+ "aarch64-unknown-linux-gnu": "79ddfb5e2563d0ee09a567fbbe121a2aed3c3bc61255b2787f2dd42183a10f27",
+ "x86_64-apple-darwin": "b6504003ab70b11f278e0243a43ba9d6bf75e8ad6819b4058a2b6e3991cc8d7a",
+ },
+ "1.40.0": {
+ "x86_64-unknown-linux-gnu": "fc91f8b4bd18314e83a617f2389189fc7959146b7177b773370d62592d4b07d0",
+ "powerpc64le-unknown-linux-gnu": "b1a23e35c383f99e647df6a9239b1dc9313e293deb70a76ba58e8ebe55ef623b",
+ "aarch64-unknown-linux-gnu": "639271f59766d291ebdade6050e7d05d61cb5c822a3ef9a1e2ab185fed68d729",
+ "x86_64-apple-darwin": "749ca5e0b94550369cc998416b8854c13157f5d11d35e9b3276064b6766bcb83",
+ },
+ "1.39.0": {
+ "x86_64-unknown-linux-gnu": "b10a73e5ba90034fe51f0f02cb78f297ed3880deb7d3738aa09dc5a4d9704a25",
+ "powerpc64le-unknown-linux-gnu": "53b3fd942c52709f7e6fe11ea572d086e315a57a40b84b9b3290ac0ec8c7c84a",
+ "aarch64-unknown-linux-gnu": "e27dc8112fe577012bd88f30e7c92dffd8c796478ce386c49465c03b6db8209f",
+ "x86_64-apple-darwin": "3736d49c5e9592844e1a5d5452883aeaf8f1e25d671c1bc8f01e81c1766603b5",
+ },
+ "1.38.0": {
+ "x86_64-unknown-linux-gnu": "adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221",
+ "powerpc64le-unknown-linux-gnu": "f9ed1bb6525abdd4dd6ef10782ad45d2f71496e0c3c88e806b510c81a91c4ff7",
+ "aarch64-unknown-linux-gnu": "06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda",
+ "x86_64-apple-darwin": "bd301b78ddcd5d4553962b115e1dca5436dd3755ed323f86f4485769286a8a5a",
+ },
+ "1.37.0": {
+ "x86_64-unknown-linux-gnu": "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb",
+ "powerpc64le-unknown-linux-gnu": "27c59ec40e9e9f71490dc00bf165156ae3ea77c20ffa4b5e5fd712e67527b477",
+ "aarch64-unknown-linux-gnu": "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba",
+ "x86_64-apple-darwin": "b2310c97ffb964f253c4088c8d29865f876a49da2a45305493af5b5c7a3ca73d",
+ },
+ "1.36.0": {
+ "x86_64-unknown-linux-gnu": "15e592ec52f14a0586dcebc87a957e472c4544e07359314f6354e2b8bd284c55",
+ "powerpc64le-unknown-linux-gnu": "654a7a18d881811c09f630b0c917825b586e94a6142eceaede6b8046718e4054",
+ "aarch64-unknown-linux-gnu": "db78c24d93756f9fe232f081dbc4a46d38f8eec98353a9e78b9b164f9628042d",
+ "x86_64-apple-darwin": "91f151ec7e24f5b0645948d439fc25172ec4012f0584dd16c3fb1acb709aa325",
+ },
+ "1.35.0": {
+ "x86_64-unknown-linux-gnu": "cf600e2273644d8629ed57559c70ca8db4023fd0156346facca9ab3ad3e8f86c",
+ "powerpc64le-unknown-linux-gnu": "a933955adec386d75d126e78df5b9941936e156acb3353fc44b85995a81c7bb2",
+ "aarch64-unknown-linux-gnu": "31e6da56e67838fd2874211ae896a433badf67c13a7b68481f1d5f7dedcc5952",
+ "x86_64-apple-darwin": "ac14b1c7dc330dcb53d8641d74ebf9b32aa8b03b9d650bcb9258030d8b10dbd6",
+ },
+ "1.34.2": {
+ "x86_64-unknown-linux-gnu": "2bf6622d980a52832bae141304e96f317c8a1ccd2dfd69a134a14033e6e43c0f",
+ "powerpc64le-unknown-linux-gnu": "4ddd55014bbd954b3499859bfa3146bff471de21c1d73fc6e7cccde290fc1918",
+ "aarch64-unknown-linux-gnu": "15fc6b7ec121df9d4e42483dd12c677203680bec8c69b6f4f62e5a35a07341a8",
+ "x86_64-apple-darwin": "6fdd4bf7fe26dded0cd57b41ab5f0500a5a99b7bc770523a425e9e34f63d0fd8",
+ },
+ "1.34.1": {
+ "x86_64-unknown-linux-gnu": "8e2eead11bd5bf61409e29018d007c6fc874bcda2ff54db3d04d1691e779c14e",
+ "powerpc64le-unknown-linux-gnu": "94ac92d08afcfa2d77ae207e91b57c00cb48ff7ba08a27ed3deb2493f33e8fb1",
+ "aarch64-unknown-linux-gnu": "0565e50dae58759a3a5287abd61b1a49dfc086c4d6acf2ce604fe1053f704e53",
+ "x86_64-apple-darwin": "f4e46b9994ccfab4a84059298d1dc8fd446b1bbb7449462e0459948f7debea0e",
+ },
+ "1.34.0": {
+ "x86_64-unknown-linux-gnu": "170647ed41b497dc937a6b2556700210bc4be187b1735029ef9ccf52e2cb5ab8",
+ "powerpc64le-unknown-linux-gnu": "3027e87802e161cce6f3a23d961f6d73b9ed6e829b2cd7af5dfccf6e1207e552",
+ "aarch64-unknown-linux-gnu": "370c3a8fb9a69df36d645a95e622fb59ac5b513baecddde706cedaf20defa269",
+ "x86_64-apple-darwin": "e6bea8d865cc7341c17fa3b8f25f7989e6b04f53e9da24878addc524f3a32664",
+ },
+ "1.33.0": {
+ "x86_64-unknown-linux-gnu": "6623168b9ee9de79deb0d9274c577d741ea92003768660aca184e04fe774393f",
+ "powerpc64le-unknown-linux-gnu": "db885aa4c2c6896c85257be2ade5c9edea660ca6878970683e8d5796618329b5",
+ "aarch64-unknown-linux-gnu": "a308044e4076b62f637313ea803fa0a8f340b0f1b53136856f2c43afcabe5387",
+ "x86_64-apple-darwin": "864e7c074a0b88e38883c87c169513d072300bb52e1d320a067bd34cf14f66bd",
+ },
+ "1.32.0": {
+ "x86_64-unknown-linux-gnu": "e024698320d76b74daf0e6e71be3681a1e7923122e3ebd03673fcac3ecc23810",
+ "powerpc64le-unknown-linux-gnu": "d6d5c9154f4459465d68ebd4fa1e17bad4b6cfe219667dddd9123c3bfb5dd839",
+ "aarch64-unknown-linux-gnu": "60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee",
+ "x86_64-apple-darwin": "f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304",
+ },
+ "1.31.1": {
+ "x86_64-unknown-linux-gnu": "a64685535d0c457f49a8712a096a5c21564cd66fd2f7da739487f028192ebe3c",
+ "powerpc64le-unknown-linux-gnu": "a6f61b7a8a06a2b0a785391cc3e6bb8004aa72095eea80db1561039f5bb3e975",
+ "aarch64-unknown-linux-gnu": "29a7c6eb536fefd0ca459e48dfaea006aa8bff8a87aa82a9b7d483487033632a",
+ "x86_64-apple-darwin": "8398b1b303bdf0e7605d08b87070a514a4f588797c6fb3593718cb9cec233ad6",
+ },
+ "1.30.1": {
+ "x86_64-unknown-linux-gnu": "a01a493ed8946fc1c15f63e74fc53299b26ebf705938b4d04a388a746dfdbf9e",
+ "powerpc64le-unknown-linux-gnu": "a7d4806e6702bdbad5017eeddc62f7ff7eb2438b1b9c39cbc90c2b1207f8e65f",
+ "aarch64-unknown-linux-gnu": "6d87d81561285abd6c1987e07b60b2d723936f037c4b46eedcc12e8566fd3874",
+ "x86_64-apple-darwin": "3ba1704a7defe3d9a6f0c1f68792c084da83bcba85e936d597bac0c019914b94",
+ },
+ "1.30.0": {
+ "x86_64-unknown-linux-gnu": "f620e3125cc505c842150bd873c0603432b6cee984cdae8b226cf92c8aa1a80f",
+ "powerpc64le-unknown-linux-gnu": "0b53e257dc3d9f3d75cd97be569d3bf456d2c0af57ed0bd5e7a437227d8f465a",
+ "aarch64-unknown-linux-gnu": "9690c7c50eba5a8461184ee4138b4c284bad31ccc4aa1f2ddeec58b253e6363e",
+ "x86_64-apple-darwin": "07008d90932712282bc599f1e9a226e97879c758dc1f935e6e2675e45694cc1b",
+ },
+ "1.29.2": {
+ "x86_64-unknown-linux-gnu": "e9809825c546969a9609ff94b2793c9107d7d9bed67d557ed9969e673137e8d8",
+ "powerpc64le-unknown-linux-gnu": "344003b808c20424c4699c9452bd37cdee23857dd4aa125e67d1d6e4bc992091",
+ "aarch64-unknown-linux-gnu": "e11461015ca7106ef8ebf00859842bf4be518ee170226cb8eedaaa666946509f",
+ "x86_64-apple-darwin": "63f54e3013406b39fcb5b84bcf5e8ce85860d0b97a1e156700e467bf5fb5d5f2",
+ },
+ "1.29.1": {
+ "x86_64-unknown-linux-gnu": "b36998aea6d58525f25d89f1813b6bfd4cad6ff467e27bd11e761a20dde43745",
+ "powerpc64le-unknown-linux-gnu": "26a6d652ade6b6a96e6af18e846701ee28f912233372dfe15432139252f88958",
+ "aarch64-unknown-linux-gnu": "2685224f67b2ef951e0e8b48829f786cbfed95e19448ba292ac33af719843dbe",
+ "x86_64-apple-darwin": "07b07fbd6fab2390e19550beb8008745a8626cc5e97b72dc659061c1c3b3d008",
+ },
+ "1.29.0": {
+ "x86_64-unknown-linux-gnu": "09f99986c17b1b6b1bfbc9dd8785e0e4693007c5feb67915395d115c1a3aea9d",
+ "powerpc64le-unknown-linux-gnu": "d6954f1da53f7b3618fba3284330d99b6142bb25d9febba6dbfedad59ca53329",
+ "aarch64-unknown-linux-gnu": "0ed3be0fd9f847afeb4e587fff61f6769ea61b53719d3ea999326284e8975b36",
+ "x86_64-apple-darwin": "28a0473637585742f6d80ccd8afd88b6b400e65d623c33cb892412759444da93",
+ },
+ "1.28.0": {
+ "x86_64-unknown-linux-gnu": "2a1390340db1d24a9498036884e6b2748e9b4b057fc5219694e298bdaa37b810",
+ "powerpc64le-unknown-linux-gnu": "255818156ec1f795ed808a44b4fdb8019187d5ebb7f837ae8f55a1ca40862bb6",
+ "aarch64-unknown-linux-gnu": "9b6fbcee73070332c811c0ddff399fa31965bec62ef258656c0c90354f6231c1",
+ "x86_64-apple-darwin": "5d7a70ed4701fe9410041c1eea025c95cad97e5b3d8acc46426f9ac4f9f02393",
+ },
+ "1.27.2": {
+ "x86_64-unknown-linux-gnu": "5028a18e913ef3eb53e8d8119d2cc0594442725e055a9361012f8e26f754f2bf",
+ "powerpc64le-unknown-linux-gnu": "11034d150e811d4903b09fd42f0cb76d467a6365a158101493405fff1054572f",
+ "aarch64-unknown-linux-gnu": "cf84da70269c0e50bb3cc3d248bae1ffcd70ee69dc5a4e3513b54fefc6685fb4",
+ "x86_64-apple-darwin": "30c5cc58759caa4efdf2ea7d8438633139c98bee3408beb29ceb26985f3f5f70",
+ },
+ "1.27.1": {
+ "x86_64-unknown-linux-gnu": "435778a837af764da2a7a7fb4d386b7b78516c7dfc732d892858e9a8a539989b",
+ "powerpc64le-unknown-linux-gnu": "a08e6b6fed3329fcd1220b2ee4cd7a311d99121cf780fb6e1c6353bfeddfb176",
+ "aarch64-unknown-linux-gnu": "d1146b240e6f628224c3a67e3aae2a57e6c25d544115e5ece9ce91861ec92b3a",
+ "x86_64-apple-darwin": "475be237962d6aef1038a2faada26fda1e0eaea5d71d6950229a027a9c2bfe08",
+ },
+ "1.27.0": {
+ "x86_64-unknown-linux-gnu": "235ad78e220b10a2d0267aea1e2c0f19ef5eaaff53ad6ff8b12c1d4370dec9a3",
+ "powerpc64le-unknown-linux-gnu": "847774a751e848568215739d384e3baf4d6ec37d27fb3add7a8789208c213aff",
+ "aarch64-unknown-linux-gnu": "e74ebc33dc3fc19e501a677a87b619746efdba2901949a0319176352f556673a",
+ "x86_64-apple-darwin": "a1d48190992e01aac1a181bce490c80cb2c1421724b4ff0e2fb7e224a958ce0f",
+ },
+ "1.26.2": {
+ "x86_64-unknown-linux-gnu": "d2b4fb0c544874a73c463993bde122f031c34897bb1eeb653d2ba2b336db83e6",
+ "powerpc64le-unknown-linux-gnu": "ea045869074ae3617eeb51207ce183e6915784b9ed615ecb92ce082ddb86ec1f",
+ "aarch64-unknown-linux-gnu": "3dfad0dc9c795f7ee54c2099c9b7edf06b942adbbf02e9ed9e5d4b5e3f1f3759",
+ "x86_64-apple-darwin": "f193705d4c0572a358670dbacbf0ffadcd04b3989728b442f4680fa1e065fa72",
+ },
+ "1.26.1": {
+ "x86_64-unknown-linux-gnu": "b7e964bace1286696d511c287b945f3ece476ba77a231f0c31f1867dfa5080e0",
+ "powerpc64le-unknown-linux-gnu": "ad8b2f6dd8c5cca1251d65b75ed2120aae3c5375d2c8ed690259cf4a652d7d3c",
+ "aarch64-unknown-linux-gnu": "d4a369053c2dfd5f457de6853557dab563944579fa4bb55bc919bacf259bff6d",
+ "x86_64-apple-darwin": "ebf898b9fa7e2aafc53682a41f18af5ca6660ebe82dd78f28cd9799fe4dc189a",
+ },
+ "1.26.0": {
+ "x86_64-unknown-linux-gnu": "13691d7782577fc9f110924b26603ade1990de0b691a3ce2dc324b4a72a64a68",
+ "powerpc64le-unknown-linux-gnu": "3ba3a4905730ec01007ca1096d9fc3780f4e81f71139a619e1f526244301b7f4",
+ "aarch64-unknown-linux-gnu": "e12dc84bdb569cdb382268a5fe6ae6a8e2e53810cb890ec3a7133c20ba8451ac",
+ "x86_64-apple-darwin": "38708803c3096b8f101d1919ee2d7e723b0adf1bc1bb986b060973b57d8c7c28",
+ },
+ "1.25.0": {
+ "x86_64-unknown-linux-gnu": "06fb45fb871330a2d1b32a27badfe9085847fe824c189ddc5204acbe27664f5e",
+ "powerpc64le-unknown-linux-gnu": "79eeb2a7fafa2e0f65f29a1dc360df69daa725347e4b6a533684f1c07308cc6e",
+ "aarch64-unknown-linux-gnu": "19a43451439e515a216d0a885d14203f9a92502ee958abf86bf7000a7d73d73d",
+ "x86_64-apple-darwin": "fcd0302b15e857ba4a80873360cf5453275973c64fa82e33bfbed02d88d0ad17",
+ },
+ "1.24.1": {
+ "x86_64-unknown-linux-gnu": "4567e7f6e5e0be96e9a5a7f5149b5452828ab6a386099caca7931544f45d5327",
+ "powerpc64le-unknown-linux-gnu": "6f6c4bebbd7d6dc9989bf372c512dea55af8f56a1a0cfe97784667f0ac5430ee",
+ "aarch64-unknown-linux-gnu": "64bb25a9689b18ddadf025b90d9bdb150b809ebfb74432dc69cc2e46120adbb2",
+ "x86_64-apple-darwin": "9d4aacdb5849977ea619d399903c9378163bd9c76ea11dac5ef6eca27849f501",
+ },
+ "1.24.0": {
+ "x86_64-unknown-linux-gnu": "336cf7af6c857cdaa110e1425719fa3a1652351098dc73f156e5bf02ed86443c",
+ "powerpc64le-unknown-linux-gnu": "25d9b965a63ad2f345897028094d4c7eafa432237b478754ccbcc299f80629c8",
+ "aarch64-unknown-linux-gnu": "a981de306164b47f3d433c1d53936185260642849c79963af7e07d36b063a557",
+ "x86_64-apple-darwin": "1aecba7cab4bc1a9e0e931c04aa00849e930b567d243da7b676ede8f527a2992",
+ },
+ "1.23.0": {
+ "x86_64-unknown-linux-gnu": "9a34b23a82d7f3c91637e10ceefb424539dcfa327c2dcd292ff10c047b1fdc7e",
+ "powerpc64le-unknown-linux-gnu": "60f1a1cc182c516de08c1f42ada01604a3d94383e9dded6b237ae2233999437b",
+ "aarch64-unknown-linux-gnu": "38379fbd976d2286cb73f21466db40a636a583b9f8a80af5eea73617c7912bc7",
+ "x86_64-apple-darwin": "9274e977322bb4b153f092255ac9bd85041142c73eaabf900cb2ef3d3abb2eba",
+ },
}
# This dictionary maps Rust target architectures to Spack constraints that
# match that target.
rust_archs = {
- 'x86_64-unknown-linux-gnu': [
- {'platform': 'linux', 'target': 'x86_64:'},
- {'platform': 'cray', 'target': 'x86_64:'}
- ],
- 'powerpc64le-unknown-linux-gnu': [
- {'platform': 'linux', 'target': 'ppc64le:'},
- {'platform': 'cray', 'target': 'ppc64le:'}
+ "x86_64-unknown-linux-gnu": [
+ {"platform": "linux", "target": "x86_64:"},
+ {"platform": "cray", "target": "x86_64:"},
],
- 'aarch64-unknown-linux-gnu': [
- {'platform': 'linux', 'target': 'aarch64:'},
- {'platform': 'cray', 'target': 'aarch64:'}
+ "powerpc64le-unknown-linux-gnu": [
+ {"platform": "linux", "target": "ppc64le:"},
+ {"platform": "cray", "target": "ppc64le:"},
],
- 'x86_64-apple-darwin': [
- {'platform': 'darwin', 'target': 'x86_64:'}
+ "aarch64-unknown-linux-gnu": [
+ {"platform": "linux", "target": "aarch64:"},
+ {"platform": "cray", "target": "aarch64:"},
],
- 'aarch64-apple-darwin': [
- {'platform': 'darwin', 'target': 'aarch64:'},
+ "x86_64-apple-darwin": [{"platform": "darwin", "target": "x86_64:"}],
+ "aarch64-apple-darwin": [
+ {"platform": "darwin", "target": "aarch64:"},
],
}
@@ -437,22 +557,19 @@ class Rust(Package):
# All pre-release builds are built with the latest beta
# compiler.
resource(
- name='rust-beta-{target}'.format(
- target=rust_target
- ),
- url='https://static.rust-lang.org/dist/rust-beta-{target}.tar.gz'.format(
+ name="rust-beta-{target}".format(target=rust_target),
+ url="https://static.rust-lang.org/dist/rust-beta-{target}.tar.gz".format(
target=rust_target
),
# Fake SHA - checksums should never be checked for
# pre-release builds, anyway
- sha256='0000000000000000000000000000000000000000000000000000000000000000',
- destination='spack_bootstrap_stage',
- when='@{version} platform={platform} target={target}'\
- .format(
+ sha256="0000000000000000000000000000000000000000000000000000000000000000",
+ destination="spack_bootstrap_stage",
+ when="@{version} platform={platform} target={target}".format(
version=prerelease_version,
- platform=rust_arch['platform'],
- target=rust_arch['target']
- )
+ platform=rust_arch["platform"],
+ target=rust_arch["target"],
+ ),
)
# This loop generates resources for each binary distribution, and maps
@@ -468,65 +585,58 @@ class Rust(Package):
for rust_target, rust_sha256 in iteritems(rust_targets):
for rust_arch in rust_archs[rust_target]:
resource(
- name='rust-{version}-{target}'.format(
- version=rust_version,
- target=rust_target
+ name="rust-{version}-{target}".format(
+ version=rust_version, target=rust_target
),
- url='https://static.rust-lang.org/dist/rust-{version}-{target}.tar.gz'.format(
- version=rust_version,
- target=rust_target
+ url="https://static.rust-lang.org/dist/rust-{version}-{target}.tar.gz".format(
+ version=rust_version, target=rust_target
),
sha256=rust_sha256,
- destination='spack_bootstrap_stage',
- when='@{ver} platform={platform} target={target}'.format(
+ destination="spack_bootstrap_stage",
+ when="@{ver} platform={platform} target={target}".format(
ver=rust_version,
- platform=rust_arch['platform'],
- target=rust_arch['target']
- )
+ platform=rust_arch["platform"],
+ target=rust_arch["target"],
+ ),
)
- executables = ['^rustc$']
+ executables = ["^rustc$"]
@classmethod
def determine_version(csl, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.match(r'rustc (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.match(r"rustc (\S+)", output)
return match.group(1) if match else None
# This routine returns the target architecture we intend to build for.
def get_rust_target(self):
- if 'platform=linux' in self.spec or 'platform=cray' in self.spec:
- if 'target=x86_64:' in self.spec:
- return 'x86_64-unknown-linux-gnu'
- elif 'target=ppc64le:' in self.spec:
- return 'powerpc64le-unknown-linux-gnu'
- elif 'target=aarch64:' in self.spec:
- return 'aarch64-unknown-linux-gnu'
- elif 'platform=darwin' in self.spec:
- if 'target=x86_64:' in self.spec:
- return 'x86_64-apple-darwin'
- elif 'target=aarch64:' in self.spec:
- return 'aarch64-apple-darwin'
-
- raise InstallError(
- "rust is not supported for '{0}'".format(
- self.spec.architecture
- ))
+ if "platform=linux" in self.spec or "platform=cray" in self.spec:
+ if "target=x86_64:" in self.spec:
+ return "x86_64-unknown-linux-gnu"
+ elif "target=ppc64le:" in self.spec:
+ return "powerpc64le-unknown-linux-gnu"
+ elif "target=aarch64:" in self.spec:
+ return "aarch64-unknown-linux-gnu"
+ elif "platform=darwin" in self.spec:
+ if "target=x86_64:" in self.spec:
+ return "x86_64-apple-darwin"
+ elif "target=aarch64:" in self.spec:
+ return "aarch64-apple-darwin"
+
+ raise InstallError("rust is not supported for '{0}'".format(self.spec.architecture))
def check_newer(self, version):
- if '@master' in self.spec or '@beta' in self.spec or \
- '@nightly' in self.spec:
+ if "@master" in self.spec or "@beta" in self.spec or "@nightly" in self.spec:
return True
- return '@{0}:'.format(version) in self.spec
+ return "@{0}:".format(version) in self.spec
def patch(self):
- if self.spec.satisfies('@1.51.0'):
+ if self.spec.satisfies("@1.51.0"):
# see 31c93397bde7 upstream
- filter_file('panic!(out);',
- 'panic!("{}", out);',
- 'src/bootstrap/builder.rs',
- string=True)
+ filter_file(
+ "panic!(out);", 'panic!("{}", out);', "src/bootstrap/builder.rs", string=True
+ )
def configure(self, spec, prefix):
target = self.get_rust_target()
@@ -535,64 +645,59 @@ class Rust(Package):
# Pre-release compilers use the latest beta release for the
# bootstrapping compiler.
# Versioned releases bootstrap themselves.
- if '@beta' in spec or '@nightly' in spec or '@master' in spec:
- bootstrap_version = 'beta'
+ if "@beta" in spec or "@nightly" in spec or "@master" in spec:
+ bootstrap_version = "beta"
else:
bootstrap_version = spec.version
# See the NOTE above the resource loop - should be host architecture,
# not target aarchitecture if we're to support cross-compiling.
bootstrapping_install = Executable(
- './spack_bootstrap_stage/rust-{version}-{target}/install.sh'
- .format(
- version=bootstrap_version,
- target=target
+ "./spack_bootstrap_stage/rust-{version}-{target}/install.sh".format(
+ version=bootstrap_version, target=target
)
)
# install into the staging area
- bootstrapping_install('--prefix={0}'.format(
- join_path(self.stage.source_path, 'spack_bootstrap')
- ))
+ bootstrapping_install(
+ "--prefix={0}".format(join_path(self.stage.source_path, "spack_bootstrap"))
+ )
- boot_bin = join_path(self.stage.source_path, 'spack_bootstrap/bin')
+ boot_bin = join_path(self.stage.source_path, "spack_bootstrap/bin")
# Always build rustc and cargo
- tools = ['rustc', 'cargo']
+ tools = ["rustc", "cargo"]
# Only make additional components available in 'rust-bootstrap'
- if '+rustfmt' in self.spec:
- tools.append('rustfmt')
- if '+analysis' in self.spec:
- tools.append('analysis')
- if '@1.33: +clippy' in self.spec:
- tools.append('clippy')
- if '+rls' in self.spec:
- tools.append('rls')
- if '+src' in self.spec:
- tools.append('src')
-
- ar = which('ar', required=True)
+ if "+rustfmt" in self.spec:
+ tools.append("rustfmt")
+ if "+analysis" in self.spec:
+ tools.append("analysis")
+ if "@1.33: +clippy" in self.spec:
+ tools.append("clippy")
+ if "+rls" in self.spec:
+ tools.append("rls")
+ if "+src" in self.spec:
+ tools.append("src")
+
+ ar = which("ar", required=True)
extra_targets = []
- if not self.spec.satisfies('extra_targets=none'):
- extra_targets = list(self.spec.variants['extra_targets'].value)
+ if not self.spec.satisfies("extra_targets=none"):
+ extra_targets = list(self.spec.variants["extra_targets"].value)
targets = [self.get_rust_target()] + extra_targets
- target_spec = 'target=[' + \
- ','.join('"{0}"'.format(target) for target in targets) + ']'
- target_specs = '\n'.join(
- '[target.{0}]\nar = "{1}"\n'.format(target, ar.path)
- for target in targets)
+ target_spec = "target=[" + ",".join('"{0}"'.format(target) for target in targets) + "]"
+ target_specs = "\n".join(
+ '[target.{0}]\nar = "{1}"\n'.format(target, ar.path) for target in targets
+ )
# build.tools was introduced in Rust 1.25
- tools_spec = \
- 'tools={0}'.format(tools) if self.check_newer('1.25') else ''
+ tools_spec = "tools={0}".format(tools) if self.check_newer("1.25") else ""
# This is a temporary fix due to rust 1.42 breaking self bootstrapping
# See: https://github.com/rust-lang/rust/issues/69953
#
# In general, this should be safe because bootstrapping typically
# ensures everything but the bootstrapping script is warning free for
# the latest set of warning.
- deny_warnings_spec = \
- 'deny-warnings = false' if '@1.42.0' in self.spec else ''
+ deny_warnings_spec = "deny-warnings = false" if "@1.42.0" in self.spec else ""
# "Nightly" and master builds want a path to rustfmt - otherwise, it
# will try to download rustfmt from the Internet. We'll give it rustfmt
@@ -600,14 +705,14 @@ class Rust(Package):
# because this package never invokes it. To be clear, rustfmt from the
# bootstrapping compiler is probably incorrect. See: src/stage0.txt in
# Rust to see what the current "official" rustfmt version for Rust is.
- if '@master' in spec or '@nightly' in spec:
- rustfmt_spec = \
- 'rustfmt="{0}"'.format(join_path(boot_bin, 'rustfmt'))
+ if "@master" in spec or "@nightly" in spec:
+ rustfmt_spec = 'rustfmt="{0}"'.format(join_path(boot_bin, "rustfmt"))
else:
- rustfmt_spec = ''
+ rustfmt_spec = ""
- with open('config.toml', 'w') as out_file:
- out_file.write("""\
+ with open("config.toml", "w") as out_file:
+ out_file.write(
+ """\
[build]
cargo = "{cargo}"
rustc = "{rustc}"
@@ -630,24 +735,28 @@ rpath = true
prefix = "{prefix}"
sysconfdir = "etc"
""".format(
- cargo=join_path(boot_bin, 'cargo'),
- rustc=join_path(boot_bin, 'rustc'),
- prefix=prefix,
- deny_warnings_spec=deny_warnings_spec,
- target_spec=target_spec,
- target_specs=target_specs,
- tools_spec=tools_spec,
- rustfmt_spec=rustfmt_spec
- )
+ cargo=join_path(boot_bin, "cargo"),
+ rustc=join_path(boot_bin, "rustc"),
+ prefix=prefix,
+ deny_warnings_spec=deny_warnings_spec,
+ target_spec=target_spec,
+ target_specs=target_specs,
+ tools_spec=tools_spec,
+ rustfmt_spec=rustfmt_spec,
+ )
)
def build(self, spec, prefix):
- python('./x.py', 'build', extra_env={
- # vendored libgit2 wasn't correctly building (couldn't find the
- # vendored libssh2), so let's just have spack build it
- 'LIBSSH2_SYS_USE_PKG_CONFIG': '1',
- 'LIBGIT2_SYS_USE_PKG_CONFIG': '1'
- })
+ python(
+ "./x.py",
+ "build",
+ extra_env={
+ # vendored libgit2 wasn't correctly building (couldn't find the
+ # vendored libssh2), so let's just have spack build it
+ "LIBSSH2_SYS_USE_PKG_CONFIG": "1",
+ "LIBGIT2_SYS_USE_PKG_CONFIG": "1",
+ },
+ )
def install(self, spec, prefix):
- python('./x.py', 'install')
+ python("./x.py", "install")
diff --git a/var/spack/repos/builtin/packages/sabre/package.py b/var/spack/repos/builtin/packages/sabre/package.py
index 8cdd944b3f..bf62c00512 100644
--- a/var/spack/repos/builtin/packages/sabre/package.py
+++ b/var/spack/repos/builtin/packages/sabre/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class Sabre(MakefilePackage):
"""Sabre is a tool that will demultiplex barcoded reads into separate
- files. It will work on both single-end and paired-end data in fastq
- format. It simply compares the provided barcodes with each read and
- separates the read into its appropriate barcode file, after stripping
- the barcode from the read (and also stripping the quality values of
- the barcode bases). If a read does not have a recognized barcode,
- then it is put into the unknown file.
+ files. It will work on both single-end and paired-end data in fastq
+ format. It simply compares the provided barcodes with each read and
+ separates the read into its appropriate barcode file, after stripping
+ the barcode from the read (and also stripping the quality values of
+ the barcode bases). If a read does not have a recognized barcode,
+ then it is put into the unknown file.
"""
homepage = "https://github.com/najoshi/sabre"
- git = "https://github.com/najoshi/sabre.git"
+ git = "https://github.com/najoshi/sabre.git"
- version('2013-09-27', commit='039a55e500ba07b7e6432ea6ec2ddcfb3471d949')
+ version("2013-09-27", commit="039a55e500ba07b7e6432ea6ec2ddcfb3471d949")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sabre', prefix.bin)
+ install("sabre", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/saga-gis/package.py b/var/spack/repos/builtin/packages/saga-gis/package.py
index c5718d94f6..32099b01fa 100644
--- a/var/spack/repos/builtin/packages/saga-gis/package.py
+++ b/var/spack/repos/builtin/packages/saga-gis/package.py
@@ -12,104 +12,107 @@ class SagaGis(AutotoolsPackage, SourceforgePackage):
a comprehensive, growing set of geoscientific methods and provides an
easily approachable user interface with many visualisation options
"""
- homepage = "http://saga-gis.org/"
+
+ homepage = "http://saga-gis.org/"
sourceforge_mirror_path = "SAGA%20-%205.0.0/saga-5.0.0.tar.gz"
- git = "git://git.code.sf.net/p/saga-gis/code"
-
- version('develop', branch='master')
- version('7.4.0', branch='release-7.4.0')
- version('7.3.0', branch='release-7.3.0')
- version('7.1.1', branch='release-7.1.1')
- version('7.1.0', branch='release-7.1.0')
- version('7.0.0', branch='release-7.0.0')
- version('6.4.0', branch='release-6.4.0')
- version('6.3.0', branch='release-6.3.0')
- version('6.2.0', branch='release-6.2.0')
- version('6.1.0', branch='release-6.1.0')
- version('6.0.0', branch='release-6.0.0')
- version('5.0.1', branch='release-5-0-1')
- version('5.0.0', branch='release-5.0.0')
- version('4.1.0', branch='release-4.1.0')
- version('4.0.0', branch='release-4.0.0')
- version('3.0.0', branch='release-3.0.0', deprecated=True)
- version('2.3-lts', branch='release-2-3-lts', deprecated=True)
- version('2.3.1', branch='release-2-3-1', deprecated=True)
- version('2.3.0', branch='release-2-3-0', deprecated=True)
-
- variant('gui', default=True, description='Build GUI and interactive SAGA tools')
- variant('odbc', default=True, description='Build with ODBC support')
+ git = "git://git.code.sf.net/p/saga-gis/code"
+
+ version("develop", branch="master")
+ version("7.4.0", branch="release-7.4.0")
+ version("7.3.0", branch="release-7.3.0")
+ version("7.1.1", branch="release-7.1.1")
+ version("7.1.0", branch="release-7.1.0")
+ version("7.0.0", branch="release-7.0.0")
+ version("6.4.0", branch="release-6.4.0")
+ version("6.3.0", branch="release-6.3.0")
+ version("6.2.0", branch="release-6.2.0")
+ version("6.1.0", branch="release-6.1.0")
+ version("6.0.0", branch="release-6.0.0")
+ version("5.0.1", branch="release-5-0-1")
+ version("5.0.0", branch="release-5.0.0")
+ version("4.1.0", branch="release-4.1.0")
+ version("4.0.0", branch="release-4.0.0")
+ version("3.0.0", branch="release-3.0.0", deprecated=True)
+ version("2.3-lts", branch="release-2-3-lts", deprecated=True)
+ version("2.3.1", branch="release-2-3-1", deprecated=True)
+ version("2.3.0", branch="release-2-3-0", deprecated=True)
+
+ variant("gui", default=True, description="Build GUI and interactive SAGA tools")
+ variant("odbc", default=True, description="Build with ODBC support")
# FIXME Saga-gis configure file disables triangle even if
# --enable-triangle flag is used
# variant('triangle', default=True, description='Build with triangle.c
# non free for commercial use otherwise use qhull')
- variant('libfire', default=True, description='Build with libfire (non free for commercial usage)')
- variant('openmp', default=True, description='Build with OpenMP enabled')
- variant('python', default=False, description='Build Python extension')
-
- variant('postgresql', default=False, description='Build with PostgreSQL library')
- variant('opencv', default=False, description='Build with libraries using OpenCV')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libsm', type='link')
-
- depends_on('libharu')
- depends_on('wxwidgets')
- depends_on('postgresql', when='+postgresql')
- depends_on('unixodbc', when='+odbc')
+ variant(
+ "libfire", default=True, description="Build with libfire (non free for commercial usage)"
+ )
+ variant("openmp", default=True, description="Build with OpenMP enabled")
+ variant("python", default=False, description="Build Python extension")
+
+ variant("postgresql", default=False, description="Build with PostgreSQL library")
+ variant("opencv", default=False, description="Build with libraries using OpenCV")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libsm", type="link")
+
+ depends_on("libharu")
+ depends_on("wxwidgets")
+ depends_on("postgresql", when="+postgresql")
+ depends_on("unixodbc", when="+odbc")
# SAGA-GIS requires projects.h from proj
- depends_on('proj')
+ depends_on("proj")
# https://sourceforge.net/p/saga-gis/bugs/271/
- depends_on('proj@:5', when='@:7.3')
+ depends_on("proj@:5", when="@:7.3")
# Saga-Gis depends on legacy opencv API removed in opencv 4.x
- depends_on('opencv@:3.4.6+jpeg+video+objdetect+ml+openmp+photo', when='+opencv')
- depends_on('jpeg', when='+opencv')
+ depends_on("opencv@:3.4.6+jpeg+video+objdetect+ml+openmp+photo", when="+opencv")
+ depends_on("jpeg", when="+opencv")
# Set hl variant due to similar issue #7145
- depends_on('hdf5+hl')
+ depends_on("hdf5+hl")
# write support for grib2 is available since 2.3.0 (https://gdal.org/drivers/raster/grib.html)
- depends_on('gdal@2.3:+grib+hdf5+netcdf')
+ depends_on("gdal@2.3:+grib+hdf5+netcdf")
- depends_on('gdal@2.3:2.4+grib+hdf5+netcdf', when='@:7.2')
- depends_on('libgeotiff@:1.4', when='@:7.2')
+ depends_on("gdal@2.3:2.4+grib+hdf5+netcdf", when="@:7.2")
+ depends_on("libgeotiff@:1.4", when="@:7.2")
# FIXME Saga-Gis uses a wrong include path
# depends_on('qhull', when='~triangle')
- depends_on('swig', type='build', when='+python')
- extends('python', when='+python')
+ depends_on("swig", type="build", when="+python")
+ extends("python", when="+python")
configure_directory = "saga-gis"
def patch(self):
- if '+opencv' in self.spec:
- opencv_dir = self.spec['opencv'].prefix
- opencv_makefile = join_path('saga-gis', 'src', 'tools', 'imagery',
- 'imagery_opencv', 'Makefile.am')
+ if "+opencv" in self.spec:
+ opencv_dir = self.spec["opencv"].prefix
+ opencv_makefile = join_path(
+ "saga-gis", "src", "tools", "imagery", "imagery_opencv", "Makefile.am"
+ )
- filter_file(r"/usr(/include/opencv)", r"{0}\1".format(opencv_dir),
- opencv_makefile)
+ filter_file(r"/usr(/include/opencv)", r"{0}\1".format(opencv_dir), opencv_makefile)
def configure_args(self):
args = []
- args += self.enable_or_disable('gui')
- args += self.enable_or_disable('odbc')
+ args += self.enable_or_disable("gui")
+ args += self.enable_or_disable("odbc")
# FIXME Saga-gis configure file disables triangle even if
# --enable-triangle flag is used
# args += self.enable_or_disable('triangle')
# FIXME SAGA-GIS uses a wrong include path
# if '~triangle' in self.spec:
# args.append('--disable-triangle')
- args += self.enable_or_disable('libfire')
- args += self.enable_or_disable('openmp')
- args += self.enable_or_disable('python')
- args += self.with_or_without('postgresql')
+ args += self.enable_or_disable("libfire")
+ args += self.enable_or_disable("openmp")
+ args += self.enable_or_disable("python")
+ args += self.with_or_without("postgresql")
return args
diff --git a/var/spack/repos/builtin/packages/sailfish/package.py b/var/spack/repos/builtin/packages/sailfish/package.py
index 5a43d72e74..7e2a85cec8 100644
--- a/var/spack/repos/builtin/packages/sailfish/package.py
+++ b/var/spack/repos/builtin/packages/sailfish/package.py
@@ -11,14 +11,14 @@ class Sailfish(CMakePackage):
"""Sailfish is a tool for transcript quantification from RNA-seq data."""
homepage = "https://www.cs.cmu.edu/~ckingsf/software/sailfish"
- url = "https://github.com/kingsfordgroup/sailfish/archive/v0.10.1.tar.gz"
+ url = "https://github.com/kingsfordgroup/sailfish/archive/v0.10.1.tar.gz"
- version('0.10.1', sha256='a0d6d944382f2e07ffbfd0371132588e2f22bb846ecfc3d3435ff3d81b30d6c6')
+ version("0.10.1", sha256="a0d6d944382f2e07ffbfd0371132588e2f22bb846ecfc3d3435ff3d81b30d6c6")
- depends_on('boost@1.55:')
+ depends_on("boost@1.55:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('tbb')
+ depends_on("tbb")
diff --git a/var/spack/repos/builtin/packages/salmon-tddft/package.py b/var/spack/repos/builtin/packages/salmon-tddft/package.py
index 4d79957583..56efc406ed 100644
--- a/var/spack/repos/builtin/packages/salmon-tddft/package.py
+++ b/var/spack/repos/builtin/packages/salmon-tddft/package.py
@@ -18,81 +18,85 @@ class SalmonTddft(CMakePackage):
homepage = "https://salmon-tddft.jp"
url = "https://salmon-tddft.jp/download/SALMON-v.2.0.0.tar.gz"
- version('2.0.0', sha256='c3bb80bc5d338cba21cd8f345acbf2f2d81ef75af069a0a0ddbdc0acf358456c')
- version('1.2.1', sha256='a5045149e49abe9dd9edefe00cd1508a1323081bc3d034632176b728effdbaeb')
+ version("2.0.0", sha256="c3bb80bc5d338cba21cd8f345acbf2f2d81ef75af069a0a0ddbdc0acf358456c")
+ version("1.2.1", sha256="a5045149e49abe9dd9edefe00cd1508a1323081bc3d034632176b728effdbaeb")
- variant('mpi', default=False, description='Enable MPI')
- variant('libxc', default=False, description='Enable libxc')
- variant('scalapack', default=False, description='Enable scalapack')
- variant('eigenexa', default=False, description='Enable eigenexa')
+ variant("mpi", default=False, description="Enable MPI")
+ variant("libxc", default=False, description="Enable libxc")
+ variant("scalapack", default=False, description="Enable scalapack")
+ variant("eigenexa", default=False, description="Enable eigenexa")
variant(
- 'manycore', default=False,
- description='Enable optimization of reduction for many-core processor'
+ "manycore",
+ default=False,
+ description="Enable optimization of reduction for many-core processor",
)
variant(
- 'current_processing', default=False,
- description='Enable preprocessing of the current computation in RT'
+ "current_processing",
+ default=False,
+ description="Enable preprocessing of the current computation in RT",
)
- depends_on('cmake@3.14:', type='build')
- depends_on('mpi', type='link', when='+mpi')
- depends_on('scalapack', type='link', when='+scalapack')
- depends_on('eigenexa', type='link', when='+eigenexa')
- depends_on('lapack', type='link')
- depends_on('libxc', type='link', when='+libxc')
- depends_on('libxc@:4.9', type='link', when='@:1.9.9 +libxc')
+ depends_on("cmake@3.14:", type="build")
+ depends_on("mpi", type="link", when="+mpi")
+ depends_on("scalapack", type="link", when="+scalapack")
+ depends_on("eigenexa", type="link", when="+eigenexa")
+ depends_on("lapack", type="link")
+ depends_on("libxc", type="link", when="+libxc")
+ depends_on("libxc@:4.9", type="link", when="@:1.9.9 +libxc")
- conflicts('+scalapack', when='~mpi')
- conflicts('+eigenexa', when='@:1.9.9')
- conflicts('+eigenexa', when='~scalapack')
- conflicts('+manycore', when='@2.0.0:')
- conflicts('+current_processing', when='@2.0.0:')
+ conflicts("+scalapack", when="~mpi")
+ conflicts("+eigenexa", when="@:1.9.9")
+ conflicts("+eigenexa", when="~scalapack")
+ conflicts("+manycore", when="@2.0.0:")
+ conflicts("+current_processing", when="@2.0.0:")
- patch('fjmpi.patch', when='@2.0.0: %fj')
- patch('v2.0.libxc-5.0.patch', when='@2.0.0 +libxc')
- patch('cmakefix.patch', when='+scalapack')
+ patch("fjmpi.patch", when="@2.0.0: %fj")
+ patch("v2.0.libxc-5.0.patch", when="@2.0.0 +libxc")
+ patch("cmakefix.patch", when="+scalapack")
def cmake_args(self):
define_from_variant = self.define_from_variant
spec = self.spec
define = self.define
args = [
- define_from_variant('USE_SCALAPACK', 'scalapack'),
- define_from_variant('USE_EIGENEXA', 'eigenexa'),
- define_from_variant('USE_MPI', 'mpi'),
- define_from_variant('USE_LIBXC', 'libxc'),
- define_from_variant('REDUCE_FOR_MANYCORE', 'manycore'),
- define_from_variant('CURRENT_PREPROCESSING', 'current_processing')
+ define_from_variant("USE_SCALAPACK", "scalapack"),
+ define_from_variant("USE_EIGENEXA", "eigenexa"),
+ define_from_variant("USE_MPI", "mpi"),
+ define_from_variant("USE_LIBXC", "libxc"),
+ define_from_variant("REDUCE_FOR_MANYCORE", "manycore"),
+ define_from_variant("CURRENT_PREPROCESSING", "current_processing"),
]
- if spec.satisfies('+mpi'):
- args.extend([
- define('CMAKE_C_COMPILER', spec['mpi'].mpicc),
- define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- ])
- if spec.satisfies('+scalapack'):
- math_libs = spec['scalapack'].libs + \
- spec['lapack'].libs + spec['blas'].libs
- if spec.satisfies('@2.0:'):
- args.append(define('ScaLAPACK_VENDOR_FLAGS',
- math_libs.ld_flags))
+ if spec.satisfies("+mpi"):
+ args.extend(
+ [
+ define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
+ define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ ]
+ )
+ if spec.satisfies("+scalapack"):
+ math_libs = spec["scalapack"].libs + spec["lapack"].libs + spec["blas"].libs
+ if spec.satisfies("@2.0:"):
+ args.append(define("ScaLAPACK_VENDOR_FLAGS", math_libs.ld_flags))
else:
- args.extend([
- define('BLACS_LINKER_FLAGS', math_libs.ld_flags),
- define('BLACS_LIBRARIES', math_libs.libraries),
- define('ScaLAPACK_LINKER_FLAGS', math_libs.ld_flags),
- define('ScaLAPACK_LIBRARIES', math_libs.libraries)
- ])
- if spec.satisfies('^fujitsu-mpi'):
- args.append(define('USE_FJMPI', True))
+ args.extend(
+ [
+ define("BLACS_LINKER_FLAGS", math_libs.ld_flags),
+ define("BLACS_LIBRARIES", math_libs.libraries),
+ define("ScaLAPACK_LINKER_FLAGS", math_libs.ld_flags),
+ define("ScaLAPACK_LIBRARIES", math_libs.libraries),
+ ]
+ )
+ if spec.satisfies("^fujitsu-mpi"):
+ args.append(define("USE_FJMPI", True))
else:
- args.append(define('USE_FJMPI', False))
- if spec.satisfies('%fj'):
- args.append(self.define('CMAKE_Fortran_MODDIR_FLAG', '-M'))
+ args.append(define("USE_FJMPI", False))
+ if spec.satisfies("%fj"):
+ args.append(self.define("CMAKE_Fortran_MODDIR_FLAG", "-M"))
return args
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'fflags':
- if self.spec.satisfies('%gcc'):
- flags.append('-ffree-line-length-none')
+ if name == "fflags":
+ if self.spec.satisfies("%gcc"):
+ flags.append("-ffree-line-length-none")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/salmon/package.py b/var/spack/repos/builtin/packages/salmon/package.py
index 367c770d20..1b1ecb4458 100644
--- a/var/spack/repos/builtin/packages/salmon/package.py
+++ b/var/spack/repos/builtin/packages/salmon/package.py
@@ -7,95 +7,102 @@ from spack.package import *
class Salmon(CMakePackage):
"""Salmon is a tool for quantifying the expression of transcripts using
- RNA-seq data."""
+ RNA-seq data."""
homepage = "https://combine-lab.github.io/salmon/"
- url = "https://github.com/COMBINE-lab/salmon/archive/v0.8.2.tar.gz"
+ url = "https://github.com/COMBINE-lab/salmon/archive/v0.8.2.tar.gz"
- version('1.4.0', sha256='6d3e25387450710f0aa779a1e9aaa9b4dec842324ff8551d66962d7c7606e71d')
- version('0.14.1', sha256='05289170e69b5f291a8403b40d6b9bff54cc38825e9f721c210192b51a19273e')
- version('0.12.0', sha256='91ebd1efc5b0b4c12ec6babecf3c0b79f7102e42b8895ca07c8c8fea869fefa3')
- version('0.9.1', sha256='3a32c28d217f8f0af411c77c04144b1fa4e6fd3c2f676661cc875123e4f53520')
- version('0.8.2', sha256='299168e873e71e9b07d63a84ae0b0c41b0876d1ad1d434b326a5be2dce7c4b91')
+ version("1.4.0", sha256="6d3e25387450710f0aa779a1e9aaa9b4dec842324ff8551d66962d7c7606e71d")
+ version("0.14.1", sha256="05289170e69b5f291a8403b40d6b9bff54cc38825e9f721c210192b51a19273e")
+ version("0.12.0", sha256="91ebd1efc5b0b4c12ec6babecf3c0b79f7102e42b8895ca07c8c8fea869fefa3")
+ version("0.9.1", sha256="3a32c28d217f8f0af411c77c04144b1fa4e6fd3c2f676661cc875123e4f53520")
+ version("0.8.2", sha256="299168e873e71e9b07d63a84ae0b0c41b0876d1ad1d434b326a5be2dce7c4b91")
- variant('build_type', default='RELEASE',
- description='CMake build type',
- values=('DEBUG', 'RELEASE'))
+ variant(
+ "build_type",
+ default="RELEASE",
+ description="CMake build type",
+ values=("DEBUG", "RELEASE"),
+ )
- depends_on('tbb')
+ depends_on("tbb")
depends_on(
- 'boost@1.66.0:'
- '+program_options+exception+filesystem+system+chrono+serialization'
- '+random+graph+timer+iostreams+math+thread+container',
- when='@:0.14.1',
+ "boost@1.66.0:"
+ "+program_options+exception+filesystem+system+chrono+serialization"
+ "+random+graph+timer+iostreams+math+thread+container",
+ when="@:0.14.1",
)
depends_on(
- 'boost@1.72.0:'
- '+program_options+exception+filesystem+system+chrono+serialization'
- '+random+graph+timer+iostreams+math+thread+container',
- when='@1.4.0:',
+ "boost@1.72.0:"
+ "+program_options+exception+filesystem+system+chrono+serialization"
+ "+random+graph+timer+iostreams+math+thread+container",
+ when="@1.4.0:",
)
- depends_on('cereal')
- depends_on('jemalloc')
- depends_on('xz')
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('libdivsufsort')
- depends_on('staden-io-lib~curl')
- depends_on('libgff')
- depends_on('pkgconfig')
- depends_on('curl', when='@0.14.1:')
+ depends_on("cereal")
+ depends_on("jemalloc")
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("libdivsufsort")
+ depends_on("staden-io-lib~curl")
+ depends_on("libgff")
+ depends_on("pkgconfig")
+ depends_on("curl", when="@0.14.1:")
- conflicts('%gcc@:5.1', when='@0.14.1:')
+ conflicts("%gcc@:5.1", when="@0.14.1:")
resources = [
- ('1.4.0', 'pufferfish', '059207e8d3134060ed70595e53f4189954c9e5edfaa6361b46304f55d1b71bc7'),
- ('0.14.1', 'RapMap', 'fabac2f360513b803aa3567415eddcd97261ab8a23d4f600af5f98ee8ffd944b'),
- ('0.12.0', 'RapMap', '05102c0bbc8a0c0056a01cd0e8788fa5b504aee58ac226ab8c0e3ffec8019790'),
- ('0.9.1', 'RapMap', '8975e5a1ed61ed9354ba776272927545f417ecdce95823e71ba1e7b61de7d380'),
- ('0.8.2', 'RapMap', '1691f4bca2b604f05f36772ae45faf0842ab4809843df770bd10366a5cfd6822'),
+ (
+ "1.4.0",
+ "pufferfish",
+ "059207e8d3134060ed70595e53f4189954c9e5edfaa6361b46304f55d1b71bc7",
+ ),
+ ("0.14.1", "RapMap", "fabac2f360513b803aa3567415eddcd97261ab8a23d4f600af5f98ee8ffd944b"),
+ ("0.12.0", "RapMap", "05102c0bbc8a0c0056a01cd0e8788fa5b504aee58ac226ab8c0e3ffec8019790"),
+ ("0.9.1", "RapMap", "8975e5a1ed61ed9354ba776272927545f417ecdce95823e71ba1e7b61de7d380"),
+ ("0.8.2", "RapMap", "1691f4bca2b604f05f36772ae45faf0842ab4809843df770bd10366a5cfd6822"),
]
for ver, repo, checksum in resources:
- resource(name='rapmap',
- url='https://github.com/COMBINE-lab/{0}/archive/salmon-v{1}.zip'.format(repo, ver),
- sha256=checksum,
- placement='external',
- expand=False,
- when='@{0}'.format(ver))
+ resource(
+ name="rapmap",
+ url="https://github.com/COMBINE-lab/{0}/archive/salmon-v{1}.zip".format(repo, ver),
+ sha256=checksum,
+ placement="external",
+ expand=False,
+ when="@{0}".format(ver),
+ )
def patch(self):
# remove static linking to libstdc++
- filter_file('-static-libstdc++', '', 'CMakeLists.txt', string=True)
- if self.spec.satisfies('@0.8.2:0.9.1'):
- filter_file('${FAST_MALLOC_LIB}',
- '${FAST_MALLOC_LIB}\n'
- '${CMAKE_DL_LIBS}',
- 'src/CMakeLists.txt',
- string=True)
+ filter_file("-static-libstdc++", "", "CMakeLists.txt", string=True)
+ if self.spec.satisfies("@0.8.2:0.9.1"):
+ filter_file(
+ "${FAST_MALLOC_LIB}",
+ "${FAST_MALLOC_LIB}\n" "${CMAKE_DL_LIBS}",
+ "src/CMakeLists.txt",
+ string=True,
+ )
- if self.spec.satisfies('@:0.14.1'):
- filter_file('curl -k.*',
- '',
- 'scripts/fetchRapMap.sh')
- symlink('./salmon-v{0}.zip'.format(self.version),
- './external/rapmap.zip')
+ if self.spec.satisfies("@:0.14.1"):
+ filter_file("curl -k.*", "", "scripts/fetchRapMap.sh")
+ symlink("./salmon-v{0}.zip".format(self.version), "./external/rapmap.zip")
- if self.spec.satisfies('@1.4.0:'):
- filter_file('curl -k.*',
- '',
- 'scripts/fetchPufferfish.sh')
- symlink('./salmon-v{0}.zip'.format(self.version),
- './external/pufferfish.zip')
+ if self.spec.satisfies("@1.4.0:"):
+ filter_file("curl -k.*", "", "scripts/fetchPufferfish.sh")
+ symlink("./salmon-v{0}.zip".format(self.version), "./external/pufferfish.zip")
# Fix issues related to lto-wrapper during install
- filter_file('INTERPROCEDURAL_OPTIMIZATION True',
- 'INTERPROCEDURAL_OPTIMIZATION False',
- 'src/CMakeLists.txt', string=True)
- filter_file('curl -k.*', '', 'scripts/fetchPufferfish.sh')
+ filter_file(
+ "INTERPROCEDURAL_OPTIMIZATION True",
+ "INTERPROCEDURAL_OPTIMIZATION False",
+ "src/CMakeLists.txt",
+ string=True,
+ )
+ filter_file("curl -k.*", "", "scripts/fetchPufferfish.sh")
def cmake_args(self):
args = [
- '-DBOOST_ROOT=%s' % self.spec['boost'].prefix,
+ "-DBOOST_ROOT=%s" % self.spec["boost"].prefix,
]
return args
diff --git a/var/spack/repos/builtin/packages/salome-configuration/package.py b/var/spack/repos/builtin/packages/salome-configuration/package.py
index a8bbb7d672..8d24c620b1 100644
--- a/var/spack/repos/builtin/packages/salome-configuration/package.py
+++ b/var/spack/repos/builtin/packages/salome-configuration/package.py
@@ -13,22 +13,22 @@ class SalomeConfiguration(Package):
"""salome-configuration is a part of SALOME platform and define general
build tools for the platform."""
- maintainers = ['franciskloss']
+ maintainers = ["franciskloss"]
homepage = "https://www.salome-platform.org"
- git = "https://git.salome-platform.org/gitpub/tools/configuration.git"
+ git = "https://git.salome-platform.org/gitpub/tools/configuration.git"
- version('9.7.0', tag='V9_7_0')
- version('9.6.0', tag='V9_6_0')
- version('9.5.0', tag='V9_5_0')
- version('9.4.0', tag='V9_4_0')
- version('9.3.0', tag='V9_3_0')
+ version("9.7.0", tag="V9_7_0")
+ version("9.6.0", tag="V9_6_0")
+ version("9.5.0", tag="V9_5_0")
+ version("9.4.0", tag="V9_4_0")
+ version("9.3.0", tag="V9_3_0")
- patch('SalomeMacros.patch', working_dir='./cmake')
- patch('FindSalomeHDF5.patch', working_dir='./cmake')
+ patch("SalomeMacros.patch", working_dir="./cmake")
+ patch("FindSalomeHDF5.patch", working_dir="./cmake")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('CONFIGURATION_ROOT_DIR', self.prefix)
+ env.set("CONFIGURATION_ROOT_DIR", self.prefix)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/salome-med/package.py b/var/spack/repos/builtin/packages/salome-med/package.py
index 9006f2d2ef..f9450de834 100644
--- a/var/spack/repos/builtin/packages/salome-med/package.py
+++ b/var/spack/repos/builtin/packages/salome-med/package.py
@@ -13,72 +13,69 @@ class SalomeMed(CMakePackage):
"""salome-med is the MED file format that is the SALOME platform standard
file for meshes and fields and salome-med is based on HDF5 library."""
- maintainers = ['franciskloss']
+ maintainers = ["franciskloss"]
homepage = "https://docs.salome-platform.org/latest/dev/MEDCoupling/developer/med-file.html"
- url = "ftp://ftp.cea.fr/pub/salome/prerequisites/med-4.1.0.tar.gz"
+ url = "ftp://ftp.cea.fr/pub/salome/prerequisites/med-4.1.0.tar.gz"
- version('4.1.0', sha256='847db5d6fbc9ce6924cb4aea86362812c9a5ef6b9684377e4dd6879627651fce')
- version('4.0.0', sha256='a474e90b5882ce69c5e9f66f6359c53b8b73eb448c5f631fa96e8cd2c14df004')
- version('3.3.1', sha256='856e9c4bb75eb0cceac3d5a5c65b1ce52fb3c46b9182920e1c9f34ae69bd2d5f')
- version('3.2.0', sha256='d52e9a1bdd10f31aa154c34a5799b48d4266dc6b4a5ee05a9ceda525f2c6c138')
+ version("4.1.0", sha256="847db5d6fbc9ce6924cb4aea86362812c9a5ef6b9684377e4dd6879627651fce")
+ version("4.0.0", sha256="a474e90b5882ce69c5e9f66f6359c53b8b73eb448c5f631fa96e8cd2c14df004")
+ version("3.3.1", sha256="856e9c4bb75eb0cceac3d5a5c65b1ce52fb3c46b9182920e1c9f34ae69bd2d5f")
+ version("3.2.0", sha256="d52e9a1bdd10f31aa154c34a5799b48d4266dc6b4a5ee05a9ceda525f2c6c138")
- variant('mpi', default=False, description='Enable MPI')
- variant('static', default=False, description='Enable static library build')
- variant('fortran', default=False, description='Enable Fortran')
+ variant("mpi", default=False, description="Enable MPI")
+ variant("static", default=False, description="Enable static library build")
+ variant("fortran", default=False, description="Enable Fortran")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('hdf5@1.10.3+mpi', when='@4.1.0+mpi')
- depends_on('hdf5@1.10.3~mpi', when='@4.1.0~mpi')
+ depends_on("hdf5@1.10.3+mpi", when="@4.1.0+mpi")
+ depends_on("hdf5@1.10.3~mpi", when="@4.1.0~mpi")
- depends_on('hdf5@1.10.3+mpi', when='@4.0.0+mpi')
- depends_on('hdf5@1.10.3~mpi', when='@4.0.0~mpi')
+ depends_on("hdf5@1.10.3+mpi", when="@4.0.0+mpi")
+ depends_on("hdf5@1.10.3~mpi", when="@4.0.0~mpi")
- depends_on('hdf5@1.8.14+mpi', when='@3.3.1+mpi')
- depends_on('hdf5@1.8.14~mpi', when='@3.3.1~mpi')
+ depends_on("hdf5@1.8.14+mpi", when="@3.3.1+mpi")
+ depends_on("hdf5@1.8.14~mpi", when="@3.3.1~mpi")
- depends_on('hdf5@1.8.14+mpi', when='@3.2.0+mpi')
- depends_on('hdf5@1.8.14~mpi', when='@3.2.0~mpi')
+ depends_on("hdf5@1.8.14+mpi", when="@3.2.0+mpi")
+ depends_on("hdf5@1.8.14~mpi", when="@3.2.0~mpi")
- patch('MAJ_400_410_champs.patch', when='@4.1.0+static', working_dir='./tools/medimport/4.0.0')
+ patch("MAJ_400_410_champs.patch", when="@4.1.0+static", working_dir="./tools/medimport/4.0.0")
def check(self):
with working_dir(self.build_directory):
- make('test', parallel=False)
+ make("test", parallel=False)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('HDF5_ROOT_DIR', self.spec['hdf5'].prefix)
+ env.set("HDF5_ROOT_DIR", self.spec["hdf5"].prefix)
def cmake_args(self):
- spec = self.spec
+ spec = self.spec
options = []
- if '+mpi' in spec:
- options.extend([
- '-DMEDFILE_USE_MPI=ON',
- '-DMPI_ROOT_DIR=%s' % spec['mpi'].prefix])
+ if "+mpi" in spec:
+ options.extend(["-DMEDFILE_USE_MPI=ON", "-DMPI_ROOT_DIR=%s" % spec["mpi"].prefix])
else:
- options.extend(['-DMEDFILE_USE_MPI=OFF'])
+ options.extend(["-DMEDFILE_USE_MPI=OFF"])
- if '+static' in spec:
- options.extend([
- '-DMEDFILE_BUILD_SHARED_LIBS=OFF',
- '-DMEDFILE_BUILD_STATIC_LIBS=ON'])
+ if "+static" in spec:
+ options.extend(["-DMEDFILE_BUILD_SHARED_LIBS=OFF", "-DMEDFILE_BUILD_STATIC_LIBS=ON"])
else:
- options.extend([
- '-DMEDFILE_BUILD_SHARED_LIBS=ON',
- '-DMEDFILE_BUILD_STATIC_LIBS=OFF'])
+ options.extend(["-DMEDFILE_BUILD_SHARED_LIBS=ON", "-DMEDFILE_BUILD_STATIC_LIBS=OFF"])
- if '+fortran' in spec:
- options.extend(['-DCMAKE_Fortran_COMPILER=%s' % self.compiler.fc])
+ if "+fortran" in spec:
+ options.extend(["-DCMAKE_Fortran_COMPILER=%s" % self.compiler.fc])
else:
- options.extend(['-DCMAKE_Fortran_COMPILER='])
-
- options.extend([
- '-DMEDFILE_BUILD_PYTHON=OFF',
- '-DMEDFILE_INSTALL_DOC=OFF',
- '-DMEDFILE_BUILD_TESTS=%s' % self.run_tests,
- '-DHDF5_ROOT_DIR=%s' % spec['hdf5'].prefix])
+ options.extend(["-DCMAKE_Fortran_COMPILER="])
+
+ options.extend(
+ [
+ "-DMEDFILE_BUILD_PYTHON=OFF",
+ "-DMEDFILE_INSTALL_DOC=OFF",
+ "-DMEDFILE_BUILD_TESTS=%s" % self.run_tests,
+ "-DHDF5_ROOT_DIR=%s" % spec["hdf5"].prefix,
+ ]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/salome-medcoupling/package.py b/var/spack/repos/builtin/packages/salome-medcoupling/package.py
index 966465852a..fb6e461648 100644
--- a/var/spack/repos/builtin/packages/salome-medcoupling/package.py
+++ b/var/spack/repos/builtin/packages/salome-medcoupling/package.py
@@ -13,132 +13,133 @@ class SalomeMedcoupling(CMakePackage):
"""salome-medcoupling is a part of SALOME platform to manipulate meshes and
fields in memory, and use salome-med format for files."""
- maintainers = ['franciskloss']
+ maintainers = ["franciskloss"]
homepage = "https://docs.salome-platform.org/latest/dev/MEDCoupling/developer/index.html"
- git = "https://git.salome-platform.org/gitpub/tools/medcoupling.git"
-
- version('9.7.0', tag='V9_7_0')
- version('9.6.0', tag='V9_6_0')
- version('9.5.0', tag='V9_5_0')
- version('9.4.0', tag='V9_4_0')
- version('9.3.0', tag='V9_3_0')
-
- variant('static', default=False, description='Enable static library build')
- variant('mpi', default=False, description='Enable MPI')
- variant('in64', default=False, description='Enable 64 bits indexes')
- variant('partitioner', default=False, description='Enable partitioner')
- variant('metis', default=False, description='Enable Metis')
- variant('scotch', default=False, description='Enable Scotch')
-
- depends_on('libxml2@2.9.1:')
- depends_on('libtirpc')
- depends_on('cppunit')
- depends_on('python@3.6.5:')
- depends_on('py-scipy@0.19.1:', type=('build', 'run'))
- depends_on('py-numpy@1.15.1:', type=('build', 'run'))
- depends_on('boost+python+numpy@1.58.0:')
- depends_on('swig@3.0.12:', type='build')
-
- depends_on('metis@5.1.0:', when='+metis')
- depends_on('scotch@6.0.4:', when='+scotch')
- depends_on('mpi', when='+mpi')
-
- depends_on('salome-configuration@9.7.0', when='@9.7.0')
- depends_on('salome-med@4.1.0+mpi+static', when='@9.7.0+mpi+static')
- depends_on('salome-med@4.1.0+mpi', when='@9.7.0+mpi')
- depends_on('salome-med@4.1.0+static', when='@9.7.0~mpi+static')
- depends_on('salome-med@4.1.0', when='@9.7.0~mpi')
-
- depends_on('salome-configuration@9.6.0', when='@9.6.0')
- depends_on('salome-med@4.1.0+mpi+static', when='@9.6.0+mpi+static')
- depends_on('salome-med@4.1.0+mpi', when='@9.6.0+mpi')
- depends_on('salome-med@4.1.0+static', when='@9.6.0~mpi+static')
- depends_on('salome-med@4.1.0', when='@9.6.0~mpi')
-
- depends_on('salome-configuration@9.5.0', when='@9.5.0')
- depends_on('salome-med@4.1.0+mpi+static', when='@9.5.0+mpi+static')
- depends_on('salome-med@4.1.0+mpi', when='@9.5.0+mpi')
- depends_on('salome-med@4.1.0+static', when='@9.5.0~mpi+static')
- depends_on('salome-med@4.1.0', when='@9.5.0~mpi')
-
- depends_on('salome-configuration@9.4.0', when='@9.4.0')
- depends_on('salome-med@4.0.0+mpi+static', when='@9.4.0+mpi+static')
- depends_on('salome-med@4.0.0+mpi', when='@9.4.0+mpi')
- depends_on('salome-med@4.0.0+static', when='@9.4.0~mpi+static')
- depends_on('salome-med@4.0.0', when='@9.4.0~mpi')
-
- depends_on('salome-configuration@9.3.0', when='@9.3.0')
- depends_on('salome-med@4.0.0+mpi+static', when='@9.3.0+mpi+static')
- depends_on('salome-med@4.0.0+mpi', when='@9.3.0+mpi')
- depends_on('salome-med@4.0.0+static', when='@9.3.0~mpi+static')
- depends_on('salome-med@4.0.0', when='@9.3.0~mpi')
+ git = "https://git.salome-platform.org/gitpub/tools/medcoupling.git"
+
+ version("9.7.0", tag="V9_7_0")
+ version("9.6.0", tag="V9_6_0")
+ version("9.5.0", tag="V9_5_0")
+ version("9.4.0", tag="V9_4_0")
+ version("9.3.0", tag="V9_3_0")
+
+ variant("static", default=False, description="Enable static library build")
+ variant("mpi", default=False, description="Enable MPI")
+ variant("in64", default=False, description="Enable 64 bits indexes")
+ variant("partitioner", default=False, description="Enable partitioner")
+ variant("metis", default=False, description="Enable Metis")
+ variant("scotch", default=False, description="Enable Scotch")
+
+ depends_on("libxml2@2.9.1:")
+ depends_on("libtirpc")
+ depends_on("cppunit")
+ depends_on("python@3.6.5:")
+ depends_on("py-scipy@0.19.1:", type=("build", "run"))
+ depends_on("py-numpy@1.15.1:", type=("build", "run"))
+ depends_on("boost+python+numpy@1.58.0:")
+ depends_on("swig@3.0.12:", type="build")
+
+ depends_on("metis@5.1.0:", when="+metis")
+ depends_on("scotch@6.0.4:", when="+scotch")
+ depends_on("mpi", when="+mpi")
+
+ depends_on("salome-configuration@9.7.0", when="@9.7.0")
+ depends_on("salome-med@4.1.0+mpi+static", when="@9.7.0+mpi+static")
+ depends_on("salome-med@4.1.0+mpi", when="@9.7.0+mpi")
+ depends_on("salome-med@4.1.0+static", when="@9.7.0~mpi+static")
+ depends_on("salome-med@4.1.0", when="@9.7.0~mpi")
+
+ depends_on("salome-configuration@9.6.0", when="@9.6.0")
+ depends_on("salome-med@4.1.0+mpi+static", when="@9.6.0+mpi+static")
+ depends_on("salome-med@4.1.0+mpi", when="@9.6.0+mpi")
+ depends_on("salome-med@4.1.0+static", when="@9.6.0~mpi+static")
+ depends_on("salome-med@4.1.0", when="@9.6.0~mpi")
+
+ depends_on("salome-configuration@9.5.0", when="@9.5.0")
+ depends_on("salome-med@4.1.0+mpi+static", when="@9.5.0+mpi+static")
+ depends_on("salome-med@4.1.0+mpi", when="@9.5.0+mpi")
+ depends_on("salome-med@4.1.0+static", when="@9.5.0~mpi+static")
+ depends_on("salome-med@4.1.0", when="@9.5.0~mpi")
+
+ depends_on("salome-configuration@9.4.0", when="@9.4.0")
+ depends_on("salome-med@4.0.0+mpi+static", when="@9.4.0+mpi+static")
+ depends_on("salome-med@4.0.0+mpi", when="@9.4.0+mpi")
+ depends_on("salome-med@4.0.0+static", when="@9.4.0~mpi+static")
+ depends_on("salome-med@4.0.0", when="@9.4.0~mpi")
+
+ depends_on("salome-configuration@9.3.0", when="@9.3.0")
+ depends_on("salome-med@4.0.0+mpi+static", when="@9.3.0+mpi+static")
+ depends_on("salome-med@4.0.0+mpi", when="@9.3.0+mpi")
+ depends_on("salome-med@4.0.0+static", when="@9.3.0~mpi+static")
+ depends_on("salome-med@4.0.0", when="@9.3.0~mpi")
def check(self):
pass
def setup_build_environment(self, env):
- if '+metis' in self.spec:
- env.set('METIS_ROOT_DIR', self.spec['metis'].prefix)
+ if "+metis" in self.spec:
+ env.set("METIS_ROOT_DIR", self.spec["metis"].prefix)
- if '+scotch' in self.spec:
- env.set('SCOTCH_ROOT_DIR', self.spec['scotch'].prefix)
+ if "+scotch" in self.spec:
+ env.set("SCOTCH_ROOT_DIR", self.spec["scotch"].prefix)
def setup_run_environment(self, env):
env.prepend_path(
- 'PYTHONPATH',
+ "PYTHONPATH",
join_path(
self.prefix.lib,
- 'python{0}'.format(self.spec['python'].version.up_to(2)),
- 'site-packages'))
+ "python{0}".format(self.spec["python"].version.up_to(2)),
+ "site-packages",
+ ),
+ )
def cmake_args(self):
- spec = self.spec
+ spec = self.spec
options = []
- if '+static' in spec:
- options.extend(['-DMEDCOUPLING_BUILD_STATIC=ON'])
+ if "+static" in spec:
+ options.extend(["-DMEDCOUPLING_BUILD_STATIC=ON"])
else:
- options.extend(['-DMEDCOUPLING_BUILD_STATIC=OFF'])
+ options.extend(["-DMEDCOUPLING_BUILD_STATIC=OFF"])
- if '+mpi' in spec:
- options.extend([
- '-DMEDCOUPLING_USE_MPI=ON',
- '-DSALOME_USE_MPI=ON'])
+ if "+mpi" in spec:
+ options.extend(["-DMEDCOUPLING_USE_MPI=ON", "-DSALOME_USE_MPI=ON"])
else:
- options.extend([
- '-DMEDCOUPLING_USE_MPI=OFF',
- '-DSALOME_USE_MPI=OFF'])
+ options.extend(["-DMEDCOUPLING_USE_MPI=OFF", "-DSALOME_USE_MPI=OFF"])
- if '+in64' in spec:
- options.extend(['-DMEDCOUPLING_USE_64BIT_IDS=ON'])
+ if "+in64" in spec:
+ options.extend(["-DMEDCOUPLING_USE_64BIT_IDS=ON"])
else:
- options.extend(['-DMEDCOUPLING_USE_64BIT_IDS=OFF'])
+ options.extend(["-DMEDCOUPLING_USE_64BIT_IDS=OFF"])
- if '+partitioner' in spec:
- options.extend(['-DMEDCOUPLING_ENABLE_PARTITIONER=ON'])
+ if "+partitioner" in spec:
+ options.extend(["-DMEDCOUPLING_ENABLE_PARTITIONER=ON"])
else:
- options.extend(['-DMEDCOUPLING_ENABLE_PARTITIONER=OFF'])
+ options.extend(["-DMEDCOUPLING_ENABLE_PARTITIONER=OFF"])
- if '+metis' in spec:
- options.extend(['-DMEDCOUPLING_ENABLE_PARTITIONER=ON'])
- options.extend(['-DMEDCOUPLING_PARTITIONER_METIS=ON'])
+ if "+metis" in spec:
+ options.extend(["-DMEDCOUPLING_ENABLE_PARTITIONER=ON"])
+ options.extend(["-DMEDCOUPLING_PARTITIONER_METIS=ON"])
else:
- options.extend(['-DMEDCOUPLING_PARTITIONER_METIS=OFF'])
+ options.extend(["-DMEDCOUPLING_PARTITIONER_METIS=OFF"])
- if '+scotch' in spec:
- options.extend(['-DMEDCOUPLING_ENABLE_PARTITIONER=ON'])
- options.extend(['-DMEDCOUPLING_PARTITIONER_SCOTCH=ON'])
+ if "+scotch" in spec:
+ options.extend(["-DMEDCOUPLING_ENABLE_PARTITIONER=ON"])
+ options.extend(["-DMEDCOUPLING_PARTITIONER_SCOTCH=ON"])
else:
- options.extend(['-DMEDCOUPLING_PARTITIONER_SCOTCH=OFF'])
-
- options.extend([
- '-DMEDCOUPLING_BUILD_DOC=OFF',
- '-DMEDCOUPLING_ENABLE_PYTHON=ON',
- '-DMEDCOUPLING_ENABLE_RENUMBER=OFF',
- '-DMEDCOUPLING_PARTITIONER_PARMETIS=OFF',
- '-DMEDCOUPLING_PARTITIONER_PTSCOTCH=OFF',
- '-DMEDCOUPLING_MICROMED=OFF',
- '-DMEDCOUPLING_BUILD_TESTS=OFF'])
+ options.extend(["-DMEDCOUPLING_PARTITIONER_SCOTCH=OFF"])
+
+ options.extend(
+ [
+ "-DMEDCOUPLING_BUILD_DOC=OFF",
+ "-DMEDCOUPLING_ENABLE_PYTHON=ON",
+ "-DMEDCOUPLING_ENABLE_RENUMBER=OFF",
+ "-DMEDCOUPLING_PARTITIONER_PARMETIS=OFF",
+ "-DMEDCOUPLING_PARTITIONER_PTSCOTCH=OFF",
+ "-DMEDCOUPLING_MICROMED=OFF",
+ "-DMEDCOUPLING_BUILD_TESTS=OFF",
+ ]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/sambamba/package.py b/var/spack/repos/builtin/packages/sambamba/package.py
index a6f659b166..eba91c7d5e 100644
--- a/var/spack/repos/builtin/packages/sambamba/package.py
+++ b/var/spack/repos/builtin/packages/sambamba/package.py
@@ -10,24 +10,24 @@ class Sambamba(Package):
"""Sambamba: process your BAM data faster (bioinformatics)"""
homepage = "https://lomereiter.github.io/sambamba/"
- git = "https://github.com/lomereiter/sambamba.git"
+ git = "https://github.com/lomereiter/sambamba.git"
- version('0.6.6', tag='v0.6.6', submodules=True)
+ version("0.6.6", tag="v0.6.6", submodules=True)
- depends_on('ldc~shared', type=('build', 'link'))
- depends_on('python', type='build')
+ depends_on("ldc~shared", type=("build", "link"))
+ depends_on("python", type="build")
resource(
- name='undeaD',
- git='https://github.com/dlang/undeaD.git',
- tag='v1.0.7',
+ name="undeaD",
+ git="https://github.com/dlang/undeaD.git",
+ tag="v1.0.7",
)
- patch('Makefile.patch')
+ patch("Makefile.patch")
parallel = False
def install(self, spec, prefix):
- make('sambamba-ldmd2-64')
+ make("sambamba-ldmd2-64")
mkdirp(prefix.bin)
- for filename in ('build/sambamba', 'build/sambamba.debug'):
+ for filename in ("build/sambamba", "build/sambamba.debug"):
install(filename, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/samblaster/package.py b/var/spack/repos/builtin/packages/samblaster/package.py
index 83b1d64aa0..4af8ed0506 100644
--- a/var/spack/repos/builtin/packages/samblaster/package.py
+++ b/var/spack/repos/builtin/packages/samblaster/package.py
@@ -11,11 +11,11 @@ class Samblaster(MakefilePackage):
sam files."""
homepage = "https://github.com/GregoryFaust/samblaster"
- url = "https://github.com/GregoryFaust/samblaster/archive/v.0.1.24.tar.gz"
+ url = "https://github.com/GregoryFaust/samblaster/archive/v.0.1.24.tar.gz"
- version('0.1.24', sha256='72c42e0a346166ba00152417c82179bd5139636fea859babb06ca855af93d11f')
- version('0.1.23', sha256='0d35ce629771946e3d6fc199025747054e5512bffa1ba4446ed81160fffee57a')
+ version("0.1.24", sha256="72c42e0a346166ba00152417c82179bd5139636fea859babb06ca855af93d11f")
+ version("0.1.23", sha256="0d35ce629771946e3d6fc199025747054e5512bffa1ba4446ed81160fffee57a")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('samblaster', prefix.bin)
+ install("samblaster", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/samrai/package.py b/var/spack/repos/builtin/packages/samrai/package.py
index 3a413ec451..cef1d91fbc 100644
--- a/var/spack/repos/builtin/packages/samrai/package.py
+++ b/var/spack/repos/builtin/packages/samrai/package.py
@@ -9,103 +9,116 @@ from spack.pkg.builtin.boost import Boost
class Samrai(AutotoolsPackage):
"""SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure)
- is an object-oriented C++ software library enables exploration of
- numerical, algorithmic, parallel computing, and software issues
- associated with applying structured adaptive mesh refinement
- (SAMR) technology in large-scale parallel application development.
+ is an object-oriented C++ software library enables exploration of
+ numerical, algorithmic, parallel computing, and software issues
+ associated with applying structured adaptive mesh refinement
+ (SAMR) technology in large-scale parallel application development.
"""
+
homepage = "https://computing.llnl.gov/projects/samrai"
- url = "https://computing.llnl.gov/projects/samrai/download/SAMRAI-v3.11.2.tar.gz"
+ url = "https://computing.llnl.gov/projects/samrai/download/SAMRAI-v3.11.2.tar.gz"
list_url = homepage
- tags = ['radiuss']
+ tags = ["radiuss"]
- version('3.12.0', sha256='b8334aa22330a7c858e09e000dfc62abbfa3c449212b4993ec3c4035bed6b832')
- version('3.11.5', sha256='6ec1f4cf2735284fe41f74073c4f1be87d92184d79401011411be3c0671bd84c')
- version('3.11.4', sha256='fa87f6cc1cb3b3c4856bc3f4d7162b1f9705a200b68a5dc173484f7a71c7ea0a')
+ version("3.12.0", sha256="b8334aa22330a7c858e09e000dfc62abbfa3c449212b4993ec3c4035bed6b832")
+ version("3.11.5", sha256="6ec1f4cf2735284fe41f74073c4f1be87d92184d79401011411be3c0671bd84c")
+ version("3.11.4", sha256="fa87f6cc1cb3b3c4856bc3f4d7162b1f9705a200b68a5dc173484f7a71c7ea0a")
# Version 3.11.3 permissions don't allow downloading
- version('3.11.2', sha256='fd9518cc9fd8c8f6cdd681484c6eb42114aebf2a6ba4c8e1f12b34a148dfdefb')
- version('3.11.1', sha256='14317938e55cb7dc3eca21d9b7667a256a08661c6da988334f7af566a015b327')
- version('3.10.0', sha256='8d6958867f7165396459f4556e439065bc2cd2464bcfe16195a2a68345d56ea7')
- version('3.9.1', sha256='ce0aa9bcb3accbd39c09dd32cbc9884dc00e7a8d53782ba46b8fe7d7d60fc03f')
- version('3.8.0', sha256='0fc811ca83bd72d238f0efb172d466e80e5091db0b78ad00ab6b93331a1fe489')
- version('3.7.3', sha256='19eada4f351a821abccac0779fde85e2ad18b931b6a8110510a4c21707c2f5ce')
- version('3.7.2', sha256='c20c5b12576b73a1a095d8ef54536c4424517adaf472d55d48e57455eda74f2d')
- version('3.6.3-beta', sha256='7d9202355a66b8850333484862627f73ea3d7620ca84cde757dee629ebcb61bb')
- version('3.5.2-beta', sha256='9a591fc962edd56ea073abd13d03027bd530f1e61df595fae42dd9a7f8b9cc3a')
- version('3.5.0-beta', sha256='3e10c55d7b652b6feca902ce782751d4b16c8ad9d4dd8b9e2e9ec74dd64f30da')
- version('3.4.1-beta', sha256='5aadc813b75b65485f221372e174a2691e184e380f569129e7aa4484ca4047f8')
- version('3.3.3-beta', sha256='c07b5dc8d56a8f310239d1ec6be31182a6463fea787a0e10b54a3df479979cac')
- version('3.3.2-beta', sha256='430ea1a77083c8990a3c996572ed15663d9b31c0f8b614537bd7065abd6f375f')
- version('2.4.4', sha256='33242e38e6f4d35bd52f4194bd99a014485b0f3458b268902f69f6c02b35ee5c')
+ version("3.11.2", sha256="fd9518cc9fd8c8f6cdd681484c6eb42114aebf2a6ba4c8e1f12b34a148dfdefb")
+ version("3.11.1", sha256="14317938e55cb7dc3eca21d9b7667a256a08661c6da988334f7af566a015b327")
+ version("3.10.0", sha256="8d6958867f7165396459f4556e439065bc2cd2464bcfe16195a2a68345d56ea7")
+ version("3.9.1", sha256="ce0aa9bcb3accbd39c09dd32cbc9884dc00e7a8d53782ba46b8fe7d7d60fc03f")
+ version("3.8.0", sha256="0fc811ca83bd72d238f0efb172d466e80e5091db0b78ad00ab6b93331a1fe489")
+ version("3.7.3", sha256="19eada4f351a821abccac0779fde85e2ad18b931b6a8110510a4c21707c2f5ce")
+ version("3.7.2", sha256="c20c5b12576b73a1a095d8ef54536c4424517adaf472d55d48e57455eda74f2d")
+ version(
+ "3.6.3-beta", sha256="7d9202355a66b8850333484862627f73ea3d7620ca84cde757dee629ebcb61bb"
+ )
+ version(
+ "3.5.2-beta", sha256="9a591fc962edd56ea073abd13d03027bd530f1e61df595fae42dd9a7f8b9cc3a"
+ )
+ version(
+ "3.5.0-beta", sha256="3e10c55d7b652b6feca902ce782751d4b16c8ad9d4dd8b9e2e9ec74dd64f30da"
+ )
+ version(
+ "3.4.1-beta", sha256="5aadc813b75b65485f221372e174a2691e184e380f569129e7aa4484ca4047f8"
+ )
+ version(
+ "3.3.3-beta", sha256="c07b5dc8d56a8f310239d1ec6be31182a6463fea787a0e10b54a3df479979cac"
+ )
+ version(
+ "3.3.2-beta", sha256="430ea1a77083c8990a3c996572ed15663d9b31c0f8b614537bd7065abd6f375f"
+ )
+ version("2.4.4", sha256="33242e38e6f4d35bd52f4194bd99a014485b0f3458b268902f69f6c02b35ee5c")
# Debug mode reduces optimization, includes assertions, debug symbols
# and more print statements
- variant('debug', default=False,
- description='Compile with reduced optimization and debugging on')
- variant('silo', default=False,
- description='Compile with support for silo')
- variant('shared', default=False,
- description='Build shared libraries')
-
- depends_on('mpi')
- depends_on('zlib')
- depends_on('hdf5+mpi')
- depends_on('m4', type='build')
- depends_on('boost@:1.64.0', when='@3.0.0:3.11', type='build')
+ variant(
+ "debug", default=False, description="Compile with reduced optimization and debugging on"
+ )
+ variant("silo", default=False, description="Compile with support for silo")
+ variant("shared", default=False, description="Build shared libraries")
+
+ depends_on("mpi")
+ depends_on("zlib")
+ depends_on("hdf5+mpi")
+ depends_on("m4", type="build")
+ depends_on("boost@:1.64.0", when="@3.0.0:3.11", type="build")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@3.0.0:3.11.99', type='build')
- depends_on('silo+mpi', when='+silo')
+ depends_on(Boost.with_default_variants, when="@3.0.0:3.11.99", type="build")
+ depends_on("silo+mpi", when="+silo")
# don't build SAMRAI 3+ with tools with gcc
- patch('no-tool-build.patch', when='@3.0.0:%gcc')
+ patch("no-tool-build.patch", when="@3.0.0:%gcc")
# 2.4.4 needs a lot of patches to fix ADL and performance problems
- patch('https://github.com/IBAMR/IBAMR/releases/download/v0.3.0/ibamr-samrai-fixes.patch?full_index=1',
- sha256='1d088b6cca41377747fa0ae8970440c20cb68988bbc34f9032d5a4e6aceede47',
- when='@2.4.4')
+ patch(
+ "https://github.com/IBAMR/IBAMR/releases/download/v0.3.0/ibamr-samrai-fixes.patch?full_index=1",
+ sha256="1d088b6cca41377747fa0ae8970440c20cb68988bbc34f9032d5a4e6aceede47",
+ when="@2.4.4",
+ )
def configure_args(self):
options = []
- options.extend([
- '--with-CXX=%s' % self.spec['mpi'].mpicxx,
- '--with-CC=%s' % self.spec['mpi'].mpicc,
- '--with-F77=%s' % self.spec['mpi'].mpifc,
- '--with-M4=%s' % self.spec['m4'].prefix,
- '--with-hdf5=%s' % self.spec['hdf5'].prefix,
- '--with-zlib=%s' % self.spec['zlib'].prefix,
- '--without-blas',
- '--without-lapack',
- '--with-hypre=no',
- '--with-petsc=no'])
+ options.extend(
+ [
+ "--with-CXX=%s" % self.spec["mpi"].mpicxx,
+ "--with-CC=%s" % self.spec["mpi"].mpicc,
+ "--with-F77=%s" % self.spec["mpi"].mpifc,
+ "--with-M4=%s" % self.spec["m4"].prefix,
+ "--with-hdf5=%s" % self.spec["hdf5"].prefix,
+ "--with-zlib=%s" % self.spec["zlib"].prefix,
+ "--without-blas",
+ "--without-lapack",
+ "--with-hypre=no",
+ "--with-petsc=no",
+ ]
+ )
# SAMRAI 2 used templates; enable implicit instantiation
- if self.spec.satisfies('@:3'):
- options.append('--enable-implicit-template-instantiation')
+ if self.spec.satisfies("@:3"):
+ options.append("--enable-implicit-template-instantiation")
- if '+debug' in self.spec:
- options.extend([
- '--disable-opt',
- '--enable-debug'])
+ if "+debug" in self.spec:
+ options.extend(["--disable-opt", "--enable-debug"])
else:
- options.extend([
- '--enable-opt',
- '--disable-debug'])
+ options.extend(["--enable-opt", "--disable-debug"])
- if '+silo' in self.spec:
- options.append('--with-silo=%s' % self.spec['silo'].prefix)
+ if "+silo" in self.spec:
+ options.append("--with-silo=%s" % self.spec["silo"].prefix)
- if '+shared' in self.spec:
- options.append('--enable-shared')
+ if "+shared" in self.spec:
+ options.append("--enable-shared")
- if self.spec.satisfies('@3.0:3.11'):
- options.append('--with-boost=%s' % self.spec['boost'].prefix)
+ if self.spec.satisfies("@3.0:3.11"):
+ options.append("--with-boost=%s" % self.spec["boost"].prefix)
return options
def setup_dependent_build_environment(self, env, dependent_spec):
- if self.spec.satisfies('@3.12:'):
- env.append_flags('CXXFLAGS', self.compiler.cxx11_flag)
+ if self.spec.satisfies("@3.12:"):
+ env.append_flags("CXXFLAGS", self.compiler.cxx11_flag)
diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py
index c589e42da8..c44c36008f 100644
--- a/var/spack/repos/builtin/packages/samtools/package.py
+++ b/var/spack/repos/builtin/packages/samtools/package.py
@@ -8,73 +8,77 @@ from spack.package import *
class Samtools(Package):
"""SAM Tools provide various utilities for manipulating alignments in
- the SAM format, including sorting, merging, indexing and generating
- alignments in a per-position format"""
+ the SAM format, including sorting, merging, indexing and generating
+ alignments in a per-position format"""
homepage = "https://www.htslib.org"
- url = "https://github.com/samtools/samtools/releases/download/1.13/samtools-1.13.tar.bz2"
+ url = "https://github.com/samtools/samtools/releases/download/1.13/samtools-1.13.tar.bz2"
- version('1.14', sha256='9341dabaa98b0ea7d60fd47e42af25df43a7d3d64d8e654cdf852974546b7d74')
- version('1.13', sha256='616ca2e051cc8009a1e9c01cfd8c7caf8b70916ddff66f3b76914079465f8c60')
- version('1.12', sha256='6da3770563b1c545ca8bdf78cf535e6d1753d6383983c7929245d5dba2902dcb')
- version('1.10', sha256='7b9ec5f05d61ec17bd9a82927e45d8ef37f813f79eb03fe06c88377f1bd03585')
- version('1.9', sha256='083f688d7070082411c72c27372104ed472ed7a620591d06f928e653ebc23482')
- version('1.8', sha256='c942bc1d9b85fd1b05ea79c5afd2805d489cd36b2c2d8517462682a4d779be16')
- version('1.7', sha256='e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1')
- version('1.6', sha256='ee5cd2c8d158a5969a6db59195ff90923c662000816cc0c41a190b2964dbe49e')
- version('1.5', sha256='8542da26832ee08c1978713f5f6188ff750635b50d8ab126a0c7bb2ac1ae2df6')
- version('1.4', sha256='9aae5bf835274981ae22d385a390b875aef34db91e6355337ca8b4dd2960e3f4')
- version('1.3.1', sha256='6c3d74355e9cf2d9b2e1460273285d154107659efa36a155704b1e4358b7d67e')
- version('1.2', sha256='420e7a4a107fe37619b9d300b6379452eb8eb04a4a9b65c3ec69de82ccc26daa')
- version('0.1.8', sha256='343daf96f035c499c5b82dce7b4d96b10473308277e40c435942b6449853815b',
- url="https://github.com/samtools/samtools/archive/0.1.8.tar.gz")
+ version("1.14", sha256="9341dabaa98b0ea7d60fd47e42af25df43a7d3d64d8e654cdf852974546b7d74")
+ version("1.13", sha256="616ca2e051cc8009a1e9c01cfd8c7caf8b70916ddff66f3b76914079465f8c60")
+ version("1.12", sha256="6da3770563b1c545ca8bdf78cf535e6d1753d6383983c7929245d5dba2902dcb")
+ version("1.10", sha256="7b9ec5f05d61ec17bd9a82927e45d8ef37f813f79eb03fe06c88377f1bd03585")
+ version("1.9", sha256="083f688d7070082411c72c27372104ed472ed7a620591d06f928e653ebc23482")
+ version("1.8", sha256="c942bc1d9b85fd1b05ea79c5afd2805d489cd36b2c2d8517462682a4d779be16")
+ version("1.7", sha256="e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1")
+ version("1.6", sha256="ee5cd2c8d158a5969a6db59195ff90923c662000816cc0c41a190b2964dbe49e")
+ version("1.5", sha256="8542da26832ee08c1978713f5f6188ff750635b50d8ab126a0c7bb2ac1ae2df6")
+ version("1.4", sha256="9aae5bf835274981ae22d385a390b875aef34db91e6355337ca8b4dd2960e3f4")
+ version("1.3.1", sha256="6c3d74355e9cf2d9b2e1460273285d154107659efa36a155704b1e4358b7d67e")
+ version("1.2", sha256="420e7a4a107fe37619b9d300b6379452eb8eb04a4a9b65c3ec69de82ccc26daa")
+ version(
+ "0.1.8",
+ sha256="343daf96f035c499c5b82dce7b4d96b10473308277e40c435942b6449853815b",
+ url="https://github.com/samtools/samtools/archive/0.1.8.tar.gz",
+ )
- depends_on('zlib')
- depends_on('ncurses')
- depends_on('perl', type='run')
- depends_on('python', type='run')
+ depends_on("zlib")
+ depends_on("ncurses")
+ depends_on("perl", type="run")
+ depends_on("python", type="run")
# htslib became standalone @1.3.1, must use corresponding version
- depends_on('htslib@1.14', when='@1.14')
- depends_on('htslib@1.13', when='@1.13')
- depends_on('htslib@1.12', when='@1.12')
- depends_on('htslib@1.11', when='@1.11')
- 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')
- depends_on('htslib@1.7', when='@1.7')
- depends_on('htslib@1.6', when='@1.6')
- depends_on('htslib@1.5', when='@1.5')
- depends_on('htslib@1.4', when='@1.4')
- depends_on('htslib@1.3.1', when='@1.3.1')
+ depends_on("htslib@1.14", when="@1.14")
+ depends_on("htslib@1.13", when="@1.13")
+ depends_on("htslib@1.12", when="@1.12")
+ depends_on("htslib@1.11", when="@1.11")
+ 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")
+ depends_on("htslib@1.7", when="@1.7")
+ depends_on("htslib@1.6", when="@1.6")
+ depends_on("htslib@1.5", when="@1.5")
+ depends_on("htslib@1.4", when="@1.4")
+ depends_on("htslib@1.3.1", when="@1.3.1")
def install(self, spec, prefix):
- if '+termlib' in spec['ncurses']:
- curses_lib = '-lncursesw -ltinfow'
+ if "+termlib" in spec["ncurses"]:
+ curses_lib = "-lncursesw -ltinfow"
else:
- curses_lib = '-lncursesw'
+ curses_lib = "-lncursesw"
- if self.spec.version >= Version('1.3.1'):
- configure('--prefix={0}'.format(prefix),
- '--with-htslib={0}'.format(self.spec['htslib'].prefix),
- '--with-ncurses',
- 'CURSES_LIB={0}'.format(curses_lib))
+ if self.spec.version >= Version("1.3.1"):
+ configure(
+ "--prefix={0}".format(prefix),
+ "--with-htslib={0}".format(self.spec["htslib"].prefix),
+ "--with-ncurses",
+ "CURSES_LIB={0}".format(curses_lib),
+ )
make()
- make('install')
+ make("install")
else:
- make('prefix={0}'.format(prefix),
- 'LIBCURSES={0}'.format(curses_lib))
- if self.spec.version == Version('0.1.8'):
- make('prefix={0}'.format(prefix))
+ make("prefix={0}".format(prefix), "LIBCURSES={0}".format(curses_lib))
+ if self.spec.version == Version("0.1.8"):
+ make("prefix={0}".format(prefix))
else:
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
# Install dev headers and libs for legacy apps depending on them
# per https://github.com/samtools/samtools/releases/tag/1.14
# these have been removed (bam.h still exists but paired down)
- if spec.satisfies('@:1.13'):
+ if spec.satisfies("@:1.13"):
mkdir(prefix.include)
mkdir(prefix.lib)
- install('sam.h', prefix.include)
- install('bam.h', prefix.include)
- install('libbam.a', prefix.lib)
+ install("sam.h", prefix.include)
+ install("bam.h", prefix.include)
+ install("libbam.a", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/sandbox/package.py b/var/spack/repos/builtin/packages/sandbox/package.py
index 122e4183e2..cffc808921 100644
--- a/var/spack/repos/builtin/packages/sandbox/package.py
+++ b/var/spack/repos/builtin/packages/sandbox/package.py
@@ -10,8 +10,8 @@ class Sandbox(AutotoolsPackage):
"""sandbox'd LD_PRELOAD hack by Gentoo Linux"""
homepage = "https://www.gentoo.org/proj/en/portage/sandbox/"
- url = "https://dev.gentoo.org/~mgorny/dist/sandbox-2.12.tar.xz"
+ url = "https://dev.gentoo.org/~mgorny/dist/sandbox-2.12.tar.xz"
- version('2.12', sha256='265a490a8c528237c55ad26dfd7f62336fa5727c82358fc9cfbaa2e52c47fc50')
+ version("2.12", sha256="265a490a8c528237c55ad26dfd7f62336fa5727c82358fc9cfbaa2e52c47fc50")
- depends_on('gawk', type='build')
+ depends_on("gawk", type="build")
diff --git a/var/spack/repos/builtin/packages/satsuma2/package.py b/var/spack/repos/builtin/packages/satsuma2/package.py
index 41ab18359e..1b59cc03c5 100644
--- a/var/spack/repos/builtin/packages/satsuma2/package.py
+++ b/var/spack/repos/builtin/packages/satsuma2/package.py
@@ -8,22 +8,23 @@ from spack.package import *
class Satsuma2(CMakePackage):
"""Satsuma2 is an optimsed version of Satsuma, a tool to reliably align
- large and complex DNA sequences providing maximum sensitivity (to find
- all there is to find), specificity (to only find real homology) and
- speed (to accomodate the billions of base pairs in vertebrate genomes).
+ large and complex DNA sequences providing maximum sensitivity (to find
+ all there is to find), specificity (to only find real homology) and
+ speed (to accomodate the billions of base pairs in vertebrate genomes).
"""
homepage = "https://github.com/bioinfologics/satsuma2"
- git = "https://github.com/bioinfologics/satsuma2.git"
+ git = "https://github.com/bioinfologics/satsuma2.git"
- version('2021-03-04', commit='37c5f386819614cd3ce96016b423ddc4df1d86ec')
- version('2016-11-22', commit='da694aeecf352e344b790bea4a7aaa529f5b69e6')
+ version("2021-03-04", commit="37c5f386819614cd3ce96016b423ddc4df1d86ec")
+ version("2016-11-22", commit="da694aeecf352e344b790bea4a7aaa529f5b69e6")
- maintainers = ['snehring']
+ maintainers = ["snehring"]
def patch(self):
- filter_file('(^#include <unistd.h>$)', '\\1\n#include <memory>',
- 'analysis/SatsumaSynteny2.cc')
+ filter_file(
+ "(^#include <unistd.h>$)", "\\1\n#include <memory>", "analysis/SatsumaSynteny2.cc"
+ )
def install(self, spec, prefix):
- install_tree(join_path(self.build_directory, 'bin'), prefix.bin)
+ install_tree(join_path(self.build_directory, "bin"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/savanna/package.py b/var/spack/repos/builtin/packages/savanna/package.py
index db2bdee8cf..e8656f7d61 100644
--- a/var/spack/repos/builtin/packages/savanna/package.py
+++ b/var/spack/repos/builtin/packages/savanna/package.py
@@ -12,18 +12,18 @@ class Savanna(MakefilePackage):
"""
homepage = "https://github.com/CODARcode/savanna"
- git = "https://github.com/CODARcode/savanna.git"
+ git = "https://github.com/CODARcode/savanna.git"
- version('develop', branch='master', submodules=True)
- version('0.5', tag='0.5', submodules=True)
+ version("develop", branch="master", submodules=True)
+ version("0.5", tag="0.5", submodules=True)
- variant('tau', default=False, description='Enable TAU profiling support')
+ variant("tau", default=False, description="Enable TAU profiling support")
- depends_on('mpi')
- depends_on('stc')
- depends_on('adios +fortran +zlib +sz +zfp staging=dataspaces') # flexpath
- depends_on('mpix-launch-swift')
- depends_on('tau', when='+tau')
+ depends_on("mpi")
+ depends_on("stc")
+ depends_on("adios +fortran +zlib +sz +zfp staging=dataspaces") # flexpath
+ depends_on("mpix-launch-swift")
+ depends_on("tau", when="+tau")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/saws/package.py b/var/spack/repos/builtin/packages/saws/package.py
index 3ec1253413..222905aa2f 100644
--- a/var/spack/repos/builtin/packages/saws/package.py
+++ b/var/spack/repos/builtin/packages/saws/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class Saws(AutotoolsPackage):
"""The Scientific Application Web server (SAWs) turns any C or C++
- scientific or engineering application code into a webserver,
- allowing one to examine (and even modify) the state of the
- simulation with any browser from anywhere."""
+ scientific or engineering application code into a webserver,
+ allowing one to examine (and even modify) the state of the
+ simulation with any browser from anywhere."""
homepage = "https://bitbucket.org/saws/saws/wiki/Home"
- git = "https://bitbucket.org/saws/saws.git"
+ git = "https://bitbucket.org/saws/saws.git"
- version('develop', tag='master')
- version('0.1.1', tag='v0.1.1')
- version('0.1.0', tag='v0.1.0')
+ version("develop", tag="master")
+ version("0.1.1", tag="v0.1.1")
+ version("0.1.0", tag="v0.1.0")
- depends_on('python', type='build')
+ depends_on("python", type="build")
diff --git a/var/spack/repos/builtin/packages/sblim-sfcc/package.py b/var/spack/repos/builtin/packages/sblim-sfcc/package.py
index 981dfb726f..9720af50cb 100644
--- a/var/spack/repos/builtin/packages/sblim-sfcc/package.py
+++ b/var/spack/repos/builtin/packages/sblim-sfcc/package.py
@@ -10,14 +10,14 @@ class SblimSfcc(AutotoolsPackage):
"""Small Footprint CIM Client Library"""
homepage = "https://sourceforge.net/projects/sblim"
- url = "https://github.com/kkaempf/sblim-sfcc/archive/SFCC_2_2_1.tar.gz"
+ url = "https://github.com/kkaempf/sblim-sfcc/archive/SFCC_2_2_1.tar.gz"
- version('2_2_8', sha256='d8d0bf06a487483df507f512ddf0c7b2c1b878a1c9b039bf5c2357c4ba13b882')
- version('2_2_7', sha256='bb85bc75efd112411eb76e83a38413a33b3fb8b6b725c8d08fe326efcbea427f')
- version('2_2_6', sha256='65a8b70047c449f8b60e519ec1a47aa50b6476d3876a698e8484467650e9ee78')
+ version("2_2_8", sha256="d8d0bf06a487483df507f512ddf0c7b2c1b878a1c9b039bf5c2357c4ba13b882")
+ version("2_2_7", sha256="bb85bc75efd112411eb76e83a38413a33b3fb8b6b725c8d08fe326efcbea427f")
+ version("2_2_6", sha256="65a8b70047c449f8b60e519ec1a47aa50b6476d3876a698e8484467650e9ee78")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('curl')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("curl")
diff --git a/var/spack/repos/builtin/packages/sbml/package.py b/var/spack/repos/builtin/packages/sbml/package.py
index 7061c3fc71..0f1ef41474 100644
--- a/var/spack/repos/builtin/packages/sbml/package.py
+++ b/var/spack/repos/builtin/packages/sbml/package.py
@@ -10,63 +10,56 @@ class Sbml(CMakePackage):
"""Library for the Systems Biology Markup Language"""
homepage = "https://sbml.org"
- maintainers = ['rblake-llnl']
-
- version('5.18.0', sha256='6c01be2306ec0c9656b59cb082eb7b90176c39506dd0f912b02e08298a553360')
- version('5.17.0', sha256='189216e1472777e4464b791c506b79267d07a5454cb23ac991452711f8e0ed3a')
- version('5.16.0', sha256='c6855481434dd2a667fef73e1ff2feade509aa2f3a76d4d06e29022975ce1496')
- version('5.15.0', sha256='c779c2a8a97c5480fe044028099d928a327261fb68cf08657ec8d4f3b3fc0a21')
- version('5.13.0', sha256='e58430edb1b454d7414bcf1be0549bf6860a6d19d73232eb58211559485c2c05')
- version('5.12.0', sha256='c637494b19269947fc90ebe479b624d36f80d1cb5569e45cd76ddde81dd28ae4')
- version('5.11.4', sha256='6429188b689b331b0b8f2c8b55b3f2339196ccd4c93191648fa767e1d02152a3')
- version('5.11.0', sha256='b21931ca7461494915c617b30d4a9f2cafe831d6ce74989b3e5874e6e3c3f72b')
- version('5.10.2', sha256='83f32a143cf657672b1050f5f79d3591c418fc59570d180fb1f39b103f4e5286')
- version('5.10.0', sha256='2cd8b37018ce8b1df869c8c182803addbce6d451512ae25a7f527b49981f0966')
+ maintainers = ["rblake-llnl"]
+
+ version("5.18.0", sha256="6c01be2306ec0c9656b59cb082eb7b90176c39506dd0f912b02e08298a553360")
+ version("5.17.0", sha256="189216e1472777e4464b791c506b79267d07a5454cb23ac991452711f8e0ed3a")
+ version("5.16.0", sha256="c6855481434dd2a667fef73e1ff2feade509aa2f3a76d4d06e29022975ce1496")
+ version("5.15.0", sha256="c779c2a8a97c5480fe044028099d928a327261fb68cf08657ec8d4f3b3fc0a21")
+ version("5.13.0", sha256="e58430edb1b454d7414bcf1be0549bf6860a6d19d73232eb58211559485c2c05")
+ version("5.12.0", sha256="c637494b19269947fc90ebe479b624d36f80d1cb5569e45cd76ddde81dd28ae4")
+ version("5.11.4", sha256="6429188b689b331b0b8f2c8b55b3f2339196ccd4c93191648fa767e1d02152a3")
+ version("5.11.0", sha256="b21931ca7461494915c617b30d4a9f2cafe831d6ce74989b3e5874e6e3c3f72b")
+ version("5.10.2", sha256="83f32a143cf657672b1050f5f79d3591c418fc59570d180fb1f39b103f4e5286")
+ version("5.10.0", sha256="2cd8b37018ce8b1df869c8c182803addbce6d451512ae25a7f527b49981f0966")
def url_for_version(self, version):
- url = "https://downloads.sourceforge.net/project/sbml/libsbml/{0}/stable/libSBML-{1}-core-plus-packages-src.tar.gz".format(version, version)
+ url = "https://downloads.sourceforge.net/project/sbml/libsbml/{0}/stable/libSBML-{1}-core-plus-packages-src.tar.gz".format(
+ version, version
+ )
return url
- variant('python', default=False,
- description='Build with python support')
- depends_on('python', when="+python")
+ variant("python", default=False, description="Build with python support")
+ depends_on("python", when="+python")
- variant('perl', default=False,
- description='Build with perl support')
- depends_on('perl', when="+perl")
+ variant("perl", default=False, description="Build with perl support")
+ depends_on("perl", when="+perl")
- variant('ruby', default=False,
- description='Build with ruby support')
- depends_on('ruby', when="+ruby")
+ variant("ruby", default=False, description="Build with ruby support")
+ depends_on("ruby", when="+ruby")
- variant('r', default=False,
- description='Build with R support')
- depends_on('r', when="+r")
+ variant("r", default=False, description="Build with R support")
+ depends_on("r", when="+r")
- variant('octave', default=False,
- description='Build with octave support')
- depends_on('octave', when="+octave")
+ variant("octave", default=False, description="Build with octave support")
+ depends_on("octave", when="+octave")
- variant('matlab', default=False,
- description='Build with matlab support')
- depends_on('matlab', when="+matlab")
+ variant("matlab", default=False, description="Build with matlab support")
+ depends_on("matlab", when="+matlab")
- variant('java', default=False,
- description='Build with java support')
- depends_on('java', when="+java")
+ variant("java", default=False, description="Build with java support")
+ depends_on("java", when="+java")
- variant('mono', default=False,
- description='Build with mono support')
- depends_on('mono', when="+mono")
+ variant("mono", default=False, description="Build with mono support")
+ depends_on("mono", when="+mono")
- variant('cpp', default=False,
- description="All c++ includes should be under a namespace")
+ variant("cpp", default=False, description="All c++ includes should be under a namespace")
- depends_on('swig@2:', type='build')
- depends_on('cmake', type='build')
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('libxml2')
+ depends_on("swig@2:", type="build")
+ depends_on("cmake", type="build")
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("libxml2")
def cmake_args(self):
spec = self.spec
@@ -88,38 +81,44 @@ class Sbml(CMakePackage):
"-DWITH_XERCES:BOOL=OFF",
"-DWITH_ZLIB:BOOL=ON",
]
- args.append(self.define_from_variant('WITH_CPP_NAMESPACE', 'cpp'))
- if '+python' in spec:
- args.extend([
- "-DWITH_PYTHON:BOOL=ON",
- "-DWITH_PYTHON_INCLUDE:PATH=%s" % spec['python'].prefix,
- ])
+ args.append(self.define_from_variant("WITH_CPP_NAMESPACE", "cpp"))
+ if "+python" in spec:
+ args.extend(
+ [
+ "-DWITH_PYTHON:BOOL=ON",
+ "-DWITH_PYTHON_INCLUDE:PATH=%s" % spec["python"].prefix,
+ ]
+ )
else:
- args.append('-DWITH_PYTHON:BOOL=OFF')
-
- args.append(self.define_from_variant('WITH_CSHARP', 'mono'))
-
- if '+java' in spec:
- args.extend([
- "-DWITH_JAVA:BOOL=ON",
- "-DJDK_PATH:STRING=%s" % spec['java'].prefix,
- "-DJAVA_INCLUDE_PATH:STRING=%s" % spec['java'].prefix,
- ])
+ args.append("-DWITH_PYTHON:BOOL=OFF")
+
+ args.append(self.define_from_variant("WITH_CSHARP", "mono"))
+
+ if "+java" in spec:
+ args.extend(
+ [
+ "-DWITH_JAVA:BOOL=ON",
+ "-DJDK_PATH:STRING=%s" % spec["java"].prefix,
+ "-DJAVA_INCLUDE_PATH:STRING=%s" % spec["java"].prefix,
+ ]
+ )
else:
- args.append('-DWITH_JAVA:BOOL=OFF')
-
- if '+matlab' in spec:
- args.extend([
- "-DWITH_MATLAB:BOOL=ON",
- "-DMATLAB_ROOT_PATH:PATH=%s" % spec['matlab'].prefix,
- "-DWITH_MATLAB_MEX:BOOL=ON",
- ])
+ args.append("-DWITH_JAVA:BOOL=OFF")
+
+ if "+matlab" in spec:
+ args.extend(
+ [
+ "-DWITH_MATLAB:BOOL=ON",
+ "-DMATLAB_ROOT_PATH:PATH=%s" % spec["matlab"].prefix,
+ "-DWITH_MATLAB_MEX:BOOL=ON",
+ ]
+ )
else:
- args.append('-DWITH_MATLAB:BOOL=OFF')
+ args.append("-DWITH_MATLAB:BOOL=OFF")
- args.append(self.define_from_variant('WITH_OCTAVE', 'octave'))
- args.append(self.define_from_variant('WITH_PERL', 'perl'))
- args.append(self.define_from_variant('WITH_R', 'r'))
- args.append(self.define_from_variant('WITH_RUBY', 'ruby'))
+ args.append(self.define_from_variant("WITH_OCTAVE", "octave"))
+ args.append(self.define_from_variant("WITH_PERL", "perl"))
+ args.append(self.define_from_variant("WITH_R", "r"))
+ args.append(self.define_from_variant("WITH_RUBY", "ruby"))
return args
diff --git a/var/spack/repos/builtin/packages/sbp/package.py b/var/spack/repos/builtin/packages/sbp/package.py
index 0580cf1ad7..dfffe5e8cc 100644
--- a/var/spack/repos/builtin/packages/sbp/package.py
+++ b/var/spack/repos/builtin/packages/sbp/package.py
@@ -9,19 +9,19 @@ from spack.package 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'
+ homepage = "https://github.com/swift-nav/libsbp"
+ git = "https://github.com/swift-nav/libsbp"
- maintainers = ['jayvdb']
+ maintainers = ["jayvdb"]
- version('3.4.10', tag='v3.4.10', submodules=True)
+ version("3.4.10", tag="v3.4.10", submodules=True)
- root_cmakelists_dir = 'c'
+ 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'),
+ self.define("BUILD_SHARED_LIBS", "ON"),
+ self.define("libsbp_ENABLE_TESTS", "OFF"),
+ self.define("libsbp_ENABLE_DOCS", "OFF"),
]
return args
diff --git a/var/spack/repos/builtin/packages/sbt/package.py b/var/spack/repos/builtin/packages/sbt/package.py
index 85f1ee3b70..6114828fc9 100644
--- a/var/spack/repos/builtin/packages/sbt/package.py
+++ b/var/spack/repos/builtin/packages/sbt/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class Sbt(Package):
"""Scala Build Tool"""
- homepage = 'https://www.scala-sbt.org'
- url = "https://github.com/sbt/sbt/releases/download/v1.1.4/sbt-1.1.4.tgz"
+ 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')
- version('1.1.5', sha256='8303d7496bc70eb441e8136bd29ffc295c629dadecefa4e7a475176ab4d282d5')
- version('1.1.4', sha256='2fbd592b1cfd7bc3612154a32925d5843b602490e8c8977a53fa86b35e308341')
- version('0.13.17', sha256='25f782ccb2ad6d54e13ce6cec0afa3d2328874c508d68ee34e2f742e99f2c847')
+ version("1.1.6", sha256="f545b530884e3abbca026df08df33d5a15892e6d98da5b8c2297413d1c7b68c1")
+ version("1.1.5", sha256="8303d7496bc70eb441e8136bd29ffc295c629dadecefa4e7a475176ab4d282d5")
+ version("1.1.4", sha256="2fbd592b1cfd7bc3612154a32925d5843b602490e8c8977a53fa86b35e308341")
+ version("0.13.17", sha256="25f782ccb2ad6d54e13ce6cec0afa3d2328874c508d68ee34e2f742e99f2c847")
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('conf', prefix.conf)
+ install_tree("bin", prefix.bin)
+ install_tree("conf", prefix.conf)
diff --git a/var/spack/repos/builtin/packages/scala/package.py b/var/spack/repos/builtin/packages/scala/package.py
index 271fcecd57..7faf940268 100644
--- a/var/spack/repos/builtin/packages/scala/package.py
+++ b/var/spack/repos/builtin/packages/scala/package.py
@@ -17,22 +17,21 @@ class Scala(Package):
homepage = "https://www.scala-lang.org/"
url = "https://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz"
- version('2.13.1', sha256='6918ccc494e34810a7254ad2c4e6f0e1183784c22e7b4801b7dbc8d1994a04db')
- version('2.12.10', sha256='3b12bda3300fedd91f64fc7f9165fd45c58328b1b760af24ca6ffe92e3b0656a')
- version('2.12.6', sha256='1ac7444c5a85ed1ea45db4a268ee9ea43adf80e7f5724222863afb5492883416')
- version('2.12.5', sha256='b261ffe9a495b12e9dda2ed37331e579547e4d1b8b5810161b6c3b39ac806aa1')
- version('2.12.1', sha256='4db068884532a3e27010df17befaca0f06ea50f69433d58e06a5e63c7a3cc359')
- version('2.11.11', sha256='12037ca64c68468e717e950f47fc77d5ceae5e74e3bdca56f6d02fd5bfd6900b')
- version('2.10.6', sha256='54adf583dae6734d66328cafa26d9fa03b8c4cf607e27b9f3915f96e9bcd2d67')
+ version("2.13.1", sha256="6918ccc494e34810a7254ad2c4e6f0e1183784c22e7b4801b7dbc8d1994a04db")
+ version("2.12.10", sha256="3b12bda3300fedd91f64fc7f9165fd45c58328b1b760af24ca6ffe92e3b0656a")
+ version("2.12.6", sha256="1ac7444c5a85ed1ea45db4a268ee9ea43adf80e7f5724222863afb5492883416")
+ version("2.12.5", sha256="b261ffe9a495b12e9dda2ed37331e579547e4d1b8b5810161b6c3b39ac806aa1")
+ version("2.12.1", sha256="4db068884532a3e27010df17befaca0f06ea50f69433d58e06a5e63c7a3cc359")
+ version("2.11.11", sha256="12037ca64c68468e717e950f47fc77d5ceae5e74e3bdca56f6d02fd5bfd6900b")
+ version("2.10.6", sha256="54adf583dae6734d66328cafa26d9fa03b8c4cf607e27b9f3915f96e9bcd2d67")
- depends_on('java')
+ depends_on("java")
def install(self, spec, prefix):
-
def install_dir(dirname):
install_tree(dirname, join_path(prefix, dirname))
- install_dir('bin')
- install_dir('lib')
- install_dir('doc')
- install_dir('man')
+ install_dir("bin")
+ install_dir("lib")
+ install_dir("doc")
+ install_dir("man")
diff --git a/var/spack/repos/builtin/packages/scalasca/package.py b/var/spack/repos/builtin/packages/scalasca/package.py
index 4148a57b1f..65728598a0 100644
--- a/var/spack/repos/builtin/packages/scalasca/package.py
+++ b/var/spack/repos/builtin/packages/scalasca/package.py
@@ -9,10 +9,10 @@ from spack.package import *
class Scalasca(AutotoolsPackage):
"""Scalasca is a software tool that supports the performance optimization
- of parallel programs by measuring and analyzing their runtime
- behavior. The analysis identifies potential performance
- bottlenecks - in particular those concerning communication and
- synchronization - and offers guidance in exploring their causes.
+ of parallel programs by measuring and analyzing their runtime
+ behavior. The analysis identifies potential performance
+ bottlenecks - in particular those concerning communication and
+ synchronization - and offers guidance in exploring their causes.
"""
@@ -20,47 +20,49 @@ class Scalasca(AutotoolsPackage):
url = "https://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"
- version('2.6', sha256='b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e')
- version('2.5', sha256='7dfa01e383bfb8a4fd3771c9ea98ff43772e415009d9f3c5f63b9e05f2dde0f6')
- version('2.4', sha256='4a895868258030f700a635eac93d36764f60c8c63673c7db419ea4bcc6b0b760')
- version('2.3.1', sha256='8ff485d03ab2c02a5852d346ae041a191c60b4295f8f9b87fe58cd36977ba558')
- version('2.2.2', sha256='909567ca294366119bbcb7e8122b94f43982cbb328e18c6f6ce7a722d72cd6d4')
- version('2.1', sha256='fefe43f10becf7893863380546c80ac8db171a3b1ebf97d0258602667572c2fc')
+ version("2.6", sha256="b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e")
+ version("2.5", sha256="7dfa01e383bfb8a4fd3771c9ea98ff43772e415009d9f3c5f63b9e05f2dde0f6")
+ version("2.4", sha256="4a895868258030f700a635eac93d36764f60c8c63673c7db419ea4bcc6b0b760")
+ version("2.3.1", sha256="8ff485d03ab2c02a5852d346ae041a191c60b4295f8f9b87fe58cd36977ba558")
+ version("2.2.2", sha256="909567ca294366119bbcb7e8122b94f43982cbb328e18c6f6ce7a722d72cd6d4")
+ version("2.1", sha256="fefe43f10becf7893863380546c80ac8db171a3b1ebf97d0258602667572c2fc")
depends_on("mpi")
# version 2.4+
- depends_on('cubew@4.4:', when='@2.4:')
- depends_on('scorep@6.0:', when='@2.4:', type=('run'))
+ depends_on("cubew@4.4:", when="@2.4:")
+ depends_on("scorep@6.0:", when="@2.4:", type=("run"))
# version 2.3+
- depends_on('otf2@2:', when='@2.3:')
+ depends_on("otf2@2:", when="@2.3:")
# version 2.3
- depends_on('cube@4.3', when='@2.3:2.3.99')
+ depends_on("cube@4.3", when="@2.3:2.3.99")
# version 2.1 - 2.2
- depends_on('cube@4.2', when='@2.1:2.2')
- depends_on('otf2@1.4', when='@2.1:2.2')
+ depends_on("cube@4.2", when="@2.1:2.2")
+ depends_on("otf2@1.4", when="@2.1:2.2")
def url_for_version(self, version):
- return 'http://apps.fz-juelich.de/scalasca/releases/scalasca/{0}/dist/scalasca-{1}.tar.gz'.format(version.up_to(2), version)
+ return "http://apps.fz-juelich.de/scalasca/releases/scalasca/{0}/dist/scalasca-{1}.tar.gz".format(
+ version.up_to(2), version
+ )
def configure_args(self):
spec = self.spec
config_args = ["--enable-shared"]
- if spec.satisfies('@2.4:'):
- config_args.append("--with-cube=%s" % spec['cubew'].prefix.bin)
+ if spec.satisfies("@2.4:"):
+ config_args.append("--with-cube=%s" % spec["cubew"].prefix.bin)
else:
- config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
+ config_args.append("--with-cube=%s" % spec["cube"].prefix.bin)
- config_args.append("--with-otf2=%s" % spec['otf2'].prefix.bin)
+ config_args.append("--with-otf2=%s" % spec["otf2"].prefix.bin)
- if self.spec['mpi'].name == 'openmpi':
+ if self.spec["mpi"].name == "openmpi":
config_args.append("--with-mpi=openmpi")
- elif self.spec.satisfies('^mpich@3:'):
+ elif self.spec.satisfies("^mpich@3:"):
config_args.append("--with-mpi=mpich3")
return config_args
diff --git a/var/spack/repos/builtin/packages/scale/package.py b/var/spack/repos/builtin/packages/scale/package.py
index 3bfe200dea..c5759b6378 100644
--- a/var/spack/repos/builtin/packages/scale/package.py
+++ b/var/spack/repos/builtin/packages/scale/package.py
@@ -14,71 +14,75 @@ class Scale(MakefilePackage):
aimed to be widely used in various models.
The SCALE library is developed with co-design by researchers of
computational science and computer science."""
+
homepage = "https://scale.riken.jp/"
- url = "https://scale.riken.jp/archives/scale-5.4.4.tar.gz"
+ url = "https://scale.riken.jp/archives/scale-5.4.4.tar.gz"
- maintainers = ['t-yamaura']
+ maintainers = ["t-yamaura"]
- version('5.4.4', sha256='7d0ec4069c15d8b9ec7166f32c9a2eda772d975a8e08e420e6b16891ceebb316', preferred=True)
- version('5.3.6', sha256='3ab0d42cdb16eee568c65b880899e861e464e92088ceb525066c726f31d04848')
- version('5.2.6', sha256='e63141d05810e3f41fc89c9eb15e2319d753832adabdac8f7c8dd7acc0f5f8ed')
+ version(
+ "5.4.4",
+ sha256="7d0ec4069c15d8b9ec7166f32c9a2eda772d975a8e08e420e6b16891ceebb316",
+ preferred=True,
+ )
+ version("5.3.6", sha256="3ab0d42cdb16eee568c65b880899e861e464e92088ceb525066c726f31d04848")
+ version("5.2.6", sha256="e63141d05810e3f41fc89c9eb15e2319d753832adabdac8f7c8dd7acc0f5f8ed")
- depends_on('openmpi', type=('build', 'link', 'run'))
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
- depends_on('parallel-netcdf')
+ depends_on("openmpi", type=("build", "link", "run"))
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
+ depends_on("parallel-netcdf")
- patch('fj-own_compiler.patch', when='%fj')
+ patch("fj-own_compiler.patch", when="%fj")
parallel = False
def setup_build_environment(self, build_env):
- build_env.set('PREFIX', self.prefix)
+ build_env.set("PREFIX", self.prefix)
def build(self, spec, prefix):
- scale_sys_str = ''
- if self.spec.satisfies('platform=linux %gcc'):
- scale_sys_str = 'Linux64-gnu-ompi'
- elif self.spec.satisfies('platform=linux %intel'):
- scale_sys_str = 'Linux64-intel-impi'
- elif self.spec.satisfies('platform=linux %pgi'):
- scale_sys_str = 'Linux64-pgi-ompi'
- elif self.spec.satisfies('platform=linux target=arm %gcc'):
- scale_sys_str = 'LinuxARM-gnu-ompi'
- elif self.spec.satisfies('platform=linux target=a64fx %fj'):
- scale_sys_str = 'FUGAKU'
- elif self.spec.satisfies('platform=linux target=s64fx %fj'):
- scale_sys_str = 'FX100'
- elif self.spec.satisfies('platform=darwin %gcc'):
- scale_sys_str = 'MacOSX-gnu-ompi'
-
- if scale_sys_str == '':
- raise InstallError('unsupported arch and compiler combination.')
- env['SCALE_SYS'] = scale_sys_str
+ scale_sys_str = ""
+ if self.spec.satisfies("platform=linux %gcc"):
+ scale_sys_str = "Linux64-gnu-ompi"
+ elif self.spec.satisfies("platform=linux %intel"):
+ scale_sys_str = "Linux64-intel-impi"
+ elif self.spec.satisfies("platform=linux %pgi"):
+ scale_sys_str = "Linux64-pgi-ompi"
+ elif self.spec.satisfies("platform=linux target=arm %gcc"):
+ scale_sys_str = "LinuxARM-gnu-ompi"
+ elif self.spec.satisfies("platform=linux target=a64fx %fj"):
+ scale_sys_str = "FUGAKU"
+ elif self.spec.satisfies("platform=linux target=s64fx %fj"):
+ scale_sys_str = "FX100"
+ elif self.spec.satisfies("platform=darwin %gcc"):
+ scale_sys_str = "MacOSX-gnu-ompi"
+
+ if scale_sys_str == "":
+ raise InstallError("unsupported arch and compiler combination.")
+ env["SCALE_SYS"] = scale_sys_str
# set SCALE_NETCDF_INCLUDE
- nc_config = which('nc-config')
- nc_str = nc_config('--cflags', '--fflags', output=str)
+ nc_config = which("nc-config")
+ nc_str = nc_config("--cflags", "--fflags", output=str)
try:
- env['SCALE_NETCDF_INCLUDE'] = nc_str.replace('\n', ' ')
+ env["SCALE_NETCDF_INCLUDE"] = nc_str.replace("\n", " ")
except TypeError: # for python3
- env['SCALE_NETCDF_INCLUDE'] = nc_str.decode().replace('\n', ' ')
+ env["SCALE_NETCDF_INCLUDE"] = nc_str.decode().replace("\n", " ")
# set SCALE_NETCDF_LIBS
- nc_config = which('nc-config')
- nc_str = nc_config('--libs', '--flibs', output=str)
+ nc_config = which("nc-config")
+ nc_str = nc_config("--libs", "--flibs", output=str)
try:
- env['SCALE_NETCDF_LIBS'] = nc_str.replace('\n', ' ')
+ env["SCALE_NETCDF_LIBS"] = nc_str.replace("\n", " ")
except TypeError: # for python3
- env['SCALE_NETCDF_LIBS'] = nc_str.decode().replace('\n', ' ')
+ env["SCALE_NETCDF_LIBS"] = nc_str.decode().replace("\n", " ")
make()
def install(self, spec, prefix):
- make('install')
+ make("install")
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('doc', prefix.share.docs)
- install_tree(os.path.join('scale-rm', 'test'),
- os.path.join(prefix.share, 'test'))
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("doc", prefix.share.docs)
+ install_tree(os.path.join("scale-rm", "test"), os.path.join(prefix.share, "test"))
diff --git a/var/spack/repos/builtin/packages/scallop/package.py b/var/spack/repos/builtin/packages/scallop/package.py
index e5b0ea5607..dbd5750ca8 100644
--- a/var/spack/repos/builtin/packages/scallop/package.py
+++ b/var/spack/repos/builtin/packages/scallop/package.py
@@ -9,18 +9,18 @@ class Scallop(AutotoolsPackage):
"""Scallop is a reference-based transcriptome assembler for RNA-seq"""
homepage = "https://github.com/Kingsford-Group/scallop"
- url = "https://github.com/Kingsford-Group/scallop/releases/download/v0.10.5/scallop-0.10.5.tar.gz"
+ url = "https://github.com/Kingsford-Group/scallop/releases/download/v0.10.5/scallop-0.10.5.tar.gz"
- version('0.10.5', sha256='b09e3c61f1b3b1da2a96d9d8429d80326a3bb14f5fe6af9b5e87570d4b86937a')
- version('0.10.3', sha256='04eb3ab27ed8c7ae38e1780d6b2af16b6a2c01807ffafd59e819d33bfeff58a0')
+ version("0.10.5", sha256="b09e3c61f1b3b1da2a96d9d8429d80326a3bb14f5fe6af9b5e87570d4b86937a")
+ version("0.10.3", sha256="04eb3ab27ed8c7ae38e1780d6b2af16b6a2c01807ffafd59e819d33bfeff58a0")
- depends_on('clp')
- depends_on('boost')
- depends_on('htslib@1.5:')
+ depends_on("clp")
+ depends_on("boost")
+ depends_on("htslib@1.5:")
def configure_args(self):
return [
- '--with-clp={0}'.format(self.spec['clp'].prefix),
- '--with-htslib={0}'.format(self.spec['htslib'].prefix),
- '--with-boost={0}'.format(self.spec['boost'].prefix),
+ "--with-clp={0}".format(self.spec["clp"].prefix),
+ "--with-htslib={0}".format(self.spec["htslib"].prefix),
+ "--with-boost={0}".format(self.spec["boost"].prefix),
]
diff --git a/var/spack/repos/builtin/packages/scalpel/package.py b/var/spack/repos/builtin/packages/scalpel/package.py
index 31b91f0249..e81a2592b5 100644
--- a/var/spack/repos/builtin/packages/scalpel/package.py
+++ b/var/spack/repos/builtin/packages/scalpel/package.py
@@ -8,36 +8,40 @@ from spack.package import *
class Scalpel(MakefilePackage, SourceforgePackage):
"""Scalpel is a software package for detecting INDELs (INsertions and
- DELetions) mutations in a reference genome which has been sequenced
- with next-generation sequencing technology.
+ DELetions) mutations in a reference genome which has been sequenced
+ with next-generation sequencing technology.
"""
homepage = "http://scalpel.sourceforge.net/index.html"
sourceforge_mirror_path = "scalpel/scalpel-0.5.4.tar.gz"
- version('0.5.4', sha256='506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0')
- version('0.5.3', sha256='d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e')
+ version("0.5.4", sha256="506f731b3886def158c15fd8b74fa98390f304a507d2040972e6b09ddefac8f0")
+ version("0.5.3", sha256="d45b569fe3aa5934883bc7216c243d53168351c23e020d96a46fa77a1563b65e")
- depends_on('perl@5.10.0:')
+ depends_on("perl@5.10.0:")
# bamtools needs to build before the others.
parallel = False
- @run_before('install')
+ @run_before("install")
def filter_sbang(self):
"""Run before install so that the standard Spack sbang install hook
can fix up the path to the perl|python binary.
"""
with working_dir(self.stage.source_path):
- kwargs = {'ignore_absent': True, 'backup': False, 'string': False}
+ kwargs = {"ignore_absent": True, "backup": False, "string": False}
- match = '^#!/usr/bin/env perl'
- perl = self.spec['perl'].command
+ match = "^#!/usr/bin/env perl"
+ perl = self.spec["perl"].command
substitute = "#!{perl}".format(perl=perl)
- files = ['FindDenovos.pl', 'scalpel-export',
- 'scalpel-discovery', 'FindVariants.pl',
- 'FindSomatic.pl']
+ files = [
+ "FindDenovos.pl",
+ "scalpel-export",
+ "scalpel-discovery",
+ "FindVariants.pl",
+ "FindSomatic.pl",
+ ]
filter_file(match, substitute, *files, **kwargs)
# Scalpel doesn't actually *have* an install step. The authors
@@ -51,32 +55,41 @@ class Scalpel(MakefilePackage, SourceforgePackage):
# bits into prefix.bin. It's not normal, but....
#
def install(self, spec, prefix):
- destdir = prefix.bin # see the note above....
+ destdir = prefix.bin # see the note above....
mkdirp(destdir)
- files = ['FindSomatic.pl', 'HashesIO.pm', 'MLDBM.pm',
- 'scalpel-export', 'Utils.pm', 'FindDenovos.pl',
- 'FindVariants.pl', 'scalpel-discovery',
- 'SequenceIO.pm', 'Usage.pm']
+ files = [
+ "FindSomatic.pl",
+ "HashesIO.pm",
+ "MLDBM.pm",
+ "scalpel-export",
+ "Utils.pm",
+ "FindDenovos.pl",
+ "FindVariants.pl",
+ "scalpel-discovery",
+ "SequenceIO.pm",
+ "Usage.pm",
+ ]
for f in files:
install(f, destdir)
- dirs = ['Text', 'MLDBM', 'Parallel', ]
+ dirs = [
+ "Text",
+ "MLDBM",
+ "Parallel",
+ ]
for d in dirs:
install_tree(d, join_path(destdir, d))
- install_tree('bamtools-2.3.0/bin',
- join_path(destdir, 'bamtools-2.3.0', 'bin'))
- install_tree('bamtools-2.3.0/lib',
- join_path(destdir, 'bamtools-2.3.0', 'lib'))
+ install_tree("bamtools-2.3.0/bin", join_path(destdir, "bamtools-2.3.0", "bin"))
+ install_tree("bamtools-2.3.0/lib", join_path(destdir, "bamtools-2.3.0", "lib"))
- mkdirp(join_path(destdir, 'bcftools-1.1'))
- install('bcftools-1.1/bcftools', join_path(destdir, 'bcftools-1.1'))
+ mkdirp(join_path(destdir, "bcftools-1.1"))
+ install("bcftools-1.1/bcftools", join_path(destdir, "bcftools-1.1"))
- mkdirp(join_path(destdir, 'Microassembler'))
- install('Microassembler/Microassembler',
- join_path(destdir, 'Microassembler'))
+ mkdirp(join_path(destdir, "Microassembler"))
+ install("Microassembler/Microassembler", join_path(destdir, "Microassembler"))
- mkdirp(join_path(destdir, 'samtools-1.1'))
- install('samtools-1.1/samtools', join_path(destdir, 'samtools-1.1'))
+ mkdirp(join_path(destdir, "samtools-1.1"))
+ install("samtools-1.1/samtools", join_path(destdir, "samtools-1.1"))
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 ac5585aafd..e42a848914 100644
--- a/var/spack/repos/builtin/packages/scan-for-matches/package.py
+++ b/var/spack/repos/builtin/packages/scan-for-matches/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class ScanForMatches(Package):
"""scan_for_matches is a utility written in C for locating patterns in DNA
- or protein FASTA files."""
+ or protein FASTA files."""
homepage = "https://blog.theseed.org/servers/2010/07/scan-for-matches.html"
- url = "https://www.theseed.org/servers/downloads/scan_for_matches.tgz"
+ url = "https://www.theseed.org/servers/downloads/scan_for_matches.tgz"
- version('2010-7-16', sha256='c6b17930efbdfbac28b57c3a0b4f8c26effb36c48988d82e41c81c6962e2d68f')
+ version("2010-7-16", sha256="c6b17930efbdfbac28b57c3a0b4f8c26effb36c48988d82e41c81c6962e2d68f")
def install(self, spec, prefix):
cc = Executable(self.compiler.cc)
- cc('-O', '-o', 'scan_for_matches', 'ggpunit.c', 'scan_for_matches.c')
+ cc("-O", "-o", "scan_for_matches", "ggpunit.c", "scan_for_matches.c")
mkdirp(prefix.bin)
- install('scan_for_matches', prefix.bin)
+ install("scan_for_matches", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/scipoptsuite/package.py b/var/spack/repos/builtin/packages/scipoptsuite/package.py
index 47ddb80f69..264a225e65 100644
--- a/var/spack/repos/builtin/packages/scipoptsuite/package.py
+++ b/var/spack/repos/builtin/packages/scipoptsuite/package.py
@@ -21,12 +21,12 @@ class Scipoptsuite(CMakePackage):
https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://scipopt.org"
- url = "file://{0}/scipoptsuite-7.0.1.tgz".format(os.getcwd())
+ url = "file://{0}/scipoptsuite-7.0.1.tgz".format(os.getcwd())
manual_download = True
- version('7.0.1', sha256='971962f2d896b0c8b8fa554c18afd2b5037092685735d9494a05dc16d56ad422')
+ version("7.0.1", sha256="971962f2d896b0c8b8fa554c18afd2b5037092685735d9494a05dc16d56ad422")
- depends_on('gmp')
- depends_on('zlib')
- depends_on('readline')
- depends_on('ncurses')
+ depends_on("gmp")
+ depends_on("zlib")
+ depends_on("readline")
+ depends_on("ncurses")
diff --git a/var/spack/repos/builtin/packages/scitokens-cpp/package.py b/var/spack/repos/builtin/packages/scitokens-cpp/package.py
index 958eaff1ef..cc70077a1c 100644
--- a/var/spack/repos/builtin/packages/scitokens-cpp/package.py
+++ b/var/spack/repos/builtin/packages/scitokens-cpp/package.py
@@ -7,19 +7,19 @@ from spack.package import *
class ScitokensCpp(CMakePackage):
- """ A C++ implementation of the SciTokens library with a C library interface.
- SciTokens provide a token format for distributed authorization. """
+ """A C++ implementation of the SciTokens library with a C library interface.
+ SciTokens provide a token format for distributed authorization."""
homepage = "https://github.com/scitokens/scitokens-cpp"
- url = "https://github.com/scitokens/scitokens-cpp/archive/refs/tags/v0.7.0.tar.gz"
+ url = "https://github.com/scitokens/scitokens-cpp/archive/refs/tags/v0.7.0.tar.gz"
- version('0.7.0', sha256='72600cf32523b115ec7abf4ac33fa369e0a655b3d3b390e1f68363e6c4e961b6')
+ version("0.7.0", sha256="72600cf32523b115ec7abf4ac33fa369e0a655b3d3b390e1f68363e6c4e961b6")
- depends_on('sqlite')
- depends_on('curl')
- depends_on('uuid', type='build')
+ depends_on("sqlite")
+ depends_on("curl")
+ depends_on("uuid", type="build")
# https://github.com/scitokens/scitokens-cpp/issues/72
- @when('^openssl@3:')
+ @when("^openssl@3:")
def patch(self):
- filter_file(' -Werror', '', 'CMakeLists.txt')
+ filter_file(" -Werror", "", "CMakeLists.txt")
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
index 09fe43d72d..e0c9bee586 100644
--- a/var/spack/repos/builtin/packages/scons/package.py
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -12,46 +12,48 @@ class Scons(PythonPackage):
homepage = "https://scons.org"
pypi = "SCons/SCons-4.3.0.tar.gz"
- tags = ['build-tools']
-
- version('4.3.0', sha256='d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879')
- version('4.2.0', sha256='691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a')
- version('4.1.0.post1', sha256='ecb062482b9d80319b56758c0341eb717735437f86a575bac3552804428bd73e')
- version('4.0.1', sha256='722ed104b5c624ecdc89bd4e02b094d2b14d99d47b5d0501961e47f579a2007c')
- version('4.0.0', sha256='de8599189ee87bb84234e3d6e30bef0298d6364713979856927576b252c411f3')
- version('3.1.2', sha256='8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f')
- version('3.1.1', sha256='fd44f8f2a4562e7e5bc8c63c82b01e469e8115805a3e9c2923ee54cdcd6678b3')
- version('3.1.0', sha256='94e0d0684772d3e6d9368785296716e0ed6ce757270b3ed814e5aa72d3163890')
- version('3.0.5', sha256='e95eaae17d9e490cf12cd37f091a6cbee8a628b5c8dbd3cab1f348f602f46462')
- version('3.0.4', sha256='72c0b56db84f40d3558f351918a0ab98cb4345e8696e879d3e271f4df4a5913c')
- version('3.0.1', sha256='24475e38d39c19683bc88054524df018fe6949d70fbd4c69e298d39a0269f173')
- version('2.5.1', sha256='c8de85fc02ed1a687b1f2ac791eaa0c1707b4382a204f17d782b5b111b9fdf07')
- version('2.5.0', sha256='01f1b3d6023516a8e1b5e77799e5a82a23b32953b1102d339059ffeca8600493')
+ tags = ["build-tools"]
+
+ version("4.3.0", sha256="d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879")
+ version("4.2.0", sha256="691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a")
+ version(
+ "4.1.0.post1", sha256="ecb062482b9d80319b56758c0341eb717735437f86a575bac3552804428bd73e"
+ )
+ version("4.0.1", sha256="722ed104b5c624ecdc89bd4e02b094d2b14d99d47b5d0501961e47f579a2007c")
+ version("4.0.0", sha256="de8599189ee87bb84234e3d6e30bef0298d6364713979856927576b252c411f3")
+ version("3.1.2", sha256="8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f")
+ version("3.1.1", sha256="fd44f8f2a4562e7e5bc8c63c82b01e469e8115805a3e9c2923ee54cdcd6678b3")
+ version("3.1.0", sha256="94e0d0684772d3e6d9368785296716e0ed6ce757270b3ed814e5aa72d3163890")
+ version("3.0.5", sha256="e95eaae17d9e490cf12cd37f091a6cbee8a628b5c8dbd3cab1f348f602f46462")
+ version("3.0.4", sha256="72c0b56db84f40d3558f351918a0ab98cb4345e8696e879d3e271f4df4a5913c")
+ version("3.0.1", sha256="24475e38d39c19683bc88054524df018fe6949d70fbd4c69e298d39a0269f173")
+ version("2.5.1", sha256="c8de85fc02ed1a687b1f2ac791eaa0c1707b4382a204f17d782b5b111b9fdf07")
+ version("2.5.0", sha256="01f1b3d6023516a8e1b5e77799e5a82a23b32953b1102d339059ffeca8600493")
# Python 3 support was added in SCons 3.0.0
- depends_on('python@:2', when='@:2', type=('build', 'run'))
+ depends_on("python@:2", when="@:2", type=("build", "run"))
# Python 2 support was dropped in SCons 4.0.0
- depends_on('python@3.5:', when='@4:4.2.0')
+ depends_on("python@3.5:", when="@4:4.2.0")
# Python 3.5 support was dropped in SCons 4.3.0
- depends_on('python@3.6:', when='@4.3.0:')
- depends_on('py-setuptools', type=('build', 'run'))
+ depends_on("python@3.6:", when="@4.3.0:")
+ depends_on("py-setuptools", type=("build", "run"))
- patch('fjcompiler.patch', when='%fj')
- patch('py3-hashbang.patch', when='@:3^python@3:') # not needed for @4.0.0:
+ patch("fjcompiler.patch", when="%fj")
+ patch("py3-hashbang.patch", when="@:3^python@3:") # not needed for @4.0.0:
def url_for_version(self, version):
- url = 'https://files.pythonhosted.org/packages/source/{0}/{1}/{1}-{2}.tar.gz'
- if version >= Version('4.0.0'):
- name = 'SCons'
+ url = "https://files.pythonhosted.org/packages/source/{0}/{1}/{1}-{2}.tar.gz"
+ if version >= Version("4.0.0"):
+ name = "SCons"
else:
- name = 'scons'
+ name = "scons"
return url.format(name[0], name, version)
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.lib.scons)
+ env.prepend_path("PYTHONPATH", self.prefix.lib.scons)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('PYTHONPATH', self.prefix.lib.scons)
+ env.prepend_path("PYTHONPATH", self.prefix.lib.scons)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('PYTHONPATH', self.prefix.lib.scons)
+ env.prepend_path("PYTHONPATH", self.prefix.lib.scons)
diff --git a/var/spack/repos/builtin/packages/scorec-core/package.py b/var/spack/repos/builtin/packages/scorec-core/package.py
index 7bc9d77749..ba50aae4f7 100644
--- a/var/spack/repos/builtin/packages/scorec-core/package.py
+++ b/var/spack/repos/builtin/packages/scorec-core/package.py
@@ -11,22 +11,22 @@ class ScorecCore(CMakePackage):
simulations on supercomputers.
"""
- homepage = 'https://www.scorec.rpi.edu/'
- git = 'https://github.com/SCOREC/core.git'
+ homepage = "https://www.scorec.rpi.edu/"
+ git = "https://github.com/SCOREC/core.git"
- version('develop')
+ version("develop")
- depends_on('mpi')
- depends_on('zoltan')
- depends_on('cmake@3.0:', type='build')
+ depends_on("mpi")
+ depends_on("zoltan")
+ depends_on("cmake@3.0:", type="build")
def cmake_args(self):
options = []
- options.append('-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc)
- options.append('-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx)
- options.append('-DENABLE_ZOLTAN=ON')
+ options.append("-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc)
+ options.append("-DCMAKE_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx)
+ options.append("-DENABLE_ZOLTAN=ON")
- if self.compiler.name == 'xl':
- options.append('-DSCOREC_EXTRA_CXX_FLAGS=%s' % '-qminimaltoc')
+ if self.compiler.name == "xl":
+ options.append("-DSCOREC_EXTRA_CXX_FLAGS=%s" % "-qminimaltoc")
return options
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index dbaa1c7462..bc6ea1b4c9 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -13,130 +13,135 @@ class Scorep(AutotoolsPackage):
"""
homepage = "https://www.vi-hps.org/projects/score-p"
- url = "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.1/scorep-7.1.tar.gz"
-
- version('7.1', sha256='98dea497982001fb82da3429ca55669b2917a0858c71abe2cfe7cd113381f1f7')
- version('7.0', sha256='68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996')
- version('6.0', sha256='5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8')
- version('5.0', sha256='0651614eacfc92ffbe5264a3efebd0803527ae6e8b11f7df99a56a02c37633e1')
- version('4.1', sha256='7bb6c1eecdd699b4a3207caf202866778ee01f15ff39a9ec198fcd872578fe63')
- version('4.0', sha256='c050525606965950ad9b35c14077b88571bcf9bfca08599279a3d8d1bb00e655')
- version('3.1', sha256='49efe8a4e02afca752452809e1b21cba42e8ccb0a0772f936d4459d94e198540')
- version('3.0', sha256='c9e7fe0a8239b3bbbf7628eb15f7e90de9c36557818bf3d01aecce9fec2dc0be')
- version('2.0.2', sha256='d19498408781048f0e9039a1a245bce6b384f09fbe7d3643105b4e2981ecd610')
- version('1.4.2', sha256='d7f3fcca2efeb2f5d5b5f183b3b2c4775e66cbb3400ea2da841dd0428713ebac')
- version('1.3', sha256='dcfd42bd05f387748eeefbdf421cb3cd98ed905e009303d70b5f75b217fd1254')
+ url = "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.1/scorep-7.1.tar.gz"
+
+ version("7.1", sha256="98dea497982001fb82da3429ca55669b2917a0858c71abe2cfe7cd113381f1f7")
+ version("7.0", sha256="68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996")
+ version("6.0", sha256="5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8")
+ version("5.0", sha256="0651614eacfc92ffbe5264a3efebd0803527ae6e8b11f7df99a56a02c37633e1")
+ version("4.1", sha256="7bb6c1eecdd699b4a3207caf202866778ee01f15ff39a9ec198fcd872578fe63")
+ version("4.0", sha256="c050525606965950ad9b35c14077b88571bcf9bfca08599279a3d8d1bb00e655")
+ version("3.1", sha256="49efe8a4e02afca752452809e1b21cba42e8ccb0a0772f936d4459d94e198540")
+ version("3.0", sha256="c9e7fe0a8239b3bbbf7628eb15f7e90de9c36557818bf3d01aecce9fec2dc0be")
+ version("2.0.2", sha256="d19498408781048f0e9039a1a245bce6b384f09fbe7d3643105b4e2981ecd610")
+ version("1.4.2", sha256="d7f3fcca2efeb2f5d5b5f183b3b2c4775e66cbb3400ea2da841dd0428713ebac")
+ version("1.3", sha256="dcfd42bd05f387748eeefbdf421cb3cd98ed905e009303d70b5f75b217fd1254")
def url_for_version(self, version):
- if version < Version('7.0'):
- return 'https://www.vi-hps.org/cms/upload/packages/scorep/scorep-{0}.tar.gz'.format(version)
+ if version < Version("7.0"):
+ return "https://www.vi-hps.org/cms/upload/packages/scorep/scorep-{0}.tar.gz".format(
+ version
+ )
- return 'https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-{0}/scorep-{0}.tar.gz'.format(version)
+ return "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-{0}/scorep-{0}.tar.gz".format(
+ version
+ )
- patch('gcc7.patch', when='@1.4:3')
- patch('gcc10.patch', when='@3.1:6.0')
+ patch("gcc7.patch", when="@1.4:3")
+ patch("gcc10.patch", when="@3.1:6.0")
- variant('mpi', default=True, description="Enable MPI support")
- variant('papi', default=True, description="Enable PAPI")
- variant('pdt', default=False, description="Enable PDT")
- variant('shmem', default=False, description='Enable shmem tracing')
- variant('unwind', default=False,
- description="Enable sampling via libunwind and lib wrapping")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("papi", default=True, description="Enable PAPI")
+ variant("pdt", default=False, description="Enable PDT")
+ variant("shmem", default=False, description="Enable shmem tracing")
+ variant("unwind", default=False, description="Enable sampling via libunwind and lib wrapping")
# Dependencies for SCORE-P are quite tight. See the homepage for more
# information. Starting with scorep 4.0 / cube 4.4, Score-P only depends on
# two components of cube -- cubew and cubelib.
# SCOREP 7
- depends_on('otf2@2.3:2.3.99', when='@7:')
- depends_on('cubew@4.6:', when='@7:')
- depends_on('cubelib@4.6:', when='@7:')
- depends_on('opari2@2.0.6:', when='@7:')
+ depends_on("otf2@2.3:2.3.99", when="@7:")
+ depends_on("cubew@4.6:", when="@7:")
+ depends_on("cubelib@4.6:", when="@7:")
+ depends_on("opari2@2.0.6:", when="@7:")
# SCOREP 6
- depends_on('otf2@2.2:', when='@6:')
+ depends_on("otf2@2.2:", when="@6:")
# SCOREP 4 and 5
- depends_on('otf2@2.1:', when='@4:')
- depends_on('cubew@4.4:4.5', when='@4:6')
- depends_on('cubelib@4.4:4.5', when='@4:6')
+ depends_on("otf2@2.1:", when="@4:")
+ depends_on("cubew@4.4:4.5", when="@4:6")
+ depends_on("cubelib@4.4:4.5", when="@4:6")
# SCOREP 3
- depends_on('otf2@2:', when='@3.0:3')
- depends_on('opari2@2.0:2.0.5', when='@3:6')
- depends_on('cube@4.3:4.3.5', when='@3.0:3')
+ depends_on("otf2@2:", when="@3.0:3")
+ depends_on("opari2@2.0:2.0.5", when="@3:6")
+ depends_on("cube@4.3:4.3.5", when="@3.0:3")
# SCOREP 2.0.2
- depends_on('otf2@2.0', when='@2.0.2')
- depends_on('opari2@2.0', when='@2.0.2')
- depends_on('cube@4.3:4.3.5', when='@2.0.2')
+ depends_on("otf2@2.0", when="@2.0.2")
+ depends_on("opari2@2.0", when="@2.0.2")
+ depends_on("cube@4.3:4.3.5", when="@2.0.2")
# SCOREP 1.4.2
- depends_on('otf2@1.5:1.6', when='@1.4.2')
- depends_on('opari2@1.1.4', when='@1.4.2')
- depends_on('cube@4.2.3:4.3.5', when='@1.4.2')
+ depends_on("otf2@1.5:1.6", when="@1.4.2")
+ depends_on("opari2@1.1.4", when="@1.4.2")
+ depends_on("cube@4.2.3:4.3.5", when="@1.4.2")
# SCOREP 1.3
- depends_on("otf2@1.4", when='@1.3')
- depends_on("opari2@1.1.4", when='@1.3')
- depends_on("cube@4.2.3", when='@1.3')
+ depends_on("otf2@1.4", when="@1.3")
+ depends_on("opari2@1.1.4", when="@1.3")
+ depends_on("cube@4.2.3", when="@1.3")
- depends_on('mpi', when="+mpi")
- depends_on('papi', when="+papi")
- depends_on('pdt', when="+pdt")
- depends_on('llvm', when="+unwind")
- depends_on('libunwind', when="+unwind")
+ depends_on("mpi", when="+mpi")
+ depends_on("papi", when="+papi")
+ depends_on("pdt", when="+pdt")
+ depends_on("llvm", when="+unwind")
+ depends_on("libunwind", when="+unwind")
# Score-P requires a case-sensitive file system, and therefore
# does not work on macOS
# https://github.com/spack/spack/issues/1609
- conflicts('platform=darwin')
+ conflicts("platform=darwin")
def configure_args(self):
spec = self.spec
config_args = [
- "--with-otf2=%s" % spec['otf2'].prefix.bin,
- "--with-opari2=%s" % spec['opari2'].prefix.bin,
- "--enable-shared"]
+ "--with-otf2=%s" % spec["otf2"].prefix.bin,
+ "--with-opari2=%s" % spec["opari2"].prefix.bin,
+ "--enable-shared",
+ ]
cname = spec.compiler.name
- config_args.append('--with-nocross-compiler-suite={0}'.format(cname))
+ config_args.append("--with-nocross-compiler-suite={0}".format(cname))
- if self.version >= Version('4.0'):
- config_args.append("--with-cubew=%s" % spec['cubew'].prefix.bin)
- config_args.append("--with-cubelib=%s" %
- spec['cubelib'].prefix.bin)
+ if self.version >= Version("4.0"):
+ config_args.append("--with-cubew=%s" % spec["cubew"].prefix.bin)
+ config_args.append("--with-cubelib=%s" % spec["cubelib"].prefix.bin)
else:
- config_args.append("--with-cube=%s" % spec['cube'].prefix.bin)
+ config_args.append("--with-cube=%s" % spec["cube"].prefix.bin)
if "+papi" in spec:
- config_args.append("--with-papi-header=%s" %
- spec['papi'].prefix.include)
- config_args.append("--with-papi-lib=%s" % spec['papi'].prefix.lib)
+ config_args.append("--with-papi-header=%s" % spec["papi"].prefix.include)
+ config_args.append("--with-papi-lib=%s" % spec["papi"].prefix.lib)
if "+pdt" in spec:
- config_args.append("--with-pdt=%s" % spec['pdt'].prefix.bin)
+ config_args.append("--with-pdt=%s" % spec["pdt"].prefix.bin)
if "+unwind" in spec:
- config_args.append("--with-libunwind=%s" %
- spec['libunwind'].prefix)
+ config_args.append("--with-libunwind=%s" % spec["libunwind"].prefix)
- config_args += self.with_or_without('shmem')
- config_args += self.with_or_without('mpi')
+ config_args += self.with_or_without("shmem")
+ config_args += self.with_or_without("mpi")
- if spec.satisfies('^intel-mpi'):
- config_args.append('--with-mpi=intel3')
- elif spec.satisfies('^mpich') or spec.satisfies('^mvapich2'):
- config_args.append('--with-mpi=mpich3')
- elif spec.satisfies('^openmpi'):
- config_args.append('--with-mpi=openmpi')
+ if spec.satisfies("^intel-mpi"):
+ config_args.append("--with-mpi=intel3")
+ elif spec.satisfies("^mpich") or spec.satisfies("^mvapich2"):
+ config_args.append("--with-mpi=mpich3")
+ elif spec.satisfies("^openmpi"):
+ config_args.append("--with-mpi=openmpi")
- config_args.extend([
- 'CFLAGS={0}'.format(self.compiler.cc_pic_flag),
- 'CXXFLAGS={0}'.format(self.compiler.cxx_pic_flag)
- ])
+ config_args.extend(
+ [
+ "CFLAGS={0}".format(self.compiler.cc_pic_flag),
+ "CXXFLAGS={0}".format(self.compiler.cxx_pic_flag),
+ ]
+ )
if "+mpi" in spec:
- config_args.extend([
- 'MPICC={0}'.format(spec['mpi'].mpicc),
- 'MPICXX={0}'.format(spec['mpi'].mpicxx),
- 'MPIF77={0}'.format(spec['mpi'].mpif77),
- 'MPIFC={0}'.format(spec['mpi'].mpifc)
- ])
+ config_args.extend(
+ [
+ "MPICC={0}".format(spec["mpi"].mpicc),
+ "MPICXX={0}".format(spec["mpi"].mpicxx),
+ "MPIF77={0}".format(spec["mpi"].mpif77),
+ "MPIFC={0}".format(spec["mpi"].mpifc),
+ ]
+ )
return config_args
diff --git a/var/spack/repos/builtin/packages/scorpio/package.py b/var/spack/repos/builtin/packages/scorpio/package.py
index c39932f699..88f9b26caf 100644
--- a/var/spack/repos/builtin/packages/scorpio/package.py
+++ b/var/spack/repos/builtin/packages/scorpio/package.py
@@ -14,23 +14,20 @@ class Scorpio(CMakePackage):
"""
homepage = "https://gitlab.com/truchas/tpl-forks/scorpio"
- git = "https://gitlab.com/truchas/tpl-forks/scorpio.git"
+ git = "https://gitlab.com/truchas/tpl-forks/scorpio.git"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch='truchas')
+ version("develop", branch="truchas")
- version('2021-12-10',
- commit='b802f16877a6562ccdbeca8887910d3bd3e25cbb',
- preferred=True)
+ version("2021-12-10", commit="b802f16877a6562ccdbeca8887910d3bd3e25cbb", preferred=True)
- depends_on('cmake@3.16:', type='build')
- depends_on('mpi')
- depends_on('hdf5@1.10.6: +hl +mpi')
+ depends_on("cmake@3.16:", type="build")
+ depends_on("mpi")
+ depends_on("hdf5@1.10.6: +hl +mpi")
def cmake_args(self):
opts = []
- if self.spec.satisfies('%apple-clang@12:'):
- opts.append(self.define("CMAKE_C_FLAGS",
- "-Wno-error=implicit-function-declaration"))
+ if self.spec.satisfies("%apple-clang@12:"):
+ opts.append(self.define("CMAKE_C_FLAGS", "-Wno-error=implicit-function-declaration"))
return opts
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index 95bd599326..672706a635 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -8,60 +8,60 @@ from spack.package import *
class Scotch(CMakePackage):
"""Scotch is a software package for graph and mesh/hypergraph
- partitioning, graph clustering, and sparse matrix ordering."""
+ partitioning, graph clustering, and sparse matrix ordering."""
homepage = "https://gitlab.inria.fr/scotch/scotch"
- git = "https://gitlab.inria.fr/scotch/scotch.git"
- url = "https://gitlab.inria.fr/scotch/scotch/-/archive/v7.0.1/scotch-v7.0.1.tar.gz"
+ git = "https://gitlab.inria.fr/scotch/scotch.git"
+ url = "https://gitlab.inria.fr/scotch/scotch/-/archive/v7.0.1/scotch-v7.0.1.tar.gz"
list_url = "https://gforge.inria.fr/frs/?group_id=248"
- maintainers = ['pghysels']
-
- version('7.0.1', sha256='0618e9bc33c02172ea7351600fce4fccd32fe00b3359c4aabb5e415f17c06fed')
- version('6.1.3', sha256='4e54f056199e6c23d46581d448fcfe2285987e5554a0aa527f7931684ef2809e')
- version('6.1.2', sha256='9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450')
- version('6.1.1', sha256='39052f59ff474a4a69cefc25cf3caf8429400889deba010ee6403ca188f8b311')
- version('6.1.0', sha256='a3bc3fa3b243fcb52f8d68de4272562a0328afb18a96f535724d284e36730485')
- version('6.0.10', sha256='fd8b707b8200823312a1571d97d3776ff3dfd3280cfa4b6e38987153cea5dbda')
- version('6.0.9', sha256='622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93')
- version('6.0.8', sha256='0ba3f145026174304f910c8770a3cbb034f213c91d939573751cfbb4fd46d45e')
- version('6.0.6', sha256='686f0cad88d033fe71c8b781735ff742b73a1d82a65b8b1586526d69729ac4cf')
- version('6.0.5a', sha256='5b21b95e33acd5409d682fa7253cefbdffa8db82875549476c006d8cbe7c556f')
- version('6.0.4', sha256='f53f4d71a8345ba15e2dd4e102a35fd83915abf50ea73e1bf6efe1bc2b4220c7')
- version('6.0.3', sha256='6461cc9f28319a9dbe6cc10e28c0cbe90b4b25e205723c3edcde9a3ff974d6d8')
- version('6.0.0', sha256='8206127d038bda868dda5c5a7f60ef8224f2e368298fbb01bf13fa250e378dd4')
- version('5.1.10b', sha256='54c9e7fafefd49d8b2017d179d4f11a655abe10365961583baaddc4eeb6a9add')
-
- variant('mpi', default=True,
- description='Activate the compilation of parallel libraries')
- variant('compression', default=True,
- description='Activate the posibility to use compressed files')
- variant('esmumps', default=False,
- description='Activate the compilation of esmumps needed by mumps')
- variant('shared', default=True,
- description='Build a shared version of the library')
- variant('metis', default=False,
- description='Expose vendored METIS/ParMETIS libraries and wrappers')
- variant('int64', default=False,
- description='Use int64_t for SCOTCH_Num typedef')
+ maintainers = ["pghysels"]
+
+ version("7.0.1", sha256="0618e9bc33c02172ea7351600fce4fccd32fe00b3359c4aabb5e415f17c06fed")
+ version("6.1.3", sha256="4e54f056199e6c23d46581d448fcfe2285987e5554a0aa527f7931684ef2809e")
+ version("6.1.2", sha256="9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450")
+ version("6.1.1", sha256="39052f59ff474a4a69cefc25cf3caf8429400889deba010ee6403ca188f8b311")
+ version("6.1.0", sha256="a3bc3fa3b243fcb52f8d68de4272562a0328afb18a96f535724d284e36730485")
+ version("6.0.10", sha256="fd8b707b8200823312a1571d97d3776ff3dfd3280cfa4b6e38987153cea5dbda")
+ version("6.0.9", sha256="622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93")
+ version("6.0.8", sha256="0ba3f145026174304f910c8770a3cbb034f213c91d939573751cfbb4fd46d45e")
+ version("6.0.6", sha256="686f0cad88d033fe71c8b781735ff742b73a1d82a65b8b1586526d69729ac4cf")
+ version("6.0.5a", sha256="5b21b95e33acd5409d682fa7253cefbdffa8db82875549476c006d8cbe7c556f")
+ version("6.0.4", sha256="f53f4d71a8345ba15e2dd4e102a35fd83915abf50ea73e1bf6efe1bc2b4220c7")
+ version("6.0.3", sha256="6461cc9f28319a9dbe6cc10e28c0cbe90b4b25e205723c3edcde9a3ff974d6d8")
+ version("6.0.0", sha256="8206127d038bda868dda5c5a7f60ef8224f2e368298fbb01bf13fa250e378dd4")
+ version("5.1.10b", sha256="54c9e7fafefd49d8b2017d179d4f11a655abe10365961583baaddc4eeb6a9add")
+
+ variant("mpi", default=True, description="Activate the compilation of parallel libraries")
+ variant(
+ "compression", default=True, description="Activate the posibility to use compressed files"
+ )
+ variant(
+ "esmumps", default=False, description="Activate the compilation of esmumps needed by mumps"
+ )
+ variant("shared", default=True, description="Build a shared version of the library")
+ variant(
+ "metis", default=False, description="Expose vendored METIS/ParMETIS libraries and wrappers"
+ )
+ variant("int64", default=False, description="Use int64_t for SCOTCH_Num typedef")
# Does not build with flex 2.6.[23]
- depends_on('flex@:2.6.1,2.6.4:', type='build')
- depends_on('bison', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('zlib', when='+compression')
+ depends_on("flex@:2.6.1,2.6.4:", type="build")
+ depends_on("bison", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("zlib", when="+compression")
# Version-specific patches
- patch('nonthreaded-6.0.4.patch', when='@6.0.4')
- patch('esmumps-ldflags-6.0.4.patch', when='@6.0.4')
- patch('metis-headers-6.0.4.patch', when='@6.0.4')
+ patch("nonthreaded-6.0.4.patch", when="@6.0.4")
+ patch("esmumps-ldflags-6.0.4.patch", when="@6.0.4")
+ patch("metis-headers-6.0.4.patch", when="@6.0.4")
- patch('libscotchmetis-return-6.0.5a.patch', when='@6.0.5a')
+ patch("libscotchmetis-return-6.0.5a.patch", when="@6.0.5a")
# Vendored dependency of METIS/ParMETIS conflicts with standard
# installations
- conflicts('^metis', when='+metis')
- conflicts('^parmetis', when='+metis')
+ conflicts("^metis", when="+metis")
+ conflicts("^parmetis", when="+metis")
# NOTE: In cross-compiling environment parallel build
# produces weird linker errors.
@@ -73,7 +73,7 @@ class Scotch(CMakePackage):
# from the Scotch hosting site. These alternative archives include a
# superset of the behavior in their default counterparts, so we choose to
# always grab these versions for older Scotch versions for simplicity.
- @when('@:6.0.0')
+ @when("@:6.0.0")
def url_for_version(self, version):
url = "https://gforge.inria.fr/frs/download.php/latestfile/298/scotch_{0}_esmumps.tar.gz"
return url.format(version)
@@ -81,28 +81,26 @@ class Scotch(CMakePackage):
@property
def libs(self):
- shared = '+shared' in self.spec
- libraries = ['libscotch', 'libscotcherr']
- zlibs = []
+ shared = "+shared" in self.spec
+ libraries = ["libscotch", "libscotcherr"]
+ zlibs = []
- if '+mpi' in self.spec:
- libraries = ['libptscotch', 'libptscotcherr'] + libraries
+ if "+mpi" in self.spec:
+ libraries = ["libptscotch", "libptscotcherr"] + libraries
- if '+esmumps' in self.spec:
- if '~mpi' in self.spec or self.spec.version >= Version('7.0.0'):
- libraries = ['libesmumps'] + libraries
+ if "+esmumps" in self.spec:
+ if "~mpi" in self.spec or self.spec.version >= Version("7.0.0"):
+ libraries = ["libesmumps"] + libraries
else:
- libraries = ['libptesmumps'] + libraries
+ libraries = ["libptesmumps"] + libraries
- scotchlibs = find_libraries(
- libraries, root=self.prefix, recursive=True, shared=shared
- )
- if '+compression' in self.spec:
- zlibs = self.spec['zlib'].libs
+ scotchlibs = find_libraries(libraries, root=self.prefix, recursive=True, shared=shared)
+ if "+compression" in self.spec:
+ zlibs = self.spec["zlib"].libs
return scotchlibs + zlibs
- @when('@:6')
+ @when("@:6")
def patch(self):
self.configure()
@@ -110,172 +108,176 @@ class Scotch(CMakePackage):
# file that contains all of the configuration variables and their desired
# values for the installation. This function writes this file based on
# the given installation variants.
- @when('@:6')
+ @when("@:6")
def configure(self):
makefile_inc = []
cflags = [
- '-O3',
- '-DCOMMON_RANDOM_FIXED_SEED',
- '-DSCOTCH_DETERMINISTIC',
- '-DSCOTCH_RENAME',
+ "-O3",
+ "-DCOMMON_RANDOM_FIXED_SEED",
+ "-DSCOTCH_DETERMINISTIC",
+ "-DSCOTCH_RENAME",
]
- if '+int64' in self.spec:
+ if "+int64" in self.spec:
# SCOTCH_Num typedef: size of integers in arguments
- cflags.append('-DINTSIZE64')
- cflags.append('-DIDXSIZE64') # SCOTCH_Idx typedef: indices for addressing
+ cflags.append("-DINTSIZE64")
+ cflags.append("-DIDXSIZE64") # SCOTCH_Idx typedef: indices for addressing
else:
- cflags.append('-DIDXSIZE32') # SCOTCH_Idx typedef: indices for addressing
+ cflags.append("-DIDXSIZE32") # SCOTCH_Idx typedef: indices for addressing
- if self.spec.satisfies('platform=darwin'):
- cflags.extend([
- '-Drestrict=__restrict'
- ])
+ if self.spec.satisfies("platform=darwin"):
+ cflags.extend(["-Drestrict=__restrict"])
- if '~metis' in self.spec:
+ if "~metis" in self.spec:
# Scotch requires METIS to build, but includes its own patched,
# vendored dependency. Prefix its internal symbols so they won't
# conflict with another installation.
- cflags.append('-DSCOTCH_METIS_PREFIX')
+ cflags.append("-DSCOTCH_METIS_PREFIX")
# Library Build Type #
- if '+shared' in self.spec:
- if self.spec.satisfies('platform=darwin'):
- makefile_inc.extend([
- 'LIB = .dylib',
- 'CLIBFLAGS = -dynamiclib {0}'.format(
- self.compiler.cc_pic_flag
- ),
- 'RANLIB = echo',
- 'AR = $(CC)',
- (
- 'ARFLAGS = -dynamiclib $(LDFLAGS) '
- '-Wl,-install_name -Wl,%s/$(notdir $@) '
- '-undefined dynamic_lookup -o '
- ) % prefix.lib,
- ])
+ if "+shared" in self.spec:
+ if self.spec.satisfies("platform=darwin"):
+ makefile_inc.extend(
+ [
+ "LIB = .dylib",
+ "CLIBFLAGS = -dynamiclib {0}".format(self.compiler.cc_pic_flag),
+ "RANLIB = echo",
+ "AR = $(CC)",
+ (
+ "ARFLAGS = -dynamiclib $(LDFLAGS) "
+ "-Wl,-install_name -Wl,%s/$(notdir $@) "
+ "-undefined dynamic_lookup -o "
+ )
+ % prefix.lib,
+ ]
+ )
else:
- makefile_inc.extend([
- 'LIB = .so',
- 'CLIBFLAGS = -shared {0}'.format(
- self.compiler.cc_pic_flag),
- 'RANLIB = echo',
- 'AR = $(CC)',
- 'ARFLAGS = -shared $(LDFLAGS) -o'
- ])
+ makefile_inc.extend(
+ [
+ "LIB = .so",
+ "CLIBFLAGS = -shared {0}".format(self.compiler.cc_pic_flag),
+ "RANLIB = echo",
+ "AR = $(CC)",
+ "ARFLAGS = -shared $(LDFLAGS) -o",
+ ]
+ )
cflags.append(self.compiler.cc_pic_flag)
else:
- makefile_inc.extend([
- 'LIB = .a',
- 'CLIBFLAGS = ',
- 'RANLIB = ranlib',
- 'AR = ar',
- 'ARFLAGS = -ruv '
- ])
+ makefile_inc.extend(
+ [
+ "LIB = .a",
+ "CLIBFLAGS = ",
+ "RANLIB = ranlib",
+ "AR = ar",
+ "ARFLAGS = -ruv ",
+ ]
+ )
# Compiler-Specific Options #
- if self.compiler.name == 'gcc':
- cflags.append('-Drestrict=__restrict')
- elif self.compiler.name == 'intel':
- cflags.append('-Drestrict=')
+ if self.compiler.name == "gcc":
+ cflags.append("-Drestrict=__restrict")
+ elif self.compiler.name == "intel":
+ cflags.append("-Drestrict=")
- mpicc_path = self.spec['mpi'].mpicc if '+mpi' in self.spec else 'mpicc'
- makefile_inc.append('CCS = $(CC)')
- makefile_inc.append('CCP = %s' % mpicc_path)
- makefile_inc.append('CCD = $(CCS)')
+ mpicc_path = self.spec["mpi"].mpicc if "+mpi" in self.spec else "mpicc"
+ makefile_inc.append("CCS = $(CC)")
+ makefile_inc.append("CCP = %s" % mpicc_path)
+ makefile_inc.append("CCD = $(CCS)")
# Extra Features #
ldflags = []
- if '+compression' in self.spec:
- cflags.append('-DCOMMON_FILE_COMPRESS_GZ')
- ldflags.append(' {0} '.format(self.spec['zlib'].libs.joined()))
+ if "+compression" in self.spec:
+ cflags.append("-DCOMMON_FILE_COMPRESS_GZ")
+ ldflags.append(" {0} ".format(self.spec["zlib"].libs.joined()))
- cflags.append('-DCOMMON_PTHREAD')
+ cflags.append("-DCOMMON_PTHREAD")
# NOTE: bg-q platform needs -lpthread (and not -pthread)
# otherwise we get illegal instruction error during runtime
- if self.spec.satisfies('platform=darwin'):
- cflags.append('-DCOMMON_PTHREAD_BARRIER')
- ldflags.append('-lm -pthread')
+ if self.spec.satisfies("platform=darwin"):
+ cflags.append("-DCOMMON_PTHREAD_BARRIER")
+ ldflags.append("-lm -pthread")
else:
- ldflags.append('-lm -lrt -pthread')
+ ldflags.append("-lm -lrt -pthread")
- makefile_inc.append('LDFLAGS = %s' % ' '.join(ldflags))
+ makefile_inc.append("LDFLAGS = %s" % " ".join(ldflags))
# General Features #
- flex_path = self.spec['flex'].command.path
- bison_path = self.spec['bison'].command.path
- makefile_inc.extend([
- 'EXE =',
- 'OBJ = .o',
- 'MAKE = make',
- 'CAT = cat',
- 'LN = ln',
- 'MKDIR = mkdir',
- 'MV = mv',
- 'CP = cp',
- 'CFLAGS = %s' % ' '.join(cflags),
- 'LEX = %s -Pscotchyy -olex.yy.c' % flex_path,
- 'YACC = %s -pscotchyy -y -b y' % bison_path,
- 'prefix = %s' % self.prefix
- ])
-
- with working_dir('src'):
- with open('Makefile.inc', 'w') as fh:
- fh.write('\n'.join(makefile_inc))
-
- @when('@:6')
+ flex_path = self.spec["flex"].command.path
+ bison_path = self.spec["bison"].command.path
+ makefile_inc.extend(
+ [
+ "EXE =",
+ "OBJ = .o",
+ "MAKE = make",
+ "CAT = cat",
+ "LN = ln",
+ "MKDIR = mkdir",
+ "MV = mv",
+ "CP = cp",
+ "CFLAGS = %s" % " ".join(cflags),
+ "LEX = %s -Pscotchyy -olex.yy.c" % flex_path,
+ "YACC = %s -pscotchyy -y -b y" % bison_path,
+ "prefix = %s" % self.prefix,
+ ]
+ )
+
+ with working_dir("src"):
+ with open("Makefile.inc", "w") as fh:
+ fh.write("\n".join(makefile_inc))
+
+ @when("@:6")
def install(self, spec, prefix):
- targets = ['scotch']
- if '+mpi' in self.spec:
- targets.append('ptscotch')
+ targets = ["scotch"]
+ if "+mpi" in self.spec:
+ targets.append("ptscotch")
- if self.spec.version >= Version('6.0.0'):
- if '+esmumps' in self.spec:
- targets.append('esmumps')
- if '+mpi' in self.spec:
- targets.append('ptesmumps')
+ if self.spec.version >= Version("6.0.0"):
+ if "+esmumps" in self.spec:
+ targets.append("esmumps")
+ if "+mpi" in self.spec:
+ targets.append("ptesmumps")
- with working_dir('src'):
+ with working_dir("src"):
for target in targets:
# It seems that building ptesmumps in parallel fails, for
# version prior to 6.0.0 there is no separated targets force
# ptesmumps, this library is built by the ptscotch target. This
# should explain the test for the can_make_parallel variable
- can_make_parallel = \
- not (target == 'ptesmumps' or
- (self.spec.version < Version('6.0.0') and
- target == 'ptscotch'))
+ can_make_parallel = not (
+ target == "ptesmumps"
+ or (self.spec.version < Version("6.0.0") and target == "ptscotch")
+ )
make(target, parallel=can_make_parallel)
- lib_ext = dso_suffix if '+shared' in self.spec else 'a'
+ lib_ext = dso_suffix if "+shared" in self.spec else "a"
# It seems easier to remove metis wrappers from the folder that will be
# installed than to tweak the Makefiles
- if '+metis' not in self.spec:
- with working_dir('lib'):
- force_remove('libscotchmetis.{0}'.format(lib_ext))
- force_remove('libptscotchparmetis.{0}'.format(lib_ext))
+ if "+metis" not in self.spec:
+ with working_dir("lib"):
+ force_remove("libscotchmetis.{0}".format(lib_ext))
+ force_remove("libptscotchparmetis.{0}".format(lib_ext))
- with working_dir('include'):
- force_remove('metis.h')
- force_remove('parmetis.h')
+ with working_dir("include"):
+ force_remove("metis.h")
+ force_remove("parmetis.h")
- if '~esmumps' in self.spec and self.spec.version < Version('6.0.0'):
- with working_dir('lib'):
- force_remove('libesmumps.{0}'.format(lib_ext))
- force_remove('libptesmumps.{0}'.format(lib_ext))
+ if "~esmumps" in self.spec and self.spec.version < Version("6.0.0"):
+ with working_dir("lib"):
+ force_remove("libesmumps.{0}".format(lib_ext))
+ force_remove("libptesmumps.{0}".format(lib_ext))
- with working_dir('include'):
- force_remove('esmumps.h')
+ with working_dir("include"):
+ force_remove("esmumps.h")
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- install_tree('man/man1', prefix.share.man.man1)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ install_tree("man/man1", prefix.share.man.man1)
@when("@:6")
def cmake(self, spec, prefix):
@@ -288,16 +290,16 @@ class Scotch(CMakePackage):
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('BUILD_LIBSCOTCHMETIS', 'metis'),
- self.define_from_variant('INSTALL_METIS_HEADERS', 'metis'),
- self.define_from_variant('BUILD_LIBESMUMPS', 'esmumps'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('BUILD_PTSCOTCH', 'mpi')
+ self.define_from_variant("BUILD_LIBSCOTCHMETIS", "metis"),
+ self.define_from_variant("INSTALL_METIS_HEADERS", "metis"),
+ self.define_from_variant("BUILD_LIBESMUMPS", "esmumps"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("BUILD_PTSCOTCH", "mpi"),
]
# TODO should we enable/disable THREADS?
- if '+int64' in spec:
- args.append('-DINTSIZE=64')
+ if "+int64" in spec:
+ args.append("-DINTSIZE=64")
return args
diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py
index 62eea6908f..5a4dfda834 100644
--- a/var/spack/repos/builtin/packages/scr/package.py
+++ b/var/spack/repos/builtin/packages/scr/package.py
@@ -10,143 +10,188 @@ from spack.package import *
def detect_scheduler():
- if which('aprun'):
- return 'APRUN'
- if which('jsrun'):
- return 'LSF'
- return 'SLURM'
+ if which("aprun"):
+ return "APRUN"
+ if which("jsrun"):
+ return "LSF"
+ return "SLURM"
class Scr(CMakePackage):
"""SCR caches checkpoint data in storage on the compute nodes of a
- Linux cluster to provide a fast, scalable checkpoint/restart
- capability for MPI codes"""
+ Linux cluster to provide a fast, scalable checkpoint/restart
+ capability for MPI codes"""
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"
- tags = ['e4s', 'radiuss']
-
- maintainers = ['CamStan', 'gonsie']
-
- version('develop', branch='develop')
- version('legacy', branch='legacy')
-
- version('3.0', sha256='e204d3e99a49efac50b4bedc7ac05f55a05f1a65429500d919900c82490532cc', preferred=True)
- version('3.0rc2', sha256='4b2a718af56b3683e428d25a2269c038e9452db734221d370e3023a491477fad', deprecated=True)
- version('3.0rc1', sha256='bd31548a986f050024429d8ee3644eb135f047f98a3d503a40c5bd4a85291308', deprecated=True)
- version('2.0.0', sha256='471978ae0afb56a20847d3989b994fbd680d1dea21e77a5a46a964b6e3deed6b')
- version('1.2.2', sha256='764a85638a9e8762667ec1f39fa5f7da7496fca78de379a22198607b3e027847', deprecated=True)
- version('1.2.1', sha256='23acab2dc7203e9514455a5168f2fd57bc590affb7a1876912b58201513628fe', deprecated=True)
- version('1.2.0', sha256='e3338ab2fa6e9332d2326c59092b584949a083a876adf5a19d4d5c7a1bbae047', deprecated=True)
-
- depends_on('mpi')
- depends_on('zlib')
+ url = "https://github.com/LLNL/scr/archive/v1.2.0.tar.gz"
+ git = "https://github.com/llnl/scr.git"
+ tags = ["e4s", "radiuss"]
+
+ maintainers = ["CamStan", "gonsie"]
+
+ version("develop", branch="develop")
+ version("legacy", branch="legacy")
+
+ version(
+ "3.0",
+ sha256="e204d3e99a49efac50b4bedc7ac05f55a05f1a65429500d919900c82490532cc",
+ preferred=True,
+ )
+ version(
+ "3.0rc2",
+ sha256="4b2a718af56b3683e428d25a2269c038e9452db734221d370e3023a491477fad",
+ deprecated=True,
+ )
+ version(
+ "3.0rc1",
+ sha256="bd31548a986f050024429d8ee3644eb135f047f98a3d503a40c5bd4a85291308",
+ deprecated=True,
+ )
+ version("2.0.0", sha256="471978ae0afb56a20847d3989b994fbd680d1dea21e77a5a46a964b6e3deed6b")
+ version(
+ "1.2.2",
+ sha256="764a85638a9e8762667ec1f39fa5f7da7496fca78de379a22198607b3e027847",
+ deprecated=True,
+ )
+ version(
+ "1.2.1",
+ sha256="23acab2dc7203e9514455a5168f2fd57bc590affb7a1876912b58201513628fe",
+ deprecated=True,
+ )
+ version(
+ "1.2.0",
+ sha256="e3338ab2fa6e9332d2326c59092b584949a083a876adf5a19d4d5c7a1bbae047",
+ deprecated=True,
+ )
+
+ depends_on("mpi")
+ depends_on("zlib")
# Use latest iteration of dtcmp and components when installing scr@develop
- cmpnts = [
- 'axl', 'dtcmp', 'er', 'kvtree', 'rankstr', 'redset', 'shuffile', 'spath'
- ]
+ cmpnts = ["axl", "dtcmp", "er", "kvtree", "rankstr", "redset", "shuffile", "spath"]
for comp in cmpnts:
- depends_on(comp + '@main', when='@develop')
+ depends_on(comp + "@main", when="@develop")
# SCR legacy is anything 2.x.x or earlier
# SCR components is anything 3.x.x or later
- depends_on('axl@0.4.0', when='@3.0rc1')
- depends_on('er@0.0.4', when='@3.0rc1')
- depends_on('kvtree@1.1.1', when='@3.0rc1')
- depends_on('rankstr@0.0.3', when='@3.0rc1')
- depends_on('redset@0.0.5', when='@3.0rc1')
- depends_on('shuffile@0.0.4', when='@3.0rc1')
- depends_on('spath@0.0.2', when='@3.0rc1')
-
- depends_on('axl@0.5.0:', when='@3.0rc2')
- depends_on('er@0.1.0:', when='@3.0rc2')
- depends_on('kvtree@1.2.0:', when='@3.0rc2')
- depends_on('rankstr@0.1.0:', when='@3.0rc2')
- depends_on('redset@0.1.0:', when='@3.0rc2')
- depends_on('shuffile@0.1.0:', when='@3.0rc2')
- depends_on('spath@0.1.0:', when='@3.0rc2')
-
- depends_on('axl@0.6.0', when='@3.0.0:')
- depends_on('er@0.2.0', when='@3.0.0:')
- depends_on('kvtree@1.3.0', when='@3.0.0:')
- depends_on('rankstr@0.1.0', when='@3.0.0:')
- depends_on('redset@0.2.0', when='@3.0.0:')
- depends_on('shuffile@0.2.0', when='@3.0.0:')
- depends_on('spath@0.2.0', when='@3.0.0:')
- depends_on('dtcmp@1.1.4', when='@3.0.0:')
+ depends_on("axl@0.4.0", when="@3.0rc1")
+ depends_on("er@0.0.4", when="@3.0rc1")
+ depends_on("kvtree@1.1.1", when="@3.0rc1")
+ depends_on("rankstr@0.0.3", when="@3.0rc1")
+ depends_on("redset@0.0.5", when="@3.0rc1")
+ depends_on("shuffile@0.0.4", when="@3.0rc1")
+ depends_on("spath@0.0.2", when="@3.0rc1")
+
+ depends_on("axl@0.5.0:", when="@3.0rc2")
+ depends_on("er@0.1.0:", when="@3.0rc2")
+ depends_on("kvtree@1.2.0:", when="@3.0rc2")
+ depends_on("rankstr@0.1.0:", when="@3.0rc2")
+ depends_on("redset@0.1.0:", when="@3.0rc2")
+ depends_on("shuffile@0.1.0:", when="@3.0rc2")
+ depends_on("spath@0.1.0:", when="@3.0rc2")
+
+ depends_on("axl@0.6.0", when="@3.0.0:")
+ depends_on("er@0.2.0", when="@3.0.0:")
+ depends_on("kvtree@1.3.0", when="@3.0.0:")
+ depends_on("rankstr@0.1.0", when="@3.0.0:")
+ depends_on("redset@0.2.0", when="@3.0.0:")
+ depends_on("shuffile@0.2.0", when="@3.0.0:")
+ depends_on("spath@0.2.0", when="@3.0.0:")
+ depends_on("dtcmp@1.1.4", when="@3.0.0:")
# DTCMP is an optional dependency up until 3.x, required thereafter
- variant('dtcmp', default=True, when='@:2',
- description='Build with DTCMP. '
- 'Necessary to enable user directory naming at runtime')
- depends_on('dtcmp', when='+dtcmp')
- depends_on('dtcmp', when='@3:')
-
- variant('libyogrt', default=True,
- description='Build SCR with libyogrt for get_time_remaining.')
- depends_on('libyogrt scheduler=slurm', when='+libyogrt resource_manager=SLURM')
- depends_on('libyogrt scheduler=lsf', when='+libyogrt resource_manager=LSF')
- depends_on('libyogrt', when='+libyogrt')
+ variant(
+ "dtcmp",
+ default=True,
+ when="@:2",
+ description="Build with DTCMP. " "Necessary to enable user directory naming at runtime",
+ )
+ depends_on("dtcmp", when="+dtcmp")
+ depends_on("dtcmp", when="@3:")
+
+ variant(
+ "libyogrt", default=True, description="Build SCR with libyogrt for get_time_remaining."
+ )
+ depends_on("libyogrt scheduler=slurm", when="+libyogrt resource_manager=SLURM")
+ depends_on("libyogrt scheduler=lsf", when="+libyogrt resource_manager=LSF")
+ depends_on("libyogrt", when="+libyogrt")
# PDSH required up to 3.0rc1, optional thereafter
# TODO spack currently assumes 3.0.0 = 3.0 = 3 < 3.0rc1 < 3.0rc2
- variant('pdsh', default=True, when='@3.0.0,3.0rc2:',
- description='Enable use of PDSH')
- depends_on('pdsh+static_modules', type=('build', 'run'), when='+pdsh')
- depends_on('pdsh+static_modules', type=('build', 'run'), when='@:2,3.0rc1')
-
- variant('scr_config', default='scr.conf',
- description='Location for SCR to find its system config file. '
- 'May be either absolute or relative to the install prefix')
- variant('copy_config', default='none',
- description='Location from which to copy SCR system config file. '
- 'Must be an absolute path.')
-
- variant('fortran', default=True,
- description='Build SCR with fortran bindings')
-
- variant('resource_manager', default=detect_scheduler(),
- values=('SLURM', 'APRUN', 'LSF', 'NONE'),
- multi=False,
- description='Resource manager for which to configure SCR.')
+ variant("pdsh", default=True, when="@3.0.0,3.0rc2:", description="Enable use of PDSH")
+ depends_on("pdsh+static_modules", type=("build", "run"), when="+pdsh")
+ depends_on("pdsh+static_modules", type=("build", "run"), when="@:2,3.0rc1")
+
+ variant(
+ "scr_config",
+ default="scr.conf",
+ description="Location for SCR to find its system config file. "
+ "May be either absolute or relative to the install prefix",
+ )
+ variant(
+ "copy_config",
+ default="none",
+ description="Location from which to copy SCR system config file. "
+ "Must be an absolute path.",
+ )
+
+ variant("fortran", default=True, description="Build SCR with fortran bindings")
+
+ variant(
+ "resource_manager",
+ default=detect_scheduler(),
+ values=("SLURM", "APRUN", "LSF", "NONE"),
+ multi=False,
+ description="Resource manager for which to configure SCR.",
+ )
# SCR_ASYNC_API only used in :2.x.x
- variant('async_api', default='NONE', when='@:2',
- values=('NONE', 'CRAY_DW', 'IBM_BBAPI', 'INTEL_CPPR'),
- multi=False,
- description='Asynchronous data transfer API to use with SCR.')
-
- variant('bbapi', default=True, when='@3.0rc2:',
- description='Enable IBM BBAPI support')
- depends_on('axl+bbapi', when='+bbapi')
- depends_on('axl~bbapi', when='~bbapi')
-
- variant('bbapi_fallback', default=False, when='@3:',
- description='Using BBAPI, if source or destination don\'t support \
- file extents then fallback to pthreads')
- depends_on('axl+bbapi_fallback', when='+bbapi_fallback')
- variant('bbapi_fallback', default=False, when='@3.0rc2: +bbapi',
- description='Using BBAPI, if source or destination don\'t support \
- file extents then fallback to pthreads')
- depends_on('axl+bbapi+bbapi_fallback', when='@3.0rc2: +bbapi_fallback')
-
- variant('dw', default=False, when='@3.0rc2:',
- description='Enable Cray DataWarp support')
- depends_on('axl+dw', when='+dw')
- depends_on('axl~dw', when='~dw')
-
- variant('examples', default=True, when='@3.0rc2:',
- description='Build SCR example programs')
-
- variant('file_lock', default='FLOCK',
- values=('FLOCK', 'FNCTL', 'NONE'),
- multi=False,
- description='File locking style for SCR.')
- depends_on('kvtree file_lock=FLOCK', when='@3: file_lock=FLOCK')
- depends_on('kvtree file_lock=FNCTL', when='@3: file_lock=FNCTL')
- depends_on('kvtree file_lock=NONE', when='@3: file_lock=NONE')
+ variant(
+ "async_api",
+ default="NONE",
+ when="@:2",
+ values=("NONE", "CRAY_DW", "IBM_BBAPI", "INTEL_CPPR"),
+ multi=False,
+ description="Asynchronous data transfer API to use with SCR.",
+ )
+
+ variant("bbapi", default=True, when="@3.0rc2:", description="Enable IBM BBAPI support")
+ depends_on("axl+bbapi", when="+bbapi")
+ depends_on("axl~bbapi", when="~bbapi")
+
+ variant(
+ "bbapi_fallback",
+ default=False,
+ when="@3:",
+ description="Using BBAPI, if source or destination don't support \
+ file extents then fallback to pthreads",
+ )
+ depends_on("axl+bbapi_fallback", when="+bbapi_fallback")
+ variant(
+ "bbapi_fallback",
+ default=False,
+ when="@3.0rc2: +bbapi",
+ description="Using BBAPI, if source or destination don't support \
+ file extents then fallback to pthreads",
+ )
+ depends_on("axl+bbapi+bbapi_fallback", when="@3.0rc2: +bbapi_fallback")
+
+ variant("dw", default=False, when="@3.0rc2:", description="Enable Cray DataWarp support")
+ depends_on("axl+dw", when="+dw")
+ depends_on("axl~dw", when="~dw")
+
+ variant("examples", default=True, when="@3.0rc2:", description="Build SCR example programs")
+
+ variant(
+ "file_lock",
+ default="FLOCK",
+ values=("FLOCK", "FNCTL", "NONE"),
+ multi=False,
+ description="File locking style for SCR.",
+ )
+ depends_on("kvtree file_lock=FLOCK", when="@3: file_lock=FLOCK")
+ depends_on("kvtree file_lock=FNCTL", when="@3: file_lock=FNCTL")
+ depends_on("kvtree file_lock=NONE", when="@3: file_lock=NONE")
# Enabling SCR logging is a WIP, for which this will be needed
# MySQL currently having build issues
@@ -154,35 +199,39 @@ class Scr(CMakePackage):
# capturing SCR and syslog messages in a database')
# depends_on('mysql', when='+mysql')
- variant('shared', default=True, when='@3.0rc2:',
- description='Build with shared libraries')
- depends_on('libyogrt+static', when='~shared')
+ variant("shared", default=True, when="@3.0rc2:", description="Build with shared libraries")
+ depends_on("libyogrt+static", when="~shared")
for comp in cmpnts:
- depends_on(comp + '+shared', when='+shared')
- depends_on(comp + '~shared', when='~shared')
- conflicts('~shared', when='+bbapi', msg='See SCR issue #453')
- conflicts('~shared', when='+examples', msg='See SCR issue #455')
+ depends_on(comp + "+shared", when="+shared")
+ depends_on(comp + "~shared", when="~shared")
+ conflicts("~shared", when="+bbapi", msg="See SCR issue #453")
+ conflicts("~shared", when="+examples", msg="See SCR issue #455")
# TODO: Expose `tests` and `resource_manager` variants in components and
# then propogate their setting through components.
- variant('tests', default=True, when='@3.0rc2:',
- description='Build with CTest included')
+ variant("tests", default=True, when="@3.0rc2:", description="Build with CTest included")
# The default cache and control directories should be placed in tmpfs if available.
# On Linux, /dev/shm is a common tmpfs location. Other platforms, like macOS,
# do not define a common tmpfs location, so /tmp is the next best option.
- platform_tmp_default = '/dev/shm' if sys.platform == 'linux' else '/tmp'
- variant('cache_base', default=platform_tmp_default,
- description='Compile time default location for cache directory.')
- variant('cntl_base', default=platform_tmp_default,
- description='Compile time default location for control directory.')
+ platform_tmp_default = "/dev/shm" if sys.platform == "linux" else "/tmp"
+ variant(
+ "cache_base",
+ default=platform_tmp_default,
+ description="Compile time default location for cache directory.",
+ )
+ variant(
+ "cntl_base",
+ default=platform_tmp_default,
+ description="Compile time default location for control directory.",
+ )
def flag_handler(self, name, flags):
- if self.spec.satisfies('%cce'):
- if name in ['cflags', 'cxxflags', 'cppflags']:
+ if self.spec.satisfies("%cce"):
+ if name in ["cflags", "cxxflags", "cppflags"]:
return (None, flags, None)
- elif name == 'ldflags':
- flags.append('-ldl')
+ elif name == "ldflags":
+ flags.append("-ldl")
return (flags, None, None)
def get_abs_path_rel_prefix(self, path):
@@ -196,66 +245,61 @@ class Scr(CMakePackage):
spec = self.spec
args = []
- args.append(self.define_from_variant('ENABLE_FORTRAN', 'fortran'))
- args.append(self.define_from_variant('SCR_FILE_LOCK', 'file_lock'))
- args.append(self.define_from_variant('SCR_CACHE_BASE', 'cache_base'))
- args.append(self.define_from_variant('SCR_CNTL_BASE', 'cntl_base'))
- args.append(self.define_from_variant(
- 'SCR_RESOURCE_MANAGER', 'resource_manager'))
- args.append(self.define('SCR_CONFIG_FILE', self.get_abs_path_rel_prefix(
- spec.variants['scr_config'].value)))
+ args.append(self.define_from_variant("ENABLE_FORTRAN", "fortran"))
+ args.append(self.define_from_variant("SCR_FILE_LOCK", "file_lock"))
+ args.append(self.define_from_variant("SCR_CACHE_BASE", "cache_base"))
+ args.append(self.define_from_variant("SCR_CNTL_BASE", "cntl_base"))
+ args.append(self.define_from_variant("SCR_RESOURCE_MANAGER", "resource_manager"))
+ args.append(
+ self.define(
+ "SCR_CONFIG_FILE", self.get_abs_path_rel_prefix(spec.variants["scr_config"].value)
+ )
+ )
- if '+libyogrt' in spec:
- args.append(self.define(
- 'WITH_YOGRT_PREFIX', spec['libyogrt'].prefix))
+ if "+libyogrt" in spec:
+ args.append(self.define("WITH_YOGRT_PREFIX", spec["libyogrt"].prefix))
# if '+mysql' in spec:
# args.append(self.define('WITH_MYSQL_PREFIX', spec['mysql'].prefix))
- if spec.satisfies('@3:'):
+ if spec.satisfies("@3:"):
# DTCMP and components required from this point on
- cmpnts = [
- 'axl', 'dtcmp', 'er', 'kvtree', 'rankstr', 'redset', 'shuffile',
- 'spath']
+ cmpnts = ["axl", "dtcmp", "er", "kvtree", "rankstr", "redset", "shuffile", "spath"]
for comp in cmpnts:
- args.append(self.define(
- 'WITH_' + comp.upper() + '_PREFIX', spec[comp].prefix))
+ args.append(self.define("WITH_" + comp.upper() + "_PREFIX", spec[comp].prefix))
else:
# dtcmp optional before this point
- if '+dtcmp' in spec:
- args.append(self.define(
- 'WITH_DTCMP_PREFIX', spec['dtcmp'].prefix))
+ if "+dtcmp" in spec:
+ args.append(self.define("WITH_DTCMP_PREFIX", spec["dtcmp"].prefix))
# Only used prior to version 3
- args.append(self.define_from_variant('SCR_ASYNC_API', 'async_api'))
+ args.append(self.define_from_variant("SCR_ASYNC_API", "async_api"))
- if spec.satisfies('@3.0rc2:'):
- args.append(self.define_from_variant('ENABLE_IBM_BBAPI', 'bbapi'))
- args.append(self.define_from_variant('ENABLE_CRAY_DW', 'dw'))
- args.append(self.define_from_variant('ENABLE_EXAMPLES', 'examples'))
- args.append(self.define_from_variant('ENABLE_YOGRT', 'libyogrt'))
+ if spec.satisfies("@3.0rc2:"):
+ args.append(self.define_from_variant("ENABLE_IBM_BBAPI", "bbapi"))
+ args.append(self.define_from_variant("ENABLE_CRAY_DW", "dw"))
+ args.append(self.define_from_variant("ENABLE_EXAMPLES", "examples"))
+ args.append(self.define_from_variant("ENABLE_YOGRT", "libyogrt"))
# args.append(self.define_from_variant('ENABLE_MYSQL', 'mysql'))
- args.append(self.define_from_variant('ENABLE_PDSH', 'pdsh'))
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
- args.append(self.define_from_variant('ENABLE_TESTS', 'tests'))
+ args.append(self.define_from_variant("ENABLE_PDSH", "pdsh"))
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
+ args.append(self.define_from_variant("ENABLE_TESTS", "tests"))
# PDSH optional from this point on
- if '+pdsh' in spec:
- args.append(self.define(
- 'WITH_PDSH_PREFIX', spec['pdsh'].prefix))
+ if "+pdsh" in spec:
+ args.append(self.define("WITH_PDSH_PREFIX", spec["pdsh"].prefix))
else:
# PDSH required before this point
- args.append(self.define('WITH_PDSH_PREFIX', spec['pdsh'].prefix))
+ args.append(self.define("WITH_PDSH_PREFIX", spec["pdsh"].prefix))
- if 'platform=cray' in spec:
- args.append(self.define('SCR_LINK_STATIC', False))
+ if "platform=cray" in spec:
+ args.append(self.define("SCR_LINK_STATIC", False))
return args
- @run_after('install')
+ @run_after("install")
def copy_config(self):
spec = self.spec
- if spec.variants['copy_config'].value != 'none':
- dest_path = self.get_abs_path_rel_prefix(
- spec.variants['scr_config'].value)
- install(spec.variants['copy_config'].value, dest_path)
+ if spec.variants["copy_config"].value != "none":
+ dest_path = self.get_abs_path_rel_prefix(spec.variants["scr_config"].value)
+ install(spec.variants["copy_config"].value, dest_path)
diff --git a/var/spack/repos/builtin/packages/screen/package.py b/var/spack/repos/builtin/packages/screen/package.py
index b31026791e..bd6c7d2e8e 100644
--- a/var/spack/repos/builtin/packages/screen/package.py
+++ b/var/spack/repos/builtin/packages/screen/package.py
@@ -14,27 +14,27 @@ class Screen(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/screen/"
gnu_mirror_path = "screen/screen-4.3.1.tar.gz"
- version('4.9.0', sha256='f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4')
- version('4.8.0', sha256='6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1')
- version('4.6.2', sha256='1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a')
- version('4.3.1', sha256='fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63')
- version('4.3.0', sha256='5164e89bcc60d7193177e6e02885cc42411d1d815c839e174fb9abafb9658c46')
- version('4.2.1', sha256='5468545047e301d2b3579f9d9ce00466d14a7eec95ce806e3834a3d6b0b9b080')
- version('4.2.0', sha256='7dc1b7a3e7669eefe7e65f32e201704d7a11cc688244fcf71757f7792a5ff413')
- version('4.0.3', sha256='78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77')
- version('4.0.2', sha256='05d087656d232b38c82379dfc66bf526d08e75e1f4c626acea4a2dda1ebcc845')
- version('3.9.15', sha256='11ea131c224fa759feee3bc6ee2e3d6915a97d2d6da46db968dc24b41de054db')
- version('3.9.11', sha256='f0d6d2eae538688766381c1658e3d4a64c8b4afb3682c2bb33ce96edc840a261')
- version('3.9.10', sha256='3e8df4e1888e59267c37d2a24fa8365cd4d2081392f719579a347a2c6d1386a8')
- version('3.9.9', sha256='8e40931ee93387c6897307419befb9d9c39bf66cd42261231f6160ef6c54dccb')
- version('3.9.8', sha256='7c0593b5eec5191897e4293832cece08e4cbf362a2cf056d7d30e22727e7156b')
- version('3.9.4', sha256='a3d84f7e2ae97e6264a52bcc7e0717bc9cf6bb9dbbab8d1acd1e78eb35233f42')
- version('3.7.6', sha256='f30251dec5e23fac0d77922b5064e0b4db6d4d22a2a6534ebe4f3bae5ce22523')
- version('3.7.4', sha256='65d33ad60c7e18f0c527654574ba1e630a8d4da106f377264a0ec3fa953d22cf')
- version('3.7.2', sha256='6a882385d2810b8220b9e03c75c5fa184dcbd1afdb95974bbac396bb749a6cc0')
- version('3.7.1', sha256='0cd5b1a2cbba6bb2f2bc2145aec650abf02541fd3a2071117a99e4982f6e01da')
+ version("4.9.0", sha256="f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4")
+ version("4.8.0", sha256="6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1")
+ version("4.6.2", sha256="1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a")
+ version("4.3.1", sha256="fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63")
+ version("4.3.0", sha256="5164e89bcc60d7193177e6e02885cc42411d1d815c839e174fb9abafb9658c46")
+ version("4.2.1", sha256="5468545047e301d2b3579f9d9ce00466d14a7eec95ce806e3834a3d6b0b9b080")
+ version("4.2.0", sha256="7dc1b7a3e7669eefe7e65f32e201704d7a11cc688244fcf71757f7792a5ff413")
+ version("4.0.3", sha256="78f0d5b1496084a5902586304d4a73954b2bfe33ea13edceecf21615c39e6c77")
+ version("4.0.2", sha256="05d087656d232b38c82379dfc66bf526d08e75e1f4c626acea4a2dda1ebcc845")
+ version("3.9.15", sha256="11ea131c224fa759feee3bc6ee2e3d6915a97d2d6da46db968dc24b41de054db")
+ version("3.9.11", sha256="f0d6d2eae538688766381c1658e3d4a64c8b4afb3682c2bb33ce96edc840a261")
+ version("3.9.10", sha256="3e8df4e1888e59267c37d2a24fa8365cd4d2081392f719579a347a2c6d1386a8")
+ version("3.9.9", sha256="8e40931ee93387c6897307419befb9d9c39bf66cd42261231f6160ef6c54dccb")
+ version("3.9.8", sha256="7c0593b5eec5191897e4293832cece08e4cbf362a2cf056d7d30e22727e7156b")
+ version("3.9.4", sha256="a3d84f7e2ae97e6264a52bcc7e0717bc9cf6bb9dbbab8d1acd1e78eb35233f42")
+ version("3.7.6", sha256="f30251dec5e23fac0d77922b5064e0b4db6d4d22a2a6534ebe4f3bae5ce22523")
+ version("3.7.4", sha256="65d33ad60c7e18f0c527654574ba1e630a8d4da106f377264a0ec3fa953d22cf")
+ version("3.7.2", sha256="6a882385d2810b8220b9e03c75c5fa184dcbd1afdb95974bbac396bb749a6cc0")
+ version("3.7.1", sha256="0cd5b1a2cbba6bb2f2bc2145aec650abf02541fd3a2071117a99e4982f6e01da")
- depends_on('ncurses')
- depends_on('autoconf', type='build', when='@4.9.0:')
- depends_on('automake', type='build', when='@4.9.0:')
- depends_on('libtool', type='build', when='@4.9.0:')
+ depends_on("ncurses")
+ depends_on("autoconf", type="build", when="@4.9.0:")
+ depends_on("automake", type="build", when="@4.9.0:")
+ depends_on("libtool", type="build", when="@4.9.0:")
diff --git a/var/spack/repos/builtin/packages/scripts/package.py b/var/spack/repos/builtin/packages/scripts/package.py
index bafdde9532..f3214f31dc 100644
--- a/var/spack/repos/builtin/packages/scripts/package.py
+++ b/var/spack/repos/builtin/packages/scripts/package.py
@@ -12,9 +12,9 @@ class Scripts(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/scripts"
xorg_mirror_path = "app/scripts-1.0.1.tar.gz"
- version('1.0.1', sha256='0ed6dabdbe821944d61830489ad5f21bd934550456b9157a1cd8a32f76e08279')
+ version("1.0.1", sha256="0ed6dabdbe821944d61830489ad5f21bd934550456b9157a1cd8a32f76e08279")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/scrnsaverproto/package.py b/var/spack/repos/builtin/packages/scrnsaverproto/package.py
index 1193731417..0e57acc20f 100644
--- a/var/spack/repos/builtin/packages/scrnsaverproto/package.py
+++ b/var/spack/repos/builtin/packages/scrnsaverproto/package.py
@@ -15,7 +15,7 @@ class Scrnsaverproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/scrnsaverproto"
xorg_mirror_path = "proto/scrnsaverproto-1.2.2.tar.gz"
- version('1.2.2', sha256='d8dee19c52977f65af08fad6aa237bacee11bc5a33e1b9b064e8ac1fd99d6e79')
+ version("1.2.2", sha256="d8dee19c52977f65af08fad6aa237bacee11bc5a33e1b9b064e8ac1fd99d6e79")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/scrot/package.py b/var/spack/repos/builtin/packages/scrot/package.py
index 73deae863e..25f15f2324 100644
--- a/var/spack/repos/builtin/packages/scrot/package.py
+++ b/var/spack/repos/builtin/packages/scrot/package.py
@@ -13,13 +13,13 @@ class Scrot(AutotoolsPackage):
dynamic saver modules."""
homepage = "https://github.com/resurrecting-open-source-projects/scrot"
- url = "https://github.com/resurrecting-open-source-projects/scrot/releases/download/1.5/scrot-1.5.tar.gz"
+ url = "https://github.com/resurrecting-open-source-projects/scrot/releases/download/1.5/scrot-1.5.tar.gz"
- version('1.6', sha256='42f64d38f04ec530c8b4ebdae04cce8b6893b2f8d30627391d390edcba917090')
- version('1.5', sha256='42fcf1c97940f4b4e34ca69990a0fc9b98991357bd6a4b67f30ebe0ccc10f093')
+ version("1.6", sha256="42f64d38f04ec530c8b4ebdae04cce8b6893b2f8d30627391d390edcba917090")
+ version("1.5", sha256="42fcf1c97940f4b4e34ca69990a0fc9b98991357bd6a4b67f30ebe0ccc10f093")
- depends_on('giblib', when='@:1.5')
- depends_on('imlib2')
- depends_on('libtool')
- depends_on('libxcomposite')
- depends_on('libxfixes')
+ depends_on("giblib", when="@:1.5")
+ depends_on("imlib2")
+ depends_on("libtool")
+ depends_on("libxcomposite")
+ depends_on("libxfixes")
diff --git a/var/spack/repos/builtin/packages/scs/package.py b/var/spack/repos/builtin/packages/scs/package.py
index 9d860920f2..592257c2b9 100644
--- a/var/spack/repos/builtin/packages/scs/package.py
+++ b/var/spack/repos/builtin/packages/scs/package.py
@@ -11,31 +11,31 @@ class Scs(MakefilePackage):
"""A C package that solves convex cone problems via operator splitting"""
homepage = "https://github.com/cvxgrp/scs"
- url = "https://github.com/cvxgrp/scs/archive/2.1.1.tar.gz"
+ url = "https://github.com/cvxgrp/scs/archive/2.1.1.tar.gz"
- version('2.1.1', sha256='0e20b91e8caf744b84aa985ba4e98cc7235ee33612b2bad2bf31ea5ad4e07d93')
+ version("2.1.1", sha256="0e20b91e8caf744b84aa985ba4e98cc7235ee33612b2bad2bf31ea5ad4e07d93")
- variant('cuda', default=False, description='Build with Cuda support')
+ variant("cuda", default=False, description="Build with Cuda support")
- depends_on('blas')
- depends_on('lapack')
- depends_on('cuda', when='+cuda')
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("cuda", when="+cuda")
# make sure install_gpu target installs all libs not only the gpu ones
- patch('make_gpu.patch')
+ patch("make_gpu.patch")
def edit(self, spec, prefix):
- filter_file(r'-lblas', spec['blas'].libs.ld_flags, 'scs.mk')
- filter_file(r'-llapack', spec['lapack'].libs.ld_flags, 'scs.mk')
+ filter_file(r"-lblas", spec["blas"].libs.ld_flags, "scs.mk")
+ filter_file(r"-llapack", spec["lapack"].libs.ld_flags, "scs.mk")
def build(self, spec, prefix):
- if '+cuda' in spec:
- make('default', 'gpu')
+ if "+cuda" in spec:
+ make("default", "gpu")
else:
make()
def install(self, spec, prefix):
- if '+cuda' in spec:
- make('PREFIX=' + prefix, 'install_gpu')
+ if "+cuda" in spec:
+ make("PREFIX=" + prefix, "install_gpu")
else:
- make('PREFIX=' + prefix, 'install')
+ make("PREFIX=" + prefix, "install")
diff --git a/var/spack/repos/builtin/packages/sctk/package.py b/var/spack/repos/builtin/packages/sctk/package.py
index 5bcf0d01e2..543765b785 100644
--- a/var/spack/repos/builtin/packages/sctk/package.py
+++ b/var/spack/repos/builtin/packages/sctk/package.py
@@ -8,25 +8,37 @@ from spack.package import *
class Sctk(Package):
"""The NIST Scoring Toolkit (SCTK) is a collection of software tools
- designed to score benchmark test evaluations of Automatic Speech
- Recognition (ASR) Systems. The toolkit is currently used by NIST,
- benchmark test participants, and reserchers worldwide to as a
- common scoring engine."""
+ designed to score benchmark test evaluations of Automatic Speech
+ Recognition (ASR) Systems. The toolkit is currently used by NIST,
+ benchmark test participants, and reserchers worldwide to as a
+ common scoring engine."""
homepage = "https://www.nist.gov/itl/iad/mig/tools"
- url = "https://www.openslr.org/resources/4/sctk-2.4.10-20151007-1312Z.tar.bz2"
+ url = "https://www.openslr.org/resources/4/sctk-2.4.10-20151007-1312Z.tar.bz2"
- version('2.4.10', sha256='9cef424ce3a899f83b9527dc6fa83badf1bb14151529a78580301dd248bd2bf9',
- url='https://www.openslr.org/resources/4/sctk-2.4.10-20151007-1312Z.tar.bz2')
- version('2.4.9', sha256='262c92cca47755539dfa28add6120aa3ec4983b44b51f053f601e601c064617c',
- url='https://www.openslr.org/resources/4/sctk-2.4.9-20141015-1634Z.tar.bz2')
- version('2.4.8', sha256='ca9c5164cd06439ff85e681bc94a02a67139c7111591c628667151d386a02d5b',
- url='https://www.openslr.org/resources/4/sctk-2.4.8-20130429-2145.tar.bz2')
- version('2.4.0', sha256='73886bf3b879882a132141967ffe6b365178a2226390d2212f51a63e5df066e2',
- url='https://www.openslr.org/resources/4/sctk-2.4.0-20091110-0958.tar.bz2')
+ version(
+ "2.4.10",
+ sha256="9cef424ce3a899f83b9527dc6fa83badf1bb14151529a78580301dd248bd2bf9",
+ url="https://www.openslr.org/resources/4/sctk-2.4.10-20151007-1312Z.tar.bz2",
+ )
+ version(
+ "2.4.9",
+ sha256="262c92cca47755539dfa28add6120aa3ec4983b44b51f053f601e601c064617c",
+ url="https://www.openslr.org/resources/4/sctk-2.4.9-20141015-1634Z.tar.bz2",
+ )
+ version(
+ "2.4.8",
+ sha256="ca9c5164cd06439ff85e681bc94a02a67139c7111591c628667151d386a02d5b",
+ url="https://www.openslr.org/resources/4/sctk-2.4.8-20130429-2145.tar.bz2",
+ )
+ version(
+ "2.4.0",
+ sha256="73886bf3b879882a132141967ffe6b365178a2226390d2212f51a63e5df066e2",
+ url="https://www.openslr.org/resources/4/sctk-2.4.0-20091110-0958.tar.bz2",
+ )
def install(self, spec, prefix):
- make('config')
- make('all')
- make('install')
- install_tree('bin', prefix.bin)
+ make("config")
+ make("all")
+ make("install")
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sdl2-image/package.py b/var/spack/repos/builtin/packages/sdl2-image/package.py
index 4d2508c834..17bbeab81f 100644
--- a/var/spack/repos/builtin/packages/sdl2-image/package.py
+++ b/var/spack/repos/builtin/packages/sdl2-image/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Sdl2Image(AutotoolsPackage):
"""SDL is designed to provide the bare bones of creating a graphical
- program. """
+ program."""
homepage = "http://sdl.beuc.net/sdl.wiki/SDL_image"
- url = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz"
+ url = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz"
- version('2.0.1', sha256='3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64')
+ version("2.0.1", sha256="3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64")
- depends_on('sdl2')
+ depends_on("sdl2")
diff --git a/var/spack/repos/builtin/packages/sdl2/package.py b/var/spack/repos/builtin/packages/sdl2/package.py
index 553377aa9a..6f191fd28d 100644
--- a/var/spack/repos/builtin/packages/sdl2/package.py
+++ b/var/spack/repos/builtin/packages/sdl2/package.py
@@ -12,17 +12,13 @@ class Sdl2(CMakePackage):
and graphics hardware via OpenGL and Direct3D."""
homepage = "https://wiki.libsdl.org/FrontPage"
- url = "https://libsdl.org/release/SDL2-2.0.5.tar.gz"
+ url = "https://libsdl.org/release/SDL2-2.0.5.tar.gz"
- version('2.0.14', sha256='d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc')
- version('2.0.5', sha256='442038cf55965969f2ff06d976031813de643af9c9edc9e331bd761c242e8785')
+ version("2.0.14", sha256="d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc")
+ version("2.0.5", sha256="442038cf55965969f2ff06d976031813de643af9c9edc9e331bd761c242e8785")
- depends_on('cmake@2.8.5:', type='build')
- depends_on('libxext', type='link')
+ depends_on("cmake@2.8.5:", type="build")
+ depends_on("libxext", type="link")
def cmake_args(self):
- return [
- '-DSSEMATH={0}'.format(
- 'OFF' if self.spec.target.family == 'aarch64' else 'ON'
- )
- ]
+ return ["-DSSEMATH={0}".format("OFF" if self.spec.target.family == "aarch64" else "ON")]
diff --git a/var/spack/repos/builtin/packages/sdsl-lite/package.py b/var/spack/repos/builtin/packages/sdsl-lite/package.py
index 4bb03f6c7a..837a56e3cc 100644
--- a/var/spack/repos/builtin/packages/sdsl-lite/package.py
+++ b/var/spack/repos/builtin/packages/sdsl-lite/package.py
@@ -9,34 +9,33 @@ from spack.package import *
class SdslLite(Package):
"""SDSL - Succinct Data Structure Library
- The Succinct Data Structure Library (SDSL) is a powerful and flexible
- C++11 library implementing succinct data structures."""
+ The Succinct Data Structure Library (SDSL) is a powerful and flexible
+ C++11 library implementing succinct data structures."""
homepage = "https://github.com/simongog/sdsl-lite"
- version('2.1.1', sha256='2f192977b47406ae8992292c7e841ef23d4656bf72f6140540bed53af68e06ed',
- expand=False)
+ version(
+ "2.1.1",
+ sha256="2f192977b47406ae8992292c7e841ef23d4656bf72f6140540bed53af68e06ed",
+ expand=False,
+ )
- depends_on('cmake', type='build')
- depends_on('tar', type='build')
+ depends_on("cmake", type="build")
+ depends_on("tar", type="build")
def url_for_version(self, version):
- line = 'https://github.com/simongog/sdsl-lite/releases/download/v{0}/sdsl-lite-{0}.tar.gz.offline.install.gz'
+ line = "https://github.com/simongog/sdsl-lite/releases/download/v{0}/sdsl-lite-{0}.tar.gz.offline.install.gz"
return line.format(version.dotted)
def install(self, spec, prefix):
# spack will fail to expand the archive on its own due to a link loop
# expand it manually here and run the install helper
- tar = which('tar')
- tar('-xvf', self.stage.archive_file)
-
- with working_dir('sdsl-lite-{0}'.format(spec.version.dotted)):
- if self.spec.satisfies('%fj'):
- filter_file(
- 'stdlib=libc',
- 'stdlib=libstdc',
- './CMakeLists.txt'
- )
- helper = Executable('./install.sh')
+ tar = which("tar")
+ tar("-xvf", self.stage.archive_file)
+
+ with working_dir("sdsl-lite-{0}".format(spec.version.dotted)):
+ if self.spec.satisfies("%fj"):
+ filter_file("stdlib=libc", "stdlib=libstdc", "./CMakeLists.txt")
+ helper = Executable("./install.sh")
helper(prefix)
diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py
index e1994c51c9..45de2f1a5a 100644
--- a/var/spack/repos/builtin/packages/seacas/package.py
+++ b/var/spack/repos/builtin/packages/seacas/package.py
@@ -16,107 +16,147 @@ from spack.package import *
class Seacas(CMakePackage):
"""The SEACAS Project contains the Exodus and IOSS libraries and a
- collection of applications which create, query, modify, or
- translate exodus databases. Default is to build the exodus and
- IOSS libraries and the io_shell, io_info, io_modify, struc_to_unstruc apps.
+ collection of applications which create, query, modify, or
+ translate exodus databases. Default is to build the exodus and
+ IOSS libraries and the io_shell, io_info, io_modify, struc_to_unstruc apps.
"""
+
homepage = "https://sandialabs.github.io/seacas/"
- git = "https://github.com/sandialabs/seacas.git"
- url = "https://github.com/sandialabs/seacas/archive/v2019-08-20.tar.gz"
- maintainers = ['gsjaardema']
+ git = "https://github.com/sandialabs/seacas.git"
+ url = "https://github.com/sandialabs/seacas/archive/v2019-08-20.tar.gz"
+ maintainers = ["gsjaardema"]
# ###################### Versions ##########################
- version('master', branch='master')
- version('2022-05-16', sha256='22ff67045d730a2c7d5394c9034e44a2033cc82a461574f93d899e9aa713d4ae')
- version('2022-03-04', sha256='a934a473e1fdfbc8dbb55058358551a02e03a60e5cdbf2b28b8ecd3d9500bfa5')
- version('2022-02-16', sha256='a6accb9924f0f357f63a01485c3eaaf5ceb6a22dfda73fc9bfb17d7e2f565098')
- version('2022-01-27', sha256='beff12583814dcaf75cf8f1a78bb183c1dcc8937bc18d5206672e3a692db05e0')
- version('2021-10-11', sha256='f8a6dac813c0937fed4a5377123aa61d47eb459ba87ddf368d02ebe10c2c3a0d')
- version('2021-09-30', sha256='5d061e35e93eb81214da3b67ddda2829cf5efed38a566be6363a9866ba2f9ab3')
- version('2021-05-12', sha256='92663767f0317018d6f6e422e8c687e49f6f7eb2b92e49e837eb7dc0ca0ac33d')
- version('2021-04-05', sha256='76f66eec1fec7aba30092c94c7609495e6b90d9dcb6f35b3ee188304d02c6e04')
- version('2021-01-20', sha256='7814e81981d03009b6816be3eb4ed3845fd02cc69e006ee008a2cbc85d508246')
- version('2021-01-06', sha256='b233502a7dc3e5ab69466054cf358eb033e593b8679c6721bf630b03999bd7e5')
- version('2020-08-13', sha256='e5eaf203eb2dbfb33c61ccde26deea459d058aaea79b0847e2f4bdb0cef1ddcb')
- version('2020-05-12', sha256='7fc6915f60568b36e052ba07a77d691c99abe42eaba6ae8a6dc74bb33490ed60')
- version('2020-03-16', sha256='2eb404f3dcb17c3e7eacf66978372830d40ef3722788207741fcd48417807af6')
- version('2020-01-16', sha256='5ae84f61e410a4f3f19153737e0ac0493b144f20feb1bbfe2024f76613d8bff5')
- version('2019-12-18', sha256='f82cfa276ebc5fe6054852383da16eba7a51c81e6640c73b5f01fc3109487c6f')
- version('2019-10-14', sha256='ca4cf585cdbc15c25f302140fe1f61ee1a30d72921e032b9a854492b6c61fb91')
- version('2019-08-20', sha256='a82c1910c2b37427616dc3716ca0b3c1c77410db6723aefb5bea9f47429666e5')
- version('2019-07-26', sha256='651dac832b0cfee0f63527f563415c8a65b8e4d79242735c1e2aec606f6b2e17')
+ version("master", branch="master")
+ version(
+ "2022-05-16", sha256="22ff67045d730a2c7d5394c9034e44a2033cc82a461574f93d899e9aa713d4ae"
+ )
+ version(
+ "2022-03-04", sha256="a934a473e1fdfbc8dbb55058358551a02e03a60e5cdbf2b28b8ecd3d9500bfa5"
+ )
+ version(
+ "2022-02-16", sha256="a6accb9924f0f357f63a01485c3eaaf5ceb6a22dfda73fc9bfb17d7e2f565098"
+ )
+ version(
+ "2022-01-27", sha256="beff12583814dcaf75cf8f1a78bb183c1dcc8937bc18d5206672e3a692db05e0"
+ )
+ version(
+ "2021-10-11", sha256="f8a6dac813c0937fed4a5377123aa61d47eb459ba87ddf368d02ebe10c2c3a0d"
+ )
+ version(
+ "2021-09-30", sha256="5d061e35e93eb81214da3b67ddda2829cf5efed38a566be6363a9866ba2f9ab3"
+ )
+ version(
+ "2021-05-12", sha256="92663767f0317018d6f6e422e8c687e49f6f7eb2b92e49e837eb7dc0ca0ac33d"
+ )
+ version(
+ "2021-04-05", sha256="76f66eec1fec7aba30092c94c7609495e6b90d9dcb6f35b3ee188304d02c6e04"
+ )
+ version(
+ "2021-01-20", sha256="7814e81981d03009b6816be3eb4ed3845fd02cc69e006ee008a2cbc85d508246"
+ )
+ version(
+ "2021-01-06", sha256="b233502a7dc3e5ab69466054cf358eb033e593b8679c6721bf630b03999bd7e5"
+ )
+ version(
+ "2020-08-13", sha256="e5eaf203eb2dbfb33c61ccde26deea459d058aaea79b0847e2f4bdb0cef1ddcb"
+ )
+ version(
+ "2020-05-12", sha256="7fc6915f60568b36e052ba07a77d691c99abe42eaba6ae8a6dc74bb33490ed60"
+ )
+ version(
+ "2020-03-16", sha256="2eb404f3dcb17c3e7eacf66978372830d40ef3722788207741fcd48417807af6"
+ )
+ version(
+ "2020-01-16", sha256="5ae84f61e410a4f3f19153737e0ac0493b144f20feb1bbfe2024f76613d8bff5"
+ )
+ version(
+ "2019-12-18", sha256="f82cfa276ebc5fe6054852383da16eba7a51c81e6640c73b5f01fc3109487c6f"
+ )
+ version(
+ "2019-10-14", sha256="ca4cf585cdbc15c25f302140fe1f61ee1a30d72921e032b9a854492b6c61fb91"
+ )
+ version(
+ "2019-08-20", sha256="a82c1910c2b37427616dc3716ca0b3c1c77410db6723aefb5bea9f47429666e5"
+ )
+ version(
+ "2019-07-26", sha256="651dac832b0cfee0f63527f563415c8a65b8e4d79242735c1e2aec606f6b2e17"
+ )
# ###################### Variants ##########################
# Package options
# The I/O libraries (exodus, IOSS) are always built
# -- required of both applications and legacy variants.
- variant('applications', default=True,
- description='Build all "current" SEACAS applications. This'
- ' includes a debatable list of essential applications: '
- 'aprepro, conjoin, cpup, ejoin, epu, exo2mat, mat2exo, '
- 'exo_format, exodiff, explore, grepos, io_shell, io_info, '
- 'io_modify, nemslice, nemspread, zellij')
- variant('legacy', default=True,
- description='Build all "legacy" SEACAS applications. This includes'
- ' a debatable list of "legacy" applications: algebra, blot, '
- 'exomatlab, exotxt, fastq, gen3d, genshell, gjoin, mapvar, '
- 'mapvar-kd, numbers, txtexo, nemesis')
+ variant(
+ "applications",
+ default=True,
+ description='Build all "current" SEACAS applications. This'
+ " includes a debatable list of essential applications: "
+ "aprepro, conjoin, cpup, ejoin, epu, exo2mat, mat2exo, "
+ "exo_format, exodiff, explore, grepos, io_shell, io_info, "
+ "io_modify, nemslice, nemspread, zellij",
+ )
+ variant(
+ "legacy",
+ default=True,
+ description='Build all "legacy" SEACAS applications. This includes'
+ ' a debatable list of "legacy" applications: algebra, blot, '
+ "exomatlab, exotxt, fastq, gen3d, genshell, gjoin, mapvar, "
+ "mapvar-kd, numbers, txtexo, nemesis",
+ )
# Build options
- variant('fortran', default=True,
- description='Compile with Fortran support')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('mpi', default=True, description='Enables MPI parallelism.')
+ variant("fortran", default=True, description="Compile with Fortran support")
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("mpi", default=True, description="Enables MPI parallelism.")
- variant('thread_safe', default=False,
- description='Enable thread-safe exodus and IOSS libraries')
+ variant(
+ "thread_safe", default=False, description="Enable thread-safe exodus and IOSS libraries"
+ )
# TPLs (alphabet order)
- variant('adios2', default=False,
- description='Enable ADIOS2')
- variant('cgns', default=True,
- description='Enable CGNS')
- variant('faodel', default=False,
- description='Enable Faodel')
- variant('matio', default=True,
- description='Compile with matio (MatLab) support')
- variant('metis', default=False,
- description='Compile with METIS and ParMETIS')
- variant('x11', default=True,
- description='Compile with X11')
+ variant("adios2", default=False, description="Enable ADIOS2")
+ variant("cgns", default=True, description="Enable CGNS")
+ variant("faodel", default=False, description="Enable Faodel")
+ variant("matio", default=True, description="Compile with matio (MatLab) support")
+ variant("metis", default=False, description="Compile with METIS and ParMETIS")
+ variant("x11", default=True, description="Compile with X11")
# ###################### Dependencies ##########################
- depends_on('netcdf-c@4.8.0:+mpi+parallel-netcdf', when='+mpi')
- depends_on('netcdf-c@4.8.0:~mpi', when='~mpi')
- depends_on('hdf5+hl~mpi', when='~mpi')
- depends_on('cgns@4.2.0:+mpi+scoping', when='+cgns +mpi')
- depends_on('cgns@4.2.0:~mpi+scoping', when='+cgns ~mpi')
- depends_on('fmt@8.1.0:', when='@2022-03-04:')
-
- with when('+adios2'):
- depends_on('adios2@master')
- depends_on('adios2~mpi', when='~mpi')
- depends_on('adios2+mpi', when='+mpi')
-
- depends_on('matio', when='+matio')
- with when('+metis'):
- depends_on('metis+int64+real64')
- depends_on('parmetis+int64', when='+mpi')
- depends_on('libx11', when='+x11')
+ depends_on("netcdf-c@4.8.0:+mpi+parallel-netcdf", when="+mpi")
+ depends_on("netcdf-c@4.8.0:~mpi", when="~mpi")
+ depends_on("hdf5+hl~mpi", when="~mpi")
+ depends_on("cgns@4.2.0:+mpi+scoping", when="+cgns +mpi")
+ depends_on("cgns@4.2.0:~mpi+scoping", when="+cgns ~mpi")
+ depends_on("fmt@8.1.0:", when="@2022-03-04:")
+
+ with when("+adios2"):
+ depends_on("adios2@master")
+ depends_on("adios2~mpi", when="~mpi")
+ depends_on("adios2+mpi", when="+mpi")
+
+ depends_on("matio", when="+matio")
+ with when("+metis"):
+ depends_on("metis+int64+real64")
+ depends_on("parmetis+int64", when="+mpi")
+ depends_on("libx11", when="+x11")
# The Faodel TPL is only supported in seacas@2021-04-05:
- depends_on('faodel@1.2108.1:+mpi', when='+faodel +mpi')
- depends_on('faodel@1.2108.1:~mpi', when='+faodel ~mpi')
- conflicts('+faodel', when='@:2021-01-20', msg='The Faodel TPL is only compatible with @2021-04-05 and later.')
+ depends_on("faodel@1.2108.1:+mpi", when="+faodel +mpi")
+ depends_on("faodel@1.2108.1:~mpi", when="+faodel ~mpi")
+ conflicts(
+ "+faodel",
+ when="@:2021-01-20",
+ msg="The Faodel TPL is only compatible with @2021-04-05 and later.",
+ )
# MPI related dependencies
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('cmake@3.1:', type='build')
+ depends_on("cmake@3.1:", type="build")
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
def cmake_args(self):
spec = self.spec
@@ -127,168 +167,183 @@ class Seacas(CMakePackage):
# #################### Base Settings #######################
- if '+mpi' in spec:
- options.extend([
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
- '-DTPL_ENABLE_MPI:BOOL=ON',
- '-DMPI_BASE_DIR:PATH=%s' % spec['mpi'].prefix,
- ])
+ if "+mpi" in spec:
+ options.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ "-DTPL_ENABLE_MPI:BOOL=ON",
+ "-DMPI_BASE_DIR:PATH=%s" % spec["mpi"].prefix,
+ ]
+ )
else:
- '-DTPL_ENABLE_MPI:BOOL=OFF'
-
- options.extend([
- '-DSEACASProj_ENABLE_TESTS:BOOL=ON',
- '-DSEACASProj_ENABLE_CXX11:BOOL=ON',
- from_variant('CMAKE_INSTALL_RPATH_USE_LINK_PATH', 'shared'),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DSEACASProj_ENABLE_Kokkos:BOOL=OFF',
- '-DSEACASProj_HIDE_DEPRECATED_CODE:BOOL=OFF',
- from_variant('SEACASExodus_ENABLE_THREADSAFE', 'thread_safe'),
- from_variant('SEACASIoss_ENABLE_THREADSAFE', 'thread_safe'),
- from_variant('SEACASProj_ENABLE_Fortran', 'fortran'),
- from_variant('TPL_ENABLE_X11', 'x11'),
- ])
+ "-DTPL_ENABLE_MPI:BOOL=OFF"
+
+ options.extend(
+ [
+ "-DSEACASProj_ENABLE_TESTS:BOOL=ON",
+ "-DSEACASProj_ENABLE_CXX11:BOOL=ON",
+ from_variant("CMAKE_INSTALL_RPATH_USE_LINK_PATH", "shared"),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DSEACASProj_ENABLE_Kokkos:BOOL=OFF",
+ "-DSEACASProj_HIDE_DEPRECATED_CODE:BOOL=OFF",
+ from_variant("SEACASExodus_ENABLE_THREADSAFE", "thread_safe"),
+ from_variant("SEACASIoss_ENABLE_THREADSAFE", "thread_safe"),
+ from_variant("SEACASProj_ENABLE_Fortran", "fortran"),
+ from_variant("TPL_ENABLE_X11", "x11"),
+ ]
+ )
# ########## What applications should be built #############
# Check whether they want everything; if so, do the easy way...
- if '+applications' in spec and '+legacy' in spec:
- options.extend([
- '-DSEACASProj_ENABLE_ALL_PACKAGES:BOOL=ON',
- '-DSEACASProj_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON',
- '-DSEACASProj_ENABLE_SECONDARY_TESTED_CODE:BOOL=ON',
- ])
+ if "+applications" in spec and "+legacy" in spec:
+ options.extend(
+ [
+ "-DSEACASProj_ENABLE_ALL_PACKAGES:BOOL=ON",
+ "-DSEACASProj_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON",
+ "-DSEACASProj_ENABLE_SECONDARY_TESTED_CODE:BOOL=ON",
+ ]
+ )
else:
# Don't want everything; handle the subsets:
- options.extend([
- '-DSEACASProj_ENABLE_ALL_PACKAGES:BOOL=OFF',
- '-DSEACASProj_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF',
- '-DSEACASProj_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF',
- '-DSEACASProj_ENABLE_SEACASIoss:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASExodus:BOOL=ON',
- from_variant('SEACASProj_ENABLE_SEACASExodus_for', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASExoIIv2for32', 'fortran'),
- ])
-
- if '+applications' in spec:
- options.extend([
- '-DSEACASProj_ENABLE_SEACASAprepro:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASAprepro_lib:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASConjoin:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASCpup:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASEjoin:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASEpu:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASExo2mat:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASExo_format:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASExodiff:BOOL=ON',
- from_variant('SEACASProj_ENABLE_SEACASExplore', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASGrepos', 'fortran'),
- '-DSEACASProj_ENABLE_SEACASMat2exo:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASNas2exo:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASNemslice:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASNemspread:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASSlice:BOOL=ON',
- '-DSEACASProj_ENABLE_SEACASZellij:BOOL=ON',
- ])
-
- if '+legacy' in spec:
- options.extend([
- define('SEACASProj_ENABLE_SEACASNemesis', True),
- from_variant('SEACASProj_ENABLE_SEACASAlgebra', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASBlot', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASEx1ex2v2', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASEx2ex1v2', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASExomatlab', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASExotec2', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASExotxt', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASFastq', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASGen3D', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASGenshell', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASGjoin', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASMapvar', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASMapvar-kd', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASNumbers', 'fortran'),
- from_variant('SEACASProj_ENABLE_SEACASTxtexo', 'fortran'),
- ])
+ options.extend(
+ [
+ "-DSEACASProj_ENABLE_ALL_PACKAGES:BOOL=OFF",
+ "-DSEACASProj_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF",
+ "-DSEACASProj_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF",
+ "-DSEACASProj_ENABLE_SEACASIoss:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASExodus:BOOL=ON",
+ from_variant("SEACASProj_ENABLE_SEACASExodus_for", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASExoIIv2for32", "fortran"),
+ ]
+ )
+
+ if "+applications" in spec:
+ options.extend(
+ [
+ "-DSEACASProj_ENABLE_SEACASAprepro:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASAprepro_lib:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASConjoin:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASCpup:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASEjoin:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASEpu:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASExo2mat:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASExo_format:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASExodiff:BOOL=ON",
+ from_variant("SEACASProj_ENABLE_SEACASExplore", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASGrepos", "fortran"),
+ "-DSEACASProj_ENABLE_SEACASMat2exo:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASNas2exo:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASNemslice:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASNemspread:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASSlice:BOOL=ON",
+ "-DSEACASProj_ENABLE_SEACASZellij:BOOL=ON",
+ ]
+ )
+
+ if "+legacy" in spec:
+ options.extend(
+ [
+ define("SEACASProj_ENABLE_SEACASNemesis", True),
+ from_variant("SEACASProj_ENABLE_SEACASAlgebra", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASBlot", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASEx1ex2v2", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASEx2ex1v2", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASExomatlab", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASExotec2", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASExotxt", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASFastq", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASGen3D", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASGenshell", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASGjoin", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASMapvar", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASMapvar-kd", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASNumbers", "fortran"),
+ from_variant("SEACASProj_ENABLE_SEACASTxtexo", "fortran"),
+ ]
+ )
# ##################### Dependencies ##########################
# Always need NetCDF-C
- options.extend([
- '-DTPL_ENABLE_Netcdf:BOOL=ON',
- '-DNetCDF_ROOT:PATH=%s' % spec['netcdf-c'].prefix,
- ])
-
- if '+parmetis' in spec:
- options.extend([
- '-DTPL_ENABLE_METIS:BOOL=ON',
- '-DMETIS_LIBRARY_DIRS=%s' % spec['metis'].prefix.lib,
- '-DMETIS_LIBRARY_NAMES=metis',
- '-DTPL_METIS_INCLUDE_DIRS=%s' % spec['metis'].prefix.include,
- '-DTPL_ENABLE_ParMETIS:BOOL=ON',
- '-DParMETIS_LIBRARY_DIRS=%s;%s' % (
- spec['parmetis'].prefix.lib, spec['metis'].prefix.lib),
- '-DParMETIS_LIBRARY_NAMES=parmetis;metis',
- '-DTPL_ParMETIS_INCLUDE_DIRS=%s;%s' % (
- spec['parmetis'].prefix.include,
- spec['metis'].prefix.include)
- ])
- elif '+metis' in spec:
- options.extend([
- '-DTPL_ENABLE_METIS:BOOL=ON',
- '-DMETIS_LIBRARY_DIRS=%s' % spec['metis'].prefix.lib,
- '-DMETIS_LIBRARY_NAMES=metis',
- '-DTPL_METIS_INCLUDE_DIRS=%s' % spec['metis'].prefix.include,
- '-DTPL_ENABLE_ParMETIS:BOOL=OFF',
- ])
+ options.extend(
+ [
+ "-DTPL_ENABLE_Netcdf:BOOL=ON",
+ "-DNetCDF_ROOT:PATH=%s" % spec["netcdf-c"].prefix,
+ ]
+ )
+
+ if "+parmetis" in spec:
+ options.extend(
+ [
+ "-DTPL_ENABLE_METIS:BOOL=ON",
+ "-DMETIS_LIBRARY_DIRS=%s" % spec["metis"].prefix.lib,
+ "-DMETIS_LIBRARY_NAMES=metis",
+ "-DTPL_METIS_INCLUDE_DIRS=%s" % spec["metis"].prefix.include,
+ "-DTPL_ENABLE_ParMETIS:BOOL=ON",
+ "-DParMETIS_LIBRARY_DIRS=%s;%s"
+ % (spec["parmetis"].prefix.lib, spec["metis"].prefix.lib),
+ "-DParMETIS_LIBRARY_NAMES=parmetis;metis",
+ "-DTPL_ParMETIS_INCLUDE_DIRS=%s;%s"
+ % (spec["parmetis"].prefix.include, spec["metis"].prefix.include),
+ ]
+ )
+ elif "+metis" in spec:
+ options.extend(
+ [
+ "-DTPL_ENABLE_METIS:BOOL=ON",
+ "-DMETIS_LIBRARY_DIRS=%s" % spec["metis"].prefix.lib,
+ "-DMETIS_LIBRARY_NAMES=metis",
+ "-DTPL_METIS_INCLUDE_DIRS=%s" % spec["metis"].prefix.include,
+ "-DTPL_ENABLE_ParMETIS:BOOL=OFF",
+ ]
+ )
else:
- options.extend([
- '-DTPL_ENABLE_METIS:BOOL=OFF',
- '-DTPL_ENABLE_ParMETIS:BOOL=OFF',
- ])
-
- if '+matio' in spec:
- options.extend([
- '-DTPL_ENABLE_Matio:BOOL=ON',
- '-DMatio_ROOT:PATH=%s' % spec['matio'].prefix
- ])
+ options.extend(
+ [
+ "-DTPL_ENABLE_METIS:BOOL=OFF",
+ "-DTPL_ENABLE_ParMETIS:BOOL=OFF",
+ ]
+ )
+
+ if "+matio" in spec:
+ options.extend(
+ ["-DTPL_ENABLE_Matio:BOOL=ON", "-DMatio_ROOT:PATH=%s" % spec["matio"].prefix]
+ )
else:
- options.extend([
- '-DTPL_ENABLE_Matio:BOOL=OFF'
- ])
-
- if '+cgns' in spec:
- options.extend([
- '-DTPL_ENABLE_CGNS:BOOL=ON',
- '-DCGNS_ROOT:PATH=%s' % spec['cgns'].prefix,
- ])
+ options.extend(["-DTPL_ENABLE_Matio:BOOL=OFF"])
+
+ if "+cgns" in spec:
+ options.extend(
+ [
+ "-DTPL_ENABLE_CGNS:BOOL=ON",
+ "-DCGNS_ROOT:PATH=%s" % spec["cgns"].prefix,
+ ]
+ )
else:
- options.extend([
- '-DTPL_ENABLE_CGNS:BOOL=OFF'
- ])
+ options.extend(["-DTPL_ENABLE_CGNS:BOOL=OFF"])
- options.append(from_variant('TPL_ENABLE_Faodel', 'faodel'))
+ options.append(from_variant("TPL_ENABLE_Faodel", "faodel"))
- for pkg in ('Faodel', 'BOOST'):
+ for pkg in ("Faodel", "BOOST"):
if pkg.lower() in spec:
- options.append(define(pkg + '_ROOT', spec[pkg.lower()].prefix))
-
- if '+adios2' in spec:
- options.extend([
- '-DTPL_ENABLE_ADIOS2:BOOL=ON',
- '-DADIOS2_ROOT:PATH=%s' % spec['adios2'].prefix,
- ])
+ options.append(define(pkg + "_ROOT", spec[pkg.lower()].prefix))
+
+ if "+adios2" in spec:
+ options.extend(
+ [
+ "-DTPL_ENABLE_ADIOS2:BOOL=ON",
+ "-DADIOS2_ROOT:PATH=%s" % spec["adios2"].prefix,
+ ]
+ )
else:
- options.extend([
- '-DTPL_ENABLE_ADIOS2:BOOL=OFF'
- ])
+ options.extend(["-DTPL_ENABLE_ADIOS2:BOOL=OFF"])
# ################# RPath Handling ######################
- if sys.platform == 'darwin' and macos_version() >= Version('10.12'):
+ if sys.platform == "darwin" and macos_version() >= Version("10.12"):
# use @rpath on Sierra due to limit of dynamic loader
- options.append('-DCMAKE_MACOSX_RPATH:BOOL=ON')
+ options.append("-DCMAKE_MACOSX_RPATH:BOOL=ON")
else:
- options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s' %
- self.prefix.lib)
+ options.append("-DCMAKE_INSTALL_NAME_DIR:PATH=%s" % self.prefix.lib)
return options
diff --git a/var/spack/repos/builtin/packages/seal/package.py b/var/spack/repos/builtin/packages/seal/package.py
index 7f9b1822ff..a4425594b6 100644
--- a/var/spack/repos/builtin/packages/seal/package.py
+++ b/var/spack/repos/builtin/packages/seal/package.py
@@ -14,17 +14,17 @@ class Seal(CMakePackage):
more information about the Microsoft SEAL project, see sealcrypto.org."""
homepage = "https://github.com/microsoft/SEAL"
- url = "https://github.com/microsoft/SEAL/archive/refs/tags/v3.7.1.tar.gz"
+ url = "https://github.com/microsoft/SEAL/archive/refs/tags/v3.7.1.tar.gz"
- maintainers = ['wohlbier']
+ maintainers = ["wohlbier"]
- version('3.7.1', sha256='6737177bfb582cc1a2863ef1e96cc6c39b119257e7192981a3190eb79e0fcfd3')
- version('3.7.0', sha256='06ea835d6c9cdbbc4edb72a8db4bd4b1115995f075774043b9f31938d0624543')
- version('3.6.6', sha256='85a63188a5ccc8d61b0adbb92e84af9b7223fc494d33260fa17a121433790a0e')
- version('3.6.5', sha256='77bfcb4a8b785206c419cdf7aff8c200250691518eeddc958f874d1f567b2872')
- version('3.6.4', sha256='7392574fe3b757d5ced8cc973b23a7b69be0cd35b6e778b3c2447598e9ece5b3')
- version('3.6.3', sha256='aeecdf79afba5f83d1828b3525760c04e52928614038e9a860773943d5d14558')
- version('3.6.2', sha256='1e2a97deb1f5b543640fc37d7b4737cab2a9849f616c13ff40ad3be4cf29fb9c')
- version('3.6.1', sha256='e399c0df7fb60ad450a0ccfdc81b99d19308d0fc1f730d4cad4748dfb2fdb516')
- version('3.6.0', sha256='79c0e45bf301f4577a7633b14e8b26e37eefc89fd4f6a29d13f87e5f22a372ad')
- version('3.5.9', sha256='23bf3bf7ae1dae5dae271244a5baa66fa01856c52e263fe8368c3a40f2399fc7')
+ version("3.7.1", sha256="6737177bfb582cc1a2863ef1e96cc6c39b119257e7192981a3190eb79e0fcfd3")
+ version("3.7.0", sha256="06ea835d6c9cdbbc4edb72a8db4bd4b1115995f075774043b9f31938d0624543")
+ version("3.6.6", sha256="85a63188a5ccc8d61b0adbb92e84af9b7223fc494d33260fa17a121433790a0e")
+ version("3.6.5", sha256="77bfcb4a8b785206c419cdf7aff8c200250691518eeddc958f874d1f567b2872")
+ version("3.6.4", sha256="7392574fe3b757d5ced8cc973b23a7b69be0cd35b6e778b3c2447598e9ece5b3")
+ version("3.6.3", sha256="aeecdf79afba5f83d1828b3525760c04e52928614038e9a860773943d5d14558")
+ version("3.6.2", sha256="1e2a97deb1f5b543640fc37d7b4737cab2a9849f616c13ff40ad3be4cf29fb9c")
+ version("3.6.1", sha256="e399c0df7fb60ad450a0ccfdc81b99d19308d0fc1f730d4cad4748dfb2fdb516")
+ version("3.6.0", sha256="79c0e45bf301f4577a7633b14e8b26e37eefc89fd4f6a29d13f87e5f22a372ad")
+ version("3.5.9", sha256="23bf3bf7ae1dae5dae271244a5baa66fa01856c52e263fe8368c3a40f2399fc7")
diff --git a/var/spack/repos/builtin/packages/sed/package.py b/var/spack/repos/builtin/packages/sed/package.py
index 6ba0f85cf1..cbf691d0c3 100644
--- a/var/spack/repos/builtin/packages/sed/package.py
+++ b/var/spack/repos/builtin/packages/sed/package.py
@@ -10,16 +10,17 @@ from spack.package import *
class Sed(AutotoolsPackage, GNUMirrorPackage):
"""GNU implementation of the famous stream editor."""
+
homepage = "https://www.gnu.org/software/sed/"
gnu_mirror_path = "sed/sed-4.8.tar.xz"
- version('4.8', sha256='f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633')
- version('4.2.2', sha256='f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7')
+ version("4.8", sha256="f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633")
+ version("4.2.2", sha256="f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7")
# Avoid symlinking GNUMakefile to GNUMakefile
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- executables = ['^sed$']
+ executables = ["^sed$"]
def url_for_version(self, version):
if Version("4.2") <= version < Version("4.3.0"):
@@ -30,7 +31,7 @@ class Sed(AutotoolsPackage, GNUMirrorPackage):
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- version_regexp = r'{:s} \(GNU sed\) (\S+)'.format(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
diff --git a/var/spack/repos/builtin/packages/sensei/package.py b/var/spack/repos/builtin/packages/sensei/package.py
index 7087d241f5..3b44ed8267 100644
--- a/var/spack/repos/builtin/packages/sensei/package.py
+++ b/var/spack/repos/builtin/packages/sensei/package.py
@@ -14,32 +14,34 @@ class Sensei(CMakePackage):
Visit/Libsim, ADIOS, Python scripts, and so on."""
homepage = "https://sensei-insitu.org"
- url = "https://github.com/SENSEI-insitu/SENSEI/releases/download/v3.2.1/SENSEI-3.2.1.tar.gz"
- git = "https://github.com/SENSEI-insitu/SENSEI.git"
- maintainers = ['sshudler', 'kwryankrattiger']
+ url = "https://github.com/SENSEI-insitu/SENSEI/releases/download/v3.2.1/SENSEI-3.2.1.tar.gz"
+ git = "https://github.com/SENSEI-insitu/SENSEI.git"
+ maintainers = ["sshudler", "kwryankrattiger"]
- version('develop', branch='develop')
- version('3.2.2', sha256='d554b654880e899d97d572f02de87b0202faadaf899420ef871093b5bce320c0')
- version('3.2.1', sha256='7438fb4b148e4d1eb888c619366d0d8639122ecbbf1767e19549d6ca0c8698ca')
- version('3.2.0', sha256='fd1a69134d9f8151d85a7f84a67d6a648aef5580585b39f74a56367cff433c82')
- version('3.1.0', sha256='813075e033904835afa74231a841ab46424d4567157ee7366f3b785357ffc0ea')
- version('3.0.0', sha256='e9b4d7531bbe8848a7fb182f1d2706b397d18e1a580a51f79b4bf6793be195e5')
- version('2.1.1', sha256='7e211b3d9ce8576d33dbb39ea367c971bb8863e1cf53b9c0e13f00b53bd16526')
- version('2.1.0', sha256='3de667523d5a8e5576e29ff9528f7f341fcc799b55c9cd824dc61c7ca1a2a910')
- version('2.0.0', sha256='e985778ebbf0b9a103d11e069e58f8975f98a63dc2861b7cde34ea12a23fee20')
- version('1.1.0', sha256='769e0b5db50be25666c0d13176a7e4f89cbffe19cdc12349437d0efff615b200')
- version('1.0.0', sha256='5b8609352048e048e065a7b99f615a602f84b3329085e40274341488ef1b9522')
+ version("develop", branch="develop")
+ version("3.2.2", sha256="d554b654880e899d97d572f02de87b0202faadaf899420ef871093b5bce320c0")
+ version("3.2.1", sha256="7438fb4b148e4d1eb888c619366d0d8639122ecbbf1767e19549d6ca0c8698ca")
+ version("3.2.0", sha256="fd1a69134d9f8151d85a7f84a67d6a648aef5580585b39f74a56367cff433c82")
+ version("3.1.0", sha256="813075e033904835afa74231a841ab46424d4567157ee7366f3b785357ffc0ea")
+ version("3.0.0", sha256="e9b4d7531bbe8848a7fb182f1d2706b397d18e1a580a51f79b4bf6793be195e5")
+ version("2.1.1", sha256="7e211b3d9ce8576d33dbb39ea367c971bb8863e1cf53b9c0e13f00b53bd16526")
+ version("2.1.0", sha256="3de667523d5a8e5576e29ff9528f7f341fcc799b55c9cd824dc61c7ca1a2a910")
+ version("2.0.0", sha256="e985778ebbf0b9a103d11e069e58f8975f98a63dc2861b7cde34ea12a23fee20")
+ version("1.1.0", sha256="769e0b5db50be25666c0d13176a7e4f89cbffe19cdc12349437d0efff615b200")
+ version("1.0.0", sha256="5b8609352048e048e065a7b99f615a602f84b3329085e40274341488ef1b9522")
- variant('shared', default=True, description='Enables shared libraries')
- variant('ascent', default=False, description='Build with ParaView-Catalyst support')
- variant('catalyst', default=False, description='Build with ParaView-Catalyst support')
- variant('libsim', default=False, description='Build with VisIt-Libsim support')
- variant('vtkio', default=False, description='Enable adaptors to write to VTK XML format')
- variant('adios2', default=False, description='Enable ADIOS2 adaptors and endpoints')
- variant('hdf5', default=False, description='Enables HDF5 adaptors and endpoints')
- variant('vtkm', default=False, description='Enable VTKm adaptors and endpoints')
- variant('python', default=False, description='Enable Python bindings')
- variant('miniapps', default=False, description='Enable the parallel 3D and oscillators miniapps')
+ variant("shared", default=True, description="Enables shared libraries")
+ variant("ascent", default=False, description="Build with ParaView-Catalyst support")
+ variant("catalyst", default=False, description="Build with ParaView-Catalyst support")
+ variant("libsim", default=False, description="Build with VisIt-Libsim support")
+ variant("vtkio", default=False, description="Enable adaptors to write to VTK XML format")
+ variant("adios2", default=False, description="Enable ADIOS2 adaptors and endpoints")
+ variant("hdf5", default=False, description="Enables HDF5 adaptors and endpoints")
+ variant("vtkm", default=False, description="Enable VTKm adaptors and endpoints")
+ variant("python", default=False, description="Enable Python bindings")
+ variant(
+ "miniapps", default=False, description="Enable the parallel 3D and oscillators miniapps"
+ )
# All SENSEI versions up to 2.1.1 support only Python 2, so in this case
# Paraview 6 cannot be used since it requires Python 3. Starting from
@@ -60,54 +62,55 @@ class Sensei(CMakePackage):
# VTK needs +hl and currently spack cannot resolve +hl and ~hl
depends_on("hdf5+hl", when="+hdf5")
# SENSEI 3 supports Python 3, earlier versions upport only Python 2
- depends_on("python@:2.7.16", when="@:2.1.1 +python", type=('build', 'run'))
- depends_on("python@3:", when="@3: +python", type=('build', 'run'))
- extends('python', when='+python')
- depends_on("py-numpy", when="+python", type=('build', 'run'))
- depends_on("py-mpi4py", when="+python", type=('build', 'run'))
- depends_on("swig", when="+python", type='build')
- depends_on('cmake@3.6:', when="@3:", type='build')
- depends_on('pugixml')
+ depends_on("python@:2.7.16", when="@:2.1.1 +python", type=("build", "run"))
+ depends_on("python@3:", when="@3: +python", type=("build", "run"))
+ extends("python", when="+python")
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python", type=("build", "run"))
+ depends_on("swig", when="+python", type="build")
+ depends_on("cmake@3.6:", when="@3:", type="build")
+ depends_on("pugixml")
# Since sensei always has a VTK dependency, either directly or indirectly,
# VTKm will also always be available via VTK so there's no scenario to
# have a directl dependency on VTK,
# Can have either LibSim or Catalyst, but not both
- conflicts('+libsim', when='+catalyst')
+ conflicts("+libsim", when="+catalyst")
# hdf5 variant is available only for SENSEI 3
- conflicts('+hdf5', when='@:2.1.1')
+ conflicts("+hdf5", when="@:2.1.1")
def cmake_args(self):
spec = self.spec
# -Ox flags are set by default in CMake based on the build type
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('SENSEI_USE_EXTERNAL_pugixml', True),
- self.define('ENABLE_SENSEI', True),
- self.define_from_variant('ENABLE_ASCENT', 'ascent'),
- self.define_from_variant('ENABLE_VTKM', 'vtkm'),
- self.define_from_variant('ENABLE_CATALYST', 'catalyst'),
- self.define_from_variant('ENABLE_LIBSIM', 'libsim'),
- self.define_from_variant('ENABLE_VTK_IO', 'vtkio'),
- self.define_from_variant('ENABLE_PYTHON', 'python'),
- self.define_from_variant('ENABLE_ADIOS2', 'adios2'),
- self.define_from_variant('ENABLE_HDF5', 'hdf5'),
- self.define_from_variant('ENABLE_PARALLEL3D', 'miniapps'),
- self.define_from_variant('ENABLE_OSCILLATORS', 'miniapps')
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("SENSEI_USE_EXTERNAL_pugixml", True),
+ self.define("ENABLE_SENSEI", True),
+ self.define_from_variant("ENABLE_ASCENT", "ascent"),
+ self.define_from_variant("ENABLE_VTKM", "vtkm"),
+ self.define_from_variant("ENABLE_CATALYST", "catalyst"),
+ self.define_from_variant("ENABLE_LIBSIM", "libsim"),
+ self.define_from_variant("ENABLE_VTK_IO", "vtkio"),
+ self.define_from_variant("ENABLE_PYTHON", "python"),
+ self.define_from_variant("ENABLE_ADIOS2", "adios2"),
+ self.define_from_variant("ENABLE_HDF5", "hdf5"),
+ self.define_from_variant("ENABLE_PARALLEL3D", "miniapps"),
+ self.define_from_variant("ENABLE_OSCILLATORS", "miniapps"),
]
- if '+libsim' in spec:
+ if "+libsim" in spec:
args.append(
- '-DVISIT_DIR:PATH={0}/current/{1}-{2}'.format(
- spec['visit'].prefix, spec.platform, spec.target.family)
+ "-DVISIT_DIR:PATH={0}/current/{1}-{2}".format(
+ spec["visit"].prefix, spec.platform, spec.target.family
+ )
)
- if '+python' in spec:
- args.append(self.define('PYTHON_EXECUTABLE', spec['python'].command.path))
- if spec.satisfies('@3:'):
- args.append(self.define('SENSEI_PYTHON_VERSION', 3))
- args.append(self.define_from_variant('ENABLE_CATALYST_PYTHON', 'catalyst'))
+ if "+python" in spec:
+ args.append(self.define("PYTHON_EXECUTABLE", spec["python"].command.path))
+ if spec.satisfies("@3:"):
+ args.append(self.define("SENSEI_PYTHON_VERSION", 3))
+ args.append(self.define_from_variant("ENABLE_CATALYST_PYTHON", "catalyst"))
return args
diff --git a/var/spack/repos/builtin/packages/sentencepiece/package.py b/var/spack/repos/builtin/packages/sentencepiece/package.py
index 0d7ad74f8d..ce95de6f3b 100644
--- a/var/spack/repos/builtin/packages/sentencepiece/package.py
+++ b/var/spack/repos/builtin/packages/sentencepiece/package.py
@@ -13,12 +13,12 @@ class Sentencepiece(CMakePackage):
This is the C++ package."""
homepage = "https://github.com/google/sentencepiece"
- url = "https://github.com/google/sentencepiece/archive/v0.1.85.tar.gz"
+ url = "https://github.com/google/sentencepiece/archive/v0.1.85.tar.gz"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('0.1.91', sha256='acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b')
- version('0.1.85', sha256='dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6')
+ version("0.1.91", sha256="acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b")
+ version("0.1.85", sha256="dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6")
- depends_on('cmake@3.1:', type='build')
- depends_on('gperftools') # optional, 10-40% performance improvement
+ depends_on("cmake@3.1:", type="build")
+ depends_on("gperftools") # optional, 10-40% performance improvement
diff --git a/var/spack/repos/builtin/packages/sentieon-genomics/package.py b/var/spack/repos/builtin/packages/sentieon-genomics/package.py
index bde7d9c5d0..053ce9fb3c 100644
--- a/var/spack/repos/builtin/packages/sentieon-genomics/package.py
+++ b/var/spack/repos/builtin/packages/sentieon-genomics/package.py
@@ -23,23 +23,23 @@ class SentieonGenomics(Package):
# url is from the permalink documented in dockerfile at
# https://github.com/Sentieon/sentieon-docker/blob/master/Dockerfile
# See also: https://github.com/spack/spack/pull/30145/files#r853275635
- url = "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-201808.01.tar.gz"
- maintainers = ['snehring']
+ url = "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-201808.01.tar.gz"
+ maintainers = ["snehring"]
- version('202112.05', sha256='c97b14b0484a0c0025115ad7b911453af7bdcd09874c26cbc39fd0bc5588a306')
- version('202112.04', sha256='154732dc752476d984908e78b1fc5120d4f23028ee165cc4a451ecc1df0e0246')
- version('202112.02', sha256='033943df7958550fd42b410d34ae91a8956a905fc90ca8baa93d2830f918872c')
- version('201808.07', sha256='fb66b18a7b99e44968eb2c3a6a5b761d6b1e70fba9f7dfc4e5db3a74ab3d3dd9')
- version('201808.01', sha256='6d77bcd5a35539549b28eccae07b19a3b353d027720536e68f46dcf4b980d5f7')
+ version("202112.05", sha256="c97b14b0484a0c0025115ad7b911453af7bdcd09874c26cbc39fd0bc5588a306")
+ version("202112.04", sha256="154732dc752476d984908e78b1fc5120d4f23028ee165cc4a451ecc1df0e0246")
+ version("202112.02", sha256="033943df7958550fd42b410d34ae91a8956a905fc90ca8baa93d2830f918872c")
+ version("201808.07", sha256="fb66b18a7b99e44968eb2c3a6a5b761d6b1e70fba9f7dfc4e5db3a74ab3d3dd9")
+ version("201808.01", sha256="6d77bcd5a35539549b28eccae07b19a3b353d027720536e68f46dcf4b980d5f7")
# Licensing.
license_require = True
- license_vars = ['SENTIEON_LICENSE']
+ license_vars = ["SENTIEON_LICENSE"]
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('doc', prefix.doc)
- install_tree('etc', prefix.etc)
- install_tree('lib', prefix.lib)
- install_tree('libexec', prefix.libexec)
- install_tree('share', prefix.share)
+ install_tree("bin", prefix.bin)
+ install_tree("doc", prefix.doc)
+ install_tree("etc", prefix.etc)
+ install_tree("lib", prefix.lib)
+ install_tree("libexec", prefix.libexec)
+ install_tree("share", prefix.share)
diff --git a/var/spack/repos/builtin/packages/seqan/package.py b/var/spack/repos/builtin/packages/seqan/package.py
index 0677bfa9a7..018301509f 100644
--- a/var/spack/repos/builtin/packages/seqan/package.py
+++ b/var/spack/repos/builtin/packages/seqan/package.py
@@ -14,18 +14,18 @@ class Seqan(CMakePackage):
software tools with a minimal loss of performance"""
homepage = "https://www.seqan.de"
- url = "https://github.com/seqan/seqan/archive/seqan-v2.4.0.tar.gz"
+ url = "https://github.com/seqan/seqan/archive/seqan-v2.4.0.tar.gz"
- version('2.4.0', sha256='d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7')
+ version("2.4.0", sha256="d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7")
- depends_on('cmake@3.4.0:', type='build')
- depends_on('python@2.7.0:', type='build')
- depends_on('py-nose', type='build')
- depends_on('py-sphinx', type='build')
- depends_on('boost+exception+math+serialization+container', type=('build', 'link'))
- depends_on('zlib', type=('build', 'link'))
- depends_on('bzip2', type=('build', 'link'))
+ depends_on("cmake@3.4.0:", type="build")
+ depends_on("python@2.7.0:", type="build")
+ depends_on("py-nose", type="build")
+ depends_on("py-sphinx", type="build")
+ depends_on("boost+exception+math+serialization+container", type=("build", "link"))
+ depends_on("zlib", type=("build", "link"))
+ depends_on("bzip2", type=("build", "link"))
- conflicts('%intel@:16.0.4')
- conflicts('%gcc@:4.9.4')
- conflicts('%llvm@:3.5.1')
+ conflicts("%intel@:16.0.4")
+ conflicts("%gcc@:4.9.4")
+ conflicts("%llvm@:3.5.1")
diff --git a/var/spack/repos/builtin/packages/seqkit/package.py b/var/spack/repos/builtin/packages/seqkit/package.py
index 5759e9b5e5..aa835e3a0e 100644
--- a/var/spack/repos/builtin/packages/seqkit/package.py
+++ b/var/spack/repos/builtin/packages/seqkit/package.py
@@ -11,10 +11,12 @@ class Seqkit(Package):
in Golang."""
homepage = "https://bioinf.shenwei.me/seqkit"
- url = "https://github.com/shenwei356/seqkit/releases/download/v0.10.1/seqkit_linux_amd64.tar.gz"
+ url = (
+ "https://github.com/shenwei356/seqkit/releases/download/v0.10.1/seqkit_linux_amd64.tar.gz"
+ )
- version('0.10.1', sha256='82f1c86dc4bd196403a56c2bf3ec063e5674a71777e68d940c4cc3d8411d2e9d')
+ version("0.10.1", sha256="82f1c86dc4bd196403a56c2bf3ec063e5674a71777e68d940c4cc3d8411d2e9d")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('seqkit', prefix.bin)
+ install("seqkit", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/seqprep/package.py b/var/spack/repos/builtin/packages/seqprep/package.py
index 33d3ed2d42..8352a3ae4a 100644
--- a/var/spack/repos/builtin/packages/seqprep/package.py
+++ b/var/spack/repos/builtin/packages/seqprep/package.py
@@ -8,15 +8,15 @@ from spack.package import *
class Seqprep(MakefilePackage):
"""SeqPrep is a program to merge paired end Illumina reads that are
- overlapping into a single longer read."""
+ overlapping into a single longer read."""
homepage = "https://github.com/jstjohn/SeqPrep"
- url = "https://github.com/jstjohn/SeqPrep/archive/v1.3.2.tar.gz"
+ url = "https://github.com/jstjohn/SeqPrep/archive/v1.3.2.tar.gz"
- version('1.3.2', sha256='2b8a462a0e0a3e51f70be7730dc77b1f2bb69e74845dd0fbd2110a921c32265a')
+ version("1.3.2", sha256="2b8a462a0e0a3e51f70be7730dc77b1f2bb69e74845dd0fbd2110a921c32265a")
- depends_on('zlib', type='link')
+ depends_on("zlib", type="link")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('SeqPrep', prefix.bin)
+ install("SeqPrep", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/seqtk/package.py b/var/spack/repos/builtin/packages/seqtk/package.py
index bc5ad62d79..8fce3e4ace 100644
--- a/var/spack/repos/builtin/packages/seqtk/package.py
+++ b/var/spack/repos/builtin/packages/seqtk/package.py
@@ -10,16 +10,16 @@ class Seqtk(Package):
"""Toolkit for processing sequences in FASTA/Q formats."""
homepage = "https://github.com/lh3/seqtk"
- url = "https://github.com/lh3/seqtk/archive/v1.1.tar.gz"
+ url = "https://github.com/lh3/seqtk/archive/v1.1.tar.gz"
- version('1.3', sha256='5a1687d65690f2f7fa3f998d47c3c5037e792f17ce119dab52fff3cfdca1e563')
- version('1.2', sha256='bd53316645ab10f0aaba59e1e72c28442ee4c9c37fddaacce5e24757eff78d7b')
- version('1.1', sha256='f01b9f9af6e443673a0105a7536a01957a4fc371826385a1f3dd1e417aa91d52')
+ version("1.3", sha256="5a1687d65690f2f7fa3f998d47c3c5037e792f17ce119dab52fff3cfdca1e563")
+ version("1.2", sha256="bd53316645ab10f0aaba59e1e72c28442ee4c9c37fddaacce5e24757eff78d7b")
+ version("1.1", sha256="f01b9f9af6e443673a0105a7536a01957a4fc371826385a1f3dd1e417aa91d52")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
make()
mkdirp(prefix.bin)
- install('seqtk', prefix.bin)
- set_executable(join_path(prefix.bin, 'seqtk'))
+ install("seqtk", prefix.bin)
+ set_executable(join_path(prefix.bin, "seqtk"))
diff --git a/var/spack/repos/builtin/packages/serf/package.py b/var/spack/repos/builtin/packages/serf/package.py
index aa3fb55302..2e3fb2e88d 100644
--- a/var/spack/repos/builtin/packages/serf/package.py
+++ b/var/spack/repos/builtin/packages/serf/package.py
@@ -10,60 +10,61 @@ class Serf(SConsPackage):
"""Apache Serf - a high performance C-based HTTP client library
built upon the Apache Portable Runtime (APR) library"""
- homepage = 'https://serf.apache.org/'
- url = 'https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2'
+ homepage = "https://serf.apache.org/"
+ url = "https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2"
- maintainers = ['cosmicexplorer']
+ maintainers = ["cosmicexplorer"]
- version('1.3.9', sha256='549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc')
- version('1.3.8', sha256='e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590')
+ version("1.3.9", sha256="549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc")
+ version("1.3.8", sha256="e0500be065dbbce490449837bb2ab624e46d64fc0b090474d9acaa87c82b2590")
- variant('debug', default=False,
- description='Enable debugging info and strict compile warnings')
+ variant(
+ "debug", default=False, description="Enable debugging info and strict compile warnings"
+ )
- depends_on('apr')
- depends_on('apr-util')
- depends_on('openssl')
- depends_on('python+pythoncmd', type='build')
- depends_on('scons@2.3.0:', type='build')
- depends_on('uuid')
- depends_on('zlib')
+ depends_on("apr")
+ depends_on("apr-util")
+ depends_on("openssl")
+ depends_on("python+pythoncmd", type="build")
+ depends_on("scons@2.3.0:", type="build")
+ depends_on("uuid")
+ depends_on("zlib")
- patch('py3syntax.patch')
- patch('py3-hashbang.patch')
+ patch("py3syntax.patch")
+ patch("py3-hashbang.patch")
def build_args(self, spec, prefix):
args = {
- 'PREFIX': prefix,
- 'APR': spec['apr'].prefix,
- 'APU': spec['apr-util'].prefix,
- 'OPENSSL': spec['openssl'].prefix,
- 'ZLIB': spec['zlib'].prefix,
- 'DEBUG': 'yes' if '+debug' in spec else 'no',
+ "PREFIX": prefix,
+ "APR": spec["apr"].prefix,
+ "APU": spec["apr-util"].prefix,
+ "OPENSSL": spec["openssl"].prefix,
+ "ZLIB": spec["zlib"].prefix,
+ "DEBUG": "yes" if "+debug" in spec else "no",
}
# SCons doesn't pass Spack environment variables to the
# execution environment. Therefore, we can't use Spack's compiler
# wrappers. Use the actual compilers. SCons seems to RPATH things
# on its own anyway.
- args['CC'] = self.compiler.cc
+ args["CC"] = self.compiler.cc
# Old versions of serf ignore the ZLIB variable on non-Windows platforms.
# Also, there is no UUID variable to specify its installation location.
# Pass explicit link flags for both.
library_dirs = []
include_dirs = []
- for dep in spec.dependencies(deptype='link'):
+ for dep in spec.dependencies(deptype="link"):
query = self.spec[dep.name]
library_dirs.extend(query.libs.directories)
include_dirs.extend(query.headers.directories)
rpath = self.compiler.cc_rpath_arg
- args['LINKFLAGS'] = '-L' + ' -L'.join(library_dirs)
- args['LINKFLAGS'] += ' ' + rpath + (' ' + rpath).join(library_dirs)
- args['CPPFLAGS'] = '-I' + ' -I'.join(include_dirs)
+ args["LINKFLAGS"] = "-L" + " -L".join(library_dirs)
+ args["LINKFLAGS"] += " " + rpath + (" " + rpath).join(library_dirs)
+ args["CPPFLAGS"] = "-I" + " -I".join(include_dirs)
- return [key + '=' + value for key, value in args.items()]
+ return [key + "=" + value for key, value in args.items()]
def build_test(self):
# FIXME: Several test failures:
@@ -86,4 +87,4 @@ class Serf(SConsPackage):
#
# These seem to be related to:
# https://groups.google.com/forum/#!topic/serf-dev/YEFTTdF1Qwc
- scons('check')
+ scons("check")
diff --git a/var/spack/repos/builtin/packages/serialbox/package.py b/var/spack/repos/builtin/packages/serialbox/package.py
index 5c7ab58e7f..a77a041e71 100644
--- a/var/spack/repos/builtin/packages/serialbox/package.py
+++ b/var/spack/repos/builtin/packages/serialbox/package.py
@@ -15,71 +15,68 @@ class Serialbox(CMakePackage):
homepage = "https://github.com/GridTools/serialbox"
url = "https://github.com/GridTools/serialbox/archive/v2.6.1.tar.gz"
- maintainers = ['skosukhin']
-
- version('2.6.1', sha256='b795ce576e8c4fd137e48e502b07b136079c595c82c660cfa2e284b0ef873342')
- version('2.6.0', sha256='9199f8637afbd7f2b3c5ba932d1c63e9e14d553a0cafe6c29107df0e04ee9fae')
- version('2.5.4', sha256='f4aee8ef284f58e6847968fe4620e222ac7019d805bbbb26c199e4b6a5094fee')
- version('2.5.3', sha256='696499b3f43978238c3bcc8f9de50bce2630c07971c47c9e03af0324652b2d5d')
-
- variant('c', default=True, description='enable C interface')
- variant('python', default=False, description='enable Python interface')
- variant('fortran', default=False, description='enable Fortran interface')
- variant('ftg', default=False,
- description='enable FortranTestGenerator frontend')
- variant('sdb', default=False, description='enable stencil debugger')
- variant('shared', default=True, description='build shared libraries')
- variant('examples', default=False, description='build the examples')
- variant('logging', default=True,
- description='enable the logging infrastructure')
- variant('async-api', default=True,
- description='enable the asynchronous API')
- variant('netcdf', default=False,
- description='build the NetCDF archive backend')
- variant('std-filesystem', default=True,
- description='use std::experimental::filesystem (no dependency on '
- 'compiled boost libs)')
-
- depends_on('cmake@3.12:', type='build')
+ maintainers = ["skosukhin"]
+
+ version("2.6.1", sha256="b795ce576e8c4fd137e48e502b07b136079c595c82c660cfa2e284b0ef873342")
+ version("2.6.0", sha256="9199f8637afbd7f2b3c5ba932d1c63e9e14d553a0cafe6c29107df0e04ee9fae")
+ version("2.5.4", sha256="f4aee8ef284f58e6847968fe4620e222ac7019d805bbbb26c199e4b6a5094fee")
+ version("2.5.3", sha256="696499b3f43978238c3bcc8f9de50bce2630c07971c47c9e03af0324652b2d5d")
+
+ variant("c", default=True, description="enable C interface")
+ variant("python", default=False, description="enable Python interface")
+ variant("fortran", default=False, description="enable Fortran interface")
+ variant("ftg", default=False, description="enable FortranTestGenerator frontend")
+ variant("sdb", default=False, description="enable stencil debugger")
+ variant("shared", default=True, description="build shared libraries")
+ variant("examples", default=False, description="build the examples")
+ variant("logging", default=True, description="enable the logging infrastructure")
+ variant("async-api", default=True, description="enable the asynchronous API")
+ variant("netcdf", default=False, description="build the NetCDF archive backend")
+ variant(
+ "std-filesystem",
+ default=True,
+ description="use std::experimental::filesystem (no dependency on " "compiled boost libs)",
+ )
+
+ depends_on("cmake@3.12:", type="build")
# We might be provided with an external vanilla cmake, and we need one with
# with https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5025
- depends_on('cmake@3.19:', when='%pgi', type='build')
+ depends_on("cmake@3.19:", when="%pgi", type="build")
- depends_on('boost@1.54:', type='build')
- depends_on('boost+filesystem+system',
- when='~std-filesystem', type=('build', 'link'))
+ depends_on("boost@1.54:", type="build")
+ depends_on("boost+filesystem+system", when="~std-filesystem", type=("build", "link"))
- depends_on('netcdf-c', when='+netcdf')
+ depends_on("netcdf-c", when="+netcdf")
# The preprocessor can be run with Python 2:
- depends_on('python', type='run')
+ depends_on("python", type="run")
# The Python interface is compatible only with Python 3:
- depends_on('python@3.4:', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
+ depends_on("python@3.4:", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
# pp_ser fails to process source files containing Unicode character with
# Python 3 (https://github.com/GridTools/serialbox/pull/249):
- patch('ppser_py3.patch', when='@2.2.1:')
+ patch("ppser_py3.patch", when="@2.2.1:")
# NAG patches:
- patch('nag/interface.patch', when='@2.0.1:%nag+fortran')
- patch('nag/examples.patch', when='@2.3.1:%nag+fortran+examples')
- patch('nag/ftg.patch', when='@2.3.1:%nag+ftg')
-
- conflicts('+ftg', when='~fortran',
- msg='the FortranTestGenerator frontend requires the Fortran '
- 'interface')
- conflicts('+ftg', when='@:2.2.999',
- msg='the FortranTestGenerator frontend is supported only '
- 'starting version 2.3.0')
- conflicts('+sdb', when='~python',
- msg='the stencil debugger requires the Python interface')
- conflicts('+fortran', when='~c',
- msg='the Fortran interface requires the C interface')
- conflicts('+python', when='~c',
- msg='the Python interface requires the C interface')
- conflicts('+python', when='~shared',
- msg='the Python interface requires the shared libraries')
+ patch("nag/interface.patch", when="@2.0.1:%nag+fortran")
+ patch("nag/examples.patch", when="@2.3.1:%nag+fortran+examples")
+ patch("nag/ftg.patch", when="@2.3.1:%nag+ftg")
+
+ conflicts(
+ "+ftg",
+ when="~fortran",
+ msg="the FortranTestGenerator frontend requires the Fortran " "interface",
+ )
+ conflicts(
+ "+ftg",
+ when="@:2.2.999",
+ msg="the FortranTestGenerator frontend is supported only " "starting version 2.3.0",
+ )
+ conflicts("+sdb", when="~python", msg="the stencil debugger requires the Python interface")
+ conflicts("+fortran", when="~c", msg="the Fortran interface requires the C interface")
+ conflicts("+python", when="~c", msg="the Python interface requires the C interface")
+ conflicts("+python", when="~shared", msg="the Python interface requires the shared libraries")
def patch(self):
# The following is implemented as a method to avoid having two sets of
@@ -88,64 +85,57 @@ class Serialbox(CMakePackage):
# Remove hard-coded -march=native
# (see https://github.com/GridTools/serialbox/pull/233):
- if self.spec.satisfies('@2.0.1:2.6.0'):
- filter_file(
- r'^(\s*set\(CMAKE_CXX_FLAGS.*-march=native)',
- r'#\1', 'CMakeLists.txt')
+ if self.spec.satisfies("@2.0.1:2.6.0"):
+ filter_file(r"^(\s*set\(CMAKE_CXX_FLAGS.*-march=native)", r"#\1", "CMakeLists.txt")
# Do not fallback to boost::filesystem:
- if '+std-filesystem' in self.spec:
+ if "+std-filesystem" in self.spec:
filter_file(
- r'(message\()'
- r'STATUS( "std::experimental::filesystem not found).*("\))',
- r'\1FATAL_ERROR\2\3', 'CMakeLists.txt')
+ r"(message\()" r'STATUS( "std::experimental::filesystem not found).*("\))',
+ r"\1FATAL_ERROR\2\3",
+ "CMakeLists.txt",
+ )
@property
def libs(self):
query_parameters = self.spec.last_query.extra_parameters
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
query2libraries = {
- tuple(): ['libSerialboxCore'],
- ('c', 'fortran'): [
- 'libSerialboxFortran',
- 'libSerialboxC',
- 'libSerialboxCore',
+ tuple(): ["libSerialboxCore"],
+ ("c", "fortran"): [
+ "libSerialboxFortran",
+ "libSerialboxC",
+ "libSerialboxCore",
],
- ('c',): [
- 'libSerialboxC',
- 'libSerialboxCore',
+ ("c",): [
+ "libSerialboxC",
+ "libSerialboxCore",
],
- ('fortran',): [
- 'libSerialboxFortran',
- 'libSerialboxC',
- 'libSerialboxCore'
- ]
+ ("fortran",): ["libSerialboxFortran", "libSerialboxC", "libSerialboxCore"],
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- if self.spec.satisfies('@2.5.0:2.5'):
+ if self.spec.satisfies("@2.5.0:2.5"):
libraries = [
- '{0}{1}'.format(name, 'Shared' if shared else 'Static')
- for name in libraries]
+ "{0}{1}".format(name, "Shared" if shared else "Static") for name in libraries
+ ]
- libs = find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True)
+ libs = find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
if libs:
return libs
- msg = 'Unable to recursively locate {0} libraries in {1}'
- raise spack.error.NoLibrariesError(
- msg.format(self.spec.name, self.spec.prefix))
+ msg = "Unable to recursively locate {0} libraries in {1}"
+ raise spack.error.NoLibrariesError(msg.format(self.spec.name, self.spec.prefix))
def flag_handler(self, name, flags):
cmake_flags = []
- if name == 'cxxflags':
+ if name == "cxxflags":
# Intel (at least up to version 19.0.1, version 19.0.4 works) and
# PGI (at least up to version 19.9, version 20.1.0 works) compilers
# have problems with C++11 name mangling. An attempt to link to
@@ -153,51 +143,52 @@ class Serialbox(CMakePackage):
# undefined reference to
# `std::experimental::filesystem::v1::__cxx11::path::
# _M_find_extension[abi:cxx11]() const'
- if any(self.spec.satisfies('{0}+std-filesystem'.format(x))
- for x in ['%intel@:19.0.1', '%pgi@:19.9']):
- cmake_flags.append('-D_GLIBCXX_USE_CXX11_ABI=0')
+ if any(
+ self.spec.satisfies("{0}+std-filesystem".format(x))
+ for x in ["%intel@:19.0.1", "%pgi@:19.9"]
+ ):
+ cmake_flags.append("-D_GLIBCXX_USE_CXX11_ABI=0")
return flags, None, (cmake_flags or None)
def setup_run_environment(self, env):
# Allow for running the preprocessor directly:
- env.prepend_path('PATH', self.prefix.python.pp_ser)
+ env.prepend_path("PATH", self.prefix.python.pp_ser)
# Allow for running the preprocessor as a Python module, as well as
# enable the Python interface in a non-standard directory:
- env.prepend_path('PYTHONPATH', self.prefix.python)
+ env.prepend_path("PYTHONPATH", self.prefix.python)
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_run_environment(env)
def setup_dependent_package(self, module, dependent_spec):
# Simplify the location of the preprocessor by dependent packages:
- self.spec.pp_ser = join_path(self.prefix.python.pp_ser, 'pp_ser.py')
+ self.spec.pp_ser = join_path(self.prefix.python.pp_ser, "pp_ser.py")
def cmake_args(self):
args = [
- '-DBOOST_ROOT:PATH=%s' % self.spec['boost'].prefix,
+ "-DBOOST_ROOT:PATH=%s" % self.spec["boost"].prefix,
# https://cmake.org/cmake/help/v3.15/module/FindBoost.html#boost-cmake
- self.define('Boost_NO_BOOST_CMAKE', True),
- self.define_from_variant('SERIALBOX_ENABLE_C', 'c'),
- self.define_from_variant('SERIALBOX_ENABLE_PYTHON', 'python'),
- self.define_from_variant('SERIALBOX_ENABLE_FORTRAN', 'fortran'),
- self.define_from_variant('SERIALBOX_ENABLE_FTG', 'ftg'),
- self.define_from_variant('SERIALBOX_ENABLE_SDB', 'sdb'),
- self.define_from_variant('SERIALBOX_BUILD_SHARED', 'shared'),
- self.define_from_variant('SERIALBOX_EXAMPLES', 'examples'),
- self.define_from_variant('SERIALBOX_LOGGING', 'logging'),
- self.define_from_variant('SERIALBOX_ASYNC_API', 'async-api'),
+ self.define("Boost_NO_BOOST_CMAKE", True),
+ self.define_from_variant("SERIALBOX_ENABLE_C", "c"),
+ self.define_from_variant("SERIALBOX_ENABLE_PYTHON", "python"),
+ self.define_from_variant("SERIALBOX_ENABLE_FORTRAN", "fortran"),
+ self.define_from_variant("SERIALBOX_ENABLE_FTG", "ftg"),
+ self.define_from_variant("SERIALBOX_ENABLE_SDB", "sdb"),
+ self.define_from_variant("SERIALBOX_BUILD_SHARED", "shared"),
+ self.define_from_variant("SERIALBOX_EXAMPLES", "examples"),
+ self.define_from_variant("SERIALBOX_LOGGING", "logging"),
+ self.define_from_variant("SERIALBOX_ASYNC_API", "async-api"),
# CMake scripts of Serialbox (at least up to version 2.6.0) are
# broken and do not instruct the compiler to link to the OpenSSL
# libraries:
- self.define('SERIALBOX_USE_OPENSSL', False),
- self.define_from_variant('SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM',
- 'std-filesystem'),
- self.define_from_variant('SERIALBOX_USE_NETCDF', 'netcdf'),
- self.define('SERIALBOX_TESTING', self.run_tests),
+ self.define("SERIALBOX_USE_OPENSSL", False),
+ self.define_from_variant("SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM", "std-filesystem"),
+ self.define_from_variant("SERIALBOX_USE_NETCDF", "netcdf"),
+ self.define("SERIALBOX_TESTING", self.run_tests),
]
- if '+netcdf' in self.spec:
- args.append('-DNETCDF_ROOT:PATH=%s' % self.spec['netcdf-c'].prefix)
+ if "+netcdf" in self.spec:
+ args.append("-DNETCDF_ROOT:PATH=%s" % self.spec["netcdf-c"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/sessreg/package.py b/var/spack/repos/builtin/packages/sessreg/package.py
index 9cf249061f..7c35c5fb01 100644
--- a/var/spack/repos/builtin/packages/sessreg/package.py
+++ b/var/spack/repos/builtin/packages/sessreg/package.py
@@ -14,13 +14,12 @@ class Sessreg(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/sessreg"
xorg_mirror_path = "app/sessreg-1.1.0.tar.gz"
- version('1.1.0', sha256='e561edb48dfc3b0624554169c15f9dd2c3139e83084cb323b0c712724f2b6043')
+ version("1.1.0", sha256="e561edb48dfc3b0624554169c15f9dd2c3139e83084cb323b0c712724f2b6043")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def patch(self):
- kwargs = {'string': True}
- filter_file('$(CPP) $(DEFS)', '$(CPP) -P $(DEFS)',
- 'man/Makefile.in', **kwargs)
+ kwargs = {"string": True}
+ filter_file("$(CPP) $(DEFS)", "$(CPP) -P $(DEFS)", "man/Makefile.in", **kwargs)
diff --git a/var/spack/repos/builtin/packages/setserial/package.py b/var/spack/repos/builtin/packages/setserial/package.py
index 8cc555ce7f..0327aabfbd 100644
--- a/var/spack/repos/builtin/packages/setserial/package.py
+++ b/var/spack/repos/builtin/packages/setserial/package.py
@@ -10,11 +10,13 @@ class Setserial(AutotoolsPackage):
"""A utility for configuring serial ports."""
homepage = "http://setserial.sourceforge.net"
- url = "https://udomain.dl.sourceforge.net/project/setserial/setserial/2.17/setserial-2.17.tar.gz"
+ url = (
+ "https://udomain.dl.sourceforge.net/project/setserial/setserial/2.17/setserial-2.17.tar.gz"
+ )
- version('2.17', sha256='7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a')
+ version("2.17", sha256="7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.usr.man.man8)
- make('install', 'DESTDIR={0}'.format(prefix))
+ make("install", "DESTDIR={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/setxkbmap/package.py b/var/spack/repos/builtin/packages/setxkbmap/package.py
index 00f61580f4..ec0b99b2c4 100644
--- a/var/spack/repos/builtin/packages/setxkbmap/package.py
+++ b/var/spack/repos/builtin/packages/setxkbmap/package.py
@@ -14,10 +14,10 @@ class Setxkbmap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/setxkbmap"
xorg_mirror_path = "app/setxkbmap-1.3.1.tar.gz"
- version('1.3.1', sha256='e24a73669007fa3b280eba4bdc7f75715aeb2e394bf2d63f5cc872502ddde264')
+ version("1.3.1", sha256="e24a73669007fa3b280eba4bdc7f75715aeb2e394bf2d63f5cc872502ddde264")
- depends_on('libxkbfile')
- depends_on('libx11')
+ depends_on("libxkbfile")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/sfcgal/package.py b/var/spack/repos/builtin/packages/sfcgal/package.py
index b5351e4288..1054bb308f 100644
--- a/var/spack/repos/builtin/packages/sfcgal/package.py
+++ b/var/spack/repos/builtin/packages/sfcgal/package.py
@@ -15,27 +15,29 @@ class Sfcgal(CMakePackage):
"""
homepage = "http://www.sfcgal.org/"
- url = "https://github.com/Oslandia/SFCGAL/archive/v1.3.8.tar.gz"
+ url = "https://github.com/Oslandia/SFCGAL/archive/v1.3.8.tar.gz"
- version('1.3.8', sha256='5154bfc67a5e99d95cb653d70d2b9d9293d3deb3c8f18b938a33d68fec488a6d')
- version('1.3.7', sha256='30ea1af26cb2f572c628aae08dd1953d80a69d15e1cac225390904d91fce031b')
+ version("1.3.8", sha256="5154bfc67a5e99d95cb653d70d2b9d9293d3deb3c8f18b938a33d68fec488a6d")
+ version("1.3.7", sha256="30ea1af26cb2f572c628aae08dd1953d80a69d15e1cac225390904d91fce031b")
- depends_on('cmake@2.8.6:', type='build')
+ depends_on("cmake@2.8.6:", type="build")
# Ref: https://oslandia.github.io/SFCGAL/installation.html, but starts to work @4.7:
- depends_on('cgal@4.7: +core')
- depends_on('boost@1.54.0:+chrono+filesystem+program_options+serialization+system+test+thread+timer')
- depends_on('mpfr@2.2.1:')
- depends_on('gmp@4.2:')
+ depends_on("cgal@4.7: +core")
+ depends_on(
+ "boost@1.54.0:+chrono+filesystem+program_options+serialization+system+test+thread+timer"
+ )
+ depends_on("mpfr@2.2.1:")
+ depends_on("gmp@4.2:")
@property
def command(self):
- return Executable(self.prefix.bin.join('sfcgal-config'))
+ return Executable(self.prefix.bin.join("sfcgal-config"))
def cmake_args(self):
# It seems viewer is discontinued as of v1.3.0
# https://github.com/Oslandia/SFCGAL/releases/tag/v1.3.0
# Also, see https://github.com/Oslandia/SFCGAL-viewer
return [
- self.define('BUILD_SHARED_LIBS', True),
- self.define('SFCGAL_BUILD_VIEWER', False),
+ self.define("BUILD_SHARED_LIBS", True),
+ self.define("SFCGAL_BUILD_VIEWER", False),
]
diff --git a/var/spack/repos/builtin/packages/sfcio/package.py b/var/spack/repos/builtin/packages/sfcio/package.py
index 6257db451e..0a8dc94847 100644
--- a/var/spack/repos/builtin/packages/sfcio/package.py
+++ b/var/spack/repos/builtin/packages/sfcio/package.py
@@ -13,21 +13,21 @@ class Sfcio(CMakePackage):
This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-sfcio"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-sfcio/archive/refs/tags/v1.4.1.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-sfcio/archive/refs/tags/v1.4.1.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.4.1', sha256='d9f900cf18ec1a839b4128c069b1336317ffc682086283443354896746b89c59')
+ version("1.4.1", sha256="d9f900cf18ec1a839b4128c069b1336317ffc682086283443354896746b89c59")
def setup_run_environment(self, env):
- lib = find_libraries('libsfcio', root=self.prefix, shared=False, recursive=True)
+ lib = find_libraries("libsfcio", root=self.prefix, shared=False, recursive=True)
# Only one library version, but still need to set _4 to make NCO happy
- for suffix in ('4', ''):
- env.set('SFCIO_LIB' + suffix, lib[0])
- env.set('SFCIO_INC' + suffix, join_path(self.prefix, 'include'))
+ for suffix in ("4", ""):
+ env.set("SFCIO_LIB" + suffix, lib[0])
+ env.set("SFCIO_INC" + suffix, join_path(self.prefix, "include"))
def flag_handler(self, name, flags):
- if self.spec.satisfies('%fj'):
- if name == 'fflags':
- flags.append('-Free')
+ if self.spec.satisfies("%fj"):
+ if name == "fflags":
+ flags.append("-Free")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/sga/package.py b/var/spack/repos/builtin/packages/sga/package.py
index 423ce76dd0..b830071468 100644
--- a/var/spack/repos/builtin/packages/sga/package.py
+++ b/var/spack/repos/builtin/packages/sga/package.py
@@ -8,35 +8,35 @@ from spack.package import *
class Sga(AutotoolsPackage):
"""SGA is a de novo genome assembler based on the concept of string graphs.
- The major goal of SGA is to be very memory efficient, which is achieved
- by using a compressed representation of DNA sequence reads."""
+ The major goal of SGA is to be very memory efficient, which is achieved
+ by using a compressed representation of DNA sequence reads."""
homepage = "https://www.msi.umn.edu/sw/sga"
- url = "https://github.com/jts/sga/archive/v0.10.15.tar.gz"
-
- version('0.10.15', sha256='1b18996e6ec47985bc4889a8cbc3cd4dd3a8c7d385ae9f450bd474e36342558b')
- version('0.10.14', sha256='763c011b302e1085048c93d917f081ea9348a8470e222dfd369064548e8b3994')
- version('0.10.13', sha256='77859ab233980594941aa4c4cb5c2cbe1f5c43f2519f329c3a88a97865dee599')
- version('0.10.12', sha256='f27f13ce1e7c1a3f35f9f4eed6c1896f3b92471bc4acc7f2364a12ce098e9779')
- version('0.10.11', sha256='4704ad74705931311ed66a0886453e57616798147d149e16e13ac5acd9b5b87c')
- version('0.10.10', sha256='5a75a81d405d22d51f3b7388c42d5baced4388110d39e5d77249bf3eac76a83a')
- version('0.10.9', sha256='34573cb7423affd5e15c1175d9af69f7495b094b60ddfcbafd910fd703c25006')
- version('0.10.8', sha256='55c5e0e425e14902e83d68cfb8cee4c86ee186459e54113a484b2a1b06d223c8')
- version('0.10.3', sha256='c000823a58428d9db2979b30a571ad89aec78a8cb1af60bae1ce252dd4e8adac')
-
- depends_on('zlib')
- depends_on('sparsehash')
- depends_on('jemalloc')
- depends_on('bamtools')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
-
- configure_directory = 'src'
+ url = "https://github.com/jts/sga/archive/v0.10.15.tar.gz"
+
+ version("0.10.15", sha256="1b18996e6ec47985bc4889a8cbc3cd4dd3a8c7d385ae9f450bd474e36342558b")
+ version("0.10.14", sha256="763c011b302e1085048c93d917f081ea9348a8470e222dfd369064548e8b3994")
+ version("0.10.13", sha256="77859ab233980594941aa4c4cb5c2cbe1f5c43f2519f329c3a88a97865dee599")
+ version("0.10.12", sha256="f27f13ce1e7c1a3f35f9f4eed6c1896f3b92471bc4acc7f2364a12ce098e9779")
+ version("0.10.11", sha256="4704ad74705931311ed66a0886453e57616798147d149e16e13ac5acd9b5b87c")
+ version("0.10.10", sha256="5a75a81d405d22d51f3b7388c42d5baced4388110d39e5d77249bf3eac76a83a")
+ version("0.10.9", sha256="34573cb7423affd5e15c1175d9af69f7495b094b60ddfcbafd910fd703c25006")
+ version("0.10.8", sha256="55c5e0e425e14902e83d68cfb8cee4c86ee186459e54113a484b2a1b06d223c8")
+ version("0.10.3", sha256="c000823a58428d9db2979b30a571ad89aec78a8cb1af60bae1ce252dd4e8adac")
+
+ depends_on("zlib")
+ depends_on("sparsehash")
+ depends_on("jemalloc")
+ depends_on("bamtools")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+
+ configure_directory = "src"
def configure_args(self):
return [
- '--with-sparsehash={0}'.format(self.spec['sparsehash'].prefix),
- '--with-bamtools={0}'.format(self.spec['bamtools'].prefix),
- '--with-jemalloc={0}'.format(self.spec['jemalloc'].prefix)
+ "--with-sparsehash={0}".format(self.spec["sparsehash"].prefix),
+ "--with-bamtools={0}".format(self.spec["bamtools"].prefix),
+ "--with-jemalloc={0}".format(self.spec["jemalloc"].prefix),
]
diff --git a/var/spack/repos/builtin/packages/sgpp/package.py b/var/spack/repos/builtin/packages/sgpp/package.py
index 64ae4bd3c2..e5e7dbc505 100644
--- a/var/spack/repos/builtin/packages/sgpp/package.py
+++ b/var/spack/repos/builtin/packages/sgpp/package.py
@@ -16,16 +16,16 @@ class Sgpp(SConsPackage):
url = "https://github.com/SGpp/SGpp/archive/v3.2.0.tar.gz"
git = "https://github.com/SGpp/SGpp.git"
- maintainers = ['G-071', 'leiterrl', 'pfluegdk']
+ maintainers = ["G-071", "leiterrl", "pfluegdk"]
# Versions with Python 3 bindings:
- version('master', branch='master')
- version('3.4.0', sha256='450d4002850b0a48c561abe221b634261ca44eee111ca605c3e80797182f40b3')
- version('3.3.0', sha256='ca4d5b79f315b425ce69b04940c141451a76848bf1bd7b96067217304c68e2d4')
- version('3.2.0', sha256='dab83587fd447f92ed8546eacaac6b8cbe65b8db5e860218c0fa2e42f776962d')
+ version("master", branch="master")
+ version("3.4.0", sha256="450d4002850b0a48c561abe221b634261ca44eee111ca605c3e80797182f40b3")
+ version("3.3.0", sha256="ca4d5b79f315b425ce69b04940c141451a76848bf1bd7b96067217304c68e2d4")
+ version("3.2.0", sha256="dab83587fd447f92ed8546eacaac6b8cbe65b8db5e860218c0fa2e42f776962d")
# Versions with Python 2 bindings:
- version('3.1.0', sha256='6b46bc5b3966e92567d6754130666bdffb7be1d1d2c1b427d7ce964b8eaab526')
- version('3.0.0', sha256='4dd9049e664abd7db78c355fea5e192167812f443115d4bf686a51bb1e9bda9c')
+ version("3.1.0", sha256="6b46bc5b3966e92567d6754130666bdffb7be1d1d2c1b427d7ce964b8eaab526")
+ version("3.0.0", sha256="4dd9049e664abd7db78c355fea5e192167812f443115d4bf686a51bb1e9bda9c")
# Patches with bugfixes that are necessary to build old SGpp versions
# with spack. Patches are submitted upstream, but need to applied
@@ -36,37 +36,29 @@ class Sgpp(SConsPackage):
# be copied into prefix/lib upon installation
# (otherwise it would be prefix/lib/sgpp)
# Fixed in SGpp in PR https://github.com/SGpp/SGpp/pull/222
- patch('directory.patch', when='@1.0.0:3.2.0')
+ patch("directory.patch", when="@1.0.0:3.2.0")
# Fix faulty setup.py introduced in 3.2.0
# Fixed in SGpp in version 3.3.0
- patch('fix-setup-py.patch', when='@3.2.0')
+ patch("fix-setup-py.patch", when="@3.2.0")
# Fix compilation issue with opencl introduced in 3.2.0
# Fixed in SGpp in PR https://github.com/SGpp/SGpp/pull/219
- patch('ocl.patch', when='@3.2.0+opencl')
+ patch("ocl.patch", when="@3.2.0+opencl")
# Fixes compilation with AVX512 and datadriven
# Fixed in SGpp in PR https://github.com/SGpp/SGpp/pull/229
- patch('avx512_datadriven_compilation.patch', when='@:3.3.0+datadriven')
-
- variant('python', default=True,
- description='Provide Python bindings for SGpp')
- variant('optimization', default=True,
- description='Builds the optimization module of SGpp')
- variant('pde', default=True,
- description='Builds the datadriven module of SGpp')
- variant('quadrature', default=True,
- description='Builds the datadriven module of SGpp')
- variant('datadriven', default=False,
- description='Builds the datadriven module of SGpp')
- variant('misc', default=False,
- description='Builds the misc module of SGpp')
- variant('combigrid', default=False,
- description='Builds the combigrid module of SGpp')
- variant('solver', default=True,
- description='Builds the solver module of SGpp')
- variant('opencl', default=False,
- description='Enables support for OpenCL accelerated operations')
- variant('mpi', default=False,
- description='Enables support for MPI-distributed operations')
+ patch("avx512_datadriven_compilation.patch", when="@:3.3.0+datadriven")
+
+ variant("python", default=True, description="Provide Python bindings for SGpp")
+ variant("optimization", default=True, description="Builds the optimization module of SGpp")
+ variant("pde", default=True, description="Builds the datadriven module of SGpp")
+ variant("quadrature", default=True, description="Builds the datadriven module of SGpp")
+ variant("datadriven", default=False, description="Builds the datadriven module of SGpp")
+ variant("misc", default=False, description="Builds the misc module of SGpp")
+ variant("combigrid", default=False, description="Builds the combigrid module of SGpp")
+ variant("solver", default=True, description="Builds the solver module of SGpp")
+ variant(
+ "opencl", default=False, description="Enables support for OpenCL accelerated operations"
+ )
+ variant("mpi", default=False, description="Enables support for MPI-distributed operations")
# Java variant deactivated due to spack issue #987
# variant('java', default=False,
@@ -75,148 +67,134 @@ class Sgpp(SConsPackage):
# extends('openjdk', when='+java')
# Mandatory dependencies
- depends_on('scons', type=('build'))
- depends_on('scons@2.5.1', when='@1.0.0:3.1.0', type=('build'))
- depends_on('scons@3:', when='@3.2.0:', type=('build'))
- depends_on('zlib', type=('link'))
+ depends_on("scons", type=("build"))
+ depends_on("scons@2.5.1", when="@1.0.0:3.1.0", type=("build"))
+ depends_on("scons@3:", when="@3.2.0:", type=("build"))
+ depends_on("zlib", type=("link"))
# Python dependencies
- extends('python', when='+python')
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-setuptools', when='+python', type=('build'))
+ extends("python", when="+python")
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-setuptools", when="+python", type=("build"))
# Python 3 support was added in version 3.2.0
- depends_on('python@2.7:2.8', when='@1.0.0:3.1.0+python', type=('build', 'run'))
- depends_on('python@3.7:', when='@3.2.0:+python', type=('build', 'run'))
- depends_on('swig@3:', when='+python', type=('build'))
+ depends_on("python@2.7:2.8", when="@1.0.0:3.1.0+python", type=("build", "run"))
+ depends_on("python@3.7:", when="@3.2.0:+python", type=("build", "run"))
+ depends_on("swig@3:", when="+python", type=("build"))
# Python libraries (version depends on whether we use Python 2 or 3)
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-numpy@:1.16', when='@1.0.0:3.1.0+python', type=('build', 'run'))
- depends_on('py-numpy@1.17:', when='@3.2.0:+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('build', 'run'))
- depends_on('py-scipy@:1.2.3', when='@1.0.0:3.1.0+python', type=('build', 'run'))
- depends_on('py-scipy@1.3.0:', when='@3.2.0:+python', type=('build', 'run'))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-numpy@:1.16", when="@1.0.0:3.1.0+python", type=("build", "run"))
+ depends_on("py-numpy@1.17:", when="@3.2.0:+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("build", "run"))
+ depends_on("py-scipy@:1.2.3", when="@1.0.0:3.1.0+python", type=("build", "run"))
+ depends_on("py-scipy@1.3.0:", when="@3.2.0:+python", type=("build", "run"))
# OpenCL dependency
- depends_on('opencl@1.1:', when='+opencl', type=('build', 'run'))
+ depends_on("opencl@1.1:", when="+opencl", type=("build", "run"))
# MPI dependency
- depends_on('mpi', when='+mpi', type=('build', 'run'))
+ depends_on("mpi", when="+mpi", type=("build", "run"))
# Testing requires boost test
- depends_on('boost+test', type=('test'))
+ depends_on("boost+test", type=("test"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, type=('test'))
+ depends_on(Boost.with_default_variants, type=("test"))
# Compiler with C++11 support is required
- conflicts('%gcc@:4.8.4', msg='Compiler with c++11 support is required!')
- conflicts('%apple-clang@:3.9', msg='Compiler with c++11 support is required!')
- conflicts('%clang@:3.2', msg='Compiler with c++11 support is required!')
- conflicts('%intel@:14', msg='Compiler with c++11 support is required!')
+ conflicts("%gcc@:4.8.4", msg="Compiler with c++11 support is required!")
+ conflicts("%apple-clang@:3.9", msg="Compiler with c++11 support is required!")
+ conflicts("%clang@:3.2", msg="Compiler with c++11 support is required!")
+ conflicts("%intel@:14", msg="Compiler with c++11 support is required!")
# Solver python bindings are actually using the pde module at one point:
- conflicts('-pde', when='+python+solver')
+ conflicts("-pde", when="+python+solver")
# some modules depend on each other (notably datadriven and misc)
- conflicts('+pde', when='-solver')
+ conflicts("+pde", when="-solver")
# Datadriven module requirements
- conflicts('+datadriven', when='-solver')
- conflicts('+datadriven', when='-optimization')
- conflicts('+datadriven', when='-pde')
+ conflicts("+datadriven", when="-solver")
+ conflicts("+datadriven", when="-optimization")
+ conflicts("+datadriven", when="-pde")
# Misc module requirements
- conflicts('+misc', when='-datadriven')
- conflicts('+misc', when='-solver')
- conflicts('+misc', when='-optimization')
- conflicts('+misc', when='-pde')
- conflicts('+misc', when='@1.0.0:3.1.0',
- msg='The misc module was introduced in version 3.2.0')
+ conflicts("+misc", when="-datadriven")
+ conflicts("+misc", when="-solver")
+ conflicts("+misc", when="-optimization")
+ conflicts("+misc", when="-pde")
+ conflicts("+misc", when="@1.0.0:3.1.0", msg="The misc module was introduced in version 3.2.0")
# Combigrid module requirements (for 3.2.0 or older)
# newer combigrids have no dependencies
- conflicts('+combigrid', when='@1.0.0:3.2.0~optimization')
- conflicts('+combigrid', when='@1.0.0:3.2.0~pde')
- conflicts('+combigrid', when='@1.0.0:3.2.0~solver')
- conflicts('+combigrid', when='@1.0.0:3.2.0~quadrature')
+ conflicts("+combigrid", when="@1.0.0:3.2.0~optimization")
+ conflicts("+combigrid", when="@1.0.0:3.2.0~pde")
+ conflicts("+combigrid", when="@1.0.0:3.2.0~solver")
+ conflicts("+combigrid", when="@1.0.0:3.2.0~quadrature")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def build_args(self, spec, prefix):
# Testing parameters
if self.run_tests:
- self.args = ['COMPILE_BOOST_TESTS=1',
- 'RUN_BOOST_TESTS=1']
- if ('+python' in spec):
- self.args.append('RUN_PYTHON_TESTS=1')
- if spec.satisfies('@1.0.0:3.2.0'):
- self.args.append('RUN_CPPLINT=1')
+ self.args = ["COMPILE_BOOST_TESTS=1", "RUN_BOOST_TESTS=1"]
+ if "+python" in spec:
+ self.args.append("RUN_PYTHON_TESTS=1")
+ if spec.satisfies("@1.0.0:3.2.0"):
+ self.args.append("RUN_CPPLINT=1")
else: # argument was renamed after 3.2.0
- self.args.append('CHECK_STYLE=1')
+ self.args.append("CHECK_STYLE=1")
else:
- self.args = ['COMPILE_BOOST_TESTS=0',
- 'RUN_BOOST_TESTS=0',
- 'RUN_PYTHON_TESTS=0']
- if spec.satisfies('@1.0.0:3.2.0'):
- self.args.append('RUN_CPPLINT=0')
+ self.args = ["COMPILE_BOOST_TESTS=0", "RUN_BOOST_TESTS=0", "RUN_PYTHON_TESTS=0"]
+ if spec.satisfies("@1.0.0:3.2.0"):
+ self.args.append("RUN_CPPLINT=0")
else: # argument was renamed after 3.2.0
- self.args.append('CHECK_STYLE=0')
+ self.args.append("CHECK_STYLE=0")
# Install direction
- self.args.append('PREFIX={0}'.format(prefix))
+ self.args.append("PREFIX={0}".format(prefix))
# Generate swig bindings?
- self.args.append('SG_PYTHON={0}'.format(
- '1' if '+python' in spec else '0'))
+ self.args.append("SG_PYTHON={0}".format("1" if "+python" in spec else "0"))
# Java variant deactivated due to spack issue #987
# self.args.append('SG_JAVA={0}'.format(
# '1' if '+java' in spec else '0'))
- self.args.append('SG_JAVA=0')
+ self.args.append("SG_JAVA=0")
# Which modules to build?
- self.args.append('SG_OPTIMIZATION={0}'.format(
- '1' if '+optimization' in spec else '0'))
- self.args.append('SG_QUADRATURE={0}'.format(
- '1' if '+quadrature' in spec else '0'))
- self.args.append('SG_PDE={0}'.format(
- '1' if '+pde' in spec else '0'))
- self.args.append('SG_DATADRIVEN={0}'.format(
- '1' if '+datadriven' in spec else '0'))
- self.args.append('SG_COMBIGRID={0}'.format(
- '1' if '+combigrid' in spec else '0'))
- self.args.append('SG_SOLVER={0}'.format(
- '1' if '+solver' in spec else '0'))
+ self.args.append("SG_OPTIMIZATION={0}".format("1" if "+optimization" in spec else "0"))
+ self.args.append("SG_QUADRATURE={0}".format("1" if "+quadrature" in spec else "0"))
+ self.args.append("SG_PDE={0}".format("1" if "+pde" in spec else "0"))
+ self.args.append("SG_DATADRIVEN={0}".format("1" if "+datadriven" in spec else "0"))
+ self.args.append("SG_COMBIGRID={0}".format("1" if "+combigrid" in spec else "0"))
+ self.args.append("SG_SOLVER={0}".format("1" if "+solver" in spec else "0"))
# Misc flag did not exist in older versions
- if not spec.satisfies('@1.0.0:3.2.0'):
- self.args.append('SG_MISC={0}'.format(
- '1' if '+misc' in spec else '0'))
+ if not spec.satisfies("@1.0.0:3.2.0"):
+ self.args.append("SG_MISC={0}".format("1" if "+misc" in spec else "0"))
# SIMD scons parameter (pick according to simd spec)
- if 'avx512' in self.spec.target:
- self.args.append('ARCH=avx512')
- elif 'avx2' in self.spec.target:
- self.args.append('ARCH=avx2')
- elif 'avx' in self.spec.target:
- self.args.append('ARCH=avx')
- elif 'fma4' in self.spec.target:
- self.args.append('ARCH=fma4')
- elif 'sse42' in self.spec.target:
- self.args.append('ARCH=sse42')
- elif 'sse3' in self.spec.target:
- self.args.append('ARCH=sse3')
+ if "avx512" in self.spec.target:
+ self.args.append("ARCH=avx512")
+ elif "avx2" in self.spec.target:
+ self.args.append("ARCH=avx2")
+ elif "avx" in self.spec.target:
+ self.args.append("ARCH=avx")
+ elif "fma4" in self.spec.target:
+ self.args.append("ARCH=fma4")
+ elif "sse42" in self.spec.target:
+ self.args.append("ARCH=sse42")
+ elif "sse3" in self.spec.target:
+ self.args.append("ARCH=sse3")
# OpenCL Flags
- self.args.append('USE_OCL={0}'.format(
- '1' if '+opencl' in spec else '0'))
+ self.args.append("USE_OCL={0}".format("1" if "+opencl" in spec else "0"))
# Get the mpicxx compiler from the Spack spec
# (makes certain we use the one from spack):
- if ('+mpi' in spec):
- self.args.append('CXX={0}'.format(
- self.spec['mpi'].mpicxx))
+ if "+mpi" in spec:
+ self.args.append("CXX={0}".format(self.spec["mpi"].mpicxx))
else:
- self.args.append('CXX={0}'.format(self.compiler.cxx))
+ self.args.append("CXX={0}".format(self.compiler.cxx))
return self.args
- @run_after('install')
+ @run_after("install")
def python_install(self):
- if '+python' in self.spec:
- args = std_pip_args + ['--prefix=' + self.prefix, '.']
+ if "+python" in self.spec:
+ args = std_pip_args + ["--prefix=" + self.prefix, "."]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/shadow/package.py b/var/spack/repos/builtin/packages/shadow/package.py
index bdc577c024..32fa2858f9 100644
--- a/var/spack/repos/builtin/packages/shadow/package.py
+++ b/var/spack/repos/builtin/packages/shadow/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Shadow(AutotoolsPackage):
"""Tools to help unprivileged users create uid and gid mappings in
- user namespaces."""
+ user namespaces."""
homepage = "https://github.com/shadow-maint/shadow"
- url = "https://github.com/shadow-maint/shadow/releases/download/4.7/shadow-4.7.tar.gz"
- git = "https://github.com/shadow-maint/shadow.git"
+ url = "https://github.com/shadow-maint/shadow/releases/download/4.7/shadow-4.7.tar.gz"
+ git = "https://github.com/shadow-maint/shadow.git"
- version('4.8.1', sha256='3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a')
- version('4.7', sha256='5135b0ca2a361a218fab59e63d9c1720d2a8fc1faa520c819a654b638017286f')
- version('4.6', sha256='4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31')
+ version("4.8.1", sha256="3ee3081fbbcbcfea5c8916419e46bc724807bab271072104f23e7a29e9668f3a")
+ version("4.7", sha256="5135b0ca2a361a218fab59e63d9c1720d2a8fc1faa520c819a654b638017286f")
+ version("4.6", sha256="4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31")
diff --git a/var/spack/repos/builtin/packages/shapeit/package.py b/var/spack/repos/builtin/packages/shapeit/package.py
index ae2ee02e62..18484e12d1 100644
--- a/var/spack/repos/builtin/packages/shapeit/package.py
+++ b/var/spack/repos/builtin/packages/shapeit/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Shapeit(Package):
"""SHAPEIT is a fast and accurate method for estimation of haplotypes (aka
- phasing) from genotype or sequencing data."""
+ phasing) from genotype or sequencing data."""
homepage = "https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html"
- url = "https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.v2.r837.GLIBCv2.12.Linux.dynamic.tgz"
+ url = "https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.v2.r837.GLIBCv2.12.Linux.dynamic.tgz"
- version('2.837', sha256='ec2ce728dd754452423ff5a8f7ed39c1c1218a11cedb93fab0c18428e3211874')
+ version("2.837", sha256="ec2ce728dd754452423ff5a8f7ed39c1c1218a11cedb93fab0c18428e3211874")
def url_for_version(self, version):
- url = 'https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.v{0}.r{1}.GLIBCv2.12.Linux.dynamic.tgz'
+ url = "https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.v{0}.r{1}.GLIBCv2.12.Linux.dynamic.tgz"
return url.format(version[0], version[1])
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('bin'):
- install('shapeit', prefix.bin)
+ with working_dir("bin"):
+ install("shapeit", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/shapeit4/package.py b/var/spack/repos/builtin/packages/shapeit4/package.py
index c02f212110..b5958fd8f7 100644
--- a/var/spack/repos/builtin/packages/shapeit4/package.py
+++ b/var/spack/repos/builtin/packages/shapeit4/package.py
@@ -11,45 +11,46 @@ class Shapeit4(MakefilePackage):
(aka phasing) for SNP array and high coverage sequencing data."""
homepage = "https://odelaneau.github.io/shapeit4/"
- url = "https://github.com/odelaneau/shapeit4/archive/v4.1.3.tar.gz"
+ url = "https://github.com/odelaneau/shapeit4/archive/v4.1.3.tar.gz"
- version('4.1.3', sha256='d209731277b00bca1e3478b7e0a0cbe40fbe23826c3d640ad12e0dd6033cbbb8')
+ version("4.1.3", sha256="d209731277b00bca1e3478b7e0a0cbe40fbe23826c3d640ad12e0dd6033cbbb8")
- maintainers = ['ilbiondo']
+ maintainers = ["ilbiondo"]
- depends_on('htslib')
- depends_on('boost+exception+container+iostreams+program_options')
- depends_on('bzip2')
- depends_on('xz')
+ depends_on("htslib")
+ depends_on("boost+exception+container+iostreams+program_options")
+ depends_on("bzip2")
+ depends_on("xz")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
- makefile.filter('CXX=.*', 'CXX = c++')
+ makefile = FileFilter("makefile")
+ makefile.filter("CXX=.*", "CXX = c++")
- makefile.filter('CXXFLAG=.*', 'CXXFLAG = -O3')
- makefile.filter('LDFLAG=.*', 'LDFLAG = -O3')
+ makefile.filter("CXXFLAG=.*", "CXXFLAG = -O3")
+ makefile.filter("LDFLAG=.*", "LDFLAG = -O3")
- makefile.filter('HTSLIB_INC=.*', 'HTSLIB_INC = '
- + self.spec['htslib'].prefix.include)
+ makefile.filter("HTSLIB_INC=.*", "HTSLIB_INC = " + self.spec["htslib"].prefix.include)
- makefile.filter('HTSLIB_LIB=.*', 'HTSLIB_LIB = '
- + self.spec['htslib'].prefix.lib + '/libhts.so')
+ makefile.filter(
+ "HTSLIB_LIB=.*", "HTSLIB_LIB = " + self.spec["htslib"].prefix.lib + "/libhts.so"
+ )
- makefile.filter('BOOST_INC=.*', 'BOOST_INC = '
- + self.spec['boost'].prefix.include)
+ makefile.filter("BOOST_INC=.*", "BOOST_INC = " + self.spec["boost"].prefix.include)
- makefile.filter('BOOST_LIB_IO=.*', 'BOOST_LIB_IO = '
- + self.spec['boost'].prefix.lib
- + "/libboost_iostreams.so")
+ makefile.filter(
+ "BOOST_LIB_IO=.*",
+ "BOOST_LIB_IO = " + self.spec["boost"].prefix.lib + "/libboost_iostreams.so",
+ )
- makefile.filter('BOOST_LIB_PO=.*', 'BOOST_LIB_PO = '
- + self.spec['boost'].prefix.lib
- + "/libboost_program_options.so")
+ makefile.filter(
+ "BOOST_LIB_PO=.*",
+ "BOOST_LIB_PO = " + self.spec["boost"].prefix.lib + "/libboost_program_options.so",
+ )
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('test', join_path(self.prefix, 'test'))
- install_tree('docs', join_path(self.prefix, 'docs'))
- install_tree('maps', join_path(self.prefix, 'maps'))
+ install_tree("bin", prefix.bin)
+ install_tree("test", join_path(self.prefix, "test"))
+ install_tree("docs", join_path(self.prefix, "docs"))
+ install_tree("maps", join_path(self.prefix, "maps"))
diff --git a/var/spack/repos/builtin/packages/shapelib/package.py b/var/spack/repos/builtin/packages/shapelib/package.py
index 28ced3955d..6aad2436c4 100644
--- a/var/spack/repos/builtin/packages/shapelib/package.py
+++ b/var/spack/repos/builtin/packages/shapelib/package.py
@@ -13,6 +13,6 @@ class Shapelib(CMakePackage):
"""
homepage = "http://shapelib.maptools.org/"
- url = "https://github.com/OSGeo/shapelib/archive/v1.5.0.tar.gz"
+ url = "https://github.com/OSGeo/shapelib/archive/v1.5.0.tar.gz"
- version('1.5.0', sha256='48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad')
+ version("1.5.0", sha256="48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad")
diff --git a/var/spack/repos/builtin/packages/shared-mime-info/package.py b/var/spack/repos/builtin/packages/shared-mime-info/package.py
index 7c429bd639..817e3543b5 100644
--- a/var/spack/repos/builtin/packages/shared-mime-info/package.py
+++ b/var/spack/repos/builtin/packages/shared-mime-info/package.py
@@ -10,21 +10,21 @@ class SharedMimeInfo(AutotoolsPackage):
"""Database of common MIME types."""
homepage = "https://freedesktop.org/wiki/Software/shared-mime-info"
- url = "http://freedesktop.org/~hadess/shared-mime-info-1.8.tar.xz"
+ url = "http://freedesktop.org/~hadess/shared-mime-info-1.8.tar.xz"
- version('1.9', sha256='5c0133ec4e228e41bdf52f726d271a2d821499c2ab97afd3aa3d6cf43efcdc83')
- version('1.8', sha256='2af55ef1a0319805b74ab40d331a3962c905477d76c086f49e34dc96363589e9')
+ version("1.9", sha256="5c0133ec4e228e41bdf52f726d271a2d821499c2ab97afd3aa3d6cf43efcdc83")
+ version("1.8", sha256="2af55ef1a0319805b74ab40d331a3962c905477d76c086f49e34dc96363589e9")
parallel = False
- depends_on('glib')
- depends_on('libxml2')
- depends_on('intltool', type='build')
- depends_on('gettext', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("glib")
+ depends_on("libxml2")
+ depends_on("intltool", type="build")
+ depends_on("gettext", type="build")
+ depends_on("pkgconfig", type="build")
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+ env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
diff --git a/var/spack/repos/builtin/packages/shark/package.py b/var/spack/repos/builtin/packages/shark/package.py
index da50499ca3..daaff46489 100644
--- a/var/spack/repos/builtin/packages/shark/package.py
+++ b/var/spack/repos/builtin/packages/shark/package.py
@@ -9,14 +9,14 @@ from spack.pkg.builtin.boost import Boost
class Shark(CMakePackage):
"""Shark is a fast, modular, general open-source C++ machine
- learning library. """
+ learning library."""
homepage = "https://www.shark-ml.org/"
- url = "https://github.com/Shark-ML/Shark/archive/v4.0.1.tar.gz"
+ url = "https://github.com/Shark-ML/Shark/archive/v4.0.1.tar.gz"
- version('4.0.1', sha256='1caf9c73c5ebf54f9543a090e2b05ac646f95559aa1de483cd7662c378c1ec21')
- version('4.0.0', sha256='19d4099776327d5f8a2e2be286818c6081c61eb13ca279c1e438c86e70d90210')
- version('3.1.4', sha256='160c35ddeae3f6aeac3ce132ea4ba2611ece39eee347de2faa3ca52639dc6311')
+ version("4.0.1", sha256="1caf9c73c5ebf54f9543a090e2b05ac646f95559aa1de483cd7662c378c1ec21")
+ version("4.0.0", sha256="19d4099776327d5f8a2e2be286818c6081c61eb13ca279c1e438c86e70d90210")
+ version("3.1.4", sha256="160c35ddeae3f6aeac3ce132ea4ba2611ece39eee347de2faa3ca52639dc6311")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
@@ -24,6 +24,5 @@ class Shark(CMakePackage):
depends_on(Boost.with_default_variants)
def cmake_args(self):
- args = ["-DBoost_USE_STATIC_LIBS=ON", "-DBOOST_ROOT={0}".format(
- self.spec['boost'].prefix)]
+ args = ["-DBoost_USE_STATIC_LIBS=ON", "-DBOOST_ROOT={0}".format(self.spec["boost"].prefix)]
return args
diff --git a/var/spack/repos/builtin/packages/shc/package.py b/var/spack/repos/builtin/packages/shc/package.py
index 538047f145..e7c3733ffc 100644
--- a/var/spack/repos/builtin/packages/shc/package.py
+++ b/var/spack/repos/builtin/packages/shc/package.py
@@ -13,10 +13,10 @@ class Shc(AutotoolsPackage):
and linked to produce a stripped binary executable."""
homepage = "https://neurobin.org/projects/softwares/unix/shc/"
- url = "https://github.com/neurobin/shc/archive/4.0.3.tar.gz"
+ url = "https://github.com/neurobin/shc/archive/4.0.3.tar.gz"
- version('4.0.3', sha256='7d7fa6a9f5f53d607ab851d739ae3d3b99ca86e2cb1425a6cab9299f673aee16')
- version('4.0.2', sha256='881b9a558466529dcdba79b7fafed028ee02a9afc0371fc1e11a26f1f586a4a6')
- version('4.0.1', sha256='494666df8b28069a7d73b89f79919bdc04e929a176746c98c3544a639978ba52')
- version('4.0.0', sha256='750f84441c45bd589acc3b0f0f71363b0001818156be035da048e1c2f8d6d76b')
- version('3.9.8', sha256='8b31e1f2ceef3404217b9578fa250a8a424f3eaf03359dd7951cd635c889ad79')
+ version("4.0.3", sha256="7d7fa6a9f5f53d607ab851d739ae3d3b99ca86e2cb1425a6cab9299f673aee16")
+ version("4.0.2", sha256="881b9a558466529dcdba79b7fafed028ee02a9afc0371fc1e11a26f1f586a4a6")
+ version("4.0.1", sha256="494666df8b28069a7d73b89f79919bdc04e929a176746c98c3544a639978ba52")
+ version("4.0.0", sha256="750f84441c45bd589acc3b0f0f71363b0001818156be035da048e1c2f8d6d76b")
+ version("3.9.8", sha256="8b31e1f2ceef3404217b9578fa250a8a424f3eaf03359dd7951cd635c889ad79")
diff --git a/var/spack/repos/builtin/packages/shengbte/package.py b/var/spack/repos/builtin/packages/shengbte/package.py
index 092038443c..4e6cf0e588 100644
--- a/var/spack/repos/builtin/packages/shengbte/package.py
+++ b/var/spack/repos/builtin/packages/shengbte/package.py
@@ -10,30 +10,31 @@ class Shengbte(MakefilePackage):
Equation for phonons."""
homepage = "www.shengbte.org"
- url = "www.shengbte.org/downloads/ShengBTE-v1.1.1-8a63749.tar.bz2"
+ url = "www.shengbte.org/downloads/ShengBTE-v1.1.1-8a63749.tar.bz2"
- version('1.1.1-8a63749', sha256='43920740d19ae854c8ecae0b648acfdf1d7726ca4c2b44f1a1684457f2f88522')
+ version(
+ "1.1.1-8a63749", sha256="43920740d19ae854c8ecae0b648acfdf1d7726ca4c2b44f1a1684457f2f88522"
+ )
- depends_on('mpi')
- depends_on('spglib')
- depends_on('mkl')
+ depends_on("mpi")
+ depends_on("spglib")
+ depends_on("mkl")
parallel = False
- build_directory = 'Src'
+ build_directory = "Src"
def edit(self, spec, prefix):
- arch_make = join_path(self.build_directory, 'arch.make')
- copy('arch.make.example', arch_make)
- filter_file('export FFLAGS=.*', 'export FFLAGS=-debug -O2', arch_make)
- filter_file('export LDFLAGS=.*', 'export LDFLAGS=' + spec['spglib'].
- libs.ld_flags, arch_make)
+ arch_make = join_path(self.build_directory, "arch.make")
+ copy("arch.make.example", arch_make)
+ filter_file("export FFLAGS=.*", "export FFLAGS=-debug -O2", arch_make)
+ filter_file(
+ "export LDFLAGS=.*", "export LDFLAGS=" + spec["spglib"].libs.ld_flags, arch_make
+ )
- filter_file('export MPIFC=.*', 'export MPIFC=%s' % spec['mpi'].mpifc,
- arch_make)
- filter_file('LAPACK=.*', 'LAPACK=' + spec['mkl'].libs.ld_flags,
- arch_make)
+ filter_file("export MPIFC=.*", "export MPIFC=%s" % spec["mpi"].mpifc, arch_make)
+ filter_file("LAPACK=.*", "LAPACK=" + spec["mkl"].libs.ld_flags, arch_make)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ShengBTE', prefix.bin)
+ install("ShengBTE", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sherpa/package.py b/var/spack/repos/builtin/packages/sherpa/package.py
index 6ddb10a5cb..8249c11b7e 100644
--- a/var/spack/repos/builtin/packages/sherpa/package.py
+++ b/var/spack/repos/builtin/packages/sherpa/package.py
@@ -12,160 +12,246 @@ class Sherpa(AutotoolsPackage):
photon-photon, lepton-hadron and hadron-hadron collisions."""
homepage = "https://sherpa-team.gitlab.io"
- url = "https://gitlab.com/sherpa-team/sherpa/-/archive/v2.2.11/sherpa-v2.2.11.tar.gz"
+ url = "https://gitlab.com/sherpa-team/sherpa/-/archive/v2.2.11/sherpa-v2.2.11.tar.gz"
list_url = "https://gitlab.com/sherpa-team/sherpa/-/tags"
- git = "https://gitlab.com/sherpa-team/sherpa.git"
-
- tags = ['hep', 'eic']
-
- maintainers = ['wdconinc', 'vvolkl']
- version('2.2.12', sha256='4ba78098e45aaac0bc303d1b5abdc15809f30b407abf9457d99b55e63384c83d')
- version('2.2.11', sha256='5e12761988b41429f1d104f84fdf352775d233cde7a165eb64e14dcc20c3e1bd')
- version('2.2.10', sha256='ae23bc8fdcc9f8c26becc41692822233b62203cd72a7e0dab2ca19316aa0aad7', deprecated=True)
- version('2.2.9', sha256='ebc836d42269a0c4049d3fc439a983d19d12595d9a06db2d18765bd1e301923e', deprecated=True)
- version('2.2.8', sha256='ff198cbae5de445e6fe383151021ef24b1628dffc0da6bf3737753f6672a0091', deprecated=True)
- version('2.0.0', sha256='0e873b27bb1be46ca5ed451d1b8514ca84c10221057b11be5952180076e6f848', deprecated=True)
- version('1.3.1', sha256='31881207838d341358db64e3fdadfeee1ea2f6d1cb42f370014f622f579159ae', deprecated=True)
- version('1.3.0', sha256='08b13c65b66f2edde6996d2a06762a12a0682ffb64bca43654df47321e5039a0', deprecated=True)
- version('1.2.3', sha256='029727337a430d6675a1a12dce3ced0411041e79ddaf4ce3b9466035cf6c8804', deprecated=True)
- version('1.2.2', sha256='6e7b5ea80b99f1378519009e494030d6cf4c4491f91218d749eabb8ffaad9ac1', deprecated=True)
- version('1.2.1', sha256='838462f4a1e8768135363aa6b8532fd8f5e5789a269b858f8e3728ab37f6a1d1', deprecated=True)
- version('1.2.0', sha256='509508fd0ad72aaf55ab484da8b6bc0b31688c955adcda62a3e8f94689cebf99', deprecated=True)
- version('1.1.3', sha256='6335e5eb1fc304e9618496d3ddb198b3591e57b27db6e876af8fd649a8b98c93', deprecated=True)
- version('1.1.2', sha256='e1689cad6700dc013af0afb0d33729ac2b5e9841d2f325c85b10d773e7f8a80e', deprecated=True)
- version('1.1.1', sha256='b80e1d75934be79b73400d2c95d96e88651626ea29ddcb9d8fde9c1812039e29', deprecated=True)
- version('1.1.0', sha256='8052d137d668353dc710f8691b921e772820d39e20361f0d616ee2da1ac798f2', deprecated=True)
- version('1.0.9', sha256='fe28db91ea8264364395c7e5efeeae3e5c01ea1343e0db7fe13924c6f17fb963', deprecated=True)
- version('1.0.8', sha256='6e346bafd13b5b05ad566a73759da6d5e64d65c5036780cc4911d93277e891fa', deprecated=True)
- version('1.0.7', sha256='d1eeefd96c6822ea8eb926447ca91ec4a1c714e4746323e92b1e17764e51ff0b', deprecated=True)
- version('1.0.6', sha256='358d417ec3afde24618c222bc9b742bc5102d435622b3cd6f2e3f72d03656255', deprecated=True)
-
- _cxxstd_values = ('11', '14', '17')
- variant('cxxstd', default='11', values=_cxxstd_values, multi=False,
- description='Use the specified C++ standard when building')
-
- variant('analysis', default=True, description='Enable analysis components')
- variant('mpi', default=False, description='Enable MPI')
- variant('python', default=False, description='Enable Python API')
- variant('hepmc2', default=True, description='Enable HepMC (version 2.x) support')
- variant('hepmc3', default=True, description='Enable HepMC (version 3.x) support')
- variant('hepmc3root', default=False, description='Enable HepMC (version 3.1+) ROOT support')
- variant('rivet', default=False, description='Enable Rivet support')
- variant('fastjet', default=True, description='Enable FASTJET')
- variant('openloops', default=False, description='Enable OpenLoops')
- variant('recola', default=False, description='Enable Recola')
- variant('lhole', default=False, description='Enable Les Houches One-Loop Generator interface')
- variant('root', default=False, description='Enable ROOT support')
- variant('lhapdf', default=True, description='Enable LHAPDF support')
- variant('gzip', default=False, description='Enable gzip support')
- variant('pythia', default=True, description='Enable fragmentation/decay interface to Pythia')
- variant('blackhat', default=False, description='Enable BLACKHAT support')
- variant('ufo', default=False, description='Enable UFO support')
- variant('hztool', default=False, description='Enable HZTOOL support')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ git = "https://gitlab.com/sherpa-team/sherpa.git"
+
+ tags = ["hep", "eic"]
+
+ maintainers = ["wdconinc", "vvolkl"]
+ version("2.2.12", sha256="4ba78098e45aaac0bc303d1b5abdc15809f30b407abf9457d99b55e63384c83d")
+ version("2.2.11", sha256="5e12761988b41429f1d104f84fdf352775d233cde7a165eb64e14dcc20c3e1bd")
+ version(
+ "2.2.10",
+ sha256="ae23bc8fdcc9f8c26becc41692822233b62203cd72a7e0dab2ca19316aa0aad7",
+ deprecated=True,
+ )
+ version(
+ "2.2.9",
+ sha256="ebc836d42269a0c4049d3fc439a983d19d12595d9a06db2d18765bd1e301923e",
+ deprecated=True,
+ )
+ version(
+ "2.2.8",
+ sha256="ff198cbae5de445e6fe383151021ef24b1628dffc0da6bf3737753f6672a0091",
+ deprecated=True,
+ )
+ version(
+ "2.0.0",
+ sha256="0e873b27bb1be46ca5ed451d1b8514ca84c10221057b11be5952180076e6f848",
+ deprecated=True,
+ )
+ version(
+ "1.3.1",
+ sha256="31881207838d341358db64e3fdadfeee1ea2f6d1cb42f370014f622f579159ae",
+ deprecated=True,
+ )
+ version(
+ "1.3.0",
+ sha256="08b13c65b66f2edde6996d2a06762a12a0682ffb64bca43654df47321e5039a0",
+ deprecated=True,
+ )
+ version(
+ "1.2.3",
+ sha256="029727337a430d6675a1a12dce3ced0411041e79ddaf4ce3b9466035cf6c8804",
+ deprecated=True,
+ )
+ version(
+ "1.2.2",
+ sha256="6e7b5ea80b99f1378519009e494030d6cf4c4491f91218d749eabb8ffaad9ac1",
+ deprecated=True,
+ )
+ version(
+ "1.2.1",
+ sha256="838462f4a1e8768135363aa6b8532fd8f5e5789a269b858f8e3728ab37f6a1d1",
+ deprecated=True,
+ )
+ version(
+ "1.2.0",
+ sha256="509508fd0ad72aaf55ab484da8b6bc0b31688c955adcda62a3e8f94689cebf99",
+ deprecated=True,
+ )
+ version(
+ "1.1.3",
+ sha256="6335e5eb1fc304e9618496d3ddb198b3591e57b27db6e876af8fd649a8b98c93",
+ deprecated=True,
+ )
+ version(
+ "1.1.2",
+ sha256="e1689cad6700dc013af0afb0d33729ac2b5e9841d2f325c85b10d773e7f8a80e",
+ deprecated=True,
+ )
+ version(
+ "1.1.1",
+ sha256="b80e1d75934be79b73400d2c95d96e88651626ea29ddcb9d8fde9c1812039e29",
+ deprecated=True,
+ )
+ version(
+ "1.1.0",
+ sha256="8052d137d668353dc710f8691b921e772820d39e20361f0d616ee2da1ac798f2",
+ deprecated=True,
+ )
+ version(
+ "1.0.9",
+ sha256="fe28db91ea8264364395c7e5efeeae3e5c01ea1343e0db7fe13924c6f17fb963",
+ deprecated=True,
+ )
+ version(
+ "1.0.8",
+ sha256="6e346bafd13b5b05ad566a73759da6d5e64d65c5036780cc4911d93277e891fa",
+ deprecated=True,
+ )
+ version(
+ "1.0.7",
+ sha256="d1eeefd96c6822ea8eb926447ca91ec4a1c714e4746323e92b1e17764e51ff0b",
+ deprecated=True,
+ )
+ version(
+ "1.0.6",
+ sha256="358d417ec3afde24618c222bc9b742bc5102d435622b3cd6f2e3f72d03656255",
+ deprecated=True,
+ )
+
+ _cxxstd_values = ("11", "14", "17")
+ variant(
+ "cxxstd",
+ default="11",
+ values=_cxxstd_values,
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+
+ variant("analysis", default=True, description="Enable analysis components")
+ variant("mpi", default=False, description="Enable MPI")
+ variant("python", default=False, description="Enable Python API")
+ variant("hepmc2", default=True, description="Enable HepMC (version 2.x) support")
+ variant("hepmc3", default=True, description="Enable HepMC (version 3.x) support")
+ variant("hepmc3root", default=False, description="Enable HepMC (version 3.1+) ROOT support")
+ variant("rivet", default=False, description="Enable Rivet support")
+ variant("fastjet", default=True, description="Enable FASTJET")
+ variant("openloops", default=False, description="Enable OpenLoops")
+ variant("recola", default=False, description="Enable Recola")
+ variant("lhole", default=False, description="Enable Les Houches One-Loop Generator interface")
+ variant("root", default=False, description="Enable ROOT support")
+ variant("lhapdf", default=True, description="Enable LHAPDF support")
+ variant("gzip", default=False, description="Enable gzip support")
+ variant("pythia", default=True, description="Enable fragmentation/decay interface to Pythia")
+ variant("blackhat", default=False, description="Enable BLACKHAT support")
+ variant("ufo", default=False, description="Enable UFO support")
+ variant("hztool", default=False, description="Enable HZTOOL support")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
# cernlib not yet in spack
# variant('cernlib', default=False, description='Enable CERNLIB support')
- variant('cms', default=False, description="Append CXXFLAGS used by CMS experiment")
+ variant("cms", default=False, description="Append CXXFLAGS used by CMS experiment")
# Note that the delphes integration seems utterly broken: https://sherpa.hepforge.org/trac/ticket/305
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('texinfo', type='build')
- depends_on('sqlite')
-
- depends_on('mpi', when='+mpi')
- depends_on('python', when='+python')
- depends_on('swig', when='+python', type='build')
- depends_on('hepmc', when='+hepmc2')
- depends_on('hepmc3', when='+hepmc3')
- depends_on('hepmc3 +rootio', when='+hepmc3root')
- depends_on('rivet', when='+rivet')
- depends_on('fastjet', when='+fastjet')
- depends_on('openloops', when='+openloops')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("texinfo", type="build")
+ depends_on("sqlite")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("python", when="+python")
+ depends_on("swig", when="+python", type="build")
+ depends_on("hepmc", when="+hepmc2")
+ depends_on("hepmc3", when="+hepmc3")
+ depends_on("hepmc3 +rootio", when="+hepmc3root")
+ depends_on("rivet", when="+rivet")
+ depends_on("fastjet", when="+fastjet")
+ depends_on("openloops", when="+openloops")
# sherpa builds with recola2 with the patch below,
# but the authors have validated only recola1
# see https://gitlab.com/sherpa-team/sherpa/-/issues/356
- depends_on('recola@1', when='+recola')
- depends_on('root', when='+root')
- depends_on('lhapdf', when='+lhapdf')
- depends_on('gzip', when='+gzip')
- depends_on('pythia6', when='+pythia')
- depends_on('blackhat', when='+blackhat')
- depends_on('hztool', when='+hztool')
+ depends_on("recola@1", when="+recola")
+ depends_on("root", when="+root")
+ depends_on("lhapdf", when="+lhapdf")
+ depends_on("gzip", when="+gzip")
+ depends_on("pythia6", when="+pythia")
+ depends_on("blackhat", when="+blackhat")
+ depends_on("hztool", when="+hztool")
# depends_on('cernlib', when='+cernlib')
for std in _cxxstd_values:
- depends_on('root cxxstd=' + std, when='+root cxxstd=' + std)
+ depends_on("root cxxstd=" + std, when="+root cxxstd=" + std)
def patch(self):
- filter_file(r'#include <sys/sysctl.h>',
- '#ifdef ARCH_DARWIN\n#include <sys/sysctl.h>\n#endif',
- 'ATOOLS/Org/Run_Parameter.C')
+ filter_file(
+ r"#include <sys/sysctl.h>",
+ "#ifdef ARCH_DARWIN\n#include <sys/sysctl.h>\n#endif",
+ "ATOOLS/Org/Run_Parameter.C",
+ )
- if self.spec.satisfies('^recola@2:'):
- filter_file(r'#include "recola.h"',
- '#include "recola.hpp"',
- 'AddOns/Recola/Recola_Interface.H',
- string=True)
+ if self.spec.satisfies("^recola@2:"):
+ filter_file(
+ r'#include "recola.h"',
+ '#include "recola.hpp"',
+ "AddOns/Recola/Recola_Interface.H",
+ string=True,
+ )
def configure_args(self):
args = []
- args.append('--enable-binreloc')
- args.append('--enable-hepevtsize=200000')
- args.append('--with-sqlite3=' + self.spec['sqlite'].prefix)
- args.extend(self.enable_or_disable('libs'))
- args.extend(self.enable_or_disable('mpi'))
- args.extend(self.enable_or_disable('pyext', variant='python'))
- args.extend(self.enable_or_disable('analysis'))
- args.extend(self.enable_or_disable('lhole'))
- args.extend(self.enable_or_disable('gzip'))
- args.extend(self.enable_or_disable('pythia'))
- hepmc_root = lambda x: self.spec['hepmc'].prefix
- args.extend(self.enable_or_disable('hepmc2', activation_value=hepmc_root))
- if self.spec.satisfies('@2.2.13:'):
- args.extend(self.enable_or_disable('hepmc3', activation_value='prefix'))
- args.extend(self.enable_or_disable('rivet', activation_value='prefix'))
- args.extend(self.enable_or_disable('lhapdf', activation_value='prefix'))
+ args.append("--enable-binreloc")
+ args.append("--enable-hepevtsize=200000")
+ args.append("--with-sqlite3=" + self.spec["sqlite"].prefix)
+ args.extend(self.enable_or_disable("libs"))
+ args.extend(self.enable_or_disable("mpi"))
+ args.extend(self.enable_or_disable("pyext", variant="python"))
+ args.extend(self.enable_or_disable("analysis"))
+ args.extend(self.enable_or_disable("lhole"))
+ args.extend(self.enable_or_disable("gzip"))
+ args.extend(self.enable_or_disable("pythia"))
+ hepmc_root = lambda x: self.spec["hepmc"].prefix
+ args.extend(self.enable_or_disable("hepmc2", activation_value=hepmc_root))
+ if self.spec.satisfies("@2.2.13:"):
+ args.extend(self.enable_or_disable("hepmc3", activation_value="prefix"))
+ args.extend(self.enable_or_disable("rivet", activation_value="prefix"))
+ args.extend(self.enable_or_disable("lhapdf", activation_value="prefix"))
else:
# See https://gitlab.com/sherpa-team/sherpa/-/issues/348
- if self.spec.satisfies('+hepmc3'):
- args.append('--enable-hepmc3=' + self.spec['hepmc3'].prefix)
- if self.spec.satisfies('+rivet'):
- args.append('--enable-rivet=' + self.spec['rivet'].prefix)
- if self.spec.satisfies('+lhapdf'):
- args.append('--enable-lhapdf=' + self.spec['lhapdf'].prefix)
-
- args.extend(self.enable_or_disable('fastjet', activation_value='prefix'))
- args.extend(self.enable_or_disable('openloops', activation_value='prefix'))
- args.extend(self.enable_or_disable('recola', activation_value='prefix'))
- args.extend(self.enable_or_disable('root', activation_value='prefix'))
-
- args.extend(self.enable_or_disable('hztool', activation_value='prefix'))
+ if self.spec.satisfies("+hepmc3"):
+ args.append("--enable-hepmc3=" + self.spec["hepmc3"].prefix)
+ if self.spec.satisfies("+rivet"):
+ args.append("--enable-rivet=" + self.spec["rivet"].prefix)
+ if self.spec.satisfies("+lhapdf"):
+ args.append("--enable-lhapdf=" + self.spec["lhapdf"].prefix)
+
+ args.extend(self.enable_or_disable("fastjet", activation_value="prefix"))
+ args.extend(self.enable_or_disable("openloops", activation_value="prefix"))
+ args.extend(self.enable_or_disable("recola", activation_value="prefix"))
+ args.extend(self.enable_or_disable("root", activation_value="prefix"))
+
+ args.extend(self.enable_or_disable("hztool", activation_value="prefix"))
# args.extend(self.enable_or_disable('cernlib', activation_value='prefix'))
- args.extend(self.enable_or_disable('blackhat', activation_value='prefix'))
- args.extend(self.enable_or_disable('ufo'))
+ args.extend(self.enable_or_disable("blackhat", activation_value="prefix"))
+ args.extend(self.enable_or_disable("ufo"))
- if self.spec.satisfies('+mpi'):
- args.append('CC=' + self.spec['mpi'].mpicc)
- args.append('MPICXX=' + self.spec['mpi'].mpicxx)
- args.append('CXX=' + self.spec['mpi'].mpicxx)
- args.append('FC=' + self.spec['mpi'].mpifc)
+ if self.spec.satisfies("+mpi"):
+ args.append("CC=" + self.spec["mpi"].mpicc)
+ args.append("MPICXX=" + self.spec["mpi"].mpicxx)
+ args.append("CXX=" + self.spec["mpi"].mpicxx)
+ args.append("FC=" + self.spec["mpi"].mpifc)
return args
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
- flags.append('-std=c++' + self.spec.variants['cxxstd'].value)
+ if name == "cxxflags":
+ flags.append("-std=c++" + self.spec.variants["cxxstd"].value)
- if '+cms' in self.spec:
- flags.extend(['-fuse-cxa-atexit', '-O2'])
- if self.spec.target.family == 'x86_64':
- flags.append('-m64')
+ if "+cms" in self.spec:
+ flags.extend(["-fuse-cxa-atexit", "-O2"])
+ if self.spec.target.family == "x86_64":
+ flags.append("-m64")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/shiny-server/package.py b/var/spack/repos/builtin/packages/shiny-server/package.py
index 036cd124ce..05fe93b3f7 100644
--- a/var/spack/repos/builtin/packages/shiny-server/package.py
+++ b/var/spack/repos/builtin/packages/shiny-server/package.py
@@ -8,8 +8,8 @@ from spack.package import *
class ShinyServer(CMakePackage):
"""Shiny server lets you put shiny web applications and interactive
- documents online. Take your shiny apps and share them with your
- organization or the world."""
+ documents online. Take your shiny apps and share them with your
+ organization or the world."""
#
# HEADS UP:
@@ -23,36 +23,35 @@ class ShinyServer(CMakePackage):
homepage = "https://www.rstudio.com/products/shiny/shiny-server/"
url = "https://github.com/rstudio/shiny-server/archive/v1.5.3.838.tar.gz"
- version('1.5.3.838', sha256='6fd1b12cd1cbe5c64cacbec4accefe955353f9c675e5feff809c0e911a382141')
+ version("1.5.3.838", sha256="6fd1b12cd1cbe5c64cacbec4accefe955353f9c675e5feff809c0e911a382141")
- depends_on('python@:2.8') # docs say: "Really. 3.x will not work"
- depends_on('cmake@2.8.10:', type='build')
- depends_on('git')
- depends_on('r+X')
- depends_on('openssl')
+ depends_on("python@:2.8") # docs say: "Really. 3.x will not work"
+ depends_on("cmake@2.8.10:", type="build")
+ depends_on("git")
+ depends_on("r+X")
+ depends_on("openssl")
def cmake_args(self):
spec = self.spec
options = []
- options.append("-DPYTHON=%s" % spec['python'].command.path)
+ options.append("-DPYTHON=%s" % spec["python"].command.path)
return options
# Recompile the npm modules included in the project
- @run_after('build')
+ @run_after("build")
def build_node(self):
- bash = which('bash')
- mkdirp('build')
- bash('-c', 'bin/npm --python="$PYTHON" install')
+ bash = which("bash")
+ mkdirp("build")
+ bash("-c", 'bin/npm --python="$PYTHON" install')
bash(
- '-c',
- 'bin/node ./ext/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js '
- '--python="$PYTHON" rebuild'
+ "-c",
+ "bin/node ./ext/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js "
+ '--python="$PYTHON" rebuild',
)
def setup_run_environment(self, env):
- env.prepend_path('PATH', join_path(self.prefix, 'shiny-server', 'bin'))
+ env.prepend_path("PATH", join_path(self.prefix, "shiny-server", "bin"))
# shiny comes with its own pandoc; hook it up...
- env.prepend_path('PATH', join_path(
- self.prefix, 'shiny-server', 'ext', 'pandoc', 'static'))
+ env.prepend_path("PATH", join_path(self.prefix, "shiny-server", "ext", "pandoc", "static"))
diff --git a/var/spack/repos/builtin/packages/shiro/package.py b/var/spack/repos/builtin/packages/shiro/package.py
index 8534d0e773..312686888b 100644
--- a/var/spack/repos/builtin/packages/shiro/package.py
+++ b/var/spack/repos/builtin/packages/shiro/package.py
@@ -14,10 +14,10 @@ class Shiro(MavenPackage):
to the largest web and enterprise applications."""
homepage = "https://shiro.apache.org/"
- url = "https://github.com/apache/shiro/archive/shiro-root-1.6.0.tar.gz"
+ url = "https://github.com/apache/shiro/archive/shiro-root-1.6.0.tar.gz"
- version('1.6.0', sha256='50338badfd3261076060fbe70330089512d38071bc51aa3f84ad23e707d2b7c9')
- version('1.5.3', sha256='25c5d99eddf790969e0f80bd9769f773465c9c9e1e8ec1f549f476bdae8c6983')
+ version("1.6.0", sha256="50338badfd3261076060fbe70330089512d38071bc51aa3f84ad23e707d2b7c9")
+ version("1.5.3", sha256="25c5d99eddf790969e0f80bd9769f773465c9c9e1e8ec1f549f476bdae8c6983")
- depends_on('java@8:', type=('build', 'run'))
- depends_on('maven@3.5:3', type='build')
+ depends_on("java@8:", type=("build", "run"))
+ depends_on("maven@3.5:3", type="build")
diff --git a/var/spack/repos/builtin/packages/shocklibs/package.py b/var/spack/repos/builtin/packages/shocklibs/package.py
index f1a823fa1b..55b1c856a9 100644
--- a/var/spack/repos/builtin/packages/shocklibs/package.py
+++ b/var/spack/repos/builtin/packages/shocklibs/package.py
@@ -10,9 +10,9 @@ class Shocklibs(Package):
"""The lib for shock: An object store for scientific data."""
homepage = "https://github.com/MG-RAST/Shock"
- url = "https://github.com/MG-RAST/Shock/archive/v0.9.24.tar.gz"
+ url = "https://github.com/MG-RAST/Shock/archive/v0.9.24.tar.gz"
- version('0.9.24', sha256='465d06f33df2570eaf3ffd535a38fc464084ac95a2f145ead5c71f34beeb0a35')
+ version("0.9.24", sha256="465d06f33df2570eaf3ffd535a38fc464084ac95a2f145ead5c71f34beeb0a35")
def install(self, spec, prefix):
- install_tree('libs', prefix.libs)
+ install_tree("libs", prefix.libs)
diff --git a/var/spack/repos/builtin/packages/shoremap/package.py b/var/spack/repos/builtin/packages/shoremap/package.py
index 84305f14e4..7497bd47c4 100644
--- a/var/spack/repos/builtin/packages/shoremap/package.py
+++ b/var/spack/repos/builtin/packages/shoremap/package.py
@@ -8,28 +8,26 @@ from spack.package import *
class Shoremap(MakefilePackage):
"""SHOREmap is a computational tool implementing a method that enables
- simple and straightforward mapping-by-sequencing analysis.
+ simple and straightforward mapping-by-sequencing analysis.
- Whole genome resequencing of pools of recombinant mutant genomes allows
- directly linking phenotypic traits to causal mutations. Such an
- analysis, called mapping-by-sequencing, combines classical genetic
- mapping and next generation sequencing by relying on selection-induced
- patterns within genome-wide allele frequency in pooled genomes."""
+ Whole genome resequencing of pools of recombinant mutant genomes allows
+ directly linking phenotypic traits to causal mutations. Such an
+ analysis, called mapping-by-sequencing, combines classical genetic
+ mapping and next generation sequencing by relying on selection-induced
+ patterns within genome-wide allele frequency in pooled genomes."""
homepage = "http://bioinfo.mpipz.mpg.de/shoremap/"
- url = "http://bioinfo.mpipz.mpg.de/shoremap/SHOREmap_v3.6.tar.gz"
+ url = "http://bioinfo.mpipz.mpg.de/shoremap/SHOREmap_v3.6.tar.gz"
- version('3.6', sha256='0da4179e92cbc68434a9d8eff7bd5fff55c89fd9a543a2db6bd0f69074f2ec70')
+ version("3.6", sha256="0da4179e92cbc68434a9d8eff7bd5fff55c89fd9a543a2db6bd0f69074f2ec70")
- depends_on('dislin')
+ depends_on("dislin")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
- makefile.filter(r'-L/usr/lib/',
- self.spec['libxt'].libs.search_flags)
- makefile.filter(r'-L\./dislin.* -ldislin_d',
- self.spec['dislin:d'].libs.ld_flags)
+ makefile = FileFilter("makefile")
+ makefile.filter(r"-L/usr/lib/", self.spec["libxt"].libs.search_flags)
+ makefile.filter(r"-L\./dislin.* -ldislin_d", self.spec["dislin:d"].libs.ld_flags)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('SHOREmap', prefix.bin)
+ install("SHOREmap", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/shortbred/package.py b/var/spack/repos/builtin/packages/shortbred/package.py
index 5617734502..502bfd32eb 100644
--- a/var/spack/repos/builtin/packages/shortbred/package.py
+++ b/var/spack/repos/builtin/packages/shortbred/package.py
@@ -11,22 +11,22 @@ class Shortbred(Package):
very high specificity in shotgun meta'omic sequencing data."""
homepage = "https://huttenhower.sph.harvard.edu/shortbred"
- url = "https://bitbucket.org/biobakery/shortbred/get/0.9.4.tar.gz"
+ url = "https://bitbucket.org/biobakery/shortbred/get/0.9.4.tar.gz"
- version('0.9.4', sha256='a85e5609db79696d3f2d478408fc6abfeea7628de9f533c4e1e0ea3622b397ba')
+ version("0.9.4", sha256="a85e5609db79696d3f2d478408fc6abfeea7628de9f533c4e1e0ea3622b397ba")
- depends_on('blast-plus@2.2.28:')
- depends_on('cdhit@4.6:')
- depends_on('muscle@3.8.31:')
- depends_on('python@2.7.9:')
- depends_on('py-biopython')
- depends_on('usearch@6.0.307:')
+ depends_on("blast-plus@2.2.28:")
+ depends_on("cdhit@4.6:")
+ depends_on("muscle@3.8.31:")
+ depends_on("python@2.7.9:")
+ depends_on("py-biopython")
+ depends_on("usearch@6.0.307:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('shortbred_identify.py', prefix.bin)
- install('shortbred_quantify.py', prefix.bin)
- install_tree('src', prefix.src)
+ install("shortbred_identify.py", prefix.bin)
+ install("shortbred_quantify.py", prefix.bin)
+ install_tree("src", prefix.src)
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix)
+ env.prepend_path("PYTHONPATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/shortstack/package.py b/var/spack/repos/builtin/packages/shortstack/package.py
index f938fa0f05..cadf950135 100644
--- a/var/spack/repos/builtin/packages/shortstack/package.py
+++ b/var/spack/repos/builtin/packages/shortstack/package.py
@@ -8,19 +8,19 @@ from spack.package import *
class Shortstack(Package):
"""ShortStack is a tool developed to process and analyze smallRNA-seq data
- with respect to a reference genome, and output a comprehensive and
- informative annotation of all discovered small RNA genes."""
+ with respect to a reference genome, and output a comprehensive and
+ informative annotation of all discovered small RNA genes."""
homepage = "https://sites.psu.edu/axtell/software/shortstack/"
- url = "https://github.com/MikeAxtell/ShortStack/archive/v3.8.3.tar.gz"
+ url = "https://github.com/MikeAxtell/ShortStack/archive/v3.8.3.tar.gz"
- version('3.8.3', sha256='7c76f51ed949ca95ec5df7cb54803ae2350658fd64c75909351d5a856abb0dbe')
+ version("3.8.3", sha256="7c76f51ed949ca95ec5df7cb54803ae2350658fd64c75909351d5a856abb0dbe")
- depends_on('perl', type=('build', 'run'))
- depends_on('samtools')
- depends_on('viennarna')
- depends_on('bowtie')
+ depends_on("perl", type=("build", "run"))
+ depends_on("samtools")
+ depends_on("viennarna")
+ depends_on("bowtie")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('ShortStack', prefix.bin)
+ install("ShortStack", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/showfont/package.py b/var/spack/repos/builtin/packages/showfont/package.py
index fa00ae3af4..96d208134a 100644
--- a/var/spack/repos/builtin/packages/showfont/package.py
+++ b/var/spack/repos/builtin/packages/showfont/package.py
@@ -14,9 +14,9 @@ class Showfont(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/showfont"
xorg_mirror_path = "app/showfont-1.0.5.tar.gz"
- version('1.0.5', sha256='566e34a145ea73397724d46e84f6a9b3691cf55d0fcb96ec7f917b2b39265ebb')
+ version("1.0.5", sha256="566e34a145ea73397724d46e84f6a9b3691cf55d0fcb96ec7f917b2b39265ebb")
- depends_on('libfs')
+ depends_on("libfs")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/shtools/package.py b/var/spack/repos/builtin/packages/shtools/package.py
index dbdcce706d..646e281073 100644
--- a/var/spack/repos/builtin/packages/shtools/package.py
+++ b/var/spack/repos/builtin/packages/shtools/package.py
@@ -10,13 +10,13 @@ class Shtools(MakefilePackage):
"""SHTOOLS - Spherical Harmonic Tools"""
homepage = "https://shtools.github.io/SHTOOLS/"
- url = "https://github.com/SHTOOLS/SHTOOLS/archive/v4.5.tar.gz"
+ url = "https://github.com/SHTOOLS/SHTOOLS/archive/v4.5.tar.gz"
- maintainers = ['eschnett']
+ maintainers = ["eschnett"]
- version('4.9.1', sha256='5c22064f9daf6e9aa08cace182146993aa6b25a6ea593d92572c59f4013d53c2')
- version('4.8', sha256='c36fc86810017e544abbfb12f8ddf6f101a1ac8b89856a76d7d9801ffc8dac44')
- version('4.5', sha256='1975a2a2bcef8c527d321be08c13c2bc479e0d6b81c468a3203f95df59be4f89')
+ version("4.9.1", sha256="5c22064f9daf6e9aa08cace182146993aa6b25a6ea593d92572c59f4013d53c2")
+ version("4.8", sha256="c36fc86810017e544abbfb12f8ddf6f101a1ac8b89856a76d7d9801ffc8dac44")
+ version("4.5", sha256="1975a2a2bcef8c527d321be08c13c2bc479e0d6b81c468a3203f95df59be4f89")
# Note: This package also provides Python wrappers. We do not
# install these properly yet, only the Fortran library is
@@ -24,29 +24,28 @@ class Shtools(MakefilePackage):
# The Makefile expects the "other" libtool, not the GNU libtool we have in
# Spack
- patch('nolibtool.patch')
+ patch("nolibtool.patch")
- variant('openmp', default=True, description="Enable OpenMP support")
+ variant("openmp", default=True, description="Enable OpenMP support")
- depends_on('blas')
- depends_on('fftw')
- depends_on('lapack')
- depends_on('py-flake8', type='test')
+ depends_on("blas")
+ depends_on("fftw")
+ depends_on("lapack")
+ depends_on("py-flake8", type="test")
def patch(self):
"""make check fix: Silence "do not use bare 'except'" in number of files"""
- filter_file('ignore=', 'ignore=E722,', 'Makefile')
+ filter_file("ignore=", "ignore=E722,", "Makefile")
# Options for the Makefile
def makeopts(self, spec, prefix):
return [
"F95={0}".format(self.compiler.fc),
- "F95FLAGS={0} -O3 -std=gnu -ffast-math".
- format(self.compiler.fc_pic_flag),
+ "F95FLAGS={0} -O3 -std=gnu -ffast-math".format(self.compiler.fc_pic_flag),
"OPENMPFLAGS={0}".format(self.compiler.openmp_flag),
- "BLAS={0}".format(spec['blas'].libs),
- "FFTW={0}".format(spec['fftw'].libs),
- "LAPACK={0}".format(spec['lapack'].libs),
+ "BLAS={0}".format(spec["blas"].libs),
+ "FFTW={0}".format(spec["fftw"].libs),
+ "LAPACK={0}".format(spec["lapack"].libs),
"PREFIX={0}".format(prefix),
"PWD={0}".format(self.build_directory),
]
@@ -54,10 +53,10 @@ class Shtools(MakefilePackage):
def build(self, spec, prefix):
with working_dir(self.build_directory):
# The 'fortran' and 'fortran-mp' targets must be built separately
- make('fortran', *self.makeopts(spec, prefix))
- if spec.satisfies('+openmp'):
- make('fortran-mp', *self.makeopts(spec, prefix))
+ make("fortran", *self.makeopts(spec, prefix))
+ if spec.satisfies("+openmp"):
+ make("fortran-mp", *self.makeopts(spec, prefix))
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('install', *self.makeopts(spec, prefix))
+ make("install", *self.makeopts(spec, prefix))
diff --git a/var/spack/repos/builtin/packages/shuffile/package.py b/var/spack/repos/builtin/packages/shuffile/package.py
index 2e949e2b65..ef695d5442 100644
--- a/var/spack/repos/builtin/packages/shuffile/package.py
+++ b/var/spack/repos/builtin/packages/shuffile/package.py
@@ -10,36 +10,36 @@ class Shuffile(CMakePackage):
"""Shuffle files between MPI ranks"""
homepage = "https://github.com/ecp-veloc/shuffile"
- url = "https://github.com/ecp-veloc/shuffile/archive/v0.0.4.tar.gz"
- git = "https://github.com/ecp-veloc/shuffile.git"
- tags = ['ecp']
+ url = "https://github.com/ecp-veloc/shuffile/archive/v0.0.4.tar.gz"
+ git = "https://github.com/ecp-veloc/shuffile.git"
+ tags = ["ecp"]
- maintainers = ['CamStan', 'gonsie']
+ maintainers = ["CamStan", "gonsie"]
- version('main', branch='main')
- version('0.2.0', sha256='467ffef72214c109b69f09d03e42be5e9254f13751b09c71168c14fa99117521')
- version('0.1.0', sha256='9e730cc8b7937517a9cffb08c031d9f5772306341c49d17b87b7f349d55a6d5e')
- version('0.0.4', sha256='f0249ab31fc6123103ad67b1eaf799277c72adcf0dfcddf8c3a18bad2d45031d')
- version('0.0.3', sha256='a3f685526a1146a5ad8dbacdc5f9c2e1152d9761a1a179c1db34f55afc8372f6')
+ version("main", branch="main")
+ version("0.2.0", sha256="467ffef72214c109b69f09d03e42be5e9254f13751b09c71168c14fa99117521")
+ version("0.1.0", sha256="9e730cc8b7937517a9cffb08c031d9f5772306341c49d17b87b7f349d55a6d5e")
+ version("0.0.4", sha256="f0249ab31fc6123103ad67b1eaf799277c72adcf0dfcddf8c3a18bad2d45031d")
+ version("0.0.3", sha256="a3f685526a1146a5ad8dbacdc5f9c2e1152d9761a1a179c1db34f55afc8372f6")
- depends_on('mpi')
- depends_on('kvtree+mpi')
- depends_on('zlib', type='link')
+ depends_on("mpi")
+ depends_on("kvtree+mpi")
+ depends_on("zlib", type="link")
- variant('shared', default=True, description='Build with shared libraries')
- depends_on('kvtree+shared', when='@0.1: +shared')
- depends_on('kvtree~shared', when='@0.1: ~shared')
+ variant("shared", default=True, description="Build with shared libraries")
+ depends_on("kvtree+shared", when="@0.1: +shared")
+ depends_on("kvtree~shared", when="@0.1: ~shared")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
- args.append(self.define('WITH_KVTREE_PREFIX', spec['kvtree'].prefix))
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
+ args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix))
- if spec.satisfies('@0.1.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.1.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('SHUFFILE_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("SHUFFILE_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/sickle/package.py b/var/spack/repos/builtin/packages/sickle/package.py
index b457440243..fe9b37e69e 100644
--- a/var/spack/repos/builtin/packages/sickle/package.py
+++ b/var/spack/repos/builtin/packages/sickle/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Sickle(MakefilePackage):
"""Sickle is a tool that uses sliding windows along with quality and
- length thresholds to determine when quality is sufficiently low to trim
- the 3'-end of reads and also determines when the quality is
- sufficiently high enough to trim the 5'-end of reads."""
+ length thresholds to determine when quality is sufficiently low to trim
+ the 3'-end of reads and also determines when the quality is
+ sufficiently high enough to trim the 5'-end of reads."""
homepage = "https://github.com/najoshi/sickle"
- url = "https://github.com/najoshi/sickle/archive/v1.33.tar.gz"
+ url = "https://github.com/najoshi/sickle/archive/v1.33.tar.gz"
- version('1.33', sha256='eab271d25dc799e2ce67c25626128f8f8ed65e3cd68e799479bba20964624734')
+ version("1.33", sha256="eab271d25dc799e2ce67c25626128f8f8ed65e3cd68e799479bba20964624734")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sickle', prefix.bin)
+ install("sickle", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sicm/package.py b/var/spack/repos/builtin/packages/sicm/package.py
index 27f5157342..518011919a 100644
--- a/var/spack/repos/builtin/packages/sicm/package.py
+++ b/var/spack/repos/builtin/packages/sicm/package.py
@@ -10,12 +10,12 @@ class Sicm(CMakePackage):
"""SICM: Simplified Interface to Complex Memory."""
homepage = "https://github.com/lanl/SICM/"
- git = "https://github.com/lanl/SICM.git"
+ git = "https://github.com/lanl/SICM.git"
- version('master')
+ version("master")
- depends_on('jemalloc jemalloc_prefix=je_')
- depends_on('numactl')
+ depends_on("jemalloc jemalloc_prefix=je_")
+ depends_on("numactl")
def cmake_args(self):
return []
diff --git a/var/spack/repos/builtin/packages/siesta/package.py b/var/spack/repos/builtin/packages/siesta/package.py
index b1ada7df3c..ec5c6530d8 100644
--- a/var/spack/repos/builtin/packages/siesta/package.py
+++ b/var/spack/repos/builtin/packages/siesta/package.py
@@ -16,71 +16,76 @@ class Siesta(MakefilePackage):
homepage = "https://departments.icmab.es/leem/siesta/"
- version('4.0.2', sha256='bafbda19358f0c1dd39bb1253c92ee548791a1c0f648977051d2657216874f7e')
- version('4.0.1', sha256='bfb9e4335ae1d1639a749ce7e679e739fdead5ee5766b5356ea1d259a6b1e6d1',
- url='https://launchpad.net/siesta/4.0/4.0.1/+download/siesta-4.0.1.tar.gz')
- version('3.2-pl-5', sha256='e438bb007608e54c650e14de7fa0b5c72562abb09cbd92dcfb5275becd929a23',
- url='http://departments.icmab.es/leem/siesta/CodeAccess/Code/siesta-3.2-pl-5.tgz')
+ version("4.0.2", sha256="bafbda19358f0c1dd39bb1253c92ee548791a1c0f648977051d2657216874f7e")
+ version(
+ "4.0.1",
+ sha256="bfb9e4335ae1d1639a749ce7e679e739fdead5ee5766b5356ea1d259a6b1e6d1",
+ url="https://launchpad.net/siesta/4.0/4.0.1/+download/siesta-4.0.1.tar.gz",
+ )
+ version(
+ "3.2-pl-5",
+ sha256="e438bb007608e54c650e14de7fa0b5c72562abb09cbd92dcfb5275becd929a23",
+ url="http://departments.icmab.es/leem/siesta/CodeAccess/Code/siesta-3.2-pl-5.tgz",
+ )
- patch('configure.patch', when='@:4.0')
+ patch("configure.patch", when="@:4.0")
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack')
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack")
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
def flag_handler(self, name, flags):
- if '%gcc@10:' in self.spec and name == 'fflags':
- flags.append('-fallow-argument-mismatch')
+ if "%gcc@10:" in self.spec and name == "fflags":
+ flags.append("-fallow-argument-mismatch")
return flags, None, None
def edit(self, spec, prefix):
- sh = which('sh')
- configure_args = ['--enable-mpi',
- '--with-blas=%s' % spec['blas'].libs,
- '--with-lapack=%s' % spec['lapack'].libs,
- # need to include BLAS below because Intel MKL's
- # BLACS depends on BLAS, otherwise the compiler
- # test fails
- '--with-blacs=%s' % (spec['scalapack'].libs +
- spec['blas'].libs),
- '--with-scalapack=%s' % spec['scalapack'].libs,
- '--with-netcdf=%s' % (spec['netcdf-fortran'].libs +
- spec['netcdf-c'].libs),
- # need to specify MPIFC explicitly below, otherwise
- # Intel's mpiifort is not found
- 'MPIFC=%s' % spec['mpi'].mpifc
- ]
- if self.spec.satisfies('%gcc'):
- configure_args.append('FCFLAGS=-ffree-line-length-0')
- for d in ['Obj', 'Obj_trans']:
+ sh = which("sh")
+ configure_args = [
+ "--enable-mpi",
+ "--with-blas=%s" % spec["blas"].libs,
+ "--with-lapack=%s" % spec["lapack"].libs,
+ # need to include BLAS below because Intel MKL's
+ # BLACS depends on BLAS, otherwise the compiler
+ # test fails
+ "--with-blacs=%s" % (spec["scalapack"].libs + spec["blas"].libs),
+ "--with-scalapack=%s" % spec["scalapack"].libs,
+ "--with-netcdf=%s" % (spec["netcdf-fortran"].libs + spec["netcdf-c"].libs),
+ # need to specify MPIFC explicitly below, otherwise
+ # Intel's mpiifort is not found
+ "MPIFC=%s" % spec["mpi"].mpifc,
+ ]
+ if self.spec.satisfies("%gcc"):
+ configure_args.append("FCFLAGS=-ffree-line-length-0")
+ for d in ["Obj", "Obj_trans"]:
with working_dir(d, create=True):
- sh('../Src/configure', *configure_args)
- if spec.satisfies('@:4.0%intel'):
- with open('arch.make', 'a') as f:
- f.write('\natom.o: atom.F\n')
- f.write('\t$(FC) -c $(FFLAGS) -O1')
- f.write('$(INCFLAGS) $(FPPFLAGS) $<')
- sh('../Src/obj_setup.sh')
+ sh("../Src/configure", *configure_args)
+ if spec.satisfies("@:4.0%intel"):
+ with open("arch.make", "a") as f:
+ f.write("\natom.o: atom.F\n")
+ f.write("\t$(FC) -c $(FFLAGS) -O1")
+ f.write("$(INCFLAGS) $(FPPFLAGS) $<")
+ sh("../Src/obj_setup.sh")
def build(self, spec, prefix):
- with working_dir('Obj'):
+ with working_dir("Obj"):
make(parallel=False)
- with working_dir('Obj_trans'):
- make('transiesta', parallel=False)
- with working_dir('Util'):
- sh = which('sh')
- sh('build_all.sh')
+ with working_dir("Obj_trans"):
+ make("transiesta", parallel=False)
+ with working_dir("Util"):
+ sh = which("sh")
+ sh("build_all.sh")
def install(self, spec, prefix):
mkdir(prefix.bin)
- with working_dir('Obj'):
- install('siesta', prefix.bin)
- with working_dir('Obj_trans'):
- install('transiesta', prefix.bin)
- for root, _, files in os.walk('Util'):
+ with working_dir("Obj"):
+ install("siesta", prefix.bin)
+ with working_dir("Obj_trans"):
+ install("transiesta", prefix.bin)
+ for root, _, files in os.walk("Util"):
for fname in files:
fname = join_path(root, fname)
if os.access(fname, os.X_OK):
diff --git a/var/spack/repos/builtin/packages/sigcpp/package.py b/var/spack/repos/builtin/packages/sigcpp/package.py
index 895cae8b70..9730fbd2a2 100644
--- a/var/spack/repos/builtin/packages/sigcpp/package.py
+++ b/var/spack/repos/builtin/packages/sigcpp/package.py
@@ -13,22 +13,20 @@ class Sigcpp(CMakePackage):
"""libsigc++ : The Typesafe Callback Framework for C++"""
homepage = "https://libsigcplusplus.github.io/libsigcplusplus/"
- url = "https://github.com/libsigcplusplus/libsigcplusplus/archive/refs/tags/3.0.7.tar.gz"
+ url = "https://github.com/libsigcplusplus/libsigcplusplus/archive/refs/tags/3.0.7.tar.gz"
- version('3.2.0', sha256='f9c36331b5d5ac7a1651477288f47eec51394c03ade8bb1a05d1c46eac5f77e7')
- version('3.0.7', sha256='063b6ab86e4d8703ea65d894d78e8482b1fc34b92be8849f82ce1c5b05cf2b8d')
+ version("3.2.0", sha256="f9c36331b5d5ac7a1651477288f47eec51394c03ade8bb1a05d1c46eac5f77e7")
+ version("3.0.7", sha256="063b6ab86e4d8703ea65d894d78e8482b1fc34b92be8849f82ce1c5b05cf2b8d")
- variant('doc', default=True, description='Keep man files')
+ variant("doc", default=True, description="Keep man files")
- @run_after('install')
+ @run_after("install")
def drop_doc(self):
- if self.spec.satisfies('~doc') and os.path.isdir(prefix.share):
+ if self.spec.satisfies("~doc") and os.path.isdir(prefix.share):
shutil.rmtree(prefix.share)
- @run_after('install')
+ @run_after("install")
def fix_include(self):
- source = join_path(self.spec.prefix, 'lib', 'sigc++-3.0',
- 'include', 'sigc++config.h')
- target = join_path(self.spec.prefix, 'include',
- 'sigc++-3.0', 'sigc++config.h')
+ source = join_path(self.spec.prefix, "lib", "sigc++-3.0", "include", "sigc++config.h")
+ target = join_path(self.spec.prefix, "include", "sigc++-3.0", "sigc++config.h")
shutil.copy(source, target)
diff --git a/var/spack/repos/builtin/packages/sigio/package.py b/var/spack/repos/builtin/packages/sigio/package.py
index b21ed3c451..18cdf46f8f 100644
--- a/var/spack/repos/builtin/packages/sigio/package.py
+++ b/var/spack/repos/builtin/packages/sigio/package.py
@@ -13,21 +13,21 @@ class Sigio(CMakePackage):
This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-sigio"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-sigio/archive/refs/tags/v2.3.2.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-sigio/archive/refs/tags/v2.3.2.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('2.3.2', sha256='333f3cf3a97f97103cbafcafc2ad89b24faa55b1332a98adc1637855e8a5b613')
+ version("2.3.2", sha256="333f3cf3a97f97103cbafcafc2ad89b24faa55b1332a98adc1637855e8a5b613")
def setup_run_environment(self, env):
- lib = find_libraries('libsigio', root=self.prefix, shared=False, recursive=True)
+ lib = find_libraries("libsigio", root=self.prefix, shared=False, recursive=True)
# Only one library version, but still need to set _4 to make NCO happy
- for suffix in ('4', ''):
- env.set('SIGIO_LIB' + suffix, lib[0])
- env.set('SIGIO_INC' + suffix, join_path(self.prefix, 'include'))
+ for suffix in ("4", ""):
+ env.set("SIGIO_LIB" + suffix, lib[0])
+ env.set("SIGIO_INC" + suffix, join_path(self.prefix, "include"))
def flag_handler(self, name, flags):
- if self.spec.satisfies('%fj'):
- if name == 'fflags':
- flags.append('-Free')
+ if self.spec.satisfies("%fj"):
+ if name == "fflags":
+ flags.append("-Free")
return (None, None, flags)
diff --git a/var/spack/repos/builtin/packages/signalp/package.py b/var/spack/repos/builtin/packages/signalp/package.py
index 10f986788f..1f16d2cc82 100644
--- a/var/spack/repos/builtin/packages/signalp/package.py
+++ b/var/spack/repos/builtin/packages/signalp/package.py
@@ -10,35 +10,34 @@ from spack.package import *
class Signalp(Package):
"""SignalP predicts the presence and location of signal peptide cleavage
- sites in amino acid sequences from different organisms: Gram-positive
- bacteria, Gram-negative bacteria, and eukaryotes.
- Note: A manual download is required for SignalP.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ sites in amino acid sequences from different organisms: Gram-positive
+ bacteria, Gram-negative bacteria, and eukaryotes.
+ Note: A manual download is required for SignalP.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.cbs.dtu.dk/services/SignalP/"
- url = "file://{0}/signalp-4.1f.Linux.tar.gz".format(os.getcwd())
+ url = "file://{0}/signalp-4.1f.Linux.tar.gz".format(os.getcwd())
manual_download = True
- version('4.1f', 'a9aeb66259202649c959846f3f4d9744')
+ version("4.1f", "a9aeb66259202649c959846f3f4d9744")
- depends_on('perl', type=('build', 'run'))
- depends_on('gnuplot')
+ depends_on("perl", type=("build", "run"))
+ depends_on("gnuplot")
def patch(self):
- edit = FileFilter('signalp')
- edit.filter("ENV{SIGNALP} = .*",
- "ENV{SIGNALP} = '%s'" % self.prefix)
+ edit = FileFilter("signalp")
+ edit.filter("ENV{SIGNALP} = .*", "ENV{SIGNALP} = '%s'" % self.prefix)
def install(self, spec, prefix):
mkdirp(prefix.share.man)
- install('signalp', prefix)
- install('signalp.1', prefix.share.man)
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('syn', prefix.syn)
+ install("signalp", prefix)
+ install("signalp.1", prefix.share.man)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("syn", prefix.syn)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/signify/package.py b/var/spack/repos/builtin/packages/signify/package.py
index 0d5097cecd..085c580f69 100644
--- a/var/spack/repos/builtin/packages/signify/package.py
+++ b/var/spack/repos/builtin/packages/signify/package.py
@@ -10,11 +10,11 @@ class Signify(MakefilePackage):
"""OpenBSD tool to signs and verify signatures on files."""
homepage = "https://github.com/aperezdc/signify"
- url = "https://github.com/aperezdc/signify/archive/v23.tar.gz"
+ url = "https://github.com/aperezdc/signify/archive/v23.tar.gz"
- version('23', sha256='1c690bf0e4283e0764a4a9dd784cb3debf4bb456b975b275dd1aaac7d5afe030')
+ version("23", sha256="1c690bf0e4283e0764a4a9dd784cb3debf4bb456b975b275dd1aaac7d5afe030")
- depends_on('libbsd@0.8:')
+ depends_on("libbsd@0.8:")
def setup_build_environment(self, env):
- env.set('PREFIX', self.prefix)
+ env.set("PREFIX", self.prefix)
diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py
index 4b61a4f832..637e89623e 100644
--- a/var/spack/repos/builtin/packages/silo/package.py
+++ b/var/spack/repos/builtin/packages/silo/package.py
@@ -9,118 +9,125 @@ from spack.util.environment import is_system_path
class Silo(AutotoolsPackage):
"""Silo is a library for reading and writing a wide variety of scientific
- data to binary, disk files."""
+ data to binary, disk files."""
homepage = "https://wci.llnl.gov/simulation/computer-codes/silo"
- url = "https://wci.llnl.gov/sites/wci/files/2021-01/silo-4.10.2.tgz"
-
- version('4.11', sha256='ab936c1f4fc158d9fdc4415965f7d9def7f4abeca596fe5a25bd8485654898ac',
- url="https://github.com/LLNL/Silo/releases/download/v4.11/silo-4.11.tar.gz")
- version('4.11-bsd', sha256='6d0a85a079d48fcdcc0084ecb5fc4cfdcc64852edee780c60cb244d16f4bc4ec',
- url="https://github.com/LLNL/Silo/releases/download/v4.11/silo-4.11-bsd.tar.gz")
- version('4.10.2', sha256='3af87e5f0608a69849c00eb7c73b11f8422fa36903dd14610584506e7f68e638', preferred=True)
- version('4.10.2-bsd', sha256='4b901dfc1eb4656e83419a6fde15a2f6c6a31df84edfad7f1dc296e01b20140e',
- url="https://wci.llnl.gov/sites/wci/files/2021-01/silo-4.10.2-bsd.tgz")
- version('4.9', sha256='90f3d069963d859c142809cfcb034bc83eb951f61ac02ccb967fc8e8d0409854')
- version('4.8', sha256='c430c1d33fcb9bc136a99ad473d535d6763bd1357b704a915ba7b1081d58fb21')
-
- variant('fortran', default=True, description='Enable Fortran support')
- variant('shared', default=True, description='Build shared libraries')
- variant('silex', default=False,
- description='Builds Silex, a GUI for viewing Silo files')
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('mpi', default=True,
- description='Compile with MPI Compatibility')
- variant('hdf5', default=True,
- description='Support HDF5 for database I/O')
- variant('hzip', default=True,
- description='Enable hzip support')
- variant('fpzip', default=True,
- description='Enable fpzip support')
-
- depends_on('m4', type='build', when='+shared')
- depends_on('autoconf', type='build', when='+shared')
- depends_on('autoconf-archive', type='build', when='+shared')
- depends_on('automake', type='build', when='+shared')
- depends_on('libtool', type='build', when='+shared')
- depends_on('mpi', when='+mpi')
- depends_on('hdf5@1.8:', when='+hdf5')
- depends_on('qt+gui~framework@4.8:4.9', when='+silex')
- depends_on('libx11', when='+silex')
+ url = "https://wci.llnl.gov/sites/wci/files/2021-01/silo-4.10.2.tgz"
+
+ version(
+ "4.11",
+ sha256="ab936c1f4fc158d9fdc4415965f7d9def7f4abeca596fe5a25bd8485654898ac",
+ url="https://github.com/LLNL/Silo/releases/download/v4.11/silo-4.11.tar.gz",
+ )
+ version(
+ "4.11-bsd",
+ sha256="6d0a85a079d48fcdcc0084ecb5fc4cfdcc64852edee780c60cb244d16f4bc4ec",
+ url="https://github.com/LLNL/Silo/releases/download/v4.11/silo-4.11-bsd.tar.gz",
+ )
+ version(
+ "4.10.2",
+ sha256="3af87e5f0608a69849c00eb7c73b11f8422fa36903dd14610584506e7f68e638",
+ preferred=True,
+ )
+ version(
+ "4.10.2-bsd",
+ sha256="4b901dfc1eb4656e83419a6fde15a2f6c6a31df84edfad7f1dc296e01b20140e",
+ url="https://wci.llnl.gov/sites/wci/files/2021-01/silo-4.10.2-bsd.tgz",
+ )
+ version("4.9", sha256="90f3d069963d859c142809cfcb034bc83eb951f61ac02ccb967fc8e8d0409854")
+ version("4.8", sha256="c430c1d33fcb9bc136a99ad473d535d6763bd1357b704a915ba7b1081d58fb21")
+
+ variant("fortran", default=True, description="Enable Fortran support")
+ variant("shared", default=True, description="Build shared libraries")
+ variant("silex", default=False, description="Builds Silex, a GUI for viewing Silo files")
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("mpi", default=True, description="Compile with MPI Compatibility")
+ variant("hdf5", default=True, description="Support HDF5 for database I/O")
+ variant("hzip", default=True, description="Enable hzip support")
+ variant("fpzip", default=True, description="Enable fpzip support")
+
+ depends_on("m4", type="build", when="+shared")
+ depends_on("autoconf", type="build", when="+shared")
+ depends_on("autoconf-archive", type="build", when="+shared")
+ depends_on("automake", type="build", when="+shared")
+ depends_on("libtool", type="build", when="+shared")
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5@1.8:", 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
- depends_on('libxmu', when='+silex')
- depends_on('readline')
- depends_on('zlib')
+ depends_on("libxmu", when="+silex")
+ depends_on("readline")
+ depends_on("zlib")
- patch('remove-mpiposix.patch', when='@4.8:4.10.2')
+ patch("remove-mpiposix.patch", when="@4.8:4.10.2")
# hdf5 1.10 added an additional field to the H5FD_class_t struct
- patch('H5FD_class_t-terminate.patch', when='@:4.10.2-bsd')
+ patch("H5FD_class_t-terminate.patch", when="@:4.10.2-bsd")
# H5EPR_SEMI_COLON.patch was fixed in current dev
- patch('H5EPR_SEMI_COLON.patch', when='@:4.11-bsd')
+ patch("H5EPR_SEMI_COLON.patch", when="@:4.11-bsd")
# Fix missing F77 init, fixed in 4.9
- patch('48-configure-f77.patch', when='@:4.8')
+ patch("48-configure-f77.patch", when="@:4.8")
# The previously used AX_CHECK_COMPILER_FLAGS macro was dropped from
# autoconf-archive in 2011
- patch('configure-AX_CHECK_COMPILE_FLAG.patch')
+ patch("configure-AX_CHECK_COMPILE_FLAG.patch")
# API changes in hdf5-1.13 cause breakage
# See https://github.com/LLNL/Silo/pull/260
- patch('hdf5-113.patch', when='@4.11: +hdf5 ^hdf5@1.13:')
- conflicts('hdf5@1.13:', when='@:4.10.2-bsd')
+ patch("hdf5-113.patch", when="@4.11: +hdf5 ^hdf5@1.13:")
+ conflicts("hdf5@1.13:", when="@:4.10.2-bsd")
# hzip and fpzip are not available in the BSD releases
- conflicts('+hzip', when="@4.10.2-bsd,4.11-bsd")
- conflicts('+fpzip', when="@4.10.2-bsd,4.11-bsd")
+ conflicts("+hzip", when="@4.10.2-bsd,4.11-bsd")
+ conflicts("+fpzip", when="@4.10.2-bsd,4.11-bsd")
def flag_handler(self, name, flags):
spec = self.spec
- if name == 'ldflags':
- if '+hdf5' in spec:
- if spec['hdf5'].satisfies('~shared'):
- flags.append('-ldl')
- flags.append(spec['readline'].libs.search_flags)
-
- if '+pic' in spec:
- if name == 'cflags':
+ if name == "ldflags":
+ if "+hdf5" in spec:
+ if spec["hdf5"].satisfies("~shared"):
+ flags.append("-ldl")
+ flags.append(spec["readline"].libs.search_flags)
+
+ if "+pic" in spec:
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
+ elif name == "cxxflags":
flags.append(self.compiler.cxx_pic_flag)
- elif name == 'fcflags':
+ elif name == "fcflags":
flags.append(self.compiler.fc_pic_flag)
- if name == 'cflags' or name == 'cxxflags':
- if '+hdf5' in spec:
+ if name == "cflags" or name == "cxxflags":
+ if "+hdf5" in spec:
# @:4.10 can use up to the 1.10 API
- if '@:4.10' in spec:
- if '@1.10:' in spec['hdf5']:
- flags.append('-DH5_USE_110_API')
- elif '@1.8:' in spec['hdf5']:
+ if "@:4.10" in spec:
+ if "@1.10:" in spec["hdf5"]:
+ flags.append("-DH5_USE_110_API")
+ elif "@1.8:" in spec["hdf5"]:
# Just in case anytone is trying to force the 1.6 api for
# some reason
- flags.append('-DH5_USE_18_API')
+ flags.append("-DH5_USE_18_API")
else:
# @4.11: can use newer HDF5 APIs, so this ensures silo is
# presented with an HDF5 API consistent with the HDF5 version.
# Use the latest even-numbered API version, i.e. v1.13.1 uses
# API v1.12
- maj_ver = int(spec['hdf5'].version[0])
- min_ver = int(spec['hdf5'].version[1])
+ maj_ver = int(spec["hdf5"].version[0])
+ min_ver = int(spec["hdf5"].version[1])
min_apiver = int(min_ver / 2) * 2
- flags.append('-DH5_USE_{0}{1}_API'.format(maj_ver, min_apiver))
+ flags.append("-DH5_USE_{0}{1}_API".format(maj_ver, min_apiver))
- if spec.compiler.name in ['clang', 'apple-clang']:
- flags.append('-Wno-implicit-function-declaration')
+ if spec.compiler.name in ["clang", "apple-clang"]:
+ flags.append("-Wno-implicit-function-declaration")
return (flags, None, None)
- @when('%clang@9:')
+ @when("%clang@9:")
def patch(self):
self.clang_9_patch()
- @when('%apple-clang@11.0.3:')
+ @when("%apple-clang@11.0.3:")
def patch(self):
self.clang_9_patch()
@@ -131,7 +138,7 @@ class Silo(AutotoolsPackage):
# hasn't yet made it into silo.
# https://github.com/LLNL/fpzip/blob/master/src/pcmap.h
- if str(self.spec.version).endswith('-bsd'):
+ if str(self.spec.version).endswith("-bsd"):
# The files below don't exist in the BSD licenced version
return
@@ -151,64 +158,62 @@ class Silo(AutotoolsPackage):
"src/hzip/hzresidual.h",
]
- filter_file(r'\b(DOMAIN|RANGE|UNION)\b', repl, *files_to_filter)
+ filter_file(r"\b(DOMAIN|RANGE|UNION)\b", repl, *files_to_filter)
@property
def force_autoreconf(self):
# Update autoconf's tests whether libtool supports shared libraries.
# (Otherwise, shared libraries are always disabled on Darwin.)
- if self.spec.satisfies('@4.11-bsd') or self.spec.satisfies('@4.10.2-bsd'):
+ if self.spec.satisfies("@4.11-bsd") or self.spec.satisfies("@4.10.2-bsd"):
return False
else:
- return self.spec.satisfies('+shared')
+ return self.spec.satisfies("+shared")
def configure_args(self):
spec = self.spec
config_args = [
- '--enable-install-lite-headers',
- '--enable-fortran' if '+fortran' in spec else '--disable-fortran',
- '--enable-silex' if '+silex' in spec else '--disable-silex',
- '--enable-shared' if '+shared' in spec else '--disable-shared',
- '--enable-hzip' if '+hzip' in spec else '--disable-hzip',
- '--enable-fpzip' if '+fpzip' in spec else '--disable-fpzip',
+ "--enable-install-lite-headers",
+ "--enable-fortran" if "+fortran" in spec else "--disable-fortran",
+ "--enable-silex" if "+silex" in spec else "--disable-silex",
+ "--enable-shared" if "+shared" in spec else "--disable-shared",
+ "--enable-hzip" if "+hzip" in spec else "--disable-hzip",
+ "--enable-fpzip" if "+fpzip" in spec else "--disable-fpzip",
]
# Do not specify the prefix of zlib if it is in a system directory
# (see https://github.com/spack/spack/pull/21900).
- zlib_prefix = self.spec['zlib'].prefix
+ zlib_prefix = self.spec["zlib"].prefix
if is_system_path(zlib_prefix):
- config_args.append('--with-zlib=yes')
+ config_args.append("--with-zlib=yes")
else:
config_args.append(
- '--with-zlib=%s,%s' % (zlib_prefix.include,
- zlib_prefix.lib),
+ "--with-zlib=%s,%s" % (zlib_prefix.include, zlib_prefix.lib),
)
- if '+hdf5' in spec:
+ if "+hdf5" in spec:
config_args.append(
- '--with-hdf5=%s,%s' % (spec['hdf5'].prefix.include,
- spec['hdf5'].prefix.lib),
+ "--with-hdf5=%s,%s" % (spec["hdf5"].prefix.include, spec["hdf5"].prefix.lib),
)
- if '+silex' in spec:
- x = spec['libx11']
- config_args.extend([
- '--with-Qt-dir=' + spec['qt'].prefix,
- '--with-Qt-lib=QtGui -lQtCore',
- '--x-includes=' + x.prefix.include,
- '--x-libraries=' + x.prefix.lib,
- ])
+ if "+silex" in spec:
+ x = spec["libx11"]
+ config_args.extend(
+ [
+ "--with-Qt-dir=" + spec["qt"].prefix,
+ "--with-Qt-lib=QtGui -lQtCore",
+ "--x-includes=" + x.prefix.include,
+ "--x-libraries=" + x.prefix.lib,
+ ]
+ )
- if '+mpi' in spec:
- config_args.append('CC=%s' % spec['mpi'].mpicc)
- config_args.append('CXX=%s' % spec['mpi'].mpicxx)
- config_args.append('FC=%s' % spec['mpi'].mpifc)
+ if "+mpi" in spec:
+ config_args.append("CC=%s" % spec["mpi"].mpicc)
+ config_args.append("CXX=%s" % spec["mpi"].mpicxx)
+ config_args.append("FC=%s" % spec["mpi"].mpifc)
return config_args
@property
def libs(self):
shared = "+shared" in self.spec
- return find_libraries(
- "libsilo*", root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries("libsilo*", root=self.prefix, shared=shared, recursive=True)
diff --git a/var/spack/repos/builtin/packages/simde/package.py b/var/spack/repos/builtin/packages/simde/package.py
index 2e0aabc0ea..13993878b4 100644
--- a/var/spack/repos/builtin/packages/simde/package.py
+++ b/var/spack/repos/builtin/packages/simde/package.py
@@ -8,19 +8,18 @@ from spack.package import *
class Simde(MesonPackage):
"""The SIMDe header-only library provides fast, portable
- implementations of SIMD intrinsics on hardware which doesn't
- natively support them, such as calling SSE functions on ARM.
- There is no performance penalty if the hardware supports the
- native implementation (e.g., SSE/AVX runs at full speed on x86,
- NEON on ARM, etc.)."""
+ implementations of SIMD intrinsics on hardware which doesn't
+ natively support them, such as calling SSE functions on ARM.
+ There is no performance penalty if the hardware supports the
+ native implementation (e.g., SSE/AVX runs at full speed on x86,
+ NEON on ARM, etc.)."""
homepage = "https://github.com/simd-everywhere/simde"
- url = "https://github.com/simd-everywhere/simde/archive/v0.6.0.tar.gz"
- git = "https://github.com/simd-everywhere/simde.git"
+ url = "https://github.com/simd-everywhere/simde/archive/v0.6.0.tar.gz"
+ git = "https://github.com/simd-everywhere/simde.git"
- version('0.7.2', sha256='366d5e9a342c30f1e40d1234656fb49af5ee35590aaf53b3c79b2afb906ed4c8')
- version('0.6.0', sha256='25a8b8c69c17ddc2f6209e86caa6b12d4ed91c0f841617efc56e5675eea84915')
+ version("0.7.2", sha256="366d5e9a342c30f1e40d1234656fb49af5ee35590aaf53b3c79b2afb906ed4c8")
+ version("0.6.0", sha256="25a8b8c69c17ddc2f6209e86caa6b12d4ed91c0f841617efc56e5675eea84915")
- patch('sve-gcc.patch', when='@0.6.0 %gcc')
- conflicts('%gcc@8', when='target=a64fx',
- msg='Internal compiler error with gcc8 and a64fx')
+ patch("sve-gcc.patch", when="@0.6.0 %gcc")
+ conflicts("%gcc@8", when="target=a64fx", msg="Internal compiler error with gcc8 and a64fx")
diff --git a/var/spack/repos/builtin/packages/simgrid/package.py b/var/spack/repos/builtin/packages/simgrid/package.py
index 983e5d91b5..dacc185f7e 100644
--- a/var/spack/repos/builtin/packages/simgrid/package.py
+++ b/var/spack/repos/builtin/packages/simgrid/package.py
@@ -14,89 +14,136 @@ class Simgrid(CMakePackage):
"""
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'
-
- maintainers = ['viniciusvgp']
-
- version('3.29', sha256='83e8afd653555eeb70dc5c0737b88036c7906778ecd3c95806c6bf5535da2ccf')
- version('3.28', sha256='558276e7f8135ce520d98e1bafa029c6c0f5c2d0e221a3a5e42c378fe0c5ef2c')
- version('3.27', sha256='51aeb9de0434066e5fec40e785f5ea9fa934afe7f6bfb4aa627246e765f1d6d7')
- version('3.26', sha256='ac50da1eacc5a53b094a988a8ecde09962c29320f346b45e74dd32ab9d9f3e96')
- version('3.25', sha256='0b5dcdde64f1246f3daa7673eb1b5bd87663c0a37a2c5dcd43f976885c6d0b46',
- url='https://github.com/simgrid/simgrid/releases/download/v3.25/SimGrid-3.25.tar.gz')
- version('3.24', sha256='c976ed1cbcc7ff136f6d1a8eda7d9ccf090e0e16d5239e6e631047ae9e592921',
- url='https://github.com/simgrid/simgrid/releases/download/v3.24/SimGrid-3.24.tar.gz')
- version('3.23', sha256='c3c86673abf0a2685337f1f520a7782d9611cd18d0374f35e1d98652fdbbaf86',
- url='https://github.com/simgrid/simgrid/releases/download/v3.23/SimGrid-3.23.tar.gz')
- version('3.22', sha256='4fdff0a8e4c81f8edf6f7eedfa32e19748abe688d156ea9240178c558c8bad33',
- url='https://github.com/simgrid/simgrid/releases/download/v3_22/SimGrid-3.22.tar.gz')
- version('3.21', sha256='d2a6e9021016dd39a2b6f8d5d18c8223f6885746c5269550d19ba29c47c0c6a0',
- url='https://github.com/simgrid/simgrid/releases/download/v3_21/SimGrid-3.21.tar.gz')
- version('3.20', sha256='4d4757eb45d87cf18d990d589c31d223b0ea8cf6fcd8c94fca4d38162193cef6',
- url='https://github.com/simgrid/simgrid/releases/download/v3.20/SimGrid-3.20.tar.gz')
+ url = "https://github.com/simgrid/simgrid/releases/download/v3.27/simgrid-3.27.tar.gz"
+ git = "https://framagit.org/simgrid/simgrid.git"
+
+ maintainers = ["viniciusvgp"]
+
+ version("3.29", sha256="83e8afd653555eeb70dc5c0737b88036c7906778ecd3c95806c6bf5535da2ccf")
+ version("3.28", sha256="558276e7f8135ce520d98e1bafa029c6c0f5c2d0e221a3a5e42c378fe0c5ef2c")
+ version("3.27", sha256="51aeb9de0434066e5fec40e785f5ea9fa934afe7f6bfb4aa627246e765f1d6d7")
+ version("3.26", sha256="ac50da1eacc5a53b094a988a8ecde09962c29320f346b45e74dd32ab9d9f3e96")
+ version(
+ "3.25",
+ sha256="0b5dcdde64f1246f3daa7673eb1b5bd87663c0a37a2c5dcd43f976885c6d0b46",
+ url="https://github.com/simgrid/simgrid/releases/download/v3.25/SimGrid-3.25.tar.gz",
+ )
+ version(
+ "3.24",
+ sha256="c976ed1cbcc7ff136f6d1a8eda7d9ccf090e0e16d5239e6e631047ae9e592921",
+ url="https://github.com/simgrid/simgrid/releases/download/v3.24/SimGrid-3.24.tar.gz",
+ )
+ version(
+ "3.23",
+ sha256="c3c86673abf0a2685337f1f520a7782d9611cd18d0374f35e1d98652fdbbaf86",
+ url="https://github.com/simgrid/simgrid/releases/download/v3.23/SimGrid-3.23.tar.gz",
+ )
+ version(
+ "3.22",
+ sha256="4fdff0a8e4c81f8edf6f7eedfa32e19748abe688d156ea9240178c558c8bad33",
+ url="https://github.com/simgrid/simgrid/releases/download/v3_22/SimGrid-3.22.tar.gz",
+ )
+ version(
+ "3.21",
+ sha256="d2a6e9021016dd39a2b6f8d5d18c8223f6885746c5269550d19ba29c47c0c6a0",
+ url="https://github.com/simgrid/simgrid/releases/download/v3_21/SimGrid-3.21.tar.gz",
+ )
+ version(
+ "3.20",
+ sha256="4d4757eb45d87cf18d990d589c31d223b0ea8cf6fcd8c94fca4d38162193cef6",
+ url="https://github.com/simgrid/simgrid/releases/download/v3.20/SimGrid-3.20.tar.gz",
+ )
# gforge.inria.fr end of life https://gforge.inria.fr/forum/forum.php?forum_id=11543
- version('3.19', sha256='64a3b82fdf0a65bb8b7c8e9feb01694360edaf38070097bf28aa181eccb86ea7',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/37452/SimGrid-3.19.tar.gz')
- version('3.18', sha256='dc8f6223d89326b6a21c99eabc90598fa153d6b0818a63ff5c3ec8726e2257b2',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/37294/SimGrid-3.18.tar.gz')
- version('3.17', sha256='f5e44f41983e83f65261598ab0de1909d3a8a3feb77f28e37d38f04631dbb908',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/37148/SimGrid-3.17.tar.gz')
- version('3.16', sha256='51782534fec87eed9da345319ead699b13d7dad4be7ac89984a0446cb385d3fa',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/36900/SimGrid-3.16.tar.gz')
- version('3.15', sha256='d1e411cdbfa953c018411b842727339ede6b82efcd5d3f6adc13a24f182fa9e8',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/36621/SimGrid-3.15.tar.gz')
- version('3.14.159', sha256='2d93db245c6ec8039ffe332a77531b836ad093d57f18ec3f7920fe98e3719f48',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/36384/SimGrid-3.14.159.tar.gz')
- version('3.13', sha256='7bcedd19492f9a32cc431840ad2688d0d6e4121982d6d26e0174b5c92b086121',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/35817/SimGrid-3.13.tar.gz')
- version('3.12', sha256='d397ee0273395dc687fbcd2601515e7142559801a3db387454d77e0e18cd7878',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/35215/SimGrid-3.12.tar.gz')
- version('3.11', sha256='6efb006e028e37f74a34fc37d585a8cb296720020cabad361d65662533f1600b',
- deprecated=True,
- url='https://gforge.inria.fr/frs/download.php/file/33683/SimGrid-3.11.tar.gz')
-
- version('develop', branch='master')
-
- variant('doc', default=False, description='Build documentation')
- variant('smpi', default=True, description='SMPI provides MPI')
- variant('examples', default=False, description='Install examples')
- variant('mc', default=False, description='Model checker')
+ version(
+ "3.19",
+ sha256="64a3b82fdf0a65bb8b7c8e9feb01694360edaf38070097bf28aa181eccb86ea7",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/37452/SimGrid-3.19.tar.gz",
+ )
+ version(
+ "3.18",
+ sha256="dc8f6223d89326b6a21c99eabc90598fa153d6b0818a63ff5c3ec8726e2257b2",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/37294/SimGrid-3.18.tar.gz",
+ )
+ version(
+ "3.17",
+ sha256="f5e44f41983e83f65261598ab0de1909d3a8a3feb77f28e37d38f04631dbb908",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/37148/SimGrid-3.17.tar.gz",
+ )
+ version(
+ "3.16",
+ sha256="51782534fec87eed9da345319ead699b13d7dad4be7ac89984a0446cb385d3fa",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/36900/SimGrid-3.16.tar.gz",
+ )
+ version(
+ "3.15",
+ sha256="d1e411cdbfa953c018411b842727339ede6b82efcd5d3f6adc13a24f182fa9e8",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/36621/SimGrid-3.15.tar.gz",
+ )
+ version(
+ "3.14.159",
+ sha256="2d93db245c6ec8039ffe332a77531b836ad093d57f18ec3f7920fe98e3719f48",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/36384/SimGrid-3.14.159.tar.gz",
+ )
+ version(
+ "3.13",
+ sha256="7bcedd19492f9a32cc431840ad2688d0d6e4121982d6d26e0174b5c92b086121",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/35817/SimGrid-3.13.tar.gz",
+ )
+ version(
+ "3.12",
+ sha256="d397ee0273395dc687fbcd2601515e7142559801a3db387454d77e0e18cd7878",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/35215/SimGrid-3.12.tar.gz",
+ )
+ version(
+ "3.11",
+ sha256="6efb006e028e37f74a34fc37d585a8cb296720020cabad361d65662533f1600b",
+ deprecated=True,
+ url="https://gforge.inria.fr/frs/download.php/file/33683/SimGrid-3.11.tar.gz",
+ )
+
+ version("develop", branch="master")
+
+ variant("doc", default=False, description="Build documentation")
+ variant("smpi", default=True, description="SMPI provides MPI")
+ variant("examples", default=False, description="Install examples")
+ variant("mc", default=False, description="Model checker")
# does not build correctly with some old compilers -> rely on packages
- depends_on('boost@:1.69.0', when='@:3.21')
- depends_on('boost+exception')
+ depends_on("boost@:1.69.0", when="@:3.21")
+ depends_on("boost+exception")
- conflicts('%gcc@10:', when='@:3.23',
- msg='simgrid <= v3.23 cannot be built with gcc >= 10,'
- ' please use an older release (e.g., %gcc@:9).')
+ conflicts(
+ "%gcc@10:",
+ when="@:3.23",
+ msg="simgrid <= v3.23 cannot be built with gcc >= 10,"
+ " please use an older release (e.g., %gcc@:9).",
+ )
def setup_dependent_package(self, module, dep_spec):
- if self.spec.satisfies('+smpi'):
- self.spec.smpicc = join_path(self.prefix.bin, 'smpicc')
- self.spec.smpicxx = join_path(self.prefix.bin,
- 'smpicxx -std=c++11')
- self.spec.smpifc = join_path(self.prefix.bin, 'smpif90')
- self.spec.smpif77 = join_path(self.prefix.bin, 'smpiff')
+ if self.spec.satisfies("+smpi"):
+ self.spec.smpicc = join_path(self.prefix.bin, "smpicc")
+ self.spec.smpicxx = join_path(self.prefix.bin, "smpicxx -std=c++11")
+ self.spec.smpifc = join_path(self.prefix.bin, "smpif90")
+ self.spec.smpif77 = join_path(self.prefix.bin, "smpiff")
def cmake_args(self):
spec = self.spec
args = []
- if not spec.satisfies('+doc'):
+ if not spec.satisfies("+doc"):
args.append("-Denable_documentation=OFF")
- if spec.satisfies('+mc'):
+ if spec.satisfies("+mc"):
args.append("-Denable_model-checking=ON")
return args
@@ -105,6 +152,5 @@ class Simgrid(CMakePackage):
"""Make the install targets"""
with working_dir(self.build_directory):
make("install")
- if spec.satisfies('+examples'):
- install_tree(join_path(self.build_directory, 'examples'),
- prefix.examples)
+ if spec.satisfies("+examples"):
+ install_tree(join_path(self.build_directory, "examples"), prefix.examples)
diff --git a/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py b/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py
index fd500846bc..7aa9684654 100644
--- a/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py
+++ b/var/spack/repos/builtin/packages/simmetrix-simmodsuite/package.py
@@ -9,157 +9,465 @@ from spack.package import *
RELEASES = [
{
- 'version': '16.0-220312',
- 'components': {
- 'msparalleladapt': ['cc6d6ecba8183f3444e55977af879b297977ff94dd7f6197028110f7e24ea60b', 'paralleladapt'],
- 'msadapt': ['ec4a985f9b29914411d299fecfb1a994224070480be5de5f701d9968ba9da9e5', 'base'],
- 'opencascade': ['008e7232ee3531b70143129e5a664f7db0e232bad9d11d693d725d39986a8aa4', 'opencascade'],
- 'gmvoxel': ['4a74c54c31e9eb93f9a0c09ef3ac88f365efb19666240374aa6d1142db993a2c', 'voxel'],
- 'msadv': ['d33b591147152383130cc2190f1bd7726cb9ea3590468691db3be5815802d888', 'adv'],
- 'pskrnl': ['e154c22c01ecab2e041cf5d87fcb23eab074449dae7f677f17e7863b6da70fdc', 'parasolid'],
- 'gmcore': ['d9ed89d07d83f2c23eca6a27fd9000fd4c8eeefa70ac860aa28a40000a6ec93e', 'base'],
- 'psint': ['5c236e429f28a36a36cb09ec3f4778dc7b6e72447014b684792eea733bb21fd5', 'parasolid'],
- 'msparallelmesh': ['a791f4464da54faafdc63dbcaf3d326ffc49c9ea8d53e36cc57c15607cf72db9', 'parallelmesh'],
- 'mscore': ['48e367e476a03a9fa5389830a6c60824b5d620d04d87392e423a33a331ba3595', 'base'],
- 'fdcore': ['022de14021434d90daee8ea1200c024d98a7eb01bb9cb5a06a3b2f7ffee9c0a1', 'base'],
- 'gmadv': ['6232ec08ef5cff4269d066b035490f33c199fb545355836ef1536b1a00179b2c', 'advmodel'],
- 'gmabstract': ['08a6c7423ed59361c5330dbe00b8914d1d55160de73002e7e552c45c8316f37a', 'abstract'],
- 'discrete': ['f5ae00688cf202e75686955185d95952e7b581b414dd52bfef0d917e5959ab22', 'discrete'],
- 'aciskrnl': ['c2c7b0c495d47a5662765f1b0c6f52863032e63384d85241e6313c4b773e9ed2', 'acis'],
+ "version": "16.0-220312",
+ "components": {
+ "msparalleladapt": [
+ "cc6d6ecba8183f3444e55977af879b297977ff94dd7f6197028110f7e24ea60b",
+ "paralleladapt",
+ ],
+ "msadapt": [
+ "ec4a985f9b29914411d299fecfb1a994224070480be5de5f701d9968ba9da9e5",
+ "base",
+ ],
+ "opencascade": [
+ "008e7232ee3531b70143129e5a664f7db0e232bad9d11d693d725d39986a8aa4",
+ "opencascade",
+ ],
+ "gmvoxel": [
+ "4a74c54c31e9eb93f9a0c09ef3ac88f365efb19666240374aa6d1142db993a2c",
+ "voxel",
+ ],
+ "msadv": ["d33b591147152383130cc2190f1bd7726cb9ea3590468691db3be5815802d888", "adv"],
+ "pskrnl": [
+ "e154c22c01ecab2e041cf5d87fcb23eab074449dae7f677f17e7863b6da70fdc",
+ "parasolid",
+ ],
+ "gmcore": ["d9ed89d07d83f2c23eca6a27fd9000fd4c8eeefa70ac860aa28a40000a6ec93e", "base"],
+ "psint": [
+ "5c236e429f28a36a36cb09ec3f4778dc7b6e72447014b684792eea733bb21fd5",
+ "parasolid",
+ ],
+ "msparallelmesh": [
+ "a791f4464da54faafdc63dbcaf3d326ffc49c9ea8d53e36cc57c15607cf72db9",
+ "parallelmesh",
+ ],
+ "mscore": ["48e367e476a03a9fa5389830a6c60824b5d620d04d87392e423a33a331ba3595", "base"],
+ "fdcore": ["022de14021434d90daee8ea1200c024d98a7eb01bb9cb5a06a3b2f7ffee9c0a1", "base"],
+ "gmadv": [
+ "6232ec08ef5cff4269d066b035490f33c199fb545355836ef1536b1a00179b2c",
+ "advmodel",
+ ],
+ "gmabstract": [
+ "08a6c7423ed59361c5330dbe00b8914d1d55160de73002e7e552c45c8316f37a",
+ "abstract",
+ ],
+ "discrete": [
+ "f5ae00688cf202e75686955185d95952e7b581b414dd52bfef0d917e5959ab22",
+ "discrete",
+ ],
+ "aciskrnl": [
+ "c2c7b0c495d47a5662765f1b0c6f52863032e63384d85241e6313c4b773e9ed2",
+ "acis",
+ ],
+ },
+ "docs": {
+ "GeomSimParasolid": [
+ "3420fcc1ac67cff8f46b79553cfe478f34676b9b0cd1fa913255b48cbdfd6ad4",
+ "parasolid",
+ ],
+ "GeomSimAcis": [
+ "77b31bfb368f1e7981b3a81087e4e287c560e0a0cd08920b36dc81fea25bcdfa",
+ "acis",
+ ],
+ "MeshSimAdvanced": [
+ "abeeb0cb10cf3074295a880412e0568b653f2784b1de19f0f8ede5eec536a8bd",
+ "adv",
+ ],
+ "GeomSim": [
+ "b1e762111eb8025b966b0aca4bef3768325d9f1c1e3c72a1246b59539e444eb2",
+ "base",
+ ],
+ "GeomSimVoxel": [
+ "bc43f931670657a2cae79f9a2a02048b511fa6e405f15e583631e9f6888e7000",
+ "voxel",
+ ],
+ "ParallelMeshSimAdapt": [
+ "dd3a0fd6b889dadb45f9a894f684353fffa25bf15be60ae8e09d0c035045e192",
+ "paralleladapt",
+ ],
+ "GeomSimAdvanced": [
+ "3e971ae069baf94b38794318f97f16dc25cf50f6a81413903fbe17407cbd73b3",
+ "advmodel",
+ ],
+ "GeomSimGranite": [
+ "e438c19bb94a182068bf327988bd1ff9c1e391876cd9b7c74760b98cbfd08763",
+ "granite",
+ ],
+ "FieldSim": [
+ "5ede572cbb7539921482390e5890daa92399a5f1ee68a98d3241a7d062667d9d",
+ "base",
+ ],
+ "MeshSimAdapt": [
+ "c4be287da651c68e246034b28e141143d83fc3986fd680174a0d6de7b1cc35ab",
+ "base",
+ ],
+ "GeomSimOpenCascade": [
+ "34a8d628d07ab66159d6151276e93fdabfcc92a370f5927b66a71d3a8545652c",
+ "opencascade",
+ ],
+ "GeomSimDiscrete": [
+ "d2b11367334401ec57390a658715e91bbf3e3a0e8521fab1ad5d3f7c215b2921",
+ "discrete",
+ ],
+ "GeomSimAbstract": [
+ "601b0179b65a385a39d241a9a4e3074e4f834c817e836bea07516015c769e666",
+ "abstract",
+ ],
+ "GeomSimDiscreteModeling": [
+ "619b8254d8e3bcc94e84551e997b577dd9325131d084c3b3693ab665b7e4213b",
+ "discrete",
+ ],
+ "ParallelMeshSim": [
+ "5b74b9b5f9290111366e341c12d4777635e375523d42cb0a2b24aa1bfa8ab8c4",
+ "parallelmesh",
+ ],
+ "MeshSim": [
+ "2f1944e1853a550cc474201790555212e4b7a21d3675715de416718a789ccae2",
+ "base",
+ ],
},
- 'docs': {
- 'GeomSimParasolid': ['3420fcc1ac67cff8f46b79553cfe478f34676b9b0cd1fa913255b48cbdfd6ad4', 'parasolid'],
- 'GeomSimAcis': ['77b31bfb368f1e7981b3a81087e4e287c560e0a0cd08920b36dc81fea25bcdfa', 'acis'],
- 'MeshSimAdvanced': ['abeeb0cb10cf3074295a880412e0568b653f2784b1de19f0f8ede5eec536a8bd', 'adv'],
- 'GeomSim': ['b1e762111eb8025b966b0aca4bef3768325d9f1c1e3c72a1246b59539e444eb2', 'base'],
- 'GeomSimVoxel': ['bc43f931670657a2cae79f9a2a02048b511fa6e405f15e583631e9f6888e7000', 'voxel'],
- 'ParallelMeshSimAdapt': ['dd3a0fd6b889dadb45f9a894f684353fffa25bf15be60ae8e09d0c035045e192',
- 'paralleladapt'],
- 'GeomSimAdvanced': ['3e971ae069baf94b38794318f97f16dc25cf50f6a81413903fbe17407cbd73b3', 'advmodel'],
- 'GeomSimGranite': ['e438c19bb94a182068bf327988bd1ff9c1e391876cd9b7c74760b98cbfd08763', 'granite'],
- 'FieldSim': ['5ede572cbb7539921482390e5890daa92399a5f1ee68a98d3241a7d062667d9d', 'base'],
- 'MeshSimAdapt': ['c4be287da651c68e246034b28e141143d83fc3986fd680174a0d6de7b1cc35ab', 'base'],
- 'GeomSimOpenCascade': ['34a8d628d07ab66159d6151276e93fdabfcc92a370f5927b66a71d3a8545652c', 'opencascade'],
- 'GeomSimDiscrete': ['d2b11367334401ec57390a658715e91bbf3e3a0e8521fab1ad5d3f7c215b2921', 'discrete'],
- 'GeomSimAbstract': ['601b0179b65a385a39d241a9a4e3074e4f834c817e836bea07516015c769e666', 'abstract'],
- 'GeomSimDiscreteModeling': ['619b8254d8e3bcc94e84551e997b577dd9325131d084c3b3693ab665b7e4213b', 'discrete'],
- 'ParallelMeshSim': ['5b74b9b5f9290111366e341c12d4777635e375523d42cb0a2b24aa1bfa8ab8c4', 'parallelmesh'],
- 'MeshSim': ['2f1944e1853a550cc474201790555212e4b7a21d3675715de416718a789ccae2', 'base'],
- }
},
{
- 'version': '16.0-210623',
- 'components': {
- 'gmadv': ['c40dac44695db6e97c4d4c06d1eb6eac93518c93d7860c77a69f3ea30fea3b90', 'advmodel'],
- 'msparallelmesh': ['57d710b74887731ea0e664a154489747033af433852809181c11e8065752eaf4', 'parallelmesh'],
- 'gmcore': ['5bd04f175fdf5a088140af5ca3fa03934251c097044b47fdf3ea2cd0afc28547', 'base'],
- 'pskrnl': ['87957818b20839d3835a343894c396f7c591d1f0bfd728d33ad21b1adb4e887c', 'parasolid'],
- 'msadapt': ['5ba66819bb2c56eb1e07e6c2659afc8c971005b08ed059f8c62a185236e45dac', 'base'],
- 'gmvoxel': ['15dfc389665086ea37b9835fecd6b46070572878308796afa960077cc2bf7e0a', 'voxel'],
- 'msparalleladapt': ['1db2c34a398c5965a2a675006c96a3603e0124188b52159776b7c616efa48457', 'paralleladapt'],
- 'mscore': ['7029871c52d6c3bb782ae2acb7360130105649cd9cf63815ae95cf4089cb786d', 'base'],
- 'psint': ['c8a3dbacafa70b13bc9fb8322699a1cfc812b2cfd3ea05cba9135623eae761d8', 'parasolid'],
- 'fdcore': ['75f9bcd7cb9ab9dedb73166539c08b53bd8e91c5619d3dce605ba19c63d1ee5c', 'base'],
- 'msadv': ['0018e0a6b9d7724867f7379bc619269481c318ee4dfd0724511c032534ae04a1', 'adv'],
- 'aciskrnl': ['2a9b9da9b0c09857de7fef0dea0e96222bd30e297bd37bea962751dab6762500', 'acis'],
- 'discrete': ['f17cd198f8749c763cc8e200cfd6734604e1d316a48d7d0e537a9a890d884904', 'discrete'],
- 'gmabstract': ['068d0309d5ff9668fc0474edf7f4e20503827400e34492e2ed55b46a0c9e1858', 'abstract'],
+ "version": "16.0-210623",
+ "components": {
+ "gmadv": [
+ "c40dac44695db6e97c4d4c06d1eb6eac93518c93d7860c77a69f3ea30fea3b90",
+ "advmodel",
+ ],
+ "msparallelmesh": [
+ "57d710b74887731ea0e664a154489747033af433852809181c11e8065752eaf4",
+ "parallelmesh",
+ ],
+ "gmcore": ["5bd04f175fdf5a088140af5ca3fa03934251c097044b47fdf3ea2cd0afc28547", "base"],
+ "pskrnl": [
+ "87957818b20839d3835a343894c396f7c591d1f0bfd728d33ad21b1adb4e887c",
+ "parasolid",
+ ],
+ "msadapt": [
+ "5ba66819bb2c56eb1e07e6c2659afc8c971005b08ed059f8c62a185236e45dac",
+ "base",
+ ],
+ "gmvoxel": [
+ "15dfc389665086ea37b9835fecd6b46070572878308796afa960077cc2bf7e0a",
+ "voxel",
+ ],
+ "msparalleladapt": [
+ "1db2c34a398c5965a2a675006c96a3603e0124188b52159776b7c616efa48457",
+ "paralleladapt",
+ ],
+ "mscore": ["7029871c52d6c3bb782ae2acb7360130105649cd9cf63815ae95cf4089cb786d", "base"],
+ "psint": [
+ "c8a3dbacafa70b13bc9fb8322699a1cfc812b2cfd3ea05cba9135623eae761d8",
+ "parasolid",
+ ],
+ "fdcore": ["75f9bcd7cb9ab9dedb73166539c08b53bd8e91c5619d3dce605ba19c63d1ee5c", "base"],
+ "msadv": ["0018e0a6b9d7724867f7379bc619269481c318ee4dfd0724511c032534ae04a1", "adv"],
+ "aciskrnl": [
+ "2a9b9da9b0c09857de7fef0dea0e96222bd30e297bd37bea962751dab6762500",
+ "acis",
+ ],
+ "discrete": [
+ "f17cd198f8749c763cc8e200cfd6734604e1d316a48d7d0e537a9a890d884904",
+ "discrete",
+ ],
+ "gmabstract": [
+ "068d0309d5ff9668fc0474edf7f4e20503827400e34492e2ed55b46a0c9e1858",
+ "abstract",
+ ],
+ },
+ "docs": {
+ "GeomSimAdvanced": [
+ "02e4566042ae4de10c4acb577142e82d15f32caa296fe1b578c62a38da707066",
+ "advmodel",
+ ],
+ "MeshSim": [
+ "cc1dc77cece7aac6ded003c872c651ad8321bc9ce931ad141b17d2de7bf513c5",
+ "base",
+ ],
+ "GeomSimVoxel": [
+ "49b8f85f59acc8c973bf46c1f999a0ae64cdf129371587879de056c0ac3500d8",
+ "voxel",
+ ],
+ "MeshSimAdvanced": [
+ "2d2689979104414d91d804ca3c34a69104e572b8f231c4e324b09e57675b61cc",
+ "adv",
+ ],
+ "GeomSimGranite": [
+ "17f18831a12b06c0e085486d94d3a4275d7ed94ad53fec689e8877217856c750",
+ "granite",
+ ],
+ "GeomSimParasolid": [
+ "492bd311cc42dadd1f76064c57d35e886b9a7da4c48576ec4d34844fcdaddb8d",
+ "parasolid",
+ ],
+ "GeomSimAcis": [
+ "341c6aeda7f9189f4e886cb75c5989cb9ece6ecba1b1c9d5273b94f74a3dd40b",
+ "acis",
+ ],
+ "GeomSimDiscrete": [
+ "e9d42da613a3acadbcdee5d8d6fc3b093f58b51d158f2a392b7da0e5f74e0388",
+ "discrete",
+ ],
+ "MeshSimAdapt": [
+ "e27510e588105bdb0ca62c2629dfd41dfca6039b7b2ff0298ef83d3a48d7dd23",
+ "base",
+ ],
+ "GeomSimAbstract": [
+ "398c1a15efcddd3b86a7b0334af6f8b529710f815f73f5655d3c7271e92b194e",
+ "abstract",
+ ],
+ "GeomSimDiscreteModeling": [
+ "f444aed59569731f65eea920322adcc224c67b715ecba85a1898cf418de58237",
+ "discrete",
+ ],
+ "FieldSim": [
+ "bac947998d4de1c4edba271645310d4784290bec30bf0cf41d00ae6ea8b27c97",
+ "base",
+ ],
+ "GeomSim": [
+ "95cb24165d47701daa8da7131ca1173d38f4dab80c1ca0d75843b464fed92097",
+ "base",
+ ],
+ "ParallelMeshSim": [
+ "fb1e3ac0ab7208d771057880c693e529e7c821772265b89125d371a1b34fa651",
+ "parallelmesh",
+ ],
+ "ParallelMeshSimAdapt": [
+ "246c5c8b30194239f41a79f2ffd205fd9ae69bcb8127d19a94f12c278a27f106",
+ "paralleladapt",
+ ],
},
- 'docs': {
- 'GeomSimAdvanced': ['02e4566042ae4de10c4acb577142e82d15f32caa296fe1b578c62a38da707066', 'advmodel'],
- 'MeshSim': ['cc1dc77cece7aac6ded003c872c651ad8321bc9ce931ad141b17d2de7bf513c5', 'base'],
- 'GeomSimVoxel': ['49b8f85f59acc8c973bf46c1f999a0ae64cdf129371587879de056c0ac3500d8', 'voxel'],
- 'MeshSimAdvanced': ['2d2689979104414d91d804ca3c34a69104e572b8f231c4e324b09e57675b61cc', 'adv'],
- 'GeomSimGranite': ['17f18831a12b06c0e085486d94d3a4275d7ed94ad53fec689e8877217856c750', 'granite'],
- 'GeomSimParasolid': ['492bd311cc42dadd1f76064c57d35e886b9a7da4c48576ec4d34844fcdaddb8d', 'parasolid'],
- 'GeomSimAcis': ['341c6aeda7f9189f4e886cb75c5989cb9ece6ecba1b1c9d5273b94f74a3dd40b', 'acis'],
- 'GeomSimDiscrete': ['e9d42da613a3acadbcdee5d8d6fc3b093f58b51d158f2a392b7da0e5f74e0388', 'discrete'],
- 'MeshSimAdapt': ['e27510e588105bdb0ca62c2629dfd41dfca6039b7b2ff0298ef83d3a48d7dd23', 'base'],
- 'GeomSimAbstract': ['398c1a15efcddd3b86a7b0334af6f8b529710f815f73f5655d3c7271e92b194e', 'abstract'],
- 'GeomSimDiscreteModeling': ['f444aed59569731f65eea920322adcc224c67b715ecba85a1898cf418de58237', 'discrete'],
- 'FieldSim': ['bac947998d4de1c4edba271645310d4784290bec30bf0cf41d00ae6ea8b27c97', 'base'],
- 'GeomSim': ['95cb24165d47701daa8da7131ca1173d38f4dab80c1ca0d75843b464fed92097', 'base'],
- 'ParallelMeshSim': ['fb1e3ac0ab7208d771057880c693e529e7c821772265b89125d371a1b34fa651', 'parallelmesh'],
- 'ParallelMeshSimAdapt': ['246c5c8b30194239f41a79f2ffd205fd9ae69bcb8127d19a94f12c278a27f106',
- 'paralleladapt'],
- }
},
{
- 'version': '14.0-191122',
- 'components': {
- 'gmadv': ['01cea5f7aff5e442ea544df054969740ad33e2ff4097cf02de31874d16a0c7c2', 'advmodel'],
- 'msadapt': ['69839698f24969f97963869fd212bdcff0b5d52dd40ec3fdc710d878e43b527a', 'base'],
- 'gmvoxel': ['bfea15e1fc5d258ed9db69132042a848ca81995e92bf265215e4b88d08a308a8', 'voxel'],
- 'gmabstract': ['dccdcd4b71758e4110cd69b0befa7875e5c1f3871f87478410c6676da3f39092', 'abstract'],
- 'fdcore': ['6981b2eb0c0143e6abc3ec29918fc3552f81018755770bf922d2491275984e1a', 'base'],
- 'msparallelmesh': ['1e1a431ec9dd85354ff42c6a2a41df7fbe3dfe5d296f40105c4d3aa372639dc3', 'parallelmesh'],
- 'mscore': ['bca80fcb2c86e7b6dc0259681ccd73197ce85c47f00f1910bd6b518fa0b3a092', 'base'],
- 'discrete': ['430e5f2270864b1ab9c8dff75d2510147a0c5cde8af0828975d9e38661be3a35', 'discrete'],
- 'gmimport': ['e83b3c43b7c695fa96ed42253a4b317a2882bcb8987fd3225c09492e353e49aa', 'import'],
- 'pskrnl': ['31455cfce746b2339b3644f3890d4444014fb839654a9f576ec747d28ff6c1c4', 'parasolid'],
- 'gmcore': ['af5d89b9ce266cac5b45f2bf96e1324e87e54c6e2f568bd5b6a85c41122d39e4', 'base'],
- 'aciskrnl': ['764e5633e6d502951788accfb8c34ed59430a4779a44d1775fd67f9aab8a654a', 'acis'],
- 'msparalleladapt': ['8ae607112958f6b9d319736c71a6597cf99a8a59ceed733f2a939cb9cfa6dd67', 'paralleladapt'],
- 'psint': ['f6c90b2fe87e690b2cba20f357d03c5962fed91541d6b79e01dc25cb8f01d1e0', 'parasolid'],
- 'msadv': ['f18a8285d539cb07b00fde06fe970d958eceabf2a10182bcca6c8ad1c074c395', 'adv'],
+ "version": "14.0-191122",
+ "components": {
+ "gmadv": [
+ "01cea5f7aff5e442ea544df054969740ad33e2ff4097cf02de31874d16a0c7c2",
+ "advmodel",
+ ],
+ "msadapt": [
+ "69839698f24969f97963869fd212bdcff0b5d52dd40ec3fdc710d878e43b527a",
+ "base",
+ ],
+ "gmvoxel": [
+ "bfea15e1fc5d258ed9db69132042a848ca81995e92bf265215e4b88d08a308a8",
+ "voxel",
+ ],
+ "gmabstract": [
+ "dccdcd4b71758e4110cd69b0befa7875e5c1f3871f87478410c6676da3f39092",
+ "abstract",
+ ],
+ "fdcore": ["6981b2eb0c0143e6abc3ec29918fc3552f81018755770bf922d2491275984e1a", "base"],
+ "msparallelmesh": [
+ "1e1a431ec9dd85354ff42c6a2a41df7fbe3dfe5d296f40105c4d3aa372639dc3",
+ "parallelmesh",
+ ],
+ "mscore": ["bca80fcb2c86e7b6dc0259681ccd73197ce85c47f00f1910bd6b518fa0b3a092", "base"],
+ "discrete": [
+ "430e5f2270864b1ab9c8dff75d2510147a0c5cde8af0828975d9e38661be3a35",
+ "discrete",
+ ],
+ "gmimport": [
+ "e83b3c43b7c695fa96ed42253a4b317a2882bcb8987fd3225c09492e353e49aa",
+ "import",
+ ],
+ "pskrnl": [
+ "31455cfce746b2339b3644f3890d4444014fb839654a9f576ec747d28ff6c1c4",
+ "parasolid",
+ ],
+ "gmcore": ["af5d89b9ce266cac5b45f2bf96e1324e87e54c6e2f568bd5b6a85c41122d39e4", "base"],
+ "aciskrnl": [
+ "764e5633e6d502951788accfb8c34ed59430a4779a44d1775fd67f9aab8a654a",
+ "acis",
+ ],
+ "msparalleladapt": [
+ "8ae607112958f6b9d319736c71a6597cf99a8a59ceed733f2a939cb9cfa6dd67",
+ "paralleladapt",
+ ],
+ "psint": [
+ "f6c90b2fe87e690b2cba20f357d03c5962fed91541d6b79e01dc25cb8f01d1e0",
+ "parasolid",
+ ],
+ "msadv": ["f18a8285d539cb07b00fde06fe970d958eceabf2a10182bcca6c8ad1c074c395", "adv"],
+ },
+ "docs": {
+ "MeshSim": [
+ "f3c475072f270ff49ac2f6639ca1cddb0642889648cbea7df1a3f1b85f7cac36",
+ "base",
+ ],
+ "GeomSimVoxel": [
+ "9f4ee5a8204fee1d899cb912e0379f8be7a826e81ca0a0d8a670a4b804ca1276",
+ "voxel",
+ ],
+ "MeshSimAdvanced": [
+ "8c8bc3709238e600e8938c7c345588f8947d89eae98a228b0d0e3d46f5f4c0d9",
+ "adv",
+ ],
+ "GeomSimDiscreteModeling": [
+ "4e8e26a88e8a5ad396a637597a52f5973d8f77abc0a5b99fa737caf37226d6cc",
+ "discrete",
+ ],
+ "GeomSimAdvanced": [
+ "5efb38317d6be7862ce34024922ca372b30691a30af820474e2e26e4c3055278",
+ "advmodel",
+ ],
+ "GeomSimParasolid": [
+ "6851bdaf6d96e7b2335fce3394825e9876800f0aba0a42644758dc1bd06f60fe",
+ "parasolid",
+ ],
+ "GeomSimImport": [
+ "d931ecfc332460c825b473c0950c7ae8ff9f845e0d1565f85bfd7698da5e6d26",
+ "import",
+ ],
+ "ParallelMeshSim": [
+ "0f0d235b25a660271e401488e412220f574b341dadb827f7b82f0e93172b5cdb",
+ "parallelmesh",
+ ],
+ "ParallelMeshSimAdapt": [
+ "7964ebbd7e8d971ea85fc5260e44f7e876da5ad474dc67d8d6fc939bfa5ba454",
+ "paralleladapt",
+ ],
+ "GeomSimAcis": [
+ "dea82efbc4e3043ecda163be792ef295057e08be17654a7783ce7ca5e786f950",
+ "acis",
+ ],
+ "MeshSimAdapt": [
+ "ee4d5595572c1fe1a0d78bd9b85c774a55e994c48170450d6c5f34b05fcf2411",
+ "base",
+ ],
+ "FieldSim": [
+ "6b09b4ab278911d3e9229fd4cd8dc92ba188f151d42d9d7b96d542aad2af1fac",
+ "base",
+ ],
+ "GeomSim": [
+ "0673823d649998367c0e427055911eae971bb6e8c76625882e7a7901f4d18c44",
+ "base",
+ ],
+ "GeomSimDiscrete": [
+ "58dfd33fc5cdd2ab24e9084377943f28d5ba68b8c017b11b71cde64c5e4f2113",
+ "discrete",
+ ],
+ "GeomSimAbstract": [
+ "16248cd2a0d133029eb4b79d61397da008e4d5b5c3eaf0161a0a44148b0bc519",
+ "abstract",
+ ],
},
- 'docs': {
- 'MeshSim': ['f3c475072f270ff49ac2f6639ca1cddb0642889648cbea7df1a3f1b85f7cac36', 'base'],
- 'GeomSimVoxel': ['9f4ee5a8204fee1d899cb912e0379f8be7a826e81ca0a0d8a670a4b804ca1276', 'voxel'],
- 'MeshSimAdvanced': ['8c8bc3709238e600e8938c7c345588f8947d89eae98a228b0d0e3d46f5f4c0d9', 'adv'],
- 'GeomSimDiscreteModeling': ['4e8e26a88e8a5ad396a637597a52f5973d8f77abc0a5b99fa737caf37226d6cc', 'discrete'],
- 'GeomSimAdvanced': ['5efb38317d6be7862ce34024922ca372b30691a30af820474e2e26e4c3055278', 'advmodel'],
- 'GeomSimParasolid': ['6851bdaf6d96e7b2335fce3394825e9876800f0aba0a42644758dc1bd06f60fe', 'parasolid'],
- 'GeomSimImport': ['d931ecfc332460c825b473c0950c7ae8ff9f845e0d1565f85bfd7698da5e6d26', 'import'],
- 'ParallelMeshSim': ['0f0d235b25a660271e401488e412220f574b341dadb827f7b82f0e93172b5cdb', 'parallelmesh'],
- 'ParallelMeshSimAdapt': ['7964ebbd7e8d971ea85fc5260e44f7e876da5ad474dc67d8d6fc939bfa5ba454',
- 'paralleladapt'],
- 'GeomSimAcis': ['dea82efbc4e3043ecda163be792ef295057e08be17654a7783ce7ca5e786f950', 'acis'],
- 'MeshSimAdapt': ['ee4d5595572c1fe1a0d78bd9b85c774a55e994c48170450d6c5f34b05fcf2411', 'base'],
- 'FieldSim': ['6b09b4ab278911d3e9229fd4cd8dc92ba188f151d42d9d7b96d542aad2af1fac', 'base'],
- 'GeomSim': ['0673823d649998367c0e427055911eae971bb6e8c76625882e7a7901f4d18c44', 'base'],
- 'GeomSimDiscrete': ['58dfd33fc5cdd2ab24e9084377943f28d5ba68b8c017b11b71cde64c5e4f2113', 'discrete'],
- 'GeomSimAbstract': ['16248cd2a0d133029eb4b79d61397da008e4d5b5c3eaf0161a0a44148b0bc519', 'abstract'],
- }
},
{
- 'version': '12.0-191027',
- 'components': {
- 'gmadv': ['1a133523062974c4d9acb1d52baa3893dc891482aebaaeb79a7dc907461d5dbc', 'advmodel'],
- 'fdcore': ['c3a89093f811cb489698d203dbe68ca910e6c67ea75c0a7aba73dd369508b9ec', 'base'],
- 'mscore': ['a2f043278d45d8729020b663c66c57960fcec33dafd3d90db55f0a9e32723bce', 'base'],
- 'msparallelmesh': ['2f6fd47d3c5c2f1ece4634985a522ac599d3cee20ad8a4623f252cc75aa32c4c', 'parallelmesh'],
- 'msparalleladapt': ['8d288730b1300215a32f3b21624bd2e0e2d8a684fe928459757fcec7e0aeb7d3', 'paralleladapt'],
- 'gmabstract': ['3b608f21e6c11db5bb48e49f9cd7e9d88aeec4feadebd778529a5c9d506d08c6', 'abstract'],
- 'gmimport': ['fc1626c7b1522b90eaa3926e1253b84d28440c7df8634decdedb79b5229be800', 'import'],
- 'discrete': ['a15ead08138f0c59c7ee46cd0d348d4f26e1b021d2580a134cf2b84a7337bcf9', 'discrete'],
- 'aciskrnl': ['8773f00e08d237052c877e79d1a869214f59891e812d70df938b2a5e5423a96f', 'acis'],
- 'msadv': ['41bdb9555ab9feb0891f0832a49fc29777d40957473f315e1c33e1c0077cba7d', 'adv'],
- 'psint': ['b040ab48833eb2a748f757e2de6929f3002aa98db459ba92bd9a88e443e5cb07', 'parasolid'],
- 'gmvoxel': ['19fba83c9c7eac20d9613236530fbae652dc8edef35233214f0f92b81c91a877', 'voxel'],
- 'msadapt': ['1a752adb6724c3328fffb26f1aebed007d3c2a5df725cd29aa0cf0fdfda1f39a', 'base'],
- 'gmcore': ['ec95bae84b36644e6e04cf0a6b4e813a51990d0a30519176ebb8a05f681af7f2', 'base'],
- 'pskrnl': ['7b7b4952513e06c8c23aa8f7c1748f5c199d9af70ea06c4a359412237ed8ac1d', 'parasolid'],
+ "version": "12.0-191027",
+ "components": {
+ "gmadv": [
+ "1a133523062974c4d9acb1d52baa3893dc891482aebaaeb79a7dc907461d5dbc",
+ "advmodel",
+ ],
+ "fdcore": ["c3a89093f811cb489698d203dbe68ca910e6c67ea75c0a7aba73dd369508b9ec", "base"],
+ "mscore": ["a2f043278d45d8729020b663c66c57960fcec33dafd3d90db55f0a9e32723bce", "base"],
+ "msparallelmesh": [
+ "2f6fd47d3c5c2f1ece4634985a522ac599d3cee20ad8a4623f252cc75aa32c4c",
+ "parallelmesh",
+ ],
+ "msparalleladapt": [
+ "8d288730b1300215a32f3b21624bd2e0e2d8a684fe928459757fcec7e0aeb7d3",
+ "paralleladapt",
+ ],
+ "gmabstract": [
+ "3b608f21e6c11db5bb48e49f9cd7e9d88aeec4feadebd778529a5c9d506d08c6",
+ "abstract",
+ ],
+ "gmimport": [
+ "fc1626c7b1522b90eaa3926e1253b84d28440c7df8634decdedb79b5229be800",
+ "import",
+ ],
+ "discrete": [
+ "a15ead08138f0c59c7ee46cd0d348d4f26e1b021d2580a134cf2b84a7337bcf9",
+ "discrete",
+ ],
+ "aciskrnl": [
+ "8773f00e08d237052c877e79d1a869214f59891e812d70df938b2a5e5423a96f",
+ "acis",
+ ],
+ "msadv": ["41bdb9555ab9feb0891f0832a49fc29777d40957473f315e1c33e1c0077cba7d", "adv"],
+ "psint": [
+ "b040ab48833eb2a748f757e2de6929f3002aa98db459ba92bd9a88e443e5cb07",
+ "parasolid",
+ ],
+ "gmvoxel": [
+ "19fba83c9c7eac20d9613236530fbae652dc8edef35233214f0f92b81c91a877",
+ "voxel",
+ ],
+ "msadapt": [
+ "1a752adb6724c3328fffb26f1aebed007d3c2a5df725cd29aa0cf0fdfda1f39a",
+ "base",
+ ],
+ "gmcore": ["ec95bae84b36644e6e04cf0a6b4e813a51990d0a30519176ebb8a05f681af7f2", "base"],
+ "pskrnl": [
+ "7b7b4952513e06c8c23aa8f7c1748f5c199d9af70ea06c4a359412237ed8ac1d",
+ "parasolid",
+ ],
+ },
+ "docs": {
+ "FieldSim": [
+ "5109d91fe61ccdaf0af5aa869aea9c38ec98760746ec3983d100f870cbb1cb63",
+ "base",
+ ],
+ "ParallelMeshSim": [
+ "a1e6618a77022a9580beac4c698dd4b9aa70f617a27db9ce13ab1f2388475290",
+ "parallelmesh",
+ ],
+ "GeomSimAcis": [
+ "f0319b32eb417fa9b237575d9b2dc1c061848888c36fd4da97d97cdbb3cf19c3",
+ "acis",
+ ],
+ "GeomSimAbstract": [
+ "c44023e6944522057c47925db49089031c7de9b67938ca6a987e04fadfeda9b7",
+ "abstract",
+ ],
+ "GeomSimDiscrete": [
+ "ad648752fa7d2dc1ce234a612e28ce84eb1f064a1decadf17b42e9fe56967350",
+ "discrete",
+ ],
+ "MeshSimAdapt": [
+ "dcb7d6ec74c910b41b5ae707d9fd4664fcb3a0fdb2c876caaa28a6f1cf701024",
+ "base",
+ ],
+ "MeshSim": [
+ "e5a8cb300b1e13b9f2733bf8b738872ffb37d9df15836a6ab264483c10000696",
+ "base",
+ ],
+ "GeomSimParasolid": [
+ "2bf33cc5b3879716437d45fde0a02caaa165e37d248d05b4b00708e76573a15e",
+ "parasolid",
+ ],
+ "GeomSimImport": [
+ "5309433dcdce660e062412f070719eefcc6299764e9b0169533ff343c9c9c406",
+ "import",
+ ],
+ "ParallelMeshSimAdapt": [
+ "2e8e0ceede3107b85dba9536f3bbf5e6959793073a5147548cfb01ca568c8da2",
+ "paralleladapt",
+ ],
+ "GeomSimDiscreteModeling": [
+ "ff88ec234b890315cc36539e3f73f4f977dab94160860950e7b7ee0303c9b55e",
+ "discrete",
+ ],
+ "GeomSim": [
+ "62ae33372f999d5e62a1b7b161ddd7de04c055adc85cfd258e088c95b76d5fef",
+ "base",
+ ],
+ "GeomSimVoxel": [
+ "7a624ddaebd833077511acac3efd4b4c1dab09bd9feff40aba0813182eeb262f",
+ "voxel",
+ ],
+ "GeomSimAdvanced": [
+ "f0ab801ddf3d701a4ac3f8c47900cc858a4488eb0fe2f663504ba260cd270d20",
+ "advmodel",
+ ],
+ "MeshSimAdvanced": [
+ "bb532027e4fcc311a7c376383da010aed5ee133a9122b186a4e5c7d0cf1d976b",
+ "adv",
+ ],
},
- 'docs': {
- 'FieldSim': ['5109d91fe61ccdaf0af5aa869aea9c38ec98760746ec3983d100f870cbb1cb63', 'base'],
- 'ParallelMeshSim': ['a1e6618a77022a9580beac4c698dd4b9aa70f617a27db9ce13ab1f2388475290', 'parallelmesh'],
- 'GeomSimAcis': ['f0319b32eb417fa9b237575d9b2dc1c061848888c36fd4da97d97cdbb3cf19c3', 'acis'],
- 'GeomSimAbstract': ['c44023e6944522057c47925db49089031c7de9b67938ca6a987e04fadfeda9b7', 'abstract'],
- 'GeomSimDiscrete': ['ad648752fa7d2dc1ce234a612e28ce84eb1f064a1decadf17b42e9fe56967350', 'discrete'],
- 'MeshSimAdapt': ['dcb7d6ec74c910b41b5ae707d9fd4664fcb3a0fdb2c876caaa28a6f1cf701024', 'base'],
- 'MeshSim': ['e5a8cb300b1e13b9f2733bf8b738872ffb37d9df15836a6ab264483c10000696', 'base'],
- 'GeomSimParasolid': ['2bf33cc5b3879716437d45fde0a02caaa165e37d248d05b4b00708e76573a15e', 'parasolid'],
- 'GeomSimImport': ['5309433dcdce660e062412f070719eefcc6299764e9b0169533ff343c9c9c406', 'import'],
- 'ParallelMeshSimAdapt': ['2e8e0ceede3107b85dba9536f3bbf5e6959793073a5147548cfb01ca568c8da2',
- 'paralleladapt'],
- 'GeomSimDiscreteModeling': ['ff88ec234b890315cc36539e3f73f4f977dab94160860950e7b7ee0303c9b55e', 'discrete'],
- 'GeomSim': ['62ae33372f999d5e62a1b7b161ddd7de04c055adc85cfd258e088c95b76d5fef', 'base'],
- 'GeomSimVoxel': ['7a624ddaebd833077511acac3efd4b4c1dab09bd9feff40aba0813182eeb262f', 'voxel'],
- 'GeomSimAdvanced': ['f0ab801ddf3d701a4ac3f8c47900cc858a4488eb0fe2f663504ba260cd270d20', 'advmodel'],
- 'MeshSimAdvanced': ['bb532027e4fcc311a7c376383da010aed5ee133a9122b186a4e5c7d0cf1d976b', 'adv'],
- }
- }
+ },
]
@@ -173,17 +481,17 @@ def simmetrix_makecomponenturl(name):
def simmetrix_makedocurl(name):
"""doc zip files are not os/arch specific"""
prefix = "file://{0}/".format(os.getcwd())
- suffix = '.zip'
+ suffix = ".zip"
return prefix + name + suffix
def simmetrix_setkernelcmakeprefixpath(spec, path, env):
- if '+acis' in spec:
- env.append_path('CMAKE_PREFIX_PATH', join_path(path, 'acisKrnl'))
- env.append_path('LD_LIBRARY_PATH', join_path(path, 'acisKrnl'))
- if '+parasolid' in spec:
- env.append_path('CMAKE_PREFIX_PATH', join_path(path, 'psKrnl'))
- env.append_path('LD_LIBRARY_PATH', join_path(path, 'psKrnl'))
+ if "+acis" in spec:
+ env.append_path("CMAKE_PREFIX_PATH", join_path(path, "acisKrnl"))
+ env.append_path("LD_LIBRARY_PATH", join_path(path, "acisKrnl"))
+ if "+parasolid" in spec:
+ env.append_path("CMAKE_PREFIX_PATH", join_path(path, "psKrnl"))
+ env.append_path("LD_LIBRARY_PATH", join_path(path, "psKrnl"))
def simmetrix_resource(name, url, sha256, condition):
@@ -192,13 +500,7 @@ def simmetrix_resource(name, url, sha256, condition):
# https://github.com/spack/spack/pull/3553#issuecomment-391424244
# , they cannot be expanded into the source root directory.
# Once this is fixed the 'destination=name' argument can be removed.
- resource(
- name=name,
- url=url,
- sha256=sha256,
- destination=name,
- when=condition
- )
+ resource(name=name, url=url, sha256=sha256, destination=name, when=condition)
class SimmetrixSimmodsuite(Package):
@@ -213,42 +515,47 @@ class SimmetrixSimmodsuite(Package):
of sources
"""
- maintainers = ['cwsmith']
+ maintainers = ["cwsmith"]
homepage = "http://www.simmetrix.com/products/SimulationModelingSuite/main.html"
manual_download = True
license_required = True
- license_vars = ['SIM_LICENSE_FILE']
+ license_vars = ["SIM_LICENSE_FILE"]
- variant('base', default=True, description='enable the base components')
- variant('advmodel', default=False, description='enable advaced modeling')
- variant('abstract', default=False, description='enable abstract modeling')
- variant('voxel', default=False, description='enable voxel modeling')
- variant('discrete', default=False, description='enable discrete modeling')
- variant('acis', default=False, description='enable acis modeling')
- variant('parasolid', default=False, description='enable parasolid modeling')
- variant('opencascade', default=False, when='@16.0-220312:', description='enable opencascade modeling')
- variant('granite', default=False, description='enable granite modeling')
- variant('import', default=False, description='enable import modeling')
- variant('adv', default=False, description='enable advanced meshing')
- variant('parallelmesh', default=False, description='enable parallel meshing')
- variant('paralleladapt', default=False, description='enable parallel adaptation')
+ variant("base", default=True, description="enable the base components")
+ variant("advmodel", default=False, description="enable advaced modeling")
+ variant("abstract", default=False, description="enable abstract modeling")
+ variant("voxel", default=False, description="enable voxel modeling")
+ variant("discrete", default=False, description="enable discrete modeling")
+ variant("acis", default=False, description="enable acis modeling")
+ variant("parasolid", default=False, description="enable parasolid modeling")
+ variant(
+ "opencascade",
+ default=False,
+ when="@16.0-220312:",
+ description="enable opencascade modeling",
+ )
+ variant("granite", default=False, description="enable granite modeling")
+ variant("import", default=False, description="enable import modeling")
+ variant("adv", default=False, description="enable advanced meshing")
+ variant("parallelmesh", default=False, description="enable parallel meshing")
+ variant("paralleladapt", default=False, description="enable parallel adaptation")
- depends_on('mpi')
+ depends_on("mpi")
- oslib = 'x64_rhel7_gcc48'
+ oslib = "x64_rhel7_gcc48"
for release in RELEASES:
# define the version using the mscore tarball
- sim_version = release['version']
- main_pkg_name = 'mscore'
+ sim_version = release["version"]
+ main_pkg_name = "mscore"
url = simmetrix_makecomponenturl(main_pkg_name)
- sha256 = release['components'][main_pkg_name][0]
+ sha256 = release["components"][main_pkg_name][0]
version(sim_version, sha256=sha256, url=url)
# define resources for the other tarballs
- for _name, atts in release['components'].items():
+ for _name, atts in release["components"].items():
# skip the tarball used for the version(...) call
- if _name == 'mscore':
+ if _name == "mscore":
continue
sha256 = atts[0]
feature = atts[1]
@@ -256,7 +563,7 @@ class SimmetrixSimmodsuite(Package):
condition = "@{0}+{1}".format(sim_version, feature)
simmetrix_resource(_name, url, sha256, condition)
# define resources for the document zip files
- for _name, atts in release['docs'].items():
+ for _name, atts in release["docs"].items():
sha256 = atts[0]
feature = atts[1]
url = simmetrix_makedocurl(_name)
@@ -265,56 +572,51 @@ class SimmetrixSimmodsuite(Package):
def setup_dependent_build_environment(self, env, dependent_spec):
archlib = join_path(prefix.lib, self.oslib)
- env.append_path('CMAKE_PREFIX_PATH', archlib)
+ env.append_path("CMAKE_PREFIX_PATH", archlib)
simmetrix_setkernelcmakeprefixpath(self.spec, archlib, env)
def setup_run_environment(self, env):
archlib = join_path(prefix.lib, self.oslib)
- env.append_path('CMAKE_PREFIX_PATH', archlib)
+ env.append_path("CMAKE_PREFIX_PATH", archlib)
simmetrix_setkernelcmakeprefixpath(self.spec, archlib, env)
def install(self, spec, prefix):
- if not spec.satisfies('platform=linux'):
- raise InstallError('Only the linux platform is supported')
+ if not spec.satisfies("platform=linux"):
+ raise InstallError("Only the linux platform is supported")
source_path = self.stage.source_path
for release in RELEASES:
- simversion = release['version']
+ simversion = release["version"]
if simversion != spec.version.string:
continue
- for name, atts in release['components'].items():
+ for name, atts in release["components"].items():
feature = atts[1]
- if '+' + feature in spec:
- if name == 'mscore':
- install_tree(join_path(source_path, 'lib'), prefix.lib)
- install_tree(
- join_path(source_path, 'include'),
- prefix.include)
+ if "+" + feature in spec:
+ if name == "mscore":
+ install_tree(join_path(source_path, "lib"), prefix.lib)
+ install_tree(join_path(source_path, "include"), prefix.include)
else:
- path = join_path(
- source_path,
- name,
- self.version.string)
+ path = join_path(source_path, name, self.version.string)
install_tree(path, prefix)
- for name, atts in release['docs'].items():
+ for name, atts in release["docs"].items():
feature = atts[1]
- if '+' + feature in spec:
- path = join_path(
- source_path,
- name,
- self.version.string)
+ if "+" + feature in spec:
+ path = join_path(source_path, name, self.version.string)
install_tree(path, prefix)
workdir = prefix.code.PartitionWrapper
- if '+parallelmesh' in spec:
+ if "+parallelmesh" in spec:
with working_dir(workdir):
- mpi_id = spec['mpi'].name + spec['mpi'].version.string
+ mpi_id = spec["mpi"].name + spec["mpi"].version.string
# build the wrapper lib
- make("-f", "Makefile.custom",
- "CC=%s" % spec['mpi'].mpicc,
- "CXX=%s" % spec['mpi'].mpicxx,
- "PARALLEL=%s" % mpi_id,
- "PQUAL=-%s" % mpi_id,
- "OPTFLAGS=-O2 -DNDEBUG " + self.compiler.cc_pic_flag)
- libname = 'libSimPartitionWrapper-' + mpi_id + '.a'
- wrapperlibpath = join_path(workdir, 'lib', libname)
+ make(
+ "-f",
+ "Makefile.custom",
+ "CC=%s" % spec["mpi"].mpicc,
+ "CXX=%s" % spec["mpi"].mpicxx,
+ "PARALLEL=%s" % mpi_id,
+ "PQUAL=-%s" % mpi_id,
+ "OPTFLAGS=-O2 -DNDEBUG " + self.compiler.cc_pic_flag,
+ )
+ libname = "libSimPartitionWrapper-" + mpi_id + ".a"
+ wrapperlibpath = join_path(workdir, "lib", libname)
install(wrapperlibpath, join_path(prefix.lib, self.oslib))
diff --git a/var/spack/repos/builtin/packages/simple-dftd3/package.py b/var/spack/repos/builtin/packages/simple-dftd3/package.py
index 29af724a98..c678de9fe7 100644
--- a/var/spack/repos/builtin/packages/simple-dftd3/package.py
+++ b/var/spack/repos/builtin/packages/simple-dftd3/package.py
@@ -12,14 +12,14 @@ class SimpleDftd3(MesonPackage):
"""
homepage = "https://dftd3.readthedocs.io"
- url = "https://github.com/dftd3/simple-dftd3/releases/download/v0.6.0/s-dftd3-0.6.0-source.tar.xz"
+ url = "https://github.com/dftd3/simple-dftd3/releases/download/v0.6.0/s-dftd3-0.6.0-source.tar.xz"
git = "https://github.com/dftd3/simple-dftd3.git"
maintainers = ["awvwgk"]
version("main", branch="main")
- version('0.6.0', 'c057361565f570cb128489c70131487f71b6891a40e5292dfe37041596810dfe')
- version('0.5.1', '0411fdaebe438f652a970cb232ae3199c4cc840366ed05fda4c38e634632040d')
+ version("0.6.0", "c057361565f570cb128489c70131487f71b6891a40e5292dfe37041596810dfe")
+ version("0.5.1", "0411fdaebe438f652a970cb232ae3199c4cc840366ed05fda4c38e634632040d")
variant("openmp", default=True, description="Use OpenMP parallelisation")
variant("python", default=False, description="Build Python extension module")
diff --git a/var/spack/repos/builtin/packages/simplemoc/package.py b/var/spack/repos/builtin/packages/simplemoc/package.py
index 5b2aa23858..3416970b41 100644
--- a/var/spack/repos/builtin/packages/simplemoc/package.py
+++ b/var/spack/repos/builtin/packages/simplemoc/package.py
@@ -9,41 +9,41 @@ from spack.package import *
class Simplemoc(MakefilePackage):
"""The purpose of this mini-app is to demonstrate the performance
- characterterics and viability of the Method of Characteristics (MOC)
- for 3D neutron transport calculations in the context of full scale
- light water reactor simulation."""
+ characterterics and viability of the Method of Characteristics (MOC)
+ for 3D neutron transport calculations in the context of full scale
+ light water reactor simulation."""
homepage = "https://github.com/ANL-CESAR/SimpleMOC/"
url = "https://github.com/ANL-CESAR/SimpleMOC/archive/v4.tar.gz"
- version('4', sha256='a39906014fdb234c43bf26e1919bdc8a13097788812e0b353a492b8e568816a6')
+ version("4", sha256="a39906014fdb234c43bf26e1919bdc8a13097788812e0b353a492b8e568816a6")
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- variant('mpi', default=True, description='Build with MPI support')
+ variant("mpi", default=True, description="Build with MPI support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- build_directory = 'src'
+ build_directory = "src"
@property
def build_targets(self):
targets = []
- cflags = '-std=gnu99'
- ldflags = '-lm'
+ cflags = "-std=gnu99"
+ ldflags = "-lm"
- if self.compiler.name == 'gcc' or self.compiler.name == 'intel':
- cflags += ' ' + self.compiler.openmp_flag
- if '+mpi' in self.spec:
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ if self.compiler.name == "gcc" or self.compiler.name == "intel":
+ cflags += " " + self.compiler.openmp_flag
+ if "+mpi" in self.spec:
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
- targets.append('CFLAGS={0}'.format(cflags))
- targets.append('LDFLAGS={0}'.format(ldflags))
+ targets.append("CFLAGS={0}".format(cflags))
+ targets.append("LDFLAGS={0}".format(ldflags))
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('src/SimpleMOC', prefix.bin)
+ install("src/SimpleMOC", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/simsipm/package.py b/var/spack/repos/builtin/packages/simsipm/package.py
index b82c1f6b9b..af774fd297 100644
--- a/var/spack/repos/builtin/packages/simsipm/package.py
+++ b/var/spack/repos/builtin/packages/simsipm/package.py
@@ -8,31 +8,30 @@ from spack.package import *
class Simsipm(CMakePackage):
"""SimSiPM is a simple and easy to use C++ library providing a set of
- object-oriented tools with all the functionality needed to describe
- and simulate Silicon PhotonMultipliers (SiPM) sensors."""
+ object-oriented tools with all the functionality needed to describe
+ and simulate Silicon PhotonMultipliers (SiPM) sensors."""
- url = "https://github.com/EdoPro98/SimSiPM/archive/refs/tags/v1.2.4.tar.gz"
+ url = "https://github.com/EdoPro98/SimSiPM/archive/refs/tags/v1.2.4.tar.gz"
homepage = "https://github.com/EdoPro98/SimSiPM/"
- git = "https://github.com/EdoPro98/SimSiPM.git"
+ git = "https://github.com/EdoPro98/SimSiPM.git"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('1.2.4', sha256='1c633bebb19c490b5e6dfa5ada4a6bc7ec36348237c2626d57843a25af923211')
+ version("1.2.4", sha256="1c633bebb19c490b5e6dfa5ada4a6bc7ec36348237c2626d57843a25af923211")
- variant('python', default=False, description="Build pybind11-based python bindings")
- variant('openmp', default=False, description="Use OpenMP")
+ variant("python", default=False, description="Build pybind11-based python bindings")
+ variant("openmp", default=False, description="Use OpenMP")
- extends('python', when='+python')
- depends_on('python@3.6:', when="+python", type=('build', 'run'))
- depends_on('py-pybind11', when="+python", type=('build', 'link'))
+ extends("python", when="+python")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pybind11", when="+python", type=("build", "link"))
def cmake_args(self):
args = [
self.define_from_variant("SIPM_BUILD_PYTHON", "python"),
self.define_from_variant("SIPM_ENABLE_OPENMP", "openmp"),
self.define("SIPM_ENABLE_TEST", self.run_tests),
-
]
return args
diff --git a/var/spack/repos/builtin/packages/simul/package.py b/var/spack/repos/builtin/packages/simul/package.py
index b30f93a2ce..e9514befc9 100644
--- a/var/spack/repos/builtin/packages/simul/package.py
+++ b/var/spack/repos/builtin/packages/simul/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Simul(Package):
"""simul is an MPI coordinated test of parallel
- filesystem system calls and library functions. """
+ filesystem system calls and library functions."""
homepage = "https://github.com/LLNL/simul"
- url = "https://github.com/LLNL/simul/archive/1.16.tar.gz"
+ url = "https://github.com/LLNL/simul/archive/1.16.tar.gz"
- version('1.16', sha256='63fce55346b22113f05efe3d1ca6ddbaea5abb959e28b24c6821bce949859a9b')
- version('1.15', sha256='39a2458cd31c9266c58effd598611c610c5a2616ca6a7318f76830d203f3783f')
- version('1.14', sha256='cbc70881b2a03e9a5076dbdf82b6fdfa48351ab381e379935b9c7db0ee315c92')
- version('1.13', sha256='42a67258181fbf723cfe13d4d2dabc5aed0d0daa606b9d817108c354e37d1c64')
+ version("1.16", sha256="63fce55346b22113f05efe3d1ca6ddbaea5abb959e28b24c6821bce949859a9b")
+ version("1.15", sha256="39a2458cd31c9266c58effd598611c610c5a2616ca6a7318f76830d203f3783f")
+ version("1.14", sha256="cbc70881b2a03e9a5076dbdf82b6fdfa48351ab381e379935b9c7db0ee315c92")
+ version("1.13", sha256="42a67258181fbf723cfe13d4d2dabc5aed0d0daa606b9d817108c354e37d1c64")
- depends_on('mpi')
+ depends_on("mpi")
def install(self, spec, prefix):
- filter_file('mpicc', '$(MPICC)', 'Makefile', string=True)
- filter_file('inline void', 'void', 'simul.c', string=True)
- make('simul')
+ filter_file("mpicc", "$(MPICC)", "Makefile", string=True)
+ filter_file("inline void", "void", "simul.c", string=True)
+ make("simul")
mkdirp(prefix.bin)
- install('simul', prefix.bin)
+ install("simul", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/simulationio/package.py b/var/spack/repos/builtin/packages/simulationio/package.py
index ab3d6572e6..12299f7334 100644
--- a/var/spack/repos/builtin/packages/simulationio/package.py
+++ b/var/spack/repos/builtin/packages/simulationio/package.py
@@ -11,43 +11,42 @@ class Simulationio(CMakePackage):
"""SimulationIO: Efficient and convenient I/O for large PDE simulations"""
homepage = "https://github.com/eschnett/SimulationIO"
- url = "https://github.com/eschnett/SimulationIO/archive/version/9.0.1.tar.gz"
- git = "https://github.com/eschnett/SimulationIO.git"
-
- maintainers = ['eschnett']
-
- version('master', branch='master')
- version('9.0.2', sha256='3dd3422e64f6a75215783f6157effd07430e1d0af5884e565f73388a815511f8')
- version('9.0.1', sha256='c2f6c99417165f6eb8cbb9c44822d119586675abb34eabd553eb80f44b53e0c8')
-
- variant('asdf', default=True, description="Enable ASDF bindings")
- variant('julia', default=False, description="Enable Julia bindings")
- variant('python', default=True, description="Enable Python bindings")
- variant('hdf5', default=True, description="Enable HDF5 bindings")
- variant('rnpl', default=False, description="Enable RNPL bindings")
- variant('silo', default=False, description="Enable Silo bindings")
-
- variant('pic', default=True,
- description="Produce position-independent code")
-
- depends_on("asdf-cxx ~python", when='+asdf ~python')
- depends_on("asdf-cxx +python", when='+asdf +python')
- depends_on('hdf5 +cxx @1.10.1:', when='+hdf5')
- depends_on('julia', when='+julia', type=('build', 'run'))
- depends_on('py-h5py', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('python@3:', when='@9: +python', type=('build', 'run'))
- depends_on('python@2.7:2.8', when='@:8 +python', type=('build', 'run'))
- depends_on('rnpletal', when='+rnpl')
- depends_on('silo', when='+silo')
- depends_on('swig', type='build')
-
- extends('python')
+ url = "https://github.com/eschnett/SimulationIO/archive/version/9.0.1.tar.gz"
+ git = "https://github.com/eschnett/SimulationIO.git"
+
+ maintainers = ["eschnett"]
+
+ version("master", branch="master")
+ version("9.0.2", sha256="3dd3422e64f6a75215783f6157effd07430e1d0af5884e565f73388a815511f8")
+ version("9.0.1", sha256="c2f6c99417165f6eb8cbb9c44822d119586675abb34eabd553eb80f44b53e0c8")
+
+ variant("asdf", default=True, description="Enable ASDF bindings")
+ variant("julia", default=False, description="Enable Julia bindings")
+ variant("python", default=True, description="Enable Python bindings")
+ variant("hdf5", default=True, description="Enable HDF5 bindings")
+ variant("rnpl", default=False, description="Enable RNPL bindings")
+ variant("silo", default=False, description="Enable Silo bindings")
+
+ variant("pic", default=True, description="Produce position-independent code")
+
+ depends_on("asdf-cxx ~python", when="+asdf ~python")
+ depends_on("asdf-cxx +python", when="+asdf +python")
+ depends_on("hdf5 +cxx @1.10.1:", when="+hdf5")
+ depends_on("julia", when="+julia", type=("build", "run"))
+ depends_on("py-h5py", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("python@3:", when="@9: +python", type=("build", "run"))
+ depends_on("python@2.7:2.8", when="@:8 +python", type=("build", "run"))
+ depends_on("rnpletal", when="+rnpl")
+ depends_on("silo", when="+silo")
+ depends_on("swig", type="build")
+
+ extends("python")
def cmake_args(self):
spec = self.spec
options = []
- if '+pic' in spec:
+ if "+pic" in spec:
options.append("-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true")
return options
diff --git a/var/spack/repos/builtin/packages/sina/package.py b/var/spack/repos/builtin/packages/sina/package.py
index b28cbb6a65..ad5ad2e744 100644
--- a/var/spack/repos/builtin/packages/sina/package.py
+++ b/var/spack/repos/builtin/packages/sina/package.py
@@ -11,69 +11,59 @@ from spack.package import *
class Sina(CachedCMakePackage):
"""Sina C++ Library"""
- homepage = 'https://github.com/LLNL/Sina'
- url = 'https://github.com/LLNL/Sina/releases/download/v1.10.0/sina-cpp-1.10.0.tar.gz'
+ homepage = "https://github.com/LLNL/Sina"
+ url = "https://github.com/LLNL/Sina/releases/download/v1.10.0/sina-cpp-1.10.0.tar.gz"
maintainers = [
- 'estebanpauli',
- 'HaluskaR',
- 'murray55',
+ "estebanpauli",
+ "HaluskaR",
+ "murray55",
]
- version('1.11.0', sha256='a080f6583101696a6354940f00646ef892e1b2f8fc3f1b1907ba1c3ade6d4b47')
- version('1.10.0', sha256='b34379ce8cc5eca5a0f16893053fac75be14c2109d1beed4c6d48e11f9b281c7')
+ version("1.11.0", sha256="a080f6583101696a6354940f00646ef892e1b2f8fc3f1b1907ba1c3ade6d4b47")
+ version("1.10.0", sha256="b34379ce8cc5eca5a0f16893053fac75be14c2109d1beed4c6d48e11f9b281c7")
- variant('docs', default=False,
- description='Allow generating documentation')
- variant('adiak', default=False,
- description='Create interface for calling Sina through Adiak')
- variant('test', default=False,
- description='Build tests')
+ variant("docs", default=False, description="Allow generating documentation")
+ variant("adiak", default=False, description="Create interface for calling Sina through Adiak")
+ variant("test", default=False, description="Build tests")
- depends_on('cmake@3.8.0:', type='build')
- depends_on('adiak', when='+adiak')
- depends_on('doxygen', type='build', when='+docs')
- depends_on('conduit')
+ depends_on("cmake@3.8.0:", type="build")
+ depends_on("adiak", when="+adiak")
+ depends_on("doxygen", type="build", when="+docs")
+ depends_on("conduit")
def cmake_args(self):
return [
- self.define_from_variant('-DSINA_BUILD_ADIAK_BINDINGS', 'adiak'),
- self.define_from_variant('-DSINA_BUILD_TESTS', 'test'),
- self.define_from_variant('-DSINA_BUILD_DOCS', 'docs'),
+ self.define_from_variant("-DSINA_BUILD_ADIAK_BINDINGS", "adiak"),
+ self.define_from_variant("-DSINA_BUILD_TESTS", "test"),
+ self.define_from_variant("-DSINA_BUILD_DOCS", "docs"),
]
def initconfig_package_entries(self):
- entries = [
- '#' + 78 * '-',
- '# Library Dependencies',
- '#' + 78 * '-'
- ]
+ entries = ["#" + 78 * "-", "# Library Dependencies", "#" + 78 * "-"]
- conduit_dir = self.spec['conduit'].prefix
- entries.append(cmake_cache_path(
- 'Conduit_DIR',
- '%s/lib/cmake/conduit' % conduit_dir))
+ conduit_dir = self.spec["conduit"].prefix
+ entries.append(cmake_cache_path("Conduit_DIR", "%s/lib/cmake/conduit" % conduit_dir))
- use_adiak = self.spec.satisfies('^adiak')
- entries.append(cmake_cache_option('SINA_BUILD_ADIAK_BINDINGS', use_adiak))
+ use_adiak = self.spec.satisfies("^adiak")
+ entries.append(cmake_cache_option("SINA_BUILD_ADIAK_BINDINGS", use_adiak))
if use_adiak:
- adiak_dir = self.spec['adiak'].prefix
- entries.append(cmake_cache_path(
- 'adiak_DIR',
- '%s/lib/cmake/adiak/' % adiak_dir))
+ adiak_dir = self.spec["adiak"].prefix
+ entries.append(cmake_cache_path("adiak_DIR", "%s/lib/cmake/adiak/" % adiak_dir))
- entries.append('#' + 78 * '-')
- entries.append('# Devtools')
- entries.append('#' + 78 * '-')
+ entries.append("#" + 78 * "-")
+ entries.append("# Devtools")
+ entries.append("#" + 78 * "-")
- build_tests = self.spec.satisfies('+test')
- entries.append(cmake_cache_option('SINA_BUILD_TESTS', build_tests))
+ build_tests = self.spec.satisfies("+test")
+ entries.append(cmake_cache_option("SINA_BUILD_TESTS", build_tests))
- build_docs = self.spec.satisfies('+docs')
- entries.append(cmake_cache_option('SINA_BUILD_DOCS', build_docs))
+ build_docs = self.spec.satisfies("+docs")
+ entries.append(cmake_cache_option("SINA_BUILD_DOCS", build_docs))
if build_docs:
- doxygen_bin_dir = self.spec['doxygen'].prefix.bin
- entries.append(cmake_cache_path(
- 'DOXYGEN_EXECUTABLE', os.path.join(doxygen_bin_dir, 'doxygen')))
+ doxygen_bin_dir = self.spec["doxygen"].prefix.bin
+ entries.append(
+ cmake_cache_path("DOXYGEN_EXECUTABLE", os.path.join(doxygen_bin_dir, "doxygen"))
+ )
return entries
diff --git a/var/spack/repos/builtin/packages/singularity-eos/package.py b/var/spack/repos/builtin/packages/singularity-eos/package.py
index d1ce8539ed..231ebbc369 100644
--- a/var/spack/repos/builtin/packages/singularity-eos/package.py
+++ b/var/spack/repos/builtin/packages/singularity-eos/package.py
@@ -12,18 +12,20 @@ class SingularityEos(CMakePackage, CudaPackage):
"""Singularity-EOS: A collection of closure models and tools useful for
multiphysics codes."""
- homepage = "https://lanl.github.io/singularity-eos/main/index.html"
- git = "https://github.com/lanl/singularity-eos.git"
- url = "https://github.com/lanl/singularity-eos/archive/refs/tags/release-1.6.1.tar.gz"
+ homepage = "https://lanl.github.io/singularity-eos/main/index.html"
+ git = "https://github.com/lanl/singularity-eos.git"
+ url = "https://github.com/lanl/singularity-eos/archive/refs/tags/release-1.6.1.tar.gz"
- maintainers = ['rbberger']
+ maintainers = ["rbberger"]
version("main", branch="main")
- version('1.6.1', sha256='c6d92dfecf9689ffe2df615791c039f7e527e9f47799a862e26fa4e3420fe5d7')
+ version("1.6.1", sha256="c6d92dfecf9689ffe2df615791c039f7e527e9f47799a862e26fa4e3420fe5d7")
# build with kokkos, kokkos-kernels for offloading support
variant("kokkos", default=False, description="Enable kokkos")
- variant("kokkos-kernels", default=False, description="Enable kokkos-kernals for linear algebra")
+ variant(
+ "kokkos-kernels", default=False, description="Enable kokkos-kernals for linear algebra"
+ )
variant("openmp", default=False, description="Enable openmp")
@@ -31,7 +33,11 @@ class SingularityEos(CMakePackage, CudaPackage):
variant("mpi", default=False, description="Build with MPI support")
# build converters for sesame, stellarcollapse eos's
- variant("build_extra", description="Build converters", values=any_combination_of("sesame", "stellarcollapse").with_default("none"))
+ variant(
+ "build_extra",
+ description="Build converters",
+ values=any_combination_of("sesame", "stellarcollapse").with_default("none"),
+ )
# build tests
variant("tests", default=False, description="Build tests")
@@ -54,11 +60,11 @@ class SingularityEos(CMakePackage, CudaPackage):
depends_on("cmake@3.14:")
depends_on("catch2@2.13.7", when="+tests")
depends_on("python@3:", when="+python")
-# depends_on("py-h5py", when="+tests build_extra=stellarcollapse")
+ # depends_on("py-h5py", when="+tests build_extra=stellarcollapse")
depends_on("py-sphinx", when="+doc")
depends_on("py-sphinx-rtd-theme@0.4.3", when="+doc")
depends_on("py-sphinx-multiversion", when="+doc")
- depends_on('llvm@12.0.0+clang', when='+format')
+ depends_on("llvm@12.0.0+clang", when="+format")
# linear algebra when not using GPUs
depends_on("eigen@3.3.8", when="~cuda")
@@ -68,10 +74,14 @@ class SingularityEos(CMakePackage, CudaPackage):
depends_on("spiner +kokkos", when="+kokkos")
depends_on("mpark-variant")
- depends_on("mpark-variant",
- patches=patch("https://raw.githubusercontent.com/lanl/singularity-eos/main/utils/cuda_compatibility.patch",
- sha256="7b3eaa52b5ab23dc45fbfb456528e36742e04b838a5df859eca96c4e8274bb38"),
- when="+cuda")
+ depends_on(
+ "mpark-variant",
+ patches=patch(
+ "https://raw.githubusercontent.com/lanl/singularity-eos/main/utils/cuda_compatibility.patch",
+ sha256="7b3eaa52b5ab23dc45fbfb456528e36742e04b838a5df859eca96c4e8274bb38",
+ ),
+ when="+cuda",
+ )
# set up kokkos offloading dependencies
for _flag in ("~cuda", "+cuda", "~openmp", "+openmp"):
@@ -105,7 +115,7 @@ class SingularityEos(CMakePackage, CudaPackage):
for _flag in ("~mpi", "+mpi"):
depends_on("hdf5~cxx+hl" + _flag, when=_flag)
depends_on("py-h5py" + _flag, when="+tests build_extra=stellarcollapse " + _flag)
-# depends_on("hdf5+hl" + _flag, when=_flag)
+ # depends_on("hdf5+hl" + _flag, when=_flag)
depends_on("py-h5py" + _flag, when=_flag)
depends_on("kokkos-nvcc-wrapper" + _flag, when="+cuda+kokkos" + _flag)
@@ -119,25 +129,30 @@ class SingularityEos(CMakePackage, CudaPackage):
self.define_from_variant("SINGULARITY_BUILD_CLOSURE", "fortran"),
self.define_from_variant("SINGULARITY_BUILD_PYTHON", "python"),
self.define_from_variant("SINGULARITY_BUILD_TESTS", "tests"),
- self.define("SINGULARITY_BUILD_SESAME2SPINER",
- "sesame" in self.spec.variants["build_extra"]),
- self.define("SINGULARITY_TEST_SESAME",
- ("sesame" in self.spec.variants["build_extra"] and
- "tests" in self.spec)),
- self.define("SINGULARITY_BUILD_STELLARCOLLAPSE2SPINER",
- "stellarcollapse" in self.spec.variants["build_extra"]),
- self.define("SINGULARITY_TEST_STELLARCOLLAPSE2SPINER",
- ("stellarcollapse" in self.spec.variants["build_extra"] and
- "tests" in self.spec)),
- self.define("SINGULARITY_TEST_PYTHON",
- ("python" in self.spec and "tests" in self.spec)),
+ self.define(
+ "SINGULARITY_BUILD_SESAME2SPINER", "sesame" in self.spec.variants["build_extra"]
+ ),
+ self.define(
+ "SINGULARITY_TEST_SESAME",
+ ("sesame" in self.spec.variants["build_extra"] and "tests" in self.spec),
+ ),
+ self.define(
+ "SINGULARITY_BUILD_STELLARCOLLAPSE2SPINER",
+ "stellarcollapse" in self.spec.variants["build_extra"],
+ ),
+ self.define(
+ "SINGULARITY_TEST_STELLARCOLLAPSE2SPINER",
+ ("stellarcollapse" in self.spec.variants["build_extra"] and "tests" in self.spec),
+ ),
+ self.define(
+ "SINGULARITY_TEST_PYTHON", ("python" in self.spec and "tests" in self.spec)
+ ),
self.define("SINGULARITY_USE_HDF5", "^hdf5" in self.spec),
- self.define("SINGULARITY_USE_EOSPAC", "^eospac" in self.spec)
+ self.define("SINGULARITY_USE_EOSPAC", "^eospac" in self.spec),
]
- if '+kokkos+cuda' in self.spec:
- args.append(self.define("CMAKE_CXX_COMPILER",
- self.spec["kokkos"].kokkos_cxx))
+ if "+kokkos+cuda" in self.spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", self.spec["kokkos"].kokkos_cxx))
return args
@@ -149,7 +164,7 @@ class SingularityEos(CMakePackage, CudaPackage):
# generate the pre-configured cmake cache file that reflects the spec options
# NOTE: this file isn't replaced if the same spec is already installed -
# you may need to uninstall the old spec first
- @run_after('cmake')
+ @run_after("cmake")
def generate_cmake_configuration(self):
config_fname = self.cmake_config_fname
cmake_config = self.cmake_args()
@@ -159,23 +174,24 @@ class SingularityEos(CMakePackage, CudaPackage):
for arg in cmake_config:
kt, v = arg.replace("-D", "").split("=")
k, t = kt.split(":")
- cmc.write("set({} \"{}\" CACHE {} \"\" FORCE)\n".format(k, v, t))
+ cmc.write('set({} "{}" CACHE {} "" FORCE)\n'.format(k, v, t))
install(config_fname, join_path(prefix, config_fname))
# run when loaded
# NOTE: to use:
# cmake -C $SINGULARITY_SPACK_CMAKE_CONFIG ...
def setup_run_environment(self, env):
- env.set("SINGULARITY_SPACK_CMAKE_CONFIG",
- os.path.join(self.prefix, self.cmake_config_fname))
+ env.set(
+ "SINGULARITY_SPACK_CMAKE_CONFIG", os.path.join(self.prefix, self.cmake_config_fname)
+ )
if os.path.isdir(self.prefix.lib64):
lib_dir = self.prefix.lib64
else:
lib_dir = self.prefix.lib
- if '+python' in self.spec:
- python_version = self.spec['python'].version.up_to(2)
- python_inst_dir = join_path(lib_dir,
- 'python{0}'.format(python_version),
- 'site-packages')
- env.prepend_path('PYTHONPATH', python_inst_dir)
+ if "+python" in self.spec:
+ python_version = self.spec["python"].version.up_to(2)
+ python_inst_dir = join_path(
+ lib_dir, "python{0}".format(python_version), "site-packages"
+ )
+ env.prepend_path("PYTHONPATH", python_inst_dir)
diff --git a/var/spack/repos/builtin/packages/singularity-legacy/package.py b/var/spack/repos/builtin/packages/singularity-legacy/package.py
index 2515aff47b..0a68c5023c 100644
--- a/var/spack/repos/builtin/packages/singularity-legacy/package.py
+++ b/var/spack/repos/builtin/packages/singularity-legacy/package.py
@@ -8,29 +8,41 @@ from spack.package import *
class SingularityLegacy(AutotoolsPackage):
"""Singularity is a container platform focused on supporting 'Mobility of
- Compute'. The software changed the installation method from AutoTools
- to GoLang, so we have two separate package names to support that. The
- legacy package is pre-version 3.0.0
+ Compute'. The software changed the installation method from AutoTools
+ to GoLang, so we have two separate package names to support that. The
+ legacy package is pre-version 3.0.0
"""
homepage = "https://sylabs.io/singularity/"
- url = "https://github.com/hpcng/singularity/releases/download/2.5.2/singularity-2.5.2.tar.gz"
- git = "https://github.com/hpcng/singularity.git"
+ url = "https://github.com/hpcng/singularity/releases/download/2.5.2/singularity-2.5.2.tar.gz"
+ git = "https://github.com/hpcng/singularity.git"
# Versions before 2.5.2 suffer from a serious security problem.
# https://nvd.nist.gov/vuln/detail/CVE-2018-12021
- version('2.6-release', branch='vault/2.6-release', deprecated=True)
- version('2.6.1', sha256='f38d46a225e8368eb4693137806d2dc96e925a50bdf7f6983662848831041df2', deprecated=True)
- version('2.6.0', sha256='7c425211a099f6fa6f74037e6e17be58fb5923b0bd11aea745e48ef83c488b49', deprecated=True)
- version('2.5.2', sha256='eca09dbf4de5e971404a31f24d6c90081aef77075f51be8b3eb15b8715d6805e', deprecated=True)
+ version("2.6-release", branch="vault/2.6-release", deprecated=True)
+ version(
+ "2.6.1",
+ sha256="f38d46a225e8368eb4693137806d2dc96e925a50bdf7f6983662848831041df2",
+ deprecated=True,
+ )
+ version(
+ "2.6.0",
+ sha256="7c425211a099f6fa6f74037e6e17be58fb5923b0bd11aea745e48ef83c488b49",
+ deprecated=True,
+ )
+ version(
+ "2.5.2",
+ sha256="eca09dbf4de5e971404a31f24d6c90081aef77075f51be8b3eb15b8715d6805e",
+ deprecated=True,
+ )
- depends_on('libarchive', when='@2.5.2:')
+ depends_on("libarchive", when="@2.5.2:")
# these are only needed if we're grabbing the unreleased tree
- depends_on('m4', type='build', when='@2.6-release')
- depends_on('autoconf', type='build', when='@2.6-release')
- depends_on('automake', type='build', when='@2.6-release')
- depends_on('libtool', type='build', when='@2.6-release')
+ depends_on("m4", type="build", when="@2.6-release")
+ depends_on("autoconf", type="build", when="@2.6-release")
+ depends_on("automake", type="build", when="@2.6-release")
+ depends_on("libtool", type="build", when="@2.6-release")
# When installing as root, the copy has to run before chmod runs
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/singularity/package.py b/var/spack/repos/builtin/packages/singularity/package.py
index 321c08716d..2d6bf2faec 100644
--- a/var/spack/repos/builtin/packages/singularity/package.py
+++ b/var/spack/repos/builtin/packages/singularity/package.py
@@ -8,42 +8,43 @@ from spack.pkg.builtin.singularityce import SingularityBase
class Singularity(SingularityBase):
- '''Singularity is a container technology focused on building portable
- encapsulated environments to support "Mobility of Compute" For older
- versions of Singularity (pre 3.0) you should use singularity-legacy,
- which has a different install base (Autotools).
+ """Singularity is a container technology focused on building portable
+ encapsulated environments to support "Mobility of Compute" For older
+ versions of Singularity (pre 3.0) you should use singularity-legacy,
+ which has a different install base (Autotools).
- Needs post-install chmod/chown steps to enable full functionality.
- See package definition or `spack-build-out.txt` build log for details,
- e.g.
+ Needs post-install chmod/chown steps to enable full functionality.
+ See package definition or `spack-build-out.txt` build log for details,
+ e.g.
+
+ tail -15 $(spack location -i singularity)/.spack/spack-build-out.txt
+ """
- tail -15 $(spack location -i singularity)/.spack/spack-build-out.txt
- '''
homepage = "https://singularity.hpcng.org/"
- git = "https://github.com/hpcng/singularity.git"
- url = "https://github.com/hpcng/singularity/releases/download/v3.8.5/singularity-3.8.5.tar.gz"
-
- maintainers = ['alalazo']
-
- version('master', branch='master')
- version('3.8.5', sha256='7fff78b5c07b5d4d08269bd267ac5e994390f933321e54efd6b7c86683153ce4')
- version('3.8.3', sha256='2e22eb9ee1b73fdd51b8783149f0e4d83c0d2d8a0c1edf6034157d50eeefb835')
- version('3.8.0', sha256='e9608b0e0a8c805218bbe795e9176484837b2f7fcb95e5469b853b3809a2412e')
- version('3.7.4', sha256='c266369a8bf2747f44e0759858c3fc3b2325b975a8818b2668f0b97b124d0164')
- version('3.7.3', sha256='6667eb8875d2b66d73504f40c956b42b1351744f488d164204376215d885da5c')
- version('3.7.2', sha256='36916222e26fb934404f0766e0ff368edac36d7fc31ca571f5f609466609066b')
- version('3.7.1', sha256='82d2c65063560195ec34551931be3c325b95e8e2009e92755fd7daad346e083c')
- version('3.7.0', sha256='fb96aaf5f462a56a4a5bd2951287bcbbefe8cf543e228e4e955428f386a8d478')
- version('3.6.4', sha256='71233a81d6bb4d686d8dc636b3e3e962a372f54001921c89a12b062cefd9e79f')
- version('3.6.3', sha256='b1a985757a9907d8db0f102fc170a25387e715f7ff31957be964bf47914ea2fd')
- version('3.6.2', sha256='dfd7ec7376ca0321c47787388fb3e781034edf99068f66efc36109e516024d9b')
- version('3.6.1', sha256='6cac56106ee7f209150aaee9f8788d03b58796af1b767245d343f0b8a691121c')
- version('3.5.3', sha256='0c76f1e3808bf4c10e92b17150314b2b816be79f8101be448a6e9d7a96c9e486')
- version('3.5.2', sha256='f9c21e289377a4c40ed7a78a0c95e1ff416dec202ed49a6c616dd2c37700eab8')
- version('3.4.1', sha256='638fd7cc5ab2a20e779b8768f73baf21909148339d6c4edf6ff61349c53a70c2')
- version('3.4.0', sha256='eafb27f1ffbed427922ebe2b5b95d1c9c09bfeb897518867444fe230e3e35e41')
- version('3.3.0', sha256='070530a472e7e78492f1f142c8d4b77c64de4626c4973b0589f0d18e1fcf5b4f')
- version('3.2.1', sha256='d4388fb5f7e0083f0c344354c9ad3b5b823e2f3f27980e56efa7785140c9b616')
- version('3.1.1', sha256='7f0df46458d8894ba0c2071b0848895304ae6b1137d3d4630f1600ed8eddf1a4')
-
- patch('singularity_v3.4.0_remove_root_check.patch', level=0, when='@3.4.0:3.4.1')
+ git = "https://github.com/hpcng/singularity.git"
+ url = "https://github.com/hpcng/singularity/releases/download/v3.8.5/singularity-3.8.5.tar.gz"
+
+ maintainers = ["alalazo"]
+
+ version("master", branch="master")
+ version("3.8.5", sha256="7fff78b5c07b5d4d08269bd267ac5e994390f933321e54efd6b7c86683153ce4")
+ version("3.8.3", sha256="2e22eb9ee1b73fdd51b8783149f0e4d83c0d2d8a0c1edf6034157d50eeefb835")
+ version("3.8.0", sha256="e9608b0e0a8c805218bbe795e9176484837b2f7fcb95e5469b853b3809a2412e")
+ version("3.7.4", sha256="c266369a8bf2747f44e0759858c3fc3b2325b975a8818b2668f0b97b124d0164")
+ version("3.7.3", sha256="6667eb8875d2b66d73504f40c956b42b1351744f488d164204376215d885da5c")
+ version("3.7.2", sha256="36916222e26fb934404f0766e0ff368edac36d7fc31ca571f5f609466609066b")
+ version("3.7.1", sha256="82d2c65063560195ec34551931be3c325b95e8e2009e92755fd7daad346e083c")
+ version("3.7.0", sha256="fb96aaf5f462a56a4a5bd2951287bcbbefe8cf543e228e4e955428f386a8d478")
+ version("3.6.4", sha256="71233a81d6bb4d686d8dc636b3e3e962a372f54001921c89a12b062cefd9e79f")
+ version("3.6.3", sha256="b1a985757a9907d8db0f102fc170a25387e715f7ff31957be964bf47914ea2fd")
+ version("3.6.2", sha256="dfd7ec7376ca0321c47787388fb3e781034edf99068f66efc36109e516024d9b")
+ version("3.6.1", sha256="6cac56106ee7f209150aaee9f8788d03b58796af1b767245d343f0b8a691121c")
+ version("3.5.3", sha256="0c76f1e3808bf4c10e92b17150314b2b816be79f8101be448a6e9d7a96c9e486")
+ version("3.5.2", sha256="f9c21e289377a4c40ed7a78a0c95e1ff416dec202ed49a6c616dd2c37700eab8")
+ version("3.4.1", sha256="638fd7cc5ab2a20e779b8768f73baf21909148339d6c4edf6ff61349c53a70c2")
+ version("3.4.0", sha256="eafb27f1ffbed427922ebe2b5b95d1c9c09bfeb897518867444fe230e3e35e41")
+ version("3.3.0", sha256="070530a472e7e78492f1f142c8d4b77c64de4626c4973b0589f0d18e1fcf5b4f")
+ version("3.2.1", sha256="d4388fb5f7e0083f0c344354c9ad3b5b823e2f3f27980e56efa7785140c9b616")
+ version("3.1.1", sha256="7f0df46458d8894ba0c2071b0848895304ae6b1137d3d4630f1600ed8eddf1a4")
+
+ patch("singularity_v3.4.0_remove_root_check.patch", level=0, when="@3.4.0:3.4.1")
diff --git a/var/spack/repos/builtin/packages/singularityce/package.py b/var/spack/repos/builtin/packages/singularityce/package.py
index a87dfa7a95..7133febaf6 100644
--- a/var/spack/repos/builtin/packages/singularityce/package.py
+++ b/var/spack/repos/builtin/packages/singularityce/package.py
@@ -12,24 +12,24 @@ from spack.package import *
class SingularityBase(MakefilePackage):
- variant('suid', default=True, description='install SUID binary')
- variant('network', default=True, description='install network plugins')
+ variant("suid", default=True, description="install SUID binary")
+ variant("network", default=True, description="install network plugins")
- depends_on('pkgconfig', type='build')
- depends_on('go@1.16:')
- depends_on('uuid')
- depends_on('libgpg-error')
- depends_on('libseccomp')
- depends_on('squashfs', type='run')
- depends_on('git', when='@develop') # mconfig uses it for version info
- depends_on('shadow', type='run', when='@3.3:')
- depends_on('cryptsetup', type=('build', 'run'), when='@3.4:')
+ depends_on("pkgconfig", type="build")
+ depends_on("go@1.16:")
+ depends_on("uuid")
+ depends_on("libgpg-error")
+ depends_on("libseccomp")
+ depends_on("squashfs", type="run")
+ depends_on("git", when="@develop") # mconfig uses it for version info
+ depends_on("shadow", type="run", when="@3.3:")
+ depends_on("cryptsetup", type=("build", "run"), when="@3.4:")
- conflicts('platform=darwin', msg='singularity requires a Linux VM on Windows & Mac')
+ conflicts("platform=darwin", msg="singularity requires a Linux VM on Windows & Mac")
# Use these properties to buffer the renaming to Apptainer
- singularity_org = 'sylabs'
- singularity_name = 'singularity'
+ singularity_org = "sylabs"
+ singularity_name = "singularity"
singularity_security_urls = (
"https://sylabs.io/guides/2.6/admin-guide/security.html",
"https://sylabs.io/guides/3.2/admin-guide/admin_quickstart.html#singularity-security",
@@ -44,8 +44,9 @@ class SingularityBase(MakefilePackage):
@property
def singularity_gopath_dir(self):
- return join_path(self.gopath, 'src', 'github.com',
- self.singularity_org, self.singularity_name)
+ return join_path(
+ self.gopath, "src", "github.com", self.singularity_org, self.singularity_name
+ )
# Unpack the tarball as usual, then move the src dir into
# its home within GOPATH.
@@ -53,8 +54,9 @@ class SingularityBase(MakefilePackage):
super(SingularityBase, self).do_stage(mirror_only)
if not os.path.exists(self.singularity_gopath_dir):
# Move the expanded source to its destination
- tty.debug("Moving {0} to {1}".format(
- self.stage.source_path, self.singularity_gopath_dir))
+ tty.debug(
+ "Moving {0} to {1}".format(self.stage.source_path, self.singularity_gopath_dir)
+ )
shutil.move(self.stage.source_path, self.singularity_gopath_dir)
# The build process still needs access to the source path,
@@ -69,35 +71,35 @@ class SingularityBase(MakefilePackage):
# Hijack the edit stage to run mconfig.
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- confstring = './mconfig --prefix=%s' % prefix
- if '~suid' in spec:
- confstring += ' --without-suid'
- if '~network' in spec:
- confstring += ' --without-network'
+ confstring = "./mconfig --prefix=%s" % prefix
+ if "~suid" in spec:
+ confstring += " --without-suid"
+ if "~network" in spec:
+ confstring += " --without-network"
configure = Executable(confstring)
configure()
# Set these for use by MakefilePackage's default build/install methods.
- build_targets = ['-C', 'builddir', 'parallel=False']
- install_targets = ['install', '-C', 'builddir', 'parallel=False']
+ build_targets = ["-C", "builddir", "parallel=False"]
+ install_targets = ["install", "-C", "builddir", "parallel=False"]
def setup_build_environment(self, env):
# Point GOPATH at the top of the staging dir for the build step.
- env.prepend_path('GOPATH', self.gopath)
+ env.prepend_path("GOPATH", self.gopath)
# `singularity` has a fixed path where it will look for
# mksquashfs. If it lives somewhere else you need to specify the
# full path in the config file. This bit uses filter_file to edit
# the config file, uncommenting and setting the mksquashfs path.
- @run_after('install')
+ @run_after("install")
def fix_mksquashfs_path(self):
prefix = self.spec.prefix
- squash_path = join_path(self.spec['squashfs'].prefix.bin, 'mksquashfs')
- filter_file(r'^# mksquashfs path =',
- 'mksquashfs path = {0}'.format(squash_path),
- join_path(prefix.etc,
- self.singularity_name,
- self.singularity_name + '.conf'))
+ squash_path = join_path(self.spec["squashfs"].prefix.bin, "mksquashfs")
+ filter_file(
+ r"^# mksquashfs path =",
+ "mksquashfs path = {0}".format(squash_path),
+ join_path(prefix.etc, self.singularity_name, self.singularity_name + ".conf"),
+ )
#
# Assemble a script that fixes the ownership and permissions of several
@@ -105,7 +107,7 @@ class SingularityBase(MakefilePackage):
# HEADSUP: https://github.com/spack/spack/pull/10412.
#
def perm_script(self):
- return 'spack_perms_fix.sh'
+ return "spack_perms_fix.sh"
def perm_script_tmpl(self):
return "{0}.j2".format(self.perm_script())
@@ -114,39 +116,43 @@ class SingularityBase(MakefilePackage):
return join_path(self.spec.prefix.bin, self.perm_script())
def _build_script(self, filename, variable_data):
- with open(filename, 'w') as f:
+ with open(filename, "w") as f:
env = spack.tengine.make_environment(dirs=self.package_dir)
t = env.get_template(self.perm_script_tmpl())
f.write(t.render(variable_data))
- @run_after('install')
+ @run_after("install")
def build_perms_script(self):
- if self.spec.satisfies('+suid'):
+ if self.spec.satisfies("+suid"):
script = self.perm_script_path()
chown_files = [
fn.format(self.singularity_name)
- for fn in ['libexec/{0}/bin/starter-suid',
- 'etc/{0}/{0}.conf',
- 'etc/{0}/capability.json',
- 'etc/{0}/ecl.toml']
+ for fn in [
+ "libexec/{0}/bin/starter-suid",
+ "etc/{0}/{0}.conf",
+ "etc/{0}/capability.json",
+ "etc/{0}/ecl.toml",
+ ]
]
- setuid_files = [
- 'libexec/{0}/bin/starter-suid'.format(
- self.singularity_name
- )
- ]
- self._build_script(script, {'prefix': self.spec.prefix,
- 'chown_files': chown_files,
- 'setuid_files': setuid_files})
- chmod = which('chmod')
- chmod('555', script)
+ setuid_files = ["libexec/{0}/bin/starter-suid".format(self.singularity_name)]
+ self._build_script(
+ script,
+ {
+ "prefix": self.spec.prefix,
+ "chown_files": chown_files,
+ "setuid_files": setuid_files,
+ },
+ )
+ chmod = which("chmod")
+ chmod("555", script)
# Until tty output works better from build steps, this ends up in
# the build log. See https://github.com/spack/spack/pull/10412.
- @run_after('install')
+ @run_after("install")
def caveats(self):
- if self.spec.satisfies('+suid'):
- tty.warn("""
+ if self.spec.satisfies("+suid"):
+ tty.warn(
+ """
For full functionality, you'll need to chown and chmod some files
after installing the package. This has security implications.
For details, see:
@@ -159,29 +165,31 @@ class SingularityBase(MakefilePackage):
The script is named:
{0}
- """.format(self.perm_script_path(),
- *self.singularity_security_urls))
+ """.format(
+ self.perm_script_path(), *self.singularity_security_urls
+ )
+ )
class Singularityce(SingularityBase):
- '''Singularity is a container technology focused on building portable
- encapsulated environments to support "Mobility of Compute" For older
- versions of Singularity (pre 3.0) you should use singularity-legacy,
- which has a different install base (Autotools).
+ """Singularity is a container technology focused on building portable
+ encapsulated environments to support "Mobility of Compute" For older
+ versions of Singularity (pre 3.0) you should use singularity-legacy,
+ which has a different install base (Autotools).
- Needs post-install chmod/chown steps to enable full functionality.
- See package definition or `spack-build-out.txt` build log for details,
- e.g.
+ Needs post-install chmod/chown steps to enable full functionality.
+ See package definition or `spack-build-out.txt` build log for details,
+ e.g.
- tail -15 $(spack location -i singularity)/.spack/spack-build-out.txt
- '''
+ tail -15 $(spack location -i singularity)/.spack/spack-build-out.txt
+ """
homepage = "https://sylabs.io/singularity/"
- url = "https://github.com/sylabs/singularity/releases/download/v3.9.1/singularity-ce-3.9.1.tar.gz"
- git = "https://github.com/sylabs/singularity.git"
+ url = "https://github.com/sylabs/singularity/releases/download/v3.9.1/singularity-ce-3.9.1.tar.gz"
+ git = "https://github.com/sylabs/singularity.git"
- maintainers = ['alalazo']
- version('master', branch='master')
+ maintainers = ["alalazo"]
+ version("master", branch="master")
- version('3.9.1', sha256='1ba3bb1719a420f48e9b0a6afdb5011f6c786d0f107ef272528c632fff9fd153')
- version('3.8.0', sha256='5fa2c0e7ef2b814d8aa170826b833f91e5031a85d85cd1292a234e6c55da1be1')
+ version("3.9.1", sha256="1ba3bb1719a420f48e9b0a6afdb5011f6c786d0f107ef272528c632fff9fd153")
+ version("3.8.0", sha256="5fa2c0e7ef2b814d8aa170826b833f91e5031a85d85cd1292a234e6c55da1be1")
diff --git a/var/spack/repos/builtin/packages/sio/package.py b/var/spack/repos/builtin/packages/sio/package.py
index 6a5e4e3caa..14669d0b41 100644
--- a/var/spack/repos/builtin/packages/sio/package.py
+++ b/var/spack/repos/builtin/packages/sio/package.py
@@ -12,34 +12,40 @@ class Sio(CMakePackage):
persistency layer for LCIO.
"""
- url = "https://github.com/iLCSoft/SIO/archive/v00-00-02.tar.gz"
+ url = "https://github.com/iLCSoft/SIO/archive/v00-00-02.tar.gz"
homepage = "https://github.com/iLCSoft/SIO"
- git = "https://github.com/iLCSoft/SIO.git"
+ git = "https://github.com/iLCSoft/SIO.git"
- maintainers = ['vvolkl', 'tmadlener']
+ maintainers = ["vvolkl", "tmadlener"]
- version('master', branch='master')
- version('0.1', sha256='0407c0daeae53660c0562f9302a220f72ab51547050cd9fe9113b995804ab4b4')
- version('0.0.4', sha256='72e96e6a1cc8dd3641d3e2bb9876e75bf6af8074e1617220da9e52df522ef5c0')
- version('0.0.3', sha256='4c8b9c08480fb53cd10abb0e1260071a8c3f68d06a8acfd373f6560a916155cc')
- version('0.0.2', sha256='e4cd2aeaeaa23c1da2c20c5c08a9b72a31b16b7a8f5aa6d480dcd561ef667657')
+ version("master", branch="master")
+ version("0.1", sha256="0407c0daeae53660c0562f9302a220f72ab51547050cd9fe9113b995804ab4b4")
+ version("0.0.4", sha256="72e96e6a1cc8dd3641d3e2bb9876e75bf6af8074e1617220da9e52df522ef5c0")
+ version("0.0.3", sha256="4c8b9c08480fb53cd10abb0e1260071a8c3f68d06a8acfd373f6560a916155cc")
+ version("0.0.2", sha256="e4cd2aeaeaa23c1da2c20c5c08a9b72a31b16b7a8f5aa6d480dcd561ef667657")
- variant('builtin_zlib', default=True,
- description='Use and statically link against a builtin version of zlib')
- variant('cxxstd', default='17',
- values=('11', '14', '17', '20'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant(
+ "builtin_zlib",
+ default=True,
+ description="Use and statically link against a builtin version of zlib",
+ )
+ variant(
+ "cxxstd",
+ default="17",
+ values=("11", "14", "17", "20"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- depends_on('zlib', when='~builtin_zlib')
+ depends_on("zlib", when="~builtin_zlib")
def cmake_args(self):
return [
- self.define('CMAKE_CXX_STANDARD', self.spec.variants['cxxstd'].value),
+ self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value),
# Examples are built this way, but if the examples are built they
# are also used for tests
- self.define('SIO_EXAMPLES', self.run_tests),
- self.define_from_variant('SIO_BUILTIN_ZLIB', 'builtin_zlib')
+ self.define("SIO_EXAMPLES", self.run_tests),
+ self.define_from_variant("SIO_BUILTIN_ZLIB", "builtin_zlib"),
]
def url_for_version(self, version):
@@ -54,7 +60,7 @@ class Sio(CMakePackage):
:param version: version
:type param: str
"""
- base_url = self.url.rsplit('/', 1)[0]
+ base_url = self.url.rsplit("/", 1)[0]
if len(version) == 1:
major = version[0]
@@ -68,8 +74,8 @@ class Sio(CMakePackage):
# By now the data is normalized enough to handle it easily depending
# on the value of the patch version
if patch == 0:
- version_str = 'v%02d-%02d.tar.gz' % (major, minor)
+ version_str = "v%02d-%02d.tar.gz" % (major, minor)
else:
- version_str = 'v%02d-%02d-%02d.tar.gz' % (major, minor, patch)
+ version_str = "v%02d-%02d-%02d.tar.gz" % (major, minor, patch)
- return base_url + '/' + version_str
+ return base_url + "/" + version_str
diff --git a/var/spack/repos/builtin/packages/sionlib/package.py b/var/spack/repos/builtin/packages/sionlib/package.py
index 8a0025a039..d0269ce050 100644
--- a/var/spack/repos/builtin/packages/sionlib/package.py
+++ b/var/spack/repos/builtin/packages/sionlib/package.py
@@ -11,24 +11,28 @@ class Sionlib(AutotoolsPackage):
"""Scalable I/O library for parallel access to task-local files"""
homepage = "https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html"
- url = "https://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.6"
+ url = "https://apps.fz-juelich.de/jsc/sionlib/download.php?version=1.7.6"
- maintainers = ['pramodk']
+ maintainers = ["pramodk"]
- version('1.7.6', sha256='e85253ed3cd17a3b1c124ccd704caea3ad3c200abfcca9cc0851cb14f5a60691', extension='tar.gz')
+ version(
+ "1.7.6",
+ sha256="e85253ed3cd17a3b1c124ccd704caea3ad3c200abfcca9cc0851cb14f5a60691",
+ extension="tar.gz",
+ )
- depends_on('mpi')
- patch('for_aarch64.patch', when='target=aarch64:')
+ depends_on("mpi")
+ patch("for_aarch64.patch", when="target=aarch64:")
def configure_args(self):
args = []
spec = self.spec
- if spec.satisfies('^intel-mpi'):
- args.append('--mpi=intel2')
- elif spec.satisfies('^mpich') or spec.satisfies('^mvapich2'):
- args.append('--mpi=mpich2')
- elif spec.satisfies('^openmpi'):
- args.append('--mpi=openmpi')
+ if spec.satisfies("^intel-mpi"):
+ args.append("--mpi=intel2")
+ elif spec.satisfies("^mpich") or spec.satisfies("^mvapich2"):
+ args.append("--mpi=mpich2")
+ elif spec.satisfies("^openmpi"):
+ args.append("--mpi=openmpi")
return args
diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py
index c181175b2c..57b957e397 100644
--- a/var/spack/repos/builtin/packages/sirius/package.py
+++ b/var/spack/repos/builtin/packages/sirius/package.py
@@ -12,245 +12,344 @@ class Sirius(CMakePackage, CudaPackage):
"""Domain specific library for electronic structure calculations"""
homepage = "https://github.com/electronic-structure/SIRIUS"
- url = "https://github.com/electronic-structure/SIRIUS/archive/v6.1.5.tar.gz"
+ url = "https://github.com/electronic-structure/SIRIUS/archive/v6.1.5.tar.gz"
list_url = "https://github.com/electronic-structure/SIRIUS/releases"
- git = "https://github.com/electronic-structure/SIRIUS.git"
-
- maintainers = ['simonpintarelli', 'haampie', 'dev-zero', 'AdhocMan', 'toxa81']
-
- version('develop', branch='develop')
- version('master', branch='master')
-
- version('7.3.0', sha256='69b5cf356adbe181be6c919032859c4e0160901ff42a885d7e7ea0f38cc772e2')
- version('7.2.7', sha256='929bf7f131a4847624858b9c4295532c24b0c06f6dcef5453c0dfc33fb78eb03')
- version('7.2.6', sha256='e751fd46cdc7c481ab23b0839d3f27fb00b75dc61dc22a650c92fe8e35336e3a')
- version('7.2.5', sha256='794e03d4da91025f77542d3d593d87a8c74e980394f658a0210a4fd91c011f22')
- version('7.2.4', sha256='aeed0e83b80c3a79a9469e7f3fe10d80ad331795e38dbc3c49cb0308e2bd084d')
- version('7.2.3', sha256='6c10f0e87e50fcc7cdb4d1b2d35e91dba6144de8f111e36c7d08912e5942a906')
- version('7.2.1', sha256='01bf6c9893ff471473e13351ca7fdc2ed6c1f4b1bb7afa151909ea7cd6fa0de7')
- version('7.2.0', sha256='537800459db8a7553d7aa251c19f3a31f911930194b068bc5bca2dfb2c9b71db')
- version('7.0.2', sha256='ee613607ce3be0b2c3f69b560b2415ce1b0e015179002aa90739430dbfaa0389', deprecated=True)
- version('7.0.1', sha256='cca11433f86e7f4921f7956d6589f27bf0fd5539f3e8f96e66a3a6f274888595', deprecated=True)
- version('7.0.0', sha256='da783df11e7b65668e29ba8d55c8a6827e2216ad6d88040f84f42ac20fd1bb99', deprecated=True)
- version('6.5.7', sha256='d886c3066163c43666ebac2ea50351df03907b5686671e514a75f131ba51b43c', deprecated=True)
- version('6.5.6', sha256='c8120100bde4477545eae489ea7f9140d264a3f88696ec92728616d78f214cae', deprecated=True)
- version('6.5.5', sha256='0b23d3a8512682eea67aec57271031c65f465b61853a165015b38f7477651dd1', deprecated=True)
- version('6.5.4', sha256='5f731926b882a567d117afa5e0ed33291f1db887fce52f371ba51f014209b85d', deprecated=True)
- version('6.5.3', sha256='eae0c303f332425a8c792d4455dca62557931b28a5df8b4c242652d5ffddd580', deprecated=True)
- version('6.5.2', sha256='c18adc45b069ebae03f94eeeeed031ee99b3d8171fa6ee73c7c6fb1e42397fe7', deprecated=True)
- version('6.5.1', sha256='599dd0fa25a4e83db2a359257a125e855d4259188cf5b0065b8e7e66378eacf3', deprecated=True)
- version('6.5.0', sha256='5544f3abbb71dcd6aa08d18aceaf53c38373de4cbd0c3af44fbb39c20cfeb7cc', deprecated=True)
- version('6.4.4', sha256='1c5de9565781847658c3cc11edcb404e6e6d1c5a9dfc81e977de7a9a7a162c8a', deprecated=True)
- version('6.4.3', sha256='4d1effeadb84b3e1efd7d9ac88018ef567aa2e0aa72e1112f0abf2e493e2a189', deprecated=True)
- version('6.4.2', sha256='40b9b66deebb6538fc0f4cd802554d0d763ea6426b9b2f0e8db8dc617e494479', deprecated=True)
- version('6.4.1', sha256='86f25c71517952a63e92e0a9bcf66d27e4afb2b0d67cf84af480f116b8e7f53c', deprecated=True)
- version('6.4.0', sha256='bc61758b71dd2996e2ff515b8c3560b2c69c00931cb2811a163a31bcfea4436e', deprecated=True)
- version('6.3.4', sha256='8839e988b4bb6ef99b6180f7fba03a5537e31fce51bb3e4c2298b513d6a07e0a', deprecated=True)
- version('6.3.3', sha256='7ba30a4e5c9a545433251211454ec0d59b74ba8941346057bc7de11e7f6886f7', deprecated=True)
- version('6.3.2', sha256='1723e5ad338dad9a816369a6957101b2cae7214425406b12e8712c82447a7ee5', deprecated=True)
- version('6.1.5', sha256='379f0a2e5208fd6d91c2bd4939c3a5c40002975fb97652946fa1bfe4a3ef97cb', deprecated=True)
+ git = "https://github.com/electronic-structure/SIRIUS.git"
+
+ maintainers = ["simonpintarelli", "haampie", "dev-zero", "AdhocMan", "toxa81"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ version("7.3.0", sha256="69b5cf356adbe181be6c919032859c4e0160901ff42a885d7e7ea0f38cc772e2")
+ version("7.2.7", sha256="929bf7f131a4847624858b9c4295532c24b0c06f6dcef5453c0dfc33fb78eb03")
+ version("7.2.6", sha256="e751fd46cdc7c481ab23b0839d3f27fb00b75dc61dc22a650c92fe8e35336e3a")
+ version("7.2.5", sha256="794e03d4da91025f77542d3d593d87a8c74e980394f658a0210a4fd91c011f22")
+ version("7.2.4", sha256="aeed0e83b80c3a79a9469e7f3fe10d80ad331795e38dbc3c49cb0308e2bd084d")
+ version("7.2.3", sha256="6c10f0e87e50fcc7cdb4d1b2d35e91dba6144de8f111e36c7d08912e5942a906")
+ version("7.2.1", sha256="01bf6c9893ff471473e13351ca7fdc2ed6c1f4b1bb7afa151909ea7cd6fa0de7")
+ version("7.2.0", sha256="537800459db8a7553d7aa251c19f3a31f911930194b068bc5bca2dfb2c9b71db")
+ version(
+ "7.0.2",
+ sha256="ee613607ce3be0b2c3f69b560b2415ce1b0e015179002aa90739430dbfaa0389",
+ deprecated=True,
+ )
+ version(
+ "7.0.1",
+ sha256="cca11433f86e7f4921f7956d6589f27bf0fd5539f3e8f96e66a3a6f274888595",
+ deprecated=True,
+ )
+ version(
+ "7.0.0",
+ sha256="da783df11e7b65668e29ba8d55c8a6827e2216ad6d88040f84f42ac20fd1bb99",
+ deprecated=True,
+ )
+ version(
+ "6.5.7",
+ sha256="d886c3066163c43666ebac2ea50351df03907b5686671e514a75f131ba51b43c",
+ deprecated=True,
+ )
+ version(
+ "6.5.6",
+ sha256="c8120100bde4477545eae489ea7f9140d264a3f88696ec92728616d78f214cae",
+ deprecated=True,
+ )
+ version(
+ "6.5.5",
+ sha256="0b23d3a8512682eea67aec57271031c65f465b61853a165015b38f7477651dd1",
+ deprecated=True,
+ )
+ version(
+ "6.5.4",
+ sha256="5f731926b882a567d117afa5e0ed33291f1db887fce52f371ba51f014209b85d",
+ deprecated=True,
+ )
+ version(
+ "6.5.3",
+ sha256="eae0c303f332425a8c792d4455dca62557931b28a5df8b4c242652d5ffddd580",
+ deprecated=True,
+ )
+ version(
+ "6.5.2",
+ sha256="c18adc45b069ebae03f94eeeeed031ee99b3d8171fa6ee73c7c6fb1e42397fe7",
+ deprecated=True,
+ )
+ version(
+ "6.5.1",
+ sha256="599dd0fa25a4e83db2a359257a125e855d4259188cf5b0065b8e7e66378eacf3",
+ deprecated=True,
+ )
+ version(
+ "6.5.0",
+ sha256="5544f3abbb71dcd6aa08d18aceaf53c38373de4cbd0c3af44fbb39c20cfeb7cc",
+ deprecated=True,
+ )
+ version(
+ "6.4.4",
+ sha256="1c5de9565781847658c3cc11edcb404e6e6d1c5a9dfc81e977de7a9a7a162c8a",
+ deprecated=True,
+ )
+ version(
+ "6.4.3",
+ sha256="4d1effeadb84b3e1efd7d9ac88018ef567aa2e0aa72e1112f0abf2e493e2a189",
+ deprecated=True,
+ )
+ version(
+ "6.4.2",
+ sha256="40b9b66deebb6538fc0f4cd802554d0d763ea6426b9b2f0e8db8dc617e494479",
+ deprecated=True,
+ )
+ version(
+ "6.4.1",
+ sha256="86f25c71517952a63e92e0a9bcf66d27e4afb2b0d67cf84af480f116b8e7f53c",
+ deprecated=True,
+ )
+ version(
+ "6.4.0",
+ sha256="bc61758b71dd2996e2ff515b8c3560b2c69c00931cb2811a163a31bcfea4436e",
+ deprecated=True,
+ )
+ version(
+ "6.3.4",
+ sha256="8839e988b4bb6ef99b6180f7fba03a5537e31fce51bb3e4c2298b513d6a07e0a",
+ deprecated=True,
+ )
+ version(
+ "6.3.3",
+ sha256="7ba30a4e5c9a545433251211454ec0d59b74ba8941346057bc7de11e7f6886f7",
+ deprecated=True,
+ )
+ version(
+ "6.3.2",
+ sha256="1723e5ad338dad9a816369a6957101b2cae7214425406b12e8712c82447a7ee5",
+ deprecated=True,
+ )
+ version(
+ "6.1.5",
+ sha256="379f0a2e5208fd6d91c2bd4939c3a5c40002975fb97652946fa1bfe4a3ef97cb",
+ deprecated=True,
+ )
amdgpu_targets = (
- 'gfx701', 'gfx801', 'gfx802', 'gfx803',
- 'gfx900', 'gfx906', 'gfx908', 'gfx1010',
- 'gfx1011', 'gfx1012'
+ "gfx701",
+ "gfx801",
+ "gfx802",
+ "gfx803",
+ "gfx900",
+ "gfx906",
+ "gfx908",
+ "gfx1010",
+ "gfx1011",
+ "gfx1012",
+ )
+
+ variant("shared", default=True, description="Build shared libraries")
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant(
+ "boost_filesystem",
+ default=False,
+ description="Use Boost filesystem for self-consistent field method "
+ "mini-app. Only required when the compiler does not "
+ "support std::experimental::filesystem nor std::filesystem",
+ )
+ variant("fortran", default=False, description="Build Fortran bindings")
+ variant("python", default=False, description="Build Python bindings")
+ variant("memory_pool", default=True, description="Build with memory pool")
+ variant("elpa", default=False, description="Use ELPA")
+ variant("vdwxc", default=False, description="Enable libvdwxc support")
+ variant("scalapack", default=False, description="Enable scalapack support")
+ variant("magma", default=False, description="Enable MAGMA support")
+ variant("nlcglib", default=False, description="enable robust wave function optimization")
+ variant("rocm", default=False, description="Use ROCm GPU support")
+ variant(
+ "amdgpu_target",
+ default="gfx803,gfx900,gfx906",
+ multi=True,
+ values=amdgpu_targets,
+ when="+rocm",
+ )
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+ variant("apps", default=True, description="Build applications")
+ variant("tests", default=False, description="Build tests")
+ variant("single_precision", default=False, description="Use single precision arithmetics")
+ variant(
+ "profiler", default=True, description="Use internal profiler to measure execution time"
)
- variant('shared', default=True, description="Build shared libraries")
- variant('openmp', default=True, description="Build with OpenMP support")
- variant('boost_filesystem', default=False,
- description="Use Boost filesystem for self-consistent field method "
- "mini-app. Only required when the compiler does not "
- "support std::experimental::filesystem nor std::filesystem")
- variant('fortran', default=False, description="Build Fortran bindings")
- variant('python', default=False, description="Build Python bindings")
- variant('memory_pool', default=True, description="Build with memory pool")
- variant('elpa', default=False, description="Use ELPA")
- variant('vdwxc', default=False, description="Enable libvdwxc support")
- variant('scalapack', default=False, description="Enable scalapack support")
- variant('magma', default=False, description="Enable MAGMA support")
- variant('nlcglib', default=False, description="enable robust wave function optimization")
- variant('rocm', default=False, description='Use ROCm GPU support')
- variant('amdgpu_target', default='gfx803,gfx900,gfx906', multi=True, values=amdgpu_targets, when='+rocm')
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo'))
- variant('apps', default=True, description="Build applications")
- variant('tests', default=False, description="Build tests")
- variant('single_precision', default=False, description="Use single precision arithmetics")
- variant('profiler', default=True, description="Use internal profiler to measure execution time")
-
- depends_on('mpi')
- depends_on('gsl')
- depends_on('lapack')
- depends_on('fftw-api@3')
- depends_on('libxc@3.0.0:')
- depends_on('libxc@4.0.0:', when='@7.2.0:')
- depends_on('spglib')
- depends_on('hdf5+hl')
- depends_on('pkgconfig', type='build')
+ depends_on("mpi")
+ depends_on("gsl")
+ depends_on("lapack")
+ depends_on("fftw-api@3")
+ depends_on("libxc@3.0.0:")
+ depends_on("libxc@4.0.0:", when="@7.2.0:")
+ depends_on("spglib")
+ depends_on("hdf5+hl")
+ depends_on("pkgconfig", type="build")
# Python module
- depends_on('python', when='+python', type=('build', 'run'))
- depends_on('python', when='@:6', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('build', 'run'))
- depends_on('py-h5py', when='+python', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python', type=('build', 'run'))
- depends_on('py-pyyaml', when='+python', type=('build', 'run'))
- depends_on('py-mpi4py', when='+python', type=('build', 'run'))
- depends_on('py-voluptuous', when='+python', type=('build', 'run'))
- depends_on('py-pybind11', when='+python', type=('build', 'run'))
- extends('python', when='+python')
-
- depends_on('magma', when='+magma')
- depends_on('boost cxxstd=14 +filesystem', when='+boost_filesystem')
-
- depends_on('spfft@0.9.6: +mpi', when='@6.4.0:')
- depends_on('spfft@0.9.13:', when='@7.0.1:')
- depends_on('spfft+single_precision', when='+single_precision ^spfft')
- depends_on('spfft+cuda', when='+cuda ^spfft')
- depends_on('spfft+rocm', when='+rocm ^spfft')
- depends_on('spfft+openmp', when='+openmp ^spfft')
-
- depends_on('spla@1.1.0:', when='@7.0.2:')
- depends_on('spla+cuda', when='+cuda ^spla')
- depends_on('spla+rocm', when='+rocm ^spla')
- depends_on('spla+openmp', when='+openmp ^spla')
-
- depends_on('nlcglib', when='+nlcglib')
-
- depends_on('libvdwxc@0.3.0:+mpi', when='+vdwxc')
-
- depends_on('scalapack', when='+scalapack')
+ depends_on("python", when="+python", type=("build", "run"))
+ depends_on("python", when="@:6", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("build", "run"))
+ depends_on("py-h5py", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python", type=("build", "run"))
+ depends_on("py-pyyaml", when="+python", type=("build", "run"))
+ depends_on("py-mpi4py", when="+python", type=("build", "run"))
+ depends_on("py-voluptuous", when="+python", type=("build", "run"))
+ depends_on("py-pybind11", when="+python", type=("build", "run"))
+ extends("python", when="+python")
+
+ depends_on("magma", when="+magma")
+ depends_on("boost cxxstd=14 +filesystem", when="+boost_filesystem")
+
+ depends_on("spfft@0.9.6: +mpi", when="@6.4.0:")
+ depends_on("spfft@0.9.13:", when="@7.0.1:")
+ depends_on("spfft+single_precision", when="+single_precision ^spfft")
+ depends_on("spfft+cuda", when="+cuda ^spfft")
+ depends_on("spfft+rocm", when="+rocm ^spfft")
+ depends_on("spfft+openmp", when="+openmp ^spfft")
+
+ depends_on("spla@1.1.0:", when="@7.0.2:")
+ depends_on("spla+cuda", when="+cuda ^spla")
+ depends_on("spla+rocm", when="+rocm ^spla")
+ depends_on("spla+openmp", when="+openmp ^spla")
+
+ depends_on("nlcglib", when="+nlcglib")
+
+ depends_on("libvdwxc@0.3.0:+mpi", when="+vdwxc")
+
+ depends_on("scalapack", when="+scalapack")
# rocm
- depends_on('hip', when='+rocm')
- depends_on('rocblas', when='+rocm')
+ depends_on("hip", when="+rocm")
+ depends_on("rocblas", when="+rocm")
# FindHIP cmake script only works for < 4.1
- depends_on('hip@:4.0', when='@:7.2.0 +rocm')
+ depends_on("hip@:4.0", when="@:7.2.0 +rocm")
- conflicts('+shared', when='@6.3.0:6.4')
- conflicts('+boost_filesystem', when='~apps')
- conflicts('^libxc@5.0.0') # known to produce incorrect results
- conflicts('+single_precision', when='@:7.2.4')
+ conflicts("+shared", when="@6.3.0:6.4")
+ conflicts("+boost_filesystem", when="~apps")
+ conflicts("^libxc@5.0.0") # known to produce incorrect results
+ conflicts("+single_precision", when="@:7.2.4")
# Propagate openmp to blas
- depends_on('openblas threads=openmp', when='+openmp ^openblas')
- depends_on('amdblis threads=openmp', when='+openmp ^amdblis')
- depends_on('blis threads=openmp', when='+openmp ^blis')
- depends_on('intel-mkl threads=openmp', when='+openmp ^intel-mkl')
+ depends_on("openblas threads=openmp", when="+openmp ^openblas")
+ depends_on("amdblis threads=openmp", when="+openmp ^amdblis")
+ depends_on("blis threads=openmp", when="+openmp ^blis")
+ depends_on("intel-mkl threads=openmp", when="+openmp ^intel-mkl")
- depends_on('elpa+openmp', when='+elpa+openmp')
- depends_on('elpa~openmp', when='+elpa~openmp')
+ depends_on("elpa+openmp", when="+elpa+openmp")
+ depends_on("elpa~openmp", when="+elpa~openmp")
- depends_on('eigen@3.4.0:', when='@7.4: +tests')
+ depends_on("eigen@3.4.0:", when="@7.4: +tests")
- depends_on('costa+shared', when='@7.4:')
+ depends_on("costa+shared", when="@7.4:")
# TODO:
# add support for CRAY_LIBSCI, testing
- patch("strip-spglib-include-subfolder.patch", when='@6.1.5')
- patch("link-libraries-fortran.patch", when='@6.1.5')
- patch("cmake-fix-shared-library-installation.patch", when='@6.1.5')
+ patch("strip-spglib-include-subfolder.patch", when="@6.1.5")
+ patch("link-libraries-fortran.patch", when="@6.1.5")
+ patch("cmake-fix-shared-library-installation.patch", when="@6.1.5")
patch("mpi_datatypes.patch", when="@:7.2.6")
@property
def libs(self):
libraries = []
- if '@6.3.0:' in self.spec:
- libraries += ['libsirius']
+ if "@6.3.0:" in self.spec:
+ libraries += ["libsirius"]
return find_libraries(
- libraries, root=self.prefix,
- shared='+shared' in self.spec, recursive=True
+ libraries, root=self.prefix, shared="+shared" in self.spec, recursive=True
)
else:
- if '+fortran' in self.spec:
- libraries += ['libsirius_f']
+ if "+fortran" in self.spec:
+ libraries += ["libsirius_f"]
- if '+cuda' in self.spec:
- libraries += ['libsirius_cu']
+ if "+cuda" in self.spec:
+ libraries += ["libsirius_cu"]
return find_libraries(
- libraries, root=self.prefix,
- shared='+shared' in self.spec, recursive=True
+ libraries, root=self.prefix, shared="+shared" in self.spec, recursive=True
)
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('USE_OPENMP', 'openmp'),
- self.define_from_variant('USE_ELPA', 'elpa'),
- self.define_from_variant('USE_MAGMA', 'magma'),
- self.define_from_variant('USE_NLCGLIB', 'nlcglib'),
- self.define_from_variant('USE_VDWXC', 'vdwxc'),
- self.define_from_variant('USE_MEMORY_POOL', 'memory_pool'),
- self.define_from_variant('USE_SCALAPACK', 'scalapack'),
- self.define_from_variant('CREATE_FORTRAN_BINDINGS', 'fortran'),
- self.define_from_variant('CREATE_PYTHON_MODULE', 'python'),
- self.define_from_variant('USE_CUDA', 'cuda'),
- self.define_from_variant('USE_ROCM', 'rocm'),
- self.define_from_variant('BUILD_TESTING', 'tests'),
- self.define_from_variant('BUILD_APPS', 'apps'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('USE_FP32', 'single_precision'),
- self.define_from_variant('USE_PROFILER', 'profiler')
+ self.define_from_variant("USE_OPENMP", "openmp"),
+ self.define_from_variant("USE_ELPA", "elpa"),
+ self.define_from_variant("USE_MAGMA", "magma"),
+ self.define_from_variant("USE_NLCGLIB", "nlcglib"),
+ self.define_from_variant("USE_VDWXC", "vdwxc"),
+ self.define_from_variant("USE_MEMORY_POOL", "memory_pool"),
+ self.define_from_variant("USE_SCALAPACK", "scalapack"),
+ self.define_from_variant("CREATE_FORTRAN_BINDINGS", "fortran"),
+ self.define_from_variant("CREATE_PYTHON_MODULE", "python"),
+ self.define_from_variant("USE_CUDA", "cuda"),
+ self.define_from_variant("USE_ROCM", "rocm"),
+ self.define_from_variant("BUILD_TESTING", "tests"),
+ self.define_from_variant("BUILD_APPS", "apps"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("USE_FP32", "single_precision"),
+ self.define_from_variant("USE_PROFILER", "profiler"),
]
- lapack = spec['lapack']
- blas = spec['blas']
-
- args.extend([
- self.define('LAPACK_FOUND', 'true'),
- self.define('LAPACK_LIBRARIES', lapack.libs.joined(';')),
- self.define('BLAS_FOUND', 'true'),
- self.define('BLAS_LIBRARIES', blas.libs.joined(';'))
- ])
-
- if '+scalapack' in spec:
- args.extend([
- self.define('SCALAPACK_FOUND', 'true'),
- self.define('SCALAPACK_INCLUDE_DIRS',
- spec['scalapack'].prefix.include),
- self.define('SCALAPACK_LIBRARIES',
- spec['scalapack'].libs.joined(';'))
- ])
-
- if spec['blas'].name in ['intel-mkl', 'intel-parallel-studio']:
- args.append(self.define('USE_MKL', 'ON'))
-
- if '+elpa' in spec:
- elpa_incdir = os.path.join(
- spec['elpa'].headers.directories[0],
- 'elpa'
+ lapack = spec["lapack"]
+ blas = spec["blas"]
+
+ args.extend(
+ [
+ self.define("LAPACK_FOUND", "true"),
+ self.define("LAPACK_LIBRARIES", lapack.libs.joined(";")),
+ self.define("BLAS_FOUND", "true"),
+ self.define("BLAS_LIBRARIES", blas.libs.joined(";")),
+ ]
+ )
+
+ if "+scalapack" in spec:
+ args.extend(
+ [
+ self.define("SCALAPACK_FOUND", "true"),
+ self.define("SCALAPACK_INCLUDE_DIRS", spec["scalapack"].prefix.include),
+ self.define("SCALAPACK_LIBRARIES", spec["scalapack"].libs.joined(";")),
+ ]
)
- args.append(self.define('ELPA_INCLUDE_DIR', elpa_incdir))
- if '+cuda' in spec:
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch[0] != 'none':
+ if spec["blas"].name in ["intel-mkl", "intel-parallel-studio"]:
+ args.append(self.define("USE_MKL", "ON"))
+
+ if "+elpa" in spec:
+ elpa_incdir = os.path.join(spec["elpa"].headers.directories[0], "elpa")
+ args.append(self.define("ELPA_INCLUDE_DIR", elpa_incdir))
+
+ if "+cuda" in spec:
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch[0] != "none":
# Specify a single arch directly
- if '@:6' in spec:
- args.append(self.define(
- 'CMAKE_CUDA_FLAGS',
- '-arch=sm_{0}'.format(cuda_arch[0]))
+ if "@:6" in spec:
+ args.append(
+ self.define("CMAKE_CUDA_FLAGS", "-arch=sm_{0}".format(cuda_arch[0]))
)
# Make SIRIUS handle it
else:
- args.append(self.define('CUDA_ARCH', ';'.join(cuda_arch)))
-
- if '+rocm' in spec:
- archs = ",".join(self.spec.variants['amdgpu_target'].value)
- args.extend([
- self.define('HIP_ROOT_DIR', spec['hip'].prefix),
- self.define('HIP_HCC_FLAGS', '--amdgpu-target={0}'.format(archs)),
- self.define('HIP_CXX_COMPILER', self.spec['hip'].hipcc)
- ])
+ args.append(self.define("CUDA_ARCH", ";".join(cuda_arch)))
+
+ if "+rocm" in spec:
+ archs = ",".join(self.spec.variants["amdgpu_target"].value)
+ args.extend(
+ [
+ self.define("HIP_ROOT_DIR", spec["hip"].prefix),
+ self.define("HIP_HCC_FLAGS", "--amdgpu-target={0}".format(archs)),
+ self.define("HIP_CXX_COMPILER", self.spec["hip"].hipcc),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/skilion-onedrive/package.py b/var/spack/repos/builtin/packages/skilion-onedrive/package.py
index dafa72c903..41d1f40f04 100644
--- a/var/spack/repos/builtin/packages/skilion-onedrive/package.py
+++ b/var/spack/repos/builtin/packages/skilion-onedrive/package.py
@@ -11,27 +11,25 @@ class SkilionOnedrive(MakefilePackage):
developed by Skilion, following the UNIX philosophy."""
homepage = "https://github.com/skilion/onedrive"
- url = "https://github.com/skilion/onedrive/archive/v1.1.1.tar.gz"
+ url = "https://github.com/skilion/onedrive/archive/v1.1.1.tar.gz"
- version('1.1.1', sha256='fb51c81ec95c28f3fe3b29e3b7f915e30161bd5f4b14bb53ae5c2233cc1e92e9')
+ version("1.1.1", sha256="fb51c81ec95c28f3fe3b29e3b7f915e30161bd5f4b14bb53ae5c2233cc1e92e9")
- depends_on('dmd')
- depends_on('curl')
- depends_on('sqlite')
+ depends_on("dmd")
+ depends_on("curl")
+ depends_on("sqlite")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
# Generate the version file
- makefile.filter('.git/HEAD .git/index', '', string=True)
- makefile.filter('$(shell git describe --tags)',
- '{0}'.format(spec.version),
- string=True)
+ makefile.filter(".git/HEAD .git/index", "", string=True)
+ makefile.filter("$(shell git describe --tags)", "{0}".format(spec.version), string=True)
# Patch sqlite.d https://github.com/skilion/onedrive/issues/392
- sqlited = FileFilter('src/sqlite.d')
- sqlited.filter('std.c.stdlib', 'core.stdc.stdlib', String=True)
+ sqlited = FileFilter("src/sqlite.d")
+ sqlited.filter("std.c.stdlib", "core.stdc.stdlib", String=True)
def build(self, spec, prefix):
- make('onedrive', 'DESTDIR={0}'.format(prefix), 'PREFIX=/')
+ make("onedrive", "DESTDIR={0}".format(prefix), "PREFIX=/")
def install(self, spec, prefix):
- make('install', 'DESTDIR={0}'.format(prefix), 'PREFIX=/')
+ make("install", "DESTDIR={0}".format(prefix), "PREFIX=/")
diff --git a/var/spack/repos/builtin/packages/skopeo/package.py b/var/spack/repos/builtin/packages/skopeo/package.py
index 86214efa12..75320674e1 100644
--- a/var/spack/repos/builtin/packages/skopeo/package.py
+++ b/var/spack/repos/builtin/packages/skopeo/package.py
@@ -12,35 +12,37 @@ class Skopeo(MakefilePackage):
container images and image repositories."""
homepage = "https://github.com/containers/skopeo"
- url = "https://github.com/containers/skopeo/archive/v0.1.39.tar.gz"
+ url = "https://github.com/containers/skopeo/archive/v0.1.39.tar.gz"
- version('0.1.40', sha256='ee1e33245938fcb622f5864fac860e2d8bfa2fa907af4b5ffc3704ed0db46bbf')
- version('0.1.39', sha256='e9d70f7f7b891675a816f06a22df0490285ad20eefbd91f5da69ca12f56c29f2')
- version('0.1.38', sha256='104ceb9c582dc5c3a49dd1752c4c326bba03f2f801596f089372e831f48ed705')
- version('0.1.37', sha256='49c0c1b2c2f32422d3230f827ae405fc554fb34af41a54e59b2121ac1500505d')
- version('0.1.36', sha256='42f9b0bf53ae44bc294be400e2c5259f977ffa4d5dbac3576b0b5e23d59791fd')
+ version("0.1.40", sha256="ee1e33245938fcb622f5864fac860e2d8bfa2fa907af4b5ffc3704ed0db46bbf")
+ version("0.1.39", sha256="e9d70f7f7b891675a816f06a22df0490285ad20eefbd91f5da69ca12f56c29f2")
+ version("0.1.38", sha256="104ceb9c582dc5c3a49dd1752c4c326bba03f2f801596f089372e831f48ed705")
+ version("0.1.37", sha256="49c0c1b2c2f32422d3230f827ae405fc554fb34af41a54e59b2121ac1500505d")
+ version("0.1.36", sha256="42f9b0bf53ae44bc294be400e2c5259f977ffa4d5dbac3576b0b5e23d59791fd")
- depends_on('go')
- depends_on('go-md2man', type='build')
- depends_on('gpgme')
- depends_on('libassuan')
- depends_on('libgpg-error')
- depends_on('lvm2')
+ depends_on("go")
+ depends_on("go-md2man", type="build")
+ depends_on("gpgme")
+ depends_on("libassuan")
+ depends_on("libgpg-error")
+ depends_on("lvm2")
def edit(self, spec, prefix):
- grep = which('grep')
- files = grep('-lR', '/etc/containers/', 'vendor', output=str,
- env={'PATH': '/usr/bin:/bin:/usr/sbin:/sbin'})
+ grep = which("grep")
+ files = grep(
+ "-lR",
+ "/etc/containers/",
+ "vendor",
+ output=str,
+ env={"PATH": "/usr/bin:/bin:/usr/sbin:/sbin"},
+ )
for f in files.splitlines():
edit = FileFilter(f)
- edit.filter('/etc/containers/', '{0}/etc/containers/'.
- format(prefix))
+ edit.filter("/etc/containers/", "{0}/etc/containers/".format(prefix))
def build(self, spec, prefix):
- make('binary-local')
+ make("binary-local")
def install(self, spec, prefix):
- make('binary-local', 'install',
- 'DESTDIR={0}'.format(prefix),
- 'PREFIX={0}'.format(prefix))
+ make("binary-local", "install", "DESTDIR={0}".format(prefix), "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/sl/package.py b/var/spack/repos/builtin/packages/sl/package.py
index 3c15ecefda..d805d945d4 100644
--- a/var/spack/repos/builtin/packages/sl/package.py
+++ b/var/spack/repos/builtin/packages/sl/package.py
@@ -10,16 +10,16 @@ class Sl(MakefilePackage):
"""SL: Cure your bad habit of mistyping"""
homepage = "https://github.com/mtoyoda/sl"
- url = "https://github.com/mtoyoda/sl/archive/5.02.tar.gz"
+ url = "https://github.com/mtoyoda/sl/archive/5.02.tar.gz"
- version('5.02', sha256='1e5996757f879c81f202a18ad8e982195cf51c41727d3fea4af01fdcbbb5563a')
+ version("5.02", sha256="1e5996757f879c81f202a18ad8e982195cf51c41727d3fea4af01fdcbbb5563a")
- depends_on('ncurses')
+ depends_on("ncurses")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('CC=.*', 'CC=cc')
+ makefile = FileFilter("Makefile")
+ makefile.filter("CC=.*", "CC=cc")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sl', prefix.bin)
+ install("sl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/slang/package.py b/var/spack/repos/builtin/packages/slang/package.py
index 3903f48228..a03154d3f2 100644
--- a/var/spack/repos/builtin/packages/slang/package.py
+++ b/var/spack/repos/builtin/packages/slang/package.py
@@ -10,9 +10,9 @@ class Slang(AutotoolsPackage):
"""An interpreted language and programing library."""
homepage = "https://www.jedsoft.org/slang"
- url = "https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2"
+ url = "https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2"
- version('2.3.2', sha256='fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a')
- version('2.3.1', sha256='a810d5da7b0c0c8c335393c6b4f12884be6fa7696d9ca9521ef21316a4e00f9d')
+ version("2.3.2", sha256="fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a")
+ version("2.3.1", sha256="a810d5da7b0c0c8c335393c6b4f12884be6fa7696d9ca9521ef21316a4e00f9d")
parallel = False
diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py
index 93357d1750..8a26ba0427 100644
--- a/var/spack/repos/builtin/packages/slate/package.py
+++ b/var/spack/repos/builtin/packages/slate/package.py
@@ -16,95 +16,110 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage):
solvers."""
homepage = "https://icl.utk.edu/slate/"
- git = "https://bitbucket.org/icl/slate"
- url = 'https://bitbucket.org/icl/slate/downloads/slate-2020.10.00.tar.gz'
- maintainers = ['G-Ragghianti', 'mgates3']
+ git = "https://bitbucket.org/icl/slate"
+ url = "https://bitbucket.org/icl/slate/downloads/slate-2020.10.00.tar.gz"
+ maintainers = ["G-Ragghianti", "mgates3"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('master', branch='master')
- version('2022.06.00', sha256='4da23f3c3c51fde65120f80df2b2f703aee1910389c08f971804aa77d11ac027')
- version('2022.05.00', sha256='960f61ec2a4e1fa5504e3e4bdd8f62e607936f27a8fd66f340d15119706df588')
- version('2021.05.02', sha256='29667a9e869e41fbc22af1ae2bcd425d79b4094bbb3f21c411888e7adc5d12e3')
- version('2021.05.01', sha256='d9db2595f305eb5b1b49a77cc8e8c8e43c3faab94ed910d8387c221183654218')
- version('2020.10.00', sha256='ff58840cdbae2991d100dfbaf3ef2f133fc2f43fc05f207dc5e38a41137882ab')
+ version("master", branch="master")
+ version(
+ "2022.06.00", sha256="4da23f3c3c51fde65120f80df2b2f703aee1910389c08f971804aa77d11ac027"
+ )
+ version(
+ "2022.05.00", sha256="960f61ec2a4e1fa5504e3e4bdd8f62e607936f27a8fd66f340d15119706df588"
+ )
+ version(
+ "2021.05.02", sha256="29667a9e869e41fbc22af1ae2bcd425d79b4094bbb3f21c411888e7adc5d12e3"
+ )
+ version(
+ "2021.05.01", sha256="d9db2595f305eb5b1b49a77cc8e8c8e43c3faab94ed910d8387c221183654218"
+ )
+ version(
+ "2020.10.00", sha256="ff58840cdbae2991d100dfbaf3ef2f133fc2f43fc05f207dc5e38a41137882ab"
+ )
- variant('mpi', default=True, description='Build with MPI support (without MPI is experimental).')
- variant('openmp', default=True, description='Build with OpenMP support.')
- variant('shared', default=True, description='Build shared library')
+ variant(
+ "mpi", default=True, description="Build with MPI support (without MPI is experimental)."
+ )
+ variant("openmp", default=True, description="Build with OpenMP support.")
+ variant("shared", default=True, description="Build shared library")
# The runtime dependency on cmake is needed by the stand-alone tests (spack test).
- depends_on('cmake', type='run')
+ depends_on("cmake", type="run")
- depends_on('mpi', when='+mpi')
- depends_on('blas')
- depends_on('blaspp ~cuda', when='~cuda')
- depends_on('blaspp +cuda', when='+cuda')
- depends_on('blaspp ~rocm', when='~rocm')
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("blaspp ~cuda", when="~cuda")
+ depends_on("blaspp +cuda", when="+cuda")
+ depends_on("blaspp ~rocm", when="~rocm")
for val in ROCmPackage.amdgpu_targets:
- depends_on('blaspp +rocm amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
- depends_on('lapackpp@2022.05.00', when='@2022.05.00:')
- depends_on('lapackpp@2021.04.00:', when='@2021.05.01:')
- depends_on('lapackpp@2020.10.02', when='@2020.10.00')
- depends_on('lapackpp@master', when='@master')
- depends_on('scalapack')
- depends_on('hipify-clang', when='@:2021.05.02 +rocm ^hip@5:')
+ depends_on("blaspp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val)
+ depends_on("lapackpp@2022.05.00", when="@2022.05.00:")
+ depends_on("lapackpp@2021.04.00:", when="@2021.05.01:")
+ depends_on("lapackpp@2020.10.02", when="@2020.10.00")
+ depends_on("lapackpp@master", when="@master")
+ depends_on("scalapack")
+ depends_on("hipify-clang", when="@:2021.05.02 +rocm ^hip@5:")
- cpp_17_msg = 'Requires C++17 compiler support'
- conflicts('%gcc@:5', msg=cpp_17_msg)
- conflicts('%xl', msg=cpp_17_msg)
- conflicts('%xl_r', msg=cpp_17_msg)
- conflicts('%intel@19:', msg='Does not currently build with icpc >= 2019')
- conflicts('+rocm', when='@:2020.10.00', msg='ROCm support requires SLATE 2021.05.01 or greater')
- conflicts('+rocm', when='+cuda', msg='SLATE only supports one GPU backend at a time')
+ cpp_17_msg = "Requires C++17 compiler support"
+ conflicts("%gcc@:5", msg=cpp_17_msg)
+ conflicts("%xl", msg=cpp_17_msg)
+ conflicts("%xl_r", msg=cpp_17_msg)
+ conflicts("%intel@19:", msg="Does not currently build with icpc >= 2019")
+ conflicts(
+ "+rocm", when="@:2020.10.00", msg="ROCm support requires SLATE 2021.05.01 or greater"
+ )
+ conflicts("+rocm", when="+cuda", msg="SLATE only supports one GPU backend at a time")
def cmake_args(self):
spec = self.spec
- backend_config = '-Duse_cuda=%s' % ('+cuda' in spec)
- if self.version >= Version('2021.05.01'):
- backend = 'none'
- if '+cuda' in spec:
- backend = 'cuda'
- if '+rocm' in spec:
- backend = 'hip'
- backend_config = '-Dgpu_backend=%s' % backend
+ backend_config = "-Duse_cuda=%s" % ("+cuda" in spec)
+ if self.version >= Version("2021.05.01"):
+ backend = "none"
+ if "+cuda" in spec:
+ backend = "cuda"
+ if "+rocm" in spec:
+ backend = "hip"
+ backend_config = "-Dgpu_backend=%s" % backend
return [
- '-Dbuild_tests=%s' % self.run_tests,
- '-Duse_openmp=%s' % ('+openmp' in spec),
- '-DBUILD_SHARED_LIBS=%s' % ('+shared' in spec),
+ "-Dbuild_tests=%s" % self.run_tests,
+ "-Duse_openmp=%s" % ("+openmp" in spec),
+ "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec),
backend_config,
- '-Duse_mpi=%s' % ('+mpi' in spec),
- '-DSCALAPACK_LIBRARIES=%s' % spec['scalapack'].libs.joined(';')
+ "-Duse_mpi=%s" % ("+mpi" in spec),
+ "-DSCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs.joined(";"),
]
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
- if self.spec.satisfies('@2020.10.00'):
+ if self.spec.satisfies("@2020.10.00"):
return
"""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(['examples'])
+ self.cache_extra_test_sources(["examples"])
def test(self):
- if self.spec.satisfies('@2020.10.00') or '+mpi' not in self.spec:
- print('Skipping: stand-alone tests')
+ if self.spec.satisfies("@2020.10.00") or "+mpi" not in self.spec:
+ print("Skipping: stand-alone tests")
return
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- 'examples', 'build')
+ test_dir = join_path(self.test_suite.current_test_cache_dir, "examples", "build")
with working_dir(test_dir, create=True):
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- prefixes = ';'.join([self.spec['blaspp'].prefix,
- self.spec['lapackpp'].prefix,
- self.spec['mpi'].prefix,
- ])
- self.run_test(cmake_bin, ['-DCMAKE_PREFIX_PATH=' + prefixes, '..'])
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ prefixes = ";".join(
+ [
+ self.spec["blaspp"].prefix,
+ self.spec["lapackpp"].prefix,
+ self.spec["mpi"].prefix,
+ ]
+ )
+ self.run_test(cmake_bin, ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."])
make()
- test_args = ['-n', '4', './ex05_blas']
- mpi_path = self.spec['mpi'].prefix.bin
- mpiexe_f = which('srun', 'mpirun', 'mpiexec', path=mpi_path)
- self.run_test(mpiexe_f.command, test_args,
- purpose='SLATE smoke test')
- make('clean')
+ test_args = ["-n", "4", "./ex05_blas"]
+ mpi_path = self.spec["mpi"].prefix.bin
+ mpiexe_f = which("srun", "mpirun", "mpiexec", path=mpi_path)
+ self.run_test(mpiexe_f.command, test_args, purpose="SLATE smoke test")
+ make("clean")
diff --git a/var/spack/repos/builtin/packages/sleef/package.py b/var/spack/repos/builtin/packages/sleef/package.py
index b1b38f609c..9e2b3081d7 100644
--- a/var/spack/repos/builtin/packages/sleef/package.py
+++ b/var/spack/repos/builtin/packages/sleef/package.py
@@ -10,36 +10,55 @@ class Sleef(CMakePackage):
"""SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT."""
homepage = "https://sleef.org"
- url = "https://github.com/shibatch/sleef/archive/3.2.tar.gz"
- git = "https://github.com/shibatch/sleef.git"
-
- version('master', branch='master')
- version('3.5.1_2020-12-22', commit='e0a003ee838b75d11763aa9c3ef17bf71a725bff') # py-torch@1.8:1.9
- version('3.5.1', sha256='415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab', preferred=True)
- version('3.4.0_2019-07-30', commit='7f523de651585fe25cade462efccca647dcc8d02') # py-torch@1.3:1.7
- version('3.4.0_2019-05-13', commit='9b249c53a80343cc1a394ca961d7d5696ea76409', # py-torch@1.2
- git='https://github.com/zdevito/sleef.git')
- version('3.3.1_2018-12-09', commit='191f655caa25526ae226cf88dd2529265176014a', # py-torch@1.1
- git='https://github.com/zdevito/sleef.git')
- version('3.2_2018-05-09', commit='6ff7a135a1e31979d1e1844a2e7171dfbd34f54f') # py-torch@0.4.1:1.0
- version('3.2', sha256='3130c5966e204e6d6a3ace81e543d12b5b21f60897f1c185bfa587c1bd77bee2')
+ url = "https://github.com/shibatch/sleef/archive/3.2.tar.gz"
+ git = "https://github.com/shibatch/sleef.git"
+
+ version("master", branch="master")
+ version(
+ "3.5.1_2020-12-22", commit="e0a003ee838b75d11763aa9c3ef17bf71a725bff"
+ ) # py-torch@1.8:1.9
+ version(
+ "3.5.1",
+ sha256="415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab",
+ preferred=True,
+ )
+ version(
+ "3.4.0_2019-07-30", commit="7f523de651585fe25cade462efccca647dcc8d02"
+ ) # py-torch@1.3:1.7
+ version(
+ "3.4.0_2019-05-13",
+ commit="9b249c53a80343cc1a394ca961d7d5696ea76409", # py-torch@1.2
+ git="https://github.com/zdevito/sleef.git",
+ )
+ version(
+ "3.3.1_2018-12-09",
+ commit="191f655caa25526ae226cf88dd2529265176014a", # py-torch@1.1
+ git="https://github.com/zdevito/sleef.git",
+ )
+ version(
+ "3.2_2018-05-09", commit="6ff7a135a1e31979d1e1844a2e7171dfbd34f54f"
+ ) # py-torch@0.4.1:1.0
+ version("3.2", sha256="3130c5966e204e6d6a3ace81e543d12b5b21f60897f1c185bfa587c1bd77bee2")
# Some versions have ICE when building RelWithDebInfo with GCC 7
# See https://github.com/shibatch/sleef/issues/234
# See https://github.com/pytorch/pytorch/issues/26892
# See https://github.com/pytorch/pytorch/pull/26993
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
- depends_on('cmake@3.4.3:', type='build')
- depends_on('ninja', type='build')
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("ninja", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
def cmake_args(self):
return [
- self.define('DISABLE_FFTW', True),
- self.define('DISABLE_MPFR', True),
- self.define('DISABLE_SSL', True),
+ self.define("DISABLE_FFTW", True),
+ self.define("DISABLE_MPFR", True),
+ self.define("DISABLE_SSL", True),
]
diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py
index f893ccee20..b06d61762e 100644
--- a/var/spack/repos/builtin/packages/slepc/package.py
+++ b/var/spack/repos/builtin/packages/slepc/package.py
@@ -13,185 +13,212 @@ class Slepc(Package, CudaPackage, ROCmPackage):
"""Scalable Library for Eigenvalue Problem Computations."""
homepage = "https://slepc.upv.es"
- url = "https://slepc.upv.es/download/distrib/slepc-3.17.1.tar.gz"
- git = "https://gitlab.com/slepc/slepc.git"
+ url = "https://slepc.upv.es/download/distrib/slepc-3.17.1.tar.gz"
+ git = "https://gitlab.com/slepc/slepc.git"
- maintainers = ['joseeroman', 'balay']
+ maintainers = ["joseeroman", "balay"]
- tags = ['e4s']
+ tags = ["e4s"]
test_requires_compiler = True
- version('main', branch='main')
- version('3.17.1', sha256='11386cd3f4c0f9727af3c1c59141cc4bf5f83bdf7c50251de0845e406816f575')
- version('3.17.0', sha256='d4685fed01b2351c66706cbd6d08e4083a4645df398ef5ccd68fdfeb2f86ea97')
- version('3.16.3', sha256='b92bd170632a3de4d779f3f0697e7cb9b663e2c34606c9e97d899d7c1868014e')
- version('3.16.2', sha256='3ba58f5005513ae0ab9f3b27579c82d245a82687886eaaa67cad4cd6ba2ca3a1')
- version('3.16.1', sha256='b1a8ad8db1ad88c60616e661ab48fc235d5a8b6965023cb6d691b9a2cfa94efb')
- version('3.16.0', sha256='be7292b85430e52210eb389c4f434b67164e96d19498585e82d117e850d477f4')
- version('3.15.2', sha256='15fd317c4dd07bb41a994ad4c27271a6675af5f2abe40b82a64a27eaae2e632a')
- version('3.15.1', sha256='9c7c3a45f0d9df51decf357abe090ef05114c38a69b7836386a19a96fb203aea')
- version('3.15.0', sha256='e53783ae13acadce274ea65c67186b5ab12332cf17125a694e21d598aa6b5f00')
- version('3.14.2', sha256='3e54578dda1f4c54d35ac27d02f70a43f6837906cb7604dbcec0e033cfb264c8')
- version('3.14.1', sha256='cc78a15e34d26b3e6dde003d4a30064e595225f6185c1975bbd460cb5edd99c7')
- version('3.14.0', sha256='37f8bb270169d1d3f5d43756ac8929d56204e596bd7a78a7daff707513472e46')
- version('3.13.4', sha256='ddc9d58e1a4413218f4e67ea3b255b330bd389d67f394403a27caedf45afa496')
- version('3.13.3', sha256='23d179c22b4b2f22d29fa0ac0a62f5355a964d3bc245a667e9332347c5aa8f81')
- version('3.13.2', sha256='04cb8306cb5d4d990509710d7f8ae949bdc2c7eb850930b8d0b0b5ca99f6c70d')
- version('3.13.1', sha256='f4a5ede4ebdee5e15153ce31c1421209c7b794bd94be1430018615fb0838b879')
- version('3.13.0', sha256='f1f3c2d13a1a6914e7bf4746d38761e107ea866f50927b639e4ad5918dd1e53b')
- version('3.12.2', sha256='a586ce572a928ed87f04961850992a9b8e741677397cbaa3fb028323eddf4598')
- version('3.12.1', sha256='a1cc2e93a81c9f6b86abd81022c9d64b0dc2161e77fb54b987f963bc292e286d')
- version('3.12.0', sha256='872831d961cf76389fafb7553231ae1a6676555850c98ea0e893c06f596b2e9e')
- version('3.11.2', sha256='cd6a73ac0c9f689c12f2987000a7a28fa7df53fdc069fb59a2bb148699e741dd')
- version('3.11.1', sha256='4816070d4ecfeea6212c6944cee22dc7b4763df1eaf6ab7847cc5ac5132608fb')
- version('3.11.0', sha256='bf29043c311fe2c549a25e2b0835095723a3eebc1dff288a233b32913b5762a2')
- version('3.10.2', sha256='0594972293f6586458a54b7c1e1121b311a9c9449060355d52bb3bf09ad6812b')
- version('3.10.1', sha256='f64787c8c2ab3d2f6db3c67d2bfe6ee84f741ce3dfde1d2f8221e131820a12a1')
- version('3.10.0', sha256='069d7a579995e0be1567c5bc869251e29c00044369a786933ca3040149d0412a')
- version('3.9.2', sha256='247585b3f8c10bf50b9464cb8ef7b5f22bead6f96524384897a37ec4146eb03e')
- version('3.9.1', sha256='e174ea7c127d9161eef976b0288f0c56d443a58d6ab2dc8af1e8bd66f156ce17')
- version('3.9.0', sha256='1f3930db56b4065aaf214ea758ddff1a70bf19d45544cbdfd19d2787db4bfe0b')
- version('3.8.2', sha256='1e7d20d20eb26da307d36017461fe4a55f40e947e232739179dbe6412e22ed13')
- version('3.8.0', sha256='c58ccc4e852d1da01112466c48efa41f0839649f3a265925788237d76cd3d963')
- version('3.7.4', sha256='2fb782844e3bc265a8d181c3c3e2632a4ca073111c874c654f1365d33ca2eb8a')
- version('3.7.3', sha256='3ef9bcc645a10c1779d56b3500472ceb66df692e389d635087d30e7c46424df9')
- version('3.7.1', sha256='670216f263e3074b21e0623c01bc0f562fdc0bffcd7bd42dd5d8edbe73a532c2')
- version('3.6.3', sha256='384939d009546db37bc05ed81260c8b5ba451093bf891391d32eb7109ccff876')
- version('3.6.2', sha256='2ab4311bed26ccf7771818665991b2ea3a9b15f97e29fd13911ab1293e8e65df')
-
- variant('arpack', default=True, description='Enables Arpack wrappers')
- variant('blopex', default=False, description='Enables BLOPEX wrappers')
+ version("main", branch="main")
+ version("3.17.1", sha256="11386cd3f4c0f9727af3c1c59141cc4bf5f83bdf7c50251de0845e406816f575")
+ version("3.17.0", sha256="d4685fed01b2351c66706cbd6d08e4083a4645df398ef5ccd68fdfeb2f86ea97")
+ version("3.16.3", sha256="b92bd170632a3de4d779f3f0697e7cb9b663e2c34606c9e97d899d7c1868014e")
+ version("3.16.2", sha256="3ba58f5005513ae0ab9f3b27579c82d245a82687886eaaa67cad4cd6ba2ca3a1")
+ version("3.16.1", sha256="b1a8ad8db1ad88c60616e661ab48fc235d5a8b6965023cb6d691b9a2cfa94efb")
+ version("3.16.0", sha256="be7292b85430e52210eb389c4f434b67164e96d19498585e82d117e850d477f4")
+ version("3.15.2", sha256="15fd317c4dd07bb41a994ad4c27271a6675af5f2abe40b82a64a27eaae2e632a")
+ version("3.15.1", sha256="9c7c3a45f0d9df51decf357abe090ef05114c38a69b7836386a19a96fb203aea")
+ version("3.15.0", sha256="e53783ae13acadce274ea65c67186b5ab12332cf17125a694e21d598aa6b5f00")
+ version("3.14.2", sha256="3e54578dda1f4c54d35ac27d02f70a43f6837906cb7604dbcec0e033cfb264c8")
+ version("3.14.1", sha256="cc78a15e34d26b3e6dde003d4a30064e595225f6185c1975bbd460cb5edd99c7")
+ version("3.14.0", sha256="37f8bb270169d1d3f5d43756ac8929d56204e596bd7a78a7daff707513472e46")
+ version("3.13.4", sha256="ddc9d58e1a4413218f4e67ea3b255b330bd389d67f394403a27caedf45afa496")
+ version("3.13.3", sha256="23d179c22b4b2f22d29fa0ac0a62f5355a964d3bc245a667e9332347c5aa8f81")
+ version("3.13.2", sha256="04cb8306cb5d4d990509710d7f8ae949bdc2c7eb850930b8d0b0b5ca99f6c70d")
+ version("3.13.1", sha256="f4a5ede4ebdee5e15153ce31c1421209c7b794bd94be1430018615fb0838b879")
+ version("3.13.0", sha256="f1f3c2d13a1a6914e7bf4746d38761e107ea866f50927b639e4ad5918dd1e53b")
+ version("3.12.2", sha256="a586ce572a928ed87f04961850992a9b8e741677397cbaa3fb028323eddf4598")
+ version("3.12.1", sha256="a1cc2e93a81c9f6b86abd81022c9d64b0dc2161e77fb54b987f963bc292e286d")
+ version("3.12.0", sha256="872831d961cf76389fafb7553231ae1a6676555850c98ea0e893c06f596b2e9e")
+ version("3.11.2", sha256="cd6a73ac0c9f689c12f2987000a7a28fa7df53fdc069fb59a2bb148699e741dd")
+ version("3.11.1", sha256="4816070d4ecfeea6212c6944cee22dc7b4763df1eaf6ab7847cc5ac5132608fb")
+ version("3.11.0", sha256="bf29043c311fe2c549a25e2b0835095723a3eebc1dff288a233b32913b5762a2")
+ version("3.10.2", sha256="0594972293f6586458a54b7c1e1121b311a9c9449060355d52bb3bf09ad6812b")
+ version("3.10.1", sha256="f64787c8c2ab3d2f6db3c67d2bfe6ee84f741ce3dfde1d2f8221e131820a12a1")
+ version("3.10.0", sha256="069d7a579995e0be1567c5bc869251e29c00044369a786933ca3040149d0412a")
+ version("3.9.2", sha256="247585b3f8c10bf50b9464cb8ef7b5f22bead6f96524384897a37ec4146eb03e")
+ version("3.9.1", sha256="e174ea7c127d9161eef976b0288f0c56d443a58d6ab2dc8af1e8bd66f156ce17")
+ version("3.9.0", sha256="1f3930db56b4065aaf214ea758ddff1a70bf19d45544cbdfd19d2787db4bfe0b")
+ version("3.8.2", sha256="1e7d20d20eb26da307d36017461fe4a55f40e947e232739179dbe6412e22ed13")
+ version("3.8.0", sha256="c58ccc4e852d1da01112466c48efa41f0839649f3a265925788237d76cd3d963")
+ version("3.7.4", sha256="2fb782844e3bc265a8d181c3c3e2632a4ca073111c874c654f1365d33ca2eb8a")
+ version("3.7.3", sha256="3ef9bcc645a10c1779d56b3500472ceb66df692e389d635087d30e7c46424df9")
+ version("3.7.1", sha256="670216f263e3074b21e0623c01bc0f562fdc0bffcd7bd42dd5d8edbe73a532c2")
+ version("3.6.3", sha256="384939d009546db37bc05ed81260c8b5ba451093bf891391d32eb7109ccff876")
+ version("3.6.2", sha256="2ab4311bed26ccf7771818665991b2ea3a9b15f97e29fd13911ab1293e8e65df")
+
+ variant("arpack", default=True, description="Enables Arpack wrappers")
+ variant("blopex", default=False, description="Enables BLOPEX wrappers")
# NOTE: make sure PETSc and SLEPc use the same python.
- depends_on('python@2.6:2.8', type='build', when='@:3.10')
- depends_on('python@2.6:2.8,3.4:', type='build', when='@3.11:')
+ depends_on("python@2.6:2.8", type="build", when="@:3.10")
+ depends_on("python@2.6:2.8,3.4:", type="build", when="@3.11:")
# Cannot mix release and development versions of SLEPc and PETSc:
- depends_on('petsc@main', when='@main')
- depends_on('petsc@3.17.0:3.17', when='@3.17.0:3.17')
- depends_on('petsc@3.16.0:3.16', when='@3.16.0:3.16')
- depends_on('petsc@3.15.0:3.15', when='@3.15.0:3.15')
- depends_on('petsc@3.14.0:3.14', when='@3.14.0:3.14')
- depends_on('petsc@3.13.0:3.13', when='@3.13.0:3.13')
- depends_on('petsc@3.12.0:3.12', when='@3.12.0:3.12')
- depends_on('petsc@3.11.0:3.11', when='@3.11.0:3.11')
- depends_on('petsc@3.10.0:3.10', when='@3.10.0:3.10')
- depends_on('petsc@3.9.0:3.9', when='@3.9.0:3.9')
- depends_on('petsc@3.8.0:3.8', when='@3.8.0:3.8')
- depends_on('petsc@3.7:3.7.7', when='@3.7.1:3.7.4')
- depends_on('petsc@3.6.3:3.6.4', when='@3.6.2:3.6.3')
- depends_on('petsc+cuda', when='+cuda')
- depends_on('arpack-ng~mpi', when='+arpack^petsc~mpi~int64')
- depends_on('arpack-ng+mpi', when='+arpack^petsc+mpi~int64')
+ depends_on("petsc@main", when="@main")
+ depends_on("petsc@3.17.0:3.17", when="@3.17.0:3.17")
+ depends_on("petsc@3.16.0:3.16", when="@3.16.0:3.16")
+ depends_on("petsc@3.15.0:3.15", when="@3.15.0:3.15")
+ depends_on("petsc@3.14.0:3.14", when="@3.14.0:3.14")
+ depends_on("petsc@3.13.0:3.13", when="@3.13.0:3.13")
+ depends_on("petsc@3.12.0:3.12", when="@3.12.0:3.12")
+ depends_on("petsc@3.11.0:3.11", when="@3.11.0:3.11")
+ depends_on("petsc@3.10.0:3.10", when="@3.10.0:3.10")
+ depends_on("petsc@3.9.0:3.9", when="@3.9.0:3.9")
+ depends_on("petsc@3.8.0:3.8", when="@3.8.0:3.8")
+ depends_on("petsc@3.7:3.7.7", when="@3.7.1:3.7.4")
+ depends_on("petsc@3.6.3:3.6.4", when="@3.6.2:3.6.3")
+ depends_on("petsc+cuda", when="+cuda")
+ depends_on("arpack-ng~mpi", when="+arpack^petsc~mpi~int64")
+ depends_on("arpack-ng+mpi", when="+arpack^petsc+mpi~int64")
for arch in ROCmPackage.amdgpu_targets:
rocm_dep = "+rocm amdgpu_target={0}".format(arch)
depends_on("petsc {0}".format(rocm_dep), when=rocm_dep)
- patch('install_name_371.patch', when='@3.7.1')
+ patch("install_name_371.patch", when="@3.7.1")
# Arpack can not be used with 64bit integers.
- conflicts('+arpack', when='@:3.12 ^petsc+int64')
- conflicts('+blopex', when='^petsc+int64')
-
- resource(name='blopex',
- url='https://slepc.upv.es/download/external/blopex-1.1.2.tar.gz',
- sha256='0081ee4c4242e635a8113b32f655910ada057c59043f29af4b613508a762f3ac',
- destination=join_path('installed-arch-' + sys.platform + '-c-opt',
- 'externalpackages'),
- when='@:3.12+blopex')
-
- resource(name='blopex',
- git='https://github.com/lobpcg/blopex',
- commit='6eba31f0e071f134a6e4be8eccfb8d9d7bdd5ac7',
- destination=join_path('installed-arch-' + sys.platform + '-c-opt',
- 'externalpackages'),
- when='@3.13.0:+blopex')
+ conflicts("+arpack", when="@:3.12 ^petsc+int64")
+ conflicts("+blopex", when="^petsc+int64")
+
+ resource(
+ name="blopex",
+ url="https://slepc.upv.es/download/external/blopex-1.1.2.tar.gz",
+ sha256="0081ee4c4242e635a8113b32f655910ada057c59043f29af4b613508a762f3ac",
+ destination=join_path("installed-arch-" + sys.platform + "-c-opt", "externalpackages"),
+ when="@:3.12+blopex",
+ )
+
+ resource(
+ name="blopex",
+ git="https://github.com/lobpcg/blopex",
+ commit="6eba31f0e071f134a6e4be8eccfb8d9d7bdd5ac7",
+ destination=join_path("installed-arch-" + sys.platform + "-c-opt", "externalpackages"),
+ when="@3.13.0:+blopex",
+ )
def install(self, spec, prefix):
# set SLEPC_DIR for installation
# Note that one should set the current (temporary) directory instead
# its symlink in spack/stage/ !
- os.environ['SLEPC_DIR'] = os.getcwd()
+ os.environ["SLEPC_DIR"] = os.getcwd()
- if self.spec.satisfies('%cce'):
- filter_file(' flags = l',
- ' flags = l\n flags += ["-fuse-ld=gold"]',
- 'config/package.py')
+ if self.spec.satisfies("%cce"):
+ filter_file(
+ " flags = l",
+ ' flags = l\n flags += ["-fuse-ld=gold"]',
+ "config/package.py",
+ )
options = []
- if '+arpack' in spec:
- if spec.satisfies('@3.15:'):
- options.extend([
- '--with-arpack-include=%s' % spec['arpack-ng'].prefix.include,
- '--with-arpack-lib=%s' % spec['arpack-ng'].libs.joined()
- ])
+ if "+arpack" in spec:
+ if spec.satisfies("@3.15:"):
+ options.extend(
+ [
+ "--with-arpack-include=%s" % spec["arpack-ng"].prefix.include,
+ "--with-arpack-lib=%s" % spec["arpack-ng"].libs.joined(),
+ ]
+ )
else:
- if spec.satisfies('@:3.12'):
- arpackopt = '--with-arpack-flags'
+ if spec.satisfies("@:3.12"):
+ arpackopt = "--with-arpack-flags"
else:
- arpackopt = '--with-arpack-lib'
- if 'arpack-ng~mpi' in spec:
- arpacklib = '-larpack'
+ arpackopt = "--with-arpack-lib"
+ if "arpack-ng~mpi" in spec:
+ arpacklib = "-larpack"
else:
- arpacklib = '-lparpack,-larpack'
- options.extend([
- '--with-arpack-dir=%s' % spec['arpack-ng'].prefix,
- '%s=%s' % (arpackopt, arpacklib)
- ])
+ arpacklib = "-lparpack,-larpack"
+ options.extend(
+ [
+ "--with-arpack-dir=%s" % spec["arpack-ng"].prefix,
+ "%s=%s" % (arpackopt, arpacklib),
+ ]
+ )
# It isn't possible to install BLOPEX separately and link to it;
# BLOPEX has to be downloaded with SLEPc at configure time
- if '+blopex' in spec:
- options.append('--download-blopex')
+ if "+blopex" in spec:
+ options.append("--download-blopex")
- python('configure', '--prefix=%s' % prefix, *options)
+ python("configure", "--prefix=%s" % prefix, *options)
- make('MAKE_NP=%s' % make_jobs, parallel=False)
+ make("MAKE_NP=%s" % make_jobs, parallel=False)
if self.run_tests:
- make('test', parallel=False)
+ make("test", parallel=False)
- make('install', parallel=False)
+ make("install", parallel=False)
def setup_run_environment(self, env):
# set SLEPC_DIR & PETSC_DIR in the module file
- env.set('SLEPC_DIR', self.prefix)
- env.set('PETSC_DIR', self.spec['petsc'].prefix)
+ env.set("SLEPC_DIR", self.prefix)
+ env.set("PETSC_DIR", self.spec["petsc"].prefix)
def setup_dependent_build_environment(self, env, dependent_spec):
# Set up SLEPC_DIR for dependent packages built with SLEPc
- env.set('SLEPC_DIR', self.prefix)
+ env.set("SLEPC_DIR", self.prefix)
@property
def archive_files(self):
- return [join_path(self.stage.source_path, 'configure.log'),
- join_path(self.stage.source_path, 'make.log')]
+ return [
+ join_path(self.stage.source_path, "configure.log"),
+ join_path(self.stage.source_path, "make.log"),
+ ]
def run_hello_test(self):
"""Run stand alone test: hello"""
test_dir = self.test_suite.current_test_data_dir
if not os.path.exists(test_dir):
- print('Skipping slepc test')
+ print("Skipping slepc test")
return
- exe = 'hello'
- cc_exe = os.environ['CC']
-
- self.run_test(exe=cc_exe,
- options=['-I{0}'.format(self.prefix.include),
- '-L', self.prefix.lib, '-l', 'slepc',
- '-L', self.spec['petsc'].prefix.lib, '-l', 'petsc',
- '-L', self.spec['mpi'].prefix.lib, '-l', 'mpi',
- '-o', exe, join_path(test_dir, 'hello.c')],
- purpose='test: compile {0} example'.format(exe),
- work_dir=test_dir)
-
- self.run_test(exe=exe,
- options=[],
- expected=['Hello world'],
- purpose='test: run {0} example'.format(exe),
- work_dir=test_dir)
+ exe = "hello"
+ cc_exe = os.environ["CC"]
+
+ self.run_test(
+ exe=cc_exe,
+ options=[
+ "-I{0}".format(self.prefix.include),
+ "-L",
+ self.prefix.lib,
+ "-l",
+ "slepc",
+ "-L",
+ self.spec["petsc"].prefix.lib,
+ "-l",
+ "petsc",
+ "-L",
+ self.spec["mpi"].prefix.lib,
+ "-l",
+ "mpi",
+ "-o",
+ exe,
+ join_path(test_dir, "hello.c"),
+ ],
+ purpose="test: compile {0} example".format(exe),
+ work_dir=test_dir,
+ )
+
+ self.run_test(
+ exe=exe,
+ options=[],
+ expected=["Hello world"],
+ purpose="test: run {0} example".format(exe),
+ work_dir=test_dir,
+ )
def test(self):
self.run_hello_test()
diff --git a/var/spack/repos/builtin/packages/slf4j/package.py b/var/spack/repos/builtin/packages/slf4j/package.py
index ae0645bbf6..ca3462b3c1 100644
--- a/var/spack/repos/builtin/packages/slf4j/package.py
+++ b/var/spack/repos/builtin/packages/slf4j/package.py
@@ -14,12 +14,12 @@ class Slf4j(MavenPackage):
framework at deployment time."""
homepage = "http://www.slf4j.org/"
- url = "https://github.com/qos-ch/slf4j/archive/v_1.7.30.tar.gz"
+ url = "https://github.com/qos-ch/slf4j/archive/v_1.7.30.tar.gz"
- version('1.7.30', sha256='217519588d0dd1f85cee2357ca31afdd7c0a1a8a6963953b3bf455cf5174633e')
- version('1.7.29', sha256='e584f1f380d8c64ed8a45944cec3c2fb4d6b850783fd5bc166a9246bc8b6ac56')
- version('1.7.28', sha256='14063bfcbc942bda03e07759e64307163c1646d70a42c632f066812a8630eec7')
- version('1.7.27', sha256='238883cab9808a5cd58cf5245f9f13ac645c9fca878b60d959e00fc4ac588231')
- version('1.7.26', sha256='dc422820f92e581241c4cfe796d01531d12bad3dc04225bdb315761871156942')
+ version("1.7.30", sha256="217519588d0dd1f85cee2357ca31afdd7c0a1a8a6963953b3bf455cf5174633e")
+ version("1.7.29", sha256="e584f1f380d8c64ed8a45944cec3c2fb4d6b850783fd5bc166a9246bc8b6ac56")
+ version("1.7.28", sha256="14063bfcbc942bda03e07759e64307163c1646d70a42c632f066812a8630eec7")
+ version("1.7.27", sha256="238883cab9808a5cd58cf5245f9f13ac645c9fca878b60d959e00fc4ac588231")
+ version("1.7.26", sha256="dc422820f92e581241c4cfe796d01531d12bad3dc04225bdb315761871156942")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/slider/package.py b/var/spack/repos/builtin/packages/slider/package.py
index b0d7c2178b..bf20bff475 100644
--- a/var/spack/repos/builtin/packages/slider/package.py
+++ b/var/spack/repos/builtin/packages/slider/package.py
@@ -12,26 +12,29 @@ class Slider(MavenPackage):
long-running data access applications in Hadoop."""
homepage = "https://www.cloudera.com/products/open-source/apache-hadoop/apache-slider.html"
- url = "https://archive.apache.org/dist/incubator/slider/0.92.0-incubating/apache-slider-0.92.0-incubating-source-release.tar.gz"
+ url = "https://archive.apache.org/dist/incubator/slider/0.92.0-incubating/apache-slider-0.92.0-incubating-source-release.tar.gz"
list_url = "http://archive.apache.org/dist/incubator/slider"
list_depth = 1
- version('0.92.0', sha256='485f02f4f9f0b270017717c9471b83b0d77d005d25261b741fb381791ce838b9')
- version('0.91.0', sha256='212a5cde6de60060c9a081f553d66940b70af4bccb469072febb554c4005bcef')
- version('0.90.2', sha256='410941f772d29f564c4bb90ca0631f29dc895f509048cb6052f8695302e3f944')
+ version("0.92.0", sha256="485f02f4f9f0b270017717c9471b83b0d77d005d25261b741fb381791ce838b9")
+ version("0.91.0", sha256="212a5cde6de60060c9a081f553d66940b70af4bccb469072febb554c4005bcef")
+ version("0.90.2", sha256="410941f772d29f564c4bb90ca0631f29dc895f509048cb6052f8695302e3f944")
- depends_on('java@8', type=('build', 'run'))
- depends_on('python@2.7.0:2.7', type='run')
+ depends_on("java@8", type=("build", "run"))
+ depends_on("python@2.7.0:2.7", type="run")
def url_for_version(self, version):
- return "http://archive.apache.org/dist/incubator/slider/{0}-incubating/apache-slider-{0}-incubating-source-release.tar.gz".format(version)
+ return "http://archive.apache.org/dist/incubator/slider/{0}-incubating/apache-slider-{0}-incubating-source-release.tar.gz".format(
+ version
+ )
def install(self, spec, prefix):
- slider_path = join_path(self.stage.source_path,
- 'slider-assembly', 'target',
- 'slider-{0}-incubating-all'
- .format(spec.version),
- 'slider-{0}-incubating'
- .format(spec.version))
+ slider_path = join_path(
+ self.stage.source_path,
+ "slider-assembly",
+ "target",
+ "slider-{0}-incubating-all".format(spec.version),
+ "slider-{0}-incubating".format(spec.version),
+ )
with working_dir(slider_path):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/slirp4netns/package.py b/var/spack/repos/builtin/packages/slirp4netns/package.py
index 3aa8dc6393..763c7f29e6 100644
--- a/var/spack/repos/builtin/packages/slirp4netns/package.py
+++ b/var/spack/repos/builtin/packages/slirp4netns/package.py
@@ -9,17 +9,17 @@ from spack.package import *
class Slirp4netns(AutotoolsPackage):
"""User-mode networking for unprivileged network namespaces"""
- homepage = 'https://github.com/rootless-containers/slirp4netns'
- url = 'https://github.com/rootless-containers/slirp4netns/archive/v1.1.12.tar.gz'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/rootless-containers/slirp4netns"
+ url = "https://github.com/rootless-containers/slirp4netns/archive/v1.1.12.tar.gz"
+ maintainers = ["bernhardkaindl"]
- version('1.1.12', sha256='279dfe58a61b9d769f620b6c0552edd93daba75d7761f7c3742ec4d26aaa2962')
+ version("1.1.12", sha256="279dfe58a61b9d769f620b6c0552edd93daba75d7761f7c3742ec4d26aaa2962")
- depends_on('autoconf', type='build', when='@1.1.12')
- depends_on('automake', type='build', when='@1.1.12')
- depends_on('libtool', type='build', when='@1.1.12')
- depends_on('pkgconfig', type='build')
- depends_on('glib')
- depends_on('libcap')
- depends_on('libseccomp')
- depends_on('libslirp')
+ depends_on("autoconf", type="build", when="@1.1.12")
+ depends_on("automake", type="build", when="@1.1.12")
+ depends_on("libtool", type="build", when="@1.1.12")
+ depends_on("pkgconfig", type="build")
+ depends_on("glib")
+ depends_on("libcap")
+ depends_on("libseccomp")
+ depends_on("libslirp")
diff --git a/var/spack/repos/builtin/packages/sloccount/package.py b/var/spack/repos/builtin/packages/sloccount/package.py
index ea642ab669..1c3fd07fea 100644
--- a/var/spack/repos/builtin/packages/sloccount/package.py
+++ b/var/spack/repos/builtin/packages/sloccount/package.py
@@ -13,23 +13,22 @@ class Sloccount(MakefilePackage):
programs."""
homepage = "https://dwheeler.com/sloccount/"
- url = "https://dwheeler.com/sloccount/sloccount-2.26.tar.gz"
+ url = "https://dwheeler.com/sloccount/sloccount-2.26.tar.gz"
- version('2.26', sha256='fa7fa2bbf2f627dd2d0fdb958bd8ec4527231254c120a8b4322405d8a4e3d12b')
+ version("2.26", sha256="fa7fa2bbf2f627dd2d0fdb958bd8ec4527231254c120a8b4322405d8a4e3d12b")
# md5sum needed at run-time
- depends_on('coreutils', type=('build', 'run'))
- depends_on('flex', type='build')
+ depends_on("coreutils", type=("build", "run"))
+ depends_on("flex", type="build")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
- makefile.filter('^PREFIX=.*', 'PREFIX=' + prefix)
- makefile.filter('^CC=.*', 'CC=' + spack_cc)
+ makefile = FileFilter("makefile")
+ makefile.filter("^PREFIX=.*", "PREFIX=" + prefix)
+ makefile.filter("^CC=.*", "CC=" + spack_cc)
# Needed for `make test` to pass
- makefile.filter('PATH=.:${PATH}', 'PATH=$(CURDIR):${PATH}',
- string=True)
+ makefile.filter("PATH=.:${PATH}", "PATH=$(CURDIR):${PATH}", string=True)
def install(self, spec, prefix):
mkdir(prefix.bin)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/slurm-drmaa/package.py b/var/spack/repos/builtin/packages/slurm-drmaa/package.py
index f5581a0cfc..404ff2340d 100644
--- a/var/spack/repos/builtin/packages/slurm-drmaa/package.py
+++ b/var/spack/repos/builtin/packages/slurm-drmaa/package.py
@@ -7,34 +7,37 @@ from spack.package import *
class SlurmDrmaa(AutotoolsPackage):
- '''
+ """
DRMAA for Slurm is an implementation of Open Grid Forum DRMAA 1.0 (Distributed
Resource Management Application API) specification for submission and control of
jobs to SLURM. Using DRMAA, grid applications builders, portal developers and
ISVs can use the same high-level API to link their software with different
cluster/resource management systems.
- '''
+ """
+
homepage = "https://github.com/natefoo/slurm-drmaa"
- url = "https://github.com/natefoo/slurm-drmaa/releases/download/1.1.2/slurm-drmaa-1.1.2.tar.gz"
- git = 'https://github.com/natefoo/slurm-drmaa.git'
+ url = "https://github.com/natefoo/slurm-drmaa/releases/download/1.1.2/slurm-drmaa-1.1.2.tar.gz"
+ git = "https://github.com/natefoo/slurm-drmaa.git"
- maintainers = ['pwablito']
+ maintainers = ["pwablito"]
- version('main', branch='main', submodules=True)
- version('1.1.2', sha256='5bfe25d501de83729df3c8c8f28535b9da3e99aea7738e259903abd6f1f5c836')
+ version("main", branch="main", submodules=True)
+ version("1.1.2", sha256="5bfe25d501de83729df3c8c8f28535b9da3e99aea7738e259903abd6f1f5c836")
# Remove this patch when it is merged into main:
- patch('https://github.com/natefoo/slurm-drmaa/pull/62.patch?full_index=1',
- sha256='ec8d2963c731f7054f7d3c130232e731bc92366280100e108d93a3685fddfca7',
- when='@main')
+ patch(
+ "https://github.com/natefoo/slurm-drmaa/pull/62.patch?full_index=1",
+ sha256="ec8d2963c731f7054f7d3c130232e731bc92366280100e108d93a3685fddfca7",
+ when="@main",
+ )
- depends_on('autoconf', type='build', when='@main')
- depends_on('automake', type='build', when='@main')
- depends_on('libtool', type='build', when='@main')
- depends_on('bison', type='build', when='@main')
+ depends_on("autoconf", type="build", when="@main")
+ depends_on("automake", type="build", when="@main")
+ depends_on("libtool", type="build", when="@main")
+ depends_on("bison", type="build", when="@main")
depends_on("slurm")
- depends_on("slurm@:20-11-8-1", when='@1.1.2')
+ depends_on("slurm@:20-11-8-1", when="@1.1.2")
depends_on("gperf")
depends_on("ragel")
diff --git a/var/spack/repos/builtin/packages/slurm/package.py b/var/spack/repos/builtin/packages/slurm/package.py
index 4270ba30fa..c19d0bd764 100644
--- a/var/spack/repos/builtin/packages/slurm/package.py
+++ b/var/spack/repos/builtin/packages/slurm/package.py
@@ -23,41 +23,105 @@ class Slurm(AutotoolsPackage):
queue of pending work.
"""
- homepage = 'https://slurm.schedmd.com'
- url = 'https://github.com/SchedMD/slurm/archive/slurm-21-08-8-2.tar.gz'
+ homepage = "https://slurm.schedmd.com"
+ url = "https://github.com/SchedMD/slurm/archive/slurm-21-08-8-2.tar.gz"
- version('21-08-8-2', sha256='876d7dfa716990d7e579cfb9c6ffc123258e03a1450e993ade596d2ee90afcdd')
- version('21-08-8-1', sha256='47d4dd2f391abcb856ecfddb51145c86ead89554f24efb586c59f0e38491ff36')
- version('20-11-9-1', sha256='98d36f3487e95af610db305a3ee1c1a7d370a3e1efef9fabee8b0edb98a6604b')
+ version("21-08-8-2", sha256="876d7dfa716990d7e579cfb9c6ffc123258e03a1450e993ade596d2ee90afcdd")
+ version("21-08-8-1", sha256="47d4dd2f391abcb856ecfddb51145c86ead89554f24efb586c59f0e38491ff36")
+ version("20-11-9-1", sha256="98d36f3487e95af610db305a3ee1c1a7d370a3e1efef9fabee8b0edb98a6604b")
# Due to CVE 2022-29500, CVE 2022-29501, and CVE 2022-29502, prior to 21.08.8 and
# 20.11.9 are deprecated
- version('21-08-1-1', sha256='23321719101762b055a6b1da6ff4261f5e6c469bce038c6c23549840453862e7', deprecated=True)
- version('21-08-0-1', sha256='c8caf9b5f715c02b6f9e55e9737ee7b99f93c5efc8dcc34c2ce40bed0aea5402', deprecated=True)
- version('20-11-8-1', sha256='1cafed56ae9d90387a5dc6092090c174e144a6e5a31330f748d1fd3a616ae92f', deprecated=True)
- version('20-11-7-1', sha256='7d92babd97d0b8750b8c25eced4507323aff32a9d85af3a644c1acedbddb9d2f', deprecated=True)
- version('20-02-7-1', sha256='060acf966af53e75c7eaae83c4f42abdcc60702838c2dcd35cb01468b45a68a1', deprecated=True)
+ version(
+ "21-08-1-1",
+ sha256="23321719101762b055a6b1da6ff4261f5e6c469bce038c6c23549840453862e7",
+ deprecated=True,
+ )
+ version(
+ "21-08-0-1",
+ sha256="c8caf9b5f715c02b6f9e55e9737ee7b99f93c5efc8dcc34c2ce40bed0aea5402",
+ deprecated=True,
+ )
+ version(
+ "20-11-8-1",
+ sha256="1cafed56ae9d90387a5dc6092090c174e144a6e5a31330f748d1fd3a616ae92f",
+ deprecated=True,
+ )
+ version(
+ "20-11-7-1",
+ sha256="7d92babd97d0b8750b8c25eced4507323aff32a9d85af3a644c1acedbddb9d2f",
+ deprecated=True,
+ )
+ version(
+ "20-02-7-1",
+ sha256="060acf966af53e75c7eaae83c4f42abdcc60702838c2dcd35cb01468b45a68a1",
+ deprecated=True,
+ )
# Due to CVE-2021-31215, all versions prior to 20.11.7 or 20.02.7 are deprecated.
- version('20-11-5-1', sha256='d0634c6c6cc79bde38d19f0ef0de0de3b07907830f5e45be6f4a9ca4259f8f67', deprecated=True)
- version('20-11-4-1', sha256='06c5333e85f531730bf1c6eb48a8d48a551d9090540ce37b78181024273fb6bd', deprecated=True)
- version('20-11-0-1', sha256='404f72c287c5aad887a5b141304e4962548c12f79b04fc9c88550bc024604228', deprecated=True)
- version('20-02-4-1', sha256='d32a39df20a99430973de6692870269f38443d8b963c32b4d6475c9d5e92cd73', deprecated=True)
- version('19-05-6-1', sha256='1b83bce4260af06d644253b1f2ec2979b80b4418c631e9c9f48c2729ae2c95ba', deprecated=True)
- version('19-05-5-1', sha256='e53e67bd0bb4c37a9c481998764a746467a96bc41d6527569080514f36452c07', deprecated=True)
- version('18-08-9-1', sha256='32eb0b612ca18ade1e35c3c9d3b4d71aba2b857446841606a9e54d0a417c3b03', deprecated=True)
- version('18-08-0-1', sha256='62129d0f2949bc8a68ef86fe6f12e0715cbbf42f05b8da6ef7c3e7e7240b50d9', deprecated=True)
- version('17-11-9-2', sha256='6e34328ed68262e776f524f59cca79ac75bcd18030951d45ea545a7ba4c45906', deprecated=True)
- version('17-02-6-1', sha256='97b3a3639106bd6d44988ed018e2657f3d640a3d5c105413d05b4721bc8ee25e', deprecated=True)
-
- variant('gtk', default=False, description='Enable GTK+ support')
- variant('mariadb', default=False, description='Use MariaDB instead of MySQL')
-
- variant('hwloc', default=False, description='Enable hwloc support')
- variant('hdf5', default=False, description='Enable hdf5 support')
- variant('readline', default=True, description='Enable readline support')
- variant('pmix', default=False, description='Enable PMIx support')
- variant('sysconfdir', default='PREFIX/etc', values=any,
- description='Set system configuration path (possibly /etc/slurm)')
- variant('restd', default=False, description='Enable the slurmrestd server')
+ version(
+ "20-11-5-1",
+ sha256="d0634c6c6cc79bde38d19f0ef0de0de3b07907830f5e45be6f4a9ca4259f8f67",
+ deprecated=True,
+ )
+ version(
+ "20-11-4-1",
+ sha256="06c5333e85f531730bf1c6eb48a8d48a551d9090540ce37b78181024273fb6bd",
+ deprecated=True,
+ )
+ version(
+ "20-11-0-1",
+ sha256="404f72c287c5aad887a5b141304e4962548c12f79b04fc9c88550bc024604228",
+ deprecated=True,
+ )
+ version(
+ "20-02-4-1",
+ sha256="d32a39df20a99430973de6692870269f38443d8b963c32b4d6475c9d5e92cd73",
+ deprecated=True,
+ )
+ version(
+ "19-05-6-1",
+ sha256="1b83bce4260af06d644253b1f2ec2979b80b4418c631e9c9f48c2729ae2c95ba",
+ deprecated=True,
+ )
+ version(
+ "19-05-5-1",
+ sha256="e53e67bd0bb4c37a9c481998764a746467a96bc41d6527569080514f36452c07",
+ deprecated=True,
+ )
+ version(
+ "18-08-9-1",
+ sha256="32eb0b612ca18ade1e35c3c9d3b4d71aba2b857446841606a9e54d0a417c3b03",
+ deprecated=True,
+ )
+ version(
+ "18-08-0-1",
+ sha256="62129d0f2949bc8a68ef86fe6f12e0715cbbf42f05b8da6ef7c3e7e7240b50d9",
+ deprecated=True,
+ )
+ version(
+ "17-11-9-2",
+ sha256="6e34328ed68262e776f524f59cca79ac75bcd18030951d45ea545a7ba4c45906",
+ deprecated=True,
+ )
+ version(
+ "17-02-6-1",
+ sha256="97b3a3639106bd6d44988ed018e2657f3d640a3d5c105413d05b4721bc8ee25e",
+ deprecated=True,
+ )
+
+ variant("gtk", default=False, description="Enable GTK+ support")
+ variant("mariadb", default=False, description="Use MariaDB instead of MySQL")
+
+ variant("hwloc", default=False, description="Enable hwloc support")
+ variant("hdf5", default=False, description="Enable hdf5 support")
+ variant("readline", default=True, description="Enable readline support")
+ variant("pmix", default=False, description="Enable PMIx support")
+ variant(
+ "sysconfdir",
+ default="PREFIX/etc",
+ values=any,
+ description="Set system configuration path (possibly /etc/slurm)",
+ )
+ variant("restd", default=False, description="Enable the slurmrestd server")
# TODO: add variant for BG/Q and Cray support
@@ -65,40 +129,40 @@ class Slurm(AutotoolsPackage):
# TODO: add support for lua
- depends_on('curl')
- depends_on('glib')
- depends_on('json-c')
- depends_on('lz4')
- depends_on('munge')
- depends_on('openssl')
- depends_on('pkgconfig', type='build')
- depends_on('readline', when='+readline')
- depends_on('zlib')
+ depends_on("curl")
+ depends_on("glib")
+ depends_on("json-c")
+ depends_on("lz4")
+ depends_on("munge")
+ depends_on("openssl")
+ depends_on("pkgconfig", type="build")
+ depends_on("readline", when="+readline")
+ depends_on("zlib")
- depends_on('gtkplus', when='+gtk')
- depends_on('hdf5', when='+hdf5')
- depends_on('hwloc', when='+hwloc')
- depends_on('mariadb', when='+mariadb')
- depends_on('pmix', when='+pmix')
+ depends_on("gtkplus", when="+gtk")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("hwloc", when="+hwloc")
+ depends_on("mariadb", when="+mariadb")
+ depends_on("pmix", when="+pmix")
- depends_on('http-parser', when='+restd')
- depends_on('libyaml', when='+restd')
- depends_on('libjwt', when='+restd')
+ depends_on("http-parser", when="+restd")
+ depends_on("libyaml", when="+restd")
+ depends_on("libjwt", when="+restd")
- executables = ['^srun$', '^salloc$']
+ executables = ["^srun$", "^salloc$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str).rstrip()
- match = re.search(r'slurm\s*([0-9.]+)', output)
+ output = Executable(exe)("--version", output=str).rstrip()
+ match = re.search(r"slurm\s*([0-9.]+)", output)
return match.group(1) if match else None
def flag_handler(self, name, flags):
wrapper_flags = None
- if name == 'cflags':
- if self.spec.satisfies('@:20-02-1 %gcc@10:'):
- wrapper_flags = ['-fcommon']
+ if name == "cflags":
+ if self.spec.satisfies("@:20-02-1 %gcc@10:"):
+ wrapper_flags = ["-fcommon"]
return (wrapper_flags, None, flags)
@@ -107,51 +171,48 @@ class Slurm(AutotoolsPackage):
spec = self.spec
args = [
- '--with-libcurl={0}'.format(spec['curl'].prefix),
- '--with-json={0}'.format(spec['json-c'].prefix),
- '--with-lz4={0}'.format(spec['lz4'].prefix),
- '--with-munge={0}'.format(spec['munge'].prefix),
- '--with-ssl={0}'.format(spec['openssl'].prefix),
- '--with-zlib={0}'.format(spec['zlib'].prefix),
+ "--with-libcurl={0}".format(spec["curl"].prefix),
+ "--with-json={0}".format(spec["json-c"].prefix),
+ "--with-lz4={0}".format(spec["lz4"].prefix),
+ "--with-munge={0}".format(spec["munge"].prefix),
+ "--with-ssl={0}".format(spec["openssl"].prefix),
+ "--with-zlib={0}".format(spec["zlib"].prefix),
]
- if '~gtk' in spec:
- args.append('--disable-gtktest')
+ if "~gtk" in spec:
+ args.append("--disable-gtktest")
- if '~readline' in spec:
- args.append('--without-readline')
+ if "~readline" in spec:
+ args.append("--without-readline")
- if '+hdf5' in spec:
- args.append(
- '--with-hdf5={0}'.format(spec['hdf5'].prefix.bin.h5cc)
- )
+ if "+hdf5" in spec:
+ args.append("--with-hdf5={0}".format(spec["hdf5"].prefix.bin.h5cc))
else:
- args.append('--without-hdf5')
+ args.append("--without-hdf5")
- if '+restd' in spec:
- args.append('--enable-slurmrestd')
- args.append('--with-http-parser={0}'.format(
- spec['http-parser'].prefix))
- args.append('--with-jwt={0}'.format(spec['libjwt'].prefix))
+ if "+restd" in spec:
+ args.append("--enable-slurmrestd")
+ args.append("--with-http-parser={0}".format(spec["http-parser"].prefix))
+ args.append("--with-jwt={0}".format(spec["libjwt"].prefix))
else:
- args.append('--disable-slurmrestd')
+ args.append("--disable-slurmrestd")
- if '+hwloc' in spec:
- args.append('--with-hwloc={0}'.format(spec['hwloc'].prefix))
+ if "+hwloc" in spec:
+ args.append("--with-hwloc={0}".format(spec["hwloc"].prefix))
else:
- args.append('--without-hwloc')
+ args.append("--without-hwloc")
- if '+pmix' in spec:
- args.append('--with-pmix={0}'.format(spec['pmix'].prefix))
+ if "+pmix" in spec:
+ args.append("--with-pmix={0}".format(spec["pmix"].prefix))
else:
- args.append('--without-pmix')
+ args.append("--without-pmix")
- sysconfdir = spec.variants['sysconfdir'].value
- if sysconfdir != 'PREFIX/etc':
- args.append('--sysconfdir={0}'.format(sysconfdir))
+ sysconfdir = spec.variants["sysconfdir"].value
+ if sysconfdir != "PREFIX/etc":
+ args.append("--sysconfdir={0}".format(sysconfdir))
return args
def install(self, spec, prefix):
- make('install')
- make('-C', 'contribs/pmi2', 'install')
+ make("install")
+ make("-C", "contribs/pmi2", "install")
diff --git a/var/spack/repos/builtin/packages/smalt/package.py b/var/spack/repos/builtin/packages/smalt/package.py
index 3260e3589b..0dd67ca241 100644
--- a/var/spack/repos/builtin/packages/smalt/package.py
+++ b/var/spack/repos/builtin/packages/smalt/package.py
@@ -12,4 +12,4 @@ class Smalt(AutotoolsPackage, SourceforgePackage):
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')
+ version("0.7.6", sha256="89ccdfe471edba3577b43de9ebfdaedb5cd6e26b02bf4000c554253433796b31")
diff --git a/var/spack/repos/builtin/packages/smartdenovo/package.py b/var/spack/repos/builtin/packages/smartdenovo/package.py
index 31e81e3153..339980b040 100644
--- a/var/spack/repos/builtin/packages/smartdenovo/package.py
+++ b/var/spack/repos/builtin/packages/smartdenovo/package.py
@@ -11,19 +11,36 @@ class Smartdenovo(MakefilePackage):
(ONT) data."""
homepage = "https://github.com/ruanjue/smartdenovo"
- git = "https://github.com/ruanjue/smartdenovo.git"
+ git = "https://github.com/ruanjue/smartdenovo.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("sse2neon", when="target=aarch64:")
- patch('aarch64.patch', sha256='7dd4bca28aafb0680cc1823aa58ac9000819993538e92628554666c4b3acc470', when='target=aarch64:')
- patch('inline-limit.patch', sha256='9f514ed72c37cf52ee2ffbe06f9ca1ed5a3e0819dab5876ecd83107c5e5bed81')
+ patch(
+ "aarch64.patch",
+ sha256="7dd4bca28aafb0680cc1823aa58ac9000819993538e92628554666c4b3acc470",
+ when="target=aarch64:",
+ )
+ patch(
+ "inline-limit.patch",
+ sha256="9f514ed72c37cf52ee2ffbe06f9ca1ed5a3e0819dab5876ecd83107c5e5bed81",
+ )
def install(self, spec, prefix):
install_files = [
- 'pairaln', 'wtpre', 'wtcyc', 'wtmer', 'wtzmo', 'wtobt',
- 'wtclp', 'wtext', 'wtgbo', 'wtlay', 'wtcns', 'wtmsa'
+ "pairaln",
+ "wtpre",
+ "wtcyc",
+ "wtmer",
+ "wtzmo",
+ "wtobt",
+ "wtclp",
+ "wtext",
+ "wtgbo",
+ "wtlay",
+ "wtcns",
+ "wtmsa",
]
mkdirp(prefix.bin)
for f in install_files:
diff --git a/var/spack/repos/builtin/packages/smartmontools/package.py b/var/spack/repos/builtin/packages/smartmontools/package.py
index f715614c9c..85968587d0 100644
--- a/var/spack/repos/builtin/packages/smartmontools/package.py
+++ b/var/spack/repos/builtin/packages/smartmontools/package.py
@@ -10,10 +10,10 @@ class Smartmontools(AutotoolsPackage):
"""S.M.A.R.T. utility toolset."""
homepage = "https://smartmontools.sourceforge.net"
- url = "https://nchc.dl.sourceforge.net/project/smartmontools/smartmontools/6.6/smartmontools-6.6.tar.gz"
+ url = "https://nchc.dl.sourceforge.net/project/smartmontools/smartmontools/6.6/smartmontools-6.6.tar.gz"
- version('6.6', sha256='51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054')
+ version("6.6", sha256="51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.usr.lib)
+ env.prepend_path("PATH", self.prefix.sbin)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.usr.lib)
diff --git a/var/spack/repos/builtin/packages/smof/package.py b/var/spack/repos/builtin/packages/smof/package.py
index eb5a6f5f23..bf796310d2 100644
--- a/var/spack/repos/builtin/packages/smof/package.py
+++ b/var/spack/repos/builtin/packages/smof/package.py
@@ -13,18 +13,17 @@ class Smof(Package):
"""Explore and analyze biological sequence data"""
homepage = "https://github.com/incertae-sedis/smof"
- url = "https://github.com/incertae-sedis/smof/archive/2.13.1.tar.gz"
+ url = "https://github.com/incertae-sedis/smof/archive/2.13.1.tar.gz"
- version('2.13.1', sha256='bae75703728c62398f2af58b142ab2555f9be2224e13ff108913607777ea2a2e')
+ version("2.13.1", sha256="bae75703728c62398f2af58b142ab2555f9be2224e13ff108913607777ea2a2e")
- depends_on('python@3:', type='run')
+ depends_on("python@3:", type="run")
def install(self, spec, prefix):
# install sources
- install_tree('.', prefix)
+ install_tree(".", prefix)
# add command
mkdirp(prefix.bin)
- symlink(join_path(prefix, 'smof.py'),
- join_path(prefix.bin, 'smof'))
+ symlink(join_path(prefix, "smof.py"), join_path(prefix.bin, "smof"))
diff --git a/var/spack/repos/builtin/packages/smproxy/package.py b/var/spack/repos/builtin/packages/smproxy/package.py
index 221a2b42e6..890a94bdd8 100644
--- a/var/spack/repos/builtin/packages/smproxy/package.py
+++ b/var/spack/repos/builtin/packages/smproxy/package.py
@@ -13,12 +13,12 @@ class Smproxy(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/smproxy"
xorg_mirror_path = "app/smproxy-1.0.6.tar.gz"
- version('1.0.6', sha256='a01374763426a5fdcbc7a65edc54e2070cdbca4df41dddd3051c7586e4c814c9')
+ version("1.0.6", sha256="a01374763426a5fdcbc7a65edc54e2070cdbca4df41dddd3051c7586e4c814c9")
- depends_on('libsm')
- depends_on('libice')
- depends_on('libxt')
- depends_on('libxmu')
+ depends_on("libsm")
+ depends_on("libice")
+ depends_on("libxt")
+ depends_on("libxmu")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/snakemake/package.py b/var/spack/repos/builtin/packages/snakemake/package.py
index a24928881d..6cebab00d5 100644
--- a/var/spack/repos/builtin/packages/snakemake/package.py
+++ b/var/spack/repos/builtin/packages/snakemake/package.py
@@ -11,49 +11,53 @@ class Snakemake(PythonPackage):
homepage = "https://snakemake.readthedocs.io/en/stable/"
pypi = "snakemake/snakemake-6.12.3.tar.gz"
- maintainers = ['marcusboden']
-
- version('6.15.1', sha256='a219601d57037f565ead9963e6bd8d04d3bdd985d172371e54197dcbdba79865')
- version('6.13.1', sha256='22f57dcd8b1ca8a30aaa45c5d2c0f56d381d4731abd0988f24f9de46b7d9827c')
- version('6.12.3', sha256='af86af9a540da3dceb05dad1040f1d3d733e6a695f8b3f8c30f8cf3bc6570a88')
- version('3.11.2', sha256='f7a3b586bc2195f2dce4a4817b7ec828b6d2a0cff74a04e0f7566dcd923f9761', deprecated=True)
-
- depends_on('py-requests', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-wrapt', type=('build', 'run'))
-
- depends_on('python@3.3:3.6', when='@:5')
-
- with when('@6:'):
- depends_on('python@3.5:')
- depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('py-configargparse', type=('build', 'run'))
- depends_on('py-appdirs', type=('build', 'run'))
- depends_on('py-datrie', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-docutils', type=('build', 'run'))
- depends_on('py-gitpython', type=('build', 'run'))
- depends_on('py-psutil', type=('build', 'run'))
- depends_on('py-nbformat', type=('build', 'run'))
- depends_on('py-toposort', type=('build', 'run'))
- depends_on('py-connectionpool@0.0.3:', type=('build', 'run'))
- depends_on('py-pulp@2.0:', type=('build', 'run'))
- depends_on('py-smart-open@3.0:', type=('build', 'run'))
- depends_on('py-filelock', type=('build', 'run'))
- depends_on('py-stopit', type=('build', 'run'))
- depends_on('py-tabulate', type=('build', 'run'))
- depends_on('py-ratelimiter', type=('build', 'run'))
-
- variant('reports', default=False, description='Generate self-contained HTML reports')
- with when('+reports'):
- depends_on('py-jinja2', type=('build', 'run'))
- depends_on('py-networkx', type=('build', 'run'))
- depends_on('py-pygments', type=('build', 'run'))
- depends_on('py-pygraphviz', type=('build', 'run'))
-
- variant('google-cloud', default=False, description='Enable Google Cloud execution')
- with when('+google-cloud'):
- depends_on('py-oauth2client', type=('build', 'run'))
- depends_on('py-google-crc32c', type=('build', 'run'))
- depends_on('py-google-api-python-client', type=('build', 'run'))
- depends_on('py-google-cloud-storage', type=('build', 'run'))
+ maintainers = ["marcusboden"]
+
+ version("6.15.1", sha256="a219601d57037f565ead9963e6bd8d04d3bdd985d172371e54197dcbdba79865")
+ version("6.13.1", sha256="22f57dcd8b1ca8a30aaa45c5d2c0f56d381d4731abd0988f24f9de46b7d9827c")
+ version("6.12.3", sha256="af86af9a540da3dceb05dad1040f1d3d733e6a695f8b3f8c30f8cf3bc6570a88")
+ version(
+ "3.11.2",
+ sha256="f7a3b586bc2195f2dce4a4817b7ec828b6d2a0cff74a04e0f7566dcd923f9761",
+ deprecated=True,
+ )
+
+ depends_on("py-requests", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-wrapt", type=("build", "run"))
+
+ depends_on("python@3.3:3.6", when="@:5")
+
+ with when("@6:"):
+ depends_on("python@3.5:")
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-configargparse", type=("build", "run"))
+ depends_on("py-appdirs", type=("build", "run"))
+ depends_on("py-datrie", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-docutils", type=("build", "run"))
+ depends_on("py-gitpython", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-nbformat", type=("build", "run"))
+ depends_on("py-toposort", type=("build", "run"))
+ depends_on("py-connectionpool@0.0.3:", type=("build", "run"))
+ depends_on("py-pulp@2.0:", type=("build", "run"))
+ depends_on("py-smart-open@3.0:", type=("build", "run"))
+ depends_on("py-filelock", type=("build", "run"))
+ depends_on("py-stopit", type=("build", "run"))
+ depends_on("py-tabulate", type=("build", "run"))
+ depends_on("py-ratelimiter", type=("build", "run"))
+
+ variant("reports", default=False, description="Generate self-contained HTML reports")
+ with when("+reports"):
+ depends_on("py-jinja2", type=("build", "run"))
+ depends_on("py-networkx", type=("build", "run"))
+ depends_on("py-pygments", type=("build", "run"))
+ depends_on("py-pygraphviz", type=("build", "run"))
+
+ variant("google-cloud", default=False, description="Enable Google Cloud execution")
+ with when("+google-cloud"):
+ depends_on("py-oauth2client", type=("build", "run"))
+ depends_on("py-google-crc32c", type=("build", "run"))
+ depends_on("py-google-api-python-client", type=("build", "run"))
+ depends_on("py-google-cloud-storage", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/snap-berkeley/package.py b/var/spack/repos/builtin/packages/snap-berkeley/package.py
index 57089d85cb..9f975cba45 100644
--- a/var/spack/repos/builtin/packages/snap-berkeley/package.py
+++ b/var/spack/repos/builtin/packages/snap-berkeley/package.py
@@ -8,32 +8,38 @@ from spack.package import *
class SnapBerkeley(MakefilePackage):
"""SNAP is a fast and accurate aligner for short DNA reads. It is
- optimized for modern read lengths of 100 bases or higher, and takes
- advantage of these reads to align data quickly through a hash-based
- indexing scheme."""
+ optimized for modern read lengths of 100 bases or higher, and takes
+ advantage of these reads to align data quickly through a hash-based
+ indexing scheme."""
homepage = "https://snap.cs.berkeley.edu/"
- url = "https://github.com/amplab/snap/archive/v1.0beta.18.tar.gz"
-
- version('1.0beta.18', sha256='9e8a8dc3f17e3f533d34011afe98316c19cbd70cc8b4830375611e003697daee')
- version('0.15', sha256='bea0174c8d01907023494d7ffd2a6dab9c38d248cfe4d3c26feedf9d5becce9a', preferred=True)
-
- depends_on('zlib')
-
- conflicts('%gcc@6:')
- conflicts('%cce')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%intel')
- conflicts('%nag')
- conflicts('%pgi')
- conflicts('%xl')
- conflicts('%xl_r')
+ url = "https://github.com/amplab/snap/archive/v1.0beta.18.tar.gz"
+
+ version(
+ "1.0beta.18", sha256="9e8a8dc3f17e3f533d34011afe98316c19cbd70cc8b4830375611e003697daee"
+ )
+ version(
+ "0.15",
+ sha256="bea0174c8d01907023494d7ffd2a6dab9c38d248cfe4d3c26feedf9d5becce9a",
+ preferred=True,
+ )
+
+ depends_on("zlib")
+
+ conflicts("%gcc@6:")
+ conflicts("%cce")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%intel")
+ conflicts("%nag")
+ conflicts("%pgi")
+ conflicts("%xl")
+ conflicts("%xl_r")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if self.spec.satisfies('@1.0beta.18:'):
- install('snap-aligner', prefix.bin)
- install('SNAPCommand', prefix.bin)
+ if self.spec.satisfies("@1.0beta.18:"):
+ install("snap-aligner", prefix.bin)
+ install("SNAPCommand", prefix.bin)
else:
- install('snap', prefix.bin)
+ install("snap", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/snap-korf/package.py b/var/spack/repos/builtin/packages/snap-korf/package.py
index b3f0dc2b07..6c264d88df 100644
--- a/var/spack/repos/builtin/packages/snap-korf/package.py
+++ b/var/spack/repos/builtin/packages/snap-korf/package.py
@@ -8,46 +8,45 @@ from spack.package import *
class SnapKorf(MakefilePackage):
"""SNAP is a general purpose gene finding program suitable for both
- eukaryotic and prokaryotic genomes."""
+ eukaryotic and prokaryotic genomes."""
homepage = "http://korflab.ucdavis.edu/software.html"
- url = "http://korflab.ucdavis.edu/Software/snap-2013-11-29.tar.gz"
- git = "https://github.com/KorfLab/SNAP.git"
+ url = "http://korflab.ucdavis.edu/Software/snap-2013-11-29.tar.gz"
+ git = "https://github.com/KorfLab/SNAP.git"
- version('2021-11-04', commit='62ff3120fceccb03b5eea9d21afec3167dedfa94')
- version('2013-11-29', sha256='e2a236392d718376356fa743aa49a987aeacd660c6979cee67121e23aeffc66a')
+ version("2021-11-04", commit="62ff3120fceccb03b5eea9d21afec3167dedfa94")
+ version(
+ "2013-11-29", sha256="e2a236392d718376356fa743aa49a987aeacd660c6979cee67121e23aeffc66a"
+ )
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
def edit(self, spec, prefix):
- if spec.satisfies('@2013-11-29%gcc@6:'):
- rstr = '\\1 -Wno-tautological-compare -Wno-misleading-indentation'
- filter_file('(-Werror)', rstr, 'Zoe/Makefile')
- rstr = '\\1 -Wno-error=format-overflow -Wno-misleading-indentation'
- filter_file('(-Werror)', rstr, 'Makefile')
-
- filter_file(r'(^const char \* zoeFunction;)', 'extern \\1',
- 'Zoe/zoeTools.h')
- filter_file(r'(^const char \* zoeConstructor;)', 'extern \\1',
- 'Zoe/zoeTools.h')
- filter_file(r'(^const char \* zoeMethod;)', 'extern \\1',
- 'Zoe/zoeTools.h')
+ if spec.satisfies("@2013-11-29%gcc@6:"):
+ rstr = "\\1 -Wno-tautological-compare -Wno-misleading-indentation"
+ filter_file("(-Werror)", rstr, "Zoe/Makefile")
+ rstr = "\\1 -Wno-error=format-overflow -Wno-misleading-indentation"
+ filter_file("(-Werror)", rstr, "Makefile")
+
+ filter_file(r"(^const char \* zoeFunction;)", "extern \\1", "Zoe/zoeTools.h")
+ filter_file(r"(^const char \* zoeConstructor;)", "extern \\1", "Zoe/zoeTools.h")
+ filter_file(r"(^const char \* zoeMethod;)", "extern \\1", "Zoe/zoeTools.h")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- progs = ['snap', 'fathom', 'forge']
- if spec.satisfies('@2013-11-29'):
- progs = progs + ['depend', 'exonpairs', 'hmm-info']
+ progs = ["snap", "fathom", "forge"]
+ if spec.satisfies("@2013-11-29"):
+ progs = progs + ["depend", "exonpairs", "hmm-info"]
for p in progs:
install(p, prefix.bin)
- install('*.pl', prefix.bin)
+ install("*.pl", prefix.bin)
- install_tree('Zoe', prefix.Zoe)
- install_tree('HMM', prefix.HMM)
- install_tree('DNA', prefix.DNA)
+ install_tree("Zoe", prefix.Zoe)
+ install_tree("HMM", prefix.HMM)
+ install_tree("DNA", prefix.DNA)
def setup_run_environment(self, env):
- env.set('ZOE', self.prefix)
- env.prepend_path('PATH', self.prefix)
+ env.set("ZOE", self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/snap/package.py b/var/spack/repos/builtin/packages/snap/package.py
index 70196a835b..3a08a350eb 100644
--- a/var/spack/repos/builtin/packages/snap/package.py
+++ b/var/spack/repos/builtin/packages/snap/package.py
@@ -15,33 +15,33 @@ class Snap(MakefilePackage):
It is modeled off the Los Alamos National Laboratory code PARTISN."""
homepage = "https://github.com/lanl/SNAP"
- git = "https://github.com/lanl/SNAP.git"
+ git = "https://github.com/lanl/SNAP.git"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('master')
+ version("master")
- variant('openmp', default=False, description='Build with OpenMP support')
- variant('opt', default=True, description='Build with debugging')
- variant('mpi', default=True, description='Build with MPI support')
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("opt", default=True, description="Build with debugging")
+ variant("mpi", default=True, description="Build with MPI support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- makefile = FileFilter('Makefile')
- if '~opt' in spec:
- makefile.filter('OPT = yes', 'OPT = no')
- if '~mpi' in spec:
- makefile.filter('MPI = yes', 'MPI = no')
- if '~openmp' in spec:
- makefile.filter('OPENMP = yes', 'OPENMP = no')
- makefile.filter('FFLAGS =.*', 'FFLAGS =')
+ makefile = FileFilter("Makefile")
+ if "~opt" in spec:
+ makefile.filter("OPT = yes", "OPT = no")
+ if "~mpi" in spec:
+ makefile.filter("MPI = yes", "MPI = no")
+ if "~openmp" in spec:
+ makefile.filter("OPENMP = yes", "OPENMP = no")
+ makefile.filter("FFLAGS =.*", "FFLAGS =")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('src/gsnap', prefix.bin)
- install_tree('qasnap', prefix.qasnap)
- install('README.md', prefix)
+ install("src/gsnap", prefix.bin)
+ install_tree("qasnap", prefix.qasnap)
+ install("README.md", prefix)
diff --git a/var/spack/repos/builtin/packages/snappy/package.py b/var/spack/repos/builtin/packages/snappy/package.py
index 332f26c6a7..934b8433c6 100644
--- a/var/spack/repos/builtin/packages/snappy/package.py
+++ b/var/spack/repos/builtin/packages/snappy/package.py
@@ -10,48 +10,48 @@ class Snappy(CMakePackage):
"""A fast compressor/decompressor: https://code.google.com/p/snappy"""
homepage = "https://github.com/google/snappy"
- url = "https://github.com/google/snappy/archive/1.1.8.tar.gz"
+ url = "https://github.com/google/snappy/archive/1.1.8.tar.gz"
- version('1.1.9', sha256='75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7')
- version('1.1.8', sha256='16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f')
- version('1.1.7', sha256='3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4')
+ version("1.1.9", sha256="75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7")
+ version("1.1.8", sha256="16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f")
+ version("1.1.7", sha256="3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4")
- variant('shared', default=True, description='Build shared libraries')
- variant('pic', default=True, description='Build position independent code')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("pic", default=True, description="Build position independent code")
- depends_on('googletest', type='test')
+ depends_on("googletest", type="test")
- patch('link_gtest.patch', when='@:1.1.8')
+ patch("link_gtest.patch", when="@:1.1.8")
def cmake_args(self):
return [
- self.define('CMAKE_INSTALL_LIBDIR', self.prefix.lib),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('SNAPPY_BUILD_TESTS', self.run_tests),
- self.define('SNAPPY_BUILD_BENCHMARKS', 'OFF'),
+ self.define("CMAKE_INSTALL_LIBDIR", self.prefix.lib),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("SNAPPY_BUILD_TESTS", self.run_tests),
+ self.define("SNAPPY_BUILD_BENCHMARKS", "OFF"),
]
def flag_handler(self, name, flags):
flags = list(flags)
- if '+pic' in self.spec:
- if name == 'cflags':
+ if "+pic" in self.spec:
+ if name == "cflags":
flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
+ elif name == "cxxflags":
flags.append(self.compiler.cxx_pic_flag)
return (None, None, flags)
- @run_after('install')
+ @run_after("install")
def install_pkgconfig(self):
mkdirp(self.prefix.lib.pkgconfig)
- with open(join_path(self.prefix.lib.pkgconfig, 'snappy.pc'), 'w') as f:
- f.write('prefix={0}\n'.format(self.prefix))
- f.write('exec_prefix=${prefix}\n')
- f.write('libdir={0}\n'.format(self.prefix.lib))
- f.write('includedir={0}\n'.format(self.prefix.include))
- f.write('\n')
- f.write('Name: Snappy\n')
- f.write('Description: A fast compressor/decompressor.\n')
- f.write('Version: {0}\n'.format(self.spec.version))
- f.write('Cflags: -I${includedir}\n')
- f.write('Libs: -L${libdir} -lsnappy\n')
+ with open(join_path(self.prefix.lib.pkgconfig, "snappy.pc"), "w") as f:
+ f.write("prefix={0}\n".format(self.prefix))
+ f.write("exec_prefix=${prefix}\n")
+ f.write("libdir={0}\n".format(self.prefix.lib))
+ f.write("includedir={0}\n".format(self.prefix.include))
+ f.write("\n")
+ f.write("Name: Snappy\n")
+ f.write("Description: A fast compressor/decompressor.\n")
+ f.write("Version: {0}\n".format(self.spec.version))
+ f.write("Cflags: -I${includedir}\n")
+ f.write("Libs: -L${libdir} -lsnappy\n")
diff --git a/var/spack/repos/builtin/packages/snbone/package.py b/var/spack/repos/builtin/packages/snbone/package.py
index 91dff530c6..f8d16fd0cb 100644
--- a/var/spack/repos/builtin/packages/snbone/package.py
+++ b/var/spack/repos/builtin/packages/snbone/package.py
@@ -9,31 +9,32 @@ from spack.package import *
class Snbone(MakefilePackage):
"""This application targets the primary computational solve burden of a SN,
- continuous finite element based transport equation solver."""
+ continuous finite element based transport equation solver."""
homepage = "https://github.com/ANL-CESAR/"
- git = "https://github.com/ANL-CESAR/SNbone.git"
+ git = "https://github.com/ANL-CESAR/SNbone.git"
- version('develop')
+ version("develop")
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- depends_on('metis')
+ depends_on("metis")
def build(self, spec, prefix):
- working_dirs = ['src_c', 'src_fortran', 'src_makemesh',
- 'src_processmesh']
+ working_dirs = ["src_c", "src_fortran", "src_makemesh", "src_processmesh"]
for wdir in working_dirs:
with working_dir(wdir, create=False):
- if self.compiler.name == 'gcc' and wdir == 'src_processmesh':
- make('COMPILER=gfortran', 'METISLIB={0}'
- .format(spec['metis'].prefix + '/lib/libmetis.so'))
- elif self.compiler.name == 'intel':
- make('COMPILER=intel', 'LDFLAGS=-lm')
+ if self.compiler.name == "gcc" and wdir == "src_processmesh":
+ make(
+ "COMPILER=gfortran",
+ "METISLIB={0}".format(spec["metis"].prefix + "/lib/libmetis.so"),
+ )
+ elif self.compiler.name == "intel":
+ make("COMPILER=intel", "LDFLAGS=-lm")
else:
# older gcc need link libs after objs, but
# LDFLAGS is in the front, so use IBMLIB instead
- make('COMPILER=gfortran', 'IBMLIB=-lm')
+ make("COMPILER=gfortran", "IBMLIB=-lm")
def install(self, spec, prefix):
mkdirp(prefix.bin.C)
@@ -41,7 +42,7 @@ class Snbone(MakefilePackage):
mkdirp(prefix.bin.MakeMesh)
mkdirp(prefix.bin.ProcessMesh)
- install('src_c/SNaCFE.x', prefix.bin.C)
- install('src_fortran/SNaCFE.x', prefix.bin.Fortran)
- install('src_makemesh/makemesh.x', prefix.bin.MakeMesh)
- install('src_processmesh/processmesh.x', prefix.bin.ProcessMesh)
+ install("src_c/SNaCFE.x", prefix.bin.C)
+ install("src_fortran/SNaCFE.x", prefix.bin.Fortran)
+ install("src_makemesh/makemesh.x", prefix.bin.MakeMesh)
+ install("src_processmesh/processmesh.x", prefix.bin.ProcessMesh)
diff --git a/var/spack/repos/builtin/packages/sniffles/package.py b/var/spack/repos/builtin/packages/sniffles/package.py
index 7d685bdb49..8db0342d1c 100644
--- a/var/spack/repos/builtin/packages/sniffles/package.py
+++ b/var/spack/repos/builtin/packages/sniffles/package.py
@@ -10,24 +10,24 @@ class Sniffles(CMakePackage):
"""Structural variation caller using third generation sequencing."""
homepage = "https://github.com/fritzsedlazeck/Sniffles/wiki"
- url = "https://github.com/fritzsedlazeck/Sniffles/archive/v1.0.5.tar.gz"
+ url = "https://github.com/fritzsedlazeck/Sniffles/archive/v1.0.5.tar.gz"
- version('1.0.7', sha256='03fa703873bdf9c32055c584448e1eece45f94b4bc68e60c9624cf3841e6d8a9')
- version('1.0.5', sha256='386c6536bdaa4637579e235bac48444c08297337c490652d1e165accd34b258f')
+ version("1.0.7", sha256="03fa703873bdf9c32055c584448e1eece45f94b4bc68e60c9624cf3841e6d8a9")
+ version("1.0.5", sha256="386c6536bdaa4637579e235bac48444c08297337c490652d1e165accd34b258f")
- depends_on('zlib', type='link')
- depends_on('bamtools', type='link')
+ depends_on("zlib", type="link")
+ depends_on("bamtools", type="link")
- patch('unused_libs.patch')
+ patch("unused_libs.patch")
def cmake_args(self):
- i = self.spec['bamtools'].prefix.include.bamtools
- return ['-DCMAKE_CXX_FLAGS=-I{0}'.format(i)]
+ i = self.spec["bamtools"].prefix.include.bamtools
+ return ["-DCMAKE_CXX_FLAGS=-I{0}".format(i)]
# the build process doesn't actually install anything, do it by hand
def install(self, spec, prefix):
mkdir(prefix.bin)
src = "bin/sniffles-core-{0}".format(spec.version.dotted)
- binaries = ['sniffles', 'sniffles-debug']
+ binaries = ["sniffles", "sniffles-debug"]
for b in binaries:
install(join_path(src, b), join_path(prefix.bin, b))
diff --git a/var/spack/repos/builtin/packages/snpeff/package.py b/var/spack/repos/builtin/packages/snpeff/package.py
index 9d4a890c9d..a909ea8dbd 100644
--- a/var/spack/repos/builtin/packages/snpeff/package.py
+++ b/var/spack/repos/builtin/packages/snpeff/package.py
@@ -16,16 +16,18 @@ class Snpeff(Package, SourceforgePackage):
homepage = "http://snpeff.sourceforge.net/"
sourceforge_mirror_path = "snpeff/snpEff_latest_core.zip"
- version('2017-11-24', sha256='d55a7389a78312947c1e7dadf5e6897b42d3c6e942e7c1b8ec68bb35d2ae2244')
+ version(
+ "2017-11-24", sha256="d55a7389a78312947c1e7dadf5e6897b42d3c6e942e7c1b8ec68bb35d2ae2244"
+ )
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('snpEff', prefix.bin)
+ install_tree("snpEff", prefix.bin)
# Set up a helper script to call java on the jar files,
# explicitly codes the path for java and the jar files.
- scripts = ['snpEff', 'SnpSift']
+ scripts = ["snpEff", "SnpSift"]
for script in scripts:
script_sh = join_path(os.path.dirname(__file__), script + ".sh")
@@ -35,9 +37,9 @@ class Snpeff(Package, SourceforgePackage):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'backup': False}
- filter_file('^java', java, script_path, **kwargs)
- filter_file(script + '.jar',
- join_path(prefix.bin, script + '.jar'),
- script_path, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"backup": False}
+ filter_file("^java", java, script_path, **kwargs)
+ filter_file(
+ script + ".jar", join_path(prefix.bin, script + ".jar"), script_path, **kwargs
+ )
diff --git a/var/spack/repos/builtin/packages/snphylo/package.py b/var/spack/repos/builtin/packages/snphylo/package.py
index 445cdfdd55..be1d939300 100644
--- a/var/spack/repos/builtin/packages/snphylo/package.py
+++ b/var/spack/repos/builtin/packages/snphylo/package.py
@@ -10,28 +10,30 @@ class Snphylo(Package):
"""A pipeline to generate a phylogenetic tree from huge SNP data"""
homepage = "http://chibba.pgml.uga.edu/snphylo/"
- url = "http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz"
+ url = "http://chibba.pgml.uga.edu/snphylo/snphylo.tar.gz"
- version('2016-02-04', sha256='d9e144021c83dbef97bebf743b92109ad0afcfe70f37c244059b43f11b8a50da')
+ version(
+ "2016-02-04", sha256="d9e144021c83dbef97bebf743b92109ad0afcfe70f37c244059b43f11b8a50da"
+ )
- depends_on('python', type=('build', 'run'))
- depends_on('r', type=('build', 'run'))
- depends_on('r-phangorn', type=('build', 'run'))
- depends_on('r-gdsfmt', type=('build', 'run'))
- depends_on('r-snprelate', type=('build', 'run'))
- depends_on('r-getopt', type=('build', 'run'))
- depends_on('muscle')
- depends_on('phylip')
+ depends_on("python", type=("build", "run"))
+ depends_on("r", type=("build", "run"))
+ depends_on("r-phangorn", type=("build", "run"))
+ depends_on("r-gdsfmt", type=("build", "run"))
+ depends_on("r-snprelate", type=("build", "run"))
+ depends_on("r-getopt", type=("build", "run"))
+ depends_on("muscle")
+ depends_on("phylip")
def install(self, spec, prefix):
- install_answer = ['y', 'y', 'y', 'y']
- install_answer_input = 'spack-config.in'
- with open(install_answer_input, 'w') as f:
+ install_answer = ["y", "y", "y", "y"]
+ install_answer_input = "spack-config.in"
+ with open(install_answer_input, "w") as f:
f.writelines(install_answer)
- with open(install_answer_input, 'r') as f:
- bash = which('bash')
- bash('./setup.sh', input=f)
- install_tree('.', prefix)
+ with open(install_answer_input, "r") as f:
+ bash = which("bash")
+ bash("./setup.sh", input=f)
+ install_tree(".", prefix)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.spec.prefix)
+ env.prepend_path("PATH", self.spec.prefix)
diff --git a/var/spack/repos/builtin/packages/snptest/package.py b/var/spack/repos/builtin/packages/snptest/package.py
index b6d3cc6647..5c98aa53e0 100644
--- a/var/spack/repos/builtin/packages/snptest/package.py
+++ b/var/spack/repos/builtin/packages/snptest/package.py
@@ -8,13 +8,13 @@ from spack.package import *
class Snptest(Package):
"""SNPTEST is a program for the analysis of single SNP association in
- genome-wide studies."""
+ genome-wide studies."""
homepage = "https://mathgen.stats.ox.ac.uk/genetics_software/snptest/snptest.html"
url = "https://www.well.ox.ac.uk/~gav/resources/snptest_v2.5.2_linux_x86_64_dynamic.tgz"
- version('2.5.2', sha256='1ffa3ebafa2c5db4866a38e01bb09f43df7973d053423ce67221cb3f8acb30f6')
+ version("2.5.2", sha256="1ffa3ebafa2c5db4866a38e01bb09f43df7973d053423ce67221cb3f8acb30f6")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('snptest_v{0}'.format(self.version), prefix.bin)
+ install("snptest_v{0}".format(self.version), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py
index 7530a638a4..7f71f0d11d 100644
--- a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py
+++ b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py
@@ -8,34 +8,36 @@ from spack.package import *
class SoapdenovoTrans(MakefilePackage):
"""SOAPdenovo-Trans is a de novo transcriptome assembler basing on the
- SOAPdenovo framework, adapt to alternative splicing and different
- expression level among transcripts."""
+ SOAPdenovo framework, adapt to alternative splicing and different
+ expression level among transcripts."""
homepage = "https://github.com/aquaskyline/SOAPdenovo-Trans"
- url = "https://github.com/aquaskyline/SOAPdenovo-Trans/archive/1.0.4.tar.gz"
- maintainers = ['snehring']
+ url = "https://github.com/aquaskyline/SOAPdenovo-Trans/archive/1.0.4.tar.gz"
+ maintainers = ["snehring"]
- version('1.0.5', sha256='c1903c0d81142270db95916e2833400f72c4841b5c9194f182c19ebda418936f')
- version('1.0.4', sha256='378a54cde0ebe240fb515ba67197c053cf95393645c1ae1399b3a611be2a9795')
+ version("1.0.5", sha256="c1903c0d81142270db95916e2833400f72c4841b5c9194f182c19ebda418936f")
+ version("1.0.4", sha256="378a54cde0ebe240fb515ba67197c053cf95393645c1ae1399b3a611be2a9795")
- depends_on('zlib', type='link')
- depends_on('samtools@0.1.8', type='link', when='target=aarch64:')
+ depends_on("zlib", type="link")
+ depends_on("samtools@0.1.8", type="link", when="target=aarch64:")
- build_directory = 'src'
+ build_directory = "src"
def edit(self, spec, prefix):
with working_dir(self.build_directory):
- makefile = FileFilter('Makefile')
- makefile.filter('CFLAGS= -O3 -fomit-frame-pointer -static',
- 'CFLAGS= -O3 -fomit-frame-pointer')
- if spec.target.family == 'aarch64':
- makefile.filter('ppc64 ia64', 'ppc64 ia64 aarch64')
+ makefile = FileFilter("Makefile")
+ makefile.filter(
+ "CFLAGS= -O3 -fomit-frame-pointer -static",
+ "CFLAGS= -O3 -fomit-frame-pointer",
+ )
+ if spec.target.family == "aarch64":
+ makefile.filter("ppc64 ia64", "ppc64 ia64 aarch64")
def build(self, spec, prefix):
with working_dir(self.build_directory):
make()
- make('127mer=1', parallel=False)
+ make("127mer=1", parallel=False)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('SOAPdenovo-Trans-*mer', prefix.bin)
+ install("SOAPdenovo-Trans-*mer", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/soapdenovo2/package.py b/var/spack/repos/builtin/packages/soapdenovo2/package.py
index 988765147c..60de0e4782 100644
--- a/var/spack/repos/builtin/packages/soapdenovo2/package.py
+++ b/var/spack/repos/builtin/packages/soapdenovo2/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Soapdenovo2(MakefilePackage):
"""SOAPdenovo is a novel short-read assembly method that can build a de
- novo draft assembly for the human-sized genomes. The program is
- specially designed to assemble Illumina GA short reads. It creates
- new opportunities for building reference sequences and carrying out
- accurate analyses of unexplored genomes in a cost effective way."""
+ novo draft assembly for the human-sized genomes. The program is
+ specially designed to assemble Illumina GA short reads. It creates
+ new opportunities for building reference sequences and carrying out
+ accurate analyses of unexplored genomes in a cost effective way."""
homepage = "https://github.com/aquaskyline/SOAPdenovo2"
- url = "https://github.com/aquaskyline/SOAPdenovo2/archive/r240.tar.gz"
+ url = "https://github.com/aquaskyline/SOAPdenovo2/archive/r240.tar.gz"
- version('242', sha256='a0043ceb41bc17a1c3fd2b8abe4f9029a60ad3edceb2b15af3c2cfabd36aa11b')
- version('240', sha256='cc9e9f216072c0bbcace5efdead947e1c3f41f09baec5508c7b90f933a090909')
+ version("242", sha256="a0043ceb41bc17a1c3fd2b8abe4f9029a60ad3edceb2b15af3c2cfabd36aa11b")
+ version("240", sha256="cc9e9f216072c0bbcace5efdead947e1c3f41f09baec5508c7b90f933a090909")
def flag_handler(self, name, flags):
- if self.spec.satisfies('%gcc@10:'):
- if name == 'cflags' or name == 'CFLAGS':
- flags.append('-fcommon')
- if name == 'cxxflags' or name == 'CXXFLAGS':
- flags.append('-fcommon')
+ if self.spec.satisfies("%gcc@10:"):
+ if name == "cflags" or name == "CFLAGS":
+ flags.append("-fcommon")
+ if name == "cxxflags" or name == "CXXFLAGS":
+ flags.append("-fcommon")
return (flags, None, None)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('SOAPdenovo-63mer', prefix.bin)
- install('SOAPdenovo-127mer', prefix.bin)
+ install("SOAPdenovo-63mer", prefix.bin)
+ install("SOAPdenovo-127mer", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/soci/package.py b/var/spack/repos/builtin/packages/soci/package.py
index 523c41881d..db90215005 100644
--- a/var/spack/repos/builtin/packages/soci/package.py
+++ b/var/spack/repos/builtin/packages/soci/package.py
@@ -10,42 +10,53 @@ class Soci(CMakePackage):
"""Official repository of the SOCI - The C++ Database Access Library"""
homepage = "https://github.com/SOCI/soci"
- url = "https://github.com/SOCI/soci/archive/v4.0.2.tar.gz"
-
- version('4.0.2', sha256='f293192a412ed82693d17dfe46e2734b140bff835bc3259e3cbd7c315e5e2d74')
- version('4.0.0', sha256='359b988d8cbe81357835317821919f7e270c0705e41951a92ac1627cb9fe8faf')
- version('3.2.3', sha256='1166664d5d7c4552c4c2abf173f98fa4427fbb454930fd04de3a39782553199e',
- url="https://github.com/SOCI/soci/archive/3.2.3.tar.gz")
- version('3.2.2', sha256='cf1a6130ebdf0b84d246da948874ab1312c317e2ec659ede732b688667c355f4',
- url="https://github.com/SOCI/soci/archive/3.2.2.tar.gz")
-
- variant('cxxstd', default=11, values=('98', '11', '14', '17', '20'),
- multi=False, description='Use the specified C++ standard when building')
-
- variant('static', default=True, description='Enable build of static libraries')
- variant('boost', default=False, description='Build with Boost support')
- variant('sqlite', default=False, description='Build with SQLite support')
- variant('postgresql', default=False, description='Build with PostgreSQL support')
-
- depends_on('boost', when='+boost')
- depends_on('sqlite', when='+sqlite')
- depends_on('postgresql+client_only', when='+postgresql')
+ url = "https://github.com/SOCI/soci/archive/v4.0.2.tar.gz"
+
+ version("4.0.2", sha256="f293192a412ed82693d17dfe46e2734b140bff835bc3259e3cbd7c315e5e2d74")
+ version("4.0.0", sha256="359b988d8cbe81357835317821919f7e270c0705e41951a92ac1627cb9fe8faf")
+ version(
+ "3.2.3",
+ sha256="1166664d5d7c4552c4c2abf173f98fa4427fbb454930fd04de3a39782553199e",
+ url="https://github.com/SOCI/soci/archive/3.2.3.tar.gz",
+ )
+ version(
+ "3.2.2",
+ sha256="cf1a6130ebdf0b84d246da948874ab1312c317e2ec659ede732b688667c355f4",
+ url="https://github.com/SOCI/soci/archive/3.2.2.tar.gz",
+ )
+
+ variant(
+ "cxxstd",
+ default=11,
+ values=("98", "11", "14", "17", "20"),
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+
+ variant("static", default=True, description="Enable build of static libraries")
+ variant("boost", default=False, description="Build with Boost support")
+ variant("sqlite", default=False, description="Build with SQLite support")
+ variant("postgresql", default=False, description="Build with PostgreSQL support")
+
+ depends_on("boost", when="+boost")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("postgresql+client_only", when="+postgresql")
@property
def root_cmakelists_dir(self):
- if self.spec.satisfies('@:3'):
- return 'src'
+ if self.spec.satisfies("@:3"):
+ return "src"
else:
return self.stage.source_path
def cmake_args(self):
args = [
# SOCI_STATIC does not work with BOOL:OFF
- '-DSOCI_STATIC=' + ('ON' if '+static' in self.spec else 'OFF'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- self.define_from_variant('WITH_BOOST', 'boost'),
- self.define_from_variant('WITH_SQLITE3', 'sqlite'),
- self.define_from_variant('WITH_POSTGRESQL', 'postgresql'),
+ "-DSOCI_STATIC=" + ("ON" if "+static" in self.spec else "OFF"),
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ self.define_from_variant("WITH_BOOST", "boost"),
+ self.define_from_variant("WITH_SQLITE3", "sqlite"),
+ self.define_from_variant("WITH_POSTGRESQL", "postgresql"),
]
return args
diff --git a/var/spack/repos/builtin/packages/sofa-c/package.py b/var/spack/repos/builtin/packages/sofa-c/package.py
index 02b62b0e18..cb8383a168 100644
--- a/var/spack/repos/builtin/packages/sofa-c/package.py
+++ b/var/spack/repos/builtin/packages/sofa-c/package.py
@@ -10,22 +10,22 @@ class SofaC(MakefilePackage):
"""Standards of Fundamental Astronomy (SOFA) library for ANSI C."""
homepage = "http://www.iausofa.org/current_C.html"
- url = "https://www.iausofa.org/2018_0130_C/sofa_c-20180130.tar.gz"
+ url = "https://www.iausofa.org/2018_0130_C/sofa_c-20180130.tar.gz"
- version('20180130', sha256='de09807198c977e1c58ea1d0c79c40bdafef84f2072eab586a7ac246334796db')
+ version("20180130", sha256="de09807198c977e1c58ea1d0c79c40bdafef84f2072eab586a7ac246334796db")
@property
def build_directory(self):
- return join_path(self.version, 'c', 'src')
+ return join_path(self.version, "c", "src")
def edit(self, spec, prefix):
- makefile = FileFilter(join_path(self.build_directory, 'makefile'))
- makefile.filter('CCOMPC = gcc', 'CCOMPC = {0}'.format(spack_cc))
+ makefile = FileFilter(join_path(self.build_directory, "makefile"))
+ makefile.filter("CCOMPC = gcc", "CCOMPC = {0}".format(spack_cc))
def install(self, spec, prefix):
with working_dir(self.build_directory):
mkdir(prefix.include)
- install('sofa.h', prefix.include)
- install('sofam.h', prefix.include)
+ install("sofa.h", prefix.include)
+ install("sofam.h", prefix.include)
mkdir(prefix.lib)
- install('libsofa_c.a', prefix.lib)
+ install("libsofa_c.a", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/sollve/package.py b/var/spack/repos/builtin/packages/sollve/package.py
index ff9f06091f..72e9f87e4b 100644
--- a/var/spack/repos/builtin/packages/sollve/package.py
+++ b/var/spack/repos/builtin/packages/sollve/package.py
@@ -8,305 +8,404 @@ from spack.package import *
class Sollve(CMakePackage):
"""The SOLLVE Project aims at scaling OpenMP by leveraging LLVM for
- exascale performance and portability of applications. This package
- provides a collection of Clang/LLVM compilers and an OpenMP runtime
- library.
+ exascale performance and portability of applications. This package
+ provides a collection of Clang/LLVM compilers and an OpenMP runtime
+ library.
"""
- homepage = 'https://www.bnl.gov/compsci/projects/SOLLVE/'
- git = "https://github.com/SOLLVE/llvm.git"
+ homepage = "https://www.bnl.gov/compsci/projects/SOLLVE/"
+ git = "https://github.com/SOLLVE/llvm.git"
- family = 'compiler' # Used by lmod
+ family = "compiler" # Used by lmod
# NOTE: The debug version of LLVM is an order of magnitude larger than
# the release version, and may take up 20-30 GB of space. If you want
# to save space, build with `build_type=Release`.
- variant('clang', default=True,
- description="Build the LLVM C/C++/Objective-C compiler frontend")
- variant('lldb', default=True, description="Build the LLVM debugger")
- variant('lld', default=True, description="Build the LLVM linker")
- variant('internal_unwind', default=True,
- description="Build the libcxxabi libunwind")
- variant('polly', default=True,
- description="Build the LLVM polyhedral optimization plugin")
- variant('libcxx', default=True,
- description="Build the LLVM C++ standard library")
- variant('compiler-rt', default=True,
- description="Build LLVM compiler runtime, including sanitizers")
- variant('gold', default=True,
- description="Add support for LTO with the gold linker plugin")
- variant('shared_libs', default=False,
- description="Build all components as shared libraries, faster, "
- "less memory to build, less stable")
- variant('link_dylib', default=False,
- description="Build and link the libLLVM shared library rather "
- "than static")
- variant('all_targets', default=False,
- description="Build all supported targets, default targets "
- "<current arch>,NVPTX,AMDGPU,CppBackend")
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
- variant('omp_tsan', default=False,
- description="Build with OpenMP capable thread sanitizer")
- variant('python', default=False, description="Install python bindings")
- variant('argobots', default=True, description="Use Argobots in BOLT")
- extends('python', when='+python')
+ variant(
+ "clang", default=True, description="Build the LLVM C/C++/Objective-C compiler frontend"
+ )
+ variant("lldb", default=True, description="Build the LLVM debugger")
+ variant("lld", default=True, description="Build the LLVM linker")
+ variant("internal_unwind", default=True, description="Build the libcxxabi libunwind")
+ variant("polly", default=True, description="Build the LLVM polyhedral optimization plugin")
+ variant("libcxx", default=True, description="Build the LLVM C++ standard library")
+ variant(
+ "compiler-rt",
+ default=True,
+ description="Build LLVM compiler runtime, including sanitizers",
+ )
+ variant("gold", default=True, description="Add support for LTO with the gold linker plugin")
+ variant(
+ "shared_libs",
+ default=False,
+ description="Build all components as shared libraries, faster, "
+ "less memory to build, less stable",
+ )
+ variant(
+ "link_dylib",
+ default=False,
+ description="Build and link the libLLVM shared library rather " "than static",
+ )
+ variant(
+ "all_targets",
+ default=False,
+ description="Build all supported targets, default targets "
+ "<current arch>,NVPTX,AMDGPU,CppBackend",
+ )
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
+ variant("omp_tsan", default=False, description="Build with OpenMP capable thread sanitizer")
+ variant("python", default=False, description="Install python bindings")
+ variant("argobots", default=True, description="Use Argobots in BOLT")
+ extends("python", when="+python")
# Build dependency
- depends_on('cmake@3.4.3:', type='build')
- depends_on('python', type='build')
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("python", type="build")
# openmp dependencies
- depends_on('perl-data-dumper', type=('build'))
- depends_on('argobots', when='+argobots')
+ depends_on("perl-data-dumper", type=("build"))
+ depends_on("argobots", when="+argobots")
# lldb dependencies
- depends_on('ncurses', when='+lldb')
- depends_on('swig', when='+lldb')
- depends_on('libedit', when='+lldb')
- depends_on('py-six', when='+lldb +python', type=('build', 'run'))
+ depends_on("ncurses", when="+lldb")
+ depends_on("swig", when="+lldb")
+ depends_on("libedit", when="+lldb")
+ depends_on("py-six", when="+lldb +python", type=("build", "run"))
# gold support
- depends_on('binutils+gold', when='+gold')
+ depends_on("binutils+gold", when="+gold")
# develop version.
version("develop", deprecated=True)
- resource(name='compiler-rt',
- svn='http://llvm.org/svn/llvm-project/compiler-rt/trunk',
- destination='projects', when='@develop+compiler-rt',
- placement='compiler-rt')
- resource(name='openmp', git='https://github.com/pmodels/bolt.git',
- destination='projects', when='@develop+clang', placement='openmp')
- resource(name='polly', git='https://github.com/SOLLVE/polly.git',
- destination='tools', when='@develop+polly', placement='polly')
- resource(name='libcxx', git='https://github.com/SOLLVE/libcxx.git',
- destination='projects', when='@develop+libcxx',
- placement='libcxx')
- resource(name='libcxxabi', git='https://github.com/SOLLVE/libcxxabi.git',
- destination='projects', when='@develop+libcxx',
- placement='libcxxabi')
- resource(name='cfe', git='https://github.com/SOLLVE/clang.git',
- destination='tools', when='@develop+clang', placement='clang')
- resource(name='lldb', svn='http://llvm.org/svn/llvm-project/lldb/trunk',
- destination='tools', when='@develop+lldb', placement='lldb')
- resource(name='lld', svn='http://llvm.org/svn/llvm-project/lld/trunk',
- destination='tools', when='@develop+lld', placement='lld')
- resource(name='libunwind',
- svn='http://llvm.org/svn/llvm-project/libunwind/trunk',
- destination='projects', when='@develop+internal_unwind',
- placement='libunwind')
+ resource(
+ name="compiler-rt",
+ svn="http://llvm.org/svn/llvm-project/compiler-rt/trunk",
+ destination="projects",
+ when="@develop+compiler-rt",
+ placement="compiler-rt",
+ )
+ resource(
+ name="openmp",
+ git="https://github.com/pmodels/bolt.git",
+ destination="projects",
+ when="@develop+clang",
+ placement="openmp",
+ )
+ resource(
+ name="polly",
+ git="https://github.com/SOLLVE/polly.git",
+ destination="tools",
+ when="@develop+polly",
+ placement="polly",
+ )
+ resource(
+ name="libcxx",
+ git="https://github.com/SOLLVE/libcxx.git",
+ destination="projects",
+ when="@develop+libcxx",
+ placement="libcxx",
+ )
+ resource(
+ name="libcxxabi",
+ git="https://github.com/SOLLVE/libcxxabi.git",
+ destination="projects",
+ when="@develop+libcxx",
+ placement="libcxxabi",
+ )
+ resource(
+ name="cfe",
+ git="https://github.com/SOLLVE/clang.git",
+ destination="tools",
+ when="@develop+clang",
+ placement="clang",
+ )
+ resource(
+ name="lldb",
+ svn="http://llvm.org/svn/llvm-project/lldb/trunk",
+ destination="tools",
+ when="@develop+lldb",
+ placement="lldb",
+ )
+ resource(
+ name="lld",
+ svn="http://llvm.org/svn/llvm-project/lld/trunk",
+ destination="tools",
+ when="@develop+lld",
+ placement="lld",
+ )
+ resource(
+ name="libunwind",
+ svn="http://llvm.org/svn/llvm-project/libunwind/trunk",
+ destination="projects",
+ when="@develop+internal_unwind",
+ placement="libunwind",
+ )
# 1.0a2 based on LLVM 9.0+
- version("1.0a2", commit="cb4343bda9e57076a74dee23236ac9737e07594f",
- deprecated=True)
- resource(name='compiler-rt',
- svn='https://llvm.org/svn/llvm-project/compiler-rt/trunk',
- revision=373130, destination='projects',
- when='@1.0a2+compiler-rt', placement='compiler-rt')
- resource(name='openmp', git='https://github.com/pmodels/bolt.git',
- commit="0a0033b09cfb672c119cf41eeb54eda7664681bc",
- destination='projects', when='@1.0a2+clang', placement='openmp')
- resource(name='polly', git='https://github.com/SOLLVE/polly.git',
- commit="96168ae6fb436e95cd756950855a57b895070047",
- destination='tools', when='@1.0a2+polly', placement='polly')
- resource(name='libcxx', git='https://github.com/SOLLVE/libcxx.git',
- commit="9637883af0357acf02c87fae5efb71661d21f516",
- destination='projects', when='@1.0a2+libcxx', placement='libcxx')
- resource(name='libcxxabi', git='https://github.com/SOLLVE/libcxxabi.git',
- commit="3ed912b3b014a3af862c3b2cd0795ad43afadf31",
- destination='projects', when='@1.0a2+libcxx',
- placement='libcxxabi')
- resource(name='cfe', git='https://github.com/SOLLVE/clang.git',
- commit="774bc67094a1baa2dbdab705b0cac061048a062e",
- destination='tools', when='@1.0a2+clang', placement='clang')
- resource(name='lldb',
- svn='http://llvm.org/svn/llvm-project/lldb/trunk',
- revision=373127, destination='tools', when='@1.0a2+lldb',
- placement='lldb')
- resource(name='lld', svn='http://llvm.org/svn/llvm-project/lld/trunk/',
- revision=373077, destination='tools', when='@1.0a2+lld',
- placement='lld')
- resource(name='libunwind',
- svn='http://llvm.org/svn/llvm-project/libunwind/trunk',
- revision=372427, destination='projects',
- when='@1.0a2+internal_unwind', placement='libunwind')
-
- conflicts('+lldb', when='~clang')
-
- conflicts('%gcc@:5.0')
- conflicts('+omp_tsan')
-
- patch('disable_unused_lock.patch', when='@1.0a2', working_dir='projects/openmp')
-
- @run_before('cmake')
+ version("1.0a2", commit="cb4343bda9e57076a74dee23236ac9737e07594f", deprecated=True)
+ resource(
+ name="compiler-rt",
+ svn="https://llvm.org/svn/llvm-project/compiler-rt/trunk",
+ revision=373130,
+ destination="projects",
+ when="@1.0a2+compiler-rt",
+ placement="compiler-rt",
+ )
+ resource(
+ name="openmp",
+ git="https://github.com/pmodels/bolt.git",
+ commit="0a0033b09cfb672c119cf41eeb54eda7664681bc",
+ destination="projects",
+ when="@1.0a2+clang",
+ placement="openmp",
+ )
+ resource(
+ name="polly",
+ git="https://github.com/SOLLVE/polly.git",
+ commit="96168ae6fb436e95cd756950855a57b895070047",
+ destination="tools",
+ when="@1.0a2+polly",
+ placement="polly",
+ )
+ resource(
+ name="libcxx",
+ git="https://github.com/SOLLVE/libcxx.git",
+ commit="9637883af0357acf02c87fae5efb71661d21f516",
+ destination="projects",
+ when="@1.0a2+libcxx",
+ placement="libcxx",
+ )
+ resource(
+ name="libcxxabi",
+ git="https://github.com/SOLLVE/libcxxabi.git",
+ commit="3ed912b3b014a3af862c3b2cd0795ad43afadf31",
+ destination="projects",
+ when="@1.0a2+libcxx",
+ placement="libcxxabi",
+ )
+ resource(
+ name="cfe",
+ git="https://github.com/SOLLVE/clang.git",
+ commit="774bc67094a1baa2dbdab705b0cac061048a062e",
+ destination="tools",
+ when="@1.0a2+clang",
+ placement="clang",
+ )
+ resource(
+ name="lldb",
+ svn="http://llvm.org/svn/llvm-project/lldb/trunk",
+ revision=373127,
+ destination="tools",
+ when="@1.0a2+lldb",
+ placement="lldb",
+ )
+ resource(
+ name="lld",
+ svn="http://llvm.org/svn/llvm-project/lld/trunk/",
+ revision=373077,
+ destination="tools",
+ when="@1.0a2+lld",
+ placement="lld",
+ )
+ resource(
+ name="libunwind",
+ svn="http://llvm.org/svn/llvm-project/libunwind/trunk",
+ revision=372427,
+ destination="projects",
+ when="@1.0a2+internal_unwind",
+ placement="libunwind",
+ )
+
+ conflicts("+lldb", when="~clang")
+
+ conflicts("%gcc@:5.0")
+ conflicts("+omp_tsan")
+
+ patch("disable_unused_lock.patch", when="@1.0a2", working_dir="projects/openmp")
+
+ @run_before("cmake")
def check_darwin_lldb_codesign_requirement(self):
- if not self.spec.satisfies('+lldb platform=darwin'):
+ if not self.spec.satisfies("+lldb platform=darwin"):
return
- codesign = which('codesign')
- mkdir('tmp')
- llvm_check_file = join_path('tmp', 'llvm_check')
- copy('/usr/bin/false', llvm_check_file)
+ codesign = which("codesign")
+ mkdir("tmp")
+ llvm_check_file = join_path("tmp", "llvm_check")
+ copy("/usr/bin/false", llvm_check_file)
try:
- codesign('-f', '-s', 'lldb_codesign', '--dryrun',
- llvm_check_file)
+ codesign("-f", "-s", "lldb_codesign", "--dryrun", llvm_check_file)
except ProcessError:
- explanation = ('The "lldb_codesign" identity must be available'
- ' to build LLVM with LLDB. See https://llvm.org/'
- 'svn/llvm-project/lldb/trunk/docs/code-signing'
- '.txt for details on how to create this identity.')
+ explanation = (
+ 'The "lldb_codesign" identity must be available'
+ " to build LLVM with LLDB. See https://llvm.org/"
+ "svn/llvm-project/lldb/trunk/docs/code-signing"
+ ".txt for details on how to create this identity."
+ )
raise RuntimeError(explanation)
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', self.compiler.cxx11_flag)
+ env.append_flags("CXXFLAGS", self.compiler.cxx11_flag)
def setup_run_environment(self, env):
- if '+clang' in self.spec:
- env.set('CC', join_path(self.spec.prefix.bin, 'clang'))
- env.set('CXX', join_path(self.spec.prefix.bin, 'clang++'))
+ if "+clang" in self.spec:
+ env.set("CC", join_path(self.spec.prefix.bin, "clang"))
+ env.set("CXX", join_path(self.spec.prefix.bin, "clang++"))
def cmake_args(self):
spec = self.spec
cmake_args = [
- '-DLLVM_REQUIRES_RTTI:BOOL=ON',
- '-DLLVM_ENABLE_RTTI:BOOL=ON',
- '-DLLVM_ENABLE_EH:BOOL=ON',
- '-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp',
- '-DPYTHON_EXECUTABLE:PATH={0}'.format(spec['python'].command.path),
+ "-DLLVM_REQUIRES_RTTI:BOOL=ON",
+ "-DLLVM_ENABLE_RTTI:BOOL=ON",
+ "-DLLVM_ENABLE_EH:BOOL=ON",
+ "-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
+ "-DPYTHON_EXECUTABLE:PATH={0}".format(spec["python"].command.path),
]
# TODO: Instead of unconditionally disabling CUDA, add a "cuda" variant
# (see TODO above), and set the paths if enabled.
- cmake_args.extend([
- '-DCUDA_TOOLKIT_ROOT_DIR:PATH=IGNORE',
- '-DCUDA_SDK_ROOT_DIR:PATH=IGNORE',
- '-DCUDA_NVCC_EXECUTABLE:FILEPATH=IGNORE',
- '-DLIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES:STRING=IGNORE'])
-
- if '+gold' in spec:
- cmake_args.append('-DLLVM_BINUTILS_INCDIR=' +
- spec['binutils'].prefix.include)
-
- if '+polly' in spec:
- cmake_args.append('-DLINK_POLLY_INTO_TOOLS:Bool=ON')
+ cmake_args.extend(
+ [
+ "-DCUDA_TOOLKIT_ROOT_DIR:PATH=IGNORE",
+ "-DCUDA_SDK_ROOT_DIR:PATH=IGNORE",
+ "-DCUDA_NVCC_EXECUTABLE:FILEPATH=IGNORE",
+ "-DLIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES:STRING=IGNORE",
+ ]
+ )
+
+ if "+gold" in spec:
+ cmake_args.append("-DLLVM_BINUTILS_INCDIR=" + spec["binutils"].prefix.include)
+
+ if "+polly" in spec:
+ cmake_args.append("-DLINK_POLLY_INTO_TOOLS:Bool=ON")
else:
- cmake_args.extend(['-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF',
- '-DLLVM_TOOL_POLLY_BUILD:Bool=OFF',
- '-DLLVM_POLLY_BUILD:Bool=OFF',
- '-DLLVM_POLLY_LINK_INTO_TOOLS:Bool=OFF'])
-
- if '+python' in spec and '+lldb' in spec:
- cmake_args.append('-DLLDB_USE_SYSTEM_SIX:Bool=TRUE')
+ cmake_args.extend(
+ [
+ "-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_TOOL_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_POLLY_LINK_INTO_TOOLS:Bool=OFF",
+ ]
+ )
+
+ if "+python" in spec and "+lldb" in spec:
+ cmake_args.append("-DLLDB_USE_SYSTEM_SIX:Bool=TRUE")
else:
- cmake_args.append('-DLLDB_USE_SYSTEM_SIX:Bool=FALSE')
+ cmake_args.append("-DLLDB_USE_SYSTEM_SIX:Bool=FALSE")
- if '+clang' in spec:
- cmake_args.append('-DLLVM_EXTERNAL_CLANG_BUILD:Bool=ON')
+ if "+clang" in spec:
+ cmake_args.append("-DLLVM_EXTERNAL_CLANG_BUILD:Bool=ON")
else:
- cmake_args.append('-DLLVM_EXTERNAL_CLANG_BUILD:Bool=OFF')
+ cmake_args.append("-DLLVM_EXTERNAL_CLANG_BUILD:Bool=OFF")
- if '+lldb' in spec:
- cmake_args.extend(['-DLLVM_EXTERNAL_LLDB_BUILD:Bool=ON',
- '-DLLVM_TOOL_LLDB_BUILD:Bool=ON'])
+ if "+lldb" in spec:
+ cmake_args.extend(
+ ["-DLLVM_EXTERNAL_LLDB_BUILD:Bool=ON", "-DLLVM_TOOL_LLDB_BUILD:Bool=ON"]
+ )
else:
- cmake_args.extend(['-DLLVM_EXTERNAL_LLDB_BUILD:Bool=OFF',
- '-DLLVM_TOOL_LLDB_BUILD:Bool=OFF'])
+ cmake_args.extend(
+ ["-DLLVM_EXTERNAL_LLDB_BUILD:Bool=OFF", "-DLLVM_TOOL_LLDB_BUILD:Bool=OFF"]
+ )
- if '+lld' in spec:
- cmake_args.append('-DLLVM_TOOL_LLD_BUILD:Bool=ON')
+ if "+lld" in spec:
+ cmake_args.append("-DLLVM_TOOL_LLD_BUILD:Bool=ON")
else:
- cmake_args.append('-DLLVM_TOOL_LLD_BUILD:Bool=OFF')
+ cmake_args.append("-DLLVM_TOOL_LLD_BUILD:Bool=OFF")
- if '+internal_unwind' in spec:
- cmake_args.append('-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=ON')
+ if "+internal_unwind" in spec:
+ cmake_args.append("-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=ON")
else:
- cmake_args.append('-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=OFF')
+ cmake_args.append("-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=OFF")
- if '+libcxx' in spec:
- cmake_args.append('-DCLANG_DEFAULT_CXX_STDLIB=libc++')
- cmake_args.append('-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=ON')
- cmake_args.append('-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=ON')
+ if "+libcxx" in spec:
+ cmake_args.append("-DCLANG_DEFAULT_CXX_STDLIB=libc++")
+ cmake_args.append("-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=ON")
+ cmake_args.append("-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=ON")
else:
- cmake_args.append('-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=OFF')
- cmake_args.append('-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=OFF')
+ cmake_args.append("-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=OFF")
+ cmake_args.append("-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=OFF")
- if '+compiler-rt' in spec:
- cmake_args.append('-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=ON')
+ if "+compiler-rt" in spec:
+ cmake_args.append("-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=ON")
else:
- cmake_args.append('-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=OFF')
+ cmake_args.append("-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=OFF")
- if '+shared_libs' in spec:
- cmake_args.append('-DBUILD_SHARED_LIBS:Bool=ON')
+ if "+shared_libs" in spec:
+ cmake_args.append("-DBUILD_SHARED_LIBS:Bool=ON")
else:
- cmake_args.append('-DBUILD_SHARED_LIBS:Bool=OFF')
+ cmake_args.append("-DBUILD_SHARED_LIBS:Bool=OFF")
- if '+link_dylib' in spec:
- cmake_args.append('-DLLVM_LINK_LLVM_DYLIB:Bool=ON')
+ if "+link_dylib" in spec:
+ cmake_args.append("-DLLVM_LINK_LLVM_DYLIB:Bool=ON")
else:
- cmake_args.append('-DLLVM_LINK_LLVM_DYLIB:Bool=OFF')
+ cmake_args.append("-DLLVM_LINK_LLVM_DYLIB:Bool=OFF")
- if '+all_targets' not in spec: # all is default on cmake
+ if "+all_targets" not in spec: # all is default on cmake
targets = []
- if spec.target.family == 'x86' or spec.target.family == 'x86_64':
- targets.append('X86')
- elif spec.target.family == 'arm':
- targets.append('ARM')
- elif spec.target.family == 'aarch64':
- targets.append('AArch64')
- elif (spec.target.family == 'sparc' or
- spec.target.family == 'sparc64'):
- targets.append('Sparc')
- elif (spec.target.family == 'ppc64' or
- spec.target.family == 'ppc64le' or
- spec.target.family == 'ppc' or
- spec.target.family == 'ppcle'):
- targets.append('PowerPC')
-
- cmake_args.append(
- '-DLLVM_TARGETS_TO_BUILD:STRING=' + ';'.join(targets))
-
- if '+omp_tsan' in spec:
- cmake_args.append('-DLIBOMP_TSAN_SUPPORT=ON')
+ if spec.target.family == "x86" or spec.target.family == "x86_64":
+ targets.append("X86")
+ elif spec.target.family == "arm":
+ targets.append("ARM")
+ elif spec.target.family == "aarch64":
+ targets.append("AArch64")
+ elif spec.target.family == "sparc" or spec.target.family == "sparc64":
+ targets.append("Sparc")
+ elif (
+ spec.target.family == "ppc64"
+ or spec.target.family == "ppc64le"
+ or spec.target.family == "ppc"
+ or spec.target.family == "ppcle"
+ ):
+ targets.append("PowerPC")
+
+ cmake_args.append("-DLLVM_TARGETS_TO_BUILD:STRING=" + ";".join(targets))
+
+ if "+omp_tsan" in spec:
+ cmake_args.append("-DLIBOMP_TSAN_SUPPORT=ON")
else:
- cmake_args.append('-DLIBOMP_TSAN_SUPPORT=OFF')
-
- if '+argobots' in spec:
- cmake_args.extend([
- '-DLIBOMP_USE_ITT_NOTIFY=OFF',
- '-DLIBOMP_USE_ARGOBOTS=ON',
- '-DLIBOMP_ARGOBOTS_INSTALL_DIR=' + spec['argobots'].prefix])
+ cmake_args.append("-DLIBOMP_TSAN_SUPPORT=OFF")
+
+ if "+argobots" in spec:
+ cmake_args.extend(
+ [
+ "-DLIBOMP_USE_ITT_NOTIFY=OFF",
+ "-DLIBOMP_USE_ARGOBOTS=ON",
+ "-DLIBOMP_ARGOBOTS_INSTALL_DIR=" + spec["argobots"].prefix,
+ ]
+ )
else:
# LIBOMP_USE_ITT_NOTIFY should be set to a default value.
- cmake_args.append('-DLIBOMP_USE_ARGOBOTS=OFF')
+ cmake_args.append("-DLIBOMP_USE_ARGOBOTS=OFF")
- if self.compiler.name == 'gcc':
+ if self.compiler.name == "gcc":
gcc_prefix = ancestor(self.compiler.cc, 2)
- cmake_args.append('-DGCC_INSTALL_PREFIX=' + gcc_prefix)
+ cmake_args.append("-DGCC_INSTALL_PREFIX=" + gcc_prefix)
- if spec.satisfies('platform=linux'):
- cmake_args.append('-DCMAKE_BUILD_WITH_INSTALL_RPATH=1')
+ if spec.satisfies("platform=linux"):
+ cmake_args.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
return cmake_args
- @run_before('build')
+ @run_before("build")
def pre_install(self):
with working_dir(self.build_directory):
# When building shared libraries these need to be installed first
- make('install-LLVMTableGen')
- if self.spec.version >= Version('4.0.0'):
+ make("install-LLVMTableGen")
+ if self.spec.version >= Version("4.0.0"):
# LLVMDemangle target was added in 4.0.0
- make('install-LLVMDemangle')
- make('install-LLVMSupport')
+ make("install-LLVMDemangle")
+ make("install-LLVMSupport")
- @run_after('install')
+ @run_after("install")
def post_install(self):
- if '+clang' in self.spec and '+python' in self.spec:
- install_tree(
- 'tools/clang/bindings/python/clang',
- join_path(python_platlib, 'clang'))
+ if "+clang" in self.spec and "+python" in self.spec:
+ install_tree("tools/clang/bindings/python/clang", join_path(python_platlib, "clang"))
with working_dir(self.build_directory):
- install_tree('bin', self.prefix.libexec.llvm)
+ install_tree("bin", self.prefix.libexec.llvm)
diff --git a/var/spack/repos/builtin/packages/sollya/package.py b/var/spack/repos/builtin/packages/sollya/package.py
index 6bb7dc3b09..1893ce1d7b 100644
--- a/var/spack/repos/builtin/packages/sollya/package.py
+++ b/var/spack/repos/builtin/packages/sollya/package.py
@@ -13,21 +13,22 @@ class Sollya(AutotoolsPackage):
a certified infinity (supremum) norm and a fast Remez algorithm."""
homepage = "https://www.sollya.org"
- url = "https://www.sollya.org/releases/sollya-7.0/sollya-7.0.tar.bz2"
+ url = "https://www.sollya.org/releases/sollya-7.0/sollya-7.0.tar.bz2"
- version('7.0', sha256='15745871f7dd3e96e12915098dd6df2078b815853a38143b2bc6c01477044984')
+ version("7.0", sha256="15745871f7dd3e96e12915098dd6df2078b815853a38143b2bc6c01477044984")
- depends_on('gmp')
- depends_on('mpfi')
- depends_on('mpfr')
- depends_on('libxml2')
- depends_on('fplll')
+ depends_on("gmp")
+ depends_on("mpfi")
+ depends_on("mpfr")
+ depends_on("libxml2")
+ depends_on("fplll")
def configure_args(self):
- args = ['--with-gmp=' + self.spec['gmp'].prefix,
- '--with-mpfr=' + self.spec['mpfr'].prefix,
- '--with-mpfi=' + self.spec['mpfi'].prefix,
- '--with-xml2=' + self.spec['libxml2'].prefix,
- '--with-fplll=' + self.spec['fplll'].prefix
- ]
+ args = [
+ "--with-gmp=" + self.spec["gmp"].prefix,
+ "--with-mpfr=" + self.spec["mpfr"].prefix,
+ "--with-mpfi=" + self.spec["mpfi"].prefix,
+ "--with-xml2=" + self.spec["libxml2"].prefix,
+ "--with-fplll=" + self.spec["fplll"].prefix,
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/solr/package.py b/var/spack/repos/builtin/packages/solr/package.py
index 659d0769ab..0823346024 100644
--- a/var/spack/repos/builtin/packages/solr/package.py
+++ b/var/spack/repos/builtin/packages/solr/package.py
@@ -13,18 +13,18 @@ class Solr(Package):
navigation features of many of the world's largest internet sites."""
homepage = "https://lucene.apache.org/"
- url = "https://archive.apache.org/dist/lucene/solr/7.7.3/solr-7.7.3.tgz"
+ url = "https://archive.apache.org/dist/lucene/solr/7.7.3/solr-7.7.3.tgz"
list_url = "https://archive.apache.org/dist/lucene/solr"
list_depth = 1
- depends_on('java', type='run')
+ depends_on("java", type="run")
- version('8.6.0', sha256='4519ccdb531619df770f1065db6adcedc052c7aa94b42806d541966550956aa5')
- version('8.5.2', sha256='c457d6c7243241cad141e1df34c6f669d58a6c60e537f4217d032616dd066dcf')
- version('8.5.1', sha256='47b68073b37bbcc0517a355ef722f20827c3f1416537ebbccf5239dda8064a0b')
- version('8.5.0', sha256='9e54711ad0aa60e9723d2cdeb20cf0d21ee2ab9fa0048ec59dcb5f9d94dc61dd')
- version('8.4.1', sha256='ec39e1e024b2e37405149de41e39e875a39bf11a53f506d07d96b47b8d2a4301')
- version('7.7.3', sha256='3ec67fa430afa5b5eb43bb1cd4a659e56ee9f8541e0116d6080c0d783870baee')
+ version("8.6.0", sha256="4519ccdb531619df770f1065db6adcedc052c7aa94b42806d541966550956aa5")
+ version("8.5.2", sha256="c457d6c7243241cad141e1df34c6f669d58a6c60e537f4217d032616dd066dcf")
+ version("8.5.1", sha256="47b68073b37bbcc0517a355ef722f20827c3f1416537ebbccf5239dda8064a0b")
+ version("8.5.0", sha256="9e54711ad0aa60e9723d2cdeb20cf0d21ee2ab9fa0048ec59dcb5f9d94dc61dd")
+ version("8.4.1", sha256="ec39e1e024b2e37405149de41e39e875a39bf11a53f506d07d96b47b8d2a4301")
+ version("7.7.3", sha256="3ec67fa430afa5b5eb43bb1cd4a659e56ee9f8541e0116d6080c0d783870baee")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/somatic-sniper/package.py b/var/spack/repos/builtin/packages/somatic-sniper/package.py
index efe5327f23..ccfa639c27 100644
--- a/var/spack/repos/builtin/packages/somatic-sniper/package.py
+++ b/var/spack/repos/builtin/packages/somatic-sniper/package.py
@@ -10,10 +10,10 @@ class SomaticSniper(CMakePackage):
"""A tool to call somatic single nucleotide variants."""
homepage = "https://gmt.genome.wustl.edu/packages/somatic-sniper"
- url = "https://github.com/genome/somatic-sniper/archive/v1.0.5.0.tar.gz"
+ url = "https://github.com/genome/somatic-sniper/archive/v1.0.5.0.tar.gz"
- version('1.0.5.0', sha256='fc41e90237b059fcc591e404830c4b1be678642dd5afd76ce545b97b4b7b3de1')
+ version("1.0.5.0", sha256="fc41e90237b059fcc591e404830c4b1be678642dd5afd76ce545b97b4b7b3de1")
- depends_on('ncurses')
+ depends_on("ncurses")
parallel = False
diff --git a/var/spack/repos/builtin/packages/sombrero/package.py b/var/spack/repos/builtin/packages/sombrero/package.py
index 0fd32fbc86..783a1e9dd8 100644
--- a/var/spack/repos/builtin/packages/sombrero/package.py
+++ b/var/spack/repos/builtin/packages/sombrero/package.py
@@ -14,39 +14,46 @@ class Sombrero(MakefilePackage):
homepage = "https://github.com/sa2c/sombrero"
url = "https://github.com/sa2c/sombrero/archive/refs/tags/1.0.tar.gz"
- version('2021-08-16',
- sha256='f62aa1934fef6a025449a9e037345043072be6198f92087853c58c67f1342f73')
- version('2021-07-31',
- sha256='9c59693f330904b1f444187d1974a179c61d801f063581acb94a7a77955151e0')
- version('2021-07-14',
- sha256='d2801a4efea312a14fc34775b0dea862e958ccb9b7721a63b6c29e1224e12257')
- version('2021-07-08',
- sha256='816b0f0a684a421fa620f11c21649ac162e85d1febd6a7e10cfd07604760c0d6')
+ version(
+ "2021-08-16", sha256="f62aa1934fef6a025449a9e037345043072be6198f92087853c58c67f1342f73"
+ )
+ 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',
- sha256='423a631c86f0e5f14dea186228871099ca0374dc07bf1bb24b6be17f79784682',
- deprecated=True)
+ version(
+ "1.0",
+ sha256="423a631c86f0e5f14dea186228871099ca0374dc07bf1bb24b6be17f79784682",
+ deprecated=True,
+ )
- depends_on('mpi')
+ depends_on("mpi")
- maintainers = ['mmesiti', 'edbennett']
+ maintainers = ["mmesiti", "edbennett"]
def edit(self, spec, prefix):
# Make the `sombrero.sh` driver relocatable
- sombrero_sh = FileFilter(
- join_path(self.stage.source_path, 'sombrero.sh'))
- sombrero_dir = join_path(prefix.bin, 'sombrero')
- sombrero_sh.filter('sombrero/', '{0}/'.format(sombrero_dir))
+ sombrero_sh = FileFilter(join_path(self.stage.source_path, "sombrero.sh"))
+ sombrero_dir = join_path(prefix.bin, "sombrero")
+ sombrero_sh.filter("sombrero/", "{0}/".format(sombrero_dir))
def install(self, spec, prefix):
- sombrero_dir = join_path(prefix.bin, 'sombrero')
+ sombrero_dir = join_path(prefix.bin, "sombrero")
mkdirp(sombrero_dir)
# Install the shell driver
- install('sombrero.sh', prefix.bin)
+ install("sombrero.sh", prefix.bin)
# Install all executables
for i in range(1, 7):
- src = join_path('sombrero', 'sombrero{0}'.format(i))
+ 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)))
+ symlink(
+ join_path(sombrero_dir, "sombrero{0}".format(i)),
+ join_path(prefix.bin, "sombrero{0}".format(i)),
+ )
diff --git a/var/spack/repos/builtin/packages/sonlib/package.py b/var/spack/repos/builtin/packages/sonlib/package.py
index a027b5e8a0..025d4d7ba9 100644
--- a/var/spack/repos/builtin/packages/sonlib/package.py
+++ b/var/spack/repos/builtin/packages/sonlib/package.py
@@ -18,24 +18,24 @@ class Sonlib(MakefilePackage):
# If you need to use sonlib then you want py-sonlib
homepage = "https://github.com/ComparativeGenomicsToolkit"
- url = "https://github.com/ComparativeGenomicsToolkit/sonLib"
- git = "https://github.com/ComparativeGenomicsToolkit/sonLib.git"
+ url = "https://github.com/ComparativeGenomicsToolkit/sonLib"
+ git = "https://github.com/ComparativeGenomicsToolkit/sonLib.git"
- version('master', branch='master')
- version('2020-04-01', commit='7ebe2ede05a6ee366d93a7a993db69a99943a68f')
+ version("master", branch="master")
+ version("2020-04-01", commit="7ebe2ede05a6ee366d93a7a993db69a99943a68f")
def setup_build_environment(self, env):
- binpath = os.path.join(self.stage.source_path, 'bin')
- libpath = os.path.join(self.stage.source_path, 'lib')
+ binpath = os.path.join(self.stage.source_path, "bin")
+ libpath = os.path.join(self.stage.source_path, "lib")
- env.set('BINDIR', binpath)
- env.set('LIBDIR', libpath)
+ env.set("BINDIR", binpath)
+ env.set("LIBDIR", libpath)
def build(self, spec, prefix):
- binpath = os.path.join(self.stage.source_path, 'bin')
- libpath = os.path.join(self.stage.source_path, 'lib')
+ binpath = os.path.join(self.stage.source_path, "bin")
+ libpath = os.path.join(self.stage.source_path, "lib")
mkdir(binpath)
mkdir(libpath)
@@ -44,5 +44,5 @@ class Sonlib(MakefilePackage):
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/sortmerna/package.py b/var/spack/repos/builtin/packages/sortmerna/package.py
index 2a86121121..7211eba63e 100644
--- a/var/spack/repos/builtin/packages/sortmerna/package.py
+++ b/var/spack/repos/builtin/packages/sortmerna/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Sortmerna(CMakePackage):
"""SortMeRNA is a program tool for filtering, mapping and OTU-picking NGS
- reads in metatranscriptomic and metagenomic data"""
+ reads in metatranscriptomic and metagenomic data"""
homepage = "https://github.com/biocore/sortmerna"
- git = "https://github.com/biocore/sortmerna.git"
+ git = "https://github.com/biocore/sortmerna.git"
- version('2017-07-13', commit='8bde6fa113a5d99a23ae81b48eeea6760e966094')
+ version("2017-07-13", commit="8bde6fa113a5d99a23ae81b48eeea6760e966094")
- depends_on('zlib')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir(join_path(self.build_directory, 'src', 'indexdb')):
- install('indexdb', prefix.bin)
- with working_dir(join_path(self.build_directory, 'src', 'sortmerna')):
- install('sortmerna', prefix.bin)
+ with working_dir(join_path(self.build_directory, "src", "indexdb")):
+ install("indexdb", prefix.bin)
+ with working_dir(join_path(self.build_directory, "src", "sortmerna")):
+ install("sortmerna", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sos/package.py b/var/spack/repos/builtin/packages/sos/package.py
index 488377cf99..1d3afb615f 100644
--- a/var/spack/repos/builtin/packages/sos/package.py
+++ b/var/spack/repos/builtin/packages/sos/package.py
@@ -10,51 +10,49 @@ class Sos(AutotoolsPackage):
"""Sandia OpenSHMEM."""
homepage = "https://github.com/Sandia-OpenSHMEM/SOS"
- url = "https://github.com/Sandia-OpenSHMEM/SOS/archive/refs/tags/v1.5.0.zip"
+ url = "https://github.com/Sandia-OpenSHMEM/SOS/archive/refs/tags/v1.5.0.zip"
# notify when the package is updated.
- maintainers = ['rscohn2']
+ maintainers = ["rscohn2"]
- version('1.5.1', sha256='0a6303dcbdd713ef2d83c617c1eb821227603c98cb9816c53585fd993da8a984')
- version('1.5.0', sha256='02679da6085cca2919f900022c46bad48479690586cb4e7f971ec3a735bab4d4')
- version('1.4.5', sha256='42778ba3cedb632ac3fbbf8917f415a804f8ca3b67fb3da6d636e6c50c501906')
+ version("1.5.1", sha256="0a6303dcbdd713ef2d83c617c1eb821227603c98cb9816c53585fd993da8a984")
+ 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')
+ 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("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libfabric', type='link', when='+ofi')
- depends_on('xpmem', type='link', when='+xpmem')
+ 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
- filter_compiler_wrappers(
- 'oshcc', 'oshc++', 'oshcc', 'oshfort', relative_root='bin'
- )
+ filter_compiler_wrappers("oshcc", "oshc++", "oshcc", "oshfort", relative_root="bin")
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_compiler_environment(env)
# Enable the osh wrappers to use spack wrappers when inside spack
# with env variables
- env.set('SHMEM_CC', spack_cc)
- env.set('SHMEM_CXX', spack_cxx)
- env.set('SHMEM_FC', spack_fc)
+ env.set("SHMEM_CC", spack_cc)
+ env.set("SHMEM_CXX", spack_cxx)
+ env.set("SHMEM_FC", spack_fc)
def autoreconf(self, spec, prefix):
- bash = Executable('bash')
- bash('./autogen.sh')
+ bash = Executable("bash")
+ bash("./autogen.sh")
def configure_args(self):
args = []
- args.extend(self.with_or_without('xpmem'))
- args.extend(self.with_or_without('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.enable_or_disable('shr-atomics'))
- args.append('--enable-pmi-simple')
+ args.extend(self.enable_or_disable("shr-atomics"))
+ args.append("--enable-pmi-simple")
return args
diff --git a/var/spack/repos/builtin/packages/sosflow/package.py b/var/spack/repos/builtin/packages/sosflow/package.py
index 21926d74dc..d8a6655158 100644
--- a/var/spack/repos/builtin/packages/sosflow/package.py
+++ b/var/spack/repos/builtin/packages/sosflow/package.py
@@ -12,24 +12,24 @@ class Sosflow(CMakePackage):
observation, introspection, feedback, and control of HPC applications."""
homepage = "https://github.com/cdwdirect/sos_flow/wiki"
- git = "https://github.com/cdwdirect/sos_flow.git"
+ git = "https://github.com/cdwdirect/sos_flow.git"
- version('spack', tag='spack-build-v0.9901')
+ version("spack", tag="spack-build-v0.9901")
- depends_on('libevpath')
- depends_on('sqlite@3:')
- depends_on('pkgconfig')
- depends_on('mpi')
+ depends_on("libevpath")
+ depends_on("sqlite@3:")
+ depends_on("pkgconfig")
+ depends_on("mpi")
def setup_build_environment(self, env):
- env.set('SOS_HOST_KNOWN_AS', 'SPACK-SOS-BUILD')
- env.set('SOS_HOST_NODE_NAME', 'SPACK-SOS-NODE')
- env.set('SOS_HOST_DETAILED', 'SPACK-SOS-DETAILED')
+ env.set("SOS_HOST_KNOWN_AS", "SPACK-SOS-BUILD")
+ env.set("SOS_HOST_NODE_NAME", "SPACK-SOS-NODE")
+ env.set("SOS_HOST_DETAILED", "SPACK-SOS-DETAILED")
def setup_run_environment(self, env):
- env.set('SOS_ROOT', self.spec.prefix)
- env.set('SOS_BUILD_DIR', self.spec.prefix)
- env.set('SOS_CMD_PORT', '22500')
- env.set('SOS_WORK', env['HOME'])
- env.set('SOS_EVPATH_MEETUP', env['HOME'])
- env.set('SOS_ENV_SET', 'true')
+ env.set("SOS_ROOT", self.spec.prefix)
+ env.set("SOS_BUILD_DIR", self.spec.prefix)
+ env.set("SOS_CMD_PORT", "22500")
+ env.set("SOS_WORK", env["HOME"])
+ env.set("SOS_EVPATH_MEETUP", env["HOME"])
+ env.set("SOS_ENV_SET", "true")
diff --git a/var/spack/repos/builtin/packages/source-highlight/package.py b/var/spack/repos/builtin/packages/source-highlight/package.py
index 1f7f28a8fb..267ae4a256 100644
--- a/var/spack/repos/builtin/packages/source-highlight/package.py
+++ b/var/spack/repos/builtin/packages/source-highlight/package.py
@@ -10,30 +10,32 @@ from spack.package import *
class SourceHighlight(AutotoolsPackage, GNUMirrorPackage):
"""This program, given a source file, produces a document with syntax
highlighting. It also provides a C++ highlight library
- (since version 3.0). """
+ (since version 3.0)."""
homepage = "https://www.gnu.org/software/src-highlite/"
gnu_mirror_path = "src-highlite/source-highlight-3.1.8.tar.gz"
git = "https://git.savannah.gnu.org/git/src-highlite.git"
- version('master', branch='master')
- version('3.1.9', sha256='3a7fd28378cb5416f8de2c9e77196ec915145d44e30ff4e0ee8beb3fe6211c91')
- version('3.1.8', sha256='01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3')
+ version("master", branch="master")
+ version("3.1.9", sha256="3a7fd28378cb5416f8de2c9e77196ec915145d44e30ff4e0ee8beb3fe6211c91")
+ version("3.1.8", sha256="01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3")
- patch('https://git.savannah.gnu.org/cgit/src-highlite.git/' +
- 'patch/lib?id=904949c9026cb772dc93fbe0947a252ef47127f4',
- sha256='45087b174b2b128a8dc81b0728f8ae63213d255ceef6dabfcba27c94e2a75ce9',
- when='%gcc@11:')
+ patch(
+ "https://git.savannah.gnu.org/cgit/src-highlite.git/"
+ + "patch/lib?id=904949c9026cb772dc93fbe0947a252ef47127f4",
+ sha256="45087b174b2b128a8dc81b0728f8ae63213d255ceef6dabfcba27c94e2a75ce9",
+ when="%gcc@11:",
+ )
- depends_on('boost+exception+regex')
+ depends_on("boost+exception+regex")
# git version needs autotools
- depends_on('m4', when='@master')
- depends_on('autoconf', when='@master')
- depends_on('automake', when='@master')
- depends_on('libtool', when='@master')
- depends_on('texinfo', when='@master')
+ depends_on("m4", when="@master")
+ depends_on("autoconf", when="@master")
+ depends_on("automake", when="@master")
+ depends_on("libtool", when="@master")
+ depends_on("texinfo", when="@master")
def configure_args(self):
- args = ["--with-boost={0}".format(self.spec['boost'].prefix)]
+ args = ["--with-boost={0}".format(self.spec["boost"].prefix)]
return args
diff --git a/var/spack/repos/builtin/packages/sowing/package.py b/var/spack/repos/builtin/packages/sowing/package.py
index 6f5cacffe5..0c0010e5e6 100644
--- a/var/spack/repos/builtin/packages/sowing/package.py
+++ b/var/spack/repos/builtin/packages/sowing/package.py
@@ -9,15 +9,15 @@ from spack.package import *
class Sowing(AutotoolsPackage):
"""Sowing generates Fortran interfaces and documentation for PETSc
- and MPICH.
+ and MPICH.
"""
homepage = "https://www.mcs.anl.gov/petsc/index.html"
url = "https://ftp.mcs.anl.gov/pub/petsc/externalpackages/sowing-1.1.23-p1.tar.gz"
- version('1.1.26-p1', sha256='fa0bd07295e5d768f2c33c8ab32205cc6411d42cb40bde0700fb57f9ee31c3d9')
- version('1.1.25-p1', sha256='c3a5bb170fffeeb1405ec4c3a048744a528d2bef24de29b6ac5e970cfeaddab5')
- version('1.1.23-p1', sha256='3e36f59e06fccbbf7b78d185c5654edaf70cf76f1c584bcbf08c39d7f29125e8')
+ version("1.1.26-p1", sha256="fa0bd07295e5d768f2c33c8ab32205cc6411d42cb40bde0700fb57f9ee31c3d9")
+ version("1.1.25-p1", sha256="c3a5bb170fffeeb1405ec4c3a048744a528d2bef24de29b6ac5e970cfeaddab5")
+ version("1.1.23-p1", sha256="3e36f59e06fccbbf7b78d185c5654edaf70cf76f1c584bcbf08c39d7f29125e8")
def build(self, spec, prefix):
- make('ALL', parallel=False)
+ make("ALL", parallel=False)
diff --git a/var/spack/repos/builtin/packages/sox/package.py b/var/spack/repos/builtin/packages/sox/package.py
index 3de5388a2d..3cbb9ab3d1 100644
--- a/var/spack/repos/builtin/packages/sox/package.py
+++ b/var/spack/repos/builtin/packages/sox/package.py
@@ -10,18 +10,16 @@ class Sox(AutotoolsPackage):
"""SoX, the Swiss Army knife of sound processing programs."""
homepage = "http://sox.sourceforge.net/Main/HomePage"
- url = "https://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2"
+ url = "https://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2"
- version('14.4.2', sha256='81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c')
+ version("14.4.2", sha256="81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c")
- variant('mp3',
- default=False,
- description='Build with mp3 support')
+ variant("mp3", default=False, description="Build with mp3 support")
- depends_on('bzip2')
- depends_on('flac')
- depends_on('id3lib')
- depends_on('libvorbis')
- depends_on('opus')
- depends_on('lame', when='+mp3')
- depends_on('libmad', when='+mp3')
+ depends_on("bzip2")
+ depends_on("flac")
+ depends_on("id3lib")
+ depends_on("libvorbis")
+ depends_on("opus")
+ depends_on("lame", when="+mp3")
+ depends_on("libmad", when="+mp3")
diff --git a/var/spack/repos/builtin/packages/sp/package.py b/var/spack/repos/builtin/packages/sp/package.py
index 37eb948f8d..bfbce956c4 100644
--- a/var/spack/repos/builtin/packages/sp/package.py
+++ b/var/spack/repos/builtin/packages/sp/package.py
@@ -12,15 +12,14 @@ class Sp(CMakePackage):
part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-sp"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-sp/archive/refs/tags/v2.3.3.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-sp/archive/refs/tags/v2.3.3.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'edwardhartnett', 'Hang-Lei-NOAA']
+ maintainers = ["t-brown", "kgerheiser", "edwardhartnett", "Hang-Lei-NOAA"]
- version('2.3.3', sha256='c0d465209e599de3c0193e65671e290e9f422f659f1da928505489a3edeab99f')
+ version("2.3.3", sha256="c0d465209e599de3c0193e65671e290e9f422f659f1da928505489a3edeab99f")
def setup_run_environment(self, env):
- for suffix in ('4', '8', 'd'):
- lib = find_libraries('libsp_' + suffix, root=self.prefix,
- shared=False, recursive=True)
- env.set('SP_LIB' + suffix, lib[0])
- env.set('SP_INC' + suffix, 'include_' + suffix)
+ for suffix in ("4", "8", "d"):
+ lib = find_libraries("libsp_" + suffix, root=self.prefix, shared=False, recursive=True)
+ env.set("SP_LIB" + suffix, lib[0])
+ env.set("SP_INC" + suffix, "include_" + suffix)
diff --git a/var/spack/repos/builtin/packages/spack/package.py b/var/spack/repos/builtin/packages/spack/package.py
index 571382fb59..5712cbad7a 100644
--- a/var/spack/repos/builtin/packages/spack/package.py
+++ b/var/spack/repos/builtin/packages/spack/package.py
@@ -16,89 +16,89 @@ class Spack(Package):
"""
homepage = "https://spack.io/"
- git = "https://github.com/spack/spack.git"
- url = "https://github.com/spack/spack/releases/download/v0.16.2/spack-0.16.2.tar.gz"
- maintainers = ['haampie']
+ git = "https://github.com/spack/spack.git"
+ url = "https://github.com/spack/spack/releases/download/v0.16.2/spack-0.16.2.tar.gz"
+ maintainers = ["haampie"]
- version('develop', branch='develop')
- version('0.17.0', sha256='93df99256a892ceefb153d48e2080c01d18e58e27773da2c2a469063d67cb582')
- version('0.16.3', sha256='26636a2e2cc066184f12651ac6949f978fc041990dba73934960a4c9c1ea383d')
- version('0.16.2', sha256='ed3e5d479732b0ba82489435b4e0f9088571604e789f7ab9bc5ce89030793350')
- version('0.16.1', sha256='8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567')
- version('0.16.0', sha256='064b2532c70916c7684d4c7c973416ac32dd2ea15f5c392654c75258bfc8c6c2')
+ version("develop", branch="develop")
+ version("0.17.0", sha256="93df99256a892ceefb153d48e2080c01d18e58e27773da2c2a469063d67cb582")
+ version("0.16.3", sha256="26636a2e2cc066184f12651ac6949f978fc041990dba73934960a4c9c1ea383d")
+ version("0.16.2", sha256="ed3e5d479732b0ba82489435b4e0f9088571604e789f7ab9bc5ce89030793350")
+ version("0.16.1", sha256="8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567")
+ version("0.16.0", sha256="064b2532c70916c7684d4c7c973416ac32dd2ea15f5c392654c75258bfc8c6c2")
- variant('development_tools', default=True, description='Build development dependencies')
+ variant("development_tools", default=True, description="Build development dependencies")
# Python (with spack python -i ipython support)
- depends_on('python@2.6.0:2.7,3.5:', type='run')
- depends_on('python@2.7.0:2.7,3.5:', type='run', when='@0.18.0:')
- depends_on('py-ipython', type='run')
+ depends_on("python@2.6.0:2.7,3.5:", type="run")
+ depends_on("python@2.7.0:2.7,3.5:", type="run", when="@0.18.0:")
+ depends_on("py-ipython", type="run")
# Concretizer
- depends_on('clingo-bootstrap@spack', type='run')
+ depends_on("clingo-bootstrap@spack", type="run")
# Archives
- depends_on('bzip2', type='run')
- depends_on('gzip', type='run')
- depends_on('tar', type='run')
- depends_on('unzip', type='run')
- depends_on('xz', type='run')
- depends_on('zstd +programs', type='run')
+ depends_on("bzip2", type="run")
+ depends_on("gzip", type="run")
+ depends_on("tar", type="run")
+ depends_on("unzip", type="run")
+ depends_on("xz", type="run")
+ depends_on("zstd +programs", type="run")
# Build tools
- depends_on('bash', type='run')
- depends_on('file', type='run')
- depends_on('gmake', type='run')
- depends_on('patch', type='run')
- depends_on('ccache', type='run')
+ depends_on("bash", type="run")
+ depends_on("file", type="run")
+ depends_on("gmake", type="run")
+ depends_on("patch", type="run")
+ depends_on("ccache", type="run")
# Fetchers
- depends_on('curl', type='run')
- depends_on('git', type='run')
- depends_on('mercurial', type='run')
- depends_on('subversion', type='run')
+ depends_on("curl", type="run")
+ depends_on("git", type="run")
+ depends_on("mercurial", type="run")
+ depends_on("subversion", type="run")
# Modules
- depends_on('tcl', type='run')
- depends_on('lmod', type='run')
+ depends_on("tcl", type="run")
+ depends_on("lmod", type="run")
# Spack 0.18 uses lmod's depends_on function, which was introduced in v7.5.12
- depends_on('lmod@7.5.12:', type='run', when='@0.18:')
+ depends_on("lmod@7.5.12:", type="run", when="@0.18:")
# Buildcache
# We just need the 'strings' executable, we don't want to install
# binutil's linkers.
- depends_on('binutils~plugins~gold~libiberty~nls~headers~lto~ld~gas~interwork', type='run')
- depends_on('gnupg', type='run')
- depends_on('patchelf', type='run', when='platform=linux')
- depends_on('patchelf', type='run', when='platform=cray')
- depends_on('py-boto3', type='run')
+ depends_on("binutils~plugins~gold~libiberty~nls~headers~lto~ld~gas~interwork", type="run")
+ depends_on("gnupg", type="run")
+ depends_on("patchelf", type="run", when="platform=linux")
+ depends_on("patchelf", type="run", when="platform=cray")
+ depends_on("py-boto3", type="run")
# See https://github.com/spack/spack/pull/24686
# and #25595, #25726, #25853, #25923, #25924 upstream in python/cpython
- with when('@:0.16.2'):
- conflicts('^python@3.10:')
- conflicts('^python@3.9.6:3.9')
- conflicts('^python@3.8.11:3.8')
- conflicts('^python@3.7.11:3.7')
- conflicts('^python@3.6.14:3.6')
+ with when("@:0.16.2"):
+ conflicts("^python@3.10:")
+ conflicts("^python@3.9.6:3.9")
+ conflicts("^python@3.8.11:3.8")
+ conflicts("^python@3.7.11:3.7")
+ conflicts("^python@3.6.14:3.6")
# https://bugs.python.org/issue45235#msg406121
# To be fixed in 3.9.9, no other releases are affected
- conflicts('^python@3.9.8', when='@:0.17.0')
+ conflicts("^python@3.9.8", when="@:0.17.0")
# Development tools
- with when('+development_tools'):
- depends_on('py-isort@4.3.5:', type='run')
- depends_on('py-mypy@0.900:', type='run')
- depends_on('py-black', type='run')
- depends_on('py-flake8', type='run')
- depends_on('py-sphinx@3.4:4.1.1,4.1.3:', type='run')
- depends_on('py-sphinxcontrib-programoutput', type='run')
- depends_on('py-sphinx-rtd-theme', type='run')
- depends_on('graphviz', type='run')
+ with when("+development_tools"):
+ depends_on("py-isort@4.3.5:", type="run")
+ depends_on("py-mypy@0.900:", type="run")
+ depends_on("py-black", type="run")
+ depends_on("py-flake8", type="run")
+ depends_on("py-sphinx@3.4:4.1.1,4.1.3:", type="run")
+ depends_on("py-sphinxcontrib-programoutput", type="run")
+ depends_on("py-sphinx-rtd-theme", type="run")
+ depends_on("graphviz", type="run")
def setup_run_environment(self, env):
- env.set('SPACK_PYTHON', self.spec['python'].command.path)
+ env.set("SPACK_PYTHON", self.spec["python"].command.path)
def install(self, spec, prefix):
install_tree(self.stage.source_path, self.prefix)
diff --git a/var/spack/repos/builtin/packages/spades/package.py b/var/spack/repos/builtin/packages/spades/package.py
index e24ac04d12..7a734ed858 100644
--- a/var/spack/repos/builtin/packages/spades/package.py
+++ b/var/spack/repos/builtin/packages/spades/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Spades(CMakePackage):
"""SPAdes - St. Petersburg genome assembler - is intended for both
- standard isolates and single-cell MDA bacteria assemblies."""
+ standard isolates and single-cell MDA bacteria assemblies."""
homepage = "https://cab.spbu.ru/software/spades/"
- url = "https://github.com/ablab/spades/releases/download/v3.15.3/SPAdes-3.15.3.tar.gz"
+ url = "https://github.com/ablab/spades/releases/download/v3.15.3/SPAdes-3.15.3.tar.gz"
- version('3.15.3', sha256='b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499')
- version('3.15.0', sha256='6719489fa4bed6dd96d78bdd4001a30806d5469170289085836711d1ffb8b28b')
- version('3.14.1', sha256='d629b78f7e74c82534ac20f5b3c2eb367f245e6840a67b9ef6a76f6fac5323ca')
- version('3.13.0', sha256='c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040')
- version('3.12.0', sha256='15b48a3bcbbe6a8ad58fd04ba5d3f1015990fbfd9bdf4913042803b171853ac7')
- version('3.11.1', sha256='3ab85d86bf7d595bd8adf11c971f5d258bbbd2574b7c1703b16d6639a725b474')
- version('3.10.1', sha256='d49dd9eb947767a14a9896072a1bce107fb8bf39ed64133a9e2f24fb1f240d96')
+ version("3.15.3", sha256="b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499")
+ version("3.15.0", sha256="6719489fa4bed6dd96d78bdd4001a30806d5469170289085836711d1ffb8b28b")
+ version("3.14.1", sha256="d629b78f7e74c82534ac20f5b3c2eb367f245e6840a67b9ef6a76f6fac5323ca")
+ version("3.13.0", sha256="c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040")
+ version("3.12.0", sha256="15b48a3bcbbe6a8ad58fd04ba5d3f1015990fbfd9bdf4913042803b171853ac7")
+ version("3.11.1", sha256="3ab85d86bf7d595bd8adf11c971f5d258bbbd2574b7c1703b16d6639a725b474")
+ version("3.10.1", sha256="d49dd9eb947767a14a9896072a1bce107fb8bf39ed64133a9e2f24fb1f240d96")
- depends_on('python', type=('build', 'run'))
- depends_on('zlib')
- depends_on('bzip2')
+ depends_on("python", type=("build", "run"))
+ depends_on("zlib")
+ depends_on("bzip2")
# SPAdes will explicitly not compile with gcc < 5.3.0
- conflicts('%gcc@:5.2.9')
+ conflicts("%gcc@:5.2.9")
- conflicts('%gcc@7.1.0:', when='@:3.10.1')
+ conflicts("%gcc@7.1.0:", when="@:3.10.1")
root_cmakelists_dir = "src"
diff --git a/var/spack/repos/builtin/packages/span-lite/package.py b/var/spack/repos/builtin/packages/span-lite/package.py
index 3366027b01..6c15b54c6e 100644
--- a/var/spack/repos/builtin/packages/span-lite/package.py
+++ b/var/spack/repos/builtin/packages/span-lite/package.py
@@ -15,20 +15,19 @@ class SpanLite(CMakePackage):
"""
homepage = "https://github.com/martinmoene/span-lite"
- url = "https://github.com/martinmoene/span-lite/archive/v0.3.0.tar.gz"
+ url = "https://github.com/martinmoene/span-lite/archive/v0.3.0.tar.gz"
- version('0.5.0', sha256='405ae095bca3c63da28c72a3528369b9ba3996f1992f3ae90fcb01a9d8bdef38')
- version('0.4.0', sha256='973858839cc881f9457a874b9c39e16c3d4a798b1204258bb0ca997cd13d1a87')
- version('0.3.0', sha256='e083f368167fe632f866956edaa2c7a7d57a33ffb0d8def9b9f1a9daa47834bb')
- version('0.2.0', sha256='6e3305fe868442410a00962a39fc59ed494cecc4f99fe2aff187e33932f06e46')
- version('0.1.0', sha256='0a84b9369f86beba326e2160b683fd0922f416ce136437751a9ed70afcc67a1c')
+ version("0.5.0", sha256="405ae095bca3c63da28c72a3528369b9ba3996f1992f3ae90fcb01a9d8bdef38")
+ version("0.4.0", sha256="973858839cc881f9457a874b9c39e16c3d4a798b1204258bb0ca997cd13d1a87")
+ version("0.3.0", sha256="e083f368167fe632f866956edaa2c7a7d57a33ffb0d8def9b9f1a9daa47834bb")
+ version("0.2.0", sha256="6e3305fe868442410a00962a39fc59ed494cecc4f99fe2aff187e33932f06e46")
+ version("0.1.0", sha256="0a84b9369f86beba326e2160b683fd0922f416ce136437751a9ed70afcc67a1c")
def cmake_args(self):
return [
"-DSPAN_LITE_EXPORT_PACKAGE=ON",
- "-DSPAN_LITE_OPT_BUILD_TESTS=%s"
- % ("ON" if self.run_tests else "OFF"),
- "-DSPAN_LITE_OPT_BUILD_EXAMPLES=OFF"
+ "-DSPAN_LITE_OPT_BUILD_TESTS=%s" % ("ON" if self.run_tests else "OFF"),
+ "-DSPAN_LITE_OPT_BUILD_EXAMPLES=OFF",
]
# Pre-0.5.0 install was simply a copytree on the includes
@@ -42,7 +41,7 @@ class SpanLite(CMakePackage):
@when("@:0.4")
def install(self, spec, prefix):
- copytree('include', prefix.include)
+ copytree("include", prefix.include)
@when("@:0.4")
def check(self):
diff --git a/var/spack/repos/builtin/packages/spark/package.py b/var/spack/repos/builtin/packages/spark/package.py
index a4877f03a3..a28132b139 100644
--- a/var/spack/repos/builtin/packages/spark/package.py
+++ b/var/spack/repos/builtin/packages/spark/package.py
@@ -16,48 +16,46 @@ class Spark(Package):
homepage = "https://spark.apache.org"
url = "https://archive.apache.org/dist/spark/spark-2.0.0/spark-2.0.0-bin-without-hadoop.tgz"
- variant('hadoop', default=False,
- description='Build with Hadoop')
-
- depends_on('java', type=('build', 'run'))
- depends_on('hadoop', when='+hadoop', type=('build', 'run'))
-
- version('3.1.1', sha256='2d16f527016993e69a7c801233e661a170e3099ae2d9b950f7457729d63062f4')
- version('3.0.2', sha256='1a904f9bfa44a1218cb440c99800dd2ae729249a73c63b3bb10e431ed5b58406')
- version('3.0.1', sha256='ddda310ac09e3f2da9c33ad278b1665fbad2411d8da127d0de86b90019e962dc')
- version('2.4.7', sha256='f68f6a63814078ba3246dbf755f597b814a228122b239b07efb3909f017ddf8b')
- version('2.3.0', sha256='a7e29e78bd43aa6d137f0bb0afd54a3017865d471456c6d436ae79475bbeb161')
- version('2.1.0', sha256='3ca4ecb0eb9a00de5099cc2564ed957433a2d15d9d645a60470324621853c5ae')
- version('2.0.2', sha256='122ec1af0fcb23c0345f20f77d33cf378422ffe966efe4b9ef90e55cf7a46a3c')
- version('2.0.0', sha256='7c90bc4b7689df30f187e00845db8c7c9fb4045a0bcf2fa70a4954cc17d2c0d1')
- version('1.6.2', sha256='f6b43333ca80629bacbbbc2e460d21064f53f50880f3f0a3f68745fdf8b3137e')
- version('1.6.1', sha256='3d67678c5cb5eeba1cab125219fa2f9f17609368ea462e3993d2eae7c8f37207')
- version('1.6.0', sha256='9f62bc1d1f7668becd1fcedd5ded01ad907246df287d2525cfc562d88a3676da')
+ variant("hadoop", default=False, description="Build with Hadoop")
+
+ depends_on("java", type=("build", "run"))
+ depends_on("hadoop", when="+hadoop", type=("build", "run"))
+
+ version("3.1.1", sha256="2d16f527016993e69a7c801233e661a170e3099ae2d9b950f7457729d63062f4")
+ version("3.0.2", sha256="1a904f9bfa44a1218cb440c99800dd2ae729249a73c63b3bb10e431ed5b58406")
+ version("3.0.1", sha256="ddda310ac09e3f2da9c33ad278b1665fbad2411d8da127d0de86b90019e962dc")
+ version("2.4.7", sha256="f68f6a63814078ba3246dbf755f597b814a228122b239b07efb3909f017ddf8b")
+ version("2.3.0", sha256="a7e29e78bd43aa6d137f0bb0afd54a3017865d471456c6d436ae79475bbeb161")
+ version("2.1.0", sha256="3ca4ecb0eb9a00de5099cc2564ed957433a2d15d9d645a60470324621853c5ae")
+ version("2.0.2", sha256="122ec1af0fcb23c0345f20f77d33cf378422ffe966efe4b9ef90e55cf7a46a3c")
+ version("2.0.0", sha256="7c90bc4b7689df30f187e00845db8c7c9fb4045a0bcf2fa70a4954cc17d2c0d1")
+ version("1.6.2", sha256="f6b43333ca80629bacbbbc2e460d21064f53f50880f3f0a3f68745fdf8b3137e")
+ version("1.6.1", sha256="3d67678c5cb5eeba1cab125219fa2f9f17609368ea462e3993d2eae7c8f37207")
+ version("1.6.0", sha256="9f62bc1d1f7668becd1fcedd5ded01ad907246df287d2525cfc562d88a3676da")
def install(self, spec, prefix):
-
def install_dir(dirname):
install_tree(dirname, join_path(prefix, dirname))
- install_dir('bin')
- install_dir('conf')
- install_dir('jars')
- install_dir('python')
- install_dir('R')
- install_dir('sbin')
- install_dir('yarn')
+ install_dir("bin")
+ install_dir("conf")
+ install_dir("jars")
+ install_dir("python")
+ install_dir("R")
+ install_dir("sbin")
+ install_dir("yarn")
# required for spark to recognize binary distribution
- install('RELEASE', prefix)
+ install("RELEASE", prefix)
- @when('+hadoop')
+ @when("+hadoop")
def setup_run_environment(self, env):
- hadoop = self.spec['hadoop'].command
- hadoop.add_default_env('JAVA_HOME', self.spec['java'].home)
- hadoop_classpath = hadoop('classpath', output=str)
+ hadoop = self.spec["hadoop"].command
+ hadoop.add_default_env("JAVA_HOME", self.spec["java"].home)
+ hadoop_classpath = hadoop("classpath", output=str)
# Remove whitespaces, as they can compromise syntax in
# module files
- hadoop_classpath = re.sub(r'[\s+]', '', hadoop_classpath)
+ hadoop_classpath = re.sub(r"[\s+]", "", hadoop_classpath)
- env.set('SPARK_DIST_CLASSPATH', hadoop_classpath)
+ env.set("SPARK_DIST_CLASSPATH", hadoop_classpath)
diff --git a/var/spack/repos/builtin/packages/sparse/package.py b/var/spack/repos/builtin/packages/sparse/package.py
index 8cfbc61380..85115a5cd6 100644
--- a/var/spack/repos/builtin/packages/sparse/package.py
+++ b/var/spack/repos/builtin/packages/sparse/package.py
@@ -11,33 +11,32 @@ class Sparse(MakefilePackage):
"""An open source sparse linear equation solver."""
homepage = "http://sparse.sourceforge.net/"
- url = "http://downloads.sourceforge.net/project/sparse/sparse/sparse1.4b/sparse1.4b.tar.gz"
+ url = "http://downloads.sourceforge.net/project/sparse/sparse/sparse1.4b/sparse1.4b.tar.gz"
- maintainers = ['wortiz']
+ maintainers = ["wortiz"]
- version('1.4b', sha256='63e6646244fd8f4d89f7f70fbf4cfd46b7688d21b22840a0ce57d294a7496d28')
+ version("1.4b", sha256="63e6646244fd8f4d89f7f70fbf4cfd46b7688d21b22840a0ce57d294a7496d28")
- variant('pic', default=True,
- description='Build with position independent code')
+ variant("pic", default=True, description="Build with position independent code")
def edit(self, spec, prefix):
- with working_dir('./src'):
- makefile = FileFilter('Makefile')
- if '+pic' in self.spec:
- makefile.filter('CFLAGS = .*',
- 'CFLAGS = -O2 {0}'.format(
- self.compiler.cc_pic_flag))
+ with working_dir("./src"):
+ makefile = FileFilter("Makefile")
+ if "+pic" in self.spec:
+ makefile.filter(
+ "CFLAGS = .*", "CFLAGS = -O2 {0}".format(self.compiler.cc_pic_flag)
+ )
else:
- makefile.filter('CFLAGS = .*', 'CFLAGS = -O2')
- makefile.filter('CC = .*', 'CC = {0}'.format(spack_cc))
- makefile.filter('LIBRARY = .*', 'LIBRARY = ../lib/libsparse.a')
+ makefile.filter("CFLAGS = .*", "CFLAGS = -O2")
+ makefile.filter("CC = .*", "CC = {0}".format(spack_cc))
+ makefile.filter("LIBRARY = .*", "LIBRARY = ../lib/libsparse.a")
def build(self, spec, prefix):
- with working_dir('./src'):
+ with working_dir("./src"):
make()
def install(self, spec, prefix):
mkdir(prefix.include)
- install_tree('lib', prefix.lib)
- install_tree('bin', prefix.bin)
- install('src/*.h', prefix.include)
+ install_tree("lib", prefix.lib)
+ install_tree("bin", prefix.bin)
+ install("src/*.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/sparsehash/package.py b/var/spack/repos/builtin/packages/sparsehash/package.py
index b6ab3e531a..8903802efb 100644
--- a/var/spack/repos/builtin/packages/sparsehash/package.py
+++ b/var/spack/repos/builtin/packages/sparsehash/package.py
@@ -8,8 +8,9 @@ from spack.package import *
class Sparsehash(AutotoolsPackage):
"""Sparse and dense hash-tables for C++ by Google"""
+
homepage = "https://github.com/sparsehash/sparsehash"
- url = "https://github.com/sparsehash/sparsehash/archive/sparsehash-2.0.4.tar.gz"
+ url = "https://github.com/sparsehash/sparsehash/archive/sparsehash-2.0.4.tar.gz"
- version('2.0.4', sha256='8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58')
- version('2.0.3', sha256='05e986a5c7327796dad742182b2d10805a8d4f511ad090da0490f146c1ff7a8c')
+ version("2.0.4", sha256="8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58")
+ version("2.0.3", sha256="05e986a5c7327796dad742182b2d10805a8d4f511ad090da0490f146c1ff7a8c")
diff --git a/var/spack/repos/builtin/packages/sparskit/package.py b/var/spack/repos/builtin/packages/sparskit/package.py
index 9852f7332a..eee9f4af8d 100644
--- a/var/spack/repos/builtin/packages/sparskit/package.py
+++ b/var/spack/repos/builtin/packages/sparskit/package.py
@@ -16,8 +16,11 @@ class Sparskit(MakefilePackage):
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')
+ version(
+ "develop",
+ sha256="ecdd0a9968d6b45153a328710a42fe87600f0bba0e3c53896090b8ae1c113b7a",
+ url="http://www-users.cs.umn.edu/~saad/software/SPARSKIT/SPARSKIT2.tar.gz",
+ )
# The library uses blas routine which needs to be known when the lib is used.
# A dependent package should add self.spec['blas'].libs.ld_flags
@@ -25,53 +28,49 @@ class Sparskit(MakefilePackage):
# But, asis, this packages compiles without needing to know about it.
# depends_on('blas', type='run')
- variant('pic', default=True,
- description='Compile with position independent code.')
- variant('debug', default=False,
- description='Builds a debug version of the library')
+ variant("pic", default=True, description="Compile with position independent code.")
+ variant("debug", default=False, description="Builds a debug version of the library")
# We provide the standard Make flags here:
# https://spack.readthedocs.io/en/latest/packaging_guide.html?highlight=flag_handler#compiler-flags
def flag_handler(self, name, flags):
spec = self.spec
- if '+pic' in spec:
- if name == 'fflags':
+ if "+pic" in spec:
+ if name == "fflags":
flags.append(self.compiler.fc_pic_flag)
- if name == 'fflags':
- if 'gfortran' in self.compiler.fc:
- flags.append('-std=legacy')
- flags.append('-Wall')
- if '+debug' in spec:
- if '-g' in self.compiler.debug_flags:
- flags.append('-g')
- if '-O0' in self.compiler.opt_flags:
- flags.append('-O0')
- elif '-O' in self.compiler.opt_flags:
- flags.append('-O')
+ if name == "fflags":
+ if "gfortran" in self.compiler.fc:
+ flags.append("-std=legacy")
+ flags.append("-Wall")
+ if "+debug" in spec:
+ if "-g" in self.compiler.debug_flags:
+ flags.append("-g")
+ if "-O0" in self.compiler.opt_flags:
+ flags.append("-O0")
+ elif "-O" in self.compiler.opt_flags:
+ flags.append("-O")
else:
- if '-O3' in self.compiler.opt_flags:
- flags.append('-O3')
- elif '-O2' in self.compiler.opt_flags:
- flags.append('-O2')
+ if "-O3" in self.compiler.opt_flags:
+ flags.append("-O3")
+ elif "-O2" in self.compiler.opt_flags:
+ flags.append("-O2")
return (None, flags, None)
def edit(self, spec, prefix):
- mkfile = FileFilter('makefile')
- mkfile.filter(r'^(OPT).*=.+', r'\1= -c $(FFLAGS)')
- if os.path.exists('libskit.a'):
- os.unlink('libskit.a')
+ mkfile = FileFilter("makefile")
+ mkfile.filter(r"^(OPT).*=.+", r"\1= -c $(FFLAGS)")
+ if os.path.exists("libskit.a"):
+ os.unlink("libskit.a")
def build(self, spec, prefix):
- make('clean')
- make('F77={0}'.format(spack_fc))
+ make("clean")
+ make("F77={0}".format(spack_fc))
def install(self, spec, prefix):
mkdirp(prefix.lib)
- install('libskit.*', prefix.lib)
+ install("libskit.*", prefix.lib)
@property
def libs(self):
- return find_libraries(
- "libskit*", root=self.prefix, shared=False, recursive=True
- )
+ return find_libraries("libskit*", root=self.prefix, shared=False, recursive=True)
diff --git a/var/spack/repos/builtin/packages/sparta/package.py b/var/spack/repos/builtin/packages/sparta/package.py
index b021dc57f1..56cce554a4 100644
--- a/var/spack/repos/builtin/packages/sparta/package.py
+++ b/var/spack/repos/builtin/packages/sparta/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Sparta(Package):
"""small RNA-PARE Target Analyzer (sPARTA) is a tool which utilizes
- high-throughput sequencing to profile genome-wide cleavage
- products."""
+ high-throughput sequencing to profile genome-wide cleavage
+ products."""
homepage = "https://github.com/atulkakrana/sPARTA.github"
- url = "https://github.com/atulkakrana/sPARTA/archive/1.25.tar.gz"
+ url = "https://github.com/atulkakrana/sPARTA/archive/1.25.tar.gz"
- version('1.25', sha256='007997b9bf5041ae35c9bb79455d533c0f0773f9dd3ba4e5ddf306139625681f')
+ version("1.25", sha256="007997b9bf5041ae35c9bb79455d533c0f0773f9dd3ba4e5ddf306139625681f")
- depends_on('bowtie2')
- depends_on('python@3:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("bowtie2")
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sPARTA.py', prefix.bin)
- install('revFernoMap.py', prefix.bin)
+ install("sPARTA.py", prefix.bin)
+ install("revFernoMap.py", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/spath/package.py b/var/spack/repos/builtin/packages/spath/package.py
index 990f379f3c..5563c62215 100644
--- a/var/spack/repos/builtin/packages/spath/package.py
+++ b/var/spack/repos/builtin/packages/spath/package.py
@@ -10,36 +10,36 @@ class Spath(CMakePackage):
"""Represent and manipulate file system paths"""
homepage = "https://github.com/ecp-veloc/spath"
- url = "https://github.com/ECP-VeloC/spath/archive/v0.0.2.tar.gz"
- git = "https://github.com/ecp-veloc/spath.git"
- tags = ['ecp']
+ url = "https://github.com/ECP-VeloC/spath/archive/v0.0.2.tar.gz"
+ git = "https://github.com/ecp-veloc/spath.git"
+ tags = ["ecp"]
- maintainers = ['CamStan', 'gonsie']
+ maintainers = ["CamStan", "gonsie"]
- version('main', branch='main')
- version('0.2.0', sha256='2de8a25547b53ef064664d79b543141bc3020219f40ff0e1076f676e13a9e77a')
- version('0.1.0', sha256='2cfc635b2384d3f92973c7aea173dabe47da112d308f5098e6636e4b2f4a704c')
- version('0.0.2', sha256='7a65be59c3d27e92ed4718fba1a97a4a1c68e0a552b54de13d58afe3d8199cf7')
- version('0.0.1', sha256='f41c0ac74e6fb8acfd0c072d756db0fc9c00441f22be492cc4ad25f7fb596a24')
+ version("main", branch="main")
+ version("0.2.0", sha256="2de8a25547b53ef064664d79b543141bc3020219f40ff0e1076f676e13a9e77a")
+ version("0.1.0", sha256="2cfc635b2384d3f92973c7aea173dabe47da112d308f5098e6636e4b2f4a704c")
+ version("0.0.2", sha256="7a65be59c3d27e92ed4718fba1a97a4a1c68e0a552b54de13d58afe3d8199cf7")
+ version("0.0.1", sha256="f41c0ac74e6fb8acfd0c072d756db0fc9c00441f22be492cc4ad25f7fb596a24")
- depends_on('zlib', type='link', when='@:0.0.2')
+ depends_on("zlib", type="link", when="@:0.0.2")
- variant('mpi', default=True, description='Build with MPI support')
- depends_on('mpi', when='+mpi')
+ variant("mpi", default=True, description="Build with MPI support")
+ depends_on("mpi", when="+mpi")
- variant('shared', default=True, description='Build with shared libraries')
+ variant("shared", default=True, description="Build with shared libraries")
def cmake_args(self):
spec = self.spec
args = []
- args.append(self.define_from_variant('MPI'))
- if '+mpi' in spec:
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
+ args.append(self.define_from_variant("MPI"))
+ if "+mpi" in spec:
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
- if spec.satisfies('@0.1.0:'):
- args.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
+ if spec.satisfies("@0.1.0:"):
+ args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
else:
- if spec.satisfies('platform=cray'):
- args.append(self.define('SPATH_LINK_STATIC', True))
+ if spec.satisfies("platform=cray"):
+ args.append(self.define("SPATH_LINK_STATIC", True))
return args
diff --git a/var/spack/repos/builtin/packages/spdlog/package.py b/var/spack/repos/builtin/packages/spdlog/package.py
index 910dcef498..6c8b24cd0f 100644
--- a/var/spack/repos/builtin/packages/spdlog/package.py
+++ b/var/spack/repos/builtin/packages/spdlog/package.py
@@ -12,58 +12,58 @@ class Spdlog(CMakePackage):
homepage = "https://github.com/gabime/spdlog"
url = "https://github.com/gabime/spdlog/archive/v0.9.0.tar.gz"
- version('1.9.2', sha256='6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38')
- version('1.9.1', sha256='9a452cfa24408baccc9b2bc2d421d68172a7630c99e9504a14754be840d31a62')
- version('1.9.0', sha256='9ad181d75aaedbf47c8881e7b947a47cac3d306997e39de24dba60db633e70a7')
- version('1.8.5', sha256='944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8')
- version('1.8.4', sha256='d19cff06a3d235efcb451e04193a925bebc6ef7e7bd4a56ca27096acbab3cf3b')
- version('1.8.3', sha256='6f5b88ca4c9b96264e6c961716fec6f1a7b94c80a5edce667c3e42507caa8a82')
- version('1.8.2', sha256='e20e6bd8f57e866eaf25a5417f0a38a116e537f1a77ac7b5409ca2b180cec0d5')
- version('1.8.1', sha256='5197b3147cfcfaa67dd564db7b878e4a4b3d9f3443801722b3915cdeced656cb')
- version('1.8.0', sha256='1e68e9b40cf63bb022a4b18cdc1c9d88eb5d97e4fd64fa981950a9cacf57a4bf')
- version('1.7.0', sha256='f0114a4d3c88be9e696762f37a7c379619443ce9d668546c61b21d41affe5b62')
- version('1.6.1', sha256='378a040d91f787aec96d269b0c39189f58a6b852e4cbf9150ccfacbe85ebbbfc')
- version('1.6.0', sha256='0421667c9f2fc78e6548d44f7bc5921be0f03e612df384294c16cedb93d967f8')
- version('1.5.0', sha256='b38e0bbef7faac2b82fed550a0c19b0d4e7f6737d5321d4fd8f216b80f8aee8a')
- version('1.4.2', sha256='821c85b120ad15d87ca2bc44185fa9091409777c756029125a02f81354072157')
- version('1.4.1', sha256='3291958eb54ed942d1bd3aef1b4f8ccf70566cbc04d34296ec61eb96ceb73cff')
- version('1.2.1', sha256='867a4b7cedf9805e6f76d3ca41889679054f7e5a3b67722fe6d0eae41852a767')
- version('1.2.0', sha256='0ba31b9e7f8e43a7be328ab0236d57810e5d4fc8a1a7842df665ae22d5cbd128')
- version('1.1.0', sha256='3dbcbfd8c07e25f5e0d662b194d3a7772ef214358c49ada23c044c4747ce8b19')
- version('1.0.0', sha256='90d5365121bcd2c41ce94dfe6a460e89507a2dfef6133fe5fad5bb35ac4ef0a1')
- version('0.17.0', sha256='94f74fd1b3344733d1db3de2ec22e6cbeb769f93a8baa0d4a22b1f62dc7369f8')
- version('0.16.3', sha256='b88d7be261d9089c817fc8cee6c000d69f349b357828e4c7f66985bc5d5360b8')
- version('0.16.2', sha256='2081e5df5e87402398847431e16b87c71dd5c4d632314bb976ace8161f4d32de')
- version('0.16.1', sha256='733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae')
- version('0.16.0', sha256='9e64e3b10c2a3c54dfff63aa056057cf1db8a5fd506b3d9cf77207511820baac')
- version('0.14.0', sha256='eb5beb4e53f4bfff5b32eb4db8588484bdc15a17b90eeefef3a9fc74fec1d83d')
- version('0.13.0', sha256='d798a6ca19165f0a18a43938859359269f5a07fd8e0eb83ab8674739c9e8f361')
- version('0.12.0', sha256='5cfd6a0b3182a88e1eb35bcb65a7ef9035140d7c73b16ba6095939dbf07325b9')
- version('0.11.0', sha256='8c0f1810fb6b7d23fef70c2ea8b6fa6768ac8d18d6e0de39be1f48865e22916e')
- version('0.10.0', sha256='fbbc53c1cc09b93b4c3d76b683bbe9315e2efe3727701227374dce6aa4264075')
- version('0.9.0', sha256='bbbe5a855c8b309621352921d650449eb2f741d35d55ec50fb4d8122ddfb8f01')
+ version("1.9.2", sha256="6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38")
+ version("1.9.1", sha256="9a452cfa24408baccc9b2bc2d421d68172a7630c99e9504a14754be840d31a62")
+ version("1.9.0", sha256="9ad181d75aaedbf47c8881e7b947a47cac3d306997e39de24dba60db633e70a7")
+ version("1.8.5", sha256="944d0bd7c763ac721398dca2bb0f3b5ed16f67cef36810ede5061f35a543b4b8")
+ version("1.8.4", sha256="d19cff06a3d235efcb451e04193a925bebc6ef7e7bd4a56ca27096acbab3cf3b")
+ version("1.8.3", sha256="6f5b88ca4c9b96264e6c961716fec6f1a7b94c80a5edce667c3e42507caa8a82")
+ version("1.8.2", sha256="e20e6bd8f57e866eaf25a5417f0a38a116e537f1a77ac7b5409ca2b180cec0d5")
+ version("1.8.1", sha256="5197b3147cfcfaa67dd564db7b878e4a4b3d9f3443801722b3915cdeced656cb")
+ version("1.8.0", sha256="1e68e9b40cf63bb022a4b18cdc1c9d88eb5d97e4fd64fa981950a9cacf57a4bf")
+ version("1.7.0", sha256="f0114a4d3c88be9e696762f37a7c379619443ce9d668546c61b21d41affe5b62")
+ version("1.6.1", sha256="378a040d91f787aec96d269b0c39189f58a6b852e4cbf9150ccfacbe85ebbbfc")
+ version("1.6.0", sha256="0421667c9f2fc78e6548d44f7bc5921be0f03e612df384294c16cedb93d967f8")
+ version("1.5.0", sha256="b38e0bbef7faac2b82fed550a0c19b0d4e7f6737d5321d4fd8f216b80f8aee8a")
+ version("1.4.2", sha256="821c85b120ad15d87ca2bc44185fa9091409777c756029125a02f81354072157")
+ version("1.4.1", sha256="3291958eb54ed942d1bd3aef1b4f8ccf70566cbc04d34296ec61eb96ceb73cff")
+ version("1.2.1", sha256="867a4b7cedf9805e6f76d3ca41889679054f7e5a3b67722fe6d0eae41852a767")
+ version("1.2.0", sha256="0ba31b9e7f8e43a7be328ab0236d57810e5d4fc8a1a7842df665ae22d5cbd128")
+ version("1.1.0", sha256="3dbcbfd8c07e25f5e0d662b194d3a7772ef214358c49ada23c044c4747ce8b19")
+ version("1.0.0", sha256="90d5365121bcd2c41ce94dfe6a460e89507a2dfef6133fe5fad5bb35ac4ef0a1")
+ version("0.17.0", sha256="94f74fd1b3344733d1db3de2ec22e6cbeb769f93a8baa0d4a22b1f62dc7369f8")
+ version("0.16.3", sha256="b88d7be261d9089c817fc8cee6c000d69f349b357828e4c7f66985bc5d5360b8")
+ version("0.16.2", sha256="2081e5df5e87402398847431e16b87c71dd5c4d632314bb976ace8161f4d32de")
+ version("0.16.1", sha256="733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae")
+ version("0.16.0", sha256="9e64e3b10c2a3c54dfff63aa056057cf1db8a5fd506b3d9cf77207511820baac")
+ version("0.14.0", sha256="eb5beb4e53f4bfff5b32eb4db8588484bdc15a17b90eeefef3a9fc74fec1d83d")
+ version("0.13.0", sha256="d798a6ca19165f0a18a43938859359269f5a07fd8e0eb83ab8674739c9e8f361")
+ version("0.12.0", sha256="5cfd6a0b3182a88e1eb35bcb65a7ef9035140d7c73b16ba6095939dbf07325b9")
+ version("0.11.0", sha256="8c0f1810fb6b7d23fef70c2ea8b6fa6768ac8d18d6e0de39be1f48865e22916e")
+ version("0.10.0", sha256="fbbc53c1cc09b93b4c3d76b683bbe9315e2efe3727701227374dce6aa4264075")
+ version("0.9.0", sha256="bbbe5a855c8b309621352921d650449eb2f741d35d55ec50fb4d8122ddfb8f01")
- variant('shared', default=True,
- description='Build shared libraries (v1.4.0+)')
+ variant("shared", default=True, description="Build shared libraries (v1.4.0+)")
- depends_on('cmake@3.2:', when='@:1.7.0', type='build')
- depends_on('cmake@3.10:', when='@1.8.0:', type='build')
+ depends_on("cmake@3.2:", when="@:1.7.0", type="build")
+ depends_on("cmake@3.10:", when="@1.8.0:", type="build")
- depends_on('fmt@5.3:')
- depends_on('fmt@7:', when='@1.7:')
- depends_on('fmt@8:', when='@1.9:')
+ depends_on("fmt@5.3:")
+ depends_on("fmt@7:", when="@1.7:")
+ depends_on("fmt@8:", when="@1.9:")
def cmake_args(self):
args = []
- if self.spec.version >= Version('1.4.0'):
- args.extend([
- self.define_from_variant('SPDLOG_BUILD_SHARED', 'shared'),
- self.define('SPDLOG_FMT_EXTERNAL', 'ON'),
- # tests and examples
- self.define('SPDLOG_BUILD_TESTS', self.run_tests),
- self.define('SPDLOG_BUILD_EXAMPLE', self.run_tests),
-
- ])
+ if self.spec.version >= Version("1.4.0"):
+ args.extend(
+ [
+ self.define_from_variant("SPDLOG_BUILD_SHARED", "shared"),
+ self.define("SPDLOG_FMT_EXTERNAL", "ON"),
+ # tests and examples
+ self.define("SPDLOG_BUILD_TESTS", self.run_tests),
+ self.define("SPDLOG_BUILD_EXAMPLE", self.run_tests),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/specfem3d-globe/package.py b/var/spack/repos/builtin/packages/specfem3d-globe/package.py
index 229bf46d3d..ae2d3e6d8e 100644
--- a/var/spack/repos/builtin/packages/specfem3d-globe/package.py
+++ b/var/spack/repos/builtin/packages/specfem3d-globe/package.py
@@ -12,19 +12,16 @@ class Specfem3dGlobe(AutotoolsPackage, CudaPackage):
It uses a mesh generated by program meshfem3D."""
homepage = "https://github.com/geodynamics/specfem3d_globe"
- url = "https://github.com/geodynamics/specfem3d_globe/archive/v7.0.2.tar.gz"
+ url = "https://github.com/geodynamics/specfem3d_globe/archive/v7.0.2.tar.gz"
- version('7.0.2', sha256='78b4cfbe4e5121927ab82a8c2e821b65cdfff3e94d017303bf21af7805186d9b')
+ version("7.0.2", sha256="78b4cfbe4e5121927ab82a8c2e821b65cdfff3e94d017303bf21af7805186d9b")
- variant('opencl', default=False,
- description="Build with OpenCL code generator")
- variant('openmp', default=True,
- description="Build with OpenMP code generator")
- variant('double-precision', default=False,
- description="Treat REAL as double precision")
+ variant("opencl", default=False, description="Build with OpenCL code generator")
+ variant("openmp", default=True, description="Build with OpenMP code generator")
+ variant("double-precision", default=False, description="Treat REAL as double precision")
- depends_on('mpi')
- depends_on('opencl', when='+opencl')
+ depends_on("mpi")
+ depends_on("opencl", when="+opencl")
# When building with the gcc compiler,'Werror' is added to FFLAGS.
# In the case of using the gcc compiler and the default simulation
@@ -34,30 +31,25 @@ class Specfem3dGlobe(AutotoolsPackage, CudaPackage):
# so, remove '-Werror' when building with gcc compiler
# in versions up to 7.0.2 of specfem3d-globe.
# https://github.com/geodynamics/specfem3d_globe/issues/717
- patch('gcc_rm_werror.patch', when='@:7.0.2%gcc')
+ patch("gcc_rm_werror.patch", when="@:7.0.2%gcc")
def configure_args(self):
args = []
- if '+cuda' in self.spec:
- args.append('--with-cuda')
- args.append('CUDA_LIB={0}'
- .format(spec['cuda'].libs.directories[0]))
- args.append('CUDA_INC={0}'
- .format(spec['cuda'].prefix.include))
- args.append('MPI_INC={0}'
- .format(spec['mpi'].prefix.include))
- if '+opencl' in self.spec:
- args.append('--with-opencl')
- args.append('OCL_LIB={0}'
- .format(spec['opencl'].libs.directories[0]))
- args.append('OCL_INC={0}'
- .format(spec['opencl'].prefix.include))
-
- args.extend(self.enable_or_disable('openmp'))
- args.extend(self.enable_or_disable('double-precision'))
+ if "+cuda" in self.spec:
+ args.append("--with-cuda")
+ args.append("CUDA_LIB={0}".format(spec["cuda"].libs.directories[0]))
+ args.append("CUDA_INC={0}".format(spec["cuda"].prefix.include))
+ args.append("MPI_INC={0}".format(spec["mpi"].prefix.include))
+ if "+opencl" in self.spec:
+ args.append("--with-opencl")
+ args.append("OCL_LIB={0}".format(spec["opencl"].libs.directories[0]))
+ args.append("OCL_INC={0}".format(spec["opencl"].prefix.include))
+
+ args.extend(self.enable_or_disable("openmp"))
+ args.extend(self.enable_or_disable("double-precision"))
return args
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/spectra/package.py b/var/spack/repos/builtin/packages/spectra/package.py
index 2c6bdd9f53..bf994a88d7 100644
--- a/var/spack/repos/builtin/packages/spectra/package.py
+++ b/var/spack/repos/builtin/packages/spectra/package.py
@@ -19,12 +19,12 @@ class Spectra(CMakePackage):
"""
homepage = "https://spectralib.org/"
- url = "https://github.com/yixuan/spectra/archive/refs/tags/v1.0.1.tar.gz"
- maintainers = ['snehring']
+ url = "https://github.com/yixuan/spectra/archive/refs/tags/v1.0.1.tar.gz"
+ maintainers = ["snehring"]
- version('1.0.1', sha256='919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3')
- version('1.0.0', sha256='45228b7d77b916b5384245eb13aa24bc994f3b0375013a8ba6b85adfd2dafd67')
- version('0.9.0', sha256='2966757d432e8fba5958c2a05ad5674ce34eaae3718dd546c1ba8760b80b7a3d')
+ version("1.0.1", sha256="919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3")
+ version("1.0.0", sha256="45228b7d77b916b5384245eb13aa24bc994f3b0375013a8ba6b85adfd2dafd67")
+ version("0.9.0", sha256="2966757d432e8fba5958c2a05ad5674ce34eaae3718dd546c1ba8760b80b7a3d")
- depends_on('cmake@3.5:')
- depends_on('eigen')
+ depends_on("cmake@3.5:")
+ depends_on("eigen")
diff --git a/var/spack/repos/builtin/packages/spectre/package.py b/var/spack/repos/builtin/packages/spectre/package.py
index 211c4c8fc0..f61297a44e 100644
--- a/var/spack/repos/builtin/packages/spectre/package.py
+++ b/var/spack/repos/builtin/packages/spectre/package.py
@@ -24,117 +24,148 @@ class Spectre(CMakePackage):
url = "https://github.com/sxs-collaboration/spectre/archive/v2021.12.15.tar.gz"
git = "https://github.com/sxs-collaboration/spectre.git"
- maintainers = ['nilsvu']
+ maintainers = ["nilsvu"]
- generator = 'Ninja'
+ generator = "Ninja"
- version('develop', branch='develop')
- version('2022.06.14', sha256='872ab6729d8675c90b0d194f4ca34e4c02ce23e60c558a43b874fee9da9dfe78')
- version('2022.05.05', sha256='4577d3a0e85c3ce2a39f1ec40d6c5455d876d55069b39c5e062efbf261c18455')
- version('2022.04.04', sha256='264d9b585fa1838b118e50893ce149d76bbf568ee4c27a3732fe0db904de986a')
- version('2022.03.07', sha256='41b2dea4d4a91313987fbad5252cad4a7e1cb3dcef5fbad0a09ea942423f5013')
- version('2022.02.17', sha256='4bc2949453a35699090efc2bb71b8bd2b951909e0f02d0f8c8af255d1668e63f')
- version('2022.02.08', sha256='996275536c990a6d49cd61f207c04ad771a1449506f38507afc35f95b29d4cf1')
- version('2022.01.03', sha256='872a0d152c19864ad543ddcc585ce30baaad4185c2617c13463d780175cbde5f')
- version('2021.12.15', sha256='4bfe9e27412e263ffdc6fcfcb84011f16d34a9fdd633ad7fc84a34c898f67e5c')
+ version("develop", branch="develop")
+ version(
+ "2022.06.14", sha256="872ab6729d8675c90b0d194f4ca34e4c02ce23e60c558a43b874fee9da9dfe78"
+ )
+ version(
+ "2022.05.05", sha256="4577d3a0e85c3ce2a39f1ec40d6c5455d876d55069b39c5e062efbf261c18455"
+ )
+ version(
+ "2022.04.04", sha256="264d9b585fa1838b118e50893ce149d76bbf568ee4c27a3732fe0db904de986a"
+ )
+ version(
+ "2022.03.07", sha256="41b2dea4d4a91313987fbad5252cad4a7e1cb3dcef5fbad0a09ea942423f5013"
+ )
+ version(
+ "2022.02.17", sha256="4bc2949453a35699090efc2bb71b8bd2b951909e0f02d0f8c8af255d1668e63f"
+ )
+ version(
+ "2022.02.08", sha256="996275536c990a6d49cd61f207c04ad771a1449506f38507afc35f95b29d4cf1"
+ )
+ version(
+ "2022.01.03", sha256="872a0d152c19864ad543ddcc585ce30baaad4185c2617c13463d780175cbde5f"
+ )
+ version(
+ "2021.12.15", sha256="4bfe9e27412e263ffdc6fcfcb84011f16d34a9fdd633ad7fc84a34c898f67e5c"
+ )
# Configuration variants
- variant('executables',
- values=any_combination_of(
- # CCE
- 'CharacteristicExtract', 'ReduceCceWorldtube',
- # Elliptic / initial data
- 'SolvePoisson1D', 'SolvePoisson2D', 'SolvePoisson3D',
- 'SolveElasticity2D', 'SolveElasticity3D', 'SolveXcts',
- # Tools
- 'ExportCoordinates1D', 'ExportCoordinates2D',
- 'ExportCoordinates3D',
- ),
- description="Executables to install")
- variant('python', default=False, description="Build Python bindings")
- variant('doc', default=False, description="Build documentation")
+ variant(
+ "executables",
+ values=any_combination_of(
+ # CCE
+ "CharacteristicExtract",
+ "ReduceCceWorldtube",
+ # Elliptic / initial data
+ "SolvePoisson1D",
+ "SolvePoisson2D",
+ "SolvePoisson3D",
+ "SolveElasticity2D",
+ "SolveElasticity3D",
+ "SolveXcts",
+ # Tools
+ "ExportCoordinates1D",
+ "ExportCoordinates2D",
+ "ExportCoordinates3D",
+ ),
+ description="Executables to install",
+ )
+ variant("python", default=False, description="Build Python bindings")
+ variant("doc", default=False, description="Build documentation")
# Build type and debug symbols:
# - Both Debug and Release builds have debug symbols enabled by default in
# the SpECTRE build system, so we can view backtraces, etc., when
# production code fails.
- variant('build_type', values=('Debug', 'Release'),
- default='Release', description='CMake build type')
+ variant(
+ "build_type",
+ values=("Debug", "Release"),
+ default="Release",
+ description="CMake build type",
+ )
# - Allow disabling debug symbols to reduce memory usage and executable size
- variant('debug_symbols', default=True,
- description="Build with debug symbols")
- variant('shared',
- default=False,
- description="Build shared libraries instead of static")
- variant('memory_allocator',
- values=('system', 'jemalloc'),
- multi=False,
- default='system',
- description="Which memory allocator to use")
- variant('formaline',
- default=True,
- description=("Write the source tree into simulation output files "
- "to increase reproducibility of results"))
- variant('profiling',
- default=False,
- description="Enable options to make profiling SpECTRE easier")
+ variant("debug_symbols", default=True, description="Build with debug symbols")
+ variant("shared", default=False, description="Build shared libraries instead of static")
+ variant(
+ "memory_allocator",
+ values=("system", "jemalloc"),
+ multi=False,
+ default="system",
+ description="Which memory allocator to use",
+ )
+ variant(
+ "formaline",
+ default=True,
+ description=(
+ "Write the source tree into simulation output files "
+ "to increase reproducibility of results"
+ ),
+ )
+ variant(
+ "profiling", default=False, description="Enable options to make profiling SpECTRE easier"
+ )
# Compiler support
- conflicts('%gcc@:6')
- conflicts('%clang@:7')
- conflicts('%apple-clang@:10')
+ conflicts("%gcc@:6")
+ conflicts("%clang@:7")
+ conflicts("%apple-clang@:10")
# Build dependencies
- depends_on('cmake@3.12:', type='build')
- depends_on('ninja', type='build')
- depends_on('python@2.7:', type='build')
+ depends_on("cmake@3.12:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python@2.7:", type="build")
# Link dependencies
- depends_on('charmpp@6.10.2:')
- depends_on('blaze@3.8')
- depends_on('boost@1.60:+math+program_options')
- depends_on('brigand@master')
- depends_on('gsl')
- depends_on('hdf5')
- depends_on('jemalloc', when='memory_allocator=jemalloc')
- depends_on('libsharp~mpi~openmp')
- depends_on('libxsmm@1.16.1:')
- depends_on('blas')
- depends_on('lapack')
- depends_on('yaml-cpp@0.6:')
+ depends_on("charmpp@6.10.2:")
+ depends_on("blaze@3.8")
+ depends_on("boost@1.60:+math+program_options")
+ depends_on("brigand@master")
+ depends_on("gsl")
+ depends_on("hdf5")
+ depends_on("jemalloc", when="memory_allocator=jemalloc")
+ depends_on("libsharp~mpi~openmp")
+ depends_on("libxsmm@1.16.1:")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("yaml-cpp@0.6:")
# Test dependencies
- depends_on('catch2@2.8:', type='test')
- depends_on('py-numpy@1.10:', type='test')
- depends_on('py-scipy', type='test')
- depends_on('py-h5py', type='test')
+ depends_on("catch2@2.8:", type="test")
+ depends_on("py-numpy@1.10:", type="test")
+ depends_on("py-scipy", type="test")
+ depends_on("py-h5py", type="test")
# Python bindings
- with when('+python'):
- extends('python')
- depends_on('python@3.7:', type=('build', 'run'))
- depends_on('py-pybind11@2.6:', type='build')
- depends_on('py-numpy@1.10:', type=('build', 'run'))
- depends_on('py-scipy', type=('build', 'run'))
- depends_on('py-matplotlib', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
+ with when("+python"):
+ extends("python")
+ depends_on("python@3.7:", type=("build", "run"))
+ depends_on("py-pybind11@2.6:", type="build")
+ depends_on("py-numpy@1.10:", type=("build", "run"))
+ depends_on("py-scipy", type=("build", "run"))
+ depends_on("py-matplotlib", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
# Docs
- with when('+doc'):
- depends_on('doxygen', type='build')
- depends_on('perl', type='build', when="@2022.03.07:")
- depends_on('py-beautifulsoup4', type='build')
- depends_on('py-pybtex', type='build')
- depends_on('py-nbconvert', type='build', when="@2022.03.07:")
+ with when("+doc"):
+ depends_on("doxygen", type="build")
+ depends_on("perl", type="build", when="@2022.03.07:")
+ depends_on("py-beautifulsoup4", type="build")
+ depends_on("py-pybtex", type="build")
+ depends_on("py-nbconvert", type="build", when="@2022.03.07:")
# Incompatibilities
# - Shared libs builds on macOS don't work before
# https://github.com/sxs-collaboration/spectre/pull/2680
- conflicts('+shared', when='@:2022.01.03 platform=darwin')
+ conflicts("+shared", when="@:2022.01.03 platform=darwin")
# - Blaze with `BLAZE_BLAS_MODE` enabled doesn't work before
# https://github.com/sxs-collaboration/spectre/pull/3806 because it
# doesn't find the BLAS header. Also, we haven't tested Blaze with BLAS
# kernels before then.
- conflicts('^blaze+blas', when='@:2022.02.17')
+ conflicts("^blaze+blas", when="@:2022.02.17")
# These patches backport updates to the SpECTRE build system to earlier
# releases, to support installing them with Spack. In particular, we try to
@@ -142,117 +173,131 @@ class Spectre(CMakePackage):
# reproducible.
# - Backport installation of targets, based on upstream patch:
# https://github.com/sxs-collaboration/spectre/commit/fe3514117c8205dbf18c4d42ec17712e67d33251
- patch('install-pre-2022.01.03.patch', when='@:2022.01.03')
+ patch("install-pre-2022.01.03.patch", when="@:2022.01.03")
# - Backport experimental support for Charm++ v7+
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/a2203824ef38ec79a247703ae8cd215befffe391.patch?full_index=1',
- sha256='e1b22e5ebeb814c07f4aff690b7b4f3a7ba1f06ea4bc91468c68637521a458a7',
- when='@:2022.01.03 ^charmpp@7.0.0:')
+ "https://github.com/sxs-collaboration/spectre/commit/a2203824ef38ec79a247703ae8cd215befffe391.patch?full_index=1",
+ sha256="e1b22e5ebeb814c07f4aff690b7b4f3a7ba1f06ea4bc91468c68637521a458a7",
+ when="@:2022.01.03 ^charmpp@7.0.0:",
+ )
# - Backport IWYU toggle to avoid CMake configuration issues
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/cffeba1bc24bf7c00ec8bac710f02d3db36fa111.patch?full_index=1',
- sha256='a3752024b743aeba6f7a53d26bf583e1e46adbd08a2e6f74470a777dde7b2dff',
- when='@:2022.01.03')
+ "https://github.com/sxs-collaboration/spectre/commit/cffeba1bc24bf7c00ec8bac710f02d3db36fa111.patch?full_index=1",
+ sha256="a3752024b743aeba6f7a53d26bf583e1e46adbd08a2e6f74470a777dde7b2dff",
+ when="@:2022.01.03",
+ )
# - Backport patch for Boost 1.77
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/001fc190a6ec73ad6c19ada9444d04a2320f2b96.patch?full_index=1',
- sha256='96b3a3cb49ee30206eb70d1160feda84b7e7b4e1c7dd81ba7138b5c4fa718622',
- when='@:2022.01.03 ^boost@1.77:')
+ "https://github.com/sxs-collaboration/spectre/commit/001fc190a6ec73ad6c19ada9444d04a2320f2b96.patch?full_index=1",
+ sha256="96b3a3cb49ee30206eb70d1160feda84b7e7b4e1c7dd81ba7138b5c4fa718622",
+ when="@:2022.01.03 ^boost@1.77:",
+ )
# - Backport patch for Python 3.10 in tests
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/82ff2c39cdae0ecc1e42bdf4564506a4ca869818.patch?full_index=1',
- sha256='36cdb5e48f6b49306709057e5e6ca37a44258ad6ecf918c1e87a71d7121e36ba',
- when='@:2022.01.03 ^python@3.10:')
+ "https://github.com/sxs-collaboration/spectre/commit/82ff2c39cdae0ecc1e42bdf4564506a4ca869818.patch?full_index=1",
+ sha256="36cdb5e48f6b49306709057e5e6ca37a44258ad6ecf918c1e87a71d7121e36ba",
+ when="@:2022.01.03 ^python@3.10:",
+ )
# - Backport patch for hdf5+mpi
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/eb887635f5e2b394ae2c7e96170e9d907eb315cf.patch?full_index=1',
- sha256='ccc4631541d6aca996ced358a3ee43d3f8b8eb62fd7bec4534685445688d4d84',
- when='@:2022.01.03 ^hdf5+mpi')
+ "https://github.com/sxs-collaboration/spectre/commit/eb887635f5e2b394ae2c7e96170e9d907eb315cf.patch?full_index=1",
+ sha256="ccc4631541d6aca996ced358a3ee43d3f8b8eb62fd7bec4534685445688d4d84",
+ when="@:2022.01.03 ^hdf5+mpi",
+ )
# - Backport `BUILD_TESTING` toggle, based on upstream patch:
# https://github.com/sxs-collaboration/spectre/commit/79bed6cad6e95efadf48a5846f389e90801202d4
- patch('build-testing-pre-2022.01.03.patch', when='@:2022.01.03')
+ patch("build-testing-pre-2022.01.03.patch", when="@:2022.01.03")
# - Backport `PYTHONPATH` in CTest environment
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/ada1d15d5963bd22581dd8966599e1529a99645d.patch?full_index=1',
- sha256='6ae3d5b08bd3f0e743e1043c9363e32db2a4f9c549eb958ff989f1e7f3078f6c',
- when='@:2022.01.03')
+ "https://github.com/sxs-collaboration/spectre/commit/ada1d15d5963bd22581dd8966599e1529a99645d.patch?full_index=1",
+ sha256="6ae3d5b08bd3f0e743e1043c9363e32db2a4f9c549eb958ff989f1e7f3078f6c",
+ when="@:2022.01.03",
+ )
# - Backport executable name CTest labels
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/1b61e62a27b02b658cc6a74c4d46af1f5b5d0a4d.patch?full_index=1',
- sha256='aeb41c30dd7a8bf61b79efbb79cfa81372cfc2e870a2b494fc583a8bd554c703',
- when='@:2022.01.03')
+ "https://github.com/sxs-collaboration/spectre/commit/1b61e62a27b02b658cc6a74c4d46af1f5b5d0a4d.patch?full_index=1",
+ sha256="aeb41c30dd7a8bf61b79efbb79cfa81372cfc2e870a2b494fc583a8bd554c703",
+ when="@:2022.01.03",
+ )
# - Backport fix for PCH builds with Spack
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/4bb3f25f905f83d8295a28a8036f6971dc4e75a2.patch?full_index=1',
- sha256='6e8ec4584b6b03866594d0744c041012c68f6b2382abaa9abeec39cd2f2a6480',
- when='@:2022.01.03')
+ "https://github.com/sxs-collaboration/spectre/commit/4bb3f25f905f83d8295a28a8036f6971dc4e75a2.patch?full_index=1",
+ sha256="6e8ec4584b6b03866594d0744c041012c68f6b2382abaa9abeec39cd2f2a6480",
+ when="@:2022.01.03",
+ )
# - Backport installation of shared libs
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/b7c54a2a20c6d62aae6b1c97e3468d4cd39ed6ad.patch?full_index=1',
- sha256='5ce050c73bab007c0bea9c1f4ae4fb5cd5abab820eeb89cf6cb81f8856d07c30',
- when='@:2022.01.03 +shared')
+ "https://github.com/sxs-collaboration/spectre/commit/b7c54a2a20c6d62aae6b1c97e3468d4cd39ed6ad.patch?full_index=1",
+ sha256="5ce050c73bab007c0bea9c1f4ae4fb5cd5abab820eeb89cf6cb81f8856d07c30",
+ when="@:2022.01.03 +shared",
+ )
# - Fix an issue with Boost pre v1.67
patch(
- 'https://github.com/sxs-collaboration/spectre/commit/b229e939f15362aca892d4480a9182daf88305d4.patch?full_index=1',
- sha256='87811b73d72d60cf82cd85e464b42843add50c3be858c7c8272936aeb8574933',
- when='@2022.02.08 ^boost@:1.66')
+ "https://github.com/sxs-collaboration/spectre/commit/b229e939f15362aca892d4480a9182daf88305d4.patch?full_index=1",
+ sha256="87811b73d72d60cf82cd85e464b42843add50c3be858c7c8272936aeb8574933",
+ when="@2022.02.08 ^boost@:1.66",
+ )
def cmake_args(self):
args = [
- self.define('CHARM_ROOT', self.spec['charmpp'].prefix),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('Python_EXECUTABLE', self.spec['python'].command.path),
- self.define_from_variant('BUILD_PYTHON_BINDINGS', 'python'),
- self.define('BUILD_TESTING', self.run_tests),
- self.define_from_variant('BUILD_DOCS', 'doc'),
- self.define('USE_GIT_HOOKS', False),
- self.define('USE_IWYU', False),
- self.define_from_variant('USE_FORMALINE', 'formaline'),
- self.define_from_variant('MEMORY_ALLOCATOR').upper(),
- self.define_from_variant('ENABLE_PROFILING', 'profiling'),
- self.define('USE_PCH', True),
- self.define_from_variant('DEBUG_SYMBOLS'),
+ self.define("CHARM_ROOT", self.spec["charmpp"].prefix),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("Python_EXECUTABLE", self.spec["python"].command.path),
+ self.define_from_variant("BUILD_PYTHON_BINDINGS", "python"),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_DOCS", "doc"),
+ self.define("USE_GIT_HOOKS", False),
+ self.define("USE_IWYU", False),
+ self.define_from_variant("USE_FORMALINE", "formaline"),
+ self.define_from_variant("MEMORY_ALLOCATOR").upper(),
+ self.define_from_variant("ENABLE_PROFILING", "profiling"),
+ self.define("USE_PCH", True),
+ self.define_from_variant("DEBUG_SYMBOLS"),
]
# Allow for more time on slower machines
if self.run_tests:
- if self.spec.satisfies('@:2022.01.03'):
- args.extend([
- self.define('SPECTRE_INPUT_FILE_TEST_TIMEOUT_FACTOR', '10'),
- self.define('SPECTRE_UNIT_TEST_TIMEOUT_FACTOR', '10'),
- self.define('SPECTRE_PYTHON_TEST_TIMEOUT_FACTOR', '10'),
- ])
+ if self.spec.satisfies("@:2022.01.03"):
+ args.extend(
+ [
+ self.define("SPECTRE_INPUT_FILE_TEST_TIMEOUT_FACTOR", "10"),
+ self.define("SPECTRE_UNIT_TEST_TIMEOUT_FACTOR", "10"),
+ self.define("SPECTRE_PYTHON_TEST_TIMEOUT_FACTOR", "10"),
+ ]
+ )
else:
- args.append(self.define('SPECTRE_TEST_TIMEOUT_FACTOR', '10'))
+ args.append(self.define("SPECTRE_TEST_TIMEOUT_FACTOR", "10"))
return args
@property
def build_targets(self):
spec = self.spec
- targets = list(self.spec.variants['executables'].value)
- if 'none' in targets:
- targets.remove('none')
- if '+python' in spec:
- targets.append('all-pybindings')
- if '+doc' in spec:
- targets.append('doc')
+ targets = list(self.spec.variants["executables"].value)
+ if "none" in targets:
+ targets.remove("none")
+ if "+python" in spec:
+ targets.append("all-pybindings")
+ if "+doc" in spec:
+ targets.append("doc")
if self.run_tests:
- targets.append('unit-tests')
+ targets.append("unit-tests")
if len(targets) == 0:
- raise InstallError("Specify at least one target to build. See "
- "'spack info spectre' for available targets.")
+ raise InstallError(
+ "Specify at least one target to build. See "
+ "'spack info spectre' for available targets."
+ )
return targets
- @run_after('install')
+ @run_after("install")
def install_docs(self):
- if '+doc' in self.spec:
+ if "+doc" in self.spec:
with working_dir(self.build_directory):
- install_tree(join_path('docs', 'html'), self.prefix.docs)
+ install_tree(join_path("docs", "html"), self.prefix.docs)
@property
def archive_files(self):
# Archive the `BuildInfo.txt` file for debugging builds
return super(Spectre, self).archive_files + [
- join_path(self.build_directory, 'BuildInfo.txt')
+ join_path(self.build_directory, "BuildInfo.txt")
]
def check(self):
@@ -260,9 +305,9 @@ class Spectre(CMakePackage):
# The test suite contains a lot of tests. We select only those
# related to the targets that were specified.
# - Unit tests
- ctest('--output-on-failure', '-L', 'unit')
+ ctest("--output-on-failure", "-L", "unit")
# - Input file tests for the specified executables
- for executable in self.spec.variants['executables'].value:
- if executable == 'none':
+ for executable in self.spec.variants["executables"].value:
+ if executable == "none":
continue
- ctest('--output-on-failure', '-L', executable)
+ ctest("--output-on-failure", "-L", executable)
diff --git a/var/spack/repos/builtin/packages/spectrum-mpi/package.py b/var/spack/repos/builtin/packages/spectrum-mpi/package.py
index 651f87a262..2f38e50f02 100644
--- a/var/spack/repos/builtin/packages/spectrum-mpi/package.py
+++ b/var/spack/repos/builtin/packages/spectrum-mpi/package.py
@@ -16,16 +16,16 @@ class SpectrumMpi(BundlePackage):
homepage = "https://www-03.ibm.com/systems/spectrum-computing/products/mpi"
# https://www.ibm.com/docs/en/smpi/10.4
- version('10.4')
+ version("10.4")
- provides('mpi')
+ provides("mpi")
- executables = ['^ompi_info$']
+ executables = ["^ompi_info$"]
@classmethod
def determine_version(cls, exe):
output = Executable(exe)(output=str, error=str)
- match = re.search(r'Spectrum MPI: (\S+)', output)
+ match = re.search(r"Spectrum MPI: (\S+)", output)
if not match:
return None
version = match.group(1)
@@ -34,27 +34,19 @@ class SpectrumMpi(BundlePackage):
@classmethod
def determine_variants(cls, exes, version):
compiler_suites = {
- 'xl': {'cc': 'mpixlc',
- 'cxx': 'mpixlC',
- 'f77': 'mpixlf',
- 'fc': 'mpixlf'},
- 'pgi': {'cc': 'mpipgicc',
- 'cxx': 'mpipgic++',
- 'f77': 'mpipgifort',
- 'fc': 'mpipgifort'},
- 'default': {'cc': 'mpicc',
- 'cxx': 'mpicxx',
- 'f77': 'mpif77',
- 'fc': 'mpif90'}}
+ "xl": {"cc": "mpixlc", "cxx": "mpixlC", "f77": "mpixlf", "fc": "mpixlf"},
+ "pgi": {"cc": "mpipgicc", "cxx": "mpipgic++", "f77": "mpipgifort", "fc": "mpipgifort"},
+ "default": {"cc": "mpicc", "cxx": "mpicxx", "f77": "mpif77", "fc": "mpif90"},
+ }
def get_host_compiler(exe):
output = Executable(exe)("--showme", output=str, error=str)
- match = re.search(r'^(\S+)', output)
+ match = re.search(r"^(\S+)", output)
return match.group(1) if match else None
def get_spack_compiler_spec(compilers_found):
# check using cc for now, as everyone should have that defined.
- path = os.path.dirname(compilers_found['cc'])
+ path = os.path.dirname(compilers_found["cc"])
spack_compilers = spack.compilers.find_compilers([path])
actual_compiler = None
# check if the compiler actually matches the one we want
@@ -84,7 +76,7 @@ class SpectrumMpi(BundlePackage):
if compiler_spec:
variant = "%" + str(compiler_spec)
else:
- variant = ''
+ variant = ""
# Use this variant when you need to define the
# compilers explicitly
#
@@ -93,66 +85,66 @@ class SpectrumMpi(BundlePackage):
# Otherwise, use this simpler attribute
results.append(variant)
else:
- results.append('')
+ results.append("")
return results
def setup_dependent_package(self, module, dependent_spec):
# get the compiler names
- if '%xl' in dependent_spec or '%xl_r' in dependent_spec:
- self.spec.mpicc = os.path.join(self.prefix.bin, 'mpixlc')
- self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpixlC')
- self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpixlf')
- self.spec.mpifc = os.path.join(self.prefix.bin, 'mpixlf')
- elif '%pgi' in dependent_spec:
- self.spec.mpicc = os.path.join(self.prefix.bin, 'mpipgicc')
- self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpipgic++')
- self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpipgifort')
- self.spec.mpifc = os.path.join(self.prefix.bin, 'mpipgifort')
+ if "%xl" in dependent_spec or "%xl_r" in dependent_spec:
+ self.spec.mpicc = os.path.join(self.prefix.bin, "mpixlc")
+ self.spec.mpicxx = os.path.join(self.prefix.bin, "mpixlC")
+ self.spec.mpif77 = os.path.join(self.prefix.bin, "mpixlf")
+ self.spec.mpifc = os.path.join(self.prefix.bin, "mpixlf")
+ elif "%pgi" in dependent_spec:
+ self.spec.mpicc = os.path.join(self.prefix.bin, "mpipgicc")
+ self.spec.mpicxx = os.path.join(self.prefix.bin, "mpipgic++")
+ self.spec.mpif77 = os.path.join(self.prefix.bin, "mpipgifort")
+ self.spec.mpifc = os.path.join(self.prefix.bin, "mpipgifort")
else:
- self.spec.mpicc = os.path.join(self.prefix.bin, 'mpicc')
- self.spec.mpicxx = os.path.join(self.prefix.bin, 'mpicxx')
- self.spec.mpif77 = os.path.join(self.prefix.bin, 'mpif77')
- self.spec.mpifc = os.path.join(self.prefix.bin, 'mpif90')
+ self.spec.mpicc = os.path.join(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = os.path.join(self.prefix.bin, "mpicxx")
+ self.spec.mpif77 = os.path.join(self.prefix.bin, "mpif77")
+ self.spec.mpifc = os.path.join(self.prefix.bin, "mpif90")
def setup_dependent_build_environment(self, env, dependent_spec):
- if '%xl' in dependent_spec or '%xl_r' in dependent_spec:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpixlc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpixlC'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpixlf'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpixlf'))
- elif '%pgi' in dependent_spec:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpipgicc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpipgic++'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpipgifort'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpipgifort'))
+ if "%xl" in dependent_spec or "%xl_r" in dependent_spec:
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpixlc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpixlC"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpixlf"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpixlf"))
+ elif "%pgi" in dependent_spec:
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpipgicc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpipgic++"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpipgifort"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpipgifort"))
else:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpic++'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90'))
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpicc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpic++"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpif77"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpif90"))
- env.set('OMPI_CC', spack_cc)
- env.set('OMPI_CXX', spack_cxx)
- env.set('OMPI_FC', spack_fc)
- env.set('OMPI_F77', spack_f77)
+ env.set("OMPI_CC", spack_cc)
+ env.set("OMPI_CXX", spack_cxx)
+ env.set("OMPI_FC", spack_fc)
+ env.set("OMPI_F77", spack_f77)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix.lib)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix.lib)
def setup_run_environment(self, env):
# Because MPI functions as a compiler we need to setup the compilers
# in the run environment, like any compiler
- if '%xl' in self.spec or '%xl_r' in self.spec:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpixlc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpixlC'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpixlf'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpixlf'))
- elif '%pgi' in self.spec:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpipgicc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpipgic++'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpipgifort'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpipgifort'))
+ if "%xl" in self.spec or "%xl_r" in self.spec:
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpixlc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpixlC"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpixlf"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpixlf"))
+ elif "%pgi" in self.spec:
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpipgicc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpipgic++"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpipgifort"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpipgifort"))
else:
- env.set('MPICC', os.path.join(self.prefix.bin, 'mpicc'))
- env.set('MPICXX', os.path.join(self.prefix.bin, 'mpic++'))
- env.set('MPIF77', os.path.join(self.prefix.bin, 'mpif77'))
- env.set('MPIF90', os.path.join(self.prefix.bin, 'mpif90'))
+ env.set("MPICC", os.path.join(self.prefix.bin, "mpicc"))
+ env.set("MPICXX", os.path.join(self.prefix.bin, "mpic++"))
+ env.set("MPIF77", os.path.join(self.prefix.bin, "mpif77"))
+ env.set("MPIF90", os.path.join(self.prefix.bin, "mpif90"))
diff --git a/var/spack/repos/builtin/packages/speex/package.py b/var/spack/repos/builtin/packages/speex/package.py
index b0d97069c7..1f5b8466c8 100644
--- a/var/spack/repos/builtin/packages/speex/package.py
+++ b/var/spack/repos/builtin/packages/speex/package.py
@@ -11,6 +11,6 @@ class Speex(AutotoolsPackage):
audio compression format designed for speech."""
homepage = "https://speex.org"
- url = "http://downloads.us.xiph.org/releases/speex/speex-1.2.0.tar.gz"
+ url = "http://downloads.us.xiph.org/releases/speex/speex-1.2.0.tar.gz"
- version('1.2.0', sha256='eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094')
+ version("1.2.0", sha256="eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094")
diff --git a/var/spack/repos/builtin/packages/speexdsp/package.py b/var/spack/repos/builtin/packages/speexdsp/package.py
index b1d7ce4206..15e9a48954 100644
--- a/var/spack/repos/builtin/packages/speexdsp/package.py
+++ b/var/spack/repos/builtin/packages/speexdsp/package.py
@@ -10,41 +10,44 @@ class Speexdsp(AutotoolsPackage):
"""SpeexDSP is a patent-free, Open Source/Free Software DSP library."""
homepage = "https://github.com/xiph/speexdsp"
- url = "https://github.com/xiph/speexdsp/archive/SpeexDSP-1.2.0.tar.gz"
+ url = "https://github.com/xiph/speexdsp/archive/SpeexDSP-1.2.0.tar.gz"
- version('1.2.0', sha256='d7032f607e8913c019b190c2bccc36ea73fc36718ee38b5cdfc4e4c0a04ce9a4')
+ version("1.2.0", sha256="d7032f607e8913c019b190c2bccc36ea73fc36718ee38b5cdfc4e4c0a04ce9a4")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('fftw-api')
+ depends_on("fftw-api")
- patch('mkl.patch')
+ patch("mkl.patch")
def patch(self):
- filter_file('libspeexdsp_la_LIBADD = $(LIBM)',
- 'libspeexdsp_la_LIBADD = $(LIBM) $(FFT_LIBS)',
- 'libspeexdsp/Makefile.am',
- string=True)
+ filter_file(
+ "libspeexdsp_la_LIBADD = $(LIBM)",
+ "libspeexdsp_la_LIBADD = $(LIBM) $(FFT_LIBS)",
+ "libspeexdsp/Makefile.am",
+ string=True,
+ )
def autoreconf(self, spec, prefix):
- autoreconf('--install', '--verbose', '--force')
+ autoreconf("--install", "--verbose", "--force")
def configure_args(self):
args = []
- if 'intel-mkl' in self.spec:
+ if "intel-mkl" in self.spec:
# get the blas libs explicitly to avoid scalapack getting returned
- args.extend([
- '--with-fft=proprietary-intel-mkl',
- 'CPPFLAGS={0}'.format(
- self.spec['intel-mkl'].headers.cpp_flags),
- 'LDFLAGS={0}'.format(self.spec['blas'].libs.ld_flags),
- ])
- elif 'fftw' in self.spec:
- args.append('--with-fft=gpl-fftw3')
+ args.extend(
+ [
+ "--with-fft=proprietary-intel-mkl",
+ "CPPFLAGS={0}".format(self.spec["intel-mkl"].headers.cpp_flags),
+ "LDFLAGS={0}".format(self.spec["blas"].libs.ld_flags),
+ ]
+ )
+ elif "fftw" in self.spec:
+ args.append("--with-fft=gpl-fftw3")
return args
diff --git a/var/spack/repos/builtin/packages/spfft/package.py b/var/spack/repos/builtin/packages/spfft/package.py
index 87eeef2068..de74d69333 100644
--- a/var/spack/repos/builtin/packages/spfft/package.py
+++ b/var/spack/repos/builtin/packages/spfft/package.py
@@ -11,97 +11,107 @@ class Spfft(CMakePackage, CudaPackage):
"""Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support."""
homepage = "https://github.com/eth-cscs/SpFFT"
- url = "https://github.com/eth-cscs/SpFFT/archive/v0.9.8.zip"
- git = "https://github.com/eth-cscs/SpFFT.git"
-
- maintainers = ['AdhocMan', 'haampie']
-
- version('develop', branch='develop')
- version('master', branch='master')
-
- version('1.0.6', sha256='e1b927c61f8abbb4a9937653f917169e6253e8c40b850df491594310943ca14b')
- version('1.0.5', sha256='2a59d856286ea8559f00a32fc38f9f7546209cfa90112232a5288a69689a6e05')
- version('1.0.4', sha256='41e63880d95343da0d8c3dbe5bfb3d46a1d612199cc9cc13a936f1628a7fdb8e')
- version('1.0.3', sha256='4f87734e3582ef96ddc0402d0db78cfc173bed9cab3e0d9c6a6bf8b660d69559')
- version('1.0.2', sha256='9b1296bda0b9ec3d37c74fd64354a01ebc6e2da7cb026c1f821882160b03c692')
- version('1.0.1', sha256='f8ab706309776cfbd2bfd8e29a6a9ffb5c8f3cd62399bf82db1e416ae5c490c8')
- version('1.0.0', sha256='bd98897aa6734563ec63cd84168e731ef2e2bbc01a574c6dc59b74475742b6ee')
- version('0.9.13', sha256='5ccc93c9362bec14cfb6e31dd0e7ae7e48db0453ab49ebc9722041b69db759ef')
- version('0.9.12', sha256='1f7bf5164dcceb0e3bbce7d6ff9faef3145ad17cf3430149d40a98c43c010acc')
- version('0.9.11', sha256='36542a60378e8672654188dee006975ef9e10f502791459ff7ebf4b38451cb9b')
- version('0.9.10', sha256='9cbbb7ba5e53e17eeb45e809841d8272e5333f739c2442a99c3e255c1ddec3e9')
- version('0.9.9', sha256='a8fd7a2d767716bb73185ca03bf4c106c6981b79130f3e456e5d2e744a2b3ba0')
- version('0.9.8', sha256='f49fa51316bbfa68309e951d2375e1f6904120c93868cbe13bc2974c0b801a3f')
-
- variant('openmp', default=True, description="Build with OpenMP support")
- variant('mpi', default=True, description="enable MPI")
- variant('single_precision', default=False, description="Sinlge precision")
- variant('gpu_direct', default=False, description="GPU aware MPI")
- variant('static', default=False, description="build static library")
- variant('fortran', default=False, description="enable fortran")
- variant('build_type', default='Release', description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo'))
- depends_on('fftw-api@3')
- depends_on('mpi', when='+mpi')
- depends_on('cmake@3.11:', type='build')
+ url = "https://github.com/eth-cscs/SpFFT/archive/v0.9.8.zip"
+ git = "https://github.com/eth-cscs/SpFFT.git"
+
+ maintainers = ["AdhocMan", "haampie"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ version("1.0.6", sha256="e1b927c61f8abbb4a9937653f917169e6253e8c40b850df491594310943ca14b")
+ version("1.0.5", sha256="2a59d856286ea8559f00a32fc38f9f7546209cfa90112232a5288a69689a6e05")
+ version("1.0.4", sha256="41e63880d95343da0d8c3dbe5bfb3d46a1d612199cc9cc13a936f1628a7fdb8e")
+ version("1.0.3", sha256="4f87734e3582ef96ddc0402d0db78cfc173bed9cab3e0d9c6a6bf8b660d69559")
+ version("1.0.2", sha256="9b1296bda0b9ec3d37c74fd64354a01ebc6e2da7cb026c1f821882160b03c692")
+ version("1.0.1", sha256="f8ab706309776cfbd2bfd8e29a6a9ffb5c8f3cd62399bf82db1e416ae5c490c8")
+ version("1.0.0", sha256="bd98897aa6734563ec63cd84168e731ef2e2bbc01a574c6dc59b74475742b6ee")
+ version("0.9.13", sha256="5ccc93c9362bec14cfb6e31dd0e7ae7e48db0453ab49ebc9722041b69db759ef")
+ version("0.9.12", sha256="1f7bf5164dcceb0e3bbce7d6ff9faef3145ad17cf3430149d40a98c43c010acc")
+ version("0.9.11", sha256="36542a60378e8672654188dee006975ef9e10f502791459ff7ebf4b38451cb9b")
+ version("0.9.10", sha256="9cbbb7ba5e53e17eeb45e809841d8272e5333f739c2442a99c3e255c1ddec3e9")
+ version("0.9.9", sha256="a8fd7a2d767716bb73185ca03bf4c106c6981b79130f3e456e5d2e744a2b3ba0")
+ version("0.9.8", sha256="f49fa51316bbfa68309e951d2375e1f6904120c93868cbe13bc2974c0b801a3f")
+
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("mpi", default=True, description="enable MPI")
+ variant("single_precision", default=False, description="Sinlge precision")
+ variant("gpu_direct", default=False, description="GPU aware MPI")
+ variant("static", default=False, description="build static library")
+ variant("fortran", default=False, description="enable fortran")
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+ depends_on("fftw-api@3")
+ depends_on("mpi", when="+mpi")
+ depends_on("cmake@3.11:", type="build")
# ROCM variants + dependencies
- variant('rocm', default=False, description="Use ROCm backend")
+ variant("rocm", default=False, description="Use ROCm backend")
- depends_on('cuda@:10', when='@:0.9.11 +cuda')
+ depends_on("cuda@:10", when="@:0.9.11 +cuda")
- with when('+rocm'):
+ with when("+rocm"):
# FindHIP cmake script only works for < 4.1
- depends_on('hip@:4.0', when='@:1.0.1')
+ depends_on("hip@:4.0", when="@:1.0.1")
# Workaround for compiler bug in ROCm 4.5 added in SpFFT 1.0.6
- depends_on('hip@:4.3.1', when='@:1.0.5')
- depends_on('hip')
- depends_on('rocfft')
+ depends_on("hip@:4.3.1", when="@:1.0.5")
+ depends_on("hip")
+ depends_on("rocfft")
# rocFFT and hipFFT have split with latest versions
- depends_on('hipfft', when='^rocfft@4.1.0:')
+ depends_on("hipfft", when="^rocfft@4.1.0:")
amdgpu_targets = (
- 'gfx701', 'gfx801', 'gfx802', 'gfx803',
- 'gfx900', 'gfx906', 'gfx908', 'gfx1010',
- 'gfx1011', 'gfx1012'
+ "gfx701",
+ "gfx801",
+ "gfx802",
+ "gfx803",
+ "gfx900",
+ "gfx906",
+ "gfx908",
+ "gfx1010",
+ "gfx1011",
+ "gfx1012",
)
- variant('amdgpu_target', default='gfx803,gfx900,gfx906', multi=True,
- values=amdgpu_targets)
+ variant("amdgpu_target", default="gfx803,gfx900,gfx906", multi=True, values=amdgpu_targets)
# Fix compilation error in some cases due to missing include statement
# before version 1.0.3
- patch('0001-fix-missing-limits-include.patch', when='@:1.0.2')
+ patch("0001-fix-missing-limits-include.patch", when="@:1.0.2")
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('SPFFT_OMP', 'openmp'),
- self.define_from_variant('SPFFT_MPI', 'mpi'),
- self.define_from_variant('SPFFT_SINGLE_PRECISION', 'single_precision'),
- self.define_from_variant('SPFFT_GPU_DIRECT', 'gpu_direct'),
- self.define_from_variant('SPFFT_FORTRAN', 'fortran'),
- self.define_from_variant('SPFFT_STATIC', 'static')
+ self.define_from_variant("SPFFT_OMP", "openmp"),
+ self.define_from_variant("SPFFT_MPI", "mpi"),
+ self.define_from_variant("SPFFT_SINGLE_PRECISION", "single_precision"),
+ self.define_from_variant("SPFFT_GPU_DIRECT", "gpu_direct"),
+ self.define_from_variant("SPFFT_FORTRAN", "fortran"),
+ self.define_from_variant("SPFFT_STATIC", "static"),
]
- if spec.satisfies('+cuda'):
+ if spec.satisfies("+cuda"):
args += ["-DSPFFT_GPU_BACKEND=CUDA"]
- cuda_arch = self.spec.variants['cuda_arch'].value
- if cuda_arch[0] != 'none':
- args += [self.define('CMAKE_CUDA_ARCHITECTURES', cuda_arch)]
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ if cuda_arch[0] != "none":
+ args += [self.define("CMAKE_CUDA_ARCHITECTURES", cuda_arch)]
- if spec.satisfies('+rocm'):
- archs = ",".join(self.spec.variants['amdgpu_target'].value)
+ if spec.satisfies("+rocm"):
+ archs = ",".join(self.spec.variants["amdgpu_target"].value)
args += [
- '-DSPFFT_GPU_BACKEND=ROCM',
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix),
- '-DHIP_HCC_FLAGS=--amdgpu-target={0}'.format(archs),
- '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)
+ "-DSPFFT_GPU_BACKEND=ROCM",
+ "-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix),
+ "-DHIP_HCC_FLAGS=--amdgpu-target={0}".format(archs),
+ "-DHIP_CXX_COMPILER={0}".format(self.spec["hip"].hipcc),
]
- if 'fftw' in spec:
+ if "fftw" in spec:
args += ["-DSPFFT_FFTW_LIB=FFTW"]
- elif 'intel-mkl' in spec:
+ elif "intel-mkl" in spec:
args += ["-DSPFFT_FFTW_LIB=MKL"]
return args
diff --git a/var/spack/repos/builtin/packages/spglib/package.py b/var/spack/repos/builtin/packages/spglib/package.py
index 5b30948d7e..c43ea9e031 100644
--- a/var/spack/repos/builtin/packages/spglib/package.py
+++ b/var/spack/repos/builtin/packages/spglib/package.py
@@ -10,34 +10,33 @@ class Spglib(CMakePackage):
"""C library for finding and handling crystal symmetries."""
homepage = "https://atztogo.github.io/spglib/"
- url = "https://github.com/atztogo/spglib/archive/v1.10.3.tar.gz"
+ url = "https://github.com/atztogo/spglib/archive/v1.10.3.tar.gz"
- patch('fix_cmake_install.patch', when='@:1.10.3')
+ patch("fix_cmake_install.patch", when="@:1.10.3")
# patch by Krishnendu Ghosh
- patch('fix_cpp.patch', when='@:1.10.3')
+ patch("fix_cpp.patch", when="@:1.10.3")
- version('1.16.1', sha256='e90682239e4ef63b492fa4e44f7dbcde2e2fe2e688579d96b01f2730dfdf5b2e')
- version('1.16.0', sha256='969311a2942fef77ee79ac9faab089b68e256f21713194969197e7f2bdb14772')
- version('1.15.1', sha256='b6dc2c8adcc7d0edee7a076e765c28b2941b2aeba590d213a0b4893c8af0c026')
- version('1.15.0', sha256='2e217beff6840a22ab2149598eb2f40616b2eeb9e155edab52761d3301412f98')
- version('1.14.1', sha256='9803b0648d9c2d99377f3e1c4cecf712320488403cd674192ec5cbe956bb3c78')
- version('1.14.0', sha256='0a5e518c3dc221386d2219cbd260d08b032b0d2a31bccc32e1a8cb7874e7e9e9')
- version('1.13.0', sha256='ed72ae7bdd129487c45ff7bebb8e2ac03074657060e068b015e7741c0271e16b')
- version('1.12.2', sha256='d92f5e4fa0f54cc0abd0209b81c4d5c647dae9d25b774c2296f44b8558b17976')
- version('1.12.1', sha256='1765e68982425de6d30029d50d200f20425b8ed1deff52b8e73a4a1457ac9ab6')
- version('1.12.0', sha256='79361ef230b4fd55d5eb7521c23430acc3f11ab527125dc324ffb315783ebdfa')
- version('1.11.2.1', sha256='f6795523a04871e012e7f5f5ab97b249fa36657b73cdc9b4ea53ef023cfcaac4')
- version('1.11.2', sha256='aae61218dd0cca1fda245d4ad906c2eed5e8d30e28b575d74eab9a6be26bbd5d')
- version('1.11.1.2', sha256='d99dab24accd269df65c01febd05cb5dd1094a89d7279f8390871f0432df2b56')
- version('1.11.1', sha256='3b5a859f3fe2c9b096fc0754ffbd9341c568bc8003d2eeb74c958c1cacb480f5')
- version('1.11.0', sha256='e4befe27473a69b7982597760d6838cc48d9ef7b624a439436a17f5487f78f51')
- version('1.10.4', sha256='6a15a324a821ad9d3e615e120d9c5e704e284d8eb1f076aa21741a23fbcf08df')
- version('1.10.3', sha256='43776b5fb220b746d53c1aa39d0230f304687ec05984671392bccaf850d9d696')
- version('1.10.2', sha256='5907d0d29563689146512ef24aa8960d9475c5de326501f277bb58b3de21b07d')
- version('1.10.1', sha256='8ed979cda82f6d440567197ec191bffcb82ee83c5bfe8a484c5a008dd00273f0')
- version('1.10.0', sha256='117fff308731784bea2ddaf3d076f0ecbf3981b31ea1c1bfd5ce4f057a5325b1')
+ version("1.16.1", sha256="e90682239e4ef63b492fa4e44f7dbcde2e2fe2e688579d96b01f2730dfdf5b2e")
+ version("1.16.0", sha256="969311a2942fef77ee79ac9faab089b68e256f21713194969197e7f2bdb14772")
+ version("1.15.1", sha256="b6dc2c8adcc7d0edee7a076e765c28b2941b2aeba590d213a0b4893c8af0c026")
+ version("1.15.0", sha256="2e217beff6840a22ab2149598eb2f40616b2eeb9e155edab52761d3301412f98")
+ version("1.14.1", sha256="9803b0648d9c2d99377f3e1c4cecf712320488403cd674192ec5cbe956bb3c78")
+ version("1.14.0", sha256="0a5e518c3dc221386d2219cbd260d08b032b0d2a31bccc32e1a8cb7874e7e9e9")
+ version("1.13.0", sha256="ed72ae7bdd129487c45ff7bebb8e2ac03074657060e068b015e7741c0271e16b")
+ version("1.12.2", sha256="d92f5e4fa0f54cc0abd0209b81c4d5c647dae9d25b774c2296f44b8558b17976")
+ version("1.12.1", sha256="1765e68982425de6d30029d50d200f20425b8ed1deff52b8e73a4a1457ac9ab6")
+ version("1.12.0", sha256="79361ef230b4fd55d5eb7521c23430acc3f11ab527125dc324ffb315783ebdfa")
+ version("1.11.2.1", sha256="f6795523a04871e012e7f5f5ab97b249fa36657b73cdc9b4ea53ef023cfcaac4")
+ version("1.11.2", sha256="aae61218dd0cca1fda245d4ad906c2eed5e8d30e28b575d74eab9a6be26bbd5d")
+ version("1.11.1.2", sha256="d99dab24accd269df65c01febd05cb5dd1094a89d7279f8390871f0432df2b56")
+ version("1.11.1", sha256="3b5a859f3fe2c9b096fc0754ffbd9341c568bc8003d2eeb74c958c1cacb480f5")
+ version("1.11.0", sha256="e4befe27473a69b7982597760d6838cc48d9ef7b624a439436a17f5487f78f51")
+ version("1.10.4", sha256="6a15a324a821ad9d3e615e120d9c5e704e284d8eb1f076aa21741a23fbcf08df")
+ version("1.10.3", sha256="43776b5fb220b746d53c1aa39d0230f304687ec05984671392bccaf850d9d696")
+ version("1.10.2", sha256="5907d0d29563689146512ef24aa8960d9475c5de326501f277bb58b3de21b07d")
+ version("1.10.1", sha256="8ed979cda82f6d440567197ec191bffcb82ee83c5bfe8a484c5a008dd00273f0")
+ version("1.10.0", sha256="117fff308731784bea2ddaf3d076f0ecbf3981b31ea1c1bfd5ce4f057a5325b1")
@property
def libs(self):
- return find_libraries('libsymspg', root=self.prefix,
- shared=True, recursive=True)
+ return find_libraries("libsymspg", root=self.prefix, shared=True, recursive=True)
diff --git a/var/spack/repos/builtin/packages/sph2pipe/package.py b/var/spack/repos/builtin/packages/sph2pipe/package.py
index 115363e15b..50e8ad582c 100644
--- a/var/spack/repos/builtin/packages/sph2pipe/package.py
+++ b/var/spack/repos/builtin/packages/sph2pipe/package.py
@@ -11,8 +11,8 @@ class Sph2pipe(CMakePackage):
converting SPHERE files to other formats."""
homepage = "https://www.ldc.upenn.edu/language-resources/tools/sphere-conversion-tools"
- url = "https://www.ldc.upenn.edu/sites/default/files/sph2pipe_v2.5.tar.gz"
+ url = "https://www.ldc.upenn.edu/sites/default/files/sph2pipe_v2.5.tar.gz"
- version('2.5', sha256='5be236dc94ed0a301c5c8a369f849f76799ec7e70f25dfc0521068d9d1d4d3e3')
+ version("2.5", sha256="5be236dc94ed0a301c5c8a369f849f76799ec7e70f25dfc0521068d9d1d4d3e3")
- patch('cmake.patch')
+ patch("cmake.patch")
diff --git a/var/spack/repos/builtin/packages/spherepack/package.py b/var/spack/repos/builtin/packages/spherepack/package.py
index bc32b77825..01761b1b6a 100644
--- a/var/spack/repos/builtin/packages/spherepack/package.py
+++ b/var/spack/repos/builtin/packages/spherepack/package.py
@@ -11,9 +11,9 @@ class Spherepack(Package):
"""SPHEREPACK - A Package for Modeling Geophysical Processes"""
homepage = "https://www2.cisl.ucar.edu/resources/legacy/spherepack"
- url = "https://www2.cisl.ucar.edu/sites/default/files/spherepack3.2.tar"
+ url = "https://www2.cisl.ucar.edu/sites/default/files/spherepack3.2.tar"
- version('3.2', sha256='d58ef8cbc45cf2ad24f73a9f73f5f9d4fbe03cd9e2e7722e526fffb68be581ba')
+ version("3.2", sha256="d58ef8cbc45cf2ad24f73a9f73f5f9d4fbe03cd9e2e7722e526fffb68be581ba")
def install(self, spec, prefix):
if self.compiler.fc is None:
diff --git a/var/spack/repos/builtin/packages/spindle/package.py b/var/spack/repos/builtin/packages/spindle/package.py
index 877359f349..a27263ec3e 100644
--- a/var/spack/repos/builtin/packages/spindle/package.py
+++ b/var/spack/repos/builtin/packages/spindle/package.py
@@ -8,15 +8,16 @@ from spack.package import *
class Spindle(AutotoolsPackage):
"""Spindle improves the library-loading performance of dynamically
- linked HPC applications. Without Spindle large MPI jobs can
- overload on a shared file system when loading dynamically
- linked libraries, causing site-wide performance problems.
+ linked HPC applications. Without Spindle large MPI jobs can
+ overload on a shared file system when loading dynamically
+ linked libraries, causing site-wide performance problems.
"""
+
homepage = "https://computing.llnl.gov/project/spindle/"
- url = "https://github.com/hpc/Spindle/archive/v0.12.tar.gz"
+ url = "https://github.com/hpc/Spindle/archive/v0.12.tar.gz"
- version('0.12', sha256='3fd9d0afefa9072fffdf2cfd80a0b5e557e201a0b0eb02e7379eae65e64eb1f2')
- version('0.8.1', sha256='c1e099e913faa8199be5811dc7b8be0266f0d1fd65f0a3a25bb46fbc70954ed6')
+ version("0.12", sha256="3fd9d0afefa9072fffdf2cfd80a0b5e557e201a0b0eb02e7379eae65e64eb1f2")
+ version("0.8.1", sha256="c1e099e913faa8199be5811dc7b8be0266f0d1fd65f0a3a25bb46fbc70954ed6")
depends_on("launchmon")
# All versions provide the runtime option --no-mpi to not use MPI, but mpi
@@ -28,6 +29,6 @@ class Spindle(AutotoolsPackage):
# spindle_logd.cc:65:76: error: narrowing conversion of '255' from 'int' to 'char'
# spindle_logd.cc:65:76: error: narrowing conversion of '223' from 'int' to 'char'
# spindle_logd.cc:65:76: error: narrowing conversion of '191' from 'int' to 'char'
- @when('@0.8.1 %gcc')
+ @when("@0.8.1 %gcc")
def setup_build_environment(self, env):
- env.append_flags('CPPFLAGS', '-Wno-narrowing')
+ env.append_flags("CPPFLAGS", "-Wno-narrowing")
diff --git a/var/spack/repos/builtin/packages/spiner/package.py b/var/spack/repos/builtin/packages/spiner/package.py
index 72fe5f068c..205599622b 100644
--- a/var/spack/repos/builtin/packages/spiner/package.py
+++ b/var/spack/repos/builtin/packages/spiner/package.py
@@ -10,21 +10,25 @@ class Spiner(CMakePackage, CudaPackage):
"""Spiner:
Performance portable routines for generic, tabulated, multi-dimensional data"""
- homepage = "https://github.com/lanl/spiner"
- url = "https://github.com/lanl/spiner/archive/refs/tags/1.4.0.tar.gz"
- git = "https://github.com/lanl/spiner.git"
+ homepage = "https://github.com/lanl/spiner"
+ url = "https://github.com/lanl/spiner/archive/refs/tags/1.4.0.tar.gz"
+ git = "https://github.com/lanl/spiner.git"
- maintainers = ['rbberger']
+ maintainers = ["rbberger"]
version("main", branch="main")
- version('1.5.1', sha256='dd1cada84446443e8925438b8da53ab5a6cb9f373f1a993905ef0bf51f48223c')
- version('1.5.0', sha256='b27ddabc0d21870b845444c24307d3a0c1b175483e72cc138139d6e0dd29b244')
- version('1.4.0', sha256='c3801b9eab26feabec33ff8c59e4056f384287f407d23faba010d354766f3ac5')
+ version("1.5.1", sha256="dd1cada84446443e8925438b8da53ab5a6cb9f373f1a993905ef0bf51f48223c")
+ version("1.5.0", sha256="b27ddabc0d21870b845444c24307d3a0c1b175483e72cc138139d6e0dd29b244")
+ version("1.4.0", sha256="c3801b9eab26feabec33ff8c59e4056f384287f407d23faba010d354766f3ac5")
# When overriding/overloading varaints, the last variant is always used, except for
# "when" clauses. Therefore, call the whens FIRST then the non-whens.
# https://spack.readthedocs.io/en/latest/packaging_guide.html#overriding-variants
- variant("kokkos", default=False, description="Enable kokkos",)
+ variant(
+ "kokkos",
+ default=False,
+ description="Enable kokkos",
+ )
variant("openmp", default=False, description="Enable openmp kokkos backend")
variant("hdf5", default=False, description="Enable hdf5")
@@ -45,7 +49,10 @@ class Spiner(CMakePackage, CudaPackage):
depends_on("kokkos@3.2.00: cuda_arch=" + _flag, when="+cuda+kokkos cuda_arch=" + _flag)
for _flag in ("~cuda", "+cuda", "~openmp", "+openmp"):
depends_on("kokkos@3.2.00: " + _flag, when="+kokkos" + _flag)
- depends_on("kokkos@3.2.00: ~shared+wrapper+cuda_lambda+cuda_relocatable_device_code", when="+cuda+kokkos")
+ depends_on(
+ "kokkos@3.2.00: ~shared+wrapper+cuda_lambda+cuda_relocatable_device_code",
+ when="+cuda+kokkos",
+ )
depends_on("hdf5+hl~mpi", when="+hdf5~mpi")
depends_on("hdf5+hl+mpi", when="+hdf5+mpi")
@@ -70,10 +77,10 @@ class Spiner(CMakePackage, CudaPackage):
self.define("BUILD_TESTING", self.run_tests),
self.define_from_variant("SPINER_USE_KOKKOS", "kokkos"),
self.define_from_variant("SPINER_USE_CUDA", "cuda"),
- self.define_from_variant("SPINER_USE_HDF", "hdf5")
+ self.define_from_variant("SPINER_USE_HDF", "hdf5"),
]
- if '+cuda' in self.spec:
- args.append(self.define(
- 'CMAKE_CUDA_ARCHITECTURES', self.spec.variants['cuda_arch'].value
- ))
+ if "+cuda" in self.spec:
+ args.append(
+ self.define("CMAKE_CUDA_ARCHITECTURES", self.spec.variants["cuda_arch"].value)
+ )
return args
diff --git a/var/spack/repos/builtin/packages/spiral-package-fftx/package.py b/var/spack/repos/builtin/packages/spiral-package-fftx/package.py
index c3bae59d6b..020a2dbebd 100644
--- a/var/spack/repos/builtin/packages/spiral-package-fftx/package.py
+++ b/var/spack/repos/builtin/packages/spiral-package-fftx/package.py
@@ -13,22 +13,22 @@ class SpiralPackageFftx(Package):
combined with DFT transforms."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/spiral-package-fftx/archive/refs/tags/1.0.0.tar.gz"
- git = "https://github.com/spiral-software/spiral-package-fftx.git"
+ url = "https://github.com/spiral-software/spiral-package-fftx/archive/refs/tags/1.0.0.tar.gz"
+ git = "https://github.com/spiral-software/spiral-package-fftx.git"
- maintainers = ['spiralgen']
- extends('spiral-software')
+ maintainers = ["spiralgen"]
+ extends("spiral-software")
- version('develop', branch='develop')
- version('main', branch='main')
- version('1.1.1', sha256='99ec7fab9274d378524b4933917fae23f9590255518c7a124cb46bd5e8d9af37')
- version('1.1.0', sha256='979d7e59fc39e7e5423bce64628cea467079667d75ce885febee7c42fa7164aa')
- version('1.0.0', sha256='9ed352049fcaab31a1a898149d16438c95a1656a2d24df6dee14e3b61efacb5c')
+ version("develop", branch="develop")
+ version("main", branch="main")
+ version("1.1.1", sha256="99ec7fab9274d378524b4933917fae23f9590255518c7a124cb46bd5e8d9af37")
+ version("1.1.0", sha256="979d7e59fc39e7e5423bce64628cea467079667d75ce885febee7c42fa7164aa")
+ version("1.0.0", sha256="9ed352049fcaab31a1a898149d16438c95a1656a2d24df6dee14e3b61efacb5c")
# FFTX package is an extension for Spiral (spec: spiral-software). Spiral finds
# extensions in the "namespaces/packages" folder. Install the tree in a similarly
# named folder so that when activated it'll get symlinked to the correct place.
def install(self, spec, prefix):
- spiral_pkgs = join_path(prefix, 'namespaces', 'packages', 'fftx')
- install_tree('.', spiral_pkgs)
+ spiral_pkgs = join_path(prefix, "namespaces", "packages", "fftx")
+ install_tree(".", spiral_pkgs)
diff --git a/var/spack/repos/builtin/packages/spiral-package-hcol/package.py b/var/spack/repos/builtin/packages/spiral-package-hcol/package.py
index 1f38190e3b..7ac1d466c8 100644
--- a/var/spack/repos/builtin/packages/spiral-package-hcol/package.py
+++ b/var/spack/repos/builtin/packages/spiral-package-hcol/package.py
@@ -11,14 +11,14 @@ class SpiralPackageHcol(Package):
(HCOL)."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/spiral-package-hcol/archive/refs/tags/1.0.0.tar.gz"
- git = "https://github.com/spiral-software/spiral-package-hcol.git"
+ url = "https://github.com/spiral-software/spiral-package-hcol/archive/refs/tags/1.0.0.tar.gz"
+ git = "https://github.com/spiral-software/spiral-package-hcol.git"
- maintainers = ['spiralgen']
- extends('spiral-software')
+ maintainers = ["spiralgen"]
+ extends("spiral-software")
- version('master', branch='master')
- version('1.0.0', sha256='18ae6f0a090de03723612a6c91ca17cf62971129540936d8c2738bd8f807a511')
+ version("master", branch="master")
+ version("1.0.0", sha256="18ae6f0a090de03723612a6c91ca17cf62971129540936d8c2738bd8f807a511")
# HCOL package is an extension for Spiral (spec: spiral-software). Extensions
# packages for Spiral are intended to be installed in the spiral-software prefix,
@@ -26,5 +26,5 @@ class SpiralPackageHcol(Package):
# name 'hcol'.
def install(self, spec, prefix):
- spiral_pkgs = join_path(prefix, 'namespaces', 'packages', 'hcol')
- install_tree('.', spiral_pkgs)
+ spiral_pkgs = join_path(prefix, "namespaces", "packages", "hcol")
+ install_tree(".", spiral_pkgs)
diff --git a/var/spack/repos/builtin/packages/spiral-package-mpi/package.py b/var/spack/repos/builtin/packages/spiral-package-mpi/package.py
index 15bb9a5642..bf9696194c 100644
--- a/var/spack/repos/builtin/packages/spiral-package-mpi/package.py
+++ b/var/spack/repos/builtin/packages/spiral-package-mpi/package.py
@@ -10,20 +10,20 @@ class SpiralPackageMpi(Package):
"""This is the SPIRAL package for MPI."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/spiral-package-mpi/archive/refs/tags/1.0.0.tar.gz"
- git = "https://github.com/spiral-software/spiral-package-mpi.git"
+ url = "https://github.com/spiral-software/spiral-package-mpi/archive/refs/tags/1.0.0.tar.gz"
+ git = "https://github.com/spiral-software/spiral-package-mpi.git"
- maintainers = ['spiralgen']
- extends('spiral-software')
+ maintainers = ["spiralgen"]
+ extends("spiral-software")
- version('develop', branch='develop')
- version('main', branch='main')
- version('1.0.0', sha256='64896a82aacce9cc8abe88b921e09ba7a5fceb8262e490f60a7088583c2c2151')
+ version("develop", branch="develop")
+ version("main", branch="main")
+ version("1.0.0", sha256="64896a82aacce9cc8abe88b921e09ba7a5fceb8262e490f60a7088583c2c2151")
# MPI package is an extension for Spiral (spec: spiral-software). Spiral finds
# extensions in the "namespaces/packages" folder. Install the tree in a similarly
# named folder so that when activated it'll get symlinked to the correct place.
def install(self, spec, prefix):
- spiral_pkgs = join_path(prefix, 'namespaces', 'packages', 'mpi')
- install_tree('.', spiral_pkgs)
+ spiral_pkgs = join_path(prefix, "namespaces", "packages", "mpi")
+ install_tree(".", spiral_pkgs)
diff --git a/var/spack/repos/builtin/packages/spiral-package-simt/package.py b/var/spack/repos/builtin/packages/spiral-package-simt/package.py
index b4257e8bc0..1652939f4e 100644
--- a/var/spack/repos/builtin/packages/spiral-package-simt/package.py
+++ b/var/spack/repos/builtin/packages/spiral-package-simt/package.py
@@ -11,21 +11,21 @@ class SpiralPackageSimt(Package):
threads, is used to generate code for GPUs and multi-threading aplications."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/spiral-package-simt/archive/refs/tags/1.0.0.tar.gz"
- git = "https://github.com/spiral-software/spiral-package-simt.git"
+ url = "https://github.com/spiral-software/spiral-package-simt/archive/refs/tags/1.0.0.tar.gz"
+ git = "https://github.com/spiral-software/spiral-package-simt.git"
- maintainers = ['spiralgen']
- extends('spiral-software')
+ maintainers = ["spiralgen"]
+ extends("spiral-software")
- version('develop', branch='develop')
- version('main', branch='main')
- version('1.1.0', sha256='4d6a5e586889b9e000968c99f3068ba86a12cc389665c6deadc4734117ef7a95')
- version('1.0.0', sha256='888ca01aa8fd5df80d6ae1bd64eb1b1e70240b6a36bc3437eb48f5a4b59c2d07')
+ version("develop", branch="develop")
+ version("main", branch="main")
+ version("1.1.0", sha256="4d6a5e586889b9e000968c99f3068ba86a12cc389665c6deadc4734117ef7a95")
+ version("1.0.0", sha256="888ca01aa8fd5df80d6ae1bd64eb1b1e70240b6a36bc3437eb48f5a4b59c2d07")
# SIMT package is an extension for Spiral (spec: spiral-software). Spiral finds
# extensions in the "namespaces/packages" folder. Install the tree in a similarly
# named folder so that when activated it'll get symlinked to the correct place.
def install(self, spec, prefix):
- spiral_pkgs = join_path(prefix, 'namespaces', 'packages', 'simt')
- install_tree('.', spiral_pkgs)
+ spiral_pkgs = join_path(prefix, "namespaces", "packages", "simt")
+ install_tree(".", spiral_pkgs)
diff --git a/var/spack/repos/builtin/packages/spiral-software/package.py b/var/spack/repos/builtin/packages/spiral-software/package.py
index 428a05d26f..dde4a4e1c3 100644
--- a/var/spack/repos/builtin/packages/spiral-software/package.py
+++ b/var/spack/repos/builtin/packages/spiral-software/package.py
@@ -12,21 +12,24 @@ class SpiralSoftware(CMakePackage):
spectrum of hardware platforms."""
homepage = "https://spiral.net"
- url = "https://github.com/spiral-software/spiral-software/archive/refs/tags/8.4.0.tar.gz"
- git = "https://github.com/spiral-software/spiral-software.git"
+ url = "https://github.com/spiral-software/spiral-software/archive/refs/tags/8.4.0.tar.gz"
+ git = "https://github.com/spiral-software/spiral-software.git"
- maintainers = ['spiralgen']
+ maintainers = ["spiralgen"]
- version('develop', branch='develop')
- version('master', branch='master')
- version('8.4.0', sha256='d0c58de65c678130eeee6b8b8b48061bbe463468990f66d9b452225ce46dee19')
- version('8.3.0', sha256='41cf0e7f14f9497e98353baa1ef4ca6204ce5ca525db8093f5bb44e89992abdf')
- version('8.2.1', sha256='78d7bb1c22a5b2d216eac7b6ddedd20b601ba40227e64f743cbb54d4e5a7794d')
- version('8.2.0', sha256='983f38d270ae2cb753c88cbce3f412e307c773807ad381acedeb9275afc0be32')
+ version("develop", branch="develop")
+ version("master", branch="master")
+ version("8.4.0", sha256="d0c58de65c678130eeee6b8b8b48061bbe463468990f66d9b452225ce46dee19")
+ version("8.3.0", sha256="41cf0e7f14f9497e98353baa1ef4ca6204ce5ca525db8093f5bb44e89992abdf")
+ version("8.2.1", sha256="78d7bb1c22a5b2d216eac7b6ddedd20b601ba40227e64f743cbb54d4e5a7794d")
+ version("8.2.0", sha256="983f38d270ae2cb753c88cbce3f412e307c773807ad381acedeb9275afc0be32")
- variant('build_type', default='Release',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'),
- description='Build the Release version by default')
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ description="Build the Release version by default",
+ )
extendable = True
@@ -34,12 +37,12 @@ class SpiralSoftware(CMakePackage):
def build(self, spec, prefix):
with working_dir(self.build_directory):
- make('all')
- make('install')
+ make("all")
+ make("install")
def install(self, spec, prefix):
with working_dir(self.stage.source_path):
- files = ('LICENSE', 'README.md', 'ReleaseNotes.md')
+ files = ("LICENSE", "README.md", "ReleaseNotes.md")
for fil in files:
install(fil, prefix)
@@ -54,22 +57,22 @@ class SpiralSoftware(CMakePackage):
print("self.stage.source_path = " + self.stage.source_path)
with working_dir(self.stage.source_path):
- install_tree('namespaces', prefix.namespaces)
- install_tree('profiler', prefix.profiler)
- install_tree('tests', prefix.tests)
- install_tree('bin', prefix.bin)
- install_tree('config', prefix.config)
+ install_tree("namespaces", prefix.namespaces)
+ install_tree("profiler", prefix.profiler)
+ install_tree("tests", prefix.tests)
+ install_tree("bin", prefix.bin)
+ install_tree("config", prefix.config)
- with working_dir(join_path(self.stage.source_path, 'gap')):
- install_tree('lib', prefix.gap.lib)
- install_tree('grp', prefix.gap.grp)
- install_tree('bin', prefix.gap.bin)
+ with working_dir(join_path(self.stage.source_path, "gap")):
+ install_tree("lib", prefix.gap.lib)
+ install_tree("grp", prefix.gap.grp)
+ install_tree("bin", prefix.gap.bin)
def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('SPIRAL_HOME', self.prefix)
+ env.set("SPIRAL_HOME", self.prefix)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.set('SPIRAL_HOME', self.prefix)
+ env.set("SPIRAL_HOME", self.prefix)
def setup_run_environment(self, env):
- env.set('SPIRAL_HOME', self.prefix)
+ env.set("SPIRAL_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/spla/package.py b/var/spack/repos/builtin/packages/spla/package.py
index 5c6ffc1163..44a6e114b0 100644
--- a/var/spack/repos/builtin/packages/spla/package.py
+++ b/var/spack/repos/builtin/packages/spla/package.py
@@ -12,77 +12,77 @@ class Spla(CMakePackage):
acceleration."""
homepage = "https://github.com/eth-cscs/spla"
- url = "https://github.com/eth-cscs/spla/archive/v1.0.0.tar.gz"
- git = 'https://github.com/eth-cscs/spla.git'
-
- maintainers = ['AdhocMan', 'haampie']
-
- version('1.5.4', sha256='de30e427d24c741e2e4fcae3d7668162056ac2574afed6522c0bb49d6f1d0f79')
- version('1.5.3', sha256='527c06e316ce46ec87309a16bfa4138b1abad23fd276fe789c78a2de84f05637')
- version('1.5.2', sha256='344c34986dfae182ec2e1eb539c9a57f75683aaa7a61a024fd0c594d81d97016')
- version('1.5.1', sha256='2021a30b7cbb10bd660e5d94e1cc7bc6a428c87ea507e09d1e57e455685da421')
- version('1.5.0', sha256='bea782d46ce615e1c40efc2bfb19d95e3b59f332fc9ca83ac7e6684b8ac2dd93')
- version('1.4.0', sha256='364a9fe759fddec8a0839cf79f1cf0619fc36f4d4c15f1c2b1f437249d7840c6')
- version('1.3.0', sha256='ff05a22bd655607ff941f3228ac8605a813e1eec6eaa49fbcf7b58a3a4cf5f00')
- version('1.2.1', sha256='4d7237f752dc6257778c84ee19c9635072b1cb8ce8d9ab6e34a047f63a736b29')
- version('1.2.0', sha256='96ddd13c155ef3d7e40f87a982cdb439cf9e720523e66b6d20125d346ffe8fca')
- version('1.1.1', sha256='907c374d9c53b21b9f67ce648e7b2b09c320db234a1013d3f05919cd93c95a4b')
- version('1.1.0', sha256='b0c4ebe4988abc2b3434e6c50e7eb0612f3f401bc1aa79ad58a6a92dc87fa65b')
- version('1.0.0', sha256='a0eb269b84d7525b223dc650de12170bba30fbb3ae4f93eb2b5cbdce335e4da1')
- version('develop', branch='develop')
- version('master', branch='master')
-
- variant('openmp', default=True, description="Build with OpenMP support")
- variant('static', default=False, description="Build as static library")
- variant('cuda', default=False, description="CUDA backend")
- variant('rocm', default=False, description="ROCm backend")
- variant('fortran', default=False, description="Build fortran module")
+ url = "https://github.com/eth-cscs/spla/archive/v1.0.0.tar.gz"
+ git = "https://github.com/eth-cscs/spla.git"
+
+ maintainers = ["AdhocMan", "haampie"]
+
+ version("1.5.4", sha256="de30e427d24c741e2e4fcae3d7668162056ac2574afed6522c0bb49d6f1d0f79")
+ version("1.5.3", sha256="527c06e316ce46ec87309a16bfa4138b1abad23fd276fe789c78a2de84f05637")
+ version("1.5.2", sha256="344c34986dfae182ec2e1eb539c9a57f75683aaa7a61a024fd0c594d81d97016")
+ version("1.5.1", sha256="2021a30b7cbb10bd660e5d94e1cc7bc6a428c87ea507e09d1e57e455685da421")
+ version("1.5.0", sha256="bea782d46ce615e1c40efc2bfb19d95e3b59f332fc9ca83ac7e6684b8ac2dd93")
+ version("1.4.0", sha256="364a9fe759fddec8a0839cf79f1cf0619fc36f4d4c15f1c2b1f437249d7840c6")
+ version("1.3.0", sha256="ff05a22bd655607ff941f3228ac8605a813e1eec6eaa49fbcf7b58a3a4cf5f00")
+ version("1.2.1", sha256="4d7237f752dc6257778c84ee19c9635072b1cb8ce8d9ab6e34a047f63a736b29")
+ version("1.2.0", sha256="96ddd13c155ef3d7e40f87a982cdb439cf9e720523e66b6d20125d346ffe8fca")
+ version("1.1.1", sha256="907c374d9c53b21b9f67ce648e7b2b09c320db234a1013d3f05919cd93c95a4b")
+ version("1.1.0", sha256="b0c4ebe4988abc2b3434e6c50e7eb0612f3f401bc1aa79ad58a6a92dc87fa65b")
+ version("1.0.0", sha256="a0eb269b84d7525b223dc650de12170bba30fbb3ae4f93eb2b5cbdce335e4da1")
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant("static", default=False, description="Build as static library")
+ variant("cuda", default=False, description="CUDA backend")
+ variant("rocm", default=False, description="ROCm backend")
+ variant("fortran", default=False, description="Build fortran module")
conflicts("+cuda", when="+rocm", msg="+cuda and +rocm are mutually exclusive")
- depends_on('mpi')
- depends_on('blas')
- depends_on('cmake@3.10:', type='build')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("cmake@3.10:", type="build")
- depends_on('cuda', when='+cuda')
- depends_on('rocblas', when='+rocm')
- depends_on('hip', when='+rocm')
+ depends_on("cuda", when="+cuda")
+ depends_on("rocblas", when="+rocm")
+ depends_on("hip", when="+rocm")
# Propagate openmp to blas
- depends_on('openblas threads=openmp', when='+openmp ^openblas')
- depends_on('amdblis threads=openmp', when='+openmp ^amdblis')
- depends_on('blis threads=openmp', when='+openmp ^blis')
- depends_on('intel-mkl threads=openmp', when='+openmp ^intel-mkl')
+ depends_on("openblas threads=openmp", when="+openmp ^openblas")
+ depends_on("amdblis threads=openmp", when="+openmp ^amdblis")
+ depends_on("blis threads=openmp", when="+openmp ^blis")
+ depends_on("intel-mkl threads=openmp", when="+openmp ^intel-mkl")
# Fix CMake find module for AMD BLIS,
# which uses a different library name for the multi-threaded version
- patch('0001-amd_blis.patch', when='@1.3.0:1.4.0 ^amdblis')
+ patch("0001-amd_blis.patch", when="@1.3.0:1.4.0 ^amdblis")
def cmake_args(self):
args = [
- self.define_from_variant('SPLA_OMP', 'openmp'),
- self.define_from_variant('SPLA_FORTRAN', 'fortran'),
- self.define_from_variant('SPLA_STATIC', 'static')
+ self.define_from_variant("SPLA_OMP", "openmp"),
+ self.define_from_variant("SPLA_FORTRAN", "fortran"),
+ self.define_from_variant("SPLA_STATIC", "static"),
]
- if '+cuda' in self.spec:
+ if "+cuda" in self.spec:
args += ["-DSPLA_GPU_BACKEND=CUDA"]
- elif '+rocm' in self.spec:
+ elif "+rocm" in self.spec:
args += ["-DSPLA_GPU_BACKEND=ROCM"]
else:
args += ["-DSPLA_GPU_BACKEND=OFF"]
- if self.spec['blas'].name == 'openblas':
+ if self.spec["blas"].name == "openblas":
args += ["-DSPLA_HOST_BLAS=OPENBLAS"]
- elif self.spec['blas'].name in ['amdblis', 'blis']:
+ elif self.spec["blas"].name in ["amdblis", "blis"]:
args += ["-DSPLA_HOST_BLAS=BLIS"]
- elif self.spec['blas'].name == 'atlas':
+ elif self.spec["blas"].name == "atlas":
args += ["-DSPLA_HOST_BLAS=ATLAS"]
- elif self.spec['blas'].name == 'intel-mkl':
+ elif self.spec["blas"].name == "intel-mkl":
args += ["-DSPLA_HOST_BLAS=MKL"]
- elif self.spec['blas'].name == 'netlib-lapack':
+ elif self.spec["blas"].name == "netlib-lapack":
args += ["-DSPLA_HOST_BLAS=GENERIC"]
- elif self.spec['blas'].name == 'cray-libsci':
+ elif self.spec["blas"].name == "cray-libsci":
args += ["-DSPLA_HOST_BLAS=CRAY_LIBSCI"]
return args
diff --git a/var/spack/repos/builtin/packages/spm/package.py b/var/spack/repos/builtin/packages/spm/package.py
index f538b52f0e..9231abe433 100644
--- a/var/spack/repos/builtin/packages/spm/package.py
+++ b/var/spack/repos/builtin/packages/spm/package.py
@@ -8,25 +8,28 @@ from spack.package import *
class Spm(Package):
"""Statistical Parametric Mapping refers to the construction and assessment
- of spatially extended statistical processes used to test hypotheses
- about functional imaging data. These ideas have been instantiated in
- software that is called SPM."""
+ of spatially extended statistical processes used to test hypotheses
+ about functional imaging data. These ideas have been instantiated in
+ software that is called SPM."""
homepage = "https://www.fil.ion.ucl.ac.uk/spm/"
- url = "https://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/spm12_r7219.zip"
+ url = "https://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/spm12_r7219.zip"
list_url = "https://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/previous/"
- version('12_r7219', sha256='b46fe8ce5ab537caeea7634c650f3a12fe2716f6a2e8ac15aa0d62b3652fe764',
- url='https://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/previous/spm12_r7219_R2010a.zip')
+ version(
+ "12_r7219",
+ sha256="b46fe8ce5ab537caeea7634c650f3a12fe2716f6a2e8ac15aa0d62b3652fe764",
+ url="https://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/previous/spm12_r7219_R2010a.zip",
+ )
- depends_on('zip', type='build')
- depends_on('matlab', type='run')
+ depends_on("zip", type="build")
+ depends_on("matlab", type="run")
def install(self, spec, prefix):
- unzip = which('unzip')
- unzip('spm12.ctf')
+ unzip = which("unzip")
+ unzip("spm12.ctf")
- bash = which('bash')
- bash('./run_spm12.sh')
+ bash = which("bash")
+ bash("./run_spm12.sh")
- install_tree('spm12', prefix)
+ install_tree("spm12", prefix)
diff --git a/var/spack/repos/builtin/packages/spot/package.py b/var/spack/repos/builtin/packages/spot/package.py
index 83e4de422f..01cb7e7a96 100644
--- a/var/spack/repos/builtin/packages/spot/package.py
+++ b/var/spack/repos/builtin/packages/spot/package.py
@@ -9,22 +9,23 @@ from spack.pkg.builtin.boost import Boost
class Spot(AutotoolsPackage):
"""Spot is a C++11 library for omega-automata manipulation and model
- checking."""
+ checking."""
+
homepage = "https://spot.lrde.epita.fr/"
- url = "https://www.lrde.epita.fr/dload/spot/spot-1.99.3.tar.gz"
+ url = "https://www.lrde.epita.fr/dload/spot/spot-1.99.3.tar.gz"
- version('2.9.4', sha256='e11208323baabe9b5f98098d4b9bb39803fb102a68abbbaf900f1fcd578f0f85')
- version('1.99.3', sha256='86964af559994af4451a8dca663a9e1db6e869ed60e747ab60ce72dddc31b61b')
- version('1.2.6', sha256='360678c75f6741f697e8e56cdbc9937f104eb723a839c3629f0dc5dc6de11bfc')
+ version("2.9.4", sha256="e11208323baabe9b5f98098d4b9bb39803fb102a68abbbaf900f1fcd578f0f85")
+ version("1.99.3", sha256="86964af559994af4451a8dca663a9e1db6e869ed60e747ab60ce72dddc31b61b")
+ version("1.2.6", sha256="360678c75f6741f697e8e56cdbc9937f104eb723a839c3629f0dc5dc6de11bfc")
- variant('python', default=True, description='Enable python API')
+ variant("python", default=True, description="Enable python API")
- depends_on("python@3.3:", when='@1.99.5: +python')
- depends_on("python@3.2:", when='@1.99: +python')
- depends_on("python@2:", when='+python')
- depends_on('boost', when='@:1.2.6')
+ depends_on("python@3.3:", when="@1.99.5: +python")
+ depends_on("python@3.2:", when="@1.99: +python")
+ depends_on("python@2:", when="+python")
+ depends_on("boost", when="@:1.2.6")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:1.2.6')
+ depends_on(Boost.with_default_variants, when="@:1.2.6")
diff --git a/var/spack/repos/builtin/packages/sprng/package.py b/var/spack/repos/builtin/packages/sprng/package.py
index 3b10b638cc..a68f071c5c 100644
--- a/var/spack/repos/builtin/packages/sprng/package.py
+++ b/var/spack/repos/builtin/packages/sprng/package.py
@@ -9,21 +9,21 @@ from spack.package import *
class Sprng(AutotoolsPackage):
"""SPRNG: A Scalable Library For Pseudorandom Number Generation
- Sprng is a distributed process-aware random number generator that
- avoids correlations in random number sequences across processes.
+ Sprng is a distributed process-aware random number generator that
+ avoids correlations in random number sequences across processes.
"""
- maintainers = ['kayarre']
+ maintainers = ["kayarre"]
homepage = "http://www.sprng.org"
- url = "http://www.sprng.org/Version5.0/sprng5.tar.bz2"
+ url = "http://www.sprng.org/Version5.0/sprng5.tar.bz2"
- version('5.0', sha256='9172a495472cc24893e7489ce9b5654300dc60cba4430e436ce50d28eb749a66')
+ version("5.0", sha256="9172a495472cc24893e7489ce9b5654300dc60cba4430e436ce50d28eb749a66")
- variant('mpi', default=True, description='Enable MPI support')
- variant('fortran', default=False, description='Enable Fortran support')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("fortran", default=False, description="Enable Fortran support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
def url_for_version(self, version):
url = "http://www.sprng.org/Version{0}/sprng{1}.tar.bz2"
@@ -31,44 +31,42 @@ class Sprng(AutotoolsPackage):
def configure_args(self):
configure_args = []
- configure_args += self.with_or_without('mpi')
- configure_args += self.with_or_without('fortran')
-
- if '+mpi' in self.spec:
- mpi_link_flags = self.spec['mpi:cxx'].libs.link_flags
- configure_args.append('LIBS={0}'.format(mpi_link_flags))
- configure_args.append('CC={0}'.format(self.spec['mpi'].mpicc))
- configure_args.append('CXX={0}'.format(self.spec['mpi'].mpicxx))
- if '+fortran' in self.spec:
- configure_args.append('FC={0}'.format(self.spec['mpi'].mpifc))
+ configure_args += self.with_or_without("mpi")
+ configure_args += self.with_or_without("fortran")
+
+ if "+mpi" in self.spec:
+ mpi_link_flags = self.spec["mpi:cxx"].libs.link_flags
+ configure_args.append("LIBS={0}".format(mpi_link_flags))
+ configure_args.append("CC={0}".format(self.spec["mpi"].mpicc))
+ configure_args.append("CXX={0}".format(self.spec["mpi"].mpicxx))
+ if "+fortran" in self.spec:
+ configure_args.append("FC={0}".format(self.spec["mpi"].mpifc))
return configure_args
# TODO: update after solution for virtual depedencies
- @run_before('configure')
+ @run_before("configure")
def mpicxx_check(self):
# print(self.spec['mpi:fortran'].libs.names)
- if '+mpi' in self.spec:
- if 'mpi_cxx' not in self.spec['mpi:cxx'].libs.names:
- msg = 'SPRNG requires a mpi Cxx bindings to build'
+ if "+mpi" in self.spec:
+ if "mpi_cxx" not in self.spec["mpi:cxx"].libs.names:
+ msg = "SPRNG requires a mpi Cxx bindings to build"
raise RuntimeError(msg)
- if '+fortran' in self.spec:
- if 'fmpi' not in self.spec['fortran'].libs.names:
- msg = ('SPRNG requires fortran mpi '
- 'libraries with mpi enabled')
+ if "+fortran" in self.spec:
+ if "fmpi" not in self.spec["fortran"].libs.names:
+ msg = "SPRNG requires fortran mpi " "libraries with mpi enabled"
raise RuntimeError(msg)
# raise RuntimeError("test")
# FIXME: update after features in #15702 are enabled
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def check_build(self):
-
def listisclose(a, b, rel_tol=1e-09, abs_tol=1.0e-20):
for ai, bi in zip(a, b):
- if (not abs(ai - bi) <=
- max(rel_tol * max(abs(ai), abs(bi)), abs_tol)):
+ if not abs(ai - bi) <= max(rel_tol * max(abs(ai), abs(bi)), abs_tol):
return False
return True
+
# Build and run a small program to test the installed sprng library
spec = self.spec
print("Checking sprng installation...")
@@ -96,39 +94,49 @@ int main() {
return 0;
}
"""
- expected = [0.504272, 0.558437, 0.000848,
- 0.707488, 0.664048, 0.005616,
- 0.060190, 0.415195, 0.933915,
- 0.085215, 0.456461, 0.244497,
- 0.626037, 0.917948, 0.135160
- ]
- with open("check.c", 'w') as f:
+ expected = [
+ 0.504272,
+ 0.558437,
+ 0.000848,
+ 0.707488,
+ 0.664048,
+ 0.005616,
+ 0.060190,
+ 0.415195,
+ 0.933915,
+ 0.085215,
+ 0.456461,
+ 0.244497,
+ 0.626037,
+ 0.917948,
+ 0.135160,
+ ]
+ with open("check.c", "w") as f:
f.write(source)
- if '+mpi' in spec:
- cc = Executable(spec['mpi'].mpicxx)
+ if "+mpi" in spec:
+ cc = Executable(spec["mpi"].mpicxx)
else:
cc = Executable(self.compiler.cxx)
- cc(*(['-c', "check.c"] + spec['sprng'].headers.cpp_flags.split()))
- cc(*(['-o', "check",
- "check.o"] + spec['sprng'].libs.ld_flags.split()))
+ cc(*(["-c", "check.c"] + spec["sprng"].headers.cpp_flags.split()))
+ cc(*(["-o", "check", "check.o"] + spec["sprng"].libs.ld_flags.split()))
try:
- check = Executable('./check')
+ check = Executable("./check")
output = check(output=str)
except ProcessError:
output = ""
- out2float = [float(num) for num in output.split(' ')]
+ out2float = [float(num) for num in output.split(" ")]
success = listisclose(expected, out2float)
if not success:
print("Produced output does not match expected output.")
print("Expected output:")
- print('-' * 80)
+ print("-" * 80)
print(expected)
- print('-' * 80)
+ print("-" * 80)
print("Produced output:")
- print('-' * 80)
+ print("-" * 80)
print(output)
- print('-' * 80)
+ print("-" * 80)
raise RuntimeError("sprng install check failed")
else:
print("test passed")
diff --git a/var/spack/repos/builtin/packages/sqlcipher/package.py b/var/spack/repos/builtin/packages/sqlcipher/package.py
index 084b299be2..7dcf2a0519 100644
--- a/var/spack/repos/builtin/packages/sqlcipher/package.py
+++ b/var/spack/repos/builtin/packages/sqlcipher/package.py
@@ -7,30 +7,35 @@ from spack.package import *
class Sqlcipher(AutotoolsPackage):
"""SQLCipher is an SQLite extension that provides 256 bit AES encryption
- of database files.
+ of database files.
"""
homepage = "https://www.zetetic.net/sqlcipher/"
- url = "https://github.com/sqlcipher/sqlcipher/archive/v4.4.1.tar.gz"
- git = "https://github.com/sqlcipher/sqlcipher.git"
+ url = "https://github.com/sqlcipher/sqlcipher/archive/v4.4.1.tar.gz"
+ git = "https://github.com/sqlcipher/sqlcipher.git"
- maintainers = ['rmsds']
+ maintainers = ["rmsds"]
- version('4.4.1', sha256='a36ed7c879a5e9af1054942201c75fc56f1db22e46bf6c2bbae3975dfeb6782d')
- version('4.4.0', sha256='0924b2ae1079717954498bda78a30de20ce2a6083076b16214a711567821d148')
- version('4.3.0', sha256='fccb37e440ada898902b294d02cde7af9e8706b185d77ed9f6f4d5b18b4c305f')
- version('4.2.0', sha256='105c1b813f848da038c03647a8bfc9d42fb46865e6aaf4edfd46ff3b18cdccfc')
- version('4.1.0', sha256='65144ca3ba4c0f9cd4bae8c20bb42f2b84424bf29d1ebcf04c44a728903b1faa')
- version('4.0.1', sha256='2f803017378c7479cb791be59b7bad8392a15acddbcc094e4433581fe421f4ca')
- version('4.0.0', sha256='c8f5fc6d800aae6107bf23900144804db5510c2676c93fbb269e4a0700837d68')
- version('3.4.2', sha256='69897a5167f34e8a84c7069f1b283aba88cdfa8ec183165c4a5da2c816cfaadb')
+ version("4.4.1", sha256="a36ed7c879a5e9af1054942201c75fc56f1db22e46bf6c2bbae3975dfeb6782d")
+ version("4.4.0", sha256="0924b2ae1079717954498bda78a30de20ce2a6083076b16214a711567821d148")
+ version("4.3.0", sha256="fccb37e440ada898902b294d02cde7af9e8706b185d77ed9f6f4d5b18b4c305f")
+ version("4.2.0", sha256="105c1b813f848da038c03647a8bfc9d42fb46865e6aaf4edfd46ff3b18cdccfc")
+ version("4.1.0", sha256="65144ca3ba4c0f9cd4bae8c20bb42f2b84424bf29d1ebcf04c44a728903b1faa")
+ version("4.0.1", sha256="2f803017378c7479cb791be59b7bad8392a15acddbcc094e4433581fe421f4ca")
+ version("4.0.0", sha256="c8f5fc6d800aae6107bf23900144804db5510c2676c93fbb269e4a0700837d68")
+ version("3.4.2", sha256="69897a5167f34e8a84c7069f1b283aba88cdfa8ec183165c4a5da2c816cfaadb")
- depends_on('openssl')
- depends_on('tcl', type=['build', ])
- depends_on('zlib')
+ depends_on("openssl")
+ depends_on(
+ "tcl",
+ type=[
+ "build",
+ ],
+ )
+ depends_on("zlib")
def configure_args(self):
args = []
- args.append('--enable-tempstore=yes')
- args.append('CFLAGS=-DSQLITE_HAS_CODEC')
+ args.append("--enable-tempstore=yes")
+ args.append("CFLAGS=-DSQLITE_HAS_CODEC")
return args
diff --git a/var/spack/repos/builtin/packages/sqlite-jdbc/package.py b/var/spack/repos/builtin/packages/sqlite-jdbc/package.py
index b99cc0635b..2fee717cb6 100644
--- a/var/spack/repos/builtin/packages/sqlite-jdbc/package.py
+++ b/var/spack/repos/builtin/packages/sqlite-jdbc/package.py
@@ -11,8 +11,8 @@ class SqliteJdbc(MavenPackage):
and creating SQLite database files in Java."""
homepage = "https://github.com/xerial/sqlite-jdbc"
- url = "https://github.com/xerial/sqlite-jdbc/archive/3.32.3.2.tar.gz"
+ url = "https://github.com/xerial/sqlite-jdbc/archive/3.32.3.2.tar.gz"
- version('3.32.3.2', sha256='9168ad02cb8b01449271eabd8a2a81461954c2c3fa854d3828a37dc07a1fefec')
- version('3.32.3.1', sha256='455e2a009101ede40f9510cf2c34e76f30d411f290957bfd9296da12d6e06591')
- version('3.32.3', sha256='19725caa4742960d385472a6094b8164bb8f29e816f04b830fa65c56517b4564')
+ version("3.32.3.2", sha256="9168ad02cb8b01449271eabd8a2a81461954c2c3fa854d3828a37dc07a1fefec")
+ version("3.32.3.1", sha256="455e2a009101ede40f9510cf2c34e76f30d411f290957bfd9296da12d6e06591")
+ version("3.32.3", sha256="19725caa4742960d385472a6094b8164bb8f29e816f04b830fa65c56517b4564")
diff --git a/var/spack/repos/builtin/packages/sqlite/package.py b/var/spack/repos/builtin/packages/sqlite/package.py
index 93c582b28a..2c58c5cfb1 100644
--- a/var/spack/repos/builtin/packages/sqlite/package.py
+++ b/var/spack/repos/builtin/packages/sqlite/package.py
@@ -14,77 +14,83 @@ class Sqlite(AutotoolsPackage):
"""SQLite is a C-language library that implements a small, fast,
self-contained, high-reliability, full-featured, SQL database engine.
"""
+
homepage = "https://www.sqlite.org"
- version('3.38.5', sha256='5af07de982ba658fd91a03170c945f99c971f6955bc79df3266544373e39869c')
- version('3.38.3', sha256='61f2dd93a2e38c33468b7125967c3218bf9f4dd8365def6025e314f905dc942e')
- version('3.37.2', sha256='4089a8d9b467537b3f246f217b84cd76e00b1d1a971fe5aca1e30e230e46b2d8')
- version('3.37.1', sha256='40f22a13bf38bbcd4c7ac79bcfb42a72d5aa40930c1f3f822e30ccce295f0f2e')
- version('3.37.0', sha256='731a4651d4d4b36fc7d21db586b2de4dd00af31fd54fb5a9a4b7f492057479f7')
- version('3.36.0', sha256='bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3')
- version('3.35.5', sha256='f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0')
- version('3.35.4', sha256='7771525dff0185bfe9638ccce23faa0e1451757ddbda5a6c853bb80b923a512d')
- version('3.35.3', sha256='ecbccdd440bdf32c0e1bb3611d635239e3b5af268248d130d0445a32daf0274b')
- version('3.34.0', sha256='bf6db7fae37d51754737747aaaf413b4d6b3b5fbacd52bdb2d0d6e5b2edd9aee')
- version('3.33.0', sha256='106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15')
- version('3.32.3', sha256='a31507123c1c2e3a210afec19525fd7b5bb1e19a6a34ae5b998fbd7302568b66')
- version('3.31.1', sha256='62284efebc05a76f909c580ffa5c008a7d22a1287285d68b7825a2b6b51949ae')
- version('3.30.1', sha256='8c5a50db089bd2a1b08dbc5b00d2027602ca7ff238ba7658fabca454d4298e60')
- version('3.30.0', sha256='e0a8cf4c7a87455e55e10413d16f358ca121ccec687fe1301eac95e2d340fc58')
- version('3.29.0', sha256='8e7c1e2950b5b04c5944a981cb31fffbf9d2ddda939d536838ebc854481afd5b')
- version('3.28.0', sha256='d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3')
- version('3.27.2', sha256='50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e')
- version('3.27.1', sha256='54a92b8ff73ff6181f89b9b0c08949119b99e8cccef93dbef90e852a8b10f4f8')
- version('3.27.0', sha256='dbfb0fb4fc32569fa427d3658e888f5e3b84a0952f706ccab1fd7c62a54f10f0')
- version('3.26.0', sha256='5daa6a3fb7d1e8c767cd59c4ded8da6e4b00c61d3b466d0685e35c4dd6d7bf5d')
+ version("3.38.5", sha256="5af07de982ba658fd91a03170c945f99c971f6955bc79df3266544373e39869c")
+ version("3.38.3", sha256="61f2dd93a2e38c33468b7125967c3218bf9f4dd8365def6025e314f905dc942e")
+ version("3.37.2", sha256="4089a8d9b467537b3f246f217b84cd76e00b1d1a971fe5aca1e30e230e46b2d8")
+ version("3.37.1", sha256="40f22a13bf38bbcd4c7ac79bcfb42a72d5aa40930c1f3f822e30ccce295f0f2e")
+ version("3.37.0", sha256="731a4651d4d4b36fc7d21db586b2de4dd00af31fd54fb5a9a4b7f492057479f7")
+ version("3.36.0", sha256="bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3")
+ version("3.35.5", sha256="f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0")
+ version("3.35.4", sha256="7771525dff0185bfe9638ccce23faa0e1451757ddbda5a6c853bb80b923a512d")
+ version("3.35.3", sha256="ecbccdd440bdf32c0e1bb3611d635239e3b5af268248d130d0445a32daf0274b")
+ version("3.34.0", sha256="bf6db7fae37d51754737747aaaf413b4d6b3b5fbacd52bdb2d0d6e5b2edd9aee")
+ version("3.33.0", sha256="106a2c48c7f75a298a7557bcc0d5f4f454e5b43811cc738b7ca294d6956bbb15")
+ version("3.32.3", sha256="a31507123c1c2e3a210afec19525fd7b5bb1e19a6a34ae5b998fbd7302568b66")
+ version("3.31.1", sha256="62284efebc05a76f909c580ffa5c008a7d22a1287285d68b7825a2b6b51949ae")
+ version("3.30.1", sha256="8c5a50db089bd2a1b08dbc5b00d2027602ca7ff238ba7658fabca454d4298e60")
+ version("3.30.0", sha256="e0a8cf4c7a87455e55e10413d16f358ca121ccec687fe1301eac95e2d340fc58")
+ version("3.29.0", sha256="8e7c1e2950b5b04c5944a981cb31fffbf9d2ddda939d536838ebc854481afd5b")
+ version("3.28.0", sha256="d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3")
+ version("3.27.2", sha256="50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e")
+ version("3.27.1", sha256="54a92b8ff73ff6181f89b9b0c08949119b99e8cccef93dbef90e852a8b10f4f8")
+ version("3.27.0", sha256="dbfb0fb4fc32569fa427d3658e888f5e3b84a0952f706ccab1fd7c62a54f10f0")
+ version("3.26.0", sha256="5daa6a3fb7d1e8c767cd59c4ded8da6e4b00c61d3b466d0685e35c4dd6d7bf5d")
# All versions prior to 3.26.0 are vulnerable to Magellan when FTS
# is enabled, see https://blade.tencent.com/magellan/index_en.html
- variant('functions', default=False, when='+dynamic_extensions',
- description='Provide mathematical and string extension functions for SQL '
- 'queries using the loadable extensions mechanism')
- variant('fts', default=True, description='Include fts4 and fts5 support')
- variant('column_metadata', default=True, description='Build with COLUMN_METADATA')
- variant('dynamic_extensions', default=True, description='Support loadable extensions')
- variant('rtree', default=True, description='Build with Rtree module')
-
- depends_on('readline')
- depends_on('zlib')
+ variant(
+ "functions",
+ default=False,
+ when="+dynamic_extensions",
+ description="Provide mathematical and string extension functions for SQL "
+ "queries using the loadable extensions mechanism",
+ )
+ variant("fts", default=True, description="Include fts4 and fts5 support")
+ variant("column_metadata", default=True, description="Build with COLUMN_METADATA")
+ variant("dynamic_extensions", default=True, description="Support loadable extensions")
+ variant("rtree", default=True, description="Build with Rtree module")
+
+ depends_on("readline")
+ depends_on("zlib")
# See https://blade.tencent.com/magellan/index_en.html
- conflicts('+fts', when='@:3.25')
+ conflicts("+fts", when="@:3.25")
- resource(name='extension-functions',
- url='https://www.sqlite.org/contrib/download/extension-functions.c/download/extension-functions.c?get=25',
- sha256='991b40fe8b2799edc215f7260b890f14a833512c9d9896aa080891330ffe4052',
- expand=False,
- placement={'extension-functions.c?get=25':
- 'extension-functions.c'},
- when='+functions')
+ resource(
+ name="extension-functions",
+ url="https://www.sqlite.org/contrib/download/extension-functions.c/download/extension-functions.c?get=25",
+ sha256="991b40fe8b2799edc215f7260b890f14a833512c9d9896aa080891330ffe4052",
+ expand=False,
+ placement={"extension-functions.c?get=25": "extension-functions.c"},
+ when="+functions",
+ )
# On some platforms (e.g., PPC) the include chain includes termios.h which
# defines a macro B0. Sqlite has a shell.c source file that declares a
# variable named B0 and will fail to compile when the macro is found. The
# following patch undefines the macro in shell.c
- patch('sqlite_b0.patch', when='@3.18.0:3.21.0')
+ patch("sqlite_b0.patch", when="@3.18.0:3.21.0")
# Starting version 3.17.0, SQLite uses compiler built-ins
# __builtin_sub_overflow(), __builtin_add_overflow(), and
# __builtin_mul_overflow(), which are not supported by Intel compiler.
# Starting version 3.21.0 SQLite doesn't use the built-ins if Intel
# compiler is used.
- patch('remove_overflow_builtins.patch', when='@3.17.0:3.20%intel')
+ patch("remove_overflow_builtins.patch", when="@3.17.0:3.20%intel")
- executables = ['^sqlite3$']
+ executables = ["^sqlite3$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
+ output = Executable(exe)("--version", output=str, error=str)
# `sqlite3 --version` prints only the version number, timestamp, commit
# hash(?) but not the program name. As a basic sanity check, the code
# calls re.match() and attempts to match the ISO 8601 date following the
# version number as well.
- match = re.match(r'(\S+) \d{4}-\d{2}-\d{2}', output)
+ match = re.match(r"(\S+) \d{4}-\d{2}-\d{2}", output)
return match.group(1) if match else None
@classmethod
@@ -92,13 +98,15 @@ class Sqlite(AutotoolsPackage):
all_variants = []
def call(exe, query):
- with NamedTemporaryFile(mode='w', buffering=1) as sqlite_stdin:
- sqlite_stdin.write(query + '\n')
+ with NamedTemporaryFile(mode="w", buffering=1) as sqlite_stdin:
+ sqlite_stdin.write(query + "\n")
e = Executable(exe)
- e(fail_on_error=False,
- input=sqlite_stdin.name,
- output=os.devnull,
- error=os.devnull)
+ e(
+ fail_on_error=False,
+ input=sqlite_stdin.name,
+ output=os.devnull,
+ error=os.devnull,
+ )
return e.returncode
def get_variant(name, has_variant):
@@ -110,130 +118,146 @@ class Sqlite(AutotoolsPackage):
# check for fts
def query_fts(version):
- return 'CREATE VIRTUAL TABLE name ' \
- 'USING fts{:d}(sender, title, body);'.format(version)
+ return "CREATE VIRTUAL TABLE name " "USING fts{:d}(sender, title, body);".format(
+ version
+ )
rc_fts4 = call(exe, query_fts(4))
rc_fts5 = call(exe, query_fts(5))
- variants.append(get_variant('fts', rc_fts4 == 0 and rc_fts5 == 0))
+ variants.append(get_variant("fts", rc_fts4 == 0 and rc_fts5 == 0))
# check for functions
# SQL query taken from extension-functions.c usage instructions
query_functions = "SELECT load_extension('libsqlitefunctions');"
rc_functions = call(exe, query_functions)
- variants.append(get_variant('functions', rc_functions == 0))
+ variants.append(get_variant("functions", rc_functions == 0))
# check for rtree
- query_rtree = 'CREATE VIRTUAL TABLE name USING rtree(id, x, y);'
+ query_rtree = "CREATE VIRTUAL TABLE name USING rtree(id, x, y);"
rc_rtree = call(exe, query_rtree)
- variants.append(get_variant('rtree', rc_rtree == 0))
+ variants.append(get_variant("rtree", rc_rtree == 0))
# TODO: column_metadata, dynamic_extensions
- all_variants.append(''.join(variants))
+ all_variants.append("".join(variants))
return all_variants
def url_for_version(self, version):
full_version = list(version.version) + [0 * (4 - len(version.version))]
- version_string\
- = str(full_version[0]) + \
- ''.join(['%02d' % v for v in full_version[1:]])
+ version_string = str(full_version[0]) + "".join(["%02d" % v for v in full_version[1:]])
# See https://www.sqlite.org/chronology.html for version -> year
# correspondence.
- if version >= Version('3.37.2'):
- year = '2022'
- elif version >= Version('3.34.1'):
- year = '2021'
- elif version >= Version('3.31.0'):
- year = '2020'
- elif version >= Version('3.27.0'):
- year = '2019'
- elif version >= Version('3.22.0'):
- year = '2018'
- elif version >= Version('3.16.0'):
- year = '2017'
- elif version >= Version('3.10.0'):
- year = '2016'
- elif version >= Version('3.8.8'):
- year = '2015'
- elif version >= Version('3.8.3'):
- year = '2014'
- elif version >= Version('3.7.16'):
- year = '2013'
+ if version >= Version("3.37.2"):
+ year = "2022"
+ elif version >= Version("3.34.1"):
+ year = "2021"
+ elif version >= Version("3.31.0"):
+ year = "2020"
+ elif version >= Version("3.27.0"):
+ year = "2019"
+ elif version >= Version("3.22.0"):
+ year = "2018"
+ elif version >= Version("3.16.0"):
+ year = "2017"
+ elif version >= Version("3.10.0"):
+ year = "2016"
+ elif version >= Version("3.8.8"):
+ year = "2015"
+ elif version >= Version("3.8.3"):
+ year = "2014"
+ elif version >= Version("3.7.16"):
+ year = "2013"
else:
- raise ValueError('Unsupported version {0}'.format(version))
- return 'https://www.sqlite.org/{0}/sqlite-autoconf-{1}.tar.gz'.format(year, version_string)
+ raise ValueError("Unsupported version {0}".format(version))
+ return "https://www.sqlite.org/{0}/sqlite-autoconf-{1}.tar.gz".format(year, version_string)
@property
def libs(self):
- return find_libraries('libsqlite3', root=self.prefix.lib)
+ return find_libraries("libsqlite3", root=self.prefix.lib)
def get_arch(self):
host_platform = spack.platforms.host()
- return str(host_platform.target('default_target'))
+ return str(host_platform.target("default_target"))
def configure_args(self):
args = []
- if self.get_arch() == 'ppc64le':
- args.append('--build=powerpc64le-redhat-linux-gnu')
+ if self.get_arch() == "ppc64le":
+ args.append("--build=powerpc64le-redhat-linux-gnu")
- args.extend(self.enable_or_disable('fts4', variant='fts'))
- args.extend(self.enable_or_disable('fts5', variant='fts'))
+ args.extend(self.enable_or_disable("fts4", variant="fts"))
+ args.extend(self.enable_or_disable("fts5", variant="fts"))
# Ref: https://www.sqlite.org/rtree.html
- args.extend(self.enable_or_disable('rtree'))
+ args.extend(self.enable_or_disable("rtree"))
# Ref: https://www.sqlite.org/loadext.html
- args.extend(self.enable_or_disable(
- 'dynamic-extensions', variant='dynamic_extensions'
- ))
+ args.extend(self.enable_or_disable("dynamic-extensions", variant="dynamic_extensions"))
# Ref: https://www.sqlite.org/compile.html
- if '+column_metadata' in self.spec:
- args.append('CPPFLAGS=-DSQLITE_ENABLE_COLUMN_METADATA=1')
+ if "+column_metadata" in self.spec:
+ args.append("CPPFLAGS=-DSQLITE_ENABLE_COLUMN_METADATA=1")
return args
- @run_after('install')
+ @run_after("install")
def build_libsqlitefunctions(self):
- if '+functions' in self.spec:
- libraryname = 'libsqlitefunctions.' + dso_suffix
+ if "+functions" in self.spec:
+ libraryname = "libsqlitefunctions." + dso_suffix
cc = Executable(spack_cc)
- cc(self.compiler.cc_pic_flag, '-lm', '-shared',
- 'extension-functions.c', '-o', libraryname)
+ cc(
+ self.compiler.cc_pic_flag,
+ "-lm",
+ "-shared",
+ "extension-functions.c",
+ "-o",
+ libraryname,
+ )
install(libraryname, self.prefix.lib)
def _test_example(self):
"""Ensure a sequence of commands on example db are successful."""
test_data_dir = self.test_suite.current_test_data_dir
- db_filename = test_data_dir.join('packages.db')
- exe = 'sqlite3'
+ db_filename = test_data_dir.join("packages.db")
+ exe = "sqlite3"
# Ensure the database only contains one table
- expected = 'packages'
+ expected = "packages"
reason = 'test: ensuring only table is "{0}"'.format(expected)
- self.run_test(exe, [db_filename, '.tables'], expected, installed=True,
- purpose=reason, skip_missing=False)
+ self.run_test(
+ exe,
+ [db_filename, ".tables"],
+ expected,
+ installed=True,
+ purpose=reason,
+ skip_missing=False,
+ )
# Ensure the database dump matches expectations, where special
# characters are replaced with spaces in the expected and actual
# output to avoid pattern errors.
- reason = 'test: checking dump output'
- expected = get_escaped_text_output(test_data_dir.join('dump.out'))
- self.run_test(exe, [db_filename, '.dump'], expected, installed=True,
- purpose=reason, skip_missing=False)
+ reason = "test: checking dump output"
+ expected = get_escaped_text_output(test_data_dir.join("dump.out"))
+ self.run_test(
+ exe,
+ [db_filename, ".dump"],
+ expected,
+ installed=True,
+ purpose=reason,
+ skip_missing=False,
+ )
def _test_version(self):
"""Perform version check on the installed package."""
- exe = 'sqlite3'
+ exe = "sqlite3"
vers_str = str(self.spec.version)
- reason = 'test: ensuring version of {0} is {1}'.format(exe, vers_str)
- self.run_test(exe, '-version', vers_str, installed=True,
- purpose=reason, skip_missing=False)
+ reason = "test: ensuring version of {0} is {1}".format(exe, vers_str)
+ self.run_test(
+ exe, "-version", vers_str, installed=True, purpose=reason, skip_missing=False
+ )
def test(self):
"""Perform smoke tests on the installed package."""
diff --git a/var/spack/repos/builtin/packages/sqlitebrowser/package.py b/var/spack/repos/builtin/packages/sqlitebrowser/package.py
index d3afcede9f..a0e1f2ca01 100644
--- a/var/spack/repos/builtin/packages/sqlitebrowser/package.py
+++ b/var/spack/repos/builtin/packages/sqlitebrowser/package.py
@@ -12,17 +12,17 @@ class Sqlitebrowser(CMakePackage):
compatible with SQLite."""
homepage = "https://sqlitebrowser.org"
- url = "https://github.com/sqlitebrowser/sqlitebrowser/archive/v3.10.1.tar.gz"
+ url = "https://github.com/sqlitebrowser/sqlitebrowser/archive/v3.10.1.tar.gz"
- version('3.10.1', sha256='36eb53bc75192c687dce298c79f1532c410ce4ecbeeacfb07b9d02a307f16bef')
+ version("3.10.1", sha256="36eb53bc75192c687dce298c79f1532c410ce4ecbeeacfb07b9d02a307f16bef")
- msg = 'sqlitebrowser requires C++11 support'
- conflicts('%gcc@:4.8.0', msg=msg)
- conflicts('%apple-clang@:3.9', msg=msg)
- conflicts('%clang@:3.2', msg=msg)
- conflicts('%intel@:12', msg=msg)
- conflicts('%xl@:13.0', msg=msg)
- conflicts('%xl_r@:13.0', msg=msg)
+ msg = "sqlitebrowser requires C++11 support"
+ conflicts("%gcc@:4.8.0", msg=msg)
+ conflicts("%apple-clang@:3.9", msg=msg)
+ conflicts("%clang@:3.2", msg=msg)
+ conflicts("%intel@:12", msg=msg)
+ conflicts("%xl@:13.0", msg=msg)
+ conflicts("%xl_r@:13.0", msg=msg)
- depends_on('sqlite@3:+functions')
- depends_on('qt@5.5:')
+ depends_on("sqlite@3:+functions")
+ depends_on("qt@5.5:")
diff --git a/var/spack/repos/builtin/packages/sqoop/package.py b/var/spack/repos/builtin/packages/sqoop/package.py
index 3fe586628c..e2db9575e1 100644
--- a/var/spack/repos/builtin/packages/sqoop/package.py
+++ b/var/spack/repos/builtin/packages/sqoop/package.py
@@ -13,10 +13,10 @@ class Sqoop(MavenPackage):
databases."""
homepage = "https://sqoop.apache.org/"
- url = "https://downloads.apache.org/sqoop/1.99.7/sqoop-1.99.7.tar.gz"
+ 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
- version('1.99.7', sha256='caca533554235d9e999435be59a13b5ecae514b3c914ca3b54868fca43a3b74a')
+ version("1.99.7", sha256="caca533554235d9e999435be59a13b5ecae514b3c914ca3b54868fca43a3b74a")
- depends_on('java@8', type=('build', 'run'))
+ depends_on("java@8", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/squashfs-mount/package.py b/var/spack/repos/builtin/packages/squashfs-mount/package.py
index 0a6fc7b548..bc10cda0b4 100644
--- a/var/spack/repos/builtin/packages/squashfs-mount/package.py
+++ b/var/spack/repos/builtin/packages/squashfs-mount/package.py
@@ -11,16 +11,16 @@ class SquashfsMount(MakefilePackage):
squashfuse."""
homepage = "https://github.com/eth-cscs/squashfs-mount"
- url = "https://github.com/eth-cscs/squashfs-mount/archive/refs/tags/v0.1.0.tar.gz"
+ url = "https://github.com/eth-cscs/squashfs-mount/archive/refs/tags/v0.1.0.tar.gz"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('0.1.0', sha256='37841ede7a7486d437fd06ae13e432560f81806f69addc72cfc8e564c8727bc6')
+ version("0.1.0", sha256="37841ede7a7486d437fd06ae13e432560f81806f69addc72cfc8e564c8727bc6")
- variant('suid', default=False, description='Make squashfs-mount a suid executable')
+ variant("suid", default=False, description="Make squashfs-mount a suid executable")
- depends_on('util-linux', type='link')
+ depends_on("util-linux", type="link")
def install(self, spec, prefix):
- tgt = 'install' if '~suid' in spec else 'install-suid'
- make(tgt, 'prefix=' + prefix)
+ tgt = "install" if "~suid" in spec else "install-suid"
+ make(tgt, "prefix=" + prefix)
diff --git a/var/spack/repos/builtin/packages/squashfs/package.py b/var/spack/repos/builtin/packages/squashfs/package.py
index 7561cb175d..85b51fb07b 100644
--- a/var/spack/repos/builtin/packages/squashfs/package.py
+++ b/var/spack/repos/builtin/packages/squashfs/package.py
@@ -9,64 +9,112 @@ from spack.package import *
class Squashfs(MakefilePackage):
"""Squashfs - read only compressed filesystem"""
- homepage = 'http://squashfs.sourceforge.net'
- url = 'https://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.3/squashfs4.3.tar.gz'
+ homepage = "http://squashfs.sourceforge.net"
+ url = "https://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.3/squashfs4.3.tar.gz"
# version sha1
- version('4.5.1', sha256='277b6e7f75a4a57f72191295ae62766a10d627a4f5e5f19eadfbc861378deea7', url='https://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.5.1/squashfs-tools-4.5.1.tar.gz')
- version('4.5', sha256='c493b29c3d152789d04fae5e6532499d96ce3f79256bc6df4f97b5170c88e979', deprecated=True)
- version('4.4', sha256='a981b3f3f2054b5a2e658851a3c06a2460ad04a9a8a645e0afe063a63fdbb07e', deprecated=True)
- version('4.3', sha256='0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6', deprecated=True)
- version('4.2', sha256='d9e0195aa922dbb665ed322b9aaa96e04a476ee650f39bbeadb0d00b24022e96', deprecated=True)
- version('4.1', sha256='3a870d065a25b3f5467bc6d9ed34340befab51a3f9e4b7e3792ea0ff4e06046a', deprecated=True)
- version('4.0', sha256='18948edbe06bac2c4307eea99bfb962643e4b82e5b7edd541b4d743748e12e21', deprecated=True)
+ version(
+ "4.5.1",
+ sha256="277b6e7f75a4a57f72191295ae62766a10d627a4f5e5f19eadfbc861378deea7",
+ url="https://downloads.sourceforge.net/project/squashfs/squashfs/squashfs4.5.1/squashfs-tools-4.5.1.tar.gz",
+ )
+ version(
+ "4.5",
+ sha256="c493b29c3d152789d04fae5e6532499d96ce3f79256bc6df4f97b5170c88e979",
+ deprecated=True,
+ )
+ version(
+ "4.4",
+ sha256="a981b3f3f2054b5a2e658851a3c06a2460ad04a9a8a645e0afe063a63fdbb07e",
+ deprecated=True,
+ )
+ version(
+ "4.3",
+ sha256="0d605512437b1eb800b4736791559295ee5f60177e102e4d4ccd0ee241a5f3f6",
+ deprecated=True,
+ )
+ version(
+ "4.2",
+ sha256="d9e0195aa922dbb665ed322b9aaa96e04a476ee650f39bbeadb0d00b24022e96",
+ deprecated=True,
+ )
+ version(
+ "4.1",
+ sha256="3a870d065a25b3f5467bc6d9ed34340befab51a3f9e4b7e3792ea0ff4e06046a",
+ deprecated=True,
+ )
+ version(
+ "4.0",
+ sha256="18948edbe06bac2c4307eea99bfb962643e4b82e5b7edd541b4d743748e12e21",
+ deprecated=True,
+ )
- variant('gzip', default=True, description='Enable gzip compression support')
- variant('lz4', default=False, description='Enable LZ4 compression support')
- variant('lzo', default=False, description='Enable LZO compression support')
- variant('xz', default=False, description='Enable xz compression support')
- variant('zstd', default=False, description='Enable Zstandard/zstd support')
- variant('default_compression', default='gzip', values=('gzip', 'lz4', 'lzo', 'xz', 'zstd'),
- multi=False, description='Default compression algorithm')
+ variant("gzip", default=True, description="Enable gzip compression support")
+ variant("lz4", default=False, description="Enable LZ4 compression support")
+ variant("lzo", default=False, description="Enable LZO compression support")
+ variant("xz", default=False, description="Enable xz compression support")
+ variant("zstd", default=False, description="Enable Zstandard/zstd support")
+ variant(
+ "default_compression",
+ default="gzip",
+ values=("gzip", "lz4", "lzo", "xz", "zstd"),
+ multi=False,
+ description="Default compression algorithm",
+ )
- conflicts('squashfs~gzip default_compression=gzip', msg='Cannot set default compression to missing algorithm')
- conflicts('squashfs~lz4 default_compression=lz4', msg='Cannot set default compression to missing algorithm')
- conflicts('squashfs~lzo default_compression=lzo', msg='Cannot set default compression to missing algorithm')
- conflicts('squashfs~xz default_compression=xz', msg='Cannot set default compression to missing algorithm')
- conflicts('squashfs~zstd default_compression=zstd', msg='Cannot set default compression to missing algorithm')
+ conflicts(
+ "squashfs~gzip default_compression=gzip",
+ msg="Cannot set default compression to missing algorithm",
+ )
+ conflicts(
+ "squashfs~lz4 default_compression=lz4",
+ msg="Cannot set default compression to missing algorithm",
+ )
+ conflicts(
+ "squashfs~lzo default_compression=lzo",
+ msg="Cannot set default compression to missing algorithm",
+ )
+ conflicts(
+ "squashfs~xz default_compression=xz",
+ msg="Cannot set default compression to missing algorithm",
+ )
+ conflicts(
+ "squashfs~zstd default_compression=zstd",
+ msg="Cannot set default compression to missing algorithm",
+ )
- depends_on('zlib', when='+gzip')
- depends_on('lz4', when='+lz4')
- depends_on('lzo', when='+lzo')
- depends_on('xz', when='+xz')
- depends_on('zstd', when='+zstd')
+ depends_on("zlib", when="+gzip")
+ depends_on("lz4", when="+lz4")
+ depends_on("lzo", when="+lzo")
+ depends_on("xz", when="+xz")
+ depends_on("zstd", when="+zstd")
# patch from
# https://github.com/plougher/squashfs-tools/commit/fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5.patch
- patch('gcc-10.patch', when="@:4.4 %gcc@10:")
- patch('gcc-10.patch', when="@:4.4 %clang@11:")
+ patch("gcc-10.patch", when="@:4.4 %gcc@10:")
+ patch("gcc-10.patch", when="@:4.4 %clang@11:")
def make_options(self, spec):
- default = spec.variants['default_compression'].value
+ default = spec.variants["default_compression"].value
return [
- 'GZIP_SUPPORT={0}'.format(1 if '+gzip' in spec else 0),
- 'LZ4_SUPPORT={0}' .format(1 if '+lz4' in spec else 0),
- 'LZO_SUPPORT={0}' .format(1 if '+lzo' in spec else 0),
- 'XZ_SUPPORT={0}' .format(1 if '+xz' in spec else 0),
- 'ZSTD_SUPPORT={0}'.format(1 if '+zstd' in spec else 0),
- 'COMP_DEFAULT={0}'.format(default),
+ "GZIP_SUPPORT={0}".format(1 if "+gzip" in spec else 0),
+ "LZ4_SUPPORT={0}".format(1 if "+lz4" in spec else 0),
+ "LZO_SUPPORT={0}".format(1 if "+lzo" in spec else 0),
+ "XZ_SUPPORT={0}".format(1 if "+xz" in spec else 0),
+ "ZSTD_SUPPORT={0}".format(1 if "+zstd" in spec else 0),
+ "COMP_DEFAULT={0}".format(default),
]
def build(self, spec, prefix):
options = self.make_options(spec)
- with working_dir('squashfs-tools'):
+ with working_dir("squashfs-tools"):
make(*options)
def install(self, spec, prefix):
options = self.make_options(spec)
- if '@4.5.1:' in spec:
- prefix_arg = 'INSTALL_PREFIX={}'.format(prefix)
+ if "@4.5.1:" in spec:
+ prefix_arg = "INSTALL_PREFIX={}".format(prefix)
else:
- prefix_arg = 'INSTALL_DIR={}'.format(prefix.bin)
- with working_dir('squashfs-tools'):
- make('install', prefix_arg, *options)
+ prefix_arg = "INSTALL_DIR={}".format(prefix.bin)
+ with working_dir("squashfs-tools"):
+ make("install", prefix_arg, *options)
diff --git a/var/spack/repos/builtin/packages/squashfuse/package.py b/var/spack/repos/builtin/packages/squashfuse/package.py
index 7ea6222f35..5e54b97485 100644
--- a/var/spack/repos/builtin/packages/squashfuse/package.py
+++ b/var/spack/repos/builtin/packages/squashfuse/package.py
@@ -10,62 +10,62 @@ class Squashfuse(AutotoolsPackage):
"""squashfuse - Mount SquashFS archives using FUSE"""
homepage = "https://github.com/vasi/squashfuse"
- url = "https://github.com/vasi/squashfuse/releases/download/0.1.104/squashfuse-0.1.104.tar.gz"
- git = "https://github.com/vasi/squashfuse.git"
+ url = "https://github.com/vasi/squashfuse/releases/download/0.1.104/squashfuse-0.1.104.tar.gz"
+ git = "https://github.com/vasi/squashfuse.git"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('master', branch='master')
- version('0.1.104', sha256='aa52460559e0d0b1753f6b1af5c68cfb777ca5a13913285e93f4f9b7aa894b3a')
- version('0.1.103', sha256='42d4dfd17ed186745117cfd427023eb81effff3832bab09067823492b6b982e7')
+ version("master", branch="master")
+ version("0.1.104", sha256="aa52460559e0d0b1753f6b1af5c68cfb777ca5a13913285e93f4f9b7aa894b3a")
+ version("0.1.103", sha256="42d4dfd17ed186745117cfd427023eb81effff3832bab09067823492b6b982e7")
- variant('shared', default=True, description='Enable shared libraries')
- variant('static', default=True, description='Enable static libraries')
- variant('min_size', default=False, description='Build small binaries')
+ variant("shared", default=True, description="Enable shared libraries")
+ variant("static", default=True, description="Enable static libraries")
+ variant("min_size", default=False, description="Build small binaries")
- variant('zlib', default=True, description='Enable zlib/gzip compression support')
- variant('lz4', default=True, description='Enable LZ4 compression support')
- variant('lzo', default=True, description='Enable LZO compression support')
- variant('xz', default=True, description='Enable xz compression support')
- variant('zstd', default=True, description='Enable Zstandard/zstd support')
+ variant("zlib", default=True, description="Enable zlib/gzip compression support")
+ variant("lz4", default=True, description="Enable LZ4 compression support")
+ variant("lzo", default=True, description="Enable LZO compression support")
+ variant("xz", default=True, description="Enable xz compression support")
+ variant("zstd", default=True, description="Enable Zstandard/zstd support")
- conflicts('~shared', when='~static', msg="Enable shared, static or both")
+ conflicts("~shared", when="~static", msg="Enable shared, static or both")
- depends_on('fuse@2.5:')
- depends_on('fuse@:2', when='@:0.1.103')
+ depends_on("fuse@2.5:")
+ depends_on("fuse@:2", when="@:0.1.103")
# Note: typically libfuse is external, but this implies that you have to make
# pkg-config external too, because spack's pkg-config doesn't know how to
# locate system pkg-config's fuse.pc/fuse3.pc
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# compression libs
- depends_on('zlib', when='+zlib')
- depends_on('lz4', when='+lz4')
- depends_on('lzo', when='+lzo')
- depends_on('xz', when='+xz')
- depends_on('zstd', when='+zstd')
+ depends_on("zlib", when="+zlib")
+ depends_on("lz4", when="+lz4")
+ depends_on("lzo", when="+lzo")
+ depends_on("xz", when="+xz")
+ depends_on("zstd", when="+zstd")
- depends_on('m4', type='build', when='@master')
- 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("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
def flag_handler(self, name, flags):
- if name == 'cflags' and '+min_size' in self.spec:
- if '-Os' in self.compiler.opt_flags:
- flags.append('-Os')
+ if name == "cflags" and "+min_size" in self.spec:
+ if "-Os" in self.compiler.opt_flags:
+ flags.append("-Os")
return (None, None, flags)
return (flags, None, None)
def configure_args(self):
- args = ['--disable-demo']
- args += self.enable_or_disable('shared')
- args += self.enable_or_disable('static')
- args += self.with_or_without('zlib', activation_value='prefix')
- args += self.with_or_without('lz4', activation_value='prefix')
- args += self.with_or_without('lzo', activation_value='prefix')
- args += self.with_or_without('xz', activation_value='prefix')
- args += self.with_or_without('zstd', activation_value='prefix')
+ args = ["--disable-demo"]
+ args += self.enable_or_disable("shared")
+ args += self.enable_or_disable("static")
+ args += self.with_or_without("zlib", activation_value="prefix")
+ args += self.with_or_without("lz4", activation_value="prefix")
+ args += self.with_or_without("lzo", activation_value="prefix")
+ args += self.with_or_without("xz", activation_value="prefix")
+ args += self.with_or_without("zstd", activation_value="prefix")
return args
diff --git a/var/spack/repos/builtin/packages/squid/package.py b/var/spack/repos/builtin/packages/squid/package.py
index c215ed9091..d73417a202 100644
--- a/var/spack/repos/builtin/packages/squid/package.py
+++ b/var/spack/repos/builtin/packages/squid/package.py
@@ -10,6 +10,6 @@ class Squid(AutotoolsPackage):
"""C function library for sequence analysis."""
homepage = "http://eddylab.org/software.html"
- url = "http://eddylab.org/software/squid/squid-1.9g.tar.gz"
+ url = "http://eddylab.org/software/squid/squid-1.9g.tar.gz"
- version('1.9g', sha256='302f42e8794aa4dbcfa0996c14fb7a70a7c4397fc45c2bbd2748055460d8dca7')
+ version("1.9g", sha256="302f42e8794aa4dbcfa0996c14fb7a70a7c4397fc45c2bbd2748055460d8dca7")
diff --git a/var/spack/repos/builtin/packages/sratoolkit/package.py b/var/spack/repos/builtin/packages/sratoolkit/package.py
index 903ca526e7..eaaa41c6a4 100644
--- a/var/spack/repos/builtin/packages/sratoolkit/package.py
+++ b/var/spack/repos/builtin/packages/sratoolkit/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Sratoolkit(Package):
"""The NCBI SRA Toolkit enables reading ("dumping") of sequencing files
- from the SRA database and writing ("loading") files into the .sra
- format."""
+ from the SRA database and writing ("loading") files into the .sra
+ format."""
homepage = "https://trace.ncbi.nlm.nih.gov/Traces/sra"
- url = "https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.0/sratoolkit.3.0.0-centos_linux64.tar.gz"
+ url = "https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.0/sratoolkit.3.0.0-centos_linux64.tar.gz"
- maintainers = ['robqiao']
+ maintainers = ["robqiao"]
- version('3.0.0', sha256='89d11fc284e32d38b6639c551df6d658075cd268913f8ba2af65026e4a161dfe')
- version('2.10.9', sha256='2c849b4b9865737ff17732e3befa70718616ce31cac98e8a61b1c5ed5a6514c5')
- version('2.10.7', sha256='b3f319974f0c7a318554d6383a13dd30f7d447533d92b6fd3bd057d3524e0140')
- version('2.9.6', sha256='faab687c822d0c02956f73f35e04875dde420ce9f602b88bbf3f2e8d79a17155')
- version('2.9.2', sha256='17dbe13aa1ed7955d31e1e76e8b62786e80a77e9ed9d396631162dc3ad8b716d')
- version('2.8.2-1', sha256='b053061aae7c6d00162fe0f514be4128a60365b4b2b5b36e7f4798b348b55cf5')
+ version("3.0.0", sha256="89d11fc284e32d38b6639c551df6d658075cd268913f8ba2af65026e4a161dfe")
+ version("2.10.9", sha256="2c849b4b9865737ff17732e3befa70718616ce31cac98e8a61b1c5ed5a6514c5")
+ version("2.10.7", sha256="b3f319974f0c7a318554d6383a13dd30f7d447533d92b6fd3bd057d3524e0140")
+ version("2.9.6", sha256="faab687c822d0c02956f73f35e04875dde420ce9f602b88bbf3f2e8d79a17155")
+ version("2.9.2", sha256="17dbe13aa1ed7955d31e1e76e8b62786e80a77e9ed9d396631162dc3ad8b716d")
+ version("2.8.2-1", sha256="b053061aae7c6d00162fe0f514be4128a60365b4b2b5b36e7f4798b348b55cf5")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin, symlinks=True)
- install_tree('example', prefix.example)
- install_tree('schema', prefix.schema)
+ install_tree("bin", prefix.bin, symlinks=True)
+ install_tree("example", prefix.example)
+ install_tree("schema", prefix.schema)
diff --git a/var/spack/repos/builtin/packages/srilm/package.py b/var/spack/repos/builtin/packages/srilm/package.py
index 9b80aebfaa..b03822678d 100644
--- a/var/spack/repos/builtin/packages/srilm/package.py
+++ b/var/spack/repos/builtin/packages/srilm/package.py
@@ -11,83 +11,86 @@ from spack.package import *
class Srilm(MakefilePackage):
"""SRILM (SRI Language Modeling Toolkit) is a toolkit for building
- and applying statistical language models (LMs), primarily for
- use in speech recognition, statistical tagging and segmentation,
- and machine translation."""
+ and applying statistical language models (LMs), primarily for
+ use in speech recognition, statistical tagging and segmentation,
+ and machine translation."""
homepage = "http://www.speech.sri.com/projects/srilm/"
- url = "file://{0}/srilm-1.7.3.tar.gz".format(os.getcwd())
+ url = "file://{0}/srilm-1.7.3.tar.gz".format(os.getcwd())
manual_download = True
- maintainers = ['RemiLacroix-IDRIS']
+ maintainers = ["RemiLacroix-IDRIS"]
- version('1.7.3', sha256='01eaf12d0f35b96d2b28ad0d41c9f915dd22b534a7abde3fbb9e35fb6c19200e')
+ version("1.7.3", sha256="01eaf12d0f35b96d2b28ad0d41c9f915dd22b534a7abde3fbb9e35fb6c19200e")
- variant('openmp', default=False, description='Enable OpenMP')
- variant('pic', default=False, description='Build position independent code')
- variant('liblbfgs', default=False, description='Enable libLBFGS')
+ variant("openmp", default=False, description="Enable OpenMP")
+ variant("pic", default=False, description="Build position independent code")
+ variant("liblbfgs", default=False, description="Enable libLBFGS")
- depends_on('iconv')
- depends_on('liblbfgs', when='+liblbfgs')
- depends_on('gawk', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
- depends_on('binutils', type='build') # for c++filt
+ depends_on("iconv")
+ depends_on("liblbfgs", when="+liblbfgs")
+ depends_on("gawk", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
+ depends_on("binutils", type="build") # for c++filt
@property
def machine_type(self):
- return Executable('sbin/machine-type')(output=str, error=str).strip()
+ return Executable("sbin/machine-type")(output=str, error=str).strip()
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter(r'# SRILM\s*=.*', 'SRILM = {0}'.format(self.build_directory))
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"# SRILM\s*=.*", "SRILM = {0}".format(self.build_directory))
- makefile_common = FileFilter('common/Makefile.common.variables')
- makefile_common.filter(r'GAWK\s*=.*', 'GAWK = {0}'.format(which('gawk')))
- makefile_common.filter(r'PERL\s*=.*', 'PERL = {0}'.format(which('perl')))
- makefile_common.filter(r'PIC_FLAG\s*=.*',
- 'PIC_FLAG = {0}'.format(self.compiler.cc_pic_flag))
+ makefile_common = FileFilter("common/Makefile.common.variables")
+ makefile_common.filter(r"GAWK\s*=.*", "GAWK = {0}".format(which("gawk")))
+ makefile_common.filter(r"PERL\s*=.*", "PERL = {0}".format(which("perl")))
+ makefile_common.filter(
+ r"PIC_FLAG\s*=.*", "PIC_FLAG = {0}".format(self.compiler.cc_pic_flag)
+ )
- makefile_machine_fn = 'common/Makefile.machine.{0}'.format(self.machine_type)
+ makefile_machine_fn = "common/Makefile.machine.{0}".format(self.machine_type)
makefile_machine = FileFilter(makefile_machine_fn)
- makefile_machine.filter(r'CC\s*=.*', 'CC = {0}'.format(spack_cc))
- makefile_machine.filter(r'CXX\s*=.*',
- 'CXX = {0} -DINSTANTIATE_TEMPLATES'.format(spack_cxx))
-
- omp_flag = self.compiler.openmp_flag if '+openmp' in spec else ''
- makefile_machine.filter(r'ADDITIONAL_CFLAGS\s*=.*',
- 'ADDITIONAL_CFLAGS = {0}'.format(omp_flag))
- makefile_machine.filter(r'ADDITIONAL_CXXFLAGS\s*=.*',
- 'ADDITIONAL_CXXFLAGS = {0}'.format(omp_flag))
- makefile_machine.filter(r'(SYS_LIBRARIES\s*=.*)', r'\1 -liconv')
+ makefile_machine.filter(r"CC\s*=.*", "CC = {0}".format(spack_cc))
+ makefile_machine.filter(
+ r"CXX\s*=.*", "CXX = {0} -DINSTANTIATE_TEMPLATES".format(spack_cxx)
+ )
+
+ omp_flag = self.compiler.openmp_flag if "+openmp" in spec else ""
+ makefile_machine.filter(
+ r"ADDITIONAL_CFLAGS\s*=.*", "ADDITIONAL_CFLAGS = {0}".format(omp_flag)
+ )
+ makefile_machine.filter(
+ r"ADDITIONAL_CXXFLAGS\s*=.*", "ADDITIONAL_CXXFLAGS = {0}".format(omp_flag)
+ )
+ makefile_machine.filter(r"(SYS_LIBRARIES\s*=.*)", r"\1 -liconv")
# Make sure the machine specific Makefile doesn't override those
- makefile_machine.filter(r'GAWK\s*=.*', '')
- makefile_machine.filter(r'PERL\s*=.*', '')
- makefile_machine.filter(r'PIC_FLAG\s*=.*', '')
+ makefile_machine.filter(r"GAWK\s*=.*", "")
+ makefile_machine.filter(r"PERL\s*=.*", "")
+ makefile_machine.filter(r"PIC_FLAG\s*=.*", "")
- with open(makefile_machine_fn, 'a') as makefile_machine:
+ with open(makefile_machine_fn, "a") as makefile_machine:
# TCL is only needed for tests so disable it
- makefile_machine.write('\nNO_TCL = 1\n')
- if '+pic' in spec:
- makefile_machine.write('MAKE_PIC = 1\n')
- if '+liblbfgs' in spec:
- makefile_machine.write('HAVE_LIBLBFGS = 1\n')
+ makefile_machine.write("\nNO_TCL = 1\n")
+ if "+pic" in spec:
+ makefile_machine.write("MAKE_PIC = 1\n")
+ if "+liblbfgs" in spec:
+ makefile_machine.write("HAVE_LIBLBFGS = 1\n")
@property
def build_targets(self):
- return ['MACHINE_TYPE={0}'.format(self.machine_type)]
+ return ["MACHINE_TYPE={0}".format(self.machine_type)]
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- install_tree('man', prefix.man)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ install_tree("man", prefix.man)
def setup_run_environment(self, env):
# Most executable files are in a subfolder named based on
# the detected machine type. Unfortunately we cannot use
# `machine_type` at this point but we can just guess as
# there is only one subfolder.
- env.prepend_path('PATH',
- glob.glob(join_path(self.prefix.bin, '*', ''))[0])
+ env.prepend_path("PATH", glob.glob(join_path(self.prefix.bin, "*", ""))[0])
diff --git a/var/spack/repos/builtin/packages/sse2neon/package.py b/var/spack/repos/builtin/packages/sse2neon/package.py
index 31fba8729e..c4db42eae4 100644
--- a/var/spack/repos/builtin/packages/sse2neon/package.py
+++ b/var/spack/repos/builtin/packages/sse2neon/package.py
@@ -12,10 +12,10 @@ class Sse2neon(Package):
NEON intrinsics."""
homepage = "https://github.com/DLTcollab/sse2neon"
- git = "https://github.com/DLTcollab/sse2neon.git"
+ git = "https://github.com/DLTcollab/sse2neon.git"
- version('master', branch='master')
+ version("master", branch="master")
def install(self, spec, prefix):
mkdirp(prefix.include)
- install('*.h', prefix.include)
+ install("*.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/sshfs/package.py b/var/spack/repos/builtin/packages/sshfs/package.py
index ca45326c52..d8f3e59bed 100644
--- a/var/spack/repos/builtin/packages/sshfs/package.py
+++ b/var/spack/repos/builtin/packages/sshfs/package.py
@@ -10,16 +10,16 @@ class Sshfs(MesonPackage):
"""SSHFS allows you to mount a remote filesystem using SFTP."""
homepage = "https://github.com/libfuse/sshfs"
- url = "https://github.com/libfuse/sshfs/releases/download/sshfs-3.7.1/sshfs-3.7.1.tar.xz"
- git = "https://github.com/libfuse/sshfs.git"
+ url = "https://github.com/libfuse/sshfs/releases/download/sshfs-3.7.1/sshfs-3.7.1.tar.xz"
+ git = "https://github.com/libfuse/sshfs.git"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('3.7.1', sha256='fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750')
+ version("3.7.1", sha256="fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750")
- depends_on('glib')
- depends_on('fuse@3.1.0:')
+ depends_on("glib")
+ depends_on("fuse@3.1.0:")
# used for libfuse; when libfuse is external, make sure that pkgconfig is
# external too, since spack's pkgconfig might not be able to locate libfuse.
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/sshpass/package.py b/var/spack/repos/builtin/packages/sshpass/package.py
index e34fad8c3b..66ddaa9ea2 100644
--- a/var/spack/repos/builtin/packages/sshpass/package.py
+++ b/var/spack/repos/builtin/packages/sshpass/package.py
@@ -13,17 +13,17 @@ class Sshpass(AutotoolsPackage):
secure public key authentiaction instead."""
homepage = "https://sourceforge.net/projects/sshpass/"
- url = "https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz"
+ url = "https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz"
- version('1.06', sha256='c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60')
- version('1.05', sha256='c3f78752a68a0c3f62efb3332cceea0c8a1f04f7cf6b46e00ec0c3000bc8483e')
- version('1.04', sha256='e8abb9a409f25928722251a5855a74854f6d64af3eb136b804a04fd630d70c80')
- version('1.03', sha256='5e8082343f5eae43598bb5723fa11bf49d3c9864dc58c7513fe1a90658e52b2f')
- version('1.02', sha256='e580d999eefbd847c5cd0b36315cb6cd187315c4e7d1cb182b9f94c12c7c6a86')
- version('1.01', sha256='e2adc378d61b72e63b4381fe123de3c63bd4093c9553d3219e83878f379754f4')
- version('1.00', sha256='71d4be85a464a8ce2ae308bc04dcb342918f3989b6a81c74217b5df7f11471f8')
+ version("1.06", sha256="c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60")
+ version("1.05", sha256="c3f78752a68a0c3f62efb3332cceea0c8a1f04f7cf6b46e00ec0c3000bc8483e")
+ version("1.04", sha256="e8abb9a409f25928722251a5855a74854f6d64af3eb136b804a04fd630d70c80")
+ version("1.03", sha256="5e8082343f5eae43598bb5723fa11bf49d3c9864dc58c7513fe1a90658e52b2f")
+ version("1.02", sha256="e580d999eefbd847c5cd0b36315cb6cd187315c4e7d1cb182b9f94c12c7c6a86")
+ version("1.01", sha256="e2adc378d61b72e63b4381fe123de3c63bd4093c9553d3219e83878f379754f4")
+ version("1.00", sha256="71d4be85a464a8ce2ae308bc04dcb342918f3989b6a81c74217b5df7f11471f8")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/ssht/package.py b/var/spack/repos/builtin/packages/ssht/package.py
index 26a506562e..8b31483638 100644
--- a/var/spack/repos/builtin/packages/ssht/package.py
+++ b/var/spack/repos/builtin/packages/ssht/package.py
@@ -16,21 +16,21 @@ class Ssht(CMakePackage):
"""
homepage = "https://astro-informatics.github.io/ssht/"
- url = "https://github.com/astro-informatics/ssht/archive/v1.3.4.tar.gz"
- git = "https://github.com/astro-informatics/ssht.git"
-
- maintainers = ['eschnett']
-
- version('1.5.1', sha256='f0b6fb6a1de40354fcf4eafe09b953c96a72ba9c533a42e290802e93cd14170c')
- version('1.5.0', sha256='ff42103463c973a11da84b757d2a6661679c8a60745e44f0ccf697f88593083a')
- version('1.4.0', sha256='b33f1b763a240df773a1900139aad6f6b5c676bb2b64a8c1062077fd95c08769')
- version('1.3.7', sha256='947c11b104734acb124171ff5115d14279b4d09bc297ac989204633919df422e')
- version('1.3.6', sha256='db652e0f550229a630643bbf4bdb270def25c158be5ccdcf594a24fd8054430d')
- version('1.3.5', sha256='2f71690cbd00f4969d7377e586022397bfb8efb107f7b13bf849a65e61362350')
- version('1.3.4', sha256='dfcceca9a4ffe8973a45e213e8d5331dcee6a504a42601f50fdfa4fd022cce7b')
- version('1.3.3', sha256='1f3b89e29d89fa79170b9979046a55c81b588d9dd563fd36f37887495b71dd28')
- version('1.3.2', sha256='6cb3b6f94fb90dff45ba59da30a8ccd9667d8e319bed437f19d2287f59e35dd1')
- version('1.3.0', sha256='9e2c220a70d662714ff601a121b674c8423866058279e000cbbee532d31dd3c9')
+ url = "https://github.com/astro-informatics/ssht/archive/v1.3.4.tar.gz"
+ git = "https://github.com/astro-informatics/ssht.git"
+
+ maintainers = ["eschnett"]
+
+ version("1.5.1", sha256="f0b6fb6a1de40354fcf4eafe09b953c96a72ba9c533a42e290802e93cd14170c")
+ version("1.5.0", sha256="ff42103463c973a11da84b757d2a6661679c8a60745e44f0ccf697f88593083a")
+ version("1.4.0", sha256="b33f1b763a240df773a1900139aad6f6b5c676bb2b64a8c1062077fd95c08769")
+ version("1.3.7", sha256="947c11b104734acb124171ff5115d14279b4d09bc297ac989204633919df422e")
+ version("1.3.6", sha256="db652e0f550229a630643bbf4bdb270def25c158be5ccdcf594a24fd8054430d")
+ version("1.3.5", sha256="2f71690cbd00f4969d7377e586022397bfb8efb107f7b13bf849a65e61362350")
+ version("1.3.4", sha256="dfcceca9a4ffe8973a45e213e8d5331dcee6a504a42601f50fdfa4fd022cce7b")
+ version("1.3.3", sha256="1f3b89e29d89fa79170b9979046a55c81b588d9dd563fd36f37887495b71dd28")
+ version("1.3.2", sha256="6cb3b6f94fb90dff45ba59da30a8ccd9667d8e319bed437f19d2287f59e35dd1")
+ version("1.3.0", sha256="9e2c220a70d662714ff601a121b674c8423866058279e000cbbee532d31dd3c9")
# version('1.2b1', commit='7378ce8853897cbd1b08adebf7ec088c1e40f860')
- depends_on('fftw @3.0.0:')
+ depends_on("fftw @3.0.0:")
diff --git a/var/spack/repos/builtin/packages/ssmtp/package.py b/var/spack/repos/builtin/packages/ssmtp/package.py
index 13cef88247..c0cafc63e2 100644
--- a/var/spack/repos/builtin/packages/ssmtp/package.py
+++ b/var/spack/repos/builtin/packages/ssmtp/package.py
@@ -13,30 +13,27 @@ class Ssmtp(AutotoolsPackage):
homepage = "https://salsa.debian.org/debian/ssmtp"
url = "https://deb.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.64.orig.tar.bz2"
- version('2.64', sha256='22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36')
+ version("2.64", sha256="22c37dc90c871e8e052b2cab0ad219d010fa938608cd66b21c8f3c759046fa36")
- variant('ssl', default=True,
- description='Enable support for secure connection to mail server')
- variant('inet6', default=True,
- description='Enable support for IPv6 transport')
- variant('md5auth', default=True,
- description='Enable support for MD5 authentication')
+ variant("ssl", default=True, description="Enable support for secure connection to mail server")
+ variant("inet6", default=True, description="Enable support for IPv6 transport")
+ variant("md5auth", default=True, description="Enable support for MD5 authentication")
- depends_on('libnsl')
- depends_on('openssl', when='+ssl')
+ depends_on("libnsl")
+ depends_on("openssl", when="+ssl")
- patch('install.patch')
+ patch("install.patch")
- @when('+ssl')
+ @when("+ssl")
def setup_build_environment(self, env):
# The configure script is generated with a very old version of
# autoconf, which cannot accept LIBS as a command-line argument
- env.set('LIBS', self.spec['openssl'].libs.link_flags)
+ env.set("LIBS", self.spec["openssl"].libs.link_flags)
def configure_args(self):
- args = self.enable_or_disable('ssl')
- args += self.enable_or_disable('inet6')
- args += self.enable_or_disable('md5auth')
+ args = self.enable_or_disable("ssl")
+ args += self.enable_or_disable("inet6")
+ args += self.enable_or_disable("md5auth")
return args
def install(self, spec, prefix):
@@ -47,12 +44,12 @@ class Ssmtp(AutotoolsPackage):
# The default is your system's host name.
#
# Mail name [system.host.name]:
- '\n',
+ "\n",
# Please enter the SMTP port number [25]:
- '\n'
+ "\n",
]
- install_answers_filename = 'spack-install.in'
+ install_answers_filename = "spack-install.in"
with working_dir(self.build_directory):
- with open(install_answers_filename, 'w') as f:
+ with open(install_answers_filename, "w") as f:
f.writelines(install_answers)
- make('install-sendmail', input=install_answers_filename)
+ make("install-sendmail", input=install_answers_filename)
diff --git a/var/spack/repos/builtin/packages/sspace-longread/package.py b/var/spack/repos/builtin/packages/sspace-longread/package.py
index d3a6dca8fd..c021e52b3d 100644
--- a/var/spack/repos/builtin/packages/sspace-longread/package.py
+++ b/var/spack/repos/builtin/packages/sspace-longread/package.py
@@ -10,26 +10,25 @@ from spack.package import *
class SspaceLongread(Package):
"""SSPACE-LongRead is a stand-alone program for scaffolding pre-assembled
- contigs using long reads
+ contigs using long reads
- Note: A manual download is required for SSPACE-LongRead.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for SSPACE-LongRead.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.baseclear.com/genomics/bioinformatics/basetools/SSPACE-longread"
manual_download = True
- version('1.1', '0bb5d8603d7ead4ff1596135a520cc26')
+ version("1.1", "0bb5d8603d7ead4ff1596135a520cc26")
- depends_on('perl', type=('build', 'run'))
+ depends_on("perl", type=("build", "run"))
def url_for_version(self, version):
- return "file://{0}/40SSPACE-LongRead_v{1}.tar.gz".format(
- os.getcwd(), version.dashed)
+ return "file://{0}/40SSPACE-LongRead_v{1}.tar.gz".format(os.getcwd(), version.dashed)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('blasr', prefix.bin)
- install('SSPACE-LongRead.pl', prefix.bin)
+ install("blasr", prefix.bin)
+ install("SSPACE-LongRead.pl", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sspace-standard/package.py b/var/spack/repos/builtin/packages/sspace-standard/package.py
index 7dd1fd18d3..5491c3e9bd 100644
--- a/var/spack/repos/builtin/packages/sspace-standard/package.py
+++ b/var/spack/repos/builtin/packages/sspace-standard/package.py
@@ -11,44 +11,42 @@ from spack.package import *
class SspaceStandard(Package):
"""SSPACE standard is a stand-alone program for scaffolding pre-assembled
- contigs using NGS paired-read data
+ contigs using NGS paired-read data
- Note: A manual download is required for SSPACE-Standard.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for SSPACE-Standard.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.baseclear.com/genomics/bioinformatics/basetools/SSPACE"
- url = "file://{0}/41SSPACE-STANDARD-3.0_linux-x86_64.tar.gz".format(os.getcwd())
+ url = "file://{0}/41SSPACE-STANDARD-3.0_linux-x86_64.tar.gz".format(os.getcwd())
manual_download = True
- version('3.0', '7e171b4861b9d514e80aafc3d9cdf554')
+ version("3.0", "7e171b4861b9d514e80aafc3d9cdf554")
- depends_on('perl+threads', type=('build', 'run'))
- depends_on('perl-perl4-corelibs', type=('build', 'run'))
+ depends_on("perl+threads", type=("build", "run"))
+ depends_on("perl-perl4-corelibs", type=("build", "run"))
def install(self, spec, prefix):
- rootscript = 'SSPACE_Standard_v{0}.pl'.format(self.version)
+ rootscript = "SSPACE_Standard_v{0}.pl".format(self.version)
scripts = [rootscript]
- scripts.extend(glob.glob('tools/*.pl'))
- scripts.extend(glob.glob('bwa/*.pl'))
+ scripts.extend(glob.glob("tools/*.pl"))
+ scripts.extend(glob.glob("bwa/*.pl"))
for s in scripts:
- filter_file('/usr/bin/perl', '/usr/bin/env perl',
- s, string=True)
- filter_file('require "getopts.pl";', 'use Getopt::Std;',
- s, string=True)
- filter_file('&Getopts(', 'getopts(', s, string=True)
-
- install_tree('bin', prefix.bin)
- install_tree('bowtie', prefix.bowtie)
- install_tree('bwa', prefix.bwa)
- install_tree('dotlib', prefix.dotlib)
- install_tree('tools', prefix.tools)
+ filter_file("/usr/bin/perl", "/usr/bin/env perl", s, string=True)
+ filter_file('require "getopts.pl";', "use Getopt::Std;", s, string=True)
+ filter_file("&Getopts(", "getopts(", s, string=True)
+
+ install_tree("bin", prefix.bin)
+ install_tree("bowtie", prefix.bowtie)
+ install_tree("bwa", prefix.bwa)
+ install_tree("dotlib", prefix.dotlib)
+ install_tree("tools", prefix.tools)
install(rootscript, prefix)
def setup_run_environment(self, env):
- env.set('SSPACE_HOME', self.prefix)
- env.prepend_path('PATH', self.prefix)
+ env.set("SSPACE_HOME", self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/sst-core/package.py b/var/spack/repos/builtin/packages/sst-core/package.py
index 0870aae646..149887d9cb 100644
--- a/var/spack/repos/builtin/packages/sst-core/package.py
+++ b/var/spack/repos/builtin/packages/sst-core/package.py
@@ -8,52 +8,51 @@ from spack.package import *
class SstCore(AutotoolsPackage):
"""The Structural Simulation Toolkit (SST) core
- provides a parallel discrete event simulation (PDES)
- framework for performing architecture simulations
- of existing and proposed HPC systems"""
+ provides a parallel discrete event simulation (PDES)
+ framework for performing architecture simulations
+ of existing and proposed HPC systems"""
homepage = "https://github.com/sstsimulator"
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 = ['sknigh']
+ maintainers = ["sknigh"]
- version('11.0.0', sha256="25d17c35d1121330ad74375b6d27fe5c5592d1add3edf0bbb356aa3b5f59f401")
- version('10.1.0', sha256="e464213a81c7b3ccec994fdba2b56992b52fb9a6db089ef7c3445b54306d4b87")
- version('10.0.0', sha256="64cf93a46dfab011fba49244bf0e0efe25ef928c6fbde1d49003220d0eb7735a")
- version('9.1.0', sha256="cfeda39bb2ce9f32032480427517df62e852c0b3713797255e3b838075f3614d")
- version('develop', branch='devel')
- version('master', branch='master')
+ version("11.0.0", sha256="25d17c35d1121330ad74375b6d27fe5c5592d1add3edf0bbb356aa3b5f59f401")
+ version("10.1.0", sha256="e464213a81c7b3ccec994fdba2b56992b52fb9a6db089ef7c3445b54306d4b87")
+ version("10.0.0", sha256="64cf93a46dfab011fba49244bf0e0efe25ef928c6fbde1d49003220d0eb7735a")
+ version("9.1.0", sha256="cfeda39bb2ce9f32032480427517df62e852c0b3713797255e3b838075f3614d")
+ version("develop", branch="devel")
+ version("master", branch="master")
- variant("pdes_mpi", default=True,
- description="Build support for parallel discrete event simulation")
- variant("zoltan", default=False,
- description="Use Zoltan for partitioning parallel runs")
- variant("hdf5", default=False,
- description="Build support for HDF5 statistic output")
- variant("zlib", default=False,
- description="Build support for ZLIB compression")
- variant("preview", default=False,
- description="Preview build with deprecated features removed")
+ variant(
+ "pdes_mpi",
+ default=True,
+ description="Build support for parallel discrete event simulation",
+ )
+ variant("zoltan", default=False, description="Use Zoltan for partitioning parallel runs")
+ variant("hdf5", default=False, description="Build support for HDF5 statistic output")
+ variant("zlib", default=False, description="Build support for ZLIB compression")
+ variant("preview", default=False, description="Preview build with deprecated features removed")
- depends_on("python", type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
depends_on("mpi", when="+pdes_mpi")
depends_on("zoltan", when="+zoltan")
depends_on("hdf5", when="+hdf5")
depends_on("zlib", when="+zlib")
- 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')
+ 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")
# force out-of-source builds
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('autogen.sh')
+ bash = which("bash")
+ bash("autogen.sh")
def configure_args(self):
args = []
@@ -66,10 +65,10 @@ class SstCore(AutotoolsPackage):
if "+pdes_mpi" in self.spec:
args.append("--enable-mpi")
- env['CC'] = self.spec['mpi'].mpicc
- env['CXX'] = self.spec['mpi'].mpicxx
- env['F77'] = self.spec['mpi'].mpif77
- env['FC'] = self.spec['mpi'].mpifc
+ env["CC"] = self.spec["mpi"].mpicc
+ env["CXX"] = self.spec["mpi"].mpicxx
+ env["F77"] = self.spec["mpi"].mpif77
+ env["FC"] = self.spec["mpi"].mpifc
else:
args.append("--disable-mpi")
diff --git a/var/spack/repos/builtin/packages/sst-dumpi/package.py b/var/spack/repos/builtin/packages/sst-dumpi/package.py
index 1dc2d780bd..23817cbf4f 100644
--- a/var/spack/repos/builtin/packages/sst-dumpi/package.py
+++ b/var/spack/repos/builtin/packages/sst-dumpi/package.py
@@ -15,16 +15,16 @@ class SstDumpi(AutotoolsPackage):
"""
homepage = "http://sst.sandia.gov/about_dumpi.html"
- url = "https://github.com/sstsimulator/sst-dumpi/archive/6.1.0.tar.gz"
- git = "https://github.com/sstsimulator/sst-dumpi.git"
+ 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']
+ maintainers = ["sknigh", "jpkenny", "calewis"]
- version('master', branch='master')
- version('7.1.0', sha256='37cd9e8279e7a1c342a4357b75bb8a34b0fa76a4f372d4ecdef9168bdf50a465')
- version('6.1.0', sha256='d4f6afcff5ba67fcc3a29f461afbb59855053840f5f320552a77b4e14c687bb6')
+ version("master", branch="master")
+ version("7.1.0", sha256="37cd9e8279e7a1c342a4357b75bb8a34b0fa76a4f372d4ecdef9168bdf50a465")
+ version("6.1.0", sha256="d4f6afcff5ba67fcc3a29f461afbb59855053840f5f320552a77b4e14c687bb6")
- 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')
+ 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")
diff --git a/var/spack/repos/builtin/packages/sst-elements/package.py b/var/spack/repos/builtin/packages/sst-elements/package.py
index ec9f9bc460..4572abf352 100644
--- a/var/spack/repos/builtin/packages/sst-elements/package.py
+++ b/var/spack/repos/builtin/packages/sst-elements/package.py
@@ -8,23 +8,23 @@ from spack.package import *
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.
+ architecture simulation from node-level to system-level using
+ 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 = ['sknigh']
+ maintainers = ["sknigh"]
- version('11.0.0', sha256="bf265cb25afc041b74422cc5cddc8e3ae1e7c3efa3e37e699dac4e3f7629be6e")
- version('10.1.0', sha256="a790561449795dac48a84c525b8e0b09f05d0b0bff1a0da1aa2e903279a03c4a")
- version('10.0.0', sha256="ecf28ef97b27ea75be7e64cb0acb99d36773a888c1b32ba16034c62174b02693")
- version('9.1.0', sha256="e19b05aa6e59728995fc059840c79e476ba866b67887ccde7eaf52a18a1f52ca")
+ version("11.0.0", sha256="bf265cb25afc041b74422cc5cddc8e3ae1e7c3efa3e37e699dac4e3f7629be6e")
+ version("10.1.0", sha256="a790561449795dac48a84c525b8e0b09f05d0b0bff1a0da1aa2e903279a03c4a")
+ version("10.0.0", sha256="ecf28ef97b27ea75be7e64cb0acb99d36773a888c1b32ba16034c62174b02693")
+ version("9.1.0", sha256="e19b05aa6e59728995fc059840c79e476ba866b67887ccde7eaf52a18a1f52ca")
- version('develop', branch='devel')
- version('master', branch='master')
+ version("develop", branch="devel")
+ version("master", branch="master")
# Contact SST developers (https://github.com/sstsimulator)
# if your use case requires support for:
@@ -32,80 +32,76 @@ class SstElements(AutotoolsPackage):
# - OTF2
# - stake (riscv simulator)
- variant("pin", default=False,
- description="Enable the Ariel CPU model")
- variant("dramsim2", default=False,
- description="Build with DRAMSim2 support")
- 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,
- description="Build with HybridSim support")
- variant("goblin", default=False,
- description="Build with GoblinHMCSim support")
- variant("hbm", default=False,
- description="Build with HBM DRAMSim2 support")
- 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'))
+ variant("pin", default=False, description="Enable the Ariel CPU model")
+ variant("dramsim2", default=False, description="Build with DRAMSim2 support")
+ 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, description="Build with HybridSim support")
+ variant("goblin", default=False, description="Build with GoblinHMCSim support")
+ variant("hbm", default=False, description="Build with HBM DRAMSim2 support")
+ 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")
- depends_on("sst-core@develop", when="@develop")
+ depends_on("sst-core@develop", when="@develop")
depends_on("sst-core@master", when="@master")
- 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("otf", when="+otf")
- depends_on("otf2", when="+otf2")
+ 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("otf", when="+otf")
+ depends_on("otf2", when="+otf2")
depends_on("gettext")
depends_on("zlib")
- 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')
+ 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'
+ build_directory = "spack-build"
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('autogen.sh')
+ bash = which("bash")
+ bash("autogen.sh")
def configure_args(self):
spec = self.spec
args = []
- 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 "+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 "+pin" in spec:
args.append("--with-pin=%s" % spec["intel-pin"].prefix)
@@ -129,12 +125,10 @@ class SstElements(AutotoolsPackage):
args.append("--with-hybridsim=%s" % spec["hybridsim"].prefix)
if "+goblin" in spec:
- args.append("--with-goblin-hmcsim=%s" %
- spec["goblin-hmc-sim"].prefix)
+ args.append("--with-goblin-hmcsim=%s" % spec["goblin-hmc-sim"].prefix)
if "+hbm" in spec:
- args.append("--with-hbmdramsim=%s" %
- spec["hbm-dramsim2"].prefix)
+ args.append("--with-hbmdramsim=%s" % spec["hbm-dramsim2"].prefix)
if "+ramulator" in spec:
args.append("--with-ramulator=%s" % spec["ramulator"].prefix)
diff --git a/var/spack/repos/builtin/packages/sst-macro/package.py b/var/spack/repos/builtin/packages/sst-macro/package.py
index c3604c090b..35b3be4db2 100644
--- a/var/spack/repos/builtin/packages/sst-macro/package.py
+++ b/var/spack/repos/builtin/packages/sst-macro/package.py
@@ -19,74 +19,70 @@ class SstMacro(AutotoolsPackage):
git = "https://github.com/sstsimulator/sst-macro.git"
url = "https://github.com/sstsimulator/sst-macro/releases/download/v11.0.0_Final/sstmacro-11.0.0.tar.gz"
- maintainers = ['jjwilke']
-
- version('11.0.0', sha256='30367baed670b5b501320a068671556c9071286a0f0c478f9994a30d8fe5bdea')
- version('10.1.0', sha256='e15d99ce58d282fdff849af6de267746a4c89f3b8c5ab6c1e1e7b53a01127e73')
- version('10.0.0', sha256='064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566')
- version('master', branch='master')
- version('develop', branch='devel')
-
- 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('binutils', type='build')
- depends_on('zlib', type=('build', 'link'))
- depends_on('otf2', when='+otf2')
- depends_on('llvm+clang@5:9', when='+skeletonizer')
- depends_on('mpi', when='+pdes_mpi')
- depends_on('sst-core@develop', when='@develop+core')
- depends_on('sst-core@master', when='@master+core')
- depends_on('sst-core@10.1.0', when='@10.1.0+core')
- depends_on('sst-core@10.0.0', when='@10.0.0+core')
- depends_on('gettext')
-
- variant('pdes_threads', default=True,
- description='Enable thread-parallel PDES simulation')
- variant('pdes_mpi', default=False,
- description='Enable distributed PDES simulation')
- variant('core', default=False, description='Use SST Core for PDES')
- variant('otf2', default=False,
- description='Enable OTF2 trace emission and replay support')
- variant('skeletonizer', default=False,
- description='Enable Clang source-to-source autoskeletonization')
-
- variant('static', default=True, description='Build static libraries')
- variant('shared', default=True, description='Build shared libraries')
-
- variant('werror', default=False,
- description='Build with all warnings as errors')
- variant('warnings', default=False,
- description='Build with all possible warnings')
+ maintainers = ["jjwilke"]
+
+ version("11.0.0", sha256="30367baed670b5b501320a068671556c9071286a0f0c478f9994a30d8fe5bdea")
+ version("10.1.0", sha256="e15d99ce58d282fdff849af6de267746a4c89f3b8c5ab6c1e1e7b53a01127e73")
+ version("10.0.0", sha256="064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566")
+ version("master", branch="master")
+ version("develop", branch="devel")
+
+ 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("binutils", type="build")
+ depends_on("zlib", type=("build", "link"))
+ depends_on("otf2", when="+otf2")
+ depends_on("llvm+clang@5:9", when="+skeletonizer")
+ depends_on("mpi", when="+pdes_mpi")
+ depends_on("sst-core@develop", when="@develop+core")
+ depends_on("sst-core@master", when="@master+core")
+ depends_on("sst-core@10.1.0", when="@10.1.0+core")
+ depends_on("sst-core@10.0.0", when="@10.0.0+core")
+ depends_on("gettext")
+
+ variant("pdes_threads", default=True, description="Enable thread-parallel PDES simulation")
+ variant("pdes_mpi", default=False, description="Enable distributed PDES simulation")
+ variant("core", default=False, description="Use SST Core for PDES")
+ variant("otf2", default=False, description="Enable OTF2 trace emission and replay support")
+ variant(
+ "skeletonizer",
+ default=False,
+ description="Enable Clang source-to-source autoskeletonization",
+ )
+
+ variant("static", default=True, description="Build static libraries")
+ variant("shared", default=True, description="Build shared libraries")
+
+ variant("werror", default=False, description="Build with all warnings as errors")
+ variant("warnings", default=False, description="Build with all possible warnings")
# force out-of-source builds
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap.sh')
+ bash = which("bash")
+ bash("./bootstrap.sh")
def configure_args(self):
- args = ['--disable-regex']
+ args = ["--disable-regex"]
spec = self.spec
- args.append(
- '--enable-static=%s' % ('yes' if '+static' in spec else 'no'))
- args.append(
- '--enable-shared=%s' % ('yes' if '+shared' in spec else 'no'))
+ args.append("--enable-static=%s" % ("yes" if "+static" in spec else "no"))
+ args.append("--enable-shared=%s" % ("yes" if "+shared" in spec else "no"))
if spec.satisfies("@8.0.0:"):
- args.extend([
- '--%sable-otf2' %
- ('en' if '+otf2' in spec else 'dis'),
- '--%sable-multithread' %
- ('en' if '+pdes_threads' in spec else 'dis')
- ])
+ args.extend(
+ [
+ "--%sable-otf2" % ("en" if "+otf2" in spec else "dis"),
+ "--%sable-multithread" % ("en" if "+pdes_threads" in spec else "dis"),
+ ]
+ )
- if '+skeletonizer' in spec:
- args.append('--with-clang=' + spec['llvm'].prefix)
+ if "+skeletonizer" in spec:
+ args.append("--with-clang=" + spec["llvm"].prefix)
if spec.satisfies("@10:"):
if "+warnings" in spec:
@@ -94,18 +90,18 @@ class SstMacro(AutotoolsPackage):
if "+werror" in spec:
args.append("--with-werror")
- if '+core' in spec:
- args.append('--with-sst-core=%s' % spec['sst-core'].prefix)
+ if "+core" in spec:
+ args.append("--with-sst-core=%s" % spec["sst-core"].prefix)
# Optional MPI support
need_core_mpi = False
if "+core" in spec:
if "+pdes_mpi" in spec["sst-core"]:
need_core_mpi = True
- if '+pdes_mpi' in spec or need_core_mpi:
- env['CC'] = spec['mpi'].mpicc
- env['CXX'] = spec['mpi'].mpicxx
- env['F77'] = spec['mpi'].mpif77
- env['FC'] = spec['mpi'].mpifc
+ if "+pdes_mpi" in spec or need_core_mpi:
+ env["CC"] = spec["mpi"].mpicc
+ env["CXX"] = spec["mpi"].mpicxx
+ env["F77"] = spec["mpi"].mpif77
+ env["FC"] = spec["mpi"].mpifc
return args
diff --git a/var/spack/repos/builtin/packages/sst-transports/package.py b/var/spack/repos/builtin/packages/sst-transports/package.py
index e5221a4564..82fe7431e3 100644
--- a/var/spack/repos/builtin/packages/sst-transports/package.py
+++ b/var/spack/repos/builtin/packages/sst-transports/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class SstTransports(CMakePackage):
"""Provides transports like uGNI and verbs
- that run in the simulator"""
+ that run in the simulator"""
homepage = "https://github.com/sstsimulator"
git = "https://github.com/jjwilke/sst-transports.git"
- maintainers = ['jjwilke']
+ maintainers = ["jjwilke"]
- version('master', branch='master')
+ version("master", branch="master")
depends_on("sst-macro")
diff --git a/var/spack/repos/builtin/packages/stacks/package.py b/var/spack/repos/builtin/packages/stacks/package.py
index 5c865e9fd6..cc51dd542d 100644
--- a/var/spack/repos/builtin/packages/stacks/package.py
+++ b/var/spack/repos/builtin/packages/stacks/package.py
@@ -8,26 +8,26 @@ from spack.package import *
class Stacks(AutotoolsPackage):
"""Stacks is a software pipeline for building loci from short-read
- sequences, such as those generated on the Illumina platform."""
+ sequences, such as those generated on the Illumina platform."""
homepage = "https://catchenlab.life.illinois.edu/stacks/"
- url = "https://catchenlab.life.illinois.edu/stacks/source/stacks-1.46.tar.gz"
+ url = "https://catchenlab.life.illinois.edu/stacks/source/stacks-1.46.tar.gz"
- version('2.53', sha256='ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd')
- version('2.3b', sha256='a46786d8811a730ebcdc17891e89f50d4f4ae196734439dac86091f45c92ac72')
- version('1.46', sha256='45a0725483dc0c0856ad6b1f918e65d91c1f0fe7d8bf209f76b93f85c29ea28a')
+ version("2.53", sha256="ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd")
+ version("2.3b", sha256="a46786d8811a730ebcdc17891e89f50d4f4ae196734439dac86091f45c92ac72")
+ version("1.46", sha256="45a0725483dc0c0856ad6b1f918e65d91c1f0fe7d8bf209f76b93f85c29ea28a")
- variant('sparsehash', default=True, description='Improve Stacks memory usage with SparseHash')
+ variant("sparsehash", default=True, description="Improve Stacks memory usage with SparseHash")
- depends_on('perl', type=('build', 'run'))
- depends_on('sparsehash', when='+sparsehash')
- depends_on('zlib', when='@2.3b:')
- conflicts('%gcc@:4.9.0', when='@2.3b:')
+ depends_on("perl", type=("build", "run"))
+ depends_on("sparsehash", when="+sparsehash")
+ depends_on("zlib", when="@2.3b:")
+ conflicts("%gcc@:4.9.0", when="@2.3b:")
def configure_args(self):
args = []
- if '+sparsehash' in self.spec:
- args.append('--enable-sparsehash')
+ if "+sparsehash" in self.spec:
+ args.append("--enable-sparsehash")
else:
- args.append('--disable-sparsehash')
+ args.append("--disable-sparsehash")
return args
diff --git a/var/spack/repos/builtin/packages/staden-io-lib/package.py b/var/spack/repos/builtin/packages/staden-io-lib/package.py
index dbf54c10c1..780627c0c9 100644
--- a/var/spack/repos/builtin/packages/staden-io-lib/package.py
+++ b/var/spack/repos/builtin/packages/staden-io-lib/package.py
@@ -8,22 +8,24 @@ from spack.package import *
class StadenIoLib(AutotoolsPackage):
"""Io_lib is a library for reading/writing various bioinformatics
- file formats."""
+ file formats."""
homepage = "http://staden.sourceforge.net/"
- url = "https://sourceforge.net/projects/staden/files/io_lib/1.14.8/io_lib-1.14.8.tar.gz/download"
+ url = (
+ "https://sourceforge.net/projects/staden/files/io_lib/1.14.8/io_lib-1.14.8.tar.gz/download"
+ )
- version('1.14.8', sha256='3bd560309fd6d70b14bbb8230e1baf8706b804eb6201220bb6c3d6db72003d1b')
+ version("1.14.8", sha256="3bd560309fd6d70b14bbb8230e1baf8706b804eb6201220bb6c3d6db72003d1b")
- variant('curl', default=False, description='Build with curl support')
+ variant("curl", default=False, description="Build with curl support")
- depends_on('zlib')
- depends_on('curl', when='+curl')
+ depends_on("zlib")
+ depends_on("curl", when="+curl")
def configure_args(self):
args = []
- if self.spec.satisfies('~curl'):
- args.append('--without-libcurl')
+ if self.spec.satisfies("~curl"):
+ args.append("--without-libcurl")
return args
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 d5d8af215b..ba52fecab4 100644
--- a/var/spack/repos/builtin/packages/star-ccm-plus/package.py
+++ b/var/spack/repos/builtin/packages/star-ccm-plus/package.py
@@ -14,17 +14,19 @@ class StarCcmPlus(Package):
"""STAR-CCM+ (Computational Continuum Mechanics) CFD solver."""
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())
+ url = "file://{0}/STAR-CCM+11.06.010_02_linux-x86_64.tar.gz".format(os.getcwd())
manual_download = True
- version('16.06.008_01', sha256='64577ec0e9a98d971114e68c4eec05bb746e061dfbf77b8d8919583c796c9e4b')
- version('11.06.010_02', 'd349c6ac8293d8e6e7a53533d695588f')
+ version(
+ "16.06.008_01", sha256="64577ec0e9a98d971114e68c4eec05bb746e061dfbf77b8d8919583c796c9e4b"
+ )
+ version("11.06.010_02", "d349c6ac8293d8e6e7a53533d695588f")
- variant('doc', default=False, description='Install the documentation')
+ variant("doc", default=False, description="Install the documentation")
# Licensing
license_required = True
- license_vars = ['CDLMD_LICENSE_FILE', 'LM_LICENSE_FILE']
+ license_vars = ["CDLMD_LICENSE_FILE", "LM_LICENSE_FILE"]
def install(self, spec, prefix):
# There is a known issue with the LaunchAnywhere application.
@@ -46,32 +48,32 @@ class StarCcmPlus(Package):
# at com.zerog.lax.LAX.main(Unknown Source)
#
# https://www.maplesoft.com/support/faqs/detail.aspx?sid=35272
- env['PS1'] = '>'
- env['PROMPT_COMMAND'] = ''
+ env["PS1"] = ">"
+ env["PROMPT_COMMAND"] = ""
- if '@:12' in spec:
- file_pattern = '*.bin'
+ if "@:12" in spec:
+ file_pattern = "*.bin"
else:
- file_pattern = '*.sh'
+ file_pattern = "*.sh"
- installer = Executable(join_path(self.stage.source_path,
- glob.glob(file_pattern)[0]))
+ installer = Executable(join_path(self.stage.source_path, glob.glob(file_pattern)[0]))
installer(
- '-i', 'silent',
- '-DINSTALLDIR={0}'.format(prefix),
- '-DINSTALLFLEX=false',
- '-DADDSYSTEMPATH=false',
- '-DCOMPUTE_NODE=false',
- '-DNODOC={0}'.format('false' if '+docs' in spec else 'true')
+ "-i",
+ "silent",
+ "-DINSTALLDIR={0}".format(prefix),
+ "-DINSTALLFLEX=false",
+ "-DADDSYSTEMPATH=false",
+ "-DCOMPUTE_NODE=false",
+ "-DNODOC={0}".format("false" if "+docs" in spec else "true"),
)
def setup_run_environment(self, env):
# using Version.up_to strips out the 0 padding
- version = re.sub('_.*$', '', format(self.spec.version))
- env.prepend_path('PATH', join_path(self.prefix, version,
- 'STAR-View+{0}'.format(version),
- 'bin'))
- env.prepend_path('PATH', join_path(self.prefix, version,
- 'STAR-CCM+{0}'.format(version),
- 'star', 'bin'))
+ version = re.sub("_.*$", "", format(self.spec.version))
+ env.prepend_path(
+ "PATH", join_path(self.prefix, version, "STAR-View+{0}".format(version), "bin")
+ )
+ env.prepend_path(
+ "PATH", join_path(self.prefix, version, "STAR-CCM+{0}".format(version), "star", "bin")
+ )
diff --git a/var/spack/repos/builtin/packages/star/package.py b/var/spack/repos/builtin/packages/star/package.py
index 0596e78796..957a319d24 100644
--- a/var/spack/repos/builtin/packages/star/package.py
+++ b/var/spack/repos/builtin/packages/star/package.py
@@ -10,28 +10,32 @@ class Star(Package):
"""STAR is an ultrafast universal RNA-seq aligner."""
homepage = "https://github.com/alexdobin/STAR"
- url = "https://github.com/alexdobin/STAR/archive/2.7.6a.tar.gz"
+ url = "https://github.com/alexdobin/STAR/archive/2.7.6a.tar.gz"
- version('2.7.6a', sha256='9320797c604673debea0fe8f2e3762db364915cc59755de1a0d87c8018f97d51')
- version('2.7.0e', sha256='2fc9d9103bd02811904d41e3a3d50e47c7de17cb55c3b4880ea5f39300a9ba0d')
- version('2.7.0d', sha256='7a757478868dc73fe7619bf6ea302dd642bd30e1c8c1fb4acdbe7fa151cf9fd1')
- version('2.6.1b', sha256='1bba5b26c1e6e9a7aca8473a99dbf37bad1dbdd0a589402448e278553bb6b3da')
- version('2.6.1a', sha256='dc87357211432c05123ce49966aae712dec590cbe27c1fd0193c3aeb8d4abe4b')
- version('2.6.0c', sha256='bebba6cc72da302429c44c20f3b07bdde6b0ddf33e538a99e297f1d342070387')
- version('2.6.0b', sha256='1ebbecbb698a3de95990b35fe386189a2c00b07cd9d2d4e017ab8234e7dc042e')
- version('2.6.0a', sha256='a6b0dd1918e1961eebec71e6c7c3c8e632f66d10e0620aa09c0710e2ab279179')
- version('2.5.4b', sha256='bfa6ccd3b7b3878155a077a9c15eec5490dffad8e077ac93abe6f9bfa75bb2b4')
- version('2.5.4a', sha256='17b02703cdd580c9fd426a14f20712ea252d32a4ded804eef759029b600e3afb')
- version('2.5.3a', sha256='2a258e77cda103aa293e528f8597f25dc760cba188d0a7bc7c9452f4698e7c04')
- version('2.5.2b', sha256='f88b992740807ab10f2ac3b83781bf56951617f210001fab523f6480d0b546d9')
- version('2.5.2a', sha256='2a372d9bcab1dac8d35cbbed3f0ab58291e4fbe99d6c1842b094ba7449d55476')
- version('2.4.2a', sha256='ac166d190c0fd34bf3418a5640050b0e7734d279813e02daa013d0924fb579b0', url='https://github.com/alexdobin/STAR/archive/STAR_2.4.2a.tar.gz')
+ version("2.7.6a", sha256="9320797c604673debea0fe8f2e3762db364915cc59755de1a0d87c8018f97d51")
+ version("2.7.0e", sha256="2fc9d9103bd02811904d41e3a3d50e47c7de17cb55c3b4880ea5f39300a9ba0d")
+ version("2.7.0d", sha256="7a757478868dc73fe7619bf6ea302dd642bd30e1c8c1fb4acdbe7fa151cf9fd1")
+ version("2.6.1b", sha256="1bba5b26c1e6e9a7aca8473a99dbf37bad1dbdd0a589402448e278553bb6b3da")
+ version("2.6.1a", sha256="dc87357211432c05123ce49966aae712dec590cbe27c1fd0193c3aeb8d4abe4b")
+ version("2.6.0c", sha256="bebba6cc72da302429c44c20f3b07bdde6b0ddf33e538a99e297f1d342070387")
+ version("2.6.0b", sha256="1ebbecbb698a3de95990b35fe386189a2c00b07cd9d2d4e017ab8234e7dc042e")
+ version("2.6.0a", sha256="a6b0dd1918e1961eebec71e6c7c3c8e632f66d10e0620aa09c0710e2ab279179")
+ version("2.5.4b", sha256="bfa6ccd3b7b3878155a077a9c15eec5490dffad8e077ac93abe6f9bfa75bb2b4")
+ version("2.5.4a", sha256="17b02703cdd580c9fd426a14f20712ea252d32a4ded804eef759029b600e3afb")
+ version("2.5.3a", sha256="2a258e77cda103aa293e528f8597f25dc760cba188d0a7bc7c9452f4698e7c04")
+ version("2.5.2b", sha256="f88b992740807ab10f2ac3b83781bf56951617f210001fab523f6480d0b546d9")
+ version("2.5.2a", sha256="2a372d9bcab1dac8d35cbbed3f0ab58291e4fbe99d6c1842b094ba7449d55476")
+ version(
+ "2.4.2a",
+ sha256="ac166d190c0fd34bf3418a5640050b0e7734d279813e02daa013d0924fb579b0",
+ url="https://github.com/alexdobin/STAR/archive/STAR_2.4.2a.tar.gz",
+ )
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
- with working_dir('source'):
- make('STAR', 'STARlong')
+ with working_dir("source"):
+ make("STAR", "STARlong")
mkdirp(prefix.bin)
- install('STAR', prefix.bin)
- install('STARlong', prefix.bin)
+ install("STAR", prefix.bin)
+ install("STARlong", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/starlight/package.py b/var/spack/repos/builtin/packages/starlight/package.py
index 2fdd95b4c9..3ebae52b0e 100644
--- a/var/spack/repos/builtin/packages/starlight/package.py
+++ b/var/spack/repos/builtin/packages/starlight/package.py
@@ -9,18 +9,29 @@ from spack.package import *
class Starlight(CMakePackage):
"""STARlight is a Monte Carlo that simulates two-photon
- and photon-Pomeron interactions between relativistic nuclei and protons."""
+ and photon-Pomeron interactions between relativistic nuclei and protons."""
homepage = "https://starlight.hepforge.org"
- url = "https://starlight.hepforge.org/downloads?f=starlight_r313.tar"
-
- tags = ['hep']
-
- maintainers = ['vvolkl']
-
- version('313', sha256='afff1ac01bc312cb443931eb425808a85ac7e349ed3df228405a4ba87d780f23',
- url='https://starlight.hepforge.org/downloads?f=starlight_r313.tar')
- version('300', sha256='e754212f173fb42a96611b3519cb386c772429e690f3e088396bd103c2cf9348',
- url='https://starlight.hepforge.org/downloads?f=starlight_r300.tar')
-
- patch('https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/starlight-r313.patch', sha256='c70f70fd7c96dc0417f9254d25b584222abcb2c452e1e6dd4b8cfb0b64bf10e0', when='@300:', level=0)
+ url = "https://starlight.hepforge.org/downloads?f=starlight_r313.tar"
+
+ tags = ["hep"]
+
+ maintainers = ["vvolkl"]
+
+ version(
+ "313",
+ sha256="afff1ac01bc312cb443931eb425808a85ac7e349ed3df228405a4ba87d780f23",
+ url="https://starlight.hepforge.org/downloads?f=starlight_r313.tar",
+ )
+ version(
+ "300",
+ sha256="e754212f173fb42a96611b3519cb386c772429e690f3e088396bd103c2cf9348",
+ url="https://starlight.hepforge.org/downloads?f=starlight_r300.tar",
+ )
+
+ patch(
+ "https://gitlab.cern.ch/sft/lcgcmake/-/raw/master/generators/patches/starlight-r313.patch",
+ sha256="c70f70fd7c96dc0417f9254d25b584222abcb2c452e1e6dd4b8cfb0b64bf10e0",
+ when="@300:",
+ level=0,
+ )
diff --git a/var/spack/repos/builtin/packages/starpu/package.py b/var/spack/repos/builtin/packages/starpu/package.py
index 73810bb677..947a934db6 100644
--- a/var/spack/repos/builtin/packages/starpu/package.py
+++ b/var/spack/repos/builtin/packages/starpu/package.py
@@ -25,66 +25,68 @@ class Starpu(AutotoolsPackage):
"""
homepage = "https://starpu.gitlabpages.inria.fr/"
- url = "https://files.inria.fr/starpu/starpu-1.3.9/starpu-1.3.9.tar.gz"
- git = "https://gitlab.inria.fr/starpu/starpu.git"
-
- maintainers = ['nfurmento', 'sthibaul']
-
- version('1.3.9', sha256='73adf2a5d25b04023132cfb1a8d9293b356354af7d1134e876122a205128d241')
- version('1.3.8', sha256='d35a27b219af8e7973888ebbff728ec0112ae9cda88d6b79c4cc7a1399b4d052')
- version('1.3.7', sha256='1d7e01567fbd4a66b7e563626899374735e37883226afb96c8952fea1dab77c2')
- version('1.3.6', sha256='ca71bfc5e66bbef6838a81de80fe62ff1037c3bbf902f25d3812a6f63fd8091a')
- version('1.3.5', sha256='910456a44cbac798709d3d3dfa808b5730b56cb79d6e3d8af9c3723856c26eb9')
- version('1.3.3', sha256='9dee3ac5ead3fb6911ac0eb5bef6681e8b6d70be2d55e3df5f725dd1268ca942')
- version('1.3.2', sha256='6c49441bf9d91d8e707d7c4a1df6124138e8a89a55c5f9ff514843415ff7e0b8')
- version('1.3.1', sha256='84120ec1e5b8655d4778a1263ac6e82857c7287279d8e4f8df24bfffc92613ba')
- version('1.3.0', sha256='7e06841bddb4b4c7e04e87230cd76b839ef9618d6f4e8ac9b045ec1a80a631c4')
- version('1.2.8', sha256='b6666dfbc8f248d20df232f27b0edbbb0b426258eac55ec693e45373ba5a75fb')
- version('1.2.7', sha256='be301a2718d2ca24e125d0c70f98d5bb74525f5908b3d10e63fb980918b5a16f')
- version('1.2.6', sha256='eb67a7676777b6ed583722aca5a9f63145b842f390ac2f5b3cbc36fe910d964c')
- version('1.2.5', sha256='1f22eae5c9ee4cae1c8020c5a18f4e36c05c43624bd2ba1f5356a8962d2bdae9')
- version('1.2.4', sha256='4c99f41a29a5056685a086dc6e299f5bd8c79146f1f0543f1a5882ec5100a9bd')
- version('1.2.3', sha256='295d39da17ad17752c1cb91e0009fc9b3630bc4ac7db7e2e43433ec9024dc6db')
- version('1.2.2', sha256='1677990bb9aa8e574634f2407a63aa797313fcb9a0d544b7ac60df90a37e3057')
- version('1.2.1', sha256='2e0c13f9be7bf7f3c2ce73340ca773d7a0c25bf66a822e44d8fe6407a04f8d77')
- version('1.2.0', sha256='c0b09a946bcbc680dd169d75856dc759abd98685da777afccc3366998b218a75')
- version('1.1.6', sha256='c28749b8f0a1586b814cb7d49dffb0f2631dde849591e697c40ef693a8fd54d8')
-
- version('develop', branch='master')
- version('master', branch='master')
- version('git-1.1', branch='starpu-1.1')
- version('git-1.2', branch='starpu-1.2')
- version('git-1.3', branch='starpu-1.3')
-
- variant('shared', default=True, description='Build STARPU as a shared library')
- variant('fast', default=True, description='Disable runtime assertions')
- variant('debug', default=False, description='Enable debug symbols')
- variant('verbose', default=False, description='Enable verbose debugging')
- variant('fxt', default=False, description='Enable FxT tracing support')
- variant('mpi', default=True, description='Enable MPI support')
- variant('cuda', default=False, description='Enable CUDA support')
- variant('opencl', default=False, description='Enable OpenCL support')
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('fortran', default=False, description='Enable Fortran interface and examples')
- variant('simgrid', default=False, description='Enable SimGrid support')
- variant('simgridmc', default=False, description='Enable SimGrid model checker support')
- variant('examples', default=True, description='Enable Examples')
-
- depends_on("pkgconfig", type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ url = "https://files.inria.fr/starpu/starpu-1.3.9/starpu-1.3.9.tar.gz"
+ git = "https://gitlab.inria.fr/starpu/starpu.git"
+
+ maintainers = ["nfurmento", "sthibaul"]
+
+ version("1.3.9", sha256="73adf2a5d25b04023132cfb1a8d9293b356354af7d1134e876122a205128d241")
+ version("1.3.8", sha256="d35a27b219af8e7973888ebbff728ec0112ae9cda88d6b79c4cc7a1399b4d052")
+ version("1.3.7", sha256="1d7e01567fbd4a66b7e563626899374735e37883226afb96c8952fea1dab77c2")
+ version("1.3.6", sha256="ca71bfc5e66bbef6838a81de80fe62ff1037c3bbf902f25d3812a6f63fd8091a")
+ version("1.3.5", sha256="910456a44cbac798709d3d3dfa808b5730b56cb79d6e3d8af9c3723856c26eb9")
+ version("1.3.3", sha256="9dee3ac5ead3fb6911ac0eb5bef6681e8b6d70be2d55e3df5f725dd1268ca942")
+ version("1.3.2", sha256="6c49441bf9d91d8e707d7c4a1df6124138e8a89a55c5f9ff514843415ff7e0b8")
+ version("1.3.1", sha256="84120ec1e5b8655d4778a1263ac6e82857c7287279d8e4f8df24bfffc92613ba")
+ version("1.3.0", sha256="7e06841bddb4b4c7e04e87230cd76b839ef9618d6f4e8ac9b045ec1a80a631c4")
+ version("1.2.8", sha256="b6666dfbc8f248d20df232f27b0edbbb0b426258eac55ec693e45373ba5a75fb")
+ version("1.2.7", sha256="be301a2718d2ca24e125d0c70f98d5bb74525f5908b3d10e63fb980918b5a16f")
+ version("1.2.6", sha256="eb67a7676777b6ed583722aca5a9f63145b842f390ac2f5b3cbc36fe910d964c")
+ version("1.2.5", sha256="1f22eae5c9ee4cae1c8020c5a18f4e36c05c43624bd2ba1f5356a8962d2bdae9")
+ version("1.2.4", sha256="4c99f41a29a5056685a086dc6e299f5bd8c79146f1f0543f1a5882ec5100a9bd")
+ version("1.2.3", sha256="295d39da17ad17752c1cb91e0009fc9b3630bc4ac7db7e2e43433ec9024dc6db")
+ version("1.2.2", sha256="1677990bb9aa8e574634f2407a63aa797313fcb9a0d544b7ac60df90a37e3057")
+ version("1.2.1", sha256="2e0c13f9be7bf7f3c2ce73340ca773d7a0c25bf66a822e44d8fe6407a04f8d77")
+ version("1.2.0", sha256="c0b09a946bcbc680dd169d75856dc759abd98685da777afccc3366998b218a75")
+ version("1.1.6", sha256="c28749b8f0a1586b814cb7d49dffb0f2631dde849591e697c40ef693a8fd54d8")
+
+ version("develop", branch="master")
+ version("master", branch="master")
+ version("git-1.1", branch="starpu-1.1")
+ version("git-1.2", branch="starpu-1.2")
+ version("git-1.3", branch="starpu-1.3")
+
+ variant("shared", default=True, description="Build STARPU as a shared library")
+ variant("fast", default=True, description="Disable runtime assertions")
+ variant("debug", default=False, description="Enable debug symbols")
+ variant("verbose", default=False, description="Enable verbose debugging")
+ variant("fxt", default=False, description="Enable FxT tracing support")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("opencl", default=False, description="Enable OpenCL support")
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("fortran", default=False, description="Enable Fortran interface and examples")
+ variant("simgrid", default=False, description="Enable SimGrid support")
+ variant("simgridmc", default=False, description="Enable SimGrid model checker support")
+ variant("examples", default=True, description="Enable Examples")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
depends_on("hwloc")
- depends_on("hwloc+cuda", when='+cuda')
- depends_on("mpi", when='+mpi~simgrid')
- depends_on("cuda", when='+cuda~simgrid')
- depends_on("fxt", when='+fxt')
- depends_on("simgrid", when='+simgrid')
- depends_on("simgrid+smpi", when='+simgrid+mpi')
- depends_on("simgrid+mc", when='+simgridmc')
-
- conflicts('+shared', when='+mpi+simgrid', msg="Simgrid MPI cannot be built with a shared library")
+ depends_on("hwloc+cuda", when="+cuda")
+ depends_on("mpi", when="+mpi~simgrid")
+ depends_on("cuda", when="+cuda~simgrid")
+ depends_on("fxt", when="+fxt")
+ depends_on("simgrid", when="+simgrid")
+ depends_on("simgrid+smpi", when="+simgrid+mpi")
+ depends_on("simgrid+mc", when="+simgridmc")
+
+ conflicts(
+ "+shared", when="+mpi+simgrid", msg="Simgrid MPI cannot be built with a shared library"
+ )
def autoreconf(self, spec, prefix):
if not os.path.isfile("./configure"):
@@ -95,59 +97,55 @@ class Starpu(AutotoolsPackage):
spec = self.spec
config_args = [
- '--disable-build-doc',
- '--enable-blas-lib=none',
- '--disable-mlr',
+ "--disable-build-doc",
+ "--enable-blas-lib=none",
+ "--disable-mlr",
]
# add missing lib for simgrid static compilation,
# already fixed since StarPU 1.2.1
- if spec.satisfies('+fxt'):
- mf = FileFilter('configure')
- mf.filter('libfxt.a -lrt', 'libfxt.a -lrt -lbfd')
+ if spec.satisfies("+fxt"):
+ mf = FileFilter("configure")
+ mf.filter("libfxt.a -lrt", "libfxt.a -lrt -lbfd")
mpicc = ""
- if spec.satisfies('+mpi~simgrid'):
- mpicc = spec['mpi'].mpicc
- elif spec.satisfies('+mpi+simgrid'):
- mpicc = "%s/bin/smpicc" % spec['simgrid'].prefix
-
- config_args.extend([
- "--%s-shared" % ('enable' if '+shared' in spec else 'disable'),
- "--%s-debug" % ('enable' if '+debug' in spec else 'disable'),
- "--%s-verbose" % ('enable' if '+verbose' in spec else 'disable'),
- "--%s-fast" % ('enable' if '+fast' in spec else 'disable'),
-
- "--%s-build-tests" % ('enable' if '+examples' in spec else 'disable'),
- "--%s-build-examples" % ('enable' if '+examples' in spec else 'disable'),
-
- "--%s-fortran" % ('enable' if '+fortran' in spec else 'disable'),
- "--%s-openmp" % ('enable' if '+openmp' in spec else 'disable'),
-
- "--%s-opencl" % ('disable' if '~opencl' in spec
- or '+simgrid' in spec else 'enable'),
- "--%s-cuda" % ('disable' if '~cuda' in spec
- or '+simgrid' in spec else 'enable'),
-
- "--disable-mpi" if '~mpi' in spec else "--enable-mpi",
- "--without-mpicc" if '~mpi' in spec else "--with-mpicc=%s" % mpicc,
-
- "--with-hwloc=%s" % spec['hwloc'].prefix,
- ])
-
- if spec.satisfies('+fxt'):
- config_args.append("--with-fxt=%s" % spec['fxt'].prefix)
- if spec.satisfies('@1.2:') or spec.satisfies('@git-1.2'):
+ if spec.satisfies("+mpi~simgrid"):
+ mpicc = spec["mpi"].mpicc
+ elif spec.satisfies("+mpi+simgrid"):
+ mpicc = "%s/bin/smpicc" % spec["simgrid"].prefix
+
+ config_args.extend(
+ [
+ "--%s-shared" % ("enable" if "+shared" in spec else "disable"),
+ "--%s-debug" % ("enable" if "+debug" in spec else "disable"),
+ "--%s-verbose" % ("enable" if "+verbose" in spec else "disable"),
+ "--%s-fast" % ("enable" if "+fast" in spec else "disable"),
+ "--%s-build-tests" % ("enable" if "+examples" in spec else "disable"),
+ "--%s-build-examples" % ("enable" if "+examples" in spec else "disable"),
+ "--%s-fortran" % ("enable" if "+fortran" in spec else "disable"),
+ "--%s-openmp" % ("enable" if "+openmp" in spec else "disable"),
+ "--%s-opencl"
+ % ("disable" if "~opencl" in spec or "+simgrid" in spec else "enable"),
+ "--%s-cuda" % ("disable" if "~cuda" in spec or "+simgrid" in spec else "enable"),
+ "--disable-mpi" if "~mpi" in spec else "--enable-mpi",
+ "--without-mpicc" if "~mpi" in spec else "--with-mpicc=%s" % mpicc,
+ "--with-hwloc=%s" % spec["hwloc"].prefix,
+ ]
+ )
+
+ if spec.satisfies("+fxt"):
+ config_args.append("--with-fxt=%s" % spec["fxt"].prefix)
+ if spec.satisfies("@1.2:") or spec.satisfies("@git-1.2"):
config_args.append("--enable-paje-codelet-details")
- if spec.satisfies('+simgrid'):
+ if spec.satisfies("+simgrid"):
config_args.append("--enable-simgrid")
- config_args.append("--with-simgrid-dir=%s" % spec['simgrid'].prefix)
- if spec.satisfies('+simgridmc'):
+ config_args.append("--with-simgrid-dir=%s" % spec["simgrid"].prefix)
+ if spec.satisfies("+simgridmc"):
config_args.append("--enable-simgrid-mc")
# On OSX, deactivate glpk
- if spec.satisfies('platform=darwin'):
+ if spec.satisfies("platform=darwin"):
config_args.append("--disable-glpk")
return config_args
diff --git a/var/spack/repos/builtin/packages/startup-notification/package.py b/var/spack/repos/builtin/packages/startup-notification/package.py
index b3c470f8fe..1fbc72e2d5 100644
--- a/var/spack/repos/builtin/packages/startup-notification/package.py
+++ b/var/spack/repos/builtin/packages/startup-notification/package.py
@@ -11,10 +11,10 @@ class StartupNotification(AutotoolsPackage):
freedesktop startup notification protocol."""
homepage = "https://www.freedesktop.org/wiki/Software/startup-notification/"
- url = "https://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz"
+ url = "https://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz"
- version('0.12', sha256='3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a')
+ version("0.12", sha256="3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a")
- depends_on('libx11')
- depends_on('libxcb')
- depends_on('xcb-util')
+ depends_on("libx11")
+ depends_on("libxcb")
+ depends_on("xcb-util")
diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py
index 052ed218e0..16a67ec504 100644
--- a/var/spack/repos/builtin/packages/stat/package.py
+++ b/var/spack/repos/builtin/packages/stat/package.py
@@ -11,87 +11,113 @@ class Stat(AutotoolsPackage):
"""Library to create, manipulate, and export graphs Graphlib."""
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']
+ url = "https://github.com/LLNL/STAT/archive/v2.0.0.tar.gz"
+ git = "https://github.com/llnl/stat.git"
+ maintainers = ["lee218llnl"]
- version('develop', branch='develop')
- version('4.1.0', sha256='1d5b00afd563cf3bd9dd40818c44a03d7d4b13356216881513c058566c3b0080',
- url='https://github.com/LLNL/STAT/files/6193568/stat-4.1.0.tar.gz')
- version('4.0.2', sha256='9ece10dde8e1579c9db469ac8d2391b26e59498c0947dbb271c2d01d7ef0a65d',
- url='https://github.com/LLNL/STAT/releases/download/v4.0.2/stat-4.0.2.tar.gz')
- version('4.0.1', sha256='ae3fbd6946003fb16233d82d40285780a9a802da5fe30d09adb8a8b2a2cc4ad6',
- url='https://github.com/LLNL/STAT/files/2489327/stat-4.0.1.tar.gz')
- version('4.0.0', sha256='1c4f62686645f6dc1d9ef890acc9c2839c150789dc220718775878feb41bdabf',
- url='https://github.com/LLNL/STAT/releases/download/v4.0.0/stat-4.0.0.tar.gz')
- version('3.0.1', sha256='540916ffb92026ca7aa825a2320095a89b9b4fd3426ee7657b44ac710618947e',
- url='https://github.com/LLNL/STAT/files/911503/stat-3.0.1.zip',
- deprecated=True)
- version('3.0.0', sha256='b95cac82989e273e566f16ba17a75526374ee8e0ef066a411977e1935967df57',
- url='https://github.com/LLNL/STAT/releases/download/v3.0.0/STAT-3.0.0.tar.gz',
- deprecated=True)
- version('2.2.0', sha256='ed4732bfbe942ca8e29342f24f48e0c295989b0639a548febe7a1c1390ae1993',
- deprecated=True)
- version('2.1.0', sha256='497ed2bd1127cb2e97b32a30a4f62b6b298d18f3313c0278dd908c6ecba64f43',
- deprecated=True)
- version('2.0.0', sha256='b19587c2166b5d4d3a89a0ec5433ac61335aa7ad5cfa5a3b4406f5ea6c0bf0ac',
- deprecated=True)
+ version("develop", branch="develop")
+ version(
+ "4.1.0",
+ sha256="1d5b00afd563cf3bd9dd40818c44a03d7d4b13356216881513c058566c3b0080",
+ url="https://github.com/LLNL/STAT/files/6193568/stat-4.1.0.tar.gz",
+ )
+ version(
+ "4.0.2",
+ sha256="9ece10dde8e1579c9db469ac8d2391b26e59498c0947dbb271c2d01d7ef0a65d",
+ url="https://github.com/LLNL/STAT/releases/download/v4.0.2/stat-4.0.2.tar.gz",
+ )
+ version(
+ "4.0.1",
+ sha256="ae3fbd6946003fb16233d82d40285780a9a802da5fe30d09adb8a8b2a2cc4ad6",
+ url="https://github.com/LLNL/STAT/files/2489327/stat-4.0.1.tar.gz",
+ )
+ version(
+ "4.0.0",
+ sha256="1c4f62686645f6dc1d9ef890acc9c2839c150789dc220718775878feb41bdabf",
+ url="https://github.com/LLNL/STAT/releases/download/v4.0.0/stat-4.0.0.tar.gz",
+ )
+ version(
+ "3.0.1",
+ sha256="540916ffb92026ca7aa825a2320095a89b9b4fd3426ee7657b44ac710618947e",
+ url="https://github.com/LLNL/STAT/files/911503/stat-3.0.1.zip",
+ deprecated=True,
+ )
+ version(
+ "3.0.0",
+ sha256="b95cac82989e273e566f16ba17a75526374ee8e0ef066a411977e1935967df57",
+ url="https://github.com/LLNL/STAT/releases/download/v3.0.0/STAT-3.0.0.tar.gz",
+ deprecated=True,
+ )
+ version(
+ "2.2.0",
+ sha256="ed4732bfbe942ca8e29342f24f48e0c295989b0639a548febe7a1c1390ae1993",
+ deprecated=True,
+ )
+ version(
+ "2.1.0",
+ sha256="497ed2bd1127cb2e97b32a30a4f62b6b298d18f3313c0278dd908c6ecba64f43",
+ deprecated=True,
+ )
+ version(
+ "2.0.0",
+ sha256="b19587c2166b5d4d3a89a0ec5433ac61335aa7ad5cfa5a3b4406f5ea6c0bf0ac",
+ deprecated=True,
+ )
# TODO: dysect requires Dyninst patch for version 3.0.0b
- variant('dysect', default=False, description="enable DySectAPI")
- variant('examples', default=False, description="enable examples")
- variant('fgfs', default=True, description="enable file broadcasting")
- variant('gui', default=True, description="enable GUI")
+ variant("dysect", default=False, description="enable DySectAPI")
+ variant("examples", default=False, description="enable examples")
+ variant("fgfs", default=True, description="enable file broadcasting")
+ variant("gui", default=True, description="enable GUI")
- depends_on('autoconf', type='build')
- depends_on('automake@:1.15', type='build')
- depends_on('libtool', type='build')
- depends_on('dyninst@:11.9', when='~dysect')
- depends_on('dyninst@:9', when='@:4.0.1')
- depends_on('dyninst@8.2.1+stat_dysect', when='+dysect')
+ depends_on("autoconf", type="build")
+ depends_on("automake@:1.15", type="build")
+ depends_on("libtool", type="build")
+ depends_on("dyninst@:11.9", when="~dysect")
+ depends_on("dyninst@:9", when="@:4.0.1")
+ depends_on("dyninst@8.2.1+stat_dysect", when="+dysect")
# we depend on fgfs@master to avoid seg faults with fgfs 1.1
- depends_on('fast-global-file-status@master', when='+fgfs')
- depends_on('graphlib@2.0.0', when='@2.0.0:2.2.0')
- depends_on('graphlib@3.0.0', when='@3:')
- depends_on('graphviz', type=('build', 'link', 'run'))
+ depends_on("fast-global-file-status@master", when="+fgfs")
+ depends_on("graphlib@2.0.0", when="@2.0.0:2.2.0")
+ depends_on("graphlib@3.0.0", when="@3:")
+ depends_on("graphviz", type=("build", "link", "run"))
# we depend on mpa@master for bug fixes since launchmon 1.0.2
- depends_on('launchmon@master')
- depends_on('mrnet')
- depends_on('python')
- depends_on('python@:2.8', when='@:4.0.0')
- depends_on('py-pygtk', type=('build', 'run'), when='@:4.0.0 +gui')
- depends_on('py-enum34', type=('run'), when='@:4.0.0')
- depends_on('py-xdot@1.0', when='@4.0.1: +gui')
- depends_on('swig')
- depends_on('mpi', when='+examples')
+ depends_on("launchmon@master")
+ depends_on("mrnet")
+ depends_on("python")
+ depends_on("python@:2.8", when="@:4.0.0")
+ depends_on("py-pygtk", type=("build", "run"), when="@:4.0.0 +gui")
+ depends_on("py-enum34", type=("run"), when="@:4.0.0")
+ depends_on("py-xdot@1.0", when="@4.0.1: +gui")
+ depends_on("swig")
+ depends_on("mpi", when="+examples")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- patch('configure_mpicxx.patch', when='@2.1.0')
+ patch("configure_mpicxx.patch", when="@2.1.0")
# No Mac support due to dependencies like dyninst, elf etc.
- conflicts('platform=darwin', msg='macOS is not supported')
+ conflicts("platform=darwin", msg="macOS is not supported")
def configure_args(self):
spec = self.spec
args = [
- "--with-launchmon=%s" % spec['launchmon'].prefix,
- "--with-mrnet=%s" % spec['mrnet'].prefix,
- "--with-graphlib=%s" % spec['graphlib'].prefix,
- "--with-stackwalker=%s" % spec['dyninst'].prefix,
- "--with-python=%s" % spec['python'].command.path,
- "--with-boost=%s" % spec['boost'].prefix,
+ "--with-launchmon=%s" % spec["launchmon"].prefix,
+ "--with-mrnet=%s" % spec["mrnet"].prefix,
+ "--with-graphlib=%s" % spec["graphlib"].prefix,
+ "--with-stackwalker=%s" % spec["dyninst"].prefix,
+ "--with-python=%s" % spec["python"].command.path,
+ "--with-boost=%s" % spec["boost"].prefix,
]
- if '+fgfs' in spec:
- args.append('--with-fgfs=%s'
- % spec['fast-global-file-status'].prefix)
- if '+dysect' in spec:
- args.append('--enable-dysectapi')
- if '~gui' in spec:
- args.append('--disable-gui')
- if '~examples' in spec:
- args.append('--disable-examples')
+ if "+fgfs" in spec:
+ args.append("--with-fgfs=%s" % spec["fast-global-file-status"].prefix)
+ if "+dysect" in spec:
+ args.append("--enable-dysectapi")
+ if "~gui" in spec:
+ args.append("--disable-gui")
+ if "~examples" in spec:
+ args.append("--disable-examples")
return args
diff --git a/var/spack/repos/builtin/packages/stata/package.py b/var/spack/repos/builtin/packages/stata/package.py
index c3b0430356..9d27afe31c 100644
--- a/var/spack/repos/builtin/packages/stata/package.py
+++ b/var/spack/repos/builtin/packages/stata/package.py
@@ -11,29 +11,29 @@ from spack.package import *
class Stata(Package):
"""STATA is a general-purpose statistical software package developed
- by StataCorp."""
-
-# Known limitations of this installer:
-# * This really only installs the command line version of the program. To
-# install GUI support there are extra packages needed that I can't easily
-# test right now (should be installable via yum as a temp workaround):
-# libgtk-x11-2.0.so libgdk-x11-2.0.so libatk-1.0.so libgdk_pixbuf-2.0.so
-# Those libraries appear to be provided by: pango gdk-pixbuf2 gtk2
-#
-# * There are two popular environment variables that can be set, but vary from
-# place to place, so future enhancement maybe to support STATATMP and TMPDIR.
-#
-# * I haven't tested any installer version but 15.
+ by StataCorp."""
+
+ # Known limitations of this installer:
+ # * This really only installs the command line version of the program. To
+ # install GUI support there are extra packages needed that I can't easily
+ # test right now (should be installable via yum as a temp workaround):
+ # libgtk-x11-2.0.so libgdk-x11-2.0.so libatk-1.0.so libgdk_pixbuf-2.0.so
+ # Those libraries appear to be provided by: pango gdk-pixbuf2 gtk2
+ #
+ # * There are two popular environment variables that can be set, but vary from
+ # place to place, so future enhancement maybe to support STATATMP and TMPDIR.
+ #
+ # * I haven't tested any installer version but 15.
homepage = "https://www.stata.com/"
manual_download = True
# url = "stata"
- version('16', 'a13a6a92558eeb3c6cb3013c458a6777e54c21af43599df6b0a924f5f5c2d5d2')
- version('15', '2486f4c7db1e7b453004c7bd3f8da40ba1e30be150613065c7b82b1915259016')
+ version("16", "a13a6a92558eeb3c6cb3013c458a6777e54c21af43599df6b0a924f5f5c2d5d2")
+ version("15", "2486f4c7db1e7b453004c7bd3f8da40ba1e30be150613065c7b82b1915259016")
- depends_on('libpng@1.2.57', when='@15', type='run')
- depends_on('libpng@1.6.0:1.6', when='@16', type='run')
+ depends_on("libpng@1.2.57", when="@15", type="run")
+ depends_on("libpng@1.6.0:1.6", when="@16", type="run")
# STATA is downloaded from user/pass protected ftp as Stata15Linux64.tar.gz
def url_for_version(self, version):
@@ -41,8 +41,8 @@ class Stata(Package):
# STATA is simple and needs really just the PATH set.
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('LD_LIBRARY_PATH', self.spec['libpng'].prefix.lib)
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", self.spec["libpng"].prefix.lib)
# Extracting the file provides the following:
# ./unix/
@@ -81,13 +81,13 @@ class Stata(Package):
# $ stinit
def install(self, spec, prefix):
- bash = which('bash')
- tar = which('tar')
+ bash = which("bash")
+ tar = which("tar")
- res_dir = 'unix/linux64/'
+ res_dir = "unix/linux64/"
- if self.spec.satisfies('@16:'):
- res_dir = 'unix/linux64p/'
+ if self.spec.satisfies("@16:"):
+ res_dir = "unix/linux64p/"
# Step 1.
x = datetime.now()
@@ -95,13 +95,13 @@ class Stata(Package):
fh.write(x.strftime("%a %b %d %H:%M:%S %Z %Y"))
# Step 2.
- instlist = ['ado.taz', 'base.taz', 'bins.taz', 'docs.taz']
+ instlist = ["ado.taz", "base.taz", "bins.taz", "docs.taz"]
for instfile in instlist:
- tar('-x', '-z', '-f', res_dir + instfile)
+ tar("-x", "-z", "-f", res_dir + instfile)
# Step 3.
- install(res_dir + 'setrwxp', 'setrwxp')
- install(res_dir + 'inst2', 'inst2')
+ install(res_dir + "setrwxp", "setrwxp")
+ install(res_dir + "inst2", "inst2")
# Step 4. Since the install script calls out specific permissions and
# could change in the future (or old versions) I thought it best to
@@ -109,4 +109,4 @@ class Stata(Package):
bash("./setrwxp", "now")
# Install should now be good to copy into the installation directory.
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/static-analysis-suite/package.py b/var/spack/repos/builtin/packages/static-analysis-suite/package.py
index f5ad51eda8..e2467ec98b 100644
--- a/var/spack/repos/builtin/packages/static-analysis-suite/package.py
+++ b/var/spack/repos/builtin/packages/static-analysis-suite/package.py
@@ -11,18 +11,16 @@ class StaticAnalysisSuite(CMakePackage):
analysis on C++ code."""
homepage = "https://github.com/dpiparo/SAS"
- url = "https://github.com/dpiparo/SAS/archive/0.1.3.tar.gz"
+ url = "https://github.com/dpiparo/SAS/archive/0.1.3.tar.gz"
- version('0.2.0', sha256='a369e56f8edc61dbf59ae09dbb11d98bc05fd337c5e47e13af9c913bf7bfc538')
- version('0.1.4', sha256='9b2a3436efe3c8060ee4882f3ed37d848ee79a63d6055a71a23fad6409559f40')
- version('0.1.3', sha256='93c3194bb7d518c215e79436bfb43304683832b3cc66bfc838f6195ce4574943')
+ version("0.2.0", sha256="a369e56f8edc61dbf59ae09dbb11d98bc05fd337c5e47e13af9c913bf7bfc538")
+ version("0.1.4", sha256="9b2a3436efe3c8060ee4882f3ed37d848ee79a63d6055a71a23fad6409559f40")
+ version("0.1.3", sha256="93c3194bb7d518c215e79436bfb43304683832b3cc66bfc838f6195ce4574943")
- depends_on('python@2.7:')
- depends_on('llvm@3.5:')
- depends_on('cmake@2.8:', type='build')
+ depends_on("python@2.7:")
+ depends_on("llvm@3.5:")
+ depends_on("cmake@2.8:", type="build")
def cmake_args(self):
- args = [
- '-DLLVM_DEV_DIR=%s' % self.spec['llvm'].prefix
- ]
+ args = ["-DLLVM_DEV_DIR=%s" % self.spec["llvm"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/stc/package.py b/var/spack/repos/builtin/packages/stc/package.py
index 65fd7e4cdb..51c6577c82 100644
--- a/var/spack/repos/builtin/packages/stc/package.py
+++ b/var/spack/repos/builtin/packages/stc/package.py
@@ -10,33 +10,33 @@ from spack.package import *
class Stc(AutotoolsPackage):
"""STC: The Swift-Turbine Compiler"""
- homepage = 'http://swift-lang.org/Swift-T'
- url = 'https://swift-lang.github.io/swift-t-downloads/spack/stc-0.9.0.tar.gz'
- git = "https://github.com/swift-lang/swift-t.git"
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('0.9.0', sha256='edf187344ce860476473ab6599f042cd22ed029aa186d512135990accb9d260f')
- version('0.8.3', sha256='d61ca80137a955b12e84e41cb8a78ce1a58289241a2665076f12f835cf68d798')
- version('0.8.2', sha256='13f0f03fdfcca3e63d2d58d7e7dbdddc113d5b9826c9357ab0713b63e8e42c5e')
-
- depends_on('java', type=('build', 'run'))
- depends_on('ant', type='build')
- depends_on('turbine', type=('build', 'run'))
- depends_on('turbine@master', type=('build', 'run'), when='@master')
- depends_on('zsh', type=('build', 'run'))
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ homepage = "http://swift-lang.org/Swift-T"
+ url = "https://swift-lang.github.io/swift-t-downloads/spack/stc-0.9.0.tar.gz"
+ git = "https://github.com/swift-lang/swift-t.git"
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("0.9.0", sha256="edf187344ce860476473ab6599f042cd22ed029aa186d512135990accb9d260f")
+ version("0.8.3", sha256="d61ca80137a955b12e84e41cb8a78ce1a58289241a2665076f12f835cf68d798")
+ version("0.8.2", sha256="13f0f03fdfcca3e63d2d58d7e7dbdddc113d5b9826c9357ab0713b63e8e42c5e")
+
+ depends_on("java", type=("build", "run"))
+ depends_on("ant", type="build")
+ depends_on("turbine", type=("build", "run"))
+ depends_on("turbine@master", type=("build", "run"), when="@master")
+ depends_on("zsh", type=("build", "run"))
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
@property
def configure_directory(self):
- if self.version == Version('master'):
- return 'stc/code'
+ if self.version == Version("master"):
+ return "stc/code"
else:
- return '.'
+ return "."
def configure_args(self):
- args = ['--with-turbine=' + self.spec['turbine'].prefix]
+ args = ["--with-turbine=" + self.spec["turbine"].prefix]
return args
diff --git a/var/spack/repos/builtin/packages/steps/package.py b/var/spack/repos/builtin/packages/steps/package.py
index f225d02cfd..5d82deb3f5 100644
--- a/var/spack/repos/builtin/packages/steps/package.py
+++ b/var/spack/repos/builtin/packages/steps/package.py
@@ -10,7 +10,7 @@ class Steps(CMakePackage):
"""STochastic Engine for Pathway Simulation"""
homepage = "https://groups.oist.jp/cnu/software"
- git = "https://github.com/CNS-OIST/STEPS.git"
+ git = "https://github.com/CNS-OIST/STEPS.git"
version("3.3.0", submodules=True)
version("3.2.0", submodules=True)
@@ -28,7 +28,7 @@ class Steps(CMakePackage):
depends_on("python")
depends_on("py-cython")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def cmake_args(self):
args = []
@@ -54,10 +54,10 @@ class Steps(CMakePackage):
else:
args.append("-DUSE_MPI:BOOL=False")
- args.append('-DBLAS_LIBRARIES=' + spec['blas'].libs.joined(";"))
+ args.append("-DBLAS_LIBRARIES=" + spec["blas"].libs.joined(";"))
return args
def setup_run_environment(self, env):
# This recipe exposes a Python package from a C++ CMake project.
# This hook is required to reproduce what Spack PythonPackage does.
- env.prepend_path('PYTHONPATH', self.prefix)
+ env.prepend_path("PYTHONPATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/stinger/package.py b/var/spack/repos/builtin/packages/stinger/package.py
index abd8ed3e65..f984c483ea 100644
--- a/var/spack/repos/builtin/packages/stinger/package.py
+++ b/var/spack/repos/builtin/packages/stinger/package.py
@@ -12,15 +12,15 @@ class Stinger(CMakePackage):
to millions of updates per second."""
homepage = "http://www.stingergraph.com/"
- git = "https://github.com/stingergraph/stinger.git"
+ git = "https://github.com/stingergraph/stinger.git"
- version('master', branch='master')
+ version("master", branch="master")
parallel = False
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('./bin', prefix.bin)
- install_tree('./lib', prefix.lib)
- install_tree('./include', prefix.include)
- install_tree('./share', prefix.share)
+ install_tree("./bin", prefix.bin)
+ install_tree("./lib", prefix.lib)
+ install_tree("./include", prefix.include)
+ install_tree("./share", prefix.share)
diff --git a/var/spack/repos/builtin/packages/storm/package.py b/var/spack/repos/builtin/packages/storm/package.py
index 712827edbb..ba7d17d39d 100644
--- a/var/spack/repos/builtin/packages/storm/package.py
+++ b/var/spack/repos/builtin/packages/storm/package.py
@@ -14,18 +14,18 @@ class Storm(Package):
"""
homepage = "https://storm.apache.org/"
- url = "https://archive.apache.org/dist/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz"
+ url = "https://archive.apache.org/dist/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz"
list_url = "https://archive.apache.org/dist/storm/"
list_depth = 1
- version('2.3.0', sha256='49c2255b26633c6fd96399c520339e459fcda29a0e7e6d0c8775cefcff6c3636')
- version('2.2.0', sha256='f621163f349a8e85130bc3d2fbb34e3b08f9c039ccac5474f3724e47a3a38675')
- version('2.1.0', sha256='e279a495dda42af7d9051543989f74a1435a5bda53e795a1de4a1def32027fc4')
- version('2.0.0', sha256='0a4a6f985242a99f899a01bd01dacf9365f381e2acc473caa84073fbe84f6703')
- version('1.2.3', sha256='d45322253db06353a521284f31b30bd964dab859f3a279a305bd79112803425a')
+ version("2.3.0", sha256="49c2255b26633c6fd96399c520339e459fcda29a0e7e6d0c8775cefcff6c3636")
+ version("2.2.0", sha256="f621163f349a8e85130bc3d2fbb34e3b08f9c039ccac5474f3724e47a3a38675")
+ version("2.1.0", sha256="e279a495dda42af7d9051543989f74a1435a5bda53e795a1de4a1def32027fc4")
+ version("2.0.0", sha256="0a4a6f985242a99f899a01bd01dacf9365f381e2acc473caa84073fbe84f6703")
+ version("1.2.3", sha256="d45322253db06353a521284f31b30bd964dab859f3a279a305bd79112803425a")
- depends_on('java@8:', type=('build', 'run'))
- depends_on('zookeeper', type='run')
+ depends_on("java@8:", type=("build", "run"))
+ depends_on("zookeeper", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/stow/package.py b/var/spack/repos/builtin/packages/stow/package.py
index a26f62d1a6..182abcb35b 100644
--- a/var/spack/repos/builtin/packages/stow/package.py
+++ b/var/spack/repos/builtin/packages/stow/package.py
@@ -9,20 +9,20 @@ from spack.package import *
class Stow(AutotoolsPackage, GNUMirrorPackage):
"""GNU Stow: a symlink farm manager
- GNU Stow is a symlink farm manager which takes distinct
- packages of software and/or data located in separate
- directories on the filesystem, and makes them appear to be
- installed in the same place."""
+ GNU Stow is a symlink farm manager which takes distinct
+ packages of software and/or data located in separate
+ directories on the filesystem, and makes them appear to be
+ installed in the same place."""
homepage = "https://www.gnu.org/software/stow/"
gnu_mirror_path = "stow/stow-2.2.2.tar.bz2"
- version('2.3.1', sha256='26a6cfdfdaca0eea742db5487798c15fcd01889dc86bc5aa62614ec9415a422f')
- version('2.2.2', sha256='a0022034960e47a8d23dffb822689f061f7a2d9101c9835cf11bf251597aa6fd')
- version('2.2.0', sha256='86bc30fe1d322a5c80ff3bd7580c2758149aad7c3bbfa18b48a9d95c25d66b05')
- version('2.1.3', sha256='2dff605c801fee9fb7d0fef6988bbb8a0511fad469129b20cae60e0544ba1443')
- version('2.1.2', sha256='dda4231dab409d906c5de7f6a706a765e6532768ebbffe34e1823e3371f891f9')
- version('2.1.1', sha256='8bdd21bb2ef6edf5812bf671e64cdd584d92d547d932406cef179646ea6d1998')
- version('2.1.0', sha256='f0e909034fd072b1f5289abb771133d5c4e88d82d4da84195891c53d9b0de5ca')
+ version("2.3.1", sha256="26a6cfdfdaca0eea742db5487798c15fcd01889dc86bc5aa62614ec9415a422f")
+ version("2.2.2", sha256="a0022034960e47a8d23dffb822689f061f7a2d9101c9835cf11bf251597aa6fd")
+ version("2.2.0", sha256="86bc30fe1d322a5c80ff3bd7580c2758149aad7c3bbfa18b48a9d95c25d66b05")
+ version("2.1.3", sha256="2dff605c801fee9fb7d0fef6988bbb8a0511fad469129b20cae60e0544ba1443")
+ version("2.1.2", sha256="dda4231dab409d906c5de7f6a706a765e6532768ebbffe34e1823e3371f891f9")
+ version("2.1.1", sha256="8bdd21bb2ef6edf5812bf671e64cdd584d92d547d932406cef179646ea6d1998")
+ version("2.1.0", sha256="f0e909034fd072b1f5289abb771133d5c4e88d82d4da84195891c53d9b0de5ca")
- depends_on('perl@5.6.1:')
+ depends_on("perl@5.6.1:")
diff --git a/var/spack/repos/builtin/packages/strace/package.py b/var/spack/repos/builtin/packages/strace/package.py
index f0c98f503d..08e4c3afd4 100644
--- a/var/spack/repos/builtin/packages/strace/package.py
+++ b/var/spack/repos/builtin/packages/strace/package.py
@@ -13,30 +13,30 @@ class Strace(AutotoolsPackage):
signal deliveries, and changes of process state."""
homepage = "https://strace.io"
- url = "https://github.com/strace/strace/releases/download/v5.2/strace-5.2.tar.xz"
+ url = "https://github.com/strace/strace/releases/download/v5.2/strace-5.2.tar.xz"
- conflicts('platform=darwin', msg='strace runs only on Linux.')
+ conflicts("platform=darwin", msg="strace runs only on Linux.")
- version('5.17', sha256='5fb298dbd1331fd1e1bc94c5c32395860d376101b87c6cd3d1ba9f9aa15c161f')
- version('5.12', sha256='29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4')
- version('5.11', sha256='ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879')
- version('5.10', sha256='fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c')
- version('5.9', sha256='39473eb8465546c3e940fb663cb381eba5613160c7302794699d194a4d5d66d9')
- version('5.8', sha256='df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9')
- version('5.7', sha256='b284b59f9bcd95b9728cea5bd5c0edc5ebe360af73dc76fbf6334f11c777ccd8')
- version('5.6', sha256='189968eeae06ed9e20166ec55a830943c84374676a457c9fe010edc7541f1b01')
- version('5.5', sha256='9f58958c8e59ea62293d907d10572e352b582bd7948ed21aa28ebb47e5bf30ff')
- version('5.4', sha256='f7d00514d51290b6db78ad7a9de709baf93caa5981498924cbc9a744cfd2a741')
- version('5.3', sha256='6c131198749656401fe3efd6b4b16a07ea867e8f530867ceae8930bbc937a047')
- version('5.2', sha256='d513bc085609a9afd64faf2ce71deb95b96faf46cd7bc86048bc655e4e4c24d2')
- version('5.1', sha256='f5a341b97d7da88ee3760626872a4899bf23cf8dee56901f114be5b1837a9a8b')
- version('5.0', sha256='3b7ad77eb2b81dc6078046a9cc56eed5242b67b63748e7fc28f7c2daf4e647da')
- version('4.21', sha256='5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37')
+ version("5.17", sha256="5fb298dbd1331fd1e1bc94c5c32395860d376101b87c6cd3d1ba9f9aa15c161f")
+ version("5.12", sha256="29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4")
+ version("5.11", sha256="ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879")
+ version("5.10", sha256="fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c")
+ version("5.9", sha256="39473eb8465546c3e940fb663cb381eba5613160c7302794699d194a4d5d66d9")
+ version("5.8", sha256="df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9")
+ version("5.7", sha256="b284b59f9bcd95b9728cea5bd5c0edc5ebe360af73dc76fbf6334f11c777ccd8")
+ version("5.6", sha256="189968eeae06ed9e20166ec55a830943c84374676a457c9fe010edc7541f1b01")
+ version("5.5", sha256="9f58958c8e59ea62293d907d10572e352b582bd7948ed21aa28ebb47e5bf30ff")
+ version("5.4", sha256="f7d00514d51290b6db78ad7a9de709baf93caa5981498924cbc9a744cfd2a741")
+ version("5.3", sha256="6c131198749656401fe3efd6b4b16a07ea867e8f530867ceae8930bbc937a047")
+ version("5.2", sha256="d513bc085609a9afd64faf2ce71deb95b96faf46cd7bc86048bc655e4e4c24d2")
+ version("5.1", sha256="f5a341b97d7da88ee3760626872a4899bf23cf8dee56901f114be5b1837a9a8b")
+ version("5.0", sha256="3b7ad77eb2b81dc6078046a9cc56eed5242b67b63748e7fc28f7c2daf4e647da")
+ version("4.21", sha256="5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37")
def configure_args(self):
args = []
- if self.spec.target.family == 'aarch64':
- args.append('--enable-mpers=no')
+ if self.spec.target.family == "aarch64":
+ args.append("--enable-mpers=no")
else:
- args.append('--enable-mpers=yes')
+ args.append("--enable-mpers=yes")
return args
diff --git a/var/spack/repos/builtin/packages/stream/package.py b/var/spack/repos/builtin/packages/stream/package.py
index 3d55ac3878..efe3a7bfda 100644
--- a/var/spack/repos/builtin/packages/stream/package.py
+++ b/var/spack/repos/builtin/packages/stream/package.py
@@ -12,31 +12,31 @@ class Stream(MakefilePackage):
computation rate for simple vector kernels."""
homepage = "https://www.cs.virginia.edu/stream/ref.html"
- git = "https://github.com/jeffhammond/STREAM.git"
+ git = "https://github.com/jeffhammond/STREAM.git"
- version('5.10')
+ version("5.10")
- variant('openmp', default=False, description='Build with OpenMP support')
+ variant("openmp", default=False, description="Build with OpenMP support")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
+ makefile = FileFilter("Makefile")
# Use the Spack compiler wrappers
- makefile.filter('CC = .*', 'CC = cc')
- makefile.filter('FC = .*', 'FC = f77')
+ makefile.filter("CC = .*", "CC = cc")
+ makefile.filter("FC = .*", "FC = f77")
- cflags = '-O2'
- fflags = '-O2'
- if '+openmp' in self.spec:
- cflags += ' ' + self.compiler.openmp_flag
- fflags += ' ' + self.compiler.openmp_flag
+ cflags = "-O2"
+ fflags = "-O2"
+ if "+openmp" in self.spec:
+ cflags += " " + self.compiler.openmp_flag
+ fflags += " " + self.compiler.openmp_flag
# Set the appropriate flags for this compiler
- makefile.filter('CFLAGS = .*', 'CFLAGS = {0}'.format(cflags))
- makefile.filter('FFLAGS = .*', 'FFLAGS = {0}'.format(fflags))
+ makefile.filter("CFLAGS = .*", "CFLAGS = {0}".format(cflags))
+ makefile.filter("FFLAGS = .*", "FFLAGS = {0}".format(fflags))
def install(self, spec, prefix):
# Manual installation
mkdir(prefix.bin)
- install('stream_c.exe', prefix.bin)
- install('stream_f.exe', prefix.bin)
+ install("stream_c.exe", prefix.bin)
+ install("stream_f.exe", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/strelka/package.py b/var/spack/repos/builtin/packages/strelka/package.py
index cb473c705a..7508c0ad5a 100644
--- a/var/spack/repos/builtin/packages/strelka/package.py
+++ b/var/spack/repos/builtin/packages/strelka/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class Strelka(CMakePackage):
"""Somatic and germline small variant caller for mapped sequencing
- data."""
+ data."""
homepage = "https://github.com/Illumina/strelka"
- url = "https://github.com/Illumina/strelka/releases/download/v2.8.2/strelka-2.8.2.release_src.tar.bz2"
+ url = "https://github.com/Illumina/strelka/releases/download/v2.8.2/strelka-2.8.2.release_src.tar.bz2"
- version('2.9.10', sha256='45e78efec6e5272697f1d0a95851c7ae0d623dc8f93846e11fe37f15da9f1e30')
- version('2.9.9', sha256='547b42ab983ba38a6459d47e8546daa6d571f370933542f02f3f3bd9abd13c16')
- version('2.9.8', sha256='dc12b894e1267a63f7049bc01402b284db1681c82fb2cac313324a6530cbc4ad')
- version('2.9.7', sha256='9b0db7cc32662488ea53931e1afccff3e7967cd3b492cc93e66a8115a1f4d016')
- version('2.9.6', sha256='db6fe97add75309954bb46f9c53e1c722d8a8d66adc976ff7e2e9788b7ff97fa')
- version('2.9.5', sha256='b3d70129508226280f4de9c328f3cd751e4cedba4383b0264a16ac37f73b1412')
- version('2.9.4', sha256='d06088bb2b033cfcda7263fe8fcf915cba10c77df963f116f64a57cd2682803f')
- version('2.9.3', sha256='9f2cd17b5326f09c499fb01d32d1bb61dec9a97c70199f685824e89bfcad2dee')
- version('2.9.2', sha256='47642c3138e126efaab485a40a9a954abfed34f8c88b107a46dbd64e3f1778a5')
- version('2.9.1', sha256='963e1935389d8777bcdfe77f6126a34a0f8ea5cc27a280e41ba67e9df88cf990')
- version('2.9.0', sha256='25b4dbd270f541bc6a172d12448c209586e9f00e86f56cfce98d1d5612bb4fb8')
- version('2.8.4', sha256='523fb89e7ba7717a61548fcd45b0ccd5c850a8f2b034ab1cf34ec74efb7260c2')
- version('2.8.3', sha256='4f6f8f433a3e1d7a59243bd75bc73dcfb309c1dacc79fe56fafd0ad96e856415')
- version('2.8.2', sha256='27415f7c14f92e0a6b80416283a0707daed121b8a3854196872981d132f1496b')
+ version("2.9.10", sha256="45e78efec6e5272697f1d0a95851c7ae0d623dc8f93846e11fe37f15da9f1e30")
+ version("2.9.9", sha256="547b42ab983ba38a6459d47e8546daa6d571f370933542f02f3f3bd9abd13c16")
+ version("2.9.8", sha256="dc12b894e1267a63f7049bc01402b284db1681c82fb2cac313324a6530cbc4ad")
+ version("2.9.7", sha256="9b0db7cc32662488ea53931e1afccff3e7967cd3b492cc93e66a8115a1f4d016")
+ version("2.9.6", sha256="db6fe97add75309954bb46f9c53e1c722d8a8d66adc976ff7e2e9788b7ff97fa")
+ version("2.9.5", sha256="b3d70129508226280f4de9c328f3cd751e4cedba4383b0264a16ac37f73b1412")
+ version("2.9.4", sha256="d06088bb2b033cfcda7263fe8fcf915cba10c77df963f116f64a57cd2682803f")
+ version("2.9.3", sha256="9f2cd17b5326f09c499fb01d32d1bb61dec9a97c70199f685824e89bfcad2dee")
+ version("2.9.2", sha256="47642c3138e126efaab485a40a9a954abfed34f8c88b107a46dbd64e3f1778a5")
+ version("2.9.1", sha256="963e1935389d8777bcdfe77f6126a34a0f8ea5cc27a280e41ba67e9df88cf990")
+ version("2.9.0", sha256="25b4dbd270f541bc6a172d12448c209586e9f00e86f56cfce98d1d5612bb4fb8")
+ version("2.8.4", sha256="523fb89e7ba7717a61548fcd45b0ccd5c850a8f2b034ab1cf34ec74efb7260c2")
+ version("2.8.3", sha256="4f6f8f433a3e1d7a59243bd75bc73dcfb309c1dacc79fe56fafd0ad96e856415")
+ version("2.8.2", sha256="27415f7c14f92e0a6b80416283a0707daed121b8a3854196872981d132f1496b")
- depends_on('python@2.4:2.7')
- depends_on('zlib')
- depends_on('bzip2')
- depends_on('cmake@2.8.5:', type='build')
+ depends_on("python@2.4:2.7")
+ depends_on("zlib")
+ depends_on("bzip2")
+ depends_on("cmake@2.8.5:", type="build")
depends_on(
- 'boost@1.56.0:'
- '+program_options+exception+filesystem+system+chrono+serialization+timer'
- '+container+test+math'
+ "boost@1.56.0:"
+ "+program_options+exception+filesystem+system+chrono+serialization+timer"
+ "+container+test+math"
)
diff --git a/var/spack/repos/builtin/packages/stress-ng/package.py b/var/spack/repos/builtin/packages/stress-ng/package.py
index a9bd7b5167..e4d895b3bf 100644
--- a/var/spack/repos/builtin/packages/stress-ng/package.py
+++ b/var/spack/repos/builtin/packages/stress-ng/package.py
@@ -14,36 +14,29 @@ class StressNg(MakefilePackage):
kernel interfaces."""
homepage = "https://kernel.ubuntu.com/~cking/stress-ng/"
- url = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-0.12.06.tar.xz"
+ url = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/stress-ng-0.12.06.tar.xz"
- version('0.12.06', sha256='75eb340266b1bbae944d8f9281af978bd5bc2c8085df97a098d5500d6f177296')
+ version("0.12.06", sha256="75eb340266b1bbae944d8f9281af978bd5bc2c8085df97a098d5500d6f177296")
- depends_on('libaio')
- depends_on('libbsd')
- depends_on('judy')
- depends_on('libatomic-ops')
- depends_on('zlib')
- depends_on('keyutils')
- depends_on('libgcrypt')
- depends_on('libcap')
+ depends_on("libaio")
+ depends_on("libbsd")
+ depends_on("judy")
+ depends_on("libatomic-ops")
+ depends_on("zlib")
+ depends_on("keyutils")
+ depends_on("libgcrypt")
+ depends_on("libcap")
- conflicts('platform=darwin', msg='stress-ng is linux-only')
+ conflicts("platform=darwin", msg="stress-ng is linux-only")
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdirp(prefix.man.man1)
- mkdirp(join_path(prefix.share,
- 'stress-ng',
- 'example-jobs'))
- mkdirp(join_path(prefix.share,
- 'bash-completion',
- 'completions'))
- install('stress-ng', prefix.bin)
- install('stress-ng.1', prefix.man.man1)
- install_tree('example-jobs',
- join_path(prefix.share,
- 'stress-ng'))
- install('bash-completion/stress-ng',
- join_path(prefix.share,
- 'bash-completion',
- 'completions'))
+ mkdirp(join_path(prefix.share, "stress-ng", "example-jobs"))
+ mkdirp(join_path(prefix.share, "bash-completion", "completions"))
+ install("stress-ng", prefix.bin)
+ install("stress-ng.1", prefix.man.man1)
+ install_tree("example-jobs", join_path(prefix.share, "stress-ng"))
+ install(
+ "bash-completion/stress-ng", join_path(prefix.share, "bash-completion", "completions")
+ )
diff --git a/var/spack/repos/builtin/packages/stress/package.py b/var/spack/repos/builtin/packages/stress/package.py
index e1053e88bb..d634357aab 100644
--- a/var/spack/repos/builtin/packages/stress/package.py
+++ b/var/spack/repos/builtin/packages/stress/package.py
@@ -15,6 +15,6 @@ class Stress(AutotoolsPackage):
# Moved from original homepage
# homepage = "https://people.seas.harvard.edu/~apw/stress/"
homepage = "https://github.com/javiroman/system-stress"
- url = "https://github.com/javiroman/system-stress/archive/v1.0.4.tar.gz"
+ url = "https://github.com/javiroman/system-stress/archive/v1.0.4.tar.gz"
- version('1.0.4', sha256='b03dbb9664d7f8dcb3eadc918c2e8eb822f5a3ba47d9bd51246540bac281bd75')
+ version("1.0.4", sha256="b03dbb9664d7f8dcb3eadc918c2e8eb822f5a3ba47d9bd51246540bac281bd75")
diff --git a/var/spack/repos/builtin/packages/string-view-lite/package.py b/var/spack/repos/builtin/packages/string-view-lite/package.py
index e48cb605c0..a3f02ea5bd 100644
--- a/var/spack/repos/builtin/packages/string-view-lite/package.py
+++ b/var/spack/repos/builtin/packages/string-view-lite/package.py
@@ -15,19 +15,18 @@ class StringViewLite(CMakePackage):
"""
homepage = "https://github.com/martinmoene/string-view-lite"
- url = "https://github.com/martinmoene/string-view-lite/archive/v1.0.0.tar.gz"
+ url = "https://github.com/martinmoene/string-view-lite/archive/v1.0.0.tar.gz"
- version('1.2.0', sha256='de5c8be782831bac7e7f9656b7fa185b015ae39fac8123195aeba7cbde019da4')
- version('1.1.0', sha256='88fb33ad7a345a25aca4ddf3244afd81b8d54787e5fb316a7ed60f702bc646cd')
- version('1.0.0', sha256='44e30dedd6f4777e646da26528f9d2d5cc96fd0fa79e2e5c0adc14817d048d63')
- version('0.2.0', sha256='c8ae699dfd2ccd15c5835e9b1d246834135bbb91b82f7fc4211b8ac366bffd34')
- version('0.1.0', sha256='7de87d6595230a6085655dab6145340bc423f2cf206263ef73c9b78f7b153340')
+ version("1.2.0", sha256="de5c8be782831bac7e7f9656b7fa185b015ae39fac8123195aeba7cbde019da4")
+ version("1.1.0", sha256="88fb33ad7a345a25aca4ddf3244afd81b8d54787e5fb316a7ed60f702bc646cd")
+ version("1.0.0", sha256="44e30dedd6f4777e646da26528f9d2d5cc96fd0fa79e2e5c0adc14817d048d63")
+ version("0.2.0", sha256="c8ae699dfd2ccd15c5835e9b1d246834135bbb91b82f7fc4211b8ac366bffd34")
+ version("0.1.0", sha256="7de87d6595230a6085655dab6145340bc423f2cf206263ef73c9b78f7b153340")
def cmake_args(self):
return [
- "-DSTRINGVIEW_LITE_OPT_BUILD_TESTS=%s"
- % ("ON" if self.run_tests else "OFF"),
- "-DSTRINGVIEW_LITE_OPT_BUILD_EXAMPLES=OFF"
+ "-DSTRINGVIEW_LITE_OPT_BUILD_TESTS=%s" % ("ON" if self.run_tests else "OFF"),
+ "-DSTRINGVIEW_LITE_OPT_BUILD_EXAMPLES=OFF",
]
# Pre-1.2.0 install was simply a copytree on the includes
@@ -41,7 +40,7 @@ class StringViewLite(CMakePackage):
@when("@:1.1")
def install(self, spec, prefix):
- copytree('include', prefix.include)
+ copytree("include", prefix.include)
@when("@:1.1")
def check(self):
diff --git a/var/spack/repos/builtin/packages/stringtie/package.py b/var/spack/repos/builtin/packages/stringtie/package.py
index 10ba057d9e..db954d05a5 100644
--- a/var/spack/repos/builtin/packages/stringtie/package.py
+++ b/var/spack/repos/builtin/packages/stringtie/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class Stringtie(MakefilePackage):
"""StringTie is a fast and highly efficient assembler of RNA-Seq alignments
- into potential transcripts."""
+ into potential transcripts."""
homepage = "https://ccb.jhu.edu/software/stringtie"
- url = "https://github.com/gpertea/stringtie/archive/v1.3.3b.tar.gz"
+ url = "https://github.com/gpertea/stringtie/archive/v1.3.3b.tar.gz"
- version('1.3.4d', sha256='0134c0adc264efd31a1df4301b33bfcf3b3fe96bd3990ce3df90819bad9af968')
- version('1.3.4a', sha256='6164a5fa9bf8807ef68ec89f47e3a61fe57fa07fe858f52fb6627f705bf71add')
- version('1.3.3b', sha256='30e8a3a29b474f0abeef1540d9b4624a827d8b29d7347226d86a38afea28bc0f')
+ version("1.3.4d", sha256="0134c0adc264efd31a1df4301b33bfcf3b3fe96bd3990ce3df90819bad9af968")
+ version("1.3.4a", sha256="6164a5fa9bf8807ef68ec89f47e3a61fe57fa07fe858f52fb6627f705bf71add")
+ version("1.3.3b", sha256="30e8a3a29b474f0abeef1540d9b4624a827d8b29d7347226d86a38afea28bc0f")
- depends_on('samtools')
+ depends_on("samtools")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('stringtie', prefix.bin)
+ install("stringtie", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/stripack/package.py b/var/spack/repos/builtin/packages/stripack/package.py
index 8b3b68dda4..50699fab58 100644
--- a/var/spack/repos/builtin/packages/stripack/package.py
+++ b/var/spack/repos/builtin/packages/stripack/package.py
@@ -18,52 +18,57 @@ class Stripack(MakefilePackage):
"""
homepage = "https://people.sc.fsu.edu/~jburkardt/f_src/stripack/stripack.html"
- version('develop', sha256='26c074bc46fb8549d7a42ec713636798297d7327c8f3ce0ba2d3348a501ffa7c', expand=False, url='https://people.sc.fsu.edu/~jburkardt/f_src/stripack/stripack.f90')
+ version(
+ "develop",
+ sha256="26c074bc46fb8549d7a42ec713636798297d7327c8f3ce0ba2d3348a501ffa7c",
+ expand=False,
+ url="https://people.sc.fsu.edu/~jburkardt/f_src/stripack/stripack.f90",
+ )
- @run_before('build')
+ @run_before("build")
def run_mkmake(self):
config = [
- 'BUILDIR ?= ' + join_path(self.build_directory, 'build'),
- 'DYLIB=' + dso_suffix,
- 'F90=' + self.compiler.fc,
- 'LD=' + self.compiler.fc,
- 'FFLAGS=' + self.compiler.fc_pic_flag,
- 'LDFLAGS=' + self.compiler.fc_pic_flag,
- '.SUFFIXES: .f .f90 .F90',
- '$(BUILDIR)/%.o: %.f90',
- '\t$(F90) $(FFLAGS) -c $< -o $@',
- 'all: $(BUILDIR)/stripack.o',
- '\t$(LD) -shared $(LDFLAGS) -o $(BUILDIR)/libstripack.$(DYLIB)'
- + ' $(BUILDIR)/stripack.o $(LIBS)',
+ "BUILDIR ?= " + join_path(self.build_directory, "build"),
+ "DYLIB=" + dso_suffix,
+ "F90=" + self.compiler.fc,
+ "LD=" + self.compiler.fc,
+ "FFLAGS=" + self.compiler.fc_pic_flag,
+ "LDFLAGS=" + self.compiler.fc_pic_flag,
+ ".SUFFIXES: .f .f90 .F90",
+ "$(BUILDIR)/%.o: %.f90",
+ "\t$(F90) $(FFLAGS) -c $< -o $@",
+ "all: $(BUILDIR)/stripack.o",
+ "\t$(LD) -shared $(LDFLAGS) -o $(BUILDIR)/libstripack.$(DYLIB)"
+ + " $(BUILDIR)/stripack.o $(LIBS)",
]
- with open('Makefile', 'w') as fh:
- fh.write('\n'.join(config))
- mkdirp(join_path(self.build_directory, 'build'))
+ with open("Makefile", "w") as fh:
+ fh.write("\n".join(config))
+ mkdirp(join_path(self.build_directory, "build"))
def setup_run_environment(self, env):
# This is smartly used by VisIt
- env.set('VISIT_FFP_STRIPACK_PATH',
- join_path(self.spec.prefix.lib, 'libstripack.' + dso_suffix))
+ env.set(
+ "VISIT_FFP_STRIPACK_PATH", join_path(self.spec.prefix.lib, "libstripack." + dso_suffix)
+ )
def build(self, spec, prefix):
- fflags = spec.compiler_flags['fflags']
+ fflags = spec.compiler_flags["fflags"]
# Setting the double precision mode
# needed for the original Fortran 77 version
satisfies = spec.satisfies
- if satisfies('%gcc') or satisfies('%clang') or satisfies('%flang'):
- fflags += ['-fdefault-real-8', '-fdefault-double-8']
- elif satisfies('%intel') or satisfies('%oneapi') or satisfies('%aocc'):
- fflags += ['-r8']
- elif satisfies('%xl') or satisfies('%xl_r'):
- fflags += ['-qrealsize=8']
- elif satisfies('%fj'):
- fflags += ['-CcdRR8']
- elif satisfies('%pgi') or satisfies('%nvhpc'):
- fflags += ['-r8']
+ if satisfies("%gcc") or satisfies("%clang") or satisfies("%flang"):
+ fflags += ["-fdefault-real-8", "-fdefault-double-8"]
+ elif satisfies("%intel") or satisfies("%oneapi") or satisfies("%aocc"):
+ fflags += ["-r8"]
+ elif satisfies("%xl") or satisfies("%xl_r"):
+ fflags += ["-qrealsize=8"]
+ elif satisfies("%fj"):
+ fflags += ["-CcdRR8"]
+ elif satisfies("%pgi") or satisfies("%nvhpc"):
+ fflags += ["-r8"]
fflags += [self.compiler.fc_pic_flag]
- make('all', 'FFLAGS={0}'.format(' '.join(fflags)))
+ make("all", "FFLAGS={0}".format(" ".join(fflags)))
def install(self, spec, prefix):
mkdirp(prefix.lib)
- install(join_path(self.build_directory, 'build', 'libstripack.' + dso_suffix),
- prefix.lib)
+ install(join_path(self.build_directory, "build", "libstripack." + dso_suffix), prefix.lib)
diff --git a/var/spack/repos/builtin/packages/structure/package.py b/var/spack/repos/builtin/packages/structure/package.py
index 02b867af81..af1eaeaa79 100644
--- a/var/spack/repos/builtin/packages/structure/package.py
+++ b/var/spack/repos/builtin/packages/structure/package.py
@@ -8,23 +8,23 @@ from spack.package import *
class Structure(MakefilePackage):
"""Structure is a free software package for using multi-locus genotype
- data to investigate population structure."""
+ data to investigate population structure."""
homepage = "https://web.stanford.edu/group/pritchardlab/structure.html"
- url = "https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v2.3.4/structure_kernel_source.tar.gz"
+ url = "https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v2.3.4/structure_kernel_source.tar.gz"
- version('2.3.4', sha256='f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37')
+ version("2.3.4", sha256="f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37")
def url_for_version(self, version):
url = "http://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v{0}/structure_kernel_source.tar.gz"
return url.format(version)
- @when('%gcc@10:')
+ @when("%gcc@10:")
def edit(self, spec, prefix):
- filter_file(r'(CFLAGS =.*$)', '\\1 -fcommon', 'Makefile')
+ filter_file(r"(CFLAGS =.*$)", "\\1 -fcommon", "Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('structure', prefix.bin)
- install('mainparams', prefix.bin)
- install('extraparams', prefix.bin)
+ install("structure", prefix.bin)
+ install("mainparams", prefix.bin)
+ install("extraparams", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py
index bc684a62a4..258e058303 100644
--- a/var/spack/repos/builtin/packages/strumpack/package.py
+++ b/var/spack/repos/builtin/packages/strumpack/package.py
@@ -19,163 +19,159 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage):
iterative solvers."""
homepage = "http://portal.nersc.gov/project/sparse/strumpack"
- url = "https://github.com/pghysels/STRUMPACK/archive/refs/tags/v6.3.1.tar.gz"
- git = "https://github.com/pghysels/STRUMPACK.git"
+ url = "https://github.com/pghysels/STRUMPACK/archive/refs/tags/v6.3.1.tar.gz"
+ git = "https://github.com/pghysels/STRUMPACK.git"
- tags = ['e4s']
+ tags = ["e4s"]
- maintainers = ['pghysels']
+ maintainers = ["pghysels"]
test_requires_compiler = True
- version('master', branch='master')
- version('6.3.1', sha256='3f1de435aeb850c06d841655c3bc426565eb0cc0a7314b76586c2c709b03fb61')
- version('6.3.0', sha256='47dec831684894b7ed77c66b8a23e172b388c83580cfaf91f921564fa0b46d41')
- version('6.2.1', sha256='52d63ab8f565266a9b1b5f3596afd00fc3b70296179b53a1e5b99405defeca22')
- version('6.2.0', sha256='d8443fc66b399b8f2615ad9dd0e599c2e2b6836620cca5d9c4d7a9cde9c5a860')
- version('6.1.0', sha256='219ec7360594172464aafa6ecac1fd161097db6fb9ee35af5c1ca61531f4f5c4')
- version('6.0.0', sha256='fcea150b68172d5a4ec2c02f9cce0b7305919b86871c9cf34a9f65b1567d58b7')
- version('5.1.1', sha256='6cf4eaae5beb9bd377f2abce9e4da9fd3e95bf086ae2f04554fad6dd561c28b9')
- version('5.0.0', sha256='bdfd1620ff7158d96055059be04ee49466ebaca8213a2fdab33e2d4571019a49')
- version('4.0.0', sha256='a3629f1f139865c74916f8f69318f53af6319e7f8ec54e85c16466fd7d256938')
- version('3.3.0', sha256='499fd3b58656b4b6495496920e5372895861ebf15328be8a7a9354e06c734bc7')
- version('3.2.0', sha256='34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1')
- version('3.1.1', sha256='c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778')
-
- 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')
- variant('parmetis', default=True,
- description='Enable use of ParMetis')
- variant('scotch', default=False,
- description='Enable use of Scotch')
- variant('butterflypack', default=True,
- description='Enable use of ButterflyPACK')
- variant('zfp', default=True,
- description='Build with support for compression using ZFP')
- variant('c_interface', default=True,
- description='Enable C interface')
- variant('count_flops', default=False,
- description='Build with flop counters')
- variant('task_timers', default=False,
- description='Build with timers for internal routines')
- variant('slate', default=True,
- description="Build with SLATE support")
-
- depends_on('cmake@3.11:', type='build')
- depends_on('mpi', when='+mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('openblas threads=openmp', when='^openblas')
- depends_on('scalapack', when='+mpi')
- depends_on('metis')
- depends_on('parmetis', when='+parmetis')
- depends_on('scotch~metis', when='+scotch')
- depends_on('scotch~metis+mpi', when='+scotch+mpi')
- depends_on('butterflypack@1.1.0', when='@3.3.0:3.9 +butterflypack+mpi')
- depends_on('butterflypack@1.2.0:', when='@4.0.0: +butterflypack+mpi')
- depends_on('butterflypack@2.1.0:', when='@6.3.0: +butterflypack+mpi')
- depends_on('cuda', when='@4.0.0: +cuda')
- depends_on('zfp', when='+zfp')
- depends_on('hipblas', when='+rocm')
- depends_on('rocsolver', when='+rocm')
- depends_on('slate', when='+slate')
- depends_on('slate+cuda', when='+cuda+slate')
- depends_on('slate+rocm', when='+rocm+slate')
+ version("master", branch="master")
+ version("6.3.1", sha256="3f1de435aeb850c06d841655c3bc426565eb0cc0a7314b76586c2c709b03fb61")
+ version("6.3.0", sha256="47dec831684894b7ed77c66b8a23e172b388c83580cfaf91f921564fa0b46d41")
+ version("6.2.1", sha256="52d63ab8f565266a9b1b5f3596afd00fc3b70296179b53a1e5b99405defeca22")
+ version("6.2.0", sha256="d8443fc66b399b8f2615ad9dd0e599c2e2b6836620cca5d9c4d7a9cde9c5a860")
+ version("6.1.0", sha256="219ec7360594172464aafa6ecac1fd161097db6fb9ee35af5c1ca61531f4f5c4")
+ version("6.0.0", sha256="fcea150b68172d5a4ec2c02f9cce0b7305919b86871c9cf34a9f65b1567d58b7")
+ version("5.1.1", sha256="6cf4eaae5beb9bd377f2abce9e4da9fd3e95bf086ae2f04554fad6dd561c28b9")
+ version("5.0.0", sha256="bdfd1620ff7158d96055059be04ee49466ebaca8213a2fdab33e2d4571019a49")
+ version("4.0.0", sha256="a3629f1f139865c74916f8f69318f53af6319e7f8ec54e85c16466fd7d256938")
+ version("3.3.0", sha256="499fd3b58656b4b6495496920e5372895861ebf15328be8a7a9354e06c734bc7")
+ version("3.2.0", sha256="34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1")
+ version("3.1.1", sha256="c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778")
+
+ 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"
+ )
+ variant("parmetis", default=True, description="Enable use of ParMetis")
+ variant("scotch", default=False, description="Enable use of Scotch")
+ variant("butterflypack", default=True, description="Enable use of ButterflyPACK")
+ variant("zfp", default=True, description="Build with support for compression using ZFP")
+ variant("c_interface", default=True, description="Enable C interface")
+ variant("count_flops", default=False, description="Build with flop counters")
+ variant("task_timers", default=False, description="Build with timers for internal routines")
+ variant("slate", default=True, description="Build with SLATE support")
+
+ depends_on("cmake@3.11:", type="build")
+ depends_on("mpi", when="+mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("openblas threads=openmp", when="^openblas")
+ depends_on("scalapack", when="+mpi")
+ depends_on("metis")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("scotch~metis", when="+scotch")
+ depends_on("scotch~metis+mpi", when="+scotch+mpi")
+ depends_on("butterflypack@1.1.0", when="@3.3.0:3.9 +butterflypack+mpi")
+ depends_on("butterflypack@1.2.0:", when="@4.0.0: +butterflypack+mpi")
+ depends_on("butterflypack@2.1.0:", when="@6.3.0: +butterflypack+mpi")
+ depends_on("cuda", when="@4.0.0: +cuda")
+ depends_on("zfp", when="+zfp")
+ depends_on("hipblas", when="+rocm")
+ depends_on("rocsolver", when="+rocm")
+ depends_on("slate", when="+slate")
+ depends_on("slate+cuda", when="+cuda+slate")
+ depends_on("slate+rocm", when="+rocm+slate")
for val in ROCmPackage.amdgpu_targets:
- depends_on('slate amdgpu_target={0}'.format(val),
- when='+slate amdgpu_target={0}'.format(val))
-
- conflicts('+parmetis', when='~mpi')
- conflicts('+butterflypack', when='~mpi')
- conflicts('+butterflypack', when='@:3.2.0')
- conflicts('+zfp', when='@:3.9')
- conflicts('+cuda', when='@:3.9')
- conflicts('+rocm', when='@:5.0')
- conflicts('+rocm', when='+cuda')
- conflicts('+slate', when='@:5.1.1')
- conflicts('+slate', when='~mpi')
-
- patch('intel-19-compile.patch', when='@3.1.1')
- patch('shared-rocm.patch', when='@5.1.1')
+ depends_on(
+ "slate amdgpu_target={0}".format(val), when="+slate amdgpu_target={0}".format(val)
+ )
+
+ conflicts("+parmetis", when="~mpi")
+ conflicts("+butterflypack", when="~mpi")
+ conflicts("+butterflypack", when="@:3.2.0")
+ conflicts("+zfp", when="@:3.9")
+ conflicts("+cuda", when="@:3.9")
+ conflicts("+rocm", when="@:5.0")
+ conflicts("+rocm", when="+cuda")
+ conflicts("+slate", when="@:5.1.1")
+ conflicts("+slate", when="~mpi")
+
+ patch("intel-19-compile.patch", when="@3.1.1")
+ patch("shared-rocm.patch", when="@5.1.1")
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('STRUMPACK_USE_MPI', 'mpi'),
- self.define_from_variant('STRUMPACK_USE_OPENMP', 'openmp'),
- self.define_from_variant('STRUMPACK_USE_CUDA', 'cuda'),
- self.define_from_variant('STRUMPACK_USE_HIP', 'rocm'),
- self.define_from_variant('TPL_ENABLE_PARMETIS', 'parmetis'),
- self.define_from_variant('TPL_ENABLE_SCOTCH', 'scotch'),
- self.define_from_variant('TPL_ENABLE_BPACK', 'butterflypack'),
- self.define_from_variant('STRUMPACK_COUNT_FLOPS', 'count_flops'),
- self.define_from_variant('STRUMPACK_TASK_TIMERS', 'task_timers'),
- '-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
- '-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
+ self.define_from_variant("STRUMPACK_USE_MPI", "mpi"),
+ self.define_from_variant("STRUMPACK_USE_OPENMP", "openmp"),
+ self.define_from_variant("STRUMPACK_USE_CUDA", "cuda"),
+ self.define_from_variant("STRUMPACK_USE_HIP", "rocm"),
+ self.define_from_variant("TPL_ENABLE_PARMETIS", "parmetis"),
+ self.define_from_variant("TPL_ENABLE_SCOTCH", "scotch"),
+ self.define_from_variant("TPL_ENABLE_BPACK", "butterflypack"),
+ self.define_from_variant("STRUMPACK_COUNT_FLOPS", "count_flops"),
+ self.define_from_variant("STRUMPACK_TASK_TIMERS", "task_timers"),
+ "-DTPL_BLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"),
+ "-DTPL_LAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
]
- if '+mpi' in spec:
- args.append(
- '-DTPL_SCALAPACK_LIBRARIES=%s' % spec['scalapack'].
- libs.joined(";"))
-
- if spec.satisfies('@:3.9'):
- if '+mpi' in spec:
- args.extend([
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc
- ])
- args.extend([
- self.define_from_variant('STRUMPACK_C_INTERFACE', 'c_interface'),
- ])
-
- if '+cuda' in spec:
- args.extend([
- '-DCUDA_TOOLKIT_ROOT_DIR={0}'.format(spec['cuda'].prefix),
- '-DCMAKE_CUDA_HOST_COMPILER={0}'.format(env["SPACK_CXX"])])
- cuda_archs = spec.variants['cuda_arch'].value
- if 'none' not in cuda_archs:
- args.append('-DCUDA_NVCC_FLAGS={0}'.
- format(' '.join(self.cuda_flags(cuda_archs))))
-
- if '+rocm' in spec:
- args.append(
- '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix))
- rocm_archs = spec.variants['amdgpu_target'].value
- if 'none' not in rocm_archs:
- args.append('-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.
- format(",".join(rocm_archs)))
+ if "+mpi" in spec:
+ args.append("-DTPL_SCALAPACK_LIBRARIES=%s" % spec["scalapack"].libs.joined(";"))
+
+ if spec.satisfies("@:3.9"):
+ if "+mpi" in spec:
+ args.extend(
+ [
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc,
+ ]
+ )
+ args.extend(
+ [
+ self.define_from_variant("STRUMPACK_C_INTERFACE", "c_interface"),
+ ]
+ )
+
+ if "+cuda" in spec:
+ args.extend(
+ [
+ "-DCUDA_TOOLKIT_ROOT_DIR={0}".format(spec["cuda"].prefix),
+ "-DCMAKE_CUDA_HOST_COMPILER={0}".format(env["SPACK_CXX"]),
+ ]
+ )
+ cuda_archs = spec.variants["cuda_arch"].value
+ if "none" not in cuda_archs:
+ args.append("-DCUDA_NVCC_FLAGS={0}".format(" ".join(self.cuda_flags(cuda_archs))))
+
+ if "+rocm" in spec:
+ args.append("-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix))
+ rocm_archs = spec.variants["amdgpu_target"].value
+ if "none" not in rocm_archs:
+ args.append("-DHIP_HIPCC_FLAGS=--amdgpu-target={0}".format(",".join(rocm_archs)))
return args
- test_src_dir = 'test'
+ test_src_dir = "test"
@property
def test_data_dir(self):
"""Return the stand-alone test data directory."""
- add_sparse = not self.spec.satisfies('@:5.1.1')
- return join_path('examples', 'sparse' if add_sparse else '', 'data')
+ add_sparse = not self.spec.satisfies("@:5.1.1")
+ return join_path("examples", "sparse" if add_sparse else "", "data")
# TODO: Replace this method and its 'get' use for cmake path with
# join_path(self.spec['cmake'].prefix.bin, 'cmake') once stand-alone
# tests can access build dependencies through self.spec['cmake'].
def cmake_bin(self, set=True):
"""(Hack) Set/get cmake dependency path."""
- filepath = join_path(self.install_test_root, 'cmake_bin_path.txt')
+ filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
if set:
- with open(filepath, 'w') as out_file:
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- out_file.write('{0}\n'.format(cmake_bin))
+ with open(filepath, "w") as out_file:
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ out_file.write("{0}\n".format(cmake_bin))
else:
- with open(filepath, 'r') as in_file:
+ with open(filepath, "r") as in_file:
return in_file.read().strip()
- @run_after('install')
+ @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`."""
@@ -185,48 +181,57 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage):
self.cmake_bin(set=True)
def _test_example(self, test_prog, test_dir, test_cmd, test_args):
- cmake_filename = join_path(test_dir, 'CMakeLists.txt')
- with open(cmake_filename, 'w') as mkfile:
- mkfile.write('cmake_minimum_required(VERSION 3.15)\n')
- mkfile.write('project(StrumpackSmokeTest LANGUAGES CXX)\n')
- mkfile.write('find_package(STRUMPACK REQUIRED)\n')
- mkfile.write('add_executable({0} {0}.cpp)\n'.format(test_prog))
- mkfile.write('target_link_libraries({0} '.format(test_prog) +
- 'PRIVATE STRUMPACK::strumpack)\n')
+ cmake_filename = join_path(test_dir, "CMakeLists.txt")
+ with open(cmake_filename, "w") as mkfile:
+ mkfile.write("cmake_minimum_required(VERSION 3.15)\n")
+ mkfile.write("project(StrumpackSmokeTest LANGUAGES CXX)\n")
+ mkfile.write("find_package(STRUMPACK REQUIRED)\n")
+ mkfile.write("add_executable({0} {0}.cpp)\n".format(test_prog))
+ mkfile.write(
+ "target_link_libraries({0} ".format(test_prog) + "PRIVATE STRUMPACK::strumpack)\n"
+ )
# TODO: Remove/replace once self.spec['cmake'] is available here
cmake_bin = self.cmake_bin(set=False)
opts = self.std_cmake_args
opts += self.cmake_args()
- opts += ['.']
-
- self.run_test(cmake_bin, opts, [], installed=False,
- purpose='test: generating makefile', work_dir=test_dir)
- self.run_test('make', test_prog,
- purpose='test: building {0}'.format(test_prog),
- work_dir=test_dir)
- with set_env(OMP_NUM_THREADS='1'):
- self.run_test(test_cmd, test_args, installed=False,
- purpose='test: running {0}'.format(test_prog),
- skip_missing=False, work_dir=test_dir)
+ opts += ["."]
+
+ self.run_test(
+ cmake_bin,
+ opts,
+ [],
+ installed=False,
+ purpose="test: generating makefile",
+ work_dir=test_dir,
+ )
+ self.run_test(
+ "make", test_prog, purpose="test: building {0}".format(test_prog), work_dir=test_dir
+ )
+ with set_env(OMP_NUM_THREADS="1"):
+ self.run_test(
+ test_cmd,
+ test_args,
+ installed=False,
+ purpose="test: running {0}".format(test_prog),
+ skip_missing=False,
+ work_dir=test_dir,
+ )
def test(self):
"""Run the stand-alone tests for the installed software."""
- test_dir = join_path(
- self.test_suite.current_test_cache_dir, self.test_src_dir
- )
- test_exe = 'test_sparse_seq'
- test_exe_mpi = 'test_sparse_mpi'
- exe_arg = [join_path('..', self.test_data_dir, 'pde900.mtx')]
- if '+mpi' in self.spec:
- test_args = ['-n', '1', test_exe_mpi]
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir)
+ test_exe = "test_sparse_seq"
+ test_exe_mpi = "test_sparse_mpi"
+ exe_arg = [join_path("..", self.test_data_dir, "pde900.mtx")]
+ if "+mpi" in self.spec:
+ test_args = ["-n", "1", test_exe_mpi]
test_args.extend(exe_arg)
- mpiexe_list = ['srun', 'mpirun', 'mpiexec']
+ mpiexe_list = ["srun", "mpirun", "mpiexec"]
for mpiexe in mpiexe_list:
if which(mpiexe) is not None:
- self._test_example(test_exe_mpi, test_dir,
- mpiexe, test_args)
+ self._test_example(test_exe_mpi, test_dir, mpiexe, test_args)
break
else:
self._test_example(test_exe, test_dir, test_exe, exe_arg)
diff --git a/var/spack/repos/builtin/packages/su2/package.py b/var/spack/repos/builtin/packages/su2/package.py
index e979fe4f67..0bb7989f73 100644
--- a/var/spack/repos/builtin/packages/su2/package.py
+++ b/var/spack/repos/builtin/packages/su2/package.py
@@ -11,25 +11,25 @@ class Su2(MesonPackage):
the numerical solution of partial differential equations (PDE) and
performing PDE constrained optimization."""
- maintainers = ['kjrstory']
+ maintainers = ["kjrstory"]
homepage = "https://su2code.github.io"
- url = "https://github.com/su2code/SU2/archive/v7.0.3.tar.gz"
- git = "https://github.com/su2code/SU2.git"
+ url = "https://github.com/su2code/SU2/archive/v7.0.3.tar.gz"
+ git = "https://github.com/su2code/SU2.git"
- version('7.3.1', commit='328a1b747a4785d13b749e7fb6cc4589fd1b9529', submodules=True)
- version('7.2.0', sha256='e929f25dcafc93684df2fe0827e456118d24b8b12b0fb74444bffa9b3d0baca8')
- version('7.1.1', sha256='6ed3d791209317d5916fd8bae54c288f02d6fe765062a4e3c73a1e1c7ea43542')
- version('7.1.0', sha256='deb0abcb10e23a6a41a46c1a2117c4331d68cf97c2fa9c02e10e918973e1c0e7')
- version('7.0.8', sha256='53b6d417e17ff4290a871257b2739a3d9bcd701d37c69e85397efedac93ba17f')
- version('7.0.7', sha256='123c42f097c583a3d7b53123d79bf470f67a6481851fddb010ff590837da61d4')
- version('7.0.6', sha256='5be22a992952b08f16bb80658f6cbe29c62a27e20236eccd175ca58dbc4ed27d')
- version('7.0.5', sha256='3cb2b87ef6ad3d31011756ca1da068fc8172c0d2d1be902fbbd4800b50da28bd')
- version('7.0.4', sha256='abeba82ff922e3b5980944d98eb3ee3fef51ce663c39224a52105798542ef29b')
- version('7.0.3', sha256='7fc01deaad9baabbe0ccd162a4b565172d49e573e79abcb65433b51ff29bda06')
- version('7.0.2', sha256='69e51d52c5a84fb572bd6a83faf8f9fd04471fbf7d5b70d967c7306c1d4e17d9')
- version('7.0.1', sha256='eb0550c82ccaef8cb71e4a8775aa71d2020ef085ec3dd19dfafff5d301034f6f')
- version('7.0.0', sha256='6207dcca15eaebc11ce12b2866c937b4ad9b93274edf6f23d0487948ac3963b8')
- version('6.2.0', sha256='ffc953326e8432a1a6534556a5f6cf086046d3149cfcec6b4e7390eebe30ce2e')
+ version("7.3.1", commit="328a1b747a4785d13b749e7fb6cc4589fd1b9529", submodules=True)
+ version("7.2.0", sha256="e929f25dcafc93684df2fe0827e456118d24b8b12b0fb74444bffa9b3d0baca8")
+ version("7.1.1", sha256="6ed3d791209317d5916fd8bae54c288f02d6fe765062a4e3c73a1e1c7ea43542")
+ version("7.1.0", sha256="deb0abcb10e23a6a41a46c1a2117c4331d68cf97c2fa9c02e10e918973e1c0e7")
+ version("7.0.8", sha256="53b6d417e17ff4290a871257b2739a3d9bcd701d37c69e85397efedac93ba17f")
+ version("7.0.7", sha256="123c42f097c583a3d7b53123d79bf470f67a6481851fddb010ff590837da61d4")
+ version("7.0.6", sha256="5be22a992952b08f16bb80658f6cbe29c62a27e20236eccd175ca58dbc4ed27d")
+ version("7.0.5", sha256="3cb2b87ef6ad3d31011756ca1da068fc8172c0d2d1be902fbbd4800b50da28bd")
+ version("7.0.4", sha256="abeba82ff922e3b5980944d98eb3ee3fef51ce663c39224a52105798542ef29b")
+ version("7.0.3", sha256="7fc01deaad9baabbe0ccd162a4b565172d49e573e79abcb65433b51ff29bda06")
+ version("7.0.2", sha256="69e51d52c5a84fb572bd6a83faf8f9fd04471fbf7d5b70d967c7306c1d4e17d9")
+ version("7.0.1", sha256="eb0550c82ccaef8cb71e4a8775aa71d2020ef085ec3dd19dfafff5d301034f6f")
+ version("7.0.0", sha256="6207dcca15eaebc11ce12b2866c937b4ad9b93274edf6f23d0487948ac3963b8")
+ version("6.2.0", sha256="ffc953326e8432a1a6534556a5f6cf086046d3149cfcec6b4e7390eebe30ce2e")
- depends_on('python@3:', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/sublime-text/package.py b/var/spack/repos/builtin/packages/sublime-text/package.py
index 5c585b4300..5241d7d734 100644
--- a/var/spack/repos/builtin/packages/sublime-text/package.py
+++ b/var/spack/repos/builtin/packages/sublime-text/package.py
@@ -11,38 +11,50 @@ class SublimeText(Package):
prose."""
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')
- version('3.2.1.3207', sha256='acb64f1de024a0f004888096afa101051e48d96c7a3e7fe96e11312d524938c4')
- version('3.1.1.3176', sha256='74f17c1aec4ddec9d4d4c39f5aec0414a4755d407a05efa571e8892e0b9cf732')
- version('3.0.3126', sha256='18db132e9a305fa3129014b608628e06f9442f48d09cfe933b3b1a84dd18727a')
- version('2.0.2', sha256='01baed30d66432e30002a309ff0393967be1daba5cce653e43bba6bd6c38ab84')
+ url = "https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2"
+
+ version(
+ "3.2.2.3211", sha256="0b3c8ca5e6df376c3c24a4b9ac2e3b391333f73b229bc6e87d0b4a5f636d74ee"
+ )
+ version(
+ "3.2.1.3207", sha256="acb64f1de024a0f004888096afa101051e48d96c7a3e7fe96e11312d524938c4"
+ )
+ version(
+ "3.1.1.3176", sha256="74f17c1aec4ddec9d4d4c39f5aec0414a4755d407a05efa571e8892e0b9cf732"
+ )
+ version("3.0.3126", sha256="18db132e9a305fa3129014b608628e06f9442f48d09cfe933b3b1a84dd18727a")
+ version("2.0.2", sha256="01baed30d66432e30002a309ff0393967be1daba5cce653e43bba6bd6c38ab84")
# Sublime text comes as a pre-compiled binary.
# Since we can't link to Spack packages, we'll just have to
# add them as runtime dependencies.
# depends_on('libgobject', type='run')
- depends_on('gtkplus@:2', type='run', when='@:3.1')
- depends_on('gtkplus@3:', type='run', when='@3.2:')
- depends_on('glib', type='run')
- depends_on('libx11', type='run')
- depends_on('pcre', type='run')
- depends_on('libffi', type='run')
- depends_on('libxcb', type='run')
- depends_on('libxau', type='run')
+ depends_on("gtkplus@:2", type="run", when="@:3.1")
+ depends_on("gtkplus@3:", type="run", when="@3.2:")
+ depends_on("glib", type="run")
+ depends_on("libx11", type="run")
+ depends_on("pcre", type="run")
+ depends_on("libffi", type="run")
+ depends_on("libxcb", type="run")
+ depends_on("libxau", type="run")
def url_for_version(self, version):
if version[0] == 2:
- return "https://download.sublimetext.com/Sublime%20Text%20{0}%20x64.tar.bz2".format(version)
+ return "https://download.sublimetext.com/Sublime%20Text%20{0}%20x64.tar.bz2".format(
+ version
+ )
else:
- return "https://download.sublimetext.com/sublime_text_{0}_build_{1}_x64.tar.bz2".format(version[0], version[-1])
+ return (
+ "https://download.sublimetext.com/sublime_text_{0}_build_{1}_x64.tar.bz2".format(
+ version[0], version[-1]
+ )
+ )
def install(self, spec, prefix):
- install_tree('.', prefix)
- src = join_path(prefix, 'sublime_text')
- dst = join_path(prefix, 'bin')
+ install_tree(".", prefix)
+ src = join_path(prefix, "sublime_text")
+ dst = join_path(prefix, "bin")
mkdirp(dst)
- force_symlink(src, join_path(dst, 'sublime_text'))
- force_symlink(src, join_path(dst, 'subl'))
+ force_symlink(src, join_path(dst, "sublime_text"))
+ force_symlink(src, join_path(dst, "subl"))
diff --git a/var/spack/repos/builtin/packages/subread/package.py b/var/spack/repos/builtin/packages/subread/package.py
index e58f489080..89123642ec 100644
--- a/var/spack/repos/builtin/packages/subread/package.py
+++ b/var/spack/repos/builtin/packages/subread/package.py
@@ -10,49 +10,38 @@ from spack.package import *
class Subread(MakefilePackage):
"""The Subread software package is a tool kit for processing next-gen
- sequencing data."""
+ sequencing data."""
homepage = "http://subread.sourceforge.net/"
- url = "https://iweb.dl.sourceforge.net/project/subread/subread-1.5.2/subread-1.5.2-source.tar.gz"
+ url = (
+ "https://iweb.dl.sourceforge.net/project/subread/subread-1.5.2/subread-1.5.2-source.tar.gz"
+ )
- version('2.0.2', sha256='0b64bd51f39f8d322c4594697fa5f0f64fbe60283113eadadff9f4268f897079')
- version('2.0.0', sha256='bd7b45f7d8872b0f5db5d23a385059f21d18b49e432bcb6e3e4a879fe51b41a8')
- version('1.6.4', sha256='b7bd0ee3b0942d791aecce6454d2f3271c95a010beeeff2daf1ff71162e43969')
- version('1.6.2', sha256='77b4896c1c242967c5883a06c0a5576a5ff220008a12aa60af9669d2f9a87d7a')
- version('1.6.0', sha256='31251ec4c134e3965d25ca3097890fb37e2c7a4163f6234515534fd325b1002a')
- version('1.5.2', sha256='a8c5f0e09ed3a105f01866517a89084c7302ff70c90ef8714aeaa2eab181a0aa')
+ version("2.0.2", sha256="0b64bd51f39f8d322c4594697fa5f0f64fbe60283113eadadff9f4268f897079")
+ version("2.0.0", sha256="bd7b45f7d8872b0f5db5d23a385059f21d18b49e432bcb6e3e4a879fe51b41a8")
+ version("1.6.4", sha256="b7bd0ee3b0942d791aecce6454d2f3271c95a010beeeff2daf1ff71162e43969")
+ version("1.6.2", sha256="77b4896c1c242967c5883a06c0a5576a5ff220008a12aa60af9669d2f9a87d7a")
+ version("1.6.0", sha256="31251ec4c134e3965d25ca3097890fb37e2c7a4163f6234515534fd325b1002a")
+ version("1.5.2", sha256="a8c5f0e09ed3a105f01866517a89084c7302ff70c90ef8714aeaa2eab181a0aa")
- depends_on('zlib')
+ depends_on("zlib")
def build(self, spec, prefix):
plat = sys.platform
- with working_dir('src'):
- if plat.startswith('linux'):
- filter_file(
- 'CC_EXEC = gcc',
- 'CC_EXEC = {0}'.format(spack_cc),
- 'Makefile.Linux'
- )
- if spec.target.family == 'aarch64':
- filter_file('-mtune=core2', '', 'Makefile.Linux')
- if spec.satisfies('@1.6.2:2.0.0'):
- filter_file(
- '-mtune=core2',
- '',
- 'longread-one/Makefile'
- )
- elif spec.satisfies('@1.6.0'):
- filter_file(
- '-mtune=core2',
- '',
- 'longread-mapping/Makefile'
- )
- make('-f', 'Makefile.Linux')
- elif plat.startswith('darwin'):
- make('-f', 'Makefile.MacOS')
+ with working_dir("src"):
+ if plat.startswith("linux"):
+ filter_file("CC_EXEC = gcc", "CC_EXEC = {0}".format(spack_cc), "Makefile.Linux")
+ if spec.target.family == "aarch64":
+ filter_file("-mtune=core2", "", "Makefile.Linux")
+ if spec.satisfies("@1.6.2:2.0.0"):
+ filter_file("-mtune=core2", "", "longread-one/Makefile")
+ elif spec.satisfies("@1.6.0"):
+ filter_file("-mtune=core2", "", "longread-mapping/Makefile")
+ make("-f", "Makefile.Linux")
+ elif plat.startswith("darwin"):
+ make("-f", "Makefile.MacOS")
else:
- raise InstallError("The communication mechanism %s is not"
- "supported" % plat)
+ raise InstallError("The communication mechanism %s is not" "supported" % plat)
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
+ install_tree("bin", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/subversion/package.py b/var/spack/repos/builtin/packages/subversion/package.py
index a69d0f3c5f..229fc6fd8b 100644
--- a/var/spack/repos/builtin/packages/subversion/package.py
+++ b/var/spack/repos/builtin/packages/subversion/package.py
@@ -11,132 +11,134 @@ from spack.package import *
class Subversion(AutotoolsPackage):
"""Apache Subversion - an open source version control system."""
- homepage = 'https://subversion.apache.org/'
+ homepage = "https://subversion.apache.org/"
urls = [
- 'https://archive.apache.org/dist/subversion/subversion-1.12.2.tar.gz',
- 'https://downloads.apache.org/subversion/subversion-1.13.0.tar.gz'
+ "https://archive.apache.org/dist/subversion/subversion-1.12.2.tar.gz",
+ "https://downloads.apache.org/subversion/subversion-1.13.0.tar.gz",
]
- maintainers = ['cosmicexplorer']
-
- tags = ['build-tools']
-
- version('1.14.1', sha256='dee2796abaa1f5351e6cc2a60b1917beb8238af548b20d3e1ec22760ab2f0cad')
- version('1.14.0', sha256='ef3d1147535e41874c304fb5b9ea32745fbf5d7faecf2ce21d4115b567e937d0')
- version('1.13.0', sha256='daad440c03b8a86fcca804ea82217bb1902cfcae1b7d28c624143c58dcb96931')
- version('1.12.2', sha256='f4927d6603d96c5ddabebbafe9a0f6833c18a891ff0ce1ea6ffd186ce9bc21f3')
- version('1.9.7', sha256='c72a209c883e20245f14c4e644803f50ae83ae24652e385ff5e82300a0d06c3c')
- version('1.9.6', sha256='a400cbc46d05cb29f2d7806405bb539e9e045b24013b0f12f8f82688513321a7')
- version('1.9.5', sha256='280ba586c5d51d7b976b65d22d5e8e42f3908ed1c968d71120dcf534ce857a83')
- version('1.9.3', sha256='74cd21d2f8a2a54e4dbd2389fe1605a19dbda8ba88ffc4bb0edc9a66e143cc93')
- version('1.8.17', sha256='1b2cb9a0ca454035e55b114ee91c6433b9ede6c2893f2fb140939094d33919e4')
- version('1.8.13', sha256='17e8900a877ac9f0d5ef437c20df437fec4eb2c5cb9882609d2277e2312da52c')
-
- variant('serf', default=True, description='Serf HTTP client library')
- variant('perl', default=False, description='Build with Perl bindings')
- variant('apxs', default=True, description='Build with APXS')
- variant('nls', default=True, description='Enable Native Language Support')
-
- depends_on('apr')
- depends_on('apr-util')
- depends_on('zlib')
- depends_on('sqlite@3.8.2:')
- depends_on('expat')
- depends_on('lz4', when='@1.10:')
- depends_on('utf8proc', when='@1.10:')
- depends_on('serf', when='+serf')
- depends_on('gettext', when='+nls')
-
- extends('perl', when='+perl')
- depends_on('swig@1.3.24:3.0.0', when='+perl')
- depends_on('perl-termreadkey', when='+perl')
-
- executables = [r'^svn$']
+ maintainers = ["cosmicexplorer"]
+
+ tags = ["build-tools"]
+
+ version("1.14.1", sha256="dee2796abaa1f5351e6cc2a60b1917beb8238af548b20d3e1ec22760ab2f0cad")
+ version("1.14.0", sha256="ef3d1147535e41874c304fb5b9ea32745fbf5d7faecf2ce21d4115b567e937d0")
+ version("1.13.0", sha256="daad440c03b8a86fcca804ea82217bb1902cfcae1b7d28c624143c58dcb96931")
+ version("1.12.2", sha256="f4927d6603d96c5ddabebbafe9a0f6833c18a891ff0ce1ea6ffd186ce9bc21f3")
+ version("1.9.7", sha256="c72a209c883e20245f14c4e644803f50ae83ae24652e385ff5e82300a0d06c3c")
+ version("1.9.6", sha256="a400cbc46d05cb29f2d7806405bb539e9e045b24013b0f12f8f82688513321a7")
+ version("1.9.5", sha256="280ba586c5d51d7b976b65d22d5e8e42f3908ed1c968d71120dcf534ce857a83")
+ version("1.9.3", sha256="74cd21d2f8a2a54e4dbd2389fe1605a19dbda8ba88ffc4bb0edc9a66e143cc93")
+ version("1.8.17", sha256="1b2cb9a0ca454035e55b114ee91c6433b9ede6c2893f2fb140939094d33919e4")
+ version("1.8.13", sha256="17e8900a877ac9f0d5ef437c20df437fec4eb2c5cb9882609d2277e2312da52c")
+
+ variant("serf", default=True, description="Serf HTTP client library")
+ variant("perl", default=False, description="Build with Perl bindings")
+ variant("apxs", default=True, description="Build with APXS")
+ variant("nls", default=True, description="Enable Native Language Support")
+
+ depends_on("apr")
+ depends_on("apr-util")
+ depends_on("zlib")
+ depends_on("sqlite@3.8.2:")
+ depends_on("expat")
+ depends_on("lz4", when="@1.10:")
+ depends_on("utf8proc", when="@1.10:")
+ depends_on("serf", when="+serf")
+ depends_on("gettext", when="+nls")
+
+ extends("perl", when="+perl")
+ depends_on("swig@1.3.24:3.0.0", when="+perl")
+ depends_on("perl-termreadkey", when="+perl")
+
+ executables = [r"^svn$"]
# https://www.linuxfromscratch.org/blfs/view/svn/general/subversion.html
def configure_args(self):
spec = self.spec
args = [
- '--with-apr={0}'.format(spec['apr'].prefix),
- '--with-apr-util={0}'.format(spec['apr-util'].prefix),
- '--with-sqlite={0}'.format(spec['sqlite'].prefix),
- '--with-expat={0}:{1}:{2}'.format(
- spec['expat'].headers.directories[0],
- spec['expat'].libs.directories[0],
- spec['expat'].libs.names[0]
+ "--with-apr={0}".format(spec["apr"].prefix),
+ "--with-apr-util={0}".format(spec["apr-util"].prefix),
+ "--with-sqlite={0}".format(spec["sqlite"].prefix),
+ "--with-expat={0}:{1}:{2}".format(
+ spec["expat"].headers.directories[0],
+ spec["expat"].libs.directories[0],
+ spec["expat"].libs.names[0],
),
- '--with-zlib={0}'.format(spec['zlib'].prefix),
- '--without-apxs',
- '--without-trang',
- '--without-doxygen',
- '--without-berkeley-db',
- '--without-sasl',
- '--without-libmagic',
- '--without-kwallet',
- '--without-jdk',
- '--without-boost',
+ "--with-zlib={0}".format(spec["zlib"].prefix),
+ "--without-apxs",
+ "--without-trang",
+ "--without-doxygen",
+ "--without-berkeley-db",
+ "--without-sasl",
+ "--without-libmagic",
+ "--without-kwallet",
+ "--without-jdk",
+ "--without-boost",
]
- if spec.satisfies('@1.10:'):
- args.extend([
- '--with-lz4={0}'.format(spec['lz4'].prefix),
- '--with-utf8proc={0}'.format(spec['utf8proc'].prefix),
- ])
+ if spec.satisfies("@1.10:"):
+ args.extend(
+ [
+ "--with-lz4={0}".format(spec["lz4"].prefix),
+ "--with-utf8proc={0}".format(spec["utf8proc"].prefix),
+ ]
+ )
- if '+serf' in spec:
- args.append('--with-serf={0}'.format(spec['serf'].prefix))
+ if "+serf" in spec:
+ args.append("--with-serf={0}".format(spec["serf"].prefix))
else:
- args.append('--without-serf')
+ args.append("--without-serf")
- if 'swig' in spec:
- args.append('--with-swig={0}'.format(spec['swig'].prefix))
+ if "swig" in spec:
+ args.append("--with-swig={0}".format(spec["swig"].prefix))
else:
- args.append('--without-swig')
-
- if '+perl' in spec:
- args.append('PERL={0}'.format(spec['perl'].command.path))
-
- if spec.satisfies('~apxs'):
- args.append('APXS=no')
-
- if '+nls' in spec:
- args.extend([
- 'LDFLAGS={0}'.format(spec['gettext'].libs.search_flags),
- # Using .libs.link_flags is the canonical way to add these arguments,
- # but since libintl is much smaller than the rest and also the only
- # necessary one, we specify it by hand here.
- 'LIBS=-lintl',
- '--enable-nls',
- ])
+ args.append("--without-swig")
+
+ if "+perl" in spec:
+ args.append("PERL={0}".format(spec["perl"].command.path))
+
+ if spec.satisfies("~apxs"):
+ args.append("APXS=no")
+
+ if "+nls" in spec:
+ args.extend(
+ [
+ "LDFLAGS={0}".format(spec["gettext"].libs.search_flags),
+ # Using .libs.link_flags is the canonical way to add these arguments,
+ # but since libintl is much smaller than the rest and also the only
+ # necessary one, we specify it by hand here.
+ "LIBS=-lintl",
+ "--enable-nls",
+ ]
+ )
else:
- args.append('--disable-nls')
+ args.append("--disable-nls")
return args
def build(self, spec, prefix):
make()
- if '+perl' in spec:
- make('swig-pl')
- with working_dir(join_path(
- 'subversion', 'bindings', 'swig', 'perl', 'native')):
- perl = spec['perl'].command
- perl('Makefile.PL', 'INSTALL_BASE={0}'.format(prefix))
+ if "+perl" in spec:
+ make("swig-pl")
+ with working_dir(join_path("subversion", "bindings", "swig", "perl", "native")):
+ perl = spec["perl"].command
+ perl("Makefile.PL", "INSTALL_BASE={0}".format(prefix))
def check(self):
- make('check')
- if '+perl' in self.spec:
- make('check-swig-pl')
+ make("check")
+ if "+perl" in self.spec:
+ make("check-swig-pl")
def install(self, spec, prefix):
- make('install', parallel=False)
- if '+perl' in spec:
- make('install-swig-pl-lib')
- with working_dir(join_path(
- 'subversion', 'bindings', 'swig', 'perl', 'native')):
- make('install')
+ make("install", parallel=False)
+ if "+perl" in spec:
+ make("install-swig-pl-lib")
+ with working_dir(join_path("subversion", "bindings", "swig", "perl", "native")):
+ make("install")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'^svn, version\s+([\d\.]+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"^svn, version\s+([\d\.]+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py
index 091139db3f..d2b85a741c 100644
--- a/var/spack/repos/builtin/packages/suite-sparse/package.py
+++ b/var/spack/repos/builtin/packages/suite-sparse/package.py
@@ -10,77 +10,92 @@ class SuiteSparse(Package):
"""
SuiteSparse is a suite of sparse matrix algorithms
"""
- homepage = 'https://people.engr.tamu.edu/davis/suitesparse.html'
- url = 'https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v4.5.3.tar.gz'
- git = 'https://github.com/DrTimothyAldenDavis/SuiteSparse.git'
-
- version('5.10.1', sha256='acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee')
- version('5.10.0', sha256='4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5')
- version('5.9.0', sha256='7bdd4811f1cf0767c5fdb5e435817fdadee50b0acdb598f4882ae7b8291a7f24')
- version('5.8.1', sha256='06726e471fbaa55f792578f9b4ab282ea9d008cf39ddcc3b42b73400acddef40')
- version('5.8.0', sha256='94a9b7134eb4dd82b97f1a22a6b464feb81e73af2dcdf683c6f252285191df1d')
- version('5.7.2', sha256='fe3bc7c3bd1efdfa5cffffb5cebf021ff024c83b5daf0ab445429d3d741bd3ad')
- version('5.7.1', sha256='5ba5add1663d51a1b6fb128b50fe869b497f3096765ff7f8212f0ede044b9557')
- version('5.6.0', sha256='76d34d9f6dafc592b69af14f58c1dc59e24853dcd7c2e8f4c98ffa223f6a1adb')
- version('5.5.0', sha256='63c73451734e2bab19d1915796c6776565ea6aea5da4063a9797ecec60da2e3d')
- version('5.4.0', sha256='d9d62d539410d66550d0b795503a556830831f50087723cb191a030525eda770')
- version('5.3.0', sha256='d8ef4bee4394d2f07299d4688b83bbd98e9d3a2ebbe1c1632144b6f7095ce165')
- version('5.2.0', sha256='68c431aef3d9a0b02e97803eb61671c5ecb9d36fd292a807db87067dadb36e53')
- version('5.1.2', sha256='97dc5fdc7f78ff5018e6a1fcc841e17a9af4e5a35cebd62df6922349bf12959e')
- version('5.1.0', sha256='0b0e03c63e67b04529bb6248808d2a8c82259d40b30fc5a7599f4b6f7bdd4dc6')
- version('5.0.0', sha256='2f8694d9978033659f10ceb8bdb19147d3c519a0251b8de84be6ba8824d30517')
- version('4.5.6', sha256='1c7b7a265a1d6c606095eb8aa3cb8e27821f1b7f5bc04f28df6d62906e02f4e4')
- version('4.5.5', sha256='80d1d9960a6ec70031fecfe9adfe5b1ccd8001a7420efb50d6fa7326ef14af91')
- version('4.5.3', sha256='b6965f9198446a502cde48fb0e02236e75fa5700b94c7306fc36599d57b563f4')
-
- variant('tbb', default=False, description='Build with Intel TBB')
- variant('pic', default=True, description='Build position independent code (required to link with shared libraries)')
- variant('cuda', default=False, description='Build with CUDA')
- variant('openmp', default=False, description='Build with OpenMP')
- variant('graphblas', default=False, description='Build with GraphBLAS (takes a long time to compile)')
-
- depends_on('mpfr@4.0.0:', type=('build', 'link'), when='@5.8.0:')
- depends_on('gmp', type=('build', 'link'), when='@5.8.0:')
- depends_on('blas')
- depends_on('lapack')
- depends_on('m4', type='build', when='@5.0.0:')
- depends_on('cmake', when='+graphblas @5.2.0:', type='build')
-
- depends_on('metis@5.1.0', when='@4.5.1:')
+
+ homepage = "https://people.engr.tamu.edu/davis/suitesparse.html"
+ url = "https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v4.5.3.tar.gz"
+ git = "https://github.com/DrTimothyAldenDavis/SuiteSparse.git"
+
+ version("5.10.1", sha256="acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee")
+ version("5.10.0", sha256="4bcc974901c0173acf80c41ee0fd779eb7dce2871d4afa24a5d15b1a468f93e5")
+ version("5.9.0", sha256="7bdd4811f1cf0767c5fdb5e435817fdadee50b0acdb598f4882ae7b8291a7f24")
+ version("5.8.1", sha256="06726e471fbaa55f792578f9b4ab282ea9d008cf39ddcc3b42b73400acddef40")
+ version("5.8.0", sha256="94a9b7134eb4dd82b97f1a22a6b464feb81e73af2dcdf683c6f252285191df1d")
+ version("5.7.2", sha256="fe3bc7c3bd1efdfa5cffffb5cebf021ff024c83b5daf0ab445429d3d741bd3ad")
+ version("5.7.1", sha256="5ba5add1663d51a1b6fb128b50fe869b497f3096765ff7f8212f0ede044b9557")
+ version("5.6.0", sha256="76d34d9f6dafc592b69af14f58c1dc59e24853dcd7c2e8f4c98ffa223f6a1adb")
+ version("5.5.0", sha256="63c73451734e2bab19d1915796c6776565ea6aea5da4063a9797ecec60da2e3d")
+ version("5.4.0", sha256="d9d62d539410d66550d0b795503a556830831f50087723cb191a030525eda770")
+ version("5.3.0", sha256="d8ef4bee4394d2f07299d4688b83bbd98e9d3a2ebbe1c1632144b6f7095ce165")
+ version("5.2.0", sha256="68c431aef3d9a0b02e97803eb61671c5ecb9d36fd292a807db87067dadb36e53")
+ version("5.1.2", sha256="97dc5fdc7f78ff5018e6a1fcc841e17a9af4e5a35cebd62df6922349bf12959e")
+ version("5.1.0", sha256="0b0e03c63e67b04529bb6248808d2a8c82259d40b30fc5a7599f4b6f7bdd4dc6")
+ version("5.0.0", sha256="2f8694d9978033659f10ceb8bdb19147d3c519a0251b8de84be6ba8824d30517")
+ version("4.5.6", sha256="1c7b7a265a1d6c606095eb8aa3cb8e27821f1b7f5bc04f28df6d62906e02f4e4")
+ version("4.5.5", sha256="80d1d9960a6ec70031fecfe9adfe5b1ccd8001a7420efb50d6fa7326ef14af91")
+ version("4.5.3", sha256="b6965f9198446a502cde48fb0e02236e75fa5700b94c7306fc36599d57b563f4")
+
+ variant("tbb", default=False, description="Build with Intel TBB")
+ variant(
+ "pic",
+ default=True,
+ description="Build position independent code (required to link with shared libraries)",
+ )
+ variant("cuda", default=False, description="Build with CUDA")
+ variant("openmp", default=False, description="Build with OpenMP")
+ variant(
+ "graphblas",
+ default=False,
+ description="Build with GraphBLAS (takes a long time to compile)",
+ )
+
+ depends_on("mpfr@4.0.0:", type=("build", "link"), when="@5.8.0:")
+ depends_on("gmp", type=("build", "link"), when="@5.8.0:")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("m4", type="build", when="@5.0.0:")
+ depends_on("cmake", when="+graphblas @5.2.0:", type="build")
+
+ depends_on("metis@5.1.0", when="@4.5.1:")
# in @4.5.1. TBB support in SPQR seems to be broken as TBB-related linkng
# flags does not seem to be used, which leads to linking errors on Linux.
- depends_on('tbb', when='@4.5.3:+tbb')
+ depends_on("tbb", when="@4.5.3:+tbb")
- depends_on('cuda', when='+cuda')
+ depends_on("cuda", when="+cuda")
- patch('tbb_453.patch', when='@4.5.3:4.5.5+tbb')
+ patch("tbb_453.patch", when="@4.5.3:4.5.5+tbb")
# This patch removes unsupported flags for pgi compiler
- patch('pgi.patch', when='%pgi')
- patch('pgi.patch', when='%nvhpc')
+ patch("pgi.patch", when="%pgi")
+ patch("pgi.patch", when="%nvhpc")
# This patch adds '-lm' when linking libgraphblas and when using clang.
# Fixes 'libgraphblas.so.2.0.1: undefined reference to `__fpclassify''
- patch('graphblas_libm_dep.patch', when='+graphblas @5.2.0:5.2%clang')
+ patch("graphblas_libm_dep.patch", when="+graphblas @5.2.0:5.2%clang")
# CUDA-11 dropped sm_30 code generation, remove hardcoded sm_30 from makefile
# open issue: https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/56
# Tested only with 5.9.0, previous versions probably work too
- patch('fix_cuda11.patch', when='@5.9.0:5.10.0+cuda ^cuda@11:')
+ patch("fix_cuda11.patch", when="@5.9.0:5.10.0+cuda ^cuda@11:")
- conflicts('%gcc@:4.8', when='@5.2.0:', msg='gcc version must be at least 4.9 for suite-sparse@5.2.0:')
+ conflicts(
+ "%gcc@:4.8", when="@5.2.0:", msg="gcc version must be at least 4.9 for suite-sparse@5.2.0:"
+ )
# The @2021.x versions of tbb dropped the task_scheduler_init.h header and
# related stuff (which have long been deprecated). This appears to be
# rather problematic for suite-sparse (see e.g.
# https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/SPQR/Source/spqr_parallel.cpp)
# Have Spack complain if +tbb and trying to use a 2021.x version of tbb
- conflicts('+tbb', when='^intel-oneapi-tbb@2021:',
- msg='suite-sparse needs task_scheduler_init.h dropped in '
- 'recent tbb libs')
- conflicts('+tbb', when='^intel-tbb@2021:',
- msg='suite-sparse needs task_scheduler_init.h dropped in '
- 'recent tbb libs')
+ conflicts(
+ "+tbb",
+ when="^intel-oneapi-tbb@2021:",
+ msg="suite-sparse needs task_scheduler_init.h dropped in " "recent tbb libs",
+ )
+ conflicts(
+ "+tbb",
+ when="^intel-tbb@2021:",
+ msg="suite-sparse needs task_scheduler_init.h dropped in " "recent tbb libs",
+ )
def symbol_suffix_blas(self, spec, args):
"""When using BLAS with a special symbol suffix we use defines to
@@ -88,23 +103,44 @@ class SuiteSparse(Package):
symbol_suffix=64_."""
# Currently only OpenBLAS does this.
- if not spec.satisfies('^openblas'):
+ if not spec.satisfies("^openblas"):
return
- suffix = spec['openblas'].variants['symbol_suffix'].value
- if suffix == 'none':
+ suffix = spec["openblas"].variants["symbol_suffix"].value
+ if suffix == "none":
return
symbols = (
- 'dtrsv_', 'dgemv_', 'dtrsm_', 'dgemm_', 'dsyrk_', 'dger_', 'dscal_',
- 'dpotrf_', 'ztrsv_', 'zgemv_', 'ztrsm_', 'zgemm_', 'zherk_',
- 'zgeru_', 'zscal_', 'zpotrf_',
- 'dnrm2_', 'dlarf_', 'dlarfg_', 'dlarft_', 'dlarfb_', 'dznrm2_',
- 'zlarf_', 'zlarfg_', 'zlarft_', 'zlarfb_'
+ "dtrsv_",
+ "dgemv_",
+ "dtrsm_",
+ "dgemm_",
+ "dsyrk_",
+ "dger_",
+ "dscal_",
+ "dpotrf_",
+ "ztrsv_",
+ "zgemv_",
+ "ztrsm_",
+ "zgemm_",
+ "zherk_",
+ "zgeru_",
+ "zscal_",
+ "zpotrf_",
+ "dnrm2_",
+ "dlarf_",
+ "dlarfg_",
+ "dlarft_",
+ "dlarfb_",
+ "dznrm2_",
+ "zlarf_",
+ "zlarfg_",
+ "zlarft_",
+ "zlarfb_",
)
for symbol in symbols:
- args.append('CFLAGS+=-D{0}={1}{2}'.format(symbol, symbol, suffix))
+ args.append("CFLAGS+=-D{0}={1}{2}".format(symbol, symbol, suffix))
def install(self, spec, prefix):
# The build system of SuiteSparse is quite old-fashioned.
@@ -113,38 +149,36 @@ class SuiteSparse(Package):
# logic in it. Any kind of customization will need to go through
# filtering of that file
- cc_pic_flag = self.compiler.cc_pic_flag if '+pic' in spec else ''
- f77_pic_flag = self.compiler.f77_pic_flag if '+pic' in spec else ''
+ cc_pic_flag = self.compiler.cc_pic_flag if "+pic" in spec else ""
+ f77_pic_flag = self.compiler.f77_pic_flag if "+pic" in spec else ""
make_args = [
# By default, the Makefile uses the Intel compilers if
# they are found. The AUTOCC flag disables this behavior,
# forcing it to use Spack's compiler wrappers.
- 'AUTOCC=no',
+ "AUTOCC=no",
# CUDA=no does NOT disable cuda, it only disables internal search
# for CUDA_PATH. If in addition the latter is empty, then CUDA is
# completely disabled. See
# [SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk] for more.
- 'CUDA=no',
- 'CUDA_PATH=%s' % (spec['cuda'].prefix if '+cuda' in spec else ''),
- 'CFOPENMP=%s' % (self.compiler.openmp_flag
- if '+openmp' in spec else ''),
- 'CFLAGS=-O3 %s' % cc_pic_flag,
+ "CUDA=no",
+ "CUDA_PATH=%s" % (spec["cuda"].prefix if "+cuda" in spec else ""),
+ "CFOPENMP=%s" % (self.compiler.openmp_flag if "+openmp" in spec else ""),
+ "CFLAGS=-O3 %s" % cc_pic_flag,
# Both FFLAGS and F77FLAGS are used in SuiteSparse makefiles;
# FFLAGS is used in CHOLMOD, F77FLAGS is used in AMD and UMFPACK.
- 'FFLAGS=%s' % f77_pic_flag,
- 'F77FLAGS=%s' % f77_pic_flag,
+ "FFLAGS=%s" % f77_pic_flag,
+ "F77FLAGS=%s" % f77_pic_flag,
# use Spack's metis in CHOLMOD/Partition module,
# otherwise internal Metis will be compiled
- 'MY_METIS_LIB=%s' % spec['metis'].libs.ld_flags,
- 'MY_METIS_INC=%s' % spec['metis'].prefix.include,
+ "MY_METIS_LIB=%s" % spec["metis"].libs.ld_flags,
+ "MY_METIS_INC=%s" % spec["metis"].prefix.include,
# Make sure Spack's Blas/Lapack is used. Otherwise System's
# Blas/Lapack might be picked up. Need to add -lstdc++, following
# with the TCOV path of SparseSuite 4.5.1's Suitesparse_config.mk,
# even though this fix is ugly
- 'BLAS=%s' % (spec['blas'].libs.ld_flags + (
- ' -lstdc++' if '@4.5.1' in spec else '')),
- 'LAPACK=%s' % spec['lapack'].libs.ld_flags,
+ "BLAS=%s" % (spec["blas"].libs.ld_flags + (" -lstdc++" if "@4.5.1" in spec else "")),
+ "LAPACK=%s" % spec["lapack"].libs.ld_flags,
]
# Recent versions require c11 but some demos do not get the c11 from
@@ -152,13 +186,15 @@ class SuiteSparse(Package):
# GraphBLAS/Demo/Program/wildtype_demo.c. For many compilers this is
# not an issue because c11 or newer is their default. However, for some
# compilers (e.g. xlc) the c11 flag is necessary.
- if spec.satisfies('@5.4:5.7.1') and ('%xl' in spec or '%xl_r' in spec):
- make_args += ['CFLAGS+=%s' % self.compiler.c11_flag]
+ if spec.satisfies("@5.4:5.7.1") and ("%xl" in spec or "%xl_r" in spec):
+ make_args += ["CFLAGS+=%s" % self.compiler.c11_flag]
# 64bit blas in UMFPACK:
- if (spec.satisfies('^openblas+ilp64') or
- spec.satisfies('^intel-mkl+ilp64') or
- spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
+ if (
+ spec.satisfies("^openblas+ilp64")
+ or spec.satisfies("^intel-mkl+ilp64")
+ or spec.satisfies("^intel-parallel-studio+mkl+ilp64")
+ ):
make_args.append('UMFPACK_CONFIG=-DLONGBLAS="long long"')
# Handle symbol suffix of some BLAS'es (e.g. 64_ or _64 for ilp64)
@@ -167,72 +203,67 @@ class SuiteSparse(Package):
# SuiteSparse defaults to using '-fno-common -fexceptions' in
# CFLAGS, but not all compilers use the same flags for these
# optimizations
- if any([x in spec for x in
- ('%apple-clang', '%clang', '%gcc', '%intel', '%fj')]):
- make_args += ['CFLAGS+=-fno-common -fexceptions']
- elif '%pgi' in spec:
- make_args += ['CFLAGS+=--exceptions']
+ if any([x in spec for x in ("%apple-clang", "%clang", "%gcc", "%intel", "%fj")]):
+ make_args += ["CFLAGS+=-fno-common -fexceptions"]
+ elif "%pgi" in spec:
+ make_args += ["CFLAGS+=--exceptions"]
- if spack_f77.endswith('xlf') or spack_f77.endswith('xlf_r'):
- make_args += ['CFLAGS+=-DBLAS_NO_UNDERSCORE']
+ if spack_f77.endswith("xlf") or spack_f77.endswith("xlf_r"):
+ make_args += ["CFLAGS+=-DBLAS_NO_UNDERSCORE"]
# Intel TBB in SuiteSparseQR
- if '+tbb' in spec:
+ if "+tbb" in spec:
make_args += [
- 'SPQR_CONFIG=-DHAVE_TBB',
- 'TBB=%s' % spec['tbb'].libs.ld_flags,
+ "SPQR_CONFIG=-DHAVE_TBB",
+ "TBB=%s" % spec["tbb"].libs.ld_flags,
]
- if '@5.3:' in spec:
+ if "@5.3:" in spec:
# Without CMAKE_LIBRARY_PATH defined, the CMake file in the
# Mongoose directory finds libsuitesparseconfig.so in system
# directories like /usr/lib.
make_args += [
- 'CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=%s' % prefix +
- ' -DCMAKE_LIBRARY_PATH=%s' % prefix.lib]
+ "CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=%s" % prefix
+ + " -DCMAKE_LIBRARY_PATH=%s" % prefix.lib
+ ]
- make_args.append('INSTALL=%s' % prefix)
+ make_args.append("INSTALL=%s" % prefix)
# Filter the targets we're interested in
targets = [
- 'SuiteSparse_config',
- 'AMD',
- 'BTF',
- 'CAMD',
- 'CCOLAMD',
- 'COLAMD',
- 'CHOLMOD',
- 'CXSparse',
- 'LDL',
- 'KLU',
- 'UMFPACK',
- 'RBio',
- 'SPQR'
+ "SuiteSparse_config",
+ "AMD",
+ "BTF",
+ "CAMD",
+ "CCOLAMD",
+ "COLAMD",
+ "CHOLMOD",
+ "CXSparse",
+ "LDL",
+ "KLU",
+ "UMFPACK",
+ "RBio",
+ "SPQR",
]
- if spec.satisfies('+cuda'):
- targets.extend([
- 'SuiteSparse_GPURuntime',
- 'GPUQREngine'
- ])
- targets.extend([
- 'SPQR'
- ])
- if spec.satisfies('+graphblas'):
- targets.append('GraphBLAS')
- if spec.satisfies('@5.8.0:'):
- targets.append('SLIP_LU')
+ if spec.satisfies("+cuda"):
+ targets.extend(["SuiteSparse_GPURuntime", "GPUQREngine"])
+ targets.extend(["SPQR"])
+ if spec.satisfies("+graphblas"):
+ targets.append("GraphBLAS")
+ if spec.satisfies("@5.8.0:"):
+ targets.append("SLIP_LU")
# Finally make and install
- make('-C', 'SuiteSparse_config', 'library', 'config')
+ make("-C", "SuiteSparse_config", "library", "config")
for target in targets:
- make('-C', target, 'library', *make_args)
- make('-C', target, 'install', *make_args)
+ make("-C", target, "library", *make_args)
+ make("-C", target, "install", *make_args)
- @run_after('install')
+ @run_after("install")
def fix_darwin_install(self):
# The shared libraries are not installed correctly on Darwin:
# See https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/42
- if '+pic platform=darwin' in self.spec:
+ if "+pic platform=darwin" in self.spec:
fix_darwin_install_name(self.spec.prefix.lib)
@property
@@ -242,10 +273,23 @@ class SuiteSparse(Package):
spec['suite-sparse:klu,btf'].libs.ld_flags
"""
# Component libraries, ordered by dependency. Any missing components?
- all_comps = ['klu', 'btf', 'umfpack', 'cholmod', 'colamd', 'amd',
- 'camd', 'ccolamd', 'cxsparse', 'ldl', 'rbio', 'spqr',
- 'suitesparseconfig']
+ all_comps = [
+ "klu",
+ "btf",
+ "umfpack",
+ "cholmod",
+ "colamd",
+ "amd",
+ "camd",
+ "ccolamd",
+ "cxsparse",
+ "ldl",
+ "rbio",
+ "spqr",
+ "suitesparseconfig",
+ ]
query_parameters = self.spec.last_query.extra_parameters
comps = all_comps if not query_parameters else query_parameters
- return find_libraries(['lib' + c for c in comps], root=self.prefix.lib,
- shared=True, recursive=False)
+ return find_libraries(
+ ["lib" + c for c in comps], root=self.prefix.lib, shared=True, recursive=False
+ )
diff --git a/var/spack/repos/builtin/packages/sumaclust/package.py b/var/spack/repos/builtin/packages/sumaclust/package.py
index 3d60fc8c28..c6b325d5f4 100644
--- a/var/spack/repos/builtin/packages/sumaclust/package.py
+++ b/var/spack/repos/builtin/packages/sumaclust/package.py
@@ -8,16 +8,19 @@ from spack.package import *
class Sumaclust(MakefilePackage):
"""Sumaclust aims to cluster sequences in a way that is fast and exact at
- the same time."""
+ the same time."""
homepage = "https://git.metabarcoding.org/obitools/sumaclust"
- version('1.0.20', sha256='b697495f9a2b93fe069ecdb3bc6bba75b07ec3ef9f01ed66c4dd69587a40cfc1',
- url="https://git.metabarcoding.org/obitools/sumaclust/uploads/69f757c42f2cd45212c587e87c75a00f/sumaclust_v1.0.20.tar.gz")
+ version(
+ "1.0.20",
+ sha256="b697495f9a2b93fe069ecdb3bc6bba75b07ec3ef9f01ed66c4dd69587a40cfc1",
+ url="https://git.metabarcoding.org/obitools/sumaclust/uploads/69f757c42f2cd45212c587e87c75a00f/sumaclust_v1.0.20.tar.gz",
+ )
def build(self, spec, prefix):
- make('CC={0}'.format(spack_cc))
+ make("CC={0}".format(spack_cc))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sumaclust', prefix.bin)
+ install("sumaclust", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sumo/package.py b/var/spack/repos/builtin/packages/sumo/package.py
index def5519273..42448df442 100644
--- a/var/spack/repos/builtin/packages/sumo/package.py
+++ b/var/spack/repos/builtin/packages/sumo/package.py
@@ -13,43 +13,37 @@ class Sumo(CMakePackage):
comes with a large set of tools for scenario creation."""
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')
-
- variant('gdal',
- default=True,
- description='gdal support, for arcgis')
- variant('ffmpeg',
- default=False,
- description='ffmpeg support, for video output')
- variant('openscenegraph',
- default=False,
- description='openscenegraph support, for experimental 3D GUI')
- variant('gl2ps',
- default=False,
- description='gl2ps support')
- variant('eigen',
- default=False,
- description='eigen support')
-
- extends('python')
- depends_on('py-setuptools', type='build')
- depends_on('googletest', type='test')
- depends_on('xerces-c')
- depends_on('proj')
- depends_on('fox@1.6.57+opengl')
- depends_on('swig', type='build')
- depends_on('java', type=('build', 'run'))
- depends_on('gdal', when='+gdal')
- depends_on('ffmpeg', when='+ffmpeg')
- depends_on('openscenegraph', when='+openscenegraph')
- depends_on('gl2ps', when='+gl2ps')
- depends_on('eigen', when='+eigen')
+ url = "https://github.com/eclipse/sumo/archive/v1_5_0.tar.gz"
+
+ version("1.5.0", sha256="be6ba0361b487a5e71c81e60b4c07a67826d5e170500c10c37374c1086ac2cb6")
+
+ variant("gdal", default=True, description="gdal support, for arcgis")
+ variant("ffmpeg", default=False, description="ffmpeg support, for video output")
+ variant(
+ "openscenegraph",
+ default=False,
+ description="openscenegraph support, for experimental 3D GUI",
+ )
+ variant("gl2ps", default=False, description="gl2ps support")
+ variant("eigen", default=False, description="eigen support")
+
+ extends("python")
+ depends_on("py-setuptools", type="build")
+ depends_on("googletest", type="test")
+ depends_on("xerces-c")
+ depends_on("proj")
+ depends_on("fox@1.6.57+opengl")
+ depends_on("swig", type="build")
+ depends_on("java", type=("build", "run"))
+ depends_on("gdal", when="+gdal")
+ depends_on("ffmpeg", when="+ffmpeg")
+ depends_on("openscenegraph", when="+openscenegraph")
+ depends_on("gl2ps", when="+gl2ps")
+ depends_on("eigen", when="+eigen")
def url_for_version(self, version):
url = "https://github.com/eclipse/sumo/archive/v{0}.tar.gz"
return url.format(version.underscored)
def setup_run_environment(self, env):
- env.set('SUMO_HOME', self.prefix)
+ env.set("SUMO_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index 75086b1b5f..5ebebb837f 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -18,236 +18,235 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://computing.llnl.gov/projects/sundials"
url = "https://github.com/LLNL/sundials/releases/download/v2.7.0/sundials-2.7.0.tar.gz"
git = "https://github.com/llnl/sundials.git"
- tags = ['radiuss', 'e4s']
+ tags = ["radiuss", "e4s"]
test_requires_compiler = True
- maintainers = ['balos1', 'cswoodward', 'gardner48']
+ maintainers = ["balos1", "cswoodward", "gardner48"]
# ==========================================================================
# Versions
# ==========================================================================
- version('develop', branch='develop')
- version('6.2.0', sha256='195d5593772fc483f63f08794d79e4bab30c2ec58e6ce4b0fb6bcc0e0c48f31d')
- version('6.1.1', sha256='cfaf637b792c330396a25ef787eb59d58726c35918ebbc08e33466e45d50470c')
- version('6.1.0', sha256='eea49f52140640e54931c779e73aece65f34efa996a26b2263db6a1e27d0901c')
- version('6.0.0', sha256='c7178e54df20a9363ae3e5ac5b3ee9db756a4ddd4b8fff045127e93b73b151f4')
- version('5.8.0', sha256='d4ed403351f72434d347df592da6c91a69452071860525385b3339c824e8a213')
- version('5.7.0', sha256='48da7baa8152ddb22aed1b02d82d1dbb4fbfea22acf67634011aa0303a100a43')
- version('5.6.1', sha256='16b77999ec7e7f2157aa1d04ca1de4a2371ca8150e056d24951d0c58966f2a83')
- version('5.6.0', sha256='95e4201912e150f29c6f6f7625de763385e2073dae7f929c4a544561ea29915d')
- version('5.5.0', sha256='2a755e89aab96d2ff096a4e30bf00bb162e80be20e9e99f424dccfb249098237')
- version('5.4.0', sha256='04d8a2ebe02cdaeef5a9e22ff7e3146bb563d8400f65772b6c7af80001413ffa')
- version('5.3.0', sha256='88dff7e11a366853d8afd5de05bf197a8129a804d9d4461fb64297f1ef89bca7')
- version('5.2.0', sha256='95f058acce5bd66e654de65acdbb1c9f44c90cf1b4e28f8d933cdb4415ebba3e')
- version('5.1.0', sha256='fb22d14fad42203809dc46d046b001149ec4e901b23882bd4a80619157fd9b21')
- version('5.0.0', sha256='345141ec01c641d0bdfb3476c478b7e74fd6a7192a478a27cafe75d9da2d7dd3')
- version('4.1.0', sha256='280de1c27b2360170a6f46cb3799b2aee9dff3bddbafc8b08c291a47ab258aa5')
- version('4.0.1', sha256='29e409c8620e803990edbda1ebf49e03a38c08b9187b90658d86bddae913aed4')
- version('3.2.1', sha256='47d94d977ab2382cdcdd02f72a25ebd4ba8ca2634bbb2f191fe1636e71c86808')
- version('3.2.0', sha256='d2b690afecadf8b5a048bb27ab341de591d714605b98d3518985dfc2250e93f9')
- version('3.1.2', sha256='a8985bb1e851d90e24260450667b134bc13d71f5c6effc9e1d7183bd874fe116')
- version('3.1.1', sha256='a24d643d31ed1f31a25b102a1e1759508ce84b1e4739425ad0e18106ab471a24')
- version('3.1.0', sha256='18d52f8f329626f77b99b8bf91e05b7d16b49fde2483d3a0ea55496ce4cdd43a')
- version('3.0.0', sha256='28b8e07eecfdef66e2c0d0ea0cb1b91af6e4e94d71008abfe80c27bf39f63fde')
- version('2.7.0', sha256='d39fcac7175d701398e4eb209f7e92a5b30a78358d4a0c0fcc23db23c11ba104')
- version('2.6.2', sha256='d8ed0151509dd2b0f317b318a4175f8b95a174340fc3080b8c20617da8aa4d2f')
+ version("develop", branch="develop")
+ version("6.2.0", sha256="195d5593772fc483f63f08794d79e4bab30c2ec58e6ce4b0fb6bcc0e0c48f31d")
+ version("6.1.1", sha256="cfaf637b792c330396a25ef787eb59d58726c35918ebbc08e33466e45d50470c")
+ version("6.1.0", sha256="eea49f52140640e54931c779e73aece65f34efa996a26b2263db6a1e27d0901c")
+ version("6.0.0", sha256="c7178e54df20a9363ae3e5ac5b3ee9db756a4ddd4b8fff045127e93b73b151f4")
+ version("5.8.0", sha256="d4ed403351f72434d347df592da6c91a69452071860525385b3339c824e8a213")
+ version("5.7.0", sha256="48da7baa8152ddb22aed1b02d82d1dbb4fbfea22acf67634011aa0303a100a43")
+ version("5.6.1", sha256="16b77999ec7e7f2157aa1d04ca1de4a2371ca8150e056d24951d0c58966f2a83")
+ version("5.6.0", sha256="95e4201912e150f29c6f6f7625de763385e2073dae7f929c4a544561ea29915d")
+ version("5.5.0", sha256="2a755e89aab96d2ff096a4e30bf00bb162e80be20e9e99f424dccfb249098237")
+ version("5.4.0", sha256="04d8a2ebe02cdaeef5a9e22ff7e3146bb563d8400f65772b6c7af80001413ffa")
+ version("5.3.0", sha256="88dff7e11a366853d8afd5de05bf197a8129a804d9d4461fb64297f1ef89bca7")
+ version("5.2.0", sha256="95f058acce5bd66e654de65acdbb1c9f44c90cf1b4e28f8d933cdb4415ebba3e")
+ version("5.1.0", sha256="fb22d14fad42203809dc46d046b001149ec4e901b23882bd4a80619157fd9b21")
+ version("5.0.0", sha256="345141ec01c641d0bdfb3476c478b7e74fd6a7192a478a27cafe75d9da2d7dd3")
+ version("4.1.0", sha256="280de1c27b2360170a6f46cb3799b2aee9dff3bddbafc8b08c291a47ab258aa5")
+ version("4.0.1", sha256="29e409c8620e803990edbda1ebf49e03a38c08b9187b90658d86bddae913aed4")
+ version("3.2.1", sha256="47d94d977ab2382cdcdd02f72a25ebd4ba8ca2634bbb2f191fe1636e71c86808")
+ version("3.2.0", sha256="d2b690afecadf8b5a048bb27ab341de591d714605b98d3518985dfc2250e93f9")
+ version("3.1.2", sha256="a8985bb1e851d90e24260450667b134bc13d71f5c6effc9e1d7183bd874fe116")
+ version("3.1.1", sha256="a24d643d31ed1f31a25b102a1e1759508ce84b1e4739425ad0e18106ab471a24")
+ version("3.1.0", sha256="18d52f8f329626f77b99b8bf91e05b7d16b49fde2483d3a0ea55496ce4cdd43a")
+ version("3.0.0", sha256="28b8e07eecfdef66e2c0d0ea0cb1b91af6e4e94d71008abfe80c27bf39f63fde")
+ version("2.7.0", sha256="d39fcac7175d701398e4eb209f7e92a5b30a78358d4a0c0fcc23db23c11ba104")
+ version("2.6.2", sha256="d8ed0151509dd2b0f317b318a4175f8b95a174340fc3080b8c20617da8aa4d2f")
# ==========================================================================
# Variants
# ==========================================================================
# SUNDIALS solvers
- sun_solvers = ['CVODE', 'CVODES', 'ARKODE', 'IDA', 'IDAS', 'KINSOL']
+ sun_solvers = ["CVODE", "CVODES", "ARKODE", "IDA", "IDAS", "KINSOL"]
for pkg in sun_solvers:
- variant(pkg, default=True,
- description='Enable %s solver' % pkg)
+ variant(pkg, default=True, description="Enable %s solver" % pkg)
# Language standards
- variant('cstd', default='99',
- description='C language standard',
- values=('90', '99', '11', '17'))
+ variant(
+ "cstd", default="99", description="C language standard", values=("90", "99", "11", "17")
+ )
- variant('cxxstd', default='14',
- description='C++ language standard',
- values=('99', '11', '14', '17'))
+ variant(
+ "cxxstd",
+ default="14",
+ description="C++ language standard",
+ values=("99", "11", "14", "17"),
+ )
# Logging
variant(
- 'logging-level',
- default='0',
- description='logging level\n 0 = no logging,\n 1 = errors,\n '
- '2 = errors + warnings,\n 3 = errors + '
- 'warnings + info,\n 4 = errors + warnings + info + debugging, '
- '\n 5 = all of the above + more',
- values=('0', '1', '2', '3', '4', '5'),
+ "logging-level",
+ default="0",
+ description="logging level\n 0 = no logging,\n 1 = errors,\n "
+ "2 = errors + warnings,\n 3 = errors + "
+ "warnings + info,\n 4 = errors + warnings + info + debugging, "
+ "\n 5 = all of the above + more",
+ values=("0", "1", "2", "3", "4", "5"),
multi=False,
- when='@6.2.0:'
+ when="@6.2.0:",
)
# Real type
variant(
- 'precision',
- default='double',
- description='real type precision',
- values=('single', 'double', 'extended'),
- multi=False
+ "precision",
+ default="double",
+ description="real type precision",
+ values=("single", "double", "extended"),
+ multi=False,
)
# Index type
- variant('int64', default=False,
- description='Use 64bit integers for indices')
+ variant("int64", default=False, description="Use 64bit integers for indices")
# Parallelism
- variant('mpi', default=True,
- description='Enable MPI parallel vector')
- variant('openmp', default=False,
- description='Enable OpenMP parallel vector')
- variant('pthread', default=False,
- description='Enable Pthreads parallel vector')
- variant('raja', default=False, when='@3.0.0:',
- description='Enable RAJA vector')
- variant('sycl', default=False, when='@5.7.0:',
- description='Enable SYCL vector')
+ variant("mpi", default=True, description="Enable MPI parallel vector")
+ variant("openmp", default=False, description="Enable OpenMP parallel vector")
+ variant("pthread", default=False, description="Enable Pthreads parallel vector")
+ variant("raja", default=False, when="@3.0.0:", description="Enable RAJA vector")
+ variant("sycl", default=False, when="@5.7.0:", description="Enable SYCL vector")
# External libraries
- variant('caliper', default=False, when='@6.0.0: +profiling',
- description='Enable Caliper instrumentation/profiling')
- variant('hypre', default=False, when='@2.7.0:',
- description='Enable Hypre MPI parallel vector')
- variant('lapack', default=False,
- description='Enable LAPACK direct solvers')
- variant('klu', default=False,
- description='Enable KLU sparse, direct solver')
- variant('petsc', default=False, when='@2.7.0:',
- description='Enable PETSc interfaces')
- variant('magma', default=False, when='@5.7.0:',
- description='Enable MAGMA interface')
- variant('superlu-mt', default=False,
- description='Enable SuperLU_MT sparse, direct solver')
- variant('superlu-dist', default=False, when='@5.0.0:',
- description='Enable SuperLU_DIST sparse, direct solver')
- variant('trilinos', default=False, when='@5.0.0:',
- description='Enable Trilinos interfaces')
+ variant(
+ "caliper",
+ default=False,
+ when="@6.0.0: +profiling",
+ description="Enable Caliper instrumentation/profiling",
+ )
+ variant("hypre", default=False, when="@2.7.0:", description="Enable Hypre MPI parallel vector")
+ variant("lapack", default=False, description="Enable LAPACK direct solvers")
+ variant("klu", default=False, description="Enable KLU sparse, direct solver")
+ variant("petsc", default=False, when="@2.7.0:", description="Enable PETSc interfaces")
+ variant("magma", default=False, when="@5.7.0:", description="Enable MAGMA interface")
+ variant("superlu-mt", default=False, description="Enable SuperLU_MT sparse, direct solver")
+ variant(
+ "superlu-dist",
+ default=False,
+ when="@5.0.0:",
+ description="Enable SuperLU_DIST sparse, direct solver",
+ )
+ variant("trilinos", default=False, when="@5.0.0:", description="Enable Trilinos interfaces")
# Library type
- variant('shared', default=True,
- description='Build shared libraries')
- variant('static', default=True,
- description='Build static libraries')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("static", default=True, description="Build static libraries")
# Fortran interfaces
- variant('fcmix', default=False,
- description='Enable Fortran 77 interface')
- variant('f2003', default=False,
- description='Enable Fortran 2003 interface')
+ variant("fcmix", default=False, description="Enable Fortran 77 interface")
+ variant("f2003", default=False, description="Enable Fortran 2003 interface")
# Examples
- variant('examples', default=True,
- description='Enable examples')
- variant('examples-install', default=True,
- description='Install examples')
+ variant("examples", default=True, description="Enable examples")
+ variant("examples-install", default=True, description="Install examples")
# Generic (std-c) math libraries (UNIX only)
- variant('generic-math', default=True,
- description='Use generic (std-c) math libraries on unix systems')
+ variant(
+ "generic-math",
+ default=True,
+ description="Use generic (std-c) math libraries on unix systems",
+ )
# Monitoring
- variant('monitoring', default=False, when='@5.5.0:',
- description='Build with simulation monitoring capabilities')
+ variant(
+ "monitoring",
+ default=False,
+ when="@5.5.0:",
+ description="Build with simulation monitoring capabilities",
+ )
# Profiling
- variant('profiling', default=False, when='@6.0.0:',
- description='Build with profiling capabilities')
+ variant(
+ "profiling", default=False, when="@6.0.0:", description="Build with profiling capabilities"
+ )
# ==========================================================================
# Conflicts
# ==========================================================================
- conflicts('+cuda', when='@:2.7.0')
- conflicts('+rocm', when='@:5.6.0')
- conflicts('~int64', when='@:2.7.0')
- conflicts('+f2003', when='@:4.1.0')
+ conflicts("+cuda", when="@:2.7.0")
+ conflicts("+rocm", when="@:5.6.0")
+ conflicts("~int64", when="@:2.7.0")
+ conflicts("+f2003", when="@:4.1.0")
# External libraries incompatible with 64-bit indices
- conflicts('+lapack', when='@3.0.0: +int64')
- conflicts('+hypre', when='+hypre@:2.6.1a +int64')
+ conflicts("+lapack", when="@3.0.0: +int64")
+ conflicts("+hypre", when="+hypre@:2.6.1a +int64")
# External libraries incompatible with single precision
- conflicts('+klu', when='precision=single')
- conflicts('+hypre', when='+hypre@:2.12.0 precision=single')
- conflicts('+superlu-dist', when='precision=single')
+ conflicts("+klu", when="precision=single")
+ conflicts("+hypre", when="+hypre@:2.12.0 precision=single")
+ conflicts("+superlu-dist", when="precision=single")
# External libraries incompatible with extended (quad) precision
- conflicts('+lapack', when='precision=extended')
- conflicts('+superlu-mt', when='precision=extended')
- conflicts('+superlu-dist', when='precision=extended')
- conflicts('+klu', when='precision=extended')
- conflicts('+hypre', when='+hypre@:2.12.0 precision=extended')
+ conflicts("+lapack", when="precision=extended")
+ conflicts("+superlu-mt", when="precision=extended")
+ conflicts("+superlu-dist", when="precision=extended")
+ conflicts("+klu", when="precision=extended")
+ conflicts("+hypre", when="+hypre@:2.12.0 precision=extended")
# SuperLU_MT interface requires lapack for external blas (before v3.0.0)
- conflicts('+superlu-mt', when='@:2.7.0 ~lapack')
+ conflicts("+superlu-mt", when="@:2.7.0 ~lapack")
# rocm+examples and cstd do not work together in 6.0.0
- conflicts('+rocm+examples', when='@6.0.0')
+ conflicts("+rocm+examples", when="@6.0.0")
# ==========================================================================
# Dependencies
# ==========================================================================
# Build dependencies
- depends_on('cmake@3.12:', type='build')
+ depends_on("cmake@3.12:", type="build")
# MPI related dependencies
- depends_on('mpi', when='+mpi')
- depends_on('mpi', when='+hypre')
- depends_on('mpi', when='+petsc')
- depends_on('mpi', when='+superlu-dist')
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+hypre")
+ depends_on("mpi", when="+petsc")
+ depends_on("mpi", when="+superlu-dist")
# Other parallelism dependencies
- depends_on('raja', when='+raja')
- depends_on('raja+cuda', when='+raja +cuda')
- depends_on('raja+rocm', when='+raja +rocm')
+ depends_on("raja", when="+raja")
+ depends_on("raja+cuda", when="+raja +cuda")
+ depends_on("raja+rocm", when="+raja +rocm")
# External libraries
- depends_on('caliper', when='+caliper')
- depends_on('lapack', when='+lapack')
- depends_on('hypre+mpi~int64', when='@5.7.1: +hypre ~int64')
- depends_on('hypre+mpi+int64', when='@5.7.1: +hypre +int64')
- depends_on('hypre@:2.22.0+mpi~int64', when='@:5.7.0 +hypre ~int64')
- depends_on('hypre@:2.22.0+mpi+int64', when='@:5.7.0 +hypre +int64')
- depends_on('magma', when='+magma')
- depends_on('petsc+mpi', when='+petsc')
- depends_on('suite-sparse', when='+klu')
- depends_on('superlu-dist@6.1.1:', when='@:5.4.0 +superlu-dist')
- depends_on('superlu-dist@6.3.0:', when='@5.5.0: +superlu-dist')
- depends_on('trilinos+tpetra', when='+trilinos')
+ depends_on("caliper", when="+caliper")
+ depends_on("lapack", when="+lapack")
+ depends_on("hypre+mpi~int64", when="@5.7.1: +hypre ~int64")
+ depends_on("hypre+mpi+int64", when="@5.7.1: +hypre +int64")
+ depends_on("hypre@:2.22.0+mpi~int64", when="@:5.7.0 +hypre ~int64")
+ depends_on("hypre@:2.22.0+mpi+int64", when="@:5.7.0 +hypre +int64")
+ depends_on("magma", when="+magma")
+ depends_on("petsc+mpi", when="+petsc")
+ depends_on("suite-sparse", when="+klu")
+ depends_on("superlu-dist@6.1.1:", when="@:5.4.0 +superlu-dist")
+ depends_on("superlu-dist@6.3.0:", when="@5.5.0: +superlu-dist")
+ depends_on("trilinos+tpetra", when="+trilinos")
# Require that external libraries built with the same precision
- depends_on('petsc~double~complex', when='+petsc precision=single')
- depends_on('petsc+double~complex', when='+petsc precision=double')
+ depends_on("petsc~double~complex", when="+petsc precision=single")
+ depends_on("petsc+double~complex", when="+petsc precision=double")
# Require that external libraries built with the same index type
- depends_on('petsc~int64', when='+petsc ~int64')
- depends_on('petsc+int64', when='+petsc +int64')
- depends_on('superlu-dist+int64', when='+superlu-dist +int64')
+ depends_on("petsc~int64", when="+petsc ~int64")
+ depends_on("petsc+int64", when="+petsc +int64")
+ depends_on("superlu-dist+int64", when="+superlu-dist +int64")
# Require that SuperLU_MT built with external blas
- depends_on('superlu-mt+blas', when='+superlu-mt')
+ depends_on("superlu-mt+blas", when="+superlu-mt")
# ==========================================================================
# Patches
# ==========================================================================
# remove OpenMP header file and function from hypre vector test code
- patch('test_nvector_parhyp.patch', when='@2.7.0:3.0.0')
- patch('FindPackageMultipass.cmake.patch', when='@5.0.0')
- patch('5.5.0-xsdk-patches.patch', when='@5.5.0')
- patch('0001-add-missing-README-to-examples-cvode-hip.patch', when='@5.6.0:5.7.0')
+ patch("test_nvector_parhyp.patch", when="@2.7.0:3.0.0")
+ patch("FindPackageMultipass.cmake.patch", when="@5.0.0")
+ patch("5.5.0-xsdk-patches.patch", when="@5.5.0")
+ patch("0001-add-missing-README-to-examples-cvode-hip.patch", when="@5.6.0:5.7.0")
# remove sundials_nvecopenmp target from ARKODE SuperLU_DIST example
- patch('remove-links-to-OpenMP-vector.patch', when='@5.5.0:5.7.0')
+ patch("remove-links-to-OpenMP-vector.patch", when="@5.5.0:5.7.0")
# fix issues with exported PETSc target(s) in SUNDIALSConfig.cmake
- patch('sundials-v5.8.0.patch', when='@5.8.0')
+ patch("sundials-v5.8.0.patch", when="@5.8.0")
# ==========================================================================
# SUNDIALS Settings
@@ -264,179 +263,203 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
# SUNDIALS solvers
for pkg in self.sun_solvers:
- args.append(from_variant('BUILD_' + pkg, pkg))
-
- args.extend([
- # language standard
- from_variant('CMAKE_C_STANDARD', 'cstd'),
- from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- # precision
- from_variant('SUNDIALS_PRECISION', 'precision'),
- ])
+ args.append(from_variant("BUILD_" + pkg, pkg))
+
+ args.extend(
+ [
+ # language standard
+ from_variant("CMAKE_C_STANDARD", "cstd"),
+ from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ # precision
+ from_variant("SUNDIALS_PRECISION", "precision"),
+ ]
+ )
# index type (v3.0.0 or later)
- if spec.satisfies('@3:'):
- intsize = "64" if '+int64' in spec else "32"
- args.extend([
- define('SUNDIALS_INDEX_SIZE', intsize),
- define('SUNDIALS_INDEX_TYPE', 'int{}_t'.format(intsize)),
- ])
-
- args.extend([
- # Fortran interface
- from_variant('F77_INTERFACE_ENABLE', 'fcmix'),
- from_variant('F2003_INTERFACE_ENABLE', 'f2003'),
- # library type
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('BUILD_STATIC_LIBS', 'static'),
- # Generic (std-c) math libraries
- from_variant('USE_GENERIC_MATH', 'generic-math'),
- # Logging
- from_variant('SUNDIALS_LOGGING_LEVEL', 'logging-level'),
- # Monitoring
- from_variant('SUNDIALS_BUILD_WITH_MONITORING', 'monitoring'),
- # Profiling
- from_variant('SUNDIALS_BUILD_WITH_PROFILING', 'profiling'),
- from_variant('ENABLE_CALIPER', 'caliper')
- ])
-
- if '+caliper' in spec:
- args.append(define('CALIPER_DIR', spec['caliper'].prefix))
+ if spec.satisfies("@3:"):
+ intsize = "64" if "+int64" in spec else "32"
+ args.extend(
+ [
+ define("SUNDIALS_INDEX_SIZE", intsize),
+ define("SUNDIALS_INDEX_TYPE", "int{}_t".format(intsize)),
+ ]
+ )
+
+ args.extend(
+ [
+ # Fortran interface
+ from_variant("F77_INTERFACE_ENABLE", "fcmix"),
+ from_variant("F2003_INTERFACE_ENABLE", "f2003"),
+ # library type
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("BUILD_STATIC_LIBS", "static"),
+ # Generic (std-c) math libraries
+ from_variant("USE_GENERIC_MATH", "generic-math"),
+ # Logging
+ from_variant("SUNDIALS_LOGGING_LEVEL", "logging-level"),
+ # Monitoring
+ from_variant("SUNDIALS_BUILD_WITH_MONITORING", "monitoring"),
+ # Profiling
+ from_variant("SUNDIALS_BUILD_WITH_PROFILING", "profiling"),
+ from_variant("ENABLE_CALIPER", "caliper"),
+ ]
+ )
+
+ if "+caliper" in spec:
+ args.append(define("CALIPER_DIR", spec["caliper"].prefix))
# parallelism
- args.extend([
- from_variant('MPI_ENABLE', 'mpi'),
- from_variant('OPENMP_ENABLE', 'openmp'),
- from_variant('PTHREAD_ENABLE', 'pthread'),
- from_variant('ENABLE_SYCL', 'sycl'),
- from_variant('CUDA_ENABLE', 'cuda'),
- from_variant('ENABLE_HIP', 'rocm'),
- from_variant('HYPRE_ENABLE', 'hypre'),
- from_variant('KLU_ENABLE', 'klu'),
- from_variant('LAPACK_ENABLE', 'lapack'),
- from_variant('PETSC_ENABLE', 'petsc'),
- from_variant('RAJA_ENABLE', 'raja'),
- from_variant('SUPERLUMT_ENABLE', 'superlu-mt'),
- from_variant('SUPERLUDIST_ENABLE', 'superlu-dist'),
- from_variant('Trilinos_ENABLE', 'trilinos'),
- from_variant('EXAMPLES_INSTALL', 'examples-install'),
- ])
-
- if '+cuda' in spec:
- args.append(define(
- 'CMAKE_CUDA_ARCHITECTURES', spec.variants['cuda_arch'].value
- ))
-
- if '+rocm' in spec:
- args.extend([
- define('CMAKE_C_COMPILER', spec['llvm-amdgpu'].prefix.bin.clang),
- define('CMAKE_CXX_COMPILER', spec['hip'].hipcc),
- define('HIP_PATH', spec['hip'].prefix),
- define('HIP_CLANG_INCLUDE_PATH', spec['llvm-amdgpu'].prefix.include),
- define('ROCM_PATH', spec['llvm-amdgpu'].prefix),
- define('AMDGPU_TARGETS', spec.variants['amdgpu_target'].value),
- ])
+ args.extend(
+ [
+ from_variant("MPI_ENABLE", "mpi"),
+ from_variant("OPENMP_ENABLE", "openmp"),
+ from_variant("PTHREAD_ENABLE", "pthread"),
+ from_variant("ENABLE_SYCL", "sycl"),
+ from_variant("CUDA_ENABLE", "cuda"),
+ from_variant("ENABLE_HIP", "rocm"),
+ from_variant("HYPRE_ENABLE", "hypre"),
+ from_variant("KLU_ENABLE", "klu"),
+ from_variant("LAPACK_ENABLE", "lapack"),
+ from_variant("PETSC_ENABLE", "petsc"),
+ from_variant("RAJA_ENABLE", "raja"),
+ from_variant("SUPERLUMT_ENABLE", "superlu-mt"),
+ from_variant("SUPERLUDIST_ENABLE", "superlu-dist"),
+ from_variant("Trilinos_ENABLE", "trilinos"),
+ from_variant("EXAMPLES_INSTALL", "examples-install"),
+ ]
+ )
+
+ if "+cuda" in spec:
+ args.append(define("CMAKE_CUDA_ARCHITECTURES", spec.variants["cuda_arch"].value))
+
+ if "+rocm" in spec:
+ args.extend(
+ [
+ define("CMAKE_C_COMPILER", spec["llvm-amdgpu"].prefix.bin.clang),
+ define("CMAKE_CXX_COMPILER", spec["hip"].hipcc),
+ define("HIP_PATH", spec["hip"].prefix),
+ define("HIP_CLANG_INCLUDE_PATH", spec["llvm-amdgpu"].prefix.include),
+ define("ROCM_PATH", spec["llvm-amdgpu"].prefix),
+ define("AMDGPU_TARGETS", spec.variants["amdgpu_target"].value),
+ ]
+ )
# MPI support
- if '+mpi' in spec:
- args.extend([
- define('MPI_MPICC', spec['mpi'].mpicc),
- define('MPI_MPICXX', spec['mpi'].mpicxx),
- define('MPI_MPIF77', spec['mpi'].mpif77),
- define('MPI_MPIF90', spec['mpi'].mpifc),
- ])
+ if "+mpi" in spec:
+ args.extend(
+ [
+ define("MPI_MPICC", spec["mpi"].mpicc),
+ define("MPI_MPICXX", spec["mpi"].mpicxx),
+ define("MPI_MPIF77", spec["mpi"].mpif77),
+ define("MPI_MPIF90", spec["mpi"].mpifc),
+ ]
+ )
# Building with Hypre
- if '+hypre' in spec:
- args.extend([
- define('HYPRE_INCLUDE_DIR', spec['hypre'].prefix.include),
- define('HYPRE_LIBRARY_DIR', spec['hypre'].prefix.lib)
- ])
- if not spec['hypre'].variants['shared'].value:
- hypre_libs = spec['blas'].libs + spec['lapack'].libs
- args.extend([define('HYPRE_LIBRARIES', hypre_libs.joined(';'))])
+ if "+hypre" in spec:
+ args.extend(
+ [
+ define("HYPRE_INCLUDE_DIR", spec["hypre"].prefix.include),
+ define("HYPRE_LIBRARY_DIR", spec["hypre"].prefix.lib),
+ ]
+ )
+ if not spec["hypre"].variants["shared"].value:
+ hypre_libs = spec["blas"].libs + spec["lapack"].libs
+ args.extend([define("HYPRE_LIBRARIES", hypre_libs.joined(";"))])
# Building with KLU
- if '+klu' in spec:
- args.extend([
- define('KLU_INCLUDE_DIR', spec['suite-sparse'].prefix.include),
- define('KLU_LIBRARY_DIR', spec['suite-sparse'].prefix.lib)
- ])
+ if "+klu" in spec:
+ args.extend(
+ [
+ define("KLU_INCLUDE_DIR", spec["suite-sparse"].prefix.include),
+ define("KLU_LIBRARY_DIR", spec["suite-sparse"].prefix.lib),
+ ]
+ )
# Building with LAPACK
- if '+lapack' in spec:
- args.append(define('LAPACK_LIBRARIES',
- spec['lapack'].libs + spec['blas'].libs))
+ if "+lapack" in spec:
+ args.append(define("LAPACK_LIBRARIES", spec["lapack"].libs + spec["blas"].libs))
# Building with MAGMA
- if '+magma' in spec:
- args.extend([
- define('ENABLE_MAGMA', True),
- define('MAGMA_DIR', spec['magma'].prefix)
- ])
- if '+cuda' in spec:
- define('SUNDIALS_MAGMA_BACKENDS', 'CUDA')
- if '+rocm' in spec:
- define('SUNDIALS_MAGMA_BACKENDS', 'HIP')
+ if "+magma" in spec:
+ args.extend([define("ENABLE_MAGMA", True), define("MAGMA_DIR", spec["magma"].prefix)])
+ if "+cuda" in spec:
+ define("SUNDIALS_MAGMA_BACKENDS", "CUDA")
+ if "+rocm" in spec:
+ define("SUNDIALS_MAGMA_BACKENDS", "HIP")
# Building with PETSc
- if '+petsc' in spec:
- if spec.version >= Version('5'):
- args.append(define('PETSC_DIR', spec['petsc'].prefix))
+ if "+petsc" in spec:
+ if spec.version >= Version("5"):
+ args.append(define("PETSC_DIR", spec["petsc"].prefix))
else:
- args.extend([
- define('PETSC_INCLUDE_DIR', spec['petsc'].prefix.include),
- define('PETSC_LIBRARY_DIR', spec['petsc'].prefix.lib),
- ])
+ args.extend(
+ [
+ define("PETSC_INCLUDE_DIR", spec["petsc"].prefix.include),
+ define("PETSC_LIBRARY_DIR", spec["petsc"].prefix.lib),
+ ]
+ )
# Building with RAJA
- if '+raja' in spec:
- args.append(define('RAJA_DIR', spec['raja'].prefix))
+ if "+raja" in spec:
+ args.append(define("RAJA_DIR", spec["raja"].prefix))
# Building with SuperLU_MT
- if '+superlu-mt' in spec:
- if spec.satisfies('@3:'):
- args.extend([
- define('BLAS_ENABLE', True),
- define('BLAS_LIBRARIES', spec['blas'].libs),
- ])
- args.extend([
- define('SUPERLUMT_INCLUDE_DIR', spec['superlu-mt'].prefix.include),
- define('SUPERLUMT_LIBRARY_DIR', spec['superlu-mt'].prefix.lib),
- define('SUPERLUMT_THREAD_TYPE',
- 'OpenMP' if '^superlu-mt+openmp' in spec else 'Pthread'),
- ])
+ if "+superlu-mt" in spec:
+ if spec.satisfies("@3:"):
+ args.extend(
+ [
+ define("BLAS_ENABLE", True),
+ define("BLAS_LIBRARIES", spec["blas"].libs),
+ ]
+ )
+ args.extend(
+ [
+ define("SUPERLUMT_INCLUDE_DIR", spec["superlu-mt"].prefix.include),
+ define("SUPERLUMT_LIBRARY_DIR", spec["superlu-mt"].prefix.lib),
+ define(
+ "SUPERLUMT_THREAD_TYPE",
+ "OpenMP" if "^superlu-mt+openmp" in spec else "Pthread",
+ ),
+ ]
+ )
# Building with SuperLU_DIST
- if '+superlu-dist' in spec:
- args.extend([
- define('OPENMP_ENABLE', '^superlu-dist+openmp' in spec),
- define('SUPERLUDIST_INCLUDE_DIR', spec['superlu-dist'].prefix.include),
- define('SUPERLUDIST_LIBRARY_DIR', spec['superlu-dist'].prefix.lib),
- define('SUPERLUDIST_LIBRARIES', spec['blas'].libs),
- define('SUPERLUDIST_OpenMP', '^superlu-dist+openmp' in spec),
- ])
+ if "+superlu-dist" in spec:
+ args.extend(
+ [
+ define("OPENMP_ENABLE", "^superlu-dist+openmp" in spec),
+ define("SUPERLUDIST_INCLUDE_DIR", spec["superlu-dist"].prefix.include),
+ define("SUPERLUDIST_LIBRARY_DIR", spec["superlu-dist"].prefix.lib),
+ define("SUPERLUDIST_LIBRARIES", spec["blas"].libs),
+ define("SUPERLUDIST_OpenMP", "^superlu-dist+openmp" in spec),
+ ]
+ )
# Building with Trilinos
- if '+trilinos' in spec:
- args.append(define('Trilinos_DIR', spec['trilinos'].prefix))
+ if "+trilinos" in spec:
+ args.append(define("Trilinos_DIR", spec["trilinos"].prefix))
# Examples
- if spec.satisfies('@3:'):
- args.extend([
- from_variant('EXAMPLES_ENABLE_C', 'examples'),
- from_variant('EXAMPLES_ENABLE_CXX', 'examples'),
- define('EXAMPLES_ENABLE_CUDA', '+examples+cuda' in spec),
- define('EXAMPLES_ENABLE_F77', '+examples+fcmix' in spec),
- define('EXAMPLES_ENABLE_F90', '+examples+fcmix' in spec),
- define('EXAMPLES_ENABLE_F2003', '+examples+f2003' in spec),
- ])
+ if spec.satisfies("@3:"):
+ args.extend(
+ [
+ from_variant("EXAMPLES_ENABLE_C", "examples"),
+ from_variant("EXAMPLES_ENABLE_CXX", "examples"),
+ define("EXAMPLES_ENABLE_CUDA", "+examples+cuda" in spec),
+ define("EXAMPLES_ENABLE_F77", "+examples+fcmix" in spec),
+ define("EXAMPLES_ENABLE_F90", "+examples+fcmix" in spec),
+ define("EXAMPLES_ENABLE_F2003", "+examples+f2003" in spec),
+ ]
+ )
else:
- args.extend([
- from_variant('EXAMPLES_ENABLE', 'examples'),
- from_variant('CXX_ENABLE', 'examples'),
- define('F90_ENABLE', '+examples+fcmix' in spec),
- ])
+ args.extend(
+ [
+ from_variant("EXAMPLES_ENABLE", "examples"),
+ from_variant("CXX_ENABLE", "examples"),
+ define("F90_ENABLE", "+examples+fcmix" in spec),
+ ]
+ )
return args
@@ -444,20 +467,20 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
# Post Install Actions
# ==========================================================================
- @run_after('install')
+ @run_after("install")
def post_install(self):
"""Run after install to fix install name of dynamic libraries
on Darwin to have full path and install the LICENSE file."""
spec = self.spec
prefix = self.spec.prefix
- if (sys.platform == 'darwin'):
+ if sys.platform == "darwin":
fix_darwin_install_name(prefix.lib)
- if spec.satisfies('@:3.0.0'):
- install('LICENSE', prefix)
+ if spec.satisfies("@:3.0.0"):
+ install("LICENSE", prefix)
- @run_after('install')
+ @run_after("install")
def filter_compilers(self):
"""Run after install to tell the example program Makefiles
to use the compilers that Spack built the package with.
@@ -468,196 +491,197 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
spec = self.spec
- kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
- dirname = os.path.join(self.prefix, 'examples')
+ kwargs = {"ignore_absent": True, "backup": False, "string": True}
+ dirname = os.path.join(self.prefix, "examples")
cc_files = [
- 'arkode/C_openmp/Makefile',
- 'arkode/C_parallel/Makefile',
- 'arkode/C_parhyp/Makefile',
- 'arkode/C_petsc/Makefile',
- 'arkode/C_serial/Makefile',
- 'cvode/C_openmp/Makefile',
- 'cvode/parallel/Makefile',
- 'cvode/parhyp/Makefile',
- 'cvode/petsc/Makefile',
- 'cvode/serial/Makefile',
- 'cvodes/C_openmp/Makefile',
- 'cvodes/parallel/Makefile',
- 'cvodes/serial/Makefile',
- 'ida/C_openmp/Makefile',
- 'ida/parallel/Makefile',
- 'ida/petsc/Makefile',
- 'ida/serial/Makefile',
- 'idas/C_openmp/Makefile',
- 'idas/parallel/Makefile',
- 'idas/serial/Makefile',
- 'kinsol/C_openmp/Makefile',
- 'kinsol/parallel/Makefile',
- 'kinsol/serial/Makefile',
- 'nvector/C_openmp/Makefile',
- 'nvector/parallel/Makefile',
- 'nvector/parhyp/Makefile',
- 'nvector/petsc/Makefile',
- 'nvector/pthreads/Makefile',
- 'nvector/serial/Makefile',
- 'sunlinsol/band/Makefile',
- 'sunlinsol/dense/Makefile',
- 'sunlinsol/klu/Makefile',
- 'sunlinsol/lapackband/Makefile',
- 'sunlinsol/lapackdense/Makefile',
- 'sunlinsol/pcg/parallel/Makefile',
- 'sunlinsol/pcg/serial/Makefile',
- 'sunlinsol/spbcgs/parallel/Makefile',
- 'sunlinsol/spbcgs/serial/Makefile',
- 'sunlinsol/spfgmr/parallel/Makefile',
- 'sunlinsol/spfgmr/serial/Makefile',
- 'sunlinsol/spgmr/parallel/Makefile',
- 'sunlinsol/spgmr/serial/Makefile',
- 'sunlinsol/sptfqmr/parallel/Makefile',
- 'sunlinsol/sptfqmr/serial/Makefile',
- 'sunlinsol/superlumt/Makefile',
- 'sunlinsol/superludist/Makefile',
- 'sunmatrix/band/Makefile',
- 'sunmatrix/dense/Makefile',
- 'sunmatrix/sparse/Makefile'
+ "arkode/C_openmp/Makefile",
+ "arkode/C_parallel/Makefile",
+ "arkode/C_parhyp/Makefile",
+ "arkode/C_petsc/Makefile",
+ "arkode/C_serial/Makefile",
+ "cvode/C_openmp/Makefile",
+ "cvode/parallel/Makefile",
+ "cvode/parhyp/Makefile",
+ "cvode/petsc/Makefile",
+ "cvode/serial/Makefile",
+ "cvodes/C_openmp/Makefile",
+ "cvodes/parallel/Makefile",
+ "cvodes/serial/Makefile",
+ "ida/C_openmp/Makefile",
+ "ida/parallel/Makefile",
+ "ida/petsc/Makefile",
+ "ida/serial/Makefile",
+ "idas/C_openmp/Makefile",
+ "idas/parallel/Makefile",
+ "idas/serial/Makefile",
+ "kinsol/C_openmp/Makefile",
+ "kinsol/parallel/Makefile",
+ "kinsol/serial/Makefile",
+ "nvector/C_openmp/Makefile",
+ "nvector/parallel/Makefile",
+ "nvector/parhyp/Makefile",
+ "nvector/petsc/Makefile",
+ "nvector/pthreads/Makefile",
+ "nvector/serial/Makefile",
+ "sunlinsol/band/Makefile",
+ "sunlinsol/dense/Makefile",
+ "sunlinsol/klu/Makefile",
+ "sunlinsol/lapackband/Makefile",
+ "sunlinsol/lapackdense/Makefile",
+ "sunlinsol/pcg/parallel/Makefile",
+ "sunlinsol/pcg/serial/Makefile",
+ "sunlinsol/spbcgs/parallel/Makefile",
+ "sunlinsol/spbcgs/serial/Makefile",
+ "sunlinsol/spfgmr/parallel/Makefile",
+ "sunlinsol/spfgmr/serial/Makefile",
+ "sunlinsol/spgmr/parallel/Makefile",
+ "sunlinsol/spgmr/serial/Makefile",
+ "sunlinsol/sptfqmr/parallel/Makefile",
+ "sunlinsol/sptfqmr/serial/Makefile",
+ "sunlinsol/superlumt/Makefile",
+ "sunlinsol/superludist/Makefile",
+ "sunmatrix/band/Makefile",
+ "sunmatrix/dense/Makefile",
+ "sunmatrix/sparse/Makefile",
]
cxx_files = [
- 'arkode/CXX_parallel/Makefile',
- 'arkode/CXX_serial/Makefile'
- 'cvode/cuda/Makefile',
- 'cvode/raja/Makefile',
- 'nvector/cuda/Makefile',
- 'nvector/raja/Makefile'
+ "arkode/CXX_parallel/Makefile",
+ "arkode/CXX_serial/Makefile" "cvode/cuda/Makefile",
+ "cvode/raja/Makefile",
+ "nvector/cuda/Makefile",
+ "nvector/raja/Makefile",
]
f77_files = [
- 'arkode/F77_parallel/Makefile',
- 'arkode/F77_serial/Makefile',
- 'cvode/fcmix_parallel/Makefile',
- 'cvode/fcmix_serial/Makefile',
- 'ida/fcmix_openmp/Makefile',
- 'ida/fcmix_parallel/Makefile',
- 'ida/fcmix_pthreads/Makefile',
- 'ida/fcmix_serial/Makefile',
- 'kinsol/fcmix_parallel/Makefile',
- 'kinsol/fcmix_serial/Makefile'
+ "arkode/F77_parallel/Makefile",
+ "arkode/F77_serial/Makefile",
+ "cvode/fcmix_parallel/Makefile",
+ "cvode/fcmix_serial/Makefile",
+ "ida/fcmix_openmp/Makefile",
+ "ida/fcmix_parallel/Makefile",
+ "ida/fcmix_pthreads/Makefile",
+ "ida/fcmix_serial/Makefile",
+ "kinsol/fcmix_parallel/Makefile",
+ "kinsol/fcmix_serial/Makefile",
]
- f90_files = [
- 'arkode/F90_parallel/Makefile',
- 'arkode/F90_serial/Makefile'
- ]
+ f90_files = ["arkode/F90_parallel/Makefile", "arkode/F90_serial/Makefile"]
f2003_files = [
- 'arkode/F2003_serial/Makefile',
- 'cvode/F2003_serial/Makefile',
- 'cvodes/F2003_serial/Makefike',
- 'ida/F2003_serial/Makefile',
- 'idas/F2003_serial/Makefile',
- 'kinsol/F2003_serial/Makefile'
+ "arkode/F2003_serial/Makefile",
+ "cvode/F2003_serial/Makefile",
+ "cvodes/F2003_serial/Makefike",
+ "ida/F2003_serial/Makefile",
+ "idas/F2003_serial/Makefile",
+ "kinsol/F2003_serial/Makefile",
]
for filename in cc_files:
- filter_file(os.environ['CC'], self.compiler.cc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["CC"], self.compiler.cc, os.path.join(dirname, filename), **kwargs
+ )
for filename in cc_files:
- filter_file(r'^CPP\s*=.*', self.compiler.cc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(r"^CPP\s*=.*", self.compiler.cc, os.path.join(dirname, filename), **kwargs)
for filename in cxx_files:
- filter_file(os.environ['CXX'], self.compiler.cxx,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["CXX"], self.compiler.cxx, os.path.join(dirname, filename), **kwargs
+ )
for filename in cxx_files:
- filter_file(r'^CPP\s*=.*', self.compiler.cc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(r"^CPP\s*=.*", self.compiler.cc, os.path.join(dirname, filename), **kwargs)
- if ('+fcmix' in spec) and ('+examples' in spec):
+ if ("+fcmix" in spec) and ("+examples" in spec):
for filename in f77_files:
- filter_file(os.environ['F77'], self.compiler.f77,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["F77"], self.compiler.f77, os.path.join(dirname, filename), **kwargs
+ )
- if ('+fcmix' in spec) and ('+examples' in spec):
+ if ("+fcmix" in spec) and ("+examples" in spec):
for filename in f90_files:
- filter_file(os.environ['FC'], self.compiler.fc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs
+ )
- if ('+f2003' in spec) and ('+examples' in spec):
+ if ("+f2003" in spec) and ("+examples" in spec):
for filename in f2003_files:
- filter_file(os.environ['FC'], self.compiler.fc,
- os.path.join(dirname, filename), **kwargs)
+ filter_file(
+ os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs
+ )
@property
def headers(self):
"""Export the headers and defines of SUNDIALS.
- Sample usage: spec['sundials'].headers.cpp_flags
+ Sample usage: spec['sundials'].headers.cpp_flags
"""
# SUNDIALS headers are inside subdirectories, so we use a fake header
# in the include directory.
- hdr = find(self.prefix.include.nvector, 'nvector_serial.h',
- recursive=False)
- return HeaderList(join_path(self.spec.prefix.include, 'fake.h')) \
- if hdr else None
+ hdr = find(self.prefix.include.nvector, "nvector_serial.h", recursive=False)
+ return HeaderList(join_path(self.spec.prefix.include, "fake.h")) if hdr else None
@property
def libs(self):
"""Export the libraries of SUNDIALS.
- Sample usage: spec['sundials'].libs.ld_flags
- spec['sundials:arkode,cvode'].libs.ld_flags
+ Sample usage: spec['sundials'].libs.ld_flags
+ spec['sundials:arkode,cvode'].libs.ld_flags
"""
query_parameters = self.spec.last_query.extra_parameters
if not query_parameters:
- sun_libs = 'libsundials_*[!0-9]'
+ sun_libs = "libsundials_*[!0-9]"
# Q: should the result be ordered by dependency?
else:
- sun_libs = ['libsundials_' + p for p in query_parameters]
- is_shared = '+shared' in self.spec
+ sun_libs = ["libsundials_" + p for p in query_parameters]
+ is_shared = "+shared" in self.spec
- libs = find_libraries(sun_libs, root=self.prefix, shared=is_shared,
- recursive=True)
+ libs = find_libraries(sun_libs, root=self.prefix, shared=is_shared, recursive=True)
return libs or None # Raise an error if no libs are found
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
- """Perform make test_install.
- """
+ """Perform make test_install."""
with working_dir(self.build_directory):
make("test_install")
@property
def _smoke_tests(self):
# smoke_tests tuple: exe, args, purpose, use cmake (true/false)
- smoke_tests = [('nvector/serial/test_nvector_serial', ['10', '0'],
- 'Test serial N_Vector', False)]
- if '+CVODE' in self.spec:
- smoke_tests.append(('cvode/serial/cvAdvDiff_bnd', [],
- 'Test CVODE', True))
-
- if '+cuda' in self.spec:
- smoke_tests.append(('nvector/cuda/test_nvector_cuda', ['10', '0', '0'],
- 'Test CUDA N_Vector', True))
- if '+CVODE' in self.spec:
- smoke_tests.append(('cvode/cuda/cvAdvDiff_kry_cuda', [],
- 'Test CVODE with CUDA', True))
-
- if '+hip' in self.spec:
- smoke_tests.append(('nvector/hip/test_nvector_hip', ['10', '0', '0'],
- 'Test HIP N_Vector', True))
- if '+CVODE' in self.spec:
- smoke_tests.append(('cvode/hip/cvAdvDiff_kry_hip', [],
- 'Test CVODE with HIP', True))
-
- if '+sycl' in self.spec:
- smoke_tests.append(('nvector/sycl/test_nvector_sycl', ['10', '0', '0'],
- 'Test SYCL N_Vector'))
- if '+CVODE' in self.spec:
- smoke_tests.append(('cvode/sycl/cvAdvDiff_kry_sycl', [],
- 'Test CVODE with SYCL', True))
+ smoke_tests = [
+ ("nvector/serial/test_nvector_serial", ["10", "0"], "Test serial N_Vector", False)
+ ]
+ if "+CVODE" in self.spec:
+ smoke_tests.append(("cvode/serial/cvAdvDiff_bnd", [], "Test CVODE", True))
+
+ if "+cuda" in self.spec:
+ smoke_tests.append(
+ ("nvector/cuda/test_nvector_cuda", ["10", "0", "0"], "Test CUDA N_Vector", True)
+ )
+ if "+CVODE" in self.spec:
+ smoke_tests.append(
+ ("cvode/cuda/cvAdvDiff_kry_cuda", [], "Test CVODE with CUDA", True)
+ )
+
+ if "+hip" in self.spec:
+ smoke_tests.append(
+ ("nvector/hip/test_nvector_hip", ["10", "0", "0"], "Test HIP N_Vector", True)
+ )
+ if "+CVODE" in self.spec:
+ smoke_tests.append(
+ ("cvode/hip/cvAdvDiff_kry_hip", [], "Test CVODE with HIP", True)
+ )
+
+ if "+sycl" in self.spec:
+ smoke_tests.append(
+ ("nvector/sycl/test_nvector_sycl", ["10", "0", "0"], "Test SYCL N_Vector")
+ )
+ if "+CVODE" in self.spec:
+ smoke_tests.append(
+ ("cvode/sycl/cvAdvDiff_kry_sycl", [], "Test CVODE with SYCL", True)
+ )
return smoke_tests
@@ -671,46 +695,50 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
# tests can access build dependencies through self.spec['cmake'].
def cmake_bin(self, set=True):
"""(Hack) Set/get cmake dependency path."""
- filepath = join_path(self.install_test_root, 'cmake_bin_path.txt')
+ filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
if set:
- with open(filepath, 'w') as out_file:
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- out_file.write('{0}\n'.format(cmake_bin))
+ with open(filepath, "w") as out_file:
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ out_file.write("{0}\n".format(cmake_bin))
elif os.path.isfile(filepath):
- with open(filepath, 'r') as in_file:
+ with open(filepath, "r") as in_file:
return in_file.read().strip()
- @run_after('install')
+ @run_after("install")
def setup_smoke_tests(self):
- install_tree(self._smoke_tests_path,
- join_path(self.install_test_root, 'testing'))
+ install_tree(self._smoke_tests_path, join_path(self.install_test_root, "testing"))
self.cmake_bin(set=True)
def build_smoke_tests(self):
cmake_bin = self.cmake_bin(set=False)
if not cmake_bin:
- tty.msg('Skipping sundials test: cmake_bin_path.txt not found')
+ tty.msg("Skipping sundials test: cmake_bin_path.txt not found")
return
for smoke_test in self._smoke_tests:
work_dir = join_path(self._smoke_tests_path, os.path.dirname(smoke_test[0]))
with working_dir(work_dir):
if smoke_test[3]: # use cmake
- self.run_test(exe=cmake_bin, options=['.'])
- self.run_test(exe='make')
+ self.run_test(exe=cmake_bin, options=["."])
+ self.run_test(exe="make")
def run_smoke_tests(self):
for smoke_test in self._smoke_tests:
- self.run_test(exe=join_path(self._smoke_tests_path, smoke_test[0]),
- options=smoke_test[1], status=[0], installed=True,
- skip_missing=True, purpose=smoke_test[2])
+ self.run_test(
+ exe=join_path(self._smoke_tests_path, smoke_test[0]),
+ options=smoke_test[1],
+ status=[0],
+ installed=True,
+ skip_missing=True,
+ purpose=smoke_test[2],
+ )
def clean_smoke_tests(self):
for smoke_test in self._smoke_tests:
work_dir = join_path(self._smoke_tests_path, os.path.dirname(smoke_test[0]))
with working_dir(work_dir):
- self.run_test(exe='make', options=['clean'])
+ self.run_test(exe="make", options=["clean"])
def test(self):
self.build_smoke_tests()
diff --git a/var/spack/repos/builtin/packages/suntans/package.py b/var/spack/repos/builtin/packages/suntans/package.py
index 6a96a13f33..11c894c15f 100644
--- a/var/spack/repos/builtin/packages/suntans/package.py
+++ b/var/spack/repos/builtin/packages/suntans/package.py
@@ -9,38 +9,36 @@ from spack.package import *
class Suntans(MakefilePackage):
"""The Stanford unstructured-grid,
nonhydrostatic, parallel coastal
- ocean model. """
+ ocean model."""
homepage = "https://github.com/ofringer/suntans"
- url = "https://github.com/ofringer/suntans/archive/master.zip"
+ url = "https://github.com/ofringer/suntans/archive/master.zip"
- maintainers = ['ofringer', 'zyaj', 'mrayson', 'jadelson', 'lhxone']
+ maintainers = ["ofringer", "zyaj", "mrayson", "jadelson", "lhxone"]
- version('3.1', '9b5d0dee5502a5650e37bf72f64b1124be86c084e7408aa517c214ddb25e36de')
+ version("3.1", "9b5d0dee5502a5650e37bf72f64b1124be86c084e7408aa517c214ddb25e36de")
- depends_on('libx11@1.6.3')
- depends_on('mpi')
+ depends_on("libx11@1.6.3")
+ depends_on("mpi")
def edit(self, spec, prefix):
- env['MPIHOME'] = spec['openmpi'].prefix
- with working_dir('main'):
- makefile = FileFilter('Makefile')
- makefile.filter('XINC=.*', 'XINC= -I{0}'
- .format(spec['libx11'].prefix.include))
- makefile.filter('XLIBDIR = .*',
- 'XLIBDIR = {0}'
- .format(spec['libx11'].prefix.lib))
+ env["MPIHOME"] = spec["openmpi"].prefix
+ with working_dir("main"):
+ makefile = FileFilter("Makefile")
+ makefile.filter("XINC=.*", "XINC= -I{0}".format(spec["libx11"].prefix.include))
+ makefile.filter("XLIBDIR = .*", "XLIBDIR = {0}".format(spec["libx11"].prefix.lib))
makefile.filter(
- 'INCLUDES = .*',
- 'INCLUDES=$(PARMETISINCLUDE)$(TRIANGLEINCLUDE)$(NETCDFINCLUDE)$(XINC)')
+ "INCLUDES = .*",
+ "INCLUDES=$(PARMETISINCLUDE)$(TRIANGLEINCLUDE)$(NETCDFINCLUDE)$(XINC)",
+ )
def build(self, spec, prefix):
- with working_dir('main'):
- make('sunplot')
+ with working_dir("main"):
+ make("sunplot")
def install(self, spec, prefix):
mkdir(prefix.bin)
mkdir(prefix.include)
- with working_dir('main'):
- install('sunplot', prefix.bin)
- install('*.h', prefix.include)
+ with working_dir("main"):
+ install("sunplot", prefix.bin)
+ install("*.h", prefix.include)
diff --git a/var/spack/repos/builtin/packages/superchic/package.py b/var/spack/repos/builtin/packages/superchic/package.py
index f60959a07f..e5ff28e718 100644
--- a/var/spack/repos/builtin/packages/superchic/package.py
+++ b/var/spack/repos/builtin/packages/superchic/package.py
@@ -17,35 +17,33 @@ class Superchic(MakefilePackage):
"""
homepage = "https://superchic.hepforge.org/"
- url = "https://superchic.hepforge.org/superchic4.01.tar.gz"
+ url = "https://superchic.hepforge.org/superchic4.01.tar.gz"
- version('4.01', sha256='2d690e1cdb0fd0ee345028b0d823a76c8d93156aaa0c9cd1ecb5f18cde75acd6')
- version('3.06', sha256='17b4f56e85634f3c9708d5263772d7035fe4d7fb91a11bbffe889e0860efbd02')
- version('3.05', sha256='032f5c784f284ca02003a990234b099f61cd125791d56715680cd342e55c7da1')
+ version("4.01", sha256="2d690e1cdb0fd0ee345028b0d823a76c8d93156aaa0c9cd1ecb5f18cde75acd6")
+ version("3.06", sha256="17b4f56e85634f3c9708d5263772d7035fe4d7fb91a11bbffe889e0860efbd02")
+ version("3.05", sha256="032f5c784f284ca02003a990234b099f61cd125791d56715680cd342e55c7da1")
- depends_on('lhapdf')
- depends_on('apfel', when='@4.01:')
+ depends_on("lhapdf")
+ depends_on("apfel", when="@4.01:")
def edit(self, spec, prefix):
- makefile = FileFilter('makefile')
- makefile.filter('LHAPDFLIB = .*',
- 'LHAPDFLIB = ' + self.spec['lhapdf'].prefix.lib)
- if self.spec.satisfies('@4.01:'):
- makefile.filter('APFELLIB = .*',
- 'APFELLIB = ' + self.spec['apfel'].prefix.lib)
+ makefile = FileFilter("makefile")
+ makefile.filter("LHAPDFLIB = .*", "LHAPDFLIB = " + self.spec["lhapdf"].prefix.lib)
+ if self.spec.satisfies("@4.01:"):
+ makefile.filter("APFELLIB = .*", "APFELLIB = " + self.spec["apfel"].prefix.lib)
def build(self, spec, prefix):
- make('PWD=' + self.build_directory)
+ make("PWD=" + self.build_directory)
def install(self, spec, prefix):
mkdirp(self.prefix.bin)
- install_tree('bin', self.prefix.bin)
+ install_tree("bin", self.prefix.bin)
mkdirp(self.prefix.lib)
- install_tree('lib', self.prefix.lib)
+ install_tree("lib", self.prefix.lib)
- if self.spec.satisfies('@3.05:'):
- mkdirp(join_path(self.prefix, 'src', 'inc'))
- install_tree(join_path('src', 'inc'), join_path(self.prefix, 'src', 'inc'))
- mkdirp(join_path(self.prefix, 'obj'))
- install_tree('obj', join_path(self.prefix, 'obj'))
+ if self.spec.satisfies("@3.05:"):
+ mkdirp(join_path(self.prefix, "src", "inc"))
+ install_tree(join_path("src", "inc"), join_path(self.prefix, "src", "inc"))
+ mkdirp(join_path(self.prefix, "obj"))
+ install_tree("obj", join_path(self.prefix, "obj"))
diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py
index 139bb3e79d..ce3dd2f638 100644
--- a/var/spack/repos/builtin/packages/superlu-dist/package.py
+++ b/var/spack/repos/builtin/packages/superlu-dist/package.py
@@ -11,63 +11,63 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
nonsymmetric systems of linear equations on high performance machines."""
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"
-
- tags = ['e4s']
-
- maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels', 'liuyangzhuan']
-
- version('develop', branch='master')
- version('amd', branch='amd')
- version('7.2.0', sha256='20b60bd8a3d88031c9ce6511ae9700b7a8dcf12e2fd704e74b1af762b3468b8c')
- version('7.1.1', sha256='558053b3d4a56eb661c4f04d4fcab6604018ce5db97115394c161b56c9c278ff')
- version('7.1.0', sha256='edbea877562be95fb22c7de1ff484f18685bec4baa8e4f703c414d3c035d4a66')
- version('6.4.0', sha256='cb9c0b2ba4c28e5ed5817718ba19ae1dd63ccd30bc44c8b8252b54f5f04a44cc')
- version('6.3.1', sha256='3787c2755acd6aadbb4d9029138c293a7570a2ed228806676edcc7e1d3f5a1d3')
- version('6.3.0', sha256='daf3264706caccae2b8fd5a572e40275f1e128fa235cb7c21ee2f8051c11af95')
- version('6.2.0', sha256='15ad1badd81b41e37941dd124d06d3b92e51c4f0ff532ad23fb09c4ebfe6eb9e')
- version('6.1.1', sha256='35d25cff592c724439870444ed45e1d1d15ca2c65f02ccd4b83a6d3c9d220bd1')
- version('6.1.0', sha256='92c6d1424dd830ee2d1e7396a418a5f6645160aea8472e558c4e4bfe006593c4')
- version('6.0.0', sha256='ff6cdfa0263d595708bbb6d11fb780915d8cfddab438db651e246ea292f37ee4')
- version('5.4.0', sha256='3ac238fe082106a2c4dbaf0c22af1ff1247308ffa8f053de9d78c3ec7dd0d801')
- version('5.3.0', sha256='49ed110bdef1e284a0181d6c7dd1fae3aa110cb45f67c6aa5cb791070304d670')
- version('5.2.2', sha256='65cfb9ace9a81f7affac4ad92b9571badf0f10155b3468531b0fffde3bd8e727')
- version('5.2.1', sha256='67cf3c46cbded4cee68e2a9d601c30ab13b08091c8cdad95b0a8e018b6d5d1f1')
- version('5.1.3', sha256='58e3dfdb4ae6f8e3f6f3d5ee5e851af59b967c4483cdb3b15ccd1dbdf38f44f9')
- version('5.1.2', sha256='e34865ad6696ee6a6d178b4a01c8e19103a7d241ba9de043603970d63b0ee1e2')
- version('5.1.0', sha256='73f292ab748b590b6dd7469e6986aeb95d279b8b8b3da511c695a396bdbc996c')
- version('5.0.0', sha256='78d1d6460ff16b3f71e4bcd7306397574d54d421249553ccc26567f00a10bfc6')
-
- variant('int64', default=False, description='Build with 64 bit integers')
+ url = "https://github.com/xiaoyeli/superlu_dist/archive/v6.0.0.tar.gz"
+ git = "https://github.com/xiaoyeli/superlu_dist.git"
+
+ tags = ["e4s"]
+
+ maintainers = ["xiaoye", "gchavez2", "balay", "pghysels", "liuyangzhuan"]
+
+ version("develop", branch="master")
+ version("amd", branch="amd")
+ version("7.2.0", sha256="20b60bd8a3d88031c9ce6511ae9700b7a8dcf12e2fd704e74b1af762b3468b8c")
+ version("7.1.1", sha256="558053b3d4a56eb661c4f04d4fcab6604018ce5db97115394c161b56c9c278ff")
+ version("7.1.0", sha256="edbea877562be95fb22c7de1ff484f18685bec4baa8e4f703c414d3c035d4a66")
+ version("6.4.0", sha256="cb9c0b2ba4c28e5ed5817718ba19ae1dd63ccd30bc44c8b8252b54f5f04a44cc")
+ version("6.3.1", sha256="3787c2755acd6aadbb4d9029138c293a7570a2ed228806676edcc7e1d3f5a1d3")
+ version("6.3.0", sha256="daf3264706caccae2b8fd5a572e40275f1e128fa235cb7c21ee2f8051c11af95")
+ version("6.2.0", sha256="15ad1badd81b41e37941dd124d06d3b92e51c4f0ff532ad23fb09c4ebfe6eb9e")
+ version("6.1.1", sha256="35d25cff592c724439870444ed45e1d1d15ca2c65f02ccd4b83a6d3c9d220bd1")
+ version("6.1.0", sha256="92c6d1424dd830ee2d1e7396a418a5f6645160aea8472e558c4e4bfe006593c4")
+ version("6.0.0", sha256="ff6cdfa0263d595708bbb6d11fb780915d8cfddab438db651e246ea292f37ee4")
+ version("5.4.0", sha256="3ac238fe082106a2c4dbaf0c22af1ff1247308ffa8f053de9d78c3ec7dd0d801")
+ version("5.3.0", sha256="49ed110bdef1e284a0181d6c7dd1fae3aa110cb45f67c6aa5cb791070304d670")
+ version("5.2.2", sha256="65cfb9ace9a81f7affac4ad92b9571badf0f10155b3468531b0fffde3bd8e727")
+ version("5.2.1", sha256="67cf3c46cbded4cee68e2a9d601c30ab13b08091c8cdad95b0a8e018b6d5d1f1")
+ version("5.1.3", sha256="58e3dfdb4ae6f8e3f6f3d5ee5e851af59b967c4483cdb3b15ccd1dbdf38f44f9")
+ version("5.1.2", sha256="e34865ad6696ee6a6d178b4a01c8e19103a7d241ba9de043603970d63b0ee1e2")
+ version("5.1.0", sha256="73f292ab748b590b6dd7469e6986aeb95d279b8b8b3da511c695a396bdbc996c")
+ version("5.0.0", sha256="78d1d6460ff16b3f71e4bcd7306397574d54d421249553ccc26567f00a10bfc6")
+
+ variant("int64", default=False, description="Build with 64 bit integers")
variant(
- 'openmp',
+ "openmp",
default=False,
description=(
- 'Build with OpenMP support '
- '(needs a good multithreaded BLAS implementation for good performance)'
- )
+ "Build with OpenMP support "
+ "(needs a good multithreaded BLAS implementation for good performance)"
+ ),
)
- variant('shared', default=True, description='Build shared libraries')
-
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('parmetis')
- depends_on('metis@5:')
- depends_on('cmake@3.18.1:', type='build', when='@7.1.0:')
- depends_on('hipblas', when='+rocm')
- depends_on('rocsolver', when='+rocm')
-
- conflicts('+rocm', when='+cuda')
- conflicts('+cuda', when='@:6.3')
+ variant("shared", default=True, description="Build shared libraries")
+
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("parmetis")
+ depends_on("metis@5:")
+ depends_on("cmake@3.18.1:", type="build", when="@7.1.0:")
+ depends_on("hipblas", when="+rocm")
+ depends_on("rocsolver", when="+rocm")
+
+ conflicts("+rocm", when="+cuda")
+ conflicts("+cuda", when="@:6.3")
# See https://github.com/xiaoyeli/superlu_dist/issues/87
- conflicts('^cuda@11.5.0:', when='@7.1.0:7.1 +cuda')
+ conflicts("^cuda@11.5.0:", when="@7.1.0:7.1 +cuda")
- patch('xl-611.patch', when='@:6.1.1 %xl')
- patch('xl-611.patch', when='@:6.1.1 %xl_r')
- patch('superlu-cray-ftn-case.patch', when='@7.1.1 %cce')
- patch('CMAKE_INSTALL_LIBDIR.patch', when='@7.0.0:7.2.0')
+ patch("xl-611.patch", when="@:6.1.1 %xl")
+ patch("xl-611.patch", when="@:6.1.1 %xl_r")
+ patch("superlu-cray-ftn-case.patch", when="@7.1.1 %cce")
+ patch("CMAKE_INSTALL_LIBDIR.patch", when="@7.0.0:7.2.0")
def cmake_args(self):
spec = self.spec
@@ -79,65 +79,61 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
def append_from_variant(*args):
cmake_args.append(self.define_from_variant(*args))
- append_define('CMAKE_C_COMPILER', spec['mpi'].mpicc)
- append_define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx)
- append_define('CMAKE_INSTALL_LIBDIR:STRING', self.prefix.lib)
- append_define('CMAKE_INSTALL_BINDIR:STRING', self.prefix.bin)
- append_define('TPL_BLAS_LIBRARIES', spec['blas'].libs)
- append_define('TPL_LAPACK_LIBRARIES', spec['lapack'].libs)
- append_define('TPL_ENABLE_LAPACKLIB', True)
- append_define('USE_XSDK_DEFAULTS', True)
- append_define('TPL_PARMETIS_LIBRARIES', [
- spec['parmetis'].libs.ld_flags,
- spec['metis'].libs.ld_flags
- ])
- append_define('TPL_PARMETIS_INCLUDE_DIRS', [
- spec['parmetis'].prefix.include,
- spec['metis'].prefix.include
- ])
-
- if ((spec.satisfies('%xl') or spec.satisfies('%xl_r'))
- and spec.satisfies('@:6.1.1')):
- append_define('CMAKE_C_FLAGS', '-DNoChange')
-
- append_define('XSDK_INDEX_SIZE', '64' if '+int64' in spec else '32')
-
- append_from_variant('enable_openmp', 'openmp')
- if '~openmp' in spec:
- append_define('CMAKE_DISABLE_FIND_PACKAGE_OpenMP', True)
-
- if '+cuda' in spec:
- append_define('TPL_ENABLE_CUDALIB', True)
+ append_define("CMAKE_C_COMPILER", spec["mpi"].mpicc)
+ append_define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx)
+ append_define("CMAKE_INSTALL_LIBDIR:STRING", self.prefix.lib)
+ append_define("CMAKE_INSTALL_BINDIR:STRING", self.prefix.bin)
+ append_define("TPL_BLAS_LIBRARIES", spec["blas"].libs)
+ append_define("TPL_LAPACK_LIBRARIES", spec["lapack"].libs)
+ append_define("TPL_ENABLE_LAPACKLIB", True)
+ append_define("USE_XSDK_DEFAULTS", True)
+ append_define(
+ "TPL_PARMETIS_LIBRARIES", [spec["parmetis"].libs.ld_flags, spec["metis"].libs.ld_flags]
+ )
+ append_define(
+ "TPL_PARMETIS_INCLUDE_DIRS",
+ [spec["parmetis"].prefix.include, spec["metis"].prefix.include],
+ )
+
+ if (spec.satisfies("%xl") or spec.satisfies("%xl_r")) and spec.satisfies("@:6.1.1"):
+ append_define("CMAKE_C_FLAGS", "-DNoChange")
+
+ append_define("XSDK_INDEX_SIZE", "64" if "+int64" in spec else "32")
+
+ append_from_variant("enable_openmp", "openmp")
+ if "~openmp" in spec:
+ append_define("CMAKE_DISABLE_FIND_PACKAGE_OpenMP", True)
+
+ if "+cuda" in spec:
+ append_define("TPL_ENABLE_CUDALIB", True)
append_define(
- 'TPL_CUDA_LIBRARIES',
- '-L%s -lcublas -lcudart' % spec['cuda'].libs.directories[0]
+ "TPL_CUDA_LIBRARIES", "-L%s -lcublas -lcudart" % spec["cuda"].libs.directories[0]
)
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch[0] != 'none':
- append_define('CMAKE_CUDA_FLAGS', '-arch=sm_' + cuda_arch[0])
-
- if '+rocm' in spec and spec.satisfies('@amd'):
- append_define('TPL_ENABLE_HIPLIB', True)
- append_define('HIP_ROOT_DIR', spec['hip'].prefix)
- rocm_archs = spec.variants['amdgpu_target'].value
- if 'none' not in rocm_archs:
- append_define('HIP_HIPCC_FLAGS',
- '--amdgpu-target=' + ",".join(rocm_archs))
-
- append_from_variant('BUILD_SHARED_LIBS', 'shared')
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch[0] != "none":
+ append_define("CMAKE_CUDA_FLAGS", "-arch=sm_" + cuda_arch[0])
+
+ if "+rocm" in spec and spec.satisfies("@amd"):
+ append_define("TPL_ENABLE_HIPLIB", True)
+ append_define("HIP_ROOT_DIR", spec["hip"].prefix)
+ rocm_archs = spec.variants["amdgpu_target"].value
+ if "none" not in rocm_archs:
+ append_define("HIP_HIPCC_FLAGS", "--amdgpu-target=" + ",".join(rocm_archs))
+
+ append_from_variant("BUILD_SHARED_LIBS", "shared")
return cmake_args
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
- if name == 'cflags' and '%pgi' not in self.spec:
- flags.append('-std=c99')
+ if name == "cflags" and "%pgi" not in self.spec:
+ flags.append("-std=c99")
return (None, None, flags)
- examples_src_dir = 'EXAMPLE'
+ examples_src_dir = "EXAMPLE"
- @run_after('install')
+ @run_after("install")
def cache_test_sources(self):
"""Copy the example matrices after the package is installed to an
install test subdirectory for use during `spack test run`."""
@@ -145,16 +141,24 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
def test(self):
test_dir = join_path(self.install_test_root, self.examples_src_dir)
- superludriver = join_path(self.prefix.lib, 'EXAMPLE', 'pddrive')
+ superludriver = join_path(self.prefix.lib, "EXAMPLE", "pddrive")
with working_dir(test_dir, create=False):
# Smoke test input parameters: -r 2 -c 2 g20.rua
- test_args = ['-n', '4', superludriver, '-r', '2', '-c', '2', 'g20.rua']
+ test_args = ["-n", "4", superludriver, "-r", "2", "-c", "2", "g20.rua"]
# Find the correct mpirun command
- mpiexe_f = which('srun', 'mpirun', 'mpiexec')
+ mpiexe_f = which("srun", "mpirun", "mpiexec")
if mpiexe_f:
- if self.spec.satisfies('@7.2.0:'):
- self.run_test(mpiexe_f.command, test_args, work_dir='.',
- purpose='superlu-dist smoke test')
+ if self.spec.satisfies("@7.2.0:"):
+ self.run_test(
+ mpiexe_f.command,
+ test_args,
+ work_dir=".",
+ purpose="superlu-dist smoke test",
+ )
else:
- self.run_test('echo', options=['skip test'], work_dir='.',
- purpose='superlu-dist smoke test')
+ self.run_test(
+ "echo",
+ options=["skip test"],
+ work_dir=".",
+ purpose="superlu-dist smoke test",
+ )
diff --git a/var/spack/repos/builtin/packages/superlu-mt/package.py b/var/spack/repos/builtin/packages/superlu-mt/package.py
index 1f9b10f264..87ca53e2b6 100644
--- a/var/spack/repos/builtin/packages/superlu-mt/package.py
+++ b/var/spack/repos/builtin/packages/superlu-mt/package.py
@@ -15,123 +15,130 @@ class SuperluMt(Package):
machines. SuperLU_MT is designed for shared memory parallel machines."""
homepage = "https://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu_mt"
- url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_mt_3.1.tar.gz"
+ url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_mt_3.1.tar.gz"
- version('3.1', sha256='407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6')
+ version("3.1", sha256="407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6")
- variant('int64', default=False,
- description='Build with 64 bit integers')
- variant('pic', default=True,
- description='Build with position independent code')
- variant('blas', default=True,
- description='Build with external BLAS library')
+ variant("int64", default=False, description="Build with 64 bit integers")
+ variant("pic", default=True, description="Build with position independent code")
+ variant("blas", default=True, description="Build with external BLAS library")
# Must choose one or the other
- variant('openmp', default=False,
- description='Build with OpenMP support')
- variant('pthread', default=True,
- description='Build with POSIX threads support')
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("pthread", default=True, description="Build with POSIX threads support")
# NOTE: must link with a single-threaded BLAS library
- depends_on('blas', when='+blas')
+ depends_on("blas", when="+blas")
# Cannot be built in parallel
parallel = False
def configure(self, spec):
# Validate chosen variants
- if '+openmp' in spec and '+pthread' in spec:
- msg = 'You cannot choose both +openmp and +pthread'
+ if "+openmp" in spec and "+pthread" in spec:
+ msg = "You cannot choose both +openmp and +pthread"
raise RuntimeError(msg)
- if '~openmp' in spec and '~pthread' in spec:
- msg = 'You must choose either +openmp or +pthread'
+ if "~openmp" in spec and "~pthread" in spec:
+ msg = "You must choose either +openmp or +pthread"
raise RuntimeError(msg)
# List of configuration options
config = []
# The machine (platform) identifier to append to the library names
- if '+openmp' in spec:
+ if "+openmp" in spec:
# OpenMP
- config.extend([
- 'PLAT = _OPENMP',
- 'TMGLIB = libtmglib.a',
- 'MPLIB = {0}'.format(self.compiler.openmp_flag),
- 'CFLAGS = {0}'.format(self.compiler.openmp_flag),
- 'FFLAGS = {0}'.format(self.compiler.openmp_flag),
- 'LOADOPTS += {0}'.format(self.compiler.openmp_flag)
- ])
- elif '+pthread' in spec:
+ config.extend(
+ [
+ "PLAT = _OPENMP",
+ "TMGLIB = libtmglib.a",
+ "MPLIB = {0}".format(self.compiler.openmp_flag),
+ "CFLAGS = {0}".format(self.compiler.openmp_flag),
+ "FFLAGS = {0}".format(self.compiler.openmp_flag),
+ "LOADOPTS += {0}".format(self.compiler.openmp_flag),
+ ]
+ )
+ elif "+pthread" in spec:
# POSIX threads
- config.extend([
- 'PLAT = _PTHREAD',
- 'TMGLIB = libtmglib$(PLAT).a',
- 'MPLIB = -lpthread'
- ])
+ config.extend(
+ [
+ "PLAT = _PTHREAD",
+ "TMGLIB = libtmglib$(PLAT).a",
+ "MPLIB = -lpthread",
+ ]
+ )
# The BLAS library
# NOTE: must link with a single-threaded BLAS library
- if '+blas' in spec:
- config.extend([
- 'BLASDEF = -DUSE_VENDOR_BLAS',
- 'BLASLIB = {0}'.format(spec['blas'].libs.ld_flags)
- ])
+ if "+blas" in spec:
+ config.extend(
+ [
+ "BLASDEF = -DUSE_VENDOR_BLAS",
+ "BLASLIB = {0}".format(spec["blas"].libs.ld_flags),
+ ]
+ )
else:
- config.append('BLASLIB = ../lib/libblas$(PLAT).a')
+ config.append("BLASLIB = ../lib/libblas$(PLAT).a")
# Generic options
- config.extend([
- # The name of the libraries to be created/linked to
- 'SUPERLULIB = libsuperlu_mt$(PLAT).a',
- 'MATHLIB = -lm',
- # The archiver and the flag(s) to use when building archives
- 'ARCH = ar',
- 'ARCHFLAGS = cr',
- 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'),
- # Definitions used by CPP
- 'PREDEFS = -D_$(PLAT)',
- # Compilers and flags
- 'CC = {0}'.format(os.environ['CC']),
- 'CFLAGS += $(PREDEFS)',
- 'NOOPTS = -O0',
- 'FORTRAN = {0}'.format(os.environ['FC']),
- 'LOADER = {0}'.format(os.environ['CC']),
- # C preprocessor defs for compilation
- 'CDEFS = -DAdd_'
- ])
-
- if '+int64' in spec:
- config.extend([
- 'CFLAGS += -D_LONGINT',
- ])
-
- if '+pic' in spec:
- config.extend([
- 'CFLAGS += {0}'.format(self.compiler.cc_pic_flag),
- 'NOOPTS += {0}'.format(self.compiler.cc_pic_flag),
- 'FFLAGS += {0}'.format(self.compiler.f77_pic_flag),
- 'LOADOPTS += {0}'.format(self.compiler.cc_pic_flag)
- ])
+ config.extend(
+ [
+ # The name of the libraries to be created/linked to
+ "SUPERLULIB = libsuperlu_mt$(PLAT).a",
+ "MATHLIB = -lm",
+ # The archiver and the flag(s) to use when building archives
+ "ARCH = ar",
+ "ARCHFLAGS = cr",
+ "RANLIB = {0}".format("ranlib" if which("ranlib") else "echo"),
+ # Definitions used by CPP
+ "PREDEFS = -D_$(PLAT)",
+ # Compilers and flags
+ "CC = {0}".format(os.environ["CC"]),
+ "CFLAGS += $(PREDEFS)",
+ "NOOPTS = -O0",
+ "FORTRAN = {0}".format(os.environ["FC"]),
+ "LOADER = {0}".format(os.environ["CC"]),
+ # C preprocessor defs for compilation
+ "CDEFS = -DAdd_",
+ ]
+ )
+
+ if "+int64" in spec:
+ config.extend(
+ [
+ "CFLAGS += -D_LONGINT",
+ ]
+ )
+
+ if "+pic" in spec:
+ config.extend(
+ [
+ "CFLAGS += {0}".format(self.compiler.cc_pic_flag),
+ "NOOPTS += {0}".format(self.compiler.cc_pic_flag),
+ "FFLAGS += {0}".format(self.compiler.f77_pic_flag),
+ "LOADOPTS += {0}".format(self.compiler.cc_pic_flag),
+ ]
+ )
# Write configuration options to include file
- with open('make.inc', 'w') as inc:
+ with open("make.inc", "w") as inc:
for option in config:
- inc.write('{0}\n'.format(option))
+ inc.write("{0}\n".format(option))
def install(self, spec, prefix):
# Set up make include file manually
self.configure(spec)
# BLAS needs to be compiled separately if using internal BLAS library
- if '+blas' not in spec:
- make('blaslib')
+ if "+blas" not in spec:
+ make("blaslib")
make()
# Install manually
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
- headers = glob.glob(join_path('SRC', '*.h'))
+ headers = glob.glob(join_path("SRC", "*.h"))
mkdir(prefix.include)
for h in headers:
install(h, prefix.include)
diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py
index 1204ec9e28..8f20f90ea4 100644
--- a/var/spack/repos/builtin/packages/superlu/package.py
+++ b/var/spack/repos/builtin/packages/superlu/package.py
@@ -16,41 +16,49 @@ class Superlu(CMakePackage):
machines. SuperLU is designed for sequential machines."""
homepage = "https://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu"
- url = "https://github.com/xiaoyeli/superlu/archive/refs/tags/v5.3.0.tar.gz"
-
- tags = ['e4s']
-
- version('5.3.0', sha256='3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350')
- version('5.2.2', sha256='470334a72ba637578e34057f46948495e601a5988a602604f5576367e606a28c')
- version('5.2.1', sha256='28fb66d6107ee66248d5cf508c79de03d0621852a0ddeba7301801d3d859f463')
- version('4.3', sha256='169920322eb9b9c6a334674231479d04df72440257c17870aaa0139d74416781',
- deprecated=True,
- url='https://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz')
- version('4.2', sha256='5a06e19bf5a597405dfeea39fe92aa8c5dd41da73c72c7187755a75f581efb28',
- deprecated=True,
- url='https://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.2.tar.gz')
-
- variant('pic', default=True,
- description='Build with position independent code')
-
- depends_on('cmake', when='@5:', type='build')
- depends_on('blas')
- conflicts('@:5.2.1', when='%apple-clang@12:',
- msg='Older SuperLU is incompatible with newer compilers')
+ url = "https://github.com/xiaoyeli/superlu/archive/refs/tags/v5.3.0.tar.gz"
+
+ tags = ["e4s"]
+
+ version("5.3.0", sha256="3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350")
+ version("5.2.2", sha256="470334a72ba637578e34057f46948495e601a5988a602604f5576367e606a28c")
+ version("5.2.1", sha256="28fb66d6107ee66248d5cf508c79de03d0621852a0ddeba7301801d3d859f463")
+ version(
+ "4.3",
+ sha256="169920322eb9b9c6a334674231479d04df72440257c17870aaa0139d74416781",
+ deprecated=True,
+ url="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz",
+ )
+ version(
+ "4.2",
+ sha256="5a06e19bf5a597405dfeea39fe92aa8c5dd41da73c72c7187755a75f581efb28",
+ deprecated=True,
+ url="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.2.tar.gz",
+ )
+
+ variant("pic", default=True, description="Build with position independent code")
+
+ depends_on("cmake", when="@5:", type="build")
+ depends_on("blas")
+ conflicts(
+ "@:5.2.1",
+ when="%apple-clang@12:",
+ msg="Older SuperLU is incompatible with newer compilers",
+ )
test_requires_compiler = True
# CMake installation method
def cmake_args(self):
- if self.version > Version('5.2.1'):
- _blaslib_key = 'enable_internal_blaslib'
+ if self.version > Version("5.2.1"):
+ _blaslib_key = "enable_internal_blaslib"
else:
- _blaslib_key = 'enable_blaslib'
+ _blaslib_key = "enable_blaslib"
args = [
self.define(_blaslib_key, False),
- self.define('CMAKE_INSTALL_LIBDIR', self.prefix.lib),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- self.define('enable_tests', self.run_tests),
+ self.define("CMAKE_INSTALL_LIBDIR", self.prefix.lib),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ self.define("enable_tests", self.run_tests),
]
return args
@@ -62,66 +70,68 @@ class Superlu(CMakePackage):
config = []
# Define make.inc file
- config.extend([
- 'PLAT = _x86_64',
- 'SuperLUroot = %s' % self.stage.source_path,
- # 'SUPERLULIB = $(SuperLUroot)/lib/libsuperlu$(PLAT).a',
- 'SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_{0}.a' \
- .format(self.spec.version),
- 'BLASDEF = -DUSE_VENDOR_BLAS',
- 'BLASLIB = {0}'.format(spec['blas'].libs.ld_flags),
- # or BLASLIB = -L/usr/lib64 -lblas
- 'TMGLIB = libtmglib.a',
- 'LIBS = $(SUPERLULIB) $(BLASLIB)',
- 'ARCH = ar',
- 'ARCHFLAGS = cr',
- 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'),
- 'CC = {0}'.format(env['CC']),
- 'FORTRAN = {0}'.format(env['FC']),
- 'LOADER = {0}'.format(env['CC']),
- 'CDEFS = -DAdd_'
- ])
-
- if '+pic' in spec:
- config.extend([
- # Use these lines instead when pic_flag capability arrives
- 'CFLAGS = -O3 {0}'.format(self.compiler.cc_pic_flag),
- 'NOOPTS = {0}'.format(self.compiler.cc_pic_flag),
- 'FFLAGS = -O2 {0}'.format(self.compiler.f77_pic_flag),
- 'LOADOPTS = {0}'.format(self.compiler.cc_pic_flag)
- ])
+ config.extend(
+ [
+ "PLAT = _x86_64",
+ "SuperLUroot = %s" % self.stage.source_path,
+ # 'SUPERLULIB = $(SuperLUroot)/lib/libsuperlu$(PLAT).a',
+ "SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_{0}.a".format(self.spec.version),
+ "BLASDEF = -DUSE_VENDOR_BLAS",
+ "BLASLIB = {0}".format(spec["blas"].libs.ld_flags),
+ # or BLASLIB = -L/usr/lib64 -lblas
+ "TMGLIB = libtmglib.a",
+ "LIBS = $(SUPERLULIB) $(BLASLIB)",
+ "ARCH = ar",
+ "ARCHFLAGS = cr",
+ "RANLIB = {0}".format("ranlib" if which("ranlib") else "echo"),
+ "CC = {0}".format(env["CC"]),
+ "FORTRAN = {0}".format(env["FC"]),
+ "LOADER = {0}".format(env["CC"]),
+ "CDEFS = -DAdd_",
+ ]
+ )
+
+ if "+pic" in spec:
+ config.extend(
+ [
+ # Use these lines instead when pic_flag capability arrives
+ "CFLAGS = -O3 {0}".format(self.compiler.cc_pic_flag),
+ "NOOPTS = {0}".format(self.compiler.cc_pic_flag),
+ "FFLAGS = -O2 {0}".format(self.compiler.f77_pic_flag),
+ "LOADOPTS = {0}".format(self.compiler.cc_pic_flag),
+ ]
+ )
else:
- config.extend([
- 'CFLAGS = -O3',
- 'NOOPTS = ',
- 'FFLAGS = -O2',
- 'LOADOPTS = '
- ])
+ config.extend(
+ ["CFLAGS = -O3", "NOOPTS = ", "FFLAGS = -O2", "LOADOPTS = "]
+ )
# Write configuration options to make.inc file
- with open('make.inc', 'w') as inc:
+ with open("make.inc", "w") as inc:
for option in config:
- inc.write('{0}\n'.format(option))
+ inc.write("{0}\n".format(option))
make(parallel=False)
# Install manually
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
mkdir(prefix.include)
- install(join_path('SRC', '*.h'), prefix.include)
+ install(join_path("SRC", "*.h"), prefix.include)
- examples_src_dir = 'EXAMPLE'
- make_hdr_file = 'make.inc'
+ examples_src_dir = "EXAMPLE"
+ make_hdr_file = "make.inc"
- @run_after('install')
+ @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`."""
- if self.spec.satisfies('@5.2.2:'):
+ if self.spec.satisfies("@5.2.2:"):
# Include dir was hardcoded in 5.2.2
- filter_file(r'INCLUDEDIR = -I\.\./SRC',
- 'INCLUDEDIR = -I' + self.prefix.include,
- join_path(self.examples_src_dir, 'Makefile'))
+ filter_file(
+ r"INCLUDEDIR = -I\.\./SRC",
+ "INCLUDEDIR = -I" + self.prefix.include,
+ join_path(self.examples_src_dir, "Makefile"),
+ )
self.cache_extra_test_sources(self.examples_src_dir)
@@ -129,85 +139,85 @@ class Superlu(CMakePackage):
config_args = []
# Define make.inc file
- config_args.extend([
- 'SuperLUroot = {0}'.format(self.prefix),
- 'SUPERLULIB = {0}/libsuperlu.a'.format(self.prefix.lib),
- 'BLASLIB = {0}'.format(self.spec['blas'].libs.ld_flags),
- 'TMGLIB = libtmglib.a',
- 'LIBS = $(SUPERLULIB) $(BLASLIB)',
- 'ARCH = ar',
- 'ARCHFLAGS = cr',
- 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'),
- 'CC = {0}'.format(env['CC']),
- 'FORTRAN = {0}'.format(env['FC']),
- 'LOADER = {0}'.format(env['CC']),
- 'CFLAGS = -O3 -DNDEBUG -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DAdd_',
- 'NOOPTS = -O0'
- ])
+ config_args.extend(
+ [
+ "SuperLUroot = {0}".format(self.prefix),
+ "SUPERLULIB = {0}/libsuperlu.a".format(self.prefix.lib),
+ "BLASLIB = {0}".format(self.spec["blas"].libs.ld_flags),
+ "TMGLIB = libtmglib.a",
+ "LIBS = $(SUPERLULIB) $(BLASLIB)",
+ "ARCH = ar",
+ "ARCHFLAGS = cr",
+ "RANLIB = {0}".format("ranlib" if which("ranlib") else "echo"),
+ "CC = {0}".format(env["CC"]),
+ "FORTRAN = {0}".format(env["FC"]),
+ "LOADER = {0}".format(env["CC"]),
+ "CFLAGS = -O3 -DNDEBUG -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DAdd_",
+ "NOOPTS = -O0",
+ ]
+ )
return config_args
# Pre-cmake configuration
- @when('@:4')
+ @when("@:4")
def _generate_make_hdr_for_test(self):
config_args = []
# Define make.inc file
- config_args.extend([
- 'PLAT = _x86_64',
- 'SuperLUroot = {0}'.format(self.prefix),
- 'SUPERLULIB = {0}/libsuperlu_{1}.a'.format(self.prefix.lib,
- self.spec.version),
- 'BLASLIB = {0}'.format(self.spec['blas'].libs.ld_flags),
- 'TMGLIB = libtmglib.a',
- 'LIBS = $(SUPERLULIB) $(BLASLIB)',
- 'ARCH = ar',
- 'ARCHFLAGS = cr',
- 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'),
- 'CC = {0}'.format(env['CC']),
- 'FORTRAN = {0}'.format(env['FC']),
- 'LOADER = {0}'.format(env['CC']),
- 'CFLAGS = -O3 -DNDEBUG -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DAdd_',
- 'NOOPTS = -O0'
- ])
+ config_args.extend(
+ [
+ "PLAT = _x86_64",
+ "SuperLUroot = {0}".format(self.prefix),
+ "SUPERLULIB = {0}/libsuperlu_{1}.a".format(self.prefix.lib, self.spec.version),
+ "BLASLIB = {0}".format(self.spec["blas"].libs.ld_flags),
+ "TMGLIB = libtmglib.a",
+ "LIBS = $(SUPERLULIB) $(BLASLIB)",
+ "ARCH = ar",
+ "ARCHFLAGS = cr",
+ "RANLIB = {0}".format("ranlib" if which("ranlib") else "echo"),
+ "CC = {0}".format(env["CC"]),
+ "FORTRAN = {0}".format(env["FC"]),
+ "LOADER = {0}".format(env["CC"]),
+ "CFLAGS = -O3 -DNDEBUG -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DAdd_",
+ "NOOPTS = -O0",
+ ]
+ )
return config_args
def run_superlu_test(self, test_dir, exe, args):
- if not self.run_test('make',
- options=args,
- purpose='test: compile {0} example'.format(exe),
- work_dir=test_dir):
- tty.warn('Skipping test: failed to compile example')
+ if not self.run_test(
+ "make",
+ options=args,
+ purpose="test: compile {0} example".format(exe),
+ work_dir=test_dir,
+ ):
+ tty.warn("Skipping test: failed to compile example")
return
- if not self.run_test(exe,
- purpose='test: run {0} example'.format(exe),
- work_dir=test_dir):
- tty.warn('Skipping test: failed to run example')
+ if not self.run_test(exe, purpose="test: run {0} example".format(exe), work_dir=test_dir):
+ tty.warn("Skipping test: failed to run example")
def test(self):
config_args = self._generate_make_hdr_for_test()
# Write configuration options to make.inc file
- make_file_inc = join_path(self.test_suite.current_test_cache_dir,
- self.make_hdr_file)
- with open(make_file_inc, 'w') as inc:
+ make_file_inc = join_path(self.test_suite.current_test_cache_dir, self.make_hdr_file)
+ with open(make_file_inc, "w") as inc:
for option in config_args:
- inc.write('{0}\n'.format(option))
+ inc.write("{0}\n".format(option))
args = []
- if self.version < Version('5.2.2'):
- args.append('HEADER=' + self.prefix.include)
- args.append('superlu')
+ if self.version < Version("5.2.2"):
+ args.append("HEADER=" + self.prefix.include)
+ args.append("superlu")
- test_dir = join_path(self.test_suite.current_test_cache_dir,
- self.examples_src_dir)
- exe = 'superlu'
+ test_dir = join_path(self.test_suite.current_test_cache_dir, self.examples_src_dir)
+ exe = "superlu"
- if not os.path.isfile(join_path(test_dir, '{0}.c'.format(exe))):
- tty.warn('Skipping superlu test:'
- 'missing file {0}.c'.format(exe))
+ if not os.path.isfile(join_path(test_dir, "{0}.c".format(exe))):
+ tty.warn("Skipping superlu test:" "missing file {0}.c".format(exe))
return
self.run_superlu_test(test_dir, exe, args)
diff --git a/var/spack/repos/builtin/packages/supernova/package.py b/var/spack/repos/builtin/packages/supernova/package.py
index f13fcdabbb..54137eecb5 100644
--- a/var/spack/repos/builtin/packages/supernova/package.py
+++ b/var/spack/repos/builtin/packages/supernova/package.py
@@ -29,23 +29,25 @@ class Supernova(Package):
homepage = "https://support.10xgenomics.com/de-novo-assembly/software/overview/latest/welcome"
manual_download = True
- version('2.1.1', sha256='2f58eb66951e257b89359134ab8e35ad638c4ed51cb3fb8121625dfcc7761938')
- version('2.0.1', '3697ce043c798fcb672fe0a66c56d6f0')
+ version("2.1.1", sha256="2f58eb66951e257b89359134ab8e35ad638c4ed51cb3fb8121625dfcc7761938")
+ version("2.0.1", "3697ce043c798fcb672fe0a66c56d6f0")
- depends_on('bcl2fastq2')
+ depends_on("bcl2fastq2")
def url_for_version(self, version):
return "file://{0}/supernova-{1}.tar.gz".format(os.getcwd(), version)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
def install(self, spec, prefix):
- rm = which('rm')
+ rm = which("rm")
# remove the broken symlinks
if os.path.isdir("anaconda-cs/2.2.0-anaconda-cs-c7/lib"):
- rm('anaconda-cs/2.2.0-anaconda-cs-c7/lib/libtcl.so',
- 'anaconda-cs/2.2.0-anaconda-cs-c7/lib/libtk.so')
+ rm(
+ "anaconda-cs/2.2.0-anaconda-cs-c7/lib/libtcl.so",
+ "anaconda-cs/2.2.0-anaconda-cs-c7/lib/libtk.so",
+ )
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/survey/package.py b/var/spack/repos/builtin/packages/survey/package.py
index b0f248dccc..0b3407f8af 100644
--- a/var/spack/repos/builtin/packages/survey/package.py
+++ b/var/spack/repos/builtin/packages/survey/package.py
@@ -8,88 +8,90 @@ from spack.package import *
class Survey(CMakePackage):
"""Survey is a high level performance tool product from Trenza, Inc.
- The survey collector/analytics framework is a new generation,
- high level, lightweight multiplatform Linux tool set that
- targets metric collection for high level performance analysis
- of applications running on both single node and on large scale
- platforms, including the Cray platforms.
-
- The collector is designed to work on sequential, MPI, OpenMP,
- and hybrid codes and directly leverages several interfaces
- available for tools inside current MPI implementations including:
- MPICH, MVAPICH, MPT, and OpenMPI. It also supports multiple
- architectures and has been tested on machines based on Intel,
- AMD, ARM, and IBM P8/9 processors and integrated GPUs.
-
- Survey is a licensed product with the source not openly available.
- To access the survey source and build with spack please contact:
- Trenza Inc. via: dmont@trenzasynergy.com or
- jeg@trenzasynergy.com
+ The survey collector/analytics framework is a new generation,
+ high level, lightweight multiplatform Linux tool set that
+ targets metric collection for high level performance analysis
+ of applications running on both single node and on large scale
+ platforms, including the Cray platforms.
+
+ The collector is designed to work on sequential, MPI, OpenMP,
+ and hybrid codes and directly leverages several interfaces
+ available for tools inside current MPI implementations including:
+ MPICH, MVAPICH, MPT, and OpenMPI. It also supports multiple
+ architectures and has been tested on machines based on Intel,
+ AMD, ARM, and IBM P8/9 processors and integrated GPUs.
+
+ Survey is a licensed product with the source not openly available.
+ To access the survey source and build with spack please contact:
+ Trenza Inc. via: dmont@trenzasynergy.com or
+ jeg@trenzasynergy.com
"""
homepage = "http://www.trenzasynergy.com"
- git = "ssh://git@gitlab.com/trenza/survey.git"
+ git = "ssh://git@gitlab.com/trenza/survey.git"
- maintainers = ['jgalarowicz']
+ maintainers = ["jgalarowicz"]
- version('master', branch='master')
- version('1.0.5', branch='1.0.5')
- version('1.0.4', tag='1.0.4')
- version('1.0.3', tag='1.0.3')
- version('1.0.2', tag='1.0.2')
- version('1.0.1.1', tag='1.0.1.1')
- version('1.0.1', tag='1.0.1')
- version('1.0.0', branch='1.0.0')
+ version("master", branch="master")
+ version("1.0.5", branch="1.0.5")
+ version("1.0.4", tag="1.0.4")
+ version("1.0.3", tag="1.0.3")
+ version("1.0.2", tag="1.0.2")
+ version("1.0.1.1", tag="1.0.1.1")
+ version("1.0.1", tag="1.0.1")
+ version("1.0.0", branch="1.0.0")
- variant('mpi', default=False,
- description="Enable mpi, build MPI data collector")
+ variant("mpi", default=False, description="Enable mpi, build MPI data collector")
- variant('tls_model', default='explicit',
- description='The TLS model to build with',
- values=('implicit', 'explicit'))
+ variant(
+ "tls_model",
+ default="explicit",
+ description="The TLS model to build with",
+ values=("implicit", "explicit"),
+ )
# must have cmake at 3.12 or greater to find python3
- depends_on('cmake@3.12:', type='build')
+ depends_on("cmake@3.12:", type="build")
# for collectors
- depends_on("libmonitor@2021.04.27+commrank", type=('build', 'link', 'run'), when='@:1.0.2')
- depends_on('libmonitor@2021.11.08+commrank', type=('build', 'link', 'run'), when='@1.0.3:')
+ depends_on("libmonitor@2021.04.27+commrank", type=("build", "link", "run"), when="@:1.0.2")
+ depends_on("libmonitor@2021.11.08+commrank", type=("build", "link", "run"), when="@1.0.3:")
- depends_on("papi@5:", type=('build', 'link', 'run'))
- depends_on("gotcha@master", type=('build', 'link', 'run'))
- depends_on("llvm-openmp@9.0.0", type=('build', 'link', 'run'), when='@:1.0.2')
- depends_on('llvm-openmp@12.0.1', type=('build', 'link', 'run'), when='@1.0.3:')
+ depends_on("papi@5:", type=("build", "link", "run"))
+ depends_on("gotcha@master", type=("build", "link", "run"))
+ depends_on("llvm-openmp@9.0.0", type=("build", "link", "run"), when="@:1.0.2")
+ depends_on("llvm-openmp@12.0.1", type=("build", "link", "run"), when="@1.0.3:")
# MPI Installation
depends_on("mpi", when="+mpi")
- depends_on("python@3:", type=('build', 'run'))
- depends_on("py-setuptools", type='build')
- depends_on("py-pip", type='build')
- depends_on("py-pandas", type=('build', 'run'))
- depends_on("py-psutil", type=('build', 'run'))
- depends_on("py-sqlalchemy", type=('build', 'run'))
- depends_on("py-pyyaml", type=('build', 'run'))
- depends_on("py-seaborn", type=('build', 'run'), when='@1.0.3:')
- depends_on("py-jinja2", type=('build', 'run'), when='@1.0.3:')
- depends_on("py-matplotlib", type=('build', 'run'), when='@1.0.3:')
- depends_on("py-more-itertools", type=('build', 'run'), when='@1.0.4:')
- depends_on("py-versioneer", type=('build', 'run'), when='@1.0.5:')
-
- extends('python')
+ depends_on("python@3:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-pip", type="build")
+ depends_on("py-pandas", type=("build", "run"))
+ depends_on("py-psutil", type=("build", "run"))
+ depends_on("py-sqlalchemy", type=("build", "run"))
+ depends_on("py-pyyaml", type=("build", "run"))
+ depends_on("py-seaborn", type=("build", "run"), when="@1.0.3:")
+ depends_on("py-jinja2", type=("build", "run"), when="@1.0.3:")
+ depends_on("py-matplotlib", type=("build", "run"), when="@1.0.3:")
+ depends_on("py-more-itertools", type=("build", "run"), when="@1.0.4:")
+ depends_on("py-versioneer", type=("build", "run"), when="@1.0.5:")
+
+ extends("python")
parallel = False
def get_mpi_cmake_options(self, spec):
# Returns MPI cmake_options that will enable the appropriate
# MPI implementation is specified as a cmake argument.
- mpi_args = ['-D%s_DIR=%s' % (spec['mpi'].name.upper(), spec['mpi'].prefix)]
+ mpi_args = ["-D%s_DIR=%s" % (spec["mpi"].name.upper(), spec["mpi"].prefix)]
return mpi_args
def cmake_args(self):
spec = self.spec
- if 'tls_model=implicit' in spec:
+ if "tls_model=implicit" in spec:
spack_tls_model = "implicit"
else:
spack_tls_model = "explicit"
@@ -97,17 +99,17 @@ class Survey(CMakePackage):
# Add in paths for finding package config files that tell us
# where to find these packages
cmake_args = [
- '-DCMAKE_VERBOSE_MAKEFILE=ON',
- '-DTLS_MODEL=%s' % spack_tls_model,
- '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
- '-DPAPI_DIR=%s' % spec['papi'].prefix,
- '-DLIBIOMP_DIR=%s' % spec['llvm-openmp'].prefix,
- '-DPYTHON_DIR=%s' % spec['python'].prefix,
- '-DGOTCHA_DIR=%s' % spec['gotcha'].prefix
+ "-DCMAKE_VERBOSE_MAKEFILE=ON",
+ "-DTLS_MODEL=%s" % spack_tls_model,
+ "-DLIBMONITOR_DIR=%s" % spec["libmonitor"].prefix,
+ "-DPAPI_DIR=%s" % spec["papi"].prefix,
+ "-DLIBIOMP_DIR=%s" % spec["llvm-openmp"].prefix,
+ "-DPYTHON_DIR=%s" % spec["python"].prefix,
+ "-DGOTCHA_DIR=%s" % spec["gotcha"].prefix,
]
# Add any MPI implementations coming from variant settings
- if '+mpi' in spec:
+ if "+mpi" in spec:
mpi_options = self.get_mpi_cmake_options(spec)
cmake_args.extend(mpi_options)
@@ -118,11 +120,11 @@ class Survey(CMakePackage):
# Set SURVEY_MPI_IMPLEMENTATON to the appropriate mpi implementation
# This is needed by survey to deploy the correct mpi runtimes.
- if '+mpi' in self.spec:
- env.set('SURVEY_MPI_IMPLEMENTATION', self.spec['mpi'].name.lower())
+ if "+mpi" in self.spec:
+ env.set("SURVEY_MPI_IMPLEMENTATION", self.spec["mpi"].name.lower())
# For compatibility reasons we need
- env.prepend_path('PATH', self.spec['python'].prefix.bin)
+ env.prepend_path("PATH", self.spec["python"].prefix.bin)
# Add paths for sub-tools that are used by survey
- env.prepend_path('PATH', self.spec['papi'].prefix.bin)
- env.prepend_path('PATH', self.spec['libmonitor'].prefix.bin)
+ env.prepend_path("PATH", self.spec["papi"].prefix.bin)
+ env.prepend_path("PATH", self.spec["libmonitor"].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sw4lite/package.py b/var/spack/repos/builtin/packages/sw4lite/package.py
index c536a30f55..e9f5a5cd35 100644
--- a/var/spack/repos/builtin/packages/sw4lite/package.py
+++ b/var/spack/repos/builtin/packages/sw4lite/package.py
@@ -11,24 +11,29 @@ class Sw4lite(MakefilePackage, CudaPackage):
"""Sw4lite is a bare bone version of SW4 intended for testing
performance optimizations in a few important numerical kernels of SW4."""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://geodynamics.org/cig/software/sw4"
- url = "https://github.com/geodynamics/sw4lite/archive/v1.0.zip"
- git = "https://github.com/geodynamics/sw4lite.git"
-
- version('develop', branch='master')
- version('1.1', sha256='34b5f7b56f9e40474c14abebcaa024192de018de6beb6dafee53d3db5b07c6d3')
- version('1.0', sha256='2ed7784fe0564b33879c280d3a8d54d963f2f45cd7f61215b8077fcc4ce8a608')
-
- variant('openmp', default=True, description='Build with OpenMP support')
- variant('precision', default='double', values=('float', 'double'),
- multi=False, description='Floating point precision')
- variant('ckernel', default=False, description='C or Fortran kernel')
-
- depends_on('blas')
- depends_on('lapack')
- depends_on('mpi')
+ url = "https://github.com/geodynamics/sw4lite/archive/v1.0.zip"
+ git = "https://github.com/geodynamics/sw4lite.git"
+
+ version("develop", branch="master")
+ version("1.1", sha256="34b5f7b56f9e40474c14abebcaa024192de018de6beb6dafee53d3db5b07c6d3")
+ version("1.0", sha256="2ed7784fe0564b33879c280d3a8d54d963f2f45cd7f61215b8077fcc4ce8a608")
+
+ variant("openmp", default=True, description="Build with OpenMP support")
+ variant(
+ "precision",
+ default="double",
+ values=("float", "double"),
+ multi=False,
+ description="Floating point precision",
+ )
+ variant("ckernel", default=False, description="C or Fortran kernel")
+
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("mpi")
parallel = False
@@ -37,58 +42,55 @@ class Sw4lite(MakefilePackage, CudaPackage):
targets = []
spec = self.spec
- if spec.variants['precision'].value == 'double':
- cxxflags = ['-I../src', '-I../src/double']
+ if spec.variants["precision"].value == "double":
+ cxxflags = ["-I../src", "-I../src/double"]
else:
- cxxflags = ['-I../src', '-I../src/float']
+ cxxflags = ["-I../src", "-I../src/float"]
cflags = []
fflags = []
- if '+openmp' in self.spec:
- cflags.append('-DSW4_OPENMP')
+ if "+openmp" in self.spec:
+ cflags.append("-DSW4_OPENMP")
cflags.append(self.compiler.openmp_flag)
- cxxflags.append('-DSW4_OPENMP')
+ cxxflags.append("-DSW4_OPENMP")
cxxflags.append(self.compiler.openmp_flag)
fflags.append(self.compiler.openmp_flag)
- if spec.variants['ckernel'].value is True:
- cxxflags.append('-DSW4_CROUTINES')
- targets.append('ckernel=yes')
-
- if '+cuda' in self.spec:
- targets.append('NVCC = {0}'.format(
- self.spec['cuda'].prefix.bin.nvcc))
- targets.append('HOSTCOMP = {0}'.format(spack_cxx))
- targets.append('MPIPATH= {0} '.format(self.spec['mpi'].prefix))
- targets.append('gpuarch= {0}'.format(self.cuda_flags(cuda_arch)))
- targets.append('MPIINC = {0}'.format(
- self.spec['mpi'].headers.directories[0]))
-
- targets.append('FC=' + spec['mpi'].mpifc)
- targets.append('CXX=' + spec['mpi'].mpicxx)
-
- targets.append('CFLAGS={0}'.format(' '.join(cflags)))
- targets.append('CXXFLAGS={0}'.format(' '.join(cxxflags)))
- targets.append('FFLAGS={0}'.format(' '.join(fflags)))
-
- targets.append('EXTRA_CXX_FLAGS=')
- targets.append('EXTRA_FORT_FLAGS=')
- lapack_blas = spec['lapack'].libs + spec['blas'].libs
- if spec.satisfies('%gcc'):
- targets.append('EXTRA_LINK_FLAGS={0} -lgfortran'
- .format(lapack_blas.ld_flags))
+ if spec.variants["ckernel"].value is True:
+ cxxflags.append("-DSW4_CROUTINES")
+ targets.append("ckernel=yes")
+
+ if "+cuda" in self.spec:
+ targets.append("NVCC = {0}".format(self.spec["cuda"].prefix.bin.nvcc))
+ targets.append("HOSTCOMP = {0}".format(spack_cxx))
+ targets.append("MPIPATH= {0} ".format(self.spec["mpi"].prefix))
+ targets.append("gpuarch= {0}".format(self.cuda_flags(cuda_arch)))
+ targets.append("MPIINC = {0}".format(self.spec["mpi"].headers.directories[0]))
+
+ targets.append("FC=" + spec["mpi"].mpifc)
+ targets.append("CXX=" + spec["mpi"].mpicxx)
+
+ targets.append("CFLAGS={0}".format(" ".join(cflags)))
+ targets.append("CXXFLAGS={0}".format(" ".join(cxxflags)))
+ targets.append("FFLAGS={0}".format(" ".join(fflags)))
+
+ targets.append("EXTRA_CXX_FLAGS=")
+ targets.append("EXTRA_FORT_FLAGS=")
+ lapack_blas = spec["lapack"].libs + spec["blas"].libs
+ if spec.satisfies("%gcc"):
+ targets.append("EXTRA_LINK_FLAGS={0} -lgfortran".format(lapack_blas.ld_flags))
else:
- targets.append('EXTRA_LINK_FLAGS={0}'.format(lapack_blas.ld_flags))
+ targets.append("EXTRA_LINK_FLAGS={0}".format(lapack_blas.ld_flags))
return targets
def build(self, spec, prefix):
- if '+cuda' in spec:
- make('-f', 'Makefile.cuda', *self.build_targets)
+ if "+cuda" in spec:
+ make("-f", "Makefile.cuda", *self.build_targets)
else:
- make('-f', 'Makefile', *self.build_targets)
+ make("-f", "Makefile", *self.build_targets)
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('*/sw4lite', prefix.bin)
- install_tree('tests', prefix.tests)
+ install("*/sw4lite", prefix.bin)
+ install_tree("tests", prefix.tests)
diff --git a/var/spack/repos/builtin/packages/swan/package.py b/var/spack/repos/builtin/packages/swan/package.py
index f7c8f7dd21..2f3984eaa6 100644
--- a/var/spack/repos/builtin/packages/swan/package.py
+++ b/var/spack/repos/builtin/packages/swan/package.py
@@ -17,24 +17,24 @@ class Swan(MakefilePackage):
homepage = "http://swanmodel.sourceforge.net/"
url = "https://cfhcable.dl.sourceforge.net/project/swanmodel/swan/41.31/swan4131.tar.gz"
- maintainers = ['lhxone']
+ maintainers = ["lhxone"]
- version('4131', sha256='cd3ba1f0d79123f1b7d42a43169f07575b59b01e604c5e66fbc09769e227432e')
+ version("4131", sha256="cd3ba1f0d79123f1b7d42a43169f07575b59b01e604c5e66fbc09769e227432e")
- depends_on('mpi')
- depends_on('netcdf-fortran')
- depends_on('libfabric')
+ depends_on("mpi")
+ depends_on("netcdf-fortran")
+ depends_on("libfabric")
def edit(self, spec, prefix):
- env['FC'] = 'gfortran'
- m = FileFilter('platform.pl')
- m.filter('F90_MPI = .*', 'F90_MPI = mpifort\\n";')
- m.filter('NETCDFROOT =', 'NETCDFROOT = {0}' + spec['netcdf-fortran'].prefix)
+ env["FC"] = "gfortran"
+ m = FileFilter("platform.pl")
+ m.filter("F90_MPI = .*", 'F90_MPI = mpifort\\n";')
+ m.filter("NETCDFROOT =", "NETCDFROOT = {0}" + spec["netcdf-fortran"].prefix)
def build(self, spec, prefix):
- make('config')
- make('mpi')
+ make("config")
+ make("mpi")
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('*.exe', prefix.bin)
+ install("*.exe", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/swap-assembler/package.py b/var/spack/repos/builtin/packages/swap-assembler/package.py
index 17bb8d75f0..9778a6ecdf 100644
--- a/var/spack/repos/builtin/packages/swap-assembler/package.py
+++ b/var/spack/repos/builtin/packages/swap-assembler/package.py
@@ -10,15 +10,17 @@ class SwapAssembler(MakefilePackage):
"""A scalable and fully parallelized genome assembler."""
homepage = "https://sourceforge.net/projects/swapassembler/"
- url = "https://sourceforge.net/projects/swapassembler/files/SWAP_Assembler-0.4.tar.bz2/download"
+ url = (
+ "https://sourceforge.net/projects/swapassembler/files/SWAP_Assembler-0.4.tar.bz2/download"
+ )
- version('0.4', sha256='45632e25578aacfbacd76df9697cbc798e09ac92284d9c9c07be15e0eb348e0d')
+ version("0.4", sha256="45632e25578aacfbacd76df9697cbc798e09ac92284d9c9c07be15e0eb348e0d")
- depends_on('mpich')
+ depends_on("mpich")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('$(CC) -O2', '$(CC) -pthread -O2', string=True)
+ makefile = FileFilter("Makefile")
+ makefile.filter("$(CC) -O2", "$(CC) -pthread -O2", string=True)
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/swarm/package.py b/var/spack/repos/builtin/packages/swarm/package.py
index d4d405fbc3..9f505b9356 100644
--- a/var/spack/repos/builtin/packages/swarm/package.py
+++ b/var/spack/repos/builtin/packages/swarm/package.py
@@ -10,16 +10,16 @@ class Swarm(MakefilePackage):
"""A robust and fast clustering method for amplicon-based studies."""
homepage = "https://github.com/torognes/swarm"
- url = "https://github.com/torognes/swarm/archive/v2.1.13.tar.gz"
+ url = "https://github.com/torognes/swarm/archive/v2.1.13.tar.gz"
- version('3.0.0', sha256='b63761a9914ebf1fee14befaffd93af9c795b692c006c644d049a6d985b55810')
- version('2.1.13', sha256='ec4b22cc1874ec6d2c89fe98e23a2fb713aec500bc4a784f0556389d22c02650')
+ version("3.0.0", sha256="b63761a9914ebf1fee14befaffd93af9c795b692c006c644d049a6d985b55810")
+ version("2.1.13", sha256="ec4b22cc1874ec6d2c89fe98e23a2fb713aec500bc4a784f0556389d22c02650")
- conflicts('@2.1.13', when='target=aarch64:')
+ conflicts("@2.1.13", when="target=aarch64:")
- build_directory = 'src'
+ build_directory = "src"
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('scripts', prefix.scripts)
- install_tree('man', prefix.share.man)
+ install_tree("bin", prefix.bin)
+ install_tree("scripts", prefix.scripts)
+ install_tree("man", prefix.share.man)
diff --git a/var/spack/repos/builtin/packages/swfft/package.py b/var/spack/repos/builtin/packages/swfft/package.py
index 6a55a5a64f..8951b6049a 100644
--- a/var/spack/repos/builtin/packages/swfft/package.py
+++ b/var/spack/repos/builtin/packages/swfft/package.py
@@ -12,37 +12,37 @@ class Swfft(MakefilePackage):
parallel 3D FFT."""
homepage = "https://xgitlab.cels.anl.gov/hacc/SWFFT"
- url = "https://xgitlab.cels.anl.gov/api/v4/projects/hacc%2FSWFFT/repository/archive.tar.gz?sha=v1.0"
- git = "https://xgitlab.cels.anl.gov/hacc/SWFFT.git"
+ url = "https://xgitlab.cels.anl.gov/api/v4/projects/hacc%2FSWFFT/repository/archive.tar.gz?sha=v1.0"
+ git = "https://xgitlab.cels.anl.gov/hacc/SWFFT.git"
- version('1.0', sha256='d0eba8446a89285e4e43cba787fec6562a360079a99d56f3af5001cc7e66d5dc')
- version('develop', branch='master')
+ version("1.0", sha256="d0eba8446a89285e4e43cba787fec6562a360079a99d56f3af5001cc7e66d5dc")
+ version("develop", branch="master")
- depends_on('mpi')
- depends_on('fftw')
+ depends_on("mpi")
+ depends_on("fftw")
# fix error
# TimingStats.h:94:35: error: 'printf' was not declared in this scope
- patch('include-stdio_h.patch')
+ patch("include-stdio_h.patch")
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
@property
def build_targets(self):
targets = []
spec = self.spec
- targets.append('DFFT_MPI_CC=%s' % spec['mpi'].mpicc)
- targets.append('DFFT_MPI_CXX=%s' % spec['mpi'].mpicxx)
- targets.append('DFFT_MPI_F90=%s' % spec['mpi'].mpifc)
+ targets.append("DFFT_MPI_CC=%s" % spec["mpi"].mpicc)
+ targets.append("DFFT_MPI_CXX=%s" % spec["mpi"].mpicxx)
+ targets.append("DFFT_MPI_F90=%s" % spec["mpi"].mpifc)
- if self.spec.satisfies('%nvhpc'):
+ if self.spec.satisfies("%nvhpc"):
# remove -Wno-deprecated -std=gnu99
- targets.append('DFFT_MPI_CFLAGS=-g -O3 -Wall')
+ targets.append("DFFT_MPI_CFLAGS=-g -O3 -Wall")
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('build/CheckDecomposition', prefix.bin)
- install('build/TestDfft', prefix.bin)
+ install("build/CheckDecomposition", prefix.bin)
+ install("build/TestDfft", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/swftools/package.py b/var/spack/repos/builtin/packages/swftools/package.py
index 10eec879cb..3e5a52b826 100644
--- a/var/spack/repos/builtin/packages/swftools/package.py
+++ b/var/spack/repos/builtin/packages/swftools/package.py
@@ -15,25 +15,27 @@ class Swftools(AutotoolsPackage):
"""
homepage = "http://swftools.org"
- url = "http://swftools.org/swftools-0.9.2.tar.gz"
+ url = "http://swftools.org/swftools-0.9.2.tar.gz"
- version('0.9.2', sha256='bf6891bfc6bf535a1a99a485478f7896ebacbe3bbf545ba551298080a26f01f1')
+ version("0.9.2", sha256="bf6891bfc6bf535a1a99a485478f7896ebacbe3bbf545ba551298080a26f01f1")
- patch('configure.patch')
- patch('swfs_Makefile.in.patch')
- patch('https://aur.archlinux.org/cgit/aur.git/plain/giflib-5.1.patch?h=swftools',
- sha256='6a995dfd674c5954f5b967e3d45d6845a186872fcaa4223d725902fd4d679f1b',
- level=0)
+ patch("configure.patch")
+ patch("swfs_Makefile.in.patch")
+ patch(
+ "https://aur.archlinux.org/cgit/aur.git/plain/giflib-5.1.patch?h=swftools",
+ sha256="6a995dfd674c5954f5b967e3d45d6845a186872fcaa4223d725902fd4d679f1b",
+ level=0,
+ )
# The patches below are needed for swftools to compile on newer GCC
# versions. These are derived from:
# https://aur.archlinux.org/packages/swftools/#comment-839523
- patch('extern.patch', level=0, when='%gcc@10:')
- patch('pointer_compare.patch', level=0, when='%gcc@11:')
-
- depends_on('giflib')
- depends_on('lame')
- depends_on('poppler')
- depends_on('freetype')
- depends_on('jpeg')
- depends_on('fftw')
+ patch("extern.patch", level=0, when="%gcc@10:")
+ patch("pointer_compare.patch", level=0, when="%gcc@11:")
+
+ depends_on("giflib")
+ depends_on("lame")
+ depends_on("poppler")
+ depends_on("freetype")
+ depends_on("jpeg")
+ depends_on("fftw")
diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py
index 2bfaed3552..fe1a223ad8 100644
--- a/var/spack/repos/builtin/packages/swiftsim/package.py
+++ b/var/spack/repos/builtin/packages/swiftsim/package.py
@@ -14,39 +14,38 @@ class Swiftsim(AutotoolsPackage):
particle based simulations.
"""
- homepage = 'http://icc.dur.ac.uk/swift/'
- url = 'https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.9.0'
+ homepage = "http://icc.dur.ac.uk/swift/"
+ url = "https://gitlab.cosma.dur.ac.uk/api/v4/projects/swift%2Fswiftsim/repository/archive.tar.gz?sha=v0.9.0"
- version('0.9.0', sha256='5b4477289c165838c3823ef47a2a94eff7129927babbf5eb8785f8e4bf686117')
- version('0.7.0', sha256='d570e83e1038eb31bc7ae95d1903a2371fffbca90d08f60b6b32bb0fd8a6f516')
- version('0.3.0', sha256='dd26075315cb2754dc1292e8d838bbb83739cff7f068a98319b80b9c2b0f84bc')
+ version("0.9.0", sha256="5b4477289c165838c3823ef47a2a94eff7129927babbf5eb8785f8e4bf686117")
+ version("0.7.0", sha256="d570e83e1038eb31bc7ae95d1903a2371fffbca90d08f60b6b32bb0fd8a6f516")
+ version("0.3.0", sha256="dd26075315cb2754dc1292e8d838bbb83739cff7f068a98319b80b9c2b0f84bc")
- variant('mpi', default=True,
- description='Enable distributed memory parallelism')
+ variant("mpi", default=True, description="Enable distributed memory parallelism")
# Build dependencies
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
# link-time / run-time dependencies
# gsl is optional, but strong compiler settings choke on function without retval:
- depends_on('gsl')
- depends_on('mpi', when='+mpi')
- depends_on('metis')
- depends_on('hdf5~mpi', when='~mpi')
- depends_on('hdf5+mpi', when='+mpi')
+ depends_on("gsl")
+ depends_on("mpi", when="+mpi")
+ depends_on("metis")
+ depends_on("hdf5~mpi", when="~mpi")
+ depends_on("hdf5+mpi", when="+mpi")
def setup_build_environment(self, env):
# Needed to be able to download from the Durham gitlab repository
tty.warn('Setting "GIT_SSL_NO_VERIFY=1"')
- tty.warn('This is needed to clone SWIFT repository')
- env.set('GIT_SSL_NO_VERIFY', 1)
+ tty.warn("This is needed to clone SWIFT repository")
+ env.set("GIT_SSL_NO_VERIFY", 1)
def configure_args(self):
return [
- '--enable-mpi' if '+mpi' in self.spec else '--disable-mpi',
- '--with-metis={0}'.format(self.spec['metis'].prefix),
- '--disable-dependency-tracking',
- '--enable-optimization',
- '--enable-compiler-warnings=yes',
+ "--enable-mpi" if "+mpi" in self.spec else "--disable-mpi",
+ "--with-metis={0}".format(self.spec["metis"].prefix),
+ "--disable-dependency-tracking",
+ "--enable-optimization",
+ "--enable-compiler-warnings=yes",
]
diff --git a/var/spack/repos/builtin/packages/swig/package.py b/var/spack/repos/builtin/packages/swig/package.py
index 30c00eb7c0..92334e342b 100644
--- a/var/spack/repos/builtin/packages/swig/package.py
+++ b/var/spack/repos/builtin/packages/swig/package.py
@@ -10,88 +10,96 @@ from spack.package import *
class Swig(AutotoolsPackage, SourceforgePackage):
"""SWIG is an interface compiler that connects programs written in
- C and C++ with scripting languages such as Perl, Python, Ruby,
- and Tcl. It works by taking the declarations found in C/C++
- header files and using them to generate the wrapper code that
- scripting languages need to access the underlying C/C++
- code. In addition, SWIG provides a variety of customization
- features that let you tailor the wrapping process to suit your
- application."""
+ C and C++ with scripting languages such as Perl, Python, Ruby,
+ and Tcl. It works by taking the declarations found in C/C++
+ header files and using them to generate the wrapper code that
+ scripting languages need to access the underlying C/C++
+ code. In addition, SWIG provides a variety of customization
+ features that let you tailor the wrapping process to suit your
+ application."""
homepage = "http://www.swig.org"
sourceforge_mirror_path = "swig/swig-3.0.12.tar.gz"
- maintainers = ['sethrj']
-
- tags = ['e4s']
-
- version('master', git='https://github.com/swig/swig.git')
- version('4.0.2', sha256='d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc',
- preferred=True)
- version('4.0.1', sha256='7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9')
- version('4.0.0', sha256='e8a39cd6437e342cdcbd5af27a9bf11b62dc9efec9248065debcb8276fcbb925')
- version('3.0.12', sha256='7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d')
- version('3.0.11', sha256='d9031d531d7418829a54d0d51c4ed9007016b213657ec70be44031951810566e')
- version('3.0.10', sha256='2939aae39dec06095462f1b95ce1c958ac80d07b926e48871046d17c0094f44c')
- version('3.0.8', sha256='58a475dbbd4a4d7075e5fe86d4e54c9edde39847cdb96a3053d87cb64a23a453')
- version('3.0.2', sha256='a2669657cabcedc371f63c0457407a183e0b6b2ef4e7e303c1ec9a3964cc7813')
- version('2.0.12', sha256='65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7')
- version('2.0.2', sha256='6e6b5e8db2bbf2761ff789a3109e4f12ca664ec178d3a164ed0dc273d346c11f')
- version('1.3.40', sha256='1945b3693bcda6777bd05fef1015a0ad1a4604cde4a4a0a368b61ccfd143ac09')
- version('fortran', branch='master',
- git='https://github.com/swig-fortran/swig.git')
- version('4.0.2-fortran', sha256='2d65ebe82274da294709254703f9ac2333fd39286b9375b0d89182385aac548e',
- url='https://github.com/swig-fortran/swig/archive/v4.0.2+fortran.tar.gz')
-
- depends_on('pcre')
-
- _autoconf_versions = ['@master', '@fortran', '@4.0.2-fortran']
+ maintainers = ["sethrj"]
+
+ tags = ["e4s"]
+
+ version("master", git="https://github.com/swig/swig.git")
+ version(
+ "4.0.2",
+ sha256="d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc",
+ preferred=True,
+ )
+ version("4.0.1", sha256="7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9")
+ version("4.0.0", sha256="e8a39cd6437e342cdcbd5af27a9bf11b62dc9efec9248065debcb8276fcbb925")
+ version("3.0.12", sha256="7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d")
+ version("3.0.11", sha256="d9031d531d7418829a54d0d51c4ed9007016b213657ec70be44031951810566e")
+ version("3.0.10", sha256="2939aae39dec06095462f1b95ce1c958ac80d07b926e48871046d17c0094f44c")
+ version("3.0.8", sha256="58a475dbbd4a4d7075e5fe86d4e54c9edde39847cdb96a3053d87cb64a23a453")
+ version("3.0.2", sha256="a2669657cabcedc371f63c0457407a183e0b6b2ef4e7e303c1ec9a3964cc7813")
+ version("2.0.12", sha256="65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7")
+ version("2.0.2", sha256="6e6b5e8db2bbf2761ff789a3109e4f12ca664ec178d3a164ed0dc273d346c11f")
+ version("1.3.40", sha256="1945b3693bcda6777bd05fef1015a0ad1a4604cde4a4a0a368b61ccfd143ac09")
+ version("fortran", branch="master", git="https://github.com/swig-fortran/swig.git")
+ version(
+ "4.0.2-fortran",
+ sha256="2d65ebe82274da294709254703f9ac2333fd39286b9375b0d89182385aac548e",
+ url="https://github.com/swig-fortran/swig/archive/v4.0.2+fortran.tar.gz",
+ )
+
+ depends_on("pcre")
+
+ _autoconf_versions = ["@master", "@fortran", "@4.0.2-fortran"]
# Git releases do *not* include configure script
for _version in _autoconf_versions:
- depends_on('autoconf', type='build', when=_version)
- depends_on('automake', type='build', when=_version)
- depends_on('libtool', type='build', when=_version)
- depends_on('yacc', type='build', when=_version)
+ depends_on("autoconf", type="build", when=_version)
+ depends_on("automake", type="build", when=_version)
+ depends_on("libtool", type="build", when=_version)
+ depends_on("yacc", type="build", when=_version)
# Need newer 'automake' to support newer platforms
- for _target in ['ppc64le', 'aarch64']:
- depends_on('automake@1.15:', type='build', when='target={0}:'.format(_target))
- depends_on('pkgconfig', type='build')
+ for _target in ["ppc64le", "aarch64"]:
+ depends_on("automake@1.15:", type="build", when="target={0}:".format(_target))
+ depends_on("pkgconfig", type="build")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- conflicts('%nvhpc', when='@:4.0.2')
+ conflicts("%nvhpc", when="@:4.0.2")
- @run_after('install')
+ @run_after("install")
def create_symlink(self):
# CMake compatibility: see https://github.com/spack/spack/pull/6240
with working_dir(self.prefix.bin):
- os.symlink('swig', 'swig{0}'.format(self.spec.version.up_to(2)))
+ os.symlink("swig", "swig{0}".format(self.spec.version.up_to(2)))
for _version in _autoconf_versions:
+
@when(_version)
def autoreconf(self, spec, prefix):
- which('sh')('./autogen.sh')
+ which("sh")("./autogen.sh")
@property
def _installed_exe(self):
- return join_path(self.prefix, 'bin', 'swig')
+ return join_path(self.prefix, "bin", "swig")
def _test_version(self):
version = str(self.version)
- if version.endswith('-fortran'):
- version = version.replace('-', r'\+')
- elif version in ('fortran', 'master'):
- version = r'.*'
-
- self.run_test(self._installed_exe,
- '-version',
- expected=[r'SWIG Version {0}'.format(version)],
- purpose="test: version")
+ if version.endswith("-fortran"):
+ version = version.replace("-", r"\+")
+ elif version in ("fortran", "master"):
+ version = r".*"
+
+ self.run_test(
+ self._installed_exe,
+ "-version",
+ expected=[r"SWIG Version {0}".format(version)],
+ purpose="test: version",
+ )
def _test_swiglib(self):
# Get SWIG's alleged path to library files
swig = Executable(self._installed_exe)
- swiglib = swig('-swiglib', output=str).strip()
+ swiglib = swig("-swiglib", output=str).strip()
# Check that the lib dir exists
if not os.path.isdir(swiglib):
@@ -99,15 +107,14 @@ class Swig(AutotoolsPackage, SourceforgePackage):
self.test_failures.append([None, msg])
# Check for existence of other critical SWIG library files
- swigfile = join_path(swiglib, 'swig.swg')
+ swigfile = join_path(swiglib, "swig.swg")
if not os.path.exists(swigfile):
msg = "SWIG runtime does not exist at '{0}'".format(swigfile)
self.test_failures.append([None, msg])
- if 'fortran' in str(self.version):
- swigfile = join_path(swiglib, 'fortran', 'fortran.swg')
+ if "fortran" in str(self.version):
+ swigfile = join_path(swiglib, "fortran", "fortran.swg")
if not os.path.exists(swigfile):
- msg = "SWIG+Fortran runtime does not exist at '{0}'".format(
- swigfile)
+ msg = "SWIG+Fortran runtime does not exist at '{0}'".format(swigfile)
self.test_failures.append([None, msg])
def test(self):
diff --git a/var/spack/repos/builtin/packages/swipl/package.py b/var/spack/repos/builtin/packages/swipl/package.py
index 2b3be29fd2..3a2ccb2c91 100644
--- a/var/spack/repos/builtin/packages/swipl/package.py
+++ b/var/spack/repos/builtin/packages/swipl/package.py
@@ -7,7 +7,7 @@ from spack.package import *
class Swipl(CMakePackage):
- """ SWI-Prolog is a versatile implementation of the Prolog language.
+ """SWI-Prolog is a versatile implementation of the Prolog language.
Although SWI-Prolog gained its popularity primarily in education,
its development is mostly driven by the needs for application development.
This is facilitated by a rich interface to other IT components by
@@ -20,58 +20,58 @@ class Swipl(CMakePackage):
with other components."""
homepage = "https://www.swi-prolog.org"
- url = "https://www.swi-prolog.org/download/stable/src/swipl-8.0.3.tar.gz"
+ url = "https://www.swi-prolog.org/download/stable/src/swipl-8.0.3.tar.gz"
- maintainers = ['alexrobomind']
+ maintainers = ["alexrobomind"]
- version('8.2.0', sha256='d8c9f3adb9cd997a5fed7b5f5dbfe971d2defda969b9066ada158e4202c09c3c')
- version('8.0.3', sha256='cee59c0a477c8166d722703f6e52f962028f3ac43a5f41240ecb45dbdbe2d6ae')
+ version("8.2.0", sha256="d8c9f3adb9cd997a5fed7b5f5dbfe971d2defda969b9066ada158e4202c09c3c")
+ version("8.0.3", sha256="cee59c0a477c8166d722703f6e52f962028f3ac43a5f41240ecb45dbdbe2d6ae")
- variant('gmp', default=True, description='bignum and rational number support')
- variant('xpce', default=True, description='GUI support')
- variant('ssl', default=True, description='SSL support')
- variant('zlib', default=True, description='Compressed streams support')
- variant('odbc', default=True, description='ODBC database access')
- variant('unwind', default=True, description='Build with stack traces in crash reports')
- variant('html', default=True, description='Install the HTML documentation')
- variant('pdfdoc', default=False, description='Build the PDF documentation')
+ variant("gmp", default=True, description="bignum and rational number support")
+ variant("xpce", default=True, description="GUI support")
+ variant("ssl", default=True, description="SSL support")
+ variant("zlib", default=True, description="Compressed streams support")
+ variant("odbc", default=True, description="ODBC database access")
+ variant("unwind", default=True, description="Build with stack traces in crash reports")
+ variant("html", default=True, description="Install the HTML documentation")
+ variant("pdfdoc", default=False, description="Build the PDF documentation")
- depends_on('uuid')
- depends_on('readline')
+ depends_on("uuid")
+ depends_on("readline")
- depends_on('libarchive', when='+html')
+ depends_on("libarchive", when="+html")
- depends_on('gmp', when='+gmp')
- depends_on('unwind', when='+unwind')
- depends_on('unixodbc', when='+odbc')
- depends_on('openssl', when='+ssl')
- depends_on('zlib', when='+zlib')
+ depends_on("gmp", when="+gmp")
+ depends_on("unwind", when="+unwind")
+ depends_on("unixodbc", when="+odbc")
+ depends_on("openssl", when="+ssl")
+ depends_on("zlib", when="+zlib")
- depends_on('libxt', when='+xpce')
- depends_on('libx11', when='+xpce')
- depends_on('libjpeg', when='+xpce')
- depends_on('libxpm', when='+xpce')
+ depends_on("libxt", when="+xpce")
+ depends_on("libx11", when="+xpce")
+ depends_on("libjpeg", when="+xpce")
+ depends_on("libxpm", when="+xpce")
- depends_on('libxft', when='+xpce')
- depends_on('fontconfig', when='+xpce')
- depends_on('pkgconfig', when='+xpce', type='build')
+ depends_on("libxft", when="+xpce")
+ depends_on("fontconfig", when="+xpce")
+ depends_on("pkgconfig", when="+xpce", type="build")
- conflicts('%intel', msg='Test builds with ICC failed when creating startup image')
+ conflicts("%intel", msg="Test builds with ICC failed when creating startup image")
def cmake_args(self):
args = []
def append_switch(variant, cmake_flag):
- val = 'ON' if variant in self.spec else 'OFF'
+ val = "ON" if variant in self.spec else "OFF"
- flagdef = '-D' + cmake_flag + ':BOOL=' + val
+ flagdef = "-D" + cmake_flag + ":BOOL=" + val
args.append(flagdef)
- append_switch('+gmp', 'USE_GMP')
- append_switch('+xpce', 'SWIPL_PACKAGES_X')
- append_switch('+odbc', 'SWIPL_PACKAGES_ODBC')
- append_switch('+html', 'INSTALL_DOCUMENTATION')
- append_switch('+pdfdoc', 'BUILD_PDF_DOCUMENTATION')
+ append_switch("+gmp", "USE_GMP")
+ append_switch("+xpce", "SWIPL_PACKAGES_X")
+ append_switch("+odbc", "SWIPL_PACKAGES_ODBC")
+ append_switch("+html", "INSTALL_DOCUMENTATION")
+ append_switch("+pdfdoc", "BUILD_PDF_DOCUMENTATION")
# The variants ssl and zlib are implicitly set up by CMake
diff --git a/var/spack/repos/builtin/packages/symengine/package.py b/var/spack/repos/builtin/packages/symengine/package.py
index 28ecc89bce..ae927c88ba 100644
--- a/var/spack/repos/builtin/packages/symengine/package.py
+++ b/var/spack/repos/builtin/packages/symengine/package.py
@@ -13,58 +13,54 @@ class Symengine(CMakePackage):
"""SymEngine is a fast symbolic manipulation library, written in C++."""
homepage = "https://symengine.org"
- url = "https://github.com/symengine/symengine/archive/v0.2.0.tar.gz"
- git = "https://github.com/symengine/symengine.git"
- maintainers = ['HaoZeke', 'jppelteret']
+ url = "https://github.com/symengine/symengine/archive/v0.2.0.tar.gz"
+ git = "https://github.com/symengine/symengine.git"
+ maintainers = ["HaoZeke", "jppelteret"]
- version('master', branch='master')
- version('0.9.0', sha256='dcf174ac708ed2acea46691f6e78b9eb946d8a2ba62f75e87cf3bf4f0d651724')
- version('0.8.1', sha256='41eb6ae6901c09e53d7f61f0758f9201e81fc534bfeecd4b2bd4b4e6f6768693')
- version('0.7.0', sha256='8b865bb72b71539d9cd2488a0468c6c3ea90cc606062a7880c3ff5af6abd74b1')
- version('0.6.0', sha256='4d2caa86c03eaaa8ed004084d02f87b5c51b6229f8ba70d161227e22d6302f0a')
- version('0.5.0', sha256='5d02002f00d16a0928d1056e6ecb8f34fd59f3bfd8ed0009a55700334dbae29b')
- version('0.4.0', sha256='dd755901a9e2a49e53ba3bbe3f565f94265af05299e57a7b592186dd35916a1b')
- version('0.3.0', sha256='591463cb9e741d59f6dfd39a7943e3865d3afe9eac47d1a9cbf5ca74b9c49476')
- version('0.2.0', sha256='64d050b0b9decd12bf4ea3b7d18d3904dd7cb8baaae9fbac1b8068e3c59709be')
- version('0.1.0', sha256='daba3ba0ae91983a772f66bf755b1953c354fe6dc353588b23705d9a79b011fc')
+ version("master", branch="master")
+ version("0.9.0", sha256="dcf174ac708ed2acea46691f6e78b9eb946d8a2ba62f75e87cf3bf4f0d651724")
+ version("0.8.1", sha256="41eb6ae6901c09e53d7f61f0758f9201e81fc534bfeecd4b2bd4b4e6f6768693")
+ version("0.7.0", sha256="8b865bb72b71539d9cd2488a0468c6c3ea90cc606062a7880c3ff5af6abd74b1")
+ version("0.6.0", sha256="4d2caa86c03eaaa8ed004084d02f87b5c51b6229f8ba70d161227e22d6302f0a")
+ version("0.5.0", sha256="5d02002f00d16a0928d1056e6ecb8f34fd59f3bfd8ed0009a55700334dbae29b")
+ version("0.4.0", sha256="dd755901a9e2a49e53ba3bbe3f565f94265af05299e57a7b592186dd35916a1b")
+ version("0.3.0", sha256="591463cb9e741d59f6dfd39a7943e3865d3afe9eac47d1a9cbf5ca74b9c49476")
+ version("0.2.0", sha256="64d050b0b9decd12bf4ea3b7d18d3904dd7cb8baaae9fbac1b8068e3c59709be")
+ version("0.1.0", sha256="daba3ba0ae91983a772f66bf755b1953c354fe6dc353588b23705d9a79b011fc")
- variant('boostmp', default=False,
- description='Compile with Boost multi-precision integer library')
- variant('flint', default=False,
- description='Compile with Flint integer library')
- variant('llvm', default=False,
- description='Compile with LLVM JIT compiler support')
- variant('mpc', default=True,
- description='Compile with MPC library')
- variant('mpfr', default=True,
- description='Compile with MPFR library')
- variant('openmp', default=False,
- description='Enable OpenMP support')
- variant('piranha', default=False,
- description='Compile with Piranha integer library')
- variant('thread_safe', default=True,
- description='Enable thread safety option')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant(
+ "boostmp", default=False, description="Compile with Boost multi-precision integer library"
+ )
+ variant("flint", default=False, description="Compile with Flint integer library")
+ variant("llvm", default=False, description="Compile with LLVM JIT compiler support")
+ variant("mpc", default=True, description="Compile with MPC library")
+ variant("mpfr", default=True, description="Compile with MPFR library")
+ variant("openmp", default=False, description="Enable OpenMP support")
+ variant("piranha", default=False, description="Compile with Piranha integer library")
+ variant("thread_safe", default=True, description="Enable thread safety option")
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
# NOTE: mpir is a drop-in replacement for gmp
# NOTE: [mpc,mpfr,flint,piranha] could also be built against mpir
- depends_on('boost', when='+boostmp')
+ depends_on("boost", when="+boostmp")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+boostmp')
- depends_on('cereal', when='@0.9:')
- depends_on('gmp', when='~boostmp')
- depends_on('llvm', when='+llvm')
- depends_on('mpc', when='+mpc~boostmp')
- depends_on('mpfr', when='+mpfr~boostmp')
- depends_on('flint', when='+flint~boostmp')
- depends_on('piranha', when='+piranha~flint~boostmp')
+ depends_on(Boost.with_default_variants, when="+boostmp")
+ depends_on("cereal", when="@0.9:")
+ depends_on("gmp", when="~boostmp")
+ depends_on("llvm", when="+llvm")
+ depends_on("mpc", when="+mpc~boostmp")
+ depends_on("mpfr", when="+mpfr~boostmp")
+ depends_on("flint", when="+flint~boostmp")
+ depends_on("piranha", when="+piranha~flint~boostmp")
def cmake_args(self):
spec = self.spec
@@ -72,53 +68,47 @@ class Symengine(CMakePackage):
# See https://github.com/symengine/symengine/blob/master/README.md
# for build options
- options.extend([
- '-DWITH_SYMENGINE_RCP:BOOL=ON',
- '-DWITH_SYMENGINE_THREAD_SAFE:BOOL=%s' % (
- 'ON' if ('+thread_safe' or '+openmp') in spec else 'OFF'),
- self.define('BUILD_TESTS', self.run_tests),
- '-DBUILD_BENCHMARKS:BOOL=ON',
- self.define_from_variant('WITH_LLVM', 'llvm'),
- self.define_from_variant('WITH_OPENMP', 'openmp'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- ])
+ options.extend(
+ [
+ "-DWITH_SYMENGINE_RCP:BOOL=ON",
+ "-DWITH_SYMENGINE_THREAD_SAFE:BOOL=%s"
+ % ("ON" if ("+thread_safe" or "+openmp") in spec else "OFF"),
+ self.define("BUILD_TESTS", self.run_tests),
+ "-DBUILD_BENCHMARKS:BOOL=ON",
+ self.define_from_variant("WITH_LLVM", "llvm"),
+ self.define_from_variant("WITH_OPENMP", "openmp"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ ]
+ )
- if sys.platform == 'darwin':
- options.extend([
- '-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=on'
- ])
+ if sys.platform == "darwin":
+ options.extend(["-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=on"])
# The use of the Cereal serialization library is a hard dependency
- if spec.satisfies('@0.9:'):
- options.extend([
- '-DWITH_SYSTEM_CEREAL:BOOL=on'
- ])
+ if spec.satisfies("@0.9:"):
+ options.extend(["-DWITH_SYSTEM_CEREAL:BOOL=on"])
- if '+boostmp' in spec:
- options.extend([
- '-DINTEGER_CLASS:STRING=boostmp',
- '-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
- '-DWITH_MPC:BOOL=OFF',
- '-DWITH_MPFR:BOOL=OFF',
- ])
+ if "+boostmp" in spec:
+ options.extend(
+ [
+ "-DINTEGER_CLASS:STRING=boostmp",
+ "-DBoost_INCLUDE_DIR=%s" % spec["boost"].prefix.include,
+ "-DWITH_MPC:BOOL=OFF",
+ "-DWITH_MPFR:BOOL=OFF",
+ ]
+ )
else:
- options.extend([
- self.define_from_variant('WITH_MPC', 'mpc'),
- self.define_from_variant('WITH_MPFR', 'mpfr'),
- ])
- if '+flint' in spec:
- options.extend([
- '-DWITH_FLINT:BOOL=ON',
- '-DINTEGER_CLASS:STRING=flint'
- ])
- elif '+piranha' in spec:
- options.extend([
- '-DWITH_PIRANHA:BOOL=ON',
- '-DINTEGER_CLASS:STRING=piranha'
- ])
+ options.extend(
+ [
+ self.define_from_variant("WITH_MPC", "mpc"),
+ self.define_from_variant("WITH_MPFR", "mpfr"),
+ ]
+ )
+ if "+flint" in spec:
+ options.extend(["-DWITH_FLINT:BOOL=ON", "-DINTEGER_CLASS:STRING=flint"])
+ elif "+piranha" in spec:
+ options.extend(["-DWITH_PIRANHA:BOOL=ON", "-DINTEGER_CLASS:STRING=piranha"])
else:
- options.extend([
- '-DINTEGER_CLASS:STRING=gmp'
- ])
+ options.extend(["-DINTEGER_CLASS:STRING=gmp"])
return options
diff --git a/var/spack/repos/builtin/packages/symlinks/package.py b/var/spack/repos/builtin/packages/symlinks/package.py
index 88d0ba511b..ea6d2e89ce 100644
--- a/var/spack/repos/builtin/packages/symlinks/package.py
+++ b/var/spack/repos/builtin/packages/symlinks/package.py
@@ -10,15 +10,15 @@ class Symlinks(MakefilePackage):
"""Scan or change symbolic links."""
homepage = "https://ibiblio.org/pub/Linux/utils/file"
- url = "https://ibiblio.org/pub/Linux/utils/file/symlinks-1.4.tar.gz"
+ url = "https://ibiblio.org/pub/Linux/utils/file/symlinks-1.4.tar.gz"
- version('1.4', sha256='b0bb689dd0a2c46d9a7dd111b053707aba7b9cf29c4f0bad32984b14bdbe0399')
+ version("1.4", sha256="b0bb689dd0a2c46d9a7dd111b053707aba7b9cf29c4f0bad32984b14bdbe0399")
def edit(self, spec, prefix):
- filter_file('/usr/local', prefix, 'Makefile', string=True)
- filter_file('-o root -g root', '', 'Makefile')
+ filter_file("/usr/local", prefix, "Makefile", string=True)
+ filter_file("-o root -g root", "", "Makefile")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man8)
- make('install')
+ make("install")
diff --git a/var/spack/repos/builtin/packages/sympol/package.py b/var/spack/repos/builtin/packages/sympol/package.py
index c5df2f2da9..44f7917cd4 100644
--- a/var/spack/repos/builtin/packages/sympol/package.py
+++ b/var/spack/repos/builtin/packages/sympol/package.py
@@ -10,15 +10,16 @@ from spack.pkg.builtin.boost import Boost
class Sympol(CMakePackage):
"""SymPol is a C++ tool to work with symmetric polyhedra"""
+
homepage = "https://www.math.uni-rostock.de/~rehn/software/sympol.html"
- url = "https://www.math.uni-rostock.de/~rehn/software/sympol-0.1.8.tar.gz"
+ url = "https://www.math.uni-rostock.de/~rehn/software/sympol-0.1.8.tar.gz"
- version('0.1.8', sha256='8f4c013fa563e696fc8c27c408fd1f3d47783639815e8141e3a99826f1f3d54f')
+ version("0.1.8", sha256="8f4c013fa563e696fc8c27c408fd1f3d47783639815e8141e3a99826f1f3d54f")
depends_on("cmake@2.6:", type="build")
depends_on("bliss")
- depends_on('boost+math+program_options+test')
+ depends_on("boost+math+program_options+test")
depends_on(Boost.with_default_variants)
depends_on("gmp")
depends_on("lrslib")
diff --git a/var/spack/repos/builtin/packages/sys-sage/package.py b/var/spack/repos/builtin/packages/sys-sage/package.py
index 35ee51a060..ebde78a80f 100644
--- a/var/spack/repos/builtin/packages/sys-sage/package.py
+++ b/var/spack/repos/builtin/packages/sys-sage/package.py
@@ -11,13 +11,15 @@ class SysSage(CMakePackage):
"""A library for capturing hadrware topology and attributes of compute systems."""
homepage = "https://github.com/stepanvanecek/sys-sage"
- url = "https://github.com/stepanvanecek/sys-sage/archive/refs/tags/v0.1.1-alpha.2.tar.gz"
- git = "https://github.com/stepanvanecek/sys-sage.git"
+ url = "https://github.com/stepanvanecek/sys-sage/archive/refs/tags/v0.1.1-alpha.2.tar.gz"
+ git = "https://github.com/stepanvanecek/sys-sage.git"
- maintainers = ['stepanvanecek']
+ maintainers = ["stepanvanecek"]
- version('master', branch='master')
- version('0.1.1-alpha.2', sha256='991a77cf37b061a911c8566fd4486f914de4f4c8cdf39112ec8a32903450c178')
+ version("master", branch="master")
+ version(
+ "0.1.1-alpha.2", sha256="991a77cf37b061a911c8566fd4486f914de4f4c8cdf39112ec8a32903450c178"
+ )
- depends_on('cmake@3.21:', type='build')
- depends_on('libxml2@2.9.13:')
+ depends_on("cmake@3.21:", type="build")
+ depends_on("libxml2@2.9.13:")
diff --git a/var/spack/repos/builtin/packages/sysbench/package.py b/var/spack/repos/builtin/packages/sysbench/package.py
index b69af52fac..7d603c7435 100644
--- a/var/spack/repos/builtin/packages/sysbench/package.py
+++ b/var/spack/repos/builtin/packages/sysbench/package.py
@@ -10,14 +10,14 @@ class Sysbench(AutotoolsPackage):
"""Scriptable database and system performance benchmark."""
homepage = "https://github.com/akopytov/sysbench"
- url = "https://github.com/akopytov/sysbench/archive/1.0.20.tar.gz"
+ url = "https://github.com/akopytov/sysbench/archive/1.0.20.tar.gz"
- version('1.0.20', sha256='e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f')
- version('1.0.19', sha256='39cde56b58754d97b2fe6a1688ffc0e888d80c262cf66daee19acfb2997f9bdd')
- version('1.0.18', sha256='c679b285e633c819d637bdafaeacc1bec13f37da5b3357c7e17d97a71bf28cb1')
+ version("1.0.20", sha256="e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f")
+ version("1.0.19", sha256="39cde56b58754d97b2fe6a1688ffc0e888d80c262cf66daee19acfb2997f9bdd")
+ version("1.0.18", sha256="c679b285e633c819d637bdafaeacc1bec13f37da5b3357c7e17d97a71bf28cb1")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mysql-client')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mysql-client")
diff --git a/var/spack/repos/builtin/packages/syscalc/package.py b/var/spack/repos/builtin/packages/syscalc/package.py
index 3cf6bd5739..23f599f152 100644
--- a/var/spack/repos/builtin/packages/syscalc/package.py
+++ b/var/spack/repos/builtin/packages/syscalc/package.py
@@ -7,32 +7,35 @@ from spack.package import *
class Syscalc(MakefilePackage):
- """ A tool to derive theoretical systematic uncertainties"""
+ """A tool to derive theoretical systematic uncertainties"""
homepage = "https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/SysCalc"
- url = "https://bazaar.launchpad.net/~mgtools/mg5amcnlo/SysCalc/tarball/17"
+ url = "https://bazaar.launchpad.net/~mgtools/mg5amcnlo/SysCalc/tarball/17"
- version('1.1.7', sha256='ac73df0f9f195eb62601fafc2eede3db17a562750f7971616870d6df4abd1b6c',
- url='https://bazaar.launchpad.net/~mgtools/mg5amcnlo/SysCalc/tarball/17',
- extension='.tgz')
+ version(
+ "1.1.7",
+ sha256="ac73df0f9f195eb62601fafc2eede3db17a562750f7971616870d6df4abd1b6c",
+ url="https://bazaar.launchpad.net/~mgtools/mg5amcnlo/SysCalc/tarball/17",
+ extension=".tgz",
+ )
- tags = ['hep']
+ tags = ["hep"]
- depends_on('lhapdf@6:')
+ depends_on("lhapdf@6:")
def url_for_version(self, version):
- url = self.url.rsplit('/', 1)[0]
- url += '/SysCalc_V{0}.tar.gz'
+ url = self.url.rsplit("/", 1)[0]
+ url += "/SysCalc_V{0}.tar.gz"
url = url.format(version)
return url
def build(self, spec, prefix):
- with working_dir('mg5amcnlo/SysCalc'):
- make('all')
+ with working_dir("mg5amcnlo/SysCalc"):
+ make("all")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('mg5amcnlo/SysCalc'):
- install('sys_calc', prefix.bin)
- install_tree('include', prefix.include)
+ with working_dir("mg5amcnlo/SysCalc"):
+ install("sys_calc", prefix.bin)
+ install_tree("include", prefix.include)
diff --git a/var/spack/repos/builtin/packages/sysfsutils/package.py b/var/spack/repos/builtin/packages/sysfsutils/package.py
index 8ba56d1d91..a4d032401d 100644
--- a/var/spack/repos/builtin/packages/sysfsutils/package.py
+++ b/var/spack/repos/builtin/packages/sysfsutils/package.py
@@ -15,13 +15,13 @@ class Sysfsutils(AutotoolsPackage):
and their attributes."""
homepage = "https://github.com/linux-ras/sysfsutils/"
- url = "https://github.com/linux-ras/sysfsutils/archive/sysfsutils_0_5.tar.gz"
+ url = "https://github.com/linux-ras/sysfsutils/archive/sysfsutils_0_5.tar.gz"
- version('0_5', sha256='6878c8a4281e7de52e57b40fe543b1b4e01d6fbce4ffd45a36e5fc25e376746f')
- version('0_4_0', sha256='9c78edb118c6bd962e04558ddb2df46d456273284fe3f23bb930dc287225aea5')
- version('0_3_0', sha256='f10250aa09513d245cb4ed61ac0dbfd7dfb2e7810bcd8804a07b3fe18f08a74a')
+ version("0_5", sha256="6878c8a4281e7de52e57b40fe543b1b4e01d6fbce4ffd45a36e5fc25e376746f")
+ version("0_4_0", sha256="9c78edb118c6bd962e04558ddb2df46d456273284fe3f23bb930dc287225aea5")
+ version("0_3_0", sha256="f10250aa09513d245cb4ed61ac0dbfd7dfb2e7810bcd8804a07b3fe18f08a74a")
- @when('target=aarch64:')
+ @when("target=aarch64:")
def configure_args(self):
- args = ['--build=arm-linux']
+ args = ["--build=arm-linux"]
return args
diff --git a/var/spack/repos/builtin/packages/sysget/package.py b/var/spack/repos/builtin/packages/sysget/package.py
index 4a7e094dec..38cd3ac232 100644
--- a/var/spack/repos/builtin/packages/sysget/package.py
+++ b/var/spack/repos/builtin/packages/sysget/package.py
@@ -10,27 +10,27 @@ from spack.package import *
class Sysget(MakefilePackage):
"""sysget is a bridge that lets you use one syntax to every
- package manager on every unix-based operating system."""
+ package manager on every unix-based operating system."""
homepage = "https://github.com/emilengler/sysget"
- url = "https://github.com/emilengler/sysget/archive/v2.3.tar.gz"
+ url = "https://github.com/emilengler/sysget/archive/v2.3.tar.gz"
- version('2.3', sha256='bba647bfd7093d18ee2b471a79f0cc50d84846aa3a04d790244acfefded79477')
- version('2.2', sha256='8f55ee8402d6de3cc16fa0577148b484e35da6688ad5f3ee3e9c1be04c88863a')
- version('2.1', sha256='0590aaae10494ca76c6749264925feb0e40b6e4b3822a8a4d148761addcb66c1')
+ version("2.3", sha256="bba647bfd7093d18ee2b471a79f0cc50d84846aa3a04d790244acfefded79477")
+ version("2.2", sha256="8f55ee8402d6de3cc16fa0577148b484e35da6688ad5f3ee3e9c1be04c88863a")
+ version("2.1", sha256="0590aaae10494ca76c6749264925feb0e40b6e4b3822a8a4d148761addcb66c1")
def edit(self, spec, prefix):
- if os.path.exists('Makefile'):
- makefile = FileFilter('Makefile')
- elif os.path.exists('makefile'):
- makefile = FileFilter('makefile')
+ if os.path.exists("Makefile"):
+ makefile = FileFilter("Makefile")
+ elif os.path.exists("makefile"):
+ makefile = FileFilter("makefile")
- makefile.filter(r'/usr/local/bin', self.prefix.bin)
- makefile.filter(r'/usr/local/man', self.prefix.man)
- makefile.filter(r'/etc', self.prefix.etc)
+ makefile.filter(r"/usr/local/bin", self.prefix.bin)
+ makefile.filter(r"/usr/local/man", self.prefix.man)
+ makefile.filter(r"/etc", self.prefix.etc)
- @run_before('install')
+ @run_before("install")
def create_install_directory(self):
- mkdirp(join_path(self.prefix, 'bin'))
- mkdirp(join_path(self.prefix, 'man'))
- mkdirp(join_path(self.prefix, 'etc', 'bash_completion.d'))
+ mkdirp(join_path(self.prefix, "bin"))
+ mkdirp(join_path(self.prefix, "man"))
+ mkdirp(join_path(self.prefix, "etc", "bash_completion.d"))
diff --git a/var/spack/repos/builtin/packages/sysstat/package.py b/var/spack/repos/builtin/packages/sysstat/package.py
index f5ceca274a..b817fcd9df 100644
--- a/var/spack/repos/builtin/packages/sysstat/package.py
+++ b/var/spack/repos/builtin/packages/sysstat/package.py
@@ -13,24 +13,24 @@ class Sysstat(AutotoolsPackage):
collect and historize performance and activity data."""
homepage = "https://github.com/sysstat"
- url = "https://github.com/sysstat/sysstat/archive/v12.1.6.tar.gz"
+ url = "https://github.com/sysstat/sysstat/archive/v12.1.6.tar.gz"
- version('12.4.5', sha256='4e35abdd9eaf766ecdab55786f459093f3e1c350db23e57a15561afda417ff0d')
- version('12.2.0', sha256='614ab9fe8e7937a3edb7b2b6760792a3764ea3a7310ac540292dd0e3dfac86a6')
+ version("12.4.5", sha256="4e35abdd9eaf766ecdab55786f459093f3e1c350db23e57a15561afda417ff0d")
+ version("12.2.0", sha256="614ab9fe8e7937a3edb7b2b6760792a3764ea3a7310ac540292dd0e3dfac86a6")
- depends_on('pkgconfig', type='build')
- depends_on('gettext')
- depends_on('lm-sensors')
+ depends_on("pkgconfig", type="build")
+ depends_on("gettext")
+ depends_on("lm-sensors")
def setup_build_environment(self, env):
- env.append_flags('rcdir', self.spec.prefix.etc)
- env.append_flags('sa_dir', self.spec.prefix.log.sa)
- env.append_flags('conf_dir', self.spec.prefix.etc.sysconfig)
+ env.append_flags("rcdir", self.spec.prefix.etc)
+ env.append_flags("sa_dir", self.spec.prefix.log.sa)
+ env.append_flags("conf_dir", self.spec.prefix.etc.sysconfig)
def configure_args(self):
args = [
- '--disable-pcp',
- '--disable-file-attr',
+ "--disable-pcp",
+ "--disable-file-attr",
]
return args
diff --git a/var/spack/repos/builtin/packages/systemc/package.py b/var/spack/repos/builtin/packages/systemc/package.py
index 1ac2b895f1..aea4889bf8 100644
--- a/var/spack/repos/builtin/packages/systemc/package.py
+++ b/var/spack/repos/builtin/packages/systemc/package.py
@@ -11,18 +11,22 @@ class Systemc(CMakePackage):
and more."""
homepage = "https://www.accellera.org/downloads/standards/systemc"
- url = "https://accellera.org/images/downloads/standards/systemc/systemc-2.3.3.tar.gz"
+ url = "https://accellera.org/images/downloads/standards/systemc/systemc-2.3.3.tar.gz"
- maintainers = ['nicmcd']
+ maintainers = ["nicmcd"]
- version('2.3.3', sha256='5781b9a351e5afedabc37d145e5f7edec08f3fd5de00ffeb8fa1f3086b1f7b3f')
+ version("2.3.3", sha256="5781b9a351e5afedabc37d145e5f7edec08f3fd5de00ffeb8fa1f3086b1f7b3f")
- variant('cxxstd', values=('11', '14', '17', '20'), default='11',
- description="C++ standard used during compilation")
+ variant(
+ "cxxstd",
+ values=("11", "14", "17", "20"),
+ default="11",
+ description="C++ standard used during compilation",
+ )
def cmake_args(self):
- cxxstd = self.spec.variants['cxxstd'].value
+ cxxstd = self.spec.variants["cxxstd"].value
return [
- self.define('CMAKE_CXX_STANDARD', cxxstd),
- self.define('CMAKE_CXX_STANDARD_REQUIRED', 'TRUE'),
+ self.define("CMAKE_CXX_STANDARD", cxxstd),
+ self.define("CMAKE_CXX_STANDARD_REQUIRED", "TRUE"),
]
diff --git a/var/spack/repos/builtin/packages/systemtap/package.py b/var/spack/repos/builtin/packages/systemtap/package.py
index 6af2bef76d..6fa59b443d 100644
--- a/var/spack/repos/builtin/packages/systemtap/package.py
+++ b/var/spack/repos/builtin/packages/systemtap/package.py
@@ -16,18 +16,18 @@ class Systemtap(AutotoolsPackage):
required to collect data."""
homepage = "https://sourceware.org/systemtap/"
- url = "https://sourceware.org/systemtap/ftp/releases/systemtap-4.3.tar.gz"
+ url = "https://sourceware.org/systemtap/ftp/releases/systemtap-4.3.tar.gz"
- version('4.3', sha256='f8e206ed654c13a8b42245a342c1b5a4aafdf817c97bf3becbe3c8a43a4489ce')
- version('4.2', sha256='0984ebe3162274988252ec35074021dc1e8420d87a8b35f437578562fce08781')
- version('4.1', sha256='8efa1ee2b34f1c6b2f33a25313287d59c8ed1b00265e900aea874da8baca1e1d')
+ version("4.3", sha256="f8e206ed654c13a8b42245a342c1b5a4aafdf817c97bf3becbe3c8a43a4489ce")
+ version("4.2", sha256="0984ebe3162274988252ec35074021dc1e8420d87a8b35f437578562fce08781")
+ version("4.1", sha256="8efa1ee2b34f1c6b2f33a25313287d59c8ed1b00265e900aea874da8baca1e1d")
- depends_on('gettext')
- depends_on('elfutils@0.151:')
- depends_on('sqlite')
- depends_on('py-setuptools', type='build')
- depends_on('python', type=('build', 'run'))
+ depends_on("gettext")
+ depends_on("elfutils@0.151:")
+ depends_on("sqlite")
+ depends_on("py-setuptools", type="build")
+ depends_on("python", type=("build", "run"))
def configure_args(self):
- args = ['LDFLAGS=-lintl']
+ args = ["LDFLAGS=-lintl"]
return args
diff --git a/var/spack/repos/builtin/packages/sz/package.py b/var/spack/repos/builtin/packages/sz/package.py
index 9d7cf3932c..e16657a6b6 100644
--- a/var/spack/repos/builtin/packages/sz/package.py
+++ b/var/spack/repos/builtin/packages/sz/package.py
@@ -10,63 +10,66 @@ class Sz(CMakePackage):
"""Error-bounded Lossy Compressor for HPC Data"""
homepage = "https://szcompressor.org"
- url = "https://github.com/szcompressor/SZ/releases/download/v2.1.11/SZ-2.1.11.tar.gz"
- git = "https://github.com/szcompressor/sz"
- maintainers = ['disheng222', 'robertu94']
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('2.1.12.2', sha256='427e263e1fed1b0a56e13e0aff8e6a19c6d78d5f35dd16856876c70ab6066dc6')
- version('2.1.12', sha256='3712b2cd7170d1511569e48a208f02dfb72ecd7ad053c321e2880b9083e150de')
- version('2.1.11.1', sha256='e6fa5c969b012782b1e5e9fbd1cd7d1c0ace908d9ec982e78b2910ec5c2161ac')
- version('2.1.11', sha256='85b8ef99344a3317ba9ee63ca4b9d99a51d1832d4d8880e01c7c56b3a69cacc9')
- version('2.1.10', sha256='3aba7619bdb5412218f162696f946c9d3a3df5acf128ddc685b21e45c11f6ae3',
- url="https://github.com/szcompressor/SZ/releases/download/v2.1.10/sz-2.1.10.tar.gz")
- version('2.1.9', sha256='491724ff1c0eaaab5e1a7a28e36aba6da9dcbeddb29d8d21a6d1388383d4891e')
- version('2.1.8.3', sha256='be94f3c8ab03d6849c59a98e0ebf80816a6b8d07a1d762a4b285498acb2f3871')
- version('2.1.8.1', sha256='a27c9c9da16c9c4232c54813ba79178945f47609043f11501d49a171e47d3f46')
- version('2.1.8.0', sha256='8d6bceb59a03d52e601e29d9b35c21b146c248abae352f9a4828e91d8d26aa24')
- version('2.0.2.0', sha256='176c65b421bdec8e91010ffbc9c7bf7852c799972101d6b66d2a30d9702e59b0')
- version('1.4.13.5', sha256='b5e37bf3c377833eed0a7ca0471333c96cd2a82863abfc73893561aaba5f18b9')
- version('1.4.13.4', sha256='c99b95793c48469cac60e6cf82f921babf732ca8c50545a719e794886289432b')
- version('1.4.13.3', sha256='9d80390f09816bf01b7a817e07339030d596026b00179275616af55ed3c1af98')
- version('1.4.13.2', sha256='bc45329bf54876ed0f721998940855dbd5fda54379ef35dad8463325488ea4c6')
- version('1.4.13.0', sha256='baaa7fa740a47e152c319b8d7b9a69fe96b4fea5360621cdc96cb250635f946f')
- version('1.4.12.3', sha256='c1413e1c260fac7a48cb11c6dd705730525f134b9f9b244af59885d564ac7a6f')
- version('1.4.12.1', sha256='98289d75481a6e407e4027b5e23013ae83b4aed88b3f150327ea711322cd54b6')
- version('1.4.11.1', sha256='6cbc5b233a3663a166055f1874f17c96ba29aa5a496d352707ab508288baa65c')
- version('1.4.11.0', sha256='52ff03c688522ebe085caa7a5f73ace28d8eaf0eb9a161a34a9d90cc5672ff8c')
- version('1.4.10.0', sha256='cf23cf1ffd7c69c3d3128ae9c356b6acdc03a38f92c02db5d9bfc04f3fabc506')
- version('1.4.9.2', sha256='9dc785274d068d04c2836955fc93518a9797bfd409b46fea5733294b7c7c18f8')
-
- variant('python', default=False, description="builds the python wrapper")
- variant('netcdf', default=False, description="build the netcdf reader")
- variant('hdf5', default=False, description="build the hdf5 filter")
- variant('pastri', default=False, description="build the pastri mode")
- variant('time_compression', default=False, description="build the time based compression mode")
- variant('random_access', default=False, description="build the random access compression mode")
- variant('fortran', default=False, description='Enable fortran compilation')
- variant('shared', default=True, description="build shared versions of the libraries")
- variant('stats', default=False, description="build profiling statistics for compression")
+ url = "https://github.com/szcompressor/SZ/releases/download/v2.1.11/SZ-2.1.11.tar.gz"
+ git = "https://github.com/szcompressor/sz"
+ maintainers = ["disheng222", "robertu94"]
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("2.1.12.2", sha256="427e263e1fed1b0a56e13e0aff8e6a19c6d78d5f35dd16856876c70ab6066dc6")
+ version("2.1.12", sha256="3712b2cd7170d1511569e48a208f02dfb72ecd7ad053c321e2880b9083e150de")
+ version("2.1.11.1", sha256="e6fa5c969b012782b1e5e9fbd1cd7d1c0ace908d9ec982e78b2910ec5c2161ac")
+ version("2.1.11", sha256="85b8ef99344a3317ba9ee63ca4b9d99a51d1832d4d8880e01c7c56b3a69cacc9")
+ version(
+ "2.1.10",
+ sha256="3aba7619bdb5412218f162696f946c9d3a3df5acf128ddc685b21e45c11f6ae3",
+ url="https://github.com/szcompressor/SZ/releases/download/v2.1.10/sz-2.1.10.tar.gz",
+ )
+ version("2.1.9", sha256="491724ff1c0eaaab5e1a7a28e36aba6da9dcbeddb29d8d21a6d1388383d4891e")
+ version("2.1.8.3", sha256="be94f3c8ab03d6849c59a98e0ebf80816a6b8d07a1d762a4b285498acb2f3871")
+ version("2.1.8.1", sha256="a27c9c9da16c9c4232c54813ba79178945f47609043f11501d49a171e47d3f46")
+ version("2.1.8.0", sha256="8d6bceb59a03d52e601e29d9b35c21b146c248abae352f9a4828e91d8d26aa24")
+ version("2.0.2.0", sha256="176c65b421bdec8e91010ffbc9c7bf7852c799972101d6b66d2a30d9702e59b0")
+ version("1.4.13.5", sha256="b5e37bf3c377833eed0a7ca0471333c96cd2a82863abfc73893561aaba5f18b9")
+ version("1.4.13.4", sha256="c99b95793c48469cac60e6cf82f921babf732ca8c50545a719e794886289432b")
+ version("1.4.13.3", sha256="9d80390f09816bf01b7a817e07339030d596026b00179275616af55ed3c1af98")
+ version("1.4.13.2", sha256="bc45329bf54876ed0f721998940855dbd5fda54379ef35dad8463325488ea4c6")
+ version("1.4.13.0", sha256="baaa7fa740a47e152c319b8d7b9a69fe96b4fea5360621cdc96cb250635f946f")
+ version("1.4.12.3", sha256="c1413e1c260fac7a48cb11c6dd705730525f134b9f9b244af59885d564ac7a6f")
+ version("1.4.12.1", sha256="98289d75481a6e407e4027b5e23013ae83b4aed88b3f150327ea711322cd54b6")
+ version("1.4.11.1", sha256="6cbc5b233a3663a166055f1874f17c96ba29aa5a496d352707ab508288baa65c")
+ version("1.4.11.0", sha256="52ff03c688522ebe085caa7a5f73ace28d8eaf0eb9a161a34a9d90cc5672ff8c")
+ version("1.4.10.0", sha256="cf23cf1ffd7c69c3d3128ae9c356b6acdc03a38f92c02db5d9bfc04f3fabc506")
+ version("1.4.9.2", sha256="9dc785274d068d04c2836955fc93518a9797bfd409b46fea5733294b7c7c18f8")
+
+ variant("python", default=False, description="builds the python wrapper")
+ variant("netcdf", default=False, description="build the netcdf reader")
+ variant("hdf5", default=False, description="build the hdf5 filter")
+ variant("pastri", default=False, description="build the pastri mode")
+ variant("time_compression", default=False, description="build the time based compression mode")
+ variant("random_access", default=False, description="build the random access compression mode")
+ variant("fortran", default=False, description="Enable fortran compilation")
+ variant("shared", default=True, description="build shared versions of the libraries")
+ variant("stats", default=False, description="build profiling statistics for compression")
# Part of latest sources don't support -O3 optimization
# with Fujitsu compiler.
- patch('fix_optimization.patch', when='@2.0.2.0:%fj')
+ patch("fix_optimization.patch", when="@2.0.2.0:%fj")
- depends_on('zlib')
- depends_on('zstd')
+ depends_on("zlib")
+ depends_on("zstd")
- extends('python', when="+python")
- depends_on('python@3:', when="+python", type=('build', 'link', 'run'))
- depends_on('swig@3.12:', when="+python", type='build')
- depends_on('py-numpy', when="+python", type=('build', 'link', 'run'))
- depends_on('hdf5', when="+hdf5")
- depends_on('netcdf-c', when="+netcdf")
- depends_on('cmake@3.13:', type='build')
- depends_on('cunit', type="test")
+ extends("python", when="+python")
+ depends_on("python@3:", when="+python", type=("build", "link", "run"))
+ depends_on("swig@3.12:", when="+python", type="build")
+ depends_on("py-numpy", when="+python", type=("build", "link", "run"))
+ depends_on("hdf5", when="+hdf5")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("cmake@3.13:", type="build")
+ depends_on("cunit", type="test")
- patch('ctags-only-if-requested.patch', when='@2.1.8.1:2.1.8.3')
+ patch("ctags-only-if-requested.patch", when="@2.1.8.1:2.1.8.3")
@property
def build_directory(self):
@@ -143,61 +146,85 @@ class Sz(CMakePackage):
return args
- @run_after('build')
+ @run_after("build")
@on_package_attributes(run_tests=True)
def test_build(self):
- make('test')
+ make("test")
def _test_2d_float(self):
"""This test performs simple 2D compression/decompression (float)"""
test_data_dir = self.test_suite.current_test_data_dir
- filename = 'testfloat_8_8_128.dat'
+ filename = "testfloat_8_8_128.dat"
orifile = test_data_dir.join(filename)
- exe = 'sz'
- reason = 'testing 2D compression of {0}'.format(exe)
- options = ['-z', '-f', '-i', orifile, '-M',
- 'REL', '-R', '1E-3', '-2', '8', '1024']
-
- self.run_test(exe, options, [], installed=True,
- purpose=reason, skip_missing=True, work_dir=test_data_dir)
-
- filename = 'testfloat_8_8_128.dat.sz'
+ exe = "sz"
+ reason = "testing 2D compression of {0}".format(exe)
+ options = ["-z", "-f", "-i", orifile, "-M", "REL", "-R", "1E-3", "-2", "8", "1024"]
+
+ self.run_test(
+ exe,
+ options,
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
+
+ filename = "testfloat_8_8_128.dat.sz"
decfile = test_data_dir.join(filename)
- reason = 'testing 2D decompression of {0}'.format(exe)
- options = ['-x', '-f', '-i', orifile, '-s', decfile,
- '-2', '8', '1024', '-a']
+ reason = "testing 2D decompression of {0}".format(exe)
+ options = ["-x", "-f", "-i", orifile, "-s", decfile, "-2", "8", "1024", "-a"]
- self.run_test(exe, options, [], installed=True, purpose=reason,
- skip_missing=True, work_dir=test_data_dir)
+ self.run_test(
+ exe,
+ options,
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
def _test_3d_float(self):
"""This test performs simple 3D compression/decompression (float)"""
test_data_dir = self.test_suite.current_test_data_dir
- filename = 'testfloat_8_8_128.dat'
+ filename = "testfloat_8_8_128.dat"
orifile = test_data_dir.join(filename)
- exe = 'sz'
- reason = 'testing 3D compression of {0}'.format(exe)
- options = ['-z', '-f', '-i', orifile, '-M', 'REL',
- '-R', '1E-3', '-3', '8', '8', '128']
-
- self.run_test(exe, options, [], installed=True, purpose=reason,
- skip_missing=True, work_dir=test_data_dir)
-
- filename = 'testfloat_8_8_128.dat.sz'
+ exe = "sz"
+ reason = "testing 3D compression of {0}".format(exe)
+ options = ["-z", "-f", "-i", orifile, "-M", "REL", "-R", "1E-3", "-3", "8", "8", "128"]
+
+ self.run_test(
+ exe,
+ options,
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
+
+ filename = "testfloat_8_8_128.dat.sz"
decfile = test_data_dir.join(filename)
- reason = 'testing 3D decompression of {0}'.format(exe)
- options = ['-x', '-f', '-i', orifile, '-s', decfile,
- '-3', '8', '8', '128', '-a']
-
- self.run_test(exe, options, [], installed=True, purpose=reason,
- skip_missing=True, work_dir=test_data_dir)
+ reason = "testing 3D decompression of {0}".format(exe)
+ options = ["-x", "-f", "-i", orifile, "-s", decfile, "-3", "8", "8", "128", "-a"]
+
+ self.run_test(
+ exe,
+ options,
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
def test(self):
"""Perform smoke tests on the installed package"""
diff --git a/var/spack/repos/builtin/packages/tabix/package.py b/var/spack/repos/builtin/packages/tabix/package.py
index 84872b3262..cc3d3bce43 100644
--- a/var/spack/repos/builtin/packages/tabix/package.py
+++ b/var/spack/repos/builtin/packages/tabix/package.py
@@ -10,23 +10,23 @@ class Tabix(MakefilePackage):
"""Generic indexer for TAB-delimited genome position files"""
homepage = "https://github.com/samtools/tabix"
- git = "https://github.com/samtools/tabix.git"
+ git = "https://github.com/samtools/tabix.git"
- version('2013-12-16', commit='1ae158ac79b459f5feeed7490c67519b14ce9f35')
+ version("2013-12-16", commit="1ae158ac79b459f5feeed7490c67519b14ce9f35")
- depends_on('perl', type=('build', 'run'))
- depends_on('python', type=('build', 'run'))
- depends_on('zlib', type='link')
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", type=("build", "run"))
+ depends_on("zlib", type="link")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.share.man.man1)
- install('tabix', prefix.bin)
- install('bgzip', prefix.bin)
- install('tabix.py', prefix.bin)
- install('tabix.1', prefix.share.man.man1)
- install('tabix.tex', prefix.share)
- install('TabixReader.java', prefix.bin)
- install('libtabix.a', prefix.lib)
- install_tree('perl', prefix.perl)
- install_tree('python', prefix.python)
+ install("tabix", prefix.bin)
+ install("bgzip", prefix.bin)
+ install("tabix.py", prefix.bin)
+ install("tabix.1", prefix.share.man.man1)
+ install("tabix.tex", prefix.share)
+ install("TabixReader.java", prefix.bin)
+ install("libtabix.a", prefix.lib)
+ install_tree("perl", prefix.perl)
+ install_tree("python", prefix.python)
diff --git a/var/spack/repos/builtin/packages/tajo/package.py b/var/spack/repos/builtin/packages/tajo/package.py
index 58adaf8605..582237a266 100644
--- a/var/spack/repos/builtin/packages/tajo/package.py
+++ b/var/spack/repos/builtin/packages/tajo/package.py
@@ -19,18 +19,18 @@ class Tajo(Package):
"""
homepage = "https://tajo.apache.org/"
- url = "https://www-eu.apache.org/dist/tajo/tajo-0.11.3/tajo-0.11.3.tar.gz"
+ 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
- version('0.11.3', sha256='9be736f13575aefc68f94eff376ef284ca3af8b0bdceb6d9d825980bb10a44e8')
- version('0.11.2', sha256='8a7a5b63b799cd3db275f3a3e265063594c60ec6b8ca394bf2c88b1d1867779f')
- version('0.11.1', sha256='723a2bf02c1109652aabc5786b087634dcca014083569d368a9d4ce118d87b91')
- version('0.11.0', sha256='0714b4c49afdd40010f9d1af9443a2a38453157f6352abd908da6ebfafa8abca')
- version('0.10.1', sha256='754bd6d34fd4ed1b142d50b9025747167c3fbf819ee04711aca8d8842a53a625')
- version('0.10.0', sha256='66e56ac5948e01779d9bf14f9a3f8145dec9ed3273b84dd66d9f08d581dad433')
+ version("0.11.3", sha256="9be736f13575aefc68f94eff376ef284ca3af8b0bdceb6d9d825980bb10a44e8")
+ version("0.11.2", sha256="8a7a5b63b799cd3db275f3a3e265063594c60ec6b8ca394bf2c88b1d1867779f")
+ version("0.11.1", sha256="723a2bf02c1109652aabc5786b087634dcca014083569d368a9d4ce118d87b91")
+ version("0.11.0", sha256="0714b4c49afdd40010f9d1af9443a2a38453157f6352abd908da6ebfafa8abca")
+ version("0.10.1", sha256="754bd6d34fd4ed1b142d50b9025747167c3fbf819ee04711aca8d8842a53a625")
+ version("0.10.0", sha256="66e56ac5948e01779d9bf14f9a3f8145dec9ed3273b84dd66d9f08d581dad433")
- depends_on('java', type='run')
+ depends_on("java", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/talass/package.py b/var/spack/repos/builtin/packages/talass/package.py
index 7a0f60fb37..18368ce8eb 100644
--- a/var/spack/repos/builtin/packages/talass/package.py
+++ b/var/spack/repos/builtin/packages/talass/package.py
@@ -15,45 +15,56 @@ class Talass(CMakePackage):
alone."""
homepage = "http://www.cedmav.org/research/project/16-talass.html"
- git = "ssh://git@bitbucket.org/cedmav/talass.git"
+ git = "ssh://git@bitbucket.org/cedmav/talass.git"
- version('2018-10-29', commit='5d459c0dd89e733fa301391908a5b79fe2850ad7')
+ version("2018-10-29", commit="5d459c0dd89e733fa301391908a5b79fe2850ad7")
# The default precision and index space sizes
- variant('precision', default='32', values=('32', '64'),
- description='Precision of the function values')
- variant('global', default='32', values=('16', '32', '64'),
- description='Number of bits used for the global index space')
- variant('local', default='32', values=('16', '32', '64'),
- description='Number of bits used for the local index space')
+ variant(
+ "precision",
+ default="32",
+ values=("32", "64"),
+ description="Precision of the function values",
+ )
+ variant(
+ "global",
+ default="32",
+ values=("16", "32", "64"),
+ description="Number of bits used for the global index space",
+ )
+ variant(
+ "local",
+ default="32",
+ values=("16", "32", "64"),
+ description="Number of bits used for the local index space",
+ )
- root_cmakelists_dir = 'StreamingTopology'
+ root_cmakelists_dir = "StreamingTopology"
def cmake_args(self):
variants = self.spec.variants
args = []
- if int(variants['local'].value) > int(variants['global'].value):
- msg = ('The global index space (%d bits) must be at least as '
- 'large as the local index space (% bits)')
- raise InstallError(
- msg % (variants['global'].value, variants['local'].value))
+ if int(variants["local"].value) > int(variants["global"].value):
+ msg = (
+ "The global index space (%d bits) must be at least as "
+ "large as the local index space (% bits)"
+ )
+ raise InstallError(msg % (variants["global"].value, variants["local"].value))
- if variants['precision'].value == '32':
- args.append('-DFUNCTION_TYPE=float')
- elif variants['precision'].value == '64':
- args.append('-DFUNCTION_TYPE=double')
+ if variants["precision"].value == "32":
+ args.append("-DFUNCTION_TYPE=float")
+ elif variants["precision"].value == "64":
+ args.append("-DFUNCTION_TYPE=double")
# Set global index space
- args.append('-DGLOBAL_INDEX_TYPE=uint{0}_t'.format(
- variants['global'].value))
+ args.append("-DGLOBAL_INDEX_TYPE=uint{0}_t".format(variants["global"].value))
# Set local index space
- args.append('-DLOCAL_INDEX_TYPE=uint{0}_t'.format(
- variants['local'].value))
+ args.append("-DLOCAL_INDEX_TYPE=uint{0}_t".format(variants["local"].value))
# Deal with the PROJECT_INSTALL_PREFIX to enable Talass super builds
- args.append('-DPROJECT_INSTALL_PREFIX=%s' % self.prefix)
+ args.append("-DPROJECT_INSTALL_PREFIX=%s" % self.prefix)
return args
diff --git a/var/spack/repos/builtin/packages/talloc/package.py b/var/spack/repos/builtin/packages/talloc/package.py
index d5dc862330..7df5b79e85 100644
--- a/var/spack/repos/builtin/packages/talloc/package.py
+++ b/var/spack/repos/builtin/packages/talloc/package.py
@@ -11,11 +11,11 @@ class Talloc(AutotoolsPackage):
with destructors. It is the core memory allocator used in Samba."""
homepage = "https://talloc.samba.org"
- url = "https://www.samba.org/ftp/talloc/talloc-2.1.9.tar.gz"
+ url = "https://www.samba.org/ftp/talloc/talloc-2.1.9.tar.gz"
- version('2.3.1', sha256='ef4822d2fdafd2be8e0cabc3ec3c806ae29b8268e932c5e9a4cd5585f37f9f77')
- version('2.3.0', sha256='75d5bcb34482545a82ffb06da8f6c797f963a0da450d0830c669267b14992fc6')
- version('2.1.9', sha256='f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062')
+ version("2.3.1", sha256="ef4822d2fdafd2be8e0cabc3ec3c806ae29b8268e932c5e9a4cd5585f37f9f77")
+ version("2.3.0", sha256="75d5bcb34482545a82ffb06da8f6c797f963a0da450d0830c669267b14992fc6")
+ version("2.1.9", sha256="f0aad4cb88a3322207c82136ddc07bed48a37c2c21f82962d6c5ccb422711062")
- extends('python')
- depends_on('python@3:')
+ extends("python")
+ depends_on("python@3:")
diff --git a/var/spack/repos/builtin/packages/tamaas/package.py b/var/spack/repos/builtin/packages/tamaas/package.py
index 23b7549bc3..195f92bef2 100644
--- a/var/spack/repos/builtin/packages/tamaas/package.py
+++ b/var/spack/repos/builtin/packages/tamaas/package.py
@@ -12,20 +12,25 @@ class Tamaas(SConsPackage):
adhesion and friction."""
homepage = "https://gitlab.com/tamaas/tamaas"
- url = "https://gitlab.com/tamaas/tamaas/-/archive/v2.4.0/tamaas-v2.4.0.tar.gz"
- git = "https://gitlab.com/tamaas/tamaas.git"
+ url = "https://gitlab.com/tamaas/tamaas/-/archive/v2.4.0/tamaas-v2.4.0.tar.gz"
+ git = "https://gitlab.com/tamaas/tamaas.git"
maintainers = ["prs513rosewood"]
version("master", branch="master")
- version("2.5.0.post1", sha256="28e52dc5b8a5f77588c73a6ef396c44c6a8e9d77e3e4929a4ab07232dc9bc565")
+ version(
+ "2.5.0.post1", sha256="28e52dc5b8a5f77588c73a6ef396c44c6a8e9d77e3e4929a4ab07232dc9bc565"
+ )
version("2.4.0", sha256="38edba588ff3a6643523c28fb391e001dbafa9d0e58053b9e080eda70f8c71c9")
version("2.3.1", sha256="7d63e374cbc7b5b93578ece7be5c084d1c2f0dbe1d57c4f0c8abd5ff5fff9ab0")
version("2.3.0", sha256="0529e015c6cb5bbabaea5dce6efc5ec0f2aa76c00541f0d90ad0e2e3060a4520")
- variant("python", default=True,
- description="Provide Python bindings for Tamaas")
- variant("solvers", default=True, when="+python",
- description="Enables extra Scipy-based nonlinear solvers")
+ variant("python", default=True, description="Provide Python bindings for Tamaas")
+ variant(
+ "solvers",
+ default=True,
+ when="+python",
+ description="Enables extra Scipy-based nonlinear solvers",
+ )
# Python 3.6 causes unicode issues with scons
depends_on("python@3.7:", type="build", when="~python")
@@ -52,10 +57,8 @@ class Tamaas(SConsPackage):
args = [
"build_type=release",
"use_mpi={}".format(spec["fftw-api"].satisfies("+mpi")),
- "backend={}".format(
- "omp" if spec["fftw-api"].satisfies("+openmp") else "cpp"),
- "fftw_threads={}".format(
- "omp" if spec["fftw-api"].satisfies("+openmp") else "none"),
+ "backend={}".format("omp" if spec["fftw-api"].satisfies("+openmp") else "cpp"),
+ "fftw_threads={}".format("omp" if spec["fftw-api"].satisfies("+openmp") else "none"),
"build_python={}".format(spec.satisfies("+python")),
"verbose=True",
"strip_info=True",
@@ -64,14 +67,14 @@ class Tamaas(SConsPackage):
"build_tests=False",
"doc_builders=none",
"prefix={}".format(prefix),
- "BOOST_ROOT={}".format(spec['boost'].prefix),
- "THRUST_ROOT={}".format(spec['thrust'].prefix),
- "FFTW_ROOT={}".format(spec['fftw-api'].prefix),
+ "BOOST_ROOT={}".format(spec["boost"].prefix),
+ "THRUST_ROOT={}".format(spec["thrust"].prefix),
+ "FFTW_ROOT={}".format(spec["fftw-api"].prefix),
]
if spec.satisfies("+python"):
args += [
- "PYBIND11_ROOT={}".format(spec['py-pybind11'].prefix),
+ "PYBIND11_ROOT={}".format(spec["py-pybind11"].prefix),
]
return args
diff --git a/var/spack/repos/builtin/packages/tangram/package.py b/var/spack/repos/builtin/packages/tangram/package.py
index 1867b7ad26..0c6312cd06 100644
--- a/var/spack/repos/builtin/packages/tangram/package.py
+++ b/var/spack/repos/builtin/packages/tangram/package.py
@@ -13,75 +13,71 @@ class Tangram(CMakePackage):
"""
homepage = "https://portage.lanl.gov"
- git = "https://github.com/laristra/tangram.git"
- url = "https://github.com/laristra/tangram/releases/download/1.0.5/tangram-1.0.5.tar.gz"
-
- maintainers = ['raovgarimella']
-
- version('1.0.5', sha256='4fa61d5fecd67215237ab3df8fe64bc6c4d018b22313f2174923486026e93e53')
- version('1.0.1', sha256='8f2f8c01bb2d726b0f64e5a5bc3aa2bd8057ccaee7a29c68f1439d16e39aaa90')
- version('master', branch='master', submodules=True)
-
- variant('mpi', default=False,
- description='Enable interface reconstruction with MPI')
- variant('thrust', default=False,
- description='Enable on-node parallelism with NVidia Thrust')
- variant('kokkos', default=False,
- description='Enable on-node or device parallelism with Kokkos')
- variant('openmp', default=False,
- description="Enable on-node parallelism using OpenMP")
- variant('cuda', default=False,
- description="Enable GPU parallelism using CUDA")
+ git = "https://github.com/laristra/tangram.git"
+ url = "https://github.com/laristra/tangram/releases/download/1.0.5/tangram-1.0.5.tar.gz"
+
+ maintainers = ["raovgarimella"]
+
+ version("1.0.5", sha256="4fa61d5fecd67215237ab3df8fe64bc6c4d018b22313f2174923486026e93e53")
+ version("1.0.1", sha256="8f2f8c01bb2d726b0f64e5a5bc3aa2bd8057ccaee7a29c68f1439d16e39aaa90")
+ version("master", branch="master", submodules=True)
+
+ variant("mpi", default=False, description="Enable interface reconstruction with MPI")
+ variant("thrust", default=False, description="Enable on-node parallelism with NVidia Thrust")
+ variant(
+ "kokkos", default=False, description="Enable on-node or device parallelism with Kokkos"
+ )
+ variant("openmp", default=False, description="Enable on-node parallelism using OpenMP")
+ variant("cuda", default=False, description="Enable GPU parallelism using CUDA")
# wrappers to enable external mesh/state libraries (only for testing)
- variant('jali', default=False,
- description='Build with Jali mesh infrastructure (for testing)')
+ variant("jali", default=False, description="Build with Jali mesh infrastructure (for testing)")
# Don't enable Kokkos and Thrust simultaneously
- conflicts('+jali~mpi') # Jali needs MPI
- conflicts('+thrust +cuda') # We don't have Thrust with CUDA working yet
- conflicts('+thrust +kokkos') # Don't enable Kokkos, Thrust simultaneously
+ conflicts("+jali~mpi") # Jali needs MPI
+ conflicts("+thrust +cuda") # We don't have Thrust with CUDA working yet
+ conflicts("+thrust +kokkos") # Don't enable Kokkos, Thrust simultaneously
# dependencies
- depends_on('cmake@3.13:', type='build')
+ depends_on("cmake@3.13:", type="build")
- depends_on('mpi', when='+mpi')
-# Wonton depends array
- wonton_depends = ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']
+ depends_on("mpi", when="+mpi")
+ # Wonton depends array
+ wonton_depends = ["mpi", "jali", "openmp", "thrust", "kokkos", "cuda"]
for _variant in wonton_depends:
- depends_on('wonton+' + _variant, when='+' + _variant)
- depends_on('wonton~' + _variant, when='~' + _variant)
+ depends_on("wonton+" + _variant, when="+" + _variant)
+ depends_on("wonton~" + _variant, when="~" + _variant)
def cmake_args(self):
options = []
- if '+mpi' in self.spec:
- options.append('-DTANGRAM_ENABLE_MPI=ON')
+ if "+mpi" in self.spec:
+ options.append("-DTANGRAM_ENABLE_MPI=ON")
else:
- options.append('-DTANGRAM_ENABLE_MPI=OFF')
+ options.append("-DTANGRAM_ENABLE_MPI=OFF")
- if '+jali' in self.spec:
- options.append('-DTANGRAM_ENABLE_Jali=ON')
+ if "+jali" in self.spec:
+ options.append("-DTANGRAM_ENABLE_Jali=ON")
else:
- options.append('-DTANGRAM_ENABLE_Jali=OFF')
+ options.append("-DTANGRAM_ENABLE_Jali=OFF")
- if '+thrust' in self.spec:
- options.append('-DTANGRAM_ENABLE_THRUST=ON')
+ if "+thrust" in self.spec:
+ options.append("-DTANGRAM_ENABLE_THRUST=ON")
else:
- options.append('-DTANGRAM_ENABLE_THRUST=OFF')
+ options.append("-DTANGRAM_ENABLE_THRUST=OFF")
- if '+kokkos' in self.spec:
- options.append('-DTANGRAM_ENABLE_Kokkos=ON')
+ if "+kokkos" in self.spec:
+ options.append("-DTANGRAM_ENABLE_Kokkos=ON")
else:
- options.append('-DTANGRAM_ENABLE_Kokkos=OFF')
+ options.append("-DTANGRAM_ENABLE_Kokkos=OFF")
# Unit test variant
if self.run_tests:
- options.append('-DENABLE_UNIT_TESTS=ON')
- options.append('-DENABLE_APP_TESTS=ON')
+ options.append("-DENABLE_UNIT_TESTS=ON")
+ options.append("-DENABLE_APP_TESTS=ON")
else:
- options.append('-DENABLE_UNIT_TESTS=OFF')
- options.append('-DENABLE_APP_TESTS=OFF')
+ options.append("-DENABLE_UNIT_TESTS=OFF")
+ options.append("-DENABLE_APP_TESTS=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/tantan/package.py b/var/spack/repos/builtin/packages/tantan/package.py
index 28fd849ac7..99a14f75ba 100644
--- a/var/spack/repos/builtin/packages/tantan/package.py
+++ b/var/spack/repos/builtin/packages/tantan/package.py
@@ -11,9 +11,9 @@ class Tantan(MakefilePackage):
short-period tandem repeats) in DNA, RNA, and protein sequences."""
homepage = "http://cbrc3.cbrc.jp/~martin/tantan"
- url = "http://cbrc3.cbrc.jp/~martin/tantan/tantan-13.zip"
+ url = "http://cbrc3.cbrc.jp/~martin/tantan/tantan-13.zip"
- version('13', sha256='3f7ba7d8d04a32c3716ea3e4e2f0798942fb93e5123574ce01c9436e1854a518')
+ version("13", sha256="3f7ba7d8d04a32c3716ea3e4e2f0798942fb93e5123574ce01c9436e1854a518")
def install(self, spec, prefix):
- make('prefix={0}'.format(self.prefix), 'install')
+ make("prefix={0}".format(self.prefix), "install")
diff --git a/var/spack/repos/builtin/packages/tar/package.py b/var/spack/repos/builtin/packages/tar/package.py
index c1c100707b..9529e8dc3d 100644
--- a/var/spack/repos/builtin/packages/tar/package.py
+++ b/var/spack/repos/builtin/packages/tar/package.py
@@ -15,65 +15,70 @@ class Tar(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/tar/"
gnu_mirror_path = "tar/tar-1.32.tar.gz"
- executables = [r'^tar$']
+ executables = [r"^tar$"]
- tags = ['core-packages']
+ tags = ["core-packages"]
- version('1.34', sha256='03d908cf5768cfe6b7ad588c921c6ed21acabfb2b79b788d1330453507647aed')
- version('1.32', sha256='b59549594d91d84ee00c99cf2541a3330fed3a42c440503326dab767f2fbb96c')
- version('1.31', sha256='b471be6cb68fd13c4878297d856aebd50551646f4e3074906b1a74549c40d5a2')
- version('1.30', sha256='4725cc2c2f5a274b12b39d1f78b3545ec9ebb06a6e48e8845e1995ac8513b088')
- version('1.29', sha256='cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0')
- version('1.28', sha256='6a6b65bac00a127a508533c604d5bf1a3d40f82707d56f20cefd38a05e8237de')
+ version("1.34", sha256="03d908cf5768cfe6b7ad588c921c6ed21acabfb2b79b788d1330453507647aed")
+ version("1.32", sha256="b59549594d91d84ee00c99cf2541a3330fed3a42c440503326dab767f2fbb96c")
+ version("1.31", sha256="b471be6cb68fd13c4878297d856aebd50551646f4e3074906b1a74549c40d5a2")
+ version("1.30", sha256="4725cc2c2f5a274b12b39d1f78b3545ec9ebb06a6e48e8845e1995ac8513b088")
+ version("1.29", sha256="cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0")
+ version("1.28", sha256="6a6b65bac00a127a508533c604d5bf1a3d40f82707d56f20cefd38a05e8237de")
# A saner default than gzip?
- variant('zip', default='pigz', values=('gzip', 'pigz'), description='Default compression program for tar -z')
+ variant(
+ "zip",
+ default="pigz",
+ values=("gzip", "pigz"),
+ description="Default compression program for tar -z",
+ )
- depends_on('iconv')
+ depends_on("iconv")
# Compression
- depends_on('gzip', type='run', when='zip=gzip')
- depends_on('pigz', type='run', when='zip=pigz')
- depends_on('zstd+programs', type='run', when='@1.31:')
- depends_on('xz', type='run') # for xz/lzma
- depends_on('bzip2', type='run')
-
- patch('tar-pgi.patch', when='@1.29')
- patch('config-pgi.patch', when='@:1.29')
- patch('se-selinux.patch', when='@:1.29')
- patch('argp-pgi.patch', when='@:1.29')
- patch('gnutar-configure-xattrs.patch', when='@1.28')
+ depends_on("gzip", type="run", when="zip=gzip")
+ depends_on("pigz", type="run", when="zip=pigz")
+ depends_on("zstd+programs", type="run", when="@1.31:")
+ depends_on("xz", type="run") # for xz/lzma
+ depends_on("bzip2", type="run")
+
+ patch("tar-pgi.patch", when="@1.29")
+ patch("config-pgi.patch", when="@:1.29")
+ patch("se-selinux.patch", when="@:1.29")
+ patch("argp-pgi.patch", when="@:1.29")
+ patch("gnutar-configure-xattrs.patch", when="@1.28")
# The NVIDIA compilers do not currently support some GNU builtins.
# Detect this case and use the fallback path.
- patch('nvhpc-1.30.patch', when='@1.30:1.32 %nvhpc')
- patch('nvhpc-1.34.patch', when='@1.34 %nvhpc')
+ patch("nvhpc-1.30.patch", when="@1.30:1.32 %nvhpc")
+ patch("nvhpc-1.34.patch", when="@1.34 %nvhpc")
# Workaround bug where __LONG_WIDTH__ is not defined
- patch('nvhpc-long-width.patch', when='@1.34 %nvhpc')
+ patch("nvhpc-long-width.patch", when="@1.34 %nvhpc")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'tar \(GNU tar\) (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"tar \(GNU tar\) (\S+)", output)
return match.group(1) if match else None
def configure_args(self):
# Note: compression programs are passed by abs path,
# so that tar can locate them when invoked without spack load.
args = [
- '--with-libiconv-prefix={0}'.format(self.spec['iconv'].prefix),
- '--with-xz={0}'.format(self.spec['xz'].prefix.bin.xz),
- '--with-lzma={0}'.format(self.spec['xz'].prefix.bin.lzma),
- '--with-bzip2={0}'.format(self.spec['bzip2'].prefix.bin.bzip2),
+ "--with-libiconv-prefix={0}".format(self.spec["iconv"].prefix),
+ "--with-xz={0}".format(self.spec["xz"].prefix.bin.xz),
+ "--with-lzma={0}".format(self.spec["xz"].prefix.bin.lzma),
+ "--with-bzip2={0}".format(self.spec["bzip2"].prefix.bin.bzip2),
]
- if '^zstd' in self.spec:
- args.append('--with-zstd={0}'.format(self.spec['zstd'].prefix.bin.zstd))
+ if "^zstd" in self.spec:
+ args.append("--with-zstd={0}".format(self.spec["zstd"].prefix.bin.zstd))
# Choose gzip/pigz
- zip = self.spec.variants['zip'].value
- if zip == 'gzip':
- gzip_path = self.spec['gzip'].prefix.bin.gzip
- elif zip == 'pigz':
- gzip_path = self.spec['pigz'].prefix.bin.pigz
- args.append('--with-gzip={}'.format(gzip_path))
+ zip = self.spec.variants["zip"].value
+ if zip == "gzip":
+ gzip_path = self.spec["gzip"].prefix.bin.gzip
+ elif zip == "pigz":
+ gzip_path = self.spec["pigz"].prefix.bin.pigz
+ args.append("--with-gzip={}".format(gzip_path))
return args
diff --git a/var/spack/repos/builtin/packages/targetp/package.py b/var/spack/repos/builtin/packages/targetp/package.py
index 8dd91004a6..f8b7d3226b 100644
--- a/var/spack/repos/builtin/packages/targetp/package.py
+++ b/var/spack/repos/builtin/packages/targetp/package.py
@@ -11,40 +11,38 @@ from spack.package import *
class Targetp(Package):
"""TargetP predicts the subcellular location of eukaryotic protein sequences.
- Note: A manual download is required for TargetP.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for TargetP.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.cbs.dtu.dk/services/TargetP/"
- url = "file://{0}/targetp-1.1b.Linux.tar.gz".format(os.getcwd())
+ url = "file://{0}/targetp-1.1b.Linux.tar.gz".format(os.getcwd())
manual_download = True
- version('1.1b', '80233d0056e11abfd22a4ce73d1808c6')
+ version("1.1b", "80233d0056e11abfd22a4ce73d1808c6")
- depends_on('perl', type='run')
- depends_on('awk', type='run')
- depends_on('chlorop')
- depends_on('signalp')
+ depends_on("perl", type="run")
+ depends_on("awk", type="run")
+ depends_on("chlorop")
+ depends_on("signalp")
def patch(self):
- targetp = FileFilter('targetp')
- targetp.filter('TARGETP=', '#TARGETP=')
- targetp.filter('CHLOROP=/usr/cbs/bio/bin/chlorop',
- self.spec['chlorop'].prefix.bin.chlorop)
- targetp.filter('SIGNALP=/usr/cbs/bio/bin/signalp',
- self.spec['signalp'].prefix.signalp)
- targetp.filter('TMP=/scratch', 'TMP=/tmp')
+ targetp = FileFilter("targetp")
+ targetp.filter("TARGETP=", "#TARGETP=")
+ targetp.filter("CHLOROP=/usr/cbs/bio/bin/chlorop", self.spec["chlorop"].prefix.bin.chlorop)
+ targetp.filter("SIGNALP=/usr/cbs/bio/bin/signalp", self.spec["signalp"].prefix.signalp)
+ targetp.filter("TMP=/scratch", "TMP=/tmp")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('etc', prefix.etc)
- install_tree('how', prefix.how)
- install_tree('test', prefix.test)
- install_tree('tmp', prefix.tmp)
- install('targetp', prefix.targetp)
+ install_tree("bin", prefix.bin)
+ install_tree("etc", prefix.etc)
+ install_tree("how", prefix.how)
+ install_tree("test", prefix.test)
+ install_tree("tmp", prefix.tmp)
+ install("targetp", prefix.targetp)
def setup_run_environment(self, env):
- env.set('TARGETP', self.prefix)
- env.prepend_path('PATH', self.prefix)
+ env.set("TARGETP", self.prefix)
+ env.prepend_path("PATH", self.prefix)
diff --git a/var/spack/repos/builtin/packages/task/package.py b/var/spack/repos/builtin/packages/task/package.py
index 44f212b44a..cb17921fbd 100644
--- a/var/spack/repos/builtin/packages/task/package.py
+++ b/var/spack/repos/builtin/packages/task/package.py
@@ -8,14 +8,15 @@ from spack.package import *
class Task(CMakePackage):
"""Feature-rich console based todo list manager"""
+
homepage = "https://www.taskwarrior.org"
- url = "https://taskwarrior.org/download/task-2.4.4.tar.gz"
+ url = "https://taskwarrior.org/download/task-2.4.4.tar.gz"
- version('2.5.1', sha256='d87bcee58106eb8a79b850e9abc153d98b79e00d50eade0d63917154984f2a15')
- version('2.4.4', sha256='7ff406414e0be480f91981831507ac255297aab33d8246f98dbfd2b1b2df8e3b')
+ version("2.5.1", sha256="d87bcee58106eb8a79b850e9abc153d98b79e00d50eade0d63917154984f2a15")
+ version("2.4.4", sha256="7ff406414e0be480f91981831507ac255297aab33d8246f98dbfd2b1b2df8e3b")
- depends_on('cmake@2.8:', type='build')
- depends_on('gnutls')
- depends_on('uuid')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("gnutls")
+ depends_on("uuid")
- conflicts('%gcc@:4.7')
+ conflicts("%gcc@:4.7")
diff --git a/var/spack/repos/builtin/packages/taskd/package.py b/var/spack/repos/builtin/packages/taskd/package.py
index 13d5813029..6d9e0737e9 100644
--- a/var/spack/repos/builtin/packages/taskd/package.py
+++ b/var/spack/repos/builtin/packages/taskd/package.py
@@ -10,12 +10,12 @@ class Taskd(CMakePackage):
"""TaskWarrior task synchronization daemon"""
homepage = "https://www.taskwarrior.org"
- url = "https://taskwarrior.org/download/taskd-1.1.0.tar.gz"
+ url = "https://taskwarrior.org/download/taskd-1.1.0.tar.gz"
- version('1.1.0', sha256='7b8488e687971ae56729ff4e2e5209ff8806cf8cd57718bfd7e521be130621b4')
+ version("1.1.0", sha256="7b8488e687971ae56729ff4e2e5209ff8806cf8cd57718bfd7e521be130621b4")
- depends_on('uuid')
- depends_on('gnutls')
- depends_on('cmake@2.8:', type='build')
+ depends_on("uuid")
+ depends_on("gnutls")
+ depends_on("cmake@2.8:", type="build")
- conflicts('%gcc@:4.7')
+ conflicts("%gcc@:4.7")
diff --git a/var/spack/repos/builtin/packages/taskflow/package.py b/var/spack/repos/builtin/packages/taskflow/package.py
index d108e53383..7c84f588fb 100644
--- a/var/spack/repos/builtin/packages/taskflow/package.py
+++ b/var/spack/repos/builtin/packages/taskflow/package.py
@@ -12,16 +12,16 @@ class Taskflow(CMakePackage):
modern C++."""
homepage = "https://github.com/taskflow/taskflow"
- url = "https://github.com/taskflow/taskflow/archive/v2.7.0.tar.gz"
- git = "https://github.com/taskflow/taskflow.git"
+ url = "https://github.com/taskflow/taskflow/archive/v2.7.0.tar.gz"
+ git = "https://github.com/taskflow/taskflow.git"
- version('master', branch='master')
- version('2.7.0', sha256='bc2227dcabec86abeba1fee56bb357d9d3c0ef0184f7c2275d7008e8758dfc3e')
+ version("master", branch="master")
+ version("2.7.0", sha256="bc2227dcabec86abeba1fee56bb357d9d3c0ef0184f7c2275d7008e8758dfc3e")
# Compiler must offer C++14 support
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.5')
- conflicts('%apple-clang@:8.0.0')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.5")
+ conflicts("%apple-clang@:8.0.0")
# untested: conflicts('%intel@:15')
# untested: conflicts('%pgi@:14')
@@ -29,7 +29,7 @@ class Taskflow(CMakePackage):
try:
self.compiler.cxx14_flag
except UnsupportedCompilerFlag:
- InstallError('Taskflow requires a C++14-compliant C++ compiler')
+ InstallError("Taskflow requires a C++14-compliant C++ compiler")
args = []
return args
diff --git a/var/spack/repos/builtin/packages/tasmanian/package.py b/var/spack/repos/builtin/packages/tasmanian/package.py
index bc685b5df5..6296e59a08 100644
--- a/var/spack/repos/builtin/packages/tasmanian/package.py
+++ b/var/spack/repos/builtin/packages/tasmanian/package.py
@@ -15,145 +15,146 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
ApproximatioN is a robust library for high dimensional integration and
interpolation as well as parameter calibration."""
- homepage = 'http://tasmanian.ornl.gov'
- url = 'https://github.com/ORNL/TASMANIAN/archive/v7.5.tar.gz'
- git = 'https://github.com/ORNL/TASMANIAN.git'
-
- tags = ['e4s']
- maintainers = ['mkstoyanov']
-
- version('develop', branch='master')
-
- version('7.7', sha256='85fb3a7b302ea21a3b700712767a59a623d9ab93da03308fa47d4413654c3878')
- version('7.5', sha256='d621bd36dced4db86ef638693ba89b336762e7a3d7fedb3b5bcefb03390712b3')
- version('7.3', sha256='5bd1dd89cc5c84506f6900b6569b17e50becd73eb31ec85cfa11d6f1f912c4fa')
- version('7.1', sha256='9c24a591506a478745b802f1fa5c557da7bc80b12d8070855de6bc7aaca7547a')
- version('7.0', sha256='4094ba4ee2f1831c575d00368c8471d3038f813398be2e500739cef5c7c4a47b') # use for xsdk-0.5.0
- version('6.0', sha256='ceab842e9fbce2f2de971ba6226967caaf1627b3e5d10799c3bd2e7c3285ba8b') # use for xsdk-0.4.0
- version('5.1', sha256='b0c1be505ce5f8041984c63edca9100d81df655733681858f5cc10e8c0c72711')
-
- version('5.0', sha256='2540bb63dea987ab205f7b375aff41f320b1de9bd7f1d1064ef96b22eeda1251',
- url='https://tasmanian.ornl.gov/documents/Tasmanian_v5.0.zip')
-
- variant('xsdkflags', default=False,
- description='enable XSDK defaults for Tasmanian')
-
- variant('openmp', default=True,
- description='add OpenMP support to Tasmanian')
+ homepage = "http://tasmanian.ornl.gov"
+ url = "https://github.com/ORNL/TASMANIAN/archive/v7.5.tar.gz"
+ git = "https://github.com/ORNL/TASMANIAN.git"
+
+ tags = ["e4s"]
+ maintainers = ["mkstoyanov"]
+
+ version("develop", branch="master")
+
+ version("7.7", sha256="85fb3a7b302ea21a3b700712767a59a623d9ab93da03308fa47d4413654c3878")
+ version("7.5", sha256="d621bd36dced4db86ef638693ba89b336762e7a3d7fedb3b5bcefb03390712b3")
+ version("7.3", sha256="5bd1dd89cc5c84506f6900b6569b17e50becd73eb31ec85cfa11d6f1f912c4fa")
+ version("7.1", sha256="9c24a591506a478745b802f1fa5c557da7bc80b12d8070855de6bc7aaca7547a")
+ version(
+ "7.0", sha256="4094ba4ee2f1831c575d00368c8471d3038f813398be2e500739cef5c7c4a47b"
+ ) # use for xsdk-0.5.0
+ version(
+ "6.0", sha256="ceab842e9fbce2f2de971ba6226967caaf1627b3e5d10799c3bd2e7c3285ba8b"
+ ) # use for xsdk-0.4.0
+ version("5.1", sha256="b0c1be505ce5f8041984c63edca9100d81df655733681858f5cc10e8c0c72711")
+
+ version(
+ "5.0",
+ sha256="2540bb63dea987ab205f7b375aff41f320b1de9bd7f1d1064ef96b22eeda1251",
+ url="https://tasmanian.ornl.gov/documents/Tasmanian_v5.0.zip",
+ )
+
+ variant("xsdkflags", default=False, description="enable XSDK defaults for Tasmanian")
+
+ variant("openmp", default=True, description="add OpenMP support to Tasmanian")
# tested with OpenMP 3.1 (clang4) through 4.0-4.5 (gcc 5 - 8)
- variant('blas', default=False,
- description='add BLAS support to Tasmanian')
+ variant("blas", default=False, description="add BLAS support to Tasmanian")
- variant('mpi', default=False,
- description='add MPI support to Tasmanian')
+ variant("mpi", default=False, description="add MPI support to Tasmanian")
- variant('cuda', default=False,
- description='add CUDA support to Tasmanian')
+ variant("cuda", default=False, description="add CUDA support to Tasmanian")
- variant('rocm', default=False,
- description='add ROCm support to Tasmanian')
+ variant("rocm", default=False, description="add ROCm support to Tasmanian")
- variant('magma', default=False,
- description='add UTK MAGMA support to Tasmanian')
+ variant("magma", default=False, description="add UTK MAGMA support to Tasmanian")
- variant('python', default=False,
- description='add Python binding for Tasmanian')
+ variant("python", default=False, description="add Python binding for Tasmanian")
- variant('fortran', default=False,
- description='add Fortran 90/95 interface to Tasmanian')
+ variant("fortran", default=False, description="add Fortran 90/95 interface to Tasmanian")
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release"),
+ )
- depends_on('cmake@2.8:', type='build')
- depends_on('cmake@3.5:', type='build', when='@6.0:')
- depends_on('cmake@3.10:', type=('build', 'run'), when='@7.0:')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("cmake@3.5:", type="build", when="@6.0:")
+ depends_on("cmake@3.10:", type=("build", "run"), when="@7.0:")
- depends_on('python@2.7:', when='+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
+ depends_on("python@2.7:", when="+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
- extends('python', when='+python', type=('build', 'run'))
+ extends("python", when="+python", type=("build", "run"))
- depends_on('mpi', when="+mpi", type=('build', 'run')) # openmpi 2 and 3 tested
+ depends_on("mpi", when="+mpi", type=("build", "run")) # openmpi 2 and 3 tested
- depends_on('blas', when="+blas", type=('build', 'run')) # openblas 0.2.18 or newer
- depends_on('lapack', when="+blas @7.1:", type=('build', 'run')) # lapack used since 7.1
+ depends_on("blas", when="+blas", type=("build", "run")) # openblas 0.2.18 or newer
+ depends_on("lapack", when="+blas @7.1:", type=("build", "run")) # lapack used since 7.1
- depends_on('cuda@8.0.61:', when='+cuda', type=('build', 'run'))
- depends_on('cuda@8.0.61:', when='+magma', type=('build', 'run'))
+ depends_on("cuda@8.0.61:", when="+cuda", type=("build", "run"))
+ depends_on("cuda@8.0.61:", when="+magma", type=("build", "run"))
- depends_on('hip@3.8:', when='+rocm', type=('build', 'run'))
- depends_on('rocblas@3.8:', when='+rocm', type=('build', 'run'))
- depends_on('rocsparse@3.8:', when='+rocm', type=('build', 'run'))
- depends_on('rocsolver@3.8:', when='+rocm', type=('build', 'run'))
+ depends_on("hip@3.8:", when="+rocm", type=("build", "run"))
+ depends_on("rocblas@3.8:", when="+rocm", type=("build", "run"))
+ depends_on("rocsparse@3.8:", when="+rocm", type=("build", "run"))
+ depends_on("rocsolver@3.8:", when="+rocm", type=("build", "run"))
- depends_on('magma@2.4.0:', when='+magma @6.0:', type=('build', 'run'))
- depends_on('magma@2.5.0:', when='+magma @7.0:', type=('build', 'run'))
+ depends_on("magma@2.4.0:", when="+magma @6.0:", type=("build", "run"))
+ depends_on("magma@2.5.0:", when="+magma @7.0:", type=("build", "run"))
- conflicts('-cuda', when='+magma') # currently MAGMA only works with CUDA
- conflicts('+cuda', when='+rocm') # can pick CUDA or ROCm, not both
+ conflicts("-cuda", when="+magma") # currently MAGMA only works with CUDA
+ conflicts("+cuda", when="+rocm") # can pick CUDA or ROCm, not both
# old versions
- conflicts('+rocm', when='@:7.3') # ROCm was added in 7.3, tested in 7.5
- conflicts('+magma', when='@:5.1') # magma does not work prior to 6.0
- conflicts('+mpi', when='@:5.1') # MPI is broken prior to 6.0
- conflicts('+xsdkflags', when='@:5.1') # 6.0 is the first version included in xSDK
+ conflicts("+rocm", when="@:7.3") # ROCm was added in 7.3, tested in 7.5
+ conflicts("+magma", when="@:5.1") # magma does not work prior to 6.0
+ conflicts("+mpi", when="@:5.1") # MPI is broken prior to 6.0
+ conflicts("+xsdkflags", when="@:5.1") # 6.0 is the first version included in xSDK
# patching some bugs
- patch('addons70.patch', when='@7.0')
- patch('packageconf70.patch', when='@7.0')
+ patch("addons70.patch", when="@7.0")
+ patch("packageconf70.patch", when="@7.0")
def setup_build_environment(self, env):
# needed for the hipcc compiler
if "+rocm" in self.spec:
- env.set('CXX', self.spec['hip'].hipcc)
+ env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
spec = self.spec
# 7.1 is the last version to use xSDK legacy build options
- if '+xsdkflags' in spec and spec.satisfies('@:7.1'):
+ if "+xsdkflags" in spec and spec.satisfies("@:7.1"):
args = [
- '-DUSE_XSDK_DEFAULTS:BOOL=ON',
- self.define_from_variant('XSDK_ENABLE_PYTHON', 'python'),
- self.define_from_variant('TPL_ENABLE_MPI', 'mpi'),
- self.define_from_variant('XSDK_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('TPL_ENABLE_BLAS', 'blas'),
- self.define_from_variant('XSDK_ENABLE_CUDA', 'cuda'),
- self.define_from_variant('TPL_ENABLE_MAGMA', 'magma'),
- self.define_from_variant('XSDK_ENABLE_FORTRAN', 'fortran'), ]
+ "-DUSE_XSDK_DEFAULTS:BOOL=ON",
+ self.define_from_variant("XSDK_ENABLE_PYTHON", "python"),
+ self.define_from_variant("TPL_ENABLE_MPI", "mpi"),
+ self.define_from_variant("XSDK_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("TPL_ENABLE_BLAS", "blas"),
+ self.define_from_variant("XSDK_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("TPL_ENABLE_MAGMA", "magma"),
+ self.define_from_variant("XSDK_ENABLE_FORTRAN", "fortran"),
+ ]
else:
args = [
- self.define_from_variant('Tasmanian_ENABLE_OPENMP', 'openmp'),
- self.define_from_variant('Tasmanian_ENABLE_BLAS', 'blas'),
- self.define_from_variant('Tasmanian_ENABLE_PYTHON', 'python'),
- self.define_from_variant('Tasmanian_ENABLE_MPI', 'mpi'),
- self.define_from_variant('Tasmanian_ENABLE_CUDA', 'cuda'),
- self.define_from_variant('Tasmanian_ENABLE_HIP', 'rocm'),
- self.define_from_variant('Tasmanian_ENABLE_MAGMA', 'magma'),
- self.define_from_variant('Tasmanian_ENABLE_FORTRAN',
- 'fortran'), ]
-
- if spec.satisfies('+blas'):
- args.append('-DBLAS_LIBRARIES={0}'.format(spec['blas'].libs.joined(';')))
+ self.define_from_variant("Tasmanian_ENABLE_OPENMP", "openmp"),
+ self.define_from_variant("Tasmanian_ENABLE_BLAS", "blas"),
+ self.define_from_variant("Tasmanian_ENABLE_PYTHON", "python"),
+ self.define_from_variant("Tasmanian_ENABLE_MPI", "mpi"),
+ self.define_from_variant("Tasmanian_ENABLE_CUDA", "cuda"),
+ self.define_from_variant("Tasmanian_ENABLE_HIP", "rocm"),
+ self.define_from_variant("Tasmanian_ENABLE_MAGMA", "magma"),
+ self.define_from_variant("Tasmanian_ENABLE_FORTRAN", "fortran"),
+ ]
+
+ if spec.satisfies("+blas"):
+ args.append("-DBLAS_LIBRARIES={0}".format(spec["blas"].libs.joined(";")))
+ args.append("-DLAPACK_LIBRARIES={0}".format(spec["lapack"].libs.joined(";")))
+
+ if spec.satisfies("+python"):
args.append(
- '-DLAPACK_LIBRARIES={0}'.format(spec['lapack'].libs.joined(';'))
+ "-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command.path)
)
- if spec.satisfies('+python'):
- args.append('-DPYTHON_EXECUTABLE:FILEPATH={0}'.format(
- self.spec['python'].command.path))
-
# See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322
- if self.spec.satisfies('+rocm') and self.spec.satisfies('^cmake@3.21:'):
- args.append(self.define('__skip_rocmclang', 'ON'))
+ if self.spec.satisfies("+rocm") and self.spec.satisfies("^cmake@3.21:"):
+ args.append(self.define("__skip_rocmclang", "ON"))
# _CUBLAS and _CUDA were separate options prior to 6.0
# skipping _CUBLAS leads to peformance regression
- if spec.satisfies('@:5.1'):
- args.append(self.define_from_variant('Tasmanian_ENABLE_CUBLAS', 'cuda'))
+ if spec.satisfies("@:5.1"):
+ args.append(self.define_from_variant("Tasmanian_ENABLE_CUBLAS", "cuda"))
return args
@@ -162,47 +163,43 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
# tests can access build dependencies through self.spec['cmake'].
def cmake_bin(self, set=True):
"""(Hack) Set/get cmake dependency path."""
- filepath = join_path(self.install_test_root, 'cmake_bin_path.txt')
+ filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
if set:
- with open(filepath, 'w') as out_file:
- cmake_bin = join_path(self.spec['cmake'].prefix.bin, 'cmake')
- out_file.write('{0}\n'.format(cmake_bin))
+ with open(filepath, "w") as out_file:
+ cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
+ out_file.write("{0}\n".format(cmake_bin))
elif os.path.isfile(filepath):
- with open(filepath, 'r') as in_file:
+ with open(filepath, "r") as in_file:
return in_file.read().strip()
- @run_after('install')
+ @run_after("install")
def setup_smoke_test(self):
- if not self.spec['cmake'].satisfies('@3.10:'):
- tty.msg('Error tasmanian test: CMake 3.10 or higher is required')
+ if not self.spec["cmake"].satisfies("@3.10:"):
+ tty.msg("Error tasmanian test: CMake 3.10 or higher is required")
return
- install_tree(self.prefix.share.Tasmanian.testing,
- join_path(self.install_test_root, 'testing'))
+ install_tree(
+ self.prefix.share.Tasmanian.testing, join_path(self.install_test_root, "testing")
+ )
self.cmake_bin(set=True)
def test(self):
cmake_bin = self.cmake_bin(set=False)
if not cmake_bin:
- tty.msg('Skipping tasmanian test: cmake_bin_path.txt not found')
+ tty.msg("Skipping tasmanian test: cmake_bin_path.txt not found")
return
# using the tests copied from <prefix>/share/Tasmanian/testing
cmake_dir = self.test_suite.current_test_cache_dir.testing
- if not self.run_test(cmake_bin,
- options=[cmake_dir],
- purpose='Generate the Makefile'):
- tty.msg('Skipping tasmanian test: failed to generate Makefile')
+ if not self.run_test(cmake_bin, options=[cmake_dir], purpose="Generate the Makefile"):
+ tty.msg("Skipping tasmanian test: failed to generate Makefile")
return
- if not self.run_test('make',
- purpose='Build test software'):
- tty.msg('Skipping tasmanian test: failed to build test')
+ if not self.run_test("make", purpose="Build test software"):
+ tty.msg("Skipping tasmanian test: failed to build test")
return
- if not self.run_test('make',
- options=['test'],
- purpose='Run test'):
- tty.msg('Failed tasmanian test: failed to run test')
+ if not self.run_test("make", options=["test"], purpose="Run test"):
+ tty.msg("Failed tasmanian test: failed to run test")
diff --git a/var/spack/repos/builtin/packages/tassel/package.py b/var/spack/repos/builtin/packages/tassel/package.py
index c42e960008..571ff5f323 100644
--- a/var/spack/repos/builtin/packages/tassel/package.py
+++ b/var/spack/repos/builtin/packages/tassel/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Tassel(Package):
"""TASSEL is a software package to evaluate traits associations,
- evolutionary patterns, and linkage disequilibrium."""
+ evolutionary patterns, and linkage disequilibrium."""
homepage = "https://www.maizegenetics.net/tassel"
- git = "https://bitbucket.org/tasseladmin/tassel-5-standalone.git"
+ git = "https://bitbucket.org/tasseladmin/tassel-5-standalone.git"
- version('2017-07-22', commit='ae96ae75c3c9a9e8026140b6c775fa4685bdf531')
+ version("2017-07-22", commit="ae96ae75c3c9a9e8026140b6c775fa4685bdf531")
- depends_on('java', type=('build', 'run'))
- depends_on('perl', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
+ depends_on("perl", type=("build", "run"))
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
def setup_run_environment(self, env):
- env.prepend_path('CLASSPATH', self.prefix.bin.lib)
+ env.prepend_path("CLASSPATH", self.prefix.bin.lib)
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index 6a45739df4..08b4f869cd 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -18,119 +18,125 @@ class Tau(Package):
Java, Python.
"""
- maintainers = ['wspear', 'eugeneswalker', 'khuck', 'sameershende']
+ maintainers = ["wspear", "eugeneswalker", "khuck", "sameershende"]
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"
-
- tags = ['e4s']
-
- version('master', branch='master')
- version('2.31.1', sha256='bf445b9d4fe40a5672a7b175044d2133791c4dfb36a214c1a55a931aebc06b9d')
- version('2.31', sha256='27e73c395dd2a42b91591ce4a76b88b1f67663ef13aa19ef4297c68f45d946c2')
- version('2.30.2', sha256='43f84a15b71a226f8a64d966f0cb46022bcfbaefb341295ecc6fa80bb82bbfb4')
- version('2.30.1', sha256='9c20ca1b4f4e80d885f24491cee598068871f0e9dd67906a5e47e4b4147d08fc')
- version('2.30', sha256='e581c33e21488d69839a00d97fd4451ea579f47249b2750d5c36bea773041eaf')
- version('2.29.1', sha256='4195a0a236bba510ab50a93e13c7f00d9472e8bc46c91de3f0696112a34e34e2')
- version('2.29', sha256='146be769a23c869a7935e8fa5ba79f40ba36b9057a96dda3be6730fc9ca86086')
- version('2.28.2', sha256='64e129a482056755012b91dae2fb4f728dbf3adbab53d49187eca952891c5457')
- version('2.28.1', sha256='b262e5c9977471e9f5a8d729b3db743012df9b0ab8244da2842039f8a3b98b34')
- version('2.28', sha256='68c6f13ae748d12c921456e494006796ca2b0efebdeef76ee7c898c81592883e')
- version('2.27.2p1', sha256='3256771fb71c2b05932b44d0650e6eadc712f1bdedf4c0fb2781db3b266225dd')
- version('2.27.2', sha256='d319a4588ad303b71082254f4f40aa76f6183a01b5bc4bd987f76e1a6026efa1')
- version('2.27.1', sha256='315babab4da25dd08633ad8dbf33d93db77f57d240bcbd3527ed5b8710cb9d8f')
- version('2.27', sha256='d48fdca49cda2d9f25a0cf5dbd961201c8a2b1f025bcbb121d96ad43f211f1a7')
- version('2.26.3', sha256='bd785ed47f20e6b8b2a1d99ce383d292f70b1fb9e2eaab21f5eaf8e64b28e990')
- version('2.26.2', sha256='92ca68db51fd5bd026187e70b397bcd1db9bfb07008d7e8bc935411a97978834')
- version('2.26.1', sha256='d084ff87e5f9fe640a3fc48aa5c8c52f586e7b739787f2bb9a4249005e459896')
- version('2.26', sha256='458228646a13a228841d4133f24af14cc182f4978eb15ef6244d71735abe8d16')
- version('2.25', sha256='ab8a8c15a075af69aa23b4790b4e2d9dffc3b880fc1ff806c21535ab69b6a088')
- version('2.24.1', sha256='bc27052c36377e4b8fc0bbb4afaa57eaa8bcb3f5e5066e576b0f40d341c28a0e')
- version('2.24', sha256='5d28e8b26561c7cd7d0029b56ec0f95fc26803ac0b100c98e00af0b02e7f55e2')
- version('2.23.1', sha256='31a4d0019cec6ef57459a9cd18a220f0130838a5f1a0b5ea7879853f5a38cf88')
+ url = "https://www.cs.uoregon.edu/research/tau/tau_releases/tau-2.30.tar.gz"
+ git = "https://github.com/UO-OACISS/tau2"
+
+ tags = ["e4s"]
+
+ version("master", branch="master")
+ version("2.31.1", sha256="bf445b9d4fe40a5672a7b175044d2133791c4dfb36a214c1a55a931aebc06b9d")
+ version("2.31", sha256="27e73c395dd2a42b91591ce4a76b88b1f67663ef13aa19ef4297c68f45d946c2")
+ version("2.30.2", sha256="43f84a15b71a226f8a64d966f0cb46022bcfbaefb341295ecc6fa80bb82bbfb4")
+ version("2.30.1", sha256="9c20ca1b4f4e80d885f24491cee598068871f0e9dd67906a5e47e4b4147d08fc")
+ version("2.30", sha256="e581c33e21488d69839a00d97fd4451ea579f47249b2750d5c36bea773041eaf")
+ version("2.29.1", sha256="4195a0a236bba510ab50a93e13c7f00d9472e8bc46c91de3f0696112a34e34e2")
+ version("2.29", sha256="146be769a23c869a7935e8fa5ba79f40ba36b9057a96dda3be6730fc9ca86086")
+ version("2.28.2", sha256="64e129a482056755012b91dae2fb4f728dbf3adbab53d49187eca952891c5457")
+ version("2.28.1", sha256="b262e5c9977471e9f5a8d729b3db743012df9b0ab8244da2842039f8a3b98b34")
+ version("2.28", sha256="68c6f13ae748d12c921456e494006796ca2b0efebdeef76ee7c898c81592883e")
+ version("2.27.2p1", sha256="3256771fb71c2b05932b44d0650e6eadc712f1bdedf4c0fb2781db3b266225dd")
+ version("2.27.2", sha256="d319a4588ad303b71082254f4f40aa76f6183a01b5bc4bd987f76e1a6026efa1")
+ version("2.27.1", sha256="315babab4da25dd08633ad8dbf33d93db77f57d240bcbd3527ed5b8710cb9d8f")
+ version("2.27", sha256="d48fdca49cda2d9f25a0cf5dbd961201c8a2b1f025bcbb121d96ad43f211f1a7")
+ version("2.26.3", sha256="bd785ed47f20e6b8b2a1d99ce383d292f70b1fb9e2eaab21f5eaf8e64b28e990")
+ version("2.26.2", sha256="92ca68db51fd5bd026187e70b397bcd1db9bfb07008d7e8bc935411a97978834")
+ version("2.26.1", sha256="d084ff87e5f9fe640a3fc48aa5c8c52f586e7b739787f2bb9a4249005e459896")
+ version("2.26", sha256="458228646a13a228841d4133f24af14cc182f4978eb15ef6244d71735abe8d16")
+ version("2.25", sha256="ab8a8c15a075af69aa23b4790b4e2d9dffc3b880fc1ff806c21535ab69b6a088")
+ version("2.24.1", sha256="bc27052c36377e4b8fc0bbb4afaa57eaa8bcb3f5e5066e576b0f40d341c28a0e")
+ version("2.24", sha256="5d28e8b26561c7cd7d0029b56ec0f95fc26803ac0b100c98e00af0b02e7f55e2")
+ version("2.23.1", sha256="31a4d0019cec6ef57459a9cd18a220f0130838a5f1a0b5ea7879853f5a38cf88")
# Disable some default dependencies on Darwin/OSX
darwin_default = False
- if sys.platform != 'darwin':
+ if sys.platform != "darwin":
darwin_default = True
- variant('scorep', default=False, description='Activates SCOREP support')
- variant('openmp', default=False, description='Use OpenMP threads')
- variant('pthreads', default=True, description='Use POSIX threads')
- variant('mpi', default=False, description='Specify use of TAU MPI wrapper library')
- variant('phase', default=False, description='Generate phase based profiles')
- variant('papi', default=darwin_default, description='Activates Performance API')
- variant('binutils', default=True, description='Activates support of BFD GNU Binutils')
- variant('libdwarf', default=darwin_default, description='Activates support of libdwarf')
- variant('elf', default=darwin_default, description='Activates support of elf')
- variant('libunwind', default=darwin_default, description='Activates support of libunwind')
- variant('otf2', default=True, description='Activates support of Open Trace Format (OTF)')
- variant('pdt', default=True, description='Use PDT for source code instrumentation')
- variant('comm', default=False, description=' Generate profiles with MPI communicator info')
- variant('python', default=False, description='Activates Python support')
- variant('likwid', default=False, description='Activates LIKWID support')
- variant('ompt', default=False, description='Activates OMPT instrumentation')
- variant('opari', default=False, description='Activates Opari2 instrumentation')
- variant('shmem', default=False, description='Activates SHMEM support')
- variant('gasnet', default=False, description='Activates GASNET support')
- variant('cuda', default=False, description='Activates CUDA support')
- variant('rocm', default=False, description='Activates ROCm support')
- variant('level_zero', default=False, description='Activates Intel OneAPI Level Zero support')
- variant('rocprofiler', default=False, description='Activates ROCm rocprofiler support')
- variant('roctracer', default=False, description='Activates ROCm roctracer support')
- variant('opencl', default=False, description='Activates OpenCL support')
- variant('fortran', default=darwin_default, description='Activates Fortran support')
- variant('io', default=True, description='Activates POSIX I/O support')
- variant('adios2', default=False, description='Activates ADIOS2 output support')
- variant('sqlite', default=False, description='Activates SQLite3 output support')
- variant('profileparam', default=False, description='Generate profiles with parameter mapped event data')
+ variant("scorep", default=False, description="Activates SCOREP support")
+ variant("openmp", default=False, description="Use OpenMP threads")
+ variant("pthreads", default=True, description="Use POSIX threads")
+ variant("mpi", default=False, description="Specify use of TAU MPI wrapper library")
+ variant("phase", default=False, description="Generate phase based profiles")
+ variant("papi", default=darwin_default, description="Activates Performance API")
+ variant("binutils", default=True, description="Activates support of BFD GNU Binutils")
+ variant("libdwarf", default=darwin_default, description="Activates support of libdwarf")
+ variant("elf", default=darwin_default, description="Activates support of elf")
+ variant("libunwind", default=darwin_default, description="Activates support of libunwind")
+ variant("otf2", default=True, description="Activates support of Open Trace Format (OTF)")
+ variant("pdt", default=True, description="Use PDT for source code instrumentation")
+ variant("comm", default=False, description=" Generate profiles with MPI communicator info")
+ variant("python", default=False, description="Activates Python support")
+ variant("likwid", default=False, description="Activates LIKWID support")
+ variant("ompt", default=False, description="Activates OMPT instrumentation")
+ variant("opari", default=False, description="Activates Opari2 instrumentation")
+ variant("shmem", default=False, description="Activates SHMEM support")
+ variant("gasnet", default=False, description="Activates GASNET support")
+ variant("cuda", default=False, description="Activates CUDA support")
+ variant("rocm", default=False, description="Activates ROCm support")
+ variant("level_zero", default=False, description="Activates Intel OneAPI Level Zero support")
+ variant("rocprofiler", default=False, description="Activates ROCm rocprofiler support")
+ variant("roctracer", default=False, description="Activates ROCm roctracer support")
+ variant("opencl", default=False, description="Activates OpenCL support")
+ variant("fortran", default=darwin_default, description="Activates Fortran support")
+ variant("io", default=True, description="Activates POSIX I/O support")
+ variant("adios2", default=False, description="Activates ADIOS2 output support")
+ variant("sqlite", default=False, description="Activates SQLite3 output support")
+ variant(
+ "profileparam",
+ default=False,
+ description="Generate profiles with parameter mapped event data",
+ )
# Support cross compiling.
# This is a _reasonable_ subset of the full set of TAU
# architectures supported:
- variant('craycnl', default=False, description='Build for Cray compute nodes')
- variant('ppc64le', default=False, description='Build for IBM Power LE nodes')
- variant('x86_64', default=False, description='Force build for x86 Linux instead of auto-detect')
-
- depends_on('cmake@3.14:', type='build', when='%clang')
- depends_on('zlib', type='link')
- depends_on('pdt', when='+pdt') # Required for TAU instrumentation
- depends_on('scorep', when='+scorep')
- depends_on('otf2@2.1:2.3', when='+otf2')
- depends_on('likwid', when='+likwid')
- depends_on('papi', when='+papi')
- depends_on('libdwarf', when='+libdwarf')
- depends_on('elf', when='+elf')
+ variant("craycnl", default=False, description="Build for Cray compute nodes")
+ variant("ppc64le", default=False, description="Build for IBM Power LE nodes")
+ variant(
+ "x86_64", default=False, description="Force build for x86 Linux instead of auto-detect"
+ )
+
+ depends_on("cmake@3.14:", type="build", when="%clang")
+ depends_on("zlib", type="link")
+ depends_on("pdt", when="+pdt") # Required for TAU instrumentation
+ depends_on("scorep", when="+scorep")
+ depends_on("otf2@2.1:2.3", when="+otf2")
+ depends_on("likwid", when="+likwid")
+ depends_on("papi", when="+papi")
+ depends_on("libdwarf", when="+libdwarf")
+ depends_on("elf", when="+elf")
# TAU requires the ELF header support, libiberty and demangle.
- depends_on('binutils+libiberty+headers+plugins', when='+binutils')
+ depends_on("binutils+libiberty+headers+plugins", when="+binutils")
# Build errors with Python 3.9
- depends_on('python@2.7:3.8', when='+python')
- depends_on('libunwind', when='+libunwind')
- depends_on('mpi', when='+mpi', type=('build', 'run', 'link'))
- depends_on('cuda', when='+cuda')
- depends_on('gasnet', when='+gasnet')
- depends_on('adios2', when='+adios2')
- depends_on('sqlite', when='+sqlite')
- depends_on('hwloc')
- depends_on('rocprofiler-dev', when='+rocprofiler')
- depends_on('roctracer-dev', when='+roctracer')
- depends_on('hsa-rocr-dev', when='+rocm')
- depends_on('java', type='run') # for paraprof
- depends_on('oneapi-level-zero', when='+level_zero')
+ depends_on("python@2.7:3.8", when="+python")
+ depends_on("libunwind", when="+libunwind")
+ depends_on("mpi", when="+mpi", type=("build", "run", "link"))
+ depends_on("cuda", when="+cuda")
+ depends_on("gasnet", when="+gasnet")
+ depends_on("adios2", when="+adios2")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("hwloc")
+ depends_on("rocprofiler-dev", when="+rocprofiler")
+ depends_on("roctracer-dev", when="+roctracer")
+ depends_on("hsa-rocr-dev", when="+rocm")
+ depends_on("java", type="run") # for paraprof
+ depends_on("oneapi-level-zero", when="+level_zero")
# Elf only required from 2.28.1 on
- conflicts('+elf', when='@:2.28.0')
- conflicts('+libdwarf', when='@:2.28.0')
+ conflicts("+elf", when="@:2.28.0")
+ conflicts("+libdwarf", when="@:2.28.0")
# ADIOS2, SQLite only available from 2.29.1 on
- conflicts('+adios2', when='@:2.29.1')
- conflicts('+sqlite', when='@:2.29.1')
+ conflicts("+adios2", when="@:2.29.1")
+ conflicts("+sqlite", when="@:2.29.1")
- patch('unwind.patch', when="@2.29.0")
+ patch("unwind.patch", when="@2.29.0")
- filter_compiler_wrappers('Makefile', relative_root='include')
- filter_compiler_wrappers('Makefile.tau*', relative_root='lib')
- filter_compiler_wrappers('Makefile.tau*', relative_root='lib64')
+ filter_compiler_wrappers("Makefile", relative_root="include")
+ filter_compiler_wrappers("Makefile.tau*", relative_root="lib")
+ filter_compiler_wrappers("Makefile.tau*", relative_root="lib64")
def set_compiler_options(self, spec):
@@ -153,152 +159,154 @@ class Tau(Package):
# PATH
compiler_path = os.path.dirname(self.compiler.cc)
if not compiler_path and self.compiler.cc_names[0] == "gcc":
- compiler_path = os.environ.get('GCC_PATH', '')
+ compiler_path = os.environ.get("GCC_PATH", "")
if compiler_path:
compiler_path = compiler_path + "/bin/"
- os.environ['PATH'] = ':'.join([compiler_path, os.environ['PATH']])
+ os.environ["PATH"] = ":".join([compiler_path, os.environ["PATH"]])
- compiler_options = ['-c++=%s' % self.compiler.cxx_names[0],
- '-cc=%s' % self.compiler.cc_names[0]]
+ compiler_options = [
+ "-c++=%s" % self.compiler.cxx_names[0],
+ "-cc=%s" % self.compiler.cc_names[0],
+ ]
- if '+fortran' in spec and self.compiler.fc:
- compiler_options.append('-fortran=%s' % self.compiler.fc_names[0])
+ if "+fortran" in spec and self.compiler.fc:
+ compiler_options.append("-fortran=%s" % self.compiler.fc_names[0])
##########
# Construct the string of custom compiler flags and append it to
# compiler related options
- useropt = ' '.join(useropt)
+ useropt = " ".join(useropt)
useropt = "-useropt=%s" % useropt
compiler_options.append(useropt)
return compiler_options
def setup_build_environment(self, env):
- env.prepend_path('LIBRARY_PATH', self.spec['zlib'].prefix.lib)
- env.prepend_path('LIBRARY_PATH', self.spec['hwloc'].prefix.lib)
+ env.prepend_path("LIBRARY_PATH", self.spec["zlib"].prefix.lib)
+ env.prepend_path("LIBRARY_PATH", self.spec["hwloc"].prefix.lib)
def install(self, spec, prefix):
# TAU isn't happy with directories that have '@' in the path. Sigh.
- change_sed_delimiter('@', ';', 'configure')
- change_sed_delimiter('@', ';', 'utils/FixMakefile')
- change_sed_delimiter('@', ';', 'utils/FixMakefile.sed.default')
+ change_sed_delimiter("@", ";", "configure")
+ change_sed_delimiter("@", ";", "utils/FixMakefile")
+ change_sed_delimiter("@", ";", "utils/FixMakefile.sed.default")
# TAU configure, despite the name , seems to be a manually
# written script (nothing related to autotools). As such it has
# a few #peculiarities# that make this build quite hackish.
options = ["-prefix=%s" % prefix]
- if '+craycnl' in spec:
- options.append('-arch=craycnl')
+ if "+craycnl" in spec:
+ options.append("-arch=craycnl")
- if '+ppc64le' in spec:
- options.append('-arch=ibm64linux')
+ if "+ppc64le" in spec:
+ options.append("-arch=ibm64linux")
- if '+x86_64' in spec:
- options.append('-arch=x86_64')
+ if "+x86_64" in spec:
+ options.append("-arch=x86_64")
- if ('platform=cray' in self.spec) and ('+x86_64' not in spec):
- options.append('-arch=craycnl')
+ if ("platform=cray" in self.spec) and ("+x86_64" not in spec):
+ options.append("-arch=craycnl")
- if '+pdt' in spec:
- options.append("-pdt=%s" % spec['pdt'].prefix)
- if spec['pdt'].satisfies("%intel"):
+ if "+pdt" in spec:
+ options.append("-pdt=%s" % spec["pdt"].prefix)
+ if spec["pdt"].satisfies("%intel"):
options.append("-pdt_c++=icpc")
- if '+scorep' in spec:
- options.append("-scorep=%s" % spec['scorep'].prefix)
+ if "+scorep" in spec:
+ options.append("-scorep=%s" % spec["scorep"].prefix)
- if '+pthreads' in spec:
- options.append('-pthread')
+ if "+pthreads" in spec:
+ options.append("-pthread")
- if '+likwid' in spec:
- options.append("-likwid=%s" % spec['likwid'].prefix)
+ if "+likwid" in spec:
+ options.append("-likwid=%s" % spec["likwid"].prefix)
- if '+papi' in spec:
- options.append("-papi=%s" % spec['papi'].prefix)
+ if "+papi" in spec:
+ options.append("-papi=%s" % spec["papi"].prefix)
- if '+openmp' in spec:
- options.append('-openmp')
+ if "+openmp" in spec:
+ options.append("-openmp")
- if '+opari' in spec:
- options.append('-opari')
+ if "+opari" in spec:
+ options.append("-opari")
- if '+ompt' in spec:
- options.append('-ompt')
+ if "+ompt" in spec:
+ options.append("-ompt")
- if '+io' in spec:
- options.append('-iowrapper')
+ if "+io" in spec:
+ options.append("-iowrapper")
- if '+binutils' in spec:
- options.append("-bfd=%s" % spec['binutils'].prefix)
+ if "+binutils" in spec:
+ options.append("-bfd=%s" % spec["binutils"].prefix)
- if '+libdwarf' in spec:
- options.append("-dwarf=%s" % spec['libdwarf'].prefix)
+ if "+libdwarf" in spec:
+ options.append("-dwarf=%s" % spec["libdwarf"].prefix)
- if '+elf' in spec:
- options.append("-elf=%s" % spec['elf'].prefix)
+ if "+elf" in spec:
+ options.append("-elf=%s" % spec["elf"].prefix)
- if '+libunwind' in spec:
- options.append("-unwind=%s" % spec['libunwind'].prefix)
+ if "+libunwind" in spec:
+ options.append("-unwind=%s" % spec["libunwind"].prefix)
- if '+otf2' in spec:
- options.append("-otf=%s" % spec['otf2'].prefix)
+ if "+otf2" in spec:
+ options.append("-otf=%s" % spec["otf2"].prefix)
- if '+mpi' in spec:
- env['CC'] = spec['mpi'].mpicc
- env['CXX'] = spec['mpi'].mpicxx
- env['F77'] = spec['mpi'].mpif77
- env['FC'] = spec['mpi'].mpifc
- options.append("-mpiinc=%s" % spec['mpi'].prefix.include)
- options.append("-mpilib=%s" % spec['mpi'].prefix.lib)
+ if "+mpi" in spec:
+ env["CC"] = spec["mpi"].mpicc
+ env["CXX"] = spec["mpi"].mpicxx
+ env["F77"] = spec["mpi"].mpif77
+ env["FC"] = spec["mpi"].mpifc
+ options.append("-mpiinc=%s" % spec["mpi"].prefix.include)
+ options.append("-mpilib=%s" % spec["mpi"].prefix.lib)
- options.append('-mpi')
- if '+comm' in spec:
- options.append('-PROFILECOMMUNICATORS')
+ options.append("-mpi")
+ if "+comm" in spec:
+ options.append("-PROFILECOMMUNICATORS")
- if '+profileparam' in spec:
- options.append('-PROFILEPARAM')
+ if "+profileparam" in spec:
+ options.append("-PROFILEPARAM")
- if '+shmem' in spec:
- options.append('-shmem')
+ if "+shmem" in spec:
+ options.append("-shmem")
- if '+gasnet' in spec:
- options.append('-gasnet=%s' % spec['gasnet'].prefix)
+ if "+gasnet" in spec:
+ options.append("-gasnet=%s" % spec["gasnet"].prefix)
- if '+cuda' in spec:
- options.append("-cuda=%s" % spec['cuda'].prefix)
+ if "+cuda" in spec:
+ options.append("-cuda=%s" % spec["cuda"].prefix)
- if '+level_zero' in spec:
- options.append("-level_zero=%s" % spec['oneapi-level-zero'].prefix)
+ if "+level_zero" in spec:
+ options.append("-level_zero=%s" % spec["oneapi-level-zero"].prefix)
- if '+opencl' in spec:
+ if "+opencl" in spec:
options.append("-opencl")
- if '+rocm' in spec:
- options.append("-rocm=%s" % spec['hsa-rocr-dev'].prefix)
+ if "+rocm" in spec:
+ options.append("-rocm=%s" % spec["hsa-rocr-dev"].prefix)
- if '+rocprofiler' in spec:
- options.append("-rocprofiler=%s" % spec['rocprofiler-dev'].prefix)
+ if "+rocprofiler" in spec:
+ options.append("-rocprofiler=%s" % spec["rocprofiler-dev"].prefix)
- if '+roctracer' in spec:
- options.append("-roctracer=%s" % spec['roctracer-dev'].prefix)
+ if "+roctracer" in spec:
+ options.append("-roctracer=%s" % spec["roctracer-dev"].prefix)
- if '+adios2' in spec:
- options.append("-adios=%s" % spec['adios2'].prefix)
+ if "+adios2" in spec:
+ options.append("-adios=%s" % spec["adios2"].prefix)
- if '+sqlite' in spec:
- options.append("-sqlite3=%s" % spec['sqlite'].prefix)
+ if "+sqlite" in spec:
+ options.append("-sqlite3=%s" % spec["sqlite"].prefix)
- if '+phase' in spec:
- options.append('-PROFILEPHASE')
+ if "+phase" in spec:
+ options.append("-PROFILEPHASE")
- if '+python' in spec:
- options.append('-python')
+ if "+python" in spec:
+ options.append("-python")
# find Python.h (i.e. include/python2.7/Python.h)
- include_path = spec['python'].prefix.include
+ include_path = spec["python"].prefix.include
found = False
- for root, dirs, files in os.walk(spec['python'].prefix.include):
- for filename in fnmatch.filter(files, 'Python.h'):
+ for root, dirs, files in os.walk(spec["python"].prefix.include):
+ for filename in fnmatch.filter(files, "Python.h"):
include_path = root
break
found = True
@@ -306,12 +314,12 @@ class Tau(Package):
break
options.append("-pythoninc=%s" % include_path)
# find libpython*.* (i.e. lib/python2.7/libpython2.7.so)
- lib_path = spec['python'].prefix.lib
+ lib_path = spec["python"].prefix.lib
found = False
- file_to_find = 'libpython*.so'
- if (platform.system() == "Darwin"):
- file_to_find = 'libpython*.dylib'
- for root, dirs, files in os.walk(spec['python'].prefix.lib):
+ file_to_find = "libpython*.so"
+ if platform.system() == "Darwin":
+ file_to_find = "libpython*.dylib"
+ for root, dirs, files in os.walk(spec["python"].prefix.lib):
for filename in fnmatch.filter(files, file_to_find):
lib_path = root
break
@@ -334,14 +342,14 @@ class Tau(Package):
def link_tau_arch_dirs(self):
for subdir in os.listdir(self.prefix):
- for d in ('bin', 'lib'):
+ for d in ("bin", "lib"):
src = join_path(self.prefix, subdir, d)
dest = join_path(self.prefix, d)
if os.path.isdir(src) and not os.path.exists(dest):
os.symlink(join_path(subdir, d), dest)
def setup_run_environment(self, env):
- pattern = join_path(self.prefix.lib, 'Makefile.*')
+ pattern = join_path(self.prefix.lib, "Makefile.*")
files = glob.glob(pattern)
# This function is called both at install time to set up
@@ -350,11 +358,11 @@ class Tau(Package):
# directory to inspect. The conditional below will set `TAU_MAKEFILE`
# in the latter case.
if files:
- env.set('TAU_MAKEFILE', files[0])
+ env.set("TAU_MAKEFILE", files[0])
- matmult_test = join_path('examples', 'mm')
+ matmult_test = join_path("examples", "mm")
- @run_after('install')
+ @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`."""
@@ -362,24 +370,38 @@ class Tau(Package):
def _run_matmult_test(self):
mm_dir = join_path(self.test_suite.current_test_cache_dir, self.matmult_test)
- self.run_test('make', ['all'], [], 0, False,
- 'Instrument and build matrix multiplication test code',
- False, mm_dir)
- test_exe = 'matmult'
- if '+mpi' in self.spec:
- test_args = ['-n', '4', test_exe]
- mpiexe_list = ['mpirun', 'mpiexec', 'srun']
+ self.run_test(
+ "make",
+ ["all"],
+ [],
+ 0,
+ False,
+ "Instrument and build matrix multiplication test code",
+ False,
+ mm_dir,
+ )
+ test_exe = "matmult"
+ if "+mpi" in self.spec:
+ test_args = ["-n", "4", test_exe]
+ mpiexe_list = ["mpirun", "mpiexec", "srun"]
for mpiexe in mpiexe_list:
if which(mpiexe) is not None:
- self.run_test(mpiexe, test_args, [], 0, False,
- 'Run matmult test with mpi', False, mm_dir)
+ self.run_test(
+ mpiexe, test_args, [], 0, False, "Run matmult test with mpi", False, mm_dir
+ )
break
else:
- self.run_test(test_exe, [], [], 0, False,
- 'Run sequential matmult test', False, mm_dir)
- self.run_test('pprof', [], [], 0, False,
- 'Run pprof profile analysis tool on profile output',
- False, mm_dir)
+ self.run_test(test_exe, [], [], 0, False, "Run sequential matmult test", False, mm_dir)
+ self.run_test(
+ "pprof",
+ [],
+ [],
+ 0,
+ False,
+ "Run pprof profile analysis tool on profile output",
+ False,
+ mm_dir,
+ )
def test(self):
# Run mm test program pulled from the build
diff --git a/var/spack/repos/builtin/packages/tauola/package.py b/var/spack/repos/builtin/packages/tauola/package.py
index 51ccf0c141..7a88595c49 100644
--- a/var/spack/repos/builtin/packages/tauola/package.py
+++ b/var/spack/repos/builtin/packages/tauola/package.py
@@ -7,49 +7,51 @@ from spack.package import *
class Tauola(AutotoolsPackage):
- """ Tauola is a event generator for tau decays."""
+ """Tauola is a event generator for tau decays."""
homepage = "https://tauolapp.web.cern.ch/tauolapp/"
- url = "https://tauolapp.web.cern.ch/tauolapp/resources/TAUOLA.1.1.8/TAUOLA.1.1.8-LHC.tar.gz"
+ url = "https://tauolapp.web.cern.ch/tauolapp/resources/TAUOLA.1.1.8/TAUOLA.1.1.8-LHC.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('1.1.8', sha256='3f734e8a967682869cca2c1ffebd3e055562613c40853cc81820d8b666805ed5')
+ version("1.1.8", sha256="3f734e8a967682869cca2c1ffebd3e055562613c40853cc81820d8b666805ed5")
- variant('hepmc', default=True, description="Enable hepmc 2.x support")
- variant('hepmc3', default=False, description="Enable hepmc3 support")
- variant('lhapdf', default=True, description="Enable lhapdf support. Required for TauSpinner.")
- variant('cxxstd',
- default='11',
- values=('11', '14', '17', '20'),
- multi=False,
- description='Use the specified C++ standard when building.')
+ variant("hepmc", default=True, description="Enable hepmc 2.x support")
+ variant("hepmc3", default=False, description="Enable hepmc3 support")
+ variant("lhapdf", default=True, description="Enable lhapdf support. Required for TauSpinner.")
+ variant(
+ "cxxstd",
+ default="11",
+ values=("11", "14", "17", "20"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- depends_on('hepmc', when='+hepmc')
- depends_on('hepmc3', when='+hepmc3')
- depends_on('lhapdf', when='+lhapdf')
+ depends_on("hepmc", when="+hepmc")
+ depends_on("hepmc3", when="+hepmc3")
+ depends_on("lhapdf", when="+lhapdf")
def flag_handler(self, name, flags):
- if name == 'cflags':
- flags.append('-O2')
- elif name == 'cxxflags':
- flags.append('-O2')
- flags.append('-std=c++{0}'.format(self.spec.variants['cxxstd'].value))
- elif name == 'fflags':
- flags.append('-O2')
+ if name == "cflags":
+ flags.append("-O2")
+ elif name == "cxxflags":
+ flags.append("-O2")
+ flags.append("-std=c++{0}".format(self.spec.variants["cxxstd"].value))
+ elif name == "fflags":
+ flags.append("-O2")
return (None, None, flags)
def configure_args(self):
- args = ['--with-pic']
+ args = ["--with-pic"]
- args.extend(self.with_or_without('hepmc', 'prefix'))
- args.extend(self.with_or_without('hepmc3', 'prefix'))
+ args.extend(self.with_or_without("hepmc", "prefix"))
+ args.extend(self.with_or_without("hepmc3", "prefix"))
# tauola is not able to handle --with-lhapdf=no
# argument has to be empty - so cannot use with_or_without
if self.spec.satisfies("+lhapdf"):
- args.append('--with-lhapdf=%s' % self.spec['lhapdf'].prefix)
+ args.append("--with-lhapdf=%s" % self.spec["lhapdf"].prefix)
else:
- args.append('--with-lhapdf=')
+ args.append("--with-lhapdf=")
return args
diff --git a/var/spack/repos/builtin/packages/tbl2asn/package.py b/var/spack/repos/builtin/packages/tbl2asn/package.py
index 8a839da901..142eaf2c30 100644
--- a/var/spack/repos/builtin/packages/tbl2asn/package.py
+++ b/var/spack/repos/builtin/packages/tbl2asn/package.py
@@ -8,21 +8,27 @@ from spack.package import *
class Tbl2asn(Package):
"""Tbl2asn is a command-line program that automates the creation of
- sequence records for submission to GenBank."""
+ sequence records for submission to GenBank."""
homepage = "https://www.ncbi.nlm.nih.gov/genbank/tbl2asn2/"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
- version('2022-04-26', sha256='c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75')
- version('2020-03-01', sha256='7cc1119d3cfcbbffdbd4ecf33cef8bbdd44fc5625c72976bee08b1157625377e', deprecated=True)
+ version(
+ "2022-04-26", sha256="c76481700e196ebd98a83f4174e0146569db9d6fe5753ac18691e9836d5c6a75"
+ )
+ version(
+ "2020-03-01",
+ sha256="7cc1119d3cfcbbffdbd4ecf33cef8bbdd44fc5625c72976bee08b1157625377e",
+ deprecated=True,
+ )
def url_for_version(self, ver):
return "https://ftp.ncbi.nih.gov/toolbox/ncbi_tools/converters/by_program/tbl2asn/linux64.tbl2asn.gz"
def install(self, spec, prefix):
mkdirp(prefix.bin)
- if spec.satisfies('@2020-03-01'):
- install('../linux.tbl2asn', prefix.bin.tbl2asn)
+ if spec.satisfies("@2020-03-01"):
+ install("../linux.tbl2asn", prefix.bin.tbl2asn)
else:
- install('linux64.tbl2asn', prefix.bin.tbl2asn)
+ install("linux64.tbl2asn", prefix.bin.tbl2asn)
set_executable(prefix.bin.tbl2asn)
diff --git a/var/spack/repos/builtin/packages/tcl-itcl/package.py b/var/spack/repos/builtin/packages/tcl-itcl/package.py
index 5c06a1a2c3..237c05bb86 100644
--- a/var/spack/repos/builtin/packages/tcl-itcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl-itcl/package.py
@@ -12,16 +12,16 @@ class TclItcl(AutotoolsPackage):
multiple inheritence and public and private classes and variables."""
homepage = "https://sourceforge.net/projects/incrtcl/"
- url = "https://sourceforge.net/projects/incrtcl/files/%5Bincr%20Tcl_Tk%5D-4-source/itcl%204.0.4/itcl4.0.4.tar.gz"
+ url = "https://sourceforge.net/projects/incrtcl/files/%5Bincr%20Tcl_Tk%5D-4-source/itcl%204.0.4/itcl4.0.4.tar.gz"
- version('4.0.4', sha256='63860438ca22f70049aecff70dc607b31bb1bea0edcc736e36ac6e36c24aecde')
+ version("4.0.4", sha256="63860438ca22f70049aecff70dc607b31bb1bea0edcc736e36ac6e36c24aecde")
- extends('tcl')
+ extends("tcl")
def configure_args(self):
args = [
- '--enable-shared',
- '--enable-threads',
- '--with-tcl=' + self.spec['tcl'].libs.directories[0],
+ "--enable-shared",
+ "--enable-threads",
+ "--with-tcl=" + self.spec["tcl"].libs.directories[0],
]
return args
diff --git a/var/spack/repos/builtin/packages/tcl-tcllib/package.py b/var/spack/repos/builtin/packages/tcl-tcllib/package.py
index 4baf73a9f6..69e5ca41e1 100644
--- a/var/spack/repos/builtin/packages/tcl-tcllib/package.py
+++ b/var/spack/repos/builtin/packages/tcl-tcllib/package.py
@@ -13,16 +13,16 @@ class TclTcllib(AutotoolsPackage):
to collect commonly used function into a single library, which users can
rely on to be available and stable."""
- homepage = "http://www.tcl.tk/software/tcllib"
- url = "https://sourceforge.net/projects/tcllib/files/tcllib/1.19/tcllib-1.19.tar.gz"
- list_url = "https://sourceforge.net/projects/tcllib/files/tcllib/"
+ homepage = "http://www.tcl.tk/software/tcllib"
+ url = "https://sourceforge.net/projects/tcllib/files/tcllib/1.19/tcllib-1.19.tar.gz"
+ list_url = "https://sourceforge.net/projects/tcllib/files/tcllib/"
list_depth = 1
- version('1.19', sha256='01fe87cf1855b96866cf5394b6a786fd40b314022714b34110aeb6af545f6a9c')
- version('1.18', sha256='72667ecbbd41af740157ee346db77734d1245b41dffc13ac80ca678dd3ccb515')
- version('1.17', sha256='00c16aa28512ff6a67f199ffa5e04acaeb7b8464b2b7dc70ad8d00ce4c8d25ce')
- version('1.16', sha256='0b3a87577bf1ea79c70479be5230f0ba466587b4621828ec4941c4840fa1b2e8')
- version('1.15', sha256='6d308980d9dace24c6252b96223c1646e83795ba03dbf996525ad27e1b56bffd')
- version('1.14', sha256='dd149fcb37ceb04da83531276a9d7563827807dcee49f9b9f63bedea9e130584')
+ version("1.19", sha256="01fe87cf1855b96866cf5394b6a786fd40b314022714b34110aeb6af545f6a9c")
+ version("1.18", sha256="72667ecbbd41af740157ee346db77734d1245b41dffc13ac80ca678dd3ccb515")
+ version("1.17", sha256="00c16aa28512ff6a67f199ffa5e04acaeb7b8464b2b7dc70ad8d00ce4c8d25ce")
+ version("1.16", sha256="0b3a87577bf1ea79c70479be5230f0ba466587b4621828ec4941c4840fa1b2e8")
+ version("1.15", sha256="6d308980d9dace24c6252b96223c1646e83795ba03dbf996525ad27e1b56bffd")
+ version("1.14", sha256="dd149fcb37ceb04da83531276a9d7563827807dcee49f9b9f63bedea9e130584")
- extends('tcl')
+ extends("tcl")
diff --git a/var/spack/repos/builtin/packages/tcl-tclxml/package.py b/var/spack/repos/builtin/packages/tcl-tclxml/package.py
index f520b187f1..825e1349a2 100644
--- a/var/spack/repos/builtin/packages/tcl-tclxml/package.py
+++ b/var/spack/repos/builtin/packages/tcl-tclxml/package.py
@@ -12,31 +12,27 @@ class TclTclxml(AutotoolsPackage):
XSL Transformations (TclXSLT). These allow Tcl scripts to read, manipulate
and write XML documents."""
- homepage = "http://tclxml.sourceforge.net/tclxml.html"
- url = "https://sourceforge.net/projects/tclxml/files/TclXML/3.2/tclxml-3.2.tar.gz"
- list_url = "https://sourceforge.net/projects/tclxml/files/TclXML/"
+ homepage = "http://tclxml.sourceforge.net/tclxml.html"
+ url = "https://sourceforge.net/projects/tclxml/files/TclXML/3.2/tclxml-3.2.tar.gz"
+ list_url = "https://sourceforge.net/projects/tclxml/files/TclXML/"
list_depth = 1
- version('3.2', sha256='f4116b6680b249ce74b856a121762361ca09e6256f0c8ad578d1c661b822cb39')
- version('3.1', sha256='9b017f29c7a06fa1a57d1658bd1d3867297c26013604bdcc4d7b0ca2333552c9')
+ version("3.2", sha256="f4116b6680b249ce74b856a121762361ca09e6256f0c8ad578d1c661b822cb39")
+ version("3.1", sha256="9b017f29c7a06fa1a57d1658bd1d3867297c26013604bdcc4d7b0ca2333552c9")
- extends('tcl')
+ extends("tcl")
- depends_on('tcl-tcllib')
- depends_on('libxml2')
- depends_on('libxslt')
+ depends_on("tcl-tcllib")
+ depends_on("libxml2")
+ depends_on("libxslt")
# Results in C99 build error
- conflicts('%apple-clang@12:')
+ conflicts("%apple-clang@12:")
def configure_args(self):
return [
- '--exec-prefix={0}'.format(
- self.prefix),
- '--with-tcl={0}'.format(
- self.spec['tcl'].libs.directories[0]),
- '--with-xml2-config={0}'.format(
- self.spec['libxml2'].prefix.bin.join('xml2-config')),
- '--with-xslt-config={0}'.format(
- self.spec['libxslt'].prefix.bin.join('xslt-config')),
+ "--exec-prefix={0}".format(self.prefix),
+ "--with-tcl={0}".format(self.spec["tcl"].libs.directories[0]),
+ "--with-xml2-config={0}".format(self.spec["libxml2"].prefix.bin.join("xml2-config")),
+ "--with-xslt-config={0}".format(self.spec["libxslt"].prefix.bin.join("xslt-config")),
]
diff --git a/var/spack/repos/builtin/packages/tcl/package.py b/var/spack/repos/builtin/packages/tcl/package.py
index db98075e60..14da148015 100644
--- a/var/spack/repos/builtin/packages/tcl/package.py
+++ b/var/spack/repos/builtin/packages/tcl/package.py
@@ -19,55 +19,55 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
homepage = "https://www.tcl.tk/"
sourceforge_mirror_path = "tcl/tcl8.6.11-src.tar.gz"
- version('8.6.12', sha256='26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6')
- version('8.6.11', sha256='8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258')
- version('8.6.10', sha256='5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed')
- version('8.6.8', sha256='c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a')
- version('8.6.6', sha256='a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07')
- version('8.6.5', sha256='ce26d5b9c7504fc25d2f10ef0b82b14cf117315445b5afa9e673ed331830fb53')
- version('8.6.4', sha256='9e6ed94c981c1d0c5f5fefb8112d06c6bf4d050a7327e95e71d417c416519c8d')
- version('8.6.3', sha256='6ce0778de0d50daaa9c345d7c1fd1288fb658f674028812e7eeee992e3051005')
- version('8.5.19', sha256='d3f04456da873d17f02efc30734b0300fb6c3b85028d445fe284b83253a6db18')
+ version("8.6.12", sha256="26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6")
+ version("8.6.11", sha256="8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258")
+ version("8.6.10", sha256="5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed")
+ version("8.6.8", sha256="c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a")
+ version("8.6.6", sha256="a265409781e4b3edcc4ef822533071b34c3dc6790b893963809b9fe221befe07")
+ version("8.6.5", sha256="ce26d5b9c7504fc25d2f10ef0b82b14cf117315445b5afa9e673ed331830fb53")
+ version("8.6.4", sha256="9e6ed94c981c1d0c5f5fefb8112d06c6bf4d050a7327e95e71d417c416519c8d")
+ version("8.6.3", sha256="6ce0778de0d50daaa9c345d7c1fd1288fb658f674028812e7eeee992e3051005")
+ version("8.5.19", sha256="d3f04456da873d17f02efc30734b0300fb6c3b85028d445fe284b83253a6db18")
extendable = True
- depends_on('zlib')
+ depends_on("zlib")
- configure_directory = 'unix'
+ configure_directory = "unix"
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('install')
+ make("install")
# https://wiki.tcl-lang.org/page/kitgen
- if self.spec.satisfies('@8.6:'):
- make('install-headers')
+ if self.spec.satisfies("@8.6:"):
+ make("install-headers")
# Some applications like Expect require private Tcl headers.
- make('install-private-headers')
+ make("install-private-headers")
# Copy source to install tree
# A user-provided install option might re-do this
# https://github.com/spack/spack/pull/4102/files
- installed_src = join_path(
- self.spec.prefix, 'share', self.name, 'src')
+ installed_src = join_path(self.spec.prefix, "share", self.name, "src")
stage_src = os.path.realpath(self.stage.source_path)
install_tree(stage_src, installed_src)
# Replace stage dir -> installed src dir in tclConfig
filter_file(
- stage_src, installed_src,
- join_path(self.spec['tcl'].libs.directories[0],
- 'tclConfig.sh'))
+ stage_src,
+ installed_src,
+ join_path(self.spec["tcl"].libs.directories[0], "tclConfig.sh"),
+ )
# Don't install binaries in src/ tree
with working_dir(join_path(installed_src, self.configure_directory)):
- make('clean')
+ make("clean")
- @run_after('install')
+ @run_after("install")
def symlink_tclsh(self):
with working_dir(self.prefix.bin):
- symlink('tclsh{0}'.format(self.version.up_to(2)), 'tclsh')
+ symlink("tclsh{0}".format(self.version.up_to(2)), "tclsh")
# ========================================================================
# Set up environment to make install easy for tcl extensions.
@@ -75,8 +75,9 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
@property
def libs(self):
- return find_libraries(['libtcl{0}'.format(self.version.up_to(2))],
- root=self.prefix, recursive=True)
+ return find_libraries(
+ ["libtcl{0}".format(self.version.up_to(2))], root=self.prefix, recursive=True
+ )
@property
def command(self):
@@ -88,8 +89,9 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
# Although we symlink tclshX.Y to tclsh, we also need to support external
# installations that may not have this symlink, or may have multiple versions
# of Tcl installed in the same directory.
- return Executable(os.path.realpath(self.prefix.bin.join(
- 'tclsh{0}'.format(self.version.up_to(2)))))
+ return Executable(
+ os.path.realpath(self.prefix.bin.join("tclsh{0}".format(self.version.up_to(2))))
+ )
def setup_run_environment(self, env):
"""Set TCL_LIBRARY to the directory containing init.tcl.
@@ -100,8 +102,7 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
"""
# When using tkinter from within spack provided python+tkinter,
# python will not be able to find Tcl unless TCL_LIBRARY is set.
- env.set('TCL_LIBRARY', os.path.dirname(
- sorted(find(self.prefix, 'init.tcl'))[0]))
+ env.set("TCL_LIBRARY", os.path.dirname(sorted(find(self.prefix, "init.tcl"))[0]))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set TCL_LIBRARY to the directory containing init.tcl.
@@ -113,8 +114,7 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
* https://wiki.tcl-lang.org/page/TCL_LIBRARY
* https://wiki.tcl-lang.org/page/TCLLIBPATH
"""
- env.set('TCL_LIBRARY', os.path.dirname(
- sorted(find(self.prefix, 'init.tcl'))[0]))
+ env.set("TCL_LIBRARY", os.path.dirname(sorted(find(self.prefix, "init.tcl"))[0]))
# If we set TCLLIBPATH, we must also ensure that the corresponding
# tcl is found in the build environment. This to prevent cases
@@ -122,7 +122,7 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
# of a Spack built tcl. See issue #7128 that relates to python but
# it boils down to the same situation we have here.
if not is_system_path(self.prefix.bin):
- env.prepend_path('PATH', self.prefix.bin)
+ env.prepend_path("PATH", self.prefix.bin)
# WARNING: paths in $TCLLIBPATH must be *space* separated,
# its value is meant to be a Tcl list, *not* an env list
@@ -135,16 +135,15 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
# and $TCLLIBPATH should only contain `<prefix>/lib`. $TCLLIBPATH is only needed
# because we install Tcl extensions to different directories than Tcl. See:
# https://core.tcl-lang.org/tk/tktview/447bd3e4abe17452d19a80e6840dcc8a2603fcbc
- env.prepend_path(
- 'TCLLIBPATH', self.spec['tcl'].libs.directories[0], separator=' ')
+ env.prepend_path("TCLLIBPATH", self.spec["tcl"].libs.directories[0], separator=" ")
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test")):
if d.package.extends(self.spec):
# Tcl libraries may be installed in lib or lib64, see #19546
- for lib in ['lib', 'lib64']:
+ for lib in ["lib", "lib64"]:
tcllibpath = join_path(d.prefix, lib)
if os.path.exists(tcllibpath):
- env.prepend_path('TCLLIBPATH', tcllibpath, separator=' ')
+ env.prepend_path("TCLLIBPATH", tcllibpath, separator=" ")
def setup_dependent_run_environment(self, env, dependent_spec):
"""Set TCLLIBPATH to include the tcl-shipped directory for
@@ -154,10 +153,10 @@ class Tcl(AutotoolsPackage, SourceforgePackage):
* https://wiki.tcl-lang.org/page/TCLLIBPATH
"""
- for d in dependent_spec.traverse(deptype=('build', 'run', 'test')):
+ for d in dependent_spec.traverse(deptype=("build", "run", "test")):
if d.package.extends(self.spec):
# Tcl libraries may be installed in lib or lib64, see #19546
- for lib in ['lib', 'lib64']:
+ for lib in ["lib", "lib64"]:
tcllibpath = join_path(d.prefix, lib)
if os.path.exists(tcllibpath):
- env.prepend_path('TCLLIBPATH', tcllibpath, separator=' ')
+ env.prepend_path("TCLLIBPATH", tcllibpath, separator=" ")
diff --git a/var/spack/repos/builtin/packages/tclap/package.py b/var/spack/repos/builtin/packages/tclap/package.py
index 30837c7872..a767ab824f 100644
--- a/var/spack/repos/builtin/packages/tclap/package.py
+++ b/var/spack/repos/builtin/packages/tclap/package.py
@@ -12,5 +12,5 @@ class Tclap(AutotoolsPackage, SourceforgePackage):
homepage = "http://tclap.sourceforge.net"
sourceforge_mirror_path = "tclap/tclap-1.2.2.tar.gz"
- version('1.2.2', sha256='f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837')
- version('1.2.1', sha256='9f9f0fe3719e8a89d79b6ca30cf2d16620fba3db5b9610f9b51dd2cd033deebb')
+ version("1.2.2", sha256="f5013be7fcaafc69ba0ce2d1710f693f61e9c336b6292ae4f57554f59fde5837")
+ version("1.2.1", sha256="9f9f0fe3719e8a89d79b6ca30cf2d16620fba3db5b9610f9b51dd2cd033deebb")
diff --git a/var/spack/repos/builtin/packages/tcoffee/package.py b/var/spack/repos/builtin/packages/tcoffee/package.py
index 083cc1116b..b7912d3657 100644
--- a/var/spack/repos/builtin/packages/tcoffee/package.py
+++ b/var/spack/repos/builtin/packages/tcoffee/package.py
@@ -10,29 +10,29 @@ class Tcoffee(MakefilePackage):
"""T-Coffee is a multiple sequence alignment program."""
homepage = "http://www.tcoffee.org/"
- git = "https://github.com/cbcrg/tcoffee.git"
+ git = "https://github.com/cbcrg/tcoffee.git"
- version('2017-08-17', commit='f389b558e91d0f82e7db934d9a79ce285f853a71')
+ version("2017-08-17", commit="f389b558e91d0f82e7db934d9a79ce285f853a71")
- depends_on('perl', type=('build', 'run'))
- depends_on('blast-plus')
- depends_on('dialign-tx')
- depends_on('viennarna')
- depends_on('clustalw')
- depends_on('tmalign')
- depends_on('muscle')
- depends_on('mafft')
- depends_on('pcma')
- depends_on('poamsa')
- depends_on('probconsrna')
+ depends_on("perl", type=("build", "run"))
+ depends_on("blast-plus")
+ depends_on("dialign-tx")
+ depends_on("viennarna")
+ depends_on("clustalw")
+ depends_on("tmalign")
+ depends_on("muscle")
+ depends_on("mafft")
+ depends_on("pcma")
+ depends_on("poamsa")
+ depends_on("probconsrna")
- build_directory = 'compile'
+ build_directory = "compile"
def build(self, spec, prefix):
with working_dir(self.build_directory):
- make('t_coffee')
+ make("t_coffee")
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir(self.build_directory):
- install('t_coffee', prefix.bin)
+ install("t_coffee", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/tcpdump/package.py b/var/spack/repos/builtin/packages/tcpdump/package.py
index 77433a6fec..45774515ae 100644
--- a/var/spack/repos/builtin/packages/tcpdump/package.py
+++ b/var/spack/repos/builtin/packages/tcpdump/package.py
@@ -14,12 +14,12 @@ class Tcpdump(AutotoolsPackage):
second since midnight."""
homepage = "https://www.tcpdump.org/"
- url = "https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz"
+ url = "https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz"
- version('4.99.0', sha256='8cf2f17a9528774a7b41060323be8b73f76024f7778f59c34efa65d49d80b842')
- version('4.9.3', sha256='2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410')
- version('4.9.2', sha256='798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79')
- version('4.9.1', sha256='f9448cf4deb2049acf713655c736342662e652ef40dbe0a8f6f8d5b9ce5bd8f3')
+ version("4.99.0", sha256="8cf2f17a9528774a7b41060323be8b73f76024f7778f59c34efa65d49d80b842")
+ version("4.9.3", sha256="2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410")
+ version("4.9.2", sha256="798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79")
+ version("4.9.1", sha256="f9448cf4deb2049acf713655c736342662e652ef40dbe0a8f6f8d5b9ce5bd8f3")
- depends_on('libpcap')
- depends_on('libpcap@1.10.0:', when='@4.99.0:')
+ depends_on("libpcap")
+ depends_on("libpcap@1.10.0:", when="@4.99.0:")
diff --git a/var/spack/repos/builtin/packages/tcptrace/package.py b/var/spack/repos/builtin/packages/tcptrace/package.py
index a375fb87ae..2ca6299d2c 100644
--- a/var/spack/repos/builtin/packages/tcptrace/package.py
+++ b/var/spack/repos/builtin/packages/tcptrace/package.py
@@ -10,32 +10,30 @@ from spack.package import *
class Tcptrace(AutotoolsPackage):
"""tcptrace is a tool written by Shawn Ostermann at Ohio University for
- analysis of TCP dump files. It can take as input the files produced by
- several popular packet-capture programs, including tcpdump, snoop,
- etherpeek, HP Net Metrix, and WinDump."""
+ analysis of TCP dump files. It can take as input the files produced by
+ several popular packet-capture programs, including tcpdump, snoop,
+ etherpeek, HP Net Metrix, and WinDump."""
homepage = "http://www.tcptrace.org/"
- url = "http://www.tcptrace.org/download/tcptrace-6.6.7.tar.gz"
+ url = "http://www.tcptrace.org/download/tcptrace-6.6.7.tar.gz"
- version('6.6.7', sha256='63380a4051933ca08979476a9dfc6f959308bc9f60d45255202e388eb56910bd')
+ version("6.6.7", sha256="63380a4051933ca08979476a9dfc6f959308bc9f60d45255202e388eb56910bd")
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('libpcap')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("libpcap")
# Fixes incorrect API access in libpcap.
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=545595
- patch('tcpdump.patch')
+ patch("tcpdump.patch")
- @run_after('configure')
+ @run_after("configure")
def patch_makefile(self):
# see https://github.com/blitz/tcptrace/blob/master/README.linux
- makefile = FileFilter('Makefile')
- makefile.filter(
- "PCAP_LDLIBS = -lpcap",
- "DEFINES += -D_BSD_SOURCE\nPCAP_LDLIBS = -lpcap")
+ makefile = FileFilter("Makefile")
+ makefile.filter("PCAP_LDLIBS = -lpcap", "DEFINES += -D_BSD_SOURCE\nPCAP_LDLIBS = -lpcap")
def install(self, spec, prefix):
# The build system has trouble creating directories
mkdirp(prefix.bin)
- install('tcptrace', join(prefix.bin, 'tcptrace'))
+ install("tcptrace", join(prefix.bin, "tcptrace"))
diff --git a/var/spack/repos/builtin/packages/tcsh/package.py b/var/spack/repos/builtin/packages/tcsh/package.py
index b3ed523ad6..0164322bfa 100644
--- a/var/spack/repos/builtin/packages/tcsh/package.py
+++ b/var/spack/repos/builtin/packages/tcsh/package.py
@@ -7,8 +7,8 @@ from spack.package import *
def fedora_patch(commit, file, **kwargs):
- prefix = 'https://src.fedoraproject.org/rpms/tcsh/raw/{0}/f/'.format(commit)
- patch('{0}{1}'.format(prefix, file), **kwargs)
+ prefix = "https://src.fedoraproject.org/rpms/tcsh/raw/{0}/f/".format(commit)
+ patch("{0}{1}".format(prefix, file), **kwargs)
class Tcsh(AutotoolsPackage):
@@ -20,37 +20,92 @@ class Tcsh(AutotoolsPackage):
syntax."""
homepage = "https://www.tcsh.org/"
- url = "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/tcsh-6.20.00.tar.gz"
+ url = "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/tcsh-6.20.00.tar.gz"
list_url = "https://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/"
- version('6.24.00', sha256='60be2c504bd8f1fa6e424b1956495d7e7ced52a2ac94db5fd27f4b6bfc8f74f0')
- version('6.22.02', sha256='ed287158ca1b00ba477e8ea57bac53609838ebcfd05fcb05ca95021b7ebe885b')
- version('6.21.00', sha256='c438325448371f59b12a4c93bfd3f6982e6f79f8c5aef4bc83aac8f62766e972')
- version('6.20.00', sha256='b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d')
+ version("6.24.00", sha256="60be2c504bd8f1fa6e424b1956495d7e7ced52a2ac94db5fd27f4b6bfc8f74f0")
+ version("6.22.02", sha256="ed287158ca1b00ba477e8ea57bac53609838ebcfd05fcb05ca95021b7ebe885b")
+ version("6.21.00", sha256="c438325448371f59b12a4c93bfd3f6982e6f79f8c5aef4bc83aac8f62766e972")
+ version("6.20.00", sha256="b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d")
# Upstream patches
- fedora_patch('96b95844cc685b11ed0cc215137e394da4505d41', 'tcsh-6.22.02-avoid-gcc-to-fail.patch', when='@:6.22.02', sha256='392615011adb7afeb0010152409a37b150f03dbde5b534503e9cd7363b742a19')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch', when='@6.20.00', sha256='f8266916189ebbdfbad5c2c28ac00ed25f07be70f054d9830eb84ba84b3d03ef')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-001-delay-arginp-interpreting.patch', when='@6.20.00', sha256='57c7a9b0d94dd41e4276b57b0a4a89d91303d36180c1068b9e3ab8f6149b18dd')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch', when='@6.20.00', sha256='837a6a82f815c0905cf7ea4c4ef0112f36396fc8b2138028204000178a1befa5')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-003-fix-out-of-bounds-read.patch', when='@6.20.00', sha256='f973bd33a7fd8af0002a9b8992216ffc04fdf2927917113e42e58f28b702dc14')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch', when='@6.20.00', sha256='333e111ed39f7452f904590b47b996812590b8818f1c51ad68407dc05a1b18b0')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-005-reset-fixes-numbering.patch', when='@6.20.00', sha256='d1b54b5c5432faed9791ffde813560e226896a68fc5933d066172bcf3b2eb8bd')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-006-cleanup-in-readme-files.patch', when='@6.20.00', sha256='b4e7428ac6c2918beacc1b73f33e784ac520ef981d87e98285610b1bfa299d7b')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch', when='@6.20.00', sha256='e6c88ffc291c9d4bda4d6bedf3c9be89cb96ce7dc245163e251345221fa77216')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-008-guard-ascii-only-reversion.patch', when='@6.20.00', sha256='7ee195e4ce4c9eac81920843b4d4d27254bec7b43e0b744f457858a9f156e621')
- fedora_patch('8a6066c901fb4fc75013dd488ba958387f00c74d', 'tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch', when='@6.20.00', sha256='d2358c930d5ab89e5965204dded499591b42a22d0a865e2149b8c0f1446fac34')
+ fedora_patch(
+ "96b95844cc685b11ed0cc215137e394da4505d41",
+ "tcsh-6.22.02-avoid-gcc-to-fail.patch",
+ when="@:6.22.02",
+ sha256="392615011adb7afeb0010152409a37b150f03dbde5b534503e9cd7363b742a19",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-000-add-all-flags-for-gethost-build.patch",
+ when="@6.20.00",
+ sha256="f8266916189ebbdfbad5c2c28ac00ed25f07be70f054d9830eb84ba84b3d03ef",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-001-delay-arginp-interpreting.patch",
+ when="@6.20.00",
+ sha256="57c7a9b0d94dd41e4276b57b0a4a89d91303d36180c1068b9e3ab8f6149b18dd",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-002-type-of-read-in-prompt-confirm.patch",
+ when="@6.20.00",
+ sha256="837a6a82f815c0905cf7ea4c4ef0112f36396fc8b2138028204000178a1befa5",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-003-fix-out-of-bounds-read.patch",
+ when="@6.20.00",
+ sha256="f973bd33a7fd8af0002a9b8992216ffc04fdf2927917113e42e58f28b702dc14",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-004-do-not-use-old-pointer-tricks.patch",
+ when="@6.20.00",
+ sha256="333e111ed39f7452f904590b47b996812590b8818f1c51ad68407dc05a1b18b0",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-005-reset-fixes-numbering.patch",
+ when="@6.20.00",
+ sha256="d1b54b5c5432faed9791ffde813560e226896a68fc5933d066172bcf3b2eb8bd",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-006-cleanup-in-readme-files.patch",
+ when="@6.20.00",
+ sha256="b4e7428ac6c2918beacc1b73f33e784ac520ef981d87e98285610b1bfa299d7b",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-007-look-for-tgetent-in-libtinfo.patch",
+ when="@6.20.00",
+ sha256="e6c88ffc291c9d4bda4d6bedf3c9be89cb96ce7dc245163e251345221fa77216",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-008-guard-ascii-only-reversion.patch",
+ when="@6.20.00",
+ sha256="7ee195e4ce4c9eac81920843b4d4d27254bec7b43e0b744f457858a9f156e621",
+ )
+ fedora_patch(
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-009-fix-regexp-for-backlash-quoting-tests.patch",
+ when="@6.20.00",
+ sha256="d2358c930d5ab89e5965204dded499591b42a22d0a865e2149b8c0f1446fac34",
+ )
# Downstream patches
fedora_patch(
- '8a6066c901fb4fc75013dd488ba958387f00c74d',
- 'tcsh-6.20.00-manpage-memoryuse.patch',
- sha256='3a4e60fe56a450632140c48acbf14d22850c1d72835bf441e3f8514d6c617a9f',
+ "8a6066c901fb4fc75013dd488ba958387f00c74d",
+ "tcsh-6.20.00-manpage-memoryuse.patch",
+ sha256="3a4e60fe56a450632140c48acbf14d22850c1d72835bf441e3f8514d6c617a9f",
)
- depends_on('ncurses+termlib')
+ depends_on("ncurses+termlib")
- @run_after('install')
+ @run_after("install")
def link_csh(self):
- symlink('tcsh', '{0}/csh'.format(self.prefix.bin))
- symlink('tcsh.1', '{0}/csh.1'.format(self.prefix.share.man.man1))
+ symlink("tcsh", "{0}/csh".format(self.prefix.bin))
+ symlink("tcsh.1", "{0}/csh.1".format(self.prefix.share.man.man1))
diff --git a/var/spack/repos/builtin/packages/tdengine/package.py b/var/spack/repos/builtin/packages/tdengine/package.py
index e05274ce26..70b820ecd2 100644
--- a/var/spack/repos/builtin/packages/tdengine/package.py
+++ b/var/spack/repos/builtin/packages/tdengine/package.py
@@ -11,15 +11,15 @@ class Tdengine(CMakePackage):
Internet of Things (IoT)."""
homepage = "https://github.com/taosdata/TDengine"
- url = "https://github.com/taosdata/TDengine/archive/ver-2.0.2.2.tar.gz"
+ url = "https://github.com/taosdata/TDengine/archive/ver-2.0.2.2.tar.gz"
- version('2.0.3.2', sha256='3eb8df894998d5592cce377b4f7e267972aee8adf9fc1ce60d1af532ffa9c1c6')
- version('2.0.3.1', sha256='69418815afcac8051f1aab600415669003b4aeec4ec2aaf09cab24636edaf51f')
+ version("2.0.3.2", sha256="3eb8df894998d5592cce377b4f7e267972aee8adf9fc1ce60d1af532ffa9c1c6")
+ version("2.0.3.1", sha256="69418815afcac8051f1aab600415669003b4aeec4ec2aaf09cab24636edaf51f")
- @when('target=aarch64:')
+ @when("target=aarch64:")
def cmake_args(self):
- args = ['-DCPUTYPE=aarch64']
+ args = ["-DCPUTYPE=aarch64"]
return args
def install(self, spec, prefix):
- install_tree(self.build_directory + '/build', prefix)
+ install_tree(self.build_directory + "/build", prefix)
diff --git a/var/spack/repos/builtin/packages/tealeaf/package.py b/var/spack/repos/builtin/packages/tealeaf/package.py
index 555f2933f6..da8b351b51 100644
--- a/var/spack/repos/builtin/packages/tealeaf/package.py
+++ b/var/spack/repos/builtin/packages/tealeaf/package.py
@@ -11,40 +11,40 @@ from spack.package import *
class Tealeaf(MakefilePackage):
"""Proxy Application. TeaLeaf is a mini-app that solves
- the linear heat conduction equation on a spatially decomposed
- regularly grid using a 5 point stencil with implicit solvers.
+ the linear heat conduction equation on a spatially decomposed
+ regularly grid using a 5 point stencil with implicit solvers.
"""
homepage = "https://uk-mac.github.io/TeaLeaf/"
- url = "https://downloads.mantevo.org/releaseTarballs/miniapps/TeaLeaf/TeaLeaf-1.0.tar.gz"
+ url = "https://downloads.mantevo.org/releaseTarballs/miniapps/TeaLeaf/TeaLeaf-1.0.tar.gz"
- tags = ['proxy-app']
+ tags = ["proxy-app"]
- version('1.0', sha256='e11799d1a3fbe76041333ba98858043b225c5d65221df8c600479bc55e7197ce')
+ version("1.0", sha256="e11799d1a3fbe76041333ba98858043b225c5d65221df8c600479bc55e7197ce")
- depends_on('mpi')
+ depends_on("mpi")
def edit(self, spec, prefix):
- filter_file('-march=native', '', join_path('TeaLeaf_ref', 'Makefile'))
+ filter_file("-march=native", "", join_path("TeaLeaf_ref", "Makefile"))
@property
def build_targets(self):
targets = [
- '--directory=TeaLeaf_ref',
- 'MPI_COMPILER={0}'.format(self.spec['mpi'].mpifc),
- 'C_MPI_COMPILER={0}'.format(self.spec['mpi'].mpicc),
+ "--directory=TeaLeaf_ref",
+ "MPI_COMPILER={0}".format(self.spec["mpi"].mpifc),
+ "C_MPI_COMPILER={0}".format(self.spec["mpi"].mpicc),
]
- if '%gcc' in self.spec:
- targets.append('COMPILER=GNU')
- elif '%cce' in self.spec:
- targets.append('COMPILER=CRAY')
- elif '%intel' in self.spec:
- targets.append('COMPILER=INTEL')
- elif '%pgi' in self.spec:
- targets.append('COMPILER=PGI')
- elif '%xl' in self.spec:
- targets.append('COMPILER=XL')
+ if "%gcc" in self.spec:
+ targets.append("COMPILER=GNU")
+ elif "%cce" in self.spec:
+ targets.append("COMPILER=CRAY")
+ elif "%intel" in self.spec:
+ targets.append("COMPILER=INTEL")
+ elif "%pgi" in self.spec:
+ targets.append("COMPILER=PGI")
+ elif "%xl" in self.spec:
+ targets.append("COMPILER=XL")
return targets
@@ -53,9 +53,9 @@ class Tealeaf(MakefilePackage):
mkdirp(prefix.bin)
mkdirp(prefix.doc.tests)
- install('README.md', prefix.doc)
- install('TeaLeaf_ref/tea_leaf', prefix.bin)
- install('TeaLeaf_ref/tea.in', prefix.bin)
+ install("README.md", prefix.doc)
+ install("TeaLeaf_ref/tea_leaf", prefix.bin)
+ install("TeaLeaf_ref/tea.in", prefix.bin)
- for f in glob.glob('TeaLeaf_ref/*.in'):
+ for f in glob.glob("TeaLeaf_ref/*.in"):
install(f, prefix.doc.tests)
diff --git a/var/spack/repos/builtin/packages/teckit/package.py b/var/spack/repos/builtin/packages/teckit/package.py
index 8159a30eec..15e69cbe10 100644
--- a/var/spack/repos/builtin/packages/teckit/package.py
+++ b/var/spack/repos/builtin/packages/teckit/package.py
@@ -17,13 +17,13 @@ class Teckit(AutotoolsPackage):
descriptions."""
homepage = "https://scripts.sil.org/cms/scripts/page.php?cat_id=TECkit"
- url = "https://github.com/silnrsi/teckit/releases/download/v2.5.9/teckit-2.5.9.tar.gz"
+ url = "https://github.com/silnrsi/teckit/releases/download/v2.5.9/teckit-2.5.9.tar.gz"
- version('2.5.9', sha256='6823fb3142efa34e5d74de35d37cdf4724efbf577f5ff15a8e2b364e6ef47d3d')
+ version("2.5.9", sha256="6823fb3142efa34e5d74de35d37cdf4724efbf577f5ff15a8e2b364e6ef47d3d")
- depends_on('expat')
- depends_on('zlib')
+ depends_on("expat")
+ depends_on("zlib")
def configure_args(self):
- args = ['--with-system-zlib']
+ args = ["--with-system-zlib"]
return args
diff --git a/var/spack/repos/builtin/packages/tecplot/package.py b/var/spack/repos/builtin/packages/tecplot/package.py
index f1ac96451c..011ea175a8 100644
--- a/var/spack/repos/builtin/packages/tecplot/package.py
+++ b/var/spack/repos/builtin/packages/tecplot/package.py
@@ -17,17 +17,17 @@ class Tecplot(Package):
homepage = "https://www.tecplot.com/"
manual_download = True
- version('2017r1', '06a8057d33a519607720d4c621cd3f50', expand=False)
- version('2018r2', 'd3cf54a7555e0259b7ba0d82fef23bc3', expand=False)
+ version("2017r1", "06a8057d33a519607720d4c621cd3f50", expand=False)
+ version("2018r2", "d3cf54a7555e0259b7ba0d82fef23bc3", expand=False)
def url_for_version(self, version):
return "file://{0}/tecplot360ex{1}_linux64.sh".format(os.getcwd(), version)
def install(self, spec, prefix):
makefile = FileFilter(self.stage.archive_file)
- makefile.filter('interactive=TRUE', 'interactive=FALSE')
- makefile.filter('cpack_skip_license=FALSE', 'cpack_skip_license=TRUE')
+ makefile.filter("interactive=TRUE", "interactive=FALSE")
+ makefile.filter("cpack_skip_license=FALSE", "cpack_skip_license=TRUE")
set_executable(self.stage.archive_file)
installer = Executable(self.stage.archive_file)
- installer('--prefix=%s' % prefix)
+ installer("--prefix=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/telegraf/package.py b/var/spack/repos/builtin/packages/telegraf/package.py
index 16c9bf5b15..4460a45fb7 100644
--- a/var/spack/repos/builtin/packages/telegraf/package.py
+++ b/var/spack/repos/builtin/packages/telegraf/package.py
@@ -12,14 +12,14 @@ class Telegraf(MakefilePackage):
and writing metrics."""
homepage = "https://github.com/influxdata/telegraf"
- url = "https://github.com/influxdata/telegraf/archive/refs/tags/v1.19.3.tar.gz"
+ url = "https://github.com/influxdata/telegraf/archive/refs/tags/v1.19.3.tar.gz"
- version('1.20.3', sha256='cf8fd4d38970648281101e8a71b1a48c5765c8aaa9d67619c00272c9192e9057')
- version('1.19.3', sha256='d2fb8a3519a5690c801e1221e22c3693ed95204f70f6c57eb13267ca1964c659')
+ version("1.20.3", sha256="cf8fd4d38970648281101e8a71b1a48c5765c8aaa9d67619c00272c9192e9057")
+ version("1.19.3", sha256="d2fb8a3519a5690c801e1221e22c3693ed95204f70f6c57eb13267ca1964c659")
- depends_on('go', type='build')
+ depends_on("go", type="build")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('telegraf', prefix.bin)
- install_tree('docs', prefix.docs)
+ install("telegraf", prefix.bin)
+ install_tree("docs", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/tempestremap/package.py b/var/spack/repos/builtin/packages/tempestremap/package.py
index 8f19759711..7ebae2e068 100644
--- a/var/spack/repos/builtin/packages/tempestremap/package.py
+++ b/var/spack/repos/builtin/packages/tempestremap/package.py
@@ -7,7 +7,7 @@ from spack.package import *
class Tempestremap(AutotoolsPackage):
- """ TempestRemap is a conservative, consistent and monotone remapping
+ """TempestRemap is a conservative, consistent and monotone remapping
package for arbitrary grid geometry with support for finite volumes
and finite elements.
@@ -16,30 +16,30 @@ class Tempestremap(AutotoolsPackage):
"""
homepage = "https://github.com/ClimateGlobalChange/tempestremap"
- url = "https://github.com/ClimateGlobalChange/tempestremap/archive/v2.0.5.tar.gz"
+ url = "https://github.com/ClimateGlobalChange/tempestremap/archive/v2.0.5.tar.gz"
- maintainers = ['iulian787', 'vijaysm', 'paullric']
+ maintainers = ["iulian787", "vijaysm", "paullric"]
- version('2.0.5', sha256='8618f5cbde450922efa1d77e67b062c557788b0cf4304adca30237afe3ade887')
- version('2.0.4', sha256='8349eeb604e97b13d2ecde8626a69e579a7af70ad0e8a6925a8bb4306a4963a4')
- version('2.0.3', sha256='b4578c2cb101ba091a10dc914e15ac968257f5db27ca78bc9fb5dbd70bce191f')
- version('2.0.2', sha256='2347bf804d19d515cb630a76b87e6dc6edcc1a828ff8c0f2a8a28e77794bad13')
- version('2.0.1', sha256='a3f1bef8cc413a689d429ac56f2bcc2e1d282d99797c3375233de792a7448ece')
- version('2.0.0', sha256='5850e251a4ad04fc924452f49183e5e12c38725832a568e57fa424a844b8a000')
+ version("2.0.5", sha256="8618f5cbde450922efa1d77e67b062c557788b0cf4304adca30237afe3ade887")
+ version("2.0.4", sha256="8349eeb604e97b13d2ecde8626a69e579a7af70ad0e8a6925a8bb4306a4963a4")
+ version("2.0.3", sha256="b4578c2cb101ba091a10dc914e15ac968257f5db27ca78bc9fb5dbd70bce191f")
+ version("2.0.2", sha256="2347bf804d19d515cb630a76b87e6dc6edcc1a828ff8c0f2a8a28e77794bad13")
+ version("2.0.1", sha256="a3f1bef8cc413a689d429ac56f2bcc2e1d282d99797c3375233de792a7448ece")
+ version("2.0.0", sha256="5850e251a4ad04fc924452f49183e5e12c38725832a568e57fa424a844b8a000")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('netcdf-c')
- depends_on('blas')
- depends_on('lapack')
+ depends_on("netcdf-c")
+ depends_on("blas")
+ depends_on("lapack")
def configure_args(self):
spec = self.spec
options = []
- options.append('--with-netcdf=%s' % spec['netcdf-c'].prefix)
- options.append('--with-blas=%s' % spec['blas'].libs.ld_flags)
- options.append('--with-lapack=%s' % spec['lapack'].libs.ld_flags)
+ options.append("--with-netcdf=%s" % spec["netcdf-c"].prefix)
+ options.append("--with-blas=%s" % spec["blas"].libs.ld_flags)
+ options.append("--with-lapack=%s" % spec["lapack"].libs.ld_flags)
return options
diff --git a/var/spack/repos/builtin/packages/templight-tools/package.py b/var/spack/repos/builtin/packages/templight-tools/package.py
index 9955c6db6d..c3323bc24d 100644
--- a/var/spack/repos/builtin/packages/templight-tools/package.py
+++ b/var/spack/repos/builtin/packages/templight-tools/package.py
@@ -10,9 +10,9 @@ class TemplightTools(CMakePackage):
"""Supporting tools for the Templight Profiler"""
homepage = "https://github.com/mikael-s-persson/templight-tools"
- git = "https://github.com/mikael-s-persson/templight-tools.git"
+ git = "https://github.com/mikael-s-persson/templight-tools.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('cmake @2.8.7:', type='build')
- depends_on('boost @1.48.1: +exception+filesystem+system+graph+program_options+test+container')
+ depends_on("cmake @2.8.7:", type="build")
+ depends_on("boost @1.48.1: +exception+filesystem+system+graph+program_options+test+container")
diff --git a/var/spack/repos/builtin/packages/templight/package.py b/var/spack/repos/builtin/packages/templight/package.py
index 74a4d59560..92d1910ac9 100644
--- a/var/spack/repos/builtin/packages/templight/package.py
+++ b/var/spack/repos/builtin/packages/templight/package.py
@@ -10,104 +10,119 @@ from spack.package import *
class Templight(CMakePackage):
"""Templight is a Clang-based tool to profile the time and memory
- consumption of template instantiations and to perform interactive
- debugging sessions to gain introspection into the template
- instantiation process."""
+ consumption of template instantiations and to perform interactive
+ debugging sessions to gain introspection into the template
+ instantiation process."""
homepage = "https://github.com/mikael-s-persson/templight"
- git = "https://github.com/mikael-s-persson/templight.git"
+ git = "https://github.com/mikael-s-persson/templight.git"
llvm_svn = "http://llvm.org/svn/llvm-project/{0}/trunk"
- family = 'compiler' # Used by lmod
+ family = "compiler" # Used by lmod
# Templight is a patch to clang, so we have three versions to care about:
# - The one that will be used in Spack specifications
# - The git branch that we need to fetch from in the templight repo
# - The svn tag that we need to fetch from in the LLVM repos
- version('develop', branch='master')
- resource(name='llvm-trunk',
- svn=llvm_svn.format('llvm'),
- destination='.',
- placement='llvm',
- when='@develop')
- resource(name='clang-trunk',
- svn=llvm_svn.format('cfe'),
- destination='llvm/tools',
- placement='clang',
- when='@develop')
+ version("develop", branch="master")
+ resource(
+ name="llvm-trunk",
+ svn=llvm_svn.format("llvm"),
+ destination=".",
+ placement="llvm",
+ when="@develop",
+ )
+ resource(
+ name="clang-trunk",
+ svn=llvm_svn.format("cfe"),
+ destination="llvm/tools",
+ placement="clang",
+ when="@develop",
+ )
# Templight has no stable release yet, and is supposed to be built against
# the LLVM trunk. As this is a brittle combination, I decided to
# artificially create stable releases based on what works today. Please
# feel free to remove these versions once templight has stabilized.
- version('2019.01.09', commit='0899a4345607f1bb244cae477214f274ad2c52cc')
- resource(name='llvm-r350726',
- svn=llvm_svn.format('llvm'),
- revision=350726,
- destination='.',
- placement='llvm',
- when='@2019.01.09')
- resource(name='clang-r350726',
- svn=llvm_svn.format('cfe'),
- revision=350726,
- destination='llvm/tools',
- placement='clang',
- when='@2019.01.09')
-
- version('2018.07.20', commit='91589f95427620dd0a2346bd69ba922f374aa42a')
- resource(name='llvm-r337566',
- svn=llvm_svn.format('llvm'),
- revision=337566,
- destination='.',
- placement='llvm',
- when='@2018.07.20')
- resource(name='clang-r337566',
- svn=llvm_svn.format('cfe'),
- revision=337566,
- destination='llvm/tools',
- placement='clang',
- when='@2018.07.20')
- patch('develop-20180720.patch', when='@2018.07.20')
+ version("2019.01.09", commit="0899a4345607f1bb244cae477214f274ad2c52cc")
+ resource(
+ name="llvm-r350726",
+ svn=llvm_svn.format("llvm"),
+ revision=350726,
+ destination=".",
+ placement="llvm",
+ when="@2019.01.09",
+ )
+ resource(
+ name="clang-r350726",
+ svn=llvm_svn.format("cfe"),
+ revision=350726,
+ destination="llvm/tools",
+ placement="clang",
+ when="@2019.01.09",
+ )
+
+ version("2018.07.20", commit="91589f95427620dd0a2346bd69ba922f374aa42a")
+ resource(
+ name="llvm-r337566",
+ svn=llvm_svn.format("llvm"),
+ revision=337566,
+ destination=".",
+ placement="llvm",
+ when="@2018.07.20",
+ )
+ resource(
+ name="clang-r337566",
+ svn=llvm_svn.format("cfe"),
+ revision=337566,
+ destination="llvm/tools",
+ placement="clang",
+ when="@2018.07.20",
+ )
+ patch("develop-20180720.patch", when="@2018.07.20")
# Clang debug builds can be _huge_ (20+ GB), make sure you know what you
# are doing before switching to them
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
# NOTE: LLVM has many configurable tweaks and optional tools/extensions.
# I did not think that propagating all of these to a debugging and
# performance analysis tool was worth the maintenance burden. But
# if you disagree, the llvm package can be used for inspiration.
- depends_on('cmake@3.4.3:', type='build')
- depends_on('python')
- depends_on('py-lit', type=('build', 'run'))
+ depends_on("cmake@3.4.3:", type="build")
+ depends_on("python")
+ depends_on("py-lit", type=("build", "run"))
def patch(self):
# We start with the templight source tree and an "llvm" subdir.
# But we actually need an llvm source tree with a "templight" subdir.
# Let's flip the directory organization around
- templight_files = os.listdir('.')
- templight_files.remove('llvm')
- templight_dir = 'llvm/tools/clang/tools/templight'
+ templight_files = os.listdir(".")
+ templight_files.remove("llvm")
+ templight_dir = "llvm/tools/clang/tools/templight"
os.mkdir(templight_dir)
for name in templight_files:
os.rename(name, os.path.join(templight_dir, name))
- for name in os.listdir('llvm'):
- os.rename(os.path.join('llvm', name), name)
- os.rmdir('llvm')
+ for name in os.listdir("llvm"):
+ os.rename(os.path.join("llvm", name), name)
+ os.rmdir("llvm")
# Tell the clang build system that it needs to build templight
with open("tools/clang/tools/CMakeLists.txt", "a") as cmake_lists:
cmake_lists.write("add_clang_subdirectory(templight)")
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', self.compiler.cxx11_flag)
+ env.append_flags("CXXFLAGS", self.compiler.cxx11_flag)
def setup_run_environment(self, env):
- env.set('CC', join_path(self.spec.prefix.bin, 'templight'))
- env.set('CXX', join_path(self.spec.prefix.bin, 'templight++'))
+ env.set("CC", join_path(self.spec.prefix.bin, "templight"))
+ env.set("CXX", join_path(self.spec.prefix.bin, "templight++"))
def cmake_args(self):
spec = self.spec
@@ -120,47 +135,48 @@ class Templight(CMakePackage):
# for LLVM / Clang 5.0+ and can safely ignore older tricks.
#
cmake_args = [
- '-DLLVM_REQUIRES_RTTI:BOOL=ON',
- '-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp',
- '-DPYTHON_EXECUTABLE:PATH={0}'.format(spec['python'].command.path),
- '-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF',
- '-DLLVM_TOOL_POLLY_BUILD:Bool=OFF',
- '-DLLVM_POLLY_BUILD:Bool=OFF',
- '-DLLVM_POLLY_LINK_INTO_TOOLS:Bool=OFF',
- '-DLLVM_EXTERNAL_LLDB_BUILD:Bool=OFF',
- '-DLLVM_TOOL_LLDB_BUILD:Bool=OFF',
- '-DLLVM_TOOL_LLD_BUILD:Bool=OFF',
- '-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=OFF',
- '-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=OFF',
- '-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=OFF',
- '-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=OFF',
+ "-DLLVM_REQUIRES_RTTI:BOOL=ON",
+ "-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
+ "-DPYTHON_EXECUTABLE:PATH={0}".format(spec["python"].command.path),
+ "-DLLVM_EXTERNAL_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_TOOL_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_POLLY_BUILD:Bool=OFF",
+ "-DLLVM_POLLY_LINK_INTO_TOOLS:Bool=OFF",
+ "-DLLVM_EXTERNAL_LLDB_BUILD:Bool=OFF",
+ "-DLLVM_TOOL_LLDB_BUILD:Bool=OFF",
+ "-DLLVM_TOOL_LLD_BUILD:Bool=OFF",
+ "-DLLVM_EXTERNAL_LIBUNWIND_BUILD:Bool=OFF",
+ "-DLLVM_EXTERNAL_LIBCXX_BUILD:Bool=OFF",
+ "-DLLVM_EXTERNAL_LIBCXXABI_BUILD:Bool=OFF",
+ "-DLLVM_EXTERNAL_COMPILER_RT_BUILD:Bool=OFF",
]
- targets = ['NVPTX', 'AMDGPU']
-
- if spec.target.family == 'x86' or spec.target.family == 'x86_64':
- targets.append('X86')
- elif spec.target.family == 'arm':
- targets.append('ARM')
- elif spec.target.family == 'aarch64':
- targets.append('AArch64')
- elif spec.target.family == 'sparc' or spec.target.family == 'sparc64':
- targets.append('Sparc')
- elif (spec.target.family == 'ppc64' or
- spec.target.family == 'ppc64le' or
- spec.target.family == 'ppc' or
- spec.target.family == 'ppcle'):
- targets.append('PowerPC')
-
- cmake_args.append(
- '-DLLVM_TARGETS_TO_BUILD:Bool=' + ';'.join(targets))
-
- if spec.satisfies('platform=linux'):
- cmake_args.append('-DCMAKE_BUILD_WITH_INSTALL_RPATH=1')
+ targets = ["NVPTX", "AMDGPU"]
+
+ if spec.target.family == "x86" or spec.target.family == "x86_64":
+ targets.append("X86")
+ elif spec.target.family == "arm":
+ targets.append("ARM")
+ elif spec.target.family == "aarch64":
+ targets.append("AArch64")
+ elif spec.target.family == "sparc" or spec.target.family == "sparc64":
+ targets.append("Sparc")
+ elif (
+ spec.target.family == "ppc64"
+ or spec.target.family == "ppc64le"
+ or spec.target.family == "ppc"
+ or spec.target.family == "ppcle"
+ ):
+ targets.append("PowerPC")
+
+ cmake_args.append("-DLLVM_TARGETS_TO_BUILD:Bool=" + ";".join(targets))
+
+ if spec.satisfies("platform=linux"):
+ cmake_args.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
return cmake_args
- @run_after('install')
+ @run_after("install")
def post_install(self):
with working_dir(self.build_directory):
- install_tree('bin', self.prefix.libexec.llvm)
+ install_tree("bin", self.prefix.libexec.llvm)
diff --git a/var/spack/repos/builtin/packages/tengine/package.py b/var/spack/repos/builtin/packages/tengine/package.py
index ac32b60090..ac6d9e220a 100644
--- a/var/spack/repos/builtin/packages/tengine/package.py
+++ b/var/spack/repos/builtin/packages/tengine/package.py
@@ -10,13 +10,13 @@ class Tengine(AutotoolsPackage):
"""A distribution of Nginx with some advanced features."""
homepage = "https://tengine.taobao.org/"
- url = "https://github.com/alibaba/tengine/archive/2.3.2.tar.gz"
+ url = "https://github.com/alibaba/tengine/archive/2.3.2.tar.gz"
- version('2.3.2', sha256='a65998a35739a59f8a16ec4c6090a59e569ba5a1a3f68fecad952057c1a18fea')
- version('2.3.1', sha256='3dd93f813b80ed7581a81079a2037df6e4777b7e760fd6635b4009d344a5ab1c')
- version('2.3.0', sha256='17cf1380d4faefb70707970437b3f8b66f6ff4530b5e6e61970b35f59b2e2624')
+ version("2.3.2", sha256="a65998a35739a59f8a16ec4c6090a59e569ba5a1a3f68fecad952057c1a18fea")
+ version("2.3.1", sha256="3dd93f813b80ed7581a81079a2037df6e4777b7e760fd6635b4009d344a5ab1c")
+ version("2.3.0", sha256="17cf1380d4faefb70707970437b3f8b66f6ff4530b5e6e61970b35f59b2e2624")
- depends_on('pcre')
+ depends_on("pcre")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
index c7ca30f5f6..9b354577d0 100644
--- a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
+++ b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
@@ -8,17 +8,17 @@ from spack.package import *
class TensorflowServingClient(CMakePackage):
"""A prebuilt tensorflow serving client from the tensorflow serving
- proto files"""
+ proto files"""
- maintainers = ['figroc']
+ maintainers = ["figroc"]
homepage = "https://github.com/figroc/tensorflow-serving-client"
- url = "https://github.com/figroc/tensorflow-serving-client/archive/v2.3.0.tar.gz"
+ url = "https://github.com/figroc/tensorflow-serving-client/archive/v2.3.0.tar.gz"
- version('2.3.0', sha256='621b1df1da521fe1ba873b4b5546c1b794cfa8a13bca91608783acc4c8748fb1')
- version('2.2.0', sha256='010b464b3b09c3c33c5dc2aebbc85447c4d5f775b9cd45d90a9035ca015c1c08')
- version('2.1.0', sha256='7a31d8cfa1d861f73953d4728665dd6d74e205d1fa01062a6c2b1aeee4674f73')
- version('2.0.0', sha256='55310ad484f257173ad5194df7f7116b2049260c3d29049ef8d789d1d8bd9948')
+ version("2.3.0", sha256="621b1df1da521fe1ba873b4b5546c1b794cfa8a13bca91608783acc4c8748fb1")
+ version("2.2.0", sha256="010b464b3b09c3c33c5dc2aebbc85447c4d5f775b9cd45d90a9035ca015c1c08")
+ version("2.1.0", sha256="7a31d8cfa1d861f73953d4728665dd6d74e205d1fa01062a6c2b1aeee4674f73")
+ version("2.0.0", sha256="55310ad484f257173ad5194df7f7116b2049260c3d29049ef8d789d1d8bd9948")
- depends_on('protobuf')
- depends_on('grpc')
+ depends_on("protobuf")
+ depends_on("grpc")
diff --git a/var/spack/repos/builtin/packages/tensorpipe/package.py b/var/spack/repos/builtin/packages/tensorpipe/package.py
index 10ddcd393c..60ba52966e 100644
--- a/var/spack/repos/builtin/packages/tensorpipe/package.py
+++ b/var/spack/repos/builtin/packages/tensorpipe/package.py
@@ -10,17 +10,27 @@ class Tensorpipe(CMakePackage):
"""A tensor-aware point-to-point communication primitive for machine learning."""
homepage = "https://github.com/pytorch/tensorpipe"
- git = "https://github.com/pytorch/tensorpipe.git"
+ git = "https://github.com/pytorch/tensorpipe.git"
- version('master', branch='master', submodules=True)
- version('2021-05-13', commit='05e4c890d4bd5f8ac9a4ba8f3c21e2eba3f66eda', submodules=True) # py-torch@1.9
- version('2021-03-04', commit='369e855ea82fc71f45cfab277863b86747202c92', submodules=True) # py-torch@1.8.1
- version('2021-02-09', commit='05467ba9bc164f06722986b615c4495901747c58', submodules=True) # py-torch@1.8.0
- version('2020-09-28', commit='95ff9319161fcdb3c674d2bb63fac3e94095b343', submodules=True) # py-torch@1.7
- version('2020-06-26', commit='3b8089c9c6717038cff44b70b881d0ad6c93e679', submodules=True) # py-torch@1.6
+ version("master", branch="master", submodules=True)
+ version(
+ "2021-05-13", commit="05e4c890d4bd5f8ac9a4ba8f3c21e2eba3f66eda", submodules=True
+ ) # py-torch@1.9
+ version(
+ "2021-03-04", commit="369e855ea82fc71f45cfab277863b86747202c92", submodules=True
+ ) # py-torch@1.8.1
+ version(
+ "2021-02-09", commit="05467ba9bc164f06722986b615c4495901747c58", submodules=True
+ ) # py-torch@1.8.0
+ version(
+ "2020-09-28", commit="95ff9319161fcdb3c674d2bb63fac3e94095b343", submodules=True
+ ) # py-torch@1.7
+ version(
+ "2020-06-26", commit="3b8089c9c6717038cff44b70b881d0ad6c93e679", submodules=True
+ ) # py-torch@1.6
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('libuv@1.26:')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("libuv@1.26:")
- generator = 'Ninja'
+ generator = "Ninja"
diff --git a/var/spack/repos/builtin/packages/termcap/package.py b/var/spack/repos/builtin/packages/termcap/package.py
index 1443b437d4..1bc135e6fc 100644
--- a/var/spack/repos/builtin/packages/termcap/package.py
+++ b/var/spack/repos/builtin/packages/termcap/package.py
@@ -12,7 +12,7 @@ class Termcap(AutotoolsPackage):
independent of the terminal type."""
homepage = "https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html"
- url = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz"
+ url = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz"
- version('1.3.1', sha256='91a0e22e5387ca4467b5bcb18edf1c51b930262fd466d5fda396dd9d26719100')
- version('1.3', sha256='3eb4b98ae08408ca65dd9275f3c8e56e2feac1261fae914a9b21273db51cf000')
+ version("1.3.1", sha256="91a0e22e5387ca4467b5bcb18edf1c51b930262fd466d5fda396dd9d26719100")
+ version("1.3", sha256="3eb4b98ae08408ca65dd9275f3c8e56e2feac1261fae914a9b21273db51cf000")
diff --git a/var/spack/repos/builtin/packages/tesseract/package.py b/var/spack/repos/builtin/packages/tesseract/package.py
index bde01dddde..fcbe16fde4 100644
--- a/var/spack/repos/builtin/packages/tesseract/package.py
+++ b/var/spack/repos/builtin/packages/tesseract/package.py
@@ -10,75 +10,71 @@ class Tesseract(AutotoolsPackage):
"""Tesseract Open Source OCR Engine."""
homepage = "https://github.com/tesseract-ocr/tesseract"
- url = "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz"
+ url = "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz"
- version('4.1.1', sha256='2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb')
- version('4.1.0', sha256='5c5ed5f1a76888dc57a83704f24ae02f8319849f5c4cf19d254296978a1a1961')
- version('4.0.0', sha256='a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd')
+ version("4.1.1", sha256="2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb")
+ version("4.1.0", sha256="5c5ed5f1a76888dc57a83704f24ae02f8319849f5c4cf19d254296978a1a1961")
+ version("4.0.0", sha256="a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd")
# do not fetch the jar files from Makefile
- patch('java_Makefile.patch')
+ patch("java_Makefile.patch")
- jars = [
- 'piccolo2d-core-3.0.1',
- 'piccolo2d-extras-3.0.1',
- 'jaxb-api-2.3.1'
- ]
+ jars = ["piccolo2d-core-3.0.1", "piccolo2d-extras-3.0.1", "jaxb-api-2.3.1"]
resource(
name=jars[0],
- url='https://search.maven.org/remotecontent?filepath=org/piccolo2d/piccolo2d-core/3.0.1/piccolo2d-core-3.0.1.jar',
- sha256='9acad723136ddb996e96f5d488b9b046753a1d4c60ea639d5e3f9701deaf60ad',
+ url="https://search.maven.org/remotecontent?filepath=org/piccolo2d/piccolo2d-core/3.0.1/piccolo2d-core-3.0.1.jar",
+ sha256="9acad723136ddb996e96f5d488b9b046753a1d4c60ea639d5e3f9701deaf60ad",
placement=jars[0],
expand=False,
)
resource(
name=jars[1],
- url='https://search.maven.org/remotecontent?filepath=org/piccolo2d/piccolo2d-extras/3.0.1/piccolo2d-extras-3.0.1.jar',
- sha256='ba45f343e9ebc06c9b4ce165c8bb539b11cbf59e93d1df48489ab173f74375a8',
+ url="https://search.maven.org/remotecontent?filepath=org/piccolo2d/piccolo2d-extras/3.0.1/piccolo2d-extras-3.0.1.jar",
+ sha256="ba45f343e9ebc06c9b4ce165c8bb539b11cbf59e93d1df48489ab173f74375a8",
placement=jars[1],
expand=False,
)
resource(
name=jars[2],
- url='https://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar',
- sha256='88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06',
+ url="https://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar",
+ sha256="88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06",
placement=jars[2],
expand=False,
)
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('doxygen', type='build')
- depends_on('asciidoc', type='build')
- depends_on('libxslt', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('leptonica')
- depends_on('libarchive')
- depends_on('curl')
- depends_on('icu4c')
- depends_on('cairo')
- depends_on('pango')
- depends_on('java')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("doxygen", type="build")
+ depends_on("asciidoc", type="build")
+ depends_on("libxslt", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("leptonica")
+ depends_on("libarchive")
+ depends_on("curl")
+ depends_on("icu4c")
+ depends_on("cairo")
+ depends_on("pango")
+ depends_on("java")
def autoreconf(self, spec, prefix):
- autogen = Executable(join_path('.', 'autogen.sh'))
+ autogen = Executable(join_path(".", "autogen.sh"))
autogen()
def setup_run_environment(self, env):
- env.set('SCROLLVIEW_PATH', prefix.share.tessdata)
+ env.set("SCROLLVIEW_PATH", prefix.share.tessdata)
- @run_after('install')
+ @run_after("install")
def training(self):
- make('training')
- make('training-install')
+ make("training")
+ make("training-install")
# move the jar files to the java directory
for jar in self.jars:
- src = '{0}/{1}/{2}.jar'.format(self.stage.source_path, jar, jar)
- dest = '{0}/java/{1}.jar'.format(self.stage.source_path, jar)
+ src = "{0}/{1}/{2}.jar".format(self.stage.source_path, jar, jar)
+ dest = "{0}/java/{1}.jar".format(self.stage.source_path, jar)
copy(src, dest)
- with working_dir('java'):
- make('install-jars')
+ with working_dir("java"):
+ make("install-jars")
diff --git a/var/spack/repos/builtin/packages/testdfsio/package.py b/var/spack/repos/builtin/packages/testdfsio/package.py
index c33ded1555..c7edf2694e 100644
--- a/var/spack/repos/builtin/packages/testdfsio/package.py
+++ b/var/spack/repos/builtin/packages/testdfsio/package.py
@@ -11,8 +11,8 @@ class Testdfsio(MavenPackage):
"""A corrected and enhanced version of Apache Hadoop TestDFSIO"""
homepage = "https://github.com/tthx/testdfsio"
- url = "https://github.com/tthx/testdfsio/archive/0.0.1.tar.gz"
+ url = "https://github.com/tthx/testdfsio/archive/0.0.1.tar.gz"
- version('0.0.1', sha256='fe8cc47260ffb3e3ac90e0796ebfe73eb4dac64964ab77671e5d32435339dd09')
+ version("0.0.1", sha256="fe8cc47260ffb3e3ac90e0796ebfe73eb4dac64964ab77671e5d32435339dd09")
- depends_on('hadoop@3.2.1:', type='run')
+ depends_on("hadoop@3.2.1:", type="run")
diff --git a/var/spack/repos/builtin/packages/testu01/package.py b/var/spack/repos/builtin/packages/testu01/package.py
index 4c5a32aa4f..64188eec15 100644
--- a/var/spack/repos/builtin/packages/testu01/package.py
+++ b/var/spack/repos/builtin/packages/testu01/package.py
@@ -16,12 +16,15 @@ class Testu01(AutotoolsPackage):
homepage = "http://simul.iro.umontreal.ca/testu01/tu01.html"
git = "https://github.com/umontreal-simul/TestU01-2009/"
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('1.2.3', sha256='bc1d1dd2aea7ed3b3d28eaad2c8ee55913f11ce67aec8fe4f643c1c0d2ed1cac',
- url='http://simul.iro.umontreal.ca/testu01/TestU01.zip')
+ version(
+ "1.2.3",
+ sha256="bc1d1dd2aea7ed3b3d28eaad2c8ee55913f11ce67aec8fe4f643c1c0d2ed1cac",
+ url="http://simul.iro.umontreal.ca/testu01/TestU01.zip",
+ )
- @run_before('configure')
+ @run_before("configure")
def fix_permissions(self):
if not self.force_autoreconf:
chmod(join_path(self.stage.source_path, "configure"), 0o755)
diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py
index fd3f1bf9ae..f29aab66e1 100644
--- a/var/spack/repos/builtin/packages/tetgen/package.py
+++ b/var/spack/repos/builtin/packages/tetgen/package.py
@@ -11,56 +11,83 @@ from spack.package import *
class Tetgen(Package):
"""TetGen is a program and library that can be used to generate
- tetrahedral meshes for given 3D polyhedral domains. TetGen
- generates exact constrained Delaunay tetrahedralizations,
- boundary conforming Delaunay meshes, and Voronoi paritions.
+ tetrahedral meshes for given 3D polyhedral domains. TetGen
+ generates exact constrained Delaunay tetrahedralizations,
+ boundary conforming Delaunay meshes, and Voronoi paritions.
"""
homepage = "https://wias-berlin.de/software/tetgen/"
- version('1.6.0', sha256='87b5e61ebd3a471fc4f2cdd7124c2b11dd6639f4feb1f941a5d2f5110d05ce39', url='http://www.tetgen.org/1.5/src/tetgen1.6.0.tar.gz')
- version('1.5.1', sha256='e46a4434a3e7c00044c8f4f167e18b6f4a85be7d22838c8f948ce8cc8c01b850', url='http://www.tetgen.org/1.5/src/tetgen1.5.1.tar.gz', preferred=True)
- 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.', when='@:1.5.0')
-
- patch('tetgen-1.5.0-free.patch', when='@1.5.0')
+ version(
+ "1.6.0",
+ sha256="87b5e61ebd3a471fc4f2cdd7124c2b11dd6639f4feb1f941a5d2f5110d05ce39",
+ url="http://www.tetgen.org/1.5/src/tetgen1.6.0.tar.gz",
+ )
+ version(
+ "1.5.1",
+ sha256="e46a4434a3e7c00044c8f4f167e18b6f4a85be7d22838c8f948ce8cc8c01b850",
+ url="http://www.tetgen.org/1.5/src/tetgen1.5.1.tar.gz",
+ preferred=True,
+ )
+ 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.",
+ when="@:1.5.0",
+ )
+
+ patch("tetgen-1.5.0-free.patch", when="@1.5.0")
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')
- hff.filter(r'(\b)(throw)(\b)(.*);', r'\1assert_throw(false);')
- hff.filter(r'^(#define\s*tetgenH\s*)$', r'\1{0}'.format("""\n
+ 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")
+ hff.filter(r"(\b)(throw)(\b)(.*);", r"\1assert_throw(false);")
+ hff.filter(
+ r"^(#define\s*tetgenH\s*)$",
+ r"\1{0}".format(
+ """\n
#include <stdexcept>
inline void assert_throw(bool assertion)
{
if(!assertion)
throw std::runtime_error("Tetgen encountered a problem (assert failed)!");
-}\n"""))
+}\n"""
+ ),
+ )
- sff = FileFilter(*(glob.glob('*.cxx')))
- sff.filter(r'(\b)(assert)(\b)', r'\1assert_throw\3')
+ sff = FileFilter(*(glob.glob("*.cxx")))
+ sff.filter(r"(\b)(assert)(\b)", r"\1assert_throw\3")
def install(self, spec, prefix):
- make('tetgen', 'tetlib')
+ make("tetgen", "tetlib")
mkdirp(prefix.bin)
- install('tetgen', prefix.bin)
+ install("tetgen", prefix.bin)
mkdirp(prefix.include)
- install('tetgen.h', prefix.include)
+ install("tetgen.h", prefix.include)
mkdirp(prefix.lib)
- install('libtet.a', prefix.lib)
+ install("libtet.a", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/tethex/package.py b/var/spack/repos/builtin/packages/tethex/package.py
index 5bc2f1fea6..92391df87a 100644
--- a/var/spack/repos/builtin/packages/tethex/package.py
+++ b/var/spack/repos/builtin/packages/tethex/package.py
@@ -14,19 +14,22 @@ class Tethex(CMakePackage):
"""
homepage = "https://github.com/martemyev/tethex"
- url = "https://github.com/martemyev/tethex/archive/v0.0.7.tar.gz"
- git = "https://github.com/martemyev/tethex.git"
+ url = "https://github.com/martemyev/tethex/archive/v0.0.7.tar.gz"
+ git = "https://github.com/martemyev/tethex.git"
- version('develop', branch='master')
- version('0.0.7', sha256='5f93f434c6d110be3d8d0eba69336864d0e5a26aba2d444eb25adbd2caf73645')
+ version("develop", branch="master")
+ version("0.0.7", sha256="5f93f434c6d110be3d8d0eba69336864d0e5a26aba2d444eb25adbd2caf73645")
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
- depends_on('cmake@2.8:', type='build')
+ depends_on("cmake@2.8:", type="build")
def install(self, spec, prefix):
# install by hand
mkdirp(prefix.bin)
- install('tethex', prefix.bin)
+ install("tethex", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/texinfo/package.py b/var/spack/repos/builtin/packages/texinfo/package.py
index cd6a1980eb..e67704b79a 100644
--- a/var/spack/repos/builtin/packages/texinfo/package.py
+++ b/var/spack/repos/builtin/packages/texinfo/package.py
@@ -19,34 +19,34 @@ class Texinfo(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/texinfo/"
gnu_mirror_path = "texinfo/texinfo-6.0.tar.gz"
- executables = ['^info$']
+ executables = ["^info$"]
- tags = ['build-tools']
+ tags = ["build-tools"]
- version('6.5', sha256='d34272e4042c46186ddcd66bd5d980c0ca14ff734444686ccf8131f6ec8b1427')
- version('6.3', sha256='300a6ba4958c2dd4a6d5ce60f0a335daf7e379f5374f276f6ba31a221f02f606')
- version('6.0', sha256='83d3183290f34e7f958d209d0b20022c6fe9e921eb6fe94c27d988827d4878d2')
- version('5.2', sha256='6b8ca30e9b6f093b54fe04439e5545e564c63698a806a48065c0bba16994cf74')
- version('5.1', sha256='50e8067f9758bb2bf175b69600082ac4a27c464cb4bcd48a578edd3127216600')
- version('5.0', sha256='2c579345a39a2a0bb4b8c28533f0b61356504a202da6a25d17d4d866af7f5803')
+ version("6.5", sha256="d34272e4042c46186ddcd66bd5d980c0ca14ff734444686ccf8131f6ec8b1427")
+ version("6.3", sha256="300a6ba4958c2dd4a6d5ce60f0a335daf7e379f5374f276f6ba31a221f02f606")
+ version("6.0", sha256="83d3183290f34e7f958d209d0b20022c6fe9e921eb6fe94c27d988827d4878d2")
+ version("5.2", sha256="6b8ca30e9b6f093b54fe04439e5545e564c63698a806a48065c0bba16994cf74")
+ version("5.1", sha256="50e8067f9758bb2bf175b69600082ac4a27c464cb4bcd48a578edd3127216600")
+ version("5.0", sha256="2c579345a39a2a0bb4b8c28533f0b61356504a202da6a25d17d4d866af7f5803")
- depends_on('perl')
+ depends_on("perl")
# Fix unescaped braces in regexps.
# Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898994
- patch('fix_unescaped_braces.patch', when='@6.3:')
- patch('fix_unescaped_braces_2.patch', when='@5.1:6.0')
- patch('fix_unescaped_braces_3.patch', when='@5.0')
+ patch("fix_unescaped_braces.patch", when="@6.3:")
+ patch("fix_unescaped_braces_2.patch", when="@5.1:6.0")
+ patch("fix_unescaped_braces_3.patch", when="@5.0")
# Apply this fix to perform thread-safe processing in code
# that uses the global locale.
# Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902771
- patch('update_locale_handling.patch', when='@6.3:')
+ patch("update_locale_handling.patch", when="@6.3:")
- patch('nvhpc.patch', when='%nvhpc')
+ patch("nvhpc.patch", when="%nvhpc")
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'info \(GNU texinfo\)\s+(\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"info \(GNU texinfo\)\s+(\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py
index 0a23f9bd43..1eb7b273de 100644
--- a/var/spack/repos/builtin/packages/texlive/package.py
+++ b/var/spack/repos/builtin/packages/texlive/package.py
@@ -20,9 +20,9 @@ class Texlive(AutotoolsPackage):
around the world."""
homepage = "https://www.tug.org/texlive"
- url = 'https://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'
+ url = "https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2020/texlive-20200406-source.tar.xz"
+ base_url = "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/{year}/texlive-{version}-{dist}.tar.xz"
+ list_url = "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive"
list_depth = 1
# Below is the url for a binary distribution. This was originally how this
@@ -31,59 +31,53 @@ class Texlive(AutotoolsPackage):
# connection at install time and the package versions could change over
# time. It is better to use a version built from tarballs, as defined with
# the "releases" below.
- version('live', sha256='e67edec49df6b7c4a987a7d5a9b31bcf41258220f9ac841c7a836080cd334fb5',
- url='ftp://tug.org/historic/systems/texlive/2022/install-tl-unx.tar.gz', deprecated=True)
+ version(
+ "live",
+ sha256="e67edec49df6b7c4a987a7d5a9b31bcf41258220f9ac841c7a836080cd334fb5",
+ url="ftp://tug.org/historic/systems/texlive/2022/install-tl-unx.tar.gz",
+ deprecated=True,
+ )
# Add information for new versions below.
releases = [
{
- 'version': '20220321',
- 'year': '2022',
- 'sha256_source': '5ffa3485e51eb2c4490496450fc69b9d7bd7cb9e53357d92db4bcd4fd6179b56',
- 'sha256_texmf': '372b2b07b1f7d1dd12766cfc7f6656e22c34a5a20d03c1fe80510129361a3f16',
+ "version": "20220321",
+ "year": "2022",
+ "sha256_source": "5ffa3485e51eb2c4490496450fc69b9d7bd7cb9e53357d92db4bcd4fd6179b56",
+ "sha256_texmf": "372b2b07b1f7d1dd12766cfc7f6656e22c34a5a20d03c1fe80510129361a3f16",
},
{
- 'version': '20210325',
- 'year': '2021',
- 'sha256_source': '7aefd96608d72061970f2d73f275be5648ea8ae815af073016d3106acc0d584b',
- 'sha256_texmf': 'ff12d436c23e99fb30aad55924266104356847eb0238c193e839c150d9670f1c',
+ "version": "20210325",
+ "year": "2021",
+ "sha256_source": "7aefd96608d72061970f2d73f275be5648ea8ae815af073016d3106acc0d584b",
+ "sha256_texmf": "ff12d436c23e99fb30aad55924266104356847eb0238c193e839c150d9670f1c",
},
{
- 'version': '20200406',
- 'year': '2020',
- 'sha256_source': 'e32f3d08cbbbcf21d8d3f96f2143b64a1f5e4cb01b06b761d6249c8785249078',
- 'sha256_texmf': '0aa97e583ecfd488e1dc60ff049fec073c1e22dfe7de30a3e4e8c851bb875a95',
+ "version": "20200406",
+ "year": "2020",
+ "sha256_source": "e32f3d08cbbbcf21d8d3f96f2143b64a1f5e4cb01b06b761d6249c8785249078",
+ "sha256_texmf": "0aa97e583ecfd488e1dc60ff049fec073c1e22dfe7de30a3e4e8c851bb875a95",
},
{
- 'version': '20190410',
- 'year': '2019',
- 'sha256_source': 'd2a29fef04e34dc3d2d2296c18995fc357aa7625e7a6bbf40fb92d83d3d0d7b5',
- 'sha256_texmf': 'c2ec974abc98b91995969e7871a0b56dbc80dd8508113ffcff6923e912c4c402',
+ "version": "20190410",
+ "year": "2019",
+ "sha256_source": "d2a29fef04e34dc3d2d2296c18995fc357aa7625e7a6bbf40fb92d83d3d0d7b5",
+ "sha256_texmf": "c2ec974abc98b91995969e7871a0b56dbc80dd8508113ffcff6923e912c4c402",
},
]
for release in releases:
version(
- release['version'],
- sha256=release['sha256_source'],
- url=base_url.format(
- year=release['year'],
- version=release['version'],
- dist='source'
- )
+ release["version"],
+ sha256=release["sha256_source"],
+ url=base_url.format(year=release["year"], version=release["version"], dist="source"),
)
resource(
- name='texmf',
- url=base_url.format(
- year=release['year'],
- version=release['version'],
- dist='texmf'
- ),
- sha256=release['sha256_texmf'],
- when='@{0}'.format(
- release['version']
- )
+ name="texmf",
+ url=base_url.format(year=release["year"], version=release["version"], dist="texmf"),
+ sha256=release["sha256_texmf"],
+ when="@{0}".format(release["version"]),
)
# The following variant is only for the "live" binary installation.
@@ -97,140 +91,140 @@ class Texlive(AutotoolsPackage):
# See:
# https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-25025r6
variant(
- 'scheme',
- default='small',
- values=('minimal', 'basic', 'small', 'medium', 'full'),
- description='Package subset to install, only meaningful for "live" '
- 'version'
+ "scheme",
+ default="small",
+ values=("minimal", "basic", "small", "medium", "full"),
+ description='Package subset to install, only meaningful for "live" ' "version",
)
- depends_on('perl', type='build', when='@live')
- depends_on('pkgconfig', when='@2019:', type='build')
-
- depends_on('cairo+X', when='@2019:')
- depends_on('freetype', when='@2019:')
- depends_on('ghostscript', when='@2019:')
- depends_on('gmp', when='@2019:')
- depends_on('harfbuzz+graphite2', when='@2019:')
- depends_on('icu4c', when='@2019:')
- depends_on('libgd', when='@2019:')
- depends_on('libpaper', when='@2019:')
- depends_on('libpng', when='@2019:')
- depends_on('libxaw', when='@2019:')
- depends_on('libxt', when='@2019:')
- depends_on('mpfr', when='@2019:')
- depends_on('perl', when='@2019:')
- depends_on('pixman', when='@2019:')
- depends_on('poppler@:0.84', when='@2019:')
- depends_on('teckit', when='@2019:')
- depends_on('zlib', when='@2019:')
- depends_on('zziplib', when='@2019:')
-
- build_directory = 'spack-build'
+ depends_on("perl", type="build", when="@live")
+ depends_on("pkgconfig", when="@2019:", type="build")
+
+ depends_on("cairo+X", when="@2019:")
+ depends_on("freetype", when="@2019:")
+ depends_on("ghostscript", when="@2019:")
+ depends_on("gmp", when="@2019:")
+ depends_on("harfbuzz+graphite2", when="@2019:")
+ depends_on("icu4c", when="@2019:")
+ depends_on("libgd", when="@2019:")
+ depends_on("libpaper", when="@2019:")
+ depends_on("libpng", when="@2019:")
+ depends_on("libxaw", when="@2019:")
+ depends_on("libxt", when="@2019:")
+ depends_on("mpfr", when="@2019:")
+ depends_on("perl", when="@2019:")
+ depends_on("pixman", when="@2019:")
+ depends_on("poppler@:0.84", when="@2019:")
+ depends_on("teckit", when="@2019:")
+ depends_on("zlib", when="@2019:")
+ depends_on("zziplib", when="@2019:")
+
+ build_directory = "spack-build"
def tex_arch(self):
- tex_arch = '{0}-{1}'.format(platform.machine(),
- platform.system().lower())
+ tex_arch = "{0}-{1}".format(platform.machine(), platform.system().lower())
return tex_arch
- @when('@2019:')
+ @when("@2019:")
def configure_args(self):
args = [
- '--bindir={0}'.format(join_path(self.prefix.bin, self.tex_arch())),
- '--disable-dvisvgm',
- '--disable-native-texlive-build',
- '--disable-static',
- '--enable-shared',
- '--with-banner-add= - Spack',
- '--dataroot={0}'.format(self.prefix),
- '--with-system-cairo',
- '--with-system-freetype2',
- '--with-system-gd',
- '--with-system-gmp',
- '--with-system-graphite2',
- '--with-system-harfbuzz',
- '--with-system-icu',
- '--with-system-libpaper',
- '--with-system-libpng',
- '--with-system-mpfr',
- '--with-system-pixman',
- '--with-system-poppler',
- '--with-system-teckit',
- '--with-system-zlib',
- '--with-system-zziplib',
+ "--bindir={0}".format(join_path(self.prefix.bin, self.tex_arch())),
+ "--disable-dvisvgm",
+ "--disable-native-texlive-build",
+ "--disable-static",
+ "--enable-shared",
+ "--with-banner-add= - Spack",
+ "--dataroot={0}".format(self.prefix),
+ "--with-system-cairo",
+ "--with-system-freetype2",
+ "--with-system-gd",
+ "--with-system-gmp",
+ "--with-system-graphite2",
+ "--with-system-harfbuzz",
+ "--with-system-icu",
+ "--with-system-libpaper",
+ "--with-system-libpng",
+ "--with-system-mpfr",
+ "--with-system-pixman",
+ "--with-system-poppler",
+ "--with-system-teckit",
+ "--with-system-zlib",
+ "--with-system-zziplib",
]
return args
- @run_after('install')
+ @run_after("install")
def setup_texlive(self):
- if not self.spec.satisfies('@live'):
+ if not self.spec.satisfies("@live"):
mkdirp(self.prefix.tlpkg.TeXLive)
- install('texk/tests/TeXLive/*', self.prefix.tlpkg.TeXLive)
+ install("texk/tests/TeXLive/*", self.prefix.tlpkg.TeXLive)
- with working_dir('spack-build'):
- make('texlinks')
+ with working_dir("spack-build"):
+ make("texlinks")
- copy_tree('texlive-{0}-texmf'.format(self.version.string),
- self.prefix)
+ copy_tree("texlive-{0}-texmf".format(self.version.string), self.prefix)
# Create and run setup utilities
- fmtutil_sys = Executable(join_path(self.prefix.bin,
- self.tex_arch(), 'fmtutil-sys'))
- mktexlsr = Executable(join_path(self.prefix.bin, self.tex_arch(),
- 'mktexlsr'))
- mtxrun = Executable(join_path(self.prefix.bin, self.tex_arch(),
- 'mtxrun'))
+ fmtutil_sys = Executable(join_path(self.prefix.bin, self.tex_arch(), "fmtutil-sys"))
+ mktexlsr = Executable(join_path(self.prefix.bin, self.tex_arch(), "mktexlsr"))
+ mtxrun = Executable(join_path(self.prefix.bin, self.tex_arch(), "mtxrun"))
mktexlsr()
- fmtutil_sys('--all')
- mtxrun('--generate')
+ fmtutil_sys("--all")
+ mtxrun("--generate")
else:
pass
def setup_build_environment(self, env):
- env.prepend_path('PATH', join_path(self.prefix.bin, self.tex_arch()))
+ env.prepend_path("PATH", join_path(self.prefix.bin, self.tex_arch()))
def setup_run_environment(self, env):
- env.prepend_path('PATH', join_path(self.prefix.bin, self.tex_arch()))
+ env.prepend_path("PATH", join_path(self.prefix.bin, self.tex_arch()))
def setup_dependent_build_environment(self, env, dependent_spec):
self.setup_run_environment(env)
- @when('@live')
+ @when("@live")
def autoreconf(self, spec, prefix):
- touch('configure')
+ touch("configure")
- @when('@live')
+ @when("@live")
def configure(self, spec, prefix):
pass
- @when('@live')
+ @when("@live")
def build(self, spec, prefix):
pass
- @when('@live')
+ @when("@live")
def install(self, spec, prefix):
# The binary install needs a profile file to be present
tmp_profile = tempfile.NamedTemporaryFile()
- tmp_profile.write("selected_scheme {0}".format(
- spec.variants['scheme']).encode())
+ tmp_profile.write("selected_scheme {0}".format(spec.variants["scheme"]).encode())
# Using texlive's mirror system leads to mysterious problems,
# in lieu of being able to specify a repository as a variant, hardwire
# a particular (slow, but central) one for now.
- _repository = 'https://ctan.math.washington.edu/tex-archive/systems/texlive/tlnet/'
+ _repository = "https://ctan.math.washington.edu/tex-archive/systems/texlive/tlnet/"
env = os.environ
- env['TEXLIVE_INSTALL_PREFIX'] = prefix
- perl = which('perl')
- scheme = spec.variants['scheme'].value
- perl('./install-tl', '-scheme', scheme,
- '-repository', _repository,
- '-portable', '-profile', tmp_profile.name)
+ env["TEXLIVE_INSTALL_PREFIX"] = prefix
+ perl = which("perl")
+ scheme = spec.variants["scheme"].value
+ perl(
+ "./install-tl",
+ "-scheme",
+ scheme,
+ "-repository",
+ _repository,
+ "-portable",
+ "-profile",
+ tmp_profile.name,
+ )
tmp_profile.close()
- executables = [r'^tex$']
+ executables = [r"^tex$"]
@classmethod
def determine_version(cls, exe):
@@ -239,29 +233,31 @@ class Texlive(AutotoolsPackage):
# variable.
# Added 3 older releases: 2018 (CentOS-8), 2017 (Ubuntu-18.04), 2013 (CentOS-7).
releases = cls.releases
- releases.extend([
- {
- 'version': '20180414',
- 'year': '2018',
- },
- {
- 'version': '20170524',
- 'year': '2017',
- },
- {
- 'version': '20130530',
- 'year': '2013',
- },
- ])
+ releases.extend(
+ [
+ {
+ "version": "20180414",
+ "year": "2018",
+ },
+ {
+ "version": "20170524",
+ "year": "2017",
+ },
+ {
+ "version": "20130530",
+ "year": "2013",
+ },
+ ]
+ )
# tex indicates the year only
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'TeX Live (\d+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"TeX Live (\d+)", output)
ver = match.group(1) if match else None
# We search for the repo actual release
if ver is not None:
for release in releases:
- year = release['year']
+ year = release["year"]
if year == ver:
- ver = release['version']
+ ver = release["version"]
break
return ver
diff --git a/var/spack/repos/builtin/packages/texstudio/package.py b/var/spack/repos/builtin/packages/texstudio/package.py
index 633bacaefa..ddbad54ce0 100644
--- a/var/spack/repos/builtin/packages/texstudio/package.py
+++ b/var/spack/repos/builtin/packages/texstudio/package.py
@@ -11,37 +11,39 @@ class Texstudio(QMakePackage):
writing LaTeX documents as easy and comfortable as possible."""
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"
+ url = "https://github.com/texstudio-org/texstudio/archive/2.12.16.tar.gz"
+ git = "https://github.com/texstudio-org/texstudio.git"
- version('master', branch='master')
- version('3.0.1', sha256='0a2a7d266fecdfa3ea4a454fd66833a54590e610f880c6a97644cdcfc2116191')
- version('3.0.0', sha256='c1f704f84b2007621c5f8ec7fd3b4cf96693f98fd25724ee8fe9c3dccdc7ab2a')
+ version("master", branch="master")
+ version("3.0.1", sha256="0a2a7d266fecdfa3ea4a454fd66833a54590e610f880c6a97644cdcfc2116191")
+ version("3.0.0", sha256="c1f704f84b2007621c5f8ec7fd3b4cf96693f98fd25724ee8fe9c3dccdc7ab2a")
- version('2.12.16', sha256='a14b8912bfd15d982cfbe5f00deed37ca85fb6e38d3aa0c2dac23b4ecaab0984')
- version('2.12.14', sha256='61df71f368bbf21f865645534f63840fd48dbd2996d6d0188aa26d3b647fede0')
- version('2.12.12', sha256='5978daa806c616f9a1eea231bb613f0bc1037d7d2435ee5ca6b14fe88a2caa8c')
- version('2.12.10', sha256='92cf9cbb536e58a5929611fa40438cd9d7ea6880022cd3c5de0483fd15d3df0b')
+ version("2.12.16", sha256="a14b8912bfd15d982cfbe5f00deed37ca85fb6e38d3aa0c2dac23b4ecaab0984")
+ version("2.12.14", sha256="61df71f368bbf21f865645534f63840fd48dbd2996d6d0188aa26d3b647fede0")
+ version("2.12.12", sha256="5978daa806c616f9a1eea231bb613f0bc1037d7d2435ee5ca6b14fe88a2caa8c")
+ version("2.12.10", sha256="92cf9cbb536e58a5929611fa40438cd9d7ea6880022cd3c5de0483fd15d3df0b")
- variant('poppler', default=True, description='Compile with Poppler library for internal pdf preview')
+ variant(
+ "poppler",
+ default=True,
+ description="Compile with Poppler library for internal pdf preview",
+ )
# Base dependencies
- depends_on('poppler+qt', when="+poppler")
+ depends_on("poppler+qt", when="+poppler")
# There is a known issue with QT 5.10
# See https://github.com/texstudio-org/texstudio/wiki/Compiling
- depends_on('qt@4.4.4:5.9,5.11.0:')
+ depends_on("qt@4.4.4:5.9,5.11.0:")
- conflicts('target=aarch64:', when='@:2.12.22')
+ conflicts("target=aarch64:", when="@:2.12.22")
def qmake_args(self):
- args = ['PREFIX={0}'.format(self.prefix)]
+ args = ["PREFIX={0}".format(self.prefix)]
- if (self.spec.satisfies('+poppler')):
- args.append('INCLUDEPATH+={0}'.format(
- self.spec['poppler'].prefix.include))
- args.append('LIBS+={0}'.format(
- self.spec['poppler'].libs.search_flags))
+ if self.spec.satisfies("+poppler"):
+ args.append("INCLUDEPATH+={0}".format(self.spec["poppler"].prefix.include))
+ args.append("LIBS+={0}".format(self.spec["poppler"].libs.search_flags))
else:
- args.append('NO_POPPLER_PREVIEW=true')
+ args.append("NO_POPPLER_PREVIEW=true")
return args
diff --git a/var/spack/repos/builtin/packages/textparser/package.py b/var/spack/repos/builtin/packages/textparser/package.py
index 6cf874437b..f1edef9c97 100644
--- a/var/spack/repos/builtin/packages/textparser/package.py
+++ b/var/spack/repos/builtin/packages/textparser/package.py
@@ -8,50 +8,50 @@ from spack.package import *
class Textparser(CMakePackage):
"""Text Parser library allows us to describe and to parse JSON like
- simple parameter structure."""
+ simple parameter structure."""
homepage = "https://github.com/avr-aics-riken/TextParser"
- git = "https://github.com/avr-aics-riken/TextParser.git"
+ git = "https://github.com/avr-aics-riken/TextParser.git"
- version('master', branch='master')
- version('1.8.8', commit='31ec1f23df21611d0765c27a6458fdbbf4cde66d')
+ version("master", branch="master")
+ version("1.8.8", commit="31ec1f23df21611d0765c27a6458fdbbf4cde66d")
- variant('mpi', default=True, description='Activate MPI support')
- variant('fapi', default=False,
- description='This option is for building Fortran API.')
- variant('test', default=False,
- description='This option turns on compiling sample codes and' +
- ' execute the tests.')
+ variant("mpi", default=True, description="Activate MPI support")
+ variant("fapi", default=False, description="This option is for building Fortran API.")
+ variant(
+ "test",
+ default=False,
+ description="This option turns on compiling sample codes and" + " execute the tests.",
+ )
- patch('fix_compiler_options.patch')
+ patch("fix_compiler_options.patch")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
parallel = False
def cmake_args(self):
spec = self.spec
args = []
- args.append('-DINSTALL_DIR={0}'.format(self.prefix))
+ args.append("-DINSTALL_DIR={0}".format(self.prefix))
- if '+mpi' in spec:
- args.append('-Dwith_MPI=yes')
- args.append('-DCMAKE_CXX_COMPILER=' + spec['mpi'].mpicxx)
+ if "+mpi" in spec:
+ args.append("-Dwith_MPI=yes")
+ args.append("-DCMAKE_CXX_COMPILER=" + spec["mpi"].mpicxx)
else:
- args.append('-Dwith_MPI=no')
+ args.append("-Dwith_MPI=no")
- if '+fapi' in spec:
- args.append('-Denable_fapi=yes')
+ if "+fapi" in spec:
+ args.append("-Denable_fapi=yes")
else:
- args.append('-Denable_fapi=no')
+ args.append("-Denable_fapi=no")
- if '+test' in spec:
- args.append('-Denable_test=yes')
+ if "+test" in spec:
+ args.append("-Denable_test=yes")
else:
- args.append('-Denable_test=no')
+ args.append("-Denable_test=no")
- if '%fj' in spec:
- args.append(
- '-DCMAKE_TOOLCHAIN_FILE=./cmake/Toolchain_fx100.cmake')
+ if "%fj" in spec:
+ args.append("-DCMAKE_TOOLCHAIN_FILE=./cmake/Toolchain_fx100.cmake")
return args
diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py
index 307ea5a988..b40239fbdb 100644
--- a/var/spack/repos/builtin/packages/tfel/package.py
+++ b/var/spack/repos/builtin/packages/tfel/package.py
@@ -28,9 +28,9 @@ class Tfel(CMakePackage):
"""
homepage = "http://tfel.sourceforge.net"
- url = "https://github.com/thelfer/tfel/archive/TFEL-4.0.tar.gz"
- git = "https://github.com/thelfer/tfel.git"
- maintainers = ['thelfer']
+ url = "https://github.com/thelfer/tfel/archive/TFEL-4.0.tar.gz"
+ git = "https://github.com/thelfer/tfel.git"
+ maintainers = ["thelfer"]
# development branches
version("master", branch="master")
@@ -44,98 +44,93 @@ class Tfel(CMakePackage):
version("rliv-1.2", branch="rliv-1.2")
# released version
- version('4.0.0', sha256='7a0c32c8a9cd2fd65cbcb54fff802f303665d7cba5d46f92ff3d55f057c92845',
- preferred=True)
- version('3.4.3', sha256='e58515effe57d473385fe0b592d9e1d1286c0901496c61268d9efd92a2550849')
- version('3.4.2', sha256='f39e65b2282fd3b108081388f161ba662407b192fed68fafe324c7528026a202')
- version('3.4.1', sha256='04cd4257e39e1b05e02b12ad941106fff4d439934bdfe6e950c08bab23e2a4ba')
- version('3.4.0', sha256='176feb4c1726d0f21f4c656b20620dce6f99ab7f5f09a66905aeb643a316bbc1')
- version('3.3.3', sha256='5a1fb43a8086e594e0a7234c1f227e6e005d384fd84affe3acadccb68fe2bbf6')
- version('3.3.2', sha256='17127ffdf92367c10041258f70a88ac3dcb0a7d89c1766a6aa1ebaeb4d03d55d')
- version('3.3.1', sha256='ad07329c25874832fbacc999b5f88d9b9ab84415bc897a6f3cae5b4afcd7661f')
- version('3.3.0', sha256='884ad68b0fbbededc3a602d559433c24114ae4534dc9f0a759d31ca3589dace0')
- version('3.2.6', sha256='ae80c76d92aeae207e307436aed32bbaed913a437ae57b5ee128ce4f543f20a9')
- version('3.2.5', sha256='194e799ca8d2f7ffea25aa3842c48cfc12850c252d851ce03941b5e3ae533b21')
- version('3.2.4', sha256='e7ac7e61fb3e02301285885bb3dc81ca1b09bd6e2929d15c755555d66088fe33')
- version('3.2.3', sha256='ac429c50ad1901d9d6e518a1cf6505d7a404c21d8ad3c6e5b0acecc77f20e3f7')
- version('3.2.2', sha256='69b01ae0d1f9140b619aaa9135948284ff40d4654672c335e55ab4934c02eb43')
- version('3.2.1', sha256='12786480524a7fe86889120fb334fa00211dfd44ad5ec71e2279e7adf1ddc807')
- version('3.2.0', sha256='089d79745e9f267a2bd03dcd8841d484e668bd27f5cc2ff7453634cb39016848')
- version('3.1.10', sha256='635a2507f139bb6d893e0a7bb223cd1d9ddab5dfddee179a3b2e9f8b0b63e065')
- version('3.1.9', sha256='8aeb020beddd125c207271e01d3e7d3985a91268dbf0bbc6132d217cc72b12a8')
- version('3.1.8', sha256='8c99ef80a27b3e791d78de2ceb1111396989942424697eccbc886edc3983163f')
- version('3.1.7', sha256='9cd8beab96c8f9cc5647a3452e61b06968a172f5875a72db227e6148fdbf294c')
- version('3.1.6', sha256='27684884cff441a6c548ffe5d88e35e2b532ed100c97e3125e89c82985a08c50')
- version('3.1.5', sha256='e22cf2110f19666f004b8acda32e87beae74721f82e7f83fd0c4fafb86812763')
- version('3.1.4', sha256='8dc2904fc930636976baaf7e91ac89c0377afb1629c336343dfad8ab651cf87d')
- version('3.1.3', sha256='2022fa183d2c2902ada982ec6550ebe15befafcb748fd988fc9accdde7976a42')
- version('3.1.2', sha256='2eaa191f0699031786d8845ac769320a42c7e035991d82b3738289886006bfba')
- version('3.1.1', sha256='a4c0c21c6c22752cc90c82295a6bafe637b3395736c66fcdfcfe4aeccb5be7af')
- version('3.1.0', sha256='dd67b400b5f157aef503aa3615b9bf6b52333876a29e75966f94ee3f79ab37ad')
- version('3.0.10', sha256='1604f22948b4af6ef84839d97909f7011ce614254e1a6de092ddc61832f7d343')
- version('3.0.9', sha256='461dbb9e78fb6de9eaff21e387f5441020a077bba51d47b6510f11312e5ee333')
- version('3.0.8', sha256='3639f11d14278e20814e8673e097d26161e26117128289516be5b1b1e1387e57')
- version('3.0.7', sha256='4f4e04a1c1f360f27bbd4f72268dd31b46e2cef676ea8d36c35f21569540c76f')
- version('3.0.6', sha256='3359e928dbde0f9ddbc9cd62bd2c2dbafe38543aad68fda9f3768fcc5c219f66')
- version('3.0.5', sha256='abf58f87962cf98b6129e873a841819a2a751f2ebd4e08490eb89fb933cd7887')
- version('3.0.4', sha256='e832d421a0dc9f315c60c5ea23f958dcaa299913c50a4eb73bde0e053067a3cc')
- version('3.0.3', sha256='3ff1c14bcc27e9b615aab5748eaf3afac349050b27b55a2b57648aba28b801ac')
- version('3.0.2', sha256='edd54ac652e99621410137ea2f7f90f133067615a17840440690365e2c3906f5')
- version('3.0.1', sha256='fa239ddd353431954f2ab7443cf85d86c862433e72f7685c1b933ae12dbde435')
- version('3.0.0', sha256='b2cfaa3d7900b4f32f327565448bf9cb8e4242763f651bff8f231f378a278f9e')
- version('2.0.4', sha256='cac078435aad73d9a795516f161b320d204d2099d6a286e786359f484355a43a')
+ version(
+ "4.0.0",
+ sha256="7a0c32c8a9cd2fd65cbcb54fff802f303665d7cba5d46f92ff3d55f057c92845",
+ preferred=True,
+ )
+ version("3.4.3", sha256="e58515effe57d473385fe0b592d9e1d1286c0901496c61268d9efd92a2550849")
+ version("3.4.2", sha256="f39e65b2282fd3b108081388f161ba662407b192fed68fafe324c7528026a202")
+ version("3.4.1", sha256="04cd4257e39e1b05e02b12ad941106fff4d439934bdfe6e950c08bab23e2a4ba")
+ version("3.4.0", sha256="176feb4c1726d0f21f4c656b20620dce6f99ab7f5f09a66905aeb643a316bbc1")
+ version("3.3.3", sha256="5a1fb43a8086e594e0a7234c1f227e6e005d384fd84affe3acadccb68fe2bbf6")
+ version("3.3.2", sha256="17127ffdf92367c10041258f70a88ac3dcb0a7d89c1766a6aa1ebaeb4d03d55d")
+ version("3.3.1", sha256="ad07329c25874832fbacc999b5f88d9b9ab84415bc897a6f3cae5b4afcd7661f")
+ version("3.3.0", sha256="884ad68b0fbbededc3a602d559433c24114ae4534dc9f0a759d31ca3589dace0")
+ version("3.2.6", sha256="ae80c76d92aeae207e307436aed32bbaed913a437ae57b5ee128ce4f543f20a9")
+ version("3.2.5", sha256="194e799ca8d2f7ffea25aa3842c48cfc12850c252d851ce03941b5e3ae533b21")
+ version("3.2.4", sha256="e7ac7e61fb3e02301285885bb3dc81ca1b09bd6e2929d15c755555d66088fe33")
+ version("3.2.3", sha256="ac429c50ad1901d9d6e518a1cf6505d7a404c21d8ad3c6e5b0acecc77f20e3f7")
+ version("3.2.2", sha256="69b01ae0d1f9140b619aaa9135948284ff40d4654672c335e55ab4934c02eb43")
+ version("3.2.1", sha256="12786480524a7fe86889120fb334fa00211dfd44ad5ec71e2279e7adf1ddc807")
+ version("3.2.0", sha256="089d79745e9f267a2bd03dcd8841d484e668bd27f5cc2ff7453634cb39016848")
+ version("3.1.10", sha256="635a2507f139bb6d893e0a7bb223cd1d9ddab5dfddee179a3b2e9f8b0b63e065")
+ version("3.1.9", sha256="8aeb020beddd125c207271e01d3e7d3985a91268dbf0bbc6132d217cc72b12a8")
+ version("3.1.8", sha256="8c99ef80a27b3e791d78de2ceb1111396989942424697eccbc886edc3983163f")
+ version("3.1.7", sha256="9cd8beab96c8f9cc5647a3452e61b06968a172f5875a72db227e6148fdbf294c")
+ version("3.1.6", sha256="27684884cff441a6c548ffe5d88e35e2b532ed100c97e3125e89c82985a08c50")
+ version("3.1.5", sha256="e22cf2110f19666f004b8acda32e87beae74721f82e7f83fd0c4fafb86812763")
+ version("3.1.4", sha256="8dc2904fc930636976baaf7e91ac89c0377afb1629c336343dfad8ab651cf87d")
+ version("3.1.3", sha256="2022fa183d2c2902ada982ec6550ebe15befafcb748fd988fc9accdde7976a42")
+ version("3.1.2", sha256="2eaa191f0699031786d8845ac769320a42c7e035991d82b3738289886006bfba")
+ version("3.1.1", sha256="a4c0c21c6c22752cc90c82295a6bafe637b3395736c66fcdfcfe4aeccb5be7af")
+ version("3.1.0", sha256="dd67b400b5f157aef503aa3615b9bf6b52333876a29e75966f94ee3f79ab37ad")
+ version("3.0.10", sha256="1604f22948b4af6ef84839d97909f7011ce614254e1a6de092ddc61832f7d343")
+ version("3.0.9", sha256="461dbb9e78fb6de9eaff21e387f5441020a077bba51d47b6510f11312e5ee333")
+ version("3.0.8", sha256="3639f11d14278e20814e8673e097d26161e26117128289516be5b1b1e1387e57")
+ version("3.0.7", sha256="4f4e04a1c1f360f27bbd4f72268dd31b46e2cef676ea8d36c35f21569540c76f")
+ version("3.0.6", sha256="3359e928dbde0f9ddbc9cd62bd2c2dbafe38543aad68fda9f3768fcc5c219f66")
+ version("3.0.5", sha256="abf58f87962cf98b6129e873a841819a2a751f2ebd4e08490eb89fb933cd7887")
+ version("3.0.4", sha256="e832d421a0dc9f315c60c5ea23f958dcaa299913c50a4eb73bde0e053067a3cc")
+ version("3.0.3", sha256="3ff1c14bcc27e9b615aab5748eaf3afac349050b27b55a2b57648aba28b801ac")
+ version("3.0.2", sha256="edd54ac652e99621410137ea2f7f90f133067615a17840440690365e2c3906f5")
+ version("3.0.1", sha256="fa239ddd353431954f2ab7443cf85d86c862433e72f7685c1b933ae12dbde435")
+ version("3.0.0", sha256="b2cfaa3d7900b4f32f327565448bf9cb8e4242763f651bff8f231f378a278f9e")
+ version("2.0.4", sha256="cac078435aad73d9a795516f161b320d204d2099d6a286e786359f484355a43a")
# solvers interfaces
- variant('castem', default=True,
- description='Enables Cast3M interface')
- variant('aster', default=True,
- description='Enables Code_Aster interface')
- variant('abaqus', default=True,
- description='Enables Abaqus/Standard and ' +
- 'Abaqus/Explicit interfaces')
- variant('calculix', default=True,
- description='Enables CalculiX interfaces')
- variant('ansys', default=True,
- description='Enables Ansys APDL interface')
- variant('europlexus', default=True,
- description='Enables Europlexus interface')
- variant('cyrano', default=True,
- description='Enables Cyrano interface')
- variant('lsdyna', default=True,
- description='Enables LS-DYNA interface')
- variant('fortran', default=True,
- description='Enables fortran interface')
- variant('python', default=True,
- description='Enables python interface')
- variant('python_bindings', default=True,
- description='Enables python bindings')
- variant('java', default=False,
- description='Enables java interface')
+ variant("castem", default=True, description="Enables Cast3M interface")
+ variant("aster", default=True, description="Enables Code_Aster interface")
+ variant(
+ "abaqus",
+ default=True,
+ description="Enables Abaqus/Standard and " + "Abaqus/Explicit interfaces",
+ )
+ variant("calculix", default=True, description="Enables CalculiX interfaces")
+ variant("ansys", default=True, description="Enables Ansys APDL interface")
+ variant("europlexus", default=True, description="Enables Europlexus interface")
+ variant("cyrano", default=True, description="Enables Cyrano interface")
+ variant("lsdyna", default=True, description="Enables LS-DYNA interface")
+ variant("fortran", default=True, description="Enables fortran interface")
+ variant("python", default=True, description="Enables python interface")
+ variant("python_bindings", default=True, description="Enables python bindings")
+ variant("java", default=False, description="Enables java interface")
# only since TFEL-3.3, no effect on version below
- variant('comsol', default=True,
- description='Enables comsol interface')
- variant('diana-fea', default=True,
- description='Enables DIANA-FEA interface')
-
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
-
- depends_on('java', when='+java')
- depends_on('python', when='+python',
- type=('build', 'link', 'run'))
- depends_on('python', when='+python_bindings',
- type=('build', 'link', 'run'))
- depends_on('py-numpy', when='+python_bindings',
- type=('build', 'link', 'run'))
+ variant("comsol", default=True, description="Enables comsol interface")
+ variant("diana-fea", default=True, description="Enables DIANA-FEA interface")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release"),
+ )
+
+ depends_on("java", when="+java")
+ depends_on("python", when="+python", type=("build", "link", "run"))
+ depends_on("python", when="+python_bindings", type=("build", "link", "run"))
+ depends_on("py-numpy", when="+python_bindings", type=("build", "link", "run"))
# As boost+py has py runtime dependency, boost+py needs types link and run as well:
- depends_on('boost+python+numpy+exception+container', when='+python_bindings',
- type=('build', 'link', 'run'))
+ depends_on(
+ "boost+python+numpy+exception+container",
+ when="+python_bindings",
+ type=("build", "link", "run"),
+ )
- extends('python', when='+python_bindings')
+ extends("python", when="+python_bindings")
- conflicts('%gcc@:7', when='@4:')
+ conflicts("%gcc@:7", when="@4:")
def cmake_args(self):
@@ -143,46 +138,52 @@ class Tfel(CMakePackage):
args.append("-DUSE_EXTERNAL_COMPILER_FLAGS=ON")
- for i in ['fortran', 'java', 'aster', 'abaqus', 'calculix',
- 'ansys', 'europlexus', 'cyrano', 'lsdyna', 'python',
- 'comsol', 'diana-fea']:
- if '+' + i in self.spec:
+ for i in [
+ "fortran",
+ "java",
+ "aster",
+ "abaqus",
+ "calculix",
+ "ansys",
+ "europlexus",
+ "cyrano",
+ "lsdyna",
+ "python",
+ "comsol",
+ "diana-fea",
+ ]:
+ if "+" + i in self.spec:
args.append("-Denable-{0}=ON".format(i))
else:
args.append("-Denable-{0}=OFF".format(i))
- if '+castem' in self.spec:
+ if "+castem" in self.spec:
args.append("-Dlocal-castem-header=ON")
else:
args.append("-Dlocal-castem-header=OFF")
- if '+python_bindings' in self.spec:
+ if "+python_bindings" in self.spec:
args.append("-Denable-python-bindings=ON")
else:
args.append("-Denable-python-bindings=OFF")
- if(('+python' in self.spec) or
- ('+python_bindings' in self.spec)):
- python = self.spec['python']
- args.append('-DPYTHON_LIBRARY={0}'.
- format(python.libs[0]))
- args.append('-DPYTHON_INCLUDE_DIR={0}'.
- format(python.headers.directories[0]))
- args.append('-DPython_ADDITIONAL_VERSIONS={0}'.
- format(python.version.up_to(2)))
-
- if '+python_bindings' in self.spec:
- args.append('-DBOOST_ROOT={0}'.
- format(self.spec['boost'].prefix))
- args.append('-DBoost_NO_SYSTEM_PATHS=ON')
- args.append('-DBoost_NO_BOOST_CMAKE=ON')
+ if ("+python" in self.spec) or ("+python_bindings" in self.spec):
+ python = self.spec["python"]
+ args.append("-DPYTHON_LIBRARY={0}".format(python.libs[0]))
+ args.append("-DPYTHON_INCLUDE_DIR={0}".format(python.headers.directories[0]))
+ args.append("-DPython_ADDITIONAL_VERSIONS={0}".format(python.version.up_to(2)))
+
+ if "+python_bindings" in self.spec:
+ args.append("-DBOOST_ROOT={0}".format(self.spec["boost"].prefix))
+ args.append("-DBoost_NO_SYSTEM_PATHS=ON")
+ args.append("-DBoost_NO_BOOST_CMAKE=ON")
return args
def check(self):
"""Skip the target 'test' which doesn't build all test programs used by tests"""
with working_dir(self.build_directory):
- if self.generator == 'Unix Makefiles':
- self._if_make_target_execute('check')
- elif self.generator == 'Ninja':
- self._if_ninja_target_execute('check')
+ if self.generator == "Unix Makefiles":
+ self._if_make_target_execute("check")
+ elif self.generator == "Ninja":
+ self._if_ninja_target_execute("check")
diff --git a/var/spack/repos/builtin/packages/the-platinum-searcher/package.py b/var/spack/repos/builtin/packages/the-platinum-searcher/package.py
index 2c14dca223..036c813150 100644
--- a/var/spack/repos/builtin/packages/the-platinum-searcher/package.py
+++ b/var/spack/repos/builtin/packages/the-platinum-searcher/package.py
@@ -10,13 +10,13 @@ class ThePlatinumSearcher(Package):
"""Fast parallel recursive grep alternative"""
homepage = "https://github.com/monochromegane/the_platinum_searcher"
- go = "github.com/monochromegane/the_platinum_searcher/..."
+ go = "github.com/monochromegane/the_platinum_searcher/..."
- version('head')
+ version("head")
- extends("go", type='build')
+ extends("go", type="build")
def install(self, spec, prefix):
- env['GOPATH'] = self.stage.source_path + ':' + env['GOPATH']
- go('install', self.package, env=env)
- install_tree('bin', prefix.bin)
+ env["GOPATH"] = self.stage.source_path + ":" + env["GOPATH"]
+ go("install", self.package, env=env)
+ install_tree("bin", prefix.bin)
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 6caf9904d0..5d3576a9e5 100644
--- a/var/spack/repos/builtin/packages/the-silver-searcher/package.py
+++ b/var/spack/repos/builtin/packages/the-silver-searcher/package.py
@@ -10,14 +10,14 @@ class TheSilverSearcher(AutotoolsPackage):
"""Fast recursive grep alternative"""
homepage = "https://geoff.greer.fm/ag/"
- url = "https://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz"
+ url = "https://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz"
- version('2.2.0', sha256='d9621a878542f3733b5c6e71c849b9d1a830ed77cb1a1f6c2ea441d4b0643170')
- version('2.1.0', sha256='d4652bd91c3a05e87a15809c5f3f14ad2e5e1f80185af510e3fa4ad2038c15d4')
- version('0.32.0', sha256='944ca77e498f344b2bfbd8df6d5d8df7bbc1c7e080b50c0bab3d1a9a55151b60')
- version('0.30.0', sha256='b4bf9e50bf48bc5fde27fc386f7bcad8644ef15a174c862a10813e81bd127e69')
+ version("2.2.0", sha256="d9621a878542f3733b5c6e71c849b9d1a830ed77cb1a1f6c2ea441d4b0643170")
+ version("2.1.0", sha256="d4652bd91c3a05e87a15809c5f3f14ad2e5e1f80185af510e3fa4ad2038c15d4")
+ version("0.32.0", sha256="944ca77e498f344b2bfbd8df6d5d8df7bbc1c7e080b50c0bab3d1a9a55151b60")
+ version("0.30.0", sha256="b4bf9e50bf48bc5fde27fc386f7bcad8644ef15a174c862a10813e81bd127e69")
- depends_on('pcre')
- depends_on('xz')
- depends_on('zlib')
- depends_on('pkgconfig', type='build')
+ depends_on("pcre")
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/thepeg/package.py b/var/spack/repos/builtin/packages/thepeg/package.py
index e952bfac54..75f0b9353e 100644
--- a/var/spack/repos/builtin/packages/thepeg/package.py
+++ b/var/spack/repos/builtin/packages/thepeg/package.py
@@ -10,32 +10,32 @@ class Thepeg(AutotoolsPackage):
"""Toolkit for High Energy Physics Event Generation"""
homepage = "http://home.thep.lu.se/~leif/ThePEG/"
- url = "https://thepeg.hepforge.org/downloads/?f=ThePEG-2.2.1.tar.bz2"
+ url = "https://thepeg.hepforge.org/downloads/?f=ThePEG-2.2.1.tar.bz2"
- tags = ['hep']
+ tags = ["hep"]
# The commented out versions exist, but may need patches
# and/or recipe changes
- version('2.2.3', sha256='f21473197a761fc32917b08a8d24d2bfaf93ff57f3441fd605da99ac9de5d50b')
- version('2.2.1', sha256='63abc7215e6ad45c11cf9dac013738e194cc38556a8368b850b70ab1b57ea58f')
- version('2.2.0', sha256='d3e1474811b7d9f61a4a98db1e9d60d8ef8f913a50de4cae4dc2cc4f98e6fbf8')
+ version("2.2.3", sha256="f21473197a761fc32917b08a8d24d2bfaf93ff57f3441fd605da99ac9de5d50b")
+ version("2.2.1", sha256="63abc7215e6ad45c11cf9dac013738e194cc38556a8368b850b70ab1b57ea58f")
+ version("2.2.0", sha256="d3e1474811b7d9f61a4a98db1e9d60d8ef8f913a50de4cae4dc2cc4f98e6fbf8")
# version('2.1.7', sha256='2e15727afc1fbfb158fa42ded31c4b1e5b51c25ed6bb66a38233e1fc594329c8')
- version('2.1.6', sha256='c1e51f83716bfca815b55100fbab3805ef5f9b9215e4373b22762693f5353f4f')
- version('2.1.5', sha256='c61a00fb6cf406f0f98e8c934683d8d5efcb655747842113abc92e9526e4b5e6')
+ version("2.1.6", sha256="c1e51f83716bfca815b55100fbab3805ef5f9b9215e4373b22762693f5353f4f")
+ version("2.1.5", sha256="c61a00fb6cf406f0f98e8c934683d8d5efcb655747842113abc92e9526e4b5e6")
# version('2.1.4', sha256='400c37319aa967ed993fdbec84fc65b24f6cb3779fb1b173d7f5d7a56b772df5')
- version('2.1.3', sha256='16e8f6507530c2b80ed873ad22946efefed7355d15c7026f3465f18acebc1c0c')
+ version("2.1.3", sha256="16e8f6507530c2b80ed873ad22946efefed7355d15c7026f3465f18acebc1c0c")
# version('2.1.2', sha256='6a0f675a27e10863d495de069f25b892e532beb32e9cbfe5a58317d015387f49')
- version('2.1.1', sha256='e1b0bdc116fbc9a6e598b601f2aa670530cf2e1cd46b4572814a9b0130b10281')
+ version("2.1.1", sha256="e1b0bdc116fbc9a6e598b601f2aa670530cf2e1cd46b4572814a9b0130b10281")
# version('2.1.0', sha256='fe6e7740ce3cd4a3ce3d7a0079a16c9214ad18f432e29d034ae763bfc40f3d39')
# version('2.0.4', sha256='f3b625b411667e2708995f1d1379b5b8691406853c8c2cca2f4e4e6e062da0e4')
# version('2.0.3', sha256='c57ba68fbfda06a0ba256e06f276f91434bf2529a13f6287c051a4cd6da44634')
# version('2.0.2', sha256='d4249e019543d5c7520733292d2edfb0bdd9733177200a63837781ed6194789b')
# version('2.0.1', sha256='ec284abdc82ceaf10a8736f908e7955f49f872b79aaa62d22aa33bc5c7679bdb')
# version('2.0.0', sha256='571730cc956027dc82780dc04ef6e7382ab5ea853fcfebe259e488c6df302a04')
- version('1.9.2', sha256='ff7bbb256866f994dae04ade1f57c92d2670edaac3df11c9a300419a5343faf4')
+ version("1.9.2", sha256="ff7bbb256866f994dae04ade1f57c92d2670edaac3df11c9a300419a5343faf4")
# version('1.9.1', sha256='8ec6d0669eba51e308be4e33aeb219999418170eae3aad93ec1491c942c2a4e9')
- version('1.9.0', sha256='3ee58e5e3a26184567df1b9a10ca70df228e86f322e72f018dd7d8d5a4700a5d')
- version('1.8.3', sha256='55ede3a3dd0bd07b90d0d49cf7ae28c18cd965780fdf53528508b97d57152fc7')
+ version("1.9.0", sha256="3ee58e5e3a26184567df1b9a10ca70df228e86f322e72f018dd7d8d5a4700a5d")
+ version("1.8.3", sha256="55ede3a3dd0bd07b90d0d49cf7ae28c18cd965780fdf53528508b97d57152fc7")
# version('1.8.2', sha256='44ccd0d70e42bb6ecd801a51bade6c25b3953c56f33017402d4f52ee6492dffa')
# version('1.8.1', sha256='84c2a212a681545cddd541dca191eb65d96f41df86c87480b6f4f7d4f9683562')
# version('1.8.0', sha256='4b22fda1078f410b999a23a17f611c9ae3a7f0f4cee4e83dc82c9336b7adf037')
@@ -51,60 +51,59 @@ class Thepeg(AutotoolsPackage):
# version('1.4.0', sha256='b1f55e9a3bec713e9abf2fe71c5bd8cf8df936ea00b09f96df9123d0d5ab233f')
# version('1.3.0', sha256='f731ebf3ce5a52b6d750d6e3c282fdc74d8ffd78bccb47b68f10a4daf44c7045')
- patch('thepeg-1.8.3.patch', when='@1.8.3', level=0)
- patch('thepeg-1.9.0.patch', when='@1.9.0', level=0)
- patch('thepeg-1.9.2.patch', when='@1.9.2', level=0)
- patch('thepeg-2.1.1.patch', when='@2.1.1:2.2.1', level=0)
+ patch("thepeg-1.8.3.patch", when="@1.8.3", level=0)
+ patch("thepeg-1.9.0.patch", when="@1.9.0", level=0)
+ patch("thepeg-1.9.2.patch", when="@1.9.2", level=0)
+ patch("thepeg-2.1.1.patch", when="@2.1.1:2.2.1", level=0)
force_autoreconf = True
- depends_on('gsl')
- depends_on('lhapdf')
- depends_on('lhapdf@:6.2', when='@:1.9')
- depends_on('hepmc', when='hepmc=2')
- depends_on('hepmc3', when='hepmc=3')
- conflicts('hepmc=3', when='@:2.1', msg='HepMC3 support was added in 2.2.0')
- depends_on('fastjet', when='@2.0.0:')
- depends_on('rivet', when='@2.0.3:')
- depends_on('boost +test', when='@2.1.1:')
+ depends_on("gsl")
+ depends_on("lhapdf")
+ depends_on("lhapdf@:6.2", when="@:1.9")
+ depends_on("hepmc", when="hepmc=2")
+ depends_on("hepmc3", when="hepmc=3")
+ conflicts("hepmc=3", when="@:2.1", msg="HepMC3 support was added in 2.2.0")
+ depends_on("fastjet", when="@2.0.0:")
+ depends_on("rivet", when="@2.0.3:")
+ depends_on("boost +test", when="@2.1.1:")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('zlib')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("zlib")
- variant('hepmc', default='2', values=('2', '3'), description='HepMC interface to build ')
+ variant("hepmc", default="2", values=("2", "3"), description="HepMC interface to build ")
- install_targets = ['install-strip']
+ install_targets = ["install-strip"]
def configure_args(self):
- args = ['--with-gsl=' + self.spec['gsl'].prefix, '--without-javagui']
- args += ['--with-zlib=' + self.spec['zlib'].prefix]
+ args = ["--with-gsl=" + self.spec["gsl"].prefix, "--without-javagui"]
+ args += ["--with-zlib=" + self.spec["zlib"].prefix]
- if self.spec.satisfies('@:1.8'):
- args += ['--with-LHAPDF=' + self.spec['lhapdf'].prefix]
+ if self.spec.satisfies("@:1.8"):
+ args += ["--with-LHAPDF=" + self.spec["lhapdf"].prefix]
else:
- args += ['--with-lhapdf=' + self.spec['lhapdf'].prefix]
+ args += ["--with-lhapdf=" + self.spec["lhapdf"].prefix]
- if self.spec.satisfies('hepmc=2'):
- args += ['--with-hepmc=' + self.spec['hepmc'].prefix]
+ if self.spec.satisfies("hepmc=2"):
+ args += ["--with-hepmc=" + self.spec["hepmc"].prefix]
else:
- args += ['--with-hepmc=' + self.spec['hepmc3'].prefix]
+ args += ["--with-hepmc=" + self.spec["hepmc3"].prefix]
- if self.spec.satisfies('@2.2.0:'):
- args += ['--with-hepmcversion=' +
- self.spec.variants['hepmc'].value]
+ if self.spec.satisfies("@2.2.0:"):
+ args += ["--with-hepmcversion=" + self.spec.variants["hepmc"].value]
- if self.spec.satisfies('@2.0.0:'):
- args += ['--with-fastjet=' + self.spec['fastjet'].prefix]
+ if self.spec.satisfies("@2.0.0:"):
+ args += ["--with-fastjet=" + self.spec["fastjet"].prefix]
- if self.spec.satisfies('@2.0.3:'):
- args += ['--with-rivet=' + self.spec['rivet'].prefix]
+ if self.spec.satisfies("@2.0.3:"):
+ args += ["--with-rivet=" + self.spec["rivet"].prefix]
- if self.spec.satisfies('@2.1.1:'):
- args += ['--with-boost=' + self.spec['boost'].prefix]
+ if self.spec.satisfies("@2.1.1:"):
+ args += ["--with-boost=" + self.spec["boost"].prefix]
- args += ['CFLAGS=-O2', 'CXXFLAGS=-O2', 'FFLAGS=-O2']
+ args += ["CFLAGS=-O2", "CXXFLAGS=-O2", "FFLAGS=-O2"]
return args
diff --git a/var/spack/repos/builtin/packages/thornado-mini/package.py b/var/spack/repos/builtin/packages/thornado-mini/package.py
index 7155b70091..9b1ef3c54e 100644
--- a/var/spack/repos/builtin/packages/thornado-mini/package.py
+++ b/var/spack/repos/builtin/packages/thornado-mini/package.py
@@ -13,43 +13,51 @@ class ThornadoMini(MakefilePackage):
"""Code to solve the equation of radiative transfer in the
multi-group two-moment approximation"""
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
homepage = "https://sites.google.com/lbl.gov/exastar/home"
- url = "https://github.com/ECP-Astro/thornado_mini/archive/v1.0.tar.gz"
- git = "https://github.com/ECP-Astro/thornado_mini.git"
+ url = "https://github.com/ECP-Astro/thornado_mini/archive/v1.0.tar.gz"
+ git = "https://github.com/ECP-Astro/thornado_mini.git"
- version('1.0', sha256='8a9f97acc823d374cce567831270cfcc50fa968949e49159c7e3442b93a2827d')
+ version("1.0", sha256="8a9f97acc823d374cce567831270cfcc50fa968949e49159c7e3442b93a2827d")
- depends_on('mpi')
- depends_on('hdf5+fortran')
- depends_on('lapack')
+ depends_on("mpi")
+ depends_on("hdf5+fortran")
+ depends_on("lapack")
parallel = False
def edit(self, spec, prefix):
- os.environ['THORNADO_MACHINE'] = 'mymachine'
- os.environ['THORNADO_DIR'] = os.getcwd()
-
- file = open('Makefile', 'w')
-
- file.write('FORTRAN_mymachine = %s %s\n' % (self.spec['mpi'].mpifc,
- self.compiler.openmp_flag))
- file.write('FLINKER_mymachine = %s %s\n' % (self.spec['mpi'].mpifc,
- self.compiler.openmp_flag))
- file.write('DEBUG_mymachine = -g -ffpe-trap=invalid,zero \
- -fcheck=bounds\n')
- file.write('OPTIMIZE_mymachine = -O2\n')
- file.write('INCLUDE_HDF5_mymachine = \n')
- file.write('INCLUDE_LAPACK_mymachine = \n')
- file.write('LIBRARIES_HDF5_mymachine = \n')
- file.write('LIBRARIES_LAPACK_mymachine = \n')
- file.write('export FORTRAN_mymachine FLINKER_mymachine \
- DEBUG_mymachine OPTIMIZE_mymachine\n')
-
- file.write('all:\n')
- file.write('\t@$(MAKE) -C $(THORNADO_DIR)/DeleptonizationProblem/Executables \
- -f Makefile\n')
+ os.environ["THORNADO_MACHINE"] = "mymachine"
+ os.environ["THORNADO_DIR"] = os.getcwd()
+
+ file = open("Makefile", "w")
+
+ file.write(
+ "FORTRAN_mymachine = %s %s\n" % (self.spec["mpi"].mpifc, self.compiler.openmp_flag)
+ )
+ file.write(
+ "FLINKER_mymachine = %s %s\n" % (self.spec["mpi"].mpifc, self.compiler.openmp_flag)
+ )
+ file.write(
+ "DEBUG_mymachine = -g -ffpe-trap=invalid,zero \
+ -fcheck=bounds\n"
+ )
+ file.write("OPTIMIZE_mymachine = -O2\n")
+ file.write("INCLUDE_HDF5_mymachine = \n")
+ file.write("INCLUDE_LAPACK_mymachine = \n")
+ file.write("LIBRARIES_HDF5_mymachine = \n")
+ file.write("LIBRARIES_LAPACK_mymachine = \n")
+ file.write(
+ "export FORTRAN_mymachine FLINKER_mymachine \
+ DEBUG_mymachine OPTIMIZE_mymachine\n"
+ )
+
+ file.write("all:\n")
+ file.write(
+ "\t@$(MAKE) -C $(THORNADO_DIR)/DeleptonizationProblem/Executables \
+ -f Makefile\n"
+ )
file.close()
@@ -57,22 +65,26 @@ class ThornadoMini(MakefilePackage):
def build_targets(self):
targets = []
- targets.append('INCLUDE_HDF5_mymachine = -I{0}'
- .format(self.spec['hdf5'].prefix.include))
- targets.append('INCLUDE_LAPACK_mymachine = -I{0}'
- .format(self.spec['lapack'].prefix.include))
- targets.append('LIBRARIES_HDF5_mymachine = {0} -lhdf5_fortran'
- .format(self.spec['hdf5'].libs.ld_flags))
- targets.append('LIBRARIES_LAPACK_mymachine = {0}'
- .format(self.spec['lapack'].libs.ld_flags))
+ targets.append("INCLUDE_HDF5_mymachine = -I{0}".format(self.spec["hdf5"].prefix.include))
+ targets.append(
+ "INCLUDE_LAPACK_mymachine = -I{0}".format(self.spec["lapack"].prefix.include)
+ )
+ targets.append(
+ "LIBRARIES_HDF5_mymachine = {0} -lhdf5_fortran".format(self.spec["hdf5"].libs.ld_flags)
+ )
+ targets.append(
+ "LIBRARIES_LAPACK_mymachine = {0}".format(self.spec["lapack"].libs.ld_flags)
+ )
return targets
def install(self, spec, prefix):
- install_tree('Documents', prefix.docs)
- install('README.md', prefix.docs)
+ install_tree("Documents", prefix.docs)
+ install("README.md", prefix.docs)
mkdirp(prefix.bin)
- install('DeleptonizationProblem/Executables/'
- 'DeleptonizationProblem1D_%s' %
- os.environ['THORNADO_MACHINE'], prefix.bin)
+ install(
+ "DeleptonizationProblem/Executables/"
+ "DeleptonizationProblem1D_%s" % os.environ["THORNADO_MACHINE"],
+ prefix.bin,
+ )
diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py
index d5f15877ae..6bccf7b4cf 100644
--- a/var/spack/repos/builtin/packages/thrift/package.py
+++ b/var/spack/repos/builtin/packages/thrift/package.py
@@ -18,82 +18,82 @@ class Thrift(Package):
"""
homepage = "https://thrift.apache.org"
- url = "http://archive.apache.org/dist/thrift/0.16.0/thrift-0.16.0.tar.gz"
+ url = "http://archive.apache.org/dist/thrift/0.16.0/thrift-0.16.0.tar.gz"
list_url = "http://archive.apache.org/dist/thrift/"
list_depth = 1
- version('0.16.0', sha256='f460b5c1ca30d8918ff95ea3eb6291b3951cf518553566088f3f2be8981f6209')
- version('0.13.0', sha256='7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179')
- version('0.12.0', sha256='c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428')
- version('0.11.0', sha256='c4ad38b6cb4a3498310d405a91fef37b9a8e79a50cd0968148ee2524d2fa60c2')
- version('0.10.0', sha256='2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b')
- version('0.9.3', sha256='b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e')
+ version("0.16.0", sha256="f460b5c1ca30d8918ff95ea3eb6291b3951cf518553566088f3f2be8981f6209")
+ version("0.13.0", sha256="7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179")
+ version("0.12.0", sha256="c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428")
+ version("0.11.0", sha256="c4ad38b6cb4a3498310d405a91fef37b9a8e79a50cd0968148ee2524d2fa60c2")
+ version("0.10.0", sha256="2289d02de6e8db04cbbabb921aeb62bfe3098c4c83f36eec6c31194301efa10b")
+ version("0.9.3", sha256="b0740a070ac09adde04d43e852ce4c320564a292f26521c46b78e0641564969e")
# Currently only support for c-family and python
- variant('c', default=True,
- description="Build support for C-family languages")
- variant('pic', default=True,
- description='Build position independent code')
- variant('python', default=True,
- description="Build support for python")
-
- depends_on('pkgconfig', type='build')
- depends_on('java')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('boost@1.53:')
+ variant("c", default=True, description="Build support for C-family languages")
+ variant("pic", default=True, description="Build position independent code")
+ variant("python", default=True, description="Build support for python")
+
+ depends_on("pkgconfig", type="build")
+ depends_on("java")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("boost@1.53:")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('openssl')
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("openssl")
# Variant dependencies
- extends('python', when='+python')
- depends_on('py-setuptools', type=('build', 'run'), when='+python')
- depends_on('py-six@1.7.2:', type=('build', 'run'), when='@0.10.0:+python')
- depends_on('py-tornado', type=('build', 'run'), when='+python')
- depends_on('py-twisted', type=('build', 'run'), when='+python')
- depends_on('py-zope-interface', type=('build', 'run'), when='+python')
- depends_on('py-ipaddress', type=('build', 'run'), when='+python ^python@2')
- depends_on('py-backports-ssl-match-hostname@3.5:', when='+python ^python@:3.4', type=('build', 'run'))
- depends_on('py-pure-sasl', type=('build', 'run'), when='+python')
- depends_on('scons', type=('build', 'run'), when='+python')
-
- depends_on('zlib', when='+c')
- depends_on('libevent', when='+c')
-
- patch('https://github.com/apache/thrift/pull/2511.patch?full_index=1',
- sha256='8523c97eccb31b084241b4061db830c4ef940042b37ba8ddfdcdd23d92325b89',
- when='@0.16.0')
+ extends("python", when="+python")
+ depends_on("py-setuptools", type=("build", "run"), when="+python")
+ depends_on("py-six@1.7.2:", type=("build", "run"), when="@0.10.0:+python")
+ depends_on("py-tornado", type=("build", "run"), when="+python")
+ depends_on("py-twisted", type=("build", "run"), when="+python")
+ depends_on("py-zope-interface", type=("build", "run"), when="+python")
+ depends_on("py-ipaddress", type=("build", "run"), when="+python ^python@2")
+ depends_on(
+ "py-backports-ssl-match-hostname@3.5:", when="+python ^python@:3.4", type=("build", "run")
+ )
+ depends_on("py-pure-sasl", type=("build", "run"), when="+python")
+ depends_on("scons", type=("build", "run"), when="+python")
+
+ depends_on("zlib", when="+c")
+ depends_on("libevent", when="+c")
+
+ patch(
+ "https://github.com/apache/thrift/pull/2511.patch?full_index=1",
+ sha256="8523c97eccb31b084241b4061db830c4ef940042b37ba8ddfdcdd23d92325b89",
+ when="@0.16.0",
+ )
def setup_build_environment(self, env):
- if '+pic' in self.spec:
- env.append_flags('CFLAGS', self.compiler.cc_pic_flag)
- env.append_flags('CXXFLAGS', self.compiler.cxx_pic_flag)
+ if "+pic" in self.spec:
+ env.append_flags("CFLAGS", self.compiler.cc_pic_flag)
+ env.append_flags("CXXFLAGS", self.compiler.cxx_pic_flag)
def install(self, spec, prefix):
- env['PY_PREFIX'] = prefix
+ env["PY_PREFIX"] = prefix
# configure options
- options = ['--prefix=%s' % prefix]
-
- options.append('--with-boost=%s' % spec['boost'].prefix)
- options.append('--enable-tests=no')
-
- options.append('--with-nodejs=no')
- options.append('--with-c=%s' % ('yes' if '+c' in spec else 'no'))
- options.append('--with-python=%s' %
- ('yes' if '+python' in spec else 'no'))
- options.append('--with-java=%s' % ('yes' if '+java' in spec else 'no'))
- options.append('--with-go=%s' % ('yes' if '+go' in spec else 'no'))
- options.append('--with-lua=%s' % ('yes' if '+lua' in spec else 'no'))
- options.append('--with-php=%s' % ('yes' if '+php' in spec else 'no'))
- options.append('--with-qt4=%s' % ('yes' if '+qt4' in spec else 'no'))
+ options = ["--prefix=%s" % prefix]
+
+ options.append("--with-boost=%s" % spec["boost"].prefix)
+ options.append("--enable-tests=no")
+
+ options.append("--with-nodejs=no")
+ options.append("--with-c=%s" % ("yes" if "+c" in spec else "no"))
+ options.append("--with-python=%s" % ("yes" if "+python" in spec else "no"))
+ options.append("--with-java=%s" % ("yes" if "+java" in spec else "no"))
+ options.append("--with-go=%s" % ("yes" if "+go" in spec else "no"))
+ options.append("--with-lua=%s" % ("yes" if "+lua" in spec else "no"))
+ options.append("--with-php=%s" % ("yes" if "+php" in spec else "no"))
+ options.append("--with-qt4=%s" % ("yes" if "+qt4" in spec else "no"))
configure(*options)
diff --git a/var/spack/repos/builtin/packages/thrust/package.py b/var/spack/repos/builtin/packages/thrust/package.py
index d2916b298f..3870ac254d 100644
--- a/var/spack/repos/builtin/packages/thrust/package.py
+++ b/var/spack/repos/builtin/packages/thrust/package.py
@@ -11,37 +11,39 @@ class Thrust(Package):
which resembles the C++ Standard Template Library (STL)."""
homepage = "https://thrust.github.io"
- url = "https://github.com/NVIDIA/thrust/archive/1.12.0.tar.gz"
+ url = "https://github.com/NVIDIA/thrust/archive/1.12.0.tar.gz"
- version('1.16.0', sha256='93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487')
- version('1.15.0', sha256='0eeaf5a77cd7cb143f3443bd96b215ae1c4eacf18a712762e6a5c85213f80cc2')
- version('1.14.0', sha256='ddba9f3ed47b1a33562a4aea2d000a2ca2abcd45ff760af12aa81b8b7e492962')
- version('1.13.1', sha256='964fbd84eb146a53ff9d5a4422a2b256c5bce27579d9afe1a4be5fa5ebcb67d6')
- version('1.13.0', sha256='f43306ae4230efdd78a8ce82fb10685676b27ce692777ee5c5a3361ced305d63')
- version('1.12.1', sha256='0a7f8a57e5ffb3ba25aaf528d5a5c9d090973afba1c395da856c5353f9bd1690')
- version('1.12.0', sha256='d68f89937ed1a0dadafd4f77d3e65ab9a5baa48dd5fa5698f8d3f7e3d6749da2')
- version('1.12.0-rc0', sha256='458c5ccc8572af00b3176af0f45f5f7eeb5af737bcc0a853982b55afcbe4cef6')
- version('1.11.0', sha256='c65211a66fe0dce9f5470cc8fcb80ae6b04da12fd94707ed63ddddbd82fa9444')
- version('1.10.0', sha256='8149b30eabbc9a2af5f038fb2b7f91070d4e01266377e0cd12e3af3feda93f8f')
- version('1.9.10-1', sha256='9aed4adf97e3fcb2627a5f62bf4b0669af074475fe717952c29254eee413d98a')
- version('1.9.10', sha256='5071c995a03e97e2bcfe0c5cc265330160316733336bb87dfcea3fc381065316')
- version('1.9.9', sha256='74740b94e0c62e1e54f9880cf1eeb2d0bfb2203ae35fd72ece608f9b8e073ef7')
- version('1.9.8-1', sha256='7d8d927e610272ff59a2afc5d90d69cf6ad886dbf9eb7d7ab25bc86f15f8ed52')
- version('1.9.8', sha256='d014396a2128417bd1421ba80d2601422577094c0ff727c60bd3c6eb4856af9b')
- version('1.9.7-1', sha256='c3c433c04a420afd351de44c0e40711d5813092b76f0cfa901a3119b75ab8118')
- version('1.9.7', sha256='72519f7f6b5d28953e5086253bbcf5b10decde913ddeb93872dc51522bdfad2b')
- version('1.9.6-1', sha256='66261f0272082f1752fe66b0ed5907cf292946b7276fc777d21bc86bd16460fe')
- version('1.9.6', sha256='67e937c31d279cec9ad2c54a4f66e479dfbe506ceb0253f611a54323fb4c1cfb')
- version('1.9.5', sha256='d155dc2a260fe0c75c63c185fa4c4b4c6c5b7c444fcdac7109bb71941c9603f1')
- version('1.9.4', sha256='41931a7d73331fc39c6bea56d1eb8d4d8bbf7c73688979bbdab0e55772f538d1')
- version('1.9.3', sha256='92482ad0219cd2d727766f42a4fc952d7c5fd0183c5e201d9a117568387b4fd1')
- version('1.9.2', sha256='1fb1272be9e8c28973f5c39eb230d1914375ef38bcaacf09a3fa51c6b710b756')
- version('1.9.1', sha256='7cf59bf42a7b05bc6799c88269bf41eb637ca2897726a5ade334a1b8b4579ef1')
- version('1.9.0', sha256='a98cf59fc145dd161471291d4816f399b809eb0db2f7085acc7e3ebc06558b37')
- version('1.8.3', sha256='2254200512fde7f4fd0fc74306286e192ea6ac9037576dbd31309c0579229dbb')
- version('1.8.2', sha256='83bc9e7b769daa04324c986eeaf48fcb53c2dda26bcc77cb3c07f4b1c359feb8')
+ version("1.16.0", sha256="93b9553e3ee544e05395022bea67e6d600f8f3eb680950ec7cf73c0f55162487")
+ version("1.15.0", sha256="0eeaf5a77cd7cb143f3443bd96b215ae1c4eacf18a712762e6a5c85213f80cc2")
+ version("1.14.0", sha256="ddba9f3ed47b1a33562a4aea2d000a2ca2abcd45ff760af12aa81b8b7e492962")
+ version("1.13.1", sha256="964fbd84eb146a53ff9d5a4422a2b256c5bce27579d9afe1a4be5fa5ebcb67d6")
+ version("1.13.0", sha256="f43306ae4230efdd78a8ce82fb10685676b27ce692777ee5c5a3361ced305d63")
+ version("1.12.1", sha256="0a7f8a57e5ffb3ba25aaf528d5a5c9d090973afba1c395da856c5353f9bd1690")
+ version("1.12.0", sha256="d68f89937ed1a0dadafd4f77d3e65ab9a5baa48dd5fa5698f8d3f7e3d6749da2")
+ version(
+ "1.12.0-rc0", sha256="458c5ccc8572af00b3176af0f45f5f7eeb5af737bcc0a853982b55afcbe4cef6"
+ )
+ version("1.11.0", sha256="c65211a66fe0dce9f5470cc8fcb80ae6b04da12fd94707ed63ddddbd82fa9444")
+ version("1.10.0", sha256="8149b30eabbc9a2af5f038fb2b7f91070d4e01266377e0cd12e3af3feda93f8f")
+ version("1.9.10-1", sha256="9aed4adf97e3fcb2627a5f62bf4b0669af074475fe717952c29254eee413d98a")
+ version("1.9.10", sha256="5071c995a03e97e2bcfe0c5cc265330160316733336bb87dfcea3fc381065316")
+ version("1.9.9", sha256="74740b94e0c62e1e54f9880cf1eeb2d0bfb2203ae35fd72ece608f9b8e073ef7")
+ version("1.9.8-1", sha256="7d8d927e610272ff59a2afc5d90d69cf6ad886dbf9eb7d7ab25bc86f15f8ed52")
+ version("1.9.8", sha256="d014396a2128417bd1421ba80d2601422577094c0ff727c60bd3c6eb4856af9b")
+ version("1.9.7-1", sha256="c3c433c04a420afd351de44c0e40711d5813092b76f0cfa901a3119b75ab8118")
+ version("1.9.7", sha256="72519f7f6b5d28953e5086253bbcf5b10decde913ddeb93872dc51522bdfad2b")
+ version("1.9.6-1", sha256="66261f0272082f1752fe66b0ed5907cf292946b7276fc777d21bc86bd16460fe")
+ version("1.9.6", sha256="67e937c31d279cec9ad2c54a4f66e479dfbe506ceb0253f611a54323fb4c1cfb")
+ version("1.9.5", sha256="d155dc2a260fe0c75c63c185fa4c4b4c6c5b7c444fcdac7109bb71941c9603f1")
+ version("1.9.4", sha256="41931a7d73331fc39c6bea56d1eb8d4d8bbf7c73688979bbdab0e55772f538d1")
+ version("1.9.3", sha256="92482ad0219cd2d727766f42a4fc952d7c5fd0183c5e201d9a117568387b4fd1")
+ version("1.9.2", sha256="1fb1272be9e8c28973f5c39eb230d1914375ef38bcaacf09a3fa51c6b710b756")
+ version("1.9.1", sha256="7cf59bf42a7b05bc6799c88269bf41eb637ca2897726a5ade334a1b8b4579ef1")
+ version("1.9.0", sha256="a98cf59fc145dd161471291d4816f399b809eb0db2f7085acc7e3ebc06558b37")
+ version("1.8.3", sha256="2254200512fde7f4fd0fc74306286e192ea6ac9037576dbd31309c0579229dbb")
+ version("1.8.2", sha256="83bc9e7b769daa04324c986eeaf48fcb53c2dda26bcc77cb3c07f4b1c359feb8")
def install(self, spec, prefix):
- install_tree('doc', join_path(prefix, 'doc'))
- install_tree('examples', join_path(prefix, 'examples'))
- install_tree('thrust', join_path(prefix, 'include', 'thrust'))
+ install_tree("doc", join_path(prefix, "doc"))
+ install_tree("examples", join_path(prefix, "examples"))
+ install_tree("thrust", join_path(prefix, "include", "thrust"))
diff --git a/var/spack/repos/builtin/packages/tidy-html5/package.py b/var/spack/repos/builtin/packages/tidy-html5/package.py
index bc0488d19f..b874958146 100644
--- a/var/spack/repos/builtin/packages/tidy-html5/package.py
+++ b/var/spack/repos/builtin/packages/tidy-html5/package.py
@@ -12,9 +12,9 @@ class TidyHtml5(CMakePackage):
upgrading legacy code to modern standards."""
homepage = "https://www.html-tidy.org/"
- url = "https://github.com/htacg/tidy-html5/archive/5.6.0.tar.gz"
+ url = "https://github.com/htacg/tidy-html5/archive/5.6.0.tar.gz"
- version('5.7.28', sha256='5caa2c769204f506e24ea4986a45abe23f71d14f0fe968314f20065f342ffdba')
- version('5.6.0', sha256='08a63bba3d9e7618d1570b4ecd6a7daa83c8e18a41c82455b6308bc11fe34958')
+ version("5.7.28", sha256="5caa2c769204f506e24ea4986a45abe23f71d14f0fe968314f20065f342ffdba")
+ version("5.6.0", sha256="08a63bba3d9e7618d1570b4ecd6a7daa83c8e18a41c82455b6308bc11fe34958")
- depends_on('cmake@2.8.12:', type='build')
+ depends_on("cmake@2.8.12:", type="build")
diff --git a/var/spack/repos/builtin/packages/tig/package.py b/var/spack/repos/builtin/packages/tig/package.py
index f0020e4d4a..a030aba57e 100644
--- a/var/spack/repos/builtin/packages/tig/package.py
+++ b/var/spack/repos/builtin/packages/tig/package.py
@@ -10,8 +10,8 @@ class Tig(AutotoolsPackage):
"""Text-mode interface for git"""
homepage = "https://jonas.github.io/tig/"
- url = "https://github.com/jonas/tig/releases/download/tig-2.2.2/tig-2.2.2.tar.gz"
+ url = "https://github.com/jonas/tig/releases/download/tig-2.2.2/tig-2.2.2.tar.gz"
- version('2.2.2', sha256='316214d87f7693abc0cbe8ebbb85decdf5e1b49d7ad760ac801af3dd73385e35')
+ version("2.2.2", sha256="316214d87f7693abc0cbe8ebbb85decdf5e1b49d7ad760ac801af3dd73385e35")
- depends_on('ncurses')
+ depends_on("ncurses")
diff --git a/var/spack/repos/builtin/packages/time/package.py b/var/spack/repos/builtin/packages/time/package.py
index 2792863c5d..eaf1c25822 100644
--- a/var/spack/repos/builtin/packages/time/package.py
+++ b/var/spack/repos/builtin/packages/time/package.py
@@ -9,11 +9,11 @@ from spack.package import *
class Time(AutotoolsPackage, GNUMirrorPackage):
"""The time command runs another program, then displays
- information about the resources used by that program."""
+ information about the resources used by that program."""
homepage = "https://www.gnu.org/software/time/"
gnu_mirror_path = "time/time-1.9.tar.gz"
- version('1.9', sha256='fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e')
+ version("1.9", sha256="fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
diff --git a/var/spack/repos/builtin/packages/timedatex/package.py b/var/spack/repos/builtin/packages/timedatex/package.py
index ec5c0f81b3..541e45d333 100644
--- a/var/spack/repos/builtin/packages/timedatex/package.py
+++ b/var/spack/repos/builtin/packages/timedatex/package.py
@@ -15,13 +15,13 @@ class Timedatex(MakefilePackage):
It is a replacement for the systemd-timedated service."""
homepage = "https://github.com/mlichvar/timedatex"
- url = "https://github.com/mlichvar/timedatex/archive/v0.6.tar.gz"
+ url = "https://github.com/mlichvar/timedatex/archive/v0.6.tar.gz"
- version('0.6', sha256='6e24c015769ee49a92bde3b1f167e25119068a00e377f9e4187a425c262ce964')
- version('0.5', sha256='bc54960bb9554bb2b34985ba2b8a78480db568c3c6a9d26f2ab34de1bc0aab11')
- version('0.4', sha256='204285eb03c6cec9ae1c7fdb99e7c996259ec5a918d72bf6bc28564a6f738d4a')
+ version("0.6", sha256="6e24c015769ee49a92bde3b1f167e25119068a00e377f9e4187a425c262ce964")
+ version("0.5", sha256="bc54960bb9554bb2b34985ba2b8a78480db568c3c6a9d26f2ab34de1bc0aab11")
+ version("0.4", sha256="204285eb03c6cec9ae1c7fdb99e7c996259ec5a918d72bf6bc28564a6f738d4a")
- depends_on('glib')
+ depends_on("glib")
def install(self, spec, prefix):
- make('install', 'prefix={0}'.format(prefix))
+ make("install", "prefix={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/timemory/package.py b/var/spack/repos/builtin/packages/timemory/package.py
index 8b257a163c..759a7437d1 100644
--- a/var/spack/repos/builtin/packages/timemory/package.py
+++ b/var/spack/repos/builtin/packages/timemory/package.py
@@ -9,364 +9,350 @@ from spack.package import *
class Timemory(CMakePackage, PythonPackage):
- '''Modular profiling toolkit and suite of libraries and tools
- for C/C++/Fortran/CUDA/Python'''
+ """Modular profiling toolkit and suite of libraries and tools
+ for C/C++/Fortran/CUDA/Python"""
- homepage = 'https://timemory.readthedocs.io/en/latest/'
- git = 'https://github.com/NERSC/timemory.git'
- maintainers = ['jrmadsen']
+ homepage = "https://timemory.readthedocs.io/en/latest/"
+ git = "https://github.com/NERSC/timemory.git"
+ maintainers = ["jrmadsen"]
- version('master', branch='master', submodules=True)
- version('develop', branch='develop', submodules=True)
- version('3.2.3', commit='d535e478646e331a4c65cfd8c8f759c9a363ccc9', submodules=True)
- version('3.2.2', commit='4725f4e4a3eea3b80b50a01ea088b5d5a1cf40ab', submodules=True)
- version('3.2.1', commit='76ff978d9b1568b7f88a3de82bb84a2042003630', submodules=True)
- version('3.2.0', commit='2bdd28e87224558060e27da90f9b6fcfb20dd324', submodules=True)
- version('3.1.0', commit='b12de7eeed699d820693fecd6136daff744f21b6', submodules=True)
- version('3.0.1', commit='ef638e1cde90275ce7c0e12fc4902c27bcbdeefd', submodules=True)
- version('3.0.0', commit='b36b1673b2c6b7ff3126d8261bef0f8f176c7beb', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("develop", branch="develop", submodules=True)
+ version("3.2.3", commit="d535e478646e331a4c65cfd8c8f759c9a363ccc9", submodules=True)
+ version("3.2.2", commit="4725f4e4a3eea3b80b50a01ea088b5d5a1cf40ab", submodules=True)
+ version("3.2.1", commit="76ff978d9b1568b7f88a3de82bb84a2042003630", submodules=True)
+ version("3.2.0", commit="2bdd28e87224558060e27da90f9b6fcfb20dd324", submodules=True)
+ version("3.1.0", commit="b12de7eeed699d820693fecd6136daff744f21b6", submodules=True)
+ version("3.0.1", commit="ef638e1cde90275ce7c0e12fc4902c27bcbdeefd", submodules=True)
+ version("3.0.0", commit="b36b1673b2c6b7ff3126d8261bef0f8f176c7beb", submodules=True)
- variant('shared', default=True, description='Build shared libraries')
- variant('static', default=False, description='Build static libraries')
- variant('pic', default=True, description='Build position independent code')
- variant('install_headers', default=True, description='Install headers')
+ variant("shared", default=True, description="Build shared libraries")
+ variant("static", default=False, description="Build static libraries")
+ variant("pic", default=True, description="Build position independent code")
+ variant("install_headers", default=True, description="Install headers")
+ variant("install_config", default=True, description="Install cmake configuration files")
+ variant("python", default=False, description="Enable Python support")
variant(
- 'install_config', default=True, description='Install cmake configuration files'
- )
- variant('python', default=False, description='Enable Python support')
- variant(
- 'python_hatchet',
+ "python_hatchet",
default=False,
- description='Build Python hatchet submodule '
- '(does not conflict with py-hatchet)',
+ description="Build Python hatchet submodule " "(does not conflict with py-hatchet)",
)
variant(
- 'python_line_profiler',
+ "python_line_profiler",
default=False,
description=(
- 'Build timemorys extended version of py-line-profiler '
- '(does not conflict with py-line-profiler)'
+ "Build timemorys extended version of py-line-profiler "
+ "(does not conflict with py-line-profiler)"
),
)
variant(
- 'python_deps',
+ "python_deps",
default=False,
- description='Install non-critical python dependencies '
- '(may significantly increase spack install time)',
- )
- variant('mpi', default=False, description='Enable support for MPI aggregation')
+ description="Install non-critical python dependencies "
+ "(may significantly increase spack install time)",
+ )
+ variant("mpi", default=False, description="Enable support for MPI aggregation")
+ variant("nccl", default=False, description="Enable support for wrapping NCCL functions")
+ variant("tau", default=False, description="Enable TAU support")
+ variant("papi", default=False, description="Enable PAPI support")
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("cupti", default=False, description="Enable CUPTI support")
+ variant("tools", default=True, description="Build/install extra tools")
+ variant("vtune", default=False, description="Enable VTune support")
+ variant("upcxx", default=False, description="Enable UPC++ support")
+ variant("gotcha", default=False, description="Enable GOTCHA support")
variant(
- 'nccl', default=False, description='Enable support for wrapping NCCL functions'
- )
- variant('tau', default=False, description='Enable TAU support')
- variant('papi', default=False, description='Enable PAPI support')
- variant('cuda', default=False, description='Enable CUDA support')
- variant('cupti', default=False, description='Enable CUPTI support')
- variant('tools', default=True, description='Build/install extra tools')
- variant('vtune', default=False, description='Enable VTune support')
- variant('upcxx', default=False, description='Enable UPC++ support')
- variant('gotcha', default=False, description='Enable GOTCHA support')
- variant(
- 'likwid',
+ "likwid",
default=False,
- description='Enable LIKWID CPU marker API support (perfmon)',
+ description="Enable LIKWID CPU marker API support (perfmon)",
)
variant(
- 'likwid_nvmon',
+ "likwid_nvmon",
default=False,
- description='Enable LIKWID GPU marker API support (nvmon)',
+ description="Enable LIKWID GPU marker API support (nvmon)",
)
- variant('caliper', default=False, description='Enable Caliper support')
- variant('dyninst', default=False, description='Build dynamic instrumentation tools')
- variant('examples', default=False, description='Build/install examples')
- variant('gperftools', default=False, description='Enable gperftools support')
+ variant("caliper", default=False, description="Enable Caliper support")
+ variant("dyninst", default=False, description="Build dynamic instrumentation tools")
+ variant("examples", default=False, description="Build/install examples")
+ variant("gperftools", default=False, description="Enable gperftools support")
variant(
- 'kokkos_tools',
+ "kokkos_tools",
default=False,
description=(
- 'Build generic kokkos-tools libraries, e.g. '
- 'kp_timemory, kp_timemory_filter'
+ "Build generic kokkos-tools libraries, e.g. " "kp_timemory, kp_timemory_filter"
),
)
variant(
- 'kokkos_build_config',
+ "kokkos_build_config",
default=False,
description=(
- 'Build pre-configured (i.e. dedicated) kokkos-tools '
- 'libraries, e.g. kp_timemory_cpu_flops'
+ "Build pre-configured (i.e. dedicated) kokkos-tools "
+ "libraries, e.g. kp_timemory_cpu_flops"
),
)
variant(
- 'cuda_arch',
- default='auto',
- description='CUDA architecture name',
+ "cuda_arch",
+ default="auto",
+ description="CUDA architecture name",
values=(
- 'auto',
- 'kepler',
- 'kepler30',
- 'kepler32',
- 'kepler35',
- 'kepler37',
- 'tesla',
- 'maxwell',
- 'maxwell50',
- 'maxwell52',
- 'maxwell53',
- 'pascal',
- 'pascal60',
- 'pascal61',
- 'volta',
- 'volta70',
- 'volta72',
- 'turing',
- 'turing75',
- 'ampere',
- 'ampere80',
- 'ampere86',
+ "auto",
+ "kepler",
+ "kepler30",
+ "kepler32",
+ "kepler35",
+ "kepler37",
+ "tesla",
+ "maxwell",
+ "maxwell50",
+ "maxwell52",
+ "maxwell53",
+ "pascal",
+ "pascal60",
+ "pascal61",
+ "volta",
+ "volta70",
+ "volta72",
+ "turing",
+ "turing75",
+ "ampere",
+ "ampere80",
+ "ampere86",
),
multi=True,
)
variant(
- 'cpu_target',
- default='auto',
- description=('Build for specific cpu architecture (specify ' 'cpu-model)'),
+ "cpu_target",
+ default="auto",
+ description=("Build for specific cpu architecture (specify " "cpu-model)"),
)
variant(
- 'use_arch',
+ "use_arch",
default=False,
description=(
- 'Build all of timemory w/ cpu_target architecture '
- 'flags (default: roofline toolkit only)'
+ "Build all of timemory w/ cpu_target architecture "
+ "flags (default: roofline toolkit only)"
),
)
variant(
- 'tls_model',
- default='global-dynamic',
- description='Thread-local static model',
+ "tls_model",
+ default="global-dynamic",
+ description="Thread-local static model",
multi=False,
- values=('global-dynamic', 'local-dynamic', 'initial-exec', 'local-exec'),
+ values=("global-dynamic", "local-dynamic", "initial-exec", "local-exec"),
)
- variant('lto', default=False, description='Build with link-time optimization')
+ variant("lto", default=False, description="Build with link-time optimization")
variant(
- 'statistics',
+ "statistics",
default=True,
- description=('Build components w/ support for statistics ' '(min/max/stddev)'),
+ description=("Build components w/ support for statistics " "(min/max/stddev)"),
)
variant(
- 'extra_optimizations',
+ "extra_optimizations",
default=True,
- description='Build timemory with extra optimization flags',
+ description="Build timemory with extra optimization flags",
)
variant(
- 'cxxstd',
- default='14',
- description='C++ language standard',
- values=('14', '17', '20'),
+ "cxxstd",
+ default="14",
+ description="C++ language standard",
+ values=("14", "17", "20"),
multi=False,
)
variant(
- 'cudastd',
- default='14',
- description='CUDA language standard',
- values=('14', '17'),
+ "cudastd",
+ default="14",
+ description="CUDA language standard",
+ values=("14", "17"),
multi=False,
)
variant(
- 'unity_build',
+ "unity_build",
default=True,
- description='Build with CMAKE_UNITY_BUILD=ON for faster builds '
- 'but larger memory consumption',
+ description="Build with CMAKE_UNITY_BUILD=ON for faster builds "
+ "but larger memory consumption",
)
variant(
- 'mpip_library',
+ "mpip_library",
default=False,
- description='Build stand-alone timemory-mpip GOTCHA library',
+ description="Build stand-alone timemory-mpip GOTCHA library",
)
- variant('ompt', default=False, description=('Enable OpenMP tools support'))
+ variant("ompt", default=False, description=("Enable OpenMP tools support"))
variant(
- 'ompt_library',
+ "ompt_library",
default=False,
- description='Build stand-alone timemory-ompt library',
+ description="Build stand-alone timemory-ompt library",
)
- variant('allinea_map', default=False, description='Enable Allinea ARM-MAP support')
+ variant("allinea_map", default=False, description="Enable Allinea ARM-MAP support")
variant(
- 'require_packages',
+ "require_packages",
default=True,
- description=('find_package(...) resulting in NOTFOUND ' 'generates error'),
- )
- variant(
- 'compiler', default=True, description='Enable compiler instrumentation support'
+ description=("find_package(...) resulting in NOTFOUND " "generates error"),
)
+ variant("compiler", default=True, description="Enable compiler instrumentation support")
variant(
- 'ert',
+ "ert",
default=True,
- description='Enable extern templates for empirical roofline toolkit (ERT)',
+ description="Enable extern templates for empirical roofline toolkit (ERT)",
)
- extends('python', when='+python')
- depends_on('cmake@3.15:', type='build')
- depends_on('python@3:', when='+python', type=('build', 'run'))
- depends_on('py-cython', when='+python_hatchet', type=('build'))
- depends_on('py-cython', when='+python_line_profiler', type=('build'))
- depends_on('pil', when='+python+python_deps', type=('run'))
- depends_on('py-numpy', when='+python+python_deps', type=('run'))
- depends_on('py-hatchet', when='+python+python_deps', type=('run'))
- depends_on('py-matplotlib', when='+python+python_deps', type=('run'))
- depends_on('py-mpi4py', when='+python+mpi+python_deps', type=('run'))
- depends_on('py-pandas', when='+python_deps+python_hatchet', type=('run'))
- depends_on('py-pydot', when='+python_deps+python_hatchet', type=('run'))
- depends_on('py-pyyaml', when='+python_deps+python_hatchet', type=('run'))
- depends_on('py-multiprocess', when='+python_deps+python_hatchet', type=('run'))
- depends_on('mpi', when='+mpi')
- depends_on('nccl', when='+nccl')
- depends_on('tau', when='+tau')
- depends_on('papi', when='+papi')
- depends_on('cuda', when='+cuda')
- depends_on('cuda', when='+cupti')
- depends_on('upcxx', when='+upcxx')
- depends_on('likwid', when='+likwid~likwid_nvmon')
- depends_on('likwid+cuda', when='+likwid+likwid_nvmon')
- depends_on('gotcha', when='+gotcha')
- depends_on('caliper', when='+caliper')
- depends_on('dyninst', when='+dyninst')
- depends_on('gperftools', when='+gperftools')
- depends_on('intel-parallel-studio', when='+vtune')
- depends_on('arm-forge', when='+allinea_map')
+ extends("python", when="+python")
+ depends_on("cmake@3.15:", type="build")
+ depends_on("python@3:", when="+python", type=("build", "run"))
+ depends_on("py-cython", when="+python_hatchet", type=("build"))
+ depends_on("py-cython", when="+python_line_profiler", type=("build"))
+ depends_on("pil", when="+python+python_deps", type=("run"))
+ depends_on("py-numpy", when="+python+python_deps", type=("run"))
+ depends_on("py-hatchet", when="+python+python_deps", type=("run"))
+ depends_on("py-matplotlib", when="+python+python_deps", type=("run"))
+ depends_on("py-mpi4py", when="+python+mpi+python_deps", type=("run"))
+ depends_on("py-pandas", when="+python_deps+python_hatchet", type=("run"))
+ depends_on("py-pydot", when="+python_deps+python_hatchet", type=("run"))
+ depends_on("py-pyyaml", when="+python_deps+python_hatchet", type=("run"))
+ depends_on("py-multiprocess", when="+python_deps+python_hatchet", type=("run"))
+ depends_on("mpi", when="+mpi")
+ depends_on("nccl", when="+nccl")
+ depends_on("tau", when="+tau")
+ depends_on("papi", when="+papi")
+ depends_on("cuda", when="+cuda")
+ depends_on("cuda", when="+cupti")
+ depends_on("upcxx", when="+upcxx")
+ depends_on("likwid", when="+likwid~likwid_nvmon")
+ depends_on("likwid+cuda", when="+likwid+likwid_nvmon")
+ depends_on("gotcha", when="+gotcha")
+ depends_on("caliper", when="+caliper")
+ depends_on("dyninst", when="+dyninst")
+ depends_on("gperftools", when="+gperftools")
+ depends_on("intel-parallel-studio", when="+vtune")
+ depends_on("arm-forge", when="+allinea_map")
conflicts(
- '+python',
- when='~shared~static',
- msg='+python requires building shared or static libraries',
+ "+python",
+ when="~shared~static",
+ msg="+python requires building shared or static libraries",
)
conflicts(
- '~pic',
- '~shared+static+python',
- msg='Python bindings cannot be be linked to static libs w/o +pic',
+ "~pic",
+ "~shared+static+python",
+ msg="Python bindings cannot be be linked to static libs w/o +pic",
)
- conflicts('+python_deps', when='~python')
- conflicts('+cupti', when='~cuda', msg='CUPTI requires CUDA')
- conflicts('+kokkos_tools', when='~tools', msg='+kokkos_tools requires +tools')
+ conflicts("+python_deps", when="~python")
+ conflicts("+cupti", when="~cuda", msg="CUPTI requires CUDA")
+ conflicts("+kokkos_tools", when="~tools", msg="+kokkos_tools requires +tools")
conflicts(
- '+kokkos_build_config',
- when='~tools~kokkos_tools',
- msg='+kokkos_build_config requires +tools+kokkos_tools',
+ "+kokkos_build_config",
+ when="~tools~kokkos_tools",
+ msg="+kokkos_build_config requires +tools+kokkos_tools",
)
conflicts(
- 'tls_model=local-dynamic',
- when='+python',
- msg='+python require tls_model=global-dynamic',
+ "tls_model=local-dynamic",
+ when="+python",
+ msg="+python require tls_model=global-dynamic",
)
conflicts(
- 'tls_model=initial-exec',
- when='+python',
- msg='+python require tls_model=global-dynamic',
+ "tls_model=initial-exec",
+ when="+python",
+ msg="+python require tls_model=global-dynamic",
)
conflicts(
- 'tls_model=local-exec',
- when='+python',
- msg='+python require tls_model=global-dynamic',
+ "tls_model=local-exec",
+ when="+python",
+ msg="+python require tls_model=global-dynamic",
)
- conflicts('+nccl', when='~gotcha', msg='+nccl requires +gotcha')
+ conflicts("+nccl", when="~gotcha", msg="+nccl requires +gotcha")
conflicts(
- '+nccl',
- when='~shared~static',
- msg='+nccl requires building shared or static libraries',
+ "+nccl",
+ when="~shared~static",
+ msg="+nccl requires building shared or static libraries",
)
- conflicts('+mpip_library', when='~mpi', msg='+mpip_library requires +mpi')
- conflicts('+mpip_library', when='~gotcha', msg='+mpip_library requires +gotcha')
+ conflicts("+mpip_library", when="~mpi", msg="+mpip_library requires +mpi")
+ conflicts("+mpip_library", when="~gotcha", msg="+mpip_library requires +gotcha")
conflicts(
- '+mpip_library',
- when='~shared~static',
- msg='+mpip_library requires building shared or static libraries',
+ "+mpip_library",
+ when="~shared~static",
+ msg="+mpip_library requires building shared or static libraries",
)
- conflicts('+ompt_library', when='~ompt', msg='+ompt_library requires +ompt')
+ conflicts("+ompt_library", when="~ompt", msg="+ompt_library requires +ompt")
conflicts(
- '+ompt_library',
- when='~shared~static',
- msg='+ompt_library requires building shared or static libraries',
+ "+ompt_library",
+ when="~shared~static",
+ msg="+ompt_library requires building shared or static libraries",
)
- conflicts('+likwid_nvmon', when='~likwid', msg='+likwid_nvmon requires +likwid')
+ conflicts("+likwid_nvmon", when="~likwid", msg="+likwid_nvmon requires +likwid")
def cmake_args(self):
spec = self.spec
args = [
- self.define('SPACK_BUILD', True),
- self.define('TIMEMORY_BUILD_OMPT', False), # disable submodule
- self.define('TIMEMORY_BUILD_PYTHON', True),
- self.define('TIMEMORY_BUILD_GOTCHA', False), # disable submodule
- self.define('TIMEMORY_BUILD_CALIPER', False), # disable submodule
- self.define('TIMEMORY_BUILD_TESTING', False),
- self.define('TIMEMORY_USE_MPI_LINK_FLAGS', False),
- self.define('CMAKE_INSTALL_RPATH_USE_LINK_PATH', True),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('BUILD_STATIC_LIBS', 'static'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- self.define_from_variant('CMAKE_CUDA_STANDARD', 'cudastd'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- self.define_from_variant('CpuArch_TARGET', 'cpu_target'),
- self.define_from_variant('TIMEMORY_TLS_MODEL', 'tls_model'),
- self.define_from_variant('TIMEMORY_UNITY_BUILD', 'unity_build'),
- self.define_from_variant('TIMEMORY_REQUIRE_PACKAGES', 'require_packages'),
- self.define_from_variant('TIMEMORY_INSTALL_HEADERS', 'install_headers'),
- self.define_from_variant('TIMEMORY_INSTALL_CONFIG', 'install_config'),
- self.define_from_variant('TIMEMORY_BUILD_ERT', 'ert'),
- self.define_from_variant(
- 'TIMEMORY_BUILD_COMPILER_INSTRUMENTATION', 'compiler'
- ),
- self.define_from_variant('TIMEMORY_BUILD_LTO', 'lto'),
- self.define_from_variant('TIMEMORY_BUILD_TOOLS', 'tools'),
- self.define_from_variant('TIMEMORY_BUILD_EXAMPLES', 'examples'),
- self.define_from_variant('TIMEMORY_BUILD_NCCLP_LIBRARY', 'nccl'),
- self.define_from_variant('TIMEMORY_BUILD_MALLOCP_LIBRARY', 'gotcha'),
- self.define_from_variant('TIMEMORY_BUILD_MPIP_LIBRARY', 'mpip_library'),
- self.define_from_variant('TIMEMORY_BUILD_OMPT_LIBRARY', 'ompt_library'),
- self.define_from_variant('TIMEMORY_BUILD_KOKKOS_TOOLS', 'kokkos_tools'),
- self.define_from_variant(
- 'TIMEMORY_BUILD_KOKKOS_CONFIG', 'kokkos_build_config'
- ),
- self.define_from_variant(
- 'TIMEMORY_BUILD_EXTRA_OPTIMIZATIONS', 'extra_optimizations'
- ),
- self.define_from_variant('TIMEMORY_BUILD_PYTHON_HATCHET', 'python_hatchet'),
+ self.define("SPACK_BUILD", True),
+ self.define("TIMEMORY_BUILD_OMPT", False), # disable submodule
+ self.define("TIMEMORY_BUILD_PYTHON", True),
+ self.define("TIMEMORY_BUILD_GOTCHA", False), # disable submodule
+ self.define("TIMEMORY_BUILD_CALIPER", False), # disable submodule
+ self.define("TIMEMORY_BUILD_TESTING", False),
+ self.define("TIMEMORY_USE_MPI_LINK_FLAGS", False),
+ self.define("CMAKE_INSTALL_RPATH_USE_LINK_PATH", True),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("BUILD_STATIC_LIBS", "static"),
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ self.define_from_variant("CMAKE_CUDA_STANDARD", "cudastd"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ self.define_from_variant("CpuArch_TARGET", "cpu_target"),
+ self.define_from_variant("TIMEMORY_TLS_MODEL", "tls_model"),
+ self.define_from_variant("TIMEMORY_UNITY_BUILD", "unity_build"),
+ self.define_from_variant("TIMEMORY_REQUIRE_PACKAGES", "require_packages"),
+ self.define_from_variant("TIMEMORY_INSTALL_HEADERS", "install_headers"),
+ self.define_from_variant("TIMEMORY_INSTALL_CONFIG", "install_config"),
+ self.define_from_variant("TIMEMORY_BUILD_ERT", "ert"),
+ self.define_from_variant("TIMEMORY_BUILD_COMPILER_INSTRUMENTATION", "compiler"),
+ self.define_from_variant("TIMEMORY_BUILD_LTO", "lto"),
+ self.define_from_variant("TIMEMORY_BUILD_TOOLS", "tools"),
+ self.define_from_variant("TIMEMORY_BUILD_EXAMPLES", "examples"),
+ self.define_from_variant("TIMEMORY_BUILD_NCCLP_LIBRARY", "nccl"),
+ self.define_from_variant("TIMEMORY_BUILD_MALLOCP_LIBRARY", "gotcha"),
+ self.define_from_variant("TIMEMORY_BUILD_MPIP_LIBRARY", "mpip_library"),
+ self.define_from_variant("TIMEMORY_BUILD_OMPT_LIBRARY", "ompt_library"),
+ self.define_from_variant("TIMEMORY_BUILD_KOKKOS_TOOLS", "kokkos_tools"),
+ self.define_from_variant("TIMEMORY_BUILD_KOKKOS_CONFIG", "kokkos_build_config"),
+ self.define_from_variant("TIMEMORY_BUILD_EXTRA_OPTIMIZATIONS", "extra_optimizations"),
+ self.define_from_variant("TIMEMORY_BUILD_PYTHON_HATCHET", "python_hatchet"),
self.define_from_variant(
- 'TIMEMORY_BUILD_PYTHON_LINE_PROFILER', 'python_line_profiler'
+ "TIMEMORY_BUILD_PYTHON_LINE_PROFILER", "python_line_profiler"
),
- self.define_from_variant('TIMEMORY_USE_MPI', 'mpi'),
- self.define_from_variant('TIMEMORY_USE_TAU', 'tau'),
- self.define_from_variant('TIMEMORY_USE_ARCH', 'use_arch'),
- self.define_from_variant('TIMEMORY_USE_PAPI', 'papi'),
- self.define_from_variant('TIMEMORY_USE_OMPT', 'ompt'),
- self.define_from_variant('TIMEMORY_USE_CUDA', 'cuda'),
- self.define_from_variant('TIMEMORY_USE_NCCL', 'nccl'),
- self.define_from_variant('TIMEMORY_USE_CUPTI', 'cupti'),
- self.define_from_variant('TIMEMORY_USE_VTUNE', 'vtune'),
- self.define_from_variant('TIMEMORY_USE_UPCXX', 'upcxx'),
- self.define_from_variant('TIMEMORY_USE_PYTHON', 'python'),
- self.define_from_variant('TIMEMORY_USE_GOTCHA', 'gotcha'),
- self.define_from_variant('TIMEMORY_USE_LIKWID', 'likwid'),
- self.define_from_variant('TIMEMORY_USE_LIKWID_PERFMON', 'likwid'),
- self.define_from_variant('TIMEMORY_USE_LIKWID_NVMON', 'likwid_nvmon'),
- self.define_from_variant('TIMEMORY_USE_DYNINST', 'dyninst'),
- self.define_from_variant('TIMEMORY_USE_CALIPER', 'caliper'),
- self.define_from_variant('TIMEMORY_USE_GPERFTOOLS', 'gperftools'),
- self.define_from_variant('TIMEMORY_USE_STATISTICS', 'statistics'),
- self.define_from_variant('TIMEMORY_USE_ALLINEA_MAP', 'allinea_map'),
+ self.define_from_variant("TIMEMORY_USE_MPI", "mpi"),
+ self.define_from_variant("TIMEMORY_USE_TAU", "tau"),
+ self.define_from_variant("TIMEMORY_USE_ARCH", "use_arch"),
+ self.define_from_variant("TIMEMORY_USE_PAPI", "papi"),
+ self.define_from_variant("TIMEMORY_USE_OMPT", "ompt"),
+ self.define_from_variant("TIMEMORY_USE_CUDA", "cuda"),
+ self.define_from_variant("TIMEMORY_USE_NCCL", "nccl"),
+ self.define_from_variant("TIMEMORY_USE_CUPTI", "cupti"),
+ self.define_from_variant("TIMEMORY_USE_VTUNE", "vtune"),
+ self.define_from_variant("TIMEMORY_USE_UPCXX", "upcxx"),
+ self.define_from_variant("TIMEMORY_USE_PYTHON", "python"),
+ self.define_from_variant("TIMEMORY_USE_GOTCHA", "gotcha"),
+ self.define_from_variant("TIMEMORY_USE_LIKWID", "likwid"),
+ self.define_from_variant("TIMEMORY_USE_LIKWID_PERFMON", "likwid"),
+ self.define_from_variant("TIMEMORY_USE_LIKWID_NVMON", "likwid_nvmon"),
+ self.define_from_variant("TIMEMORY_USE_DYNINST", "dyninst"),
+ self.define_from_variant("TIMEMORY_USE_CALIPER", "caliper"),
+ self.define_from_variant("TIMEMORY_USE_GPERFTOOLS", "gperftools"),
+ self.define_from_variant("TIMEMORY_USE_STATISTICS", "statistics"),
+ self.define_from_variant("TIMEMORY_USE_ALLINEA_MAP", "allinea_map"),
]
- if '+python' in spec:
- pyexe = spec['python'].command.path
- args.append(self.define('PYTHON_EXECUTABLE=', pyexe))
- args.append(self.define('Python3_EXECUTABLE', pyexe))
+ if "+python" in spec:
+ pyexe = spec["python"].command.path
+ args.append(self.define("PYTHON_EXECUTABLE=", pyexe))
+ args.append(self.define("Python3_EXECUTABLE", pyexe))
- if '+mpi' in spec:
- args.append(self.define('MPI_C_COMPILER', spec['mpi'].mpicc))
- args.append(self.define('MPI_CXX_COMPILER', spec['mpi'].mpicxx))
+ if "+mpi" in spec:
+ args.append(self.define("MPI_C_COMPILER", spec["mpi"].mpicc))
+ args.append(self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx))
- if '+cuda' in spec:
+ if "+cuda" in spec:
# newer versions use 'TIMEMORY_CUDA_ARCH'
- key = 'CUDA_ARCH' if spec.satisfies('@:3.0.1') else 'TIMEMORY_CUDA_ARCH'
- args.append(self.define_from_variant(key, 'cuda_arch'))
- args.append(self.define_from_variant('CMAKE_CUDA_STANDARD', 'cudastd'))
+ key = "CUDA_ARCH" if spec.satisfies("@:3.0.1") else "TIMEMORY_CUDA_ARCH"
+ args.append(self.define_from_variant(key, "cuda_arch"))
+ args.append(self.define_from_variant("CMAKE_CUDA_STANDARD", "cudastd"))
return args
diff --git a/var/spack/repos/builtin/packages/tini/package.py b/var/spack/repos/builtin/packages/tini/package.py
index d268033959..8182377c63 100644
--- a/var/spack/repos/builtin/packages/tini/package.py
+++ b/var/spack/repos/builtin/packages/tini/package.py
@@ -11,8 +11,8 @@ class Tini(CMakePackage):
"""A tiny but valid `init` for containers"""
homepage = "https://github.com/krallin/tini"
- url = "https://github.com/krallin/tini/archive/refs/tags/v0.19.0.tar.gz"
+ url = "https://github.com/krallin/tini/archive/refs/tags/v0.19.0.tar.gz"
maintainers = ["teonnik", "Madeeks"]
- version('0.19.0', sha256='0fd35a7030052acd9f58948d1d900fe1e432ee37103c5561554408bdac6bbf0d')
- patch('tini_static_rpath_issue.patch', when='@0.19.0:')
+ version("0.19.0", sha256="0fd35a7030052acd9f58948d1d900fe1e432ee37103c5561554408bdac6bbf0d")
+ patch("tini_static_rpath_issue.patch", when="@0.19.0:")
diff --git a/var/spack/repos/builtin/packages/tinker/package.py b/var/spack/repos/builtin/packages/tinker/package.py
index 083cd5ae16..b3b5b8eebe 100644
--- a/var/spack/repos/builtin/packages/tinker/package.py
+++ b/var/spack/repos/builtin/packages/tinker/package.py
@@ -9,16 +9,16 @@ from spack.package import *
class Tinker(CMakePackage):
"""The Tinker molecular modeling software is a complete and general
- package for molecular mechanics and dynamics, with some special
- features for biopolymers.
+ package for molecular mechanics and dynamics, with some special
+ features for biopolymers.
"""
homepage = "https://dasher.wustl.edu/tinker/"
- url = "https://dasher.wustl.edu/tinker/downloads/tinker-8.7.1.tar.gz"
+ url = "https://dasher.wustl.edu/tinker/downloads/tinker-8.7.1.tar.gz"
- version('8.7.1', sha256='0d6eff8bbc9be0b37d62b6fd3da35bb5499958eafe67aa9c014c4648c8b46d0f')
- patch('tinker-8.7.1-cmake.patch')
+ version("8.7.1", sha256="0d6eff8bbc9be0b37d62b6fd3da35bb5499958eafe67aa9c014c4648c8b46d0f")
+ patch("tinker-8.7.1-cmake.patch")
- depends_on('fftw')
+ depends_on("fftw")
- root_cmakelists_dir = 'source'
+ root_cmakelists_dir = "source"
diff --git a/var/spack/repos/builtin/packages/tinygltf/package.py b/var/spack/repos/builtin/packages/tinygltf/package.py
index a2cfba6b68..9da8a774de 100644
--- a/var/spack/repos/builtin/packages/tinygltf/package.py
+++ b/var/spack/repos/builtin/packages/tinygltf/package.py
@@ -10,8 +10,8 @@ class Tinygltf(CMakePackage):
"""Header only C++11 tiny glTF 2.0 library."""
homepage = "https://github.com/syoyo/tinygltf"
- url = "https://github.com/syoyo/tinygltf/archive/refs/tags/v2.5.0.tar.gz"
+ url = "https://github.com/syoyo/tinygltf/archive/refs/tags/v2.5.0.tar.gz"
- version('2.5.0', sha256='5d85bd556b60b1b69527189293cfa4902957d67fabb8582b6532f23a5ef27ec1')
+ version("2.5.0", sha256="5d85bd556b60b1b69527189293cfa4902957d67fabb8582b6532f23a5ef27ec1")
- depends_on('cmake@3.6:', type='build')
+ depends_on("cmake@3.6:", type="build")
diff --git a/var/spack/repos/builtin/packages/tinyobjloader/package.py b/var/spack/repos/builtin/packages/tinyobjloader/package.py
index 1c4926361d..cba20de589 100644
--- a/var/spack/repos/builtin/packages/tinyobjloader/package.py
+++ b/var/spack/repos/builtin/packages/tinyobjloader/package.py
@@ -10,8 +10,8 @@ class Tinyobjloader(CMakePackage):
"""Tiny but powerful single file wavefront obj loader."""
homepage = "https://github.com/tinyobjloader/tinyobjloader"
- url = "https://github.com/tinyobjloader/tinyobjloader/archive/refs/tags/v1.0.6.tar.gz"
+ url = "https://github.com/tinyobjloader/tinyobjloader/archive/refs/tags/v1.0.6.tar.gz"
- version('1.0.6', sha256='19ee82cd201761954dd833de551edb570e33b320d6027e0d91455faf7cd4c341')
+ version("1.0.6", sha256="19ee82cd201761954dd833de551edb570e33b320d6027e0d91455faf7cd4c341")
- depends_on('cmake@2.8.11:', type='build')
+ depends_on("cmake@2.8.11:", type="build")
diff --git a/var/spack/repos/builtin/packages/tinyxml/package.py b/var/spack/repos/builtin/packages/tinyxml/package.py
index c14aea9e05..0843a4e045 100644
--- a/var/spack/repos/builtin/packages/tinyxml/package.py
+++ b/var/spack/repos/builtin/packages/tinyxml/package.py
@@ -14,17 +14,16 @@ class Tinyxml(CMakePackage):
homepage = "http://grinninglizard.com/tinyxml/"
url = "https://downloads.sourceforge.net/project/tinyxml/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz"
- version('2.6.2', sha256='15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593')
+ version("2.6.2", sha256="15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593")
- variant('shared', default=True, description='Build a shared library')
+ variant("shared", default=True, description="Build a shared library")
def url_for_version(self, version):
url = "https://sourceforge.net/projects/tinyxml/files/tinyxml/{0}/tinyxml_{1}.tar.gz"
return url.format(version.dotted, version.underscored)
def patch(self):
- copy(join_path(os.path.dirname(__file__),
- "CMakeLists.txt"), "CMakeLists.txt")
+ copy(join_path(os.path.dirname(__file__), "CMakeLists.txt"), "CMakeLists.txt")
def cmake_args(self):
- return [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
diff --git a/var/spack/repos/builtin/packages/tinyxml2/package.py b/var/spack/repos/builtin/packages/tinyxml2/package.py
index c0e825778e..617fb90d61 100644
--- a/var/spack/repos/builtin/packages/tinyxml2/package.py
+++ b/var/spack/repos/builtin/packages/tinyxml2/package.py
@@ -12,10 +12,10 @@ class Tinyxml2(CMakePackage):
homepage = "http://grinninglizard.com/tinyxml2/"
url = "https://github.com/leethomason/tinyxml2/archive/3.0.0.tar.gz"
- version('6.2.0', sha256='cdf0c2179ae7a7931dba52463741cf59024198bbf9673bf08415bcb46344110f')
- version('4.0.1', sha256='14b38ef25cc136d71339ceeafb4856bb638d486614103453eccd323849267f20')
- version('4.0.0', sha256='90add44f06de081047d431c08d7269c25b4030e5fe19c3bc8381c001ce8f258c')
- version('3.0.0', sha256='128aa1553e88403833e0cccf1b651f45ce87bc207871f53fdcc8e7f9ec795747')
- version('2.2.0', sha256='f891224f32e7a06bf279290619cec80cc8ddc335c13696872195ffb87f5bce67')
- version('2.1.0', sha256='4bdd6569fdce00460bf9cda0ff5dcff46d342b4595900d849cc46a277a74cce6')
- version('2.0.2', sha256='3cc3aa09cd1ce77736f23488c7cb24e65e11daed4e870ddc8d352aa4070c7c74')
+ version("6.2.0", sha256="cdf0c2179ae7a7931dba52463741cf59024198bbf9673bf08415bcb46344110f")
+ version("4.0.1", sha256="14b38ef25cc136d71339ceeafb4856bb638d486614103453eccd323849267f20")
+ version("4.0.0", sha256="90add44f06de081047d431c08d7269c25b4030e5fe19c3bc8381c001ce8f258c")
+ version("3.0.0", sha256="128aa1553e88403833e0cccf1b651f45ce87bc207871f53fdcc8e7f9ec795747")
+ version("2.2.0", sha256="f891224f32e7a06bf279290619cec80cc8ddc335c13696872195ffb87f5bce67")
+ version("2.1.0", sha256="4bdd6569fdce00460bf9cda0ff5dcff46d342b4595900d849cc46a277a74cce6")
+ version("2.0.2", sha256="3cc3aa09cd1ce77736f23488c7cb24e65e11daed4e870ddc8d352aa4070c7c74")
diff --git a/var/spack/repos/builtin/packages/tioga/package.py b/var/spack/repos/builtin/packages/tioga/package.py
index 0238a82d65..1374ad76fb 100644
--- a/var/spack/repos/builtin/packages/tioga/package.py
+++ b/var/spack/repos/builtin/packages/tioga/package.py
@@ -11,29 +11,24 @@ class Tioga(CMakePackage, CudaPackage):
"""Topology Independent Overset Grid Assembly (TIOGA)"""
homepage = "https://github.com/jsitaraman/tioga"
- git = "https://github.com/jsitaraman/tioga.git"
+ git = "https://github.com/jsitaraman/tioga.git"
- maintainers = ['jsitaraman', 'sayerhs']
+ maintainers = ["jsitaraman", "sayerhs"]
- version('develop', branch='exawind')
- version('master', branch='master')
+ version("develop", branch="exawind")
+ version("master", branch="master")
- variant('shared', default=sys.platform != 'darwin',
- description="Build shared libraries")
- variant('pic', default=True,
- description="Position independent code")
- variant('nodegid', default=True,
- description="Enable support for global Node IDs")
- variant('timers', default=False,
- description="Enable timers")
- variant('stats', default=False,
- description="Enable output of holecut stats")
- variant('cxxstd', default='11',
- values=('11', '14'), multi=False,
- description="C++ standard to use")
+ variant("shared", default=sys.platform != "darwin", description="Build shared libraries")
+ variant("pic", default=True, description="Position independent code")
+ variant("nodegid", default=True, description="Enable support for global Node IDs")
+ variant("timers", default=False, description="Enable timers")
+ variant("stats", default=False, description="Enable output of holecut stats")
+ variant(
+ "cxxstd", default="11", values=("11", "14"), multi=False, description="C++ standard to use"
+ )
- depends_on('mpi')
- depends_on('cuda@9.0.0:', when='+cuda')
+ depends_on("mpi")
+ depends_on("cuda@9.0.0:", when="+cuda")
# Tioga has the fortran module file problem with parallel builds
parallel = False
@@ -42,25 +37,25 @@ class Tioga(CMakePackage, CudaPackage):
spec = self.spec
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- self.define_from_variant('TIOGA_HAS_NODEGID', 'nodegid'),
- self.define_from_variant('TIOGA_ENABLE_TIMERS', 'timers'),
- self.define_from_variant('TIOGA_OUTPUT_STATS', 'stats'),
- self.define_from_variant('TIOGA_ENABLE_CUDA', 'cuda'),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ self.define_from_variant("TIOGA_HAS_NODEGID", "nodegid"),
+ self.define_from_variant("TIOGA_ENABLE_TIMERS", "timers"),
+ self.define_from_variant("TIOGA_OUTPUT_STATS", "stats"),
+ self.define_from_variant("TIOGA_ENABLE_CUDA", "cuda"),
]
- if '+cuda' in self.spec:
- args.append(self.define('CMAKE_CUDA_SEPARABLE_COMPILATION', True))
+ if "+cuda" in self.spec:
+ args.append(self.define("CMAKE_CUDA_SEPARABLE_COMPILATION", True))
# Currently TIOGA only supports one device arch during specialization
- cuda_arch = self.spec.variants['cuda_arch'].value
+ cuda_arch = self.spec.variants["cuda_arch"].value
if cuda_arch:
arch_sorted = list(sorted(cuda_arch, reverse=True))
- args.append(self.define('TIOGA_CUDA_SM', arch_sorted[0]))
+ args.append(self.define("TIOGA_CUDA_SM", arch_sorted[0]))
- if 'darwin' in spec.architecture:
- args.append(self.define('CMAKE_MACOSX_RPATH', True))
+ if "darwin" in spec.architecture:
+ args.append(self.define("CMAKE_MACOSX_RPATH", True))
return args
diff --git a/var/spack/repos/builtin/packages/tippecanoe/package.py b/var/spack/repos/builtin/packages/tippecanoe/package.py
index da466e514f..5a19ca215e 100644
--- a/var/spack/repos/builtin/packages/tippecanoe/package.py
+++ b/var/spack/repos/builtin/packages/tippecanoe/package.py
@@ -11,13 +11,13 @@ class Tippecanoe(MakefilePackage):
"""Build vector tilesets from large collections of GeoJSON features."""
homepage = "https://github.com/mapbox/tippecanoe"
- url = "https://github.com/mapbox/tippecanoe/archive/1.34.3.tar.gz"
+ url = "https://github.com/mapbox/tippecanoe/archive/1.34.3.tar.gz"
- version('1.34.3', sha256='7a2dd2376a93d66a82c8253a46dbfcab3eaaaaca7bf503388167b9ee251bee54')
+ version("1.34.3", sha256="7a2dd2376a93d66a82c8253a46dbfcab3eaaaaca7bf503388167b9ee251bee54")
- depends_on('sqlite')
- depends_on('zlib')
+ depends_on("sqlite")
+ depends_on("zlib")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter(r'PREFIX \?= /usr/local', 'PREFIX = ' + self.prefix)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"PREFIX \?= /usr/local", "PREFIX = " + self.prefix)
diff --git a/var/spack/repos/builtin/packages/tiptop/package.py b/var/spack/repos/builtin/packages/tiptop/package.py
index 7ec0c2e9b4..ae0fff436a 100644
--- a/var/spack/repos/builtin/packages/tiptop/package.py
+++ b/var/spack/repos/builtin/packages/tiptop/package.py
@@ -10,12 +10,12 @@ class Tiptop(AutotoolsPackage):
"""Tiptop is a performance monitoring tool for Linux."""
homepage = "https://github.com/FeCastle/tiptop"
- git = "https://github.com/FeCastle/tiptop.git"
+ git = "https://github.com/FeCastle/tiptop.git"
- version('master', commit='529886d445ec32febad14246245372a8f244b3eb')
+ version("master", commit="529886d445ec32febad14246245372a8f244b3eb")
- depends_on('papi')
- depends_on('byacc', type='build')
- depends_on('flex', type='build')
+ depends_on("papi")
+ depends_on("byacc", type="build")
+ depends_on("flex", type="build")
- patch('NR_perf_counter_open_aarch64.patch', when='target=aarch64:')
+ patch("NR_perf_counter_open_aarch64.patch", when="target=aarch64:")
diff --git a/var/spack/repos/builtin/packages/tix/package.py b/var/spack/repos/builtin/packages/tix/package.py
index 40f906661b..4e3e72a29b 100644
--- a/var/spack/repos/builtin/packages/tix/package.py
+++ b/var/spack/repos/builtin/packages/tix/package.py
@@ -15,60 +15,76 @@ class Tix(AutotoolsPackage):
application."""
homepage = "https://sourceforge.net/projects/tix/"
- url = "https://sourceforge.net/projects/tix/files/tix/8.4.3/Tix8.4.3-src.tar.gz/download"
-
- version('8.4.3', sha256='562f040ff7657e10b5cffc2c41935f1a53c6402eb3d5f3189113d734fd6c03cb')
-
- extends('tcl', type=('build', 'link', 'run'))
- depends_on('tk', type=('build', 'link', 'run'))
-
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/panic.patch',
- sha256='1be1a1c7453f6ab8771f90d7e7c0f8959490104752a16a8755bbb7287a841a96',
- level=0)
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/implicit.patch',
- sha256='8a2720368c7757896814684147029d8318b9aa3b0914b3f37dd5e8a8603a61d3',
- level=0)
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-generic-tixGrSort.c.diff',
- sha256='99b33cc307f71bcf9cc6f5a44b588f22956884ce3f1e4c716ad64c79cf9c5f41',
- level=0)
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-missing-headers.diff',
- sha256='d9f789dcfe5f4c5ee4589a18f9f410cdf162e41d35d00648c1ef37831f4a2b2b',
- level=0)
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-tk_x11.diff',
- sha256='1e28d8eee1aaa956a00571cf495a4775e72a993958dff1cabfbc5f102e327a6f',
- level=0)
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-tk_aqua.diff',
- sha256='41a717f5d95f61b4b8196ca6f14ece8f4764d4ba58fb2e1ae15e3240ee5ac534',
- level=0, when='platform=darwin')
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-dyld_variable.diff',
- sha256='719eb2e4d8c5d6aae897e5f676cf5ed1a0005c1bd07fd9b18705d81a005f592b',
- level=0, when='platform=darwin')
+ url = "https://sourceforge.net/projects/tix/files/tix/8.4.3/Tix8.4.3-src.tar.gz/download"
+
+ version("8.4.3", sha256="562f040ff7657e10b5cffc2c41935f1a53c6402eb3d5f3189113d734fd6c03cb")
+
+ extends("tcl", type=("build", "link", "run"))
+ depends_on("tk", type=("build", "link", "run"))
+
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/panic.patch",
+ sha256="1be1a1c7453f6ab8771f90d7e7c0f8959490104752a16a8755bbb7287a841a96",
+ level=0,
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/implicit.patch",
+ sha256="8a2720368c7757896814684147029d8318b9aa3b0914b3f37dd5e8a8603a61d3",
+ level=0,
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-generic-tixGrSort.c.diff",
+ sha256="99b33cc307f71bcf9cc6f5a44b588f22956884ce3f1e4c716ad64c79cf9c5f41",
+ level=0,
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-missing-headers.diff",
+ sha256="d9f789dcfe5f4c5ee4589a18f9f410cdf162e41d35d00648c1ef37831f4a2b2b",
+ level=0,
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-tk_x11.diff",
+ sha256="1e28d8eee1aaa956a00571cf495a4775e72a993958dff1cabfbc5f102e327a6f",
+ level=0,
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-tk_aqua.diff",
+ sha256="41a717f5d95f61b4b8196ca6f14ece8f4764d4ba58fb2e1ae15e3240ee5ac534",
+ level=0,
+ when="platform=darwin",
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tix/files/patch-dyld_variable.diff",
+ sha256="719eb2e4d8c5d6aae897e5f676cf5ed1a0005c1bd07fd9b18705d81a005f592b",
+ level=0,
+ when="platform=darwin",
+ )
def configure_args(self):
spec = self.spec
args = [
- '--with-tcl={0}'.format(spec['tcl'].libs.directories[0]),
- '--with-tk={0}'.format(spec['tk'].libs.directories[0]),
- '--exec-prefix={0}'.format(self.prefix),
+ "--with-tcl={0}".format(spec["tcl"].libs.directories[0]),
+ "--with-tk={0}".format(spec["tk"].libs.directories[0]),
+ "--exec-prefix={0}".format(self.prefix),
]
return args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if 'platform=darwin' in self.spec:
+ if "platform=darwin" in self.spec:
fix_darwin_install_name(self.prefix.lib.Tix + str(self.version))
def test(self):
test_data_dir = self.test_suite.current_test_data_dir
- test_file = test_data_dir.join('test.tcl')
- self.run_test(self.spec['tcl'].command.path, test_file,
- purpose='test that tix can be loaded')
+ test_file = test_data_dir.join("test.tcl")
+ self.run_test(
+ self.spec["tcl"].command.path, test_file, purpose="test that tix can be loaded"
+ )
@property
def libs(self):
- return find_libraries(['libTix{0}'.format(self.version)],
- root=self.prefix, recursive=True)
+ return find_libraries(["libTix{0}".format(self.version)], root=self.prefix, recursive=True)
def setup_run_environment(self, env):
"""Set TIX_LIBRARY to the directory containing Tix.tcl.
@@ -79,7 +95,7 @@ class Tix(AutotoolsPackage):
"""
# When using tkinter.tix from within spack provided python+tkinter+tix,
# python will not be able to find Tix unless TIX_LIBRARY is set.
- env.set('TIX_LIBRARY', os.path.dirname(find(self.prefix, 'Tix.tcl')[0]))
+ env.set("TIX_LIBRARY", os.path.dirname(find(self.prefix, "Tix.tcl")[0]))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set TIX_LIBRARY to the directory containing Tix.tcl.
@@ -88,4 +104,4 @@ class Tix(AutotoolsPackage):
* http://tix.sourceforge.net/docs/pdf/TixUser.pdf
"""
- env.set('TIX_LIBRARY', os.path.dirname(find(self.prefix, 'Tix.tcl')[0]))
+ env.set("TIX_LIBRARY", os.path.dirname(find(self.prefix, "Tix.tcl")[0]))
diff --git a/var/spack/repos/builtin/packages/tixi/package.py b/var/spack/repos/builtin/packages/tixi/package.py
index e16fcd2c3d..66fefa2d94 100644
--- a/var/spack/repos/builtin/packages/tixi/package.py
+++ b/var/spack/repos/builtin/packages/tixi/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Tixi(CMakePackage):
"""TiXI is a fast and simple XML interface library and could be used
- from applications written in C, C++, Fortran, JAVA and Python. """
+ from applications written in C, C++, Fortran, JAVA and Python."""
homepage = "https://github.com/DLR-SC/tixi"
- url = "https://github.com/DLR-SC/tixi/archive/v3.0.3.tar.gz"
- git = "https://github.com/DLR-SC/tixi.git"
+ url = "https://github.com/DLR-SC/tixi/archive/v3.0.3.tar.gz"
+ git = "https://github.com/DLR-SC/tixi.git"
- version('3.3.0', sha256='988d79ccd53c815d382cff0c244c0bb8e393986377dfb45385792766adf6f6a9')
- version('3.2.0', sha256='8df65c4d252d56e98c5ef2657c7aff6086a07b5686716e786891609adaca9d2d')
- version('3.1.0', sha256='4547133e452f3455b5a39045a8528955dce55faf059afe652a350ecf37d709ba')
- version('3.0.3', sha256='3584e0cec6ab811d74fb311a9af0663736b1d7f11b81015fcb378efaf5ad3589')
- version('2.2.4', sha256='9080d2a617b7c411b9b4086de23998ce86e261b88075f38c73d3ce25da94b21c')
+ version("3.3.0", sha256="988d79ccd53c815d382cff0c244c0bb8e393986377dfb45385792766adf6f6a9")
+ version("3.2.0", sha256="8df65c4d252d56e98c5ef2657c7aff6086a07b5686716e786891609adaca9d2d")
+ version("3.1.0", sha256="4547133e452f3455b5a39045a8528955dce55faf059afe652a350ecf37d709ba")
+ version("3.0.3", sha256="3584e0cec6ab811d74fb311a9af0663736b1d7f11b81015fcb378efaf5ad3589")
+ version("2.2.4", sha256="9080d2a617b7c411b9b4086de23998ce86e261b88075f38c73d3ce25da94b21c")
- depends_on('python', type='build')
- depends_on('expat')
- depends_on('curl')
- depends_on('libxml2')
- depends_on('libxslt')
+ depends_on("python", type="build")
+ depends_on("expat")
+ depends_on("curl")
+ depends_on("libxml2")
+ depends_on("libxslt")
diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py
index 29e217bde7..5a9c741fbb 100644
--- a/var/spack/repos/builtin/packages/tk/package.py
+++ b/var/spack/repos/builtin/packages/tk/package.py
@@ -17,79 +17,86 @@ class Tk(AutotoolsPackage, SourceforgePackage):
homepage = "https://www.tcl.tk"
sourceforge_mirror_path = "tcl/tk8.6.5-src.tar.gz"
- version('8.6.11', sha256='5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282')
- version('8.6.10', sha256='63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386')
- version('8.6.8', sha256='49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33')
- version('8.6.6', sha256='d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d')
- version('8.6.5', sha256='fbbd93541b4cd467841208643b4014c4543a54c3597586727f0ab128220d7946')
- version('8.6.3', sha256='ba15d56ac27d8c0a7b1a983915a47e0f635199b9473cf6e10fbce1fc73fd8333')
- version('8.5.19', sha256='407af1de167477d598bd6166d84459a3bdccc2fb349360706154e646a9620ffa')
+ version("8.6.11", sha256="5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282")
+ version("8.6.10", sha256="63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386")
+ version("8.6.8", sha256="49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33")
+ version("8.6.6", sha256="d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d")
+ version("8.6.5", sha256="fbbd93541b4cd467841208643b4014c4543a54c3597586727f0ab128220d7946")
+ version("8.6.3", sha256="ba15d56ac27d8c0a7b1a983915a47e0f635199b9473cf6e10fbce1fc73fd8333")
+ version("8.5.19", sha256="407af1de167477d598bd6166d84459a3bdccc2fb349360706154e646a9620ffa")
- variant('xft', default=True, description='Enable X FreeType')
- variant('xss', default=True, description='Enable X Screen Saver')
+ variant("xft", default=True, description="Enable X FreeType")
+ variant("xss", default=True, description="Enable X Screen Saver")
- extends('tcl', type=('build', 'link', 'run'))
+ extends("tcl", type=("build", "link", "run"))
- depends_on('tcl@8.6:', type=('build', 'link', 'run'), when='@8.6:')
- depends_on('libx11')
- depends_on('libxft', when='+xft')
- depends_on('libxscrnsaver', when='+xss')
+ depends_on("tcl@8.6:", type=("build", "link", "run"), when="@8.6:")
+ depends_on("libx11")
+ depends_on("libxft", when="+xft")
+ depends_on("libxscrnsaver", when="+xss")
- configure_directory = 'unix'
+ configure_directory = "unix"
# https://core.tcl-lang.org/tk/tktview/3598664fffffffffffff
# https://core.tcl-lang.org/tk/info/8b679f597b1d17ad
# https://core.tcl-lang.org/tk/info/997b17c343444e48
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tk/files/patch-unix-Makefile.in.diff',
- sha256='54bba3d2b3550b7e2c636881c1a3acaf6e1eb743f314449a132864ff47fd0010',
- level=0, when='@:8.6.11 platform=darwin')
- patch('https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tk/files/patch-dyld_fallback_library_path.diff',
- sha256='9ce6512f1928db9987986f4d3540207c39429395d5234bd6489ba9d86a6d9c31',
- level=0, when='platform=darwin')
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tk/files/patch-unix-Makefile.in.diff",
+ sha256="54bba3d2b3550b7e2c636881c1a3acaf6e1eb743f314449a132864ff47fd0010",
+ level=0,
+ when="@:8.6.11 platform=darwin",
+ )
+ patch(
+ "https://raw.githubusercontent.com/macports/macports-ports/v2.7.0-archive/x11/tk/files/patch-dyld_fallback_library_path.diff",
+ sha256="9ce6512f1928db9987986f4d3540207c39429395d5234bd6489ba9d86a6d9c31",
+ level=0,
+ when="platform=darwin",
+ )
def configure_args(self):
spec = self.spec
config_args = [
- '--with-tcl={0}'.format(spec['tcl'].libs.directories[0]),
- '--x-includes={0}'.format(spec['libx11'].headers.directories[0]),
- '--x-libraries={0}'.format(spec['libx11'].libs.directories[0])
+ "--with-tcl={0}".format(spec["tcl"].libs.directories[0]),
+ "--x-includes={0}".format(spec["libx11"].headers.directories[0]),
+ "--x-libraries={0}".format(spec["libx11"].libs.directories[0]),
]
- config_args += self.enable_or_disable('xft')
- config_args += self.enable_or_disable('xss')
+ config_args += self.enable_or_disable("xft")
+ config_args += self.enable_or_disable("xss")
return config_args
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('install')
+ make("install")
# Some applications like Expect require private Tk headers.
- make('install-private-headers')
+ make("install-private-headers")
# Copy source to install tree
- installed_src = join_path(
- self.spec.prefix, 'share', self.name, 'src')
+ installed_src = join_path(self.spec.prefix, "share", self.name, "src")
stage_src = os.path.realpath(self.stage.source_path)
install_tree(stage_src, installed_src)
# Replace stage dir -> installed src dir in tkConfig
filter_file(
- stage_src, installed_src,
- join_path(self.spec['tk'].libs.directories[0], 'tkConfig.sh'))
+ stage_src,
+ installed_src,
+ join_path(self.spec["tk"].libs.directories[0], "tkConfig.sh"),
+ )
- @run_after('install')
+ @run_after("install")
def symlink_wish(self):
with working_dir(self.prefix.bin):
- symlink('wish{0}'.format(self.version.up_to(2)), 'wish')
+ symlink("wish{0}".format(self.version.up_to(2)), "wish")
def test(self):
- self.run_test(self.spec['tk'].command.path, ['-h'],
- purpose='test wish command')
+ self.run_test(self.spec["tk"].command.path, ["-h"], purpose="test wish command")
test_data_dir = self.test_suite.current_test_data_dir
- test_file = test_data_dir.join('test.tcl')
- self.run_test(self.spec['tcl'].command.path, test_file,
- purpose='test that tk can be loaded')
+ test_file = test_data_dir.join("test.tcl")
+ self.run_test(
+ self.spec["tcl"].command.path, test_file, purpose="test that tk can be loaded"
+ )
@property
def command(self):
@@ -101,13 +108,15 @@ class Tk(AutotoolsPackage, SourceforgePackage):
# Although we symlink wishX.Y to wish, we also need to support external
# installations that may not have this symlink, or may have multiple versions
# of Tk installed in the same directory.
- return Executable(os.path.realpath(self.prefix.bin.join(
- 'wish{0}'.format(self.version.up_to(2)))))
+ return Executable(
+ os.path.realpath(self.prefix.bin.join("wish{0}".format(self.version.up_to(2))))
+ )
@property
def libs(self):
- return find_libraries(['libtk{0}'.format(self.version.up_to(2))],
- root=self.prefix, recursive=True)
+ return find_libraries(
+ ["libtk{0}".format(self.version.up_to(2))], root=self.prefix, recursive=True
+ )
def setup_run_environment(self, env):
"""Set TK_LIBRARY to the directory containing tk.tcl.
@@ -118,7 +127,7 @@ class Tk(AutotoolsPackage, SourceforgePackage):
"""
# When using tkinter from within spack provided python+tkinter,
# python will not be able to find Tk unless TK_LIBRARY is set.
- env.set('TK_LIBRARY', os.path.dirname(sorted(find(self.prefix, 'tk.tcl'))[0]))
+ env.set("TK_LIBRARY", os.path.dirname(sorted(find(self.prefix, "tk.tcl"))[0]))
def setup_dependent_build_environment(self, env, dependent_spec):
"""Set TK_LIBRARY to the directory containing tk.tcl.
@@ -127,4 +136,4 @@ class Tk(AutotoolsPackage, SourceforgePackage):
* https://www.tcl-lang.org/man/tcl/TkCmd/tkvars.htm
"""
- env.set('TK_LIBRARY', os.path.dirname(sorted(find(self.prefix, 'tk.tcl'))[0]))
+ env.set("TK_LIBRARY", os.path.dirname(sorted(find(self.prefix, "tk.tcl"))[0]))
diff --git a/var/spack/repos/builtin/packages/tkrzw/package.py b/var/spack/repos/builtin/packages/tkrzw/package.py
index 69438de3cc..7459b1bb6d 100644
--- a/var/spack/repos/builtin/packages/tkrzw/package.py
+++ b/var/spack/repos/builtin/packages/tkrzw/package.py
@@ -10,79 +10,81 @@ class Tkrzw(AutotoolsPackage):
"""Tkrzw is a C++ library implementing database managers with various algorithms."""
homepage = "https://dbmx.net/tkrzw/"
- url = "https://dbmx.net/tkrzw/pkg/tkrzw-0.9.22.tar.gz"
- git = "https://github.com/estraier/tkrzw.git"
+ url = "https://dbmx.net/tkrzw/pkg/tkrzw-0.9.22.tar.gz"
+ git = "https://github.com/estraier/tkrzw.git"
- version('master', branch='master')
- version('0.9.44', sha256='088ac619fbf7fc22c110674b3f8fe8d8573a1d7088e5616b268fd9f68ba25650')
- version('0.9.43', sha256='60f7b579edb4f911ecaf35ff6c07f53b3d566424d8bf179b1991ade5071f0bbc')
- version('0.9.42', sha256='135fb404d5a1b0bcee717f8e648a6f5ff140ec30069fecfde3b380f611356535')
- version('0.9.41', sha256='76e68fb9a7c34eb927224a4a2b755ba4040e7066a42cf930c4f7bc2656c11d83')
- version('0.9.40', sha256='3da034215aabeb371f7553a3e54d2b20ec63d3aa391cef3cef36ba40da7f4bb4')
- version('0.9.39', sha256='a64eea9b05305877c936fb3b231f8924264319ee187545771c56fd08f67af6a8')
- version('0.9.38', sha256='8036a40e2f4d13312ce33ed6bef0121525f1e7acf96900a5540ef3c633cfcf64')
- version('0.9.37', sha256='cf1f1cd5d5e8826f44560ede56b135d396236d843fcf485f2c9feb5ca27e373b')
- version('0.9.36', sha256='370e41b0b10c8b50f8dbe686a2fcb4efad53cfe26dd72739bc8f72ec3f480829')
- version('0.9.35', sha256='5a1703a895f51948a3648ddbe7944dc28593c6746e93eadcd52bf0acd9ad5490')
- version('0.9.34', sha256='0e236e5381400855f678154b794e9e7c33db7677f40e5241dd39e56fcfa640a7')
- version('0.9.33', sha256='ea78e1a0042af8fa447184752e0ee0476a6074ffb77c880337b38d580b734abb')
- version('0.9.32', sha256='be70ad680e5807406e1962133c97da5fdda7ed62df0b2e8d2446bd1daf728f03')
- version('0.9.31', sha256='624f8c03282cd06f46fa4270eb4717680f4779a2b4338c1bbe8b2ea8fb2b48cb')
- version('0.9.30', sha256='fea33337f0115f600afaedf872a828a4f516f4d86e6f6db7a648b03682b2499f')
- version('0.9.29', sha256='120e5d471cd60f9f6c1b7eb25391dd055c4be12b8332124032b0489ad13c6989')
- version('0.9.28', sha256='b2d363c7fa12a44d8f8d38cf97fbeb1bc068b2fcc1de7b628b2c20a22256fce3')
- version('0.9.27', sha256='69d8e7cc998c7f33d6208df721bd5449f2bbf15b1af79186a17864ea36c522f0')
- version('0.9.26', sha256='ee33d48b6aa071db37e4297b478bf5731d9a1289e83ca6c61afaafea78e13387')
- version('0.9.25', sha256='6e2ba961d6963d1d0c572a3a3493dee655202007b133efc25f10b85dfc5f182d')
- version('0.9.24', sha256='23ee06d5d1e359d7c40c834850751a55e5b19c34a4c086e90df1c7bfac7bd4ea')
- version('0.9.23', sha256='43ba9e79b19fe782adf9abfaef7aa40811379ec98c3682313913d07cc9eb29c6')
- version('0.9.22', sha256='f892dcabc87d53086a7c1db129d05dda9c1e6b341d94d438daa8bf6a9e55407c')
- version('0.9.21', sha256='47211285fe41b5697d67eb4c22e850109acb4c657ebbaaf7eb815d3aac5bcc99')
- version('0.9.20', sha256='6750c8539a0c874c2ae673f852b47373f3d688365bd0ef97abb857b02a84095f')
- version('0.9.19', sha256='77c456368c0a0e241a87075bfe6f24a945fd603be5b5c63f6ae8af6f3aa87b3a')
- version('0.9.18', sha256='f1b4151aa932b413380290ab63117ff824006aef6812a6f854a5112969de52c8')
- version('0.9.17', sha256='aa2d40babf275a0b97d81706defaaa5c974724b3c8ffa028b9b46367fe151522')
- version('0.9.16', sha256='2380b3de12ffea78d59249fb3ac3a2b16a4422b3a3282d0afcf450286dc3622d')
- version('0.9.15', sha256='1e0e858c625804ae77c9386d5ded42c62211a356406d9264a4a37473d2f958cd')
- version('0.9.14', sha256='57671a539bb9c0a223e8117c83053aa43fa9050e9231ebef7c6411f65cdaeaa6')
- version('0.9.13', sha256='a6806fd30443cc2bed4539437bd8858b14a38fc81825fe4c49e754b7c133c866')
- version('0.9.12', sha256='6d45a28015012763e55e959a71e6a0a31f808f4f2867784c750f96e16aa50c8b')
- version('0.9.11', sha256='1d93a6966f9ab1f15568ee3d53ac54809f4b73230d0062b4ad65ebb6578f302e')
- version('0.9.10', sha256='6956a33d1ccfca1c290851dc74c625dd6a3c8dc246264c8d686ad89d58f58b25')
- version('0.9.9', sha256='e16cd6b10ce4d97a59958a205ffce7b0db09f49f1b18c437a869fa0ae1279b81')
- version('0.9.8', sha256='5ee485c12060963b49963242545eb28524f8917e27db02def220d35edbba4fa5')
- version('0.9.7', sha256='90e0244b5b67d6142cbe3186564e39676d06024203c34a492b73b17561067a95')
- version('0.9.6', sha256='6194d9fb4c9cb565e05d1fdd0569bd25ba26a987f037aeee226d35145a54d0c2')
- version('0.9.5', sha256='02da0da3f43cc4932851b1b00174acd0835becfda966d5a9f874dc2205e1fb52')
- version('0.9.4', sha256='727a52fc706ee28ef45a0fd6bce8c08911365dd016ccdb4cce7ad3a595b7c0ed')
- version('0.9.3', sha256='945b978402425de6f4cb156544ddf34d928b28100ff93d931816eec3b51be9aa')
- version('0.9.2', sha256='9040af148ab3f35c6f1d4c83f2eba8b68625dbd760f2c0537a9981dbc9bbc661')
- version('0.9.1', sha256='1062502f93d4a9b387372d89265a9ede1704c6bcadd9aac23f5fc8383e26045a')
+ version("master", branch="master")
+ version("0.9.44", sha256="088ac619fbf7fc22c110674b3f8fe8d8573a1d7088e5616b268fd9f68ba25650")
+ version("0.9.43", sha256="60f7b579edb4f911ecaf35ff6c07f53b3d566424d8bf179b1991ade5071f0bbc")
+ version("0.9.42", sha256="135fb404d5a1b0bcee717f8e648a6f5ff140ec30069fecfde3b380f611356535")
+ version("0.9.41", sha256="76e68fb9a7c34eb927224a4a2b755ba4040e7066a42cf930c4f7bc2656c11d83")
+ version("0.9.40", sha256="3da034215aabeb371f7553a3e54d2b20ec63d3aa391cef3cef36ba40da7f4bb4")
+ version("0.9.39", sha256="a64eea9b05305877c936fb3b231f8924264319ee187545771c56fd08f67af6a8")
+ version("0.9.38", sha256="8036a40e2f4d13312ce33ed6bef0121525f1e7acf96900a5540ef3c633cfcf64")
+ version("0.9.37", sha256="cf1f1cd5d5e8826f44560ede56b135d396236d843fcf485f2c9feb5ca27e373b")
+ version("0.9.36", sha256="370e41b0b10c8b50f8dbe686a2fcb4efad53cfe26dd72739bc8f72ec3f480829")
+ version("0.9.35", sha256="5a1703a895f51948a3648ddbe7944dc28593c6746e93eadcd52bf0acd9ad5490")
+ version("0.9.34", sha256="0e236e5381400855f678154b794e9e7c33db7677f40e5241dd39e56fcfa640a7")
+ version("0.9.33", sha256="ea78e1a0042af8fa447184752e0ee0476a6074ffb77c880337b38d580b734abb")
+ version("0.9.32", sha256="be70ad680e5807406e1962133c97da5fdda7ed62df0b2e8d2446bd1daf728f03")
+ version("0.9.31", sha256="624f8c03282cd06f46fa4270eb4717680f4779a2b4338c1bbe8b2ea8fb2b48cb")
+ version("0.9.30", sha256="fea33337f0115f600afaedf872a828a4f516f4d86e6f6db7a648b03682b2499f")
+ version("0.9.29", sha256="120e5d471cd60f9f6c1b7eb25391dd055c4be12b8332124032b0489ad13c6989")
+ version("0.9.28", sha256="b2d363c7fa12a44d8f8d38cf97fbeb1bc068b2fcc1de7b628b2c20a22256fce3")
+ version("0.9.27", sha256="69d8e7cc998c7f33d6208df721bd5449f2bbf15b1af79186a17864ea36c522f0")
+ version("0.9.26", sha256="ee33d48b6aa071db37e4297b478bf5731d9a1289e83ca6c61afaafea78e13387")
+ version("0.9.25", sha256="6e2ba961d6963d1d0c572a3a3493dee655202007b133efc25f10b85dfc5f182d")
+ version("0.9.24", sha256="23ee06d5d1e359d7c40c834850751a55e5b19c34a4c086e90df1c7bfac7bd4ea")
+ version("0.9.23", sha256="43ba9e79b19fe782adf9abfaef7aa40811379ec98c3682313913d07cc9eb29c6")
+ version("0.9.22", sha256="f892dcabc87d53086a7c1db129d05dda9c1e6b341d94d438daa8bf6a9e55407c")
+ version("0.9.21", sha256="47211285fe41b5697d67eb4c22e850109acb4c657ebbaaf7eb815d3aac5bcc99")
+ version("0.9.20", sha256="6750c8539a0c874c2ae673f852b47373f3d688365bd0ef97abb857b02a84095f")
+ version("0.9.19", sha256="77c456368c0a0e241a87075bfe6f24a945fd603be5b5c63f6ae8af6f3aa87b3a")
+ version("0.9.18", sha256="f1b4151aa932b413380290ab63117ff824006aef6812a6f854a5112969de52c8")
+ version("0.9.17", sha256="aa2d40babf275a0b97d81706defaaa5c974724b3c8ffa028b9b46367fe151522")
+ version("0.9.16", sha256="2380b3de12ffea78d59249fb3ac3a2b16a4422b3a3282d0afcf450286dc3622d")
+ version("0.9.15", sha256="1e0e858c625804ae77c9386d5ded42c62211a356406d9264a4a37473d2f958cd")
+ version("0.9.14", sha256="57671a539bb9c0a223e8117c83053aa43fa9050e9231ebef7c6411f65cdaeaa6")
+ version("0.9.13", sha256="a6806fd30443cc2bed4539437bd8858b14a38fc81825fe4c49e754b7c133c866")
+ version("0.9.12", sha256="6d45a28015012763e55e959a71e6a0a31f808f4f2867784c750f96e16aa50c8b")
+ version("0.9.11", sha256="1d93a6966f9ab1f15568ee3d53ac54809f4b73230d0062b4ad65ebb6578f302e")
+ version("0.9.10", sha256="6956a33d1ccfca1c290851dc74c625dd6a3c8dc246264c8d686ad89d58f58b25")
+ version("0.9.9", sha256="e16cd6b10ce4d97a59958a205ffce7b0db09f49f1b18c437a869fa0ae1279b81")
+ version("0.9.8", sha256="5ee485c12060963b49963242545eb28524f8917e27db02def220d35edbba4fa5")
+ version("0.9.7", sha256="90e0244b5b67d6142cbe3186564e39676d06024203c34a492b73b17561067a95")
+ version("0.9.6", sha256="6194d9fb4c9cb565e05d1fdd0569bd25ba26a987f037aeee226d35145a54d0c2")
+ version("0.9.5", sha256="02da0da3f43cc4932851b1b00174acd0835becfda966d5a9f874dc2205e1fb52")
+ version("0.9.4", sha256="727a52fc706ee28ef45a0fd6bce8c08911365dd016ccdb4cce7ad3a595b7c0ed")
+ version("0.9.3", sha256="945b978402425de6f4cb156544ddf34d928b28100ff93d931816eec3b51be9aa")
+ version("0.9.2", sha256="9040af148ab3f35c6f1d4c83f2eba8b68625dbd760f2c0537a9981dbc9bbc661")
+ version("0.9.1", sha256="1062502f93d4a9b387372d89265a9ede1704c6bcadd9aac23f5fc8383e26045a")
- variant('compression',
- values=any_combination_of('zlib', 'lz4', 'lzma', 'zstd'),
- description='List of supported compression backends')
+ variant(
+ "compression",
+ values=any_combination_of("zlib", "lz4", "lzma", "zstd"),
+ description="List of supported compression backends",
+ )
- depends_on('zlib', when='compression=zlib')
- depends_on('lz4', when='compression=lz4')
- depends_on('xz', when='compression=lzma') # lzma.h is in the xz package, not in lzma
- depends_on('zstd', when='compression=zstd')
+ depends_on("zlib", when="compression=zlib")
+ depends_on("lz4", when="compression=lz4")
+ depends_on("xz", when="compression=lzma") # lzma.h is in the xz package, not in lzma
+ depends_on("zstd", when="compression=zstd")
- conflicts('compression=zlib', when='@:0.9.29')
- conflicts('compression=lz4', when='@:0.9.29')
- conflicts('compression=lzma', when='@:0.9.29')
- conflicts('compression=zstd', when='@:0.9.29')
- conflicts('%gcc@:7.2.0') # need C++17 standard
+ conflicts("compression=zlib", when="@:0.9.29")
+ conflicts("compression=lz4", when="@:0.9.29")
+ conflicts("compression=lzma", when="@:0.9.29")
+ conflicts("compression=zstd", when="@:0.9.29")
+ conflicts("%gcc@:7.2.0") # need C++17 standard
def configure_args(self):
spec = self.spec
args = []
- if 'compression=zlib' in spec:
- args.append('--enable-zlib')
- if 'compression=lz4' in spec:
- args.append('--enable-lz4')
- if 'compression=lzma' in spec:
- args.append('--enable-lzma')
- if 'compression=zstd' in spec:
- args.append('--enable-zstd')
+ if "compression=zlib" in spec:
+ args.append("--enable-zlib")
+ if "compression=lz4" in spec:
+ args.append("--enable-lz4")
+ if "compression=lzma" in spec:
+ args.append("--enable-lzma")
+ if "compression=zstd" in spec:
+ args.append("--enable-zstd")
return args
diff --git a/var/spack/repos/builtin/packages/tldd/package.py b/var/spack/repos/builtin/packages/tldd/package.py
index e40c92d443..931ce99c0f 100644
--- a/var/spack/repos/builtin/packages/tldd/package.py
+++ b/var/spack/repos/builtin/packages/tldd/package.py
@@ -10,19 +10,16 @@ class Tldd(MakefilePackage):
"""A program similar to ldd(1) but showing the output as a tree."""
homepage = "https://gitlab.com/miscripts/tldd"
- git = "https://gitlab.com/miscripts/tldd.git"
+ git = "https://gitlab.com/miscripts/tldd.git"
- version('2018-10-05', commit='61cb512cc992ea6cbb7239e99ec7ac92ea072507')
- version('master', branch='master')
+ version("2018-10-05", commit="61cb512cc992ea6cbb7239e99ec7ac92ea072507")
+ version("master", branch="master")
- depends_on('pstreams@0.8.0:')
+ depends_on("pstreams@0.8.0:")
def patch(self):
- filter_file(
- r'#include <pstreams/pstream.h>',
- r'#include <pstream.h>',
- 'tldd.cc')
+ filter_file(r"#include <pstreams/pstream.h>", r"#include <pstream.h>", "tldd.cc")
@property
def install_targets(self):
- return ['install', 'PREFIX={0}'.format(self.prefix)]
+ return ["install", "PREFIX={0}".format(self.prefix)]
diff --git a/var/spack/repos/builtin/packages/tmalign/package.py b/var/spack/repos/builtin/packages/tmalign/package.py
index 20b36d39fa..5ecb005d7f 100644
--- a/var/spack/repos/builtin/packages/tmalign/package.py
+++ b/var/spack/repos/builtin/packages/tmalign/package.py
@@ -8,13 +8,15 @@ from spack.package import *
class Tmalign(Package):
"""TM-align is an algorithm for sequence-order independent protein
- structure comparisons."""
+ structure comparisons."""
homepage = "https://zhanglab.ccmb.med.umich.edu/TM-align"
- url = "http://zhanglab.ccmb.med.umich.edu/TM-align/TM-align-C/TMalignc.tar.gz"
+ url = "http://zhanglab.ccmb.med.umich.edu/TM-align/TM-align-C/TMalignc.tar.gz"
- version('2016-05-25', sha256='ce7f68289f3766d525afb0a58e3acfc28ae05f538d152bd33d57f8708c60e2af')
+ version(
+ "2016-05-25", sha256="ce7f68289f3766d525afb0a58e3acfc28ae05f538d152bd33d57f8708c60e2af"
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('TMalign', prefix.bin)
+ install("TMalign", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/tmhmm/package.py b/var/spack/repos/builtin/packages/tmhmm/package.py
index 929557ef9f..b871f0d9e9 100644
--- a/var/spack/repos/builtin/packages/tmhmm/package.py
+++ b/var/spack/repos/builtin/packages/tmhmm/package.py
@@ -11,29 +11,27 @@ from spack.package import *
class Tmhmm(Package):
"""Transmembrane helices in proteins
- Note: A manual download is required for TMHMM.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for TMHMM.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?tmhmm"
- url = "file://{0}/tmhmm-2.0c.Linux.tar.gz".format(os.getcwd())
+ url = "file://{0}/tmhmm-2.0c.Linux.tar.gz".format(os.getcwd())
manual_download = True
- version('2.0c', '359db0c4ecf84d1ade5786abe844d54e')
+ version("2.0c", "359db0c4ecf84d1ade5786abe844d54e")
- depends_on('perl', type='run')
+ depends_on("perl", type="run")
def patch(self):
- with working_dir('bin'):
- tmhmm = FileFilter('tmhmmformat.pl')
- tmhmm.filter('#!/usr/local/bin/perl -w',
- '#!/usr/bin/env perl')
- tmhmm = FileFilter('tmhmm')
- tmhmm.filter('#!/usr/local/bin/perl',
- '#!/usr/bin/env perl')
+ with working_dir("bin"):
+ tmhmm = FileFilter("tmhmmformat.pl")
+ tmhmm.filter("#!/usr/local/bin/perl -w", "#!/usr/bin/env perl")
+ tmhmm = FileFilter("tmhmm")
+ tmhmm.filter("#!/usr/local/bin/perl", "#!/usr/bin/env perl")
def install(self, spec, prefix):
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/tmux/package.py b/var/spack/repos/builtin/packages/tmux/package.py
index c41ca22910..1ea367863a 100644
--- a/var/spack/repos/builtin/packages/tmux/package.py
+++ b/var/spack/repos/builtin/packages/tmux/package.py
@@ -16,54 +16,56 @@ class Tmux(AutotoolsPackage):
homepage = "https://tmux.github.io"
url = "https://github.com/tmux/tmux/releases/download/2.6/tmux-2.6.tar.gz"
- git = 'https://github.com/tmux/tmux.git'
+ git = "https://github.com/tmux/tmux.git"
- 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')
- version('2.6', sha256='b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8')
- version('2.5', sha256='ae135ec37c1bf6b7750a84e3a35e93d91033a806943e034521c8af51b12d95df')
- version('2.4', sha256='757d6b13231d0d9dd48404968fc114ac09e005d475705ad0cd4b7166f799b349')
- version('2.3', sha256='55313e132f0f42de7e020bf6323a1939ee02ab79c48634aa07475db41573852b')
- version('2.2', sha256='bc28541b64f99929fe8e3ae7a02291263f3c97730781201824c0f05d7c8e19e4')
- version('2.1', sha256='31564e7bf4bcef2defb3cb34b9e596bd43a3937cad9e5438701a81a5a9af6176')
- version('1.9a', sha256='c5e3b22b901cf109b20dab54a4a651f0471abd1f79f6039d79b250d21c2733f5')
- version('master', branch='master')
+ 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")
+ version("2.6", sha256="b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8")
+ version("2.5", sha256="ae135ec37c1bf6b7750a84e3a35e93d91033a806943e034521c8af51b12d95df")
+ version("2.4", sha256="757d6b13231d0d9dd48404968fc114ac09e005d475705ad0cd4b7166f799b349")
+ version("2.3", sha256="55313e132f0f42de7e020bf6323a1939ee02ab79c48634aa07475db41573852b")
+ version("2.2", sha256="bc28541b64f99929fe8e3ae7a02291263f3c97730781201824c0f05d7c8e19e4")
+ version("2.1", sha256="31564e7bf4bcef2defb3cb34b9e596bd43a3937cad9e5438701a81a5a9af6176")
+ version("1.9a", sha256="c5e3b22b901cf109b20dab54a4a651f0471abd1f79f6039d79b250d21c2733f5")
+ version("master", branch="master")
- variant('utf8proc', default=False, description='Build with UTF-8 support from utf8proc library')
- variant('static', default=False, description='Create a static build')
+ variant(
+ "utf8proc", default=False, description="Build with UTF-8 support from utf8proc library"
+ )
+ variant("static", default=False, description="Create a static build")
# used by configure to e.g. find libtinfo
- depends_on('pkgconfig', type='build')
- depends_on('libevent')
- depends_on('ncurses')
+ depends_on("pkgconfig", type="build")
+ depends_on("libevent")
+ depends_on("ncurses")
- depends_on('utf8proc', when='+utf8proc')
+ depends_on("utf8proc", when="+utf8proc")
- depends_on('automake', when='@master')
- depends_on('autoconf', when='@master')
+ depends_on("automake", when="@master")
+ depends_on("autoconf", when="@master")
- conflicts('+static', when='platform=darwin', msg='Static build not supported on MacOS')
+ conflicts("+static", when="platform=darwin", msg="Static build not supported on MacOS")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def autogen(self):
- if self.spec.satisfies('@master'):
- sh = which('sh')
- sh('autogen.sh')
+ if self.spec.satisfies("@master"):
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
options = []
- options.extend(self.enable_or_disable('utf8proc'))
- options.extend(self.enable_or_disable('static'))
+ options.extend(self.enable_or_disable("utf8proc"))
+ options.extend(self.enable_or_disable("static"))
return options
diff --git a/var/spack/repos/builtin/packages/tomcat/package.py b/var/spack/repos/builtin/packages/tomcat/package.py
index 49ed980293..ae5ca48b41 100644
--- a/var/spack/repos/builtin/packages/tomcat/package.py
+++ b/var/spack/repos/builtin/packages/tomcat/package.py
@@ -14,17 +14,17 @@ class Tomcat(Package):
"""
homepage = "https://tomcat.apache.org/"
- url = "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz"
+ url = "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz"
- version('9.0.30', sha256='43a9b268671bbd3aace427637fbf577e742b521901e111342321ae901478100b')
- version('9.0.29', sha256='1bf634413326ec96972fc1c3ac6666e8e4cab49ad3fc9f5e3228b85208d9c4b0')
- version('9.0.27', sha256='6616a150e1593ef1a622298aaef9b889db70c8ee5122d35ad52adfcda1084d10')
- version('9.0.26', sha256='b5430890d3b986d6b7ec6a6ef611f9451cbfa933b0a1a3dd48e2cd1f46a63381')
- version('9.0.24', sha256='22064138e25f7ab899802804775259a156c06770535b8ce93856beba13dfcf6d')
+ version("9.0.30", sha256="43a9b268671bbd3aace427637fbf577e742b521901e111342321ae901478100b")
+ version("9.0.29", sha256="1bf634413326ec96972fc1c3ac6666e8e4cab49ad3fc9f5e3228b85208d9c4b0")
+ version("9.0.27", sha256="6616a150e1593ef1a622298aaef9b889db70c8ee5122d35ad52adfcda1084d10")
+ version("9.0.26", sha256="b5430890d3b986d6b7ec6a6ef611f9451cbfa933b0a1a3dd48e2cd1f46a63381")
+ version("9.0.24", sha256="22064138e25f7ab899802804775259a156c06770535b8ce93856beba13dfcf6d")
def url_for_version(self, version):
url = "https://archive.apache.org/dist/tomcat/tomcat-9/v{0}/bin/apache-tomcat-{0}.tar.gz"
return url.format(version)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/toml11/package.py b/var/spack/repos/builtin/packages/toml11/package.py
index 0e9af2751a..6aaacdb108 100644
--- a/var/spack/repos/builtin/packages/toml11/package.py
+++ b/var/spack/repos/builtin/packages/toml11/package.py
@@ -12,18 +12,18 @@ class Toml11(CMakePackage):
only on C++ standard library."""
homepage = "https://github.com/ToruNiina/toml11"
- url = "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.7.1.tar.gz"
+ url = "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.7.1.tar.gz"
- maintainers = ['ashermancinelli', 'ToruNiina']
+ maintainers = ["ashermancinelli", "ToruNiina"]
- version('3.7.1', sha256='afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068')
- version('3.7.0', sha256='a0b6bec77c0e418eea7d270a4437510884f2fe8f61e7ab121729624f04c4b58e')
- version('3.6.1', sha256='ca4c390ed8da0d77ae6eca30e70ab0bf5cc92adfc1bc2f71a2066bc5656d8d96')
- version('3.6.0', sha256='39e8d651db346ae8c7e3b39d6338a37232b9af3bba36ade45b241bf105c2226c')
- version('3.5.0', sha256='fc613874c6e80dc740134a7353cf23c7f834b59cd601af84ab535ee16a53b1c3')
- version('3.4.0', sha256='bc6d733efd9216af8c119d8ac64a805578c79cc82b813e4d1d880ca128bd154d')
- version('3.3.1', sha256='0c1b29e1a2873a1b1f6d0865a2966a2d3fd9155aeccb6139cd5af22f70b0b08f')
- version('3.3.0', sha256='b29995475922fae3095445219d36733ef18976abdc85685d0804ee3ea04f09c0')
- version('3.2.1', sha256='370f17409cfcbf3f629728ed7ec2e1573544058615fb5d066f4f7c14693143a9')
- version('3.2.0', sha256='3d54cac38ea24477190e0535377e824bf06562970ef4d35b59aa9729437e1019')
- version('3.1.0', sha256='3a118f32e5343998f37be9807c72fd11c3168fe12a5b1abfdc0f1e60de6380a4')
+ version("3.7.1", sha256="afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068")
+ version("3.7.0", sha256="a0b6bec77c0e418eea7d270a4437510884f2fe8f61e7ab121729624f04c4b58e")
+ version("3.6.1", sha256="ca4c390ed8da0d77ae6eca30e70ab0bf5cc92adfc1bc2f71a2066bc5656d8d96")
+ version("3.6.0", sha256="39e8d651db346ae8c7e3b39d6338a37232b9af3bba36ade45b241bf105c2226c")
+ version("3.5.0", sha256="fc613874c6e80dc740134a7353cf23c7f834b59cd601af84ab535ee16a53b1c3")
+ version("3.4.0", sha256="bc6d733efd9216af8c119d8ac64a805578c79cc82b813e4d1d880ca128bd154d")
+ version("3.3.1", sha256="0c1b29e1a2873a1b1f6d0865a2966a2d3fd9155aeccb6139cd5af22f70b0b08f")
+ version("3.3.0", sha256="b29995475922fae3095445219d36733ef18976abdc85685d0804ee3ea04f09c0")
+ version("3.2.1", sha256="370f17409cfcbf3f629728ed7ec2e1573544058615fb5d066f4f7c14693143a9")
+ version("3.2.0", sha256="3d54cac38ea24477190e0535377e824bf06562970ef4d35b59aa9729437e1019")
+ version("3.1.0", sha256="3a118f32e5343998f37be9807c72fd11c3168fe12a5b1abfdc0f1e60de6380a4")
diff --git a/var/spack/repos/builtin/packages/tophat/package.py b/var/spack/repos/builtin/packages/tophat/package.py
index f1ec46f7f2..cd558eb76d 100644
--- a/var/spack/repos/builtin/packages/tophat/package.py
+++ b/var/spack/repos/builtin/packages/tophat/package.py
@@ -10,22 +10,22 @@ class Tophat(AutotoolsPackage):
"""Spliced read mapper for RNA-Seq."""
homepage = "https://ccb.jhu.edu/software/tophat/index.shtml"
- url = "https://github.com/infphilo/tophat/archive/v2.1.1.tar.gz"
+ url = "https://github.com/infphilo/tophat/archive/v2.1.1.tar.gz"
- version('2.1.2', sha256='15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1')
- version('2.1.1', sha256='991b1b7c840a5f5c4e9a15b2815983257d2b0748246af0b9094c7d07552b023e')
+ version("2.1.2", sha256="15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1")
+ version("2.1.1", sha256="991b1b7c840a5f5c4e9a15b2815983257d2b0748246af0b9094c7d07552b023e")
- depends_on('autoconf', type='build')
+ depends_on("autoconf", type="build")
# 2.1.1 only builds with automake@1.15.1. There's a patch here:
# https://github.com/spack/spack/pull/8244, which was incorporated
# upstream in 2.1.2, which is known to build with 1.16.1 and 1.15.1.
- depends_on('automake', type='build')
- depends_on('automake@1.15.1', when='@:2.1.1', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("automake", type="build")
+ depends_on("automake@1.15.1", when="@:2.1.1", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('boost@1.47:+exception+chrono+system+random+atomic+thread')
- depends_on('bowtie2', type='run')
+ depends_on("boost@1.47:+exception+chrono+system+random+atomic+thread")
+ depends_on("bowtie2", type="run")
parallel = False
@@ -33,4 +33,4 @@ class Tophat(AutotoolsPackage):
env.append_flags("CFLAGS", self.compiler.cxx98_flag)
def configure_args(self):
- return ["--with-boost={0}".format(self.spec['boost'].prefix)]
+ return ["--with-boost={0}".format(self.spec["boost"].prefix)]
diff --git a/var/spack/repos/builtin/packages/torque/package.py b/var/spack/repos/builtin/packages/torque/package.py
index 416f4a22ef..099c18384a 100644
--- a/var/spack/repos/builtin/packages/torque/package.py
+++ b/var/spack/repos/builtin/packages/torque/package.py
@@ -14,12 +14,12 @@ class Torque(Package):
homepage = "https://github.com/abarbu/torque"
has_code = False
- maintainers = ['sethrj']
+ maintainers = ["sethrj"]
- version('3.0.4')
- version('3.0.2')
+ version("3.0.4")
+ version("3.0.2")
- provides('pbs')
+ provides("pbs")
# TORQUE needs to be added as an external package to SPACK. For this, the
# config file packages.yaml needs to be adjusted:
@@ -33,5 +33,8 @@ class Torque(Package):
def install(self, spec, prefix):
raise InstallError(
- self.spec.format('{name} is not installable, you need to specify '
- 'it as an external package in packages.yaml'))
+ self.spec.format(
+ "{name} is not installable, you need to specify "
+ "it as an external package in packages.yaml"
+ )
+ )
diff --git a/var/spack/repos/builtin/packages/totalview/package.py b/var/spack/repos/builtin/packages/totalview/package.py
index 62d1d94ac0..70c64de321 100644
--- a/var/spack/repos/builtin/packages/totalview/package.py
+++ b/var/spack/repos/builtin/packages/totalview/package.py
@@ -20,79 +20,84 @@ class Totalview(Package):
be downloaded as a resource."""
homepage = "https://www.roguewave.com/products-services/totalview"
- maintainers = ['dshrader']
+ maintainers = ["dshrader"]
manual_download = True
license_required = True
- license_comment = '#'
- license_files = ['licenses/license.dat']
- license_vars = ['TV_LICENSE_FILE']
+ license_comment = "#"
+ license_files = ["licenses/license.dat"]
+ license_vars = ["TV_LICENSE_FILE"]
# As the install of Totalview is via multiple tarballs, the base install
# will be the documentation. The architecture-specific tarballs are added
# as resources dependent on the specific architecture used.
- version('2021.1.16',
- sha256='4c51c7b6ab6b6afa7635ba2e9fc3b0ef833806f775a0ad0da26b13d6320625dd')
- version('2019.2.18',
- sha256='09e5c554032af945f8cf147dd548421267e50e906cc9686fb5cd0e8e63fcf650')
+ version("2021.1.16", sha256="4c51c7b6ab6b6afa7635ba2e9fc3b0ef833806f775a0ad0da26b13d6320625dd")
+ version("2019.2.18", sha256="09e5c554032af945f8cf147dd548421267e50e906cc9686fb5cd0e8e63fcf650")
# Distributed with Totalview
- variant('memoryscape', default=True, description='Install memoryscape')
+ variant("memoryscape", default=True, description="Install memoryscape")
# Because the actual source tarball is architecture dependent, the main
# download is the documentation tarball and the source is downloaded as a
# resource once the target architecture is known.
resource(
- name='x86_64',
- url='totalview_{0}_linux_x86-64.tar'.format(version),
- destination='.',
- sha256='3b0ab078deff3654ddc912a004d256f1376978aa1c4dd5a8a41fa9fbb474d07c',
- when='@2019.2.18 target=x86_64:')
+ name="x86_64",
+ url="totalview_{0}_linux_x86-64.tar".format(version),
+ destination=".",
+ sha256="3b0ab078deff3654ddc912a004d256f1376978aa1c4dd5a8a41fa9fbb474d07c",
+ when="@2019.2.18 target=x86_64:",
+ )
resource(
- name='aarch64',
- url='totalview_{0}_linux_arm64.tar'.format(version),
- destination='.',
- sha256='3bbda1aa7c06ce82874c1517bf949c9f6cbd0f4c9ebe283d21f0643f6e724b6b',
- when='@2019.2.18 target=aarch64:')
+ name="aarch64",
+ url="totalview_{0}_linux_arm64.tar".format(version),
+ destination=".",
+ sha256="3bbda1aa7c06ce82874c1517bf949c9f6cbd0f4c9ebe283d21f0643f6e724b6b",
+ when="@2019.2.18 target=aarch64:",
+ )
resource(
- name='ppcle',
- url='totalview_{0}_linux_powerle.tar'.format(version),
- destination='.',
- sha256='c0e4dbf145312fc7143ad0b7e9474e653933581990e0b9d07237c73dbdff8365',
- when='@2019.2.18 target=ppc64le:')
+ name="ppcle",
+ url="totalview_{0}_linux_powerle.tar".format(version),
+ destination=".",
+ sha256="c0e4dbf145312fc7143ad0b7e9474e653933581990e0b9d07237c73dbdff8365",
+ when="@2019.2.18 target=ppc64le:",
+ )
resource(
- name='x86_64',
- url='totalview_{0}_linux_x86-64.tar'.format(version),
- destination='.',
- sha256='129e991d3ce4df9f9f04adbf79b62d3c2706d7732ec305f3d3c97a6b4d1f5a13',
- when='@2021.1.16 target=x86_64:')
+ name="x86_64",
+ url="totalview_{0}_linux_x86-64.tar".format(version),
+ destination=".",
+ sha256="129e991d3ce4df9f9f04adbf79b62d3c2706d7732ec305f3d3c97a6b4d1f5a13",
+ when="@2021.1.16 target=x86_64:",
+ )
resource(
- name='aarch64',
- url='totalview_{0}_linux_arm64.tar'.format(version),
- destination='.',
- sha256='d559c0e090b2a6b935986324a2f1b20c02c5a2991432b8305952c120db41cdb5',
- when='@2021.1.16 target=aarch64:')
+ name="aarch64",
+ url="totalview_{0}_linux_arm64.tar".format(version),
+ destination=".",
+ sha256="d559c0e090b2a6b935986324a2f1b20c02c5a2991432b8305952c120db41cdb5",
+ when="@2021.1.16 target=aarch64:",
+ )
resource(
- name='ppcle',
- url='totalview_{0}_linux_powerle.tar'.format(version),
- destination='.',
- sha256='88c6bf82bd0807f826e2920967b288ac40e9bc56554e55966dfea793bc9c2b0a',
- when='@2021.1.16 target=ppcle:')
+ name="ppcle",
+ url="totalview_{0}_linux_powerle.tar".format(version),
+ destination=".",
+ sha256="88c6bf82bd0807f826e2920967b288ac40e9bc56554e55966dfea793bc9c2b0a",
+ when="@2021.1.16 target=ppcle:",
+ )
def url_for_version(self, version):
return "file://{0}/totalview.{1}-doc.tar".format(os.getcwd(), version)
def setup_run_environment(self, env):
- env.prepend_path('PATH',
- join_path(self.prefix, 'toolworks',
- 'totalview.{0}'.format(self.version), 'bin'))
- env.prepend_path('TVROOT',
- join_path(self.prefix, 'toolworks',
- 'totalview.{0}'.format(self.version)))
- env.prepend_path('TVDSVRLAUNCHCMD', 'ssh')
+ env.prepend_path(
+ "PATH",
+ join_path(self.prefix, "toolworks", "totalview.{0}".format(self.version), "bin"),
+ )
+ env.prepend_path(
+ "TVROOT", join_path(self.prefix, "toolworks", "totalview.{0}".format(self.version))
+ )
+ env.prepend_path("TVDSVRLAUNCHCMD", "ssh")
def install(self, spec, prefix):
# Assemble install line
- install_cmd = which('./Install')
+ install_cmd = which("./Install")
arg_list = ["-agree", "-nosymlink", "-directory", "{0}".format(prefix)]
# Platform specification.
@@ -107,8 +112,7 @@ class Totalview(Package):
elif spec.target.family == "ppc64":
arg_list.extend(["-platform", "linux-power"])
else:
- raise InstallError('Architecture {0} not permitted!'
- .format(spec.target.family))
+ raise InstallError("Architecture {0} not permitted!".format(spec.target.family))
# Docs are the 'base' install used with every architecture.
install_cmd.exe.extend(arg_list)
@@ -117,10 +121,10 @@ class Totalview(Package):
# Run install script for totalview and memoryscape (optional).
with working_dir("./totalview.{0}".format(self.version)):
- install_cmd = which('./Install')
+ install_cmd = which("./Install")
arg_list.extend(["-install", "totalview"])
# If including memoryscape.
- if '+memoryscape' in spec:
+ if "+memoryscape" in spec:
arg_list.append("memoryscape")
install_cmd.exe.extend(arg_list)
diff --git a/var/spack/repos/builtin/packages/tower-agent/package.py b/var/spack/repos/builtin/packages/tower-agent/package.py
index b74a27e73b..d5cd01507c 100644
--- a/var/spack/repos/builtin/packages/tower-agent/package.py
+++ b/var/spack/repos/builtin/packages/tower-agent/package.py
@@ -10,18 +10,20 @@ from spack.package import *
class TowerAgent(Package):
"""Tower Agent allows Nextflow Tower to launch pipelines
- on HPC clusters that do not allow direct access through
- an SSH client.
+ on HPC clusters that do not allow direct access through
+ an SSH client.
"""
homepage = "https://github.com/seqeralabs/tower-agent"
- if platform.machine() == 'x86_64':
- if platform.system() == 'Linux':
- version('0.4.3',
- sha256='1125e64d4e3342e77fcf7f6827f045e421084654fe8faafd5389e356e0613cc0',
- url='https://github.com/seqeralabs/tower-agent/releases/download/v0.4.3/tw-agent-linux-x86_64',
- expand=False)
+ if platform.machine() == "x86_64":
+ if platform.system() == "Linux":
+ version(
+ "0.4.3",
+ sha256="1125e64d4e3342e77fcf7f6827f045e421084654fe8faafd5389e356e0613cc0",
+ url="https://github.com/seqeralabs/tower-agent/releases/download/v0.4.3/tw-agent-linux-x86_64",
+ expand=False,
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/tower-cli/package.py b/var/spack/repos/builtin/packages/tower-cli/package.py
index a5ebac2d25..a10c0b6d2d 100644
--- a/var/spack/repos/builtin/packages/tower-cli/package.py
+++ b/var/spack/repos/builtin/packages/tower-cli/package.py
@@ -10,23 +10,27 @@ from spack.package import *
class TowerCli(Package):
"""Tower on the Command Line brings Nextflow Tower concepts
- including Pipelines, Actions and Compute Environments
- to the terminal.
+ including Pipelines, Actions and Compute Environments
+ to the terminal.
"""
homepage = "https://github.com/seqeralabs/tower-cli"
- if platform.machine() == 'x86_64':
- if platform.system() == 'Darwin':
- version('0.6.2',
- sha256='2bcc17687d58d4c888e8d57b7f2f769a2940afb3266dc3c6c48b0af0cb490d91',
- url='https://github.com/seqeralabs/tower-cli/releases/download/v0.6.2/tw-0.6.2-osx-x86_64',
- expand=False)
- elif platform.system() == 'Linux':
- version('0.6.2',
- sha256='02c6d141416b046b6e8b6f9723331fe0e39d37faa3561c47c152df4d33b37e50',
- url='https://github.com/seqeralabs/tower-cli/releases/download/v0.6.2/tw-0.6.2-linux-x86_64',
- expand=False)
+ if platform.machine() == "x86_64":
+ if platform.system() == "Darwin":
+ version(
+ "0.6.2",
+ sha256="2bcc17687d58d4c888e8d57b7f2f769a2940afb3266dc3c6c48b0af0cb490d91",
+ url="https://github.com/seqeralabs/tower-cli/releases/download/v0.6.2/tw-0.6.2-osx-x86_64",
+ expand=False,
+ )
+ elif platform.system() == "Linux":
+ version(
+ "0.6.2",
+ sha256="02c6d141416b046b6e8b6f9723331fe0e39d37faa3561c47c152df4d33b37e50",
+ url="https://github.com/seqeralabs/tower-cli/releases/download/v0.6.2/tw-0.6.2-linux-x86_64",
+ expand=False,
+ )
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/tpm2-tss/package.py b/var/spack/repos/builtin/packages/tpm2-tss/package.py
index 508af2506e..a517d7b9ac 100644
--- a/var/spack/repos/builtin/packages/tpm2-tss/package.py
+++ b/var/spack/repos/builtin/packages/tpm2-tss/package.py
@@ -10,34 +10,31 @@ class Tpm2Tss(AutotoolsPackage):
"""OSS implementation of the TCG TPM2 Software Stack (TSS2)"""
homepage = "https://tpm2-software.github.io/"
- url = "https://github.com/tpm2-software/tpm2-tss/archive/3.0.0.tar.gz"
-
- version('3.0.0', sha256='e88e91aeee2e01ccc45596fb8afcc3b521a660dcebe5a6e1b14ea5e9e5c15cf5')
- version('2.4.2', sha256='1cec5e834a6a750b138cabcd100b3fcd12b16cd21fa4f9103739914743511f75')
- version('2.4.1', sha256='cc6f0691307f3c65d5a1375e2cd22508cc72850dbc70eb820b892f0b3d0cbea2')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('autoconf-archive', type='build')
- depends_on('json-c')
- depends_on('curl')
- depends_on('doxygen', type='build', when='@:2.4.2')
- depends_on('libgcrypt', when='@:2.4.2')
-
- @when('@:2.4.2')
+ url = "https://github.com/tpm2-software/tpm2-tss/archive/3.0.0.tar.gz"
+
+ version("3.0.0", sha256="e88e91aeee2e01ccc45596fb8afcc3b521a660dcebe5a6e1b14ea5e9e5c15cf5")
+ version("2.4.2", sha256="1cec5e834a6a750b138cabcd100b3fcd12b16cd21fa4f9103739914743511f75")
+ version("2.4.1", sha256="cc6f0691307f3c65d5a1375e2cd22508cc72850dbc70eb820b892f0b3d0cbea2")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("autoconf-archive", type="build")
+ depends_on("json-c")
+ depends_on("curl")
+ depends_on("doxygen", type="build", when="@:2.4.2")
+ depends_on("libgcrypt", when="@:2.4.2")
+
+ @when("@:2.4.2")
def setup_build_environment(self, env):
- env.prepend_path('ACLOCAL_PATH',
- self.spec['libgcrypt'].prefix.share.aclocal)
- env.prepend_path('ACLOCAL_PATH',
- self.spec['autoconf-archive'].prefix.share.aclocal)
+ env.prepend_path("ACLOCAL_PATH", self.spec["libgcrypt"].prefix.share.aclocal)
+ env.prepend_path("ACLOCAL_PATH", self.spec["autoconf-archive"].prefix.share.aclocal)
- @when('@3.0.0:')
+ @when("@3.0.0:")
def setup_build_environment(self, env):
- env.prepend_path('ACLOCAL_PATH',
- self.spec['autoconf-archive'].prefix.share.aclocal)
+ env.prepend_path("ACLOCAL_PATH", self.spec["autoconf-archive"].prefix.share.aclocal)
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('./bootstrap')
+ sh = which("sh")
+ sh("./bootstrap")
diff --git a/var/spack/repos/builtin/packages/tppred/package.py b/var/spack/repos/builtin/packages/tppred/package.py
index a8389a8547..2de59d3bbc 100644
--- a/var/spack/repos/builtin/packages/tppred/package.py
+++ b/var/spack/repos/builtin/packages/tppred/package.py
@@ -8,28 +8,28 @@ from spack.package import *
class Tppred(Package):
"""TPPRED is a software package for the prediction of mitochondrial
- targeting peptides from protein primary sequence."""
+ targeting peptides from protein primary sequence."""
homepage = "https://tppred2.biocomp.unibo.it/tppred2/default/software"
- url = "http://biocomp.unibo.it/savojard/tppred2.tar.gz"
+ url = "http://biocomp.unibo.it/savojard/tppred2.tar.gz"
- version('2.0', sha256='0e180d5ce1f0bccfdbc3dbf9981b3fbe2101c85491c58c58c88856861688a4f5')
+ version("2.0", sha256="0e180d5ce1f0bccfdbc3dbf9981b3fbe2101c85491c58c58c88856861688a4f5")
- depends_on('python@2.7:2', type='run')
- depends_on('py-scikit-learn@0.13.1', type='run')
- depends_on('emboss')
+ depends_on("python@2.7:2", type="run")
+ depends_on("py-scikit-learn@0.13.1", type="run")
+ depends_on("emboss")
def url_for_version(self, version):
- url = 'http://biocomp.unibo.it/savojard/tppred{0}.tar.gz'
+ url = "http://biocomp.unibo.it/savojard/tppred{0}.tar.gz"
return url.format(version.up_to(1))
def install(self, spec, prefix):
mkdirp(prefix.bin)
- with working_dir('bin'):
- install('tppred2.py', prefix.bin)
- install_tree('data', prefix.data)
- install_tree('example', prefix.example)
- install_tree('tppred2modules', prefix.modules)
+ with working_dir("bin"):
+ install("tppred2.py", prefix.bin)
+ install_tree("data", prefix.data)
+ install_tree("example", prefix.example)
+ install_tree("tppred2modules", prefix.modules)
def setup_run_environment(self, env):
- env.set('TPPRED_ROOT', self.prefix)
+ env.set("TPPRED_ROOT", self.prefix)
diff --git a/var/spack/repos/builtin/packages/tracer/package.py b/var/spack/repos/builtin/packages/tracer/package.py
index 0c2b92d6df..422778a545 100644
--- a/var/spack/repos/builtin/packages/tracer/package.py
+++ b/var/spack/repos/builtin/packages/tracer/package.py
@@ -10,31 +10,31 @@ class Tracer(MakefilePackage):
"""Trace Replay and Network Simulation Framework"""
homepage = "https://tracer-codes.readthedocs.io"
- git = "https://github.com/LLNL/tracer.git"
+ git = "https://github.com/LLNL/tracer.git"
- maintainers = ['bhatele']
+ maintainers = ["bhatele"]
- version('develop', branch='master')
- version('2.2', tag='v2.2')
+ version("develop", branch="master")
+ version("2.2", tag="v2.2")
- variant('otf2', default=True, description='Use OTF2 traces for simulation')
+ variant("otf2", default=True, description="Use OTF2 traces for simulation")
- depends_on('mpi')
- depends_on('codes')
- depends_on('otf2', when='+otf2')
+ depends_on("mpi")
+ depends_on("codes")
+ depends_on("otf2", when="+otf2")
- build_directory = 'tracer'
+ build_directory = "tracer"
@property
def build_targets(self):
targets = []
- targets.append('CXX = {0}'.format(self.spec['mpi'].mpicxx))
+ targets.append("CXX = {0}".format(self.spec["mpi"].mpicxx))
if "+otf2" in self.spec:
- targets.append('SELECT_TRACE = -DTRACER_OTF_TRACES=1')
+ targets.append("SELECT_TRACE = -DTRACER_OTF_TRACES=1")
return targets
def install(self, spec, prefix):
with working_dir(self.build_directory):
- make('PREFIX={0}'.format(prefix), 'install')
+ make("PREFIX={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/tracy-client/package.py b/var/spack/repos/builtin/packages/tracy-client/package.py
index 5e10d99e6f..2c81c7ff4d 100644
--- a/var/spack/repos/builtin/packages/tracy-client/package.py
+++ b/var/spack/repos/builtin/packages/tracy-client/package.py
@@ -73,9 +73,6 @@ class TracyClient(CMakePackage):
variant(k, default=v[0], description=v[1])
def cmake_args(self):
- args = [
- self.define_from_variant("TRACY_%s" % k.upper(), k)
- for k in self.tracy_options
- ]
+ args = [self.define_from_variant("TRACY_%s" % k.upper(), k) for k in self.tracy_options]
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
return args
diff --git a/var/spack/repos/builtin/packages/tramonto/package.py b/var/spack/repos/builtin/packages/tramonto/package.py
index e174e47385..092892f960 100644
--- a/var/spack/repos/builtin/packages/tramonto/package.py
+++ b/var/spack/repos/builtin/packages/tramonto/package.py
@@ -10,15 +10,14 @@ class Tramonto(CMakePackage):
"""Tramonto: Software for Nanostructured Fluids in Materials and Biology"""
homepage = "https://software.sandia.gov/tramonto/"
- git = "https://github.com/Tramonto/Tramonto.git"
+ git = "https://github.com/Tramonto/Tramonto.git"
- version('develop', branch='master')
+ version("develop", branch="master")
- depends_on('trilinos@:12+nox')
+ depends_on("trilinos@:12+nox")
def cmake_args(self):
spec = self.spec
args = []
- args.extend(['-DTRILINOS_PATH:PATH=%s/lib/cmake/Trilinos' %
- spec['trilinos'].prefix])
+ args.extend(["-DTRILINOS_PATH:PATH=%s/lib/cmake/Trilinos" % spec["trilinos"].prefix])
return args
diff --git a/var/spack/repos/builtin/packages/transabyss/package.py b/var/spack/repos/builtin/packages/transabyss/package.py
index 759fb4dfa1..6066adbaf8 100644
--- a/var/spack/repos/builtin/packages/transabyss/package.py
+++ b/var/spack/repos/builtin/packages/transabyss/package.py
@@ -10,17 +10,17 @@ class Transabyss(Package):
"""De novo assembly of RNAseq data using ABySS"""
homepage = "https://www.bcgsc.ca/platform/bioinfo/software/trans-abyss"
- url = "https://www.bcgsc.ca/platform/bioinfo/software/trans-abyss/releases/1.5.5/transabyss-1.5.5.zip"
+ url = "https://www.bcgsc.ca/platform/bioinfo/software/trans-abyss/releases/1.5.5/transabyss-1.5.5.zip"
- version('1.5.5', sha256='7804961c13296c587a1b22180dd3f02091a4494cbbd04fc33c2060599caadb0b')
+ version("1.5.5", sha256="7804961c13296c587a1b22180dd3f02091a4494cbbd04fc33c2060599caadb0b")
- depends_on('abyss@1.5.2')
- depends_on('python@2.7.6:', type=('build', 'run'))
- depends_on('py-python-igraph@0.7.0:', type=('build', 'run'))
- depends_on('blat')
+ depends_on("abyss@1.5.2")
+ depends_on("python@2.7.6:", type=("build", "run"))
+ depends_on("py-python-igraph@0.7.0:", type=("build", "run"))
+ depends_on("blat")
def install(self, spec, prefix):
- install('transabyss', prefix)
- install('transabyss-merge', prefix)
- install_tree('bin', prefix.bin)
- install_tree('utilities', prefix.utilities)
+ install("transabyss", prefix)
+ install("transabyss-merge", prefix)
+ install_tree("bin", prefix.bin)
+ install_tree("utilities", prefix.utilities)
diff --git a/var/spack/repos/builtin/packages/transdecoder/package.py b/var/spack/repos/builtin/packages/transdecoder/package.py
index 3afb995cdd..0bc2d7b2dc 100644
--- a/var/spack/repos/builtin/packages/transdecoder/package.py
+++ b/var/spack/repos/builtin/packages/transdecoder/package.py
@@ -8,27 +8,30 @@ from spack.package import *
class Transdecoder(MakefilePackage):
"""TransDecoder identifies candidate coding regions within transcript
- sequences, such as those generated by de novo RNA-Seq transcript
- assembly using Trinity, or constructed based on RNA-Seq alignments to
- the genome using Tophat and Cufflinks."""
+ sequences, such as those generated by de novo RNA-Seq transcript
+ assembly using Trinity, or constructed based on RNA-Seq alignments to
+ the genome using Tophat and Cufflinks."""
homepage = "https://transdecoder.github.io/"
- url = "https://github.com/TransDecoder/TransDecoder/archive/TransDecoder-v5.5.0.tar.gz"
+ url = "https://github.com/TransDecoder/TransDecoder/archive/TransDecoder-v5.5.0.tar.gz"
- version('5.5.0', sha256='c800d9226350817471e9f51267c91f7cab99dbc9b26c980527fc1019e7d90a76')
- version('3.0.1', sha256='753a5fac5bfd04466aeabff48053c92e876cece8906b96de3b72f23f86fafae7',
- url='https://github.com/TransDecoder/TransDecoder/archive/v3.0.1.tar.gz')
+ version("5.5.0", sha256="c800d9226350817471e9f51267c91f7cab99dbc9b26c980527fc1019e7d90a76")
+ version(
+ "3.0.1",
+ sha256="753a5fac5bfd04466aeabff48053c92e876cece8906b96de3b72f23f86fafae7",
+ url="https://github.com/TransDecoder/TransDecoder/archive/v3.0.1.tar.gz",
+ )
- depends_on('perl', type=('build', 'run'))
- depends_on('perl-uri', type='run')
+ depends_on("perl", type=("build", "run"))
+ depends_on("perl-uri", type="run")
def install(self, spec, prefix):
mkdirp(prefix.util)
- install('TransDecoder.LongOrfs', prefix)
- install('TransDecoder.Predict', prefix)
- install_tree('PerlLib', prefix.PerlLib)
- install_tree('util', prefix.util)
+ install("TransDecoder.LongOrfs", prefix)
+ install("TransDecoder.Predict", prefix)
+ install_tree("PerlLib", prefix.PerlLib)
+ install_tree("util", prefix.util)
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('PATH', self.prefix.util)
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("PATH", self.prefix.util)
diff --git a/var/spack/repos/builtin/packages/transposome/package.py b/var/spack/repos/builtin/packages/transposome/package.py
index 6d30d990aa..a624b3a8cc 100644
--- a/var/spack/repos/builtin/packages/transposome/package.py
+++ b/var/spack/repos/builtin/packages/transposome/package.py
@@ -8,11 +8,11 @@ from spack.package import *
class Transposome(PerlPackage):
"""A toolkit for annotation of transposable element families from
- unassembled sequence reads."""
+ unassembled sequence reads."""
homepage = "https://sestaton.github.io/Transposome/"
- url = "https://github.com/sestaton/Transposome/archive/v0.11.2.tar.gz"
+ url = "https://github.com/sestaton/Transposome/archive/v0.11.2.tar.gz"
- version('0.11.2', sha256='f0bfdb33c34ada726b36c7b7ed6defa8540a7f8abe08ad46b3ccfec5dcd4720d')
+ version("0.11.2", sha256="f0bfdb33c34ada726b36c7b7ed6defa8540a7f8abe08ad46b3ccfec5dcd4720d")
- depends_on('blast-plus')
+ depends_on("blast-plus")
diff --git a/var/spack/repos/builtin/packages/transrate/package.py b/var/spack/repos/builtin/packages/transrate/package.py
index 57cfb7bf73..de152d346f 100644
--- a/var/spack/repos/builtin/packages/transrate/package.py
+++ b/var/spack/repos/builtin/packages/transrate/package.py
@@ -10,16 +10,22 @@ from spack.package import *
class Transrate(Package):
"""Transrate is software for de-novo transcriptome assembly quality
- analysis."""
+ analysis."""
homepage = "https://hibberdlab.com/transrate/"
- if sys.platform == 'darwin':
- version('1.0.3', sha256='039eba81747dd53f65a99a61923369aae4ba341891215d31a2babe574ac99ca8',
- url='https://bintray.com/artifact/download/blahah/generic/transrate-1.0.3-osx.tar.gz')
+ if sys.platform == "darwin":
+ version(
+ "1.0.3",
+ sha256="039eba81747dd53f65a99a61923369aae4ba341891215d31a2babe574ac99ca8",
+ url="https://bintray.com/artifact/download/blahah/generic/transrate-1.0.3-osx.tar.gz",
+ )
else:
- version('1.0.3', sha256='68d034ecd7012f1d3d505a2edd820c1155cd8b64d2acbf2ac833f30d3800141b',
- url='https://bintray.com/artifact/download/blahah/generic/transrate-1.0.3-linux-x86_64.tar.gz')
+ version(
+ "1.0.3",
+ sha256="68d034ecd7012f1d3d505a2edd820c1155cd8b64d2acbf2ac833f30d3800141b",
+ url="https://bintray.com/artifact/download/blahah/generic/transrate-1.0.3-linux-x86_64.tar.gz",
+ )
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/transset/package.py b/var/spack/repos/builtin/packages/transset/package.py
index 96641c8231..34e38d2d26 100644
--- a/var/spack/repos/builtin/packages/transset/package.py
+++ b/var/spack/repos/builtin/packages/transset/package.py
@@ -12,10 +12,10 @@ class Transset(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/transset"
xorg_mirror_path = "app/transset-1.0.1.tar.gz"
- version('1.0.1', sha256='87c560e69e05ae8a5bad17ff62ac31cda43a5065508205b109c756c0ab857d55')
+ version("1.0.1", sha256="87c560e69e05ae8a5bad17ff62ac31cda43a5065508205b109c756c0ab857d55")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/trapproto/package.py b/var/spack/repos/builtin/packages/trapproto/package.py
index 377ff9842d..7e03b18a46 100644
--- a/var/spack/repos/builtin/packages/trapproto/package.py
+++ b/var/spack/repos/builtin/packages/trapproto/package.py
@@ -12,4 +12,4 @@ class Trapproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/trapproto"
xorg_mirror_path = "proto/trapproto-3.4.3.tar.gz"
- version('3.4.3', sha256='abfb930b5703b5a6ebafe84d0246bd8c6b099ca4a4eab06d1dc0776a8a9b87c1')
+ version("3.4.3", sha256="abfb930b5703b5a6ebafe84d0246bd8c6b099ca4a4eab06d1dc0776a8a9b87c1")
diff --git a/var/spack/repos/builtin/packages/tree-sitter/package.py b/var/spack/repos/builtin/packages/tree-sitter/package.py
index 9bdd1efedc..d8c8687457 100644
--- a/var/spack/repos/builtin/packages/tree-sitter/package.py
+++ b/var/spack/repos/builtin/packages/tree-sitter/package.py
@@ -13,15 +13,15 @@ class TreeSitter(MakefilePackage):
efficiently update the syntax tree as the source file is edited."""
homepage = "https://tree-sitter.github.io/tree-sitter/"
- url = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.1.tar.gz"
+ url = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.1.tar.gz"
- maintainers = ['albestro']
+ maintainers = ["albestro"]
- version('0.20.6', sha256='4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de')
- version('0.20.4', sha256='979ad0b36eb90975baf0c65d155d106276cac08afb1c2fe0ad54d4b7d498ce39')
- version('0.20.3', sha256='ab52fe93e0c658cff656b9d10d67cdd29084247052964eba13ed6f0e9fa3bd36')
- version('0.20.2', sha256='2a0445f8172bbf83db005aedb4e893d394e2b7b33251badd3c94c2c5cc37c403')
- version('0.20.1', sha256='12a3f7206af3028dbe8a0de50d8ebd6d7010bf762db918acae76fc7585f1258d')
+ version("0.20.6", sha256="4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de")
+ version("0.20.4", sha256="979ad0b36eb90975baf0c65d155d106276cac08afb1c2fe0ad54d4b7d498ce39")
+ version("0.20.3", sha256="ab52fe93e0c658cff656b9d10d67cdd29084247052964eba13ed6f0e9fa3bd36")
+ version("0.20.2", sha256="2a0445f8172bbf83db005aedb4e893d394e2b7b33251badd3c94c2c5cc37c403")
+ version("0.20.1", sha256="12a3f7206af3028dbe8a0de50d8ebd6d7010bf762db918acae76fc7585f1258d")
def edit(self, spec, prefix):
- env['PREFIX'] = prefix
+ env["PREFIX"] = prefix
diff --git a/var/spack/repos/builtin/packages/tree/package.py b/var/spack/repos/builtin/packages/tree/package.py
index dd069b3edc..ffe63cb3d5 100644
--- a/var/spack/repos/builtin/packages/tree/package.py
+++ b/var/spack/repos/builtin/packages/tree/package.py
@@ -10,39 +10,39 @@ from spack.package import *
class Tree(Package):
"""Tree is a recursive directory listing command that produces a depth
- indented listing of files, which is colorized ala dircolors if
- the LS_COLORS environment variable is set and output is to
- tty. Tree has been ported and reported to work under the
- following operating systems: Linux, FreeBSD, OS X, Solaris,
- HP/UX, Cygwin, HP Nonstop and OS/2."""
+ indented listing of files, which is colorized ala dircolors if
+ the LS_COLORS environment variable is set and output is to
+ tty. Tree has been ported and reported to work under the
+ following operating systems: Linux, FreeBSD, OS X, Solaris,
+ HP/UX, Cygwin, HP Nonstop and OS/2."""
homepage = "http://mama.indstate.edu/users/ice/tree/"
- url = "http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz"
+ url = "http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz"
- version('2.0.2', sha256='7d693a1d88d3c4e70a73e03b8dbbdc12c2945d482647494f2f5bd83a479eeeaf')
- version('1.8.0', sha256='715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2')
- version('1.7.0', sha256='6957c20e82561ac4231638996e74f4cfa4e6faabc5a2f511f0b4e3940e8f7b12')
+ version("2.0.2", sha256="7d693a1d88d3c4e70a73e03b8dbbdc12c2945d482647494f2f5bd83a479eeeaf")
+ version("1.8.0", sha256="715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2")
+ version("1.7.0", sha256="6957c20e82561ac4231638996e74f4cfa4e6faabc5a2f511f0b4e3940e8f7b12")
- @when('@2:')
+ @when("@2:")
def install(self, spec, prefix):
- make('install', 'PREFIX=%s' % prefix)
+ make("install", "PREFIX=%s" % prefix)
- @when('@:1')
+ @when("@:1")
def install(self, spec, prefix):
- objs = ['tree.o', 'unix.o', 'html.o', 'xml.o', 'json.o', 'hash.o', 'color.o']
+ objs = ["tree.o", "unix.o", "html.o", "xml.o", "json.o", "hash.o", "color.o"]
# version 1.8.0 added file.c
- if spec.version >= Version('1.8.0'):
- objs.append('file.o')
+ if spec.version >= Version("1.8.0"):
+ objs.append("file.o")
- if (sys.platform == 'darwin'):
- objs.append('strverscmp.o')
+ if sys.platform == "darwin":
+ objs.append("strverscmp.o")
args = [
- 'prefix=%s' % prefix,
- 'CC=%s' % spack_cc,
- 'CFLAGS=',
- 'OBJS=%s' % ' '.join(objs),
- 'install'
+ "prefix=%s" % prefix,
+ "CC=%s" % spack_cc,
+ "CFLAGS=",
+ "OBJS=%s" % " ".join(objs),
+ "install",
]
make(*args)
diff --git a/var/spack/repos/builtin/packages/treelite/package.py b/var/spack/repos/builtin/packages/treelite/package.py
index 9a5c646068..f4fce194d5 100644
--- a/var/spack/repos/builtin/packages/treelite/package.py
+++ b/var/spack/repos/builtin/packages/treelite/package.py
@@ -11,38 +11,37 @@ class Treelite(CMakePackage):
decision tree ensembles."""
homepage = "https://github.com/dmlc/treelite"
- url = "https://github.com/dmlc/treelite/archive/0.93.tar.gz"
+ url = "https://github.com/dmlc/treelite/archive/0.93.tar.gz"
- version('0.93', sha256='7d347372f7fdc069904afe93e69ed0bf696ba42d271fe2f8bf6835d2ab2f45d5')
+ version("0.93", sha256="7d347372f7fdc069904afe93e69ed0bf696ba42d271fe2f8bf6835d2ab2f45d5")
- variant('protobuf', default=False, description='Build with protobuf')
- variant('python', default=True, description='Build with python support')
+ variant("protobuf", default=False, description="Build with protobuf")
+ variant("python", default=True, description="Build with python support")
- depends_on('protobuf', when='+protobuf')
- depends_on('python@3.6:', when='+python', type=('build', 'run'))
- depends_on('py-pip', when='+python', type='build')
- depends_on('py-wheel', when='+python', type='build')
- depends_on('py-setuptools', when='+python', type='build')
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('py-scipy', when='+python', type=('build', 'run'))
+ depends_on("protobuf", when="+protobuf")
+ depends_on("python@3.6:", when="+python", type=("build", "run"))
+ depends_on("py-pip", when="+python", type="build")
+ depends_on("py-wheel", when="+python", type="build")
+ depends_on("py-setuptools", when="+python", type="build")
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("py-scipy", when="+python", type=("build", "run"))
- build_directory = 'build'
+ build_directory = "build"
def cmake_args(self):
args = []
- if '+protobuf' in self.spec:
- args.append('-DENABLE_PROTOBUF:BOOL=ON')
- args.append('-DProtobuf_LIBRARY={0}'.format(
- self.spec['protobuf'].prefix))
+ if "+protobuf" in self.spec:
+ args.append("-DENABLE_PROTOBUF:BOOL=ON")
+ args.append("-DProtobuf_LIBRARY={0}".format(self.spec["protobuf"].prefix))
else:
- args.append('-DENABLE_PROTOBUF:BOOL=OFF')
+ args.append("-DENABLE_PROTOBUF:BOOL=OFF")
return args
- @run_after('install')
+ @run_after("install")
def python_install(self):
- if '+python' in self.spec:
- with working_dir('python'):
- args = std_pip_args + ['--prefix=' + self.prefix, '.']
+ if "+python" in self.spec:
+ with working_dir("python"):
+ args = std_pip_args + ["--prefix=" + self.prefix, "."]
pip(*args)
diff --git a/var/spack/repos/builtin/packages/treesub/package.py b/var/spack/repos/builtin/packages/treesub/package.py
index cb7a9ad4f8..ddcfbaef20 100644
--- a/var/spack/repos/builtin/packages/treesub/package.py
+++ b/var/spack/repos/builtin/packages/treesub/package.py
@@ -10,33 +10,33 @@ from spack.package import *
class Treesub(Package):
"""A small program (which glues together other programs) that
- allows a user to input a codon alignment in FASTA format and
- produce an annotated phylogenetic tree showing which substitutions
- occurred on a given branch. Originally written for colleagues at
- the MRC NIMR."""
+ allows a user to input a codon alignment in FASTA format and
+ produce an annotated phylogenetic tree showing which substitutions
+ occurred on a given branch. Originally written for colleagues at
+ the MRC NIMR."""
homepage = "https:/github.com/tamuri/treesub"
- url = "https://github.com/tamuri/treesub/archive/v0.2.tar.gz"
+ url = "https://github.com/tamuri/treesub/archive/v0.2.tar.gz"
- version('0.2', sha256='58b0d2638cf9ae1ad8705df26a57c32b52a69f50e7954debbd678c82772fdc56')
- version('0.1', sha256='c083ecc5f7e9f11645a7e768f6a09fefcbb254b526212003527b4b8dd14723f1')
+ version("0.2", sha256="58b0d2638cf9ae1ad8705df26a57c32b52a69f50e7954debbd678c82772fdc56")
+ version("0.1", sha256="c083ecc5f7e9f11645a7e768f6a09fefcbb254b526212003527b4b8dd14723f1")
- depends_on('java', type=('build', 'run'))
- depends_on('ant', type='build')
- depends_on('paml', type='run')
- depends_on('raxml', type='run')
- depends_on('figtree', type='run')
+ depends_on("java", type=("build", "run"))
+ depends_on("ant", type="build")
+ depends_on("paml", type="run")
+ depends_on("raxml", type="run")
+ depends_on("figtree", type="run")
def install(self, spec, prefix):
- ant = self.spec['ant'].command
- ant('jar')
+ ant = self.spec["ant"].command
+ ant("jar")
mkdirp(prefix.bin)
- install_tree('dist', prefix.bin)
+ install_tree("dist", prefix.bin)
mkdirp(prefix.lib)
- install_tree('lib', prefix.lib)
+ install_tree("lib", prefix.lib)
- execscript = join_path(self.package_dir, 'treesub')
+ execscript = join_path(self.package_dir, "treesub")
os.chmod(execscript, 0o775)
install(execscript, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/trexio/package.py b/var/spack/repos/builtin/packages/trexio/package.py
index 9a90b5fe57..4e905b2237 100644
--- a/var/spack/repos/builtin/packages/trexio/package.py
+++ b/var/spack/repos/builtin/packages/trexio/package.py
@@ -10,37 +10,37 @@ class Trexio(AutotoolsPackage):
"""TREXIO: TREX I/O library."""
homepage = "https://trex-coe.github.io/trexio"
- git = "https://github.com/TREX-CoE/trexio.git"
- url = "https://github.com/TREX-CoE/trexio/releases/download/v2.2.0/trexio-2.2.0.tar.gz"
+ git = "https://github.com/TREX-CoE/trexio.git"
+ url = "https://github.com/TREX-CoE/trexio/releases/download/v2.2.0/trexio-2.2.0.tar.gz"
# notify when the package is updated.
- maintainers = ['q-posev', 'scemama']
+ maintainers = ["q-posev", "scemama"]
- version('master', branch='master')
- version('2.2.0', sha256='e6340c424fcea18ae0b643a5707e16005c7576ee21a5aac679fbc132d70b36d9')
- version('2.1.0', sha256='232866c943b98fa8a42d34b55e940f7501634eb5bd426555ba970f5c09775e83')
- version('2.0.0', sha256='6eeef2da44259718b43991eedae4b20d4f90044e38f3b44a8beea52c38b14cb4')
+ version("master", branch="master")
+ version("2.2.0", sha256="e6340c424fcea18ae0b643a5707e16005c7576ee21a5aac679fbc132d70b36d9")
+ version("2.1.0", sha256="232866c943b98fa8a42d34b55e940f7501634eb5bd426555ba970f5c09775e83")
+ version("2.0.0", sha256="6eeef2da44259718b43991eedae4b20d4f90044e38f3b44a8beea52c38b14cb4")
- variant('hdf5', default=True, description='Enable HDF5 support')
+ variant("hdf5", default=True, description="Enable HDF5 support")
- depends_on('emacs@26.0:', type='build', when="@master")
- depends_on('python@3.6:', type='build', when="@master")
+ depends_on("emacs@26.0:", type="build", when="@master")
+ depends_on("python@3.6:", type="build", when="@master")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on("m4", type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on("hdf5@1.8:+hl", when='+hdf5')
+ depends_on("hdf5@1.8:+hl", when="+hdf5")
# Append -lhdf5_hl to LIBS when hdf5 variant is activated
# or use --without-hdf5 option otherwise.
def configure_args(self):
config_args = []
- if '+hdf5' in self.spec:
- config_args.append('LIBS=-lhdf5_hl')
+ if "+hdf5" in self.spec:
+ config_args.append("LIBS=-lhdf5_hl")
else:
- config_args.append('--without-hdf5')
+ config_args.append("--without-hdf5")
return config_args
diff --git a/var/spack/repos/builtin/packages/trf/package.py b/var/spack/repos/builtin/packages/trf/package.py
index 8823eb9985..b07e6e9f50 100644
--- a/var/spack/repos/builtin/packages/trf/package.py
+++ b/var/spack/repos/builtin/packages/trf/package.py
@@ -10,49 +10,51 @@ from spack.package import *
class Trf(AutotoolsPackage):
"""Tandem Repeats Finder is a program to locate and display tandem repeats
- in DNA sequences.
+ in DNA sequences.
- Note: A manual download is required for TRF.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for TRF.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://tandem.bu.edu/trf/trf.html"
- url = "https://github.com/Benson-Genomics-Lab/TRF/archive/refs/tags/v4.09.1.tar.gz"
+ url = "https://github.com/Benson-Genomics-Lab/TRF/archive/refs/tags/v4.09.1.tar.gz"
- version('4.09.1', sha256='516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a')
- version('4.09', sha256='9332155384bef82f6c7c449c038d27f1a14b984b2e93000bfcf125f4d44d6aca')
+ version("4.09.1", sha256="516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a")
+ version("4.09", sha256="9332155384bef82f6c7c449c038d27f1a14b984b2e93000bfcf125f4d44d6aca")
# Beginning with version 4.09, trf is open source and available via github.
# Only version 4.07b needs to be installed as a binary.
manual_download = True
- version('4.07b',
- sha256='a3a760c7b74c9603fbc08d95e8fa696c00f35a2f179b0bd63b2b13757ad3b471',
- expand=False,
- url='file://{0}/trf407b.linux64'.format(os.getcwd()),
- deprecated=True)
+ version(
+ "4.07b",
+ sha256="a3a760c7b74c9603fbc08d95e8fa696c00f35a2f179b0bd63b2b13757ad3b471",
+ expand=False,
+ url="file://{0}/trf407b.linux64".format(os.getcwd()),
+ deprecated=True,
+ )
- @when('@4.07b')
+ @when("@4.07b")
def autoreconf(self, spec, prefix):
- touch('configure')
+ touch("configure")
- @when('@4.07b')
+ @when("@4.07b")
def configure(self, spec, prefix):
pass
- @when('@4.07b')
+ @when("@4.07b")
def build(self, spec, prefix):
pass
- @when('@4.07b')
+ @when("@4.07b")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- trfname = 'trf{0}.linux64'.format(self.version.joined)
+ trfname = "trf{0}.linux64".format(self.version.joined)
install(trfname, prefix.bin)
- chmod = which('chmod')
- chmod('+x', os.path.join(prefix.bin, trfname))
+ chmod = which("chmod")
+ chmod("+x", os.path.join(prefix.bin, trfname))
os.symlink(trfname, prefix.bin.trf)
diff --git a/var/spack/repos/builtin/packages/triangle/package.py b/var/spack/repos/builtin/packages/triangle/package.py
index a8a1bbd8d9..b3e7ea2746 100644
--- a/var/spack/repos/builtin/packages/triangle/package.py
+++ b/var/spack/repos/builtin/packages/triangle/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Triangle(Package):
"""Triangle is a two-dimensional mesh generator and Delaunay
- triangulator. Triangle generates exact Delaunay triangulations,
- constrained Delaunay triangulations, conforming Delaunay
- triangulations, Voronoi diagrams, and high-quality triangular
- meshes."""
+ triangulator. Triangle generates exact Delaunay triangulations,
+ constrained Delaunay triangulations, conforming Delaunay
+ triangulations, Voronoi diagrams, and high-quality triangular
+ meshes."""
homepage = "https://www.cs.cmu.edu/~quake/triangle.html"
- url = "https://www.netlib.org/voronoi/triangle.zip"
+ url = "https://www.netlib.org/voronoi/triangle.zip"
- version('1.6', sha256='1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480')
+ version("1.6", sha256="1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480")
- depends_on('libx11', type='link')
+ depends_on("libx11", type="link")
def install(self, spec, prefix):
make()
mkdirp(prefix.bin)
- install('triangle', prefix.bin)
- install('showme', prefix.bin)
+ install("triangle", prefix.bin)
+ install("showme", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/trident/package.py b/var/spack/repos/builtin/packages/trident/package.py
index 72adfb5007..73a6691d29 100644
--- a/var/spack/repos/builtin/packages/trident/package.py
+++ b/var/spack/repos/builtin/packages/trident/package.py
@@ -13,16 +13,16 @@ class Trident(Package):
applications."""
homepage = "https://netapp-trident.readthedocs.io"
- url = "https://github.com/NetApp/trident/archive/v20.01.1.tar.gz"
+ url = "https://github.com/NetApp/trident/archive/v20.01.1.tar.gz"
- version('20.01.1', sha256='02ba92e569916b98fb1b563c5ef03a94fd7981c3ac1ecb47e69ebb45471dc976')
- version('20.01.0', sha256='5de190579acf62f5e9945dfd45aeb21989272c4972e85cb10256b7ec605c29c7')
+ version("20.01.1", sha256="02ba92e569916b98fb1b563c5ef03a94fd7981c3ac1ecb47e69ebb45471dc976")
+ version("20.01.0", sha256="5de190579acf62f5e9945dfd45aeb21989272c4972e85cb10256b7ec605c29c7")
- depends_on('go', type='build')
+ depends_on("go", type="build")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- go = which('go')
- go('build', '-o', prefix.bin)
- with working_dir('cli'):
- go('build', '-o', prefix.bin.tridentctl)
+ go = which("go")
+ go("build", "-o", prefix.bin)
+ with working_dir("cli"):
+ go("build", "-o", prefix.bin.tridentctl)
diff --git a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py
index 9bdc5e0315..7357b65235 100644
--- a/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py
+++ b/var/spack/repos/builtin/packages/trilinos-catalyst-ioss-adapter/package.py
@@ -10,36 +10,41 @@ class TrilinosCatalystIossAdapter(CMakePackage):
"""Adapter for Trilinos Seacas Ioss and Paraview Catalyst"""
homepage = "https://trilinos.org/"
- git = "https://github.com/trilinos/Trilinos.git"
+ git = "https://github.com/trilinos/Trilinos.git"
- version('develop', branch='develop')
- version('master', branch='master')
+ version("develop", branch="develop")
+ version("master", branch="master")
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('paraview+mpi+python+osmesa')
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("paraview+mpi+python+osmesa")
+ depends_on("py-numpy", type=("build", "run"))
# Here we avoid paraview trying to use netcdf-c~parallel-netcdf
# which is netcdf-c's default, even though paraview depends on 'netcdf-c'
# without any variants. Concretizer bug?
- depends_on('netcdf-c+parallel-netcdf')
-
- root_cmakelists_dir = join_path('packages', 'seacas', 'libraries',
- 'ioss', 'src', 'visualization',
- 'ParaViewCatalystIossAdapter')
+ depends_on("netcdf-c+parallel-netcdf")
+
+ root_cmakelists_dir = join_path(
+ "packages",
+ "seacas",
+ "libraries",
+ "ioss",
+ "src",
+ "visualization",
+ "ParaViewCatalystIossAdapter",
+ )
def setup_run_environment(self, env):
- env.prepend_path('PYTHONPATH', self.prefix.python)
+ env.prepend_path("PYTHONPATH", self.prefix.python)
def cmake_args(self):
spec = self.spec
options = []
- paraview_version = 'paraview-%s' % spec['paraview'].version.up_to(2)
+ paraview_version = "paraview-%s" % spec["paraview"].version.up_to(2)
- options.extend([
- '-DParaView_DIR:PATH=%s' %
- spec['paraview'].prefix + '/lib/cmake/' + paraview_version
- ])
+ options.extend(
+ ["-DParaView_DIR:PATH=%s" % spec["paraview"].prefix + "/lib/cmake/" + paraview_version]
+ )
return options
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 7c94b44f42..408a3717ca 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -28,335 +28,376 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
of large-scale, complex multi-physics engineering and scientific problems.
A unique design feature of Trilinos is its focus on packages.
"""
+
homepage = "https://trilinos.org/"
- url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-12-1.tar.gz"
- git = "https://github.com/trilinos/Trilinos.git"
+ url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-12-1.tar.gz"
+ git = "https://github.com/trilinos/Trilinos.git"
- maintainers = ['keitat', 'sethrj', 'kuberry']
+ maintainers = ["keitat", "sethrj", "kuberry"]
- tags = ['e4s']
+ tags = ["e4s"]
# ###################### Versions ##########################
- version('master', branch='master')
- version('develop', branch='develop')
- version('13.4.0', sha256='39550006e059043b7e2177f10467ae2f77fe639901aee91cbc1e359516ff8d3e')
- version('13.2.0', sha256='0ddb47784ba7b8a6b9a07a4822b33be508feb4ccd54301b2a5d10c9e54524b90')
- version('13.0.1', sha256='0bce7066c27e83085bc189bf524e535e5225636c9ee4b16291a38849d6c2216d', preferred=True)
- version('13.0.0', sha256='d44e8181b3ef5eae4e90aad40a33486f0b2ae6ba1c34b419ce8cbc70fd5dd6bd')
- 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.10.1', sha256='ab81d917196ffbc21c4927d42df079dd94c83c1a08bda43fef2dd34d0c1a5512')
- version('12.8.1', sha256='d20fe60e31e3ba1ef36edecd88226240a518f50a4d6edcc195b88ee9dda5b4a1')
- version('12.6.4', sha256='1c7104ba60ee8cc4ec0458a1c4f6a26130616bae7580a7b15f2771a955818b73')
- version('12.6.3', sha256='4d28298bb4074eef522db6cd1626f1a934e3d80f292caf669b8846c0a458fe81')
- version('12.6.2', sha256='8be7e3e1166cc05aea7f856cc8033182e8114aeb8f87184cb38873bfb2061779')
- version('12.6.1', sha256='4b38ede471bed0036dcb81a116fba8194f7bf1a9330da4e29c3eb507d2db18db')
- version('12.4.2', sha256='fd2c12e87a7cedc058bcb8357107ffa2474997aa7b17b8e37225a1f7c32e6f0e')
- version('12.2.1', sha256='088f303e0dc00fb4072b895c6ecb4e2a3ad9a2687b9c62153de05832cf242098')
- version('12.0.1', sha256='eee7c19ca108538fa1c77a6651b084e06f59d7c3307dae77144136639ab55980')
- version('11.14.3', sha256='e37fa5f69103576c89300e14d43ba77ad75998a54731008b25890d39892e6e60')
- version('11.14.2', sha256='f22b2b0df7b88e28b992e19044ba72b845292b93cbbb3a948488199647381119')
- version('11.14.1', sha256='f10fc0a496bf49427eb6871c80816d6e26822a39177d850cc62cf1484e4eec07')
+ version("master", branch="master")
+ version("develop", branch="develop")
+ version("13.4.0", sha256="39550006e059043b7e2177f10467ae2f77fe639901aee91cbc1e359516ff8d3e")
+ version("13.2.0", sha256="0ddb47784ba7b8a6b9a07a4822b33be508feb4ccd54301b2a5d10c9e54524b90")
+ version(
+ "13.0.1",
+ sha256="0bce7066c27e83085bc189bf524e535e5225636c9ee4b16291a38849d6c2216d",
+ preferred=True,
+ )
+ version("13.0.0", sha256="d44e8181b3ef5eae4e90aad40a33486f0b2ae6ba1c34b419ce8cbc70fd5dd6bd")
+ 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.10.1", sha256="ab81d917196ffbc21c4927d42df079dd94c83c1a08bda43fef2dd34d0c1a5512")
+ version("12.8.1", sha256="d20fe60e31e3ba1ef36edecd88226240a518f50a4d6edcc195b88ee9dda5b4a1")
+ version("12.6.4", sha256="1c7104ba60ee8cc4ec0458a1c4f6a26130616bae7580a7b15f2771a955818b73")
+ version("12.6.3", sha256="4d28298bb4074eef522db6cd1626f1a934e3d80f292caf669b8846c0a458fe81")
+ version("12.6.2", sha256="8be7e3e1166cc05aea7f856cc8033182e8114aeb8f87184cb38873bfb2061779")
+ version("12.6.1", sha256="4b38ede471bed0036dcb81a116fba8194f7bf1a9330da4e29c3eb507d2db18db")
+ version("12.4.2", sha256="fd2c12e87a7cedc058bcb8357107ffa2474997aa7b17b8e37225a1f7c32e6f0e")
+ version("12.2.1", sha256="088f303e0dc00fb4072b895c6ecb4e2a3ad9a2687b9c62153de05832cf242098")
+ version("12.0.1", sha256="eee7c19ca108538fa1c77a6651b084e06f59d7c3307dae77144136639ab55980")
+ version("11.14.3", sha256="e37fa5f69103576c89300e14d43ba77ad75998a54731008b25890d39892e6e60")
+ version("11.14.2", sha256="f22b2b0df7b88e28b992e19044ba72b845292b93cbbb3a948488199647381119")
+ version("11.14.1", sha256="f10fc0a496bf49427eb6871c80816d6e26822a39177d850cc62cf1484e4eec07")
# ###################### Variants ##########################
# Build options
- variant('complex', default=False, description='Enable complex numbers in Trilinos')
- variant('cuda_rdc', default=False, description='Turn on RDC for CUDA build')
- variant('rocm_rdc', default=False, description='Turn on RDC for ROCm build')
- variant('cxxstd', default='14', values=['11', '14', '17'], multi=False)
- variant('debug', default=False, description='Enable runtime safety and debug checks')
- variant('explicit_template_instantiation', default=True, description='Enable explicit template instantiation (ETI)')
- variant('float', default=False, description='Enable single precision (float) numbers in Trilinos')
- variant('fortran', default=True, description='Compile with Fortran support')
- variant('gotype', default='long_long',
- values=('int', 'long', 'long_long', 'all'),
- multi=False,
- description='global ordinal type for Tpetra')
- variant('openmp', default=False, description='Enable OpenMP')
- variant('python', default=False, description='Build PyTrilinos wrappers')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('uvm', default=False, when='@13.2: +cuda', description='Turn on UVM for CUDA build')
- variant('wrapper', default=False, description='Use nvcc-wrapper for CUDA build')
+ variant("complex", default=False, description="Enable complex numbers in Trilinos")
+ variant("cuda_rdc", default=False, description="Turn on RDC for CUDA build")
+ variant("rocm_rdc", default=False, description="Turn on RDC for ROCm build")
+ variant("cxxstd", default="14", values=["11", "14", "17"], multi=False)
+ variant("debug", default=False, description="Enable runtime safety and debug checks")
+ variant(
+ "explicit_template_instantiation",
+ default=True,
+ description="Enable explicit template instantiation (ETI)",
+ )
+ variant(
+ "float", default=False, description="Enable single precision (float) numbers in Trilinos"
+ )
+ variant("fortran", default=True, description="Compile with Fortran support")
+ variant(
+ "gotype",
+ default="long_long",
+ values=("int", "long", "long_long", "all"),
+ multi=False,
+ description="global ordinal type for Tpetra",
+ )
+ variant("openmp", default=False, description="Enable OpenMP")
+ variant("python", default=False, description="Build PyTrilinos wrappers")
+ variant("shared", default=True, description="Enables the build of shared libraries")
+ variant("uvm", default=False, when="@13.2: +cuda", description="Turn on UVM for CUDA build")
+ variant("wrapper", default=False, description="Use nvcc-wrapper for CUDA build")
# TPLs (alphabet order)
- variant('adios2', default=False, description='Enable ADIOS2')
- variant('boost', default=False, description='Compile with Boost')
- variant('hdf5', default=False, description='Compile with HDF5')
- variant('hypre', default=False, description='Compile with Hypre preconditioner')
- variant('mpi', default=True, description='Compile with MPI parallelism')
- variant('mumps', default=False, description='Compile with support for MUMPS solvers')
- variant('suite-sparse', default=False, description='Compile with SuiteSparse solvers')
- variant('superlu-dist', default=False, description='Compile with SuperluDist solvers')
- variant('superlu', default=False, description='Compile with SuperLU solvers')
- variant('strumpack', default=False, description='Compile with STRUMPACK solvers')
- variant('x11', default=False, description='Compile with X11 when +exodus')
+ variant("adios2", default=False, description="Enable ADIOS2")
+ variant("boost", default=False, description="Compile with Boost")
+ variant("hdf5", default=False, description="Compile with HDF5")
+ variant("hypre", default=False, description="Compile with Hypre preconditioner")
+ variant("mpi", default=True, description="Compile with MPI parallelism")
+ variant("mumps", default=False, description="Compile with support for MUMPS solvers")
+ variant("suite-sparse", default=False, description="Compile with SuiteSparse solvers")
+ variant("superlu-dist", default=False, description="Compile with SuperluDist solvers")
+ variant("superlu", default=False, description="Compile with SuperLU solvers")
+ variant("strumpack", default=False, description="Compile with STRUMPACK solvers")
+ variant("x11", default=False, description="Compile with X11 when +exodus")
# Package options (alphabet order)
- variant('adelus', default=False, description='Compile with Adelus')
- variant('amesos', default=True, description='Compile with Amesos')
- variant('amesos2', default=True, description='Compile with Amesos2')
- variant('anasazi', default=True, description='Compile with Anasazi')
- variant('aztec', default=True, description='Compile with Aztec')
- variant('belos', default=True, description='Compile with Belos')
- variant('chaco', default=False, description='Compile with Chaco from SEACAS')
- variant('epetra', default=True, description='Compile with Epetra')
- variant('epetraext', default=True, description='Compile with EpetraExt')
- variant('exodus', default=False, description='Compile with Exodus from SEACAS')
- variant('ifpack', default=True, description='Compile with Ifpack')
- variant('ifpack2', default=True, description='Compile with Ifpack2')
- variant('intrepid', default=False, description='Enable Intrepid')
- variant('intrepid2', default=False, description='Enable Intrepid2')
- variant('isorropia', default=False, description='Compile with Isorropia')
- variant('gtest', default=False, description='Build vendored Googletest')
- variant('kokkos', default=True, description='Compile with Kokkos')
- variant('ml', default=True, description='Compile with ML')
- variant('minitensor', default=False, description='Compile with MiniTensor')
- variant('muelu', default=True, description='Compile with Muelu')
- variant('nox', default=False, description='Compile with NOX')
- variant('panzer', default=False, description='Compile with Panzer')
- variant('piro', default=False, description='Compile with Piro')
- variant('phalanx', default=False, description='Compile with Phalanx')
- variant('rol', default=False, description='Compile with ROL')
- variant('rythmos', default=False, description='Compile with Rythmos')
- variant('sacado', default=True, description='Compile with Sacado')
- variant('stk', default=False, description='Compile with STK')
- variant('shards', default=False, description='Compile with Shards')
- variant('shylu', default=False, description='Compile with ShyLU')
- variant('stokhos', default=False, description='Compile with Stokhos')
- variant('stratimikos', default=False, description='Compile with Stratimikos')
- variant('teko', default=False, description='Compile with Teko')
- variant('tempus', default=False, description='Compile with Tempus')
- variant('thyra', default=False, description='Compile with Thyra')
- variant('tpetra', default=True, description='Compile with Tpetra')
- variant('trilinoscouplings', default=False, description='Compile with TrilinosCouplings')
- variant('zoltan', default=False, description='Compile with Zoltan')
- variant('zoltan2', default=False, description='Compile with Zoltan2')
+ variant("adelus", default=False, description="Compile with Adelus")
+ variant("amesos", default=True, description="Compile with Amesos")
+ variant("amesos2", default=True, description="Compile with Amesos2")
+ variant("anasazi", default=True, description="Compile with Anasazi")
+ variant("aztec", default=True, description="Compile with Aztec")
+ variant("belos", default=True, description="Compile with Belos")
+ variant("chaco", default=False, description="Compile with Chaco from SEACAS")
+ variant("epetra", default=True, description="Compile with Epetra")
+ variant("epetraext", default=True, description="Compile with EpetraExt")
+ variant("exodus", default=False, description="Compile with Exodus from SEACAS")
+ variant("ifpack", default=True, description="Compile with Ifpack")
+ variant("ifpack2", default=True, description="Compile with Ifpack2")
+ variant("intrepid", default=False, description="Enable Intrepid")
+ variant("intrepid2", default=False, description="Enable Intrepid2")
+ variant("isorropia", default=False, description="Compile with Isorropia")
+ variant("gtest", default=False, description="Build vendored Googletest")
+ variant("kokkos", default=True, description="Compile with Kokkos")
+ variant("ml", default=True, description="Compile with ML")
+ variant("minitensor", default=False, description="Compile with MiniTensor")
+ variant("muelu", default=True, description="Compile with Muelu")
+ variant("nox", default=False, description="Compile with NOX")
+ variant("panzer", default=False, description="Compile with Panzer")
+ variant("piro", default=False, description="Compile with Piro")
+ variant("phalanx", default=False, description="Compile with Phalanx")
+ variant("rol", default=False, description="Compile with ROL")
+ variant("rythmos", default=False, description="Compile with Rythmos")
+ variant("sacado", default=True, description="Compile with Sacado")
+ variant("stk", default=False, description="Compile with STK")
+ variant("shards", default=False, description="Compile with Shards")
+ variant("shylu", default=False, description="Compile with ShyLU")
+ variant("stokhos", default=False, description="Compile with Stokhos")
+ variant("stratimikos", default=False, description="Compile with Stratimikos")
+ variant("teko", default=False, description="Compile with Teko")
+ variant("tempus", default=False, description="Compile with Tempus")
+ variant("thyra", default=False, description="Compile with Thyra")
+ variant("tpetra", default=True, description="Compile with Tpetra")
+ variant("trilinoscouplings", default=False, description="Compile with TrilinosCouplings")
+ variant("zoltan", default=False, description="Compile with Zoltan")
+ variant("zoltan2", default=False, description="Compile with Zoltan2")
# Internal package options (alphabetical order)
- variant('basker', default=False, description='Compile with the Basker solver in Amesos2')
- variant('epetraextbtf', default=False, description='Compile with BTF in EpetraExt')
- variant('epetraextexperimental', default=False, description='Compile with experimental in EpetraExt')
- variant('epetraextgraphreorderings', default=False, description='Compile with graph reorderings in EpetraExt')
+ variant("basker", default=False, description="Compile with the Basker solver in Amesos2")
+ variant("epetraextbtf", default=False, description="Compile with BTF in EpetraExt")
+ variant(
+ "epetraextexperimental",
+ default=False,
+ description="Compile with experimental in EpetraExt",
+ )
+ variant(
+ "epetraextgraphreorderings",
+ default=False,
+ description="Compile with graph reorderings in EpetraExt",
+ )
# External package options
- variant('dtk', default=False, description='Enable DataTransferKit (deprecated)')
- variant('scorec', default=False, description='Enable SCOREC')
- variant('mesquite', default=False, description='Enable Mesquite (deprecated)')
-
- resource(name='dtk',
- git='https://github.com/ornl-cees/DataTransferKit.git',
- commit='4fe4d9d56cfd4f8a61f392b81d8efd0e389ee764', # branch dtk-3.0
- placement='DataTransferKit',
- when='+dtk @12.14.0:12.14')
- resource(name='dtk',
- git='https://github.com/ornl-cees/DataTransferKit.git',
- commit='edfa050cd46e2274ab0a0b7558caca0079c2e4ca', # tag 3.1-rc1
- placement='DataTransferKit',
- submodules=True,
- when='+dtk @12.18.0:12.18')
- resource(name='scorec',
- git='https://github.com/SCOREC/core.git',
- commit='73c16eae073b179e45ec625a5abe4915bc589af2', # tag v2.2.5
- placement='SCOREC',
- when='+scorec')
- resource(name='mesquite',
- url='https://github.com/trilinos/mesquite/archive/trilinos-release-12-12-1.tar.gz',
- sha256='e0d09b0939dbd461822477449dca611417316e8e8d8268fd795debb068edcbb5',
- placement='packages/mesquite',
- when='+mesquite @12.12.1:12.16')
- resource(name='mesquite',
- git='https://github.com/trilinos/mesquite.git',
- commit='20a679679b5cdf15bf573d66c5dc2b016e8b9ca1', # branch trilinos-release-12-12-1
- placement='packages/mesquite',
- when='+mesquite @12.18.1:12.18')
- resource(name='mesquite',
- git='https://github.com/trilinos/mesquite.git',
- tag='develop',
- placement='packages/mesquite',
- when='+mesquite @master')
+ variant("dtk", default=False, description="Enable DataTransferKit (deprecated)")
+ variant("scorec", default=False, description="Enable SCOREC")
+ variant("mesquite", default=False, description="Enable Mesquite (deprecated)")
+
+ resource(
+ name="dtk",
+ git="https://github.com/ornl-cees/DataTransferKit.git",
+ commit="4fe4d9d56cfd4f8a61f392b81d8efd0e389ee764", # branch dtk-3.0
+ placement="DataTransferKit",
+ when="+dtk @12.14.0:12.14",
+ )
+ resource(
+ name="dtk",
+ git="https://github.com/ornl-cees/DataTransferKit.git",
+ commit="edfa050cd46e2274ab0a0b7558caca0079c2e4ca", # tag 3.1-rc1
+ placement="DataTransferKit",
+ submodules=True,
+ when="+dtk @12.18.0:12.18",
+ )
+ resource(
+ name="scorec",
+ git="https://github.com/SCOREC/core.git",
+ commit="73c16eae073b179e45ec625a5abe4915bc589af2", # tag v2.2.5
+ placement="SCOREC",
+ when="+scorec",
+ )
+ resource(
+ name="mesquite",
+ url="https://github.com/trilinos/mesquite/archive/trilinos-release-12-12-1.tar.gz",
+ sha256="e0d09b0939dbd461822477449dca611417316e8e8d8268fd795debb068edcbb5",
+ placement="packages/mesquite",
+ when="+mesquite @12.12.1:12.16",
+ )
+ resource(
+ name="mesquite",
+ git="https://github.com/trilinos/mesquite.git",
+ commit="20a679679b5cdf15bf573d66c5dc2b016e8b9ca1", # branch trilinos-release-12-12-1
+ placement="packages/mesquite",
+ when="+mesquite @12.18.1:12.18",
+ )
+ resource(
+ name="mesquite",
+ git="https://github.com/trilinos/mesquite.git",
+ tag="develop",
+ placement="packages/mesquite",
+ when="+mesquite @master",
+ )
# ###################### Conflicts ##########################
# Epetra stack
- with when('~epetra'):
- conflicts('+amesos')
- conflicts('+aztec')
- conflicts('+epetraext')
- conflicts('+ifpack')
- conflicts('+isorropia')
- conflicts('+ml', when='@13.2:')
- with when('~epetraext'):
- conflicts('+isorropia')
- conflicts('+teko')
- conflicts('+epetraextbtf')
- conflicts('+epetraextexperimental')
- conflicts('+epetraextgraphreorderings')
- with when('+teko'):
- conflicts('~stratimikos')
- conflicts('@:12 gotype=long')
- with when('+piro'):
- conflicts('~stratimikos')
- conflicts('~nox')
+ with when("~epetra"):
+ conflicts("+amesos")
+ conflicts("+aztec")
+ conflicts("+epetraext")
+ conflicts("+ifpack")
+ conflicts("+isorropia")
+ conflicts("+ml", when="@13.2:")
+ with when("~epetraext"):
+ conflicts("+isorropia")
+ conflicts("+teko")
+ conflicts("+epetraextbtf")
+ conflicts("+epetraextexperimental")
+ conflicts("+epetraextgraphreorderings")
+ with when("+teko"):
+ conflicts("~stratimikos")
+ conflicts("@:12 gotype=long")
+ with when("+piro"):
+ conflicts("~stratimikos")
+ conflicts("~nox")
# Tpetra stack
- with when('~kokkos'):
- conflicts('+cuda')
- conflicts('+rocm')
- conflicts('+tpetra')
- conflicts('+intrepid2')
- conflicts('+phalanx')
- with when('~tpetra'):
- conflicts('+amesos2')
- conflicts('+dtk')
- conflicts('+ifpack2')
- conflicts('+muelu')
- conflicts('+teko')
- conflicts('+zoltan2')
-
- with when('~zoltan'):
- conflicts('+isorropia')
- conflicts('+scorec')
- conflicts('+shylu')
- conflicts('+zoltan2')
- with when('~shards'):
- conflicts('+intrepid')
- conflicts('+intrepid2')
- conflicts('+scorec')
- conflicts('+stk')
- with when('+scorec'):
- conflicts('~mpi')
- conflicts('~stk')
+ with when("~kokkos"):
+ conflicts("+cuda")
+ conflicts("+rocm")
+ conflicts("+tpetra")
+ conflicts("+intrepid2")
+ conflicts("+phalanx")
+ with when("~tpetra"):
+ conflicts("+amesos2")
+ conflicts("+dtk")
+ conflicts("+ifpack2")
+ conflicts("+muelu")
+ conflicts("+teko")
+ conflicts("+zoltan2")
+
+ with when("~zoltan"):
+ conflicts("+isorropia")
+ conflicts("+scorec")
+ conflicts("+shylu")
+ conflicts("+zoltan2")
+ with when("~shards"):
+ conflicts("+intrepid")
+ conflicts("+intrepid2")
+ conflicts("+scorec")
+ conflicts("+stk")
+ with when("+scorec"):
+ conflicts("~mpi")
+ conflicts("~stk")
# Panzer is not gen-2 library
- with when('+panzer'):
- conflicts('~intrepid2')
- conflicts('~mpi')
- conflicts('~phalanx')
- conflicts('~sacado')
- conflicts('~tpetra')
- conflicts('~thyra')
- conflicts('~zoltan')
- conflicts('~nox')
- conflicts('~rythmos')
- conflicts('~piro')
- conflicts('~stratimikos')
- conflicts('~stk')
- conflicts('~ml')
- conflicts('~ifpack')
- conflicts('~aztec')
+ with when("+panzer"):
+ conflicts("~intrepid2")
+ conflicts("~mpi")
+ conflicts("~phalanx")
+ conflicts("~sacado")
+ conflicts("~tpetra")
+ conflicts("~thyra")
+ conflicts("~zoltan")
+ conflicts("~nox")
+ conflicts("~rythmos")
+ conflicts("~piro")
+ conflicts("~stratimikos")
+ conflicts("~stk")
+ conflicts("~ml")
+ conflicts("~ifpack")
+ conflicts("~aztec")
# Known requirements from tribits dependencies
- conflicts('~thyra', when='+stratimikos')
- conflicts('+adelus', when='~kokkos')
- conflicts('+aztec', when='~fortran')
- conflicts('+basker', when='~amesos2')
- conflicts('+ifpack2', when='~belos')
- conflicts('+intrepid', when='~sacado')
- conflicts('+minitensor', when='~boost')
- conflicts('+phalanx', when='~sacado')
- conflicts('+stokhos', when='~kokkos')
- conflicts('+tempus', when='~nox')
+ conflicts("~thyra", when="+stratimikos")
+ conflicts("+adelus", when="~kokkos")
+ conflicts("+aztec", when="~fortran")
+ conflicts("+basker", when="~amesos2")
+ conflicts("+ifpack2", when="~belos")
+ conflicts("+intrepid", when="~sacado")
+ conflicts("+minitensor", when="~boost")
+ conflicts("+phalanx", when="~sacado")
+ conflicts("+stokhos", when="~kokkos")
+ conflicts("+tempus", when="~nox")
# Only allow DTK with Trilinos 12.14, 12.18
- conflicts('+dtk', when='~boost')
- conflicts('+dtk', when='~intrepid2')
- conflicts('+dtk', when='@:12.12,13:')
+ conflicts("+dtk", when="~boost")
+ conflicts("+dtk", when="~intrepid2")
+ conflicts("+dtk", when="@:12.12,13:")
# Installed FindTrilinos are broken in SEACAS if Fortran is disabled
# see https://github.com/trilinos/Trilinos/issues/3346
- conflicts('+exodus', when='@:13.0.1 ~fortran')
+ conflicts("+exodus", when="@:13.0.1 ~fortran")
# Only allow Mesquite with Trilinos 12.12 and up, and master
- conflicts('+mesquite', when='@:12.10,master')
+ conflicts("+mesquite", when="@:12.10,master")
# Strumpack is only available as of mid-2021
- conflicts('+strumpack', when='@:13.0')
+ conflicts("+strumpack", when="@:13.0")
# Can only use one type of SuperLU
- conflicts('+superlu-dist', when='+superlu')
+ conflicts("+superlu-dist", when="+superlu")
# For Trilinos v11 we need to force SuperLUDist=OFF, since only the
# deprecated SuperLUDist v3.3 together with an Amesos patch is working.
- conflicts('+superlu-dist', when='@11.4.1:11.14.3')
+ conflicts("+superlu-dist", when="@11.4.1:11.14.3")
# see https://github.com/trilinos/Trilinos/issues/3566
- conflicts('+superlu-dist', when='+float+amesos2+explicit_template_instantiation^superlu-dist@5.3.0:')
+ conflicts(
+ "+superlu-dist", when="+float+amesos2+explicit_template_instantiation^superlu-dist@5.3.0:"
+ )
# Amesos, conflicting types of double and complex SLU_D
# see https://trilinos.org/pipermail/trilinos-users/2015-March/004731.html
# and https://trilinos.org/pipermail/trilinos-users/2015-March/004802.html
- conflicts('+superlu-dist', when='+complex+amesos2')
+ conflicts("+superlu-dist", when="+complex+amesos2")
# 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.'
+ "+shared",
+ when="+stk platform=darwin",
+ msg="Cannot build Trilinos with STK as a shared library on Darwin.",
)
- conflicts('+adios2', when='@:12.14.1')
- conflicts('cxxstd=11', when='@13.2:')
- conflicts('cxxstd=17', when='@:12')
- 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')
+ conflicts("+adios2", when="@:12.14.1")
+ conflicts("cxxstd=11", when="@13.2:")
+ conflicts("cxxstd=17", when="@:12")
+ 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")
# Multi-value gotype only applies to trilinos through 12.14
- conflicts('gotype=all', when='@12.15:')
+ conflicts("gotype=all", when="@12.15:")
# CUDA without wrapper requires clang
for _compiler in spack.compilers.supported_compilers():
- if _compiler != 'clang':
- conflicts('+cuda', when='~wrapper %' + _compiler,
- msg='trilinos~wrapper+cuda can only be built with the '
- 'Clang compiler')
- conflicts('+cuda_rdc', when='~cuda')
- conflicts('+rocm_rdc', when='~rocm')
- conflicts('+wrapper', when='~cuda')
- conflicts('+wrapper', when='%clang')
+ if _compiler != "clang":
+ conflicts(
+ "+cuda",
+ when="~wrapper %" + _compiler,
+ msg="trilinos~wrapper+cuda can only be built with the " "Clang compiler",
+ )
+ conflicts("+cuda_rdc", when="~cuda")
+ conflicts("+rocm_rdc", when="~rocm")
+ conflicts("+wrapper", when="~cuda")
+ conflicts("+wrapper", when="%clang")
# Old trilinos fails with new CUDA (see #27180)
- conflicts('@:13.0.1 +cuda', when='^cuda@11:')
+ conflicts("@:13.0.1 +cuda", when="^cuda@11:")
# Build hangs with CUDA 11.6 (see #28439)
- conflicts('+cuda +stokhos', when='^cuda@11.6:')
+ conflicts("+cuda +stokhos", when="^cuda@11.6:")
# Cuda UVM must be enabled prior to 13.2
# See https://github.com/spack/spack/issues/28869
- conflicts('~uvm', when='@:13.1 +cuda')
+ conflicts("~uvm", when="@:13.1 +cuda")
# stokhos fails on xl/xl_r
- conflicts('+stokhos', when='%xl')
- conflicts('+stokhos', when='%xl_r')
+ conflicts("+stokhos", when="%xl")
+ conflicts("+stokhos", when="%xl_r")
# ###################### Dependencies ##########################
- depends_on('adios2', when='+adios2')
- depends_on('blas')
- depends_on('boost+graph+math+exception+stacktrace', when='+boost')
+ depends_on("adios2", when="+adios2")
+ depends_on("blas")
+ depends_on("boost+graph+math+exception+stacktrace", when="+boost")
# Need to revisit the requirement of STK
- depends_on('boost+graph+math+exception+stacktrace', when='+stk')
+ depends_on("boost+graph+math+exception+stacktrace", when="+stk")
#
- depends_on('cgns', when='+exodus')
- depends_on('hdf5+hl', when='+hdf5')
- depends_on('hypre~internal-superlu~int64', when='+hypre')
- depends_on('kokkos-nvcc-wrapper', when='+wrapper')
- depends_on('lapack')
+ depends_on("cgns", when="+exodus")
+ depends_on("hdf5+hl", when="+hdf5")
+ depends_on("hypre~internal-superlu~int64", when="+hypre")
+ depends_on("kokkos-nvcc-wrapper", when="+wrapper")
+ depends_on("lapack")
# depends_on('perl', type=('build',)) # TriBITS finds but doesn't use...
- depends_on('libx11', when='+x11')
- depends_on('matio', when='+exodus')
- depends_on('metis', when='+zoltan')
- depends_on('mpi', when='+mpi')
- depends_on('netcdf-c', when="+exodus")
- depends_on('parallel-netcdf', when='+exodus+mpi')
- depends_on('parmetis', when='+mpi +zoltan')
- depends_on('parmetis', when='+scorec')
- depends_on('py-mpi4py', when='+mpi+python', type=('build', 'run'))
- depends_on('py-numpy', when='+python', type=('build', 'run'))
- depends_on('python', when='+python')
- depends_on('python', when='@13.2: +ifpack +hypre', type='build')
- depends_on('python', when='@13.2: +ifpack2 +hypre', type='build')
- depends_on('scalapack', when='+mumps')
- depends_on('scalapack', when='+strumpack+mpi')
- depends_on('strumpack+shared', when='+strumpack')
- depends_on('suite-sparse', when='+suite-sparse')
- depends_on('superlu-dist', when='+superlu-dist')
- depends_on('superlu@4.3 +pic', when='+superlu')
- depends_on('swig', when='+python')
- depends_on('zlib', when='+zoltan')
+ depends_on("libx11", when="+x11")
+ depends_on("matio", when="+exodus")
+ depends_on("metis", when="+zoltan")
+ depends_on("mpi", when="+mpi")
+ depends_on("netcdf-c", when="+exodus")
+ depends_on("parallel-netcdf", when="+exodus+mpi")
+ depends_on("parmetis", when="+mpi +zoltan")
+ depends_on("parmetis", when="+scorec")
+ depends_on("py-mpi4py", when="+mpi+python", type=("build", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "run"))
+ depends_on("python", when="+python")
+ depends_on("python", when="@13.2: +ifpack +hypre", type="build")
+ depends_on("python", when="@13.2: +ifpack2 +hypre", type="build")
+ depends_on("scalapack", when="+mumps")
+ depends_on("scalapack", when="+strumpack+mpi")
+ depends_on("strumpack+shared", when="+strumpack")
+ depends_on("suite-sparse", when="+suite-sparse")
+ depends_on("superlu-dist", when="+superlu-dist")
+ depends_on("superlu@4.3 +pic", when="+superlu")
+ depends_on("swig", when="+python")
+ depends_on("zlib", when="+zoltan")
# Trilinos' Tribits config system is limited which makes it very tricky to
# link Amesos with static MUMPS, see
@@ -365,71 +406,75 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# (or alike) and adding results to -DTrilinos_EXTRA_LINK_FLAGS together
# with Blas and Lapack and ScaLAPACK and Blacs and -lgfortran and it may
# work at the end. But let's avoid all this by simply using shared libs
- depends_on('mumps@5.0:+shared', when='+mumps')
-
- for _flag in ('~mpi', '+mpi'):
- depends_on('hdf5' + _flag, when='+hdf5' + _flag)
- depends_on('mumps' + _flag, when='+mumps' + _flag)
- for _flag in ('~openmp', '+openmp'):
- depends_on('mumps' + _flag, when='+mumps' + _flag)
-
- depends_on('hwloc', when='@13: +kokkos')
- depends_on('hwloc+cuda', when='@13: +kokkos+cuda')
- depends_on('hypre@develop', when='@master: +hypre')
- depends_on('netcdf-c+mpi+parallel-netcdf', when="+exodus+mpi@12.12.1:")
- 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:99 +superlu-dist')
- depends_on('superlu-dist@:4.3', when='@11.14.1:12.6.1+superlu-dist')
- depends_on('superlu-dist@develop', when='@master: +superlu-dist')
+ depends_on("mumps@5.0:+shared", when="+mumps")
+
+ for _flag in ("~mpi", "+mpi"):
+ depends_on("hdf5" + _flag, when="+hdf5" + _flag)
+ depends_on("mumps" + _flag, when="+mumps" + _flag)
+ for _flag in ("~openmp", "+openmp"):
+ depends_on("mumps" + _flag, when="+mumps" + _flag)
+
+ depends_on("hwloc", when="@13: +kokkos")
+ depends_on("hwloc+cuda", when="@13: +kokkos+cuda")
+ depends_on("hypre@develop", when="@master: +hypre")
+ depends_on("netcdf-c+mpi+parallel-netcdf", when="+exodus+mpi@12.12.1:")
+ 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:99 +superlu-dist")
+ depends_on("superlu-dist@:4.3", when="@11.14.1:12.6.1+superlu-dist")
+ depends_on("superlu-dist@develop", when="@master: +superlu-dist")
# ###################### Patches ##########################
- patch('umfpack_from_suitesparse.patch', when='@11.14.1:12.8.1')
- 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:12%cce')
- patch('https://patch-diff.githubusercontent.com/raw/trilinos/Trilinos/pull/10545.patch?full_index=1',
- sha256='62272054f7cc644583c269e692c69f0a26af19e5a5bd262db3ea3de3447b3358',
- when='@:13.4.0 +complex')
+ patch("umfpack_from_suitesparse.patch", when="@11.14.1:12.8.1")
+ 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:12%cce")
+ patch(
+ "https://patch-diff.githubusercontent.com/raw/trilinos/Trilinos/pull/10545.patch?full_index=1",
+ sha256="62272054f7cc644583c269e692c69f0a26af19e5a5bd262db3ea3de3447b3358",
+ when="@:13.4.0 +complex",
+ )
# workaround an NVCC bug with c++14 (https://github.com/trilinos/Trilinos/issues/6954)
# avoid calling deprecated functions with CUDA-11
- patch('fix_cxx14_cuda11.patch', when='@13.0.0:13.0.1 cxxstd=14 ^cuda@11:')
+ patch("fix_cxx14_cuda11.patch", when="@13.0.0:13.0.1 cxxstd=14 ^cuda@11:")
# Allow building with +teko gotype=long
- patch('https://github.com/trilinos/Trilinos/commit/b17f20a0b91e0b9fc5b1b0af3c8a34e2a4874f3f.patch?full_index=1',
- sha256='063a38f402439fa39fd8d57315a321e6510adcd04aec5400a88e744aaa60bc8e',
- when='@13.0.0:13.0.1 +teko gotype=long')
+ patch(
+ "https://github.com/trilinos/Trilinos/commit/b17f20a0b91e0b9fc5b1b0af3c8a34e2a4874f3f.patch?full_index=1",
+ sha256="063a38f402439fa39fd8d57315a321e6510adcd04aec5400a88e744aaa60bc8e",
+ when="@13.0.0:13.0.1 +teko gotype=long",
+ )
def flag_handler(self, name, flags):
- is_cce = self.spec.satisfies('%cce')
+ is_cce = self.spec.satisfies("%cce")
spec = self.spec
- if name == 'cxxflags':
- if '+mumps' in spec:
+ if name == "cxxflags":
+ if "+mumps" in spec:
# see https://github.com/trilinos/Trilinos/blob/master/packages/amesos/README-MUMPS
- flags.append('-DMUMPS_5_0')
- if '+stk platform=darwin' in spec:
- flags.append('-DSTK_NO_BOOST_STACKTRACE')
- if '+stk%intel' in spec:
+ flags.append("-DMUMPS_5_0")
+ if "+stk platform=darwin" in spec:
+ flags.append("-DSTK_NO_BOOST_STACKTRACE")
+ if "+stk%intel" in spec:
# Workaround for Intel compiler segfaults with STK and IPO
- flags.append('-no-ipo')
- if '+wrapper' in spec:
- flags.append('--expt-extended-lambda')
- elif name == 'ldflags':
+ flags.append("-no-ipo")
+ if "+wrapper" in spec:
+ flags.append("--expt-extended-lambda")
+ elif name == "ldflags":
if is_cce:
- flags.append('-fuse-ld=gold')
- if spec.satisfies('platform=linux ~cuda'):
+ flags.append("-fuse-ld=gold")
+ if spec.satisfies("platform=linux ~cuda"):
# TriBITS explicitly links libraries against all transitive
# dependencies, leading to O(N^2) library resolution. When
# CUDA is enabled (possibly only with MPI as well) the linker
# flag does not propagate correctly.
- flags.append('-Wl,--as-needed')
- elif spec.satisfies('+stk +shared platform=darwin'):
- flags.append('-Wl,-undefined,dynamic_lookup')
+ flags.append("-Wl,--as-needed")
+ elif spec.satisfies("+stk +shared platform=darwin"):
+ flags.append("-Wl,-undefined,dynamic_lookup")
if is_cce:
return (None, None, flags)
@@ -440,38 +485,38 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
return url.format(version.dashed)
def setup_dependent_run_environment(self, env, dependent_spec):
- if '+cuda' in self.spec:
+ if "+cuda" in self.spec:
# currently Trilinos doesn't perform the memory fence so
# it relies on blocking CUDA kernel launch. This is needed
# in case the dependent app also run a CUDA backend via Trilinos
- env.set('CUDA_LAUNCH_BLOCKING', '1')
+ env.set("CUDA_LAUNCH_BLOCKING", "1")
def setup_dependent_package(self, module, dependent_spec):
- if '+wrapper' in self.spec:
+ if "+wrapper" in self.spec:
self.spec.kokkos_cxx = self.spec["kokkos-nvcc-wrapper"].kokkos_cxx
else:
self.spec.kokkos_cxx = spack_cxx
def setup_build_environment(self, env):
spec = self.spec
- if '+cuda' in spec and '+wrapper' in spec:
- if '+mpi' in spec:
- env.set('OMPI_CXX', spec["kokkos-nvcc-wrapper"].kokkos_cxx)
- env.set('MPICH_CXX', spec["kokkos-nvcc-wrapper"].kokkos_cxx)
- env.set('MPICXX_CXX', spec["kokkos-nvcc-wrapper"].kokkos_cxx)
+ if "+cuda" in spec and "+wrapper" in spec:
+ if "+mpi" in spec:
+ env.set("OMPI_CXX", spec["kokkos-nvcc-wrapper"].kokkos_cxx)
+ env.set("MPICH_CXX", spec["kokkos-nvcc-wrapper"].kokkos_cxx)
+ env.set("MPICXX_CXX", spec["kokkos-nvcc-wrapper"].kokkos_cxx)
else:
- env.set('CXX', spec["kokkos-nvcc-wrapper"].kokkos_cxx)
+ env.set("CXX", spec["kokkos-nvcc-wrapper"].kokkos_cxx)
- if '+rocm' in spec:
- if '+mpi' in spec:
- env.set('OMPI_CXX', self.spec['hip'].hipcc)
- env.set('MPICH_CXX', self.spec['hip'].hipcc)
- env.set('MPICXX_CXX', self.spec['hip'].hipcc)
+ if "+rocm" in spec:
+ if "+mpi" in spec:
+ env.set("OMPI_CXX", self.spec["hip"].hipcc)
+ env.set("MPICH_CXX", self.spec["hip"].hipcc)
+ env.set("MPICXX_CXX", self.spec["hip"].hipcc)
else:
- env.set('CXX', self.spec['hip'].hipcc)
- if '+stk' in spec:
+ env.set("CXX", self.spec["hip"].hipcc)
+ if "+stk" in spec:
# Using CXXFLAGS for hipcc which doesn't use flags in the spack wrappers
- env.set('CXXFLAGS', '-DSTK_NO_BOOST_STACKTRACE')
+ env.set("CXXFLAGS", "-DSTK_NO_BOOST_STACKTRACE")
def cmake_args(self):
options = []
@@ -490,6 +535,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# Explicit true/false
return define(key, value)
return define_from_variant(key, value)
+
return define_enable
# Return "Trilinos_ENABLE_XXX" for spec "+xxx" or boolean value
@@ -499,125 +545,142 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# #################### Base Settings #######################
- options.extend([
- define('Trilinos_VERBOSE_CONFIGURE', False),
- define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- define_trilinos_enable('ALL_OPTIONAL_PACKAGES', False),
- define_trilinos_enable('ALL_PACKAGES', False),
- define_trilinos_enable('CXX11', True),
- define_trilinos_enable('DEBUG', 'debug'),
- define_trilinos_enable('EXAMPLES', False),
- define_trilinos_enable('SECONDARY_TESTED_CODE', True),
- define_trilinos_enable('TESTS', False),
- define_trilinos_enable('Fortran'),
- define_trilinos_enable('OpenMP'),
- define_trilinos_enable('EXPLICIT_INSTANTIATION',
- 'explicit_template_instantiation')
- ])
-
- if spec.version >= Version('13'):
- options.append(define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
+ options.extend(
+ [
+ define("Trilinos_VERBOSE_CONFIGURE", False),
+ define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ define_trilinos_enable("ALL_OPTIONAL_PACKAGES", False),
+ define_trilinos_enable("ALL_PACKAGES", False),
+ define_trilinos_enable("CXX11", True),
+ define_trilinos_enable("DEBUG", "debug"),
+ define_trilinos_enable("EXAMPLES", False),
+ define_trilinos_enable("SECONDARY_TESTED_CODE", True),
+ define_trilinos_enable("TESTS", False),
+ define_trilinos_enable("Fortran"),
+ define_trilinos_enable("OpenMP"),
+ define_trilinos_enable(
+ "EXPLICIT_INSTANTIATION", "explicit_template_instantiation"
+ ),
+ ]
+ )
+
+ if spec.version >= Version("13"):
+ options.append(define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"))
else:
# Prior to version 13, Trilinos would erroneously inject
# '-std=c++11' regardless of CMAKE_CXX_STANDARD value
- options.append(define(
- 'Trilinos_CXX11_FLAGS',
- self.compiler.cxx14_flag
- if spec.variants['cxxstd'].value == '14'
- else self.compiler.cxx11_flag
- ))
+ options.append(
+ define(
+ "Trilinos_CXX11_FLAGS",
+ self.compiler.cxx14_flag
+ if spec.variants["cxxstd"].value == "14"
+ else self.compiler.cxx11_flag,
+ )
+ )
# ################## Trilinos Packages #####################
- options.extend([
- define_trilinos_enable('Adelus'),
- define_trilinos_enable('Amesos'),
- define_trilinos_enable('Amesos2'),
- define_trilinos_enable('Anasazi'),
- define_trilinos_enable('AztecOO', 'aztec'),
- define_trilinos_enable('Belos'),
- define_trilinos_enable('Epetra'),
- define_trilinos_enable('EpetraExt'),
- define_trilinos_enable('FEI', False),
- define_trilinos_enable('Gtest'),
- define_trilinos_enable('Ifpack'),
- define_trilinos_enable('Ifpack2'),
- define_trilinos_enable('Intrepid'),
- define_trilinos_enable('Intrepid2'),
- define_trilinos_enable('Isorropia'),
- define_trilinos_enable('Kokkos'),
- define_trilinos_enable('MiniTensor'),
- define_trilinos_enable('Mesquite'),
- define_trilinos_enable('ML'),
- define_trilinos_enable('MueLu'),
- define_trilinos_enable('NOX'),
- define_trilinos_enable('Pamgen', False),
- define_trilinos_enable('Panzer'),
- define_trilinos_enable('Pike', False),
- define_trilinos_enable('Piro'),
- define_trilinos_enable('Phalanx'),
- define_trilinos_enable('PyTrilinos', 'python'),
- define_trilinos_enable('ROL'),
- define_trilinos_enable('Rythmos'),
- define_trilinos_enable('Sacado'),
- define_trilinos_enable('SCOREC'),
- define_trilinos_enable('Shards'),
- define_trilinos_enable('ShyLU'),
- define_trilinos_enable('STK'),
- define_trilinos_enable('Stokhos'),
- define_trilinos_enable('Stratimikos'),
- define_trilinos_enable('Teko'),
- define_trilinos_enable('Tempus'),
- define_trilinos_enable('Thyra'),
- define_trilinos_enable('Tpetra'),
- define_trilinos_enable('TrilinosCouplings'),
- define_trilinos_enable('Triutils', True),
- define_trilinos_enable('Zoltan'),
- define_trilinos_enable('Zoltan2'),
- define_from_variant('EpetraExt_BUILD_BTF', 'epetraextbtf'),
- define_from_variant('EpetraExt_BUILD_EXPERIMENTAL',
- 'epetraextexperimental'),
- define_from_variant('EpetraExt_BUILD_GRAPH_REORDERINGS',
- 'epetraextgraphreorderings'),
- define_from_variant('Amesos2_ENABLE_Basker', 'basker'),
- define_from_variant('Amesos2_ENABLE_LAPACK', 'amesos2'),
- ])
-
- if '+dtk' in spec:
- options.extend([
- define('Trilinos_EXTRA_REPOSITORIES', 'DataTransferKit'),
- define_trilinos_enable('DataTransferKit', True),
- ])
-
- if '+exodus' in spec:
- options.extend([
- define_trilinos_enable('SEACAS', True),
- define_trilinos_enable('SEACASExodus', True),
- define_trilinos_enable('SEACASIoss', True),
- define_trilinos_enable('SEACASEpu', True),
- define_trilinos_enable('SEACASExodiff', True),
- define_trilinos_enable('SEACASNemspread', True),
- define_trilinos_enable('SEACASNemslice', True),
- ])
+ options.extend(
+ [
+ define_trilinos_enable("Adelus"),
+ define_trilinos_enable("Amesos"),
+ define_trilinos_enable("Amesos2"),
+ define_trilinos_enable("Anasazi"),
+ define_trilinos_enable("AztecOO", "aztec"),
+ define_trilinos_enable("Belos"),
+ define_trilinos_enable("Epetra"),
+ define_trilinos_enable("EpetraExt"),
+ define_trilinos_enable("FEI", False),
+ define_trilinos_enable("Gtest"),
+ define_trilinos_enable("Ifpack"),
+ define_trilinos_enable("Ifpack2"),
+ define_trilinos_enable("Intrepid"),
+ define_trilinos_enable("Intrepid2"),
+ define_trilinos_enable("Isorropia"),
+ define_trilinos_enable("Kokkos"),
+ define_trilinos_enable("MiniTensor"),
+ define_trilinos_enable("Mesquite"),
+ define_trilinos_enable("ML"),
+ define_trilinos_enable("MueLu"),
+ define_trilinos_enable("NOX"),
+ define_trilinos_enable("Pamgen", False),
+ define_trilinos_enable("Panzer"),
+ define_trilinos_enable("Pike", False),
+ define_trilinos_enable("Piro"),
+ define_trilinos_enable("Phalanx"),
+ define_trilinos_enable("PyTrilinos", "python"),
+ define_trilinos_enable("ROL"),
+ define_trilinos_enable("Rythmos"),
+ define_trilinos_enable("Sacado"),
+ define_trilinos_enable("SCOREC"),
+ define_trilinos_enable("Shards"),
+ define_trilinos_enable("ShyLU"),
+ define_trilinos_enable("STK"),
+ define_trilinos_enable("Stokhos"),
+ define_trilinos_enable("Stratimikos"),
+ define_trilinos_enable("Teko"),
+ define_trilinos_enable("Tempus"),
+ define_trilinos_enable("Thyra"),
+ define_trilinos_enable("Tpetra"),
+ define_trilinos_enable("TrilinosCouplings"),
+ define_trilinos_enable("Triutils", True),
+ define_trilinos_enable("Zoltan"),
+ define_trilinos_enable("Zoltan2"),
+ define_from_variant("EpetraExt_BUILD_BTF", "epetraextbtf"),
+ define_from_variant("EpetraExt_BUILD_EXPERIMENTAL", "epetraextexperimental"),
+ define_from_variant(
+ "EpetraExt_BUILD_GRAPH_REORDERINGS", "epetraextgraphreorderings"
+ ),
+ define_from_variant("Amesos2_ENABLE_Basker", "basker"),
+ define_from_variant("Amesos2_ENABLE_LAPACK", "amesos2"),
+ ]
+ )
+
+ if "+dtk" in spec:
+ options.extend(
+ [
+ define("Trilinos_EXTRA_REPOSITORIES", "DataTransferKit"),
+ define_trilinos_enable("DataTransferKit", True),
+ ]
+ )
+
+ if "+exodus" in spec:
+ options.extend(
+ [
+ define_trilinos_enable("SEACAS", True),
+ define_trilinos_enable("SEACASExodus", True),
+ define_trilinos_enable("SEACASIoss", True),
+ define_trilinos_enable("SEACASEpu", True),
+ define_trilinos_enable("SEACASExodiff", True),
+ define_trilinos_enable("SEACASNemspread", True),
+ define_trilinos_enable("SEACASNemslice", True),
+ ]
+ )
else:
- options.extend([
- define_trilinos_enable('SEACASExodus', False),
- define_trilinos_enable('SEACASIoss', False),
- ])
-
- if '+chaco' in spec:
- options.extend([
- define_trilinos_enable('SEACAS', True),
- define_trilinos_enable('SEACASChaco', True),
- ])
+ options.extend(
+ [
+ define_trilinos_enable("SEACASExodus", False),
+ define_trilinos_enable("SEACASIoss", False),
+ ]
+ )
+
+ if "+chaco" in spec:
+ options.extend(
+ [
+ define_trilinos_enable("SEACAS", True),
+ define_trilinos_enable("SEACASChaco", True),
+ ]
+ )
else:
# don't disable SEACAS, could be needed elsewhere
- options.extend([
- define_trilinos_enable('SEACASChaco', False),
- define_trilinos_enable('SEACASNemslice', False)
- ])
+ options.extend(
+ [
+ define_trilinos_enable("SEACASChaco", False),
+ define_trilinos_enable("SEACASNemslice", False),
+ ]
+ )
- if '+stratimikos' in spec:
+ if "+stratimikos" in spec:
# Explicitly enable Thyra (ThyraCore is required). If you don't do
# this, then you get "NOT setting ${pkg}_ENABLE_Thyra=ON since
# Thyra is NOT enabled at this point!" leading to eventual build
@@ -626,48 +689,52 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# Add thyra adapters based on package enables
options.extend(
- define_trilinos_enable('Thyra' + pkg + 'Adapters', pkg.lower())
- for pkg in ['Epetra', 'EpetraExt', 'Tpetra'])
+ define_trilinos_enable("Thyra" + pkg + "Adapters", pkg.lower())
+ for pkg in ["Epetra", "EpetraExt", "Tpetra"]
+ )
# ######################### TPLs #############################
def define_tpl(trilinos_name, spack_name, have_dep):
- options.append(define('TPL_ENABLE_' + trilinos_name, have_dep))
+ options.append(define("TPL_ENABLE_" + trilinos_name, have_dep))
if not have_dep:
return
depspec = spec[spack_name]
libs = depspec.libs
try:
- options.extend([
- define(trilinos_name + '_INCLUDE_DIRS',
- depspec.headers.directories),
- ])
+ options.extend(
+ [
+ define(trilinos_name + "_INCLUDE_DIRS", depspec.headers.directories),
+ ]
+ )
except NoHeadersError:
# Handle case were depspec does not have headers
pass
- options.extend([
- define(trilinos_name + '_ROOT', depspec.prefix),
- define(trilinos_name + '_LIBRARY_NAMES', libs.names),
- define(trilinos_name + '_LIBRARY_DIRS', libs.directories),
- ])
+ options.extend(
+ [
+ define(trilinos_name + "_ROOT", depspec.prefix),
+ define(trilinos_name + "_LIBRARY_NAMES", libs.names),
+ define(trilinos_name + "_LIBRARY_DIRS", libs.directories),
+ ]
+ )
# Enable these TPLs explicitly from variant options.
# Format is (TPL name, variant name, Spack spec name)
tpl_variant_map = [
- ('ADIOS2', 'adios2', 'adios2'),
- ('Boost', 'boost', 'boost'),
- ('CUDA', 'cuda', 'cuda'),
- ('HDF5', 'hdf5', 'hdf5'),
- ('HYPRE', 'hypre', 'hypre'),
- ('MUMPS', 'mumps', 'mumps'),
- ('UMFPACK', 'suite-sparse', 'suite-sparse'),
- ('SuperLU', 'superlu', 'superlu'),
- ('SuperLUDist', 'superlu-dist', 'superlu-dist'),
- ('X11', 'x11', 'libx11'),
+ ("ADIOS2", "adios2", "adios2"),
+ ("Boost", "boost", "boost"),
+ ("CUDA", "cuda", "cuda"),
+ ("HDF5", "hdf5", "hdf5"),
+ ("HYPRE", "hypre", "hypre"),
+ ("MUMPS", "mumps", "mumps"),
+ ("UMFPACK", "suite-sparse", "suite-sparse"),
+ ("SuperLU", "superlu", "superlu"),
+ ("SuperLUDist", "superlu-dist", "superlu-dist"),
+ ("X11", "x11", "libx11"),
]
- if spec.satisfies('@13.0.2:'):
- tpl_variant_map.append(('STRUMPACK', 'strumpack', 'strumpack'))
+ if spec.satisfies("@13.0.2:"):
+ tpl_variant_map.append(("STRUMPACK", "strumpack", "strumpack"))
for tpl_name, var_name, spec_name in tpl_variant_map:
define_tpl(tpl_name, spec_name, spec.variants[var_name].value)
@@ -675,141 +742,164 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# Enable these TPLs based on whether they're in our spec; prefer to
# require this way so that packages/features disable availability
tpl_dep_map = [
- ('BLAS', 'blas'),
- ('CGNS', 'cgns'),
- ('LAPACK', 'lapack'),
- ('Matio', 'matio'),
- ('METIS', 'metis'),
- ('Netcdf', 'netcdf-c'),
- ('SCALAPACK', 'scalapack'),
- ('Zlib', 'zlib'),
+ ("BLAS", "blas"),
+ ("CGNS", "cgns"),
+ ("LAPACK", "lapack"),
+ ("Matio", "matio"),
+ ("METIS", "metis"),
+ ("Netcdf", "netcdf-c"),
+ ("SCALAPACK", "scalapack"),
+ ("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'))
+ if spec.satisfies("@12.12.1:"):
+ tpl_dep_map.append(("Pnetcdf", "parallel-netcdf"))
+ if spec.satisfies("@13:"):
+ tpl_dep_map.append(("HWLOC", "hwloc"))
for tpl_name, dep_name in tpl_dep_map:
define_tpl(tpl_name, dep_name, dep_name in spec)
# MPI settings
- options.append(define_tpl_enable('MPI'))
- if '+mpi' in spec:
+ options.append(define_tpl_enable("MPI"))
+ if "+mpi" in spec:
# Force Trilinos to use the MPI wrappers instead of raw compilers
# to propagate library link flags for linkers that require fully
# resolved symbols in shared libs (such as macOS and some newer
# Ubuntu)
- options.extend([
- define('CMAKE_C_COMPILER', spec['mpi'].mpicc),
- define('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx),
- define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc),
- define('MPI_BASE_DIR', spec['mpi'].prefix),
- ])
+ options.extend(
+ [
+ define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
+ define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
+ define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
+ define("MPI_BASE_DIR", spec["mpi"].prefix),
+ ]
+ )
# ParMETIS dependencies have to be transitive explicitly
- have_parmetis = 'parmetis' in spec
- options.append(define_tpl_enable('ParMETIS', have_parmetis))
+ have_parmetis = "parmetis" in spec
+ options.append(define_tpl_enable("ParMETIS", have_parmetis))
if have_parmetis:
- options.extend([
- define('ParMETIS_LIBRARY_DIRS', [
- spec['parmetis'].prefix.lib, spec['metis'].prefix.lib
- ]),
- define('ParMETIS_LIBRARY_NAMES', ['parmetis', 'metis']),
- define('TPL_ParMETIS_INCLUDE_DIRS',
- spec['parmetis'].headers.directories +
- spec['metis'].headers.directories),
- ])
-
- if spec.satisfies('^superlu-dist@4.0:'):
- options.extend([
- define('HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG', True),
- ])
-
- if spec.satisfies('^parallel-netcdf'):
- options.extend([
- define('TPL_Netcdf_Enables_Netcdf4', True),
- define('TPL_Netcdf_PARALLEL', True),
- define('PNetCDF_ROOT', spec['parallel-netcdf'].prefix),
- ])
-
- options.append(define_tpl_enable('Cholmod', False))
-
- if spec.satisfies('platform=darwin'):
+ options.extend(
+ [
+ define(
+ "ParMETIS_LIBRARY_DIRS",
+ [spec["parmetis"].prefix.lib, spec["metis"].prefix.lib],
+ ),
+ define("ParMETIS_LIBRARY_NAMES", ["parmetis", "metis"]),
+ define(
+ "TPL_ParMETIS_INCLUDE_DIRS",
+ spec["parmetis"].headers.directories + spec["metis"].headers.directories,
+ ),
+ ]
+ )
+
+ if spec.satisfies("^superlu-dist@4.0:"):
+ options.extend(
+ [
+ define("HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG", True),
+ ]
+ )
+
+ if spec.satisfies("^parallel-netcdf"):
+ options.extend(
+ [
+ define("TPL_Netcdf_Enables_Netcdf4", True),
+ define("TPL_Netcdf_PARALLEL", True),
+ define("PNetCDF_ROOT", spec["parallel-netcdf"].prefix),
+ ]
+ )
+
+ options.append(define_tpl_enable("Cholmod", False))
+
+ if spec.satisfies("platform=darwin"):
# Don't let TriBITS define `libdl` as an absolute path to
# the MacOSX{nn.n}.sdk since that breaks at every xcode update
- options.append(define_tpl_enable('DLlib', False))
+ options.append(define_tpl_enable("DLlib", False))
# ################# Explicit template instantiation #################
- complex_s = spec.variants['complex'].value
- float_s = spec.variants['float'].value
-
- options.extend([
- define('Teuchos_ENABLE_COMPLEX', complex_s),
- define('Teuchos_ENABLE_FLOAT', float_s),
- ])
-
- if '+tpetra +explicit_template_instantiation' in spec:
- options.append(define_from_variant('Tpetra_INST_OPENMP', 'openmp'))
- options.extend([
- define('Tpetra_INST_DOUBLE', True),
- define('Tpetra_INST_COMPLEX_DOUBLE', complex_s),
- define('Tpetra_INST_COMPLEX_FLOAT', float_s and complex_s),
- define('Tpetra_INST_FLOAT', float_s),
- define('Tpetra_INST_SERIAL', True),
- ])
-
- gotype = spec.variants['gotype'].value
- if gotype == 'all':
+ complex_s = spec.variants["complex"].value
+ float_s = spec.variants["float"].value
+
+ options.extend(
+ [
+ define("Teuchos_ENABLE_COMPLEX", complex_s),
+ define("Teuchos_ENABLE_FLOAT", float_s),
+ ]
+ )
+
+ if "+tpetra +explicit_template_instantiation" in spec:
+ options.append(define_from_variant("Tpetra_INST_OPENMP", "openmp"))
+ options.extend(
+ [
+ define("Tpetra_INST_DOUBLE", True),
+ define("Tpetra_INST_COMPLEX_DOUBLE", complex_s),
+ define("Tpetra_INST_COMPLEX_FLOAT", float_s and complex_s),
+ define("Tpetra_INST_FLOAT", float_s),
+ define("Tpetra_INST_SERIAL", True),
+ ]
+ )
+
+ gotype = spec.variants["gotype"].value
+ if gotype == "all":
# default in older Trilinos versions to enable multiple GOs
- options.extend([
- define('Tpetra_INST_INT_INT', True),
- define('Tpetra_INST_INT_LONG', True),
- define('Tpetra_INST_INT_LONG_LONG', True),
- ])
+ options.extend(
+ [
+ define("Tpetra_INST_INT_INT", True),
+ define("Tpetra_INST_INT_LONG", True),
+ define("Tpetra_INST_INT_LONG_LONG", True),
+ ]
+ )
else:
- options.extend([
- define('Tpetra_INST_INT_INT', gotype == 'int'),
- define('Tpetra_INST_INT_LONG', gotype == 'long'),
- define('Tpetra_INST_INT_LONG_LONG', gotype == 'long_long'),
- ])
+ options.extend(
+ [
+ define("Tpetra_INST_INT_INT", gotype == "int"),
+ define("Tpetra_INST_INT_LONG", gotype == "long"),
+ define("Tpetra_INST_INT_LONG_LONG", gotype == "long_long"),
+ ]
+ )
# ################# Kokkos ######################
- if '+kokkos' in spec:
+ if "+kokkos" in spec:
arch = Kokkos.get_microarch(spec.target)
if arch:
options.append(define("Kokkos_ARCH_" + arch.upper(), True))
define_kok_enable = _make_definer("Kokkos_ENABLE_")
- options.extend([
- define_kok_enable('CUDA'),
- define_kok_enable('OPENMP' if spec.version >= Version('13')
- else 'OpenMP'),
- ])
- if '+cuda' in spec:
- use_uvm = '+uvm' in spec
- options.extend([
- define_kok_enable('CUDA_UVM', use_uvm),
- define_kok_enable('CUDA_LAMBDA', True),
- define_kok_enable('CUDA_RELOCATABLE_DEVICE_CODE', 'cuda_rdc')
- ])
+ options.extend(
+ [
+ define_kok_enable("CUDA"),
+ define_kok_enable("OPENMP" if spec.version >= Version("13") else "OpenMP"),
+ ]
+ )
+ if "+cuda" in spec:
+ use_uvm = "+uvm" in spec
+ options.extend(
+ [
+ define_kok_enable("CUDA_UVM", use_uvm),
+ define_kok_enable("CUDA_LAMBDA", True),
+ define_kok_enable("CUDA_RELOCATABLE_DEVICE_CODE", "cuda_rdc"),
+ ]
+ )
arch_map = Kokkos.spack_cuda_arch_map
options.extend(
define("Kokkos_ARCH_" + arch_map[arch].upper(), True)
- for arch in spec.variants['cuda_arch'].value
+ for arch in spec.variants["cuda_arch"].value
)
- if '+rocm' in spec:
- options.extend([
- define_kok_enable('ROCM', False),
- define_kok_enable('HIP', True),
- define_kok_enable('HIP_RELOCATABLE_DEVICE_CODE', 'rocm_rdc')
- ])
- if '+tpetra' in spec:
- options.append(define('Tpetra_INST_HIP', True))
+ if "+rocm" in spec:
+ options.extend(
+ [
+ define_kok_enable("ROCM", False),
+ define_kok_enable("HIP", True),
+ define_kok_enable("HIP_RELOCATABLE_DEVICE_CODE", "rocm_rdc"),
+ ]
+ )
+ if "+tpetra" in spec:
+ options.append(define("Tpetra_INST_HIP", True))
amdgpu_arch_map = Kokkos.amdgpu_arch_map
- for amd_target in spec.variants['amdgpu_target'].value:
+ for amd_target in spec.variants["amdgpu_target"].value:
try:
arch = amdgpu_arch_map[amd_target]
except KeyError:
@@ -820,34 +910,30 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# ################# System-specific ######################
# Fortran lib (assumes clang is built with gfortran!)
- if ('+fortran' in spec
- and spec.compiler.name in ['gcc', 'clang', 'apple-clang']):
- fc = Executable(spec['mpi'].mpifc) if (
- '+mpi' in spec) else Executable(spack_fc)
- libgfortran = fc('--print-file-name',
- 'libgfortran.' + dso_suffix,
- output=str).strip()
+ if "+fortran" in spec and spec.compiler.name in ["gcc", "clang", "apple-clang"]:
+ fc = Executable(spec["mpi"].mpifc) if ("+mpi" in spec) else Executable(spack_fc)
+ libgfortran = fc("--print-file-name", "libgfortran." + dso_suffix, output=str).strip()
# if libgfortran is equal to "libgfortran.<dso_suffix>" then
# print-file-name failed, use static library instead
- if libgfortran == 'libgfortran.' + dso_suffix:
- libgfortran = fc('--print-file-name',
- 'libgfortran.a',
- output=str).strip()
+ if libgfortran == "libgfortran." + dso_suffix:
+ libgfortran = fc("--print-file-name", "libgfortran.a", output=str).strip()
# -L<libdir> -lgfortran required for OSX
# https://github.com/spack/spack/pull/25823#issuecomment-917231118
options.append(
- define('Trilinos_EXTRA_LINK_FLAGS',
- '-L%s/ -lgfortran' % os.path.dirname(libgfortran)))
+ define(
+ "Trilinos_EXTRA_LINK_FLAGS", "-L%s/ -lgfortran" % os.path.dirname(libgfortran)
+ )
+ )
- if sys.platform == 'darwin' and macos_version() >= Version('10.12'):
+ if sys.platform == "darwin" and macos_version() >= Version("10.12"):
# use @rpath on Sierra due to limit of dynamic loader
- options.append(define('CMAKE_MACOSX_RPATH', True))
+ options.append(define("CMAKE_MACOSX_RPATH", True))
else:
- options.append(define('CMAKE_INSTALL_NAME_DIR', self.prefix.lib))
+ options.append(define("CMAKE_INSTALL_NAME_DIR", self.prefix.lib))
return options
- @run_after('install')
+ @run_after("install")
def filter_python(self):
# When trilinos is built with Python, libpytrilinos is included
# through cmake configure files. Namely, Trilinos_LIBRARIES in
@@ -859,20 +945,19 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# https://github.com/trilinos/Trilinos/issues/866
# A workaround is to remove PyTrilinos from the COMPONENTS_LIST
# and to remove -lpytrilonos from Makefile.export.Trilinos
- if '+python' in self.spec:
- filter_file(r'(SET\(COMPONENTS_LIST.*)(PyTrilinos;)(.*)',
- (r'\1\3'),
- '%s/cmake/Trilinos/TrilinosConfig.cmake' %
- self.prefix.lib)
- filter_file(r'-lpytrilinos', '',
- '%s/Makefile.export.Trilinos' %
- self.prefix.include)
+ if "+python" in self.spec:
+ filter_file(
+ r"(SET\(COMPONENTS_LIST.*)(PyTrilinos;)(.*)",
+ (r"\1\3"),
+ "%s/cmake/Trilinos/TrilinosConfig.cmake" % self.prefix.lib,
+ )
+ filter_file(r"-lpytrilinos", "", "%s/Makefile.export.Trilinos" % self.prefix.include)
def setup_run_environment(self, env):
- if '+exodus' in self.spec:
- env.prepend_path('PYTHONPATH', self.prefix.lib)
+ if "+exodus" in self.spec:
+ env.prepend_path("PYTHONPATH", self.prefix.lib)
- if '+cuda' in self.spec:
+ if "+cuda" in self.spec:
# currently Trilinos doesn't perform the memory fence so
# it relies on blocking CUDA kernel launch.
- env.set('CUDA_LAUNCH_BLOCKING', '1')
+ env.set("CUDA_LAUNCH_BLOCKING", "1")
diff --git a/var/spack/repos/builtin/packages/trimal/package.py b/var/spack/repos/builtin/packages/trimal/package.py
index 021adfd86d..f75ceca496 100644
--- a/var/spack/repos/builtin/packages/trimal/package.py
+++ b/var/spack/repos/builtin/packages/trimal/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Trimal(MakefilePackage):
"""A tool for automated alignment trimming in large-scale
- phylogenetic analyses"""
+ phylogenetic analyses"""
homepage = "https://github.com/scapella/trimal"
- url = "https://github.com/scapella/trimal/archive/v1.4.1.tar.gz"
+ url = "https://github.com/scapella/trimal/archive/v1.4.1.tar.gz"
- version('1.4.1', sha256='cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e')
+ version("1.4.1", sha256="cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e")
- build_directory = 'source'
+ build_directory = "source"
def install(self, sinstall_treepec, prefix):
mkdirp(prefix.bin)
- binaries = ['trimal', 'readal', 'statal']
+ binaries = ["trimal", "readal", "statal"]
with working_dir(self.build_directory):
for b in binaries:
install(b, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/trimgalore/package.py b/var/spack/repos/builtin/packages/trimgalore/package.py
index 58351a3db3..bdf89ae42b 100644
--- a/var/spack/repos/builtin/packages/trimgalore/package.py
+++ b/var/spack/repos/builtin/packages/trimgalore/package.py
@@ -8,27 +8,27 @@ from spack.package import *
class Trimgalore(Package):
"""Trim Galore! is a wrapper around Cutadapt and FastQC to consistently
- apply adapter and quality trimming to FastQ files, with extra
- functionality for RRBS data."""
+ apply adapter and quality trimming to FastQ files, with extra
+ functionality for RRBS data."""
homepage = "https://github.com/FelixKrueger/TrimGalore"
- url = "https://github.com/FelixKrueger/TrimGalore/archive/0.4.4.tar.gz"
+ url = "https://github.com/FelixKrueger/TrimGalore/archive/0.4.4.tar.gz"
- version('0.6.6', sha256='b8db8ffd131d9d9e7c8532a5a1f1caee656c0c58d3eafd460fee3c39b9fcab5e')
- version('0.6.4', sha256='eb57e18203d8a1dce1397b930a348a9969eebaa758b8a7304d04c22f216cea2d')
- version('0.6.3', sha256='c85104452dbb5cfa8c9307920e804fb53baaad355ce656b111f5243e5eb92db4')
- version('0.6.2', sha256='c50b841bdc294a6cdc6a27fb7bfbed1973541d20a68a4708584b817c58b3f376')
- version('0.6.1', sha256='658578c29d007fe66f9ab49608442be703a6fcf535db06eb82659c7edccb62b0')
- version('0.6.0', sha256='f374dfa4c94e2ad50c63276dda0f341fd95b29cb1d5a0e2ad56e8b0168b758ec')
- version('0.4.5', sha256='a6b97e554944ddc6ecd50e78df486521f17225d415aad84e9911163faafe1f3c')
- version('0.4.4', sha256='485a1357e08eadeb5862bbb796022a25a6ace642c4bc13bbaf453b7dc7cff8e2')
+ version("0.6.6", sha256="b8db8ffd131d9d9e7c8532a5a1f1caee656c0c58d3eafd460fee3c39b9fcab5e")
+ version("0.6.4", sha256="eb57e18203d8a1dce1397b930a348a9969eebaa758b8a7304d04c22f216cea2d")
+ version("0.6.3", sha256="c85104452dbb5cfa8c9307920e804fb53baaad355ce656b111f5243e5eb92db4")
+ version("0.6.2", sha256="c50b841bdc294a6cdc6a27fb7bfbed1973541d20a68a4708584b817c58b3f376")
+ version("0.6.1", sha256="658578c29d007fe66f9ab49608442be703a6fcf535db06eb82659c7edccb62b0")
+ version("0.6.0", sha256="f374dfa4c94e2ad50c63276dda0f341fd95b29cb1d5a0e2ad56e8b0168b758ec")
+ version("0.4.5", sha256="a6b97e554944ddc6ecd50e78df486521f17225d415aad84e9911163faafe1f3c")
+ version("0.4.4", sha256="485a1357e08eadeb5862bbb796022a25a6ace642c4bc13bbaf453b7dc7cff8e2")
- depends_on('perl', type=('build', 'run'))
- depends_on('py-cutadapt', type=('build', 'run'))
- depends_on('fastqc')
+ depends_on("perl", type=("build", "run"))
+ depends_on("py-cutadapt", type=("build", "run"))
+ depends_on("fastqc")
def install(self, spec, prefix):
- filter_file(r'#!/usr/bin/perl', '#!/usr/bin/env perl', 'trim_galore')
+ filter_file(r"#!/usr/bin/perl", "#!/usr/bin/env perl", "trim_galore")
mkdirp(prefix.bin)
- install('trim_galore', prefix.bin)
+ install("trim_galore", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/trimmomatic/package.py b/var/spack/repos/builtin/packages/trimmomatic/package.py
index 6d806d9f70..d331cad32a 100644
--- a/var/spack/repos/builtin/packages/trimmomatic/package.py
+++ b/var/spack/repos/builtin/packages/trimmomatic/package.py
@@ -12,25 +12,25 @@ class Trimmomatic(Package):
"""A flexible read trimming tool for Illumina NGS data."""
homepage = "http://www.usadellab.org/cms/?page=trimmomatic"
- url = "http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip"
+ url = "http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip"
# Older version aren't explicitly made available, but the URL
# works as we'd like it to, so...
- version('0.39', sha256='2f97e3a237378d55c221abfc38e4b11ea232c8a41d511b8b4871f00c0476abca')
- version('0.38', sha256='d428af42b6c400a2e7ee5e6b4cab490eddc621f949b086bd7dddb698dcf1647c')
- version('0.36', sha256='4846c42347b663b9d6d3a8cef30da2aec89fc718bf291392c58e5afcea9f70fe')
- version('0.33', sha256='6968583a6c5854a44fff7d427e7ccdcb8dc17f4616082dd390a0633f87a09e3d')
+ version("0.39", sha256="2f97e3a237378d55c221abfc38e4b11ea232c8a41d511b8b4871f00c0476abca")
+ version("0.38", sha256="d428af42b6c400a2e7ee5e6b4cab490eddc621f949b086bd7dddb698dcf1647c")
+ version("0.36", sha256="4846c42347b663b9d6d3a8cef30da2aec89fc718bf291392c58e5afcea9f70fe")
+ version("0.33", sha256="6968583a6c5854a44fff7d427e7ccdcb8dc17f4616082dd390a0633f87a09e3d")
- depends_on('java@8', type='run', when='@:0.38')
- depends_on('java@8:', type='run', when='@0.39:')
+ depends_on("java@8", type="run", when="@:0.38")
+ depends_on("java@8:", type="run", when="@0.39:")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- jar_file = 'trimmomatic-{v}.jar'.format(v=self.version.dotted)
+ jar_file = "trimmomatic-{v}.jar".format(v=self.version.dotted)
install(jar_file, prefix.bin)
# Put the adapter files someplace sensible
- install_tree('adapters', prefix.share.adapters)
+ install_tree("adapters", prefix.share.adapters)
# Set up a helper script to call java on the jar file,
# explicitly codes the path for java and the jar file.
@@ -41,8 +41,7 @@ class Trimmomatic(Package):
# Munge the helper script to explicitly point to java and the
# jar file.
- java = self.spec['java'].prefix.bin.java
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('trimmomatic.jar', join_path(prefix.bin, jar_file),
- script, **kwargs)
+ java = self.spec["java"].prefix.bin.java
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("trimmomatic.jar", join_path(prefix.bin, jar_file), script, **kwargs)
diff --git a/var/spack/repos/builtin/packages/trinity/package.py b/var/spack/repos/builtin/packages/trinity/package.py
index 2a34b9a5a3..49a293f9c0 100644
--- a/var/spack/repos/builtin/packages/trinity/package.py
+++ b/var/spack/repos/builtin/packages/trinity/package.py
@@ -8,25 +8,31 @@ from spack.package import *
class Trinity(MakefilePackage):
"""Trinity, developed at the Broad Institute and the Hebrew University of
- Jerusalem, represents a novel method for the efficient and robust de
- novo reconstruction of transcriptomes from RNA-seq data. Trinity
- combines three independent software modules: Inchworm, Chrysalis, and
- Butterfly, applied sequentially to process large volumes of RNA-seq
- reads. Trinity partitions the sequence data into many individual de
- Bruijn graphs, each representing the transcriptional complexity at a
- given gene or locus, and then processes each graph independently to
- extract full-length splicing isoforms and to tease apart transcripts
- derived from paralogous genes.
+ Jerusalem, represents a novel method for the efficient and robust de
+ novo reconstruction of transcriptomes from RNA-seq data. Trinity
+ combines three independent software modules: Inchworm, Chrysalis, and
+ Butterfly, applied sequentially to process large volumes of RNA-seq
+ reads. Trinity partitions the sequence data into many individual de
+ Bruijn graphs, each representing the transcriptional complexity at a
+ given gene or locus, and then processes each graph independently to
+ extract full-length splicing isoforms and to tease apart transcripts
+ derived from paralogous genes.
"""
homepage = "https://trinityrnaseq.github.io/"
- url = "https://github.com/trinityrnaseq/trinityrnaseq/archive/Trinity-v2.6.6.tar.gz"
+ url = "https://github.com/trinityrnaseq/trinityrnaseq/archive/Trinity-v2.6.6.tar.gz"
- version('2.14.0.FULL', sha256='8adf0c6890f9c9b29c21080dee29a174c60a9e32f5f2a707af86bac4c9fca4ea',
- url="https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.14.0/trinityrnaseq-v2.14.0.FULL.tar.gz")
- version('2.12.0.FULL', sha256='0d47dc433cc3003e1c732b97da605e29c6ccafa38cd52cdb8ecc42399a9195d0',
- url="https://github.com/trinityrnaseq/trinityrnaseq/releases/download/v2.12.0/trinityrnaseq-v2.12.0.FULL.tar.gz")
- version('2.6.6', sha256='868dfadeefaf2d3c6150a88d5e86fbc09466d69bbf4a65f70b4f5a7485668984')
+ version(
+ "2.14.0.FULL",
+ sha256="8adf0c6890f9c9b29c21080dee29a174c60a9e32f5f2a707af86bac4c9fca4ea",
+ url="https://github.com/trinityrnaseq/trinityrnaseq/releases/download/Trinity-v2.14.0/trinityrnaseq-v2.14.0.FULL.tar.gz",
+ )
+ version(
+ "2.12.0.FULL",
+ sha256="0d47dc433cc3003e1c732b97da605e29c6ccafa38cd52cdb8ecc42399a9195d0",
+ url="https://github.com/trinityrnaseq/trinityrnaseq/releases/download/v2.12.0/trinityrnaseq-v2.12.0.FULL.tar.gz",
+ )
+ version("2.6.6", sha256="868dfadeefaf2d3c6150a88d5e86fbc09466d69bbf4a65f70b4f5a7485668984")
depends_on("cmake", type="build")
depends_on("java@8:", type=("build", "run"))
@@ -82,25 +88,23 @@ class Trinity(MakefilePackage):
make("plugins")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
- force_remove(join_path(prefix.bin, '.gitmodules'))
- force_remove(join_path(prefix.bin, 'Butterfly', '.err'))
- force_remove(join_path(prefix.bin, 'Butterfly', 'src', '.classpath'))
- force_remove(join_path(prefix.bin, 'Butterfly', 'src', '.err'))
- force_remove(join_path(prefix.bin, 'Butterfly', 'src', '.project'))
- remove_linked_tree(join_path(prefix.bin, 'Butterfly', 'src',
- '.settings'))
- remove_linked_tree(join_path(prefix.bin, 'Inchworm', 'src', '.deps'))
- remove_linked_tree(join_path(prefix.bin, 'trinity-plugins',
- 'ParaFly-0.1.0', 'src', '.deps'))
- force_remove(join_path(prefix.bin, 'trinity-plugins',
- 'seqtk-trinity-0.0.2', '.gitignore'))
- force_remove(join_path(prefix.bin, 'trinity-plugins', 'slclust', 'bin',
- '.hidden'))
+ install_tree(".", prefix.bin)
+ force_remove(join_path(prefix.bin, ".gitmodules"))
+ force_remove(join_path(prefix.bin, "Butterfly", ".err"))
+ force_remove(join_path(prefix.bin, "Butterfly", "src", ".classpath"))
+ force_remove(join_path(prefix.bin, "Butterfly", "src", ".err"))
+ force_remove(join_path(prefix.bin, "Butterfly", "src", ".project"))
+ remove_linked_tree(join_path(prefix.bin, "Butterfly", "src", ".settings"))
+ remove_linked_tree(join_path(prefix.bin, "Inchworm", "src", ".deps"))
+ remove_linked_tree(
+ join_path(prefix.bin, "trinity-plugins", "ParaFly-0.1.0", "src", ".deps")
+ )
+ force_remove(join_path(prefix.bin, "trinity-plugins", "seqtk-trinity-0.0.2", ".gitignore"))
+ force_remove(join_path(prefix.bin, "trinity-plugins", "slclust", "bin", ".hidden"))
def setup_build_environment(self, env):
- env.append_flags('CXXFLAGS', self.compiler.openmp_flag)
+ env.append_flags("CXXFLAGS", self.compiler.openmp_flag)
def setup_run_environment(self, env):
- env.set('TRINITY_HOME', self.prefix.bin)
- env.prepend_path('PATH', self.prefix.bin.util)
+ env.set("TRINITY_HOME", self.prefix.bin)
+ env.prepend_path("PATH", self.prefix.bin.util)
diff --git a/var/spack/repos/builtin/packages/trinotate/package.py b/var/spack/repos/builtin/packages/trinotate/package.py
index a399207c8e..bb7ea22f6f 100644
--- a/var/spack/repos/builtin/packages/trinotate/package.py
+++ b/var/spack/repos/builtin/packages/trinotate/package.py
@@ -11,48 +11,53 @@ from spack.package import *
class Trinotate(Package):
"""Trinotate is a comprehensive annotation suite designed for
- automatic functional annotation of transcriptomes, particularly
- de novo assembled transcriptomes, from model or non-model organisms"""
+ automatic functional annotation of transcriptomes, particularly
+ de novo assembled transcriptomes, from model or non-model organisms"""
homepage = "https://trinotate.github.io/"
- url = "https://github.com/Trinotate/Trinotate/archive/Trinotate-v3.1.1.tar.gz"
-
- version('3.2.2', sha256='1c41258a544cccb332f77b73f7397b457d5f3d7ce0038505369aeecc1e0650c2')
- version('3.1.1', sha256='f8af0fa5dbeaaf5a085132cd4ac4f4206b05cc4630f0a17a672c586691f03843')
-
- depends_on('trinity', type='run')
- depends_on('transdecoder', type='run')
- depends_on('sqlite', type='run')
- depends_on('ncbi-rmblastn', type='run')
- depends_on('hmmer', type='run')
- depends_on('perl', type='run')
- depends_on('lighttpd', type='run')
- depends_on('perl-dbi', type='run')
- depends_on('perl-cgi', type='run')
- depends_on('perl-dbd-sqlite', type='run')
+ url = "https://github.com/Trinotate/Trinotate/archive/Trinotate-v3.1.1.tar.gz"
+
+ version("3.2.2", sha256="1c41258a544cccb332f77b73f7397b457d5f3d7ce0038505369aeecc1e0650c2")
+ version("3.1.1", sha256="f8af0fa5dbeaaf5a085132cd4ac4f4206b05cc4630f0a17a672c586691f03843")
+
+ depends_on("trinity", type="run")
+ depends_on("transdecoder", type="run")
+ depends_on("sqlite", type="run")
+ depends_on("ncbi-rmblastn", type="run")
+ depends_on("hmmer", type="run")
+ depends_on("perl", type="run")
+ depends_on("lighttpd", type="run")
+ depends_on("perl-dbi", type="run")
+ depends_on("perl-cgi", type="run")
+ depends_on("perl-dbd-sqlite", type="run")
def patch(self):
- with working_dir(join_path(self.stage.source_path, 'admin/util')):
- perlscripts = glob.glob('*.pl')
- filter_file('#!/usr/bin/perl', '#!/usr/bin/env perl', *perlscripts)
+ with working_dir(join_path(self.stage.source_path, "admin/util")):
+ perlscripts = glob.glob("*.pl")
+ filter_file("#!/usr/bin/perl", "#!/usr/bin/env perl", *perlscripts)
# trinotate web generates a config on run but puts it in a bad place
# this causes issues with permissions; we hack the source to keep it
# in the calling user's homedir
- filter_file('"$FindBin::RealBin/TrinotateWeb.conf/lighttpd.conf.port',
- '$ENV{"HOME"} . "/.trinotate_lighttpd.conf.port',
- 'run_TrinotateWebserver.pl', string=True)
+ filter_file(
+ '"$FindBin::RealBin/TrinotateWeb.conf/lighttpd.conf.port',
+ '$ENV{"HOME"} . "/.trinotate_lighttpd.conf.port',
+ "run_TrinotateWebserver.pl",
+ string=True,
+ )
def install(self, spec, prefix):
# most of the perl modules have local deps, install the whole tree
mkdirp(prefix.lib)
- install_tree('.', join_path(prefix.lib, 'trinotate'))
+ install_tree(".", join_path(prefix.lib, "trinotate"))
mkdirp(prefix.bin)
- os.symlink(join_path(prefix.lib, 'trinotate/Trinotate'),
- join_path(prefix.bin, 'Trinotate'))
-
- os.symlink(join_path(prefix.lib,
- 'trinotate/run_TrinotateWebserver.pl'),
- join_path(prefix.bin, 'run_TrinotateWebserver.pl'))
+ os.symlink(
+ join_path(prefix.lib, "trinotate/Trinotate"), join_path(prefix.bin, "Trinotate")
+ )
+
+ os.symlink(
+ join_path(prefix.lib, "trinotate/run_TrinotateWebserver.pl"),
+ join_path(prefix.bin, "run_TrinotateWebserver.pl"),
+ )
diff --git a/var/spack/repos/builtin/packages/trnascan-se/package.py b/var/spack/repos/builtin/packages/trnascan-se/package.py
index a08009be41..446b8f37dd 100644
--- a/var/spack/repos/builtin/packages/trnascan-se/package.py
+++ b/var/spack/repos/builtin/packages/trnascan-se/package.py
@@ -10,13 +10,16 @@ class TrnascanSe(AutotoolsPackage):
"""Seaching for tRNA genes in genomic sequence"""
homepage = "http://lowelab.ucsc.edu/tRNAscan-SE/"
- url = "http://trna.ucsc.edu/software/trnascan-se-2.0.0.tar.gz"
+ url = "http://trna.ucsc.edu/software/trnascan-se-2.0.0.tar.gz"
- version('2.0.0', sha256='0dde1c07142e4bf77b21d53ddf3eeb1ef8c52248005a42323d13f8d7c798100c')
+ version("2.0.0", sha256="0dde1c07142e4bf77b21d53ddf3eeb1ef8c52248005a42323d13f8d7c798100c")
- depends_on('infernal@1.1.2', type='run', when='@2.0.0')
+ depends_on("infernal@1.1.2", type="run", when="@2.0.0")
def patch(self):
- filter_file('infernal_dir: {bin_dir}',
- 'infernal_dir: %s' % self.spec['infernal'].prefix.bin,
- 'tRNAscan-SE.conf.src', string=True)
+ filter_file(
+ "infernal_dir: {bin_dir}",
+ "infernal_dir: %s" % self.spec["infernal"].prefix.bin,
+ "tRNAscan-SE.conf.src",
+ string=True,
+ )
diff --git a/var/spack/repos/builtin/packages/truchas/package.py b/var/spack/repos/builtin/packages/truchas/package.py
index af25c7c921..f5d9375dbe 100644
--- a/var/spack/repos/builtin/packages/truchas/package.py
+++ b/var/spack/repos/builtin/packages/truchas/package.py
@@ -18,13 +18,13 @@ class Truchas(CMakePackage):
"""
homepage = "https://www.truchas.org"
- url = "https://gitlab.com/truchas/truchas/-/archive/22.04.1/truchas-22.04.1.tar.bz2"
- git = "https://gitlab.com/truchas/truchas.git"
+ url = "https://gitlab.com/truchas/truchas/-/archive/22.04.1/truchas-22.04.1.tar.bz2"
+ git = "https://gitlab.com/truchas/truchas.git"
- maintainers = ['pbrady']
+ maintainers = ["pbrady"]
- version('develop', branch="master")
- version('22.04.1', sha256="ed2000f27ee5c4bd3024063a374023878c61e8a3c76c37542fffd341d1226dc1")
+ version("develop", branch="master")
+ version("22.04.1", sha256="ed2000f27ee5c4bd3024063a374023878c61e8a3c76c37542fffd341d1226dc1")
# ------------------------------------------------------------ #
# Variants
@@ -38,72 +38,73 @@ class Truchas(CMakePackage):
# ------------------------------------------------------------ #
# Build dependencies
# ------------------------------------------------------------ #
- depends_on('cmake@3.16:', type='build')
+ depends_on("cmake@3.16:", type="build")
# ------------------------------------------------------------ #
# Test suite and restart utils
# ------------------------------------------------------------ #
- depends_on('python@3.5:')
- depends_on('py-numpy@1.12:')
- depends_on('py-h5py')
+ depends_on("python@3.5:")
+ depends_on("py-numpy@1.12:")
+ depends_on("py-h5py")
# ------------------------------------------------------------ #
# IO dependencies
# ------------------------------------------------------------ #
- depends_on('exodusii@2020-05-12: +mpi')
- depends_on('scorpio')
- depends_on('petaca@22.03: +shared')
- depends_on('petaca@22.03: +shared +std_name', when='+std_name')
+ depends_on("exodusii@2020-05-12: +mpi")
+ depends_on("scorpio")
+ depends_on("petaca@22.03: +shared")
+ depends_on("petaca@22.03: +shared +std_name", when="+std_name")
# ------------------------------------------------------------ #
# Partitioning
# ------------------------------------------------------------ #
- depends_on('chaco')
- depends_on('metis@5:', when='+metis')
+ depends_on("chaco")
+ depends_on("metis@5:", when="+metis")
# ------------------------------------------------------------ #
# Radiation
# ------------------------------------------------------------ #
- depends_on('chaparral +mpi')
+ depends_on("chaparral +mpi")
# ------------------------------------------------------------ #
# Solvers
# ------------------------------------------------------------ #
- depends_on('hypre@2.20: ~fortran')
+ depends_on("hypre@2.20: ~fortran")
# ------------------------------------------------------------ #
# Mapping
# ------------------------------------------------------------ #
- depends_on('portage@3:', when='+portage')
+ depends_on("portage@3:", when="+portage")
def cmake_args(self):
# baseline config args
opts = [
- self.define_from_variant('USE_METIS', 'metis'),
- self.define_from_variant('USE_PORTAGE', 'portage'),
- self.define_from_variant("ENABLE_STD_MOD_PROC_NAME", "std_name")
+ self.define_from_variant("USE_METIS", "metis"),
+ self.define_from_variant("USE_PORTAGE", "portage"),
+ self.define_from_variant("ENABLE_STD_MOD_PROC_NAME", "std_name"),
]
spec = self.spec
- if '+config' in spec:
+ if "+config" in spec:
root = self.root_cmakelists_dir
- nag = 'nag' in self.compiler.fc
+ nag = "nag" in self.compiler.fc
- if spec.satisfies('platform=linux'):
- if nag or '%nag' in spec:
+ if spec.satisfies("platform=linux"):
+ if nag or "%nag" in spec:
opts.append("-C {}/config/linux-nag.cmake".format(root))
- elif '%gcc' in spec:
+ elif "%gcc" in spec:
opts.append("-C {}/config/linux-gcc.cmake".format(root))
- elif '%intel' in spec:
+ elif "%intel" in spec:
opts.append("-C {}/config/linux-intel.cmake".format(root))
- elif spec.satisfies('platform=darwin'):
- if nag or '%nag' in spec:
+ elif spec.satisfies("platform=darwin"):
+ if nag or "%nag" in spec:
opts.append("-C {}/config/mac-nag.cmake".format(root))
- if self.spec.satisfies('%apple-clang@12:'):
- opts.append(self.define("CMAKE_C_FLAGS",
- "-Wno-error=implicit-function-declaration"))
+ if self.spec.satisfies("%apple-clang@12:"):
+ opts.append(
+ self.define("CMAKE_C_FLAGS", "-Wno-error=implicit-function-declaration")
+ )
return opts
diff --git a/var/spack/repos/builtin/packages/tskit/package.py b/var/spack/repos/builtin/packages/tskit/package.py
index 466231e69d..97c4f9ad5d 100644
--- a/var/spack/repos/builtin/packages/tskit/package.py
+++ b/var/spack/repos/builtin/packages/tskit/package.py
@@ -13,12 +13,12 @@ class Tskit(PythonPackage):
homepage = "https://tskit.readthedocs.io/en/latest/"
pypi = "tskit/tskit-0.3.1.tar.gz"
- version('0.3.1', sha256='b9c5a9b2fb62a615e389036946345ef8a35b09f1ffee541995b16f97fedb3d36')
+ version("0.3.1", sha256="b9c5a9b2fb62a615e389036946345ef8a35b09f1ffee541995b16f97fedb3d36")
- depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-svgwrite', type=('build', 'run'))
- depends_on('py-jsonschema', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-attrs@19.1.0:', type=('build', 'run'))
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-svgwrite", type=("build", "run"))
+ depends_on("py-jsonschema", type=("build", "run"))
+ depends_on("py-h5py", type=("build", "run"))
+ depends_on("py-numpy@1.7:", type=("build", "run"))
+ depends_on("py-attrs@19.1.0:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/tulip/package.py b/var/spack/repos/builtin/packages/tulip/package.py
index 4364033c29..9960bc6eae 100644
--- a/var/spack/repos/builtin/packages/tulip/package.py
+++ b/var/spack/repos/builtin/packages/tulip/package.py
@@ -8,7 +8,7 @@ from spack.package import *
class Tulip(CMakePackage):
- """ Tulip is an information visualization framework dedicated to the
+ """Tulip is an information visualization framework dedicated to the
analysis and visualization of relational data.
Tulip aims to provide the developer with a complete library, supporting
@@ -20,20 +20,20 @@ class Tulip(CMakePackage):
homepage = "https://tulip.labri.fr"
url = "https://sourceforge.net/projects/auber/files/tulip/tulip-5.4.0/tulip-5.4.0_src.tar.gz"
- version('5.4.0', sha256='2175e4e1a79028ab7a2479e882242f304fd3e01fedf80e1f29f8f5e9a6eb1325')
+ version("5.4.0", sha256="2175e4e1a79028ab7a2479e882242f304fd3e01fedf80e1f29f8f5e9a6eb1325")
- extends('python')
- depends_on('py-pyqt5', type=('build', 'run'))
+ extends("python")
+ depends_on("py-pyqt5", type=("build", "run"))
- depends_on('yajl')
- depends_on('qt')
- depends_on('qhull')
- depends_on('freetype')
- depends_on('zlib')
- depends_on('glew')
- depends_on('jpeg')
- depends_on('libpng')
- depends_on('libxml2')
+ depends_on("yajl")
+ depends_on("qt")
+ depends_on("qhull")
+ depends_on("freetype")
+ depends_on("zlib")
+ depends_on("glew")
+ depends_on("jpeg")
+ depends_on("libpng")
+ depends_on("libxml2")
def cmake_args(self):
# The use of GL/glu.h seems to be deprecated, see:
@@ -41,5 +41,5 @@ class Tulip(CMakePackage):
return [
'-DCMAKE_CXX_FLAGS="-DGLEW_NO_GLU"',
'-DCMAKE_C_FLAGS="-DGLEW_NO_GLU"',
- '-DTULIP_BUILD_DOC:BOOL=OFF'
+ "-DTULIP_BUILD_DOC:BOOL=OFF",
]
diff --git a/var/spack/repos/builtin/packages/turbine/package.py b/var/spack/repos/builtin/packages/turbine/package.py
index 43159fc142..060c20862a 100644
--- a/var/spack/repos/builtin/packages/turbine/package.py
+++ b/var/spack/repos/builtin/packages/turbine/package.py
@@ -10,73 +10,71 @@ from spack.package import *
class Turbine(AutotoolsPackage):
"""Turbine: The Swift/T runtime"""
- homepage = 'http://swift-lang.org/Swift-T'
- url = 'https://swift-lang.github.io/swift-t-downloads/spack/turbine-1.3.0.tar.gz'
- git = "https://github.com/swift-lang/swift-t.git"
- configure_directory = 'turbine/code'
+ homepage = "http://swift-lang.org/Swift-T"
+ url = "https://swift-lang.github.io/swift-t-downloads/spack/turbine-1.3.0.tar.gz"
+ git = "https://github.com/swift-lang/swift-t.git"
+ configure_directory = "turbine/code"
- version('master', branch='master')
- version('1.3.0', sha256='9709e5dada91a7dce958a7967d6ff2bd39ccc9e7da62d05a875324b5089da393')
- version('1.2.3', sha256='a3156c7e0b39e166da3de8892f55fa5d535b0c99c87a9add067c801098fe51ba')
+ version("master", branch="master")
+ version("1.3.0", sha256="9709e5dada91a7dce958a7967d6ff2bd39ccc9e7da62d05a875324b5089da393")
+ version("1.2.3", sha256="a3156c7e0b39e166da3de8892f55fa5d535b0c99c87a9add067c801098fe51ba")
- variant('python', default=False,
- description='Enable calling python')
- variant('r', default=False,
- description='Enable calling R')
- variant('hdf5', default=False,
- description='Enable HDF5 support')
+ variant("python", default=False, description="Enable calling python")
+ variant("r", default=False, description="Enable calling R")
+ variant("hdf5", default=False, description="Enable HDF5 support")
- depends_on('adlbx')
- depends_on('adlbx@master', when='@master')
- depends_on('adlbx@:0.9.2', when='@1.2.3:1.2.99')
- depends_on('tcl', type=('build', 'run'))
- depends_on('zsh', type=('build', 'run'))
- depends_on('swig', type='build')
- depends_on('python', when='+python')
- depends_on('r', when='+r')
- depends_on('r-rinside', when='+r')
- depends_on('hdf5', when='+hdf5')
- depends_on('mpi')
- 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', 'run'))
+ depends_on("adlbx")
+ depends_on("adlbx@master", when="@master")
+ depends_on("adlbx@:0.9.2", when="@1.2.3:1.2.99")
+ depends_on("tcl", type=("build", "run"))
+ depends_on("zsh", type=("build", "run"))
+ depends_on("swig", type="build")
+ depends_on("python", when="+python")
+ depends_on("r", when="+r")
+ depends_on("r-rinside", when="+r")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("mpi")
+ 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", "run"))
def setup_build_environment(self, env):
spec = self.spec
- env.set('CC', spec['mpi'].mpicc)
- env.set('CXX', spec['mpi'].mpicxx)
- env.set('CXXLD', spec['mpi'].mpicxx)
+ env.set("CC", spec["mpi"].mpicc)
+ env.set("CXX", spec["mpi"].mpicxx)
+ env.set("CXXLD", spec["mpi"].mpicxx)
@property
def configure_directory(self):
- if self.version == Version('master'):
- return 'turbine/code'
+ if self.version == Version("master"):
+ return "turbine/code"
else:
- return '.'
+ return "."
def configure_args(self):
- args = ['--with-c-utils=' + self.spec['exmcutils'].prefix,
- '--with-adlb=' + self.spec['adlbx'].prefix,
- '--with-tcl=' + self.spec['tcl'].prefix,
- '--with-mpi=' + self.spec['mpi'].prefix,
- '--disable-static-pkg']
- if '+hdf5' in self.spec:
- args.append('--with-hdf5=ON')
+ args = [
+ "--with-c-utils=" + self.spec["exmcutils"].prefix,
+ "--with-adlb=" + self.spec["adlbx"].prefix,
+ "--with-tcl=" + self.spec["tcl"].prefix,
+ "--with-mpi=" + self.spec["mpi"].prefix,
+ "--disable-static-pkg",
+ ]
+ if "+hdf5" in self.spec:
+ args.append("--with-hdf5=ON")
else:
- args.append('--with-hdf5=OFF')
- if '+python' in self.spec:
- args.append('--with-python-exe={0}'.format(
- self.spec['python'].command.path))
- if '+r' in self.spec:
- r_location = '{0}/rlib/R'.format(self.spec['r'].prefix)
+ args.append("--with-hdf5=OFF")
+ if "+python" in self.spec:
+ args.append("--with-python-exe={0}".format(self.spec["python"].command.path))
+ if "+r" in self.spec:
+ r_location = "{0}/rlib/R".format(self.spec["r"].prefix)
if not os.path.exists(r_location):
- rscript = which('Rscript')
+ rscript = which("Rscript")
if rscript is not None:
- r_location = rscript('-e', 'cat(R.home())', output=str)
+ r_location = rscript("-e", "cat(R.home())", output=str)
else:
- msg = 'Could not locate Rscript on your PATH!'
+ msg = "Could not locate Rscript on your PATH!"
raise RuntimeError(msg)
- args.append('--with-r={0}'.format(r_location))
+ args.append("--with-r={0}".format(r_location))
return args
diff --git a/var/spack/repos/builtin/packages/turbomole/package.py b/var/spack/repos/builtin/packages/turbomole/package.py
index ef9289ced9..ef25f78d96 100644
--- a/var/spack/repos/builtin/packages/turbomole/package.py
+++ b/var/spack/repos/builtin/packages/turbomole/package.py
@@ -23,11 +23,14 @@ class Turbomole(Package):
homepage = "http://www.turbomole-gmbh.com/"
manual_download = True
- version('7.0.2', '92b97e1e52e8dcf02a4d9ac0147c09d6',
- url="file://%s/turbolinux702.tar.gz" % os.getcwd())
+ version(
+ "7.0.2",
+ "92b97e1e52e8dcf02a4d9ac0147c09d6",
+ url="file://%s/turbolinux702.tar.gz" % os.getcwd(),
+ )
- variant('mpi', default=True, description='Set up MPI environment')
- variant('smp', default=False, description='Set up SMP environment')
+ variant("mpi", default=True, description="Set up MPI environment")
+ variant("smp", default=False, description="Set up SMP environment")
# Turbomole's install is odd. There are three variants
# - serial
@@ -39,100 +42,99 @@ class Turbomole(Package):
# between them would be accomplished with `module swap` commands.
def do_fetch(self, mirror_only=True):
- if '+mpi' in self.spec and '+smp' in self.spec:
- raise InstallError('Can not have both SMP and MPI enabled in the '
- 'same build.')
+ if "+mpi" in self.spec and "+smp" in self.spec:
+ raise InstallError("Can not have both SMP and MPI enabled in the " "same build.")
super(Turbomole, self).do_fetch(mirror_only)
def get_tm_arch(self):
- if 'TURBOMOLE' in os.getcwd():
- tm_sysname = Executable('./scripts/sysname')
+ if "TURBOMOLE" in os.getcwd():
+ tm_sysname = Executable("./scripts/sysname")
tm_arch = tm_sysname(output=str)
- return tm_arch.rstrip('\n')
+ return tm_arch.rstrip("\n")
else:
return
def install(self, spec, prefix):
- calculate_version = 'calculate_2.4_linux64'
- molecontrol_version = 'MoleControl_2.5'
+ calculate_version = "calculate_2.4_linux64"
+ molecontrol_version = "MoleControl_2.5"
tm_arch = self.get_tm_arch()
- tar = which('tar')
- dst = join_path(prefix, 'TURBOMOLE')
+ tar = which("tar")
+ dst = join_path(prefix, "TURBOMOLE")
- tar('-x', '-z', '-f', 'thermocalc.tar.gz')
- with working_dir('thermocalc'):
- subprocess.call('./install<<<y', shell=True)
+ tar("-x", "-z", "-f", "thermocalc.tar.gz")
+ with working_dir("thermocalc"):
+ subprocess.call("./install<<<y", shell=True)
- install_tree('basen', join_path(dst, 'basen'))
- install_tree('cabasen', join_path(dst, 'cabasen'))
+ install_tree("basen", join_path(dst, "basen"))
+ install_tree("cabasen", join_path(dst, "cabasen"))
install_tree(calculate_version, join_path(dst, calculate_version))
- install_tree('cbasen', join_path(dst, 'cbasen'))
- install_tree('DOC', join_path(dst, 'DOC'))
- install_tree('jbasen', join_path(dst, 'jbasen'))
- install_tree('jkbasen', join_path(dst, 'jkbasen'))
+ install_tree("cbasen", join_path(dst, "cbasen"))
+ install_tree("DOC", join_path(dst, "DOC"))
+ install_tree("jbasen", join_path(dst, "jbasen"))
+ install_tree("jkbasen", join_path(dst, "jkbasen"))
install_tree(molecontrol_version, join_path(dst, molecontrol_version))
- install_tree('parameter', join_path(dst, 'parameter'))
- install_tree('perlmodules', join_path(dst, 'perlmodules'))
- install_tree('scripts', join_path(dst, 'scripts'))
- install_tree('smprun_scripts', join_path(dst, 'smprun_scripts'))
- install_tree('structures', join_path(dst, 'structures'))
- install_tree('thermocalc', join_path(dst, 'thermocalc'))
- install_tree('TURBOTEST', join_path(dst, 'TURBOTEST'))
- install_tree('xbasen', join_path(dst, 'xbasen'))
-
- install('Config_turbo_env', dst)
- install('Config_turbo_env.tcsh', dst)
- install('README', dst)
- install('README_LICENSES', dst)
- install('TURBOMOLE_702_LinuxPC', dst)
-
- if '+mpi' in spec:
- install_tree('bin/%s_mpi' % tm_arch,
- join_path(dst, 'bin', '%s_mpi' % tm_arch))
- install_tree('libso/%s_mpi' % tm_arch,
- join_path(dst, 'libso', '%s_mpi' % tm_arch))
- install_tree('mpirun_scripts/%s_mpi' % tm_arch,
- join_path(dst, 'mpirun_scripts', '%s_mpi' % tm_arch))
- elif '+smp' in spec:
- install_tree('bin/%s_smp' % tm_arch,
- join_path(dst, 'bin', '%s_smp' % tm_arch))
- install_tree('libso/%s_smp' % tm_arch,
- join_path(dst, 'libso', '%s_smp' % tm_arch))
- install_tree('mpirun_scripts/%s_smp' % tm_arch,
- join_path(dst, 'mpirun_scripts', '%s_smp' % tm_arch))
+ install_tree("parameter", join_path(dst, "parameter"))
+ install_tree("perlmodules", join_path(dst, "perlmodules"))
+ install_tree("scripts", join_path(dst, "scripts"))
+ install_tree("smprun_scripts", join_path(dst, "smprun_scripts"))
+ install_tree("structures", join_path(dst, "structures"))
+ install_tree("thermocalc", join_path(dst, "thermocalc"))
+ install_tree("TURBOTEST", join_path(dst, "TURBOTEST"))
+ install_tree("xbasen", join_path(dst, "xbasen"))
+
+ install("Config_turbo_env", dst)
+ install("Config_turbo_env.tcsh", dst)
+ install("README", dst)
+ install("README_LICENSES", dst)
+ install("TURBOMOLE_702_LinuxPC", dst)
+
+ if "+mpi" in spec:
+ install_tree("bin/%s_mpi" % tm_arch, join_path(dst, "bin", "%s_mpi" % tm_arch))
+ install_tree("libso/%s_mpi" % tm_arch, join_path(dst, "libso", "%s_mpi" % tm_arch))
+ install_tree(
+ "mpirun_scripts/%s_mpi" % tm_arch,
+ join_path(dst, "mpirun_scripts", "%s_mpi" % tm_arch),
+ )
+ elif "+smp" in spec:
+ install_tree("bin/%s_smp" % tm_arch, join_path(dst, "bin", "%s_smp" % tm_arch))
+ install_tree("libso/%s_smp" % tm_arch, join_path(dst, "libso", "%s_smp" % tm_arch))
+ install_tree(
+ "mpirun_scripts/%s_smp" % tm_arch,
+ join_path(dst, "mpirun_scripts", "%s_smp" % tm_arch),
+ )
else:
- install_tree('bin/%s' % tm_arch, join_path(dst, 'bin', tm_arch))
- if '+mpi' in spec or '+smp' in spec:
- install('mpirun_scripts/ccsdf12', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/dscf', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/grad', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/mpgrad', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/pnoccsd', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/rdgrad', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/ricc2', join_path(dst, 'mpirun_scripts'))
- install('mpirun_scripts/ridft', join_path(dst, 'mpirun_scripts'))
+ install_tree("bin/%s" % tm_arch, join_path(dst, "bin", tm_arch))
+ if "+mpi" in spec or "+smp" in spec:
+ install("mpirun_scripts/ccsdf12", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/dscf", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/grad", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/mpgrad", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/pnoccsd", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/rdgrad", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/ricc2", join_path(dst, "mpirun_scripts"))
+ install("mpirun_scripts/ridft", join_path(dst, "mpirun_scripts"))
def setup_run_environment(self, env):
- molecontrol_version = 'MoleControl_2.5'
+ molecontrol_version = "MoleControl_2.5"
tm_arch = self.get_tm_arch()
- env.set('TURBODIR', self.prefix.TURBOMOLE)
- env.set('MOLE_CONTROL',
- join_path(self.prefix, 'TURBOMOLE', molecontrol_version))
-
- env.prepend_path('PATH', self.prefix.TURBOMOLE.thermocalc)
- env.prepend_path('PATH', self.prefix.TURBOMOLE.scripts)
- if '+mpi' in self.spec:
- env.set('PARA_ARCH', 'MPI')
- env.prepend_path('PATH', join_path(
- self.prefix, 'TURBOMOLE', 'bin', '%s_mpi' % tm_arch))
- elif '+smp' in self.spec:
- env.set('PARA_ARCH', 'SMP')
- env.prepend_path('PATH', join_path(
- self.prefix, 'TURBOMOLE', 'bin', '%s_smp' % tm_arch))
+ env.set("TURBODIR", self.prefix.TURBOMOLE)
+ env.set("MOLE_CONTROL", join_path(self.prefix, "TURBOMOLE", molecontrol_version))
+
+ env.prepend_path("PATH", self.prefix.TURBOMOLE.thermocalc)
+ env.prepend_path("PATH", self.prefix.TURBOMOLE.scripts)
+ if "+mpi" in self.spec:
+ env.set("PARA_ARCH", "MPI")
+ env.prepend_path(
+ "PATH", join_path(self.prefix, "TURBOMOLE", "bin", "%s_mpi" % tm_arch)
+ )
+ elif "+smp" in self.spec:
+ env.set("PARA_ARCH", "SMP")
+ env.prepend_path(
+ "PATH", join_path(self.prefix, "TURBOMOLE", "bin", "%s_smp" % tm_arch)
+ )
else:
- env.prepend_path('PATH', join_path(
- self.prefix, 'TURBOMOLE', 'bin', tm_arch))
+ env.prepend_path("PATH", join_path(self.prefix, "TURBOMOLE", "bin", tm_arch))
diff --git a/var/spack/repos/builtin/packages/turnserver/package.py b/var/spack/repos/builtin/packages/turnserver/package.py
index ee44ec6ead..0aa3b0590a 100644
--- a/var/spack/repos/builtin/packages/turnserver/package.py
+++ b/var/spack/repos/builtin/packages/turnserver/package.py
@@ -10,8 +10,8 @@ class Turnserver(AutotoolsPackage):
"""coturn TURN server project."""
homepage = "https://coturn.net/turnserver"
- url = "https://coturn.net/turnserver/v4.5.1.3/turnserver-4.5.1.3.tar.gz"
+ url = "https://coturn.net/turnserver/v4.5.1.3/turnserver-4.5.1.3.tar.gz"
- version('4.5.1.3', sha256='408bf7fde455d641bb2a23ba2df992ea0ae87b328de74e66e167ef58d8e9713a')
+ version("4.5.1.3", sha256="408bf7fde455d641bb2a23ba2df992ea0ae87b328de74e66e167ef58d8e9713a")
- depends_on('libevent')
+ depends_on("libevent")
diff --git a/var/spack/repos/builtin/packages/tut/package.py b/var/spack/repos/builtin/packages/tut/package.py
index 4136d326ae..9bbac19164 100644
--- a/var/spack/repos/builtin/packages/tut/package.py
+++ b/var/spack/repos/builtin/packages/tut/package.py
@@ -10,25 +10,27 @@ class Tut(WafPackage):
"""TUT is a small and portable unit test framework for C++."""
homepage = "https://mrzechonek.github.io/tut-framework/"
- url = "https://github.com/mrzechonek/tut-framework/tarball/2016-12-19"
+ url = "https://github.com/mrzechonek/tut-framework/tarball/2016-12-19"
- version('2016-12-19', sha256='9fc0325d6db9709cc5213773bf4fd84f2a95154f18f7f8a553e1e52392e15691')
+ version(
+ "2016-12-19", sha256="9fc0325d6db9709cc5213773bf4fd84f2a95154f18f7f8a553e1e52392e15691"
+ )
- patch('python3-octal.patch', when='@2016-12-19')
+ patch("python3-octal.patch", when="@2016-12-19")
# Python 3.7 support is currently broken
# https://github.com/mrzechonek/tut-framework/issues/18
- depends_on('python@:3.6', type='build')
+ depends_on("python@:3.6", type="build")
# Tut is used for smoke build tests in CI, and started failing as
# soon as gcc@11 was introduced in the environment
- conflicts('%gcc@11:')
+ conflicts("%gcc@11:")
def build_args(self):
args = []
if self.run_tests:
# Run unit tests
- args.append('--test')
+ args.append("--test")
return args
diff --git a/var/spack/repos/builtin/packages/twm/package.py b/var/spack/repos/builtin/packages/twm/package.py
index c59d60ab83..e1139156a6 100644
--- a/var/spack/repos/builtin/packages/twm/package.py
+++ b/var/spack/repos/builtin/packages/twm/package.py
@@ -15,17 +15,17 @@ class Twm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/twm"
xorg_mirror_path = "app/twm-1.0.9.tar.gz"
- version('1.0.9', sha256='1c325e8456a200693c816baa27ceca9c5e5e0f36af63d98f70a335853a0039e8')
+ version("1.0.9", sha256="1c325e8456a200693c816baa27ceca9c5e5e0f36af63d98f70a335853a0039e8")
- depends_on('libx11')
- depends_on('libxext')
- depends_on('libxt')
- depends_on('libxmu')
- depends_on('libice')
- depends_on('libsm')
+ depends_on("libx11")
+ depends_on("libxext")
+ depends_on("libxt")
+ depends_on("libxmu")
+ depends_on("libice")
+ depends_on("libsm")
- depends_on('xproto@7.0.17:')
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/tycho2/package.py b/var/spack/repos/builtin/packages/tycho2/package.py
index ecfe04303e..51855abd5b 100644
--- a/var/spack/repos/builtin/packages/tycho2/package.py
+++ b/var/spack/repos/builtin/packages/tycho2/package.py
@@ -9,29 +9,29 @@ from spack.package import *
class Tycho2(MakefilePackage):
"""A neutral particle transport mini-app to study performance of sweeps
- on unstructured, 3D tetrahedral meshes.
+ on unstructured, 3D tetrahedral meshes.
"""
+
homepage = "https://github.com/lanl/tycho2"
- git = "https://github.com/lanl/tycho2.git"
+ git = "https://github.com/lanl/tycho2.git"
- version('develop', branch='master')
+ version("develop", branch="master")
depends_on("mpi")
def patch(self):
# make.inc is included by Makefile to set MPICC, but we that
# through build_targets() below, so any empty include file is fine.
- touch('make.inc')
+ touch("make.inc")
@property
def build_targets(self):
targets = [
- 'MPICC={0} -std=c++11 {1}'.format(self.spec['mpi'].mpicxx,
- self.compiler.openmp_flag)
+ "MPICC={0} -std=c++11 {1}".format(self.spec["mpi"].mpicxx, self.compiler.openmp_flag)
]
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('sweep.x', prefix.bin)
+ install("sweep.x", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/typhon/package.py b/var/spack/repos/builtin/packages/typhon/package.py
index 7253d25e0c..842508654e 100644
--- a/var/spack/repos/builtin/packages/typhon/package.py
+++ b/var/spack/repos/builtin/packages/typhon/package.py
@@ -13,17 +13,17 @@ class Typhon(CMakePackage):
"""
homepage = "https://github.com/UK-MAC/Typhon"
- url = "https://github.com/UK-MAC/Typhon/archive/v3.0.tar.gz"
- git = "https://github.com/UK-MAC/Typhon.git"
+ url = "https://github.com/UK-MAC/Typhon/archive/v3.0.tar.gz"
+ git = "https://github.com/UK-MAC/Typhon.git"
- version('develop', branch='develop')
+ version("develop", branch="develop")
- version('3.0.2', sha256='28087eb07bf91d23792900214728b5eea61b5e81aa33df28c032dadd6d89b76e')
- version('3.0.1', sha256='8d6e19192e52eadf92175423ae0efd8a1a343c2ea2bc48aacb9028074447c2bb')
- version('3.0', sha256='b9736269ebe9c0fd7efabc4716b0543144780ed26ddaf595083354113aa2efd7')
+ version("3.0.2", sha256="28087eb07bf91d23792900214728b5eea61b5e81aa33df28c032dadd6d89b76e")
+ version("3.0.1", sha256="8d6e19192e52eadf92175423ae0efd8a1a343c2ea2bc48aacb9028074447c2bb")
+ version("3.0", sha256="b9736269ebe9c0fd7efabc4716b0543144780ed26ddaf595083354113aa2efd7")
- depends_on('mpi')
+ depends_on("mpi")
def setup_build_environment(self, env):
- if self.spec.satisfies('%fj'):
- env.set('LDFLAGS', '--linkfortran')
+ if self.spec.satisfies("%fj"):
+ env.set("LDFLAGS", "--linkfortran")
diff --git a/var/spack/repos/builtin/packages/typhonio/package.py b/var/spack/repos/builtin/packages/typhonio/package.py
index de6897b361..8bfcb29751 100644
--- a/var/spack/repos/builtin/packages/typhonio/package.py
+++ b/var/spack/repos/builtin/packages/typhonio/package.py
@@ -8,23 +8,27 @@ from spack.package import *
class Typhonio(CMakePackage):
"""TyphonIO is a library of routines that perform input/output (I/O)
- of scientific data within application codes"""
+ of scientific data within application codes"""
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"
-
- version('develop', branch='cmake_build')
- version('1.6_CMake', sha256='c9b7b2a7f4fa0b786f6b69c6426b67f42efc4ea6871323139d52cd44f4d0ff7c')
-
- variant('build_type', default='Release', values=('Debug', 'Release'),
- description='The build type to build')
- variant('fortran', default=False, description='Enable Fortran support')
- variant('shared', default=False, description='Build shared libraries')
- variant('doc', default=False, description='Build user guide and doxygen documentation')
-
- depends_on('mpi')
- depends_on('hdf5+hl')
+ url = "https://github.com/UK-MAC/typhonio/archive/v1.6_CMake.tar.gz"
+ git = "https://github.com/UK-MAC/typhonio.git"
+
+ version("develop", branch="cmake_build")
+ version("1.6_CMake", sha256="c9b7b2a7f4fa0b786f6b69c6426b67f42efc4ea6871323139d52cd44f4d0ff7c")
+
+ variant(
+ "build_type",
+ default="Release",
+ values=("Debug", "Release"),
+ description="The build type to build",
+ )
+ variant("fortran", default=False, description="Enable Fortran support")
+ variant("shared", default=False, description="Build shared libraries")
+ variant("doc", default=False, description="Build user guide and doxygen documentation")
+
+ depends_on("mpi")
+ depends_on("hdf5+hl")
def cmake_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/uchardet/package.py b/var/spack/repos/builtin/packages/uchardet/package.py
index 7cf90ba617..c3b5ab5659 100644
--- a/var/spack/repos/builtin/packages/uchardet/package.py
+++ b/var/spack/repos/builtin/packages/uchardet/package.py
@@ -13,19 +13,19 @@ class Uchardet(CMakePackage):
are iconv-compatible."""
homepage = "https://www.freedesktop.org/wiki/Software/uchardet/"
- url = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.6.tar.xz"
- git = "https://gitlab.freedesktop.org/uchardet/uchardet.git"
+ url = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.6.tar.xz"
+ git = "https://gitlab.freedesktop.org/uchardet/uchardet.git"
- version('master', branch='master')
- version('0.0.7', sha256='8351328cdfbcb2432e63938721dd781eb8c11ebc56e3a89d0f84576b96002c61')
- version('0.0.6', sha256='8351328cdfbcb2432e63938721dd781eb8c11ebc56e3a89d0f84576b96002c61')
- version('0.0.5', sha256='7c5569c8ee1a129959347f5340655897e6a8f81ec3344de0012a243f868eabd1')
- version('0.0.4', sha256='9dbe41fc73ba6a70676c04b1f0dd812914c0bbb65940283f2d54c5a2338a2acd')
- version('0.0.3', sha256='8caba57524b6e306e764b4dabf5bfec48b6f9d89b73543ed7c95263890e2006f')
- version('0.0.2', sha256='eb59b5b36269212a0d5f44d654cdbeb02e4e43ff59e3ce0205d6a64670991e83')
+ version("master", branch="master")
+ version("0.0.7", sha256="8351328cdfbcb2432e63938721dd781eb8c11ebc56e3a89d0f84576b96002c61")
+ version("0.0.6", sha256="8351328cdfbcb2432e63938721dd781eb8c11ebc56e3a89d0f84576b96002c61")
+ version("0.0.5", sha256="7c5569c8ee1a129959347f5340655897e6a8f81ec3344de0012a243f868eabd1")
+ version("0.0.4", sha256="9dbe41fc73ba6a70676c04b1f0dd812914c0bbb65940283f2d54c5a2338a2acd")
+ version("0.0.3", sha256="8caba57524b6e306e764b4dabf5bfec48b6f9d89b73543ed7c95263890e2006f")
+ version("0.0.2", sha256="eb59b5b36269212a0d5f44d654cdbeb02e4e43ff59e3ce0205d6a64670991e83")
def url_for_version(self, version):
- if version >= Version('0.0.6'):
+ if version >= Version("0.0.6"):
url = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.6.tar.xz"
else:
url = "https://github.com/BYVoid/uchardet/archive/v0.0.5.tar.gz"
@@ -33,11 +33,11 @@ class Uchardet(CMakePackage):
def cmake_args(self):
args = []
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
args += [
# From https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/uchardet.rb
- self.define('CMAKE_INSTALL_NAME_DIR', self.prefix.lib),
+ self.define("CMAKE_INSTALL_NAME_DIR", self.prefix.lib),
# From https://github.com/mutationpp/Mutationpp/issues/26
- self.define('CMAKE_MACOSX_RPATH', 'ON')
+ self.define("CMAKE_MACOSX_RPATH", "ON"),
]
return args
diff --git a/var/spack/repos/builtin/packages/ucx/package.py b/var/spack/repos/builtin/packages/ucx/package.py
index 81eba1eabc..a3a3fce866 100644
--- a/var/spack/repos/builtin/packages/ucx/package.py
+++ b/var/spack/repos/builtin/packages/ucx/package.py
@@ -12,183 +12,209 @@ class Ucx(AutotoolsPackage, CudaPackage):
MPI/PGAS frameworks"""
homepage = "http://www.openucx.org"
- url = "https://github.com/openucx/ucx/releases/download/v1.3.1/ucx-1.3.1.tar.gz"
- git = "https://github.com/openucx/ucx.git"
+ url = "https://github.com/openucx/ucx/releases/download/v1.3.1/ucx-1.3.1.tar.gz"
+ git = "https://github.com/openucx/ucx.git"
- maintainers = ['hppritcha']
+ maintainers = ["hppritcha"]
# Current
- version('1.13.0', sha256='8a3881f21fe2788113789f5bae1c8174e931f7542de0a934322a96ef354e5e3d')
- version('1.12.1', sha256='40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e')
- version('1.12.0', sha256='93e994de2d1a4df32381ea92ba4c98a249010d1720eb0f6110dc72c9a7d25db6')
- version('1.11.2', sha256='deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df')
- version('1.11.1', sha256='29338cad18858517f96b46ff83bdd259a5899e274792cebd269717c660aa86fd')
- version('1.11.0', sha256='b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647')
- version('1.10.1', sha256='ae9a108af6842ca135e7ec9b6131469adf9f1e50f899349fafcc69a215368bc9')
- version('1.10.0', sha256='b885e24b1b94724c03cb213c355381e98df1e2d1fd7f633cf8055b6dd05db92d')
- version('1.9-dev', branch='v1.9.x')
- version('1.9.0', sha256='a7a2c8841dc0d5444088a4373dc9b9cc68dbffcd917c1eba92ca8ed8e5e635fb')
- version('1.8.1', sha256='a48820cb8d0761b5ccf3e7ba03a7c8c1dde6276017657178829e07ffc35b556a')
- version('1.8.0', sha256='e400f7aa5354971c8f5ac6b881dc2846143851df868088c37d432c076445628d')
- version('1.7.0', sha256='6ab81ee187bfd554fe7e549da93a11bfac420df87d99ee61ffab7bb19bdd3371')
- version('1.6.1', sha256='1425648aa03f5fa40e4bc5c4a5a83fe0292e2fe44f6054352fbebbf6d8f342a1')
- version('1.6.0', sha256='360e885dd7f706a19b673035a3477397d100a02eb618371697c7f3ee4e143e2c')
- version('1.5.2', sha256='1a333853069860e86ba69b8d071ccc9871209603790e2b673ec61f8086913fad')
- version('1.5.1', sha256='567119cd80ad2ae6968ecaa4bd1d2a80afadd037ccc988740f668de10d2fdb7e')
- version('1.5.0', sha256='84f6e4fa5740afebb9b1c8bb405c07206e58c56f83120dcfcd8dc89e4b7d7458')
- version('1.4.0', sha256='99891a98476bcadc6ac4ef9c9f083bc6ffb188a96b3c3bc89c8bbca64de2c76e')
+ version("1.13.0", sha256="8a3881f21fe2788113789f5bae1c8174e931f7542de0a934322a96ef354e5e3d")
+ version("1.12.1", sha256="40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e")
+ version("1.12.0", sha256="93e994de2d1a4df32381ea92ba4c98a249010d1720eb0f6110dc72c9a7d25db6")
+ version("1.11.2", sha256="deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df")
+ version("1.11.1", sha256="29338cad18858517f96b46ff83bdd259a5899e274792cebd269717c660aa86fd")
+ version("1.11.0", sha256="b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647")
+ version("1.10.1", sha256="ae9a108af6842ca135e7ec9b6131469adf9f1e50f899349fafcc69a215368bc9")
+ version("1.10.0", sha256="b885e24b1b94724c03cb213c355381e98df1e2d1fd7f633cf8055b6dd05db92d")
+ version("1.9-dev", branch="v1.9.x")
+ version("1.9.0", sha256="a7a2c8841dc0d5444088a4373dc9b9cc68dbffcd917c1eba92ca8ed8e5e635fb")
+ version("1.8.1", sha256="a48820cb8d0761b5ccf3e7ba03a7c8c1dde6276017657178829e07ffc35b556a")
+ version("1.8.0", sha256="e400f7aa5354971c8f5ac6b881dc2846143851df868088c37d432c076445628d")
+ version("1.7.0", sha256="6ab81ee187bfd554fe7e549da93a11bfac420df87d99ee61ffab7bb19bdd3371")
+ version("1.6.1", sha256="1425648aa03f5fa40e4bc5c4a5a83fe0292e2fe44f6054352fbebbf6d8f342a1")
+ version("1.6.0", sha256="360e885dd7f706a19b673035a3477397d100a02eb618371697c7f3ee4e143e2c")
+ version("1.5.2", sha256="1a333853069860e86ba69b8d071ccc9871209603790e2b673ec61f8086913fad")
+ version("1.5.1", sha256="567119cd80ad2ae6968ecaa4bd1d2a80afadd037ccc988740f668de10d2fdb7e")
+ version("1.5.0", sha256="84f6e4fa5740afebb9b1c8bb405c07206e58c56f83120dcfcd8dc89e4b7d7458")
+ version("1.4.0", sha256="99891a98476bcadc6ac4ef9c9f083bc6ffb188a96b3c3bc89c8bbca64de2c76e")
# Still supported
- version('1.3.1', sha256='e058c8ec830d2f50d9db1e3aaaee105cd2ad6c1e6df20ae58b9b4179de7a8992')
- version('1.3.0', sha256='71e69e6d78a4950cc5a1edcbe59bf7a8f8e38d59c9f823109853927c4d442952')
- version('1.2.2', sha256='914d10fee8f970d4fb286079dd656cf8a260ec7d724d5f751b3109ed32a6da63')
- version('1.2.1', sha256='fc63760601c03ff60a2531ec3c6637e98f5b743576eb410f245839c84a0ad617')
- version('1.2.0', sha256='1e1a62d6d0f89ce59e384b0b5b30b416b8fd8d7cedec4182a5319d0dfddf649c')
-
- simd_values = ('avx', 'sse41', 'sse42')
-
- variant('assertions', default=False, description='Enable assertions')
- variant('backtrace_detail', default=False, description="Enable using BFD support "
- "for detailed backtrace. Note: this adds a dependency on binutils, you may "
- "want to mark binutils as external or depend on binutils~ld to avoid "
- "changing the linker during the build of ucx.")
- variant('debug', default=False, description='Enable debugging')
- variant('examples', default=True, description='Keep examples')
- variant('java', default=False, description='Builds with Java bindings')
- variant('libs', default='shared,static', values=('shared', 'static'), multi=True, description='Build shared libs, static libs or both')
- variant('logging', default=False, description='Enable logging')
- variant('openmp', default=True, description="Use OpenMP")
- variant('opt', default='3', values=('0', '1', '2', '3'), multi=False, description='Set optimization level')
- variant('optimizations', default=True, description='Enable optimizations')
- variant('parameter_checking', default=False, description='Enable parameter checking')
- variant('pic', default=True, description='Builds with PIC support')
- variant('rocm', default=False, description="Enable ROCm support")
- variant('simd', values=disjoint_sets(('auto',), simd_values).with_default('auto').with_non_feature_values('auto'))
- variant('thread_multiple', default=False, description='Enable thread support in UCP and UCT')
- variant('ucg', default=False, description="Enable the group collective operations (experimental component)")
- variant('vfs', default=False, when='@1.11.0:', description='UCX Virtual Filesystem support')
-
- variant('cm', default=False, when='@:1.10', description="Compile with IB Connection Manager support")
- variant('cma', default=False, description="Enable Cross Memory Attach")
- variant('dc', default=False, description="Compile with IB Dynamic Connection support")
- variant('dm', default=False, description="Compile with Device Memory support")
- variant('gdrcopy', default=False, description='Enable gdrcopy support')
- variant('ib_hw_tm', default=False, description="Compile with IB Tag Matching support")
- variant('knem', default=False, description='Enable KNEM support')
- variant('mlx5_dv', default=False, description="Compile with mlx5 Direct Verbs support")
- variant('rc', default=False, description="Compile with IB Reliable Connection support")
- variant('rdmacm', default=False, description='Enable the use of RDMACM')
- variant('ud', default=False, description="Compile with IB Unreliable Datagram support")
- variant('verbs', default=False, description='Build OpenFabrics support')
- variant('xpmem', default=False, description='Enable XPMEM support')
-
- depends_on('binutils+ld', when='%aocc', type='build')
- depends_on('binutils', when='+backtrace_detail')
- depends_on('gdrcopy', when='@1.7:+gdrcopy')
- depends_on('gdrcopy@1.3', when='@:1.6+gdrcopy')
- depends_on('java@8', when='+java')
- depends_on('knem', when='+knem')
- depends_on('libfuse@3:', when='+vfs')
- depends_on('maven', when='+java')
- depends_on('numactl')
- depends_on('pkgconfig', type='build')
- depends_on('rdma-core', when='+rdmacm')
- depends_on('rdma-core', when='+verbs')
- depends_on('xpmem', when='+xpmem')
-
- conflicts('+gdrcopy', when='~cuda', msg='gdrcopy currently requires cuda support')
- conflicts('+rocm', when='+gdrcopy', msg='gdrcopy > 2.0 does not support rocm')
-
- configure_abs_path = 'contrib/configure-release'
-
- @when('@1.9-dev')
+ version("1.3.1", sha256="e058c8ec830d2f50d9db1e3aaaee105cd2ad6c1e6df20ae58b9b4179de7a8992")
+ version("1.3.0", sha256="71e69e6d78a4950cc5a1edcbe59bf7a8f8e38d59c9f823109853927c4d442952")
+ version("1.2.2", sha256="914d10fee8f970d4fb286079dd656cf8a260ec7d724d5f751b3109ed32a6da63")
+ version("1.2.1", sha256="fc63760601c03ff60a2531ec3c6637e98f5b743576eb410f245839c84a0ad617")
+ version("1.2.0", sha256="1e1a62d6d0f89ce59e384b0b5b30b416b8fd8d7cedec4182a5319d0dfddf649c")
+
+ simd_values = ("avx", "sse41", "sse42")
+
+ variant("assertions", default=False, description="Enable assertions")
+ variant(
+ "backtrace_detail",
+ default=False,
+ description="Enable using BFD support "
+ "for detailed backtrace. Note: this adds a dependency on binutils, you may "
+ "want to mark binutils as external or depend on binutils~ld to avoid "
+ "changing the linker during the build of ucx.",
+ )
+ variant("debug", default=False, description="Enable debugging")
+ variant("examples", default=True, description="Keep examples")
+ variant("java", default=False, description="Builds with Java bindings")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+ variant("logging", default=False, description="Enable logging")
+ variant("openmp", default=True, description="Use OpenMP")
+ variant(
+ "opt",
+ default="3",
+ values=("0", "1", "2", "3"),
+ multi=False,
+ description="Set optimization level",
+ )
+ variant("optimizations", default=True, description="Enable optimizations")
+ variant("parameter_checking", default=False, description="Enable parameter checking")
+ variant("pic", default=True, description="Builds with PIC support")
+ variant("rocm", default=False, description="Enable ROCm support")
+ variant(
+ "simd",
+ values=disjoint_sets(("auto",), simd_values)
+ .with_default("auto")
+ .with_non_feature_values("auto"),
+ )
+ variant("thread_multiple", default=False, description="Enable thread support in UCP and UCT")
+ variant(
+ "ucg",
+ default=False,
+ description="Enable the group collective operations (experimental component)",
+ )
+ variant("vfs", default=False, when="@1.11.0:", description="UCX Virtual Filesystem support")
+
+ variant(
+ "cm",
+ default=False,
+ when="@:1.10",
+ description="Compile with IB Connection Manager support",
+ )
+ variant("cma", default=False, description="Enable Cross Memory Attach")
+ variant("dc", default=False, description="Compile with IB Dynamic Connection support")
+ variant("dm", default=False, description="Compile with Device Memory support")
+ variant("gdrcopy", default=False, description="Enable gdrcopy support")
+ variant("ib_hw_tm", default=False, description="Compile with IB Tag Matching support")
+ variant("knem", default=False, description="Enable KNEM support")
+ variant("mlx5_dv", default=False, description="Compile with mlx5 Direct Verbs support")
+ variant("rc", default=False, description="Compile with IB Reliable Connection support")
+ variant("rdmacm", default=False, description="Enable the use of RDMACM")
+ variant("ud", default=False, description="Compile with IB Unreliable Datagram support")
+ variant("verbs", default=False, description="Build OpenFabrics support")
+ variant("xpmem", default=False, description="Enable XPMEM support")
+
+ depends_on("binutils+ld", when="%aocc", type="build")
+ depends_on("binutils", when="+backtrace_detail")
+ depends_on("gdrcopy", when="@1.7:+gdrcopy")
+ depends_on("gdrcopy@1.3", when="@:1.6+gdrcopy")
+ depends_on("java@8", when="+java")
+ depends_on("knem", when="+knem")
+ depends_on("libfuse@3:", when="+vfs")
+ depends_on("maven", when="+java")
+ depends_on("numactl")
+ depends_on("pkgconfig", type="build")
+ depends_on("rdma-core", when="+rdmacm")
+ depends_on("rdma-core", when="+verbs")
+ depends_on("xpmem", when="+xpmem")
+
+ conflicts("+gdrcopy", when="~cuda", msg="gdrcopy currently requires cuda support")
+ conflicts("+rocm", when="+gdrcopy", msg="gdrcopy > 2.0 does not support rocm")
+
+ configure_abs_path = "contrib/configure-release"
+
+ @when("@1.9-dev")
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
def configure_args(self):
spec = self.spec
- args = [
- '--without-go', # todo
- '--disable-doxygen-doc' # todo
- ]
-
- args += self.enable_or_disable('assertions')
- args.append('--enable-compiler-opt=' + self.spec.variants['opt'].value)
- args += self.with_or_without('java', activation_value='prefix')
- args += self.enable_or_disable('libs')
- args += self.enable_or_disable('logging')
- args += self.enable_or_disable('mt', variant='thread_multiple')
- args += self.with_or_without('openmp')
- args += self.enable_or_disable('optimizations')
- args += self.enable_or_disable('params-check', variant='parameter_checking')
- args += self.with_or_without('pic')
-
- args += self.with_or_without('cuda', activation_value='prefix')
- args += self.with_or_without('rocm') # todo, prefix, avoid /opt/rocm guess.
-
- args += self.with_or_without('cm')
- args += self.enable_or_disable('cma')
- args += self.with_or_without('dc')
- args += self.with_or_without('dm')
- args += self.with_or_without('gdrcopy', activation_value='prefix')
- args += self.with_or_without('ib-hw-tm', variant='ib_hw_tm')
- args += self.with_or_without('knem', activation_value='prefix')
- args += self.with_or_without('mlx5-dv', variant='mlx5_dv')
- args += self.with_or_without('rc')
- args += self.with_or_without('ud')
- args += self.with_or_without('xpmem', activation_value='prefix')
+ args = ["--without-go", "--disable-doxygen-doc"] # todo # todo
+
+ args += self.enable_or_disable("assertions")
+ args.append("--enable-compiler-opt=" + self.spec.variants["opt"].value)
+ args += self.with_or_without("java", activation_value="prefix")
+ args += self.enable_or_disable("libs")
+ args += self.enable_or_disable("logging")
+ args += self.enable_or_disable("mt", variant="thread_multiple")
+ args += self.with_or_without("openmp")
+ args += self.enable_or_disable("optimizations")
+ args += self.enable_or_disable("params-check", variant="parameter_checking")
+ args += self.with_or_without("pic")
+
+ args += self.with_or_without("cuda", activation_value="prefix")
+ args += self.with_or_without("rocm") # todo, prefix, avoid /opt/rocm guess.
+
+ args += self.with_or_without("cm")
+ args += self.enable_or_disable("cma")
+ args += self.with_or_without("dc")
+ args += self.with_or_without("dm")
+ args += self.with_or_without("gdrcopy", activation_value="prefix")
+ args += self.with_or_without("ib-hw-tm", variant="ib_hw_tm")
+ args += self.with_or_without("knem", activation_value="prefix")
+ args += self.with_or_without("mlx5-dv", variant="mlx5_dv")
+ args += self.with_or_without("rc")
+ args += self.with_or_without("ud")
+ args += self.with_or_without("xpmem", activation_value="prefix")
# Virtual filesystem as of UCX 1.11
- if '+vfs' in spec:
- args.append('--with-fuse3=' + self.spec['libfuse'].prefix)
+ if "+vfs" in spec:
+ args.append("--with-fuse3=" + self.spec["libfuse"].prefix)
else:
- args.append('--without-fuse3')
+ args.append("--without-fuse3")
# Backtraces
# UCX <= 1.11: --enable-backtrace-detail
# UCX >= 1.12: --with-bfd
- if '@:1.11' in spec:
- args += self.enable_or_disable(
- 'backtrace-detail', variant='backtrace_detail')
+ if "@:1.11" in spec:
+ args += self.enable_or_disable("backtrace-detail", variant="backtrace_detail")
else:
- if '+backtrace_detail' in spec:
- args.append('--with-bfd=' + self.spec['binutils'].prefix)
+ if "+backtrace_detail" in spec:
+ args.append("--with-bfd=" + self.spec["binutils"].prefix)
else:
- args.append('--without-bfd')
+ args.append("--without-bfd")
- if '+rdmacm' in spec:
- args.append('--with-rdmacm=' + self.spec['rdma-core'].prefix)
+ if "+rdmacm" in spec:
+ args.append("--with-rdmacm=" + self.spec["rdma-core"].prefix)
else:
- args.append('--without-rdmacm')
+ args.append("--without-rdmacm")
- if '+verbs' in spec:
- args.append('--with-verbs=' + self.spec['rdma-core'].prefix)
+ if "+verbs" in spec:
+ args.append("--with-verbs=" + self.spec["rdma-core"].prefix)
else:
- args.append('--without-verbs')
+ args.append("--without-verbs")
# SIMD flags.
- if self.spec.satisfies('simd=auto'):
- if 'avx' in self.spec.target:
- args.append('--with-avx')
+ if self.spec.satisfies("simd=auto"):
+ if "avx" in self.spec.target:
+ args.append("--with-avx")
else:
- args.append('--without-avx')
- elif self.spec.satisfies('simd=none'):
+ args.append("--without-avx")
+ elif self.spec.satisfies("simd=none"):
for instr in self.simd_values:
- args.append('--without-' + instr)
+ args.append("--without-" + instr)
else:
for instr in self.simd_values:
- if instr in spec.variants['simd'].value:
- args.append('--with-' + instr)
+ if instr in spec.variants["simd"].value:
+ args.append("--with-" + instr)
else:
- args.append('--without-' + instr)
+ args.append("--without-" + instr)
# lld doesn't support '-dynamic-list-data'
- if '%aocc' in spec:
- args.append('LDFLAGS=-fuse-ld=bfd')
+ if "%aocc" in spec:
+ args.append("LDFLAGS=-fuse-ld=bfd")
return args
- @run_after('install')
+ @run_after("install")
def drop_examples(self):
- if self.spec.satisfies('~examples'):
- shutil.rmtree(join_path(self.spec.prefix, 'share', 'ucx', 'examples'))
+ if self.spec.satisfies("~examples"):
+ shutil.rmtree(join_path(self.spec.prefix, "share", "ucx", "examples"))
diff --git a/var/spack/repos/builtin/packages/udunits/package.py b/var/spack/repos/builtin/packages/udunits/package.py
index 0711af1bad..ea59de0ef8 100644
--- a/var/spack/repos/builtin/packages/udunits/package.py
+++ b/var/spack/repos/builtin/packages/udunits/package.py
@@ -10,11 +10,11 @@ class Udunits(AutotoolsPackage):
"""Automated units conversion"""
homepage = "https://www.unidata.ucar.edu/software/udunits"
- url = "https://artifacts.unidata.ucar.edu/repository/downloads-udunits/udunits-2.2.28.tar.gz"
+ url = "https://artifacts.unidata.ucar.edu/repository/downloads-udunits/udunits-2.2.28.tar.gz"
- version('2.2.28', sha256='590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e')
- version('2.2.24', sha256='20bac512f2656f056385429a0e44902fdf02fc7fe01c14d56f3c724336177f95')
- version('2.2.23', sha256='b745ae10753fe82cdc7cc834e6ce471ca7c25ba2662e6ff93be147cb3d4fd380')
- version('2.2.21', sha256='a154d1f8428c24e92723f9e50bdb5cc00827e3f5ff9cba64d33e5409f5c03455')
+ version("2.2.28", sha256="590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e")
+ version("2.2.24", sha256="20bac512f2656f056385429a0e44902fdf02fc7fe01c14d56f3c724336177f95")
+ version("2.2.23", sha256="b745ae10753fe82cdc7cc834e6ce471ca7c25ba2662e6ff93be147cb3d4fd380")
+ version("2.2.21", sha256="a154d1f8428c24e92723f9e50bdb5cc00827e3f5ff9cba64d33e5409f5c03455")
- depends_on('expat')
+ depends_on("expat")
diff --git a/var/spack/repos/builtin/packages/ufo-core/package.py b/var/spack/repos/builtin/packages/ufo-core/package.py
index dc0127aa11..77ab2c2649 100644
--- a/var/spack/repos/builtin/packages/ufo-core/package.py
+++ b/var/spack/repos/builtin/packages/ufo-core/package.py
@@ -13,9 +13,9 @@ class UfoCore(CMakePackage):
development files."""
homepage = "https://ufo.kit.edu"
- url = "https://github.com/ufo-kit/ufo-core/archive/v0.14.0.tar.gz"
+ url = "https://github.com/ufo-kit/ufo-core/archive/v0.14.0.tar.gz"
- version('0.14.0', sha256='3bf0d1924d6ae3f51673cc8b0b31b17873e79f1a0129a9af54b4062b1b2b3ad7')
+ version("0.14.0", sha256="3bf0d1924d6ae3f51673cc8b0b31b17873e79f1a0129a9af54b4062b1b2b3ad7")
- depends_on('glib')
- depends_on('json-glib')
+ depends_on("glib")
+ depends_on("json-glib")
diff --git a/var/spack/repos/builtin/packages/ufo-filters/package.py b/var/spack/repos/builtin/packages/ufo-filters/package.py
index d1f2764e82..747552ef92 100644
--- a/var/spack/repos/builtin/packages/ufo-filters/package.py
+++ b/var/spack/repos/builtin/packages/ufo-filters/package.py
@@ -12,8 +12,8 @@ class UfoFilters(CMakePackage):
CPUs, GPUs or clusters. This package contains filter plugins."""
homepage = "https://ufo.kit.edu"
- url = "https://github.com/ufo-kit/ufo-filters/archive/v0.14.1.tar.gz"
+ url = "https://github.com/ufo-kit/ufo-filters/archive/v0.14.1.tar.gz"
- version('0.14.1', sha256='084d7cdef59205e1a048e5c142be1ffeaacedc42965824b642e8302ef30ebb13')
+ version("0.14.1", sha256="084d7cdef59205e1a048e5c142be1ffeaacedc42965824b642e8302ef30ebb13")
- depends_on('ufo-core')
+ depends_on("ufo-core")
diff --git a/var/spack/repos/builtin/packages/ufs-utils/package.py b/var/spack/repos/builtin/packages/ufs-utils/package.py
index cbc82d9eeb..75ec90944f 100644
--- a/var/spack/repos/builtin/packages/ufs-utils/package.py
+++ b/var/spack/repos/builtin/packages/ufs-utils/package.py
@@ -13,32 +13,34 @@ class UfsUtils(CMakePackage):
This is related to NOAA's NCEPLIBS project."""
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', 'edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
-
- 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')
+ url = "https://github.com/NOAA-EMC/UFS_UTILS/archive/refs/tags/ufs_utils_1_6_0.tar.gz"
+
+ maintainers = ["t-brown", "edwardhartnett", "kgerheiser", "Hang-Lei-NOAA"]
+
+ 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 cmake_args(self):
- return ['-DMPI_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- '-DMPI_Fortran_COMPILER=%s' % self.spec['mpi'].mpifc]
+ return [
+ "-DMPI_C_COMPILER=%s" % self.spec["mpi"].mpicc,
+ "-DMPI_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc,
+ ]
def setup_build_environment(self, env):
- env.set('ESMFMKFILE', join_path(self.spec['esmf'].prefix.lib, 'esmf.mk'))
+ 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
index f5e2486a55..dbf149ddd7 100644
--- a/var/spack/repos/builtin/packages/ufs-weather-model/package.py
+++ b/var/spack/repos/builtin/packages/ufs-weather-model/package.py
@@ -14,57 +14,66 @@ class UfsWeatherModel(CMakePackage):
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"
+ 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']
+ 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)
+ 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')
+ 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')
+ 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("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]))
+ 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')
+ 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."
@@ -72,23 +81,24 @@ class UfsWeatherModel(CMakePackage):
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'),
- ]
+ 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')
+ @run_after("install")
def install_additional_files(self):
mkdirp(prefix.bin)
- ufs_src = join_path(self.build_directory, 'NEMS.exe')
+ 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/uftrace/package.py b/var/spack/repos/builtin/packages/uftrace/package.py
index 7114af3f5e..98f33deba1 100644
--- a/var/spack/repos/builtin/packages/uftrace/package.py
+++ b/var/spack/repos/builtin/packages/uftrace/package.py
@@ -12,44 +12,44 @@ from spack.package import *
class Uftrace(AutotoolsPackage):
"""Dynamic function graph tracer for Linux which demangles C, C++ and Rust calls"""
- homepage = 'https://uftrace.github.io/slide/'
- url = 'https://github.com/namhyung/uftrace/archive/v0.11.tar.gz'
- git = 'https://github.com/namhyung/uftrace.git'
- executables = ['^uftrace$']
- maintainers = ['bernhardkaindl']
- tags = ['trace-tools']
+ homepage = "https://uftrace.github.io/slide/"
+ url = "https://github.com/namhyung/uftrace/archive/v0.11.tar.gz"
+ git = "https://github.com/namhyung/uftrace.git"
+ executables = ["^uftrace$"]
+ maintainers = ["bernhardkaindl"]
+ tags = ["trace-tools"]
# The build process uses 'git describe --tags' to get the package version
- version('master', branch='master', get_full_repo=True)
- version('0.11', sha256='101dbb13cb3320ee76525ec26426f2aa1de4e3ee5af74f79cb403ae4d2c6c871')
- version('0.10', sha256='b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9')
+ version("master", branch="master", get_full_repo=True)
+ version("0.11", sha256="101dbb13cb3320ee76525ec26426f2aa1de4e3ee5af74f79cb403ae4d2c6c871")
+ version("0.10", sha256="b8b56d540ea95c3eafe56440d6a998e0a140d53ca2584916b6ca82702795bbd9")
variant("doc", default=False, description="Build uftrace's documentation")
variant("python2", default=False, description="Build uftrace with python2 support")
variant("python3", default=True, description="Build uftrace with python3 support")
- depends_on('pandoc', when="+doc", type='build')
- depends_on('capstone')
- depends_on('elfutils')
- depends_on('lsof', type='test')
- depends_on('pkgconfig', type='build')
- depends_on('libunwind')
- depends_on('ncurses')
- depends_on('python@2.7:', when='+python2')
- depends_on('python@3.5:', when='+python3')
- depends_on('lua-luajit')
+ depends_on("pandoc", when="+doc", type="build")
+ depends_on("capstone")
+ depends_on("elfutils")
+ depends_on("lsof", type="test")
+ depends_on("pkgconfig", type="build")
+ depends_on("libunwind")
+ depends_on("ncurses")
+ depends_on("python@2.7:", when="+python2")
+ depends_on("python@3.5:", when="+python3")
+ depends_on("lua-luajit")
# Fix the version string if building below another git repo. Submitted upstream:
- @when('@:0.11')
+ @when("@:0.11")
def patch(self):
- filter_file('shell git', 'shell test -e .git && git', 'Makefile')
+ filter_file("shell git", "shell test -e .git && git", "Makefile")
def check(self):
- make('test', *['V=1', '-j{0}'.format(max(int(make_jobs), 20))])
+ make("test", *["V=1", "-j{0}".format(max(int(make_jobs), 20))])
# In certain cases, tests using TCP/IP can hang. Ensure that spack can continue:
os.system("kill -9 `lsof -t ./uftrace` 2>/dev/null")
def install(self, spec, prefix):
- make('install', *['V=1'])
+ make("install", *["V=1"])
def installcheck(self):
pass
@@ -57,21 +57,26 @@ class Uftrace(AutotoolsPackage):
def test(self):
"""Perform stand-alone/smoke tests using the installed package."""
uftrace = self.prefix.bin.uftrace
- self.run_test(uftrace,
- ['-A', '.', '-R', '.', '-P', 'main', uftrace, '-V'],
- [r'dwarf',
- r'luajit',
- r'tui',
- r'sched',
- r'dynamic',
- r'main\(2, ',
- r' getopt_long\(2, ',
- r' .*printf.*\(',
- r'} = 0; /\* main \*/'], installed=True,
- purpose='test: testing the installation')
+ self.run_test(
+ uftrace,
+ ["-A", ".", "-R", ".", "-P", "main", uftrace, "-V"],
+ [
+ r"dwarf",
+ r"luajit",
+ r"tui",
+ r"sched",
+ r"dynamic",
+ r"main\(2, ",
+ r" getopt_long\(2, ",
+ r" .*printf.*\(",
+ r"} = 0; /\* main \*/",
+ ],
+ installed=True,
+ purpose="test: testing the installation",
+ )
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'uftrace v(\S+)', output)
- return match.group(1) if match else 'None'
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"uftrace v(\S+)", output)
+ return match.group(1) if match else "None"
diff --git a/var/spack/repos/builtin/packages/umap/package.py b/var/spack/repos/builtin/packages/umap/package.py
index de1e4e5fdf..2931fd4b1f 100644
--- a/var/spack/repos/builtin/packages/umap/package.py
+++ b/var/spack/repos/builtin/packages/umap/package.py
@@ -12,26 +12,26 @@ class Umap(CMakePackage):
feature (starting with 4.3 linux kernel)."""
homepage = "https://github.com/LLNL/umap"
- url = "https://github.com/LLNL/umap/archive/v2.1.0.tar.gz"
- git = "https://github.com/LLNL/umap.git"
+ url = "https://github.com/LLNL/umap/archive/v2.1.0.tar.gz"
+ git = "https://github.com/LLNL/umap.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('develop', branch='develop')
- version('2.1.0', sha256='dfdc5b717aecdbfbb0da22e8567b9f2ffbc3607000a31122bf7c5ab3b85cecd9')
- version('2.0.0', sha256='85c4bc68e8790393847a84eb54eaf6fc321acade382a399a2679d541b0e34150')
- version('1.0.0', sha256='c746de3fae5bfc5bbf36234d5e888ea45eeba374c26cd8b5a817d0c08e454ed5')
- version('0.0.4', sha256='bffaa03668c95b608406269cba6543f5e0ba37b04ac08a3fc4593976996bc273')
- version('0.0.3', sha256='8e80835a85ad69fcd95f963822b1616c782114077d79c350017db4d82871455c')
- version('0.0.2', sha256='eccc987b414bc568bd33b569ab6e18c328409499f11e65ac5cd5c3e1a8b47509')
- version('0.0.1', sha256='49020adf55aa3f8f03757373b21ff229d2e8cf4155d54835019cd4745c1291ef')
+ version("develop", branch="develop")
+ version("2.1.0", sha256="dfdc5b717aecdbfbb0da22e8567b9f2ffbc3607000a31122bf7c5ab3b85cecd9")
+ version("2.0.0", sha256="85c4bc68e8790393847a84eb54eaf6fc321acade382a399a2679d541b0e34150")
+ version("1.0.0", sha256="c746de3fae5bfc5bbf36234d5e888ea45eeba374c26cd8b5a817d0c08e454ed5")
+ version("0.0.4", sha256="bffaa03668c95b608406269cba6543f5e0ba37b04ac08a3fc4593976996bc273")
+ version("0.0.3", sha256="8e80835a85ad69fcd95f963822b1616c782114077d79c350017db4d82871455c")
+ version("0.0.2", sha256="eccc987b414bc568bd33b569ab6e18c328409499f11e65ac5cd5c3e1a8b47509")
+ version("0.0.1", sha256="49020adf55aa3f8f03757373b21ff229d2e8cf4155d54835019cd4745c1291ef")
- variant('logging', default=False, description='Build with logging enabled.')
- variant('tests', default=False, description='Build test programs.')
+ variant("logging", default=False, description="Build with logging enabled.")
+ variant("tests", default=False, description="Build test programs.")
def cmake_args(self):
args = [
- self.define_from_variant('ENABLE_LOGGING', 'logging'),
- self.define_from_variant('ENABLE_TESTS', 'tests'),
+ self.define_from_variant("ENABLE_LOGGING", "logging"),
+ self.define_from_variant("ENABLE_TESTS", "tests"),
]
return args
diff --git a/var/spack/repos/builtin/packages/umesimd/package.py b/var/spack/repos/builtin/packages/umesimd/package.py
index 37f5909c12..0ca6b28bf6 100644
--- a/var/spack/repos/builtin/packages/umesimd/package.py
+++ b/var/spack/repos/builtin/packages/umesimd/package.py
@@ -12,14 +12,14 @@ class Umesimd(CMakePackage):
AVX, AVX2, AVX512 and IMCI (KNCNI, k1om) instruction set."""
homepage = "https://github.com/edanor/umesimd"
- url = "https://github.com/edanor/umesimd/archive/v0.8.1.tar.gz"
+ url = "https://github.com/edanor/umesimd/archive/v0.8.1.tar.gz"
- version('0.8.1', sha256='78f457634ee593495083cf8eb6ec1cf7f274db5ff7210c37b3a954f1a712d357')
- version('0.7.1', sha256='c5377f8223fbf93ad79412e4b40fd14e88a86e08aa573f49df38a159d451023d')
- version('0.6.1', sha256='15d9fde1a5c89f3c77c42550c2b55d25a581971002157a338e01104079cdf843')
- version('0.5.2', sha256='8a02c0322b38f1e1757675bb781e190b2458fb8bc508a6bd03356da248362daf')
- version('0.5.1', sha256='6b7bc62548170e15e98d9e4c57c2980d2cd46593167d6d4b83765aa57175e5ad')
- version('0.4.2', sha256='a5dd2ec7ecf781af01f7e3336975870f34bfc8c79ef4bba90ec90e43b5f5969f')
- version('0.4.1', sha256='e05b9f886164826005c8db5d2240f22cb88593c05b4fe45c81aba4d1d57a9bfa')
- version('0.3.2', sha256='90399fa64489ca4d492a57a49582f5b827d4710a691f533822fd61edc346e8f6')
- version('0.3.1', sha256='9bab8b4c70e11dbdd864a09053225c74cfabb801739e09a314ddeb1d84a43f0a')
+ version("0.8.1", sha256="78f457634ee593495083cf8eb6ec1cf7f274db5ff7210c37b3a954f1a712d357")
+ version("0.7.1", sha256="c5377f8223fbf93ad79412e4b40fd14e88a86e08aa573f49df38a159d451023d")
+ version("0.6.1", sha256="15d9fde1a5c89f3c77c42550c2b55d25a581971002157a338e01104079cdf843")
+ version("0.5.2", sha256="8a02c0322b38f1e1757675bb781e190b2458fb8bc508a6bd03356da248362daf")
+ version("0.5.1", sha256="6b7bc62548170e15e98d9e4c57c2980d2cd46593167d6d4b83765aa57175e5ad")
+ version("0.4.2", sha256="a5dd2ec7ecf781af01f7e3336975870f34bfc8c79ef4bba90ec90e43b5f5969f")
+ version("0.4.1", sha256="e05b9f886164826005c8db5d2240f22cb88593c05b4fe45c81aba4d1d57a9bfa")
+ version("0.3.2", sha256="90399fa64489ca4d492a57a49582f5b827d4710a691f533822fd61edc346e8f6")
+ version("0.3.1", sha256="9bab8b4c70e11dbdd864a09053225c74cfabb801739e09a314ddeb1d84a43f0a")
diff --git a/var/spack/repos/builtin/packages/umoci/package.py b/var/spack/repos/builtin/packages/umoci/package.py
index 23295664f3..52c7fcf6b8 100644
--- a/var/spack/repos/builtin/packages/umoci/package.py
+++ b/var/spack/repos/builtin/packages/umoci/package.py
@@ -12,29 +12,28 @@ class Umoci(MakefilePackage):
complete manipulation tool for OCI images."""
homepage = "https://umo.ci/"
- url = "https://github.com/openSUSE/umoci/archive/v0.4.4.tar.gz"
+ url = "https://github.com/openSUSE/umoci/archive/v0.4.4.tar.gz"
- version('0.4.4', sha256='bc5c53812e0076d026aa275b197b878857cf7ba7a4f048fd13433de6107b9aed')
- version('0.4.3', sha256='b7d537fec84d4327b1bbfe27118f69df5591143a74a7a1b66cc9904d85c30226')
- version('0.4.2', sha256='fbc397dd39bda2570155dc3b1be0835809a36fccc342e2545b3edb9f0f9dc6f5')
- version('0.4.1', sha256='0d83e01167383f529d726e9fd455660d4837371d5f0d82fad405f3ae6ae52486')
- version('0.4.0', sha256='66997e270dee8abc9796385b162a1e8e32dd2ee2359e5200af4e6671cc1e76a0')
+ version("0.4.4", sha256="bc5c53812e0076d026aa275b197b878857cf7ba7a4f048fd13433de6107b9aed")
+ version("0.4.3", sha256="b7d537fec84d4327b1bbfe27118f69df5591143a74a7a1b66cc9904d85c30226")
+ version("0.4.2", sha256="fbc397dd39bda2570155dc3b1be0835809a36fccc342e2545b3edb9f0f9dc6f5")
+ version("0.4.1", sha256="0d83e01167383f529d726e9fd455660d4837371d5f0d82fad405f3ae6ae52486")
+ version("0.4.0", sha256="66997e270dee8abc9796385b162a1e8e32dd2ee2359e5200af4e6671cc1e76a0")
- depends_on('go')
- depends_on('go-md2man', type='build')
+ depends_on("go")
+ depends_on("go-md2man", type="build")
def build(self, spec, prefix):
- provider = 'github.com'
- project = 'openSUSE'
- repo = 'umoci'
+ provider = "github.com"
+ project = "openSUSE"
+ repo = "umoci"
- mkdirp(join_path(self.stage.source_path, 'src', provider, project))
+ mkdirp(join_path(self.stage.source_path, "src", provider, project))
- ln = which('ln')
- ln('-s', self.stage.source_path, join_path(
- 'src', provider, project, repo))
+ ln = which("ln")
+ ln("-s", self.stage.source_path, join_path("src", provider, project, repo))
- make('GOPATH={0}'.format(self.stage.source_path))
+ make("GOPATH={0}".format(self.stage.source_path))
def install(self, spec, prefix):
- make('PREFIX=', 'DESTDIR={0}'.format(prefix), 'install')
+ make("PREFIX=", "DESTDIR={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py
index 4fee70da56..8979f1a449 100644
--- a/var/spack/repos/builtin/packages/umpire/package.py
+++ b/var/spack/repos/builtin/packages/umpire/package.py
@@ -15,105 +15,112 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
"""An application-focused API for memory management on NUMA & GPU
architectures"""
- homepage = 'https://github.com/LLNL/Umpire'
- git = 'https://github.com/LLNL/Umpire.git'
- tags = ['radiuss', 'e4s']
-
- maintainers = ['davidbeckingsale']
-
- version('develop', branch='develop', submodules=False)
- version('main', branch='main', submodules=False)
- version('2022.03.1', tag='v2022.03.1', submodules=False)
- version('2022.03.0', tag='v2022.03.0', submodules=False)
- 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)
- version('4.1.1', tag='v4.1.1', submodules=True)
- version('4.1.0', tag='v4.1.0', submodules=True)
- version('4.0.1', tag='v4.0.1', submodules=True)
- version('4.0.0', tag='v4.0.0', submodules=True)
- version('3.0.0', tag='v3.0.0', submodules=True)
- version('2.1.0', tag='v2.1.0', submodules=True)
- version('2.0.0', tag='v2.0.0', submodules=True)
- version('1.1.0', tag='v1.1.0', submodules=True)
- version('1.0.1', tag='v1.0.1', submodules=True)
- version('1.0.0', tag='v1.0.0', submodules=True)
- version('0.3.5', tag='v0.3.5', submodules=True)
- version('0.3.4', tag='v0.3.4', submodules=True)
- version('0.3.3', tag='v0.3.3', submodules=True)
- version('0.3.2', tag='v0.3.2', submodules=True)
- version('0.3.1', tag='v0.3.1', submodules=True)
- version('0.3.0', tag='v0.3.0', submodules=True)
- version('0.2.4', tag='v0.2.4', submodules=True)
- version('0.2.3', tag='v0.2.3', submodules=True)
- version('0.2.2', tag='v0.2.2', submodules=True)
- version('0.2.1', tag='v0.2.1', submodules=True)
- version('0.2.0', tag='v0.2.0', submodules=True)
- version('0.1.4', tag='v0.1.4', submodules=True)
- version('0.1.3', tag='v0.1.3', submodules=True)
-
- patch('camp_target_umpire_3.0.0.patch', when='@3.0.0')
- patch('cmake_version_check.patch', when='@4.1')
- patch('missing_header_for_numeric_limits.patch', when='@4.1:5.0.1')
+ homepage = "https://github.com/LLNL/Umpire"
+ git = "https://github.com/LLNL/Umpire.git"
+ tags = ["radiuss", "e4s"]
+
+ maintainers = ["davidbeckingsale"]
+
+ version("develop", branch="develop", submodules=False)
+ version("main", branch="main", submodules=False)
+ version("2022.03.1", tag="v2022.03.1", submodules=False)
+ version("2022.03.0", tag="v2022.03.0", submodules=False)
+ 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)
+ version("4.1.1", tag="v4.1.1", submodules=True)
+ version("4.1.0", tag="v4.1.0", submodules=True)
+ version("4.0.1", tag="v4.0.1", submodules=True)
+ version("4.0.0", tag="v4.0.0", submodules=True)
+ version("3.0.0", tag="v3.0.0", submodules=True)
+ version("2.1.0", tag="v2.1.0", submodules=True)
+ version("2.0.0", tag="v2.0.0", submodules=True)
+ version("1.1.0", tag="v1.1.0", submodules=True)
+ version("1.0.1", tag="v1.0.1", submodules=True)
+ version("1.0.0", tag="v1.0.0", submodules=True)
+ version("0.3.5", tag="v0.3.5", submodules=True)
+ version("0.3.4", tag="v0.3.4", submodules=True)
+ version("0.3.3", tag="v0.3.3", submodules=True)
+ version("0.3.2", tag="v0.3.2", submodules=True)
+ version("0.3.1", tag="v0.3.1", submodules=True)
+ version("0.3.0", tag="v0.3.0", submodules=True)
+ version("0.2.4", tag="v0.2.4", submodules=True)
+ version("0.2.3", tag="v0.2.3", submodules=True)
+ version("0.2.2", tag="v0.2.2", submodules=True)
+ version("0.2.1", tag="v0.2.1", submodules=True)
+ version("0.2.0", tag="v0.2.0", submodules=True)
+ version("0.1.4", tag="v0.1.4", submodules=True)
+ version("0.1.3", tag="v0.1.3", submodules=True)
+
+ patch("camp_target_umpire_3.0.0.patch", when="@3.0.0")
+ patch("cmake_version_check.patch", when="@4.1")
+ patch("missing_header_for_numeric_limits.patch", when="@4.1:5.0.1")
# export targets when building pre-6.0.0 release with BLT 0.4.0+
- patch('https://github.com/LLNL/Umpire/commit/5773ce9af88952c8d23f9bcdcb2e503ceda40763.patch?full_index=1',
- sha256='f3b21335ce5cf9c0fecc852a94dfec90fb5703032ac97f9fee104af9408d8899',
- when='@:5.0.1 ^blt@0.4:')
-
- variant('fortran', default=False, description='Build C/Fortran API')
- variant('c', default=True, description='Build C API')
- variant('numa', default=False, description='Enable NUMA support')
- variant('shared', default=True, description='Enable Shared libs')
- variant('openmp', default=False, description='Build with OpenMP support')
- variant('deviceconst', default=False,
- description='Enables support for constant device memory')
- variant('examples', default=True, description='Build Umpire Examples')
- variant('tests', default='none', values=('none', 'basic', 'benchmarks'),
- multi=False, description='Tests to run')
- variant('device_alloc', default=True, description='Build Umpire Device Allocator')
-
- depends_on('cmake@3.8:', type='build')
- depends_on('cmake@3.9:', when='+cuda', type='build')
- depends_on('cmake@:3.20', when='+rocm', type='build')
- depends_on('cmake@3.14:', when='@2022.03.0:')
-
- depends_on('blt@0.5.0:', type='build', when='@2022.03.0:')
- 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')
-
- 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@2022.03.0:', when='@2022.03.0:')
-
- with when('@5.0.0:'):
- with when('+cuda'):
- depends_on('camp+cuda')
+ patch(
+ "https://github.com/LLNL/Umpire/commit/5773ce9af88952c8d23f9bcdcb2e503ceda40763.patch?full_index=1",
+ sha256="f3b21335ce5cf9c0fecc852a94dfec90fb5703032ac97f9fee104af9408d8899",
+ when="@:5.0.1 ^blt@0.4:",
+ )
+
+ variant("fortran", default=False, description="Build C/Fortran API")
+ variant("c", default=True, description="Build C API")
+ variant("numa", default=False, description="Enable NUMA support")
+ variant("shared", default=True, description="Enable Shared libs")
+ variant("openmp", default=False, description="Build with OpenMP support")
+ variant("deviceconst", default=False, description="Enables support for constant device memory")
+ variant("examples", default=True, description="Build Umpire Examples")
+ variant(
+ "tests",
+ default="none",
+ values=("none", "basic", "benchmarks"),
+ multi=False,
+ description="Tests to run",
+ )
+ variant("device_alloc", default=True, description="Build Umpire Device Allocator")
+
+ depends_on("cmake@3.8:", type="build")
+ depends_on("cmake@3.9:", when="+cuda", type="build")
+ depends_on("cmake@:3.20", when="+rocm", type="build")
+ depends_on("cmake@3.14:", when="@2022.03.0:")
+
+ depends_on("blt@0.5.0:", type="build", when="@2022.03.0:")
+ 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")
+
+ 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@2022.03.0:", when="@2022.03.0:")
+
+ 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_))
+ depends_on("camp+cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_))
- with when('+rocm'):
- depends_on('camp+rocm')
+ 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_))
+ 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')
- conflicts('+device_alloc', when='@:2022.03.0')
+ conflicts("+numa", when="@:0.3.2")
+ conflicts("~c", when="+fortran", msg="Fortran API requires C API")
+ conflicts("+device_alloc", when="@:2022.03.0")
# device allocator exports device code, which requires static libs
# currently only available for cuda.
- conflicts('+shared', when='+cuda')
+ conflicts("+shared", when="+cuda")
# https://github.com/LLNL/Umpire/issues/653
# This range looks weird, but it ensures the concretizer looks at it as a
# range, not as a concrete version, so that it also matches 10.3.* versions.
- conflicts('%gcc@10.3.0:10.3', when='+cuda')
+ conflicts("%gcc@10.3.0:10.3", when="+cuda")
def _get_sys_type(self, spec):
sys_type = spec.architecture
@@ -125,12 +132,12 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
def cache_name(self):
hostname = socket.gethostname()
if "SYS_TYPE" in env:
- hostname = hostname.rstrip('1234567890')
+ hostname = hostname.rstrip("1234567890")
return "{0}-{1}-{2}@{3}.cmake".format(
hostname,
self._get_sys_type(self.spec),
self.spec.compiler.name,
- self.spec.compiler.version
+ self.spec.compiler.version,
)
def initconfig_compiler_entries(self):
@@ -139,13 +146,12 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
option_prefix = "UMPIRE_" if spec.satisfies("@2022.03.0:") else ""
- if '+fortran' in spec and self.compiler.fc is not None:
+ if "+fortran" in spec and self.compiler.fc is not None:
entries.append(cmake_cache_option("ENABLE_FORTRAN", True))
else:
entries.append(cmake_cache_option("ENABLE_FORTRAN", False))
- entries.append(cmake_cache_option(
- "{}ENABLE_C".format(option_prefix), '+c' in spec))
+ entries.append(cmake_cache_option("{}ENABLE_C".format(option_prefix), "+c" in spec))
return entries
@@ -155,34 +161,35 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
option_prefix = "UMPIRE_" if spec.satisfies("@2022.03.0:") else ""
- if '+cuda' in spec:
+ if "+cuda" in spec:
entries.append(cmake_cache_option("ENABLE_CUDA", True))
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- entries.append(cmake_cache_string(
- "CUDA_ARCH", 'sm_{0}'.format(cuda_arch[0])))
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_ARCHITECTURES", '{0}'.format(cuda_arch[0])))
- flag = '-arch sm_{0}'.format(cuda_arch[0])
- entries.append(cmake_cache_string(
- "CMAKE_CUDA_FLAGS", '{0}'.format(flag)))
-
- entries.append(cmake_cache_option(
- "{}ENABLE_DEVICE_CONST".format(option_prefix),
- spec.satisfies('+deviceconst')))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ entries.append(cmake_cache_string("CUDA_ARCH", "sm_{0}".format(cuda_arch[0])))
+ entries.append(
+ cmake_cache_string("CMAKE_CUDA_ARCHITECTURES", "{0}".format(cuda_arch[0]))
+ )
+ flag = "-arch sm_{0}".format(cuda_arch[0])
+ entries.append(cmake_cache_string("CMAKE_CUDA_FLAGS", "{0}".format(flag)))
+
+ entries.append(
+ cmake_cache_option(
+ "{}ENABLE_DEVICE_CONST".format(option_prefix), spec.satisfies("+deviceconst")
+ )
+ )
else:
entries.append(cmake_cache_option("ENABLE_CUDA", False))
- if '+rocm' in spec:
+ if "+rocm" in spec:
entries.append(cmake_cache_option("ENABLE_HIP", True))
- entries.append(cmake_cache_path(
- "HIP_ROOT_DIR", '{0}'.format(spec['hip'].prefix)))
- archs = self.spec.variants['amdgpu_target'].value
- if archs != 'none':
+ entries.append(cmake_cache_path("HIP_ROOT_DIR", "{0}".format(spec["hip"].prefix)))
+ archs = self.spec.variants["amdgpu_target"].value
+ if archs != "none":
arch_str = ",".join(archs)
- entries.append(cmake_cache_string(
- "HIP_HIPCC_FLAGS", '--amdgpu-target={0}'.format(arch_str)))
+ entries.append(
+ cmake_cache_string("HIP_HIPCC_FLAGS", "--amdgpu-target={0}".format(arch_str))
+ )
else:
entries.append(cmake_cache_option("ENABLE_HIP", False))
@@ -199,23 +206,23 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
entries.append("# TPLs")
entries.append("#------------------{0}\n".format("-" * 60))
- entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec['blt'].prefix))
- if spec.satisfies('@5.0.0:'):
- entries.append(cmake_cache_path("camp_DIR", spec['camp'].prefix))
- entries.append(cmake_cache_option(
- "{}ENABLE_NUMA".format(option_prefix), '+numa' in spec))
- entries.append(cmake_cache_option(
- "{}ENABLE_OPENMP".format(option_prefix), '+openmp' in spec))
- entries.append(cmake_cache_option(
- "ENABLE_BENCHMARKS", 'tests=benchmarks' in spec))
- entries.append(cmake_cache_option(
- "{}ENABLE_EXAMPLES".format(option_prefix), '+examples' in spec))
- entries.append(cmake_cache_option(
- "{}ENABLE_DOCS".format(option_prefix), False))
- entries.append(cmake_cache_option("UMPIRE_ENABLE_DEVICE_ALLOCATOR",
- "+device_alloc" in spec))
- entries.append(cmake_cache_option("BUILD_SHARED_LIBS", '+shared' in spec))
- entries.append(cmake_cache_option("ENABLE_TESTS", 'tests=none' not in spec))
+ entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix))
+ if spec.satisfies("@5.0.0:"):
+ entries.append(cmake_cache_path("camp_DIR", spec["camp"].prefix))
+ entries.append(cmake_cache_option("{}ENABLE_NUMA".format(option_prefix), "+numa" in spec))
+ entries.append(
+ cmake_cache_option("{}ENABLE_OPENMP".format(option_prefix), "+openmp" in spec)
+ )
+ entries.append(cmake_cache_option("ENABLE_BENCHMARKS", "tests=benchmarks" in spec))
+ entries.append(
+ cmake_cache_option("{}ENABLE_EXAMPLES".format(option_prefix), "+examples" in spec)
+ )
+ entries.append(cmake_cache_option("{}ENABLE_DOCS".format(option_prefix), False))
+ entries.append(
+ cmake_cache_option("UMPIRE_ENABLE_DEVICE_ALLOCATOR", "+device_alloc" in spec)
+ )
+ entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec))
+ entries.append(cmake_cache_option("ENABLE_TESTS", "tests=none" not in spec))
return entries
@@ -225,31 +232,35 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
def test(self):
"""Perform stand-alone checks on the installed package."""
- if self.spec.satisfies('@:1') or \
- not os.path.isdir(self.prefix.bin):
- tty.info('Skipping: checks not installed in bin for v{0}'.
- format(self.version))
+ if self.spec.satisfies("@:1") or not os.path.isdir(self.prefix.bin):
+ tty.info("Skipping: checks not installed in bin for v{0}".format(self.version))
return
# Run a subset of examples PROVIDED installed
# tutorials with readily checkable outputs.
checks = {
- 'malloc': ['99 should be 99'],
- 'recipe_dynamic_pool_heuristic': ['in the pool', 'releas'],
- 'recipe_no_introspection': ['has allocated', 'used'],
- 'strategy_example': ['Available allocators', 'HOST'],
- 'tut_copy': ['Copied source data'],
- 'tut_introspection':
- ['Allocator used is HOST', 'size of the allocation'],
- 'tut_memset': ['Set data from HOST'],
- 'tut_move': ['Moved source data', 'HOST'],
- 'tut_reallocate': ['Reallocated data'],
- 'vector_allocator': [''],
+ "malloc": ["99 should be 99"],
+ "recipe_dynamic_pool_heuristic": ["in the pool", "releas"],
+ "recipe_no_introspection": ["has allocated", "used"],
+ "strategy_example": ["Available allocators", "HOST"],
+ "tut_copy": ["Copied source data"],
+ "tut_introspection": ["Allocator used is HOST", "size of the allocation"],
+ "tut_memset": ["Set data from HOST"],
+ "tut_move": ["Moved source data", "HOST"],
+ "tut_reallocate": ["Reallocated data"],
+ "vector_allocator": [""],
}
for exe in checks:
expected = checks[exe]
- reason = 'test: checking output from {0}'.format(exe)
- self.run_test(exe, [], expected, 0, installed=False,
- purpose=reason, skip_missing=True,
- work_dir=self.prefix.bin)
+ reason = "test: checking output from {0}".format(exe)
+ self.run_test(
+ exe,
+ [],
+ expected,
+ 0,
+ installed=False,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=self.prefix.bin,
+ )
diff --git a/var/spack/repos/builtin/packages/unblur/package.py b/var/spack/repos/builtin/packages/unblur/package.py
index 2cee9db204..59b92f3503 100644
--- a/var/spack/repos/builtin/packages/unblur/package.py
+++ b/var/spack/repos/builtin/packages/unblur/package.py
@@ -11,44 +11,44 @@ class Unblur(AutotoolsPackage):
microscope to reduce image blurring due to beam-induced motion."""
homepage = "https://grigoriefflab.janelia.org/unblur"
- url = "http://grigoriefflab.janelia.org/sites/default/files/unblur_1.0.2.tar.gz"
+ url = "http://grigoriefflab.janelia.org/sites/default/files/unblur_1.0.2.tar.gz"
- version('1.0.2', sha256='1aa72b1f944114987ede644e1866eaebc08e191ecc566b3461409449360931e2')
+ version("1.0.2", sha256="1aa72b1f944114987ede644e1866eaebc08e191ecc566b3461409449360931e2")
- variant('openmp', default=True, description='Enable OpenMP support')
- variant('shared', default=True, description='Dynamic linking')
+ variant("openmp", default=True, description="Enable OpenMP support")
+ variant("shared", default=True, description="Dynamic linking")
- depends_on('zlib')
- depends_on('jpeg')
- depends_on('libtiff')
- depends_on('gsl')
- depends_on('jbigkit')
- depends_on('fftw@3:')
+ depends_on("zlib")
+ depends_on("jpeg")
+ depends_on("libtiff")
+ depends_on("gsl")
+ depends_on("jbigkit")
+ depends_on("fftw@3:")
# Requires Intel Fortran compiler
- conflicts('%gcc')
- conflicts('%pgi')
- conflicts('%apple-clang')
- conflicts('%clang')
- conflicts('%cce')
- conflicts('%xl')
- conflicts('%xl_r')
- conflicts('%nag')
+ conflicts("%gcc")
+ conflicts("%pgi")
+ conflicts("%apple-clang")
+ conflicts("%clang")
+ conflicts("%cce")
+ conflicts("%xl")
+ conflicts("%xl_r")
+ conflicts("%nag")
- configure_directory = 'src'
+ configure_directory = "src"
def patch(self):
- filter_file(r'<<<<<<<.*', '', 'src/missing')
+ filter_file(r"<<<<<<<.*", "", "src/missing")
def configure_args(self):
spec = self.spec
- return ['FC=ifort',
- 'F77=ifort',
- '--enable-static={0}'
- .format('yes' if '~shared' in spec else 'no'),
- '--enable-openmp={0}'
- .format('yes' if '+openmp' in spec else 'no'),
- '--enable-optimisations=yes']
+ return [
+ "FC=ifort",
+ "F77=ifort",
+ "--enable-static={0}".format("yes" if "~shared" in spec else "no"),
+ "--enable-openmp={0}".format("yes" if "+openmp" in spec else "no"),
+ "--enable-optimisations=yes",
+ ]
def build(self, spec, prefix):
- with working_dir('src'):
+ with working_dir("src"):
make(parallel=False)
diff --git a/var/spack/repos/builtin/packages/uncrustify/package.py b/var/spack/repos/builtin/packages/uncrustify/package.py
index 4abeea389d..a9148c01e5 100644
--- a/var/spack/repos/builtin/packages/uncrustify/package.py
+++ b/var/spack/repos/builtin/packages/uncrustify/package.py
@@ -10,49 +10,49 @@ class Uncrustify(Package):
"""Source Code Beautifier for C, C++, C#, ObjectiveC, Java, and others."""
homepage = "http://uncrustify.sourceforge.net/"
- git = "https://github.com/uncrustify/uncrustify"
- url = "https://sourceforge.net/projects/uncrustify/files/uncrustify/uncrustify-0.69/uncrustify-0.69.tar.gz"
-
- maintainers = ['gmaurel']
-
- version('master', branch='master')
- version('0.74', commit='62048b')
- version('0.73', commit='25b765')
- version('0.72', commit='1d3d8f')
- version('0.71', commit='64d82f')
- version('0.70', commit='51f64d')
- version('0.69', commit='a7a8fb')
- version('0.68', commit='86bc34')
- version('0.67', commit='00321a')
- version('0.66', commit='80f549')
- version('0.65', commit='905676')
- version('0.64', commit='1d7d97')
- version('0.63', commit='44ce0f')
- version('0.62', commit='5987f2')
- version('0.61', sha256='1df0e5a2716e256f0a4993db12f23d10195b3030326fdf2e07f8e6421e172df9')
-
- depends_on('cmake', type='build', when='@0.64:')
- depends_on('automake', type='build', when='@0.63')
- depends_on('autoconf', type='build', when='@0.63')
-
- @when('@0.64:')
+ git = "https://github.com/uncrustify/uncrustify"
+ url = "https://sourceforge.net/projects/uncrustify/files/uncrustify/uncrustify-0.69/uncrustify-0.69.tar.gz"
+
+ maintainers = ["gmaurel"]
+
+ version("master", branch="master")
+ version("0.74", commit="62048b")
+ version("0.73", commit="25b765")
+ version("0.72", commit="1d3d8f")
+ version("0.71", commit="64d82f")
+ version("0.70", commit="51f64d")
+ version("0.69", commit="a7a8fb")
+ version("0.68", commit="86bc34")
+ version("0.67", commit="00321a")
+ version("0.66", commit="80f549")
+ version("0.65", commit="905676")
+ version("0.64", commit="1d7d97")
+ version("0.63", commit="44ce0f")
+ version("0.62", commit="5987f2")
+ version("0.61", sha256="1df0e5a2716e256f0a4993db12f23d10195b3030326fdf2e07f8e6421e172df9")
+
+ depends_on("cmake", type="build", when="@0.64:")
+ depends_on("automake", type="build", when="@0.63")
+ depends_on("autoconf", type="build", when="@0.63")
+
+ @when("@0.64:")
def install(self, spec, prefix):
- with working_dir('spack-build', create=True):
- cmake('..', *std_cmake_args)
+ with working_dir("spack-build", create=True):
+ cmake("..", *std_cmake_args)
make()
- make('install')
+ make("install")
- @when('@0.63')
+ @when("@0.63")
def install(self, spec, prefix):
- which('bash')('autogen.sh')
- configure('--prefix={0}'.format(self.prefix))
+ which("bash")("autogen.sh")
+ configure("--prefix={0}".format(self.prefix))
make()
- make('install')
+ make("install")
- @when('@:0.62')
+ @when("@:0.62")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(self.prefix))
+ configure("--prefix={0}".format(self.prefix))
make()
- make('install')
+ make("install")
- patch('uncrustify-includes.patch', when='@0.73')
+ patch("uncrustify-includes.patch", when="@0.73")
diff --git a/var/spack/repos/builtin/packages/unibilium/package.py b/var/spack/repos/builtin/packages/unibilium/package.py
index b9eb3e8fcc..2ec64cb96a 100644
--- a/var/spack/repos/builtin/packages/unibilium/package.py
+++ b/var/spack/repos/builtin/packages/unibilium/package.py
@@ -8,13 +8,14 @@ from spack.package import *
class Unibilium(Package):
"""A terminfo parsing library"""
+
homepage = "https://github.com/mauke/unibilium"
- url = "https://github.com/mauke/unibilium/archive/v2.0.0.tar.gz"
+ url = "https://github.com/mauke/unibilium/archive/v2.0.0.tar.gz"
- version('2.0.0', sha256='78997d38d4c8177c60d3d0c1aa8c53fd0806eb21825b7b335b1768d7116bc1c1')
- version('1.2.0', sha256='623af1099515e673abfd3cae5f2fa808a09ca55dda1c65a7b5c9424eb304ead8')
+ version("2.0.0", sha256="78997d38d4c8177c60d3d0c1aa8c53fd0806eb21825b7b335b1768d7116bc1c1")
+ version("1.2.0", sha256="623af1099515e673abfd3cae5f2fa808a09ca55dda1c65a7b5c9424eb304ead8")
- depends_on('libtool', type='build')
+ depends_on("libtool", type="build")
def install(self, spec, prefix):
make("PREFIX=" + prefix)
diff --git a/var/spack/repos/builtin/packages/unifdef/package.py b/var/spack/repos/builtin/packages/unifdef/package.py
index 57626ff212..678668926f 100644
--- a/var/spack/repos/builtin/packages/unifdef/package.py
+++ b/var/spack/repos/builtin/packages/unifdef/package.py
@@ -14,12 +14,12 @@ class Unifdef(MakefilePackage):
alone."""
homepage = "https://dotat.at/prog/unifdef/"
- url = "https://dotat.at/prog/unifdef/unifdef-2.11.tar.xz"
+ url = "https://dotat.at/prog/unifdef/unifdef-2.11.tar.xz"
- maintainers = ['matthiasdiener']
+ maintainers = ["matthiasdiener"]
- version('2.11', sha256='828ffc270ac262b88fe011136acef2780c05b0dc3c5435d005651740788d4537')
+ version("2.11", sha256="828ffc270ac262b88fe011136acef2780c05b0dc3c5435d005651740788d4537")
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter(r'\$\{HOME\}', prefix)
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"\$\{HOME\}", prefix)
diff --git a/var/spack/repos/builtin/packages/unifyfs/package.py b/var/spack/repos/builtin/packages/unifyfs/package.py
index fcaba77426..9ee3b034a5 100644
--- a/var/spack/repos/builtin/packages/unifyfs/package.py
+++ b/var/spack/repos/builtin/packages/unifyfs/package.py
@@ -15,101 +15,105 @@ class Unifyfs(AutotoolsPackage):
compliments its functionality with the support for N-1 write/read."""
homepage = "https://github.com/LLNL/UnifyFS"
- git = "https://github.com/LLNL/UnifyFS.git"
- url = "https://github.com/LLNL/UnifyFS/releases/download/v0.9.2/unifyfs-0.9.2.tar.gz"
- maintainers = ['CamStan']
-
- tags = ['e4s']
-
- version('develop', branch='dev')
- version('0.9.2', sha256='7046625dc0677535f5d960187cb2e2d58a6f8cfb4dc6a3604f825257eb0891aa')
- version('0.9.1', sha256='2498a859cfa4961356fdf5c4c17e3afc3de7e034ad013b8c7145a622ef6199a0')
-
- variant('auto-mount', default='True', description='Enable automatic mount/unmount in MPI_Init/Finalize')
- variant('fortran', default='False', description='Build with gfortran support')
- variant('pmi', default='False', description='Enable PMI2 build options')
- variant('pmix', default='False', description='Enable PMIx build options')
- variant('spath', default='True', description='Use spath library to normalize relative paths')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('automake@1.15:', type='build', when='@0.9.2:')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ git = "https://github.com/LLNL/UnifyFS.git"
+ url = "https://github.com/LLNL/UnifyFS/releases/download/v0.9.2/unifyfs-0.9.2.tar.gz"
+ maintainers = ["CamStan"]
+
+ tags = ["e4s"]
+
+ version("develop", branch="dev")
+ version("0.9.2", sha256="7046625dc0677535f5d960187cb2e2d58a6f8cfb4dc6a3604f825257eb0891aa")
+ version("0.9.1", sha256="2498a859cfa4961356fdf5c4c17e3afc3de7e034ad013b8c7145a622ef6199a0")
+
+ variant(
+ "auto-mount",
+ default="True",
+ description="Enable automatic mount/unmount in MPI_Init/Finalize",
+ )
+ variant("fortran", default="False", description="Build with gfortran support")
+ variant("pmi", default="False", description="Enable PMI2 build options")
+ variant("pmix", default="False", description="Enable PMIx build options")
+ variant("spath", default="True", description="Use spath library to normalize relative paths")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("automake@1.15:", type="build", when="@0.9.2:")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
# Required dependencies
- depends_on('gotcha@1.0.3:')
- depends_on('mercury@1.0.1+bmi', when='@:0.9.1')
- depends_on('mochi-margo@0.4.3', when='@:0.9.1')
- depends_on('mochi-margo', when='@0.9.2:')
- depends_on('mpi')
- depends_on('openssl@:1')
+ depends_on("gotcha@1.0.3:")
+ depends_on("mercury@1.0.1+bmi", when="@:0.9.1")
+ depends_on("mochi-margo@0.4.3", when="@:0.9.1")
+ depends_on("mochi-margo", when="@0.9.2:")
+ depends_on("mpi")
+ depends_on("openssl@:1")
# Optional dependencies
- depends_on('libfabric fabrics=rxm,sockets,tcp', when="^mercury@2:+ofi")
- depends_on('spath~mpi', when='+spath')
+ depends_on("libfabric fabrics=rxm,sockets,tcp", when="^mercury@2:+ofi")
+ depends_on("spath~mpi", when="+spath")
- conflicts('^mercury~bmi~ofi')
- conflicts('^mercury~sm')
+ conflicts("^mercury~bmi~ofi")
+ conflicts("^mercury~sm")
# Known compatibility issues with ifort and xlf. Fixes coming.
- conflicts('%intel', when='+fortran')
- conflicts('%xl', when='+fortran')
+ conflicts("%intel", when="+fortran")
+ conflicts("%xl", when="+fortran")
- patch('unifyfs-sysio.c.patch', when='@0.9.1')
- patch('include-sys-sysmacros.h.patch', when='@0.9.1:0.9.2')
+ patch("unifyfs-sysio.c.patch", when="@0.9.1")
+ patch("include-sys-sysmacros.h.patch", when="@0.9.1:0.9.2")
# Parallel disabled to prevent tests from being run out-of-order when
# installed with the --test={root, all} option.
parallel = False
debug_build = False
- build_directory = 'spack-build'
+ build_directory = "spack-build"
# Only builds properly with debug symbols when flag_handler =
# build_system_flags.
# Override the default behavior in order to set debug_build which is used
# to set the --disable-silent-rules option when configuring.
def flag_handler(self, name, flags):
- if name in ('cflags', 'cppflags'):
- if '-g' in flags:
+ if name in ("cflags", "cppflags"):
+ if "-g" in flags:
self.debug_build = True
return (None, None, flags)
def setup_build_environment(self, env):
# GCC11 generates a bogus array bounds error:
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98266
- if '%gcc@11' in self.spec:
- env.append_flags('CFLAGS', '-Wno-array-bounds')
+ if "%gcc@11" in self.spec:
+ env.append_flags("CFLAGS", "-Wno-array-bounds")
def configure_args(self):
spec = self.spec
args = []
- if '+auto-mount' in spec:
- args.append('--enable-mpi-mount')
+ if "+auto-mount" in spec:
+ args.append("--enable-mpi-mount")
- if '+fortran' in spec:
- args.append('--enable-fortran')
+ if "+fortran" in spec:
+ args.append("--enable-fortran")
- if '+pmi' in spec:
- args.append('--enable-pmi')
+ if "+pmi" in spec:
+ args.append("--enable-pmi")
- if '+pmix' in spec:
- args.append('--enable-pmix')
+ if "+pmix" in spec:
+ args.append("--enable-pmix")
if self.debug_build:
- args.append('--disable-silent-rules')
+ args.append("--disable-silent-rules")
else:
- args.append('--enable-silent-rules')
+ args.append("--enable-silent-rules")
return args
- @when('@develop')
+ @when("@develop")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @when('%cce@11.0.3:')
+ @when("%cce@11.0.3:")
def patch(self):
- filter_file('-Werror', '', 'client/src/Makefile.in')
- filter_file('-Werror', '', 'client/src/Makefile.am')
+ filter_file("-Werror", "", "client/src/Makefile.in")
+ filter_file("-Werror", "", "client/src/Makefile.am")
diff --git a/var/spack/repos/builtin/packages/unigen/package.py b/var/spack/repos/builtin/packages/unigen/package.py
index 3c95de651a..0a2893968c 100644
--- a/var/spack/repos/builtin/packages/unigen/package.py
+++ b/var/spack/repos/builtin/packages/unigen/package.py
@@ -16,18 +16,18 @@ class Unigen(MakefilePackage):
generic root format."""
homepage = "https://www.gsi.de/work/wissenschaftliche_netzwerke/helmholtz_virtuelle_institute/unigen.htm"
- url = "https://github.com/FairRootGroup/UniGen/archive/v2.3.tar.gz"
+ url = "https://github.com/FairRootGroup/UniGen/archive/v2.3.tar.gz"
- tags = ['hep']
+ tags = ["hep"]
- version('2.3', sha256='8783bcabbdf8c50dab6e93153cff9cfb267a9a9e61aef51bf1e17679ba42a717')
- patch('unigen-2.3.patch', level=0)
+ version("2.3", sha256="8783bcabbdf8c50dab6e93153cff9cfb267a9a9e61aef51bf1e17679ba42a717")
+ patch("unigen-2.3.patch", level=0)
- depends_on('root', type=('build', 'link'))
+ depends_on("root", type=("build", "link"))
def build(self, spec, prefix):
- mkdirp(join_path(self.build_directory, 'lib'))
- make('TOPDIR=' + self.build_directory, 'all')
+ mkdirp(join_path(self.build_directory, "lib"))
+ make("TOPDIR=" + self.build_directory, "all")
def install(self, spec, prefix):
- make('DESTDIR=' + prefix, 'TOPDIR=' + self.build_directory, 'install')
+ make("DESTDIR=" + prefix, "TOPDIR=" + self.build_directory, "install")
diff --git a/var/spack/repos/builtin/packages/unison/package.py b/var/spack/repos/builtin/packages/unison/package.py
index 9d1fbf9b59..06aa7ca9c8 100644
--- a/var/spack/repos/builtin/packages/unison/package.py
+++ b/var/spack/repos/builtin/packages/unison/package.py
@@ -8,29 +8,29 @@ from spack.package import *
class Unison(Package):
"""Unison is a file-synchronization tool for OSX, Unix, and
- Windows. It allows two replicas of a collection of files and
- directories to be stored on different hosts (or different disks
- on the same host), modified separately, and then brought up to
- date by propagating the changes in each replica to the
- other."""
+ Windows. It allows two replicas of a collection of files and
+ directories to be stored on different hosts (or different disks
+ on the same host), modified separately, and then brought up to
+ date by propagating the changes in each replica to the
+ other."""
homepage = "https://www.cis.upenn.edu/~bcpierce/unison/"
- url = "https://github.com/bcpierce00/unison/archive/v2.51.2.tar.gz"
+ url = "https://github.com/bcpierce00/unison/archive/v2.51.2.tar.gz"
maintainers = ["hseara"]
- version('2.51.2', sha256='a2efcbeab651be6df69cc9b253011a07955ecb91fb407a219719451197849d5e')
- version('2.48.15v4', sha256='f8c7e982634bbe1ed6510fe5b36b6c5c55c06caefddafdd9edc08812305fdeec')
+ version("2.51.2", sha256="a2efcbeab651be6df69cc9b253011a07955ecb91fb407a219719451197849d5e")
+ version("2.48.15v4", sha256="f8c7e982634bbe1ed6510fe5b36b6c5c55c06caefddafdd9edc08812305fdeec")
- depends_on('ocaml@4.10.0:~force-safe-string', type='build')
+ depends_on("ocaml@4.10.0:~force-safe-string", type="build")
- patch('large.patch', level=0)
- patch('4.08-compatibility.patch', when='^ocaml@4.08:')
+ patch("large.patch", level=0)
+ patch("4.08-compatibility.patch", when="^ocaml@4.08:")
parallel = False
def install(self, spec, prefix):
- make('UISTYLE=text DEBUGGING=false THREADS=true')
+ make("UISTYLE=text DEBUGGING=false THREADS=true")
mkdirp(prefix.bin)
- install('src/unison', prefix.bin)
- set_executable(join_path(prefix.bin, 'unison'))
+ install("src/unison", prefix.bin)
+ set_executable(join_path(prefix.bin, "unison"))
diff --git a/var/spack/repos/builtin/packages/units/package.py b/var/spack/repos/builtin/packages/units/package.py
index e384572ffb..1605d8c484 100644
--- a/var/spack/repos/builtin/packages/units/package.py
+++ b/var/spack/repos/builtin/packages/units/package.py
@@ -12,6 +12,6 @@ class Units(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/units/"
gnu_mirror_path = "units/units-2.13.tar.gz"
- version('2.13', sha256='0ba5403111f8e5ea22be7d51ab74c8ccb576dc30ddfbf18a46cb51f9139790ab')
+ version("2.13", sha256="0ba5403111f8e5ea22be7d51ab74c8ccb576dc30ddfbf18a46cb51f9139790ab")
- depends_on('python', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/unittest-cpp/package.py b/var/spack/repos/builtin/packages/unittest-cpp/package.py
index a158b68c23..4984efacf7 100644
--- a/var/spack/repos/builtin/packages/unittest-cpp/package.py
+++ b/var/spack/repos/builtin/packages/unittest-cpp/package.py
@@ -15,7 +15,7 @@ class UnittestCpp(CMakePackage):
means it should be easily portable to just about any platform."""
homepage = "https://github.com/unittest-cpp/unittest-cpp/wiki"
- url = "https://github.com/unittest-cpp/unittest-cpp/archive/v1.6.0.tar.gz"
+ url = "https://github.com/unittest-cpp/unittest-cpp/archive/v1.6.0.tar.gz"
- version('2.0.0', sha256='74852198877dc2fdebdc4e5e9bd074018bf8ee03a13de139bfe41f4585b2f5b9')
- version('1.6.0', sha256='9fa7e797816e16669d68171418b0dc41ec6b7eaf8483f782441f5f159598c3c0')
+ version("2.0.0", sha256="74852198877dc2fdebdc4e5e9bd074018bf8ee03a13de139bfe41f4585b2f5b9")
+ version("1.6.0", sha256="9fa7e797816e16669d68171418b0dc41ec6b7eaf8483f782441f5f159598c3c0")
diff --git a/var/spack/repos/builtin/packages/universal-ctags/package.py b/var/spack/repos/builtin/packages/universal-ctags/package.py
index 497d5f974d..eebff3c49e 100644
--- a/var/spack/repos/builtin/packages/universal-ctags/package.py
+++ b/var/spack/repos/builtin/packages/universal-ctags/package.py
@@ -13,19 +13,23 @@ class UniversalCtags(AutotoolsPackage):
the indexed items."""
homepage = "https://ctags.io/"
- url = "https://github.com/universal-ctags/ctags/archive/p5.9.20210912.0.tar.gz"
- git = "https://github.com/universal-ctags/ctags.git"
+ url = "https://github.com/universal-ctags/ctags/archive/p5.9.20210912.0.tar.gz"
+ git = "https://github.com/universal-ctags/ctags.git"
- version('master', branch='master')
- version('5.9.20210912.0', sha256='5082d4f7e5695be3d697c46e2232d76c6d8adff51d22ba7a4b869362f444ee21')
- version('5.9.20210808.0', sha256='7f5f88d20750dfa2437ca9d163972b8684e3cf16de022a5177f322be92f528cc')
+ version("master", branch="master")
+ version(
+ "5.9.20210912.0", sha256="5082d4f7e5695be3d697c46e2232d76c6d8adff51d22ba7a4b869362f444ee21"
+ )
+ version(
+ "5.9.20210808.0", sha256="7f5f88d20750dfa2437ca9d163972b8684e3cf16de022a5177f322be92f528cc"
+ )
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libiconv', type='link')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libiconv", type="link")
+ depends_on("pkgconfig", type="build")
def autoreconf(self, spec, prefix):
- which('bash')('autogen.sh')
+ which("bash")("autogen.sh")
diff --git a/var/spack/repos/builtin/packages/unixodbc/package.py b/var/spack/repos/builtin/packages/unixodbc/package.py
index df19835ac1..3cd01215fc 100644
--- a/var/spack/repos/builtin/packages/unixodbc/package.py
+++ b/var/spack/repos/builtin/packages/unixodbc/package.py
@@ -12,13 +12,13 @@ class Unixodbc(AutotoolsPackage):
SQL Servers and any Data Source with an ODBC Driver."""
homepage = "http://www.unixodbc.org/"
- url = "http://www.unixodbc.org/unixODBC-2.3.4.tar.gz"
+ url = "http://www.unixodbc.org/unixODBC-2.3.4.tar.gz"
- version('2.3.4', sha256='2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39')
+ version("2.3.4", sha256="2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39")
- depends_on('iconv')
- depends_on('libtool')
+ depends_on("iconv")
+ depends_on("libtool")
@property
def libs(self):
- return find_libraries('libodbc', root=self.prefix, recursive=True)
+ return find_libraries("libodbc", root=self.prefix, recursive=True)
diff --git a/var/spack/repos/builtin/packages/unqlite/package.py b/var/spack/repos/builtin/packages/unqlite/package.py
index f447c6ca0a..1af5887c71 100644
--- a/var/spack/repos/builtin/packages/unqlite/package.py
+++ b/var/spack/repos/builtin/packages/unqlite/package.py
@@ -12,13 +12,13 @@ class Unqlite(CMakePackage):
homepage = "https://unqlite.org/"
url = "https://github.com/symisc/unqlite/archive/v1.1.9.tar.gz"
- git = 'https://github.com/symisc/unqlite.git'
+ git = "https://github.com/symisc/unqlite.git"
- version('master', branch='master')
- version('1.1.9', sha256='33d5b5e7b2ca223942e77d31112d2e20512bc507808414451c8a98a7be5e15c0')
+ version("master", branch="master")
+ version("1.1.9", sha256="33d5b5e7b2ca223942e77d31112d2e20512bc507808414451c8a98a7be5e15c0")
# This patch corresponds to https://github.com/symisc/unqlite/pull/99
- patch('0001-Removed-the-STATIC-key-word-to-enable-building-a-sha.patch', when='@1.1.9')
+ patch("0001-Removed-the-STATIC-key-word-to-enable-building-a-sha.patch", when="@1.1.9")
def cmake_args(self):
args = ["-DBUILD_SHARED_LIBS:BOOL=ON"]
diff --git a/var/spack/repos/builtin/packages/unrar/package.py b/var/spack/repos/builtin/packages/unrar/package.py
index 36d192a3dd..1129b12ada 100644
--- a/var/spack/repos/builtin/packages/unrar/package.py
+++ b/var/spack/repos/builtin/packages/unrar/package.py
@@ -13,17 +13,15 @@ class Unrar(MakefilePackage):
homepage = "https://www.rarlab.com"
url = "https://www.rarlab.com/rar/unrarsrc-5.9.4.tar.gz"
- version('5.9.4', sha256='3d010d14223e0c7a385ed740e8f046edcbe885e5c22c5ad5733d009596865300')
- version('5.8.2', sha256='33386623fd3fb153b56292df4a6a69b457e69e1803b6d07b614e5fd22fb33dda')
- version('5.8.1', sha256='035f1f436f0dc2aea09aec146b9cc3e47ca2442f2c62b4ad9374c7c9cc20e632')
+ version("5.9.4", sha256="3d010d14223e0c7a385ed740e8f046edcbe885e5c22c5ad5733d009596865300")
+ version("5.8.2", sha256="33386623fd3fb153b56292df4a6a69b457e69e1803b6d07b614e5fd22fb33dda")
+ version("5.8.1", sha256="035f1f436f0dc2aea09aec146b9cc3e47ca2442f2c62b4ad9374c7c9cc20e632")
def edit(self, spec, prefix):
makefile = FileFilter("makefile")
- makefile.filter(
- "LIBFLAGS=-fPIC", "LIBFLAGS={0}".format(self.compiler.cc_pic_flag)
- )
+ makefile.filter("LIBFLAGS=-fPIC", "LIBFLAGS={0}".format(self.compiler.cc_pic_flag))
makefile.filter("DESTDIR=/usr", "DESTDIR={0}".format(self.prefix))
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('unrar', prefix.bin.unrar)
+ install("unrar", prefix.bin.unrar)
diff --git a/var/spack/repos/builtin/packages/unuran/package.py b/var/spack/repos/builtin/packages/unuran/package.py
index 6cfd08896c..58c43d8f68 100644
--- a/var/spack/repos/builtin/packages/unuran/package.py
+++ b/var/spack/repos/builtin/packages/unuran/package.py
@@ -10,33 +10,34 @@ class Unuran(AutotoolsPackage):
"""Universal Non-Uniform Random number generator."""
homepage = "https://statmath.wu.ac.at/unuran"
- url = "https://statmath.wu.ac.at/unuran/unuran-1.8.1.tar.gz"
+ url = "https://statmath.wu.ac.at/unuran/unuran-1.8.1.tar.gz"
- version('1.8.1', sha256='c270ae96857857dbac6450043df865e0517f52856ddbe5202fd35583b13c5193')
+ version("1.8.1", sha256="c270ae96857857dbac6450043df865e0517f52856ddbe5202fd35583b13c5193")
- variant('shared', default=True,
- description="Enable the build of shared libraries")
- variant('rngstreams', default=True,
- description="Use RNGSTREAM library for uniform random generation")
+ variant("shared", default=True, description="Enable the build of shared libraries")
variant(
- 'gsl', default=False,
- description="Use random number generators from GNU Scientific Library")
+ "rngstreams",
+ default=True,
+ description="Use RNGSTREAM library for uniform random generation",
+ )
+ variant(
+ "gsl",
+ default=False,
+ description="Use random number generators from GNU Scientific Library",
+ )
- depends_on('gsl', when="+gsl")
- depends_on('rngstreams', when="+rngstreams")
+ depends_on("gsl", when="+gsl")
+ depends_on("rngstreams", when="+rngstreams")
def configure_args(self):
spec = self.spec
args = [
- '--%s-shared' % ('enable' if '+shared' in spec else 'disable'),
- '--with-urgn-default=%s' % (
- 'rngstream' if '+rngstreams' in spec else 'builtin'),
- '--%s-urng-gsl' % (
- 'with' if '+gsl' in spec else 'without'),
- '--%s-urng-rngstreams' % (
- 'with' if '+rngstreams' in spec else 'without')
+ "--%s-shared" % ("enable" if "+shared" in spec else "disable"),
+ "--with-urgn-default=%s" % ("rngstream" if "+rngstreams" in spec else "builtin"),
+ "--%s-urng-gsl" % ("with" if "+gsl" in spec else "without"),
+ "--%s-urng-rngstreams" % ("with" if "+rngstreams" in spec else "without"),
]
return args
diff --git a/var/spack/repos/builtin/packages/unzip/package.py b/var/spack/repos/builtin/packages/unzip/package.py
index bc4d769790..ec135b19ad 100644
--- a/var/spack/repos/builtin/packages/unzip/package.py
+++ b/var/spack/repos/builtin/packages/unzip/package.py
@@ -9,20 +9,17 @@ from spack.package import *
class Unzip(MakefilePackage):
"""Unzip is a compression and file packaging/archive utility."""
- homepage = 'http://www.info-zip.org/Zip.html'
- url = 'http://downloads.sourceforge.net/infozip/unzip60.tar.gz'
+ homepage = "http://www.info-zip.org/Zip.html"
+ url = "http://downloads.sourceforge.net/infozip/unzip60.tar.gz"
- version('6.0', sha256='036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37')
+ version("6.0", sha256="036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37")
# The Cray cc wrapper doesn't handle the '-s' flag (strip) cleanly.
- @when('platform=cray')
+ @when("platform=cray")
def patch(self):
- filter_file(r'^LFLAGS2=.*', 'LFLAGS2=', join_path('unix', 'configure'))
+ filter_file(r"^LFLAGS2=.*", "LFLAGS2=", join_path("unix", "configure"))
- make_args = [
- '-f', join_path('unix', 'Makefile'),
- "LOC=-DLARGE_FILE_SUPPORT"
- ]
+ make_args = ["-f", join_path("unix", "Makefile"), "LOC=-DLARGE_FILE_SUPPORT"]
@property
def build_targets(self):
@@ -30,8 +27,8 @@ class Unzip(MakefilePackage):
return self.make_args + [target]
def url_for_version(self, version):
- return 'http://downloads.sourceforge.net/infozip/unzip{0}.tar.gz'.format(version.joined)
+ return "http://downloads.sourceforge.net/infozip/unzip{0}.tar.gz".format(version.joined)
@property
def install_targets(self):
- return self.make_args + ['prefix={0}'.format(self.prefix), 'install']
+ return self.make_args + ["prefix={0}".format(self.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/upcxx/package.py b/var/spack/repos/builtin/packages/upcxx/package.py
index 3217c3f116..ce6081a1ae 100644
--- a/var/spack/repos/builtin/packages/upcxx/package.py
+++ b/var/spack/repos/builtin/packages/upcxx/package.py
@@ -10,22 +10,24 @@ from spack.package import *
def is_CrayXC():
- return (spack.platforms.host().name == 'cray') and \
- (os.environ.get('CRAYPE_NETWORK_TARGET') == "aries")
+ return (spack.platforms.host().name == "cray") and (
+ os.environ.get("CRAYPE_NETWORK_TARGET") == "aries"
+ )
def is_CrayEX():
- return (spack.platforms.host().name == 'cray') and \
- (os.environ.get('CRAYPE_NETWORK_TARGET') in ['ofi', 'ucx'])
+ return (spack.platforms.host().name == "cray") and (
+ os.environ.get("CRAYPE_NETWORK_TARGET") in ["ofi", "ucx"]
+ )
def cross_detect():
if is_CrayXC():
- if which('srun'):
- return 'cray-aries-slurm'
- if which('aprun'):
- return 'cray-aries-alps'
- return 'none'
+ if which("srun"):
+ return "cray-aries-slurm"
+ if which("aprun"):
+ return "cray-aries-alps"
+ return "none"
class Upcxx(Package, CudaPackage, ROCmPackage):
@@ -36,66 +38,77 @@ class Upcxx(Package, CudaPackage, ROCmPackage):
Access (RMA) and Remote Procedure Call (RPC)."""
homepage = "https://upcxx.lbl.gov"
- maintainers = ['bonachea']
+ maintainers = ["bonachea"]
url = "https://bitbucket.org/berkeleylab/upcxx/downloads/upcxx-2021.3.0.tar.gz"
- git = 'https://bitbucket.org/berkeleylab/upcxx.git'
-
- tags = ['e4s']
-
- version('develop', branch='develop')
- version('master', branch='master')
-
- version('2022.3.0', sha256='72bccfc9dfab5c2351ee964232b3754957ecfdbe6b4de640e1b1387d45019496')
- version('2021.9.0', sha256='9299e17602bcc8c05542cdc339897a9c2dba5b5c3838d6ef2df7a02250f42177')
- version('2021.3.0', sha256='3433714cd4162ffd8aad9a727c12dbf1c207b7d6664879fc41259a4b351595b7')
- version('2020.11.0', sha256='f6f212760a485a9f346ca11bb4751e7095bbe748b8e5b2389ff9238e9e321317',
- url='https://bitbucket.org/berkeleylab/upcxx/downloads/upcxx-2020.11.0-memory_kinds_prototype.tar.gz')
- version('2020.10.0', sha256='623e074b512bf8cad770a04040272e1cc660d2749760398b311f9bcc9d381a37')
- version('2020.3.2', sha256='978adc315d21089c739d5efda764b77fc9a2a7c5860f169fe5cd2ca1d840620f')
- version('2020.3.0', sha256='01be35bef4c0cfd24e9b3d50c88866521b9cac3ad4cbb5b1fc97aea55078810f')
+ git = "https://bitbucket.org/berkeleylab/upcxx.git"
+
+ tags = ["e4s"]
+
+ version("develop", branch="develop")
+ version("master", branch="master")
+
+ version("2022.3.0", sha256="72bccfc9dfab5c2351ee964232b3754957ecfdbe6b4de640e1b1387d45019496")
+ version("2021.9.0", sha256="9299e17602bcc8c05542cdc339897a9c2dba5b5c3838d6ef2df7a02250f42177")
+ version("2021.3.0", sha256="3433714cd4162ffd8aad9a727c12dbf1c207b7d6664879fc41259a4b351595b7")
+ version(
+ "2020.11.0",
+ sha256="f6f212760a485a9f346ca11bb4751e7095bbe748b8e5b2389ff9238e9e321317",
+ url="https://bitbucket.org/berkeleylab/upcxx/downloads/upcxx-2020.11.0-memory_kinds_prototype.tar.gz",
+ )
+ version("2020.10.0", sha256="623e074b512bf8cad770a04040272e1cc660d2749760398b311f9bcc9d381a37")
+ version("2020.3.2", sha256="978adc315d21089c739d5efda764b77fc9a2a7c5860f169fe5cd2ca1d840620f")
+ version("2020.3.0", sha256="01be35bef4c0cfd24e9b3d50c88866521b9cac3ad4cbb5b1fc97aea55078810f")
# Do NOT add older versions here.
# UPC++ releases over 2 years old are not supported.
- variant('mpi', default=False,
- description='Enables MPI-based spawners and mpi-conduit')
+ variant("mpi", default=False, description="Enables MPI-based spawners and mpi-conduit")
- variant('cuda', default=False,
- description='Enables UPC++ support for the CUDA memory kind.\n' +
- 'NOTE: Requires CUDA Driver library be present on the build system')
+ variant(
+ "cuda",
+ default=False,
+ description="Enables UPC++ support for the CUDA memory kind.\n"
+ + "NOTE: Requires CUDA Driver library be present on the build system",
+ )
- variant('rocm', default=False,
- description='Enables UPC++ support for the ROCm/HIP memory kind')
+ variant(
+ "rocm", default=False, description="Enables UPC++ support for the ROCm/HIP memory kind"
+ )
- variant('cross', default=cross_detect(),
- description="UPC++ cross-compile target (autodetect by default)")
+ variant(
+ "cross",
+ default=cross_detect(),
+ description="UPC++ cross-compile target (autodetect by default)",
+ )
- conflicts('cross=none', when=is_CrayXC(),
- msg='cross=none is unacceptable on Cray XC.' +
- 'Please specify an appropriate "cross" value')
+ conflicts(
+ "cross=none",
+ when=is_CrayXC(),
+ msg="cross=none is unacceptable on Cray XC."
+ + 'Please specify an appropriate "cross" value',
+ )
# UPC++ always relies on GASNet-EX.
# The default (and recommendation) is to use the implicit, embedded version.
# This variant allows overriding with a particular version of GASNet-EX sources.
- variant('gasnet', default=False,
- description="Override embedded GASNet-EX version")
- depends_on('gasnet conduits=none', when='+gasnet')
+ variant("gasnet", default=False, description="Override embedded GASNet-EX version")
+ depends_on("gasnet conduits=none", when="+gasnet")
- depends_on('mpi', when='+mpi')
- depends_on('python@2.7.5:', type=("build", "run"))
+ depends_on("mpi", when="+mpi")
+ depends_on("python@2.7.5:", type=("build", "run"))
- conflicts('hip@:4.4.0', when='+rocm')
+ conflicts("hip@:4.4.0", when="+rocm")
# All flags should be passed to the build-env in autoconf-like vars
flag_handler = env_flags
def set_variables(self, env):
- env.set('UPCXX_INSTALL', self.prefix)
- env.set('UPCXX', self.prefix.bin.upcxx)
+ env.set("UPCXX_INSTALL", self.prefix)
+ env.set("UPCXX", self.prefix.bin.upcxx)
if is_CrayXC():
- env.set('UPCXX_NETWORK', 'aries')
+ env.set("UPCXX_NETWORK", "aries")
elif is_CrayEX():
- env.set('UPCXX_NETWORK', 'ofi')
- env.set('GASNET_SPAWN_CONTROL', 'pmi')
+ env.set("UPCXX_NETWORK", "ofi")
+ env.set("GASNET_SPAWN_CONTROL", "pmi")
def setup_run_environment(self, env):
self.set_variables(env)
@@ -108,126 +121,128 @@ class Upcxx(Package, CudaPackage, ROCmPackage):
def install(self, spec, prefix):
env = os.environ
- if (env.get('GASNET_CONFIGURE_ARGS') is None):
- env['GASNET_CONFIGURE_ARGS'] = ''
+ if env.get("GASNET_CONFIGURE_ARGS") is None:
+ env["GASNET_CONFIGURE_ARGS"] = ""
# UPC++ follows autoconf naming convention for LDLIBS, which is 'LIBS'
- if (env.get('LDLIBS')):
- env['LIBS'] = env['LDLIBS']
+ if env.get("LDLIBS"):
+ env["LIBS"] = env["LDLIBS"]
options = ["--prefix=%s" % prefix]
- if 'cross=none' in spec:
- options.append('--without-cross')
+ if "cross=none" in spec:
+ options.append("--without-cross")
else:
- options.append('--with-cross=' + spec.variants['cross'].value)
+ options.append("--with-cross=" + spec.variants["cross"].value)
if is_CrayXC():
# Spack loads the cray-libsci module incorrectly on ALCF theta,
# breaking the Cray compiler wrappers
# cray-libsci is irrelevant to our build, so disable it
- for var in ['PE_PKGCONFIG_PRODUCTS', 'PE_PKGCONFIG_LIBS']:
+ for var in ["PE_PKGCONFIG_PRODUCTS", "PE_PKGCONFIG_LIBS"]:
env[var] = ":".join(
- filter(lambda x: "libsci" not in x.lower(),
- env[var].split(":")))
+ filter(lambda x: "libsci" not in x.lower(), env[var].split(":"))
+ )
if is_CrayXC() or is_CrayEX():
# Undo spack compiler wrappers:
# the C/C++ compilers must work post-install
- real_cc = join_path(env['CRAYPE_DIR'], 'bin', 'cc')
- real_cxx = join_path(env['CRAYPE_DIR'], 'bin', 'CC')
+ real_cc = join_path(env["CRAYPE_DIR"], "bin", "cc")
+ real_cxx = join_path(env["CRAYPE_DIR"], "bin", "CC")
# workaround a bug in the UPC++ installer: (issue #346)
- env['GASNET_CONFIGURE_ARGS'] += \
- " --with-cc=" + real_cc + " --with-cxx=" + real_cxx
- if '+mpi' in spec:
- env['GASNET_CONFIGURE_ARGS'] += " --with-mpicc=" + real_cc
+ env["GASNET_CONFIGURE_ARGS"] += " --with-cc=" + real_cc + " --with-cxx=" + real_cxx
+ if "+mpi" in spec:
+ env["GASNET_CONFIGURE_ARGS"] += " --with-mpicc=" + real_cc
else:
real_cc = self.compiler.cc
real_cxx = self.compiler.cxx
- if '+mpi' in spec:
- real_cxx = spec['mpi'].mpicxx
+ if "+mpi" in spec:
+ real_cxx = spec["mpi"].mpicxx
- options.append('--with-cc=' + real_cc)
- options.append('--with-cxx=' + real_cxx)
+ options.append("--with-cc=" + real_cc)
+ options.append("--with-cxx=" + real_cxx)
if is_CrayEX():
# Probe to find the right libfabric provider (SlingShot 10 vs 11)
- fi_info = which('fi_info')('-l', output=str)
- if fi_info.find('cxi') >= 0:
- provider = 'cxi'
+ fi_info = which("fi_info")("-l", output=str)
+ if fi_info.find("cxi") >= 0:
+ provider = "cxi"
else:
- provider = 'verbs;ofi_rxm'
+ provider = "verbs;ofi_rxm"
# Append the recommended options for Cray Shasta
- options.append('--with-pmi-version=cray')
- options.append('--with-pmi-runcmd=\'srun -n %N -- %C\'')
- options.append('--disable-ibv')
- options.append('--enable-ofi')
- options.append('--with-default-network=ofi')
- options.append('--with-ofi-provider=' + provider)
- env['GASNET_CONFIGURE_ARGS'] = \
- '--with-ofi-spawner=pmi ' + env['GASNET_CONFIGURE_ARGS']
-
- if '+gasnet' in spec:
- options.append('--with-gasnet=' + spec['gasnet'].prefix.src)
-
- options.append('--with-python=' + spec['python'].command.path)
-
- if '+mpi' in spec:
- options.append('--enable-mpi')
- options.append('--enable-mpi-compat')
+ options.append("--with-pmi-version=cray")
+ options.append("--with-pmi-runcmd='srun -n %N -- %C'")
+ options.append("--disable-ibv")
+ options.append("--enable-ofi")
+ options.append("--with-default-network=ofi")
+ options.append("--with-ofi-provider=" + provider)
+ env["GASNET_CONFIGURE_ARGS"] = "--with-ofi-spawner=pmi " + env["GASNET_CONFIGURE_ARGS"]
+
+ if "+gasnet" in spec:
+ options.append("--with-gasnet=" + spec["gasnet"].prefix.src)
+
+ options.append("--with-python=" + spec["python"].command.path)
+
+ if "+mpi" in spec:
+ options.append("--enable-mpi")
+ options.append("--enable-mpi-compat")
else:
- options.append('--without-mpicc')
+ options.append("--without-mpicc")
- if '+cuda' in spec:
- options.append('--enable-cuda')
- options.append('--with-nvcc=' + spec['cuda'].prefix.bin.nvcc)
+ if "+cuda" in spec:
+ options.append("--enable-cuda")
+ options.append("--with-nvcc=" + spec["cuda"].prefix.bin.nvcc)
- if '+rocm' in spec:
- options.append('--enable-hip')
- options.append('--with-ld-flags=' +
- self.compiler.cc_rpath_arg + spec['hip'].prefix.lib)
+ if "+rocm" in spec:
+ options.append("--enable-hip")
+ options.append(
+ "--with-ld-flags=" + self.compiler.cc_rpath_arg + spec["hip"].prefix.lib
+ )
- env['GASNET_CONFIGURE_ARGS'] = '--enable-rpath ' + env['GASNET_CONFIGURE_ARGS']
+ env["GASNET_CONFIGURE_ARGS"] = "--enable-rpath " + env["GASNET_CONFIGURE_ARGS"]
configure(*options)
make()
- make('install')
+ make("install")
- install_tree('example', prefix.example)
+ install_tree("example", prefix.example)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def test_install(self):
# enable testing of unofficial conduits (mpi)
- test_networks = 'NETWORKS=$(CONDUITS)'
+ test_networks = "NETWORKS=$(CONDUITS)"
# build hello world against installed tree in all configurations
- make('test_install', test_networks)
- make('tests-clean') # cleanup
+ make("test_install", test_networks)
+ make("tests-clean") # cleanup
# build all tests for all networks in debug mode
- make('tests', test_networks)
- if 'cross=none' in self.spec:
- make('run-tests', 'NETWORKS=smp') # runs tests for smp backend
- make('tests-clean') # cleanup
+ make("tests", test_networks)
+ if "cross=none" in self.spec:
+ make("run-tests", "NETWORKS=smp") # runs tests for smp backend
+ make("tests-clean") # cleanup
def test(self):
# run post-install smoke test:
- test_install = join_path(self.prefix.bin, 'test-upcxx-install.sh')
- self.run_test(test_install, expected=['SUCCESS'], status=0,
- installed=True,
- purpose='Checking UPC++ compile+link ' +
- 'for all installed backends')
+ test_install = join_path(self.prefix.bin, "test-upcxx-install.sh")
+ self.run_test(
+ test_install,
+ expected=["SUCCESS"],
+ status=0,
+ installed=True,
+ purpose="Checking UPC++ compile+link " + "for all installed backends",
+ )
# `spack external find` support
- executables = ['^upcxx$']
+ executables = ["^upcxx$"]
@classmethod
def determine_version(cls, exe):
"""Return either the version of the executable passed as argument
- or ``None`` if the version cannot be determined.
- exe (str): absolute path to the executable being examined
+ or ``None`` if the version cannot be determined.
+ exe (str): absolute path to the executable being examined
"""
- output = Executable(exe)('--version', output=str, error=str)
+ output = Executable(exe)("--version", output=str, error=str)
match = re.search(r"UPC\+\+ version\s+(\S+)\s+(?:upcxx-(\S+))?", output)
if match is None:
return None
@@ -239,7 +254,7 @@ class Upcxx(Package, CudaPackage, ROCmPackage):
@classmethod
def determine_variants(cls, exes, version_str):
meta = exes[0] + "-meta" # find upcxx-meta
- output = Executable(meta)('CPPFLAGS', output=str, error=str)
+ output = Executable(meta)("CPPFLAGS", output=str, error=str)
variants = ""
if re.search(r"-DUPCXXI_CUDA_ENABLED=1", output):
variants += "+cuda"
diff --git a/var/spack/repos/builtin/packages/upp/package.py b/var/spack/repos/builtin/packages/upp/package.py
index 90acfec6dd..e339cbd594 100644
--- a/var/spack/repos/builtin/packages/upp/package.py
+++ b/var/spack/repos/builtin/packages/upp/package.py
@@ -17,38 +17,38 @@ class Upp(CMakePackage):
git = "https://github.com/NOAA-EMC/UPP.git"
url = "https://github.com/NOAA-EMC/UPP/archive/refs/tags/upp_v10.0.10.tar.gz"
- maintainers = ['kgerheiser', 'edwardhartnett', 'Hang-Lei-NOAA']
-
- version('10.0.10', sha256='0c96a88d0e79b554d5fcee9401efcf4d6273da01d15e3413845274f73d70b66e')
- version('10.0.9', tag='upp_v10.0.9', submodules=True)
-
- variant('openmp', default=True)
- variant('postexec', default=True)
- variant('wrf-io', default=False)
- variant('docs', default=False)
-
- depends_on('mpi')
- depends_on('netcdf-fortran')
- depends_on('bacio')
- depends_on('crtm')
- depends_on('g2')
- depends_on('g2tmpl')
- depends_on('ip')
-
- depends_on('nemsio', when='+postexec')
- depends_on('sfcio', when='+postexec')
- depends_on('sigio', when='+postexec')
- depends_on('sp', when='+postexec')
- depends_on('w3nco', when='+postexec')
- depends_on('wrf-io', when='+wrf-io')
- depends_on('doxygen', when='+docs')
+ maintainers = ["kgerheiser", "edwardhartnett", "Hang-Lei-NOAA"]
+
+ version("10.0.10", sha256="0c96a88d0e79b554d5fcee9401efcf4d6273da01d15e3413845274f73d70b66e")
+ version("10.0.9", tag="upp_v10.0.9", submodules=True)
+
+ variant("openmp", default=True)
+ variant("postexec", default=True)
+ variant("wrf-io", default=False)
+ variant("docs", default=False)
+
+ depends_on("mpi")
+ depends_on("netcdf-fortran")
+ depends_on("bacio")
+ depends_on("crtm")
+ depends_on("g2")
+ depends_on("g2tmpl")
+ depends_on("ip")
+
+ depends_on("nemsio", when="+postexec")
+ depends_on("sfcio", when="+postexec")
+ depends_on("sigio", when="+postexec")
+ depends_on("sp", when="+postexec")
+ depends_on("w3nco", when="+postexec")
+ depends_on("wrf-io", when="+wrf-io")
+ depends_on("doxygen", when="+docs")
def cmake_args(self):
args = [
- self.define_from_variant('OPENMP', 'openmp'),
- self.define_from_variant('BUILD_POSTEXEC', 'postexec'),
- self.define_from_variant('BUILD_WITH_WRFIO', 'wrf-io'),
- self.define_from_variant('ENABLE_DOCS', 'docs')
+ self.define_from_variant("OPENMP", "openmp"),
+ self.define_from_variant("BUILD_POSTEXEC", "postexec"),
+ self.define_from_variant("BUILD_WITH_WRFIO", "wrf-io"),
+ self.define_from_variant("ENABLE_DOCS", "docs"),
]
return args
diff --git a/var/spack/repos/builtin/packages/uqtk/package.py b/var/spack/repos/builtin/packages/uqtk/package.py
index 7341993d38..2730ca7b5b 100644
--- a/var/spack/repos/builtin/packages/uqtk/package.py
+++ b/var/spack/repos/builtin/packages/uqtk/package.py
@@ -11,56 +11,57 @@ class Uqtk(CMakePackage):
in numerical model predictions"""
homepage = "https://www.sandia.gov/UQToolkit/"
- url = "https://github.com/sandialabs/UQTk/archive/v3.0.4.tar.gz"
- git = "https://github.com/sandialabs/UQTk.git"
+ url = "https://github.com/sandialabs/UQTk/archive/v3.0.4.tar.gz"
+ git = "https://github.com/sandialabs/UQTk.git"
- version('master', branch='master')
- version('3.1.0', sha256='56ecd3d13bdd908d568e9560dc52cc0f66d7bdcdbe64ab2dd0147a7cf1734f97')
- version('3.0.4', sha256='0a72856438134bb571fd328d1d30ce3d0d7aead32eda9b7fb6e436a27d546d2e')
+ version("master", branch="master")
+ 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')
+ 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:')
+ 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')
+ 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:')
+ patch("remove_unique_libname.patch", when="@3.1.0:")
# Do not link the gfortran library when using the Fujitsu compiler.
- patch('not_link_gfortran.patch', when='@3.1.0:%fj')
+ patch("not_link_gfortran.patch", when="@3.1.0:%fj")
- @when('@3.1.0:')
+ @when("@3.1.0:")
def cmake_args(self):
spec = self.spec
# Make sure we use Spack's blas/lapack:
- lapack_libs = spec['lapack'].libs.joined(';')
- blas_libs = spec['blas'].libs.joined(';')
+ lapack_libs = spec["lapack"].libs.joined(";")
+ blas_libs = spec["blas"].libs.joined(";")
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')
+ 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)
+ 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)
diff --git a/var/spack/repos/builtin/packages/uriparser/package.py b/var/spack/repos/builtin/packages/uriparser/package.py
index 5c1a50c2c9..2d215307c1 100644
--- a/var/spack/repos/builtin/packages/uriparser/package.py
+++ b/var/spack/repos/builtin/packages/uriparser/package.py
@@ -11,30 +11,38 @@ class Uriparser(CMakePackage):
library written in C89 ("ANSI C")."""
homepage = "https://uriparser.github.io/"
- url = "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.3/uriparser-0.9.3.tar.gz"
-
- version('0.9.6', sha256='10e6f90d359c1087c45f907f95e527a8aca84422251081d1533231e031a084ff')
- version('0.9.5', sha256='1987466a798becb5441a491d29e762ab1a4817a525f82ef239e3d38f85605a77', deprecated=True)
- version('0.9.3', sha256='6cef39d6eaf1a48504ee0264ce85f078758057dafb1edd0a898183b55ff76014', deprecated=True)
-
- variant('docs', default=False, description='Build API documentation')
-
- depends_on('cmake@3.3:', type='build')
- depends_on('googletest@1.8.1', type='link')
- depends_on('doxygen', when='+docs', type='build')
- depends_on('graphviz', when='+docs', type='build')
+ url = "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.3/uriparser-0.9.3.tar.gz"
+
+ version("0.9.6", sha256="10e6f90d359c1087c45f907f95e527a8aca84422251081d1533231e031a084ff")
+ version(
+ "0.9.5",
+ sha256="1987466a798becb5441a491d29e762ab1a4817a525f82ef239e3d38f85605a77",
+ deprecated=True,
+ )
+ version(
+ "0.9.3",
+ sha256="6cef39d6eaf1a48504ee0264ce85f078758057dafb1edd0a898183b55ff76014",
+ deprecated=True,
+ )
+
+ variant("docs", default=False, description="Build API documentation")
+
+ depends_on("cmake@3.3:", type="build")
+ depends_on("googletest@1.8.1", type="link")
+ depends_on("doxygen", when="+docs", type="build")
+ depends_on("graphviz", when="+docs", type="build")
def cmake_args(self):
args = []
if self.run_tests:
- args.append('-DURIPARSER_BUILD_TESTS:BOOL=ON')
+ args.append("-DURIPARSER_BUILD_TESTS:BOOL=ON")
else:
- args.append('-DURIPARSER_BUILD_TESTS:BOOL=OFF')
+ args.append("-DURIPARSER_BUILD_TESTS:BOOL=OFF")
- if '+docs' in self.spec:
- args.append('-DURIPARSER_BUILD_DOCS:BOOL=ON')
+ if "+docs" in self.spec:
+ args.append("-DURIPARSER_BUILD_DOCS:BOOL=ON")
else:
- args.append('-DURIPARSER_BUILD_DOCS:BOOL=OFF')
+ args.append("-DURIPARSER_BUILD_DOCS:BOOL=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/usbutils/package.py b/var/spack/repos/builtin/packages/usbutils/package.py
index 8eb0647929..42ec21eb1d 100644
--- a/var/spack/repos/builtin/packages/usbutils/package.py
+++ b/var/spack/repos/builtin/packages/usbutils/package.py
@@ -11,14 +11,14 @@ class Usbutils(AutotoolsPackage):
to query what type of USB devices are connected to the system."""
homepage = "http://www.linux-usb.org/"
- url = "https://github.com/gregkh/usbutils/archive/v012.tar.gz"
+ url = "https://github.com/gregkh/usbutils/archive/v012.tar.gz"
- version('012', sha256='3f06028134aebd6bb36477019468d7bca2c0014f0f18b9441b7920b7cec7b210')
- version('011', sha256='9cf6e8c3030efc6abbb3c12de4da49816e0d6c6429f43fa3afb874cf72c2c869')
- version('010', sha256='e32f3debe6c1308bb9aa9a92c3d86f8565a6f6cf7711bccb07b0f83bf530717d')
+ version("012", sha256="3f06028134aebd6bb36477019468d7bca2c0014f0f18b9441b7920b7cec7b210")
+ version("011", sha256="9cf6e8c3030efc6abbb3c12de4da49816e0d6c6429f43fa3afb874cf72c2c869")
+ version("010", sha256="e32f3debe6c1308bb9aa9a92c3d86f8565a6f6cf7711bccb07b0f83bf530717d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libusb')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libusb")
diff --git a/var/spack/repos/builtin/packages/usearch/package.py b/var/spack/repos/builtin/packages/usearch/package.py
index 5269f5c934..139e182372 100644
--- a/var/spack/repos/builtin/packages/usearch/package.py
+++ b/var/spack/repos/builtin/packages/usearch/package.py
@@ -10,27 +10,26 @@ from spack.package import *
class Usearch(Package):
"""USEARCH is a unique sequence analysis tool with thousands of users
- world-wide.
+ world-wide.
- Note: A manual download is required for USEARCH.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for USEARCH.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://www.drive5.com/usearch/"
- maintainers = ['snehring']
+ maintainers = ["snehring"]
manual_download = True
- version('11.0.667', sha256='1be0faa1380100296029064e4cf9665d723d43f03c794da444c5b1a6b6799ac2')
- version('10.0.240', sha256='297ba03cb5bdc60c9727b7949cc08bfeecad8b290c2844b5ad011f72a7e1399c')
+ version("11.0.667", sha256="1be0faa1380100296029064e4cf9665d723d43f03c794da444c5b1a6b6799ac2")
+ version("10.0.240", sha256="297ba03cb5bdc60c9727b7949cc08bfeecad8b290c2844b5ad011f72a7e1399c")
def url_for_version(self, version):
return "file://{0}/usearch{1}_i86linux32.gz".format(os.getcwd(), version)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('usearch{0}_i86linux32'.format(self.version),
- prefix.bin.usearch)
+ install("usearch{0}_i86linux32".format(self.version), prefix.bin.usearch)
set_executable(prefix.bin.usearch)
diff --git a/var/spack/repos/builtin/packages/userspace-rcu/package.py b/var/spack/repos/builtin/packages/userspace-rcu/package.py
index b23e110796..fdd78cc929 100644
--- a/var/spack/repos/builtin/packages/userspace-rcu/package.py
+++ b/var/spack/repos/builtin/packages/userspace-rcu/package.py
@@ -12,29 +12,31 @@ class UserspaceRcu(AutotoolsPackage):
linearly with the number of cores."""
homepage = "https://liburcu.org/"
- url = "https://github.com/urcu/userspace-rcu/archive/v0.11.1.tar.gz"
-
- version('0.13.1', sha256='b810481f0c859a5859d82e23eddd2856b410802009f94663d64c330dc2f4403e')
- version('0.13.0', sha256='c457d17ec9dff7db0e90b103ef1a03737efdeaec13098af82f83a03091c835b5')
- version('0.12.3', sha256='a61b5aca001f70cb576505cc4869bd74a758484343466cc49cb1342c67028a54')
- version('0.12.2', sha256='d282169cdfa9fcc4cfbacab3757bb739debf4559a7f9ad537bb8b2061e98351a')
- version('0.12.1', sha256='19f31563db5078f47cabbb06bd7a3935a0964e31449efedd267f311ae79443c6')
- version('0.12.0', sha256='6b0cdee07a651c56daea8d03285f379afab898ebc83c785a23927320e45a3012')
- version('0.11.4', sha256='d995598482221587ff6753d2a8da6ac74ff0fa79fbea29ccee196f295834531d')
- version('0.11.3', sha256='fa7a3be0fe1bb000be0a5b28c5b33fdbc13d7cf5a4816b9bcbc60e2adf8ec8d5')
- version('0.11.2', sha256='072da1b9cf864a4cb9f7b9bb6c208979682ce018cbd1ead0ee84e294e3035cbd')
- version('0.11.1', sha256='a0ed8995edfbeac5f5eb2f152a8f3654040ecfc99a746bfe3da3bccf435b7d5d')
- version('0.11.0', sha256='7834e4692565b491b9d2d258095d6c05089c9bae8a1bef280c338d15ba02e9ac')
- version('0.10.2', sha256='e117c416fced894e24720cc1b38247074a13020f19d6704b38e554cbcb993d06')
- version('0.9.6', sha256='4d9e4ca40c079e0b0e9f912a9092589b97fbaf80eb6537e9ae70d48c09472efa')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
-
- patch('examples.patch', sha256='49aa8fa99d3a1315c639d2a90014079c34a7d0a6dde110b6cbb7b02f87324742')
+ url = "https://github.com/urcu/userspace-rcu/archive/v0.11.1.tar.gz"
+
+ version("0.13.1", sha256="b810481f0c859a5859d82e23eddd2856b410802009f94663d64c330dc2f4403e")
+ version("0.13.0", sha256="c457d17ec9dff7db0e90b103ef1a03737efdeaec13098af82f83a03091c835b5")
+ version("0.12.3", sha256="a61b5aca001f70cb576505cc4869bd74a758484343466cc49cb1342c67028a54")
+ version("0.12.2", sha256="d282169cdfa9fcc4cfbacab3757bb739debf4559a7f9ad537bb8b2061e98351a")
+ version("0.12.1", sha256="19f31563db5078f47cabbb06bd7a3935a0964e31449efedd267f311ae79443c6")
+ version("0.12.0", sha256="6b0cdee07a651c56daea8d03285f379afab898ebc83c785a23927320e45a3012")
+ version("0.11.4", sha256="d995598482221587ff6753d2a8da6ac74ff0fa79fbea29ccee196f295834531d")
+ version("0.11.3", sha256="fa7a3be0fe1bb000be0a5b28c5b33fdbc13d7cf5a4816b9bcbc60e2adf8ec8d5")
+ version("0.11.2", sha256="072da1b9cf864a4cb9f7b9bb6c208979682ce018cbd1ead0ee84e294e3035cbd")
+ version("0.11.1", sha256="a0ed8995edfbeac5f5eb2f152a8f3654040ecfc99a746bfe3da3bccf435b7d5d")
+ version("0.11.0", sha256="7834e4692565b491b9d2d258095d6c05089c9bae8a1bef280c338d15ba02e9ac")
+ version("0.10.2", sha256="e117c416fced894e24720cc1b38247074a13020f19d6704b38e554cbcb993d06")
+ version("0.9.6", sha256="4d9e4ca40c079e0b0e9f912a9092589b97fbaf80eb6537e9ae70d48c09472efa")
+
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+
+ patch(
+ "examples.patch", sha256="49aa8fa99d3a1315c639d2a90014079c34a7d0a6dde110b6cbb7b02f87324742"
+ )
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
diff --git a/var/spack/repos/builtin/packages/utf8cpp/package.py b/var/spack/repos/builtin/packages/utf8cpp/package.py
index 79bb7ce495..95f7f7a466 100644
--- a/var/spack/repos/builtin/packages/utf8cpp/package.py
+++ b/var/spack/repos/builtin/packages/utf8cpp/package.py
@@ -12,12 +12,14 @@ class Utf8cpp(Package):
homepage = "http://utfcpp.sourceforge.net/"
- version('2.3.4', sha256='3373cebb25d88c662a2b960c4d585daf9ae7b396031ecd786e7bb31b15d010ef')
+ version("2.3.4", sha256="3373cebb25d88c662a2b960c4d585daf9ae7b396031ecd786e7bb31b15d010ef")
def url_for_version(self, version):
- url = "https://sourceforge.net/projects/utfcpp/files/utf8cpp_2x/Release%20{0}/utf8_v{1}.zip"
+ url = (
+ "https://sourceforge.net/projects/utfcpp/files/utf8cpp_2x/Release%20{0}/utf8_v{1}.zip"
+ )
return url.format(version, version.underscored)
def install(self, spec, prefix):
- install_tree('doc', prefix.share.doc)
- install_tree('source', prefix.include)
+ install_tree("doc", prefix.share.doc)
+ install_tree("source", prefix.include)
diff --git a/var/spack/repos/builtin/packages/utf8proc/package.py b/var/spack/repos/builtin/packages/utf8proc/package.py
index a4aa77546b..24357dffb1 100644
--- a/var/spack/repos/builtin/packages/utf8proc/package.py
+++ b/var/spack/repos/builtin/packages/utf8proc/package.py
@@ -11,11 +11,11 @@ class Utf8proc(CMakePackage):
normalization, case-folding, graphemes, and more"""
homepage = "https://juliastrings.github.io/utf8proc/"
- url = "https://github.com/JuliaStrings/utf8proc/archive/v2.4.0.tar.gz"
+ url = "https://github.com/JuliaStrings/utf8proc/archive/v2.4.0.tar.gz"
- version('2.6.1', sha256='4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b')
- version('2.6.0', sha256='b36ce1534b8035e7febd95c031215ed279ee9d31cf9b464e28b4c688133b22c5')
- version('2.5.0', sha256='d4e8dfc898cfd062493cb7f42d95d70ccdd3a4cd4d90bec0c71b47cca688f1be')
- version('2.4.0', sha256='b2e5d547c1d94762a6d03a7e05cea46092aab68636460ff8648f1295e2cdfbd7')
+ version("2.6.1", sha256="4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b")
+ version("2.6.0", sha256="b36ce1534b8035e7febd95c031215ed279ee9d31cf9b464e28b4c688133b22c5")
+ version("2.5.0", sha256="d4e8dfc898cfd062493cb7f42d95d70ccdd3a4cd4d90bec0c71b47cca688f1be")
+ version("2.4.0", sha256="b2e5d547c1d94762a6d03a7e05cea46092aab68636460ff8648f1295e2cdfbd7")
- depends_on('cmake@2.8.12:', type='build')
+ depends_on("cmake@2.8.12:", type="build")
diff --git a/var/spack/repos/builtin/packages/util-linux-uuid/package.py b/var/spack/repos/builtin/packages/util-linux-uuid/package.py
index c4b86089d4..c9a1c5de96 100644
--- a/var/spack/repos/builtin/packages/util-linux-uuid/package.py
+++ b/var/spack/repos/builtin/packages/util-linux-uuid/package.py
@@ -10,19 +10,19 @@ class UtilLinuxUuid(AutotoolsPackage):
"""Util-linux is a suite of essential utilities for any Linux system."""
homepage = "https://github.com/karelzak/util-linux"
- url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.2.tar.gz"
+ url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.2.tar.gz"
list_url = "https://www.kernel.org/pub/linux/utils/util-linux"
list_depth = 1
- version('2.37.4', sha256='c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151')
- version('2.36.2', sha256='f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463')
- version('2.36', sha256='82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3')
+ version("2.37.4", sha256="c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151")
+ version("2.36.2", sha256="f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463")
+ version("2.36", sha256="82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3")
- conflicts('%gcc@:4', when='@2.37:')
+ conflicts("%gcc@:4", when="@2.37:")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
- provides('uuid')
+ provides("uuid")
def url_for_version(self, version):
url = "https://www.kernel.org/pub/linux/utils/util-linux/v{0}/util-linux-{1}.tar.gz"
@@ -30,23 +30,23 @@ class UtilLinuxUuid(AutotoolsPackage):
@property
def libs(self):
- return find_libraries('libuuid', self.prefix, recursive=True)
+ return find_libraries("libuuid", self.prefix, recursive=True)
@property
def headers(self):
- return find_headers('uuid', self.prefix, recursive=True)
+ return find_headers("uuid", self.prefix, recursive=True)
def configure_args(self):
config_args = [
- '--disable-use-tty-group',
- '--disable-makeinstall-chown',
- '--without-systemd',
- '--disable-all-programs',
- '--without-python',
- '--enable-libuuid',
- '--disable-bash-completion',
+ "--disable-use-tty-group",
+ "--disable-makeinstall-chown",
+ "--without-systemd",
+ "--disable-all-programs",
+ "--without-python",
+ "--enable-libuuid",
+ "--disable-bash-completion",
]
# Fixes #31123.
- if self.spec.satisfies('%intel'):
- config_args.append('CFLAGS=-restrict')
+ if self.spec.satisfies("%intel"):
+ config_args.append("CFLAGS=-restrict")
return config_args
diff --git a/var/spack/repos/builtin/packages/util-linux/package.py b/var/spack/repos/builtin/packages/util-linux/package.py
index 67b0c85f68..fa2b1ff2c9 100644
--- a/var/spack/repos/builtin/packages/util-linux/package.py
+++ b/var/spack/repos/builtin/packages/util-linux/package.py
@@ -12,33 +12,33 @@ class UtilLinux(AutotoolsPackage):
"""Util-linux is a suite of essential utilities for any Linux system."""
homepage = "https://github.com/util-linux/util-linux"
- url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.2.tar.gz"
+ url = "https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.2.tar.gz"
list_url = "https://www.kernel.org/pub/linux/utils/util-linux"
list_depth = 1
- version('2.38', sha256='c31d4e54f30b56b0f7ec8b342658c07de81378f2c067941c2b886da356f8ad42')
- version('2.37.4', sha256='c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151')
- 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')
- version('2.35', sha256='98acab129a8490265052e6c1e033ca96d68758a13bb7fcd232c06bf16cc96238')
- version('2.34', sha256='b62c92e5e1629642113cd41cec1ee86d1ee7e36b8ffe8ec3ac89c11797e9ac25')
- version('2.33.1', sha256='e15bd3142b3a0c97fffecaed9adfdef8ab1d29211215d7ae614c177ef826e73a')
- version('2.33', sha256='952fb0d3498e81bd67b3c48e283c80cb12c719bc2357ec5801e7d420991ad319')
- version('2.29.2', sha256='29ccdf91d2c3245dc705f0ad3bf729ac41d8adcdbeff914e797c552ecb04a4c7')
- version('2.29.1', sha256='a6a7adba65a368e6dad9582d9fbedee43126d990df51266eaee089a73c893653')
- version('2.25', sha256='7e43273a9e2ab99b5a54ac914fddf5d08ba7ab9b114c550e9f03474672bd23a1')
+ version("2.38", sha256="c31d4e54f30b56b0f7ec8b342658c07de81378f2c067941c2b886da356f8ad42")
+ version("2.37.4", sha256="c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151")
+ 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")
+ version("2.35", sha256="98acab129a8490265052e6c1e033ca96d68758a13bb7fcd232c06bf16cc96238")
+ version("2.34", sha256="b62c92e5e1629642113cd41cec1ee86d1ee7e36b8ffe8ec3ac89c11797e9ac25")
+ version("2.33.1", sha256="e15bd3142b3a0c97fffecaed9adfdef8ab1d29211215d7ae614c177ef826e73a")
+ version("2.33", sha256="952fb0d3498e81bd67b3c48e283c80cb12c719bc2357ec5801e7d420991ad319")
+ version("2.29.2", sha256="29ccdf91d2c3245dc705f0ad3bf729ac41d8adcdbeff914e797c552ecb04a4c7")
+ version("2.29.1", sha256="a6a7adba65a368e6dad9582d9fbedee43126d990df51266eaee089a73c893653")
+ version("2.25", sha256="7e43273a9e2ab99b5a54ac914fddf5d08ba7ab9b114c550e9f03474672bd23a1")
- depends_on('python@2.7:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('ncurses', type='link')
+ depends_on("python@2.7:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("ncurses", type="link")
- variant('bash', default=False, description='Install bash completion scripts')
+ variant("bash", default=False, description="Install bash completion scripts")
- depends_on('bash', when="+bash", type='run')
+ depends_on("bash", when="+bash", type="run")
def url_for_version(self, version):
url = "https://www.kernel.org/pub/linux/utils/util-linux/v{0}/util-linux-{1}.tar.gz"
@@ -46,21 +46,25 @@ class UtilLinux(AutotoolsPackage):
def configure_args(self):
config_args = [
- '--disable-use-tty-group',
- '--disable-makeinstall-chown',
- '--without-systemd',
- '--disable-libuuid',
+ "--disable-use-tty-group",
+ "--disable-makeinstall-chown",
+ "--without-systemd",
+ "--disable-libuuid",
]
if "+bash" in self.spec:
config_args.extend(
- ['--enable-bash-completion',
- '--with-bashcompletiondir=' + os.path.join(
- self.spec['bash'].prefix,
- "share", "bash-completion", "completions")])
+ [
+ "--enable-bash-completion",
+ "--with-bashcompletiondir="
+ + os.path.join(
+ self.spec["bash"].prefix, "share", "bash-completion", "completions"
+ ),
+ ]
+ )
else:
- config_args.append('--disable-bash-completion')
+ config_args.append("--disable-bash-completion")
return config_args
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/util-macros/package.py b/var/spack/repos/builtin/packages/util-macros/package.py
index 13d4af8d91..8254ac6fa9 100644
--- a/var/spack/repos/builtin/packages/util-macros/package.py
+++ b/var/spack/repos/builtin/packages/util-macros/package.py
@@ -14,13 +14,13 @@ class UtilMacros(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/util/macros/"
xorg_mirror_path = "util/util-macros-1.19.1.tar.bz2"
- maintainers = ['robert-mijakovic']
+ maintainers = ["robert-mijakovic"]
- version('1.19.3', sha256='0f812e6e9d2786ba8f54b960ee563c0663ddbe2434bf24ff193f5feab1f31971')
- version('1.19.2', sha256='d7e43376ad220411499a79735020f9d145fdc159284867e99467e0d771f3e712')
- version('1.19.1', sha256='18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6')
- version('1.19.0', sha256='2835b11829ee634e19fa56517b4cfc52ef39acea0cd82e15f68096e27cbed0ba')
+ version("1.19.3", sha256="0f812e6e9d2786ba8f54b960ee563c0663ddbe2434bf24ff193f5feab1f31971")
+ version("1.19.2", sha256="d7e43376ad220411499a79735020f9d145fdc159284867e99467e0d771f3e712")
+ version("1.19.1", sha256="18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6")
+ version("1.19.0", sha256="2835b11829ee634e19fa56517b4cfc52ef39acea0cd82e15f68096e27cbed0ba")
def setup_dependent_build_environment(self, env, dependent_spec):
"""Adds the ACLOCAL path for autotools."""
- env.append_path('ACLOCAL_PATH', self.prefix.share.aclocal)
+ env.append_path("ACLOCAL_PATH", self.prefix.share.aclocal)
diff --git a/var/spack/repos/builtin/packages/uvw/package.py b/var/spack/repos/builtin/packages/uvw/package.py
index 3103e52d0e..4792f5cf6f 100644
--- a/var/spack/repos/builtin/packages/uvw/package.py
+++ b/var/spack/repos/builtin/packages/uvw/package.py
@@ -13,27 +13,23 @@ class Uvw(CMakePackage):
"""
homepage = "https://github.com/skypjack/uvw"
- url = "https://github.com/skypjack/uvw/archive/v1.14.0_libuv-v1.26.tar.gz"
+ url = "https://github.com/skypjack/uvw/archive/v1.14.0_libuv-v1.26.tar.gz"
- version('1.14.0', sha256='ef13977c1f87d5659887f6a75d37b7088f2dafbdf0aaff00358240071c70382e')
- version('1.13.0', sha256='cc9944e5a2cdeb19bb74c61c3c02816c5a02b4339f3ad16e979bb7c8640e22c0')
- version('1.12.0', sha256='b7751294fa00e8a96cd7d70989beda7a6117f5d9f4751306b7b2bbbb4702aac8')
+ version("1.14.0", sha256="ef13977c1f87d5659887f6a75d37b7088f2dafbdf0aaff00358240071c70382e")
+ version("1.13.0", sha256="cc9944e5a2cdeb19bb74c61c3c02816c5a02b4339f3ad16e979bb7c8640e22c0")
+ version("1.12.0", sha256="b7751294fa00e8a96cd7d70989beda7a6117f5d9f4751306b7b2bbbb4702aac8")
- variant('docs', default=False, description='Builds and install the documentation')
+ variant("docs", default=False, description="Builds and install the documentation")
- depends_on('libuv', type='link')
- depends_on('doxygen', type='build', when='+docs')
+ depends_on("libuv", type="link")
+ depends_on("doxygen", type="build", when="+docs")
- matching_libuv_version = {
- '1.14.0': '1.26',
- '1.13.0': '1.25',
- '1.12.0': '1.24'
- }
+ matching_libuv_version = {"1.14.0": "1.26", "1.13.0": "1.25", "1.12.0": "1.24"}
def url_for_version(self, version):
- url = 'https://github.com/skypjack/uvw/archive/v{0}_libuv-v{1}.tar.gz'
+ url = "https://github.com/skypjack/uvw/archive/v{0}_libuv-v{1}.tar.gz"
return url.format(version, self.matching_libuv_version[str(version)])
@property
def build_targets(self):
- return [] if '~docs' in self.spec else ['docs']
+ return [] if "~docs" in self.spec else ["docs"]
diff --git a/var/spack/repos/builtin/packages/vacuumms/package.py b/var/spack/repos/builtin/packages/vacuumms/package.py
index 67fe9c6910..88c2672417 100644
--- a/var/spack/repos/builtin/packages/vacuumms/package.py
+++ b/var/spack/repos/builtin/packages/vacuumms/package.py
@@ -17,25 +17,31 @@ class Vacuumms(CMakePackage):
reports via github. https://dl.acm.org/doi/abs/10.1145/2335755.2335826"""
homepage = "https://github.com/frankwillmore/VACUUMMS"
- url = "https://github.com/frankwillmore/VACUUMMS/archive/refs/tags/v1.0.0.tar.gz"
- git = "https://github.com/frankwillmore/VACUUMMS.git"
+ url = "https://github.com/frankwillmore/VACUUMMS/archive/refs/tags/v1.0.0.tar.gz"
+ git = "https://github.com/frankwillmore/VACUUMMS.git"
- maintainers = ['frankwillmore']
+ maintainers = ["frankwillmore"]
- version('master', branch='master')
- version('1.1.1', tag='v1.1.1')
- version('1.0.0', 'c18fe52f5041880da7f50d3808d37afb3e9c936a56f80f67838d045bf7af372f', deprecated=True)
+ version("master", branch="master")
+ version("1.1.1", tag="v1.1.1")
+ version(
+ "1.0.0",
+ "c18fe52f5041880da7f50d3808d37afb3e9c936a56f80f67838d045bf7af372f",
+ deprecated=True,
+ )
- variant('tiff', default=False, description='Build TIFF utilities')
- variant('cuda', default=False, description='Build CUDA applications and utilities')
+ variant("tiff", default=False, description="Build TIFF utilities")
+ variant("cuda", default=False, description="Build CUDA applications and utilities")
- depends_on('libtiff', type=('link', 'run'), when='+tiff')
- depends_on('cuda', type=('link', 'run'), when='+cuda')
- depends_on('libx11', type=('link', 'run'))
- depends_on('libxext', type=('link', 'run'))
- depends_on('libsm', type=('link', 'run'))
- depends_on('libice', type=('link', 'run'))
+ depends_on("libtiff", type=("link", "run"), when="+tiff")
+ depends_on("cuda", type=("link", "run"), when="+cuda")
+ depends_on("libx11", type=("link", "run"))
+ depends_on("libxext", type=("link", "run"))
+ depends_on("libsm", type=("link", "run"))
+ depends_on("libice", type=("link", "run"))
def cmake_args(self):
- return [self.define_from_variant('BUILD_CUDA_COMPONENTS', 'cuda'),
- self.define_from_variant('BUILD_TIFF_UTILS', 'tiff')]
+ return [
+ self.define_from_variant("BUILD_CUDA_COMPONENTS", "cuda"),
+ self.define_from_variant("BUILD_TIFF_UTILS", "tiff"),
+ ]
diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py
index ab5c639742..f8d3c9c380 100644
--- a/var/spack/repos/builtin/packages/valgrind/package.py
+++ b/var/spack/repos/builtin/packages/valgrind/package.py
@@ -19,71 +19,74 @@ class Valgrind(AutotoolsPackage, SourcewarePackage):
Valgrind is Open Source / Free Software, and is freely available
under the GNU General Public License, version 2.
"""
+
homepage = "https://valgrind.org/"
sourceware_mirror_path = "valgrind/valgrind-3.13.0.tar.bz2"
- git = "git://sourceware.org/git/valgrind.git"
+ git = "git://sourceware.org/git/valgrind.git"
- version('develop', branch='master')
- version('3.19.0', sha256='dd5e34486f1a483ff7be7300cc16b4d6b24690987877c3278d797534d6738f02')
- version('3.18.1', sha256='00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5')
- version('3.18.0', sha256='8da880f76592fe8284db98e68f6dc9095485bc2ecc88bc05b7df1f278ae7f657')
- version('3.17.0', sha256='ad3aec668e813e40f238995f60796d9590eee64a16dff88421430630e69285a2')
- version('3.16.1', sha256='c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca')
- version('3.15.0', sha256='417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1')
- version('3.14.0', sha256='037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5')
- version('3.13.0', sha256='d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b')
- version('3.12.0', sha256='67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1')
- version('3.11.0', sha256='6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42')
- version('3.10.1', sha256='fa253dc26ddb661b6269df58144eff607ea3f76a9bcfe574b0c7726e1dfcb997')
- version('3.10.0', sha256='03047f82dfc6985a4c7d9d2700e17bc05f5e1a0ca6ad902e5d6c81aeb720edc9')
+ version("develop", branch="master")
+ version("3.19.0", sha256="dd5e34486f1a483ff7be7300cc16b4d6b24690987877c3278d797534d6738f02")
+ version("3.18.1", sha256="00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5")
+ version("3.18.0", sha256="8da880f76592fe8284db98e68f6dc9095485bc2ecc88bc05b7df1f278ae7f657")
+ version("3.17.0", sha256="ad3aec668e813e40f238995f60796d9590eee64a16dff88421430630e69285a2")
+ version("3.16.1", sha256="c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca")
+ version("3.15.0", sha256="417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1")
+ version("3.14.0", sha256="037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5")
+ version("3.13.0", sha256="d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b")
+ version("3.12.0", sha256="67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1")
+ version("3.11.0", sha256="6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42")
+ version("3.10.1", sha256="fa253dc26ddb661b6269df58144eff607ea3f76a9bcfe574b0c7726e1dfcb997")
+ version("3.10.0", sha256="03047f82dfc6985a4c7d9d2700e17bc05f5e1a0ca6ad902e5d6c81aeb720edc9")
- variant('mpi', default=True,
- description='Activates MPI support for valgrind')
- variant('boost', default=True,
- description='Activates boost support for valgrind')
- variant('only64bit', default=True,
- description='Sets --enable-only64bit option for valgrind')
- variant('ubsan', default=False,
- description='Activates ubsan support for valgrind')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant("mpi", default=True, description="Activates MPI support for valgrind")
+ variant("boost", default=True, description="Activates boost support for valgrind")
+ variant("only64bit", default=True, description="Sets --enable-only64bit option for valgrind")
+ variant("ubsan", default=False, description="Activates ubsan support for valgrind")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
- conflicts('+ubsan', when='%apple-clang',
- msg="""
+ conflicts(
+ "+ubsan",
+ when="%apple-clang",
+ msg="""
Cannot build libubsan with clang on macOS.
Otherwise with (Apple's) clang there is a linker error:
clang: error: unknown argument: '-static-libubsan'
-""")
- depends_on('mpi', when='+mpi')
- depends_on('boost+exception+chrono+system+atomic+thread', when='+boost')
+""",
+ )
+ depends_on("mpi", when="+mpi")
+ depends_on("boost+exception+chrono+system+atomic+thread", when="+boost")
- depends_on("autoconf", type='build', when='@develop')
- depends_on("automake", type='build', when='@develop')
- depends_on("libtool", type='build', when='@develop')
+ depends_on("autoconf", type="build", when="@develop")
+ depends_on("automake", type="build", when="@develop")
+ depends_on("libtool", type="build", when="@develop")
# Apply the patch suggested here:
# http://valgrind.10908.n7.nabble.com/Unable-to-compile-on-Mac-OS-X-10-11-td57237.html
- patch('valgrind_3_12_0_osx.patch', when='@3.12.0 platform=darwin')
+ patch("valgrind_3_12_0_osx.patch", when="@3.12.0 platform=darwin")
- for os in ('mojave', 'catalina'):
- conflicts("os=" + os, when='@:3.15')
+ for os in ("mojave", "catalina"):
+ conflicts("os=" + os, when="@:3.15")
def configure_args(self):
spec = self.spec
- options = self.enable_or_disable('libs')
- if spec.satisfies('+ubsan'):
- options.append('--enable-ubsan')
- if spec.satisfies('+only64bit'):
- options.append('--enable-only64bit')
- if spec.satisfies('~mpi'):
- options.append('--without-mpicc')
- if sys.platform == 'darwin':
- options.append('--build=amd64-darwin')
+ options = self.enable_or_disable("libs")
+ if spec.satisfies("+ubsan"):
+ options.append("--enable-ubsan")
+ if spec.satisfies("+only64bit"):
+ options.append("--enable-only64bit")
+ if spec.satisfies("~mpi"):
+ options.append("--without-mpicc")
+ if sys.platform == "darwin":
+ options.append("--build=amd64-darwin")
return options
# Valgrind the potential for overlong perl shebangs
def patch(self):
- for link_tool_in in glob.glob('coregrind/link_tool_exe_*.in'):
- filter_file('^#! @PERL@',
- '#! /usr/bin/env perl',
- link_tool_in)
+ for link_tool_in in glob.glob("coregrind/link_tool_exe_*.in"):
+ filter_file("^#! @PERL@", "#! /usr/bin/env perl", link_tool_in)
diff --git a/var/spack/repos/builtin/packages/vampirtrace/package.py b/var/spack/repos/builtin/packages/vampirtrace/package.py
index 376be85fd1..b22eb979b9 100644
--- a/var/spack/repos/builtin/packages/vampirtrace/package.py
+++ b/var/spack/repos/builtin/packages/vampirtrace/package.py
@@ -12,49 +12,49 @@ class Vampirtrace(AutotoolsPackage):
and threads (OpenMP, Pthreads)."""
homepage = "https://tu-dresden.de/zih/forschung/projekte/vampirtrace"
- url = "https://wwwpub.zih.tu-dresden.de/~mlieber/dcount/dcount.php?package=vampirtrace&get=VampirTrace-5.14.4.tar.gz"
+ url = "https://wwwpub.zih.tu-dresden.de/~mlieber/dcount/dcount.php?package=vampirtrace&get=VampirTrace-5.14.4.tar.gz"
- version('5.14.4', sha256='1719a1666dd274c221b781631958cae56aa8bcb3f22861fb4ba6526c1b465a30')
+ version("5.14.4", sha256="1719a1666dd274c221b781631958cae56aa8bcb3f22861fb4ba6526c1b465a30")
- variant('mpi', default=True, description='Enable MPI support')
+ variant("mpi", default=True, description="Enable MPI support")
- depends_on('mpi', when='+mpi')
- depends_on('otf')
- depends_on('papi')
- depends_on('zlib')
+ depends_on("mpi", when="+mpi")
+ depends_on("otf")
+ depends_on("papi")
+ depends_on("zlib")
# VampirTrace fails to build with newer versions of MPICH due to
# https://github.com/pmodels/mpich/commit/c3dbc09ae20a503ac4b870893e3e330d52ea5a3b
- patch('mpi3-const.patch', when='^mpich@3.3:')
+ patch("mpi3-const.patch", when="^mpich@3.3:")
# VampirTrace fails to build with OpenMPI for the same reason
- patch('mpi3-const.patch', when='^openmpi')
+ patch("mpi3-const.patch", when="^openmpi")
def patch(self):
- path = 'tools/vtwrapper/vt{0}-wrapper-data.txt.in'
+ path = "tools/vtwrapper/vt{0}-wrapper-data.txt.in"
- for wrapper in ('cc', 'c++', 'fort'):
- filter_file('@VT_WRAPPER_OPARI_TAB_COMPILER@',
- '@VT_WRAPPER_CC_COMPILER@',
- path.format(wrapper))
+ for wrapper in ("cc", "c++", "fort"):
+ filter_file(
+ "@VT_WRAPPER_OPARI_TAB_COMPILER@", "@VT_WRAPPER_CC_COMPILER@", path.format(wrapper)
+ )
def configure_args(self):
spec = self.spec
compiler = self.compiler
args = [
- '--with-extern-otf',
- '--with-extern-otf-dir={0}'.format(spec['otf'].prefix),
- '--with-papi-dir={0}'.format(spec['papi'].prefix),
- '--with-zlib-dir={0}'.format(spec['zlib'].prefix),
- '--with-wrapper-cc-compiler={0}'.format(compiler.cc),
- '--with-wrapper-cc-cpp={0} -E'.format(compiler.cc),
- '--with-wrapper-cxx-compiler={0}'.format(compiler.cxx),
- '--with-wrapper-cxx-cpp={0} -E'.format(compiler.cxx),
- '--with-wrapper-fc-compiler={0}'.format(compiler.fc),
- '--with-wrapper-fc-cpp={0} -E'.format(compiler.fc)
+ "--with-extern-otf",
+ "--with-extern-otf-dir={0}".format(spec["otf"].prefix),
+ "--with-papi-dir={0}".format(spec["papi"].prefix),
+ "--with-zlib-dir={0}".format(spec["zlib"].prefix),
+ "--with-wrapper-cc-compiler={0}".format(compiler.cc),
+ "--with-wrapper-cc-cpp={0} -E".format(compiler.cc),
+ "--with-wrapper-cxx-compiler={0}".format(compiler.cxx),
+ "--with-wrapper-cxx-cpp={0} -E".format(compiler.cxx),
+ "--with-wrapper-fc-compiler={0}".format(compiler.fc),
+ "--with-wrapper-fc-cpp={0} -E".format(compiler.fc),
]
- if '+mpi' in spec:
- args.append('--with-mpi-dir={0}'.format(spec['mpi'].prefix))
+ if "+mpi" in spec:
+ args.append("--with-mpi-dir={0}".format(spec["mpi"].prefix))
return args
diff --git a/var/spack/repos/builtin/packages/vapor/package.py b/var/spack/repos/builtin/packages/vapor/package.py
index cc49ecdf98..f0f3f31548 100644
--- a/var/spack/repos/builtin/packages/vapor/package.py
+++ b/var/spack/repos/builtin/packages/vapor/package.py
@@ -8,52 +8,55 @@ from spack.package import *
class Vapor(CMakePackage):
"""VAPOR is the Visualization and Analysis Platform for Ocean, Atmosphere,
- and Solar Researchers.
+ and Solar Researchers.
- VAPOR provides an interactive 3D visualization environment that can also
- produce animations and still frame images."""
+ VAPOR provides an interactive 3D visualization environment that can also
+ produce animations and still frame images."""
homepage = "https://www.vapor.ucar.edu/"
- url = "https://github.com/NCAR/VAPOR/archive/3.3.0.tar.gz"
-
- maintainers = ['RemiLacroix-IDRIS']
-
- version('3.5.0', sha256='f055d488c6f5bda5174a63990b6b6600037f7ce73ac68d39ad0f371d67f2d685')
- version('3.3.0', sha256='41c13d206cfcfa4146155d524106de2eb74e7b59af1e2f8c1c3056c15d508a93')
-
- depends_on('glu') # GUI
- depends_on('qt@5.13.2:+opengl+dbus') # GUI
- depends_on('netcdf-c@4.7.0:')
- depends_on('udunits@2.2.26:')
- depends_on('freetype@2.10.1:')
- depends_on('libgeotiff@1.5.1:')
- depends_on('hdf5@1.10.5:')
- depends_on('jpeg@9c:')
- depends_on('glew@2.1.0:') # GUI
- depends_on('assimp@4.1.0:')
- depends_on('libtiff@4.0.10:')
- depends_on('proj@6.1.1:7')
- depends_on('glm@0.9.9.1:')
- depends_on('python@3.6.9:3.6')
- depends_on('py-numpy')
+ url = "https://github.com/NCAR/VAPOR/archive/3.3.0.tar.gz"
+
+ maintainers = ["RemiLacroix-IDRIS"]
+
+ version("3.5.0", sha256="f055d488c6f5bda5174a63990b6b6600037f7ce73ac68d39ad0f371d67f2d685")
+ version("3.3.0", sha256="41c13d206cfcfa4146155d524106de2eb74e7b59af1e2f8c1c3056c15d508a93")
+
+ depends_on("glu") # GUI
+ depends_on("qt@5.13.2:+opengl+dbus") # GUI
+ depends_on("netcdf-c@4.7.0:")
+ depends_on("udunits@2.2.26:")
+ depends_on("freetype@2.10.1:")
+ depends_on("libgeotiff@1.5.1:")
+ depends_on("hdf5@1.10.5:")
+ depends_on("jpeg@9c:")
+ depends_on("glew@2.1.0:") # GUI
+ depends_on("assimp@4.1.0:")
+ depends_on("libtiff@4.0.10:")
+ depends_on("proj@6.1.1:7")
+ depends_on("glm@0.9.9.1:")
+ depends_on("python@3.6.9:3.6")
+ depends_on("py-numpy")
def cmake_args(self):
- with open('site.local', 'w') as f:
- python = self.spec['python']
- f.write('set (PYTHONVERSION {0})\n'.format(python.version.up_to(2)))
- f.write('set (PYTHONDIR {0})\n'.format(python.home))
- f.write('set (PYTHONPATH {0})\n'.format(python.package.platlib))
+ with open("site.local", "w") as f:
+ python = self.spec["python"]
+ f.write("set (PYTHONVERSION {0})\n".format(python.version.up_to(2)))
+ f.write("set (PYTHONDIR {0})\n".format(python.home))
+ f.write("set (PYTHONPATH {0})\n".format(python.package.platlib))
# install expects the share/images directory to install below this path
- f.write('set (THIRD_PARTY_DIR {0})\n'.format(self.stage.source_path))
+ f.write("set (THIRD_PARTY_DIR {0})\n".format(self.stage.source_path))
numpy_include = join_path(
- self.spec['py-numpy'].prefix,
- self.spec['python'].package.platlib,
- 'numpy', 'core', 'include')
+ self.spec["py-numpy"].prefix,
+ self.spec["python"].package.platlib,
+ "numpy",
+ "core",
+ "include",
+ )
f.write('set (THIRD_PARTY_INC_DIR "{0}")\n'.format(numpy_include))
- args = ['-DBUILD_OSP=OFF']
+ args = ["-DBUILD_OSP=OFF"]
return args
def setup_run_environment(self, env):
# set VAPOR_HOME in the module file
- env.set('VAPOR_HOME', self.prefix)
+ env.set("VAPOR_HOME", self.prefix)
diff --git a/var/spack/repos/builtin/packages/vardictjava/package.py b/var/spack/repos/builtin/packages/vardictjava/package.py
index 5f99a7e546..bbbf3df697 100644
--- a/var/spack/repos/builtin/packages/vardictjava/package.py
+++ b/var/spack/repos/builtin/packages/vardictjava/package.py
@@ -12,15 +12,17 @@ class Vardictjava(Package):
It is a partial Java port of VarDict variant caller."""
homepage = "https://github.com/AstraZeneca-NGS/VarDictJava"
- url = "https://github.com/AstraZeneca-NGS/VarDictJava/releases/download/v1.5.1/VarDict-1.5.1.tar"
+ url = (
+ "https://github.com/AstraZeneca-NGS/VarDictJava/releases/download/v1.5.1/VarDict-1.5.1.tar"
+ )
- version('1.5.1', sha256='f1d710d238e8ab41b02a99fa8698baeee8c8668635a847b826913dd03a9176b9')
+ version("1.5.1", sha256="f1d710d238e8ab41b02a99fa8698baeee8c8668635a847b826913dd03a9176b9")
- depends_on('java@8:', type='run')
+ depends_on("java@8:", type="run")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('bin/VarDict', prefix.bin)
+ install("bin/VarDict", prefix.bin)
mkdirp(prefix.lib)
- install('lib/*.jar', prefix.lib)
+ install("lib/*.jar", prefix.lib)
diff --git a/var/spack/repos/builtin/packages/variorum/package.py b/var/spack/repos/builtin/packages/variorum/package.py
index f048879c72..f6f21cb257 100644
--- a/var/spack/repos/builtin/packages/variorum/package.py
+++ b/var/spack/repos/builtin/packages/variorum/package.py
@@ -8,7 +8,7 @@ from spack.package import *
class Variorum(CMakePackage):
"""Variorum is a library providing vendor-neutral interfaces for
- monitoring and controlling underlying hardware features.
+ monitoring and controlling underlying hardware features.
"""
homepage = "https://variorum.readthedocs.io"
@@ -17,22 +17,24 @@ class Variorum(CMakePackage):
maintainers = ["slabasan", "rountree"]
- version('0.4.1', sha256='be7407b856bc2239ecaa27d3df80aee2f541bb721fbfa183612bd9c0ce061f28')
- version('0.4.0', sha256='70ff1c5a3ae15d0bd07d409ab6f3c128e69528703a829cb18ecb4a50adeaea34')
- version('0.3.0', sha256='f79563f09b8fe796283c879b05f7730c36d79ca0346c12995b7bccc823653f42')
- version('0.2.0', sha256='b8c010b26aad8acc75d146c4461532cf5d9d3d24d6fc30ee68f6330a68e65744')
+ version("0.4.1", sha256="be7407b856bc2239ecaa27d3df80aee2f541bb721fbfa183612bd9c0ce061f28")
+ version("0.4.0", sha256="70ff1c5a3ae15d0bd07d409ab6f3c128e69528703a829cb18ecb4a50adeaea34")
+ version("0.3.0", sha256="f79563f09b8fe796283c879b05f7730c36d79ca0346c12995b7bccc823653f42")
+ version("0.2.0", sha256="b8c010b26aad8acc75d146c4461532cf5d9d3d24d6fc30ee68f6330a68e65744")
version("0.1.0", tag="v0.1.0")
############
# Variants #
############
variant("shared", default=True, description="Build Variorum as shared lib")
- variant("docs", default=False,
- description="Build Variorum's documentation")
+ variant("docs", default=False, description="Build Variorum's documentation")
variant("log", default=False, description="Enable Variorum's logs")
- variant("build_type", default="Release",
- description="CMake build type",
- values=("Debug", "Release"))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release"),
+ )
########################
# Package dependencies #
@@ -52,12 +54,12 @@ class Variorum(CMakePackage):
spec = self.spec
cmake_args = []
- cmake_args.append('-DJANSSON_DIR={0}'.format(spec['jansson'].prefix))
+ cmake_args.append("-DJANSSON_DIR={0}".format(spec["jansson"].prefix))
- if spec.satisfies('%cce'):
- cmake_args.append('-DCMAKE_C_FLAGS=-fcommon')
- cmake_args.append('-DCMAKE_CCC_FLAGS=-fcommon')
- cmake_args.append('-DCMAKE_Fortran_FLAGS=-ef')
+ if spec.satisfies("%cce"):
+ cmake_args.append("-DCMAKE_C_FLAGS=-fcommon")
+ cmake_args.append("-DCMAKE_CCC_FLAGS=-fcommon")
+ cmake_args.append("-DCMAKE_Fortran_FLAGS=-ef")
if "+shared" in spec:
cmake_args.append("-DBUILD_SHARED_LIBS=ON")
@@ -66,15 +68,12 @@ class Variorum(CMakePackage):
if "+docs" in spec:
cmake_args.append("-DBUILD_DOCS=ON")
- sphinx_build_exe = join_path(
- spec["py-sphinx"].prefix.bin,
- "sphinx-build"
- )
+ sphinx_build_exe = join_path(spec["py-sphinx"].prefix.bin, "sphinx-build")
cmake_args.append("-DSPHINX_EXECUTABLE=" + sphinx_build_exe)
else:
cmake_args.append("-DBUILD_DOCS=OFF")
- if 'build_type=Debug' in spec:
+ if "build_type=Debug" in spec:
cmake_args.append("-DVARIORUM_DEBUG=ON")
else:
cmake_args.append("-DVARIORUM_DEBUG=OFF")
diff --git a/var/spack/repos/builtin/packages/varnish-cache/package.py b/var/spack/repos/builtin/packages/varnish-cache/package.py
index 69b1204fa0..d2d4e30563 100644
--- a/var/spack/repos/builtin/packages/varnish-cache/package.py
+++ b/var/spack/repos/builtin/packages/varnish-cache/package.py
@@ -10,20 +10,20 @@ class VarnishCache(AutotoolsPackage):
"""This is Varnish Cache, the high-performance HTTP accelerator."""
homepage = "https://www.varnish-cache.org/"
- url = "https://github.com/varnishcache/varnish-cache/archive/varnish-6.4.0.tar.gz"
+ url = "https://github.com/varnishcache/varnish-cache/archive/varnish-6.4.0.tar.gz"
- version('6.4.0', sha256='d9702c2c689c5d4ecd911886f769ddf22f46ac0722e275bee4033928cab09243')
- version('6.3.2', sha256='e50f3dd4e26d5669c5b73657cdb0d5ddac7dcc3cfa1761a983afa24b659f3785')
- version('6.3.1', sha256='8cc57360c1db36e8c77fc51304a935803a06247f6d6120fa47e8345efadf17a9')
- version('6.3.0', sha256='c7170d4bc57f1d2454da046fc5e43e2d19a804448d2dd839fa5c33f76bd677bb')
- version('6.2.3', sha256='64cd273aa155c78c21e74def53622be5920c8a7d952fee74f0663e57a01c9a9d')
+ version("6.4.0", sha256="d9702c2c689c5d4ecd911886f769ddf22f46ac0722e275bee4033928cab09243")
+ version("6.3.2", sha256="e50f3dd4e26d5669c5b73657cdb0d5ddac7dcc3cfa1761a983afa24b659f3785")
+ version("6.3.1", sha256="8cc57360c1db36e8c77fc51304a935803a06247f6d6120fa47e8345efadf17a9")
+ version("6.3.0", sha256="c7170d4bc57f1d2454da046fc5e43e2d19a804448d2dd839fa5c33f76bd677bb")
+ version("6.2.3", sha256="64cd273aa155c78c21e74def53622be5920c8a7d952fee74f0663e57a01c9a9d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pcre')
- depends_on('readline')
- depends_on('python', type=('build', 'run'))
- depends_on('py-sphinx', type=('build', 'run'))
- depends_on('py-docutils', type=('build', 'run'))
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pcre")
+ depends_on("readline")
+ depends_on("python", type=("build", "run"))
+ depends_on("py-sphinx", type=("build", "run"))
+ depends_on("py-docutils", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/varscan/package.py b/var/spack/repos/builtin/packages/varscan/package.py
index 4632ebec2f..ebcce4a75a 100644
--- a/var/spack/repos/builtin/packages/varscan/package.py
+++ b/var/spack/repos/builtin/packages/varscan/package.py
@@ -10,19 +10,23 @@ from spack.package import *
class Varscan(Package):
"""Variant calling and somatic mutation/CNV detection for next-generation
- sequencing data"""
+ sequencing data"""
homepage = "https://dkoboldt.github.io/varscan/"
- url = "https://github.com/dkoboldt/varscan/releases/download/2.4.2/VarScan.v2.4.2.jar"
+ url = "https://github.com/dkoboldt/varscan/releases/download/2.4.2/VarScan.v2.4.2.jar"
- version('2.4.2', sha256='34ff6462f91fb6ed3f11e867ab4a179efae5dd8214b97fa261fc616f23d4d031', expand=False)
+ version(
+ "2.4.2",
+ sha256="34ff6462f91fb6ed3f11e867ab4a179efae5dd8214b97fa261fc616f23d4d031",
+ expand=False,
+ )
- depends_on('java', type=('build', 'run'))
+ depends_on("java", type=("build", "run"))
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.jar)
- jar_file = 'VarScan.v{v}.jar'.format(v=self.version.dotted)
+ jar_file = "VarScan.v{v}.jar".format(v=self.version.dotted)
install(jar_file, prefix.jar)
script_sh = join_path(os.path.dirname(__file__), "varscan.sh")
@@ -30,12 +34,11 @@ class Varscan(Package):
install(script_sh, script)
set_executable(script)
- java = join_path(self.spec['java'].prefix, 'bin', 'java')
- kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
- filter_file('^java', java, script, **kwargs)
- filter_file('varscan.jar', join_path(prefix.jar, jar_file),
- script, **kwargs)
+ java = join_path(self.spec["java"].prefix, "bin", "java")
+ kwargs = {"ignore_absent": False, "backup": False, "string": False}
+ filter_file("^java", java, script, **kwargs)
+ filter_file("varscan.jar", join_path(prefix.jar, jar_file), script, **kwargs)
def setup_run_environment(self, env):
- env.set('VARSCAN_HOME', self.prefix.jar)
- env.set('CLASSPATH', self.prefix.jar)
+ env.set("VARSCAN_HOME", self.prefix.jar)
+ env.set("CLASSPATH", self.prefix.jar)
diff --git a/var/spack/repos/builtin/packages/vasp/package.py b/var/spack/repos/builtin/packages/vasp/package.py
index cf670ea9f1..af3122e730 100644
--- a/var/spack/repos/builtin/packages/vasp/package.py
+++ b/var/spack/repos/builtin/packages/vasp/package.py
@@ -17,210 +17,208 @@ class Vasp(MakefilePackage):
"""
homepage = "https://vasp.at"
- url = "file://{0}/vasp.5.4.4.pl2.tgz".format(os.getcwd())
+ url = "file://{0}/vasp.5.4.4.pl2.tgz".format(os.getcwd())
manual_download = True
- version('6.2.0', sha256='49e7ba351bd634bc5f5f67a8ef1e38e64e772857a1c02f602828898a84197e25')
- version('6.1.1', sha256='e37a4dfad09d3ad0410833bcd55af6b599179a085299026992c2d8e319bf6927')
- version('5.4.4.pl2', sha256='98f75fd75399a23d76d060a6155f4416b340a1704f256a00146f89024035bc8e')
- version('5.4.4', sha256='5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3')
-
- resource(name='vaspsol',
- git='https://github.com/henniggroup/VASPsol.git',
- tag='V1.0',
- when='+vaspsol')
-
- variant('openmp', default=False,
- description='Enable openmp build')
-
- variant('scalapack', default=False,
- description='Enables build with SCALAPACK')
-
- variant('cuda', default=False,
- description='Enables running on Nvidia GPUs')
-
- variant('vaspsol', default=False,
- description='Enable VASPsol implicit solvation model\n'
- 'https://github.com/henniggroup/VASPsol')
-
- depends_on('rsync', type='build')
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw-api')
- depends_on('mpi', type=('build', 'link', 'run'))
- depends_on('scalapack', when='+scalapack')
- depends_on('cuda', when='+cuda')
- depends_on('qd', when='%nvhpc')
-
- conflicts('%gcc@:8', msg='GFortran before 9.x does not support all features needed to build VASP')
- conflicts('+vaspsol', when='+cuda', msg='+vaspsol only available for CPU')
- conflicts('+openmp', when='@:6.1.1', msg='openmp support started from 6.2')
+ version("6.2.0", sha256="49e7ba351bd634bc5f5f67a8ef1e38e64e772857a1c02f602828898a84197e25")
+ version("6.1.1", sha256="e37a4dfad09d3ad0410833bcd55af6b599179a085299026992c2d8e319bf6927")
+ version("5.4.4.pl2", sha256="98f75fd75399a23d76d060a6155f4416b340a1704f256a00146f89024035bc8e")
+ version("5.4.4", sha256="5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3")
+
+ resource(
+ name="vaspsol",
+ git="https://github.com/henniggroup/VASPsol.git",
+ tag="V1.0",
+ when="+vaspsol",
+ )
+
+ variant("openmp", default=False, description="Enable openmp build")
+
+ variant("scalapack", default=False, description="Enables build with SCALAPACK")
+
+ variant("cuda", default=False, description="Enables running on Nvidia GPUs")
+
+ variant(
+ "vaspsol",
+ default=False,
+ description="Enable VASPsol implicit solvation model\n"
+ "https://github.com/henniggroup/VASPsol",
+ )
+
+ depends_on("rsync", type="build")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("fftw-api")
+ depends_on("mpi", type=("build", "link", "run"))
+ depends_on("scalapack", when="+scalapack")
+ depends_on("cuda", when="+cuda")
+ depends_on("qd", when="%nvhpc")
+
+ conflicts(
+ "%gcc@:8", msg="GFortran before 9.x does not support all features needed to build VASP"
+ )
+ conflicts("+vaspsol", when="+cuda", msg="+vaspsol only available for CPU")
+ conflicts("+openmp", when="@:6.1.1", msg="openmp support started from 6.2")
parallel = False
def edit(self, spec, prefix):
- if '%gcc' in spec:
- if '+openmp' in spec:
- make_include = join_path('arch', 'makefile.include.linux_gnu_omp')
+ if "%gcc" in spec:
+ if "+openmp" in spec:
+ make_include = join_path("arch", "makefile.include.linux_gnu_omp")
else:
- make_include = join_path('arch', 'makefile.include.linux_gnu')
- elif '%nvhpc' in spec:
- make_include = join_path('arch', 'makefile.include.linux_pgi')
- filter_file('-pgc++libs', '-c++libs', make_include, string=True)
- filter_file('pgcc', spack_cc, make_include)
- filter_file('pgc++', spack_cxx, make_include, string=True)
- filter_file('pgfortran', spack_fc, make_include)
- filter_file('/opt/pgi/qd-2.3.17/install/include',
- spec['qd'].prefix.include, make_include)
- filter_file('/opt/pgi/qd-2.3.17/install/lib',
- spec['qd'].prefix.lib, make_include)
- elif '%aocc' in spec:
- if '+openmp' in spec:
+ make_include = join_path("arch", "makefile.include.linux_gnu")
+ elif "%nvhpc" in spec:
+ make_include = join_path("arch", "makefile.include.linux_pgi")
+ filter_file("-pgc++libs", "-c++libs", make_include, string=True)
+ filter_file("pgcc", spack_cc, make_include)
+ filter_file("pgc++", spack_cxx, make_include, string=True)
+ filter_file("pgfortran", spack_fc, make_include)
+ filter_file(
+ "/opt/pgi/qd-2.3.17/install/include", spec["qd"].prefix.include, make_include
+ )
+ filter_file("/opt/pgi/qd-2.3.17/install/lib", spec["qd"].prefix.lib, make_include)
+ elif "%aocc" in spec:
+ if "+openmp" in spec:
copy(
- join_path('arch', 'makefile.include.linux_gnu_omp'),
- join_path('arch', 'makefile.include.linux_aocc_omp')
+ join_path("arch", "makefile.include.linux_gnu_omp"),
+ join_path("arch", "makefile.include.linux_aocc_omp"),
)
- make_include = join_path('arch', 'makefile.include.linux_aocc_omp')
+ make_include = join_path("arch", "makefile.include.linux_aocc_omp")
else:
copy(
- join_path('arch', 'makefile.include.linux_gnu'),
- join_path('arch', 'makefile.include.linux_aocc')
+ join_path("arch", "makefile.include.linux_gnu"),
+ join_path("arch", "makefile.include.linux_aocc"),
)
- make_include = join_path('arch', 'makefile.include.linux_aocc')
+ make_include = join_path("arch", "makefile.include.linux_aocc")
+ filter_file("gcc", "{0} {1}".format(spack_cc, "-Mfree"), make_include, string=True)
+ filter_file("g++", spack_cxx, make_include, string=True)
+ filter_file("^CFLAGS_LIB[ ]{0,}=.*$", "CFLAGS_LIB = -O3", make_include)
+ filter_file("^FFLAGS_LIB[ ]{0,}=.*$", "FFLAGS_LIB = -O2", make_include)
+ filter_file("^OFLAG[ ]{0,}=.*$", "OFLAG = -O3", make_include)
+ filter_file(
+ "^FC[ ]{0,}=.*$", "FC = {0}".format(spec["mpi"].mpifc), make_include, string=True
+ )
filter_file(
- 'gcc', '{0} {1}'.format(spack_cc, '-Mfree'),
- make_include, string=True
+ "^FCL[ ]{0,}=.*$", "FCL = {0}".format(spec["mpi"].mpifc), make_include, string=True
)
- filter_file('g++', spack_cxx, make_include, string=True)
- filter_file('^CFLAGS_LIB[ ]{0,}=.*$',
- 'CFLAGS_LIB = -O3', make_include)
- filter_file('^FFLAGS_LIB[ ]{0,}=.*$',
- 'FFLAGS_LIB = -O2', make_include)
- filter_file('^OFLAG[ ]{0,}=.*$',
- 'OFLAG = -O3', make_include)
- filter_file('^FC[ ]{0,}=.*$',
- 'FC = {0}'.format(spec['mpi'].mpifc),
- make_include, string=True)
- filter_file('^FCL[ ]{0,}=.*$',
- 'FCL = {0}'.format(spec['mpi'].mpifc),
- make_include, string=True)
else:
- if '+openmp' in spec:
- make_include = join_path('arch',
- 'makefile.include.linux_{0}_omp'.
- format(spec.compiler.name))
+ if "+openmp" in spec:
+ make_include = join_path(
+ "arch", "makefile.include.linux_{0}_omp".format(spec.compiler.name)
+ )
else:
- make_include = join_path('arch',
- 'makefile.include.linux_' +
- spec.compiler.name)
+ make_include = join_path("arch", "makefile.include.linux_" + spec.compiler.name)
- os.rename(make_include, 'makefile.include')
+ os.rename(make_include, "makefile.include")
# This bunch of 'filter_file()' is to make these options settable
# as environment variables
- filter_file('^CPP_OPTIONS[ ]{0,}=[ ]{0,}',
- 'CPP_OPTIONS ?= ',
- 'makefile.include')
- filter_file('^FFLAGS[ ]{0,}=[ ]{0,}',
- 'FFLAGS ?= ',
- 'makefile.include')
-
- filter_file('^LIBDIR[ ]{0,}=.*$', '', 'makefile.include')
- filter_file('^BLAS[ ]{0,}=.*$', 'BLAS ?=', 'makefile.include')
- filter_file('^LAPACK[ ]{0,}=.*$', 'LAPACK ?=', 'makefile.include')
- filter_file('^FFTW[ ]{0,}?=.*$', 'FFTW ?=', 'makefile.include')
- filter_file('^MPI_INC[ ]{0,}=.*$', 'MPI_INC ?=', 'makefile.include')
- filter_file('-DscaLAPACK.*$\n', '', 'makefile.include')
- filter_file('^SCALAPACK[ ]{0,}=.*$', 'SCALAPACK ?=', 'makefile.include')
-
- if '+cuda' in spec:
- filter_file('^OBJECTS_GPU[ ]{0,}=.*$',
- 'OBJECTS_GPU ?=',
- 'makefile.include')
-
- filter_file('^CPP_GPU[ ]{0,}=.*$',
- 'CPP_GPU ?=',
- 'makefile.include')
-
- filter_file('^CFLAGS[ ]{0,}=.*$',
- 'CFLAGS ?=',
- 'makefile.include')
-
- if '+vaspsol' in spec:
- copy('VASPsol/src/solvation.F', 'src/')
-
- def setup_build_environment(self, spack_env):
- spec = self.spec
+ filter_file("^CPP_OPTIONS[ ]{0,}=[ ]{0,}", "CPP_OPTIONS ?= ", "makefile.include")
+ filter_file("^FFLAGS[ ]{0,}=[ ]{0,}", "FFLAGS ?= ", "makefile.include")
- cpp_options = ['-DMPI -DMPI_BLOCK=8000',
- '-Duse_collective', '-DCACHE_SIZE=4000',
- '-Davoidalloc', '-Duse_bse_te',
- '-Dtbdyn', '-Duse_shmem']
- if '%nvhpc' in self.spec:
- cpp_options.extend(['-DHOST=\\"LinuxPGI\\"', '-DPGI16',
- '-Dqd_emulate'])
- elif '%aocc' in self.spec:
- cpp_options.extend(['-DHOST=\\"LinuxGNU\\"',
- '-Dfock_dblbuf'])
- if '+openmp' in self.spec:
- cpp_options.extend(['-D_OPENMP'])
- else:
- cpp_options.append('-DHOST=\\"LinuxGNU\\"')
-
- if self.spec.satisfies('@6:'):
- cpp_options.append('-Dvasp6')
-
- cflags = ['-fPIC', '-DADD_']
- fflags = []
- if '%gcc' in spec or '%intel' in spec:
- fflags.append('-w')
- elif '%nvhpc' in spec:
- fflags.extend(['-Mnoupcase', '-Mbackslash', '-Mlarge_arrays'])
- elif '%aocc' in spec:
- fflags.extend(['-fno-fortran-main', '-Mbackslash', '-ffast-math'])
+ filter_file("^LIBDIR[ ]{0,}=.*$", "", "makefile.include")
+ filter_file("^BLAS[ ]{0,}=.*$", "BLAS ?=", "makefile.include")
+ filter_file("^LAPACK[ ]{0,}=.*$", "LAPACK ?=", "makefile.include")
+ filter_file("^FFTW[ ]{0,}?=.*$", "FFTW ?=", "makefile.include")
+ filter_file("^MPI_INC[ ]{0,}=.*$", "MPI_INC ?=", "makefile.include")
+ filter_file("-DscaLAPACK.*$\n", "", "makefile.include")
+ filter_file("^SCALAPACK[ ]{0,}=.*$", "SCALAPACK ?=", "makefile.include")
- spack_env.set('BLAS', spec['blas'].libs.ld_flags)
- spack_env.set('LAPACK', spec['lapack'].libs.ld_flags)
- spack_env.set('FFTW', spec['fftw-api'].prefix)
- spack_env.set('MPI_INC', spec['mpi'].prefix.include)
+ if "+cuda" in spec:
+ filter_file("^OBJECTS_GPU[ ]{0,}=.*$", "OBJECTS_GPU ?=", "makefile.include")
- if '%nvhpc' in spec:
- spack_env.set('QD', spec['qd'].prefix)
+ filter_file("^CPP_GPU[ ]{0,}=.*$", "CPP_GPU ?=", "makefile.include")
- if '+scalapack' in spec:
- cpp_options.append('-DscaLAPACK')
- spack_env.set('SCALAPACK', spec['scalapack'].libs.ld_flags)
+ filter_file("^CFLAGS[ ]{0,}=.*$", "CFLAGS ?=", "makefile.include")
- if '+cuda' in spec:
- cpp_gpu = ['-DCUDA_GPU', '-DRPROMU_CPROJ_OVERLAP',
- '-DCUFFT_MIN=28', '-DUSE_PINNED_MEMORY']
+ if "+vaspsol" in spec:
+ copy("VASPsol/src/solvation.F", "src/")
- objects_gpu = ['fftmpiw.o', 'fftmpi_map.o', 'fft3dlib.o',
- 'fftw3d_gpu.o', 'fftmpiw_gpu.o']
-
- cflags.extend(['-DGPUSHMEM=300', '-DHAVE_CUBLAS'])
+ def setup_build_environment(self, spack_env):
+ spec = self.spec
- spack_env.set('CUDA_ROOT', spec['cuda'].prefix)
- spack_env.set('CPP_GPU', ' '.join(cpp_gpu))
- spack_env.set('OBJECTS_GPU', ' '.join(objects_gpu))
+ cpp_options = [
+ "-DMPI -DMPI_BLOCK=8000",
+ "-Duse_collective",
+ "-DCACHE_SIZE=4000",
+ "-Davoidalloc",
+ "-Duse_bse_te",
+ "-Dtbdyn",
+ "-Duse_shmem",
+ ]
+ if "%nvhpc" in self.spec:
+ cpp_options.extend(['-DHOST=\\"LinuxPGI\\"', "-DPGI16", "-Dqd_emulate"])
+ elif "%aocc" in self.spec:
+ cpp_options.extend(['-DHOST=\\"LinuxGNU\\"', "-Dfock_dblbuf"])
+ if "+openmp" in self.spec:
+ cpp_options.extend(["-D_OPENMP"])
+ else:
+ cpp_options.append('-DHOST=\\"LinuxGNU\\"')
- if '+vaspsol' in spec:
- cpp_options.append('-Dsol_compat')
+ if self.spec.satisfies("@6:"):
+ cpp_options.append("-Dvasp6")
- if spec.satisfies('%gcc@10:'):
- fflags.append('-fallow-argument-mismatch')
+ cflags = ["-fPIC", "-DADD_"]
+ fflags = []
+ if "%gcc" in spec or "%intel" in spec:
+ fflags.append("-w")
+ elif "%nvhpc" in spec:
+ fflags.extend(["-Mnoupcase", "-Mbackslash", "-Mlarge_arrays"])
+ elif "%aocc" in spec:
+ fflags.extend(["-fno-fortran-main", "-Mbackslash", "-ffast-math"])
+
+ spack_env.set("BLAS", spec["blas"].libs.ld_flags)
+ spack_env.set("LAPACK", spec["lapack"].libs.ld_flags)
+ spack_env.set("FFTW", spec["fftw-api"].prefix)
+ spack_env.set("MPI_INC", spec["mpi"].prefix.include)
+
+ if "%nvhpc" in spec:
+ spack_env.set("QD", spec["qd"].prefix)
+
+ if "+scalapack" in spec:
+ cpp_options.append("-DscaLAPACK")
+ spack_env.set("SCALAPACK", spec["scalapack"].libs.ld_flags)
+
+ if "+cuda" in spec:
+ cpp_gpu = [
+ "-DCUDA_GPU",
+ "-DRPROMU_CPROJ_OVERLAP",
+ "-DCUFFT_MIN=28",
+ "-DUSE_PINNED_MEMORY",
+ ]
+
+ objects_gpu = [
+ "fftmpiw.o",
+ "fftmpi_map.o",
+ "fft3dlib.o",
+ "fftw3d_gpu.o",
+ "fftmpiw_gpu.o",
+ ]
+
+ cflags.extend(["-DGPUSHMEM=300", "-DHAVE_CUBLAS"])
+
+ spack_env.set("CUDA_ROOT", spec["cuda"].prefix)
+ spack_env.set("CPP_GPU", " ".join(cpp_gpu))
+ spack_env.set("OBJECTS_GPU", " ".join(objects_gpu))
+
+ if "+vaspsol" in spec:
+ cpp_options.append("-Dsol_compat")
+
+ if spec.satisfies("%gcc@10:"):
+ fflags.append("-fallow-argument-mismatch")
# Finally
- spack_env.set('CPP_OPTIONS', ' '.join(cpp_options))
- spack_env.set('CFLAGS', ' '.join(cflags))
- spack_env.set('FFLAGS', ' '.join(fflags))
+ spack_env.set("CPP_OPTIONS", " ".join(cpp_options))
+ spack_env.set("CFLAGS", " ".join(cflags))
+ spack_env.set("FFLAGS", " ".join(fflags))
def build(self, spec, prefix):
- if '+cuda' in self.spec:
- make('gpu', 'gpu_ncl')
+ if "+cuda" in self.spec:
+ make("gpu", "gpu_ncl")
else:
- make('std', 'gam', 'ncl')
+ make("std", "gam", "ncl")
def install(self, spec, prefix):
- install_tree('bin/', prefix.bin)
+ install_tree("bin/", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/vbfnlo/package.py b/var/spack/repos/builtin/packages/vbfnlo/package.py
index 3c9aee9831..3431b160e5 100644
--- a/var/spack/repos/builtin/packages/vbfnlo/package.py
+++ b/var/spack/repos/builtin/packages/vbfnlo/package.py
@@ -8,51 +8,64 @@ from spack.package import *
class Vbfnlo(AutotoolsPackage):
"""VBFNLO is a fully flexible parton level Monte Carlo program
- for the simulation of vector boson fusion, double and triple
- vector boson production in hadronic collisions at
- next to leading order in the strong coupling constant. """
+ for the simulation of vector boson fusion, double and triple
+ vector boson production in hadronic collisions at
+ next to leading order in the strong coupling constant."""
homepage = "https://www.itp.kit.edu/vbfnlo/wiki/doku.php?id=overview"
- url = "https://github.com/vbfnlo/vbfnlo/archive/v3.0.0beta5.tar.gz"
+ url = "https://github.com/vbfnlo/vbfnlo/archive/v3.0.0beta5.tar.gz"
tags = ["hep"]
# The commented out versions exist, but are not tested
- version('3.0.0beta5', sha256='777a3dedb365ea9abc38848a60f30d325da3799cbad69fa308664b94a8c31a90')
- version('3.0.0beta4', sha256='511e84765e9634a75766a160eae1925812dacbb3943e7e3b4dc90e2eacac8a2c')
+ version(
+ "3.0.0beta5", sha256="777a3dedb365ea9abc38848a60f30d325da3799cbad69fa308664b94a8c31a90"
+ )
+ version(
+ "3.0.0beta4", sha256="511e84765e9634a75766a160eae1925812dacbb3943e7e3b4dc90e2eacac8a2c"
+ )
# version('3.0.0beta3', sha256='ab4cc3289051ab09ed94fa41d0eb1c5c4adcd9f39fa04e3c95a3867f256541bc')
- version('3.0.0beta2', sha256='33dd0781e645a5baa664fc5aa81d43c12586bf095ef25895e86cb4192c22473b')
- version('3.0.0beta1', sha256='19f0bf7e4c93b0f287d2531d6802c114a78eb46cde28ea820b2a074a5819c7ca')
- version('2.7.1', sha256='13e33d73d8a8ef64094621f87e6f94e01712e76cc19a86298d0b52cfcb9decca', preferred=True)
+ version(
+ "3.0.0beta2", sha256="33dd0781e645a5baa664fc5aa81d43c12586bf095ef25895e86cb4192c22473b"
+ )
+ version(
+ "3.0.0beta1", sha256="19f0bf7e4c93b0f287d2531d6802c114a78eb46cde28ea820b2a074a5819c7ca"
+ )
+ version(
+ "2.7.1",
+ sha256="13e33d73d8a8ef64094621f87e6f94e01712e76cc19a86298d0b52cfcb9decca",
+ preferred=True,
+ )
# version('2.7.0', sha256='0e96c0912599e3000fffec5305700b947b604a7b06c7975851503f445311e4ef')
# Documentation is broken on some systems:
# See https://github.com/vbfnlo/vbfnlo/issues/2
- variant('doc', default=False,
- description='Build documentation')
-
- depends_on('hepmc')
- depends_on('gsl')
- depends_on('lhapdf')
- depends_on('looptools')
- depends_on('automake', type='build')
- depends_on('autoconf', type='build')
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
-
- @when('@2.7.1')
+ variant("doc", default=False, description="Build documentation")
+
+ depends_on("hepmc")
+ depends_on("gsl")
+ depends_on("lhapdf")
+ depends_on("looptools")
+ depends_on("automake", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
+
+ @when("@2.7.1")
def setup_build_environment(self, env):
- env.unset('F77')
+ env.unset("F77")
def configure_args(self):
- args = ["--with-hepmc=" + self.spec['hepmc'].prefix,
- "--with-gsl=" + self.spec['gsl'].prefix,
- "--with-LHAPDF=" + self.spec['lhapdf'].prefix,
- "--with-LOOPTOOLS=" + self.spec['looptools'].prefix,
- "FCFLAGS=-std=legacy"]
+ args = [
+ "--with-hepmc=" + self.spec["hepmc"].prefix,
+ "--with-gsl=" + self.spec["gsl"].prefix,
+ "--with-LHAPDF=" + self.spec["lhapdf"].prefix,
+ "--with-LOOPTOOLS=" + self.spec["looptools"].prefix,
+ "FCFLAGS=-std=legacy",
+ ]
return args
- @when('@3.0.0beta3:~doc')
+ @when("@3.0.0beta3:~doc")
def patch(self):
filter_file("lib src doc", "lib src", "Makefile.am")
diff --git a/var/spack/repos/builtin/packages/vc/package.py b/var/spack/repos/builtin/packages/vc/package.py
index 12f67f75d8..f7cc66baa4 100644
--- a/var/spack/repos/builtin/packages/vc/package.py
+++ b/var/spack/repos/builtin/packages/vc/package.py
@@ -10,30 +10,32 @@ class Vc(CMakePackage):
"""SIMD Vector Classes for C++"""
homepage = "https://github.com/VcDevel/Vc"
- url = "https://github.com/VcDevel/Vc/archive/1.3.0.tar.gz"
+ url = "https://github.com/VcDevel/Vc/archive/1.3.0.tar.gz"
- version('1.4.2', sha256='50d3f151e40b0718666935aa71d299d6370fafa67411f0a9e249fbce3e6e3952')
- version('1.4.1', sha256='7e8b57ed5ff9eb0835636203898c21302733973ff8eaede5134dd7cb87f915f6')
- version('1.3.0', sha256='2309a19eea136e1f9d5629305b2686e226093e23fe5b27de3d6e3d6084991c3a')
- version('1.2.0', sha256='9cd7b6363bf40a89e8b1d2b39044b44a4ce3f1fd6672ef3fc45004198ba28a2b')
- version('1.1.0', sha256='281b4c6152fbda11a4b313a0a0ca18565ee049a86f35f672f1383967fef8f501')
+ version("1.4.2", sha256="50d3f151e40b0718666935aa71d299d6370fafa67411f0a9e249fbce3e6e3952")
+ version("1.4.1", sha256="7e8b57ed5ff9eb0835636203898c21302733973ff8eaede5134dd7cb87f915f6")
+ version("1.3.0", sha256="2309a19eea136e1f9d5629305b2686e226093e23fe5b27de3d6e3d6084991c3a")
+ version("1.2.0", sha256="9cd7b6363bf40a89e8b1d2b39044b44a4ce3f1fd6672ef3fc45004198ba28a2b")
+ version("1.1.0", sha256="281b4c6152fbda11a4b313a0a0ca18565ee049a86f35f672f1383967fef8f501")
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebug',
- 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="RelWithDebInfo",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebug", "RelWithDebInfo", "MinSizeRel"),
+ )
# Build fails without it when --test is used, can't be type='test':
- depends_on('virtest')
+ depends_on("virtest")
def patch(self):
- tests = FileFilter('tests/CMakeLists.txt')
- tests.filter(';AVX2', '')
- tests.filter('.*logarithm.*', '')
- tests.filter('.*trigonometric.*', '')
+ tests = FileFilter("tests/CMakeLists.txt")
+ tests.filter(";AVX2", "")
+ tests.filter(".*logarithm.*", "")
+ tests.filter(".*trigonometric.*", "")
def cmake_args(self):
if self.run_tests:
- return ['-DBUILD_TESTING=ON']
+ return ["-DBUILD_TESTING=ON"]
else:
- return ['-DBUILD_TESTING=OFF']
+ return ["-DBUILD_TESTING=OFF"]
diff --git a/var/spack/repos/builtin/packages/vcftools/package.py b/var/spack/repos/builtin/packages/vcftools/package.py
index e2e9543cd8..92ccb0e152 100644
--- a/var/spack/repos/builtin/packages/vcftools/package.py
+++ b/var/spack/repos/builtin/packages/vcftools/package.py
@@ -8,48 +8,65 @@ from spack.package import *
class Vcftools(AutotoolsPackage):
"""VCFtools is a program package designed for working with VCF files,
- such as those generated by the 1000 Genomes Project. The aim of
- VCFtools is to provide easily accessible methods for working
- with complex genetic variation data in the form of VCF files.
+ such as those generated by the 1000 Genomes Project. The aim of
+ VCFtools is to provide easily accessible methods for working
+ with complex genetic variation data in the form of VCF files.
"""
homepage = "https://vcftools.github.io/"
- url = "https://github.com/vcftools/vcftools/releases/download/v0.1.14/vcftools-0.1.14.tar.gz"
+ url = "https://github.com/vcftools/vcftools/releases/download/v0.1.14/vcftools-0.1.14.tar.gz"
# this is "a pre-release"
# version('0.1.15', sha256='31e47afd5be679d89ece811a227525925b6907cce4af2c86f10f465e080383e3')
- version('0.1.14', sha256='76d799dd9afcb12f1ed42a07bc2886cd1a989858a4d047f24d91dcf40f608582')
+ version("0.1.14", sha256="76d799dd9afcb12f1ed42a07bc2886cd1a989858a4d047f24d91dcf40f608582")
- depends_on('perl', type=('build', 'run'))
- depends_on('zlib')
+ depends_on("perl", type=("build", "run"))
+ depends_on("zlib")
# this needs to be in sync with what setup_run_environment adds to
# PERL5LIB below
def configure_args(self):
- return ['--with-pmdir={0}'.format(self.prefix.lib)]
+ return ["--with-pmdir={0}".format(self.prefix.lib)]
- @run_before('install')
+ @run_before("install")
def filter_sbang(self):
"""Run before install so that the standard Spack sbang install hook
- can fix up the path to the perl binary.
+ can fix up the path to the perl binary.
"""
- with working_dir('src/perl'):
- match = '^#!/usr/bin/env perl'
- substitute = "#!{perl}".format(perl=self.spec['perl'].command.path)
+ with working_dir("src/perl"):
+ match = "^#!/usr/bin/env perl"
+ substitute = "#!{perl}".format(perl=self.spec["perl"].command.path)
# tab-to-vcf added in 0.1.15
- files = ['fill-aa', 'fill-an-ac', 'fill-fs',
- 'fill-ref-md5', 'tab-to-vcf', 'vcf-annotate',
- 'vcf-compare', 'vcf-concat', 'vcf-consensus',
- 'vcf-contrast', 'vcf-convert',
- 'vcf-fix-newlines', 'vcf-fix-ploidy',
- 'vcf-indel-stats', 'vcf-isec', 'vcf-merge',
- 'vcf-phased-join', 'vcf-query',
- 'vcf-shuffle-cols', 'vcf-sort', 'vcf-stats',
- 'vcf-subset', 'vcf-to-tab', 'vcf-tstv',
- 'vcf-validator', ]
- kwargs = {'ignore_absent': True, 'backup': False, 'string': False}
+ files = [
+ "fill-aa",
+ "fill-an-ac",
+ "fill-fs",
+ "fill-ref-md5",
+ "tab-to-vcf",
+ "vcf-annotate",
+ "vcf-compare",
+ "vcf-concat",
+ "vcf-consensus",
+ "vcf-contrast",
+ "vcf-convert",
+ "vcf-fix-newlines",
+ "vcf-fix-ploidy",
+ "vcf-indel-stats",
+ "vcf-isec",
+ "vcf-merge",
+ "vcf-phased-join",
+ "vcf-query",
+ "vcf-shuffle-cols",
+ "vcf-sort",
+ "vcf-stats",
+ "vcf-subset",
+ "vcf-to-tab",
+ "vcf-tstv",
+ "vcf-validator",
+ ]
+ kwargs = {"ignore_absent": True, "backup": False, "string": False}
filter_file(match, substitute, *files, **kwargs)
def setup_run_environment(self, env):
- env.prepend_path('PERL5LIB', self.prefix.lib)
+ env.prepend_path("PERL5LIB", self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/vcsh/package.py b/var/spack/repos/builtin/packages/vcsh/package.py
index 4549a4e40e..88fe3ff7c8 100644
--- a/var/spack/repos/builtin/packages/vcsh/package.py
+++ b/var/spack/repos/builtin/packages/vcsh/package.py
@@ -9,18 +9,29 @@ from spack.package import *
class Vcsh(Package):
"""config manager based on git"""
+
homepage = "https://github.com/RichiH/vcsh"
- url = "https://github.com/RichiH/vcsh/archive/v1.20151229.tar.gz"
+ url = "https://github.com/RichiH/vcsh/archive/v1.20151229.tar.gz"
- version('1.20151229-1', sha256='7682a517eaf88a86ea5e38ad81707800e965375eaff8b5cfd882e210fe2fef71')
- version('1.20151229', sha256='ae069506b0490287aefa582ab4e6af1c7ebc4dca743b17d91e0c8d0327d7a3fa')
- version('1.20150502', sha256='127c7f35e9b097b722917d42f9652375033b12f14b6702a08621cb16205d253f')
- version('1.20141026', sha256='63e65df01f35611b3dfca97317298fc2da6c33bfad6edb778ea44b23857e7c54')
- version('1.20141025', sha256='2a9009b19289f60d5919d9e19d2a3f53dbe373dbc84e6d50ec0ee1b5ffb2f282')
+ version(
+ "1.20151229-1", sha256="7682a517eaf88a86ea5e38ad81707800e965375eaff8b5cfd882e210fe2fef71"
+ )
+ version(
+ "1.20151229", sha256="ae069506b0490287aefa582ab4e6af1c7ebc4dca743b17d91e0c8d0327d7a3fa"
+ )
+ version(
+ "1.20150502", sha256="127c7f35e9b097b722917d42f9652375033b12f14b6702a08621cb16205d253f"
+ )
+ version(
+ "1.20141026", sha256="63e65df01f35611b3dfca97317298fc2da6c33bfad6edb778ea44b23857e7c54"
+ )
+ version(
+ "1.20141025", sha256="2a9009b19289f60d5919d9e19d2a3f53dbe373dbc84e6d50ec0ee1b5ffb2f282"
+ )
- depends_on('git', type='run')
+ depends_on("git", type="run")
# vcsh provides a makefile, if needed the install method should be adapted
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('vcsh', prefix.bin)
+ install("vcsh", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/vdt/package.py b/var/spack/repos/builtin/packages/vdt/package.py
index 9f78efad7d..3e7ee92156 100644
--- a/var/spack/repos/builtin/packages/vdt/package.py
+++ b/var/spack/repos/builtin/packages/vdt/package.py
@@ -15,21 +15,24 @@ class Vdt(CMakePackage):
homepage = "https://github.com/dpiparo/vdt"
url = "https://github.com/dpiparo/vdt/archive/v0.3.9.tar.gz"
- version('0.4.3', sha256='705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1')
- version('0.3.9', sha256='1662d21037a29cae717ee50b73bd177bea79582f4138b7ad11404fc4be4e542e')
- version('0.3.8', sha256='e6d8485c3c8923993cb1b1a5bb85068a86746285058bf77faeb177363647be62')
- version('0.3.7', sha256='713a7e6d76d98f3b2b56b5216e7d5906e30f17865a5c7c889968e9a0b0664949')
- version('0.3.6', sha256='fb8f6386f2cd1eeb03db43f2b5c83a172107949bb5e5e8d4dfa603660a9757b0')
+ version("0.4.3", sha256="705674612ebb5c182b65a8f61f4d173eb7fe7cdeee2235b402541a492e08ace1")
+ version("0.3.9", sha256="1662d21037a29cae717ee50b73bd177bea79582f4138b7ad11404fc4be4e542e")
+ version("0.3.8", sha256="e6d8485c3c8923993cb1b1a5bb85068a86746285058bf77faeb177363647be62")
+ version("0.3.7", sha256="713a7e6d76d98f3b2b56b5216e7d5906e30f17865a5c7c889968e9a0b0664949")
+ version("0.3.6", sha256="fb8f6386f2cd1eeb03db43f2b5c83a172107949bb5e5e8d4dfa603660a9757b0")
- variant('preload', default=False,
- description='Create in the library the symbols to preload the library')
+ variant(
+ "preload",
+ default=False,
+ description="Create in the library the symbols to preload the library",
+ )
- depends_on('python', type='build')
+ depends_on("python", type="build")
@property
def build_directory(self):
- d = join_path(self.stage.path, 'spack-build')
- if self.spec.satisfies('@:0.3.8'):
+ d = join_path(self.stage.path, "spack-build")
+ if self.spec.satisfies("@:0.3.8"):
d = self.stage.source_path
return d
@@ -37,19 +40,18 @@ class Vdt(CMakePackage):
spec = self.spec
disable_features = set()
- if spec.satisfies('target=aarch64:'):
- disable_features.add('neon')
- elif spec.satisfies('target=ppc64le:'):
- disable_features.add('fma')
+ if spec.satisfies("target=aarch64:"):
+ disable_features.add("neon")
+ elif spec.satisfies("target=ppc64le:"):
+ disable_features.add("fma")
args = [
- self.define_from_variant('PRELOAD'),
- self.define('PYTHON_EXECUTABLE', spec['python'].command),
+ self.define_from_variant("PRELOAD"),
+ self.define("PYTHON_EXECUTABLE", spec["python"].command),
]
- for f in ['sse', 'avx', 'avx2', 'fma', 'neon']:
- args.append(self.define(
- f.upper(),
- f not in disable_features and f in self.spec.target
- ))
+ for f in ["sse", "avx", "avx2", "fma", "neon"]:
+ args.append(
+ self.define(f.upper(), f not in disable_features and f in self.spec.target)
+ )
return args
diff --git a/var/spack/repos/builtin/packages/veccore/package.py b/var/spack/repos/builtin/packages/veccore/package.py
index 17e6d02e88..68d57918ea 100644
--- a/var/spack/repos/builtin/packages/veccore/package.py
+++ b/var/spack/repos/builtin/packages/veccore/package.py
@@ -17,16 +17,16 @@ class Veccore(CMakePackage):
url = "https://github.com/root-project/veccore/archive/refs/tags/v0.8.0.tar.gz"
git = "https://github.com/root-project/veccore.git"
- maintainers = ['drbenmorgan', 'sethrj']
+ maintainers = ["drbenmorgan", "sethrj"]
- version('master', branch='master')
- version('0.8.0', sha256='2f8e49f2b609bf15a776026fbec899b3d5d4ba30f033d4fdac4b07a5220a4fd3')
- version('0.7.0', sha256='61d9fc4be815c5c98088c2796763d3ed82ba4bad5a69b7892c1c2e7e1e53d311')
- version('0.6.0', sha256='db404d745906efec2a76175995e847af9174df5a8da1e5ccdb241c773d7c8df9')
- version('0.5.2', sha256='6c8740342bfa1d9c6ef55a19f57b95674a94e5f9ea156e9b329635718b0b4049')
- version('0.5.1', sha256='20f4ab8f599b9d12becc3e27e8dbb0f4ec0aa2de958053eb550020a9c95a6d62')
- version('0.5.0', sha256='5b52205c1213574fa43d6362b60b0e16239035cf64106f8841d7beb7e32bdd03')
- version('0.4.2', sha256='79f418e466c211d0a5ff1d9127a82d84bceefe5321878cd37e77f50bc91f4cc2')
- version('0.4.1', sha256='59ffe668c061acde89afb33749f4eb8bab35dd5f6e51f632758794c1a745aabf')
- version('0.4.0', sha256='0a38b958c92647c30b5709d17edaf39d241b92b988f1040c0fbe24932b42927e')
- version('0.3.2', sha256='d72b03df00f5e94b2d07f78ab3af6d9d956c19e9a1fae07267b48f6fc8d7713f')
+ version("master", branch="master")
+ version("0.8.0", sha256="2f8e49f2b609bf15a776026fbec899b3d5d4ba30f033d4fdac4b07a5220a4fd3")
+ version("0.7.0", sha256="61d9fc4be815c5c98088c2796763d3ed82ba4bad5a69b7892c1c2e7e1e53d311")
+ version("0.6.0", sha256="db404d745906efec2a76175995e847af9174df5a8da1e5ccdb241c773d7c8df9")
+ version("0.5.2", sha256="6c8740342bfa1d9c6ef55a19f57b95674a94e5f9ea156e9b329635718b0b4049")
+ version("0.5.1", sha256="20f4ab8f599b9d12becc3e27e8dbb0f4ec0aa2de958053eb550020a9c95a6d62")
+ version("0.5.0", sha256="5b52205c1213574fa43d6362b60b0e16239035cf64106f8841d7beb7e32bdd03")
+ version("0.4.2", sha256="79f418e466c211d0a5ff1d9127a82d84bceefe5321878cd37e77f50bc91f4cc2")
+ version("0.4.1", sha256="59ffe668c061acde89afb33749f4eb8bab35dd5f6e51f632758794c1a745aabf")
+ version("0.4.0", sha256="0a38b958c92647c30b5709d17edaf39d241b92b988f1040c0fbe24932b42927e")
+ version("0.3.2", sha256="d72b03df00f5e94b2d07f78ab3af6d9d956c19e9a1fae07267b48f6fc8d7713f")
diff --git a/var/spack/repos/builtin/packages/vecgeom/package.py b/var/spack/repos/builtin/packages/vecgeom/package.py
index 5868803192..bdeefe5335 100644
--- a/var/spack/repos/builtin/packages/vecgeom/package.py
+++ b/var/spack/repos/builtin/packages/vecgeom/package.py
@@ -15,124 +15,130 @@ class Vecgeom(CMakePackage, CudaPackage):
url = "https://gitlab.cern.ch/VecGeom/VecGeom/-/archive/v1.1.6/VecGeom-v1.1.6.tar.gz"
git = "https://gitlab.cern.ch/VecGeom/VecGeom.git"
- tags = ['hep']
-
- maintainers = ['drbenmorgan', 'sethrj']
-
- version('master', branch='master')
- version('1.2.0', sha256='3448606fceb98ceb72d687d2d3b7ad44c67793d799def4ece9601b8e39c2868a')
- version('1.1.20', sha256='e1c75e480fc72bca8f8072ea00320878a9ae375eed7401628b15cddd097ed7fd')
- version('1.1.19', sha256='4c586b57fd4e30be044366c9be983249c7fa8bec629624523f5f69fd9caaa05b')
- version('1.1.18', sha256='2780640233a36e0d3c767140417015be1893c1ad695ccc0bd3ee0767bc9fbed8')
- version('1.1.17', sha256='2e95429b795311a6986320d785bedcd9dace9f8e7b7f6bd778d23a4ff23e0424')
- version('1.1.16', sha256='2fa636993156d9d06750586e8a1ac1701ae2be62dea07964e2369698ae521d02')
- version('1.1.15', sha256='0ee9897eb12d8d560dc0c9e56e8fdb78d0111f651a984df24e983da035bd1c70')
- version('1.1.13', sha256='6bb364cc74bdab2e64e2fe132debd7f1e192da0a103f5149df7ab25b7c19a205')
- version('1.1.12', sha256='fec4495aac4a9d583f076551da61a68b956bba1dd1ebe1cd48c00ef95c962049')
- version('1.1.9', sha256='a90e11bf83724300d1d7206e5fe89a7915c4ec6aae881587f18e282ac0f6ee8e')
- version('1.1.8', sha256='9c42206d788ec4b791571882f5ea8d2c591c938abe61c21cc5ec37bfea6bf768')
- version('1.1.7', sha256='cc79a0baa783b21ecc399c4e7cca925ca340e6aeb96e3b2cad45c141557519bf')
- version('1.1.6', sha256='c4806a6b67d01b40074b8cc6865d78574a6a1c573be51696f2ecdf98b9cb954a')
- version('1.1.5', sha256='da674f3bbc75c30f56c1a2d251fa8930c899f27fa64b03a36569924030d87b95')
- version('1.1.3', sha256='ada09e8b6b2fa6c058290302b2cb5a6c2e644192aab1623c31d18c6a2f4c01c8')
- version('1.1.0', sha256='e9d1ef83ff591fe4f9ef744a4d3155a3dc7e90ddb6735b24f3afe4c2dc3f7064')
- version('1.0.1', sha256='1eae7ac9014c608e8d8db5568058b8c0fea1a1dc7a8f54157a3a1c997b6fd9eb')
- version('0.5.2', tag='v00.05.02',
- commit='a7e0828c915ff936a79e672d1dd84b087a323b51')
- version('0.3.rc', sha256='a87a9ea4ab126b59ff9c79182bc0911ead3d76dd197194742e2a35ccd341299d')
-
- _cxxstd_values = ('11', '14', '17')
- variant('cxxstd', default='17', values=_cxxstd_values, multi=False,
- description='Use the specified C++ standard when building')
- variant('gdml', default=True,
- description='Support native GDML geometry descriptions')
- variant('geant4', default=False,
- description='Support Geant4 geometry construction')
- variant('root', default=False,
- description='Support ROOT geometry construction')
- variant('shared', default=True,
- description='Build shared libraries')
-
- depends_on('veccore')
- depends_on('veccore@0.8.0', when='@1.1.18:')
- depends_on('veccore@0.5.2:', when='@1.1.0:')
- depends_on('veccore@0.4.2', when='@:1.0')
-
- conflicts('+cuda', when='@:1.1.5')
- conflicts('cxxstd=14', when='@1.2:')
- conflicts('cxxstd=11', when='@1.2:')
+ tags = ["hep"]
+
+ maintainers = ["drbenmorgan", "sethrj"]
+
+ version("master", branch="master")
+ version("1.2.0", sha256="3448606fceb98ceb72d687d2d3b7ad44c67793d799def4ece9601b8e39c2868a")
+ version("1.1.20", sha256="e1c75e480fc72bca8f8072ea00320878a9ae375eed7401628b15cddd097ed7fd")
+ version("1.1.19", sha256="4c586b57fd4e30be044366c9be983249c7fa8bec629624523f5f69fd9caaa05b")
+ version("1.1.18", sha256="2780640233a36e0d3c767140417015be1893c1ad695ccc0bd3ee0767bc9fbed8")
+ version("1.1.17", sha256="2e95429b795311a6986320d785bedcd9dace9f8e7b7f6bd778d23a4ff23e0424")
+ version("1.1.16", sha256="2fa636993156d9d06750586e8a1ac1701ae2be62dea07964e2369698ae521d02")
+ version("1.1.15", sha256="0ee9897eb12d8d560dc0c9e56e8fdb78d0111f651a984df24e983da035bd1c70")
+ version("1.1.13", sha256="6bb364cc74bdab2e64e2fe132debd7f1e192da0a103f5149df7ab25b7c19a205")
+ version("1.1.12", sha256="fec4495aac4a9d583f076551da61a68b956bba1dd1ebe1cd48c00ef95c962049")
+ version("1.1.9", sha256="a90e11bf83724300d1d7206e5fe89a7915c4ec6aae881587f18e282ac0f6ee8e")
+ version("1.1.8", sha256="9c42206d788ec4b791571882f5ea8d2c591c938abe61c21cc5ec37bfea6bf768")
+ version("1.1.7", sha256="cc79a0baa783b21ecc399c4e7cca925ca340e6aeb96e3b2cad45c141557519bf")
+ version("1.1.6", sha256="c4806a6b67d01b40074b8cc6865d78574a6a1c573be51696f2ecdf98b9cb954a")
+ version("1.1.5", sha256="da674f3bbc75c30f56c1a2d251fa8930c899f27fa64b03a36569924030d87b95")
+ version("1.1.3", sha256="ada09e8b6b2fa6c058290302b2cb5a6c2e644192aab1623c31d18c6a2f4c01c8")
+ version("1.1.0", sha256="e9d1ef83ff591fe4f9ef744a4d3155a3dc7e90ddb6735b24f3afe4c2dc3f7064")
+ version("1.0.1", sha256="1eae7ac9014c608e8d8db5568058b8c0fea1a1dc7a8f54157a3a1c997b6fd9eb")
+ version("0.5.2", tag="v00.05.02", commit="a7e0828c915ff936a79e672d1dd84b087a323b51")
+ version("0.3.rc", sha256="a87a9ea4ab126b59ff9c79182bc0911ead3d76dd197194742e2a35ccd341299d")
+
+ _cxxstd_values = ("11", "14", "17")
+ variant(
+ "cxxstd",
+ default="17",
+ values=_cxxstd_values,
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+ variant("gdml", default=True, description="Support native GDML geometry descriptions")
+ variant("geant4", default=False, description="Support Geant4 geometry construction")
+ variant("root", default=False, description="Support ROOT geometry construction")
+ variant("shared", default=True, description="Build shared libraries")
+
+ depends_on("veccore")
+ depends_on("veccore@0.8.0", when="@1.1.18:")
+ depends_on("veccore@0.5.2:", when="@1.1.0:")
+ depends_on("veccore@0.4.2", when="@:1.0")
+
+ conflicts("+cuda", when="@:1.1.5")
+ conflicts("cxxstd=14", when="@1.2:")
+ conflicts("cxxstd=11", when="@1.2:")
# Fix missing CMAKE_CUDA_STANDARD
- patch('https://gitlab.cern.ch/VecGeom/VecGeom/-/commit/7094dd180ef694f2abb7463cafcedfb8b8ed30a1.diff',
- sha256='34f1a6899616e40bce33d80a38a9b409f819cbaab07b2e3be7f4ec4bedb52b29',
- when='@1.1.7 +cuda')
+ patch(
+ "https://gitlab.cern.ch/VecGeom/VecGeom/-/commit/7094dd180ef694f2abb7463cafcedfb8b8ed30a1.diff",
+ sha256="34f1a6899616e40bce33d80a38a9b409f819cbaab07b2e3be7f4ec4bedb52b29",
+ when="@1.1.7 +cuda",
+ )
# Fix installed target properties to not propagate flags to nvcc
- patch('https://gitlab.cern.ch/VecGeom/VecGeom/-/commit/ac398bd109dd9175e4a898cd4b62571a3cc88252.diff',
- sha256='a9ba136d3ed4282ec950069da2199f22beadea27d89a4264d8773ba329e253df',
- when='@1.1.18 +cuda ^cuda@:11.4')
+ patch(
+ "https://gitlab.cern.ch/VecGeom/VecGeom/-/commit/ac398bd109dd9175e4a898cd4b62571a3cc88252.diff",
+ sha256="a9ba136d3ed4282ec950069da2199f22beadea27d89a4264d8773ba329e253df",
+ when="@1.1.18 +cuda ^cuda@:11.4",
+ )
for std in _cxxstd_values:
- depends_on('geant4 cxxstd=' + std, when='+geant4 cxxstd=' + std)
- depends_on('root cxxstd=' + std, when='+root cxxstd=' + std)
- depends_on('xerces-c cxxstd=' + std, when='+gdml cxxstd=' + std)
+ depends_on("geant4 cxxstd=" + std, when="+geant4 cxxstd=" + std)
+ depends_on("root cxxstd=" + std, when="+root cxxstd=" + std)
+ depends_on("xerces-c cxxstd=" + std, when="+gdml cxxstd=" + std)
def cmake_args(self):
spec = self.spec
define = self.define
from_variant = self.define_from_variant
- target_instructions = 'empty'
- if '~cuda' in spec:
+ target_instructions = "empty"
+ if "~cuda" in spec:
# Only add vectorization if CUDA is disabled due to nvcc flag
# forwarding issues
vecgeom_arch = "sse2 sse3 ssse3 sse4.1 sse4.2 avx avx2".split()
for feature in reversed(vecgeom_arch):
- if feature.replace('.', '_') in spec.target:
+ if feature.replace(".", "_") in spec.target:
target_instructions = feature
break
- prefix = 'VECGEOM_' if spec.satisfies('@1.2:') else ''
+ prefix = "VECGEOM_" if spec.satisfies("@1.2:") else ""
args = [
- define(prefix + 'BACKEND', 'Scalar'),
- define(prefix + 'BUILTIN_VECCORE', False),
- define(prefix + 'NO_SPECIALIZATION', True),
- define('VECGEOM_VECTOR', target_instructions),
- from_variant('BUILD_SHARED_LIBS', 'shared'),
- from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- from_variant(prefix + 'GDML', 'gdml'),
- from_variant(prefix + 'GEANT4', 'geant4'),
- from_variant(prefix + 'ROOT', 'root'),
+ define(prefix + "BACKEND", "Scalar"),
+ define(prefix + "BUILTIN_VECCORE", False),
+ define(prefix + "NO_SPECIALIZATION", True),
+ define("VECGEOM_VECTOR", target_instructions),
+ from_variant("BUILD_SHARED_LIBS", "shared"),
+ from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
+ from_variant(prefix + "GDML", "gdml"),
+ from_variant(prefix + "GEANT4", "geant4"),
+ from_variant(prefix + "ROOT", "root"),
]
- if spec.satisfies('@1.1.19:'):
- args.append(from_variant('VECGEOM_ENABLE_CUDA', 'cuda'))
- if '+cuda' in spec:
+ if spec.satisfies("@1.1.19:"):
+ args.append(from_variant("VECGEOM_ENABLE_CUDA", "cuda"))
+ if "+cuda" in spec:
# This will add an (ignored) empty string if no values are
# selected, otherwise will add a CMake list of arch values
- args.append(define(
- 'CMAKE_CUDA_ARCHITECTURES', spec.variants['cuda_arch'].value
- ))
+ args.append(define("CMAKE_CUDA_ARCHITECTURES", spec.variants["cuda_arch"].value))
else:
- args.append(from_variant('CUDA'))
- if '+cuda' in spec:
- arch = spec.variants['cuda_arch'].value
+ args.append(from_variant("CUDA"))
+ if "+cuda" in spec:
+ arch = spec.variants["cuda_arch"].value
if len(arch) != 1:
raise InstallError("Exactly one cuda_arch must be specified")
- args.append(define('CUDA_ARCH', arch[0]))
+ args.append(define("CUDA_ARCH", arch[0]))
# Set testing flags
build_tests = self.run_tests
- args.append(define('BUILD_TESTING', build_tests))
- if spec.satisfies('@:1.1'):
- args.extend([
- define('CTEST', build_tests),
- define('GDMLTESTING', build_tests and '+gdml' in spec),
- ])
+ args.append(define("BUILD_TESTING", build_tests))
+ if spec.satisfies("@:1.1"):
+ args.extend(
+ [
+ define("CTEST", build_tests),
+ define("GDMLTESTING", build_tests and "+gdml" in spec),
+ ]
+ )
if spec.satisfies("@:0.5.2"):
- args.extend([
- define('USOLIDS', True),
- define('USOLIDS_VECGEOM', True),
- ])
+ args.extend(
+ [
+ define("USOLIDS", True),
+ define("USOLIDS_VECGEOM", True),
+ ]
+ )
return args
diff --git a/var/spack/repos/builtin/packages/veclibfort/package.py b/var/spack/repos/builtin/packages/veclibfort/package.py
index ec9b10f7e0..98f751d9a1 100644
--- a/var/spack/repos/builtin/packages/veclibfort/package.py
+++ b/var/spack/repos/builtin/packages/veclibfort/package.py
@@ -14,26 +14,23 @@ class Veclibfort(Package):
and FORTRAN code compiled with modern compilers such as GNU Fortran."""
homepage = "https://github.com/mcg1969/vecLibFort"
- url = "https://github.com/mcg1969/vecLibFort/archive/0.4.2.tar.gz"
- git = "https://github.com/mcg1969/vecLibFort.git"
+ url = "https://github.com/mcg1969/vecLibFort/archive/0.4.2.tar.gz"
+ git = "https://github.com/mcg1969/vecLibFort.git"
- version('develop', branch='master')
- version('0.4.2', sha256='c61316632bffa1c76e3c7f92b11c9def4b6f41973ecf9e124d68de6ae37fbc85')
+ version("develop", branch="master")
+ version("0.4.2", sha256="c61316632bffa1c76e3c7f92b11c9def4b6f41973ecf9e124d68de6ae37fbc85")
- variant('shared', default=True,
- description="Build shared libraries as well as static libs.")
+ variant("shared", default=True, description="Build shared libraries as well as static libs.")
# virtual dependency
- provides('blas')
+ provides("blas")
# https://github.com/scipy/scipy/wiki/Dropping-support-for-Accelerate
- provides('lapack@3.2.1')
+ provides("lapack@3.2.1")
@property
def libs(self):
- shared = True if '+shared' in self.spec else False
- return find_libraries(
- 'libvecLibFort', root=self.prefix, shared=shared, recursive=True
- )
+ shared = True if "+shared" in self.spec else False
+ return find_libraries("libvecLibFort", root=self.prefix, shared=shared, recursive=True)
@property
def headers(self):
@@ -42,23 +39,23 @@ class Veclibfort(Package):
return HeaderList([])
def install(self, spec, prefix):
- if sys.platform != 'darwin':
- raise InstallError('vecLibFort can be installed on macOS only')
+ if sys.platform != "darwin":
+ raise InstallError("vecLibFort can be installed on macOS only")
- filter_file(r'^PREFIX=.*', '', 'Makefile')
+ filter_file(r"^PREFIX=.*", "", "Makefile")
make_args = []
- if spec.satisfies('%gcc@6:'):
- make_args += ['CFLAGS=-flax-vector-conversions']
+ if spec.satisfies("%gcc@6:"):
+ make_args += ["CFLAGS=-flax-vector-conversions"]
- make_args += ['PREFIX=%s' % prefix, 'install']
+ make_args += ["PREFIX=%s" % prefix, "install"]
make(*make_args)
# test
- fc = which('fc')
- flags = ['-o', 'tester', '-O', 'tester.f90']
- flags.extend(spec['veclibfort'].libs.ld_flags.split())
+ fc = which("fc")
+ flags = ["-o", "tester", "-O", "tester.f90"]
+ flags.extend(spec["veclibfort"].libs.ld_flags.split())
fc(*flags)
- Executable('./tester')()
+ Executable("./tester")()
diff --git a/var/spack/repos/builtin/packages/vecmem/package.py b/var/spack/repos/builtin/packages/vecmem/package.py
index 68664e04ce..f8083a3157 100644
--- a/var/spack/repos/builtin/packages/vecmem/package.py
+++ b/var/spack/repos/builtin/packages/vecmem/package.py
@@ -10,43 +10,43 @@ class Vecmem(CMakePackage, CudaPackage):
"""VecMem is a vectorised data model base and helper classes."""
homepage = "https://github.com/acts-project/vecmem"
- url = "https://github.com/acts-project/vecmem/archive/refs/tags/v0.5.0.tar.gz"
+ url = "https://github.com/acts-project/vecmem/archive/refs/tags/v0.5.0.tar.gz"
list_url = "https://github.com/acts-project/vecmem/releases"
- maintainers = ['wdconinc', 'HadrienG2']
+ maintainers = ["wdconinc", "HadrienG2"]
- version('0.12.0', sha256='aab017e5df5f4251c53313aecf63f550c43890ec4845f138e3d46aa4113b8609')
- version('0.11.0', sha256='4bed7f2cdcad376ee3e2f744aba95497c837b6a9807a069245f66e02c78b745a')
- version('0.10.0', sha256='b872835dde943ec5ef88799db7846b3bdac5f36d1254f74116ec4e4615e35bb1')
- version('0.9.0', sha256='4c742f4b85ab470e2401f00bde67e36319ae83ab2a89261eb24836e27bd3f542')
- version('0.8.0', sha256='a13f7178c940d6bf3386e7e8f5eb158e6435882533bffe888d3c9775eeb2f20e')
- version('0.7.0', sha256='c00266bc80df8f568103f2874ce349fe8f74fb7e361901d562cce41ab7f9b85c')
- version('0.6.0', sha256='e6c8262844a5ff7f03df7f849a1e7cf1a68214730ac54c35c14333522ff31723')
- version('0.5.0', sha256='b9739e8fcdf27fa9ef509743cd8f8f62f871b53b0a63b93f24ea9865c2b00a3a')
- version('0.4.0', sha256='51dfadc2b97f34530c642abdf86dcb6392e753dd68ef011bac89382dcf8aaad4')
- version('0.3.0', sha256='4e7851ab46fee925800405c5ae18e99b62644d624d3544277a522a06fb812dbf')
- version('0.2.0', sha256='33aea135989684e325cb097e455ff0f9d1a9e85ff32f671e3b3ed6cc036176ac')
- version('0.1.0', sha256='19e24e3262aa113cd4242e7b94e2de34a4b362e78553730a358f64351c6a0a01')
+ version("0.12.0", sha256="aab017e5df5f4251c53313aecf63f550c43890ec4845f138e3d46aa4113b8609")
+ version("0.11.0", sha256="4bed7f2cdcad376ee3e2f744aba95497c837b6a9807a069245f66e02c78b745a")
+ version("0.10.0", sha256="b872835dde943ec5ef88799db7846b3bdac5f36d1254f74116ec4e4615e35bb1")
+ version("0.9.0", sha256="4c742f4b85ab470e2401f00bde67e36319ae83ab2a89261eb24836e27bd3f542")
+ version("0.8.0", sha256="a13f7178c940d6bf3386e7e8f5eb158e6435882533bffe888d3c9775eeb2f20e")
+ version("0.7.0", sha256="c00266bc80df8f568103f2874ce349fe8f74fb7e361901d562cce41ab7f9b85c")
+ version("0.6.0", sha256="e6c8262844a5ff7f03df7f849a1e7cf1a68214730ac54c35c14333522ff31723")
+ version("0.5.0", sha256="b9739e8fcdf27fa9ef509743cd8f8f62f871b53b0a63b93f24ea9865c2b00a3a")
+ version("0.4.0", sha256="51dfadc2b97f34530c642abdf86dcb6392e753dd68ef011bac89382dcf8aaad4")
+ version("0.3.0", sha256="4e7851ab46fee925800405c5ae18e99b62644d624d3544277a522a06fb812dbf")
+ version("0.2.0", sha256="33aea135989684e325cb097e455ff0f9d1a9e85ff32f671e3b3ed6cc036176ac")
+ version("0.1.0", sha256="19e24e3262aa113cd4242e7b94e2de34a4b362e78553730a358f64351c6a0a01")
- variant('hip', default=False, description='Build the vecmem::hip library')
- variant('sycl', default=False, description='Build the vecmem::sycl library')
+ variant("hip", default=False, description="Build the vecmem::hip library")
+ variant("sycl", default=False, description="Build the vecmem::sycl library")
- depends_on('cmake@3.17:', type='build')
- depends_on('hip', when='+hip')
- depends_on('sycl', when='+sycl')
+ depends_on("cmake@3.17:", type="build")
+ depends_on("hip", when="+hip")
+ depends_on("sycl", when="+sycl")
def cmake_args(self):
args = [
- self.define_from_variant('VECMEM_BUILD_CUDA_LIBRARY', 'cuda'),
- self.define_from_variant('VECMEM_BUILD_HIP_LIBRARY', 'hip'),
- self.define_from_variant('VECMEM_BUILD_SYCL_LIBRARY', 'sycl'),
- self.define('VECMEM_BUILD_TESTING', self.run_tests)
+ self.define_from_variant("VECMEM_BUILD_CUDA_LIBRARY", "cuda"),
+ self.define_from_variant("VECMEM_BUILD_HIP_LIBRARY", "hip"),
+ self.define_from_variant("VECMEM_BUILD_SYCL_LIBRARY", "sycl"),
+ self.define("VECMEM_BUILD_TESTING", self.run_tests),
]
- if '+cuda' in self.spec:
- cuda_arch_list = self.spec.variants['cuda_arch'].value
+ if "+cuda" in self.spec:
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
cuda_arch = cuda_arch_list[0]
- if cuda_arch != 'none':
- args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch))
+ if cuda_arch != "none":
+ args.append("-DCUDA_FLAGS=-arch=sm_{0}".format(cuda_arch))
return args
diff --git a/var/spack/repos/builtin/packages/vectorclass-version2/package.py b/var/spack/repos/builtin/packages/vectorclass-version2/package.py
index 3166ba07aa..b3dbe3e30a 100644
--- a/var/spack/repos/builtin/packages/vectorclass-version2/package.py
+++ b/var/spack/repos/builtin/packages/vectorclass-version2/package.py
@@ -12,14 +12,14 @@ class VectorclassVersion2(Package):
with the x86 or x86/64 instruction set on Windows, Linux, and Mac platforms."""
homepage = "https://www.agner.org/optimize/#vectorclass"
- url = "https://github.com/vectorclass/version2/archive/refs/tags/v2.01.04.tar.gz"
+ url = "https://github.com/vectorclass/version2/archive/refs/tags/v2.01.04.tar.gz"
- maintainers = ['haralmha']
+ maintainers = ["haralmha"]
- version('2.01.04', sha256='7885c343b1af9eb940f4debdd7cd19544130a06ed70e0000e1a8471fb9c15118')
+ version("2.01.04", sha256="7885c343b1af9eb940f4debdd7cd19544130a06ed70e0000e1a8471fb9c15118")
def install(self, spec, prefix):
# Put all cpp files to an include folder
# (makes a filesystem view with this
# package in it less noisy)
- install_tree('.', prefix.include)
+ install_tree(".", prefix.include)
diff --git a/var/spack/repos/builtin/packages/vegas2/package.py b/var/spack/repos/builtin/packages/vegas2/package.py
index 181d6852b3..c9a76a5176 100644
--- a/var/spack/repos/builtin/packages/vegas2/package.py
+++ b/var/spack/repos/builtin/packages/vegas2/package.py
@@ -7,24 +7,28 @@ from spack.package import *
class Vegas2(Package):
- """"VEGAS2 is an extension that uses 1,000 Genomes data to model SNP
- correlations across the autosomes and chromosome X"""
+ """ "VEGAS2 is an extension that uses 1,000 Genomes data to model SNP
+ correlations across the autosomes and chromosome X"""
homepage = "https://vegas2.qimrberghofer.edu.au/"
- url = "https://vegas2.qimrberghofer.edu.au/vegas2v2"
+ url = "https://vegas2.qimrberghofer.edu.au/vegas2v2"
- version('2', sha256='dc85834219141a4e9a246391b48185a739223a5e00b1b1c4d2517822388278ba', expand=False)
+ version(
+ "2",
+ sha256="dc85834219141a4e9a246391b48185a739223a5e00b1b1c4d2517822388278ba",
+ expand=False,
+ )
- depends_on('perl', type='run')
- depends_on('r', type='run')
- depends_on('plink')
- depends_on('r-mvtnorm', type='run')
- depends_on('r-corpcor', type='run')
+ depends_on("perl", type="run")
+ depends_on("r", type="run")
+ depends_on("plink")
+ depends_on("r-mvtnorm", type="run")
+ depends_on("r-corpcor", type="run")
def url_for_version(self, version):
- url = 'https://vegas2.qimrberghofer.edu.au/vegas2v{0}'
+ url = "https://vegas2.qimrberghofer.edu.au/vegas2v{0}"
return url.format(version)
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('vegas2v{0}'.format(self.version), prefix.bin)
+ install("vegas2v{0}".format(self.version), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/veloc/package.py b/var/spack/repos/builtin/packages/veloc/package.py
index cca9ce3e63..17173434a4 100644
--- a/var/spack/repos/builtin/packages/veloc/package.py
+++ b/var/spack/repos/builtin/packages/veloc/package.py
@@ -12,46 +12,46 @@ class Veloc(CMakePackage):
checkpoint-restart runtime for HPC supercomputing infrastructures"""
homepage = "https://github.com/ECP-VeloC/VELOC"
- url = "https://github.com/ECP-VeloC/VELOC/archive/1.5.tar.gz"
- git = "https://github.com/ecp-veloc/veloc.git"
+ url = "https://github.com/ECP-VeloC/VELOC/archive/1.5.tar.gz"
+ git = "https://github.com/ecp-veloc/veloc.git"
- tags = ['e4s']
+ tags = ["e4s"]
- version('master', branch='master')
- version('1.5', sha256='892f3623c73254d40fbbb8cbc3056219a31510e37aae2ede4100c04743701a5c')
- version('1.4', sha256='d5d12aedb9e97f079c4428aaa486bfa4e31fe1db547e103c52e76c8ec906d0a8')
- version('1.3', sha256='3817ea57045443c1a9a819560911db1175dbe4153e317adaa1492437f3f13f3b')
- version('1.2', sha256='126a7e01d79458807a6545a8e5f92f8d62a23187dee70be0913b60a1393780e0')
- version('1.1', sha256='2bbdacf3e0ce4e7c9e360874d8d85b405525bdc7bd992bdb1f1ba49218072160')
- version('1.0', sha256='d594b73d6549a61fce8e67b8984a17cebc3e766fc520ed1636ae3683cdde77cb')
+ version("master", branch="master")
+ version("1.5", sha256="892f3623c73254d40fbbb8cbc3056219a31510e37aae2ede4100c04743701a5c")
+ version("1.4", sha256="d5d12aedb9e97f079c4428aaa486bfa4e31fe1db547e103c52e76c8ec906d0a8")
+ version("1.3", sha256="3817ea57045443c1a9a819560911db1175dbe4153e317adaa1492437f3f13f3b")
+ version("1.2", sha256="126a7e01d79458807a6545a8e5f92f8d62a23187dee70be0913b60a1393780e0")
+ version("1.1", sha256="2bbdacf3e0ce4e7c9e360874d8d85b405525bdc7bd992bdb1f1ba49218072160")
+ version("1.0", sha256="d594b73d6549a61fce8e67b8984a17cebc3e766fc520ed1636ae3683cdde77cb")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('libpthread-stubs')
- depends_on('mpi')
- depends_on('er')
- depends_on('axl@:0.3.0')
- depends_on('openssl') # Relies on the OpenSSL crypto library for checksums
- depends_on('pdsh', when='@master')
- depends_on('cmake@3.9:', type='build')
+ depends_on("libpthread-stubs")
+ depends_on("mpi")
+ depends_on("er")
+ depends_on("axl@:0.3.0")
+ depends_on("openssl") # Relies on the OpenSSL crypto library for checksums
+ depends_on("pdsh", when="@master")
+ depends_on("cmake@3.9:", type="build")
- conflicts('%gcc@:4.9.3')
+ conflicts("%gcc@:4.9.3")
# requires C++11
def flag_handler(self, name, flags):
flags = list(flags)
- if name == 'cxxflags':
+ if name == "cxxflags":
flags.append(self.compiler.cxx11_flag)
return (None, None, flags)
def cmake_args(self):
args = [
- "-DWITH_AXL_PREFIX=%s" % self.spec['axl'].prefix,
- "-DWITH_ER_PREFIX=%s" % self.spec['er'].prefix,
- "-DBOOST_ROOT=%s" % self.spec['boost'].prefix,
- "-DMPI_CXX_COMPILER=%s" % self.spec['mpi'].mpicxx
+ "-DWITH_AXL_PREFIX=%s" % self.spec["axl"].prefix,
+ "-DWITH_ER_PREFIX=%s" % self.spec["er"].prefix,
+ "-DBOOST_ROOT=%s" % self.spec["boost"].prefix,
+ "-DMPI_CXX_COMPILER=%s" % self.spec["mpi"].mpicxx,
]
return args
diff --git a/var/spack/repos/builtin/packages/velvet/package.py b/var/spack/repos/builtin/packages/velvet/package.py
index c9d7f1686c..93e267dd62 100644
--- a/var/spack/repos/builtin/packages/velvet/package.py
+++ b/var/spack/repos/builtin/packages/velvet/package.py
@@ -8,21 +8,21 @@ from spack.package import *
class Velvet(MakefilePackage):
"""Velvet is a de novo genomic assembler specially designed for short read
- sequencing technologies."""
+ sequencing technologies."""
homepage = "https://www.ebi.ac.uk/~zerbino/velvet/"
- url = "https://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz"
+ url = "https://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz"
- version('1.2.10', sha256='884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640')
+ version("1.2.10", sha256="884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640")
- depends_on('zlib')
+ depends_on("zlib")
def edit(self, spec, prefix):
- if spec.target.family == 'aarch64':
- makefile = FileFilter('Makefile')
- makefile.filter('-m64', '')
+ if spec.target.family == "aarch64":
+ makefile = FileFilter("Makefile")
+ makefile.filter("-m64", "")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('velvetg', prefix.bin)
- install('velveth', prefix.bin)
+ install("velvetg", prefix.bin)
+ install("velveth", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/velvetoptimiser/package.py b/var/spack/repos/builtin/packages/velvetoptimiser/package.py
index d3db3765d1..c07a112682 100644
--- a/var/spack/repos/builtin/packages/velvetoptimiser/package.py
+++ b/var/spack/repos/builtin/packages/velvetoptimiser/package.py
@@ -10,13 +10,13 @@ class Velvetoptimiser(Package):
"""Automatically optimise three of Velvet's assembly parameters."""
homepage = "https://github.com/tseemann/VelvetOptimiser"
- url = "https://github.com/tseemann/VelvetOptimiser/archive/2.2.6.tar.gz"
+ url = "https://github.com/tseemann/VelvetOptimiser/archive/2.2.6.tar.gz"
- version('2.2.6', sha256='b407db61b58ed983760b80a3a40c8f8a355851ecfab3e61a551bed29bf5b40b3')
+ version("2.2.6", sha256="b407db61b58ed983760b80a3a40c8f8a355851ecfab3e61a551bed29bf5b40b3")
- depends_on('velvet@1.1:', type='run')
- depends_on('perl@5.8.8:', type='run')
- depends_on('perl-bioperl@1.4:', type='run')
+ depends_on("velvet@1.1:", type="run")
+ depends_on("perl@5.8.8:", type="run")
+ depends_on("perl-bioperl@1.4:", type="run")
def install(self, spec, prefix):
- install_tree('.', prefix.bin)
+ install_tree(".", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/verilator/package.py b/var/spack/repos/builtin/packages/verilator/package.py
index e810e93ba4..67b6d0d8d3 100644
--- a/var/spack/repos/builtin/packages/verilator/package.py
+++ b/var/spack/repos/builtin/packages/verilator/package.py
@@ -33,32 +33,38 @@ class Verilator(AutotoolsPackage):
designs with thousands of modules."""
homepage = "https://www.veripool.org/projects/verilator"
- url = "https://www.veripool.org/ftp/verilator-3.920.tgz"
+ url = "https://www.veripool.org/ftp/verilator-3.920.tgz"
- version('4.108', sha256='8e8ec1de0bf200b6206035214f9071a5acc64bd2e7134361d564271e48552702')
- version('4.020', sha256='abd79fc2a54cab9da33dfccd669bda3baa71e79060abec17517f0b7374dbc31a')
- version('3.920', sha256='2b5c38aa432d0766a38475219f9548d64d18104ce8bdcb5d29e42f5da06943ff')
- version('3.904', sha256='ea95e08b2d70682ad42e6c2f5ba99f59b2e7b220791214076099cdf6b7a8c1cb')
+ version("4.108", sha256="8e8ec1de0bf200b6206035214f9071a5acc64bd2e7134361d564271e48552702")
+ version("4.020", sha256="abd79fc2a54cab9da33dfccd669bda3baa71e79060abec17517f0b7374dbc31a")
+ version("3.920", sha256="2b5c38aa432d0766a38475219f9548d64d18104ce8bdcb5d29e42f5da06943ff")
+ version("3.904", sha256="ea95e08b2d70682ad42e6c2f5ba99f59b2e7b220791214076099cdf6b7a8c1cb")
- depends_on('bison', type='build')
- depends_on('flex')
- depends_on('perl', type=('build', 'run'))
+ depends_on("bison", type="build")
+ depends_on("flex")
+ depends_on("perl", type=("build", "run"))
def setup_run_environment(self, env):
- env.prepend_path('VERILATOR_ROOT', self.prefix)
+ env.prepend_path("VERILATOR_ROOT", self.prefix)
# verilator requires access to its shipped scripts (bin) and include
# but the standard make doesn't put it in the correct places
- @run_before('install')
+ @run_before("install")
def install_include(self):
- install_tree('include', prefix.include)
- install_tree('bin', prefix.bin)
+ install_tree("include", prefix.include)
+ install_tree("bin", prefix.bin)
# we need to fix the CXX and LINK paths, as they point to the spack
# wrapper scripts which aren't usable without spack
- @run_after('install')
+ @run_after("install")
def patch_cxx(self):
- filter_file(r'^CXX\s*=.*', 'CXX = {0}'.format(self.compiler.cxx),
- join_path(self.prefix.include, 'verilated.mk'))
- filter_file(r'^LINK\s*=.*', 'LINK = {0}'.format(self.compiler.cxx),
- join_path(self.prefix.include, 'verilated.mk'))
+ filter_file(
+ r"^CXX\s*=.*",
+ "CXX = {0}".format(self.compiler.cxx),
+ join_path(self.prefix.include, "verilated.mk"),
+ )
+ filter_file(
+ r"^LINK\s*=.*",
+ "LINK = {0}".format(self.compiler.cxx),
+ join_path(self.prefix.include, "verilated.mk"),
+ )
diff --git a/var/spack/repos/builtin/packages/verrou/package.py b/var/spack/repos/builtin/packages/verrou/package.py
index 633cbf4495..2b3af58510 100644
--- a/var/spack/repos/builtin/packages/verrou/package.py
+++ b/var/spack/repos/builtin/packages/verrou/package.py
@@ -22,78 +22,81 @@ class Verrou(AutotoolsPackage):
"""
homepage = "https://github.com/edf-hpc/verrou"
- url = "https://github.com/edf-hpc/verrou/archive/v2.0.0.tar.gz"
- git = "https://github.com/edf-hpc/verrou.git"
+ url = "https://github.com/edf-hpc/verrou/archive/v2.0.0.tar.gz"
+ git = "https://github.com/edf-hpc/verrou.git"
- maintainers = ['HadrienG2']
+ maintainers = ["HadrienG2"]
- version('develop', branch='master')
- version('2.2.0', sha256='d4ea3d19f0c61329723907b5b145d85776bb702643c1605a31f584484d2c5efc')
- version('2.1.0', sha256='b1ba49f84aebab15b8ab5649946c9c31b53ad1499f6ffb681c98db41ed28566d')
- version('2.0.0', sha256='798df6e426ec57646a2a626d756b72f0171647ae5b07c982952dae2d71e26045')
- version('1.1.0', sha256='b5105f61c65680f31551199cd143b2e15f412c34c821537998a7165e315dde2d')
+ version("develop", branch="master")
+ version("2.2.0", sha256="d4ea3d19f0c61329723907b5b145d85776bb702643c1605a31f584484d2c5efc")
+ version("2.1.0", sha256="b1ba49f84aebab15b8ab5649946c9c31b53ad1499f6ffb681c98db41ed28566d")
+ version("2.0.0", sha256="798df6e426ec57646a2a626d756b72f0171647ae5b07c982952dae2d71e26045")
+ version("1.1.0", sha256="b5105f61c65680f31551199cd143b2e15f412c34c821537998a7165e315dde2d")
# The server is sometimes a bit slow to respond
- timeout = {'timeout': 60}
-
- resource(name='valgrind-3.15.0',
- url='https://sourceware.org/pub/valgrind/valgrind-3.15.0.tar.bz2',
- sha256='417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1',
- when='@2.2.0:',
- fetch_options=timeout)
- resource(name='valgrind-3.14.0',
- url='https://sourceware.org/pub/valgrind/valgrind-3.14.0.tar.bz2',
- sha256='037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5',
- when='@2.1.0:2.1',
- fetch_options=timeout)
- resource(name='valgrind-3.13.0',
- url='https://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2',
- sha256='d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b',
- when='@1.1.0:2.0',
- fetch_options=timeout)
-
- variant('fma', default=True,
- description='Activates fused multiply-add support for Verrou')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
-
- depends_on('python@:2', when='@1.1.0:2.0', type=('build', 'run'))
- depends_on('python@3.0:', when='@2.1.0:', type=('build', 'run'))
- extends('python')
+ timeout = {"timeout": 60}
+
+ resource(
+ name="valgrind-3.15.0",
+ url="https://sourceware.org/pub/valgrind/valgrind-3.15.0.tar.bz2",
+ sha256="417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1",
+ when="@2.2.0:",
+ fetch_options=timeout,
+ )
+ resource(
+ name="valgrind-3.14.0",
+ url="https://sourceware.org/pub/valgrind/valgrind-3.14.0.tar.bz2",
+ sha256="037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5",
+ when="@2.1.0:2.1",
+ fetch_options=timeout,
+ )
+ resource(
+ name="valgrind-3.13.0",
+ url="https://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2",
+ sha256="d76680ef03f00cd5e970bbdcd4e57fb1f6df7d2e2c071635ef2be74790190c3b",
+ when="@1.1.0:2.0",
+ fetch_options=timeout,
+ )
+
+ variant("fma", default=True, description="Activates fused multiply-add support for Verrou")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ depends_on("python@:2", when="@1.1.0:2.0", type=("build", "run"))
+ depends_on("python@3.0:", when="@2.1.0:", type=("build", "run"))
+ extends("python")
def patch(self):
# We start with the verrou source tree and a "valgrind-x.y.z" subdir.
# But we actually need a valgrind source tree with a "verrou" subdir.
# First, let's locate the valgrind sources...
- valgrind_dirs = glob.glob('valgrind-*')
+ valgrind_dirs = glob.glob("valgrind-*")
assert len(valgrind_dirs) == 1
valgrind_dir = valgrind_dirs[0]
# ...then we can flip the directory organization around
- verrou_files = os.listdir('.')
+ verrou_files = os.listdir(".")
verrou_files.remove(valgrind_dir)
- os.mkdir('verrou')
+ os.mkdir("verrou")
for name in verrou_files:
- os.rename(name, os.path.join('verrou', name))
+ os.rename(name, os.path.join("verrou", name))
for name in os.listdir(valgrind_dir):
os.rename(os.path.join(valgrind_dir, name), name)
os.rmdir(valgrind_dir)
# Once this is done, we can patch valgrind
- if self.spec.satisfies('@:2.0'):
- which('patch')('-p0', '--input=verrou/valgrind.diff')
+ if self.spec.satisfies("@:2.0"):
+ which("patch")("-p0", "--input=verrou/valgrind.diff")
else:
- which('patch')('-p1', '--input=verrou/valgrind.diff')
+ which("patch")("-p1", "--input=verrou/valgrind.diff")
# Autogenerated perl path may be too long, need to fix this here
# because these files are used during the build.
- for link_tool_in in glob.glob('coregrind/link_tool_exe_*.in'):
- filter_file('^#! @PERL@',
- '#! /usr/bin/env perl',
- link_tool_in)
+ for link_tool_in in glob.glob("coregrind/link_tool_exe_*.in"):
+ filter_file("^#! @PERL@", "#! /usr/bin/env perl", link_tool_in)
def autoreconf(self, spec, prefix):
# Needed because we patched valgrind
@@ -102,11 +105,11 @@ class Verrou(AutotoolsPackage):
def configure_args(self):
spec = self.spec
options = [
- '--enable-only64bit',
- '--{0}able-verrou-fma'.format('en' if '+fma' in spec else 'dis')
+ "--enable-only64bit",
+ "--{0}able-verrou-fma".format("en" if "+fma" in spec else "dis"),
]
- if sys.platform == 'darwin':
- options.append('--build=amd64-darwin')
+ if sys.platform == "darwin":
+ options.append("--build=amd64-darwin")
return options
diff --git a/var/spack/repos/builtin/packages/vesta/package.py b/var/spack/repos/builtin/packages/vesta/package.py
index 11a4e9fd1b..99a3eab1d6 100644
--- a/var/spack/repos/builtin/packages/vesta/package.py
+++ b/var/spack/repos/builtin/packages/vesta/package.py
@@ -8,22 +8,22 @@ from spack.package import *
class Vesta(Package):
"""VESTA is a 3D visualization program for structural models, volumetric data
- such as electron/nuclear densities, and crystal morphologies."""
+ such as electron/nuclear densities, and crystal morphologies."""
homepage = "https://jp-minerals.org/vesta"
- url = "https://jp-minerals.org/vesta/archives/3.4.6/VESTA-x86_64.tar.bz2"
+ url = "https://jp-minerals.org/vesta/archives/3.4.6/VESTA-x86_64.tar.bz2"
- version('3.4.6', sha256='fb00ac9a7bf46a3d9a1d745859c5e8757ba30f017a46470eb2c123b9afcf66ee')
+ version("3.4.6", sha256="fb00ac9a7bf46a3d9a1d745859c5e8757ba30f017a46470eb2c123b9afcf66ee")
- depends_on('gtkplus@2.1.0:')
- depends_on('mesa')
- depends_on('cairo@1.0:')
+ depends_on("gtkplus@2.1.0:")
+ depends_on("mesa")
+ depends_on("cairo@1.0:")
- conflicts('%gcc@:5.3')
+ conflicts("%gcc@:5.3")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix)
- env.prepend_path('LD_LIBRARY_PATH', self.prefix)
+ env.prepend_path("PATH", self.prefix)
+ env.prepend_path("LD_LIBRARY_PATH", self.prefix)
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/vgm/package.py b/var/spack/repos/builtin/packages/vgm/package.py
index 3ea4487983..203981e8ab 100644
--- a/var/spack/repos/builtin/packages/vgm/package.py
+++ b/var/spack/repos/builtin/packages/vgm/package.py
@@ -11,41 +11,37 @@ class Vgm(CMakePackage):
providing conversion between Geant4 and ROOT TGeo geometry models."""
homepage = "https://github.com/vmc-project/vgm"
- url = "https://github.com/vmc-project/vgm/archive/v4-8.tar.gz"
- git = "https://github.com/vmc-project/vgm.git"
-
- tags = ['hep']
-
- maintainer = ['wdconinc']
-
- version('master', branch='master')
- version('4-8', sha256='4fcd607b4f100fc00a65fec7a5803575daf9d4919d1808bbd6a30be263c001dd')
- version('4-7', sha256='a5f5588db457dc3e6562d1f7da1707960304560fbb0a261559fa3f112a476aea')
- version('4-6', sha256='6bf0aeef38f357a313e376090b45d3e0713ef9e52ca198075fae8579b8d5a23a')
- version('4-5', sha256='dc61c6214fdf592dfaa3766eed83cf2bbeabb1755f5146a6d3bcfe55ddbe428f')
- version('4-4', sha256='a915ff3500daa99b74ce9039fbd8abcbd08051e838a1b337e1d794b73537b33b')
- version('4-3', sha256='5cc892a263be2e179a5c2d712c50d7698af7d05d01dfed59c1e36840965f0c4e')
- version('4-2', sha256='25e183f2744fcd4c9995f52865c3f2bf415c7ce0504cfa44093a5f1846a4624f')
- version('4-01', sha256='43020f6497f18086c50e263555c2a21c6cfbba3044b1330c6f400357f040bbb1')
- version('4-00', sha256='c24de76f919dca7c92b3c9fce7a39142c6e61fd39f691d2e4df15fe413b5190d')
- version('3-06', sha256='41948869f2e4dcfa31f4bad42b938c25dd174660c427feb2f9effa9af5e59c7d')
-
- depends_on('cmake@3.8:', type='build')
- depends_on('clhep')
- depends_on('root')
- depends_on('geant4')
+ url = "https://github.com/vmc-project/vgm/archive/v4-8.tar.gz"
+ git = "https://github.com/vmc-project/vgm.git"
+
+ tags = ["hep"]
+
+ maintainer = ["wdconinc"]
+
+ version("master", branch="master")
+ version("4-8", sha256="4fcd607b4f100fc00a65fec7a5803575daf9d4919d1808bbd6a30be263c001dd")
+ version("4-7", sha256="a5f5588db457dc3e6562d1f7da1707960304560fbb0a261559fa3f112a476aea")
+ version("4-6", sha256="6bf0aeef38f357a313e376090b45d3e0713ef9e52ca198075fae8579b8d5a23a")
+ version("4-5", sha256="dc61c6214fdf592dfaa3766eed83cf2bbeabb1755f5146a6d3bcfe55ddbe428f")
+ version("4-4", sha256="a915ff3500daa99b74ce9039fbd8abcbd08051e838a1b337e1d794b73537b33b")
+ version("4-3", sha256="5cc892a263be2e179a5c2d712c50d7698af7d05d01dfed59c1e36840965f0c4e")
+ version("4-2", sha256="25e183f2744fcd4c9995f52865c3f2bf415c7ce0504cfa44093a5f1846a4624f")
+ version("4-01", sha256="43020f6497f18086c50e263555c2a21c6cfbba3044b1330c6f400357f040bbb1")
+ version("4-00", sha256="c24de76f919dca7c92b3c9fce7a39142c6e61fd39f691d2e4df15fe413b5190d")
+ version("3-06", sha256="41948869f2e4dcfa31f4bad42b938c25dd174660c427feb2f9effa9af5e59c7d")
+
+ depends_on("cmake@3.8:", type="build")
+ depends_on("clhep")
+ depends_on("root")
+ depends_on("geant4")
def cmake_args(self):
args = []
- args.append('-DROOT_DIR={0}'.format(
- self.spec['root'].prefix))
- args.append('-DGeant4_DIR={0}'.format(
- self.spec['geant4'].prefix))
- args.append('-DCLHEP_LIB_DIR={0}'.format(
- self.spec['clhep'].prefix.lib))
- args.append('-DCLHEP_INC_DIR={0}'.format(
- self.spec['clhep'].prefix.include))
- args.append('-DWITH_TEST=OFF')
+ args.append("-DROOT_DIR={0}".format(self.spec["root"].prefix))
+ args.append("-DGeant4_DIR={0}".format(self.spec["geant4"].prefix))
+ args.append("-DCLHEP_LIB_DIR={0}".format(self.spec["clhep"].prefix.lib))
+ args.append("-DCLHEP_INC_DIR={0}".format(self.spec["clhep"].prefix.include))
+ args.append("-DWITH_TEST=OFF")
return args
diff --git a/var/spack/repos/builtin/packages/videoproto/package.py b/var/spack/repos/builtin/packages/videoproto/package.py
index 1324d30111..073a55949f 100644
--- a/var/spack/repos/builtin/packages/videoproto/package.py
+++ b/var/spack/repos/builtin/packages/videoproto/package.py
@@ -15,7 +15,7 @@ class Videoproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/videoproto"
xorg_mirror_path = "proto/videoproto-2.3.3.tar.gz"
- version('2.3.3', sha256='df8dfeb158767f843054248d020e291a2c40f7f5e0ac6d8706966686fee7c5c0')
+ version("2.3.3", sha256="df8dfeb158767f843054248d020e291a2c40f7f5e0ac6d8706966686fee7c5c0")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/viennarna/package.py b/var/spack/repos/builtin/packages/viennarna/package.py
index 48e8759466..ac527e076e 100644
--- a/var/spack/repos/builtin/packages/viennarna/package.py
+++ b/var/spack/repos/builtin/packages/viennarna/package.py
@@ -13,34 +13,36 @@ class Viennarna(AutotoolsPackage):
"""
homepage = "https://www.tbi.univie.ac.at/RNA/"
- url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.3.tar.gz"
+ url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.3.tar.gz"
- version('2.5.0', sha256='b85544650ee316743173ec9b30497cc4c559f1bfb8f66d16c563f780afd8c0c5')
- version('2.4.3', sha256='4cda6e22029b34bb9f5375181562f69e4a780a89ead50fe952891835e9933ac0')
- version('2.3.5', sha256='26b62a00da21bc5597b580ab8fef4e624234ec446d7d3cb0ce22803a5d7074ca')
+ version("2.5.0", sha256="b85544650ee316743173ec9b30497cc4c559f1bfb8f66d16c563f780afd8c0c5")
+ version("2.4.3", sha256="4cda6e22029b34bb9f5375181562f69e4a780a89ead50fe952891835e9933ac0")
+ version("2.3.5", sha256="26b62a00da21bc5597b580ab8fef4e624234ec446d7d3cb0ce22803a5d7074ca")
- variant('sse', default=True, description='Enable SSE in order to substantially speed up execution')
- variant('perl', default=True, description='Build ViennaRNA with Perl interface')
- variant('python', default=True, description='Build ViennaRNA with Python interface')
+ variant(
+ "sse", default=True, description="Enable SSE in order to substantially speed up execution"
+ )
+ variant("perl", default=True, description="Build ViennaRNA with Perl interface")
+ variant("python", default=True, description="Build ViennaRNA with Python interface")
- depends_on('perl', type=('build', 'run'))
- depends_on('python', type=('build', 'run'))
- depends_on('libsvm')
- depends_on('gsl')
+ depends_on("perl", type=("build", "run"))
+ depends_on("python", type=("build", "run"))
+ depends_on("libsvm")
+ depends_on("gsl")
def url_for_version(self, version):
- url = 'https://www.tbi.univie.ac.at/RNA/download/sourcecode/{0}_x/ViennaRNA-{1}.tar.gz'
+ url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/{0}_x/ViennaRNA-{1}.tar.gz"
return url.format(version.up_to(2).underscored, version)
def configure_args(self):
- args = self.enable_or_disable('sse')
- args += self.with_or_without('python')
- args += self.with_or_without('perl')
- if self.spec.satisfies('@2.4.3'):
- args.append('--without-swig')
+ args = self.enable_or_disable("sse")
+ args += self.with_or_without("python")
+ args += self.with_or_without("perl")
+ if self.spec.satisfies("@2.4.3"):
+ args.append("--without-swig")
- if 'python@3:' in self.spec:
- args.append('--with-python3')
+ if "python@3:" in self.spec:
+ args.append("--with-python3")
return args
diff --git a/var/spack/repos/builtin/packages/viewres/package.py b/var/spack/repos/builtin/packages/viewres/package.py
index 5b12d27c63..42cb9ee583 100644
--- a/var/spack/repos/builtin/packages/viewres/package.py
+++ b/var/spack/repos/builtin/packages/viewres/package.py
@@ -13,11 +13,11 @@ class Viewres(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/viewres"
xorg_mirror_path = "app/viewres-1.0.4.tar.gz"
- version('1.0.4', sha256='fd2aaec85c952fd6984fe14d0fcbda4d2ab9849a9183e4787b0ef552a10a87a1')
+ version("1.0.4", sha256="fd2aaec85c952fd6984fe14d0fcbda4d2ab9849a9183e4787b0ef552a10a87a1")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/vifi/package.py b/var/spack/repos/builtin/packages/vifi/package.py
index fcc070129b..f0006d757b 100644
--- a/var/spack/repos/builtin/packages/vifi/package.py
+++ b/var/spack/repos/builtin/packages/vifi/package.py
@@ -11,19 +11,19 @@ class Vifi(Package):
for identifying viral integration and fusion mRNA reads from NGS data."""
homepage = "https://github.com/namphuon/ViFi"
- git = "https://github.com/namphuon/ViFi.git"
+ git = "https://github.com/namphuon/ViFi.git"
- version('master', tag='master')
+ version("master", tag="master")
- depends_on('perl', type='run')
- depends_on('python', type='run')
- depends_on('py-pysam', type='run')
- depends_on('hmmer', type='run')
+ depends_on("perl", type="run")
+ depends_on("python", type="run")
+ depends_on("py-pysam", type="run")
+ depends_on("hmmer", type="run")
def install(self, spec, prefix):
- install_tree('scripts', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('test', prefix.test)
- install('LICENSE', prefix)
- install('README.md', prefix)
- install('TUTORIAL.md', prefix)
+ install_tree("scripts", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("test", prefix.test)
+ install("LICENSE", prefix)
+ install("README.md", prefix)
+ install("TUTORIAL.md", prefix)
diff --git a/var/spack/repos/builtin/packages/vigra/package.py b/var/spack/repos/builtin/packages/vigra/package.py
index dfe7a2bdcc..039af783eb 100644
--- a/var/spack/repos/builtin/packages/vigra/package.py
+++ b/var/spack/repos/builtin/packages/vigra/package.py
@@ -9,91 +9,101 @@ from spack.pkg.builtin.boost import Boost
class Vigra(CMakePackage):
"""VIGRA stands for "Vision with Generic Algorithms". It's an image
- processing and analysis library that puts its main emphasis on
- customizable algorithms and data structures"""
+ processing and analysis library that puts its main emphasis on
+ customizable algorithms and data structures"""
homepage = "https://ukoethe.github.io/vigra/"
git = "https://github.com/ukoethe/vigra.git"
- url = "https://github.com/ukoethe/vigra/releases/download/Version-1-11-1/vigra-1.11.1-src.tar.gz"
+ url = (
+ "https://github.com/ukoethe/vigra/releases/download/Version-1-11-1/vigra-1.11.1-src.tar.gz"
+ )
- version('master', branch='master')
- version('1.11.1', sha256='a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf')
+ version("master", branch="master")
+ version("1.11.1", sha256="a5564e1083f6af6a885431c1ee718bad77d11f117198b277557f8558fa461aaf")
- variant('png', default=False, description='Include support for PNG images')
- variant('jpeg', default=False, description='Include support for JPEG images')
- variant('tiff', default=False, description='Include support for TIFF images')
- variant('exr', default=False, description='Include support for EXR images')
- variant('hdf5', default=False, description='Include support for HDF5 files')
- variant('fftw', default=False, description='Include support for Fourier Transforms')
- variant('python', default=False, description='Generate Python bindings and doc')
- variant('cxxdoc', default=False, description='Generate C++ documentation')
+ variant("png", default=False, description="Include support for PNG images")
+ variant("jpeg", default=False, description="Include support for JPEG images")
+ variant("tiff", default=False, description="Include support for TIFF images")
+ variant("exr", default=False, description="Include support for EXR images")
+ variant("hdf5", default=False, description="Include support for HDF5 files")
+ variant("fftw", default=False, description="Include support for Fourier Transforms")
+ variant("python", default=False, description="Generate Python bindings and doc")
+ variant("cxxdoc", default=False, description="Generate C++ documentation")
- depends_on('libtiff', when='+tiff')
- depends_on('libpng', when='+png')
- depends_on('jpeg', when='+jpeg')
- depends_on('hdf5', when='+hdf5')
- depends_on('fftw', when='+fftw')
- depends_on('openexr', when='+exr')
- depends_on('py-numpy', type=('build', 'run'), when='+python')
- depends_on('boost+python+numpy', when='+python')
+ depends_on("libtiff", when="+tiff")
+ depends_on("libpng", when="+png")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("fftw", when="+fftw")
+ depends_on("openexr", when="+exr")
+ depends_on("py-numpy", type=("build", "run"), when="+python")
+ depends_on("boost+python+numpy", when="+python")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+python')
- depends_on('py-sphinx', type='build', when='+python')
- depends_on('doxygen', type='build', when='+cxxdoc')
- depends_on('python', type='build', when='+cxxdoc')
- depends_on('py-nose', type=('build', 'test'), when='+python')
+ depends_on(Boost.with_default_variants, when="+python")
+ depends_on("py-sphinx", type="build", when="+python")
+ depends_on("doxygen", type="build", when="+cxxdoc")
+ depends_on("python", type="build", when="+cxxdoc")
+ depends_on("py-nose", type=("build", "test"), when="+python")
- extends('python', when='+python')
+ extends("python", when="+python")
def cmake_args(self):
args = []
spec = self.spec
- if '+tiff' in spec:
- args.extend([
- '-DTIFF_LIBRARY={0}'.format(spec['libtiff'].libs),
- '-DTIFF_INCLUDE_DIR={0}'.format(
- spec['libtiff'].prefix.include),
- ])
- if '+hdf5' in spec:
- args.extend([
- '-DWITH_HDF5=ON',
- '-DHDF5_CORE_LIBRARY={0}'.format(
- spec['hdf5'].libs.libraries[0]),
- '-DHDF5_INCLUDE_DIR={0}'.format(spec['hdf5'].prefix.include),
- '-DHDF5_Z_LIBRARY={0}'.format(spec['zlib'].libs.libraries[0])
- ])
+ if "+tiff" in spec:
+ args.extend(
+ [
+ "-DTIFF_LIBRARY={0}".format(spec["libtiff"].libs),
+ "-DTIFF_INCLUDE_DIR={0}".format(spec["libtiff"].prefix.include),
+ ]
+ )
+ if "+hdf5" in spec:
+ args.extend(
+ [
+ "-DWITH_HDF5=ON",
+ "-DHDF5_CORE_LIBRARY={0}".format(spec["hdf5"].libs.libraries[0]),
+ "-DHDF5_INCLUDE_DIR={0}".format(spec["hdf5"].prefix.include),
+ "-DHDF5_Z_LIBRARY={0}".format(spec["zlib"].libs.libraries[0]),
+ ]
+ )
else:
- args.append('-DWITH_HDF5=OFF')
- if '+python' in spec:
- py_vers_str = spec['python'].version.up_to(2)
+ args.append("-DWITH_HDF5=OFF")
+ if "+python" in spec:
+ py_vers_str = spec["python"].version.up_to(2)
py_vers_str_nodot = py_vers_str.joined
- boost_python_lib = '{0}/libboost_python{1}.so'.format(
- spec['boost'].prefix.lib, py_vers_str_nodot)
- args.extend([
- '-DBoost_DIR={0}'.format(spec['boost'].prefix),
- '-DBoost_INCLUDE_DIR={0}'.format(spec['boost'].prefix.include),
- '-DBoost_PYTHON_LIBRARY={0}'.format(boost_python_lib),
- '-DVIGRANUMPY_INSTALL_DIR={0}'.format(python_platlib)
- ])
- if '+fftw' in spec:
- args.extend([
- '-DFFTW3_LIBRARY={0}'.format(spec['fftw'].libs),
- '-DFFTW3_INCLUDE_DIR={0}'.format(spec['fftw'].prefix.include)
- ])
- if '+png' in spec:
- args.extend([
- '-DPNG_LIBRARY_RELEASE={0}'.format(spec['libpng'].libs),
- '-DPNG_INCLUDE_DIR={0}'.format(spec['libpng'].prefix.include)
- ])
- if '+exr' in spec:
- args.append('-DWITH_OPENEXR=ON')
+ boost_python_lib = "{0}/libboost_python{1}.so".format(
+ spec["boost"].prefix.lib, py_vers_str_nodot
+ )
+ args.extend(
+ [
+ "-DBoost_DIR={0}".format(spec["boost"].prefix),
+ "-DBoost_INCLUDE_DIR={0}".format(spec["boost"].prefix.include),
+ "-DBoost_PYTHON_LIBRARY={0}".format(boost_python_lib),
+ "-DVIGRANUMPY_INSTALL_DIR={0}".format(python_platlib),
+ ]
+ )
+ if "+fftw" in spec:
+ args.extend(
+ [
+ "-DFFTW3_LIBRARY={0}".format(spec["fftw"].libs),
+ "-DFFTW3_INCLUDE_DIR={0}".format(spec["fftw"].prefix.include),
+ ]
+ )
+ if "+png" in spec:
+ args.extend(
+ [
+ "-DPNG_LIBRARY_RELEASE={0}".format(spec["libpng"].libs),
+ "-DPNG_INCLUDE_DIR={0}".format(spec["libpng"].prefix.include),
+ ]
+ )
+ if "+exr" in spec:
+ args.append("-DWITH_OPENEXR=ON")
else:
- args.append('-DWITH_OPENEXR=OFF')
- if '+cxxdoc' in spec:
- args.append('-DDOXYGEN_EXECUTABLE={0}'.format(
- spec['doxygen'].command))
+ args.append("-DWITH_OPENEXR=OFF")
+ if "+cxxdoc" in spec:
+ args.append("-DDOXYGEN_EXECUTABLE={0}".format(spec["doxygen"].command))
return args
diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py
index 0264cd1f4f..3bdd045e5a 100644
--- a/var/spack/repos/builtin/packages/vim/package.py
+++ b/var/spack/repos/builtin/packages/vim/package.py
@@ -16,74 +16,76 @@ class Vim(AutotoolsPackage):
"""
homepage = "https://www.vim.org"
- url = "https://github.com/vim/vim/archive/v8.1.0338.tar.gz"
- maintainers = ['sethrj']
-
- version('9.0.0045', sha256='594a31e96e3eda07a358db305de939ca749693b4684de9e027bfa70311b1994d')
- version('9.0.0000', sha256='1b3cd3732eb7039cf58a9321de26ab1a12d81c2f6760eb03c5d7b60d548f4587', deprecated=True)
- version('8.2.2541', sha256='2699dfe87b524169e7390f0b383c406cb77a9fde7431665d3b9b80964d8d5daf')
- version('8.2.1201', sha256='39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d')
- version('8.2.0752', sha256='d616945810dac5a1fab2f23b003d22bdecd34861b31f208d5d0012a609821c0f')
- version('8.1.2141', sha256='7be3c3d88a6c871121230ffb9b7371b1d2ab462118dedb967c7265473af1144b')
- version('8.1.0338', sha256='3febcc4e49eaca458be1a1e8055a3a52887aa2054b03e24d5f38d192c3de51a0')
- version('8.1.0001', sha256='c342acaa26589f371fa34a5ca213b95811f26185c12443f8f48ad2868dee2935')
- version('8.0.1376', sha256='1ad8b5a0b9b63df5abc3f8050e31e1cb49379ffcfd2662a56daeff8bd3d780b9')
- version('8.0.0503', sha256='f2a316a7ae83eccfecf4a700e631094fce9df873358e3d5f112134faa74082ac')
- version('8.0.0454', sha256='e1f683c4a0e3fa56fa02769bbca576e4960850b0ca8640514a7b114b88c27b89')
- version('8.0.0134', sha256='1b3e3e7d187eed55cbdb0a1dae6b8f3b885005fbae84222420877d7afa3b2310')
- version('7.4.2367', sha256='a9ae4031ccd73cc60e771e8bf9b3c8b7f10f63a67efce7f61cd694cd8d7cda5c')
-
- _features = ('huge', 'big', 'normal', 'small', 'tiny')
-
- variant('cscope', default=False, description="build with cscope support")
- variant('features', default='normal', description="feature set",
- values=_features, multi=False)
- variant('gui', default=False, description="build with gui (gvim)")
- variant('lua', default=False, description="build with Lua")
- variant('perl', default=False, description="build with Perl")
- variant('python', default=False, description="build with Python")
- variant('ruby', default=False, description="build with Ruby")
- variant('x', default=False, description="use the X Window System")
- variant('gtk', default=False, when='+gui', description="use the GTKv3 gui.")
+ url = "https://github.com/vim/vim/archive/v8.1.0338.tar.gz"
+ maintainers = ["sethrj"]
+
+ version("9.0.0045", sha256="594a31e96e3eda07a358db305de939ca749693b4684de9e027bfa70311b1994d")
+ version(
+ "9.0.0000",
+ sha256="1b3cd3732eb7039cf58a9321de26ab1a12d81c2f6760eb03c5d7b60d548f4587",
+ deprecated=True,
+ )
+ version("8.2.2541", sha256="2699dfe87b524169e7390f0b383c406cb77a9fde7431665d3b9b80964d8d5daf")
+ version("8.2.1201", sha256="39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d")
+ version("8.2.0752", sha256="d616945810dac5a1fab2f23b003d22bdecd34861b31f208d5d0012a609821c0f")
+ version("8.1.2141", sha256="7be3c3d88a6c871121230ffb9b7371b1d2ab462118dedb967c7265473af1144b")
+ version("8.1.0338", sha256="3febcc4e49eaca458be1a1e8055a3a52887aa2054b03e24d5f38d192c3de51a0")
+ version("8.1.0001", sha256="c342acaa26589f371fa34a5ca213b95811f26185c12443f8f48ad2868dee2935")
+ version("8.0.1376", sha256="1ad8b5a0b9b63df5abc3f8050e31e1cb49379ffcfd2662a56daeff8bd3d780b9")
+ version("8.0.0503", sha256="f2a316a7ae83eccfecf4a700e631094fce9df873358e3d5f112134faa74082ac")
+ version("8.0.0454", sha256="e1f683c4a0e3fa56fa02769bbca576e4960850b0ca8640514a7b114b88c27b89")
+ version("8.0.0134", sha256="1b3e3e7d187eed55cbdb0a1dae6b8f3b885005fbae84222420877d7afa3b2310")
+ version("7.4.2367", sha256="a9ae4031ccd73cc60e771e8bf9b3c8b7f10f63a67efce7f61cd694cd8d7cda5c")
+
+ _features = ("huge", "big", "normal", "small", "tiny")
+
+ variant("cscope", default=False, description="build with cscope support")
+ variant("features", default="normal", description="feature set", values=_features, multi=False)
+ variant("gui", default=False, description="build with gui (gvim)")
+ variant("lua", default=False, description="build with Lua")
+ variant("perl", default=False, description="build with Perl")
+ variant("python", default=False, description="build with Python")
+ variant("ruby", default=False, description="build with Ruby")
+ variant("x", default=False, description="use the X Window System")
+ variant("gtk", default=False, when="+gui", description="use the GTKv3 gui.")
for _f in _features[1:]:
- conflicts('+gui', when='features=' + _f,
- msg='+gui requires features=huge')
-
- depends_on('findutils', type='build')
- depends_on('ncurses', when='@7.4:')
-
- depends_on('cscope', when='+cscope', type='run')
- depends_on('lua', when='+lua')
- depends_on('perl', when='+perl')
- depends_on('python', when='+python')
- depends_on('ruby', when='+ruby')
- depends_on('fontconfig', when="+gui")
- depends_on('libx11', when="+x")
- depends_on('libsm', when="+x")
- depends_on('libxpm', when="+x")
- depends_on('libxt', when="+x")
- depends_on('libxtst', when="+x")
- depends_on('gtkplus@3:', when="+gtk")
-
- provides('xxd')
+ conflicts("+gui", when="features=" + _f, msg="+gui requires features=huge")
+
+ depends_on("findutils", type="build")
+ depends_on("ncurses", when="@7.4:")
+
+ depends_on("cscope", when="+cscope", type="run")
+ depends_on("lua", when="+lua")
+ depends_on("perl", when="+perl")
+ depends_on("python", when="+python")
+ depends_on("ruby", when="+ruby")
+ depends_on("fontconfig", when="+gui")
+ depends_on("libx11", when="+x")
+ depends_on("libsm", when="+x")
+ depends_on("libxpm", when="+x")
+ depends_on("libxt", when="+x")
+ depends_on("libxtst", when="+x")
+ depends_on("gtkplus@3:", when="+gtk")
+
+ provides("xxd")
def configure_args(self):
spec = self.spec
args = ["--enable-fail-if-missing"]
def yes_or_no(variant):
- return 'yes' if spec.variants[variant].value else 'no'
+ return "yes" if spec.variants[variant].value else "no"
- if '+termlib' in spec['ncurses']:
+ if "+termlib" in spec["ncurses"]:
args.append("--with-tlib=tinfow")
else:
args.append("--with-tlib=ncursesw")
- args.append("--with-features=" + spec.variants['features'].value)
+ args.append("--with-features=" + spec.variants["features"].value)
- if '+python' in spec:
- if spec['python'].version >= Version('3'):
+ if "+python" in spec:
+ if spec["python"].version >= Version("3"):
args.append("--enable-python3interp=dynamic")
args.append("--enable-pythoninterp=no")
else:
@@ -92,30 +94,32 @@ class Vim(AutotoolsPackage):
else:
args.append("--enable-python3interp=no")
- if '+gui' in spec:
- args.append("--enable-gui={}".format('gtk3' if '+gtk' in spec else 'auto'))
+ if "+gui" in spec:
+ args.append("--enable-gui={}".format("gtk3" if "+gtk" in spec else "auto"))
else:
args.append("--enable-gui=no")
- args.extend([
- "--enable-luainterp=" + yes_or_no('lua'),
- "--enable-perlinterp=" + yes_or_no('perl'),
- "--enable-rubyinterp=" + yes_or_no('ruby'),
- ])
- args.extend(self.enable_or_disable('cscope'))
- args.extend(self.with_or_without('x'))
+ args.extend(
+ [
+ "--enable-luainterp=" + yes_or_no("lua"),
+ "--enable-perlinterp=" + yes_or_no("perl"),
+ "--enable-rubyinterp=" + yes_or_no("ruby"),
+ ]
+ )
+ args.extend(self.enable_or_disable("cscope"))
+ args.extend(self.with_or_without("x"))
- if '+lua' in spec:
- args.append("--with-lua-prefix=" + spec['lua'].prefix)
+ if "+lua" in spec:
+ args.append("--with-lua-prefix=" + spec["lua"].prefix)
return args
# Tests must be run in serial
def check(self):
- make('test', parallel=False)
+ make("test", parallel=False)
# Run the install phase with -j 1. There seems to be a problem with
# parallel builds that results in the creation of the links (e.g. view)
# to the vim binary silently failing.
def install(self, spec, prefix):
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/virtest/package.py b/var/spack/repos/builtin/packages/virtest/package.py
index aea359d914..637500487b 100644
--- a/var/spack/repos/builtin/packages/virtest/package.py
+++ b/var/spack/repos/builtin/packages/virtest/package.py
@@ -11,21 +11,23 @@ from spack.package import *
class Virtest(CMakePackage):
"""Header-only unit test framework, as easy as possible to use"""
- homepage = 'https://github.com/mattkretz/virtest'
- git = 'https://github.com/mattkretz/virtest.git'
- maintainers = ['bernhardkaindl']
+ homepage = "https://github.com/mattkretz/virtest"
+ git = "https://github.com/mattkretz/virtest.git"
+ maintainers = ["bernhardkaindl"]
- version('master', branch='master')
+ version("master", branch="master")
def patch(self):
- script = FileFilter('tests/CMakeLists.txt')
- script.filter(r' *\${CMAKE_CTEST_COMMAND} -V -R \${target}',
- '${CMAKE_CTEST_COMMAND} -V -R "^${target}$"')
+ script = FileFilter("tests/CMakeLists.txt")
+ script.filter(
+ r" *\${CMAKE_CTEST_COMMAND} -V -R \${target}",
+ '${CMAKE_CTEST_COMMAND} -V -R "^${target}$"',
+ )
def setup_run_environment(self, env):
- env.prepend_path('CPATH', self.prefix.include.vir)
+ env.prepend_path("CPATH", self.prefix.include.vir)
- @run_after('install')
+ @run_after("install")
def rename_include_for_vc_package(self):
with working_dir(self.prefix.include):
- os.rename('vir', 'virtest')
+ os.rename("vir", "virtest")
diff --git a/var/spack/repos/builtin/packages/virtualgl/package.py b/var/spack/repos/builtin/packages/virtualgl/package.py
index 2fec526109..de637e9a61 100644
--- a/var/spack/repos/builtin/packages/virtualgl/package.py
+++ b/var/spack/repos/builtin/packages/virtualgl/package.py
@@ -8,14 +8,14 @@ from spack.package import *
class Virtualgl(CMakePackage):
"""VirtualGL redirects 3D commands from a Unix/Linux OpenGL application
- onto a server-side GPU and converts the rendered 3D images into a video
- stream with which remote clients can interact to view and control the
- 3D application in real time."""
+ onto a server-side GPU and converts the rendered 3D images into a video
+ stream with which remote clients can interact to view and control the
+ 3D application in real time."""
homepage = "https://www.virtualgl.org/Main/HomePage"
- url = "http://downloads.sourceforge.net/project/virtualgl/2.5.2/VirtualGL-2.5.2.tar.gz"
+ url = "http://downloads.sourceforge.net/project/virtualgl/2.5.2/VirtualGL-2.5.2.tar.gz"
- version('2.5.2', sha256='4f43387678b289a24139c5b7c3699740ca555a9f10011c979e51aa4df2b93238')
+ version("2.5.2", sha256="4f43387678b289a24139c5b7c3699740ca555a9f10011c979e51aa4df2b93238")
# This package will only work with libjpeg-turbo, not other jpeg providers
depends_on("libjpeg-turbo")
diff --git a/var/spack/repos/builtin/packages/virtuoso/package.py b/var/spack/repos/builtin/packages/virtuoso/package.py
index f07edafbf8..7308f34762 100644
--- a/var/spack/repos/builtin/packages/virtuoso/package.py
+++ b/var/spack/repos/builtin/packages/virtuoso/package.py
@@ -13,46 +13,47 @@ class Virtuoso(AutotoolsPackage):
Application Server Platform"""
homepage = "https://github.com/openlink/virtuoso-opensource"
- git = "https://github.com/openlink/virtuoso-opensource.git"
-
- version('7.2.5.1-dev', commit='3ff1d4b3de3977337baf909c264968b9f70b7d2c')
-
- variant('dbpedia-vad', default=False, description='DBpedia vad package')
- variant('demo-vad', default=False, description='Demo vad package')
- variant('fct-vad', default=True, description='Facet Browser vad package')
- variant('ods-vad', default=True, description='ODS vad package')
- variant('sparqldemo-vad', default=False, description='Sparql Demo vad package')
- variant('tutorial-vad', default=False, description='Tutorial vad package')
- variant('isparql-vad', default=True, description='iSPARQL vad package')
- variant('rdfmappers-vad', default=True, description='RDF Mappers vad package')
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
-
- depends_on('bison', type='build')
- depends_on('flex', type='build')
- depends_on('gperf')
- depends_on('readline')
- depends_on('openssl@0.9.8:1.1')
+ git = "https://github.com/openlink/virtuoso-opensource.git"
+
+ version("7.2.5.1-dev", commit="3ff1d4b3de3977337baf909c264968b9f70b7d2c")
+
+ variant("dbpedia-vad", default=False, description="DBpedia vad package")
+ variant("demo-vad", default=False, description="Demo vad package")
+ variant("fct-vad", default=True, description="Facet Browser vad package")
+ variant("ods-vad", default=True, description="ODS vad package")
+ variant("sparqldemo-vad", default=False, description="Sparql Demo vad package")
+ variant("tutorial-vad", default=False, description="Tutorial vad package")
+ variant("isparql-vad", default=True, description="iSPARQL vad package")
+ variant("rdfmappers-vad", default=True, description="RDF Mappers vad package")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ depends_on("bison", type="build")
+ depends_on("flex", type="build")
+ depends_on("gperf")
+ depends_on("readline")
+ depends_on("openssl@0.9.8:1.1")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
def configure_args(self):
- readlinep = self.spec['readline'].prefix.lib
- args = ['--with-layout=opt',
- '--program-transform-name=s/isql/isql-v/',
- '--with-readline={0}'.format(readlinep)
- ]
- args.extend(self.enable_or_disable('dbpedia-vad'))
- args.extend(self.enable_or_disable('demo-vad'))
- args.extend(self.enable_or_disable('fct-vad'))
- args.extend(self.enable_or_disable('ods-vad'))
- args.extend(self.enable_or_disable('sparqldemo-vad'))
- args.extend(self.enable_or_disable('tutorial-vad'))
- args.extend(self.enable_or_disable('isparql-vad'))
- args.extend(self.enable_or_disable('rdfmappers-vad'))
+ readlinep = self.spec["readline"].prefix.lib
+ args = [
+ "--with-layout=opt",
+ "--program-transform-name=s/isql/isql-v/",
+ "--with-readline={0}".format(readlinep),
+ ]
+ args.extend(self.enable_or_disable("dbpedia-vad"))
+ args.extend(self.enable_or_disable("demo-vad"))
+ args.extend(self.enable_or_disable("fct-vad"))
+ args.extend(self.enable_or_disable("ods-vad"))
+ args.extend(self.enable_or_disable("sparqldemo-vad"))
+ args.extend(self.enable_or_disable("tutorial-vad"))
+ args.extend(self.enable_or_disable("isparql-vad"))
+ args.extend(self.enable_or_disable("rdfmappers-vad"))
return args
diff --git a/var/spack/repos/builtin/packages/visit-cgns/package.py b/var/spack/repos/builtin/packages/visit-cgns/package.py
index 8fa0235eec..1b62d09a82 100644
--- a/var/spack/repos/builtin/packages/visit-cgns/package.py
+++ b/var/spack/repos/builtin/packages/visit-cgns/package.py
@@ -13,87 +13,89 @@ from spack.package import *
class VisitCgns(CMakePackage):
"""This is the CGNS Plug-In for VisIt.
- It can be installed after VisIt is installed along CGNS library.
+ It can be installed after VisIt is installed along CGNS library.
"""
# These settings are exactly those of VisIt
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ git = "https://github.com/visit-dav/visit.git"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
- maintainers = ['cyrush', 'cessenat']
+ maintainers = ["cyrush", "cessenat"]
# Here we provide a local file that contains only the plugin in a flat directory
- version('local', url='file://{0}/visit-CGNS.tgz'.format(os.getcwd()))
+ version("local", url="file://{0}/visit-CGNS.tgz".format(os.getcwd()))
# Below we copy the VisIt paths:
- version('develop', branch='develop')
- version('3.2.0', sha256='7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0')
- version('3.1.4', sha256='be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
- version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
- version('2.13.0', sha256='716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
- version('2.12.3', sha256='2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f')
- version('2.12.2', sha256='55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943')
- version('2.10.3', sha256='05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc')
- version('2.10.2', sha256='89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff')
- version('2.10.1', sha256='6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8')
+ version("develop", branch="develop")
+ version("3.2.0", sha256="7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0")
+ version("3.1.4", sha256="be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
+ version("2.13.3", sha256="cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5")
+ version("2.13.0", sha256="716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f")
+ version("2.12.3", sha256="2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f")
+ version("2.12.2", sha256="55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943")
+ version("2.10.3", sha256="05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc")
+ version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff")
+ version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8")
- depends_on('cmake', type='build')
- depends_on('cgns@3.3.1+int64~scoping~legacy', when='@2.10.1:3.1.4')
- depends_on('cgns+int64~scoping~legacy')
- depends_on('visit@3.2.0:', when='@3.2.0:')
- depends_on('visit')
+ depends_on("cmake", type="build")
+ depends_on("cgns@3.3.1+int64~scoping~legacy", when="@2.10.1:3.1.4")
+ depends_on("cgns+int64~scoping~legacy")
+ depends_on("visit@3.2.0:", when="@3.2.0:")
+ depends_on("visit")
- extends('visit')
+ extends("visit")
- build_targets = ['VERBOSE=1']
- phases = ['cmake', 'build']
- extname = 'CGNS'
+ build_targets = ["VERBOSE=1"]
+ phases = ["cmake", "build"]
+ extname = "CGNS"
@property
def root_cmakelists_dir(self):
- if '@local' not in self.spec:
- return join_path('src', 'databases', self.extname)
+ if "@local" not in self.spec:
+ return join_path("src", "databases", self.extname)
else:
- return '.'
+ return "."
@property
def build_directory(self):
return self.root_cmakelists_dir
- @run_before('cmake')
+ @run_before("cmake")
def run_xml2cmake(self):
- visit = self.spec['visit']
- args = ['-v', str(visit.version), '-clobber', '-public', self.extname + '.xml']
+ visit = self.spec["visit"]
+ args = ["-v", str(visit.version), "-clobber", "-public", self.extname + ".xml"]
with working_dir(self.root_cmakelists_dir):
# Regenerate the public cmake files
if os.path.exists("CMakeLists.txt"):
- os.unlink('CMakeLists.txt')
+ os.unlink("CMakeLists.txt")
which("xml2cmake")(*args)
# spack extension activate : alter VISIT_PLUGIN_DIR ;
# xml2cmake should have set it to visit prefix but it can
# happen the directory is an alias.
# In that case we match version/smth/plugins.
mstr = None
- mstr1 = r'^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]'.format(visit.prefix)
- mstr2 = r'^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]'.format(
- join_path(os.sep, visit.version, ''), join_path(os.sep, 'plugins'))
- with open('CMakeLists.txt', 'r') as file:
+ mstr1 = r"^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]".format(visit.prefix)
+ mstr2 = r"^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]".format(
+ join_path(os.sep, visit.version, ""), join_path(os.sep, "plugins")
+ )
+ with open("CMakeLists.txt", "r") as file:
for line in file:
if re.search(mstr1, line):
mstr = mstr1
elif re.search(mstr2, line):
mstr = mstr2
if mstr is not None:
- filter_file(mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix),
- 'CMakeLists.txt')
+ filter_file(
+ mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix), "CMakeLists.txt"
+ )
def cmake_args(self):
- cgns = self.spec['cgns']
+ cgns = self.spec["cgns"]
args = [
- '-DCGNS_INCLUDE_DIR=' + cgns.prefix.include,
- '-DCGNS_LIBRARY_DIR=' + cgns.prefix.lib,
- '-DCGNS_LIB=' + cgns.libs.link_flags,
+ "-DCGNS_INCLUDE_DIR=" + cgns.prefix.include,
+ "-DCGNS_LIBRARY_DIR=" + cgns.prefix.lib,
+ "-DCGNS_LIB=" + cgns.libs.link_flags,
]
return args
diff --git a/var/spack/repos/builtin/packages/visit-ffp/package.py b/var/spack/repos/builtin/packages/visit-ffp/package.py
index 11a285b898..bf1c8ea466 100644
--- a/var/spack/repos/builtin/packages/visit-ffp/package.py
+++ b/var/spack/repos/builtin/packages/visit-ffp/package.py
@@ -11,72 +11,73 @@ from spack.package import *
class VisitFfp(CMakePackage):
"""This is the FFP Plug-In for VisIt.
- Can be installed after VisIt is installed with/without the STRIPACK library.
+ Can be installed after VisIt is installed with/without the STRIPACK library.
"""
# These settings are exactly those of VisIt
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ git = "https://github.com/visit-dav/visit.git"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
- maintainers = ['cyrush', 'cessenat']
+ maintainers = ["cyrush", "cessenat"]
# Here we provide a local file that contains only the plugin in a flat directory
- version('local', url='file://{0}/visit-ffp.tgz'.format(os.getcwd()))
+ version("local", url="file://{0}/visit-ffp.tgz".format(os.getcwd()))
# Below we copy the VisIt paths, ffp first shipment is with VisIt 3
- version('develop', branch='develop')
- version('3.2.0', sha256='7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0')
- version('3.1.4', sha256='be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
+ version("develop", branch="develop")
+ version("3.2.0", sha256="7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0")
+ version("3.1.4", sha256="be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
- variant('stripack', default=True,
- description='Enable STRIPACK unit sphere Delaunay meshing')
+ variant("stripack", default=True, description="Enable STRIPACK unit sphere Delaunay meshing")
- depends_on('cmake', type='build')
- depends_on('stripack', when='+stripack')
- depends_on('visit')
+ depends_on("cmake", type="build")
+ depends_on("stripack", when="+stripack")
+ depends_on("visit")
- extends('visit')
+ extends("visit")
- build_targets = ['VERBOSE=1']
- phases = ['cmake', 'build']
- extname = 'ffp'
+ build_targets = ["VERBOSE=1"]
+ phases = ["cmake", "build"]
+ extname = "ffp"
@property
def root_cmakelists_dir(self):
- if '@local' not in self.spec:
- return join_path('src', 'databases', self.extname)
+ if "@local" not in self.spec:
+ return join_path("src", "databases", self.extname)
else:
- return '.'
+ return "."
@property
def build_directory(self):
return self.root_cmakelists_dir
- @run_before('cmake')
+ @run_before("cmake")
def run_xml2cmake(self):
- visit = self.spec['visit']
- args = ['-v', str(visit.version), '-clobber', '-public', self.extname + '.xml']
+ visit = self.spec["visit"]
+ args = ["-v", str(visit.version), "-clobber", "-public", self.extname + ".xml"]
with working_dir(self.root_cmakelists_dir):
# Regenerate the public cmake files
if os.path.exists("CMakeLists.txt"):
- os.unlink('CMakeLists.txt')
+ os.unlink("CMakeLists.txt")
which("xml2cmake")(*args)
# spack extension activate : alter VISIT_PLUGIN_DIR ;
# xml2cmake should have set it to visit prefix but it can
# happen the directory is an alias.
# In that case we match version/smth/plugins.
mstr = None
- mstr1 = r'^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]'.format(visit.prefix)
- mstr2 = r'^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]'.format(
- join_path(os.sep, visit.version, ''), join_path(os.sep, 'plugins'))
- with open('CMakeLists.txt', 'r') as file:
+ mstr1 = r"^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]".format(visit.prefix)
+ mstr2 = r"^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]".format(
+ join_path(os.sep, visit.version, ""), join_path(os.sep, "plugins")
+ )
+ with open("CMakeLists.txt", "r") as file:
for line in file:
if re.search(mstr1, line):
mstr = mstr1
elif re.search(mstr2, line):
mstr = mstr2
if mstr is not None:
- filter_file(mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix),
- 'CMakeLists.txt')
+ filter_file(
+ mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix), "CMakeLists.txt"
+ )
diff --git a/var/spack/repos/builtin/packages/visit-mfem/package.py b/var/spack/repos/builtin/packages/visit-mfem/package.py
index caa59eb72a..79ca844268 100644
--- a/var/spack/repos/builtin/packages/visit-mfem/package.py
+++ b/var/spack/repos/builtin/packages/visit-mfem/package.py
@@ -13,85 +13,87 @@ from spack.package import *
class VisitMfem(CMakePackage):
"""This is the MFEM Plug-In for VisIt.
- It can be installed after VisIt is installed along MFEM library.
+ It can be installed after VisIt is installed along MFEM library.
"""
# These settings are exactly those of VisIt
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ git = "https://github.com/visit-dav/visit.git"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
- maintainers = ['cyrush', 'cessenat']
+ maintainers = ["cyrush", "cessenat"]
# Here we provide a local file that contains only the plugin in a flat directory
- version('local', url='file://{0}/visit-MFEM.tgz'.format(os.getcwd()))
+ version("local", url="file://{0}/visit-MFEM.tgz".format(os.getcwd()))
# Below we copy the VisIt paths:
- version('develop', branch='develop')
- version('3.2.0', sha256='7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0')
- version('3.1.4', sha256='be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
- version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
- version('2.13.0', sha256='716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
- version('2.12.3', sha256='2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f')
- version('2.12.2', sha256='55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943')
- version('2.10.3', sha256='05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc')
- version('2.10.2', sha256='89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff')
- version('2.10.1', sha256='6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8')
+ version("develop", branch="develop")
+ version("3.2.0", sha256="7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0")
+ version("3.1.4", sha256="be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
+ version("2.13.3", sha256="cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5")
+ version("2.13.0", sha256="716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f")
+ version("2.12.3", sha256="2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f")
+ version("2.12.2", sha256="55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943")
+ version("2.10.3", sha256="05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc")
+ version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff")
+ version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8")
- depends_on('cmake', type='build')
- depends_on('mfem')
- depends_on('visit')
+ depends_on("cmake", type="build")
+ depends_on("mfem")
+ depends_on("visit")
- extends('visit')
+ extends("visit")
- build_targets = ['VERBOSE=1']
- phases = ['cmake', 'build']
- extname = 'MFEM'
+ build_targets = ["VERBOSE=1"]
+ phases = ["cmake", "build"]
+ extname = "MFEM"
@property
def root_cmakelists_dir(self):
- if '@local' not in self.spec:
- return join_path('src', 'databases', self.extname)
+ if "@local" not in self.spec:
+ return join_path("src", "databases", self.extname)
else:
- return '.'
+ return "."
@property
def build_directory(self):
return self.root_cmakelists_dir
- @run_before('cmake')
+ @run_before("cmake")
def run_xml2cmake(self):
- visit = self.spec['visit']
- args = ['-v', str(visit.version), '-clobber', '-public', self.extname + '.xml']
+ visit = self.spec["visit"]
+ args = ["-v", str(visit.version), "-clobber", "-public", self.extname + ".xml"]
with working_dir(self.root_cmakelists_dir):
# Regenerate the public cmake files
if os.path.exists("CMakeLists.txt"):
- os.unlink('CMakeLists.txt')
+ os.unlink("CMakeLists.txt")
which("xml2cmake")(*args)
# spack extension activate : alter VISIT_PLUGIN_DIR ;
# xml2cmake should have set it to visit prefix but it can
# happen the directory is an alias.
# In that case we match version/smth/plugins.
mstr = None
- mstr1 = r'^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]'.format(visit.prefix)
- mstr2 = r'^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]'.format(
- join_path(os.sep, visit.version, ''), join_path(os.sep, 'plugins'))
- with open('CMakeLists.txt', 'r') as file:
+ mstr1 = r"^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]".format(visit.prefix)
+ mstr2 = r"^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]".format(
+ join_path(os.sep, visit.version, ""), join_path(os.sep, "plugins")
+ )
+ with open("CMakeLists.txt", "r") as file:
for line in file:
if re.search(mstr1, line):
mstr = mstr1
elif re.search(mstr2, line):
mstr = mstr2
if mstr is not None:
- filter_file(mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix),
- 'CMakeLists.txt')
+ filter_file(
+ mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix), "CMakeLists.txt"
+ )
def cmake_args(self):
- mfem = self.spec['mfem']
+ mfem = self.spec["mfem"]
args = [
- '-DMFEM_INCLUDE_DIR=' + mfem.prefix.include,
- '-DMFEM_LIBRARY_DIR=' + mfem.prefix.lib,
- '-DMFEM_LIB=' + mfem.libs.link_flags,
+ "-DMFEM_INCLUDE_DIR=" + mfem.prefix.include,
+ "-DMFEM_LIBRARY_DIR=" + mfem.prefix.lib,
+ "-DMFEM_LIB=" + mfem.libs.link_flags,
]
return args
diff --git a/var/spack/repos/builtin/packages/visit-silo/package.py b/var/spack/repos/builtin/packages/visit-silo/package.py
index aff31012df..b2d650352b 100644
--- a/var/spack/repos/builtin/packages/visit-silo/package.py
+++ b/var/spack/repos/builtin/packages/visit-silo/package.py
@@ -13,90 +13,92 @@ from spack.package import *
class VisitSilo(CMakePackage):
"""This is the Silo Plug-In for VisIt.
- It can be installed after VisIt is installed along SILO library.
- It is made as an extension to VisIt that can be activated or as an environment
- with a view: ~/.visit
- Complete explanation at:
- https://github.com/spack/spack/pull/22907#issuecomment-824218296
+ It can be installed after VisIt is installed along SILO library.
+ It is made as an extension to VisIt that can be activated or as an environment
+ with a view: ~/.visit
+ Complete explanation at:
+ https://github.com/spack/spack/pull/22907#issuecomment-824218296
"""
# These settings are exactly those of VisIt
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ git = "https://github.com/visit-dav/visit.git"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
- maintainers = ['cyrush', 'cessenat']
+ maintainers = ["cyrush", "cessenat"]
# Here we provide a local file that contains only the plugin in a flat directory
- version('local', url='file://{0}/visit-Silo.tgz'.format(os.getcwd()))
+ version("local", url="file://{0}/visit-Silo.tgz".format(os.getcwd()))
# Below we copy the VisIt paths:
- version('develop', branch='develop')
- version('3.1.4', sha256='be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93')
- version('3.1.3', sha256='fb8c133dd2feabe9a70fa5574fdefc0f2dc4ec6d5ed8b08bfb19b3d610eed43e')
- version('3.1.2', sha256='cbe3864bd9a3025a643de3a218ad59b5501c8a4331af7b055a22d69cce9ca076')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
- version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
- version('2.13.0', sha256='716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
- version('2.12.3', sha256='2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f')
- version('2.12.2', sha256='55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943')
- version('2.10.3', sha256='05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc')
- version('2.10.2', sha256='89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff')
- version('2.10.1', sha256='6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8')
+ version("develop", branch="develop")
+ version("3.1.4", sha256="be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93")
+ version("3.1.3", sha256="fb8c133dd2feabe9a70fa5574fdefc0f2dc4ec6d5ed8b08bfb19b3d610eed43e")
+ version("3.1.2", sha256="cbe3864bd9a3025a643de3a218ad59b5501c8a4331af7b055a22d69cce9ca076")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
+ version("2.13.3", sha256="cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5")
+ version("2.13.0", sha256="716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f")
+ version("2.12.3", sha256="2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f")
+ version("2.12.2", sha256="55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943")
+ version("2.10.3", sha256="05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc")
+ version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff")
+ version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8")
- depends_on('cmake', type='build')
- depends_on('silo')
- depends_on('visit')
+ depends_on("cmake", type="build")
+ depends_on("silo")
+ depends_on("visit")
- extends('visit')
+ extends("visit")
- build_targets = ['VERBOSE=1']
- phases = ['cmake', 'build']
- extname = 'Silo'
+ build_targets = ["VERBOSE=1"]
+ phases = ["cmake", "build"]
+ extname = "Silo"
@property
def root_cmakelists_dir(self):
- if '@local' not in self.spec:
- return join_path('src', 'databases', self.extname)
+ if "@local" not in self.spec:
+ return join_path("src", "databases", self.extname)
else:
- return '.'
+ return "."
@property
def build_directory(self):
return self.root_cmakelists_dir
- @run_before('cmake')
+ @run_before("cmake")
def run_xml2cmake(self):
- visit = self.spec['visit']
- args = ['-v', str(visit.version), '-clobber', '-public', self.extname + '.xml']
+ visit = self.spec["visit"]
+ args = ["-v", str(visit.version), "-clobber", "-public", self.extname + ".xml"]
with working_dir(self.root_cmakelists_dir):
# Regenerate the public cmake files
if os.path.exists("CMakeLists.txt"):
- os.unlink('CMakeLists.txt')
+ os.unlink("CMakeLists.txt")
which("xml2cmake")(*args)
# spack extension activate : alter VISIT_PLUGIN_DIR ;
# xml2cmake should have set it to visit prefix but it can
# happen the directory is an alias.
# In that case we match version/smth/plugins.
mstr = None
- mstr1 = r'^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]'.format(visit.prefix)
- mstr2 = r'^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]'.format(
- join_path(os.sep, visit.version, ''), join_path(os.sep, 'plugins'))
- with open('CMakeLists.txt', 'r') as file:
+ mstr1 = r"^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]".format(visit.prefix)
+ mstr2 = r"^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]".format(
+ join_path(os.sep, visit.version, ""), join_path(os.sep, "plugins")
+ )
+ with open("CMakeLists.txt", "r") as file:
for line in file:
if re.search(mstr1, line):
mstr = mstr1
elif re.search(mstr2, line):
mstr = mstr2
if mstr is not None:
- filter_file(mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix),
- 'CMakeLists.txt')
+ filter_file(
+ mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix), "CMakeLists.txt"
+ )
def cmake_args(self):
- silo = self.spec['silo']
+ silo = self.spec["silo"]
args = [
- '-DSILO_INCLUDE_DIR=' + silo.prefix.include,
- '-DSILO_LIBRARY_DIR=' + silo.prefix.lib,
- '-DSILO_LIB=' + silo.libs.link_flags,
+ "-DSILO_INCLUDE_DIR=" + silo.prefix.include,
+ "-DSILO_LIBRARY_DIR=" + silo.prefix.lib,
+ "-DSILO_LIB=" + silo.libs.link_flags,
]
return args
diff --git a/var/spack/repos/builtin/packages/visit-unv/package.py b/var/spack/repos/builtin/packages/visit-unv/package.py
index 8872c6c6dd..9fcf3cce19 100644
--- a/var/spack/repos/builtin/packages/visit-unv/package.py
+++ b/var/spack/repos/builtin/packages/visit-unv/package.py
@@ -14,70 +14,72 @@ class VisitUnv(CMakePackage):
# These settings are exactly those of VisIt
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ git = "https://github.com/visit-dav/visit.git"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
- maintainers = ['cyrush', 'cessenat']
+ maintainers = ["cyrush", "cessenat"]
# Here we provide a local file that contains only the plugin in a flat directory
- version('local', url='file://{0}/visit-unv.tgz'.format(os.getcwd()))
+ version("local", url="file://{0}/visit-unv.tgz".format(os.getcwd()))
# Below we copy the VisIt paths:
- version('develop', branch='develop')
- version('3.2.0', sha256='7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0')
- version('3.1.4', sha256='be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
- version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
- version('2.13.0', sha256='716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
- version('2.12.3', sha256='2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f')
- version('2.12.2', sha256='55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943')
- version('2.10.3', sha256='05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc')
- version('2.10.2', sha256='89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff')
- version('2.10.1', sha256='6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8')
+ version("develop", branch="develop")
+ version("3.2.0", sha256="7328fd8592f9aaf17bf79ffcffd7eaec77773926b0843d9053f39c2190dbe1c0")
+ version("3.1.4", sha256="be20d9acf56f0599e3c511709f48d8d3b232a57425f69d2bd1e2df1eccb84c93")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
+ version("2.13.3", sha256="cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5")
+ version("2.13.0", sha256="716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f")
+ version("2.12.3", sha256="2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f")
+ version("2.12.2", sha256="55897d656ac2ea4eb87a30118b2e3963d6c8a391dda0790268426a73e4b06943")
+ version("2.10.3", sha256="05018215c4727eb42d47bb5cc4ff937b2a2ccaca90d141bc7fa426a0843a5dbc")
+ version("2.10.2", sha256="89ecdfaf197ef431685e31b75628774deb6cd75d3e332ef26505774403e8beff")
+ version("2.10.1", sha256="6b53dea89a241fd03300a7a3a50c0f773e2fb8458cd3ad06816e9bd2f0337cd8")
- depends_on('cmake', type='build')
- depends_on('visit')
+ depends_on("cmake", type="build")
+ depends_on("visit")
- extends('visit')
+ extends("visit")
- build_targets = ['VERBOSE=1']
- phases = ['cmake', 'build']
- extname = 'unv'
+ build_targets = ["VERBOSE=1"]
+ phases = ["cmake", "build"]
+ extname = "unv"
@property
def root_cmakelists_dir(self):
- if '@local' not in self.spec:
- return join_path('src', 'databases', self.extname)
+ if "@local" not in self.spec:
+ return join_path("src", "databases", self.extname)
else:
- return '.'
+ return "."
@property
def build_directory(self):
return self.root_cmakelists_dir
- @run_before('cmake')
+ @run_before("cmake")
def run_xml2cmake(self):
- visit = self.spec['visit']
- args = ['-v', str(visit.version), '-clobber', '-public', self.extname + '.xml']
+ visit = self.spec["visit"]
+ args = ["-v", str(visit.version), "-clobber", "-public", self.extname + ".xml"]
with working_dir(self.root_cmakelists_dir):
# Regenerate the public cmake files
if os.path.exists("CMakeLists.txt"):
- os.unlink('CMakeLists.txt')
+ os.unlink("CMakeLists.txt")
which("xml2cmake")(*args)
# spack extension activate : alter VISIT_PLUGIN_DIR ;
# xml2cmake should have set it to visit prefix but it can
# happen the directory is an alias.
# In that case we match version/smth/plugins.
mstr = None
- mstr1 = r'^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]'.format(visit.prefix)
- mstr2 = r'^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]'.format(
- join_path(os.sep, visit.version, ''), join_path(os.sep, 'plugins'))
- with open('CMakeLists.txt', 'r') as file:
+ mstr1 = r"^SET[(]VISIT_PLUGIN_DIR\s+\"{0}(.+)\"[)]".format(visit.prefix)
+ mstr2 = r"^SET[(]VISIT_PLUGIN_DIR\s+\".+({0}.+?{1})\"[)]".format(
+ join_path(os.sep, visit.version, ""), join_path(os.sep, "plugins")
+ )
+ with open("CMakeLists.txt", "r") as file:
for line in file:
if re.search(mstr1, line):
mstr = mstr1
elif re.search(mstr2, line):
mstr = mstr2
if mstr is not None:
- filter_file(mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix),
- 'CMakeLists.txt')
+ filter_file(
+ mstr, r'SET(VISIT_PLUGIN_DIR "{0}\1")'.format(prefix), "CMakeLists.txt"
+ )
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index c54b320366..18bb289ec5 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -10,8 +10,9 @@ from spack.package import *
class Visit(CMakePackage):
"""VisIt is an Open Source, interactive, scalable, visualization,
- animation and analysis tool.
+ animation and analysis tool.
"""
+
############################
# Suggestions for building:
############################
@@ -45,126 +46,130 @@ class Visit(CMakePackage):
#
############################
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
- git = "https://github.com/visit-dav/visit.git"
+ git = "https://github.com/visit-dav/visit.git"
url = "https://github.com/visit-dav/visit/releases/download/v3.2.1/visit3.2.1.tar.gz"
- tags = ['radiuss']
+ tags = ["radiuss"]
- maintainers = ['cyrush']
+ maintainers = ["cyrush"]
extendable = True
- executables = ['^visit$']
+ executables = ["^visit$"]
- version('develop', branch='develop')
- version('3.3.0', sha256='1a7485146133ac5f1e330d9029697750046ef8d9e9de23a6c2a3685c1c5f4aac', deprecated=True)
- version('3.2.2', sha256='d19ac24c622a3bc0a71bc9cd6e5c9860e43f39e3279672129278b6ebce8d0ead')
- version('3.2.1', sha256='779d59564c63f31fcbfeff24b14ddd6ac941b3bb7d671d31765a770d193f02e8')
- version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
- version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
+ version("develop", branch="develop")
+ version(
+ "3.3.0",
+ sha256="1a7485146133ac5f1e330d9029697750046ef8d9e9de23a6c2a3685c1c5f4aac",
+ deprecated=True,
+ )
+ version("3.2.2", sha256="d19ac24c622a3bc0a71bc9cd6e5c9860e43f39e3279672129278b6ebce8d0ead")
+ version("3.2.1", sha256="779d59564c63f31fcbfeff24b14ddd6ac941b3bb7d671d31765a770d193f02e8")
+ version("3.1.1", sha256="0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0")
+ version("3.0.1", sha256="a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd")
- root_cmakelists_dir = 'src'
+ root_cmakelists_dir = "src"
generator = "Ninja"
- variant('gui', default=True, description='Enable VisIt\'s GUI')
- variant('osmesa', default=False, description='Use OSMesa for off-screen CPU rendering')
- variant('adios2', default=True, description='Enable ADIOS2 file format')
- variant('hdf5', default=True, description='Enable HDF5 file format')
- variant('silo', default=True, description='Enable Silo file format')
- variant('python', default=True, description='Enable Python support')
- variant('mpi', default=True, description='Enable parallel engine')
+ variant("gui", default=True, description="Enable VisIt's GUI")
+ variant("osmesa", default=False, description="Use OSMesa for off-screen CPU rendering")
+ variant("adios2", default=True, description="Enable ADIOS2 file format")
+ variant("hdf5", default=True, description="Enable HDF5 file format")
+ variant("silo", default=True, description="Enable Silo file format")
+ variant("python", default=True, description="Enable Python support")
+ variant("mpi", default=True, description="Enable parallel engine")
- patch('spack-changes-3.1.patch', when="@3.1.0:3.2.2")
- patch('spack-changes-3.0.1.patch', when="@3.0.1")
- patch('nonframework-qwt.patch', when='^qt~framework platform=darwin')
- patch('parallel-hdf5.patch', when='@3.0.1:3.2.2+hdf5+mpi')
- patch('parallel-hdf5-3.3.patch', when='@3.3.0:+hdf5+mpi')
+ patch("spack-changes-3.1.patch", when="@3.1.0:3.2.2")
+ patch("spack-changes-3.0.1.patch", when="@3.0.1")
+ patch("nonframework-qwt.patch", when="^qt~framework platform=darwin")
+ patch("parallel-hdf5.patch", when="@3.0.1:3.2.2+hdf5+mpi")
+ patch("parallel-hdf5-3.3.patch", when="@3.3.0:+hdf5+mpi")
# Fix pthread and librt link errors
- patch('visit32-missing-link-libs.patch', when='@3.2')
+ patch("visit32-missing-link-libs.patch", when="@3.2")
# Exactly one of 'gui' or 'osmesa' has to be enabled
- conflicts('+gui', when='+osmesa')
+ conflicts("+gui", when="+osmesa")
- depends_on('cmake@3.14.7:', type='build')
- depends_on('ninja', type='build')
+ depends_on("cmake@3.14.7:", type="build")
+ depends_on("ninja", type="build")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
# VTK flavors
- depends_on('vtk@8.1:8 +opengl2')
- depends_on('vtk +osmesa', when='+osmesa')
- depends_on('vtk +qt', when='+gui')
- depends_on('vtk +python', when='+python')
- depends_on('vtk +mpi', when='+mpi')
- depends_on('vtk ~mpi', when='~mpi')
+ depends_on("vtk@8.1:8 +opengl2")
+ depends_on("vtk +osmesa", when="+osmesa")
+ depends_on("vtk +qt", when="+gui")
+ depends_on("vtk +python", when="+python")
+ depends_on("vtk +mpi", when="+mpi")
+ depends_on("vtk ~mpi", when="~mpi")
# Necessary VTK patches
- depends_on('vtk', patches=[patch('vtk_compiler_visibility.patch')],
- when='^vtk@8')
- depends_on('vtk', patches=[patch('vtk_rendering_opengl2_x11.patch')],
- when='~osmesa platform=linux ^vtk@8')
- depends_on('vtk', patches=[patch('vtk_wrapping_python_x11.patch')],
- when='+python ^vtk@8')
+ depends_on("vtk", patches=[patch("vtk_compiler_visibility.patch")], when="^vtk@8")
+ depends_on(
+ "vtk",
+ patches=[patch("vtk_rendering_opengl2_x11.patch")],
+ when="~osmesa platform=linux ^vtk@8",
+ )
+ depends_on("vtk", patches=[patch("vtk_wrapping_python_x11.patch")], when="+python ^vtk@8")
- depends_on('glu')
+ depends_on("glu")
# VisIt doesn't work with later versions of qt.
- depends_on('qt+gui+opengl@5:5.14', when='+gui')
- depends_on('qwt', when='+gui')
+ depends_on("qt+gui+opengl@5:5.14", when="+gui")
+ depends_on("qwt", when="+gui")
# python@3.8 doesn't work with VisIt.
- depends_on('python@3.2:3.7', when='+python')
- extends('python', when='+python')
+ depends_on("python@3.2:3.7", when="+python")
+ extends("python", when="+python")
# VisIt uses the hdf5 1.8 api
# set the API version later on down in setup_build_environment
- depends_on('hdf5@1.8:', when='+hdf5')
- depends_on('hdf5+mpi', when='+hdf5+mpi')
- depends_on('hdf5~mpi', when='+hdf5~mpi')
+ depends_on("hdf5@1.8:", when="+hdf5")
+ depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("hdf5~mpi", when="+hdf5~mpi")
# VisIt uses Silo's 'ghost zone' data structures, which are only available
# in v4.10+ releases: https://wci.llnl.gov/simulation/computer-codes/silo/releases/release-notes-4.10
- depends_on('silo@4.10: +shared', when='+silo')
- depends_on('silo+hdf5', when='+silo+hdf5')
- depends_on('silo~hdf5', when='+silo~hdf5')
- depends_on('silo+mpi', when='+silo+mpi')
- depends_on('silo~mpi', when='+silo~mpi')
-
- depends_on('adios2@2.6:', when='+adios2')
- depends_on('adios2+hdf5', when='+adios2+hdf5')
- depends_on('adios2~hdf5', when='+adios2~hdf5')
- depends_on('adios2+mpi', when='+adios2+mpi')
- depends_on('adios2~mpi', when='+adios2~mpi')
- depends_on('adios2+python', when='+adios2+python')
- depends_on('adios2~python', when='+adios2~python')
-
- depends_on('zlib')
-
- @when('@3:,develop')
+ depends_on("silo@4.10: +shared", when="+silo")
+ depends_on("silo+hdf5", when="+silo+hdf5")
+ depends_on("silo~hdf5", when="+silo~hdf5")
+ depends_on("silo+mpi", when="+silo+mpi")
+ depends_on("silo~mpi", when="+silo~mpi")
+
+ depends_on("adios2@2.6:", when="+adios2")
+ depends_on("adios2+hdf5", when="+adios2+hdf5")
+ depends_on("adios2~hdf5", when="+adios2~hdf5")
+ depends_on("adios2+mpi", when="+adios2+mpi")
+ depends_on("adios2~mpi", when="+adios2~mpi")
+ depends_on("adios2+python", when="+adios2+python")
+ depends_on("adios2~python", when="+adios2~python")
+
+ depends_on("zlib")
+
+ @when("@3:,develop")
def patch(self):
# Some of VTK's targets don't create explicit libraries, so there is no
# 'vtktiff'. Instead, replace with the library variable defined from
# VTK's module flies (e.g. lib/cmake/vtk-8.1/Modules/vtktiff.cmake)
- for filename in find('src', 'CMakeLists.txt'):
- filter_file(r'\bvtk(tiff|jpeg|png)', r'${vtk\1_LIBRARIES}',
- filename)
+ for filename in find("src", "CMakeLists.txt"):
+ filter_file(r"\bvtk(tiff|jpeg|png)", r"${vtk\1_LIBRARIES}", filename)
def flag_handler(self, name, flags):
- if name in ('cflags', 'cxxflags'):
+ if name in ("cflags", "cxxflags"):
# NOTE: This is necessary in order to allow VisIt to compile a couple
# of lines of code with 'const char*' to/from 'char*' conversions.
- if '@3:%gcc' in self.spec:
- flags.append('-fpermissive')
+ if "@3:%gcc" in self.spec:
+ flags.append("-fpermissive")
# VisIt still uses the hdf5 1.8 api
- if '+hdf5' in self.spec and '@1.10:' in self.spec['hdf5']:
- flags.append('-DH5_USE_18_API')
+ if "+hdf5" in self.spec and "@1.10:" in self.spec["hdf5"]:
+ flags.append("-DH5_USE_18_API")
- elif name == 'ldlibs':
+ elif name == "ldlibs":
# Python support is missing a pthread dependency
- if '@3 +python' in self.spec:
- flags.append('-lpthread')
+ if "@3 +python" in self.spec:
+ flags.append("-lpthread")
return (flags, None, None)
@@ -172,82 +177,96 @@ class Visit(CMakePackage):
spec = self.spec
args = [
- self.define('CMAKE_SKIP_COMPATIBILITY_TESTS', True),
- self.define('CMAKE_POSITION_INDEPENDENT_CODE', True),
- self.define('VTK_MAJOR_VERSION', spec['vtk'].version[0]),
- self.define('VTK_MINOR_VERSION', spec['vtk'].version[1]),
- self.define('VISIT_VTK_DIR', spec['vtk'].prefix),
- self.define('VISIT_ZLIB_DIR', spec['zlib'].prefix),
- self.define('VISIT_USE_GLEW', False),
- self.define('VISIT_CONFIG_SITE', 'NONE'),
- self.define('VISIT_INSTALL_THIRD_PARTY', False),
+ self.define("CMAKE_SKIP_COMPATIBILITY_TESTS", True),
+ self.define("CMAKE_POSITION_INDEPENDENT_CODE", True),
+ self.define("VTK_MAJOR_VERSION", spec["vtk"].version[0]),
+ self.define("VTK_MINOR_VERSION", spec["vtk"].version[1]),
+ self.define("VISIT_VTK_DIR", spec["vtk"].prefix),
+ self.define("VISIT_ZLIB_DIR", spec["zlib"].prefix),
+ self.define("VISIT_USE_GLEW", False),
+ self.define("VISIT_CONFIG_SITE", "NONE"),
+ self.define("VISIT_INSTALL_THIRD_PARTY", False),
]
- if '@3.1: platform=darwin' in spec:
- args.append(self.define('FIXUP_OSX', False))
-
- if '+python' in spec:
- args.extend([
- self.define('VISIT_PYTHON_FILTERS', True),
- self.define('VISIT_PYTHON_SCRIPTING', True),
- self.define('PYTHON_DIR', spec['python'].home),
- ])
+ if "@3.1: platform=darwin" in spec:
+ args.append(self.define("FIXUP_OSX", False))
+
+ if "+python" in spec:
+ args.extend(
+ [
+ self.define("VISIT_PYTHON_FILTERS", True),
+ self.define("VISIT_PYTHON_SCRIPTING", True),
+ self.define("PYTHON_DIR", spec["python"].home),
+ ]
+ )
else:
- args.extend([
- self.define('VISIT_PYTHON_FILTERS', False),
- self.define('VISIT_PYTHON_SCRIPTING', False),
- ])
-
- if '+gui' in spec:
- qt_bin = spec['qt'].prefix.bin
- qmake_exe = os.path.join(qt_bin, 'qmake')
- args.extend([
- self.define('VISIT_SERVER_COMPONENTS_ONLY', False),
- self.define('VISIT_ENGINE_ONLY', False),
- self.define('VISIT_LOC_QMAKE_EXE', qmake_exe),
- self.define('VISIT_QT_DIR', spec['qt'].prefix),
- self.define('VISIT_QWT_DIR', spec['qwt'].prefix),
- ])
+ args.extend(
+ [
+ self.define("VISIT_PYTHON_FILTERS", False),
+ self.define("VISIT_PYTHON_SCRIPTING", False),
+ ]
+ )
+
+ if "+gui" in spec:
+ qt_bin = spec["qt"].prefix.bin
+ qmake_exe = os.path.join(qt_bin, "qmake")
+ args.extend(
+ [
+ self.define("VISIT_SERVER_COMPONENTS_ONLY", False),
+ self.define("VISIT_ENGINE_ONLY", False),
+ self.define("VISIT_LOC_QMAKE_EXE", qmake_exe),
+ self.define("VISIT_QT_DIR", spec["qt"].prefix),
+ self.define("VISIT_QWT_DIR", spec["qwt"].prefix),
+ ]
+ )
else:
- args.extend([
- self.define('VISIT_SERVER_COMPONENTS_ONLY', True),
- self.define('VISIT_ENGINE_ONLY', True),
- ])
+ args.extend(
+ [
+ self.define("VISIT_SERVER_COMPONENTS_ONLY", True),
+ self.define("VISIT_ENGINE_ONLY", True),
+ ]
+ )
# OpenGL args
- args.extend([
- self.define('VISIT_USE_X', 'glx' in spec),
- self.define('VISIT_MESAGL_DIR', 'IGNORE'),
- self.define('VISIT_OPENGL_DIR', 'IGNORE'),
- self.define('VISIT_OSMESA_DIR', 'IGNORE'),
- self.define('OpenGL_GL_PREFERENCE', 'LEGACY'),
- self.define('OPENGL_INCLUDE_DIR', spec['gl'].headers.directories[0]),
- self.define('OPENGL_glu_LIBRARY', spec['glu'].libs[0]),
- ])
- if '+osmesa' in spec:
- args.extend([
- self.define('HAVE_OSMESA', True),
- self.define('OSMESA_LIBRARIES', spec['osmesa'].libs[0]),
- self.define('OPENGL_gl_LIBRARY', spec['osmesa'].libs[0]),
- ])
+ args.extend(
+ [
+ self.define("VISIT_USE_X", "glx" in spec),
+ self.define("VISIT_MESAGL_DIR", "IGNORE"),
+ self.define("VISIT_OPENGL_DIR", "IGNORE"),
+ self.define("VISIT_OSMESA_DIR", "IGNORE"),
+ self.define("OpenGL_GL_PREFERENCE", "LEGACY"),
+ self.define("OPENGL_INCLUDE_DIR", spec["gl"].headers.directories[0]),
+ self.define("OPENGL_glu_LIBRARY", spec["glu"].libs[0]),
+ ]
+ )
+ if "+osmesa" in spec:
+ args.extend(
+ [
+ self.define("HAVE_OSMESA", True),
+ self.define("OSMESA_LIBRARIES", spec["osmesa"].libs[0]),
+ self.define("OPENGL_gl_LIBRARY", spec["osmesa"].libs[0]),
+ ]
+ )
else:
- args.append(self.define('OPENGL_gl_LIBRARY', spec['gl'].libs[0]))
-
- if '+hdf5' in spec:
- args.append(self.define('HDF5_DIR', spec['hdf5'].prefix))
- if '+mpi' in spec and '+mpi' in spec['hdf5']:
- args.append(self.define('VISIT_HDF5_MPI_DIR', spec['hdf5'].prefix))
-
- if '+silo' in spec:
- args.append(self.define('VISIT_SILO_DIR', spec['silo'].prefix))
-
- if '+mpi' in spec:
- args.extend([
- self.define('VISIT_PARALLEL', True),
- self.define('VISIT_MPI_COMPILER', spec['mpi'].mpicxx),
- ])
+ args.append(self.define("OPENGL_gl_LIBRARY", spec["gl"].libs[0]))
+
+ if "+hdf5" in spec:
+ args.append(self.define("HDF5_DIR", spec["hdf5"].prefix))
+ if "+mpi" in spec and "+mpi" in spec["hdf5"]:
+ args.append(self.define("VISIT_HDF5_MPI_DIR", spec["hdf5"].prefix))
+
+ if "+silo" in spec:
+ args.append(self.define("VISIT_SILO_DIR", spec["silo"].prefix))
+
+ if "+mpi" in spec:
+ args.extend(
+ [
+ self.define("VISIT_PARALLEL", True),
+ self.define("VISIT_MPI_COMPILER", spec["mpi"].mpicxx),
+ ]
+ )
else:
- args.append(self.define('VISIT_PARALLEL', False))
+ args.append(self.define("VISIT_PARALLEL", False))
return args
@@ -256,6 +275,6 @@ class Visit(CMakePackage):
# despite VisIt may have multiple versions
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('-version', output=str, error=str)
- match = re.search(r'\s*(\d[\d\.]+)\.', output)
+ output = Executable(exe)("-version", output=str, error=str)
+ match = re.search(r"\s*(\d[\d\.]+)\.", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/vite/package.py b/var/spack/repos/builtin/packages/vite/package.py
index 85a450ec08..59b709ef8a 100644
--- a/var/spack/repos/builtin/packages/vite/package.py
+++ b/var/spack/repos/builtin/packages/vite/package.py
@@ -13,20 +13,20 @@ class Vite(CMakePackage):
"""
homepage = "https://solverstack.gitlabpages.inria.fr/vite/"
- maintainers = ['trahay']
+ maintainers = ["trahay"]
git = "https://gitlab.inria.fr/solverstack/vite.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('cmake@3.1:', type='build')
- depends_on('qt+opengl')
- depends_on('glm')
- depends_on('glew')
- depends_on('otf2', when='+otf2')
- depends_on('tau', when='+tau')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("qt+opengl")
+ depends_on("glm")
+ depends_on("glew")
+ depends_on("otf2", when="+otf2")
+ depends_on("tau", when="+tau")
- variant('tau', default=False, description='Support for TAU trace format')
- variant('otf2', default=False, description='Support for OTF2 trace format')
+ variant("tau", default=False, description="Support for TAU trace format")
+ variant("otf2", default=False, description="Support for OTF2 trace format")
def cmake_args(self):
define = CMakePackage.define
diff --git a/var/spack/repos/builtin/packages/vizglow/package.py b/var/spack/repos/builtin/packages/vizglow/package.py
index 9d7c702050..63bc1fd0ea 100644
--- a/var/spack/repos/builtin/packages/vizglow/package.py
+++ b/var/spack/repos/builtin/packages/vizglow/package.py
@@ -22,52 +22,70 @@ class Vizglow(Package):
homepage = "https://esgeetech.com/products/vizglow-plasma-modeling/"
manual_download = True
- version('2.2alpha20', '2bef890c66f3a44aaf96f7c96788c89e', expand=False,
- url="file://{0}/VizGlow_v2.2alpha20-Linux-x86_64-R09December2016-Install".format(os.getcwd()))
- version('2.2alpha17', '1de268564363e0ee86f9ffff1c3b82e1', expand=False,
- url="file://{0}/VizGlow_v2.2alpha17-R21November2016-Linux-x86_64-Install".format(os.getcwd()))
- version('2.2alpha15', 'be2b5044f30f2b2c3bbe87a0037bf228', expand=False,
- url="file://{0}/VizGlow_v2.2alpha15-Linux-x86_64-R31October2016-Install".format(os.getcwd()))
+ version(
+ "2.2alpha20",
+ "2bef890c66f3a44aaf96f7c96788c89e",
+ expand=False,
+ url="file://{0}/VizGlow_v2.2alpha20-Linux-x86_64-R09December2016-Install".format(
+ os.getcwd()
+ ),
+ )
+ version(
+ "2.2alpha17",
+ "1de268564363e0ee86f9ffff1c3b82e1",
+ expand=False,
+ url="file://{0}/VizGlow_v2.2alpha17-R21November2016-Linux-x86_64-Install".format(
+ os.getcwd()
+ ),
+ )
+ version(
+ "2.2alpha15",
+ "be2b5044f30f2b2c3bbe87a0037bf228",
+ expand=False,
+ url="file://{0}/VizGlow_v2.2alpha15-Linux-x86_64-R31October2016-Install".format(
+ os.getcwd()
+ ),
+ )
# depends_on('mesa') # TODO: mesa build doesn't work for me
- depends_on('zlib')
- depends_on('freetype')
- depends_on('fontconfig')
- depends_on('libxrender')
- depends_on('xterm')
+ depends_on("zlib")
+ depends_on("freetype")
+ depends_on("fontconfig")
+ depends_on("libxrender")
+ depends_on("xterm")
# Can't get mozjs to build, packagekit -> polkit -> mozjs
# depends_on('packagekit+gtk')
- depends_on('libcanberra+gtk')
+ depends_on("libcanberra+gtk")
# Licensing
license_required = True
- license_comment = '#'
- license_files = ['esgeelm.lic']
- license_vars = ['ESGEE_LICENSE_FILE']
+ license_comment = "#"
+ license_files = ["esgeelm.lic"]
+ license_vars = ["ESGEE_LICENSE_FILE"]
def configure(self, prefix):
# Dictionary of responses
responses = {
- 'CreateDesktopShortcut': 'No',
- 'CreateQuickLaunchShortcut': 'No',
- 'InstallDir': prefix
+ "CreateDesktopShortcut": "No",
+ "CreateQuickLaunchShortcut": "No",
+ "InstallDir": prefix,
}
# Write response file
- with open('spack-responses.txt', 'w') as response_file:
+ with open("spack-responses.txt", "w") as response_file:
for key in responses:
- response_file.write('{0}: {1}\n'.format(key, responses[key]))
+ response_file.write("{0}: {1}\n".format(key, responses[key]))
def install(self, spec, prefix):
self.configure(prefix)
- installer = glob.glob('VizGlow*Install')[0]
+ installer = glob.glob("VizGlow*Install")[0]
- chmod = which('chmod')
- chmod('+x', installer)
+ chmod = which("chmod")
+ chmod("+x", installer)
installer = Executable(installer)
- installer('--mode', 'silent', '--response-file', 'spack-responses.txt')
+ installer("--mode", "silent", "--response-file", "spack-responses.txt")
self.filter_ld_library_path(spec, prefix)
@@ -78,17 +96,17 @@ class Vizglow(Package):
Since the installer is a binary file, we have no means of specifying
an RPATH to use."""
- files = glob.glob(prefix + '/binaries/*.run')
+ files = glob.glob(prefix + "/binaries/*.run")
- ld_library_path = ':'.join([
- spec['zlib'].prefix.lib,
- spec['freetype'].prefix.lib,
- spec['fontconfig'].prefix.lib,
- spec['libxrender'].prefix.lib,
- spec['libcanberra'].prefix.lib
- ])
+ ld_library_path = ":".join(
+ [
+ spec["zlib"].prefix.lib,
+ spec["freetype"].prefix.lib,
+ spec["fontconfig"].prefix.lib,
+ spec["libxrender"].prefix.lib,
+ spec["libcanberra"].prefix.lib,
+ ]
+ )
for runfile in files:
- filter_file('(export LD_LIBRARY_PATH=)$',
- r'\1{0}'.format(ld_library_path),
- runfile)
+ filter_file("(export LD_LIBRARY_PATH=)$", r"\1{0}".format(ld_library_path), runfile)
diff --git a/var/spack/repos/builtin/packages/vmatch/package.py b/var/spack/repos/builtin/packages/vmatch/package.py
index b0a2417895..2cc4a1f1e8 100644
--- a/var/spack/repos/builtin/packages/vmatch/package.py
+++ b/var/spack/repos/builtin/packages/vmatch/package.py
@@ -8,12 +8,12 @@ from spack.package import *
class Vmatch(Package):
"""Vmatch is a versatile software tool for efficiently solving large scale
- sequence matching tasks"""
+ sequence matching tasks"""
homepage = "http://www.vmatch.de/"
- url = "http://www.vmatch.de/distributions/vmatch-2.3.0-Linux_x86_64-64bit.tar.gz"
+ url = "http://www.vmatch.de/distributions/vmatch-2.3.0-Linux_x86_64-64bit.tar.gz"
- version('2.3.0', sha256='5e18d0dddf04e86dad193fcdde6e48f3901365932634125602d8808f35acf979')
+ version("2.3.0", sha256="5e18d0dddf04e86dad193fcdde6e48f3901365932634125602d8808f35acf979")
def install(self, spec, prefix):
install_tree(self.stage.source_path, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/vmc/package.py b/var/spack/repos/builtin/packages/vmc/package.py
index 09e4dddc77..06bdbcbf02 100644
--- a/var/spack/repos/builtin/packages/vmc/package.py
+++ b/var/spack/repos/builtin/packages/vmc/package.py
@@ -10,15 +10,15 @@ class Vmc(CMakePackage):
"""The Virtual Monte Carlo (VMC) library"""
homepage = "https://github.com/vmc-project/vmc"
- git = 'https://github.com/vmc-project/vmc.git'
- url = "https://github.com/vmc-project/vmc/archive/v1-0-p3.tar.gz"
+ git = "https://github.com/vmc-project/vmc.git"
+ url = "https://github.com/vmc-project/vmc/archive/v1-0-p3.tar.gz"
- maintainers = ['ChristianTackeGSI']
+ maintainers = ["ChristianTackeGSI"]
- version('1-0-p3', sha256='46385776d7639fdf23df2a2a5426fb9a9a69836d237c1259b1a22bfb649cb47e')
- version('1-0-p2', sha256='46b4c82b0b7516502e88db920732fc78f06f0393ac740a17816f2eb53f80e75e')
- version('1-0-p1', sha256='4a20515f7de426797955cec4a271958b07afbaa330770eeefb5805c882ad9749')
+ version("1-0-p3", sha256="46385776d7639fdf23df2a2a5426fb9a9a69836d237c1259b1a22bfb649cb47e")
+ version("1-0-p2", sha256="46b4c82b0b7516502e88db920732fc78f06f0393ac740a17816f2eb53f80e75e")
+ version("1-0-p1", sha256="4a20515f7de426797955cec4a271958b07afbaa330770eeefb5805c882ad9749")
- patch('dict_fixes_101.patch', when='@1-0-p1')
+ patch("dict_fixes_101.patch", when="@1-0-p1")
- depends_on('root@6.18.04: ~vmc')
+ depends_on("root@6.18.04: ~vmc")
diff --git a/var/spack/repos/builtin/packages/vmd/package.py b/var/spack/repos/builtin/packages/vmd/package.py
index c859d67a17..8a35eb65b1 100644
--- a/var/spack/repos/builtin/packages/vmd/package.py
+++ b/var/spack/repos/builtin/packages/vmd/package.py
@@ -22,37 +22,41 @@ class Vmd(Package):
"""
homepage = "https://www.ks.uiuc.edu/Research/vmd/"
- version('1.9.3', sha256='145b4d0cc10b56cadeb71e16c54ab8be713e268f11491714cd617422758ec643',
- url='file://{0}/vmd-1.9.3.bin.LINUXAMD64-CUDA8-OptiX4-OSPRay111p1.opengl.tar.gz'.format(os.getcwd()))
+ version(
+ "1.9.3",
+ sha256="145b4d0cc10b56cadeb71e16c54ab8be713e268f11491714cd617422758ec643",
+ url="file://{0}/vmd-1.9.3.bin.LINUXAMD64-CUDA8-OptiX4-OSPRay111p1.opengl.tar.gz".format(
+ os.getcwd()
+ ),
+ )
manual_download = True
- depends_on('libx11', type=('run', 'link'))
- depends_on('libxi', type=('run', 'link'))
- depends_on('libxinerama', type=('run', 'link'))
- depends_on('gl@3:', type=('run', 'link'))
- depends_on('patchelf', type='build')
+ depends_on("libx11", type=("run", "link"))
+ depends_on("libxi", type=("run", "link"))
+ depends_on("libxinerama", type=("run", "link"))
+ depends_on("gl@3:", type=("run", "link"))
+ depends_on("patchelf", type="build")
def setup_build_environment(self, env):
- env.set('VMDINSTALLBINDIR', self.prefix.bin)
- env.set('VMDINSTALLLIBRARYDIR', self.prefix.lib64)
+ env.set("VMDINSTALLBINDIR", self.prefix.bin)
+ env.set("VMDINSTALLLIBRARYDIR", self.prefix.lib64)
def install(self, spec, prefix):
- configure = Executable('./configure')
- configure('LINUXAMD64')
- with working_dir(join_path(self.stage.source_path, 'src')):
- make('install')
+ configure = Executable("./configure")
+ configure("LINUXAMD64")
+ with working_dir(join_path(self.stage.source_path, "src")):
+ make("install")
- @run_after('install')
+ @run_after("install")
def ensure_rpaths(self):
# make sure the executable finds and uses the Spack-provided
# libraries, otherwise the executable may or may not run depending
# on what is installed on the host
- patchelf = which('patchelf')
- rpath = ':'.join(
- self.spec[dep].libs.directories[0]
- for dep in ['libx11', 'libxi', 'libxinerama', 'gl'])
- patchelf('--set-rpath', rpath,
- join_path(self.prefix, 'lib64', 'vmd_LINUXAMD64'))
+ patchelf = which("patchelf")
+ rpath = ":".join(
+ self.spec[dep].libs.directories[0] for dep in ["libx11", "libxi", "libxinerama", "gl"]
+ )
+ patchelf("--set-rpath", rpath, join_path(self.prefix, "lib64", "vmd_LINUXAMD64"))
def setup_run_environment(self, env):
- env.set('PLUGINDIR', self.spec.prefix.lib64.plugins)
+ env.set("PLUGINDIR", self.spec.prefix.lib64.plugins)
diff --git a/var/spack/repos/builtin/packages/volk/package.py b/var/spack/repos/builtin/packages/volk/package.py
index 457952e228..9053137f23 100644
--- a/var/spack/repos/builtin/packages/volk/package.py
+++ b/var/spack/repos/builtin/packages/volk/package.py
@@ -23,11 +23,11 @@ class Volk(CMakePackage):
SIMD code."""
homepage = "https://github.com/gnuradio/volk"
- url = "https://github.com/gnuradio/volk/archive/v2.3.0.tar.gz"
+ url = "https://github.com/gnuradio/volk/archive/v2.3.0.tar.gz"
- maintainers = ['aweits']
+ maintainers = ["aweits"]
- version('2.3.0', sha256='f42c928f561b128acfe4adb21227e4a62a3f6ab8103592fc3233765ff326d5fc')
+ version("2.3.0", sha256="f42c928f561b128acfe4adb21227e4a62a3f6ab8103592fc3233765ff326d5fc")
- depends_on('python@3.4:', type=('build', 'run'))
- depends_on('py-mako@0.4.2:', type=('build', 'run'))
+ depends_on("python@3.4:", type=("build", "run"))
+ depends_on("py-mako@0.4.2:", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/voropp/package.py b/var/spack/repos/builtin/packages/voropp/package.py
index 4cde3e8fd4..ec33ba26ea 100644
--- a/var/spack/repos/builtin/packages/voropp/package.py
+++ b/var/spack/repos/builtin/packages/voropp/package.py
@@ -12,25 +12,18 @@ class Voropp(MakefilePackage):
scientific fields."""
homepage = "http://math.lbl.gov/voro++/about.html"
- url = "http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz"
+ url = "http://math.lbl.gov/voro++/download/dir/voro++-0.4.6.tar.gz"
- variant('pic', default=True,
- description='Position independent code')
+ variant("pic", default=True, description="Position independent code")
- version('0.4.6', sha256='ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e')
+ version("0.4.6", sha256="ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e")
def edit(self, spec, prefix):
- filter_file(r'CC=g\+\+',
- 'CC={0}'.format(self.compiler.cxx),
- 'config.mk')
- filter_file(r'PREFIX=/usr/local',
- 'PREFIX={0}'.format(self.prefix),
- 'config.mk')
+ filter_file(r"CC=g\+\+", "CC={0}".format(self.compiler.cxx), "config.mk")
+ filter_file(r"PREFIX=/usr/local", "PREFIX={0}".format(self.prefix), "config.mk")
# We can safely replace the default CFLAGS which are:
# CFLAGS=-Wall -ansi -pedantic -O3
- cflags = ''
- if '+pic' in spec:
+ cflags = ""
+ if "+pic" in spec:
cflags += self.compiler.cc_pic_flag
- filter_file(r'CFLAGS=.*',
- 'CFLAGS={0}'.format(cflags),
- 'config.mk')
+ filter_file(r"CFLAGS=.*", "CFLAGS={0}".format(cflags), "config.mk")
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 19eb556ebd..2651ebf849 100644
--- a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py
+++ b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py
@@ -10,34 +10,96 @@ from spack.pkg.builtin.boost import Boost
class VotcaCsgTutorials(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the VOTCA coarse-graining tutorials.
+ This package contains the VOTCA coarse-graining tutorials.
"""
+
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']
-
- version('stable', branch='stable', deprecated=True)
- version('2021.2', sha256='156c5ec55a288e3013d393e66a1d2f09ebf4f14056d50d081535004696e7f5ba', deprecated=True)
- version('2021.1', sha256='5ea1e6ca370e6e7845f9195495f5fb8bbd72d601980e123ae7852f491f03949a', deprecated=True)
- version('2021', sha256='2b85c69007bb7d773529020e55fd82fed65651ee21eedccca9a801ab248ece97', deprecated=True)
- version('1.6.4', sha256='34ef40db6b178a7f513f8a6f43e7caff6ecb498d66d7bf8bc44900bc7aea31dc', deprecated=True)
- version('1.6.3', sha256='709582b978d84f9de09ae6c3ba4ed28daec886d4e0431bc7d19c7246bd65f0b1', deprecated=True)
- version('1.6.2', sha256='7c25e76391f3ffdd15f8a91aeed2d3ce7377591f128ed4ae34b36eca20e5af8f', deprecated=True)
- version('1.6.1', sha256='d8428c4a03ce42d88317045ec555af3defa022fd9a61f05e07b57c5577288c8c', deprecated=True)
- version('1.6', sha256='54946c647724f1beb95942d47ec7f4cf7a95a59ec7268522693d5ec723585daf', deprecated=True)
- version('1.5.1', sha256='e35cea92df0e7d05ca7b449c1b5d84d887a3a23c7796abe3b84e4d6feec7faca', deprecated=True)
- version('1.5', sha256='03b841fb94129cf59781a7a5e3b71936c414aa9dfa17a50d7bc856d46274580c', deprecated=True)
- version('1.4.1', sha256='623724192c3a7d76b603a74a3326f181045f10f38b9f56dce754a90f1a74556e', deprecated=True)
- version('1.4', sha256='27d50acd68a9d8557fef18ec2b0c62841ae91c22275ab9afbd65c35e4dd5f719', deprecated=True)
-
- for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]:
- depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v))
+ url = "https://github.com/votca/csg-tutorials/tarball/v1.4"
+ git = "https://github.com/votca/csg-tutorials.git"
+ maintainers = ["junghans"]
+
+ version("stable", branch="stable", deprecated=True)
+ version(
+ "2021.2",
+ sha256="156c5ec55a288e3013d393e66a1d2f09ebf4f14056d50d081535004696e7f5ba",
+ deprecated=True,
+ )
+ version(
+ "2021.1",
+ sha256="5ea1e6ca370e6e7845f9195495f5fb8bbd72d601980e123ae7852f491f03949a",
+ deprecated=True,
+ )
+ version(
+ "2021",
+ sha256="2b85c69007bb7d773529020e55fd82fed65651ee21eedccca9a801ab248ece97",
+ deprecated=True,
+ )
+ version(
+ "1.6.4",
+ sha256="34ef40db6b178a7f513f8a6f43e7caff6ecb498d66d7bf8bc44900bc7aea31dc",
+ deprecated=True,
+ )
+ version(
+ "1.6.3",
+ sha256="709582b978d84f9de09ae6c3ba4ed28daec886d4e0431bc7d19c7246bd65f0b1",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="7c25e76391f3ffdd15f8a91aeed2d3ce7377591f128ed4ae34b36eca20e5af8f",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="d8428c4a03ce42d88317045ec555af3defa022fd9a61f05e07b57c5577288c8c",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="54946c647724f1beb95942d47ec7f4cf7a95a59ec7268522693d5ec723585daf",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="e35cea92df0e7d05ca7b449c1b5d84d887a3a23c7796abe3b84e4d6feec7faca",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="03b841fb94129cf59781a7a5e3b71936c414aa9dfa17a50d7bc856d46274580c",
+ deprecated=True,
+ )
+ version(
+ "1.4.1",
+ sha256="623724192c3a7d76b603a74a3326f181045f10f38b9f56dce754a90f1a74556e",
+ deprecated=True,
+ )
+ version(
+ "1.4",
+ sha256="27d50acd68a9d8557fef18ec2b0c62841ae91c22275ab9afbd65c35e4dd5f719",
+ deprecated=True,
+ )
+
+ for v in [
+ "1.4",
+ "1.4.1",
+ "1.5",
+ "1.5.1",
+ "1.6",
+ "1.6.1",
+ "1.6.2",
+ "1.6.3",
+ "1.6.4",
+ "2021",
+ "2021.1",
+ "2021.2",
+ "stable",
+ ]:
+ depends_on("votca-csg@%s" % v, when="@%s:%s.0" % (v, v))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
diff --git a/var/spack/repos/builtin/packages/votca-csg/package.py b/var/spack/repos/builtin/packages/votca-csg/package.py
index a3b7387af2..34597f4952 100644
--- a/var/spack/repos/builtin/packages/votca-csg/package.py
+++ b/var/spack/repos/builtin/packages/votca-csg/package.py
@@ -9,35 +9,97 @@ from spack.package import *
class VotcaCsg(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the VOTCA coarse-graining engine.
+ This package contains the VOTCA coarse-graining engine.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/csg/tarball/v1.4"
- git = "https://github.com/votca/csg.git"
- maintainers = ['junghans']
-
- version('stable', branch='stable', deprecated=True)
- version('2021.2', sha256='4c58ea90cc1b7fe95f7bc00634faadba945316417e741192d715cea6aa83f4ac', deprecated=True)
- version('2021.1', sha256='1e9cf90ddd7539e711e795292b721a4ee130a2089e659fa068a12960b77fff14', deprecated=True)
- version('2021', sha256='d66c9b30ce2a56d630d5db281444447d398be643005ebea70d3735fb60357305', deprecated=True)
- version('1.6.4', sha256='eae771b623f3c3edb09744030d053f10c75d64bad919df26c4f9bf3bfaa1cf86', deprecated=True)
- version('1.6.3', sha256='35456b1f3116364b10ada37d99798294bd2d3df2e670cef3936251f88036ef88', deprecated=True)
- version('1.6.2', sha256='96b244b282005259832ed6ec0dc22dafe132dcfc3d73dcd8e53b62f40befb545', deprecated=True)
- version('1.6.1', sha256='ed12bcb1ccdf71f54e21cdcc9803add4b8ebdc6b8263cb5b0034f5db01e31dbb', deprecated=True)
- version('1.6', sha256='8cf6a4ac3ef7347c720a44d8a676f8cbd1462e162f6113de39f27b89354465ea', deprecated=True)
- version('1.5.1', sha256='7fca1261bd267bf38d2edd26259730fed3126c0c3fd91fb81940dbe17bb568fd', deprecated=True)
- version('1.5', sha256='160387cdc51f87dd20ff2e2eed97086beee415d48f3c92f4199f6109068c8ff4', deprecated=True)
- version('1.4.1', sha256='41dccaecadd0165c011bec36a113629e27745a5a133d1a042efe4356acdb5450', deprecated=True)
- version('1.4', sha256='c13e7febd792de8c3d426203f089bd4d33b8067f9db5e8840e4579c88b61146e', deprecated=True)
-
- depends_on("cmake@2.8:", type='build')
- for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]:
- depends_on('votca-tools@%s' % v, when="@%s:%s.0" % (v, v))
+ url = "https://github.com/votca/csg/tarball/v1.4"
+ git = "https://github.com/votca/csg.git"
+ maintainers = ["junghans"]
+
+ version("stable", branch="stable", deprecated=True)
+ version(
+ "2021.2",
+ sha256="4c58ea90cc1b7fe95f7bc00634faadba945316417e741192d715cea6aa83f4ac",
+ deprecated=True,
+ )
+ version(
+ "2021.1",
+ sha256="1e9cf90ddd7539e711e795292b721a4ee130a2089e659fa068a12960b77fff14",
+ deprecated=True,
+ )
+ version(
+ "2021",
+ sha256="d66c9b30ce2a56d630d5db281444447d398be643005ebea70d3735fb60357305",
+ deprecated=True,
+ )
+ version(
+ "1.6.4",
+ sha256="eae771b623f3c3edb09744030d053f10c75d64bad919df26c4f9bf3bfaa1cf86",
+ deprecated=True,
+ )
+ version(
+ "1.6.3",
+ sha256="35456b1f3116364b10ada37d99798294bd2d3df2e670cef3936251f88036ef88",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="96b244b282005259832ed6ec0dc22dafe132dcfc3d73dcd8e53b62f40befb545",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="ed12bcb1ccdf71f54e21cdcc9803add4b8ebdc6b8263cb5b0034f5db01e31dbb",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="8cf6a4ac3ef7347c720a44d8a676f8cbd1462e162f6113de39f27b89354465ea",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="7fca1261bd267bf38d2edd26259730fed3126c0c3fd91fb81940dbe17bb568fd",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="160387cdc51f87dd20ff2e2eed97086beee415d48f3c92f4199f6109068c8ff4",
+ deprecated=True,
+ )
+ version(
+ "1.4.1",
+ sha256="41dccaecadd0165c011bec36a113629e27745a5a133d1a042efe4356acdb5450",
+ deprecated=True,
+ )
+ version(
+ "1.4",
+ sha256="c13e7febd792de8c3d426203f089bd4d33b8067f9db5e8840e4579c88b61146e",
+ deprecated=True,
+ )
+
+ depends_on("cmake@2.8:", type="build")
+ for v in [
+ "1.4",
+ "1.4.1",
+ "1.5",
+ "1.5.1",
+ "1.6",
+ "1.6.1",
+ "1.6.2",
+ "1.6.3",
+ "1.6.4",
+ "2021",
+ "2021.1",
+ "2021.2",
+ "stable",
+ ]:
+ depends_on("votca-tools@%s" % v, when="@%s:%s.0" % (v, v))
depends_on("boost+exception+filesystem+system+serialization+container+math+regex")
depends_on("gromacs~mpi@5.1:2019")
depends_on("hdf5~mpi")
diff --git a/var/spack/repos/builtin/packages/votca-csgapps/package.py b/var/spack/repos/builtin/packages/votca-csgapps/package.py
index 9f9ec7a036..75a1de9067 100644
--- a/var/spack/repos/builtin/packages/votca-csgapps/package.py
+++ b/var/spack/repos/builtin/packages/votca-csgapps/package.py
@@ -9,28 +9,64 @@ from spack.package import *
class VotcaCsgapps(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the VOTCA coarse-graining extra apps.
+ This package contains the VOTCA coarse-graining extra apps.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/csgapps/tarball/v1.4"
- git = "https://github.com/votca/csgapps.git"
- maintainers = ['junghans']
-
- version('1.6.4', sha256='ef3d6fbc7f2ff2f29af7d170a5351ae3c37f52ca4c2b1697b1d2e30c26ff4eb1', deprecated=True)
- version('1.6.3', sha256='fdb6a94eabdfe1bfae6002da16e364086d036c2dc24700a941b73d5bb1afc422', deprecated=True)
- version('1.6.2', sha256='f7db0bda27d4419c570f44dc60d04b1fd7b4cdcf10db6301005fca70111fcfe3', deprecated=True)
- version('1.6.1', sha256='03c7cef2a76e73cf953b2b5ea2cdca765ec1a2627d0a9d8869d46166e63d197c', deprecated=True)
- version('1.6', sha256='084bbc5b179bb7eb8f6671d2d5fa13e69e68946570c9120a7e4b10aff1866e2e', deprecated=True)
- version('1.5.1', sha256='b4946711e88a1745688b6cce5aad872e6e2ea200fededf38d77a864883e3750e', deprecated=True)
- version('1.5', sha256='18b40ce6222509bc70aa9d56b8c538cd5903edf7294d6f95530668e555206d5b', deprecated=True)
- version('1.4.1', sha256='095d9ee4cd49d2fd79c10e0e84e6890b755e54dec6a5cd580a2b4241ba230a2b', deprecated=True)
- version('1.4', sha256='4ea8348c2f7de3cc488f48fbd8652e69b52515441952766c06ff67ed1aaf69a0', deprecated=True)
-
- for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4"]:
- depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v))
+ url = "https://github.com/votca/csgapps/tarball/v1.4"
+ git = "https://github.com/votca/csgapps.git"
+ maintainers = ["junghans"]
+
+ version(
+ "1.6.4",
+ sha256="ef3d6fbc7f2ff2f29af7d170a5351ae3c37f52ca4c2b1697b1d2e30c26ff4eb1",
+ deprecated=True,
+ )
+ version(
+ "1.6.3",
+ sha256="fdb6a94eabdfe1bfae6002da16e364086d036c2dc24700a941b73d5bb1afc422",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="f7db0bda27d4419c570f44dc60d04b1fd7b4cdcf10db6301005fca70111fcfe3",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="03c7cef2a76e73cf953b2b5ea2cdca765ec1a2627d0a9d8869d46166e63d197c",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="084bbc5b179bb7eb8f6671d2d5fa13e69e68946570c9120a7e4b10aff1866e2e",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="b4946711e88a1745688b6cce5aad872e6e2ea200fededf38d77a864883e3750e",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="18b40ce6222509bc70aa9d56b8c538cd5903edf7294d6f95530668e555206d5b",
+ deprecated=True,
+ )
+ version(
+ "1.4.1",
+ sha256="095d9ee4cd49d2fd79c10e0e84e6890b755e54dec6a5cd580a2b4241ba230a2b",
+ deprecated=True,
+ )
+ version(
+ "1.4",
+ sha256="4ea8348c2f7de3cc488f48fbd8652e69b52515441952766c06ff67ed1aaf69a0",
+ deprecated=True,
+ )
+
+ for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2", "1.6.3", "1.6.4"]:
+ depends_on("votca-csg@%s" % v, when="@%s:%s.0" % (v, v))
depends_on("boost+exception+math+serialization+container")
diff --git a/var/spack/repos/builtin/packages/votca-ctp/package.py b/var/spack/repos/builtin/packages/votca-ctp/package.py
index 1d090e802c..9b397aab60 100644
--- a/var/spack/repos/builtin/packages/votca-ctp/package.py
+++ b/var/spack/repos/builtin/packages/votca-ctp/package.py
@@ -9,20 +9,29 @@ from spack.package import *
class VotcaCtp(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the VOTCA charge transport engine.
+ This package contains the VOTCA charge transport engine.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/ctp/tarball/v1.5"
- git = "https://github.com/votca/ctp.git"
+ url = "https://github.com/votca/ctp/tarball/v1.5"
+ git = "https://github.com/votca/ctp.git"
- version('1.5.1', sha256='ef957c2f6b09335d0d27ecb7e1b80b55e76a100247bc0d0b3cfef7718d2a1126', deprecated=True)
- version('1.5', sha256='31eb6bcc9339e575116f0c91fe7a4ce7d4189f31f0640329c993fea911401d65', deprecated=True)
+ version(
+ "1.5.1",
+ sha256="ef957c2f6b09335d0d27ecb7e1b80b55e76a100247bc0d0b3cfef7718d2a1126",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="31eb6bcc9339e575116f0c91fe7a4ce7d4189f31f0640329c993fea911401d65",
+ deprecated=True,
+ )
- depends_on("cmake@2.8:", type='build')
- depends_on('votca-tools@1.5.1')
- depends_on('votca-csg@1.5.1')
+ depends_on("cmake@2.8:", type="build")
+ depends_on("votca-tools@1.5.1")
+ depends_on("votca-csg@1.5.1")
depends_on("gsl")
diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py
index 11a9056d7a..2e64bd4448 100644
--- a/var/spack/repos/builtin/packages/votca-tools/package.py
+++ b/var/spack/repos/builtin/packages/votca-tools/package.py
@@ -9,54 +9,109 @@ from spack.package import *
class VotcaTools(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the basic tools library of VOTCA.
+ This package contains the basic tools library of VOTCA.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/tools/tarball/v1.4"
- git = "https://github.com/votca/tools.git"
- maintainers = ['junghans']
-
- version('stable', branch='stable', deprecated=True)
- version('2021.2', sha256='2cd3175b65924803aff90dce49f60e1dda9015988a453d60358e51f0dbb4292d', deprecated=True)
- version('2021.1', sha256='c2fdf5ab72fc75580fb3623182fa88dd0eed856388bdc862aff42148bb0a16e7', deprecated=True)
- version('2021', sha256='b84f68ba4a8bfae7b06b61e1e078dcbfb3b340c516da3be39ef545152da00ccd', deprecated=True)
- version('1.6.4', sha256='aa79ef4617a80ba3ca063932d5ee0d5767c0285b4b613abd373ad3c986ab9f4c', deprecated=True)
- version('1.6.3', sha256='b4ba63861f4342070d81309992f76c4cc798dffeab894bff64799881e75b3cc2', deprecated=True)
- version('1.6.2', sha256='1b31e0dd7550b80b963e6714d671f3516d68ebc1e75068a5d827a6e8b4f1759a', deprecated=True)
- version('1.6.1', sha256='3e8f51d484cb3fdfbeb851aab387807ba4c40aecef8317c90182da68ad282dcc', deprecated=True)
- version('1.6', sha256='cfd0fedc80fecd009f743b5df47777508d76bf3ef294a508a9f11fbb42efe9a5', deprecated=True)
- version('1.5.1', sha256='4be4fe25a2910e24e1720cd9022d214001d38196033ade8f9d6e618b4f47d5c4', deprecated=True)
- version('1.5', sha256='a82a6596c24ff06e79eab17ca02f4405745ceeeb66369693a59023ad0b62cf22', deprecated=True)
- version('1.4.1', sha256='b6b87f6bec8db641a1d8660422ca44919252a69494b32ba6c8c9ac986bae9a65', deprecated=True)
- version('1.4', sha256='41638122e7e59852af61d391b4ab8c308fd2e16652f768077e13a99d206ec5d3', deprecated=True)
+ url = "https://github.com/votca/tools/tarball/v1.4"
+ git = "https://github.com/votca/tools.git"
+ maintainers = ["junghans"]
+
+ version("stable", branch="stable", deprecated=True)
+ version(
+ "2021.2",
+ sha256="2cd3175b65924803aff90dce49f60e1dda9015988a453d60358e51f0dbb4292d",
+ deprecated=True,
+ )
+ version(
+ "2021.1",
+ sha256="c2fdf5ab72fc75580fb3623182fa88dd0eed856388bdc862aff42148bb0a16e7",
+ deprecated=True,
+ )
+ version(
+ "2021",
+ sha256="b84f68ba4a8bfae7b06b61e1e078dcbfb3b340c516da3be39ef545152da00ccd",
+ deprecated=True,
+ )
+ version(
+ "1.6.4",
+ sha256="aa79ef4617a80ba3ca063932d5ee0d5767c0285b4b613abd373ad3c986ab9f4c",
+ deprecated=True,
+ )
+ version(
+ "1.6.3",
+ sha256="b4ba63861f4342070d81309992f76c4cc798dffeab894bff64799881e75b3cc2",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="1b31e0dd7550b80b963e6714d671f3516d68ebc1e75068a5d827a6e8b4f1759a",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="3e8f51d484cb3fdfbeb851aab387807ba4c40aecef8317c90182da68ad282dcc",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="cfd0fedc80fecd009f743b5df47777508d76bf3ef294a508a9f11fbb42efe9a5",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="4be4fe25a2910e24e1720cd9022d214001d38196033ade8f9d6e618b4f47d5c4",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="a82a6596c24ff06e79eab17ca02f4405745ceeeb66369693a59023ad0b62cf22",
+ deprecated=True,
+ )
+ version(
+ "1.4.1",
+ sha256="b6b87f6bec8db641a1d8660422ca44919252a69494b32ba6c8c9ac986bae9a65",
+ deprecated=True,
+ )
+ version(
+ "1.4",
+ sha256="41638122e7e59852af61d391b4ab8c308fd2e16652f768077e13a99d206ec5d3",
+ deprecated=True,
+ )
# https://github.com/votca/tools/pull/229, fix mkl in exported target
- patch("https://github.com/votca/tools/pull/229.patch?full_index=1", sha256="2a9ef179904d5057f36a5ce533c002d8f5880dc4b3eba569825f4a7e7f055eb1", when="@1.6:1.6.0+mkl")
+ patch(
+ "https://github.com/votca/tools/pull/229.patch?full_index=1",
+ sha256="2a9ef179904d5057f36a5ce533c002d8f5880dc4b3eba569825f4a7e7f055eb1",
+ when="@1.6:1.6.0+mkl",
+ )
# https://github.com/votca/tools/pull/361, fix build with newer glibc/gcc, fixed in stable and 2021.1
- patch("https://github.com/votca/tools/commit/6bb7e35ba7d1a31247eafb323be2777ec0439cfe.patch?full_index=1", sha256="5a67eaf362755412b9825558bedb53fac3204713effd60c59f14c54eb1ad52b9", when="@2021:2021.0")
+ patch(
+ "https://github.com/votca/tools/commit/6bb7e35ba7d1a31247eafb323be2777ec0439cfe.patch?full_index=1",
+ sha256="5a67eaf362755412b9825558bedb53fac3204713effd60c59f14c54eb1ad52b9",
+ when="@2021:2021.0",
+ )
- variant('mkl', default=False, description='Build with MKL support')
- conflicts('+mkl', when='@1.4:1.5')
+ variant("mkl", default=False, description="Build with MKL support")
+ conflicts("+mkl", when="@1.4:1.5")
- depends_on("cmake@2.8:", type='build')
+ depends_on("cmake@2.8:", type="build")
depends_on("expat")
depends_on("fftw-api@3")
depends_on("gsl", when="@1.4:1.4.9999")
depends_on("eigen@3.3:", when="@stable,1.5:")
depends_on("boost+exception+filesystem+system+container+math+program_options")
depends_on("sqlite", when="@1.4:1.5")
- depends_on('mkl', when='+mkl')
+ depends_on("mkl", when="+mkl")
def cmake_args(self):
- args = [
- '-DWITH_RC_FILES=OFF'
- ]
+ args = ["-DWITH_RC_FILES=OFF"]
- if '~mkl' in self.spec:
- args.append('-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON')
+ if "~mkl" in self.spec:
+ args.append("-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON")
return args
diff --git a/var/spack/repos/builtin/packages/votca-xtp/package.py b/var/spack/repos/builtin/packages/votca-xtp/package.py
index 18361a826d..fffc09e64d 100644
--- a/var/spack/repos/builtin/packages/votca-xtp/package.py
+++ b/var/spack/repos/builtin/packages/votca-xtp/package.py
@@ -9,37 +9,93 @@ from spack.package import *
class VotcaXtp(CMakePackage):
"""Versatile Object-oriented Toolkit for Coarse-graining
- Applications (VOTCA) is a package intended to reduce the amount of
- routine work when doing systematic coarse-graining of various
- systems. The core is written in C++.
+ Applications (VOTCA) is a package intended to reduce the amount of
+ routine work when doing systematic coarse-graining of various
+ systems. The core is written in C++.
- This package contains the VOTCA exciton transport engine.
+ This package contains the VOTCA exciton transport engine.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/xtp/tarball/v1.4.1"
- git = "https://github.com/votca/xtp.git"
- maintainers = ['junghans']
-
- version('stable', branch='stable', deprecated=True)
- version('2021.2', sha256='a13180cc05a24c441326a2b209e4d1cc6b176f1b8d7aec1aea46b627e230ff8c', deprecated=True)
- version('2021.1', sha256='8ce112fc40676690369133188848dfeb3875d57351286cad4c312057a4dd767b', deprecated=True)
- version('2021', sha256='43bb5a52fec675738f4b5896f0833a1c1090bd7e74f97769697495abf4652e40', deprecated=True)
- version('1.6.4', sha256='699a835954556cf6b2f20dac7942c1761c6dd6c6c3fbdde62c8bfcfd71ee075b', deprecated=True)
- version('1.6.3', sha256='757b9a6a470b3c356f638d62269c5b72b8ace374f006658aef8bb6afd1ad1413', deprecated=True)
- version('1.6.2', sha256='b51a28cddceca6998b981ad61466617ad624d577ce424c0653d92a680f460061', deprecated=True)
- version('1.6.1', sha256='886af50bc12457bbafb06dc927b7fd4cadc3db1b4615b24a08953f6b358debef', deprecated=True)
- version('1.6', sha256='695c2d9d3f924103481529f992e3723bdce10b8edfc294421a849cdf51dbbb6e', deprecated=True)
- version('1.5.1', sha256='17a7722e5a32d236e4f1f6f88b680da4ba5f52bcf65bca3687c6a1c731d10881', deprecated=True)
- version('1.5', sha256='b40b6d19e13f0650e84b8beebe86ce5c09071624f18d66df826f9d8584b4d3c8', deprecated=True)
- version('1.4.1', sha256='4b53d371d6cf648c9e9e9bd1f104d349cafeaf10a02866e3f1d05c574b595a21', deprecated=True)
-
- depends_on("cmake@2.8:", type='build')
- for v in ["1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4", "2021", "2021.1", "2021.2",
- "stable"]:
- depends_on('votca-tools@%s' % v, when="@%s:%s.0" % (v, v))
- depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v))
- depends_on("libxc", when='@stable,1.5:')
- depends_on("ceres-solver", when='@1.5:1.5.9999')
+ url = "https://github.com/votca/xtp/tarball/v1.4.1"
+ git = "https://github.com/votca/xtp.git"
+ maintainers = ["junghans"]
+
+ version("stable", branch="stable", deprecated=True)
+ version(
+ "2021.2",
+ sha256="a13180cc05a24c441326a2b209e4d1cc6b176f1b8d7aec1aea46b627e230ff8c",
+ deprecated=True,
+ )
+ version(
+ "2021.1",
+ sha256="8ce112fc40676690369133188848dfeb3875d57351286cad4c312057a4dd767b",
+ deprecated=True,
+ )
+ version(
+ "2021",
+ sha256="43bb5a52fec675738f4b5896f0833a1c1090bd7e74f97769697495abf4652e40",
+ deprecated=True,
+ )
+ version(
+ "1.6.4",
+ sha256="699a835954556cf6b2f20dac7942c1761c6dd6c6c3fbdde62c8bfcfd71ee075b",
+ deprecated=True,
+ )
+ version(
+ "1.6.3",
+ sha256="757b9a6a470b3c356f638d62269c5b72b8ace374f006658aef8bb6afd1ad1413",
+ deprecated=True,
+ )
+ version(
+ "1.6.2",
+ sha256="b51a28cddceca6998b981ad61466617ad624d577ce424c0653d92a680f460061",
+ deprecated=True,
+ )
+ version(
+ "1.6.1",
+ sha256="886af50bc12457bbafb06dc927b7fd4cadc3db1b4615b24a08953f6b358debef",
+ deprecated=True,
+ )
+ version(
+ "1.6",
+ sha256="695c2d9d3f924103481529f992e3723bdce10b8edfc294421a849cdf51dbbb6e",
+ deprecated=True,
+ )
+ version(
+ "1.5.1",
+ sha256="17a7722e5a32d236e4f1f6f88b680da4ba5f52bcf65bca3687c6a1c731d10881",
+ deprecated=True,
+ )
+ version(
+ "1.5",
+ sha256="b40b6d19e13f0650e84b8beebe86ce5c09071624f18d66df826f9d8584b4d3c8",
+ deprecated=True,
+ )
+ version(
+ "1.4.1",
+ sha256="4b53d371d6cf648c9e9e9bd1f104d349cafeaf10a02866e3f1d05c574b595a21",
+ deprecated=True,
+ )
+
+ depends_on("cmake@2.8:", type="build")
+ for v in [
+ "1.4.1",
+ "1.5",
+ "1.5.1",
+ "1.6",
+ "1.6.1",
+ "1.6.2",
+ "1.6.3",
+ "1.6.4",
+ "2021",
+ "2021.1",
+ "2021.2",
+ "stable",
+ ]:
+ depends_on("votca-tools@%s" % v, when="@%s:%s.0" % (v, v))
+ depends_on("votca-csg@%s" % v, when="@%s:%s.0" % (v, v))
+ depends_on("libxc", when="@stable,1.5:")
+ depends_on("ceres-solver", when="@1.5:1.5.9999")
depends_on("hdf5+cxx~mpi")
depends_on("libint@2.6.0:", when="@2021:")
diff --git a/var/spack/repos/builtin/packages/votca/package.py b/var/spack/repos/builtin/packages/votca/package.py
index 489f414c49..274d8b9d0d 100644
--- a/var/spack/repos/builtin/packages/votca/package.py
+++ b/var/spack/repos/builtin/packages/votca/package.py
@@ -9,59 +9,62 @@ from spack.package import *
class Votca(CMakePackage):
"""VOTCA is a software package which focuses on the analysis of molecular
- dynamics data, the development of systematic coarse-graining techniques
- as well as methods used for simulating microscopic charge (and exciton)
- transport in disordered semiconductors.
+ dynamics data, the development of systematic coarse-graining techniques
+ as well as methods used for simulating microscopic charge (and exciton)
+ transport in disordered semiconductors.
"""
+
homepage = "https://www.votca.org"
- url = "https://github.com/votca/votca/tarball/v2022-rc.1"
- git = "https://github.com/votca/votca.git"
- maintainers = ['junghans']
+ url = "https://github.com/votca/votca/tarball/v2022-rc.1"
+ git = "https://github.com/votca/votca.git"
+ maintainers = ["junghans"]
- version('master', branch='master')
- version('stable', branch='stable')
- version('2022', sha256='7991137098ff4511f4ca2c6f1b6c45f53d92d9f84e5c0d0e32fbc31768f73a83')
+ version("master", branch="master")
+ version("stable", branch="stable")
+ version("2022", sha256="7991137098ff4511f4ca2c6f1b6c45f53d92d9f84e5c0d0e32fbc31768f73a83")
- variant('mkl', default=False, description='Build with MKL support')
- variant('new-gmx', default=False, description='Build against gromacs>2019 - no tabulated kernels')
- variant('xtp', default=True, description='Build xtp parts of votca')
- conflicts('votca-tools')
- conflicts('votca-csg')
- conflicts('votca-xtp')
+ variant("mkl", default=False, description="Build with MKL support")
+ variant(
+ "new-gmx", default=False, description="Build against gromacs>2019 - no tabulated kernels"
+ )
+ variant("xtp", default=True, description="Build xtp parts of votca")
+ conflicts("votca-tools")
+ conflicts("votca-csg")
+ conflicts("votca-xtp")
- depends_on("cmake@3.13:", type='build')
+ depends_on("cmake@3.13:", type="build")
depends_on("expat")
depends_on("fftw-api@3")
depends_on("eigen@3.3:")
depends_on("boost")
- depends_on('mkl', when='+mkl')
+ depends_on("mkl", when="+mkl")
depends_on("hdf5+cxx~mpi")
depends_on("gromacs~mpi@5.1:")
depends_on("gromacs~mpi@5.1:2019", when="~new-gmx")
- with when('+xtp'):
+ with when("+xtp"):
depends_on("libxc")
depends_on("libint@2.6.0:")
depends_on("libecpint")
depends_on("py-h5py")
depends_on("py-lxml")
- depends_on('lammps', type='test')
- depends_on('py-espresso', type='test')
- depends_on('py-pytest', type='test')
+ depends_on("lammps", type="test")
+ depends_on("py-espresso", type="test")
+ depends_on("py-pytest", type="test")
def cmake_args(self):
args = [
- '-DINSTALL_RC_FILES=OFF',
- self.define_from_variant('BUILD_XTP', 'xtp'),
- '-DBUILD_CSGAPPS=ON',
+ "-DINSTALL_RC_FILES=OFF",
+ self.define_from_variant("BUILD_XTP", "xtp"),
+ "-DBUILD_CSGAPPS=ON",
]
- if '~mkl' in self.spec:
- args.append('-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON')
+ if "~mkl" in self.spec:
+ args.append("-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON")
if self.run_tests:
- args.append('-DENABLE_TESTING=ON')
- args.append('-DENABLE_REGRESSION_TESTING=ON')
+ args.append("-DENABLE_TESTING=ON")
+ args.append("-DENABLE_REGRESSION_TESTING=ON")
return args
diff --git a/var/spack/repos/builtin/packages/vpfft/package.py b/var/spack/repos/builtin/packages/vpfft/package.py
index 7735846402..353c1ddd11 100644
--- a/var/spack/repos/builtin/packages/vpfft/package.py
+++ b/var/spack/repos/builtin/packages/vpfft/package.py
@@ -16,15 +16,15 @@ class Vpfft(MakefilePackage):
"""
homepage = "http://www.exmatex.org/vpfft.html"
- git = "https://github.com/exmatex/VPFFT.git"
+ git = "https://github.com/exmatex/VPFFT.git"
- tag = ['proxy-app']
+ tag = ["proxy-app"]
- version('develop')
+ version("develop")
- depends_on('eigen')
- depends_on('fftw')
- depends_on('mpi')
+ depends_on("eigen")
+ depends_on("fftw")
+ depends_on("mpi")
@property
def build_targets(self):
@@ -32,18 +32,19 @@ class Vpfft(MakefilePackage):
"--file=Makefile.make",
"EIGEN_PATH={0}".format(
join_path(
- self.spec['eigen'].prefix.include,
- 'eigen{0}'.format(
- self.spec['eigen'].version.up_to(1)))),
- "FFTW_PATH={0}".format(self.spec['fftw'].prefix),
- "CC={0}".format(self.spec['mpi'].mpicxx)
+ self.spec["eigen"].prefix.include,
+ "eigen{0}".format(self.spec["eigen"].version.up_to(1)),
+ )
+ ),
+ "FFTW_PATH={0}".format(self.spec["fftw"].prefix),
+ "CC={0}".format(self.spec["mpi"].mpicxx),
]
return targets
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('VPFFT++', prefix.bin)
- install('README.md', prefix)
- install('README.make', prefix)
- install('README-license.txt', prefix)
- install_tree('docs', prefix.docs)
+ install("VPFFT++", prefix.bin)
+ install("README.md", prefix)
+ install("README.make", prefix)
+ install("README-license.txt", prefix)
+ install_tree("docs", prefix.docs)
diff --git a/var/spack/repos/builtin/packages/vpic/package.py b/var/spack/repos/builtin/packages/vpic/package.py
index 3aed3c3eb5..3e8b443e27 100644
--- a/var/spack/repos/builtin/packages/vpic/package.py
+++ b/var/spack/repos/builtin/packages/vpic/package.py
@@ -9,22 +9,23 @@ from spack.package import *
class Vpic(CMakePackage):
"""VPIC is a general purpose particle-in-cell simulation code for modeling
- kinetic plasmas in one, two, or three spatial dimensions. It employs a
- second-order, explicit, leapfrog algorithm to update charged particle
- positions and velocities in order to solve the relativistic kinetic
- equation for each species in the plasma, along with a full Maxwell
- description for the electric and magnetic fields evolved via a second-
- order finite-difference-time-domain (FDTD) solve.
+ kinetic plasmas in one, two, or three spatial dimensions. It employs a
+ second-order, explicit, leapfrog algorithm to update charged particle
+ positions and velocities in order to solve the relativistic kinetic
+ equation for each species in the plasma, along with a full Maxwell
+ description for the electric and magnetic fields evolved via a second-
+ order finite-difference-time-domain (FDTD) solve.
"""
+
homepage = "https://github.com/lanl/vpic"
- git = "https://github.com/lanl/vpic.git"
+ git = "https://github.com/lanl/vpic.git"
- version('develop', branch='master', submodules=True)
+ version("develop", branch="master", submodules=True)
- depends_on("cmake@3.1:", type='build')
- depends_on('mpi')
+ depends_on("cmake@3.1:", type="build")
+ depends_on("mpi")
def cmake_args(self):
- options = ['-DENABLE_INTEGRATED_TESTS=ON', '-DENABLE_UNIT_TESTS=ON']
+ options = ["-DENABLE_INTEGRATED_TESTS=ON", "-DENABLE_UNIT_TESTS=ON"]
return options
diff --git a/var/spack/repos/builtin/packages/vsearch/package.py b/var/spack/repos/builtin/packages/vsearch/package.py
index 7a339dc78b..f975bf9e5a 100644
--- a/var/spack/repos/builtin/packages/vsearch/package.py
+++ b/var/spack/repos/builtin/packages/vsearch/package.py
@@ -10,13 +10,13 @@ class Vsearch(AutotoolsPackage):
"""VSEARCH is a versatile open-source tool for metagenomics."""
homepage = "https://github.com/torognes/vsearch"
- url = "https://github.com/torognes/vsearch/archive/v2.4.3.tar.gz"
+ url = "https://github.com/torognes/vsearch/archive/v2.4.3.tar.gz"
- version('2.14.1', sha256='388529a39eb0618a09047bf91e0a8ae8c9fd851a05f8d975e299331748f97741')
- version('2.13.3', sha256='e5f34ece28b76403d3ba4a673eca41178fe399c35a1023dbc87d0c0da5efaa52')
- version('2.4.3', sha256='f7ffc2aec5d76bdaf1ffe7fb733102138214cec3e3846eb225455dcc3c088141')
+ version("2.14.1", sha256="388529a39eb0618a09047bf91e0a8ae8c9fd851a05f8d975e299331748f97741")
+ version("2.13.3", sha256="e5f34ece28b76403d3ba4a673eca41178fe399c35a1023dbc87d0c0da5efaa52")
+ version("2.4.3", sha256="f7ffc2aec5d76bdaf1ffe7fb733102138214cec3e3846eb225455dcc3c088141")
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ depends_on("m4", type="build")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
diff --git a/var/spack/repos/builtin/packages/vsftpd/package.py b/var/spack/repos/builtin/packages/vsftpd/package.py
index 6d7cf5d680..f82ea65dfe 100644
--- a/var/spack/repos/builtin/packages/vsftpd/package.py
+++ b/var/spack/repos/builtin/packages/vsftpd/package.py
@@ -11,19 +11,19 @@ class Vsftpd(MakefilePackage):
Linux."""
homepage = "https://security.appspot.com/vsftpd.html"
- url = "https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz"
+ url = "https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz"
- version('3.0.3', sha256='9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7')
- version('3.0.2', sha256='be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56')
- version('3.0.1', sha256='65487a9fccc0ae566df5999a84448a9ccb57b556b7643ffd345540299487784c')
+ version("3.0.3", sha256="9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7")
+ version("3.0.2", sha256="be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56")
+ version("3.0.1", sha256="65487a9fccc0ae566df5999a84448a9ccb57b556b7643ffd345540299487784c")
- depends_on('libcap')
+ depends_on("libcap")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man5)
mkdirp(prefix.man.man8)
- install('vsftpd', prefix.bin)
- install('vsftpd.conf.5', prefix.man.man5)
- install('vsftpd.8', prefix.man.man8)
- install_tree('xinetd.d', join_path(prefix, 'xinetd.d'))
+ install("vsftpd", prefix.bin)
+ install("vsftpd.conf.5", prefix.man.man5)
+ install("vsftpd.8", prefix.man.man8)
+ install_tree("xinetd.d", join_path(prefix, "xinetd.d"))
diff --git a/var/spack/repos/builtin/packages/vt/package.py b/var/spack/repos/builtin/packages/vt/package.py
index 24a61f25a8..39b7dee328 100644
--- a/var/spack/repos/builtin/packages/vt/package.py
+++ b/var/spack/repos/builtin/packages/vt/package.py
@@ -10,13 +10,13 @@ class Vt(MakefilePackage):
"""A tool set for short variant discovery in genetic sequence data."""
homepage = "https://genome.sph.umich.edu/wiki/vt"
- url = "https://github.com/atks/vt/archive/0.577.tar.gz"
+ url = "https://github.com/atks/vt/archive/0.577.tar.gz"
- version('0.5772', sha256='b147520478a2f7c536524511e48133d0360e88282c7159821813738ccbda97e7')
- version('0.577', sha256='009e2592e787ab37e471b4e8a66520141bb2791ca78142ca1767d27036f460d0')
+ version("0.5772", sha256="b147520478a2f7c536524511e48133d0360e88282c7159821813738ccbda97e7")
+ version("0.577", sha256="009e2592e787ab37e471b4e8a66520141bb2791ca78142ca1767d27036f460d0")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, spack):
mkdirp(prefix.bin)
- install('vt', prefix.bin)
+ install("vt", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/vtable-dumper/package.py b/var/spack/repos/builtin/packages/vtable-dumper/package.py
index 1965dce2b5..2cd7c5890f 100644
--- a/var/spack/repos/builtin/packages/vtable-dumper/package.py
+++ b/var/spack/repos/builtin/packages/vtable-dumper/package.py
@@ -10,13 +10,13 @@ class VtableDumper(MakefilePackage):
"""A tool to list content of virtual tables in a shared library."""
homepage = "https://github.com/lvc/vtable-dumper"
- url = "https://github.com/lvc/vtable-dumper/archive/1.2.tar.gz"
+ url = "https://github.com/lvc/vtable-dumper/archive/1.2.tar.gz"
- version('1.2', sha256='6993781b6a00936fc5f76dc0db4c410acb46b6d6e9836ddbe2e3c525c6dd1fd2')
- version('1.1', sha256='f0a57a7b82a0a56845cea9ab56ad449e63f5f01c6a0c9f1467efa4ef60dd4a93')
- version('1.0', sha256='a222de5a19bf716ab2f35148f43bbf8a052772b54ff622c6387a4ba2440fb9a0')
+ version("1.2", sha256="6993781b6a00936fc5f76dc0db4c410acb46b6d6e9836ddbe2e3c525c6dd1fd2")
+ version("1.1", sha256="f0a57a7b82a0a56845cea9ab56ad449e63f5f01c6a0c9f1467efa4ef60dd4a93")
+ version("1.0", sha256="a222de5a19bf716ab2f35148f43bbf8a052772b54ff622c6387a4ba2440fb9a0")
- depends_on('libelf')
+ depends_on("libelf")
def install(self, spec, prefix):
- make('prefix={0}'.format(prefix), 'install')
+ make("prefix={0}".format(prefix), "install")
diff --git a/var/spack/repos/builtin/packages/vtk-h/package.py b/var/spack/repos/builtin/packages/vtk-h/package.py
index a8566090e3..38f38b9b56 100644
--- a/var/spack/repos/builtin/packages/vtk-h/package.py
+++ b/var/spack/repos/builtin/packages/vtk-h/package.py
@@ -33,45 +33,44 @@ class VtkH(CMakePackage, CudaPackage):
and DIY2 to provide a toolkit with hybrid parallel capabilities."""
homepage = "https://github.com/Alpine-DAV/vtk-h"
- url = "https://github.com/Alpine-DAV/vtk-h/releases/download/v0.5.8/vtkh-v0.5.8.tar.gz"
- git = "https://github.com/Alpine-DAV/vtk-h.git"
-
- maintainers = ['cyrush']
-
- version('develop', branch='develop', submodules=True)
- version('0.8.1', sha256="0cb1c84087e2b9385477fba3e7e197d6eabe1d366bd3bc87d7824e50dcdbe057")
- version('0.8.0', sha256="8366ebfe094c258555f343ba1f9bbad1d8e4804f844768b639f6ff13a6390f29")
- version('0.7.1', sha256="f28f7e6fb0f854a2293265b67cbdfb350b42c13ac08ffffe9cd246f3fe9fb77a")
- version('0.7.0', sha256="1b3c15c1340c5f66edcc2962ffe2f0d86e155f45a4932cf9c407261c203fbc19")
- version('0.6.9', sha256="8111f59c3528f02cb3c5083c17a1737dff9472266b156732794612471f3393c7")
- version('0.6.8', sha256="0a37468ca65fdc12509b9fd53c74d5afb090630280e1161415d7377cad7d45f1")
- version('0.6.7', sha256="aff3ab94cf137fbc3019149363d5d8a39d052b02ecef42c6bf6d076e538af3f2")
- version('0.6.6', sha256="5fe8bae5f55dbeb3047a37499cc41f3b548e4d86f0058993069f1df57f7915a1")
- version('0.6.5', sha256="3e566ee06150edece8a61711d9347de216c1ae45f3b4585784b2252ee9ff2a9b")
- version('0.6.4', sha256="c1345679fa4110cba449a9e27d40774d53c1f0bbddd41e52f5eb395cec1ee2d0")
- version('0.6.3', sha256="388ad05110efac45df6ae0d565a7d16bd05ff83c95b8b2b8daa206360ab73eec")
- version('0.6.2', sha256="1623e943a5a034d474c04755be8f0f40b639183cd9b576b1289eeee687d4cf6d")
- version('0.6.1', sha256="ca30b5ff1a48fa247cd20b3f19452f7744eb744465e0b64205135aece42d274f")
- version('0.6.0', sha256="2fc054f88ae253fb1bfcae22a156bcced08eca963ba90384dcd5b5791e6dfbf4")
- version('0.5.8', sha256="203b337f4280a24a2b75722384f77e0e2f5965058b541efc153db76b7ab98133")
- version('0.5.7', sha256="e8c1925dc34ee6be17cec734121e43002e3c02b54ef8dac341b51a455b95e402")
- version('0.5.6', sha256="c78c0fa71a9687c2951a06d2112b52aa81fdcdcfbc9464d1578326d03fbb205e")
- version('0.5.4', sha256="92bf3741df7a15e36ff41a9a783f3b88eecc86e55cad1defba76f141baa2610b")
- version('0.5.3', sha256="0c4aae3bd2a5906738a6806de2b62ea2049ac8b40ebe7fc2ba25505272c2d359")
- version('0.5.2', sha256="db2e6250c0ece6381fc90540317ad7b5869dbcce0231ce9be125916a77bfdb25")
+ url = "https://github.com/Alpine-DAV/vtk-h/releases/download/v0.5.8/vtkh-v0.5.8.tar.gz"
+ git = "https://github.com/Alpine-DAV/vtk-h.git"
+
+ maintainers = ["cyrush"]
+
+ version("develop", branch="develop", submodules=True)
+ version("0.8.1", sha256="0cb1c84087e2b9385477fba3e7e197d6eabe1d366bd3bc87d7824e50dcdbe057")
+ version("0.8.0", sha256="8366ebfe094c258555f343ba1f9bbad1d8e4804f844768b639f6ff13a6390f29")
+ version("0.7.1", sha256="f28f7e6fb0f854a2293265b67cbdfb350b42c13ac08ffffe9cd246f3fe9fb77a")
+ version("0.7.0", sha256="1b3c15c1340c5f66edcc2962ffe2f0d86e155f45a4932cf9c407261c203fbc19")
+ version("0.6.9", sha256="8111f59c3528f02cb3c5083c17a1737dff9472266b156732794612471f3393c7")
+ version("0.6.8", sha256="0a37468ca65fdc12509b9fd53c74d5afb090630280e1161415d7377cad7d45f1")
+ version("0.6.7", sha256="aff3ab94cf137fbc3019149363d5d8a39d052b02ecef42c6bf6d076e538af3f2")
+ version("0.6.6", sha256="5fe8bae5f55dbeb3047a37499cc41f3b548e4d86f0058993069f1df57f7915a1")
+ version("0.6.5", sha256="3e566ee06150edece8a61711d9347de216c1ae45f3b4585784b2252ee9ff2a9b")
+ version("0.6.4", sha256="c1345679fa4110cba449a9e27d40774d53c1f0bbddd41e52f5eb395cec1ee2d0")
+ version("0.6.3", sha256="388ad05110efac45df6ae0d565a7d16bd05ff83c95b8b2b8daa206360ab73eec")
+ version("0.6.2", sha256="1623e943a5a034d474c04755be8f0f40b639183cd9b576b1289eeee687d4cf6d")
+ version("0.6.1", sha256="ca30b5ff1a48fa247cd20b3f19452f7744eb744465e0b64205135aece42d274f")
+ version("0.6.0", sha256="2fc054f88ae253fb1bfcae22a156bcced08eca963ba90384dcd5b5791e6dfbf4")
+ version("0.5.8", sha256="203b337f4280a24a2b75722384f77e0e2f5965058b541efc153db76b7ab98133")
+ version("0.5.7", sha256="e8c1925dc34ee6be17cec734121e43002e3c02b54ef8dac341b51a455b95e402")
+ version("0.5.6", sha256="c78c0fa71a9687c2951a06d2112b52aa81fdcdcfbc9464d1578326d03fbb205e")
+ version("0.5.4", sha256="92bf3741df7a15e36ff41a9a783f3b88eecc86e55cad1defba76f141baa2610b")
+ version("0.5.3", sha256="0c4aae3bd2a5906738a6806de2b62ea2049ac8b40ebe7fc2ba25505272c2d359")
+ version("0.5.2", sha256="db2e6250c0ece6381fc90540317ad7b5869dbcce0231ce9be125916a77bfdb25")
variant("shared", default=True, description="Build vtk-h as shared libs")
variant("mpi", default=True, description="build mpi support")
# set to false for systems that implicitly link mpi
- variant('blt_find_mpi', default=True, description='Use BLT CMake Find MPI logic')
+ variant("blt_find_mpi", default=True, description="Use BLT CMake Find MPI logic")
variant("serial", default=True, description="build serial (non-mpi) libraries")
- variant("openmp", default=(sys.platform != 'darwin'),
- description="build openmp support")
+ variant("openmp", default=(sys.platform != "darwin"), description="build openmp support")
variant("logging", default=False, description="Build vtk-h with logging enabled")
variant("contourtree", default=False, description="Enable contour tree support")
# 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("cmake@3.14.1:3.14.99,3.18.2:", type="build")
depends_on("mpi", when="+mpi")
depends_on("cuda", when="+cuda")
@@ -92,7 +91,10 @@ class VtkH(CMakePackage, CudaPackage):
depends_on("vtk-m~cuda", when="~cuda")
depends_on("vtk-m+cuda", when="+cuda")
for _arch in CudaPackage.cuda_arch_values:
- depends_on("vtk-m+cuda cuda_arch={0}".format(_arch), when="+cuda+openmp cuda_arch={0}".format(_arch))
+ depends_on(
+ "vtk-m+cuda cuda_arch={0}".format(_arch),
+ when="+cuda+openmp cuda_arch={0}".format(_arch),
+ )
depends_on("vtk-m~shared", when="~shared")
@@ -100,7 +102,7 @@ class VtkH(CMakePackage, CudaPackage):
def cmake_args(self):
host_config = self._get_host_config_path(self.spec)
options = []
- options.extend(['-C', host_config, "../spack-src/src/"])
+ options.extend(["-C", host_config, "../spack-src/src/"])
return options
def _get_host_config_path(self, spec):
@@ -108,16 +110,14 @@ class VtkH(CMakePackage, CudaPackage):
# if on llnl systems, we can use the SYS_TYPE
if "SYS_TYPE" in env:
sys_type = env["SYS_TYPE"]
- host_config_path = "{0}-{1}-{2}-vtkh-{3}.cmake".format(socket.gethostname(),
- sys_type,
- spec.compiler,
- spec.dag_hash())
+ host_config_path = "{0}-{1}-{2}-vtkh-{3}.cmake".format(
+ socket.gethostname(), sys_type, spec.compiler, spec.dag_hash()
+ )
dest_dir = spec.prefix
- host_config_path = os.path.abspath(join_path(dest_dir,
- host_config_path))
+ host_config_path = os.path.abspath(join_path(dest_dir, host_config_path))
return host_config_path
- @run_before('cmake')
+ @run_before("cmake")
def hostconfig(self):
spec = self.spec
"""
@@ -149,7 +149,7 @@ class VtkH(CMakePackage, CudaPackage):
# Find and record what CMake is used
##############################################
- cmake_exe = spec['cmake'].command.path
+ cmake_exe = spec["cmake"].command.path
# get hostconfig name
host_cfg_fname = self._get_host_config_path(spec)
@@ -193,9 +193,9 @@ class VtkH(CMakePackage, CudaPackage):
cfg.write("# MPI Support\n")
if "+mpi" in spec:
- mpicc_path = spec['mpi'].mpicc
- mpicxx_path = spec['mpi'].mpicxx
- mpifc_path = spec['mpi'].mpifc
+ mpicc_path = spec["mpi"].mpicc
+ mpicxx_path = spec["mpi"].mpicxx
+ mpifc_path = spec["mpi"].mpifc
# if we are using compiler wrappers on cray systems
# use those for mpi wrappers, b/c spec['mpi'].mpicxx
# etc make return the spack compiler wrappers
@@ -208,16 +208,14 @@ class VtkH(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path))
cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path))
cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path))
- mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ mpiexe_bin = join_path(spec["mpi"].prefix.bin, "mpiexec")
if os.path.isfile(mpiexe_bin):
# starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
# vs the older versions which expect MPIEXEC
- if self.spec["cmake"].satisfies('@3.10:'):
- cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
- mpiexe_bin))
+ if self.spec["cmake"].satisfies("@3.10:"):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE", mpiexe_bin))
else:
- cfg.write(cmake_cache_entry("MPIEXEC",
- mpiexe_bin))
+ cfg.write(cmake_cache_entry("MPIEXEC", mpiexe_bin))
if "+blt_find_mpi" in spec:
cfg.write(cmake_cache_entry("ENABLE_FIND_MPI", "ON"))
else:
@@ -253,7 +251,7 @@ class VtkH(CMakePackage, CudaPackage):
cfg.write(cmake_cache_entry("ENABLE_OPENMP", "ON"))
cfg.write("# vtk-m from spack\n")
- cfg.write(cmake_cache_entry("VTKM_DIR", spec['vtk-m'].prefix))
+ cfg.write(cmake_cache_entry("VTKM_DIR", spec["vtk-m"].prefix))
#######################################################################
# Optional Dependencies
diff --git a/var/spack/repos/builtin/packages/vtk-m/package.py b/var/spack/repos/builtin/packages/vtk-m/package.py
index db135136c2..3852c5c342 100644
--- a/var/spack/repos/builtin/packages/vtk-m/package.py
+++ b/var/spack/repos/builtin/packages/vtk-m/package.py
@@ -19,82 +19,97 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
architectures."""
homepage = "https://m.vtk.org/"
- maintainers = ['kmorel', 'vicentebolea']
+ maintainers = ["kmorel", "vicentebolea"]
- url = "https://gitlab.kitware.com/vtk/vtk-m/-/archive/v1.5.1/vtk-m-v1.5.1.tar.gz"
- git = "https://gitlab.kitware.com/vtk/vtk-m.git"
- tags = ['e4s']
+ url = "https://gitlab.kitware.com/vtk/vtk-m/-/archive/v1.5.1/vtk-m-v1.5.1.tar.gz"
+ git = "https://gitlab.kitware.com/vtk/vtk-m.git"
+ tags = ["e4s"]
test_requires_compiler = True
- version('master', branch='master')
- version('release', branch='release')
- version('1.8.0', sha256="fcedee6e8f4ac50dde56e8c533d48604dbfb663cea1561542a837e8e80ba8768", preferred=True)
- version('1.7.1', sha256="7ea3e945110b837a8c2ba49b41e45e1a1d8d0029bb472b291f7674871dbbbb63")
- version('1.7.0', sha256="a86667ac22057462fc14495363cfdcc486da125b366cb568ec23c86946439be4")
- version('1.6.0', sha256="14e62d306dd33f82eb9ddb1d5cee987b7a0b91bf08a7a02ca3bce3968c95fd76")
- version('1.5.5', commit="d2d1c854adc8c0518802f153b48afd17646b6252")
- version('1.5.4', commit="bbba2a1967b271cc393abd043716d957bca97972")
- version('1.5.3', commit="a3b8525ef97d94996ae843db0dd4f675c38e8b1e")
- version('1.5.2', commit="c49390f2537c5ba8cf25bd39aa5c212d6eafcf61")
- version('1.5.1', sha256="64c19e66c0d579cfb21bb0df10d649b523b470b0c9a6c2ea5fd979dfeda2c25e")
- version('1.5.0', sha256="b1b13715c7fcc8d17f5c7166ff5b3e9025f6865dc33eb9b06a63471c21349aa8")
- version('1.4.0', sha256="8d83cca7cd5e204d10da151ce4f1846c1f7414c7c1e579173d15c5ea0631555a")
- version('1.3.0', sha256="f88c1b0a1980f695240eeed9bcccfa420cc089e631dc2917c9728a2eb906df2e")
- version('1.2.0', sha256="607272992e05f8398d196f0acdcb4af025a4a96cd4f66614c6341f31d4561763")
- version('1.1.0', sha256="78618c81ca741b1fbba0853cb5d7af12c51973b514c268fc96dfb36b853cdb18")
+ version("master", branch="master")
+ version("release", branch="release")
+ version(
+ "1.8.0",
+ sha256="fcedee6e8f4ac50dde56e8c533d48604dbfb663cea1561542a837e8e80ba8768",
+ preferred=True,
+ )
+ version("1.7.1", sha256="7ea3e945110b837a8c2ba49b41e45e1a1d8d0029bb472b291f7674871dbbbb63")
+ version("1.7.0", sha256="a86667ac22057462fc14495363cfdcc486da125b366cb568ec23c86946439be4")
+ version("1.6.0", sha256="14e62d306dd33f82eb9ddb1d5cee987b7a0b91bf08a7a02ca3bce3968c95fd76")
+ version("1.5.5", commit="d2d1c854adc8c0518802f153b48afd17646b6252")
+ version("1.5.4", commit="bbba2a1967b271cc393abd043716d957bca97972")
+ version("1.5.3", commit="a3b8525ef97d94996ae843db0dd4f675c38e8b1e")
+ version("1.5.2", commit="c49390f2537c5ba8cf25bd39aa5c212d6eafcf61")
+ version("1.5.1", sha256="64c19e66c0d579cfb21bb0df10d649b523b470b0c9a6c2ea5fd979dfeda2c25e")
+ version("1.5.0", sha256="b1b13715c7fcc8d17f5c7166ff5b3e9025f6865dc33eb9b06a63471c21349aa8")
+ version("1.4.0", sha256="8d83cca7cd5e204d10da151ce4f1846c1f7414c7c1e579173d15c5ea0631555a")
+ version("1.3.0", sha256="f88c1b0a1980f695240eeed9bcccfa420cc089e631dc2917c9728a2eb906df2e")
+ version("1.2.0", sha256="607272992e05f8398d196f0acdcb4af025a4a96cd4f66614c6341f31d4561763")
+ version("1.1.0", sha256="78618c81ca741b1fbba0853cb5d7af12c51973b514c268fc96dfb36b853cdb18")
# use release, instead of release with debug symbols b/c vtkm libs
# can overwhelm compilers with too many symbols
- variant('build_type', default='Release', description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
variant("shared", default=False, description="build shared libs")
- variant("doubleprecision", default=True,
- description='enable double precision')
+ variant("doubleprecision", default=True, description="enable double precision")
variant("logging", default=False, description="build logging support")
variant("ascent_types", default=True, description="build support for ascent types")
- variant("virtuals", default=False, description="enable support for deprecated virtual functions")
+ variant(
+ "virtuals", default=False, description="enable support for deprecated virtual functions"
+ )
variant("mpi", default=False, description="build mpi support")
variant("rendering", default=True, description="build rendering support")
- variant("64bitids", default=False,
- description="enable 64 bits ids")
+ variant("64bitids", default=False, description="enable 64 bits ids")
variant("testlib", default=False, description="build test library")
variant("fpic", default=False, description="build fpic support")
- variant("examples", default=True, when='@1.8:', description="Install builtin examples")
+ variant("examples", default=True, when="@1.8:", description="Install builtin examples")
# Device variants
# CudaPackage provides cuda variant
# ROCmPackage provides rocm variant
- variant("kokkos", default=False, when='@1.6:', description="build using Kokkos backend")
- variant("cuda_native", default=True, description="build using native cuda backend", when="+cuda")
- variant("openmp", default=(sys.platform != 'darwin'), description="build openmp support")
- variant("tbb", default=(sys.platform == 'darwin'), description="build TBB support")
-
- depends_on("cmake@3.12:", type="build") # CMake >= 3.12
+ variant("kokkos", default=False, when="@1.6:", description="build using Kokkos backend")
+ variant(
+ "cuda_native", default=True, description="build using native cuda backend", when="+cuda"
+ )
+ variant("openmp", default=(sys.platform != "darwin"), description="build openmp support")
+ variant("tbb", default=(sys.platform == "darwin"), description="build TBB support")
+
+ depends_on("cmake@3.12:", type="build") # CMake >= 3.12
depends_on("cmake@3.18:", when="+rocm", type="build") # CMake >= 3.18
- conflicts('%gcc@:4.10',
- msg='vtk-m requires gcc >= 5. Please install a newer version')
+ conflicts("%gcc@:4.10", msg="vtk-m requires gcc >= 5. Please install a newer version")
- depends_on('cuda@10.1.0:', when='+cuda_native')
+ depends_on("cuda@10.1.0:", when="+cuda_native")
depends_on("tbb", when="+tbb")
depends_on("mpi", when="+mpi")
# VTK-m uses the default Kokkos backend
- depends_on('kokkos', when='+kokkos')
+ depends_on("kokkos", when="+kokkos")
# VTK-m native CUDA and Kokkos CUDA backends are not compatible
- depends_on('kokkos ~cuda', when='+kokkos +cuda +cuda_native')
- depends_on('kokkos +cuda', when='+kokkos +cuda ~cuda_native')
+ depends_on("kokkos ~cuda", when="+kokkos +cuda +cuda_native")
+ depends_on("kokkos +cuda", when="+kokkos +cuda ~cuda_native")
for cuda_arch in CudaPackage.cuda_arch_values:
- depends_on("kokkos cuda_arch=%s" % cuda_arch, when="+kokkos +cuda ~cuda_native cuda_arch=%s" % cuda_arch)
+ depends_on(
+ "kokkos cuda_arch=%s" % cuda_arch,
+ when="+kokkos +cuda ~cuda_native cuda_arch=%s" % cuda_arch,
+ )
# VTK-m uses the Kokkos HIP backend.
# If Kokkos provides multiple backends, the HIP backend may or
# may not be used for VTK-m depending on the default selected by Kokkos
- depends_on('kokkos +rocm', when='+kokkos +rocm')
+ depends_on("kokkos +rocm", when="+kokkos +rocm")
# Propagate AMD GPU target to kokkos for +rocm
for amdgpu_value in ROCmPackage.amdgpu_targets:
- depends_on("kokkos amdgpu_target=%s" % amdgpu_value, when="+kokkos +rocm amdgpu_target=%s" % amdgpu_value)
+ depends_on(
+ "kokkos amdgpu_target=%s" % amdgpu_value,
+ when="+kokkos +rocm amdgpu_target=%s" % amdgpu_value,
+ )
depends_on("hip@3.7:", when="+rocm")
@@ -102,7 +117,7 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
# this could be expressed as a when clause to disable the rocm variant,
# but that is not currently possible since when clauses are stacked,
# not overwritten.
- conflicts('+rocm', when='@:1.6')
+ conflicts("+rocm", when="@:1.6")
conflicts("+rocm", when="+cuda")
conflicts("+rocm", when="~kokkos", msg="VTK-m does not support HIP without Kokkos")
@@ -111,25 +126,35 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda~cuda_native~kokkos", msg="Cannot have +cuda without a cuda device")
conflicts("+cuda~cuda_native", when="@:1.5", msg="Cannot have +cuda without a cuda device")
- conflicts("+cuda", when="cuda_arch=none",
- msg="vtk-m +cuda requires that cuda_arch be set")
+ conflicts("+cuda", when="cuda_arch=none", msg="vtk-m +cuda requires that cuda_arch be set")
def cmake_args(self):
spec = self.spec
options = []
- gpu_name_table = {'30': 'kepler', '32': 'kepler', '35': 'kepler',
- '50': 'maxwell', '52': 'maxwell', '53': 'maxwell',
- '60': 'pascal', '61': 'pascal', '62': 'pascal',
- '70': 'volta', '72': 'turing', '75': 'turing',
- '80': 'ampere', '86': 'ampere'}
- with working_dir('spack-build', create=True):
+ gpu_name_table = {
+ "30": "kepler",
+ "32": "kepler",
+ "35": "kepler",
+ "50": "maxwell",
+ "52": "maxwell",
+ "53": "maxwell",
+ "60": "pascal",
+ "61": "pascal",
+ "62": "pascal",
+ "70": "volta",
+ "72": "turing",
+ "75": "turing",
+ "80": "ampere",
+ "86": "ampere",
+ }
+ with working_dir("spack-build", create=True):
options = ["-DVTKm_ENABLE_TESTING:BOOL=OFF"]
# shared vs static libs logic
# force building statically with cuda
if "+shared" in spec:
- options.append('-DBUILD_SHARED_LIBS=ON')
+ options.append("-DBUILD_SHARED_LIBS=ON")
else:
- options.append('-DBUILD_SHARED_LIBS=OFF')
+ options.append("-DBUILD_SHARED_LIBS=OFF")
# double precision
if "+doubleprecision" in spec:
@@ -139,18 +164,22 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
# logging support
if "+logging" in spec:
- if not spec.satisfies('@1.3.0:'):
- raise InstallError('logging is not supported for\
- vtkm version lower than 1.3')
+ if not spec.satisfies("@1.3.0:"):
+ raise InstallError(
+ "logging is not supported for\
+ vtkm version lower than 1.3"
+ )
options.append("-DVTKm_ENABLE_LOGGING:BOOL=ON")
else:
options.append("-DVTKm_ENABLE_LOGGING:BOOL=OFF")
# mpi support
if "+mpi" in spec:
- if not spec.satisfies('@1.3.0:'):
- raise InstallError('mpi is not supported for\
- vtkm version lower than 1.3')
+ if not spec.satisfies("@1.3.0:"):
+ raise InstallError(
+ "mpi is not supported for\
+ vtkm version lower than 1.3"
+ )
options.append("-DVTKm_ENABLE_MPI:BOOL=ON")
else:
options.append("-DVTKm_ENABLE_MPI:BOOL=OFF")
@@ -181,10 +210,10 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
options.append("-DVTKm_USE_64BIT_IDS:BOOL=OFF")
# Support for the testing header files
- if "+testlib" in spec and spec.satisfies('@1.7.0:'):
+ if "+testlib" in spec and spec.satisfies("@1.7.0:"):
options.append("-DVTKm_ENABLE_TESTING_LIBRARY:BOOL=ON")
- if spec.variants["build_type"].value != 'Release':
+ if spec.variants["build_type"].value != "Release":
options.append("-DVTKm_NO_ASSERT:BOOL=ON")
# Support for relocatable code
@@ -194,15 +223,13 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
# cuda support
if "+cuda_native" in spec:
options.append("-DVTKm_ENABLE_CUDA:BOOL=ON")
- options.append("-DCMAKE_CUDA_HOST_COMPILER={0}".format(
- env["SPACK_CXX"]))
- if 'cuda_arch' in spec.variants:
- cuda_value = spec.variants['cuda_arch'].value
+ options.append("-DCMAKE_CUDA_HOST_COMPILER={0}".format(env["SPACK_CXX"]))
+ if "cuda_arch" in spec.variants:
+ cuda_value = spec.variants["cuda_arch"].value
cuda_arch = cuda_value[0]
if cuda_arch in gpu_name_table:
vtkm_cuda_arch = gpu_name_table[cuda_arch]
- options.append('-DVTKm_CUDA_Architecture={0}'.format(
- vtkm_cuda_arch))
+ options.append("-DVTKm_CUDA_Architecture={0}".format(vtkm_cuda_arch))
else:
# this fix is necessary if compiling platform has cuda, but
# no devices (this is common for front end nodes on hpc
@@ -215,16 +242,17 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
if "+rocm" in spec:
options.append("-DVTKm_NO_DEPRECATED_VIRTUAL:BOOL=ON")
- archs = ",".join(self.spec.variants['amdgpu_target'].value)
- options.append(
- "-DCMAKE_HIP_ARCHITECTURES:STRING={0}".format(archs))
+ archs = ",".join(self.spec.variants["amdgpu_target"].value)
+ options.append("-DCMAKE_HIP_ARCHITECTURES:STRING={0}".format(archs))
# openmp support
if "+openmp" in spec:
# openmp is added since version 1.3.0
- if not spec.satisfies('@1.3.0:'):
- raise InstallError('OpenMP is not supported for\
- vtkm version lower than 1.3')
+ if not spec.satisfies("@1.3.0:"):
+ raise InstallError(
+ "OpenMP is not supported for\
+ vtkm version lower than 1.3"
+ )
options.append("-DVTKm_ENABLE_OPENMP:BOOL=ON")
else:
options.append("-DVTKm_ENABLE_OPENMP:BOOL=OFF")
@@ -255,20 +283,21 @@ class VtkM(CMakePackage, CudaPackage, ROCmPackage):
spec = self.spec
if "+examples" not in spec:
- raise RuntimeError("Examples needed for smoke test missing",
- "reinstall with `+examples` variant")
+ raise RuntimeError(
+ "Examples needed for smoke test missing", "reinstall with `+examples` variant"
+ )
testdir = "smoke_test_build"
with working_dir(testdir, create=True):
- cmake = Executable(spec['cmake'].prefix.bin.cmake)
- ctest = Executable(spec['cmake'].prefix.bin.ctest)
- cmakeExampleDir = spec['vtk-m'].prefix.share.doc.VTKm.examples.smoke_test
+ cmake = Executable(spec["cmake"].prefix.bin.cmake)
+ ctest = Executable(spec["cmake"].prefix.bin.ctest)
+ cmakeExampleDir = spec["vtk-m"].prefix.share.doc.VTKm.examples.smoke_test
- cmake(*([cmakeExampleDir, "-DVTKm_ROOT=" + spec['vtk-m'].prefix]))
+ cmake(*([cmakeExampleDir, "-DVTKm_ROOT=" + spec["vtk-m"].prefix]))
cmake(*(["--build", "."]))
ctest(*(["--verbose"]))
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def build_test(self):
self.smoke_test()
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index 00e73dfa1d..8bcba41dc3 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -13,144 +13,152 @@ from spack.pkg.builtin.boost import Boost
class Vtk(CMakePackage):
"""The Visualization Toolkit (VTK) is an open-source, freely
available software system for 3D computer graphics, image
- processing and visualization. """
+ processing and visualization."""
homepage = "http://www.vtk.org"
- url = "https://www.vtk.org/files/release/9.0/VTK-9.0.0.tar.gz"
+ url = "https://www.vtk.org/files/release/9.0/VTK-9.0.0.tar.gz"
list_url = "http://www.vtk.org/download/"
- maintainers = ['chuckatkins', 'danlipsa']
-
- version('9.1.0', sha256='8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96')
- version('9.0.3', sha256='bc3eb9625b2b8dbfecb6052a2ab091fc91405de4333b0ec68f3323815154ed8a', preferred=True)
- version('9.0.1', sha256='1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7')
- version('9.0.0', sha256='15def4e6f84d72f82386617fe595ec124dda3cbd13ea19a0dcd91583197d8715')
- version('8.2.0', sha256='34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb')
- version('8.1.2', sha256='0995fb36857dd76ccfb8bb07350c214d9f9099e80b1e66b4a8909311f24ff0db')
- version('8.1.1', sha256='71a09b4340f0a9c58559fe946dc745ab68a866cf20636a41d97b6046cb736324')
- version('8.1.0', sha256='6e269f07b64fb13774f5925161fb4e1f379f4e6a0131c8408c555f6b58ef3cb7')
- version('8.0.1', sha256='49107352923dea6de05a7b4c3906aaf98ef39c91ad81c383136e768dcf304069')
- version('7.1.0', sha256='5f3ea001204d4f714be972a810a62c0f2277fbb9d8d2f8df39562988ca37497a')
- version('7.0.0', sha256='78a990a15ead79cdc752e86b83cfab7dbf5b7ef51ba409db02570dbdd9ec32c3')
- version('6.3.0', sha256='92a493354c5fa66bea73b5fc014154af5d9f3f6cee8d20a826f4cd5d4b0e8a5e')
- version('6.1.0', sha256='bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34')
+ maintainers = ["chuckatkins", "danlipsa"]
+
+ version("9.1.0", sha256="8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96")
+ version(
+ "9.0.3",
+ sha256="bc3eb9625b2b8dbfecb6052a2ab091fc91405de4333b0ec68f3323815154ed8a",
+ preferred=True,
+ )
+ version("9.0.1", sha256="1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7")
+ version("9.0.0", sha256="15def4e6f84d72f82386617fe595ec124dda3cbd13ea19a0dcd91583197d8715")
+ version("8.2.0", sha256="34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb")
+ version("8.1.2", sha256="0995fb36857dd76ccfb8bb07350c214d9f9099e80b1e66b4a8909311f24ff0db")
+ version("8.1.1", sha256="71a09b4340f0a9c58559fe946dc745ab68a866cf20636a41d97b6046cb736324")
+ version("8.1.0", sha256="6e269f07b64fb13774f5925161fb4e1f379f4e6a0131c8408c555f6b58ef3cb7")
+ version("8.0.1", sha256="49107352923dea6de05a7b4c3906aaf98ef39c91ad81c383136e768dcf304069")
+ version("7.1.0", sha256="5f3ea001204d4f714be972a810a62c0f2277fbb9d8d2f8df39562988ca37497a")
+ version("7.0.0", sha256="78a990a15ead79cdc752e86b83cfab7dbf5b7ef51ba409db02570dbdd9ec32c3")
+ version("6.3.0", sha256="92a493354c5fa66bea73b5fc014154af5d9f3f6cee8d20a826f4cd5d4b0e8a5e")
+ version("6.1.0", sha256="bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34")
# VTK7 defaults to OpenGL2 rendering backend
- variant('opengl2', default=True, description='Enable OpenGL2 backend')
- variant('osmesa', default=False, description='Enable OSMesa support')
- variant('python', default=False, description='Enable Python support')
- variant('qt', default=False, description='Build with support for Qt')
- variant('xdmf', default=False, description='Build XDMF file support')
- variant('ffmpeg', default=False, description='Build with FFMPEG support')
- variant('mpi', default=True, description='Enable MPI support')
-
- patch('gcc.patch', when='@6.1.0')
+ variant("opengl2", default=True, description="Enable OpenGL2 backend")
+ variant("osmesa", default=False, description="Enable OSMesa support")
+ variant("python", default=False, description="Enable Python support")
+ variant("qt", default=False, description="Build with support for Qt")
+ variant("xdmf", default=False, description="Build XDMF file support")
+ variant("ffmpeg", default=False, description="Build with FFMPEG support")
+ 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
- patch('https://gitlab.kitware.com/vtk/vtk/-/commit/e066c3f4fbbfe7470c6207db0fc3f3952db633c.diff',
- when="@9:9.0", sha256='0546696bd02f3a99fccb9b7c49533377bf8179df16d901cefe5abf251173716d')
+ patch(
+ "https://gitlab.kitware.com/vtk/vtk/-/commit/e066c3f4fbbfe7470c6207db0fc3f3952db633c.diff",
+ when="@9:9.0",
+ sha256="0546696bd02f3a99fccb9b7c49533377bf8179df16d901cefe5abf251173716d",
+ )
# We cannot build with both osmesa and qt in spack
- conflicts('+osmesa', when='+qt')
+ conflicts("+osmesa", when="+qt")
- extends('python', when='+python')
+ extends("python", when="+python")
# Acceptable python versions depend on vtk version
# We need vtk at least 8.0.1 for python@3,
# and at least 9.0 for python@3.8
- depends_on('python@2.7:2.9', when='@:8.0 +python', type=('build', 'run'))
- depends_on('python@2.7:3.7', when='@8.0.1:8.9 +python',
- type=('build', 'run'))
- depends_on('python@2.7:', when='@9.0: +python', type=('build', 'run'))
+ depends_on("python@2.7:2.9", when="@:8.0 +python", type=("build", "run"))
+ depends_on("python@2.7:3.7", when="@8.0.1:8.9 +python", type=("build", "run"))
+ depends_on("python@2.7:", when="@9.0: +python", type=("build", "run"))
# We need mpi4py if buidling python wrappers and using MPI
- depends_on('py-mpi4py', when='+python+mpi', type='run')
+ depends_on("py-mpi4py", when="+python+mpi", type="run")
# python3.7 compatibility patch backported from upstream
# https://gitlab.kitware.com/vtk/vtk/commit/706f1b397df09a27ab8981ab9464547028d0c322
- patch('python3.7-const-char.patch', when='@7.0.0:8.1.1 ^python@3.7:')
+ patch("python3.7-const-char.patch", when="@7.0.0:8.1.1 ^python@3.7:")
# Broken downstream FindMPI
- patch('vtkm-findmpi-downstream.patch', when='@9.0.0')
+ patch("vtkm-findmpi-downstream.patch", when="@9.0.0")
# use internal FindHDF5
- patch('internal_findHDF5.patch', when='@:8')
+ patch("internal_findHDF5.patch", when="@:8")
# Fix IOADIOS2 module to work with kits
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
- patch('vtk-adios2-module-no-kit.patch', when='@8.2.0:9.0.3')
+ patch("vtk-adios2-module-no-kit.patch", when="@8.2.0:9.0.3")
# The use of the OpenGL2 backend requires at least OpenGL Core Profile
# version 3.2 or higher.
- depends_on('gl@3.2:', when='+opengl2')
- depends_on('gl@1.2:', when='~opengl2')
+ depends_on("gl@3.2:", when="+opengl2")
+ depends_on("gl@1.2:", when="~opengl2")
- with when('~osmesa'):
- depends_on('glx', when='platform=linux')
- depends_on('glx', when='platform=cray')
- depends_on('libxt', when='platform=linux')
- depends_on('libxt', when='platform=cray')
+ with when("~osmesa"):
+ depends_on("glx", when="platform=linux")
+ depends_on("glx", when="platform=cray")
+ depends_on("libxt", when="platform=linux")
+ depends_on("libxt", when="platform=cray")
- depends_on('osmesa', when='+osmesa')
+ depends_on("osmesa", when="+osmesa")
# VTK will need Qt5OpenGL, and qt needs '-opengl' for that
- depends_on('qt+opengl', when='+qt')
+ depends_on("qt+opengl", when="+qt")
- depends_on('boost', when='+xdmf')
- depends_on('boost+mpi', when='+xdmf +mpi')
+ depends_on("boost", when="+xdmf")
+ depends_on("boost+mpi", when="+xdmf +mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='+xdmf')
- depends_on('ffmpeg', when='+ffmpeg')
- depends_on('mpi', when='+mpi')
+ depends_on(Boost.with_default_variants, when="+xdmf")
+ depends_on("ffmpeg", when="+ffmpeg")
+ depends_on("mpi", when="+mpi")
- depends_on('expat')
+ depends_on("expat")
# See <https://gitlab.kitware.com/vtk/vtk/-/issues/18033> for why vtk doesn't
# work yet with freetype 2.10.3 (including possible patches)
- depends_on('freetype @:2.10.2', when='@:9.0.1')
- depends_on('freetype')
- depends_on('glew')
- depends_on('hdf5~mpi', when='~mpi')
- depends_on('hdf5+mpi', when='+mpi')
- depends_on('hdf5@1.8:', when='@8:9.0')
- depends_on('hdf5@1.10:', when='@9.1:')
- depends_on('jpeg')
- depends_on('jsoncpp')
- depends_on('libxml2')
- depends_on('lz4')
- depends_on('netcdf-c~mpi', when='~mpi')
- depends_on('netcdf-c+mpi', when='+mpi')
- depends_on('netcdf-cxx')
- depends_on('libpng')
- depends_on('libtiff')
- depends_on('zlib')
- depends_on('eigen', when='@8.2.0:')
- depends_on('double-conversion', when='@8.2.0:')
- depends_on('sqlite', when='@8.2.0:')
- depends_on('pugixml', when='@9:')
- depends_on('libogg')
- depends_on('libtheora')
- depends_on('utf8cpp', when='@9:')
- depends_on('gl2ps', when='@8.1:')
- depends_on('gl2ps@1.4.1:', when='@9:')
- depends_on('proj@4', when='@8.2')
- depends_on('proj@4:7', when='@9:')
- depends_on('cgns@4.1.1:+mpi', when='@9.1: +mpi')
- depends_on('cgns@4.1.1:~mpi', when='@9.1: ~mpi')
- depends_on('seacas@2021-05-12:+mpi', when='@9.1: +mpi')
- depends_on('seacas@2021-05-12:~mpi', when='@9.1: ~mpi')
+ depends_on("freetype @:2.10.2", when="@:9.0.1")
+ depends_on("freetype")
+ depends_on("glew")
+ depends_on("hdf5~mpi", when="~mpi")
+ depends_on("hdf5+mpi", when="+mpi")
+ depends_on("hdf5@1.8:", when="@8:9.0")
+ depends_on("hdf5@1.10:", when="@9.1:")
+ depends_on("jpeg")
+ depends_on("jsoncpp")
+ depends_on("libxml2")
+ depends_on("lz4")
+ depends_on("netcdf-c~mpi", when="~mpi")
+ depends_on("netcdf-c+mpi", when="+mpi")
+ depends_on("netcdf-cxx")
+ depends_on("libpng")
+ depends_on("libtiff")
+ depends_on("zlib")
+ depends_on("eigen", when="@8.2.0:")
+ depends_on("double-conversion", when="@8.2.0:")
+ depends_on("sqlite", when="@8.2.0:")
+ depends_on("pugixml", when="@9:")
+ depends_on("libogg")
+ depends_on("libtheora")
+ depends_on("utf8cpp", when="@9:")
+ depends_on("gl2ps", when="@8.1:")
+ depends_on("gl2ps@1.4.1:", when="@9:")
+ depends_on("proj@4", when="@8.2")
+ depends_on("proj@4:7", when="@9:")
+ depends_on("cgns@4.1.1:+mpi", when="@9.1: +mpi")
+ depends_on("cgns@4.1.1:~mpi", when="@9.1: ~mpi")
+ depends_on("seacas@2021-05-12:+mpi", when="@9.1: +mpi")
+ depends_on("seacas@2021-05-12:~mpi", when="@9.1: ~mpi")
# For finding Fujitsu-MPI wrapper commands
- patch('find_fujitsu_mpi.patch', when='@:8.2.0%fj')
+ patch("find_fujitsu_mpi.patch", when="@:8.2.0%fj")
# Freetype@2.10.3 no longer exports FT_CALLBACK_DEF, this
# patch replaces FT_CALLBACK_DEF with simple extern "C"
# See https://gitlab.kitware.com/vtk/vtk/-/issues/18033
- patch('https://gitlab.kitware.com/vtk/vtk/uploads/c6fa799a1a028b8f8a728a40d26d3fec/vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch',
- sha256='eefda851f844e8a1dfb4ebd8a9ff92d2b78efc57f205774052c5f4c049cc886a',
- when='@:9.0.1 ^freetype@2.10.3:')
+ patch(
+ "https://gitlab.kitware.com/vtk/vtk/uploads/c6fa799a1a028b8f8a728a40d26d3fec/vtk-freetype-2.10.3-replace-FT_CALLBACK_DEF.patch",
+ sha256="eefda851f844e8a1dfb4ebd8a9ff92d2b78efc57f205774052c5f4c049cc886a",
+ when="@:9.0.1 ^freetype@2.10.3:",
+ )
def url_for_version(self, version):
url = "http://www.vtk.org/files/release/{0}/VTK-{1}.tar.gz"
@@ -159,220 +167,229 @@ class Vtk(CMakePackage):
def setup_build_environment(self, env):
# VTK has some trouble finding freetype unless it is set in
# the environment
- env.set('FREETYPE_DIR', self.spec['freetype'].prefix)
+ env.set("FREETYPE_DIR", self.spec["freetype"].prefix)
# Force API compatibility with HDF5
- if '+hdf5' in self.spec:
- if '@9.1:' in self.spec:
- env.append_flags('CFLAGS', '-DH5_USE_110_API')
- env.append_flags('CXXFLAGS', '-DH5_USE_110_API')
- elif '@8:' in self.spec:
- env.append_flags('CFLAGS', '-DH5_USE_18_API')
- env.append_flags('CXXFLAGS', '-DH5_USE_18_API')
+ if "+hdf5" in self.spec:
+ if "@9.1:" in self.spec:
+ env.append_flags("CFLAGS", "-DH5_USE_110_API")
+ env.append_flags("CXXFLAGS", "-DH5_USE_110_API")
+ elif "@8:" in self.spec:
+ env.append_flags("CFLAGS", "-DH5_USE_18_API")
+ env.append_flags("CXXFLAGS", "-DH5_USE_18_API")
def cmake_args(self):
spec = self.spec
- opengl_ver = 'OpenGL{0}'.format('2' if '+opengl2' in spec else '')
+ opengl_ver = "OpenGL{0}".format("2" if "+opengl2" in spec else "")
cmake_args = [
- '-DBUILD_SHARED_LIBS=ON',
- '-DVTK_RENDERING_BACKEND:STRING={0}'.format(opengl_ver),
-
+ "-DBUILD_SHARED_LIBS=ON",
+ "-DVTK_RENDERING_BACKEND:STRING={0}".format(opengl_ver),
# prevents installation into lib64 which might not be in the path
# (solves #26314)
- '-DCMAKE_INSTALL_LIBDIR:PATH=lib',
-
+ "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
# Allow downstream codes (e.g. VisIt) to override VTK's classes
- '-DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON',
+ "-DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON",
]
# Disable wrappers for other languages.
- cmake_args.append('-DVTK_WRAP_JAVA=OFF')
- if spec.satisfies('@:8.1'):
- cmake_args.append('-DVTK_WRAP_TCL=OFF')
+ cmake_args.append("-DVTK_WRAP_JAVA=OFF")
+ if spec.satisfies("@:8.1"):
+ cmake_args.append("-DVTK_WRAP_TCL=OFF")
# In general, we disable use of VTK "ThirdParty" libs, preferring
# spack-built versions whenever possible but there are exceptions.
- if spec.satisfies('@:8'):
- cmake_args.extend([
- '-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON',
- '-DVTK_USE_SYSTEM_LIBHARU=OFF',
- ])
- if spec.satisfies('@:8.0'):
- cmake_args.append('-DVTK_USE_SYSTEM_GL2PS=OFF')
+ if spec.satisfies("@:8"):
+ cmake_args.extend(
+ [
+ "-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON",
+ "-DVTK_USE_SYSTEM_LIBHARU=OFF",
+ ]
+ )
+ if spec.satisfies("@:8.0"):
+ cmake_args.append("-DVTK_USE_SYSTEM_GL2PS=OFF")
else:
- cmake_args.extend([
- '-DVTK_USE_EXTERNAL:BOOL=ON',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF',
- '-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl:BOOL=OFF',
- '-DHDF5_ROOT={0}'.format(spec['hdf5'].prefix),
- ])
- if spec.satisfies('@9.1:'):
- cmake_args.extend([
- '-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF',
- # uses an unreleased version of fmt
- '-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF',
- ])
+ cmake_args.extend(
+ [
+ "-DVTK_USE_EXTERNAL:BOOL=ON",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF",
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl:BOOL=OFF",
+ "-DHDF5_ROOT={0}".format(spec["hdf5"].prefix),
+ ]
+ )
+ if spec.satisfies("@9.1:"):
+ cmake_args.extend(
+ [
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF",
+ # uses an unreleased version of fmt
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF",
+ ]
+ )
# Some variable names have changed
- if spec.satisfies('@8.2.0'):
- cmake_args.append('-DVTK_USE_SYSTEM_PUGIXML:BOOL=OFF')
- elif spec.satisfies('@:8.1'):
- cmake_args.extend([
- '-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF',
- '-DNETCDF_CXX_ROOT={0}'.format(spec['netcdf-cxx'].prefix),
- ])
-
- if '+mpi' in spec:
- if spec.satisfies('@:8.2.0'):
- cmake_args.extend([
- '-DVTK_Group_MPI:BOOL=ON',
- '-DVTK_USE_SYSTEM_DIY2:BOOL=OFF'
- ])
+ if spec.satisfies("@8.2.0"):
+ cmake_args.append("-DVTK_USE_SYSTEM_PUGIXML:BOOL=OFF")
+ elif spec.satisfies("@:8.1"):
+ cmake_args.extend(
+ [
+ "-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF",
+ "-DNETCDF_CXX_ROOT={0}".format(spec["netcdf-cxx"].prefix),
+ ]
+ )
+
+ if "+mpi" in spec:
+ if spec.satisfies("@:8.2.0"):
+ cmake_args.extend(["-DVTK_Group_MPI:BOOL=ON", "-DVTK_USE_SYSTEM_DIY2:BOOL=OFF"])
else:
- cmake_args.extend([
- '-DVTK_USE_MPI=ON'
- ])
+ cmake_args.extend(["-DVTK_USE_MPI=ON"])
else:
- cmake_args.append('-DVTK_USE_MPI=OFF')
+ cmake_args.append("-DVTK_USE_MPI=OFF")
- if '+ffmpeg' in spec:
- if spec.satisfies('@:8'):
- cmake_args.append('-DModule_vtkIOFFMPEG:BOOL=ON')
+ if "+ffmpeg" in spec:
+ if spec.satisfies("@:8"):
+ cmake_args.append("-DModule_vtkIOFFMPEG:BOOL=ON")
else:
- cmake_args.append('-DVTK_MODULE_ENABLE_VTK_IOFFMPEG:STRING=YES')
+ cmake_args.append("-DVTK_MODULE_ENABLE_VTK_IOFFMPEG:STRING=YES")
# Enable/Disable wrappers for Python.
- if '+python' in spec:
- cmake_args.append('-DVTK_WRAP_PYTHON=ON')
- if spec.satisfies('@:8'):
- cmake_args.append(
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path))
- if '+mpi' in spec and spec.satisfies('@:8'):
- cmake_args.append('-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON')
- if spec.satisfies('@9.0.0: ^python@3:'):
- cmake_args.append('-DVTK_PYTHON_VERSION=3')
+ if "+python" in spec:
+ cmake_args.append("-DVTK_WRAP_PYTHON=ON")
+ if spec.satisfies("@:8"):
+ cmake_args.append("-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path))
+ if "+mpi" in spec and spec.satisfies("@:8"):
+ cmake_args.append("-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON")
+ if spec.satisfies("@9.0.0: ^python@3:"):
+ cmake_args.append("-DVTK_PYTHON_VERSION=3")
else:
- cmake_args.append('-DVTK_WRAP_PYTHON=OFF')
+ cmake_args.append("-DVTK_WRAP_PYTHON=OFF")
- if 'darwin' in spec.architecture:
- cmake_args.extend([
- '-DCMAKE_MACOSX_RPATH=ON'
- ])
+ if "darwin" in spec.architecture:
+ cmake_args.extend(["-DCMAKE_MACOSX_RPATH=ON"])
- if '+qt' in spec:
- qt_ver = spec['qt'].version.up_to(1)
- qt_bin = spec['qt'].prefix.bin
- qmake_exe = os.path.join(qt_bin, 'qmake')
+ if "+qt" in spec:
+ qt_ver = spec["qt"].version.up_to(1)
+ qt_bin = spec["qt"].prefix.bin
+ qmake_exe = os.path.join(qt_bin, "qmake")
# https://github.com/martijnkoopman/Qt-VTK-viewer/blob/master/doc/Build-VTK.md
# The content of the above link changes over time with versions.
# Older commits have information on VTK-8.
- if spec.satisfies('@:8'):
- cmake_args.extend([
- '-DVTK_QT_VERSION:STRING={0}'.format(qt_ver),
- '-DQT_QMAKE_EXECUTABLE:PATH={0}'.format(qmake_exe),
- '-DVTK_Group_Qt:BOOL=ON',
- ])
+ if spec.satisfies("@:8"):
+ cmake_args.extend(
+ [
+ "-DVTK_QT_VERSION:STRING={0}".format(qt_ver),
+ "-DQT_QMAKE_EXECUTABLE:PATH={0}".format(qmake_exe),
+ "-DVTK_Group_Qt:BOOL=ON",
+ ]
+ )
else:
- cmake_args.extend([
- '-DVTK_GROUP_ENABLE_Qt:STRING=YES',
- '-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES',
- ])
+ cmake_args.extend(
+ [
+ "-DVTK_GROUP_ENABLE_Qt:STRING=YES",
+ "-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES",
+ ]
+ )
# NOTE: The following definitions are required in order to allow
# VTK to build with qt~webkit versions (see the documentation for
# more info: http://www.vtk.org/Wiki/VTK/Tutorials/QtSetup).
- if '~webkit' in spec['qt']:
- if spec.satisfies('@:8'):
- cmake_args.extend([
- '-DVTK_Group_Qt:BOOL=OFF',
- '-DModule_vtkGUISupportQt:BOOL=ON',
- '-DModule_vtkGUISupportQtOpenGL:BOOL=ON',
- ])
+ if "~webkit" in spec["qt"]:
+ if spec.satisfies("@:8"):
+ cmake_args.extend(
+ [
+ "-DVTK_Group_Qt:BOOL=OFF",
+ "-DModule_vtkGUISupportQt:BOOL=ON",
+ "-DModule_vtkGUISupportQtOpenGL:BOOL=ON",
+ ]
+ )
else:
- cmake_args.extend([
- '-DVTK_GROUP_ENABLE_Qt:STRING=NO',
- '-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES',
- ])
-
- if '+xdmf' in spec:
- if spec.satisfies('^cmake@3.12:'):
+ cmake_args.extend(
+ [
+ "-DVTK_GROUP_ENABLE_Qt:STRING=NO",
+ "-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES",
+ ]
+ )
+
+ if "+xdmf" in spec:
+ if spec.satisfies("^cmake@3.12:"):
# This policy exists only for CMake >= 3.12
cmake_args.extend(["-DCMAKE_POLICY_DEFAULT_CMP0074=NEW"])
- if spec.satisfies('@:8'):
- cmake_args.extend([
- # Enable XDMF Support here
- "-DModule_vtkIOXdmf2:BOOL=ON",
- "-DModule_vtkIOXdmf3:BOOL=ON",
- "-DBOOST_ROOT={0}".format(spec['boost'].prefix),
- "-DBOOST_LIBRARY_DIR={0}".format(spec['boost'].prefix.lib),
- "-DBOOST_INCLUDE_DIR={0}".format(spec['boost'].prefix.include),
- "-DBOOST_NO_SYSTEM_PATHS:BOOL=ON",
- # This is needed because VTK has multiple FindBoost
- # and they stick to system boost if there's a system boost
- # installed with CMake
- "-DBoost_NO_BOOST_CMAKE:BOOL=ON",
- # The xdmf project does not export any CMake file...
- "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF",
- "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF"
- ])
+ if spec.satisfies("@:8"):
+ cmake_args.extend(
+ [
+ # Enable XDMF Support here
+ "-DModule_vtkIOXdmf2:BOOL=ON",
+ "-DModule_vtkIOXdmf3:BOOL=ON",
+ "-DBOOST_ROOT={0}".format(spec["boost"].prefix),
+ "-DBOOST_LIBRARY_DIR={0}".format(spec["boost"].prefix.lib),
+ "-DBOOST_INCLUDE_DIR={0}".format(spec["boost"].prefix.include),
+ "-DBOOST_NO_SYSTEM_PATHS:BOOL=ON",
+ # This is needed because VTK has multiple FindBoost
+ # and they stick to system boost if there's a system boost
+ # installed with CMake
+ "-DBoost_NO_BOOST_CMAKE:BOOL=ON",
+ # The xdmf project does not export any CMake file...
+ "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF",
+ ]
+ )
else:
- cmake_args.extend([
- '-DVTK_MODULE_ENABLE_VTK_xdmf2:STRING=YES',
- '-DVTK_MODULE_ENABLE_VTK_xdmf3:STRING=YES',
- '-DVTK_MODULE_ENABLE_VTK_IOXdmf2:STRING=YES',
- '-DVTK_MODULE_ENABLE_VTK_IOXdmf3:STRING=YES',
- ])
-
- if '+mpi' in spec:
- if spec.satisfies('@:8'):
+ cmake_args.extend(
+ [
+ "-DVTK_MODULE_ENABLE_VTK_xdmf2:STRING=YES",
+ "-DVTK_MODULE_ENABLE_VTK_xdmf3:STRING=YES",
+ "-DVTK_MODULE_ENABLE_VTK_IOXdmf2:STRING=YES",
+ "-DVTK_MODULE_ENABLE_VTK_IOXdmf3:STRING=YES",
+ ]
+ )
+
+ if "+mpi" in spec:
+ if spec.satisfies("@:8"):
cmake_args.append("-DModule_vtkIOParallelXdmf3:BOOL=ON")
else:
- cmake_args.append(
- '-DVTK_MODULE_ENABLE_VTK_IOParallelXdmf3:STRING=YES')
+ cmake_args.append("-DVTK_MODULE_ENABLE_VTK_IOParallelXdmf3:STRING=YES")
- cmake_args.append('-DVTK_RENDERING_BACKEND:STRING=' + opengl_ver)
+ cmake_args.append("-DVTK_RENDERING_BACKEND:STRING=" + opengl_ver)
- if '+osmesa' in spec:
- cmake_args.extend([
- '-DVTK_USE_X:BOOL=OFF',
- '-DVTK_USE_COCOA:BOOL=OFF',
- '-DVTK_OPENGL_HAS_OSMESA:BOOL=ON'])
+ if "+osmesa" in spec:
+ cmake_args.extend(
+ [
+ "-DVTK_USE_X:BOOL=OFF",
+ "-DVTK_USE_COCOA:BOOL=OFF",
+ "-DVTK_OPENGL_HAS_OSMESA:BOOL=ON",
+ ]
+ )
else:
- cmake_args.append('-DVTK_OPENGL_HAS_OSMESA:BOOL=OFF')
- if spec.satisfies('@:7.9.9'):
+ cmake_args.append("-DVTK_OPENGL_HAS_OSMESA:BOOL=OFF")
+ if spec.satisfies("@:7.9.9"):
# This option is gone in VTK 8.1.2
- cmake_args.append('-DOpenGL_GL_PREFERENCE:STRING=LEGACY')
+ cmake_args.append("-DOpenGL_GL_PREFERENCE:STRING=LEGACY")
- if 'platform=darwin' in spec:
- cmake_args.extend([
- '-DVTK_USE_X:BOOL=OFF',
- '-DVTK_USE_COCOA:BOOL=ON'])
+ if "platform=darwin" in spec:
+ cmake_args.extend(["-DVTK_USE_X:BOOL=OFF", "-DVTK_USE_COCOA:BOOL=ON"])
- elif 'platform=linux' in spec:
- cmake_args.extend([
- '-DVTK_USE_X:BOOL=ON',
- '-DVTK_USE_COCOA:BOOL=OFF'])
+ elif "platform=linux" in spec:
+ cmake_args.extend(["-DVTK_USE_X:BOOL=ON", "-DVTK_USE_COCOA:BOOL=OFF"])
compile_flags = []
- if spec.satisfies('@:6.1.0'):
- compile_flags.append('-DGLX_GLXEXT_LEGACY')
+ if spec.satisfies("@:6.1.0"):
+ compile_flags.append("-DGLX_GLXEXT_LEGACY")
# VTK 6.1.0 (and possibly earlier) does not use
# NETCDF_CXX_ROOT to detect NetCDF C++ bindings, so
# NETCDF_CXX_INCLUDE_DIR and NETCDF_CXX_LIBRARY must be
# used instead to detect these bindings
- netcdf_cxx_lib = spec['netcdf-cxx'].libs.joined()
- cmake_args.extend([
- '-DNETCDF_CXX_INCLUDE_DIR={0}'.format(
- spec['netcdf-cxx'].prefix.include),
- '-DNETCDF_CXX_LIBRARY={0}'.format(netcdf_cxx_lib),
- ])
+ netcdf_cxx_lib = spec["netcdf-cxx"].libs.joined()
+ cmake_args.extend(
+ [
+ "-DNETCDF_CXX_INCLUDE_DIR={0}".format(spec["netcdf-cxx"].prefix.include),
+ "-DNETCDF_CXX_LIBRARY={0}".format(netcdf_cxx_lib),
+ ]
+ )
# Garbage collection is unsupported in Xcode starting with
# version 5.1; if the Apple clang version of the compiler
@@ -382,24 +399,25 @@ class Vtk(CMakePackage):
# string. This fix was recommended on the VTK mailing list
# in March 2014 (see
# https://public.kitware.com/pipermail/vtkusers/2014-March/083368.html)
- if self.spec.satisfies('%apple-clang@5.1.0:'):
- cmake_args.extend(['-DVTK_REQUIRED_OBJCXX_FLAGS='])
+ if self.spec.satisfies("%apple-clang@5.1.0:"):
+ cmake_args.extend(["-DVTK_REQUIRED_OBJCXX_FLAGS="])
# A bug in tao pegtl causes build failures with intel compilers
- if '%intel' in spec and spec.version >= Version('8.2'):
- cmake_args.append(
- '-DVTK_MODULE_ENABLE_VTK_IOMotionFX:BOOL=OFF')
+ if "%intel" in spec and spec.version >= Version("8.2"):
+ cmake_args.append("-DVTK_MODULE_ENABLE_VTK_IOMotionFX:BOOL=OFF")
# -no-ipo prevents an internal compiler error from multi-file
# optimization (https://github.com/spack/spack/issues/20471)
- if '%intel' in spec:
- compile_flags.append('-no-ipo')
+ if "%intel" in spec:
+ compile_flags.append("-no-ipo")
if compile_flags:
- compile_flags = ' '.join(compile_flags)
- cmake_args.extend([
- '-DCMAKE_C_FLAGS={0}'.format(compile_flags),
- '-DCMAKE_CXX_FLAGS={0}'.format(compile_flags)
- ])
+ compile_flags = " ".join(compile_flags)
+ cmake_args.extend(
+ [
+ "-DCMAKE_C_FLAGS={0}".format(compile_flags),
+ "-DCMAKE_CXX_FLAGS={0}".format(compile_flags),
+ ]
+ )
return cmake_args
diff --git a/var/spack/repos/builtin/packages/vvtest/package.py b/var/spack/repos/builtin/packages/vvtest/package.py
index 23abc30751..2d0f727fc7 100644
--- a/var/spack/repos/builtin/packages/vvtest/package.py
+++ b/var/spack/repos/builtin/packages/vvtest/package.py
@@ -13,17 +13,17 @@ class Vvtest(Package):
product, it can also be used by analysts to help manage sets of
simulations, especially useful on batch platforms."""
- homepage = "https://github.com/rrdrake/vvtest"
- url = "https://github.com/rrdrake/vvtest/archive/1.0.0.tar.gz"
- git = "https://github.com/rrdrake/vvtest.git"
- maintainers = ['mrmundt', 'rrdrake']
+ homepage = "https://github.com/rrdrake/vvtest"
+ url = "https://github.com/rrdrake/vvtest/archive/1.0.0.tar.gz"
+ git = "https://github.com/rrdrake/vvtest.git"
+ maintainers = ["mrmundt", "rrdrake"]
- version('1.2.0', sha256='d6b2432a2e6c43fb0d87ffc0eaa34a74d2268a732f7709ebdcf1344fbcaee154')
- version('1.1.0', sha256='674585f12d393ab9745a5ab26f59cb0f0e213f9c597b37467125979b5955ca79')
- version('1.0.0', sha256='acd04e8e6635ed1b1725b793e8287a58831d6380759a81159142a6ff3397a8dd')
+ version("1.2.0", sha256="d6b2432a2e6c43fb0d87ffc0eaa34a74d2268a732f7709ebdcf1344fbcaee154")
+ version("1.1.0", sha256="674585f12d393ab9745a5ab26f59cb0f0e213f9c597b37467125979b5955ca79")
+ version("1.0.0", sha256="acd04e8e6635ed1b1725b793e8287a58831d6380759a81159142a6ff3397a8dd")
- depends_on('python@2.6.0:3', type=('build', 'run'))
+ depends_on("python@2.6.0:3", type=("build", "run"))
def install(self, spec, prefix):
- python = spec['python'].command
- python('install_vvtest', prefix.bin)
+ python = spec["python"].command
+ python("install_vvtest", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/w3emc/package.py b/var/spack/repos/builtin/packages/w3emc/package.py
index 261aabf361..ca6e14a795 100644
--- a/var/spack/repos/builtin/packages/w3emc/package.py
+++ b/var/spack/repos/builtin/packages/w3emc/package.py
@@ -13,25 +13,26 @@ class W3emc(CMakePackage):
This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-w3emc/"
- url = "https://github.com/NOAA-EMC/NCEPLIBS-w3emc/archive/refs/tags/v2.9.0.tar.gz"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-w3emc/archive/refs/tags/v2.9.0.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('2.9.2', sha256='eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc')
- version('2.9.1', sha256='d3e705615bdd0b76a40751337d943d5a1ea415636f4e5368aed058f074b85df4')
- version('2.9.0', sha256='994f59635ab91e34e96cab5fbaf8de54389d09461c7bac33b3104a1187e6c98a')
- version('2.7.3', sha256='eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc')
+ version("2.9.2", sha256="eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc")
+ version("2.9.1", sha256="d3e705615bdd0b76a40751337d943d5a1ea415636f4e5368aed058f074b85df4")
+ version("2.9.0", sha256="994f59635ab91e34e96cab5fbaf8de54389d09461c7bac33b3104a1187e6c98a")
+ version("2.7.3", sha256="eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc")
- depends_on('bacio', when='@2.9.2:')
+ depends_on("bacio", when="@2.9.2:")
# w3emc 2.7.3 contains gblevents which has these dependencies
- depends_on('nemsio', when='@2.7.3')
- depends_on('sigio', when='@2.7.3')
- depends_on('netcdf-fortran', when='@2.7.3')
+ depends_on("nemsio", when="@2.7.3")
+ depends_on("sigio", when="@2.7.3")
+ depends_on("netcdf-fortran", when="@2.7.3")
def setup_run_environment(self, env):
- for suffix in ('4', '8', 'd'):
- lib = find_libraries('libw3emc_' + suffix, root=self.prefix,
- shared=False, recursive=True)
- env.set('W3EMC_LIB' + suffix, lib[0])
- env.set('W3EMC_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
+ for suffix in ("4", "8", "d"):
+ lib = find_libraries(
+ "libw3emc_" + suffix, root=self.prefix, shared=False, recursive=True
+ )
+ env.set("W3EMC_LIB" + suffix, lib[0])
+ env.set("W3EMC_INC" + suffix, join_path(self.prefix, "include_" + suffix))
diff --git a/var/spack/repos/builtin/packages/w3m/package.py b/var/spack/repos/builtin/packages/w3m/package.py
index a563c24d2d..c052ed8340 100644
--- a/var/spack/repos/builtin/packages/w3m/package.py
+++ b/var/spack/repos/builtin/packages/w3m/package.py
@@ -22,71 +22,81 @@ class W3m(AutotoolsPackage):
# Currently, Arch and Ubuntu (and Debian derivatives) use Debian's branch.
# Also, Gentoo, Fedora and openSUSE switched to Debian's branch.
homepage = "http://w3m.sourceforge.net/index.en.html"
- url = "https://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz"
- maintainers = ['ronin_gw']
+ url = "https://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz"
+ maintainers = ["ronin_gw"]
- version('0.5.3', sha256='e994d263f2fd2c22febfbe45103526e00145a7674a0fda79c822b97c2770a9e3')
+ version("0.5.3", sha256="e994d263f2fd2c22febfbe45103526e00145a7674a0fda79c822b97c2770a9e3")
# mandatory dependency
- depends_on('bdw-gc')
+ depends_on("bdw-gc")
# termlib
- variant('termlib', default='ncurses', description='select termlib',
- values=('ncurses', 'termcap', 'none'), multi=False)
- depends_on('termcap', when='termlib=termcap')
- depends_on('ncurses+termlib', when='termlib=ncurses')
+ variant(
+ "termlib",
+ default="ncurses",
+ description="select termlib",
+ values=("ncurses", "termcap", "none"),
+ multi=False,
+ )
+ depends_on("termcap", when="termlib=termcap")
+ depends_on("ncurses+termlib", when="termlib=ncurses")
# https support
- variant('https', default=True, description='support https protocol')
- depends_on('openssl@:1.0.2u', when='+https')
+ variant("https", default=True, description="support https protocol")
+ depends_on("openssl@:1.0.2u", when="+https")
# X11 support
- variant('image', default=True, description='enable image')
- depends_on('libx11', when='+image')
+ variant("image", default=True, description="enable image")
+ depends_on("libx11", when="+image")
# inline image support
- variant('imagelib', default='imlib2', description='select imagelib',
- values=('gdk-pixbuf', 'imlib2'), multi=False)
- depends_on('gdk-pixbuf@2:+x11', when='imagelib=gdk-pixbuf +image')
- depends_on('imlib2@1.0.5:', when='imagelib=imlib2 +image')
+ variant(
+ "imagelib",
+ default="imlib2",
+ description="select imagelib",
+ values=("gdk-pixbuf", "imlib2"),
+ multi=False,
+ )
+ depends_on("gdk-pixbuf@2:+x11", when="imagelib=gdk-pixbuf +image")
+ depends_on("imlib2@1.0.5:", when="imagelib=imlib2 +image")
# fix for modern libraries
- patch('fix_redef.patch')
- patch('fix_gc.patch')
+ patch("fix_redef.patch")
+ patch("fix_gc.patch")
def patch(self):
# w3m is not developed since 2012, everybody is doing this:
# https://www.google.com/search?q=USE_EGD+w3m
- filter_file('#define USE_EGD', '#undef USE_EGD', 'config.h.in')
+ filter_file("#define USE_EGD", "#undef USE_EGD", "config.h.in")
def _add_arg_for_variant(self, args, variant, choices):
for avail_lib in choices:
if self.spec.variants[variant].value == avail_lib:
- args.append('--with-{0}={1}'.format(variant, avail_lib))
+ args.append("--with-{0}={1}".format(variant, avail_lib))
return
def configure_args(self):
- args = ['ac_cv_search_gettext=no', '--enable-unicode']
+ args = ["ac_cv_search_gettext=no", "--enable-unicode"]
- self._add_arg_for_variant(args, 'termlib', ('termcap', 'ncurses'))
- if '+image' in self.spec:
- args.append('--enable-image')
- self._add_arg_for_variant(args, 'imagelib', ('gdk-pixbuf', 'imlib2'))
+ self._add_arg_for_variant(args, "termlib", ("termcap", "ncurses"))
+ if "+image" in self.spec:
+ args.append("--enable-image")
+ self._add_arg_for_variant(args, "imagelib", ("gdk-pixbuf", "imlib2"))
return args
def setup_build_environment(self, env):
- if self.spec.variants['termlib'].value == 'ncurses':
- env.append_flags('LDFLAGS', '-ltinfo')
- env.append_flags('LDFLAGS', '-lncurses')
- if '+image' in self.spec:
- env.append_flags('LDFLAGS', '-lX11')
+ if self.spec.variants["termlib"].value == "ncurses":
+ env.append_flags("LDFLAGS", "-ltinfo")
+ env.append_flags("LDFLAGS", "-lncurses")
+ if "+image" in self.spec:
+ env.append_flags("LDFLAGS", "-lX11")
# parallel build causes build failure
parallel = False
def build(self, spec, prefix):
- make('NLSTARGET=scripts/w3mman')
+ make("NLSTARGET=scripts/w3mman")
def install(self, spec, prefix):
- make('NLSTARGET=scripts/w3mman', 'install')
+ make("NLSTARGET=scripts/w3mman", "install")
diff --git a/var/spack/repos/builtin/packages/w3nco/package.py b/var/spack/repos/builtin/packages/w3nco/package.py
index 1a55ffe095..ed736ab77d 100644
--- a/var/spack/repos/builtin/packages/w3nco/package.py
+++ b/var/spack/repos/builtin/packages/w3nco/package.py
@@ -14,8 +14,8 @@ class W3nco(CMakePackage):
This is part of the NCEPLIBS project."""
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"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-w3nco/archive/refs/tags/v2.4.1.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('2.4.1', sha256='48b06e0ea21d3d0fd5d5c4e7eb50b081402567c1bff6c4abf4fd4f3669070139')
+ version("2.4.1", sha256="48b06e0ea21d3d0fd5d5c4e7eb50b081402567c1bff6c4abf4fd4f3669070139")
diff --git a/var/spack/repos/builtin/packages/wannier90/package.py b/var/spack/repos/builtin/packages/wannier90/package.py
index f4c3f97c2b..a3b22e25d6 100644
--- a/var/spack/repos/builtin/packages/wannier90/package.py
+++ b/var/spack/repos/builtin/packages/wannier90/package.py
@@ -14,186 +14,177 @@ class Wannier90(MakefilePackage):
Wannier90 is released under the GNU General Public License.
"""
- homepage = 'http://wannier.org'
- url = 'https://github.com/wannier-developers/wannier90/archive/v3.1.0.tar.gz'
- version('3.1.0', sha256='40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254')
- version('3.0.0', sha256='f196e441dcd7b67159a1d09d2d7de2893b011a9f03aab6b30c4703ecbf20fe5b')
- version('2.1.0', sha256='ee90108d4bc4aa6a1cf16d72abebcb3087cf6c1007d22dda269eb7e7076bddca')
- version('2.0.1', sha256='05ea7cd421a219ce19d379ad6ae3d9b1a84be4ffb367506ffdfab1e729309e94')
+ homepage = "http://wannier.org"
+ url = "https://github.com/wannier-developers/wannier90/archive/v3.1.0.tar.gz"
- depends_on('mpi')
- depends_on('lapack')
- depends_on('blas')
+ version("3.1.0", sha256="40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254")
+ version("3.0.0", sha256="f196e441dcd7b67159a1d09d2d7de2893b011a9f03aab6b30c4703ecbf20fe5b")
+ version("2.1.0", sha256="ee90108d4bc4aa6a1cf16d72abebcb3087cf6c1007d22dda269eb7e7076bddca")
+ version("2.0.1", sha256="05ea7cd421a219ce19d379ad6ae3d9b1a84be4ffb367506ffdfab1e729309e94")
+
+ depends_on("mpi")
+ depends_on("lapack")
+ depends_on("blas")
parallel = False
- variant(
- 'shared',
- default=True,
- description='Builds a shared version of the library'
- )
+ variant("shared", default=True, description="Builds a shared version of the library")
@property
def build_targets(self):
targets = []
- if '@:2' in self.spec:
- targets = [
- 'lib', 'wannier', 'post', 'w90chk2chk', 'w90vdw', 'w90pov'
- ]
- if '@3:' in self.spec:
- targets = ['wannier', 'post', 'lib', 'w90chk2chk', 'w90vdw']
- if '+shared' in self.spec:
- targets.append('dynlib')
+ if "@:2" in self.spec:
+ targets = ["lib", "wannier", "post", "w90chk2chk", "w90vdw", "w90pov"]
+ if "@3:" in self.spec:
+ targets = ["wannier", "post", "lib", "w90chk2chk", "w90vdw"]
+ if "+shared" in self.spec:
+ targets.append("dynlib")
return targets
def url_for_version(self, version):
- if (version > Version('2')):
- url = 'https://github.com/wannier-developers/wannier90/archive/v{0}.tar.gz'
+ if version > Version("2"):
+ url = "https://github.com/wannier-developers/wannier90/archive/v{0}.tar.gz"
else:
- url = 'http://wannier.org/code/wannier90-{0}.tar.gz'
+ url = "http://wannier.org/code/wannier90-{0}.tar.gz"
return url.format(version)
@property
def makefile_name(self):
# Version 2.0.1 uses make.sys,
# other verions use make.inc
- if self.spec.satisfies('@2.0.1'):
- filename = 'make.sys'
+ if self.spec.satisfies("@2.0.1"):
+ filename = "make.sys"
else:
- filename = 'make.inc'
+ filename = "make.inc"
abspath = join_path(self.stage.source_path, filename)
return abspath
def edit(self, spec, prefix):
- lapack = self.spec['lapack'].libs
- blas = self.spec['blas'].libs
- mpi = self.spec['mpi'].libs
+ lapack = self.spec["lapack"].libs
+ blas = self.spec["blas"].libs
+ mpi = self.spec["mpi"].libs
substitutions = {
- '@F90': spack_fc,
- '@MPIF90': self.spec['mpi'].mpifc,
- '@LIBS': (lapack + blas + mpi).joined()
+ "@F90": spack_fc,
+ "@MPIF90": self.spec["mpi"].mpifc,
+ "@LIBS": (lapack + blas + mpi).joined(),
}
- template = join_path(
- os.path.dirname(inspect.getmodule(self).__file__),
- 'make.sys'
- )
+ template = join_path(os.path.dirname(inspect.getmodule(self).__file__), "make.sys")
copy(template, self.makefile_name)
for key, value in substitutions.items():
filter_file(key, value, self.makefile_name)
- if '@:2 +shared' in self.spec:
+ if "@:2 +shared" in self.spec:
# this is to build a .shared wannier90 library
- filter_file('LIBRARY = ../../libwannier.a',
- 'LIBRARY = ../../libwannier.' + dso_suffix,
- join_path(self.stage.source_path, 'src/Makefile.2'))
- filter_file('parameters.o kmesh.o io.o comms.o '
- 'utility.o get_oper.o constants.o '
- 'postw90_common.o wan_ham.o spin.o '
- 'dos.o berry.o kpath.o kslice.o '
- 'boltzwann.o geninterp.o',
- 'comms.o get_oper.o postw90_common.o '
- 'wan_ham.o spin.o dos.o berry.o '
- 'kpath.o kslice.o boltzwann.o geninterp.o',
- join_path(self.stage.source_path,
- 'src/Makefile.2'))
- filter_file('../../wannier90.x: .*',
- '../../wannier90.x: $(OBJS) '
- '../wannier_prog.F90 $(LIBRARY)',
- join_path(self.stage.source_path,
- 'src/Makefile.2'))
- filter_file('../../postw90.x: $(OBJS_POST) '
- '$(POSTDIR)postw90.F90',
- '../../postw90.x: $(OBJS_POST) '
- '$(POSTDIR)postw90.F90 $(LIBRARY)',
- join_path(self.stage.source_path,
- 'src/Makefile.2'), string=True)
filter_file(
- '$(COMPILER) ../wannier_prog.F90 '
- '$(LDOPTS) $(OBJS) $(LIBS) '
- '-o ../../wannier90.x',
- '$(COMPILER) -I../obj ../wannier_prog.F90 '
- '$(LDOPTS) -L../.. -lwannier '
- '-o ../../wannier90.x',
- join_path(self.stage.source_path,
- 'src/Makefile.2'), string=True)
+ "LIBRARY = ../../libwannier.a",
+ "LIBRARY = ../../libwannier." + dso_suffix,
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ )
filter_file(
- '$(COMPILER) $(POSTDIR)postw90.F90 '
- '$(POSTOPTS) $(LDOPTS) '
- '$(OBJS_POST) '
- '$(LIBS) -o ../../postw90.x',
- '$(COMPILER) -I../obj $(POSTDIR)postw90.F90 '
- '$(POSTOPTS) $(LDOPTS) $(OBJS_POST) '
- '-L../.. -lwannier $(LIBS) -o ../../postw90.x',
- join_path(self.stage.source_path,
- 'src/Makefile.2'), string=True)
+ "parameters.o kmesh.o io.o comms.o "
+ "utility.o get_oper.o constants.o "
+ "postw90_common.o wan_ham.o spin.o "
+ "dos.o berry.o kpath.o kslice.o "
+ "boltzwann.o geninterp.o",
+ "comms.o get_oper.o postw90_common.o "
+ "wan_ham.o spin.o dos.o berry.o "
+ "kpath.o kslice.o boltzwann.o geninterp.o",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ )
filter_file(
- '$(AR) $(ARFLAGS) '
- '$(LIBRARY) $(OBJS2) $(OBJS)',
- '$(MPIF90) $(FCOPTS) -shared -o '
- '$(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)',
- join_path(self.stage.source_path,
- 'src/Makefile.2'), string=True)
+ "../../wannier90.x: .*",
+ "../../wannier90.x: $(OBJS) " "../wannier_prog.F90 $(LIBRARY)",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ )
+ filter_file(
+ "../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90",
+ "../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90 $(LIBRARY)",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ string=True,
+ )
+ filter_file(
+ "$(COMPILER) ../wannier_prog.F90 "
+ "$(LDOPTS) $(OBJS) $(LIBS) "
+ "-o ../../wannier90.x",
+ "$(COMPILER) -I../obj ../wannier_prog.F90 "
+ "$(LDOPTS) -L../.. -lwannier "
+ "-o ../../wannier90.x",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ string=True,
+ )
+ filter_file(
+ "$(COMPILER) $(POSTDIR)postw90.F90 "
+ "$(POSTOPTS) $(LDOPTS) "
+ "$(OBJS_POST) "
+ "$(LIBS) -o ../../postw90.x",
+ "$(COMPILER) -I../obj $(POSTDIR)postw90.F90 "
+ "$(POSTOPTS) $(LDOPTS) $(OBJS_POST) "
+ "-L../.. -lwannier $(LIBS) -o ../../postw90.x",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ string=True,
+ )
+ filter_file(
+ "$(AR) $(ARFLAGS) " "$(LIBRARY) $(OBJS2) $(OBJS)",
+ "$(MPIF90) $(FCOPTS) -shared -o " "$(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)",
+ join_path(self.stage.source_path, "src/Makefile.2"),
+ string=True,
+ )
def setup_build_environment(self, env):
- env.set('MPIFC', self.prefix.bin.mpifc)
+ env.set("MPIFC", self.prefix.bin.mpifc)
def install(self, spec, prefix):
mkdirp(self.prefix.bin)
mkdirp(self.prefix.lib)
- if '+shared' in spec:
+ if "+shared" in spec:
mkdirp(self.prefix.modules)
install(
- join_path(self.stage.source_path, 'wannier90.x'),
- join_path(self.prefix.bin, 'wannier90.x')
+ join_path(self.stage.source_path, "wannier90.x"),
+ join_path(self.prefix.bin, "wannier90.x"),
)
install(
- join_path(self.stage.source_path, 'postw90.x'),
- join_path(self.prefix.bin, 'postw90.x')
+ join_path(self.stage.source_path, "postw90.x"), join_path(self.prefix.bin, "postw90.x")
)
inst = []
- if '+shared' in spec:
- inst.append('libwannier.' + dso_suffix)
+ if "+shared" in spec:
+ inst.append("libwannier." + dso_suffix)
# version 3 or 2 without the shared variant
# also has a .a version of the library
- if '@3:' in spec or '~shared' in spec:
- inst.append('libwannier.a')
+ if "@3:" in spec or "~shared" in spec:
+ inst.append("libwannier.a")
for file in inst:
- install(join_path(self.stage.source_path, file),
- join_path(self.prefix.lib, file))
+ install(join_path(self.stage.source_path, file), join_path(self.prefix.lib, file))
install(
- join_path(self.stage.source_path, 'w90chk2chk.x'),
- join_path(self.prefix.bin, 'w90chk2chk.x')
+ join_path(self.stage.source_path, "w90chk2chk.x"),
+ join_path(self.prefix.bin, "w90chk2chk.x"),
)
install(
- join_path(self.stage.source_path, 'utility', 'w90vdw', 'w90vdw.x'),
- join_path(self.prefix.bin, 'w90vdw.x')
+ join_path(self.stage.source_path, "utility", "w90vdw", "w90vdw.x"),
+ join_path(self.prefix.bin, "w90vdw.x"),
)
- if spec.satisfies('@:2'):
+ if spec.satisfies("@:2"):
install(
- join_path(self.stage.source_path,
- 'utility', 'w90pov', 'w90pov'),
- join_path(self.prefix.bin, 'w90pov')
+ join_path(self.stage.source_path, "utility", "w90pov", "w90pov"),
+ join_path(self.prefix.bin, "w90pov"),
)
install_tree(
- join_path(self.stage.source_path, 'pseudo'),
- join_path(self.prefix.bin, 'pseudo')
+ join_path(self.stage.source_path, "pseudo"), join_path(self.prefix.bin, "pseudo")
)
- for file in find(join_path(self.stage.source_path, 'src/obj'),
- '*.mod'):
+ for file in find(join_path(self.stage.source_path, "src/obj"), "*.mod"):
install(file, self.prefix.modules)
diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py
index 81e32c9517..f413023fd1 100644
--- a/var/spack/repos/builtin/packages/warpx/package.py
+++ b/var/spack/repos/builtin/packages/warpx/package.py
@@ -17,235 +17,233 @@ class Warpx(CMakePackage):
"""
homepage = "https://ecp-warpx.github.io"
- url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/22.05.tar.gz"
- git = "https://github.com/ECP-WarpX/WarpX.git"
+ url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/22.05.tar.gz"
+ git = "https://github.com/ECP-WarpX/WarpX.git"
- maintainers = ['ax3l', 'dpgrote', 'MaxThevenet', 'RemiLehe']
- tags = ['e4s', 'ecp']
+ maintainers = ["ax3l", "dpgrote", "MaxThevenet", "RemiLehe"]
+ tags = ["e4s", "ecp"]
# NOTE: if you update the versions here, also see py-warpx
- version('develop', branch='development')
- version('22.07', sha256='0286adc788136cb78033cb1678d38d36e42265bcfd3d0c361a9bcc2cfcdf241b')
- version('22.06', sha256='e78398e215d3fc6bc5984f5d1c2ddeac290dcbc8a8e9d196e828ef6299187db9')
- version('22.05', sha256='2fa69e6a4db36459b67bf663e8fbf56191f6c8c25dc76301dbd02a36f9b50479')
- version('22.04', sha256='9234d12e28b323cb250d3d2cefee0b36246bd8a1d1eb48e386f41977251c028f')
- version('22.03', sha256='ddbef760c8000f2f827dfb097ca3359e7aecbea8766bec5c3a91ee28d3641564')
- version('22.02', sha256='d74b593d6f396e037970c5fbe10c2e5d71d557a99c97d40e4255226bc6c26e42')
- version('22.01', sha256='e465ffadabb7dc360c63c4d3862dc08082b5b0e77923d3fb05570408748b0d28')
+ version("develop", branch="development")
+ version("22.07", sha256="0286adc788136cb78033cb1678d38d36e42265bcfd3d0c361a9bcc2cfcdf241b")
+ version("22.06", sha256="e78398e215d3fc6bc5984f5d1c2ddeac290dcbc8a8e9d196e828ef6299187db9")
+ version("22.05", sha256="2fa69e6a4db36459b67bf663e8fbf56191f6c8c25dc76301dbd02a36f9b50479")
+ version("22.04", sha256="9234d12e28b323cb250d3d2cefee0b36246bd8a1d1eb48e386f41977251c028f")
+ version("22.03", sha256="ddbef760c8000f2f827dfb097ca3359e7aecbea8766bec5c3a91ee28d3641564")
+ version("22.02", sha256="d74b593d6f396e037970c5fbe10c2e5d71d557a99c97d40e4255226bc6c26e42")
+ version("22.01", sha256="e465ffadabb7dc360c63c4d3862dc08082b5b0e77923d3fb05570408748b0d28")
# 22.01+ requires C++17 or newer
- version('21.12', sha256='847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1')
- version('21.11', sha256='ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b')
- version('21.10', sha256='d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454')
- version('21.09', sha256='861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab')
- version('21.08', sha256='6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86')
- version('21.07', sha256='a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561')
- version('21.06', sha256='a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30')
- version('21.05', sha256='f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc')
- version('21.04', sha256='51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0')
+ version("21.12", sha256="847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1")
+ version("21.11", sha256="ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b")
+ version("21.10", sha256="d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454")
+ version("21.09", sha256="861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab")
+ version("21.08", sha256="6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86")
+ version("21.07", sha256="a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561")
+ version("21.06", sha256="a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30")
+ version("21.05", sha256="f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc")
+ version("21.04", sha256="51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0")
# 20.01+ requires C++14 or newer
- variant('app', default=True,
- description='Build the WarpX executable application')
- variant('ascent', default=False,
- description='Enable Ascent in situ visualization')
- variant('sensei', default=False,
- description='Enable SENSEI in situ visualization')
- variant('compute',
- default='omp',
- values=('omp', 'cuda', 'hip', 'sycl', 'noacc'),
- multi=False,
- description='On-node, accelerated computing backend')
- variant('dims',
- default='3',
- values=('1', '2', '3', 'rz'),
- multi=False,
- description='Number of spatial dimensions')
- variant('eb', default=False,
- description='Embedded boundary support (in development)')
- variant('lib', default=True,
- description='Build WarpX as a shared library')
- variant('mpi', default=True,
- description='Enable MPI support')
- variant('mpithreadmultiple', default=True,
- description='MPI thread-multiple support, i.e. for async_io')
- variant('openpmd', default=True,
- description='Enable openPMD I/O')
- variant('precision',
- default='double',
- values=('single', 'double'),
- multi=False,
- description='Floating point precision (single/double)')
- variant('psatd', default=True,
- description='Enable PSATD solver support')
- variant('qed', default=True,
- description='Enable QED support')
- variant('qedtablegen', default=False,
- description='QED table generation support')
- variant('shared', default=True,
- description='Build a shared version of the library')
- variant('tprof', default=True,
- description='Enable tiny profiling features')
+ variant("app", default=True, description="Build the WarpX executable application")
+ variant("ascent", default=False, description="Enable Ascent in situ visualization")
+ variant("sensei", default=False, description="Enable SENSEI in situ visualization")
+ variant(
+ "compute",
+ default="omp",
+ values=("omp", "cuda", "hip", "sycl", "noacc"),
+ multi=False,
+ description="On-node, accelerated computing backend",
+ )
+ variant(
+ "dims",
+ default="3",
+ values=("1", "2", "3", "rz"),
+ multi=False,
+ description="Number of spatial dimensions",
+ )
+ variant("eb", default=False, description="Embedded boundary support (in development)")
+ variant("lib", default=True, description="Build WarpX as a shared library")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant(
+ "mpithreadmultiple",
+ default=True,
+ description="MPI thread-multiple support, i.e. for async_io",
+ )
+ variant("openpmd", default=True, description="Enable openPMD I/O")
+ variant(
+ "precision",
+ default="double",
+ values=("single", "double"),
+ multi=False,
+ description="Floating point precision (single/double)",
+ )
+ variant("psatd", default=True, description="Enable PSATD solver support")
+ variant("qed", default=True, description="Enable QED support")
+ variant("qedtablegen", default=False, description="QED table generation support")
+ variant("shared", default=True, description="Build a shared version of the library")
+ variant("tprof", default=True, description="Enable tiny profiling features")
- depends_on('sensei@4.0.0:', when='@22.07: +sensei')
- conflicts('+sensei', when='@:22.06',
- msg='WarpX supports SENSEI 4.0+ with 22.07 and newer')
+ depends_on("sensei@4.0.0:", when="@22.07: +sensei")
+ conflicts("+sensei", when="@:22.06", msg="WarpX supports SENSEI 4.0+ with 22.07 and newer")
- depends_on('ascent', when='+ascent')
- depends_on('ascent +cuda', when='+ascent compute=cuda')
- depends_on('ascent +mpi', when='+ascent +mpi')
- depends_on('boost@1.66.0: +math', when='+qedtablegen')
- depends_on('cmake@3.15.0:', type='build')
- depends_on('cmake@3.18.0:', type='build', when='@22.01:')
- depends_on('mpi', when='+mpi')
- with when('compute=cuda'):
- depends_on('cuda@9.2.88:')
- depends_on('cuda@11.0:', when='@22.01:')
- with when('compute=hip'):
- depends_on('rocfft', when='+psatd')
- depends_on('rocprim')
- depends_on('rocrand')
- with when('compute=noacc'):
- with when('+psatd'):
- depends_on('fftw@3: ~mpi', when='~mpi')
- depends_on('fftw@3: +mpi', when='+mpi')
- depends_on('pkgconfig', type='build')
- with when('compute=omp'):
- depends_on('llvm-openmp', when='%apple-clang')
- with when('+psatd'):
- depends_on('fftw@3: +openmp')
- depends_on('fftw ~mpi', when='~mpi')
- depends_on('fftw +mpi', when='+mpi')
- depends_on('pkgconfig', type='build')
- with when('+psatd dims=rz'):
- depends_on('lapackpp')
- depends_on('blaspp')
- depends_on('blaspp +cuda', when='compute=cuda')
- with when('+openpmd'):
- depends_on('openpmd-api@0.13.1:')
- depends_on('openpmd-api@0.14.2:', when='@21.09:')
- depends_on('openpmd-api ~mpi', when='~mpi')
- depends_on('openpmd-api +mpi', when='+mpi')
+ depends_on("ascent", when="+ascent")
+ depends_on("ascent +cuda", when="+ascent compute=cuda")
+ depends_on("ascent +mpi", when="+ascent +mpi")
+ depends_on("boost@1.66.0: +math", when="+qedtablegen")
+ depends_on("cmake@3.15.0:", type="build")
+ depends_on("cmake@3.18.0:", type="build", when="@22.01:")
+ depends_on("mpi", when="+mpi")
+ with when("compute=cuda"):
+ depends_on("cuda@9.2.88:")
+ depends_on("cuda@11.0:", when="@22.01:")
+ with when("compute=hip"):
+ depends_on("rocfft", when="+psatd")
+ depends_on("rocprim")
+ depends_on("rocrand")
+ with when("compute=noacc"):
+ with when("+psatd"):
+ depends_on("fftw@3: ~mpi", when="~mpi")
+ depends_on("fftw@3: +mpi", when="+mpi")
+ depends_on("pkgconfig", type="build")
+ with when("compute=omp"):
+ depends_on("llvm-openmp", when="%apple-clang")
+ with when("+psatd"):
+ depends_on("fftw@3: +openmp")
+ depends_on("fftw ~mpi", when="~mpi")
+ depends_on("fftw +mpi", when="+mpi")
+ depends_on("pkgconfig", type="build")
+ with when("+psatd dims=rz"):
+ depends_on("lapackpp")
+ depends_on("blaspp")
+ depends_on("blaspp +cuda", when="compute=cuda")
+ with when("+openpmd"):
+ depends_on("openpmd-api@0.13.1:")
+ depends_on("openpmd-api@0.14.2:", when="@21.09:")
+ depends_on("openpmd-api ~mpi", when="~mpi")
+ depends_on("openpmd-api +mpi", when="+mpi")
- conflicts('dims=1', when='@:21.12',
- msg='WarpX 1D support starts in 22.01+')
- conflicts('~qed +qedtablegen',
- msg='WarpX PICSAR QED table generation needs +qed')
- conflicts('compute=sycl', when='+psatd',
- msg='WarpX spectral solvers are not yet tested with SYCL '
- '(use "warpx ~psatd")')
+ conflicts("dims=1", when="@:21.12", msg="WarpX 1D support starts in 22.01+")
+ conflicts("~qed +qedtablegen", msg="WarpX PICSAR QED table generation needs +qed")
+ conflicts(
+ "compute=sycl",
+ when="+psatd",
+ msg="WarpX spectral solvers are not yet tested with SYCL " '(use "warpx ~psatd")',
+ )
# The symbolic aliases for our +lib target were missing in the install
# location
# https://github.com/ECP-WarpX/WarpX/pull/2626
- patch('https://github.com/ECP-WarpX/WarpX/pull/2626.patch?full_index=1',
- sha256='a431d4664049d6dcb6454166d6a948d8069322a111816ca5ce01553800607544',
- when='@21.12')
+ patch(
+ "https://github.com/ECP-WarpX/WarpX/pull/2626.patch?full_index=1",
+ sha256="a431d4664049d6dcb6454166d6a948d8069322a111816ca5ce01553800607544",
+ when="@21.12",
+ )
# Workaround for AMReX<=22.06 no-MPI Gather
# https://github.com/ECP-WarpX/WarpX/pull/3134
# https://github.com/AMReX-Codes/amrex/pull/2793
- patch('https://github.com/ECP-WarpX/WarpX/pull/3134.patch?full_index=1',
- sha256='b786ce64a3c2c2b96ff2e635f0ee48532e4ae7ad9637dbf03f11c0768c290690',
- when='@22.02:22.05')
+ patch(
+ "https://github.com/ECP-WarpX/WarpX/pull/3134.patch?full_index=1",
+ sha256="b786ce64a3c2c2b96ff2e635f0ee48532e4ae7ad9637dbf03f11c0768c290690",
+ when="@22.02:22.05",
+ )
# Forgot to install ABLASTR library
# https://github.com/ECP-WarpX/WarpX/pull/3141
- patch('https://github.com/ECP-WarpX/WarpX/pull/3141.patch?full_index=1',
- sha256='dab6fb44556ee1fd466a4cb0e20f89bde1ce445c9a51a2c0f59d1740863b5e7d',
- when='@22.04,22.05')
+ patch(
+ "https://github.com/ECP-WarpX/WarpX/pull/3141.patch?full_index=1",
+ sha256="dab6fb44556ee1fd466a4cb0e20f89bde1ce445c9a51a2c0f59d1740863b5e7d",
+ when="@22.04,22.05",
+ )
# Fix failing 1D CUDA build
# https://github.com/ECP-WarpX/WarpX/pull/3162
- patch('https://github.com/ECP-WarpX/WarpX/pull/3162.patch?full_index=1',
- sha256='0ae573d1390ed8063f84e3402d30d34e522e65dc5dfeea3d07e165127ab373e9',
- when='@22.06')
+ patch(
+ "https://github.com/ECP-WarpX/WarpX/pull/3162.patch?full_index=1",
+ sha256="0ae573d1390ed8063f84e3402d30d34e522e65dc5dfeea3d07e165127ab373e9",
+ when="@22.06",
+ )
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- '-DCMAKE_INSTALL_LIBDIR=lib',
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ "-DCMAKE_INSTALL_LIBDIR=lib",
# variants
- self.define_from_variant('WarpX_APP', 'app'),
- self.define_from_variant('WarpX_ASCENT', 'ascent'),
- self.define_from_variant('WarpX_SENSEI', 'sensei'),
- '-DWarpX_COMPUTE={0}'.format(
- spec.variants['compute'].value.upper()),
- '-DWarpX_DIMS={0}'.format(
- spec.variants['dims'].value.upper()),
- self.define_from_variant('WarpX_EB', 'eb'),
- self.define_from_variant('WarpX_LIB', 'lib'),
- self.define_from_variant('WarpX_MPI', 'mpi'),
- self.define_from_variant('WarpX_MPI_THREAD_MULTIPLE', 'mpithreadmultiple'),
- self.define_from_variant('WarpX_OPENPMD', 'openpmd'),
- '-DWarpX_PRECISION={0}'.format(
- spec.variants['precision'].value.upper()),
- self.define_from_variant('WarpX_PSATD', 'psatd'),
- self.define_from_variant('WarpX_QED', 'qed'),
- self.define_from_variant('WarpX_QED_TABLE_GEN', 'qedtablegen'),
+ self.define_from_variant("WarpX_APP", "app"),
+ self.define_from_variant("WarpX_ASCENT", "ascent"),
+ self.define_from_variant("WarpX_SENSEI", "sensei"),
+ "-DWarpX_COMPUTE={0}".format(spec.variants["compute"].value.upper()),
+ "-DWarpX_DIMS={0}".format(spec.variants["dims"].value.upper()),
+ self.define_from_variant("WarpX_EB", "eb"),
+ self.define_from_variant("WarpX_LIB", "lib"),
+ self.define_from_variant("WarpX_MPI", "mpi"),
+ self.define_from_variant("WarpX_MPI_THREAD_MULTIPLE", "mpithreadmultiple"),
+ self.define_from_variant("WarpX_OPENPMD", "openpmd"),
+ "-DWarpX_PRECISION={0}".format(spec.variants["precision"].value.upper()),
+ self.define_from_variant("WarpX_PSATD", "psatd"),
+ self.define_from_variant("WarpX_QED", "qed"),
+ self.define_from_variant("WarpX_QED_TABLE_GEN", "qedtablegen"),
]
- with when('+openpmd'):
- args.append('-DWarpX_openpmd_internal=OFF')
+ with when("+openpmd"):
+ args.append("-DWarpX_openpmd_internal=OFF")
- if '+sensei' in spec:
- args.append(self.define('SENSEI_DIR',
- join_path(spec['sensei'].prefix.lib, 'cmake')))
+ if "+sensei" in spec:
+ args.append(self.define("SENSEI_DIR", join_path(spec["sensei"].prefix.lib, "cmake")))
return args
@property
def libs(self):
- libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'}
- dims = self.spec.variants['dims'].value
+ libsuffix = {"1": "1d", "2": "2d", "3": "3d", "rz": "rz"}
+ dims = self.spec.variants["dims"].value
libs = find_libraries(
- ['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True,
- shared=True
+ ["libwarpx." + libsuffix[dims]], root=self.prefix, recursive=True, shared=True
)
libs += find_libraries(
- ['libablastr'], root=self.prefix, recursive=True,
- shared=self.spec.variants['shared']
+ ["libablastr"], root=self.prefix, recursive=True, shared=self.spec.variants["shared"]
)
return libs
# 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/'
+ examples_src_dir = "Examples/Physics_applications/laser_acceleration/"
def _get_input_options(self, post_install):
spec = self.spec
examples_dir = join_path(
self.install_test_root if post_install else self.stage.source_path,
- self.examples_src_dir)
- dims = spec.variants['dims'].value
- inputs_nD = {'1': 'inputs_1d', '2': 'inputs_2d', '3': 'inputs_3d',
- 'rz': 'inputs_rz'}
- if spec.satisfies('@:21.12'):
- inputs_nD['rz'] = 'inputs_2d_rz'
+ self.examples_src_dir,
+ )
+ dims = spec.variants["dims"].value
+ inputs_nD = {"1": "inputs_1d", "2": "inputs_2d", "3": "inputs_3d", "rz": "inputs_rz"}
+ if spec.satisfies("@:21.12"):
+ inputs_nD["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 spec:
- cli_args.append('diag1.format=openpmd')
+ if "+openpmd" in spec:
+ cli_args.append("diag1.format=openpmd")
# RZ: New openPMD thetaMode output
- if dims == 'rz' and spec.satisfies('@22.04:'):
- cli_args.append('diag1.fields_to_plot=Er Et Ez Br Bt Bz jr jt jz rho')
+ if dims == "rz" and spec.satisfies("@22.04:"):
+ cli_args.append("diag1.fields_to_plot=Er Et Ez Br Bt Bz jr jt jz rho")
return cli_args
def check(self):
"""Checks after the build phase"""
- if '+app' not in self.spec:
+ if "+app" not in self.spec:
print("WarpX check skipped: requires variant +app")
return
with working_dir("spack-check", create=True):
cli_args = self._get_input_options(False)
- warpx = Executable(join_path(self.build_directory, 'bin/warpx'))
+ warpx = Executable(join_path(self.build_directory, "bin/warpx"))
warpx(*cli_args)
- @run_after('install')
+ @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`."""
@@ -253,15 +251,14 @@ class Warpx(CMakePackage):
def test(self):
"""Perform smoke tests on the installed package."""
- if '+app' not in self.spec:
+ if "+app" not in self.spec:
print("WarpX smoke tests skipped: requires variant +app")
return
# our executable names are a variant-dependent and naming evolves
- exe = find(self.prefix.bin, 'warpx.*', recursive=False)[0]
+ 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)
+ self.run_test(
+ exe, cli_args, [], installed=True, purpose="Smoke test for WarpX", skip_missing=False
+ )
diff --git a/var/spack/repos/builtin/packages/watch/package.py b/var/spack/repos/builtin/packages/watch/package.py
index 5a70081b04..4f1b6d4e04 100644
--- a/var/spack/repos/builtin/packages/watch/package.py
+++ b/var/spack/repos/builtin/packages/watch/package.py
@@ -14,37 +14,37 @@ class Watch(AutotoolsPackage):
# does build on macOS.
# https://github.com/NixOS/nixpkgs/issues/18929#issuecomment-249388571
homepage = "https://gitlab.com/procps-ng/procps"
- git = "https://gitlab.com/procps-ng/procps.git"
+ git = "https://gitlab.com/procps-ng/procps.git"
- version('master', branch='master')
- version('3.3.15', tag='v3.3.15')
+ version("master", branch="master")
+ version("3.3.15", tag="v3.3.15")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('gettext', type='build')
- depends_on('ncurses')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig@0.9.0:", type="build")
+ depends_on("gettext", type="build")
+ depends_on("ncurses")
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/watch.rb
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
return [
- '--with-ncurses',
+ "--with-ncurses",
# Required to avoid libintl linking errors
- '--disable-nls',
+ "--disable-nls",
]
def build(self, spec, prefix):
- make('watch')
+ make("watch")
def install(self, spec, prefix):
mkdirp(prefix.bin)
mkdirp(prefix.man.man1)
- install('watch', prefix.bin)
- install('watch.1', prefix.man.man1)
+ install("watch", prefix.bin)
+ install("watch.1", prefix.man.man1)
diff --git a/var/spack/repos/builtin/packages/wayland-protocols/package.py b/var/spack/repos/builtin/packages/wayland-protocols/package.py
index 6cfdbfc59e..0178bac93e 100644
--- a/var/spack/repos/builtin/packages/wayland-protocols/package.py
+++ b/var/spack/repos/builtin/packages/wayland-protocols/package.py
@@ -14,16 +14,16 @@ class WaylandProtocols(AutotoolsPackage):
n wayland-protocols."""
homepage = "https://wayland.freedesktop.org/"
- url = "https://github.com/wayland-project/wayland-protocols/archive/1.20.tar.gz"
+ url = "https://github.com/wayland-project/wayland-protocols/archive/1.20.tar.gz"
- version('1.20', sha256='b59cf0949aeb1f71f7db46b63b1c5a6705ffde8cb5bd194f843fbd9b41308dda')
+ version("1.20", sha256="b59cf0949aeb1f71f7db46b63b1c5a6705ffde8cb5bd194f843fbd9b41308dda")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('doxygen', type='build')
- depends_on('xmlto', type='build')
- depends_on('libxslt', type='build')
- depends_on('wayland')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("doxygen", type="build")
+ depends_on("xmlto", type="build")
+ depends_on("libxslt", type="build")
+ depends_on("wayland")
diff --git a/var/spack/repos/builtin/packages/wayland/package.py b/var/spack/repos/builtin/packages/wayland/package.py
index b7825cee8d..84b802299c 100644
--- a/var/spack/repos/builtin/packages/wayland/package.py
+++ b/var/spack/repos/builtin/packages/wayland/package.py
@@ -15,21 +15,21 @@ class Wayland(AutotoolsPackage):
X servers(rootless or fullscreen) or other display servers."""
homepage = "https://wayland.freedesktop.org/"
- url = "https://github.com/wayland-project/wayland/archive/1.18.0.tar.gz"
+ url = "https://github.com/wayland-project/wayland/archive/1.18.0.tar.gz"
- version('1.18.0', sha256='8d375719ebfa36b6f2968096fdf0bfa7d39ba110b7956c0032e395e7e012f332')
- version('1.17.93', sha256='293536ad23bfed15fc34e2a63bbb511167e8b096c0eba35e805cb64d46ad62ae')
- version('1.17.92', sha256='d944a7b999cfe6fee5327a2315c8e5891222c5a88a96e1ca73485978e4990512')
+ version("1.18.0", sha256="8d375719ebfa36b6f2968096fdf0bfa7d39ba110b7956c0032e395e7e012f332")
+ version("1.17.93", sha256="293536ad23bfed15fc34e2a63bbb511167e8b096c0eba35e805cb64d46ad62ae")
+ version("1.17.92", sha256="d944a7b999cfe6fee5327a2315c8e5891222c5a88a96e1ca73485978e4990512")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('doxygen', type='build')
- depends_on('xmlto', type='build')
- depends_on('libxslt', type='build')
- depends_on('libxml2')
- depends_on('chrpath')
- depends_on('expat')
- depends_on('libffi')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("doxygen", type="build")
+ depends_on("xmlto", type="build")
+ depends_on("libxslt", type="build")
+ depends_on("libxml2")
+ depends_on("chrpath")
+ depends_on("expat")
+ depends_on("libffi")
diff --git a/var/spack/repos/builtin/packages/wcs/package.py b/var/spack/repos/builtin/packages/wcs/package.py
index 35a551b7ed..30f46c04f8 100644
--- a/var/spack/repos/builtin/packages/wcs/package.py
+++ b/var/spack/repos/builtin/packages/wcs/package.py
@@ -11,28 +11,28 @@ class Wcs(CMakePackage):
"""Simulates whole cell models using discrete event simulation."""
homepage = "https://github.com/LLNL/wcs.git"
- git = "https://github.com/LLNL/wcs.git"
- maintainers = ['rblake-llnl']
+ git = "https://github.com/LLNL/wcs.git"
+ maintainers = ["rblake-llnl"]
- version('master', branch='master')
- version('develop', branch='devel')
+ version("master", branch="master")
+ version("develop", branch="devel")
- depends_on('boost+graph+filesystem+regex+system')
+ depends_on("boost+graph+filesystem+regex+system")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('sbml@5.18.0:+cpp')
- depends_on('cmake@3.12:', type='build')
- depends_on('cereal', type='build')
+ depends_on("sbml@5.18.0:+cpp")
+ depends_on("cmake@3.12:", type="build")
+ depends_on("cereal", type="build")
def cmake_args(self):
spec = self.spec
args = [
- "-DBOOST_ROOT:PATH=" + spec['boost'].prefix,
- "-DCEREAL_ROOT:PATH=" + spec['cereal'].prefix,
- "-DSBML_ROOT:PATH=" + spec['sbml'].prefix,
+ "-DBOOST_ROOT:PATH=" + spec["boost"].prefix,
+ "-DCEREAL_ROOT:PATH=" + spec["cereal"].prefix,
+ "-DSBML_ROOT:PATH=" + spec["sbml"].prefix,
"-DWCS_WITH_SBML:BOOL=ON",
"-DWCS_WITH_EXPRTK:BOOL=ON",
]
diff --git a/var/spack/repos/builtin/packages/wcslib/package.py b/var/spack/repos/builtin/packages/wcslib/package.py
index 578e051e61..9f7a6b027d 100644
--- a/var/spack/repos/builtin/packages/wcslib/package.py
+++ b/var/spack/repos/builtin/packages/wcslib/package.py
@@ -11,45 +11,45 @@ class Wcslib(AutotoolsPackage):
defined in the FITS WCS papers."""
homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/"
- url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-7.3.tar.bz2"
+ url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-7.3.tar.bz2"
- version('7.3', sha256='4b01cf425382a26ca4f955ed6841a5f50c55952a2994367f8e067e4183992961')
- version('6.4', sha256='13c11ff70a7725563ec5fa52707a9965fce186a1766db193d08c9766ea107000')
+ version("7.3", sha256="4b01cf425382a26ca4f955ed6841a5f50c55952a2994367f8e067e4183992961")
+ version("6.4", sha256="13c11ff70a7725563ec5fa52707a9965fce186a1766db193d08c9766ea107000")
- variant('cfitsio', default=False, description='Include CFITSIO support')
- variant('x', default=False, description='Use the X Window System')
+ variant("cfitsio", default=False, description="Include CFITSIO support")
+ variant("x", default=False, description="Use the X Window System")
- depends_on('gmake', type='build')
- depends_on('flex@2.5.9:', type='build')
- depends_on('cfitsio', when='+cfitsio')
- depends_on('libx11', when='+x')
+ depends_on("gmake", type="build")
+ depends_on("flex@2.5.9:", type="build")
+ depends_on("cfitsio", when="+cfitsio")
+ depends_on("libx11", when="+x")
def configure_args(self):
spec = self.spec
# TODO: Add PGPLOT package
- args = ['--without-pgplot']
-
- if '+cfitsio' in spec:
- args.extend([
- '--with-cfitsio',
- '--with-cfitsiolib={0}'.format(
- spec['cfitsio'].libs.directories[0]),
- '--with-cfitsioinc={0}'.format(
- spec['cfitsio'].headers.directories[0]),
- ])
+ args = ["--without-pgplot"]
+
+ if "+cfitsio" in spec:
+ args.extend(
+ [
+ "--with-cfitsio",
+ "--with-cfitsiolib={0}".format(spec["cfitsio"].libs.directories[0]),
+ "--with-cfitsioinc={0}".format(spec["cfitsio"].headers.directories[0]),
+ ]
+ )
else:
- args.append('--without-cfitsio')
+ args.append("--without-cfitsio")
- if '+x' in spec:
- args.append('--with-x')
+ if "+x" in spec:
+ args.append("--with-x")
else:
- args.append('--without-x')
+ args.append("--without-x")
return args
- @run_after('install')
+ @run_after("install")
def darwin_fix(self):
# The shared library is not installed correctly on Darwin; fix this
- if self.spec.satisfies('platform=darwin'):
+ if self.spec.satisfies("platform=darwin"):
fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/webbench/package.py b/var/spack/repos/builtin/packages/webbench/package.py
index 5d9bb446f5..b94d96e775 100644
--- a/var/spack/repos/builtin/packages/webbench/package.py
+++ b/var/spack/repos/builtin/packages/webbench/package.py
@@ -10,19 +10,18 @@ class Webbench(MakefilePackage):
"""Webbench is a simple website pressure test tool used in Linux."""
homepage = "http://home.tiscali.cz/~cz210552/webbench.html"
- git = "https://github.com/EZLippi/WebBench.git"
+ git = "https://github.com/EZLippi/WebBench.git"
- version('1.5', commit='b1acf3c01cc914729fe188dfc8ed761858028d4f')
+ version("1.5", commit="b1acf3c01cc914729fe188dfc8ed761858028d4f")
- depends_on('ntirpc')
+ depends_on("ntirpc")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['ntirpc'].prefix.include.ntirpc)
+ env.prepend_path("CPATH", self.spec["ntirpc"].prefix.include.ntirpc)
def edit(self, spec, prefix):
- makefile = FileFilter('Makefile')
- makefile.filter('$(DESTDIR)/usr/local/man/man1', self.prefix.man.man1,
- string=True)
+ makefile = FileFilter("Makefile")
+ makefile.filter("$(DESTDIR)/usr/local/man/man1", self.prefix.man.man1, string=True)
def install(self, spec, prefix):
- make('install', 'PREFIX={0}'.format(prefix))
+ make("install", "PREFIX={0}".format(prefix))
diff --git a/var/spack/repos/builtin/packages/weechat/package.py b/var/spack/repos/builtin/packages/weechat/package.py
index 0477f03b89..7d53b2238a 100644
--- a/var/spack/repos/builtin/packages/weechat/package.py
+++ b/var/spack/repos/builtin/packages/weechat/package.py
@@ -14,43 +14,43 @@ class Weechat(CMakePackage):
homepage = "https://weechat.org"
url = "https://weechat.org/files/src/weechat-2.9.tar.gz"
- version('2.9', sha256='3a78063b76c42ba306eacf8f74cb8c9a260f8a61d1915d0b5d76f11d2be69a53')
-
- variant('perl', default=False, description='Include perl support')
- variant('lua', default=False, description='Include lua support')
- variant('ruby', default=False, description='Include ruby support')
- variant('tcl', default=False, description='Include TCL support')
- variant('guile', default=False, description='Include guile support')
- variant('php', default=False, description='Include php support')
-
- depends_on('cmake@3:', type='build')
- depends_on('python@3.5:')
- depends_on('gnutls@3.0.21:')
- depends_on('ncurses')
- depends_on('aspell')
- depends_on('libgcrypt')
- depends_on('curl')
- depends_on('zlib')
- depends_on('ruby@1.9.1:', when='+ruby')
- depends_on('tcl@8.5:', when='+tcl')
- depends_on('perl', when='+perl')
- depends_on('lua', when='+lua')
- depends_on('guile@2.0:', when='+guile')
- depends_on('php@7.0:', when='+php')
+ version("2.9", sha256="3a78063b76c42ba306eacf8f74cb8c9a260f8a61d1915d0b5d76f11d2be69a53")
+
+ variant("perl", default=False, description="Include perl support")
+ variant("lua", default=False, description="Include lua support")
+ variant("ruby", default=False, description="Include ruby support")
+ variant("tcl", default=False, description="Include TCL support")
+ variant("guile", default=False, description="Include guile support")
+ variant("php", default=False, description="Include php support")
+
+ depends_on("cmake@3:", type="build")
+ depends_on("python@3.5:")
+ depends_on("gnutls@3.0.21:")
+ depends_on("ncurses")
+ depends_on("aspell")
+ depends_on("libgcrypt")
+ depends_on("curl")
+ depends_on("zlib")
+ depends_on("ruby@1.9.1:", when="+ruby")
+ depends_on("tcl@8.5:", when="+tcl")
+ depends_on("perl", when="+perl")
+ depends_on("lua", when="+lua")
+ depends_on("guile@2.0:", when="+guile")
+ depends_on("php@7.0:", when="+php")
def cmake_args(self):
spec = self.spec
cmake_args = []
- if '~ruby' in spec:
- cmake_args.append('-DENABLE_RUBY=OFF')
- if '~tcl' in spec:
- cmake_args.append('-DENABLE_TCL=OFF')
- if '~perl' in spec:
- cmake_args.append('-DENABLE_PERL=OFF')
- if '~lua' in spec:
- cmake_args.append('-DENABLE_LUA=OFF')
- if '~guile' in spec:
- cmake_args.append('-DENABLE_GUILE=OFF')
- if '~php' in spec:
- cmake_args.append('-DENABLE_PHP=OFF')
+ if "~ruby" in spec:
+ cmake_args.append("-DENABLE_RUBY=OFF")
+ if "~tcl" in spec:
+ cmake_args.append("-DENABLE_TCL=OFF")
+ if "~perl" in spec:
+ cmake_args.append("-DENABLE_PERL=OFF")
+ if "~lua" in spec:
+ cmake_args.append("-DENABLE_LUA=OFF")
+ if "~guile" in spec:
+ cmake_args.append("-DENABLE_GUILE=OFF")
+ if "~php" in spec:
+ cmake_args.append("-DENABLE_PHP=OFF")
return cmake_args
diff --git a/var/spack/repos/builtin/packages/weighttp/package.py b/var/spack/repos/builtin/packages/weighttp/package.py
index caa89b24b8..bf82cecce9 100644
--- a/var/spack/repos/builtin/packages/weighttp/package.py
+++ b/var/spack/repos/builtin/packages/weighttp/package.py
@@ -10,14 +10,14 @@ class Weighttp(AutotoolsPackage):
"""A lightweight and simple webserver benchmarking tool"""
homepage = "https://weighttp.lighttpd.net/"
- url = "https://github.com/lighttpd/weighttp/archive/weighttp-0.4.tar.gz"
+ url = "https://github.com/lighttpd/weighttp/archive/weighttp-0.4.tar.gz"
- version('0.4', sha256='b4954f2a1eca118260ffd503a8e3504dd32942e2e61d0fa18ccb6b8166594447')
- version('0.3', sha256='376e2311af2decb8f6051e4f968d7c0ba92ca60cd563d768beb4868eb9679f45')
- version('0.2', sha256='bc2b3955126010ce27e0829285720f973df9f144e9cca2568569a657a3d5e634')
+ version("0.4", sha256="b4954f2a1eca118260ffd503a8e3504dd32942e2e61d0fa18ccb6b8166594447")
+ version("0.3", sha256="376e2311af2decb8f6051e4f968d7c0ba92ca60cd563d768beb4868eb9679f45")
+ version("0.2", sha256="bc2b3955126010ce27e0829285720f973df9f144e9cca2568569a657a3d5e634")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('libev')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("libev")
diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py
index 3403fd562f..8823710629 100644
--- a/var/spack/repos/builtin/packages/wget/package.py
+++ b/var/spack/repos/builtin/packages/wget/package.py
@@ -15,74 +15,71 @@ class Wget(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/wget/"
gnu_mirror_path = "wget/wget-1.19.1.tar.gz"
- version('1.21.3', sha256='5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5')
- version('1.21.2', sha256='e6d4c76be82c676dd7e8c61a29b2ac8510ae108a810b5d1d18fc9a1d2c9a2497')
- version('1.21.1', sha256='59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e')
- version('1.21', sha256='b3bc1a9bd0c19836c9709c318d41c19c11215a07514f49f89b40b9d50ab49325')
- version('1.20.3', sha256='31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e')
- version('1.19.1', sha256='9e4f12da38cc6167d0752d934abe27c7b1599a9af294e73829be7ac7b5b4da40')
- version('1.17', sha256='3e04ad027c5b6ebd67c616eec13e66fbedb3d4d8cbe19cc29dadde44b92bda55')
- version('1.16', sha256='b977fc10ac7a72d987d48136251aeb332f2dced1aabd50d6d56bdf72e2b79101')
-
- variant('ssl', default='openssl', values=('gnutls', 'openssl'),
- description='Specify SSL backend')
- variant('zlib', default=True,
- description='Enable zlib support')
- variant('libpsl', default=False,
- description='Enable support for libpsl cookie checking')
- variant('pcre', default=False,
- description='Enable PCRE style regular expressions')
- variant('python', default=False,
- description='Enable Python support')
-
- depends_on('gnutls', when='ssl=gnutls')
- depends_on('openssl', when='ssl=openssl')
-
- depends_on('gettext', type='build')
- depends_on('python@3:', type='build', when='+python')
-
- depends_on('zlib', when='+zlib')
- depends_on('libpsl', when='+libpsl')
- depends_on('pcre', when='+pcre')
-
- depends_on('perl@5.12.0:', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('iconv')
-
- depends_on('valgrind', type='test')
-
- build_directory = 'spack-build'
+ version("1.21.3", sha256="5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5")
+ version("1.21.2", sha256="e6d4c76be82c676dd7e8c61a29b2ac8510ae108a810b5d1d18fc9a1d2c9a2497")
+ version("1.21.1", sha256="59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e")
+ version("1.21", sha256="b3bc1a9bd0c19836c9709c318d41c19c11215a07514f49f89b40b9d50ab49325")
+ version("1.20.3", sha256="31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e")
+ version("1.19.1", sha256="9e4f12da38cc6167d0752d934abe27c7b1599a9af294e73829be7ac7b5b4da40")
+ version("1.17", sha256="3e04ad027c5b6ebd67c616eec13e66fbedb3d4d8cbe19cc29dadde44b92bda55")
+ version("1.16", sha256="b977fc10ac7a72d987d48136251aeb332f2dced1aabd50d6d56bdf72e2b79101")
+
+ variant(
+ "ssl", default="openssl", values=("gnutls", "openssl"), description="Specify SSL backend"
+ )
+ variant("zlib", default=True, description="Enable zlib support")
+ variant("libpsl", default=False, description="Enable support for libpsl cookie checking")
+ variant("pcre", default=False, description="Enable PCRE style regular expressions")
+ variant("python", default=False, description="Enable Python support")
+
+ depends_on("gnutls", when="ssl=gnutls")
+ depends_on("openssl", when="ssl=openssl")
+
+ depends_on("gettext", type="build")
+ depends_on("python@3:", type="build", when="+python")
+
+ depends_on("zlib", when="+zlib")
+ depends_on("libpsl", when="+libpsl")
+ depends_on("pcre", when="+pcre")
+
+ depends_on("perl@5.12.0:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("iconv")
+
+ depends_on("valgrind", type="test")
+
+ build_directory = "spack-build"
# gnulib bug introced in commit cbdb5ea63cb5348d9ead16dc46bedda77a4c3d7d
# fix is from commit 84863a1c4dc8cca8fb0f6f670f67779cdd2d543b
- patch('gnulib.patch', when='@1.21.3')
+ patch("gnulib.patch", when="@1.21.3")
def configure_args(self):
spec = self.spec
args = [
- '--with-ssl={0}'.format(spec.variants['ssl'].value),
- '--without-included-regex',
+ "--with-ssl={0}".format(spec.variants["ssl"].value),
+ "--without-included-regex",
]
- if '+zlib' in spec:
- args.append('--with-zlib')
+ if "+zlib" in spec:
+ args.append("--with-zlib")
else:
- args.append('--without-zlib')
+ args.append("--without-zlib")
- if '+libpsl' in spec:
- args.append('--with-libpsl')
+ if "+libpsl" in spec:
+ args.append("--with-libpsl")
else:
- args.append('--without-libpsl')
+ args.append("--without-libpsl")
- if '+pcre' in spec:
- args.append('--enable-pcre')
+ if "+pcre" in spec:
+ args.append("--enable-pcre")
else:
- args.append('--disable-pcre')
+ args.append("--disable-pcre")
if self.run_tests:
- args.append('--enable-valgrind-tests')
+ args.append("--enable-valgrind-tests")
else:
- args.append('--disable-valgrind-tests')
+ args.append("--disable-valgrind-tests")
return args
diff --git a/var/spack/repos/builtin/packages/wgrib2/package.py b/var/spack/repos/builtin/packages/wgrib2/package.py
index 30629f4d81..33b9ff37e6 100644
--- a/var/spack/repos/builtin/packages/wgrib2/package.py
+++ b/var/spack/repos/builtin/packages/wgrib2/package.py
@@ -11,19 +11,21 @@ class Wgrib2(CMakePackage):
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"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-wgrib2/archive/refs/tags/v2.0.8-cmake-v6.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('2.0.8-cmake-v6', sha256='745cd008b4ce0245ea44247733e57e2b9ec6c5205d171d457e18d0ff8f87172d')
+ version(
+ "2.0.8-cmake-v6", sha256="745cd008b4ce0245ea44247733e57e2b9ec6c5205d171d457e18d0ff8f87172d"
+ )
- depends_on('ip2')
- depends_on('jasper@:2.0.32')
- depends_on('libpng')
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
- depends_on('sp')
+ depends_on("ip2")
+ depends_on("jasper@:2.0.32")
+ 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']
+ args = ["-DUSE_IPOLATES=3", "-DUSE_SPECTRAL=BOOL:ON"]
return args
diff --git a/var/spack/repos/builtin/packages/wgsim/package.py b/var/spack/repos/builtin/packages/wgsim/package.py
index 29b151fc5e..bf16d0fde5 100644
--- a/var/spack/repos/builtin/packages/wgsim/package.py
+++ b/var/spack/repos/builtin/packages/wgsim/package.py
@@ -16,14 +16,14 @@ class Wgsim(Package):
can be partly compensated by simulating INDEL polymorphisms."""
homepage = "https://github.com/lh3/wgsim"
- git = "https://github.com/lh3/wgsim.git"
+ git = "https://github.com/lh3/wgsim.git"
- version('2011.10.17', commit='a12da3375ff3b51a5594d4b6fa35591173ecc229')
+ version("2011.10.17", commit="a12da3375ff3b51a5594d4b6fa35591173ecc229")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
cc = Executable(spack_cc)
- cc('-g', '-O2', '-Wall', '-o', 'wgsim', 'wgsim.c', '-lz', '-lm')
+ cc("-g", "-O2", "-Wall", "-o", "wgsim", "wgsim.c", "-lz", "-lm")
install_tree(self.stage.source_path, prefix.bin)
diff --git a/var/spack/repos/builtin/packages/which/package.py b/var/spack/repos/builtin/packages/which/package.py
index f90ad68078..06ff7717b8 100644
--- a/var/spack/repos/builtin/packages/which/package.py
+++ b/var/spack/repos/builtin/packages/which/package.py
@@ -12,14 +12,14 @@ class Which(AutotoolsPackage):
alias or shell function) is executed when entered on the shell prompt."""
homepage = "https://savannah.gnu.org/projects/which/"
- url = "https://ftp.gnu.org/gnu/which/which-2.21.tar.gz"
+ url = "https://ftp.gnu.org/gnu/which/which-2.21.tar.gz"
- version('2.21', sha256='f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad')
+ version("2.21", sha256="f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad")
- executables = ['which']
+ executables = ["which"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'GNU which v(\d+.\d+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"GNU which v(\d+.\d+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/whizard/package.py b/var/spack/repos/builtin/packages/whizard/package.py
index 05f0db7b2f..016dda23f9 100644
--- a/var/spack/repos/builtin/packages/whizard/package.py
+++ b/var/spack/repos/builtin/packages/whizard/package.py
@@ -8,78 +8,80 @@ from spack.package import *
class Whizard(AutotoolsPackage):
"""WHIZARD is a program system designed for the efficient calculation
- of multi-particle scattering cross sections
- and simulated event samples."""
+ of multi-particle scattering cross sections
+ and simulated event samples."""
homepage = "whizard.hepforge.org"
- url = "https://whizard.hepforge.org/downloads/?f=whizard-2.8.3.tar.gz"
- git = "https://gitlab.tp.nt.uni-siegen.de/whizard/public.git"
+ url = "https://whizard.hepforge.org/downloads/?f=whizard-2.8.3.tar.gz"
+ git = "https://gitlab.tp.nt.uni-siegen.de/whizard/public.git"
- tags = ['hep']
+ tags = ["hep"]
- maintainers = ['vvolkl']
+ maintainers = ["vvolkl"]
- version('master', branch="master")
- version('3.0.1', sha256='1463abd6c50ffe72029abc6f5a7d28ec63013852bfe5914cb464b58202c1437c')
- version('3.0.0_alpha', sha256='4636e5a10350bb67ccc98cd105bc891ea04f3393c2420f81be3d21240be20009')
- version('2.8.5', sha256='0f633e5620aa7dd50336b492e8a76bfae15b15943ea842010346ad7610818ecd')
- version('2.8.4', sha256='49893f077484470934a9d6e1545bbda7d398076568bceda00880d58132f26432')
- version('2.8.3', sha256='96a9046682d4b992b477eb96d561c3db789207e1049b60c9bd140db40eb1e5d7')
- version('2.8.2', sha256='32c9be342d01b3fc6f947fddce74bf2d81ece37fb39bca1f37778fb0c07e2568')
- version('2.8.1', sha256='0c759ce0598e25f38e04659f745c5963d238c4b5c12209f16449b6c0bc6dc64e')
- version('2.8.0', sha256='3b5175eafa879d1baca20237d18fb2b18bee89631e73ada499de9c082d009696')
+ version("master", branch="master")
+ version("3.0.1", sha256="1463abd6c50ffe72029abc6f5a7d28ec63013852bfe5914cb464b58202c1437c")
+ version(
+ "3.0.0_alpha", sha256="4636e5a10350bb67ccc98cd105bc891ea04f3393c2420f81be3d21240be20009"
+ )
+ version("2.8.5", sha256="0f633e5620aa7dd50336b492e8a76bfae15b15943ea842010346ad7610818ecd")
+ version("2.8.4", sha256="49893f077484470934a9d6e1545bbda7d398076568bceda00880d58132f26432")
+ version("2.8.3", sha256="96a9046682d4b992b477eb96d561c3db789207e1049b60c9bd140db40eb1e5d7")
+ version("2.8.2", sha256="32c9be342d01b3fc6f947fddce74bf2d81ece37fb39bca1f37778fb0c07e2568")
+ version("2.8.1", sha256="0c759ce0598e25f38e04659f745c5963d238c4b5c12209f16449b6c0bc6dc64e")
+ version("2.8.0", sha256="3b5175eafa879d1baca20237d18fb2b18bee89631e73ada499de9c082d009696")
variant(
- 'hepmc',
- default='3',
- description='builds with hepmc 2/3',
- values=('off', '2', '3'),
- multi=False
+ "hepmc",
+ default="3",
+ description="builds with hepmc 2/3",
+ values=("off", "2", "3"),
+ multi=False,
)
- variant('pythia8', default=True,
- description="builds with pythia8")
+ variant("pythia8", default=True, description="builds with pythia8")
- variant('fastjet', default=False,
- description="builds with fastjet")
+ variant("fastjet", default=False, description="builds with fastjet")
- variant('lcio', default=False,
- description="builds with lcio")
+ variant("lcio", default=False, description="builds with lcio")
- variant('lhapdf', default=False,
- description="builds with fastjet")
+ variant("lhapdf", default=False, description="builds with fastjet")
- variant('openmp', default=False,
- description="builds with openmp")
+ variant("openmp", default=False, description="builds with openmp")
- variant('openloops', default=False,
- description="builds with openloops")
+ variant("openloops", default=False, description="builds with openloops")
- variant('latex', default=False,
- description="data visualization with latex")
+ variant("latex", default=False, description="data visualization with latex")
- depends_on('libtirpc')
- depends_on('ocaml@4.02.3:', type='build', when="@3:")
- depends_on('ocaml@4.02.3:~force-safe-string', type='build', when="@:2")
- depends_on('hepmc', when="hepmc=2")
- depends_on('hepmc3', when="hepmc=3")
- depends_on('lcio', when="+lcio")
- depends_on('pythia8', when="+pythia8")
- depends_on('lhapdf', when="+lhapdf")
- depends_on('fastjet', when="+fastjet")
- depends_on('openloops@2.0.0: +compile_extra num_jobs=1 '
- 'processes=eett,eevvjj,ppllj,tbw',
- when="+openloops")
- depends_on('texlive', when="+latex")
- depends_on('zlib')
+ depends_on("libtirpc")
+ depends_on("ocaml@4.02.3:", type="build", when="@3:")
+ depends_on("ocaml@4.02.3:~force-safe-string", type="build", when="@:2")
+ depends_on("hepmc", when="hepmc=2")
+ depends_on("hepmc3", when="hepmc=3")
+ depends_on("lcio", when="+lcio")
+ depends_on("pythia8", when="+pythia8")
+ depends_on("lhapdf", when="+lhapdf")
+ depends_on("fastjet", when="+fastjet")
+ depends_on(
+ "openloops@2.0.0: +compile_extra num_jobs=1 " "processes=eett,eevvjj,ppllj,tbw",
+ when="+openloops",
+ )
+ depends_on("texlive", when="+latex")
+ depends_on("zlib")
- conflicts('%gcc@:5.0',
- msg='gfortran needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html')
- conflicts('%gcc@6.5.0',
- msg='Due to severe regressions, gfortran 6.5.0 can not be used. See https://whizard.hepforge.org/compilers.html')
+ conflicts(
+ "%gcc@:5.0",
+ msg="gfortran needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html",
+ )
+ conflicts(
+ "%gcc@6.5.0",
+ msg="Due to severe regressions, gfortran 6.5.0 can not be used. See https://whizard.hepforge.org/compilers.html",
+ )
- conflicts('%intel@:17',
- msg='The fortran compiler needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html')
+ conflicts(
+ "%intel@:17",
+ msg="The fortran compiler needs to support Fortran 2008. For more detailed information see https://whizard.hepforge.org/compilers.html",
+ )
# Trying to build in parallel leads to a race condition at the build step.
# See: https://github.com/key4hep/k4-spack/issues/71
@@ -90,21 +92,20 @@ class Whizard(AutotoolsPackage):
# and seems incompatible with
# filter_compiler_wrappers, thus the
# actual compilers need to be used to build
- env.set('CC', self.compiler.cc)
- env.set('CXX', self.compiler.cxx)
- env.set('FC', self.compiler.fc)
- env.set('F77', self.compiler.fc)
+ env.set("CC", self.compiler.cc)
+ env.set("CXX", self.compiler.cxx)
+ env.set("FC", self.compiler.fc)
+ env.set("F77", self.compiler.fc)
def configure_args(self):
spec = self.spec
args = [
- '--enable-hepmc=%s' % ("no" if "hepmc=off" in spec else "yes"),
- '--enable-fastjet=%s' % ("yes" if "+fastjet" in spec else "no"),
- '--enable-pythia8=%s' % ("yes" if "+pythia8" in spec else "no"),
- '--enable-lcio=%s' % ("yes" if "+lcio" in spec else "no"),
- '--enable-lhapdf=%s' % ("yes" if "+lhapdf" in spec else "no"),
- '--enable-openloops=%s' % ("yes" if "+openloops" in spec
- else "no"),
+ "--enable-hepmc=%s" % ("no" if "hepmc=off" in spec else "yes"),
+ "--enable-fastjet=%s" % ("yes" if "+fastjet" in spec else "no"),
+ "--enable-pythia8=%s" % ("yes" if "+pythia8" in spec else "no"),
+ "--enable-lcio=%s" % ("yes" if "+lcio" in spec else "no"),
+ "--enable-lhapdf=%s" % ("yes" if "+lhapdf" in spec else "no"),
+ "--enable-openloops=%s" % ("yes" if "+openloops" in spec else "no"),
# todo: hoppet
# todo: recola
# todo: looptools
@@ -113,15 +114,15 @@ class Whizard(AutotoolsPackage):
]
if "+openloops" in spec:
- args.append('--with-openloops=%s' % spec['openloops'].prefix)
+ args.append("--with-openloops=%s" % spec["openloops"].prefix)
if "+lcio" in spec:
- args.append('--with-lcio=%s' % spec['lcio'].prefix)
+ args.append("--with-lcio=%s" % spec["lcio"].prefix)
if "hepmc=3" in spec:
- args.append('--with-hepmc=%s' % spec['hepmc3'].prefix)
+ args.append("--with-hepmc=%s" % spec["hepmc3"].prefix)
if "hepmc=2" in spec:
- args.append('--with-hepmc=%s' % spec['hepmc'].prefix)
+ args.append("--with-hepmc=%s" % spec["hepmc"].prefix)
if "+openmp" not in spec:
- args.append('--disable-openmp')
+ args.append("--disable-openmp")
return args
def url_for_version(self, version):
@@ -129,7 +130,16 @@ class Whizard(AutotoolsPackage):
minor = str(version[1])
patch = str(version[2])
if len(version) == 4:
- url = "https://whizard.hepforge.org/downloads/?f=whizard-%s.%s.%s_%s.tar.gz" % (major, minor, patch, version[3])
+ url = "https://whizard.hepforge.org/downloads/?f=whizard-%s.%s.%s_%s.tar.gz" % (
+ major,
+ minor,
+ patch,
+ version[3],
+ )
else:
- url = "https://whizard.hepforge.org/downloads/?f=whizard-%s.%s.%s.tar.gz" % (major, minor, patch)
+ url = "https://whizard.hepforge.org/downloads/?f=whizard-%s.%s.%s.tar.gz" % (
+ major,
+ minor,
+ patch,
+ )
return url
diff --git a/var/spack/repos/builtin/packages/wi4mpi/package.py b/var/spack/repos/builtin/packages/wi4mpi/package.py
index aa573af782..f21ef80434 100644
--- a/var/spack/repos/builtin/packages/wi4mpi/package.py
+++ b/var/spack/repos/builtin/packages/wi4mpi/package.py
@@ -11,46 +11,49 @@ class Wi4mpi(CMakePackage):
constants and MPI objects from an MPI implementation to another one"""
homepage = "https://github.com/cea-hpc/wi4mpi"
- url = "https://github.com/cea-hpc/wi4mpi/archive/v3.4.1.tar.gz"
- maintainers = ['adrien-cotte', 'marcjoos-cea']
-
- version('3.5.0', sha256='36dd3dfed4f0f37bc817204d4810f049e624900b1b32641122f09a183135522f')
- version('3.4.1', sha256='92bf6738216426069bc07bff19cd7c933e33e397a941ff9f89a639380fab3737')
- version('3.3.0', sha256='fb7fb3b591144e90b3d688cf844c2246eb185f54e1da6baef857e035ef730d96')
- version('3.2.2', sha256='23ac69740577d66a68ddd5360670f0a344e3c47a5d146033c63a67e54e56c66f')
- version('3.2.1', sha256='0d928cb930b6cb1ae648eca241db59812ee0e5c041faf2f57728bbb6ee4e36df')
- version('3.2.0', sha256='3322f6823dbec1d58a1fcf163b2bcdd7b9cd75dc6c7f78865fc6cb0a91bf6f94')
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo'))
-
- depends_on('mpi')
+ url = "https://github.com/cea-hpc/wi4mpi/archive/v3.4.1.tar.gz"
+ maintainers = ["adrien-cotte", "marcjoos-cea"]
+
+ version("3.5.0", sha256="36dd3dfed4f0f37bc817204d4810f049e624900b1b32641122f09a183135522f")
+ version("3.4.1", sha256="92bf6738216426069bc07bff19cd7c933e33e397a941ff9f89a639380fab3737")
+ version("3.3.0", sha256="fb7fb3b591144e90b3d688cf844c2246eb185f54e1da6baef857e035ef730d96")
+ version("3.2.2", sha256="23ac69740577d66a68ddd5360670f0a344e3c47a5d146033c63a67e54e56c66f")
+ version("3.2.1", sha256="0d928cb930b6cb1ae648eca241db59812ee0e5c041faf2f57728bbb6ee4e36df")
+ version("3.2.0", sha256="3322f6823dbec1d58a1fcf163b2bcdd7b9cd75dc6c7f78865fc6cb0a91bf6f94")
+ variant(
+ "build_type",
+ default="Release",
+ description="The build type to build",
+ values=("Debug", "Release", "RelWithDebInfo"),
+ )
+
+ depends_on("mpi")
def cmake_args(self):
- if '%gcc' in self.spec:
+ if "%gcc" in self.spec:
compiler = "GNU"
- elif '%intel' in self.spec:
+ elif "%intel" in self.spec:
compiler = "INTEL"
- elif '%clang' in self.spec:
+ elif "%clang" in self.spec:
compiler = "LLVM"
- elif '%pgi' in self.spec:
+ elif "%pgi" in self.spec:
compiler = "PGI"
else:
tty.error("Could not determine compiler used")
- wi4mpi_build_type = 'RELEASE'
+ wi4mpi_build_type = "RELEASE"
if self.spec.variants["build_type"].value == "RelWithDebInfo":
- wi4mpi_build_type = 'NORMAL'
+ wi4mpi_build_type = "NORMAL"
elif self.spec.variants["build_type"].value == "Debug":
- wi4mpi_build_type = 'DEBUG'
+ wi4mpi_build_type = "DEBUG"
args = [
- self.define('WI4MPI_REALEASE', wi4mpi_build_type),
- self.define('WI4MPI_COMPILER', compiler)
+ self.define("WI4MPI_REALEASE", wi4mpi_build_type),
+ self.define("WI4MPI_COMPILER", compiler),
]
return args
def setup_run_environment(self, env):
- env.set('WI4MPI_ROOT', self.prefix)
- env.set('WI4MPI_VERSION', str(self.version))
- env.set('WI4MPI_CC', self.compiler.cc)
- env.set('WI4MPI_CXX', self.compiler.cxx)
- env.set('WI4MPI_FC', self.compiler.fc)
+ env.set("WI4MPI_ROOT", self.prefix)
+ env.set("WI4MPI_VERSION", str(self.version))
+ env.set("WI4MPI_CC", self.compiler.cc)
+ env.set("WI4MPI_CXX", self.compiler.cxx)
+ env.set("WI4MPI_FC", self.compiler.fc)
diff --git a/var/spack/repos/builtin/packages/windowswmproto/package.py b/var/spack/repos/builtin/packages/windowswmproto/package.py
index db3b094ade..56c54cf125 100644
--- a/var/spack/repos/builtin/packages/windowswmproto/package.py
+++ b/var/spack/repos/builtin/packages/windowswmproto/package.py
@@ -17,4 +17,4 @@ class Windowswmproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/windowswmproto"
xorg_mirror_path = "proto/windowswmproto-1.0.4.tar.gz"
- version('1.0.4', sha256='2dccf510cf18a1b5cfd3a277c678d88303efc85478b479fec46228a861956eb7')
+ version("1.0.4", sha256="2dccf510cf18a1b5cfd3a277c678d88303efc85478b479fec46228a861956eb7")
diff --git a/var/spack/repos/builtin/packages/wiredtiger/package.py b/var/spack/repos/builtin/packages/wiredtiger/package.py
index 39fcc25d35..5d5d60f7af 100644
--- a/var/spack/repos/builtin/packages/wiredtiger/package.py
+++ b/var/spack/repos/builtin/packages/wiredtiger/package.py
@@ -8,32 +8,32 @@ from spack.package import *
class Wiredtiger(AutotoolsPackage):
"""WiredTiger is an high performance, scalable, production quality,
- NoSQL, Open Source extensible platform for data management."""
+ NoSQL, Open Source extensible platform for data management."""
homepage = "https://source.wiredtiger.com/"
- url = "https://github.com/wiredtiger/wiredtiger/releases/download/10.0.0/wiredtiger-10.0.0.tar.bz2"
+ url = "https://github.com/wiredtiger/wiredtiger/releases/download/10.0.0/wiredtiger-10.0.0.tar.bz2"
- version('10.0.0', sha256='4830107ac744c0459ef99697652aa3e655c2122005a469a49d221e692fb834a5')
+ version("10.0.0", sha256="4830107ac744c0459ef99697652aa3e655c2122005a469a49d221e692fb834a5")
- depends_on('python@3:', type=('build', 'run'), when='+python')
- depends_on('swig', type=('build', 'run'), when='+python')
- depends_on('lz4', when='+lz4')
- depends_on('snappy', when='+snappy')
- depends_on('zlib', when='+zlib')
- depends_on('zstd', when='+zstd')
- depends_on('rsync', type='build')
+ depends_on("python@3:", type=("build", "run"), when="+python")
+ depends_on("swig", type=("build", "run"), when="+python")
+ depends_on("lz4", when="+lz4")
+ depends_on("snappy", when="+snappy")
+ depends_on("zlib", when="+zlib")
+ depends_on("zstd", when="+zstd")
+ depends_on("rsync", type="build")
- variant('python', default=False, description='Compile Python API')
- variant('lz4', default=False, description='Build the lz4 compressor extension')
- variant('snappy', default=False, description='Build the snappy compressor extension')
- variant('zlib', default=False, description='Build the zlib compressor extension')
- variant('zstd', default=False, description='Build the zstd compressor extension')
+ variant("python", default=False, description="Compile Python API")
+ variant("lz4", default=False, description="Build the lz4 compressor extension")
+ variant("snappy", default=False, description="Build the snappy compressor extension")
+ variant("zlib", default=False, description="Build the zlib compressor extension")
+ variant("zstd", default=False, description="Build the zstd compressor extension")
def configure_args(self):
args = []
- args += self.enable_or_disable('python')
- args += self.enable_or_disable('lz4')
- args += self.enable_or_disable('snappy')
- args += self.enable_or_disable('zlib')
- args += self.enable_or_disable('zstd')
+ args += self.enable_or_disable("python")
+ args += self.enable_or_disable("lz4")
+ args += self.enable_or_disable("snappy")
+ args += self.enable_or_disable("zlib")
+ args += self.enable_or_disable("zstd")
return args
diff --git a/var/spack/repos/builtin/packages/wireshark/package.py b/var/spack/repos/builtin/packages/wireshark/package.py
index 182fa36f56..a4563895cd 100644
--- a/var/spack/repos/builtin/packages/wireshark/package.py
+++ b/var/spack/repos/builtin/packages/wireshark/package.py
@@ -11,99 +11,107 @@ class Wireshark(CMakePackage):
"""Graphical network analyzer and capture tool"""
homepage = "https://www.wireshark.org"
- url = "https://www.wireshark.org/download/src/all-versions/wireshark-2.6.0.tar.xz"
-
- version('3.2.1', sha256='589f640058d6408ebbd695a80ebbd6e7bd99d8db64ecda253d27100dfd27e85b')
- version('3.2.0', sha256='4cfd33a19a454ff4002243e9d04d6afd64280a109a21ae652a192f2be2b1b66c')
- version('3.1.0', sha256='a7b54f9e35fc69291dcac5104ecbef8260534a75dec5b8105605b6c423fd3de3')
- version('3.0.8', sha256='b4bd8189934d82330a053c5b10398f2b625b1e1c8818831ab61739b2d7aa7561')
- version('2.6.0', sha256='711c7f01d27a8817d58277a5487cef3e3c7bab1c8caaf8f4c92aa21015b9117f')
-
- variant('libssh', default=False, description='Build with libssh')
- variant('nghttp2', default=False, description='Build with nghttp2')
- variant('qt', default=False, description='Build with qt')
- variant('headers', default=True, description='Install headers')
-
- depends_on('bison', type='build')
- depends_on('c-ares')
- depends_on('doxygen', type='build')
- depends_on('flex', type='build')
- depends_on('git', type='build')
- depends_on('glib')
- depends_on('gnutls')
- depends_on('libgcrypt@1.4.2:')
- depends_on('libmaxminddb')
- depends_on('libtool@2.2.2:', type='build')
- depends_on('libpcap')
- depends_on('lua@5.0.0:5.2')
- depends_on('krb5')
- depends_on('pkgconfig', type='build')
- depends_on('libssh', when='+libssh')
- depends_on('nghttp2', when='+nghttp2')
- depends_on('qt@4.8:', when='+qt')
+ url = "https://www.wireshark.org/download/src/all-versions/wireshark-2.6.0.tar.xz"
+
+ version("3.2.1", sha256="589f640058d6408ebbd695a80ebbd6e7bd99d8db64ecda253d27100dfd27e85b")
+ version("3.2.0", sha256="4cfd33a19a454ff4002243e9d04d6afd64280a109a21ae652a192f2be2b1b66c")
+ version("3.1.0", sha256="a7b54f9e35fc69291dcac5104ecbef8260534a75dec5b8105605b6c423fd3de3")
+ version("3.0.8", sha256="b4bd8189934d82330a053c5b10398f2b625b1e1c8818831ab61739b2d7aa7561")
+ version("2.6.0", sha256="711c7f01d27a8817d58277a5487cef3e3c7bab1c8caaf8f4c92aa21015b9117f")
+
+ variant("libssh", default=False, description="Build with libssh")
+ variant("nghttp2", default=False, description="Build with nghttp2")
+ variant("qt", default=False, description="Build with qt")
+ variant("headers", default=True, description="Install headers")
+
+ depends_on("bison", type="build")
+ depends_on("c-ares")
+ depends_on("doxygen", type="build")
+ depends_on("flex", type="build")
+ depends_on("git", type="build")
+ depends_on("glib")
+ depends_on("gnutls")
+ depends_on("libgcrypt@1.4.2:")
+ depends_on("libmaxminddb")
+ depends_on("libtool@2.2.2:", type="build")
+ depends_on("libpcap")
+ depends_on("lua@5.0.0:5.2")
+ depends_on("krb5")
+ depends_on("pkgconfig", type="build")
+ depends_on("libssh", when="+libssh")
+ depends_on("nghttp2", when="+nghttp2")
+ depends_on("qt@4.8:", when="+qt")
def patch(self):
# These try to capture from the network and run not compiled programs
- filter_file('suite_capture', '', 'CMakeLists.txt')
- filter_file('suite_unittests', '', 'CMakeLists.txt')
+ filter_file("suite_capture", "", "CMakeLists.txt")
+ filter_file("suite_unittests", "", "CMakeLists.txt")
def cmake_args(self):
args = [
- '-DENEABLE_CARES=ON',
- '-DENABLE_GNUTLS=ON',
- '-DENABLE_LUA=ON',
- '-DENABLE_MAXMINDDB=ON',
- '-DYACC_EXECUTABLE=' + self.spec['bison'].prefix.bin.yacc,
- '-DGIT_EXECUTABLE=' + self.spec['git'].prefix.bin.git,
- '-DPCAP_INCLUDE_DIR=' + self.spec['libpcap'].prefix.include,
- '-DPCAP_LIB=' + str(self.spec['libpcap'].libs),
- '-DLUA_INCLUDE_DIR=' + self.spec['lua'].prefix.include,
- '-DLUA_LIBRARY=' + str(self.spec['lua'].libs),
- '-DBUILD_wireshark_gtk=OFF',
- '-DENABLE_PORTAUDIO=OFF',
- '-DENABLE_GTK3=OFF',
- '-DBUILD_SMI=OFF',
+ "-DENEABLE_CARES=ON",
+ "-DENABLE_GNUTLS=ON",
+ "-DENABLE_LUA=ON",
+ "-DENABLE_MAXMINDDB=ON",
+ "-DYACC_EXECUTABLE=" + self.spec["bison"].prefix.bin.yacc,
+ "-DGIT_EXECUTABLE=" + self.spec["git"].prefix.bin.git,
+ "-DPCAP_INCLUDE_DIR=" + self.spec["libpcap"].prefix.include,
+ "-DPCAP_LIB=" + str(self.spec["libpcap"].libs),
+ "-DLUA_INCLUDE_DIR=" + self.spec["lua"].prefix.include,
+ "-DLUA_LIBRARY=" + str(self.spec["lua"].libs),
+ "-DBUILD_wireshark_gtk=OFF",
+ "-DENABLE_PORTAUDIO=OFF",
+ "-DENABLE_GTK3=OFF",
+ "-DBUILD_SMI=OFF",
]
- if self.spec.satisfies('+qt'):
- args.append('-DBUILD_wireshark=ON')
- args.append('-DENABLE_APPLICATION_BUNDLE=ON')
- if self.spec['qt'].version >= Version(5):
- args.append('-DENABLE_QT5=ON')
+ if self.spec.satisfies("+qt"):
+ args.append("-DBUILD_wireshark=ON")
+ args.append("-DENABLE_APPLICATION_BUNDLE=ON")
+ if self.spec["qt"].version >= Version(5):
+ args.append("-DENABLE_QT5=ON")
else:
- args.append('-DENABLE_QT5=OFF')
+ args.append("-DENABLE_QT5=OFF")
else:
- args.append('-DBUILD_wireshark=OFF')
- args.append('-DENABLE_APPLICATION_BUNDLE=OFF')
- args.append('-DENABLE_QT5=OFF')
+ args.append("-DBUILD_wireshark=OFF")
+ args.append("-DENABLE_APPLICATION_BUNDLE=OFF")
+ args.append("-DENABLE_QT5=OFF")
- if self.spec.satisfies('+libssh'):
- args.append('-DBUILD_sshdump=ON')
- args.append('-DBUILD_ciscodump=ON')
+ if self.spec.satisfies("+libssh"):
+ args.append("-DBUILD_sshdump=ON")
+ args.append("-DBUILD_ciscodump=ON")
else:
- args.append('-DBUILD_sshdump=OFF')
- args.append('-DBUILD_ciscodump=OFF')
+ args.append("-DBUILD_sshdump=OFF")
+ args.append("-DBUILD_ciscodump=OFF")
- if self.spec.satisfies('+nghttp2'):
- args.append('-DBUILD_NGHTTP2=ON')
+ if self.spec.satisfies("+nghttp2"):
+ args.append("-DBUILD_NGHTTP2=ON")
else:
- args.append('-DBUILD_NGHTTP2=OFF')
+ args.append("-DBUILD_NGHTTP2=OFF")
return args
- @run_after('install')
+ @run_after("install")
def symlink(self):
- if self.spec.satisfies('platform=darwin'):
- link(join_path(self.prefix,
- 'Wireshark.app/Contents/MacOS/Wireshark'),
- self.prefix.bin.wireshark)
+ if self.spec.satisfies("platform=darwin"):
+ link(
+ join_path(self.prefix, "Wireshark.app/Contents/MacOS/Wireshark"),
+ self.prefix.bin.wireshark,
+ )
- @run_after('install')
+ @run_after("install")
def install_headers(self):
- if self.spec.satisfies('+headers'):
- folders = ['.', 'epan/crypt', 'epan/dfilter', 'epan/dissectors',
- 'epan/ftypes', 'epan/wmem', 'wiretap', 'wsutil']
+ if self.spec.satisfies("+headers"):
+ folders = [
+ ".",
+ "epan/crypt",
+ "epan/dfilter",
+ "epan/dissectors",
+ "epan/ftypes",
+ "epan/wmem",
+ "wiretap",
+ "wsutil",
+ ]
for folder in folders:
mkdirp(join_path(prefix.include.wireshark, folder))
- install(join_path(folder, '*.h'),
- join_path(prefix.include.wireshark, folder))
+ install(join_path(folder, "*.h"), join_path(prefix.include.wireshark, folder))
diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py
index 314b4023e3..1c3c22cd80 100644
--- a/var/spack/repos/builtin/packages/wonton/package.py
+++ b/var/spack/repos/builtin/packages/wonton/package.py
@@ -17,118 +17,114 @@ class Wonton(CMakePackage):
"""
homepage = "https://portage.lanl.gov"
- git = "https://github.com/laristra/wonton.git"
- url = "https://github.com/laristra/wonton/releases/download/1.2.11/wonton-1.2.11.tar.gz"
+ git = "https://github.com/laristra/wonton.git"
+ url = "https://github.com/laristra/wonton/releases/download/1.2.11/wonton-1.2.11.tar.gz"
- maintainers = ['raovgarimella']
+ maintainers = ["raovgarimella"]
- version('1.3.2', sha256='a03f00cd95290c2dbe8724d430de19537ea644b75161614ed4ac918376fcf64d')
- version('1.2.11', sha256='613436c799b392a99355db1cbf1062f1da39f3287eed665a5cd43bb65364d926')
- version('1.2.10', sha256='c5c2c99f040f1fa5a8da21ac5ccbbc5b226d1fd43ce3eb14c76d211601b65a72')
- version('1.2.1', sha256='4f00513d1abe86f256214d2b5171b1575b2cd464df8609307c24cbc4c595c305')
+ version("1.3.2", sha256="a03f00cd95290c2dbe8724d430de19537ea644b75161614ed4ac918376fcf64d")
+ version("1.2.11", sha256="613436c799b392a99355db1cbf1062f1da39f3287eed665a5cd43bb65364d926")
+ version("1.2.10", sha256="c5c2c99f040f1fa5a8da21ac5ccbbc5b226d1fd43ce3eb14c76d211601b65a72")
+ version("1.2.1", sha256="4f00513d1abe86f256214d2b5171b1575b2cd464df8609307c24cbc4c595c305")
- variant('lapacke', default=True, description='Use LAPACKE solvers')
+ variant("lapacke", default=True, description="Use LAPACKE solvers")
# Variants for controlling parallelism
- variant('mpi', default=False, description='Enable distributed meshes with MPI')
- variant('thrust', default=False, description='Enable on-node parallelism using NVidia Thrust library')
- variant('kokkos', default=False, description='Enable on-node or device parallelism with Kokkos')
- variant('openmp', default=False, description="Enable on-node parallelism using OpenMP")
- variant('cuda', default=False, description="Enable GPU parallelism using CUDA")
- variant('flecsi', default=False, description="Enable FlecSI")
+ variant("mpi", default=False, description="Enable distributed meshes with MPI")
+ variant(
+ "thrust",
+ default=False,
+ description="Enable on-node parallelism using NVidia Thrust library",
+ )
+ variant(
+ "kokkos", default=False, description="Enable on-node or device parallelism with Kokkos"
+ )
+ variant("openmp", default=False, description="Enable on-node parallelism using OpenMP")
+ variant("cuda", default=False, description="Enable GPU parallelism using CUDA")
+ variant("flecsi", default=False, description="Enable FlecSI")
# wrappers to external mesh/state libraries
- variant('jali', default=False, description='Enable Jali mesh wrappers')
+ variant("jali", default=False, description="Enable Jali mesh wrappers")
- conflicts('+jali ~mpi') # Jali needs MPI
- conflicts('+thrust +cuda') # Thrust with CUDA does not work as yet
- conflicts('+thrust +kokkos') # Don't enable Kokkos, Thrust simultaneously
+ conflicts("+jali ~mpi") # Jali needs MPI
+ conflicts("+thrust +cuda") # Thrust with CUDA does not work as yet
+ conflicts("+thrust +kokkos") # Don't enable Kokkos, Thrust simultaneously
# dependencies
- depends_on('cmake@3.13:', type='build')
+ depends_on("cmake@3.13:", type="build")
- depends_on('netlib-lapack +lapacke', when='+lapacke')
+ depends_on("netlib-lapack +lapacke", when="+lapacke")
- depends_on('mpi', when='+mpi')
- depends_on('flecsi', when='+flecsi')
+ depends_on("mpi", when="+mpi")
+ depends_on("flecsi", when="+flecsi")
- depends_on('jali@1.1.6', when='@1.3.2: +jali')
- depends_on('jali +mstk', when='+jali')
- depends_on('mpi', when='+jali')
+ depends_on("jali@1.1.6", when="@1.3.2: +jali")
+ depends_on("jali +mstk", when="+jali")
+ depends_on("mpi", when="+jali")
# NVidia thrust library
- depends_on('thrust@1.8.3', when='+thrust')
+ depends_on("thrust@1.8.3", when="+thrust")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:1.2.10 ~thrust')
+ depends_on(Boost.with_default_variants, when="@:1.2.10 ~thrust")
# CUDA library
- depends_on('cuda', when='+cuda')
+ depends_on("cuda", when="+cuda")
# Kokkos with appropriate option
- depends_on('kokkos +openmp', when='+kokkos +openmp')
- depends_on('kokkos +cuda', when='+kokkos +cuda')
+ depends_on("kokkos +openmp", when="+kokkos +openmp")
+ depends_on("kokkos +cuda", when="+kokkos +cuda")
def cmake_args(self):
options = []
- if '+mpi' in self.spec:
- options.append('-DWONTON_ENABLE_MPI=ON')
+ if "+mpi" in self.spec:
+ options.append("-DWONTON_ENABLE_MPI=ON")
else:
- options.append('-DWONTON_ENABLE_MPI=OFF')
-
- if '+lapacke' in self.spec:
- options.append('-DWONTON_ENABLE_LAPACKE=ON')
- options.append('-DBLA_VENDOR=' + self.spec['blas'].name.upper())
- options.append(
- '-DBLAS_LIBRARIES=' + self.spec['blas'].libs.joined()
- )
+ options.append("-DWONTON_ENABLE_MPI=OFF")
+
+ if "+lapacke" in self.spec:
+ options.append("-DWONTON_ENABLE_LAPACKE=ON")
+ options.append("-DBLA_VENDOR=" + self.spec["blas"].name.upper())
+ options.append("-DBLAS_LIBRARIES=" + self.spec["blas"].libs.joined())
else:
- options.append('-DWONTON_ENABLE_LAPACKE=OFF')
-
- if '+thrust' in self.spec:
- options.append('-DWONTON_ENABLE_THRUST=ON')
- if '+cuda' in self.spec:
- options.append(
- '-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP'
- )
- options.append(
- '-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_CUDA'
- )
+ options.append("-DWONTON_ENABLE_LAPACKE=OFF")
+
+ if "+thrust" in self.spec:
+ options.append("-DWONTON_ENABLE_THRUST=ON")
+ if "+cuda" in self.spec:
+ options.append("-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP")
+ options.append("-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_CUDA")
else:
- options.append(
- '-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP'
- )
- options.append(
- '-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_OMP'
- )
+ options.append("-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP")
+ options.append("-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_OMP")
else:
- options.append('-DWONTON_ENABLE_THRUST=OFF')
-
- if '+kokkos' in self.spec:
- options.append('-DWONTON_ENABLE_Kokkos=ON')
- if '+cuda' in self.spec:
- options.append('-DWONTON_ENABLE_Kokkos_CUDA=ON')
- elif '+openmp' in self.spec:
- options.append('-DWONTON_ENABLE_Kokkos_OpenMP=ON')
+ options.append("-DWONTON_ENABLE_THRUST=OFF")
+
+ if "+kokkos" in self.spec:
+ options.append("-DWONTON_ENABLE_Kokkos=ON")
+ if "+cuda" in self.spec:
+ options.append("-DWONTON_ENABLE_Kokkos_CUDA=ON")
+ elif "+openmp" in self.spec:
+ options.append("-DWONTON_ENABLE_Kokkos_OpenMP=ON")
else:
- options.append('-DWONTON_ENABLE_Kokkos=OFF')
+ options.append("-DWONTON_ENABLE_Kokkos=OFF")
- if '+jali' in self.spec:
- options.append('-DWONTON_ENABLE_Jali=ON')
+ if "+jali" in self.spec:
+ options.append("-DWONTON_ENABLE_Jali=ON")
else:
- options.append('-DWONTON_ENABLE_Jali=OFF')
+ options.append("-DWONTON_ENABLE_Jali=OFF")
# BROKEN DEPENDENCY!!!!!!
- options.append(self.define_from_variant('WONTON_ENABLE_FleCSI', 'flecsi'))
+ options.append(self.define_from_variant("WONTON_ENABLE_FleCSI", "flecsi"))
# Unit test variant
if self.run_tests:
- options.append('-DENABLE_UNIT_TESTS=ON')
- options.append('-DENABLE_APP_TESTS=ON')
+ options.append("-DENABLE_UNIT_TESTS=ON")
+ options.append("-DENABLE_APP_TESTS=ON")
else:
- options.append('-DENABLE_UNIT_TESTS=OFF')
- options.append('-DENABLE_APP_TESTS=OFF')
+ options.append("-DENABLE_UNIT_TESTS=OFF")
+ options.append("-DENABLE_APP_TESTS=OFF")
return options
diff --git a/var/spack/repos/builtin/packages/wordnet/package.py b/var/spack/repos/builtin/packages/wordnet/package.py
index b693dc31f7..d992f296ba 100644
--- a/var/spack/repos/builtin/packages/wordnet/package.py
+++ b/var/spack/repos/builtin/packages/wordnet/package.py
@@ -9,25 +9,25 @@ from spack.package import *
class Wordnet(AutotoolsPackage):
"""WordNet is a large lexical database of English. Nouns, verbs, adjectives
and adverbs are grouped into sets of cognitive synonyms (synsets), each
- expressing a distinct concept. """
+ expressing a distinct concept."""
homepage = "https://wordnet.princeton.edu/"
- url = "https://wordnetcode.princeton.edu/3.0/WordNet-3.0.tar.gz"
+ url = "https://wordnetcode.princeton.edu/3.0/WordNet-3.0.tar.gz"
- version('3.0', sha256='640db279c949a88f61f851dd54ebbb22d003f8b90b85267042ef85a3781d3a52')
+ version("3.0", sha256="640db279c949a88f61f851dd54ebbb22d003f8b90b85267042ef85a3781d3a52")
- depends_on('tk')
- depends_on('tcl')
+ depends_on("tk")
+ depends_on("tcl")
def configure_args(self):
args = []
- args.append('--with-tk=%s' % self.spec['tk'].libs.directories[0])
- args.append('--with-tcl=%s' % self.spec['tcl'].libs.directories[0])
- if self.spec.satisfies('^tcl@8.6:'):
- args.append('CPPFLAGS=-DUSE_INTERP_RESULT')
+ args.append("--with-tk=%s" % self.spec["tk"].libs.directories[0])
+ args.append("--with-tcl=%s" % self.spec["tcl"].libs.directories[0])
+ if self.spec.satisfies("^tcl@8.6:"):
+ args.append("CPPFLAGS=-DUSE_INTERP_RESULT")
return args
def setup_run_environment(self, env):
- env.set('WNHOME', self.prefix)
- env.set('WNSEARCHDIR', self.prefix.dict)
+ env.set("WNHOME", self.prefix)
+ env.set("WNSEARCHDIR", self.prefix.dict)
diff --git a/var/spack/repos/builtin/packages/workrave/package.py b/var/spack/repos/builtin/packages/workrave/package.py
index a20e736031..2a2ee1ca92 100644
--- a/var/spack/repos/builtin/packages/workrave/package.py
+++ b/var/spack/repos/builtin/packages/workrave/package.py
@@ -8,64 +8,68 @@ from spack.package import *
class Workrave(AutotoolsPackage):
"""Workrave is a program that assists in the recovery and prevention of
- Repetitive Strain Injury (RSI). The program frequently alerts you to
- take micro-pauses, rest breaks and restricts you to your daily limit.
- The program runs on GNU/Linux and Microsoft Windows.
+ Repetitive Strain Injury (RSI). The program frequently alerts you to
+ take micro-pauses, rest breaks and restricts you to your daily limit.
+ The program runs on GNU/Linux and Microsoft Windows.
"""
homepage = "https://www.workrave.org/"
- url = "https://github.com/rcaelers/workrave/archive/v1_10_20.tar.gz"
+ url = "https://github.com/rcaelers/workrave/archive/v1_10_20.tar.gz"
- version('1_10_20', sha256='a89c6e82d5bbbaae5e171100b87c4efd8316ab8a18d82b83714035e1116983ec')
- version('1_10_19', sha256='3a24d87e22fc9f463b6a9319843751038cbf6acfab9cd67893221a0071cf5405')
- version('1_10_18', sha256='f0de5abd2c3a29106b915f1c051808f6083e1052b46c5143ff96e2334757e91b')
- version('1_10_17', sha256='d911fd4738b6b4737cc2fc54c1683eb5d290f2764398c432fcc3b61bb326e71a')
- version('1_10_16', sha256='4368306db0d06e76a3a90fc8e81b3648c1218259833b01cdc6899b1e98e5895c')
- version('1_10_15', sha256='fa05bedbb32baae9d22ef2b1ac25e90bc9f1363ce588b396190b0240559f471c')
- version('1_10_14', sha256='de342be4ff131645ff29fe003b476816965a65a44f4ddc85109960502d9e7310')
- version('1_10_13', sha256='cbb5dab1073d2715e5b9cb8ccf8b3362ab6fa8ab05aa44629ecc78d6b93769e3')
- version('1_10_12', sha256='eb7a4b7ba137e6997d7b44ed38b705daf391e9c646a5a068c9b002830f35be47')
- version('1_10_10', sha256='84f9dca7634e291631017053a63ac20cd23c4da8c8f09ca4beef6f1419d904e3')
+ version("1_10_20", sha256="a89c6e82d5bbbaae5e171100b87c4efd8316ab8a18d82b83714035e1116983ec")
+ version("1_10_19", sha256="3a24d87e22fc9f463b6a9319843751038cbf6acfab9cd67893221a0071cf5405")
+ version("1_10_18", sha256="f0de5abd2c3a29106b915f1c051808f6083e1052b46c5143ff96e2334757e91b")
+ version("1_10_17", sha256="d911fd4738b6b4737cc2fc54c1683eb5d290f2764398c432fcc3b61bb326e71a")
+ version("1_10_16", sha256="4368306db0d06e76a3a90fc8e81b3648c1218259833b01cdc6899b1e98e5895c")
+ version("1_10_15", sha256="fa05bedbb32baae9d22ef2b1ac25e90bc9f1363ce588b396190b0240559f471c")
+ version("1_10_14", sha256="de342be4ff131645ff29fe003b476816965a65a44f4ddc85109960502d9e7310")
+ version("1_10_13", sha256="cbb5dab1073d2715e5b9cb8ccf8b3362ab6fa8ab05aa44629ecc78d6b93769e3")
+ version("1_10_12", sha256="eb7a4b7ba137e6997d7b44ed38b705daf391e9c646a5a068c9b002830f35be47")
+ version("1_10_10", sha256="84f9dca7634e291631017053a63ac20cd23c4da8c8f09ca4beef6f1419d904e3")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
- depends_on('libx11')
- depends_on('py-cheetah')
- depends_on('glib')
- depends_on('glibmm')
- depends_on('gtkplus')
- depends_on('gtkmm@2.17.1')
- depends_on('libsigcpp')
+ depends_on("libx11")
+ depends_on("py-cheetah")
+ depends_on("glib")
+ depends_on("glibmm")
+ depends_on("gtkplus")
+ depends_on("gtkmm@2.17.1")
+ depends_on("libsigcpp")
# adds #include <time.h> to a workrave test
- patch('add_time_header.patch')
+ patch("add_time_header.patch")
# removes call to missing gtkmm api function
- patch('dont_get_widget.patch')
+ patch("dont_get_widget.patch")
# removes gettext which canot be use with intltool
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=724555
# https://bugzilla.gnome.org/show_bug.cgi?id=708673#c4
- patch('no_gettext.patch')
+ patch("no_gettext.patch")
# add a couple m4 macros used during autoreconf
# https://github.com/rcaelers/workrave/issues/95
- m4files = ['ax_cxx_compile_stdcxx_11', 'ax_cxx_compile_stdcxx']
- resource(name=m4files[0],
- url='https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx_11.m4',
- sha256='d75fc9fe4502eea02e8c5bfb61b88a04cd08aa6d5bd757fe66e9a9a1e4781b46',
- expand=False,
- destination='',
- placement=m4files[0])
- resource(name=m4files[1],
- url='https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx.m4',
- sha256='0c08d2f64147f65eb7e255019102c1042ab695c60fd49add19793951a1279a1a',
- expand=False,
- destination='',
- placement=m4files[1])
+ m4files = ["ax_cxx_compile_stdcxx_11", "ax_cxx_compile_stdcxx"]
+ resource(
+ name=m4files[0],
+ url="https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx_11.m4",
+ sha256="d75fc9fe4502eea02e8c5bfb61b88a04cd08aa6d5bd757fe66e9a9a1e4781b46",
+ expand=False,
+ destination="",
+ placement=m4files[0],
+ )
+ resource(
+ name=m4files[1],
+ url="https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx.m4",
+ sha256="0c08d2f64147f65eb7e255019102c1042ab695c60fd49add19793951a1279a1a",
+ expand=False,
+ destination="",
+ placement=m4files[1],
+ )
def setup_build_environment(self, env):
# unset PYTHONHOME to let system python script with explict
@@ -73,13 +77,13 @@ class Workrave(AutotoolsPackage):
# Without this, we will get
# ImportError: No module named site
# during build phase when make runs glib-mkenums
- env.unset('PYTHONHOME')
+ env.unset("PYTHONHOME")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def extra_m4(self):
# move m4 macros, which we added with the resource() directive,
# to the m4 directory, where aclocal will pick them up
for fname in self.m4files:
- src = '%s/%s/%s.m4' % (self.stage.source_path, fname, fname)
- dest = '%s/m4/%s.m4' % (self.stage.source_path, fname)
+ src = "%s/%s/%s.m4" % (self.stage.source_path, fname, fname)
+ dest = "%s/m4/%s.m4" % (self.stage.source_path, fname)
copy(src, dest)
diff --git a/var/spack/repos/builtin/packages/wps/package.py b/var/spack/repos/builtin/packages/wps/package.py
index 8506121b0d..14e1e55823 100644
--- a/var/spack/repos/builtin/packages/wps/package.py
+++ b/var/spack/repos/builtin/packages/wps/package.py
@@ -10,85 +10,84 @@ from spack.package import *
class Wps(Package):
- """The Weather Research and Forecasting Pre-Processing System (WPS)
- """
+ """The Weather Research and Forecasting Pre-Processing System (WPS)"""
homepage = "https://www.mmm.ucar.edu/weather-research-and-forecasting-model"
- url = "https://github.com/wrf-model/WPS/archive/v4.2.tar.gz"
- maintainers = ['MichaelLaufer']
+ url = "https://github.com/wrf-model/WPS/archive/v4.2.tar.gz"
+ maintainers = ["MichaelLaufer"]
- version('4.3.1', sha256='db6da44a2ca68cc289e98ab388a53c27283eb4ed8e92edee268466543fdedb0e')
- version('4.3', sha256='1913cb24de549f029d65635feea27f3304a8f42ec025954a0887651fc89d1e9e')
- version('4.2', sha256='3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168')
+ version("4.3.1", sha256="db6da44a2ca68cc289e98ab388a53c27283eb4ed8e92edee268466543fdedb0e")
+ version("4.3", sha256="1913cb24de549f029d65635feea27f3304a8f42ec025954a0887651fc89d1e9e")
+ version("4.2", sha256="3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168")
# Serial variant recommended in WRF/WPS docs
- variant('build_type', default='serial',
- values=('serial', 'serial_NO_GRIB2', 'dmpar', 'dmpar_NO_GRIB2'))
+ variant(
+ "build_type",
+ default="serial",
+ values=("serial", "serial_NO_GRIB2", "dmpar", "dmpar_NO_GRIB2"),
+ )
# These patches deal with netcdf & netcdf-fortran being two diff things
- patch('patches/4.2/arch.Config.pl.patch', when='@4.2:')
- patch('patches/4.2/arch.configure.defaults.patch', when='@4.2')
- patch('patches/4.2/configure.patch', when='@4.2:')
- patch('patches/4.2/preamble.patch', when='@4.2:')
- patch('patches/4.3/arch.configure.defaults.patch', when='@4.3:4.3.0')
- patch('patches/4.3.1/arch.configure.defaults.patch', when='@4.3.1')
+ patch("patches/4.2/arch.Config.pl.patch", when="@4.2:")
+ patch("patches/4.2/arch.configure.defaults.patch", when="@4.2")
+ patch("patches/4.2/configure.patch", when="@4.2:")
+ patch("patches/4.2/preamble.patch", when="@4.2:")
+ patch("patches/4.3/arch.configure.defaults.patch", when="@4.3:4.3.0")
+ patch("patches/4.3.1/arch.configure.defaults.patch", when="@4.3.1")
# According to:
# http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.0/users_guide_chap2.html#_Required_Compilers_and_1
# Section: "Required/Optional Libraries to Download"
- depends_on('wrf')
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
+ depends_on("wrf")
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
# build script use csh
- depends_on('tcsh', type=('build'))
+ depends_on("tcsh", type=("build"))
# this fixes that for csh install scripts
- depends_on('time', type=('build'))
- depends_on('m4', type='build')
- depends_on('libtool', type='build')
- depends_on('jasper@:2')
- phases = ['configure', 'build', 'install']
+ depends_on("time", type=("build"))
+ depends_on("m4", type="build")
+ depends_on("libtool", type="build")
+ depends_on("jasper@:2")
+ phases = ["configure", "build", "install"]
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def setup_build_environment(self, env):
- env.set('WRF_DIR', self.spec['wrf'].prefix)
- env.set('NETCDF', self.spec['netcdf-c'].prefix)
+ env.set("WRF_DIR", self.spec["wrf"].prefix)
+ env.set("NETCDF", self.spec["netcdf-c"].prefix)
# This gets used via the applied patch files
- env.set('NETCDFF', self.spec['netcdf-fortran'].prefix)
- env.set('JASPERINC', self.spec['jasper'].prefix.include)
- env.set('JASPERLIB', self.spec['jasper'].prefix.lib)
+ env.set("NETCDFF", self.spec["netcdf-fortran"].prefix)
+ env.set("JASPERINC", self.spec["jasper"].prefix.include)
+ env.set("JASPERLIB", self.spec["jasper"].prefix.lib)
- if self.spec.satisfies('%gcc@10:'):
- args = '-w -O2 -fallow-argument-mismatch -fallow-invalid-boz'
- env.set('FCFLAGS', args)
- env.set('FFLAGS', args)
+ if self.spec.satisfies("%gcc@10:"):
+ args = "-w -O2 -fallow-argument-mismatch -fallow-invalid-boz"
+ env.set("FCFLAGS", args)
+ env.set("FFLAGS", args)
def setup_run_environment(self, env):
- env.append_path('PATH', self.prefix)
- env.append_path('PATH', self.prefix.util)
+ env.append_path("PATH", self.prefix)
+ env.append_path("PATH", self.prefix.util)
def patch(self):
# Let's not assume csh is intalled in bin
- files = glob.glob('*.csh')
+ files = glob.glob("*.csh")
- filter_file('^#!/bin/csh -f', '#!/usr/bin/env csh', *files)
- filter_file('^#!/bin/csh', '#!/usr/bin/env csh', *files)
+ filter_file("^#!/bin/csh -f", "#!/usr/bin/env csh", *files)
+ filter_file("^#!/bin/csh", "#!/usr/bin/env csh", *files)
def configure(self, spec, prefix):
- build_opts = {"gcc": {"serial": '1',
- "serial_NO_GRIB2": '2',
- "dmpar": '3',
- "dmpar_NO_GRIB2": '4'},
- "intel": {"serial": '17',
- "serial_NO_GRIB2": '18',
- "dmpar": '19',
- "dmpar_NO_GRIB2": '20'},
- "pgi": {"serial": '5',
- "serial_NO_GRIB2": '6',
- "dmpar": '7',
- "dmpar_NO_GRIB2": '8'},
- }
+ build_opts = {
+ "gcc": {"serial": "1", "serial_NO_GRIB2": "2", "dmpar": "3", "dmpar_NO_GRIB2": "4"},
+ "intel": {
+ "serial": "17",
+ "serial_NO_GRIB2": "18",
+ "dmpar": "19",
+ "dmpar_NO_GRIB2": "20",
+ },
+ "pgi": {"serial": "5", "serial_NO_GRIB2": "6", "dmpar": "7", "dmpar_NO_GRIB2": "8"},
+ }
try:
compiler_opts = build_opts[self.spec.compiler.name]
@@ -96,17 +95,17 @@ class Wps(Package):
raise InstallError("Compiler not recognized nor supported.")
# Spack already makes sure that the variant value is part of the set.
- build_type = compiler_opts[spec.variants['build_type'].value]
+ build_type = compiler_opts[spec.variants["build_type"].value]
- with tempfile.TemporaryFile(mode='w') as fp:
- fp.write(build_type + '\n')
+ with tempfile.TemporaryFile(mode="w") as fp:
+ fp.write(build_type + "\n")
fp.seek(0)
- Executable('./configure')(input=fp)
+ Executable("./configure")(input=fp)
def build(self, spec, prefix):
- csh = which('csh')
- csh('./compile')
+ csh = which("csh")
+ csh("./compile")
def install(self, spec, prefix):
# Copy all of WPS staging dir to install dir
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/wrf-io/package.py b/var/spack/repos/builtin/packages/wrf-io/package.py
index f89877c096..5dada9ff26 100644
--- a/var/spack/repos/builtin/packages/wrf-io/package.py
+++ b/var/spack/repos/builtin/packages/wrf-io/package.py
@@ -14,17 +14,17 @@ class WrfIo(CMakePackage):
This is part of the NCEPLIBS project."""
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"
+ url = "https://github.com/NOAA-EMC/NCEPLIBS-wrf_io/archive/refs/tags/v1.2.0.tar.gz"
- maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
+ maintainers = ["t-brown", "kgerheiser", "Hang-Lei-NOAA", "edwardhartnett"]
- version('1.2.0', sha256='000cf5294a2c68460085258186e1f36c86d3d0d9c433aa969a0f92736b745617')
+ version("1.2.0", sha256="000cf5294a2c68460085258186e1f36c86d3d0d9c433aa969a0f92736b745617")
- variant('openmp', default=False, description='Enable multithreading with OpenMP')
+ variant("openmp", default=False, description="Enable multithreading with OpenMP")
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
def cmake_args(self):
- args = [self.define_from_variant('OPENMP', 'openmp')]
+ args = [self.define_from_variant("OPENMP", "openmp")]
return args
diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py
index 0f2663033c..8444d9d24b 100644
--- a/var/spack/repos/builtin/packages/wrf/package.py
+++ b/var/spack/repos/builtin/packages/wrf/package.py
@@ -14,18 +14,18 @@ from llnl.util import tty
from spack.package import *
-is_windows = platform == 'win32'
+is_windows = platform == "win32"
if not is_windows:
from fcntl import F_GETFL, F_SETFL, fcntl
from os import O_NONBLOCK
-re_optline = re.compile(r'\s+[0-9]+\..*\((serial|smpar|dmpar|dm\+sm)\)\s+')
-re_paroptname = re.compile(r'\((serial|smpar|dmpar|dm\+sm)\)')
-re_paroptnum = re.compile(r'\s+([0-9]+)\.\s+\(')
-re_nestline = re.compile(r'\(([0-9]+=[^)0-9]+)+\)')
-re_nestoptnum = re.compile(r'([0-9]+)=')
-re_nestoptname = re.compile(r'=([^,)]+)')
+re_optline = re.compile(r"\s+[0-9]+\..*\((serial|smpar|dmpar|dm\+sm)\)\s+")
+re_paroptname = re.compile(r"\((serial|smpar|dmpar|dm\+sm)\)")
+re_paroptnum = re.compile(r"\s+([0-9]+)\.\s+\(")
+re_nestline = re.compile(r"\(([0-9]+=[^)0-9]+)+\)")
+re_nestoptnum = re.compile(r"([0-9]+)=")
+re_nestoptname = re.compile(r"=([^,)]+)")
def setNonBlocking(fd):
@@ -66,16 +66,20 @@ class Wrf(Package):
for both atmospheric research and operational forecasting applications.
"""
- homepage = "https://www.mmm.ucar.edu/weather-research-and-forecasting-model"
- url = "https://github.com/wrf-model/WRF/archive/v4.2.tar.gz"
+ homepage = "https://www.mmm.ucar.edu/weather-research-and-forecasting-model"
+ url = "https://github.com/wrf-model/WRF/archive/v4.2.tar.gz"
maintainers = ["MichaelLaufer", "ptooley"]
- version("4.3.3", sha256='1b98b8673513f95716c7fc54e950dfebdb582516e22758cd94bc442bccfc0b86')
- version("4.3.2", sha256='2c682da0cd0fd13f57d5125eef331f9871ec6a43d860d13b0c94a07fa64348ec')
- version("4.3.1", sha256='6c9a69d05ee17d2c80b3699da173cfe6fdf65487db7587c8cc96bfa9ceafce87')
+ version("4.3.3", sha256="1b98b8673513f95716c7fc54e950dfebdb582516e22758cd94bc442bccfc0b86")
+ version("4.3.2", sha256="2c682da0cd0fd13f57d5125eef331f9871ec6a43d860d13b0c94a07fa64348ec")
+ version("4.3.1", sha256="6c9a69d05ee17d2c80b3699da173cfe6fdf65487db7587c8cc96bfa9ceafce87")
version("4.2", sha256="c39a1464fd5c439134bbd39be632f7ce1afd9a82ad726737e37228c6a3d74706")
version("4.0", sha256="9718f26ee48e6c348d8e28b8bc5e8ff20eafee151334b3959a11b7320999cf65")
- version("3.9.1.1", sha256="a04f5c425bedd262413ec88192a0f0896572cc38549de85ca120863c43df047a", url="https://github.com/wrf-model/WRF/archive/V3.9.1.1.tar.gz")
+ version(
+ "3.9.1.1",
+ sha256="a04f5c425bedd262413ec88192a0f0896572cc38549de85ca120863c43df047a",
+ url="https://github.com/wrf-model/WRF/archive/V3.9.1.1.tar.gz",
+ )
variant(
"build_type",
@@ -110,12 +114,7 @@ class Wrf(Package):
default=True,
description="Parallel IO support through Pnetcdf library",
)
- variant(
- "chem",
- default=False,
- description="Enable WRF-Chem",
- when="@4:"
- )
+ variant("chem", default=False, description="Enable WRF-Chem", when="@4:")
patch("patches/3.9/netcdf_backport.patch", when="@3.9.1.1")
patch("patches/3.9/tirpc_detect.patch", when="@3.9.1.1")
@@ -153,18 +152,27 @@ class Wrf(Package):
patch("patches/4.2/hdf5_fix.patch", when="@4.2: %aocc")
patch("patches/4.2/derf_fix.patch", when="@4.2 %aocc")
# Various syntax fixes found by FPT tool
- patch("https://github.com/wrf-model/WRF/commit/6502d5d9c15f5f9a652dec244cc12434af737c3c.patch?full_index=1",
- sha256="c5162c23a132b377132924f8f1545313861c6cee5a627e9ebbdcf7b7b9d5726f", when="@4.2 %fj")
+ patch(
+ "https://github.com/wrf-model/WRF/commit/6502d5d9c15f5f9a652dec244cc12434af737c3c.patch?full_index=1",
+ sha256="c5162c23a132b377132924f8f1545313861c6cee5a627e9ebbdcf7b7b9d5726f",
+ when="@4.2 %fj",
+ )
patch("patches/4.2/configure_fujitsu.patch", when="@4 %fj")
patch("patches/4.3/Makefile.patch", when="@4.3:")
patch("patches/4.3/arch.postamble.patch", when="@4.3:")
patch("patches/4.3/fujitsu.patch", when="@4.3: %fj")
# Syntax errors in physics routines
- patch("https://github.com/wrf-model/WRF/commit/7c6fd575b7a8fe5715b07b38db160e606c302956.patch?full_index=1",
- sha256="1ce97f4fd09e440bdf00f67711b1c50439ac27595ea6796efbfb32e0b9a1f3e4", when="@4.3.1")
- patch("https://github.com/wrf-model/WRF/commit/238a7d219b7c8e285db28fe4f0c96ebe5068d91c.patch?full_index=1",
- sha256="27c7268f6c84b884d21e4afad0bab8554b06961cf4d6bfd7d0f5a457dcfdffb1", when="@4.3.1")
+ patch(
+ "https://github.com/wrf-model/WRF/commit/7c6fd575b7a8fe5715b07b38db160e606c302956.patch?full_index=1",
+ sha256="1ce97f4fd09e440bdf00f67711b1c50439ac27595ea6796efbfb32e0b9a1f3e4",
+ when="@4.3.1",
+ )
+ patch(
+ "https://github.com/wrf-model/WRF/commit/238a7d219b7c8e285db28fe4f0c96ebe5068d91c.patch?full_index=1",
+ sha256="27c7268f6c84b884d21e4afad0bab8554b06961cf4d6bfd7d0f5a457dcfdffb1",
+ when="@4.3.1",
+ )
depends_on("pkgconfig", type=("build"))
depends_on("libtirpc")
@@ -218,7 +226,7 @@ class Wrf(Package):
if self.spec.satisfies("%aocc"):
env.set("WRFIO_NCD_LARGE_FILE_SUPPORT", 1)
env.set("HDF5", self.spec["hdf5"].prefix)
- env.prepend_path('PATH', ancestor(self.compiler.cc))
+ env.prepend_path("PATH", ancestor(self.compiler.cc))
def patch(self):
# Let's not assume csh is intalled in bin
@@ -236,19 +244,14 @@ class Wrf(Package):
basename(self.compiler.fc).split("-")[0],
basename(self.compiler.cc).split("-")[0],
)
- compiler_matches = dict(
- (x, y) for x, y in options.items() if comp_pair in x.lower()
- )
+ compiler_matches = dict((x, y) for x, y in options.items() if comp_pair in x.lower())
if len(compiler_matches) > 1:
tty.warn("Found multiple potential build options")
try:
compiler_key = min(compiler_matches.keys(), key=len)
tty.warn("Selected build option %s." % compiler_key)
return (
- "%s\n"
- % compiler_matches[compiler_key][
- self.spec.variants["build_type"].value
- ]
+ "%s\n" % compiler_matches[compiler_key][self.spec.variants["build_type"].value]
)
except KeyError:
InstallError(
@@ -270,31 +273,29 @@ class Wrf(Package):
# configure.defaults, while in earlier versions
# it's configure_new.defaults
if self.spec.satisfies("@3.9.1.1"):
- config = FileFilter(join_path('arch', 'configure_new.defaults'))
+ config = FileFilter(join_path("arch", "configure_new.defaults"))
else:
- config = FileFilter(join_path('arch', 'configure.defaults'))
+ config = FileFilter(join_path("arch", "configure.defaults"))
if self.spec.satisfies("@3.9.1.1 %gcc"):
- config.filter('^DM_FC.*mpif90 -f90=$(SFC)',
- 'DM_FC = {0}'.format(self.spec['mpi'].mpifc))
- config.filter('^DM_CC.*mpicc -cc=$(SCC)',
- 'DM_CC = {0}'.format(self.spec['mpi'].mpicc))
+ config.filter(
+ "^DM_FC.*mpif90 -f90=$(SFC)", "DM_FC = {0}".format(self.spec["mpi"].mpifc)
+ )
+ config.filter("^DM_CC.*mpicc -cc=$(SCC)", "DM_CC = {0}".format(self.spec["mpi"].mpicc))
if self.spec.satisfies("%aocc"):
config.filter(
- '^DM_FC.*mpif90 -DMPI2SUPPORT',
- 'DM_FC = {0}'.format(self.spec['mpi'].mpifc + ' -DMPI2_SUPPORT')
+ "^DM_FC.*mpif90 -DMPI2SUPPORT",
+ "DM_FC = {0}".format(self.spec["mpi"].mpifc + " -DMPI2_SUPPORT"),
)
config.filter(
- '^DM_.CC*mpicc -DMPI2SUPPORT',
- 'DM_CC = {0}'.format(self.spec['mpi'].mpicc) + ' -DMPI2_SUPPORT'
+ "^DM_.CC*mpicc -DMPI2SUPPORT",
+ "DM_CC = {0}".format(self.spec["mpi"].mpicc) + " -DMPI2_SUPPORT",
)
if self.spec.satisfies("@4.2: %intel"):
- config.filter('^DM_FC.*mpif90',
- 'DM_FC = {0}'.format(self.spec['mpi'].mpifc))
- config.filter('^DM_CC.*mpicc',
- 'DM_CC = {0}'.format(self.spec['mpi'].mpicc))
+ config.filter("^DM_FC.*mpif90", "DM_FC = {0}".format(self.spec["mpi"].mpifc))
+ config.filter("^DM_CC.*mpicc", "DM_CC = {0}".format(self.spec["mpi"].mpicc))
def configure(self, spec, prefix):
@@ -303,8 +304,7 @@ class Wrf(Package):
if self.spec.compiler.name not in ["intel", "gcc", "aocc", "fj"]:
raise InstallError(
- "Compiler %s not currently supported for WRF build."
- % self.spec.compiler.name
+ "Compiler %s not currently supported for WRF build." % self.spec.compiler.name
)
p = Popen("./configure", stdin=PIPE, stdout=PIPE, stderr=PIPE)
@@ -328,8 +328,7 @@ class Wrf(Package):
break
if stallcounter > 300:
raise InstallError(
- "Output stalled for 30s, presumably an "
- "undetected question."
+ "Output stalled for 30s, presumably an " "undetected question."
)
time.sleep(0.1) # Try to do a bit of rate limiting
stallcounter += 1
@@ -337,10 +336,7 @@ class Wrf(Package):
stdout.write(line)
stallcounter = 0
outputbuf += line
- if (
- "Enter selection" in outputbuf
- or "Compile for nesting" in outputbuf
- ):
+ if "Enter selection" in outputbuf or "Compile for nesting" in outputbuf:
answer = self.answer_configure_question(outputbuf)
p.stdin.write(answer.encode())
p.stdin.flush()
@@ -353,7 +349,7 @@ class Wrf(Package):
def patch_for_libmvec(self):
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', '.')
+ which("patch")("-s", "-p1", "-i", "{0}".format(fp), "-d", ".")
def run_compile_script(self):
csh_bin = self.spec["tcsh"].prefix.bin.csh
@@ -372,7 +368,7 @@ class Wrf(Package):
num_jobs,
self.spec.variants["compile_type"].value,
output=str,
- error=str
+ error=str,
)
print(result_buf)
@@ -386,16 +382,11 @@ class Wrf(Package):
result = self.run_compile_script()
if not result:
- tty.warn(
- "Compilation failed first time (WRF idiosyncrasies?) "
- "- trying again..."
- )
+ tty.warn("Compilation failed first time (WRF idiosyncrasies?) " "- trying again...")
result = self.run_compile_script()
if not result:
- raise InstallError(
- "Compile failed. Check the output log for details."
- )
+ raise InstallError("Compile failed. Check the output log for details.")
def install(self, spec, prefix):
# Save all install files as many are needed for WPS and WRF runs
diff --git a/var/spack/repos/builtin/packages/wrk/package.py b/var/spack/repos/builtin/packages/wrk/package.py
index 8a7a909647..8212d4cba1 100644
--- a/var/spack/repos/builtin/packages/wrk/package.py
+++ b/var/spack/repos/builtin/packages/wrk/package.py
@@ -12,14 +12,14 @@ class Wrk(MakefilePackage):
multi-core CPU."""
homepage = "https://github.com/wg/wrk"
- url = "https://github.com/wg/wrk/archive/4.1.0.tar.gz"
+ url = "https://github.com/wg/wrk/archive/4.1.0.tar.gz"
- version('4.1.0', sha256='6fa1020494de8c337913fd139d7aa1acb9a020de6f7eb9190753aa4b1e74271e')
- version('4.0.2', sha256='a4a6ad6727733023771163e7250189a9a23e6253b5e5025191baa6092d5a26fb')
- version('4.0.1', sha256='c03bbc283836cb4b706eb6bfd18e724a8ce475e2c16154c13c6323a845b4327d')
- version('4.0.0', sha256='8fa8fb05f4663d03c1ca7804367eb602882f9630441bd56e8e9aaf3a2bd26067')
- version('3.1.2', sha256='da88a25f0eeb9e1fd6a9dcf4a96859e9e758f9446f0787cf7c95e4ccde14eefc')
+ version("4.1.0", sha256="6fa1020494de8c337913fd139d7aa1acb9a020de6f7eb9190753aa4b1e74271e")
+ version("4.0.2", sha256="a4a6ad6727733023771163e7250189a9a23e6253b5e5025191baa6092d5a26fb")
+ version("4.0.1", sha256="c03bbc283836cb4b706eb6bfd18e724a8ce475e2c16154c13c6323a845b4327d")
+ version("4.0.0", sha256="8fa8fb05f4663d03c1ca7804367eb602882f9630441bd56e8e9aaf3a2bd26067")
+ version("3.1.2", sha256="da88a25f0eeb9e1fd6a9dcf4a96859e9e758f9446f0787cf7c95e4ccde14eefc")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install('wrk', prefix.bin)
+ install("wrk", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/wsmancli/package.py b/var/spack/repos/builtin/packages/wsmancli/package.py
index b2fc047fe5..f3a6f18e3f 100644
--- a/var/spack/repos/builtin/packages/wsmancli/package.py
+++ b/var/spack/repos/builtin/packages/wsmancli/package.py
@@ -10,18 +10,18 @@ class Wsmancli(AutotoolsPackage):
"""Openwsman command line client"""
homepage = "http://www.openwsman.org"
- url = "https://github.com/Openwsman/wsmancli/archive/v2.6.0.tar.gz"
+ url = "https://github.com/Openwsman/wsmancli/archive/v2.6.0.tar.gz"
- version('2.6.0', sha256='766fef60d4c627d8b6129b3c9ae97d8676442bc6110b3a723610c54894365e0d')
- version('2.5.0', sha256='9e60e9b21d14328feadceeaf0c3c233d7ee701e7814010ede23367a9bd5efb33')
- version('2.3.2', sha256='b5ffd4c4cdbcde7cf8cf84be3a3c1b92d84ffb8b492e6008a83e090c760d6c2d')
+ version("2.6.0", sha256="766fef60d4c627d8b6129b3c9ae97d8676442bc6110b3a723610c54894365e0d")
+ version("2.5.0", sha256="9e60e9b21d14328feadceeaf0c3c233d7ee701e7814010ede23367a9bd5efb33")
+ version("2.3.2", sha256="b5ffd4c4cdbcde7cf8cf84be3a3c1b92d84ffb8b492e6008a83e090c760d6c2d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('openwsman')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("openwsman")
def autoreconf(self, spec, prefix):
- bash = which('bash')
- bash('./bootstrap')
+ bash = which("bash")
+ bash("./bootstrap")
diff --git a/var/spack/repos/builtin/packages/wt/package.py b/var/spack/repos/builtin/packages/wt/package.py
index 9fa39e5e93..22c1960723 100644
--- a/var/spack/repos/builtin/packages/wt/package.py
+++ b/var/spack/repos/builtin/packages/wt/package.py
@@ -13,63 +13,69 @@ class Wt(CMakePackage):
Wt is a C++ library for developing web applications."""
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"
+ url = "https://github.com/emweb/wt/archive/3.3.7.tar.gz"
+ git = "https://github.com/emweb/wt.git"
- version('master', branch='master')
- version('3.3.7', sha256='054af8d62a7c158df62adc174a6a57610868470a07e7192ee7ce60a18552851d')
+ version("master", branch="master")
+ version("3.3.7", sha256="054af8d62a7c158df62adc174a6a57610868470a07e7192ee7ce60a18552851d")
# wt builds in parallel, but requires more than 5 GByte RAM per -j <njob>
# which most machines do not provide and crash the build
parallel = False
- variant('openssl', default=True,
- description='SSL and WebSockets support in the built-in httpd, '
- 'the HTTP(S) client, and additional cryptographic '
- 'hashes in the authentication module')
- variant('libharu', default=True, description='painting to PDF')
+ variant(
+ "openssl",
+ default=True,
+ description="SSL and WebSockets support in the built-in httpd, "
+ "the HTTP(S) client, and additional cryptographic "
+ "hashes in the authentication module",
+ )
+ variant("libharu", default=True, description="painting to PDF")
# variant('graphicsmagick', default=True,
# description='painting to PNG, GIF')
- variant('sqlite', default=False, description='create SQLite3 DBO')
- variant('mariadb', default=False, description='create MariaDB/MySQL DBO')
- variant('postgresql', default=False, description='create PostgreSQL DBO')
+ variant("sqlite", default=False, description="create SQLite3 DBO")
+ variant("mariadb", default=False, description="create MariaDB/MySQL DBO")
+ variant("postgresql", default=False, description="create PostgreSQL DBO")
# variant('firebird', default=False, description='create Firebird DBO')
- variant('pango', default=True,
- description='improved font support in PDF and raster image '
- 'painting')
- variant('zlib', default=True,
- description='compression in the built-in httpd')
+ variant(
+ "pango",
+ default=True,
+ description="improved font support in PDF and raster image " "painting",
+ )
+ variant("zlib", default=True, description="compression in the built-in httpd")
# variant('fastcgi', default=False,
# description='FastCGI connector via libfcgi++')
- depends_on('pkgconfig', type='build')
- depends_on('boost@1.46.1:1.65')
+ depends_on("pkgconfig", type="build")
+ depends_on("boost@1.46.1:1.65")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('openssl', when='+openssl')
- depends_on('libharu', when='+libharu')
- depends_on('sqlite', when='+sqlite')
- depends_on('mariadb', when='+mariadb')
- depends_on('postgresql', when='+postgresql')
- depends_on('pango', when='+pango')
- depends_on('zlib', when='+zlib')
+ depends_on("openssl", when="+openssl")
+ depends_on("libharu", when="+libharu")
+ depends_on("sqlite", when="+sqlite")
+ depends_on("mariadb", when="+mariadb")
+ depends_on("postgresql", when="+postgresql")
+ depends_on("pango", when="+pango")
+ depends_on("zlib", when="+zlib")
def cmake_args(self):
cmake_args = [
- '-DBUILD_EXAMPLES:BOOL=OFF',
- '-DCONNECTOR_FCGI:BOOL=OFF',
- '-DENABLE_OPENGL:BOOL=OFF',
- '-DENABLE_QT4:BOOL=OFF'
+ "-DBUILD_EXAMPLES:BOOL=OFF",
+ "-DCONNECTOR_FCGI:BOOL=OFF",
+ "-DENABLE_OPENGL:BOOL=OFF",
+ "-DENABLE_QT4:BOOL=OFF",
]
- cmake_args.extend([
- self.define_from_variant('ENABLE_SSL', 'openssl'),
- self.define_from_variant('ENABLE_HARU', 'libharu'),
- self.define_from_variant('ENABLE_PANGO', 'pango'),
- self.define_from_variant('ENABLE_SQLITE', 'sqlite'),
- self.define_from_variant('ENABLE_MYSQL', 'mariadb'),
- self.define_from_variant('ENABLE_POSTGRES', 'postgresql')
- ])
+ cmake_args.extend(
+ [
+ self.define_from_variant("ENABLE_SSL", "openssl"),
+ self.define_from_variant("ENABLE_HARU", "libharu"),
+ self.define_from_variant("ENABLE_PANGO", "pango"),
+ self.define_from_variant("ENABLE_SQLITE", "sqlite"),
+ self.define_from_variant("ENABLE_MYSQL", "mariadb"),
+ self.define_from_variant("ENABLE_POSTGRES", "postgresql"),
+ ]
+ )
return cmake_args
diff --git a/var/spack/repos/builtin/packages/wtdbg2/package.py b/var/spack/repos/builtin/packages/wtdbg2/package.py
index 586a9c376e..ded3c80a4f 100644
--- a/var/spack/repos/builtin/packages/wtdbg2/package.py
+++ b/var/spack/repos/builtin/packages/wtdbg2/package.py
@@ -10,19 +10,19 @@ class Wtdbg2(MakefilePackage):
"""A fuzzy Bruijn graph approach to long noisy reads assembly"""
homepage = "https://github.com/ruanjue/wtdbg2"
- url = "https://github.com/ruanjue/wtdbg2/archive/v2.3.tar.gz"
+ url = "https://github.com/ruanjue/wtdbg2/archive/v2.3.tar.gz"
- version('2.3', sha256='fb61d38a4c60a39b3b194e63b855141c05ddcbe71cf244ae613766a9b0a56621')
+ version("2.3", sha256="fb61d38a4c60a39b3b194e63b855141c05ddcbe71cf244ae613766a9b0a56621")
- depends_on('zlib')
- depends_on('sse2neon', when='target=aarch64:')
+ depends_on("zlib")
+ depends_on("sse2neon", when="target=aarch64:")
- patch('for_aarch64.patch', when='target=aarch64:')
+ patch("for_aarch64.patch", when="target=aarch64:")
def edit(self, spec, prefix):
- if spec.target.family == 'aarch64':
- makefile = FileFilter('Makefile')
- makefile.filter('-mpopcnt -msse4.2', '')
+ if spec.target.family == "aarch64":
+ makefile = FileFilter("Makefile")
+ makefile.filter("-mpopcnt -msse4.2", "")
def install(self, spec, prefix):
- make('install', 'BIN=%s' % prefix.bin)
+ make("install", "BIN=%s" % prefix.bin)
diff --git a/var/spack/repos/builtin/packages/wxparaver/package.py b/var/spack/repos/builtin/packages/wxparaver/package.py
index bcdefa4406..96c4bd1a6e 100644
--- a/var/spack/repos/builtin/packages/wxparaver/package.py
+++ b/var/spack/repos/builtin/packages/wxparaver/package.py
@@ -7,37 +7,38 @@ from spack.package import *
class Wxparaver(AutotoolsPackage):
- """"A very powerful performance visualization and analysis tool
- based on traces that can be used to analyse any information that
- is expressed on its input trace format. Traces for parallel MPI,
- OpenMP and other programs can be genereated with Extrae."""
+ """ "A very powerful performance visualization and analysis tool
+ based on traces that can be used to analyse any information that
+ is expressed on its input trace format. Traces for parallel MPI,
+ OpenMP and other programs can be genereated with Extrae."""
+
homepage = "https://tools.bsc.es/paraver"
url = "https://ftp.tools.bsc.es/wxparaver/wxparaver-4.9.2-src.tar.bz2"
- version('4.9.2', sha256='83289584040bcedf8cab1b2ae3545191c8bdef0e11ab62b06e54cbf111f2127a')
- version('4.9.1', sha256='e89fdf563d1fc73ed0018cf0e25b458b6617ec33325ed3fdbf06397c556f3a8e')
- version('4.9.0', sha256='1f9964d7987032d01a354327845bf53ae369be5d8acf7d4e85bec81699a6ddf6')
- version('4.8.2', sha256='0d22ec362e4798d7ed21b15b607859e9bda9579e3d5b23af3812c1e32ccc192d')
- version('4.8.1', sha256='d03b04254bd3015d61374b95aeda6888f593be67286c5268849623baa2ae6e2e')
- version('4.8.0', sha256='780af8fff7cb40d1325260fb9f79210f6676f07357bc9b95b1b838862f2d1e5b')
- version('4.7.2', sha256='90107797d6af6fc3ebd9505445bb518d673edecbe5d08d1b7af01695d53241ae')
- version('4.7.1', sha256='8cbec0c5e0f8a849820f6682cbb0920ea234bb7f20d1483e38ea5d0b0ee045cd')
- version('4.7.0', sha256='81e02bcc1853455b13435172a4336ba85ba05020887d322c9678c97def03d76f')
-
- depends_on('boost@1.36: +serialization')
- depends_on('wxwidgets@2.8:') # NOTE: using external for this one is usually simpler
- depends_on('wxpropgrid@1.4:')
- depends_on('libxml2')
- depends_on('zlib')
+ version("4.9.2", sha256="83289584040bcedf8cab1b2ae3545191c8bdef0e11ab62b06e54cbf111f2127a")
+ version("4.9.1", sha256="e89fdf563d1fc73ed0018cf0e25b458b6617ec33325ed3fdbf06397c556f3a8e")
+ version("4.9.0", sha256="1f9964d7987032d01a354327845bf53ae369be5d8acf7d4e85bec81699a6ddf6")
+ version("4.8.2", sha256="0d22ec362e4798d7ed21b15b607859e9bda9579e3d5b23af3812c1e32ccc192d")
+ version("4.8.1", sha256="d03b04254bd3015d61374b95aeda6888f593be67286c5268849623baa2ae6e2e")
+ version("4.8.0", sha256="780af8fff7cb40d1325260fb9f79210f6676f07357bc9b95b1b838862f2d1e5b")
+ version("4.7.2", sha256="90107797d6af6fc3ebd9505445bb518d673edecbe5d08d1b7af01695d53241ae")
+ version("4.7.1", sha256="8cbec0c5e0f8a849820f6682cbb0920ea234bb7f20d1483e38ea5d0b0ee045cd")
+ version("4.7.0", sha256="81e02bcc1853455b13435172a4336ba85ba05020887d322c9678c97def03d76f")
+
+ depends_on("boost@1.36: +serialization")
+ depends_on("wxwidgets@2.8:") # NOTE: using external for this one is usually simpler
+ depends_on("wxpropgrid@1.4:")
+ depends_on("libxml2")
+ depends_on("zlib")
def configure_args(self):
spec = self.spec
args = []
- args.append('--with-boost=%s' % spec['boost'].prefix)
- args.append('--with-wx-config=%s/wx-config' % spec['wxwidgets'].prefix.bin)
- if spec['wxwidgets'].satisfies('@:2'):
- args.append('--with-wxpropgrid=%s' % spec['wxpropgrid'].prefix)
+ args.append("--with-boost=%s" % spec["boost"].prefix)
+ args.append("--with-wx-config=%s/wx-config" % spec["wxwidgets"].prefix.bin)
+ if spec["wxwidgets"].satisfies("@:2"):
+ args.append("--with-wxpropgrid=%s" % spec["wxpropgrid"].prefix)
return args
diff --git a/var/spack/repos/builtin/packages/wxpropgrid/package.py b/var/spack/repos/builtin/packages/wxpropgrid/package.py
index 6b82d8048a..8905e9f11d 100644
--- a/var/spack/repos/builtin/packages/wxpropgrid/package.py
+++ b/var/spack/repos/builtin/packages/wxpropgrid/package.py
@@ -8,19 +8,23 @@ from spack.package import *
class Wxpropgrid(Package, SourceforgePackage):
"""wxPropertyGrid is a property sheet control for wxWidgets. In
- other words, it is a specialized two-column grid for editing
- properties such as strings, numbers, flagsets, string arrays,
- and colours."""
+ other words, it is a specialized two-column grid for editing
+ properties such as strings, numbers, flagsets, string arrays,
+ and colours."""
+
homepage = "http://wxpropgrid.sourceforge.net/"
sourceforge_mirror_path = "wxpropgrid/wxpropgrid-1.4.15-src.tar.gz"
- version('1.4.15', sha256='f0c9a86656828f592c8e57d2c89401f07f0af6a45b17bbca3990e8d29121c2b8')
+ version("1.4.15", sha256="f0c9a86656828f592c8e57d2c89401f07f0af6a45b17bbca3990e8d29121c2b8")
depends_on("wxwidgets")
def install(self, spec, prefix):
- configure("--prefix=%s" % prefix, "--with-wxdir=%s" %
- spec['wxwidgets'].prefix.bin, "--enable-unicode")
+ configure(
+ "--prefix=%s" % prefix,
+ "--with-wxdir=%s" % spec["wxwidgets"].prefix.bin,
+ "--enable-unicode",
+ )
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/wxwidgets/package.py b/var/spack/repos/builtin/packages/wxwidgets/package.py
index b1d87fb1f2..d3a43c17e1 100644
--- a/var/spack/repos/builtin/packages/wxwidgets/package.py
+++ b/var/spack/repos/builtin/packages/wxwidgets/package.py
@@ -10,44 +10,38 @@ from spack.package import *
class Wxwidgets(AutotoolsPackage):
"""wxWidgets is a C++ library that lets developers create
- applications for Windows, Mac OS X, Linux and other platforms
- with a single code base. It has popular language bindings for
- Python, Perl, Ruby and many other languages, and unlike other
- cross-platform toolkits, wxWidgets gives applications a truly
- native look and feel because it uses the platform's native API
- rather than emulating the GUI. It's also extensive, free,
- open-source and mature."""
+ applications for Windows, Mac OS X, Linux and other platforms
+ with a single code base. It has popular language bindings for
+ Python, Perl, Ruby and many other languages, and unlike other
+ cross-platform toolkits, wxWidgets gives applications a truly
+ native look and feel because it uses the platform's native API
+ rather than emulating the GUI. It's also extensive, free,
+ open-source and mature."""
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"
+ url = "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2"
+ git = "https://github.com/wxWidgets/wxWidgets.git"
- version('develop', branch='master')
- version('3.1.0', sha256='e082460fb6bf14b7dd6e8ac142598d1d3d0b08a7b5ba402fdbf8711da7e66da8')
- version('3.0.2', sha256='346879dc554f3ab8d6da2704f651ecb504a22e9d31c17ef5449b129ed711585d')
- version('3.0.1', sha256='bd671b79ec56af8fb3844e11cafceac1a4276fb02c79404d06b91b6c19d2c5f5')
+ version("develop", branch="master")
+ version("3.1.0", sha256="e082460fb6bf14b7dd6e8ac142598d1d3d0b08a7b5ba402fdbf8711da7e66da8")
+ version("3.0.2", sha256="346879dc554f3ab8d6da2704f651ecb504a22e9d31c17ef5449b129ed711585d")
+ version("3.0.1", sha256="bd671b79ec56af8fb3844e11cafceac1a4276fb02c79404d06b91b6c19d2c5f5")
- patch('math_include.patch', when='@3.0.1:3.0.2')
+ patch("math_include.patch", when="@3.0.1:3.0.2")
- depends_on('pkgconfig', type='build')
- depends_on('gtkplus')
+ depends_on("pkgconfig", type="build")
+ depends_on("gtkplus")
- @when('@:3.0.2')
+ @when("@:3.0.2")
def build(self, spec, prefix):
make(parallel=False)
def configure_args(self):
spec = self.spec
- options = [
- '--enable-unicode',
- '--disable-precomp-headers'
- ]
+ options = ["--enable-unicode", "--disable-precomp-headers"]
# see https://trac.wxwidgets.org/ticket/17639
- if spec.satisfies('@:3.1.0') and sys.platform == 'darwin':
- options.extend([
- '--disable-qtkit',
- '--disable-mediactrl'
- ])
+ if spec.satisfies("@:3.1.0") and sys.platform == "darwin":
+ options.extend(["--disable-qtkit", "--disable-mediactrl"])
return options
diff --git a/var/spack/repos/builtin/packages/x11perf/package.py b/var/spack/repos/builtin/packages/x11perf/package.py
index 085a5b25cc..791aa50274 100644
--- a/var/spack/repos/builtin/packages/x11perf/package.py
+++ b/var/spack/repos/builtin/packages/x11perf/package.py
@@ -12,13 +12,13 @@ class X11perf(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/x11perf"
xorg_mirror_path = "app/x11perf-1.6.0.tar.gz"
- version('1.6.0', sha256='d33051c4e93100ab60609aee14ff889bb2460f28945063d793e21eda19381abb')
+ version("1.6.0", sha256="d33051c4e93100ab60609aee14ff889bb2460f28945063d793e21eda19381abb")
- depends_on('libx11')
- depends_on('libxmu')
- depends_on('libxrender')
- depends_on('libxft')
+ depends_on("libx11")
+ depends_on("libxmu")
+ depends_on("libxrender")
+ depends_on("libxft")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xabclib/package.py b/var/spack/repos/builtin/packages/xabclib/package.py
index e675c37252..66fea7ebf0 100644
--- a/var/spack/repos/builtin/packages/xabclib/package.py
+++ b/var/spack/repos/builtin/packages/xabclib/package.py
@@ -12,53 +12,37 @@ class Xabclib(MakefilePackage):
"""
homepage = "http://www.abc-lib.org/Xabclib/index.html"
- url = "http://www.abc-lib.org/Xabclib/Release/Xabclib-v1.03.tar.gz"
+ url = "http://www.abc-lib.org/Xabclib/Release/Xabclib-v1.03.tar.gz"
- version('1.03', sha256='9d200f40f1db87abc26cfe75a22db3a6d972988a28fc0ce8421a0c88cc574d1a')
+ version("1.03", sha256="9d200f40f1db87abc26cfe75a22db3a6d972988a28fc0ce8421a0c88cc574d1a")
def edit(self, spec, prefix):
- cc = [spack_cc, '-O3', self.compiler.openmp_flag]
- fc = [spack_fc, '-O3', self.compiler.openmp_flag]
- if spec.satisfies('%gcc'):
- fc.extend(['-ffixed-form', '-cpp'])
- elif spec.satisfies('%fj'):
- fc.extend(['-Fixed', '-Cpp'])
- filter_file(
- '^rm libOpenAT.a$',
- 'rm -f libOpenAT.a',
- 'make.all'
- )
- for makefile in find('.', 'makefile', recursive=True):
+ cc = [spack_cc, "-O3", self.compiler.openmp_flag]
+ fc = [spack_fc, "-O3", self.compiler.openmp_flag]
+ if spec.satisfies("%gcc"):
+ fc.extend(["-ffixed-form", "-cpp"])
+ elif spec.satisfies("%fj"):
+ fc.extend(["-Fixed", "-Cpp"])
+ filter_file("^rm libOpenAT.a$", "rm -f libOpenAT.a", "make.all")
+ for makefile in find(".", "makefile", recursive=True):
m = FileFilter(makefile)
- m.filter(
- 'F90 += .*$',
- 'F90 = {0}'.format(' '.join(fc))
- )
- m.filter(
- 'F90O3 += .*$',
- 'F90O3 = {0}'.format(' '.join(fc))
- )
- m.filter(
- 'CC += .*$',
- 'CC = {0}'.format(' '.join(cc))
- )
- m.filter(
- 'LD += .*$',
- 'LD = {0}'.format(' '.join(fc))
- )
- if spec.satisfies('%fj') and 'samples_c' in makefile:
- m.filter('$(LD)', '$(LD) -mlcmain=main', string=True)
+ m.filter("F90 += .*$", "F90 = {0}".format(" ".join(fc)))
+ m.filter("F90O3 += .*$", "F90O3 = {0}".format(" ".join(fc)))
+ m.filter("CC += .*$", "CC = {0}".format(" ".join(cc)))
+ m.filter("LD += .*$", "LD = {0}".format(" ".join(fc)))
+ if spec.satisfies("%fj") and "samples_c" in makefile:
+ m.filter("$(LD)", "$(LD) -mlcmain=main", string=True)
def build(self, spec, prefix):
- sh = which('sh')
- sh('./make.all')
+ sh = which("sh")
+ sh("./make.all")
def install(self, spec, prefix):
mkdir(prefix.lib)
mkdir(prefix.doc)
- install('libOpenAT.a', prefix.lib)
- install('Readme.pdf', prefix.doc)
+ install("libOpenAT.a", prefix.lib)
+ install("Readme.pdf", prefix.doc)
@property
def libs(self):
- return find_libraries('libOpenAT', self.prefix.lib, shared=False)
+ return find_libraries("libOpenAT", self.prefix.lib, shared=False)
diff --git a/var/spack/repos/builtin/packages/xalan-c/package.py b/var/spack/repos/builtin/packages/xalan-c/package.py
index b8a457870e..8001bfd382 100644
--- a/var/spack/repos/builtin/packages/xalan-c/package.py
+++ b/var/spack/repos/builtin/packages/xalan-c/package.py
@@ -14,24 +14,27 @@ class XalanC(CMakePackage):
"""
homepage = "https://xalan.apache.org"
- url = "https://dlcdn.apache.org/xalan/xalan-c/sources/xalan_c-1.12.tar.gz"
+ url = "https://dlcdn.apache.org/xalan/xalan-c/sources/xalan_c-1.12.tar.gz"
- maintainers = ['omsai']
+ maintainers = ["omsai"]
- version('1.12', sha256='ee7d4b0b08c5676f5e586c7154d94a5b32b299ac3cbb946e24c4375a25552da7')
+ version("1.12", sha256="ee7d4b0b08c5676f5e586c7154d94a5b32b299ac3cbb946e24c4375a25552da7")
- variant('transcoder', default='default',
- values=('default', 'icu'),
- multi=False,
- description='Use the default UTF-16 transcoder or ICU')
+ variant(
+ "transcoder",
+ default="default",
+ values=("default", "icu"),
+ multi=False,
+ description="Use the default UTF-16 transcoder or ICU",
+ )
- depends_on('xerces-c@3:')
- depends_on('icu4c', type='link', when='transcoder=icu')
+ depends_on("xerces-c@3:")
+ depends_on("icu4c", type="link", when="transcoder=icu")
def cmake_args(self):
args = []
- if 'transcoder=icu' in self.spec:
- args.append('-Dtranscoder=icu')
+ if "transcoder=icu" in self.spec:
+ args.append("-Dtranscoder=icu")
return args
diff --git a/var/spack/repos/builtin/packages/xapian-core/package.py b/var/spack/repos/builtin/packages/xapian-core/package.py
index e113dff4ea..8075facbd2 100644
--- a/var/spack/repos/builtin/packages/xapian-core/package.py
+++ b/var/spack/repos/builtin/packages/xapian-core/package.py
@@ -13,10 +13,10 @@ class XapianCore(AutotoolsPackage):
supports a rich set of boolean query operators."""
homepage = "https://xapian.org"
- url = "https://oligarchy.co.uk/xapian/1.4.19/xapian-core-1.4.19.tar.xz"
+ url = "https://oligarchy.co.uk/xapian/1.4.19/xapian-core-1.4.19.tar.xz"
- version('1.4.19', sha256='1fca48fca6cc3526cc4ba93dd194fe9c1326857b78edcfb37e68d086d714a9c3')
- version('1.4.11', sha256='9f16b2f3e2351a24034d7636f73566ab74c3f0729e9e0492934e956b25c5bc07')
- version('1.4.3', sha256='7d5295511ca2de70463a29e75f6a2393df5dc1485bf33074b778c66e1721e475')
+ version("1.4.19", sha256="1fca48fca6cc3526cc4ba93dd194fe9c1326857b78edcfb37e68d086d714a9c3")
+ version("1.4.11", sha256="9f16b2f3e2351a24034d7636f73566ab74c3f0729e9e0492934e956b25c5bc07")
+ version("1.4.3", sha256="7d5295511ca2de70463a29e75f6a2393df5dc1485bf33074b778c66e1721e475")
- depends_on('zlib')
+ depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/xauth/package.py b/var/spack/repos/builtin/packages/xauth/package.py
index fee23a0100..5d77b24b74 100644
--- a/var/spack/repos/builtin/packages/xauth/package.py
+++ b/var/spack/repos/builtin/packages/xauth/package.py
@@ -13,15 +13,15 @@ class Xauth(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xauth"
xorg_mirror_path = "app/xauth-1.0.9.tar.gz"
- version('1.0.9', sha256='0709070caf23ba2fb99536907b75be1fe31853999c62d3e87a6a8d26ba8a8cdb')
+ version("1.0.9", sha256="0709070caf23ba2fb99536907b75be1fe31853999c62d3e87a6a8d26ba8a8cdb")
- depends_on('libx11')
- depends_on('libxau')
- depends_on('libxext')
- depends_on('libxmu')
+ depends_on("libx11")
+ depends_on("libxau")
+ depends_on("libxext")
+ depends_on("libxmu")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# TODO: add package for cmdtest test dependency
diff --git a/var/spack/repos/builtin/packages/xbacklight/package.py b/var/spack/repos/builtin/packages/xbacklight/package.py
index 42da4218f3..1b06fe5b1b 100644
--- a/var/spack/repos/builtin/packages/xbacklight/package.py
+++ b/var/spack/repos/builtin/packages/xbacklight/package.py
@@ -15,10 +15,10 @@ class Xbacklight(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xbacklight"
xorg_mirror_path = "app/xbacklight-1.2.1.tar.gz"
- version('1.2.1', sha256='82c80cd851e3eb6d7a216d92465fcf6d5e456c2d5ac12c63cd2757b39fb65b10')
+ version("1.2.1", sha256="82c80cd851e3eb6d7a216d92465fcf6d5e456c2d5ac12c63cd2757b39fb65b10")
- depends_on('libxcb')
- depends_on('xcb-util')
+ depends_on("libxcb")
+ depends_on("xcb-util")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xbiff/package.py b/var/spack/repos/builtin/packages/xbiff/package.py
index 16fc5b0059..81397b62a7 100644
--- a/var/spack/repos/builtin/packages/xbiff/package.py
+++ b/var/spack/repos/builtin/packages/xbiff/package.py
@@ -14,13 +14,13 @@ class Xbiff(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xbiff"
xorg_mirror_path = "app/xbiff-1.0.3.tar.gz"
- version('1.0.3', sha256='b4b702348674985741685e3ec7fcb5640ffb7bf20e753fc2d708f70f2e4c304d')
+ version("1.0.3", sha256="b4b702348674985741685e3ec7fcb5640ffb7bf20e753fc2d708f70f2e4c304d")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxext')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxext")
+ depends_on("libx11")
- depends_on('xbitmaps')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xbitmaps")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xbitmaps/package.py b/var/spack/repos/builtin/packages/xbitmaps/package.py
index 7dd6ae5852..b9b1dac561 100644
--- a/var/spack/repos/builtin/packages/xbitmaps/package.py
+++ b/var/spack/repos/builtin/packages/xbitmaps/package.py
@@ -13,7 +13,7 @@ class Xbitmaps(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/data/bitmaps/"
xorg_mirror_path = "data/xbitmaps-1.1.1.tar.gz"
- version('1.1.1', sha256='3bc89e05be4179ce4d3dbba1ae554da4591d41f7a489d9e2735a18cfd8378188')
+ version("1.1.1", sha256="3bc89e05be4179ce4d3dbba1ae554da4591d41f7a489d9e2735a18cfd8378188")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xbraid/package.py b/var/spack/repos/builtin/packages/xbraid/package.py
index e7920c95ec..6b2c63919c 100644
--- a/var/spack/repos/builtin/packages/xbraid/package.py
+++ b/var/spack/repos/builtin/packages/xbraid/package.py
@@ -10,74 +10,73 @@ class Xbraid(MakefilePackage):
"""XBraid: Parallel time integration with Multigrid"""
homepage = "https://computing.llnl.gov/projects/parallel-time-integration-multigrid/software"
- url = "https://github.com/XBraid/xbraid/archive/v2.2.0.tar.gz"
- tags = ['radiuss']
+ url = "https://github.com/XBraid/xbraid/archive/v2.2.0.tar.gz"
+ tags = ["radiuss"]
- version('3.0.0', sha256='06988c0599cd100d3b3f3ebb183c9ad34a4021922e0896815cbedc659aaadce6')
- version('2.3.0', sha256='706f0acde201c7c336ade3604679759752a74e2cd6c2a29a8bf5676b6e54b704')
- version('2.2.0', sha256='082623b2ddcd2150b3ace65b96c1e00be637876ec6c94dc8fefda88743b35ba3')
+ version("3.0.0", sha256="06988c0599cd100d3b3f3ebb183c9ad34a4021922e0896815cbedc659aaadce6")
+ version("2.3.0", sha256="706f0acde201c7c336ade3604679759752a74e2cd6c2a29a8bf5676b6e54b704")
+ version("2.2.0", sha256="082623b2ddcd2150b3ace65b96c1e00be637876ec6c94dc8fefda88743b35ba3")
- depends_on('mpi')
+ depends_on("mpi")
- @when('@:2.2.0')
+ @when("@:2.2.0")
def build(self, spec, prefix):
- make('libbraid.a')
+ make("libbraid.a")
- @when('@2.3.0:')
+ @when("@2.3.0:")
def build(self, spec, prefix):
- make('braid')
+ make("braid")
# XBraid doesn't have a real install target, so it has to be done
# manually
- @when('@2.3.0:')
+ @when("@2.3.0:")
def install(self, spec, prefix):
# Install headers
mkdirp(prefix.include)
- install('braid/*.h', prefix.include)
- install('braid/*.hpp', prefix.include)
+ install("braid/*.h", prefix.include)
+ install("braid/*.hpp", prefix.include)
# Install library
mkdirp(prefix.lib)
- install('braid/libbraid.a', join_path(prefix.lib, 'libbraid.a'))
+ install("braid/libbraid.a", join_path(prefix.lib, "libbraid.a"))
# Install other material (e.g., examples, tests, docs)
mkdirp(prefix.share)
- install('makefile.inc', prefix.share)
- install_tree('examples', prefix.share.examples)
- install_tree('drivers', prefix.share.drivers)
+ install("makefile.inc", prefix.share)
+ install_tree("examples", prefix.share.examples)
+ install_tree("drivers", prefix.share.drivers)
# TODO: Some of the scripts in 'test' are useful, even for
# users; some could be deleted from an installation because
# they're not useful to users
- install_tree('test', prefix.share.test)
- install_tree('misc', prefix.share.misc)
- install_tree('docs', prefix.share.docs)
+ install_tree("test", prefix.share.test)
+ install_tree("misc", prefix.share.misc)
+ install_tree("docs", prefix.share.docs)
- @when('@:2.2.0')
+ @when("@:2.2.0")
def install(self, spec, prefix):
# Install headers
mkdirp(prefix.include)
- install('*.h', prefix.include)
+ install("*.h", prefix.include)
# Install library
mkdirp(prefix.lib)
- library = 'libbraid.a'
+ library = "libbraid.a"
install(library, join_path(prefix.lib, library))
# Install other material (e.g., examples, tests, docs)
mkdirp(prefix.share)
- install('makefile.inc', prefix.share)
- install_tree('examples', prefix.share.examples)
- install_tree('drivers', prefix.share.drivers)
+ install("makefile.inc", prefix.share)
+ install_tree("examples", prefix.share.examples)
+ install_tree("drivers", prefix.share.drivers)
# TODO: Some of the scripts in 'test' are useful, even for
# users; some could be deleted from an installation because
# they're not useful to users
- install_tree('test', prefix.share.test)
- install_tree('user_utils', prefix.share.user_utils)
- install_tree('docs', prefix.share.docs)
+ install_tree("test", prefix.share.test)
+ install_tree("user_utils", prefix.share.user_utils)
+ install_tree("docs", prefix.share.docs)
@property
def libs(self):
- return find_libraries('libbraid', root=self.prefix,
- shared=False, recursive=True)
+ return find_libraries("libbraid", root=self.prefix, shared=False, recursive=True)
diff --git a/var/spack/repos/builtin/packages/xcalc/package.py b/var/spack/repos/builtin/packages/xcalc/package.py
index f6f578ec4e..f3786d6597 100644
--- a/var/spack/repos/builtin/packages/xcalc/package.py
+++ b/var/spack/repos/builtin/packages/xcalc/package.py
@@ -13,12 +13,12 @@ class Xcalc(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xcalc"
xorg_mirror_path = "app/xcalc-1.0.6.tar.gz"
- version('1.0.6', sha256='7fd5cd9a35160925c41cbadfb1ea23599fa20fd26cd873dab20a650b24efe8d1')
+ version("1.0.6", sha256="7fd5cd9a35160925c41cbadfb1ea23599fa20fd26cd873dab20a650b24efe8d1")
- depends_on('libxaw')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-demo/package.py b/var/spack/repos/builtin/packages/xcb-demo/package.py
index 6376760376..07e16e866d 100644
--- a/var/spack/repos/builtin/packages/xcb-demo/package.py
+++ b/var/spack/repos/builtin/packages/xcb-demo/package.py
@@ -10,16 +10,16 @@ class XcbDemo(AutotoolsPackage):
"""xcb-demo: A collection of demo programs that use the XCB library."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-demo-0.1.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-demo-0.1.tar.gz"
- version('0.1', sha256='19ace2812a05313747356dc5e2331a9a6f5eb46631a26819cf30eeeaa38077f9')
+ version("0.1", sha256="19ace2812a05313747356dc5e2331a9a6f5eb46631a26819cf30eeeaa38077f9")
- depends_on('libxcb')
- depends_on('xcb-util')
- depends_on('xcb-util-image')
- depends_on('xcb-util-wm')
+ depends_on("libxcb")
+ depends_on("xcb-util")
+ depends_on("xcb-util-image")
+ depends_on("xcb-util-wm")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
# FIXME: crashes with the following error message
# X11/XCB/xcb.h: No such file or directory
diff --git a/var/spack/repos/builtin/packages/xcb-proto/package.py b/var/spack/repos/builtin/packages/xcb-proto/package.py
index 11d80f7ed6..7c6390f075 100644
--- a/var/spack/repos/builtin/packages/xcb-proto/package.py
+++ b/var/spack/repos/builtin/packages/xcb-proto/package.py
@@ -11,24 +11,24 @@ class XcbProto(AutotoolsPackage):
generate the majority of its code and API."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.14.1.tar.xz"
+ url = "https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.14.1.tar.xz"
- version('1.14.1', sha256='f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3')
- version('1.14', sha256='186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605')
- version('1.13', sha256='0698e8f596e4c0dbad71d3dc754d95eb0edbb42df5464e0f782621216fa33ba7')
- version('1.12', sha256='cfa49e65dd390233d560ce4476575e4b76e505a0e0bacdfb5ba6f8d0af53fd59')
- version('1.11', sha256='d12152193bd71aabbdbb97b029717ae6d5d0477ab239614e3d6193cc0385d906')
+ version("1.14.1", sha256="f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3")
+ version("1.14", sha256="186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605")
+ version("1.13", sha256="0698e8f596e4c0dbad71d3dc754d95eb0edbb42df5464e0f782621216fa33ba7")
+ version("1.12", sha256="cfa49e65dd390233d560ce4476575e4b76e505a0e0bacdfb5ba6f8d0af53fd59")
+ version("1.11", sha256="d12152193bd71aabbdbb97b029717ae6d5d0477ab239614e3d6193cc0385d906")
# TODO: uncomment once build deps can be resolved separately
# See #7646, #4145, #4063, and #2548 for details
# extends('python')
- patch('xcb-proto-1.12-schema-1.patch', when='@1.12')
+ patch("xcb-proto-1.12-schema-1.patch", when="@1.12")
def url_for_version(self, version):
- if version >= Version('1.14'):
- url = 'https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-{0}.tar.xz'
+ if version >= Version("1.14"):
+ url = "https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-{0}.tar.xz"
else:
- url = 'http://xcb.freedesktop.org/dist/xcb-proto-{0}.tar.gz'
+ url = "http://xcb.freedesktop.org/dist/xcb-proto-{0}.tar.gz"
return url.format(version)
diff --git a/var/spack/repos/builtin/packages/xcb-util-cursor/package.py b/var/spack/repos/builtin/packages/xcb-util-cursor/package.py
index 5f177858e3..a3886ab4c2 100644
--- a/var/spack/repos/builtin/packages/xcb-util-cursor/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-cursor/package.py
@@ -15,13 +15,13 @@ class XcbUtilCursor(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz"
- version('0.1.3', sha256='a322332716a384c94d3cbf98f2d8fe2ce63c2fe7e2b26664b6cea1d411723df8')
+ version("0.1.3", sha256="a322332716a384c94d3cbf98f2d8fe2ce63c2fe7e2b26664b6cea1d411723df8")
- depends_on('libxcb@1.4:')
- depends_on('xcb-util-renderutil')
- depends_on('xcb-util-image')
+ depends_on("libxcb@1.4:")
+ depends_on("xcb-util-renderutil")
+ depends_on("xcb-util-image")
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-errors/package.py b/var/spack/repos/builtin/packages/xcb-util-errors/package.py
index 452461f8de..0e36fe5b4c 100644
--- a/var/spack/repos/builtin/packages/xcb-util-errors/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-errors/package.py
@@ -15,11 +15,11 @@ class XcbUtilErrors(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.gz"
- version('1.0', sha256='7752a722e580efdbada30632cb23aed35c18757399ac3b547b59fd7257cf5e33')
+ version("1.0", sha256="7752a722e580efdbada30632cb23aed35c18757399ac3b547b59fd7257cf5e33")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
- depends_on('xcb-proto')
- depends_on('pkgconfig', type='build')
+ depends_on("xcb-proto")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-image/package.py b/var/spack/repos/builtin/packages/xcb-util-image/package.py
index 2a984d6f42..f27ba9c913 100644
--- a/var/spack/repos/builtin/packages/xcb-util-image/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-image/package.py
@@ -15,12 +15,12 @@ class XcbUtilImage(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.gz"
- version('0.4.0', sha256='cb2c86190cf6216260b7357a57d9100811bb6f78c24576a3a5bfef6ad3740a42')
+ version("0.4.0", sha256="cb2c86190cf6216260b7357a57d9100811bb6f78c24576a3a5bfef6ad3740a42")
- depends_on('libxcb@1.4:')
- depends_on('xcb-util')
+ depends_on("libxcb@1.4:")
+ depends_on("xcb-util")
- depends_on('xproto@7.0.8:')
- depends_on('pkgconfig', type='build')
+ depends_on("xproto@7.0.8:")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py b/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py
index d70c0204c0..45f2d3bf5a 100644
--- a/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-keysyms/package.py
@@ -15,11 +15,11 @@ class XcbUtilKeysyms(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.gz"
- version('0.4.0', sha256='0807cf078fbe38489a41d755095c58239e1b67299f14460dec2ec811e96caa96')
+ version("0.4.0", sha256="0807cf078fbe38489a41d755095c58239e1b67299f14460dec2ec811e96caa96")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
- depends_on('xproto@7.0.8:')
- depends_on('pkgconfig', type='build')
+ depends_on("xproto@7.0.8:")
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py b/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py
index b2732ef523..ed8f88c363 100644
--- a/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-renderutil/package.py
@@ -15,10 +15,10 @@ class XcbUtilRenderutil(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.gz"
- version('0.3.9', sha256='55eee797e3214fe39d0f3f4d9448cc53cffe06706d108824ea37bb79fcedcad5')
+ version("0.3.9", sha256="55eee797e3214fe39d0f3f4d9448cc53cffe06706d108824ea37bb79fcedcad5")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-wm/package.py b/var/spack/repos/builtin/packages/xcb-util-wm/package.py
index 95db9545a8..50ec7addf2 100644
--- a/var/spack/repos/builtin/packages/xcb-util-wm/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-wm/package.py
@@ -15,12 +15,12 @@ class XcbUtilWm(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.gz"
- version('0.4.1', sha256='038b39c4bdc04a792d62d163ba7908f4bb3373057208c07110be73c1b04b8334')
+ version("0.4.1", sha256="038b39c4bdc04a792d62d163ba7908f4bb3373057208c07110be73c1b04b8334")
- depends_on('m4', type='build')
+ depends_on("m4", type="build")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcb-util-xrm/package.py b/var/spack/repos/builtin/packages/xcb-util-xrm/package.py
index fbd1531824..35cbde985a 100644
--- a/var/spack/repos/builtin/packages/xcb-util-xrm/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util-xrm/package.py
@@ -11,16 +11,16 @@ class XcbUtilXrm(AutotoolsPackage):
for the X resource manager."""
homepage = "https://github.com/Airblader/xcb-util-xrm"
- git = "https://github.com/Airblader/xcb-util-xrm.git"
+ git = "https://github.com/Airblader/xcb-util-xrm.git"
# This GitHub project includes some git submodules, which must be fetched
# in order to build it.
- version('1.2', tag='v1.2', submodules=True)
+ version("1.2", tag="v1.2", submodules=True)
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("pkgconfig", type="build")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
diff --git a/var/spack/repos/builtin/packages/xcb-util/package.py b/var/spack/repos/builtin/packages/xcb-util/package.py
index 966dcdfcf9..f0d6cdc9e8 100644
--- a/var/spack/repos/builtin/packages/xcb-util/package.py
+++ b/var/spack/repos/builtin/packages/xcb-util/package.py
@@ -15,10 +15,10 @@ class XcbUtil(AutotoolsPackage):
the X protocol but which have traditionally been provided by Xlib."""
homepage = "https://xcb.freedesktop.org/"
- url = "https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.gz"
+ url = "https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.gz"
- version('0.4.0', sha256='0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7')
+ version("0.4.0", sha256="0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7")
- depends_on('libxcb@1.4:')
+ depends_on("libxcb@1.4:")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xcfun/package.py b/var/spack/repos/builtin/packages/xcfun/package.py
index f79241ab57..70a1c28001 100644
--- a/var/spack/repos/builtin/packages/xcfun/package.py
+++ b/var/spack/repos/builtin/packages/xcfun/package.py
@@ -12,35 +12,29 @@ class Xcfun(CMakePackage):
homepage = "https://github.com/dftlibs/xcfun"
url = "https://github.com/dftlibs/xcfun/archive/v2.1.0.tar.gz"
- maintainers = ['robertodr', 'bast']
-
- version('2.1.1',
- sha256='8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab')
- version('2.1.0',
- sha256='64aac8c933cc129ce6326f3827e342abfd10b94ea4a302aaca9f10d342ad7656')
- version('2.0.2',
- sha256='b79a71861a9e1d0e33c1be89b34f6f052d430cd495a7df982c407ad0140c1dcd')
- version('2.0.1',
- sha256='719383c3fffdd5da5b005f56ffd97457b0b2fb48317e955263ef5384d53ddfca')
- version('2.0.0',
- sha256='34398e935c522d0b55e1803fd6116e7cd40677d1add8894ef08362361705cf25')
-
- extends('python')
- depends_on('cmake@3.14:', type='build')
- depends_on('python@3:')
- depends_on('py-pybind11')
- depends_on('py-numpy')
+ maintainers = ["robertodr", "bast"]
+
+ version("2.1.1", sha256="8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab")
+ version("2.1.0", sha256="64aac8c933cc129ce6326f3827e342abfd10b94ea4a302aaca9f10d342ad7656")
+ version("2.0.2", sha256="b79a71861a9e1d0e33c1be89b34f6f052d430cd495a7df982c407ad0140c1dcd")
+ version("2.0.1", sha256="719383c3fffdd5da5b005f56ffd97457b0b2fb48317e955263ef5384d53ddfca")
+ version("2.0.0", sha256="34398e935c522d0b55e1803fd6116e7cd40677d1add8894ef08362361705cf25")
+
+ extends("python")
+ depends_on("cmake@3.14:", type="build")
+ depends_on("python@3:")
+ depends_on("py-pybind11")
+ depends_on("py-numpy")
def cmake_args(self):
spec = self.spec
args = [
"-DCMAKE_INSTALL_LIBDIR=lib",
- "-DPYMOD_INSTALL_LIBDIR=/python{0}/site-packages".format(
- spec["python"].version[:-1]),
+ "-DPYMOD_INSTALL_LIBDIR=/python{0}/site-packages".format(spec["python"].version[:-1]),
"-DXCFUN_MAX_ORDER=8",
"-DXCFUN_PYTHON_INTERFACE=ON",
- "-DPYTHON_EXECUTABLE={0}".format(spec['python'].command),
+ "-DPYTHON_EXECUTABLE={0}".format(spec["python"].command),
"-DENABLE_TESTALL=OFF",
]
return args
diff --git a/var/spack/repos/builtin/packages/xclip/package.py b/var/spack/repos/builtin/packages/xclip/package.py
index 212ee20f69..9eafaf57c6 100644
--- a/var/spack/repos/builtin/packages/xclip/package.py
+++ b/var/spack/repos/builtin/packages/xclip/package.py
@@ -8,20 +8,20 @@ from spack.package import *
class Xclip(AutotoolsPackage):
"""xclip is a command line utility that is designed to run on any system
- with an X11 implementation. It provides an interface to X selections
- ("the clipboard") from the command line. It can read data from standard
- in or a file and place it in an X selection for pasting into other X
- applications. xclip can also print an X selection to standard out,
- which can then be redirected to a file or another program."""
+ with an X11 implementation. It provides an interface to X selections
+ ("the clipboard") from the command line. It can read data from standard
+ in or a file and place it in an X selection for pasting into other X
+ applications. xclip can also print an X selection to standard out,
+ which can then be redirected to a file or another program."""
homepage = "https://github.com/astrand/xclip"
- git = "https://github.com/astrand/xclip.git"
+ git = "https://github.com/astrand/xclip.git"
- version('0.13', commit='9aa7090c3b8b437c6489edca32ae43d82e0c1281')
+ version("0.13", commit="9aa7090c3b8b437c6489edca32ae43d82e0c1281")
- depends_on('libxmu')
- depends_on('libx11')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("libxmu")
+ depends_on("libx11")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/xclipboard/package.py b/var/spack/repos/builtin/packages/xclipboard/package.py
index 096e872e5a..c211c844c2 100644
--- a/var/spack/repos/builtin/packages/xclipboard/package.py
+++ b/var/spack/repos/builtin/packages/xclipboard/package.py
@@ -15,14 +15,14 @@ class Xclipboard(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xclipboard"
xorg_mirror_path = "app/xclipboard-1.1.3.tar.gz"
- version('1.1.3', sha256='a8c335cf166cbb27ff86569503db7e639f85741ad199bfb3ba45dd0cfda3da7f')
+ version("1.1.3", sha256="a8c335cf166cbb27ff86569503db7e639f85741ad199bfb3ba45dd0cfda3da7f")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt@1.1:')
- depends_on('libx11')
- depends_on('libxkbfile')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt@1.1:")
+ depends_on("libx11")
+ depends_on("libxkbfile")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xclock/package.py b/var/spack/repos/builtin/packages/xclock/package.py
index 714c9d6d94..5cbe4e139d 100644
--- a/var/spack/repos/builtin/packages/xclock/package.py
+++ b/var/spack/repos/builtin/packages/xclock/package.py
@@ -14,16 +14,16 @@ class Xclock(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xclock"
xorg_mirror_path = "app/xclock-1.0.7.tar.gz"
- version('1.0.7', sha256='e730bd575938d5628ef47003a9d4d41b882621798227f5d0c12f4a26365ed1b5')
+ version("1.0.7", sha256="e730bd575938d5628ef47003a9d4d41b882621798227f5d0c12f4a26365ed1b5")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libx11')
- depends_on('libxrender')
- depends_on('libxft')
- depends_on('libxkbfile')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libx11")
+ depends_on("libxrender")
+ depends_on("libxft")
+ depends_on("libxkbfile")
+ depends_on("libxt")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xcmiscproto/package.py b/var/spack/repos/builtin/packages/xcmiscproto/package.py
index a4de7f3667..6cf86af0e8 100644
--- a/var/spack/repos/builtin/packages/xcmiscproto/package.py
+++ b/var/spack/repos/builtin/packages/xcmiscproto/package.py
@@ -15,7 +15,7 @@ class Xcmiscproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xcmiscproto"
xorg_mirror_path = "proto/xcmiscproto-1.2.2.tar.gz"
- version('1.2.2', sha256='48013cfbe4bd5580925a854a43e2bccbb4c7a5a31128070644617b6dc7f8ef85')
+ version("1.2.2", sha256="48013cfbe4bd5580925a854a43e2bccbb4c7a5a31128070644617b6dc7f8ef85")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xcmsdb/package.py b/var/spack/repos/builtin/packages/xcmsdb/package.py
index 977bd2a424..7f3b4ea3e6 100644
--- a/var/spack/repos/builtin/packages/xcmsdb/package.py
+++ b/var/spack/repos/builtin/packages/xcmsdb/package.py
@@ -15,9 +15,9 @@ class Xcmsdb(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xcmsdb"
xorg_mirror_path = "app/xcmsdb-1.0.5.tar.gz"
- version('1.0.5', sha256='8442352ee5eb3ea0d3a489c26d734e784ef6964150c2a173401d0dc6638ca236')
+ version("1.0.5", sha256="8442352ee5eb3ea0d3a489c26d734e784ef6964150c2a173401d0dc6638ca236")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xcompmgr/package.py b/var/spack/repos/builtin/packages/xcompmgr/package.py
index a0a8c96cf3..ecd52a1181 100644
--- a/var/spack/repos/builtin/packages/xcompmgr/package.py
+++ b/var/spack/repos/builtin/packages/xcompmgr/package.py
@@ -14,13 +14,13 @@ class Xcompmgr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xcompmgr"
xorg_mirror_path = "app/xcompmgr-1.1.7.tar.gz"
- version('1.1.7', sha256='ef4b23c370f99403bbd9b6227f8aa4edc3bc83fc6d57ee71f6f442397cef505a')
+ version("1.1.7", sha256="ef4b23c370f99403bbd9b6227f8aa4edc3bc83fc6d57ee71f6f442397cef505a")
- depends_on('libxcomposite')
- depends_on('libxfixes')
- depends_on('libxdamage')
- depends_on('libxrender')
- depends_on('libxext')
+ depends_on("libxcomposite")
+ depends_on("libxfixes")
+ depends_on("libxdamage")
+ depends_on("libxrender")
+ depends_on("libxext")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xconsole/package.py b/var/spack/repos/builtin/packages/xconsole/package.py
index fe41d22e84..c6eda23463 100644
--- a/var/spack/repos/builtin/packages/xconsole/package.py
+++ b/var/spack/repos/builtin/packages/xconsole/package.py
@@ -13,13 +13,13 @@ class Xconsole(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xconsole"
xorg_mirror_path = "app/xconsole-1.0.6.tar.gz"
- version('1.0.6', sha256='28151453a0a687462516de133bac0287b488a2ff56da78331fee34bc1bf3e7d5')
+ version("1.0.6", sha256="28151453a0a687462516de133bac0287b488a2ff56da78331fee34bc1bf3e7d5")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt@1.0:')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt@1.0:")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xcursor-themes/package.py b/var/spack/repos/builtin/packages/xcursor-themes/package.py
index c588f13429..02fb3da797 100644
--- a/var/spack/repos/builtin/packages/xcursor-themes/package.py
+++ b/var/spack/repos/builtin/packages/xcursor-themes/package.py
@@ -14,19 +14,19 @@ class XcursorThemes(Package, XorgPackage):
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')
+ version("1.0.4", sha256="8ed23bab13a4010fe4e95b37eefb634e31ac7cb8240b8b3b7d919c3a2db09503")
- depends_on('libxcursor')
+ depends_on("libxcursor")
- depends_on('xcursorgen', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xcursorgen", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def install(self, spec, prefix):
- configure('--prefix={0}'.format(prefix))
+ configure("--prefix={0}".format(prefix))
make()
- make('install')
+ make("install")
# `make install` copies the files to the libxcursor installation.
# Create a fake directory to convince Spack that we actually
diff --git a/var/spack/repos/builtin/packages/xcursorgen/package.py b/var/spack/repos/builtin/packages/xcursorgen/package.py
index 132b68b12e..d99818cc62 100644
--- a/var/spack/repos/builtin/packages/xcursorgen/package.py
+++ b/var/spack/repos/builtin/packages/xcursorgen/package.py
@@ -12,11 +12,11 @@ class Xcursorgen(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xcursorgen"
xorg_mirror_path = "app/xcursorgen-1.0.6.tar.gz"
- version('1.0.6', sha256='4559f2b6eaa93de4cb6968679cf40e39bcbe969b62ebf3ff84f6780f8048ef8c')
+ version("1.0.6", sha256="4559f2b6eaa93de4cb6968679cf40e39bcbe969b62ebf3ff84f6780f8048ef8c")
- depends_on('libx11')
- depends_on('libxcursor')
- depends_on('libpng@1.2.0:')
+ depends_on("libx11")
+ depends_on("libxcursor")
+ depends_on("libpng@1.2.0:")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xdbedizzy/package.py b/var/spack/repos/builtin/packages/xdbedizzy/package.py
index 53a9c81be8..e73d0c53c0 100644
--- a/var/spack/repos/builtin/packages/xdbedizzy/package.py
+++ b/var/spack/repos/builtin/packages/xdbedizzy/package.py
@@ -13,10 +13,10 @@ class Xdbedizzy(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xdbedizzy"
xorg_mirror_path = "app/xdbedizzy-1.1.0.tar.gz"
- version('1.1.0', sha256='810e88b087b76f8b5993db4fc5165de3e5d29b0d4bf0e893750ee408fc7a5c0a')
+ version("1.1.0", sha256="810e88b087b76f8b5993db4fc5165de3e5d29b0d4bf0e893750ee408fc7a5c0a")
- depends_on('libx11')
- depends_on('libxext')
+ depends_on("libx11")
+ depends_on("libxext")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xdelta/package.py b/var/spack/repos/builtin/packages/xdelta/package.py
index 3c1868b5a7..2a21918979 100644
--- a/var/spack/repos/builtin/packages/xdelta/package.py
+++ b/var/spack/repos/builtin/packages/xdelta/package.py
@@ -11,26 +11,29 @@ class Xdelta(AutotoolsPackage):
compression using VCDIFF/RFC 3284 streams."""
homepage = "http://xdelta.org/"
- url = "https://github.com/jmacd/xdelta/archive/v3.1.0.tar.gz"
+ url = "https://github.com/jmacd/xdelta/archive/v3.1.0.tar.gz"
- version('3.1.0', sha256='7515cf5378fca287a57f4e2fee1094aabc79569cfe60d91e06021a8fd7bae29d')
- version('3.0.11', sha256='28278a4d73127f3d2b00bbde179f8ee1f289ccd3f7f2ac7cd837f6580f90a7b7')
- version('3.0.10', sha256='a3f9c177ec2b91e6d8ec82ee7f0bcbbb2d18fed7d743d7577a990c01235e657d')
+ version("3.1.0", sha256="7515cf5378fca287a57f4e2fee1094aabc79569cfe60d91e06021a8fd7bae29d")
+ version("3.0.11", sha256="28278a4d73127f3d2b00bbde179f8ee1f289ccd3f7f2ac7cd837f6580f90a7b7")
+ version("3.0.10", sha256="a3f9c177ec2b91e6d8ec82ee7f0bcbbb2d18fed7d743d7577a990c01235e657d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('go')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("go")
- build_directory = 'xdelta3'
- configure_directory = 'xdelta3'
+ build_directory = "xdelta3"
+ configure_directory = "xdelta3"
def autoreconf(self, spec, prefix):
with working_dir(self.build_directory):
- bash = which('bash')
- bash('-c', 'aclocal && autoreconf --install \
+ bash = which("bash")
+ bash(
+ "-c",
+ "aclocal && autoreconf --install \
&& libtoolize \
&& autoconf \
&& automake --add-missing \
- && automake')
+ && automake",
+ )
diff --git a/var/spack/repos/builtin/packages/xditview/package.py b/var/spack/repos/builtin/packages/xditview/package.py
index c40ffe136f..477177421d 100644
--- a/var/spack/repos/builtin/packages/xditview/package.py
+++ b/var/spack/repos/builtin/packages/xditview/package.py
@@ -12,12 +12,12 @@ class Xditview(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xditview"
xorg_mirror_path = "app/xditview-1.0.4.tar.gz"
- version('1.0.4', sha256='73ad88cfc879edcc6ede65999c11d670da27575388126795d71f3ad60286d379')
+ version("1.0.4", sha256="73ad88cfc879edcc6ede65999c11d670da27575388126795d71f3ad60286d379")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xdm/package.py b/var/spack/repos/builtin/packages/xdm/package.py
index 699b4f91e3..9147c08580 100644
--- a/var/spack/repos/builtin/packages/xdm/package.py
+++ b/var/spack/repos/builtin/packages/xdm/package.py
@@ -12,18 +12,18 @@ class Xdm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xdm"
xorg_mirror_path = "app/xdm-1.1.11.tar.gz"
- version('1.1.11', sha256='38c544a986143b1f24566c1a0111486b339b92224b927be78714eeeedca12a14')
+ version("1.1.11", sha256="38c544a986143b1f24566c1a0111486b339b92224b927be78714eeeedca12a14")
- depends_on('libxmu')
- depends_on('libx11')
- depends_on('libxau')
- depends_on('libxinerama')
- depends_on('libxft')
- depends_on('libxpm')
- depends_on('libxaw')
- depends_on('libxdmcp')
- depends_on('libxt')
- depends_on('libxext')
+ depends_on("libxmu")
+ depends_on("libx11")
+ depends_on("libxau")
+ depends_on("libxinerama")
+ depends_on("libxft")
+ depends_on("libxpm")
+ depends_on("libxaw")
+ depends_on("libxdmcp")
+ depends_on("libxt")
+ depends_on("libxext")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xdmf3/package.py b/var/spack/repos/builtin/packages/xdmf3/package.py
index ff80188edf..61b2364567 100644
--- a/var/spack/repos/builtin/packages/xdmf3/package.py
+++ b/var/spack/repos/builtin/packages/xdmf3/package.py
@@ -9,40 +9,40 @@ from spack.pkg.builtin.boost import Boost
class Xdmf3(CMakePackage):
"""XDMF, or eXtensible Data Model and Format (XDMF), is a common data model
- format to exchange scientific data between High Performance Computing
- codes and tools.
+ format to exchange scientific data between High Performance Computing
+ codes and tools.
"""
homepage = "https://xdmf.org"
- git = "https://gitlab.kitware.com/xdmf/xdmf.git"
+ git = "https://gitlab.kitware.com/xdmf/xdmf.git"
# There is no official release of XDMF and development has largely ceased,
# but the current version, 3.x, is maintained on the master branch.
- version('2019-01-14', commit='8d9c98081d89ac77a132d56bc8bef53581db4078')
+ version("2019-01-14", commit="8d9c98081d89ac77a132d56bc8bef53581db4078")
- variant('shared', default=True, description='Enable shared libraries')
- variant('mpi', default=True, description='Enable MPI')
+ variant("shared", default=True, description="Enable shared libraries")
+ variant("mpi", default=True, description="Enable MPI")
- depends_on('libxml2')
+ depends_on("libxml2")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('mpi', when='+mpi')
- depends_on('hdf5+mpi', when='+mpi')
- depends_on('hdf5~mpi', when='~mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("hdf5+mpi", when="+mpi")
+ depends_on("hdf5~mpi", when="~mpi")
def cmake_args(self):
"""Populate cmake arguments for XDMF."""
spec = self.spec
cmake_args = [
- '-DBUILD_SHARED_LIBS=%s' % str('+shared' in spec),
- '-DXDMF_BUILD_UTILS=ON',
- '-DXDMF_WRAP_JAVA=OFF',
- '-DXDMF_WRAP_PYTHON=OFF',
- '-DXDMF_BUILD_TESTING=ON'
+ "-DBUILD_SHARED_LIBS=%s" % str("+shared" in spec),
+ "-DXDMF_BUILD_UTILS=ON",
+ "-DXDMF_WRAP_JAVA=OFF",
+ "-DXDMF_WRAP_PYTHON=OFF",
+ "-DXDMF_BUILD_TESTING=ON",
]
return cmake_args
diff --git a/var/spack/repos/builtin/packages/xdotool/package.py b/var/spack/repos/builtin/packages/xdotool/package.py
index c9f54f216f..d5d04891f3 100644
--- a/var/spack/repos/builtin/packages/xdotool/package.py
+++ b/var/spack/repos/builtin/packages/xdotool/package.py
@@ -10,26 +10,33 @@ class Xdotool(MakefilePackage):
"""fake keyboard/mouse input, window management, and more"""
homepage = "https://github.com/jordansissel/xdotool"
- url = "https://github.com/jordansissel/xdotool/releases/download/v3.20160805.1/xdotool-3.20160805.1.tar.gz"
-
- version('3.20160805.1', sha256='35be5ff6edf0c620a0e16f09ea5e101d5173280161772fca18657d83f20fcca8')
- version('3.20160804.2', sha256='2251671c3c3dadab2b70e08bd87f2de6338c7b4e64e7e2d2d881fd13f9bff72c')
- version('3.20160804.1', sha256='7a76ee57515cc767a00a768f1d04c703279d734255a34f8027c29178561fdce9')
- version('3.20150503.1', sha256='e8326883bd5e91bede7336cbee186e6e9143f40b3fb61c84afc9bb31b87e96d1')
-
- depends_on('libxext')
- depends_on('libxtst')
- depends_on('libxi')
- depends_on('libx11')
- depends_on('inputproto')
- depends_on('libxinerama')
-
- depends_on('libxkbcommon')
+ url = "https://github.com/jordansissel/xdotool/releases/download/v3.20160805.1/xdotool-3.20160805.1.tar.gz"
+
+ version(
+ "3.20160805.1", sha256="35be5ff6edf0c620a0e16f09ea5e101d5173280161772fca18657d83f20fcca8"
+ )
+ version(
+ "3.20160804.2", sha256="2251671c3c3dadab2b70e08bd87f2de6338c7b4e64e7e2d2d881fd13f9bff72c"
+ )
+ version(
+ "3.20160804.1", sha256="7a76ee57515cc767a00a768f1d04c703279d734255a34f8027c29178561fdce9"
+ )
+ version(
+ "3.20150503.1", sha256="e8326883bd5e91bede7336cbee186e6e9143f40b3fb61c84afc9bb31b87e96d1"
+ )
+
+ depends_on("libxext")
+ depends_on("libxtst")
+ depends_on("libxi")
+ depends_on("libx11")
+ depends_on("inputproto")
+ depends_on("libxinerama")
+
+ depends_on("libxkbcommon")
def edit(self, spec, prefix):
- env['PREFIX'] = prefix
+ env["PREFIX"] = prefix
- makefile = FileFilter('Makefile')
- makefile.filter('xdotool: LDFLAGS+=-Xlinker', '', string=True)
- makefile.filter('xdotool: LDFLAGS+=-rpath $(INSTALLLIB)', '',
- string=True)
+ makefile = FileFilter("Makefile")
+ makefile.filter("xdotool: LDFLAGS+=-Xlinker", "", string=True)
+ makefile.filter("xdotool: LDFLAGS+=-rpath $(INSTALLLIB)", "", string=True)
diff --git a/var/spack/repos/builtin/packages/xdpyinfo/package.py b/var/spack/repos/builtin/packages/xdpyinfo/package.py
index 8cd4790178..e432095ff4 100644
--- a/var/spack/repos/builtin/packages/xdpyinfo/package.py
+++ b/var/spack/repos/builtin/packages/xdpyinfo/package.py
@@ -17,16 +17,16 @@ class Xdpyinfo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xdpyinfo"
xorg_mirror_path = "app/xdpyinfo-1.3.2.tar.gz"
- version('1.3.2', sha256='ef39935e8e9b328e54a85d6218d410d6939482da6058db1ee1b39749d98cbcf2')
-
- depends_on('libxext')
- depends_on('libx11')
- depends_on('libxtst')
- depends_on('libxcb')
-
- depends_on('xproto@7.0.22:')
- depends_on('recordproto')
- depends_on('inputproto')
- depends_on('fixesproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ version("1.3.2", sha256="ef39935e8e9b328e54a85d6218d410d6939482da6058db1ee1b39749d98cbcf2")
+
+ depends_on("libxext")
+ depends_on("libx11")
+ depends_on("libxtst")
+ depends_on("libxcb")
+
+ depends_on("xproto@7.0.22:")
+ depends_on("recordproto")
+ depends_on("inputproto")
+ depends_on("fixesproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xdriinfo/package.py b/var/spack/repos/builtin/packages/xdriinfo/package.py
index 5da1edae16..d2bd09abca 100644
--- a/var/spack/repos/builtin/packages/xdriinfo/package.py
+++ b/var/spack/repos/builtin/packages/xdriinfo/package.py
@@ -12,18 +12,18 @@ class Xdriinfo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xdriinfo"
xorg_mirror_path = "app/xdriinfo-1.0.5.tar.gz"
- version('1.0.5', sha256='e4e6abaa4591c540ab63133927a6cebf0a5f4d27dcd978878ab4a422d62a838e')
+ version("1.0.5", sha256="e4e6abaa4591c540ab63133927a6cebf0a5f4d27dcd978878ab4a422d62a838e")
- depends_on('libx11')
- depends_on('expat')
- depends_on('libxshmfence')
- depends_on('libxext')
- depends_on('libxdamage')
- depends_on('libxfixes')
- depends_on('pcre')
+ depends_on("libx11")
+ depends_on("expat")
+ depends_on("libxshmfence")
+ depends_on("libxext")
+ depends_on("libxdamage")
+ depends_on("libxfixes")
+ depends_on("pcre")
# Uses glXGetProcAddressARB, add OpenGL:
- depends_on('gl')
- depends_on('glproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("gl")
+ depends_on("glproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xedit/package.py b/var/spack/repos/builtin/packages/xedit/package.py
index 9531d861c7..35ac73d2a7 100644
--- a/var/spack/repos/builtin/packages/xedit/package.py
+++ b/var/spack/repos/builtin/packages/xedit/package.py
@@ -12,12 +12,12 @@ class Xedit(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xedit"
xorg_mirror_path = "app/xedit-1.2.2.tar.gz"
- version('1.2.2', sha256='7e2dacbc2caed81d462ee028e108866893217d55e35e4b860b09be2b409ee18f')
+ version("1.2.2", sha256="7e2dacbc2caed81d462ee028e108866893217d55e35e4b860b09be2b409ee18f")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt@1.0:')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt@1.0:")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py
index 4088807bb9..c68aa9ee57 100644
--- a/var/spack/repos/builtin/packages/xerces-c/package.py
+++ b/var/spack/repos/builtin/packages/xerces-c/package.py
@@ -16,48 +16,55 @@ class XercesC(AutotoolsPackage):
APIs."""
homepage = "https://xerces.apache.org/xerces-c"
- url = "https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.1.tar.bz2"
+ url = "https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.1.tar.bz2"
- version('3.2.3', sha256='45c2329e684405f2b8854ecbddfb8d5b055cdf0fe4d35736cc352c504989bbb6')
- version('3.2.2', sha256='1f2a4d1dbd0086ce0f52b718ac0fa4af3dc1ce7a7ff73a581a05fbe78a82bce0')
- version('3.2.1', sha256='a36b6e162913ec218cfb84772d2535d43c3365355a601d45d4b8ce11f0ece0da')
- version('3.1.4', sha256='9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891')
- version('3.1.3', sha256='fc5e5e0247b108b8d64d75aeb124cabdee9b7fcd725a89fe2242b4637b25c1fa')
+ version("3.2.3", sha256="45c2329e684405f2b8854ecbddfb8d5b055cdf0fe4d35736cc352c504989bbb6")
+ version("3.2.2", sha256="1f2a4d1dbd0086ce0f52b718ac0fa4af3dc1ce7a7ff73a581a05fbe78a82bce0")
+ version("3.2.1", sha256="a36b6e162913ec218cfb84772d2535d43c3365355a601d45d4b8ce11f0ece0da")
+ version("3.1.4", sha256="9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891")
+ version("3.1.3", sha256="fc5e5e0247b108b8d64d75aeb124cabdee9b7fcd725a89fe2242b4637b25c1fa")
# Whilst still using Autotools, can use full cxxstd with 'default'
# If build is moved to CMake, then will also need a patch to Xerces-C's
# CMakeLists.txt as a specific standard cannot be forced
- variant('cxxstd',
- default='default',
- values=('default', '98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building')
-
- variant('netaccessor',
- default='curl',
- # todo: add additional values (platform-specific)
- # 'socket', 'cfurl', 'winsock'
- values=('curl', 'none'),
- multi=False,
- description='Net Accessor (used to access network resources')
+ variant(
+ "cxxstd",
+ default="default",
+ values=("default", "98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building",
+ )
+
+ variant(
+ "netaccessor",
+ default="curl",
+ # todo: add additional values (platform-specific)
+ # 'socket', 'cfurl', 'winsock'
+ values=("curl", "none"),
+ multi=False,
+ description="Net Accessor (used to access network resources",
+ )
# It's best to be explicit about the transcoder or else xerces may
# choose another value.
- if sys.platform == 'darwin':
- default_transcoder = 'macos'
- elif sys.platform.startswith('win') or sys.platform == 'cygwin':
- default_transcoder = 'windows'
+ if sys.platform == "darwin":
+ default_transcoder = "macos"
+ elif sys.platform.startswith("win") or sys.platform == "cygwin":
+ default_transcoder = "windows"
else:
- default_transcoder = 'gnuiconv'
+ default_transcoder = "gnuiconv"
- variant('transcoder', default=default_transcoder,
- values=('gnuiconv', 'iconv', 'icu', 'macos', 'windows', 'none'),
- multi=False,
- description='Use the specified transcoder')
+ variant(
+ "transcoder",
+ default=default_transcoder,
+ values=("gnuiconv", "iconv", "icu", "macos", "windows", "none"),
+ multi=False,
+ description="Use the specified transcoder",
+ )
- depends_on('iconv', type='link', when='transcoder=gnuiconv')
- depends_on('icu4c', type='link', when='transcoder=icu')
- depends_on('curl', when='netaccessor=curl')
+ depends_on("iconv", type="link", when="transcoder=gnuiconv")
+ depends_on("icu4c", type="link", when="transcoder=icu")
+ depends_on("curl", when="netaccessor=curl")
# Pass flags to configure. This is necessary for CXXFLAGS or else
# the xerces default will override the spack wrapper.
@@ -65,14 +72,14 @@ class XercesC(AutotoolsPackage):
spec = self.spec
# Need to pass -std flag explicitly
- if name == 'cxxflags' and spec.variants['cxxstd'].value != 'default':
- flags.append(getattr(self.compiler,
- 'cxx{0}_flag'.format(
- spec.variants['cxxstd'].value)))
+ if name == "cxxflags" and spec.variants["cxxstd"].value != "default":
+ flags.append(
+ getattr(self.compiler, "cxx{0}_flag".format(spec.variants["cxxstd"].value))
+ )
# There is no --with-pkg for gnuiconv.
- if name == 'ldflags' and 'transcoder=gnuiconv' in spec:
- flags.append(spec['iconv'].libs.ld_flags)
+ if name == "ldflags" and "transcoder=gnuiconv" in spec:
+ flags.append(spec["iconv"].libs.ld_flags)
return (None, None, flags)
@@ -80,20 +87,19 @@ class XercesC(AutotoolsPackage):
spec = self.spec
args = []
- if 'netaccessor=curl' in spec:
- args.append('--enable-netaccessor-curl')
+ if "netaccessor=curl" in spec:
+ args.append("--enable-netaccessor-curl")
else:
- args.append('--disable-network')
-
- transcoder = spec.variants['transcoder'].value
- if transcoder == 'none':
- args.append('--without-icu')
- elif transcoder == 'icu':
- args.extend(['--enable-transcoder-icu',
- '--with-icu=' + spec['icu4c'].prefix])
- elif transcoder == 'macos':
- args.append('--enable-transcoder-macosunicodeconverter')
+ args.append("--disable-network")
+
+ transcoder = spec.variants["transcoder"].value
+ if transcoder == "none":
+ args.append("--without-icu")
+ elif transcoder == "icu":
+ args.extend(["--enable-transcoder-icu", "--with-icu=" + spec["icu4c"].prefix])
+ elif transcoder == "macos":
+ args.append("--enable-transcoder-macosunicodeconverter")
else:
- args.append('--enable-transcoder-' + transcoder)
+ args.append("--enable-transcoder-" + transcoder)
return args
diff --git a/var/spack/repos/builtin/packages/xeus/package.py b/var/spack/repos/builtin/packages/xeus/package.py
index 9d92544ddf..0c80d2eb40 100644
--- a/var/spack/repos/builtin/packages/xeus/package.py
+++ b/var/spack/repos/builtin/packages/xeus/package.py
@@ -10,55 +10,57 @@ class Xeus(CMakePackage):
"""QuantStack C++ implementation of Jupyter kernel protocol"""
homepage = "https://xeus.readthedocs.io/en/latest/"
- url = "https://github.com/QuantStack/xeus/archive/0.14.1.tar.gz"
- git = "https://github.com/QuantStack/xeus.git"
+ url = "https://github.com/QuantStack/xeus/archive/0.14.1.tar.gz"
+ git = "https://github.com/QuantStack/xeus.git"
- maintainers = ['tomstitt']
+ maintainers = ["tomstitt"]
- version('develop', branch='master')
- version('1.0.4', sha256='7324ff013eb97d579fd3b6f9770a13f8863d6046c8bbcdbe2fc7d2ac02f0161f')
- version('0.15.0', sha256='bc99235b24d5757dc129f3ed531501fb0d0667913927ed39ee24281952649183')
- version('0.14.1', sha256='a6815845d4522ec279f142d3b4e92ef52cd80847b512146a65f256a77e058cfe')
+ 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")
+ 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')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.6")
+ conflicts("%intel@:17")
- depends_on('libzmq@4.2.5:-libsodium')
- depends_on('cppzmq@4.7.1:', when='@1.0.4:')
- depends_on('cppzmq@4.3.0:', when='@:0.15.0')
+ depends_on("libzmq@4.2.5:-libsodium")
+ 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("cryptopp@7.0.0:", when="@:0.15.0")
- depends_on('openssl@1.0.1:', when='@1.0.4:')
+ 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', when='@1.0.4:')
+ depends_on("xtl@0.4.0:", when="@:0.15.0")
+ depends_on("xtl@0.7.0:0.7", 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("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', when='platform=linux')
+ 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', when='@:0.15.0')
+ patch("cmake_find_cryptopp_and_check_cxx_compatibility.patch", when="@:0.15.0")
def cmake_args(self):
args = []
if "@:0.15.0" in self.spec:
- args.append(self.define_from_variant('BUILD_EXAMPLES', 'examples'))
+ 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)
- ])
+ 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
diff --git a/var/spack/repos/builtin/packages/xev/package.py b/var/spack/repos/builtin/packages/xev/package.py
index 4229ab4b17..d4f1273738 100644
--- a/var/spack/repos/builtin/packages/xev/package.py
+++ b/var/spack/repos/builtin/packages/xev/package.py
@@ -18,11 +18,11 @@ class Xev(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xev"
xorg_mirror_path = "app/xev-1.2.2.tar.gz"
- version('1.2.2', sha256='e4c0c7b6f411e8b9731f2bb10d729d167bd00480d172c28b62607a6ea9e45c57')
+ version("1.2.2", sha256="e4c0c7b6f411e8b9731f2bb10d729d167bd00480d172c28b62607a6ea9e45c57")
- depends_on('libxrandr@1.2:')
- depends_on('libx11')
+ depends_on("libxrandr@1.2:")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xextproto/package.py b/var/spack/repos/builtin/packages/xextproto/package.py
index 28d4be0495..c3150ff0c4 100644
--- a/var/spack/repos/builtin/packages/xextproto/package.py
+++ b/var/spack/repos/builtin/packages/xextproto/package.py
@@ -12,9 +12,9 @@ class Xextproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xextproto"
xorg_mirror_path = "proto/xextproto-7.3.0.tar.gz"
- version('7.3.0', sha256='1b1bcdf91221e78c6c33738667a57bd9aaa63d5953174ad8ed9929296741c9f5')
+ version("7.3.0", sha256="1b1bcdf91221e78c6c33738667a57bd9aaa63d5953174ad8ed9929296741c9f5")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
parallel = False
diff --git a/var/spack/repos/builtin/packages/xeyes/package.py b/var/spack/repos/builtin/packages/xeyes/package.py
index b23b23e1a8..0750279e49 100644
--- a/var/spack/repos/builtin/packages/xeyes/package.py
+++ b/var/spack/repos/builtin/packages/xeyes/package.py
@@ -12,13 +12,13 @@ class Xeyes(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xeyes"
xorg_mirror_path = "app/xeyes-1.1.1.tar.gz"
- version('1.1.1', sha256='3a1871a560ab87c72a2e2ecb7fd582474448faec3e254c9bd8bead428ab1bca3')
+ version("1.1.1", sha256="3a1871a560ab87c72a2e2ecb7fd582474448faec3e254c9bd8bead428ab1bca3")
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxext')
- depends_on('libxmu')
- depends_on('libxrender@0.4:')
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxext")
+ depends_on("libxmu")
+ depends_on("libxrender@0.4:")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xf86bigfontproto/package.py b/var/spack/repos/builtin/packages/xf86bigfontproto/package.py
index 130c71b29d..a8060140e7 100644
--- a/var/spack/repos/builtin/packages/xf86bigfontproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86bigfontproto/package.py
@@ -12,4 +12,4 @@ class Xf86bigfontproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86bigfontproto"
xorg_mirror_path = "proto/xf86bigfontproto-1.2.0.tar.gz"
- version('1.2.0', sha256='d190e6462b2bbbac6ee9a007fb8eccb9ad9f5f70544154f388266f031d4bbb23')
+ version("1.2.0", sha256="d190e6462b2bbbac6ee9a007fb8eccb9ad9f5f70544154f388266f031d4bbb23")
diff --git a/var/spack/repos/builtin/packages/xf86dga/package.py b/var/spack/repos/builtin/packages/xf86dga/package.py
index 383f117392..5dbab9ca62 100644
--- a/var/spack/repos/builtin/packages/xf86dga/package.py
+++ b/var/spack/repos/builtin/packages/xf86dga/package.py
@@ -12,10 +12,10 @@ class Xf86dga(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xf86dga"
xorg_mirror_path = "app/xf86dga-1.0.3.tar.gz"
- version('1.0.3', sha256='acbf89f60a99b18c161d2beb0e4145a0fdf6c516f7f45fa52e547d88491f75c9')
+ version("1.0.3", sha256="acbf89f60a99b18c161d2beb0e4145a0fdf6c516f7f45fa52e547d88491f75c9")
- depends_on('libx11')
- depends_on('libxxf86dga@1.1:')
+ depends_on("libx11")
+ depends_on("libxxf86dga@1.1:")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xf86dgaproto/package.py b/var/spack/repos/builtin/packages/xf86dgaproto/package.py
index 0bd7c3782e..fd8a4cdd5e 100644
--- a/var/spack/repos/builtin/packages/xf86dgaproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86dgaproto/package.py
@@ -12,4 +12,4 @@ class Xf86dgaproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86dgaproto"
xorg_mirror_path = "proto/xf86dgaproto-2.1.tar.gz"
- version('2.1', sha256='73bc6fc830cce5a0ec9c750d4702601fc0fca12d6353ede8b4c0092c9c4ca2af')
+ version("2.1", sha256="73bc6fc830cce5a0ec9c750d4702601fc0fca12d6353ede8b4c0092c9c4ca2af")
diff --git a/var/spack/repos/builtin/packages/xf86driproto/package.py b/var/spack/repos/builtin/packages/xf86driproto/package.py
index 4bc3d0120d..7f6dc1f5d5 100644
--- a/var/spack/repos/builtin/packages/xf86driproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86driproto/package.py
@@ -16,7 +16,7 @@ class Xf86driproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86driproto"
xorg_mirror_path = "proto/xf86driproto-2.1.1.tar.gz"
- version('2.1.1', sha256='18ff8de129b89fa24a412a1ec1799f8687f96c186c655b44b1a714a3a5d15d6c')
+ version("2.1.1", sha256="18ff8de129b89fa24a412a1ec1799f8687f96c186c655b44b1a714a3a5d15d6c")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xf86miscproto/package.py b/var/spack/repos/builtin/packages/xf86miscproto/package.py
index cd89b9fe63..83bc996878 100644
--- a/var/spack/repos/builtin/packages/xf86miscproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86miscproto/package.py
@@ -15,4 +15,4 @@ class Xf86miscproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86miscproto"
xorg_mirror_path = "proto/xf86miscproto-0.9.3.tar.gz"
- version('0.9.3', sha256='1b05cb76ac165c703b82bdd270b86ebbc4d42a7d04d299050b07ba2099c31352')
+ version("0.9.3", sha256="1b05cb76ac165c703b82bdd270b86ebbc4d42a7d04d299050b07ba2099c31352")
diff --git a/var/spack/repos/builtin/packages/xf86rushproto/package.py b/var/spack/repos/builtin/packages/xf86rushproto/package.py
index 254e422df6..a22dad641a 100644
--- a/var/spack/repos/builtin/packages/xf86rushproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86rushproto/package.py
@@ -12,4 +12,4 @@ class Xf86rushproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86rushproto"
xorg_mirror_path = "proto/xf86rushproto-1.1.2.tar.gz"
- version('1.1.2', sha256='7d420ae7e5f0dd94c6010c764c66acc93eed7df7f81bcf93d2a57739970ec841')
+ version("1.1.2", sha256="7d420ae7e5f0dd94c6010c764c66acc93eed7df7f81bcf93d2a57739970ec841")
diff --git a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py
index e1a56ff9c1..965394aa10 100644
--- a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py
+++ b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py
@@ -15,7 +15,7 @@ class Xf86vidmodeproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xf86vidmodeproto"
xorg_mirror_path = "proto/xf86vidmodeproto-2.3.1.tar.gz"
- version('2.3.1', sha256='c3512b11cefa7558576551f8582c6e7071c8a24d78176059d94b84b48b262979')
+ version("2.3.1", sha256="c3512b11cefa7558576551f8582c6e7071c8a24d78176059d94b84b48b262979")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xfd/package.py b/var/spack/repos/builtin/packages/xfd/package.py
index b5c663c741..a25feb2278 100644
--- a/var/spack/repos/builtin/packages/xfd/package.py
+++ b/var/spack/repos/builtin/packages/xfd/package.py
@@ -13,26 +13,26 @@ class Xfd(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfd"
xorg_mirror_path = "app/xfd-1.1.2.tar.gz"
- version('1.1.3', sha256='4a1bd18f324c239b1a807ed4ccaeb172ba771d65a7307fb492d8dd8d27f01527')
- version('1.1.2', sha256='4eff3e15b2526ceb48d0236d7ca126face399289eabc0ef67e6ed3b3fdcb60ad')
+ version("1.1.3", sha256="4a1bd18f324c239b1a807ed4ccaeb172ba771d65a7307fb492d8dd8d27f01527")
+ version("1.1.2", sha256="4eff3e15b2526ceb48d0236d7ca126face399289eabc0ef67e6ed3b3fdcb60ad")
- depends_on('fontconfig')
- depends_on('gettext')
- depends_on('libxaw')
- depends_on('libxft')
- depends_on('libxrender')
- depends_on('libxmu')
- depends_on('libxt')
+ depends_on("fontconfig")
+ depends_on("gettext")
+ depends_on("libxaw")
+ depends_on("libxft")
+ depends_on("libxrender")
+ depends_on("libxmu")
+ depends_on("libxt")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# Xfd requires libintl (gettext), but does not test for it
# correctly, so add it here.
def flag_handler(self, name, flags):
- if name == 'ldlibs':
- flags.append('-lintl')
+ if name == "ldlibs":
+ flags.append("-lintl")
return (flags, None, None)
@@ -40,7 +40,7 @@ class Xfd(AutotoolsPackage, XorgPackage):
args = []
# Xkb only rings a bell, so just disable it.
- if self.spec.satisfies('@1.1.3:'):
- args.append('--without-xkb')
+ if self.spec.satisfies("@1.1.3:"):
+ args.append("--without-xkb")
return args
diff --git a/var/spack/repos/builtin/packages/xfindproxy/package.py b/var/spack/repos/builtin/packages/xfindproxy/package.py
index e123f51395..e459de85df 100644
--- a/var/spack/repos/builtin/packages/xfindproxy/package.py
+++ b/var/spack/repos/builtin/packages/xfindproxy/package.py
@@ -17,12 +17,12 @@ class Xfindproxy(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfindproxy"
xorg_mirror_path = "app/xfindproxy-1.0.4.tar.gz"
- version('1.0.4', sha256='fa6152fcf9c16fbb2ef52259731df5df899a39a86894b0508456613f26ff924a')
+ version("1.0.4", sha256="fa6152fcf9c16fbb2ef52259731df5df899a39a86894b0508456613f26ff924a")
- depends_on('libice')
- depends_on('libxt')
+ depends_on("libice")
+ depends_on("libxt")
- depends_on('xproto')
- depends_on('xproxymanagementprotocol')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xproxymanagementprotocol")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xfontsel/package.py b/var/spack/repos/builtin/packages/xfontsel/package.py
index 716510e33a..42488bf3da 100644
--- a/var/spack/repos/builtin/packages/xfontsel/package.py
+++ b/var/spack/repos/builtin/packages/xfontsel/package.py
@@ -14,12 +14,12 @@ class Xfontsel(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfontsel"
xorg_mirror_path = "app/xfontsel-1.0.5.tar.gz"
- version('1.0.5', sha256='9b3ad0cc274398d22be9fa7efe930f4e3749fd4b1b61d9c31a7fb6c1f1ff766e')
+ version("1.0.5", sha256="9b3ad0cc274398d22be9fa7efe930f4e3749fd4b1b61d9c31a7fb6c1f1ff766e")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xforms/package.py b/var/spack/repos/builtin/packages/xforms/package.py
index f33cacc0ef..094ae52c77 100644
--- a/var/spack/repos/builtin/packages/xforms/package.py
+++ b/var/spack/repos/builtin/packages/xforms/package.py
@@ -11,16 +11,16 @@ class Xforms(AutotoolsPackage):
graphical user interface toolkit for X Window Systems."""
homepage = "https://www.nongnu.org/xforms/"
- url = "http://download.savannah.gnu.org/releases/xforms/xforms-1.0.91.tar.gz"
+ url = "http://download.savannah.gnu.org/releases/xforms/xforms-1.0.91.tar.gz"
- version('1.2.4', sha256='78cc6b07071bbeaa1f906e0a22d5e9980e48f8913577bc082d661afe5cb75696')
- version('1.2.3', sha256='7989b39598c769820ad451ad91e5cb0de29946940c8240aac94ca8238c2def61')
- version('1.0.91', sha256='88684237c77489bcb1fbc9a794621a2919aa800e1c0a6d83d679b97980e3441d')
+ version("1.2.4", sha256="78cc6b07071bbeaa1f906e0a22d5e9980e48f8913577bc082d661afe5cb75696")
+ version("1.2.3", sha256="7989b39598c769820ad451ad91e5cb0de29946940c8240aac94ca8238c2def61")
+ version("1.0.91", sha256="88684237c77489bcb1fbc9a794621a2919aa800e1c0a6d83d679b97980e3441d")
- depends_on('libx11', type='link')
- depends_on('libxpm', type='link')
- depends_on('jpeg', type='link')
+ depends_on("libx11", type="link")
+ depends_on("libxpm", type="link")
+ depends_on("jpeg", type="link")
def configure_args(self):
- args = ['--enable-static']
+ args = ["--enable-static"]
return args
diff --git a/var/spack/repos/builtin/packages/xfs/package.py b/var/spack/repos/builtin/packages/xfs/package.py
index 16634420a4..fac3614f78 100644
--- a/var/spack/repos/builtin/packages/xfs/package.py
+++ b/var/spack/repos/builtin/packages/xfs/package.py
@@ -12,13 +12,13 @@ class Xfs(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfs"
xorg_mirror_path = "app/xfs-1.1.4.tar.gz"
- version('1.1.4', sha256='28f89b854d1ff14fa1efa5b408e5e1c4f6a145420310073c4e44705feeb6d23b')
+ version("1.1.4", sha256="28f89b854d1ff14fa1efa5b408e5e1c4f6a145420310073c4e44705feeb6d23b")
- depends_on('libxfont@1.4.5:')
- depends_on('font-util')
+ depends_on("libxfont@1.4.5:")
+ depends_on("font-util")
- depends_on('xproto@7.0.17:')
- depends_on('fontsproto')
- depends_on('xtrans')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("fontsproto")
+ depends_on("xtrans")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xfsdump/package.py b/var/spack/repos/builtin/packages/xfsdump/package.py
index 1374185496..deca030f0d 100644
--- a/var/spack/repos/builtin/packages/xfsdump/package.py
+++ b/var/spack/repos/builtin/packages/xfsdump/package.py
@@ -10,36 +10,40 @@ class Xfsdump(MakefilePackage):
"""XFS Dump Tools."""
homepage = "https://github.com/pcacjr/xfsdump"
- url = "https://github.com/pcacjr/xfsdump/archive/v3.1.6.tar.gz"
+ url = "https://github.com/pcacjr/xfsdump/archive/v3.1.6.tar.gz"
- version('3.1.6', sha256='bbf659758107cad9b41cf3001df121e6428485b341109a1f1a952fd477a7010b')
- version('3.1.5', sha256='ba5bb91413ccb5a0eaffaa84f242baa08520a09f7b990b28bbd0d33a4390f7b6')
- version('3.1.4', sha256='a75d5c7dabd3dd4184008efcfd30d0c96b6ab318edaad9659ce180dfb9652b01')
+ version("3.1.6", sha256="bbf659758107cad9b41cf3001df121e6428485b341109a1f1a952fd477a7010b")
+ version("3.1.5", sha256="ba5bb91413ccb5a0eaffaa84f242baa08520a09f7b990b28bbd0d33a4390f7b6")
+ version("3.1.4", sha256="a75d5c7dabd3dd4184008efcfd30d0c96b6ab318edaad9659ce180dfb9652b01")
- depends_on('gettext')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('util-linux')
- depends_on('attr')
- depends_on('xfsprogs@:4.20.0')
+ depends_on("gettext")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("util-linux")
+ depends_on("attr")
+ depends_on("xfsprogs@:4.20.0")
def setup_build_environment(self, env):
- env.append_flags('LDFLAGS', '-lintl')
+ env.append_flags("LDFLAGS", "-lintl")
def build(self, spec, prefix):
- make('prefix={0}'.format(self.prefix),
- 'MSGFMT={0}'.format(self.spec['gettext'].prefix.bin.msgfmt),
- 'MSGMERGE={0}'.format(self.spec['gettext'].prefix.bin.msgmerge),
- 'XGETTEXT={0}'.format(self.spec['gettext'].prefix.bin.xgettext))
+ make(
+ "prefix={0}".format(self.prefix),
+ "MSGFMT={0}".format(self.spec["gettext"].prefix.bin.msgfmt),
+ "MSGMERGE={0}".format(self.spec["gettext"].prefix.bin.msgmerge),
+ "XGETTEXT={0}".format(self.spec["gettext"].prefix.bin.xgettext),
+ )
def install(self, spec, prefix):
- make('prefix={0}'.format(self.prefix),
- 'MSGFMT={0}'.format(self.spec['gettext'].prefix.bin.msgfmt),
- 'MSGMERGE={0}'.format(self.spec['gettext'].prefix.bin.msgmerge),
- 'XGETTEXT={0}'.format(self.spec['gettext'].prefix.bin.xgettext),
- 'install')
+ make(
+ "prefix={0}".format(self.prefix),
+ "MSGFMT={0}".format(self.spec["gettext"].prefix.bin.msgfmt),
+ "MSGMERGE={0}".format(self.spec["gettext"].prefix.bin.msgmerge),
+ "XGETTEXT={0}".format(self.spec["gettext"].prefix.bin.xgettext),
+ "install",
+ )
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/xfsinfo/package.py b/var/spack/repos/builtin/packages/xfsinfo/package.py
index 4d543020da..a11947ff32 100644
--- a/var/spack/repos/builtin/packages/xfsinfo/package.py
+++ b/var/spack/repos/builtin/packages/xfsinfo/package.py
@@ -16,10 +16,10 @@ class Xfsinfo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfsinfo"
xorg_mirror_path = "app/xfsinfo-1.0.5.tar.gz"
- version('1.0.5', sha256='56a0492ed2cde272dc8f4cff4ba0970ccb900e51c10bb8ec62747483d095fd69')
+ version("1.0.5", sha256="56a0492ed2cde272dc8f4cff4ba0970ccb900e51c10bb8ec62747483d095fd69")
- depends_on('libfs')
+ depends_on("libfs")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xfsprogs/package.py b/var/spack/repos/builtin/packages/xfsprogs/package.py
index 41fd3ac4e0..eb184ba634 100644
--- a/var/spack/repos/builtin/packages/xfsprogs/package.py
+++ b/var/spack/repos/builtin/packages/xfsprogs/package.py
@@ -10,40 +10,40 @@ class Xfsprogs(AutotoolsPackage):
"""XFS User Tools."""
homepage = "https://github.com/mtanski/xfsprogs"
- url = "http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-4.17.0.tar.xz"
+ url = "http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-4.17.0.tar.xz"
- version('5.11.0', sha256='0e9c390fcdbb8a79e1b8f5e6e25fd529fc9f9c2ef8f2d5e647b3556b82d1b353')
- version('5.8.0', sha256='8ef46ed9e6bb927f407f541dc4324857c908ddf1374265edc910d23724048c6b')
- version('5.7.0', sha256='8f2348a68a686a3f4491dda5d62dd32d885fbc52d32875edd41e2c296e7b4f35')
- version('5.6.0', sha256='0aba2aac5d80d07646dde868437fc337af2c7326edadcc6d6a7c0bfd3190c1e6')
+ version("5.11.0", sha256="0e9c390fcdbb8a79e1b8f5e6e25fd529fc9f9c2ef8f2d5e647b3556b82d1b353")
+ version("5.8.0", sha256="8ef46ed9e6bb927f407f541dc4324857c908ddf1374265edc910d23724048c6b")
+ version("5.7.0", sha256="8f2348a68a686a3f4491dda5d62dd32d885fbc52d32875edd41e2c296e7b4f35")
+ version("5.6.0", sha256="0aba2aac5d80d07646dde868437fc337af2c7326edadcc6d6a7c0bfd3190c1e6")
- version('4.20.0', sha256='beafdfd080352a8c9d543491e0874d0e8809cb643a3b9d352d5feed38d77022a')
+ version("4.20.0", sha256="beafdfd080352a8c9d543491e0874d0e8809cb643a3b9d352d5feed38d77022a")
- depends_on('libinih')
- depends_on('gettext')
- depends_on('uuid')
- depends_on('util-linux')
+ depends_on("libinih")
+ depends_on("gettext")
+ depends_on("uuid")
+ depends_on("util-linux")
def flag_handler(self, name, flags):
iflags = []
- if name == 'cflags':
- if self.spec.satisfies('@:5.4.0 %gcc@10:'):
- iflags.append('-fcommon')
+ if name == "cflags":
+ if self.spec.satisfies("@:5.4.0 %gcc@10:"):
+ iflags.append("-fcommon")
return (iflags, None, flags)
def setup_build_environment(self, env):
- env.append_path('C_INCLUDE_PATH',
- self.spec['util-linux'].prefix.include.blkid)
+ env.append_path("C_INCLUDE_PATH", self.spec["util-linux"].prefix.include.blkid)
def configure_args(self):
- args = ['LDFLAGS=-lintl',
- "--with-systemd-unit-dir=" +
- self.spec['xfsprogs'].prefix.lib.systemd.system]
+ args = [
+ "LDFLAGS=-lintl",
+ "--with-systemd-unit-dir=" + self.spec["xfsprogs"].prefix.lib.systemd.system,
+ ]
return args
def install(self, spec, prefix):
- make('install')
- make('install-dev')
+ make("install")
+ make("install-dev")
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/xfwp/package.py b/var/spack/repos/builtin/packages/xfwp/package.py
index 250df59853..6fc0558640 100644
--- a/var/spack/repos/builtin/packages/xfwp/package.py
+++ b/var/spack/repos/builtin/packages/xfwp/package.py
@@ -12,16 +12,16 @@ class Xfwp(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xfwp"
xorg_mirror_path = "app/xfwp-1.0.3.tar.gz"
- version('1.0.3', sha256='6fe243bde0374637e271a3f038b5d6d79a04621fc18162727782392069c5c04d')
+ version("1.0.3", sha256="6fe243bde0374637e271a3f038b5d6d79a04621fc18162727782392069c5c04d")
- depends_on('libice')
+ depends_on("libice")
- depends_on('xproto')
- depends_on('xproxymanagementprotocol')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto")
+ depends_on("xproxymanagementprotocol")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# Fixes this and a long list of other compilation errors:
# io.c:1039:7: error: implicit declaration of function 'swab'
def setup_build_environment(self, env):
- env.append_flags('CPPFLAGS', '-D_GNU_SOURCE')
+ env.append_flags("CPPFLAGS", "-D_GNU_SOURCE")
diff --git a/var/spack/repos/builtin/packages/xgamma/package.py b/var/spack/repos/builtin/packages/xgamma/package.py
index 184fbc5b65..1664643b2e 100644
--- a/var/spack/repos/builtin/packages/xgamma/package.py
+++ b/var/spack/repos/builtin/packages/xgamma/package.py
@@ -13,11 +13,11 @@ class Xgamma(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xgamma"
xorg_mirror_path = "app/xgamma-1.0.6.tar.gz"
- version('1.0.6', sha256='66da1d67e84146518b69481c6283c5d8f1027ace9ff7e214d3f81954842e796a')
+ version("1.0.6", sha256="66da1d67e84146518b69481c6283c5d8f1027ace9ff7e214d3f81954842e796a")
- depends_on('libx11')
- depends_on('libxxf86vm')
+ depends_on("libx11")
+ depends_on("libxxf86vm")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xgboost/package.py b/var/spack/repos/builtin/packages/xgboost/package.py
index 2b822e253a..4243f89bbb 100644
--- a/var/spack/repos/builtin/packages/xgboost/package.py
+++ b/var/spack/repos/builtin/packages/xgboost/package.py
@@ -17,68 +17,71 @@ class Xgboost(CMakePackage, CudaPackage):
and can solve problems beyond billions of examples."""
homepage = "https://xgboost.ai/"
- git = "https://github.com/dmlc/xgboost.git"
+ git = "https://github.com/dmlc/xgboost.git"
- maintainers = ['adamjstewart']
+ maintainers = ["adamjstewart"]
- version('master', branch='master', submodules=True)
- version('1.6.1', tag='v1.6.1', submodules=True)
- version('1.5.2', tag='v1.5.2', submodules=True)
- version('1.3.3', tag='v1.3.3', submodules=True)
+ version("master", branch="master", submodules=True)
+ version("1.6.1", tag="v1.6.1", submodules=True)
+ version("1.5.2", tag="v1.5.2", submodules=True)
+ version("1.3.3", tag="v1.3.3", submodules=True)
- variant('nccl', default=False, description='Build with NCCL to enable distributed GPU support')
- variant('openmp', default=True, description='Build with OpenMP support')
+ variant("nccl", default=False, description="Build with NCCL to enable distributed GPU support")
+ variant("openmp", default=True, description="Build with OpenMP support")
- depends_on('cmake@3.13:', type='build')
- depends_on('cmake@3.16:', when='platform=darwin', type='build')
- depends_on('ninja', type='build')
- depends_on('cuda@10:', when='+cuda')
+ depends_on("cmake@3.13:", type="build")
+ depends_on("cmake@3.16:", when="platform=darwin", type="build")
+ depends_on("ninja", type="build")
+ depends_on("cuda@10:", when="+cuda")
# https://github.com/dmlc/xgboost/pull/7379
- depends_on('cuda@10:11.4', when='@:1.5.0+cuda')
- depends_on('nccl', when='+nccl')
- depends_on('llvm-openmp', when='%apple-clang +openmp')
- depends_on('hwloc', when='%clang')
-
- conflicts('%gcc@:4', msg='GCC version must be at least 5.0!')
- conflicts('+nccl', when='~cuda', msg='NCCL requires CUDA')
- conflicts('+cuda', when='~openmp', msg='CUDA requires OpenMP')
- conflicts('cuda_arch=none', when='+cuda',
- msg='Must specify CUDA compute capabilities of your GPU, see '
- 'https://developer.nvidia.com/cuda-gpus')
-
- generator = 'Ninja'
+ depends_on("cuda@10:11.4", when="@:1.5.0+cuda")
+ depends_on("nccl", when="+nccl")
+ depends_on("llvm-openmp", when="%apple-clang +openmp")
+ depends_on("hwloc", when="%clang")
+
+ conflicts("%gcc@:4", msg="GCC version must be at least 5.0!")
+ conflicts("+nccl", when="~cuda", msg="NCCL requires CUDA")
+ conflicts("+cuda", when="~openmp", msg="CUDA requires OpenMP")
+ conflicts(
+ "cuda_arch=none",
+ when="+cuda",
+ msg="Must specify CUDA compute capabilities of your GPU, see "
+ "https://developer.nvidia.com/cuda-gpus",
+ )
+
+ generator = "Ninja"
def cmake_args(self):
# https://xgboost.readthedocs.io/en/latest/build.html
args = [
- self.define_from_variant('USE_CUDA', 'cuda'),
- self.define_from_variant('USE_NCCL', 'nccl'),
- self.define_from_variant('USE_OPENMP', 'openmp'),
+ self.define_from_variant("USE_CUDA", "cuda"),
+ self.define_from_variant("USE_NCCL", "nccl"),
+ self.define_from_variant("USE_OPENMP", "openmp"),
]
- if '+cuda' in self.spec:
- args.append(self.define(
- 'GPU_COMPUTE_VER', self.spec.variants['cuda_arch'].value))
+ if "+cuda" in self.spec:
+ args.append(self.define("GPU_COMPUTE_VER", self.spec.variants["cuda_arch"].value))
- if '@1.5: ^cuda@11.4:' in self.spec:
- args.append(self.define('BUILD_WITH_CUDA_CUB', True))
+ if "@1.5: ^cuda@11.4:" in self.spec:
+ args.append(self.define("BUILD_WITH_CUDA_CUB", True))
- if self.spec.satisfies('+openmp%clang'):
+ if self.spec.satisfies("+openmp%clang"):
OpenMP_C_FLAGS = "-fopenmp=libomp"
OpenMP_C_LIB_NAMES = "libomp"
args += [
- self.define('OpenMP_C_FLAGS', OpenMP_C_FLAGS),
- self.define('OpenMP_C_LIB_NAMES', OpenMP_C_LIB_NAMES),
- self.define('OpenMP_CXX_FLAGS', OpenMP_C_FLAGS),
- self.define('OpenMP_CXX_LIB_NAMES', OpenMP_C_LIB_NAMES),
+ self.define("OpenMP_C_FLAGS", OpenMP_C_FLAGS),
+ self.define("OpenMP_C_LIB_NAMES", OpenMP_C_LIB_NAMES),
+ self.define("OpenMP_CXX_FLAGS", OpenMP_C_FLAGS),
+ self.define("OpenMP_CXX_LIB_NAMES", OpenMP_C_LIB_NAMES),
]
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
args += [
- self.define('OpenMP_libomp_LIBRARY',
- find_libraries('libomp', root=clang_root,
- shared=True, recursive=True))
+ self.define(
+ "OpenMP_libomp_LIBRARY",
+ find_libraries("libomp", root=clang_root, shared=True, recursive=True),
+ )
]
return args
diff --git a/var/spack/repos/builtin/packages/xgc/package.py b/var/spack/repos/builtin/packages/xgc/package.py
index 502140e95a..eb0cb833e1 100644
--- a/var/spack/repos/builtin/packages/xgc/package.py
+++ b/var/spack/repos/builtin/packages/xgc/package.py
@@ -13,12 +13,12 @@ class Xgc(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xgc"
xorg_mirror_path = "app/xgc-1.0.5.tar.gz"
- version('1.0.5', sha256='16645fb437699bad2360f36f54f42320e33fce5a0ab9a086f6e0965963205b02')
+ version("1.0.5", sha256="16645fb437699bad2360f36f54f42320e33fce5a0ab9a086f6e0965963205b02")
- depends_on('libxaw')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxt")
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xhmm/package.py b/var/spack/repos/builtin/packages/xhmm/package.py
index d34c8ab2ac..f39a9be5da 100644
--- a/var/spack/repos/builtin/packages/xhmm/package.py
+++ b/var/spack/repos/builtin/packages/xhmm/package.py
@@ -13,19 +13,19 @@ class Xhmm(MakefilePackage):
(or targeted sequencing, more generally)."""
homepage = "http://atgu.mgh.harvard.edu/xhmm/index.shtml"
- git = "https://bitbucket.org/statgen/xhmm.git"
+ git = "https://bitbucket.org/statgen/xhmm.git"
- version('20160104', commit='cc14e528d90932f059ac4fe94e869e81221fd732')
+ version("20160104", commit="cc14e528d90932f059ac4fe94e869e81221fd732")
- depends_on('lapack')
+ depends_on("lapack")
def edit(self, spec, prefix):
- filter_file('GCC', 'CC', 'sources/hmm++/config_rules.Makefile')
- filter_file('GCC =gcc', '', 'sources/hmm++/config_defs.Makefile')
+ filter_file("GCC", "CC", "sources/hmm++/config_rules.Makefile")
+ filter_file("GCC =gcc", "", "sources/hmm++/config_defs.Makefile")
def build(self, spec, prefix):
- make('LAPACK_LIBS=%s' % ''.join(spec['lapack'].libs.names))
+ make("LAPACK_LIBS=%s" % "".join(spec["lapack"].libs.names))
def install(self, spec, prefix):
mkdir(prefix.bin)
- install('xhmm', prefix.bin)
+ install("xhmm", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/xhost/package.py b/var/spack/repos/builtin/packages/xhost/package.py
index 319cfc6dd6..7f5f0a6dea 100644
--- a/var/spack/repos/builtin/packages/xhost/package.py
+++ b/var/spack/repos/builtin/packages/xhost/package.py
@@ -13,12 +13,12 @@ class Xhost(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xhost"
xorg_mirror_path = "app/xhost-1.0.7.tar.gz"
- version('1.0.7', sha256='8dd1b6245dfbdef45a64a18ea618f233f77432c2f30881b1db9dc40d510d9490')
+ version("1.0.7", sha256="8dd1b6245dfbdef45a64a18ea618f233f77432c2f30881b1db9dc40d510d9490")
- depends_on('libx11')
- depends_on('libxmu')
- depends_on('libxau')
+ depends_on("libx11")
+ depends_on("libxmu")
+ depends_on("libxau")
- depends_on('xproto@7.0.22:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.22:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xineramaproto/package.py b/var/spack/repos/builtin/packages/xineramaproto/package.py
index b7b016f57c..34c078c928 100644
--- a/var/spack/repos/builtin/packages/xineramaproto/package.py
+++ b/var/spack/repos/builtin/packages/xineramaproto/package.py
@@ -15,7 +15,7 @@ class Xineramaproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/xineramaproto"
xorg_mirror_path = "proto/xineramaproto-1.2.1.tar.gz"
- version('1.2.1', sha256='d99e121edf7b310008d7371ac5dbe3aa2810996d476b754dc78477cc26e5e7c1')
+ version("1.2.1", sha256="d99e121edf7b310008d7371ac5dbe3aa2810996d476b754dc78477cc26e5e7c1")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xinit/package.py b/var/spack/repos/builtin/packages/xinit/package.py
index e3eedcf5fe..7fc7aa71b1 100644
--- a/var/spack/repos/builtin/packages/xinit/package.py
+++ b/var/spack/repos/builtin/packages/xinit/package.py
@@ -14,10 +14,10 @@ class Xinit(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xinit"
xorg_mirror_path = "app/xinit-1.3.4.tar.gz"
- version('1.3.4', sha256='754c284875defa588951c1d3d2b20897d3b84918d0a97cb5a4724b00c0da0746')
+ version("1.3.4", sha256="754c284875defa588951c1d3d2b20897d3b84918d0a97cb5a4724b00c0da0746")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xinput/package.py b/var/spack/repos/builtin/packages/xinput/package.py
index 256ac74bd1..464811e525 100644
--- a/var/spack/repos/builtin/packages/xinput/package.py
+++ b/var/spack/repos/builtin/packages/xinput/package.py
@@ -12,17 +12,17 @@ class Xinput(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xinput"
xorg_mirror_path = "app/xinput-1.6.2.tar.gz"
- version('1.6.2', sha256='2c8ca5ff2a8703cb7d898629a4311db720dbd30d0c162bfe37f18849a727bd42')
+ version("1.6.2", sha256="2c8ca5ff2a8703cb7d898629a4311db720dbd30d0c162bfe37f18849a727bd42")
- depends_on('libx11')
- depends_on('libxext')
- depends_on('libxi@1.5.99.1:')
- depends_on('libxrandr')
- depends_on('libxinerama')
+ depends_on("libx11")
+ depends_on("libxext")
+ depends_on("libxi@1.5.99.1:")
+ depends_on("libxrandr")
+ depends_on("libxinerama")
- depends_on('inputproto@2.1.99.1:')
- depends_on('fixesproto')
- depends_on('randrproto')
- depends_on('xineramaproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("inputproto@2.1.99.1:")
+ depends_on("fixesproto")
+ depends_on("randrproto")
+ depends_on("xineramaproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xios/package.py b/var/spack/repos/builtin/packages/xios/package.py
index cf8abdf3b0..5e3388dafa 100644
--- a/var/spack/repos/builtin/packages/xios/package.py
+++ b/var/spack/repos/builtin/packages/xios/package.py
@@ -14,72 +14,81 @@ class Xios(Package):
homepage = "https://forge.ipsl.jussieu.fr/ioserver/wiki"
- version('develop', svn='http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk')
- version('2.5', revision=1860,
- svn='http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5')
- version('2.0', revision=1627,
- svn='http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.0')
- version('1.0', revision=910,
- svn='http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0')
-
- variant('mode', values=('debug', 'dev', 'prod'), default='dev',
- description='Build for debugging, development or production')
+ version("develop", svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk")
+ version(
+ "2.5", revision=1860, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5"
+ )
+ version(
+ "2.0", revision=1627, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.0"
+ )
+ version(
+ "1.0", revision=910, svn="http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-1.0"
+ )
+
+ variant(
+ "mode",
+ values=("debug", "dev", "prod"),
+ default="dev",
+ description="Build for debugging, development or production",
+ )
# NOTE: oasis coupler could be supported with a variant
# Use spack versions of blitz and netcdf-c for compatibility
# with recent compilers and optimised platform libraries:
- patch('bld_extern_1.0.patch', when='@:1.0')
+ patch("bld_extern_1.0.patch", when="@:1.0")
# Workaround bug #17782 in llvm, where reading a double
# followed by a character is broken (e.g. duration '1d'):
- patch('llvm_bug_17782.patch', when='@1.1: %apple-clang')
- patch('llvm_bug_17782.patch', when='@1.1: %clang')
+ patch("llvm_bug_17782.patch", when="@1.1: %apple-clang")
+ patch("llvm_bug_17782.patch", when="@1.1: %clang")
- depends_on('netcdf-c+mpi')
- depends_on('netcdf-fortran')
- depends_on('hdf5+mpi')
- depends_on('mpi')
+ depends_on("netcdf-c+mpi")
+ depends_on("netcdf-fortran")
+ depends_on("hdf5+mpi")
+ depends_on("mpi")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
- depends_on('blitz')
- depends_on('perl', type='build')
- depends_on('perl-uri', type='build')
- depends_on('gmake', type='build')
+ depends_on("blitz")
+ depends_on("perl", type="build")
+ depends_on("perl-uri", type="build")
+ depends_on("gmake", type="build")
- @when('%clang')
+ @when("%clang")
def patch(self):
self.patch_llvm()
- @when('%apple-clang')
+ @when("%apple-clang")
def patch(self):
self.patch_llvm()
def patch_llvm(self):
"""Fix type references that are ambiguous for clang."""
- for dirpath, dirnames, filenames in os.walk('src'):
+ for dirpath, dirnames, filenames in os.walk("src"):
for filename in filenames:
filepath = os.path.join(dirpath, filename)
# Use boost definition of type shared_ptr:
- filter_file(r'([^:/])shared_ptr<',
- r'\1boost::shared_ptr<', filepath)
+ filter_file(r"([^:/])shared_ptr<", r"\1boost::shared_ptr<", filepath)
# Use type long for position in output stream:
- filter_file(r'oss.tellp\(\) *- *startPos',
- r'(long)oss.tellp() - startPos', filepath)
+ filter_file(
+ r"oss.tellp\(\) *- *startPos", r"(long)oss.tellp() - startPos", filepath
+ )
def xios_env(self):
- file = join_path('arch', 'arch-SPACK.env')
+ file = join_path("arch", "arch-SPACK.env")
touch(file)
def xios_path(self):
- file = join_path('arch', 'arch-SPACK.path')
+ file = join_path("arch", "arch-SPACK.path")
spec = self.spec
- paths = {'NETCDF_INC_DIR': spec['netcdf-c'].prefix.include,
- 'NETCDF_LIB_DIR': spec['netcdf-c'].prefix.lib,
- 'HDF5_INC_DIR': spec['hdf5'].prefix.include,
- 'HDF5_LIB_DIR': spec['hdf5'].prefix.lib}
+ paths = {
+ "NETCDF_INC_DIR": spec["netcdf-c"].prefix.include,
+ "NETCDF_LIB_DIR": spec["netcdf-c"].prefix.lib,
+ "HDF5_INC_DIR": spec["hdf5"].prefix.include,
+ "HDF5_LIB_DIR": spec["hdf5"].prefix.lib,
+ }
text = r"""
NETCDF_INCDIR="-I {NETCDF_INC_DIR}"
NETCDF_LIBDIR="-L {NETCDF_LIB_DIR}"
@@ -97,28 +106,27 @@ OASIS_INCDIR=""
OASIS_LIBDIR=""
OASIS_LIB=""
"""
- with open(file, 'w') as f:
+ with open(file, "w") as f:
f.write(text.format(**paths))
def xios_fcm(self):
- file = join_path('arch', 'arch-SPACK.fcm')
+ file = join_path("arch", "arch-SPACK.fcm")
spec = self.spec
param = dict()
- param['MPICXX'] = spec['mpi'].mpicxx
- param['MPIFC'] = spec['mpi'].mpifc
- param['CC'] = self.compiler.cc
- param['FC'] = self.compiler.fc
- param['BOOST_INC_DIR'] = spec['boost'].prefix.include
- param['BOOST_LIB_DIR'] = spec['boost'].prefix.lib
- param['BLITZ_INC_DIR'] = spec['blitz'].prefix.include
- param['BLITZ_LIB_DIR'] = spec['blitz'].prefix.lib
- if spec.satisfies('%apple-clang'):
- param['LIBCXX'] = '-lc++'
+ param["MPICXX"] = spec["mpi"].mpicxx
+ param["MPIFC"] = spec["mpi"].mpifc
+ param["CC"] = self.compiler.cc
+ param["FC"] = self.compiler.fc
+ param["BOOST_INC_DIR"] = spec["boost"].prefix.include
+ param["BOOST_LIB_DIR"] = spec["boost"].prefix.lib
+ param["BLITZ_INC_DIR"] = spec["blitz"].prefix.include
+ param["BLITZ_LIB_DIR"] = spec["blitz"].prefix.lib
+ if spec.satisfies("%apple-clang"):
+ param["LIBCXX"] = "-lc++"
else:
- param['LIBCXX'] = '-lstdc++'
+ param["LIBCXX"] = "-lstdc++"
- if any(map(spec.satisfies,
- ('%gcc', '%intel', '%apple-clang', '%clang', '%fj'))):
+ if any(map(spec.satisfies, ("%gcc", "%intel", "%apple-clang", "%clang", "%fj"))):
text = r"""
%CCOMPILER {MPICXX}
%FCOMPILER {MPIFC}
@@ -141,15 +149,17 @@ OASIS_LIB=""
%CPP {CC} -E
%FPP {CC} -E -P -x c
%MAKE gmake
-""".format(**param)
- elif spec.satisfies('%cce'):
+""".format(
+ **param
+ )
+ elif spec.satisfies("%cce"):
# In the CC compiler prior to cce/8.3.7,
# optimisation must be reduced to avoid a bug,
# as reported by Mike Rezny at the UK Met Office:
- if spec.satisfies('%cce@8.3.7:'):
- param.update({'CC_OPT_DEV': '-O2', 'CC_OPT_PROD': '-O3'})
+ if spec.satisfies("%cce@8.3.7:"):
+ param.update({"CC_OPT_DEV": "-O2", "CC_OPT_PROD": "-O3"})
else:
- param.update({'CC_OPT_DEV': '-O1', 'CC_OPT_PROD': '-O1'})
+ param.update({"CC_OPT_DEV": "-O1", "CC_OPT_PROD": "-O1"})
text = r"""
%CCOMPILER {MPICXX}
@@ -173,49 +183,55 @@ OASIS_LIB=""
%CPP cpp
%FPP cpp -P -CC
%MAKE gmake
-""".format(**param)
+""".format(
+ **param
+ )
else:
- raise InstallError('Unsupported compiler.')
+ raise InstallError("Unsupported compiler.")
- with open(file, 'w') as f:
+ with open(file, "w") as f:
f.write(text)
def install(self, spec, prefix):
- env['CC'] = spec['mpi'].mpicc
- env['CXX'] = spec['mpi'].mpicxx
- env['F77'] = spec['mpi'].mpif77
- env['FC'] = spec['mpi'].mpifc
-
- options = ['--full',
- '--%s' % spec.variants['mode'].value,
- '--arch', 'SPACK',
- '--netcdf_lib', 'netcdf4_par',
- '--job', str(make_jobs)]
+ env["CC"] = spec["mpi"].mpicc
+ env["CXX"] = spec["mpi"].mpicxx
+ env["F77"] = spec["mpi"].mpif77
+ env["FC"] = spec["mpi"].mpifc
+
+ options = [
+ "--full",
+ "--%s" % spec.variants["mode"].value,
+ "--arch",
+ "SPACK",
+ "--netcdf_lib",
+ "netcdf4_par",
+ "--job",
+ str(make_jobs),
+ ]
self.xios_env()
self.xios_path()
self.xios_fcm()
- make_xios = Executable('./make_xios')
+ make_xios = Executable("./make_xios")
make_xios(*options)
mkdirp(spec.prefix)
- install_tree('bin', spec.prefix.bin)
- install_tree('lib', spec.prefix.lib)
- install_tree('inc', spec.prefix.include)
- install_tree('etc', spec.prefix.etc)
- install_tree('cfg', spec.prefix.cfg)
+ install_tree("bin", spec.prefix.bin)
+ install_tree("lib", spec.prefix.lib)
+ install_tree("inc", spec.prefix.include)
+ install_tree("etc", spec.prefix.etc)
+ install_tree("cfg", spec.prefix.cfg)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_build(self):
- mpirun = os.getenv('MPIRUN')
+ mpirun = os.getenv("MPIRUN")
if mpirun is None:
- mpirun = 'mpiexec'
+ mpirun = "mpiexec"
mpiexec = Executable(mpirun)
- with working_dir('inputs'):
+ with working_dir("inputs"):
try:
- mpiexec('-n', '2', join_path('..', 'bin', 'test_client.exe'))
+ mpiexec("-n", "2", join_path("..", "bin", "test_client.exe"))
except Exception:
- raise InstallError(
- 'Test failed; defining MPIRUN variable may help.')
+ raise InstallError("Test failed; defining MPIRUN variable may help.")
diff --git a/var/spack/repos/builtin/packages/xkbcomp/package.py b/var/spack/repos/builtin/packages/xkbcomp/package.py
index 1defa28ce6..6537255816 100644
--- a/var/spack/repos/builtin/packages/xkbcomp/package.py
+++ b/var/spack/repos/builtin/packages/xkbcomp/package.py
@@ -17,13 +17,13 @@ class Xkbcomp(AutotoolsPackage, XorgPackage):
homepage = "https://www.x.org/wiki/XKB/"
xorg_mirror_path = "app/xkbcomp-1.3.1.tar.gz"
- version('1.4.4', sha256='159fba6b62ef4a3fb16ef7fc4eb4fc26f3888652471ceb604c495783dda020bc')
- version('1.3.1', sha256='018e83a922430652d4bc3f3db610d2296e618c76c9b3fbcdccde975aeb655749')
+ version("1.4.4", sha256="159fba6b62ef4a3fb16ef7fc4eb4fc26f3888652471ceb604c495783dda020bc")
+ version("1.3.1", sha256="018e83a922430652d4bc3f3db610d2296e618c76c9b3fbcdccde975aeb655749")
- depends_on('libx11')
- depends_on('libxkbfile')
+ depends_on("libx11")
+ depends_on("libxkbfile")
- depends_on('xproto@7.0.17:')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xkbdata/package.py b/var/spack/repos/builtin/packages/xkbdata/package.py
index a36d1ef618..feb3745ec9 100644
--- a/var/spack/repos/builtin/packages/xkbdata/package.py
+++ b/var/spack/repos/builtin/packages/xkbdata/package.py
@@ -13,6 +13,6 @@ class Xkbdata(AutotoolsPackage, XorgPackage):
homepage = "https://www.x.org/wiki/XKB/"
xorg_mirror_path = "data/xkbdata-1.0.1.tar.gz"
- version('1.0.1', sha256='5b43ca5219cd4022a158a8d4bfa30308ea5e16c9b5270a64589ebfe7f875f430')
+ version("1.0.1", sha256="5b43ca5219cd4022a158a8d4bfa30308ea5e16c9b5270a64589ebfe7f875f430")
- depends_on('xkbcomp', type='build')
+ depends_on("xkbcomp", type="build")
diff --git a/var/spack/repos/builtin/packages/xkbevd/package.py b/var/spack/repos/builtin/packages/xkbevd/package.py
index 090e456d62..6ecc032b6c 100644
--- a/var/spack/repos/builtin/packages/xkbevd/package.py
+++ b/var/spack/repos/builtin/packages/xkbevd/package.py
@@ -12,11 +12,11 @@ class Xkbevd(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xkbevd"
xorg_mirror_path = "app/xkbevd-1.1.4.tar.gz"
- version('1.1.4', sha256='97dc2c19617da115c3d1183807338fa78c3fd074d8355d10a484f7b1c5b18459')
+ version("1.1.4", sha256="97dc2c19617da115c3d1183807338fa78c3fd074d8355d10a484f7b1c5b18459")
- depends_on('libxkbfile')
- depends_on('libx11')
+ depends_on("libxkbfile")
+ depends_on("libx11")
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xkbprint/package.py b/var/spack/repos/builtin/packages/xkbprint/package.py
index 0873b64d3b..f65b3b55b9 100644
--- a/var/spack/repos/builtin/packages/xkbprint/package.py
+++ b/var/spack/repos/builtin/packages/xkbprint/package.py
@@ -13,11 +13,11 @@ class Xkbprint(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xkbprint"
xorg_mirror_path = "app/xkbprint-1.0.4.tar.gz"
- version('1.0.4', sha256='169ebbf57fc8b7685c577c73a435998a38c27e0d135ce0a55fccc64cbebec768')
+ version("1.0.4", sha256="169ebbf57fc8b7685c577c73a435998a38c27e0d135ce0a55fccc64cbebec768")
- depends_on('libxkbfile')
- depends_on('libx11')
+ depends_on("libxkbfile")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xkbutils/package.py b/var/spack/repos/builtin/packages/xkbutils/package.py
index c193f28243..c15b750591 100644
--- a/var/spack/repos/builtin/packages/xkbutils/package.py
+++ b/var/spack/repos/builtin/packages/xkbutils/package.py
@@ -13,13 +13,13 @@ class Xkbutils(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xkbutils"
xorg_mirror_path = "app/xkbutils-1.0.4.tar.gz"
- version('1.0.4', sha256='cf31303cbdd6a86c34cab46f4b6e0c7acd2e84578593b334a146142894529bca')
+ version("1.0.4", sha256="cf31303cbdd6a86c34cab46f4b6e0c7acd2e84578593b334a146142894529bca")
- depends_on('libxaw')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('inputproto')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("inputproto")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xkeyboard-config/package.py b/var/spack/repos/builtin/packages/xkeyboard-config/package.py
index 1e2c15c15a..c72f0ef125 100644
--- a/var/spack/repos/builtin/packages/xkeyboard-config/package.py
+++ b/var/spack/repos/builtin/packages/xkeyboard-config/package.py
@@ -14,14 +14,14 @@ class XkeyboardConfig(AutotoolsPackage, XorgPackage):
homepage = "https://www.freedesktop.org/wiki/Software/XKeyboardConfig/"
xorg_mirror_path = "data/xkeyboard-config/xkeyboard-config-2.18.tar.gz"
- version('2.18', sha256='d5c511319a3bd89dc40622a33b51ba41a2c2caad33ee2bfe502363fcc4c3817d')
+ version("2.18", sha256="d5c511319a3bd89dc40622a33b51ba41a2c2caad33ee2bfe502363fcc4c3817d")
- depends_on('libx11@1.4.3:')
+ depends_on("libx11@1.4.3:")
- depends_on('libxslt', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('intltool@0.30:', type='build')
- depends_on('xproto@7.0.20:')
+ depends_on("libxslt", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("intltool@0.30:", type="build")
+ depends_on("xproto@7.0.20:")
# TODO: missing dependencies
# xgettext
@@ -32,7 +32,7 @@ class XkeyboardConfig(AutotoolsPackage, XorgPackage):
# perl XML::Parser
def setup_dependent_build_environment(self, env, dependent_spec):
- env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb)
+ env.prepend_path("XKB_CONFIG_ROOT", self.prefix.share.X11.xkb)
def setup_dependent_run_environment(self, env, dependent_spec):
- env.prepend_path('XKB_CONFIG_ROOT', self.prefix.share.X11.xkb)
+ env.prepend_path("XKB_CONFIG_ROOT", self.prefix.share.X11.xkb)
diff --git a/var/spack/repos/builtin/packages/xkill/package.py b/var/spack/repos/builtin/packages/xkill/package.py
index 9d600671ab..2e311a90e1 100644
--- a/var/spack/repos/builtin/packages/xkill/package.py
+++ b/var/spack/repos/builtin/packages/xkill/package.py
@@ -14,11 +14,11 @@ class Xkill(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xkill"
xorg_mirror_path = "app/xkill-1.0.4.tar.gz"
- version('1.0.4', sha256='f80115f2dcca3d4b61f3c28188752c21ca7b2718b54b6e0274c0497a7f827da0')
+ version("1.0.4", sha256="f80115f2dcca3d4b61f3c28188752c21ca7b2718b54b6e0274c0497a7f827da0")
- depends_on('libx11')
- depends_on('libxmu')
+ depends_on("libx11")
+ depends_on("libxmu")
- depends_on('xproto@7.0.22:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.22:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xlc/package.py b/var/spack/repos/builtin/packages/xlc/package.py
index b672bd4578..59575bd991 100644
--- a/var/spack/repos/builtin/packages/xlc/package.py
+++ b/var/spack/repos/builtin/packages/xlc/package.py
@@ -19,25 +19,23 @@ class Xlc(Package):
homepage = "https://www.ibm.com/support/knowledgecenter/SSXVZZ_16.1.1/com.ibm.compilers.linux.doc/welcome.html"
- variant('r', default=True, description='The _r version of compilers')
+ variant("r", default=True, description="The _r version of compilers")
def install(self, spec, prefix):
raise InstallError(
- 'XL compilers are not installable yet, but can be '
- 'detected on a system where they are supplied by vendor'
+ "XL compilers are not installable yet, but can be "
+ "detected on a system where they are supplied by vendor"
)
- executables = [r'xlc', r'xlC', r'xlc\+\+']
+ executables = [r"xlc", r"xlC", r"xlc\+\+"]
@classmethod
def determine_version(cls, exe):
- version_regex = re.compile(r'([0-9]?[0-9]\.[0-9])')
+ version_regex = re.compile(r"([0-9]?[0-9]\.[0-9])")
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '-qversion'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "-qversion")
# Exclude spurious Fortran compilers
- if 'Fortran' in output:
+ if "Fortran" in output:
return None
match = version_regex.search(output)
@@ -53,31 +51,31 @@ class Xlc(Package):
variants = collections.defaultdict(dict)
for exe in exes:
# Determine the variant of the spec
- variant_str = '+r' if '_r' in exe else '~r'
- if 'xlc++' in exe:
- variants[variant_str]['cxx'] = exe
+ variant_str = "+r" if "_r" in exe else "~r"
+ if "xlc++" in exe:
+ variants[variant_str]["cxx"] = exe
continue
- if 'xlc' in exe:
- variants[variant_str]['c'] = exe
+ if "xlc" in exe:
+ variants[variant_str]["c"] = exe
continue
results = []
for variant_str, compilers in variants.items():
- results.append((variant_str, {'compilers': compilers}))
+ results.append((variant_str, {"compilers": compilers}))
return results
@property
def cc(self):
if self.spec.external:
- return self.spec.extra_attributes['compilers']['c']
+ return self.spec.extra_attributes["compilers"]["c"]
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
@property
def cxx(self):
if self.spec.external:
- return self.spec.extra_attributes['compilers']['cxx']
+ return self.spec.extra_attributes["compilers"]["cxx"]
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
diff --git a/var/spack/repos/builtin/packages/xlf/package.py b/var/spack/repos/builtin/packages/xlf/package.py
index 0624dadceb..5680e4ad53 100644
--- a/var/spack/repos/builtin/packages/xlf/package.py
+++ b/var/spack/repos/builtin/packages/xlf/package.py
@@ -20,23 +20,21 @@ class Xlf(Package):
homepage = "https://www.ibm.com/support/knowledgecenter/SSXVZZ_16.1.1/com.ibm.compilers.linux.doc/welcome.html"
- variant('r', default=True, description='The _r version of compilers')
+ variant("r", default=True, description="The _r version of compilers")
def install(self, spec, prefix):
raise InstallError(
- 'XL compilers are not installable yet, but can be '
- 'detected on a system where they are supplied by vendor'
+ "XL compilers are not installable yet, but can be "
+ "detected on a system where they are supplied by vendor"
)
- executables = [r'xlf']
+ executables = [r"xlf"]
@classmethod
def determine_version(cls, exe):
- version_regex = re.compile(r'([0-9]?[0-9]\.[0-9])')
+ version_regex = re.compile(r"([0-9]?[0-9]\.[0-9])")
try:
- output = spack.compiler.get_compiler_version_output(
- exe, '-qversion'
- )
+ output = spack.compiler.get_compiler_version_output(exe, "-qversion")
match = version_regex.search(output)
if match:
return match.group(1)
@@ -49,23 +47,23 @@ class Xlf(Package):
def determine_variants(cls, exes, version_str):
variants = collections.defaultdict(dict)
for exe in exes:
- if os.path.basename(exe) == 'xlf':
- variants['~r']['fortran'] = exe
+ if os.path.basename(exe) == "xlf":
+ variants["~r"]["fortran"] = exe
continue
- if os.path.basename(exe) == 'xlf_r':
- variants['+r']['fortran'] = exe
+ if os.path.basename(exe) == "xlf_r":
+ variants["+r"]["fortran"] = exe
continue
results = []
for variant_str, compilers in variants.items():
- results.append((variant_str, {'compilers': compilers}))
+ results.append((variant_str, {"compilers": compilers}))
return results
@property
def fortran(self):
if self.spec.external:
- return self.spec.extra_attributes['compilers']['fortran']
+ return self.spec.extra_attributes["compilers"]["fortran"]
msg = "cannot retrieve C compiler [spec is not concrete]"
assert self.spec.concrete, msg
diff --git a/var/spack/repos/builtin/packages/xload/package.py b/var/spack/repos/builtin/packages/xload/package.py
index f4f7304020..85f362df9c 100644
--- a/var/spack/repos/builtin/packages/xload/package.py
+++ b/var/spack/repos/builtin/packages/xload/package.py
@@ -13,17 +13,17 @@ class Xload(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xload"
xorg_mirror_path = "app/xload-1.1.3.tar.gz"
- version('1.1.3', sha256='9952e841d25ab2fd0ce5e27ba91858331c3f97575d726481772d4deb89432483')
- version('1.1.2', sha256='4863ad339d22c41a0ca030dc5886404f5ae8b8c47cd5e09f0e36407edbdbe769')
+ version("1.1.3", sha256="9952e841d25ab2fd0ce5e27ba91858331c3f97575d726481772d4deb89432483")
+ version("1.1.2", sha256="4863ad339d22c41a0ca030dc5886404f5ae8b8c47cd5e09f0e36407edbdbe769")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def configure_args(self):
- return ['ac_cv_search_gettext=no']
+ return ["ac_cv_search_gettext=no"]
diff --git a/var/spack/repos/builtin/packages/xlogo/package.py b/var/spack/repos/builtin/packages/xlogo/package.py
index 197b4cb662..1f5f7f768c 100644
--- a/var/spack/repos/builtin/packages/xlogo/package.py
+++ b/var/spack/repos/builtin/packages/xlogo/package.py
@@ -12,17 +12,17 @@ class Xlogo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xlogo"
xorg_mirror_path = "app/xlogo-1.0.4.tar.gz"
- version('1.0.4', sha256='0072eb3b41af77d5edfafb12998c7dd875f2795dc94735a998fd2ed8fc246e57')
+ version("1.0.4", sha256="0072eb3b41af77d5edfafb12998c7dd875f2795dc94735a998fd2ed8fc246e57")
- depends_on('libsm')
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt@1.0:')
- depends_on('libxext')
- depends_on('libx11')
- depends_on('libxft')
- depends_on('libxrender')
- depends_on('libxt')
+ depends_on("libsm")
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt@1.0:")
+ depends_on("libxext")
+ depends_on("libx11")
+ depends_on("libxft")
+ depends_on("libxrender")
+ depends_on("libxt")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xlsatoms/package.py b/var/spack/repos/builtin/packages/xlsatoms/package.py
index 84cb6afde9..2276bf6688 100644
--- a/var/spack/repos/builtin/packages/xlsatoms/package.py
+++ b/var/spack/repos/builtin/packages/xlsatoms/package.py
@@ -12,10 +12,10 @@ class Xlsatoms(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xlsatoms"
xorg_mirror_path = "app/xlsatoms-1.1.2.tar.gz"
- version('1.1.2', sha256='5400e22211795e40c4c4d28a048250f92bfb8c373004f0e654a2ad3138c2b36d')
+ version("1.1.2", sha256="5400e22211795e40c4c4d28a048250f92bfb8c373004f0e654a2ad3138c2b36d")
- depends_on('libxcb', when='@1.1:')
- depends_on('libx11', when='@:1.0')
+ depends_on("libxcb", when="@1.1:")
+ depends_on("libx11", when="@:1.0")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xlsclients/package.py b/var/spack/repos/builtin/packages/xlsclients/package.py
index 7d0cfe987b..60ccafdfb9 100644
--- a/var/spack/repos/builtin/packages/xlsclients/package.py
+++ b/var/spack/repos/builtin/packages/xlsclients/package.py
@@ -13,10 +13,10 @@ class Xlsclients(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xlsclients"
xorg_mirror_path = "app/xlsclients-1.1.3.tar.gz"
- version('1.1.3', sha256='4670a4003aae01e9172efb969246c3d8f33481f290aa8726ff50398c838e6994')
+ version("1.1.3", sha256="4670a4003aae01e9172efb969246c3d8f33481f290aa8726ff50398c838e6994")
- depends_on('libxcb@1.6:', when='@1.1:')
- depends_on('libx11', when='@:1.0')
+ depends_on("libxcb@1.6:", when="@1.1:")
+ depends_on("libx11", when="@:1.0")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xlsfonts/package.py b/var/spack/repos/builtin/packages/xlsfonts/package.py
index 83d60b22be..58d4dbd04b 100644
--- a/var/spack/repos/builtin/packages/xlsfonts/package.py
+++ b/var/spack/repos/builtin/packages/xlsfonts/package.py
@@ -13,10 +13,10 @@ class Xlsfonts(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xlsfonts"
xorg_mirror_path = "app/xlsfonts-1.0.5.tar.gz"
- version('1.0.5', sha256='2a7aeca1023a3918ad2a1af2258ed63d8f8b6c48e53841b3a3f15fb9a0c008ce')
+ version("1.0.5", sha256="2a7aeca1023a3918ad2a1af2258ed63d8f8b6c48e53841b3a3f15fb9a0c008ce")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xmag/package.py b/var/spack/repos/builtin/packages/xmag/package.py
index 94fefc71ec..ba89898c76 100644
--- a/var/spack/repos/builtin/packages/xmag/package.py
+++ b/var/spack/repos/builtin/packages/xmag/package.py
@@ -12,12 +12,12 @@ class Xmag(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xmag"
xorg_mirror_path = "app/xmag-1.0.6.tar.gz"
- version('1.0.6', sha256='07c5ec9114376dcd9a3303a38779e79b949d486f3b832d4a438550357d797aa5')
+ version("1.0.6", sha256="07c5ec9114376dcd9a3303a38779e79b949d486f3b832d4a438550357d797aa5")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xman/package.py b/var/spack/repos/builtin/packages/xman/package.py
index 64403f41ba..1651bc02bb 100644
--- a/var/spack/repos/builtin/packages/xman/package.py
+++ b/var/spack/repos/builtin/packages/xman/package.py
@@ -13,11 +13,11 @@ class Xman(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xman"
xorg_mirror_path = "app/xman-1.1.4.tar.gz"
- version('1.1.4', sha256='72fd0d479624a31d9a7330e5fdd220b7aa144744781f8e78aa12deece86e05c7')
+ version("1.1.4", sha256="72fd0d479624a31d9a7330e5fdd220b7aa144744781f8e78aa12deece86e05c7")
- depends_on('libxaw')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxt")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xmessage/package.py b/var/spack/repos/builtin/packages/xmessage/package.py
index dfda452837..2f50051219 100644
--- a/var/spack/repos/builtin/packages/xmessage/package.py
+++ b/var/spack/repos/builtin/packages/xmessage/package.py
@@ -14,10 +14,10 @@ class Xmessage(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xmessage"
xorg_mirror_path = "app/xmessage-1.0.4.tar.gz"
- version('1.0.4', sha256='883099c3952c8cace5bd11d3df2e9ca143fc07375997435d5ff4f2d50353acca')
+ version("1.0.4", sha256="883099c3952c8cace5bd11d3df2e9ca143fc07375997435d5ff4f2d50353acca")
- depends_on('libxaw')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxt")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xmh/package.py b/var/spack/repos/builtin/packages/xmh/package.py
index f3fbf9a93e..334e130331 100644
--- a/var/spack/repos/builtin/packages/xmh/package.py
+++ b/var/spack/repos/builtin/packages/xmh/package.py
@@ -14,13 +14,13 @@ class Xmh(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xmh"
xorg_mirror_path = "app/xmh-1.0.3.tar.gz"
- version('1.0.3', sha256='f90baf2615a4e1e01232c50cfd36ee4d50ad2fb2f76b8b5831fb796661f194d2')
+ version("1.0.3", sha256="f90baf2615a4e1e01232c50cfd36ee4d50ad2fb2f76b8b5831fb796661f194d2")
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
- depends_on('xbitmaps@1.1.0:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xbitmaps@1.1.0:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xmlf90/package.py b/var/spack/repos/builtin/packages/xmlf90/package.py
index e84da4e938..b65c745709 100644
--- a/var/spack/repos/builtin/packages/xmlf90/package.py
+++ b/var/spack/repos/builtin/packages/xmlf90/package.py
@@ -11,32 +11,31 @@ class Xmlf90(AutotoolsPackage):
"""xmlf90 is a suite of libraries to handle XML in Fortran."""
homepage = "https://launchpad.net/xmlf90"
- url = "https://launchpad.net/xmlf90/trunk/1.5/+download/xmlf90-1.5.4.tar.gz"
+ url = "https://launchpad.net/xmlf90/trunk/1.5/+download/xmlf90-1.5.4.tar.gz"
- version('1.5.4', sha256='a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4')
- version('1.5.3', sha256='a5378a5d9df4b617f51382092999eb0f20fa1a90ab49afbccfd80aa51650d27c')
- version('1.5.2', sha256='666694db793828d1d1e9aea665f75c75ee21772693465a88b43e6370862abfa6')
+ version("1.5.4", sha256="a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4")
+ version("1.5.3", sha256="a5378a5d9df4b617f51382092999eb0f20fa1a90ab49afbccfd80aa51650d27c")
+ version("1.5.2", sha256="666694db793828d1d1e9aea665f75c75ee21772693465a88b43e6370862abfa6")
- depends_on('autoconf@2.69:', type='build')
- depends_on('automake@1.14:', type='build')
- depends_on('libtool@2.4.2:', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf@2.69:", type="build")
+ depends_on("automake@1.14:", type="build")
+ depends_on("libtool@2.4.2:", type="build")
+ depends_on("m4", type="build")
def url_for_version(self, version):
- url = 'https://launchpad.net/xmlf90/trunk/{0}/+download/xmlf90-{1}.tar.gz'
+ url = "https://launchpad.net/xmlf90/trunk/{0}/+download/xmlf90-{1}.tar.gz"
return url.format(version.up_to(2), version)
- @when('@1.5.2')
+ @when("@1.5.2")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
- if self.spec.satisfies('%gcc'):
- return ['FCFLAGS=-ffree-line-length-none']
+ if self.spec.satisfies("%gcc"):
+ return ["FCFLAGS=-ffree-line-length-none"]
return []
- @run_after('install')
+ @run_after("install")
def fix_mk(self):
- install(join_path(self.prefix, 'share', 'org.siesta-project',
- 'xmlf90.mk'), prefix)
+ install(join_path(self.prefix, "share", "org.siesta-project", "xmlf90.mk"), prefix)
diff --git a/var/spack/repos/builtin/packages/xmlrpc-c/package.py b/var/spack/repos/builtin/packages/xmlrpc-c/package.py
index 07eca75692..822667b42c 100644
--- a/var/spack/repos/builtin/packages/xmlrpc-c/package.py
+++ b/var/spack/repos/builtin/packages/xmlrpc-c/package.py
@@ -11,11 +11,11 @@ class XmlrpcC(AutotoolsPackage):
C or C++."""
homepage = "https://sourceforge.net/projects/xmlrpc-c/"
- url = "https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.51.06/xmlrpc-c-1.51.06.tgz"
+ url = "https://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.51.06/xmlrpc-c-1.51.06.tgz"
- version('1.51.06', sha256='06dcd87d9c88374559369ffbe83b3139cf41418c1a2d03f20e08808085f89fd0')
+ version("1.51.06", sha256="06dcd87d9c88374559369ffbe83b3139cf41418c1a2d03f20e08808085f89fd0")
- @when('target=aarch64:')
+ @when("target=aarch64:")
def configure_args(self):
- args = ['--build=arm-linux']
+ args = ["--build=arm-linux"]
return args
diff --git a/var/spack/repos/builtin/packages/xmlto/package.py b/var/spack/repos/builtin/packages/xmlto/package.py
index 0cc2012d8e..b46e942237 100644
--- a/var/spack/repos/builtin/packages/xmlto/package.py
+++ b/var/spack/repos/builtin/packages/xmlto/package.py
@@ -13,9 +13,9 @@ class Xmlto(AutotoolsPackage):
backends."""
homepage = "https://pagure.io/xmlto"
- url = "https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.gz"
+ url = "https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.gz"
- version('0.0.28', sha256='2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3')
+ version("0.0.28", sha256="2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51fd8aad3")
# FIXME: missing a lot of dependencies
- depends_on('libxslt')
+ depends_on("libxslt")
diff --git a/var/spack/repos/builtin/packages/xmodmap/package.py b/var/spack/repos/builtin/packages/xmodmap/package.py
index ad8dbb87dc..722d7efa85 100644
--- a/var/spack/repos/builtin/packages/xmodmap/package.py
+++ b/var/spack/repos/builtin/packages/xmodmap/package.py
@@ -16,10 +16,10 @@ class Xmodmap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xmodmap"
xorg_mirror_path = "app/xmodmap-1.0.9.tar.gz"
- version('1.0.9', sha256='73427a996f0fcda2a2c7ac96cfc4edd5985aeb13b48053f55ae7f63a668fadef')
+ version("1.0.9", sha256="73427a996f0fcda2a2c7ac96cfc4edd5985aeb13b48053f55ae7f63a668fadef")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xmore/package.py b/var/spack/repos/builtin/packages/xmore/package.py
index b9de4c2285..41fbe5f6f2 100644
--- a/var/spack/repos/builtin/packages/xmore/package.py
+++ b/var/spack/repos/builtin/packages/xmore/package.py
@@ -12,10 +12,10 @@ class Xmore(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xmore"
xorg_mirror_path = "app/xmore-1.0.2.tar.gz"
- version('1.0.2', sha256='7371631d05986f1111f2026a77e43e048519738cfcc493c6222b66e7b0f309c0')
+ version("1.0.2", sha256="7371631d05986f1111f2026a77e43e048519738cfcc493c6222b66e7b0f309c0")
- depends_on('libxaw')
- depends_on('libxt')
+ depends_on("libxaw")
+ depends_on("libxt")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xnnpack/package.py b/var/spack/repos/builtin/packages/xnnpack/package.py
index 74194ad53c..63bcfa3697 100644
--- a/var/spack/repos/builtin/packages/xnnpack/package.py
+++ b/var/spack/repos/builtin/packages/xnnpack/package.py
@@ -11,98 +11,99 @@ class Xnnpack(CMakePackage):
mobile, server, and Web"""
homepage = "https://github.com/google/XNNPACK"
- git = "https://github.com/google/XNNPACK.git"
+ git = "https://github.com/google/XNNPACK.git"
- version('master', branch='master')
- version('2022-02-16', commit='ae108ef49aa5623b896fc93d4298c49d1750d9ba') # py-torch@1.12
- version('2021-06-21', commit='79cd5f9e18ad0925ac9a050b00ea5a36230072db') # py-torch@1.10:1.11
- version('2021-02-22', commit='55d53a4e7079d38e90acd75dd9e4f9e781d2da35') # py-torch@1.8:1.9
- version('2020-03-23', commit='1b354636b5942826547055252f3b359b54acff95') # py-torch@1.6:1.7
- version('2020-02-24', commit='7493bfb9d412e59529bcbced6a902d44cfa8ea1c') # py-torch@1.5
+ version("master", branch="master")
+ version("2022-02-16", commit="ae108ef49aa5623b896fc93d4298c49d1750d9ba") # py-torch@1.12
+ version("2021-06-21", commit="79cd5f9e18ad0925ac9a050b00ea5a36230072db") # py-torch@1.10:1.11
+ version("2021-02-22", commit="55d53a4e7079d38e90acd75dd9e4f9e781d2da35") # py-torch@1.8:1.9
+ version("2020-03-23", commit="1b354636b5942826547055252f3b359b54acff95") # py-torch@1.6:1.7
+ version("2020-02-24", commit="7493bfb9d412e59529bcbced6a902d44cfa8ea1c") # py-torch@1.5
- depends_on('cmake@3.5:', type='build')
- depends_on('ninja', type='build')
- depends_on('python', type='build')
+ depends_on("cmake@3.5:", type="build")
+ depends_on("ninja", type="build")
+ depends_on("python", type="build")
- generator = 'Ninja'
+ generator = "Ninja"
resource(
- name='clog',
- url='https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz',
- sha256='3f2dc1970f397a0e59db72f9fca6ff144b216895c1d606f6c94a507c1e53a025',
- destination='deps',
- placement='clog',
+ name="clog",
+ url="https://github.com/pytorch/cpuinfo/archive/d5e37adf1406cf899d7d9ec1d317c47506ccb970.tar.gz",
+ sha256="3f2dc1970f397a0e59db72f9fca6ff144b216895c1d606f6c94a507c1e53a025",
+ destination="deps",
+ placement="clog",
)
resource(
- name='cpuinfo',
- url='https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip',
- sha256='2a160c527d3c58085ce260f34f9e2b161adc009b34186a2baf24e74376e89e6d',
- destination='deps',
- placement='cpuinfo',
+ name="cpuinfo",
+ url="https://github.com/pytorch/cpuinfo/archive/5916273f79a21551890fd3d56fc5375a78d1598d.zip",
+ sha256="2a160c527d3c58085ce260f34f9e2b161adc009b34186a2baf24e74376e89e6d",
+ destination="deps",
+ placement="cpuinfo",
)
resource(
- name='fp16',
- url='https://github.com/Maratyszcza/FP16/archive/3c54eacb74f6f5e39077300c5564156c424d77ba.zip',
- sha256='0d56bb92f649ec294dbccb13e04865e3c82933b6f6735d1d7145de45da700156',
- destination='deps',
- placement='fp16',
+ name="fp16",
+ url="https://github.com/Maratyszcza/FP16/archive/3c54eacb74f6f5e39077300c5564156c424d77ba.zip",
+ sha256="0d56bb92f649ec294dbccb13e04865e3c82933b6f6735d1d7145de45da700156",
+ destination="deps",
+ placement="fp16",
)
resource(
- name='fxdiv',
- url='https://github.com/Maratyszcza/FXdiv/archive/b408327ac2a15ec3e43352421954f5b1967701d1.zip',
- sha256='ab7dfb08829bee33dca38405d647868fb214ac685e379ec7ef2bebcd234cd44d',
- destination='deps',
- placement='fxdiv',
+ name="fxdiv",
+ url="https://github.com/Maratyszcza/FXdiv/archive/b408327ac2a15ec3e43352421954f5b1967701d1.zip",
+ sha256="ab7dfb08829bee33dca38405d647868fb214ac685e379ec7ef2bebcd234cd44d",
+ destination="deps",
+ placement="fxdiv",
)
resource(
- name='pthreadpool',
- url='https://github.com/Maratyszcza/pthreadpool/archive/545ebe9f225aec6dca49109516fac02e973a3de2.zip',
- sha256='8461f6540ae9f777ce20d1c0d1d249e5e61c438744fb390c0c6f91940aa69ea3',
- destination='deps',
- placement='pthreadpool',
+ name="pthreadpool",
+ url="https://github.com/Maratyszcza/pthreadpool/archive/545ebe9f225aec6dca49109516fac02e973a3de2.zip",
+ sha256="8461f6540ae9f777ce20d1c0d1d249e5e61c438744fb390c0c6f91940aa69ea3",
+ destination="deps",
+ placement="pthreadpool",
)
resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/5a509dbd2e5a6c694116e329c5a20dc190653724.zip',
- sha256='fcfac631041fce253eba4fc014c28fd620e33e3758f64f8ed5487cc3e1840e3d',
- destination='deps',
- placement='googletest',
+ name="googletest",
+ url="https://github.com/google/googletest/archive/5a509dbd2e5a6c694116e329c5a20dc190653724.zip",
+ sha256="fcfac631041fce253eba4fc014c28fd620e33e3758f64f8ed5487cc3e1840e3d",
+ destination="deps",
+ placement="googletest",
)
resource(
- name='googlebenchmark',
- url='https://github.com/google/benchmark/archive/v1.4.1.zip',
- sha256='61ae07eb5d4a0b02753419eb17a82b7d322786bb36ab62bd3df331a4d47c00a7',
- destination='deps',
- placement='googlebenchmark',
+ name="googlebenchmark",
+ url="https://github.com/google/benchmark/archive/v1.4.1.zip",
+ sha256="61ae07eb5d4a0b02753419eb17a82b7d322786bb36ab62bd3df331a4d47c00a7",
+ destination="deps",
+ placement="googlebenchmark",
)
resource(
- name='psimd',
- git='https://github.com/Maratyszcza/psimd.git',
- branch='master',
- destination='deps',
- placement='psimd',
+ name="psimd",
+ git="https://github.com/Maratyszcza/psimd.git",
+ branch="master",
+ destination="deps",
+ placement="psimd",
)
def cmake_args(self):
# TODO: XNNPACK has a XNNPACK_USE_SYSTEM_LIBS option, but it seems to be broken
# See https://github.com/google/XNNPACK/issues/1543
return [
- self.define('CLOG_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'clog')),
- self.define('CPUINFO_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'cpuinfo')),
- self.define('FP16_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fp16')),
- self.define('FXDIV_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'fxdiv')),
- self.define('PTHREADPOOL_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'pthreadpool')),
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
- self.define('PSIMD_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'psimd')),
- self.define('XNNPACK_BUILD_TESTS', self.run_tests),
- self.define('XNNPACK_BUILD_BENCHMARKS', self.run_tests),
+ self.define("CLOG_SOURCE_DIR", join_path(self.stage.source_path, "deps", "clog")),
+ self.define(
+ "CPUINFO_SOURCE_DIR", join_path(self.stage.source_path, "deps", "cpuinfo")
+ ),
+ self.define("FP16_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fp16")),
+ self.define("FXDIV_SOURCE_DIR", join_path(self.stage.source_path, "deps", "fxdiv")),
+ self.define(
+ "PTHREADPOOL_SOURCE_DIR", join_path(self.stage.source_path, "deps", "pthreadpool")
+ ),
+ self.define(
+ "GOOGLETEST_SOURCE_DIR", join_path(self.stage.source_path, "deps", "googletest")
+ ),
+ self.define(
+ "GOOGLEBENCHMARK_SOURCE_DIR",
+ join_path(self.stage.source_path, "deps", "googlebenchmark"),
+ ),
+ self.define("PSIMD_SOURCE_DIR", join_path(self.stage.source_path, "deps", "psimd")),
+ self.define("XNNPACK_BUILD_TESTS", self.run_tests),
+ self.define("XNNPACK_BUILD_BENCHMARKS", self.run_tests),
]
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 378fe5cf2f..1e9d02d05c 100644
--- a/var/spack/repos/builtin/packages/xorg-cf-files/package.py
+++ b/var/spack/repos/builtin/packages/xorg-cf-files/package.py
@@ -15,6 +15,6 @@ class XorgCfFiles(AutotoolsPackage, XorgPackage):
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')
+ version("1.0.6", sha256="6d56094e5d1a6c7d7a9576ac3a0fc2c042344509ea900d59f4b23df668b96c7a")
- depends_on('pkgconfig', type='build')
+ depends_on("pkgconfig", type="build")
diff --git a/var/spack/repos/builtin/packages/xorg-docs/package.py b/var/spack/repos/builtin/packages/xorg-docs/package.py
index 060829bf2a..d2a935a8bc 100644
--- a/var/spack/repos/builtin/packages/xorg-docs/package.py
+++ b/var/spack/repos/builtin/packages/xorg-docs/package.py
@@ -15,9 +15,9 @@ class XorgDocs(AutotoolsPackage, XorgPackage):
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')
+ version("1.7.1", sha256="360707db2ba48f6deeb53d570deca9fa98218af48ead4a726a67f63e3ef63816")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
- depends_on('xorg-sgml-doctools@1.8:', type='build')
- depends_on('xmlto', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
+ depends_on("xorg-sgml-doctools@1.8:", type="build")
+ depends_on("xmlto", type="build")
diff --git a/var/spack/repos/builtin/packages/xorg-gtest/package.py b/var/spack/repos/builtin/packages/xorg-gtest/package.py
index ac0b32adb0..b907656338 100644
--- a/var/spack/repos/builtin/packages/xorg-gtest/package.py
+++ b/var/spack/repos/builtin/packages/xorg-gtest/package.py
@@ -13,14 +13,14 @@ class XorgGtest(AutotoolsPackage, XorgPackage):
homepage = "https://people.freedesktop.org/~cndougla/xorg-gtest/"
xorg_mirror_path = "test/xorg-gtest-0.7.1.tar.bz2"
- version('0.7.1', sha256='6cedc7904c698472783203bd686e777db120b808bb4052e451a822e437b72682')
+ version("0.7.1", sha256="6cedc7904c698472783203bd686e777db120b808bb4052e451a822e437b72682")
- depends_on('libx11')
- depends_on('libxi')
- depends_on('xorg-server')
+ depends_on("libx11")
+ depends_on("libxi")
+ depends_on("xorg-server")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
# TODO: may be missing evemu package?
# TODO: what is the difference between xorg-gtest and googletest packages?
diff --git a/var/spack/repos/builtin/packages/xorg-server/package.py b/var/spack/repos/builtin/packages/xorg-server/package.py
index bfafd38968..60367ca896 100644
--- a/var/spack/repos/builtin/packages/xorg-server/package.py
+++ b/var/spack/repos/builtin/packages/xorg-server/package.py
@@ -13,47 +13,49 @@ class XorgServer(AutotoolsPackage, XorgPackage):
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')
-
- depends_on('pixman@0.27.2:')
- depends_on('font-util')
- depends_on('libxshmfence@1.1:')
- depends_on('libdrm@2.3.0:')
- depends_on('libx11')
-
- depends_on('dri2proto@2.8:')
- depends_on('dri3proto@1.0:')
- depends_on('glproto@1.4.17:')
-
- depends_on('flex', type='build')
- depends_on('bison', type='build')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
- depends_on('fixesproto@5.0:')
- depends_on('damageproto@1.1:')
- depends_on('xcmiscproto@1.2.0:')
- depends_on('xtrans@1.3.5:')
- depends_on('bigreqsproto@1.1.0:')
- depends_on('xproto@7.0.28:')
- depends_on('randrproto@1.5.0:')
- depends_on('renderproto@0.11:')
- depends_on('xextproto@7.2.99.901:')
- depends_on('inputproto@2.3:')
- depends_on('kbproto@1.0.3:')
- depends_on('fontsproto@2.1.3:')
- depends_on('pixman@0.27.2:')
- depends_on('videoproto')
- depends_on('compositeproto@0.4:')
- depends_on('recordproto@1.13.99.1:')
- depends_on('scrnsaverproto@1.1:')
- depends_on('resourceproto@1.2.0:')
- depends_on('xf86driproto@2.1.0:')
- depends_on('glproto@1.4.17:')
- depends_on('presentproto@1.0:')
- depends_on('xineramaproto')
- depends_on('libxkbfile')
- depends_on('libxfont2')
- depends_on('libxext')
- depends_on('libxdamage')
- depends_on('libxfixes')
- depends_on('libepoxy')
+ version(
+ "1.18.99.901", sha256="c8425163b588de2ee7e5c8e65b0749f2710f55a7e02a8d1dc83b3630868ceb21"
+ )
+
+ depends_on("pixman@0.27.2:")
+ depends_on("font-util")
+ depends_on("libxshmfence@1.1:")
+ depends_on("libdrm@2.3.0:")
+ depends_on("libx11")
+
+ depends_on("dri2proto@2.8:")
+ depends_on("dri3proto@1.0:")
+ depends_on("glproto@1.4.17:")
+
+ depends_on("flex", type="build")
+ depends_on("bison", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
+ depends_on("fixesproto@5.0:")
+ depends_on("damageproto@1.1:")
+ depends_on("xcmiscproto@1.2.0:")
+ depends_on("xtrans@1.3.5:")
+ depends_on("bigreqsproto@1.1.0:")
+ depends_on("xproto@7.0.28:")
+ depends_on("randrproto@1.5.0:")
+ depends_on("renderproto@0.11:")
+ depends_on("xextproto@7.2.99.901:")
+ depends_on("inputproto@2.3:")
+ depends_on("kbproto@1.0.3:")
+ depends_on("fontsproto@2.1.3:")
+ depends_on("pixman@0.27.2:")
+ depends_on("videoproto")
+ depends_on("compositeproto@0.4:")
+ depends_on("recordproto@1.13.99.1:")
+ depends_on("scrnsaverproto@1.1:")
+ depends_on("resourceproto@1.2.0:")
+ depends_on("xf86driproto@2.1.0:")
+ depends_on("glproto@1.4.17:")
+ depends_on("presentproto@1.0:")
+ depends_on("xineramaproto")
+ depends_on("libxkbfile")
+ depends_on("libxfont2")
+ depends_on("libxext")
+ depends_on("libxdamage")
+ depends_on("libxfixes")
+ depends_on("libepoxy")
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 efd17b3aba..ba9d5ffd3a 100644
--- a/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py
+++ b/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py
@@ -14,7 +14,7 @@ class XorgSgmlDoctools(AutotoolsPackage, XorgPackage):
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')
+ version("1.11", sha256="986326d7b4dd2ad298f61d8d41fe3929ac6191c6000d6d7e47a8ffc0c34e7426")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xphelloworld/package.py b/var/spack/repos/builtin/packages/xphelloworld/package.py
index 3e7b4d59a4..c862e9f379 100644
--- a/var/spack/repos/builtin/packages/xphelloworld/package.py
+++ b/var/spack/repos/builtin/packages/xphelloworld/package.py
@@ -12,18 +12,18 @@ class Xphelloworld(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xphelloworld"
xorg_mirror_path = "app/xphelloworld-1.0.1.tar.gz"
- version('1.0.1', sha256='ead6437c4dc9540698a41e174c9d1ac792de07baeead81935d72cb123196f866')
+ version("1.0.1", sha256="ead6437c4dc9540698a41e174c9d1ac792de07baeead81935d72cb123196f866")
- depends_on('libx11')
- depends_on('libxaw')
- depends_on('libxprintapputil')
- depends_on('libxprintutil')
- depends_on('libxp')
- depends_on('libxt')
+ depends_on("libx11")
+ depends_on("libxaw")
+ depends_on("libxprintapputil")
+ depends_on("libxprintutil")
+ depends_on("libxp")
+ depends_on("libxt")
# FIXME: xphelloworld requires libxaw8, but libxaw only provides 6 and 7.
# It looks like xprint support was removed from libxaw at some point.
# But even the oldest version of libxaw doesn't build libxaw8.
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xplor-nih/package.py b/var/spack/repos/builtin/packages/xplor-nih/package.py
index bbbc122efb..689e44ad54 100644
--- a/var/spack/repos/builtin/packages/xplor-nih/package.py
+++ b/var/spack/repos/builtin/packages/xplor-nih/package.py
@@ -11,18 +11,18 @@ from spack.package import *
class XplorNih(Package):
"""XPLOR-NIH is a structure determination program.
- Note: A manual download is required for XPLOR-NIH.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
- For instructions on how to set up a mirror, see
- https://spack.readthedocs.io/en/latest/mirrors.html"""
+ Note: A manual download is required for XPLOR-NIH.
+ Spack will search your current directory for the download file.
+ Alternatively, add this file to a mirror so that Spack can find it.
+ For instructions on how to set up a mirror, see
+ https://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "https://nmr.cit.nih.gov/xplor-nih/"
manual_download = True
- version('2.45', 'ab3e046604beb0effc89a1adb7bab438')
+ version("2.45", "ab3e046604beb0effc89a1adb7bab438")
- depends_on('python', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
def url_for_version(self, version):
return "file://{0}/xplor-nih-{1}-Linux_x86_64.tar.gz".format(os.getcwd(), version)
diff --git a/var/spack/repos/builtin/packages/xplsprinters/package.py b/var/spack/repos/builtin/packages/xplsprinters/package.py
index 600fb2ecb4..82149354b6 100644
--- a/var/spack/repos/builtin/packages/xplsprinters/package.py
+++ b/var/spack/repos/builtin/packages/xplsprinters/package.py
@@ -12,11 +12,11 @@ class Xplsprinters(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xplsprinters"
xorg_mirror_path = "app/xplsprinters-1.0.1.tar.gz"
- version('1.0.1', sha256='33377e499429ce3e100fbd7b59153c87ad79bf55872561db08419f69cac4fbfd')
+ version("1.0.1", sha256="33377e499429ce3e100fbd7b59153c87ad79bf55872561db08419f69cac4fbfd")
- depends_on('libxp')
- depends_on('libxprintutil')
- depends_on('libx11')
+ depends_on("libxp")
+ depends_on("libxprintutil")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xpmem/package.py b/var/spack/repos/builtin/packages/xpmem/package.py
index 311938fb62..0a47a65e6c 100644
--- a/var/spack/repos/builtin/packages/xpmem/package.py
+++ b/var/spack/repos/builtin/packages/xpmem/package.py
@@ -18,85 +18,96 @@ class Xpmem(AutotoolsPackage):
url = "https://github.com/hjelmn/xpmem/archive/v2.6.3.tar.gz"
git = "https://github.com/hjelmn/xpmem.git"
- maintainers = ['skosukhin']
+ maintainers = ["skosukhin"]
- version('master', branch='master')
+ version("master", branch="master")
# Versions starting 2.6.4 are neither tagged nor released in the repo
# (the choice of commits is based on the commit history of
# 'kernel/xpmem_private.h'):
- version('2.6.5-36', commit='0d0bad4e1d07b38d53ecc8f20786bb1328c446da')
- version('2.6.5', commit='4efeed9cbaabe971f3766d67cb108e2c3316d4b8')
- version('2.6.4', commit='522054850e4d1479d69f50f7190d1548bf9749fd')
+ version("2.6.5-36", commit="0d0bad4e1d07b38d53ecc8f20786bb1328c446da")
+ version("2.6.5", commit="4efeed9cbaabe971f3766d67cb108e2c3316d4b8")
+ version("2.6.4", commit="522054850e4d1479d69f50f7190d1548bf9749fd")
# Released versions:
- version('2.6.3', sha256='ee239a32269f33234cdbdb94db29c12287862934c0784328d34aff82a9fa8b54')
- version('2.6.2', sha256='2c1a93b4cb20ed73c2093435a7afec513e0e797aa1e49d4d964cc6bdae89d65b')
+ version("2.6.3", sha256="ee239a32269f33234cdbdb94db29c12287862934c0784328d34aff82a9fa8b54")
+ version("2.6.2", sha256="2c1a93b4cb20ed73c2093435a7afec513e0e797aa1e49d4d964cc6bdae89d65b")
- variant('kernel-module', default=True,
- description='Enable building the kernel module')
+ variant("kernel-module", default=True, description="Enable building the kernel module")
# Added RHEL 8.3 kernel support
# Here 2.6.5-36 referes to 2.6.5 version and 36th commit id
- patch('xpmem_v2.6.5-36.patch', when="@2.6.5-36", level=1)
- patch('https://github.com/hjelmn/xpmem/commit/cbd6e5bd3d2a1d3823c335ddcd3c57b94474f578.patch?full_index=1',
- sha256='75299398b6c15546479bfbb8aa972431f58637fe2f0328196a26738bd7148140',
- when="@2.6.5-36", level=1)
- patch('https://github.com/hjelmn/xpmem/commit/7d346aaf1fdfc24d38cebb4ad107b7f5c43769e9.patch?full_index=1',
- sha256='6be8c5f33d55c611924d8412253740f6f4b738e6d98e32981fa300d2ccbe99cc',
- when="@2.6.5-36", level=1)
-
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ patch("xpmem_v2.6.5-36.patch", when="@2.6.5-36", level=1)
+ patch(
+ "https://github.com/hjelmn/xpmem/commit/cbd6e5bd3d2a1d3823c335ddcd3c57b94474f578.patch?full_index=1",
+ sha256="75299398b6c15546479bfbb8aa972431f58637fe2f0328196a26738bd7148140",
+ when="@2.6.5-36",
+ level=1,
+ )
+ patch(
+ "https://github.com/hjelmn/xpmem/commit/7d346aaf1fdfc24d38cebb4ad107b7f5c43769e9.patch?full_index=1",
+ sha256="6be8c5f33d55c611924d8412253740f6f4b738e6d98e32981fa300d2ccbe99cc",
+ when="@2.6.5-36",
+ level=1,
+ )
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
# It will become possible to disable the kernel module only starting 2.6.6:
# https://github.com/hjelmn/xpmem/pull/24
- conflicts('~kernel-module', when='@:2.6.5')
+ conflicts("~kernel-module", when="@:2.6.5")
# Ideally, we should list all non-Linux-based platforms here:
- conflicts('+kernel-module', when='platform=darwin')
+ conflicts("+kernel-module", when="platform=darwin")
# All compilers except for gcc are in conflict with +kernel-module:
for __compiler in spack.compilers.supported_compilers():
- if __compiler != 'gcc':
- conflicts('+kernel-module',
- when='%{0}'.format(__compiler),
- msg='Linux kernel module must be compiled with gcc')
+ if __compiler != "gcc":
+ conflicts(
+ "+kernel-module",
+ when="%{0}".format(__compiler),
+ msg="Linux kernel module must be compiled with gcc",
+ )
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')()
+ Executable("./autogen.sh")()
- @run_before('build')
+ @run_before("build")
def override_kernel_compiler(self):
# Override the compiler for kernel module source files. We need
# this additional argument for all installation phases.
- if '+kernel-module' in self.spec:
- make.add_default_arg('CC={0}'.format(spack_cc))
+ if "+kernel-module" in self.spec:
+ make.add_default_arg("CC={0}".format(spack_cc))
def configure_args(self):
args = []
- if '~kernel-module' in self.spec:
+ if "~kernel-module" in self.spec:
# The kernel module is enabled by default. An attempt of explicit
# enabling with '--enable-kernel-module' disables the module.
- args.extend('--disable-kernel-module')
+ args.extend("--disable-kernel-module")
- if self.spec.satisfies('@:2.6.5'):
+ if self.spec.satisfies("@:2.6.5"):
fmt = self.spec.format
# The following arguments will not be needed starting 2.6.6:
# https://github.com/hjelmn/xpmem/pull/18
- args.extend([
- fmt('--with-default-prefix={prefix}'),
- fmt('--with-module={prefix.share}/Modules/{name}/{version}')])
+ args.extend(
+ [
+ fmt("--with-default-prefix={prefix}"),
+ fmt("--with-module={prefix.share}/Modules/{name}/{version}"),
+ ]
+ )
return args
- @when('@:2.6.5')
+ @when("@:2.6.5")
def install(self, spec, prefix):
with working_dir(self.build_directory):
# Override the hardcoded prefix for 'cray-xpmem.conf'
- make('ldsoconfdir={0}'.format(
- self.spec.prefix.etc.join('ld.so.conf.d')),
- *self.install_targets)
+ make(
+ "ldsoconfdir={0}".format(self.spec.prefix.etc.join("ld.so.conf.d")),
+ *self.install_targets
+ )
diff --git a/var/spack/repos/builtin/packages/xpr/package.py b/var/spack/repos/builtin/packages/xpr/package.py
index 481bdc5b2b..c57f81e088 100644
--- a/var/spack/repos/builtin/packages/xpr/package.py
+++ b/var/spack/repos/builtin/packages/xpr/package.py
@@ -13,11 +13,11 @@ class Xpr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xpr"
xorg_mirror_path = "app/xpr-1.0.4.tar.gz"
- version('1.0.4', sha256='9ec355388ae363fd40239a3fa56908bb2f3e53b5bfc872cf0182d14d730c6207')
+ version("1.0.4", sha256="9ec355388ae363fd40239a3fa56908bb2f3e53b5bfc872cf0182d14d730c6207")
- depends_on('libxmu')
- depends_on('libx11')
+ depends_on("libxmu")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py
index 1e0b015891..d257d3b6c1 100644
--- a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py
+++ b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py
@@ -12,10 +12,10 @@ class Xprehashprinterlist(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xprehashprinterlist"
xorg_mirror_path = "app/xprehashprinterlist-1.0.1.tar.gz"
- version('1.0.1', sha256='396986da064b584138cfcff79a8aed12590a9dab24f1cd2d80b08bc1cb896a43')
+ version("1.0.1", sha256="396986da064b584138cfcff79a8aed12590a9dab24f1cd2d80b08bc1cb896a43")
- depends_on('libxp')
- depends_on('libx11')
+ depends_on("libxp")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xprop/package.py b/var/spack/repos/builtin/packages/xprop/package.py
index 835fde88e5..2592270f7e 100644
--- a/var/spack/repos/builtin/packages/xprop/package.py
+++ b/var/spack/repos/builtin/packages/xprop/package.py
@@ -13,10 +13,10 @@ class Xprop(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xprop"
xorg_mirror_path = "app/xprop-1.2.2.tar.gz"
- version('1.2.2', sha256='3db78771ce8fb8954fb242ed9d4030372523649c5e9c1a9420340020dd0afbc2')
+ version("1.2.2", sha256="3db78771ce8fb8954fb242ed9d4030372523649c5e9c1a9420340020dd0afbc2")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xproperty/package.py b/var/spack/repos/builtin/packages/xproperty/package.py
index d96235c5cf..ef55626dc8 100644
--- a/var/spack/repos/builtin/packages/xproperty/package.py
+++ b/var/spack/repos/builtin/packages/xproperty/package.py
@@ -10,16 +10,16 @@ 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"
+ url = "https://github.com/jupyter-xeus/xproperty/archive/0.11.0.tar.gz"
+ git = "https://github.com/jupyter-xeus/xproperty.git"
- maintainers = ['tomstitt']
+ maintainers = ["tomstitt"]
- version('master', branch='master')
- version('0.11.0', sha256='bf86a11c6758308aa0aa0f64d8dd24cd3e9d78378467b74002f552bfb75fc0eb')
+ version("master", branch="master")
+ version("0.11.0", sha256="bf86a11c6758308aa0aa0f64d8dd24cd3e9d78378467b74002f552bfb75fc0eb")
- depends_on('xtl@0.7.0:0.7', when='@0.11.0:')
+ depends_on("xtl@0.7.0:0.7", when="@0.11.0:")
# C++14 support
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.3')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.3")
diff --git a/var/spack/repos/builtin/packages/xproto/package.py b/var/spack/repos/builtin/packages/xproto/package.py
index 8b3a31729e..71e17b29a2 100644
--- a/var/spack/repos/builtin/packages/xproto/package.py
+++ b/var/spack/repos/builtin/packages/xproto/package.py
@@ -19,13 +19,13 @@ class Xproto(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/x11proto"
xorg_mirror_path = "proto/xproto-7.0.31.tar.gz"
- version('7.0.31', sha256='6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7')
- version('7.0.29', sha256='628243b3a0fa9b65eda804810ab7238cb88af92fe89efdbc858f25ee5e93a324')
+ version("7.0.31", sha256="6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7")
+ version("7.0.29", sha256="628243b3a0fa9b65eda804810ab7238cb88af92fe89efdbc858f25ee5e93a324")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
def install(self, spec, prefix):
# Installation fails in parallel
# See https://github.com/spack/spack/issues/4805
- make('install', parallel=False)
+ make("install", parallel=False)
diff --git a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py
index 374b3a1d2c..1a442aa222 100644
--- a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py
+++ b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py
@@ -14,4 +14,4 @@ class Xproxymanagementprotocol(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/proto/pmproto"
xorg_mirror_path = "proto/xproxymanagementprotocol-1.0.3.tar.gz"
- version('1.0.3', sha256='c1501045ec781f36b6f867611ab2b4e81be542f5c669b2fd0cc4ec1340c42bcf')
+ version("1.0.3", sha256="c1501045ec781f36b6f867611ab2b4e81be542f5c669b2fd0cc4ec1340c42bcf")
diff --git a/var/spack/repos/builtin/packages/xqilla/package.py b/var/spack/repos/builtin/packages/xqilla/package.py
index bfc7cb0fd8..932b60a554 100644
--- a/var/spack/repos/builtin/packages/xqilla/package.py
+++ b/var/spack/repos/builtin/packages/xqilla/package.py
@@ -13,29 +13,34 @@ class Xqilla(AutotoolsPackage, SourceforgePackage):
homepage = "http://xqilla.sourceforge.net/HomePage"
sourceforge_mirror_path = "xqilla/XQilla-2.3.3.tar.gz"
- version('2.3.3', sha256='8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6')
+ version("2.3.3", sha256="8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6")
- variant('debug', default=False, description='Build a debugging version.')
- variant('shared', default=True, description='Build shared libraries.')
+ variant("debug", default=False, description="Build a debugging version.")
+ variant("shared", default=True, description="Build shared libraries.")
# see https://sourceforge.net/p/xqilla/bugs/48/
- patch('https://src.fedoraproject.org/rpms/xqilla/raw/1f2f53305f429aa3db2ab078d9613fbc367b402d/f/0004-xerces-3.2.0-casts.patch', sha256='78997e098f041bf41def6fab436ea406b2dceaa15ae3ec8a8d2aa7ed356a0bb9', when='@:2.3.3')
- patch('https://src.fedoraproject.org/rpms/xqilla/raw/1f2f53305f429aa3db2ab078d9613fbc367b402d/f/0005-xqilla-gcc11.patch', sha256='52e5f03012fe9ae5b0f90d04eff042fb2082aa8f366a47d9e6be0d452de87b73', when='%gcc@11:')
-
- depends_on('xerces-c')
+ patch(
+ "https://src.fedoraproject.org/rpms/xqilla/raw/1f2f53305f429aa3db2ab078d9613fbc367b402d/f/0004-xerces-3.2.0-casts.patch",
+ sha256="78997e098f041bf41def6fab436ea406b2dceaa15ae3ec8a8d2aa7ed356a0bb9",
+ when="@:2.3.3",
+ )
+ patch(
+ "https://src.fedoraproject.org/rpms/xqilla/raw/1f2f53305f429aa3db2ab078d9613fbc367b402d/f/0005-xqilla-gcc11.patch",
+ sha256="52e5f03012fe9ae5b0f90d04eff042fb2082aa8f366a47d9e6be0d452de87b73",
+ when="%gcc@11:",
+ )
+
+ depends_on("xerces-c")
def configure_args(self):
- args = ['--with-xerces={0}'.format(self.spec['xerces-c'].prefix)]
+ args = ["--with-xerces={0}".format(self.spec["xerces-c"].prefix)]
- if '+shared' in self.spec:
- args.extend(['--enable-shared=yes',
- '--enable-static=no'])
+ if "+shared" in self.spec:
+ args.extend(["--enable-shared=yes", "--enable-static=no"])
else:
- args.extend(['--enable-shared=no',
- '--enable-static=yes',
- '--with-pic'])
+ args.extend(["--enable-shared=no", "--enable-static=yes", "--with-pic"])
- if '+debug' in self.spec:
- args.append('--enable-debug')
+ if "+debug" in self.spec:
+ args.append("--enable-debug")
return args
diff --git a/var/spack/repos/builtin/packages/xrandr/package.py b/var/spack/repos/builtin/packages/xrandr/package.py
index 940658633d..868ee58884 100644
--- a/var/spack/repos/builtin/packages/xrandr/package.py
+++ b/var/spack/repos/builtin/packages/xrandr/package.py
@@ -13,13 +13,13 @@ class Xrandr(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xrandr"
xorg_mirror_path = "app/xrandr-1.5.0.tar.gz"
- version('1.5.0', sha256='ddfe8e7866149c24ccce8e6aaa0623218ae19130c2859cadcaa4228d8bb4a46d')
+ version("1.5.0", sha256="ddfe8e7866149c24ccce8e6aaa0623218ae19130c2859cadcaa4228d8bb4a46d")
- depends_on('libxrandr@1.5:')
- depends_on('libxrender')
- depends_on('libx11')
- depends_on('randrproto')
+ depends_on("libxrandr@1.5:")
+ depends_on("libxrender")
+ depends_on("libx11")
+ depends_on("randrproto")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xrdb/package.py b/var/spack/repos/builtin/packages/xrdb/package.py
index beca8cff38..cc39ea49d8 100644
--- a/var/spack/repos/builtin/packages/xrdb/package.py
+++ b/var/spack/repos/builtin/packages/xrdb/package.py
@@ -12,11 +12,11 @@ class Xrdb(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xrdb"
xorg_mirror_path = "app/xrdb-1.1.0.tar.gz"
- version('1.1.0', sha256='44b0b6b7b7eb80b83486dfea67c880f6b0059052386c7ddec4d58fd2ad9ae8e9')
+ version("1.1.0", sha256="44b0b6b7b7eb80b83486dfea67c880f6b0059052386c7ddec4d58fd2ad9ae8e9")
- depends_on('libxmu')
- depends_on('libx11')
+ depends_on("libxmu")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xrefresh/package.py b/var/spack/repos/builtin/packages/xrefresh/package.py
index b58c777486..395df5741b 100644
--- a/var/spack/repos/builtin/packages/xrefresh/package.py
+++ b/var/spack/repos/builtin/packages/xrefresh/package.py
@@ -12,10 +12,10 @@ class Xrefresh(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xrefresh"
xorg_mirror_path = "app/xrefresh-1.0.5.tar.gz"
- version('1.0.5', sha256='b373cc1ecd37c3d787e7074ce89a8a06ea173d7ba9e73fa48de973c759fbcf38')
+ version("1.0.5", sha256="b373cc1ecd37c3d787e7074ce89a8a06ea173d7ba9e73fa48de973c759fbcf38")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py
index ab44c738eb..6d09fae06c 100644
--- a/var/spack/repos/builtin/packages/xrootd/package.py
+++ b/var/spack/repos/builtin/packages/xrootd/package.py
@@ -9,128 +9,122 @@ from spack.package import *
class Xrootd(CMakePackage):
"""The XROOTD project aims at giving high performance, scalable fault
- tolerant access to data repositories of many kinds."""
+ tolerant access to data repositories of many kinds."""
+
homepage = "http://xrootd.org"
- url = "http://xrootd.org/download/v5.3.1/xrootd-5.3.1.tar.gz"
- list_url = 'https://xrootd.slac.stanford.edu/dload.html'
-
- version('5.3.2', sha256='e8371fb9e86769bece74b9b9d67cb695023cd6a20a1199386fddd9ed840b0875')
- version('5.3.1', sha256='7ea3a112ae9d8915eb3a06616141e5a0ee366ce9a5e4d92407b846b37704ee98')
- version('5.1.0', sha256='c639536f1bdc5b6b365e807f3337ed2d41012cd3df608d40e91ed05f1c568b6d')
- version('5.0.3', sha256='be40a1897d6c1f153d3e23c39fe96e45063bfafc3cc073db88a1a9531db79ac5')
- version('5.0.1', sha256='ff4462b0b61db4cc01dda0e26abdd78e43649ee7ac5e90f7a05b74328ff5ac83')
- version('4.12.6', sha256='1a9056ab7aeeaafa586ea77e442960c71d233c9ba60c7f9db9262c1410954ac4')
- version('4.12.3', sha256='6f2ca1accc8d49d605706bb556777c753860bf46d845b1ee11393a5cb5987f15')
- version('4.12.2', sha256='29f7bc3ea51b9d5d310eabd177152245d4160223325933c67f938ed5120f67bb')
- version('4.12.1', sha256='7350d9196a26d17719b839fd242849e3995692fda25f242e67ac6ec907218d13')
- version('4.12.0', sha256='69ef4732256d9a88127de4bfdf96bbf73348e0c70ce1d756264871a0ffadd2fc')
- version('4.11.3', sha256='8e7a64fd55dfb452b6d5f76a9a97c493593943227b377623a3032da9197c7f65')
- version('4.11.2', sha256='4620824db97fcc37dc3dd26110da8e5c3aab1d8302e4921d4f32e83207060603')
- version('4.10.0', sha256='f07f85e27d72e9e8ff124173c7b53619aed8fcd36f9d6234c33f8f7fd511995b')
- version('4.8.5', sha256='42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73')
- version('4.8.4', sha256='f148d55b16525567c0f893edf9bb2975f7c09f87f0599463e19e1b456a9d95ba')
- version('4.8.3', sha256='9cd30a343758b8f50aea4916fa7bd37de3c37c5b670fe059ae77a8b2bbabf299')
- version('4.8.2', sha256='8f28ec53e799d4aa55bd0cc4ab278d9762e0e57ac40a4b02af7fc53dcd1bef39')
- version('4.8.1', sha256='edee2673d941daf7a6e5c963d339d4a69b4db5c4b6f77b4548b3129b42198029')
- version('4.8.0', sha256='0b59ada295341902ca01e9d23e29780fb8df99a6d2bd1c2d654e9bb70c877ad8')
- version('4.7.1', sha256='90ddc7042f05667045b06e02c8d9c2064c55d9a26c02c50886254b8df85fc577')
- version('4.7.0', sha256='6cc69d9a3694e8dcf2392e9c3b518bd2497a89b3a9f25ffaec62efa52170349b')
- version('4.6.1', sha256='0261ce760e8788f85d68918d7702ae30ec677a8f331dae14adc979b4cc7badf5')
- version('4.6.0', sha256='b50f7c64ed2a4aead987de3fdf6fce7ee082407ba9297b6851cd917db72edd1d')
- version('4.5.0', sha256='27a8e4ef1e6bb6bfe076fef50afe474870edd198699d43359ef01de2f446c670')
- version('4.4.1', sha256='3c295dbf750de086c04befc0d3c7045fd3976611c2e75987c1477baca37eb549')
- version('4.4.0', sha256='f066e7488390c0bc50938d23f6582fb154466204209ca92681f0aa06340e77c8')
- version('4.3.0', sha256='d34865772d975b5d58ad80bb05312bf49aaf124d5431e54dc8618c05a0870e3c')
-
- variant('http', default=True,
- description='Build with HTTP support')
-
- variant('python', default=False,
- description='Build pyxroot Python extension')
-
- variant('readline', default=True,
- description='Use readline')
-
- variant('krb5', default=False,
- description='Build with KRB5 support')
-
- variant('cxxstd',
- default='11',
- values=('98', '11', '14', '17'),
- multi=False,
- description='Use the specified C++ standard when building.')
-
- variant('scitokens-cpp', default=False,
- when='@5.1.0:', description='Enable support for SciTokens')
-
- conflicts('cxxstd=98', when='@4.7.0:')
-
- depends_on('bzip2')
- depends_on('cmake@2.6:', type='build')
- depends_on('libxml2', when='+http')
- depends_on('uuid', when="@4.11.0:")
- depends_on('openssl@:1')
- depends_on('python', when='+python')
- depends_on('readline', when='+readline')
- depends_on('xz')
- depends_on('zlib')
- depends_on('curl')
- depends_on('krb5', when='+krb5')
- depends_on('json-c')
- depends_on('scitokens-cpp', when='+scitokens-cpp')
-
- extends('python', when='+python')
- patch('python-support.patch', level=1, when='@:4.8+python')
+ url = "http://xrootd.org/download/v5.3.1/xrootd-5.3.1.tar.gz"
+ list_url = "https://xrootd.slac.stanford.edu/dload.html"
+
+ version("5.3.2", sha256="e8371fb9e86769bece74b9b9d67cb695023cd6a20a1199386fddd9ed840b0875")
+ version("5.3.1", sha256="7ea3a112ae9d8915eb3a06616141e5a0ee366ce9a5e4d92407b846b37704ee98")
+ version("5.1.0", sha256="c639536f1bdc5b6b365e807f3337ed2d41012cd3df608d40e91ed05f1c568b6d")
+ version("5.0.3", sha256="be40a1897d6c1f153d3e23c39fe96e45063bfafc3cc073db88a1a9531db79ac5")
+ version("5.0.1", sha256="ff4462b0b61db4cc01dda0e26abdd78e43649ee7ac5e90f7a05b74328ff5ac83")
+ version("4.12.6", sha256="1a9056ab7aeeaafa586ea77e442960c71d233c9ba60c7f9db9262c1410954ac4")
+ version("4.12.3", sha256="6f2ca1accc8d49d605706bb556777c753860bf46d845b1ee11393a5cb5987f15")
+ version("4.12.2", sha256="29f7bc3ea51b9d5d310eabd177152245d4160223325933c67f938ed5120f67bb")
+ version("4.12.1", sha256="7350d9196a26d17719b839fd242849e3995692fda25f242e67ac6ec907218d13")
+ version("4.12.0", sha256="69ef4732256d9a88127de4bfdf96bbf73348e0c70ce1d756264871a0ffadd2fc")
+ version("4.11.3", sha256="8e7a64fd55dfb452b6d5f76a9a97c493593943227b377623a3032da9197c7f65")
+ version("4.11.2", sha256="4620824db97fcc37dc3dd26110da8e5c3aab1d8302e4921d4f32e83207060603")
+ version("4.10.0", sha256="f07f85e27d72e9e8ff124173c7b53619aed8fcd36f9d6234c33f8f7fd511995b")
+ version("4.8.5", sha256="42e4d2cc6f8b442135f09bcc12c7be38b1a0c623a005cb5e69ff3d27997bdf73")
+ version("4.8.4", sha256="f148d55b16525567c0f893edf9bb2975f7c09f87f0599463e19e1b456a9d95ba")
+ version("4.8.3", sha256="9cd30a343758b8f50aea4916fa7bd37de3c37c5b670fe059ae77a8b2bbabf299")
+ version("4.8.2", sha256="8f28ec53e799d4aa55bd0cc4ab278d9762e0e57ac40a4b02af7fc53dcd1bef39")
+ version("4.8.1", sha256="edee2673d941daf7a6e5c963d339d4a69b4db5c4b6f77b4548b3129b42198029")
+ version("4.8.0", sha256="0b59ada295341902ca01e9d23e29780fb8df99a6d2bd1c2d654e9bb70c877ad8")
+ version("4.7.1", sha256="90ddc7042f05667045b06e02c8d9c2064c55d9a26c02c50886254b8df85fc577")
+ version("4.7.0", sha256="6cc69d9a3694e8dcf2392e9c3b518bd2497a89b3a9f25ffaec62efa52170349b")
+ version("4.6.1", sha256="0261ce760e8788f85d68918d7702ae30ec677a8f331dae14adc979b4cc7badf5")
+ version("4.6.0", sha256="b50f7c64ed2a4aead987de3fdf6fce7ee082407ba9297b6851cd917db72edd1d")
+ version("4.5.0", sha256="27a8e4ef1e6bb6bfe076fef50afe474870edd198699d43359ef01de2f446c670")
+ version("4.4.1", sha256="3c295dbf750de086c04befc0d3c7045fd3976611c2e75987c1477baca37eb549")
+ version("4.4.0", sha256="f066e7488390c0bc50938d23f6582fb154466204209ca92681f0aa06340e77c8")
+ version("4.3.0", sha256="d34865772d975b5d58ad80bb05312bf49aaf124d5431e54dc8618c05a0870e3c")
+
+ variant("http", default=True, description="Build with HTTP support")
+
+ variant("python", default=False, description="Build pyxroot Python extension")
+
+ variant("readline", default=True, description="Use readline")
+
+ variant("krb5", default=False, description="Build with KRB5 support")
+
+ variant(
+ "cxxstd",
+ default="11",
+ values=("98", "11", "14", "17"),
+ multi=False,
+ description="Use the specified C++ standard when building.",
+ )
+
+ variant(
+ "scitokens-cpp", default=False, when="@5.1.0:", description="Enable support for SciTokens"
+ )
+
+ conflicts("cxxstd=98", when="@4.7.0:")
+
+ depends_on("bzip2")
+ depends_on("cmake@2.6:", type="build")
+ depends_on("libxml2", when="+http")
+ depends_on("uuid", when="@4.11.0:")
+ depends_on("openssl@:1")
+ depends_on("python", when="+python")
+ depends_on("readline", when="+readline")
+ depends_on("xz")
+ depends_on("zlib")
+ depends_on("curl")
+ depends_on("krb5", when="+krb5")
+ depends_on("json-c")
+ depends_on("scitokens-cpp", when="+scitokens-cpp")
+
+ extends("python", when="+python")
+ patch("python-support.patch", level=1, when="@:4.8+python")
# do not use systemd
- patch('no-systemd.patch')
+ patch("no-systemd.patch")
def patch(self):
- """Remove hardcoded -std=c++0x flag
- """
- if self.spec.satisfies('@4.7.0:'):
- filter_file(r'\-std=c\+\+0x', r'', 'cmake/XRootDOSDefs.cmake')
+ """Remove hardcoded -std=c++0x flag"""
+ if self.spec.satisfies("@4.7.0:"):
+ filter_file(r"\-std=c\+\+0x", r"", "cmake/XRootDOSDefs.cmake")
def cmake_args(self):
spec = self.spec
options = [
- '-DENABLE_HTTP:BOOL={0}'.
- format('ON' if '+http' in spec else 'OFF'),
- '-DENABLE_PYTHON:BOOL={0}'.
- format('ON' if '+python' in spec else 'OFF'),
- '-DENABLE_READLINE:BOOL={0}'.
- format('ON' if '+readline' in spec else 'OFF'),
- '-DENABLE_KRB5:BOOL={0}'.
- format('ON' if '+krb5' in spec else 'OFF'),
- '-DENABLE_CEPH:BOOL=OFF'
+ "-DENABLE_HTTP:BOOL={0}".format("ON" if "+http" in spec else "OFF"),
+ "-DENABLE_PYTHON:BOOL={0}".format("ON" if "+python" in spec else "OFF"),
+ "-DENABLE_READLINE:BOOL={0}".format("ON" if "+readline" in spec else "OFF"),
+ "-DENABLE_KRB5:BOOL={0}".format("ON" if "+krb5" in spec else "OFF"),
+ "-DENABLE_CEPH:BOOL=OFF",
]
# see https://github.com/spack/spack/pull/11581
- if '+python' in self.spec:
- options.append('-DPYTHON_EXECUTABLE=%s' %
- spec['python'].command.path)
+ if "+python" in self.spec:
+ options.append("-DPYTHON_EXECUTABLE=%s" % spec["python"].command.path)
- if '+scitokens-cpp' in self.spec:
- options.append('-DSCITOKENS_CPP_DIR=%s' %
- spec['scitokens-cpp'].prefix)
+ if "+scitokens-cpp" in self.spec:
+ options.append("-DSCITOKENS_CPP_DIR=%s" % spec["scitokens-cpp"].prefix)
return options
def setup_build_environment(self, env):
- cxxstdflag = ''
- if self.spec.variants['cxxstd'].value == '98':
+ cxxstdflag = ""
+ if self.spec.variants["cxxstd"].value == "98":
cxxstdflag = self.compiler.cxx98_flag
- elif self.spec.variants['cxxstd'].value == '11':
+ elif self.spec.variants["cxxstd"].value == "11":
cxxstdflag = self.compiler.cxx11_flag
- elif self.spec.variants['cxxstd'].value == '14':
+ elif self.spec.variants["cxxstd"].value == "14":
cxxstdflag = self.compiler.cxx14_flag
- elif self.spec.variants['cxxstd'].value == '17':
+ elif self.spec.variants["cxxstd"].value == "17":
cxxstdflag = self.compiler.cxx17_flag
else:
# The user has selected a (new?) legal value that we've
# forgotten to deal with here.
tty.die(
"INTERNAL ERROR: cannot accommodate unexpected variant ",
- "cxxstd={0}".format(self.spec.variants['cxxstd'].value))
+ "cxxstd={0}".format(self.spec.variants["cxxstd"].value),
+ )
if cxxstdflag:
- env.append_flags('CXXFLAGS', cxxstdflag)
+ env.append_flags("CXXFLAGS", cxxstdflag)
diff --git a/var/spack/repos/builtin/packages/xrx/package.py b/var/spack/repos/builtin/packages/xrx/package.py
index 75c6ded51b..84868cb42c 100644
--- a/var/spack/repos/builtin/packages/xrx/package.py
+++ b/var/spack/repos/builtin/packages/xrx/package.py
@@ -17,16 +17,16 @@ class Xrx(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xrx"
xorg_mirror_path = "app/xrx-1.0.4.tar.gz"
- version('1.0.4', sha256='1ffa1c2af28587c6ed7ded3af2e62e93bad8f9900423d09c45b1d59449d15134')
+ version("1.0.4", sha256="1ffa1c2af28587c6ed7ded3af2e62e93bad8f9900423d09c45b1d59449d15134")
- depends_on('libx11')
- depends_on('libxt')
- depends_on('libxext')
- depends_on('libxau')
- depends_on('libice')
- depends_on('libxaw')
+ depends_on("libx11")
+ depends_on("libxt")
+ depends_on("libxext")
+ depends_on("libxau")
+ depends_on("libice")
+ depends_on("libxaw")
- depends_on('xtrans')
- depends_on('xproxymanagementprotocol')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xtrans")
+ depends_on("xproxymanagementprotocol")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsbench/package.py b/var/spack/repos/builtin/packages/xsbench/package.py
index 5729ec8084..5edd363a23 100644
--- a/var/spack/repos/builtin/packages/xsbench/package.py
+++ b/var/spack/repos/builtin/packages/xsbench/package.py
@@ -9,56 +9,56 @@ from spack.package import *
class Xsbench(MakefilePackage):
"""XSBench is a mini-app representing a key computational
- kernel of the Monte Carlo neutronics application OpenMC.
- A full explanation of the theory and purpose of XSBench
- is provided in docs/XSBench_Theory.pdf."""
+ kernel of the Monte Carlo neutronics application OpenMC.
+ A full explanation of the theory and purpose of XSBench
+ is provided in docs/XSBench_Theory.pdf."""
homepage = "https://github.com/ANL-CESAR/XSBench/"
url = "https://github.com/ANL-CESAR/XSBench/archive/v13.tar.gz"
- tags = ['proxy-app', 'ecp-proxy-app']
+ tags = ["proxy-app", "ecp-proxy-app"]
- version('19', sha256='57cc44ae3b0a50d33fab6dd48da13368720d2aa1b91cde47d51da78bf656b97e')
- version('18', sha256='a9a544eeacd1be8d687080d2df4eeb701c04eda31d3806e7c3ea1ff36c26f4b0')
- version('14', sha256='595afbcba8c1079067d5d17eedcb4ab0c1d115f83fd6f8c3de01d74b23015e2d')
- version('13', sha256='b503ea468d3720a0369304924477b758b3d128c8074776233fa5d567b7ffcaa2')
+ version("19", sha256="57cc44ae3b0a50d33fab6dd48da13368720d2aa1b91cde47d51da78bf656b97e")
+ version("18", sha256="a9a544eeacd1be8d687080d2df4eeb701c04eda31d3806e7c3ea1ff36c26f4b0")
+ version("14", sha256="595afbcba8c1079067d5d17eedcb4ab0c1d115f83fd6f8c3de01d74b23015e2d")
+ version("13", sha256="b503ea468d3720a0369304924477b758b3d128c8074776233fa5d567b7ffcaa2")
- variant('mpi', default=True, description='Build with MPI support')
- variant('openmp', default=True, description='Build with OpenMP support')
+ variant("mpi", default=True, description="Build with MPI support")
+ variant("openmp", default=True, description="Build with OpenMP support")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
@property
def build_directory(self):
- if self.spec.satisfies('@:18'):
- return 'src'
+ if self.spec.satisfies("@:18"):
+ return "src"
else:
- return 'openmp-threading'
+ return "openmp-threading"
@property
def build_targets(self):
targets = []
- cflags = ''
+ cflags = ""
- if not self.spec.satisfies('%nvhpc@:20.11'):
- cflags = '-std=gnu99'
+ if not self.spec.satisfies("%nvhpc@:20.11"):
+ cflags = "-std=gnu99"
- if '+mpi' in self.spec:
- targets.append('CC={0}'.format(self.spec['mpi'].mpicc))
- targets.append('MPI=yes')
+ if "+mpi" in self.spec:
+ targets.append("CC={0}".format(self.spec["mpi"].mpicc))
+ targets.append("MPI=yes")
else:
- targets.append('CC={0}'.format(self.compiler.cc))
- targets.append('MPI=no')
+ targets.append("CC={0}".format(self.compiler.cc))
+ targets.append("MPI=no")
- if '+openmp' in self.spec:
- cflags += ' ' + self.compiler.openmp_flag
- targets.append('CFLAGS={0}'.format(cflags))
- targets.append('LDFLAGS=-lm')
+ if "+openmp" in self.spec:
+ cflags += " " + self.compiler.openmp_flag
+ targets.append("CFLAGS={0}".format(cflags))
+ targets.append("LDFLAGS=-lm")
return targets
def install(self, spec, prefix):
mkdir(prefix.bin)
with working_dir(self.build_directory):
- install('XSBench', prefix.bin)
+ install("XSBench", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/xscope/package.py b/var/spack/repos/builtin/packages/xscope/package.py
index c1a442bc8f..fcfb3f4ceb 100644
--- a/var/spack/repos/builtin/packages/xscope/package.py
+++ b/var/spack/repos/builtin/packages/xscope/package.py
@@ -12,9 +12,9 @@ class Xscope(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xscope"
xorg_mirror_path = "app/xscope-1.4.1.tar.gz"
- version('1.4.1', sha256='f99558a64e828cd2c352091ed362ad2ef42b1c55ef5c01cbf782be9735bb6de3')
+ version("1.4.1", sha256="f99558a64e828cd2c352091ed362ad2ef42b1c55ef5c01cbf782be9735bb6de3")
- depends_on('xproto@7.0.17:')
- depends_on('xtrans')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("xtrans")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsd/package.py b/var/spack/repos/builtin/packages/xsd/package.py
index f96ceca3c9..c4b4d1c7ae 100644
--- a/var/spack/repos/builtin/packages/xsd/package.py
+++ b/var/spack/repos/builtin/packages/xsd/package.py
@@ -14,25 +14,25 @@ class Xsd(MakefilePackage):
and platforms."""
homepage = "https://www.codesynthesis.com"
- url = "https://www.codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2"
+ url = "https://www.codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2"
- version('4.0.0', sha256='eca52a9c8f52cdbe2ae4e364e4a909503493a0d51ea388fc6c9734565a859817')
+ version("4.0.0", sha256="eca52a9c8f52cdbe2ae4e364e4a909503493a0d51ea388fc6c9734565a859817")
- depends_on('xerces-c')
- depends_on('libtool', type='build')
+ depends_on("xerces-c")
+ depends_on("libtool", type="build")
patch(
- 'https://git.codesynthesis.com/cgit/libxsd-frontend/libxsd-frontend/patch/?id=5029f8665190879285787a9dcdaf5f997cadd2e2',
- sha256='d57e0aed8784d2b947983209b6513c81ac593c9936c3d7b809b4cd60d4c28607',
- working_dir='libxsd-frontend'
+ "https://git.codesynthesis.com/cgit/libxsd-frontend/libxsd-frontend/patch/?id=5029f8665190879285787a9dcdaf5f997cadd2e2",
+ sha256="d57e0aed8784d2b947983209b6513c81ac593c9936c3d7b809b4cd60d4c28607",
+ working_dir="libxsd-frontend",
)
def install(self, spec, prefix):
- make('install', 'install_prefix=' + prefix)
+ make("install", "install_prefix=" + prefix)
def setup_build_environment(self, env):
- xercesc_lib_flags = self.spec['xerces-c'].libs.search_flags
- env.append_flags('LDFLAGS', xercesc_lib_flags)
+ xercesc_lib_flags = self.spec["xerces-c"].libs.search_flags
+ env.append_flags("LDFLAGS", xercesc_lib_flags)
def url_for_version(self, version):
url = "https://www.codesynthesis.com/download/xsd/{0}/xsd-{1}+dep.tar.bz2"
diff --git a/var/spack/repos/builtin/packages/xsdk-examples/package.py b/var/spack/repos/builtin/packages/xsdk-examples/package.py
index 3ca1a6d76f..a82bbe12f4 100644
--- a/var/spack/repos/builtin/packages/xsdk-examples/package.py
+++ b/var/spack/repos/builtin/packages/xsdk-examples/package.py
@@ -10,86 +10,77 @@ from spack.package import *
class XsdkExamples(CMakePackage, CudaPackage):
"""xSDK Examples show usage of libraries in the xSDK package."""
- homepage = 'http://xsdk.info'
- url = 'https://github.com/xsdk-project/xsdk-examples/archive/v0.1.0.tar.gz'
- git = "https://github.com/xsdk-project/xsdk-examples"
+ homepage = "http://xsdk.info"
+ url = "https://github.com/xsdk-project/xsdk-examples/archive/v0.1.0.tar.gz"
+ git = "https://github.com/xsdk-project/xsdk-examples"
- maintainers = ['acfisher', 'balay', 'balos1', 'luszczek']
+ maintainers = ["acfisher", "balay", "balos1", "luszczek"]
- version('develop', branch='master')
- version('0.3.0', sha256='e7444a403c0a69eeeb34a4068be4d6f4e5b54cbfd275629019b9236a538a739e')
- version('0.2.0', sha256='cf26e3a16a83eba6fb297fb106b0934046f17cf978f96243b44d9d17ad186db6')
- version('0.1.0', sha256='d24cab1db7c0872b6474d69e598df9c8e25d254d09c425fb0a6a8d6469b8018f')
+ version("develop", branch="master")
+ version("0.3.0", sha256="e7444a403c0a69eeeb34a4068be4d6f4e5b54cbfd275629019b9236a538a739e")
+ version("0.2.0", sha256="cf26e3a16a83eba6fb297fb106b0934046f17cf978f96243b44d9d17ad186db6")
+ version("0.1.0", sha256="d24cab1db7c0872b6474d69e598df9c8e25d254d09c425fb0a6a8d6469b8018f")
- depends_on('xsdk+cuda', when='+cuda')
+ depends_on("xsdk+cuda", when="+cuda")
for sm_ in CudaPackage.cuda_arch_values:
- depends_on('xsdk+cuda cuda_arch={0}'.format(sm_),
- when='+cuda cuda_arch={0}'.format(sm_))
+ depends_on("xsdk+cuda cuda_arch={0}".format(sm_), when="+cuda cuda_arch={0}".format(sm_))
- depends_on('xsdk@develop', when='@develop')
- depends_on('xsdk@0.7.0', when='@0.3.0')
- depends_on('xsdk@0.7.0 ^mfem+strumpack', when='@0.3.0 ^xsdk+strumpack')
- depends_on('xsdk@0.7.0 ^sundials+magma', when='@0.3.0 +cuda')
- depends_on('xsdk@0.6.0', when='@0.2.0')
- depends_on('xsdk@0.5.0', when='@0.1.0')
- depends_on('mpi')
- depends_on('cmake@3.21:', type='build', when='@0.3.0:')
+ depends_on("xsdk@develop", when="@develop")
+ depends_on("xsdk@0.7.0", when="@0.3.0")
+ depends_on("xsdk@0.7.0 ^mfem+strumpack", when="@0.3.0 ^xsdk+strumpack")
+ depends_on("xsdk@0.7.0 ^sundials+magma", when="@0.3.0 +cuda")
+ depends_on("xsdk@0.6.0", when="@0.2.0")
+ depends_on("xsdk@0.5.0", when="@0.1.0")
+ depends_on("mpi")
+ depends_on("cmake@3.21:", type="build", when="@0.3.0:")
def cmake_args(self):
spec = self.spec
args = [
- '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
- '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
- '-DENABLE_HYPRE=ON',
- '-DHYPRE_DIR=%s' % spec['hypre'].prefix,
- '-DENABLE_MFEM=ON',
- '-DMETIS_DIR=%s' % spec['metis'].prefix,
- '-DMFEM_DIR=%s' % spec['mfem'].prefix,
- '-DENABLE_PETSC=ON',
- '-DPETSc_DIR=%s' % spec['petsc'].prefix,
- '-DENABLE_PLASMA=ON',
- '-DPLASMA_DIR=%s' % spec['plasma'].prefix,
- '-DENABLE_SUNDIALS=ON',
- '-DSUNDIALS_DIR=%s' % spec['sundials'].prefix,
- '-DENABLE_SUPERLU=ON',
- '-DSUPERLUDIST_DIR=%s' % spec['superlu-dist'].prefix
+ "-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc,
+ "-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx,
+ "-DENABLE_HYPRE=ON",
+ "-DHYPRE_DIR=%s" % spec["hypre"].prefix,
+ "-DENABLE_MFEM=ON",
+ "-DMETIS_DIR=%s" % spec["metis"].prefix,
+ "-DMFEM_DIR=%s" % spec["mfem"].prefix,
+ "-DENABLE_PETSC=ON",
+ "-DPETSc_DIR=%s" % spec["petsc"].prefix,
+ "-DENABLE_PLASMA=ON",
+ "-DPLASMA_DIR=%s" % spec["plasma"].prefix,
+ "-DENABLE_SUNDIALS=ON",
+ "-DSUNDIALS_DIR=%s" % spec["sundials"].prefix,
+ "-DENABLE_SUPERLU=ON",
+ "-DSUPERLUDIST_DIR=%s" % spec["superlu-dist"].prefix,
]
- if '+cuda' in spec: # if cuda variant was activated for xsdk
- args.extend([
- '-DENABLE_CUDA=ON',
- '-DCMAKE_CUDA_ARCHITECTURES=%s' % spec.variants['cuda_arch'].value
- ])
- if '+ginkgo' in spec: # if ginkgo variant was activated for xsdk
- args.extend([
- '-DENABLE_GINKGO=ON',
- '-DGinkgo_DIR=%s' % spec['ginkgo'].prefix
- ])
- if '+magma' in spec: # if magma variant was activated for xsdk
- args.extend([
- '-DENABLE_MAGMA=ON',
- '-DMAGMA_DIR=%s' % spec['magma'].prefix
- ])
- if '+strumpack' in spec: # if magma variant was activated for xsdk
- args.extend([
- '-DENABLE_STRUMPACK=ON',
- '-DSTRUMPACK_DIR=%s' % spec['strumpack'].prefix
- ])
- if '+slate' in spec: # if slate variant was activated for xsdk
- args.extend([
- '-DENABLE_SLATE=ON',
- '-DSLATE_DIR=%s' % spec['slate'].prefix,
- '-DBLASPP_DIR=%s' % spec['blaspp'].prefix,
- '-DLAPACKPP_DIR=%s' % spec['lapackpp'].prefix
- ])
- if 'trilinos' in spec: # if trilinos variant was activated for xsdk
- args.extend([
- 'ENABLE_TRILINOS=ON',
- '-DTRILINOS_DIR_PATH=%s' % spec['trilinos'].prefix
- ])
- if 'zlib' in spec: # if zlib variant was activated for MFEM
- args.append('-DZLIB_LIBRARY_DIR=%s' % spec['zlib'].prefix.lib)
+ if "+cuda" in spec: # if cuda variant was activated for xsdk
+ args.extend(
+ [
+ "-DENABLE_CUDA=ON",
+ "-DCMAKE_CUDA_ARCHITECTURES=%s" % spec.variants["cuda_arch"].value,
+ ]
+ )
+ if "+ginkgo" in spec: # if ginkgo variant was activated for xsdk
+ args.extend(["-DENABLE_GINKGO=ON", "-DGinkgo_DIR=%s" % spec["ginkgo"].prefix])
+ if "+magma" in spec: # if magma variant was activated for xsdk
+ args.extend(["-DENABLE_MAGMA=ON", "-DMAGMA_DIR=%s" % spec["magma"].prefix])
+ if "+strumpack" in spec: # if magma variant was activated for xsdk
+ args.extend(["-DENABLE_STRUMPACK=ON", "-DSTRUMPACK_DIR=%s" % spec["strumpack"].prefix])
+ if "+slate" in spec: # if slate variant was activated for xsdk
+ args.extend(
+ [
+ "-DENABLE_SLATE=ON",
+ "-DSLATE_DIR=%s" % spec["slate"].prefix,
+ "-DBLASPP_DIR=%s" % spec["blaspp"].prefix,
+ "-DLAPACKPP_DIR=%s" % spec["lapackpp"].prefix,
+ ]
+ )
+ if "trilinos" in spec: # if trilinos variant was activated for xsdk
+ args.extend(["ENABLE_TRILINOS=ON", "-DTRILINOS_DIR_PATH=%s" % spec["trilinos"].prefix])
+ if "zlib" in spec: # if zlib variant was activated for MFEM
+ args.append("-DZLIB_LIBRARY_DIR=%s" % spec["zlib"].prefix.lib)
return args
diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py
index eec80e5b39..d0396f9d26 100644
--- a/var/spack/repos/builtin/packages/xsdk/package.py
+++ b/var/spack/repos/builtin/packages/xsdk/package.py
@@ -11,11 +11,11 @@ from spack.package import *
def xsdk_depends_on_accl(accl_name, accl_var, *args, **kwargs):
- if accl_name == 'cuda':
- accl_arch_name = 'cuda_arch'
+ if accl_name == "cuda":
+ accl_arch_name = "cuda_arch"
accl_arch_values = list(deepcopy(CudaPackage.cuda_arch_values))
- elif accl_name == 'rocm':
- accl_arch_name = 'amdgpu_target'
+ elif accl_name == "rocm":
+ accl_arch_name = "amdgpu_target"
accl_arch_values = list(deepcopy(ROCmPackage.amdgpu_targets))
# require ~cuda when xsdk~cuda (and '?cuda' not used)
usedep = 1
@@ -25,18 +25,18 @@ def xsdk_depends_on_accl(accl_name, accl_var, *args, **kwargs):
for idx, var in enumerate(accl_var):
# skip variants starting with '?' so that
# that that they are left unspecified by xsdk
- if not var.startswith('?'):
- args_new[0] += ' ~%s' % var
+ if not var.startswith("?"):
+ args_new[0] += " ~%s" % var
else:
- accl_var[idx] = var.replace('?', '')
+ accl_var[idx] = var.replace("?", "")
# if '?cuda' skip adding '~cuda' dep
- if var == '?' + accl_name:
+ if var == "?" + accl_name:
usedep = 0
kwargs_new = deepcopy(kwargs)
- if 'when' in kwargs_new:
- kwargs_new['when'] += ' ~' + accl_name
+ if "when" in kwargs_new:
+ kwargs_new["when"] += " ~" + accl_name
else:
- kwargs_new['when'] = '~' + accl_name
+ kwargs_new["when"] = "~" + accl_name
if usedep:
depends_on(*args_new, **kwargs_new)
@@ -44,15 +44,15 @@ def xsdk_depends_on_accl(accl_name, accl_var, *args, **kwargs):
for arch in accl_arch_values:
args_new = list(deepcopy(args))
kwargs_new = deepcopy(kwargs)
- args_new[0] += '+%s %s=%s' % ('+'.join(accl_var), accl_arch_name, str(arch))
- if 'when' in kwargs_new:
- kwargs_new['when'] += ' +%s %s=%s' % (accl_name, accl_arch_name, str(arch))
+ args_new[0] += "+%s %s=%s" % ("+".join(accl_var), accl_arch_name, str(arch))
+ if "when" in kwargs_new:
+ kwargs_new["when"] += " +%s %s=%s" % (accl_name, accl_arch_name, str(arch))
else:
- kwargs_new['when'] = '+%s %s=%s' % (accl_name, accl_arch_name, str(arch))
+ kwargs_new["when"] = "+%s %s=%s" % (accl_name, accl_arch_name, str(arch))
depends_on(*args_new, **kwargs_new)
-def xsdk_depends_on(spec, cuda_var='', rocm_var='', **kwargs):
+def xsdk_depends_on(spec, cuda_var="", rocm_var="", **kwargs):
"""
Wrapper for depends_on which can handle propagating cuda and rocm
variants.
@@ -68,235 +68,303 @@ def xsdk_depends_on(spec, cuda_var='', rocm_var='', **kwargs):
in the strings.
"""
if bool(cuda_var):
- xsdk_depends_on_accl('cuda', cuda_var, spec, **kwargs)
+ xsdk_depends_on_accl("cuda", cuda_var, spec, **kwargs)
if bool(rocm_var):
- xsdk_depends_on_accl('rocm', rocm_var, spec, **kwargs)
+ xsdk_depends_on_accl("rocm", rocm_var, spec, **kwargs)
if not bool(cuda_var) and not bool(rocm_var):
depends_on(spec, **kwargs)
class Xsdk(BundlePackage, CudaPackage, ROCmPackage):
"""Xsdk is a suite of Department of Energy (DOE) packages for numerical
- simulation. This is a Spack bundle package that installs the xSDK
- packages
+ simulation. This is a Spack bundle package that installs the xSDK
+ packages
"""
homepage = "https://xsdk.info"
- maintainers = ['balay', 'luszczek', 'balos1']
-
- version('develop')
- version('0.7.0')
- version('0.6.0')
- version('0.5.0', deprecated=True)
- version('0.4.0', deprecated=True)
- version('0.3.0', deprecated=True)
-
- variant('trilinos', default=True, description='Enable trilinos package build')
- variant('datatransferkit', default=True, description='Enable datatransferkit package build')
- variant('omega-h', default=True, description='Enable omega-h package build')
- variant('strumpack', default=True, description='Enable strumpack package build')
- variant('dealii', default=True, description='Enable dealii package build')
- variant('alquimia', default=True, description='Enable alquimia package build')
- variant('phist', default=True, description='Enable phist package build')
- variant('ginkgo', default=True, description='Enable ginkgo package build')
- variant('libensemble', default=True, description='Enable py-libensemble package build')
- variant('precice', default=(sys.platform != 'darwin'),
- description='Enable precice package build')
- variant('butterflypack', default=True, description='Enable butterflypack package build')
- variant('heffte', default=True, description='Enable heffte package build')
- variant('slate', default=True, description='Enable slate package build')
- variant('arborx', default=True, description='Enable ArborX build')
-
- xsdk_depends_on('hypre@develop+superlu-dist+shared', when='@develop',
- cuda_var='cuda')
- xsdk_depends_on('hypre@2.23.0+superlu-dist+shared', when='@0.7.0',
- cuda_var='cuda')
- xsdk_depends_on('hypre@2.20.0+superlu-dist+shared', when='@0.6.0')
- xsdk_depends_on('hypre@2.18.2+superlu-dist+shared', when='@0.5.0')
- xsdk_depends_on('hypre@2.15.1~internal-superlu', when='@0.4.0')
- xsdk_depends_on('hypre@2.12.1~internal-superlu', when='@0.3.0')
-
- xsdk_depends_on('mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps',
- when='@develop', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('mfem@4.3.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
- when='@0.7.0', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('mfem@4.2.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
- when='@0.6.0', cuda_var='cuda')
- xsdk_depends_on('mfem@4.0.1-xsdk+mpi~superlu-dist+petsc+sundials+examples+miniapps',
- when='@0.5.0')
- xsdk_depends_on('mfem@3.4.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
- when='@0.4.0')
- xsdk_depends_on('mfem@3.3.2+mpi+superlu-dist+petsc+sundials+examples+miniapps',
- when='@0.3.0')
-
- xsdk_depends_on('superlu-dist@develop', when='@develop')
- xsdk_depends_on('superlu-dist@7.1.1', when='@0.7.0')
- xsdk_depends_on('superlu-dist@6.4.0', when='@0.6.0')
- xsdk_depends_on('superlu-dist@6.1.1', when='@0.5.0')
- xsdk_depends_on('superlu-dist@6.1.0', when='@0.4.0')
- xsdk_depends_on('superlu-dist@5.2.2', when='@0.3.0')
- xsdk_depends_on('trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
- '~exodus~dtk+intrepid2+shards+stratimikos gotype=int' +
- ' cxxstd=14', when='@develop +trilinos')
- xsdk_depends_on('trilinos@13.2.0+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
- '~exodus~dtk+intrepid2+shards+stratimikos gotype=int' +
- ' cxxstd=14', when='@0.7.0 +trilinos')
- xsdk_depends_on('trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
- '~exodus~dtk+intrepid2+shards gotype=int' +
- ' cxxstd=11', when='@0.6.0 +trilinos')
- xsdk_depends_on('trilinos@12.18.1+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
- '~exodus+dtk+intrepid2+shards', when='@0.5.0 +trilinos')
- xsdk_depends_on('trilinos@12.14.1+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
- '~exodus+dtk+intrepid2+shards', when='@0.4.0 +trilinos')
- xsdk_depends_on('trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost' +
- '~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2'
- '~exodus', when='@0.3.0 +trilinos')
-
- xsdk_depends_on('datatransferkit@master',
- when='@develop +trilinos +datatransferkit')
- dtk7ver = '3.1-rc2' if sys.platform == 'darwin' else '3.1-rc3'
- xsdk_depends_on('datatransferkit@' + dtk7ver,
- when='@0.7.0 +trilinos +datatransferkit')
- xsdk_depends_on('datatransferkit@3.1-rc2',
- when='@0.6.0 +trilinos +datatransferkit')
-
- xsdk_depends_on('petsc +trilinos', when='+trilinos @:0.6.0')
- xsdk_depends_on('petsc +batch', when='platform=cray @0.5.0:')
- xsdk_depends_on('petsc@main+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@develop', cuda_var='cuda')
- xsdk_depends_on('petsc@3.16.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.7.0', cuda_var='cuda')
- xsdk_depends_on('petsc@3.14.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.6.0', cuda_var='cuda')
- xsdk_depends_on('petsc@3.12.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.5.0')
- xsdk_depends_on('petsc@3.10.3+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.4.0')
- xsdk_depends_on('petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.3.0')
-
- xsdk_depends_on('dealii +trilinos~adol-c', when='+trilinos +dealii')
- xsdk_depends_on('dealii ~trilinos', when='~trilinos +dealii')
- xsdk_depends_on('dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
- '~netcdf+metis~sundials~ginkgo~symengine~nanoflann~simplex~arborx',
- when='@develop +dealii')
- xsdk_depends_on('dealii@9.3.2~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
- '~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx',
- when='@0.7.0 +dealii')
- xsdk_depends_on('dealii@9.2.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
- '~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx',
- when='@0.6.0 +dealii')
- xsdk_depends_on('dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
- '~netcdf+metis~sundials~ginkgo~symengine',
- when='@0.5.0 +dealii')
- xsdk_depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5' +
- '~netcdf+metis~ginkgo~symengine',
- when='@0.4.0 +dealii')
-
- xsdk_depends_on('pflotran@develop', when='@develop')
- xsdk_depends_on('pflotran@3.0.2', when='@0.7.0')
- xsdk_depends_on('pflotran@xsdk-0.6.0', when='@0.6.0')
- xsdk_depends_on('pflotran@xsdk-0.5.0', when='@0.5.0')
- xsdk_depends_on('pflotran@xsdk-0.4.0', when='@0.4.0')
- xsdk_depends_on('pflotran@xsdk-0.3.0', when='@0.3.0')
-
- xsdk_depends_on('alquimia@develop', when='@develop +alquimia')
- xsdk_depends_on('alquimia@1.0.9', when='@0.7.0 +alquimia')
- xsdk_depends_on('alquimia@xsdk-0.6.0', when='@0.6.0 +alquimia')
- xsdk_depends_on('alquimia@xsdk-0.5.0', when='@0.5.0 +alquimia ')
- xsdk_depends_on('alquimia@xsdk-0.4.0', when='@0.4.0 +alquimia')
- xsdk_depends_on('alquimia@xsdk-0.3.0', when='@0.3.0 +alquimia')
-
- xsdk_depends_on('sundials +trilinos', when='+trilinos @0.6.0:')
- xsdk_depends_on('sundials@develop~int64+hypre+petsc+superlu-dist',
- when='@develop', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('sundials@5.8.0~int64+hypre+petsc+superlu-dist',
- when='@0.7.0', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('sundials@5.5.0~int64+hypre+petsc+superlu-dist',
- when='@0.6.0', cuda_var='cuda')
- xsdk_depends_on('sundials@5.0.0~int64+hypre+petsc+superlu-dist', when='@0.5.0')
- xsdk_depends_on('sundials@3.2.1~int64+hypre', when='@0.4.0')
- xsdk_depends_on('sundials@3.1.0~int64+hypre', when='@0.3.0')
-
- xsdk_depends_on('plasma@develop:', when='@develop %gcc@6.0:')
- xsdk_depends_on('plasma@21.8.29:', when='@0.7.0 %gcc@6.0:')
- xsdk_depends_on('plasma@20.9.20:', when='@0.6.0 %gcc@6.0:')
- xsdk_depends_on('plasma@19.8.1:', when='@0.5.0 %gcc@6.0:')
- xsdk_depends_on('plasma@18.11.1:', when='@0.4.0 %gcc@6.0:')
-
- xsdk_depends_on('magma@master', when='@develop', cuda_var='?cuda', rocm_var='?rocm')
- xsdk_depends_on('magma@2.6.1', when='@0.7.0', cuda_var='?cuda', rocm_var='?rocm')
- xsdk_depends_on('magma@2.5.4', when='@0.6.0', cuda_var='?cuda')
- xsdk_depends_on('magma@2.5.1', when='@0.5.0', cuda_var='?cuda')
- xsdk_depends_on('magma@2.4.0', when='@0.4.0', cuda_var='?cuda')
- xsdk_depends_on('magma@2.2.0', when='@0.3.0', cuda_var='?cuda')
-
- xsdk_depends_on('amrex@develop+sundials',
- when='@develop %intel', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@develop+sundials',
- when='@develop %gcc', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@develop+sundials',
- when='@develop %cce', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@21.10+sundials',
- when='@0.7.0 %intel', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@21.10+sundials',
- when='@0.7.0 %gcc', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@21.10+sundials',
- when='@0.7.0 %cce', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('amrex@20.10', when='@0.6.0 %intel')
- xsdk_depends_on('amrex@20.10', when='@0.6.0 %gcc')
- xsdk_depends_on('amrex@19.08', when='@0.5.0 %intel')
- xsdk_depends_on('amrex@19.08', when='@0.5.0 %gcc')
- xsdk_depends_on('amrex@18.10.1', when='@0.4.0 %intel')
- xsdk_depends_on('amrex@18.10.1', when='@0.4.0 %gcc')
-
- xsdk_depends_on('slepc@main', when='@develop')
- xsdk_depends_on('slepc@3.16.0', when='@0.7.0')
- xsdk_depends_on('slepc@3.14.0', when='@0.6.0')
- xsdk_depends_on('slepc@3.12.0', when='@0.5.0')
- xsdk_depends_on('slepc@3.10.1', when='@0.4.0')
-
- xsdk_depends_on('omega-h +trilinos', when='+trilinos +omega-h')
- xsdk_depends_on('omega-h ~trilinos', when='~trilinos +omega-h')
- xsdk_depends_on('omega-h@main', when='@develop +omega-h')
- xsdk_depends_on('omega-h@9.34.1', when='@0.7.0 +omega-h')
- xsdk_depends_on('omega-h@9.32.5', when='@0.6.0 +omega-h')
- xsdk_depends_on('omega-h@9.29.0', when='@0.5.0 +omega-h')
- xsdk_depends_on('omega-h@9.19.1', when='@0.4.0 +omega-h')
-
- xsdk_depends_on('strumpack ~cuda', when='~cuda @0.6.0: +strumpack')
- xsdk_depends_on('strumpack@master~slate~openmp', when='@develop +strumpack')
- xsdk_depends_on('strumpack@6.1.0~slate~openmp', when='@0.7.0 +strumpack')
- xsdk_depends_on('strumpack@5.0.0~slate~openmp', when='@0.6.0 +strumpack')
- xsdk_depends_on('strumpack@3.3.0~slate~openmp', when='@0.5.0 +strumpack')
- xsdk_depends_on('strumpack@3.1.1~slate~openmp', when='@0.4.0 +strumpack')
-
- xsdk_depends_on('pumi@master', when='@develop')
- xsdk_depends_on('pumi@2.2.6', when='@0.7.0')
- xsdk_depends_on('pumi@2.2.5', when='@0.6.0')
- xsdk_depends_on('pumi@2.2.1', when='@0.5.0')
- xsdk_depends_on('pumi@2.2.0', when='@0.4.0')
-
- tasmanian_openmp = '~openmp' if sys.platform == 'darwin' else '+openmp'
- xsdk_depends_on('tasmanian@develop+xsdkflags+blas' + tasmanian_openmp,
- when='@develop',
- cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
- xsdk_depends_on('tasmanian@7.7+xsdkflags+mpi+blas' + tasmanian_openmp,
- when='@0.7.0', cuda_var=['cuda', '?magma'])
- xsdk_depends_on('tasmanian@7.3+xsdkflags+mpi+blas' + tasmanian_openmp,
- when='@0.6.0', cuda_var=['cuda', '?magma'])
- xsdk_depends_on('tasmanian@7.0+xsdkflags+mpi+blas' + tasmanian_openmp,
- when='@0.5.0', cuda_var=['cuda', '?magma'])
- xsdk_depends_on('tasmanian@6.0+xsdkflags+blas~openmp', when='@0.4.0',
- cuda_var=['cuda', '?magma'])
-
- xsdk_depends_on('arborx@master', when='@develop +arborx')
- xsdk_depends_on('arborx@1.1', when='@0.7.0 +arborx')
+ maintainers = ["balay", "luszczek", "balos1"]
+
+ version("develop")
+ version("0.7.0")
+ version("0.6.0")
+ version("0.5.0", deprecated=True)
+ version("0.4.0", deprecated=True)
+ version("0.3.0", deprecated=True)
+
+ variant("trilinos", default=True, description="Enable trilinos package build")
+ variant("datatransferkit", default=True, description="Enable datatransferkit package build")
+ variant("omega-h", default=True, description="Enable omega-h package build")
+ variant("strumpack", default=True, description="Enable strumpack package build")
+ variant("dealii", default=True, description="Enable dealii package build")
+ variant("alquimia", default=True, description="Enable alquimia package build")
+ variant("phist", default=True, description="Enable phist package build")
+ variant("ginkgo", default=True, description="Enable ginkgo package build")
+ variant("libensemble", default=True, description="Enable py-libensemble package build")
+ variant(
+ "precice", default=(sys.platform != "darwin"), description="Enable precice package build"
+ )
+ variant("butterflypack", default=True, description="Enable butterflypack package build")
+ variant("heffte", default=True, description="Enable heffte package build")
+ variant("slate", default=True, description="Enable slate package build")
+ variant("arborx", default=True, description="Enable ArborX build")
+
+ xsdk_depends_on("hypre@develop+superlu-dist+shared", when="@develop", cuda_var="cuda")
+ xsdk_depends_on("hypre@2.23.0+superlu-dist+shared", when="@0.7.0", cuda_var="cuda")
+ xsdk_depends_on("hypre@2.20.0+superlu-dist+shared", when="@0.6.0")
+ xsdk_depends_on("hypre@2.18.2+superlu-dist+shared", when="@0.5.0")
+ xsdk_depends_on("hypre@2.15.1~internal-superlu", when="@0.4.0")
+ xsdk_depends_on("hypre@2.12.1~internal-superlu", when="@0.3.0")
+
+ xsdk_depends_on(
+ "mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps",
+ when="@develop",
+ cuda_var="cuda",
+ rocm_var="rocm",
+ )
+ xsdk_depends_on(
+ "mfem@4.3.0+mpi+superlu-dist+petsc+sundials+examples+miniapps",
+ when="@0.7.0",
+ cuda_var="cuda",
+ rocm_var="rocm",
+ )
+ xsdk_depends_on(
+ "mfem@4.2.0+mpi+superlu-dist+petsc+sundials+examples+miniapps",
+ when="@0.6.0",
+ cuda_var="cuda",
+ )
+ xsdk_depends_on(
+ "mfem@4.0.1-xsdk+mpi~superlu-dist+petsc+sundials+examples+miniapps", when="@0.5.0"
+ )
+ xsdk_depends_on("mfem@3.4.0+mpi+superlu-dist+petsc+sundials+examples+miniapps", when="@0.4.0")
+ xsdk_depends_on("mfem@3.3.2+mpi+superlu-dist+petsc+sundials+examples+miniapps", when="@0.3.0")
+
+ xsdk_depends_on("superlu-dist@develop", when="@develop")
+ xsdk_depends_on("superlu-dist@7.1.1", when="@0.7.0")
+ xsdk_depends_on("superlu-dist@6.4.0", when="@0.6.0")
+ xsdk_depends_on("superlu-dist@6.1.1", when="@0.5.0")
+ xsdk_depends_on("superlu-dist@6.1.0", when="@0.4.0")
+ xsdk_depends_on("superlu-dist@5.2.2", when="@0.3.0")
+ xsdk_depends_on(
+ "trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2"
+ + "~exodus~dtk+intrepid2+shards+stratimikos gotype=int"
+ + " cxxstd=14",
+ when="@develop +trilinos",
+ )
+ xsdk_depends_on(
+ "trilinos@13.2.0+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2"
+ + "~exodus~dtk+intrepid2+shards+stratimikos gotype=int"
+ + " cxxstd=14",
+ when="@0.7.0 +trilinos",
+ )
+ xsdk_depends_on(
+ "trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2"
+ + "~exodus~dtk+intrepid2+shards gotype=int"
+ + " cxxstd=11",
+ when="@0.6.0 +trilinos",
+ )
+ xsdk_depends_on(
+ "trilinos@12.18.1+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2"
+ + "~exodus+dtk+intrepid2+shards",
+ when="@0.5.0 +trilinos",
+ )
+ xsdk_depends_on(
+ "trilinos@12.14.1+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2"
+ + "~exodus+dtk+intrepid2+shards",
+ when="@0.4.0 +trilinos",
+ )
+ xsdk_depends_on(
+ "trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost"
+ + "~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2"
+ "~exodus",
+ when="@0.3.0 +trilinos",
+ )
+
+ xsdk_depends_on("datatransferkit@master", when="@develop +trilinos +datatransferkit")
+ dtk7ver = "3.1-rc2" if sys.platform == "darwin" else "3.1-rc3"
+ xsdk_depends_on("datatransferkit@" + dtk7ver, when="@0.7.0 +trilinos +datatransferkit")
+ xsdk_depends_on("datatransferkit@3.1-rc2", when="@0.6.0 +trilinos +datatransferkit")
+
+ xsdk_depends_on("petsc +trilinos", when="+trilinos @:0.6.0")
+ xsdk_depends_on("petsc +batch", when="platform=cray @0.5.0:")
+ xsdk_depends_on(
+ "petsc@main+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64",
+ when="@develop",
+ cuda_var="cuda",
+ )
+ xsdk_depends_on(
+ "petsc@3.16.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64",
+ when="@0.7.0",
+ cuda_var="cuda",
+ )
+ xsdk_depends_on(
+ "petsc@3.14.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64",
+ when="@0.6.0",
+ cuda_var="cuda",
+ )
+ xsdk_depends_on(
+ "petsc@3.12.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", when="@0.5.0"
+ )
+ xsdk_depends_on(
+ "petsc@3.10.3+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", when="@0.4.0"
+ )
+ xsdk_depends_on(
+ "petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64", when="@0.3.0"
+ )
+
+ xsdk_depends_on("dealii +trilinos~adol-c", when="+trilinos +dealii")
+ xsdk_depends_on("dealii ~trilinos", when="~trilinos +dealii")
+ xsdk_depends_on(
+ "dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5"
+ + "~netcdf+metis~sundials~ginkgo~symengine~nanoflann~simplex~arborx",
+ when="@develop +dealii",
+ )
+ xsdk_depends_on(
+ "dealii@9.3.2~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5"
+ + "~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx",
+ when="@0.7.0 +dealii",
+ )
+ xsdk_depends_on(
+ "dealii@9.2.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5"
+ + "~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx",
+ when="@0.6.0 +dealii",
+ )
+ xsdk_depends_on(
+ "dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5"
+ + "~netcdf+metis~sundials~ginkgo~symengine",
+ when="@0.5.0 +dealii",
+ )
+ xsdk_depends_on(
+ "dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5"
+ + "~netcdf+metis~ginkgo~symengine",
+ when="@0.4.0 +dealii",
+ )
+
+ xsdk_depends_on("pflotran@develop", when="@develop")
+ xsdk_depends_on("pflotran@3.0.2", when="@0.7.0")
+ xsdk_depends_on("pflotran@xsdk-0.6.0", when="@0.6.0")
+ xsdk_depends_on("pflotran@xsdk-0.5.0", when="@0.5.0")
+ xsdk_depends_on("pflotran@xsdk-0.4.0", when="@0.4.0")
+ xsdk_depends_on("pflotran@xsdk-0.3.0", when="@0.3.0")
+
+ xsdk_depends_on("alquimia@develop", when="@develop +alquimia")
+ xsdk_depends_on("alquimia@1.0.9", when="@0.7.0 +alquimia")
+ xsdk_depends_on("alquimia@xsdk-0.6.0", when="@0.6.0 +alquimia")
+ xsdk_depends_on("alquimia@xsdk-0.5.0", when="@0.5.0 +alquimia ")
+ xsdk_depends_on("alquimia@xsdk-0.4.0", when="@0.4.0 +alquimia")
+ xsdk_depends_on("alquimia@xsdk-0.3.0", when="@0.3.0 +alquimia")
+
+ xsdk_depends_on("sundials +trilinos", when="+trilinos @0.6.0:")
+ xsdk_depends_on(
+ "sundials@develop~int64+hypre+petsc+superlu-dist",
+ when="@develop",
+ cuda_var="cuda",
+ rocm_var="rocm",
+ )
+ xsdk_depends_on(
+ "sundials@5.8.0~int64+hypre+petsc+superlu-dist",
+ when="@0.7.0",
+ cuda_var="cuda",
+ rocm_var="rocm",
+ )
+ xsdk_depends_on(
+ "sundials@5.5.0~int64+hypre+petsc+superlu-dist", when="@0.6.0", cuda_var="cuda"
+ )
+ xsdk_depends_on("sundials@5.0.0~int64+hypre+petsc+superlu-dist", when="@0.5.0")
+ xsdk_depends_on("sundials@3.2.1~int64+hypre", when="@0.4.0")
+ xsdk_depends_on("sundials@3.1.0~int64+hypre", when="@0.3.0")
+
+ xsdk_depends_on("plasma@develop:", when="@develop %gcc@6.0:")
+ xsdk_depends_on("plasma@21.8.29:", when="@0.7.0 %gcc@6.0:")
+ xsdk_depends_on("plasma@20.9.20:", when="@0.6.0 %gcc@6.0:")
+ xsdk_depends_on("plasma@19.8.1:", when="@0.5.0 %gcc@6.0:")
+ xsdk_depends_on("plasma@18.11.1:", when="@0.4.0 %gcc@6.0:")
+
+ xsdk_depends_on("magma@master", when="@develop", cuda_var="?cuda", rocm_var="?rocm")
+ xsdk_depends_on("magma@2.6.1", when="@0.7.0", cuda_var="?cuda", rocm_var="?rocm")
+ xsdk_depends_on("magma@2.5.4", when="@0.6.0", cuda_var="?cuda")
+ xsdk_depends_on("magma@2.5.1", when="@0.5.0", cuda_var="?cuda")
+ xsdk_depends_on("magma@2.4.0", when="@0.4.0", cuda_var="?cuda")
+ xsdk_depends_on("magma@2.2.0", when="@0.3.0", cuda_var="?cuda")
+
+ xsdk_depends_on(
+ "amrex@develop+sundials", when="@develop %intel", cuda_var="cuda", rocm_var="rocm"
+ )
+ xsdk_depends_on(
+ "amrex@develop+sundials", when="@develop %gcc", cuda_var="cuda", rocm_var="rocm"
+ )
+ xsdk_depends_on(
+ "amrex@develop+sundials", when="@develop %cce", cuda_var="cuda", rocm_var="rocm"
+ )
+ xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %intel", cuda_var="cuda", rocm_var="rocm")
+ xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %gcc", cuda_var="cuda", rocm_var="rocm")
+ xsdk_depends_on("amrex@21.10+sundials", when="@0.7.0 %cce", cuda_var="cuda", rocm_var="rocm")
+ xsdk_depends_on("amrex@20.10", when="@0.6.0 %intel")
+ xsdk_depends_on("amrex@20.10", when="@0.6.0 %gcc")
+ xsdk_depends_on("amrex@19.08", when="@0.5.0 %intel")
+ xsdk_depends_on("amrex@19.08", when="@0.5.0 %gcc")
+ xsdk_depends_on("amrex@18.10.1", when="@0.4.0 %intel")
+ xsdk_depends_on("amrex@18.10.1", when="@0.4.0 %gcc")
+
+ xsdk_depends_on("slepc@main", when="@develop")
+ xsdk_depends_on("slepc@3.16.0", when="@0.7.0")
+ xsdk_depends_on("slepc@3.14.0", when="@0.6.0")
+ xsdk_depends_on("slepc@3.12.0", when="@0.5.0")
+ xsdk_depends_on("slepc@3.10.1", when="@0.4.0")
+
+ xsdk_depends_on("omega-h +trilinos", when="+trilinos +omega-h")
+ xsdk_depends_on("omega-h ~trilinos", when="~trilinos +omega-h")
+ xsdk_depends_on("omega-h@main", when="@develop +omega-h")
+ xsdk_depends_on("omega-h@9.34.1", when="@0.7.0 +omega-h")
+ xsdk_depends_on("omega-h@9.32.5", when="@0.6.0 +omega-h")
+ xsdk_depends_on("omega-h@9.29.0", when="@0.5.0 +omega-h")
+ xsdk_depends_on("omega-h@9.19.1", when="@0.4.0 +omega-h")
+
+ xsdk_depends_on("strumpack ~cuda", when="~cuda @0.6.0: +strumpack")
+ xsdk_depends_on("strumpack@master~slate~openmp", when="@develop +strumpack")
+ xsdk_depends_on("strumpack@6.1.0~slate~openmp", when="@0.7.0 +strumpack")
+ xsdk_depends_on("strumpack@5.0.0~slate~openmp", when="@0.6.0 +strumpack")
+ xsdk_depends_on("strumpack@3.3.0~slate~openmp", when="@0.5.0 +strumpack")
+ xsdk_depends_on("strumpack@3.1.1~slate~openmp", when="@0.4.0 +strumpack")
+
+ xsdk_depends_on("pumi@master", when="@develop")
+ xsdk_depends_on("pumi@2.2.6", when="@0.7.0")
+ xsdk_depends_on("pumi@2.2.5", when="@0.6.0")
+ xsdk_depends_on("pumi@2.2.1", when="@0.5.0")
+ xsdk_depends_on("pumi@2.2.0", when="@0.4.0")
+
+ tasmanian_openmp = "~openmp" if sys.platform == "darwin" else "+openmp"
+ xsdk_depends_on(
+ "tasmanian@develop+xsdkflags+blas" + tasmanian_openmp,
+ when="@develop",
+ cuda_var=["cuda", "?magma"],
+ rocm_var=["rocm", "?magma"],
+ )
+ xsdk_depends_on(
+ "tasmanian@7.7+xsdkflags+mpi+blas" + tasmanian_openmp,
+ when="@0.7.0",
+ cuda_var=["cuda", "?magma"],
+ )
+ xsdk_depends_on(
+ "tasmanian@7.3+xsdkflags+mpi+blas" + tasmanian_openmp,
+ when="@0.6.0",
+ cuda_var=["cuda", "?magma"],
+ )
+ xsdk_depends_on(
+ "tasmanian@7.0+xsdkflags+mpi+blas" + tasmanian_openmp,
+ when="@0.5.0",
+ cuda_var=["cuda", "?magma"],
+ )
+ xsdk_depends_on(
+ "tasmanian@6.0+xsdkflags+blas~openmp", when="@0.4.0", cuda_var=["cuda", "?magma"]
+ )
+
+ xsdk_depends_on("arborx@master", when="@develop +arborx")
+ xsdk_depends_on("arborx@1.1", when="@0.7.0 +arborx")
# the Fortran 2003 bindings of phist require python@3:, but this
# creates a conflict with other packages like petsc@main. Actually
@@ -304,54 +372,57 @@ class Xsdk(BundlePackage, CudaPackage, ROCmPackage):
# This will be fixed once the new concretizer becomes available
# (says @adamjstewart)
- xsdk_depends_on('phist kernel_lib=tpetra', when='+trilinos +phist')
- xsdk_depends_on('phist kernel_lib=petsc', when='~trilinos +phist')
- xsdk_depends_on('phist@develop ~fortran ~scamac ~openmp ~host ~int64',
- when='@develop +phist')
- xsdk_depends_on('phist@1.9.5 ~fortran ~scamac ~openmp ~host ~int64',
- when='@0.7.0 +phist')
- xsdk_depends_on('phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64',
- when='@0.6.0 +phist')
- xsdk_depends_on('phist@1.8.0 ~fortran ~scamac ~openmp ~host ~int64',
- when='@0.5.0 +phist')
- xsdk_depends_on('phist@1.7.5 ~fortran ~scamac ~openmp ~host ~int64',
- when='@0.4.0 +phist')
-
- xsdk_depends_on('ginkgo@develop ~openmp', when='@develop +ginkgo',
- cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('ginkgo@1.4.0 ~openmp',
- when='@0.7.0 +ginkgo', cuda_var='cuda', rocm_var='rocm')
- xsdk_depends_on('ginkgo@1.3.0 ~openmp',
- when='@0.6.0 +ginkgo', cuda_var='cuda')
- xsdk_depends_on('ginkgo@1.1.0 ~openmp', when='@0.5.0 +ginkgo')
-
- xsdk_depends_on('py-libensemble@develop+petsc4py', when='@develop +libensemble')
- xsdk_depends_on('py-petsc4py@main', when='@develop +libensemble')
- xsdk_depends_on('py-libensemble@0.8.0+petsc4py', when='@0.7.0 +libensemble')
- xsdk_depends_on('py-petsc4py@3.16.1', when='@0.7.0 +libensemble')
- xsdk_depends_on('py-libensemble@0.7.1+petsc4py', when='@0.6.0 +libensemble')
- xsdk_depends_on('py-petsc4py@3.14.0', when='@0.6.0 +libensemble')
- xsdk_depends_on('py-libensemble@0.5.2+petsc4py', when='@0.5.0 +libensemble')
- xsdk_depends_on('py-petsc4py@3.12.0', when='@0.5.0 +libensemble')
-
- xsdk_depends_on('precice ~petsc', when='platform=cray +precice')
- xsdk_depends_on('precice@develop', when='@develop +precice')
- xsdk_depends_on('precice@2.3.0', when='@0.7.0 +precice')
- xsdk_depends_on('precice@2.1.1', when='@0.6.0 +precice')
- xsdk_depends_on('precice@1.6.1', when='@0.5.0 +precice')
-
- xsdk_depends_on('butterflypack@master', when='@develop +butterflypack')
- xsdk_depends_on('butterflypack@2.0.0', when='@0.7.0 +butterflypack')
- xsdk_depends_on('butterflypack@1.2.1', when='@0.6.0 +butterflypack')
- xsdk_depends_on('butterflypack@1.1.0', when='@0.5.0 +butterflypack')
-
- xsdk_depends_on('heffte@develop+fftw', when='@develop +heffte',
- cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
- xsdk_depends_on('heffte@2.2.0+fftw', when='@0.7.0 +heffte',
- cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
- xsdk_depends_on('heffte@2.0.0+fftw', when='@0.6.0 +heffte',
- cuda_var=['cuda', '?magma'])
-
- xsdk_depends_on('slate@master', when='@develop +slate %gcc@6.0:', cuda_var='cuda')
- xsdk_depends_on('slate@2021.05.02', when='@0.7.0 +slate %gcc@6.0:', cuda_var='cuda')
- xsdk_depends_on('slate@2020.10.00', when='@0.6.0 +slate %gcc@6.0:', cuda_var='cuda')
+ xsdk_depends_on("phist kernel_lib=tpetra", when="+trilinos +phist")
+ xsdk_depends_on("phist kernel_lib=petsc", when="~trilinos +phist")
+ xsdk_depends_on("phist@develop ~fortran ~scamac ~openmp ~host ~int64", when="@develop +phist")
+ xsdk_depends_on("phist@1.9.5 ~fortran ~scamac ~openmp ~host ~int64", when="@0.7.0 +phist")
+ xsdk_depends_on("phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64", when="@0.6.0 +phist")
+ xsdk_depends_on("phist@1.8.0 ~fortran ~scamac ~openmp ~host ~int64", when="@0.5.0 +phist")
+ xsdk_depends_on("phist@1.7.5 ~fortran ~scamac ~openmp ~host ~int64", when="@0.4.0 +phist")
+
+ xsdk_depends_on(
+ "ginkgo@develop ~openmp", when="@develop +ginkgo", cuda_var="cuda", rocm_var="rocm"
+ )
+ xsdk_depends_on(
+ "ginkgo@1.4.0 ~openmp", when="@0.7.0 +ginkgo", cuda_var="cuda", rocm_var="rocm"
+ )
+ xsdk_depends_on("ginkgo@1.3.0 ~openmp", when="@0.6.0 +ginkgo", cuda_var="cuda")
+ xsdk_depends_on("ginkgo@1.1.0 ~openmp", when="@0.5.0 +ginkgo")
+
+ xsdk_depends_on("py-libensemble@develop+petsc4py", when="@develop +libensemble")
+ xsdk_depends_on("py-petsc4py@main", when="@develop +libensemble")
+ xsdk_depends_on("py-libensemble@0.8.0+petsc4py", when="@0.7.0 +libensemble")
+ xsdk_depends_on("py-petsc4py@3.16.1", when="@0.7.0 +libensemble")
+ xsdk_depends_on("py-libensemble@0.7.1+petsc4py", when="@0.6.0 +libensemble")
+ xsdk_depends_on("py-petsc4py@3.14.0", when="@0.6.0 +libensemble")
+ xsdk_depends_on("py-libensemble@0.5.2+petsc4py", when="@0.5.0 +libensemble")
+ xsdk_depends_on("py-petsc4py@3.12.0", when="@0.5.0 +libensemble")
+
+ xsdk_depends_on("precice ~petsc", when="platform=cray +precice")
+ xsdk_depends_on("precice@develop", when="@develop +precice")
+ xsdk_depends_on("precice@2.3.0", when="@0.7.0 +precice")
+ xsdk_depends_on("precice@2.1.1", when="@0.6.0 +precice")
+ xsdk_depends_on("precice@1.6.1", when="@0.5.0 +precice")
+
+ xsdk_depends_on("butterflypack@master", when="@develop +butterflypack")
+ xsdk_depends_on("butterflypack@2.0.0", when="@0.7.0 +butterflypack")
+ xsdk_depends_on("butterflypack@1.2.1", when="@0.6.0 +butterflypack")
+ xsdk_depends_on("butterflypack@1.1.0", when="@0.5.0 +butterflypack")
+
+ xsdk_depends_on(
+ "heffte@develop+fftw",
+ when="@develop +heffte",
+ cuda_var=["cuda", "?magma"],
+ rocm_var=["rocm", "?magma"],
+ )
+ xsdk_depends_on(
+ "heffte@2.2.0+fftw",
+ when="@0.7.0 +heffte",
+ cuda_var=["cuda", "?magma"],
+ rocm_var=["rocm", "?magma"],
+ )
+ xsdk_depends_on("heffte@2.0.0+fftw", when="@0.6.0 +heffte", cuda_var=["cuda", "?magma"])
+
+ xsdk_depends_on("slate@master", when="@develop +slate %gcc@6.0:", cuda_var="cuda")
+ xsdk_depends_on("slate@2021.05.02", when="@0.7.0 +slate %gcc@6.0:", cuda_var="cuda")
+ xsdk_depends_on("slate@2020.10.00", when="@0.6.0 +slate %gcc@6.0:", cuda_var="cuda")
diff --git a/var/spack/repos/builtin/packages/xset/package.py b/var/spack/repos/builtin/packages/xset/package.py
index e06a5ba335..ca2784aece 100644
--- a/var/spack/repos/builtin/packages/xset/package.py
+++ b/var/spack/repos/builtin/packages/xset/package.py
@@ -12,11 +12,11 @@ class Xset(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xset"
xorg_mirror_path = "app/xset-1.2.3.tar.gz"
- version('1.2.3', sha256='5ecb2bb2cbf3c9349b735080b155a08c97b314dacedfc558c7f5a611ee1297f7')
+ version("1.2.3", sha256="5ecb2bb2cbf3c9349b735080b155a08c97b314dacedfc558c7f5a611ee1297f7")
- depends_on('libxmu')
- depends_on('libx11')
+ depends_on("libxmu")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsetmode/package.py b/var/spack/repos/builtin/packages/xsetmode/package.py
index e14cb46bfb..c94bd53efa 100644
--- a/var/spack/repos/builtin/packages/xsetmode/package.py
+++ b/var/spack/repos/builtin/packages/xsetmode/package.py
@@ -12,10 +12,10 @@ class Xsetmode(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xsetmode"
xorg_mirror_path = "app/xsetmode-1.0.0.tar.gz"
- version('1.0.0', sha256='9ee0d6cf72dfaacb997f9570779dcbc42f5395ae102180cb19382860b4b02ef3')
+ version("1.0.0", sha256="9ee0d6cf72dfaacb997f9570779dcbc42f5395ae102180cb19382860b4b02ef3")
- depends_on('libxi')
- depends_on('libx11')
+ depends_on("libxi")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsetpointer/package.py b/var/spack/repos/builtin/packages/xsetpointer/package.py
index 30ef77eb2d..f3c8d2d76b 100644
--- a/var/spack/repos/builtin/packages/xsetpointer/package.py
+++ b/var/spack/repos/builtin/packages/xsetpointer/package.py
@@ -12,11 +12,11 @@ class Xsetpointer(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xsetpointer"
xorg_mirror_path = "app/xsetpointer-1.0.1.tar.gz"
- version('1.0.1', sha256='54be93b20fd6f1deac67246d6e214a60b02dcfbf05295e43751f7a04edb986ac')
+ version("1.0.1", sha256="54be93b20fd6f1deac67246d6e214a60b02dcfbf05295e43751f7a04edb986ac")
- depends_on('libxi', type='link')
- depends_on('libx11', type='link')
- depends_on('inputproto@1.4:')
+ depends_on("libxi", type="link")
+ depends_on("libx11", type="link")
+ depends_on("inputproto@1.4:")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsetroot/package.py b/var/spack/repos/builtin/packages/xsetroot/package.py
index c1a71c4325..06c22ba067 100644
--- a/var/spack/repos/builtin/packages/xsetroot/package.py
+++ b/var/spack/repos/builtin/packages/xsetroot/package.py
@@ -12,13 +12,13 @@ class Xsetroot(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xsetroot"
xorg_mirror_path = "app/xsetroot-1.1.1.tar.gz"
- version('1.1.1', sha256='6cdd48757d18835251124138b4a8e4008c3bbc51cf92533aa39c6ed03277168b')
+ version("1.1.1", sha256="6cdd48757d18835251124138b4a8e4008c3bbc51cf92533aa39c6ed03277168b")
- depends_on('libxmu')
- depends_on('libx11')
- depends_on('libxcursor')
+ depends_on("libxmu")
+ depends_on("libx11")
+ depends_on("libxcursor")
- depends_on('xbitmaps')
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xbitmaps")
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xsimd/package.py b/var/spack/repos/builtin/packages/xsimd/package.py
index 83ec978444..b1e8cbd325 100644
--- a/var/spack/repos/builtin/packages/xsimd/package.py
+++ b/var/spack/repos/builtin/packages/xsimd/package.py
@@ -10,31 +10,29 @@ class Xsimd(CMakePackage):
"""C++ wrappers for SIMD intrinsics"""
homepage = "https://quantstack.net/xsimd"
- url = "https://github.com/QuantStack/xsimd/archive/3.1.0.tar.gz"
- git = "https://github.com/QuantStack/xsimd.git"
+ url = "https://github.com/QuantStack/xsimd/archive/3.1.0.tar.gz"
+ git = "https://github.com/QuantStack/xsimd.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='master')
- version('8.0.5', sha256='0e1b5d973b63009f06a3885931a37452580dbc8d7ca8ad40d4b8c80d2a0f84d7')
- version('7.5.0', sha256='45337317c7f238fe0d64bb5d5418d264a427efc53400ddf8e6a964b6bcb31ce9')
- version('7.4.10', sha256='df00f476dea0c52ffebad60924e3f0db2a016b80d508f8d5a2399a74c0d134cd')
- version('7.4.9', sha256='f6601ffb002864ec0dc6013efd9f7a72d756418857c2d893be0644a2f041874e')
- version('7.2.3', sha256='bbc673ad3e9d4523503a4222da05886e086b0e0bd6bd93d03ea3b663c74297b9')
- version('4.0.0', sha256='67b818601c15ef15ea4d611a8cd7382588c340ebd9146c799a0210d212540455')
- version('3.1.0', sha256='d56288826f6b82fd9583f83ace6aa2306ba2ae82cec003de1d04ce17fbb1e91f')
+ version("develop", branch="master")
+ version("8.0.5", sha256="0e1b5d973b63009f06a3885931a37452580dbc8d7ca8ad40d4b8c80d2a0f84d7")
+ version("7.5.0", sha256="45337317c7f238fe0d64bb5d5418d264a427efc53400ddf8e6a964b6bcb31ce9")
+ version("7.4.10", sha256="df00f476dea0c52ffebad60924e3f0db2a016b80d508f8d5a2399a74c0d134cd")
+ version("7.4.9", sha256="f6601ffb002864ec0dc6013efd9f7a72d756418857c2d893be0644a2f041874e")
+ version("7.2.3", sha256="bbc673ad3e9d4523503a4222da05886e086b0e0bd6bd93d03ea3b663c74297b9")
+ version("4.0.0", sha256="67b818601c15ef15ea4d611a8cd7382588c340ebd9146c799a0210d212540455")
+ version("3.1.0", sha256="d56288826f6b82fd9583f83ace6aa2306ba2ae82cec003de1d04ce17fbb1e91f")
- depends_on('googletest', type='test')
+ depends_on("googletest", type="test")
# C++14 support
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.6')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.6")
# untested: conflicts('%intel@:15')
# untested: conflicts('%pgi@:14')
def cmake_args(self):
- args = [
- self.define('BUILD_TESTS', self.run_tests)
- ]
+ args = [self.define("BUILD_TESTS", self.run_tests)]
return args
diff --git a/var/spack/repos/builtin/packages/xsm/package.py b/var/spack/repos/builtin/packages/xsm/package.py
index 343d4bdcde..eb14eab656 100644
--- a/var/spack/repos/builtin/packages/xsm/package.py
+++ b/var/spack/repos/builtin/packages/xsm/package.py
@@ -12,13 +12,13 @@ class Xsm(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xsm"
xorg_mirror_path = "app/xsm-1.0.3.tar.gz"
- version('1.0.3', sha256='f70815139d62416dbec5915ec37db66f325932a69f6350bb1a74c0940cdc796a')
+ version("1.0.3", sha256="f70815139d62416dbec5915ec37db66f325932a69f6350bb1a74c0940cdc796a")
- depends_on('libx11')
- depends_on('libxt@1.1.0:')
- depends_on('libice')
- depends_on('libsm')
- depends_on('libxaw')
+ depends_on("libx11")
+ depends_on("libxt@1.1.0:")
+ depends_on("libice")
+ depends_on("libsm")
+ depends_on("libxaw")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xstdcmap/package.py b/var/spack/repos/builtin/packages/xstdcmap/package.py
index 18f65faa31..8cbc574ff1 100644
--- a/var/spack/repos/builtin/packages/xstdcmap/package.py
+++ b/var/spack/repos/builtin/packages/xstdcmap/package.py
@@ -15,11 +15,11 @@ class Xstdcmap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xstdcmap"
xorg_mirror_path = "app/xstdcmap-1.0.3.tar.gz"
- version('1.0.3', sha256='b97aaa883a9eedf9c3056ea1a7e818e3d93b63aa1f54193ef481d392bdef5711')
+ version("1.0.3", sha256="b97aaa883a9eedf9c3056ea1a7e818e3d93b63aa1f54193ef481d392bdef5711")
- depends_on('libxmu')
- depends_on('libx11')
+ depends_on("libxmu")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xtensor-python/package.py b/var/spack/repos/builtin/packages/xtensor-python/package.py
index 4bd87d48a7..146cd424c7 100644
--- a/var/spack/repos/builtin/packages/xtensor-python/package.py
+++ b/var/spack/repos/builtin/packages/xtensor-python/package.py
@@ -10,34 +10,32 @@ class XtensorPython(CMakePackage):
"""Python bindings for the xtensor C++ multi-dimensional array library"""
homepage = "https://xtensor-python.readthedocs.io"
- url = "https://github.com/QuantStack/xtensor-python/archive/0.17.0.tar.gz"
- git = "https://github.com/QuantStack/xtensor-python.git"
+ url = "https://github.com/QuantStack/xtensor-python/archive/0.17.0.tar.gz"
+ git = "https://github.com/QuantStack/xtensor-python.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='master')
- version('0.23.1', sha256='450b25f5c739df174b2a50774b89e68b23535fdc37cb55bd542ffdb7c78991ab')
- version('0.17.0', sha256='30f2e8c99376e38f942d62c0d2959bc1e52a562a4f8cc5e27ddc4d572a25e34c')
+ version("develop", branch="master")
+ version("0.23.1", sha256="450b25f5c739df174b2a50774b89e68b23535fdc37cb55bd542ffdb7c78991ab")
+ version("0.17.0", sha256="30f2e8c99376e38f942d62c0d2959bc1e52a562a4f8cc5e27ddc4d572a25e34c")
- depends_on('xtensor', when='@develop')
- depends_on('xtensor@0.20.6:0.20', when='@0.23.1')
- depends_on('xtensor@0.15.1:0.15', when='@0.17.0')
- depends_on('xtl', when='@develop')
- depends_on('xtl@0.6.4:0.6', when='@0.23.1')
- depends_on('xtl@0.4.0:0.4', when='@0.17.0')
- depends_on('py-pybind11@2.2.1:2.2')
+ depends_on("xtensor", when="@develop")
+ depends_on("xtensor@0.20.6:0.20", when="@0.23.1")
+ depends_on("xtensor@0.15.1:0.15", when="@0.17.0")
+ depends_on("xtl", when="@develop")
+ depends_on("xtl@0.6.4:0.6", when="@0.23.1")
+ depends_on("xtl@0.4.0:0.4", when="@0.17.0")
+ depends_on("py-pybind11@2.2.1:2.2")
- depends_on('py-numpy')
- depends_on('python', type=('build', 'link', 'run'))
+ depends_on("py-numpy")
+ depends_on("python", type=("build", "link", "run"))
- extends('python')
+ extends("python")
def cmake_args(self):
spec = self.spec
- python_exe = spec['python'].command.path
+ python_exe = spec["python"].command.path
- args = [
- '-DPYTHON_EXECUTABLE={0}'.format(python_exe)
- ]
+ args = ["-DPYTHON_EXECUTABLE={0}".format(python_exe)]
return args
diff --git a/var/spack/repos/builtin/packages/xtensor/package.py b/var/spack/repos/builtin/packages/xtensor/package.py
index 911d59d6f7..5f5725ed92 100644
--- a/var/spack/repos/builtin/packages/xtensor/package.py
+++ b/var/spack/repos/builtin/packages/xtensor/package.py
@@ -10,51 +10,49 @@ class Xtensor(CMakePackage):
"""Multi-dimensional arrays with broadcasting and lazy computing"""
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"
-
- maintainers = ['ax3l']
-
- version('develop', branch='master')
- version('0.24.1', sha256='dd1bf4c4eba5fbcf386abba2627fcb4a947d14a806c33fde82d0cc1194807ee4')
- version('0.23.10', sha256='2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c')
- version('0.23.4', sha256='c8377f8ec995762c89dea2fdf4ac06b53ba491a6f0df3421c4719355e42425d2')
- version('0.23.2', sha256='fde26dcf93f5d95996b8cc7e556b84930af41ff699492b7b20b2e3335e12f862')
- version('0.20.7', sha256='b45290d1bb0d6cef44771e7482f1553b2aa54dbf99ef9406fec3eb1e4d01d52b')
- version('0.15.1', sha256='2f4ac632f7aa8c8e9da99ebbfc949d9129b4d644f715ef16c27658bf4fddcdd3')
- version('0.13.1', sha256='f9ce4cd2110386d49e3f36bbab62da731c557b6289be19bc172bd7209b92a6bc')
-
- variant('xsimd', default=True,
- description='Enable SIMD intrinsics')
- variant('tbb', default=True,
- description='Enable TBB parallelization')
-
- depends_on('xtl', when='@develop')
- depends_on('xtl@0.7.2:0.7', when='@0.23.2:')
- depends_on('xtl@0.6.4:0.6', when='@0.20.7')
- depends_on('xtl@0.4.0:0.4', when='@0.15.1')
- depends_on('xtl@0.3.3:0.3', when='@0.13.1')
- depends_on('xsimd', when='@develop')
-
- depends_on('xsimd@8.0.5:', when='@0.24.1: +xsimd')
- depends_on('xsimd@7.4.10:7', when='@0.23.4:0.23 +xsimd')
- depends_on('xsimd@7.4.9:7', when='@0.23.2 +xsimd')
- depends_on('xsimd@7.2.3:7', when='@0.20.7 +xsimd')
- depends_on('xsimd@4.0.0:4', when='@0.15.1 +xsimd')
- depends_on('xsimd@3.1.0:3', when='@0.13.1 +xsimd')
- depends_on('intel-tbb', when='+tbb')
+ url = "https://github.com/QuantStack/xtensor/archive/0.13.1.tar.gz"
+ git = "https://github.com/QuantStack/xtensor.git"
+
+ maintainers = ["ax3l"]
+
+ version("develop", branch="master")
+ version("0.24.1", sha256="dd1bf4c4eba5fbcf386abba2627fcb4a947d14a806c33fde82d0cc1194807ee4")
+ version("0.23.10", sha256="2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c")
+ version("0.23.4", sha256="c8377f8ec995762c89dea2fdf4ac06b53ba491a6f0df3421c4719355e42425d2")
+ version("0.23.2", sha256="fde26dcf93f5d95996b8cc7e556b84930af41ff699492b7b20b2e3335e12f862")
+ version("0.20.7", sha256="b45290d1bb0d6cef44771e7482f1553b2aa54dbf99ef9406fec3eb1e4d01d52b")
+ version("0.15.1", sha256="2f4ac632f7aa8c8e9da99ebbfc949d9129b4d644f715ef16c27658bf4fddcdd3")
+ version("0.13.1", sha256="f9ce4cd2110386d49e3f36bbab62da731c557b6289be19bc172bd7209b92a6bc")
+
+ variant("xsimd", default=True, description="Enable SIMD intrinsics")
+ variant("tbb", default=True, description="Enable TBB parallelization")
+
+ depends_on("xtl", when="@develop")
+ depends_on("xtl@0.7.2:0.7", when="@0.23.2:")
+ depends_on("xtl@0.6.4:0.6", when="@0.20.7")
+ depends_on("xtl@0.4.0:0.4", when="@0.15.1")
+ depends_on("xtl@0.3.3:0.3", when="@0.13.1")
+ depends_on("xsimd", when="@develop")
+
+ depends_on("xsimd@8.0.5:", when="@0.24.1: +xsimd")
+ depends_on("xsimd@7.4.10:7", when="@0.23.4:0.23 +xsimd")
+ depends_on("xsimd@7.4.9:7", when="@0.23.2 +xsimd")
+ depends_on("xsimd@7.2.3:7", when="@0.20.7 +xsimd")
+ depends_on("xsimd@4.0.0:4", when="@0.15.1 +xsimd")
+ depends_on("xsimd@3.1.0:3", when="@0.13.1 +xsimd")
+ depends_on("intel-tbb", when="+tbb")
# C++14 support
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.5')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.5")
# untested: conflicts('%intel@:15')
# untested: conflicts('%pgi@:14')
def cmake_args(self):
args = [
- self.define('BUILD_TESTS', self.run_tests),
- self.define_from_variant('XTENSOR_USE_XSIMD', 'xsimd'),
- self.define_from_variant('XTENSOR_USE_TBB', 'tbb')
+ self.define("BUILD_TESTS", self.run_tests),
+ self.define_from_variant("XTENSOR_USE_XSIMD", "xsimd"),
+ self.define_from_variant("XTENSOR_USE_TBB", "tbb"),
]
return args
diff --git a/var/spack/repos/builtin/packages/xterm/package.py b/var/spack/repos/builtin/packages/xterm/package.py
index 8e6bfa9e1b..5ead715e6f 100644
--- a/var/spack/repos/builtin/packages/xterm/package.py
+++ b/var/spack/repos/builtin/packages/xterm/package.py
@@ -12,30 +12,30 @@ class Xterm(AutotoolsPackage):
that can't use the window system directly."""
homepage = "https://invisible-island.net/xterm/"
- url = "ftp://ftp.invisible-island.net/xterm/xterm-327.tgz"
+ url = "ftp://ftp.invisible-island.net/xterm/xterm-327.tgz"
- version('353', sha256='e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac9bb768')
- version('350', sha256='aefb59eefd310268080d1a90a447368fb97a9a6737bfecfc3800bf6cc304104d')
- version('340', sha256='b5c7f77b7afade798461e2a2f86d5af64f9c9c9f408b1af0f545add978df722a')
- version('330', sha256='7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df')
- version('327', sha256='66fb2f6c35b342148f549c276b12a3aa3fb408e27ab6360ddec513e14376150b')
+ version("353", sha256="e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac9bb768")
+ version("350", sha256="aefb59eefd310268080d1a90a447368fb97a9a6737bfecfc3800bf6cc304104d")
+ version("340", sha256="b5c7f77b7afade798461e2a2f86d5af64f9c9c9f408b1af0f545add978df722a")
+ version("330", sha256="7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df")
+ version("327", sha256="66fb2f6c35b342148f549c276b12a3aa3fb408e27ab6360ddec513e14376150b")
- depends_on('libxft')
- depends_on('fontconfig')
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libxt')
- depends_on('libx11')
- depends_on('libxinerama')
- depends_on('libxpm')
- depends_on('libice')
- depends_on('freetype')
- depends_on('libxrender')
- depends_on('libxext')
- depends_on('libsm')
- depends_on('libxcb')
- depends_on('libxau')
- depends_on('bzip2')
+ depends_on("libxft")
+ depends_on("fontconfig")
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libxt")
+ depends_on("libx11")
+ depends_on("libxinerama")
+ depends_on("libxpm")
+ depends_on("libice")
+ depends_on("freetype")
+ depends_on("libxrender")
+ depends_on("libxext")
+ depends_on("libsm")
+ depends_on("libxcb")
+ depends_on("libxau")
+ depends_on("bzip2")
- depends_on('pkgconfig', type='build')
- depends_on('termcap', type='link')
+ depends_on("pkgconfig", type="build")
+ depends_on("termcap", type="link")
diff --git a/var/spack/repos/builtin/packages/xtl/package.py b/var/spack/repos/builtin/packages/xtl/package.py
index 26e6d14fa5..d5d45020a0 100644
--- a/var/spack/repos/builtin/packages/xtl/package.py
+++ b/var/spack/repos/builtin/packages/xtl/package.py
@@ -10,21 +10,21 @@ class Xtl(CMakePackage):
"""QuantStack tools library"""
homepage = "https://github.com/QuantStack/xtl"
- url = "https://github.com/QuantStack/xtl/archive/0.3.4.tar.gz"
- git = "https://github.com/QuantStack/xtl.git"
+ url = "https://github.com/QuantStack/xtl/archive/0.3.4.tar.gz"
+ git = "https://github.com/QuantStack/xtl.git"
- maintainers = ['ax3l']
+ maintainers = ["ax3l"]
- version('develop', branch='master')
- version('0.7.4', sha256='3c88be0e696b64150c4de7a70f9f09c00a335186b0b0b409771ef9f56bca7d9a')
- version('0.7.2', sha256='95c221bdc6eaba592878090916383e5b9390a076828552256693d5d97f78357c')
- version('0.6.4', sha256='5db5087c37daab3e1d35337782f79972aaaf19218a0de786a0515f247244e390')
- version('0.4.0', sha256='2cfe9acbcc4e484f3aa33a98892a09ffe79bb9c0dfd3ffc57b3561f44c591e7c')
- version('0.3.4', sha256='618536c3998091b0bdd7f8202e8bec9c34e82409c8ee0ea179a2759bdea426e2')
- version('0.3.3', sha256='1110364c2ea0a2536ec6673e46afcb8fa7e92a66593211270bbeb26b85342600')
+ version("develop", branch="master")
+ version("0.7.4", sha256="3c88be0e696b64150c4de7a70f9f09c00a335186b0b0b409771ef9f56bca7d9a")
+ version("0.7.2", sha256="95c221bdc6eaba592878090916383e5b9390a076828552256693d5d97f78357c")
+ version("0.6.4", sha256="5db5087c37daab3e1d35337782f79972aaaf19218a0de786a0515f247244e390")
+ version("0.4.0", sha256="2cfe9acbcc4e484f3aa33a98892a09ffe79bb9c0dfd3ffc57b3561f44c591e7c")
+ version("0.3.4", sha256="618536c3998091b0bdd7f8202e8bec9c34e82409c8ee0ea179a2759bdea426e2")
+ version("0.3.3", sha256="1110364c2ea0a2536ec6673e46afcb8fa7e92a66593211270bbeb26b85342600")
# C++14 support
- conflicts('%gcc@:4.8')
- conflicts('%clang@:3.6')
+ conflicts("%gcc@:4.8")
+ conflicts("%clang@:3.6")
# untested: conflicts('%intel@:15')
# untested: conflicts('%pgi@:14')
diff --git a/var/spack/repos/builtin/packages/xtrans/package.py b/var/spack/repos/builtin/packages/xtrans/package.py
index f2173eb5c1..3e50f8a33a 100644
--- a/var/spack/repos/builtin/packages/xtrans/package.py
+++ b/var/spack/repos/builtin/packages/xtrans/package.py
@@ -15,7 +15,7 @@ class Xtrans(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/lib/libxtrans"
xorg_mirror_path = "lib/xtrans-1.3.5.tar.gz"
- version('1.3.5', sha256='b7a577c1b6c75030145e53b4793db9c88f9359ac49e7d771d4385d21b3e5945d')
+ version("1.3.5", sha256="b7a577c1b6c75030145e53b4793db9c88f9359ac49e7d771d4385d21b3e5945d")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xtrap/package.py b/var/spack/repos/builtin/packages/xtrap/package.py
index 1784ef8d8a..2f3d7fce2f 100644
--- a/var/spack/repos/builtin/packages/xtrap/package.py
+++ b/var/spack/repos/builtin/packages/xtrap/package.py
@@ -12,10 +12,10 @@ class Xtrap(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xtrap"
xorg_mirror_path = "app/xtrap-1.0.2.tar.gz"
- version('1.0.2', sha256='e8916e05bfb0d72a088aaaac0feaf4ad7671d0f509d1037fb3c0c9ea131b93d2')
+ version("1.0.2", sha256="e8916e05bfb0d72a088aaaac0feaf4ad7671d0f509d1037fb3c0c9ea131b93d2")
- depends_on('libx11')
- depends_on('libxtrap')
+ depends_on("libx11")
+ depends_on("libxtrap")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xts/package.py b/var/spack/repos/builtin/packages/xts/package.py
index 4df289b918..eb4543f90c 100644
--- a/var/spack/repos/builtin/packages/xts/package.py
+++ b/var/spack/repos/builtin/packages/xts/package.py
@@ -13,26 +13,26 @@ class Xts(AutotoolsPackage, XorgPackage):
homepage = "https://www.x.org/wiki/XorgTesting/"
xorg_mirror_path = "test/xts-0.99.1.tar.gz"
- version('0.99.1', sha256='d04d987b9a9f8b3921dfe8de8577d0c2a0f21d2c4c3196948fc9805838a352e6')
-
- depends_on('libx11', type='link')
- depends_on('libxext', type='link')
- depends_on('libxi', type='link')
- depends_on('libxtst', type='link')
- depends_on('libxau', type='link')
- depends_on('libxt', type='link')
- depends_on('libxmu', type='link')
- depends_on('libxaw', type='link')
- depends_on('inputproto')
- depends_on('recordproto')
- depends_on('fixesproto')
-
- depends_on('xtrans')
- depends_on('bdftopcf', type='build')
- depends_on('mkfontdir', type='build')
- depends_on('perl', type='build')
- depends_on('xset', type='build')
- depends_on('xdpyinfo', type='build')
+ version("0.99.1", sha256="d04d987b9a9f8b3921dfe8de8577d0c2a0f21d2c4c3196948fc9805838a352e6")
+
+ depends_on("libx11", type="link")
+ depends_on("libxext", type="link")
+ depends_on("libxi", type="link")
+ depends_on("libxtst", type="link")
+ depends_on("libxau", type="link")
+ depends_on("libxt", type="link")
+ depends_on("libxmu", type="link")
+ depends_on("libxaw", type="link")
+ depends_on("inputproto")
+ depends_on("recordproto")
+ depends_on("fixesproto")
+
+ depends_on("xtrans")
+ depends_on("bdftopcf", type="build")
+ depends_on("mkfontdir", type="build")
+ depends_on("perl", type="build")
+ depends_on("xset", type="build")
+ depends_on("xdpyinfo", type="build")
# FIXME: Crashes during compilation
# error: redeclaration of enumerator 'XawChainTop'
diff --git a/var/spack/repos/builtin/packages/xvidtune/package.py b/var/spack/repos/builtin/packages/xvidtune/package.py
index 9fad6f5121..6a58ac22d8 100644
--- a/var/spack/repos/builtin/packages/xvidtune/package.py
+++ b/var/spack/repos/builtin/packages/xvidtune/package.py
@@ -13,13 +13,13 @@ class Xvidtune(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xvidtune"
xorg_mirror_path = "app/xvidtune-1.0.3.tar.gz"
- version('1.0.3', sha256='c0e158388d60e1ce054ce462958a46894604bd95e13093f3476ec6d9bbd786d4')
+ version("1.0.3", sha256="c0e158388d60e1ce054ce462958a46894604bd95e13093f3476ec6d9bbd786d4")
- depends_on('libxxf86vm')
- depends_on('libxt')
- depends_on('libxaw')
- depends_on('libxmu')
- depends_on('libx11')
+ depends_on("libxxf86vm")
+ depends_on("libxt")
+ depends_on("libxaw")
+ depends_on("libxmu")
+ depends_on("libx11")
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xvinfo/package.py b/var/spack/repos/builtin/packages/xvinfo/package.py
index d4e4632010..cd419c8391 100644
--- a/var/spack/repos/builtin/packages/xvinfo/package.py
+++ b/var/spack/repos/builtin/packages/xvinfo/package.py
@@ -13,11 +13,11 @@ class Xvinfo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xvinfo"
xorg_mirror_path = "app/xvinfo-1.1.3.tar.gz"
- version('1.1.3', sha256='1c1c2f97abfe114389e94399cc7bf3dfd802ed30ad41ba23921d005bd8a6c39f')
+ version("1.1.3", sha256="1c1c2f97abfe114389e94399cc7bf3dfd802ed30ad41ba23921d005bd8a6c39f")
- depends_on('libxv')
- depends_on('libx11')
+ depends_on("libxv")
+ depends_on("libx11")
- depends_on('xproto@7.0.25:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.25:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xwd/package.py b/var/spack/repos/builtin/packages/xwd/package.py
index 23aa28b3c0..1ac661302e 100644
--- a/var/spack/repos/builtin/packages/xwd/package.py
+++ b/var/spack/repos/builtin/packages/xwd/package.py
@@ -12,11 +12,11 @@ class Xwd(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xwd"
xorg_mirror_path = "app/xwd-1.0.6.tar.gz"
- version('1.0.6', sha256='ff01f0a4b736f955aaf7c8c3942211bc52f9fb75d96f2b19777f33fff5dc5b83')
+ version("1.0.6", sha256="ff01f0a4b736f955aaf7c8c3942211bc52f9fb75d96f2b19777f33fff5dc5b83")
- depends_on('libx11')
- depends_on('libxkbfile')
+ depends_on("libx11")
+ depends_on("libxkbfile")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xwidgets/package.py b/var/spack/repos/builtin/packages/xwidgets/package.py
index a8dccb9294..1ea2ea3a15 100644
--- a/var/spack/repos/builtin/packages/xwidgets/package.py
+++ b/var/spack/repos/builtin/packages/xwidgets/package.py
@@ -10,15 +10,15 @@ 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"
+ url = "https://github.com/jupyter-xeus/xwidgets/archive/0.25.0.tar.gz"
+ git = "https://github.com/jupyter-xeus/xwidgets.git"
- maintainers = ['tomstitt']
+ maintainers = ["tomstitt"]
- version('master', branch='master')
- version('0.25.0', sha256='7b6d36999e3b926c40389167c48b33f234a075365f089f89571b33a160421d8e')
+ version("master", branch="master")
+ version("0.25.0", sha256="7b6d36999e3b926c40389167c48b33f234a075365f089f89571b33a160421d8e")
- depends_on('xtl@0.7.0:0.7', when='@0.25.0:')
- depends_on('xproperty@0.11.0:0.11', when='@0.25.0:')
- depends_on('xeus@1.0:1', when='@0.25.0:')
- depends_on('nlohmann-json@3.6.1:3', when='@0.25.0:')
+ depends_on("xtl@0.7.0:0.7", when="@0.25.0:")
+ depends_on("xproperty@0.11.0:0.11", when="@0.25.0:")
+ depends_on("xeus@1.0:1", when="@0.25.0:")
+ depends_on("nlohmann-json@3.6.1:3", when="@0.25.0:")
diff --git a/var/spack/repos/builtin/packages/xwininfo/package.py b/var/spack/repos/builtin/packages/xwininfo/package.py
index c2e7157704..a90ff727e6 100644
--- a/var/spack/repos/builtin/packages/xwininfo/package.py
+++ b/var/spack/repos/builtin/packages/xwininfo/package.py
@@ -13,11 +13,11 @@ class Xwininfo(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xwininfo"
xorg_mirror_path = "app/xwininfo-1.1.3.tar.gz"
- version('1.1.3', sha256='784f8b9c9ddab24ce4faa65fde6430a8d7cf3c0564573582452cc99c599bd941')
+ version("1.1.3", sha256="784f8b9c9ddab24ce4faa65fde6430a8d7cf3c0564573582452cc99c599bd941")
- depends_on('libxcb@1.6:')
- depends_on('libx11')
+ depends_on("libxcb@1.6:")
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xwud/package.py b/var/spack/repos/builtin/packages/xwud/package.py
index 1571fb19f8..b7d53da3cd 100644
--- a/var/spack/repos/builtin/packages/xwud/package.py
+++ b/var/spack/repos/builtin/packages/xwud/package.py
@@ -13,10 +13,10 @@ class Xwud(AutotoolsPackage, XorgPackage):
homepage = "https://cgit.freedesktop.org/xorg/app/xwud"
xorg_mirror_path = "app/xwud-1.0.4.tar.gz"
- version('1.0.4', sha256='b7c124ccd87f529daedb7ef01c670ce6049fe141fd9ba7f444361de34510cd6c')
+ version("1.0.4", sha256="b7c124ccd87f529daedb7ef01c670ce6049fe141fd9ba7f444361de34510cd6c")
- depends_on('libx11')
+ depends_on("libx11")
- depends_on('xproto@7.0.17:')
- depends_on('pkgconfig', type='build')
- depends_on('util-macros', type='build')
+ depends_on("xproto@7.0.17:")
+ depends_on("pkgconfig", type="build")
+ depends_on("util-macros", type="build")
diff --git a/var/spack/repos/builtin/packages/xxd-standalone/package.py b/var/spack/repos/builtin/packages/xxd-standalone/package.py
index 31383c445c..86d71ae4f6 100644
--- a/var/spack/repos/builtin/packages/xxd-standalone/package.py
+++ b/var/spack/repos/builtin/packages/xxd-standalone/package.py
@@ -14,15 +14,15 @@ class XxdStandalone(MakefilePackage):
it makes sense to have it available as a standalone package."""
homepage = "https://www.vim.org/"
- url = "https://github.com/vim/vim/archive/v8.2.1201.tar.gz"
+ url = "https://github.com/vim/vim/archive/v8.2.1201.tar.gz"
- maintainers = ['haampie']
- build_targets = ['-C', os.path.join('src', 'xxd')]
+ maintainers = ["haampie"]
+ build_targets = ["-C", os.path.join("src", "xxd")]
- provides('xxd')
+ provides("xxd")
- version('8.2.1201', sha256='39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d')
+ version("8.2.1201", sha256="39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d")
def install(self, spec, prefix):
mkdirp(prefix.bin)
- install(os.path.join(self.build_directory, 'src', 'xxd', 'xxd'), prefix.bin)
+ install(os.path.join(self.build_directory, "src", "xxd", "xxd"), prefix.bin)
diff --git a/var/spack/repos/builtin/packages/xxhash/package.py b/var/spack/repos/builtin/packages/xxhash/package.py
index c4a7bbb186..2638da5e04 100644
--- a/var/spack/repos/builtin/packages/xxhash/package.py
+++ b/var/spack/repos/builtin/packages/xxhash/package.py
@@ -15,34 +15,34 @@ class Xxhash(MakefilePackage):
"""
homepage = "https://github.com/Cyan4973/xxHash"
- url = "https://github.com/Cyan4973/xxHash/archive/v0.6.5.tar.gz"
-
- version('0.8.1', sha256='3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c')
- version('0.8.0', sha256='7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f')
- version('0.7.4', sha256='4d9706c9da4fbdf901598f5e3b71db0eddd4ac962e827a73ebf75d66dfd820fe')
- version('0.6.5', sha256='19030315f4fc1b4b2cdb9d7a317069a109f90e39d1fe4c9159b7aaa39030eb95')
- version('0.6.4', sha256='4570ccd111df6b6386502791397906bf69b7371eb209af7d41debc2f074cdb22')
- version('0.6.3', sha256='d8c739ec666ac2af983a61dc932aaa2a8873df974d333a9922d472a121f2106e')
- version('0.6.2', sha256='e4da793acbe411e7572124f958fa53b280e5f1821a8bf78d79ace972950b8f82')
- version('0.6.1', sha256='a940123baa6c71b75b6c02836bae2155cd2f74f7682e1a1d6f7b889f7bc9e7f8')
- version('0.6.0', sha256='2adee77416e1bd53d1bf689d78947ff4e9a603aa319c84c9111ccf53f1a646e8')
- version('0.5.1', sha256='0171af39eefa06be1e616bc43b250d13bba417e4741135ec85c1fe8dc391997d')
- version('0.5.0', sha256='9605cd18d40d798eb1262bc0c2a154e1a3c138a6a9a0c4c792e855d0c08c23e1')
+ url = "https://github.com/Cyan4973/xxHash/archive/v0.6.5.tar.gz"
+
+ version("0.8.1", sha256="3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c")
+ version("0.8.0", sha256="7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f")
+ version("0.7.4", sha256="4d9706c9da4fbdf901598f5e3b71db0eddd4ac962e827a73ebf75d66dfd820fe")
+ version("0.6.5", sha256="19030315f4fc1b4b2cdb9d7a317069a109f90e39d1fe4c9159b7aaa39030eb95")
+ version("0.6.4", sha256="4570ccd111df6b6386502791397906bf69b7371eb209af7d41debc2f074cdb22")
+ version("0.6.3", sha256="d8c739ec666ac2af983a61dc932aaa2a8873df974d333a9922d472a121f2106e")
+ version("0.6.2", sha256="e4da793acbe411e7572124f958fa53b280e5f1821a8bf78d79ace972950b8f82")
+ version("0.6.1", sha256="a940123baa6c71b75b6c02836bae2155cd2f74f7682e1a1d6f7b889f7bc9e7f8")
+ version("0.6.0", sha256="2adee77416e1bd53d1bf689d78947ff4e9a603aa319c84c9111ccf53f1a646e8")
+ version("0.5.1", sha256="0171af39eefa06be1e616bc43b250d13bba417e4741135ec85c1fe8dc391997d")
+ version("0.5.0", sha256="9605cd18d40d798eb1262bc0c2a154e1a3c138a6a9a0c4c792e855d0c08c23e1")
@property
def build_targets(self):
targets = []
- if '%nvhpc' in self.spec:
- if self.spec.satisfies('%nvhpc@:20.11'):
- targets.append('CFLAGS=-O1')
+ if "%nvhpc" in self.spec:
+ if self.spec.satisfies("%nvhpc@:20.11"):
+ targets.append("CFLAGS=-O1")
- if 'avx512' in self.spec.target:
+ if "avx512" in self.spec.target:
# Workaround AVX512 compiler issue
- targets.append('CPPFLAGS=-DXXH_VECTOR=XXH_AVX2')
+ targets.append("CPPFLAGS=-DXXH_VECTOR=XXH_AVX2")
return targets
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
- makefile.filter('/usr/local', prefix)
+ makefile.filter("/usr/local", prefix)
diff --git a/var/spack/repos/builtin/packages/xyce/package.py b/var/spack/repos/builtin/packages/xyce/package.py
index b02e918944..cb0a5434bc 100644
--- a/var/spack/repos/builtin/packages/xyce/package.py
+++ b/var/spack/repos/builtin/packages/xyce/package.py
@@ -17,71 +17,78 @@ class Xyce(CMakePackage):
network systems, such as neural networks and power grids.
"""
- homepage = 'https://xyce.sandia.gov'
- git = 'https://github.com/Xyce/Xyce.git'
- url = 'https://github.com/Xyce/Xyce/archive/Release-7.2.0.tar.gz'
- maintainers = ['kuberry']
-
- version('github.master', branch='master', preferred=True)
- version('7.5.0', '854d7d5e19e0ee2138d1f20f10f8f27f2bebb94ec81c157040955cff7250dacd')
- version('7.4.0', '2d6bc1b7377834b2e0bf50131e96728c5be83dbb3548e765bb48911067c87c91')
- version('7.3.0', '43869a70967f573ff6f00451db3f4642684834bdad1fd3926380e3789016b446')
- version('7.2.0', 'cf49705278ecda46373784bb24925cb97f9017b6adff49e4416de146bdd6a4b5')
-
- depends_on('cmake@3.13:', type='build')
- depends_on('flex')
- depends_on('bison')
-
- variant('build_type', default='Release',
- description='CMake build type',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ homepage = "https://xyce.sandia.gov"
+ git = "https://github.com/Xyce/Xyce.git"
+ url = "https://github.com/Xyce/Xyce/archive/Release-7.2.0.tar.gz"
+ maintainers = ["kuberry"]
+
+ version("github.master", branch="master", preferred=True)
+ version("7.5.0", "854d7d5e19e0ee2138d1f20f10f8f27f2bebb94ec81c157040955cff7250dacd")
+ version("7.4.0", "2d6bc1b7377834b2e0bf50131e96728c5be83dbb3548e765bb48911067c87c91")
+ version("7.3.0", "43869a70967f573ff6f00451db3f4642684834bdad1fd3926380e3789016b446")
+ version("7.2.0", "cf49705278ecda46373784bb24925cb97f9017b6adff49e4416de146bdd6a4b5")
+
+ depends_on("cmake@3.13:", type="build")
+ depends_on("flex")
+ depends_on("bison")
+
+ variant(
+ "build_type",
+ default="Release",
+ description="CMake build type",
+ values=("Debug", "Release", "RelWithDebInfo", "MinSizeRel"),
+ )
- variant('mpi', default=True, description='Enable MPI support')
- depends_on('mpi', when='+mpi')
+ variant("mpi", default=True, description="Enable MPI support")
+ depends_on("mpi", when="+mpi")
- variant('plugin', default=False, description='Enable plug-in support for Xyce')
- depends_on('adms', type=('build', 'run'), when='+plugin')
+ variant("plugin", default=False, description="Enable plug-in support for Xyce")
+ depends_on("adms", type=("build", "run"), when="+plugin")
- variant('shared', default=False, description='Enable shared libraries for Xyce')
- conflicts('~shared', when='+plugin', msg='Disabling shared libraries is incompatible with the activation of plug-in support')
+ variant("shared", default=False, description="Enable shared libraries for Xyce")
+ conflicts(
+ "~shared",
+ when="+plugin",
+ msg="Disabling shared libraries is incompatible with the activation of plug-in support",
+ )
# any option other than cxxstd=11 would be ignored in Xyce
# this defaults to 11, consistent with what will be used,
# and produces an error if any other value is attempted
- cxxstd_choices = ['11']
- variant('cxxstd', default='11', values=cxxstd_choices, multi=False)
+ cxxstd_choices = ["11"]
+ variant("cxxstd", default="11", values=cxxstd_choices, multi=False)
- variant('pymi', default=False, description='Enable Python Model Interpreter for Xyce')
- depends_on('python@3:', type=('build', 'link', 'run'), when='+pymi')
- depends_on('py-pip', type='run', when='+pymi')
- depends_on('py-pybind11@2.6.1:', type=('build', 'link'), when='+pymi')
+ variant("pymi", default=False, description="Enable Python Model Interpreter for Xyce")
+ depends_on("python@3:", type=("build", "link", "run"), when="+pymi")
+ depends_on("py-pip", type="run", when="+pymi")
+ depends_on("py-pybind11@2.6.1:", type=("build", "link"), when="+pymi")
depends_on(
- 'trilinos'
- '+amesos+amesos2+anasazi+aztec+basker+belos+complex+epetra+epetraext'
- '+explicit_template_instantiation+fortran+ifpack+isorropia+kokkos+nox'
- '+sacado+suite-sparse+trilinoscouplings+zoltan+stokhos+epetraextbtf'
- '+epetraextexperimental+epetraextgraphreorderings'
+ "trilinos"
+ "+amesos+amesos2+anasazi+aztec+basker+belos+complex+epetra+epetraext"
+ "+explicit_template_instantiation+fortran+ifpack+isorropia+kokkos+nox"
+ "+sacado+suite-sparse+trilinoscouplings+zoltan+stokhos+epetraextbtf"
+ "+epetraextexperimental+epetraextgraphreorderings"
)
# tested versions of Trilinos for everything up to 7.4.0
- depends_on('trilinos@12.12.1:13.2.0', when='@:7.4.0')
- depends_on('trilinos gotype=all cxxstd=11', when='^trilinos@:12.15')
+ depends_on("trilinos@12.12.1:13.2.0", when="@:7.4.0")
+ depends_on("trilinos gotype=all cxxstd=11", when="^trilinos@:12.15")
# pymi requires Kokkos/KokkosKernels >= 3.3, Trilinos 13.2 onward
- depends_on('trilinos@13.2.0:', when='+pymi')
+ depends_on("trilinos@13.2.0:", when="+pymi")
# Propagate variants to trilinos:
- for _variant in ('mpi',):
- depends_on('trilinos~' + _variant, when='~' + _variant)
- depends_on('trilinos+' + _variant, when='+' + _variant)
+ for _variant in ("mpi",):
+ depends_on("trilinos~" + _variant, when="~" + _variant)
+ depends_on("trilinos+" + _variant, when="+" + _variant)
# The default settings for various Trilinos variants would require the
# installation of many more packages than are needed for Xyce.
- depends_on('trilinos~float~ifpack2~ml~muelu~zoltan2')
+ depends_on("trilinos~float~ifpack2~ml~muelu~zoltan2")
def cmake_args(self):
spec = self.spec
- trilinos = spec['trilinos']
+ trilinos = spec["trilinos"]
cxx_flags = [self.compiler.cxx_pic_flag]
try:
@@ -91,26 +98,28 @@ class Xyce(CMakePackage):
cxx_flags.append("-DXyce_INTRUSIVE_PCE -Wreorder -O3")
options = []
- options.extend([
- '-DTrilinos_DIR:PATH={0}'.format(trilinos.prefix),
- '-DCMAKE_CXX_FLAGS:STRING={0}'.format(' '.join(cxx_flags)),
- ])
-
- if '+mpi' in spec:
- options.append('-DCMAKE_CXX_COMPILER:STRING={0}'.format(spec['mpi'].mpicxx))
+ options.extend(
+ [
+ "-DTrilinos_DIR:PATH={0}".format(trilinos.prefix),
+ "-DCMAKE_CXX_FLAGS:STRING={0}".format(" ".join(cxx_flags)),
+ ]
+ )
+
+ if "+mpi" in spec:
+ options.append("-DCMAKE_CXX_COMPILER:STRING={0}".format(spec["mpi"].mpicxx))
else:
- options.append('-DCMAKE_CXX_COMPILER:STRING={0}'.format(self.compiler.cxx))
-
- options.append(self.define_from_variant('Xyce_PLUGIN_SUPPORT', 'plugin'))
- options.append(self.define_from_variant('BUILD_SHARED_LIBS', 'shared'))
- options.append(self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
-
- if '+pymi' in spec:
- pybind11 = spec['py-pybind11']
- python = spec['python']
- options.append('-DXyce_PYMI:BOOL=ON')
- options.append('-Dpybind11_DIR:PATH={0}'.format(pybind11.prefix))
- options.append('-DPython_ROOT_DIR:FILEPATH={0}'.format(python.prefix))
- options.append('-DPython_FIND_STRATEGY=LOCATION')
+ options.append("-DCMAKE_CXX_COMPILER:STRING={0}".format(self.compiler.cxx))
+
+ options.append(self.define_from_variant("Xyce_PLUGIN_SUPPORT", "plugin"))
+ options.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
+ options.append(self.define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"))
+
+ if "+pymi" in spec:
+ pybind11 = spec["py-pybind11"]
+ python = spec["python"]
+ options.append("-DXyce_PYMI:BOOL=ON")
+ options.append("-Dpybind11_DIR:PATH={0}".format(pybind11.prefix))
+ options.append("-DPython_ROOT_DIR:FILEPATH={0}".format(python.prefix))
+ options.append("-DPython_FIND_STRATEGY=LOCATION")
return options
diff --git a/var/spack/repos/builtin/packages/xz/package.py b/var/spack/repos/builtin/packages/xz/package.py
index dc4661582e..f6e2f9f1a2 100644
--- a/var/spack/repos/builtin/packages/xz/package.py
+++ b/var/spack/repos/builtin/packages/xz/package.py
@@ -18,34 +18,38 @@ class Xz(AutotoolsPackage, SourceforgePackage):
sourceforge_mirror_path = "lzmautils/files/xz-5.2.5.tar.bz2"
list_url = "https://tukaani.org/xz/old.html"
- executables = [r'^xz$']
+ executables = [r"^xz$"]
- version('5.2.5', sha256='5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df')
- version('5.2.4', sha256='3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf')
- version('5.2.3', sha256='fd9ca16de1052aac899ad3495ad20dfa906c27b4a5070102a2ec35ca3a4740c1')
- version('5.2.2', sha256='6ff5f57a4b9167155e35e6da8b529de69270efb2b4cf3fbabf41a4ee793840b5')
- version('5.2.0', sha256='f7357d7455a1670229b3cca021da71dd5d13b789db62743c20624bdffc9cc4a5')
+ version("5.2.5", sha256="5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df")
+ version("5.2.4", sha256="3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf")
+ version("5.2.3", sha256="fd9ca16de1052aac899ad3495ad20dfa906c27b4a5070102a2ec35ca3a4740c1")
+ version("5.2.2", sha256="6ff5f57a4b9167155e35e6da8b529de69270efb2b4cf3fbabf41a4ee793840b5")
+ version("5.2.0", sha256="f7357d7455a1670229b3cca021da71dd5d13b789db62743c20624bdffc9cc4a5")
- variant('pic', default=False,
- description='Compile with position independent code.')
+ variant("pic", default=False, description="Compile with position independent code.")
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
def configure_args(self):
- return self.enable_or_disable('libs')
+ return self.enable_or_disable("libs")
def flag_handler(self, name, flags):
- if name == 'cflags' and '+pic' in self.spec:
+ if name == "cflags" and "+pic" in self.spec:
flags.append(self.compiler.cc_pic_flag)
return (flags, None, None)
@property
def libs(self):
- return find_libraries(['liblzma'], root=self.prefix, recursive=True)
+ return find_libraries(["liblzma"], root=self.prefix, recursive=True)
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'xz \(XZ Utils\) (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"xz \(XZ Utils\) (\S+)", output)
return match.group(1) if match else None
diff --git a/var/spack/repos/builtin/packages/yajl/package.py b/var/spack/repos/builtin/packages/yajl/package.py
index 2fc292fa11..ef25266195 100644
--- a/var/spack/repos/builtin/packages/yajl/package.py
+++ b/var/spack/repos/builtin/packages/yajl/package.py
@@ -10,8 +10,8 @@ class Yajl(CMakePackage):
"""Yet Another JSON Library (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"
+ url = "https://github.com/lloyd/yajl/archive/2.1.0.zip"
+ git = "https://github.com/lloyd/yajl.git"
- version('develop', branch='master')
- version('2.1.0', sha256='7458c4ed10ebe52c54f57e741bbfde69c73495e76e0f6a45d6d1986cf24794bc')
+ version("develop", branch="master")
+ version("2.1.0", sha256="7458c4ed10ebe52c54f57e741bbfde69c73495e76e0f6a45d6d1986cf24794bc")
diff --git a/var/spack/repos/builtin/packages/yaksa/package.py b/var/spack/repos/builtin/packages/yaksa/package.py
index a01ca4d34e..27b78384c1 100644
--- a/var/spack/repos/builtin/packages/yaksa/package.py
+++ b/var/spack/repos/builtin/packages/yaksa/package.py
@@ -23,37 +23,37 @@ class Yaksa(AutotoolsPackage, CudaPackage, ROCmPackage):
GPUs."""
homepage = "https://www.yaksa.org"
- url = "https://github.com/pmodels/yaksa/archive/refs/tags/v0.2.tar.gz"
- maintainers = ['raffenet', 'yfguo', 'hzhou']
+ url = "https://github.com/pmodels/yaksa/archive/refs/tags/v0.2.tar.gz"
+ maintainers = ["raffenet", "yfguo", "hzhou"]
- version('0.2', sha256='9401cb6153dc8c34ddb9781bbabd418fd26b0a27b5da3294ecc21af7be9c86f2')
+ version("0.2", sha256="9401cb6153dc8c34ddb9781bbabd418fd26b0a27b5da3294ecc21af7be9c86f2")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('python@3:', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("python@3:", type="build")
def autoreconf(self, spec, prefix):
- sh = which('sh')
- sh('autogen.sh')
+ sh = which("sh")
+ sh("autogen.sh")
def configure_args(self):
spec = self.spec
config_args = []
- config_args += self.with_or_without('cuda', activation_value='prefix')
- if '+cuda' in spec:
- cuda_archs = spec.variants['cuda_arch'].value
- if 'none' not in cuda_archs:
- config_args.append('--with-cuda-sm={0}'.format(",".join(cuda_archs)))
-
- if '+rocm' in spec:
- config_args.append('--with-hip={0}'.format(spec['hip'].prefix))
- rocm_archs = spec.variants['amdgpu_target'].value
- if 'none' not in rocm_archs:
- config_args.append('--with-hip-sm={0}'.format(",".join(rocm_archs)))
+ config_args += self.with_or_without("cuda", activation_value="prefix")
+ if "+cuda" in spec:
+ cuda_archs = spec.variants["cuda_arch"].value
+ if "none" not in cuda_archs:
+ config_args.append("--with-cuda-sm={0}".format(",".join(cuda_archs)))
+
+ if "+rocm" in spec:
+ config_args.append("--with-hip={0}".format(spec["hip"].prefix))
+ rocm_archs = spec.variants["amdgpu_target"].value
+ if "none" not in rocm_archs:
+ config_args.append("--with-hip-sm={0}".format(",".join(rocm_archs)))
else:
- config_args.append('--without-hip')
+ config_args.append("--without-hip")
return config_args
diff --git a/var/spack/repos/builtin/packages/yambo/package.py b/var/spack/repos/builtin/packages/yambo/package.py
index 996c41e93a..75a13e1b84 100644
--- a/var/spack/repos/builtin/packages/yambo/package.py
+++ b/var/spack/repos/builtin/packages/yambo/package.py
@@ -20,49 +20,51 @@ class Yambo(AutotoolsPackage):
homepage = "http://www.yambo-code.org/index.php"
url = "https://github.com/yambo-code/yambo/archive/4.2.2.tar.gz"
- version('4.2.2', sha256='86b4ebe679387233266aba49948246c85a32b1e6840d024f162962bd0112448c')
- version('4.2.1', sha256='8ccd0ca75cc32d9266d4a37edd2a7396cf5038f3a68be07c0f0f77d1afc72bdc')
- version('4.2.0', sha256='9f78c4237ff363ff4e9ea5eeea671b6fff783d9a6078cc31b0b1abeb1f040f4d')
+ version("4.2.2", sha256="86b4ebe679387233266aba49948246c85a32b1e6840d024f162962bd0112448c")
+ version("4.2.1", sha256="8ccd0ca75cc32d9266d4a37edd2a7396cf5038f3a68be07c0f0f77d1afc72bdc")
+ version("4.2.0", sha256="9f78c4237ff363ff4e9ea5eeea671b6fff783d9a6078cc31b0b1abeb1f040f4d")
- variant('dp', default=False, description='Enable double precision')
+ variant("dp", default=False, description="Enable double precision")
variant(
- 'profile', values=any_combination_of('time', 'memory'),
- description='Activate profiling of specific sections'
+ "profile",
+ values=any_combination_of("time", "memory"),
+ description="Activate profiling of specific sections",
)
variant(
- 'io', values=any_combination_of('iotk', 'etsf-io'),
- description='Activate support for different io formats (requires network access)',
+ "io",
+ values=any_combination_of("iotk", "etsf-io"),
+ description="Activate support for different io formats (requires network access)",
)
# MPI + OpenMP parallelism
- variant('mpi', default=True, description='Enable MPI support')
- variant('openmp', default=False, description='Enable OpenMP support')
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("openmp", default=False, description="Enable OpenMP support")
- depends_on('blas')
- depends_on('lapack')
+ depends_on("blas")
+ depends_on("lapack")
# MPI dependencies are forced, until we have proper forwarding of variants
#
# Note that yambo is used as an application, and not linked as a library,
# thus there will be no case where another package pulls-in e.g.
# netcdf-c+mpi and wants to depend on yambo~mpi.
- depends_on('mpi', when='+mpi')
- depends_on('netcdf-c+mpi', when='+mpi')
- depends_on('hdf5+mpi', when='+mpi')
- depends_on('fftw+mpi', when='+mpi')
- depends_on('scalapack', when='+mpi')
+ depends_on("mpi", when="+mpi")
+ depends_on("netcdf-c+mpi", when="+mpi")
+ depends_on("hdf5+mpi", when="+mpi")
+ depends_on("fftw+mpi", when="+mpi")
+ depends_on("scalapack", when="+mpi")
- depends_on('netcdf-c~mpi', when='~mpi')
- depends_on('hdf5~mpi', when='~mpi')
- depends_on('fftw~mpi', when='~mpi')
+ depends_on("netcdf-c~mpi", when="~mpi")
+ depends_on("hdf5~mpi", when="~mpi")
+ depends_on("fftw~mpi", when="~mpi")
- depends_on('hdf5+fortran')
- depends_on('netcdf-c')
- depends_on('netcdf-fortran')
- depends_on('libxc@2.0.3:')
+ depends_on("hdf5+fortran")
+ depends_on("netcdf-c")
+ depends_on("netcdf-fortran")
+ depends_on("libxc@2.0.3:")
- build_targets = ['all']
+ build_targets = ["all"]
parallel = False
@@ -70,19 +72,19 @@ class Yambo(AutotoolsPackage):
# hard-coded, which causes a failure at configure time due to the
# current working directory in Spack. Fix this by using the absolute
# path to the file.
- @run_before('configure')
+ @run_before("configure")
def filter_configure(self):
- report_abspath = join_path(self.build_directory, 'config', 'report')
- filter_file('config/report', report_abspath, 'configure')
+ report_abspath = join_path(self.build_directory, "config", "report")
+ filter_file("config/report", report_abspath, "configure")
def enable_or_disable_time(self, activated):
- return '--enable-time-profile' if activated else '--disable-time-profile'
+ return "--enable-time-profile" if activated else "--disable-time-profile"
def enable_or_disable_memory(self, activated):
- return '--enable-memory-profile' if activated else '--disable-memory-profile'
+ return "--enable-memory-profile" if activated else "--disable-memory-profile"
def enable_or_disable_openmp(self, activated):
- return '--enable-open-mp' if activated else '--disable-open-mp'
+ return "--enable-open-mp" if activated else "--disable-open-mp"
def configure_args(self):
@@ -90,56 +92,60 @@ class Yambo(AutotoolsPackage):
# As of version 4.2.1 there are hard-coded paths that make
# the build process fail if the target prefix is not the
# configure directory
- '--prefix={0}'.format(self.stage.source_path),
- '--disable-keep-objects',
- '--with-editor=none'
+ "--prefix={0}".format(self.stage.source_path),
+ "--disable-keep-objects",
+ "--with-editor=none",
]
spec = self.spec
# Double precision
- args.extend(self.enable_or_disable('dp'))
+ args.extend(self.enable_or_disable("dp"))
# Application profiling
- args.extend(self.enable_or_disable('profile'))
+ args.extend(self.enable_or_disable("profile"))
# MPI + threading
- args.extend(self.enable_or_disable('mpi'))
- args.extend(self.enable_or_disable('openmp'))
+ args.extend(self.enable_or_disable("mpi"))
+ args.extend(self.enable_or_disable("openmp"))
# LAPACK
- if '+mpi' in spec:
- args.append('--with-scalapack-libs={0}'.format(
- spec['scalapack'].libs +
- spec['lapack'].libs +
- spec['blas'].libs
- ))
-
- args.extend([
- '--with-blas-libs={0}'.format(spec['blas'].libs),
- '--with-lapack-libs={0}'.format(spec['lapack'].libs)
- ])
+ if "+mpi" in spec:
+ args.append(
+ "--with-scalapack-libs={0}".format(
+ spec["scalapack"].libs + spec["lapack"].libs + spec["blas"].libs
+ )
+ )
+
+ args.extend(
+ [
+ "--with-blas-libs={0}".format(spec["blas"].libs),
+ "--with-lapack-libs={0}".format(spec["lapack"].libs),
+ ]
+ )
# Netcdf
- args.extend([
- '--enable-netcdf-hdf5',
- '--enable-hdf5-compression',
- '--with-hdf5-libs={0}'.format(spec['hdf5'].libs),
- '--with-netcdf-path={0}'.format(spec['netcdf-c'].prefix),
- '--with-netcdff-path={0}'.format(spec['netcdf-fortran'].prefix)
- ])
-
- args.extend(self.enable_or_disable('io'))
+ args.extend(
+ [
+ "--enable-netcdf-hdf5",
+ "--enable-hdf5-compression",
+ "--with-hdf5-libs={0}".format(spec["hdf5"].libs),
+ "--with-netcdf-path={0}".format(spec["netcdf-c"].prefix),
+ "--with-netcdff-path={0}".format(spec["netcdf-fortran"].prefix),
+ ]
+ )
+
+ args.extend(self.enable_or_disable("io"))
# Other dependencies
- args.append('--with-fft-path={0}'.format(spec['fftw'].prefix))
- args.append('--with-libxc-path={0}'.format(spec['libxc'].prefix))
+ args.append("--with-fft-path={0}".format(spec["fftw"].prefix))
+ args.append("--with-libxc-path={0}".format(spec["libxc"].prefix))
return args
def install(self, spec, prefix):
# As of version 4.2.1 an 'install' target is advertized,
# but not present
- install_tree('bin', prefix.bin)
- install_tree('lib', prefix.lib)
- install_tree('include', prefix.include)
- install_tree('driver', prefix.driver)
+ install_tree("bin", prefix.bin)
+ install_tree("lib", prefix.lib)
+ install_tree("include", prefix.include)
+ install_tree("driver", prefix.driver)
diff --git a/var/spack/repos/builtin/packages/yaml-cpp/package.py b/var/spack/repos/builtin/packages/yaml-cpp/package.py
index 83789e3624..6b46a6b0cd 100644
--- a/var/spack/repos/builtin/packages/yaml-cpp/package.py
+++ b/var/spack/repos/builtin/packages/yaml-cpp/package.py
@@ -7,46 +7,44 @@ from spack.package import *
from spack.pkg.builtin.boost import Boost
from spack.spec import ConflictsInSpecError
-yaml_cpp_tests_libcxx_error_msg = 'yaml-cpp tests incompatible with libc++'
+yaml_cpp_tests_libcxx_error_msg = "yaml-cpp tests incompatible with libc++"
class YamlCpp(CMakePackage):
"""A YAML parser and emitter in C++"""
homepage = "https://github.com/jbeder/yaml-cpp"
- url = "https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.5.3.tar.gz"
- git = "https://github.com/jbeder/yaml-cpp.git"
- maintainers = ['eschnett']
+ url = "https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.5.3.tar.gz"
+ git = "https://github.com/jbeder/yaml-cpp.git"
+ maintainers = ["eschnett"]
- version('develop', branch='master')
- version('0.7.0', sha256='43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3')
- version('0.6.3', sha256='77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed')
- version('0.6.2', sha256='e4d8560e163c3d875fd5d9e5542b5fd5bec810febdcba61481fe5fc4e6b1fd05')
- version('0.5.3', sha256='decc5beabb86e8ed9ebeb04358d5363a5c4f72d458b2c788cb2f3ac9c19467b2')
- version('0.3.0', sha256='ab8d0e07aa14f10224ed6682065569761f363ec44bc36fcdb2946f6d38fe5a89')
+ version("develop", branch="master")
+ version("0.7.0", sha256="43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3")
+ version("0.6.3", sha256="77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed")
+ version("0.6.2", sha256="e4d8560e163c3d875fd5d9e5542b5fd5bec810febdcba61481fe5fc4e6b1fd05")
+ version("0.5.3", sha256="decc5beabb86e8ed9ebeb04358d5363a5c4f72d458b2c788cb2f3ac9c19467b2")
+ version("0.3.0", sha256="ab8d0e07aa14f10224ed6682065569761f363ec44bc36fcdb2946f6d38fe5a89")
- variant('shared', default=True,
- description='Build shared instead of static libraries')
- variant('pic', default=True,
- description='Build with position independent code')
- variant('tests', default=False,
- description='Build yaml-cpp tests using internal gtest')
+ variant("shared", default=True, description="Build shared instead of static libraries")
+ variant("pic", default=True, description="Build with position independent code")
+ variant("tests", default=False, description="Build yaml-cpp tests using internal gtest")
- depends_on('boost@:1.66', when='@0.5.0:0.5.3')
+ depends_on("boost@:1.66", when="@0.5.0:0.5.3")
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@0.5.0:0.5.3')
+ depends_on(Boost.with_default_variants, when="@0.5.0:0.5.3")
- conflicts('%gcc@:4.7', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%clang@:3.3.0', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%apple-clang@:4.0.0', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%intel@:11.1', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%xl@:13.1', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%xl_r@:13.1', when='@0.6.0:', msg="versions 0.6.0: require c++11 support")
- conflicts('%clang cxxflags="-stdlib=libc++"', when='+tests',
- msg=yaml_cpp_tests_libcxx_error_msg)
+ conflicts("%gcc@:4.7", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts("%clang@:3.3.0", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts("%apple-clang@:4.0.0", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts("%intel@:11.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts("%xl@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts("%xl_r@:13.1", when="@0.6.0:", msg="versions 0.6.0: require c++11 support")
+ conflicts(
+ '%clang cxxflags="-stdlib=libc++"', when="+tests", msg=yaml_cpp_tests_libcxx_error_msg
+ )
def flag_handler(self, name, flags):
# We cannot catch all conflicts with the conflicts directive because
@@ -54,32 +52,38 @@ class YamlCpp(CMakePackage):
# fail early.
# We'll include cppflags in case users mistakenly put c++ flags there.
spec = self.spec
- if name in ('cxxflags', 'cppflags') and spec.satisfies('+tests'):
- if '-stdlib=libc++' in flags:
+ if name in ("cxxflags", "cppflags") and spec.satisfies("+tests"):
+ if "-stdlib=libc++" in flags:
raise ConflictsInSpecError(
spec,
- [(spec,
- spec.compiler_flags[name],
- spec.variants['tests'],
- yaml_cpp_tests_libcxx_error_msg)]
+ [
+ (
+ spec,
+ spec.compiler_flags[name],
+ spec.variants["tests"],
+ yaml_cpp_tests_libcxx_error_msg,
+ )
+ ],
)
return (flags, None, None)
def cmake_args(self):
options = []
- options.extend([
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('YAML_BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'),
- self.define_from_variant('YAML_CPP_BUILD_TESTS', 'tests'),
- ])
+ options.extend(
+ [
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("YAML_BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
+ self.define_from_variant("YAML_CPP_BUILD_TESTS", "tests"),
+ ]
+ )
return options
def url_for_version(self, version):
url = "https://github.com/jbeder/yaml-cpp/archive/{0}-{1}.tar.gz"
- if version < Version('0.5.3'):
- return url.format('release', version)
+ if version < Version("0.5.3"):
+ return url.format("release", version)
else:
- return url.format('yaml-cpp', version)
+ return url.format("yaml-cpp", version)
diff --git a/var/spack/repos/builtin/packages/yara/package.py b/var/spack/repos/builtin/packages/yara/package.py
index 1b1af95c24..2b97e091bf 100644
--- a/var/spack/repos/builtin/packages/yara/package.py
+++ b/var/spack/repos/builtin/packages/yara/package.py
@@ -11,11 +11,11 @@ class Yara(AutotoolsPackage):
to identify and classify malware samples"""
homepage = "https://virustotal.github.io/yara/"
- url = "https://github.com/VirusTotal/yara/archive/v3.9.0.tar.gz"
+ url = "https://github.com/VirusTotal/yara/archive/v3.9.0.tar.gz"
- version('3.9.0', sha256='ebe7fab0abadb90449a62afbd24e196e18b177efe71ffd8bf22df95c5386f64d')
+ version("3.9.0", sha256="ebe7fab0abadb90449a62afbd24e196e18b177efe71ffd8bf22df95c5386f64d")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
diff --git a/var/spack/repos/builtin/packages/yarn/package.py b/var/spack/repos/builtin/packages/yarn/package.py
index 24094d593d..aab82bcdb9 100644
--- a/var/spack/repos/builtin/packages/yarn/package.py
+++ b/var/spack/repos/builtin/packages/yarn/package.py
@@ -10,17 +10,17 @@ class Yarn(Package):
"""Fast, reliable, and secure dependency management."""
homepage = "https://yarnpkg.com"
- url = "https://github.com/yarnpkg/yarn/releases/download/v1.22.4/yarn-v1.22.4.tar.gz"
+ url = "https://github.com/yarnpkg/yarn/releases/download/v1.22.4/yarn-v1.22.4.tar.gz"
- maintainers = ['cosmicexplorer']
+ maintainers = ["cosmicexplorer"]
- depends_on('node-js@4.0:', type='run')
+ depends_on("node-js@4.0:", type="run")
- version('1.22.4', sha256='bc5316aa110b2f564a71a3d6e235be55b98714660870c5b6b2d2d3f12587fb58')
- version('1.22.2', sha256='de4cff575ae7151f8189bf1d747f026695d768d0563e2860df407ab79c70693d')
- version('1.22.1', sha256='3af905904932078faa8f485d97c928416b30a86dd09dcd76e746a55c7f533b72')
- version('1.22.0', sha256='de8871c4e2822cba80d58c2e72366fb78567ec56e873493c9ca0cca76c60f9a5')
- version('1.21.1', sha256='d1d9f4a0f16f5ed484e814afeb98f39b82d4728c6c8beaafb5abc99c02db6674')
+ version("1.22.4", sha256="bc5316aa110b2f564a71a3d6e235be55b98714660870c5b6b2d2d3f12587fb58")
+ version("1.22.2", sha256="de4cff575ae7151f8189bf1d747f026695d768d0563e2860df407ab79c70693d")
+ version("1.22.1", sha256="3af905904932078faa8f485d97c928416b30a86dd09dcd76e746a55c7f533b72")
+ version("1.22.0", sha256="de8871c4e2822cba80d58c2e72366fb78567ec56e873493c9ca0cca76c60f9a5")
+ version("1.21.1", sha256="d1d9f4a0f16f5ed484e814afeb98f39b82d4728c6c8beaafb5abc99c02db6674")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/yasm/package.py b/var/spack/repos/builtin/packages/yasm/package.py
index 53198fff05..d3641ce935 100644
--- a/var/spack/repos/builtin/packages/yasm/package.py
+++ b/var/spack/repos/builtin/packages/yasm/package.py
@@ -8,18 +8,18 @@ from spack.package import *
class Yasm(AutotoolsPackage):
"""Yasm is a complete rewrite of the NASM-2.11.06 assembler. It
- supports the x86 and AMD64 instruction sets, accepts NASM and
- GAS assembler syntaxes and outputs binary, ELF32 and ELF64
- object formats."""
+ supports the x86 and AMD64 instruction sets, accepts NASM and
+ GAS assembler syntaxes and outputs binary, ELF32 and ELF64
+ object formats."""
homepage = "https://yasm.tortall.net"
- url = "https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz"
- git = "https://github.com/yasm/yasm.git"
+ url = "https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz"
+ git = "https://github.com/yasm/yasm.git"
- version('develop', branch='master')
- version('1.3.0', sha256='3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f')
+ version("develop", branch="master")
+ version("1.3.0", sha256="3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f")
- depends_on('autoconf', when='@develop')
- depends_on('automake', when='@develop')
- depends_on('libtool', when='@develop')
- depends_on('m4', when='@develop')
+ depends_on("autoconf", when="@develop")
+ depends_on("automake", when="@develop")
+ depends_on("libtool", when="@develop")
+ depends_on("m4", when="@develop")
diff --git a/var/spack/repos/builtin/packages/ycsb/package.py b/var/spack/repos/builtin/packages/ycsb/package.py
index 35cf418263..adf6e22f48 100644
--- a/var/spack/repos/builtin/packages/ycsb/package.py
+++ b/var/spack/repos/builtin/packages/ycsb/package.py
@@ -11,24 +11,30 @@ class Ycsb(MavenPackage):
"""Yahoo! Cloud Serving Benchmark."""
homepage = "https://research.yahoo.com/news/yahoo-cloud-serving-benchmark/"
- url = "https://github.com/brianfrankcooper/YCSB/archive/0.17.0.tar.gz"
- git = "https://github.com/brianfrankcooper/YCSB.git"
+ url = "https://github.com/brianfrankcooper/YCSB/archive/0.17.0.tar.gz"
+ git = "https://github.com/brianfrankcooper/YCSB.git"
- version('0.17.0', sha256='5dd1a3d4dd7ac336eadccc83b097c811e142cfe1b23fc278f247054a1892c0e0')
- version('0.16.0', sha256='4296fd5e90d7d6d7dfcbad90039ddf16e785706a07f99c1c8a06e6ee06440f71')
- version('0.15.0', sha256='50b83c11f1a2f19f45e3cc6781f952c69944d1221dfec72169c3587802fc7fbb')
- version('0.14.0', sha256='456bcc9fa3d5d66d76fffa9cec34afd4528d9f02aa8a8d1135f511650516d5cb')
- version('0.13.0', sha256='21cb8078a0fe2d8d909145744ca15848dbb6757e98a7fdc97fb4049f82f4afbc')
+ version("0.17.0", sha256="5dd1a3d4dd7ac336eadccc83b097c811e142cfe1b23fc278f247054a1892c0e0")
+ version("0.16.0", sha256="4296fd5e90d7d6d7dfcbad90039ddf16e785706a07f99c1c8a06e6ee06440f71")
+ version("0.15.0", sha256="50b83c11f1a2f19f45e3cc6781f952c69944d1221dfec72169c3587802fc7fbb")
+ version("0.14.0", sha256="456bcc9fa3d5d66d76fffa9cec34afd4528d9f02aa8a8d1135f511650516d5cb")
+ version("0.13.0", sha256="21cb8078a0fe2d8d909145744ca15848dbb6757e98a7fdc97fb4049f82f4afbc")
- depends_on('maven@3.1.0:', type='build')
- depends_on('mongodb-async-driver', type='build')
+ depends_on("maven@3.1.0:", type="build")
+ depends_on("mongodb-async-driver", type="build")
def build(self, spec, prefix):
- mvn = which('mvn')
- jar_name = 'target/mongodb-async-driver-' + \
- spec['mongodb-async-driver'].version.string + '.jar'
- path = join_path(self.spec['mongodb-async-driver'].prefix, jar_name)
- mvn('install:install-file', '-Dfile={0}'.format(path),
- '-DgroupId=com.allanbank', '-DartifactId=mongodb-async-driver',
- '-Dversion=2.0.1', '-Dpackaging=jar')
- mvn('package', '-DskipTests')
+ mvn = which("mvn")
+ jar_name = (
+ "target/mongodb-async-driver-" + spec["mongodb-async-driver"].version.string + ".jar"
+ )
+ path = join_path(self.spec["mongodb-async-driver"].prefix, jar_name)
+ mvn(
+ "install:install-file",
+ "-Dfile={0}".format(path),
+ "-DgroupId=com.allanbank",
+ "-DartifactId=mongodb-async-driver",
+ "-Dversion=2.0.1",
+ "-Dpackaging=jar",
+ )
+ mvn("package", "-DskipTests")
diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py
index 1b0c0b4693..0d7f780e9a 100644
--- a/var/spack/repos/builtin/packages/yoda/package.py
+++ b/var/spack/repos/builtin/packages/yoda/package.py
@@ -11,95 +11,98 @@ class Yoda(AutotoolsPackage):
"""YODA - Yet more Objects for Data Analysis"""
homepage = "https://yoda.hepforge.org/"
- url = "https://yoda.hepforge.org/downloads/?f=YODA-1.8.3.tar.bz2"
+ url = "https://yoda.hepforge.org/downloads/?f=YODA-1.8.3.tar.bz2"
- tags = ['hep']
+ tags = ["hep"]
- version('1.9.5', sha256='59191a0e9afa8db53ffaa2079f8532e5b13de1be622703d6f7060d3610528b6b')
- version('1.9.0', sha256='9a55de12ffebbe41d1704459c5c9289eeaf0f0eb6a4d0104ea222d7ab889fdf4')
- version('1.8.5', sha256='4c2e6b8571fc176271515a309b45687a2981af1b07ff3f00d0b035a597aa32fd')
- version('1.8.4', sha256='9d24a41c9b7cc6eb14cab0a48f65d2fca7ec9d794afe0922ceb158d0153c150e')
- version('1.8.3', sha256='d9dd0ea5e0f630cdf4893c09a40c78bd44455777c2125385ecc26fa9a2acba8a')
- version('1.8.2', sha256='89558c11cf9b88b0899713e5b4bf8781fdcecc480ff155985ebbf148c6d80bdb')
- version('1.8.1', sha256='51472e12065b9469f13906f0dc609e036d0c1dbd2a8e445e7d654aba73660112')
- version('1.8.0', sha256='82c62bbaedb4b6b7d50cd42ce5409d453d46c1cc6724047db5efa74d34dd6dc5')
- version('1.7.7', sha256='cfb64b099a79ec4d138792f0b464a8fbb04c4345143f77bbdca07acb744628ce')
- version('1.7.6', sha256='864a1459c82676c991fcaed931263a415e815e3c9dc2cad2f94bda6fa4d112e5')
- version('1.7.5', sha256='7b1dc7bb380d0fbadce12072f5cc21912c115e826182a3922d864e7edea131db')
- version('1.7.4', sha256='3df316b89e9c0052104f8956e4f7d26c0b0b05cdace7d908be35c383361e3a71')
- version('1.7.3', sha256='ebf6094733823e9cc2d1586aff06db2d8999c74a47e666baf305322f62c48058')
- version('1.7.2', sha256='7f093cf947824ec118767c7c1999a50ea9343c173cf8c5062e3800ba54c2943e')
- version('1.7.1', sha256='edd7971ecd272314309c800395200b07cf68547cbac3378a02d0b8c9ac03027b')
- version('1.7.0', sha256='b3d6bfb0c52ed87cd240cee5e93e09102832d9ef32505d7275f4d3191a35ce3b')
- version('1.6.7', sha256='2abf378573832c201bc6a9fecfff5b2006fc98c7a272540326cda8eb5bd95e16')
- version('1.6.6', sha256='cf172a496d9108b93420530ea91055d07ecd514d2894d78db46b806530e91d21')
- version('1.6.5', sha256='1477fe754cfe2e4e06aa363a773accf18aab960a8b899968b77834368cac14c5')
- version('1.6.4', sha256='4c01f43c18b7b2e71f61dea0bb8c6fdc099c8e1a66256c510652884c4ffffbca')
- version('1.6.3', sha256='1dd7e334fe54a05ff911d9e227d395abc5efd29e29d60187a036b2201f97da19')
- version('1.6.2', sha256='5793cd1320694118423888801ca520f2719565fde04699ee69e1751f47cb57a8')
- version('1.6.1', sha256='ec3f4cc4eb57f94fb431cc37db10eb831f025df95ffd9e516b8009199253c62b')
- version('1.6.0', sha256='2920ef2588268484b650dc08438664a3539b79c65a9e80d58e3771bb699e2a6b')
- version('1.5.9', sha256='1a19cc8c34c08f1797a93d355250e682eb85d62d4ab277b6714d7873b4bdde75')
- version('1.5.8', sha256='011c5be5cc565f8baf02e7ebbe57a57b4d70dc6a528d5b0102700020bbf5a973')
- version('1.5.7', sha256='f775df11b034154b8f5d43f12007692c3314672e60d3e554b3928fe5b0f00c29')
- version('1.5.6', sha256='050e17b1b80658213281a2e4112dfecc0096f01f269cd739d601b2fd0e790a0c')
- version('1.5.5', sha256='ce45df6248c6c50633953048240513dc52ca5c9144ef69ea72ada2df23bc4918')
- version('1.5.4', sha256='c41853a1f3aa0794875ae09c1ba4348942eb890e798ac7cee6e3505a9b68b678')
- version('1.5.3', sha256='1220ac0ae204c3ed6b22a6a35c30d9b5c1ded35a1054cff131861b4a919d4904')
- version('1.5.2', sha256='ec113c53a6174b174aaea8f45802cc419184ce056123b93ab8d3f80fc1bd4986')
- version('1.5.1', sha256='a8b088b3ede67d560e40f91f4f99be313f21841c46ce2f657af7692a7bbe3276')
- version('1.5.0', sha256='2c2b77344854fac937a8ef07c0928c50829ff4c69bcad6e0afb92da611b7dd18')
- version('1.4.0', sha256='e76a129f7c2b72b53525fe0b712606eeeab0dc145daa070ebf0728f0384eaf48')
- version('1.3.1', sha256='274e196d009e3aac6dd1f2db876de9613ca1a3c21ec3364bc3662f5493bc9747')
- version('1.3.0', sha256='d63197d5940b481ecb06cf4703d9c0b49388f32cad61ccae580d1b80312bd215')
- version('1.2.1', sha256='e86964e91e4fbbba443d2848f55c028001de4713dcc64c40339389de053e7d8b')
- version('1.2.0', sha256='143fa86cd7965d26d3897a5752307bfe08f4866c2f9a9f226a393127d19ee353')
- version('1.1.0', sha256='5d2e8f3c1cddfb59fe651931c7c605fe0ed067864fa86047aed312c6a7938e01')
- version('1.0.7', sha256='145c27d922c27a4e1d6d50030f4ddece5f03d6c309a5e392a5fcbb5e83e747ab')
- version('1.0.6', sha256='357732448d67a593e5ff004418f2a2a263a1401ffe84e021f8a714aa183eaa21')
- version('1.0.5', sha256='ba72bc3943a1b39fa63900570948199cf5ed5c7523f2c4af4740e51b098f1794')
- version('1.0.4', sha256='697fe397c69689feecb2a731e19b2ff85e19343b8198c4f18a7064c4f7123950')
- version('1.0.3', sha256='6a1d1d75d9d74da457726ea9463c1b0b6ba38d4b43ef54e1c33f885e70fdae4b')
+ version("1.9.5", sha256="59191a0e9afa8db53ffaa2079f8532e5b13de1be622703d6f7060d3610528b6b")
+ version("1.9.0", sha256="9a55de12ffebbe41d1704459c5c9289eeaf0f0eb6a4d0104ea222d7ab889fdf4")
+ version("1.8.5", sha256="4c2e6b8571fc176271515a309b45687a2981af1b07ff3f00d0b035a597aa32fd")
+ version("1.8.4", sha256="9d24a41c9b7cc6eb14cab0a48f65d2fca7ec9d794afe0922ceb158d0153c150e")
+ version("1.8.3", sha256="d9dd0ea5e0f630cdf4893c09a40c78bd44455777c2125385ecc26fa9a2acba8a")
+ version("1.8.2", sha256="89558c11cf9b88b0899713e5b4bf8781fdcecc480ff155985ebbf148c6d80bdb")
+ version("1.8.1", sha256="51472e12065b9469f13906f0dc609e036d0c1dbd2a8e445e7d654aba73660112")
+ version("1.8.0", sha256="82c62bbaedb4b6b7d50cd42ce5409d453d46c1cc6724047db5efa74d34dd6dc5")
+ version("1.7.7", sha256="cfb64b099a79ec4d138792f0b464a8fbb04c4345143f77bbdca07acb744628ce")
+ version("1.7.6", sha256="864a1459c82676c991fcaed931263a415e815e3c9dc2cad2f94bda6fa4d112e5")
+ version("1.7.5", sha256="7b1dc7bb380d0fbadce12072f5cc21912c115e826182a3922d864e7edea131db")
+ version("1.7.4", sha256="3df316b89e9c0052104f8956e4f7d26c0b0b05cdace7d908be35c383361e3a71")
+ version("1.7.3", sha256="ebf6094733823e9cc2d1586aff06db2d8999c74a47e666baf305322f62c48058")
+ version("1.7.2", sha256="7f093cf947824ec118767c7c1999a50ea9343c173cf8c5062e3800ba54c2943e")
+ version("1.7.1", sha256="edd7971ecd272314309c800395200b07cf68547cbac3378a02d0b8c9ac03027b")
+ version("1.7.0", sha256="b3d6bfb0c52ed87cd240cee5e93e09102832d9ef32505d7275f4d3191a35ce3b")
+ version("1.6.7", sha256="2abf378573832c201bc6a9fecfff5b2006fc98c7a272540326cda8eb5bd95e16")
+ version("1.6.6", sha256="cf172a496d9108b93420530ea91055d07ecd514d2894d78db46b806530e91d21")
+ version("1.6.5", sha256="1477fe754cfe2e4e06aa363a773accf18aab960a8b899968b77834368cac14c5")
+ version("1.6.4", sha256="4c01f43c18b7b2e71f61dea0bb8c6fdc099c8e1a66256c510652884c4ffffbca")
+ version("1.6.3", sha256="1dd7e334fe54a05ff911d9e227d395abc5efd29e29d60187a036b2201f97da19")
+ version("1.6.2", sha256="5793cd1320694118423888801ca520f2719565fde04699ee69e1751f47cb57a8")
+ version("1.6.1", sha256="ec3f4cc4eb57f94fb431cc37db10eb831f025df95ffd9e516b8009199253c62b")
+ version("1.6.0", sha256="2920ef2588268484b650dc08438664a3539b79c65a9e80d58e3771bb699e2a6b")
+ version("1.5.9", sha256="1a19cc8c34c08f1797a93d355250e682eb85d62d4ab277b6714d7873b4bdde75")
+ version("1.5.8", sha256="011c5be5cc565f8baf02e7ebbe57a57b4d70dc6a528d5b0102700020bbf5a973")
+ version("1.5.7", sha256="f775df11b034154b8f5d43f12007692c3314672e60d3e554b3928fe5b0f00c29")
+ version("1.5.6", sha256="050e17b1b80658213281a2e4112dfecc0096f01f269cd739d601b2fd0e790a0c")
+ version("1.5.5", sha256="ce45df6248c6c50633953048240513dc52ca5c9144ef69ea72ada2df23bc4918")
+ version("1.5.4", sha256="c41853a1f3aa0794875ae09c1ba4348942eb890e798ac7cee6e3505a9b68b678")
+ version("1.5.3", sha256="1220ac0ae204c3ed6b22a6a35c30d9b5c1ded35a1054cff131861b4a919d4904")
+ version("1.5.2", sha256="ec113c53a6174b174aaea8f45802cc419184ce056123b93ab8d3f80fc1bd4986")
+ version("1.5.1", sha256="a8b088b3ede67d560e40f91f4f99be313f21841c46ce2f657af7692a7bbe3276")
+ version("1.5.0", sha256="2c2b77344854fac937a8ef07c0928c50829ff4c69bcad6e0afb92da611b7dd18")
+ version("1.4.0", sha256="e76a129f7c2b72b53525fe0b712606eeeab0dc145daa070ebf0728f0384eaf48")
+ version("1.3.1", sha256="274e196d009e3aac6dd1f2db876de9613ca1a3c21ec3364bc3662f5493bc9747")
+ version("1.3.0", sha256="d63197d5940b481ecb06cf4703d9c0b49388f32cad61ccae580d1b80312bd215")
+ version("1.2.1", sha256="e86964e91e4fbbba443d2848f55c028001de4713dcc64c40339389de053e7d8b")
+ version("1.2.0", sha256="143fa86cd7965d26d3897a5752307bfe08f4866c2f9a9f226a393127d19ee353")
+ version("1.1.0", sha256="5d2e8f3c1cddfb59fe651931c7c605fe0ed067864fa86047aed312c6a7938e01")
+ version("1.0.7", sha256="145c27d922c27a4e1d6d50030f4ddece5f03d6c309a5e392a5fcbb5e83e747ab")
+ version("1.0.6", sha256="357732448d67a593e5ff004418f2a2a263a1401ffe84e021f8a714aa183eaa21")
+ version("1.0.5", sha256="ba72bc3943a1b39fa63900570948199cf5ed5c7523f2c4af4740e51b098f1794")
+ version("1.0.4", sha256="697fe397c69689feecb2a731e19b2ff85e19343b8198c4f18a7064c4f7123950")
+ version("1.0.3", sha256="6a1d1d75d9d74da457726ea9463c1b0b6ba38d4b43ef54e1c33f885e70fdae4b")
variant("root", default=False, description="Enable ROOT interface")
- depends_on('python', type=('build', 'run'))
- depends_on('py-future', type=('build', 'run'))
- depends_on('zlib')
- depends_on('boost', when='@:1.6.0', type=('build', 'run'))
+ depends_on("python", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("zlib")
+ depends_on("boost", when="@:1.6.0", type=("build", "run"))
# TODO: replace this with an explicit list of components of Boost,
# for instance depends_on('boost +filesystem')
# See https://github.com/spack/spack/pull/22303 for reference
- depends_on(Boost.with_default_variants, when='@:1.6.0', type=('build', 'run'))
- depends_on('py-cython@0.18:', type='build', when='@:1.4.0')
- depends_on('py-cython@0.20:', type='build', when='@1.4.0:1.6.5')
- 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', 'link', 'run'), when='+root')
+ depends_on(Boost.with_default_variants, when="@:1.6.0", type=("build", "run"))
+ depends_on("py-cython@0.18:", type="build", when="@:1.4.0")
+ depends_on("py-cython@0.20:", type="build", when="@1.4.0:1.6.5")
+ 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", "link", "run"), when="+root")
- extends('python')
+ extends("python")
- patch('yoda-1.5.5.patch', level=0, when='@1.5.5')
- patch('yoda-1.5.9.patch', level=0, when='@1.5.9')
- patch('yoda-1.6.1.patch', level=0, when='@1.6.1')
- patch('yoda-1.6.2.patch', level=0, when='@1.6.2')
- patch('yoda-1.6.3.patch', level=0, when='@1.6.3')
- patch('yoda-1.6.4.patch', level=0, when='@1.6.4')
- patch('yoda-1.6.5.patch', level=0, when='@1.6.5')
- patch('yoda-1.6.6.patch', level=0, when='@1.6.6')
- patch('yoda-1.6.7.patch', level=0, when='@1.6.7')
+ patch("yoda-1.5.5.patch", level=0, when="@1.5.5")
+ patch("yoda-1.5.9.patch", level=0, when="@1.5.9")
+ patch("yoda-1.6.1.patch", level=0, when="@1.6.1")
+ patch("yoda-1.6.2.patch", level=0, when="@1.6.2")
+ patch("yoda-1.6.3.patch", level=0, when="@1.6.3")
+ patch("yoda-1.6.4.patch", level=0, when="@1.6.4")
+ patch("yoda-1.6.5.patch", level=0, when="@1.6.5")
+ patch("yoda-1.6.6.patch", level=0, when="@1.6.6")
+ patch("yoda-1.6.7.patch", level=0, when="@1.6.7")
- conflicts("%gcc@10:", when="@:1.8.5",
- msg="yoda up to 1.8.5 is missing a <limits> include in AnalysisObject.h."
- "Use version 1.9.0 or later, or patch earlier versions if needed.")
+ conflicts(
+ "%gcc@10:",
+ when="@:1.8.5",
+ msg="yoda up to 1.8.5 is missing a <limits> include in AnalysisObject.h."
+ "Use version 1.9.0 or later, or patch earlier versions if needed.",
+ )
def configure_args(self):
args = []
- if self.spec.satisfies('@:1.6.0'):
- args.append('--with-boost=' + self.spec['boost'].prefix)
+ if self.spec.satisfies("@:1.6.0"):
+ args.append("--with-boost=" + self.spec["boost"].prefix)
- args.extend(self.enable_or_disable('root'))
+ args.extend(self.enable_or_disable("root"))
return args
diff --git a/var/spack/repos/builtin/packages/yorick/package.py b/var/spack/repos/builtin/packages/yorick/package.py
index d7d7946702..62d5ca7eab 100644
--- a/var/spack/repos/builtin/packages/yorick/package.py
+++ b/var/spack/repos/builtin/packages/yorick/package.py
@@ -8,25 +8,25 @@ from spack.package import *
class Yorick(Package):
"""Yorick is an interpreted programming language for scientific simulations
- or calculations, postprocessing or steering large simulation codes,
- interactive scientific graphics, and reading, writing, or translating
- files of numbers. Yorick includes an interactive graphics package, and a
- binary file package capable of translating to and from the raw numeric
- formats of all modern computers. Yorick is written in ANSI C and runs on
- most operating systems (*nix systems, MacOS X, Windows).
+ or calculations, postprocessing or steering large simulation codes,
+ interactive scientific graphics, and reading, writing, or translating
+ files of numbers. Yorick includes an interactive graphics package, and a
+ binary file package capable of translating to and from the raw numeric
+ formats of all modern computers. Yorick is written in ANSI C and runs on
+ most operating systems (*nix systems, MacOS X, Windows).
"""
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"
+ url = "https://github.com/dhmunro/yorick/archive/y_2_2_04.tar.gz"
+ git = "https://github.com/dhmunro/yorick.git"
- version('master', branch='master')
- version('2.2.04', sha256='4a4f3a18aed533cc5fadbb3d4bafb48f04834a22cbff6ad5c19d9dba74facbda')
- version('f90-plugin', branch='f90-plugin')
+ version("master", branch="master")
+ version("2.2.04", sha256="4a4f3a18aed533cc5fadbb3d4bafb48f04834a22cbff6ad5c19d9dba74facbda")
+ version("f90-plugin", branch="f90-plugin")
- variant('X', default=False, description='Enable X11 support')
+ variant("X", default=False, description="Enable X11 support")
- depends_on('libx11', when='+X')
+ depends_on("libx11", when="+X")
extendable = True
@@ -35,24 +35,18 @@ class Yorick(Package):
return url.format(version.underscored)
def setup_build_environment(self, env):
- env.set('FORTRAN_LINKAGE', '-Df_linkage')
- if self.spec.satisfies('arch=aarch64:'):
- env.set('FPU_IGNORE', '1')
+ env.set("FORTRAN_LINKAGE", "-Df_linkage")
+ if self.spec.satisfies("arch=aarch64:"):
+ env.set("FPU_IGNORE", "1")
def install(self, spec, prefix):
make("config")
- filter_file(r'^CC.+',
- 'CC={0}'.format(self.compiler.cc),
- 'Make.cfg')
- filter_file(r'^FC.+',
- 'FC={0}'.format(self.compiler.fc),
- 'Make.cfg')
- filter_file(r'^COPT_DEFAULT.+',
- 'COPT_DEFAULT=-O3',
- 'Make.cfg')
+ filter_file(r"^CC.+", "CC={0}".format(self.compiler.cc), "Make.cfg")
+ filter_file(r"^FC.+", "FC={0}".format(self.compiler.fc), "Make.cfg")
+ filter_file(r"^COPT_DEFAULT.+", "COPT_DEFAULT=-O3", "Make.cfg")
make()
make("install")
- install_tree('relocate', prefix)
+ install_tree("relocate", prefix)
diff --git a/var/spack/repos/builtin/packages/z-checker/package.py b/var/spack/repos/builtin/packages/z-checker/package.py
index 6b1466e3cd..86624a7adb 100644
--- a/var/spack/repos/builtin/packages/z-checker/package.py
+++ b/var/spack/repos/builtin/packages/z-checker/package.py
@@ -12,23 +12,22 @@ class ZChecker(AutotoolsPackage):
"""a library to perform the compression assessment for lossy compressors"""
homepage = "https://github.com/CODARcode/Z-checker"
- url = "https://github.com/CODARcode/Z-checker/releases/download/0.7.0/Z-checker-0.7.0.tar.gz"
+ url = "https://github.com/CODARcode/Z-checker/releases/download/0.7.0/Z-checker-0.7.0.tar.gz"
- maintainers = ['disheng222']
+ maintainers = ["disheng222"]
- version('0.7.0', sha256='02caf3af2dc59d116496f877da888dd2c2dffb9375c413b1d74401927963df3f')
- version('0.6.0', sha256='b01c2c78157234a734c2f4c10a7ab82c329d3cd1a8389d597e09386fa33a3117')
- version('0.5.0', sha256='ad5e68472c511b393ee1ae67d2e3072a22004001cf19a14bd99a2e322a6ce7f9')
+ version("0.7.0", sha256="02caf3af2dc59d116496f877da888dd2c2dffb9375c413b1d74401927963df3f")
+ version("0.6.0", sha256="b01c2c78157234a734c2f4c10a7ab82c329d3cd1a8389d597e09386fa33a3117")
+ version("0.5.0", sha256="ad5e68472c511b393ee1ae67d2e3072a22004001cf19a14bd99a2e322a6ce7f9")
- variant('mpi', default=False,
- description='Enable mpi compilation')
+ variant("mpi", default=False, description="Enable mpi compilation")
- depends_on('mpi', when="+mpi")
+ depends_on("mpi", when="+mpi")
def configure_args(self):
args = []
- if '+mpi' in self.spec:
- args += ['--enable-mpi']
+ if "+mpi" in self.spec:
+ args += ["--enable-mpi"]
else:
- args += ['--disable-mpi']
+ args += ["--disable-mpi"]
return args
diff --git a/var/spack/repos/builtin/packages/z3/package.py b/var/spack/repos/builtin/packages/z3/package.py
index 643b8cea51..7f8c1dcbb0 100644
--- a/var/spack/repos/builtin/packages/z3/package.py
+++ b/var/spack/repos/builtin/packages/z3/package.py
@@ -12,46 +12,48 @@ class Z3(CMakePackage):
It is licensed under the MIT license."""
homepage = "https://github.com/Z3Prover/z3/wiki"
- url = "https://github.com/Z3Prover/z3/archive/z3-4.5.0.tar.gz"
-
- version('4.8.16', sha256='75f95e09f3f35fef746e571d5ec88a4efba27f1bc8f1a0ef1117167486ec3dc6')
- version('4.8.15', sha256='2abe7f5ecb7c8023b712ffba959c55b4515f4978522a6882391de289310795ac')
- version('4.8.14', sha256='96a1f49a7701120cc38bfa63c02ff93be4d64c7926cea41977dedec7d87a1364')
- version('4.8.9', sha256='c9fd04b9b33be74fffaac3ec2bc2c320d1a4cc32e395203c55126b12a14ff3f4')
- version('4.8.8', sha256='6962facdcdea287c5eeb1583debe33ee23043144d0e5308344e6a8ee4503bcff')
- version('4.8.7', sha256='8c1c49a1eccf5d8b952dadadba3552b0eac67482b8a29eaad62aa7343a0732c3')
- version('4.5.0', sha256='aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c')
-
- variant('python', default=False, description='Enable python binding')
- depends_on('python', type='build', when='~python')
- depends_on('python', type=('build', 'run'), when='+python')
- depends_on('py-setuptools', type=('run'), when='+python')
- extends('python', when='+python')
-
- variant('gmp', default=False, description='GNU multiple precision library support')
- depends_on('cmake@3.4:', type='build')
- depends_on('gmp', when='+gmp', type=('build', 'link'))
+ url = "https://github.com/Z3Prover/z3/archive/z3-4.5.0.tar.gz"
+
+ version("4.8.16", sha256="75f95e09f3f35fef746e571d5ec88a4efba27f1bc8f1a0ef1117167486ec3dc6")
+ version("4.8.15", sha256="2abe7f5ecb7c8023b712ffba959c55b4515f4978522a6882391de289310795ac")
+ version("4.8.14", sha256="96a1f49a7701120cc38bfa63c02ff93be4d64c7926cea41977dedec7d87a1364")
+ version("4.8.9", sha256="c9fd04b9b33be74fffaac3ec2bc2c320d1a4cc32e395203c55126b12a14ff3f4")
+ version("4.8.8", sha256="6962facdcdea287c5eeb1583debe33ee23043144d0e5308344e6a8ee4503bcff")
+ version("4.8.7", sha256="8c1c49a1eccf5d8b952dadadba3552b0eac67482b8a29eaad62aa7343a0732c3")
+ version("4.5.0", sha256="aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c")
+
+ variant("python", default=False, description="Enable python binding")
+ depends_on("python", type="build", when="~python")
+ depends_on("python", type=("build", "run"), when="+python")
+ depends_on("py-setuptools", type=("run"), when="+python")
+ extends("python", when="+python")
+
+ variant("gmp", default=False, description="GNU multiple precision library support")
+ depends_on("cmake@3.4:", type="build")
+ depends_on("gmp", when="+gmp", type=("build", "link"))
# Referenced: https://github.com/Z3Prover/z3/issues/1016
- patch('fix_1016_2.patch', when='@4.5.0')
+ patch("fix_1016_2.patch", when="@4.5.0")
- build_directory = 'build'
+ build_directory = "build"
def cmake_args(self):
spec = self.spec
args = [
- self.define_from_variant('Z3_USE_LIB_GMP', 'gmp'),
- self.define_from_variant('Z3_BUILD_PYTHON_BINDINGS', 'python'),
- self.define_from_variant('Z3_INSTALL_PYTHON_BINDINGS', 'python')
+ self.define_from_variant("Z3_USE_LIB_GMP", "gmp"),
+ self.define_from_variant("Z3_BUILD_PYTHON_BINDINGS", "python"),
+ self.define_from_variant("Z3_INSTALL_PYTHON_BINDINGS", "python"),
]
- if spec.satisfies('+python'):
+ if spec.satisfies("+python"):
args.append(
- self.define('CMAKE_INSTALL_PYTHON_PKG_DIR', join_path(
- prefix.lib,
- 'python%s' % spec['python'].version.up_to(2),
- 'site-packages'))
+ self.define(
+ "CMAKE_INSTALL_PYTHON_PKG_DIR",
+ join_path(
+ prefix.lib, "python%s" % spec["python"].version.up_to(2), "site-packages"
+ ),
+ )
)
return args
diff --git a/var/spack/repos/builtin/packages/zabbix/package.py b/var/spack/repos/builtin/packages/zabbix/package.py
index 4db704d46e..d544098884 100644
--- a/var/spack/repos/builtin/packages/zabbix/package.py
+++ b/var/spack/repos/builtin/packages/zabbix/package.py
@@ -11,32 +11,33 @@ class Zabbix(AutotoolsPackage):
such as networks, servers, VMs, applications and the cloud."""
homepage = "https://www.zabbix.com"
- url = "https://github.com/zabbix/zabbix/archive/5.0.3.tar.gz"
+ url = "https://github.com/zabbix/zabbix/archive/5.0.3.tar.gz"
- version('5.0.3', sha256='d579c5fa4e9065e8041396ace24d7132521ef5054ce30dfd9d151cbb7f0694ec')
- version('4.0.24', sha256='c7e4962d745277d67797d90e124555ce27d198822a7e65c55d86aee45d3e93fc')
- version('4.0.23', sha256='652143614f52411cad47db64e93bf3ba1cd547d6ca9591296223b5f0528b3b61')
+ version("5.0.3", sha256="d579c5fa4e9065e8041396ace24d7132521ef5054ce30dfd9d151cbb7f0694ec")
+ version("4.0.24", sha256="c7e4962d745277d67797d90e124555ce27d198822a7e65c55d86aee45d3e93fc")
+ version("4.0.23", sha256="652143614f52411cad47db64e93bf3ba1cd547d6ca9591296223b5f0528b3b61")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
- depends_on('mysql')
- depends_on('libevent')
- depends_on('pcre')
- depends_on('go')
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("mysql")
+ depends_on("libevent")
+ depends_on("pcre")
+ depends_on("go")
def configure_args(self):
- args = ['--enable-server',
- '--enable-proxy',
- '--enable-agent',
- '--enable-agent2',
- '--with-mysql',
- '--with-libevent=%s' % self.spec['libevent'].prefix,
- '--with-libpcre=%s' % self.spec['pcre'].prefix
- ]
+ args = [
+ "--enable-server",
+ "--enable-proxy",
+ "--enable-agent",
+ "--enable-agent2",
+ "--with-mysql",
+ "--with-libevent=%s" % self.spec["libevent"].prefix,
+ "--with-libpcre=%s" % self.spec["pcre"].prefix,
+ ]
return args
def setup_run_environment(self, env):
- env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path("PATH", self.prefix.sbin)
diff --git a/var/spack/repos/builtin/packages/zfp/package.py b/var/spack/repos/builtin/packages/zfp/package.py
index 22bc12fd33..1ef972aa9b 100644
--- a/var/spack/repos/builtin/packages/zfp/package.py
+++ b/var/spack/repos/builtin/packages/zfp/package.py
@@ -8,80 +8,87 @@ from spack.package import *
class Zfp(CMakePackage, CudaPackage):
"""zfp is a compressed number format for multidimensional floating-point
- and integer arrays.
+ and integer arrays.
- zfp provides compressed-array classes that support high throughput
- read and write random access to individual array elements. zfp also
- supports serial and parallel (OpenMP and CUDA) compression of whole
- arrays.
+ zfp provides compressed-array classes that support high throughput
+ read and write random access to individual array elements. zfp also
+ supports serial and parallel (OpenMP and CUDA) compression of whole
+ arrays.
"""
# Package info
- homepage = 'https://zfp.llnl.gov'
- url = 'https://github.com/LLNL/zfp/releases/download/0.5.5/zfp-0.5.5.tar.gz'
- git = 'https://github.com/LLNL/zfp.git'
- maintainers = ['lindstro', 'GarrettDMorrison']
- tags = ['radiuss', 'e4s']
+ homepage = "https://zfp.llnl.gov"
+ url = "https://github.com/LLNL/zfp/releases/download/0.5.5/zfp-0.5.5.tar.gz"
+ git = "https://github.com/LLNL/zfp.git"
+ maintainers = ["lindstro", "GarrettDMorrison"]
+ tags = ["radiuss", "e4s"]
# Versions
- version('develop', branch='develop')
- version('0.5.5', sha256='fdf7b948bab1f4e5dccfe2c2048fd98c24e417ad8fb8a51ed3463d04147393c5')
- version('0.5.4', sha256='746e17aaa401c67dcffd273d6e6f95c76adfbbd5cf523dcad56d09e9d3b71196')
- version('0.5.3', sha256='a5d2f8e5b47a7c92e2a5775b82cbfb3a76c87d0ac83d25abb4ac10ea75a2856e')
- version('0.5.2', sha256='9c738ec525cc76b4bb80b2b3f7c9f07507eeda3a341470e5942cda97efbe9a4f', url='https://github.com/LLNL/zfp/archive/0.5.2/zfp-0.5.2.tar.gz')
- version('0.5.1', sha256='f255dd1708c9ae4dc6a56dd2614e8b47a10d833c87fd349cbd47545a19c2b779', url='https://github.com/LLNL/zfp/archive/0.5.1/zfp-0.5.1.tar.gz')
+ version("develop", branch="develop")
+ version("0.5.5", sha256="fdf7b948bab1f4e5dccfe2c2048fd98c24e417ad8fb8a51ed3463d04147393c5")
+ version("0.5.4", sha256="746e17aaa401c67dcffd273d6e6f95c76adfbbd5cf523dcad56d09e9d3b71196")
+ version("0.5.3", sha256="a5d2f8e5b47a7c92e2a5775b82cbfb3a76c87d0ac83d25abb4ac10ea75a2856e")
+ version(
+ "0.5.2",
+ sha256="9c738ec525cc76b4bb80b2b3f7c9f07507eeda3a341470e5942cda97efbe9a4f",
+ url="https://github.com/LLNL/zfp/archive/0.5.2/zfp-0.5.2.tar.gz",
+ )
+ version(
+ "0.5.1",
+ sha256="f255dd1708c9ae4dc6a56dd2614e8b47a10d833c87fd349cbd47545a19c2b779",
+ url="https://github.com/LLNL/zfp/archive/0.5.1/zfp-0.5.1.tar.gz",
+ )
# Build targets
# TODO: variant('utilities', default=True, description='Build utilities')
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
# Language bindings
- variant('c', default=False, description='Enable C bindings')
- variant('python', default=False, description='Enable Python bindings')
- variant('fortran', default=False, description='Enable Fortran bindings')
+ variant("c", default=False, description="Enable C bindings")
+ variant("python", default=False, description="Enable Python bindings")
+ variant("fortran", default=False, description="Enable Fortran bindings")
# Execution policies
- variant('openmp', default=False, description='Enable OpenMP execution')
- variant('cuda', default=False, description='Enable CUDA execution')
+ variant("openmp", default=False, description="Enable OpenMP execution")
+ variant("cuda", default=False, description="Enable CUDA execution")
# Advanced options
- variant('bsws', default='64', values=('8', '16', '32', '64'), multi=False,
- description='Bit stream word size: '
- 'use smaller for finer rate granularity. '
- 'Use 8 for H5Z-ZFP filter.')
- variant('strided', default=False,
- description='Enable strided access for progressive zfp streams')
- variant('aligned', default=False,
- description='Enable aligned memory allocation')
- variant('twoway', default=False,
- description='Use two-way skew-associative cache')
- variant('fasthash', default=False,
- description='Use a faster but more collision prone hash function')
- variant('profile', default=False,
- description='Count cache misses')
+ variant(
+ "bsws",
+ default="64",
+ values=("8", "16", "32", "64"),
+ multi=False,
+ description="Bit stream word size: "
+ "use smaller for finer rate granularity. "
+ "Use 8 for H5Z-ZFP filter.",
+ )
+ variant(
+ "strided", default=False, description="Enable strided access for progressive zfp streams"
+ )
+ variant("aligned", default=False, description="Enable aligned memory allocation")
+ variant("twoway", default=False, description="Use two-way skew-associative cache")
+ variant(
+ "fasthash",
+ default=False,
+ description="Use a faster but more collision prone hash function",
+ )
+ variant("profile", default=False, description="Count cache misses")
# Conflicts
- conflicts('+c', when='@:0.5.3',
- msg='+c requires zfp 0.5.4 or later')
- conflicts('+python', when='@:0.5.4',
- msg='+python requires zfp 0.5.5 or later')
- conflicts('+fortran', when='@:0.5.4',
- msg='+fortran requires zfp 0.5.5 or later')
- conflicts('+openmp', when='@:0.5.2',
- msg='+openmp requires zfp 0.5.3 or later')
- conflicts('+cuda', when='@:0.5.3',
- msg='+cuda requires zfp 0.5.4 or later')
- conflicts('+fasthash', when='@:0.5.1',
- msg='+fasthash requires zfp 0.5.2 or later')
- conflicts('+profile', when='@:0.5.1',
- msg='+profile requires zfp 0.5.2 or later')
+ conflicts("+c", when="@:0.5.3", msg="+c requires zfp 0.5.4 or later")
+ conflicts("+python", when="@:0.5.4", msg="+python requires zfp 0.5.5 or later")
+ conflicts("+fortran", when="@:0.5.4", msg="+fortran requires zfp 0.5.5 or later")
+ conflicts("+openmp", when="@:0.5.2", msg="+openmp requires zfp 0.5.3 or later")
+ conflicts("+cuda", when="@:0.5.3", msg="+cuda requires zfp 0.5.4 or later")
+ conflicts("+fasthash", when="@:0.5.1", msg="+fasthash requires zfp 0.5.2 or later")
+ conflicts("+profile", when="@:0.5.1", msg="+profile requires zfp 0.5.2 or later")
# Dependencies
- depends_on('cmake@3.4.0:', type='build')
- depends_on('cuda@7:', type=('build', 'test', 'run'), when='+cuda')
- depends_on('python', type=('build', 'test', 'run'), when='+python')
- depends_on('py-numpy', type=('build', 'test', 'run'), when='+python')
- depends_on('py-cython', type='build', when='+python')
+ depends_on("cmake@3.4.0:", type="build")
+ depends_on("cuda@7:", type=("build", "test", "run"), when="+cuda")
+ depends_on("python", type=("build", "test", "run"), when="+python")
+ depends_on("py-numpy", type=("build", "test", "run"), when="+python")
+ depends_on("py-cython", type="build", when="+python")
def cmake_args(self):
spec = self.spec
@@ -89,27 +96,26 @@ class Zfp(CMakePackage, CudaPackage):
# CMake options
args = [
# TODO: self.define_from_variant('BUILD_UTILITIES', 'utilities'),
- self.define('BUILD_TESTING', self.run_tests),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('BUILD_CFP', 'c'),
- self.define_from_variant('BUILD_ZFPY', 'python'),
- self.define_from_variant('BUILD_ZFORP', 'fortran'),
- self.define_from_variant('ZFP_WITH_OPENMP', 'openmp'),
- self.define_from_variant('ZFP_WITH_CUDA', 'cuda'),
- self.define('ZFP_BIT_STREAM_WORD_SIZE',
- spec.variants['bsws'].value),
- self.define_from_variant('ZFP_WITH_BIT_STREAM_STRIDED', 'strided'),
- self.define_from_variant('ZFP_WITH_ALIGNED_ALLOC', 'aligned'),
- self.define_from_variant('ZFP_WITH_CACHE_TWOWAY', 'twoway'),
- self.define_from_variant('ZFP_WITH_CACHE_FAST_HASH', 'fasthash'),
- self.define_from_variant('ZFP_WITH_CACHE_PROFILE', 'profile'),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("BUILD_CFP", "c"),
+ self.define_from_variant("BUILD_ZFPY", "python"),
+ self.define_from_variant("BUILD_ZFORP", "fortran"),
+ self.define_from_variant("ZFP_WITH_OPENMP", "openmp"),
+ self.define_from_variant("ZFP_WITH_CUDA", "cuda"),
+ self.define("ZFP_BIT_STREAM_WORD_SIZE", spec.variants["bsws"].value),
+ self.define_from_variant("ZFP_WITH_BIT_STREAM_STRIDED", "strided"),
+ self.define_from_variant("ZFP_WITH_ALIGNED_ALLOC", "aligned"),
+ self.define_from_variant("ZFP_WITH_CACHE_TWOWAY", "twoway"),
+ self.define_from_variant("ZFP_WITH_CACHE_FAST_HASH", "fasthash"),
+ self.define_from_variant("ZFP_WITH_CACHE_PROFILE", "profile"),
]
- if '+cuda' in spec:
- args.append('-DCUDA_BIN_DIR={0}'.format(spec['cuda'].prefix.bin))
+ if "+cuda" in spec:
+ args.append("-DCUDA_BIN_DIR={0}".format(spec["cuda"].prefix.bin))
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- args.append('-DCMAKE_CUDA_FLAGS=-arch sm_{0}'.format(cuda_arch[0]))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ args.append("-DCMAKE_CUDA_FLAGS=-arch sm_{0}".format(cuda_arch[0]))
return args
diff --git a/var/spack/repos/builtin/packages/zfs/package.py b/var/spack/repos/builtin/packages/zfs/package.py
index cbe21507bb..dfc97d25dc 100644
--- a/var/spack/repos/builtin/packages/zfs/package.py
+++ b/var/spack/repos/builtin/packages/zfs/package.py
@@ -13,16 +13,16 @@ class Zfs(AutotoolsPackage):
Linux and FreeBSD."""
homepage = "https://zfsonlinux.org/"
- url = "https://github.com/openzfs/zfs/releases/download/zfs-0.8.3/zfs-0.8.3.tar.gz"
+ url = "https://github.com/openzfs/zfs/releases/download/zfs-0.8.3/zfs-0.8.3.tar.gz"
- version('0.8.3', sha256='545a4897ce30c2d2dd9010a0fdb600a0d3d45805e2387093c473efc03aa9d7fd')
- version('0.8.2', sha256='47608e257c8ecebb918014ef1da6172c3a45d990885891af18e80f5cc28beab8')
- version('0.8.1', sha256='0af79fde44b7b8ecb94d5166ce2e4fff7409c20ed874c2d759db92909e6c2799')
- version('0.8.0', sha256='0fd92e87f4b9df9686f18e2ac707c16b2eeaf00f682d41c20ea519f3a0fe4705')
+ version("0.8.3", sha256="545a4897ce30c2d2dd9010a0fdb600a0d3d45805e2387093c473efc03aa9d7fd")
+ version("0.8.2", sha256="47608e257c8ecebb918014ef1da6172c3a45d990885891af18e80f5cc28beab8")
+ version("0.8.1", sha256="0af79fde44b7b8ecb94d5166ce2e4fff7409c20ed874c2d759db92909e6c2799")
+ version("0.8.0", sha256="0fd92e87f4b9df9686f18e2ac707c16b2eeaf00f682d41c20ea519f3a0fe4705")
- depends_on('uuid')
- depends_on('libtirpc')
- depends_on('util-linux')
+ depends_on("uuid")
+ depends_on("libtirpc")
+ depends_on("util-linux")
def setup_build_environment(self, env):
- env.prepend_path('CPATH', self.spec['util-linux'].prefix.include)
+ env.prepend_path("CPATH", self.spec["util-linux"].prefix.include)
diff --git a/var/spack/repos/builtin/packages/zig/package.py b/var/spack/repos/builtin/packages/zig/package.py
index d8365bc4b1..6021933da1 100644
--- a/var/spack/repos/builtin/packages/zig/package.py
+++ b/var/spack/repos/builtin/packages/zig/package.py
@@ -13,13 +13,15 @@ class Zig(CMakePackage):
homepage = "https://ziglang.org/"
git = "https://github.com/ziglang/zig.git"
- version('0.7.1', tag='0.7.1')
+ version("0.7.1", tag="0.7.1")
variant(
- 'build_type', values=('Release', 'RelWithDebInfo', 'MinSizeRel'),
- default='Release', description='CMake build type'
+ "build_type",
+ values=("Release", "RelWithDebInfo", "MinSizeRel"),
+ default="Release",
+ description="CMake build type",
)
- depends_on('llvm@11.0.0: targets=all')
+ depends_on("llvm@11.0.0: targets=all")
- provides('ziglang')
+ provides("ziglang")
diff --git a/var/spack/repos/builtin/packages/zip/package.py b/var/spack/repos/builtin/packages/zip/package.py
index 02c76999d7..77ef2a480f 100644
--- a/var/spack/repos/builtin/packages/zip/package.py
+++ b/var/spack/repos/builtin/packages/zip/package.py
@@ -11,39 +11,39 @@ from spack.package import *
class Zip(MakefilePackage):
"""Zip is a compression and file packaging/archive utility."""
- homepage = 'https://www.info-zip.org/Zip.html'
- url = 'https://downloads.sourceforge.net/infozip/zip30.tar.gz'
+ homepage = "https://www.info-zip.org/Zip.html"
+ url = "https://downloads.sourceforge.net/infozip/zip30.tar.gz"
- version('3.0', sha256='f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369')
+ version("3.0", sha256="f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369")
- depends_on('bzip2')
+ depends_on("bzip2")
# Upstream is unmaintained, get patches from:
# https://deb.debian.org/debian/pool/main/z/zip/zip_3.0-11.debian.tar.xz
- patch('01-typo-it-is-transferring-not-transfering.patch')
- patch('02-typo-it-is-privileges-not-priviliges.patch')
- patch('03-manpages-in-section-1-not-in-section-1l.patch')
- patch('04-do-not-set-unwanted-cflags.patch')
- patch('05-typo-it-is-preceding-not-preceeding.patch')
- patch('06-stack-markings-to-avoid-executable-stack.patch')
- patch('07-fclose-in-file-not-fclose-x.patch')
- patch('08-hardening-build-fix-1.patch')
- patch('09-hardening-build-fix-2.patch')
- patch('10-remove-build-date.patch')
-
- executables = ['^zip$']
+ patch("01-typo-it-is-transferring-not-transfering.patch")
+ patch("02-typo-it-is-privileges-not-priviliges.patch")
+ patch("03-manpages-in-section-1-not-in-section-1l.patch")
+ patch("04-do-not-set-unwanted-cflags.patch")
+ patch("05-typo-it-is-preceding-not-preceeding.patch")
+ patch("06-stack-markings-to-avoid-executable-stack.patch")
+ patch("07-fclose-in-file-not-fclose-x.patch")
+ patch("08-hardening-build-fix-1.patch")
+ patch("09-hardening-build-fix-2.patch")
+ patch("10-remove-build-date.patch")
+
+ executables = ["^zip$"]
@classmethod
def determine_version(cls, exe):
- output = Executable(exe)('--version', output=str, error=str)
- match = re.search(r'This is Zip (\S+)', output)
+ output = Executable(exe)("--version", output=str, error=str)
+ match = re.search(r"This is Zip (\S+)", output)
return match.group(1) if match else None
def url_for_version(self, version):
- return 'http://downloads.sourceforge.net/infozip/zip{0}.tar.gz'.format(version.joined)
+ return "http://downloads.sourceforge.net/infozip/zip{0}.tar.gz".format(version.joined)
def build(self, spec, prefix):
- make('-f', 'unix/Makefile', 'CC=' + spack_cc, 'generic')
+ make("-f", "unix/Makefile", "CC=" + spack_cc, "generic")
def install(self, spec, prefix):
- make('-f', 'unix/Makefile', 'prefix=' + prefix, 'install')
+ make("-f", "unix/Makefile", "prefix=" + prefix, "install")
diff --git a/var/spack/repos/builtin/packages/zipkin/package.py b/var/spack/repos/builtin/packages/zipkin/package.py
index 0f3e9493d2..04b9cf7b1b 100644
--- a/var/spack/repos/builtin/packages/zipkin/package.py
+++ b/var/spack/repos/builtin/packages/zipkin/package.py
@@ -14,10 +14,10 @@ class Zipkin(MavenPackage):
of this data."""
homepage = "https://zipkin.io/"
- url = "https://github.com/openzipkin/zipkin/archive/2.21.5.tar.gz"
+ url = "https://github.com/openzipkin/zipkin/archive/2.21.5.tar.gz"
- version('2.21.5', sha256='e643a810f82f9ea50e2cb6847694c7645507d3deae77685a3a1bb841e0f885a2')
- version('2.21.4', sha256='ee7b0110b3852479c925b6429ff278aa38b1d5da27f4762891b1f863e67bdad5')
- version('2.21.3', sha256='02526e2ba4de85938b510cb2db01865ec46cdad53157862c39fa5e9b6cbd15b6')
+ version("2.21.5", sha256="e643a810f82f9ea50e2cb6847694c7645507d3deae77685a3a1bb841e0f885a2")
+ version("2.21.4", sha256="ee7b0110b3852479c925b6429ff278aa38b1d5da27f4762891b1f863e67bdad5")
+ version("2.21.3", sha256="02526e2ba4de85938b510cb2db01865ec46cdad53157862c39fa5e9b6cbd15b6")
- depends_on('maven@1.8:14', type='build')
+ depends_on("maven@1.8:14", type="build")
diff --git a/var/spack/repos/builtin/packages/zlib-ng/package.py b/var/spack/repos/builtin/packages/zlib-ng/package.py
index ad7d782874..05fb39a613 100644
--- a/var/spack/repos/builtin/packages/zlib-ng/package.py
+++ b/var/spack/repos/builtin/packages/zlib-ng/package.py
@@ -10,19 +10,19 @@ class ZlibNg(CMakePackage):
"""zlib replacement with optimizations for next generation systems."""
homepage = "https://github.com/zlib-ng/zlib-ng"
- url = "https://github.com/zlib-ng/zlib-ng/archive/2.0.0.tar.gz"
+ url = "https://github.com/zlib-ng/zlib-ng/archive/2.0.0.tar.gz"
- version('2.0.0', sha256='86993903527d9b12fc543335c19c1d33a93797b3d4d37648b5addae83679ecd8')
+ version("2.0.0", sha256="86993903527d9b12fc543335c19c1d33a93797b3d4d37648b5addae83679ecd8")
- variant('compat', default=False, description='Enable compatibility API')
- variant('opt', default=True, description='Enable optimizations')
+ variant("compat", default=False, description="Enable compatibility API")
+ variant("opt", default=True, description="Enable optimizations")
- depends_on('cmake@3.5.1:', type='build')
+ depends_on("cmake@3.5.1:", type="build")
def cmake_args(self):
args = [
- self.define_from_variant('ZLIB_COMPAT', 'compat'),
- self.define_from_variant('WITH_OPTIM', 'opt'),
+ self.define_from_variant("ZLIB_COMPAT", "compat"),
+ self.define_from_variant("WITH_OPTIM", "opt"),
]
return args
diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py
index 456114016d..870629e569 100644
--- a/var/spack/repos/builtin/packages/zlib/package.py
+++ b/var/spack/repos/builtin/packages/zlib/package.py
@@ -21,27 +21,34 @@ class Zlib(Package):
# URL must remain http:// so Spack can bootstrap curl
url = "https://zlib.net/fossils/zlib-1.2.11.tar.gz"
- version('1.2.12', sha256='91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9')
- version('1.2.11', sha256='c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1', deprecated=True)
- version('1.2.8', sha256='36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d', deprecated=True)
- version('1.2.3', sha256='1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e', deprecated=True)
-
- variant('pic', default=True,
- description='Produce position-independent code (for shared libs)')
- variant('shared', default=True,
- description='Enables the build of shared libraries.')
- variant('optimize', default=True,
- description='Enable -O2 for a more optimized lib')
-
- patch('w_patch.patch', when="@1.2.11%cce")
- patch('configure-cc.patch', when='@1.2.12')
+ version("1.2.12", sha256="91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9")
+ version(
+ "1.2.11",
+ sha256="c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
+ deprecated=True,
+ )
+ version(
+ "1.2.8",
+ sha256="36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d",
+ deprecated=True,
+ )
+ version(
+ "1.2.3",
+ sha256="1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e",
+ deprecated=True,
+ )
+
+ variant("pic", default=True, description="Produce position-independent code (for shared libs)")
+ variant("shared", default=True, description="Enables the build of shared libraries.")
+ variant("optimize", default=True, description="Enable -O2 for a more optimized lib")
+
+ patch("w_patch.patch", when="@1.2.11%cce")
+ patch("configure-cc.patch", when="@1.2.12")
@property
def libs(self):
- shared = '+shared' in self.spec
- return find_libraries(
- ['libz'], root=self.prefix, recursive=True, shared=shared
- )
+ shared = "+shared" in self.spec
+ return find_libraries(["libz"], root=self.prefix, recursive=True, shared=shared)
def win_install(self):
build_dir = self.stage.source_path
@@ -49,8 +56,7 @@ class Zlib(Package):
install_tree["bin"] = glob.glob(os.path.join(build_dir, "*.dll"))
install_tree["lib"] = glob.glob(os.path.join(build_dir, "*.lib"))
compose_src_path = lambda x: os.path.join(build_dir, x)
- install_tree["include"] = [compose_src_path("zlib.h"),
- compose_src_path("zconf.h")]
+ install_tree["include"] = [compose_src_path("zlib.h"), compose_src_path("zconf.h")]
# Windows path seps are fine here as this method is Windows specific.
install_tree["share\\man\\man3"] = [compose_src_path("zlib.3")]
@@ -67,22 +73,22 @@ class Zlib(Package):
installtree(self.prefix, install_tree)
def setup_build_environment(self, env):
- if '+pic' in self.spec:
- env.append_flags('CFLAGS', self.compiler.cc_pic_flag)
- if '+optimize' in self.spec:
- env.append_flags('CFLAGS', '-O2')
+ if "+pic" in self.spec:
+ env.append_flags("CFLAGS", self.compiler.cc_pic_flag)
+ if "+optimize" in self.spec:
+ env.append_flags("CFLAGS", "-O2")
def install(self, spec, prefix):
- if 'platform=windows' in self.spec:
- nmake('-f' 'win32\\Makefile.msc')
+ if "platform=windows" in self.spec:
+ nmake("-f" "win32\\Makefile.msc")
self.win_install()
else:
config_args = []
- if '~shared' in spec:
- config_args.append('--static')
- configure('--prefix={0}'.format(prefix), *config_args)
+ if "~shared" in spec:
+ config_args.append("--static")
+ configure("--prefix={0}".format(prefix), *config_args)
make()
if self.run_tests:
- make('check')
- make('install')
+ make("check")
+ make("install")
diff --git a/var/spack/repos/builtin/packages/zoltan/package.py b/var/spack/repos/builtin/packages/zoltan/package.py
index cee116c16b..84f92531ab 100644
--- a/var/spack/repos/builtin/packages/zoltan/package.py
+++ b/var/spack/repos/builtin/packages/zoltan/package.py
@@ -11,45 +11,45 @@ from spack.package import *
class Zoltan(AutotoolsPackage):
"""The Zoltan library is a toolkit of parallel combinatorial algorithms
- for parallel, unstructured, and/or adaptive scientific
- applications. Zoltan's largest component is a suite of dynamic
- load-balancing and partitioning algorithms that increase
- applications' parallel performance by reducing idle time. Zoltan
- also has graph coloring and graph ordering algorithms, which are
- useful in task schedulers and parallel preconditioners.
+ for parallel, unstructured, and/or adaptive scientific
+ applications. Zoltan's largest component is a suite of dynamic
+ load-balancing and partitioning algorithms that increase
+ applications' parallel performance by reducing idle time. Zoltan
+ also has graph coloring and graph ordering algorithms, which are
+ useful in task schedulers and parallel preconditioners.
"""
homepage = "http://www.cs.sandia.gov/zoltan"
- url = "https://github.com/sandialabs/Zoltan/archive/v3.83.tar.gz"
+ url = "https://github.com/sandialabs/Zoltan/archive/v3.83.tar.gz"
- version('3.83', sha256='17320a9f08e47f30f6f3846a74d15bfea6f3c1b937ca93c0ab759ca02c40e56c')
+ version("3.83", sha256="17320a9f08e47f30f6f3846a74d15bfea6f3c1b937ca93c0ab759ca02c40e56c")
- patch('notparallel.patch', when='@3.8')
+ patch("notparallel.patch", when="@3.8")
- variant('debug', default=False, description='Builds a debug version of the library.')
- variant('shared', default=True, description='Builds a shared version of the library.')
+ variant("debug", default=False, description="Builds a debug version of the library.")
+ variant("shared", default=True, description="Builds a shared version of the library.")
- variant('fortran', default=True, description='Enable Fortran support.')
- variant('mpi', default=True, description='Enable MPI support.')
- variant('parmetis', default=False, description='Enable ParMETIS support.')
- variant('int64', default=False, description='Enable 64bit indices.')
+ variant("fortran", default=True, description="Enable Fortran support.")
+ variant("mpi", default=True, description="Enable MPI support.")
+ variant("parmetis", default=False, description="Enable ParMETIS support.")
+ variant("int64", default=False, description="Enable 64bit indices.")
- depends_on('mpi', when='+mpi')
+ depends_on("mpi", when="+mpi")
- depends_on('parmetis@4: +int64', when='+parmetis+int64')
- depends_on('parmetis@4:', when='+parmetis')
- depends_on('metis+int64', when='+parmetis+int64')
- depends_on('metis', when='+parmetis')
+ depends_on("parmetis@4: +int64", when="+parmetis+int64")
+ depends_on("parmetis@4:", when="+parmetis")
+ depends_on("metis+int64", when="+parmetis+int64")
+ depends_on("metis", when="+parmetis")
- depends_on('perl@:5.21', type='build', when='@:3.6')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('m4', type='build')
+ depends_on("perl@:5.21", type="build", when="@:3.6")
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("m4", type="build")
- conflicts('+parmetis', when='~mpi')
+ conflicts("+parmetis", when="~mpi")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
@property
def configure_directory(self):
@@ -57,113 +57,118 @@ class Zoltan(AutotoolsPackage):
# FIXME: The older Zoltan versions fail to compile the F90 MPI wrappers
# because of some complicated generic type problem.
- if spec.satisfies('@:3.6+fortran+mpi'):
- raise RuntimeError(('Cannot build Zoltan v{0} with +fortran and '
- '+mpi; please disable one of these features '
- 'or upgrade versions.').format(self.version))
- if spec.satisfies('@:3.6'):
- zoltan_path = 'Zoltan_v{0}'.format(self.version)
+ if spec.satisfies("@:3.6+fortran+mpi"):
+ raise RuntimeError(
+ (
+ "Cannot build Zoltan v{0} with +fortran and "
+ "+mpi; please disable one of these features "
+ "or upgrade versions."
+ ).format(self.version)
+ )
+ if spec.satisfies("@:3.6"):
+ zoltan_path = "Zoltan_v{0}".format(self.version)
return zoltan_path
- return '.'
+ return "."
@property
def parallel(self):
# NOTE: Earlier versions of Zoltan cannot be built in parallel
# because they contain nested Makefile dependency bugs.
- return not self.spec.satisfies('@:3.6+fortran')
+ return not self.spec.satisfies("@:3.6+fortran")
def autoreconf(self, spec, prefix):
- autoreconf = which('autoreconf')
+ autoreconf = which("autoreconf")
with working_dir(self.configure_directory):
- autoreconf('-ivf')
+ autoreconf("-ivf")
def configure_args(self):
spec = self.spec
config_args = [
- self.get_config_flag('f90interface', 'fortran'),
- self.get_config_flag('mpi', 'mpi'),
+ self.get_config_flag("f90interface", "fortran"),
+ self.get_config_flag("mpi", "mpi"),
]
config_cflags = [
- '-O0' if '+debug' in spec else '-O3',
- '-g' if '+debug' in spec else '',
+ "-O0" if "+debug" in spec else "-O3",
+ "-g" if "+debug" in spec else "",
]
config_ldflags = []
# PGI runtime libraries
- if '%pgi' in spec:
- config_ldflags.append('-pgf90libs')
+ if "%pgi" in spec:
+ config_ldflags.append("-pgf90libs")
# NVHPC runtime libraries
- if '%nvhpc' in spec:
- config_ldflags.append('-fortranlibs')
- if '+shared' in spec:
- config_args.extend([
- 'RANLIB=echo',
- '--with-ar=$(CXX) -shared $(LDFLAGS) -o'
- ])
+ if "%nvhpc" in spec:
+ config_ldflags.append("-fortranlibs")
+ if "+shared" in spec:
+ config_args.extend(["RANLIB=echo", "--with-ar=$(CXX) -shared $(LDFLAGS) -o"])
config_cflags.append(self.compiler.cc_pic_flag)
- if spec.satisfies('%gcc'):
- config_args.append('--with-libs=-lgfortran')
- if spec.satisfies('%intel'):
- config_args.append('--with-libs=-lifcore')
-
- if '+int64' in spec:
- config_args.append('--with-id-type=ulong')
-
- if '+parmetis' in spec:
- parmetis_prefix = spec['parmetis'].prefix
- config_args.extend([
- '--with-parmetis',
- '--with-parmetis-libdir={0}'.format(parmetis_prefix.lib),
- '--with-parmetis-incdir={0}'.format(parmetis_prefix.include),
- '--with-incdirs=-I{0}'.format(spec['metis'].prefix.include),
- '--with-ldflags=-L{0}'.format(spec['metis'].prefix.lib)
- ])
- if '+int64' in spec['metis']:
- config_args.append('--with-id-type=ulong')
+ if spec.satisfies("%gcc"):
+ config_args.append("--with-libs=-lgfortran")
+ if spec.satisfies("%intel"):
+ config_args.append("--with-libs=-lifcore")
+
+ if "+int64" in spec:
+ config_args.append("--with-id-type=ulong")
+
+ if "+parmetis" in spec:
+ parmetis_prefix = spec["parmetis"].prefix
+ config_args.extend(
+ [
+ "--with-parmetis",
+ "--with-parmetis-libdir={0}".format(parmetis_prefix.lib),
+ "--with-parmetis-incdir={0}".format(parmetis_prefix.include),
+ "--with-incdirs=-I{0}".format(spec["metis"].prefix.include),
+ "--with-ldflags=-L{0}".format(spec["metis"].prefix.lib),
+ ]
+ )
+ if "+int64" in spec["metis"]:
+ config_args.append("--with-id-type=ulong")
else:
- config_args.append('--with-id-type=uint')
-
- if '+mpi' in spec:
- config_args.extend([
- 'CC={0}'.format(spec['mpi'].mpicc),
- 'CXX={0}'.format(spec['mpi'].mpicxx),
- 'FC={0}'.format(spec['mpi'].mpifc),
- '--with-mpi={0}'.format(spec['mpi'].prefix),
-
- # NOTE: Zoltan assumes that it's linking against an MPI library
- # that can be found with '-lmpi' which isn't the case for many
- # MPI packages. We rely on the MPI-wrappers to automatically
- # add what is required for linking and thus pass an empty
- # list of libs
- '--with-mpi-libs= '
- ])
+ config_args.append("--with-id-type=uint")
+
+ if "+mpi" in spec:
+ config_args.extend(
+ [
+ "CC={0}".format(spec["mpi"].mpicc),
+ "CXX={0}".format(spec["mpi"].mpicxx),
+ "FC={0}".format(spec["mpi"].mpifc),
+ "--with-mpi={0}".format(spec["mpi"].prefix),
+ # NOTE: Zoltan assumes that it's linking against an MPI library
+ # that can be found with '-lmpi' which isn't the case for many
+ # MPI packages. We rely on the MPI-wrappers to automatically
+ # add what is required for linking and thus pass an empty
+ # list of libs
+ "--with-mpi-libs= ",
+ ]
+ )
config_fcflags = config_cflags[:]
- if spec.satisfies('%gcc@10:+fortran'):
- config_fcflags.append('-fallow-argument-mismatch')
+ if spec.satisfies("%gcc@10:+fortran"):
+ config_fcflags.append("-fallow-argument-mismatch")
# NOTE: Early versions of Zoltan come packaged with a few embedded
# library packages (e.g. ParMETIS, Scotch), which messes with Spack's
# ability to descend directly into the package's source directory.
- config_args.extend([
- '--with-cflags={0}'.format(' '.join(config_cflags)),
- '--with-cxxflags={0}'.format(' '.join(config_cflags)),
- '--with-fcflags={0}'.format(' '.join(config_fcflags)),
- '--with-ldflags={0}'.format(' '.join(config_ldflags))
- ])
+ config_args.extend(
+ [
+ "--with-cflags={0}".format(" ".join(config_cflags)),
+ "--with-cxxflags={0}".format(" ".join(config_cflags)),
+ "--with-fcflags={0}".format(" ".join(config_fcflags)),
+ "--with-ldflags={0}".format(" ".join(config_ldflags)),
+ ]
+ )
return config_args
# NOTE: Unfortunately, Zoltan doesn't provide any configuration
# options for the extension of the output library files, so this
# script must change these extensions as a post-processing step.
- @run_after('install')
+ @run_after("install")
def solib_install(self):
- if '+shared' in self.spec:
- for lib_path in find(self.spec.prefix.lib, 'lib*.a'):
- lib_shared_name = re.sub(r'\.a$', '.{0}'.format(dso_suffix),
- lib_path)
+ if "+shared" in self.spec:
+ for lib_path in find(self.spec.prefix.lib, "lib*.a"):
+ lib_shared_name = re.sub(r"\.a$", ".{0}".format(dso_suffix), lib_path)
move(lib_path, lib_shared_name)
def get_config_flag(self, flag_name, flag_variant):
- flag_pre = 'en' if '+{0}'.format(flag_variant) in self.spec else 'dis'
- return '--{0}able-{1}'.format(flag_pre, flag_name)
+ flag_pre = "en" if "+{0}".format(flag_variant) in self.spec else "dis"
+ return "--{0}able-{1}".format(flag_pre, flag_name)
diff --git a/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py b/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py
index a5eda430bb..7714370bdc 100644
--- a/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py
+++ b/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py
@@ -12,13 +12,13 @@ class ZookeeperBenchmark(MavenPackage):
ensemble for a predetermined length of time"""
homepage = "https://zookeeper.apache.org"
- git = "https://github.com/brownsys/zookeeper-benchmark.git"
+ git = "https://github.com/brownsys/zookeeper-benchmark.git"
- version('master', branch='master')
+ version("master", branch="master")
- depends_on('zookeeper', type=('build', 'run'))
+ depends_on("zookeeper", type=("build", "run"))
def build(self, spec, prefix):
- zookeeper_version = self.spec['zookeeper'].version.string
- mvn = which('mvn')
- mvn('-DZooKeeperVersion=' + zookeeper_version, 'package')
+ zookeeper_version = self.spec["zookeeper"].version.string
+ mvn = which("mvn")
+ mvn("-DZooKeeperVersion=" + zookeeper_version, "package")
diff --git a/var/spack/repos/builtin/packages/zookeeper/package.py b/var/spack/repos/builtin/packages/zookeeper/package.py
index b60df74eb0..b5a16d7278 100644
--- a/var/spack/repos/builtin/packages/zookeeper/package.py
+++ b/var/spack/repos/builtin/packages/zookeeper/package.py
@@ -13,9 +13,9 @@ class Zookeeper(Package):
"""
homepage = "https://archive.apache.org"
- url = "https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz"
+ url = "https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz"
- version('3.4.11', sha256='f6bd68a1c8f7c13ea4c2c99f13082d0d71ac464ffaf3bf7a365879ab6ad10e84')
+ version("3.4.11", sha256="f6bd68a1c8f7c13ea4c2c99f13082d0d71ac464ffaf3bf7a365879ab6ad10e84")
def install(self, spec, prefix):
- install_tree('.', prefix)
+ install_tree(".", prefix)
diff --git a/var/spack/repos/builtin/packages/zpares/package.py b/var/spack/repos/builtin/packages/zpares/package.py
index 13f3573b0d..6de1b05768 100644
--- a/var/spack/repos/builtin/packages/zpares/package.py
+++ b/var/spack/repos/builtin/packages/zpares/package.py
@@ -8,46 +8,46 @@ from spack.package import *
class Zpares(MakefilePackage):
"""z-Pares is designed to compute a few eigenvalues
- and eigenvectors of sparse matrices."""
+ and eigenvectors of sparse matrices."""
homepage = "https://zpares.cs.tsukuba.ac.jp/"
- url = "http://zpares.cs.tsukuba.ac.jp/download/zpares_0.9.6a.tar.gz"
+ url = "http://zpares.cs.tsukuba.ac.jp/download/zpares_0.9.6a.tar.gz"
- version('0.9.6a', sha256='3c34257d249451b0b984abc985e296ebb73ae5331025f1b8ea08d50301c7cf9a')
+ version("0.9.6a", sha256="3c34257d249451b0b984abc985e296ebb73ae5331025f1b8ea08d50301c7cf9a")
- variant('mpi', default=False, description='Activates MPI support')
- variant('mumps', default=False, description='Activates MUMPS support')
+ variant("mpi", default=False, description="Activates MPI support")
+ variant("mumps", default=False, description="Activates MUMPS support")
- depends_on('mumps+mpi', when='+mumps+mpi')
- depends_on('mumps~mpi', when='+mumps~mpi')
- depends_on('lapack')
- depends_on('blas')
- depends_on('mpi', when='+mpi')
+ depends_on("mumps+mpi", when="+mumps+mpi")
+ depends_on("mumps~mpi", when="+mumps~mpi")
+ depends_on("lapack")
+ depends_on("blas")
+ depends_on("mpi", when="+mpi")
def edit(self, spec, prefix):
- copy(join_path('Makefile.inc', 'make.inc.gfortran.seq'), 'make.inc')
+ copy(join_path("Makefile.inc", "make.inc.gfortran.seq"), "make.inc")
@property
def build_targets(self):
targets = []
- if '+mpi' in self.spec:
- targets.append('USE_MPI=1')
- targets.append('FC={0}'.format(self.spec['mpi'].mpifc))
+ if "+mpi" in self.spec:
+ targets.append("USE_MPI=1")
+ targets.append("FC={0}".format(self.spec["mpi"].mpifc))
else:
- targets.append('USE_MPI=0')
- targets.append('FC={0}'.format(self.compiler.fc))
-
- if '+mumps' in self.spec:
- targets.append('USE_MUMPS=1')
- targets.append('FFLAG={0}'.format(self.compiler.openmp_flag))
- targets.append('LFFLAG={0}'.format(self.compiler.openmp_flag))
- targets.append('MUMPS_DIR={0}'.format(self.spec['mumps'].prefix))
+ targets.append("USE_MPI=0")
+ targets.append("FC={0}".format(self.compiler.fc))
+
+ if "+mumps" in self.spec:
+ targets.append("USE_MUMPS=1")
+ targets.append("FFLAG={0}".format(self.compiler.openmp_flag))
+ targets.append("LFFLAG={0}".format(self.compiler.openmp_flag))
+ targets.append("MUMPS_DIR={0}".format(self.spec["mumps"].prefix))
else:
- targets.append('USE_MUMPS=0')
+ targets.append("USE_MUMPS=0")
- targets.append('BLAS={0}'.format(self.spec['blas'].libs.link_flags))
- targets.append('LAPACK={0}'.format(self.spec['lapack'].libs.link_flags))
+ targets.append("BLAS={0}".format(self.spec["blas"].libs.link_flags))
+ targets.append("LAPACK={0}".format(self.spec["lapack"].libs.link_flags))
return targets
@@ -55,5 +55,5 @@ class Zpares(MakefilePackage):
mkdirp(prefix.lib)
mkdirp(prefix.include)
- install(join_path('lib', '*.a'), prefix.lib)
- install(join_path('include', '*.mod'), prefix.include)
+ install(join_path("lib", "*.a"), prefix.lib)
+ install(join_path("include", "*.mod"), prefix.include)
diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py
index 3624536119..0edb0d7520 100644
--- a/var/spack/repos/builtin/packages/zsh/package.py
+++ b/var/spack/repos/builtin/packages/zsh/package.py
@@ -15,45 +15,46 @@ class Zsh(AutotoolsPackage):
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')
- version('5.7.1', sha256='7260292c2c1d483b2d50febfa5055176bd512b32a8833b116177bf5f01e77ee8')
- version('5.6.2', sha256='a50bd66c0557e8eca3b8fa24e85d0de533e775d7a22df042da90488623752e9e')
- version('5.4.2', sha256='a80b187b6b770f092ea1f53e89021d06c03d8bbe6a5e996bcca3267de14c5e52')
- version('5.3.1', sha256='fc886cb2ade032d006da8322c09a7e92b2309177811428b121192d44832920da')
- version('5.1.1', sha256='74e9453b5470b3c0970f9f93cfd603d241c3d7b1968adc0e4b3951073e8d3dec')
+ version("5.8", sha256="dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27")
+ version("5.7.1", sha256="7260292c2c1d483b2d50febfa5055176bd512b32a8833b116177bf5f01e77ee8")
+ version("5.6.2", sha256="a50bd66c0557e8eca3b8fa24e85d0de533e775d7a22df042da90488623752e9e")
+ version("5.4.2", sha256="a80b187b6b770f092ea1f53e89021d06c03d8bbe6a5e996bcca3267de14c5e52")
+ version("5.3.1", sha256="fc886cb2ade032d006da8322c09a7e92b2309177811428b121192d44832920da")
+ version("5.1.1", sha256="74e9453b5470b3c0970f9f93cfd603d241c3d7b1968adc0e4b3951073e8d3dec")
# Testing for terminal related things causes failures in e.g. Jenkins.
# See e.g. https://www.zsh.org/mla/users/2003/msg00845.html,
# although the name of the option has evolved since then.
- variant('skip-tcsetpgrp-test', default=True,
- description="Skip configure's tcsetpgrp test")
- variant('etcdir', default=False,
- description='enable etc dir local to install, for global zsh scripts')
- variant('lmod', default=False,
- description='setup zshrc env for lmod support')
+ variant("skip-tcsetpgrp-test", default=True, description="Skip configure's tcsetpgrp test")
+ variant(
+ "etcdir",
+ default=False,
+ description="enable etc dir local to install, for global zsh scripts",
+ )
+ variant("lmod", default=False, description="setup zshrc env for lmod support")
depends_on("pcre")
depends_on("ncurses")
- conflicts('+lmod', when='~etcdir', msg='local etc required to setup env for lmod')
+ conflicts("+lmod", when="~etcdir", msg="local etc required to setup env for lmod")
def configure_args(self):
args = []
- if '+skip-tcsetpgrp-test' in self.spec:
+ if "+skip-tcsetpgrp-test" in self.spec:
# assert that we have a functional tcsetpgrp
- args.append('--with-tcsetpgrp')
+ args.append("--with-tcsetpgrp")
- if '+etcdir' in self.spec:
+ if "+etcdir" in self.spec:
# enable etc dir under install prefix
mkdirp(self.prefix.etc)
- args.append('--enable-etcdir={0}'.format(self.prefix.etc))
+ args.append("--enable-etcdir={0}".format(self.prefix.etc))
return args
- @run_after('install')
+ @run_after("install")
def setup_zshenv(self):
- if '+lmod' in self.spec:
+ if "+lmod" in self.spec:
zsh_setup = """
if [ -d /etc/profile.d ]; then
setopt no_nomatch
@@ -66,5 +67,5 @@ if [ -d /etc/profile.d ]; then
fi
"""
- with open('{0}/zshenv'.format(self.prefix.etc), 'w') as zshenv:
+ with open("{0}/zshenv".format(self.prefix.etc), "w") as zshenv:
zshenv.write(zsh_setup)
diff --git a/var/spack/repos/builtin/packages/zstd/package.py b/var/spack/repos/builtin/packages/zstd/package.py
index d7baca0e73..8a5a52e35e 100644
--- a/var/spack/repos/builtin/packages/zstd/package.py
+++ b/var/spack/repos/builtin/packages/zstd/package.py
@@ -12,71 +12,79 @@ class Zstd(MakefilePackage):
better compression ratios."""
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"
+ url = "https://github.com/facebook/zstd/archive/v1.4.3.tar.gz"
+ git = "https://github.com/facebook/zstd.git"
- maintainers = ['haampie']
+ maintainers = ["haampie"]
- version('develop', branch='dev')
- version('1.5.2', sha256='f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e')
- version('1.5.0', sha256='0d9ade222c64e912d6957b11c923e214e2e010a18f39bec102f572e693ba2867')
- version('1.4.9', sha256='acf714d98e3db7b876e5b540cbf6dee298f60eb3c0723104f6d3f065cd60d6a8')
- version('1.4.8', sha256='f176f0626cb797022fbf257c3c644d71c1c747bb74c32201f9203654da35e9fa')
- version('1.4.7', sha256='085500c8d0b9c83afbc1dc0d8b4889336ad019eba930c5d6a9c6c86c20c769c8')
- version('1.4.5', sha256='734d1f565c42f691f8420c8d06783ad818060fc390dee43ae0a89f86d0a4f8c2')
- version('1.4.4', sha256='a364f5162c7d1a455cc915e8e3cf5f4bd8b75d09bc0f53965b0c9ca1383c52c8')
- version('1.4.3', sha256='5eda3502ecc285c3c92ee0cc8cd002234dee39d539b3f692997a0e80de1d33de')
- version('1.4.2', sha256='7a6e1dad34054b35e2e847eb3289be8820a5d378228802239852f913c6dcf6a7')
- version('1.4.0', sha256='63be339137d2b683c6d19a9e34f4fb684790e864fee13c7dd40e197a64c705c1')
- version('1.3.8', sha256='90d902a1282cc4e197a8023b6d6e8d331c1fd1dfe60f7f8e4ee9da40da886dc3')
- version('1.3.0', sha256='0fdba643b438b7cbce700dcc0e7b3e3da6d829088c63757a5984930e2f70b348')
- version('1.1.2', sha256='980b8febb0118e22f6ed70d23b5b3e600995dbf7489c1f6d6122c1411cdda8d8')
+ version("develop", branch="dev")
+ version("1.5.2", sha256="f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e")
+ version("1.5.0", sha256="0d9ade222c64e912d6957b11c923e214e2e010a18f39bec102f572e693ba2867")
+ version("1.4.9", sha256="acf714d98e3db7b876e5b540cbf6dee298f60eb3c0723104f6d3f065cd60d6a8")
+ version("1.4.8", sha256="f176f0626cb797022fbf257c3c644d71c1c747bb74c32201f9203654da35e9fa")
+ version("1.4.7", sha256="085500c8d0b9c83afbc1dc0d8b4889336ad019eba930c5d6a9c6c86c20c769c8")
+ version("1.4.5", sha256="734d1f565c42f691f8420c8d06783ad818060fc390dee43ae0a89f86d0a4f8c2")
+ version("1.4.4", sha256="a364f5162c7d1a455cc915e8e3cf5f4bd8b75d09bc0f53965b0c9ca1383c52c8")
+ version("1.4.3", sha256="5eda3502ecc285c3c92ee0cc8cd002234dee39d539b3f692997a0e80de1d33de")
+ version("1.4.2", sha256="7a6e1dad34054b35e2e847eb3289be8820a5d378228802239852f913c6dcf6a7")
+ version("1.4.0", sha256="63be339137d2b683c6d19a9e34f4fb684790e864fee13c7dd40e197a64c705c1")
+ version("1.3.8", sha256="90d902a1282cc4e197a8023b6d6e8d331c1fd1dfe60f7f8e4ee9da40da886dc3")
+ version("1.3.0", sha256="0fdba643b438b7cbce700dcc0e7b3e3da6d829088c63757a5984930e2f70b348")
+ version("1.1.2", sha256="980b8febb0118e22f6ed70d23b5b3e600995dbf7489c1f6d6122c1411cdda8d8")
- variant('programs', default=False, description='Build executables')
- variant('libs', default='shared,static', values=('shared', 'static'),
- multi=True, description='Build shared libs, static libs or both')
- variant('compression', when='+programs',
- values=any_combination_of('zlib', 'lz4', 'lzma'),
- description='Enable support for additional compression methods in programs')
+ variant("programs", default=False, description="Build executables")
+ variant(
+ "libs",
+ default="shared,static",
+ values=("shared", "static"),
+ multi=True,
+ description="Build shared libs, static libs or both",
+ )
+ variant(
+ "compression",
+ when="+programs",
+ values=any_combination_of("zlib", "lz4", "lzma"),
+ description="Enable support for additional compression methods in programs",
+ )
- depends_on('zlib', when='compression=zlib')
- depends_on('lz4', when='compression=lz4')
- depends_on('xz', when='compression=lzma')
+ depends_on("zlib", when="compression=zlib")
+ depends_on("lz4", when="compression=lz4")
+ depends_on("xz", when="compression=lzma")
# +programs builds vendored xxhash, which uses unsupported builtins
# (last tested: nvhpc@22.3)
- conflicts('+programs %nvhpc')
+ conflicts("+programs %nvhpc")
def build(self, spec, prefix):
pass
def install(self, spec, prefix):
- args = ['VERBOSE=1', 'PREFIX=' + prefix]
+ args = ["VERBOSE=1", "PREFIX=" + prefix]
# Tested %nvhpc@22.3. No support for -MP
- if '%nvhpc' in self.spec:
- args.append('DEPFLAGS=-MT $@ -MMD -MF')
+ if "%nvhpc" in self.spec:
+ args.append("DEPFLAGS=-MT $@ -MMD -MF")
# library targets
- lib_args = ['-C', 'lib'] + args + ['install-pc', 'install-includes']
- if 'libs=shared' in spec:
- lib_args.append('install-shared')
- if 'libs=static' in spec:
- lib_args.append('install-static')
+ lib_args = ["-C", "lib"] + args + ["install-pc", "install-includes"]
+ if "libs=shared" in spec:
+ lib_args.append("install-shared")
+ if "libs=static" in spec:
+ lib_args.append("install-static")
# install the library
make(*lib_args)
# install the programs
- if '+programs' in spec:
- programs_args = ['-C', 'programs'] + args
+ if "+programs" in spec:
+ programs_args = ["-C", "programs"] + args
# additional compression programs have to be turned off, otherwise the
# makefile will detect them.
- if 'compression=zlib' not in spec:
- programs_args.append('HAVE_ZLIB=0')
- if 'compression=lzma' not in spec:
- programs_args.append('HAVE_LZMA=0')
- if 'compression=lz4' not in spec:
- programs_args.append('HAVE_LZ4=0')
- programs_args.append('install')
+ if "compression=zlib" not in spec:
+ programs_args.append("HAVE_ZLIB=0")
+ if "compression=lzma" not in spec:
+ programs_args.append("HAVE_LZMA=0")
+ if "compression=lz4" not in spec:
+ programs_args.append("HAVE_LZ4=0")
+ programs_args.append("install")
make(*programs_args)
diff --git a/var/spack/repos/builtin/packages/zstr/package.py b/var/spack/repos/builtin/packages/zstr/package.py
index a5a269faaf..8e8f7ceeac 100644
--- a/var/spack/repos/builtin/packages/zstr/package.py
+++ b/var/spack/repos/builtin/packages/zstr/package.py
@@ -8,23 +8,22 @@ from spack.package import *
class Zstr(Package):
"""This C++ header-only library enables the use of C++ standard
- iostreams to access ZLib-compressed streams."""
+ iostreams to access ZLib-compressed streams."""
homepage = "https://github.com/mateidavid/zstr"
- url = "https://github.com/mateidavid/zstr/archive/v1.0.4.tar.gz"
+ url = "https://github.com/mateidavid/zstr/archive/v1.0.4.tar.gz"
- maintainers = ['bvanessen']
+ maintainers = ["bvanessen"]
- version('1.0.4', sha256='a594a3a9c192a6d9e93f9585910d41f7ee6791eb7c454d40c922656324b3058e')
- version('1.0.3', sha256='d42f1b08e4c3a26e3b42433691d32765015cf89f089ae075b1acb819ccba585f')
- version('1.0.2', sha256='b4c2d72f0f222b72985fc6c2bd2bd9c1fc353d2e4c8c12186fd87229107a442b')
- version('1.0.1', sha256='e17e67e00ede182504b3165cebd802420770541465d4ba41df1a15bf4c2a63b7')
- version('1.0.0', sha256='9f4fa8cb0d2cbba03dfe67900c48b6e75c8380d9263a0ac71d795f11e0224b96')
+ version("1.0.4", sha256="a594a3a9c192a6d9e93f9585910d41f7ee6791eb7c454d40c922656324b3058e")
+ version("1.0.3", sha256="d42f1b08e4c3a26e3b42433691d32765015cf89f089ae075b1acb819ccba585f")
+ version("1.0.2", sha256="b4c2d72f0f222b72985fc6c2bd2bd9c1fc353d2e4c8c12186fd87229107a442b")
+ version("1.0.1", sha256="e17e67e00ede182504b3165cebd802420770541465d4ba41df1a15bf4c2a63b7")
+ version("1.0.0", sha256="9f4fa8cb0d2cbba03dfe67900c48b6e75c8380d9263a0ac71d795f11e0224b96")
- depends_on('zlib')
+ depends_on("zlib")
def install(self, spec, prefix):
"""Make the install targets - Note that this package
- keeps it's headers in the src directory"""
- install_tree(join_path(self.stage.source_path, 'src'),
- prefix.include)
+ keeps it's headers in the src directory"""
+ install_tree(join_path(self.stage.source_path, "src"), prefix.include)
diff --git a/var/spack/repos/builtin/packages/zziplib/package.py b/var/spack/repos/builtin/packages/zziplib/package.py
index bf2e4d208d..ce98d4c3fc 100644
--- a/var/spack/repos/builtin/packages/zziplib/package.py
+++ b/var/spack/repos/builtin/packages/zziplib/package.py
@@ -13,50 +13,51 @@ class Zziplib(AutotoolsPackage):
filesystem of the operating system environment."""
homepage = "https://github.com/gdraheim/zziplib"
- url = "https://github.com/gdraheim/zziplib/archive/v0.13.69.tar.gz"
+ url = "https://github.com/gdraheim/zziplib/archive/v0.13.69.tar.gz"
# Switch to CMake from 0.13.70, first working release is 0.13.71
- version('0.13.72', sha256='93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc')
- version('0.13.69', sha256='846246d7cdeee405d8d21e2922c6e97f55f24ecbe3b6dcf5778073a88f120544')
+ version("0.13.72", sha256="93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc")
+ version("0.13.69", sha256="846246d7cdeee405d8d21e2922c6e97f55f24ecbe3b6dcf5778073a88f120544")
- patch('python2to3.patch', when='@:0.13.69')
+ patch("python2to3.patch", when="@:0.13.69")
- build_directory = 'spack-build'
+ build_directory = "spack-build"
- depends_on('python@3.5:', type='build', when='@0.13.71:')
- depends_on('cmake', type='build', when='@0.13.71:')
- depends_on('python', type='build')
- depends_on('zlib')
+ depends_on("python@3.5:", type="build", when="@0.13.71:")
+ depends_on("cmake", type="build", when="@0.13.71:")
+ depends_on("python", type="build")
+ depends_on("zlib")
# see zzip/CMakeLists.txt
- depends_on('coreutils', type='build', when='@0.13.71:')
- depends_on('pkgconfig', type='build', when='@0.13.71:')
+ depends_on("coreutils", type="build", when="@0.13.71:")
+ depends_on("pkgconfig", type="build", when="@0.13.71:")
- @when('@0.13.71:')
+ @when("@0.13.71:")
def autoreconf(self, spec, prefix):
- touch('configure')
+ touch("configure")
- @when('@0.13.71:')
+ @when("@0.13.71:")
def _cmake_args(self):
spec = self.spec
args = []
- zlib = spec['zlib']
+ zlib = spec["zlib"]
# Do not use self.define('VAR', path) unless a CMakePackage
- args.extend([
- '-DZLIB_LIBRARY:FILEPATH={0}'.format(zlib.libs[0]),
- '-DZLIB_INCLUDE_DIR:FILEPATH={0}'.format(zlib.headers.directories[0])
- ])
- args.append('-DPYTHON_EXECUTABLE:FILEPATH={0}'.format(
- spec['python'].command.path))
- args.append('-DCMAKE_INSTALL_PREFIX:PATH={0}'.format(spec.prefix))
+ args.extend(
+ [
+ "-DZLIB_LIBRARY:FILEPATH={0}".format(zlib.libs[0]),
+ "-DZLIB_INCLUDE_DIR:FILEPATH={0}".format(zlib.headers.directories[0]),
+ ]
+ )
+ args.append("-DPYTHON_EXECUTABLE:FILEPATH={0}".format(spec["python"].command.path))
+ args.append("-DCMAKE_INSTALL_PREFIX:PATH={0}".format(spec.prefix))
return args
def configure_args(self):
- args = ['--with-zlib={0}'.format(self.spec['zlib'].prefix)]
+ args = ["--with-zlib={0}".format(self.spec["zlib"].prefix)]
return args
- @when('@0.13.71:')
+ @when("@0.13.71:")
def configure(self, spec, prefix):
- with working_dir('spack-build', create=True):
+ with working_dir("spack-build", create=True):
cmake_args = self._cmake_args()
- cmake('..', *cmake_args)
+ cmake("..", *cmake_args)
diff --git a/var/spack/repos/tutorial/packages/armadillo/package.py b/var/spack/repos/tutorial/packages/armadillo/package.py
index 7913ce354b..781271fd60 100644
--- a/var/spack/repos/tutorial/packages/armadillo/package.py
+++ b/var/spack/repos/tutorial/packages/armadillo/package.py
@@ -15,23 +15,23 @@ class Armadillo(CMakePackage):
homepage = "http://arma.sourceforge.net/"
url = "http://sourceforge.net/projects/arma/files/armadillo-7.200.1.tar.xz"
- version('8.100.1', 'd9762d6f097e0451d0cfadfbda295e7c')
- version('7.950.1', 'c06eb38b12cae49cab0ce05f96147147')
- version('7.900.1', '5ef71763bd429a3d481499878351f3be')
- version('7.500.0', '7d316fdf3c3c7ea92b64704180ae315d')
- version('7.200.2', 'b21585372d67a8876117fd515d8cf0a2')
- version('7.200.1', 'ed86d6df0058979e107502e1fe3e469e')
+ version("8.100.1", "d9762d6f097e0451d0cfadfbda295e7c")
+ version("7.950.1", "c06eb38b12cae49cab0ce05f96147147")
+ version("7.900.1", "5ef71763bd429a3d481499878351f3be")
+ version("7.500.0", "7d316fdf3c3c7ea92b64704180ae315d")
+ version("7.200.2", "b21585372d67a8876117fd515d8cf0a2")
+ version("7.200.1", "ed86d6df0058979e107502e1fe3e469e")
- variant('hdf5', default=False, description='Include HDF5 support')
+ variant("hdf5", default=False, description="Include HDF5 support")
- depends_on('cmake@2.8.12:', type='build')
- depends_on('arpack-ng') # old arpack causes undefined symbols
- depends_on('blas')
- depends_on('lapack')
- depends_on('superlu@5.2:')
- depends_on('hdf5', when='+hdf5')
+ depends_on("cmake@2.8.12:", type="build")
+ depends_on("arpack-ng") # old arpack causes undefined symbols
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("superlu@5.2:")
+ depends_on("hdf5", when="+hdf5")
- patch('undef_linux.patch', when='platform=linux')
+ patch("undef_linux.patch", when="platform=linux")
def cmake_args(self):
spec = self.spec
@@ -49,14 +49,14 @@ class Armadillo(CMakePackage):
return [
# ARPACK support
- '-DARPACK_LIBRARY={0}'.format('FIXME: arpack-ng'),
+ "-DARPACK_LIBRARY={0}".format("FIXME: arpack-ng"),
# BLAS support
- '-DBLAS_LIBRARY={0}'.format('FIXME: blas'),
+ "-DBLAS_LIBRARY={0}".format("FIXME: blas"),
# LAPACK support
- '-DLAPACK_LIBRARY={0}'.format('FIXME: lapack'),
+ "-DLAPACK_LIBRARY={0}".format("FIXME: lapack"),
# SuperLU support
- '-DSuperLU_INCLUDE_DIR={0}'.format(spec['superlu'].prefix.include),
- '-DSuperLU_LIBRARY={0}'.format('FIXME: superlu'),
+ "-DSuperLU_INCLUDE_DIR={0}".format(spec["superlu"].prefix.include),
+ "-DSuperLU_LIBRARY={0}".format("FIXME: superlu"),
# HDF5 support
- '-DDETECT_HDF5={0}'.format('ON' if '+hdf5' in spec else 'OFF')
+ "-DDETECT_HDF5={0}".format("ON" if "+hdf5" in spec else "OFF"),
]
diff --git a/var/spack/repos/tutorial/packages/elpa/package.py b/var/spack/repos/tutorial/packages/elpa/package.py
index 2fad884a88..d502390f0f 100644
--- a/var/spack/repos/tutorial/packages/elpa/package.py
+++ b/var/spack/repos/tutorial/packages/elpa/package.py
@@ -9,40 +9,38 @@ from spack.package import *
class Elpa(AutotoolsPackage):
"""Eigenvalue solvers for Petaflop-Applications (ELPA)"""
- homepage = 'http://elpa.mpcdf.mpg.de/'
- url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
+ homepage = "http://elpa.mpcdf.mpg.de/"
+ url = "http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz"
- version('2018.05.001.rc1', 'ccd77bd8036988ee624f43c04992bcdd')
- version('2017.11.001', '4a437be40cc966efb07aaab84c20cd6e', preferred=True)
- version('2017.05.003', '7c8e5e58cafab212badaf4216695700f')
- version('2017.05.002', 'd0abc1ac1f493f93bf5e30ec8ab155dc')
- version('2016.11.001.pre', '5656fd066cf0dcd071dbcaf20a639b37')
- version('2016.05.004', 'c0dd3a53055536fc3a2a221e78d8b376')
- version('2016.05.003', '88a9f3f3bfb63e16509dd1be089dcf2c')
- version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6')
+ version("2018.05.001.rc1", "ccd77bd8036988ee624f43c04992bcdd")
+ version("2017.11.001", "4a437be40cc966efb07aaab84c20cd6e", preferred=True)
+ version("2017.05.003", "7c8e5e58cafab212badaf4216695700f")
+ version("2017.05.002", "d0abc1ac1f493f93bf5e30ec8ab155dc")
+ version("2016.11.001.pre", "5656fd066cf0dcd071dbcaf20a639b37")
+ version("2016.05.004", "c0dd3a53055536fc3a2a221e78d8b376")
+ version("2016.05.003", "88a9f3f3bfb63e16509dd1be089dcf2c")
+ version("2015.11.001", "de0f35b7ee7c971fd0dca35c900b87e6")
- variant('openmp', default=False, description='Activates OpenMP support')
- variant('optflags', default=True, description='Build with optimization flags')
+ variant("openmp", default=False, description="Activates OpenMP support")
+ variant("optflags", default=True, description="Build with optimization flags")
- depends_on('mpi')
- depends_on('blas')
- depends_on('lapack')
- depends_on('scalapack')
+ depends_on("mpi")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("scalapack")
def url_for_version(self, version):
- t = 'http://elpa.mpcdf.mpg.de/html/Releases/{0}/elpa-{0}.tar.gz'
- if version < Version('2016.05.003'):
- t = 'http://elpa.mpcdf.mpg.de/elpa-{0}.tar.gz'
+ t = "http://elpa.mpcdf.mpg.de/html/Releases/{0}/elpa-{0}.tar.gz"
+ if version < Version("2016.05.003"):
+ t = "http://elpa.mpcdf.mpg.de/elpa-{0}.tar.gz"
return t.format(str(version))
@property
def libs(self):
- libname = 'libelpa_openmp' if '+openmp' in self.spec else 'libelpa'
- return find_libraries(
- libname, root=self.prefix, shared=True, recursive=True
- )
+ libname = "libelpa_openmp" if "+openmp" in self.spec else "libelpa"
+ return find_libraries(libname, root=self.prefix, shared=True, recursive=True)
- build_directory = 'spack-build'
+ build_directory = "spack-build"
def setup_run_environment(self, env):
# TUTORIAL: set the following environment variables:
@@ -65,11 +63,8 @@ class Elpa(AutotoolsPackage):
# https://src.fedoraproject.org/cgit/rpms/elpa.git/
# https://packages.qa.debian.org/e/elpa.html
options = []
- if '+optflags' in self.spec:
- options.extend([
- 'FCFLAGS=-O2 -ffree-line-length-none',
- 'CFLAGS=-O2'
- ])
- if '+openmp' in self.spec:
- options.append('--enable-openmp')
+ if "+optflags" in self.spec:
+ options.extend(["FCFLAGS=-O2 -ffree-line-length-none", "CFLAGS=-O2"])
+ if "+openmp" in self.spec:
+ options.append("--enable-openmp")
return options
diff --git a/var/spack/repos/tutorial/packages/hdf5/package.py b/var/spack/repos/tutorial/packages/hdf5/package.py
index 733b549efe..ea09fb3c49 100644
--- a/var/spack/repos/tutorial/packages/hdf5/package.py
+++ b/var/spack/repos/tutorial/packages/hdf5/package.py
@@ -19,94 +19,106 @@ class Hdf5(CMakePackage):
"""
homepage = "https://portal.hdfgroup.org"
- url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz"
+ url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz"
list_url = "https://support.hdfgroup.org/ftp/HDF5/releases"
list_depth = 3
- git = "https://github.com/HDFGroup/hdf5.git"
- maintainers = ['lrknox', 'brtnfld', 'byrnHDF', 'ChristopherHogan', 'epourmal',
- 'gheber', 'hyoklee', 'lkurz', 'soumagne']
+ git = "https://github.com/HDFGroup/hdf5.git"
+ maintainers = [
+ "lrknox",
+ "brtnfld",
+ "byrnHDF",
+ "ChristopherHogan",
+ "epourmal",
+ "gheber",
+ "hyoklee",
+ "lkurz",
+ "soumagne",
+ ]
test_requires_compiler = True
# The 'develop' version is renamed so that we could uninstall (or patch) it
# without affecting other develop version.
- version('develop-1.13', branch='develop')
- version('develop-1.12', branch='hdf5_1_12')
- version('develop-1.10', branch='hdf5_1_10')
- version('develop-1.8', branch='hdf5_1_8')
+ version("develop-1.13", branch="develop")
+ version("develop-1.12", branch="hdf5_1_12")
+ version("develop-1.10", branch="hdf5_1_10")
+ version("develop-1.8", branch="hdf5_1_8")
- version('1.12.1', sha256='79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca')
- version('1.12.0', sha256='a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a')
+ version("1.12.1", sha256="79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca")
+ version("1.12.0", sha256="a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a")
# HDF5 1.12 broke API compatibility, so we currently prefer the latest
# 1.10 release. packages that want later versions of HDF5 should specify,
# e.g., depends_on("hdf5@1.12:") to get 1.12 or higher.
- version('1.10.7', sha256='7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15', preferred=True)
- version('1.10.6', sha256='5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa')
- version('1.10.5', sha256='6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8')
- version('1.10.4', sha256='8f60dc4dd6ab5fcd23c750d1dc5bca3d0453bdce5c8cdaf0a4a61a9d1122adb2')
- version('1.10.3', sha256='b600d7c914cfa80ae127cd1a1539981213fee9994ac22ebec9e3845e951d9b39')
- version('1.10.2', sha256='bfec1be8c366965a99812cf02ddc97e4b708c1754fccba5414d4adccdc073866')
- version('1.10.1', sha256='048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172')
- version('1.10.0-patch1', sha256='6e78cfe32a10e6e0629393cdfddf6cfa536571efdaf85f08e35326e1b4e9eff0')
- version('1.10.0', sha256='81f6201aba5c30dced5dcd62f5d5477a2790fd5850e02ac514ca8bf3e2bb375a')
-
- version('1.8.22', sha256='8406d96d9355ef8961d2739fb8fd5474ad4cdf52f3cfac657733defd9709bfaa')
- version('1.8.21', sha256='87d8c82eba5cf766d97cd06c054f4639c1049c4adeaa3a79f77f8bd374f80f37')
- version('1.8.19', sha256='a4335849f19fae88c264fd0df046bc321a78c536b2548fc508627a790564dc38')
- version('1.8.18', sha256='cdb195ad8d9e6782acf24b2488061289f615628c2ccda8457b0a0c3fb7a8a063')
- version('1.8.17', sha256='d9cda297ee76ade9881c4208987939250d397bae6252d0ccb66fa7d24d67e263')
- version('1.8.16', sha256='ed17178abd9928a7237f30370189ba767b9e39e0db45917c2ac4665eb9cb4771')
- version('1.8.15', sha256='4e963216b7d32469596bc1321a8c3f6e0c278dcbbdb7be6414c63c081b34c275')
- version('1.8.14', sha256='1dbefeeef7f591897c632b2b090db96bb8d35ad035beaa36bc39cb2bc67e0639')
- version('1.8.13', sha256='82f6b38eec103b4fccfbf14892786e0c27a8135d3252d8601cf5bf20066d38c1')
- version('1.8.12', sha256='b5cccea850096962b5fd9e96f22c4f47d2379224bb41130d9bc038bb6c37dfcb')
- version('1.8.10', sha256='4813b79c5fb8701a625b9924b8203bc7154a77f9b826ad4e034144b4056a160a')
-
- variant('shared', default=True,
- description='Builds a shared version of the library')
-
- variant('hl', default=False, description='Enable the high-level library')
- variant('cxx', default=False, description='Enable C++ support')
- variant('fortran', default=False, description='Enable Fortran support')
- variant('java', default=False, description='Enable Java support')
- variant('threadsafe', default=False,
- description='Enable thread-safe capabilities')
- variant('tools', default=True, description='Enable building tools')
- variant('mpi', default=True, description='Enable MPI support')
- variant('szip', default=False, description='Enable szip support')
+ version(
+ "1.10.7",
+ sha256="7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15",
+ preferred=True,
+ )
+ version("1.10.6", sha256="5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa")
+ version("1.10.5", sha256="6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8")
+ version("1.10.4", sha256="8f60dc4dd6ab5fcd23c750d1dc5bca3d0453bdce5c8cdaf0a4a61a9d1122adb2")
+ version("1.10.3", sha256="b600d7c914cfa80ae127cd1a1539981213fee9994ac22ebec9e3845e951d9b39")
+ version("1.10.2", sha256="bfec1be8c366965a99812cf02ddc97e4b708c1754fccba5414d4adccdc073866")
+ version("1.10.1", sha256="048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172")
+ version(
+ "1.10.0-patch1", sha256="6e78cfe32a10e6e0629393cdfddf6cfa536571efdaf85f08e35326e1b4e9eff0"
+ )
+ version("1.10.0", sha256="81f6201aba5c30dced5dcd62f5d5477a2790fd5850e02ac514ca8bf3e2bb375a")
+
+ version("1.8.22", sha256="8406d96d9355ef8961d2739fb8fd5474ad4cdf52f3cfac657733defd9709bfaa")
+ version("1.8.21", sha256="87d8c82eba5cf766d97cd06c054f4639c1049c4adeaa3a79f77f8bd374f80f37")
+ version("1.8.19", sha256="a4335849f19fae88c264fd0df046bc321a78c536b2548fc508627a790564dc38")
+ version("1.8.18", sha256="cdb195ad8d9e6782acf24b2488061289f615628c2ccda8457b0a0c3fb7a8a063")
+ version("1.8.17", sha256="d9cda297ee76ade9881c4208987939250d397bae6252d0ccb66fa7d24d67e263")
+ version("1.8.16", sha256="ed17178abd9928a7237f30370189ba767b9e39e0db45917c2ac4665eb9cb4771")
+ version("1.8.15", sha256="4e963216b7d32469596bc1321a8c3f6e0c278dcbbdb7be6414c63c081b34c275")
+ version("1.8.14", sha256="1dbefeeef7f591897c632b2b090db96bb8d35ad035beaa36bc39cb2bc67e0639")
+ version("1.8.13", sha256="82f6b38eec103b4fccfbf14892786e0c27a8135d3252d8601cf5bf20066d38c1")
+ version("1.8.12", sha256="b5cccea850096962b5fd9e96f22c4f47d2379224bb41130d9bc038bb6c37dfcb")
+ version("1.8.10", sha256="4813b79c5fb8701a625b9924b8203bc7154a77f9b826ad4e034144b4056a160a")
+
+ variant("shared", default=True, description="Builds a shared version of the library")
+
+ variant("hl", default=False, description="Enable the high-level library")
+ variant("cxx", default=False, description="Enable C++ support")
+ variant("fortran", default=False, description="Enable Fortran support")
+ variant("java", default=False, description="Enable Java support")
+ variant("threadsafe", default=False, description="Enable thread-safe capabilities")
+ variant("tools", default=True, description="Enable building tools")
+ variant("mpi", default=True, description="Enable MPI support")
+ variant("szip", default=False, description="Enable szip support")
# Build HDF5 with API compatibility.
- variant('api', default='default',
- description='Choose api compatibility for earlier version',
- values=('default', 'v114', 'v112', 'v110', 'v18', 'v16'),
- multi=False)
-
- depends_on('cmake@3.12:', type='build')
-
- depends_on('mpi', when='+mpi')
- depends_on('java', type=('build', 'run'), when='+java')
+ variant(
+ "api",
+ default="default",
+ description="Choose api compatibility for earlier version",
+ values=("default", "v114", "v112", "v110", "v18", "v16"),
+ multi=False,
+ )
+
+ depends_on("cmake@3.12:", type="build")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("java", type=("build", "run"), when="+java")
# numactl does not currently build on darwin
- if sys.platform != 'darwin':
- depends_on('numactl', when='+mpi+fortran')
- depends_on('szip', when='+szip')
- depends_on('zlib@1.1.2:')
+ if sys.platform != "darwin":
+ depends_on("numactl", when="+mpi+fortran")
+ depends_on("szip", when="+szip")
+ depends_on("zlib@1.1.2:")
# The compiler wrappers (h5cc, h5fc, etc.) run 'pkg-config'.
- depends_on('pkgconfig', type='run')
+ depends_on("pkgconfig", type="run")
- conflicts('api=v114', when='@1.6.0:1.12',
- msg='v114 is not compatible with this release')
- conflicts('api=v112', when='@1.6.0:1.10',
- msg='v112 is not compatible with this release')
- conflicts('api=v110', when='@1.6.0:1.8',
- msg='v110 is not compatible with this release')
- conflicts('api=v18', when='@1.6.0:1.6',
- msg='v18 is not compatible with this release')
+ conflicts("api=v114", when="@1.6.0:1.12", msg="v114 is not compatible with this release")
+ conflicts("api=v112", when="@1.6.0:1.10", msg="v112 is not compatible with this release")
+ conflicts("api=v110", when="@1.6.0:1.8", msg="v110 is not compatible with this release")
+ conflicts("api=v18", when="@1.6.0:1.6", msg="v18 is not compatible with this release")
# The Java wrappers and associated libhdf5_java library
# were first available in 1.10
- conflicts('+java', when='@:1.9')
+ conflicts("+java", when="@:1.9")
# The Java wrappers cannot be built without shared libs.
- conflicts('+java', when='~shared')
+ conflicts("+java", when="~shared")
# There are several officially unsupported combinations of the features:
# 1. Thread safety is not guaranteed via high-level C-API but in some cases
@@ -128,8 +140,7 @@ class Hdf5(CMakePackage):
# There are known build failures with intel@18.0.1. This issue is
# discussed and patch is provided at
# https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/747951.
- patch('h5f90global-mult-obj-same-equivalence-same-common-block.patch',
- when='@1.10.1%intel@18')
+ patch("h5f90global-mult-obj-same-equivalence-same-common-block.patch", when="@1.10.1%intel@18")
# Turn line comments into block comments to conform with pre-C99 language
# standards. Versions of hdf5 after 1.8.10 don't require this patch,
@@ -141,23 +152,31 @@ class Hdf5(CMakePackage):
# pre-C99 code is restricted to just five lines of line comments in
# three src files, this patch accomplishes the simple task of patching the
# three src files and leaves the hdf5 build system alone.
- patch('pre-c99-comments.patch', when='@1.8.10')
+ patch("pre-c99-comments.patch", when="@1.8.10")
# There are build errors with GCC 8, see
# https://forum.hdfgroup.org/t/1-10-2-h5detect-compile-error-gcc-8-1-0-on-centos-7-2-solved/4441
- patch('https://salsa.debian.org/debian-gis-team/hdf5/raw/bf94804af5f80f662cad80a5527535b3c6537df6/debian/patches/gcc-8.patch',
- sha256='57cee5ff1992b4098eda079815c36fc2da9b10e00a9056df054f2384c4fc7523',
- when='@1.10.2%gcc@8:')
+ patch(
+ "https://salsa.debian.org/debian-gis-team/hdf5/raw/bf94804af5f80f662cad80a5527535b3c6537df6/debian/patches/gcc-8.patch",
+ sha256="57cee5ff1992b4098eda079815c36fc2da9b10e00a9056df054f2384c4fc7523",
+ when="@1.10.2%gcc@8:",
+ )
# Disable MPI C++ interface when C++ is disabled, otherwise downstream
# libraries fail to link; see https://github.com/spack/spack/issues/12586
- patch('h5public-skip-mpicxx.patch', when='@1.8.10:1.8.21,1.10.0:1.10.5+mpi~cxx',
- sha256='b61e2f058964ad85be6ee5ecea10080bf79e73f83ff88d1fa4b602d00209da9c')
+ patch(
+ "h5public-skip-mpicxx.patch",
+ when="@1.8.10:1.8.21,1.10.0:1.10.5+mpi~cxx",
+ sha256="b61e2f058964ad85be6ee5ecea10080bf79e73f83ff88d1fa4b602d00209da9c",
+ )
# Fixes BOZ literal constant error when compiled with GCC 10.
# The issue is described here: https://github.com/spack/spack/issues/18625
- patch('hdf5_1.8_gcc10.patch', when='@:1.8.21',
- sha256='0e20187cda3980a4fdff410da92358b63de7ebef2df1d7a425371af78e50f666')
+ patch(
+ "hdf5_1.8_gcc10.patch",
+ when="@:1.8.21",
+ sha256="0e20187cda3980a4fdff410da92358b63de7ebef2df1d7a425371af78e50f666",
+ )
# The argument 'buf_size' of the C function 'h5fget_file_image_c' is
# declared as intent(in) though it is modified by the invocation. As a
@@ -165,51 +184,54 @@ class Hdf5(CMakePackage):
# optimization to cause an error.
def patch(self):
filter_file(
- 'INTEGER(SIZE_T), INTENT(IN) :: buf_size',
- 'INTEGER(SIZE_T), INTENT(OUT) :: buf_size',
- 'fortran/src/H5Fff.F90',
- string=True, ignore_absent=True)
+ "INTEGER(SIZE_T), INTENT(IN) :: buf_size",
+ "INTEGER(SIZE_T), INTENT(OUT) :: buf_size",
+ "fortran/src/H5Fff.F90",
+ string=True,
+ ignore_absent=True,
+ )
filter_file(
- 'INTEGER(SIZE_T), INTENT(IN) :: buf_size',
- 'INTEGER(SIZE_T), INTENT(OUT) :: buf_size',
- 'fortran/src/H5Fff_F03.f90',
- string=True, ignore_absent=True)
+ "INTEGER(SIZE_T), INTENT(IN) :: buf_size",
+ "INTEGER(SIZE_T), INTENT(OUT) :: buf_size",
+ "fortran/src/H5Fff_F03.f90",
+ string=True,
+ ignore_absent=True,
+ )
# The parallel compiler wrappers (i.e. h5pcc, h5pfc, etc.) reference MPI
# compiler wrappers and do not need to be changed.
- filter_compiler_wrappers('h5cc', 'h5hlcc',
- 'h5fc', 'h5hlfc',
- 'h5c++', 'h5hlc++',
- relative_root='bin')
+ filter_compiler_wrappers(
+ "h5cc", "h5hlcc", "h5fc", "h5hlfc", "h5c++", "h5hlc++", relative_root="bin"
+ )
def url_for_version(self, version):
- url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{0}/hdf5-{1}/src/hdf5-{1}.tar.gz"
+ url = (
+ "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{0}/hdf5-{1}/src/hdf5-{1}.tar.gz"
+ )
return url.format(version.up_to(2), version)
def flag_handler(self, name, flags):
cmake_flags = []
if name == "cflags":
- if self.spec.satisfies('%gcc') \
- or self.spec.satisfies('%clang'):
+ 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'):
+ if self.spec.satisfies("@:1.8.12~shared"):
# More recent versions set CMAKE_POSITION_INDEPENDENT_CODE to
# True and build with PIC flags.
cmake_flags.append(self.compiler.cc_pic_flag)
- elif name == 'cxxflags':
- if self.spec.satisfies('@:1.8.12+cxx~shared'):
+ elif name == "cxxflags":
+ if self.spec.satisfies("@:1.8.12+cxx~shared"):
cmake_flags.append(self.compiler.cxx_pic_flag)
elif name == "fflags":
- if self.spec.satisfies('@:1.8.12+fortran~shared'):
+ if self.spec.satisfies("@:1.8.12+fortran~shared"):
cmake_flags.append(self.compiler.fc_pic_flag)
elif name == "ldlibs":
- if '+fortran %fj' in self.spec:
- cmake_flags.extend(['-lfj90i', '-lfj90f',
- '-lfjsrcinfo', '-lelf'])
+ if "+fortran %fj" in self.spec:
+ cmake_flags.extend(["-lfj90i", "-lfj90f", "-lfjsrcinfo", "-lelf"])
return flags, None, (cmake_flags or None)
@@ -226,13 +248,13 @@ class Hdf5(CMakePackage):
"""
query_parameters = self.spec.last_query.extra_parameters
- shared = '+shared' in self.spec
+ shared = "+shared" in self.spec
# This map contains a translation from query_parameters
# to the libraries needed
query2libraries = {
- tuple(): ['libhdf5'],
- ('cxx', 'fortran', 'hl', 'java'): [
+ tuple(): ["libhdf5"],
+ ("cxx", "fortran", "hl", "java"): [
# When installed with Autotools, the basename of the real
# library file implementing the High-level Fortran interface is
# 'libhdf5hl_fortran'. Starting versions 1.8.22, 1.10.5 and
@@ -253,122 +275,119 @@ class Hdf5(CMakePackage):
# packages that could benefit from it would be those that
# hardcode the library name in their building systems. Such
# packages should simply be patched.
- 'libhdf5_hl_fortran',
- 'libhdf5_hl_f90cstub',
- 'libhdf5_hl_cpp',
- 'libhdf5_hl',
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5_java',
- 'libhdf5',
+ "libhdf5_hl_fortran",
+ "libhdf5_hl_f90cstub",
+ "libhdf5_hl_cpp",
+ "libhdf5_hl",
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5_java",
+ "libhdf5",
+ ],
+ ("cxx", "hl"): [
+ "libhdf5_hl_cpp",
+ "libhdf5_hl",
+ "libhdf5",
],
- ('cxx', 'hl'): [
- 'libhdf5_hl_cpp',
- 'libhdf5_hl',
- 'libhdf5',
+ ("fortran", "hl"): [
+ "libhdf5_hl_fortran",
+ "libhdf5_hl_f90cstub",
+ "libhdf5_hl",
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5",
],
- ('fortran', 'hl'): [
- 'libhdf5_hl_fortran',
- 'libhdf5_hl_f90cstub',
- 'libhdf5_hl',
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5',
+ ("hl",): [
+ "libhdf5_hl",
+ "libhdf5",
],
- ('hl',): [
- 'libhdf5_hl',
- 'libhdf5',
+ ("cxx", "fortran"): [
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5_cpp",
+ "libhdf5",
],
- ('cxx', 'fortran'): [
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5_cpp',
- 'libhdf5',
+ ("cxx",): [
+ "libhdf5_cpp",
+ "libhdf5",
],
- ('cxx',): [
- 'libhdf5_cpp',
- 'libhdf5',
+ ("fortran",): [
+ "libhdf5_fortran",
+ "libhdf5_f90cstub",
+ "libhdf5",
],
- ('fortran',): [
- 'libhdf5_fortran',
- 'libhdf5_f90cstub',
- 'libhdf5',
+ ("java",): [
+ "libhdf5_java",
+ "libhdf5",
],
- ('java',): [
- 'libhdf5_java',
- 'libhdf5',
- ]
}
# Turn the query into the appropriate key
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
- @when('@:1.8.21,1.10.0:1.10.5+szip')
+ @when("@:1.8.21,1.10.0:1.10.5+szip")
def setup_build_environment(self, env):
- env.set('SZIP_INSTALL', self.spec['szip'].prefix)
+ env.set("SZIP_INSTALL", self.spec["szip"].prefix)
- @run_before('cmake')
+ @run_before("cmake")
def fortran_check(self):
- if '+fortran' in self.spec and not self.compiler.fc:
- msg = 'cannot build a Fortran variant without a Fortran compiler'
+ if "+fortran" in self.spec and not self.compiler.fc:
+ msg = "cannot build a Fortran variant without a Fortran compiler"
raise RuntimeError(msg)
def cmake_args(self):
spec = self.spec
- if spec.satisfies('@:1.8.15+shared'):
- tty.warn('hdf5@:1.8.15+shared does not produce static libraries')
+ if spec.satisfies("@:1.8.15+shared"):
+ tty.warn("hdf5@:1.8.15+shared does not produce static libraries")
args = [
# Always enable this option. This does not actually enable any
# features: it only *allows* the user to specify certain
# combinations of other arguments.
- self.define('ALLOW_UNSUPPORTED', True),
+ self.define("ALLOW_UNSUPPORTED", True),
# Speed-up the building by skipping the examples:
- self.define('HDF5_BUILD_EXAMPLES', False),
+ self.define("HDF5_BUILD_EXAMPLES", False),
self.define(
- 'BUILD_TESTING',
+ "BUILD_TESTING",
self.run_tests or
# Version 1.8.22 fails to build the tools when shared libraries
# are enabled but the tests are disabled.
- spec.satisfies('@1.8.22+shared+tools')),
- self.define('HDF5_ENABLE_Z_LIB_SUPPORT', True),
- self.define_from_variant('HDF5_ENABLE_SZIP_SUPPORT', 'szip'),
- self.define_from_variant('HDF5_ENABLE_SZIP_ENCODING', 'szip'),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define('ONLY_SHARED_LIBS', False),
- self.define_from_variant('HDF5_ENABLE_PARALLEL', 'mpi'),
- self.define_from_variant('HDF5_ENABLE_THREADSAFE', 'threadsafe'),
- self.define_from_variant('HDF5_BUILD_HL_LIB', 'hl'),
- self.define_from_variant('HDF5_BUILD_CPP_LIB', 'cxx'),
- self.define_from_variant('HDF5_BUILD_FORTRAN', 'fortran'),
- self.define_from_variant('HDF5_BUILD_JAVA', 'java'),
- self.define_from_variant('HDF5_BUILD_TOOLS', 'tools')
+ spec.satisfies("@1.8.22+shared+tools"),
+ ),
+ self.define("HDF5_ENABLE_Z_LIB_SUPPORT", True),
+ self.define_from_variant("HDF5_ENABLE_SZIP_SUPPORT", "szip"),
+ self.define_from_variant("HDF5_ENABLE_SZIP_ENCODING", "szip"),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("ONLY_SHARED_LIBS", False),
+ self.define_from_variant("HDF5_ENABLE_PARALLEL", "mpi"),
+ self.define_from_variant("HDF5_ENABLE_THREADSAFE", "threadsafe"),
+ self.define_from_variant("HDF5_BUILD_HL_LIB", "hl"),
+ self.define_from_variant("HDF5_BUILD_CPP_LIB", "cxx"),
+ self.define_from_variant("HDF5_BUILD_FORTRAN", "fortran"),
+ self.define_from_variant("HDF5_BUILD_JAVA", "java"),
+ self.define_from_variant("HDF5_BUILD_TOOLS", "tools"),
]
- api = spec.variants['api'].value
- if api != 'default':
- args.append(self.define('DEFAULT_API_VERSION', api))
+ api = spec.variants["api"].value
+ if api != "default":
+ args.append(self.define("DEFAULT_API_VERSION", api))
- if '+mpi' in spec:
- args.append(self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc))
+ if "+mpi" in spec:
+ args.append(self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc))
- if '+cxx' in self.spec:
- args.append(self.define('CMAKE_CXX_COMPILER',
- spec['mpi'].mpicxx))
+ if "+cxx" in self.spec:
+ args.append(self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx))
- if '+fortran' in self.spec:
- args.append(self.define('CMAKE_Fortran_COMPILER',
- spec['mpi'].mpifc))
+ if "+fortran" in self.spec:
+ args.append(self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc))
return args
- @run_after('install')
+ @run_after("install")
def ensure_parallel_compiler_wrappers(self):
# When installed with Autotools and starting at least version 1.8.10,
# the package produces C compiler wrapper called either 'h5cc' (when MPI
@@ -379,26 +398,24 @@ class Hdf5(CMakePackage):
# support is enabled and the file is identical to 'h5cc'. Here, we make
# sure that 'h5pcc' is available when MPI support is enabled (only for
# versions that generate 'h5cc').
- if self.spec.satisfies('@1.8.21:1.8.22,1.10.2:1.10.7,1.12.0+mpi'):
+ if self.spec.satisfies("@1.8.21:1.8.22,1.10.2:1.10.7,1.12.0+mpi"):
with working_dir(self.prefix.bin):
# No try/except here, fix the condition above instead:
- symlink('h5cc', 'h5pcc')
+ symlink("h5cc", "h5pcc")
# The same as for 'h5pcc'. However, the CMake installation produces the
# Fortran compiler wrapper called 'h5fc' only starting versions 1.8.22,
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
# MPI support are enabled (only for versions that generate 'h5fc').
- if self.spec.satisfies('@1.8.22:1.8,'
- '1.10.6:1.10,'
- '1.12.0:1.12,'
- 'develop:'
- '+fortran+mpi'):
+ if self.spec.satisfies(
+ "@1.8.22:1.8," "1.10.6:1.10," "1.12.0:1.12," "develop:" "+fortran+mpi"
+ ):
with working_dir(self.prefix.bin):
# No try/except here, fix the condition above instead:
- symlink('h5fc', 'h5pfc')
+ symlink("h5fc", "h5pfc")
- @run_after('install')
+ @run_after("install")
def fix_package_config(self):
# We need to fix the pkg-config files, which are also used by the
# compiler wrappers. The files are created starting versions 1.8.21,
@@ -413,7 +430,7 @@ class Hdf5(CMakePackage):
# that each <name>-<version>.pc file is symlinked by <name>.pc and all
# references to <name>-<version> packages in the original files are
# replaced with references to <name> packages.
- pc_files = find(self.prefix.lib.pkgconfig, 'hdf5*.pc', recursive=False)
+ pc_files = find(self.prefix.lib.pkgconfig, "hdf5*.pc", recursive=False)
if not pc_files:
# This also tells us that the pkgconfig directory does not exist.
@@ -421,20 +438,23 @@ class Hdf5(CMakePackage):
# Replace versioned references in all pkg-config files:
filter_file(
- r'(Requires(?:\.private)?:.*)(hdf5[^\s,]*)(?:-[^\s,]*)(.*)',
- r'\1\2\3', *pc_files, backup=False)
+ r"(Requires(?:\.private)?:.*)(hdf5[^\s,]*)(?:-[^\s,]*)(.*)",
+ r"\1\2\3",
+ *pc_files,
+ backup=False
+ )
# Create non-versioned symlinks to the versioned pkg-config files:
with working_dir(self.prefix.lib.pkgconfig):
for f in pc_files:
src_filename = os.path.basename(f)
- version_sep_idx = src_filename.find('-')
+ version_sep_idx = src_filename.find("-")
if version_sep_idx > -1:
- tgt_filename = src_filename[:version_sep_idx] + '.pc'
+ tgt_filename = src_filename[:version_sep_idx] + ".pc"
if not os.path.exists(tgt_filename):
symlink(src_filename, tgt_filename)
- @run_after('install')
+ @run_after("install")
@on_package_attributes(run_tests=True)
def check_install(self):
self._check_install()
@@ -460,18 +480,19 @@ int main(int argc, char **argv) {
"""
expected = """\
HDF5 version {version} {version}
-""".format(version=str(spec.version.up_to(3)))
- with open("check.c", 'w') as f:
+""".format(
+ version=str(spec.version.up_to(3))
+ )
+ with open("check.c", "w") as f:
f.write(source)
- if '+mpi' in spec:
- cc = Executable(spec['mpi'].mpicc)
+ if "+mpi" in spec:
+ cc = Executable(spec["mpi"].mpicc)
else:
cc = Executable(self.compiler.cc)
- cc(*(['-c', "check.c"] + spec['hdf5'].headers.cpp_flags.split()))
- cc(*(['-o', "check",
- "check.o"] + spec['hdf5'].libs.ld_flags.split()))
+ cc(*(["-c", "check.c"] + spec["hdf5"].headers.cpp_flags.split()))
+ cc(*(["-o", "check", "check.o"] + spec["hdf5"].libs.ld_flags.split()))
try:
- check = Executable('./check')
+ check = Executable("./check")
output = check(output=str)
except ProcessError:
output = ""
@@ -479,55 +500,74 @@ HDF5 version {version} {version}
if not success:
print("Produced output does not match expected output.")
print("Expected output:")
- print('-' * 80)
+ print("-" * 80)
print(expected)
- print('-' * 80)
+ print("-" * 80)
print("Produced output:")
- print('-' * 80)
+ print("-" * 80)
print(output)
- print('-' * 80)
+ print("-" * 80)
raise RuntimeError("HDF5 install check failed")
shutil.rmtree(checkdir)
def _test_check_versions(self):
"""Perform version checks on selected installed package binaries."""
- spec_vers_str = 'Version {0}'.format(self.spec.version)
+ spec_vers_str = "Version {0}".format(self.spec.version)
exes = [
- 'h5copy', 'h5diff', 'h5dump', 'h5format_convert', 'h5ls',
- 'h5mkgrp', 'h5repack', 'h5stat', 'h5unjam',
+ "h5copy",
+ "h5diff",
+ "h5dump",
+ "h5format_convert",
+ "h5ls",
+ "h5mkgrp",
+ "h5repack",
+ "h5stat",
+ "h5unjam",
]
- use_short_opt = ['h52gif', 'h5repart', 'h5unjam']
+ use_short_opt = ["h52gif", "h5repart", "h5unjam"]
for exe in exes:
- reason = 'test: ensuring version of {0} is {1}' \
- .format(exe, spec_vers_str)
- option = '-V' if exe in use_short_opt else '--version'
- self.run_test(exe, option, spec_vers_str, installed=True,
- purpose=reason, skip_missing=True)
+ reason = "test: ensuring version of {0} is {1}".format(exe, spec_vers_str)
+ option = "-V" if exe in use_short_opt else "--version"
+ self.run_test(
+ exe, option, spec_vers_str, installed=True, purpose=reason, skip_missing=True
+ )
def _test_example(self):
"""This test performs copy, dump, and diff on an example hdf5 file."""
test_data_dir = self.test_suite.current_test_data_dir
- filename = 'spack.h5'
+ filename = "spack.h5"
h5_file = test_data_dir.join(filename)
- reason = 'test: ensuring h5dump produces expected output'
- expected = get_escaped_text_output(test_data_dir.join('dump.out'))
- self.run_test('h5dump', filename, expected, installed=True,
- purpose=reason, skip_missing=True,
- work_dir=test_data_dir)
-
- reason = 'test: ensuring h5copy runs'
- options = ['-i', h5_file, '-s', 'Spack', '-o', 'test.h5', '-d',
- 'Spack']
- self.run_test('h5copy', options, [], installed=True,
- purpose=reason, skip_missing=True, work_dir='.')
-
- reason = ('test: ensuring h5diff shows no differences between orig and'
- ' copy')
- self.run_test('h5diff', [h5_file, 'test.h5'], [], installed=True,
- purpose=reason, skip_missing=True, work_dir='.')
+ reason = "test: ensuring h5dump produces expected output"
+ expected = get_escaped_text_output(test_data_dir.join("dump.out"))
+ self.run_test(
+ "h5dump",
+ filename,
+ expected,
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=test_data_dir,
+ )
+
+ reason = "test: ensuring h5copy runs"
+ options = ["-i", h5_file, "-s", "Spack", "-o", "test.h5", "-d", "Spack"]
+ self.run_test(
+ "h5copy", options, [], installed=True, purpose=reason, skip_missing=True, work_dir="."
+ )
+
+ reason = "test: ensuring h5diff shows no differences between orig and" " copy"
+ self.run_test(
+ "h5diff",
+ [h5_file, "test.h5"],
+ [],
+ installed=True,
+ purpose=reason,
+ skip_missing=True,
+ work_dir=".",
+ )
def test(self):
"""Perform smoke tests on the installed package."""
diff --git a/var/spack/repos/tutorial/packages/mpich/package.py b/var/spack/repos/tutorial/packages/mpich/package.py
index 1e372528a4..ae1b00961d 100644
--- a/var/spack/repos/tutorial/packages/mpich/package.py
+++ b/var/spack/repos/tutorial/packages/mpich/package.py
@@ -13,67 +13,65 @@ class Mpich(AutotoolsPackage):
the Message Passing Interface (MPI) standard."""
homepage = "http://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"
+ 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/"
list_depth = 1
- version('develop', submodules=True)
- version('3.2.1', 'e175452f4d61646a52c73031683fc375')
- version('3.2', 'f414cfa77099cd1fa1a5ae4e22db508a')
- version('3.1.4', '2ab544607986486562e076b83937bba2')
- version('3.1.3', '93cb17f91ac758cbf9174ecb03563778')
- version('3.1.2', '7fbf4b81dcb74b07ae85939d1ceee7f1')
- version('3.1.1', '40dc408b1e03cc36d80209baaa2d32b7')
- version('3.1', '5643dd176499bfb7d25079aaff25f2ec')
- version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
-
- variant('hydra', default=True, description='Build the hydra process manager')
- variant('pmi', default=True, description='Build with PMI support')
- variant('romio', default=True, description='Enable ROMIO MPI I/O implementation')
- variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
+ version("develop", submodules=True)
+ version("3.2.1", "e175452f4d61646a52c73031683fc375")
+ version("3.2", "f414cfa77099cd1fa1a5ae4e22db508a")
+ version("3.1.4", "2ab544607986486562e076b83937bba2")
+ version("3.1.3", "93cb17f91ac758cbf9174ecb03563778")
+ version("3.1.2", "7fbf4b81dcb74b07ae85939d1ceee7f1")
+ version("3.1.1", "40dc408b1e03cc36d80209baaa2d32b7")
+ version("3.1", "5643dd176499bfb7d25079aaff25f2ec")
+ version("3.0.4", "9c5d5d4fe1e17dd12153f40bc5b6dbc0")
+
+ variant("hydra", default=True, description="Build the hydra process manager")
+ variant("pmi", default=True, description="Build with PMI support")
+ variant("romio", default=True, description="Enable ROMIO MPI I/O implementation")
+ variant("verbs", default=False, description="Build support for OpenFabrics verbs.")
variant(
- 'device',
- default='ch3',
- description='''Abstract Device Interface (ADI)
-implementation. The ch4 device is currently in experimental state''',
- values=('ch3', 'ch4'),
- multi=False
+ "device",
+ default="ch3",
+ description="""Abstract Device Interface (ADI)
+implementation. The ch4 device is currently in experimental state""",
+ values=("ch3", "ch4"),
+ multi=False,
)
variant(
- 'netmod',
- default='tcp',
- description='''Network module. Only single netmod builds are
+ "netmod",
+ default="tcp",
+ description="""Network module. Only single netmod builds are
supported. For ch3 device configurations, this presumes the
ch3:nemesis communication channel. ch3:sock is not supported by this
-spack package at this time.''',
- values=('tcp', 'mxm', 'ofi', 'ucx'),
- multi=False
+spack package at this time.""",
+ values=("tcp", "mxm", "ofi", "ucx"),
+ multi=False,
)
- provides('mpi')
- provides('mpi@:3.0', when='@3:')
- provides('mpi@:1.3', when='@1:')
+ provides("mpi")
+ provides("mpi@:3.0", when="@3:")
+ provides("mpi@:1.3", when="@1:")
- filter_compiler_wrappers(
- 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
- )
+ filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
# fix MPI_Barrier segmentation fault
# see https://lists.mpich.org/pipermail/discuss/2016-May/004764.html
# and https://lists.mpich.org/pipermail/discuss/2016-June/004768.html
- patch('mpich32_clang.patch', when='@3.2:3.2.0%clang')
+ patch("mpich32_clang.patch", when="@3.2:3.2.0%clang")
- depends_on('findutils', type='build')
+ depends_on("findutils", type="build")
- depends_on('libfabric', when='netmod=ofi')
+ depends_on("libfabric", when="netmod=ofi")
- conflicts('device=ch4', when='@:3.2')
- conflicts('netmod=ofi', when='@:3.1.4')
- conflicts('netmod=ucx', when='device=ch3')
- conflicts('netmod=mxm', when='device=ch4')
- conflicts('netmod=mxm', when='@:3.1.3')
- conflicts('netmod=tcp', when='device=ch4')
+ conflicts("device=ch4", when="@:3.2")
+ conflicts("netmod=ofi", when="@:3.1.4")
+ conflicts("netmod=ucx", when="device=ch3")
+ conflicts("netmod=mxm", when="device=ch4")
+ conflicts("netmod=mxm", when="@:3.1.3")
+ conflicts("netmod=tcp", when="device=ch4")
def setup_dependent_build_environment(self, env, dependent_spec):
# TUTORIAL: set the following variables for dependents:
@@ -90,20 +88,20 @@ spack package at this time.''',
pass
def setup_dependent_package(self, module, dependent_spec):
- if 'platform=cray' in self.spec:
+ if "platform=cray" in self.spec:
self.spec.mpicc = spack_cc
self.spec.mpicxx = spack_cxx
self.spec.mpifc = spack_fc
self.spec.mpif77 = spack_f77
else:
- self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
- self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
- self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
- self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
+ self.spec.mpicc = join_path(self.prefix.bin, "mpicc")
+ self.spec.mpicxx = join_path(self.prefix.bin, "mpic++")
+ self.spec.mpifc = join_path(self.prefix.bin, "mpif90")
+ self.spec.mpif77 = join_path(self.prefix.bin, "mpif77")
self.spec.mpicxx_shared_libs = [
- join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
- join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
+ join_path(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)),
+ join_path(self.prefix.lib, "libmpi.{0}".format(dso_suffix)),
]
def autoreconf(self, spec, prefix):
@@ -112,44 +110,42 @@ spack package at this time.''',
if os.path.exists(self.configure_abs_path):
return
# Else bootstrap with autotools
- bash = which('bash')
- bash('./autogen.sh')
+ bash = which("bash")
+ bash("./autogen.sh")
- @run_before('autoreconf')
+ @run_before("autoreconf")
def die_without_fortran(self):
# Until we can pass variants such as +fortran through virtual
# dependencies depends_on('mpi'), require Fortran compiler to
# avoid delayed build errors in dependents.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- raise InstallError(
- 'Mpich requires both C and Fortran compilers!'
- )
+ raise InstallError("Mpich requires both C and Fortran compilers!")
def configure_args(self):
spec = self.spec
config_args = [
- '--enable-shared',
- '--with-pm={0}'.format('hydra' if '+hydra' in spec else 'no'),
- '--with-pmi={0}'.format('yes' if '+pmi' in spec else 'no'),
- '--{0}-romio'.format('enable' if '+romio' in spec else 'disable'),
- '--{0}-ibverbs'.format('with' if '+verbs' in spec else 'without')
+ "--enable-shared",
+ "--with-pm={0}".format("hydra" if "+hydra" in spec else "no"),
+ "--with-pmi={0}".format("yes" if "+pmi" in spec else "no"),
+ "--{0}-romio".format("enable" if "+romio" in spec else "disable"),
+ "--{0}-ibverbs".format("with" if "+verbs" in spec else "without"),
]
# setup device configuration
- device_config = ''
- if 'device=ch4' in spec:
- device_config = '--with-device=ch4:'
- elif 'device=ch3' in spec:
- device_config = '--with-device=ch3:nemesis:'
-
- if 'netmod=ucx' in spec:
- device_config += 'ucx'
- elif 'netmod=ofi' in spec:
- device_config += 'ofi'
- elif 'netmod=mxm' in spec:
- device_config += 'mxm'
- elif 'netmod=tcp' in spec:
- device_config += 'tcp'
+ device_config = ""
+ if "device=ch4" in spec:
+ device_config = "--with-device=ch4:"
+ elif "device=ch3" in spec:
+ device_config = "--with-device=ch3:nemesis:"
+
+ if "netmod=ucx" in spec:
+ device_config += "ucx"
+ elif "netmod=ofi" in spec:
+ device_config += "ofi"
+ elif "netmod=mxm" in spec:
+ device_config += "mxm"
+ elif "netmod=tcp" in spec:
+ device_config += "tcp"
config_args.append(device_config)
diff --git a/var/spack/repos/tutorial/packages/netlib-lapack/package.py b/var/spack/repos/tutorial/packages/netlib-lapack/package.py
index 01c987aafd..e5bdba132b 100644
--- a/var/spack/repos/tutorial/packages/netlib-lapack/package.py
+++ b/var/spack/repos/tutorial/packages/netlib-lapack/package.py
@@ -14,50 +14,51 @@ class NetlibLapack(CMakePackage):
package that has found extensive use in the scientific community.
"""
+
homepage = "http://www.netlib.org/lapack/"
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
- version('3.8.0', '96591affdbf58c450d45c1daa540dbd2',
- url='http://www.netlib.org/lapack/lapack-3.8.0.tar.gz')
- version('3.7.1', 'dcdeeed73de152c4643ccc5b1aeb453c')
- version('3.7.0', '697bb8d67c7d336a0f339cc9dd0fa72f')
- version('3.6.1', '421b2cb72e15f237e144428f9c460ee0')
- version('3.6.0', 'f2f6c67134e851fe189bb3ca1fbb5101')
- version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
- version('3.4.2', '61bf1a8a4469d4bdb7604f5897179478')
- version('3.4.1', '44c3869c38c8335c2b9c2a8bb276eb55')
- version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
- version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
-
- variant('shared', default=True, description="Build shared library version")
- variant('external-blas', default=False,
- description='Build lapack with an external blas')
-
- variant('lapacke', default=True,
- description='Activates the build of the LAPACKE C interface')
- variant('xblas', default=False,
- description='Builds extended precision routines using XBLAS')
-
- patch('ibm-xl.patch', when='@3.7: %xl')
- patch('ibm-xl.patch', when='@3.7: %xl_r')
+ version(
+ "3.8.0",
+ "96591affdbf58c450d45c1daa540dbd2",
+ url="http://www.netlib.org/lapack/lapack-3.8.0.tar.gz",
+ )
+ version("3.7.1", "dcdeeed73de152c4643ccc5b1aeb453c")
+ version("3.7.0", "697bb8d67c7d336a0f339cc9dd0fa72f")
+ version("3.6.1", "421b2cb72e15f237e144428f9c460ee0")
+ version("3.6.0", "f2f6c67134e851fe189bb3ca1fbb5101")
+ version("3.5.0", "b1d3e3e425b2e44a06760ff173104bdf")
+ version("3.4.2", "61bf1a8a4469d4bdb7604f5897179478")
+ version("3.4.1", "44c3869c38c8335c2b9c2a8bb276eb55")
+ version("3.4.0", "02d5706ec03ba885fc246e5fa10d8c70")
+ version("3.3.1", "d0d533ec9a5b74933c2a1e84eedc58b4")
+
+ variant("shared", default=True, description="Build shared library version")
+ variant("external-blas", default=False, description="Build lapack with an external blas")
+
+ variant("lapacke", default=True, description="Activates the build of the LAPACKE C interface")
+ variant("xblas", default=False, description="Builds extended precision routines using XBLAS")
+
+ patch("ibm-xl.patch", when="@3.7: %xl")
+ patch("ibm-xl.patch", when="@3.7: %xl_r")
# https://github.com/Reference-LAPACK/lapack/issues/228
# TODO: update 'when' once the version of lapack
# containing the fix is released and added to Spack.
- patch('undefined_declarations.patch', when='@3.8.0:')
+ patch("undefined_declarations.patch", when="@3.8.0:")
# https://github.com/Reference-LAPACK/lapack/pull/268
# TODO: update 'when' once the version of lapack
# containing the fix is released and added to Spack.
- patch('testing.patch', when='@3.7.0:')
+ patch("testing.patch", when="@3.7.0:")
# virtual dependency
- provides('blas', when='~external-blas')
- provides('lapack')
+ provides("blas", when="~external-blas")
+ provides("lapack")
- depends_on('blas', when='+external-blas')
- depends_on('netlib-xblas+fortran+plain_blas', when='+xblas')
- depends_on('python@2.7:', type='test')
+ depends_on("blas", when="+external-blas")
+ depends_on("netlib-xblas+fortran+plain_blas", when="+xblas")
+ depends_on("python@2.7:", type="test")
# We need to run every phase twice in order to get static and shared
# versions of the libraries. When ~shared, we run the default
@@ -73,34 +74,34 @@ class NetlibLapack(CMakePackage):
def patch(self):
# Fix cblas CMakeLists.txt -- has wrong case for subdirectory name.
- if self.spec.satisfies('@3.6.0:'):
+ if self.spec.satisfies("@3.6.0:"):
filter_file(
- '${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/',
- '${CMAKE_CURRENT_SOURCE_DIR}/cmake/',
- 'CBLAS/CMakeLists.txt', string=True)
+ "${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/",
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/",
+ "CBLAS/CMakeLists.txt",
+ string=True,
+ )
@property
def blas_libs(self):
- shared = True if '+shared' in self.spec else False
+ shared = True if "+shared" in self.spec else False
query_parameters = self.spec.last_query.extra_parameters
query2libraries = {
- tuple(): ['libblas'],
- ('c', 'fortran'): [
- 'libcblas',
- 'libblas',
+ tuple(): ["libblas"],
+ ("c", "fortran"): [
+ "libcblas",
+ "libblas",
+ ],
+ ("c",): [
+ "libcblas",
],
- ('c',): [
- 'libcblas',
+ ("fortran",): [
+ "libblas",
],
- ('fortran',): [
- 'libblas',
- ]
}
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
- return find_libraries(
- libraries, root=self.prefix, shared=shared, recursive=True
- )
+ return find_libraries(libraries, root=self.prefix, shared=shared, recursive=True)
# TUTORIAL: add a proper `lapack_lib` property, along the lines
# of the `blas_lib` property above. The library that provides
@@ -109,78 +110,86 @@ class NetlibLapack(CMakePackage):
@property
def headers(self):
include_dir = self.spec.prefix.include
- cblas_h = join_path(include_dir, 'cblas.h')
- lapacke_h = join_path(include_dir, 'lapacke.h')
+ cblas_h = join_path(include_dir, "cblas.h")
+ lapacke_h = join_path(include_dir, "lapacke.h")
return HeaderList([cblas_h, lapacke_h])
@property
def build_directory(self):
- return join_path(self.stage.source_path,
- 'spack-build-shared' if self._building_shared
- else 'spack-build-static')
+ return join_path(
+ self.stage.source_path,
+ "spack-build-shared" if self._building_shared else "spack-build-static",
+ )
def cmake_args(self):
- args = ['-DBUILD_SHARED_LIBS:BOOL=' +
- ('ON' if self._building_shared else 'OFF')]
+ args = ["-DBUILD_SHARED_LIBS:BOOL=" + ("ON" if self._building_shared else "OFF")]
- if self.spec.satisfies('+lapacke'):
- args.extend(['-DLAPACKE:BOOL=ON', '-DLAPACKE_WITH_TMG:BOOL=ON'])
+ if self.spec.satisfies("+lapacke"):
+ args.extend(["-DLAPACKE:BOOL=ON", "-DLAPACKE_WITH_TMG:BOOL=ON"])
else:
- args.extend(['-DLAPACKE:BOOL=OFF', '-DLAPACKE_WITH_TMG:BOOL=OFF'])
+ args.extend(["-DLAPACKE:BOOL=OFF", "-DLAPACKE_WITH_TMG:BOOL=OFF"])
- if self.spec.satisfies('@3.6.0:'):
- args.append('-DCBLAS=ON') # always build CBLAS
+ if self.spec.satisfies("@3.6.0:"):
+ args.append("-DCBLAS=ON") # always build CBLAS
- if self.spec.satisfies('%intel'):
+ if self.spec.satisfies("%intel"):
# Intel compiler finds serious syntax issues when trying to
# build CBLAS and LapackE
- args.extend(['-DCBLAS=OFF', '-DLAPACKE:BOOL=OFF'])
+ args.extend(["-DCBLAS=OFF", "-DLAPACKE:BOOL=OFF"])
- if self.spec.satisfies('%xl') or self.spec.satisfies('%xl_r'):
+ if self.spec.satisfies("%xl") or self.spec.satisfies("%xl_r"):
# use F77 compiler if IBM XL
- args.extend(['-DCMAKE_Fortran_COMPILER=' + self.compiler.f77,
- '-DCMAKE_Fortran_FLAGS=' +
- (' '.join(self.spec.compiler_flags['fflags'])) +
- " -O3 -qnohot"])
+ args.extend(
+ [
+ "-DCMAKE_Fortran_COMPILER=" + self.compiler.f77,
+ "-DCMAKE_Fortran_FLAGS="
+ + (" ".join(self.spec.compiler_flags["fflags"]))
+ + " -O3 -qnohot",
+ ]
+ )
# deprecated routines are commonly needed by, for example, suitesparse
# Note that OpenBLAS spack is built with deprecated routines
- args.append('-DBUILD_DEPRECATED:BOOL=ON')
-
- if self.spec.satisfies('+external-blas'):
- args.extend(['-DUSE_OPTIMIZED_BLAS:BOOL=ON',
- '-DBLAS_LIBRARIES:PATH=' +
- self.spec['blas'].libs.joined(';')])
-
- if self.spec.satisfies('+xblas'):
- args.extend(['-DXBLAS_INCLUDE_DIR=' +
- self.spec['netlib-xblas'].prefix.include,
- '-DXBLAS_LIBRARY=' +
- self.spec['netlib-xblas'].libs.joined(';')])
-
- args.append('-DBUILD_TESTING:BOOL=' +
- ('ON' if self.run_tests else 'OFF'))
+ args.append("-DBUILD_DEPRECATED:BOOL=ON")
+
+ if self.spec.satisfies("+external-blas"):
+ args.extend(
+ [
+ "-DUSE_OPTIMIZED_BLAS:BOOL=ON",
+ "-DBLAS_LIBRARIES:PATH=" + self.spec["blas"].libs.joined(";"),
+ ]
+ )
+
+ if self.spec.satisfies("+xblas"):
+ args.extend(
+ [
+ "-DXBLAS_INCLUDE_DIR=" + self.spec["netlib-xblas"].prefix.include,
+ "-DXBLAS_LIBRARY=" + self.spec["netlib-xblas"].libs.joined(";"),
+ ]
+ )
+
+ args.append("-DBUILD_TESTING:BOOL=" + ("ON" if self.run_tests else "OFF"))
return args
# Build, install, and check both static and shared versions of the
# libraries when +shared
- @when('+shared')
+ @when("+shared")
def cmake(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).cmake(spec, prefix)
- @when('+shared')
+ @when("+shared")
def build(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).build(spec, prefix)
- @when('+shared')
+ @when("+shared")
def install(self, spec, prefix):
for self._building_shared in (False, True):
super(NetlibLapack, self).install(spec, prefix)
- @when('+shared')
+ @when("+shared")
def check(self):
for self._building_shared in (False, True):
super(NetlibLapack, self).check()